Merge "Adding a per-uid cap on concurrent alarms"
diff --git a/Android.bp b/Android.bp
index c97ee3d..05c7dbc 100644
--- a/Android.bp
+++ b/Android.bp
@@ -108,8 +108,8 @@
         "core/java/android/app/prediction/IPredictionCallback.aidl",
         "core/java/android/app/prediction/IPredictionManager.aidl",
         "core/java/android/app/role/IOnRoleHoldersChangedListener.aidl",
+        "core/java/android/app/role/IRoleController.aidl",
         "core/java/android/app/role/IRoleManager.aidl",
-        "core/java/android/app/role/IRoleManagerCallback.aidl",
         "core/java/android/app/slice/ISliceManager.aidl",
         "core/java/android/app/slice/ISliceListener.aidl",
         "core/java/android/app/timedetector/ITimeDetectorService.aidl",
@@ -225,6 +225,9 @@
         "core/java/android/net/INetworkScoreService.aidl",
         "core/java/android/net/INetworkStatsService.aidl",
         "core/java/android/net/INetworkStatsSession.aidl",
+        "core/java/android/net/ISocketKeepaliveCallback.aidl",
+        "core/java/android/net/ITestNetworkManager.aidl",
+        "core/java/android/net/ITetheringEventCallback.aidl",
         "core/java/android/net/ITetheringStatsProvider.aidl",
         "core/java/android/net/nsd/INsdManager.aidl",
         "core/java/android/nfc/IAppCallback.aidl",
@@ -274,7 +277,6 @@
         "core/java/android/os/storage/IStorageShutdownObserver.aidl",
         "core/java/android/os/storage/IObbActionListener.aidl",
         "core/java/android/permission/IPermissionController.aidl",
-        "core/java/android/rolecontrollerservice/IRoleControllerService.aidl",
         ":keystore_aidl",
         "core/java/android/security/keymaster/IKeyAttestationApplicationIdProvider.aidl",
         "core/java/android/service/appprediction/IPredictionService.aidl",
@@ -352,12 +354,8 @@
         "core/java/android/service/chooser/IChooserTargetResult.aidl",
         "core/java/android/service/resolver/IResolverRankerService.aidl",
         "core/java/android/service/resolver/IResolverRankerResult.aidl",
-        "core/java/android/service/textclassifier/IConversationActionsCallback.aidl",
-        "core/java/android/service/textclassifier/ITextClassificationCallback.aidl",
+        "core/java/android/service/textclassifier/ITextClassifierCallback.aidl",
         "core/java/android/service/textclassifier/ITextClassifierService.aidl",
-        "core/java/android/service/textclassifier/ITextLanguageCallback.aidl",
-        "core/java/android/service/textclassifier/ITextLinksCallback.aidl",
-        "core/java/android/service/textclassifier/ITextSelectionCallback.aidl",
         "core/java/android/service/attention/IAttentionService.aidl",
         "core/java/android/service/attention/IAttentionCallback.aidl",
         "core/java/android/view/accessibility/IAccessibilityInteractionConnection.aidl",
@@ -608,6 +606,7 @@
         "telephony/java/com/android/internal/telephony/IOns.aidl",
         "telephony/java/com/android/internal/telephony/ITelephony.aidl",
         "telephony/java/com/android/internal/telephony/ITelephonyRegistry.aidl",
+        "telephony/java/com/android/internal/telephony/IUpdateAvailableNetworksCallback.aidl",
         "telephony/java/com/android/internal/telephony/IWapPushManager.aidl",
         "telephony/java/com/android/internal/telephony/euicc/IAuthenticateServerCallback.aidl",
         "telephony/java/com/android/internal/telephony/euicc/ICancelSessionCallback.aidl",
@@ -638,7 +637,7 @@
         "wifi/java/android/net/wifi/ISoftApCallback.aidl",
         "wifi/java/android/net/wifi/ITrafficStateCallback.aidl",
         "wifi/java/android/net/wifi/IWifiManager.aidl",
-        "wifi/java/android/net/wifi/IWifiUsabilityStatsListener.aidl",
+        "wifi/java/android/net/wifi/IOnWifiUsabilityStatsListener.aidl",
         "wifi/java/android/net/wifi/aware/IWifiAwareDiscoverySessionCallback.aidl",
         "wifi/java/android/net/wifi/aware/IWifiAwareEventCallback.aidl",
         "wifi/java/android/net/wifi/aware/IWifiAwareMacAddressProvider.aidl",
@@ -738,7 +737,7 @@
         "updatable_media_stubs",
     ],
 
-    jarjar_rules: "jarjar_rules_hidl.txt",
+    jarjar_rules: ":framework-jarjar-rules",
 
     static_libs: [
         "apex_aidl_interface-java",
@@ -773,7 +772,6 @@
         "android.hardware.vibrator-V1.3-java",
         "android.hardware.wifi-V1.0-java-constants",
         "networkstack-aidl-framework-java",
-        "netd_aidl_parcelables-java",
         "devicepolicyprotosnano",
     ],
 
@@ -791,6 +789,11 @@
 }
 
 filegroup {
+    name: "framework-jarjar-rules",
+    srcs: ["jarjar_rules_hidl.txt"],
+}
+
+filegroup {
     name: "libincident_aidl",
     srcs: [
         "core/java/android/os/IIncidentManager.aidl",
@@ -899,14 +902,8 @@
         "core/java/android/net/INetworkStackConnector.aidl",
         "core/java/android/net/INetworkStackStatusCallback.aidl",
         "core/java/android/net/InitialConfigurationParcelable.aidl",
-        "core/java/android/net/IpPrefixParcelable.aidl",
-        "core/java/android/net/LinkAddressParcelable.aidl",
-        "core/java/android/net/LinkPropertiesParcelable.aidl",
-        "core/java/android/net/NetworkParcelable.aidl",
         "core/java/android/net/PrivateDnsConfigParcel.aidl",
         "core/java/android/net/ProvisioningConfigurationParcelable.aidl",
-        "core/java/android/net/ProxyInfoParcelable.aidl",
-        "core/java/android/net/RouteInfoParcelable.aidl",
         "core/java/android/net/StaticIpConfigurationParcelable.aidl",
         "core/java/android/net/TcpKeepalivePacketDataParcelable.aidl",
         "core/java/android/net/dhcp/DhcpServingParamsParcel.aidl",
@@ -914,34 +911,65 @@
         "core/java/android/net/dhcp/IDhcpServerCallbacks.aidl",
         "core/java/android/net/ip/IIpClient.aidl",
         "core/java/android/net/ip/IIpClientCallbacks.aidl",
+        "core/java/android/net/IIpMemoryStore.aidl",
+        "core/java/android/net/IIpMemoryStoreCallbacks.aidl",
+        "core/java/android/net/ipmemorystore/**/*.aidl",
     ],
+    backend: {
+        ndk: {
+            enabled: false,
+        },
+        cpp: {
+            enabled: false,
+        },
+    },
     api_dir: "aidl/networkstack",
 }
 
 aidl_interface {
+    name: "ipmemorystore-aidl-interfaces",
+    local_include_dir: "core/java",
+    srcs: [
+        "core/java/android/net/IIpMemoryStore.aidl",
+        "core/java/android/net/IIpMemoryStoreCallbacks.aidl",
+        "core/java/android/net/ipmemorystore/**/*.aidl",
+    ],
+}
+
+aidl_interface {
     name: "networkstack-aidl-framework",
     local_include_dir: "core/java",
     srcs: [
         "core/java/android/net/TcpKeepalivePacketDataParcelable.aidl",
-        "core/java/android/net/IIpMemoryStore.aidl",
-        "core/java/android/net/ipmemorystore/**/*.aidl",
     ],
     api_dir: "aidl/networkstack",
+    backend: {
+        java: {
+            sdk_version: "28",
+        },
+    },
+}
+
+filegroup {
+    name: "framework-annotations",
+    srcs: [
+        "core/java/android/annotation/NonNull.java",
+        "core/java/android/annotation/Nullable.java",
+        "core/java/android/annotation/IntDef.java",
+        "core/java/android/annotation/IntRange.java",
+        "core/java/android/annotation/UnsupportedAppUsage.java",
+        "core/java/com/android/internal/annotations/GuardedBy.java",
+        "core/java/com/android/internal/annotations/VisibleForTesting.java",
+    ]
 }
 
 filegroup {
     name: "framework-networkstack-shared-srcs",
     srcs: [
         // TODO: remove these annotations as soon as we can use andoid.support.annotations.*
-        "core/java/android/annotation/NonNull.java",
-        "core/java/android/annotation/Nullable.java",
-        "core/java/android/annotation/IntDef.java",
-        "core/java/android/annotation/IntRange.java",
-        "core/java/android/annotation/UnsupportedAppUsage.java",
+        ":framework-annotations",
         "core/java/android/net/DhcpResults.java",
         "core/java/android/util/LocalLog.java",
-        "core/java/com/android/internal/annotations/GuardedBy.java",
-        "core/java/com/android/internal/annotations/VisibleForTesting.java",
         "core/java/com/android/internal/util/HexDump.java",
         "core/java/com/android/internal/util/IndentingPrintWriter.java",
         "core/java/com/android/internal/util/IState.java",
@@ -1125,8 +1153,10 @@
         "core/java/android/os/HidlSupport.java",
         "core/java/android/annotation/IntDef.java",
         "core/java/android/annotation/NonNull.java",
+        "core/java/android/annotation/Nullable.java",
         "core/java/android/annotation/SystemApi.java",
         "core/java/android/annotation/TestApi.java",
+        "core/java/android/annotation/UnsupportedAppUsage.java",
         "core/java/android/os/HwBinder.java",
         "core/java/android/os/HwBlob.java",
         "core/java/android/os/HwParcel.java",
@@ -1794,4 +1824,4 @@
     name: "framework-aidl-mappings",
     srcs: [":framework-defaults"],
     output: "framework-aidl-mappings.txt"
-}
\ No newline at end of file
+}
diff --git a/api/current.txt b/api/current.txt
index d8ec778..3e7d626 100644
--- a/api/current.txt
+++ b/api/current.txt
@@ -130,7 +130,7 @@
     field public static final String REQUEST_DELETE_PACKAGES = "android.permission.REQUEST_DELETE_PACKAGES";
     field public static final String REQUEST_IGNORE_BATTERY_OPTIMIZATIONS = "android.permission.REQUEST_IGNORE_BATTERY_OPTIMIZATIONS";
     field public static final String REQUEST_INSTALL_PACKAGES = "android.permission.REQUEST_INSTALL_PACKAGES";
-    field public static final String REQUEST_SCREEN_LOCK_COMPLEXITY = "android.permission.REQUEST_SCREEN_LOCK_COMPLEXITY";
+    field public static final String REQUEST_PASSWORD_COMPLEXITY = "android.permission.REQUEST_PASSWORD_COMPLEXITY";
     field @Deprecated public static final String RESTART_PACKAGES = "android.permission.RESTART_PACKAGES";
     field public static final String SEND_RESPOND_VIA_MESSAGE = "android.permission.SEND_RESPOND_VIA_MESSAGE";
     field public static final String SEND_SMS = "android.permission.SEND_SMS";
@@ -768,6 +768,7 @@
     field public static final int indicatorRight = 16843022; // 0x101010e
     field public static final int indicatorStart = 16843729; // 0x10103d1
     field public static final int inflatedId = 16842995; // 0x10100f3
+    field public static final int inheritShowWhenLocked = 16844194; // 0x10105a2
     field public static final int initOrder = 16842778; // 0x101001a
     field public static final int initialKeyguardLayout = 16843714; // 0x10103c2
     field public static final int initialLayout = 16843345; // 0x1010251
@@ -1203,6 +1204,7 @@
     field public static final int secondaryProgress = 16843064; // 0x1010138
     field public static final int secondaryProgressTint = 16843879; // 0x1010467
     field public static final int secondaryProgressTintMode = 16843880; // 0x1010468
+    field public static final int secureElementName = 16844200; // 0x10105a8
     field public static final int seekBarStyle = 16842875; // 0x101007b
     field public static final int segmentedButtonStyle = 16843568; // 0x1010330
     field public static final int selectAllOnFocus = 16843102; // 0x101015e
@@ -3850,6 +3852,7 @@
     method public final void setFeatureDrawableUri(int, android.net.Uri);
     method public void setFinishOnTouchOutside(boolean);
     method public void setImmersive(boolean);
+    method public void setInheritShowWhenLocked(boolean);
     method public void setIntent(android.content.Intent);
     method public final void setMediaController(android.media.session.MediaController);
     method public void setPictureInPictureParams(@NonNull android.app.PictureInPictureParams);
@@ -3944,7 +3947,7 @@
     method public android.app.PendingIntent getRunningServiceControlPanel(android.content.ComponentName) throws java.lang.SecurityException;
     method @Deprecated public java.util.List<android.app.ActivityManager.RunningServiceInfo> getRunningServices(int) throws java.lang.SecurityException;
     method @Deprecated public java.util.List<android.app.ActivityManager.RunningTaskInfo> getRunningTasks(int) throws java.lang.SecurityException;
-    method public boolean isActivityStartAllowedOnDisplay(android.content.Context, int, android.content.Intent);
+    method public boolean isActivityStartAllowedOnDisplay(@NonNull android.content.Context, int, @NonNull android.content.Intent);
     method public boolean isBackgroundRestricted();
     method @Deprecated public boolean isInLockTaskMode();
     method public boolean isLowRamDevice();
@@ -4260,24 +4263,24 @@
   }
 
   public class AppOpsManager {
-    method @Deprecated public int checkOp(String, int, String);
-    method @Deprecated public int checkOpNoThrow(String, int, String);
-    method public void checkPackage(int, String);
-    method public void finishOp(String, int, String);
-    method public int noteOp(String, int, String);
-    method public int noteOpNoThrow(String, int, String);
-    method public int noteProxyOp(String, String);
-    method public int noteProxyOpNoThrow(String, String);
+    method @Deprecated public int checkOp(@NonNull String, int, @NonNull String);
+    method @Deprecated public int checkOpNoThrow(@NonNull String, int, @NonNull String);
+    method public void checkPackage(int, @NonNull String);
+    method public void finishOp(@NonNull String, int, @NonNull String);
+    method public int noteOp(@NonNull String, int, @NonNull String);
+    method public int noteOpNoThrow(@NonNull String, int, @NonNull String);
+    method public int noteProxyOp(@NonNull String, @NonNull String);
+    method public int noteProxyOpNoThrow(@NonNull String, @NonNull String);
     method public int noteProxyOpNoThrow(@NonNull String, @Nullable String, int);
     method public static String permissionToOp(String);
-    method public int startOp(String, int, String);
-    method public int startOpNoThrow(String, int, String);
-    method public void startWatchingMode(String, String, android.app.AppOpsManager.OnOpChangedListener);
-    method public void startWatchingMode(String, String, int, android.app.AppOpsManager.OnOpChangedListener);
-    method public void stopWatchingMode(android.app.AppOpsManager.OnOpChangedListener);
-    method public int unsafeCheckOp(String, int, String);
-    method public int unsafeCheckOpNoThrow(String, int, String);
-    method public int unsafeCheckOpRaw(@NonNull String, int, String);
+    method public int startOp(@NonNull String, int, @NonNull String);
+    method public int startOpNoThrow(@NonNull String, int, @NonNull String);
+    method public void startWatchingMode(@NonNull String, @Nullable String, @NonNull android.app.AppOpsManager.OnOpChangedListener);
+    method public void startWatchingMode(@NonNull String, @Nullable String, int, @NonNull android.app.AppOpsManager.OnOpChangedListener);
+    method public void stopWatchingMode(@NonNull android.app.AppOpsManager.OnOpChangedListener);
+    method public int unsafeCheckOp(@NonNull String, int, @NonNull String);
+    method public int unsafeCheckOpNoThrow(@NonNull String, int, @NonNull String);
+    method public int unsafeCheckOpRaw(@NonNull String, int, @NonNull String);
     method public int unsafeCheckOpRawNoThrow(@NonNull String, int, @NonNull String);
     field public static final int MODE_ALLOWED = 0; // 0x0
     field public static final int MODE_DEFAULT = 3; // 0x3
@@ -4447,11 +4450,11 @@
 
   public final class AutomaticZenRule implements android.os.Parcelable {
     ctor @Deprecated public AutomaticZenRule(String, android.content.ComponentName, android.net.Uri, int, boolean);
-    ctor public AutomaticZenRule(String, android.content.ComponentName, android.content.ComponentName, android.net.Uri, android.service.notification.ZenPolicy, int, boolean);
+    ctor public AutomaticZenRule(@NonNull String, @Nullable android.content.ComponentName, @Nullable android.content.ComponentName, @NonNull android.net.Uri, @Nullable android.service.notification.ZenPolicy, int, boolean);
     ctor public AutomaticZenRule(android.os.Parcel);
     method public int describeContents();
     method public android.net.Uri getConditionId();
-    method public android.content.ComponentName getConfigurationActivity();
+    method @Nullable public android.content.ComponentName getConfigurationActivity();
     method public long getCreationTime();
     method public int getInterruptionFilter();
     method public String getName();
@@ -4459,7 +4462,7 @@
     method public android.service.notification.ZenPolicy getZenPolicy();
     method public boolean isEnabled();
     method public void setConditionId(android.net.Uri);
-    method public void setConfigurationActivity(android.content.ComponentName);
+    method public void setConfigurationActivity(@Nullable android.content.ComponentName);
     method public void setEnabled(boolean);
     method public void setInterruptionFilter(int);
     method public void setName(String);
@@ -5259,11 +5262,12 @@
     method public int describeContents();
     method public boolean getAllowSystemGeneratedContextualActions();
     method public int getBadgeIconType();
-    method public android.app.Notification.BubbleMetadata getBubbleMetadata();
+    method @Nullable public android.app.Notification.BubbleMetadata getBubbleMetadata();
     method public String getChannelId();
     method public String getGroup();
     method public int getGroupAlertBehavior();
     method public android.graphics.drawable.Icon getLargeIcon();
+    method @Nullable public android.content.LocusId getLocusId();
     method public CharSequence getSettingsText();
     method public String getShortcutId();
     method public android.graphics.drawable.Icon getSmallIcon();
@@ -5421,14 +5425,14 @@
     ctor @Deprecated public Notification.Action.Builder(int, CharSequence, android.app.PendingIntent);
     ctor public Notification.Action.Builder(android.graphics.drawable.Icon, CharSequence, android.app.PendingIntent);
     ctor public Notification.Action.Builder(android.app.Notification.Action);
-    method public android.app.Notification.Action.Builder addExtras(android.os.Bundle);
-    method public android.app.Notification.Action.Builder addRemoteInput(android.app.RemoteInput);
-    method public android.app.Notification.Action build();
-    method public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Extender);
-    method public android.os.Bundle getExtras();
-    method public android.app.Notification.Action.Builder setAllowGeneratedReplies(boolean);
-    method public android.app.Notification.Action.Builder setContextual(boolean);
-    method public android.app.Notification.Action.Builder setSemanticAction(int);
+    method @NonNull public android.app.Notification.Action.Builder addExtras(android.os.Bundle);
+    method @NonNull public android.app.Notification.Action.Builder addRemoteInput(android.app.RemoteInput);
+    method @NonNull public android.app.Notification.Action build();
+    method @NonNull public android.app.Notification.Action.Builder extend(android.app.Notification.Action.Extender);
+    method @NonNull public android.os.Bundle getExtras();
+    method @NonNull public android.app.Notification.Action.Builder setAllowGeneratedReplies(boolean);
+    method @NonNull public android.app.Notification.Action.Builder setContextual(boolean);
+    method @NonNull public android.app.Notification.Action.Builder setSemanticAction(int);
   }
 
   public static interface Notification.Action.Extender {
@@ -5475,25 +5479,25 @@
   public static final class Notification.BubbleMetadata implements android.os.Parcelable {
     method public int describeContents();
     method public boolean getAutoExpandBubble();
-    method public android.app.PendingIntent getDeleteIntent();
+    method @Nullable public android.app.PendingIntent getDeleteIntent();
     method public int getDesiredHeight();
-    method public android.graphics.drawable.Icon getIcon();
-    method public android.app.PendingIntent getIntent();
+    method @NonNull public android.graphics.drawable.Icon getIcon();
+    method @NonNull public android.app.PendingIntent getIntent();
     method public boolean getSuppressInitialNotification();
     method @Deprecated public CharSequence getTitle();
     method public void writeToParcel(android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.app.Notification.BubbleMetadata> CREATOR;
   }
 
-  public static class Notification.BubbleMetadata.Builder {
+  public static final class Notification.BubbleMetadata.Builder {
     ctor public Notification.BubbleMetadata.Builder();
-    method public android.app.Notification.BubbleMetadata build();
-    method public android.app.Notification.BubbleMetadata.Builder setAutoExpandBubble(boolean);
-    method public android.app.Notification.BubbleMetadata.Builder setDeleteIntent(android.app.PendingIntent);
-    method public android.app.Notification.BubbleMetadata.Builder setDesiredHeight(int);
-    method public android.app.Notification.BubbleMetadata.Builder setIcon(android.graphics.drawable.Icon);
-    method public android.app.Notification.BubbleMetadata.Builder setIntent(android.app.PendingIntent);
-    method public android.app.Notification.BubbleMetadata.Builder setSuppressInitialNotification(boolean);
+    method @NonNull public android.app.Notification.BubbleMetadata build();
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setAutoExpandBubble(boolean);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setDeleteIntent(@Nullable android.app.PendingIntent);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setDesiredHeight(int);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setIcon(@NonNull android.graphics.drawable.Icon);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setIntent(@NonNull android.app.PendingIntent);
+    method @NonNull public android.app.Notification.BubbleMetadata.Builder setSuppressInitialNotification(boolean);
     method @Deprecated public android.app.Notification.BubbleMetadata.Builder setTitle(CharSequence);
   }
 
@@ -5518,7 +5522,7 @@
     method @NonNull public android.app.Notification.Builder setAllowSystemGeneratedContextualActions(boolean);
     method @NonNull public android.app.Notification.Builder setAutoCancel(boolean);
     method @NonNull public android.app.Notification.Builder setBadgeIconType(int);
-    method @NonNull public android.app.Notification.Builder setBubbleMetadata(android.app.Notification.BubbleMetadata);
+    method @NonNull public android.app.Notification.Builder setBubbleMetadata(@Nullable android.app.Notification.BubbleMetadata);
     method @NonNull public android.app.Notification.Builder setCategory(String);
     method @NonNull public android.app.Notification.Builder setChannelId(String);
     method @NonNull public android.app.Notification.Builder setChronometerCountDown(boolean);
@@ -5543,6 +5547,7 @@
     method @NonNull public android.app.Notification.Builder setLargeIcon(android.graphics.drawable.Icon);
     method @Deprecated public android.app.Notification.Builder setLights(@ColorInt int, int, int);
     method @NonNull public android.app.Notification.Builder setLocalOnly(boolean);
+    method @NonNull public android.app.Notification.Builder setLocusId(@Nullable android.content.LocusId);
     method @NonNull public android.app.Notification.Builder setNumber(int);
     method @NonNull public android.app.Notification.Builder setOngoing(boolean);
     method @NonNull public android.app.Notification.Builder setOnlyAlertOnce(boolean);
@@ -5808,17 +5813,15 @@
     method public java.util.List<android.app.NotificationChannel> getNotificationChannels();
     method @Nullable public String getNotificationDelegate();
     method public android.app.NotificationManager.Policy getNotificationPolicy();
-    method public boolean isNotificationAssistantAccessGranted(@NonNull android.content.ComponentName);
     method public boolean isNotificationListenerAccessGranted(android.content.ComponentName);
     method public boolean isNotificationPolicyAccessGranted();
     method public void notify(int, android.app.Notification);
     method public void notify(String, int, android.app.Notification);
     method public void notifyAsPackage(@NonNull String, @NonNull String, int, @NonNull android.app.Notification);
     method public boolean removeAutomaticZenRule(String);
-    method public void revokeNotificationDelegate();
     method public void setAutomaticZenRuleState(@NonNull String, @NonNull android.service.notification.Condition);
     method public final void setInterruptionFilter(int);
-    method public void setNotificationDelegate(@NonNull String);
+    method public void setNotificationDelegate(@Nullable String);
     method public void setNotificationPolicy(@NonNull android.app.NotificationManager.Policy);
     method public boolean shouldHideSilentStatusBarIcons();
     method public boolean updateAutomaticZenRule(String, android.app.AutomaticZenRule);
@@ -6419,7 +6422,7 @@
     method public android.content.pm.ServiceInfo getServiceInfo();
     method public String getServiceName();
     method public String getSettingsActivity();
-    method public android.net.Uri getSettingsSliceUri();
+    method @Nullable public android.net.Uri getSettingsSliceUri();
     method public boolean getShowMetadataInPreview();
     method public CharSequence loadAuthor(android.content.pm.PackageManager) throws android.content.res.Resources.NotFoundException;
     method public CharSequence loadContextDescription(android.content.pm.PackageManager) throws android.content.res.Resources.NotFoundException;
@@ -6490,7 +6493,7 @@
   }
 
   public interface ZygotePreload {
-    method public void doPreload(android.content.pm.ApplicationInfo);
+    method public void doPreload(@NonNull android.content.pm.ApplicationInfo);
   }
 
 }
@@ -6506,9 +6509,9 @@
 
   public class DelegatedAdminReceiver extends android.content.BroadcastReceiver {
     ctor public DelegatedAdminReceiver();
-    method public String onChoosePrivateKeyAlias(android.content.Context, android.content.Intent, int, android.net.Uri, String);
-    method public void onNetworkLogsAvailable(android.content.Context, android.content.Intent, long, int);
-    method public void onReceive(android.content.Context, android.content.Intent);
+    method @Nullable public String onChoosePrivateKeyAlias(@NonNull android.content.Context, @NonNull android.content.Intent, int, @Nullable android.net.Uri, @Nullable String);
+    method public void onNetworkLogsAvailable(@NonNull android.content.Context, @NonNull android.content.Intent, long, @IntRange(from=1) int);
+    method public final void onReceive(@NonNull android.content.Context, @NonNull android.content.Intent);
   }
 
   public final class DeviceAdminInfo implements android.os.Parcelable {
@@ -6541,38 +6544,38 @@
 
   public class DeviceAdminReceiver extends android.content.BroadcastReceiver {
     ctor public DeviceAdminReceiver();
-    method public android.app.admin.DevicePolicyManager getManager(android.content.Context);
-    method public android.content.ComponentName getWho(android.content.Context);
-    method public void onBugreportFailed(android.content.Context, android.content.Intent, int);
-    method public void onBugreportShared(android.content.Context, android.content.Intent, String);
-    method public void onBugreportSharingDeclined(android.content.Context, android.content.Intent);
-    method public String onChoosePrivateKeyAlias(android.content.Context, android.content.Intent, int, android.net.Uri, String);
-    method public CharSequence onDisableRequested(android.content.Context, android.content.Intent);
-    method public void onDisabled(android.content.Context, android.content.Intent);
-    method public void onEnabled(android.content.Context, android.content.Intent);
-    method public void onLockTaskModeEntering(android.content.Context, android.content.Intent, String);
-    method public void onLockTaskModeExiting(android.content.Context, android.content.Intent);
-    method public void onNetworkLogsAvailable(android.content.Context, android.content.Intent, long, int);
-    method @Deprecated public void onPasswordChanged(android.content.Context, android.content.Intent);
-    method public void onPasswordChanged(android.content.Context, android.content.Intent, android.os.UserHandle);
-    method @Deprecated public void onPasswordExpiring(android.content.Context, android.content.Intent);
-    method public void onPasswordExpiring(android.content.Context, android.content.Intent, android.os.UserHandle);
-    method @Deprecated public void onPasswordFailed(android.content.Context, android.content.Intent);
-    method public void onPasswordFailed(android.content.Context, android.content.Intent, android.os.UserHandle);
-    method @Deprecated public void onPasswordSucceeded(android.content.Context, android.content.Intent);
-    method public void onPasswordSucceeded(android.content.Context, android.content.Intent, android.os.UserHandle);
-    method public void onProfileProvisioningComplete(android.content.Context, android.content.Intent);
-    method @Deprecated public void onReadyForUserInitialization(android.content.Context, android.content.Intent);
-    method public void onReceive(android.content.Context, android.content.Intent);
-    method public void onSecurityLogsAvailable(android.content.Context, android.content.Intent);
-    method public void onSystemUpdatePending(android.content.Context, android.content.Intent, long);
-    method public void onTransferAffiliatedProfileOwnershipComplete(android.content.Context, android.os.UserHandle);
+    method @NonNull public android.app.admin.DevicePolicyManager getManager(@NonNull android.content.Context);
+    method @NonNull public android.content.ComponentName getWho(@NonNull android.content.Context);
+    method public void onBugreportFailed(@NonNull android.content.Context, @NonNull android.content.Intent, int);
+    method public void onBugreportShared(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull String);
+    method public void onBugreportSharingDeclined(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method @Nullable public String onChoosePrivateKeyAlias(@NonNull android.content.Context, @NonNull android.content.Intent, int, @Nullable android.net.Uri, @Nullable String);
+    method @Nullable public CharSequence onDisableRequested(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onDisabled(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onEnabled(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onLockTaskModeEntering(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull String);
+    method public void onLockTaskModeExiting(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onNetworkLogsAvailable(@NonNull android.content.Context, @NonNull android.content.Intent, long, @IntRange(from=1) int);
+    method @Deprecated public void onPasswordChanged(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onPasswordChanged(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method @Deprecated public void onPasswordExpiring(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onPasswordExpiring(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method @Deprecated public void onPasswordFailed(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onPasswordFailed(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method @Deprecated public void onPasswordSucceeded(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onPasswordSucceeded(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onProfileProvisioningComplete(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method @Deprecated public void onReadyForUserInitialization(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onReceive(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onSecurityLogsAvailable(@NonNull android.content.Context, @NonNull android.content.Intent);
+    method public void onSystemUpdatePending(@NonNull android.content.Context, @NonNull android.content.Intent, long);
+    method public void onTransferAffiliatedProfileOwnershipComplete(@NonNull android.content.Context, @NonNull android.os.UserHandle);
     method public void onTransferOwnershipComplete(@NonNull android.content.Context, @Nullable android.os.PersistableBundle);
-    method public void onUserAdded(android.content.Context, android.content.Intent, @NonNull android.os.UserHandle);
-    method public void onUserRemoved(android.content.Context, android.content.Intent, @NonNull android.os.UserHandle);
-    method public void onUserStarted(android.content.Context, android.content.Intent, @NonNull android.os.UserHandle);
-    method public void onUserStopped(android.content.Context, android.content.Intent, @NonNull android.os.UserHandle);
-    method public void onUserSwitched(android.content.Context, android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onUserAdded(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onUserRemoved(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onUserStarted(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onUserStopped(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
+    method public void onUserSwitched(@NonNull android.content.Context, @NonNull android.content.Intent, @NonNull android.os.UserHandle);
     field public static final String ACTION_CHOOSE_PRIVATE_KEY_ALIAS = "android.app.action.CHOOSE_PRIVATE_KEY_ALIAS";
     field public static final String ACTION_DEVICE_ADMIN_DISABLED = "android.app.action.DEVICE_ADMIN_DISABLED";
     field public static final String ACTION_DEVICE_ADMIN_DISABLE_REQUESTED = "android.app.action.DEVICE_ADMIN_DISABLE_REQUESTED";
@@ -6620,7 +6623,7 @@
     method @Nullable public String[] getAccountTypesWithManagementDisabled();
     method @Nullable public java.util.List<android.content.ComponentName> getActiveAdmins();
     method @NonNull public java.util.Set<java.lang.String> getAffiliationIds(@NonNull android.content.ComponentName);
-    method @Nullable public java.util.List<java.lang.String> getAlwaysOnVpnLockdownWhitelist(@NonNull android.content.ComponentName);
+    method @Nullable public java.util.Set<java.lang.String> getAlwaysOnVpnLockdownWhitelist(@NonNull android.content.ComponentName);
     method @Nullable public String getAlwaysOnVpnPackage(@NonNull android.content.ComponentName);
     method @WorkerThread @NonNull public android.os.Bundle getApplicationRestrictions(@Nullable android.content.ComponentName, String);
     method @Deprecated @Nullable public String getApplicationRestrictionsManagingPackage(@NonNull android.content.ComponentName);
@@ -6638,7 +6641,7 @@
     method @NonNull public java.util.List<java.lang.String> getDelegatedScopes(@Nullable android.content.ComponentName, @NonNull String);
     method public CharSequence getDeviceOwnerLockScreenInfo();
     method public CharSequence getEndUserSessionMessage(@NonNull android.content.ComponentName);
-    method public String getGlobalPrivateDnsHost(@NonNull android.content.ComponentName);
+    method @Nullable public String getGlobalPrivateDnsHost(@NonNull android.content.ComponentName);
     method public int getGlobalPrivateDnsMode(@NonNull android.content.ComponentName);
     method @NonNull public java.util.List<byte[]> getInstalledCaCerts(@Nullable android.content.ComponentName);
     method @Nullable public java.util.List<java.lang.String> getKeepUninstalledPackages(@Nullable android.content.ComponentName);
@@ -6653,7 +6656,7 @@
     method @Nullable public CharSequence getOrganizationName(@NonNull android.content.ComponentName);
     method public java.util.List<android.telephony.data.ApnSetting> getOverrideApns(@NonNull android.content.ComponentName);
     method @NonNull public android.app.admin.DevicePolicyManager getParentProfileInstance(@NonNull android.content.ComponentName);
-    method @RequiresPermission(android.Manifest.permission.REQUEST_SCREEN_LOCK_COMPLEXITY) public int getPasswordComplexity();
+    method @RequiresPermission(android.Manifest.permission.REQUEST_PASSWORD_COMPLEXITY) public int getPasswordComplexity();
     method public long getPasswordExpiration(@Nullable android.content.ComponentName);
     method public long getPasswordExpirationTimeout(@Nullable android.content.ComponentName);
     method public int getPasswordHistoryLength(@Nullable android.content.ComponentName);
@@ -6733,7 +6736,7 @@
     method public void setAccountManagementDisabled(@NonNull android.content.ComponentName, String, boolean);
     method public void setAffiliationIds(@NonNull android.content.ComponentName, @NonNull java.util.Set<java.lang.String>);
     method public void setAlwaysOnVpnPackage(@NonNull android.content.ComponentName, @Nullable String, boolean) throws android.content.pm.PackageManager.NameNotFoundException;
-    method public void setAlwaysOnVpnPackage(@NonNull android.content.ComponentName, @Nullable String, boolean, @Nullable java.util.List<java.lang.String>) throws android.content.pm.PackageManager.NameNotFoundException;
+    method public void setAlwaysOnVpnPackage(@NonNull android.content.ComponentName, @Nullable String, boolean, @Nullable java.util.Set<java.lang.String>) throws android.content.pm.PackageManager.NameNotFoundException;
     method public boolean setApplicationHidden(@NonNull android.content.ComponentName, String, boolean);
     method @WorkerThread public void setApplicationRestrictions(@Nullable android.content.ComponentName, String, android.os.Bundle);
     method @Deprecated public void setApplicationRestrictionsManagingPackage(@NonNull android.content.ComponentName, @Nullable String) throws android.content.pm.PackageManager.NameNotFoundException;
@@ -6749,7 +6752,8 @@
     method public void setDelegatedScopes(@NonNull android.content.ComponentName, @NonNull String, @NonNull java.util.List<java.lang.String>);
     method public void setDeviceOwnerLockScreenInfo(@NonNull android.content.ComponentName, CharSequence);
     method public void setEndUserSessionMessage(@NonNull android.content.ComponentName, @Nullable CharSequence);
-    method public int setGlobalPrivateDns(@NonNull android.content.ComponentName, int, @Nullable String);
+    method public int setGlobalPrivateDnsModeOpportunistic(@NonNull android.content.ComponentName);
+    method @WorkerThread public int setGlobalPrivateDnsModeSpecifiedHost(@NonNull android.content.ComponentName, @NonNull String);
     method public void setGlobalSetting(@NonNull android.content.ComponentName, String, String);
     method public void setKeepUninstalledPackages(@Nullable android.content.ComponentName, @NonNull java.util.List<java.lang.String>);
     method public boolean setKeyPairCertificate(@Nullable android.content.ComponentName, @NonNull String, @NonNull java.util.List<java.security.cert.Certificate>, boolean);
@@ -6847,7 +6851,7 @@
     field public static final String EXTRA_ADD_EXPLANATION = "android.app.extra.ADD_EXPLANATION";
     field public static final String EXTRA_DELEGATION_SCOPES = "android.app.extra.DELEGATION_SCOPES";
     field public static final String EXTRA_DEVICE_ADMIN = "android.app.extra.DEVICE_ADMIN";
-    field @RequiresPermission(android.Manifest.permission.REQUEST_SCREEN_LOCK_COMPLEXITY) public static final String EXTRA_PASSWORD_COMPLEXITY = "android.app.extra.PASSWORD_COMPLEXITY";
+    field @RequiresPermission(android.Manifest.permission.REQUEST_PASSWORD_COMPLEXITY) public static final String EXTRA_PASSWORD_COMPLEXITY = "android.app.extra.PASSWORD_COMPLEXITY";
     field public static final String EXTRA_PROVISIONING_ACCOUNT_TO_MIGRATE = "android.app.extra.PROVISIONING_ACCOUNT_TO_MIGRATE";
     field public static final String EXTRA_PROVISIONING_ADMIN_EXTRAS_BUNDLE = "android.app.extra.PROVISIONING_ADMIN_EXTRAS_BUNDLE";
     field public static final String EXTRA_PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME = "android.app.extra.PROVISIONING_DEVICE_ADMIN_COMPONENT_NAME";
@@ -6945,7 +6949,7 @@
     field public static final int PRIVATE_DNS_MODE_UNKNOWN = 0; // 0x0
     field public static final int PRIVATE_DNS_SET_ERROR_FAILURE_SETTING = 2; // 0x2
     field public static final int PRIVATE_DNS_SET_ERROR_HOST_NOT_SERVING = 1; // 0x1
-    field public static final int PRIVATE_DNS_SET_SUCCESS = 0; // 0x0
+    field public static final int PRIVATE_DNS_SET_NO_ERROR = 0; // 0x0
     field public static final int PROVISIONING_MODE_FULLY_MANAGED_DEVICE = 1; // 0x1
     field public static final int PROVISIONING_MODE_MANAGED_PROFILE = 2; // 0x2
     field public static final int PROVISIONING_MODE_MANAGED_PROFILE_ON_FULLY_MANAGED_DEVICE = 3; // 0x3
@@ -7728,6 +7732,7 @@
     field public static final int ACTIVITY_STOPPED = 23; // 0x17
     field public static final int CONFIGURATION_CHANGE = 5; // 0x5
     field public static final int DEVICE_SHUTDOWN = 26; // 0x1a
+    field public static final int DEVICE_STARTUP = 27; // 0x1b
     field public static final int FOREGROUND_SERVICE_START = 19; // 0x13
     field public static final int FOREGROUND_SERVICE_STOP = 20; // 0x14
     field public static final int KEYGUARD_HIDDEN = 18; // 0x12
@@ -7961,9 +7966,9 @@
     method public boolean isMultipleAdvertisementSupported();
     method public boolean isOffloadedFilteringSupported();
     method public boolean isOffloadedScanBatchingSupported();
-    method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public android.bluetooth.BluetoothServerSocket listenUsingInsecureL2capChannel() throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH) @NonNull public android.bluetooth.BluetoothServerSocket listenUsingInsecureL2capChannel() throws java.io.IOException;
     method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public android.bluetooth.BluetoothServerSocket listenUsingInsecureRfcommWithServiceRecord(String, java.util.UUID) throws java.io.IOException;
-    method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public android.bluetooth.BluetoothServerSocket listenUsingL2capChannel() throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH) @NonNull public android.bluetooth.BluetoothServerSocket listenUsingL2capChannel() throws java.io.IOException;
     method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public android.bluetooth.BluetoothServerSocket listenUsingRfcommWithServiceRecord(String, java.util.UUID) throws java.io.IOException;
     method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean setName(String);
     method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean startDiscovery();
@@ -8331,9 +8336,9 @@
     method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int);
     method public android.bluetooth.BluetoothGatt connectGatt(android.content.Context, boolean, android.bluetooth.BluetoothGattCallback, int, int, android.os.Handler);
     method @RequiresPermission(android.Manifest.permission.BLUETOOTH_ADMIN) public boolean createBond();
-    method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public android.bluetooth.BluetoothSocket createInsecureL2capChannel(int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH) @NonNull public android.bluetooth.BluetoothSocket createInsecureL2capChannel(int) throws java.io.IOException;
     method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public android.bluetooth.BluetoothSocket createInsecureRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
-    method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public android.bluetooth.BluetoothSocket createL2capChannel(int) throws java.io.IOException;
+    method @RequiresPermission(android.Manifest.permission.BLUETOOTH) @NonNull public android.bluetooth.BluetoothSocket createL2capChannel(int) throws java.io.IOException;
     method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public android.bluetooth.BluetoothSocket createRfcommSocketToServiceRecord(java.util.UUID) throws java.io.IOException;
     method public int describeContents();
     method @RequiresPermission(android.Manifest.permission.BLUETOOTH) public boolean fetchUuidsWithSdp();
@@ -8640,9 +8645,9 @@
   }
 
   public final class BluetoothHearingAid implements android.bluetooth.BluetoothProfile {
-    method public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
-    method public int getConnectionState(android.bluetooth.BluetoothDevice);
-    method public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(int[]);
+    method @NonNull public java.util.List<android.bluetooth.BluetoothDevice> getConnectedDevices();
+    method public int getConnectionState(@NonNull android.bluetooth.BluetoothDevice);
+    method @NonNull public java.util.List<android.bluetooth.BluetoothDevice> getDevicesMatchingConnectionStates(@NonNull int[]);
     field public static final String ACTION_CONNECTION_STATE_CHANGED = "android.bluetooth.hearingaid.profile.action.CONNECTION_STATE_CHANGED";
   }
 
@@ -9558,8 +9563,8 @@
     method public final void unregisterContentObserver(@NonNull android.database.ContentObserver);
     method public final int update(@RequiresPermission.Write @NonNull android.net.Uri, @Nullable android.content.ContentValues, @Nullable String, @Nullable String[]);
     method public static void validateSyncExtrasBundle(android.os.Bundle);
-    method public static android.content.ContentResolver wrap(@NonNull android.content.ContentProvider);
-    method public static android.content.ContentResolver wrap(@NonNull android.content.ContentProviderClient);
+    method @NonNull public static android.content.ContentResolver wrap(@NonNull android.content.ContentProvider);
+    method @NonNull public static android.content.ContentResolver wrap(@NonNull android.content.ContentProviderClient);
     field public static final String ANY_CURSOR_ITEM_TYPE = "vnd.android.cursor.item/*";
     field public static final String CURSOR_DIR_BASE_TYPE = "vnd.android.cursor.dir";
     field public static final String CURSOR_ITEM_BASE_TYPE = "vnd.android.cursor.item";
@@ -9652,8 +9657,9 @@
 
   public abstract class Context {
     ctor public Context();
-    method public boolean bindIsolatedService(@RequiresPermission @NonNull android.content.Intent, @NonNull android.content.ServiceConnection, int, @NonNull String);
+    method public boolean bindIsolatedService(@RequiresPermission @NonNull android.content.Intent, int, @NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.content.ServiceConnection);
     method public abstract boolean bindService(@RequiresPermission android.content.Intent, @NonNull android.content.ServiceConnection, int);
+    method public boolean bindService(@RequiresPermission @NonNull android.content.Intent, int, @NonNull java.util.concurrent.Executor, @NonNull android.content.ServiceConnection);
     method @CheckResult(suggest="#enforceCallingOrSelfPermission(String,String)") public abstract int checkCallingOrSelfPermission(@NonNull String);
     method @CheckResult(suggest="#enforceCallingOrSelfUriPermission(Uri,int,String)") public abstract int checkCallingOrSelfUriPermission(android.net.Uri, int);
     method @CheckResult(suggest="#enforceCallingPermission(String,String)") public abstract int checkCallingPermission(@NonNull String);
@@ -11265,11 +11271,11 @@
     method public boolean shouldHideFromSuggestions(@NonNull String, @NonNull android.os.UserHandle);
     method public void startAppDetailsActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle);
     method public void startMainActivity(android.content.ComponentName, android.os.UserHandle, android.graphics.Rect, android.os.Bundle);
-    method public void startPackageInstallerSessionDetailsActivity(android.content.pm.PackageInstaller.SessionInfo, android.graphics.Rect, android.os.Bundle);
+    method public void startPackageInstallerSessionDetailsActivity(@NonNull android.content.pm.PackageInstaller.SessionInfo, @Nullable android.graphics.Rect, @Nullable android.os.Bundle);
     method public void startShortcut(@NonNull String, @NonNull String, @Nullable android.graphics.Rect, @Nullable android.os.Bundle, @NonNull android.os.UserHandle);
     method public void startShortcut(@NonNull android.content.pm.ShortcutInfo, @Nullable android.graphics.Rect, @Nullable android.os.Bundle);
     method public void unregisterCallback(android.content.pm.LauncherApps.Callback);
-    method public void unregisterPackageInstallerSessionCallback(android.content.pm.PackageInstaller.SessionCallback);
+    method public void unregisterPackageInstallerSessionCallback(@NonNull android.content.pm.PackageInstaller.SessionCallback);
     field public static final String ACTION_CONFIRM_PIN_APPWIDGET = "android.content.pm.action.CONFIRM_PIN_APPWIDGET";
     field public static final String ACTION_CONFIRM_PIN_SHORTCUT = "android.content.pm.action.CONFIRM_PIN_SHORTCUT";
     field public static final String EXTRA_PIN_ITEM_REQUEST = "android.content.pm.extra.PIN_ITEM_REQUEST";
@@ -11458,8 +11464,8 @@
     method public int getSessionId();
     method public long getSize();
     method public int getStagedSessionErrorCode();
-    method public String getStagedSessionErrorMessage();
-    method public android.os.UserHandle getUser();
+    method @NonNull public String getStagedSessionErrorMessage();
+    method @NonNull public android.os.UserHandle getUser();
     method public boolean isActive();
     method public boolean isMultiPackage();
     method public boolean isSealed();
@@ -11825,25 +11831,25 @@
   }
 
   public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
-    ctor public PermissionGroupInfo();
-    ctor public PermissionGroupInfo(android.content.pm.PermissionGroupInfo);
+    ctor @Deprecated public PermissionGroupInfo();
+    ctor @Deprecated public PermissionGroupInfo(@NonNull android.content.pm.PermissionGroupInfo);
     method public int describeContents();
-    method public CharSequence loadDescription(android.content.pm.PackageManager);
+    method @Nullable public CharSequence loadDescription(@NonNull android.content.pm.PackageManager);
     field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PermissionGroupInfo> CREATOR;
     field public static final int FLAG_PERSONAL_INFO = 1; // 0x1
-    field public int descriptionRes;
+    field @StringRes public int descriptionRes;
     field public int flags;
-    field public CharSequence nonLocalizedDescription;
+    field @Nullable public CharSequence nonLocalizedDescription;
     field public int priority;
   }
 
   public class PermissionInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
-    ctor public PermissionInfo();
-    ctor public PermissionInfo(android.content.pm.PermissionInfo);
+    ctor @Deprecated public PermissionInfo();
+    ctor @Deprecated public PermissionInfo(@NonNull android.content.pm.PermissionInfo);
     method public int describeContents();
     method public int getProtection();
     method public int getProtectionFlags();
-    method public CharSequence loadDescription(android.content.pm.PackageManager);
+    method @Nullable public CharSequence loadDescription(@NonNull android.content.pm.PackageManager);
     field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.PermissionInfo> CREATOR;
     field public static final int FLAG_COSTS_MONEY = 1; // 0x1
     field public static final int FLAG_INSTALLED = 1073741824; // 0x40000000
@@ -11864,10 +11870,10 @@
     field public static final int PROTECTION_NORMAL = 0; // 0x0
     field public static final int PROTECTION_SIGNATURE = 2; // 0x2
     field @Deprecated public static final int PROTECTION_SIGNATURE_OR_SYSTEM = 3; // 0x3
-    field public int descriptionRes;
+    field @StringRes public int descriptionRes;
     field public int flags;
-    field public String group;
-    field public CharSequence nonLocalizedDescription;
+    field @Nullable public String group;
+    field @Nullable public CharSequence nonLocalizedDescription;
     field @Deprecated public int protectionLevel;
   }
 
@@ -11939,6 +11945,7 @@
     field public static final int FOREGROUND_SERVICE_TYPE_LOCATION = 8; // 0x8
     field public static final int FOREGROUND_SERVICE_TYPE_MANIFEST = -1; // 0xffffffff
     field public static final int FOREGROUND_SERVICE_TYPE_MEDIA_PLAYBACK = 2; // 0x2
+    field public static final int FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION = 32; // 0x20
     field public static final int FOREGROUND_SERVICE_TYPE_NONE = 0; // 0x0
     field public static final int FOREGROUND_SERVICE_TYPE_PHONE_CALL = 4; // 0x4
     field public int flags;
@@ -11972,6 +11979,7 @@
     method @Nullable public android.content.Intent getIntent();
     method @Nullable public android.content.Intent[] getIntents();
     method public long getLastChangedTimestamp();
+    method @Nullable public android.content.LocusId getLocusId();
     method @Nullable public CharSequence getLongLabel();
     method @NonNull public String getPackage();
     method public int getRank();
@@ -12006,8 +12014,9 @@
     method @NonNull public android.content.pm.ShortcutInfo.Builder setIcon(android.graphics.drawable.Icon);
     method @NonNull public android.content.pm.ShortcutInfo.Builder setIntent(@NonNull android.content.Intent);
     method @NonNull public android.content.pm.ShortcutInfo.Builder setIntents(@NonNull android.content.Intent[]);
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setLocusId(@NonNull android.content.LocusId);
     method @NonNull public android.content.pm.ShortcutInfo.Builder setLongLabel(@NonNull CharSequence);
-    method @NonNull public android.content.pm.ShortcutInfo.Builder setLongLived();
+    method @NonNull public android.content.pm.ShortcutInfo.Builder setLongLived(boolean);
     method @NonNull public android.content.pm.ShortcutInfo.Builder setPerson(@NonNull android.app.Person);
     method @NonNull public android.content.pm.ShortcutInfo.Builder setPersons(@NonNull android.app.Person[]);
     method @NonNull public android.content.pm.ShortcutInfo.Builder setRank(int);
@@ -12276,6 +12285,7 @@
     method public final void flushLayoutCache();
     method @NonNull public android.content.res.XmlResourceParser getAnimation(@AnimatorRes @AnimRes int) throws android.content.res.Resources.NotFoundException;
     method public final android.content.res.AssetManager getAssets();
+    method @AnyRes public static int getAttributeSetSourceResId(@Nullable android.util.AttributeSet);
     method public boolean getBoolean(@BoolRes int) throws android.content.res.Resources.NotFoundException;
     method @Deprecated @ColorInt public int getColor(@ColorRes int) throws android.content.res.Resources.NotFoundException;
     method @ColorInt public int getColor(@ColorRes int, @Nullable android.content.res.Resources.Theme) throws android.content.res.Resources.NotFoundException;
@@ -12371,7 +12381,7 @@
     method public String getPositionDescription();
     method @AnyRes public int getResourceId(@StyleableRes int, int);
     method public android.content.res.Resources getResources();
-    method @StyleRes public int getSourceResourceId(@StyleableRes int, @StyleRes int);
+    method @AnyRes public int getSourceResourceId(@StyleableRes int, @AnyRes int);
     method @Nullable public String getString(@StyleableRes int);
     method public CharSequence getText(@StyleableRes int);
     method public CharSequence[] getTextArray(@StyleableRes int);
@@ -13774,7 +13784,7 @@
     method public void drawColor(@ColorInt int, @NonNull android.graphics.BlendMode);
     method public void drawColor(@ColorLong long, @NonNull android.graphics.BlendMode);
     method public void drawDoubleRoundRect(@NonNull android.graphics.RectF, float, float, @NonNull android.graphics.RectF, float, float, @NonNull android.graphics.Paint);
-    method public void drawDoubleRoundRect(@NonNull android.graphics.RectF, float[], @NonNull android.graphics.RectF, float[], @NonNull android.graphics.Paint);
+    method public void drawDoubleRoundRect(@NonNull android.graphics.RectF, @NonNull float[], @NonNull android.graphics.RectF, @NonNull float[], @NonNull android.graphics.Paint);
     method public void drawLine(float, float, float, float, @NonNull android.graphics.Paint);
     method public void drawLines(@Size(multiple=4) @NonNull float[], int, int, @NonNull android.graphics.Paint);
     method public void drawLines(@Size(multiple=4) @NonNull float[], @NonNull android.graphics.Paint);
@@ -14113,17 +14123,18 @@
   public class HardwareRenderer {
     ctor public HardwareRenderer();
     method public void clearContent();
-    method public android.graphics.HardwareRenderer.FrameRenderRequest createRenderRequest();
+    method @NonNull public android.graphics.HardwareRenderer.FrameRenderRequest createRenderRequest();
     method public void destroy();
     method public boolean isOpaque();
     method public void notifyFramePending();
     method public void setContentRoot(@Nullable android.graphics.RenderNode);
     method public void setLightSourceAlpha(@FloatRange(from=0.0f, to=1.0f) float, @FloatRange(from=0.0f, to=1.0f) float);
     method public void setLightSourceGeometry(float, float, float, float);
-    method public void setName(String);
+    method public void setName(@NonNull String);
     method public void setOpaque(boolean);
-    method public void setStopped(boolean);
     method public void setSurface(@Nullable android.view.Surface);
+    method public void start();
+    method public void stop();
     field public static final int SYNC_CONTEXT_IS_STOPPED = 4; // 0x4
     field public static final int SYNC_FRAME_DROPPED = 8; // 0x8
     field public static final int SYNC_LOST_SURFACE_REWARD_IF_FOUND = 2; // 0x2
@@ -14132,9 +14143,9 @@
   }
 
   public final class HardwareRenderer.FrameRenderRequest {
-    method public android.graphics.HardwareRenderer.FrameRenderRequest setFrameCommitCallback(@NonNull java.util.concurrent.Executor, @NonNull Runnable);
-    method public android.graphics.HardwareRenderer.FrameRenderRequest setVsyncTime(long);
-    method public android.graphics.HardwareRenderer.FrameRenderRequest setWaitForPresent(boolean);
+    method @NonNull public android.graphics.HardwareRenderer.FrameRenderRequest setFrameCommitCallback(@NonNull java.util.concurrent.Executor, @NonNull Runnable);
+    method @NonNull public android.graphics.HardwareRenderer.FrameRenderRequest setVsyncTime(long);
+    method @NonNull public android.graphics.HardwareRenderer.FrameRenderRequest setWaitForPresent(boolean);
     method public int syncAndDraw();
   }
 
@@ -14241,7 +14252,7 @@
     method @NonNull public static android.graphics.Insets subtract(@NonNull android.graphics.Insets, @NonNull android.graphics.Insets);
     method public void writeToParcel(android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.graphics.Insets> CREATOR;
-    field public static final android.graphics.Insets NONE;
+    field @NonNull public static final android.graphics.Insets NONE;
     field public final int bottom;
     field public final int left;
     field public final int right;
@@ -14420,6 +14431,7 @@
     method @ColorInt public int getColor();
     method public android.graphics.ColorFilter getColorFilter();
     method @ColorLong public long getColorLong();
+    method public int getEndHyphenEdit();
     method public boolean getFillPath(android.graphics.Path, android.graphics.Path);
     method public int getFlags();
     method public String getFontFeatureSettings();
@@ -14430,7 +14442,6 @@
     method public float getFontSpacing();
     method public String getFontVariationSettings();
     method public int getHinting();
-    method public int getHyphenEdit();
     method public float getLetterSpacing();
     method public android.graphics.MaskFilter getMaskFilter();
     method public int getOffsetForAdvance(char[], int, int, int, int, boolean, float);
@@ -14444,6 +14455,7 @@
     method public float getShadowLayerDx();
     method public float getShadowLayerDy();
     method public float getShadowLayerRadius();
+    method public int getStartHyphenEdit();
     method @Px public float getStrikeThruPosition();
     method @Px public float getStrikeThruThickness();
     method public android.graphics.Paint.Cap getStrokeCap();
@@ -14453,7 +14465,7 @@
     method public android.graphics.Paint.Style getStyle();
     method public android.graphics.Paint.Align getTextAlign();
     method public void getTextBounds(String, int, int, android.graphics.Rect);
-    method public void getTextBounds(CharSequence, int, int, android.graphics.Rect);
+    method public void getTextBounds(@NonNull CharSequence, int, int, @NonNull android.graphics.Rect);
     method public void getTextBounds(char[], int, int, android.graphics.Rect);
     method @NonNull public java.util.Locale getTextLocale();
     method @NonNull @Size(min=1) public android.os.LocaleList getTextLocales();
@@ -14472,7 +14484,7 @@
     method public android.graphics.Typeface getTypeface();
     method @Px public float getUnderlinePosition();
     method @Px public float getUnderlineThickness();
-    method public float getWordSpacing();
+    method @Px public float getWordSpacing();
     method @Deprecated public android.graphics.Xfermode getXfermode();
     method public boolean hasGlyph(String);
     method public final boolean isAntiAlias();
@@ -14499,13 +14511,13 @@
     method public android.graphics.ColorFilter setColorFilter(android.graphics.ColorFilter);
     method public void setDither(boolean);
     method public void setElegantTextHeight(boolean);
+    method public void setEndHyphenEdit(int);
     method public void setFakeBoldText(boolean);
     method public void setFilterBitmap(boolean);
     method public void setFlags(int);
     method public void setFontFeatureSettings(String);
     method public boolean setFontVariationSettings(String);
     method public void setHinting(int);
-    method public void setHyphenEdit(int);
     method public void setLetterSpacing(float);
     method public void setLinearText(boolean);
     method public android.graphics.MaskFilter setMaskFilter(android.graphics.MaskFilter);
@@ -14513,6 +14525,7 @@
     method public android.graphics.Shader setShader(android.graphics.Shader);
     method public void setShadowLayer(float, float, float, @ColorInt int);
     method public void setShadowLayer(float, float, float, @ColorLong long);
+    method public void setStartHyphenEdit(int);
     method public void setStrikeThruText(boolean);
     method public void setStrokeCap(android.graphics.Paint.Cap);
     method public void setStrokeJoin(android.graphics.Paint.Join);
@@ -14528,7 +14541,7 @@
     method public void setTextSkewX(float);
     method public android.graphics.Typeface setTypeface(android.graphics.Typeface);
     method public void setUnderlineText(boolean);
-    method public void setWordSpacing(float);
+    method public void setWordSpacing(@Px float);
     method @Deprecated public android.graphics.Xfermode setXfermode(android.graphics.Xfermode);
     field public static final int ANTI_ALIAS_FLAG = 1; // 0x1
     field public static final int CURSOR_AFTER = 0; // 0x0
@@ -14539,11 +14552,21 @@
     field public static final int DEV_KERN_TEXT_FLAG = 256; // 0x100
     field public static final int DITHER_FLAG = 4; // 0x4
     field public static final int EMBEDDED_BITMAP_TEXT_FLAG = 1024; // 0x400
+    field public static final int END_HYPHEN_EDIT_INSERT_ARMENIAN_HYPHEN = 3; // 0x3
+    field public static final int END_HYPHEN_EDIT_INSERT_HYPHEN = 2; // 0x2
+    field public static final int END_HYPHEN_EDIT_INSERT_MAQAF = 4; // 0x4
+    field public static final int END_HYPHEN_EDIT_INSERT_UCAS_HYPHEN = 5; // 0x5
+    field public static final int END_HYPHEN_EDIT_INSERT_ZWJ_AND_HYPHEN = 6; // 0x6
+    field public static final int END_HYPHEN_EDIT_NO_EDIT = 0; // 0x0
+    field public static final int END_HYPHEN_EDIT_REPLACE_WITH_HYPHEN = 1; // 0x1
     field public static final int FAKE_BOLD_TEXT_FLAG = 32; // 0x20
     field public static final int FILTER_BITMAP_FLAG = 2; // 0x2
     field public static final int HINTING_OFF = 0; // 0x0
     field public static final int HINTING_ON = 1; // 0x1
     field public static final int LINEAR_TEXT_FLAG = 64; // 0x40
+    field public static final int START_HYPHEN_EDIT_INSERT_HYPHEN = 1; // 0x1
+    field public static final int START_HYPHEN_EDIT_INSERT_ZWJ = 2; // 0x2
+    field public static final int START_HYPHEN_EDIT_NO_EDIT = 0; // 0x0
     field public static final int STRIKE_THRU_TEXT_FLAG = 16; // 0x10
     field public static final int SUBPIXEL_TEXT_FLAG = 128; // 0x80
     field public static final int UNDERLINE_TEXT_FLAG = 8; // 0x8
@@ -14953,8 +14976,8 @@
 
   public final class RenderNode {
     ctor public RenderNode(@Nullable String);
-    method public android.graphics.RecordingCanvas beginRecording(int, int);
-    method public android.graphics.RecordingCanvas beginRecording();
+    method @NonNull public android.graphics.RecordingCanvas beginRecording(int, int);
+    method @NonNull public android.graphics.RecordingCanvas beginRecording();
     method public long computeApproximateMemoryUsage();
     method public void discardDisplayList();
     method public void endRecording();
@@ -15007,7 +15030,7 @@
     method public boolean setPivotX(float);
     method public boolean setPivotY(float);
     method public boolean setPosition(int, int, int, int);
-    method public boolean setPosition(android.graphics.Rect);
+    method public boolean setPosition(@NonNull android.graphics.Rect);
     method public boolean setProjectBackwards(boolean);
     method public boolean setProjectionReceiver(boolean);
     method public boolean setRotationX(float);
@@ -15108,13 +15131,13 @@
     method public android.graphics.Typeface.Builder setWeight(@IntRange(from=1, to=1000) int);
   }
 
-  public static class Typeface.CustomFallbackBuilder {
+  public static final class Typeface.CustomFallbackBuilder {
     ctor public Typeface.CustomFallbackBuilder(@NonNull android.graphics.fonts.FontFamily);
-    method public android.graphics.Typeface.CustomFallbackBuilder addCustomFallback(@NonNull android.graphics.fonts.FontFamily);
-    method public android.graphics.Typeface build();
+    method @NonNull public android.graphics.Typeface.CustomFallbackBuilder addCustomFallback(@NonNull android.graphics.fonts.FontFamily);
+    method @NonNull public android.graphics.Typeface build();
     method @IntRange(from=64) public static int getMaxCustomFallbackCount();
-    method public android.graphics.Typeface.CustomFallbackBuilder setStyle(@NonNull android.graphics.fonts.FontStyle);
-    method public android.graphics.Typeface.CustomFallbackBuilder setSystemFallback(@NonNull String);
+    method @NonNull public android.graphics.Typeface.CustomFallbackBuilder setStyle(@NonNull android.graphics.fonts.FontStyle);
+    method @NonNull public android.graphics.Typeface.CustomFallbackBuilder setSystemFallback(@NonNull String);
   }
 
   public class Xfermode {
@@ -15446,38 +15469,38 @@
     method public float getGradientCenterY();
     method public float getGradientRadius();
     method public int getGradientType();
-    method public int getInnerRadius();
+    method @Px public int getInnerRadius();
     method public float getInnerRadiusRatio();
     method public int getOpacity();
     method public android.graphics.drawable.GradientDrawable.Orientation getOrientation();
     method public int getShape();
-    method public int getThickness();
+    method @Px public int getThickness();
     method public float getThicknessRatio();
     method public boolean getUseLevel();
     method public void setAlpha(int);
     method public void setColor(@ColorInt int);
     method public void setColor(@Nullable android.content.res.ColorStateList);
     method public void setColorFilter(@Nullable android.graphics.ColorFilter);
-    method public void setColors(@ColorInt int[]);
-    method public void setColors(@ColorInt int[], @Nullable float[]);
+    method public void setColors(@Nullable @ColorInt int[]);
+    method public void setColors(@Nullable @ColorInt int[], @Nullable float[]);
     method public void setCornerRadii(@Nullable float[]);
     method public void setCornerRadius(float);
     method public void setDither(boolean);
     method public void setGradientCenter(float, float);
     method public void setGradientRadius(float);
     method public void setGradientType(int);
-    method public void setInnerRadius(int);
-    method public void setInnerRadiusRatio(float);
+    method public void setInnerRadius(@Px int);
+    method public void setInnerRadiusRatio(@FloatRange(from=0.0f, fromInclusive=false) float);
     method public void setOrientation(android.graphics.drawable.GradientDrawable.Orientation);
-    method public void setPadding(int, int, int, int);
+    method public void setPadding(@Px int, @Px int, @Px int, @Px int);
     method public void setShape(int);
     method public void setSize(int, int);
     method public void setStroke(int, @ColorInt int);
     method public void setStroke(int, android.content.res.ColorStateList);
     method public void setStroke(int, @ColorInt int, float, float);
     method public void setStroke(int, android.content.res.ColorStateList, float, float);
-    method public void setThickness(int);
-    method public void setThicknessRatio(float);
+    method public void setThickness(@Px int);
+    method public void setThicknessRatio(@FloatRange(from=0.0f, fromInclusive=false) float);
     method public void setUseLevel(boolean);
     field public static final int LINE = 2; // 0x2
     field public static final int LINEAR_GRADIENT = 0; // 0x0
@@ -15690,10 +15713,10 @@
   public class StateListDrawable extends android.graphics.drawable.DrawableContainer {
     ctor public StateListDrawable();
     method public void addState(int[], android.graphics.drawable.Drawable);
-    method public int findStateDrawableIndex(int[]);
+    method public int findStateDrawableIndex(@NonNull int[]);
     method public int getStateCount();
-    method public android.graphics.drawable.Drawable getStateDrawable(int);
-    method public int[] getStateSet(int);
+    method @Nullable public android.graphics.drawable.Drawable getStateDrawable(int);
+    method @NonNull public int[] getStateSet(int);
   }
 
   public class TransitionDrawable extends android.graphics.drawable.LayerDrawable implements android.graphics.drawable.Drawable.Callback {
@@ -15768,18 +15791,18 @@
     method @NonNull public java.nio.ByteBuffer getBuffer();
     method @Nullable public java.io.File getFile();
     method @NonNull public android.os.LocaleList getLocaleList();
-    method public android.graphics.fonts.FontStyle getStyle();
+    method @NonNull public android.graphics.fonts.FontStyle getStyle();
     method @IntRange(from=0) public int getTtcIndex();
   }
 
-  public static class Font.Builder {
+  public static final class Font.Builder {
     ctor public Font.Builder(@NonNull java.nio.ByteBuffer);
     ctor public Font.Builder(@NonNull java.io.File);
-    ctor public Font.Builder(@NonNull java.io.FileDescriptor);
-    ctor public Font.Builder(@NonNull java.io.FileDescriptor, @IntRange(from=0) long, @IntRange(from=0xffffffff) long);
+    ctor public Font.Builder(@NonNull android.os.ParcelFileDescriptor);
+    ctor public Font.Builder(@NonNull android.os.ParcelFileDescriptor, @IntRange(from=0) long, @IntRange(from=0xffffffff) long);
     ctor public Font.Builder(@NonNull android.content.res.AssetManager, @NonNull String);
     ctor public Font.Builder(@NonNull android.content.res.Resources, int);
-    method @Nullable public android.graphics.fonts.Font build() throws java.io.IOException;
+    method @NonNull public android.graphics.fonts.Font build() throws java.io.IOException;
     method @NonNull public android.graphics.fonts.Font.Builder setFontVariationSettings(@Nullable String);
     method @NonNull public android.graphics.fonts.Font.Builder setFontVariationSettings(@Nullable android.graphics.fonts.FontVariationAxis[]);
     method @NonNull public android.graphics.fonts.Font.Builder setSlant(int);
@@ -15788,11 +15811,11 @@
   }
 
   public final class FontFamily {
-    method public android.graphics.fonts.Font getFont(@IntRange(from=0) int);
-    method public int getSize();
+    method @NonNull public android.graphics.fonts.Font getFont(@IntRange(from=0) int);
+    method @IntRange(from=1) public int getSize();
   }
 
-  public static class FontFamily.Builder {
+  public static final class FontFamily.Builder {
     ctor public FontFamily.Builder(@NonNull android.graphics.fonts.Font);
     method @NonNull public android.graphics.fonts.FontFamily.Builder addFont(@NonNull android.graphics.fonts.Font);
     method @NonNull public android.graphics.fonts.FontFamily build();
@@ -15884,7 +15907,7 @@
 package android.graphics.text {
 
   public class LineBreaker {
-    method public android.graphics.text.LineBreaker.Result computeLineBreaks(@NonNull android.graphics.text.MeasuredText, @NonNull android.graphics.text.LineBreaker.ParagraphConstraints, @IntRange(from=0) int);
+    method @NonNull public android.graphics.text.LineBreaker.Result computeLineBreaks(@NonNull android.graphics.text.MeasuredText, @NonNull android.graphics.text.LineBreaker.ParagraphConstraints, @IntRange(from=0) int);
     field public static final int BREAK_STRATEGY_BALANCED = 2; // 0x2
     field public static final int BREAK_STRATEGY_HIGH_QUALITY = 1; // 0x1
     field public static final int BREAK_STRATEGY_SIMPLE = 0; // 0x0
@@ -15895,52 +15918,52 @@
     field public static final int JUSTIFICATION_MODE_NONE = 0; // 0x0
   }
 
-  public static class LineBreaker.Builder {
+  public static final class LineBreaker.Builder {
     ctor public LineBreaker.Builder();
-    method public android.graphics.text.LineBreaker build();
-    method public android.graphics.text.LineBreaker.Builder setBreakStrategy(int);
-    method public android.graphics.text.LineBreaker.Builder setHyphenationFrequency(int);
-    method public android.graphics.text.LineBreaker.Builder setIndents(@Nullable int[]);
-    method public android.graphics.text.LineBreaker.Builder setJustified(int);
+    method @NonNull public android.graphics.text.LineBreaker build();
+    method @NonNull public android.graphics.text.LineBreaker.Builder setBreakStrategy(int);
+    method @NonNull public android.graphics.text.LineBreaker.Builder setHyphenationFrequency(int);
+    method @NonNull public android.graphics.text.LineBreaker.Builder setIndents(@Nullable int[]);
+    method @NonNull public android.graphics.text.LineBreaker.Builder setJustificationMode(int);
   }
 
   public static class LineBreaker.ParagraphConstraints {
     ctor public LineBreaker.ParagraphConstraints();
-    method @Px @IntRange(from=0) public int getDefaultTabStop();
+    method @Px @FloatRange(from=0) public float getDefaultTabStop();
     method @Px @FloatRange(from=0.0f) public float getFirstWidth();
     method @Px @IntRange(from=0) public int getFirstWidthLineCount();
-    method @Nullable public int[] getTabStops();
+    method @Nullable public float[] getTabStops();
     method @Px @FloatRange(from=0.0f) public float getWidth();
     method public void setIndent(@Px @FloatRange(from=0.0f) float, @Px @IntRange(from=0) int);
-    method public void setTabStops(@Nullable int[], @Px @IntRange(from=0) int);
+    method public void setTabStops(@Nullable float[], @Px @FloatRange(from=0) float);
     method public void setWidth(@Px @FloatRange(from=0.0f) float);
   }
 
   public static class LineBreaker.Result {
+    method public int getEndLineHyphenEdit(int);
     method @Px public float getLineAscent(@IntRange(from=0) int);
     method @IntRange(from=0) public int getLineBreakOffset(@IntRange(from=0) int);
     method @IntRange(from=0) public int getLineCount();
     method @Px public float getLineDescent(@IntRange(from=0) int);
-    method public int getLineHyphenEdit(int);
     method @Px public float getLineWidth(@IntRange(from=0) int);
+    method public int getStartLineHyphenEdit(int);
     method public boolean hasLineTab(int);
   }
 
   public class MeasuredText {
     method public void getBounds(@IntRange(from=0) int, @IntRange(from=0) int, @NonNull android.graphics.Rect);
     method @FloatRange(from=0.0f) @Px public float getCharWidthAt(@IntRange(from=0) int);
-    method @NonNull public char[] getChars();
     method @FloatRange(from=0.0) @Px public float getWidth(@IntRange(from=0) int, @IntRange(from=0) int);
   }
 
-  public static class MeasuredText.Builder {
+  public static final class MeasuredText.Builder {
     ctor public MeasuredText.Builder(@NonNull char[]);
     ctor public MeasuredText.Builder(@NonNull android.graphics.text.MeasuredText);
-    method public android.graphics.text.MeasuredText.Builder appendReplacementRun(@NonNull android.graphics.Paint, @IntRange(from=0) int, @FloatRange(from=0) float);
-    method public android.graphics.text.MeasuredText.Builder appendStyleRun(@NonNull android.graphics.Paint, @IntRange(from=0) int, boolean);
-    method public android.graphics.text.MeasuredText build();
-    method public android.graphics.text.MeasuredText.Builder setComputeHyphenation(boolean);
-    method public android.graphics.text.MeasuredText.Builder setComputeLayout(boolean);
+    method @NonNull public android.graphics.text.MeasuredText.Builder appendReplacementRun(@NonNull android.graphics.Paint, @IntRange(from=0) int, @Px @FloatRange(from=0) float);
+    method @NonNull public android.graphics.text.MeasuredText.Builder appendStyleRun(@NonNull android.graphics.Paint, @IntRange(from=0) int, boolean);
+    method @NonNull public android.graphics.text.MeasuredText build();
+    method @NonNull public android.graphics.text.MeasuredText.Builder setComputeHyphenation(boolean);
+    method @NonNull public android.graphics.text.MeasuredText.Builder setComputeLayout(boolean);
   }
 
 }
@@ -16562,10 +16585,10 @@
   public static class BiometricPrompt.Builder {
     ctor public BiometricPrompt.Builder(android.content.Context);
     method @NonNull public android.hardware.biometrics.BiometricPrompt build();
-    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setAllowDeviceCredential(boolean);
+    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setConfirmationRequired(boolean);
     method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setDescription(@NonNull CharSequence);
+    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setDeviceCredentialAllowed(boolean);
     method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setNegativeButton(@NonNull CharSequence, @NonNull java.util.concurrent.Executor, @NonNull android.content.DialogInterface.OnClickListener);
-    method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setRequireConfirmation(boolean);
     method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setSubtitle(@NonNull CharSequence);
     method @NonNull public android.hardware.biometrics.BiometricPrompt.Builder setTitle(@NonNull CharSequence);
   }
@@ -16739,7 +16762,7 @@
   }
 
   public static final class CameraCharacteristics.Key<T> {
-    ctor public CameraCharacteristics.Key(String, Class<T>);
+    ctor public CameraCharacteristics.Key(@NonNull String, @NonNull Class<T>);
     method @NonNull public String getName();
   }
 
@@ -17113,7 +17136,7 @@
   }
 
   public static final class CaptureRequest.Key<T> {
-    ctor public CaptureRequest.Key(String, Class<T>);
+    ctor public CaptureRequest.Key(@NonNull String, @NonNull Class<T>);
     method @NonNull public String getName();
   }
 
@@ -17208,7 +17231,7 @@
   }
 
   public static final class CaptureResult.Key<T> {
-    ctor public CaptureResult.Key(String, Class<T>);
+    ctor public CaptureResult.Key(@NonNull String, @NonNull Class<T>);
     method @NonNull public String getName();
   }
 
@@ -17343,15 +17366,16 @@
     method @Nullable public java.util.Set<android.util.Size> getInputSizes(int);
     method @NonNull public java.util.Set<java.lang.Integer> getOutputFormats();
     method @IntRange(from=0) public long getOutputMinFrameDuration(int, @NonNull android.util.Size);
-    method public <T> long getOutputMinFrameDuration(@NonNull Class<T>, @NonNull android.util.Size);
+    method @IntRange(from=0) public <T> long getOutputMinFrameDuration(@NonNull Class<T>, @NonNull android.util.Size);
     method @Nullable public java.util.Set<android.util.Size> getOutputSizes(int);
-    method public <T> java.util.Set<android.util.Size> getOutputSizes(@NonNull Class<T>);
+    method @Nullable public <T> java.util.Set<android.util.Size> getOutputSizes(@NonNull Class<T>);
     method @IntRange(from=0) public long getOutputStallDuration(int, @NonNull android.util.Size);
-    method public <T> long getOutputStallDuration(@NonNull Class<T>, @NonNull android.util.Size);
+    method @IntRange(from=0) public <T> long getOutputStallDuration(@NonNull Class<T>, @NonNull android.util.Size);
     method public int getRecommendedUseCase();
     method @Nullable public java.util.Set<java.lang.Integer> getValidOutputFormatsForInput(int);
     method public boolean isOutputSupportedFor(int);
     method public boolean isOutputSupportedFor(@NonNull android.view.Surface);
+    field public static final int USECASE_LOW_LATENCY_SNAPSHOT = 6; // 0x6
     field public static final int USECASE_PREVIEW = 0; // 0x0
     field public static final int USECASE_RAW = 5; // 0x5
     field public static final int USECASE_RECORD = 1; // 0x1
@@ -22669,10 +22693,9 @@
     method @Deprecated public double getCarrierPhase();
     method @Deprecated public double getCarrierPhaseUncertainty();
     method public double getCn0DbHz();
-    method public int getCodeType();
+    method @NonNull public String getCodeType();
     method public int getConstellationType();
     method public int getMultipathIndicator();
-    method @NonNull public String getOtherCodeTypeName();
     method public double getPseudorangeRateMetersPerSecond();
     method public double getPseudorangeRateUncertaintyMetersPerSecond();
     method public long getReceivedSvTimeNanos();
@@ -22695,22 +22718,6 @@
     field public static final int ADR_STATE_RESET = 2; // 0x2
     field public static final int ADR_STATE_UNKNOWN = 0; // 0x0
     field public static final int ADR_STATE_VALID = 1; // 0x1
-    field public static final int CODE_TYPE_A = 0; // 0x0
-    field public static final int CODE_TYPE_B = 1; // 0x1
-    field public static final int CODE_TYPE_C = 2; // 0x2
-    field public static final int CODE_TYPE_I = 3; // 0x3
-    field public static final int CODE_TYPE_L = 4; // 0x4
-    field public static final int CODE_TYPE_M = 5; // 0x5
-    field public static final int CODE_TYPE_N = 13; // 0xd
-    field public static final int CODE_TYPE_OTHER = 255; // 0xff
-    field public static final int CODE_TYPE_P = 6; // 0x6
-    field public static final int CODE_TYPE_Q = 7; // 0x7
-    field public static final int CODE_TYPE_S = 8; // 0x8
-    field public static final int CODE_TYPE_UNKNOWN = -1; // 0xffffffff
-    field public static final int CODE_TYPE_W = 9; // 0x9
-    field public static final int CODE_TYPE_X = 10; // 0xa
-    field public static final int CODE_TYPE_Y = 11; // 0xb
-    field public static final int CODE_TYPE_Z = 12; // 0xc
     field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssMeasurement> CREATOR;
     field public static final int MULTIPATH_INDICATOR_DETECTED = 1; // 0x1
     field public static final int MULTIPATH_INDICATOR_NOT_DETECTED = 2; // 0x2
@@ -22859,6 +22866,7 @@
     method public float getBearing();
     method public float getBearingAccuracyDegrees();
     method public long getElapsedRealtimeNanos();
+    method public long getElapsedRealtimeUncertaintyNanos();
     method public android.os.Bundle getExtras();
     method public double getLatitude();
     method public double getLongitude();
@@ -22871,6 +22879,7 @@
     method public boolean hasAltitude();
     method public boolean hasBearing();
     method public boolean hasBearingAccuracy();
+    method public boolean hasElapsedRealtimeUncertaintyNanos();
     method public boolean hasSpeed();
     method public boolean hasSpeedAccuracy();
     method public boolean hasVerticalAccuracy();
@@ -22886,6 +22895,7 @@
     method public void setBearing(float);
     method public void setBearingAccuracyDegrees(float);
     method public void setElapsedRealtimeNanos(long);
+    method public void setElapsedRealtimeUncertaintyNanos(long);
     method public void setExtras(android.os.Bundle);
     method public void setLatitude(double);
     method public void setLongitude(double);
@@ -22910,54 +22920,53 @@
 
   public class LocationManager {
     method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addGpsStatusListener(android.location.GpsStatus.Listener);
-    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(android.location.GpsStatus.NmeaListener);
-    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(android.location.OnNmeaMessageListener);
-    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(android.location.OnNmeaMessageListener, android.os.Handler);
-    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void addProximityAlert(double, double, float, long, android.app.PendingIntent);
-    method public void addTestProvider(String, boolean, boolean, boolean, boolean, boolean, boolean, boolean, int, int);
-    method @Deprecated public void clearTestProviderEnabled(String);
-    method @Deprecated public void clearTestProviderLocation(String);
-    method @Deprecated public void clearTestProviderStatus(String);
-    method public java.util.List<java.lang.String> getAllProviders();
-    method public String getBestProvider(android.location.Criteria, boolean);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(@NonNull android.location.OnNmeaMessageListener);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(@NonNull android.location.OnNmeaMessageListener, @Nullable android.os.Handler);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void addProximityAlert(double, double, float, long, @NonNull android.app.PendingIntent);
+    method public void addTestProvider(@NonNull String, boolean, boolean, boolean, boolean, boolean, boolean, boolean, int, int);
+    method @Deprecated public void clearTestProviderEnabled(@NonNull String);
+    method @Deprecated public void clearTestProviderLocation(@NonNull String);
+    method @Deprecated public void clearTestProviderStatus(@NonNull String);
+    method @NonNull public java.util.List<java.lang.String> getAllProviders();
+    method @Nullable public String getBestProvider(@NonNull android.location.Criteria, boolean);
     method @Nullable public String getGnssHardwareModelName();
     method public int getGnssYearOfHardware();
-    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public android.location.GpsStatus getGpsStatus(android.location.GpsStatus);
-    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public android.location.Location getLastKnownLocation(String);
-    method public android.location.LocationProvider getProvider(String);
-    method public java.util.List<java.lang.String> getProviders(boolean);
-    method public java.util.List<java.lang.String> getProviders(android.location.Criteria, boolean);
+    method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public android.location.GpsStatus getGpsStatus(@Nullable android.location.GpsStatus);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) @Nullable public android.location.Location getLastKnownLocation(@NonNull String);
+    method @Nullable public android.location.LocationProvider getProvider(@NonNull String);
+    method @NonNull public java.util.List<java.lang.String> getProviders(boolean);
+    method @NonNull public java.util.List<java.lang.String> getProviders(@NonNull android.location.Criteria, boolean);
     method public boolean isLocationEnabled();
-    method public boolean isProviderEnabled(String);
-    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback);
-    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback, android.os.Handler);
-    method public boolean registerGnssNavigationMessageCallback(android.location.GnssNavigationMessage.Callback);
-    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssNavigationMessageCallback(android.location.GnssNavigationMessage.Callback, android.os.Handler);
-    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssStatusCallback(android.location.GnssStatus.Callback);
-    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssStatusCallback(android.location.GnssStatus.Callback, android.os.Handler);
+    method public boolean isProviderEnabled(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback, @Nullable android.os.Handler);
+    method public boolean registerGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssStatusCallback(@NonNull android.location.GnssStatus.Callback);
+    method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean registerGnssStatusCallback(@NonNull android.location.GnssStatus.Callback, @Nullable android.os.Handler);
     method @Deprecated public void removeGpsStatusListener(android.location.GpsStatus.Listener);
-    method @Deprecated public void removeNmeaListener(android.location.GpsStatus.NmeaListener);
-    method public void removeNmeaListener(android.location.OnNmeaMessageListener);
-    method @RequiresPermission(anyOf={"android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION"}, apis="..22") public void removeProximityAlert(android.app.PendingIntent);
-    method public void removeTestProvider(String);
-    method @RequiresPermission(anyOf={"android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION"}, apis="..22") public void removeUpdates(android.location.LocationListener);
-    method public void removeUpdates(android.app.PendingIntent);
-    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(String, long, float, android.location.LocationListener);
-    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(String, long, float, android.location.LocationListener, android.os.Looper);
-    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(long, float, android.location.Criteria, android.location.LocationListener, android.os.Looper);
-    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(String, long, float, android.app.PendingIntent);
-    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(long, float, android.location.Criteria, android.app.PendingIntent);
-    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(String, android.location.LocationListener, android.os.Looper);
-    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(android.location.Criteria, android.location.LocationListener, android.os.Looper);
-    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(String, android.app.PendingIntent);
-    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(android.location.Criteria, android.app.PendingIntent);
-    method public boolean sendExtraCommand(String, String, android.os.Bundle);
-    method public void setTestProviderEnabled(String, boolean);
-    method public void setTestProviderLocation(String, android.location.Location);
-    method @Deprecated public void setTestProviderStatus(String, int, android.os.Bundle, long);
-    method public void unregisterGnssMeasurementsCallback(android.location.GnssMeasurementsEvent.Callback);
-    method public void unregisterGnssNavigationMessageCallback(android.location.GnssNavigationMessage.Callback);
-    method public void unregisterGnssStatusCallback(android.location.GnssStatus.Callback);
+    method public void removeNmeaListener(@NonNull android.location.OnNmeaMessageListener);
+    method @RequiresPermission(anyOf={"android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION"}, apis="..22") public void removeProximityAlert(@NonNull android.app.PendingIntent);
+    method public void removeTestProvider(@NonNull String);
+    method @RequiresPermission(anyOf={"android.permission.ACCESS_COARSE_LOCATION", "android.permission.ACCESS_FINE_LOCATION"}, apis="..22") public void removeUpdates(@NonNull android.location.LocationListener);
+    method public void removeUpdates(@NonNull android.app.PendingIntent);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, long, float, @NonNull android.location.LocationListener);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, long, float, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(long, float, @NonNull android.location.Criteria, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull String, long, float, @NonNull android.app.PendingIntent);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(long, float, @NonNull android.location.Criteria, @NonNull android.app.PendingIntent);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull String, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull android.location.Criteria, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull String, @NonNull android.app.PendingIntent);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestSingleUpdate(@NonNull android.location.Criteria, @NonNull android.app.PendingIntent);
+    method public boolean sendExtraCommand(@NonNull String, @NonNull String, @Nullable android.os.Bundle);
+    method public void setTestProviderEnabled(@NonNull String, boolean);
+    method public void setTestProviderLocation(@NonNull String, @NonNull android.location.Location);
+    method @Deprecated public void setTestProviderStatus(@NonNull String, int, @Nullable android.os.Bundle, long);
+    method public void unregisterGnssMeasurementsCallback(@NonNull android.location.GnssMeasurementsEvent.Callback);
+    method public void unregisterGnssNavigationMessageCallback(@NonNull android.location.GnssNavigationMessage.Callback);
+    method public void unregisterGnssStatusCallback(@NonNull android.location.GnssStatus.Callback);
+    field public static final String EXTRA_PROVIDER_NAME = "android.location.extra.PROVIDER_NAME";
     field public static final String GPS_PROVIDER = "gps";
     field public static final String KEY_LOCATION_CHANGED = "location";
     field public static final String KEY_PROVIDER_ENABLED = "providerEnabled";
@@ -22997,7 +23006,7 @@
     method protected abstract String onGetSummary();
     method public final void onStart(android.content.Intent, int);
     method public final int onStartCommand(android.content.Intent, int, int);
-    method public static final void refreshSettings(android.content.Context);
+    method public static final void refreshSettings(@NonNull android.content.Context);
     field public static final String ACTION_INJECTED_SETTING_CHANGED = "android.location.InjectedSettingChanged";
     field public static final String ACTION_SERVICE_INTENT = "android.location.SettingInjectorService";
     field public static final String ATTRIBUTES_NAME = "injected-location-setting";
@@ -23016,6 +23025,7 @@
   }
 
   public final class AudioAttributes implements android.os.Parcelable {
+    method public boolean areHapticChannelsMuted();
     method public int describeContents();
     method public int getContentType();
     method public int getFlags();
@@ -23053,10 +23063,11 @@
     ctor public AudioAttributes.Builder();
     ctor public AudioAttributes.Builder(android.media.AudioAttributes);
     method public android.media.AudioAttributes build();
-    method public android.media.AudioAttributes.Builder setAllowCapture(boolean);
+    method @NonNull public android.media.AudioAttributes.Builder setAllowCapture(boolean);
     method public android.media.AudioAttributes.Builder setContentType(int);
     method public android.media.AudioAttributes.Builder setFlags(int);
     method public android.media.AudioAttributes.Builder setLegacyStreamType(int);
+    method public android.media.AudioAttributes.Builder setMuteHapticChannels(boolean);
     method public android.media.AudioAttributes.Builder setUsage(int);
   }
 
@@ -23283,6 +23294,7 @@
     field public static final String ACTION_MICROPHONE_MUTE_CHANGED = "android.media.action.MICROPHONE_MUTE_CHANGED";
     field @Deprecated public static final String ACTION_SCO_AUDIO_STATE_CHANGED = "android.media.SCO_AUDIO_STATE_CHANGED";
     field public static final String ACTION_SCO_AUDIO_STATE_UPDATED = "android.media.ACTION_SCO_AUDIO_STATE_UPDATED";
+    field public static final String ACTION_SPEAKERPHONE_STATE_CHANGED = "android.media.action.SPEAKERPHONE_STATE_CHANGED";
     field public static final int ADJUST_LOWER = -1; // 0xffffffff
     field public static final int ADJUST_MUTE = -100; // 0xffffff9c
     field public static final int ADJUST_RAISE = 1; // 0x1
@@ -23392,11 +23404,11 @@
 
   public static final class AudioPlaybackCaptureConfiguration.Builder {
     ctor public AudioPlaybackCaptureConfiguration.Builder(@NonNull android.media.projection.MediaProjection);
-    method public android.media.AudioPlaybackCaptureConfiguration.Builder addMatchingUid(int);
-    method public android.media.AudioPlaybackCaptureConfiguration.Builder addMatchingUsage(@NonNull android.media.AudioAttributes);
-    method public android.media.AudioPlaybackCaptureConfiguration build();
-    method public android.media.AudioPlaybackCaptureConfiguration.Builder excludeUid(int);
-    method public android.media.AudioPlaybackCaptureConfiguration.Builder excludeUsage(@NonNull android.media.AudioAttributes);
+    method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder addMatchingUid(int);
+    method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder addMatchingUsage(@NonNull android.media.AudioAttributes);
+    method @NonNull public android.media.AudioPlaybackCaptureConfiguration build();
+    method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder excludeUid(int);
+    method @NonNull public android.media.AudioPlaybackCaptureConfiguration.Builder excludeUsage(@NonNull android.media.AudioAttributes);
   }
 
   public final class AudioPlaybackConfiguration implements android.os.Parcelable {
@@ -23497,7 +23509,7 @@
     ctor public AudioRecord.Builder();
     method public android.media.AudioRecord build() throws java.lang.UnsupportedOperationException;
     method public android.media.AudioRecord.Builder setAudioFormat(@NonNull android.media.AudioFormat) throws java.lang.IllegalArgumentException;
-    method public android.media.AudioRecord.Builder setAudioPlaybackCaptureConfig(@NonNull android.media.AudioPlaybackCaptureConfiguration);
+    method @NonNull public android.media.AudioRecord.Builder setAudioPlaybackCaptureConfig(@NonNull android.media.AudioPlaybackCaptureConfiguration);
     method public android.media.AudioRecord.Builder setAudioSource(int) throws java.lang.IllegalArgumentException;
     method public android.media.AudioRecord.Builder setBufferSizeInBytes(int) throws java.lang.IllegalArgumentException;
   }
@@ -23505,7 +23517,7 @@
   public static final class AudioRecord.MetricsConstants {
     field public static final String CHANNELS = "android.media.audiorecord.channels";
     field public static final String ENCODING = "android.media.audiorecord.encoding";
-    field public static final String LATENCY = "android.media.audiorecord.latency";
+    field @Deprecated public static final String LATENCY = "android.media.audiorecord.latency";
     field public static final String SAMPLERATE = "android.media.audiorecord.samplerate";
     field public static final String SOURCE = "android.media.audiorecord.source";
   }
@@ -23669,9 +23681,9 @@
   }
 
   public static final class AudioTrack.MetricsConstants {
-    field public static final String CHANNELMASK = "android.media.audiorecord.channelmask";
+    field @Deprecated public static final String CHANNELMASK = "android.media.audiorecord.channelmask";
     field public static final String CONTENTTYPE = "android.media.audiotrack.type";
-    field public static final String SAMPLERATE = "android.media.audiorecord.samplerate";
+    field @Deprecated public static final String SAMPLERATE = "android.media.audiorecord.samplerate";
     field public static final String STREAMTYPE = "android.media.audiotrack.streamtype";
     field public static final String USAGE = "android.media.audiotrack.usage";
   }
@@ -23805,7 +23817,7 @@
     method public android.graphics.Bitmap getThumbnailBitmap();
     method public byte[] getThumbnailBytes();
     method @Nullable public long[] getThumbnailRange();
-    method public boolean hasAttribute(String);
+    method public boolean hasAttribute(@NonNull String);
     method public boolean hasThumbnail();
     method public boolean isThumbnailCompressed();
     method public void saveAttributes() throws java.io.IOException;
@@ -24663,7 +24675,7 @@
     ctor public MediaController2(@NonNull android.content.Context, @NonNull android.media.Session2Token, @NonNull java.util.concurrent.Executor, @NonNull android.media.MediaController2.ControllerCallback);
     method public void cancelSessionCommand(@NonNull Object);
     method public void close();
-    method public android.media.Session2Token getConnectedSessionToken();
+    method @Nullable public android.media.Session2Token getConnectedSessionToken();
     method public boolean isPlaybackActive();
     method @NonNull public Object sendSessionCommand(@NonNull android.media.Session2Command, @Nullable android.os.Bundle);
   }
@@ -24747,6 +24759,10 @@
 
   public final class MediaDrm implements java.lang.AutoCloseable {
     ctor public MediaDrm(@NonNull java.util.UUID) throws android.media.UnsupportedSchemeException;
+    method public void clearOnEventListener();
+    method public void clearOnExpirationUpdateListener();
+    method public void clearOnKeyStatusChangeListener();
+    method public void clearOnSessionLostStateListener();
     method public void close();
     method public void closeSession(@NonNull byte[]);
     method @android.media.MediaDrm.HdcpLevel public int getConnectedHdcpLevel();
@@ -24783,9 +24799,14 @@
     method public void removeSecureStop(@NonNull byte[]);
     method public void restoreKeys(@NonNull byte[], @NonNull byte[]);
     method public void setOnEventListener(@Nullable android.media.MediaDrm.OnEventListener);
+    method public void setOnEventListener(@Nullable android.media.MediaDrm.OnEventListener, @Nullable android.os.Handler);
+    method public void setOnEventListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaDrm.OnEventListener);
     method public void setOnExpirationUpdateListener(@Nullable android.media.MediaDrm.OnExpirationUpdateListener, @Nullable android.os.Handler);
+    method public void setOnExpirationUpdateListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaDrm.OnExpirationUpdateListener);
     method public void setOnKeyStatusChangeListener(@Nullable android.media.MediaDrm.OnKeyStatusChangeListener, @Nullable android.os.Handler);
+    method public void setOnKeyStatusChangeListener(@NonNull java.util.concurrent.Executor, @NonNull android.media.MediaDrm.OnKeyStatusChangeListener);
     method public void setOnSessionLostStateListener(@Nullable android.media.MediaDrm.OnSessionLostStateListener, @Nullable android.os.Handler);
+    method public void setOnSessionLostStateListener(@NonNull java.util.concurrent.Executor, @Nullable android.media.MediaDrm.OnSessionLostStateListener);
     method public void setPropertyByteArray(@NonNull String, @NonNull byte[]);
     method public void setPropertyString(@NonNull String, @NonNull String);
     field @Deprecated public static final int EVENT_KEY_EXPIRED = 3; // 0x3
@@ -24827,7 +24848,7 @@
     method public boolean verify(@NonNull byte[], @NonNull byte[], @NonNull byte[]);
   }
 
-  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @IntDef({android.media.MediaDrm.HDCP_LEVEL_UNKNOWN, android.media.MediaDrm.HDCP_NONE, android.media.MediaDrm.HDCP_V1, android.media.MediaDrm.HDCP_V2, android.media.MediaDrm.HDCP_V2_1, android.media.MediaDrm.HDCP_V2_2, android.media.MediaDrm.HDCP_V2_3, android.media.MediaDrm.HDCP_NO_DIGITAL_OUTPUT}) public static @interface MediaDrm.HdcpLevel {
+  @Deprecated @IntDef({android.media.MediaDrm.HDCP_LEVEL_UNKNOWN, android.media.MediaDrm.HDCP_NONE, android.media.MediaDrm.HDCP_V1, android.media.MediaDrm.HDCP_V2, android.media.MediaDrm.HDCP_V2_1, android.media.MediaDrm.HDCP_V2_2, android.media.MediaDrm.HDCP_V2_3, android.media.MediaDrm.HDCP_NO_DIGITAL_OUTPUT}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaDrm.HdcpLevel {
   }
 
   public static final class MediaDrm.KeyRequest {
@@ -24914,7 +24935,7 @@
     method @NonNull public String getDefaultUrl();
   }
 
-  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @IntDef({android.media.MediaDrm.SECURITY_LEVEL_UNKNOWN, android.media.MediaDrm.SECURITY_LEVEL_SW_SECURE_CRYPTO, android.media.MediaDrm.SECURITY_LEVEL_SW_SECURE_DECODE, android.media.MediaDrm.SECURITY_LEVEL_HW_SECURE_CRYPTO, android.media.MediaDrm.SECURITY_LEVEL_HW_SECURE_DECODE, android.media.MediaDrm.SECURITY_LEVEL_HW_SECURE_ALL}) public static @interface MediaDrm.SecurityLevel {
+  @Deprecated @IntDef({android.media.MediaDrm.SECURITY_LEVEL_UNKNOWN, android.media.MediaDrm.SECURITY_LEVEL_SW_SECURE_CRYPTO, android.media.MediaDrm.SECURITY_LEVEL_SW_SECURE_DECODE, android.media.MediaDrm.SECURITY_LEVEL_HW_SECURE_CRYPTO, android.media.MediaDrm.SECURITY_LEVEL_HW_SECURE_DECODE, android.media.MediaDrm.SECURITY_LEVEL_HW_SECURE_ALL}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface MediaDrm.SecurityLevel {
   }
 
   public static final class MediaDrm.SessionException extends java.lang.RuntimeException {
@@ -25137,7 +25158,7 @@
     field public static final long POSITION_UNKNOWN = 576460752303423487L; // 0x7ffffffffffffffL
   }
 
-  public static class MediaItem2.Builder {
+  public static final class MediaItem2.Builder {
     ctor public MediaItem2.Builder();
     method @NonNull public android.media.MediaItem2 build();
     method @NonNull public android.media.MediaItem2.Builder setEndPosition(long);
@@ -25678,14 +25699,14 @@
   public static class MediaPlayer2.DrmEventCallback {
     ctor public MediaPlayer2.DrmEventCallback();
     method public void onDrmConfig(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaDrm);
-    method public android.media.MediaPlayer2.DrmPreparationInfo onDrmInfo(android.media.MediaPlayer2, android.media.DataSourceDesc, android.media.MediaPlayer2.DrmInfo);
-    method public byte[] onDrmKeyRequest(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaDrm.KeyRequest);
+    method @Nullable public android.media.MediaPlayer2.DrmPreparationInfo onDrmInfo(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaPlayer2.DrmInfo);
+    method @NonNull public byte[] onDrmKeyRequest(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, @NonNull android.media.MediaDrm.KeyRequest);
     method public void onDrmPrepared(@NonNull android.media.MediaPlayer2, @NonNull android.media.DataSourceDesc, int, @Nullable byte[]);
   }
 
   public static final class MediaPlayer2.DrmInfo {
-    method public java.util.Map<java.util.UUID,byte[]> getPssh();
-    method public java.util.List<java.util.UUID> getSupportedSchemes();
+    method @NonNull public java.util.Map<java.util.UUID,byte[]> getPssh();
+    method @NonNull public java.util.List<java.util.UUID> getSupportedSchemes();
   }
 
   public static final class MediaPlayer2.DrmPreparationInfo {
@@ -25693,13 +25714,13 @@
 
   public static final class MediaPlayer2.DrmPreparationInfo.Builder {
     ctor public MediaPlayer2.DrmPreparationInfo.Builder();
-    method public android.media.MediaPlayer2.DrmPreparationInfo build();
-    method public android.media.MediaPlayer2.DrmPreparationInfo.Builder setInitData(@Nullable byte[]);
-    method public android.media.MediaPlayer2.DrmPreparationInfo.Builder setKeySetId(@Nullable byte[]);
-    method public android.media.MediaPlayer2.DrmPreparationInfo.Builder setKeyType(int);
-    method public android.media.MediaPlayer2.DrmPreparationInfo.Builder setMimeType(@Nullable String);
-    method public android.media.MediaPlayer2.DrmPreparationInfo.Builder setOptionalParameters(@Nullable java.util.Map<java.lang.String,java.lang.String>);
-    method public android.media.MediaPlayer2.DrmPreparationInfo.Builder setUuid(@NonNull java.util.UUID);
+    method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo build();
+    method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setInitData(@Nullable byte[]);
+    method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setKeySetId(@Nullable byte[]);
+    method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setKeyType(int);
+    method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setMimeType(@Nullable String);
+    method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setOptionalParameters(@Nullable java.util.Map<java.lang.String,java.lang.String>);
+    method @NonNull public android.media.MediaPlayer2.DrmPreparationInfo.Builder setUuid(@NonNull java.util.UUID);
   }
 
   public static class MediaPlayer2.EventCallback {
@@ -25730,12 +25751,12 @@
   }
 
   public static final class MediaPlayer2.NoDrmSchemeException extends android.media.MediaDrmException {
-    ctor public MediaPlayer2.NoDrmSchemeException(String);
+    ctor public MediaPlayer2.NoDrmSchemeException(@Nullable String);
   }
 
   public static class MediaPlayer2.TrackInfo {
     method @Nullable public android.media.MediaFormat getFormat();
-    method @Nullable public String getLanguage();
+    method @NonNull public String getLanguage();
     method public int getTrackType();
     field public static final int MEDIA_TRACK_TYPE_AUDIO = 2; // 0x2
     field public static final int MEDIA_TRACK_TYPE_METADATA = 5; // 0x5
@@ -25744,7 +25765,7 @@
     field public static final int MEDIA_TRACK_TYPE_VIDEO = 1; // 0x1
   }
 
-  public class MediaRecorder implements android.media.AudioRecordingMonitor android.media.AudioRouting {
+  public class MediaRecorder implements android.media.AudioRecordingMonitor android.media.AudioRouting android.media.MicrophoneDirection {
     ctor public MediaRecorder();
     method public void addOnRoutingChangedListener(android.media.AudioRouting.OnRoutingChangedListener, android.os.Handler);
     method protected void finalize();
@@ -25774,6 +25795,8 @@
     method public void setLocation(float, float);
     method public void setMaxDuration(int) throws java.lang.IllegalArgumentException;
     method public void setMaxFileSize(long) throws java.lang.IllegalArgumentException;
+    method public boolean setMicrophoneDirection(int);
+    method public boolean setMicrophoneFieldDimension(@FloatRange(from=-1.0, to=1.0) float);
     method public void setNextOutputFile(java.io.FileDescriptor) throws java.io.IOException;
     method public void setNextOutputFile(java.io.File) throws java.io.IOException;
     method public void setOnErrorListener(android.media.MediaRecorder.OnErrorListener);
@@ -26404,7 +26427,7 @@
   public final class Session2Token implements android.os.Parcelable {
     ctor public Session2Token(@NonNull android.content.Context, @NonNull android.content.ComponentName);
     method public int describeContents();
-    method @Nullable public android.os.Bundle getExtras();
+    method @NonNull public android.os.Bundle getExtras();
     method @NonNull public String getPackageName();
     method @Nullable public String getServiceName();
     method public int getType();
@@ -28735,10 +28758,9 @@
   }
 
   public final class DnsResolver {
-    method public static android.net.DnsResolver getInstance();
-    method public void query(@Nullable android.net.Network, @NonNull byte[], int, @NonNull android.os.Handler, @NonNull android.net.DnsResolver.RawAnswerListener) throws android.system.ErrnoException;
-    method public void query(@Nullable android.net.Network, @NonNull String, int, int, int, @NonNull android.os.Handler, @NonNull android.net.DnsResolver.RawAnswerListener) throws android.system.ErrnoException;
-    method public void query(@Nullable android.net.Network, @NonNull String, int, @NonNull android.os.Handler, @NonNull android.net.DnsResolver.InetAddressAnswerListener) throws android.system.ErrnoException;
+    method @NonNull public static android.net.DnsResolver getInstance();
+    method public <T> void query(@Nullable android.net.Network, @NonNull byte[], int, @NonNull java.util.concurrent.Executor, @NonNull android.net.DnsResolver.AnswerCallback<T>);
+    method public <T> void query(@Nullable android.net.Network, @NonNull String, int, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.DnsResolver.AnswerCallback<T>);
     field public static final int CLASS_IN = 1; // 0x1
     field public static final int FLAG_EMPTY = 0; // 0x0
     field public static final int FLAG_NO_CACHE_LOOKUP = 4; // 0x4
@@ -28748,12 +28770,23 @@
     field public static final int TYPE_AAAA = 28; // 0x1c
   }
 
-  public static interface DnsResolver.InetAddressAnswerListener {
-    method public void onAnswer(@NonNull java.util.List<java.net.InetAddress>);
+  public abstract static class DnsResolver.AnswerCallback<T> {
+    ctor public DnsResolver.AnswerCallback(@NonNull android.net.DnsResolver.AnswerParser<T>);
+    method public abstract void onAnswer(@NonNull T);
+    method public abstract void onParseException(@NonNull android.net.ParseException);
+    method public abstract void onQueryException(@NonNull android.system.ErrnoException);
   }
 
-  public static interface DnsResolver.RawAnswerListener {
-    method public void onAnswer(@Nullable byte[]);
+  public static interface DnsResolver.AnswerParser<T> {
+    method @NonNull public T parse(@NonNull byte[]) throws android.net.ParseException;
+  }
+
+  public abstract static class DnsResolver.InetAddressAnswerCallback extends android.net.DnsResolver.AnswerCallback<java.util.List<java.net.InetAddress>> {
+    ctor public DnsResolver.InetAddressAnswerCallback();
+  }
+
+  public abstract static class DnsResolver.RawAnswerCallback extends android.net.DnsResolver.AnswerCallback<byte[]> {
+    ctor public DnsResolver.RawAnswerCallback();
   }
 
   public class InetAddresses {
@@ -29068,6 +29101,8 @@
   }
 
   public class ParseException extends java.lang.RuntimeException {
+    ctor public ParseException(@NonNull String);
+    ctor public ParseException(@NonNull String, @NonNull Throwable);
     field public String response;
   }
 
@@ -29232,7 +29267,7 @@
     method public abstract boolean isRelative();
     method public android.net.Uri normalizeScheme();
     method public static android.net.Uri parse(String);
-    method public String toSafeString();
+    method @NonNull public String toSafeString();
     method public abstract String toString();
     method public static android.net.Uri withAppendedPath(android.net.Uri, String);
     method public static void writeToParcel(android.os.Parcel, android.net.Uri);
@@ -29803,13 +29838,13 @@
     field @Deprecated public String BSSID;
     field @Deprecated public String FQDN;
     field @Deprecated public String SSID;
-    field @Deprecated public java.util.BitSet allowedAuthAlgorithms;
-    field @Deprecated public java.util.BitSet allowedGroupCiphers;
-    field @Deprecated public java.util.BitSet allowedGroupManagementCiphers;
-    field @Deprecated public java.util.BitSet allowedKeyManagement;
-    field @Deprecated public java.util.BitSet allowedPairwiseCiphers;
-    field @Deprecated public java.util.BitSet allowedProtocols;
-    field @Deprecated public java.util.BitSet allowedSuiteBCiphers;
+    field @Deprecated @NonNull public java.util.BitSet allowedAuthAlgorithms;
+    field @Deprecated @NonNull public java.util.BitSet allowedGroupCiphers;
+    field @Deprecated @NonNull public java.util.BitSet allowedGroupManagementCiphers;
+    field @Deprecated @NonNull public java.util.BitSet allowedKeyManagement;
+    field @Deprecated @NonNull public java.util.BitSet allowedPairwiseCiphers;
+    field @Deprecated @NonNull public java.util.BitSet allowedProtocols;
+    field @Deprecated @NonNull public java.util.BitSet allowedSuiteBCiphers;
     field @Deprecated public android.net.wifi.WifiEnterpriseConfig enterpriseConfig;
     field @Deprecated public boolean hiddenSSID;
     field @Deprecated public boolean isHomeProviderNetwork;
@@ -29951,6 +29986,8 @@
     method public int getLinkSpeed();
     method public String getMacAddress();
     method public int getNetworkId();
+    method @Nullable public String getPasspointFqdn();
+    method @Nullable public String getPasspointProviderFriendlyName();
     method public int getRssi();
     method @IntRange(from=0xffffffff) public int getRxLinkSpeedMbps();
     method public String getSSID();
@@ -30098,11 +30135,11 @@
 
   public static final class WifiNetworkSpecifier.Builder {
     ctor public WifiNetworkSpecifier.Builder();
-    method @NonNull public android.net.NetworkSpecifier build();
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier build();
     method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssid(@NonNull android.net.MacAddress);
     method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setBssidPattern(@NonNull android.net.MacAddress, @NonNull android.net.MacAddress);
-    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsEnhancedOpen();
-    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsHiddenSsid();
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsEnhancedOpen(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setIsHiddenSsid(boolean);
     method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsid(@NonNull String);
     method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setSsidPattern(@NonNull android.os.PatternMatcher);
     method @NonNull public android.net.wifi.WifiNetworkSpecifier.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
@@ -30121,12 +30158,12 @@
     ctor public WifiNetworkSuggestion.Builder();
     method @NonNull public android.net.wifi.WifiNetworkSuggestion build();
     method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setBssid(@NonNull android.net.MacAddress);
-    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsAppInteractionRequired();
-    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsEnhancedOpen();
-    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsHiddenSsid();
-    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsMetered();
-    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsUserInteractionRequired();
-    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriority(int);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsAppInteractionRequired(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsEnhancedOpen(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsHiddenSsid(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsMetered(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setIsUserInteractionRequired(boolean);
+    method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setPriority(@IntRange(from=0) int);
     method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setSsid(@NonNull String);
     method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2EnterpriseConfig(@NonNull android.net.wifi.WifiEnterpriseConfig);
     method @NonNull public android.net.wifi.WifiNetworkSuggestion.Builder setWpa2Passphrase(@NonNull String);
@@ -30196,7 +30233,7 @@
   }
 
   public final class ParcelablePeerHandle extends android.net.wifi.aware.PeerHandle implements android.os.Parcelable {
-    ctor public ParcelablePeerHandle(android.net.wifi.aware.PeerHandle);
+    ctor public ParcelablePeerHandle(@NonNull android.net.wifi.aware.PeerHandle);
     method public int describeContents();
     method public void writeToParcel(android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.ParcelablePeerHandle> CREATOR;
@@ -30264,16 +30301,6 @@
     field public static final int WIFI_AWARE_DATA_PATH_ROLE_RESPONDER = 1; // 0x1
   }
 
-  public static class WifiAwareManager.NetworkSpecifierBuilder {
-    ctor public WifiAwareManager.NetworkSpecifierBuilder();
-    method @NonNull public android.net.NetworkSpecifier build();
-    method @NonNull public android.net.wifi.aware.WifiAwareManager.NetworkSpecifierBuilder setDiscoverySession(@NonNull android.net.wifi.aware.DiscoverySession);
-    method @NonNull public android.net.wifi.aware.WifiAwareManager.NetworkSpecifierBuilder setPeerHandle(@NonNull android.net.wifi.aware.PeerHandle);
-    method @NonNull public android.net.wifi.aware.WifiAwareManager.NetworkSpecifierBuilder setPort(int);
-    method @NonNull public android.net.wifi.aware.WifiAwareManager.NetworkSpecifierBuilder setPskPassphrase(@NonNull String);
-    method @NonNull public android.net.wifi.aware.WifiAwareManager.NetworkSpecifierBuilder setTransportProtocol(int);
-  }
-
   public final class WifiAwareNetworkInfo implements android.os.Parcelable android.net.TransportInfo {
     method public int describeContents();
     method @Nullable public java.net.Inet6Address getPeerIpv6Addr();
@@ -30283,6 +30310,22 @@
     field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkInfo> CREATOR;
   }
 
+  public final class WifiAwareNetworkSpecifier extends android.net.NetworkSpecifier implements android.os.Parcelable {
+    method public int describeContents();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.aware.WifiAwareNetworkSpecifier> CREATOR;
+  }
+
+  public static final class WifiAwareNetworkSpecifier.Builder {
+    ctor public WifiAwareNetworkSpecifier.Builder();
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier build();
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setDiscoverySession(@NonNull android.net.wifi.aware.DiscoverySession);
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPeerHandle(@NonNull android.net.wifi.aware.PeerHandle);
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPort(int);
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPskPassphrase(@NonNull String);
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setTransportProtocol(int);
+  }
+
   public class WifiAwareSession implements java.lang.AutoCloseable {
     method public void close();
     method public android.net.NetworkSpecifier createNetworkSpecifierOpen(int, @NonNull byte[]);
@@ -30419,13 +30462,13 @@
 
   public static final class WifiP2pConfig.Builder {
     ctor public WifiP2pConfig.Builder();
-    method public android.net.wifi.p2p.WifiP2pConfig build();
-    method public android.net.wifi.p2p.WifiP2pConfig.Builder enablePersistentMode(boolean);
-    method public android.net.wifi.p2p.WifiP2pConfig.Builder setDeviceAddress(android.net.MacAddress);
-    method public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingBand(int);
-    method public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingFrequency(int);
-    method public android.net.wifi.p2p.WifiP2pConfig.Builder setNetworkName(String);
-    method public android.net.wifi.p2p.WifiP2pConfig.Builder setPassphrase(String);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig build();
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder enablePersistentMode(boolean);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setDeviceAddress(@Nullable android.net.MacAddress);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingBand(int);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setGroupOperatingFrequency(int);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setNetworkName(@NonNull String);
+    method @NonNull public android.net.wifi.p2p.WifiP2pConfig.Builder setPassphrase(@NonNull String);
   }
 
   public class WifiP2pDevice implements android.os.Parcelable {
@@ -30553,7 +30596,7 @@
   }
 
   public static interface WifiP2pManager.DeviceInfoListener {
-    method public void onDeviceInfoAvailable(android.net.wifi.p2p.WifiP2pDevice);
+    method public void onDeviceInfoAvailable(@Nullable android.net.wifi.p2p.WifiP2pDevice);
   }
 
   public static interface WifiP2pManager.DiscoveryStateListener {
@@ -30573,7 +30616,7 @@
   }
 
   public static interface WifiP2pManager.NetworkInfoListener {
-    method public void onNetworkInfoAvailable(android.net.NetworkInfo);
+    method public void onNetworkInfoAvailable(@NonNull android.net.NetworkInfo);
   }
 
   public static interface WifiP2pManager.P2pStateListener {
@@ -30635,6 +30678,41 @@
 
 package android.net.wifi.rtt {
 
+  public class CivicLocationKeys {
+    field public static final int ADDITIONAL_CODE = 32; // 0x20
+    field public static final int APT = 26; // 0x1a
+    field public static final int BOROUGH = 4; // 0x4
+    field public static final int BRANCH_ROAD_NAME = 36; // 0x24
+    field public static final int BUILDING = 25; // 0x19
+    field public static final int CITY = 3; // 0x3
+    field public static final int COUNTY = 2; // 0x2
+    field public static final int DESK = 33; // 0x21
+    field public static final int FLOOR = 27; // 0x1b
+    field public static final int GROUP_OF_STREETS = 6; // 0x6
+    field public static final int HNO = 19; // 0x13
+    field public static final int HNS = 20; // 0x14
+    field public static final int LANGUAGE = 0; // 0x0
+    field public static final int LMK = 21; // 0x15
+    field public static final int LOC = 22; // 0x16
+    field public static final int NAM = 23; // 0x17
+    field public static final int NEIGHBORHOOD = 5; // 0x5
+    field public static final int PCN = 30; // 0x1e
+    field public static final int POD = 17; // 0x11
+    field public static final int POSTAL_CODE = 24; // 0x18
+    field public static final int PO_BOX = 31; // 0x1f
+    field public static final int PRD = 16; // 0x10
+    field public static final int PRIMARY_ROAD_NAME = 34; // 0x22
+    field public static final int ROAD_SECTION = 35; // 0x23
+    field public static final int ROOM = 28; // 0x1c
+    field public static final int SCRIPT = 128; // 0x80
+    field public static final int STATE = 1; // 0x1
+    field public static final int STREET_NAME_POST_MODIFIER = 39; // 0x27
+    field public static final int STREET_NAME_PRE_MODIFIER = 38; // 0x26
+    field public static final int STS = 18; // 0x12
+    field public static final int SUBBRANCH_ROAD_NAME = 37; // 0x25
+    field public static final int TYPE_OF_PLACE = 29; // 0x1d
+  }
+
   public final class RangingRequest implements android.os.Parcelable {
     method public int describeContents();
     method public static int getMaxPeers();
@@ -30660,9 +30738,9 @@
     method public int getNumSuccessfulMeasurements();
     method @Nullable public android.net.wifi.aware.PeerHandle getPeerHandle();
     method public long getRangingTimestampMillis();
-    method @Nullable public android.net.wifi.rtt.ResponderLocation getResponderLocation();
     method public int getRssi();
     method public int getStatus();
+    method @Nullable public android.net.wifi.rtt.ResponderLocation getUnverifiedResponderLocation();
     method public void writeToParcel(android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.rtt.RangingResult> CREATOR;
     field public static final int STATUS_FAIL = 1; // 0x1
@@ -30685,19 +30763,25 @@
     method public double getAltitudeUncertainty();
     method public java.util.List<android.net.MacAddress> getColocatedBssids();
     method public int getDatum();
+    method public boolean getDependentStationIndication();
     method public int getExpectedToMove();
+    method public double getFloorNumber();
+    method public double getHeightAboveFloorMeters();
+    method public double getHeightAboveFloorUncertaintyMeters();
     method public double getLatitude();
     method public double getLatitudeUncertainty();
-    method public int getLciFlags();
+    method public int getLciVersion();
     method public double getLongitude();
     method public double getLongitudeUncertainty();
-    method public int getMapImageType();
-    method @Nullable public java.net.URL getMapImageUrl();
-    method public double getStaFloorNumber();
-    method public double getStaHeightAboveFloorMeters();
-    method public double getStaHeightAboveFloorUncertaintyMeters();
+    method @Nullable public String getMapImageMimeType();
+    method @Nullable public android.net.Uri getMapImageUri();
+    method public boolean getRegisteredLocationAgreementIndication();
+    method public boolean getRegisteredLocationDseIndication();
     method public boolean isLciSubelementValid();
-    method public boolean isZsubelementValid();
+    method public boolean isZaxisSubelementValid();
+    method @Nullable public android.location.Address toCivicLocationAddress();
+    method @Nullable public android.util.SparseArray toCivicLocationSparseArray();
+    method @NonNull public android.location.Location toLocation();
     method public void writeToParcel(android.os.Parcel, int);
     field public static final int ALTITUDE_FLOORS = 2; // 0x2
     field public static final int ALTITUDE_METERS = 1; // 0x1
@@ -30707,33 +30791,11 @@
     field public static final int DATUM_NAD83_NAV88 = 2; // 0x2
     field public static final int DATUM_UNDEFINED = 0; // 0x0
     field public static final int DATUM_WGS84 = 1; // 0x1
-    field public static final int LCI_FLAGS_MASK_DEPENDENT_STA = 4; // 0x4
-    field public static final int LCI_FLAGS_MASK_REGLOC_AGREEMENT = 16; // 0x10
-    field public static final int LCI_FLAGS_MASK_REGLOC_DSE = 8; // 0x8
-    field public static final int LCI_FLAGS_MASK_VERSION = 3; // 0x3
     field public static final int LCI_VERSION_1 = 1; // 0x1
     field public static final int LOCATION_FIXED = 0; // 0x0
     field public static final int LOCATION_MOVEMENT_UNKNOWN = 2; // 0x2
     field public static final int LOCATION_RESERVED = 3; // 0x3
     field public static final int LOCATION_VARIABLE = 1; // 0x1
-    field public static final int MAP_TYPE_BMP = 12; // 0xc
-    field public static final int MAP_TYPE_CAD = 8; // 0x8
-    field public static final int MAP_TYPE_DWF = 7; // 0x7
-    field public static final int MAP_TYPE_DWG = 6; // 0x6
-    field public static final int MAP_TYPE_DXF = 5; // 0x5
-    field public static final int MAP_TYPE_GIF = 2; // 0x2
-    field public static final int MAP_TYPE_GML = 10; // 0xa
-    field public static final int MAP_TYPE_ICO = 17; // 0x11
-    field public static final int MAP_TYPE_JPG = 3; // 0x3
-    field public static final int MAP_TYPE_KML = 11; // 0xb
-    field public static final int MAP_TYPE_PGM = 13; // 0xd
-    field public static final int MAP_TYPE_PNG = 1; // 0x1
-    field public static final int MAP_TYPE_PPM = 14; // 0xe
-    field public static final int MAP_TYPE_SVG = 4; // 0x4
-    field public static final int MAP_TYPE_TIFF = 9; // 0x9
-    field public static final int MAP_TYPE_URL_DEFINED = 0; // 0x0
-    field public static final int MAP_TYPE_XBM = 15; // 0xf
-    field public static final int MAP_TYPE_XPM = 16; // 0x10
   }
 
   public class WifiRttManager {
@@ -30800,7 +30862,6 @@
   }
 
   public final class NfcAdapter {
-    method public boolean deviceSupportsNfcSecure();
     method public void disableForegroundDispatch(android.app.Activity);
     method @Deprecated public void disableForegroundNdefPush(android.app.Activity);
     method public void disableReaderMode(android.app.Activity);
@@ -30813,7 +30874,8 @@
     method @Deprecated public boolean invokeBeam(android.app.Activity);
     method public boolean isEnabled();
     method @Deprecated public boolean isNdefPushEnabled();
-    method public boolean isNfcSecureEnabled();
+    method public boolean isSecureNfcEnabled();
+    method public boolean isSecureNfcSupported();
     method @Deprecated public void setBeamPushUris(android.net.Uri[], android.app.Activity);
     method @Deprecated public void setBeamPushUrisCallback(android.nfc.NfcAdapter.CreateBeamUrisCallback, android.app.Activity);
     method @Deprecated public void setNdefPushMessage(android.nfc.NdefMessage, android.app.Activity, android.app.Activity...);
@@ -30901,10 +30963,10 @@
     method public boolean isDefaultServiceForCategory(android.content.ComponentName, String);
     method public boolean registerAidsForService(android.content.ComponentName, String, java.util.List<java.lang.String>);
     method public boolean removeAidsForService(android.content.ComponentName, String);
-    method public boolean setOffHostForService(android.content.ComponentName, String);
+    method public boolean setOffHostForService(@NonNull android.content.ComponentName, @NonNull String);
     method public boolean setPreferredService(android.app.Activity, android.content.ComponentName);
     method public boolean supportsAidPrefixRegistration();
-    method public boolean unsetOffHostForService(android.content.ComponentName);
+    method public boolean unsetOffHostForService(@NonNull android.content.ComponentName);
     method public boolean unsetPreferredService(android.app.Activity);
     field public static final String ACTION_CHANGE_DEFAULT = "android.nfc.cardemulation.action.ACTION_CHANGE_DEFAULT";
     field public static final String CATEGORY_OTHER = "other";
@@ -34666,46 +34728,46 @@
 
   public class Handler {
     ctor public Handler();
-    ctor public Handler(android.os.Handler.Callback);
-    ctor public Handler(android.os.Looper);
-    ctor public Handler(android.os.Looper, android.os.Handler.Callback);
+    ctor public Handler(@Nullable android.os.Handler.Callback);
+    ctor public Handler(@NonNull android.os.Looper);
+    ctor public Handler(@NonNull android.os.Looper, @Nullable android.os.Handler.Callback);
     method @NonNull public static android.os.Handler createAsync(@NonNull android.os.Looper);
     method @NonNull public static android.os.Handler createAsync(@NonNull android.os.Looper, @NonNull android.os.Handler.Callback);
-    method public void dispatchMessage(android.os.Message);
-    method public final void dump(android.util.Printer, String);
-    method public final android.os.Looper getLooper();
-    method public String getMessageName(android.os.Message);
-    method public void handleMessage(android.os.Message);
-    method public final boolean hasCallbacks(Runnable);
+    method public void dispatchMessage(@NonNull android.os.Message);
+    method public final void dump(@NonNull android.util.Printer, @NonNull String);
+    method @NonNull public final android.os.Looper getLooper();
+    method @NonNull public String getMessageName(@NonNull android.os.Message);
+    method public void handleMessage(@NonNull android.os.Message);
+    method public final boolean hasCallbacks(@NonNull Runnable);
     method public final boolean hasMessages(int);
-    method public final boolean hasMessages(int, Object);
-    method public final android.os.Message obtainMessage();
-    method public final android.os.Message obtainMessage(int);
-    method public final android.os.Message obtainMessage(int, Object);
-    method public final android.os.Message obtainMessage(int, int, int);
-    method public final android.os.Message obtainMessage(int, int, int, Object);
-    method public final boolean post(Runnable);
-    method public final boolean postAtFrontOfQueue(Runnable);
-    method public final boolean postAtTime(Runnable, long);
-    method public final boolean postAtTime(Runnable, Object, long);
-    method public final boolean postDelayed(Runnable, long);
-    method public final boolean postDelayed(Runnable, Object, long);
-    method public final void removeCallbacks(Runnable);
-    method public final void removeCallbacks(Runnable, Object);
-    method public final void removeCallbacksAndMessages(Object);
+    method public final boolean hasMessages(int, @Nullable Object);
+    method @NonNull public final android.os.Message obtainMessage();
+    method @NonNull public final android.os.Message obtainMessage(int);
+    method @NonNull public final android.os.Message obtainMessage(int, @Nullable Object);
+    method @NonNull public final android.os.Message obtainMessage(int, int, int);
+    method @NonNull public final android.os.Message obtainMessage(int, int, int, @Nullable Object);
+    method public final boolean post(@NonNull Runnable);
+    method public final boolean postAtFrontOfQueue(@NonNull Runnable);
+    method public final boolean postAtTime(@NonNull Runnable, long);
+    method public final boolean postAtTime(@NonNull Runnable, @Nullable Object, long);
+    method public final boolean postDelayed(@NonNull Runnable, long);
+    method public final boolean postDelayed(@NonNull Runnable, @Nullable Object, long);
+    method public final void removeCallbacks(@NonNull Runnable);
+    method public final void removeCallbacks(@NonNull Runnable, @Nullable Object);
+    method public final void removeCallbacksAndMessages(@Nullable Object);
     method public final void removeMessages(int);
-    method public final void removeMessages(int, Object);
+    method public final void removeMessages(int, @Nullable Object);
     method public final boolean sendEmptyMessage(int);
     method public final boolean sendEmptyMessageAtTime(int, long);
     method public final boolean sendEmptyMessageDelayed(int, long);
-    method public final boolean sendMessage(android.os.Message);
-    method public final boolean sendMessageAtFrontOfQueue(android.os.Message);
-    method public boolean sendMessageAtTime(android.os.Message, long);
-    method public final boolean sendMessageDelayed(android.os.Message, long);
+    method public final boolean sendMessage(@NonNull android.os.Message);
+    method public final boolean sendMessageAtFrontOfQueue(@NonNull android.os.Message);
+    method public boolean sendMessageAtTime(@NonNull android.os.Message, long);
+    method public final boolean sendMessageDelayed(@NonNull android.os.Message, long);
   }
 
   public static interface Handler.Callback {
-    method public boolean handleMessage(android.os.Message);
+    method public boolean handleMessage(@NonNull android.os.Message);
   }
 
   public class HandlerThread extends java.lang.Thread {
@@ -35112,6 +35174,8 @@
   }
 
   public final class PowerManager {
+    method public void addThermalStatusListener(@NonNull android.os.PowerManager.OnThermalStatusChangedListener);
+    method public void addThermalStatusListener(@NonNull java.util.concurrent.Executor, @NonNull android.os.PowerManager.OnThermalStatusChangedListener);
     method public int getCurrentThermalStatus();
     method public int getLocationPowerSaveMode();
     method public boolean isDeviceIdleMode();
@@ -35123,8 +35187,7 @@
     method public boolean isWakeLockLevelSupported(int);
     method public android.os.PowerManager.WakeLock newWakeLock(int, String);
     method public void reboot(String);
-    method public void registerThermalStatusCallback(@NonNull android.os.PowerManager.ThermalStatusCallback, @NonNull java.util.concurrent.Executor);
-    method public void unregisterThermalStatusCallback(@NonNull android.os.PowerManager.ThermalStatusCallback);
+    method public void removeThermalStatusListener(@NonNull android.os.PowerManager.OnThermalStatusChangedListener);
     field public static final int ACQUIRE_CAUSES_WAKEUP = 268435456; // 0x10000000
     field public static final String ACTION_DEVICE_IDLE_MODE_CHANGED = "android.os.action.DEVICE_IDLE_MODE_CHANGED";
     field public static final String ACTION_POWER_SAVE_MODE_CHANGED = "android.os.action.POWER_SAVE_MODE_CHANGED";
@@ -35149,9 +35212,8 @@
     field public static final int THERMAL_STATUS_SHUTDOWN = 6; // 0x6
   }
 
-  public abstract static class PowerManager.ThermalStatusCallback {
-    ctor public PowerManager.ThermalStatusCallback();
-    method public void onStatusChange(int);
+  public static interface PowerManager.OnThermalStatusChangedListener {
+    method public void onThermalStatusChanged(int);
   }
 
   public final class PowerManager.WakeLock {
@@ -35475,6 +35537,7 @@
     field public static final String DISALLOW_CONFIG_VPN = "no_config_vpn";
     field public static final String DISALLOW_CONFIG_WIFI = "no_config_wifi";
     field public static final String DISALLOW_CONTENT_CAPTURE = "no_content_capture";
+    field public static final String DISALLOW_CONTENT_SUGGESTIONS = "no_content_suggestions";
     field public static final String DISALLOW_CREATE_WINDOWS = "no_create_windows";
     field public static final String DISALLOW_CROSS_PROFILE_COPY_PASTE = "no_cross_profile_copy_paste";
     field public static final String DISALLOW_DATA_ROAMING = "no_data_roaming";
@@ -35523,7 +35586,7 @@
 
   public abstract class VibrationEffect implements android.os.Parcelable {
     method public static android.os.VibrationEffect createOneShot(long, int);
-    method public static android.os.VibrationEffect createPredefined(int);
+    method @NonNull public static android.os.VibrationEffect createPredefined(int);
     method public static android.os.VibrationEffect createWaveform(long[], int);
     method public static android.os.VibrationEffect createWaveform(long[], int[], int);
     method public int describeContents();
@@ -36823,7 +36886,7 @@
     field public static final String CALENDAR_LOCATION = "calendar_location";
     field public static final android.net.Uri CONTENT_URI;
     field public static final String DEFAULT_SORT_ORDER = "calendar_displayName";
-    field public static final android.net.Uri ENTERPRISE_CONTENT_URI;
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_URI;
     field public static final String NAME = "name";
   }
 
@@ -36852,7 +36915,7 @@
   public static final class CalendarContract.Events implements android.provider.BaseColumns android.provider.CalendarContract.CalendarColumns android.provider.CalendarContract.EventsColumns android.provider.CalendarContract.SyncColumns {
     field public static final android.net.Uri CONTENT_EXCEPTION_URI;
     field public static final android.net.Uri CONTENT_URI;
-    field public static final android.net.Uri ENTERPRISE_CONTENT_URI;
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_URI;
   }
 
   protected static interface CalendarContract.EventsColumns {
@@ -36944,10 +37007,10 @@
     field public static final String END = "end";
     field public static final String END_DAY = "endDay";
     field public static final String END_MINUTE = "endMinute";
-    field public static final android.net.Uri ENTERPRISE_CONTENT_BY_DAY_URI;
-    field public static final android.net.Uri ENTERPRISE_CONTENT_SEARCH_BY_DAY_URI;
-    field public static final android.net.Uri ENTERPRISE_CONTENT_SEARCH_URI;
-    field public static final android.net.Uri ENTERPRISE_CONTENT_URI;
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_BY_DAY_URI;
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_SEARCH_BY_DAY_URI;
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_SEARCH_URI;
+    field @NonNull public static final android.net.Uri ENTERPRISE_CONTENT_URI;
     field public static final String EVENT_ID = "event_id";
     field public static final String START_DAY = "startDay";
     field public static final String START_MINUTE = "startMinute";
@@ -38327,10 +38390,10 @@
     method public android.database.Cursor queryChildDocuments(String, @Nullable String[], @Nullable android.os.Bundle) throws java.io.FileNotFoundException;
     method public abstract android.database.Cursor queryDocument(String, String[]) throws java.io.FileNotFoundException;
     method public android.database.Cursor queryRecentDocuments(String, String[]) throws java.io.FileNotFoundException;
-    method public android.database.Cursor queryRecentDocuments(String, String[], @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
+    method @Nullable public android.database.Cursor queryRecentDocuments(@NonNull String, @Nullable String[], @Nullable android.os.Bundle, @Nullable android.os.CancellationSignal) throws java.io.FileNotFoundException;
     method public abstract android.database.Cursor queryRoots(String[]) throws java.io.FileNotFoundException;
     method public android.database.Cursor querySearchDocuments(String, String, String[]) throws java.io.FileNotFoundException;
-    method public android.database.Cursor querySearchDocuments(@NonNull String, @Nullable String[], @NonNull android.os.Bundle) throws java.io.FileNotFoundException;
+    method @Nullable public android.database.Cursor querySearchDocuments(@NonNull String, @Nullable String[], @NonNull android.os.Bundle) throws java.io.FileNotFoundException;
     method public void removeDocument(String, String) throws java.io.FileNotFoundException;
     method public String renameDocument(String, String) throws java.io.FileNotFoundException;
     method public final void revokeDocumentPermission(String);
@@ -38428,7 +38491,7 @@
     field public static final String ACTION_REVIEW_SECURE = "android.provider.action.REVIEW_SECURE";
     field public static final String ACTION_VIDEO_CAPTURE = "android.media.action.VIDEO_CAPTURE";
     field public static final String AUTHORITY = "media";
-    field public static final android.net.Uri AUTHORITY_URI;
+    field @NonNull public static final android.net.Uri AUTHORITY_URI;
     field public static final String EXTRA_BRIGHTNESS = "android.provider.extra.BRIGHTNESS";
     field public static final String EXTRA_DURATION_LIMIT = "android.intent.extra.durationLimit";
     field public static final String EXTRA_FINISH_ON_COMPLETION = "android.intent.extra.finishOnCompletion";
@@ -38944,6 +39007,7 @@
     field public static final String ACTION_INTERNET_CONNECTIVITY = "android.settings.panel.action.INTERNET_CONNECTIVITY";
     field public static final String ACTION_NFC = "android.settings.panel.action.NFC";
     field public static final String ACTION_VOLUME = "android.settings.panel.action.VOLUME";
+    field public static final String ACTION_WIFI = "android.settings.panel.action.WIFI";
   }
 
   public static final class Settings.Secure extends android.provider.Settings.NameValueTable {
@@ -39246,13 +39310,13 @@
   }
 
   public static final class Telephony.CarrierId implements android.provider.BaseColumns {
-    method @NonNull public static android.net.Uri getPreciseCarrierIdUriForSubscriptionId(int);
+    method @NonNull public static android.net.Uri getSpecificCarrierIdUriForSubscriptionId(int);
     method public static android.net.Uri getUriForSubscriptionId(int);
     field public static final String CARRIER_ID = "carrier_id";
     field public static final String CARRIER_NAME = "carrier_name";
     field public static final android.net.Uri CONTENT_URI;
-    field public static final String PRECISE_CARRIER_ID = "precise_carrier_id";
-    field public static final String PRECISE_CARRIER_ID_NAME = "precise_carrier_id_name";
+    field public static final String SPECIFIC_CARRIER_ID = "specific_carrier_id";
+    field public static final String SPECIFIC_CARRIER_ID_NAME = "specific_carrier_id_name";
   }
 
   public static final class Telephony.Carriers implements android.provider.BaseColumns {
@@ -41387,7 +41451,7 @@
 
   public class CarrierIdentifier implements android.os.Parcelable {
     ctor public CarrierIdentifier(String, String, @Nullable String, @Nullable String, @Nullable String, @Nullable String);
-    ctor public CarrierIdentifier(String, String, @Nullable String, @Nullable String, @Nullable String, @Nullable String, int, int);
+    ctor public CarrierIdentifier(@NonNull String, @NonNull String, @Nullable String, @Nullable String, @Nullable String, @Nullable String, int, int);
     ctor public CarrierIdentifier(byte[], @Nullable String, @Nullable String);
     method public int describeContents();
     method public int getCarrierId();
@@ -41396,7 +41460,7 @@
     method @Nullable public String getImsi();
     method public String getMcc();
     method public String getMnc();
-    method public int getPreciseCarrierId();
+    method public int getSpecificCarrierId();
     method @Nullable public String getSpn();
     method public void writeToParcel(android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.service.carrier.CarrierIdentifier> CREATOR;
@@ -41595,23 +41659,6 @@
 
 package android.service.notification {
 
-  public final class Adjustment implements android.os.Parcelable {
-    ctor public Adjustment(@NonNull String, @NonNull String, @NonNull android.os.Bundle, @NonNull CharSequence, @NonNull android.os.UserHandle);
-    method public int describeContents();
-    method @NonNull public CharSequence getExplanation();
-    method @NonNull public String getKey();
-    method @NonNull public String getPackage();
-    method @NonNull public android.os.Bundle getSignals();
-    method @NonNull public android.os.UserHandle getUserHandle();
-    method public void writeToParcel(android.os.Parcel, int);
-    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR;
-    field public static final String KEY_CONTEXTUAL_ACTIONS = "key_contextual_actions";
-    field public static final String KEY_IMPORTANCE = "key_importance";
-    field public static final String KEY_SNOOZE_CRITERIA = "key_snooze_criteria";
-    field public static final String KEY_TEXT_REPLIES = "key_text_replies";
-    field public static final String KEY_USER_SENTIMENT = "key_user_sentiment";
-  }
-
   public final class Condition implements android.os.Parcelable {
     ctor public Condition(android.net.Uri, String, int);
     ctor public Condition(android.net.Uri, String, String, String, int, int, int);
@@ -41658,26 +41705,6 @@
     field @Deprecated public static final String SERVICE_INTERFACE = "android.service.notification.ConditionProviderService";
   }
 
-  public abstract class NotificationAssistantService extends android.service.notification.NotificationListenerService {
-    ctor public NotificationAssistantService();
-    method public final void adjustNotification(@NonNull android.service.notification.Adjustment);
-    method public final void adjustNotifications(@NonNull java.util.List<android.service.notification.Adjustment>);
-    method public void onActionInvoked(@NonNull String, @NonNull android.app.Notification.Action, int);
-    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
-    method public void onNotificationDirectReplied(@NonNull String);
-    method public abstract android.service.notification.Adjustment onNotificationEnqueued(android.service.notification.StatusBarNotification);
-    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel);
-    method public void onNotificationExpansionChanged(@NonNull String, boolean, boolean);
-    method public void onNotificationRemoved(@NonNull android.service.notification.StatusBarNotification, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.service.notification.NotificationStats, int);
-    method public abstract void onNotificationSnoozedUntilContext(android.service.notification.StatusBarNotification, String);
-    method public void onNotificationsSeen(@NonNull java.util.List<java.lang.String>);
-    method public void onSuggestedReplySent(@NonNull String, @NonNull CharSequence, int);
-    method public final void unsnoozeNotification(String);
-    field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationAssistantService";
-    field public static final int SOURCE_FROM_APP = 0; // 0x0
-    field public static final int SOURCE_FROM_ASSISTANT = 1; // 0x1
-  }
-
   public abstract class NotificationListenerService extends android.app.Service {
     ctor public NotificationListenerService();
     method public final void cancelAllNotifications();
@@ -41780,37 +41807,6 @@
     field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationListenerService.RankingMap> CREATOR;
   }
 
-  public final class NotificationStats implements android.os.Parcelable {
-    ctor public NotificationStats();
-    method public int describeContents();
-    method public int getDismissalSentiment();
-    method public int getDismissalSurface();
-    method public boolean hasDirectReplied();
-    method public boolean hasExpanded();
-    method public boolean hasInteracted();
-    method public boolean hasSeen();
-    method public boolean hasSnoozed();
-    method public boolean hasViewedSettings();
-    method public void setDirectReplied();
-    method public void setDismissalSentiment(int);
-    method public void setDismissalSurface(int);
-    method public void setExpanded();
-    method public void setSeen();
-    method public void setSnoozed();
-    method public void setViewedSettings();
-    method public void writeToParcel(android.os.Parcel, int);
-    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationStats> CREATOR;
-    field public static final int DISMISSAL_AOD = 2; // 0x2
-    field public static final int DISMISSAL_NOT_DISMISSED = -1; // 0xffffffff
-    field public static final int DISMISSAL_OTHER = 0; // 0x0
-    field public static final int DISMISSAL_PEEK = 1; // 0x1
-    field public static final int DISMISSAL_SHADE = 3; // 0x3
-    field public static final int DISMISS_SENTIMENT_NEGATIVE = 0; // 0x0
-    field public static final int DISMISS_SENTIMENT_NEUTRAL = 1; // 0x1
-    field public static final int DISMISS_SENTIMENT_POSITIVE = 2; // 0x2
-    field public static final int DISMISS_SENTIMENT_UNKNOWN = -1000; // 0xfffffc18
-  }
-
   public class StatusBarNotification implements android.os.Parcelable {
     ctor @Deprecated public StatusBarNotification(String, String, int, String, int, int, int, android.app.Notification, android.os.UserHandle, long);
     ctor public StatusBarNotification(android.os.Parcel);
@@ -41820,7 +41816,7 @@
     method public int getId();
     method public String getKey();
     method public android.app.Notification getNotification();
-    method public String getOpPkg();
+    method @NonNull public String getOpPkg();
     method public String getOverrideGroupKey();
     method public String getPackageName();
     method public long getPostTime();
@@ -41867,28 +41863,28 @@
     field public static final int STATE_UNSET = 0; // 0x0
   }
 
-  public static class ZenPolicy.Builder {
+  public static final class ZenPolicy.Builder {
     ctor public ZenPolicy.Builder();
-    method public android.service.notification.ZenPolicy.Builder allowAlarms(boolean);
-    method public android.service.notification.ZenPolicy.Builder allowAllSounds();
-    method public android.service.notification.ZenPolicy.Builder allowCalls(int);
-    method public android.service.notification.ZenPolicy.Builder allowEvents(boolean);
-    method public android.service.notification.ZenPolicy.Builder allowMedia(boolean);
-    method public android.service.notification.ZenPolicy.Builder allowMessages(int);
-    method public android.service.notification.ZenPolicy.Builder allowReminders(boolean);
-    method public android.service.notification.ZenPolicy.Builder allowRepeatCallers(boolean);
-    method public android.service.notification.ZenPolicy.Builder allowSystem(boolean);
-    method public android.service.notification.ZenPolicy build();
-    method public android.service.notification.ZenPolicy.Builder disallowAllSounds();
-    method public android.service.notification.ZenPolicy.Builder hideAllVisualEffects();
-    method public android.service.notification.ZenPolicy.Builder showAllVisualEffects();
-    method public android.service.notification.ZenPolicy.Builder showBadges(boolean);
-    method public android.service.notification.ZenPolicy.Builder showFullScreenIntent(boolean);
-    method public android.service.notification.ZenPolicy.Builder showInAmbientDisplay(boolean);
-    method public android.service.notification.ZenPolicy.Builder showInNotificationList(boolean);
-    method public android.service.notification.ZenPolicy.Builder showLights(boolean);
-    method public android.service.notification.ZenPolicy.Builder showPeeking(boolean);
-    method public android.service.notification.ZenPolicy.Builder showStatusBarIcons(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowAlarms(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowAllSounds();
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowCalls(int);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowEvents(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowMedia(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowMessages(int);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowReminders(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowRepeatCallers(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder allowSystem(boolean);
+    method @NonNull public android.service.notification.ZenPolicy build();
+    method @NonNull public android.service.notification.ZenPolicy.Builder disallowAllSounds();
+    method @NonNull public android.service.notification.ZenPolicy.Builder hideAllVisualEffects();
+    method @NonNull public android.service.notification.ZenPolicy.Builder showAllVisualEffects();
+    method @NonNull public android.service.notification.ZenPolicy.Builder showBadges(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showFullScreenIntent(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showInAmbientDisplay(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showInNotificationList(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showLights(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showPeeking(boolean);
+    method @NonNull public android.service.notification.ZenPolicy.Builder showStatusBarIcons(boolean);
   }
 
 }
@@ -43209,6 +43205,7 @@
     method public void unregisterCallback(android.telecom.Call.Callback);
     field @Deprecated public static final String AVAILABLE_PHONE_ACCOUNTS = "selectPhoneAccountAccounts";
     field public static final String EXTRA_LAST_EMERGENCY_CALLBACK_TIME_MILLIS = "android.telecom.extra.LAST_EMERGENCY_CALLBACK_TIME_MILLIS";
+    field public static final String EXTRA_SILENT_RINGING_REQUESTED = "android.telecom.extra.SILENT_RINGING_REQUESTED";
     field public static final String EXTRA_SUGGESTED_PHONE_ACCOUNTS = "android.telecom.extra.SUGGESTED_PHONE_ACCOUNTS";
     field public static final int STATE_ACTIVE = 4; // 0x4
     field public static final int STATE_CONNECTING = 9; // 0x9
@@ -43367,9 +43364,9 @@
   public abstract class CallRedirectionService extends android.app.Service {
     ctor public CallRedirectionService();
     method public final void cancelCall();
-    method public final android.os.IBinder onBind(android.content.Intent);
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
     method public abstract void onPlaceCall(@NonNull android.net.Uri, @NonNull android.telecom.PhoneAccountHandle, boolean);
-    method public final boolean onUnbind(android.content.Intent);
+    method public final boolean onUnbind(@NonNull android.content.Intent);
     method public final void placeCallUnmodified();
     method public final void redirectCall(@NonNull android.net.Uri, @NonNull android.telecom.PhoneAccountHandle, boolean);
     field public static final String SERVICE_INTERFACE = "android.telecom.CallRedirectionService";
@@ -43396,6 +43393,7 @@
   public static class CallScreeningService.CallResponse {
     method public boolean getDisallowCall();
     method public boolean getRejectCall();
+    method public boolean getSilenceCall();
     method public boolean getSkipCallLog();
     method public boolean getSkipNotification();
   }
@@ -43405,6 +43403,7 @@
     method public android.telecom.CallScreeningService.CallResponse build();
     method public android.telecom.CallScreeningService.CallResponse.Builder setDisallowCall(boolean);
     method public android.telecom.CallScreeningService.CallResponse.Builder setRejectCall(boolean);
+    method @NonNull public android.telecom.CallScreeningService.CallResponse.Builder setSilenceCall(boolean);
     method public android.telecom.CallScreeningService.CallResponse.Builder setSkipCallLog(boolean);
     method public android.telecom.CallScreeningService.CallResponse.Builder setSkipNotification(boolean);
   }
@@ -43827,6 +43826,7 @@
   }
 
   public final class PhoneAccountSuggestion implements android.os.Parcelable {
+    ctor public PhoneAccountSuggestion(@NonNull android.telecom.PhoneAccountHandle, int, boolean);
     method public int describeContents();
     method @NonNull public android.telecom.PhoneAccountHandle getPhoneAccountHandle();
     method public int getReason();
@@ -44024,7 +44024,6 @@
     field public static final String EXTRA_INCOMING_CALL_EXTRAS = "android.telecom.extra.INCOMING_CALL_EXTRAS";
     field public static final String EXTRA_INCOMING_VIDEO_STATE = "android.telecom.extra.INCOMING_VIDEO_STATE";
     field public static final String EXTRA_IS_DEFAULT_CALL_SCREENING_APP = "android.telecom.extra.IS_DEFAULT_CALL_SCREENING_APP";
-    field public static final String EXTRA_IS_ENABLED = "android.telecom.extra.IS_ENABLED";
     field public static final String EXTRA_NOTIFICATION_COUNT = "android.telecom.extra.NOTIFICATION_COUNT";
     field public static final String EXTRA_NOTIFICATION_PHONE_NUMBER = "android.telecom.extra.NOTIFICATION_PHONE_NUMBER";
     field public static final String EXTRA_OUTGOING_CALL_EXTRAS = "android.telecom.extra.OUTGOING_CALL_EXTRAS";
@@ -44191,9 +44190,10 @@
   }
 
   public final class AvailableNetworkInfo implements android.os.Parcelable {
-    ctor public AvailableNetworkInfo(int, int, java.util.List<java.lang.String>);
+    ctor public AvailableNetworkInfo(int, int, @NonNull java.util.List<java.lang.String>, @NonNull java.util.List<java.lang.Integer>);
     method public int describeContents();
-    method public java.util.List<java.lang.String> getMccMncs();
+    method @NonNull public java.util.List<java.lang.Integer> getBands();
+    method @NonNull public java.util.List<java.lang.String> getMccMncs();
     method public int getPriority();
     method public int getSubId();
     method public void writeToParcel(android.os.Parcel, int);
@@ -44363,6 +44363,7 @@
     field public static final String KEY_SUPPORT_PAUSE_IMS_VIDEO_CALLS_BOOL = "support_pause_ims_video_calls_bool";
     field public static final String KEY_SUPPORT_SWAP_AFTER_MERGE_BOOL = "support_swap_after_merge_bool";
     field public static final String KEY_TREAT_DOWNGRADED_VIDEO_CALLS_AS_VIDEO_CALLS_BOOL = "treat_downgraded_video_calls_as_video_calls_bool";
+    field public static final String KEY_TTY_SUPPORTED_BOOL = "tty_supported_bool";
     field public static final String KEY_USE_HFA_FOR_PROVISIONING_BOOL = "use_hfa_for_provisioning_bool";
     field public static final String KEY_USE_OTASP_FOR_PROVISIONING_BOOL = "use_otasp_for_provisioning_bool";
     field public static final String KEY_USE_RCS_PRESENCE_BOOL = "use_rcs_presence_bool";
@@ -44430,12 +44431,12 @@
   }
 
   public final class CellIdentityNr extends android.telephony.CellIdentity {
-    method public int getChannelNumber();
-    method public String getMccString();
-    method public String getMncString();
+    method @Nullable public String getMccString();
+    method @Nullable public String getMncString();
     method public long getNci();
-    method public int getPci();
-    method public int getTac();
+    method @IntRange(from=0, to=3279165) public int getNrarfcn();
+    method @IntRange(from=0, to=1007) public int getPci();
+    method @IntRange(from=0, to=65535) public int getTac();
     method public void writeToParcel(android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellIdentityNr> CREATOR;
   }
@@ -44502,8 +44503,8 @@
   }
 
   public final class CellInfoNr extends android.telephony.CellInfo {
-    method public android.telephony.CellIdentity getCellIdentity();
-    method public android.telephony.CellSignalStrength getCellSignalStrength();
+    method @NonNull public android.telephony.CellIdentity getCellIdentity();
+    method @NonNull public android.telephony.CellSignalStrength getCellSignalStrength();
     method public void writeToParcel(android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.telephony.CellInfoNr> CREATOR;
   }
@@ -44653,7 +44654,7 @@
   public class MbmsGroupCallSession implements java.lang.AutoCloseable {
     method public void close();
     method @Nullable public static android.telephony.MbmsGroupCallSession create(@NonNull android.content.Context, int, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.MbmsGroupCallSessionCallback);
-    method public static android.telephony.MbmsGroupCallSession create(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.MbmsGroupCallSessionCallback);
+    method @Nullable public static android.telephony.MbmsGroupCallSession create(@NonNull android.content.Context, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.MbmsGroupCallSessionCallback);
     method @Nullable public android.telephony.mbms.GroupCall startGroupCall(long, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.List<java.lang.Integer>, @NonNull java.util.concurrent.Executor, @NonNull android.telephony.mbms.GroupCallCallback);
   }
 
@@ -44781,6 +44782,7 @@
   public class PhoneStateListener {
     ctor public PhoneStateListener();
     ctor public PhoneStateListener(@NonNull java.util.concurrent.Executor);
+    method public void onActiveDataSubscriptionIdChanged(int);
     method public void onCallForwardingIndicatorChanged(boolean);
     method public void onCallStateChanged(int, String);
     method public void onCellInfoChanged(java.util.List<android.telephony.CellInfo>);
@@ -44793,6 +44795,7 @@
     method @Deprecated public void onSignalStrengthChanged(int);
     method public void onSignalStrengthsChanged(android.telephony.SignalStrength);
     method public void onUserMobileDataStateChanged(boolean);
+    field public static final int LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE = 4194304; // 0x400000
     field public static final int LISTEN_CALL_FORWARDING_INDICATOR = 8; // 0x8
     field public static final int LISTEN_CALL_STATE = 32; // 0x20
     field public static final int LISTEN_CELL_INFO = 1024; // 0x400
@@ -44821,7 +44824,7 @@
   public class ServiceState implements android.os.Parcelable {
     ctor public ServiceState();
     ctor public ServiceState(android.telephony.ServiceState);
-    ctor public ServiceState(android.os.Parcel);
+    ctor @Deprecated public ServiceState(android.os.Parcel);
     method protected void copyFrom(android.telephony.ServiceState);
     method public int describeContents();
     method public int getCdmaNetworkId();
@@ -44858,7 +44861,7 @@
     method @Deprecated public int getCdmaDbm();
     method @Deprecated public int getCdmaEcio();
     method @NonNull public java.util.List<android.telephony.CellSignalStrength> getCellSignalStrengths();
-    method public <T extends android.telephony.CellSignalStrength> java.util.List<T> getCellSignalStrengths(@NonNull Class<T>);
+    method @NonNull public <T extends android.telephony.CellSignalStrength> java.util.List<T> getCellSignalStrengths(@NonNull Class<T>);
     method @Deprecated public int getEvdoDbm();
     method @Deprecated public int getEvdoEcio();
     method @Deprecated public int getEvdoSnr();
@@ -45019,9 +45022,9 @@
     method public String getIccId();
     method public int getIconTint();
     method @Deprecated public int getMcc();
-    method public String getMccString();
+    method @Nullable public String getMccString();
     method @Deprecated public int getMnc();
-    method public String getMncString();
+    method @Nullable public String getMncString();
     method public String getNumber();
     method public int getSimSlotIndex();
     method public int getSubscriptionId();
@@ -45059,7 +45062,6 @@
     method public void removeOnOpportunisticSubscriptionsChangedListener(@NonNull android.telephony.SubscriptionManager.OnOpportunisticSubscriptionsChangedListener);
     method public void removeOnSubscriptionsChangedListener(android.telephony.SubscriptionManager.OnSubscriptionsChangedListener);
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean removeSubscriptionsFromGroup(@NonNull int[]);
-    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setMetered(boolean, int);
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setOpportunistic(boolean, int);
     method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String setSubscriptionGroup(@NonNull int[]);
     method public void setSubscriptionOverrideCongested(int, boolean, long);
@@ -45130,14 +45132,14 @@
     method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) @WorkerThread public android.os.PersistableBundle getCarrierConfig();
     method public int getCarrierIdFromSimMccMnc();
     method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public android.telephony.CellLocation getCellLocation();
-    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) @Nullable public java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>> getCurrentEmergencyNumberList();
-    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) @Nullable public java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>> getCurrentEmergencyNumberList(int);
     method public int getDataActivity();
     method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public int getDataNetworkType();
     method public int getDataState();
     method @Deprecated @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getDeviceId();
     method @Deprecated @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getDeviceId(int);
     method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getDeviceSoftwareVersion();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) @NonNull public java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>> getEmergencyNumberList();
+    method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) @NonNull public java.util.Map<java.lang.Integer,java.util.List<android.telephony.emergency.EmergencyNumber>> getEmergencyNumberList(int);
     method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String[] getForbiddenPlmns();
     method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public String getGroupIdLevel1();
     method public String getIccAuthentication(int, int, String);
@@ -45166,9 +45168,9 @@
     method public String getSimCountryIso();
     method public String getSimOperator();
     method public String getSimOperatorName();
-    method public int getSimPreciseCarrierId();
-    method @Nullable public CharSequence getSimPreciseCarrierIdName();
     method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getSimSerialNumber();
+    method public int getSimSpecificCarrierId();
+    method @Nullable public CharSequence getSimSpecificCarrierIdName();
     method public int getSimState();
     method public int getSimState(int);
     method @RequiresPermission("android.permission.READ_PRIVILEGED_PHONE_STATE") public String getSubscriberId();
@@ -45189,9 +45191,9 @@
     method public String iccTransmitApduBasicChannel(int, int, int, int, int, String);
     method public String iccTransmitApduLogicalChannel(int, int, int, int, int, int, String);
     method public boolean isConcurrentVoiceAndDataSupported();
-    method public boolean isCurrentEmergencyNumber(@NonNull String);
     method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.MODIFY_PHONE_STATE}) public boolean isDataEnabled();
     method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_NETWORK_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isDataRoamingEnabled();
+    method public boolean isEmergencyNumber(@NonNull String);
     method public boolean isHearingAidCompatibilitySupported();
     method @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE) public boolean isMultisimSupported();
     method public boolean isNetworkRoaming();
@@ -45214,13 +45216,13 @@
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setNetworkSelectionModeManual(String, boolean);
     method public boolean setOperatorBrandOverride(String);
     method public boolean setPreferredNetworkTypeToGlobal();
-    method public boolean setPreferredOpportunisticDataSubscription(int);
+    method public void setPreferredOpportunisticDataSubscription(int, boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
     method public void setVisualVoicemailSmsFilterSettings(android.telephony.VisualVoicemailSmsFilterSettings);
     method public boolean setVoiceMailNumber(String, String);
     method @Deprecated public void setVoicemailRingtoneUri(android.telecom.PhoneAccountHandle, android.net.Uri);
     method @Deprecated public void setVoicemailVibrationEnabled(android.telecom.PhoneAccountHandle, boolean);
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void switchMultiSimConfig(int);
-    method public boolean updateAvailableNetworks(java.util.List<android.telephony.AvailableNetworkInfo>);
+    method public void updateAvailableNetworks(@NonNull java.util.List<android.telephony.AvailableNetworkInfo>, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
     field public static final String ACTION_CARRIER_MESSAGING_CLIENT_SERVICE = "android.telephony.action.CARRIER_MESSAGING_CLIENT_SERVICE";
     field public static final String ACTION_CONFIGURE_VOICEMAIL = "android.telephony.action.CONFIGURE_VOICEMAIL";
     field public static final String ACTION_NETWORK_COUNTRY_CHANGED = "android.telephony.action.NETWORK_COUNTRY_CHANGED";
@@ -45229,7 +45231,7 @@
     field public static final String ACTION_SECRET_CODE = "android.telephony.action.SECRET_CODE";
     field public static final String ACTION_SHOW_VOICEMAIL_NOTIFICATION = "android.telephony.action.SHOW_VOICEMAIL_NOTIFICATION";
     field public static final String ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED = "android.telephony.action.SUBSCRIPTION_CARRIER_IDENTITY_CHANGED";
-    field public static final String ACTION_SUBSCRIPTION_PRECISE_CARRIER_IDENTITY_CHANGED = "android.telephony.action.SUBSCRIPTION_PRECISE_CARRIER_IDENTITY_CHANGED";
+    field public static final String ACTION_SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED = "android.telephony.action.SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED";
     field public static final int APPTYPE_CSIM = 4; // 0x4
     field public static final int APPTYPE_ISIM = 5; // 0x5
     field public static final int APPTYPE_RUIM = 3; // 0x3
@@ -45258,14 +45260,14 @@
     field public static final String EXTRA_CARRIER_ID = "android.telephony.extra.CARRIER_ID";
     field public static final String EXTRA_CARRIER_NAME = "android.telephony.extra.CARRIER_NAME";
     field public static final String EXTRA_HIDE_PUBLIC_SETTINGS = "android.telephony.extra.HIDE_PUBLIC_SETTINGS";
-    field public static final String EXTRA_INCOMING_NUMBER = "incoming_number";
+    field @Deprecated public static final String EXTRA_INCOMING_NUMBER = "incoming_number";
     field public static final String EXTRA_IS_REFRESH = "android.telephony.extra.IS_REFRESH";
     field public static final String EXTRA_LAUNCH_VOICEMAIL_SETTINGS_INTENT = "android.telephony.extra.LAUNCH_VOICEMAIL_SETTINGS_INTENT";
     field public static final String EXTRA_NETWORK_COUNTRY = "android.telephony.extra.NETWORK_COUNTRY";
     field public static final String EXTRA_NOTIFICATION_COUNT = "android.telephony.extra.NOTIFICATION_COUNT";
     field public static final String EXTRA_PHONE_ACCOUNT_HANDLE = "android.telephony.extra.PHONE_ACCOUNT_HANDLE";
-    field public static final String EXTRA_PRECISE_CARRIER_ID = "android.telephony.extra.PRECISE_CARRIER_ID";
-    field public static final String EXTRA_PRECISE_CARRIER_NAME = "android.telephony.extra.PRECISE_CARRIER_NAME";
+    field public static final String EXTRA_SPECIFIC_CARRIER_ID = "android.telephony.extra.SPECIFIC_CARRIER_ID";
+    field public static final String EXTRA_SPECIFIC_CARRIER_NAME = "android.telephony.extra.SPECIFIC_CARRIER_NAME";
     field public static final String EXTRA_STATE = "state";
     field public static final String EXTRA_STATE_IDLE;
     field public static final String EXTRA_STATE_OFFHOOK;
@@ -45313,6 +45315,11 @@
     field public static final int UNINITIALIZED_CARD_ID = -2; // 0xfffffffe
     field public static final int UNKNOWN_CARRIER_ID = -1; // 0xffffffff
     field public static final int UNSUPPORTED_CARD_ID = -1; // 0xffffffff
+    field public static final int UPDATE_AVAILABLE_NETWORKS_ABORTED = 2; // 0x2
+    field public static final int UPDATE_AVAILABLE_NETWORKS_INVALID_ARGUMENTS = 3; // 0x3
+    field public static final int UPDATE_AVAILABLE_NETWORKS_NO_CARRIER_PRIVILEGE = 4; // 0x4
+    field public static final int UPDATE_AVAILABLE_NETWORKS_SUCCESS = 0; // 0x0
+    field public static final int UPDATE_AVAILABLE_NETWORKS_UNKNOWN_FAILURE = 1; // 0x1
     field public static final int USSD_ERROR_SERVICE_UNAVAIL = -2; // 0xfffffffe
     field public static final int USSD_RETURN_FAILURE = -1; // 0xffffffff
     field public static final String VVM_TYPE_CVVM = "vvm_type_cvvm";
@@ -45477,26 +45484,26 @@
   public static class ApnSetting.Builder {
     ctor public ApnSetting.Builder();
     method public android.telephony.data.ApnSetting build();
-    method public android.telephony.data.ApnSetting.Builder setApnName(String);
-    method public android.telephony.data.ApnSetting.Builder setApnTypeBitmask(int);
-    method public android.telephony.data.ApnSetting.Builder setAuthType(int);
-    method public android.telephony.data.ApnSetting.Builder setCarrierEnabled(boolean);
-    method public android.telephony.data.ApnSetting.Builder setCarrierId(int);
-    method public android.telephony.data.ApnSetting.Builder setEntryName(String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setApnName(String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setApnTypeBitmask(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setAuthType(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setCarrierEnabled(boolean);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setCarrierId(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setEntryName(String);
     method @Deprecated public android.telephony.data.ApnSetting.Builder setMmsProxyAddress(java.net.InetAddress);
-    method public android.telephony.data.ApnSetting.Builder setMmsProxyAddress(String);
-    method public android.telephony.data.ApnSetting.Builder setMmsProxyPort(int);
-    method public android.telephony.data.ApnSetting.Builder setMmsc(android.net.Uri);
-    method public android.telephony.data.ApnSetting.Builder setMvnoType(int);
-    method public android.telephony.data.ApnSetting.Builder setNetworkTypeBitmask(int);
-    method public android.telephony.data.ApnSetting.Builder setOperatorNumeric(String);
-    method public android.telephony.data.ApnSetting.Builder setPassword(String);
-    method public android.telephony.data.ApnSetting.Builder setProtocol(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setMmsProxyAddress(String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setMmsProxyPort(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setMmsc(android.net.Uri);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setMvnoType(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setNetworkTypeBitmask(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setOperatorNumeric(String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setPassword(String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setProtocol(int);
     method @Deprecated public android.telephony.data.ApnSetting.Builder setProxyAddress(java.net.InetAddress);
-    method public android.telephony.data.ApnSetting.Builder setProxyAddress(String);
-    method public android.telephony.data.ApnSetting.Builder setProxyPort(int);
-    method public android.telephony.data.ApnSetting.Builder setRoamingProtocol(int);
-    method public android.telephony.data.ApnSetting.Builder setUser(String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setProxyAddress(String);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setProxyPort(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setRoamingProtocol(int);
+    method @NonNull public android.telephony.data.ApnSetting.Builder setUser(String);
   }
 
 }
@@ -45506,15 +45513,13 @@
   public final class EmergencyNumber implements java.lang.Comparable<android.telephony.emergency.EmergencyNumber> android.os.Parcelable {
     method public int compareTo(@NonNull android.telephony.emergency.EmergencyNumber);
     method public int describeContents();
-    method public String getCountryIso();
+    method @NonNull public String getCountryIso();
     method public int getEmergencyCallRouting();
-    method public int getEmergencyNumberSourceBitmask();
-    method public java.util.List<java.lang.Integer> getEmergencyNumberSources();
-    method public java.util.List<java.lang.Integer> getEmergencyServiceCategories();
-    method public int getEmergencyServiceCategoryBitmask();
+    method @NonNull public java.util.List<java.lang.Integer> getEmergencyNumberSources();
+    method @NonNull public java.util.List<java.lang.Integer> getEmergencyServiceCategories();
     method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
-    method public String getMnc();
-    method public String getNumber();
+    method @NonNull public String getMnc();
+    method @NonNull public String getNumber();
     method public boolean isFromSources(int);
     method public boolean isInEmergencyServiceCategories(int);
     method public void writeToParcel(android.os.Parcel, int);
@@ -45567,7 +45572,7 @@
     method public boolean isEnabled();
     method public void startResolutionActivity(android.app.Activity, int, android.content.Intent, android.app.PendingIntent) throws android.content.IntentSender.SendIntentException;
     method @RequiresPermission("android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS") public void switchToSubscription(int, android.app.PendingIntent);
-    method @RequiresPermission("android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS") public void updateSubscriptionNickname(int, String, android.app.PendingIntent);
+    method @RequiresPermission("android.permission.WRITE_EMBEDDED_SUBSCRIPTIONS") public void updateSubscriptionNickname(int, @Nullable String, @NonNull android.app.PendingIntent);
     field public static final String ACTION_MANAGE_EMBEDDED_SUBSCRIPTIONS = "android.telephony.euicc.action.MANAGE_EMBEDDED_SUBSCRIPTIONS";
     field public static final String ACTION_NOTIFY_CARRIER_SETUP_INCOMPLETE = "android.telephony.euicc.action.NOTIFY_CARRIER_SETUP_INCOMPLETE";
     field public static final int EMBEDDED_SUBSCRIPTION_RESULT_ERROR = 2; // 0x2
@@ -46041,22 +46046,6 @@
     method public void handleTag(boolean, String, android.text.Editable, org.xml.sax.XMLReader);
   }
 
-  public class Hyphenator {
-    method public static int packHyphenEdit(int, int);
-    method public static int unpackEndHyphenEdit(int);
-    method public static int unpackStartHyphenEdit(int);
-    field public static final int END_HYPHEN_EDIT_INSERT_ARMENIAN_HYPHEN = 3; // 0x3
-    field public static final int END_HYPHEN_EDIT_INSERT_HYPHEN = 2; // 0x2
-    field public static final int END_HYPHEN_EDIT_INSERT_MAQAF = 4; // 0x4
-    field public static final int END_HYPHEN_EDIT_INSERT_UCAS_HYPHEN = 5; // 0x5
-    field public static final int END_HYPHEN_EDIT_INSERT_ZWJ_AND_HYPHEN = 6; // 0x6
-    field public static final int END_HYPHEN_EDIT_NO_EDIT = 0; // 0x0
-    field public static final int END_HYPHEN_EDIT_REPLACE_WITH_HYPHEN = 1; // 0x1
-    field public static final int START_HYPHEN_EDIT_INSERT_HYPHEN = 1; // 0x1
-    field public static final int START_HYPHEN_EDIT_INSERT_ZWJ = 2; // 0x2
-    field public static final int START_HYPHEN_EDIT_NO_EDIT = 0; // 0x0
-  }
-
   public interface InputFilter {
     method public CharSequence filter(CharSequence, int, int, android.text.Spanned, int, int);
   }
@@ -49239,7 +49228,6 @@
     method public final boolean isFunctionPressed();
     method public static final boolean isGamepadButton(int);
     method public final boolean isLongPress();
-    method public static final boolean isMediaSessionKey(int);
     method public final boolean isMetaPressed();
     method public static boolean isModifierKey(int);
     method public final boolean isNumLockOn();
@@ -50119,7 +50107,7 @@
   }
 
   public class Surface implements android.os.Parcelable {
-    ctor public Surface(android.view.SurfaceControl);
+    ctor public Surface(@NonNull android.view.SurfaceControl);
     ctor public Surface(android.graphics.SurfaceTexture);
     method public int describeContents();
     method public boolean isValid();
@@ -50153,10 +50141,10 @@
 
   public static class SurfaceControl.Builder {
     ctor public SurfaceControl.Builder();
-    method public android.view.SurfaceControl build();
-    method public android.view.SurfaceControl.Builder setBufferSize(@IntRange(from=0) int, @IntRange(from=0) int);
+    method @NonNull public android.view.SurfaceControl build();
+    method @NonNull public android.view.SurfaceControl.Builder setBufferSize(@IntRange(from=0) int, @IntRange(from=0) int);
     method @NonNull public android.view.SurfaceControl.Builder setFormat(int);
-    method public android.view.SurfaceControl.Builder setName(String);
+    method @NonNull public android.view.SurfaceControl.Builder setName(@NonNull String);
     method @NonNull public android.view.SurfaceControl.Builder setOpaque(boolean);
     method @NonNull public android.view.SurfaceControl.Builder setParent(@Nullable android.view.SurfaceControl);
   }
@@ -50383,12 +50371,13 @@
     method public int getAccessibilityLiveRegion();
     method public android.view.accessibility.AccessibilityNodeProvider getAccessibilityNodeProvider();
     method @Nullable public CharSequence getAccessibilityPaneTitle();
-    method public int getAccessibilityTraversalAfter();
-    method public int getAccessibilityTraversalBefore();
+    method @IdRes public int getAccessibilityTraversalAfter();
+    method @IdRes public int getAccessibilityTraversalBefore();
     method @android.view.ViewDebug.ExportedProperty(category="drawing") public float getAlpha();
     method public android.view.animation.Animation getAnimation();
+    method @Nullable public android.graphics.Matrix getAnimationMatrix();
     method public android.os.IBinder getApplicationWindowToken();
-    method @NonNull public java.util.List<java.lang.Integer> getAttributeResolutionStack(@AttrRes int);
+    method @NonNull public int[] getAttributeResolutionStack(@AttrRes int);
     method @NonNull public java.util.Map<java.lang.Integer,java.lang.Integer> getAttributeSourceResourceMap();
     method @android.view.ViewDebug.ExportedProperty @Nullable public String[] getAutofillHints();
     method public final android.view.autofill.AutofillId getAutofillId();
@@ -50446,7 +50435,7 @@
     method @android.view.ViewDebug.ExportedProperty(mapping={@android.view.ViewDebug.IntToString(from=android.view.View.IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, to="auto"), @android.view.ViewDebug.IntToString(from=android.view.View.IMPORTANT_FOR_CONTENT_CAPTURE_YES, to="yes"), @android.view.ViewDebug.IntToString(from=android.view.View.IMPORTANT_FOR_CONTENT_CAPTURE_NO, to="no"), @android.view.ViewDebug.IntToString(from=android.view.View.IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS, to="yesExcludeDescendants"), @android.view.ViewDebug.IntToString(from=android.view.View.IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS, to="noExcludeDescendants")}) public int getImportantForContentCapture();
     method public boolean getKeepScreenOn();
     method public android.view.KeyEvent.DispatcherState getKeyDispatcherState();
-    method @android.view.ViewDebug.ExportedProperty(category="accessibility") public int getLabelFor();
+    method @android.view.ViewDebug.ExportedProperty(category="accessibility") @IdRes public int getLabelFor();
     method public int getLayerType();
     method @android.view.ViewDebug.ExportedProperty(category="layout", mapping={@android.view.ViewDebug.IntToString(from=android.view.View.LAYOUT_DIRECTION_LTR, to="RESOLVED_DIRECTION_LTR"), @android.view.ViewDebug.IntToString(from=android.view.View.LAYOUT_DIRECTION_RTL, to="RESOLVED_DIRECTION_RTL")}) public int getLayoutDirection();
     method @android.view.ViewDebug.ExportedProperty(deepExport=true, prefix="layout_") public android.view.ViewGroup.LayoutParams getLayoutParams();
@@ -50464,12 +50453,12 @@
     method @android.view.ViewDebug.ExportedProperty(category="measurement", flagMapping={@android.view.ViewDebug.FlagToString(mask=android.view.View.MEASURED_STATE_MASK, equals=android.view.View.MEASURED_STATE_TOO_SMALL, name="MEASURED_STATE_TOO_SMALL")}) public final int getMeasuredWidthAndState();
     method public int getMinimumHeight();
     method public int getMinimumWidth();
-    method public int getNextClusterForwardId();
-    method public int getNextFocusDownId();
-    method public int getNextFocusForwardId();
-    method public int getNextFocusLeftId();
-    method public int getNextFocusRightId();
-    method public int getNextFocusUpId();
+    method @IdRes public int getNextClusterForwardId();
+    method @IdRes public int getNextFocusDownId();
+    method @IdRes public int getNextFocusForwardId();
+    method @IdRes public int getNextFocusLeftId();
+    method @IdRes public int getNextFocusRightId();
+    method @IdRes public int getNextFocusUpId();
     method public android.view.View.OnFocusChangeListener getOnFocusChangeListener();
     method @ColorInt public int getOutlineAmbientShadowColor();
     method public android.view.ViewOutlineProvider getOutlineProvider();
@@ -50731,8 +50720,8 @@
     method public void setAccessibilityHeading(boolean);
     method public void setAccessibilityLiveRegion(int);
     method public void setAccessibilityPaneTitle(@Nullable CharSequence);
-    method public void setAccessibilityTraversalAfter(int);
-    method public void setAccessibilityTraversalBefore(int);
+    method public void setAccessibilityTraversalAfter(@IdRes int);
+    method public void setAccessibilityTraversalBefore(@IdRes int);
     method public void setActivated(boolean);
     method public void setAlpha(@FloatRange(from=0.0, to=1.0) float);
     method public void setAnimation(android.view.animation.Animation);
@@ -50797,12 +50786,12 @@
     method public void setMinimumHeight(int);
     method public void setMinimumWidth(int);
     method public void setNestedScrollingEnabled(boolean);
-    method public void setNextClusterForwardId(int);
-    method public void setNextFocusDownId(int);
-    method public void setNextFocusForwardId(int);
-    method public void setNextFocusLeftId(int);
-    method public void setNextFocusRightId(int);
-    method public void setNextFocusUpId(int);
+    method public void setNextClusterForwardId(@IdRes int);
+    method public void setNextFocusDownId(@IdRes int);
+    method public void setNextFocusForwardId(@IdRes int);
+    method public void setNextFocusLeftId(@IdRes int);
+    method public void setNextFocusRightId(@IdRes int);
+    method public void setNextFocusUpId(@IdRes int);
     method public void setOnApplyWindowInsetsListener(android.view.View.OnApplyWindowInsetsListener);
     method public void setOnCapturedPointerListener(android.view.View.OnCapturedPointerListener);
     method public void setOnClickListener(@Nullable android.view.View.OnClickListener);
@@ -50885,8 +50874,8 @@
     method public final boolean startDragAndDrop(android.content.ClipData, android.view.View.DragShadowBuilder, Object, int);
     method public boolean startNestedScroll(int);
     method public void stopNestedScroll();
-    method public void transformMatrixToGlobal(android.graphics.Matrix);
-    method public void transformMatrixToLocal(android.graphics.Matrix);
+    method public void transformMatrixToGlobal(@NonNull android.graphics.Matrix);
+    method public void transformMatrixToLocal(@NonNull android.graphics.Matrix);
     method public void unscheduleDrawable(@NonNull android.graphics.drawable.Drawable, @NonNull Runnable);
     method public void unscheduleDrawable(android.graphics.drawable.Drawable);
     method public final void updateDragShadow(android.view.View.DragShadowBuilder);
@@ -51967,16 +51956,19 @@
     method @NonNull public android.view.WindowInsets consumeStableInsets();
     method @NonNull public android.view.WindowInsets consumeSystemWindowInsets();
     method @Nullable public android.view.DisplayCutout getDisplayCutout();
+    method @NonNull public android.graphics.Insets getMandatorySystemGestureInsets();
     method public int getStableInsetBottom();
     method public int getStableInsetLeft();
     method public int getStableInsetRight();
     method public int getStableInsetTop();
     method @NonNull public android.graphics.Insets getStableInsets();
+    method @NonNull public android.graphics.Insets getSystemGestureInsets();
     method public int getSystemWindowInsetBottom();
     method public int getSystemWindowInsetLeft();
     method public int getSystemWindowInsetRight();
     method public int getSystemWindowInsetTop();
     method @NonNull public android.graphics.Insets getSystemWindowInsets();
+    method @NonNull public android.graphics.Insets getTappableElementInsets();
     method public boolean hasInsets();
     method public boolean hasStableInsets();
     method public boolean hasSystemWindowInsets();
@@ -51992,8 +51984,11 @@
     ctor public WindowInsets.Builder(@NonNull android.view.WindowInsets);
     method @NonNull public android.view.WindowInsets build();
     method @NonNull public android.view.WindowInsets.Builder setDisplayCutout(@Nullable android.view.DisplayCutout);
+    method @NonNull public android.view.WindowInsets.Builder setMandatorySystemGestureInsets(@NonNull android.graphics.Insets);
     method @NonNull public android.view.WindowInsets.Builder setStableInsets(@NonNull android.graphics.Insets);
+    method @NonNull public android.view.WindowInsets.Builder setSystemGestureInsets(@NonNull android.graphics.Insets);
     method @NonNull public android.view.WindowInsets.Builder setSystemWindowInsets(@NonNull android.graphics.Insets);
+    method @NonNull public android.view.WindowInsets.Builder setTappableElementInsets(@NonNull android.graphics.Insets);
   }
 
   public interface WindowManager extends android.view.ViewManager {
@@ -53038,7 +53033,7 @@
     method public int describeContents();
     method @NonNull public static android.view.contentcapture.ContentCaptureContext forLocusId(@NonNull String);
     method @Nullable public android.os.Bundle getExtras();
-    method @NonNull public android.content.LocusId getLocusId();
+    method @Nullable public android.content.LocusId getLocusId();
     method public void writeToParcel(android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.view.contentcapture.ContentCaptureContext> CREATOR;
   }
@@ -53504,11 +53499,6 @@
 
 package android.view.inspector {
 
-  public class GeneratedInspectionCompanionProvider implements android.view.inspector.InspectionCompanionProvider {
-    ctor public GeneratedInspectionCompanionProvider();
-    method @Nullable public <T> android.view.inspector.InspectionCompanion<T> provide(@NonNull Class<T>);
-  }
-
   public interface InspectionCompanion<T> {
     method @Nullable public default String getNodeName();
     method public void mapProperties(@NonNull android.view.inspector.PropertyMapper);
@@ -53523,27 +53513,12 @@
     method @Nullable public <T> android.view.inspector.InspectionCompanion<T> provide(@NonNull Class<T>);
   }
 
-  public final class IntEnumMapping {
-    method @Nullable public String get(int);
-  }
-
-  public static final class IntEnumMapping.Builder {
-    ctor public IntEnumMapping.Builder();
-    method @NonNull public android.view.inspector.IntEnumMapping.Builder addValue(@NonNull String, int);
-    method @NonNull public android.view.inspector.IntEnumMapping build();
-  }
-
   public final class IntFlagMapping {
+    ctor public IntFlagMapping();
+    method public void add(int, int, @NonNull String);
     method @NonNull public java.util.Set<java.lang.String> get(int);
   }
 
-  public static final class IntFlagMapping.Builder {
-    ctor public IntFlagMapping.Builder();
-    method @NonNull public android.view.inspector.IntFlagMapping.Builder addFlag(@NonNull String, int);
-    method @NonNull public android.view.inspector.IntFlagMapping.Builder addFlag(@NonNull String, int, int);
-    method @NonNull public android.view.inspector.IntFlagMapping build();
-  }
-
   public interface PropertyMapper {
     method public int mapBoolean(@NonNull String, @AttrRes int);
     method public int mapByte(@NonNull String, @AttrRes int);
@@ -53553,10 +53528,11 @@
     method public int mapFloat(@NonNull String, @AttrRes int);
     method public int mapGravity(@NonNull String, @AttrRes int);
     method public int mapInt(@NonNull String, @AttrRes int);
-    method public int mapIntEnum(@NonNull String, @AttrRes int, @NonNull android.view.inspector.IntEnumMapping);
-    method public int mapIntFlag(@NonNull String, @AttrRes int, @NonNull android.view.inspector.IntFlagMapping);
+    method public int mapIntEnum(@NonNull String, @AttrRes int, @NonNull java.util.function.IntFunction<java.lang.String>);
+    method public int mapIntFlag(@NonNull String, @AttrRes int, @NonNull java.util.function.IntFunction<java.util.Set<java.lang.String>>);
     method public int mapLong(@NonNull String, @AttrRes int);
     method public int mapObject(@NonNull String, @AttrRes int);
+    method public int mapResourceId(@NonNull String, @AttrRes int);
     method public int mapShort(@NonNull String, @AttrRes int);
   }
 
@@ -53579,6 +53555,7 @@
     method public void readIntFlag(int, int);
     method public void readLong(int, long);
     method public void readObject(int, @Nullable Object);
+    method public void readResourceId(int, @AnyRes int);
     method public void readShort(int, short);
   }
 
@@ -53587,6 +53564,11 @@
     ctor public PropertyReader.PropertyTypeMismatchException(int, @NonNull String, @NonNull String);
   }
 
+  public class StaticInspectionCompanionProvider implements android.view.inspector.InspectionCompanionProvider {
+    ctor public StaticInspectionCompanionProvider();
+    method @Nullable public <T> android.view.inspector.InspectionCompanion<T> provide(@NonNull Class<T>);
+  }
+
   public final class WindowInspector {
     method @NonNull public static java.util.List<android.view.View> getGlobalWindowViews();
   }
@@ -53642,8 +53624,8 @@
     method @Nullable public CharSequence getText();
     method public void writeToParcel(android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.view.textclassifier.ConversationActions.Message> CREATOR;
-    field public static final android.app.Person PERSON_USER_OTHERS;
-    field public static final android.app.Person PERSON_USER_SELF;
+    field @NonNull public static final android.app.Person PERSON_USER_OTHERS;
+    field @NonNull public static final android.app.Person PERSON_USER_SELF;
   }
 
   public static final class ConversationActions.Message.Builder {
@@ -53658,7 +53640,6 @@
     method public int describeContents();
     method @Nullable public String getCallingPackageName();
     method @NonNull public java.util.List<android.view.textclassifier.ConversationActions.Message> getConversation();
-    method @Nullable public String getConversationId();
     method @Nullable public java.util.List<java.lang.String> getHints();
     method @IntRange(from=0xffffffff) public int getMaxSuggestions();
     method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig getTypeConfig();
@@ -53671,8 +53652,7 @@
   public static final class ConversationActions.Request.Builder {
     ctor public ConversationActions.Request.Builder(@NonNull java.util.List<android.view.textclassifier.ConversationActions.Message>);
     method @NonNull public android.view.textclassifier.ConversationActions.Request build();
-    method @NonNull public android.view.textclassifier.ConversationActions.Request.Builder setConversationId(@Nullable String);
-    method public android.view.textclassifier.ConversationActions.Request.Builder setHints(@Nullable java.util.List<java.lang.String>);
+    method @NonNull public android.view.textclassifier.ConversationActions.Request.Builder setHints(@Nullable java.util.List<java.lang.String>);
     method @NonNull public android.view.textclassifier.ConversationActions.Request.Builder setMaxSuggestions(@IntRange(from=0xffffffff) int);
     method @NonNull public android.view.textclassifier.ConversationActions.Request.Builder setTypeConfig(@Nullable android.view.textclassifier.TextClassifier.EntityConfig);
   }
@@ -53819,7 +53799,7 @@
     method public default boolean isDestroyed();
     method public default void onSelectionEvent(@NonNull android.view.textclassifier.SelectionEvent);
     method public default void onTextClassifierEvent(@NonNull android.view.textclassifier.TextClassifierEvent);
-    method @WorkerThread public default android.view.textclassifier.ConversationActions suggestConversationActions(@NonNull android.view.textclassifier.ConversationActions.Request);
+    method @WorkerThread @NonNull public default android.view.textclassifier.ConversationActions suggestConversationActions(@NonNull android.view.textclassifier.ConversationActions.Request);
     method @WorkerThread @NonNull public default android.view.textclassifier.TextSelection suggestSelection(@NonNull android.view.textclassifier.TextSelection.Request);
     method @WorkerThread @NonNull public default android.view.textclassifier.TextSelection suggestSelection(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int, @Nullable android.os.LocaleList);
     field public static final String EXTRA_FROM_TEXT_CLASSIFIER = "android.view.textclassifier.extra.FROM_TEXT_CLASSIFIER";
@@ -53864,7 +53844,7 @@
     method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig build();
     method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig.Builder includeTypesFromTextClassifier(boolean);
     method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig.Builder setExcludedTypes(@Nullable java.util.Collection<java.lang.String>);
-    method public android.view.textclassifier.TextClassifier.EntityConfig.Builder setHints(java.util.Collection<java.lang.String>);
+    method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig.Builder setHints(@Nullable java.util.Collection<java.lang.String>);
     method @NonNull public android.view.textclassifier.TextClassifier.EntityConfig.Builder setIncludedTypes(@Nullable java.util.Collection<java.lang.String>);
   }
 
@@ -53989,7 +53969,7 @@
     method @NonNull public android.view.textclassifier.TextLinks.Builder addLink(int, int, @NonNull java.util.Map<java.lang.String,java.lang.Float>, @NonNull android.os.Bundle);
     method @NonNull public android.view.textclassifier.TextLinks build();
     method @NonNull public android.view.textclassifier.TextLinks.Builder clearTextLinks();
-    method public android.view.textclassifier.TextLinks.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.TextLinks.Builder setExtras(@Nullable android.os.Bundle);
   }
 
   public static final class TextLinks.Request implements android.os.Parcelable {
@@ -54046,7 +54026,7 @@
     ctor public TextSelection.Builder(@IntRange(from=0) int, @IntRange(from=0) int);
     method @NonNull public android.view.textclassifier.TextSelection build();
     method @NonNull public android.view.textclassifier.TextSelection.Builder setEntityType(@NonNull String, @FloatRange(from=0.0, to=1.0) float);
-    method public android.view.textclassifier.TextSelection.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.TextSelection.Builder setExtras(@Nullable android.os.Bundle);
     method @NonNull public android.view.textclassifier.TextSelection.Builder setId(@Nullable String);
   }
 
@@ -54066,7 +54046,7 @@
     ctor public TextSelection.Request.Builder(@NonNull CharSequence, @IntRange(from=0) int, @IntRange(from=0) int);
     method @NonNull public android.view.textclassifier.TextSelection.Request build();
     method @NonNull public android.view.textclassifier.TextSelection.Request.Builder setDefaultLocales(@Nullable android.os.LocaleList);
-    method public android.view.textclassifier.TextSelection.Request.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.view.textclassifier.TextSelection.Request.Builder setExtras(@Nullable android.os.Bundle);
   }
 
 }
@@ -54552,7 +54532,7 @@
     method public abstract boolean getDomStorageEnabled();
     method public abstract String getFantasyFontFamily();
     method public abstract String getFixedFontFamily();
-    method public int getForceDarkMode();
+    method public int getForceDark();
     method public abstract boolean getJavaScriptCanOpenWindowsAutomatically();
     method public abstract boolean getJavaScriptEnabled();
     method public abstract android.webkit.WebSettings.LayoutAlgorithm getLayoutAlgorithm();
@@ -54599,7 +54579,7 @@
     method @Deprecated public abstract void setEnableSmoothTransition(boolean);
     method public abstract void setFantasyFontFamily(String);
     method public abstract void setFixedFontFamily(String);
-    method public void setForceDarkMode(int);
+    method public void setForceDark(int);
     method @Deprecated public abstract void setGeolocationDatabasePath(String);
     method public abstract void setGeolocationEnabled(boolean);
     method public abstract void setJavaScriptCanOpenWindowsAutomatically(boolean);
@@ -54630,9 +54610,9 @@
     method public abstract void setUserAgentString(@Nullable String);
     method public abstract boolean supportMultipleWindows();
     method public abstract boolean supportZoom();
-    field public static final int FORCE_DARK_AUTO = 0; // 0x0
-    field public static final int FORCE_DARK_OFF = -1; // 0xffffffff
-    field public static final int FORCE_DARK_ON = 1; // 0x1
+    field public static final int FORCE_DARK_AUTO = 1; // 0x1
+    field public static final int FORCE_DARK_OFF = 0; // 0x0
+    field public static final int FORCE_DARK_ON = 2; // 0x2
     field public static final int LOAD_CACHE_ELSE_NETWORK = 1; // 0x1
     field public static final int LOAD_CACHE_ONLY = 3; // 0x3
     field public static final int LOAD_DEFAULT = -1; // 0xffffffff
@@ -54755,8 +54735,8 @@
     method @NonNull public static ClassLoader getWebViewClassLoader();
     method public android.webkit.WebViewClient getWebViewClient();
     method @NonNull public android.os.Looper getWebViewLooper();
-    method @Nullable public android.webkit.WebViewRenderer getWebViewRenderer();
-    method @Nullable public android.webkit.WebViewRendererClient getWebViewRendererClient();
+    method @Nullable public android.webkit.WebViewRenderProcess getWebViewRenderProcess();
+    method @Nullable public android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient();
     method public void goBack();
     method public void goBackOrForward(int);
     method public void goForward();
@@ -54806,8 +54786,8 @@
     method public void setWebChromeClient(android.webkit.WebChromeClient);
     method public static void setWebContentsDebuggingEnabled(boolean);
     method public void setWebViewClient(android.webkit.WebViewClient);
-    method public void setWebViewRendererClient(@NonNull java.util.concurrent.Executor, @NonNull android.webkit.WebViewRendererClient);
-    method public void setWebViewRendererClient(@Nullable android.webkit.WebViewRendererClient);
+    method public void setWebViewRenderProcessClient(@NonNull java.util.concurrent.Executor, @NonNull android.webkit.WebViewRenderProcessClient);
+    method public void setWebViewRenderProcessClient(@Nullable android.webkit.WebViewRenderProcessClient);
     method @Deprecated public boolean shouldDelayChildPressedState();
     method @Deprecated public boolean showFindDialog(@Nullable String, boolean);
     method public static void startSafeBrowsing(@NonNull android.content.Context, @Nullable android.webkit.ValueCallback<java.lang.Boolean>);
@@ -54923,14 +54903,15 @@
     method @Deprecated public android.webkit.WebView getWebView();
   }
 
-  public abstract class WebViewRenderer {
+  public abstract class WebViewRenderProcess {
+    ctor public WebViewRenderProcess();
     method public abstract boolean terminate();
   }
 
-  public abstract class WebViewRendererClient {
-    ctor public WebViewRendererClient();
-    method public abstract void onRendererResponsive(@NonNull android.webkit.WebView, @Nullable android.webkit.WebViewRenderer);
-    method public abstract void onRendererUnresponsive(@NonNull android.webkit.WebView, @Nullable android.webkit.WebViewRenderer);
+  public abstract class WebViewRenderProcessClient {
+    ctor public WebViewRenderProcessClient();
+    method public abstract void onRenderProcessResponsive(@NonNull android.webkit.WebView, @Nullable android.webkit.WebViewRenderProcess);
+    method public abstract void onRenderProcessUnresponsive(@NonNull android.webkit.WebView, @Nullable android.webkit.WebViewRenderProcess);
   }
 
 }
@@ -56237,7 +56218,7 @@
     field public static final int SOURCE_BOUND_MAX_VISIBLE = 1; // 0x1
   }
 
-  public static class Magnifier.Builder {
+  public static final class Magnifier.Builder {
     ctor public Magnifier.Builder(@NonNull android.view.View);
     method @NonNull public android.widget.Magnifier build();
     method @NonNull public android.widget.Magnifier.Builder setClippingEnabled(boolean);
@@ -56308,7 +56289,7 @@
     method public String[] getDisplayedValues();
     method public int getMaxValue();
     method public int getMinValue();
-    method public int getSelectionDividerHeight();
+    method @Px public int getSelectionDividerHeight();
     method @ColorInt public int getTextColor();
     method @FloatRange(from=0.0, fromInclusive=false) public float getTextSize();
     method public int getValue();
@@ -56423,10 +56404,12 @@
     method public int getWindowLayoutType();
     method public boolean isAboveAnchor();
     method public boolean isAttachedInDecor();
-    method public boolean isClipToScreenEnabled();
+    method @Deprecated public boolean isClipToScreenEnabled();
+    method public boolean isClippedToScreen();
     method public boolean isClippingEnabled();
     method public boolean isFocusable();
-    method public boolean isLayoutInScreenEnabled();
+    method public boolean isLaidOutInScreen();
+    method @Deprecated public boolean isLayoutInScreenEnabled();
     method public boolean isOutsideTouchable();
     method public boolean isShowing();
     method public boolean isSplitTouchEnabled();
@@ -56435,7 +56418,7 @@
     method public void setAnimationStyle(int);
     method public void setAttachedInDecor(boolean);
     method public void setBackgroundDrawable(android.graphics.drawable.Drawable);
-    method public void setClipToScreenEnabled(boolean);
+    method @Deprecated public void setClipToScreenEnabled(boolean);
     method public void setClippingEnabled(boolean);
     method public void setContentView(android.view.View);
     method public void setElevation(float);
@@ -56446,7 +56429,9 @@
     method public void setHeight(int);
     method public void setIgnoreCheekPress();
     method public void setInputMethodMode(int);
-    method public void setLayoutInScreenEnabled(boolean);
+    method public void setIsClippedToScreen(boolean);
+    method public void setIsLaidOutInScreen(boolean);
+    method @Deprecated public void setLayoutInScreenEnabled(boolean);
     method public void setOnDismissListener(android.widget.PopupWindow.OnDismissListener);
     method public void setOutsideTouchable(boolean);
     method public void setOverlapAnchor(boolean);
@@ -56786,7 +56771,7 @@
     method public boolean isFillViewport();
     method public boolean isSmoothScrollingEnabled();
     method public boolean pageScroll(int);
-    method public void scrollToDescendant(android.view.View);
+    method public void scrollToDescendant(@NonNull android.view.View);
     method public void setBottomEdgeEffectColor(@ColorInt int);
     method public void setEdgeEffectColor(@ColorInt int);
     method public void setFillViewport(boolean);
@@ -58107,7 +58092,7 @@
   public final class DelegateLastClassLoader extends dalvik.system.PathClassLoader {
     ctor public DelegateLastClassLoader(String, ClassLoader);
     ctor public DelegateLastClassLoader(String, String, ClassLoader);
-    ctor public DelegateLastClassLoader(String, String, ClassLoader, boolean);
+    ctor public DelegateLastClassLoader(@NonNull String, @Nullable String, @Nullable ClassLoader, boolean);
   }
 
   public class DexClassLoader extends dalvik.system.BaseDexClassLoader {
diff --git a/api/removed.txt b/api/removed.txt
index fdfaf91..fa07094 100644
--- a/api/removed.txt
+++ b/api/removed.txt
@@ -288,6 +288,11 @@
     method @Deprecated public void removeVerticalAccuracy();
   }
 
+  public class LocationManager {
+    method @Deprecated @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public boolean addNmeaListener(android.location.GpsStatus.NmeaListener);
+    method @Deprecated public void removeNmeaListener(android.location.GpsStatus.NmeaListener);
+  }
+
 }
 
 package android.media {
diff --git a/api/system-current.txt b/api/system-current.txt
index 752640b..8c78b21 100644
--- a/api/system-current.txt
+++ b/api/system-current.txt
@@ -25,6 +25,7 @@
     field public static final String BIND_AUGMENTED_AUTOFILL_SERVICE = "android.permission.BIND_AUGMENTED_AUTOFILL_SERVICE";
     field @Deprecated public static final String BIND_CONNECTION_SERVICE = "android.permission.BIND_CONNECTION_SERVICE";
     field public static final String BIND_CONTENT_CAPTURE_SERVICE = "android.permission.BIND_CONTENT_CAPTURE_SERVICE";
+    field public static final String BIND_CONTENT_SUGGESTIONS_SERVICE = "android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE";
     field public static final String BIND_DIRECTORY_SEARCH = "android.permission.BIND_DIRECTORY_SEARCH";
     field public static final String BIND_EUICC_SERVICE = "android.permission.BIND_EUICC_SERVICE";
     field public static final String BIND_IMS_SERVICE = "android.permission.BIND_IMS_SERVICE";
@@ -160,9 +161,11 @@
     field public static final String REMOTE_DISPLAY_PROVIDER = "android.permission.REMOTE_DISPLAY_PROVIDER";
     field public static final String REMOVE_DRM_CERTIFICATES = "android.permission.REMOVE_DRM_CERTIFICATES";
     field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
+    field public static final String REQUEST_NOTIFICATION_ASSISTANT_SERVICE = "android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE";
     field public static final String RESET_PASSWORD = "android.permission.RESET_PASSWORD";
     field public static final String RESTRICTED_VR_ACCESS = "android.permission.RESTRICTED_VR_ACCESS";
     field public static final String RETRIEVE_WINDOW_CONTENT = "android.permission.RETRIEVE_WINDOW_CONTENT";
+    field public static final String REVIEW_ACCESSIBILITY_SERVICES = "android.permission.REVIEW_ACCESSIBILITY_SERVICES";
     field public static final String REVOKE_RUNTIME_PERMISSIONS = "android.permission.REVOKE_RUNTIME_PERMISSIONS";
     field public static final String SCORE_NETWORKS = "android.permission.SCORE_NETWORKS";
     field public static final String SEND_DEVICE_CUSTOMIZATION_READY = "android.permission.SEND_DEVICE_CUSTOMIZATION_READY";
@@ -209,7 +212,6 @@
 
   public static final class R.attr {
     field public static final int allowClearUserDataOnFailedRestore = 16844198; // 0x10105a6
-    field public static final int inheritShowWhenLocked = 16844194; // 0x10105a2
     field public static final int isVrOnly = 16844152; // 0x1010578
     field public static final int requiredSystemPropertyName = 16844133; // 0x1010565
     field public static final int requiredSystemPropertyValue = 16844134; // 0x1010566
@@ -229,7 +231,6 @@
   }
 
   public static final class R.dimen {
-    field public static final int config_mediaMetadataBitmapMaxSize = 17104904; // 0x1050008
     field public static final int config_restrictedIconSize = 17104903; // 0x1050007
   }
 
@@ -279,7 +280,6 @@
     method public boolean convertToTranslucent(android.app.Activity.TranslucentConversionListener, android.app.ActivityOptions);
     method @Deprecated public boolean isBackgroundVisibleBehind();
     method @Deprecated public void onBackgroundVisibleBehindChanged(boolean);
-    method public void setInheritShowWhenLocked(boolean);
   }
 
   public static interface Activity.TranslucentConversionListener {
@@ -312,7 +312,7 @@
   public class AppOpsManager {
     method @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public void getHistoricalOps(@NonNull android.app.AppOpsManager.HistoricalOpsRequest, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<android.app.AppOpsManager.HistoricalOps>);
     method public static String[] getOpStrs();
-    method @Deprecated @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, String, int[]);
+    method @Deprecated @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, @NonNull String, @Nullable int[]);
     method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getOpsForPackage(int, @NonNull String, @Nullable java.lang.String...);
     method @NonNull @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS) public java.util.List<android.app.AppOpsManager.PackageOps> getPackagesForOps(@Nullable String[]);
     method public static int opToDefaultMode(@NonNull String);
@@ -465,7 +465,7 @@
 
   public static final class AppOpsManager.PackageOps implements android.os.Parcelable {
     method public int describeContents();
-    method public java.util.List<android.app.AppOpsManager.OpEntry> getOps();
+    method @NonNull public java.util.List<android.app.AppOpsManager.OpEntry> getOps();
     method @NonNull public String getPackageName();
     method public int getUid();
     method public void writeToParcel(android.os.Parcel, int);
@@ -474,7 +474,7 @@
 
   public class BroadcastOptions {
     method public static android.app.BroadcastOptions makeBasic();
-    method @RequiresPermission("android.permission.START_ACTIVITIES_FROM_BACKGROUND") public void setAllowBackgroundActivityStarts(boolean);
+    method @RequiresPermission("android.permission.START_ACTIVITIES_FROM_BACKGROUND") public void setBackgroundActivityStartsAllowed(boolean);
     method public void setDontSendToRestrictedApps(boolean);
     method @RequiresPermission(android.Manifest.permission.CHANGE_DEVICE_IDLE_TEMP_WHITELIST) public void setTemporaryAppWhitelistDuration(long);
     method public android.os.Bundle toBundle();
@@ -546,9 +546,8 @@
 
   public class NotificationManager {
     method @Nullable public android.content.ComponentName getAllowedNotificationAssistant();
-    method @Nullable public android.content.ComponentName getAllowedNotificationAssistantForUser(android.os.UserHandle);
-    method public void setNotificationAssistantAccessGranted(android.content.ComponentName, boolean);
-    method public void setNotificationAssistantAccessGrantedForUser(android.content.ComponentName, android.os.UserHandle, boolean);
+    method public boolean isNotificationAssistantAccessGranted(@NonNull android.content.ComponentName);
+    method public void setNotificationAssistantAccessGranted(@Nullable android.content.ComponentName, boolean);
   }
 
   public final class StatsManager {
@@ -666,7 +665,6 @@
     method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<java.lang.String> getPermittedAccessibilityServices(int);
     method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<java.lang.String> getPermittedInputMethodsForCurrentUser();
     method @Nullable public android.content.ComponentName getProfileOwner() throws java.lang.IllegalArgumentException;
-    method @Nullable @RequiresPermission(value=android.Manifest.permission.INTERACT_ACROSS_USERS, conditional=true) public android.content.ComponentName getProfileOwnerAsUser(@NonNull android.os.UserHandle);
     method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getProfileOwnerNameAsUser(int) throws java.lang.IllegalArgumentException;
     method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public int getUserProvisioningState();
     method public boolean isDeviceManaged();
@@ -679,7 +677,7 @@
     method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public boolean packageHasActiveAdmins(String);
     method @Deprecated @RequiresPermission("android.permission.MANAGE_DEVICE_ADMINS") public boolean setActiveProfileOwner(@NonNull android.content.ComponentName, String) throws java.lang.IllegalArgumentException;
     method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setDeviceProvisioningConfigApplied();
-    method @RequiresPermission(value=android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS, conditional=true) public void setProfileOwnerCanAccessDeviceIdsForUser(@NonNull android.content.ComponentName, @NonNull android.os.UserHandle);
+    method @RequiresPermission(value=android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS, conditional=true) public void setProfileOwnerCanAccessDeviceIds(@NonNull android.content.ComponentName);
     field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_ALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_ALLOWED";
     field public static final String ACCOUNT_FEATURE_DEVICE_OR_PROFILE_OWNER_DISALLOWED = "android.account.DEVICE_OR_PROFILE_OWNER_DISALLOWED";
     field public static final String ACTION_PROVISION_FINALIZATION = "android.app.action.PROVISION_FINALIZATION";
@@ -925,8 +923,10 @@
     method public int restoreAll(long, android.app.backup.RestoreObserver);
     method public int restorePackage(String, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor);
     method public int restorePackage(String, android.app.backup.RestoreObserver);
-    method public int restoreSome(long, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor, String[]);
-    method public int restoreSome(long, android.app.backup.RestoreObserver, String[]);
+    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>, @Nullable android.app.backup.BackupManagerMonitor);
+    method public int restorePackages(long, @Nullable android.app.backup.RestoreObserver, @NonNull java.util.Set<java.lang.String>);
+    method @Deprecated public int restoreSome(long, android.app.backup.RestoreObserver, android.app.backup.BackupManagerMonitor, String[]);
+    method @Deprecated public int restoreSome(long, android.app.backup.RestoreObserver, String[]);
   }
 
   public class RestoreSet implements android.os.Parcelable {
@@ -984,6 +984,7 @@
 
   public final class ContentSuggestionsManager {
     method public void classifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
+    method public boolean isEnabled();
     method public void notifyInteraction(@NonNull String, @NonNull android.os.Bundle);
     method public void provideContextImage(int, @NonNull android.os.Bundle);
     method public void suggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull java.util.concurrent.Executor, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
@@ -1029,22 +1030,22 @@
     method public int describeContents();
     method @Nullable public android.os.Bundle getExtras();
     method @NonNull public String getPackageName();
-    method public int getPredictedTargetCount();
-    method public String getUiSurface();
-    method public void writeToParcel(android.os.Parcel, int);
+    method @IntRange(from=0) public int getPredictedTargetCount();
+    method @NonNull public String getUiSurface();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
   }
 
   public static final class AppPredictionContext.Builder {
     ctor public AppPredictionContext.Builder(@NonNull android.content.Context);
-    method public android.app.prediction.AppPredictionContext build();
-    method public android.app.prediction.AppPredictionContext.Builder setExtras(@Nullable android.os.Bundle);
-    method public android.app.prediction.AppPredictionContext.Builder setPredictedTargetCount(int);
-    method public android.app.prediction.AppPredictionContext.Builder setUiSurface(@Nullable String);
+    method @NonNull public android.app.prediction.AppPredictionContext build();
+    method @NonNull public android.app.prediction.AppPredictionContext.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.app.prediction.AppPredictionContext.Builder setPredictedTargetCount(@IntRange(from=0) int);
+    method @NonNull public android.app.prediction.AppPredictionContext.Builder setUiSurface(@NonNull String);
   }
 
   public final class AppPredictionManager {
-    method public android.app.prediction.AppPredictor createAppPredictionSession(@NonNull android.app.prediction.AppPredictionContext);
+    method @NonNull public android.app.prediction.AppPredictor createAppPredictionSession(@NonNull android.app.prediction.AppPredictionContext);
   }
 
   public final class AppPredictionSessionId implements android.os.Parcelable {
@@ -1074,7 +1075,7 @@
     method @Nullable public String getClassName();
     method @NonNull public android.app.prediction.AppTargetId getId();
     method @NonNull public String getPackageName();
-    method public int getRank();
+    method @IntRange(from=0) public int getRank();
     method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
     method @NonNull public android.os.UserHandle getUser();
     method public void writeToParcel(android.os.Parcel, int);
@@ -1083,8 +1084,8 @@
 
   public final class AppTargetEvent implements android.os.Parcelable {
     method public int describeContents();
-    method @NonNull public int getAction();
-    method @NonNull public String getLaunchLocation();
+    method public int getAction();
+    method @Nullable public String getLaunchLocation();
     method @Nullable public android.app.prediction.AppTarget getTarget();
     method public void writeToParcel(android.os.Parcel, int);
     field public static final int ACTION_DISMISS = 2; // 0x2
@@ -1095,8 +1096,8 @@
 
   public static final class AppTargetEvent.Builder {
     ctor public AppTargetEvent.Builder(@Nullable android.app.prediction.AppTarget, int);
-    method public android.app.prediction.AppTargetEvent build();
-    method public android.app.prediction.AppTargetEvent.Builder setLaunchLocation(String);
+    method @NonNull public android.app.prediction.AppTargetEvent build();
+    method @NonNull public android.app.prediction.AppTargetEvent.Builder setLaunchLocation(@Nullable String);
   }
 
   public final class AppTargetId implements android.os.Parcelable {
@@ -1114,26 +1115,33 @@
     method public void onRoleHoldersChanged(@NonNull String, @NonNull android.os.UserHandle);
   }
 
+  public abstract class RoleControllerService extends android.app.Service {
+    ctor public RoleControllerService();
+    method @WorkerThread public abstract boolean onAddRoleHolder(@NonNull String, @NonNull String, int);
+    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
+    method @WorkerThread public abstract boolean onClearRoleHolders(@NonNull String, int);
+    method @WorkerThread public abstract boolean onGrantDefaultRoles();
+    method public abstract boolean onIsApplicationQualifiedForRole(@NonNull String, @NonNull String);
+    method public abstract boolean onIsRoleVisible(@NonNull String);
+    method @WorkerThread public abstract boolean onRemoveRoleHolder(@NonNull String, @NonNull String, int);
+    field public static final String SERVICE_INTERFACE = "android.app.role.RoleControllerService";
+  }
+
   public final class RoleManager {
     method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void addOnRoleHoldersChangedListenerAsUser(@NonNull java.util.concurrent.Executor, @NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
-    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void addRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.app.role.RoleManagerCallback);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void addRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
     method @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean addRoleHolderFromController(@NonNull String, @NonNull String);
-    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void clearRoleHoldersAsUser(@NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.app.role.RoleManagerCallback);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void clearRoleHoldersAsUser(@NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
     method @NonNull @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public java.util.List<java.lang.String> getHeldRolesFromController(@NonNull String);
     method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHolders(@NonNull String);
     method @NonNull @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public java.util.List<java.lang.String> getRoleHoldersAsUser(@NonNull String, @NonNull android.os.UserHandle);
     method @RequiresPermission(android.Manifest.permission.OBSERVE_ROLE_HOLDERS) public void removeOnRoleHoldersChangedListenerAsUser(@NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
-    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void removeRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.app.role.RoleManagerCallback);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLE_HOLDERS) public void removeRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
     method @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean removeRoleHolderFromController(@NonNull String, @NonNull String);
     method @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public void setRoleNamesFromController(@NonNull java.util.List<java.lang.String>);
     field public static final int MANAGE_HOLDERS_FLAG_DONT_KILL_APP = 1; // 0x1
   }
 
-  public interface RoleManagerCallback {
-    method public void onFailure();
-    method public void onSuccess();
-  }
-
 }
 
 package android.app.usage {
@@ -1190,7 +1198,8 @@
     method public int getUsageSource();
     method @RequiresPermission(allOf={android.Manifest.permission.SUSPEND_APPS, android.Manifest.permission.OBSERVE_APP_USAGE}) public void registerAppUsageLimitObserver(int, @NonNull String[], @NonNull java.time.Duration, @NonNull java.time.Duration, @Nullable android.app.PendingIntent);
     method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerAppUsageObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent);
-    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerUsageSessionObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent, @Nullable android.app.PendingIntent);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerUsageSessionObserver(int, @NonNull String[], long, @NonNull java.util.concurrent.TimeUnit, long, @NonNull java.util.concurrent.TimeUnit, @NonNull android.app.PendingIntent, @Nullable android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE) public void registerUsageSessionObserver(int, @NonNull String[], @NonNull java.time.Duration, @NonNull java.time.Duration, @NonNull android.app.PendingIntent, @Nullable android.app.PendingIntent);
     method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String);
     method public void reportUsageStart(@NonNull android.app.Activity, @NonNull String, long);
     method public void reportUsageStop(@NonNull android.app.Activity, @NonNull String);
@@ -1413,7 +1422,7 @@
     field public static final String ACTION_PRE_BOOT_COMPLETED = "android.intent.action.PRE_BOOT_COMPLETED";
     field public static final String ACTION_QUERY_PACKAGE_RESTART = "android.intent.action.QUERY_PACKAGE_RESTART";
     field public static final String ACTION_RESOLVE_INSTANT_APP_PACKAGE = "android.intent.action.RESOLVE_INSTANT_APP_PACKAGE";
-    field public static final String ACTION_REVIEW_ACCESSIBILITY_SERVICES = "android.intent.action.REVIEW_ACCESSIBILITY_SERVICES";
+    field @RequiresPermission(android.Manifest.permission.REVIEW_ACCESSIBILITY_SERVICES) public static final String ACTION_REVIEW_ACCESSIBILITY_SERVICES = "android.intent.action.REVIEW_ACCESSIBILITY_SERVICES";
     field @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public static final String ACTION_REVIEW_APP_PERMISSION_USAGE = "android.intent.action.REVIEW_APP_PERMISSION_USAGE";
     field public static final String ACTION_REVIEW_PERMISSIONS = "android.intent.action.REVIEW_PERMISSIONS";
     field public static final String ACTION_REVIEW_PERMISSION_USAGE = "android.intent.action.REVIEW_PERMISSION_USAGE";
@@ -1559,23 +1568,26 @@
 
   public static class PackageInstaller.SessionInfo implements android.os.Parcelable {
     method public boolean getAllocateAggressive();
-    method public boolean getAllowDowngrade();
+    method @Deprecated public boolean getAllowDowngrade();
     method public boolean getDontKillApp();
+    method public boolean getEnableRollback();
     method @Nullable public String[] getGrantedRuntimePermissions();
     method public boolean getInstallAsFullApp(boolean);
     method public boolean getInstallAsInstantApp(boolean);
     method public boolean getInstallAsVirtualPreload();
+    method public boolean getRequestDowngrade();
   }
 
   public static class PackageInstaller.SessionParams implements android.os.Parcelable {
     method @RequiresPermission(android.Manifest.permission.ALLOCATE_AGGRESSIVE) public void setAllocateAggressive(boolean);
-    method public void setAllowDowngrade(boolean);
+    method @Deprecated public void setAllowDowngrade(boolean);
     method public void setDontKillApp(boolean);
-    method public void setEnableRollback();
+    method public void setEnableRollback(boolean);
     method @RequiresPermission(android.Manifest.permission.INSTALL_GRANT_RUNTIME_PERMISSIONS) public void setGrantedRuntimePermissions(String[]);
     method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex();
     method public void setInstallAsInstantApp(boolean);
     method public void setInstallAsVirtualPreload();
+    method public void setRequestDowngrade(boolean);
     method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged();
   }
 
@@ -1592,7 +1604,6 @@
     method @RequiresPermission("android.permission.OBSERVE_GRANT_REVOKE_PERMISSIONS") public abstract void addOnPermissionsChangeListener(android.content.pm.PackageManager.OnPermissionsChangedListener);
     method public abstract boolean arePermissionsIndividuallyControlled();
     method public abstract java.util.List<android.content.IntentFilter> getAllIntentFilters(String);
-    method public boolean getAppDetailsActivityEnabled(@NonNull String);
     method @NonNull @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS) public android.content.pm.ApplicationInfo getApplicationInfoAsUser(@NonNull String, int, @NonNull android.os.UserHandle) throws android.content.pm.PackageManager.NameNotFoundException;
     method @NonNull public android.content.pm.dex.ArtManager getArtManager();
     method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract String getDefaultBrowserPackageNameAsUser(int);
@@ -1605,7 +1616,8 @@
     method @NonNull @RequiresPermission(android.Manifest.permission.ACCESS_INSTANT_APPS) public abstract java.util.List<android.content.pm.InstantAppInfo> getInstantApps();
     method public abstract java.util.List<android.content.pm.IntentFilterVerificationInfo> getIntentFilterVerifications(String);
     method @RequiresPermission(android.Manifest.permission.INTERACT_ACROSS_USERS_FULL) public abstract int getIntentVerificationStatusAsUser(String, int);
-    method @android.content.pm.PackageManager.PermissionFlags @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS}) public abstract int getPermissionFlags(String, String, @NonNull android.os.UserHandle);
+    method @android.content.pm.PackageManager.PermissionFlags @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS, android.Manifest.permission.GET_RUNTIME_PERMISSIONS}) public abstract int getPermissionFlags(String, String, @NonNull android.os.UserHandle);
+    method public boolean getSyntheticAppDetailsActivityEnabled(@NonNull String);
     method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] getUnsuspendablePackages(@NonNull String[]);
     method @RequiresPermission(android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS) public abstract void grantRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
     method @Deprecated public abstract int installExistingPackage(String) throws android.content.pm.PackageManager.NameNotFoundException;
@@ -1619,12 +1631,12 @@
     method @Deprecated public void replacePreferredActivity(@NonNull android.content.IntentFilter, int, @NonNull java.util.List<android.content.ComponentName>, @NonNull android.content.ComponentName);
     method @RequiresPermission(android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS) public abstract void revokeRuntimePermission(@NonNull String, @NonNull String, @NonNull android.os.UserHandle);
     method public void sendDeviceCustomizationReadyBroadcast();
-    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public void setAppDetailsActivityEnabled(@NonNull String, boolean);
     method @RequiresPermission(allOf={android.Manifest.permission.SET_PREFERRED_APPLICATIONS, android.Manifest.permission.INTERACT_ACROSS_USERS_FULL}) public abstract boolean setDefaultBrowserPackageNameAsUser(String, int);
     method @NonNull @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setDistractingPackageRestrictions(@NonNull String[], int);
     method @RequiresPermission(android.Manifest.permission.SET_HARMFUL_APP_WARNINGS) public void setHarmfulAppWarning(@NonNull String, @Nullable CharSequence);
     method @Deprecated @Nullable @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setPackagesSuspended(@Nullable String[], boolean, @Nullable android.os.PersistableBundle, @Nullable android.os.PersistableBundle, @Nullable String);
     method @Nullable @RequiresPermission(android.Manifest.permission.SUSPEND_APPS) public String[] setPackagesSuspended(@Nullable String[], boolean, @Nullable android.os.PersistableBundle, @Nullable android.os.PersistableBundle, @Nullable android.content.pm.SuspendDialogInfo);
+    method @RequiresPermission(value=android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE, conditional=true) public void setSyntheticAppDetailsActivityEnabled(@NonNull String, boolean);
     method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public abstract void setUpdateAvailable(String, boolean);
     method @RequiresPermission(android.Manifest.permission.SET_PREFERRED_APPLICATIONS) public abstract boolean updateIntentVerificationStatusAsUser(String, int, int);
     method @RequiresPermission(anyOf={android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS, android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS}) public abstract void updatePermissionFlags(String, String, @android.content.pm.PackageManager.PermissionFlags int, @android.content.pm.PackageManager.PermissionFlags int, @NonNull android.os.UserHandle);
@@ -1640,6 +1652,8 @@
     field public static final int FLAG_PERMISSION_REVOKE_ON_UPGRADE = 8; // 0x8
     field public static final int FLAG_PERMISSION_SYSTEM_FIXED = 16; // 0x10
     field public static final int FLAG_PERMISSION_USER_FIXED = 2; // 0x2
+    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED = 512; // 0x200
+    field public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED = 256; // 0x100
     field public static final int FLAG_PERMISSION_USER_SET = 1; // 0x1
     field public static final int INSTALL_FAILED_ALREADY_EXISTS = -1; // 0xffffffff
     field public static final int INSTALL_FAILED_CONFLICTING_PROVIDER = -13; // 0xfffffff3
@@ -1685,7 +1699,7 @@
     field public static final int INTENT_FILTER_DOMAIN_VERIFICATION_STATUS_UNDEFINED = 0; // 0x0
     field public static final int INTENT_FILTER_VERIFICATION_FAILURE = -1; // 0xffffffff
     field public static final int INTENT_FILTER_VERIFICATION_SUCCESS = 1; // 0x1
-    field public static final int MASK_PERMISSION_FLAGS = 255; // 0xff
+    field @Deprecated public static final int MASK_PERMISSION_FLAGS = 255; // 0xff
     field public static final int MATCH_ANY_USER = 4194304; // 0x400000
     field public static final int MATCH_FACTORY_ONLY = 2097152; // 0x200000
     field public static final int MATCH_INSTANT = 8388608; // 0x800000
@@ -1703,13 +1717,13 @@
     method public void onPermissionsChanged(int);
   }
 
-  @IntDef(prefix={"FLAG_PERMISSION_"}, value={android.content.pm.PackageManager.FLAG_PERMISSION_USER_SET, android.content.pm.PackageManager.FLAG_PERMISSION_USER_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_POLICY_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_REVOKE_ON_UPGRADE, android.content.pm.PackageManager.FLAG_PERMISSION_SYSTEM_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PackageManager.PermissionFlags {
+  @IntDef(prefix={"FLAG_PERMISSION_"}, value={android.content.pm.PackageManager.FLAG_PERMISSION_USER_SET, android.content.pm.PackageManager.FLAG_PERMISSION_USER_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_POLICY_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_REVOKE_ON_UPGRADE, android.content.pm.PackageManager.FLAG_PERMISSION_SYSTEM_FIXED, android.content.pm.PackageManager.FLAG_PERMISSION_GRANTED_BY_DEFAULT, android.content.pm.PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED, android.content.pm.PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED}) @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) public static @interface PackageManager.PermissionFlags {
   }
 
   public class PermissionGroupInfo extends android.content.pm.PackageItemInfo implements android.os.Parcelable {
-    field @StringRes public int backgroundRequestDetailResourceId;
-    field @StringRes public int backgroundRequestResourceId;
-    field @StringRes public int requestDetailResourceId;
+    field @StringRes public final int backgroundRequestDetailResourceId;
+    field @StringRes public final int backgroundRequestResourceId;
+    field @StringRes public final int requestDetailResourceId;
     field @StringRes public int requestRes;
   }
 
@@ -1722,8 +1736,8 @@
     field public static final int PROTECTION_FLAG_OEM = 16384; // 0x4000
     field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000
     field public static final int PROTECTION_FLAG_WELLBEING = 131072; // 0x20000
-    field public String backgroundPermission;
-    field public int requestRes;
+    field @Nullable public final String backgroundPermission;
+    field @StringRes public int requestRes;
   }
 
   public class ResolveInfo implements android.os.Parcelable {
@@ -1741,9 +1755,9 @@
 
   public static final class ShortcutManager.ShareShortcutInfo implements android.os.Parcelable {
     method public int describeContents();
-    method public android.content.pm.ShortcutInfo getShortcutInfo();
-    method public android.content.ComponentName getTargetComponent();
-    method public void writeToParcel(android.os.Parcel, int);
+    method @NonNull public android.content.pm.ShortcutInfo getShortcutInfo();
+    method @NonNull public android.content.ComponentName getTargetComponent();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.content.pm.ShortcutManager.ShareShortcutInfo> CREATOR;
   }
 
@@ -1803,18 +1817,18 @@
 
   public final class PackageRollbackInfo implements android.os.Parcelable {
     method public int describeContents();
-    method public String getPackageName();
-    method public android.content.pm.VersionedPackage getVersionRolledBackFrom();
-    method public android.content.pm.VersionedPackage getVersionRolledBackTo();
+    method @NonNull public String getPackageName();
+    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackFrom();
+    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackTo();
     method public void writeToParcel(android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.PackageRollbackInfo> CREATOR;
   }
 
   public final class RollbackInfo implements android.os.Parcelable {
     method public int describeContents();
-    method public java.util.List<android.content.pm.VersionedPackage> getCausePackages();
+    method @NonNull public java.util.List<android.content.pm.VersionedPackage> getCausePackages();
     method public int getCommittedSessionId();
-    method public java.util.List<android.content.rollback.PackageRollbackInfo> getPackages();
+    method @NonNull public java.util.List<android.content.rollback.PackageRollbackInfo> getPackages();
     method public int getRollbackId();
     method public boolean isStaged();
     method public void writeToParcel(android.os.Parcel, int);
@@ -1823,10 +1837,8 @@
 
   public final class RollbackManager {
     method @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) public void commitRollback(int, @NonNull java.util.List<android.content.pm.VersionedPackage>, @NonNull android.content.IntentSender);
-    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) public void expireRollbackForPackage(@NonNull String);
-    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) public java.util.List<android.content.rollback.RollbackInfo> getAvailableRollbacks();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) @NonNull public java.util.List<android.content.rollback.RollbackInfo> getAvailableRollbacks();
     method @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) @NonNull public java.util.List<android.content.rollback.RollbackInfo> getRecentlyCommittedRollbacks();
-    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) public void reloadPersistedData();
     field public static final String EXTRA_STATUS = "android.content.rollback.extra.STATUS";
     field public static final String EXTRA_STATUS_MESSAGE = "android.content.rollback.extra.STATUS_MESSAGE";
     field public static final int STATUS_FAILURE = 1; // 0x1
@@ -3056,81 +3068,75 @@
 
   public final class GnssMeasurementCorrections implements android.os.Parcelable {
     method public int describeContents();
-    method public double getAltitudeMeters();
-    method public double getHorizontalPositionUncertaintyMeters();
-    method public double getLatitudeDegrees();
-    method public double getLongitudeDegrees();
-    method @Nullable public java.util.List<android.location.GnssSingleSatCorrection> getSingleSatelliteCorrectionList();
-    method public long getToaGpsNanosecondsOfWeek();
-    method public double getVerticalPositionUncertaintyMeters();
-    method public void writeToParcel(android.os.Parcel, int);
-    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssMeasurementCorrections> CREATOR;
+    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
+    method @FloatRange(from=0.0f) public double getHorizontalPositionUncertaintyMeters();
+    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
+    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
+    method @NonNull public java.util.List<android.location.GnssSingleSatCorrection> getSingleSatelliteCorrectionList();
+    method @IntRange(from=0) public long getToaGpsNanosecondsOfWeek();
+    method @FloatRange(from=0.0f) public double getVerticalPositionUncertaintyMeters();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.location.GnssMeasurementCorrections> CREATOR;
   }
 
   public static final class GnssMeasurementCorrections.Builder {
     ctor public GnssMeasurementCorrections.Builder();
-    method public android.location.GnssMeasurementCorrections build();
-    method public android.location.GnssMeasurementCorrections.Builder setAltitudeMeters(double);
-    method public android.location.GnssMeasurementCorrections.Builder setHorizontalPositionUncertaintyMeters(double);
-    method public android.location.GnssMeasurementCorrections.Builder setLatitudeDegrees(double);
-    method public android.location.GnssMeasurementCorrections.Builder setLongitudeDegrees(double);
-    method public android.location.GnssMeasurementCorrections.Builder setSingleSatelliteCorrectionList(@Nullable java.util.List<android.location.GnssSingleSatCorrection>);
-    method public android.location.GnssMeasurementCorrections.Builder setToaGpsNanosecondsOfWeek(long);
-    method public android.location.GnssMeasurementCorrections.Builder setVerticalPositionUncertaintyMeters(double);
+    method @NonNull public android.location.GnssMeasurementCorrections build();
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setHorizontalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setSingleSatelliteCorrectionList(@NonNull java.util.List<android.location.GnssSingleSatCorrection>);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setToaGpsNanosecondsOfWeek(@IntRange(from=0) long);
+    method @NonNull public android.location.GnssMeasurementCorrections.Builder setVerticalPositionUncertaintyMeters(@FloatRange(from=0.0f) double);
   }
 
   public final class GnssReflectingPlane implements android.os.Parcelable {
     method public int describeContents();
-    method public double getAltitudeMeters();
-    method public double getAzimuthDegrees();
-    method public double getLatitudeDegrees();
-    method public double getLongitudeDegrees();
-    method public void writeToParcel(android.os.Parcel, int);
-    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssReflectingPlane> CREATOR;
+    method @FloatRange(from=-1000.0F, to=10000.0f) public double getAltitudeMeters();
+    method @FloatRange(from=0.0f, to=360.0f) public double getAzimuthDegrees();
+    method @FloatRange(from=-90.0F, to=90.0f) public double getLatitudeDegrees();
+    method @FloatRange(from=-180.0F, to=180.0f) public double getLongitudeDegrees();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.location.GnssReflectingPlane> CREATOR;
   }
 
   public static final class GnssReflectingPlane.Builder {
     ctor public GnssReflectingPlane.Builder();
-    method public android.location.GnssReflectingPlane build();
-    method public android.location.GnssReflectingPlane.Builder setAltitudeMeters(double);
-    method public android.location.GnssReflectingPlane.Builder setAzimuthDegrees(double);
-    method public android.location.GnssReflectingPlane.Builder setLatitudeDegrees(double);
-    method public android.location.GnssReflectingPlane.Builder setLongitudeDegrees(double);
+    method @NonNull public android.location.GnssReflectingPlane build();
+    method @NonNull public android.location.GnssReflectingPlane.Builder setAltitudeMeters(@FloatRange(from=-1000.0F, to=10000.0f) double);
+    method @NonNull public android.location.GnssReflectingPlane.Builder setAzimuthDegrees(@FloatRange(from=0.0f, to=360.0f) double);
+    method @NonNull public android.location.GnssReflectingPlane.Builder setLatitudeDegrees(@FloatRange(from=-90.0F, to=90.0f) double);
+    method @NonNull public android.location.GnssReflectingPlane.Builder setLongitudeDegrees(@FloatRange(from=-180.0F, to=180.0f) double);
   }
 
   public final class GnssSingleSatCorrection implements android.os.Parcelable {
     method public int describeContents();
-    method public float getCarrierFrequencyHz();
+    method @FloatRange(from=0.0f, fromInclusive=false) public float getCarrierFrequencyHz();
     method public int getConstellationType();
-    method public float getExcessPathLengthMeters();
-    method public float getExcessPathLengthUncertaintyMeters();
+    method @FloatRange(from=0.0f) public float getExcessPathLengthMeters();
+    method @FloatRange(from=0.0f) public float getExcessPathLengthUncertaintyMeters();
     method @FloatRange(from=0.0f, to=1.0f) public float getProbabilityLineOfSight();
     method @Nullable public android.location.GnssReflectingPlane getReflectingPlane();
-    method public int getSatelliteId();
-    method public int getSingleSatelliteCorrectionFlags();
+    method @IntRange(from=0) public int getSatelliteId();
     method public boolean hasExcessPathLength();
     method public boolean hasExcessPathLengthUncertainty();
     method public boolean hasReflectingPlane();
     method public boolean hasValidSatelliteLineOfSight();
-    method public void writeToParcel(android.os.Parcel, int);
-    field @NonNull public static final android.os.Parcelable.Creator<android.location.GnssSingleSatCorrection> CREATOR;
-    field public static final int HAS_EXCESS_PATH_LENGTH_MASK = 2; // 0x2
-    field public static final int HAS_EXCESS_PATH_LENGTH_UNC_MASK = 4; // 0x4
-    field public static final int HAS_PROB_SAT_IS_LOS_MASK = 1; // 0x1
-    field public static final int HAS_REFLECTING_PLANE_MASK = 8; // 0x8
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.location.GnssSingleSatCorrection> CREATOR;
   }
 
   public static final class GnssSingleSatCorrection.Builder {
     ctor public GnssSingleSatCorrection.Builder();
-    method public android.location.GnssSingleSatCorrection build();
-    method public android.location.GnssSingleSatCorrection.Builder setCarrierFrequencyHz(float);
-    method public android.location.GnssSingleSatCorrection.Builder setConstellationType(int);
-    method public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthMeters(float);
-    method public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthUncertaintyMeters(float);
-    method public android.location.GnssSingleSatCorrection.Builder setProbabilityLineOfSight(@FloatRange(from=0.0f, to=1.0f) float);
-    method public android.location.GnssSingleSatCorrection.Builder setReflectingPlane(android.location.GnssReflectingPlane);
-    method public android.location.GnssSingleSatCorrection.Builder setSatelliteId(int);
-    method public android.location.GnssSingleSatCorrection.Builder setSingleSatelliteCorrectionFlags(int);
+    method @NonNull public android.location.GnssSingleSatCorrection build();
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setCarrierFrequencyHz(@FloatRange(from=0.0f, fromInclusive=false) float);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setConstellationType(int);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthMeters(@FloatRange(from=0.0f) float);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setExcessPathLengthUncertaintyMeters(@FloatRange(from=0.0f) float);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setProbabilityLineOfSight(@FloatRange(from=0.0f, to=1.0f) float);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setReflectingPlane(@Nullable android.location.GnssReflectingPlane);
+    method @NonNull public android.location.GnssSingleSatCorrection.Builder setSatelliteId(@IntRange(from=0) int);
   }
 
   public class GpsClock implements android.os.Parcelable {
@@ -3365,57 +3371,53 @@
   }
 
   public class LocationManager {
-    method @Deprecated public boolean addGpsMeasurementListener(android.location.GpsMeasurementsEvent.Listener);
-    method @Deprecated public boolean addGpsNavigationMessageListener(android.location.GpsNavigationMessageEvent.Listener);
     method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void flushGnssBatch();
     method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public int getGnssBatchSize();
     method public int getGnssCapabilities();
     method @Nullable public String getLocationControllerExtraPackage();
     method @RequiresPermission(android.Manifest.permission.ACCESS_FINE_LOCATION) public void injectGnssMeasurementCorrections(@NonNull android.location.GnssMeasurementCorrections);
     method public boolean isLocationControllerExtraPackageEnabled();
-    method public boolean isLocationEnabledForUser(android.os.UserHandle);
-    method public boolean isProviderEnabledForUser(String, android.os.UserHandle);
-    method public boolean isProviderPackage(String);
-    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean registerGnssBatchedLocationCallback(long, boolean, android.location.BatchedLocationCallback, android.os.Handler);
-    method @Deprecated public void removeGpsMeasurementListener(android.location.GpsMeasurementsEvent.Listener);
-    method @Deprecated public void removeGpsNavigationMessageListener(android.location.GpsNavigationMessageEvent.Listener);
-    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(android.location.LocationRequest, android.location.LocationListener, android.os.Looper);
-    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(android.location.LocationRequest, android.app.PendingIntent);
-    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setLocationControllerExtraPackage(String);
+    method public boolean isLocationEnabledForUser(@NonNull android.os.UserHandle);
+    method public boolean isProviderEnabledForUser(@NonNull String, @NonNull android.os.UserHandle);
+    method public boolean isProviderPackage(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean registerGnssBatchedLocationCallback(long, boolean, @NonNull android.location.BatchedLocationCallback, @Nullable android.os.Handler);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull android.location.LocationRequest, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull android.location.LocationRequest, @NonNull android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setLocationControllerExtraPackage(@NonNull String);
     method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public void setLocationControllerExtraPackageEnabled(boolean);
-    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, android.os.UserHandle);
-    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(String, boolean, android.os.UserHandle);
-    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(android.location.BatchedLocationCallback);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle);
+    method @Deprecated @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setProviderEnabledForUser(@NonNull String, boolean, @NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.LOCATION_HARDWARE) public boolean unregisterGnssBatchedLocationCallback(@NonNull android.location.BatchedLocationCallback);
   }
 
   public final class LocationRequest implements android.os.Parcelable {
-    method public static android.location.LocationRequest create();
-    method public static android.location.LocationRequest createFromDeprecatedCriteria(android.location.Criteria, long, float, boolean);
-    method public static android.location.LocationRequest createFromDeprecatedProvider(String, long, float, boolean);
+    method @NonNull public static android.location.LocationRequest create();
+    method @NonNull public static android.location.LocationRequest createFromDeprecatedCriteria(@NonNull android.location.Criteria, long, float, boolean);
+    method @NonNull public static android.location.LocationRequest createFromDeprecatedProvider(@NonNull String, long, float, boolean);
     method public int describeContents();
     method public long getExpireAt();
     method public long getFastestInterval();
     method public boolean getHideFromAppOps();
     method public long getInterval();
     method public int getNumUpdates();
-    method public String getProvider();
+    method @NonNull public String getProvider();
     method public int getQuality();
     method public float getSmallestDisplacement();
-    method public android.os.WorkSource getWorkSource();
+    method @Nullable public android.os.WorkSource getWorkSource();
     method public boolean isLocationSettingsIgnored();
     method public boolean isLowPowerMode();
-    method public android.location.LocationRequest setExpireAt(long);
-    method public android.location.LocationRequest setExpireIn(long);
-    method public android.location.LocationRequest setFastestInterval(long);
+    method @NonNull public android.location.LocationRequest setExpireAt(long);
+    method @NonNull public android.location.LocationRequest setExpireIn(long);
+    method @NonNull public android.location.LocationRequest setFastestInterval(long);
     method public void setHideFromAppOps(boolean);
-    method public android.location.LocationRequest setInterval(long);
-    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LocationRequest setLocationSettingsIgnored(boolean);
-    method public android.location.LocationRequest setLowPowerMode(boolean);
-    method public android.location.LocationRequest setNumUpdates(int);
-    method public android.location.LocationRequest setProvider(String);
-    method public android.location.LocationRequest setQuality(int);
-    method public android.location.LocationRequest setSmallestDisplacement(float);
-    method public void setWorkSource(android.os.WorkSource);
+    method @NonNull public android.location.LocationRequest setInterval(long);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @NonNull public android.location.LocationRequest setLocationSettingsIgnored(boolean);
+    method @NonNull public android.location.LocationRequest setLowPowerMode(boolean);
+    method @NonNull public android.location.LocationRequest setNumUpdates(int);
+    method @NonNull public android.location.LocationRequest setProvider(@NonNull String);
+    method @NonNull public android.location.LocationRequest setQuality(int);
+    method @NonNull public android.location.LocationRequest setSmallestDisplacement(float);
+    method public void setWorkSource(@Nullable android.os.WorkSource);
     method public void writeToParcel(android.os.Parcel, int);
     field public static final int ACCURACY_BLOCK = 102; // 0x66
     field public static final int ACCURACY_CITY = 104; // 0x68
@@ -3486,12 +3488,12 @@
     method public void setAudioServerStateCallback(@NonNull java.util.concurrent.Executor, @NonNull android.media.AudioManager.AudioServerStateCallback);
     method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setFocusRequestResult(@NonNull android.media.AudioFocusInfo, int, @NonNull android.media.audiopolicy.AudioPolicy);
     method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void setVolumeIndexForAttributes(@NonNull android.media.AudioAttributes, int, int);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicy(@NonNull android.media.audiopolicy.AudioPolicy);
     method @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING) public void unregisterAudioPolicyAsync(@NonNull android.media.audiopolicy.AudioPolicy);
     method public void unregisterVolumeGroupCallback(@NonNull android.media.AudioManager.VolumeGroupCallback);
     field public static final int AUDIOFOCUS_FLAG_DELAY_OK = 1; // 0x1
     field public static final int AUDIOFOCUS_FLAG_LOCK = 4; // 0x4
     field public static final int AUDIOFOCUS_FLAG_PAUSES_ON_DUCKABLE_LOSS = 2; // 0x2
-    field public static final int FLAG_FROM_KEY = 65536; // 0x10000
     field public static final int SUCCESS = 0; // 0x0
   }
 
@@ -3537,6 +3539,7 @@
   }
 
   public class HwAudioSource {
+    method public boolean isPlaying();
     method public void start();
     method public void stop();
   }
@@ -3719,10 +3722,6 @@
 
 package android.media.session {
 
-  public static final class MediaController.PlaybackInfo implements android.os.Parcelable {
-    ctor public MediaController.PlaybackInfo(int, int, int, int, android.media.AudioAttributes);
-  }
-
   public final class MediaSessionManager {
     method @RequiresPermission(android.Manifest.permission.SET_MEDIA_KEY_LISTENER) public void setOnMediaKeyListener(android.media.session.MediaSessionManager.OnMediaKeyListener, @Nullable android.os.Handler);
     method @RequiresPermission(android.Manifest.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER) public void setOnVolumeKeyLongPressListener(android.media.session.MediaSessionManager.OnVolumeKeyLongPressListener, @Nullable android.os.Handler);
@@ -4041,13 +4040,15 @@
     method @RequiresPermission(android.Manifest.permission.PACKET_KEEPALIVE_OFFLOAD) public android.net.SocketKeepalive createSocketKeepalive(@NonNull android.net.Network, @NonNull java.net.Socket, @NonNull java.util.concurrent.Executor, @NonNull android.net.SocketKeepalive.Callback);
     method public boolean getAvoidBadWifi();
     method @RequiresPermission(android.Manifest.permission.LOCAL_MAC_ADDRESS) public String getCaptivePortalServerUrl();
-    method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementValue(int, boolean, @NonNull android.net.ConnectivityManager.TetheringEntitlementValueListener, @Nullable android.os.Handler);
+    method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void getLatestTetheringEntitlementResult(int, boolean, @NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEntitlementResultListener);
     method @RequiresPermission(anyOf={android.Manifest.permission.TETHER_PRIVILEGED, android.Manifest.permission.WRITE_SETTINGS}) public boolean isTetheringSupported();
+    method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void registerTetheringEventCallback(@NonNull java.util.concurrent.Executor, @NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
     method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void setAirplaneMode(boolean);
     method @RequiresPermission(android.net.NetworkStack.PERMISSION_MAINLINE_NETWORK_STACK) public void startCaptivePortalApp(android.net.Network, android.os.Bundle);
     method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback);
     method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void startTethering(int, boolean, android.net.ConnectivityManager.OnStartTetheringCallback, android.os.Handler);
     method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void stopTethering(int);
+    method @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED) public void unregisterTetheringEventCallback(@NonNull android.net.ConnectivityManager.OnTetheringEventCallback);
     field public static final String EXTRA_CAPTIVE_PORTAL_PROBE_SPEC = "android.net.extra.CAPTIVE_PORTAL_PROBE_SPEC";
     field public static final String EXTRA_CAPTIVE_PORTAL_USER_AGENT = "android.net.extra.CAPTIVE_PORTAL_USER_AGENT";
     field public static final int TETHERING_BLUETOOTH = 2; // 0x2
@@ -4064,9 +4065,13 @@
     method public void onTetheringStarted();
   }
 
-  public abstract static class ConnectivityManager.TetheringEntitlementValueListener {
-    ctor public ConnectivityManager.TetheringEntitlementValueListener();
-    method public void onEntitlementResult(int);
+  public static interface ConnectivityManager.OnTetheringEntitlementResultListener {
+    method public void onTetheringEntitlementResult(int);
+  }
+
+  public abstract static class ConnectivityManager.OnTetheringEventCallback {
+    ctor public ConnectivityManager.OnTetheringEventCallback();
+    method public void onUpstreamChanged(@Nullable android.net.Network);
   }
 
   public final class IpPrefix implements android.os.Parcelable {
@@ -4146,6 +4151,7 @@
     method public int[] getTransportTypes();
     method public boolean satisfiedByNetworkCapabilities(android.net.NetworkCapabilities);
     field public static final int NET_CAPABILITY_OEM_PAID = 22; // 0x16
+    field public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24; // 0x18
   }
 
   public class NetworkKey implements android.os.Parcelable {
@@ -4294,10 +4300,12 @@
     ctor public CaptivePortalProbeResult(int, String, String);
     ctor public CaptivePortalProbeResult(int, String, String, android.net.captiveportal.CaptivePortalProbeSpec);
     method public boolean isFailed();
+    method public boolean isPartialConnectivity();
     method public boolean isPortal();
     method public boolean isSuccessful();
     field public static final android.net.captiveportal.CaptivePortalProbeResult FAILED;
     field public static final int FAILED_CODE = 599; // 0x257
+    field public static final android.net.captiveportal.CaptivePortalProbeResult PARTIAL;
     field public static final int PORTAL_CODE = 302; // 0x12e
     field public static final android.net.captiveportal.CaptivePortalProbeResult SUCCESS;
     field public static final int SUCCESS_CODE = 204; // 0xcc
@@ -4429,6 +4437,7 @@
     field public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa
     field public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8
     field public static final int NETWORK_LINGER = 5; // 0x5
+    field public static final int NETWORK_PARTIAL_CONNECTIVITY = 13; // 0xd
     field public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb
     field public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9
     field public static final int NETWORK_UNLINGER = 6; // 0x6
@@ -4474,20 +4483,17 @@
 
 package android.net.util {
 
-  public class SocketUtils {
-    method public static void addArpEntry(java.net.Inet4Address, android.net.MacAddress, String, java.io.FileDescriptor) throws java.io.IOException;
-    method public static void attachControlPacketFilter(java.io.FileDescriptor, int) throws java.net.SocketException;
-    method public static void attachDhcpFilter(java.io.FileDescriptor) throws java.net.SocketException;
-    method public static void attachRaFilter(java.io.FileDescriptor, int) throws java.net.SocketException;
-    method public static void bindSocket(java.io.FileDescriptor, java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException;
-    method public static void bindSocketToInterface(java.io.FileDescriptor, String) throws android.system.ErrnoException;
-    method public static void closeSocket(java.io.FileDescriptor) throws java.io.IOException;
-    method public static void connectSocket(java.io.FileDescriptor, java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException;
-    method public static java.net.SocketAddress makeNetlinkSocketAddress(int, int);
-    method public static java.net.SocketAddress makePacketSocketAddress(short, int);
-    method public static java.net.SocketAddress makePacketSocketAddress(int, byte[]);
-    method public static void sendTo(java.io.FileDescriptor, byte[], int, int, int, java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException;
-    method public static void setSocketTimeValueOption(java.io.FileDescriptor, int, int, long) throws android.system.ErrnoException;
+  public final class SocketUtils {
+    method public static void addArpEntry(@NonNull java.net.Inet4Address, @NonNull android.net.MacAddress, @NonNull String, @NonNull java.io.FileDescriptor) throws java.io.IOException;
+    method public static void attachControlPacketFilter(@NonNull java.io.FileDescriptor, int) throws java.net.SocketException;
+    method public static void attachDhcpFilter(@NonNull java.io.FileDescriptor) throws java.net.SocketException;
+    method public static void attachRaFilter(@NonNull java.io.FileDescriptor, int) throws java.net.SocketException;
+    method public static void bindSocketToInterface(@NonNull java.io.FileDescriptor, @NonNull String) throws android.system.ErrnoException;
+    method public static void closeSocket(@Nullable java.io.FileDescriptor) throws java.io.IOException;
+    method @NonNull public static java.net.SocketAddress makeNetlinkSocketAddress(int, int);
+    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int);
+    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, @NonNull byte[]);
+    method public static void setSocketTimeValueOption(@NonNull java.io.FileDescriptor, int, int, long) throws android.system.ErrnoException;
   }
 
 }
@@ -4726,20 +4732,18 @@
   }
 
   public class WifiInfo implements android.os.Parcelable {
-    method @Nullable public String getFqdn();
-    method @Nullable public String getProviderFriendlyName();
     method public boolean isOsuAp();
     method public boolean isPasspointAp();
   }
 
   public class WifiManager {
-    method @RequiresPermission("android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE") public void addWifiUsabilityStatsListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.WifiUsabilityStatsListener);
-    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void connect(android.net.wifi.WifiConfiguration, android.net.wifi.WifiManager.ActionListener);
-    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void connect(int, android.net.wifi.WifiManager.ActionListener);
-    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void disable(int, android.net.wifi.WifiManager.ActionListener);
-    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void forget(int, android.net.wifi.WifiManager.ActionListener);
+    method @RequiresPermission("android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE") public void addOnWifiUsabilityStatsListener(@NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
+    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void connect(@NonNull android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiManager.ActionListener);
+    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void connect(int, @Nullable android.net.wifi.WifiManager.ActionListener);
+    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void disable(int, @Nullable android.net.wifi.WifiManager.ActionListener);
+    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void forget(int, @Nullable android.net.wifi.WifiManager.ActionListener);
     method @NonNull @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.List<android.util.Pair<android.net.wifi.WifiConfiguration,java.util.Map<java.lang.Integer,java.util.List<android.net.wifi.ScanResult>>>> getAllMatchingWifiConfigs(@NonNull java.util.List<android.net.wifi.ScanResult>);
-    method @NonNull @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.Map<android.net.wifi.hotspot2.OsuProvider,java.util.List<android.net.wifi.ScanResult>> getMatchingOsuProviders(java.util.List<android.net.wifi.ScanResult>);
+    method @NonNull @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.Map<android.net.wifi.hotspot2.OsuProvider,java.util.List<android.net.wifi.ScanResult>> getMatchingOsuProviders(@Nullable java.util.List<android.net.wifi.ScanResult>);
     method @NonNull @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD}) public java.util.Map<android.net.wifi.hotspot2.OsuProvider,android.net.wifi.hotspot2.PasspointConfiguration> getMatchingPasspointConfigsForOsuProviders(@NonNull java.util.Set<android.net.wifi.hotspot2.OsuProvider>);
     method @RequiresPermission(allOf={android.Manifest.permission.ACCESS_FINE_LOCATION, android.Manifest.permission.ACCESS_WIFI_STATE, android.Manifest.permission.READ_WIFI_CREDENTIAL}) public java.util.List<android.net.wifi.WifiConfiguration> getPrivilegedConfiguredNetworks();
     method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public android.net.wifi.WifiConfiguration getWifiApConfiguration();
@@ -4748,14 +4752,14 @@
     method public boolean isPortableHotspotSupported();
     method @RequiresPermission(android.Manifest.permission.ACCESS_WIFI_STATE) public boolean isWifiApEnabled();
     method public boolean isWifiScannerSupported();
-    method @RequiresPermission("android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE") public void removeWifiUsabilityStatsListener(@NonNull android.net.wifi.WifiManager.WifiUsabilityStatsListener);
-    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void save(android.net.wifi.WifiConfiguration, android.net.wifi.WifiManager.ActionListener);
+    method @RequiresPermission("android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE") public void removeOnWifiUsabilityStatsListener(@NonNull android.net.wifi.WifiManager.OnWifiUsabilityStatsListener);
+    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD, "android.permission.NETWORK_STACK"}) public void save(@NonNull android.net.wifi.WifiConfiguration, @Nullable android.net.wifi.WifiManager.ActionListener);
     method @RequiresPermission("android.permission.WIFI_SET_DEVICE_MOBILITY_STATE") public void setDeviceMobilityState(int);
     method @RequiresPermission(android.Manifest.permission.CHANGE_WIFI_STATE) public boolean setWifiApConfiguration(android.net.wifi.WifiConfiguration);
     method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsConfiguratorInitiator(@NonNull String, int, int, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback);
     method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startEasyConnectAsEnrolleeInitiator(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.EasyConnectStatusCallback);
     method @RequiresPermission(android.Manifest.permission.UPDATE_DEVICE_STATS) public boolean startScan(android.os.WorkSource);
-    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startSubscriptionProvisioning(android.net.wifi.hotspot2.OsuProvider, android.net.wifi.hotspot2.ProvisioningCallback, @Nullable android.os.Handler);
+    method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void startSubscriptionProvisioning(@NonNull android.net.wifi.hotspot2.OsuProvider, @NonNull java.util.concurrent.Executor, @NonNull android.net.wifi.hotspot2.ProvisioningCallback);
     method @RequiresPermission(anyOf={"android.permission.NETWORK_SETTINGS", android.Manifest.permission.NETWORK_SETUP_WIZARD}) public void stopEasyConnectSession();
     method @RequiresPermission("android.permission.WIFI_UPDATE_USABILITY_STATS_SCORE") public void updateWifiUsabilityScore(int, int, int);
     field public static final int CHANGE_REASON_ADDED = 0; // 0x0
@@ -4793,8 +4797,8 @@
     method public void onSuccess();
   }
 
-  public static interface WifiManager.WifiUsabilityStatsListener {
-    method public void onStatsUpdated(int, boolean, android.net.wifi.WifiUsabilityStatsEntry);
+  public static interface WifiManager.OnWifiUsabilityStatsListener {
+    method public void onWifiUsabilityStats(int, boolean, @NonNull android.net.wifi.WifiUsabilityStatsEntry);
   }
 
   public class WifiNetworkConnectionStatistics implements android.os.Parcelable {
@@ -4929,35 +4933,39 @@
 
   public final class WifiUsabilityStatsEntry implements android.os.Parcelable {
     method public int describeContents();
+    method public int getCellularDataNetworkType();
+    method public int getCellularSignalStrengthDb();
+    method public int getCellularSignalStrengthDbm();
+    method public boolean getIsSameRegisteredCell();
+    method public int getLinkSpeedMbps();
+    method public int getProbeElapsedTimeSinceLastUpdateMillis();
+    method public int getProbeMcsRateSinceLastUpdate();
+    method public int getProbeStatusSinceLastUpdate();
+    method public int getRssi();
+    method public int getRxLinkSpeedMbps();
+    method public long getTimeStampMillis();
+    method public long getTotalBackgroundScanTimeMillis();
+    method public long getTotalBeaconRx();
+    method public long getTotalCcaBusyFreqTimeMillis();
+    method public long getTotalHotspot2ScanTimeMillis();
+    method public long getTotalNanScanTimeMillis();
+    method public long getTotalPnoScanTimeMillis();
+    method public long getTotalRadioOnFreqTimeMillis();
+    method public long getTotalRadioOnTimeMillis();
+    method public long getTotalRadioRxTimeMillis();
+    method public long getTotalRadioTxTimeMillis();
+    method public long getTotalRoamScanTimeMillis();
+    method public long getTotalRxSuccess();
+    method public long getTotalScanTimeMillis();
+    method public long getTotalTxBad();
+    method public long getTotalTxRetries();
+    method public long getTotalTxSuccess();
     method public void writeToParcel(android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.net.wifi.WifiUsabilityStatsEntry> CREATOR;
     field public static final int PROBE_STATUS_FAILURE = 3; // 0x3
     field public static final int PROBE_STATUS_NO_PROBE = 1; // 0x1
     field public static final int PROBE_STATUS_SUCCESS = 2; // 0x2
     field public static final int PROBE_STATUS_UNKNOWN = 0; // 0x0
-    field public final int linkSpeedMbps;
-    field public final int probeElapsedTimeMsSinceLastUpdate;
-    field public final int probeMcsRateSinceLastUpdate;
-    field public final int probeStatusSinceLastUpdate;
-    field public final int rssi;
-    field public final int rxLinkSpeedMbps;
-    field public final long timeStampMs;
-    field public final long totalBackgroundScanTimeMs;
-    field public final long totalBeaconRx;
-    field public final long totalCcaBusyFreqTimeMs;
-    field public final long totalHotspot2ScanTimeMs;
-    field public final long totalNanScanTimeMs;
-    field public final long totalPnoScanTimeMs;
-    field public final long totalRadioOnFreqTimeMs;
-    field public final long totalRadioOnTimeMs;
-    field public final long totalRadioRxTimeMs;
-    field public final long totalRadioTxTimeMs;
-    field public final long totalRoamScanTimeMs;
-    field public final long totalRxSuccess;
-    field public final long totalScanTimeMs;
-    field public final long totalTxBad;
-    field public final long totalTxRetries;
-    field public final long totalTxSuccess;
   }
 
 }
@@ -4968,8 +4976,8 @@
     method @Deprecated public android.net.NetworkSpecifier createNetworkSpecifierPmk(@NonNull android.net.wifi.aware.PeerHandle, @NonNull byte[]);
   }
 
-  public static class WifiAwareManager.NetworkSpecifierBuilder {
-    method @NonNull public android.net.wifi.aware.WifiAwareManager.NetworkSpecifierBuilder setPmk(@NonNull byte[]);
+  public static final class WifiAwareNetworkSpecifier.Builder {
+    method @NonNull public android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder setPmk(@NonNull byte[]);
   }
 
   public class WifiAwareSession implements java.lang.AutoCloseable {
@@ -5095,9 +5103,9 @@
     method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean disableNdefPush();
     method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enable();
     method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableNdefPush();
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean enableSecureNfc(boolean);
     method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean removeNfcUnlockHandler(android.nfc.NfcAdapter.NfcUnlockHandler);
     method public void setNdefPushMessage(android.nfc.NdefMessage, android.app.Activity, int);
-    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public boolean setNfcSecure(boolean);
     field public static final int FLAG_NDEF_PUSH_NO_CONFIRM = 1; // 0x1
   }
 
@@ -5174,10 +5182,10 @@
 
   public static interface Binder.ProxyTransactListener {
     method public void onTransactEnded(@Nullable Object);
-    method public Object onTransactStarted(android.os.IBinder, int);
+    method @Nullable public Object onTransactStarted(@NonNull android.os.IBinder, int);
   }
 
-  public class BugreportManager {
+  public final class BugreportManager {
     method @RequiresPermission(android.Manifest.permission.DUMP) public void cancelBugreport();
     method @RequiresPermission(android.Manifest.permission.DUMP) public void startBugreport(@NonNull android.os.ParcelFileDescriptor, @Nullable android.os.ParcelFileDescriptor, @NonNull android.os.BugreportParams, @NonNull java.util.concurrent.Executor, @NonNull android.os.BugreportManager.BugreportCallback);
   }
@@ -5186,7 +5194,7 @@
     ctor public BugreportManager.BugreportCallback();
     method public void onError(int);
     method public void onFinished();
-    method public void onProgress(float);
+    method public void onProgress(@FloatRange(from=0.0f, to=100.0f) float);
     field public static final int BUGREPORT_ERROR_ANOTHER_REPORT_IN_PROGRESS = 5; // 0x5
     field public static final int BUGREPORT_ERROR_INVALID_INPUT = 1; // 0x1
     field public static final int BUGREPORT_ERROR_RUNTIME = 2; // 0x2
@@ -5195,7 +5203,7 @@
   }
 
   public final class BugreportParams {
-    ctor public BugreportParams(@android.os.BugreportParams.BugreportMode int);
+    ctor public BugreportParams(int);
     method public int getMode();
     field public static final int BUGREPORT_MODE_FULL = 0; // 0x0
     field public static final int BUGREPORT_MODE_INTERACTIVE = 1; // 0x1
@@ -5205,11 +5213,8 @@
     field public static final int BUGREPORT_MODE_WIFI = 5; // 0x5
   }
 
-  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @IntDef(prefix={"BUGREPORT_MODE_"}, value={android.os.BugreportParams.BUGREPORT_MODE_FULL, android.os.BugreportParams.BUGREPORT_MODE_INTERACTIVE, android.os.BugreportParams.BUGREPORT_MODE_REMOTE, android.os.BugreportParams.BUGREPORT_MODE_WEAR, android.os.BugreportParams.BUGREPORT_MODE_TELEPHONY, android.os.BugreportParams.BUGREPORT_MODE_WIFI}) public static @interface BugreportParams.BugreportMode {
-  }
-
   public static class Build.VERSION {
-    field public static final String PREVIEW_SDK_FINGERPRINT;
+    field @NonNull public static final String PREVIEW_SDK_FINGERPRINT;
   }
 
   public final class ConfigUpdate {
@@ -5285,7 +5290,7 @@
     method public final void putInt64Array(long, long[]);
     method public final void putInt8(long, byte);
     method public final void putInt8Array(long, byte[]);
-    method public final void putNativeHandle(long, android.os.NativeHandle);
+    method public final void putNativeHandle(long, @Nullable android.os.NativeHandle);
     method public final void putString(long, String);
     method public static Boolean[] wrapArray(@NonNull boolean[]);
     method public static Long[] wrapArray(@NonNull long[]);
@@ -5305,7 +5310,7 @@
     method public final double readDouble();
     method public final java.util.ArrayList<java.lang.Double> readDoubleVector();
     method public final android.os.HwBlob readEmbeddedBuffer(long, long, long, boolean);
-    method public final android.os.NativeHandle readEmbeddedNativeHandle(long, long);
+    method @Nullable public final android.os.NativeHandle readEmbeddedNativeHandle(long, long);
     method public final float readFloat();
     method public final java.util.ArrayList<java.lang.Float> readFloatVector();
     method public final short readInt16();
@@ -5316,8 +5321,8 @@
     method public final java.util.ArrayList<java.lang.Long> readInt64Vector();
     method public final byte readInt8();
     method public final java.util.ArrayList<java.lang.Byte> readInt8Vector();
-    method public final android.os.NativeHandle readNativeHandle();
-    method public final java.util.ArrayList<android.os.NativeHandle> readNativeHandleVector();
+    method @Nullable public final android.os.NativeHandle readNativeHandle();
+    method @NonNull public final java.util.ArrayList<android.os.NativeHandle> readNativeHandleVector();
     method public final String readString();
     method public final java.util.ArrayList<java.lang.String> readStringVector();
     method public final android.os.IHwBinder readStrongBinder();
@@ -5341,8 +5346,8 @@
     method public final void writeInt8(byte);
     method public final void writeInt8Vector(java.util.ArrayList<java.lang.Byte>);
     method public final void writeInterfaceToken(String);
-    method public final void writeNativeHandle(android.os.NativeHandle);
-    method public final void writeNativeHandleVector(java.util.ArrayList<android.os.NativeHandle>);
+    method public final void writeNativeHandle(@Nullable android.os.NativeHandle);
+    method public final void writeNativeHandleVector(@NonNull java.util.ArrayList<android.os.NativeHandle>);
     method public final void writeStatus(int);
     method public final void writeString(String);
     method public final void writeStringVector(java.util.ArrayList<java.lang.String>);
@@ -5434,10 +5439,10 @@
     ctor public NativeHandle(@NonNull java.io.FileDescriptor, boolean);
     ctor public NativeHandle(@NonNull java.io.FileDescriptor[], @NonNull int[], boolean);
     method public void close() throws java.io.IOException;
-    method public android.os.NativeHandle dup() throws java.io.IOException;
-    method public java.io.FileDescriptor getFileDescriptor();
-    method public java.io.FileDescriptor[] getFileDescriptors();
-    method public int[] getInts();
+    method @NonNull public android.os.NativeHandle dup() throws java.io.IOException;
+    method @NonNull public java.io.FileDescriptor getFileDescriptor();
+    method @NonNull public java.io.FileDescriptor[] getFileDescriptors();
+    method @NonNull public int[] getInts();
     method public boolean hasSingleFileDescriptor();
   }
 
@@ -5448,7 +5453,7 @@
     method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSaveEnabled(boolean);
     method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setAdaptivePowerSavePolicy(@NonNull android.os.BatterySaverPolicyConfig);
     method @RequiresPermission(android.Manifest.permission.POWER_SAVER) public boolean setDynamicPowerSavings(boolean, int);
-    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setPowerSaveMode(boolean);
+    method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.POWER_SAVER}) public boolean setPowerSaveModeEnabled(boolean);
     method @RequiresPermission(anyOf={android.Manifest.permission.DEVICE_POWER, android.Manifest.permission.USER_ACTIVITY}) public void userActivity(long, int, int);
     field public static final int POWER_SAVER_MODE_DYNAMIC = 1; // 0x1
     field public static final int POWER_SAVER_MODE_PERCENTAGE = 0; // 0x0
@@ -5591,22 +5596,22 @@
     method public boolean isSystem();
     method public static int myUserId();
     method public static android.os.UserHandle of(int);
-    field public static final android.os.UserHandle ALL;
-    field public static final android.os.UserHandle CURRENT;
-    field public static final android.os.UserHandle SYSTEM;
+    field @NonNull public static final android.os.UserHandle ALL;
+    field @NonNull public static final android.os.UserHandle CURRENT;
+    field @NonNull public static final android.os.UserHandle SYSTEM;
   }
 
   public class UserManager {
-    method @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public boolean canSwitchUsers();
     method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void clearSeedAccountData();
     method @Nullable @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.UserHandle getProfileParent(@NonNull android.os.UserHandle);
     method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountName();
     method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.os.PersistableBundle getSeedAccountOptions();
     method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public String getSeedAccountType();
     method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public long[] getSerialNumbersOfUsers(boolean);
-    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public android.graphics.Bitmap getUserIcon();
+    method @Nullable @RequiresPermission(anyOf={android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED}) public android.graphics.Bitmap getUserIcon();
     method @Deprecated @android.os.UserManager.UserRestrictionSource @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public int getUserRestrictionSource(String, android.os.UserHandle);
     method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public java.util.List<android.os.UserManager.EnforcingUser> getUserRestrictionSources(String, android.os.UserHandle);
+    method @RequiresPermission(allOf={android.Manifest.permission.READ_PHONE_STATE, android.Manifest.permission.MANAGE_USERS, android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional=true) public int getUserSwitchability();
     method public boolean hasRestrictedProfiles();
     method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isAdminUser();
     method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isGuestUser();
@@ -5614,9 +5619,10 @@
     method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isManagedProfile(int);
     method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isPrimaryUser();
     method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isRestrictedProfile();
-    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean removeUser(android.os.UserHandle);
-    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(android.graphics.Bitmap);
-    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserName(String);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean isRestrictedProfile(@NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public boolean removeUser(@NonNull android.os.UserHandle);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserIcon(@NonNull android.graphics.Bitmap);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_USERS) public void setUserName(@Nullable String);
     field public static final String ACTION_USER_RESTRICTIONS_CHANGED = "android.os.action.USER_RESTRICTIONS_CHANGED";
     field @Deprecated public static final String DISALLOW_OEM_UNLOCK = "no_oem_unlock";
     field public static final String DISALLOW_RUN_IN_BACKGROUND = "no_run_in_background";
@@ -5624,6 +5630,10 @@
     field public static final int RESTRICTION_SOURCE_DEVICE_OWNER = 2; // 0x2
     field public static final int RESTRICTION_SOURCE_PROFILE_OWNER = 4; // 0x4
     field public static final int RESTRICTION_SOURCE_SYSTEM = 1; // 0x1
+    field public static final int SWITCHABILITY_STATUS_OK = 0; // 0x0
+    field public static final int SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED = 4; // 0x4
+    field public static final int SWITCHABILITY_STATUS_USER_IN_CALL = 1; // 0x1
+    field public static final int SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED = 2; // 0x2
   }
 
   public static final class UserManager.EnforcingUser implements android.os.Parcelable {
@@ -5688,8 +5698,6 @@
     method @NonNull public abstract java.util.List<android.permission.RuntimePermissionPresentationInfo> onGetAppPermissions(@NonNull String);
     method @NonNull public abstract java.util.List<android.permission.RuntimePermissionUsageInfo> onGetPermissionUsages(boolean, long);
     method public abstract void onGetRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.OutputStream);
-    method public abstract boolean onIsApplicationQualifiedForRole(@NonNull String, @NonNull String);
-    method public abstract boolean onIsRoleVisible(@NonNull String);
     method @BinderThread public abstract boolean onRestoreDelayedRuntimePermissionsBackup(@NonNull String, @NonNull android.os.UserHandle);
     method @BinderThread public abstract void onRestoreRuntimePermissionsBackup(@NonNull android.os.UserHandle, @NonNull java.io.InputStream);
     method public abstract void onRevokeRuntimePermission(@NonNull String, @NonNull String);
@@ -5842,48 +5850,47 @@
   }
 
   public final class DeviceConfig {
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static void addOnPropertiesChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
     method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static void addOnPropertyChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertyChangedListener);
-    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static boolean getBoolean(String, String, boolean);
-    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static float getFloat(String, String, float);
-    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static int getInt(String, String, int);
-    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static long getLong(String, String, long);
-    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getProperty(String, String);
-    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getString(String, String, String);
-    method public static void removeOnPropertyChangedListener(android.provider.DeviceConfig.OnPropertyChangedListener);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static boolean getBoolean(@NonNull String, @NonNull String, boolean);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static float getFloat(@NonNull String, @NonNull String, float);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static int getInt(@NonNull String, @NonNull String, int);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static long getLong(@NonNull String, @NonNull String, long);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getProperty(@NonNull String, @NonNull String);
+    method @RequiresPermission(android.Manifest.permission.READ_DEVICE_CONFIG) public static String getString(@NonNull String, @NonNull String, @Nullable String);
+    method public static void removeOnPropertiesChangedListener(@NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
+    method public static void removeOnPropertyChangedListener(@NonNull android.provider.DeviceConfig.OnPropertyChangedListener);
     method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void resetToDefaults(int, @Nullable String);
-    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperty(String, String, String, boolean);
+    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperty(@NonNull String, @NonNull String, @Nullable String, boolean);
     field public static final String NAMESPACE_ACTIVITY_MANAGER = "activity_manager";
     field public static final String NAMESPACE_ACTIVITY_MANAGER_NATIVE_BOOT = "activity_manager_native_boot";
+    field public static final String NAMESPACE_APP_COMPAT = "app_compat";
+    field public static final String NAMESPACE_ATTENTION_MANAGER_SERVICE = "attention_manager_service";
     field public static final String NAMESPACE_AUTOFILL = "autofill";
+    field public static final String NAMESPACE_CONNECTIVITY = "connectivity";
     field public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture";
+    field public static final String NAMESPACE_DEX_BOOT = "dex_boot";
     field public static final String NAMESPACE_GAME_DRIVER = "game_driver";
     field public static final String NAMESPACE_INPUT_NATIVE_BOOT = "input_native_boot";
+    field public static final String NAMESPACE_INTELLIGENCE_ATTENTION = "intelligence_attention";
     field public static final String NAMESPACE_MEDIA_NATIVE = "media_native";
     field public static final String NAMESPACE_NETD_NATIVE = "netd_native";
+    field public static final String NAMESPACE_ROLLBACK = "rollback";
+    field public static final String NAMESPACE_ROLLBACK_BOOT = "rollback_boot";
+    field public static final String NAMESPACE_RUNTIME = "runtime";
+    field public static final String NAMESPACE_RUNTIME_NATIVE = "runtime_native";
     field public static final String NAMESPACE_RUNTIME_NATIVE_BOOT = "runtime_native_boot";
+    field public static final String NAMESPACE_SCHEDULER = "scheduler";
     field public static final String NAMESPACE_SYSTEMUI = "systemui";
+    field public static final String NAMESPACE_TEXTCLASSIFIER = "textclassifier";
   }
 
-  public static interface DeviceConfig.AttentionManagerService {
-    field public static final String COMPONENT_NAME = "component_name";
-    field public static final String NAMESPACE = "attention_manager_service";
-    field public static final String SERVICE_ENABLED = "service_enabled";
-  }
-
-  public static interface DeviceConfig.DexBoot {
-    field public static final String NAMESPACE = "dex_boot";
-    field public static final String PRIV_APPS_OOB_ENABLED = "priv_apps_oob_enabled";
-    field public static final String PRIV_APPS_OOB_WHITELIST = "priv_apps_oob_whitelist";
-  }
-
-  public static interface DeviceConfig.IntelligenceAttention {
-    field public static final String ATTENTION_ENABLED = "attention_enabled";
-    field public static final String ATTENTION_SETTINGS = "attention_settings";
-    field public static final String NAMESPACE = "intelligence_attention";
+  public static interface DeviceConfig.OnPropertiesChangedListener {
+    method public void onPropertiesChanged(@NonNull android.provider.DeviceConfig.Properties);
   }
 
   public static interface DeviceConfig.OnPropertyChangedListener {
-    method public void onPropertyChanged(String, String, String);
+    method public void onPropertyChanged(@NonNull String, @NonNull String, @Nullable String);
   }
 
   public static interface DeviceConfig.Privacy {
@@ -5892,25 +5899,14 @@
     field public static final String PROPERTY_PERMISSIONS_HUB_ENABLED = "permissions_hub_enabled";
   }
 
-  public static interface DeviceConfig.Rollback {
-    field public static final String BOOT_NAMESPACE = "rollback_boot";
-    field public static final String ENABLE_ROLLBACK_TIMEOUT = "enable_rollback_timeout";
-    field public static final String NAMESPACE = "rollback";
-    field public static final String ROLLBACK_LIFETIME_IN_MILLIS = "rollback_lifetime_in_millis";
-  }
-
-  public static interface DeviceConfig.Runtime {
-    field public static final String NAMESPACE = "runtime";
-    field public static final String USE_PRECOMPILED_LAYOUT = "view.precompiled_layout_enabled";
-  }
-
-  public static interface DeviceConfig.RuntimeNative {
-    field public static final String NAMESPACE = "runtime_native";
-  }
-
-  public static interface DeviceConfig.Scheduler {
-    field public static final String ENABLE_FAST_METRICS_COLLECTION = "enable_fast_metrics_collection";
-    field public static final String NAMESPACE = "scheduler";
+  public static class DeviceConfig.Properties {
+    method public boolean getBoolean(@NonNull String, boolean);
+    method public float getFloat(@NonNull String, float);
+    method public int getInt(@NonNull String, int);
+    method @NonNull public java.util.Set<java.lang.String> getKeyset();
+    method public long getLong(@NonNull String, long);
+    method @NonNull public String getNamespace();
+    method @Nullable public String getString(@NonNull String, @Nullable String);
   }
 
   public static interface DeviceConfig.Storage {
@@ -5926,8 +5922,8 @@
   }
 
   public final class DocumentsContract {
-    method public static boolean isManageMode(android.net.Uri);
-    method public static android.net.Uri setManageMode(android.net.Uri);
+    method public static boolean isManageMode(@NonNull android.net.Uri);
+    method @NonNull public static android.net.Uri setManageMode(@NonNull android.net.Uri);
     field public static final String ACTION_DOCUMENT_ROOT_SETTINGS = "android.provider.action.DOCUMENT_ROOT_SETTINGS";
     field public static final String ACTION_MANAGE_DOCUMENT = "android.provider.action.MANAGE_DOCUMENT";
     field public static final String EXTRA_SHOW_ADVANCED = "android.provider.extra.SHOW_ADVANCED";
@@ -6055,6 +6051,7 @@
     field public static final String ACTION_ACCESSIBILITY_DETAILS_SETTINGS = "android.settings.ACCESSIBILITY_DETAILS_SETTINGS";
     field public static final String ACTION_ENTERPRISE_PRIVACY_SETTINGS = "android.settings.ENTERPRISE_PRIVACY_SETTINGS";
     field public static final String ACTION_LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS = "android.settings.LOCATION_CONTROLLER_EXTRA_PACKAGE_SETTINGS";
+    field public static final String ACTION_MANAGE_DOMAIN_URLS = "android.settings.MANAGE_DOMAIN_URLS";
     field public static final String ACTION_REQUEST_ENABLE_CONTENT_CAPTURE = "android.settings.REQUEST_ENABLE_CONTENT_CAPTURE";
     field public static final String ACTION_SHOW_ADMIN_SUPPORT_DETAILS = "android.settings.SHOW_ADMIN_SUPPORT_DETAILS";
   }
@@ -6079,6 +6076,7 @@
     field public static final String CARRIER_APP_WHITELIST = "carrier_app_whitelist";
     field public static final String DATA_STALL_CONSECUTIVE_DNS_TIMEOUT_THRESHOLD = "data_stall_consecutive_dns_timeout_threshold";
     field public static final String DATA_STALL_EVALUATION_TYPE = "data_stall_evaluation_type";
+    field public static final int DATA_STALL_EVALUATION_TYPE_DNS = 1; // 0x1
     field public static final String DATA_STALL_MIN_EVALUATE_INTERVAL = "data_stall_min_evaluate_interval";
     field public static final String DATA_STALL_VALID_DNS_TIME_THRESHOLD = "data_stall_valid_dns_time_threshold";
     field public static final String DEFAULT_SM_DP_PLUS = "default_sm_dp_plus";
@@ -6114,9 +6112,9 @@
     field public static final String LAST_SETUP_SHOWN = "last_setup_shown";
     field public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS = "location_access_check_delay_millis";
     field public static final String LOCATION_ACCESS_CHECK_INTERVAL_MILLIS = "location_access_check_interval_millis";
+    field public static final String LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE = "location_permissions_upgrade_to_q_mode";
     field public static final String LOCK_SCREEN_ALLOW_PRIVATE_NOTIFICATIONS = "lock_screen_allow_private_notifications";
     field public static final String LOCK_SCREEN_SHOW_NOTIFICATIONS = "lock_screen_show_notifications";
-    field public static final String MANUAL_RINGER_TOGGLE_COUNT = "manual_ringer_toggle_count";
     field public static final String THEME_CUSTOMIZATION_OVERLAY_PACKAGES = "theme_customization_overlay_packages";
     field public static final String USER_SETUP_COMPLETE = "user_setup_complete";
     field public static final int USER_SETUP_PERSONALIZATION_COMPLETE = 10; // 0xa
@@ -6125,6 +6123,9 @@
     field public static final int USER_SETUP_PERSONALIZATION_STARTED = 1; // 0x1
     field public static final String USER_SETUP_PERSONALIZATION_STATE = "user_setup_personalization_state";
     field public static final String VOLUME_HUSH_GESTURE = "volume_hush_gesture";
+    field public static final int VOLUME_HUSH_MUTE = 2; // 0x2
+    field public static final int VOLUME_HUSH_OFF = 0; // 0x0
+    field public static final int VOLUME_HUSH_VIBRATE = 1; // 0x1
   }
 
   public static final class Telephony.Carriers implements android.provider.BaseColumns {
@@ -6162,21 +6163,6 @@
 
 }
 
-package android.rolecontrollerservice {
-
-  public abstract class RoleControllerService extends android.app.Service {
-    ctor public RoleControllerService();
-    method public abstract void onAddRoleHolder(@NonNull String, @NonNull String, int, @NonNull android.app.role.RoleManagerCallback);
-    method @Nullable public final android.os.IBinder onBind(@Nullable android.content.Intent);
-    method public abstract void onClearRoleHolders(@NonNull String, int, @NonNull android.app.role.RoleManagerCallback);
-    method public abstract void onGrantDefaultRoles(@NonNull android.app.role.RoleManagerCallback);
-    method public abstract void onRemoveRoleHolder(@NonNull String, @NonNull String, int, @NonNull android.app.role.RoleManagerCallback);
-    method public abstract void onSmsKillSwitchToggled(boolean);
-    field public static final String SERVICE_INTERFACE = "android.rolecontrollerservice.RoleControllerService";
-  }
-
-}
-
 package android.security.keystore {
 
   public abstract class AttestationUtils {
@@ -6187,8 +6173,8 @@
   }
 
   public class DeviceIdAttestationException extends java.lang.Exception {
-    ctor public DeviceIdAttestationException(String);
-    ctor public DeviceIdAttestationException(String, Throwable);
+    ctor public DeviceIdAttestationException(@Nullable String);
+    ctor public DeviceIdAttestationException(@Nullable String, @Nullable Throwable);
   }
 
 }
@@ -6222,10 +6208,10 @@
   public static class KeyChainProtectionParams.Builder {
     ctor public KeyChainProtectionParams.Builder();
     method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams build();
-    method public android.security.keystore.recovery.KeyChainProtectionParams.Builder setKeyDerivationParams(@NonNull android.security.keystore.recovery.KeyDerivationParams);
-    method public android.security.keystore.recovery.KeyChainProtectionParams.Builder setLockScreenUiFormat(int);
-    method public android.security.keystore.recovery.KeyChainProtectionParams.Builder setSecret(@NonNull byte[]);
-    method public android.security.keystore.recovery.KeyChainProtectionParams.Builder setUserSecretType(int);
+    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setKeyDerivationParams(@NonNull android.security.keystore.recovery.KeyDerivationParams);
+    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setLockScreenUiFormat(int);
+    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setSecret(@NonNull byte[]);
+    method @NonNull public android.security.keystore.recovery.KeyChainProtectionParams.Builder setUserSecretType(int);
   }
 
   public final class KeyChainSnapshot implements android.os.Parcelable {
@@ -6306,9 +6292,9 @@
   public static class WrappedApplicationKey.Builder {
     ctor public WrappedApplicationKey.Builder();
     method @NonNull public android.security.keystore.recovery.WrappedApplicationKey build();
-    method public android.security.keystore.recovery.WrappedApplicationKey.Builder setAlias(@NonNull String);
-    method public android.security.keystore.recovery.WrappedApplicationKey.Builder setEncryptedKeyMaterial(@NonNull byte[]);
-    method public android.security.keystore.recovery.WrappedApplicationKey.Builder setMetadata(@Nullable byte[]);
+    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setAlias(@NonNull String);
+    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setEncryptedKeyMaterial(@NonNull byte[]);
+    method @NonNull public android.security.keystore.recovery.WrappedApplicationKey.Builder setMetadata(@Nullable byte[]);
   }
 
 }
@@ -6318,7 +6304,7 @@
   public abstract class AppPredictionService extends android.app.Service {
     ctor public AppPredictionService();
     method @MainThread public abstract void onAppTargetEvent(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull android.app.prediction.AppTargetEvent);
-    method public final android.os.IBinder onBind(android.content.Intent);
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
     method public void onCreatePredictionSession(@NonNull android.app.prediction.AppPredictionContext, @NonNull android.app.prediction.AppPredictionSessionId);
     method @MainThread public void onDestroyPredictionSession(@NonNull android.app.prediction.AppPredictionSessionId);
     method @MainThread public abstract void onLocationShown(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
@@ -6335,7 +6321,7 @@
 
   public abstract class AttentionService extends android.app.Service {
     ctor public AttentionService();
-    method public final android.os.IBinder onBind(android.content.Intent);
+    method @Nullable public final android.os.IBinder onBind(@NonNull android.content.Intent);
     method public abstract void onCancelAttentionCheck(int);
     method public abstract void onCheckAttention(int, @NonNull android.service.attention.AttentionService.AttentionCallback);
     field public static final int ATTENTION_FAILURE_PREEMPTED = 2; // 0x2
@@ -6433,9 +6419,21 @@
 
 package android.service.contentcapture {
 
+  public final class ActivityEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.content.ComponentName getComponentName();
+    method public int getEventType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.ActivityEvent> CREATOR;
+    field public static final int TYPE_ACTIVITY_PAUSED = 2; // 0x2
+    field public static final int TYPE_ACTIVITY_RESUMED = 1; // 0x1
+    field public static final int TYPE_ACTIVITY_STOPPED = 23; // 0x17
+  }
+
   public abstract class ContentCaptureService extends android.app.Service {
     ctor public ContentCaptureService();
     method public final void disableContentCaptureServices();
+    method public void onActivityEvent(@NonNull android.service.contentcapture.ActivityEvent);
     method public void onActivitySnapshot(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.service.contentcapture.SnapshotData);
     method public void onConnected();
     method public void onContentCaptureEvent(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.view.contentcapture.ContentCaptureEvent);
@@ -6443,7 +6441,6 @@
     method public void onDestroyContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureSessionId);
     method public void onDisconnected();
     method public void onUserDataRemovalRequest(@NonNull android.view.contentcapture.UserDataRemovalRequest);
-    method @Deprecated public final void setContentCaptureWhitelist(@Nullable java.util.List<java.lang.String>, @Nullable java.util.List<android.content.ComponentName>);
     method public final void setContentCaptureWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
     field public static final String SERVICE_INTERFACE = "android.service.contentcapture.ContentCaptureService";
   }
@@ -6463,10 +6460,14 @@
 
   public abstract class ContentSuggestionsService extends android.app.Service {
     ctor public ContentSuggestionsService();
-    method public abstract void classifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
-    method public abstract void notifyInteraction(@NonNull String, @NonNull android.os.Bundle);
-    method public abstract void processContextImage(int, @Nullable android.graphics.Bitmap, @NonNull android.os.Bundle);
-    method public abstract void suggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
+    method @Deprecated public void classifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
+    method @Deprecated public void notifyInteraction(@NonNull String, @NonNull android.os.Bundle);
+    method public void onClassifyContentSelections(@NonNull android.app.contentsuggestions.ClassificationsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.ClassificationsCallback);
+    method public void onNotifyInteraction(@NonNull String, @NonNull android.os.Bundle);
+    method public void onProcessContextImage(int, @Nullable android.graphics.Bitmap, @NonNull android.os.Bundle);
+    method public void onSuggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
+    method @Deprecated public void processContextImage(int, @Nullable android.graphics.Bitmap, @NonNull android.os.Bundle);
+    method @Deprecated public void suggestContentSelections(@NonNull android.app.contentsuggestions.SelectionsRequest, @NonNull android.app.contentsuggestions.ContentSuggestionsManager.SelectionsCallback);
     field public static final String SERVICE_INTERFACE = "android.service.contentsuggestions.ContentSuggestionsService";
   }
 
@@ -6617,13 +6618,78 @@
 
   public final class Adjustment implements android.os.Parcelable {
     ctor public Adjustment(String, String, android.os.Bundle, CharSequence, int);
+    ctor public Adjustment(@NonNull String, @NonNull String, @NonNull android.os.Bundle, @NonNull CharSequence, @NonNull android.os.UserHandle);
     ctor protected Adjustment(android.os.Parcel);
+    method public int describeContents();
+    method @NonNull public CharSequence getExplanation();
+    method @NonNull public String getKey();
+    method @NonNull public String getPackage();
+    method @NonNull public android.os.Bundle getSignals();
     method public int getUser();
+    method @NonNull public android.os.UserHandle getUserHandle();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.Adjustment> CREATOR;
+    field public static final String KEY_CONTEXTUAL_ACTIONS = "key_contextual_actions";
+    field public static final String KEY_IMPORTANCE = "key_importance";
     field public static final String KEY_PEOPLE = "key_people";
+    field public static final String KEY_SNOOZE_CRITERIA = "key_snooze_criteria";
+    field public static final String KEY_TEXT_REPLIES = "key_text_replies";
+    field public static final String KEY_USER_SENTIMENT = "key_user_sentiment";
+  }
+
+  public abstract class NotificationAssistantService extends android.service.notification.NotificationListenerService {
+    ctor public NotificationAssistantService();
+    method public final void adjustNotification(@NonNull android.service.notification.Adjustment);
+    method public final void adjustNotifications(@NonNull java.util.List<android.service.notification.Adjustment>);
+    method public void onActionInvoked(@NonNull String, @NonNull android.app.Notification.Action, int);
+    method @NonNull public final android.os.IBinder onBind(@Nullable android.content.Intent);
+    method public void onNotificationDirectReplied(@NonNull String);
+    method @Nullable public abstract android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification);
+    method @Nullable public android.service.notification.Adjustment onNotificationEnqueued(@NonNull android.service.notification.StatusBarNotification, @NonNull android.app.NotificationChannel);
+    method public void onNotificationExpansionChanged(@NonNull String, boolean, boolean);
+    method public abstract void onNotificationSnoozedUntilContext(@NonNull android.service.notification.StatusBarNotification, @NonNull String);
+    method public void onNotificationsSeen(@NonNull java.util.List<java.lang.String>);
+    method public void onSuggestedReplySent(@NonNull String, @NonNull CharSequence, int);
+    method public final void unsnoozeNotification(@NonNull String);
+    field public static final String SERVICE_INTERFACE = "android.service.notification.NotificationAssistantService";
+    field public static final int SOURCE_FROM_APP = 0; // 0x0
+    field public static final int SOURCE_FROM_ASSISTANT = 1; // 0x1
+  }
+
+  public abstract class NotificationListenerService extends android.app.Service {
+    method public void onNotificationRemoved(@NonNull android.service.notification.StatusBarNotification, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.service.notification.NotificationStats, int);
   }
 
   public final class NotificationStats implements android.os.Parcelable {
+    ctor public NotificationStats();
     ctor protected NotificationStats(android.os.Parcel);
+    method public int describeContents();
+    method public int getDismissalSentiment();
+    method public int getDismissalSurface();
+    method public boolean hasDirectReplied();
+    method public boolean hasExpanded();
+    method public boolean hasInteracted();
+    method public boolean hasSeen();
+    method public boolean hasSnoozed();
+    method public boolean hasViewedSettings();
+    method public void setDirectReplied();
+    method public void setDismissalSentiment(int);
+    method public void setDismissalSurface(int);
+    method public void setExpanded();
+    method public void setSeen();
+    method public void setSnoozed();
+    method public void setViewedSettings();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationStats> CREATOR;
+    field public static final int DISMISSAL_AOD = 2; // 0x2
+    field public static final int DISMISSAL_NOT_DISMISSED = -1; // 0xffffffff
+    field public static final int DISMISSAL_OTHER = 0; // 0x0
+    field public static final int DISMISSAL_PEEK = 1; // 0x1
+    field public static final int DISMISSAL_SHADE = 3; // 0x3
+    field public static final int DISMISS_SENTIMENT_NEGATIVE = 0; // 0x0
+    field public static final int DISMISS_SENTIMENT_NEUTRAL = 1; // 0x1
+    field public static final int DISMISS_SENTIMENT_POSITIVE = 2; // 0x2
+    field public static final int DISMISS_SENTIMENT_UNKNOWN = -1000; // 0xfffffc18
   }
 
   public final class SnoozeCriterion implements android.os.Parcelable {
@@ -6763,15 +6829,15 @@
     method public static android.view.textclassifier.TextClassifier getDefaultTextClassifierImplementation(@NonNull android.content.Context);
     method @Deprecated public final android.view.textclassifier.TextClassifier getLocalTextClassifier();
     method @Nullable public final android.os.IBinder onBind(android.content.Intent);
-    method public abstract void onClassifyText(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassification.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextClassification>);
-    method public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId);
-    method public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId);
-    method public void onDetectLanguage(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextLanguage.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextLanguage>);
-    method public abstract void onGenerateLinks(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextLinks.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextLinks>);
-    method @Deprecated public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent);
-    method public void onSuggestConversationActions(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.ConversationActions.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.ConversationActions>);
-    method public abstract void onSuggestSelection(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextSelection.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextSelection>);
-    method public void onTextClassifierEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassifierEvent);
+    method @MainThread public abstract void onClassifyText(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassification.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextClassification>);
+    method @MainThread public void onCreateTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationContext, @NonNull android.view.textclassifier.TextClassificationSessionId);
+    method @MainThread public void onDestroyTextClassificationSession(@NonNull android.view.textclassifier.TextClassificationSessionId);
+    method @MainThread public void onDetectLanguage(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextLanguage.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextLanguage>);
+    method @MainThread public abstract void onGenerateLinks(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextLinks.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextLinks>);
+    method @Deprecated @MainThread public void onSelectionEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.SelectionEvent);
+    method @MainThread public void onSuggestConversationActions(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.ConversationActions.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.ConversationActions>);
+    method @MainThread public abstract void onSuggestSelection(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextSelection.Request, @NonNull android.os.CancellationSignal, @NonNull android.service.textclassifier.TextClassifierService.Callback<android.view.textclassifier.TextSelection>);
+    method @MainThread public void onTextClassifierEvent(@Nullable android.view.textclassifier.TextClassificationSessionId, @NonNull android.view.textclassifier.TextClassifierEvent);
     field public static final String SERVICE_INTERFACE = "android.service.textclassifier.TextClassifierService";
   }
 
@@ -6998,10 +7064,6 @@
     field public static final int CAPABILITY_MULTI_USER = 32; // 0x20
   }
 
-  public final class PhoneAccountSuggestion implements android.os.Parcelable {
-    ctor public PhoneAccountSuggestion(@NonNull android.telecom.PhoneAccountHandle, int, boolean);
-  }
-
   public class PhoneAccountSuggestionService extends android.app.Service {
     ctor public PhoneAccountSuggestionService();
     method public void onAccountSuggestionRequest(@NonNull String);
@@ -7093,9 +7155,10 @@
 
 package android.telephony {
 
-  public static final class AccessNetworkConstants.TransportType {
-    field public static final int WLAN = 2; // 0x2
-    field public static final int WWAN = 1; // 0x1
+  public final class AccessNetworkConstants {
+    field public static final int TRANSPORT_TYPE_INVALID = -1; // 0xffffffff
+    field public static final int TRANSPORT_TYPE_WLAN = 2; // 0x2
+    field public static final int TRANSPORT_TYPE_WWAN = 1; // 0x1
   }
 
   public final class CallAttributes implements android.os.Parcelable {
@@ -7615,54 +7678,67 @@
     field public static final String MBMS_STREAMING_SERVICE_ACTION = "android.telephony.action.EmbmsStreaming";
   }
 
-  public class NetworkRegistrationState implements android.os.Parcelable {
-    ctor public NetworkRegistrationState(int, int, int, int, int, boolean, int[], @Nullable android.telephony.CellIdentity);
-    ctor protected NetworkRegistrationState(android.os.Parcel);
+  public final class NetworkRegistrationInfo implements android.os.Parcelable {
     method public int describeContents();
     method public int getAccessNetworkTechnology();
-    method public int[] getAvailableServices();
-    method public android.telephony.CellIdentity getCellIdentity();
+    method @NonNull public java.util.List<java.lang.Integer> getAvailableServices();
+    method @Nullable public android.telephony.CellIdentity getCellIdentity();
     method @Nullable public android.telephony.DataSpecificRegistrationStates getDataSpecificStates();
     method public int getDomain();
-    method public int getRegState();
+    method public int getRegistrationState();
     method public int getRejectCause();
     method public int getRoamingType();
     method public int getTransportType();
     method public boolean isEmergencyEnabled();
     method public boolean isRoaming();
     method public void writeToParcel(android.os.Parcel, int);
-    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NetworkRegistrationState> CREATOR;
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.NetworkRegistrationInfo> CREATOR;
     field public static final int DOMAIN_CS = 1; // 0x1
     field public static final int DOMAIN_PS = 2; // 0x2
-    field public static final int REG_STATE_DENIED = 3; // 0x3
-    field public static final int REG_STATE_HOME = 1; // 0x1
-    field public static final int REG_STATE_NOT_REG_NOT_SEARCHING = 0; // 0x0
-    field public static final int REG_STATE_NOT_REG_SEARCHING = 2; // 0x2
-    field public static final int REG_STATE_ROAMING = 5; // 0x5
-    field public static final int REG_STATE_UNKNOWN = 4; // 0x4
+    field public static final int REGISTRATION_STATE_DENIED = 3; // 0x3
+    field public static final int REGISTRATION_STATE_HOME = 1; // 0x1
+    field public static final int REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING = 0; // 0x0
+    field public static final int REGISTRATION_STATE_NOT_REGISTERED_SEARCHING = 2; // 0x2
+    field public static final int REGISTRATION_STATE_ROAMING = 5; // 0x5
+    field public static final int REGISTRATION_STATE_UNKNOWN = 4; // 0x4
     field public static final int SERVICE_TYPE_DATA = 2; // 0x2
     field public static final int SERVICE_TYPE_EMERGENCY = 5; // 0x5
     field public static final int SERVICE_TYPE_SMS = 3; // 0x3
+    field public static final int SERVICE_TYPE_UNKNOWN = 0; // 0x0
     field public static final int SERVICE_TYPE_VIDEO = 4; // 0x4
     field public static final int SERVICE_TYPE_VOICE = 1; // 0x1
   }
 
+  public static final class NetworkRegistrationInfo.Builder {
+    ctor public NetworkRegistrationInfo.Builder();
+    method @NonNull public android.telephony.NetworkRegistrationInfo build();
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAccessNetworkTechnology(int);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setAvailableServices(@NonNull java.util.List<java.lang.Integer>);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setCellIdentity(@Nullable android.telephony.CellIdentity);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setDomain(int);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setEmergencyOnly(boolean);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRegistrationState(int);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setRejectCause(int);
+    method @NonNull public android.telephony.NetworkRegistrationInfo.Builder setTransportType(int);
+  }
+
   public abstract class NetworkService extends android.app.Service {
     ctor public NetworkService();
-    method protected abstract android.telephony.NetworkService.NetworkServiceProvider createNetworkServiceProvider(int);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method @Nullable public abstract android.telephony.NetworkService.NetworkServiceProvider onCreateNetworkServiceProvider(int);
     field public static final String NETWORK_SERVICE_INTERFACE = "android.telephony.NetworkService";
   }
 
   public abstract class NetworkService.NetworkServiceProvider implements java.lang.AutoCloseable {
     ctor public NetworkService.NetworkServiceProvider(int);
     method public abstract void close();
-    method public void getNetworkRegistrationState(int, @NonNull android.telephony.NetworkServiceCallback);
-    method public final int getSlotId();
-    method public final void notifyNetworkRegistrationStateChanged();
+    method public void getNetworkRegistrationInfo(int, @NonNull android.telephony.NetworkServiceCallback);
+    method public final int getSlotIndex();
+    method public final void notifyNetworkRegistrationInfoChanged();
   }
 
   public class NetworkServiceCallback {
-    method public void onGetNetworkRegistrationStateComplete(int, android.telephony.NetworkRegistrationState);
+    method public void onGetNetworkRegistrationInfoComplete(int, @Nullable android.telephony.NetworkRegistrationInfo);
     field public static final int RESULT_ERROR_BUSY = 3; // 0x3
     field public static final int RESULT_ERROR_FAILED = 5; // 0x5
     field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
@@ -7837,12 +7913,10 @@
   }
 
   public class ServiceState implements android.os.Parcelable {
-    method @Nullable public android.telephony.NetworkRegistrationState getNetworkRegistrationState(int, int);
-    method @NonNull public java.util.List<android.telephony.NetworkRegistrationState> getNetworkRegistrationStates();
-    method @Deprecated @NonNull public java.util.List<android.telephony.NetworkRegistrationState> getNetworkRegistrationStates(int);
-    method @Deprecated @Nullable public android.telephony.NetworkRegistrationState getNetworkRegistrationStates(int, int);
-    method @NonNull public java.util.List<android.telephony.NetworkRegistrationState> getNetworkRegistrationStatesForDomain(int);
-    method @NonNull public java.util.List<android.telephony.NetworkRegistrationState> getNetworkRegistrationStatesForTransportType(int);
+    method @Nullable public android.telephony.NetworkRegistrationInfo getNetworkRegistrationInfo(int, int);
+    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoList();
+    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForDomain(int);
+    method @NonNull public java.util.List<android.telephony.NetworkRegistrationInfo> getNetworkRegistrationInfoListForTransportType(int);
     field public static final int ROAMING_TYPE_DOMESTIC = 2; // 0x2
     field public static final int ROAMING_TYPE_INTERNATIONAL = 3; // 0x3
     field public static final int ROAMING_TYPE_NOT_ROAMING = 0; // 0x0
@@ -7884,7 +7958,7 @@
     method public void requestEmbeddedSubscriptionInfoListRefresh(int);
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultDataSubId(int);
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDefaultSmsSubId(int);
-    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPreferredDataSubscriptionId(int, boolean, @NonNull java.util.concurrent.Executor, java.util.function.Consumer<java.lang.Integer>);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setPreferredDataSubscriptionId(int, boolean, @Nullable java.util.concurrent.Executor, @Nullable java.util.function.Consumer<java.lang.Integer>);
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setSubscriptionEnabled(int, boolean);
     field @NonNull public static final android.net.Uri ADVANCED_CALLING_ENABLED_CONTENT_URI;
     field public static final int PROFILE_CLASS_DEFAULT = -1; // 0xffffffff
@@ -7952,9 +8026,9 @@
     method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getEmergencyCallbackMode();
     method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimDomain();
     method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getIsimIst();
-    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.List<android.util.Pair<java.lang.Integer,java.lang.Integer>> getLogicalToPhysicalSlotMapping();
+    method @NonNull @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public java.util.Map<java.lang.Integer,java.lang.Integer> getLogicalToPhysicalSlotMapping();
     method public static long getMaxNumberVerificationTimeoutMillis();
-    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmap();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public long getPreferredNetworkTypeBitmask();
     method @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public int getRadioPowerState();
     method public int getSimApplicationState();
     method public int getSimCardState();
@@ -7966,10 +8040,14 @@
     method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoiceActivationState();
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmi(String);
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean handlePinMmiForSubscriber(int, String);
-    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isCurrentPotentialEmergencyNumber(@NonNull String);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean iccCloseLogicalChannelBySlot(int, int);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public android.telephony.IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot(int, @Nullable String, int);
+    method @NonNull @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduBasicChannelBySlot(int, int, int, int, int, int, @Nullable String);
+    method @Nullable @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public String iccTransmitApduLogicalChannelBySlot(int, int, int, int, int, int, int, @Nullable String);
     method public boolean isDataConnectivityPossible();
     method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isIdle();
     method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isOffhook();
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isPotentialEmergencyNumber(@NonNull String);
     method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRadioOn();
     method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isRebootRequiredForModemConfigChange();
     method @Deprecated @RequiresPermission(anyOf={android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE, android.Manifest.permission.READ_PHONE_STATE}) public boolean isRinging();
@@ -7987,7 +8065,7 @@
     method @Deprecated @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataEnabled(int, boolean);
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setDataRoamingEnabled(boolean);
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setMultisimCarrierRestriction(boolean);
-    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmap(long);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setPreferredNetworkTypeBitmask(long);
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadio(boolean);
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean setRadioPower(boolean);
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setSimPowerState(int);
@@ -8001,7 +8079,7 @@
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public boolean switchSlots(int[]);
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void toggleRadioOnOff();
     method public void updateServiceLocation();
-    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final String ACTION_DEBUG_EVENT = "android.telephony.action.DEBUG_EVENT";
+    field @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public static final String ACTION_ANOMALY_REPORTED = "android.telephony.action.ANOMALY_REPORTED";
     field public static final String ACTION_SIM_APPLICATION_STATE_CHANGED = "android.telephony.action.SIM_APPLICATION_STATE_CHANGED";
     field public static final String ACTION_SIM_CARD_STATE_CHANGED = "android.telephony.action.SIM_CARD_STATE_CHANGED";
     field public static final String ACTION_SIM_SLOT_STATUS_CHANGED = "android.telephony.action.SIM_SLOT_STATUS_CHANGED";
@@ -8009,8 +8087,8 @@
     field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
     field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
     field public static final int CARRIER_PRIVILEGE_STATUS_RULES_NOT_LOADED = -1; // 0xffffffff
-    field public static final String EXTRA_DEBUG_EVENT_DESCRIPTION = "android.telephony.extra.DEBUG_EVENT_DESCRIPTION";
-    field public static final String EXTRA_DEBUG_EVENT_ID = "android.telephony.extra.DEBUG_EVENT_ID";
+    field public static final String EXTRA_ANOMALY_DESCRIPTION = "android.telephony.extra.ANOMALY_DESCRIPTION";
+    field public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
     field public static final String EXTRA_SIM_STATE = "android.telephony.extra.SIM_STATE";
     field public static final String EXTRA_VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL = "android.telephony.extra.VISUAL_VOICEMAIL_ENABLED_BY_USER_BOOL";
     field public static final String EXTRA_VOICEMAIL_SCRAMBLED_PIN_STRING = "android.telephony.extra.VOICEMAIL_SCRAMBLED_PIN_STRING";
@@ -8094,7 +8172,6 @@
 
   public final class DataCallResponse implements android.os.Parcelable {
     ctor public DataCallResponse(int, int, int, int, int, @Nullable String, @Nullable java.util.List<android.net.LinkAddress>, @Nullable java.util.List<java.net.InetAddress>, @Nullable java.util.List<java.net.InetAddress>, @Nullable java.util.List<java.lang.String>, int);
-    ctor public DataCallResponse(android.os.Parcel);
     method public int describeContents();
     method public int getActive();
     method @NonNull public java.util.List<android.net.LinkAddress> getAddresses();
@@ -8112,23 +8189,26 @@
   }
 
   public final class DataProfile implements android.os.Parcelable {
-    method public String getApn();
+    method public int describeContents();
+    method @NonNull public String getApn();
     method public int getAuthType();
     method public int getBearerBitmap();
     method public int getMaxConns();
     method public int getMaxConnsTime();
     method public int getMtu();
-    method public String getPassword();
+    method @Nullable public String getPassword();
     method public int getProfileId();
     method public int getProtocol();
     method public int getRoamingProtocol();
     method public int getSupportedApnTypesBitmap();
     method public int getType();
-    method public String getUserName();
+    method @Nullable public String getUserName();
     method public int getWaitTime();
     method public boolean isEnabled();
     method public boolean isPersistent();
     method public boolean isPreferred();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.telephony.data.DataProfile> CREATOR;
     field public static final int TYPE_3GPP = 1; // 0x1
     field public static final int TYPE_3GPP2 = 2; // 0x2
     field public static final int TYPE_COMMON = 0; // 0x0
@@ -8136,7 +8216,8 @@
 
   public abstract class DataService extends android.app.Service {
     ctor public DataService();
-    method public abstract android.telephony.data.DataService.DataServiceProvider createDataServiceProvider(int);
+    method public android.os.IBinder onBind(android.content.Intent);
+    method @Nullable public abstract android.telephony.data.DataService.DataServiceProvider onCreateDataServiceProvider(int);
     field public static final String DATA_SERVICE_INTERFACE = "android.telephony.data.DataService";
     field public static final int REQUEST_REASON_HANDOVER = 3; // 0x3
     field public static final int REQUEST_REASON_NORMAL = 1; // 0x1
@@ -8148,7 +8229,7 @@
     method public abstract void close();
     method public void deactivateDataCall(int, int, @Nullable android.telephony.data.DataServiceCallback);
     method public void getDataCallList(@NonNull android.telephony.data.DataServiceCallback);
-    method public final int getSlotId();
+    method public final int getSlotIndex();
     method public final void notifyDataCallListChanged(java.util.List<android.telephony.data.DataCallResponse>);
     method public void setDataProfile(@NonNull java.util.List<android.telephony.data.DataProfile>, boolean, @Nullable android.telephony.data.DataServiceCallback);
     method public void setInitialAttachApn(@NonNull android.telephony.data.DataProfile, boolean, @Nullable android.telephony.data.DataServiceCallback);
@@ -8156,12 +8237,12 @@
   }
 
   public class DataServiceCallback {
-    method public void onDataCallListChanged(java.util.List<android.telephony.data.DataCallResponse>);
+    method public void onDataCallListChanged(@NonNull java.util.List<android.telephony.data.DataCallResponse>);
     method public void onDeactivateDataCallComplete(int);
-    method public void onGetDataCallListComplete(int, java.util.List<android.telephony.data.DataCallResponse>);
+    method public void onGetDataCallListComplete(int, @NonNull java.util.List<android.telephony.data.DataCallResponse>);
     method public void onSetDataProfileComplete(int);
     method public void onSetInitialAttachApnComplete(int);
-    method public void onSetupDataCallComplete(int, android.telephony.data.DataCallResponse);
+    method public void onSetupDataCallComplete(int, @Nullable android.telephony.data.DataCallResponse);
     field public static final int RESULT_ERROR_BUSY = 3; // 0x3
     field public static final int RESULT_ERROR_ILLEGAL_STATE = 4; // 0x4
     field public static final int RESULT_ERROR_INVALID_ARG = 2; // 0x2
@@ -8359,7 +8440,7 @@
     method public static int getCallTypeFromVideoState(int);
     method public int getEmergencyCallRouting();
     method public int getEmergencyServiceCategories();
-    method public java.util.List<java.lang.String> getEmergencyUrns();
+    method @NonNull public java.util.List<java.lang.String> getEmergencyUrns();
     method public android.telephony.ims.ImsStreamMediaProfile getMediaProfile();
     method public int getRestrictCause();
     method public int getServiceType();
@@ -8377,7 +8458,7 @@
     method public void setEmergencyCallRouting(int);
     method public void setEmergencyCallTesting(boolean);
     method public void setEmergencyServiceCategories(int);
-    method public void setEmergencyUrns(java.util.List<java.lang.String>);
+    method public void setEmergencyUrns(@NonNull java.util.List<java.lang.String>);
     method public void setHasKnownUserIntentEmergency(boolean);
     method public void updateCallExtras(android.telephony.ims.ImsCallProfile);
     method public void updateCallType(android.telephony.ims.ImsCallProfile);
@@ -8493,7 +8574,7 @@
   public class ImsException extends java.lang.Exception {
     ctor public ImsException(@Nullable String);
     ctor public ImsException(@Nullable String, int);
-    ctor public ImsException(@Nullable String, int, Throwable);
+    ctor public ImsException(@Nullable String, int, @Nullable Throwable);
     method public int getCode();
     field public static final int CODE_ERROR_SERVICE_UNAVAILABLE = 1; // 0x1
     field public static final int CODE_ERROR_UNSPECIFIED = 0; // 0x0
@@ -8501,13 +8582,13 @@
   }
 
   public final class ImsExternalCallState implements android.os.Parcelable {
-    ctor public ImsExternalCallState(String, android.net.Uri, android.net.Uri, boolean, int, int, boolean);
+    ctor public ImsExternalCallState(@NonNull String, @NonNull android.net.Uri, @Nullable android.net.Uri, boolean, int, int, boolean);
     method public int describeContents();
-    method public android.net.Uri getAddress();
+    method @NonNull public android.net.Uri getAddress();
     method public int getCallId();
     method public int getCallState();
     method public int getCallType();
-    method public android.net.Uri getLocalAddress();
+    method @Nullable public android.net.Uri getLocalAddress();
     method public boolean isCallHeld();
     method public boolean isCallPullable();
     method public void writeToParcel(android.os.Parcel, int);
@@ -8517,7 +8598,7 @@
   }
 
   public class ImsMmTelManager {
-    method public static android.telephony.ims.ImsMmTelManager createForSubscriptionId(int);
+    method @NonNull public static android.telephony.ims.ImsMmTelManager createForSubscriptionId(int);
     method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiModeSetting();
     method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getVoWiFiRoamingModeSetting();
     method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isAdvancedCallingSettingEnabled();
@@ -8526,7 +8607,7 @@
     method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isVoWiFiRoamingSettingEnabled();
     method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isVoWiFiSettingEnabled();
     method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean isVtSettingEnabled();
-    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerImsRegistrationCallback(java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback) throws android.telephony.ims.ImsException;
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerImsRegistrationCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsMmTelManager.RegistrationCallback) throws android.telephony.ims.ImsException;
     method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerMmTelCapabilityCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ImsMmTelManager.CapabilityCallback) throws android.telephony.ims.ImsException;
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setAdvancedCallingSettingEnabled(boolean);
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setRttCapabilitySetting(boolean);
@@ -8545,15 +8626,15 @@
 
   public static class ImsMmTelManager.CapabilityCallback {
     ctor public ImsMmTelManager.CapabilityCallback();
-    method public void onCapabilitiesStatusChanged(android.telephony.ims.feature.MmTelFeature.MmTelCapabilities);
+    method public void onCapabilitiesStatusChanged(@NonNull android.telephony.ims.feature.MmTelFeature.MmTelCapabilities);
   }
 
   public static class ImsMmTelManager.RegistrationCallback {
     ctor public ImsMmTelManager.RegistrationCallback();
     method public void onRegistered(int);
     method public void onRegistering(int);
-    method public void onTechnologyChangeFailed(int, android.telephony.ims.ImsReasonInfo);
-    method public void onUnregistered(android.telephony.ims.ImsReasonInfo);
+    method public void onTechnologyChangeFailed(int, @Nullable android.telephony.ims.ImsReasonInfo);
+    method public void onUnregistered(@Nullable android.telephony.ims.ImsReasonInfo);
   }
 
   public final class ImsReasonInfo implements android.os.Parcelable {
@@ -8962,14 +9043,14 @@
   }
 
   public class ProvisioningManager {
-    method public static android.telephony.ims.ProvisioningManager createForSubscriptionId(int);
+    method @NonNull public static android.telephony.ims.ProvisioningManager createForSubscriptionId(int);
     method @WorkerThread @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public int getProvisioningIntValue(int);
     method @WorkerThread @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public boolean getProvisioningStatusForCapability(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int);
-    method @WorkerThread @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public String getProvisioningStringValue(int);
-    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerProvisioningChangedCallback(java.util.concurrent.Executor, @NonNull android.telephony.ims.ProvisioningManager.Callback) throws android.telephony.ims.ImsException;
+    method @Nullable @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) @WorkerThread public String getProvisioningStringValue(int);
+    method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void registerProvisioningChangedCallback(@NonNull java.util.concurrent.Executor, @NonNull android.telephony.ims.ProvisioningManager.Callback) throws android.telephony.ims.ImsException;
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningIntValue(int, int);
     method @WorkerThread @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void setProvisioningStatusForCapability(@android.telephony.ims.feature.MmTelFeature.MmTelCapabilities.MmTelCapability int, int, boolean);
-    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningStringValue(int, String);
+    method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) @WorkerThread public int setProvisioningStringValue(int, @NonNull String);
     method @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE) public void unregisterProvisioningChangedCallback(@NonNull android.telephony.ims.ProvisioningManager.Callback);
     field public static final int KEY_VOICE_OVER_WIFI_MODE_OVERRIDE = 27; // 0x1b
     field public static final int KEY_VOICE_OVER_WIFI_ROAMING_ENABLED_OVERRIDE = 26; // 0x1a
@@ -8982,7 +9063,7 @@
   public static class ProvisioningManager.Callback {
     ctor public ProvisioningManager.Callback();
     method public void onProvisioningIntChanged(int, int);
-    method public void onProvisioningStringChanged(int, String);
+    method public void onProvisioningStringChanged(int, @NonNull String);
   }
 
 }
@@ -9421,7 +9502,6 @@
 package android.view.autofill {
 
   public final class AutofillManager {
-    method @Deprecated public void setAugmentedAutofillWhitelist(@Nullable java.util.List<java.lang.String>, @Nullable java.util.List<android.content.ComponentName>);
     method public void setAugmentedAutofillWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
   }
 
@@ -9437,6 +9517,7 @@
     method public int getTaskId();
     field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1
     field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2
+    field public static final int FLAG_RECONNECTED = 4; // 0x4
   }
 
   public final class ContentCaptureEvent implements android.os.Parcelable {
@@ -9635,16 +9716,16 @@
 
   public final class WebViewDelegate {
     method public void addWebViewAssetPath(android.content.Context);
-    method public void callDrawGlFunction(android.graphics.Canvas, long);
-    method public void callDrawGlFunction(@NonNull android.graphics.Canvas, long, @Nullable Runnable);
-    method public boolean canInvokeDrawGlFunctor(android.view.View);
-    method public void detachDrawGlFunctor(android.view.View, long);
+    method @Deprecated public void callDrawGlFunction(android.graphics.Canvas, long);
+    method @Deprecated public void callDrawGlFunction(@NonNull android.graphics.Canvas, long, @Nullable Runnable);
+    method @Deprecated public boolean canInvokeDrawGlFunctor(android.view.View);
+    method @Deprecated public void detachDrawGlFunctor(android.view.View, long);
     method public void drawWebViewFunctor(@NonNull android.graphics.Canvas, int);
     method public android.app.Application getApplication();
     method public String getDataDirectorySuffix();
     method public String getErrorString(android.content.Context, int);
     method public int getPackageId(android.content.res.Resources, String);
-    method public void invokeDrawGlFunctor(android.view.View, long, boolean);
+    method @Deprecated public void invokeDrawGlFunctor(android.view.View, long, boolean);
     method public boolean isMultiProcessEnabled();
     method public boolean isTraceTagEnabled();
     method public void setOnTraceEnabledChangeListener(android.webkit.WebViewDelegate.OnTraceEnabledChangeListener);
@@ -9746,8 +9827,8 @@
     method public int getVisibleTitleHeight();
     method public android.webkit.WebChromeClient getWebChromeClient();
     method public android.webkit.WebViewClient getWebViewClient();
-    method public android.webkit.WebViewRenderer getWebViewRenderer();
-    method public android.webkit.WebViewRendererClient getWebViewRendererClient();
+    method @Nullable public android.webkit.WebViewRenderProcess getWebViewRenderProcess();
+    method @Nullable public android.webkit.WebViewRenderProcessClient getWebViewRenderProcessClient();
     method public android.view.View getZoomControls();
     method public void goBack();
     method public void goBackOrForward(int);
@@ -9797,7 +9878,7 @@
     method public void setVerticalScrollbarOverlay(boolean);
     method public void setWebChromeClient(android.webkit.WebChromeClient);
     method public void setWebViewClient(android.webkit.WebViewClient);
-    method public void setWebViewRendererClient(@Nullable java.util.concurrent.Executor, @Nullable android.webkit.WebViewRendererClient);
+    method public void setWebViewRenderProcessClient(@Nullable java.util.concurrent.Executor, @Nullable android.webkit.WebViewRenderProcessClient);
     method public boolean showFindDialog(String, boolean);
     method public void stopLoading();
     method public boolean zoomBy(float);
@@ -9879,10 +9960,6 @@
     field public final android.content.pm.Signature[] signatures;
   }
 
-  public abstract class WebViewRenderer {
-    ctor public WebViewRenderer();
-  }
-
   public final class WebViewUpdateService {
     method public static android.webkit.WebViewProviderInfo[] getAllWebViewPackages();
     method public static String getCurrentWebViewPackageName();
diff --git a/api/system-removed.txt b/api/system-removed.txt
index 22a3fb3..18d0ec0 100644
--- a/api/system-removed.txt
+++ b/api/system-removed.txt
@@ -60,6 +60,25 @@
 
 }
 
+package android.content.pm {
+
+  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
+    method @Deprecated public void setEnableRollback();
+  }
+
+}
+
+package android.location {
+
+  public class LocationManager {
+    method @Deprecated public boolean addGpsMeasurementListener(android.location.GpsMeasurementsEvent.Listener);
+    method @Deprecated public boolean addGpsNavigationMessageListener(android.location.GpsNavigationMessageEvent.Listener);
+    method @Deprecated public void removeGpsMeasurementListener(android.location.GpsMeasurementsEvent.Listener);
+    method @Deprecated public void removeGpsNavigationMessageListener(android.location.GpsNavigationMessageEvent.Listener);
+  }
+
+}
+
 package android.media.tv {
 
   public final class TvInputManager {
diff --git a/api/test-current.txt b/api/test-current.txt
index 684524e..c2ee2c3 100644
--- a/api/test-current.txt
+++ b/api/test-current.txt
@@ -11,8 +11,10 @@
     field public static final String CONFIGURE_DISPLAY_BRIGHTNESS = "android.permission.CONFIGURE_DISPLAY_BRIGHTNESS";
     field public static final String FORCE_STOP_PACKAGES = "android.permission.FORCE_STOP_PACKAGES";
     field public static final String MANAGE_ACTIVITY_STACKS = "android.permission.MANAGE_ACTIVITY_STACKS";
+    field public static final String MANAGE_ROLLBACKS = "android.permission.MANAGE_ROLLBACKS";
     field public static final String READ_CELL_BROADCASTS = "android.permission.READ_CELL_BROADCASTS";
     field public static final String REMOVE_TASKS = "android.permission.REMOVE_TASKS";
+    field public static final String WRITE_DEVICE_CONFIG = "android.permission.WRITE_DEVICE_CONFIG";
     field public static final String WRITE_MEDIA_STORAGE = "android.permission.WRITE_MEDIA_STORAGE";
     field public static final String WRITE_OBB = "android.permission.WRITE_OBB";
   }
@@ -41,7 +43,6 @@
 
   public class Activity extends android.view.ContextThemeWrapper implements android.content.ComponentCallbacks2 android.view.KeyEvent.Callback android.view.LayoutInflater.Factory2 android.view.View.OnCreateContextMenuListener android.view.Window.Callback {
     method public void onMovedToDisplay(int, android.content.res.Configuration);
-    method public void setInheritShowWhenLocked(boolean);
   }
 
   public class ActivityManager {
@@ -145,7 +146,7 @@
     method @RequiresPermission("android.permission.MANAGE_APP_OPS_MODES") public void setUidMode(String, int, int);
     method public void startWatchingActive(@NonNull int[], @NonNull android.app.AppOpsManager.OnOpActiveChangedListener);
     method public void stopWatchingActive(@NonNull android.app.AppOpsManager.OnOpActiveChangedListener);
-    method public static int strOpToOp(String);
+    method public static int strOpToOp(@NonNull String);
     field public static final int HISTORICAL_MODE_DISABLED = 0; // 0x0
     field public static final int HISTORICAL_MODE_ENABLED_ACTIVE = 1; // 0x1
     field public static final int HISTORICAL_MODE_ENABLED_PASSIVE = 2; // 0x2
@@ -426,22 +427,22 @@
     method public int describeContents();
     method @Nullable public android.os.Bundle getExtras();
     method @NonNull public String getPackageName();
-    method public int getPredictedTargetCount();
-    method public String getUiSurface();
-    method public void writeToParcel(android.os.Parcel, int);
+    method @IntRange(from=0) public int getPredictedTargetCount();
+    method @NonNull public String getUiSurface();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.app.prediction.AppPredictionContext> CREATOR;
   }
 
   public static final class AppPredictionContext.Builder {
     ctor public AppPredictionContext.Builder(@NonNull android.content.Context);
-    method public android.app.prediction.AppPredictionContext build();
-    method public android.app.prediction.AppPredictionContext.Builder setExtras(@Nullable android.os.Bundle);
-    method public android.app.prediction.AppPredictionContext.Builder setPredictedTargetCount(int);
-    method public android.app.prediction.AppPredictionContext.Builder setUiSurface(@Nullable String);
+    method @NonNull public android.app.prediction.AppPredictionContext build();
+    method @NonNull public android.app.prediction.AppPredictionContext.Builder setExtras(@Nullable android.os.Bundle);
+    method @NonNull public android.app.prediction.AppPredictionContext.Builder setPredictedTargetCount(@IntRange(from=0) int);
+    method @NonNull public android.app.prediction.AppPredictionContext.Builder setUiSurface(@NonNull String);
   }
 
   public final class AppPredictionManager {
-    method public android.app.prediction.AppPredictor createAppPredictionSession(@NonNull android.app.prediction.AppPredictionContext);
+    method @NonNull public android.app.prediction.AppPredictor createAppPredictionSession(@NonNull android.app.prediction.AppPredictionContext);
   }
 
   public final class AppPredictionSessionId implements android.os.Parcelable {
@@ -471,7 +472,7 @@
     method @Nullable public String getClassName();
     method @NonNull public android.app.prediction.AppTargetId getId();
     method @NonNull public String getPackageName();
-    method public int getRank();
+    method @IntRange(from=0) public int getRank();
     method @Nullable public android.content.pm.ShortcutInfo getShortcutInfo();
     method @NonNull public android.os.UserHandle getUser();
     method public void writeToParcel(android.os.Parcel, int);
@@ -480,8 +481,8 @@
 
   public final class AppTargetEvent implements android.os.Parcelable {
     method public int describeContents();
-    method @NonNull public int getAction();
-    method @NonNull public String getLaunchLocation();
+    method public int getAction();
+    method @Nullable public String getLaunchLocation();
     method @Nullable public android.app.prediction.AppTarget getTarget();
     method public void writeToParcel(android.os.Parcel, int);
     field public static final int ACTION_DISMISS = 2; // 0x2
@@ -492,8 +493,8 @@
 
   public static final class AppTargetEvent.Builder {
     ctor public AppTargetEvent.Builder(@Nullable android.app.prediction.AppTarget, int);
-    method public android.app.prediction.AppTargetEvent build();
-    method public android.app.prediction.AppTargetEvent.Builder setLaunchLocation(String);
+    method @NonNull public android.app.prediction.AppTargetEvent build();
+    method @NonNull public android.app.prediction.AppTargetEvent.Builder setLaunchLocation(@Nullable String);
   }
 
   public final class AppTargetId implements android.os.Parcelable {
@@ -513,21 +514,17 @@
 
   public final class RoleManager {
     method @RequiresPermission("android.permission.OBSERVE_ROLE_HOLDERS") public void addOnRoleHoldersChangedListenerAsUser(@NonNull java.util.concurrent.Executor, @NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
-    method @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public void addRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.app.role.RoleManagerCallback);
+    method @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public void addRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
     method @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean addRoleHolderFromController(@NonNull String, @NonNull String);
-    method @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public void clearRoleHoldersAsUser(@NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.app.role.RoleManagerCallback);
+    method @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public void clearRoleHoldersAsUser(@NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
     method @NonNull @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public java.util.List<java.lang.String> getHeldRolesFromController(@NonNull String);
     method @NonNull @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public java.util.List<java.lang.String> getRoleHolders(@NonNull String);
     method @NonNull @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public java.util.List<java.lang.String> getRoleHoldersAsUser(@NonNull String, @NonNull android.os.UserHandle);
     method @RequiresPermission("android.permission.OBSERVE_ROLE_HOLDERS") public void removeOnRoleHoldersChangedListenerAsUser(@NonNull android.app.role.OnRoleHoldersChangedListener, @NonNull android.os.UserHandle);
-    method @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public void removeRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull android.app.role.RoleManagerCallback);
+    method @RequiresPermission("android.permission.MANAGE_ROLE_HOLDERS") public void removeRoleHolderAsUser(@NonNull String, @NonNull String, int, @NonNull android.os.UserHandle, @NonNull java.util.concurrent.Executor, @NonNull java.util.function.Consumer<java.lang.Boolean>);
     method @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public boolean removeRoleHolderFromController(@NonNull String, @NonNull String);
     method @RequiresPermission("com.android.permissioncontroller.permission.MANAGE_ROLES_FROM_CONTROLLER") public void setRoleNamesFromController(@NonNull java.util.List<java.lang.String>);
-  }
-
-  public interface RoleManagerCallback {
-    method public void onFailure();
-    method public void onSuccess();
+    field public static final int MANAGE_HOLDERS_FLAG_DONT_KILL_APP = 1; // 0x1
   }
 
 }
@@ -563,11 +560,13 @@
     ctor public AutofillOptions(int, boolean);
     method public int describeContents();
     method public static android.content.AutofillOptions forWhitelistingItself();
+    method public boolean isAugmentedAutofillEnabled(@NonNull android.content.Context);
     method public void writeToParcel(android.os.Parcel, int);
     field @NonNull public static final android.os.Parcelable.Creator<android.content.AutofillOptions> CREATOR;
-    field public boolean augmentedEnabled;
+    field public boolean augmentedAutofillEnabled;
     field public final boolean compatModeEnabled;
     field public final int loggingLevel;
+    field @Nullable public android.util.ArraySet<android.content.ComponentName> whitelistedActivitiesForAugmentedAutofill;
   }
 
   public final class ContentCaptureOptions implements android.os.Parcelable {
@@ -599,6 +598,8 @@
     method public int getUserId();
     method public void setAutofillOptions(@Nullable android.content.AutofillOptions);
     method public void setContentCaptureOptions(@Nullable android.content.ContentCaptureOptions);
+    field public static final String ROLLBACK_SERVICE = "rollback";
+    field public static final String TEST_NETWORK_SERVICE = "test_network";
   }
 
   public class ContextWrapper extends android.content.Context {
@@ -606,6 +607,7 @@
   }
 
   public class Intent implements java.lang.Cloneable android.os.Parcelable {
+    field public static final String ACTION_ROLLBACK_COMMITTED = "android.intent.action.ROLLBACK_COMMITTED";
     field public static final String EXTRA_ROLE_NAME = "android.intent.extra.ROLE_NAME";
   }
 
@@ -629,6 +631,12 @@
     ctor public LauncherApps(android.content.Context);
   }
 
+  public static class PackageInstaller.SessionParams implements android.os.Parcelable {
+    method public void setEnableRollback(boolean);
+    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setInstallAsApex();
+    method @RequiresPermission(android.Manifest.permission.INSTALL_PACKAGES) public void setStaged();
+  }
+
   public abstract class PackageManager {
     method public abstract boolean arePermissionsIndividuallyControlled();
     method @RequiresPermission("android.permission.INTERACT_ACROSS_USERS_FULL") public abstract String getDefaultBrowserPackageNameAsUser(int);
@@ -638,7 +646,7 @@
     method @RequiresPermission("android.permission.INTERACT_ACROSS_USERS_FULL") public abstract java.util.List<android.content.pm.PackageInfo> getInstalledPackagesAsUser(int, int);
     method @Nullable public abstract String[] getNamesForUids(int[]);
     method public abstract String getPermissionControllerPackageName();
-    method @RequiresPermission(anyOf={"android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.REVOKE_RUNTIME_PERMISSIONS"}) public abstract int getPermissionFlags(String, String, @NonNull android.os.UserHandle);
+    method @RequiresPermission(anyOf={"android.permission.GRANT_RUNTIME_PERMISSIONS", "android.permission.REVOKE_RUNTIME_PERMISSIONS", "android.permission.GET_RUNTIME_PERMISSIONS"}) public abstract int getPermissionFlags(String, String, @NonNull android.os.UserHandle);
     method @NonNull public abstract String getServicesSystemSharedLibraryPackageName();
     method @NonNull public abstract String getSharedSystemSharedLibraryPackageName();
     method public String getWellbeingPackageName();
@@ -667,7 +675,7 @@
     field public static final int PROTECTION_FLAG_SYSTEM_TEXT_CLASSIFIER = 65536; // 0x10000
     field public static final int PROTECTION_FLAG_VENDOR_PRIVILEGED = 32768; // 0x8000
     field public static final int PROTECTION_FLAG_WELLBEING = 131072; // 0x20000
-    field public String backgroundPermission;
+    field @Nullable public final String backgroundPermission;
   }
 
   public final class ShortcutInfo implements android.os.Parcelable {
@@ -689,6 +697,45 @@
 
 }
 
+package android.content.rollback {
+
+  public final class PackageRollbackInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public String getPackageName();
+    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackFrom();
+    method @NonNull public android.content.pm.VersionedPackage getVersionRolledBackTo();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.PackageRollbackInfo> CREATOR;
+  }
+
+  public final class RollbackInfo implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public java.util.List<android.content.pm.VersionedPackage> getCausePackages();
+    method public int getCommittedSessionId();
+    method @NonNull public java.util.List<android.content.rollback.PackageRollbackInfo> getPackages();
+    method public int getRollbackId();
+    method public boolean isStaged();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.content.rollback.RollbackInfo> CREATOR;
+  }
+
+  public final class RollbackManager {
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) public void commitRollback(int, @NonNull java.util.List<android.content.pm.VersionedPackage>, @NonNull android.content.IntentSender);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) public void expireRollbackForPackage(@NonNull String);
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) @NonNull public java.util.List<android.content.rollback.RollbackInfo> getAvailableRollbacks();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) @NonNull public java.util.List<android.content.rollback.RollbackInfo> getRecentlyCommittedRollbacks();
+    method @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS) public void reloadPersistedData();
+    field public static final String EXTRA_STATUS = "android.content.rollback.extra.STATUS";
+    field public static final String EXTRA_STATUS_MESSAGE = "android.content.rollback.extra.STATUS_MESSAGE";
+    field public static final String PROPERTY_ROLLBACK_LIFETIME_MILLIS = "rollback_lifetime_in_millis";
+    field public static final int STATUS_FAILURE = 1; // 0x1
+    field public static final int STATUS_FAILURE_INSTALL = 3; // 0x3
+    field public static final int STATUS_FAILURE_ROLLBACK_UNAVAILABLE = 2; // 0x2
+    field public static final int STATUS_SUCCESS = 0; // 0x0
+  }
+
+}
+
 package android.database.sqlite {
 
   public class SQLiteCompatibilityWalFlags {
@@ -900,10 +947,9 @@
     method @Deprecated public void setCarrierPhase(double);
     method @Deprecated public void setCarrierPhaseUncertainty(double);
     method public void setCn0DbHz(double);
-    method public void setCodeType(int);
+    method public void setCodeType(@NonNull String);
     method public void setConstellationType(int);
     method public void setMultipathIndicator(int);
-    method public void setOtherCodeTypeName(@NonNull String);
     method public void setPseudorangeRateMetersPerSecond(double);
     method public void setPseudorangeRateUncertaintyMetersPerSecond(double);
     method public void setReceivedSvTimeNanos(long);
@@ -936,16 +982,16 @@
   }
 
   public class LocationManager {
-    method public String[] getBackgroundThrottlingWhitelist();
-    method public String[] getIgnoreSettingsWhitelist();
+    method @NonNull public String[] getBackgroundThrottlingWhitelist();
+    method @NonNull public String[] getIgnoreSettingsWhitelist();
     method @NonNull public java.util.List<android.location.LocationRequest> getTestProviderCurrentRequests(String);
-    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(android.location.LocationRequest, android.location.LocationListener, android.os.Looper);
-    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(android.location.LocationRequest, android.app.PendingIntent);
-    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, android.os.UserHandle);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull android.location.LocationRequest, @NonNull android.location.LocationListener, @Nullable android.os.Looper);
+    method @RequiresPermission(anyOf={android.Manifest.permission.ACCESS_COARSE_LOCATION, android.Manifest.permission.ACCESS_FINE_LOCATION}) public void requestLocationUpdates(@NonNull android.location.LocationRequest, @NonNull android.app.PendingIntent);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public void setLocationEnabledForUser(boolean, @NonNull android.os.UserHandle);
   }
 
   public final class LocationRequest implements android.os.Parcelable {
-    method public static android.location.LocationRequest create();
+    method @NonNull public static android.location.LocationRequest create();
     method public int describeContents();
     method public long getExpireAt();
     method public long getFastestInterval();
@@ -953,14 +999,14 @@
     method public int getNumUpdates();
     method public int getQuality();
     method public boolean isLocationSettingsIgnored();
-    method public android.location.LocationRequest setExpireAt(long);
-    method public android.location.LocationRequest setExpireIn(long);
-    method public android.location.LocationRequest setFastestInterval(long);
-    method public android.location.LocationRequest setInterval(long);
-    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) public android.location.LocationRequest setLocationSettingsIgnored(boolean);
-    method public android.location.LocationRequest setNumUpdates(int);
-    method public android.location.LocationRequest setProvider(String);
-    method public android.location.LocationRequest setQuality(int);
+    method @NonNull public android.location.LocationRequest setExpireAt(long);
+    method @NonNull public android.location.LocationRequest setExpireIn(long);
+    method @NonNull public android.location.LocationRequest setFastestInterval(long);
+    method @NonNull public android.location.LocationRequest setInterval(long);
+    method @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS) @NonNull public android.location.LocationRequest setLocationSettingsIgnored(boolean);
+    method @NonNull public android.location.LocationRequest setNumUpdates(int);
+    method @NonNull public android.location.LocationRequest setProvider(@NonNull String);
+    method @NonNull public android.location.LocationRequest setQuality(int);
     method public void writeToParcel(android.os.Parcel, int);
     field public static final int ACCURACY_BLOCK = 102; // 0x66
     field public static final int ACCURACY_CITY = 104; // 0x68
@@ -986,11 +1032,29 @@
     method public static boolean isEncodingLinearPcm(int);
   }
 
+  public static final class AudioRecord.MetricsConstants {
+    field public static final String ATTRIBUTES = "android.media.audiorecord.attributes";
+    field public static final String CHANNEL_MASK = "android.media.audiorecord.channelMask";
+    field public static final String DURATION_MS = "android.media.audiorecord.durationMs";
+    field public static final String FRAME_COUNT = "android.media.audiorecord.frameCount";
+    field public static final String PORT_ID = "android.media.audiorecord.portId";
+    field public static final String START_COUNT = "android.media.audiorecord.startCount";
+  }
+
   public final class AudioRecordingConfiguration implements android.os.Parcelable {
     ctor public AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String, int, boolean, int, android.media.audiofx.AudioEffect.Descriptor[], android.media.audiofx.AudioEffect.Descriptor[]);
     ctor public AudioRecordingConfiguration(int, int, int, android.media.AudioFormat, android.media.AudioFormat, int, String);
   }
 
+  public static final class AudioTrack.MetricsConstants {
+    field public static final String ATTRIBUTES = "android.media.audiotrack.attributes";
+    field public static final String CHANNEL_MASK = "android.media.audiotrack.channelMask";
+    field public static final String ENCODING = "android.media.audiotrack.encoding";
+    field public static final String FRAME_COUNT = "android.media.audiotrack.frameCount";
+    field public static final String PORT_ID = "android.media.audiotrack.portId";
+    field public static final String SAMPLE_RATE = "android.media.audiotrack.sampleRate";
+  }
+
   public final class BufferingParams implements android.os.Parcelable {
     method public int describeContents();
     method public int getInitialMarkMs();
@@ -1213,6 +1277,21 @@
     field @NonNull public static final android.os.Parcelable.Creator<android.net.StaticIpConfiguration> CREATOR;
   }
 
+  public final class TestNetworkInterface implements android.os.Parcelable {
+    ctor public TestNetworkInterface(android.os.ParcelFileDescriptor, String);
+    method public int describeContents();
+    method public android.os.ParcelFileDescriptor getFileDescriptor();
+    method public String getInterfaceName();
+    method public void writeToParcel(android.os.Parcel, int);
+    field public static final android.os.Parcelable.Creator<android.net.TestNetworkInterface> CREATOR;
+  }
+
+  public class TestNetworkManager {
+    method public android.net.TestNetworkInterface createTunInterface(@NonNull android.net.LinkAddress[]);
+    method public void setupTestNetwork(@NonNull String, @NonNull android.os.IBinder);
+    method public void teardownTestNetwork(@NonNull android.net.Network);
+  }
+
   public class TrafficStats {
     method public static long getLoopbackRxBytes();
     method public static long getLoopbackRxPackets();
@@ -1246,10 +1325,12 @@
     ctor public CaptivePortalProbeResult(int, String, String);
     ctor public CaptivePortalProbeResult(int, String, String, android.net.captiveportal.CaptivePortalProbeSpec);
     method public boolean isFailed();
+    method public boolean isPartialConnectivity();
     method public boolean isPortal();
     method public boolean isSuccessful();
     field public static final android.net.captiveportal.CaptivePortalProbeResult FAILED;
     field public static final int FAILED_CODE = 599; // 0x257
+    field public static final android.net.captiveportal.CaptivePortalProbeResult PARTIAL;
     field public static final int PORTAL_CODE = 302; // 0x12e
     field public static final android.net.captiveportal.CaptivePortalProbeResult SUCCESS;
     field public static final int SUCCESS_CODE = 204; // 0xcc
@@ -1381,6 +1462,7 @@
     field public static final int NETWORK_FIRST_VALIDATION_PORTAL_FOUND = 10; // 0xa
     field public static final int NETWORK_FIRST_VALIDATION_SUCCESS = 8; // 0x8
     field public static final int NETWORK_LINGER = 5; // 0x5
+    field public static final int NETWORK_PARTIAL_CONNECTIVITY = 13; // 0xd
     field public static final int NETWORK_REVALIDATION_PORTAL_FOUND = 11; // 0xb
     field public static final int NETWORK_REVALIDATION_SUCCESS = 9; // 0x9
     field public static final int NETWORK_UNLINGER = 6; // 0x6
@@ -1426,20 +1508,17 @@
 
 package android.net.util {
 
-  public class SocketUtils {
-    method public static void addArpEntry(java.net.Inet4Address, android.net.MacAddress, String, java.io.FileDescriptor) throws java.io.IOException;
-    method public static void attachControlPacketFilter(java.io.FileDescriptor, int) throws java.net.SocketException;
-    method public static void attachDhcpFilter(java.io.FileDescriptor) throws java.net.SocketException;
-    method public static void attachRaFilter(java.io.FileDescriptor, int) throws java.net.SocketException;
-    method public static void bindSocket(java.io.FileDescriptor, java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException;
-    method public static void bindSocketToInterface(java.io.FileDescriptor, String) throws android.system.ErrnoException;
-    method public static void closeSocket(java.io.FileDescriptor) throws java.io.IOException;
-    method public static void connectSocket(java.io.FileDescriptor, java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException;
-    method public static java.net.SocketAddress makeNetlinkSocketAddress(int, int);
-    method public static java.net.SocketAddress makePacketSocketAddress(short, int);
-    method public static java.net.SocketAddress makePacketSocketAddress(int, byte[]);
-    method public static void sendTo(java.io.FileDescriptor, byte[], int, int, int, java.net.SocketAddress) throws android.system.ErrnoException, java.net.SocketException;
-    method public static void setSocketTimeValueOption(java.io.FileDescriptor, int, int, long) throws android.system.ErrnoException;
+  public final class SocketUtils {
+    method public static void addArpEntry(@NonNull java.net.Inet4Address, @NonNull android.net.MacAddress, @NonNull String, @NonNull java.io.FileDescriptor) throws java.io.IOException;
+    method public static void attachControlPacketFilter(@NonNull java.io.FileDescriptor, int) throws java.net.SocketException;
+    method public static void attachDhcpFilter(@NonNull java.io.FileDescriptor) throws java.net.SocketException;
+    method public static void attachRaFilter(@NonNull java.io.FileDescriptor, int) throws java.net.SocketException;
+    method public static void bindSocketToInterface(@NonNull java.io.FileDescriptor, @NonNull String) throws android.system.ErrnoException;
+    method public static void closeSocket(@Nullable java.io.FileDescriptor) throws java.io.IOException;
+    method @NonNull public static java.net.SocketAddress makeNetlinkSocketAddress(int, int);
+    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, int);
+    method @NonNull public static java.net.SocketAddress makePacketSocketAddress(int, @NonNull byte[]);
+    method public static void setSocketTimeValueOption(@NonNull java.io.FileDescriptor, int, int, long) throws android.system.ErrnoException;
   }
 
 }
@@ -1520,7 +1599,7 @@
     method public final void putInt64Array(long, long[]);
     method public final void putInt8(long, byte);
     method public final void putInt8Array(long, byte[]);
-    method public final void putNativeHandle(long, android.os.NativeHandle);
+    method public final void putNativeHandle(long, @Nullable android.os.NativeHandle);
     method public final void putString(long, String);
     method public static Boolean[] wrapArray(@NonNull boolean[]);
     method public static Long[] wrapArray(@NonNull long[]);
@@ -1540,7 +1619,7 @@
     method public final double readDouble();
     method public final java.util.ArrayList<java.lang.Double> readDoubleVector();
     method public final android.os.HwBlob readEmbeddedBuffer(long, long, long, boolean);
-    method public final android.os.NativeHandle readEmbeddedNativeHandle(long, long);
+    method @Nullable public final android.os.NativeHandle readEmbeddedNativeHandle(long, long);
     method public final float readFloat();
     method public final java.util.ArrayList<java.lang.Float> readFloatVector();
     method public final short readInt16();
@@ -1551,8 +1630,8 @@
     method public final java.util.ArrayList<java.lang.Long> readInt64Vector();
     method public final byte readInt8();
     method public final java.util.ArrayList<java.lang.Byte> readInt8Vector();
-    method public final android.os.NativeHandle readNativeHandle();
-    method public final java.util.ArrayList<android.os.NativeHandle> readNativeHandleVector();
+    method @Nullable public final android.os.NativeHandle readNativeHandle();
+    method @NonNull public final java.util.ArrayList<android.os.NativeHandle> readNativeHandleVector();
     method public final String readString();
     method public final java.util.ArrayList<java.lang.String> readStringVector();
     method public final android.os.IHwBinder readStrongBinder();
@@ -1576,8 +1655,8 @@
     method public final void writeInt8(byte);
     method public final void writeInt8Vector(java.util.ArrayList<java.lang.Byte>);
     method public final void writeInterfaceToken(String);
-    method public final void writeNativeHandle(android.os.NativeHandle);
-    method public final void writeNativeHandleVector(java.util.ArrayList<android.os.NativeHandle>);
+    method public final void writeNativeHandle(@Nullable android.os.NativeHandle);
+    method public final void writeNativeHandleVector(@NonNull java.util.ArrayList<android.os.NativeHandle>);
     method public final void writeStatus(int);
     method public final void writeString(String);
     method public final void writeStringVector(java.util.ArrayList<java.lang.String>);
@@ -1670,10 +1749,10 @@
     ctor public NativeHandle(@NonNull java.io.FileDescriptor, boolean);
     ctor public NativeHandle(@NonNull java.io.FileDescriptor[], @NonNull int[], boolean);
     method public void close() throws java.io.IOException;
-    method public android.os.NativeHandle dup() throws java.io.IOException;
-    method public java.io.FileDescriptor getFileDescriptor();
-    method public java.io.FileDescriptor[] getFileDescriptors();
-    method public int[] getInts();
+    method @NonNull public android.os.NativeHandle dup() throws java.io.IOException;
+    method @NonNull public java.io.FileDescriptor getFileDescriptor();
+    method @NonNull public java.io.FileDescriptor[] getFileDescriptors();
+    method @NonNull public int[] getInts();
     method public boolean hasSingleFileDescriptor();
   }
 
@@ -1684,7 +1763,7 @@
   public final class PowerManager {
     method @RequiresPermission("android.permission.POWER_SAVER") public int getPowerSaveMode();
     method @RequiresPermission("android.permission.POWER_SAVER") public boolean setDynamicPowerSavings(boolean, int);
-    method @RequiresPermission(anyOf={"android.permission.DEVICE_POWER", "android.permission.POWER_SAVER"}) public boolean setPowerSaveMode(boolean);
+    method @RequiresPermission(anyOf={"android.permission.DEVICE_POWER", "android.permission.POWER_SAVER"}) public boolean setPowerSaveModeEnabled(boolean);
     field public static final int POWER_SAVER_MODE_DYNAMIC = 1; // 0x1
     field public static final int POWER_SAVER_MODE_PERCENTAGE = 0; // 0x0
   }
@@ -1752,9 +1831,9 @@
     method public static int getAppId(int);
     method public int getIdentifier();
     method public static boolean isApp(int);
-    field public static final android.os.UserHandle ALL;
-    field public static final android.os.UserHandle CURRENT;
-    field public static final android.os.UserHandle SYSTEM;
+    field @NonNull public static final android.os.UserHandle ALL;
+    field @NonNull public static final android.os.UserHandle CURRENT;
+    field @NonNull public static final android.os.UserHandle SYSTEM;
   }
 
   public class UserManager {
@@ -1975,22 +2054,30 @@
   }
 
   public final class DeviceConfig {
+    method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static void addOnPropertiesChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
     method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static void addOnPropertyChangedListener(@NonNull String, @NonNull java.util.concurrent.Executor, @NonNull android.provider.DeviceConfig.OnPropertyChangedListener);
-    method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static boolean getBoolean(String, String, boolean);
-    method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static float getFloat(String, String, float);
-    method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static int getInt(String, String, int);
-    method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static long getLong(String, String, long);
-    method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static String getProperty(String, String);
-    method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static String getString(String, String, String);
-    method public static void removeOnPropertyChangedListener(android.provider.DeviceConfig.OnPropertyChangedListener);
-    method @RequiresPermission("android.permission.WRITE_DEVICE_CONFIG") public static void resetToDefaults(int, @Nullable String);
-    method @RequiresPermission("android.permission.WRITE_DEVICE_CONFIG") public static boolean setProperty(String, String, String, boolean);
+    method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static boolean getBoolean(@NonNull String, @NonNull String, boolean);
+    method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static float getFloat(@NonNull String, @NonNull String, float);
+    method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static int getInt(@NonNull String, @NonNull String, int);
+    method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static long getLong(@NonNull String, @NonNull String, long);
+    method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static String getProperty(@NonNull String, @NonNull String);
+    method @RequiresPermission("android.permission.READ_DEVICE_CONFIG") public static String getString(@NonNull String, @NonNull String, @Nullable String);
+    method public static void removeOnPropertiesChangedListener(@NonNull android.provider.DeviceConfig.OnPropertiesChangedListener);
+    method public static void removeOnPropertyChangedListener(@NonNull android.provider.DeviceConfig.OnPropertyChangedListener);
+    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static void resetToDefaults(int, @Nullable String);
+    method @RequiresPermission(android.Manifest.permission.WRITE_DEVICE_CONFIG) public static boolean setProperty(@NonNull String, @NonNull String, @Nullable String, boolean);
     field public static final String NAMESPACE_AUTOFILL = "autofill";
     field public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture";
+    field public static final String NAMESPACE_ROLLBACK = "rollback";
+    field public static final String NAMESPACE_ROLLBACK_BOOT = "rollback_boot";
+  }
+
+  public static interface DeviceConfig.OnPropertiesChangedListener {
+    method public void onPropertiesChanged(@NonNull android.provider.DeviceConfig.Properties);
   }
 
   public static interface DeviceConfig.OnPropertyChangedListener {
-    method public void onPropertyChanged(String, String, String);
+    method public void onPropertyChanged(@NonNull String, @NonNull String, @Nullable String);
   }
 
   public static interface DeviceConfig.Privacy {
@@ -1998,6 +2085,16 @@
     field public static final String PROPERTY_LOCATION_ACCESS_CHECK_ENABLED = "location_access_check_enabled";
   }
 
+  public static class DeviceConfig.Properties {
+    method public boolean getBoolean(@NonNull String, boolean);
+    method public float getFloat(@NonNull String, float);
+    method public int getInt(@NonNull String, int);
+    method @NonNull public java.util.Set<java.lang.String> getKeyset();
+    method public long getLong(@NonNull String, long);
+    method @NonNull public String getNamespace();
+    method @Nullable public String getString(@NonNull String, @Nullable String);
+  }
+
   public final class MediaStore {
     method @RequiresPermission(android.Manifest.permission.CLEAR_APP_USER_DATA) public static void deleteContributedMedia(android.content.Context, String, android.os.UserHandle) throws java.io.IOException;
     method @RequiresPermission(android.Manifest.permission.CLEAR_APP_USER_DATA) public static long getContributedMediaSize(android.content.Context, String, android.os.UserHandle) throws java.io.IOException;
@@ -2031,6 +2128,7 @@
     field public static final String CAPTIVE_PORTAL_USE_HTTPS = "captive_portal_use_https";
     field public static final String DATA_STALL_CONSECUTIVE_DNS_TIMEOUT_THRESHOLD = "data_stall_consecutive_dns_timeout_threshold";
     field public static final String DATA_STALL_EVALUATION_TYPE = "data_stall_evaluation_type";
+    field public static final int DATA_STALL_EVALUATION_TYPE_DNS = 1; // 0x1
     field public static final String DATA_STALL_MIN_EVALUATE_INTERVAL = "data_stall_min_evaluate_interval";
     field public static final String DATA_STALL_VALID_DNS_TIME_THRESHOLD = "data_stall_valid_dns_time_threshold";
     field public static final String DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD = "dynamic_power_savings_disable_threshold";
@@ -2099,8 +2197,8 @@
   }
 
   public class DeviceIdAttestationException extends java.lang.Exception {
-    ctor public DeviceIdAttestationException(String);
-    ctor public DeviceIdAttestationException(String, Throwable);
+    ctor public DeviceIdAttestationException(@Nullable String);
+    ctor public DeviceIdAttestationException(@Nullable String, @Nullable Throwable);
   }
 
   public static final class KeyGenParameterSpec.Builder {
@@ -2122,7 +2220,7 @@
   public abstract class AppPredictionService extends android.app.Service {
     ctor public AppPredictionService();
     method @MainThread public abstract void onAppTargetEvent(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull android.app.prediction.AppTargetEvent);
-    method public final android.os.IBinder onBind(android.content.Intent);
+    method @NonNull public final android.os.IBinder onBind(@NonNull android.content.Intent);
     method public void onCreatePredictionSession(@NonNull android.app.prediction.AppPredictionContext, @NonNull android.app.prediction.AppPredictionSessionId);
     method @MainThread public void onDestroyPredictionSession(@NonNull android.app.prediction.AppPredictionSessionId);
     method @MainThread public abstract void onLocationShown(@NonNull android.app.prediction.AppPredictionSessionId, @NonNull String, @NonNull java.util.List<android.app.prediction.AppTargetId>);
@@ -2286,9 +2384,21 @@
 
 package android.service.contentcapture {
 
+  public final class ActivityEvent implements android.os.Parcelable {
+    method public int describeContents();
+    method @NonNull public android.content.ComponentName getComponentName();
+    method public int getEventType();
+    method public void writeToParcel(@NonNull android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.contentcapture.ActivityEvent> CREATOR;
+    field public static final int TYPE_ACTIVITY_PAUSED = 2; // 0x2
+    field public static final int TYPE_ACTIVITY_RESUMED = 1; // 0x1
+    field public static final int TYPE_ACTIVITY_STOPPED = 23; // 0x17
+  }
+
   public abstract class ContentCaptureService extends android.app.Service {
     ctor public ContentCaptureService();
     method public final void disableContentCaptureServices();
+    method public void onActivityEvent(@NonNull android.service.contentcapture.ActivityEvent);
     method public void onActivitySnapshot(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.service.contentcapture.SnapshotData);
     method public void onConnected();
     method public void onContentCaptureEvent(@NonNull android.view.contentcapture.ContentCaptureSessionId, @NonNull android.view.contentcapture.ContentCaptureEvent);
@@ -2296,7 +2406,6 @@
     method public void onDestroyContentCaptureSession(@NonNull android.view.contentcapture.ContentCaptureSessionId);
     method public void onDisconnected();
     method public void onUserDataRemovalRequest(@NonNull android.view.contentcapture.UserDataRemovalRequest);
-    method @Deprecated public final void setContentCaptureWhitelist(@Nullable java.util.List<java.lang.String>, @Nullable java.util.List<android.content.ComponentName>);
     method public final void setContentCaptureWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
     field public static final String SERVICE_INTERFACE = "android.service.contentcapture.ContentCaptureService";
   }
@@ -2319,7 +2428,38 @@
   }
 
   public abstract class NotificationListenerService extends android.app.Service {
-    method public void onNotificationRemoved(android.service.notification.StatusBarNotification, android.service.notification.NotificationListenerService.RankingMap, android.service.notification.NotificationStats, int);
+    method public void onNotificationRemoved(@NonNull android.service.notification.StatusBarNotification, @NonNull android.service.notification.NotificationListenerService.RankingMap, @NonNull android.service.notification.NotificationStats, int);
+  }
+
+  public final class NotificationStats implements android.os.Parcelable {
+    ctor public NotificationStats();
+    method public int describeContents();
+    method public int getDismissalSentiment();
+    method public int getDismissalSurface();
+    method public boolean hasDirectReplied();
+    method public boolean hasExpanded();
+    method public boolean hasInteracted();
+    method public boolean hasSeen();
+    method public boolean hasSnoozed();
+    method public boolean hasViewedSettings();
+    method public void setDirectReplied();
+    method public void setDismissalSentiment(int);
+    method public void setDismissalSurface(int);
+    method public void setExpanded();
+    method public void setSeen();
+    method public void setSnoozed();
+    method public void setViewedSettings();
+    method public void writeToParcel(android.os.Parcel, int);
+    field @NonNull public static final android.os.Parcelable.Creator<android.service.notification.NotificationStats> CREATOR;
+    field public static final int DISMISSAL_AOD = 2; // 0x2
+    field public static final int DISMISSAL_NOT_DISMISSED = -1; // 0xffffffff
+    field public static final int DISMISSAL_OTHER = 0; // 0x0
+    field public static final int DISMISSAL_PEEK = 1; // 0x1
+    field public static final int DISMISSAL_SHADE = 3; // 0x3
+    field public static final int DISMISS_SENTIMENT_NEGATIVE = 0; // 0x0
+    field public static final int DISMISS_SENTIMENT_NEUTRAL = 1; // 0x1
+    field public static final int DISMISS_SENTIMENT_POSITIVE = 2; // 0x2
+    field public static final int DISMISS_SENTIMENT_UNKNOWN = -1000; // 0xfffffc18
   }
 
   public final class SnoozeCriterion implements android.os.Parcelable {
@@ -2353,10 +2493,6 @@
     method public android.telecom.Connection getPrimaryConnection();
   }
 
-  public final class PhoneAccountSuggestion implements android.os.Parcelable {
-    ctor public PhoneAccountSuggestion(@NonNull android.telecom.PhoneAccountHandle, int, boolean);
-  }
-
   public class PhoneAccountSuggestionService extends android.app.Service {
     ctor public PhoneAccountSuggestionService();
     method public void onAccountSuggestionRequest(@NonNull String);
@@ -2408,7 +2544,8 @@
     method public int getCarrierIdListVersion();
     method public android.util.Pair<java.lang.Integer,java.lang.Integer> getRadioHalVersion();
     method @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE) public void refreshUiccProfile();
-    method public void setCarrierTestOverride(String, String, String, String, String, String, String);
+    method @Deprecated public void setCarrierTestOverride(String, String, String, String, String, String, String);
+    method public void setCarrierTestOverride(String, String, String, String, String, String, String, String, String);
     field public static final int CARRIER_PRIVILEGE_STATUS_ERROR_LOADING_RULES = -2; // 0xfffffffe
     field public static final int CARRIER_PRIVILEGE_STATUS_HAS_ACCESS = 1; // 0x1
     field public static final int CARRIER_PRIVILEGE_STATUS_NO_ACCESS = 0; // 0x0
@@ -2845,7 +2982,7 @@
     field public static final int ACCESSIBILITY_TITLE_CHANGED = 33554432; // 0x2000000
     field public static final int PRIVATE_FLAG_NO_MOVE_ANIMATION = 64; // 0x40
     field public CharSequence accessibilityTitle;
-    field @android.view.ViewDebug.ExportedProperty(flagMapping={@android.view.ViewDebug.FlagToString(mask=0x1, equals=0x1, name="FAKE_HARDWARE_ACCELERATED"), @android.view.ViewDebug.FlagToString(mask=0x2, equals=0x2, name="FORCE_HARDWARE_ACCELERATED"), @android.view.ViewDebug.FlagToString(mask=0x4, equals=0x4, name="WANTS_OFFSET_NOTIFICATIONS"), @android.view.ViewDebug.FlagToString(mask=0x10, equals=0x10, name="SHOW_FOR_ALL_USERS"), @android.view.ViewDebug.FlagToString(mask=android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION, equals=android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION, name="NO_MOVE_ANIMATION"), @android.view.ViewDebug.FlagToString(mask=0x80, equals=0x80, name="COMPATIBLE_WINDOW"), @android.view.ViewDebug.FlagToString(mask=0x100, equals=0x100, name="SYSTEM_ERROR"), @android.view.ViewDebug.FlagToString(mask=0x200, equals=0x200, name="INHERIT_TRANSLUCENT_DECOR"), @android.view.ViewDebug.FlagToString(mask=0x400, equals=0x400, name="KEYGUARD"), @android.view.ViewDebug.FlagToString(mask=0x800, equals=0x800, name="DISABLE_WALLPAPER_TOUCH_EVENTS"), @android.view.ViewDebug.FlagToString(mask=0x1000, equals=0x1000, name="FORCE_STATUS_BAR_VISIBLE_TRANSPARENT"), @android.view.ViewDebug.FlagToString(mask=0x2000, equals=0x2000, name="PRESERVE_GEOMETRY"), @android.view.ViewDebug.FlagToString(mask=0x4000, equals=0x4000, name="FORCE_DECOR_VIEW_VISIBILITY"), @android.view.ViewDebug.FlagToString(mask=0x8000, equals=0x8000, name="WILL_NOT_REPLACE_ON_RELAUNCH"), @android.view.ViewDebug.FlagToString(mask=0x10000, equals=0x10000, name="LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME"), @android.view.ViewDebug.FlagToString(mask=0x20000, equals=0x20000, name="FORCE_DRAW_STATUS_BAR_BACKGROUND"), @android.view.ViewDebug.FlagToString(mask=0x40000, equals=0x40000, name="SUSTAINED_PERFORMANCE_MODE"), @android.view.ViewDebug.FlagToString(mask=0x80000, equals=0x80000, name="HIDE_NON_SYSTEM_OVERLAY_WINDOWS"), @android.view.ViewDebug.FlagToString(mask=0x100000, equals=0x100000, name="IS_ROUNDED_CORNERS_OVERLAY"), @android.view.ViewDebug.FlagToString(mask=0x400000, equals=0x400000, name="IS_SCREEN_DECOR"), @android.view.ViewDebug.FlagToString(mask=0x800000, equals=0x800000, name="STATUS_FORCE_SHOW_NAVIGATION")}) public int privateFlags;
+    field @android.view.ViewDebug.ExportedProperty(flagMapping={@android.view.ViewDebug.FlagToString(mask=0x1, equals=0x1, name="FAKE_HARDWARE_ACCELERATED"), @android.view.ViewDebug.FlagToString(mask=0x2, equals=0x2, name="FORCE_HARDWARE_ACCELERATED"), @android.view.ViewDebug.FlagToString(mask=0x4, equals=0x4, name="WANTS_OFFSET_NOTIFICATIONS"), @android.view.ViewDebug.FlagToString(mask=0x10, equals=0x10, name="SHOW_FOR_ALL_USERS"), @android.view.ViewDebug.FlagToString(mask=android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION, equals=android.view.WindowManager.LayoutParams.PRIVATE_FLAG_NO_MOVE_ANIMATION, name="NO_MOVE_ANIMATION"), @android.view.ViewDebug.FlagToString(mask=0x80, equals=0x80, name="COMPATIBLE_WINDOW"), @android.view.ViewDebug.FlagToString(mask=0x100, equals=0x100, name="SYSTEM_ERROR"), @android.view.ViewDebug.FlagToString(mask=0x200, equals=0x200, name="INHERIT_TRANSLUCENT_DECOR"), @android.view.ViewDebug.FlagToString(mask=0x400, equals=0x400, name="KEYGUARD"), @android.view.ViewDebug.FlagToString(mask=0x800, equals=0x800, name="DISABLE_WALLPAPER_TOUCH_EVENTS"), @android.view.ViewDebug.FlagToString(mask=0x1000, equals=0x1000, name="FORCE_STATUS_BAR_VISIBLE_TRANSPARENT"), @android.view.ViewDebug.FlagToString(mask=0x2000, equals=0x2000, name="PRESERVE_GEOMETRY"), @android.view.ViewDebug.FlagToString(mask=0x4000, equals=0x4000, name="FORCE_DECOR_VIEW_VISIBILITY"), @android.view.ViewDebug.FlagToString(mask=0x8000, equals=0x8000, name="WILL_NOT_REPLACE_ON_RELAUNCH"), @android.view.ViewDebug.FlagToString(mask=0x10000, equals=0x10000, name="LAYOUT_CHILD_WINDOW_IN_PARENT_FRAME"), @android.view.ViewDebug.FlagToString(mask=0x20000, equals=0x20000, name="FORCE_DRAW_STATUS_BAR_BACKGROUND"), @android.view.ViewDebug.FlagToString(mask=0x40000, equals=0x40000, name="SUSTAINED_PERFORMANCE_MODE"), @android.view.ViewDebug.FlagToString(mask=0x80000, equals=0x80000, name="HIDE_NON_SYSTEM_OVERLAY_WINDOWS"), @android.view.ViewDebug.FlagToString(mask=0x100000, equals=0x100000, name="IS_ROUNDED_CORNERS_OVERLAY"), @android.view.ViewDebug.FlagToString(mask=0x400000, equals=0x400000, name="IS_SCREEN_DECOR"), @android.view.ViewDebug.FlagToString(mask=0x800000, equals=0x800000, name="STATUS_FORCE_SHOW_NAVIGATION"), @android.view.ViewDebug.FlagToString(mask=0x1000000, equals=0x1000000, name="COLOR_SPACE_AGNOSTIC")}) public int privateFlags;
   }
 
 }
@@ -2897,7 +3034,6 @@
   }
 
   public final class AutofillManager {
-    method @Deprecated public void setAugmentedAutofillWhitelist(@Nullable java.util.List<java.lang.String>, @Nullable java.util.List<android.content.ComponentName>);
     method public void setAugmentedAutofillWhitelist(@Nullable java.util.Set<java.lang.String>, @Nullable java.util.Set<android.content.ComponentName>);
     field public static final String DEVICE_CONFIG_AUTOFILL_SMART_SUGGESTION_SUPPORTED_MODES = "smart_suggestion_supported_modes";
     field public static final int FLAG_SMART_SUGGESTION_OFF = 0; // 0x0
@@ -2917,6 +3053,7 @@
     method public int getTaskId();
     field public static final int FLAG_DISABLED_BY_APP = 1; // 0x1
     field public static final int FLAG_DISABLED_BY_FLAG_SECURE = 2; // 0x2
+    field public static final int FLAG_RECONNECTED = 4; // 0x4
   }
 
   public final class ContentCaptureEvent implements android.os.Parcelable {
@@ -3035,19 +3172,19 @@
 
   @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.METHOD, java.lang.annotation.ElementType.FIELD}) public @interface InspectableProperty {
     method public abstract int attributeId() default android.content.res.Resources.ID_NULL;
-    method public abstract android.view.inspector.InspectableProperty.EnumMap[] enumMapping() default {};
-    method public abstract android.view.inspector.InspectableProperty.FlagMap[] flagMapping() default {};
+    method public abstract android.view.inspector.InspectableProperty.EnumEntry[] enumMapping() default {};
+    method public abstract android.view.inspector.InspectableProperty.FlagEntry[] flagMapping() default {};
     method public abstract boolean hasAttributeId() default true;
     method public abstract String name() default "";
     method public abstract android.view.inspector.InspectableProperty.ValueType valueType() default android.view.inspector.InspectableProperty.ValueType.INFERRED;
   }
 
-  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface InspectableProperty.EnumMap {
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface InspectableProperty.EnumEntry {
     method public abstract String name();
     method public abstract int value();
   }
 
-  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface InspectableProperty.FlagMap {
+  @java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.SOURCE) @java.lang.annotation.Target({java.lang.annotation.ElementType.TYPE}) public static @interface InspectableProperty.FlagEntry {
     method public abstract int mask() default 0;
     method public abstract String name();
     method public abstract int target();
@@ -3060,6 +3197,7 @@
     enum_constant public static final android.view.inspector.InspectableProperty.ValueType INT_ENUM;
     enum_constant public static final android.view.inspector.InspectableProperty.ValueType INT_FLAG;
     enum_constant public static final android.view.inspector.InspectableProperty.ValueType NONE;
+    enum_constant public static final android.view.inspector.InspectableProperty.ValueType RESOURCE_ID;
   }
 
 }
@@ -3075,7 +3213,7 @@
   }
 
   public class DatePicker extends android.widget.FrameLayout {
-    method @android.view.inspector.InspectableProperty(name="datePickerMode", enumMapping={@android.view.inspector.InspectableProperty.EnumMap(value=android.widget.DatePicker.MODE_SPINNER, name="spinner"), @android.view.inspector.InspectableProperty.EnumMap(value=android.widget.DatePicker.MODE_CALENDAR, name="calendar")}) public int getMode();
+    method @android.view.inspector.InspectableProperty(name="datePickerMode", enumMapping={@android.view.inspector.InspectableProperty.EnumEntry(value=android.widget.DatePicker.MODE_SPINNER, name="spinner"), @android.view.inspector.InspectableProperty.EnumEntry(value=android.widget.DatePicker.MODE_CALENDAR, name="calendar")}) public int getMode();
     field public static final int MODE_CALENDAR = 2; // 0x2
     field public static final int MODE_SPINNER = 1; // 0x1
   }
@@ -3111,7 +3249,7 @@
     method public android.view.View getAmView();
     method public android.view.View getHourView();
     method public android.view.View getMinuteView();
-    method @android.view.inspector.InspectableProperty(name="timePickerMode", enumMapping={@android.view.inspector.InspectableProperty.EnumMap(name="clock", value=android.widget.TimePicker.MODE_CLOCK), @android.view.inspector.InspectableProperty.EnumMap(name="spinner", value=android.widget.TimePicker.MODE_SPINNER)}) public int getMode();
+    method @android.view.inspector.InspectableProperty(name="timePickerMode", enumMapping={@android.view.inspector.InspectableProperty.EnumEntry(name="clock", value=android.widget.TimePicker.MODE_CLOCK), @android.view.inspector.InspectableProperty.EnumEntry(name="spinner", value=android.widget.TimePicker.MODE_SPINNER)}) public int getMode();
     method public android.view.View getPmView();
     field public static final int MODE_CLOCK = 2; // 0x2
     field public static final int MODE_SPINNER = 1; // 0x1
diff --git a/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java b/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java
index 062ba65..98ab666 100644
--- a/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java
+++ b/cmds/bmgr/src/com/android/commands/bmgr/Bmgr.java
@@ -803,8 +803,8 @@
                             } else {
                                 String[] names = new String[filter.size()];
                                 filter.toArray(names);
-                                didRestore = (mRestore.restoreSome(token, observer,
-                                        null, names) == 0);
+                                didRestore = (mRestore.restorePackages(token, observer, names,
+                                        null) == 0);
                             }
                             break;
                         }
diff --git a/cmds/bootanimation/bootanim.rc b/cmds/bootanimation/bootanim.rc
index 3666d6a..469c964 100644
--- a/cmds/bootanimation/bootanim.rc
+++ b/cmds/bootanimation/bootanim.rc
@@ -2,9 +2,6 @@
     class core animation
     user graphics
     group graphics audio
-    # bootanimation depends on libandroidicu in the Runtime APEX.
-    # TODO(b/124939955): Remove this dependency on libandroidicu
-    updatable
     disabled
     oneshot
     writepid /dev/stune/top-app/tasks
diff --git a/cmds/idmap2/idmap2/Scan.cpp b/cmds/idmap2/idmap2/Scan.cpp
index e5f6223..e85f132 100644
--- a/cmds/idmap2/idmap2/Scan.cpp
+++ b/cmds/idmap2/idmap2/Scan.cpp
@@ -38,7 +38,10 @@
 
 using android::idmap2::CommandLineOptions;
 using android::idmap2::Idmap;
-using android::idmap2::PoliciesToBitmask;
+using android::idmap2::kPolicyProduct;
+using android::idmap2::kPolicyPublic;
+using android::idmap2::kPolicySystem;
+using android::idmap2::kPolicyVendor;
 using android::idmap2::PolicyBitmask;
 using android::idmap2::PolicyFlags;
 using android::idmap2::Result;
@@ -87,20 +90,22 @@
   return std::make_unique<std::vector<std::string>>(paths.cbegin(), paths.cend());
 }
 
-PolicyBitmask PolicyForPath(const std::string& apk_path) {
-  static const std::vector<std::pair<std::string, PolicyBitmask>> values = {
-      {"/product/", PolicyFlags::POLICY_PRODUCT_PARTITION},
-      {"/system/", PolicyFlags::POLICY_SYSTEM_PARTITION},
-      {"/vendor/", PolicyFlags::POLICY_VENDOR_PARTITION},
+std::vector<std::string> PoliciesForPath(const std::string& apk_path) {
+  static const std::vector<std::pair<std::string, std::string>> values = {
+      {"/product/", kPolicyProduct},
+      {"/system/", kPolicySystem},
+      {"/vendor/", kPolicyVendor},
   };
 
+  std::vector<std::string> fulfilled_policies = {kPolicyPublic};
   for (auto const& pair : values) {
     if (apk_path.compare(0, pair.first.size(), pair.first) == 0) {
-      return pair.second | PolicyFlags::POLICY_PUBLIC;
+      fulfilled_policies.emplace_back(pair.second);
+      break;
     }
   }
 
-  return PolicyFlags::POLICY_PUBLIC;
+  return fulfilled_policies;
 }
 
 }  // namespace
@@ -161,21 +166,17 @@
       continue;
     }
 
-    PolicyBitmask fulfilled_policies;
+    std::vector<std::string> fulfilled_policies;
     if (!override_policies.empty()) {
-      auto conv_result = PoliciesToBitmask(override_policies);
-      if (conv_result) {
-        fulfilled_policies = *conv_result;
-      } else {
-        out_error << "error: " << conv_result.GetErrorMessage() << std::endl;
-        return false;
-      }
+      fulfilled_policies = override_policies;
     } else {
-      fulfilled_policies = PolicyForPath(path);
+      fulfilled_policies = PoliciesForPath(path);
     }
 
     bool ignore_overlayable = false;
-    if ((fulfilled_policies & PolicyFlags::POLICY_VENDOR_PARTITION) != 0 && !VendorIsQOrLater()) {
+    if (std::find(fulfilled_policies.begin(), fulfilled_policies.end(), kPolicyVendor) !=
+            fulfilled_policies.end() &&
+        !VendorIsQOrLater()) {
       // If the overlay is on a pre-Q vendor partition, do not enforce overlayable
       // restrictions on this overlay because the pre-Q platform has no understanding of
       // overlayable.
@@ -185,7 +186,7 @@
     std::string idmap_path = Idmap::CanonicalIdmapPathFor(output_directory, path);
 
     // Sort the static overlays in ascending priority order
-    InputOverlay input{path, idmap_path, overlay_info->priority, override_policies,
+    InputOverlay input{path, idmap_path, overlay_info->priority, fulfilled_policies,
                        ignore_overlayable};
     interesting_apks.insert(
         std::lower_bound(interesting_apks.begin(), interesting_apks.end(), input), input);
@@ -211,8 +212,8 @@
       }
 
       for (const std::string& policy : overlay.policies) {
-        verify_args.emplace_back("--policy");
-        verify_args.emplace_back(policy);
+        create_args.emplace_back("--policy");
+        create_args.emplace_back(policy);
       }
 
       if (!Create(create_args, out_error)) {
diff --git a/cmds/idmap2/include/idmap2/Policies.h b/cmds/idmap2/include/idmap2/Policies.h
index 911d3f2..cd76b84 100644
--- a/cmds/idmap2/include/idmap2/Policies.h
+++ b/cmds/idmap2/include/idmap2/Policies.h
@@ -27,13 +27,21 @@
 
 namespace android::idmap2 {
 
+constexpr const char* kPolicyPublic = "public";
+constexpr const char* kPolicyProduct = "product";
+constexpr const char* kPolicySystem = "system";
+constexpr const char* kPolicyVendor = "vendor";
+constexpr const char* kPolicySignature = "signature";
+
 using PolicyFlags = ResTable_overlayable_policy_header::PolicyFlags;
 using PolicyBitmask = uint32_t;
 
-// Parses a the string representation of a set of policies into a bitmask. The format of the string
-// is the same as for the <policy> element.
+// Parses the string representations of policies into a bitmask.
 Result<PolicyBitmask> PoliciesToBitmask(const std::vector<std::string>& policies);
 
+// Retrieves the string representations of policies in the bitmask.
+std::vector<std::string> BitmaskToPolicies(const PolicyBitmask& bitmask);
+
 }  // namespace android::idmap2
 
 #endif  // IDMAP2_INCLUDE_IDMAP2_POLICIES_H_
diff --git a/cmds/idmap2/libidmap2/Idmap.cpp b/cmds/idmap2/libidmap2/Idmap.cpp
index a1341fb..a7d180c 100644
--- a/cmds/idmap2/libidmap2/Idmap.cpp
+++ b/cmds/idmap2/libidmap2/Idmap.cpp
@@ -55,7 +55,8 @@
     map_[target_typeid].insert(std::make_pair(target_resid, overlay_resid));
   }
 
-  inline const std::map<TypeId, std::set<std::pair<ResourceId, ResourceId>>>& Map() const {
+  inline const std::map<TypeId, std::set<std::pair<ResourceId, ResourceId>>>& WARN_UNUSED
+      Map() const {
     return map_;
   }
 
@@ -284,24 +285,58 @@
   return std::move(idmap);
 }
 
-bool CheckOverlayable(const LoadedPackage& target_package,
-                      const utils::OverlayManifestInfo& overlay_info,
-                      const PolicyBitmask& fulfilled_policies, const ResourceId& resid) {
+std::string ConcatPolicies(const std::vector<std::string>& policies) {
+  std::string message;
+  for (const std::string& policy : policies) {
+    if (message.empty()) {
+      message.append(policy);
+    } else {
+      message.append(policy);
+      message.append("|");
+    }
+  }
+
+  return message;
+}
+
+Result<Unit> CheckOverlayable(const LoadedPackage& target_package,
+                              const utils::OverlayManifestInfo& overlay_info,
+                              const PolicyBitmask& fulfilled_policies, const ResourceId& resid) {
+  static constexpr const PolicyBitmask sDefaultPolicies =
+      PolicyFlags::POLICY_SYSTEM_PARTITION | PolicyFlags::POLICY_VENDOR_PARTITION |
+      PolicyFlags::POLICY_PRODUCT_PARTITION | PolicyFlags::POLICY_SIGNATURE;
+
+  // If the resource does not have an overlayable definition, allow the resource to be overlaid if
+  // the overlay is preinstalled or signed with the same signature as the target.
+  if (!target_package.DefinesOverlayable()) {
+    return (sDefaultPolicies & fulfilled_policies) != 0
+               ? Result<Unit>({})
+               : Error(
+                     "overlay must be preinstalled or signed with the same signature as the "
+                     "target");
+  }
+
   const OverlayableInfo* overlayable_info = target_package.GetOverlayableInfo(resid);
   if (overlayable_info == nullptr) {
-    // If the resource does not have an overlayable definition, allow the resource to be overlaid.
-    // Once overlayable enforcement is turned on, this check will return false.
-    return !target_package.DefinesOverlayable();
+    // Do not allow non-overlayable resources to be overlaid.
+    return Error("resource has no overlayable declaration");
   }
 
   if (overlay_info.target_name != overlayable_info->name) {
     // If the overlay supplies a target overlayable name, the resource must belong to the
     // overlayable defined with the specified name to be overlaid.
-    return false;
+    return Error("<overlay> android:targetName '%s' does not match overlayable name '%s'",
+                 overlay_info.target_name.c_str(), overlayable_info->name.c_str());
   }
 
   // Enforce policy restrictions if the resource is declared as overlayable.
-  return (overlayable_info->policy_flags & fulfilled_policies) != 0;
+  if ((overlayable_info->policy_flags & fulfilled_policies) == 0) {
+    return Error("overlay with policies '%s' does not fulfill any overlayable policies '%s'",
+                 ConcatPolicies(BitmaskToPolicies(fulfilled_policies)).c_str(),
+                 ConcatPolicies(BitmaskToPolicies(overlayable_info->policy_flags)).c_str());
+  }
+
+  return Result<Unit>({});
 }
 
 std::unique_ptr<const Idmap> Idmap::FromApkAssets(
@@ -417,16 +452,26 @@
       continue;
     }
 
-    if (enforce_overlayable &&
-        !CheckOverlayable(*target_pkg, *overlay_info, fulfilled_policies, target_resid)) {
-      LOG(WARNING) << "overlay \"" << overlay_apk_path << "\" is not allowed to overlay resource \""
-                   << full_name << "\"" << std::endl;
-      continue;
+    if (!enforce_overlayable) {
+      Result<Unit> success =
+          CheckOverlayable(*target_pkg, *overlay_info, fulfilled_policies, target_resid);
+      if (!success) {
+        LOG(WARNING) << "overlay \"" << overlay_apk_path
+                     << "\" is not allowed to overlay resource \"" << full_name
+                     << "\": " << success.GetErrorMessage();
+        continue;
+      }
     }
 
     matching_resources.Add(target_resid, overlay_resid);
   }
 
+  if (matching_resources.Map().empty()) {
+    out_error << "overlay \"" << overlay_apk_path << "\" does not successfully overlay any resource"
+              << std::endl;
+    return nullptr;
+  }
+
   // encode idmap data
   std::unique_ptr<IdmapData> data(new IdmapData());
   const auto types_end = matching_resources.Map().cend();
diff --git a/cmds/idmap2/libidmap2/Policies.cpp b/cmds/idmap2/libidmap2/Policies.cpp
index c6ba87d..7c45556 100644
--- a/cmds/idmap2/libidmap2/Policies.cpp
+++ b/cmds/idmap2/libidmap2/Policies.cpp
@@ -30,12 +30,13 @@
 namespace {
 
 const std::map<android::StringPiece, PolicyFlags> kStringToFlag = {
-    {"public", PolicyFlags::POLICY_PUBLIC},
-    {"product", PolicyFlags::POLICY_PRODUCT_PARTITION},
-    {"system", PolicyFlags::POLICY_SYSTEM_PARTITION},
-    {"vendor", PolicyFlags::POLICY_VENDOR_PARTITION},
-    {"signature", PolicyFlags::POLICY_SIGNATURE},
+    {kPolicyPublic, PolicyFlags::POLICY_PUBLIC},
+    {kPolicyProduct, PolicyFlags::POLICY_PRODUCT_PARTITION},
+    {kPolicySystem, PolicyFlags::POLICY_SYSTEM_PARTITION},
+    {kPolicyVendor, PolicyFlags::POLICY_VENDOR_PARTITION},
+    {kPolicySignature, PolicyFlags::POLICY_SIGNATURE},
 };
+
 }  // namespace
 
 Result<PolicyBitmask> PoliciesToBitmask(const std::vector<std::string>& policies) {
@@ -52,4 +53,29 @@
   return Result<PolicyBitmask>(bitmask);
 }
 
+std::vector<std::string> BitmaskToPolicies(const PolicyBitmask& bitmask) {
+  std::vector<std::string> policies;
+  if ((bitmask & PolicyFlags::POLICY_PUBLIC) != 0) {
+    policies.emplace_back(kPolicyPublic);
+  }
+
+  if ((bitmask & PolicyFlags::POLICY_PRODUCT_PARTITION) != 0) {
+    policies.emplace_back(kPolicyProduct);
+  }
+
+  if ((bitmask & PolicyFlags::POLICY_SYSTEM_PARTITION) != 0) {
+    policies.emplace_back(kPolicySystem);
+  }
+
+  if ((bitmask & PolicyFlags::POLICY_VENDOR_PARTITION) != 0) {
+    policies.emplace_back(kPolicyVendor);
+  }
+
+  if ((bitmask & PolicyFlags::POLICY_SIGNATURE) != 0) {
+    policies.emplace_back(kPolicySignature);
+  }
+
+  return policies;
+}
+
 }  // namespace android::idmap2
diff --git a/cmds/idmap2/tests/IdmapTests.cpp b/cmds/idmap2/tests/IdmapTests.cpp
index bbfbad9..8d65428 100644
--- a/cmds/idmap2/tests/IdmapTests.cpp
+++ b/cmds/idmap2/tests/IdmapTests.cpp
@@ -173,20 +173,27 @@
   ASSERT_THAT(idmap, IsNull());
 }
 
-TEST(IdmapTests, CreateIdmapFromApkAssets) {
-  const std::string target_apk_path(GetTestDataPath() + "/target/target.apk");
-  std::unique_ptr<const ApkAssets> target_apk = ApkAssets::Load(target_apk_path);
+void CreateIdmap(const StringPiece& target_apk_path, const StringPiece& overlay_apk_path,
+                 const PolicyBitmask& fulfilled_policies, bool enforce_overlayable,
+                 std::unique_ptr<const Idmap>* out_idmap) {
+  std::unique_ptr<const ApkAssets> target_apk = ApkAssets::Load(target_apk_path.to_string());
   ASSERT_THAT(target_apk, NotNull());
 
-  const std::string overlay_apk_path(GetTestDataPath() + "/overlay/overlay.apk");
-  std::unique_ptr<const ApkAssets> overlay_apk = ApkAssets::Load(overlay_apk_path);
+  std::unique_ptr<const ApkAssets> overlay_apk = ApkAssets::Load(overlay_apk_path.to_string());
   ASSERT_THAT(overlay_apk, NotNull());
 
   std::stringstream error;
-  std::unique_ptr<const Idmap> idmap =
-      Idmap::FromApkAssets(target_apk_path, *target_apk, overlay_apk_path, *overlay_apk,
-                           PolicyFlags::POLICY_PUBLIC, /* enforce_overlayable */ true, error);
-  ASSERT_THAT(idmap, NotNull());
+  *out_idmap =
+      Idmap::FromApkAssets(target_apk_path.to_string(), *target_apk, overlay_apk_path.to_string(),
+                           *overlay_apk, fulfilled_policies, enforce_overlayable, error);
+}
+
+TEST(IdmapTests, CreateIdmapFromApkAssets) {
+  std::unique_ptr<const Idmap> idmap;
+  std::string target_apk_path = GetTestDataPath() + "/target/target.apk";
+  std::string overlay_apk_path = GetTestDataPath() + "/overlay/overlay.apk";
+  CreateIdmap(target_apk_path, overlay_apk_path, PolicyFlags::POLICY_PUBLIC,
+              /* enforce_overlayable */ true, &idmap);
 
   ASSERT_THAT(idmap->GetHeader(), NotNull());
   ASSERT_EQ(idmap->GetHeader()->GetMagic(), 0x504d4449U);
@@ -226,19 +233,12 @@
 
 // Overlays should abide by all overlayable restrictions if enforcement of overlayable is enabled.
 TEST(IdmapOverlayableTests, CreateIdmapFromApkAssetsPolicySystemPublic) {
-  const std::string target_apk_path(GetTestDataPath() + "/target/target.apk");
-  std::unique_ptr<const ApkAssets> target_apk = ApkAssets::Load(target_apk_path);
-  ASSERT_THAT(target_apk, NotNull());
-
-  const std::string overlay_apk_path(GetTestDataPath() + "/system-overlay/system-overlay.apk");
-  std::unique_ptr<const ApkAssets> overlay_apk = ApkAssets::Load(overlay_apk_path);
-  ASSERT_THAT(overlay_apk, NotNull());
-
-  std::stringstream error;
-  std::unique_ptr<const Idmap> idmap =
-      Idmap::FromApkAssets(target_apk_path, *target_apk, overlay_apk_path, *overlay_apk,
-                           PolicyFlags::POLICY_SYSTEM_PARTITION | PolicyFlags::POLICY_PUBLIC,
-                           /* enforce_overlayable */ true, error);
+  std::unique_ptr<const Idmap> idmap;
+  std::string target_apk_path = GetTestDataPath() + "/target/target.apk";
+  std::string overlay_apk_path = GetTestDataPath() + "/system-overlay/system-overlay.apk";
+  CreateIdmap(target_apk_path, overlay_apk_path,
+              PolicyFlags::POLICY_SYSTEM_PARTITION | PolicyFlags::POLICY_PUBLIC,
+              /* enforce_overlayable */ true, &idmap);
   ASSERT_THAT(idmap, NotNull());
 
   const std::vector<std::unique_ptr<const IdmapData>>& dataBlocks = idmap->GetData();
@@ -263,21 +263,12 @@
 }
 
 TEST(IdmapOverlayableTests, CreateIdmapFromApkAssetsPolicySignature) {
-  const std::string target_apk_path(GetTestDataPath() + "/target/target.apk");
-  std::unique_ptr<const ApkAssets> target_apk = ApkAssets::Load(target_apk_path);
-  ASSERT_THAT(target_apk, NotNull());
-
-  const std::string overlay_apk_path(GetTestDataPath() +
-                                     "/signature-overlay/signature-overlay.apk");
-  std::unique_ptr<const ApkAssets> overlay_apk = ApkAssets::Load(overlay_apk_path);
-  ASSERT_THAT(overlay_apk, NotNull());
-
-  uint32_t policy_flags = PolicyFlags::POLICY_PUBLIC | PolicyFlags::POLICY_SIGNATURE;
-
-  std::stringstream error;
-  std::unique_ptr<const Idmap> idmap =
-      Idmap::FromApkAssets(target_apk_path, *target_apk, overlay_apk_path, *overlay_apk,
-                           policy_flags, /* enforce_overlayable */ true, error);
+  std::unique_ptr<const Idmap> idmap;
+  std::string target_apk_path = GetTestDataPath() + "/target/target.apk";
+  std::string overlay_apk_path = GetTestDataPath() + "/signature-overlay/signature-overlay.apk";
+  CreateIdmap(target_apk_path, overlay_apk_path,
+              PolicyFlags::POLICY_PUBLIC | PolicyFlags::POLICY_SIGNATURE,
+              /* enforce_overlayable */ true, &idmap);
   ASSERT_THAT(idmap, NotNull());
 
   const std::vector<std::unique_ptr<const IdmapData>>& dataBlocks = idmap->GetData();
@@ -298,52 +289,15 @@
   ASSERT_EQ(types[0]->GetEntry(0), 0x0000U);  // string/policy_signature
 }
 
-TEST(IdmapOverlayableTests, CreateIdmapFromApkAssetsPolicySignatureNotFulfilled) {
-  const std::string target_apk_path(GetTestDataPath() + "/target/target.apk");
-  std::unique_ptr<const ApkAssets> target_apk = ApkAssets::Load(target_apk_path);
-  ASSERT_THAT(target_apk, NotNull());
-
-  const std::string overlay_apk_path(GetTestDataPath() +
-                                     "/signature-overlay/signature-overlay.apk");
-  std::unique_ptr<const ApkAssets> overlay_apk = ApkAssets::Load(overlay_apk_path);
-  ASSERT_THAT(overlay_apk, NotNull());
-
-  uint32_t policy_flags = PolicyFlags::POLICY_PUBLIC;
-
-  std::stringstream error;
-  std::unique_ptr<const Idmap> idmap =
-      Idmap::FromApkAssets(target_apk_path, *target_apk, overlay_apk_path, *overlay_apk,
-                           policy_flags, /* enforce_overlayable */ true, error);
-  ASSERT_THAT(idmap, NotNull());
-
-  const std::vector<std::unique_ptr<const IdmapData>>& dataBlocks = idmap->GetData();
-  ASSERT_EQ(dataBlocks.size(), 1U);
-
-  const std::unique_ptr<const IdmapData>& data = dataBlocks[0];
-
-  ASSERT_EQ(data->GetHeader()->GetTargetPackageId(), 0x7fU);
-  ASSERT_EQ(data->GetHeader()->GetTypeCount(), 0U);
-
-  const std::vector<std::unique_ptr<const IdmapData::TypeEntry>>& types = data->GetTypeEntries();
-  ASSERT_EQ(types.size(), 0U);  // can't overlay, so contains nothing
-}
-
 // Overlays should abide by all overlayable restrictions if enforcement of overlayable is enabled.
 TEST(IdmapOverlayableTests, CreateIdmapFromApkAssetsPolicySystemPublicInvalid) {
-  const std::string target_apk_path(GetTestDataPath() + "/target/target.apk");
-  std::unique_ptr<const ApkAssets> target_apk = ApkAssets::Load(target_apk_path);
-  ASSERT_THAT(target_apk, NotNull());
-
-  const std::string overlay_apk_path(GetTestDataPath() +
-                                     "/system-overlay-invalid/system-overlay-invalid.apk");
-  std::unique_ptr<const ApkAssets> overlay_apk = ApkAssets::Load(overlay_apk_path);
-  ASSERT_THAT(overlay_apk, NotNull());
-
-  std::stringstream error;
-  std::unique_ptr<const Idmap> idmap =
-      Idmap::FromApkAssets(target_apk_path, *target_apk, overlay_apk_path, *overlay_apk,
-                           PolicyFlags::POLICY_SYSTEM_PARTITION | PolicyFlags::POLICY_PUBLIC,
-                           /* enforce_overlayable */ true, error);
+  std::unique_ptr<const Idmap> idmap;
+  std::string target_apk_path = GetTestDataPath() + "/target/target.apk";
+  std::string overlay_apk_path =
+      GetTestDataPath() + "/system-overlay-invalid/system-overlay-invalid.apk";
+  CreateIdmap(target_apk_path, overlay_apk_path,
+              PolicyFlags::POLICY_SYSTEM_PARTITION | PolicyFlags::POLICY_PUBLIC,
+              /* enforce_overlayable */ true, &idmap);
   ASSERT_THAT(idmap, NotNull());
 
   const std::vector<std::unique_ptr<const IdmapData>>& dataBlocks = idmap->GetData();
@@ -369,20 +323,13 @@
 
 // Overlays should ignore all overlayable restrictions if enforcement of overlayable is disabled.
 TEST(IdmapOverlayableTests, CreateIdmapFromApkAssetsPolicySystemPublicInvalidIgnoreOverlayable) {
-  const std::string target_apk_path(GetTestDataPath() + "/target/target.apk");
-  std::unique_ptr<const ApkAssets> target_apk = ApkAssets::Load(target_apk_path);
-  ASSERT_THAT(target_apk, NotNull());
-
-  const std::string overlay_apk_path(GetTestDataPath() +
-                                     "/system-overlay-invalid/system-overlay-invalid.apk");
-  std::unique_ptr<const ApkAssets> overlay_apk = ApkAssets::Load(overlay_apk_path);
-  ASSERT_THAT(overlay_apk, NotNull());
-
-  std::stringstream error;
-  std::unique_ptr<const Idmap> idmap =
-      Idmap::FromApkAssets(target_apk_path, *target_apk, overlay_apk_path, *overlay_apk,
-                           PolicyFlags::POLICY_SYSTEM_PARTITION | PolicyFlags::POLICY_PUBLIC,
-                           /* enforce_overlayable */ false, error);
+  std::unique_ptr<const Idmap> idmap;
+  std::string target_apk_path = GetTestDataPath() + "/target/target.apk";
+  std::string overlay_apk_path =
+      GetTestDataPath() + "/system-overlay-invalid/system-overlay-invalid.apk";
+  CreateIdmap(target_apk_path, overlay_apk_path,
+              PolicyFlags::POLICY_SYSTEM_PARTITION | PolicyFlags::POLICY_PUBLIC,
+              /* enforce_overlayable */ false, &idmap);
   ASSERT_THAT(idmap, NotNull());
 
   const std::vector<std::unique_ptr<const IdmapData>>& dataBlocks = idmap->GetData();
@@ -409,63 +356,13 @@
   ASSERT_EQ(types[0]->GetEntry(6), 0x0006U);  // string/policy_system_vendor
 }
 
-// The resources of APKs that do not include an overlayable declaration should not restrict what
-// resources can be overlaid.
-TEST(IdmapOverlayableTests, CreateIdmapFromApkAssetsNoDefinedOverlayable) {
-  const std::string target_apk_path(GetTestDataPath() + "/target/target-no-overlayable.apk");
-  std::unique_ptr<const ApkAssets> target_apk = ApkAssets::Load(target_apk_path);
-  ASSERT_THAT(target_apk, NotNull());
-
-  const std::string overlay_apk_path(GetTestDataPath() +
-                                     "/system-overlay-invalid/system-overlay-invalid.apk");
-  std::unique_ptr<const ApkAssets> overlay_apk = ApkAssets::Load(overlay_apk_path);
-  ASSERT_THAT(overlay_apk, NotNull());
-
-  std::stringstream error;
-  std::unique_ptr<const Idmap> idmap =
-      Idmap::FromApkAssets(target_apk_path, *target_apk, overlay_apk_path, *overlay_apk,
-                           PolicyFlags::POLICY_PUBLIC, /* enforce_overlayable */ true, error);
-  ASSERT_THAT(idmap, NotNull());
-
-  const std::vector<std::unique_ptr<const IdmapData>>& dataBlocks = idmap->GetData();
-  ASSERT_EQ(dataBlocks.size(), 1U);
-
-  const std::unique_ptr<const IdmapData>& data = dataBlocks[0];
-
-  ASSERT_EQ(data->GetHeader()->GetTargetPackageId(), 0x7fU);
-  ASSERT_EQ(data->GetHeader()->GetTypeCount(), 1U);
-
-  const std::vector<std::unique_ptr<const IdmapData::TypeEntry>>& types = data->GetTypeEntries();
-  ASSERT_EQ(types.size(), 1U);
-
-  ASSERT_EQ(types[0]->GetTargetTypeId(), 0x02U);
-  ASSERT_EQ(types[0]->GetOverlayTypeId(), 0x01U);
-  ASSERT_EQ(types[0]->GetEntryCount(), 7U);
-  ASSERT_EQ(types[0]->GetEntryOffset(), 3U);
-  ASSERT_EQ(types[0]->GetEntry(0), 0x0000U);  // string/not_overlayable
-  ASSERT_EQ(types[0]->GetEntry(1), 0x0001U);  // string/other
-  ASSERT_EQ(types[0]->GetEntry(2), 0x0002U);  // string/policy_product
-  ASSERT_EQ(types[0]->GetEntry(3), 0x0003U);  // string/policy_public
-  ASSERT_EQ(types[0]->GetEntry(4), 0x0004U);  // string/string/policy_signature
-  ASSERT_EQ(types[0]->GetEntry(5), 0x0005U);  // string/policy_system
-  ASSERT_EQ(types[0]->GetEntry(6), 0x0006U);  // string/policy_system_vendor
-}
-
-// The resources of APKs that do not include an overlayable declaration should not restrict what
-// resources can be overlaid.
+// Overlays that do not specify a target <overlayable> can overlay resources defined as overlayable.
 TEST(IdmapOverlayableTests, CreateIdmapFromApkAssetsNoDefinedOverlayableAndNoTargetName) {
-  const std::string target_apk_path(GetTestDataPath() + "/target/target-no-overlayable.apk");
-  std::unique_ptr<const ApkAssets> target_apk = ApkAssets::Load(target_apk_path);
-  ASSERT_THAT(target_apk, NotNull());
-
-  const std::string overlay_apk_path(GetTestDataPath() + "/overlay/overlay-no-name.apk");
-  std::unique_ptr<const ApkAssets> overlay_apk = ApkAssets::Load(overlay_apk_path);
-  ASSERT_THAT(overlay_apk, NotNull());
-
-  std::stringstream error;
-  std::unique_ptr<const Idmap> idmap =
-      Idmap::FromApkAssets(target_apk_path, *target_apk, overlay_apk_path, *overlay_apk,
-                           PolicyFlags::POLICY_PUBLIC, /* enforce_overlayable */ true, error);
+  std::unique_ptr<const Idmap> idmap;
+  std::string target_apk_path = GetTestDataPath() + "/target/target-no-overlayable.apk";
+  std::string overlay_apk_path = GetTestDataPath() + "/overlay/overlay-no-name.apk";
+  CreateIdmap(target_apk_path, overlay_apk_path, PolicyFlags::POLICY_PUBLIC,
+              /* enforce_overlayable */ false, &idmap);
   ASSERT_THAT(idmap, NotNull());
 
   const std::vector<std::unique_ptr<const IdmapData>>& dataBlocks = idmap->GetData();
@@ -483,16 +380,81 @@
   ASSERT_EQ(types[0]->GetOverlayTypeId(), 0x01U);
   ASSERT_EQ(types[0]->GetEntryCount(), 1U);
   ASSERT_EQ(types[0]->GetEntryOffset(), 0U);
-  ASSERT_EQ(types[0]->GetEntry(0), 0x0000U);
+  ASSERT_EQ(types[0]->GetEntry(0), 0x0000U);  // string/int1
 
   ASSERT_EQ(types[1]->GetTargetTypeId(), 0x02U);
   ASSERT_EQ(types[1]->GetOverlayTypeId(), 0x02U);
   ASSERT_EQ(types[1]->GetEntryCount(), 4U);
   ASSERT_EQ(types[1]->GetEntryOffset(), 10U);
-  ASSERT_EQ(types[1]->GetEntry(0), 0x0000U);
-  ASSERT_EQ(types[1]->GetEntry(1), kNoEntry);
-  ASSERT_EQ(types[1]->GetEntry(2), 0x0001U);
-  ASSERT_EQ(types[1]->GetEntry(3), 0x0002U);
+  ASSERT_EQ(types[1]->GetEntry(0), 0x0000U);   // string/str1
+  ASSERT_EQ(types[1]->GetEntry(1), kNoEntry);  // string/str2
+  ASSERT_EQ(types[1]->GetEntry(2), 0x0001U);   // string/str3
+  ASSERT_EQ(types[1]->GetEntry(3), 0x0002U);   // string/str4
+}
+
+// Overlays that are not pre-installed and are not signed with the same signature as the target
+// cannot overlay packages that have not defined overlayable resources.
+TEST(IdmapOverlayableTests, CreateIdmapFromApkAssetsDefaultPoliciesPublicFail) {
+  std::unique_ptr<const Idmap> idmap;
+  std::string target_apk_path = GetTestDataPath() + "/target/target-no-overlayable.apk";
+  std::string overlay_apk_path = GetTestDataPath() + "/overlay/overlay-no-name.apk";
+  CreateIdmap(target_apk_path, overlay_apk_path, PolicyFlags::POLICY_PUBLIC,
+              /* enforce_overlayable */ true, &idmap);
+  ASSERT_THAT(idmap, IsNull());
+}
+
+// Overlays that are pre-installed or are signed with the same signature as the target can overlay
+// packages that have not defined overlayable resources.
+TEST(IdmapOverlayableTests, CreateIdmapFromApkAssetsDefaultPolicies) {
+  std::unique_ptr<const Idmap> idmap;
+  std::string target_apk_path = GetTestDataPath() + "/target/target-no-overlayable.apk";
+  std::string overlay_apk_path =
+      GetTestDataPath() + "/system-overlay-invalid/system-overlay-invalid.apk";
+
+  auto CheckEntries = [&]() -> void {
+    const std::vector<std::unique_ptr<const IdmapData>>& dataBlocks = idmap->GetData();
+    ASSERT_EQ(dataBlocks.size(), 1U);
+
+    const std::unique_ptr<const IdmapData>& data = dataBlocks[0];
+
+    ASSERT_EQ(data->GetHeader()->GetTargetPackageId(), 0x7fU);
+    ASSERT_EQ(data->GetHeader()->GetTypeCount(), 1U);
+
+    const std::vector<std::unique_ptr<const IdmapData::TypeEntry>>& types = data->GetTypeEntries();
+    ASSERT_EQ(types.size(), 1U);
+
+    ASSERT_EQ(types[0]->GetTargetTypeId(), 0x02U);
+    ASSERT_EQ(types[0]->GetOverlayTypeId(), 0x01U);
+    ASSERT_EQ(types[0]->GetEntryCount(), 7U);
+    ASSERT_EQ(types[0]->GetEntryOffset(), 3U);
+    ASSERT_EQ(types[0]->GetEntry(0), 0x0000U);  // string/not_overlayable
+    ASSERT_EQ(types[0]->GetEntry(1), 0x0001U);  // string/other
+    ASSERT_EQ(types[0]->GetEntry(2), 0x0002U);  // string/policy_product
+    ASSERT_EQ(types[0]->GetEntry(3), 0x0003U);  // string/policy_public
+    ASSERT_EQ(types[0]->GetEntry(4), 0x0004U);  // string/string/policy_signature
+    ASSERT_EQ(types[0]->GetEntry(5), 0x0005U);  // string/policy_system
+    ASSERT_EQ(types[0]->GetEntry(6), 0x0006U);  // string/policy_system_vendor
+  };
+
+  CreateIdmap(target_apk_path, overlay_apk_path, PolicyFlags::POLICY_SIGNATURE,
+              /* enforce_overlayable */ true, &idmap);
+  ASSERT_THAT(idmap, NotNull());
+  CheckEntries();
+
+  CreateIdmap(target_apk_path, overlay_apk_path, PolicyFlags::POLICY_PRODUCT_PARTITION,
+              /* enforce_overlayable */ true, &idmap);
+  ASSERT_THAT(idmap, NotNull());
+  CheckEntries();
+
+  CreateIdmap(target_apk_path, overlay_apk_path, PolicyFlags::POLICY_SYSTEM_PARTITION,
+              /* enforce_overlayable */ true, &idmap);
+  ASSERT_THAT(idmap, NotNull());
+  CheckEntries();
+
+  CreateIdmap(target_apk_path, overlay_apk_path, PolicyFlags::POLICY_VENDOR_PARTITION,
+              /* enforce_overlayable */ true, &idmap);
+  ASSERT_THAT(idmap, NotNull());
+  CheckEntries();
 }
 
 TEST(IdmapTests, FailToCreateIdmapFromApkAssetsIfPathTooLong) {
diff --git a/cmds/idmap2/tests/data/overlay/build b/cmds/idmap2/tests/data/overlay/build
index e879f44..68b9f50 100755
--- a/cmds/idmap2/tests/data/overlay/build
+++ b/cmds/idmap2/tests/data/overlay/build
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-FRAMEWORK_RES_APK="${ANDROID_BUILD_TOP}/out/target/common/obj/APPS/framework-res_intermediates/package-export.apk"
+FRAMEWORK_RES_APK=${ANDROID_BUILD_TOP}/prebuilts/sdk/current/public/android.jar
 
 aapt2 compile --dir res -o compiled.flata
 
diff --git a/cmds/idmap2/tests/data/overlay/overlay-no-name.apk b/cmds/idmap2/tests/data/overlay/overlay-no-name.apk
index 7d23c09..6425190 100644
--- a/cmds/idmap2/tests/data/overlay/overlay-no-name.apk
+++ b/cmds/idmap2/tests/data/overlay/overlay-no-name.apk
Binary files differ
diff --git a/cmds/statsd/Android.bp b/cmds/statsd/Android.bp
index da72002..ce07d6d 100644
--- a/cmds/statsd/Android.bp
+++ b/cmds/statsd/Android.bp
@@ -219,6 +219,8 @@
         "tests/anomaly/AnomalyTracker_test.cpp",
         "tests/ConfigManager_test.cpp",
         "tests/external/puller_util_test.cpp",
+        "tests/external/GpuStatsPuller_test.cpp",
+        "tests/external/IncidentReportArgs_test.cpp",
         "tests/external/StatsPuller_test.cpp",
         "tests/indexed_priority_queue_test.cpp",
         "tests/LogEntryMatcher_test.cpp",
diff --git a/cmds/statsd/src/StatsService.cpp b/cmds/statsd/src/StatsService.cpp
index 9ac888b..f78ae38 100644
--- a/cmds/statsd/src/StatsService.cpp
+++ b/cmds/statsd/src/StatsService.cpp
@@ -1198,32 +1198,52 @@
     }
     // TODO: add verifier permission
 
-    userid_t userId = multiuser_get_user_id(uid);
+    bool readTrainInfoSuccess = false;
+    InstallTrainInfo trainInfo;
+    if (trainVersionCode == -1 || experimentIds.empty() || trainName.size() == 0) {
+        readTrainInfoSuccess = StorageManager::readTrainInfo(trainInfo);
+    }
 
+    if (trainVersionCode == -1 && readTrainInfoSuccess) {
+        trainVersionCode = trainInfo.trainVersionCode;
+    }
+
+    vector<uint8_t> experimentIdsProtoBuffer;
+    if (readTrainInfoSuccess && experimentIds.empty()) {
+        experimentIdsProtoBuffer = trainInfo.experimentIds;
+    } else {
+        ProtoOutputStream proto;
+        for (const auto& expId : experimentIds) {
+            proto.write(FIELD_TYPE_INT64 | FIELD_COUNT_REPEATED | FIELD_ID_EXPERIMENT_ID,
+                        (long long)expId);
+        }
+
+        experimentIdsProtoBuffer.resize(proto.size());
+        size_t pos = 0;
+        auto iter = proto.data();
+        while (iter.readBuffer() != NULL) {
+            size_t toRead = iter.currentToRead();
+            std::memcpy(&(experimentIdsProtoBuffer[pos]), iter.readBuffer(), toRead);
+            pos += toRead;
+            iter.rp()->move(toRead);
+        }
+    }
+
+    std::string trainNameUtf8;
+    if (readTrainInfoSuccess && trainName.size() == 0) {
+        trainNameUtf8 = trainInfo.trainName;
+    } else {
+        trainNameUtf8 = std::string(String8(trainName).string());
+    }
+
+    userid_t userId = multiuser_get_user_id(uid);
     bool requiresStaging = options & IStatsManager::FLAG_REQUIRE_STAGING;
     bool rollbackEnabled = options & IStatsManager::FLAG_ROLLBACK_ENABLED;
     bool requiresLowLatencyMonitor = options & IStatsManager::FLAG_REQUIRE_LOW_LATENCY_MONITOR;
-
-    ProtoOutputStream proto;
-    for (const auto& expId : experimentIds) {
-        proto.write(FIELD_TYPE_INT64 | FIELD_COUNT_REPEATED | FIELD_ID_EXPERIMENT_ID,
-                    (long long)expId);
-    }
-
-    vector<uint8_t> buffer;
-    buffer.resize(proto.size());
-    size_t pos = 0;
-    auto iter = proto.data();
-    while (iter.readBuffer() != NULL) {
-        size_t toRead = iter.currentToRead();
-        std::memcpy(&(buffer[pos]), iter.readBuffer(), toRead);
-        pos += toRead;
-        iter.rp()->move(toRead);
-    }
-    LogEvent event(std::string(String8(trainName).string()), trainVersionCode, requiresStaging,
-                   rollbackEnabled, requiresLowLatencyMonitor, state, buffer, userId);
+    LogEvent event(trainNameUtf8, trainVersionCode, requiresStaging, rollbackEnabled,
+                   requiresLowLatencyMonitor, state, experimentIdsProtoBuffer, userId);
     mProcessor->OnLogEvent(&event);
-    StorageManager::writeTrainInfo(trainVersionCode, buffer);
+    StorageManager::writeTrainInfo(trainVersionCode, trainNameUtf8, state, experimentIdsProtoBuffer);
     return Status::ok();
 }
 
diff --git a/cmds/statsd/src/atoms.proto b/cmds/statsd/src/atoms.proto
index a983b27..1dbbbc5 100644
--- a/cmds/statsd/src/atoms.proto
+++ b/cmds/statsd/src/atoms.proto
@@ -45,6 +45,7 @@
 import "frameworks/base/core/proto/android/stats/devicepolicy/device_policy.proto";
 import "frameworks/base/core/proto/android/stats/devicepolicy/device_policy_enums.proto";
 import "frameworks/base/core/proto/android/stats/launcher/launcher.proto";
+import "frameworks/base/core/proto/android/stats/storage/storage_enums.proto";
 import "frameworks/base/core/proto/android/stats/style/style_enums.proto";
 import "frameworks/base/core/proto/android/telecomm/enums.proto";
 import "frameworks/base/core/proto/android/telephony/enums.proto";
@@ -249,10 +250,12 @@
         TouchGestureClassified touch_gesture_classified = 177;
         HiddenApiUsed hidden_api_used = 178 [(allow_from_any_uid) = true];
         StyleUIChanged style_ui_changed = 179;
+        PrivacyIndicatorsInteracted privacy_indicators_interacted = 180;
+        AppInstallOnExternalStorageReported app_install_on_external_storage_reported = 181;
     }
 
     // Pulled events will start at field 10000.
-    // Next: 10056
+    // Next: 10057
     oneof pulled {
         WifiBytesTransfer wifi_bytes_transfer = 10000;
         WifiBytesTransferByFgBg wifi_bytes_transfer_by_fg_bg = 10001;
@@ -307,9 +310,10 @@
         DangerousPermissionState dangerous_permission_state = 10050;
         TrainInfo train_info = 10051;
         TimeZoneDataInfo time_zone_data_info = 10052;
-        SDCardInfo sdcard_info = 10053;
+        ExternalStorageInfo external_storage_info = 10053;
         GpuStatsGlobalInfo gpu_stats_global_info = 10054;
         GpuStatsAppInfo gpu_stats_app_info = 10055;
+        SystemIonHeapSize system_ion_heap_size = 10056;
     }
 
     // DO NOT USE field numbers above 100,000 in AOSP.
@@ -521,7 +525,7 @@
         ADD_PSS_EXTERNAL_SLOW = 4;
     }
     optional Type type = 7;
-    optional int64 duration = 8;
+    optional int64 duration_millis = 8;
 }
 
 /**
@@ -1568,7 +1572,7 @@
         ROLLBACK_INITIATE = 1;
         ROLLBACK_SUCCESS = 2;
         ROLLBACK_FAILURE = 3;
-        ROLLBACK_ROOT_TRIGGERED = 4;
+        ROLLBACK_BOOT_TRIGGERED = 4;
     }
     optional RollbackType rollback_type = 1;
 
@@ -2556,6 +2560,18 @@
 }
 
 /**
+ * Logs whenever an app is installed on external storage.
+ * Logged from:
+        frameworks/base/services/core/java/com/android/server/pm/PackageManagerService.java
+ */
+message AppInstallOnExternalStorageReported {
+    // The type of external storage.
+    optional android.stats.storage.ExternalStorageType storage_type = 1;
+    // The name of the package that is installed on the sd card.
+    optional string package_name = 2;
+}
+
+/**
  * Logs when an app crashes.
  * Logged from:
  *      frameworks/base/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -3005,6 +3021,9 @@
 
     // The elapsed real time of start of the process.
     optional int64 process_start_time_nanos = 9;
+
+    // Min oom adj score considered by lmkd.
+    optional int32 min_oom_score = 10;
 }
 
 /*
@@ -3240,8 +3259,18 @@
         INSTALL_FAILURE = 6;
         INSTALL_CANCELLED = 7;
         INSTALLER_ROLLBACK_REQUESTED = 8;
-        INSTALLER_ROLLBACK_SUCCESS = 9;
-        INSTALLER_ROLLBACK_FAILURE = 10;
+        INSTALLER_ROLLBACK_INITIATED = 9;
+        INSTALLER_ROLLBACK_INITIATED_FAILURE = 10;
+        INSTALLER_ROLLBACK_STAGED = 11;
+        INSTALLER_ROLLBACK_STAGED_FAILURE = 12;
+        INSTALLER_ROLLBACK_BOOT_TRIGGERED = 13;
+        INSTALLER_ROLLBACK_BOOT_TRIGGERED_FAILURE = 14;
+        INSTALLER_ROLLBACK_SUCCESS = 15;
+        INSTALLER_ROLLBACK_FAILURE = 16;
+        INSTALLER_ROLLBACK_CANCEL_STAGED_REMOVE_FROM_QUEUE = 17;
+        INSTALLER_ROLLBACK_CANCEL_STAGED_DELETE_SESSION_INITIATED = 18;
+        INSTALLER_ROLLBACK_CANCEL_STAGED_DELETE_SESSION_SUCCESS = 19;
+        INSTALLER_ROLLBACK_CANCEL_STAGED_DELETE_SESSION_FAILURE = 20;
     }
     optional State state = 6;
     // Possible experiment ids for monitoring this push.
@@ -3282,25 +3311,27 @@
 }
 
 /**
- * Logs that an SD card is mounted and information about it, its type (public or private) and the
- * size in bytes.
+ * Logs that external storage is mounted and information about it, the storage type (sd card/usb/
+ * others), its type (public or private) and the size in bytes.
  * Pulled from:
  *   StatsCompanionService
  */
 
-message SDCardInfo {
+message ExternalStorageInfo {
 
-    enum Type {
+    enum VolumeType {
         UNKNOWN = 0;
-        TYPE_PUBLIC = 1;
-        TYPE_PRIVATE = 2;
-        OTHERS = 3;
+        PUBLIC = 1;
+        PRIVATE = 2;
+        OTHER = 3;
     }
 
-    // Type of the SD card: TYPE_PUBLIC if portable and TYPE_PRIVATE if internal.
-    optional Type type = 1;
+    // The type of external storage.
+    optional android.stats.storage.ExternalStorageType storage_type = 1;
+    // Type of the volume: TYPE_PUBLIC if portable and TYPE_PRIVATE if internal.
+    optional VolumeType volume_type = 2;
     // Total size of the sd card in bytes.
-    optional int64 size_bytes = 2;
+    optional int64 size_bytes = 3;
 }
 
 /*
@@ -3382,6 +3413,32 @@
     optional bool access_denied = 4;
 }
 
+/**
+ * Logs user interaction with the Privacy Indicators added in Q. In particular:
+ * - When user sees privacy chip
+ * - When user clicks privacy chip
+ * - How does the user exit the Privacy Dialog
+ * Logged from:
+ *   packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyDialog.kt
+ *   packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
+ */
+message PrivacyIndicatorsInteracted {
+
+    enum Type {
+        UNKNOWN = 0;
+        CHIP_VIEWED = 1;
+        CHIP_CLICKED = 2;
+        DIALOG_PRIVACY_SETTINGS = 3;
+        DIALOG_DISMISS = 4;
+        DIALOG_LINE_ITEM = 5;
+    }
+
+    optional Type type = 1 [(state_field_option).option = EXCLUSIVE];
+
+    // Used if the type is LINE_ITEM
+    optional string package_name = 2;
+}
+
 //////////////////////////////////////////////////////////////////////
 // Pulled atoms below this line //
 //////////////////////////////////////////////////////////////////////
@@ -4872,7 +4929,7 @@
   // since boot, not including sleep (see SystemClock.uptimeMillis()).
   optional int64 last_compact_timestamp_ms_since_boot = 14;
 
-  // The oom_score_adj at the time of compaction.
+  // The "setAdj" (i.e. previous) oom_score_adj at the time of compaction.
   optional int32 oom_score_adj = 15;
 
   // The process state at the time of compaction.
@@ -5650,6 +5707,33 @@
     optional int64 train_version_code = 1;
 
     optional TrainExperimentIds train_experiment_id = 2;
+
+    optional string train_name = 3;
+
+    enum Status {
+        UNKNOWN = 0;
+        INSTALL_REQUESTED = 1;
+        INSTALL_STARTED = 2;
+        INSTALL_STAGED_NOT_READY = 3;
+        INSTALL_STAGED_READY = 4;
+        INSTALL_SUCCESS = 5;
+        INSTALL_FAILURE = 6;
+        INSTALL_CANCELLED = 7;
+        INSTALLER_ROLLBACK_REQUESTED = 8;
+        INSTALLER_ROLLBACK_INITIATED = 9;
+        INSTALLER_ROLLBACK_INITIATED_FAILURE = 10;
+        INSTALLER_ROLLBACK_STAGED = 11;
+        INSTALLER_ROLLBACK_STAGED_FAILURE = 12;
+        INSTALLER_ROLLBACK_BOOT_TRIGGERED = 13;
+        INSTALLER_ROLLBACK_BOOT_TRIGGERED_FAILURE = 14;
+        INSTALLER_ROLLBACK_SUCCESS = 15;
+        INSTALLER_ROLLBACK_FAILURE = 16;
+        INSTALLER_ROLLBACK_CANCEL_STAGED_REMOVE_FROM_QUEUE = 17;
+        INSTALLER_ROLLBACK_CANCEL_STAGED_DELETE_SESSION_INITIATED = 18;
+        INSTALLER_ROLLBACK_CANCEL_STAGED_DELETE_SESSION_SUCCESS = 19;
+        INSTALLER_ROLLBACK_CANCEL_STAGED_DELETE_SESSION_FAILURE = 20;
+    }
+    optional Status status = 4;
 }
 
 /**
@@ -5692,7 +5776,7 @@
     optional string tzdb_version = 1;
 }
 
-/*
+/**
  * Logs the GPU stats global health information.
  *
  * Logged from:
@@ -5724,22 +5808,44 @@
     optional int64 vk_loading_failure_count = 8;
 }
 
-/*
+/**
+ * GPU driver loading time info.
+ */
+message GpuDriverLoadingTime {
+    // List of all the driver loading times for this app. The list size is
+    // capped at 50.
+    repeated int64 driver_loading_time = 1;
+}
+
+/**
  * Logs the GPU stats per app health information.
  *
  * Logged from:
  *   frameworks/native/services/gpuservice/gpustats/
  */
 message GpuStatsAppInfo {
-    // Package name of the application that loads the gpu driver.
+    // Package name of the application that loads the gpu driver. Total number
+    // of different packages is capped at 100.
     optional string app_package_name = 1;
 
     // Version code of the gpu driver this app loads.
     optional int64 driver_version_code = 2;
 
-    // List of all the gl driver loading times for this app.
-    repeated int64 gl_driver_loading_time = 3;
+    // gl driver loading time info.
+    optional GpuDriverLoadingTime gl_driver_loading_time = 3
+            [(android.os.statsd.log_mode) = MODE_BYTES];
 
-    // List of all the Vulkan driver laoding times for this app.
-    repeated int64 vk_driver_loading_time = 4;
+    // Vulkan driver loading time info.
+    optional GpuDriverLoadingTime vk_driver_loading_time = 4
+            [(android.os.statsd.log_mode) = MODE_BYTES];
+}
+
+/*
+ * Logs the size of the system ion heap.
+ *
+ * Pulled from StatsCompanionService.
+ */
+message SystemIonHeapSize {
+    // Size of the system ion heap in bytes.
+    optional int64 size_in_bytes = 1;
 }
diff --git a/cmds/statsd/src/external/GpuStatsPuller.cpp b/cmds/statsd/src/external/GpuStatsPuller.cpp
index 8445803..130bd85 100644
--- a/cmds/statsd/src/external/GpuStatsPuller.cpp
+++ b/cmds/statsd/src/external/GpuStatsPuller.cpp
@@ -70,6 +70,30 @@
     return true;
 }
 
+static bool pullGpuStatsAppInfo(const sp<IGpuService>& gpuService,
+                                std::vector<std::shared_ptr<LogEvent>>* data) {
+    std::vector<GpuStatsAppInfo> stats;
+    status_t status = gpuService->getGpuStatsAppInfo(&stats);
+    if (status != OK) {
+        return false;
+    }
+
+    data->clear();
+    data->reserve(stats.size());
+    for (const auto& info : stats) {
+        std::shared_ptr<LogEvent> event = make_shared<LogEvent>(
+                android::util::GPU_STATS_APP_INFO, getWallClockNs(), getElapsedRealtimeNs());
+        if (!event->write(info.appPackageName)) return false;
+        if (!event->write((int64_t)info.driverVersionCode)) return false;
+        if (!event->write(int64VectorToProtoByteString(info.glDriverLoadingTime))) return false;
+        if (!event->write(int64VectorToProtoByteString(info.vkDriverLoadingTime))) return false;
+        event->init();
+        data->emplace_back(event);
+    }
+
+    return true;
+}
+
 bool GpuStatsPuller::PullInternal(std::vector<std::shared_ptr<LogEvent>>* data) {
     const sp<IGpuService> gpuService = getGpuService();
     if (!gpuService) {
@@ -79,6 +103,8 @@
     switch (mTagId) {
         case android::util::GPU_STATS_GLOBAL_INFO:
             return pullGpuStatsGlobalInfo(gpuService, data);
+        case android::util::GPU_STATS_APP_INFO:
+            return pullGpuStatsAppInfo(gpuService, data);
         default:
             break;
     }
@@ -86,6 +112,35 @@
     return false;
 }
 
+static std::string protoOutputStreamToByteString(ProtoOutputStream& proto) {
+    if (!proto.size()) return "";
+
+    std::string byteString;
+    auto iter = proto.data();
+    while (iter.readBuffer() != nullptr) {
+        const size_t toRead = iter.currentToRead();
+        byteString.append((char*)iter.readBuffer(), toRead);
+        iter.rp()->move(toRead);
+    }
+
+    if (byteString.size() != proto.size()) return "";
+
+    return byteString;
+}
+
+std::string int64VectorToProtoByteString(const std::vector<int64_t>& value) {
+    if (value.empty()) return "";
+
+    ProtoOutputStream proto;
+    for (const auto& ele : value) {
+        proto.write(android::util::FIELD_TYPE_INT64 | android::util::FIELD_COUNT_REPEATED |
+                            1 /* field id */,
+                    (long long)ele);
+    }
+
+    return protoOutputStreamToByteString(proto);
+}
+
 }  // namespace statsd
 }  // namespace os
 }  // namespace android
diff --git a/cmds/statsd/src/external/GpuStatsPuller.h b/cmds/statsd/src/external/GpuStatsPuller.h
index 4c7a4d6..2da199c 100644
--- a/cmds/statsd/src/external/GpuStatsPuller.h
+++ b/cmds/statsd/src/external/GpuStatsPuller.h
@@ -31,6 +31,12 @@
     bool PullInternal(std::vector<std::shared_ptr<LogEvent>>* data) override;
 };
 
+// convert a int64_t vector into a byte string for proto message like:
+// message RepeatedInt64Wrapper {
+//   repeated int64 value = 1;
+// }
+std::string int64VectorToProtoByteString(const std::vector<int64_t>& value);
+
 }  // namespace statsd
 }  // namespace os
 }  // namespace android
diff --git a/cmds/statsd/src/external/StatsPullerManager.cpp b/cmds/statsd/src/external/StatsPullerManager.cpp
index 924704b..2abfc24 100644
--- a/cmds/statsd/src/external/StatsPullerManager.cpp
+++ b/cmds/statsd/src/external/StatsPullerManager.cpp
@@ -148,10 +148,14 @@
         {android::util::NATIVE_PROCESS_MEMORY_STATE,
          {.additiveFields = {3, 4, 5, 6},
           .puller = new StatsCompanionServicePuller(android::util::NATIVE_PROCESS_MEMORY_STATE)}},
+        // process_memory_high_water_mark
         {android::util::PROCESS_MEMORY_HIGH_WATER_MARK,
          {.additiveFields = {3},
           .puller =
                   new StatsCompanionServicePuller(android::util::PROCESS_MEMORY_HIGH_WATER_MARK)}},
+        // system_ion_heap_size
+        {android::util::SYSTEM_ION_HEAP_SIZE,
+         {.puller = new StatsCompanionServicePuller(android::util::SYSTEM_ION_HEAP_SIZE)}},
         // temperature
         {android::util::TEMPERATURE,
          {.puller = new StatsCompanionServicePuller(android::util::TEMPERATURE)}},
@@ -238,12 +242,15 @@
         // TimeZoneDataInfo.
         {android::util::TIME_ZONE_DATA_INFO,
          {.puller = new StatsCompanionServicePuller(android::util::TIME_ZONE_DATA_INFO)}},
-        // SDCardInfo
-        {android::util::SDCARD_INFO,
-         {.puller = new StatsCompanionServicePuller(android::util::SDCARD_INFO)}},
+        // ExternalStorageInfo
+        {android::util::EXTERNAL_STORAGE_INFO,
+         {.puller = new StatsCompanionServicePuller(android::util::EXTERNAL_STORAGE_INFO)}},
         // GpuStatsGlobalInfo
         {android::util::GPU_STATS_GLOBAL_INFO,
          {.puller = new GpuStatsPuller(android::util::GPU_STATS_GLOBAL_INFO)}},
+        // GpuStatsAppInfo
+        {android::util::GPU_STATS_APP_INFO,
+         {.puller = new GpuStatsPuller(android::util::GPU_STATS_APP_INFO)}},
 };
 
 StatsPullerManager::StatsPullerManager() : mNextPullTimeNs(NO_ALARM_UPDATE) {
diff --git a/cmds/statsd/src/guardrail/StatsdStats.cpp b/cmds/statsd/src/guardrail/StatsdStats.cpp
index 71d39ff..9a00637 100644
--- a/cmds/statsd/src/guardrail/StatsdStats.cpp
+++ b/cmds/statsd/src/guardrail/StatsdStats.cpp
@@ -681,17 +681,18 @@
     dprintf(out, "********Pulled Atom stats***********\n");
     for (const auto& pair : mPulledAtomStats) {
         dprintf(out,
-                "Atom %d->(total pull)%ld, (pull from cache)%ld, (min pull interval)%ld \n"
+                "Atom %d->(total pull)%ld, (pull from cache)%ld, "
+                "(pull failed)%ld, (min pull interval)%ld \n"
                 "  (average pull time nanos)%lld, (max pull time nanos)%lld, (average pull delay "
                 "nanos)%lld, "
                 "  (max pull delay nanos)%lld, (data error)%ld\n"
                 "  (pull timeout)%ld, (pull exceed max delay)%ld\n"
                 "  (registered count) %ld, (unregistered count) %ld\n",
                 (int)pair.first, (long)pair.second.totalPull, (long)pair.second.totalPullFromCache,
-                (long)pair.second.minPullIntervalSec, (long long)pair.second.avgPullTimeNs,
-                (long long)pair.second.maxPullTimeNs, (long long)pair.second.avgPullDelayNs,
-                (long long)pair.second.maxPullDelayNs, pair.second.dataError,
-                pair.second.pullTimeout, pair.second.pullExceedMaxDelay,
+                (long)pair.second.pullFailed, (long)pair.second.minPullIntervalSec,
+                (long long)pair.second.avgPullTimeNs, (long long)pair.second.maxPullTimeNs,
+                (long long)pair.second.avgPullDelayNs, (long long)pair.second.maxPullDelayNs,
+                pair.second.dataError, pair.second.pullTimeout, pair.second.pullExceedMaxDelay,
                 pair.second.registeredCount, pair.second.unregisteredCount);
     }
 
diff --git a/cmds/statsd/src/logd/LogEvent.cpp b/cmds/statsd/src/logd/LogEvent.cpp
index 0430e4e..d9f5415 100644
--- a/cmds/statsd/src/logd/LogEvent.cpp
+++ b/cmds/statsd/src/logd/LogEvent.cpp
@@ -238,9 +238,12 @@
     mLogdTimestampNs = wallClockTimestampNs;
     mElapsedTimestampNs = elapsedTimestampNs;
     mTagId = android::util::TRAIN_INFO;
+
     mValues.push_back(
             FieldValue(Field(mTagId, getSimpleField(1)), Value(trainInfo.trainVersionCode)));
     mValues.push_back(FieldValue(Field(mTagId, getSimpleField(2)), Value(trainInfo.experimentIds)));
+    mValues.push_back(FieldValue(Field(mTagId, getSimpleField(3)), Value(trainInfo.trainName)));
+    mValues.push_back(FieldValue(Field(mTagId, getSimpleField(4)), Value(trainInfo.status)));
 }
 
 LogEvent::LogEvent(int32_t tagId, int64_t timestampNs) : LogEvent(tagId, timestampNs, 0) {}
diff --git a/cmds/statsd/src/logd/LogEvent.h b/cmds/statsd/src/logd/LogEvent.h
index 2fde8b4..753a9a5 100644
--- a/cmds/statsd/src/logd/LogEvent.h
+++ b/cmds/statsd/src/logd/LogEvent.h
@@ -58,6 +58,8 @@
 
 struct InstallTrainInfo {
     int64_t trainVersionCode;
+    std::string trainName;
+    int32_t status;
     std::vector<uint8_t> experimentIds;
 };
 /**
diff --git a/cmds/statsd/src/metrics/CountMetricProducer.cpp b/cmds/statsd/src/metrics/CountMetricProducer.cpp
index 254d7d5..c023e6f 100644
--- a/cmds/statsd/src/metrics/CountMetricProducer.cpp
+++ b/cmds/statsd/src/metrics/CountMetricProducer.cpp
@@ -319,10 +319,11 @@
         return;
     }
 
-    flushCurrentBucketLocked(eventTimeNs, eventTimeNs);
     // Setup the bucket start time and number.
     int64_t numBucketsForward = 1 + (eventTimeNs - currentBucketEndTimeNs) / mBucketSizeNs;
-    mCurrentBucketStartTimeNs = currentBucketEndTimeNs + (numBucketsForward - 1) * mBucketSizeNs;
+    int64_t nextBucketNs = currentBucketEndTimeNs + (numBucketsForward - 1) * mBucketSizeNs;
+    flushCurrentBucketLocked(eventTimeNs, nextBucketNs);
+
     mCurrentBucketNum += numBucketsForward;
     VLOG("metric %lld: new bucket start time: %lld", (long long)mMetricId,
          (long long)mCurrentBucketStartTimeNs);
@@ -375,6 +376,7 @@
     // Only resets the counters, but doesn't setup the times nor numbers.
     // (Do not clear since the old one is still referenced in mAnomalyTrackers).
     mCurrentSlicedCounter = std::make_shared<DimToValMap>();
+    mCurrentBucketStartTimeNs = nextBucketStartTimeNs;
 }
 
 // Rough estimate of CountMetricProducer buffer stored. This number will be
diff --git a/cmds/statsd/src/metrics/DurationMetricProducer.cpp b/cmds/statsd/src/metrics/DurationMetricProducer.cpp
index 7dc4e2d..615c7f2 100644
--- a/cmds/statsd/src/metrics/DurationMetricProducer.cpp
+++ b/cmds/statsd/src/metrics/DurationMetricProducer.cpp
@@ -559,26 +559,10 @@
         return;
     }
     VLOG("flushing...........");
-    for (auto whatIt = mCurrentSlicedDurationTrackerMap.begin();
-            whatIt != mCurrentSlicedDurationTrackerMap.end();) {
-        for (auto it = whatIt->second.begin(); it != whatIt->second.end();) {
-            if (it->second->flushIfNeeded(eventTimeNs, &mPastBuckets)) {
-                VLOG("erase bucket for key %s %s",
-                     whatIt->first.toString().c_str(), it->first.toString().c_str());
-                it = whatIt->second.erase(it);
-            } else {
-                ++it;
-            }
-        }
-        if (whatIt->second.empty()) {
-            whatIt = mCurrentSlicedDurationTrackerMap.erase(whatIt);
-        } else {
-            whatIt++;
-        }
-    }
-
     int numBucketsForward = 1 + (eventTimeNs - currentBucketEndTimeNs) / mBucketSizeNs;
-    mCurrentBucketStartTimeNs = currentBucketEndTimeNs + (numBucketsForward - 1) * mBucketSizeNs;
+    int64_t nextBucketNs = currentBucketEndTimeNs + (numBucketsForward - 1) * mBucketSizeNs;
+    flushCurrentBucketLocked(eventTimeNs, nextBucketNs);
+
     mCurrentBucketNum += numBucketsForward;
 }
 
@@ -602,6 +586,7 @@
         }
     }
     StatsdStats::getInstance().noteBucketCount(mMetricId);
+    mCurrentBucketStartTimeNs = nextBucketStartTimeNs;
 }
 
 void DurationMetricProducer::dumpStatesLocked(FILE* out, bool verbose) const {
diff --git a/cmds/statsd/src/metrics/GaugeMetricProducer.cpp b/cmds/statsd/src/metrics/GaugeMetricProducer.cpp
index 2b6cac8..2f9afa5 100644
--- a/cmds/statsd/src/metrics/GaugeMetricProducer.cpp
+++ b/cmds/statsd/src/metrics/GaugeMetricProducer.cpp
@@ -529,11 +529,11 @@
         return;
     }
 
-    flushCurrentBucketLocked(eventTimeNs, eventTimeNs);
-
     // Adjusts the bucket start and end times.
     int64_t numBucketsForward = 1 + (eventTimeNs - currentBucketEndTimeNs) / mBucketSizeNs;
-    mCurrentBucketStartTimeNs = currentBucketEndTimeNs + (numBucketsForward - 1) * mBucketSizeNs;
+    int64_t nextBucketNs = currentBucketEndTimeNs + (numBucketsForward - 1) * mBucketSizeNs;
+    flushCurrentBucketLocked(eventTimeNs, nextBucketNs);
+
     mCurrentBucketNum += numBucketsForward;
     VLOG("Gauge metric %lld: new bucket start time: %lld", (long long)mMetricId,
          (long long)mCurrentBucketStartTimeNs);
@@ -578,6 +578,7 @@
 
     StatsdStats::getInstance().noteBucketCount(mMetricId);
     mCurrentSlicedBucket = std::make_shared<DimToGaugeAtomsMap>();
+    mCurrentBucketStartTimeNs = nextBucketStartTimeNs;
 }
 
 size_t GaugeMetricProducer::byteSizeLocked() const {
diff --git a/cmds/statsd/src/metrics/ValueMetricProducer.cpp b/cmds/statsd/src/metrics/ValueMetricProducer.cpp
index 27ee570..18bfdfc 100644
--- a/cmds/statsd/src/metrics/ValueMetricProducer.cpp
+++ b/cmds/statsd/src/metrics/ValueMetricProducer.cpp
@@ -787,7 +787,6 @@
     }
 
     int64_t numBucketsForward = calcBucketsForwardCount(eventTimeNs);
-    mCurrentBucketNum += numBucketsForward;
     if (numBucketsForward > 1) {
         VLOG("Skipping forward %lld buckets", (long long)numBucketsForward);
         StatsdStats::getInstance().noteSkippedForwardBuckets(mMetricId);
@@ -816,10 +815,9 @@
         mSkippedBuckets.emplace_back(mCurrentBucketStartTimeNs, bucketEndTime);
     }
 
-    if (!mCurrentBucketIsInvalid) {
-        appendToFullBucket(eventTimeNs, fullBucketEndTimeNs);
-    }
+    appendToFullBucket(eventTimeNs, fullBucketEndTimeNs);
     initCurrentSlicedBucket(nextBucketStartTimeNs);
+    mCurrentBucketNum += numBucketsForward;
 }
 
 ValueBucket ValueMetricProducer::buildPartialBucket(int64_t bucketEndTime,
@@ -879,7 +877,17 @@
 }
 
 void ValueMetricProducer::appendToFullBucket(int64_t eventTimeNs, int64_t fullBucketEndTimeNs) {
-    if (eventTimeNs > fullBucketEndTimeNs) {  // If full bucket, send to anomaly tracker.
+    bool isFullBucketReached = eventTimeNs > fullBucketEndTimeNs;
+    if (mCurrentBucketIsInvalid) {
+        if (isFullBucketReached) {
+            // If the bucket is invalid, we ignore the full bucket since it contains invalid data.
+            mCurrentFullBucket.clear();
+        }
+        // Current bucket is invalid, we do not add it to the full bucket.
+        return;
+    }
+
+    if (isFullBucketReached) {  // If full bucket, send to anomaly tracker.
         // Accumulate partial buckets with current value and then send to anomaly tracker.
         if (mCurrentFullBucket.size() > 0) {
             for (const auto& slice : mCurrentSlicedBucket) {
@@ -887,7 +895,10 @@
                     continue;
                 }
                 // TODO: fix this when anomaly can accept double values
-                mCurrentFullBucket[slice.first] += slice.second[0].value.long_value;
+                auto& interval = slice.second[0];
+                if (interval.hasValue) {
+                    mCurrentFullBucket[slice.first] += interval.value.long_value;
+                }
             }
             for (const auto& slice : mCurrentFullBucket) {
                 for (auto& tracker : mAnomalyTrackers) {
@@ -903,8 +914,11 @@
                 for (auto& tracker : mAnomalyTrackers) {
                     if (tracker != nullptr) {
                         // TODO: fix this when anomaly can accept double values
-                        tracker->addPastBucket(slice.first, slice.second[0].value.long_value,
-                                               mCurrentBucketNum);
+                        auto& interval = slice.second[0];
+                        if (interval.hasValue) {
+                            tracker->addPastBucket(slice.first, interval.value.long_value,
+                                                   mCurrentBucketNum);
+                        }
                     }
                 }
             }
@@ -913,7 +927,10 @@
         // Accumulate partial bucket.
         for (const auto& slice : mCurrentSlicedBucket) {
             // TODO: fix this when anomaly can accept double values
-            mCurrentFullBucket[slice.first] += slice.second[0].value.long_value;
+            auto& interval = slice.second[0];
+            if (interval.hasValue) {
+                mCurrentFullBucket[slice.first] += interval.value.long_value;
+            }
         }
     }
 }
diff --git a/cmds/statsd/src/metrics/ValueMetricProducer.h b/cmds/statsd/src/metrics/ValueMetricProducer.h
index f317c37..12cec5d 100644
--- a/cmds/statsd/src/metrics/ValueMetricProducer.h
+++ b/cmds/statsd/src/metrics/ValueMetricProducer.h
@@ -178,7 +178,7 @@
 
     void pullAndMatchEventsLocked(const int64_t timestampNs, ConditionState condition);
 
-    void accumulateEvents(const std::vector<std::shared_ptr<LogEvent>>& allData, 
+    void accumulateEvents(const std::vector<std::shared_ptr<LogEvent>>& allData,
                           int64_t originalPullTimeNs, int64_t eventElapsedTimeNs,
                           ConditionState condition);
 
@@ -244,6 +244,7 @@
     FRIEND_TEST(ValueMetricProducerTest, TestEmptyDataResetsBase_onDataPulled);
     FRIEND_TEST(ValueMetricProducerTest, TestEventsWithNonSlicedCondition);
     FRIEND_TEST(ValueMetricProducerTest, TestFirstBucket);
+    FRIEND_TEST(ValueMetricProducerTest, TestFullBucketResetWhenLastBucketInvalid);
     FRIEND_TEST(ValueMetricProducerTest, TestInvalidBucketWhenGuardRailHit);
     FRIEND_TEST(ValueMetricProducerTest, TestInvalidBucketWhenInitialPullFailed);
     FRIEND_TEST(ValueMetricProducerTest, TestInvalidBucketWhenLastPullFailed);
diff --git a/cmds/statsd/src/shell/ShellSubscriber.cpp b/cmds/statsd/src/shell/ShellSubscriber.cpp
index 52d5ffc..f7e32d4 100644
--- a/cmds/statsd/src/shell/ShellSubscriber.cpp
+++ b/cmds/statsd/src/shell/ShellSubscriber.cpp
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-#define DEBUG true  // STOPSHIP if true
+#define DEBUG false  // STOPSHIP if true
 #include "Log.h"
 
 #include "ShellSubscriber.h"
diff --git a/cmds/statsd/src/statsd_config.proto b/cmds/statsd/src/statsd_config.proto
index 5c6d548..0e91f52 100644
--- a/cmds/statsd/src/statsd_config.proto
+++ b/cmds/statsd/src/statsd_config.proto
@@ -324,6 +324,12 @@
     EXPLICIT = 1;
   }
   optional Destination dest = 2;
+
+  // Package name of the incident report receiver.
+  optional string receiver_pkg = 3;
+
+  // Class name of the incident report receiver.
+  optional string receiver_cls = 4;
 }
 
 message PerfettoDetails {
diff --git a/cmds/statsd/src/storage/StorageManager.cpp b/cmds/statsd/src/storage/StorageManager.cpp
index 165e57c..65b183c 100644
--- a/cmds/statsd/src/storage/StorageManager.cpp
+++ b/cmds/statsd/src/storage/StorageManager.cpp
@@ -95,8 +95,8 @@
     close(fd);
 }
 
-bool StorageManager::writeTrainInfo(int64_t trainVersionCode,
-                                    const std::vector<uint8_t>& experimentIds) {
+bool StorageManager::writeTrainInfo(int64_t trainVersionCode, const std::string& trainName,
+                                    int32_t status, const std::vector<uint8_t>& experimentIds) {
     std::lock_guard<std::mutex> lock(sTrainInfoMutex);
 
     deleteAllFiles(TRAIN_INFO_DIR);
@@ -109,17 +109,59 @@
         return false;
     }
 
-    size_t result = write(fd, experimentIds.data(), experimentIds.size());
+    size_t result;
+
+    // Write # of bytes in trainName to file
+    const size_t trainNameSize = trainName.size();
+    const size_t trainNameSizeByteCount = sizeof(trainNameSize);
+    result = write(fd, (uint8_t*)&trainNameSize, trainNameSizeByteCount);
+    if (result != trainNameSizeByteCount) {
+        VLOG("Failed to write train name size for %s", file_name.c_str());
+        close(fd);
+        return false;
+    }
+
+    // Write trainName to file
+    result = write(fd, trainName.c_str(), trainNameSize);
+    if (result != trainNameSize) {
+        VLOG("Failed to write train name for%s", file_name.c_str());
+        close(fd);
+        return false;
+    }
+
+    // Write status to file
+    const size_t statusByteCount = sizeof(status);
+    result = write(fd, (uint8_t*)&status, statusByteCount);
+    if (result != statusByteCount) {
+        VLOG("Failed to write status for %s", file_name.c_str());
+        close(fd);
+        return false;
+    }
+
+    // Write experiment id size to file.
+    const size_t experimentIdSize = experimentIds.size();
+    const size_t experimentIdsSizeByteCount = sizeof(experimentIdSize);
+    result = write(fd, (uint8_t*) &experimentIdSize, experimentIdsSizeByteCount);
+    if (result != experimentIdsSizeByteCount) {
+        VLOG("Failed to write experiment id size for %s", file_name.c_str());
+        close(fd);
+        return false;
+    }
+
+    // Write experimentIds to file
+    result = write(fd, experimentIds.data(), experimentIds.size());
     if (result == experimentIds.size()) {
         VLOG("Successfully wrote %s", file_name.c_str());
     } else {
-        VLOG("Failed to write %s", file_name.c_str());
+        VLOG("Failed to write experiment ids for %s", file_name.c_str());
+        close(fd);
         return false;
     }
 
     result = fchown(fd, AID_STATSD, AID_STATSD);
     if (result) {
         VLOG("Failed to chown %s to statsd", file_name.c_str());
+        close(fd);
         return false;
     }
 
@@ -143,19 +185,73 @@
         if (name[0] == '.') {
             continue;
         }
+
+        size_t result;
+
         trainInfo.trainVersionCode = StrToInt64(name);
         string fullPath = StringPrintf("%s/%s", TRAIN_INFO_DIR, name);
         int fd = open(fullPath.c_str(), O_RDONLY | O_CLOEXEC);
-        if (fd != -1) {
-            string str;
-            if (android::base::ReadFdToString(fd, &str)) {
-                close(fd);
-                std::copy(str.begin(), str.end(), std::back_inserter(trainInfo.experimentIds));
-                VLOG("Read train info file successful: %s", fullPath.c_str());
-                return true;
-            }
+        if (fd == -1) {
+            return false;
         }
+
+        // Read # of bytes taken by trainName in the file.
+        size_t trainNameSize;
+        result = read(fd, &trainNameSize, sizeof(size_t));
+        if (result != sizeof(size_t)) {
+            VLOG("Failed to read train name size from file %s", fullPath.c_str());
+            close(fd);
+            return false;
+        }
+
+        // Read trainName
+        trainInfo.trainName.resize(trainNameSize);
+        result = read(fd, trainInfo.trainName.data(), trainNameSize);
+        if (result != trainNameSize) {
+            VLOG("Failed to read train name from file %s", fullPath.c_str());
+            close(fd);
+            return false;
+        }
+
+        // Read status
+        const size_t statusByteCount = sizeof(trainInfo.status);
+        result = read(fd, &trainInfo.status, statusByteCount);
+        if (result != statusByteCount) {
+            VLOG("Failed to read train status from file %s", fullPath.c_str());
+            close(fd);
+            return false;
+        }
+
+        // Read experiment ids size.
+        size_t experimentIdSize;
+        result = read(fd, &experimentIdSize, sizeof(size_t));
+        if (result != sizeof(size_t)) {
+            VLOG("Failed to read train experiment id size from file %s", fullPath.c_str());
+            close(fd);
+            return false;
+        }
+
+        // Read experimentIds
+        trainInfo.experimentIds.resize(experimentIdSize);
+        result = read(fd, trainInfo.experimentIds.data(), experimentIdSize);
+        if (result != experimentIdSize) {
+            VLOG("Failed to read train experiment ids from file %s", fullPath.c_str());
+            close(fd);
+            return false;
+        }
+
+        // Expect to be at EOF.
+        char c;
+        result = read(fd, &c, 1);
+        if (result != 0) {
+            VLOG("Failed to read train info from file %s. Did not get expected EOF.", fullPath.c_str());
+            close(fd);
+            return false;
+        }
+
+        VLOG("Read train info file successful: %s", fullPath.c_str());
         close(fd);
+        return true;
     }
     return false;
 }
diff --git a/cmds/statsd/src/storage/StorageManager.h b/cmds/statsd/src/storage/StorageManager.h
index d6df867..88280cf 100644
--- a/cmds/statsd/src/storage/StorageManager.h
+++ b/cmds/statsd/src/storage/StorageManager.h
@@ -44,7 +44,8 @@
     /**
      * Writes train info.
      */
-    static bool writeTrainInfo(int64_t trainVersionCode, const std::vector<uint8_t>& experimentIds);
+    static bool writeTrainInfo(int64_t trainVersionCode, const std::string& trainName,
+                               int32_t status, const std::vector<uint8_t>& experimentIds);
 
     /**
      * Reads train info.
diff --git a/cmds/statsd/src/subscriber/IncidentdReporter.cpp b/cmds/statsd/src/subscriber/IncidentdReporter.cpp
index 0ed2d75..7c2d242 100644
--- a/cmds/statsd/src/subscriber/IncidentdReporter.cpp
+++ b/cmds/statsd/src/subscriber/IncidentdReporter.cpp
@@ -162,6 +162,10 @@
     }
     incidentReport.setDest(dest);
 
+    incidentReport.setReceiverPkg(config.receiver_pkg());
+
+    incidentReport.setReceiverCls(config.receiver_cls());
+
     sp<IIncidentManager> service = interface_cast<IIncidentManager>(
             defaultServiceManager()->getService(android::String16("incident")));
     if (service == nullptr) {
diff --git a/cmds/statsd/tests/e2e/PartialBucket_e2e_test.cpp b/cmds/statsd/tests/e2e/PartialBucket_e2e_test.cpp
index ef3643f..3dff7f5 100644
--- a/cmds/statsd/tests/e2e/PartialBucket_e2e_test.cpp
+++ b/cmds/statsd/tests/e2e/PartialBucket_e2e_test.cpp
@@ -46,7 +46,7 @@
     IPCThreadState* ipc = IPCThreadState::self();
     ConfigKey configKey(ipc->getCallingUid(), kConfigKey);
     processor->onDumpReport(configKey, timestamp, include_current /* include_current_bucket*/,
-                            true /* erase_data */, ADB_DUMP, FAST, &output);
+                            true /* erase_data */, ADB_DUMP, NO_TIME_CONSTRAINTS, &output);
     ConfigMetricsReportList reports;
     reports.ParseFromArray(output.data(), output.size());
     EXPECT_EQ(1, reports.reports_size());
diff --git a/cmds/statsd/tests/e2e/ValueMetric_pull_e2e_test.cpp b/cmds/statsd/tests/e2e/ValueMetric_pull_e2e_test.cpp
index cdb5a78..b316562 100644
--- a/cmds/statsd/tests/e2e/ValueMetric_pull_e2e_test.cpp
+++ b/cmds/statsd/tests/e2e/ValueMetric_pull_e2e_test.cpp
@@ -75,7 +75,7 @@
             mAllMetricProducers[0]->getCurrentBucketNum();
     EXPECT_GT(startBucketNum, (int64_t)0);
 
-    // When creating the config, the gauge metric producer should register the alarm at the
+    // When creating the config, the value metric producer should register the alarm at the
     // end of the current bucket.
     EXPECT_EQ((size_t)1, processor->mPullerManager->mReceivers.size());
     EXPECT_EQ(bucketSizeNs,
@@ -140,32 +140,30 @@
     EXPECT_EQ(1 /* subsystem name field */,
               data.dimensions_in_what().value_tuple().dimensions_value(0).field());
     EXPECT_FALSE(data.dimensions_in_what().value_tuple().dimensions_value(0).value_str().empty());
-    EXPECT_EQ(5, data.bucket_info_size());
+    // We have 4 buckets, the first one was incomplete since the condition was unknown.
+    EXPECT_EQ(4, data.bucket_info_size());
 
-    EXPECT_EQ(baseTimeNs + 2 * bucketSizeNs, data.bucket_info(0).start_bucket_elapsed_nanos());
-    EXPECT_EQ(baseTimeNs + 3 * bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
+    EXPECT_EQ(baseTimeNs + 3 * bucketSizeNs, data.bucket_info(0).start_bucket_elapsed_nanos());
+    EXPECT_EQ(baseTimeNs + 4 * bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
     EXPECT_EQ(1, data.bucket_info(0).values_size());
 
-    EXPECT_EQ(baseTimeNs + 3 * bucketSizeNs, data.bucket_info(1).start_bucket_elapsed_nanos());
-    EXPECT_EQ(baseTimeNs + 4 * bucketSizeNs, data.bucket_info(1).end_bucket_elapsed_nanos());
+    EXPECT_EQ(baseTimeNs + 4 * bucketSizeNs, data.bucket_info(1).start_bucket_elapsed_nanos());
+    EXPECT_EQ(baseTimeNs + 5 * bucketSizeNs, data.bucket_info(1).end_bucket_elapsed_nanos());
     EXPECT_EQ(1, data.bucket_info(1).values_size());
 
-    EXPECT_EQ(baseTimeNs + 4 * bucketSizeNs, data.bucket_info(2).start_bucket_elapsed_nanos());
-    EXPECT_EQ(baseTimeNs + 5 * bucketSizeNs, data.bucket_info(2).end_bucket_elapsed_nanos());
+    EXPECT_EQ(baseTimeNs + 6 * bucketSizeNs, data.bucket_info(2).start_bucket_elapsed_nanos());
+    EXPECT_EQ(baseTimeNs + 7 * bucketSizeNs, data.bucket_info(2).end_bucket_elapsed_nanos());
     EXPECT_EQ(1, data.bucket_info(2).values_size());
 
-    EXPECT_EQ(baseTimeNs + 6 * bucketSizeNs, data.bucket_info(3).start_bucket_elapsed_nanos());
-    EXPECT_EQ(baseTimeNs + 7 * bucketSizeNs, data.bucket_info(3).end_bucket_elapsed_nanos());
+    EXPECT_EQ(baseTimeNs + 7 * bucketSizeNs, data.bucket_info(3).start_bucket_elapsed_nanos());
+    EXPECT_EQ(baseTimeNs + 8 * bucketSizeNs, data.bucket_info(3).end_bucket_elapsed_nanos());
     EXPECT_EQ(1, data.bucket_info(3).values_size());
-
-    EXPECT_EQ(baseTimeNs + 7 * bucketSizeNs, data.bucket_info(4).start_bucket_elapsed_nanos());
-    EXPECT_EQ(baseTimeNs + 8 * bucketSizeNs, data.bucket_info(4).end_bucket_elapsed_nanos());
-    EXPECT_EQ(1, data.bucket_info(4).values_size());
 }
 
 TEST(ValueMetricE2eTest, TestPulledEvents_LateAlarm) {
     auto config = CreateStatsdConfig();
     int64_t baseTimeNs = getElapsedRealtimeNs();
+    // 10 mins == 2 bucket durations.
     int64_t configAddedTimeNs = 10 * 60 * NS_PER_SEC + baseTimeNs;
     int64_t bucketSizeNs =
         TimeUnitToBucketSizeInMillis(config.value_metric(0).bucket()) * 1000000;
@@ -181,7 +179,7 @@
             mAllMetricProducers[0]->getCurrentBucketNum();
     EXPECT_GT(startBucketNum, (int64_t)0);
 
-    // When creating the config, the gauge metric producer should register the alarm at the
+    // When creating the config, the value metric producer should register the alarm at the
     // end of the current bucket.
     EXPECT_EQ((size_t)1, processor->mPullerManager->mReceivers.size());
     EXPECT_EQ(bucketSizeNs,
@@ -203,15 +201,18 @@
                                                    configAddedTimeNs + 75);
     processor->OnLogEvent(screenOffEvent.get());
 
-    // Pulling alarm arrives late by 2 buckets and 1 ns.
+    // Pulling alarm arrives late by 2 buckets and 1 ns. 2 buckets late is too far away in the
+    // future, data will be skipped.
     processor->informPullAlarmFired(expectedPullTimeNs + 2 * bucketSizeNs + 1);
     EXPECT_EQ(baseTimeNs + startBucketNum * bucketSizeNs + 4 * bucketSizeNs, expectedPullTimeNs);
 
+    // This screen state change will start a new bucket.
     screenOnEvent = CreateScreenStateChangedEvent(android::view::DISPLAY_STATE_ON,
                                                        configAddedTimeNs + 4 * bucketSizeNs + 65);
     processor->OnLogEvent(screenOnEvent.get());
 
-    // Pulling alarm arrives late by one bucket size + 21ns.
+    // The alarm is delayed but we already created a bucket thanks to the screen state condition.
+    // This bucket does not have to be skipped since the alarm arrives in time for the next bucket.
     processor->informPullAlarmFired(expectedPullTimeNs + bucketSizeNs + 21);
     EXPECT_EQ(baseTimeNs + startBucketNum * bucketSizeNs + 6 * bucketSizeNs, expectedPullTimeNs);
 
@@ -249,8 +250,8 @@
     EXPECT_FALSE(data.dimensions_in_what().value_tuple().dimensions_value(0).value_str().empty());
     EXPECT_EQ(3, data.bucket_info_size());
 
-    EXPECT_EQ(baseTimeNs + 2 * bucketSizeNs, data.bucket_info(0).start_bucket_elapsed_nanos());
-    EXPECT_EQ(baseTimeNs + 3 * bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
+    EXPECT_EQ(baseTimeNs + 5 * bucketSizeNs, data.bucket_info(0).start_bucket_elapsed_nanos());
+    EXPECT_EQ(baseTimeNs + 6 * bucketSizeNs, data.bucket_info(0).end_bucket_elapsed_nanos());
     EXPECT_EQ(1, data.bucket_info(0).values_size());
 
     EXPECT_EQ(baseTimeNs + 8 * bucketSizeNs, data.bucket_info(1).start_bucket_elapsed_nanos());
diff --git a/cmds/statsd/tests/external/GpuStatsPuller_test.cpp b/cmds/statsd/tests/external/GpuStatsPuller_test.cpp
new file mode 100644
index 0000000..8625487
--- /dev/null
+++ b/cmds/statsd/tests/external/GpuStatsPuller_test.cpp
@@ -0,0 +1,152 @@
+/*
+ * Copyright 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.
+ */
+
+#undef LOG_TAG
+#define LOG_TAG "GpuStatsPuller_test"
+
+#include <gmock/gmock.h>
+#include <gtest/gtest.h>
+
+#include <graphicsenv/GpuStatsInfo.h>
+#include <log/log.h>
+
+#include "src/external/GpuStatsPuller.h"
+
+#ifdef __ANDROID__
+
+namespace android {
+namespace os {
+namespace statsd {
+
+// clang-format off
+static const std::string DRIVER_PACKAGE_NAME    = "TEST_DRIVER";
+static const std::string DRIVER_VERSION_NAME    = "TEST_DRIVER_VERSION";
+static const std::string APP_PACKAGE_NAME       = "TEST_APP";
+static const int64_t TIMESTAMP_WALLCLOCK        = 111;
+static const int64_t TIMESTAMP_ELAPSED          = 222;
+static const int64_t DRIVER_VERSION_CODE        = 333;
+static const int64_t DRIVER_BUILD_TIME          = 444;
+static const int64_t GL_LOADING_COUNT           = 3;
+static const int64_t GL_LOADING_FAILURE_COUNT   = 1;
+static const int64_t VK_LOADING_COUNT           = 4;
+static const int64_t VK_LOADING_FAILURE_COUNT   = 0;
+static const int64_t GL_DRIVER_LOADING_TIME_0   = 555;
+static const int64_t GL_DRIVER_LOADING_TIME_1   = 666;
+static const int64_t VK_DRIVER_LOADING_TIME_0   = 777;
+static const int64_t VK_DRIVER_LOADING_TIME_1   = 888;
+static const int64_t VK_DRIVER_LOADING_TIME_2   = 999;
+static const size_t NUMBER_OF_VALUES_GLOBAL     = 8;
+static const size_t NUMBER_OF_VALUES_APP        = 4;
+// clang-format on
+
+class MockGpuStatsPuller : public GpuStatsPuller {
+public:
+    MockGpuStatsPuller(const int tagId, vector<std::shared_ptr<LogEvent>>* data)
+        : GpuStatsPuller(tagId), mData(data){};
+
+private:
+    bool PullInternal(vector<std::shared_ptr<LogEvent>>* data) override {
+        *data = *mData;
+        return true;
+    }
+
+    vector<std::shared_ptr<LogEvent>>* mData;
+};
+
+class GpuStatsPuller_test : public ::testing::Test {
+public:
+    GpuStatsPuller_test() {
+        const ::testing::TestInfo* const test_info =
+                ::testing::UnitTest::GetInstance()->current_test_info();
+        ALOGD("**** Setting up for %s.%s\n", test_info->test_case_name(), test_info->name());
+    }
+
+    ~GpuStatsPuller_test() {
+        const ::testing::TestInfo* const test_info =
+                ::testing::UnitTest::GetInstance()->current_test_info();
+        ALOGD("**** Tearing down after %s.%s\n", test_info->test_case_name(), test_info->name());
+    }
+};
+
+TEST_F(GpuStatsPuller_test, PullGpuStatsGlobalInfo) {
+    vector<std::shared_ptr<LogEvent>> inData, outData;
+    std::shared_ptr<LogEvent> event = make_shared<LogEvent>(android::util::GPU_STATS_GLOBAL_INFO,
+                                                            TIMESTAMP_WALLCLOCK, TIMESTAMP_ELAPSED);
+    EXPECT_TRUE(event->write(DRIVER_PACKAGE_NAME));
+    EXPECT_TRUE(event->write(DRIVER_VERSION_NAME));
+    EXPECT_TRUE(event->write(DRIVER_VERSION_CODE));
+    EXPECT_TRUE(event->write(DRIVER_BUILD_TIME));
+    EXPECT_TRUE(event->write(GL_LOADING_COUNT));
+    EXPECT_TRUE(event->write(GL_LOADING_FAILURE_COUNT));
+    EXPECT_TRUE(event->write(VK_LOADING_COUNT));
+    EXPECT_TRUE(event->write(VK_LOADING_FAILURE_COUNT));
+    event->init();
+    inData.emplace_back(event);
+    MockGpuStatsPuller mockPuller(android::util::GPU_STATS_GLOBAL_INFO, &inData);
+    mockPuller.ForceClearCache();
+    mockPuller.Pull(&outData);
+
+    ASSERT_EQ(1, outData.size());
+    EXPECT_EQ(android::util::GPU_STATS_GLOBAL_INFO, outData[0]->GetTagId());
+    ASSERT_EQ(NUMBER_OF_VALUES_GLOBAL, outData[0]->size());
+    EXPECT_EQ(DRIVER_PACKAGE_NAME, outData[0]->getValues()[0].mValue.str_value);
+    EXPECT_EQ(DRIVER_VERSION_NAME, outData[0]->getValues()[1].mValue.str_value);
+    EXPECT_EQ(DRIVER_VERSION_CODE, outData[0]->getValues()[2].mValue.long_value);
+    EXPECT_EQ(DRIVER_BUILD_TIME, outData[0]->getValues()[3].mValue.long_value);
+    EXPECT_EQ(GL_LOADING_COUNT, outData[0]->getValues()[4].mValue.long_value);
+    EXPECT_EQ(GL_LOADING_FAILURE_COUNT, outData[0]->getValues()[5].mValue.long_value);
+    EXPECT_EQ(VK_LOADING_COUNT, outData[0]->getValues()[6].mValue.long_value);
+    EXPECT_EQ(VK_LOADING_FAILURE_COUNT, outData[0]->getValues()[7].mValue.long_value);
+}
+
+TEST_F(GpuStatsPuller_test, PullGpuStatsAppInfo) {
+    vector<std::shared_ptr<LogEvent>> inData, outData;
+    std::shared_ptr<LogEvent> event = make_shared<LogEvent>(android::util::GPU_STATS_APP_INFO,
+                                                            TIMESTAMP_WALLCLOCK, TIMESTAMP_ELAPSED);
+    EXPECT_TRUE(event->write(APP_PACKAGE_NAME));
+    EXPECT_TRUE(event->write(DRIVER_VERSION_CODE));
+    std::vector<int64_t> glDriverLoadingTime;
+    glDriverLoadingTime.emplace_back(GL_DRIVER_LOADING_TIME_0);
+    glDriverLoadingTime.emplace_back(GL_DRIVER_LOADING_TIME_1);
+    std::vector<int64_t> vkDriverLoadingTime;
+    vkDriverLoadingTime.emplace_back(VK_DRIVER_LOADING_TIME_0);
+    vkDriverLoadingTime.emplace_back(VK_DRIVER_LOADING_TIME_1);
+    vkDriverLoadingTime.emplace_back(VK_DRIVER_LOADING_TIME_2);
+    EXPECT_TRUE(event->write(int64VectorToProtoByteString(glDriverLoadingTime)));
+    EXPECT_TRUE(event->write(int64VectorToProtoByteString(vkDriverLoadingTime)));
+    event->init();
+    inData.emplace_back(event);
+    MockGpuStatsPuller mockPuller(android::util::GPU_STATS_APP_INFO, &inData);
+    mockPuller.ForceClearCache();
+    mockPuller.Pull(&outData);
+
+    ASSERT_EQ(1, outData.size());
+    EXPECT_EQ(android::util::GPU_STATS_APP_INFO, outData[0]->GetTagId());
+    ASSERT_EQ(NUMBER_OF_VALUES_APP, outData[0]->size());
+    EXPECT_EQ(APP_PACKAGE_NAME, outData[0]->getValues()[0].mValue.str_value);
+    EXPECT_EQ(DRIVER_VERSION_CODE, outData[0]->getValues()[1].mValue.long_value);
+    EXPECT_EQ(int64VectorToProtoByteString(glDriverLoadingTime),
+              outData[0]->getValues()[2].mValue.str_value);
+    EXPECT_EQ(int64VectorToProtoByteString(vkDriverLoadingTime),
+              outData[0]->getValues()[3].mValue.str_value);
+}
+
+}  // namespace statsd
+}  // namespace os
+}  // namespace android
+#else
+GTEST_LOG_(INFO) << "This test does nothing.\n";
+#endif
diff --git a/cmds/statsd/tests/external/IncidentReportArgs_test.cpp b/cmds/statsd/tests/external/IncidentReportArgs_test.cpp
new file mode 100644
index 0000000..c170b12
--- /dev/null
+++ b/cmds/statsd/tests/external/IncidentReportArgs_test.cpp
@@ -0,0 +1,72 @@
+// 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.
+
+#include <android/os/IncidentReportArgs.h>
+
+#include <gtest/gtest.h>
+
+namespace android {
+namespace os {
+namespace statsd {
+
+TEST(IncidentReportArgsTest, testSerialization) {
+    IncidentReportArgs args;
+    args.setAll(0);
+    args.addSection(1000);
+    args.addSection(1001);
+
+    vector<uint8_t> header1;
+    header1.push_back(0x1);
+    header1.push_back(0x2);
+    vector<uint8_t> header2;
+    header1.push_back(0x22);
+    header1.push_back(0x33);
+
+    args.addHeader(header1);
+    args.addHeader(header2);
+
+    args.setDest(1);
+
+    args.setReceiverPkg("com.android.os");
+    args.setReceiverCls("com.android.os.Receiver");
+
+    Parcel out;
+    status_t err = args.writeToParcel(&out);
+    EXPECT_EQ(NO_ERROR, err);
+
+    out.setDataPosition(0);
+
+    IncidentReportArgs args2;
+    err = args2.readFromParcel(&out);
+    EXPECT_EQ(NO_ERROR, err);
+
+    EXPECT_EQ(0, args2.all());
+    set<int> sections;
+    sections.insert(1000);
+    sections.insert(1001);
+    EXPECT_EQ(sections, args2.sections());
+    EXPECT_EQ(1, args2.dest());
+
+    EXPECT_EQ(String16("com.android.os"), args2.receiverPkg());
+    EXPECT_EQ(String16("com.android.os.Receiver"), args2.receiverCls());
+
+    vector<vector<uint8_t>> headers;
+    headers.push_back(header1);
+    headers.push_back(header2);
+    EXPECT_EQ(headers, args2.headers());
+}
+
+}  // namespace statsd
+}  // namespace os
+}  // namespace android
\ No newline at end of file
diff --git a/cmds/statsd/tests/metrics/ValueMetricProducer_test.cpp b/cmds/statsd/tests/metrics/ValueMetricProducer_test.cpp
index e5e4534..90b9e81 100644
--- a/cmds/statsd/tests/metrics/ValueMetricProducer_test.cpp
+++ b/cmds/statsd/tests/metrics/ValueMetricProducer_test.cpp
@@ -2500,6 +2500,37 @@
     EXPECT_EQ(0UL, valueProducer->mPastBuckets.size());
 }
 
+TEST(ValueMetricProducerTest, TestFullBucketResetWhenLastBucketInvalid) {
+    ValueMetric metric = ValueMetricProducerTestHelper::createMetric();
+
+    sp<MockStatsPullerManager> pullerManager = new StrictMock<MockStatsPullerManager>();
+    EXPECT_CALL(*pullerManager, Pull(tagId, _))
+            // Initialization.
+            .WillOnce(Invoke([](int tagId, vector<std::shared_ptr<LogEvent>>* data) {
+                data->clear();
+                data->push_back(ValueMetricProducerTestHelper::createEvent(bucketStartTimeNs, 1));
+                return true;
+            }))
+            // notifyAppUpgrade.
+            .WillOnce(Invoke([](int tagId, vector<std::shared_ptr<LogEvent>>* data) {
+                data->clear();
+                data->push_back(ValueMetricProducerTestHelper::createEvent(
+                        bucketStartTimeNs + bucketSizeNs / 2, 10));
+                return true;
+            }));
+    sp<ValueMetricProducer> valueProducer =
+            ValueMetricProducerTestHelper::createValueProducerNoConditions(pullerManager, metric);
+    ASSERT_EQ(0UL, valueProducer->mCurrentFullBucket.size());
+
+    valueProducer->notifyAppUpgrade(bucketStartTimeNs + bucketSizeNs / 2, "com.foo", 10000, 1);
+    ASSERT_EQ(1UL, valueProducer->mCurrentFullBucket.size());
+
+    vector<shared_ptr<LogEvent>> allData;
+    allData.push_back(ValueMetricProducerTestHelper::createEvent(bucket3StartTimeNs + 1, 4));
+    valueProducer->onDataPulled(allData, /** fails */ false, bucket3StartTimeNs + 1);
+    ASSERT_EQ(0UL, valueProducer->mCurrentFullBucket.size());
+}
+
 TEST(ValueMetricProducerTest, TestBucketBoundariesOnConditionChange) {
     ValueMetric metric = ValueMetricProducerTestHelper::createMetricWithCondition();
     sp<MockStatsPullerManager> pullerManager = new StrictMock<MockStatsPullerManager>();
diff --git a/cmds/statsd/tests/storage/StorageManager_test.cpp b/cmds/statsd/tests/storage/StorageManager_test.cpp
index f66de05..4564a5d 100644
--- a/cmds/statsd/tests/storage/StorageManager_test.cpp
+++ b/cmds/statsd/tests/storage/StorageManager_test.cpp
@@ -32,16 +32,82 @@
 TEST(StorageManagerTest, TrainInfoReadWriteTest) {
     InstallTrainInfo trainInfo;
     trainInfo.trainVersionCode = 12345;
+    trainInfo.trainName = "This is a train name #)$(&&$";
+    trainInfo.status = 1;
     const char* expIds = "test_ids";
     trainInfo.experimentIds.assign(expIds, expIds + strlen(expIds));
 
-    StorageManager::writeTrainInfo(trainInfo.trainVersionCode, trainInfo.experimentIds);
+    bool result;
 
-    InstallTrainInfo result;
-    StorageManager::readTrainInfo(result);
-    EXPECT_EQ(trainInfo.trainVersionCode, result.trainVersionCode);
-    EXPECT_EQ(trainInfo.experimentIds.size(), result.experimentIds.size());
-    EXPECT_EQ(trainInfo.experimentIds, result.experimentIds);
+    result = StorageManager::writeTrainInfo(trainInfo.trainVersionCode, trainInfo.trainName,
+                                            trainInfo.status, trainInfo.experimentIds);
+
+    EXPECT_TRUE(result);
+
+    InstallTrainInfo trainInfoResult;
+    result = StorageManager::readTrainInfo(trainInfoResult);
+    EXPECT_TRUE(result);
+
+    EXPECT_EQ(trainInfo.trainVersionCode, trainInfoResult.trainVersionCode);
+    EXPECT_EQ(trainInfo.trainName.size(), trainInfoResult.trainName.size());
+    EXPECT_EQ(trainInfo.trainName, trainInfoResult.trainName);
+    EXPECT_EQ(trainInfo.status, trainInfoResult.status);
+    EXPECT_EQ(trainInfo.experimentIds.size(), trainInfoResult.experimentIds.size());
+    EXPECT_EQ(trainInfo.experimentIds, trainInfoResult.experimentIds);
+}
+
+TEST(StorageManagerTest, TrainInfoReadWriteEmptyTrainNameTest) {
+    InstallTrainInfo trainInfo;
+    trainInfo.trainVersionCode = 12345;
+    trainInfo.trainName = "";
+    trainInfo.status = 1;
+    const char* expIds = "test_ids";
+    trainInfo.experimentIds.assign(expIds, expIds + strlen(expIds));
+
+    bool result;
+
+    result = StorageManager::writeTrainInfo(trainInfo.trainVersionCode, trainInfo.trainName,
+                                            trainInfo.status, trainInfo.experimentIds);
+
+    EXPECT_TRUE(result);
+
+    InstallTrainInfo trainInfoResult;
+    result = StorageManager::readTrainInfo(trainInfoResult);
+    EXPECT_TRUE(result);
+
+    EXPECT_EQ(trainInfo.trainVersionCode, trainInfoResult.trainVersionCode);
+    EXPECT_EQ(trainInfo.trainName.size(), trainInfoResult.trainName.size());
+    EXPECT_EQ(trainInfo.trainName, trainInfoResult.trainName);
+    EXPECT_EQ(trainInfo.status, trainInfoResult.status);
+    EXPECT_EQ(trainInfo.experimentIds.size(), trainInfoResult.experimentIds.size());
+    EXPECT_EQ(trainInfo.experimentIds, trainInfoResult.experimentIds);
+}
+
+TEST(StorageManagerTest, TrainInfoReadWriteTrainNameSizeOneTest) {
+    InstallTrainInfo trainInfo;
+    trainInfo.trainVersionCode = 12345;
+    trainInfo.trainName = "{";
+    trainInfo.status = 1;
+    const char* expIds = "test_ids";
+    trainInfo.experimentIds.assign(expIds, expIds + strlen(expIds));
+
+    bool result;
+
+    result = StorageManager::writeTrainInfo(trainInfo.trainVersionCode, trainInfo.trainName,
+                                            trainInfo.status, trainInfo.experimentIds);
+
+    EXPECT_TRUE(result);
+
+    InstallTrainInfo trainInfoResult;
+    result = StorageManager::readTrainInfo(trainInfoResult);
+    EXPECT_TRUE(result);
+
+    EXPECT_EQ(trainInfo.trainVersionCode, trainInfoResult.trainVersionCode);
+    EXPECT_EQ(trainInfo.trainName.size(), trainInfoResult.trainName.size());
+    EXPECT_EQ(trainInfo.trainName, trainInfoResult.trainName);
+    EXPECT_EQ(trainInfo.status, trainInfoResult.status);
+    EXPECT_EQ(trainInfo.experimentIds.size(), trainInfoResult.experimentIds.size());
+    EXPECT_EQ(trainInfo.experimentIds, trainInfoResult.experimentIds);
 }
 
 }  // namespace statsd
diff --git a/config/boot-image-profile.txt b/config/boot-image-profile.txt
index d2535c9..d740961 100644
--- a/config/boot-image-profile.txt
+++ b/config/boot-image-profile.txt
@@ -13,453 +13,418 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-# Do not add Lsun/nio/fs/UnixChannelFactory; to the profile.
-# It has racy befaviour when pre-initialized with FileDescriptor. b/80495283
-#
-#
 HPLandroid/accessibilityservice/AccessibilityServiceInfo;->equals(Ljava/lang/Object;)Z
-HPLandroid/accessibilityservice/AccessibilityServiceInfo;->loadSummary(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
+HPLandroid/accessibilityservice/AccessibilityServiceInfo;->getInteractiveUiTimeoutMillis()I
+HPLandroid/accessibilityservice/AccessibilityServiceInfo;->getNonInteractiveUiTimeoutMillis()I
+HPLandroid/accessibilityservice/AccessibilityServiceInfo;->updateDynamicallyConfigurableProperties(Landroid/accessibilityservice/AccessibilityServiceInfo;)V
 HPLandroid/accessibilityservice/AccessibilityServiceInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/accounts/AbstractAccountAuthenticator$Transport;->addAccount(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)V
+HPLandroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->init(Landroid/accessibilityservice/IAccessibilityServiceConnection;ILandroid/os/IBinder;)V
+HPLandroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;->onAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;Z)V
+HPLandroid/accessibilityservice/IAccessibilityServiceClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accessibilityservice/IAccessibilityServiceClient;
+HPLandroid/accessibilityservice/IAccessibilityServiceConnection$Stub;-><init>()V
+HPLandroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/accessibilityservice/IAccessibilityServiceConnection$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/accounts/AbstractAccountAuthenticator$Transport;->getAccountRemovalAllowed(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;)V
 HPLandroid/accounts/AbstractAccountAuthenticator$Transport;->getAuthToken(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
 HPLandroid/accounts/AbstractAccountAuthenticator$Transport;->hasFeatures(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;[Ljava/lang/String;)V
 HPLandroid/accounts/AbstractAccountAuthenticator;-><init>(Landroid/content/Context;)V
 HPLandroid/accounts/AbstractAccountAuthenticator;->checkBinderPermission()V
+HPLandroid/accounts/AbstractAccountAuthenticator;->getAccountRemovalAllowed(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;)Landroid/os/Bundle;
 HPLandroid/accounts/AbstractAccountAuthenticator;->getIBinder()Landroid/os/IBinder;
+HPLandroid/accounts/Account;-><init>(Landroid/accounts/Account;Ljava/lang/String;)V
 HPLandroid/accounts/Account;->getAccessId()Ljava/lang/String;
+HPLandroid/accounts/Account;->toSafeName(Ljava/lang/String;C)Ljava/lang/String;
+HPLandroid/accounts/Account;->toSafeString()Ljava/lang/String;
 HPLandroid/accounts/AccountAndUser;-><init>(Landroid/accounts/Account;I)V
 HPLandroid/accounts/AccountAndUser;->toString()Ljava/lang/String;
 HPLandroid/accounts/AccountAuthenticatorResponse$1;-><init>()V
-HPLandroid/accounts/AccountAuthenticatorResponse$1;->createFromParcel(Landroid/os/Parcel;)Landroid/accounts/AccountAuthenticatorResponse;
-HPLandroid/accounts/AccountAuthenticatorResponse$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/accounts/AccountAuthenticatorResponse;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/accounts/AccountManager$11;->doWork()V
-HPLandroid/accounts/AccountManager$20;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HPLandroid/accounts/AccountManager$9;->doWork()V
+HPLandroid/accounts/AccountManager$12;->doWork()V
+HPLandroid/accounts/AccountManager$17;->run()V
+HPLandroid/accounts/AccountManager$3;->bundleToResult(Landroid/os/Bundle;)Ljava/lang/Object;
+HPLandroid/accounts/AccountManager$3;->bundleToResult(Landroid/os/Bundle;)[Landroid/accounts/Account;
+HPLandroid/accounts/AccountManager$3;->doWork()V
+HPLandroid/accounts/AccountManager$5;->bundleToResult(Landroid/os/Bundle;)Ljava/lang/Boolean;
+HPLandroid/accounts/AccountManager$5;->bundleToResult(Landroid/os/Bundle;)Ljava/lang/Object;
+HPLandroid/accounts/AccountManager$5;->doWork()V
 HPLandroid/accounts/AccountManager$AmsTask$Response;->onError(ILjava/lang/String;)V
 HPLandroid/accounts/AccountManager$AmsTask;-><init>(Landroid/accounts/AccountManager;Landroid/app/Activity;Landroid/os/Handler;Landroid/accounts/AccountManagerCallback;)V
 HPLandroid/accounts/AccountManager$AmsTask;->getResult(JLjava/util/concurrent/TimeUnit;)Landroid/os/Bundle;
 HPLandroid/accounts/AccountManager$AmsTask;->getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
-HPLandroid/accounts/AccountManager$Future2Task;-><init>(Landroid/accounts/AccountManager;Landroid/os/Handler;Landroid/accounts/AccountManagerCallback;)V
+HPLandroid/accounts/AccountManager$BaseFutureTask;->postRunnableToHandler(Ljava/lang/Runnable;)V
+HPLandroid/accounts/AccountManager$Future2Task$1;->run()V
 HPLandroid/accounts/AccountManager$Future2Task;->getResult(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
-HPLandroid/accounts/AccountManager;->addAccount(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
+HPLandroid/accounts/AccountManager;->addAccountAsUser(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;Landroid/os/UserHandle;)Landroid/accounts/AccountManagerFuture;
 HPLandroid/accounts/AccountManager;->convertErrorToException(ILjava/lang/String;)Ljava/lang/Exception;
-HPLandroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/Activity;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
+HPLandroid/accounts/AccountManager;->getAccountsAndVisibilityForPackage(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
+HPLandroid/accounts/AccountManager;->getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
+HPLandroid/accounts/AccountManager;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
+HPLandroid/accounts/AccountManager;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/accounts/AccountManager;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Z
 HPLandroid/accounts/AccountManager;->invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/accounts/AccountManager;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/accounts/AccountManager;->removeAccount(Landroid/accounts/Account;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
+HPLandroid/accounts/AccountManager;->setAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;I)Z
+HPLandroid/accounts/AccountManager;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/accounts/AccountManager;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
 HPLandroid/accounts/AuthenticatorDescription;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/accounts/IAccountAuthenticator$Stub$Proxy;->getAccountRemovalAllowed(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;)V
 HPLandroid/accounts/IAccountAuthenticator$Stub$Proxy;->getAuthToken(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
 HPLandroid/accounts/IAccountAuthenticator$Stub$Proxy;->hasFeatures(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;[Ljava/lang/String;)V
 HPLandroid/accounts/IAccountAuthenticator$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/accounts/IAccountAuthenticator$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountAuthenticator;
 HPLandroid/accounts/IAccountAuthenticator$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/accounts/IAccountAuthenticator;->addAccount(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)V
-HPLandroid/accounts/IAccountAuthenticator;->addAccountFromCredentials(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)V
-HPLandroid/accounts/IAccountAuthenticator;->confirmCredentials(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)V
-HPLandroid/accounts/IAccountAuthenticator;->editProperties(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;)V
-HPLandroid/accounts/IAccountAuthenticator;->finishSession(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Landroid/os/Bundle;)V
-HPLandroid/accounts/IAccountAuthenticator;->getAccountCredentialsForCloning(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;)V
-HPLandroid/accounts/IAccountAuthenticator;->getAccountRemovalAllowed(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;)V
-HPLandroid/accounts/IAccountAuthenticator;->getAuthToken(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-HPLandroid/accounts/IAccountAuthenticator;->getAuthTokenLabel(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;)V
-HPLandroid/accounts/IAccountAuthenticator;->hasFeatures(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;[Ljava/lang/String;)V
-HPLandroid/accounts/IAccountAuthenticator;->isCredentialsUpdateSuggested(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;)V
-HPLandroid/accounts/IAccountAuthenticator;->startAddAccountSession(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)V
-HPLandroid/accounts/IAccountAuthenticator;->startUpdateCredentialsSession(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-HPLandroid/accounts/IAccountAuthenticator;->updateCredentials(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-HPLandroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;->onResult(Landroid/os/Bundle;)V
 HPLandroid/accounts/IAccountAuthenticatorResponse$Stub;-><init>()V
 HPLandroid/accounts/IAccountAuthenticatorResponse$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/accounts/IAccountAuthenticatorResponse$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/accounts/IAccountAuthenticatorResponse$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/accounts/IAccountAuthenticatorResponse;->onError(ILjava/lang/String;)V
-HPLandroid/accounts/IAccountAuthenticatorResponse;->onRequestContinued()V
-HPLandroid/accounts/IAccountAuthenticatorResponse;->onResult(Landroid/os/Bundle;)V
-HPLandroid/accounts/IAccountManager$Stub$Proxy;->addAccount(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLandroid/os/Bundle;)V
+HPLandroid/accounts/IAccountManager$Stub$Proxy;->addAccountAsUser(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLandroid/os/Bundle;I)V
+HPLandroid/accounts/IAccountManager$Stub$Proxy;->getAccountsAndVisibilityForPackage(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
+HPLandroid/accounts/IAccountManager$Stub$Proxy;->getAccountsByFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/accounts/IAccountManager$Stub$Proxy;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
+HPLandroid/accounts/IAccountManager$Stub$Proxy;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/accounts/IAccountManager$Stub$Proxy;->invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V
-HPLandroid/accounts/IAccountManager$Stub$Proxy;->unregisterAccountListener([Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/accounts/IAccountManager$Stub$Proxy;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/accounts/IAccountManager$Stub$Proxy;->removeAccount(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Z)V
+HPLandroid/accounts/IAccountManager$Stub$Proxy;->setAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;I)Z
+HPLandroid/accounts/IAccountManager$Stub$Proxy;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/accounts/IAccountManager$Stub$Proxy;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
+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;->onError(ILjava/lang/String;)V
 HPLandroid/accounts/IAccountManagerResponse$Stub$Proxy;->onResult(Landroid/os/Bundle;)V
 HPLandroid/accounts/IAccountManagerResponse$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountManagerResponse;
 HPLandroid/animation/Animator$AnimatorConstantState;->getChangingConfigurations()I
-HPLandroid/animation/Animator$AnimatorListener;->onAnimationEnd(Landroid/animation/Animator;)V
-HPLandroid/animation/Animator;-><init>()V
-HPLandroid/animation/Animator;->addPauseListener(Landroid/animation/Animator$AnimatorPauseListener;)V
-HPLandroid/animation/Animator;->end()V
-HPLandroid/animation/Animator;->isInitialized()Z
 HPLandroid/animation/Animator;->pause()V
-HPLandroid/animation/Animator;->pulseAnimationFrame(J)Z
+HPLandroid/animation/Animator;->removeAllListeners()V
 HPLandroid/animation/Animator;->resume()V
-HPLandroid/animation/Animator;->setTarget(Ljava/lang/Object;)V
-HPLandroid/animation/Animator;->skipToEndValue(Z)V
-HPLandroid/animation/Animator;->start()V
-HPLandroid/animation/Animator;->startWithoutPulsing(Z)V
-HPLandroid/animation/AnimatorInflater;->loadAnimator(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;I)Landroid/animation/Animator;
-HPLandroid/animation/AnimatorListenerAdapter;->onAnimationRepeat(Landroid/animation/Animator;)V
-HPLandroid/animation/AnimatorSet$Builder;->after(J)Landroid/animation/AnimatorSet$Builder;
+HPLandroid/animation/AnimatorInflater$PathDataEvaluator;->evaluate(FLandroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;)Landroid/util/PathParser$PathData;
+HPLandroid/animation/AnimatorInflater$PathDataEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/animation/AnimatorListenerAdapter;->onAnimationEnd(Landroid/animation/Animator;)V
 HPLandroid/animation/AnimatorSet$Node;-><init>(Landroid/animation/Animator;)V
-HPLandroid/animation/AnimatorSet$SeekState;->getPlayTime()J
-HPLandroid/animation/AnimatorSet$SeekState;->setPlayTime(JZ)V
-HPLandroid/animation/AnimatorSet$SeekState;->updateSeekDirection(Z)V
-HPLandroid/animation/AnimatorSet;->isRunning()Z
-HPLandroid/animation/AnimatorSet;->setCurrentPlayTime(J)V
+HPLandroid/animation/AnimatorSet;->end()V
+HPLandroid/animation/AnimatorSet;->getNodeForAnimation(Landroid/animation/Animator;)Landroid/animation/AnimatorSet$Node;
 HPLandroid/animation/AnimatorSet;->setStartDelay(J)V
+HPLandroid/animation/AnimatorSet;->shouldPlayTogether()Z
 HPLandroid/animation/AnimatorSet;->skipToEndValue(Z)V
-HPLandroid/animation/FloatArrayEvaluator;-><init>([F)V
-HPLandroid/animation/FloatArrayEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HPLandroid/animation/FloatArrayEvaluator;->evaluate(F[F[F)[F
-HPLandroid/animation/Keyframe$ObjectKeyframe;->setValue(Ljava/lang/Object;)V
+HPLandroid/animation/FloatKeyframeSet;->getValue(F)Ljava/lang/Object;
+HPLandroid/animation/IntKeyframeSet;->getValue(F)Ljava/lang/Object;
+HPLandroid/animation/Keyframe$ObjectKeyframe;->clone()Landroid/animation/Keyframe$ObjectKeyframe;
+HPLandroid/animation/Keyframe$ObjectKeyframe;->clone()Landroid/animation/Keyframe;
+HPLandroid/animation/KeyframeSet;->clone()Landroid/animation/KeyframeSet;
+HPLandroid/animation/KeyframeSet;->clone()Landroid/animation/Keyframes;
+HPLandroid/animation/LayoutTransition$3;->onAnimationCancel(Landroid/animation/Animator;)V
+HPLandroid/animation/LayoutTransition$4;->onAnimationEnd(Landroid/animation/Animator;)V
+HPLandroid/animation/LayoutTransition$5;->onAnimationEnd(Landroid/animation/Animator;)V
 HPLandroid/animation/LayoutTransition$CleanupCallback;->onViewDetachedFromWindow(Landroid/view/View;)V
-HPLandroid/animation/ObjectAnimator;->hasSameTargetAndProperties(Landroid/animation/Animator;)Z
-HPLandroid/animation/ObjectAnimator;->ofArgb(Ljava/lang/Object;Landroid/util/Property;[I)Landroid/animation/ObjectAnimator;
+HPLandroid/animation/LayoutTransition;->isTransitionTypeEnabled(I)Z
+HPLandroid/animation/LayoutTransition;->removeChild(Landroid/view/ViewGroup;Landroid/view/View;)V
+HPLandroid/animation/LayoutTransition;->runAppearingTransition(Landroid/view/ViewGroup;Landroid/view/View;)V
+HPLandroid/animation/LayoutTransition;->runDisappearingTransition(Landroid/view/ViewGroup;Landroid/view/View;)V
+HPLandroid/animation/ObjectAnimator;->getTarget()Ljava/lang/Object;
 HPLandroid/animation/ObjectAnimator;->ofArgb(Ljava/lang/Object;Ljava/lang/String;[I)Landroid/animation/ObjectAnimator;
-HPLandroid/animation/ObjectAnimator;->ofFloat(Ljava/lang/Object;Landroid/util/Property;Landroid/util/Property;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;
-HPLandroid/animation/ObjectAnimator;->ofObject(Ljava/lang/Object;Landroid/util/Property;Landroid/animation/TypeConverter;Landroid/graphics/Path;)Landroid/animation/ObjectAnimator;
-HPLandroid/animation/ObjectAnimator;->ofObject(Ljava/lang/Object;Landroid/util/Property;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator;
-HPLandroid/animation/ObjectAnimator;->setAutoCancel(Z)V
 HPLandroid/animation/ObjectAnimator;->setPropertyName(Ljava/lang/String;)V
 HPLandroid/animation/PathKeyframes$1;->getFloatValue(F)F
 HPLandroid/animation/PathKeyframes$2;->getFloatValue(F)F
 HPLandroid/animation/PathKeyframes$FloatKeyframesBase;->getValue(F)Ljava/lang/Object;
-HPLandroid/animation/PathKeyframes$SimpleKeyframes;->getKeyframes()Ljava/util/ArrayList;
-HPLandroid/animation/PathKeyframes$SimpleKeyframes;->getKeyframes()Ljava/util/List;
-HPLandroid/animation/PathKeyframes;->getKeyframes()Ljava/util/ArrayList;
-HPLandroid/animation/PathKeyframes;->getKeyframes()Ljava/util/List;
+HPLandroid/animation/PathKeyframes$SimpleKeyframes;->clone()Landroid/animation/Keyframes;
+HPLandroid/animation/PathKeyframes;-><init>(Landroid/graphics/Path;F)V
 HPLandroid/animation/PathKeyframes;->getValue(F)Ljava/lang/Object;
 HPLandroid/animation/PathKeyframes;->interpolateInRange(FII)Landroid/graphics/PointF;
 HPLandroid/animation/PropertyValuesHolder$1;->getValueAtFraction(F)Ljava/lang/Object;
-HPLandroid/animation/PropertyValuesHolder$PropertyValues$DataSource;->getValueAtFraction(F)Ljava/lang/Object;
-HPLandroid/animation/PropertyValuesHolder;->ofKeyframes(Landroid/util/Property;Landroid/animation/Keyframes;)Landroid/animation/PropertyValuesHolder;
-HPLandroid/animation/PropertyValuesHolder;->ofObject(Landroid/util/Property;Landroid/animation/TypeConverter;Landroid/graphics/Path;)Landroid/animation/PropertyValuesHolder;
-HPLandroid/animation/PropertyValuesHolder;->ofObject(Landroid/util/Property;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/PropertyValuesHolder;
-HPLandroid/animation/PropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V
-HPLandroid/animation/RevealAnimator;-><init>(Landroid/view/View;IIFF)V
-HPLandroid/animation/RevealAnimator;->onFinished()V
-HPLandroid/animation/StateListAnimator$Tuple;-><init>([ILandroid/animation/Animator;)V
-HPLandroid/animation/TimeAnimator;->animateBasedOnTime(J)Z
+HPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;-><init>(Landroid/util/Property;[F)V
+HPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object;
+HPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setIntValues([I)V
+HPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setProperty(Landroid/util/Property;)V
+HPLandroid/animation/PropertyValuesHolder;->getPropertyValues(Landroid/animation/PropertyValuesHolder$PropertyValues;)V
+HPLandroid/animation/PropertyValuesHolder;->ofInt(Ljava/lang/String;[I)Landroid/animation/PropertyValuesHolder;
+HPLandroid/animation/PropertyValuesHolder;->ofKeyframes(Ljava/lang/String;Landroid/animation/Keyframes;)Landroid/animation/PropertyValuesHolder;
+HPLandroid/animation/PropertyValuesHolder;->setProperty(Landroid/util/Property;)V
+HPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;->getChangingConfigurations()I
 HPLandroid/animation/TimeAnimator;->animateValue(F)V
-HPLandroid/animation/TimeAnimator;->initAnimation()V
-HPLandroid/animation/TimeAnimator;->setCurrentPlayTime(J)V
-HPLandroid/animation/TimeAnimator;->start()V
-HPLandroid/animation/ValueAnimator;->areAnimatorsEnabled()Z
-HPLandroid/animation/ValueAnimator;->ofArgb([I)Landroid/animation/ValueAnimator;
+HPLandroid/animation/ValueAnimator;->getCurrentPlayTime()J
+HPLandroid/animation/ValueAnimator;->ofObject(Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ValueAnimator;
 HPLandroid/animation/ValueAnimator;->overrideDurationScale(F)V
 HPLandroid/animation/ValueAnimator;->pause()V
+HPLandroid/animation/ValueAnimator;->removeAllUpdateListeners()V
 HPLandroid/animation/ValueAnimator;->removeUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)V
 HPLandroid/animation/ValueAnimator;->resume()V
-HPLandroid/app/-$$Lambda$ActivityTransitionCoordinator$_HMo0E-15AzCK9fwQ8WHzdz8ZIw;->run()V
-HPLandroid/app/-$$Lambda$ActivityTransitionCoordinator$fkaPvc8GCghP2GMwEgS_J5m_T_4;->run()V
-HPLandroid/app/-$$Lambda$EnterTransitionCoordinator$3$I_t9rJUkrW7bwRLQtTrE8DgvPZs;->run()V
-HPLandroid/app/-$$Lambda$EnterTransitionCoordinator$3$bzpzcEqxdHzyaWu6Gq6AOD9dFMo;->run()V
-HPLandroid/app/-$$Lambda$EnterTransitionCoordinator$wYWFlx9zS3bxJYkN44Bpwx_EKis;->run()V
-HPLandroid/app/-$$Lambda$ExitTransitionCoordinator$QSAvMs76ZWnO0eiLyXWkcGxkRIY;->run()V
-HPLandroid/app/-$$Lambda$YTMEV7TmbMrzjIag59qAffcsEUw;->run()V
-HPLandroid/app/-$$Lambda$oslF4K8Uk6v-6nTRoaEpCmfAptE;->run()V
-HPLandroid/app/ActionBar;->addOnMenuVisibilityListener(Landroid/app/ActionBar$OnMenuVisibilityListener;)V
-HPLandroid/app/ActionBar;->addTab(Landroid/app/ActionBar$Tab;)V
-HPLandroid/app/ActionBar;->addTab(Landroid/app/ActionBar$Tab;I)V
-HPLandroid/app/ActionBar;->addTab(Landroid/app/ActionBar$Tab;IZ)V
-HPLandroid/app/ActionBar;->addTab(Landroid/app/ActionBar$Tab;Z)V
-HPLandroid/app/ActionBar;->getCustomView()Landroid/view/View;
-HPLandroid/app/ActionBar;->getDisplayOptions()I
-HPLandroid/app/ActionBar;->getHeight()I
-HPLandroid/app/ActionBar;->getNavigationItemCount()I
-HPLandroid/app/ActionBar;->getNavigationMode()I
-HPLandroid/app/ActionBar;->getSelectedNavigationIndex()I
-HPLandroid/app/ActionBar;->getSelectedTab()Landroid/app/ActionBar$Tab;
-HPLandroid/app/ActionBar;->getSubtitle()Ljava/lang/CharSequence;
-HPLandroid/app/ActionBar;->getTabAt(I)Landroid/app/ActionBar$Tab;
-HPLandroid/app/ActionBar;->getTabCount()I
-HPLandroid/app/ActionBar;->getTitle()Ljava/lang/CharSequence;
-HPLandroid/app/ActionBar;->hide()V
-HPLandroid/app/ActionBar;->isShowing()Z
-HPLandroid/app/ActionBar;->newTab()Landroid/app/ActionBar$Tab;
+HPLandroid/animation/ValueAnimator;->reverse()V
+HPLandroid/animation/ValueAnimator;->setEvaluator(Landroid/animation/TypeEvaluator;)V
+HPLandroid/animation/ValueAnimator;->setObjectValues([Ljava/lang/Object;)V
 HPLandroid/app/ActionBar;->onDestroy()V
-HPLandroid/app/ActionBar;->removeAllTabs()V
-HPLandroid/app/ActionBar;->removeOnMenuVisibilityListener(Landroid/app/ActionBar$OnMenuVisibilityListener;)V
-HPLandroid/app/ActionBar;->removeTab(Landroid/app/ActionBar$Tab;)V
-HPLandroid/app/ActionBar;->removeTabAt(I)V
-HPLandroid/app/ActionBar;->selectTab(Landroid/app/ActionBar$Tab;)V
-HPLandroid/app/ActionBar;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-HPLandroid/app/ActionBar;->setCustomView(I)V
-HPLandroid/app/ActionBar;->setCustomView(Landroid/view/View;)V
-HPLandroid/app/ActionBar;->setCustomView(Landroid/view/View;Landroid/app/ActionBar$LayoutParams;)V
-HPLandroid/app/ActionBar;->setDisplayHomeAsUpEnabled(Z)V
-HPLandroid/app/ActionBar;->setDisplayOptions(I)V
-HPLandroid/app/ActionBar;->setDisplayOptions(II)V
-HPLandroid/app/ActionBar;->setDisplayShowCustomEnabled(Z)V
-HPLandroid/app/ActionBar;->setDisplayShowHomeEnabled(Z)V
-HPLandroid/app/ActionBar;->setDisplayShowTitleEnabled(Z)V
-HPLandroid/app/ActionBar;->setDisplayUseLogoEnabled(Z)V
-HPLandroid/app/ActionBar;->setIcon(I)V
-HPLandroid/app/ActionBar;->setIcon(Landroid/graphics/drawable/Drawable;)V
-HPLandroid/app/ActionBar;->setListNavigationCallbacks(Landroid/widget/SpinnerAdapter;Landroid/app/ActionBar$OnNavigationListener;)V
-HPLandroid/app/ActionBar;->setLogo(I)V
-HPLandroid/app/ActionBar;->setLogo(Landroid/graphics/drawable/Drawable;)V
-HPLandroid/app/ActionBar;->setNavigationMode(I)V
-HPLandroid/app/ActionBar;->setSelectedNavigationItem(I)V
-HPLandroid/app/ActionBar;->setSubtitle(I)V
-HPLandroid/app/ActionBar;->setSubtitle(Ljava/lang/CharSequence;)V
-HPLandroid/app/ActionBar;->setTitle(I)V
-HPLandroid/app/ActionBar;->setTitle(Ljava/lang/CharSequence;)V
-HPLandroid/app/ActionBar;->show()V
 HPLandroid/app/Activity$HostCallbacks;->onShouldSaveFragmentState(Landroid/app/Fragment;)Z
-HPLandroid/app/Activity$TranslucentConversionListener;->onTranslucentConversionComplete(Z)V
-HPLandroid/app/Activity;->autofillClientFindViewsByAutofillIdTraversal([Landroid/view/autofill/AutofillId;)[Landroid/view/View;
-HPLandroid/app/Activity;->autofillClientRequestShowFillUi(Landroid/view/View;IILandroid/graphics/Rect;Landroid/view/autofill/IAutofillWindowPresenter;)Z
+HPLandroid/app/Activity;->autofillClientGetActivityToken()Landroid/os/IBinder;
+HPLandroid/app/Activity;->autofillClientGetComponentName()Landroid/content/ComponentName;
+HPLandroid/app/Activity;->autofillClientIsFillUiShowing()Z
+HPLandroid/app/Activity;->autofillClientResetableStateAvailable()V
+HPLandroid/app/Activity;->autofillClientRunOnUiThread(Ljava/lang/Runnable;)V
+HPLandroid/app/Activity;->closeOptionsMenu()V
 HPLandroid/app/Activity;->convertFromTranslucent()V
-HPLandroid/app/Activity;->convertToTranslucent(Landroid/app/Activity$TranslucentConversionListener;Landroid/app/ActivityOptions;)Z
+HPLandroid/app/Activity;->ensureSearchManager()V
+HPLandroid/app/Activity;->enterPictureInPictureMode(Landroid/app/PictureInPictureParams;)Z
+HPLandroid/app/Activity;->finish()V
+HPLandroid/app/Activity;->finish(I)V
+HPLandroid/app/Activity;->finishAfterTransition()V
 HPLandroid/app/Activity;->finishAndRemoveTask()V
+HPLandroid/app/Activity;->getActivityToken()Landroid/os/IBinder;
+HPLandroid/app/Activity;->getCallingActivity()Landroid/content/ComponentName;
 HPLandroid/app/Activity;->getCallingPackage()Ljava/lang/String;
-HPLandroid/app/Activity;->getVolumeControlStream()I
+HPLandroid/app/Activity;->getCurrentFocus()Landroid/view/View;
+HPLandroid/app/Activity;->getParentActivityIntent()Landroid/content/Intent;
+HPLandroid/app/Activity;->getReferrer()Landroid/net/Uri;
+HPLandroid/app/Activity;->hasWindowFocus()Z
+HPLandroid/app/Activity;->isDisablingEnterExitEventForAutofill()Z
+HPLandroid/app/Activity;->isInPictureInPictureMode()Z
+HPLandroid/app/Activity;->isResumed()Z
+HPLandroid/app/Activity;->isTaskRoot()Z
+HPLandroid/app/Activity;->navigateUpTo(Landroid/content/Intent;)Z
 HPLandroid/app/Activity;->onActionModeFinished(Landroid/view/ActionMode;)V
 HPLandroid/app/Activity;->onActionModeStarted(Landroid/view/ActionMode;)V
 HPLandroid/app/Activity;->onActivityResult(IILandroid/content/Intent;)V
+HPLandroid/app/Activity;->onBackPressed()V
+HPLandroid/app/Activity;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+HPLandroid/app/Activity;->onContextItemSelected(Landroid/view/MenuItem;)Z
+HPLandroid/app/Activity;->onContextMenuClosed(Landroid/view/Menu;)V
+HPLandroid/app/Activity;->onCreatePanelView(I)Landroid/view/View;
+HPLandroid/app/Activity;->onDestroy()V
+HPLandroid/app/Activity;->onDetachedFromWindow()V
 HPLandroid/app/Activity;->onMenuItemSelected(ILandroid/view/MenuItem;)Z
-HPLandroid/app/Activity;->onNewActivityOptions(Landroid/app/ActivityOptions;)V
-HPLandroid/app/Activity;->onNewIntent(Landroid/content/Intent;)V
+HPLandroid/app/Activity;->onMultiWindowModeChanged(ZLandroid/content/res/Configuration;)V
+HPLandroid/app/Activity;->onNavigateUp()Z
+HPLandroid/app/Activity;->onOptionsItemSelected(Landroid/view/MenuItem;)Z
 HPLandroid/app/Activity;->onPanelClosed(ILandroid/view/Menu;)V
-HPLandroid/app/Activity;->onTranslucentConversionComplete(Z)V
+HPLandroid/app/Activity;->onPictureInPictureModeChanged(ZLandroid/content/res/Configuration;)V
+HPLandroid/app/Activity;->onPrepareDialog(ILandroid/app/Dialog;)V
+HPLandroid/app/Activity;->onPrepareDialog(ILandroid/app/Dialog;Landroid/os/Bundle;)V
+HPLandroid/app/Activity;->onRetainNonConfigurationChildInstances()Ljava/util/HashMap;
+HPLandroid/app/Activity;->onRetainNonConfigurationInstance()Ljava/lang/Object;
 HPLandroid/app/Activity;->onWindowStartingActionMode(Landroid/view/ActionMode$Callback;)Landroid/view/ActionMode;
 HPLandroid/app/Activity;->onWindowStartingActionMode(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
-HPLandroid/app/Activity;->postponeEnterTransition()V
-HPLandroid/app/Activity;->requestPermissions([Ljava/lang/String;I)V
-HPLandroid/app/Activity;->setEnterSharedElementCallback(Landroid/app/SharedElementCallback;)V
-HPLandroid/app/Activity;->setExitSharedElementCallback(Landroid/app/SharedElementCallback;)V
-HPLandroid/app/Activity;->setImmersive(Z)V
-HPLandroid/app/Activity;->setPictureInPictureParams(Landroid/app/PictureInPictureParams;)V
+HPLandroid/app/Activity;->overridePendingTransition(II)V
+HPLandroid/app/Activity;->performDestroy()V
+HPLandroid/app/Activity;->recreate()V
+HPLandroid/app/Activity;->registerForContextMenu(Landroid/view/View;)V
+HPLandroid/app/Activity;->retainNonConfigurationInstances()Landroid/app/Activity$NonConfigurationInstances;
+HPLandroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)V
+HPLandroid/app/Activity;->setContentView(Landroid/view/View;)V
+HPLandroid/app/Activity;->setDefaultKeyMode(I)V
+HPLandroid/app/Activity;->setFinishOnTouchOutside(Z)V
+HPLandroid/app/Activity;->setMediaController(Landroid/media/session/MediaController;)V
+HPLandroid/app/Activity;->setProgressBarIndeterminateVisibility(Z)V
+HPLandroid/app/Activity;->setRequestedOrientation(I)V
+HPLandroid/app/Activity;->setResult(I)V
 HPLandroid/app/Activity;->setResult(ILandroid/content/Intent;)V
+HPLandroid/app/Activity;->setVisible(Z)V
+HPLandroid/app/Activity;->setVolumeControlStream(I)V
 HPLandroid/app/Activity;->shouldUpRecreateTask(Landroid/content/Intent;)Z
-HPLandroid/app/Activity;->startActionMode(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
+HPLandroid/app/Activity;->showDialog(ILandroid/os/Bundle;)Z
 HPLandroid/app/Activity;->startActivityAsUser(Landroid/content/Intent;Landroid/os/Bundle;Landroid/os/UserHandle;)V
 HPLandroid/app/Activity;->startActivityAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
-HPLandroid/app/Activity;->startActivityForResult(Ljava/lang/String;Landroid/content/Intent;ILandroid/os/Bundle;)V
+HPLandroid/app/Activity;->startActivityForResultAsUser(Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)V
+HPLandroid/app/Activity;->startActivityForResultAsUser(Landroid/content/Intent;ILandroid/os/UserHandle;)V
+HPLandroid/app/Activity;->startActivityForResultAsUser(Landroid/content/Intent;Ljava/lang/String;ILandroid/os/Bundle;Landroid/os/UserHandle;)V
 HPLandroid/app/Activity;->startIntentSenderForResult(Landroid/content/IntentSender;ILandroid/content/Intent;III)V
 HPLandroid/app/Activity;->startIntentSenderForResult(Landroid/content/IntentSender;ILandroid/content/Intent;IIILandroid/os/Bundle;)V
 HPLandroid/app/Activity;->startIntentSenderForResultInner(Landroid/content/IntentSender;Ljava/lang/String;ILandroid/content/Intent;IILandroid/os/Bundle;)V
-HPLandroid/app/Activity;->startPostponedEnterTransition()V
-HPLandroid/app/ActivityManager$AppTask;->setExcludeFromRecents(Z)V
 HPLandroid/app/ActivityManager$MemoryInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/app/ActivityManager$ProcessErrorStateInfo$1;-><init>()V
 HPLandroid/app/ActivityManager$RecentTaskInfo;-><init>()V
 HPLandroid/app/ActivityManager$RecentTaskInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/app/ActivityManager$RunningAppProcessInfo;->procStateToImportanceForTargetSdk(II)I
 HPLandroid/app/ActivityManager$RunningAppProcessInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/app/ActivityManager$RunningServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$RunningServiceInfo;
+HPLandroid/app/ActivityManager$RunningServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/ActivityManager$RunningServiceInfo;->readFromParcel(Landroid/os/Parcel;)V
 HPLandroid/app/ActivityManager$RunningServiceInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/app/ActivityManager$RunningTaskInfo;-><init>()V
-HPLandroid/app/ActivityManager$RunningTaskInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/app/ActivityManager$RunningTaskInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$RunningTaskInfo;
+HPLandroid/app/ActivityManager$RunningTaskInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/app/ActivityManager$TaskDescription;-><init>()V
-HPLandroid/app/ActivityManager$TaskDescription;-><init>(Landroid/app/ActivityManager$TaskDescription;)V
-HPLandroid/app/ActivityManager$TaskDescription;-><init>(Ljava/lang/String;Landroid/graphics/Bitmap;ILjava/lang/String;IIII)V
-HPLandroid/app/ActivityManager$TaskDescription;->copyFrom(Landroid/app/ActivityManager$TaskDescription;)V
+HPLandroid/app/ActivityManager$TaskDescription;-><init>(Ljava/lang/String;)V
 HPLandroid/app/ActivityManager$TaskDescription;->restoreFromXml(Ljava/lang/String;Ljava/lang/String;)V
 HPLandroid/app/ActivityManager$TaskDescription;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
 HPLandroid/app/ActivityManager$TaskDescription;->setIconFilename(Ljava/lang/String;)V
-HPLandroid/app/ActivityManager$TaskSnapshot;-><init>(Landroid/graphics/GraphicBuffer;ILandroid/graphics/Rect;ZFZI)V
-HPLandroid/app/ActivityManager$TaskSnapshot;-><init>(Landroid/graphics/GraphicBuffer;ILandroid/graphics/Rect;ZFZIIZ)V
+HPLandroid/app/ActivityManager$TaskDescription;->setLabel(Ljava/lang/String;)V
+HPLandroid/app/ActivityManager$TaskSnapshot$1;-><init>()V
+HPLandroid/app/ActivityManager$TaskSnapshot;-><init>(Landroid/content/ComponentName;Landroid/graphics/GraphicBuffer;ILandroid/graphics/Rect;ZFZIIZ)V
+HPLandroid/app/ActivityManager$TaskSnapshot;->getColorSpace()Landroid/graphics/ColorSpace;
+HPLandroid/app/ActivityManager$TaskSnapshot;->getContentInsets()Landroid/graphics/Rect;
+HPLandroid/app/ActivityManager$TaskSnapshot;->getOrientation()I
+HPLandroid/app/ActivityManager$TaskSnapshot;->getScale()F
+HPLandroid/app/ActivityManager$TaskSnapshot;->getSnapshot()Landroid/graphics/GraphicBuffer;
+HPLandroid/app/ActivityManager$TaskSnapshot;->getSystemUiVisibility()I
+HPLandroid/app/ActivityManager$TaskSnapshot;->getTopActivityComponent()Landroid/content/ComponentName;
+HPLandroid/app/ActivityManager$TaskSnapshot;->getWindowingMode()I
+HPLandroid/app/ActivityManager$TaskSnapshot;->isRealSnapshot()Z
+HPLandroid/app/ActivityManager$TaskSnapshot;->isReducedResolution()Z
+HPLandroid/app/ActivityManager$TaskSnapshot;->isTranslucent()Z
 HPLandroid/app/ActivityManager$TaskSnapshot;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/app/ActivityManager$UidObserver;->onUidGone(IZ)V
 HPLandroid/app/ActivityManager;->getLauncherLargeIconSize()I
-HPLandroid/app/ActivityManager;->getLockTaskModeState()I
+HPLandroid/app/ActivityManager;->getLauncherLargeIconSizeInner(Landroid/content/Context;)I
+HPLandroid/app/ActivityManager;->getRecentTasks(II)Ljava/util/List;
+HPLandroid/app/ActivityManager;->getRunningServices(I)Ljava/util/List;
+HPLandroid/app/ActivityManager;->getRunningTasks(I)Ljava/util/List;
 HPLandroid/app/ActivityManager;->getUidImportance(I)I
-HPLandroid/app/ActivityManager;->isInLockTaskMode()Z
 HPLandroid/app/ActivityManager;->isSystemReady()Z
-HPLandroid/app/ActivityManager;->removeOnUidImportanceListener(Landroid/app/ActivityManager$OnUidImportanceListener;)V
-HPLandroid/app/ActivityOptions;-><init>(Landroid/os/Bundle;)V
 HPLandroid/app/ActivityOptions;->abort()V
 HPLandroid/app/ActivityOptions;->abort(Landroid/app/ActivityOptions;)V
-HPLandroid/app/ActivityOptions;->disallowEnterPictureInPictureWhileLaunching()Z
-HPLandroid/app/ActivityOptions;->fromBundle(Landroid/os/Bundle;)Landroid/app/ActivityOptions;
-HPLandroid/app/ActivityOptions;->getAnimationType()I
-HPLandroid/app/ActivityOptions;->getAvoidMoveToFront()Z
+HPLandroid/app/ActivityOptions;->canTaskOverlayResume()Z
 HPLandroid/app/ActivityOptions;->getCustomEnterResId()I
 HPLandroid/app/ActivityOptions;->getCustomExitResId()I
 HPLandroid/app/ActivityOptions;->getHeight()I
 HPLandroid/app/ActivityOptions;->getLaunchActivityType()I
-HPLandroid/app/ActivityOptions;->getLaunchBounds()Landroid/graphics/Rect;
-HPLandroid/app/ActivityOptions;->getLaunchDisplayId()I
-HPLandroid/app/ActivityOptions;->getLaunchTaskBehind()Z
-HPLandroid/app/ActivityOptions;->getLaunchTaskId()I
-HPLandroid/app/ActivityOptions;->getLaunchWindowingMode()I
-HPLandroid/app/ActivityOptions;->getLockTaskMode()Z
 HPLandroid/app/ActivityOptions;->getOnAnimationStartListener()Landroid/os/IRemoteCallback;
 HPLandroid/app/ActivityOptions;->getPackageName()Ljava/lang/String;
-HPLandroid/app/ActivityOptions;->getRemoteAnimationAdapter()Landroid/view/RemoteAnimationAdapter;
-HPLandroid/app/ActivityOptions;->getResultCode()I
-HPLandroid/app/ActivityOptions;->getResultReceiver()Landroid/os/ResultReceiver;
-HPLandroid/app/ActivityOptions;->getRotationAnimationHint()I
-HPLandroid/app/ActivityOptions;->getSharedElementNames()Ljava/util/ArrayList;
+HPLandroid/app/ActivityOptions;->getPendingIntentLaunchFlags()I
 HPLandroid/app/ActivityOptions;->getStartX()I
 HPLandroid/app/ActivityOptions;->getStartY()I
-HPLandroid/app/ActivityOptions;->getUsageTimeReport()Landroid/app/PendingIntent;
+HPLandroid/app/ActivityOptions;->getTaskOverlay()Z
 HPLandroid/app/ActivityOptions;->getWidth()I
-HPLandroid/app/ActivityOptions;->isCrossTask()Z
-HPLandroid/app/ActivityOptions;->isReturning()Z
+HPLandroid/app/ActivityOptions;->makeClipRevealAnimation(Landroid/view/View;IIII)Landroid/app/ActivityOptions;
+HPLandroid/app/ActivityOptions;->makeCustomAnimation(Landroid/content/Context;II)Landroid/app/ActivityOptions;
 HPLandroid/app/ActivityOptions;->makeRemoteAnimation(Landroid/view/RemoteAnimationAdapter;)Landroid/app/ActivityOptions;
-HPLandroid/app/ActivityOptions;->makeSceneTransitionAnimation(Landroid/app/Activity;Landroid/view/View;Ljava/lang/String;)Landroid/app/ActivityOptions;
-HPLandroid/app/ActivityOptions;->makeSceneTransitionAnimation(Landroid/app/Activity;Landroid/view/Window;Landroid/app/ActivityOptions;Landroid/app/SharedElementCallback;[Landroid/util/Pair;)Landroid/app/ExitTransitionCoordinator;
-HPLandroid/app/ActivityOptions;->makeSceneTransitionAnimation(Landroid/app/Activity;[Landroid/util/Pair;)Landroid/app/ActivityOptions;
-HPLandroid/app/ActivityOptions;->popAppVerificationBundle()Landroid/os/Bundle;
+HPLandroid/app/ActivityOptions;->makeScaleUpAnimation(Landroid/view/View;IIII)Landroid/app/ActivityOptions;
+HPLandroid/app/ActivityOptions;->setAvoidMoveToFront()V
+HPLandroid/app/ActivityOptions;->setLaunchTaskId(I)V
 HPLandroid/app/ActivityOptions;->setRemoteAnimationAdapter(Landroid/view/RemoteAnimationAdapter;)V
+HPLandroid/app/ActivityThread$ApplicationThread;->dumpDbInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
+HPLandroid/app/ActivityThread$ApplicationThread;->dumpGfxInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
+HPLandroid/app/ActivityThread$ApplicationThread;->dumpMemInfo(Landroid/os/ParcelFileDescriptor;Landroid/os/Debug$MemoryInfo;ZZZZZ[Ljava/lang/String;)V
+HPLandroid/app/ActivityThread$ApplicationThread;->dumpMemInfo(Ljava/io/PrintWriter;Landroid/os/Debug$MemoryInfo;ZZZZZ)V
+HPLandroid/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
+HPLandroid/app/ActivityThread$ApplicationThread;->requestAssistContextExtras(Landroid/os/IBinder;Landroid/os/IBinder;III)V
+HPLandroid/app/ActivityThread$ApplicationThread;->scheduleCreateBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;II)V
+HPLandroid/app/ActivityThread$ApplicationThread;->scheduleDestroyBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
 HPLandroid/app/ActivityThread$ApplicationThread;->scheduleInstallProvider(Landroid/content/pm/ProviderInfo;)V
 HPLandroid/app/ActivityThread$ApplicationThread;->scheduleLowMemory()V
-HPLandroid/app/ActivityThread$ApplicationThread;->scheduleOnNewActivityOptions(Landroid/os/IBinder;Landroid/os/Bundle;)V
-HPLandroid/app/ActivityThread$ApplicationThread;->scheduleTranslucentConversionComplete(Landroid/os/IBinder;Z)V
 HPLandroid/app/ActivityThread$ApplicationThread;->updateTimeZone()V
 HPLandroid/app/ActivityThread$GcIdler;->queueIdle()Z
+HPLandroid/app/ActivityThread;->dumpMemInfoTable(Ljava/io/PrintWriter;Landroid/os/Debug$MemoryInfo;ZZZZILjava/lang/String;JJJJJJ)V
+HPLandroid/app/ActivityThread;->handleCreateBackupAgent(Landroid/app/ActivityThread$CreateBackupAgentData;)V
+HPLandroid/app/ActivityThread;->handleDestroyActivity(Landroid/os/IBinder;ZIZLjava/lang/String;)V
+HPLandroid/app/ActivityThread;->handleDestroyBackupAgent(Landroid/app/ActivityThread$CreateBackupAgentData;)V
+HPLandroid/app/ActivityThread;->handleDumpProvider(Landroid/app/ActivityThread$DumpComponentInfo;)V
 HPLandroid/app/ActivityThread;->handleDumpService(Landroid/app/ActivityThread$DumpComponentInfo;)V
 HPLandroid/app/ActivityThread;->handleInstallProvider(Landroid/content/pm/ProviderInfo;)V
 HPLandroid/app/ActivityThread;->handleLowMemory()V
-HPLandroid/app/ActivityThread;->handleNewIntent(Landroid/os/IBinder;Ljava/util/List;Z)V
-HPLandroid/app/ActivityThread;->handleUnstableProviderDiedLocked(Landroid/os/IBinder;Z)V
-HPLandroid/app/ActivityThread;->performNewIntents(Landroid/os/IBinder;Ljava/util/List;Z)V
-HPLandroid/app/ActivityTransitionCoordinator$ContinueTransitionListener;->onTransitionEnd(Landroid/transition/Transition;)V
-HPLandroid/app/ActivityTransitionCoordinator$ContinueTransitionListener;->onTransitionStart(Landroid/transition/Transition;)V
-HPLandroid/app/ActivityTransitionCoordinator$FixedEpicenterCallback;->onGetEpicenter(Landroid/transition/Transition;)Landroid/graphics/Rect;
-HPLandroid/app/ActivityTransitionCoordinator$FixedEpicenterCallback;->setEpicenter(Landroid/graphics/Rect;)V
-HPLandroid/app/ActivityTransitionCoordinator$GhostViewListeners;->onPreDraw()Z
-HPLandroid/app/ActivityTransitionCoordinator$GhostViewListeners;->removeListener()V
-HPLandroid/app/ActivityTransitionCoordinator;-><init>(Landroid/view/Window;Ljava/util/ArrayList;Landroid/app/SharedElementCallback;Z)V
-HPLandroid/app/ActivityTransitionCoordinator;->backgroundAnimatorComplete()V
-HPLandroid/app/ActivityTransitionCoordinator;->cancelPendingTransitions()Z
-HPLandroid/app/ActivityTransitionCoordinator;->captureSharedElementState()Landroid/os/Bundle;
-HPLandroid/app/ActivityTransitionCoordinator;->captureSharedElementState(Landroid/view/View;Ljava/lang/String;Landroid/os/Bundle;Landroid/graphics/Matrix;Landroid/graphics/RectF;)V
-HPLandroid/app/ActivityTransitionCoordinator;->configureTransition(Landroid/transition/Transition;Z)Landroid/transition/Transition;
-HPLandroid/app/ActivityTransitionCoordinator;->copyMappedViews()Ljava/util/ArrayList;
-HPLandroid/app/ActivityTransitionCoordinator;->createSnapshots(Landroid/os/Bundle;Ljava/util/Collection;)Ljava/util/ArrayList;
-HPLandroid/app/ActivityTransitionCoordinator;->findIncludedViews(Landroid/transition/Transition;Ljava/util/ArrayList;Landroid/util/ArraySet;)V
-HPLandroid/app/ActivityTransitionCoordinator;->getAcceptedNames()Ljava/util/ArrayList;
-HPLandroid/app/ActivityTransitionCoordinator;->getAllSharedElementNames()Ljava/util/ArrayList;
-HPLandroid/app/ActivityTransitionCoordinator;->getDecor()Landroid/view/ViewGroup;
-HPLandroid/app/ActivityTransitionCoordinator;->getFadeDuration()J
-HPLandroid/app/ActivityTransitionCoordinator;->getMappedNames()Ljava/util/ArrayList;
-HPLandroid/app/ActivityTransitionCoordinator;->getOldSharedElementState(Landroid/view/View;Ljava/lang/String;Landroid/os/Bundle;)Landroid/app/ActivityTransitionCoordinator$SharedElementOriginalState;
-HPLandroid/app/ActivityTransitionCoordinator;->getSharedElementParentMatrix(Landroid/view/View;Landroid/graphics/Matrix;)V
-HPLandroid/app/ActivityTransitionCoordinator;->getViewsTransition()Landroid/transition/Transition;
-HPLandroid/app/ActivityTransitionCoordinator;->getWindow()Landroid/view/Window;
-HPLandroid/app/ActivityTransitionCoordinator;->hideViews(Ljava/util/ArrayList;)V
-HPLandroid/app/ActivityTransitionCoordinator;->isInTransitionGroup(Landroid/view/ViewParent;Landroid/view/ViewGroup;)Z
-HPLandroid/app/ActivityTransitionCoordinator;->isViewsTransitionComplete()Z
-HPLandroid/app/ActivityTransitionCoordinator;->mapSharedElements(Ljava/util/ArrayList;Ljava/util/ArrayList;)Landroid/util/ArrayMap;
-HPLandroid/app/ActivityTransitionCoordinator;->moveSharedElementWithParent()Z
-HPLandroid/app/ActivityTransitionCoordinator;->moveSharedElementsFromOverlay()V
-HPLandroid/app/ActivityTransitionCoordinator;->moveSharedElementsToOverlay()V
-HPLandroid/app/ActivityTransitionCoordinator;->noLayoutSuppressionForVisibilityTransitions(Landroid/transition/Transition;)V
-HPLandroid/app/ActivityTransitionCoordinator;->notifySharedElementEnd(Ljava/util/ArrayList;)V
-HPLandroid/app/ActivityTransitionCoordinator;->pauseInput()V
-HPLandroid/app/ActivityTransitionCoordinator;->scheduleGhostVisibilityChange(I)V
-HPLandroid/app/ActivityTransitionCoordinator;->scheduleSetSharedElementEnd(Ljava/util/ArrayList;)V
-HPLandroid/app/ActivityTransitionCoordinator;->setEpicenter()V
-HPLandroid/app/ActivityTransitionCoordinator;->setGhostVisibility(I)V
-HPLandroid/app/ActivityTransitionCoordinator;->setOriginalSharedElementState(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-HPLandroid/app/ActivityTransitionCoordinator;->setResultReceiver(Landroid/os/ResultReceiver;)V
-HPLandroid/app/ActivityTransitionCoordinator;->setSharedElementMatrices()V
-HPLandroid/app/ActivityTransitionCoordinator;->setSharedElementState(Landroid/os/Bundle;Ljava/util/ArrayList;)Ljava/util/ArrayList;
-HPLandroid/app/ActivityTransitionCoordinator;->setSharedElementState(Landroid/view/View;Ljava/lang/String;Landroid/os/Bundle;Landroid/graphics/Matrix;Landroid/graphics/RectF;[I)V
-HPLandroid/app/ActivityTransitionCoordinator;->setSharedElements(Landroid/util/ArrayMap;)V
-HPLandroid/app/ActivityTransitionCoordinator;->setTargets(Landroid/transition/Transition;Z)Landroid/transition/Transition;
-HPLandroid/app/ActivityTransitionCoordinator;->setTransitioningViewsVisiblity(IZ)V
-HPLandroid/app/ActivityTransitionCoordinator;->sharedElementTransitionComplete()V
-HPLandroid/app/ActivityTransitionCoordinator;->showViews(Ljava/util/ArrayList;Z)V
-HPLandroid/app/ActivityTransitionCoordinator;->startTransition(Ljava/lang/Runnable;)V
-HPLandroid/app/ActivityTransitionCoordinator;->stripOffscreenViews()V
-HPLandroid/app/ActivityTransitionCoordinator;->transitionStarted()V
-HPLandroid/app/ActivityTransitionCoordinator;->viewsReady(Landroid/util/ArrayMap;)V
-HPLandroid/app/ActivityTransitionCoordinator;->viewsTransitionComplete()V
-HPLandroid/app/ActivityTransitionState;->addExitTransitionCoordinator(Landroid/app/ExitTransitionCoordinator;)I
-HPLandroid/app/ActivityTransitionState;->clear()V
-HPLandroid/app/ActivityTransitionState;->postponeEnterTransition()V
-HPLandroid/app/ActivityTransitionState;->startEnter()V
-HPLandroid/app/ActivityTransitionState;->startPostponedEnterTransition()V
-HPLandroid/app/AlarmManager$AlarmClockInfo$1;-><init>()V
-HPLandroid/app/AlarmManager$AlarmClockInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/AlarmManager$AlarmClockInfo;
-HPLandroid/app/AlarmManager$AlarmClockInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/ActivityThread;->handleMultiWindowModeChanged(Landroid/os/IBinder;ZLandroid/content/res/Configuration;)V
+HPLandroid/app/ActivityThread;->handlePictureInPictureModeChanged(Landroid/os/IBinder;ZLandroid/content/res/Configuration;)V
+HPLandroid/app/ActivityThread;->handleRelaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;)V
+HPLandroid/app/ActivityThread;->handleRelaunchActivityInner(Landroid/app/ActivityThread$ActivityClientRecord;ILjava/util/List;Ljava/util/List;Landroid/app/servertransaction/PendingTransactionActions;ZLandroid/content/res/Configuration;Ljava/lang/String;)V
+HPLandroid/app/ActivityThread;->handleRelaunchActivityLocally(Landroid/os/IBinder;)V
+HPLandroid/app/ActivityThread;->handleRequestAssistContextExtras(Landroid/app/ActivityThread$RequestAssistContextExtras;)V
+HPLandroid/app/ActivityThread;->handleSendResult(Landroid/os/IBinder;Ljava/util/List;Ljava/lang/String;)V
+HPLandroid/app/ActivityThread;->performActivityConfigurationChanged(Landroid/app/Activity;Landroid/content/res/Configuration;Landroid/content/res/Configuration;IZ)Landroid/content/res/Configuration;
+HPLandroid/app/ActivityThread;->performConfigurationChangedForActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/content/res/Configuration;IZ)Landroid/content/res/Configuration;
+HPLandroid/app/ActivityThread;->performDestroyActivity(Landroid/os/IBinder;ZIZLjava/lang/String;)Landroid/app/ActivityThread$ActivityClientRecord;
+HPLandroid/app/ActivityThread;->performRestartActivity(Landroid/os/IBinder;Z)V
+HPLandroid/app/ActivityThread;->prepareRelaunchActivity(Landroid/os/IBinder;Ljava/util/List;Ljava/util/List;ILandroid/util/MergedConfiguration;Z)Landroid/app/ActivityThread$ActivityClientRecord;
+HPLandroid/app/ActivityThread;->printRow(Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/Object;)V
+HPLandroid/app/ActivityThread;->reportRelaunch(Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
+HPLandroid/app/ActivityThread;->sendMessage(ILjava/lang/Object;IIZ)V
+HPLandroid/app/ActivityThread;->updatePendingActivityConfiguration(Landroid/os/IBinder;Landroid/content/res/Configuration;)V
+HPLandroid/app/ActivityTransitionState;->startExitBackTransition(Landroid/app/Activity;)Z
+HPLandroid/app/ActivityTransitionState;->startExitOutTransition(Landroid/app/Activity;Landroid/os/Bundle;)V
 HPLandroid/app/AlarmManager$AlarmClockInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/app/AlarmManager$OnAlarmListener;->onAlarm()V
 HPLandroid/app/AlarmManager;->getNextWakeFromIdleTime()J
-HPLandroid/app/AlarmManager;->set(IJJJLandroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;Landroid/os/WorkSource;)V
+HPLandroid/app/AlarmManager;->set(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
 HPLandroid/app/AlarmManager;->setAndAllowWhileIdle(IJLandroid/app/PendingIntent;)V
 HPLandroid/app/AlarmManager;->setIdleUntil(IJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
 HPLandroid/app/AlarmManager;->setWindow(IJJLjava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;Landroid/os/Handler;)V
-HPLandroid/app/AlertDialog$Builder;->setAdapter(Landroid/widget/ListAdapter;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;
-HPLandroid/app/AlertDialog$Builder;->setInverseBackgroundForced(Z)Landroid/app/AlertDialog$Builder;
-HPLandroid/app/AlertDialog$Builder;->setMessage(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;
-HPLandroid/app/AlertDialog$Builder;->setMultiChoiceItems([Ljava/lang/CharSequence;[ZLandroid/content/DialogInterface$OnMultiChoiceClickListener;)Landroid/app/AlertDialog$Builder;
+HPLandroid/app/AlertDialog$Builder;-><init>(Landroid/content/Context;)V
+HPLandroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog;
+HPLandroid/app/AlertDialog$Builder;->setNegativeButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;
 HPLandroid/app/AlertDialog$Builder;->setNegativeButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;
-HPLandroid/app/AlertDialog$Builder;->setPositiveButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;
+HPLandroid/app/AlertDialog$Builder;->setOnCancelListener(Landroid/content/DialogInterface$OnCancelListener;)Landroid/app/AlertDialog$Builder;
 HPLandroid/app/AlertDialog$Builder;->setPositiveButton(Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;
-HPLandroid/app/AlertDialog$Builder;->setSingleChoiceItems([Ljava/lang/CharSequence;ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;
+HPLandroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;
 HPLandroid/app/AlertDialog$Builder;->setView(Landroid/view/View;)Landroid/app/AlertDialog$Builder;
-HPLandroid/app/AlertDialog;-><init>(Landroid/content/Context;I)V
-HPLandroid/app/AlertDialog;->onKeyDown(ILandroid/view/KeyEvent;)Z
-HPLandroid/app/AlertDialog;->onKeyUp(ILandroid/view/KeyEvent;)Z
-HPLandroid/app/AlertDialog;->setTitle(Ljava/lang/CharSequence;)V
+HPLandroid/app/AlertDialog;->getButton(I)Landroid/widget/Button;
+HPLandroid/app/AlertDialog;->onCreate(Landroid/os/Bundle;)V
+HPLandroid/app/AlertDialog;->resolveDialogTheme(Landroid/content/Context;I)I
+HPLandroid/app/AppOpsManager$2;->opChanged(IILjava/lang/String;)V
+HPLandroid/app/AppOpsManager$HistoricalOp;->access$3000(Landroid/app/AppOpsManager$HistoricalOp;IJ)V
+HPLandroid/app/AppOpsManager$HistoricalOp;->getAccessCount(I)J
+HPLandroid/app/AppOpsManager$HistoricalOp;->getAccessDuration(I)J
+HPLandroid/app/AppOpsManager$HistoricalOp;->getRejectCount(I)J
+HPLandroid/app/AppOpsManager$HistoricalOp;->merge(Landroid/app/AppOpsManager$HistoricalOp;)V
+HPLandroid/app/AppOpsManager$HistoricalOp;->splice(D)Landroid/app/AppOpsManager$HistoricalOp;
+HPLandroid/app/AppOpsManager$HistoricalOps;->getUidCount()I
+HPLandroid/app/AppOpsManager$HistoricalOps;->getUidOpsAt(I)Landroid/app/AppOpsManager$HistoricalUidOps;
+HPLandroid/app/AppOpsManager$HistoricalOps;->isEmpty()Z
+HPLandroid/app/AppOpsManager$HistoricalOps;->merge(Landroid/app/AppOpsManager$HistoricalOps;)V
+HPLandroid/app/AppOpsManager$HistoricalOps;->round(D)D
+HPLandroid/app/AppOpsManager$HistoricalOps;->splice(DZ)Landroid/app/AppOpsManager$HistoricalOps;
+HPLandroid/app/AppOpsManager$HistoricalOps;->spliceFromEnd(D)Landroid/app/AppOpsManager$HistoricalOps;
+HPLandroid/app/AppOpsManager$HistoricalPackageOps;->getOpAt(I)Landroid/app/AppOpsManager$HistoricalOp;
+HPLandroid/app/AppOpsManager$HistoricalPackageOps;->merge(Landroid/app/AppOpsManager$HistoricalPackageOps;)V
+HPLandroid/app/AppOpsManager$HistoricalPackageOps;->splice(D)Landroid/app/AppOpsManager$HistoricalPackageOps;
+HPLandroid/app/AppOpsManager$HistoricalUidOps;->getPackageOpsAt(I)Landroid/app/AppOpsManager$HistoricalPackageOps;
+HPLandroid/app/AppOpsManager$HistoricalUidOps;->merge(Landroid/app/AppOpsManager$HistoricalUidOps;)V
+HPLandroid/app/AppOpsManager$HistoricalUidOps;->splice(D)Landroid/app/AppOpsManager$HistoricalUidOps;
+HPLandroid/app/AppOpsManager$OnOpChangedInternalListener;->onOpChanged(Ljava/lang/String;Ljava/lang/String;)V
 HPLandroid/app/AppOpsManager$OpEntry;->getLastRejectTimeFor(I)J
 HPLandroid/app/AppOpsManager$OpEntry;->getLastTimeFor(I)J
-HPLandroid/app/AppOpsManager$OpEntry;->getProxyPackageName()Ljava/lang/String;
-HPLandroid/app/AppOpsManager$OpEntry;->getProxyUid()I
 HPLandroid/app/AppOpsManager;->checkAudioOpNoThrow(IIILjava/lang/String;)I
-HPLandroid/app/AppOpsManager;->finishOp(Ljava/lang/String;ILjava/lang/String;)V
 HPLandroid/app/AppOpsManager;->isOperationActive(IILjava/lang/String;)Z
-HPLandroid/app/AppOpsManager;->noteProxyOp(Ljava/lang/String;Ljava/lang/String;)I
-HPLandroid/app/AppOpsManager;->setUidMode(III)V
-HPLandroid/app/AppOpsManager;->startOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
+HPLandroid/app/AppOpsManager;->setUserRestriction(IZLandroid/os/IBinder;)V
+HPLandroid/app/AppOpsManager;->setUserRestriction(IZLandroid/os/IBinder;[Ljava/lang/String;)V
+HPLandroid/app/AppOpsManager;->setUserRestrictionForUser(IZLandroid/os/IBinder;[Ljava/lang/String;I)V
+HPLandroid/app/AppOpsManager;->unsafeCheckOp(Ljava/lang/String;ILjava/lang/String;)I
+HPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostDestroyed(Landroid/app/Activity;)V
+HPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreDestroyed(Landroid/app/Activity;)V
+HPLandroid/app/Application;->dispatchActivityDestroyed(Landroid/app/Activity;)V
+HPLandroid/app/Application;->dispatchActivityPostDestroyed(Landroid/app/Activity;)V
+HPLandroid/app/Application;->dispatchActivityPreDestroyed(Landroid/app/Activity;)V
 HPLandroid/app/Application;->onLowMemory()V
+HPLandroid/app/ApplicationErrorReport$1;-><init>()V
+HPLandroid/app/ApplicationErrorReport$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ApplicationErrorReport;
+HPLandroid/app/ApplicationErrorReport$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/app/ApplicationErrorReport$CrashInfo;-><init>()V
 HPLandroid/app/ApplicationErrorReport$CrashInfo;-><init>(Landroid/os/Parcel;)V
-HPLandroid/app/ApplicationErrorReport$CrashInfo;-><init>(Ljava/lang/Throwable;)V
-HPLandroid/app/ApplicationErrorReport$CrashInfo;->sanitizeString(Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/app/ApplicationErrorReport$CrashInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/app/ApplicationErrorReport$ParcelableCrashInfo$1;-><init>()V
 HPLandroid/app/ApplicationErrorReport$ParcelableCrashInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;
 HPLandroid/app/ApplicationErrorReport$ParcelableCrashInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;-><init>(Ljava/lang/Throwable;)V
+HPLandroid/app/ApplicationErrorReport;-><init>()V
 HPLandroid/app/ApplicationErrorReport;->getErrorReportReceiver(Landroid/content/Context;Ljava/lang/String;I)Landroid/content/ComponentName;
 HPLandroid/app/ApplicationErrorReport;->getErrorReportReceiver(Landroid/content/pm/PackageManager;Ljava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;
+HPLandroid/app/ApplicationErrorReport;->readFromParcel(Landroid/os/Parcel;)V
 HPLandroid/app/ApplicationErrorReport;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/app/ApplicationPackageManager$OnPermissionsChangeListenerDelegate;->handleMessage(Landroid/os/Message;)Z
 HPLandroid/app/ApplicationPackageManager$OnPermissionsChangeListenerDelegate;->onPermissionsChanged(I)V
-HPLandroid/app/ApplicationPackageManager;->checkSignatures(II)I
-HPLandroid/app/ApplicationPackageManager;->freeStorageAndNotify(Ljava/lang/String;JLandroid/content/pm/IPackageDataObserver;)V
+HPLandroid/app/ApplicationPackageManager;->canonicalToCurrentPackageNames([Ljava/lang/String;)[Ljava/lang/String;
 HPLandroid/app/ApplicationPackageManager;->getApplicationIcon(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
-HPLandroid/app/ApplicationPackageManager;->getArtManager()Landroid/content/pm/dex/ArtManager;
-HPLandroid/app/ApplicationPackageManager;->getDefaultActivityIcon()Landroid/graphics/drawable/Drawable;
-HPLandroid/app/ApplicationPackageManager;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName;
-HPLandroid/app/ApplicationPackageManager;->getPermissionControllerPackageName()Ljava/lang/String;
-HPLandroid/app/ApplicationPackageManager;->getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;
+HPLandroid/app/ApplicationPackageManager;->getContentCaptureServicePackageName()Ljava/lang/String;
 HPLandroid/app/ApplicationPackageManager;->getPrimaryStorageCurrentVolume()Landroid/os/storage/VolumeInfo;
-HPLandroid/app/ApplicationPackageManager;->getResourcesForApplicationAsUser(Ljava/lang/String;I)Landroid/content/res/Resources;
-HPLandroid/app/ApplicationPackageManager;->getServicesSystemSharedLibraryPackageName()Ljava/lang/String;
-HPLandroid/app/ApplicationPackageManager;->queryPermissionsByGroup(Ljava/lang/String;I)Ljava/util/List;
+HPLandroid/app/ApplicationPackageManager;->getUserBadgeForDensity(Landroid/os/UserHandle;I)Landroid/graphics/drawable/Drawable;
+HPLandroid/app/ApplicationPackageManager;->getUserBadgedLabel(Ljava/lang/CharSequence;Landroid/os/UserHandle;)Ljava/lang/CharSequence;
 HPLandroid/app/ApplicationPackageManager;->removeOnPermissionsChangeListener(Landroid/content/pm/PackageManager$OnPermissionsChangedListener;)V
-HPLandroid/app/ApplicationPackageManager;->replacePreferredActivityAsUser(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
-HPLandroid/app/ApplicationPackageManager;->setApplicationCategoryHint(Ljava/lang/String;I)V
-HPLandroid/app/AutomaticZenRule$1;-><init>()V
-HPLandroid/app/AutomaticZenRule$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/AutomaticZenRule;
-HPLandroid/app/AutomaticZenRule$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/app/AutomaticZenRule;-><init>(Landroid/os/Parcel;)V
-HPLandroid/app/AutomaticZenRule;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/app/BackStackRecord;->hide(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;
-HPLandroid/app/BackStackRecord;->remove(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;
-HPLandroid/app/BackStackRecord;->setBreadCrumbTitle(Ljava/lang/CharSequence;)Landroid/app/FragmentTransaction;
-HPLandroid/app/BroadcastOptions;-><init>(Landroid/os/Bundle;)V
-HPLandroid/app/BroadcastOptions;->getMaxManifestReceiverApiLevel()I
-HPLandroid/app/BroadcastOptions;->getMinManifestReceiverApiLevel()I
-HPLandroid/app/BroadcastOptions;->getTemporaryAppWhitelistDuration()J
-HPLandroid/app/BroadcastOptions;->isDontSendToRestrictedApps()Z
+HPLandroid/app/ApplicationPackageManager;->verifyIntentFilter(IILjava/util/List;)V
+HPLandroid/app/AutomaticZenRule;->getZenPolicy()Landroid/service/notification/ZenPolicy;
+HPLandroid/app/BackStackRecord;->addToBackStack(Ljava/lang/String;)Landroid/app/FragmentTransaction;
+HPLandroid/app/BackStackRecord;->commitNow()V
+HPLandroid/app/BackStackRecord;->executePopOps(Z)V
+HPLandroid/app/BackStackRecord;->setCustomAnimations(II)Landroid/app/FragmentTransaction;
+HPLandroid/app/BackStackRecord;->trackAddedFragmentsInPop(Ljava/util/ArrayList;)V
+HPLandroid/app/BackStackState;-><init>(Landroid/app/FragmentManagerImpl;Landroid/app/BackStackRecord;)V
+HPLandroid/app/BackStackState;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/app/BroadcastOptions;->setDontSendToRestrictedApps(Z)V
 HPLandroid/app/BroadcastOptions;->setMaxManifestReceiverApiLevel(I)V
-HPLandroid/app/ContextImpl;->checkCallingUriPermission(Landroid/net/Uri;I)I
 HPLandroid/app/ContextImpl;->checkUriPermission(Landroid/net/Uri;IIILandroid/os/IBinder;)I
+HPLandroid/app/ContextImpl;->databaseList()[Ljava/lang/String;
+HPLandroid/app/ContextImpl;->deleteFile(Ljava/lang/String;)Z
 HPLandroid/app/ContextImpl;->deleteSharedPreferences(Ljava/lang/String;)Z
-HPLandroid/app/ContextImpl;->getMainThreadHandler()Landroid/os/Handler;
-HPLandroid/app/ContextImpl;->getObbDir()Ljava/io/File;
-HPLandroid/app/ContextImpl;->getObbDirs()[Ljava/io/File;
 HPLandroid/app/ContextImpl;->getThemeResId()I
+HPLandroid/app/ContextImpl;->openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;
+HPLandroid/app/ContextImpl;->openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;
+HPLandroid/app/ContextImpl;->reloadSharedPreferences()V
+HPLandroid/app/ContextImpl;->revokeUriPermission(Landroid/net/Uri;I)V
+HPLandroid/app/ContextImpl;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;Landroid/os/Bundle;)V
 HPLandroid/app/ContextImpl;->sendBroadcastAsUserMultiplePermissions(Landroid/content/Intent;Landroid/os/UserHandle;[Ljava/lang/String;)V
+HPLandroid/app/ContextImpl;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
 HPLandroid/app/ContextImpl;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;ILandroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;)V
 HPLandroid/app/ContextImpl;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;Landroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
 HPLandroid/app/ContextImpl;->sendOrderedBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Ljava/lang/String;ILandroid/content/BroadcastReceiver;Landroid/os/Handler;ILjava/lang/String;Landroid/os/Bundle;)V
@@ -468,472 +433,574 @@
 HPLandroid/app/ContextImpl;->sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;Landroid/os/Bundle;)V
 HPLandroid/app/ContextImpl;->startActivityAsUser(Landroid/content/Intent;Landroid/os/Bundle;Landroid/os/UserHandle;)V
 HPLandroid/app/ContextImpl;->startActivityAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
+HPLandroid/app/Dialog$ListenersHandler;->handleMessage(Landroid/os/Message;)V
 HPLandroid/app/Dialog;->cancel()V
+HPLandroid/app/Dialog;->dismiss()V
+HPLandroid/app/Dialog;->dismissDialog()V
 HPLandroid/app/Dialog;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
-HPLandroid/app/Dialog;->findViewById(I)Landroid/view/View;
+HPLandroid/app/Dialog;->dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
+HPLandroid/app/Dialog;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
+HPLandroid/app/Dialog;->getContext()Landroid/content/Context;
 HPLandroid/app/Dialog;->getLayoutInflater()Landroid/view/LayoutInflater;
-HPLandroid/app/Dialog;->hide()V
+HPLandroid/app/Dialog;->isShowing()Z
 HPLandroid/app/Dialog;->onBackPressed()V
+HPLandroid/app/Dialog;->onDetachedFromWindow()V
 HPLandroid/app/Dialog;->onKeyDown(ILandroid/view/KeyEvent;)Z
 HPLandroid/app/Dialog;->onKeyUp(ILandroid/view/KeyEvent;)Z
+HPLandroid/app/Dialog;->onStop()V
 HPLandroid/app/Dialog;->onTouchEvent(Landroid/view/MotionEvent;)Z
-HPLandroid/app/Dialog;->requestWindowFeature(I)Z
+HPLandroid/app/Dialog;->onWindowFocusChanged(Z)V
+HPLandroid/app/Dialog;->setCancelable(Z)V
 HPLandroid/app/Dialog;->setCanceledOnTouchOutside(Z)V
+HPLandroid/app/Dialog;->setOnCancelListener(Landroid/content/DialogInterface$OnCancelListener;)V
+HPLandroid/app/Dialog;->setOnDismissListener(Landroid/content/DialogInterface$OnDismissListener;)V
 HPLandroid/app/Dialog;->setOnShowListener(Landroid/content/DialogInterface$OnShowListener;)V
-HPLandroid/app/Dialog;->takeCancelAndDismissListeners(Ljava/lang/String;Landroid/content/DialogInterface$OnCancelListener;Landroid/content/DialogInterface$OnDismissListener;)Z
-HPLandroid/app/DialogFragment;-><init>()V
-HPLandroid/app/DialogFragment;->dismissInternal(Z)V
-HPLandroid/app/DialogFragment;->onActivityCreated(Landroid/os/Bundle;)V
-HPLandroid/app/DialogFragment;->onAttach(Landroid/content/Context;)V
-HPLandroid/app/DialogFragment;->onCreate(Landroid/os/Bundle;)V
-HPLandroid/app/DialogFragment;->onDestroyView()V
-HPLandroid/app/DialogFragment;->onDetach()V
-HPLandroid/app/DialogFragment;->onDismiss(Landroid/content/DialogInterface;)V
-HPLandroid/app/DialogFragment;->onGetLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater;
-HPLandroid/app/DialogFragment;->onStart()V
-HPLandroid/app/DialogFragment;->onStop()V
-HPLandroid/app/DialogFragment;->show(Landroid/app/FragmentManager;Ljava/lang/String;)V
+HPLandroid/app/Dialog;->setOwnerActivity(Landroid/app/Activity;)V
+HPLandroid/app/Dialog;->setTitle(Ljava/lang/CharSequence;)V
+HPLandroid/app/DownloadManager$CursorTranslator;->getInt(I)I
+HPLandroid/app/DownloadManager$CursorTranslator;->getLocalUri()Ljava/lang/String;
+HPLandroid/app/DownloadManager$CursorTranslator;->getLong(I)J
+HPLandroid/app/DownloadManager$CursorTranslator;->getString(I)Ljava/lang/String;
+HPLandroid/app/DownloadManager$CursorTranslator;->translateStatus(I)I
 HPLandroid/app/DownloadManager$Query;-><init>()V
+HPLandroid/app/DownloadManager$Query;->joinStrings(Ljava/lang/String;Ljava/lang/Iterable;)Ljava/lang/String;
+HPLandroid/app/DownloadManager$Query;->runQuery(Landroid/content/ContentResolver;[Ljava/lang/String;Landroid/net/Uri;)Landroid/database/Cursor;
+HPLandroid/app/DownloadManager$Query;->setFilterById([J)Landroid/app/DownloadManager$Query;
 HPLandroid/app/DownloadManager$Query;->setFilterByStatus(I)Landroid/app/DownloadManager$Query;
-HPLandroid/app/EnterTransitionCoordinator$1;->onPreDraw()Z
-HPLandroid/app/EnterTransitionCoordinator$2;->run()V
-HPLandroid/app/EnterTransitionCoordinator$3;->onSharedElementsReady()V
-HPLandroid/app/EnterTransitionCoordinator$4;->onTransitionEnd(Landroid/transition/Transition;)V
-HPLandroid/app/EnterTransitionCoordinator$4;->onTransitionStart(Landroid/transition/Transition;)V
-HPLandroid/app/EnterTransitionCoordinator$5;->onTransitionEnd(Landroid/transition/Transition;)V
-HPLandroid/app/EnterTransitionCoordinator$5;->onTransitionStart(Landroid/transition/Transition;)V
-HPLandroid/app/EnterTransitionCoordinator$6;->onAnimationEnd(Landroid/animation/Animator;)V
-HPLandroid/app/EnterTransitionCoordinator$8;->onAnimationEnd(Landroid/animation/Animator;)V
-HPLandroid/app/EnterTransitionCoordinator$9;->run()V
-HPLandroid/app/EnterTransitionCoordinator;-><init>(Landroid/app/Activity;Landroid/os/ResultReceiver;Ljava/util/ArrayList;ZZ)V
-HPLandroid/app/EnterTransitionCoordinator;->beginTransition(Landroid/view/ViewGroup;ZZ)Landroid/transition/Transition;
-HPLandroid/app/EnterTransitionCoordinator;->cancelEnter()Z
-HPLandroid/app/EnterTransitionCoordinator;->clearState()V
-HPLandroid/app/EnterTransitionCoordinator;->forceViewsToAppear()V
-HPLandroid/app/EnterTransitionCoordinator;->getEnterViewsTransition()Landroid/transition/Transition;
-HPLandroid/app/EnterTransitionCoordinator;->getSharedElementTransition()Landroid/transition/Transition;
-HPLandroid/app/EnterTransitionCoordinator;->getViewsTransition()Landroid/transition/Transition;
-HPLandroid/app/EnterTransitionCoordinator;->isCrossTask()Z
-HPLandroid/app/EnterTransitionCoordinator;->isReturning()Z
-HPLandroid/app/EnterTransitionCoordinator;->mapNamedElements(Ljava/util/ArrayList;Ljava/util/ArrayList;)Landroid/util/ArrayMap;
-HPLandroid/app/EnterTransitionCoordinator;->namedViewsReady(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-HPLandroid/app/EnterTransitionCoordinator;->onReceiveResult(ILandroid/os/Bundle;)V
-HPLandroid/app/EnterTransitionCoordinator;->onRemoteExitTransitionComplete()V
-HPLandroid/app/EnterTransitionCoordinator;->onTakeSharedElements()V
-HPLandroid/app/EnterTransitionCoordinator;->onTransitionsComplete()V
-HPLandroid/app/EnterTransitionCoordinator;->prepareEnter()V
-HPLandroid/app/EnterTransitionCoordinator;->sendSharedElementDestination()V
-HPLandroid/app/EnterTransitionCoordinator;->startEnterTransition(Landroid/transition/Transition;)V
-HPLandroid/app/EnterTransitionCoordinator;->startRejectedAnimations(Ljava/util/ArrayList;)V
-HPLandroid/app/EnterTransitionCoordinator;->startSharedElementTransition(Landroid/os/Bundle;)V
-HPLandroid/app/EnterTransitionCoordinator;->stop()V
-HPLandroid/app/EnterTransitionCoordinator;->triggerViewsReady(Landroid/util/ArrayMap;)V
-HPLandroid/app/EnterTransitionCoordinator;->viewInstancesReady(Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-HPLandroid/app/EnterTransitionCoordinator;->viewsReady(Landroid/util/ArrayMap;)V
-HPLandroid/app/ExitTransitionCoordinator$10;->onSharedElementsReady()V
-HPLandroid/app/ExitTransitionCoordinator$1;->run()V
-HPLandroid/app/ExitTransitionCoordinator$2;->onTransitionEnd(Landroid/transition/Transition;)V
-HPLandroid/app/ExitTransitionCoordinator$3;->run()V
-HPLandroid/app/ExitTransitionCoordinator$5;->onTranslucentConversionComplete(Z)V
-HPLandroid/app/ExitTransitionCoordinator$6;->run()V
-HPLandroid/app/ExitTransitionCoordinator$7;->onAnimationEnd(Landroid/animation/Animator;)V
-HPLandroid/app/ExitTransitionCoordinator$8;->onTransitionEnd(Landroid/transition/Transition;)V
-HPLandroid/app/ExitTransitionCoordinator$9;->onTransitionEnd(Landroid/transition/Transition;)V
-HPLandroid/app/ExitTransitionCoordinator;->beginTransitions()V
-HPLandroid/app/ExitTransitionCoordinator;->captureExitSharedElementsState()Landroid/os/Bundle;
-HPLandroid/app/ExitTransitionCoordinator;->clearState()V
-HPLandroid/app/ExitTransitionCoordinator;->fadeOutBackground()V
-HPLandroid/app/ExitTransitionCoordinator;->finishIfNecessary()V
-HPLandroid/app/ExitTransitionCoordinator;->getExitTransition()Landroid/transition/Transition;
-HPLandroid/app/ExitTransitionCoordinator;->getSharedElementExitTransition()Landroid/transition/Transition;
-HPLandroid/app/ExitTransitionCoordinator;->getSharedElementTransition()Landroid/transition/Transition;
-HPLandroid/app/ExitTransitionCoordinator;->getViewsTransition()Landroid/transition/Transition;
-HPLandroid/app/ExitTransitionCoordinator;->isReadyToNotify()Z
-HPLandroid/app/ExitTransitionCoordinator;->moveSharedElementWithParent()Z
-HPLandroid/app/ExitTransitionCoordinator;->notifyComplete()V
-HPLandroid/app/ExitTransitionCoordinator;->notifyExitComplete()V
-HPLandroid/app/ExitTransitionCoordinator;->onReceiveResult(ILandroid/os/Bundle;)V
-HPLandroid/app/ExitTransitionCoordinator;->onTransitionsComplete()V
-HPLandroid/app/ExitTransitionCoordinator;->resetViews()V
-HPLandroid/app/ExitTransitionCoordinator;->sharedElementExitBack()V
-HPLandroid/app/ExitTransitionCoordinator;->sharedElementTransitionComplete()V
-HPLandroid/app/ExitTransitionCoordinator;->startExit()V
-HPLandroid/app/ExitTransitionCoordinator;->startExit(ILandroid/content/Intent;)V
-HPLandroid/app/ExitTransitionCoordinator;->startExitTransition()V
-HPLandroid/app/ExitTransitionCoordinator;->startSharedElementExit(Landroid/view/ViewGroup;)V
-HPLandroid/app/ExitTransitionCoordinator;->stop()V
-HPLandroid/app/Fragment$OnStartEnterTransitionListener;->onStartEnterTransition()V
-HPLandroid/app/Fragment$OnStartEnterTransitionListener;->startListening()V
-HPLandroid/app/Fragment;->getParentFragment()Landroid/app/Fragment;
-HPLandroid/app/Fragment;->isHideReplaced()Z
-HPLandroid/app/Fragment;->isRemoving()Z
+HPLandroid/app/DownloadManager$Request;-><init>(Landroid/net/Uri;)V
+HPLandroid/app/DownloadManager$Request;->setAllowedOverMetered(Z)Landroid/app/DownloadManager$Request;
+HPLandroid/app/DownloadManager$Request;->setAllowedOverRoaming(Z)Landroid/app/DownloadManager$Request;
+HPLandroid/app/DownloadManager$Request;->setDescription(Ljava/lang/CharSequence;)Landroid/app/DownloadManager$Request;
+HPLandroid/app/DownloadManager$Request;->setDestinationInExternalFilesDir(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Landroid/app/DownloadManager$Request;
+HPLandroid/app/DownloadManager$Request;->setNotificationVisibility(I)Landroid/app/DownloadManager$Request;
+HPLandroid/app/DownloadManager$Request;->setTitle(Ljava/lang/CharSequence;)Landroid/app/DownloadManager$Request;
+HPLandroid/app/DownloadManager$Request;->setVisibleInDownloadsUi(Z)Landroid/app/DownloadManager$Request;
+HPLandroid/app/DownloadManager$Request;->toContentValues(Ljava/lang/String;)Landroid/content/ContentValues;
+HPLandroid/app/DownloadManager;->enqueue(Landroid/app/DownloadManager$Request;)J
+HPLandroid/app/DownloadManager;->getDownloadUri(J)Landroid/net/Uri;
+HPLandroid/app/DownloadManager;->getMaxBytesOverMobile(Landroid/content/Context;)Ljava/lang/Long;
+HPLandroid/app/DownloadManager;->getRecommendedMaxBytesOverMobile(Landroid/content/Context;)Ljava/lang/Long;
+HPLandroid/app/DownloadManager;->getUriForDownloadedFile(J)Landroid/net/Uri;
+HPLandroid/app/DownloadManager;->getWhereClauseForIds([J)Ljava/lang/String;
+HPLandroid/app/DownloadManager;->markRowDeleted([J)I
+HPLandroid/app/DownloadManager;->openDownloadedFile(J)Landroid/os/ParcelFileDescriptor;
+HPLandroid/app/DownloadManager;->query(Landroid/app/DownloadManager$Query;)Landroid/database/Cursor;
+HPLandroid/app/DownloadManager;->query(Landroid/app/DownloadManager$Query;[Ljava/lang/String;)Landroid/database/Cursor;
+HPLandroid/app/DownloadManager;->remove([J)I
+HPLandroid/app/Fragment;->getReenterTransition()Landroid/transition/Transition;
+HPLandroid/app/Fragment;->getReturnTransition()Landroid/transition/Transition;
+HPLandroid/app/Fragment;->getStateAfterAnimating()I
+HPLandroid/app/Fragment;->getString(I)Ljava/lang/String;
+HPLandroid/app/Fragment;->getTag()Ljava/lang/String;
+HPLandroid/app/Fragment;->initState()V
+HPLandroid/app/Fragment;->instantiate(Landroid/content/Context;Ljava/lang/String;)Landroid/app/Fragment;
 HPLandroid/app/Fragment;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HPLandroid/app/Fragment;->onDestroyOptionsMenu()V
-HPLandroid/app/Fragment;->onHiddenChanged(Z)V
+HPLandroid/app/Fragment;->onContextItemSelected(Landroid/view/MenuItem;)Z
+HPLandroid/app/Fragment;->onDestroy()V
+HPLandroid/app/Fragment;->onDestroyView()V
+HPLandroid/app/Fragment;->onDetach()V
+HPLandroid/app/Fragment;->onMultiWindowModeChanged(Z)V
+HPLandroid/app/Fragment;->onMultiWindowModeChanged(ZLandroid/content/res/Configuration;)V
+HPLandroid/app/Fragment;->onPictureInPictureModeChanged(Z)V
+HPLandroid/app/Fragment;->onPictureInPictureModeChanged(ZLandroid/content/res/Configuration;)V
 HPLandroid/app/Fragment;->performConfigurationChanged(Landroid/content/res/Configuration;)V
-HPLandroid/app/FragmentHostCallback;->getRetainLoaders()Z
-HPLandroid/app/FragmentManagerImpl;->completeShowHideFragment(Landroid/app/Fragment;)V
-HPLandroid/app/FragmentManagerImpl;->hideFragment(Landroid/app/Fragment;)V
-HPLandroid/app/FragmentManagerImpl;->putFragment(Landroid/os/Bundle;Ljava/lang/String;Landroid/app/Fragment;)V
+HPLandroid/app/Fragment;->performContextItemSelected(Landroid/view/MenuItem;)Z
+HPLandroid/app/Fragment;->performDestroy()V
+HPLandroid/app/Fragment;->performDestroyView()V
+HPLandroid/app/Fragment;->performDetach()V
+HPLandroid/app/Fragment;->performMultiWindowModeChanged(ZLandroid/content/res/Configuration;)V
+HPLandroid/app/Fragment;->performOptionsItemSelected(Landroid/view/MenuItem;)Z
+HPLandroid/app/Fragment;->performPictureInPictureModeChanged(ZLandroid/content/res/Configuration;)V
+HPLandroid/app/Fragment;->setAnimatingAway(Landroid/animation/Animator;)V
+HPLandroid/app/Fragment;->setStateAfterAnimating(I)V
+HPLandroid/app/FragmentController;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V
+HPLandroid/app/FragmentController;->dispatchContextItemSelected(Landroid/view/MenuItem;)Z
+HPLandroid/app/FragmentController;->dispatchDestroy()V
+HPLandroid/app/FragmentController;->dispatchMultiWindowModeChanged(ZLandroid/content/res/Configuration;)V
+HPLandroid/app/FragmentController;->dispatchOptionsItemSelected(Landroid/view/MenuItem;)Z
+HPLandroid/app/FragmentController;->dispatchPictureInPictureModeChanged(ZLandroid/content/res/Configuration;)V
+HPLandroid/app/FragmentController;->doLoaderDestroy()V
+HPLandroid/app/FragmentController;->restoreLoaderNonConfig(Landroid/util/ArrayMap;)V
+HPLandroid/app/FragmentController;->retainLoaderNonConfig()Landroid/util/ArrayMap;
+HPLandroid/app/FragmentController;->retainNestedNonConfig()Landroid/app/FragmentManagerNonConfig;
+HPLandroid/app/FragmentHostCallback;->doLoaderDestroy()V
+HPLandroid/app/FragmentHostCallback;->inactivateFragment(Ljava/lang/String;)V
+HPLandroid/app/FragmentHostCallback;->onAttachFragment(Landroid/app/Fragment;)V
+HPLandroid/app/FragmentHostCallback;->onGetLayoutInflater()Landroid/view/LayoutInflater;
+HPLandroid/app/FragmentHostCallback;->onUseFragmentManagerInflaterFactory()Z
+HPLandroid/app/FragmentHostCallback;->restoreLoaderNonConfig(Landroid/util/ArrayMap;)V
+HPLandroid/app/FragmentHostCallback;->retainLoaderNonConfig()Landroid/util/ArrayMap;
+HPLandroid/app/FragmentManagerImpl$2;->onAnimationEnd(Landroid/animation/Animator;)V
+HPLandroid/app/FragmentManagerImpl;->allocBackStackIndex(Landroid/app/BackStackRecord;)I
+HPLandroid/app/FragmentManagerImpl;->dispatchContextItemSelected(Landroid/view/MenuItem;)Z
+HPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentDestroyed(Landroid/app/Fragment;Z)V
+HPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentDetached(Landroid/app/Fragment;Z)V
+HPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentViewDestroyed(Landroid/app/Fragment;Z)V
+HPLandroid/app/FragmentManagerImpl;->dispatchOptionsItemSelected(Landroid/view/MenuItem;)Z
+HPLandroid/app/FragmentManagerImpl;->execSingleAction(Landroid/app/FragmentManagerImpl$OpGenerator;Z)V
+HPLandroid/app/FragmentManagerImpl;->freeBackStackIndex(I)V
+HPLandroid/app/FragmentManagerImpl;->isDestroyed()Z
+HPLandroid/app/FragmentManagerImpl;->isStateSaved()Z
+HPLandroid/app/FragmentManagerImpl;->makeInactive(Landroid/app/Fragment;)V
+HPLandroid/app/FragmentManagerImpl;->popBackStackImmediate()Z
+HPLandroid/app/FragmentManagerImpl;->popBackStackImmediate(Ljava/lang/String;II)Z
+HPLandroid/app/FragmentManagerImpl;->popBackStackState(Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/String;II)Z
 HPLandroid/app/FragmentManagerImpl;->removeFragment(Landroid/app/Fragment;)V
+HPLandroid/app/FragmentManagerImpl;->setRetaining(Landroid/app/FragmentManagerNonConfig;)V
+HPLandroid/app/FragmentManagerNonConfig;->getChildNonConfigs()Ljava/util/List;
+HPLandroid/app/FragmentManagerNonConfig;->getFragments()Ljava/util/List;
+HPLandroid/app/FragmentTransition;->calculatePopFragments(Landroid/app/BackStackRecord;Landroid/util/SparseArray;Z)V
 HPLandroid/app/FragmentTransition;->captureInSharedElements(Landroid/util/ArrayMap;Landroid/transition/TransitionSet;Landroid/app/FragmentTransition$FragmentContainerTransition;)Landroid/util/ArrayMap;
 HPLandroid/app/FragmentTransition;->captureOutSharedElements(Landroid/util/ArrayMap;Landroid/transition/TransitionSet;Landroid/app/FragmentTransition$FragmentContainerTransition;)Landroid/util/ArrayMap;
-HPLandroid/app/IActivityManager$Stub$Proxy;->cancelRecentsAnimation(Z)V
-HPLandroid/app/IActivityManager$Stub$Proxy;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I
-HPLandroid/app/IActivityManager$Stub$Proxy;->convertFromTranslucent(Landroid/os/IBinder;)Z
-HPLandroid/app/IActivityManager$Stub$Proxy;->convertToTranslucent(Landroid/os/IBinder;Landroid/os/Bundle;)Z
-HPLandroid/app/IActivityManager$Stub$Proxy;->dismissKeyguard(Landroid/os/IBinder;Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-HPLandroid/app/IActivityManager$Stub$Proxy;->getCallingPackage(Landroid/os/IBinder;)Ljava/lang/String;
-HPLandroid/app/IActivityManager$Stub$Proxy;->getLockTaskModeState()I
-HPLandroid/app/IActivityManager$Stub$Proxy;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I
-HPLandroid/app/IActivityManager$Stub$Proxy;->getTaskDescriptionIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap;
-HPLandroid/app/IActivityManager$Stub$Proxy;->handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;)Z
-HPLandroid/app/IActivityManager$Stub$Proxy;->isUserRunning(II)Z
-HPLandroid/app/IActivityManager$Stub$Proxy;->removeTask(I)Z
+HPLandroid/app/IActivityManager$Stub$Proxy;->backupAgentCreated(Ljava/lang/String;Landroid/os/IBinder;I)V
+HPLandroid/app/IActivityManager$Stub$Proxy;->getLaunchedFromPackage(Landroid/os/IBinder;)Ljava/lang/String;
+HPLandroid/app/IActivityManager$Stub$Proxy;->getLaunchedFromUid(Landroid/os/IBinder;)I
+HPLandroid/app/IActivityManager$Stub$Proxy;->getProcessLimit()I
+HPLandroid/app/IActivityManager$Stub$Proxy;->getRunningUserIds()[I
+HPLandroid/app/IActivityManager$Stub$Proxy;->getServices(II)Ljava/util/List;
+HPLandroid/app/IActivityManager$Stub$Proxy;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
+HPLandroid/app/IActivityManager$Stub$Proxy;->registerProcessObserver(Landroid/app/IProcessObserver;)V
 HPLandroid/app/IActivityManager$Stub$Proxy;->resumeAppSwitches()V
-HPLandroid/app/IActivityManager$Stub$Proxy;->setImmersive(Landroid/os/IBinder;Z)V
-HPLandroid/app/IActivityManager$Stub$Proxy;->setPictureInPictureParams(Landroid/os/IBinder;Landroid/app/PictureInPictureParams;)V
-HPLandroid/app/IActivityManager$Stub$Proxy;->shouldUpRecreateTask(Landroid/os/IBinder;Ljava/lang/String;)Z
-HPLandroid/app/IActivityManager$Stub$Proxy;->startActivityFromRecents(ILandroid/os/Bundle;)I
-HPLandroid/app/IActivityManager$Stub$Proxy;->startActivityIntentSender(Landroid/app/IApplicationThread;Landroid/content/IIntentSender;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I
-HPLandroid/app/IActivityManager$Stub$Proxy;->startRecentsActivity(Landroid/content/Intent;Landroid/app/IAssistDataReceiver;Landroid/view/IRecentsAnimationRunner;)V
-HPLandroid/app/IActivityManager$Stub$Proxy;->unregisterUidObserver(Landroid/app/IUidObserver;)V
-HPLandroid/app/IActivityManager$Stub$Proxy;->willActivityBeVisible(Landroid/os/IBinder;)Z
-HPLandroid/app/IActivityManager$Stub;->onTransact$checkUriPermission$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-HPLandroid/app/IActivityManager$Stub;->onTransact$reportAssistContextExtras$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-HPLandroid/app/IActivityManager$Stub;->onTransact$sendIntentSender$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-HPLandroid/app/IActivityManager$Stub;->onTransact$startActivities$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-HPLandroid/app/IActivityManager$Stub;->onTransact$startActivity$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-HPLandroid/app/IActivityManager$Stub;->onTransact$startActivityAsCaller$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-HPLandroid/app/IActivityManager$Stub;->onTransact$startActivityAsUser$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-HPLandroid/app/IActivityManager$Stub;->onTransact$startActivityIntentSender$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
+HPLandroid/app/IActivityManager$Stub$Proxy;->revokeUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
+HPLandroid/app/IActivityManager$Stub$Proxy;->setDebugApp(Ljava/lang/String;ZZ)V
+HPLandroid/app/IActivityManager$Stub$Proxy;->stopAppSwitches()V
+HPLandroid/app/IActivityManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->activityDestroyed(Landroid/os/IBinder;)V
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->activityRelaunched(Landroid/os/IBinder;)V
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->convertFromTranslucent(Landroid/os/IBinder;)Z
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->dismissKeyguard(Landroid/os/IBinder;Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->enterPictureInPictureMode(Landroid/os/IBinder;Landroid/app/PictureInPictureParams;)Z
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->getCallingActivity(Landroid/os/IBinder;)Landroid/content/ComponentName;
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->getCallingPackage(Landroid/os/IBinder;)Ljava/lang/String;
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->getRecentTasks(III)Landroid/content/pm/ParceledListSlice;
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->getTasks(I)Ljava/util/List;
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->isInPictureInPictureMode(Landroid/os/IBinder;)Z
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->navigateUpTo(Landroid/os/IBinder;Landroid/content/Intent;ILandroid/content/Intent;)Z
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->overridePendingTransition(Landroid/os/IBinder;Ljava/lang/String;II)V
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->reportAssistContextExtras(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;Landroid/net/Uri;)V
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->setRequestedOrientation(Landroid/os/IBinder;I)V
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->shouldUpRecreateTask(Landroid/os/IBinder;Ljava/lang/String;)Z
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)I
+HPLandroid/app/IActivityTaskManager$Stub$Proxy;->startActivityIntentSender(Landroid/app/IApplicationThread;Landroid/content/IIntentSender;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I
+HPLandroid/app/IActivityTaskManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/app/IAlarmCompleteListener$Stub$Proxy;->alarmComplete(Landroid/os/IBinder;)V
+HPLandroid/app/IAlarmCompleteListener$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/app/IAlarmCompleteListener$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/app/IAlarmCompleteListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/app/IAlarmListener$Stub$Proxy;->doAlarm(Landroid/app/IAlarmCompleteListener;)V
 HPLandroid/app/IAlarmListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/app/IAppTask$Stub$Proxy;->setExcludeFromRecents(Z)V
+HPLandroid/app/IAlarmManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/app/IAppTask$Stub;-><init>()V
+HPLandroid/app/IAppTask$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/app/IAppTask$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/app/IApplicationThread$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/app/IApplicationThread$Stub$Proxy;->clearDnsCache()V
 HPLandroid/app/IApplicationThread$Stub$Proxy;->dispatchPackageBroadcast(I[Ljava/lang/String;)V
 HPLandroid/app/IApplicationThread$Stub$Proxy;->dumpProvider(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)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
 HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleCrash(Ljava/lang/String;)V
-HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleCreateBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
-HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleDestroyBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;)V
+HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleCreateBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;II)V
+HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleDestroyBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
+HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleEnterAnimationComplete(Landroid/os/IBinder;)V
 HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleInstallProvider(Landroid/content/pm/ProviderInfo;)V
 HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleLowMemory()V
 HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleOnNewActivityOptions(Landroid/os/IBinder;Landroid/os/Bundle;)V
 HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleStopService(Landroid/os/IBinder;)V
 HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleSuicide()V
+HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleTranslucentConversionComplete(Landroid/os/IBinder;Z)V
 HPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleUnbindService(Landroid/os/IBinder;Landroid/content/Intent;)V
+HPLandroid/app/IApplicationThread$Stub$Proxy;->setCoreSettings(Landroid/os/Bundle;)V
+HPLandroid/app/IApplicationThread$Stub$Proxy;->setNetworkBlockSeq(J)V
 HPLandroid/app/IApplicationThread$Stub$Proxy;->unstableProviderDied(Landroid/os/IBinder;)V
-HPLandroid/app/IAssistDataReceiver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/app/IAssistDataReceiver$Stub$Proxy;->onHandleAssistData(Landroid/os/Bundle;)V
 HPLandroid/app/IAssistDataReceiver$Stub;-><init>()V
-HPLandroid/app/IAssistDataReceiver$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/app/IAssistDataReceiver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IAssistDataReceiver;
-HPLandroid/app/IAssistDataReceiver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/app/IAssistDataReceiver;->onHandleAssistData(Landroid/os/Bundle;)V
-HPLandroid/app/IAssistDataReceiver;->onHandleAssistScreenshot(Landroid/graphics/Bitmap;)V
-HPLandroid/app/IBackupAgent$Stub$Proxy;->doBackup(Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;JILandroid/app/backup/IBackupManager;I)V
+HPLandroid/app/IBackupAgent$Stub$Proxy;->doBackup(Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;JLandroid/app/backup/IBackupCallback;I)V
 HPLandroid/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
+HPLandroid/app/IBackupAgent$Stub$Proxy;->doQuotaExceeded(JJLandroid/app/backup/IBackupCallback;)V
 HPLandroid/app/IBackupAgent$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IBackupAgent;
-HPLandroid/app/IInstantAppResolver$Stub$Proxy;->getInstantAppResolveInfoList(Landroid/content/Intent;[ILjava/lang/String;ILandroid/os/IRemoteCallback;)V
+HPLandroid/app/IBackupAgent$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/app/IInstantAppResolver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/app/IInstantAppResolver$Stub$Proxy;->getInstantAppResolveInfoList(Landroid/content/Intent;[IILjava/lang/String;ILandroid/os/IRemoteCallback;)V
 HPLandroid/app/IInstantAppResolver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IInstantAppResolver;
 HPLandroid/app/IInstantAppResolver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/app/IInstantAppResolver;->getInstantAppIntentFilterList(Landroid/content/Intent;[ILjava/lang/String;Landroid/os/IRemoteCallback;)V
-HPLandroid/app/IInstantAppResolver;->getInstantAppResolveInfoList(Landroid/content/Intent;[ILjava/lang/String;ILandroid/os/IRemoteCallback;)V
+HPLandroid/app/INotificationManager$Stub$Proxy;->applyAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
+HPLandroid/app/INotificationManager$Stub$Proxy;->enqueueToast(Ljava/lang/String;Landroid/app/ITransientNotification;II)V
+HPLandroid/app/INotificationManager$Stub$Proxy;->finishToken(Ljava/lang/String;Landroid/app/ITransientNotification;)V
+HPLandroid/app/INotificationManager$Stub$Proxy;->getNotificationChannelForPackage(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannel;
+HPLandroid/app/INotificationManager$Stub$Proxy;->getNotificationChannelGroups(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
+HPLandroid/app/INotificationManager$Stub$Proxy;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
+HPLandroid/app/INotificationManager$Stub$Proxy;->onlyHasDefaultChannel(Ljava/lang/String;I)Z
+HPLandroid/app/INotificationManager$Stub$Proxy;->requestUnbindProvider(Landroid/service/notification/IConditionProvider;)V
+HPLandroid/app/INotificationManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/app/IProcessObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/app/IProcessObserver$Stub$Proxy;->onForegroundActivitiesChanged(IIZ)V
 HPLandroid/app/IProcessObserver$Stub$Proxy;->onProcessDied(II)V
+HPLandroid/app/IProcessObserver$Stub;-><init>()V
+HPLandroid/app/IProcessObserver$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/app/IProcessObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IProcessObserver;
+HPLandroid/app/IProcessObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/app/ISearchManager$Stub$Proxy;->getSearchableInfo(Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
 HPLandroid/app/ISearchManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/app/IServiceConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IServiceConnection;
+HPLandroid/app/ITaskStackListener$Stub$Proxy;->onActivityPinned(Ljava/lang/String;III)V
 HPLandroid/app/ITaskStackListener$Stub$Proxy;->onActivityRequestedOrientationChanged(II)V
+HPLandroid/app/ITaskStackListener$Stub$Proxy;->onActivityUnpinned()V
+HPLandroid/app/ITaskStackListener$Stub$Proxy;->onPinnedStackAnimationEnded()V
+HPLandroid/app/ITaskStackListener$Stub$Proxy;->onPinnedStackAnimationStarted()V
 HPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskMovedToFront(I)V
+HPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskMovedToFront(Landroid/app/ActivityManager$RunningTaskInfo;)V
 HPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskRemovalStarted(I)V
+HPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskRemovalStarted(Landroid/app/ActivityManager$RunningTaskInfo;)V
 HPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskRemoved(I)V
 HPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskSnapshotChanged(ILandroid/app/ActivityManager$TaskSnapshot;)V
+HPLandroid/app/ITaskStackListener$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/app/ITransientNotification$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/app/ITransientNotification$Stub$Proxy;->hide()V
 HPLandroid/app/ITransientNotification$Stub$Proxy;->show(Landroid/os/IBinder;)V
+HPLandroid/app/ITransientNotification$Stub;-><init>()V
+HPLandroid/app/ITransientNotification$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/app/ITransientNotification$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/ITransientNotification;
+HPLandroid/app/ITransientNotification$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/app/IUiModeManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/app/IUiModeManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/app/IUriGrantsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/app/IUserSwitchObserver$Stub$Proxy;->onForegroundProfileSwitch(I)V
 HPLandroid/app/IUserSwitchObserver$Stub$Proxy;->onLockedBootComplete(I)V
-HPLandroid/app/IWallpaperManager$Stub$Proxy;->isSetWallpaperAllowed(Ljava/lang/String;)Z
-HPLandroid/app/InstantAppResolverService$1;->getInstantAppResolveInfoList(Landroid/content/Intent;[ILjava/lang/String;ILandroid/os/IRemoteCallback;)V
+HPLandroid/app/IWallpaperManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/app/InstantAppResolverService$1;->getInstantAppResolveInfoList(Landroid/content/Intent;[IILjava/lang/String;ILandroid/os/IRemoteCallback;)V
 HPLandroid/app/InstantAppResolverService$InstantAppResolutionCallback;->onInstantAppResolveInfo(Ljava/util/List;)V
 HPLandroid/app/InstantAppResolverService$ServiceHandler;->handleMessage(Landroid/os/Message;)V
 HPLandroid/app/InstantAppResolverService;-><init>()V
 HPLandroid/app/InstantAppResolverService;->attachBaseContext(Landroid/content/Context;)V
 HPLandroid/app/InstantAppResolverService;->getLooper()Landroid/os/Looper;
 HPLandroid/app/InstantAppResolverService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
+HPLandroid/app/InstantAppResolverService;->onGetInstantAppResolveInfo(Landroid/content/Intent;[ILandroid/os/UserHandle;Ljava/lang/String;Landroid/app/InstantAppResolverService$InstantAppResolutionCallback;)V
 HPLandroid/app/InstantAppResolverService;->onGetInstantAppResolveInfo(Landroid/content/Intent;[ILjava/lang/String;Landroid/app/InstantAppResolverService$InstantAppResolutionCallback;)V
-HPLandroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Ljava/lang/String;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult;
-HPLandroid/app/JobSchedulerImpl;->scheduleAsPackage(Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I
-HPLandroid/app/KeyguardManager$1;->onDismissSucceeded()V
+HPLandroid/app/Instrumentation;->callActivityOnDestroy(Landroid/app/Activity;)V
+HPLandroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Ljava/lang/String;Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/Instrumentation$ActivityResult;
+HPLandroid/app/KeyguardManager$1;->onDismissCancelled()V
 HPLandroid/app/KeyguardManager$KeyguardDismissCallback;-><init>()V
 HPLandroid/app/KeyguardManager;->createConfirmDeviceCredentialIntent(Ljava/lang/CharSequence;Ljava/lang/CharSequence;I)Landroid/content/Intent;
 HPLandroid/app/KeyguardManager;->getSettingsPackageForIntent(Landroid/content/Intent;)Ljava/lang/String;
 HPLandroid/app/KeyguardManager;->requestDismissKeyguard(Landroid/app/Activity;Landroid/app/KeyguardManager$KeyguardDismissCallback;)V
 HPLandroid/app/KeyguardManager;->requestDismissKeyguard(Landroid/app/Activity;Ljava/lang/CharSequence;Landroid/app/KeyguardManager$KeyguardDismissCallback;)V
-HPLandroid/app/ListActivity$1;->run()V
-HPLandroid/app/ListActivity;-><init>()V
-HPLandroid/app/ListActivity;->getListView()Landroid/widget/ListView;
-HPLandroid/app/ListActivity;->onContentChanged()V
-HPLandroid/app/ListActivity;->setListAdapter(Landroid/widget/ListAdapter;)V
-HPLandroid/app/ListFragment;->onDestroyView()V
 HPLandroid/app/LoadedApk$ServiceDispatcher$DeathMonitor;->binderDied()V
 HPLandroid/app/LoadedApk$ServiceDispatcher;->doDeath(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HPLandroid/app/LoaderManagerImpl$LoaderInfo;->cancel()Z
+HPLandroid/app/LoaderManagerImpl;->doDestroy()V
 HPLandroid/app/LoaderManagerImpl;->doReportNextStart()V
-HPLandroid/app/Notification$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/Notification;
-HPLandroid/app/Notification$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/app/Notification$Action$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/Notification$Action;
-HPLandroid/app/Notification$Action$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/app/Notification$Action$1;->newArray(I)[Landroid/app/Notification$Action;
-HPLandroid/app/Notification$Action$1;->newArray(I)[Ljava/lang/Object;
-HPLandroid/app/Notification$Action;-><init>(Landroid/os/Parcel;)V
+HPLandroid/app/Notification$Action$Builder;-><init>(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)V
+HPLandroid/app/Notification$Action$Builder;->addExtras(Landroid/os/Bundle;)Landroid/app/Notification$Action$Builder;
+HPLandroid/app/Notification$Action$Builder;->setAllowGeneratedReplies(Z)Landroid/app/Notification$Action$Builder;
+HPLandroid/app/Notification$Action$Builder;->setContextual(Z)Landroid/app/Notification$Action$Builder;
+HPLandroid/app/Notification$Action$Builder;->setSemanticAction(I)Landroid/app/Notification$Action$Builder;
 HPLandroid/app/Notification$Action;->clone()Landroid/app/Notification$Action;
 HPLandroid/app/Notification$Action;->getAllowGeneratedReplies()Z
 HPLandroid/app/Notification$Action;->getRemoteInputs()[Landroid/app/RemoteInput;
 HPLandroid/app/Notification$Action;->getSemanticAction()I
-HPLandroid/app/Notification$BigPictureStyle;-><init>(Landroid/app/Notification$Builder;)V
-HPLandroid/app/Notification$BigPictureStyle;->addExtras(Landroid/os/Bundle;)V
-HPLandroid/app/Notification$BigPictureStyle;->bigPicture(Landroid/graphics/Bitmap;)Landroid/app/Notification$BigPictureStyle;
-HPLandroid/app/Notification$BigPictureStyle;->hasSummaryInHeader()Z
-HPLandroid/app/Notification$BigPictureStyle;->makeBigContentView()Landroid/widget/RemoteViews;
-HPLandroid/app/Notification$BigPictureStyle;->purgeResources()V
-HPLandroid/app/Notification$BigPictureStyle;->reduceImageSizes(Landroid/content/Context;)V
-HPLandroid/app/Notification$BigPictureStyle;->setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$BigPictureStyle;
-HPLandroid/app/Notification$BigPictureStyle;->setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigPictureStyle;
-HPLandroid/app/Notification$BigTextStyle;->applyBigTextContentView(Landroid/app/Notification$Builder;Landroid/widget/RemoteViews;Ljava/lang/CharSequence;)V
+HPLandroid/app/Notification$Action;->isContextual()Z
+HPLandroid/app/Notification$BigPictureStyle;-><init>()V
+HPLandroid/app/Notification$BigPictureStyle;->areBitmapsObviouslyDifferent(Landroid/graphics/Bitmap;Landroid/graphics/Bitmap;)Z
+HPLandroid/app/Notification$BigPictureStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
+HPLandroid/app/Notification$BigPictureStyle;->getBigPicture()Landroid/graphics/Bitmap;
+HPLandroid/app/Notification$BigPictureStyle;->restoreFromExtras(Landroid/os/Bundle;)V
+HPLandroid/app/Notification$BigTextStyle;-><init>()V
+HPLandroid/app/Notification$BigTextStyle;-><init>(Landroid/app/Notification$Builder;)V
+HPLandroid/app/Notification$BigTextStyle;->addExtras(Landroid/os/Bundle;)V
 HPLandroid/app/Notification$BigTextStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
+HPLandroid/app/Notification$BigTextStyle;->bigText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;
 HPLandroid/app/Notification$BigTextStyle;->getBigText()Ljava/lang/CharSequence;
-HPLandroid/app/Notification$BigTextStyle;->makeBigContentView()Landroid/widget/RemoteViews;
-HPLandroid/app/Notification$BigTextStyle;->makeContentView(Z)Landroid/widget/RemoteViews;
-HPLandroid/app/Notification$BigTextStyle;->makeHeadsUpContentView(Z)Landroid/widget/RemoteViews;
 HPLandroid/app/Notification$BigTextStyle;->restoreFromExtras(Landroid/os/Bundle;)V
-HPLandroid/app/Notification$BigTextStyle;->setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;
-HPLandroid/app/Notification$Builder;->applyStandardTemplate(ILandroid/app/Notification$StandardTemplateParams;Landroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
-HPLandroid/app/Notification$Builder;->applyStandardTemplateWithActions(ILandroid/app/Notification$StandardTemplateParams;Landroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
-HPLandroid/app/Notification$Builder;->bindActivePermissions(Landroid/widget/RemoteViews;Z)V
-HPLandroid/app/Notification$Builder;->bindExpandButton(Landroid/widget/RemoteViews;)V
-HPLandroid/app/Notification$Builder;->bindHeaderAppName(Landroid/widget/RemoteViews;Z)V
-HPLandroid/app/Notification$Builder;->bindHeaderChronometerAndTime(Landroid/widget/RemoteViews;)V
-HPLandroid/app/Notification$Builder;->bindHeaderText(Landroid/widget/RemoteViews;)V
-HPLandroid/app/Notification$Builder;->bindHeaderTextSecondary(Landroid/widget/RemoteViews;Ljava/lang/CharSequence;)V
-HPLandroid/app/Notification$Builder;->bindLargeIcon(Landroid/widget/RemoteViews;Z)Z
-HPLandroid/app/Notification$Builder;->bindLargeIconAndReply(Landroid/widget/RemoteViews;Landroid/app/Notification$StandardTemplateParams;Landroid/app/Notification$TemplateBindResult;)V
-HPLandroid/app/Notification$Builder;->bindNotificationHeader(Landroid/widget/RemoteViews;ZLjava/lang/CharSequence;)V
-HPLandroid/app/Notification$Builder;->bindProfileBadge(Landroid/widget/RemoteViews;)V
-HPLandroid/app/Notification$Builder;->bindReplyIcon(Landroid/widget/RemoteViews;Z)Z
-HPLandroid/app/Notification$Builder;->bindSmallIcon(Landroid/widget/RemoteViews;Z)V
-HPLandroid/app/Notification$Builder;->calculateMarginEnd(ZZ)I
-HPLandroid/app/Notification$Builder;->createBigContentView()Landroid/widget/RemoteViews;
-HPLandroid/app/Notification$Builder;->createContentView()Landroid/widget/RemoteViews;
-HPLandroid/app/Notification$Builder;->createContentView(Z)Landroid/widget/RemoteViews;
-HPLandroid/app/Notification$Builder;->createHeadsUpContentView()Landroid/widget/RemoteViews;
-HPLandroid/app/Notification$Builder;->createHeadsUpContentView(Z)Landroid/widget/RemoteViews;
-HPLandroid/app/Notification$Builder;->ensureColors()V
+HPLandroid/app/Notification$BigTextStyle;->setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;
+HPLandroid/app/Notification$Builder;->addAction(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;
 HPLandroid/app/Notification$Builder;->extend(Landroid/app/Notification$Extender;)Landroid/app/Notification$Builder;
-HPLandroid/app/Notification$Builder;->findReplyAction()Landroid/app/Notification$Action;
-HPLandroid/app/Notification$Builder;->generateActionButton(Landroid/app/Notification$Action;ZZ)Landroid/widget/RemoteViews;
 HPLandroid/app/Notification$Builder;->getExtras()Landroid/os/Bundle;
-HPLandroid/app/Notification$Builder;->getProfileBadge()Landroid/graphics/Bitmap;
-HPLandroid/app/Notification$Builder;->getProfileBadgeDrawable()Landroid/graphics/drawable/Drawable;
-HPLandroid/app/Notification$Builder;->getSecondaryTextColor()I
 HPLandroid/app/Notification$Builder;->getStyle()Landroid/app/Notification$Style;
-HPLandroid/app/Notification$Builder;->handleProgressBar(ZLandroid/widget/RemoteViews;Landroid/os/Bundle;)Z
-HPLandroid/app/Notification$Builder;->hasValidRemoteInput(Landroid/app/Notification$Action;)Z
-HPLandroid/app/Notification$Builder;->loadHeaderAppName()Ljava/lang/String;
-HPLandroid/app/Notification$Builder;->processSmallIconColor(Landroid/graphics/drawable/Icon;Landroid/widget/RemoteViews;Z)V
 HPLandroid/app/Notification$Builder;->recoverBuilder(Landroid/content/Context;Landroid/app/Notification;)Landroid/app/Notification$Builder;
-HPLandroid/app/Notification$Builder;->resetNotificationHeader(Landroid/widget/RemoteViews;)V
-HPLandroid/app/Notification$Builder;->resetStandardTemplate(Landroid/widget/RemoteViews;)V
-HPLandroid/app/Notification$Builder;->resetStandardTemplateWithActions(Landroid/widget/RemoteViews;)V
-HPLandroid/app/Notification$Builder;->resolveContrastColor()I
-HPLandroid/app/Notification$Builder;->resolveNeutralColor()I
-HPLandroid/app/Notification$Builder;->sanitizeColor()V
-HPLandroid/app/Notification$Builder;->setColorized(Z)Landroid/app/Notification$Builder;
-HPLandroid/app/Notification$Builder;->setContentMinHeight(Landroid/widget/RemoteViews;Z)V
-HPLandroid/app/Notification$Builder;->textColorsNeedInversion()Z
+HPLandroid/app/Notification$Builder;->setChannel(Ljava/lang/String;)Landroid/app/Notification$Builder;
+HPLandroid/app/Notification$Builder;->setStyle(Landroid/app/Notification$Style;)Landroid/app/Notification$Builder;
 HPLandroid/app/Notification$Builder;->usesStandardHeader()Z
-HPLandroid/app/Notification$BuilderRemoteViews;->clone()Landroid/app/Notification$BuilderRemoteViews;
-HPLandroid/app/Notification$BuilderRemoteViews;->clone()Landroid/widget/RemoteViews;
 HPLandroid/app/Notification$DecoratedCustomViewStyle;-><init>()V
-HPLandroid/app/Notification$Extender;->extend(Landroid/app/Notification$Builder;)Landroid/app/Notification$Builder;
+HPLandroid/app/Notification$DecoratedCustomViewStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
 HPLandroid/app/Notification$InboxStyle;-><init>()V
 HPLandroid/app/Notification$InboxStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
 HPLandroid/app/Notification$InboxStyle;->getLines()Ljava/util/ArrayList;
 HPLandroid/app/Notification$InboxStyle;->restoreFromExtras(Landroid/os/Bundle;)V
+HPLandroid/app/Notification$MediaStyle;-><init>()V
 HPLandroid/app/Notification$MediaStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
 HPLandroid/app/Notification$MediaStyle;->restoreFromExtras(Landroid/os/Bundle;)V
-HPLandroid/app/Notification$MediaStyle;->setMediaSession(Landroid/media/session/MediaSession$Token;)Landroid/app/Notification$MediaStyle;
 HPLandroid/app/Notification$MessagingStyle$Message;->getMessageFromBundle(Landroid/os/Bundle;)Landroid/app/Notification$MessagingStyle$Message;
 HPLandroid/app/Notification$MessagingStyle$Message;->getMessagesFromBundleArray([Landroid/os/Parcelable;)Ljava/util/List;
+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
 HPLandroid/app/Notification$MessagingStyle;-><init>()V
 HPLandroid/app/Notification$MessagingStyle;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
 HPLandroid/app/Notification$MessagingStyle;->getMessages()Ljava/util/List;
 HPLandroid/app/Notification$MessagingStyle;->restoreFromExtras(Landroid/os/Bundle;)V
-HPLandroid/app/Notification$StandardTemplateParams;->fillTextsFrom(Landroid/app/Notification$Builder;)Landroid/app/Notification$StandardTemplateParams;
-HPLandroid/app/Notification$StandardTemplateParams;->setMaxRemoteInputHistory(I)Landroid/app/Notification$StandardTemplateParams;
+HPLandroid/app/Notification$Style;->addExtras(Landroid/os/Bundle;)V
+HPLandroid/app/Notification$Style;->build()Landroid/app/Notification;
+HPLandroid/app/Notification$Style;->buildStyled(Landroid/app/Notification;)Landroid/app/Notification;
 HPLandroid/app/Notification$Style;->checkBuilder()V
-HPLandroid/app/Notification$Style;->displayCustomViewInline()Z
-HPLandroid/app/Notification$Style;->getStandardView(ILandroid/app/Notification$TemplateBindResult;)Landroid/widget/RemoteViews;
-HPLandroid/app/Notification$Style;->makeContentView(Z)Landroid/widget/RemoteViews;
-HPLandroid/app/Notification$Style;->makeHeadsUpContentView(Z)Landroid/widget/RemoteViews;
+HPLandroid/app/Notification$Style;->internalSetBigContentTitle(Ljava/lang/CharSequence;)V
+HPLandroid/app/Notification$Style;->purgeResources()V
+HPLandroid/app/Notification$Style;->reduceImageSizes(Landroid/content/Context;)V
 HPLandroid/app/Notification$Style;->restoreFromExtras(Landroid/os/Bundle;)V
-HPLandroid/app/Notification$TemplateBindResult;->setIconMarginEnd(I)V
+HPLandroid/app/Notification$Style;->setBuilder(Landroid/app/Notification$Builder;)V
+HPLandroid/app/Notification$Style;->validate(Landroid/content/Context;)V
 HPLandroid/app/Notification$TvExtender;->extend(Landroid/app/Notification$Builder;)Landroid/app/Notification$Builder;
+HPLandroid/app/Notification;->addFieldsFromContext(Landroid/content/pm/ApplicationInfo;Landroid/app/Notification;)V
 HPLandroid/app/Notification;->areActionsVisiblyDifferent(Landroid/app/Notification;Landroid/app/Notification;)Z
 HPLandroid/app/Notification;->areRemoteViewsChanged(Landroid/app/Notification$Builder;Landroid/app/Notification$Builder;)Z
 HPLandroid/app/Notification;->areRemoteViewsChanged(Landroid/widget/RemoteViews;Landroid/widget/RemoteViews;)Z
 HPLandroid/app/Notification;->areStyledNotificationsVisiblyDifferent(Landroid/app/Notification$Builder;Landroid/app/Notification$Builder;)Z
 HPLandroid/app/Notification;->clone()Landroid/app/Notification;
+HPLandroid/app/Notification;->findRemoteInputActionPair(Z)Landroid/util/Pair;
+HPLandroid/app/Notification;->getAllowSystemGeneratedContextualActions()Z
+HPLandroid/app/Notification;->getChannelId()Ljava/lang/String;
+HPLandroid/app/Notification;->getContextualActions()Ljava/util/List;
 HPLandroid/app/Notification;->getGroupAlertBehavior()I
+HPLandroid/app/Notification;->getNotificationStyleClass(Ljava/lang/String;)Ljava/lang/Class;
+HPLandroid/app/Notification;->getTimeoutAfter()J
 HPLandroid/app/Notification;->hasCompletedProgress()Z
 HPLandroid/app/Notification;->hasMediaSession()Z
 HPLandroid/app/Notification;->isColorized()Z
 HPLandroid/app/Notification;->isColorizedMedia()Z
+HPLandroid/app/Notification;->isForegroundService()Z
 HPLandroid/app/Notification;->isGroupChild()Z
+HPLandroid/app/Notification;->isGroupSummary()Z
+HPLandroid/app/Notification;->lambda$writeToParcel$0$Notification(Landroid/os/Parcel;Landroid/app/PendingIntent;Landroid/os/Parcel;I)V
 HPLandroid/app/Notification;->lightenPayload()V
-HPLandroid/app/Notification;->priorityToString(I)Ljava/lang/String;
-HPLandroid/app/Notification;->showsTime()Z
 HPLandroid/app/Notification;->suppressAlertingDueToGrouping()Z
+HPLandroid/app/Notification;->toString()Ljava/lang/String;
+HPLandroid/app/Notification;->visibilityToString(I)Ljava/lang/String;
+HPLandroid/app/Notification;->visitUris(Ljava/util/function/Consumer;)V
+HPLandroid/app/NotificationChannel;->equals(Ljava/lang/Object;)Z
+HPLandroid/app/NotificationChannel;->getDescription()Ljava/lang/String;
+HPLandroid/app/NotificationChannel;->getGroup()Ljava/lang/String;
+HPLandroid/app/NotificationChannel;->getName()Ljava/lang/CharSequence;
+HPLandroid/app/NotificationChannel;->hasUserSetImportance()Z
+HPLandroid/app/NotificationChannel;->isBlockableSystem()Z
+HPLandroid/app/NotificationChannel;->setImportance(I)V
 HPLandroid/app/NotificationChannel;->toJson()Lorg/json/JSONObject;
 HPLandroid/app/NotificationChannel;->writeXmlForBackup(Lorg/xmlpull/v1/XmlSerializer;Landroid/content/Context;)V
+HPLandroid/app/NotificationChannelGroup$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/NotificationChannelGroup;
+HPLandroid/app/NotificationChannelGroup$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/NotificationChannelGroup;-><init>(Landroid/os/Parcel;)V
 HPLandroid/app/NotificationChannelGroup;->addChannel(Landroid/app/NotificationChannel;)V
 HPLandroid/app/NotificationChannelGroup;->clone()Landroid/app/NotificationChannelGroup;
 HPLandroid/app/NotificationChannelGroup;->equals(Ljava/lang/Object;)Z
+HPLandroid/app/NotificationChannelGroup;->getId()Ljava/lang/String;
+HPLandroid/app/NotificationChannelGroup;->getName()Ljava/lang/CharSequence;
 HPLandroid/app/NotificationChannelGroup;->toJson()Lorg/json/JSONObject;
+HPLandroid/app/NotificationManager$Policy;->allowCallsFrom()I
+HPLandroid/app/NotificationManager$Policy;->allowMessages()Z
+HPLandroid/app/NotificationManager$Policy;->allowReminders()Z
+HPLandroid/app/NotificationManager;->getCurrentInterruptionFilter()I
+HPLandroid/app/NotificationManager;->getNotificationChannelGroups()Ljava/util/List;
 HPLandroid/app/NotificationManager;->getService()Landroid/app/INotificationManager;
+HPLandroid/app/NotificationManager;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
 HPLandroid/app/NotificationManager;->matchesCallFilter(Landroid/os/Bundle;)Z
-HPLandroid/app/PackageDeleteObserver$1;->onPackageDeleted(Ljava/lang/String;ILjava/lang/String;)V
-HPLandroid/app/PackageDeleteObserver;-><init>()V
+HPLandroid/app/NotificationManager;->notify(ILandroid/app/Notification;)V
 HPLandroid/app/PackageInstallObserver$1;->onPackageInstalled(Ljava/lang/String;ILjava/lang/String;Landroid/os/Bundle;)V
 HPLandroid/app/PackageInstallObserver;-><init>()V
-HPLandroid/app/PendingIntent;->getForegroundService(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
-HPLandroid/app/PendingIntent;->getIntentSender()Landroid/content/IntentSender;
-HPLandroid/app/PendingIntent;->getTargetPackage()Ljava/lang/String;
+HPLandroid/app/PendingIntent;->getActivitiesAsUser(Landroid/content/Context;I[Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/PendingIntent;
+HPLandroid/app/PendingIntent;->getIntent()Landroid/content/Intent;
 HPLandroid/app/PendingIntent;->readPendingIntentOrNullFromParcel(Landroid/os/Parcel;)Landroid/app/PendingIntent;
 HPLandroid/app/PendingIntent;->send(Landroid/content/Context;ILandroid/content/Intent;)V
 HPLandroid/app/PendingIntent;->send(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;)V
-HPLandroid/app/PendingIntent;->send(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;Ljava/lang/String;)V
-HPLandroid/app/Person$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/Person;
-HPLandroid/app/Person$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/Person$Builder;-><init>()V
 HPLandroid/app/Person$Builder;->build()Landroid/app/Person;
-HPLandroid/app/Person;-><init>(Landroid/os/Parcel;)V
+HPLandroid/app/Person$Builder;->setKey(Ljava/lang/String;)Landroid/app/Person$Builder;
+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;
 HPLandroid/app/PictureInPictureParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/PictureInPictureParams;
 HPLandroid/app/PictureInPictureParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/app/PictureInPictureParams$Builder;->setActions(Ljava/util/List;)Landroid/app/PictureInPictureParams$Builder;
-HPLandroid/app/PictureInPictureParams$Builder;->setAspectRatio(Landroid/util/Rational;)Landroid/app/PictureInPictureParams$Builder;
+HPLandroid/app/PictureInPictureParams$Builder;->setSourceRectHint(Landroid/graphics/Rect;)Landroid/app/PictureInPictureParams$Builder;
 HPLandroid/app/PictureInPictureParams;-><init>(Landroid/os/Parcel;)V
 HPLandroid/app/PictureInPictureParams;->copyOnlySet(Landroid/app/PictureInPictureParams;)V
-HPLandroid/app/PictureInPictureParams;->getAspectRatio()F
 HPLandroid/app/PictureInPictureParams;->truncateActions(I)V
 HPLandroid/app/PictureInPictureParams;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/app/ProcessMemoryHighWaterMark$1;-><init>()V
 HPLandroid/app/ProcessMemoryState$1;-><init>()V
+HPLandroid/app/ProcessMemoryState;-><init>(ILjava/lang/String;IJJJJJJ)V
+HPLandroid/app/ReceiverRestrictedContext;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
+HPLandroid/app/ReceiverRestrictedContext;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
+HPLandroid/app/RemoteAction$1;-><init>()V
 HPLandroid/app/RemoteAction$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/RemoteAction;
 HPLandroid/app/RemoteAction$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/RemoteAction;-><init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V
 HPLandroid/app/RemoteAction;-><init>(Landroid/os/Parcel;)V
+HPLandroid/app/RemoteAction;->getActionIntent()Landroid/app/PendingIntent;
 HPLandroid/app/RemoteAction;->getIcon()Landroid/graphics/drawable/Icon;
 HPLandroid/app/RemoteAction;->getTitle()Ljava/lang/CharSequence;
+HPLandroid/app/RemoteAction;->shouldShowIcon()Z
 HPLandroid/app/RemoteAction;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/app/RemoteInput$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/RemoteInput;
 HPLandroid/app/RemoteInput$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/app/RemoteInput$1;->newArray(I)[Landroid/app/RemoteInput;
 HPLandroid/app/RemoteInput$1;->newArray(I)[Ljava/lang/Object;
 HPLandroid/app/RemoteInput;-><init>(Landroid/os/Parcel;)V
-HPLandroid/app/ResultInfo;-><init>(Ljava/lang/String;IILandroid/content/Intent;)V
+HPLandroid/app/RemoteInput;->getAllowFreeFormInput()Z
+HPLandroid/app/RemoteInput;->getChoices()[Ljava/lang/CharSequence;
+HPLandroid/app/RemoteInput;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/app/ResourcesManager;->appendLibAssetForMainAssetPath(Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/app/ResourcesManager;->applyNonDefaultDisplayMetricsToConfiguration(Landroid/util/DisplayMetrics;Landroid/content/res/Configuration;)V
+HPLandroid/app/ResourcesManager;->findKeyForResourceImplLocked(Landroid/content/res/ResourcesImpl;)Landroid/content/res/ResourcesKey;
+HPLandroid/app/ResourcesManager;->isSameResourcesOverrideConfig(Landroid/os/IBinder;Landroid/content/res/Configuration;)Z
 HPLandroid/app/ResultInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/app/SearchManager;->getSearchableInfo(Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
 HPLandroid/app/SearchManager;->stopSearch()V
+HPLandroid/app/SearchableInfo$1;-><init>()V
+HPLandroid/app/SearchableInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/SearchableInfo;
+HPLandroid/app/SearchableInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/app/SearchableInfo;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;Landroid/content/ComponentName;)V
+HPLandroid/app/SearchableInfo;-><init>(Landroid/os/Parcel;)V
 HPLandroid/app/SearchableInfo;->createActivityContext(Landroid/content/Context;Landroid/content/ComponentName;)Landroid/content/Context;
 HPLandroid/app/SearchableInfo;->getActivityMetaData(Landroid/content/Context;Landroid/content/pm/ActivityInfo;I)Landroid/app/SearchableInfo;
 HPLandroid/app/SearchableInfo;->getActivityMetaData(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
+HPLandroid/app/SearchableInfo;->getImeOptions()I
+HPLandroid/app/SearchableInfo;->getInputType()I
+HPLandroid/app/SearchableInfo;->getSuggestAuthority()Ljava/lang/String;
+HPLandroid/app/SearchableInfo;->getSuggestThreshold()I
+HPLandroid/app/SearchableInfo;->getVoiceSearchEnabled()Z
+HPLandroid/app/SearchableInfo;->getVoiceSearchLaunchRecognizer()Z
+HPLandroid/app/SearchableInfo;->getVoiceSearchLaunchWebSearch()Z
 HPLandroid/app/SearchableInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/app/Service;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLandroid/app/Service;->onLowMemory()V
 HPLandroid/app/Service;->onTaskRemoved(Landroid/content/Intent;)V
-HPLandroid/app/SharedElementCallback;-><init>()V
-HPLandroid/app/SharedElementCallback;->onCaptureSharedElementSnapshot(Landroid/view/View;Landroid/graphics/Matrix;Landroid/graphics/RectF;)Landroid/os/Parcelable;
-HPLandroid/app/SharedElementCallback;->onCreateSnapshotView(Landroid/content/Context;Landroid/os/Parcelable;)Landroid/view/View;
-HPLandroid/app/SharedElementCallback;->onMapSharedElements(Ljava/util/List;Ljava/util/Map;)V
-HPLandroid/app/SharedElementCallback;->onRejectSharedElements(Ljava/util/List;)V
-HPLandroid/app/SharedElementCallback;->onSharedElementEnd(Ljava/util/List;Ljava/util/List;Ljava/util/List;)V
-HPLandroid/app/SharedElementCallback;->onSharedElementStart(Ljava/util/List;Ljava/util/List;Ljava/util/List;)V
-HPLandroid/app/SharedElementCallback;->onSharedElementsArrived(Ljava/util/List;Ljava/util/List;Landroid/app/SharedElementCallback$OnSharedElementsReadyListener;)V
-HPLandroid/app/SharedPreferencesImpl$EditorImpl$1;-><init>(Landroid/app/SharedPreferencesImpl$EditorImpl;Landroid/app/SharedPreferencesImpl$MemoryCommitResult;J)V
-HPLandroid/app/SharedPreferencesImpl$EditorImpl$2;-><init>(Landroid/app/SharedPreferencesImpl$EditorImpl;Ljava/lang/Runnable;)V
-HPLandroid/app/SharedPreferencesImpl;->access$100(Landroid/app/SharedPreferencesImpl;Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Ljava/lang/Runnable;)V
+HPLandroid/app/Service;->stopSelfResult(I)Z
 HPLandroid/app/StatsManager;->addConfig(J[B)V
 HPLandroid/app/StatsManager;->getIStatsManagerLocked()Landroid/os/IStatsManager;
 HPLandroid/app/StatsManager;->getReports(J)[B
 HPLandroid/app/StatsManager;->getStatsMetadata()[B
+HPLandroid/app/StatsManager;->setBroadcastSubscriber(Landroid/app/PendingIntent;JJ)V
 HPLandroid/app/StatsManager;->setFetchReportsOperation(Landroid/app/PendingIntent;J)V
+HPLandroid/app/StatusBarManager;->disable(I)V
 HPLandroid/app/StatusBarManager;->getService()Lcom/android/internal/statusbar/IStatusBarService;
 HPLandroid/app/StatusBarManager;->removeIcon(Ljava/lang/String;)V
 HPLandroid/app/StatusBarManager;->setIcon(Ljava/lang/String;IILjava/lang/String;)V
-HPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Landroid/app/StatsManager;
-HPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HPLandroid/app/SystemServiceRegistry$54;->createService(Landroid/app/ContextImpl;)Landroid/net/wifi/WifiScanner;
-HPLandroid/app/SystemServiceRegistry$54;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HPLandroid/app/SystemServiceRegistry$55;->createService(Landroid/app/ContextImpl;)Landroid/net/wifi/RttManager;
-HPLandroid/app/SystemServiceRegistry$55;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HPLandroid/app/SystemServiceRegistry$61;->createService(Landroid/app/ContextImpl;)Landroid/hardware/camera2/CameraManager;
-HPLandroid/app/SystemServiceRegistry$61;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HPLandroid/app/SystemServiceRegistry$64;->createService(Landroid/app/ContextImpl;)Landroid/print/PrintManager;
-HPLandroid/app/SystemServiceRegistry$64;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HPLandroid/app/SystemServiceRegistry$76;->createService()Landroid/service/oemlock/OemLockManager;
-HPLandroid/app/SystemServiceRegistry$76;->createService()Ljava/lang/Object;
-HPLandroid/app/SystemServiceRegistry$86;->createService(Landroid/app/ContextImpl;)Landroid/hardware/location/ContextHubManager;
-HPLandroid/app/SystemServiceRegistry$86;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HPLandroid/app/SystemServiceRegistry$28;->createService(Landroid/app/ContextImpl;)Landroid/view/textservice/TextServicesManager;
+HPLandroid/app/SystemServiceRegistry$28;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HPLandroid/app/SystemServiceRegistry$2;->createService(Landroid/app/ContextImpl;)Landroid/view/accessibility/CaptioningManager;
+HPLandroid/app/SystemServiceRegistry$2;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HPLandroid/app/SystemServiceRegistry$40;->createService(Landroid/app/ContextImpl;)Landroid/app/StatsManager;
+HPLandroid/app/SystemServiceRegistry$40;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Landroid/app/StatsManager;
+HPLandroid/app/SystemServiceRegistry$44;->createService(Landroid/app/ContextImpl;)Landroid/os/SystemUpdateManager;
+HPLandroid/app/SystemServiceRegistry$62;->createService(Landroid/app/ContextImpl;)Landroid/net/wifi/WifiScanner;
+HPLandroid/app/SystemServiceRegistry$62;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HPLandroid/app/SystemServiceRegistry$63;->createService(Landroid/app/ContextImpl;)Landroid/net/wifi/RttManager;
+HPLandroid/app/SystemServiceRegistry$70;->createService(Landroid/app/ContextImpl;)Landroid/hardware/camera2/CameraManager;
+HPLandroid/app/SystemServiceRegistry$72;->createService(Landroid/app/ContextImpl;)Landroid/print/PrintManager;
+HPLandroid/app/SystemServiceRegistry$73;->createService(Landroid/app/ContextImpl;)Landroid/companion/CompanionDeviceManager;
+HPLandroid/app/SystemServiceRegistry$80;->createService(Landroid/app/ContextImpl;)Landroid/hardware/biometrics/BiometricManager;
+HPLandroid/app/SystemServiceRegistry$80;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HPLandroid/app/SystemServiceRegistry$86;->createService()Landroid/service/persistentdata/PersistentDataBlockManager;
+HPLandroid/app/SystemServiceRegistry$87;->createService()Landroid/service/oemlock/OemLockManager;
+HPLandroid/app/SystemServiceRegistry$93;->createService(Landroid/app/ContextImpl;)Landroid/media/soundtrigger/SoundTriggerManager;
+HPLandroid/app/SystemServiceRegistry$93;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HPLandroid/app/SystemServiceRegistry$98;->createService(Landroid/app/ContextImpl;)Landroid/hardware/location/ContextHubManager;
+HPLandroid/app/SystemServiceRegistry$98;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HPLandroid/app/TaskStackBuilder;->addNextIntent(Landroid/content/Intent;)Landroid/app/TaskStackBuilder;
+HPLandroid/app/TaskStackBuilder;->create(Landroid/content/Context;)Landroid/app/TaskStackBuilder;
+HPLandroid/app/TaskStackBuilder;->getIntents()[Landroid/content/Intent;
+HPLandroid/app/TaskStackBuilder;->getPendingIntent(IILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/PendingIntent;
+HPLandroid/app/TaskStackListener;->onActivityPinned(Ljava/lang/String;III)V
 HPLandroid/app/TaskStackListener;->onActivityRequestedOrientationChanged(II)V
+HPLandroid/app/TaskStackListener;->onActivityUnpinned()V
+HPLandroid/app/TaskStackListener;->onPinnedStackAnimationEnded()V
+HPLandroid/app/TaskStackListener;->onPinnedStackAnimationStarted()V
 HPLandroid/app/TaskStackListener;->onTaskCreated(ILandroid/content/ComponentName;)V
+HPLandroid/app/TaskStackListener;->onTaskDescriptionChanged(ILandroid/app/ActivityManager$TaskDescription;)V
+HPLandroid/app/TaskStackListener;->onTaskDescriptionChanged(Landroid/app/ActivityManager$RunningTaskInfo;)V
+HPLandroid/app/TaskStackListener;->onTaskMovedToFront(I)V
+HPLandroid/app/TaskStackListener;->onTaskMovedToFront(Landroid/app/ActivityManager$RunningTaskInfo;)V
 HPLandroid/app/TaskStackListener;->onTaskRemovalStarted(I)V
+HPLandroid/app/TaskStackListener;->onTaskRemovalStarted(Landroid/app/ActivityManager$RunningTaskInfo;)V
 HPLandroid/app/TaskStackListener;->onTaskRemoved(I)V
 HPLandroid/app/TaskStackListener;->onTaskSnapshotChanged(ILandroid/app/ActivityManager$TaskSnapshot;)V
 HPLandroid/app/UserSwitchObserver;->onForegroundProfileSwitch(I)V
+HPLandroid/app/WallpaperManager$Globals;->removeOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;II)V
 HPLandroid/app/WallpaperManager;->getWallpaperFile(II)Landroid/os/ParcelFileDescriptor;
-HPLandroid/app/WallpaperManager;->isSetWallpaperAllowed()Z
 HPLandroid/app/WallpaperManager;->isWallpaperBackupEligible(I)Z
+HPLandroid/app/WallpaperManager;->removeOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;)V
+HPLandroid/app/WallpaperManager;->removeOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;I)V
 HPLandroid/app/WindowConfiguration;->canResizeTask()Z
 HPLandroid/app/WindowConfiguration;->hasMovementAnimations()Z
-HPLandroid/app/WindowConfiguration;->persistTaskBounds()Z
+HPLandroid/app/admin/DeviceAdminInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)V
+HPLandroid/app/admin/DeviceAdminInfo;->getActivityInfo()Landroid/content/pm/ActivityInfo;
+HPLandroid/app/admin/DeviceAdminInfo;->getUsedPolicies()Ljava/util/ArrayList;
+HPLandroid/app/admin/DeviceAdminInfo;->isVisible()Z
+HPLandroid/app/admin/DeviceAdminInfo;->loadDescription(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
+HPLandroid/app/admin/DeviceAdminInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
+HPLandroid/app/admin/DeviceAdminInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
 HPLandroid/app/admin/DeviceAdminInfo;->writePoliciesToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-HPLandroid/app/admin/DevicePolicyManager;->getCurrentFailedPasswordAttempts()I
+HPLandroid/app/admin/DevicePolicyEventLogger;->createEvent(I)Landroid/app/admin/DevicePolicyEventLogger;
+HPLandroid/app/admin/DevicePolicyEventLogger;->write()V
+HPLandroid/app/admin/DevicePolicyManager;->checkDeviceIdentifierAccessAsUser(Ljava/lang/String;I)Z
+HPLandroid/app/admin/DevicePolicyManager;->getAccountTypesWithManagementDisabledAsUser(I)[Ljava/lang/String;
 HPLandroid/app/admin/DevicePolicyManager;->getCurrentFailedPasswordAttempts(I)I
 HPLandroid/app/admin/DevicePolicyManager;->getDeviceOwner()Ljava/lang/String;
-HPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerComponentOnAnyUser()Landroid/content/ComponentName;
 HPLandroid/app/admin/DevicePolicyManager;->getDeviceOwnerComponentOnCallingUser()Landroid/content/ComponentName;
+HPLandroid/app/admin/DevicePolicyManager;->getGlobalProxyAdmin()Landroid/content/ComponentName;
+HPLandroid/app/admin/DevicePolicyManager;->getLongSupportMessageForUser(Landroid/content/ComponentName;I)Ljava/lang/CharSequence;
+HPLandroid/app/admin/DevicePolicyManager;->getMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;I)I
 HPLandroid/app/admin/DevicePolicyManager;->getMaximumTimeToLock(Landroid/content/ComponentName;I)J
-HPLandroid/app/admin/DevicePolicyManager;->getPasswordQuality(Landroid/content/ComponentName;)I
-HPLandroid/app/admin/DevicePolicyManager;->getPasswordQuality(Landroid/content/ComponentName;I)I
+HPLandroid/app/admin/DevicePolicyManager;->getOrganizationNameForUser(I)Ljava/lang/CharSequence;
+HPLandroid/app/admin/DevicePolicyManager;->getParentProfileInstance(Landroid/content/pm/UserInfo;)Landroid/app/admin/DevicePolicyManager;
+HPLandroid/app/admin/DevicePolicyManager;->getPermissionPolicy(Landroid/content/ComponentName;)I
+HPLandroid/app/admin/DevicePolicyManager;->getProfileOwnerAsUser(Landroid/os/UserHandle;)Landroid/content/ComponentName;
+HPLandroid/app/admin/DevicePolicyManager;->getRemoveWarning(Landroid/content/ComponentName;Landroid/os/RemoteCallback;)V
 HPLandroid/app/admin/DevicePolicyManager;->getRequiredStrongAuthTimeout(Landroid/content/ComponentName;I)J
-HPLandroid/app/admin/DevicePolicyManager;->isDeviceManaged()Z
+HPLandroid/app/admin/DevicePolicyManager;->isAdminActive(Landroid/content/ComponentName;)Z
+HPLandroid/app/admin/DevicePolicyManager;->isAdminActiveAsUser(Landroid/content/ComponentName;I)Z
 HPLandroid/app/admin/DevicePolicyManager;->isDeviceProvisioned()Z
 HPLandroid/app/admin/DevicePolicyManager;->isNotificationListenerServicePermitted(Ljava/lang/String;I)Z
+HPLandroid/app/admin/DevicePolicyManager;->isRemovingAdmin(Landroid/content/ComponentName;I)Z
 HPLandroid/app/admin/DevicePolicyManager;->isSeparateProfileChallengeAllowed(I)Z
-HPLandroid/app/admin/DevicePolicyManager;->isUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;)Z
 HPLandroid/app/admin/DevicePolicyManager;->notifyPendingSystemUpdate(J)V
+HPLandroid/app/admin/DevicePolicyManager;->removeActiveAdmin(Landroid/content/ComponentName;)V
+HPLandroid/app/admin/DevicePolicyManager;->reportSuccessfulPasswordAttempt(I)V
+HPLandroid/app/admin/DevicePolicyManager;->setActiveAdmin(Landroid/content/ComponentName;Z)V
+HPLandroid/app/admin/DevicePolicyManager;->setActiveAdmin(Landroid/content/ComponentName;ZI)V
 HPLandroid/app/admin/DevicePolicyManager;->setActivePasswordState(Landroid/app/admin/PasswordMetrics;I)V
+HPLandroid/app/admin/DevicePolicyManager;->throwIfParentInstance(Ljava/lang/String;)V
 HPLandroid/app/admin/IDeviceAdminService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/admin/IDeviceAdminService;
+HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->checkDeviceIdentifierAccess(Ljava/lang/String;III)Z
+HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getAccountTypesWithManagementDisabledAsUser(I)[Ljava/lang/String;
 HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getCurrentFailedPasswordAttempts(IZ)I
-HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPasswordQuality(Landroid/content/ComponentName;IZ)I
-HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->hasDeviceOwner()Z
+HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getGlobalProxyAdmin(I)Landroid/content/ComponentName;
+HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getLongSupportMessageForUser(Landroid/content/ComponentName;I)Ljava/lang/CharSequence;
+HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;IZ)I
+HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getMaximumTimeToLock(Landroid/content/ComponentName;IZ)J
+HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getOrganizationNameForUser(I)Ljava/lang/CharSequence;
+HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPermissionPolicy(Landroid/content/ComponentName;)I
+HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getRemoveWarning(Landroid/content/ComponentName;Landroid/os/RemoteCallback;I)V
+HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isAdminActive(Landroid/content/ComponentName;I)Z
+HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isRemovingAdmin(Landroid/content/ComponentName;I)Z
 HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isSeparateProfileChallengeAllowed(I)Z
-HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;)Z
 HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->notifyPendingSystemUpdate(Landroid/app/admin/SystemUpdateInfo;)V
-HPLandroid/app/admin/IDevicePolicyManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/admin/IDevicePolicyManager;
+HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->removeActiveAdmin(Landroid/content/ComponentName;I)V
+HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->reportSuccessfulPasswordAttempt(I)V
+HPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->setActiveAdmin(Landroid/content/ComponentName;ZI)V
+HPLandroid/app/admin/IDevicePolicyManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/app/admin/PasswordMetrics$PasswordComplexityBucket;-><init>(I[Landroid/app/admin/PasswordMetrics;)V
+HPLandroid/app/admin/PasswordMetrics;-><init>()V
+HPLandroid/app/admin/PasswordMetrics;-><init>(I)V
+HPLandroid/app/admin/PasswordMetrics;-><init>(II)V
+HPLandroid/app/admin/PasswordMetrics;->complexityLevelToMinQuality(I)I
 HPLandroid/app/admin/PasswordMetrics;->computeForPassword(Ljava/lang/String;)Landroid/app/admin/PasswordMetrics;
+HPLandroid/app/admin/PasswordMetrics;->computeForPassword([B)Landroid/app/admin/PasswordMetrics;
 HPLandroid/app/admin/PasswordMetrics;->maxLengthSequence(Ljava/lang/String;)I
-HPLandroid/app/admin/SystemUpdateInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/admin/SystemUpdateInfo;
-HPLandroid/app/admin/SystemUpdateInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/app/admin/SystemUpdateInfo;->equals(Ljava/lang/Object;)Z
-HPLandroid/app/admin/SystemUpdateInfo;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;)V
+HPLandroid/app/admin/PasswordMetrics;->maxLengthSequence([B)I
+HPLandroid/app/admin/SystemUpdatePolicy$1;-><init>()V
 HPLandroid/app/assist/AssistContent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/assist/AssistContent;
 HPLandroid/app/assist/AssistContent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/app/assist/AssistContent;-><init>(Landroid/os/Parcel;)V
@@ -942,19 +1009,29 @@
 HPLandroid/app/assist/AssistContent;->getStructuredData()Ljava/lang/String;
 HPLandroid/app/assist/AssistContent;->getWebUri()Landroid/net/Uri;
 HPLandroid/app/assist/AssistContent;->isAppProvidedIntent()Z
-HPLandroid/app/assist/AssistContent;->setStructuredData(Ljava/lang/String;)V
-HPLandroid/app/assist/AssistContent;->setWebUri(Landroid/net/Uri;)V
+HPLandroid/app/assist/AssistContent;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/app/assist/AssistContent;->writeToParcelInternal(Landroid/os/Parcel;I)V
 HPLandroid/app/assist/AssistStructure$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/assist/AssistStructure;
 HPLandroid/app/assist/AssistStructure$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/app/assist/AssistStructure$ParcelTransferReader;->fetchData()V
 HPLandroid/app/assist/AssistStructure$ParcelTransferReader;->go()V
 HPLandroid/app/assist/AssistStructure$ParcelTransferReader;->readParcel(II)Landroid/os/Parcel;
+HPLandroid/app/assist/AssistStructure$ParcelTransferWriter;-><init>(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;)V
+HPLandroid/app/assist/AssistStructure$ParcelTransferWriter;->pushViewStackEntry(Landroid/app/assist/AssistStructure$ViewNode;I)V
+HPLandroid/app/assist/AssistStructure$ParcelTransferWriter;->writeNextEntryToParcel(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;Landroid/os/PooledStringWriter;)Z
+HPLandroid/app/assist/AssistStructure$ParcelTransferWriter;->writeToParcel(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;)V
+HPLandroid/app/assist/AssistStructure$ParcelTransferWriter;->writeToParcelInner(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;)Z
+HPLandroid/app/assist/AssistStructure$ParcelTransferWriter;->writeView(Landroid/app/assist/AssistStructure$ViewNode;Landroid/os/Parcel;Landroid/os/PooledStringWriter;I)V
+HPLandroid/app/assist/AssistStructure$SendChannel;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/app/assist/AssistStructure$ViewNode;-><init>(Landroid/app/assist/AssistStructure$ParcelTransferReader;I)V
 HPLandroid/app/assist/AssistStructure$ViewNode;->getAlpha()F
 HPLandroid/app/assist/AssistStructure$ViewNode;->getAutofillHints()[Ljava/lang/String;
 HPLandroid/app/assist/AssistStructure$ViewNode;->getAutofillId()Landroid/view/autofill/AutofillId;
+HPLandroid/app/assist/AssistStructure$ViewNode;->getAutofillOptions()[Ljava/lang/CharSequence;
 HPLandroid/app/assist/AssistStructure$ViewNode;->getAutofillType()I
+HPLandroid/app/assist/AssistStructure$ViewNode;->getAutofillValue()Landroid/view/autofill/AutofillValue;
 HPLandroid/app/assist/AssistStructure$ViewNode;->getChildAt(I)Landroid/app/assist/AssistStructure$ViewNode;
+HPLandroid/app/assist/AssistStructure$ViewNode;->getChildCount()I
 HPLandroid/app/assist/AssistStructure$ViewNode;->getClassName()Ljava/lang/String;
 HPLandroid/app/assist/AssistStructure$ViewNode;->getContentDescription()Ljava/lang/CharSequence;
 HPLandroid/app/assist/AssistStructure$ViewNode;->getElevation()F
@@ -965,6 +1042,7 @@
 HPLandroid/app/assist/AssistStructure$ViewNode;->getIdEntry()Ljava/lang/String;
 HPLandroid/app/assist/AssistStructure$ViewNode;->getInputType()I
 HPLandroid/app/assist/AssistStructure$ViewNode;->getLeft()I
+HPLandroid/app/assist/AssistStructure$ViewNode;->getMaxTextLength()I
 HPLandroid/app/assist/AssistStructure$ViewNode;->getScrollX()I
 HPLandroid/app/assist/AssistStructure$ViewNode;->getScrollY()I
 HPLandroid/app/assist/AssistStructure$ViewNode;->getText()Ljava/lang/CharSequence;
@@ -993,22 +1071,51 @@
 HPLandroid/app/assist/AssistStructure$ViewNode;->isLongClickable()Z
 HPLandroid/app/assist/AssistStructure$ViewNode;->isSelected()Z
 HPLandroid/app/assist/AssistStructure$ViewNode;->setAutofillOverlay(Landroid/app/assist/AssistStructure$AutofillOverlay;)V
-HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->asyncCommit()V
-HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->asyncNewChild(I)Landroid/view/ViewStructure;
-HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->getTempRect()Landroid/graphics/Rect;
-HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setActivated(Z)V
-HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setText(Ljava/lang/CharSequence;II)V
-HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setTextLines([I[I)V
-HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setTextStyle(FIII)V
-HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setTransformation(Landroid/graphics/Matrix;)V
+HPLandroid/app/assist/AssistStructure$ViewNode;->writeSelfToParcel(Landroid/os/Parcel;Landroid/os/PooledStringWriter;Z[F)I
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->getChildCount()I
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->getText()Ljava/lang/CharSequence;
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->newChild(I)Landroid/view/ViewStructure;
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setAutofillHints([Ljava/lang/String;)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setAutofillId(Landroid/view/autofill/AutofillId;)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setAutofillType(I)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setAutofillValue(Landroid/view/autofill/AutofillValue;)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setCheckable(Z)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setChildCount(I)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setClassName(Ljava/lang/String;)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setClickable(Z)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setContentDescription(Ljava/lang/CharSequence;)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setDataIsSensitive(Z)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setDimens(IIIIII)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setEnabled(Z)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setFocusable(Z)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setFocused(Z)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setHint(Ljava/lang/CharSequence;)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setId(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setImportantForAutofill(I)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setInputType(I)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setLongClickable(Z)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setMaxTextEms(I)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setMaxTextLength(I)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setMinTextEms(I)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setOpaque(Z)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setSelected(Z)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setText(Ljava/lang/CharSequence;)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setTextIdEntry(Ljava/lang/String;)V
+HPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setVisibility(I)V
 HPLandroid/app/assist/AssistStructure$ViewNodeText;-><init>(Landroid/os/Parcel;Z)V
+HPLandroid/app/assist/AssistStructure$ViewNodeText;->writeToParcel(Landroid/os/Parcel;ZZ)V
 HPLandroid/app/assist/AssistStructure$WindowNode;-><init>(Landroid/app/assist/AssistStructure$ParcelTransferReader;)V
+HPLandroid/app/assist/AssistStructure$WindowNode;-><init>(Landroid/app/assist/AssistStructure;Landroid/view/ViewRootImpl;ZI)V
+HPLandroid/app/assist/AssistStructure$WindowNode;->getDisplayId()I
 HPLandroid/app/assist/AssistStructure$WindowNode;->getHeight()I
 HPLandroid/app/assist/AssistStructure$WindowNode;->getLeft()I
 HPLandroid/app/assist/AssistStructure$WindowNode;->getRootViewNode()Landroid/app/assist/AssistStructure$ViewNode;
 HPLandroid/app/assist/AssistStructure$WindowNode;->getTitle()Ljava/lang/CharSequence;
 HPLandroid/app/assist/AssistStructure$WindowNode;->getTop()I
 HPLandroid/app/assist/AssistStructure$WindowNode;->getWidth()I
+HPLandroid/app/assist/AssistStructure$WindowNode;->resolveViewAutofillFlags(Landroid/content/Context;I)I
+HPLandroid/app/assist/AssistStructure$WindowNode;->writeSelfToParcel(Landroid/os/Parcel;Landroid/os/PooledStringWriter;[F)V
+HPLandroid/app/assist/AssistStructure;-><init>(Landroid/app/Activity;ZI)V
 HPLandroid/app/assist/AssistStructure;-><init>(Landroid/os/Parcel;)V
 HPLandroid/app/assist/AssistStructure;->clearSendChannel()V
 HPLandroid/app/assist/AssistStructure;->ensureData()V
@@ -1017,169 +1124,280 @@
 HPLandroid/app/assist/AssistStructure;->getFlags()I
 HPLandroid/app/assist/AssistStructure;->getWindowNodeAt(I)Landroid/app/assist/AssistStructure$WindowNode;
 HPLandroid/app/assist/AssistStructure;->getWindowNodeCount()I
+HPLandroid/app/assist/AssistStructure;->isHomeActivity()Z
 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
+HPLandroid/app/assist/AssistStructure;->waitForReady()Z
+HPLandroid/app/assist/AssistStructure;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/app/backup/BackupAgent$BackupServiceBinder;->doBackup(Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;JLandroid/app/backup/IBackupCallback;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
+HPLandroid/app/backup/BackupAgent$BackupServiceBinder;->doRestoreFile(Landroid/os/ParcelFileDescriptor;JILjava/lang/String;Ljava/lang/String;JJILandroid/app/backup/IBackupManager;)V
+HPLandroid/app/backup/BackupAgent$BackupServiceBinder;->doRestoreFinished(ILandroid/app/backup/IBackupManager;)V
+HPLandroid/app/backup/BackupAgent$SharedPrefsSynchronizer;->run()V
 HPLandroid/app/backup/BackupAgent;-><init>()V
+HPLandroid/app/backup/BackupAgent;->access$100(Landroid/app/backup/BackupAgent;)V
+HPLandroid/app/backup/BackupAgent;->access$200(Landroid/app/backup/BackupAgent;)I
+HPLandroid/app/backup/BackupAgent;->attach(Landroid/content/Context;)V
 HPLandroid/app/backup/BackupAgent;->fullBackupFile(Ljava/io/File;Landroid/app/backup/FullBackupDataOutput;)V
+HPLandroid/app/backup/BackupAgent;->getHandler()Landroid/os/Handler;
+HPLandroid/app/backup/BackupAgent;->isFileEligibleForRestore(Ljava/io/File;)Z
 HPLandroid/app/backup/BackupAgent;->onCreate()V
-HPLandroid/app/backup/BackupDataInput;-><init>(Ljava/io/FileDescriptor;)V
-HPLandroid/app/backup/BackupDataInput;->finalize()V
-HPLandroid/app/backup/BackupDataInput;->getDataSize()I
-HPLandroid/app/backup/BackupDataInput;->getKey()Ljava/lang/String;
-HPLandroid/app/backup/BackupDataInput;->readEntityData([BII)I
-HPLandroid/app/backup/BackupDataInput;->readNextHeader()Z
+HPLandroid/app/backup/BackupAgent;->onCreate(Landroid/os/UserHandle;)V
+HPLandroid/app/backup/BackupAgent;->onDestroy()V
+HPLandroid/app/backup/BackupAgent;->onRestoreFile(Landroid/os/ParcelFileDescriptor;JILjava/lang/String;Ljava/lang/String;JJ)V
+HPLandroid/app/backup/BackupAgent;->onRestoreFile(Landroid/os/ParcelFileDescriptor;JLjava/io/File;IJJ)V
+HPLandroid/app/backup/BackupAgent;->onRestoreFinished()V
+HPLandroid/app/backup/BackupAgent;->waitForSharedPrefs()V
+HPLandroid/app/backup/BackupAgentHelper;-><init>()V
+HPLandroid/app/backup/BackupAgentHelper;->addHelper(Ljava/lang/String;Landroid/app/backup/BackupHelper;)V
+HPLandroid/app/backup/BackupAgentHelper;->onBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
 HPLandroid/app/backup/BackupDataInput;->skipEntityData()V
-HPLandroid/app/backup/BackupDataOutput;-><init>(Ljava/io/FileDescriptor;)V
-HPLandroid/app/backup/BackupDataOutput;->writeEntityData([BI)I
-HPLandroid/app/backup/BackupDataOutput;->writeEntityHeader(Ljava/lang/String;I)I
+HPLandroid/app/backup/BackupDataOutput;->setKeyPrefix(Ljava/lang/String;)V
+HPLandroid/app/backup/BackupHelperDispatcher;->addHelper(Ljava/lang/String;Landroid/app/backup/BackupHelper;)V
+HPLandroid/app/backup/BackupHelperDispatcher;->doOneBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupHelperDispatcher$Header;Landroid/app/backup/BackupHelper;)V
+HPLandroid/app/backup/BackupHelperDispatcher;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
+HPLandroid/app/backup/BackupManager$BackupManagerMonitorWrapper;->onEvent(Landroid/os/Bundle;)V
+HPLandroid/app/backup/BackupManager$BackupObserverWrapper$1;->handleMessage(Landroid/os/Message;)V
+HPLandroid/app/backup/BackupManager$BackupObserverWrapper;->backupFinished(I)V
+HPLandroid/app/backup/BackupManager$BackupObserverWrapper;->onResult(Ljava/lang/String;I)V
+HPLandroid/app/backup/BackupManager$BackupObserverWrapper;->onUpdate(Ljava/lang/String;Landroid/app/backup/BackupProgress;)V
+HPLandroid/app/backup/BackupManager;->isAppEligibleForBackup(Ljava/lang/String;)Z
 HPLandroid/app/backup/BackupManager;->isBackupEnabled()Z
-HPLandroid/app/backup/BackupManager;->listAllTransports()[Ljava/lang/String;
-HPLandroid/app/backup/BackupManager;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
+HPLandroid/app/backup/BackupManager;->requestBackup([Ljava/lang/String;Landroid/app/backup/BackupObserver;Landroid/app/backup/BackupManagerMonitor;I)I
+HPLandroid/app/backup/BackupManagerMonitor;-><init>()V
+HPLandroid/app/backup/BackupObserver;-><init>()V
+HPLandroid/app/backup/BackupObserver;->onUpdate(Ljava/lang/String;Landroid/app/backup/BackupProgress;)V
 HPLandroid/app/backup/BackupProgress$1;-><init>()V
+HPLandroid/app/backup/BackupProgress$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/backup/BackupProgress;
+HPLandroid/app/backup/BackupProgress$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/app/backup/BackupProgress;-><init>(JJ)V
 HPLandroid/app/backup/BackupProgress;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/app/backup/BackupTransport$TransportImpl;->cancelFullBackup()V
 HPLandroid/app/backup/BackupTransport$TransportImpl;->checkFullBackupSize(J)I
 HPLandroid/app/backup/BackupTransport$TransportImpl;->finishBackup()I
-HPLandroid/app/backup/BackupTransport$TransportImpl;->finishRestore()V
 HPLandroid/app/backup/BackupTransport$TransportImpl;->getBackupQuota(Ljava/lang/String;Z)J
-HPLandroid/app/backup/BackupTransport$TransportImpl;->getRestoreData(Landroid/os/ParcelFileDescriptor;)I
+HPLandroid/app/backup/BackupTransport$TransportImpl;->getCurrentRestoreSet()J
 HPLandroid/app/backup/BackupTransport$TransportImpl;->getTransportFlags()I
-HPLandroid/app/backup/BackupTransport$TransportImpl;->nextRestorePackage()Landroid/app/backup/RestoreDescription;
+HPLandroid/app/backup/BackupTransport$TransportImpl;->initializeDevice()I
+HPLandroid/app/backup/BackupTransport$TransportImpl;->isAppEligibleForBackup(Landroid/content/pm/PackageInfo;Z)Z
 HPLandroid/app/backup/BackupTransport$TransportImpl;->performBackup(Landroid/content/pm/PackageInfo;Landroid/os/ParcelFileDescriptor;I)I
 HPLandroid/app/backup/BackupTransport$TransportImpl;->performFullBackup(Landroid/content/pm/PackageInfo;Landroid/os/ParcelFileDescriptor;I)I
+HPLandroid/app/backup/BackupTransport$TransportImpl;->requestBackupTime()J
 HPLandroid/app/backup/BackupTransport$TransportImpl;->requestFullBackupTime()J
 HPLandroid/app/backup/BackupTransport$TransportImpl;->sendBackupData(I)I
-HPLandroid/app/backup/BackupTransport$TransportImpl;->startRestore(J[Landroid/content/pm/PackageInfo;)I
+HPLandroid/app/backup/BackupTransport;->isAppEligibleForBackup(Landroid/content/pm/PackageInfo;Z)Z
+HPLandroid/app/backup/BackupUtils;->isFileSpecifiedInPathList(Ljava/io/File;Ljava/util/Collection;)Z
 HPLandroid/app/backup/BlobBackupHelper;->checksum([B)J
 HPLandroid/app/backup/BlobBackupHelper;->deflate([B)[B
 HPLandroid/app/backup/BlobBackupHelper;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
 HPLandroid/app/backup/BlobBackupHelper;->readOldState(Landroid/os/ParcelFileDescriptor;)Landroid/util/ArrayMap;
 HPLandroid/app/backup/BlobBackupHelper;->writeBackupState(Landroid/util/ArrayMap;Landroid/os/ParcelFileDescriptor;)V
+HPLandroid/app/backup/FileBackupHelperBase;->finalize()V
+HPLandroid/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/FullBackup$BackupScheme;-><init>(Landroid/content/Context;)V
+HPLandroid/app/backup/FullBackup$BackupScheme;->isFullBackupContentEnabled()Z
+HPLandroid/app/backup/FullBackup$BackupScheme;->maybeParseAndGetCanonicalExcludePaths()Landroid/util/ArraySet;
+HPLandroid/app/backup/FullBackup$BackupScheme;->maybeParseAndGetCanonicalIncludePaths()Ljava/util/Map;
+HPLandroid/app/backup/FullBackup$BackupScheme;->maybeParseBackupSchemeLocked()V
+HPLandroid/app/backup/FullBackup$BackupScheme;->tokenToDirectoryPath(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/app/backup/FullBackup;->getBackupScheme(Landroid/content/Context;)Landroid/app/backup/FullBackup$BackupScheme;
+HPLandroid/app/backup/FullBackup;->restoreFile(Landroid/os/ParcelFileDescriptor;JIJJLjava/io/File;)V
 HPLandroid/app/backup/FullBackupDataOutput;-><init>(Landroid/os/ParcelFileDescriptor;JI)V
 HPLandroid/app/backup/FullBackupDataOutput;->addSize(J)V
-HPLandroid/app/backup/IBackupManager$Stub$Proxy;->isBackupEnabled()Z
-HPLandroid/app/backup/IBackupManager$Stub$Proxy;->listAllTransports()[Ljava/lang/String;
-HPLandroid/app/backup/IBackupManager$Stub$Proxy;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
+HPLandroid/app/backup/IBackupCallback$Stub$Proxy;->operationComplete(J)V
+HPLandroid/app/backup/IBackupCallback$Stub;-><init>()V
+HPLandroid/app/backup/IBackupCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/app/backup/IBackupCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupCallback;
+HPLandroid/app/backup/IBackupCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/app/backup/IBackupManager$Stub$Proxy;->dataChanged(Ljava/lang/String;)V
+HPLandroid/app/backup/IBackupManager$Stub$Proxy;->hasBackupPassword()Z
+HPLandroid/app/backup/IBackupManager$Stub$Proxy;->isAppEligibleForBackupForUser(ILjava/lang/String;)Z
+HPLandroid/app/backup/IBackupManager$Stub$Proxy;->opCompleteForUser(IIJ)V
+HPLandroid/app/backup/IBackupManager$Stub$Proxy;->requestBackup([Ljava/lang/String;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;I)I
 HPLandroid/app/backup/IBackupManager$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/app/backup/IBackupManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/app/backup/IBackupManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/app/backup/IBackupManagerMonitor$Stub$Proxy;->onEvent(Landroid/os/Bundle;)V
-HPLandroid/app/backup/IBackupManagerMonitor;->onEvent(Landroid/os/Bundle;)V
+HPLandroid/app/backup/IBackupManagerMonitor$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/app/backup/IBackupManagerMonitor$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManagerMonitor;
+HPLandroid/app/backup/IBackupManagerMonitor$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/app/backup/IBackupObserver$Stub$Proxy;->backupFinished(I)V
 HPLandroid/app/backup/IBackupObserver$Stub$Proxy;->onResult(Ljava/lang/String;I)V
 HPLandroid/app/backup/IBackupObserver$Stub$Proxy;->onUpdate(Ljava/lang/String;Landroid/app/backup/BackupProgress;)V
-HPLandroid/app/backup/IBackupObserver;->backupFinished(I)V
-HPLandroid/app/backup/IBackupObserver;->onResult(Ljava/lang/String;I)V
-HPLandroid/app/backup/IBackupObserver;->onUpdate(Ljava/lang/String;Landroid/app/backup/BackupProgress;)V
-HPLandroid/app/backup/RestoreDescription$1;-><init>()V
-HPLandroid/app/backup/RestoreDescription;-><init>(Ljava/lang/String;I)V
-HPLandroid/app/backup/RestoreDescription;->getPackageName()Ljava/lang/String;
-HPLandroid/app/backup/RestoreDescription;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/app/backup/IBackupObserver$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/app/backup/IBackupObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupObserver;
+HPLandroid/app/backup/IBackupObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/app/backup/ISelectBackupTransportCallback$Stub$Proxy;->onSuccess(Ljava/lang/String;)V
+HPLandroid/app/backup/SharedPreferencesBackupHelper;-><init>(Landroid/content/Context;[Ljava/lang/String;)V
+HPLandroid/app/backup/SharedPreferencesBackupHelper;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
 HPLandroid/app/job/IJobCallback$Stub;-><init>()V
+HPLandroid/app/job/IJobCallback$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/app/job/IJobCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/app/job/IJobScheduler$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/app/job/IJobScheduler$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/app/job/IJobService$Stub$Proxy;->startJob(Landroid/app/job/JobParameters;)V
 HPLandroid/app/job/IJobService$Stub$Proxy;->stopJob(Landroid/app/job/JobParameters;)V
 HPLandroid/app/job/IJobService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/job/IJobService;
+HPLandroid/app/job/JobInfo$Builder;->setRequiresBatteryNotLow(Z)Landroid/app/job/JobInfo$Builder;
+HPLandroid/app/job/JobInfo$Builder;->setRequiresStorageNotLow(Z)Landroid/app/job/JobInfo$Builder;
+HPLandroid/app/job/JobInfo$TriggerContentUri$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/job/JobInfo$TriggerContentUri;
+HPLandroid/app/job/JobInfo$TriggerContentUri$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/job/JobInfo$TriggerContentUri$1;->newArray(I)[Landroid/app/job/JobInfo$TriggerContentUri;
+HPLandroid/app/job/JobInfo$TriggerContentUri$1;->newArray(I)[Ljava/lang/Object;
 HPLandroid/app/job/JobInfo$TriggerContentUri;->equals(Ljava/lang/Object;)Z
 HPLandroid/app/job/JobInfo$TriggerContentUri;->hashCode()I
 HPLandroid/app/job/JobInfo;->equals(Ljava/lang/Object;)Z
 HPLandroid/app/job/JobInfo;->getBackoffPolicy()I
 HPLandroid/app/job/JobInfo;->getClipGrantFlags()I
 HPLandroid/app/job/JobInfo;->getInitialBackoffMillis()J
+HPLandroid/app/job/JobInfo;->getNetworkType()I
 HPLandroid/app/job/JobInfo;->getPriority()I
 HPLandroid/app/job/JobInfo;->getTransientExtras()Landroid/os/Bundle;
 HPLandroid/app/job/JobInfo;->getTriggerContentMaxDelay()J
 HPLandroid/app/job/JobInfo;->getTriggerContentUpdateDelay()J
-HPLandroid/app/job/JobInfo;->isExemptedFromAppStandby()Z
 HPLandroid/app/job/JobInfo;->isPrefetch()Z
+HPLandroid/app/job/JobInfo;->isRequireCharging()Z
+HPLandroid/app/job/JobInfo;->isRequireDeviceIdle()Z
 HPLandroid/app/job/JobParameters;->getDebugStopReason()Ljava/lang/String;
+HPLandroid/app/job/JobParameters;->getNetwork()Landroid/net/Network;
 HPLandroid/app/job/JobParameters;->getStopReason()I
+HPLandroid/app/job/JobParameters;->isOverrideDeadlineExpired()Z
 HPLandroid/app/job/JobParameters;->setStopReason(ILjava/lang/String;)V
 HPLandroid/app/job/JobParameters;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/app/role/-$$Lambda$o94o2jK_ei-IVw-3oY_QJ49zpAA;-><init>()V
+HPLandroid/app/role/-$$Lambda$o94o2jK_ei-IVw-3oY_QJ49zpAA;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HPLandroid/app/role/IRoleManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/app/role/IRoleManagerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/app/role/RoleManager$OnRoleHoldersChangedListenerDelegate;->onRoleHoldersChanged(Ljava/lang/String;I)V
+HPLandroid/app/servertransaction/ActivityConfigurationChangeItem$1;-><init>()V
+HPLandroid/app/servertransaction/ActivityConfigurationChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/ActivityConfigurationChangeItem;
+HPLandroid/app/servertransaction/ActivityConfigurationChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/servertransaction/ActivityConfigurationChangeItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
 HPLandroid/app/servertransaction/ActivityConfigurationChangeItem;->obtain(Landroid/content/res/Configuration;)Landroid/app/servertransaction/ActivityConfigurationChangeItem;
+HPLandroid/app/servertransaction/ActivityConfigurationChangeItem;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
 HPLandroid/app/servertransaction/ActivityConfigurationChangeItem;->recycle()V
 HPLandroid/app/servertransaction/ActivityConfigurationChangeItem;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/app/servertransaction/ActivityRelaunchItem$1;-><init>()V
+HPLandroid/app/servertransaction/ActivityRelaunchItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/ActivityRelaunchItem;
+HPLandroid/app/servertransaction/ActivityRelaunchItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/servertransaction/ActivityRelaunchItem;-><init>(Landroid/os/Parcel;)V
+HPLandroid/app/servertransaction/ActivityRelaunchItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
 HPLandroid/app/servertransaction/ActivityRelaunchItem;->obtain(Ljava/util/List;Ljava/util/List;ILandroid/util/MergedConfiguration;Z)Landroid/app/servertransaction/ActivityRelaunchItem;
+HPLandroid/app/servertransaction/ActivityRelaunchItem;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
+HPLandroid/app/servertransaction/ActivityRelaunchItem;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
 HPLandroid/app/servertransaction/ActivityRelaunchItem;->recycle()V
 HPLandroid/app/servertransaction/ActivityRelaunchItem;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/app/servertransaction/ActivityResultItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/ActivityResultItem;
+HPLandroid/app/servertransaction/ActivityResultItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/servertransaction/ActivityResultItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)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
+HPLandroid/app/servertransaction/DestroyActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/DestroyActivityItem;
+HPLandroid/app/servertransaction/DestroyActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/servertransaction/DestroyActivityItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
+HPLandroid/app/servertransaction/DestroyActivityItem;->getTargetState()I
 HPLandroid/app/servertransaction/DestroyActivityItem;->obtain(ZI)Landroid/app/servertransaction/DestroyActivityItem;
+HPLandroid/app/servertransaction/DestroyActivityItem;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
 HPLandroid/app/servertransaction/DestroyActivityItem;->recycle()V
 HPLandroid/app/servertransaction/DestroyActivityItem;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/app/servertransaction/NewIntentItem$1;-><init>()V
-HPLandroid/app/servertransaction/NewIntentItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/NewIntentItem;
-HPLandroid/app/servertransaction/NewIntentItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/app/servertransaction/NewIntentItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
+HPLandroid/app/servertransaction/MultiWindowModeChangeItem$1;-><init>()V
+HPLandroid/app/servertransaction/MultiWindowModeChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/MultiWindowModeChangeItem;
+HPLandroid/app/servertransaction/MultiWindowModeChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/servertransaction/MultiWindowModeChangeItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
+HPLandroid/app/servertransaction/MultiWindowModeChangeItem;->obtain(ZLandroid/content/res/Configuration;)Landroid/app/servertransaction/MultiWindowModeChangeItem;
+HPLandroid/app/servertransaction/MultiWindowModeChangeItem;->recycle()V
+HPLandroid/app/servertransaction/MultiWindowModeChangeItem;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/app/servertransaction/NewIntentItem;->obtain(Ljava/util/List;Z)Landroid/app/servertransaction/NewIntentItem;
 HPLandroid/app/servertransaction/NewIntentItem;->recycle()V
-HPLandroid/app/servertransaction/NewIntentItem;->toString()Ljava/lang/String;
 HPLandroid/app/servertransaction/NewIntentItem;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/app/servertransaction/PauseActivityItem;->obtain()Landroid/app/servertransaction/PauseActivityItem;
+HPLandroid/app/servertransaction/PendingTransactionActions;->setReportRelaunchToWindowManager(Z)V
+HPLandroid/app/servertransaction/PendingTransactionActions;->shouldReportRelaunchToWindowManager()Z
+HPLandroid/app/servertransaction/PipModeChangeItem$1;-><init>()V
+HPLandroid/app/servertransaction/PipModeChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/PipModeChangeItem;
+HPLandroid/app/servertransaction/PipModeChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/servertransaction/PipModeChangeItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
+HPLandroid/app/servertransaction/PipModeChangeItem;->obtain(ZLandroid/content/res/Configuration;)Landroid/app/servertransaction/PipModeChangeItem;
+HPLandroid/app/servertransaction/PipModeChangeItem;->recycle()V
+HPLandroid/app/servertransaction/PipModeChangeItem;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/app/servertransaction/ResumeActivityItem;->obtain(IZ)Landroid/app/servertransaction/ResumeActivityItem;
+HPLandroid/app/servertransaction/TopResumedActivityChangeItem;->obtain(Z)Landroid/app/servertransaction/TopResumedActivityChangeItem;
+HPLandroid/app/servertransaction/TopResumedActivityChangeItem;->recycle()V
+HPLandroid/app/servertransaction/TopResumedActivityChangeItem;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/app/servertransaction/WindowVisibilityItem;->obtain(Z)Landroid/app/servertransaction/WindowVisibilityItem;
 HPLandroid/app/servertransaction/WindowVisibilityItem;->recycle()V
 HPLandroid/app/servertransaction/WindowVisibilityItem;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/app/slice/ISliceManager$Stub$Proxy;->getPinnedSpecs(Landroid/net/Uri;Ljava/lang/String;)[Landroid/app/slice/SliceSpec;
+HPLandroid/app/slice/ISliceManager$Stub$Proxy;->pinSlice(Ljava/lang/String;Landroid/net/Uri;[Landroid/app/slice/SliceSpec;Landroid/os/IBinder;)V
+HPLandroid/app/slice/ISliceManager$Stub$Proxy;->unpinSlice(Ljava/lang/String;Landroid/net/Uri;Landroid/os/IBinder;)V
 HPLandroid/app/slice/ISliceManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/slice/ISliceManager;
-HPLandroid/app/slice/SliceProvider;->handleGetDescendants(Landroid/net/Uri;)Ljava/util/Collection;
-HPLandroid/app/timezone/ICallback$Stub$Proxy;->onFinished(I)V
-HPLandroid/app/timezone/ICallback;->onFinished(I)V
-HPLandroid/app/timezone/IRulesManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/app/timezone/RulesUpdaterContract;->createUpdaterIntent(Ljava/lang/String;)Landroid/content/Intent;
-HPLandroid/app/timezone/RulesUpdaterContract;->sendBroadcast(Landroid/content/Context;Ljava/lang/String;[B)V
+HPLandroid/app/slice/ISliceManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/app/slice/Slice$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/slice/Slice;
+HPLandroid/app/slice/Slice$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/slice/Slice;-><init>(Landroid/os/Parcel;)V
+HPLandroid/app/slice/Slice;->getSpec()Landroid/app/slice/SliceSpec;
+HPLandroid/app/slice/Slice;->getUri()Landroid/net/Uri;
+HPLandroid/app/slice/SliceItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/slice/SliceItem;
+HPLandroid/app/slice/SliceItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/slice/SliceItem;->getFormat()Ljava/lang/String;
+HPLandroid/app/slice/SliceItem;->getSubType()Ljava/lang/String;
+HPLandroid/app/slice/SliceItem;->readObj(Ljava/lang/String;Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/app/slice/SliceManager;->getPinnedSpecs(Landroid/net/Uri;)Ljava/util/Set;
+HPLandroid/app/slice/SliceManager;->pinSlice(Landroid/net/Uri;Ljava/util/Set;)V
+HPLandroid/app/slice/SliceManager;->unpinSlice(Landroid/net/Uri;)V
+HPLandroid/app/slice/SliceMetrics;-><init>(Landroid/content/Context;Landroid/net/Uri;)V
+HPLandroid/app/slice/SliceMetrics;->logHidden()V
+HPLandroid/app/slice/SliceMetrics;->logTouch(ILandroid/net/Uri;)V
+HPLandroid/app/slice/SliceMetrics;->logVisible()V
+HPLandroid/app/timedetector/ITimeDetectorService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/app/trust/IStrongAuthTracker$Stub$Proxy;->onStrongAuthRequiredChanged(II)V
-HPLandroid/app/usage/AppStandbyInfo$1;-><init>()V
+HPLandroid/app/trust/ITrustManager$Stub$Proxy;->reportEnabledTrustAgentsChanged(I)V
+HPLandroid/app/trust/ITrustManager$Stub$Proxy;->reportUnlockAttempt(ZI)V
+HPLandroid/app/trust/ITrustManager$Stub$Proxy;->setDeviceLockedForUser(IZ)V
+HPLandroid/app/trust/ITrustManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/app/trust/TrustManager;->reportEnabledTrustAgentsChanged(I)V
+HPLandroid/app/trust/TrustManager;->reportUnlockAttempt(ZI)V
+HPLandroid/app/trust/TrustManager;->setDeviceLockedForUser(IZ)V
 HPLandroid/app/usage/AppStandbyInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/AppStandbyInfo;
 HPLandroid/app/usage/AppStandbyInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/app/usage/AppStandbyInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/app/usage/CacheQuotaHint$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/CacheQuotaHint;
-HPLandroid/app/usage/CacheQuotaHint$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/app/usage/CacheQuotaHint$Builder;-><init>(Landroid/app/usage/CacheQuotaHint;)V
-HPLandroid/app/usage/CacheQuotaHint;->getQuota()J
-HPLandroid/app/usage/CacheQuotaHint;->getUid()I
-HPLandroid/app/usage/CacheQuotaHint;->getUsageStats()Landroid/app/usage/UsageStats;
-HPLandroid/app/usage/CacheQuotaHint;->getVolumeUuid()Ljava/lang/String;
-HPLandroid/app/usage/CacheQuotaHint;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/app/usage/CacheQuotaService$CacheQuotaServiceWrapper;->computeCacheQuotaHints(Landroid/os/RemoteCallback;Ljava/util/List;)V
-HPLandroid/app/usage/CacheQuotaService$ServiceHandler;->handleMessage(Landroid/os/Message;)V
-HPLandroid/app/usage/CacheQuotaService;-><init>()V
-HPLandroid/app/usage/CacheQuotaService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HPLandroid/app/usage/CacheQuotaService;->onComputeCacheQuotaHints(Ljava/util/List;)Ljava/util/List;
-HPLandroid/app/usage/CacheQuotaService;->onCreate()V
-HPLandroid/app/usage/EventList;->clear()V
-HPLandroid/app/usage/EventList;->firstIndexOnOrAfter(J)I
-HPLandroid/app/usage/EventList;->get(I)Landroid/app/usage/UsageEvents$Event;
-HPLandroid/app/usage/EventList;->size()I
 HPLandroid/app/usage/ExternalStorageStats$1;-><init>()V
 HPLandroid/app/usage/ICacheQuotaService$Stub$Proxy;->computeCacheQuotaHints(Landroid/os/RemoteCallback;Ljava/util/List;)V
 HPLandroid/app/usage/ICacheQuotaService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/usage/ICacheQuotaService;
-HPLandroid/app/usage/ICacheQuotaService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/app/usage/ICacheQuotaService;->computeCacheQuotaHints(Landroid/os/RemoteCallback;Ljava/util/List;)V
+HPLandroid/app/usage/IStorageStatsManager$Stub$Proxy;->getCacheQuotaBytes(Ljava/lang/String;ILjava/lang/String;)J
+HPLandroid/app/usage/IStorageStatsManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/app/usage/IStorageStatsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->getAppStandbyBuckets(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+HPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->getAppStandbyBucket(Ljava/lang/String;Ljava/lang/String;I)I
 HPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->isAppInactive(Ljava/lang/String;I)Z
-HPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->setAppStandbyBuckets(Landroid/content/pm/ParceledListSlice;I)V
+HPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryUsageStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
 HPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->whitelistAppTemporarily(Ljava/lang/String;JI)V
+HPLandroid/app/usage/IUsageStatsManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/app/usage/IUsageStatsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/app/usage/NetworkStats;->getSummaryAggregate()Landroid/app/usage/NetworkStats$Bucket;
 HPLandroid/app/usage/NetworkStatsManager$CallbackHandler;->handleMessage(Landroid/os/Message;)V
-HPLandroid/app/usage/NetworkStatsManager$UsageCallback;->onThresholdReached(ILjava/lang/String;)V
+HPLandroid/app/usage/NetworkStatsManager;->querySummaryForDevice(ILjava/lang/String;JJ)Landroid/app/usage/NetworkStats$Bucket;
+HPLandroid/app/usage/NetworkStatsManager;->querySummaryForDevice(Landroid/net/NetworkTemplate;JJ)Landroid/app/usage/NetworkStats$Bucket;
 HPLandroid/app/usage/NetworkStatsManager;->registerUsageCallback(Landroid/net/NetworkTemplate;IJLandroid/app/usage/NetworkStatsManager$UsageCallback;Landroid/os/Handler;)V
 HPLandroid/app/usage/NetworkStatsManager;->unregisterUsageCallback(Landroid/app/usage/NetworkStatsManager$UsageCallback;)V
 HPLandroid/app/usage/StorageStatsManager;->getCacheBytes(Ljava/lang/String;)J
 HPLandroid/app/usage/StorageStatsManager;->getCacheBytes(Ljava/util/UUID;)J
+HPLandroid/app/usage/StorageStatsManager;->getCacheQuotaBytes(Ljava/lang/String;I)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;
+HPLandroid/app/usage/StorageStatsManager;->queryStatsForUid(Ljava/lang/String;I)Landroid/app/usage/StorageStats;
+HPLandroid/app/usage/StorageStatsManager;->queryStatsForUid(Ljava/util/UUID;I)Landroid/app/usage/StorageStats;
 HPLandroid/app/usage/TimeSparseArray;->closestIndexOnOrBefore(J)I
-HPLandroid/app/usage/UsageEvents$Event;-><init>(Landroid/app/usage/UsageEvents$Event;)V
+HPLandroid/app/usage/UsageEvents$Event;->getClassName()Ljava/lang/String;
 HPLandroid/app/usage/UsageEvents$Event;->getConfiguration()Landroid/content/res/Configuration;
 HPLandroid/app/usage/UsageEvents$Event;->getObfuscatedIfInstantApp()Landroid/app/usage/UsageEvents$Event;
-HPLandroid/app/usage/UsageEvents;-><init>(Ljava/util/List;[Ljava/lang/String;)V
+HPLandroid/app/usage/UsageEvents$Event;->getPackageName()Ljava/lang/String;
+HPLandroid/app/usage/UsageEvents;-><init>(Ljava/util/List;[Ljava/lang/String;Z)V
 HPLandroid/app/usage/UsageEvents;->findStringIndex(Ljava/lang/String;)I
 HPLandroid/app/usage/UsageEvents;->writeEventToParcel(Landroid/app/usage/UsageEvents$Event;Landroid/os/Parcel;I)V
 HPLandroid/app/usage/UsageEvents;->writeToParcel(Landroid/os/Parcel;I)V
@@ -1189,417 +1407,516 @@
 HPLandroid/app/usage/UsageStats;->getLastTimeStamp()J
 HPLandroid/app/usage/UsageStats;->getLastTimeUsed()J
 HPLandroid/app/usage/UsageStats;->getPackageName()Ljava/lang/String;
-HPLandroid/app/usage/UsageStats;->getTotalTimeInForeground()J
-HPLandroid/app/usage/UsageStats;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/app/usage/UsageStatsManager;->getAppStandbyBuckets()Ljava/util/Map;
+HPLandroid/app/usage/UsageStats;->mergeEventMap(Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V
+HPLandroid/app/usage/UsageStats;->mergeEventMap(Landroid/util/SparseIntArray;Landroid/util/SparseIntArray;)V
+HPLandroid/app/usage/UsageStats;->updateForegroundService(Ljava/lang/String;JI)V
+HPLandroid/app/usage/UsageStatsManager;->getAppStandbyBucket(Ljava/lang/String;)I
 HPLandroid/app/usage/UsageStatsManager;->isAppInactive(Ljava/lang/String;)Z
+HPLandroid/app/usage/UsageStatsManager;->queryUsageStats(IJJ)Ljava/util/List;
 HPLandroid/app/usage/UsageStatsManager;->reasonToString(I)Ljava/lang/String;
-HPLandroid/app/usage/UsageStatsManager;->setAppStandbyBuckets(Ljava/util/Map;)V
+HPLandroid/app/usage/UsageStatsManager;->usageSourceToString(I)Ljava/lang/String;
 HPLandroid/app/usage/UsageStatsManager;->whitelistAppTemporarily(Ljava/lang/String;JLandroid/os/UserHandle;)V
-HPLandroid/appwidget/AppWidgetHost;->stopListening()V
-HPLandroid/appwidget/AppWidgetManager;->getInstalledProvidersForPackage(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;
+HPLandroid/appwidget/AppWidgetManager;->getAppWidgetOptions(I)Landroid/os/Bundle;
+HPLandroid/appwidget/AppWidgetManager;->partiallyUpdateAppWidget(ILandroid/widget/RemoteViews;)V
+HPLandroid/appwidget/AppWidgetManager;->partiallyUpdateAppWidget([ILandroid/widget/RemoteViews;)V
 HPLandroid/appwidget/AppWidgetManager;->updateAppWidget(ILandroid/widget/RemoteViews;)V
 HPLandroid/appwidget/AppWidgetManager;->updateAppWidget([ILandroid/widget/RemoteViews;)V
+HPLandroid/appwidget/AppWidgetProvider;-><init>()V
+HPLandroid/appwidget/AppWidgetProviderInfo$1;-><init>()V
+HPLandroid/appwidget/AppWidgetProviderInfo;->getProfile()Landroid/os/UserHandle;
+HPLandroid/appwidget/AppWidgetProviderInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/appwidget/PendingHostUpdate$1;-><init>()V
+HPLandroid/appwidget/PendingHostUpdate;->updateAppWidget(ILandroid/widget/RemoteViews;)Landroid/appwidget/PendingHostUpdate;
+HPLandroid/appwidget/PendingHostUpdate;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/bluetooth/BluetoothA2dp$1;->onBluetoothStateChange(Z)V
+HPLandroid/bluetooth/BluetoothA2dp$2;->onServiceDisconnected(Landroid/content/ComponentName;)V
 HPLandroid/bluetooth/BluetoothA2dp;->connect(Landroid/bluetooth/BluetoothDevice;)Z
+HPLandroid/bluetooth/BluetoothA2dp;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
+HPLandroid/bluetooth/BluetoothA2dp;->getCodecStatus(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothCodecStatus;
 HPLandroid/bluetooth/BluetoothA2dp;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
 HPLandroid/bluetooth/BluetoothA2dp;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-HPLandroid/bluetooth/BluetoothActivityEnergyInfo$1;-><init>()V
+HPLandroid/bluetooth/BluetoothA2dp;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
+HPLandroid/bluetooth/BluetoothA2dp;->setAvrcpAbsoluteVolume(I)V
 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>(JIJJJJ)V
 HPLandroid/bluetooth/BluetoothActivityEnergyInfo;-><init>(Landroid/os/Parcel;)V
 HPLandroid/bluetooth/BluetoothActivityEnergyInfo;->setUidTraffic([Landroid/bluetooth/UidTraffic;)V
 HPLandroid/bluetooth/BluetoothActivityEnergyInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/bluetooth/BluetoothAdapter$2;->onBluetoothServiceDown()V
+HPLandroid/bluetooth/BluetoothAdapter;->cancelDiscovery()Z
 HPLandroid/bluetooth/BluetoothAdapter;->closeProfileProxy(ILandroid/bluetooth/BluetoothProfile;)V
-HPLandroid/bluetooth/BluetoothAdapter;->getBluetoothLeScanner()Landroid/bluetooth/le/BluetoothLeScanner;
+HPLandroid/bluetooth/BluetoothAdapter;->enable()Z
+HPLandroid/bluetooth/BluetoothAdapter;->getBluetoothLeAdvertiser()Landroid/bluetooth/le/BluetoothLeAdvertiser;
 HPLandroid/bluetooth/BluetoothAdapter;->getDiscoverableTimeout()I
-HPLandroid/bluetooth/BluetoothAdapter;->getLeState()I
-HPLandroid/bluetooth/BluetoothAdapter;->getMaxConnectedAudioDevices()I
+HPLandroid/bluetooth/BluetoothAdapter;->getName()Ljava/lang/String;
+HPLandroid/bluetooth/BluetoothAdapter;->getProfileConnectionState(I)I
 HPLandroid/bluetooth/BluetoothAdapter;->getRemoteDevice([B)Landroid/bluetooth/BluetoothDevice;
 HPLandroid/bluetooth/BluetoothAdapter;->getScanMode()I
-HPLandroid/bluetooth/BluetoothAdapter;->isBleScanAlwaysAvailable()Z
-HPLandroid/bluetooth/BluetoothAdapter;->isLeEnabled()Z
-HPLandroid/bluetooth/BluetoothAdapter;->isOffloadedFilteringSupported()Z
+HPLandroid/bluetooth/BluetoothAdapter;->isDiscovering()Z
 HPLandroid/bluetooth/BluetoothAdapter;->requestControllerActivityEnergyInfo(Landroid/os/ResultReceiver;)V
 HPLandroid/bluetooth/BluetoothAdapter;->setScanMode(I)Z
 HPLandroid/bluetooth/BluetoothAdapter;->setScanMode(II)Z
+HPLandroid/bluetooth/BluetoothAdapter;->startDiscovery()Z
+HPLandroid/bluetooth/BluetoothClass$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/BluetoothClass;
+HPLandroid/bluetooth/BluetoothClass$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/bluetooth/BluetoothClass;->doesClassMatch(I)Z
-HPLandroid/bluetooth/BluetoothCodecConfig;->getCodecName()Ljava/lang/String;
-HPLandroid/bluetooth/BluetoothCodecConfig;->isMandatoryCodec()Z
-HPLandroid/bluetooth/BluetoothCodecConfig;->sameAudioFeedingParameters(Landroid/bluetooth/BluetoothCodecConfig;)Z
-HPLandroid/bluetooth/BluetoothCodecConfig;->toString()Ljava/lang/String;
-HPLandroid/bluetooth/BluetoothCodecConfig;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/bluetooth/BluetoothClass;->getMajorDeviceClass()I
+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;
 HPLandroid/bluetooth/BluetoothCodecStatus$1;-><init>()V
-HPLandroid/bluetooth/BluetoothCodecStatus;-><init>(Landroid/bluetooth/BluetoothCodecConfig;[Landroid/bluetooth/BluetoothCodecConfig;[Landroid/bluetooth/BluetoothCodecConfig;)V
-HPLandroid/bluetooth/BluetoothCodecStatus;->getCodecConfig()Landroid/bluetooth/BluetoothCodecConfig;
-HPLandroid/bluetooth/BluetoothCodecStatus;->getCodecsLocalCapabilities()[Landroid/bluetooth/BluetoothCodecConfig;
-HPLandroid/bluetooth/BluetoothCodecStatus;->getCodecsSelectableCapabilities()[Landroid/bluetooth/BluetoothCodecConfig;
-HPLandroid/bluetooth/BluetoothCodecStatus;->toString()Ljava/lang/String;
-HPLandroid/bluetooth/BluetoothCodecStatus;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/bluetooth/BluetoothCodecStatus$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/BluetoothCodecStatus;
+HPLandroid/bluetooth/BluetoothCodecStatus$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/bluetooth/BluetoothDevice$1;->onBluetoothServiceDown()V
+HPLandroid/bluetooth/BluetoothDevice$1;->onBluetoothServiceUp(Landroid/bluetooth/IBluetooth;)V
+HPLandroid/bluetooth/BluetoothDevice;->connectGatt(Landroid/content/Context;ZLandroid/bluetooth/BluetoothGattCallback;I)Landroid/bluetooth/BluetoothGatt;
+HPLandroid/bluetooth/BluetoothDevice;->connectGatt(Landroid/content/Context;ZLandroid/bluetooth/BluetoothGattCallback;IZILandroid/os/Handler;)Landroid/bluetooth/BluetoothGatt;
+HPLandroid/bluetooth/BluetoothDevice;->fetchUuidsWithSdp()Z
 HPLandroid/bluetooth/BluetoothDevice;->getBatteryLevel()I
 HPLandroid/bluetooth/BluetoothDevice;->isConnected()Z
-HPLandroid/bluetooth/BluetoothGattCallback;-><init>()V
+HPLandroid/bluetooth/BluetoothGatt$1$4;->run()V
+HPLandroid/bluetooth/BluetoothGatt$1;->onClientConnectionState(IIZLjava/lang/String;)V
+HPLandroid/bluetooth/BluetoothGatt$1;->onClientRegistered(II)V
+HPLandroid/bluetooth/BluetoothGatt;-><init>(Landroid/bluetooth/IBluetoothGatt;Landroid/bluetooth/BluetoothDevice;IZI)V
+HPLandroid/bluetooth/BluetoothGatt;->close()V
+HPLandroid/bluetooth/BluetoothGatt;->connect(Ljava/lang/Boolean;Landroid/bluetooth/BluetoothGattCallback;Landroid/os/Handler;)Z
+HPLandroid/bluetooth/BluetoothGatt;->disconnect()V
+HPLandroid/bluetooth/BluetoothGatt;->getDevice()Landroid/bluetooth/BluetoothDevice;
+HPLandroid/bluetooth/BluetoothGatt;->registerApp(Landroid/bluetooth/BluetoothGattCallback;Landroid/os/Handler;)Z
+HPLandroid/bluetooth/BluetoothGatt;->runOrQueueCallback(Ljava/lang/Runnable;)V
+HPLandroid/bluetooth/BluetoothGatt;->unregisterApp()V
 HPLandroid/bluetooth/BluetoothGattCharacteristic$1;-><init>()V
 HPLandroid/bluetooth/BluetoothGattCharacteristic$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/BluetoothGattCharacteristic;
 HPLandroid/bluetooth/BluetoothGattCharacteristic$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/bluetooth/BluetoothGattCharacteristic;-><init>(Landroid/os/Parcel;)V
-HPLandroid/bluetooth/BluetoothGattCharacteristic;-><init>(Ljava/util/UUID;III)V
+HPLandroid/bluetooth/BluetoothGattCharacteristic;-><init>(Ljava/util/UUID;II)V
 HPLandroid/bluetooth/BluetoothGattCharacteristic;->addDescriptor(Landroid/bluetooth/BluetoothGattDescriptor;)Z
 HPLandroid/bluetooth/BluetoothGattCharacteristic;->getDescriptors()Ljava/util/List;
-HPLandroid/bluetooth/BluetoothGattCharacteristic;->getKeySize()I
-HPLandroid/bluetooth/BluetoothGattCharacteristic;->getPermissions()I
-HPLandroid/bluetooth/BluetoothGattCharacteristic;->getProperties()I
-HPLandroid/bluetooth/BluetoothGattCharacteristic;->getUuid()Ljava/util/UUID;
+HPLandroid/bluetooth/BluetoothGattCharacteristic;->getInstanceId()I
 HPLandroid/bluetooth/BluetoothGattCharacteristic;->initCharacteristic(Landroid/bluetooth/BluetoothGattService;Ljava/util/UUID;III)V
+HPLandroid/bluetooth/BluetoothGattCharacteristic;->setInstanceId(I)V
 HPLandroid/bluetooth/BluetoothGattCharacteristic;->setService(Landroid/bluetooth/BluetoothGattService;)V
 HPLandroid/bluetooth/BluetoothGattCharacteristic;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/bluetooth/BluetoothGattDescriptor$1;-><init>()V
 HPLandroid/bluetooth/BluetoothGattDescriptor$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/BluetoothGattDescriptor;
 HPLandroid/bluetooth/BluetoothGattDescriptor$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/bluetooth/BluetoothGattDescriptor;-><init>(Ljava/util/UUID;II)V
-HPLandroid/bluetooth/BluetoothGattDescriptor;->getPermissions()I
-HPLandroid/bluetooth/BluetoothGattDescriptor;->getUuid()Ljava/util/UUID;
+HPLandroid/bluetooth/BluetoothGattDescriptor;-><init>(Ljava/util/UUID;I)V
+HPLandroid/bluetooth/BluetoothGattDescriptor;->getInstanceId()I
 HPLandroid/bluetooth/BluetoothGattDescriptor;->setCharacteristic(Landroid/bluetooth/BluetoothGattCharacteristic;)V
+HPLandroid/bluetooth/BluetoothGattDescriptor;->setInstanceId(I)V
+HPLandroid/bluetooth/BluetoothGattDescriptor;->setValue([B)Z
 HPLandroid/bluetooth/BluetoothGattDescriptor;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/bluetooth/BluetoothGattIncludedService$1;-><init>()V
+HPLandroid/bluetooth/BluetoothGattServer$1;->onServerRegistered(II)V
+HPLandroid/bluetooth/BluetoothGattServer$1;->onServiceAdded(ILandroid/bluetooth/BluetoothGattService;)V
+HPLandroid/bluetooth/BluetoothGattServer;-><init>(Landroid/bluetooth/IBluetoothGatt;I)V
+HPLandroid/bluetooth/BluetoothGattServer;->addService(Landroid/bluetooth/BluetoothGattService;)Z
+HPLandroid/bluetooth/BluetoothGattServer;->getService(Ljava/util/UUID;)Landroid/bluetooth/BluetoothGattService;
+HPLandroid/bluetooth/BluetoothGattServer;->registerCallback(Landroid/bluetooth/BluetoothGattServerCallback;)Z
 HPLandroid/bluetooth/BluetoothGattService$1;-><init>()V
 HPLandroid/bluetooth/BluetoothGattService$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/BluetoothGattService;
 HPLandroid/bluetooth/BluetoothGattService$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/bluetooth/BluetoothGattService;-><init>(Landroid/os/Parcel;)V
-HPLandroid/bluetooth/BluetoothGattService;-><init>(Ljava/util/UUID;II)V
+HPLandroid/bluetooth/BluetoothGattService;-><init>(Ljava/util/UUID;I)V
 HPLandroid/bluetooth/BluetoothGattService;->addCharacteristic(Landroid/bluetooth/BluetoothGattCharacteristic;)Z
 HPLandroid/bluetooth/BluetoothGattService;->getCharacteristics()Ljava/util/List;
-HPLandroid/bluetooth/BluetoothGattService;->getIncludedServices()Ljava/util/List;
-HPLandroid/bluetooth/BluetoothGattService;->getType()I
+HPLandroid/bluetooth/BluetoothGattService;->getInstanceId()I
 HPLandroid/bluetooth/BluetoothGattService;->getUuid()Ljava/util/UUID;
+HPLandroid/bluetooth/BluetoothGattService;->setInstanceId(I)V
 HPLandroid/bluetooth/BluetoothGattService;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/bluetooth/BluetoothHeadset$2;->onServiceDisconnected(Landroid/content/ComponentName;)V
-HPLandroid/bluetooth/BluetoothHeadset;->close()V
+HPLandroid/bluetooth/BluetoothHeadset;->clccResponse(IIIIZLjava/lang/String;I)V
 HPLandroid/bluetooth/BluetoothHeadset;->connect(Landroid/bluetooth/BluetoothDevice;)Z
+HPLandroid/bluetooth/BluetoothHeadset;->disconnectAudio()Z
 HPLandroid/bluetooth/BluetoothHeadset;->doUnbind()V
+HPLandroid/bluetooth/BluetoothHeadset;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
+HPLandroid/bluetooth/BluetoothHeadset;->getAudioState(Landroid/bluetooth/BluetoothDevice;)I
+HPLandroid/bluetooth/BluetoothHeadset;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
 HPLandroid/bluetooth/BluetoothHeadset;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-HPLandroid/bluetooth/BluetoothInputStream;->close()V
+HPLandroid/bluetooth/BluetoothHeadset;->phoneStateChanged(IIILjava/lang/String;ILjava/lang/String;)V
+HPLandroid/bluetooth/BluetoothHeadset;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
+HPLandroid/bluetooth/BluetoothHearingAid$1;->onBluetoothStateChange(Z)V
+HPLandroid/bluetooth/BluetoothHearingAid$2;->onServiceDisconnected(Landroid/content/ComponentName;)V
+HPLandroid/bluetooth/BluetoothHearingAid;->getActiveDevices()Ljava/util/List;
+HPLandroid/bluetooth/BluetoothHearingAid;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
+HPLandroid/bluetooth/BluetoothHidDevice$1;->onBluetoothStateChange(Z)V
+HPLandroid/bluetooth/BluetoothHidDevice$2;->onServiceDisconnected(Landroid/content/ComponentName;)V
+HPLandroid/bluetooth/BluetoothHidDevice;->doUnbind()V
+HPLandroid/bluetooth/BluetoothHidDevice;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
+HPLandroid/bluetooth/BluetoothHidHost$1;->onBluetoothStateChange(Z)V
+HPLandroid/bluetooth/BluetoothHidHost$2;->onServiceDisconnected(Landroid/content/ComponentName;)V
+HPLandroid/bluetooth/BluetoothManager;->getConnectedDevices(I)Ljava/util/List;
+HPLandroid/bluetooth/BluetoothManager;->openGattServer(Landroid/content/Context;Landroid/bluetooth/BluetoothGattServerCallback;)Landroid/bluetooth/BluetoothGattServer;
+HPLandroid/bluetooth/BluetoothManager;->openGattServer(Landroid/content/Context;Landroid/bluetooth/BluetoothGattServerCallback;I)Landroid/bluetooth/BluetoothGattServer;
+HPLandroid/bluetooth/BluetoothMap$1;->onBluetoothStateChange(Z)V
+HPLandroid/bluetooth/BluetoothMap$2;->onServiceDisconnected(Landroid/content/ComponentName;)V
+HPLandroid/bluetooth/BluetoothMap;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
 HPLandroid/bluetooth/BluetoothMap;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
 HPLandroid/bluetooth/BluetoothMap;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-HPLandroid/bluetooth/BluetoothOutputStream;->close()V
-HPLandroid/bluetooth/BluetoothServerSocket;->close()V
-HPLandroid/bluetooth/BluetoothServerSocket;->toString()Ljava/lang/String;
-HPLandroid/bluetooth/BluetoothSocket;-><init>(Landroid/bluetooth/BluetoothSocket;)V
-HPLandroid/bluetooth/BluetoothSocket;->acceptSocket(Ljava/lang/String;)Landroid/bluetooth/BluetoothSocket;
-HPLandroid/bluetooth/BluetoothSocket;->close()V
-HPLandroid/bluetooth/BluetoothSocket;->convertAddr([B)Ljava/lang/String;
-HPLandroid/bluetooth/BluetoothSocket;->finalize()V
-HPLandroid/bluetooth/BluetoothSocket;->getInputStream()Ljava/io/InputStream;
-HPLandroid/bluetooth/BluetoothSocket;->getOutputStream()Ljava/io/OutputStream;
-HPLandroid/bluetooth/BluetoothSocket;->getRemoteDevice()Landroid/bluetooth/BluetoothDevice;
+HPLandroid/bluetooth/BluetoothPan$1;->onBluetoothStateChange(Z)V
+HPLandroid/bluetooth/BluetoothPan$2;->onServiceDisconnected(Landroid/content/ComponentName;)V
+HPLandroid/bluetooth/BluetoothPan;->close()V
+HPLandroid/bluetooth/BluetoothPan;->isTetheringOn()Z
+HPLandroid/bluetooth/BluetoothPbap$1;->onBluetoothStateChange(Z)V
+HPLandroid/bluetooth/BluetoothPbap$2;->onServiceDisconnected(Landroid/content/ComponentName;)V
+HPLandroid/bluetooth/BluetoothPbap;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
+HPLandroid/bluetooth/BluetoothPbap;->isConnected(Landroid/bluetooth/BluetoothDevice;)Z
+HPLandroid/bluetooth/BluetoothSap$1;->onBluetoothStateChange(Z)V
+HPLandroid/bluetooth/BluetoothSap$2;->onServiceDisconnected(Landroid/content/ComponentName;)V
 HPLandroid/bluetooth/BluetoothUuid;->is16BitUuid(Landroid/os/ParcelUuid;)Z
-HPLandroid/bluetooth/BluetoothUuid;->parseUuidFrom([B)Landroid/os/ParcelUuid;
 HPLandroid/bluetooth/BluetoothUuid;->uuidToBytes(Landroid/os/ParcelUuid;)[B
+HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->cancelDiscovery()Z
+HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->fetchRemoteUuids(Landroid/bluetooth/BluetoothDevice;)Z
+HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getAddress()Ljava/lang/String;
 HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getBatteryLevel(Landroid/bluetooth/BluetoothDevice;)I
 HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
 HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getDiscoverableTimeout()I
-HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getMaxConnectedAudioDevices()I
 HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getName()Ljava/lang/String;
+HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getProfileConnectionState(I)I
 HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getScanMode()I
-HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->isOffloadedFilteringSupported()Z
+HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->isDiscovering()Z
+HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->onLeServiceUp()V
 HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->requestActivityInfo(Landroid/os/ResultReceiver;)V
 HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->setScanMode(II)Z
+HPLandroid/bluetooth/IBluetooth$Stub$Proxy;->startDiscovery(Ljava/lang/String;)Z
 HPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->connect(Landroid/bluetooth/BluetoothDevice;)Z
+HPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
+HPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getCodecStatus(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothCodecStatus;
 HPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
 HPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
+HPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
+HPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->setAvrcpAbsoluteVolume(I)V
+HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->addService(ILandroid/bluetooth/BluetoothGattService;)V
 HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->registerScanner(Landroid/bluetooth/le/IScannerCallback;Landroid/os/WorkSource;)V
-HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->startScan(ILandroid/bluetooth/le/ScanSettings;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
-HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->startScanForIntent(Landroid/app/PendingIntent;Landroid/bluetooth/le/ScanSettings;Ljava/util/List;Ljava/lang/String;)V
-HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->stopScan(I)V
-HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->stopScanForIntent(Landroid/app/PendingIntent;Ljava/lang/String;)V
-HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->unregisterScanner(I)V
+HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->clientConnect(ILjava/lang/String;ZIZI)V
+HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->clientDisconnect(ILjava/lang/String;)V
+HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
+HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->registerClient(Landroid/os/ParcelUuid;Landroid/bluetooth/IBluetoothGattCallback;)V
+HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->registerServer(Landroid/os/ParcelUuid;Landroid/bluetooth/IBluetoothGattServerCallback;)V
+HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;IILandroid/bluetooth/le/IAdvertisingSetCallback;)V
+HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->stopAdvertisingSet(Landroid/bluetooth/le/IAdvertisingSetCallback;)V
+HPLandroid/bluetooth/IBluetoothGatt$Stub$Proxy;->unregisterClient(I)V
+HPLandroid/bluetooth/IBluetoothGatt$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothGatt;
 HPLandroid/bluetooth/IBluetoothGatt$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->onServerRegistered(II)V
-HPLandroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;->onServiceAdded(ILandroid/bluetooth/BluetoothGattService;)V
-HPLandroid/bluetooth/IBluetoothGattServerCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothGattServerCallback;
-HPLandroid/bluetooth/IBluetoothGattServerCallback;->onCharacteristicReadRequest(Ljava/lang/String;IIZI)V
-HPLandroid/bluetooth/IBluetoothGattServerCallback;->onCharacteristicWriteRequest(Ljava/lang/String;IIIZZI[B)V
-HPLandroid/bluetooth/IBluetoothGattServerCallback;->onConnectionUpdated(Ljava/lang/String;IIII)V
-HPLandroid/bluetooth/IBluetoothGattServerCallback;->onDescriptorReadRequest(Ljava/lang/String;IIZI)V
-HPLandroid/bluetooth/IBluetoothGattServerCallback;->onDescriptorWriteRequest(Ljava/lang/String;IIIZZI[B)V
-HPLandroid/bluetooth/IBluetoothGattServerCallback;->onExecuteWrite(Ljava/lang/String;IZ)V
-HPLandroid/bluetooth/IBluetoothGattServerCallback;->onMtuChanged(Ljava/lang/String;I)V
-HPLandroid/bluetooth/IBluetoothGattServerCallback;->onNotificationSent(Ljava/lang/String;I)V
-HPLandroid/bluetooth/IBluetoothGattServerCallback;->onPhyRead(Ljava/lang/String;III)V
-HPLandroid/bluetooth/IBluetoothGattServerCallback;->onPhyUpdate(Ljava/lang/String;III)V
-HPLandroid/bluetooth/IBluetoothGattServerCallback;->onServerConnectionState(IIZLjava/lang/String;)V
-HPLandroid/bluetooth/IBluetoothGattServerCallback;->onServerRegistered(II)V
-HPLandroid/bluetooth/IBluetoothGattServerCallback;->onServiceAdded(ILandroid/bluetooth/BluetoothGattService;)V
+HPLandroid/bluetooth/IBluetoothGattCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/bluetooth/IBluetoothGattCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/bluetooth/IBluetoothGattServerCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/bluetooth/IBluetoothGattServerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->clccResponse(IIIIZLjava/lang/String;I)V
 HPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->connect(Landroid/bluetooth/BluetoothDevice;)Z
+HPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->disconnectAudio()Z
+HPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
+HPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getAudioState(Landroid/bluetooth/BluetoothDevice;)I
+HPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
 HPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-HPLandroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;->listCurrentCalls()Z
-HPLandroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;->queryPhoneState()Z
-HPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->getBluetoothGatt()Landroid/bluetooth/IBluetoothGatt;
-HPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->isBleScanAlwaysAvailable()Z
-HPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->unbindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)V
+HPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->phoneStateChanged(IIILjava/lang/String;ILjava/lang/String;)V
+HPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
+HPLandroid/bluetooth/IBluetoothHeadsetPhone$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getActiveDevices()Ljava/util/List;
+HPLandroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
+HPLandroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
+HPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->getName()Ljava/lang/String;
 HPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->unregisterStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
+HPLandroid/bluetooth/IBluetoothManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/bluetooth/IBluetoothMap$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
 HPLandroid/bluetooth/IBluetoothMap$Stub$Proxy;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
 HPLandroid/bluetooth/IBluetoothMap$Stub$Proxy;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
+HPLandroid/bluetooth/IBluetoothPan$Stub$Proxy;->isTetheringOn()Z
+HPLandroid/bluetooth/IBluetoothPbap$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
+HPLandroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
 HPLandroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;->onServiceDisconnected(Landroid/content/ComponentName;)V
 HPLandroid/bluetooth/IBluetoothSocketManager$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;->onBluetoothStateChange(Z)V
 HPLandroid/bluetooth/UidTraffic$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/UidTraffic;
 HPLandroid/bluetooth/UidTraffic$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/bluetooth/UidTraffic$1;->newArray(I)[Landroid/bluetooth/UidTraffic;
 HPLandroid/bluetooth/UidTraffic$1;->newArray(I)[Ljava/lang/Object;
-HPLandroid/bluetooth/UidTraffic;-><init>(IJJ)V
-HPLandroid/bluetooth/UidTraffic;->addRxBytes(J)V
-HPLandroid/bluetooth/UidTraffic;->addTxBytes(J)V
-HPLandroid/bluetooth/UidTraffic;->clone()Landroid/bluetooth/UidTraffic;
 HPLandroid/bluetooth/UidTraffic;->getRxBytes()J
 HPLandroid/bluetooth/UidTraffic;->getTxBytes()J
 HPLandroid/bluetooth/UidTraffic;->getUid()I
-HPLandroid/bluetooth/UidTraffic;->toString()Ljava/lang/String;
-HPLandroid/bluetooth/UidTraffic;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/bluetooth/le/AdvertiseCallback;-><init>()V
 HPLandroid/bluetooth/le/AdvertiseData$1;-><init>()V
-HPLandroid/bluetooth/le/AdvertiseData$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/le/AdvertiseData;
-HPLandroid/bluetooth/le/AdvertiseData$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/bluetooth/le/AdvertiseData;->getIncludeDeviceName()Z
-HPLandroid/bluetooth/le/AdvertiseData;->getIncludeTxPowerLevel()Z
-HPLandroid/bluetooth/le/AdvertiseData;->getManufacturerSpecificData()Landroid/util/SparseArray;
-HPLandroid/bluetooth/le/AdvertiseData;->getServiceData()Ljava/util/Map;
-HPLandroid/bluetooth/le/AdvertiseData;->getServiceUuids()Ljava/util/List;
+HPLandroid/bluetooth/le/AdvertiseData$Builder;-><init>()V
+HPLandroid/bluetooth/le/AdvertiseData$Builder;->addServiceData(Landroid/os/ParcelUuid;[B)Landroid/bluetooth/le/AdvertiseData$Builder;
+HPLandroid/bluetooth/le/AdvertiseData$Builder;->addServiceUuid(Landroid/os/ParcelUuid;)Landroid/bluetooth/le/AdvertiseData$Builder;
+HPLandroid/bluetooth/le/AdvertiseData$Builder;->build()Landroid/bluetooth/le/AdvertiseData;
+HPLandroid/bluetooth/le/AdvertiseData;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/bluetooth/le/AdvertiseSettings$1;-><init>()V
+HPLandroid/bluetooth/le/AdvertiseSettings$Builder;-><init>()V
+HPLandroid/bluetooth/le/AdvertiseSettings$Builder;->build()Landroid/bluetooth/le/AdvertiseSettings;
+HPLandroid/bluetooth/le/AdvertiseSettings$Builder;->setAdvertiseMode(I)Landroid/bluetooth/le/AdvertiseSettings$Builder;
+HPLandroid/bluetooth/le/AdvertiseSettings$Builder;->setConnectable(Z)Landroid/bluetooth/le/AdvertiseSettings$Builder;
+HPLandroid/bluetooth/le/AdvertiseSettings$Builder;->setTxPowerLevel(I)Landroid/bluetooth/le/AdvertiseSettings$Builder;
+HPLandroid/bluetooth/le/AdvertisingSet;-><init>(ILandroid/bluetooth/IBluetoothManager;)V
+HPLandroid/bluetooth/le/AdvertisingSetCallback;-><init>()V
+HPLandroid/bluetooth/le/AdvertisingSetCallback;->onAdvertisingSetStopped(Landroid/bluetooth/le/AdvertisingSet;)V
 HPLandroid/bluetooth/le/AdvertisingSetParameters$1;-><init>()V
-HPLandroid/bluetooth/le/AdvertisingSetParameters$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/le/AdvertisingSetParameters;
-HPLandroid/bluetooth/le/AdvertisingSetParameters$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/bluetooth/le/AdvertisingSetParameters;-><init>(Landroid/os/Parcel;)V
-HPLandroid/bluetooth/le/AdvertisingSetParameters;->getInterval()I
-HPLandroid/bluetooth/le/AdvertisingSetParameters;->getPrimaryPhy()I
-HPLandroid/bluetooth/le/AdvertisingSetParameters;->getSecondaryPhy()I
-HPLandroid/bluetooth/le/AdvertisingSetParameters;->getTxPowerLevel()I
-HPLandroid/bluetooth/le/AdvertisingSetParameters;->includeTxPower()Z
-HPLandroid/bluetooth/le/AdvertisingSetParameters;->isAnonymous()Z
-HPLandroid/bluetooth/le/AdvertisingSetParameters;->isConnectable()Z
-HPLandroid/bluetooth/le/AdvertisingSetParameters;->isLegacy()Z
-HPLandroid/bluetooth/le/AdvertisingSetParameters;->isScannable()Z
-HPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper$1;->run()V
-HPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->onScanResult(Landroid/bluetooth/le/ScanResult;)V
-HPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->onScannerRegistered(II)V
-HPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->startRegistration()V
-HPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->stopLeScan()V
-HPLandroid/bluetooth/le/BluetoothLeScanner;->isHardwareResourcesAvailableForScan(Landroid/bluetooth/le/ScanSettings;)Z
-HPLandroid/bluetooth/le/BluetoothLeScanner;->isSettingsAndFilterComboAllowed(Landroid/bluetooth/le/ScanSettings;Ljava/util/List;)Z
-HPLandroid/bluetooth/le/BluetoothLeScanner;->startScan(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/app/PendingIntent;)I
-HPLandroid/bluetooth/le/BluetoothLeScanner;->startScan(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/bluetooth/le/ScanCallback;)V
-HPLandroid/bluetooth/le/BluetoothLeScanner;->startScan(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/os/WorkSource;Landroid/bluetooth/le/ScanCallback;Landroid/app/PendingIntent;Ljava/util/List;)I
-HPLandroid/bluetooth/le/BluetoothLeScanner;->startScanFromSource(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/os/WorkSource;Landroid/bluetooth/le/ScanCallback;)V
-HPLandroid/bluetooth/le/BluetoothLeScanner;->stopScan(Landroid/app/PendingIntent;)V
-HPLandroid/bluetooth/le/BluetoothLeScanner;->stopScan(Landroid/bluetooth/le/ScanCallback;)V
-HPLandroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;->onAdvertisingSetStarted(III)V
-HPLandroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;->onAdvertisingSetStopped(I)V
-HPLandroid/bluetooth/le/IAdvertisingSetCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/le/IAdvertisingSetCallback;
-HPLandroid/bluetooth/le/IAdvertisingSetCallback;->onAdvertisingDataSet(II)V
-HPLandroid/bluetooth/le/IAdvertisingSetCallback;->onAdvertisingEnabled(IZI)V
-HPLandroid/bluetooth/le/IAdvertisingSetCallback;->onAdvertisingParametersUpdated(III)V
-HPLandroid/bluetooth/le/IAdvertisingSetCallback;->onAdvertisingSetStarted(III)V
-HPLandroid/bluetooth/le/IAdvertisingSetCallback;->onAdvertisingSetStopped(I)V
-HPLandroid/bluetooth/le/IAdvertisingSetCallback;->onOwnAddressRead(IILjava/lang/String;)V
-HPLandroid/bluetooth/le/IAdvertisingSetCallback;->onPeriodicAdvertisingDataSet(II)V
-HPLandroid/bluetooth/le/IAdvertisingSetCallback;->onPeriodicAdvertisingEnabled(IZI)V
-HPLandroid/bluetooth/le/IAdvertisingSetCallback;->onPeriodicAdvertisingParametersUpdated(II)V
-HPLandroid/bluetooth/le/IAdvertisingSetCallback;->onScanResponseDataSet(II)V
+HPLandroid/bluetooth/le/AdvertisingSetParameters$Builder;->build()Landroid/bluetooth/le/AdvertisingSetParameters;
+HPLandroid/bluetooth/le/AdvertisingSetParameters$Builder;->setInterval(I)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;
+HPLandroid/bluetooth/le/AdvertisingSetParameters$Builder;->setTxPowerLevel(I)Landroid/bluetooth/le/AdvertisingSetParameters$Builder;
+HPLandroid/bluetooth/le/AdvertisingSetParameters;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/bluetooth/le/BluetoothLeAdvertiser$1;->onAdvertisingSetStarted(Landroid/bluetooth/le/AdvertisingSet;II)V
+HPLandroid/bluetooth/le/BluetoothLeAdvertiser$2$1;->run()V
+HPLandroid/bluetooth/le/BluetoothLeAdvertiser$2$3;->run()V
+HPLandroid/bluetooth/le/BluetoothLeAdvertiser$2;-><init>(Landroid/bluetooth/le/BluetoothLeAdvertiser;Landroid/os/Handler;Landroid/bluetooth/le/AdvertisingSetCallback;)V
+HPLandroid/bluetooth/le/BluetoothLeAdvertiser$2;->onAdvertisingSetStarted(III)V
+HPLandroid/bluetooth/le/BluetoothLeAdvertiser$2;->onAdvertisingSetStopped(I)V
+HPLandroid/bluetooth/le/BluetoothLeAdvertiser$5;->run()V
+HPLandroid/bluetooth/le/BluetoothLeAdvertiser;-><init>(Landroid/bluetooth/IBluetoothManager;)V
+HPLandroid/bluetooth/le/BluetoothLeAdvertiser;->startAdvertising(Landroid/bluetooth/le/AdvertiseSettings;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseCallback;)V
+HPLandroid/bluetooth/le/BluetoothLeAdvertiser;->startAdvertising(Landroid/bluetooth/le/AdvertiseSettings;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseCallback;)V
+HPLandroid/bluetooth/le/BluetoothLeAdvertiser;->startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;IILandroid/bluetooth/le/AdvertisingSetCallback;Landroid/os/Handler;)V
+HPLandroid/bluetooth/le/BluetoothLeAdvertiser;->stopAdvertising(Landroid/bluetooth/le/AdvertiseCallback;)V
+HPLandroid/bluetooth/le/BluetoothLeAdvertiser;->stopAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetCallback;)V
+HPLandroid/bluetooth/le/BluetoothLeAdvertiser;->totalBytes(Landroid/bluetooth/le/AdvertiseData;Z)I
+HPLandroid/bluetooth/le/BluetoothLeUtils;->checkAdapterStateOn(Landroid/bluetooth/BluetoothAdapter;)V
+HPLandroid/bluetooth/le/IAdvertisingSetCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/bluetooth/le/IAdvertisingSetCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/bluetooth/le/IScannerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/bluetooth/le/IScannerCallback$Stub$Proxy;->onScanResult(Landroid/bluetooth/le/ScanResult;)V
 HPLandroid/bluetooth/le/IScannerCallback$Stub$Proxy;->onScannerRegistered(II)V
-HPLandroid/bluetooth/le/IScannerCallback$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/bluetooth/le/IScannerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/bluetooth/le/IScannerCallback;->onBatchScanResults(Ljava/util/List;)V
-HPLandroid/bluetooth/le/IScannerCallback;->onFoundOrLost(ZLandroid/bluetooth/le/ScanResult;)V
-HPLandroid/bluetooth/le/IScannerCallback;->onScanManagerErrorCallback(I)V
-HPLandroid/bluetooth/le/IScannerCallback;->onScanResult(Landroid/bluetooth/le/ScanResult;)V
-HPLandroid/bluetooth/le/IScannerCallback;->onScannerRegistered(II)V
-HPLandroid/bluetooth/le/ScanCallback;-><init>()V
-HPLandroid/bluetooth/le/ScanFilter$1;-><init>()V
 HPLandroid/bluetooth/le/ScanFilter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/le/ScanFilter;
 HPLandroid/bluetooth/le/ScanFilter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/bluetooth/le/ScanFilter$Builder;-><init>()V
-HPLandroid/bluetooth/le/ScanFilter$Builder;->build()Landroid/bluetooth/le/ScanFilter;
-HPLandroid/bluetooth/le/ScanFilter$Builder;->setManufacturerData(I[B[B)Landroid/bluetooth/le/ScanFilter$Builder;
-HPLandroid/bluetooth/le/ScanFilter$Builder;->setServiceData(Landroid/os/ParcelUuid;[B)Landroid/bluetooth/le/ScanFilter$Builder;
-HPLandroid/bluetooth/le/ScanFilter$Builder;->setServiceUuid(Landroid/os/ParcelUuid;)Landroid/bluetooth/le/ScanFilter$Builder;
-HPLandroid/bluetooth/le/ScanFilter;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;[B[BI[B[B)V
-HPLandroid/bluetooth/le/ScanFilter;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;[B[BI[B[BLandroid/bluetooth/le/ScanFilter$1;)V
+HPLandroid/bluetooth/le/ScanFilter$Builder;->setDeviceAddress(Ljava/lang/String;)Landroid/bluetooth/le/ScanFilter$Builder;
+HPLandroid/bluetooth/le/ScanFilter$Builder;->setServiceUuid(Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;)Landroid/bluetooth/le/ScanFilter$Builder;
+HPLandroid/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
+HPLandroid/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[BLandroid/bluetooth/le/ScanFilter$1;)V
 HPLandroid/bluetooth/le/ScanFilter;->getDeviceAddress()Ljava/lang/String;
 HPLandroid/bluetooth/le/ScanFilter;->getDeviceName()Ljava/lang/String;
 HPLandroid/bluetooth/le/ScanFilter;->getManufacturerData()[B
-HPLandroid/bluetooth/le/ScanFilter;->getManufacturerDataMask()[B
-HPLandroid/bluetooth/le/ScanFilter;->getManufacturerId()I
-HPLandroid/bluetooth/le/ScanFilter;->getServiceData()[B
-HPLandroid/bluetooth/le/ScanFilter;->getServiceDataMask()[B
 HPLandroid/bluetooth/le/ScanFilter;->getServiceDataUuid()Landroid/os/ParcelUuid;
+HPLandroid/bluetooth/le/ScanFilter;->getServiceSolicitationUuid()Landroid/os/ParcelUuid;
 HPLandroid/bluetooth/le/ScanFilter;->getServiceUuid()Landroid/os/ParcelUuid;
 HPLandroid/bluetooth/le/ScanFilter;->getServiceUuidMask()Landroid/os/ParcelUuid;
 HPLandroid/bluetooth/le/ScanFilter;->matches(Landroid/bluetooth/le/ScanResult;)Z
-HPLandroid/bluetooth/le/ScanFilter;->matchesPartialData([B[B[B)Z
 HPLandroid/bluetooth/le/ScanFilter;->matchesServiceUuids(Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;Ljava/util/List;)Z
-HPLandroid/bluetooth/le/ScanFilter;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/bluetooth/le/ScanRecord;->getBytes()[B
-HPLandroid/bluetooth/le/ScanRecord;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord;
-HPLandroid/bluetooth/le/ScanResult$1;-><init>()V
-HPLandroid/bluetooth/le/ScanResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/le/ScanResult;
-HPLandroid/bluetooth/le/ScanResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/bluetooth/le/ScanResult;-><init>(Landroid/bluetooth/BluetoothDevice;IIIIIIILandroid/bluetooth/le/ScanRecord;J)V
-HPLandroid/bluetooth/le/ScanResult;->getDevice()Landroid/bluetooth/BluetoothDevice;
-HPLandroid/bluetooth/le/ScanResult;->getRssi()I
-HPLandroid/bluetooth/le/ScanResult;->getScanRecord()Landroid/bluetooth/le/ScanRecord;
-HPLandroid/bluetooth/le/ScanResult;->getTimestampNanos()J
-HPLandroid/bluetooth/le/ScanResult;->readFromParcel(Landroid/os/Parcel;)V
 HPLandroid/bluetooth/le/ScanResult;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/bluetooth/le/ScanSettings$1;-><init>()V
 HPLandroid/bluetooth/le/ScanSettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/bluetooth/le/ScanSettings;
 HPLandroid/bluetooth/le/ScanSettings$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/bluetooth/le/ScanSettings$Builder;-><init>()V
-HPLandroid/bluetooth/le/ScanSettings$Builder;->build()Landroid/bluetooth/le/ScanSettings;
-HPLandroid/bluetooth/le/ScanSettings$Builder;->setCallbackType(I)Landroid/bluetooth/le/ScanSettings$Builder;
-HPLandroid/bluetooth/le/ScanSettings$Builder;->setMatchMode(I)Landroid/bluetooth/le/ScanSettings$Builder;
-HPLandroid/bluetooth/le/ScanSettings$Builder;->setNumOfMatches(I)Landroid/bluetooth/le/ScanSettings$Builder;
-HPLandroid/bluetooth/le/ScanSettings$Builder;->setReportDelay(J)Landroid/bluetooth/le/ScanSettings$Builder;
-HPLandroid/bluetooth/le/ScanSettings$Builder;->setScanMode(I)Landroid/bluetooth/le/ScanSettings$Builder;
-HPLandroid/bluetooth/le/ScanSettings$Builder;->setScanResultType(I)Landroid/bluetooth/le/ScanSettings$Builder;
-HPLandroid/bluetooth/le/ScanSettings;-><init>(IIIJIIZI)V
-HPLandroid/bluetooth/le/ScanSettings;-><init>(IIIJIIZILandroid/bluetooth/le/ScanSettings$1;)V
 HPLandroid/bluetooth/le/ScanSettings;-><init>(Landroid/os/Parcel;)V
-HPLandroid/bluetooth/le/ScanSettings;->getCallbackType()I
 HPLandroid/bluetooth/le/ScanSettings;->getLegacy()Z
 HPLandroid/bluetooth/le/ScanSettings;->getMatchMode()I
-HPLandroid/bluetooth/le/ScanSettings;->getNumOfMatches()I
-HPLandroid/bluetooth/le/ScanSettings;->getReportDelayMillis()J
-HPLandroid/bluetooth/le/ScanSettings;->getScanMode()I
-HPLandroid/bluetooth/le/ScanSettings;->getScanResultType()I
-HPLandroid/bluetooth/le/ScanSettings;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/companion/CompanionDeviceManager;->getAssociations()Ljava/util/List;
+HPLandroid/companion/ICompanionDeviceManager$Stub$Proxy;->getAssociations(Ljava/lang/String;I)Ljava/util/List;
 HPLandroid/companion/ICompanionDeviceManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/content/AbstractThreadedSyncAdapter;->onSyncCanceled(Ljava/lang/Thread;)V
+HPLandroid/content/-$$Lambda$AbstractThreadedSyncAdapter$ISyncAdapterImpl$L6ZtOCe8gjKwJj0908ytPlrD8Rc;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HPLandroid/content/-$$Lambda$ClipboardManager$1$hQk8olbGAgUi4WWNG4ZuDZsM39s;->run()V
+HPLandroid/content/-$$Lambda$ContentResolver$RVw7W0M7r0cGmbYi8rAG5GKxq4M;->onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V
+HPLandroid/content/-$$Lambda$ContentResolver$aVylWmQ_Wi8AYCAi3pzy5h1ck3c;->call()Ljava/lang/Object;
+HPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->cancelSync(Landroid/content/ISyncContext;)V
+HPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->onUnsyncableAccount(Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
+HPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->startSync(Landroid/content/ISyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
+HPLandroid/content/AbstractThreadedSyncAdapter$SyncThread;->run()V
+HPLandroid/content/AbstractThreadedSyncAdapter;->access$200(Landroid/content/AbstractThreadedSyncAdapter;Landroid/accounts/Account;)Landroid/accounts/Account;
+HPLandroid/content/AbstractThreadedSyncAdapter;->getContext()Landroid/content/Context;
+HPLandroid/content/AbstractThreadedSyncAdapter;->handleOnUnsyncableAccount(Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
+HPLandroid/content/AbstractThreadedSyncAdapter;->onSyncCanceled()V
+HPLandroid/content/AbstractThreadedSyncAdapter;->onUnsyncableAccount()Z
 HPLandroid/content/AsyncQueryHandler;->onQueryComplete(ILjava/lang/Object;Landroid/database/Cursor;)V
-HPLandroid/content/AsyncQueryHandler;->onUpdateComplete(ILjava/lang/Object;I)V
-HPLandroid/content/AsyncQueryHandler;->startUpdate(ILjava/lang/Object;Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)V
-HPLandroid/content/BroadcastReceiver;->getResultData()Ljava/lang/String;
-HPLandroid/content/BroadcastReceiver;->getResultExtras(Z)Landroid/os/Bundle;
-HPLandroid/content/BroadcastReceiver;->setResult(ILjava/lang/String;Landroid/os/Bundle;)V
+HPLandroid/content/BroadcastReceiver$PendingResult;->checkSynchronousHint()V
+HPLandroid/content/BroadcastReceiver$PendingResult;->setResultCode(I)V
+HPLandroid/content/BroadcastReceiver;->getResultCode()I
 HPLandroid/content/ClipData$1;-><init>()V
 HPLandroid/content/ClipData$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ClipData;
 HPLandroid/content/ClipData$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/content/ClipData$Item;-><init>(Landroid/content/ClipData$Item;)V
 HPLandroid/content/ClipData$Item;->getIntent()Landroid/content/Intent;
 HPLandroid/content/ClipData$Item;->getUri()Landroid/net/Uri;
-HPLandroid/content/ClipData;-><init>(Landroid/content/ClipData;)V
+HPLandroid/content/ClipData$Item;->toShortString(Ljava/lang/StringBuilder;)V
 HPLandroid/content/ClipData;-><init>(Landroid/os/Parcel;)V
 HPLandroid/content/ClipData;-><init>(Ljava/lang/CharSequence;[Ljava/lang/String;Landroid/content/ClipData$Item;)V
-HPLandroid/content/ClipData;->fixUrisLight(I)V
 HPLandroid/content/ClipData;->getDescription()Landroid/content/ClipDescription;
 HPLandroid/content/ClipData;->getItemAt(I)Landroid/content/ClipData$Item;
 HPLandroid/content/ClipData;->getItemCount()I
+HPLandroid/content/ClipData;->newHtmlText(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/String;)Landroid/content/ClipData;
 HPLandroid/content/ClipData;->newPlainText(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Landroid/content/ClipData;
 HPLandroid/content/ClipData;->prepareToLeaveProcess(Z)V
 HPLandroid/content/ClipData;->prepareToLeaveProcess(ZI)V
-HPLandroid/content/ClipData;->setItemAt(ILandroid/content/ClipData$Item;)V
+HPLandroid/content/ClipData;->readHtmlTextFromParcel(Landroid/os/Parcel;)Ljava/lang/String;
+HPLandroid/content/ClipData;->toShortString(Ljava/lang/StringBuilder;)V
+HPLandroid/content/ClipData;->toShortStringShortItems(Ljava/lang/StringBuilder;Z)V
+HPLandroid/content/ClipData;->writeHtmlTextToParcel(Ljava/lang/String;Landroid/os/Parcel;I)V
 HPLandroid/content/ClipData;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/content/ClipDescription$1;-><init>()V
+HPLandroid/content/ClipDescription$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ClipDescription;
+HPLandroid/content/ClipDescription$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/content/ClipDescription;-><init>(Ljava/lang/CharSequence;[Ljava/lang/String;)V
+HPLandroid/content/ClipDescription;->compareMimeTypes(Ljava/lang/String;Ljava/lang/String;)Z
+HPLandroid/content/ClipDescription;->hasMimeType(Ljava/lang/String;)Z
 HPLandroid/content/ClipDescription;->setTimestamp(J)V
+HPLandroid/content/ClipDescription;->toShortString(Ljava/lang/StringBuilder;)Z
+HPLandroid/content/ClipDescription;->toShortStringTypesOnly(Ljava/lang/StringBuilder;)Z
 HPLandroid/content/ClipDescription;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/content/ClipboardManager;->hasPrimaryClip()Z
+HPLandroid/content/ClipboardManager$1;->dispatchPrimaryClipChanged()V
+HPLandroid/content/ClipboardManager$1;->lambda$dispatchPrimaryClipChanged$0$ClipboardManager$1()V
+HPLandroid/content/ClipboardManager;->getPrimaryClip()Landroid/content/ClipData;
+HPLandroid/content/ClipboardManager;->removePrimaryClipChangedListener(Landroid/content/ClipboardManager$OnPrimaryClipChangedListener;)V
+HPLandroid/content/ClipboardManager;->reportPrimaryClipChanged()V
 HPLandroid/content/ClipboardManager;->setPrimaryClip(Landroid/content/ClipData;)V
-HPLandroid/content/ComponentName$1;->newArray(I)[Landroid/content/ComponentName;
-HPLandroid/content/ComponentName$1;->newArray(I)[Ljava/lang/Object;
 HPLandroid/content/ComponentName;->appendShortString(Ljava/lang/StringBuilder;)V
 HPLandroid/content/ComponentName;->compareTo(Landroid/content/ComponentName;)I
+HPLandroid/content/ComponentName;->createRelative(Landroid/content/Context;Ljava/lang/String;)Landroid/content/ComponentName;
+HPLandroid/content/ComponentName;->flattenToShortString(Landroid/content/ComponentName;)Ljava/lang/String;
 HPLandroid/content/ComponentName;->toShortString()Ljava/lang/String;
+HPLandroid/content/ContentCaptureOptions;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/content/ContentProvider$CallingIdentity;-><init>(Landroid/content/ContentProvider;JLjava/lang/String;)V
+HPLandroid/content/ContentProvider$Transport;->applyBatch(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
 HPLandroid/content/ContentProvider$Transport;->canonicalize(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
+HPLandroid/content/ContentProvider$Transport;->openAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor;
+HPLandroid/content/ContentProvider$Transport;->openFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/ICancellationSignal;Landroid/os/IBinder;)Landroid/os/ParcelFileDescriptor;
+HPLandroid/content/ContentProvider;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
+HPLandroid/content/ContentProvider;->applyBatch(Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
+HPLandroid/content/ContentProvider;->bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I
 HPLandroid/content/ContentProvider;->canonicalize(Landroid/net/Uri;)Landroid/net/Uri;
+HPLandroid/content/ContentProvider;->coerceToLocalContentProvider(Landroid/content/IContentProvider;)Landroid/content/ContentProvider;
+HPLandroid/content/ContentProvider;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLandroid/content/ContentProvider;->getAuthorityWithoutUserId(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/content/ContentProvider;->getUserIdFromUri(Landroid/net/Uri;)I
 HPLandroid/content/ContentProvider;->onLowMemory()V
-HPLandroid/content/ContentProviderOperation$Builder;-><init>(ILandroid/net/Uri;Landroid/content/ContentProviderOperation$1;)V
+HPLandroid/content/ContentProvider;->openAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
+HPLandroid/content/ContentProvider;->openFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;
+HPLandroid/content/ContentProvider;->setCallingPackage(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/content/ContentProviderClient;->delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
+HPLandroid/content/ContentProviderClient;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
+HPLandroid/content/ContentProviderClient;->openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
+HPLandroid/content/ContentProviderOperation$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentProviderOperation;
+HPLandroid/content/ContentProviderOperation$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/content/ContentProviderOperation$Builder;->withExpectedCount(I)Landroid/content/ContentProviderOperation$Builder;
+HPLandroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
 HPLandroid/content/ContentProviderOperation$Builder;->withValueBackReference(Ljava/lang/String;I)Landroid/content/ContentProviderOperation$Builder;
+HPLandroid/content/ContentProviderOperation$Builder;->withYieldAllowed(Z)Landroid/content/ContentProviderOperation$Builder;
+HPLandroid/content/ContentProviderOperation;-><init>(Landroid/os/Parcel;)V
+HPLandroid/content/ContentProviderOperation;->apply(Landroid/content/ContentProvider;[Landroid/content/ContentProviderResult;I)Landroid/content/ContentProviderResult;
+HPLandroid/content/ContentProviderOperation;->getUri()Landroid/net/Uri;
+HPLandroid/content/ContentProviderOperation;->isReadOperation()Z
+HPLandroid/content/ContentProviderOperation;->isWriteOperation()Z
+HPLandroid/content/ContentProviderOperation;->isYieldAllowed()Z
 HPLandroid/content/ContentProviderOperation;->newAssertQuery(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
-HPLandroid/content/ContentProviderOperation;->toString()Ljava/lang/String;
+HPLandroid/content/ContentProviderOperation;->newDelete(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
+HPLandroid/content/ContentProviderOperation;->resolveSelectionArgsBackReferences([Landroid/content/ContentProviderResult;I)[Ljava/lang/String;
+HPLandroid/content/ContentProviderOperation;->resolveValueBackReferences([Landroid/content/ContentProviderResult;I)Landroid/content/ContentValues;
 HPLandroid/content/ContentProviderProxy;->canonicalize(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
-HPLandroid/content/ContentProviderProxy;->createCancellationSignal()Landroid/os/ICancellationSignal;
+HPLandroid/content/ContentProviderProxy;->delete(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
+HPLandroid/content/ContentProviderProxy;->openAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor;
+HPLandroid/content/ContentProviderProxy;->uncanonicalize(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
+HPLandroid/content/ContentProviderResult;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/content/ContentResolver$1;->onStatusChanged(I)V
+HPLandroid/content/ContentResolver;->acquireUnstableContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;
+HPLandroid/content/ContentResolver;->bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I
+HPLandroid/content/ContentResolver;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;)V
 HPLandroid/content/ContentResolver;->canonicalize(Landroid/net/Uri;)Landroid/net/Uri;
-HPLandroid/content/ContentResolver;->getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
-HPLandroid/content/ContentResolver;->isSyncActive(Landroid/accounts/Account;Ljava/lang/String;)Z
+HPLandroid/content/ContentResolver;->getIsSyncableAsUser(Landroid/accounts/Account;Ljava/lang/String;I)I
+HPLandroid/content/ContentResolver;->getMasterSyncAutomaticallyAsUser(I)Z
+HPLandroid/content/ContentResolver;->getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;)Ljava/util/List;
+HPLandroid/content/ContentResolver;->getResourceId(Landroid/net/Uri;)Landroid/content/ContentResolver$OpenResourceIdResult;
+HPLandroid/content/ContentResolver;->getSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
 HPLandroid/content/ContentResolver;->isSyncPending(Landroid/accounts/Account;Ljava/lang/String;)Z
 HPLandroid/content/ContentResolver;->isSyncPendingAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
-HPLandroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
+HPLandroid/content/ContentResolver;->lambda$loadThumbnail$1(ILandroid/os/CancellationSignal;Landroid/util/Size;Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V
+HPLandroid/content/ContentResolver;->loadThumbnail(Landroid/content/ContentInterface;Landroid/net/Uri;Landroid/util/Size;Landroid/os/CancellationSignal;I)Landroid/graphics/Bitmap;
+HPLandroid/content/ContentResolver;->loadThumbnail(Landroid/net/Uri;Landroid/util/Size;Landroid/os/CancellationSignal;)Landroid/graphics/Bitmap;
+HPLandroid/content/ContentResolver;->onDbCorruption(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
+HPLandroid/content/ContentResolver;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
+HPLandroid/content/ContentResolver;->requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
+HPLandroid/content/ContentResolver;->requestSyncAsUser(Landroid/accounts/Account;Ljava/lang/String;ILandroid/os/Bundle;)V
 HPLandroid/content/ContentResolver;->syncErrorToString(I)Ljava/lang/String;
-HPLandroid/content/ContentValues;->isEmpty()Z
+HPLandroid/content/ContentResolver;->uncanonicalize(Landroid/net/Uri;)Landroid/net/Uri;
+HPLandroid/content/ContentValues;->get(Ljava/lang/String;)Ljava/lang/Object;
 HPLandroid/content/ContentValues;->put(Ljava/lang/String;Ljava/lang/Byte;)V
-HPLandroid/content/Context;-><init>()V
+HPLandroid/content/Context;->getSharedPrefsFile(Ljava/lang/String;)Ljava/io/File;
+HPLandroid/content/Context;->unregisterComponentCallbacks(Landroid/content/ComponentCallbacks;)V
 HPLandroid/content/ContextWrapper;->checkUriPermission(Landroid/net/Uri;IIILandroid/os/IBinder;)I
-HPLandroid/content/ContextWrapper;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
-HPLandroid/content/ContextWrapper;->getCodeCacheDir()Ljava/io/File;
-HPLandroid/content/ContextWrapper;->getMainThreadHandler()Landroid/os/Handler;
-HPLandroid/content/ContextWrapper;->getObbDir()Ljava/io/File;
+HPLandroid/content/ContextWrapper;->createCredentialProtectedStorageContext()Landroid/content/Context;
+HPLandroid/content/ContextWrapper;->databaseList()[Ljava/lang/String;
+HPLandroid/content/ContextWrapper;->deleteFile(Ljava/lang/String;)Z
+HPLandroid/content/ContextWrapper;->deleteSharedPreferences(Ljava/lang/String;)Z
+HPLandroid/content/ContextWrapper;->getActivityToken()Landroid/os/IBinder;
+HPLandroid/content/ContextWrapper;->getDisplay()Landroid/view/Display;
+HPLandroid/content/ContextWrapper;->getSharedPreferences(Ljava/io/File;I)Landroid/content/SharedPreferences;
+HPLandroid/content/ContextWrapper;->openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;
+HPLandroid/content/ContextWrapper;->reloadSharedPreferences()V
+HPLandroid/content/ContextWrapper;->revokeUriPermission(Landroid/net/Uri;I)V
+HPLandroid/content/ContextWrapper;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
 HPLandroid/content/ContextWrapper;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;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/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
 HPLandroid/content/ContextWrapper;->startActivity(Landroid/content/Intent;Landroid/os/Bundle;)V
-HPLandroid/content/DialogInterface$OnDismissListener;->onDismiss(Landroid/content/DialogInterface;)V
-HPLandroid/content/IClipboard$Stub$Proxy;->hasPrimaryClip(Ljava/lang/String;)Z
+HPLandroid/content/IClipboard$Stub$Proxy;->getPrimaryClip(Ljava/lang/String;)Landroid/content/ClipData;
+HPLandroid/content/IClipboard$Stub$Proxy;->removePrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;)V
 HPLandroid/content/IClipboard$Stub$Proxy;->setPrimaryClip(Landroid/content/ClipData;Ljava/lang/String;)V
+HPLandroid/content/IClipboard$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/content/IClipboard$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/content/IContentService$Stub$Proxy;->getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
-HPLandroid/content/IContentService$Stub$Proxy;->isSyncActive(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Z
+HPLandroid/content/IContentService$Stub$Proxy;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)V
+HPLandroid/content/IContentService$Stub$Proxy;->getMasterSyncAutomaticallyAsUser(I)Z
+HPLandroid/content/IContentService$Stub$Proxy;->getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Ljava/util/List;
 HPLandroid/content/IContentService$Stub$Proxy;->isSyncPendingAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;I)Z
+HPLandroid/content/IContentService$Stub$Proxy;->onDbCorruption(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/content/IContentService$Stub$Proxy;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
+HPLandroid/content/IContentService$Stub$Proxy;->syncAsUser(Landroid/content/SyncRequest;ILjava/lang/String;)V
+HPLandroid/content/IContentService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/content/IIntentReceiver$Stub$Proxy;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-HPLandroid/content/IIntentReceiver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/content/IIntentSender$Stub$Proxy;->send(ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)V
 HPLandroid/content/IIntentSender$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IIntentSender;
 HPLandroid/content/IOnPrimaryClipChangedListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/content/IOnPrimaryClipChangedListener$Stub$Proxy;->dispatchPrimaryClipChanged()V
+HPLandroid/content/IOnPrimaryClipChangedListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/content/IRestrictionsManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/content/IRestrictionsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/content/ISyncAdapter$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/content/ISyncAdapter$Stub$Proxy;->cancelSync(Landroid/content/ISyncContext;)V
 HPLandroid/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;
+HPLandroid/content/ISyncAdapter$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub$Proxy;->onUnsyncableAccountDone(Z)V
 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$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/content/ISyncContext$Stub$Proxy;->onFinished(Landroid/content/SyncResult;)V
 HPLandroid/content/ISyncContext$Stub;-><init>()V
 HPLandroid/content/ISyncContext$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/content/ISyncContext$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/content/ISyncContext$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/content/ISyncStatusObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/content/ISyncStatusObserver$Stub$Proxy;->onStatusChanged(I)V
 HPLandroid/content/ISyncStatusObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/ISyncStatusObserver;
 HPLandroid/content/ISyncStatusObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/content/Intent;->clone()Ljava/lang/Object;
+HPLandroid/content/Intent;->getCharSequenceExtra(Ljava/lang/String;)Ljava/lang/CharSequence;
 HPLandroid/content/Intent;->getContentUserHint()I
 HPLandroid/content/Intent;->getFloatExtra(Ljava/lang/String;F)F
 HPLandroid/content/Intent;->getIntArrayExtra(Ljava/lang/String;)[I
 HPLandroid/content/Intent;->getIntegerArrayListExtra(Ljava/lang/String;)Ljava/util/ArrayList;
 HPLandroid/content/Intent;->getLaunchToken()Ljava/lang/String;
 HPLandroid/content/Intent;->getLongArrayExtra(Ljava/lang/String;)[J
-HPLandroid/content/Intent;->parseIntent(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/content/Intent;
-HPLandroid/content/Intent;->putExtra(Ljava/lang/String;F)Landroid/content/Intent;
+HPLandroid/content/Intent;->getShortExtra(Ljava/lang/String;S)S
+HPLandroid/content/Intent;->makeMainActivity(Landroid/content/ComponentName;)Landroid/content/Intent;
+HPLandroid/content/Intent;->makeRestartActivityTask(Landroid/content/ComponentName;)Landroid/content/Intent;
+HPLandroid/content/Intent;->putExtra(Ljava/lang/String;D)Landroid/content/Intent;
 HPLandroid/content/Intent;->putExtra(Ljava/lang/String;[I)Landroid/content/Intent;
+HPLandroid/content/Intent;->putExtra(Ljava/lang/String;[J)Landroid/content/Intent;
 HPLandroid/content/Intent;->putIntegerArrayListExtra(Ljava/lang/String;Ljava/util/ArrayList;)Landroid/content/Intent;
-HPLandroid/content/Intent;->resolveType(Landroid/content/Context;)Ljava/lang/String;
+HPLandroid/content/Intent;->removeFlags(I)V
 HPLandroid/content/Intent;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/content/Intent;
 HPLandroid/content/Intent;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-HPLandroid/content/Intent;->setClipData(Landroid/content/ClipData;)V
 HPLandroid/content/Intent;->setSelector(Landroid/content/Intent;)V
 HPLandroid/content/Intent;->setSourceBounds(Landroid/graphics/Rect;)V
-HPLandroid/content/Intent;->toURI()Ljava/lang/String;
+HPLandroid/content/Intent;->toInsecureString()Ljava/lang/String;
 HPLandroid/content/IntentFilter$1;->newArray(I)[Landroid/content/IntentFilter;
 HPLandroid/content/IntentFilter$1;->newArray(I)[Ljava/lang/Object;
 HPLandroid/content/IntentFilter$AuthorityEntry;->match(Landroid/net/Uri;)I
+HPLandroid/content/IntentFilter;->addDataPath(Ljava/lang/String;I)V
 HPLandroid/content/IntentFilter;->dump(Landroid/util/Printer;Ljava/lang/String;)V
-HPLandroid/content/IntentFilter;->getDataScheme(I)Ljava/lang/String;
 HPLandroid/content/IntentFilter;->getDataSchemeSpecificPart(I)Landroid/os/PatternMatcher;
-HPLandroid/content/IntentFilter;->getDataType(I)Ljava/lang/String;
-HPLandroid/content/IntentFilter;->getHostsList()Ljava/util/ArrayList;
 HPLandroid/content/IntentFilter;->getPriority()I
 HPLandroid/content/IntentFilter;->hasDataPath(Ljava/lang/String;)Z
-HPLandroid/content/IntentFilter;->hasDataScheme(Ljava/lang/String;)Z
 HPLandroid/content/IntentFilter;->hasDataSchemeSpecificPart(Landroid/os/PatternMatcher;)Z
-HPLandroid/content/IntentFilter;->hasDataSchemeSpecificPart(Ljava/lang/String;)Z
+HPLandroid/content/IntentFilter;->matchAction(Ljava/lang/String;)Z
 HPLandroid/content/IntentFilter;->matchDataAuthority(Landroid/net/Uri;)I
 HPLandroid/content/IntentFilter;->needsVerification()Z
-HPLandroid/content/IntentFilter;->setOrder(I)V
 HPLandroid/content/IntentSender$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/IntentSender;
 HPLandroid/content/IntentSender$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/content/IntentSender;-><init>(Landroid/os/IBinder;)V
@@ -1608,13 +1925,16 @@
 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
 HPLandroid/content/IntentSender;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/content/Loader;->toString()Ljava/lang/String;
+HPLandroid/content/Loader$ForceLoadContentObserver;->onChange(Z)V
+HPLandroid/content/Loader;->onContentChanged()V
+HPLandroid/content/PeriodicSync$1;-><init>()V
 HPLandroid/content/PeriodicSync$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/PeriodicSync;
 HPLandroid/content/PeriodicSync$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/content/PeriodicSync;-><init>(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;JJ)V
 HPLandroid/content/PeriodicSync;-><init>(Landroid/os/Parcel;)V
 HPLandroid/content/PeriodicSync;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/content/ServiceConnection;->onBindingDied(Landroid/content/ComponentName;)V
+HPLandroid/content/ServiceConnection;->onNullBinding(Landroid/content/ComponentName;)V
 HPLandroid/content/SyncAdapterType;->allowParallelSyncs()Z
 HPLandroid/content/SyncAdapterType;->isAlwaysSyncable()Z
 HPLandroid/content/SyncAdapterType;->isUserVisible()Z
@@ -1624,9 +1944,16 @@
 HPLandroid/content/SyncAdaptersCache$MySerializer;->writeAsXml(Landroid/content/SyncAdapterType;Lorg/xmlpull/v1/XmlSerializer;)V
 HPLandroid/content/SyncAdaptersCache$MySerializer;->writeAsXml(Ljava/lang/Object;Lorg/xmlpull/v1/XmlSerializer;)V
 HPLandroid/content/SyncAdaptersCache;->onServicesChangedLocked(I)V
+HPLandroid/content/SyncContext;->getSyncContextBinder()Landroid/os/IBinder;
+HPLandroid/content/SyncContext;->onFinished(Landroid/content/SyncResult;)V
 HPLandroid/content/SyncInfo$1;-><init>()V
 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$Builder;->build()Landroid/content/SyncRequest;
+HPLandroid/content/SyncRequest$Builder;->setExtras(Landroid/os/Bundle;)Landroid/content/SyncRequest$Builder;
+HPLandroid/content/SyncRequest$Builder;->setSyncAdapter(Landroid/accounts/Account;Ljava/lang/String;)Landroid/content/SyncRequest$Builder;
+HPLandroid/content/SyncRequest$Builder;->syncOnce()Landroid/content/SyncRequest$Builder;
+HPLandroid/content/SyncRequest;-><init>(Landroid/content/SyncRequest$Builder;)V
 HPLandroid/content/SyncRequest;-><init>(Landroid/os/Parcel;)V
 HPLandroid/content/SyncRequest;->getAccount()Landroid/accounts/Account;
 HPLandroid/content/SyncRequest;->getBundle()Landroid/os/Bundle;
@@ -1634,62 +1961,80 @@
 HPLandroid/content/SyncRequest;->getSyncFlexTime()J
 HPLandroid/content/SyncRequest;->getSyncRunTime()J
 HPLandroid/content/SyncRequest;->isPeriodic()Z
+HPLandroid/content/SyncRequest;->writeToParcel(Landroid/os/Parcel;I)V
 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>()V
 HPLandroid/content/SyncResult;-><init>(Landroid/os/Parcel;)V
+HPLandroid/content/SyncResult;->hasError()Z
+HPLandroid/content/SyncResult;->hasHardError()Z
 HPLandroid/content/SyncResult;->hasSoftError()Z
 HPLandroid/content/SyncResult;->madeSomeProgress()Z
-HPLandroid/content/SyncResult;->toDebugString()Ljava/lang/String;
 HPLandroid/content/SyncResult;->toString()Ljava/lang/String;
 HPLandroid/content/SyncStats;-><init>(Landroid/os/Parcel;)V
+HPLandroid/content/SyncStats;->toString()Ljava/lang/String;
 HPLandroid/content/SyncStatusInfo$Stats;->clear()V
 HPLandroid/content/SyncStatusInfo$Stats;->copyTo(Landroid/content/SyncStatusInfo$Stats;)V
+HPLandroid/content/SyncStatusInfo$Stats;->writeToParcel(Landroid/os/Parcel;)V
 HPLandroid/content/SyncStatusInfo;-><init>(I)V
 HPLandroid/content/SyncStatusInfo;->addEvent(Ljava/lang/String;)V
 HPLandroid/content/SyncStatusInfo;->areSameDates(JJ)Z
 HPLandroid/content/SyncStatusInfo;->maybeResetTodayStats(ZZ)V
 HPLandroid/content/SyncStatusInfo;->setLastFailure(IJLjava/lang/String;)V
 HPLandroid/content/SyncStatusInfo;->setLastSuccess(IJ)V
-HPLandroid/content/UndoManager$UndoState;->hasOperation(Landroid/content/UndoOwner;)Z
-HPLandroid/content/UndoManager$UndoState;->writeToParcel(Landroid/os/Parcel;)V
-HPLandroid/content/UndoManager;->commitState(Landroid/content/UndoOwner;)I
-HPLandroid/content/UndoManager;->saveOwner(Landroid/content/UndoOwner;Landroid/os/Parcel;)V
-HPLandroid/content/UndoOperation;->getOwnerData()Ljava/lang/Object;
-HPLandroid/content/UndoOwner;->getData()Ljava/lang/Object;
-HPLandroid/content/om/IOverlayManager$Stub$Proxy;->getOverlayInfosForTarget(Ljava/lang/String;I)Ljava/util/List;
-HPLandroid/content/om/IOverlayManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/om/IOverlayManager;
-HPLandroid/content/om/OverlayInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/om/OverlayInfo;
-HPLandroid/content/om/OverlayInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/content/om/OverlayInfo;-><init>(Landroid/os/Parcel;)V
-HPLandroid/content/om/OverlayInfo;->isEnabled()Z
+HPLandroid/content/SyncStatusInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/content/UndoManager;->matchOwners(Landroid/content/UndoManager$UndoState;[Landroid/content/UndoOwner;)Z
+HPLandroid/content/UndoManager;->removeOwner(Landroid/content/UndoOwner;)V
+HPLandroid/content/UndoOperation;->matchOwner(Landroid/content/UndoOwner;)Z
+HPLandroid/content/om/IOverlayManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/content/om/OverlayInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/content/pm/-$$Lambda$RegisteredServicesCache$lDXmLhKoG7lZpIyDOuPYOrjzDYY;->run()V
+HPLandroid/content/pm/-$$Lambda$T1UQAuePWRRmVQ1KzTyMAktZUPM;-><init>()V
+HPLandroid/content/pm/-$$Lambda$T1UQAuePWRRmVQ1KzTyMAktZUPM;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HPLandroid/content/pm/-$$Lambda$ciir_QAmv6RwJro4I58t77dPnxU;-><init>()V
+HPLandroid/content/pm/-$$Lambda$ciir_QAmv6RwJro4I58t77dPnxU;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HPLandroid/content/pm/-$$Lambda$n3uXeb1v-YRmq_BWTfosEqUUr9g;-><init>()V
+HPLandroid/content/pm/-$$Lambda$n3uXeb1v-YRmq_BWTfosEqUUr9g;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HPLandroid/content/pm/-$$Lambda$zO9HBUVgPeroyDQPLJE-MNMvSqc;-><init>()V
+HPLandroid/content/pm/-$$Lambda$zO9HBUVgPeroyDQPLJE-MNMvSqc;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 HPLandroid/content/pm/ActivityInfo;->getRealConfigChanged()I
-HPLandroid/content/pm/ApplicationInfo;->loadDefaultIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
+HPLandroid/content/pm/ActivityInfo;->resizeModeToString(I)Ljava/lang/String;
+HPLandroid/content/pm/ApplicationInfo;->getBaseResourcePath()Ljava/lang/String;
+HPLandroid/content/pm/ApplicationInfo;->getSplitCodePaths()[Ljava/lang/String;
+HPLandroid/content/pm/ApplicationInfo;->isInternal()Z
 HPLandroid/content/pm/ApplicationInfo;->toString()Ljava/lang/String;
 HPLandroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;-><init>(Landroid/content/IntentFilter;Landroid/content/pm/InstantAppResolveInfo;Ljava/lang/String;Landroid/os/Bundle;)V
-HPLandroid/content/pm/AuxiliaryResolveInfo;-><init>(Landroid/content/ComponentName;Ljava/lang/String;JLjava/lang/String;)V
 HPLandroid/content/pm/BaseParceledListSlice$1;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/content/pm/ChangedPackages$1;-><init>()V
 HPLandroid/content/pm/ChangedPackages;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/content/pm/ComponentInfo;->isEnabled()Z
+HPLandroid/content/pm/FeatureInfo;->getGlEsVersion()Ljava/lang/String;
+HPLandroid/content/pm/FeatureInfo;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
+HPLandroid/content/pm/ICrossProfileApps$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/content/pm/ILauncherApps$Stub$Proxy;->addOnAppsChangedListener(Ljava/lang/String;Landroid/content/pm/IOnAppsChangedListener;)V
+HPLandroid/content/pm/ILauncherApps$Stub$Proxy;->getLauncherActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
+HPLandroid/content/pm/ILauncherApps$Stub$Proxy;->shouldHideFromSuggestions(Ljava/lang/String;Landroid/os/UserHandle;)Z
+HPLandroid/content/pm/ILauncherApps$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/content/pm/ILauncherApps$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/content/pm/IOnAppsChangedListener$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->onPackageAdded(Landroid/os/UserHandle;Ljava/lang/String;)V
 HPLandroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->onPackageChanged(Landroid/os/UserHandle;Ljava/lang/String;)V
-HPLandroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->onPackageRemoved(Landroid/os/UserHandle;Ljava/lang/String;)V
 HPLandroid/content/pm/IOnAppsChangedListener$Stub$Proxy;->onShortcutChanged(Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
+HPLandroid/content/pm/IOnAppsChangedListener$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/content/pm/IOnAppsChangedListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/content/pm/IOnPermissionsChangeListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/content/pm/IOnPermissionsChangeListener$Stub$Proxy;->onPermissionsChanged(I)V
+HPLandroid/content/pm/IOnPermissionsChangeListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IOnPermissionsChangeListener;
 HPLandroid/content/pm/IOnPermissionsChangeListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/content/pm/IOtaDexopt$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/content/pm/IPackageDataObserver$Stub$Proxy;->onRemoveCompleted(Ljava/lang/String;Z)V
-HPLandroid/content/pm/IPackageDataObserver$Stub;-><init>()V
-HPLandroid/content/pm/IPackageDataObserver$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/content/pm/IPackageDataObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageDataObserver;
-HPLandroid/content/pm/IPackageDataObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/content/pm/IPackageDeleteObserver2;->onPackageDeleted(Ljava/lang/String;ILjava/lang/String;)V
-HPLandroid/content/pm/IPackageDeleteObserver2;->onUserActionRequired(Landroid/content/Intent;)V
 HPLandroid/content/pm/IPackageInstallObserver2$Stub;-><init>()V
 HPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->abandonSession(I)V
+HPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->getAllSessions(I)Landroid/content/pm/ParceledListSlice;
+HPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;
+HPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;I)V
 HPLandroid/content/pm/IPackageInstaller$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/content/pm/IPackageInstaller$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/content/pm/IPackageInstaller$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->onSessionActiveChanged(IZ)V
@@ -1697,28 +2042,27 @@
 HPLandroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->onSessionFinished(IZ)V
 HPLandroid/content/pm/IPackageInstallerCallback$Stub$Proxy;->onSessionProgressChanged(IF)V
 HPLandroid/content/pm/IPackageInstallerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/content/pm/IPackageInstallerSession$Stub$Proxy;->close()V
-HPLandroid/content/pm/IPackageInstallerSession$Stub$Proxy;->commit(Landroid/content/IntentSender;Z)V
-HPLandroid/content/pm/IPackageInstallerSession$Stub$Proxy;->getNames()[Ljava/lang/String;
-HPLandroid/content/pm/IPackageInstallerSession$Stub$Proxy;->openWrite(Ljava/lang/String;JJ)Landroid/os/ParcelFileDescriptor;
 HPLandroid/content/pm/IPackageInstallerSession$Stub;-><init>()V
 HPLandroid/content/pm/IPackageInstallerSession$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/content/pm/IPackageInstallerSession$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/content/pm/IPackageInstallerSession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/content/pm/IPackageManager$Stub$Proxy;->checkUidSignatures(II)I
-HPLandroid/content/pm/IPackageManager$Stub$Proxy;->freeStorageAndNotify(Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
-HPLandroid/content/pm/IPackageManager$Stub$Proxy;->getArtManager()Landroid/content/pm/dex/IArtManager;
-HPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPermissionControllerPackageName()Ljava/lang/String;
-HPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;
+HPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackagesHoldingPermissions([Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+HPLandroid/content/pm/IPackageManager$Stub$Proxy;->grantDefaultPermissionsToActiveLuiApp(Ljava/lang/String;I)V
 HPLandroid/content/pm/IPackageManager$Stub$Proxy;->isOnlyCoreApps()Z
-HPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryPermissionsByGroup(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
 HPLandroid/content/pm/IPackageManager$Stub$Proxy;->removeOnPermissionsChangeListener(Landroid/content/pm/IOnPermissionsChangeListener;)V
-HPLandroid/content/pm/IPackageManager$Stub$Proxy;->replacePreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
-HPLandroid/content/pm/IPackageManager$Stub$Proxy;->setApplicationCategoryHint(Ljava/lang/String;ILjava/lang/String;)V
+HPLandroid/content/pm/IPackageManager$Stub$Proxy;->revokeDefaultPermissionsFromLuiApps([Ljava/lang/String;I)V
+HPLandroid/content/pm/IPackageManager$Stub$Proxy;->verifyIntentFilter(IILjava/util/List;)V
+HPLandroid/content/pm/IPackageManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/content/pm/IPackageManagerNative$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/content/pm/IShortcutService$Stub$Proxy;->disableShortcuts(Ljava/lang/String;Ljava/util/List;Ljava/lang/CharSequence;II)V
+HPLandroid/content/pm/IShortcutService$Stub$Proxy;->getIconMaxDimensions(Ljava/lang/String;I)I
+HPLandroid/content/pm/IShortcutService$Stub$Proxy;->getPinnedShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+HPLandroid/content/pm/IShortcutService$Stub$Proxy;->reportShortcutUsed(Ljava/lang/String;Ljava/lang/String;I)V
+HPLandroid/content/pm/IShortcutService$Stub$Proxy;->setDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
 HPLandroid/content/pm/IShortcutService$Stub$Proxy;->updateShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
 HPLandroid/content/pm/IShortcutService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IShortcutService;
+HPLandroid/content/pm/IShortcutService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/content/pm/IShortcutService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/content/pm/InstantAppInfo;->getPackageName()Ljava/lang/String;
-HPLandroid/content/pm/InstantAppInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/content/pm/InstantAppIntentFilter$1;-><init>()V
 HPLandroid/content/pm/InstantAppIntentFilter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/InstantAppIntentFilter;
 HPLandroid/content/pm/InstantAppIntentFilter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -1739,119 +2083,121 @@
 HPLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest;->getDigestPrefixSecure()[I
 HPLandroid/content/pm/InstantAppResolveInfo$InstantAppDigest;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/content/pm/InstantAppResolveInfo;-><init>(Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;Ljava/lang/String;Ljava/util/List;I)V
-HPLandroid/content/pm/InstantAppResolveInfo;-><init>(Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;Ljava/lang/String;Ljava/util/List;JLandroid/os/Bundle;)V
 HPLandroid/content/pm/InstantAppResolveInfo;-><init>(Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;Ljava/lang/String;Ljava/util/List;JLandroid/os/Bundle;Z)V
 HPLandroid/content/pm/InstantAppResolveInfo;-><init>(Landroid/os/Parcel;)V
 HPLandroid/content/pm/InstantAppResolveInfo;->getDigestBytes()[B
-HPLandroid/content/pm/InstantAppResolveInfo;->getPackageName()Ljava/lang/String;
 HPLandroid/content/pm/InstantAppResolveInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/content/pm/InstrumentationInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/content/pm/LauncherApps$1;->onPackageAdded(Landroid/os/UserHandle;Ljava/lang/String;)V
+HPLandroid/content/pm/LauncherActivityInfo;->getComponentName()Landroid/content/ComponentName;
+HPLandroid/content/pm/LauncherActivityInfo;->getUser()Landroid/os/UserHandle;
 HPLandroid/content/pm/LauncherApps$1;->onPackageChanged(Landroid/os/UserHandle;Ljava/lang/String;)V
-HPLandroid/content/pm/LauncherApps$1;->onPackageRemoved(Landroid/os/UserHandle;Ljava/lang/String;)V
-HPLandroid/content/pm/LauncherApps$CallbackMessageHandler;->postOnPackageAdded(Ljava/lang/String;Landroid/os/UserHandle;)V
+HPLandroid/content/pm/LauncherApps$1;->onShortcutChanged(Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
+HPLandroid/content/pm/LauncherApps$Callback;-><init>()V
+HPLandroid/content/pm/LauncherApps$Callback;->onShortcutsChanged(Ljava/lang/String;Ljava/util/List;Landroid/os/UserHandle;)V
+HPLandroid/content/pm/LauncherApps$CallbackMessageHandler;->handleMessage(Landroid/os/Message;)V
 HPLandroid/content/pm/LauncherApps$CallbackMessageHandler;->postOnPackageChanged(Ljava/lang/String;Landroid/os/UserHandle;)V
-HPLandroid/content/pm/LauncherApps$CallbackMessageHandler;->postOnPackageRemoved(Ljava/lang/String;Landroid/os/UserHandle;)V
-HPLandroid/content/pm/LauncherApps$ShortcutQuery;->setActivity(Landroid/content/ComponentName;)Landroid/content/pm/LauncherApps$ShortcutQuery;
-HPLandroid/content/pm/PackageInfo$1;->newArray(I)[Landroid/content/pm/PackageInfo;
-HPLandroid/content/pm/PackageInfo$1;->newArray(I)[Ljava/lang/Object;
+HPLandroid/content/pm/LauncherApps$CallbackMessageHandler;->postOnShortcutChanged(Ljava/lang/String;Landroid/os/UserHandle;Ljava/util/List;)V
+HPLandroid/content/pm/LauncherApps;->convertToActivityList(Landroid/content/pm/ParceledListSlice;Landroid/os/UserHandle;)Ljava/util/List;
+HPLandroid/content/pm/LauncherApps;->findCallbackLocked(Landroid/content/pm/LauncherApps$Callback;)I
+HPLandroid/content/pm/LauncherApps;->getActivityList(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;
+HPLandroid/content/pm/LauncherApps;->registerCallback(Landroid/content/pm/LauncherApps$Callback;)V
+HPLandroid/content/pm/LauncherApps;->registerCallback(Landroid/content/pm/LauncherApps$Callback;Landroid/os/Handler;)V
+HPLandroid/content/pm/LauncherApps;->shouldHideFromSuggestions(Ljava/lang/String;Landroid/os/UserHandle;)Z
+HPLandroid/content/pm/ModuleInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/content/pm/PackageInfo;->isOverlayPackage()Z
 HPLandroid/content/pm/PackageInfoLite$1;-><init>()V
-HPLandroid/content/pm/PackageInfoLite$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageInfoLite;
-HPLandroid/content/pm/PackageInfoLite$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/content/pm/PackageInfoLite;-><init>(Landroid/os/Parcel;)V
 HPLandroid/content/pm/PackageInfoLite;->getLongVersionCode()J
-HPLandroid/content/pm/PackageInstaller$Session;->close()V
-HPLandroid/content/pm/PackageInstaller$Session;->commit(Landroid/content/IntentSender;)V
-HPLandroid/content/pm/PackageInstaller$Session;->fsync(Ljava/io/OutputStream;)V
-HPLandroid/content/pm/PackageInstaller$Session;->getNames()[Ljava/lang/String;
-HPLandroid/content/pm/PackageInstaller$Session;->openWrite(Ljava/lang/String;JJ)Ljava/io/OutputStream;
-HPLandroid/content/pm/PackageInstaller$SessionCallbackDelegate;->handleMessage(Landroid/os/Message;)Z
+HPLandroid/content/pm/PackageInstaller$SessionCallback;-><init>()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
+HPLandroid/content/pm/PackageInstaller$SessionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageInstaller$SessionInfo;
+HPLandroid/content/pm/PackageInstaller$SessionInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/content/pm/PackageInstaller$SessionInfo;-><init>()V
+HPLandroid/content/pm/PackageInstaller$SessionInfo;-><init>(Landroid/os/Parcel;)V
 HPLandroid/content/pm/PackageInstaller$SessionInfo;->describeContents()I
-HPLandroid/content/pm/PackageInstaller$SessionInfo;->getInstallReason()I
-HPLandroid/content/pm/PackageInstaller$SessionInfo;->getProgress()F
+HPLandroid/content/pm/PackageInstaller$SessionInfo;->getAppPackageName()Ljava/lang/String;
+HPLandroid/content/pm/PackageInstaller$SessionInfo;->getInstallAsInstantApp(Z)Z
+HPLandroid/content/pm/PackageInstaller$SessionInfo;->getInstallerPackageName()Ljava/lang/String;
+HPLandroid/content/pm/PackageInstaller$SessionInfo;->getMode()I
+HPLandroid/content/pm/PackageInstaller$SessionInfo;->getSessionId()I
+HPLandroid/content/pm/PackageInstaller$SessionInfo;->isStaged()Z
 HPLandroid/content/pm/PackageInstaller$SessionInfo;->writeToParcel(Landroid/os/Parcel;I)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>(I)V
 HPLandroid/content/pm/PackageInstaller$SessionParams;-><init>(Landroid/os/Parcel;)V
 HPLandroid/content/pm/PackageInstaller$SessionParams;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
-HPLandroid/content/pm/PackageInstaller$SessionParams;->setGrantedRuntimePermissions([Ljava/lang/String;)V
-HPLandroid/content/pm/PackageInstaller$SessionParams;->setInstallFlagsInternal()V
 HPLandroid/content/pm/PackageInstaller;->abandonSession(I)V
+HPLandroid/content/pm/PackageInstaller;->getAllSessions()Ljava/util/List;
+HPLandroid/content/pm/PackageInstaller;->getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;
 HPLandroid/content/pm/PackageInstaller;->registerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;)V
-HPLandroid/content/pm/PackageItemInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
 HPLandroid/content/pm/PackageList;->getPackageNames()Ljava/util/List;
-HPLandroid/content/pm/PackageManager$NameNotFoundException;-><init>(Ljava/lang/String;)V
-HPLandroid/content/pm/PackageManager;->buildRequestPermissionsIntent([Ljava/lang/String;)Landroid/content/Intent;
-HPLandroid/content/pm/PackageManager;->deleteStatusToPublicStatus(I)I
-HPLandroid/content/pm/PackageManager;->deleteStatusToString(I)Ljava/lang/String;
-HPLandroid/content/pm/PackageManager;->deleteStatusToString(ILjava/lang/String;)Ljava/lang/String;
-HPLandroid/content/pm/PackageManager;->freeStorageAndNotify(JLandroid/content/pm/IPackageDataObserver;)V
+HPLandroid/content/pm/PackageList;->onPackageAdded(Ljava/lang/String;)V
 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;
-HPLandroid/content/pm/PackageManager;->queryBroadcastReceiversAsUser(Landroid/content/Intent;ILandroid/os/UserHandle;)Ljava/util/List;
-HPLandroid/content/pm/PackageManagerInternal$PackageListObserver;->onPackageAdded(Ljava/lang/String;)V
-HPLandroid/content/pm/PackageManagerInternal$PackageListObserver;->onPackageRemoved(Ljava/lang/String;)V
-HPLandroid/content/pm/PackageManagerInternal;->getPackageList()Landroid/content/pm/PackageList;
-HPLandroid/content/pm/PackageParser$ApkLite;->getLongVersionCode()J
-HPLandroid/content/pm/PackageParser$Instrumentation$1;-><init>()V
-HPLandroid/content/pm/PackageParser$Instrumentation;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/content/pm/PackageParser$Package;->canHaveOatDir()Z
+HPLandroid/content/pm/PackageParser$Package;->getAllCodePathsExcludingResourceOnly()Ljava/util/List;
+HPLandroid/content/pm/PackageParser$Package;->getLatestForegroundPackageUseTimeInMills()J
 HPLandroid/content/pm/PackageParser$Package;->getLatestPackageUseTimeInMills()J
 HPLandroid/content/pm/PackageParser$Package;->setApplicationInfoFlags(II)V
 HPLandroid/content/pm/PackageParser$Package;->setBaseCodePath(Ljava/lang/String;)V
 HPLandroid/content/pm/PackageParser$Package;->setCodePath(Ljava/lang/String;)V
 HPLandroid/content/pm/PackageParser$Package;->setSigningDetails(Landroid/content/pm/PackageParser$SigningDetails;)V
-HPLandroid/content/pm/PackageParser$Package;->toString()Ljava/lang/String;
-HPLandroid/content/pm/PackageParser$PackageLite;->getAllCodePaths()Ljava/util/List;
 HPLandroid/content/pm/PackageParser$Permission;->isAppOp()Z
-HPLandroid/content/pm/PackageParser$SigningDetails;-><init>(Landroid/os/Parcel;)V
-HPLandroid/content/pm/PackageParser$SigningDetails;-><init>([Landroid/content/pm/Signature;I)V
 HPLandroid/content/pm/PackageParser$SigningDetails;->signaturesMatchExactly(Landroid/content/pm/PackageParser$SigningDetails;)Z
-HPLandroid/content/pm/PackageParser;->generateActivityInfo(Landroid/content/pm/ActivityInfo;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ActivityInfo;
-HPLandroid/content/pm/PackageParser;->generateApplicationInfo(Landroid/content/pm/ApplicationInfo;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ApplicationInfo;
-HPLandroid/content/pm/PackageParser;->generatePermissionGroupInfo(Landroid/content/pm/PackageParser$PermissionGroup;I)Landroid/content/pm/PermissionGroupInfo;
 HPLandroid/content/pm/PackageParser;->parseApkLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$ApkLite;
-HPLandroid/content/pm/PackageParser;->parseInstrumentation(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Landroid/content/pm/PackageParser$Instrumentation;
 HPLandroid/content/pm/PackageParser;->parsePackage(Ljava/io/File;I)Landroid/content/pm/PackageParser$Package;
-HPLandroid/content/pm/PackageParser;->parsePackageLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$PackageLite;
 HPLandroid/content/pm/PackageParser;->setCallback(Landroid/content/pm/PackageParser$Callback;)V
 HPLandroid/content/pm/PackageParser;->setDisplayMetrics(Landroid/util/DisplayMetrics;)V
 HPLandroid/content/pm/PackageParser;->setSeparateProcesses([Ljava/lang/String;)V
 HPLandroid/content/pm/PackageStats;-><init>(Landroid/content/pm/PackageStats;)V
-HPLandroid/content/pm/PathPermission;->getReadPermission()Ljava/lang/String;
+HPLandroid/content/pm/ParceledListSlice$1;->createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Landroid/content/pm/ParceledListSlice;
+HPLandroid/content/pm/ParceledListSlice$1;->createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Ljava/lang/Object;
 HPLandroid/content/pm/PermissionInfo;->getProtection()I
 HPLandroid/content/pm/PermissionInfo;->isAppOp()Z
+HPLandroid/content/pm/PermissionInfo;->loadDescription(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
 HPLandroid/content/pm/ProviderInfo;->toString()Ljava/lang/String;
 HPLandroid/content/pm/RegisteredServicesCache$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HPLandroid/content/pm/RegisteredServicesCache$4;->run()V
+HPLandroid/content/pm/RegisteredServicesCache;->getBindInstantServiceAllowed(I)Z
 HPLandroid/content/pm/RegisteredServicesCache;->getServiceInfo(Ljava/lang/Object;I)Landroid/content/pm/RegisteredServicesCache$ServiceInfo;
 HPLandroid/content/pm/RegisteredServicesCache;->handlePackageEvent(Landroid/content/Intent;I)V
+HPLandroid/content/pm/RegisteredServicesCache;->lambda$notifyListener$0(Landroid/content/pm/RegisteredServicesCacheListener;Ljava/lang/Object;IZ)V
 HPLandroid/content/pm/RegisteredServicesCache;->notifyListener(Ljava/lang/Object;IZ)V
 HPLandroid/content/pm/RegisteredServicesCache;->updateServices(I)V
 HPLandroid/content/pm/RegisteredServicesCache;->writePersistentServicesLocked(Landroid/content/pm/RegisteredServicesCache$UserServices;I)V
 HPLandroid/content/pm/ResolveInfo;-><init>(Landroid/content/pm/ResolveInfo;)V
-HPLandroid/content/pm/ResolveInfo;->resolveIconResId()I
-HPLandroid/content/pm/ResolveInfo;->resolveLabelResId()I
+HPLandroid/content/pm/ResolveInfo;->getIconResource()I
+HPLandroid/content/pm/ServiceInfo$1;->newArray(I)[Landroid/content/pm/ServiceInfo;
+HPLandroid/content/pm/ServiceInfo$1;->newArray(I)[Ljava/lang/Object;
 HPLandroid/content/pm/ServiceInfo;-><init>(Landroid/content/pm/ServiceInfo;)V
+HPLandroid/content/pm/ServiceInfo;->getForegroundServiceType()I
 HPLandroid/content/pm/ServiceInfo;->toString()Ljava/lang/String;
+HPLandroid/content/pm/SharedLibraryInfo;->getAllCodePaths()Ljava/util/List;
+HPLandroid/content/pm/SharedLibraryInfo;->getLongVersion()J
 HPLandroid/content/pm/SharedLibraryInfo;->getName()Ljava/lang/String;
+HPLandroid/content/pm/SharedLibraryInfo;->getPackageName()Ljava/lang/String;
+HPLandroid/content/pm/SharedLibraryInfo;->getPath()Ljava/lang/String;
 HPLandroid/content/pm/SharedLibraryInfo;->isStatic()Z
+HPLandroid/content/pm/ShortcutInfo$Builder;->setActivity(Landroid/content/ComponentName;)Landroid/content/pm/ShortcutInfo$Builder;
+HPLandroid/content/pm/ShortcutInfo$Builder;->setDisabledMessage(Ljava/lang/CharSequence;)Landroid/content/pm/ShortcutInfo$Builder;
 HPLandroid/content/pm/ShortcutInfo;-><init>(ILjava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;ILjava/lang/String;Ljava/lang/CharSequence;ILjava/lang/String;Ljava/lang/CharSequence;ILjava/lang/String;Ljava/util/Set;[Landroid/content/Intent;ILandroid/os/PersistableBundle;JIILjava/lang/String;Ljava/lang/String;I)V
+HPLandroid/content/pm/ShortcutInfo;-><init>(ILjava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;ILjava/lang/String;Ljava/lang/CharSequence;ILjava/lang/String;Ljava/lang/CharSequence;ILjava/lang/String;Ljava/util/Set;[Landroid/content/Intent;ILandroid/os/PersistableBundle;JIILjava/lang/String;Ljava/lang/String;I[Landroid/app/Person;)V
 HPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/content/pm/ShortcutInfo;I)V
 HPLandroid/content/pm/ShortcutInfo;->clone(I)Landroid/content/pm/ShortcutInfo;
 HPLandroid/content/pm/ShortcutInfo;->cloneIntents([Landroid/content/Intent;)[Landroid/content/Intent;
 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
-HPLandroid/content/pm/ShortcutInfo;->getCategories()Ljava/util/Set;
-HPLandroid/content/pm/ShortcutInfo;->getDisabledMessage()Ljava/lang/CharSequence;
-HPLandroid/content/pm/ShortcutInfo;->getPackage()Ljava/lang/String;
+HPLandroid/content/pm/ShortcutInfo;->getIntent()Landroid/content/Intent;
+HPLandroid/content/pm/ShortcutInfo;->getIntents()[Landroid/content/Intent;
+HPLandroid/content/pm/ShortcutInfo;->getPersons()[Landroid/app/Person;
 HPLandroid/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
+HPLandroid/content/pm/ShortcutInfo;->isPinnedVisible()Z
+HPLandroid/content/pm/ShortcutInfo;->isVisibleToPublisher()Z
 HPLandroid/content/pm/ShortcutInfo;->lookUpResourceId(Landroid/content/res/Resources;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
 HPLandroid/content/pm/ShortcutInfo;->lookUpResourceName(Landroid/content/res/Resources;IZLjava/lang/String;)Ljava/lang/String;
 HPLandroid/content/pm/ShortcutInfo;->lookupAndFillInResourceIds(Landroid/content/res/Resources;)V
@@ -1860,12 +2206,16 @@
 HPLandroid/content/pm/ShortcutInfo;->setCategories(Ljava/util/Set;)V
 HPLandroid/content/pm/ShortcutInfo;->setIntentExtras(Landroid/content/Intent;Landroid/os/PersistableBundle;)Landroid/content/Intent;
 HPLandroid/content/pm/ShortcutInfo;->setIntents([Landroid/content/Intent;)V
+HPLandroid/content/pm/ShortcutManager;->disableShortcuts(Ljava/util/List;)V
+HPLandroid/content/pm/ShortcutManager;->getIconMaxHeight()I
+HPLandroid/content/pm/ShortcutManager;->getIconMaxWidth()I
+HPLandroid/content/pm/ShortcutManager;->getPinnedShortcuts()Ljava/util/List;
+HPLandroid/content/pm/ShortcutManager;->reportShortcutUsed(Ljava/lang/String;)V
+HPLandroid/content/pm/ShortcutManager;->setDynamicShortcuts(Ljava/util/List;)Z
 HPLandroid/content/pm/ShortcutManager;->updateShortcuts(Ljava/util/List;)Z
-HPLandroid/content/pm/SigningInfo$1;-><init>()V
-HPLandroid/content/pm/SigningInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/SigningInfo;
-HPLandroid/content/pm/SigningInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/content/pm/SigningInfo;-><init>(Landroid/content/pm/PackageParser$SigningDetails;)V
 HPLandroid/content/pm/SigningInfo;->getApkContentsSigners()[Landroid/content/pm/Signature;
+HPLandroid/content/pm/SigningInfo;->getSigningCertificateHistory()[Landroid/content/pm/Signature;
+HPLandroid/content/pm/SigningInfo;->hasMultipleSigners()Z
 HPLandroid/content/pm/StringParceledListSlice$1;-><init>()V
 HPLandroid/content/pm/StringParceledListSlice$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/StringParceledListSlice;
 HPLandroid/content/pm/StringParceledListSlice$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -1874,867 +2224,631 @@
 HPLandroid/content/pm/UserInfo;->canHaveProfile()Z
 HPLandroid/content/pm/UserInfo;->isDemo()Z
 HPLandroid/content/pm/UserInfo;->isInitialized()Z
-HPLandroid/content/pm/UserInfo;->isQuietModeEnabled()Z
-HPLandroid/content/pm/UserInfo;->isRestricted()Z
 HPLandroid/content/pm/UserInfo;->toString()Ljava/lang/String;
-HPLandroid/content/pm/VersionedPackage$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/VersionedPackage;
-HPLandroid/content/pm/VersionedPackage$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/content/pm/dex/-$$Lambda$ArtManager$SnapshotRuntimeProfileCallbackDelegate$OOdGv4iFxuVpH2kzFMr8KwX3X8s;->run()V
-HPLandroid/content/pm/dex/ArtManager$SnapshotRuntimeProfileCallback;-><init>()V
-HPLandroid/content/pm/dex/ArtManager$SnapshotRuntimeProfileCallback;->onError(I)V
-HPLandroid/content/pm/dex/ArtManager$SnapshotRuntimeProfileCallback;->onSuccess(Landroid/os/ParcelFileDescriptor;)V
-HPLandroid/content/pm/dex/ArtManager$SnapshotRuntimeProfileCallbackDelegate;->onSuccess(Landroid/os/ParcelFileDescriptor;)V
+HPLandroid/content/pm/dex/ArtManager;->getProfileName(Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/content/pm/dex/ArtManager;->getProfileSnapshotFileForName(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
-HPLandroid/content/pm/dex/ArtManager;->isRuntimeProfilingEnabled(I)Z
-HPLandroid/content/pm/dex/ArtManager;->snapshotRuntimeProfile(ILjava/lang/String;Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/content/pm/dex/ArtManager$SnapshotRuntimeProfileCallback;)V
+HPLandroid/content/pm/dex/DexMetadataHelper;->buildDexMetadataPathForApk(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/content/pm/dex/DexMetadataHelper;->buildDexMetadataPathForFile(Ljava/io/File;)Ljava/lang/String;
 HPLandroid/content/pm/dex/DexMetadataHelper;->buildPackageApkToDexMetadataMap(Ljava/util/List;)Ljava/util/Map;
+HPLandroid/content/pm/dex/DexMetadataHelper;->findDexMetadataForFile(Ljava/io/File;)Ljava/io/File;
+HPLandroid/content/pm/dex/DexMetadataHelper;->getPackageDexMetadataSize(Landroid/content/pm/PackageParser$PackageLite;)J
 HPLandroid/content/pm/dex/DexMetadataHelper;->isDexMetadataFile(Ljava/io/File;)Z
+HPLandroid/content/pm/dex/DexMetadataHelper;->validateDexMetadataFile(Ljava/lang/String;)V
 HPLandroid/content/pm/dex/DexMetadataHelper;->validatePackageDexMetadata(Landroid/content/pm/PackageParser$Package;)V
-HPLandroid/content/pm/dex/IArtManager$Stub$Proxy;->isRuntimeProfilingEnabled(ILjava/lang/String;)Z
-HPLandroid/content/pm/dex/IArtManager$Stub$Proxy;->snapshotRuntimeProfile(ILjava/lang/String;Ljava/lang/String;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;Ljava/lang/String;)V
 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
+HPLandroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;->onError(I)V
 HPLandroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;->onSuccess(Landroid/os/ParcelFileDescriptor;)V
 HPLandroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub;-><init>()V
-HPLandroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/content/pm/dex/ISnapshotRuntimeProfileCallback;->onError(I)V
-HPLandroid/content/pm/dex/ISnapshotRuntimeProfileCallback;->onSuccess(Landroid/os/ParcelFileDescriptor;)V
 HPLandroid/content/pm/dex/PackageOptimizationInfo;->createWithNoInfo()Landroid/content/pm/dex/PackageOptimizationInfo;
 HPLandroid/content/pm/dex/PackageOptimizationInfo;->getCompilationFilter()I
 HPLandroid/content/pm/dex/PackageOptimizationInfo;->getCompilationReason()I
+HPLandroid/content/res/-$$Lambda$Resources$4msWUw7LKsgLexLZjIfWa4oguq4;->test(Ljava/lang/Object;)Z
+HPLandroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJ)V
+HPLandroid/content/res/AssetFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
+HPLandroid/content/res/AssetManager;->getAttributeResolutionStack(JIII)[I
+HPLandroid/content/res/AssetManager;->openNonAssetFd(ILjava/lang/String;)Landroid/content/res/AssetFileDescriptor;
+HPLandroid/content/res/AssetManager;->openNonAssetFd(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
 HPLandroid/content/res/ColorStateList$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/res/ColorStateList;
 HPLandroid/content/res/ColorStateList$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/content/res/Configuration;->isLayoutSizeAtLeast(I)Z
+HPLandroid/content/res/ColorStateList;->withAlpha(I)Landroid/content/res/ColorStateList;
+HPLandroid/content/res/ColorStateList;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/content/res/Configuration;->localesToResourceQualifier(Landroid/os/LocaleList;)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;
-HPLandroid/content/res/Configuration;->writeXmlAttrs(Lorg/xmlpull/v1/XmlSerializer;Landroid/content/res/Configuration;)V
+HPLandroid/content/res/Configuration;->setLayoutDirection(Ljava/util/Locale;)V
+HPLandroid/content/res/Configuration;->setLocale(Ljava/util/Locale;)V
+HPLandroid/content/res/Configuration;->writeToProto(Landroid/util/proto/ProtoOutputStream;JZ)V
+HPLandroid/content/res/Resources$Theme;->getAttributeResolutionStack(III)[I
+HPLandroid/content/res/Resources$Theme;->getExplicitStyle(Landroid/util/AttributeSet;)I
 HPLandroid/content/res/Resources;->flushLayoutCache()V
 HPLandroid/content/res/Resources;->getText(ILjava/lang/CharSequence;)Ljava/lang/CharSequence;
-HPLandroid/content/res/Resources;->parseBundleExtra(Ljava/lang/String;Landroid/util/AttributeSet;Landroid/os/Bundle;)V
-HPLandroid/content/res/XmlBlock$Parser;->getAttributeFloatValue(IF)F
-HPLandroid/content/res/XmlBlock$Parser;->getAttributeFloatValue(Ljava/lang/String;Ljava/lang/String;F)F
+HPLandroid/content/res/Resources;->openRawResourceFd(I)Landroid/content/res/AssetFileDescriptor;
+HPLandroid/content/res/ResourcesImpl$ThemeImpl;->getAttributeResolutionStack(III)[I
+HPLandroid/content/res/ResourcesImpl;->openRawResourceFd(ILandroid/util/TypedValue;)Landroid/content/res/AssetFileDescriptor;
+HPLandroid/content/res/TypedArray;->getSourceResourceId(II)I
+HPLandroid/content/res/XmlBlock$Parser;->getStyleAttribute()I
 HPLandroid/content/res/XmlBlock$Parser;->nextTag()I
-HPLandroid/database/AbstractCursor;->checkPosition()V
-HPLandroid/database/AbstractCursor;->deactivate()V
-HPLandroid/database/AbstractCursor;->isFirst()Z
-HPLandroid/database/AbstractCursor;->move(I)Z
+HPLandroid/content/rollback/IRollbackManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/rollback/IRollbackManager;
+HPLandroid/database/AbstractCursor;->getExtras()Landroid/os/Bundle;
+HPLandroid/database/AbstractCursor;->getNotificationUri()Landroid/net/Uri;
 HPLandroid/database/AbstractWindowedCursor;-><init>()V
-HPLandroid/database/AbstractWindowedCursor;->setWindow(Landroid/database/CursorWindow;)V
-HPLandroid/database/BulkCursorProxy;->deactivate()V
-HPLandroid/database/BulkCursorProxy;->getExtras()Landroid/os/Bundle;
-HPLandroid/database/BulkCursorToCursorAdaptor;->deactivate()V
-HPLandroid/database/BulkCursorToCursorAdaptor;->getExtras()Landroid/os/Bundle;
-HPLandroid/database/CrossProcessCursorWrapper;->fillWindow(ILandroid/database/CursorWindow;)V
-HPLandroid/database/CrossProcessCursorWrapper;->getWindow()Landroid/database/CursorWindow;
-HPLandroid/database/CursorToBulkCursorAdaptor;->binderDied()V
-HPLandroid/database/CursorToBulkCursorAdaptor;->getExtras()Landroid/os/Bundle;
-HPLandroid/database/CursorWindow;-><init>(Ljava/lang/String;)V
-HPLandroid/database/CursorWrapper;->deactivate()V
-HPLandroid/database/CursorWrapper;->getShort(I)S
-HPLandroid/database/CursorWrapper;->getWantsAllOnMoveCalls()Z
+HPLandroid/database/ContentObserver;->onChange(Z)V
+HPLandroid/database/CursorWindow;->getCursorWindowSize()I
+HPLandroid/database/CursorWrapper;->getDouble(I)D
+HPLandroid/database/CursorWrapper;->getNotificationUri()Landroid/net/Uri;
+HPLandroid/database/CursorWrapper;->getWrappedCursor()Landroid/database/Cursor;
 HPLandroid/database/CursorWrapper;->isFirst()Z
-HPLandroid/database/CursorWrapper;->move(I)Z
-HPLandroid/database/DataSetObserver;->onChanged()V
+HPLandroid/database/DatabaseUtils$InsertHelper;->buildSQL()V
+HPLandroid/database/DatabaseUtils$InsertHelper;->getColumnIndex(Ljava/lang/String;)I
+HPLandroid/database/DatabaseUtils$InsertHelper;->getStatement(Z)Landroid/database/sqlite/SQLiteStatement;
+HPLandroid/database/DatabaseUtils$InsertHelper;->insert(Landroid/content/ContentValues;)J
+HPLandroid/database/DatabaseUtils$InsertHelper;->insertInternal(Landroid/content/ContentValues;Z)J
+HPLandroid/database/DatabaseUtils$InsertHelper;->replace(Landroid/content/ContentValues;)J
 HPLandroid/database/DatabaseUtils;->bindObjectToProgram(Landroid/database/sqlite/SQLiteProgram;ILjava/lang/Object;)V
-HPLandroid/database/MatrixCursor$RowBuilder;->add(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
-HPLandroid/database/MergeCursor$1;->onInvalidated()V
-HPLandroid/database/MergeCursor;-><init>([Landroid/database/Cursor;)V
-HPLandroid/database/MergeCursor;->close()V
+HPLandroid/database/DatabaseUtils;->concatenateWhere(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/database/DatabaseUtils;->cursorRowToContentValues(Landroid/database/Cursor;Landroid/content/ContentValues;)V
+HPLandroid/database/DatabaseUtils;->queryNumEntries(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)J
+HPLandroid/database/DatabaseUtils;->queryNumEntries(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)J
+HPLandroid/database/DatabaseUtils;->stringForQuery(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/database/MatrixCursor$RowBuilder;-><init>(Landroid/database/MatrixCursor;I)V
+HPLandroid/database/MatrixCursor$RowBuilder;->add(Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
+HPLandroid/database/MatrixCursor;-><init>([Ljava/lang/String;I)V
+HPLandroid/database/MatrixCursor;->ensureCapacity(I)V
 HPLandroid/database/MergeCursor;->getColumnNames()[Ljava/lang/String;
-HPLandroid/database/MergeCursor;->getCount()I
-HPLandroid/database/MergeCursor;->getInt(I)I
-HPLandroid/database/MergeCursor;->getLong(I)J
-HPLandroid/database/MergeCursor;->getString(I)Ljava/lang/String;
-HPLandroid/database/MergeCursor;->getType(I)I
-HPLandroid/database/MergeCursor;->onMove(II)Z
-HPLandroid/database/MergeCursor;->registerContentObserver(Landroid/database/ContentObserver;)V
-HPLandroid/database/MergeCursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
-HPLandroid/database/sqlite/SQLiteClosable;-><init>()V
-HPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->connectionClosed(Landroid/database/sqlite/SQLiteConnection;)V
+HPLandroid/database/TranslatingCursor;->isNull(I)Z
+HPLandroid/database/sqlite/-$$Lambda$SQLiteDatabase$1FsSJH2q7x3eeDFXCAu9l4piDsE;-><init>()V
+HPLandroid/database/sqlite/-$$Lambda$SQLiteDatabase$1FsSJH2q7x3eeDFXCAu9l4piDsE;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HPLandroid/database/sqlite/SQLiteConnection$Operation;->describe(Ljava/lang/StringBuilder;Z)V
+HPLandroid/database/sqlite/SQLiteConnection$OperationLog;->dump(Landroid/util/Printer;)V
+HPLandroid/database/sqlite/SQLiteConnection;->collectDbStats(Ljava/util/ArrayList;)V
+HPLandroid/database/sqlite/SQLiteConnection;->dumpUnsafe(Landroid/util/Printer;Z)V
+HPLandroid/database/sqlite/SQLiteConnection;->getMainDbStatsUnsafe(IJJ)Landroid/database/sqlite/SQLiteDebug$DbStats;
 HPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->handleMessage(Landroid/os/Message;)V
 HPLandroid/database/sqlite/SQLiteConnectionPool;->closeAvailableConnectionLocked(I)Z
+HPLandroid/database/sqlite/SQLiteConnectionPool;->collectDbStats(Ljava/util/ArrayList;)V
+HPLandroid/database/sqlite/SQLiteConnectionPool;->disableIdleConnectionHandler()V
+HPLandroid/database/sqlite/SQLiteConnectionPool;->dump(Landroid/util/Printer;ZLandroid/util/ArraySet;)V
+HPLandroid/database/sqlite/SQLiteConnectionPool;->finalize()V
+HPLandroid/database/sqlite/SQLiteConnectionPool;->onConnectionLeaked()V
 HPLandroid/database/sqlite/SQLiteConnectionPool;->shouldYieldConnection(Landroid/database/sqlite/SQLiteConnection;I)Z
 HPLandroid/database/sqlite/SQLiteCursor;->deactivate()V
 HPLandroid/database/sqlite/SQLiteCursor;->setWindow(Landroid/database/CursorWindow;)V
-HPLandroid/database/sqlite/SQLiteDatabase;->beginTransactionWithListenerNonExclusive(Landroid/database/sqlite/SQLiteTransactionListener;)V
+HPLandroid/database/sqlite/SQLiteCustomFunction;->dispatchCallback([Ljava/lang/String;)V
+HPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;->setOpenFlags(I)Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
+HPLandroid/database/sqlite/SQLiteDatabase;->beginTransactionWithListener(Landroid/database/sqlite/SQLiteTransactionListener;)V
+HPLandroid/database/sqlite/SQLiteDatabase;->collectDbStats(Ljava/util/ArrayList;)V
+HPLandroid/database/sqlite/SQLiteDatabase;->dump(Landroid/util/Printer;ZZLandroid/util/ArraySet;)V
+HPLandroid/database/sqlite/SQLiteDatabase;->dumpAll(Landroid/util/Printer;ZZ)V
+HPLandroid/database/sqlite/SQLiteDatabase;->dumpDatabaseDirectory(Landroid/util/Printer;Ljava/io/File;Z)V
+HPLandroid/database/sqlite/SQLiteDatabase;->getActiveDatabases()Ljava/util/ArrayList;
+HPLandroid/database/sqlite/SQLiteDatabase;->getFileTimestamps(Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/database/sqlite/SQLiteDatabase;->getLabel()Ljava/lang/String;
-HPLandroid/database/sqlite/SQLiteDatabase;->isDbLockedByCurrentThread()Z
+HPLandroid/database/sqlite/SQLiteDatabase;->isWriteAheadLoggingEnabled()Z
+HPLandroid/database/sqlite/SQLiteDatabase;->openDatabase(Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ILandroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;
+HPLandroid/database/sqlite/SQLiteDatabase;->setMaximumSize(J)J
+HPLandroid/database/sqlite/SQLiteDatabase;->wipeDetected(Ljava/lang/String;Ljava/lang/String;)V
 HPLandroid/database/sqlite/SQLiteDatabase;->yieldIfContendedHelper(ZJ)Z
-HPLandroid/database/sqlite/SQLiteDatabase;->yieldIfContendedSafely()Z
+HPLandroid/database/sqlite/SQLiteDatabase;->yieldIfContendedSafely(J)Z
+HPLandroid/database/sqlite/SQLiteDebug$DbStats;-><init>(Ljava/lang/String;JJIIII)V
+HPLandroid/database/sqlite/SQLiteDebug;->getDatabaseInfo()Landroid/database/sqlite/SQLiteDebug$PagerStats;
 HPLandroid/database/sqlite/SQLiteDirectCursorDriver;->cursorDeactivated()V
+HPLandroid/database/sqlite/SQLiteDoneException;-><init>()V
+HPLandroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;IILandroid/database/DatabaseErrorHandler;)V
+HPLandroid/database/sqlite/SQLiteProgram;->bindBlob(I[B)V
+HPLandroid/database/sqlite/SQLiteProgram;->bindNull(I)V
+HPLandroid/database/sqlite/SQLiteQueryBuilder;->buildDelete(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/database/sqlite/SQLiteQueryBuilder;->delete(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;[Ljava/lang/String;)I
 HPLandroid/database/sqlite/SQLiteQueryBuilder;->setDistinct(Z)V
+HPLandroid/database/sqlite/SQLiteSession;->executeForString(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Ljava/lang/String;
 HPLandroid/database/sqlite/SQLiteSession;->yieldTransaction(JZLandroid/os/CancellationSignal;)Z
 HPLandroid/database/sqlite/SQLiteSession;->yieldTransactionUnchecked(JLandroid/os/CancellationSignal;)Z
+HPLandroid/database/sqlite/SQLiteStatement;->simpleQueryForString()Ljava/lang/String;
 HPLandroid/database/sqlite/SqliteWrapper;->query(Landroid/content/Context;Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
-HPLandroid/drm/DrmManagerClient;-><init>(Landroid/content/Context;)V
-HPLandroid/drm/DrmManagerClient;->close()V
-HPLandroid/drm/DrmManagerClient;->createEventThreads()V
-HPLandroid/drm/DrmManagerClient;->finalize()V
-HPLandroid/drm/DrmManagerClient;->getAvailableDrmEngines()[Ljava/lang/String;
-HPLandroid/drm/DrmManagerClient;->release()V
-HPLandroid/drm/DrmSupportInfo;-><init>()V
-HPLandroid/drm/DrmSupportInfo;->addFileSuffix(Ljava/lang/String;)V
-HPLandroid/drm/DrmSupportInfo;->addMimeType(Ljava/lang/String;)V
-HPLandroid/drm/DrmSupportInfo;->getDescriprition()Ljava/lang/String;
-HPLandroid/drm/DrmSupportInfo;->setDescription(Ljava/lang/String;)V
-HPLandroid/graphics/BaseCanvas;-><init>()V
-HPLandroid/graphics/BaseCanvas;->drawOval(FFFFLandroid/graphics/Paint;)V
+HPLandroid/ddm/DdmHandleExit;->disconnected()V
+HPLandroid/ddm/DdmHandleHeap;->disconnected()V
+HPLandroid/ddm/DdmHandleHello;->disconnected()V
+HPLandroid/ddm/DdmHandleNativeHeap;->disconnected()V
+HPLandroid/ddm/DdmHandleProfiling;->disconnected()V
+HPLandroid/ddm/DdmHandleThread;->disconnected()V
+HPLandroid/ddm/DdmHandleViewDebug;->disconnected()V
+HPLandroid/debug/IAdbManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/debug/IAdbManager;
+HPLandroid/graphics/BaseCanvas;->drawCircle(FFFLandroid/graphics/Paint;)V
 HPLandroid/graphics/BaseCanvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
-HPLandroid/graphics/BaseCanvas;->drawText(Ljava/lang/String;IIFFLandroid/graphics/Paint;)V
-HPLandroid/graphics/BaseCanvas;->drawText([CIIFFLandroid/graphics/Paint;)V
+HPLandroid/graphics/BaseCanvas;->drawRoundRect(FFFFFFLandroid/graphics/Paint;)V
+HPLandroid/graphics/BaseCanvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V
 HPLandroid/graphics/BaseCanvas;->drawTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V
-HPLandroid/graphics/BaseCanvas;->drawTextRun([CIIIIFFZLandroid/graphics/Paint;)V
-HPLandroid/graphics/Bitmap;->checkRecycled(Ljava/lang/String;)V
+HPLandroid/graphics/BaseCanvas;->throwIfHasHwBitmapInSwMode(Landroid/graphics/Paint;)V
+HPLandroid/graphics/BaseRecordingCanvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
+HPLandroid/graphics/BaseRecordingCanvas;->drawColor(I)V
+HPLandroid/graphics/BaseRecordingCanvas;->drawColor(ILandroid/graphics/PorterDuff$Mode;)V
+HPLandroid/graphics/Bitmap;->checkPixelAccess(II)V
+HPLandroid/graphics/Bitmap;->copy(Landroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;
 HPLandroid/graphics/Bitmap;->copyPixelsFromBuffer(Ljava/nio/Buffer;)V
+HPLandroid/graphics/Bitmap;->copyPixelsToBuffer(Ljava/nio/Buffer;)V
 HPLandroid/graphics/Bitmap;->createAshmemBitmap(Landroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
-HPLandroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;
+HPLandroid/graphics/Bitmap;->createBitmap(Landroid/util/DisplayMetrics;IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
+HPLandroid/graphics/Bitmap;->createBitmap(Landroid/util/DisplayMetrics;IILandroid/graphics/Bitmap$Config;Z)Landroid/graphics/Bitmap;
 HPLandroid/graphics/Bitmap;->createGraphicBufferHandle()Landroid/graphics/GraphicBuffer;
-HPLandroid/graphics/Bitmap;->extractAlpha()Landroid/graphics/Bitmap;
-HPLandroid/graphics/Bitmap;->getNinePatchChunk()[B
+HPLandroid/graphics/Bitmap;->getDensity()I
+HPLandroid/graphics/Bitmap;->getPixel(II)I
+HPLandroid/graphics/Bitmap;->setPixels([IIIIIII)V
+HPLandroid/graphics/Bitmap;->wrapHardwareBuffer(Landroid/hardware/HardwareBuffer;Landroid/graphics/ColorSpace;)Landroid/graphics/Bitmap;
+HPLandroid/graphics/BitmapFactory;->decodeByteArray([BII)Landroid/graphics/Bitmap;
 HPLandroid/graphics/BitmapFactory;->decodeFile(Ljava/lang/String;)Landroid/graphics/Bitmap;
-HPLandroid/graphics/BitmapFactory;->decodeFileDescriptor(Ljava/io/FileDescriptor;)Landroid/graphics/Bitmap;
-HPLandroid/graphics/BitmapRegionDecoder;-><init>(J)V
-HPLandroid/graphics/BitmapRegionDecoder;->checkRecycled(Ljava/lang/String;)V
-HPLandroid/graphics/BitmapRegionDecoder;->decodeRegion(Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-HPLandroid/graphics/BitmapRegionDecoder;->finalize()V
-HPLandroid/graphics/BitmapRegionDecoder;->getHeight()I
-HPLandroid/graphics/BitmapRegionDecoder;->getWidth()I
-HPLandroid/graphics/BitmapRegionDecoder;->newInstance(Ljava/lang/String;Z)Landroid/graphics/BitmapRegionDecoder;
-HPLandroid/graphics/BitmapRegionDecoder;->newInstance([BIIZ)Landroid/graphics/BitmapRegionDecoder;
-HPLandroid/graphics/BitmapRegionDecoder;->recycle()V
-HPLandroid/graphics/Camera;-><init>()V
-HPLandroid/graphics/Camera;->finalize()V
-HPLandroid/graphics/Camera;->getMatrix(Landroid/graphics/Matrix;)V
-HPLandroid/graphics/Canvas;->clipRect(Landroid/graphics/Rect;Landroid/graphics/Region$Op;)Z
+HPLandroid/graphics/BitmapFactory;->decodeFile(Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
+HPLandroid/graphics/Canvas;->clipRect(Landroid/graphics/RectF;)Z
+HPLandroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
+HPLandroid/graphics/Canvas;->drawColor(ILandroid/graphics/PorterDuff$Mode;)V
+HPLandroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
 HPLandroid/graphics/Canvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
-HPLandroid/graphics/Canvas;->drawText(Ljava/lang/String;IIFFLandroid/graphics/Paint;)V
-HPLandroid/graphics/Canvas;->drawText([CIIFFLandroid/graphics/Paint;)V
+HPLandroid/graphics/Canvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
+HPLandroid/graphics/Canvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V
+HPLandroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
 HPLandroid/graphics/Canvas;->drawTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V
-HPLandroid/graphics/Canvas;->drawTextRun([CIIIIFFZLandroid/graphics/Paint;)V
 HPLandroid/graphics/Canvas;->getClipBounds()Landroid/graphics/Rect;
-HPLandroid/graphics/Canvas;->saveLayer(FFFFLandroid/graphics/Paint;)I
+HPLandroid/graphics/Canvas;->isOpaque()Z
+HPLandroid/graphics/Canvas;->isRecordingFor(Ljava/lang/Object;)Z
+HPLandroid/graphics/Canvas;->saveLayer(FFFFLandroid/graphics/Paint;I)I
+HPLandroid/graphics/Canvas;->saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;I)I
+HPLandroid/graphics/Canvas;->saveLayerAlpha(FFFFI)I
+HPLandroid/graphics/Canvas;->saveLayerAlpha(FFFFII)I
 HPLandroid/graphics/Canvas;->saveUnclippedLayer(IIII)I
-HPLandroid/graphics/ColorFilter;-><init>()V
-HPLandroid/graphics/ColorMatrix;->getArray()[F
-HPLandroid/graphics/ColorMatrix;->postConcat(Landroid/graphics/ColorMatrix;)V
-HPLandroid/graphics/ColorMatrix;->preConcat(Landroid/graphics/ColorMatrix;)V
+HPLandroid/graphics/Canvas;->setDensity(I)V
+HPLandroid/graphics/Canvas;->setScreenDensity(I)V
+HPLandroid/graphics/Color;->HSVToColor(I[F)I
+HPLandroid/graphics/ColorMatrix;-><init>([F)V
 HPLandroid/graphics/ColorMatrix;->set(Landroid/graphics/ColorMatrix;)V
-HPLandroid/graphics/ColorMatrix;->set([F)V
-HPLandroid/graphics/ColorMatrix;->setConcat(Landroid/graphics/ColorMatrix;Landroid/graphics/ColorMatrix;)V
-HPLandroid/graphics/ColorMatrix;->setSaturation(F)V
-HPLandroid/graphics/ColorMatrix;->setScale(FFFF)V
 HPLandroid/graphics/ColorMatrixColorFilter;-><init>(Landroid/graphics/ColorMatrix;)V
-HPLandroid/graphics/ColorMatrixColorFilter;-><init>([F)V
 HPLandroid/graphics/ColorMatrixColorFilter;->createNativeInstance()J
+HPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[FLandroid/graphics/ColorSpace$Rgb$TransferParameters;)V
+HPLandroid/graphics/ColorSpace$Rgb;->computePrimaries([F)[F
+HPLandroid/graphics/ColorSpace$Rgb;->computeWhitePoint([F)[F
+HPLandroid/graphics/ColorSpace$Rgb;->getWhitePoint()[F
+HPLandroid/graphics/ColorSpace;->adapt(Landroid/graphics/ColorSpace;[FLandroid/graphics/ColorSpace$Adaptation;)Landroid/graphics/ColorSpace;
+HPLandroid/graphics/ColorSpace;->compare(Landroid/graphics/ColorSpace$Rgb$TransferParameters;Landroid/graphics/ColorSpace$Rgb$TransferParameters;)Z
+HPLandroid/graphics/ColorSpace;->getModel()Landroid/graphics/ColorSpace$Model;
+HPLandroid/graphics/ColorSpace;->getName()Ljava/lang/String;
+HPLandroid/graphics/ColorSpace;->match([FLandroid/graphics/ColorSpace$Rgb$TransferParameters;)Landroid/graphics/ColorSpace;
 HPLandroid/graphics/CornerPathEffect;-><init>(F)V
 HPLandroid/graphics/DashPathEffect;-><init>([FF)V
 HPLandroid/graphics/DrawFilter;->finalize()V
 HPLandroid/graphics/GraphicBuffer;-><init>(IIIIJ)V
 HPLandroid/graphics/GraphicBuffer;->createFromExisting(IIIIJ)Landroid/graphics/GraphicBuffer;
+HPLandroid/graphics/GraphicBuffer;->finalize()V
 HPLandroid/graphics/GraphicBuffer;->getFormat()I
 HPLandroid/graphics/GraphicBuffer;->getHeight()I
 HPLandroid/graphics/GraphicBuffer;->getWidth()I
 HPLandroid/graphics/GraphicBuffer;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/graphics/ImageFormat;->isPublicFormat(I)Z
+HPLandroid/graphics/HardwareRenderer$DestroyContextRunnable;->run()V
+HPLandroid/graphics/HardwareRenderer$FrameRenderRequest;->setVsyncTime(J)Landroid/graphics/HardwareRenderer$FrameRenderRequest;
+HPLandroid/graphics/HardwareRenderer$FrameRenderRequest;->syncAndDraw()I
+HPLandroid/graphics/HardwareRenderer$ProcessInitializer$1;->onRotateGraphicsStatsBuffer()V
+HPLandroid/graphics/HardwareRenderer;->copySurfaceInto(Landroid/view/Surface;Landroid/graphics/Rect;Landroid/graphics/Bitmap;)I
+HPLandroid/graphics/HardwareRenderer;->createHardwareBitmap(Landroid/graphics/RenderNode;II)Landroid/graphics/Bitmap;
+HPLandroid/graphics/HardwareRenderer;->createRenderRequest()Landroid/graphics/HardwareRenderer$FrameRenderRequest;
+HPLandroid/graphics/HardwareRenderer;->createTextureLayer()Landroid/view/TextureLayer;
+HPLandroid/graphics/HardwareRenderer;->detachSurfaceTexture(J)V
+HPLandroid/graphics/HardwareRenderer;->onLayerDestroyed(Landroid/view/TextureLayer;)V
+HPLandroid/graphics/HardwareRenderer;->pushLayerUpdate(Landroid/view/TextureLayer;)V
+HPLandroid/graphics/HardwareRenderer;->registerVectorDrawableAnimator(Landroid/view/NativeVectorDrawableAnimator;)V
+HPLandroid/graphics/HardwareRenderer;->setFrameCallback(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V
+HPLandroid/graphics/ImageDecoder$CallableSource;->createImageDecoder()Landroid/graphics/ImageDecoder;
+HPLandroid/graphics/ImageDecoder$ImageInfo;->getSize()Landroid/util/Size;
+HPLandroid/graphics/ImageDecoder$Source;->getDensity()I
+HPLandroid/graphics/ImageDecoder;->createFromAssetFileDescriptor(Landroid/content/res/AssetFileDescriptor;Landroid/graphics/ImageDecoder$Source;)Landroid/graphics/ImageDecoder;
+HPLandroid/graphics/Insets;->toRect()Landroid/graphics/Rect;
+HPLandroid/graphics/Interpolator;->finalize()V
 HPLandroid/graphics/LeakyTypefaceStorage;->readTypefaceFromParcel(Landroid/os/Parcel;)Landroid/graphics/Typeface;
-HPLandroid/graphics/LinearGradient;-><init>(FFFFIILandroid/graphics/Shader$TileMode;)V
-HPLandroid/graphics/Matrix;->postRotate(FFF)Z
-HPLandroid/graphics/Matrix;->preScale(FFFF)Z
+HPLandroid/graphics/LeakyTypefaceStorage;->writeTypefaceToParcel(Landroid/graphics/Typeface;Landroid/os/Parcel;)V
+HPLandroid/graphics/Matrix;->checkPointArrays([FI[FII)V
+HPLandroid/graphics/Matrix;->postConcat(Landroid/graphics/Matrix;)Z
+HPLandroid/graphics/Matrix;->postRotate(F)Z
+HPLandroid/graphics/Matrix;->postScale(FF)Z
 HPLandroid/graphics/Matrix;->setConcat(Landroid/graphics/Matrix;Landroid/graphics/Matrix;)Z
-HPLandroid/graphics/Matrix;->setRotate(F)V
+HPLandroid/graphics/Matrix;->setRotate(FFF)V
 HPLandroid/graphics/Outline;->setAlpha(F)V
-HPLandroid/graphics/Outline;->setRect(Landroid/graphics/Rect;)V
-HPLandroid/graphics/Paint$FontMetrics;-><init>()V
-HPLandroid/graphics/Paint;->getStrikeThruPosition()F
-HPLandroid/graphics/Paint;->getStrikeThruThickness()F
-HPLandroid/graphics/Paint;->getTextRunCursor(Ljava/lang/CharSequence;IIIII)I
-HPLandroid/graphics/Paint;->getTextRunCursor(Ljava/lang/String;IIIII)I
-HPLandroid/graphics/Paint;->getTextRunCursor([CIIIII)I
-HPLandroid/graphics/Paint;->getTextWidths([CII[F)I
-HPLandroid/graphics/Paint;->hasGlyph(Ljava/lang/String;)Z
+HPLandroid/graphics/Outline;->setOval(Landroid/graphics/Rect;)V
+HPLandroid/graphics/Paint;->ascent()F
+HPLandroid/graphics/Paint;->descent()F
+HPLandroid/graphics/Paint;->getStrokeCap()Landroid/graphics/Paint$Cap;
+HPLandroid/graphics/Paint;->getStrokeJoin()Landroid/graphics/Paint$Join;
+HPLandroid/graphics/Paint;->getStrokeMiter()F
+HPLandroid/graphics/Paint;->getTextAlign()Landroid/graphics/Paint$Align;
+HPLandroid/graphics/Paint;->getTextRunCursor(Ljava/lang/CharSequence;IIZII)I
+HPLandroid/graphics/Paint;->getTextRunCursor([CIIZII)I
+HPLandroid/graphics/Paint;->getTextSkewX()F
+HPLandroid/graphics/Paint;->getUnderlinePosition()F
+HPLandroid/graphics/Paint;->getUnderlineThickness()F
+HPLandroid/graphics/Paint;->getWordSpacing()F
+HPLandroid/graphics/Paint;->hasShadowLayer()Z
+HPLandroid/graphics/Paint;->isAntiAlias()Z
+HPLandroid/graphics/Paint;->measureText(Ljava/lang/CharSequence;II)F
+HPLandroid/graphics/Paint;->setLinearText(Z)V
+HPLandroid/graphics/Paint;->setStrokeJoin(Landroid/graphics/Paint$Join;)V
+HPLandroid/graphics/Paint;->setUnderlineText(Z)V
 HPLandroid/graphics/Path;->addArc(FFFFFF)V
 HPLandroid/graphics/Path;->addArc(Landroid/graphics/RectF;FF)V
+HPLandroid/graphics/Path;->addOval(FFFFLandroid/graphics/Path$Direction;)V
 HPLandroid/graphics/Path;->addOval(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V
+HPLandroid/graphics/Path;->addPath(Landroid/graphics/Path;)V
+HPLandroid/graphics/Path;->addPath(Landroid/graphics/Path;Landroid/graphics/Matrix;)V
+HPLandroid/graphics/Path;->addRect(FFFFLandroid/graphics/Path$Direction;)V
 HPLandroid/graphics/Path;->addRect(Landroid/graphics/RectF;Landroid/graphics/Path$Direction;)V
+HPLandroid/graphics/Path;->addRoundRect(FFFFFFLandroid/graphics/Path$Direction;)V
 HPLandroid/graphics/Path;->addRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Path$Direction;)V
-HPLandroid/graphics/Path;->arcTo(FFFFFFZ)V
-HPLandroid/graphics/Path;->arcTo(Landroid/graphics/RectF;FF)V
-HPLandroid/graphics/Path;->arcTo(Landroid/graphics/RectF;FFZ)V
+HPLandroid/graphics/Path;->detectSimplePath(FFFFLandroid/graphics/Path$Direction;)V
+HPLandroid/graphics/Path;->rLineTo(FF)V
+HPLandroid/graphics/PathMeasure;-><init>()V
+HPLandroid/graphics/PathMeasure;->finalize()V
+HPLandroid/graphics/PathMeasure;->getLength()F
 HPLandroid/graphics/PathMeasure;->getSegment(FFLandroid/graphics/Path;Z)Z
 HPLandroid/graphics/PathMeasure;->setPath(Landroid/graphics/Path;Z)V
-HPLandroid/graphics/Picture$PictureCanvas;->drawPicture(Landroid/graphics/Picture;)V
-HPLandroid/graphics/Picture$PictureCanvas;->onHwBitmapInSwMode()V
 HPLandroid/graphics/Point;-><init>(Landroid/graphics/Point;)V
-HPLandroid/graphics/Point;->offset(II)V
-HPLandroid/graphics/Point;->printShortString(Ljava/io/PrintWriter;)V
-HPLandroid/graphics/Point;->toString()Ljava/lang/String;
-HPLandroid/graphics/PorterDuff;->modeToInt(Landroid/graphics/PorterDuff$Mode;)I
-HPLandroid/graphics/Rect;->hashCode()I
-HPLandroid/graphics/Rect;->printShortString(Ljava/io/PrintWriter;)V
-HPLandroid/graphics/Rect;->setIntersect(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
+HPLandroid/graphics/Point;->convert(Landroid/graphics/Point;)Landroid/util/Size;
+HPLandroid/graphics/PointF;-><init>(FF)V
+HPLandroid/graphics/PointF;->equals(Ljava/lang/Object;)Z
+HPLandroid/graphics/RecordingCanvas;->drawTextureLayer(Landroid/view/TextureLayer;)V
+HPLandroid/graphics/RecordingCanvas;->drawWebViewFunctor(I)V
+HPLandroid/graphics/RecordingCanvas;->getHeight()I
+HPLandroid/graphics/Rect;-><init>(Landroid/graphics/Rect;)V
+HPLandroid/graphics/Rect;->flattenToString()Ljava/lang/String;
+HPLandroid/graphics/Rect;->inset(II)V
+HPLandroid/graphics/Rect;->intersects(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
+HPLandroid/graphics/Rect;->toShortString(Ljava/lang/StringBuilder;)Ljava/lang/String;
+HPLandroid/graphics/Rect;->unflattenFromString(Ljava/lang/String;)Landroid/graphics/Rect;
+HPLandroid/graphics/Rect;->union(II)V
 HPLandroid/graphics/Rect;->union(Landroid/graphics/Rect;)V
-HPLandroid/graphics/RectF;-><init>(Landroid/graphics/RectF;)V
-HPLandroid/graphics/RectF;->contains(FF)Z
-HPLandroid/graphics/RectF;->contains(Landroid/graphics/RectF;)Z
-HPLandroid/graphics/RectF;->intersects(FFFF)Z
-HPLandroid/graphics/RectF;->sort()V
-HPLandroid/graphics/Region;->op(Landroid/graphics/Rect;Landroid/graphics/Region$Op;)Z
-HPLandroid/graphics/Region;->union(Landroid/graphics/Rect;)Z
+HPLandroid/graphics/RectF;->intersect(FFFF)Z
+HPLandroid/graphics/RectF;->isEmpty()Z
+HPLandroid/graphics/Region;->getBounds(Landroid/graphics/Rect;)Z
+HPLandroid/graphics/Region;->op(Landroid/graphics/Rect;Landroid/graphics/Region;Landroid/graphics/Region$Op;)Z
+HPLandroid/graphics/Region;->quickReject(Landroid/graphics/Rect;)Z
+HPLandroid/graphics/Region;->recycle()V
+HPLandroid/graphics/RenderNode;->offsetLeftAndRight(I)Z
+HPLandroid/graphics/RenderNode;->setBottom(I)Z
+HPLandroid/graphics/RenderNode;->setClipBounds(Landroid/graphics/Rect;)Z
+HPLandroid/graphics/RenderNode;->setRight(I)Z
+HPLandroid/graphics/RenderNode;->setRotationZ(F)Z
+HPLandroid/graphics/RenderNode;->setTop(I)Z
+HPLandroid/graphics/Shader$TileMode;->values()[Landroid/graphics/Shader$TileMode;
 HPLandroid/graphics/SurfaceTexture$1;->handleMessage(Landroid/os/Message;)V
+HPLandroid/graphics/SurfaceTexture;-><init>(I)V
 HPLandroid/graphics/SurfaceTexture;-><init>(Z)V
 HPLandroid/graphics/SurfaceTexture;->finalize()V
 HPLandroid/graphics/SurfaceTexture;->getTransformMatrix([F)V
+HPLandroid/graphics/SurfaceTexture;->isSingleBuffered()Z
 HPLandroid/graphics/SurfaceTexture;->postEventFromNative(Ljava/lang/ref/WeakReference;)V
+HPLandroid/graphics/SurfaceTexture;->release()V
+HPLandroid/graphics/SurfaceTexture;->setDefaultBufferSize(II)V
+HPLandroid/graphics/SurfaceTexture;->setOnFrameAvailableListener(Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;)V
+HPLandroid/graphics/SurfaceTexture;->setOnFrameAvailableListener(Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;Landroid/os/Handler;)V
 HPLandroid/graphics/SurfaceTexture;->updateTexImage()V
-HPLandroid/graphics/SweepGradient;-><init>(FF[I[F)V
-HPLandroid/graphics/SweepGradient;->createNativeInstance(J)J
-HPLandroid/graphics/Typeface;->createFromFile(Ljava/lang/String;)Landroid/graphics/Typeface;
-HPLandroid/graphics/Typeface;->hashCode()I
-HPLandroid/graphics/Typeface;->isBold()Z
-HPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->getOpacity()I
-HPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->isStateful()Z
-HPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HPLandroid/graphics/drawable/AdaptiveIconDrawable;->getOpacity()I
-HPLandroid/graphics/drawable/AdaptiveIconDrawable;->isStateful()Z
+HPLandroid/graphics/Typeface$Builder;->build()Landroid/graphics/Typeface;
+HPLandroid/graphics/Typeface;->createFromAsset(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;
+HPLandroid/graphics/Typeface;->defaultFromStyle(I)Landroid/graphics/Typeface;
+HPLandroid/graphics/drawable/-$$Lambda$AnimatedVectorDrawable$VectorDrawableAnimatorRT$PzjgSeyQweoFjbEZJP80UteZqm8;->run()V
 HPLandroid/graphics/drawable/AdaptiveIconDrawable;->jumpToCurrentState()V
-HPLandroid/graphics/drawable/AdaptiveIconDrawable;->setVisible(ZZ)Z
-HPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;-><init>(Landroid/graphics/drawable/AnimationDrawable;ZZ)V
-HPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;->start()V
-HPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;->stop()V
-HPLandroid/graphics/drawable/AnimatedStateListDrawable$FrameInterpolator;->getInterpolation(F)F
-HPLandroid/graphics/drawable/AnimatedStateListDrawable$FrameInterpolator;->updateFrames(Landroid/graphics/drawable/AnimationDrawable;Z)I
+HPLandroid/graphics/drawable/AdaptiveIconDrawable;->mutate()Landroid/graphics/drawable/Drawable;
+HPLandroid/graphics/drawable/AdaptiveIconDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
+HPLandroid/graphics/drawable/AdaptiveIconDrawable;->setHotspot(FF)V
+HPLandroid/graphics/drawable/Animatable2$AnimationCallback;-><init>()V
+HPLandroid/graphics/drawable/Animatable2$AnimationCallback;->onAnimationStart(Landroid/graphics/drawable/Drawable;)V
+HPLandroid/graphics/drawable/AnimatedImageDrawable;-><init>(JLandroid/graphics/ImageDecoder;IIIILandroid/graphics/Rect;Ljava/io/InputStream;Landroid/content/res/AssetFileDescriptor;)V
+HPLandroid/graphics/drawable/AnimatedImageDrawable;->getIntrinsicHeight()I
+HPLandroid/graphics/drawable/AnimatedImageDrawable;->getIntrinsicWidth()I
+HPLandroid/graphics/drawable/AnimatedImageDrawable;->getOpacity()I
+HPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->canReverse()Z
+HPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->start()V
+HPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->stop()V
+HPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;->canReverse()Z
+HPLandroid/graphics/drawable/AnimatedStateListDrawable;->setVisible(ZZ)Z
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$2;->onAnimationEnd(Landroid/animation/Animator;)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$2;->onAnimationStart(Landroid/animation/Animator;)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->newDrawable()Landroid/graphics/drawable/Drawable;
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->prepareLocalAnimator(I)Landroid/animation/Animator;
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->prepareLocalAnimators(Landroid/animation/AnimatorSet;Landroid/content/res/Resources;)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->callOnFinished(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;I)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->canReverse()Z
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createNativeChildAnimator(JJLandroid/animation/ObjectAnimator;)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimator(Landroid/animation/ObjectAnimator;J)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForFullPath(Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VFullPath;J)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForGroup([Landroid/animation/PropertyValuesHolder;Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VGroup;J)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForPath(Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VPath;J)V
 HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForRootGroup([Landroid/animation/PropertyValuesHolder;Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;J)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->end()V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->getAnimatorNativePtr()J
 HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->getFrameCount(J)I
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->handlePendingAction(I)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->init(Landroid/animation/AnimatorSet;)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->isStarted()Z
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->onDraw(Landroid/graphics/Canvas;)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->parseAnimatorSet(Landroid/animation/AnimatorSet;J)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->pause()V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->recordLastSeenTarget(Landroid/graphics/RecordingCanvas;)V
 HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->resume()V
-HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->transferPendingActions(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;)V
-HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->canReverse()Z
-HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->end()V
-HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->init(Landroid/animation/AnimatorSet;)V
-HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->isInfinite()Z
-HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->onDraw(Landroid/graphics/Canvas;)V
-HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;->start()V
-HPLandroid/graphics/drawable/AnimatedVectorDrawable;->fallbackOntoUI()V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->setListener(Landroid/animation/Animator$AnimatorListener;)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->start()V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->startAnimation()V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->canReverse()Z
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->draw(Landroid/graphics/Canvas;)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->getIntrinsicHeight()I
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->getIntrinsicWidth()I
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->getOpacity()I
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->getOpticalInsets()Landroid/graphics/Insets;
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->getOutline(Landroid/graphics/Outline;)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->onStateChange([I)Z
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->registerAnimationCallback(Landroid/graphics/drawable/Animatable2$AnimationCallback;)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->setHotspot(FF)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->start()V
+HPLandroid/graphics/drawable/AnimatedVectorDrawable;->stop()V
+HPLandroid/graphics/drawable/AnimationDrawable;-><init>()V
+HPLandroid/graphics/drawable/AnimationDrawable;->addFrame(Landroid/graphics/drawable/Drawable;I)V
+HPLandroid/graphics/drawable/AnimationDrawable;->getFrame(I)Landroid/graphics/drawable/Drawable;
+HPLandroid/graphics/drawable/AnimationDrawable;->isOneShot()Z
+HPLandroid/graphics/drawable/AnimationDrawable;->isRunning()Z
 HPLandroid/graphics/drawable/AnimationDrawable;->nextFrame(Z)V
 HPLandroid/graphics/drawable/AnimationDrawable;->run()V
-HPLandroid/graphics/drawable/BitmapDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
-HPLandroid/graphics/drawable/BitmapDrawable;->clearMutated()V
-HPLandroid/graphics/drawable/BitmapDrawable;->init(Landroid/graphics/drawable/BitmapDrawable$BitmapState;Landroid/content/res/Resources;)V
-HPLandroid/graphics/drawable/BitmapDrawable;->setTileModeX(Landroid/graphics/Shader$TileMode;)V
-HPLandroid/graphics/drawable/BitmapDrawable;->setTileModeY(Landroid/graphics/Shader$TileMode;)V
+HPLandroid/graphics/drawable/AnimationDrawable;->setOneShot(Z)V
+HPLandroid/graphics/drawable/AnimationDrawable;->start()V
+HPLandroid/graphics/drawable/AnimationDrawable;->stop()V
+HPLandroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/content/res/Resources;Ljava/lang/String;)V
+HPLandroid/graphics/drawable/BitmapDrawable;->getAlpha()I
+HPLandroid/graphics/drawable/BitmapDrawable;->setBitmap(Landroid/graphics/Bitmap;)V
 HPLandroid/graphics/drawable/BitmapDrawable;->updateLocalState(Landroid/content/res/Resources;)V
 HPLandroid/graphics/drawable/ColorDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
-HPLandroid/graphics/drawable/ColorDrawable;->setXfermode(Landroid/graphics/Xfermode;)V
-HPLandroid/graphics/drawable/Drawable;->getAlpha()I
-HPLandroid/graphics/drawable/Drawable;->hasFocusStateSpecified()Z
-HPLandroid/graphics/drawable/Drawable;->setHotspotBounds(IIII)V
+HPLandroid/graphics/drawable/Drawable;->getLevel()I
+HPLandroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
+HPLandroid/graphics/drawable/Drawable;->onLevelChange(I)Z
+HPLandroid/graphics/drawable/Drawable;->scheduleSelf(Ljava/lang/Runnable;J)V
+HPLandroid/graphics/drawable/Drawable;->unscheduleSelf(Ljava/lang/Runnable;)V
 HPLandroid/graphics/drawable/DrawableContainer$1;->run()V
-HPLandroid/graphics/drawable/DrawableContainer$BlockInvalidateCallback;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V
+HPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getChildren()[Landroid/graphics/drawable/Drawable;
 HPLandroid/graphics/drawable/DrawableContainer;->animate(Z)V
 HPLandroid/graphics/drawable/DrawableContainer;->onLevelChange(I)Z
-HPLandroid/graphics/drawable/DrawableContainer;->setCurrentIndex(I)V
-HPLandroid/graphics/drawable/DrawableContainer;->setEnterFadeDuration(I)V
-HPLandroid/graphics/drawable/DrawableContainer;->setHotspotBounds(IIII)V
-HPLandroid/graphics/drawable/DrawableContainer;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V
-HPLandroid/graphics/drawable/DrawableWrapper;->getOutline(Landroid/graphics/Outline;)V
-HPLandroid/graphics/drawable/DrawableWrapper;->setAlpha(I)V
-HPLandroid/graphics/drawable/DrawableWrapper;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
+HPLandroid/graphics/drawable/DrawableContainer;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
+HPLandroid/graphics/drawable/DrawableWrapper;->hasFocusStateSpecified()Z
+HPLandroid/graphics/drawable/DrawableWrapper;->setTintList(Landroid/content/res/ColorStateList;)V
 HPLandroid/graphics/drawable/GradientDrawable;->buildRing(Landroid/graphics/drawable/GradientDrawable$GradientState;)Landroid/graphics/Path;
-HPLandroid/graphics/drawable/GradientDrawable;->getAlpha()I
-HPLandroid/graphics/drawable/LayerDrawable;->getAlpha()I
-HPLandroid/graphics/drawable/LayerDrawable;->setHotspotBounds(IIII)V
-HPLandroid/graphics/drawable/LevelListDrawable$LevelListState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HPLandroid/graphics/drawable/LevelListDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HPLandroid/graphics/drawable/LevelListDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
+HPLandroid/graphics/drawable/GradientDrawable;->onLevelChange(I)Z
+HPLandroid/graphics/drawable/GradientDrawable;->setColors([I)V
+HPLandroid/graphics/drawable/GradientDrawable;->setColors([I[F)V
+HPLandroid/graphics/drawable/GradientDrawable;->setOrientation(Landroid/graphics/drawable/GradientDrawable$Orientation;)V
+HPLandroid/graphics/drawable/GradientDrawable;->setSize(II)V
+HPLandroid/graphics/drawable/GradientDrawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
+HPLandroid/graphics/drawable/Icon;->writeToStream(Ljava/io/OutputStream;)V
+HPLandroid/graphics/drawable/LayerDrawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
+HPLandroid/graphics/drawable/NinePatchDrawable$NinePatchState;->getChangingConfigurations()I
+HPLandroid/graphics/drawable/NinePatchDrawable$NinePatchState;->newDrawable()Landroid/graphics/drawable/Drawable;
+HPLandroid/graphics/drawable/NinePatchDrawable;->setAlpha(I)V
+HPLandroid/graphics/drawable/NinePatchDrawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
 HPLandroid/graphics/drawable/PaintDrawable;-><init>()V
+HPLandroid/graphics/drawable/PaintDrawable;-><init>(I)V
 HPLandroid/graphics/drawable/PaintDrawable;->setCornerRadii([F)V
-HPLandroid/graphics/drawable/PaintDrawable;->setCornerRadius(F)V
-HPLandroid/graphics/drawable/PictureDrawable;-><init>(Landroid/graphics/Picture;)V
-HPLandroid/graphics/drawable/PictureDrawable;->draw(Landroid/graphics/Canvas;)V
-HPLandroid/graphics/drawable/PictureDrawable;->getIntrinsicHeight()I
-HPLandroid/graphics/drawable/PictureDrawable;->getIntrinsicWidth()I
-HPLandroid/graphics/drawable/PictureDrawable;->getOpacity()I
-HPLandroid/graphics/drawable/RippleDrawable;->setDrawableByLayerId(ILandroid/graphics/drawable/Drawable;)Z
-HPLandroid/graphics/drawable/RippleForeground;->getBounds(Landroid/graphics/Rect;)V
-HPLandroid/graphics/drawable/ScaleDrawable;-><init>(Landroid/graphics/drawable/Drawable;IFF)V
+HPLandroid/graphics/drawable/RippleForeground;->drawSoftware(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
+HPLandroid/graphics/drawable/RotateDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
+HPLandroid/graphics/drawable/RotateDrawable;->draw(Landroid/graphics/Canvas;)V
+HPLandroid/graphics/drawable/RotateDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
+HPLandroid/graphics/drawable/RotateDrawable;->onLevelChange(I)Z
 HPLandroid/graphics/drawable/ScaleDrawable;->draw(Landroid/graphics/Canvas;)V
 HPLandroid/graphics/drawable/ScaleDrawable;->onLevelChange(I)Z
-HPLandroid/graphics/drawable/ShapeDrawable$ShaderFactory;->resize(II)Landroid/graphics/Shader;
-HPLandroid/graphics/drawable/ShapeDrawable;-><init>()V
-HPLandroid/graphics/drawable/ShapeDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
-HPLandroid/graphics/drawable/ShapeDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
+HPLandroid/graphics/drawable/ShapeDrawable$ShapeState;-><init>(Landroid/graphics/drawable/ShapeDrawable$ShapeState;)V
+HPLandroid/graphics/drawable/ShapeDrawable$ShapeState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
+HPLandroid/graphics/drawable/ShapeDrawable;->mutate()Landroid/graphics/drawable/Drawable;
 HPLandroid/graphics/drawable/ShapeDrawable;->setIntrinsicHeight(I)V
 HPLandroid/graphics/drawable/ShapeDrawable;->setIntrinsicWidth(I)V
-HPLandroid/graphics/drawable/ShapeDrawable;->setShape(Landroid/graphics/drawable/shapes/Shape;)V
+HPLandroid/graphics/drawable/StateListDrawable$StateListState;->hasFocusStateSpecified()Z
+HPLandroid/graphics/drawable/StateListDrawable;-><init>()V
+HPLandroid/graphics/drawable/StateListDrawable;->addState([ILandroid/graphics/drawable/Drawable;)V
+HPLandroid/graphics/drawable/StateListDrawable;->hasFocusStateSpecified()Z
+HPLandroid/graphics/drawable/TransitionDrawable$TransitionState;->getChangingConfigurations()I
+HPLandroid/graphics/drawable/TransitionDrawable$TransitionState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
 HPLandroid/graphics/drawable/TransitionDrawable;->resetTransition()V
-HPLandroid/graphics/drawable/TransitionDrawable;->reverseTransition(I)V
-HPLandroid/graphics/drawable/VectorDrawable$VFullPath$6;->setValue(Landroid/graphics/drawable/VectorDrawable$VFullPath;F)V
-HPLandroid/graphics/drawable/VectorDrawable$VFullPath$6;->setValue(Ljava/lang/Object;F)V
-HPLandroid/graphics/drawable/VectorDrawable$VFullPath;->setFillAlpha(F)V
-HPLandroid/graphics/drawable/VectorDrawable$VGroup$4;->setValue(Landroid/graphics/drawable/VectorDrawable$VGroup;F)V
-HPLandroid/graphics/drawable/VectorDrawable$VGroup$4;->setValue(Ljava/lang/Object;F)V
-HPLandroid/graphics/drawable/VectorDrawable$VGroup$5;->setValue(Landroid/graphics/drawable/VectorDrawable$VGroup;F)V
-HPLandroid/graphics/drawable/VectorDrawable$VGroup$5;->setValue(Ljava/lang/Object;F)V
-HPLandroid/graphics/drawable/VectorDrawable$VGroup;->setScaleX(F)V
-HPLandroid/graphics/drawable/VectorDrawable$VGroup;->setScaleY(F)V
+HPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getFillColor()I
+HPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getPropertyIndex(Ljava/lang/String;)I
+HPLandroid/graphics/drawable/VectorDrawable$VFullPath;->onStateChange([I)Z
 HPLandroid/graphics/drawable/VectorDrawable$VObject;->isTreeValid()Z
-HPLandroid/graphics/drawable/VectorDrawable$VPath$1;->set(Landroid/graphics/drawable/VectorDrawable$VPath;Landroid/util/PathParser$PathData;)V
-HPLandroid/graphics/drawable/VectorDrawable$VPath$1;->set(Ljava/lang/Object;Ljava/lang/Object;)V
-HPLandroid/graphics/drawable/VectorDrawable$VPath;->setPathData(Landroid/util/PathParser$PathData;)V
+HPLandroid/graphics/drawable/VectorDrawable$VPath;->getProperty(Ljava/lang/String;)Landroid/util/Property;
 HPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->getProperty(Ljava/lang/String;)Landroid/util/Property;
+HPLandroid/graphics/drawable/VectorDrawable;->getNativeTree()J
 HPLandroid/graphics/drawable/VectorDrawable;->getOpticalInsets()Landroid/graphics/Insets;
-HPLandroid/graphics/text/LineBreaker;-><init>(III[ILandroid/graphics/text/LineBreaker$1;)V
-HPLandroid/graphics/text/LineBreaker;->computeLineBreaks(Landroid/graphics/text/MeasuredText;Landroid/graphics/text/LineBreaker$ParagraphConstraints;I)Landroid/graphics/text/LineBreaker$Result;
-HPLandroid/graphics/text/LineBreaker;->access$100()J
-HPLandroid/graphics/text/LineBreaker;->access$200(J)I
-HPLandroid/graphics/text/LineBreaker;->access$300(JI)I
-HPLandroid/graphics/text/LineBreaker;->access$400(JI)F
-HPLandroid/graphics/text/LineBreaker;->access$500(JI)F
-HPLandroid/graphics/text/LineBreaker;->access$600(JI)F
-HPLandroid/graphics/text/LineBreaker;->access$700(JI)I
-HPLandroid/graphics/text/LineBreaker$Builder;-><init>()V
-HPLandroid/graphics/text/LineBreaker$Builder;->setBreakStrategy(I)Landroid/graphics/text/LineBreaker$Builder;
-HPLandroid/graphics/text/LineBreaker$Builder;->setHyphenationFrequency(I)Landroid/graphics/text/LineBreaker$Builder;
-HPLandroid/graphics/text/LineBreaker$Builder;->setJustified(I)Landroid/graphics/text/LineBreaker$Builder;
-HPLandroid/graphics/text/LineBreaker$Builder;->setIndents([I)Landroid/graphics/text/LineBreaker$Builder;
-HPLandroid/graphics/text/LineBreaker$Builder;->build()Landroid/graphics/text/LineBreaker;
-HPLandroid/graphics/text/LineBreaker$ParagraphConstraints;-><init>()V
-HPLandroid/graphics/text/LineBreaker$ParagraphConstraints;->setWidth(F)V
-HPLandroid/graphics/text/LineBreaker$ParagraphConstraints;->setIndent(FI)V
-HPLandroid/graphics/text/LineBreaker$ParagraphConstraints;->setTabStops([II)V
-HPLandroid/graphics/text/LineBreaker$ParagraphConstraints;->getWidth()F
-HPLandroid/graphics/text/LineBreaker$ParagraphConstraints;->getFirstWidth()F
-HPLandroid/graphics/text/LineBreaker$ParagraphConstraints;->getFirstWidthLineCount()I
-HPLandroid/graphics/text/LineBreaker$ParagraphConstraints;->getTabStops()[I
-HPLandroid/graphics/text/LineBreaker$ParagraphConstraints;->getDefaultTabStop()I
-HPLandroid/graphics/text/LineBreaker$ParagraphConstraints;->access$800(Landroid/graphics/text/LineBreaker$ParagraphConstraints;)F
-HPLandroid/graphics/text/LineBreaker$ParagraphConstraints;->access$900(Landroid/graphics/text/LineBreaker$ParagraphConstraints;)I
-HPLandroid/graphics/text/LineBreaker$ParagraphConstraints;->access$1000(Landroid/graphics/text/LineBreaker$ParagraphConstraints;)F
-HPLandroid/graphics/text/LineBreaker$ParagraphConstraints;->access$1100(Landroid/graphics/text/LineBreaker$ParagraphConstraints;)[I
-HPLandroid/graphics/text/LineBreaker$ParagraphConstraints;->access$1200(Landroid/graphics/text/LineBreaker$ParagraphConstraints;)I
-HPLandroid/graphics/text/LineBreaker$Result;-><init>(JLandroid/graphics/text/LineBreaker$1;)V
-HPLandroid/graphics/text/LineBreaker$Result;->getLineCount()I
-HPLandroid/graphics/text/LineBreaker$Result;->getLineBreakOffset(I)I
-HPLandroid/graphics/text/LineBreaker$Result;->getLineWidth(I)F
-HPLandroid/graphics/text/LineBreaker$Result;->getLineAscent(I)F
-HPLandroid/graphics/text/LineBreaker$Result;->getLineDescent(I)F
-HPLandroid/graphics/text/LineBreaker$Result;->hasLineTab(I)Z
-HPLandroid/graphics/text/LineBreaker$Result;->getLineHyphenEdit(I)I
-HPLandroid/graphics/text/MeasuredText;-><init>(J[CLandroid/graphics/text/MeasuredText$1;)V
-HPLandroid/graphics/text/MeasuredText;->getChars()[C
-HPLandroid/graphics/text/MeasuredText;->getWidth(II)F
-HPLandroid/graphics/text/MeasuredText;->getMemoryUsage()I
-HPLandroid/graphics/text/MeasuredText;->getBounds(IILandroid/graphics/Rect;)V
-HPLandroid/graphics/text/MeasuredText;->getCharWidthAt(I)F
-HPLandroid/graphics/text/MeasuredText;->getNativePtr()J
-HPLandroid/graphics/text/MeasuredText$Builder;-><init>([C)V
-HPLandroid/graphics/text/MeasuredText$Builder;->appendStyleRun(Landroid/graphics/Paint;IZ)Landroid/graphics/text/MeasuredText$Builder;
+HPLandroid/graphics/drawable/shapes/PathShape;-><init>(Landroid/graphics/Path;FF)V
+HPLandroid/graphics/drawable/shapes/PathShape;->clone()Landroid/graphics/drawable/shapes/PathShape;
+HPLandroid/graphics/drawable/shapes/PathShape;->clone()Landroid/graphics/drawable/shapes/Shape;
+HPLandroid/graphics/drawable/shapes/RectShape;-><init>()V
+HPLandroid/graphics/drawable/shapes/RectShape;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
+HPLandroid/graphics/drawable/shapes/RectShape;->getOutline(Landroid/graphics/Outline;)V
+HPLandroid/graphics/drawable/shapes/RoundRectShape;->clone()Landroid/graphics/drawable/shapes/RoundRectShape;
+HPLandroid/graphics/drawable/shapes/RoundRectShape;->clone()Landroid/graphics/drawable/shapes/Shape;
+HPLandroid/graphics/drawable/shapes/RoundRectShape;->getOutline(Landroid/graphics/Outline;)V
+HPLandroid/graphics/drawable/shapes/Shape;->getHeight()F
+HPLandroid/graphics/fonts/Font$Builder;-><init>(Landroid/content/res/AssetManager;Ljava/lang/String;ZI)V
+HPLandroid/graphics/fonts/FontFileUtil;->analyzeStyle(Ljava/nio/ByteBuffer;I[Landroid/graphics/fonts/FontVariationAxis;)I
 HPLandroid/graphics/text/MeasuredText$Builder;->appendReplacementRun(Landroid/graphics/Paint;IF)Landroid/graphics/text/MeasuredText$Builder;
-HPLandroid/graphics/text/MeasuredText$Builder;->setComputeHyphenation(Z)Landroid/graphics/text/MeasuredText$Builder;
-HPLandroid/graphics/text/MeasuredText$Builder;->setComputeLayout(Z)Landroid/graphics/text/MeasuredText$Builder;
-HPLandroid/graphics/text/MeasuredText$Builder;->build()Landroid/graphics/text/MeasuredText;
-HPLandroid/hardware/Camera$AutoFocusCallback;->onAutoFocus(ZLandroid/hardware/Camera;)V
-HPLandroid/hardware/Camera$EventHandler;->handleMessage(Landroid/os/Message;)V
-HPLandroid/hardware/Camera$Parameters;->getFlashMode()Ljava/lang/String;
-HPLandroid/hardware/Camera;->autoFocus(Landroid/hardware/Camera$AutoFocusCallback;)V
-HPLandroid/hardware/Camera;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-HPLandroid/hardware/Camera;->release()V
-HPLandroid/hardware/Camera;->releaseAppOps()V
-HPLandroid/hardware/Camera;->setPreviewCallback(Landroid/hardware/Camera$PreviewCallback;)V
-HPLandroid/hardware/Camera;->stopPreview()V
-HPLandroid/hardware/CameraStatus$1;-><init>()V
-HPLandroid/hardware/CameraStatus$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/CameraStatus;
-HPLandroid/hardware/CameraStatus$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/hardware/CameraStatus$1;->newArray(I)[Landroid/hardware/CameraStatus;
-HPLandroid/hardware/CameraStatus$1;->newArray(I)[Ljava/lang/Object;
+HPLandroid/gsi/IGsiService$Stub$Proxy;->isGsiRunning()Z
+HPLandroid/gsi/IGsiService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/gsi/IGsiService;
+HPLandroid/hardware/GeomagneticField$LegendreTable;-><init>(IF)V
+HPLandroid/hardware/GeomagneticField;-><init>(FFFJ)V
+HPLandroid/hardware/GeomagneticField;->computeGeocentricCoordinates(FFF)V
+HPLandroid/hardware/GeomagneticField;->getDeclination()F
+HPLandroid/hardware/GeomagneticField;->getFieldStrength()F
 HPLandroid/hardware/GeomagneticField;->getHorizontalStrength()F
 HPLandroid/hardware/GeomagneticField;->getInclination()F
-HPLandroid/hardware/GeomagneticField;->getX()F
-HPLandroid/hardware/GeomagneticField;->getY()F
-HPLandroid/hardware/GeomagneticField;->getZ()F
-HPLandroid/hardware/ICameraService$Stub$Proxy;->addListener(Landroid/hardware/ICameraServiceListener;)[Landroid/hardware/CameraStatus;
-HPLandroid/hardware/ICameraService$Stub$Proxy;->connectDevice(Landroid/hardware/camera2/ICameraDeviceCallbacks;Ljava/lang/String;Ljava/lang/String;I)Landroid/hardware/camera2/ICameraDeviceUser;
-HPLandroid/hardware/ICameraService$Stub$Proxy;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/impl/CameraMetadataNative;
-HPLandroid/hardware/ICameraService$Stub$Proxy;->supportsCameraApi(Ljava/lang/String;I)Z
-HPLandroid/hardware/ICameraServiceListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/hardware/ICameraServiceListener;->onStatusChanged(ILjava/lang/String;)V
-HPLandroid/hardware/ICameraServiceListener;->onTorchStatusChanged(ILjava/lang/String;)V
+HPLandroid/hardware/HardwareBuffer;-><init>(J)V
+HPLandroid/hardware/HardwareBuffer;->createFromGraphicBuffer(Landroid/graphics/GraphicBuffer;)Landroid/hardware/HardwareBuffer;
+HPLandroid/hardware/HardwareBuffer;->finalize()V
 HPLandroid/hardware/ICameraServiceProxy$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/hardware/Sensor;->getFifoMaxEventCount()I
 HPLandroid/hardware/Sensor;->getFifoReservedEventCount()I
-HPLandroid/hardware/Sensor;->getMaxDelay()I
 HPLandroid/hardware/Sensor;->getMaximumRange()F
 HPLandroid/hardware/Sensor;->getMinDelay()I
-HPLandroid/hardware/Sensor;->getPower()F
 HPLandroid/hardware/Sensor;->getReportingMode()I
 HPLandroid/hardware/Sensor;->getResolution()F
+HPLandroid/hardware/Sensor;->getVersion()I
 HPLandroid/hardware/SensorAdditionalInfo;->createLocalGeomagneticField(FFF)Landroid/hardware/SensorAdditionalInfo;
-HPLandroid/hardware/SensorEventListener2;->onFlushCompleted(Landroid/hardware/Sensor;)V
 HPLandroid/hardware/SensorManager;->cancelTriggerSensor(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
-HPLandroid/hardware/SensorManager;->flush(Landroid/hardware/SensorEventListener;)Z
-HPLandroid/hardware/SensorManager;->getRotationMatrix([F[F[F[F)Z
+HPLandroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;IILandroid/os/Handler;)Z
+HPLandroid/hardware/SensorManager;->remapCoordinateSystem([FII[F)Z
+HPLandroid/hardware/SensorManager;->remapCoordinateSystemImpl([FII[F)Z
 HPLandroid/hardware/SensorManager;->requestTriggerSensor(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
 HPLandroid/hardware/SensorManager;->setOperationParameter(Landroid/hardware/SensorAdditionalInfo;)Z
 HPLandroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
-HPLandroid/hardware/SystemSensorManager$BaseEventQueue;->flush()I
+HPLandroid/hardware/SystemSensorManager$BaseEventQueue;->finalize()V
 HPLandroid/hardware/SystemSensorManager$BaseEventQueue;->removeSensor(Landroid/hardware/Sensor;Z)Z
-HPLandroid/hardware/SystemSensorManager$SensorEventQueue;->dispatchFlushCompleteEvent(I)V
 HPLandroid/hardware/SystemSensorManager$TriggerEventQueue;->addSensorEvent(Landroid/hardware/Sensor;)V
 HPLandroid/hardware/SystemSensorManager$TriggerEventQueue;->dispatchSensorEvent(I[FIJ)V
 HPLandroid/hardware/SystemSensorManager$TriggerEventQueue;->removeSensorEvent(Landroid/hardware/Sensor;)V
 HPLandroid/hardware/SystemSensorManager;->cancelTriggerSensorImpl(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;Z)Z
-HPLandroid/hardware/SystemSensorManager;->flushImpl(Landroid/hardware/SensorEventListener;)Z
 HPLandroid/hardware/SystemSensorManager;->requestTriggerSensorImpl(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
 HPLandroid/hardware/SystemSensorManager;->setOperationParameterImpl(Landroid/hardware/SensorAdditionalInfo;)Z
-HPLandroid/hardware/camera2/CameraAccessException;->getProblemString(I)Ljava/lang/String;
-HPLandroid/hardware/camera2/CameraCaptureSession$CaptureCallback;-><init>()V
-HPLandroid/hardware/camera2/CameraCaptureSession$CaptureCallback;->onCaptureProgressed(Landroid/hardware/camera2/CameraCaptureSession;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CaptureResult;)V
-HPLandroid/hardware/camera2/CameraCaptureSession$CaptureCallback;->onCaptureSequenceAborted(Landroid/hardware/camera2/CameraCaptureSession;I)V
-HPLandroid/hardware/camera2/CameraCaptureSession$CaptureCallback;->onCaptureSequenceCompleted(Landroid/hardware/camera2/CameraCaptureSession;IJ)V
-HPLandroid/hardware/camera2/CameraCaptureSession$CaptureCallback;->onCaptureStarted(Landroid/hardware/camera2/CameraCaptureSession;Landroid/hardware/camera2/CaptureRequest;JJ)V
-HPLandroid/hardware/camera2/CameraCaptureSession$StateCallback;-><init>()V
-HPLandroid/hardware/camera2/CameraCaptureSession$StateCallback;->onActive(Landroid/hardware/camera2/CameraCaptureSession;)V
-HPLandroid/hardware/camera2/CameraCaptureSession$StateCallback;->onReady(Landroid/hardware/camera2/CameraCaptureSession;)V
-HPLandroid/hardware/camera2/CameraCaptureSession;->abortCaptures()V
-HPLandroid/hardware/camera2/CameraCaptureSession;->capture(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I
-HPLandroid/hardware/camera2/CameraCaptureSession;->captureBurst(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I
-HPLandroid/hardware/camera2/CameraCaptureSession;->close()V
-HPLandroid/hardware/camera2/CameraCaptureSession;->finalizeOutputConfigurations(Ljava/util/List;)V
-HPLandroid/hardware/camera2/CameraCaptureSession;->getDevice()Landroid/hardware/camera2/CameraDevice;
-HPLandroid/hardware/camera2/CameraCaptureSession;->getInputSurface()Landroid/view/Surface;
-HPLandroid/hardware/camera2/CameraCaptureSession;->isReprocessable()Z
-HPLandroid/hardware/camera2/CameraCaptureSession;->prepare(ILandroid/view/Surface;)V
-HPLandroid/hardware/camera2/CameraCaptureSession;->prepare(Landroid/view/Surface;)V
-HPLandroid/hardware/camera2/CameraCaptureSession;->setRepeatingBurst(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I
-HPLandroid/hardware/camera2/CameraCaptureSession;->setRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I
-HPLandroid/hardware/camera2/CameraCaptureSession;->stopRepeating()V
-HPLandroid/hardware/camera2/CameraCaptureSession;->tearDown(Landroid/view/Surface;)V
-HPLandroid/hardware/camera2/CameraCharacteristics;-><init>(Landroid/hardware/camera2/impl/CameraMetadataNative;)V
-HPLandroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/CameraDevice$StateCallback;-><init>()V
-HPLandroid/hardware/camera2/CameraDevice$StateCallback;->onClosed(Landroid/hardware/camera2/CameraDevice;)V
-HPLandroid/hardware/camera2/CameraDevice;->close()V
-HPLandroid/hardware/camera2/CameraDevice;->createCaptureRequest(I)Landroid/hardware/camera2/CaptureRequest$Builder;
-HPLandroid/hardware/camera2/CameraDevice;->createCaptureSession(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
-HPLandroid/hardware/camera2/CameraDevice;->createCaptureSessionByOutputConfigurations(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
-HPLandroid/hardware/camera2/CameraDevice;->createConstrainedHighSpeedCaptureSession(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
-HPLandroid/hardware/camera2/CameraDevice;->createCustomCaptureSession(Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;ILandroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
-HPLandroid/hardware/camera2/CameraDevice;->createReprocessCaptureRequest(Landroid/hardware/camera2/TotalCaptureResult;)Landroid/hardware/camera2/CaptureRequest$Builder;
-HPLandroid/hardware/camera2/CameraDevice;->createReprocessableCaptureSession(Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
-HPLandroid/hardware/camera2/CameraDevice;->createReprocessableCaptureSessionByConfigurations(Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
-HPLandroid/hardware/camera2/CameraDevice;->getId()Ljava/lang/String;
-HPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$1;->compare(Ljava/lang/String;Ljava/lang/String;)I
-HPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;-><init>()V
-HPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->asBinder()Landroid/os/IBinder;
-HPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->connectCameraServiceLocked()V
-HPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->getCameraIdList()[Ljava/lang/String;
-HPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->getCameraService()Landroid/hardware/ICameraService;
+HPLandroid/hardware/biometrics/-$$Lambda$BiometricPrompt$1$_p2Kb7GLaNe_mSDlUdJIRLMJ5kQ;->run()V
+HPLandroid/hardware/biometrics/BiometricManager;->onConfirmDeviceCredentialError(ILjava/lang/String;)V
+HPLandroid/hardware/biometrics/BiometricManager;->onConfirmDeviceCredentialSuccess()V
+HPLandroid/hardware/biometrics/BiometricManager;->resetLockout([B)V
+HPLandroid/hardware/biometrics/BiometricManager;->resetTimeout([B)V
+HPLandroid/hardware/biometrics/BiometricManager;->setActiveUser(I)V
+HPLandroid/hardware/biometrics/BiometricPrompt$1;->lambda$onAuthenticationSucceeded$0$BiometricPrompt$1()V
+HPLandroid/hardware/biometrics/BiometricPrompt$1;->onAuthenticationSucceeded()V
+HPLandroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;-><init>()V
+HPLandroid/hardware/biometrics/BiometricPrompt$Builder;-><init>(Landroid/content/Context;)V
+HPLandroid/hardware/biometrics/BiometricPrompt$Builder;->build()Landroid/hardware/biometrics/BiometricPrompt;
+HPLandroid/hardware/biometrics/BiometricPrompt$Builder;->setDescription(Ljava/lang/CharSequence;)Landroid/hardware/biometrics/BiometricPrompt$Builder;
+HPLandroid/hardware/biometrics/BiometricPrompt$Builder;->setNegativeButton(Ljava/lang/CharSequence;Ljava/util/concurrent/Executor;Landroid/content/DialogInterface$OnClickListener;)Landroid/hardware/biometrics/BiometricPrompt$Builder;
+HPLandroid/hardware/biometrics/BiometricPrompt$Builder;->setRequireConfirmation(Z)Landroid/hardware/biometrics/BiometricPrompt$Builder;
+HPLandroid/hardware/biometrics/BiometricPrompt$Builder;->setSubtitle(Ljava/lang/CharSequence;)Landroid/hardware/biometrics/BiometricPrompt$Builder;
+HPLandroid/hardware/biometrics/BiometricPrompt$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/hardware/biometrics/BiometricPrompt$Builder;
+HPLandroid/hardware/biometrics/BiometricPrompt$Builder;->setUseDefaultTitle()Landroid/hardware/biometrics/BiometricPrompt$Builder;
+HPLandroid/hardware/biometrics/BiometricPrompt$OnAuthenticationCancelListener;->onCancel()V
+HPLandroid/hardware/biometrics/BiometricPrompt;-><init>(Landroid/content/Context;Landroid/os/Bundle;Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;Landroid/hardware/biometrics/BiometricPrompt$ButtonInfo;)V
+HPLandroid/hardware/biometrics/BiometricPrompt;->authenticateInternal(Landroid/hardware/biometrics/BiometricPrompt$CryptoObject;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;I)V
+HPLandroid/hardware/biometrics/BiometricPrompt;->authenticateUser(Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;I)V
+HPLandroid/hardware/biometrics/BiometricPrompt;->cancelAuthentication()V
+HPLandroid/hardware/biometrics/BiometricSourceType$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/biometrics/BiometricSourceType;
+HPLandroid/hardware/biometrics/BiometricSourceType$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/biometrics/BiometricSourceType;->values()[Landroid/hardware/biometrics/BiometricSourceType;
+HPLandroid/hardware/biometrics/IBiometricService$Stub$Proxy;->authenticate(Landroid/os/IBinder;JILandroid/hardware/biometrics/IBiometricServiceReceiver;Ljava/lang/String;Landroid/os/Bundle;)V
+HPLandroid/hardware/biometrics/IBiometricService$Stub$Proxy;->cancelAuthentication(Landroid/os/IBinder;Ljava/lang/String;)V
+HPLandroid/hardware/biometrics/IBiometricService$Stub$Proxy;->onConfirmDeviceCredentialError(ILjava/lang/String;)V
+HPLandroid/hardware/biometrics/IBiometricService$Stub$Proxy;->onConfirmDeviceCredentialSuccess()V
+HPLandroid/hardware/biometrics/IBiometricService$Stub$Proxy;->setActiveUser(I)V
+HPLandroid/hardware/biometrics/IBiometricService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/biometrics/IBiometricService;
+HPLandroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub$Proxy;->onLockoutReset(JLandroid/os/IRemoteCallback;)V
+HPLandroid/hardware/biometrics/IBiometricServiceReceiver$Stub$Proxy;->onAuthenticationFailed()V
+HPLandroid/hardware/biometrics/IBiometricServiceReceiver$Stub$Proxy;->onAuthenticationSucceeded()V
+HPLandroid/hardware/biometrics/IBiometricServiceReceiver$Stub$Proxy;->onDialogDismissed(I)V
+HPLandroid/hardware/biometrics/IBiometricServiceReceiver$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/hardware/biometrics/IBiometricServiceReceiver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/hardware/biometrics/IBiometricServiceReceiverInternal$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/hardware/biometrics/IBiometricServiceReceiverInternal$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onStatusChanged(ILjava/lang/String;)V
-HPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onStatusChangedLocked(ILjava/lang/String;)V
-HPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onTorchStatusChanged(ILjava/lang/String;)V
-HPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onTorchStatusChangedLocked(ILjava/lang/String;)V
-HPLandroid/hardware/camera2/CameraManager;-><init>(Landroid/content/Context;)V
-HPLandroid/hardware/camera2/CameraManager;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics;
-HPLandroid/hardware/camera2/CameraManager;->getCameraIdList()[Ljava/lang/String;
-HPLandroid/hardware/camera2/CameraManager;->openCamera(Ljava/lang/String;Landroid/hardware/camera2/CameraDevice$StateCallback;Landroid/os/Handler;)V
-HPLandroid/hardware/camera2/CameraManager;->openCameraDeviceUserAsync(Ljava/lang/String;Landroid/hardware/camera2/CameraDevice$StateCallback;Ljava/util/concurrent/Executor;I)Landroid/hardware/camera2/CameraDevice;
-HPLandroid/hardware/camera2/CameraManager;->openCameraForUid(Ljava/lang/String;Landroid/hardware/camera2/CameraDevice$StateCallback;Ljava/util/concurrent/Executor;I)V
-HPLandroid/hardware/camera2/CameraManager;->supportsCameraApiLocked(Ljava/lang/String;I)Z
-HPLandroid/hardware/camera2/CameraManager;->throwAsPublicException(Ljava/lang/Throwable;)V
-HPLandroid/hardware/camera2/CameraMetadata;->setNativeInstance(Landroid/hardware/camera2/impl/CameraMetadataNative;)V
-HPLandroid/hardware/camera2/CaptureRequest$Builder;->addTarget(Landroid/view/Surface;)V
-HPLandroid/hardware/camera2/CaptureRequest$Builder;->build()Landroid/hardware/camera2/CaptureRequest;
-HPLandroid/hardware/camera2/CaptureRequest$Builder;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
-HPLandroid/hardware/camera2/CaptureRequest;-><init>(Landroid/hardware/camera2/CaptureRequest;)V
-HPLandroid/hardware/camera2/CaptureRequest;-><init>(Landroid/hardware/camera2/impl/CameraMetadataNative;ZILjava/lang/String;Ljava/util/Set;)V
-HPLandroid/hardware/camera2/CaptureRequest;->convertSurfaceToStreamId(Landroid/util/SparseArray;)V
-HPLandroid/hardware/camera2/CaptureRequest;->get(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/CaptureRequest;->recoverStreamIdToSurface()V
-HPLandroid/hardware/camera2/CaptureRequest;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/hardware/camera2/CaptureResult;-><init>(Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/impl/CaptureResultExtras;)V
-HPLandroid/hardware/camera2/CaptureResult;->get(Landroid/hardware/camera2/CaptureResult$Key;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/ICameraDeviceCallbacks$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/hardware/camera2/ICameraDeviceCallbacks;->onCaptureStarted(Landroid/hardware/camera2/impl/CaptureResultExtras;J)V
-HPLandroid/hardware/camera2/ICameraDeviceCallbacks;->onDeviceError(ILandroid/hardware/camera2/impl/CaptureResultExtras;)V
-HPLandroid/hardware/camera2/ICameraDeviceCallbacks;->onDeviceIdle()V
-HPLandroid/hardware/camera2/ICameraDeviceCallbacks;->onPrepared(I)V
-HPLandroid/hardware/camera2/ICameraDeviceCallbacks;->onRepeatingRequestError(JI)V
-HPLandroid/hardware/camera2/ICameraDeviceCallbacks;->onRequestQueueEmpty()V
-HPLandroid/hardware/camera2/ICameraDeviceCallbacks;->onResultReceived(Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/camera2/impl/CaptureResultExtras;[Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;)V
-HPLandroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->beginConfigure()V
-HPLandroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->cancelRequest(I)J
-HPLandroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->createDefaultRequest(I)Landroid/hardware/camera2/impl/CameraMetadataNative;
-HPLandroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->createStream(Landroid/hardware/camera2/params/OutputConfiguration;)I
-HPLandroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->disconnect()V
-HPLandroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->endConfigure(ILandroid/hardware/camera2/impl/CameraMetadataNative;)V
-HPLandroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->submitRequestList([Landroid/hardware/camera2/CaptureRequest;Z)Landroid/hardware/camera2/utils/SubmitInfo;
-HPLandroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;->waitUntilIdle()V
-HPLandroid/hardware/camera2/ICameraDeviceUser;->beginConfigure()V
-HPLandroid/hardware/camera2/ICameraDeviceUser;->cancelRequest(I)J
-HPLandroid/hardware/camera2/ICameraDeviceUser;->createDefaultRequest(I)Landroid/hardware/camera2/impl/CameraMetadataNative;
-HPLandroid/hardware/camera2/ICameraDeviceUser;->createInputStream(III)I
-HPLandroid/hardware/camera2/ICameraDeviceUser;->createStream(Landroid/hardware/camera2/params/OutputConfiguration;)I
-HPLandroid/hardware/camera2/ICameraDeviceUser;->deleteStream(I)V
-HPLandroid/hardware/camera2/ICameraDeviceUser;->disconnect()V
-HPLandroid/hardware/camera2/ICameraDeviceUser;->endConfigure(ILandroid/hardware/camera2/impl/CameraMetadataNative;)V
-HPLandroid/hardware/camera2/ICameraDeviceUser;->finalizeOutputConfigurations(ILandroid/hardware/camera2/params/OutputConfiguration;)V
-HPLandroid/hardware/camera2/ICameraDeviceUser;->flush()J
-HPLandroid/hardware/camera2/ICameraDeviceUser;->getCameraInfo()Landroid/hardware/camera2/impl/CameraMetadataNative;
-HPLandroid/hardware/camera2/ICameraDeviceUser;->getInputSurface()Landroid/view/Surface;
-HPLandroid/hardware/camera2/ICameraDeviceUser;->prepare(I)V
-HPLandroid/hardware/camera2/ICameraDeviceUser;->prepare2(II)V
-HPLandroid/hardware/camera2/ICameraDeviceUser;->submitRequest(Landroid/hardware/camera2/CaptureRequest;Z)Landroid/hardware/camera2/utils/SubmitInfo;
-HPLandroid/hardware/camera2/ICameraDeviceUser;->submitRequestList([Landroid/hardware/camera2/CaptureRequest;Z)Landroid/hardware/camera2/utils/SubmitInfo;
-HPLandroid/hardware/camera2/ICameraDeviceUser;->tearDown(I)V
-HPLandroid/hardware/camera2/ICameraDeviceUser;->updateOutputConfiguration(ILandroid/hardware/camera2/params/OutputConfiguration;)V
-HPLandroid/hardware/camera2/ICameraDeviceUser;->waitUntilIdle()V
-HPLandroid/hardware/camera2/TotalCaptureResult;-><init>(Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/impl/CaptureResultExtras;Ljava/util/List;I[Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;)V
-HPLandroid/hardware/camera2/impl/-$$Lambda$CallbackProxies$SessionStateCallbackProxy$Hoz-iT1tD_pl7sCGu4flyo-xB90;->run()V
-HPLandroid/hardware/camera2/impl/-$$Lambda$CallbackProxies$SessionStateCallbackProxy$ISQyEhLUI1khcOCin3OIsRyTUoU;->run()V
-HPLandroid/hardware/camera2/impl/-$$Lambda$CallbackProxies$SessionStateCallbackProxy$soW0qC12Osypoky6AfL3P2-TeDw;->run()V
-HPLandroid/hardware/camera2/impl/-$$Lambda$CameraCaptureSessionImpl$1$7mSdNTTAoYA0D3ITDxzDJKGykz0;->run()V
-HPLandroid/hardware/camera2/impl/-$$Lambda$CameraCaptureSessionImpl$1$KZ4tthx5TnA5BizPVljsPqqdHck;->run()V
-HPLandroid/hardware/camera2/impl/-$$Lambda$CameraCaptureSessionImpl$1$OA1Yz_YgzMO8qcV8esRjyt7ykp4;->run()V
-HPLandroid/hardware/camera2/impl/-$$Lambda$CameraCaptureSessionImpl$1$TIJELOXvjSbPh6mpBLfBJ5ciNic;->run()V
-HPLandroid/hardware/camera2/impl/-$$Lambda$CameraCaptureSessionImpl$1$uPVvNnGFdZcxxscdYQ5erNgaRWA;->run()V
-HPLandroid/hardware/camera2/impl/CallbackProxies$SessionStateCallbackProxy;->onActive(Landroid/hardware/camera2/CameraCaptureSession;)V
-HPLandroid/hardware/camera2/impl/CallbackProxies$SessionStateCallbackProxy;->onConfigured(Landroid/hardware/camera2/CameraCaptureSession;)V
-HPLandroid/hardware/camera2/impl/CallbackProxies$SessionStateCallbackProxy;->onReady(Landroid/hardware/camera2/CameraCaptureSession;)V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionCore;->getDeviceStateCallback()Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionCore;->isAborting()Z
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionCore;->replaceSessionClose()V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl$1;->onCaptureCompleted(Landroid/hardware/camera2/CameraDevice;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/TotalCaptureResult;)V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl$1;->onCaptureProgressed(Landroid/hardware/camera2/CameraDevice;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CaptureResult;)V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl$1;->onCaptureSequenceAborted(Landroid/hardware/camera2/CameraDevice;I)V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl$1;->onCaptureSequenceCompleted(Landroid/hardware/camera2/CameraDevice;IJ)V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl$1;->onCaptureStarted(Landroid/hardware/camera2/CameraDevice;Landroid/hardware/camera2/CaptureRequest;JJ)V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl$2;->onActive(Landroid/hardware/camera2/CameraDevice;)V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl$2;->onBusy(Landroid/hardware/camera2/CameraDevice;)V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl$2;->onDisconnected(Landroid/hardware/camera2/CameraDevice;)V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl$2;->onIdle(Landroid/hardware/camera2/CameraDevice;)V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl$2;->onUnconfigured(Landroid/hardware/camera2/CameraDevice;)V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl;-><init>(ILandroid/view/Surface;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/impl/CameraDeviceImpl;Ljava/util/concurrent/Executor;Z)V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl;->checkNotClosed()V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl;->close()V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl;->createCaptureCallbackProxy(Landroid/os/Handler;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;)Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl;->finalize()V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl;->finishPendingSequence(I)V
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl;->getDeviceStateCallback()Landroid/hardware/camera2/impl/CameraDeviceImpl$StateCallbackKK;
-HPLandroid/hardware/camera2/impl/CameraCaptureSessionImpl;->setRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;Landroid/os/Handler;)I
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$10;->run()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$1;->run()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$2;->run()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$3;->run()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$4;->run()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$5;->run()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$6;->run()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$7;->run()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$9;->run()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks$1;->run()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks$2;-><init>(Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/camera2/impl/CaptureResultExtras;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CaptureResult;)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks$2;->run()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks$3;-><init>(Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;Landroid/hardware/camera2/impl/CameraMetadataNative;JILandroid/util/Range;Landroid/hardware/camera2/impl/CaptureResultExtras;Ljava/util/List;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/TotalCaptureResult;)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks$3;->run()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;->asBinder()Landroid/os/IBinder;
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;->onCaptureStarted(Landroid/hardware/camera2/impl/CaptureResultExtras;J)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;->onDeviceError(ILandroid/hardware/camera2/impl/CaptureResultExtras;)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;->onDeviceIdle()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;->onResultReceived(Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/camera2/impl/CaptureResultExtras;[Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CameraHandlerExecutor;->execute(Ljava/lang/Runnable;)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCaptureBufferLost(Landroid/hardware/camera2/CameraDevice;Landroid/hardware/camera2/CaptureRequest;Landroid/view/Surface;J)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCaptureCompleted(Landroid/hardware/camera2/CameraDevice;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/TotalCaptureResult;)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCaptureFailed(Landroid/hardware/camera2/CameraDevice;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CaptureFailure;)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCapturePartial(Landroid/hardware/camera2/CameraDevice;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CaptureResult;)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCaptureProgressed(Landroid/hardware/camera2/CameraDevice;Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/CaptureResult;)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCaptureSequenceAborted(Landroid/hardware/camera2/CameraDevice;I)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCaptureSequenceCompleted(Landroid/hardware/camera2/CameraDevice;IJ)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;->onCaptureStarted(Landroid/hardware/camera2/CameraDevice;Landroid/hardware/camera2/CaptureRequest;JJ)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;-><init>(Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/List;Ljava/util/concurrent/Executor;ZI)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->getCallback()Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->getExecutor()Ljava/util/concurrent/Executor;
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->getRequest(I)Landroid/hardware/camera2/CaptureRequest;
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->getSessionId()I
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;->hasBatchedOutputs()Z
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;-><init>(Landroid/hardware/camera2/impl/CameraDeviceImpl;)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->getCompletedFrameNumber()J
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->getCompletedReprocessFrameNumber()J
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->popPartialResults(J)Ljava/util/List;
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->update()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->updateCompletedFrameNumber(J)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->updateTracker(JLandroid/hardware/camera2/CaptureResult;ZZ)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;->updateTracker(JZZ)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;->getLastFrameNumber()J
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;->getLastRegularFrameNumber()J
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;->getLastReprocessFrameNumber()J
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;->getRequestId()I
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;-><init>(Ljava/lang/String;Landroid/hardware/camera2/CameraDevice$StateCallback;Ljava/util/concurrent/Executor;Landroid/hardware/camera2/CameraCharacteristics;I)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->access$000(Landroid/hardware/camera2/impl/CameraDeviceImpl;)Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->access$1200(Landroid/hardware/camera2/impl/CameraDeviceImpl;)Landroid/util/SparseArray;
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->access$1300(Landroid/hardware/camera2/impl/CameraDeviceImpl;)Landroid/hardware/camera2/CameraCharacteristics;
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->access$1400(Landroid/hardware/camera2/impl/CameraDeviceImpl;)I
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->access$1500(Landroid/hardware/camera2/impl/CameraDeviceImpl;)Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->access$1600(Landroid/hardware/camera2/impl/CameraDeviceImpl;)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->access$300(Landroid/hardware/camera2/impl/CameraDeviceImpl;)Z
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->checkAndFireSequenceComplete()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->checkEarlyTriggerSequenceComplete(IJ)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->checkHandler(Landroid/os/Handler;Ljava/lang/Object;)Landroid/os/Handler;
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->checkIfCameraClosedOrInError()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->checkInputConfiguration(Landroid/hardware/camera2/params/InputConfiguration;)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->close()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->configureStreamsChecked(Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;ILandroid/hardware/camera2/CaptureRequest;)Z
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->createCaptureRequest(I)Landroid/hardware/camera2/CaptureRequest$Builder;
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->createCaptureSession(Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Landroid/os/Handler;)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->createCaptureSessionInternal(Landroid/hardware/camera2/params/InputConfiguration;Ljava/util/List;Landroid/hardware/camera2/CameraCaptureSession$StateCallback;Ljava/util/concurrent/Executor;ILandroid/hardware/camera2/CaptureRequest;)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->finalize()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->getId()Ljava/lang/String;
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->setRemoteDevice(Landroid/hardware/camera2/ICameraDeviceUser;)V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->setRepeatingRequest(Landroid/hardware/camera2/CaptureRequest;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;)I
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->stopRepeating()V
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->submitCaptureRequest(Ljava/util/List;Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;Ljava/util/concurrent/Executor;Z)I
-HPLandroid/hardware/camera2/impl/CameraDeviceImpl;->waitUntilIdle()V
-HPLandroid/hardware/camera2/impl/CameraMetadataNative$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/camera2/impl/CameraMetadataNative;
-HPLandroid/hardware/camera2/impl/CameraMetadataNative$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/impl/CameraMetadataNative$5;->getValue(Landroid/hardware/camera2/impl/CameraMetadataNative;Landroid/hardware/camera2/impl/CameraMetadataNative$Key;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;-><init>()V
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->finalize()V
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->get(Landroid/hardware/camera2/CaptureRequest$Key;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->get(Landroid/hardware/camera2/CaptureResult$Key;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->get(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->getBase(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->getStreamConfigurationMap()Landroid/hardware/camera2/params/StreamConfigurationMap;
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->isEmpty()Z
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->readValues(I)[B
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->set(Landroid/hardware/camera2/CameraCharacteristics$Key;Ljava/lang/Object;)V
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->set(Landroid/hardware/camera2/CaptureRequest$Key;Ljava/lang/Object;)V
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->set(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;Ljava/lang/Object;)V
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->setBase(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;Ljava/lang/Object;)V
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->setupGlobalVendorTagDescriptor()V
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/hardware/camera2/impl/CameraMetadataNative;->writeValues(I[B)V
-HPLandroid/hardware/camera2/impl/CaptureResultExtras$1;-><init>()V
-HPLandroid/hardware/camera2/impl/CaptureResultExtras$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/camera2/impl/CaptureResultExtras;
-HPLandroid/hardware/camera2/impl/CaptureResultExtras$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/impl/CaptureResultExtras;->getFrameNumber()J
-HPLandroid/hardware/camera2/impl/CaptureResultExtras;->getPartialResultCount()I
-HPLandroid/hardware/camera2/impl/CaptureResultExtras;->getRequestId()I
-HPLandroid/hardware/camera2/impl/CaptureResultExtras;->getSubsequenceId()I
-HPLandroid/hardware/camera2/impl/CaptureResultExtras;->readFromParcel(Landroid/os/Parcel;)V
-HPLandroid/hardware/camera2/impl/ICameraDeviceUserWrapper;-><init>(Landroid/hardware/camera2/ICameraDeviceUser;)V
-HPLandroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->beginConfigure()V
-HPLandroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->cancelRequest(I)J
-HPLandroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->createDefaultRequest(I)Landroid/hardware/camera2/impl/CameraMetadataNative;
-HPLandroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->createStream(Landroid/hardware/camera2/params/OutputConfiguration;)I
-HPLandroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->disconnect()V
-HPLandroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->endConfigure(ILandroid/hardware/camera2/impl/CameraMetadataNative;)V
-HPLandroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->submitRequestList([Landroid/hardware/camera2/CaptureRequest;Z)Landroid/hardware/camera2/utils/SubmitInfo;
-HPLandroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->unlinkToDeath(Landroid/os/IBinder$DeathRecipient;I)V
-HPLandroid/hardware/camera2/impl/ICameraDeviceUserWrapper;->waitUntilIdle()V
-HPLandroid/hardware/camera2/impl/PhysicalCaptureResultInfo$1;-><init>()V
-HPLandroid/hardware/camera2/impl/PhysicalCaptureResultInfo$1;->newArray(I)[Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo;
-HPLandroid/hardware/camera2/impl/PhysicalCaptureResultInfo$1;->newArray(I)[Ljava/lang/Object;
-HPLandroid/hardware/camera2/legacy/LegacyExceptionUtils;->throwOnError(I)I
-HPLandroid/hardware/camera2/marshal/MarshalHelpers;->checkNativeType(I)I
-HPLandroid/hardware/camera2/marshal/MarshalHelpers;->getPrimitiveTypeSize(I)I
-HPLandroid/hardware/camera2/marshal/MarshalHelpers;->wrapClassIfPrimitive(Ljava/lang/Class;)Ljava/lang/Class;
-HPLandroid/hardware/camera2/marshal/MarshalRegistry$MarshalToken;->equals(Ljava/lang/Object;)Z
-HPLandroid/hardware/camera2/marshal/MarshalRegistry$MarshalToken;->hashCode()I
-HPLandroid/hardware/camera2/marshal/MarshalRegistry;->getMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
-HPLandroid/hardware/camera2/marshal/Marshaler;-><init>(Landroid/hardware/camera2/marshal/MarshalQueryable;Landroid/hardware/camera2/utils/TypeReference;I)V
-HPLandroid/hardware/camera2/marshal/Marshaler;->calculateMarshalSize(Ljava/lang/Object;)I
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableArray$MarshalerArray;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableArray;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableArray;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableBlackLevelPattern;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean$MarshalerBoolean;->getNativeSize()I
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean$MarshalerBoolean;->marshal(Ljava/lang/Boolean;Ljava/nio/ByteBuffer;)V
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean$MarshalerBoolean;->marshal(Ljava/lang/Object;Ljava/nio/ByteBuffer;)V
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean$MarshalerBoolean;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Boolean;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean$MarshalerBoolean;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableColorSpaceTransform;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableEnum;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableHighSpeedVideoConfiguration$MarshalerHighSpeedVideoConfiguration;->getNativeSize()I
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableHighSpeedVideoConfiguration$MarshalerHighSpeedVideoConfiguration;->unmarshal(Ljava/nio/ByteBuffer;)Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableHighSpeedVideoConfiguration$MarshalerHighSpeedVideoConfiguration;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableHighSpeedVideoConfiguration;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableHighSpeedVideoConfiguration;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableMeteringRectangle;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger$MarshalerNativeByteToInteger;->getNativeSize()I
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger$MarshalerNativeByteToInteger;->marshal(Ljava/lang/Integer;Ljava/nio/ByteBuffer;)V
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger$MarshalerNativeByteToInteger;->marshal(Ljava/lang/Object;Ljava/nio/ByteBuffer;)V
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger$MarshalerNativeByteToInteger;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Integer;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger$MarshalerNativeByteToInteger;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryablePair;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryablePrimitive$MarshalerPrimitive;->getNativeSize()I
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryablePrimitive$MarshalerPrimitive;->marshal(Ljava/lang/Object;Ljava/nio/ByteBuffer;)V
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryablePrimitive$MarshalerPrimitive;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryablePrimitive$MarshalerPrimitive;->unmarshalObject(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryablePrimitive;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryablePrimitive;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRange$MarshalerRange;-><init>(Landroid/hardware/camera2/marshal/impl/MarshalQueryableRange;Landroid/hardware/camera2/utils/TypeReference;I)V
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRange$MarshalerRange;->calculateMarshalSize(Landroid/util/Range;)I
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRange$MarshalerRange;->calculateMarshalSize(Ljava/lang/Object;)I
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRange$MarshalerRange;->getNativeSize()I
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRange$MarshalerRange;->marshal(Landroid/util/Range;Ljava/nio/ByteBuffer;)V
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRange$MarshalerRange;->marshal(Ljava/lang/Object;Ljava/nio/ByteBuffer;)V
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRange$MarshalerRange;->unmarshal(Ljava/nio/ByteBuffer;)Landroid/util/Range;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRange$MarshalerRange;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRange;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRange;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRect$MarshalerRect;->getNativeSize()I
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRect$MarshalerRect;->marshal(Landroid/graphics/Rect;Ljava/nio/ByteBuffer;)V
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRect$MarshalerRect;->marshal(Ljava/lang/Object;Ljava/nio/ByteBuffer;)V
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRect$MarshalerRect;->unmarshal(Ljava/nio/ByteBuffer;)Landroid/graphics/Rect;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRect$MarshalerRect;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRect;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRect;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableReprocessFormatsMap$MarshalerReprocessFormatsMap;->unmarshal(Ljava/nio/ByteBuffer;)Landroid/hardware/camera2/params/ReprocessFormatsMap;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableReprocessFormatsMap$MarshalerReprocessFormatsMap;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableReprocessFormatsMap;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableReprocessFormatsMap;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableRggbChannelVector;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableSize$MarshalerSize;->getNativeSize()I
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableSize$MarshalerSize;->marshal(Landroid/util/Size;Ljava/nio/ByteBuffer;)V
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableSize$MarshalerSize;->marshal(Ljava/lang/Object;Ljava/nio/ByteBuffer;)V
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableSize$MarshalerSize;->unmarshal(Ljava/nio/ByteBuffer;)Landroid/util/Size;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableSize$MarshalerSize;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableSize;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableSize;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableSizeF;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfiguration$MarshalerStreamConfiguration;->getNativeSize()I
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfiguration$MarshalerStreamConfiguration;->unmarshal(Ljava/nio/ByteBuffer;)Landroid/hardware/camera2/params/StreamConfiguration;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfiguration$MarshalerStreamConfiguration;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfiguration;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfiguration;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfigurationDuration$MarshalerStreamConfigurationDuration;->getNativeSize()I
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfigurationDuration$MarshalerStreamConfigurationDuration;->unmarshal(Ljava/nio/ByteBuffer;)Landroid/hardware/camera2/params/StreamConfigurationDuration;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfigurationDuration$MarshalerStreamConfigurationDuration;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfigurationDuration;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfigurationDuration;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/marshal/impl/MarshalQueryableString;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
-HPLandroid/hardware/camera2/params/HighSpeedVideoConfiguration;-><init>(IIIII)V
-HPLandroid/hardware/camera2/params/OutputConfiguration$1;-><init>()V
-HPLandroid/hardware/camera2/params/OutputConfiguration;-><init>(ILandroid/view/Surface;I)V
-HPLandroid/hardware/camera2/params/OutputConfiguration;->hashCode()I
-HPLandroid/hardware/camera2/params/OutputConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/hardware/camera2/params/ReprocessFormatsMap;-><init>([I)V
-HPLandroid/hardware/camera2/params/StreamConfiguration;->getSize()Landroid/util/Size;
-HPLandroid/hardware/camera2/params/StreamConfigurationDuration;-><init>(IIIJ)V
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;-><init>([Landroid/hardware/camera2/params/StreamConfiguration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfiguration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/StreamConfigurationDuration;[Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;Landroid/hardware/camera2/params/ReprocessFormatsMap;Z)V
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;->checkArgumentFormat(I)I
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;->checkArgumentFormatInternal(I)I
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;->checkArgumentFormatSupported(IZ)I
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;->depthFormatToPublic(I)I
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;->getDurations(II)[Landroid/hardware/camera2/params/StreamConfigurationDuration;
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;->getInternalFormatDuration(IILandroid/util/Size;I)J
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;->getInternalFormatSizes(IIZZ)[Landroid/util/Size;
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;->getOutputFormats()[I
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;->getOutputMinFrameDuration(ILandroid/util/Size;)J
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;->getOutputSizes(I)[Landroid/util/Size;
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;->getOutputSizes(Ljava/lang/Class;)[Landroid/util/Size;
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;->getPublicFormatSizes(IZZ)[Landroid/util/Size;
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;->getPublicFormats(Z)[I
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;->isOutputSupportedFor(Ljava/lang/Class;)Z
-HPLandroid/hardware/camera2/params/StreamConfigurationMap;->isSupportedInternalConfiguration(IILandroid/util/Size;)Z
 HPLandroid/hardware/camera2/utils/ArrayUtils;->contains([Ljava/lang/Object;Ljava/lang/Object;)Z
-HPLandroid/hardware/camera2/utils/HashCodeHelpers;->hashCodeGeneric([Ljava/lang/Object;)I
-HPLandroid/hardware/camera2/utils/SubmitInfo$1;-><init>()V
-HPLandroid/hardware/camera2/utils/SubmitInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/camera2/utils/SubmitInfo;
-HPLandroid/hardware/camera2/utils/SubmitInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/hardware/camera2/utils/SubmitInfo;->getRequestId()I
-HPLandroid/hardware/camera2/utils/SurfaceUtils;->getSurfaceDataspace(Landroid/view/Surface;)I
-HPLandroid/hardware/camera2/utils/SurfaceUtils;->getSurfaceFormat(Landroid/view/Surface;)I
-HPLandroid/hardware/camera2/utils/SurfaceUtils;->getSurfaceSize(Landroid/view/Surface;)Landroid/util/Size;
-HPLandroid/hardware/camera2/utils/TaskDrainer;-><init>(Ljava/util/concurrent/Executor;Landroid/hardware/camera2/utils/TaskDrainer$DrainListener;Ljava/lang/String;)V
-HPLandroid/hardware/camera2/utils/TaskDrainer;->beginDrain()V
-HPLandroid/hardware/camera2/utils/TaskDrainer;->taskFinished(Ljava/lang/Object;)V
-HPLandroid/hardware/camera2/utils/TaskDrainer;->taskStarted(Ljava/lang/Object;)V
-HPLandroid/hardware/camera2/utils/TaskSingleDrainer;->taskStarted()V
-HPLandroid/hardware/camera2/utils/TypeReference;->equals(Ljava/lang/Object;)Z
-HPLandroid/hardware/camera2/utils/TypeReference;->getComponentType()Landroid/hardware/camera2/utils/TypeReference;
-HPLandroid/hardware/camera2/utils/TypeReference;->getComponentType(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
-HPLandroid/hardware/camera2/utils/TypeReference;->getType()Ljava/lang/reflect/Type;
 HPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->loadNanoApp(ILandroid/hardware/contexthub/V1_0/NanoAppBinary;I)I
+HPLandroid/hardware/contexthub/V1_0/IContexthub$Proxy;->unloadNanoApp(IJI)I
 HPLandroid/hardware/contexthub/V1_0/NanoAppBinary;-><init>()V
 HPLandroid/hardware/contexthub/V1_0/NanoAppBinary;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)V
-HPLandroid/hardware/display/AmbientBrightnessDayStats;-><init>(Ljava/time/LocalDate;[F)V
-HPLandroid/hardware/display/AmbientBrightnessDayStats;-><init>(Ljava/time/LocalDate;[F[F)V
-HPLandroid/hardware/display/AmbientBrightnessDayStats;->getBucketIndex(F)I
-HPLandroid/hardware/display/AmbientBrightnessDayStats;->log(FF)V
 HPLandroid/hardware/display/AmbientBrightnessDayStats;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/hardware/display/BrightnessChangeEvent$Builder;-><init>()V
-HPLandroid/hardware/display/BrightnessChangeEvent$Builder;->build()Landroid/hardware/display/BrightnessChangeEvent;
-HPLandroid/hardware/display/BrightnessChangeEvent;-><init>(FJLjava/lang/String;I[F[JFFZIFZZ)V
+HPLandroid/hardware/display/AmbientDisplayConfiguration;->tapSensorAvailable()Z
+HPLandroid/hardware/display/AmbientDisplayConfiguration;->tapSensorType()Ljava/lang/String;
+HPLandroid/hardware/display/AmbientDisplayConfiguration;->wakeScreenGestureAvailable()Z
 HPLandroid/hardware/display/BrightnessChangeEvent;->writeToParcel(Landroid/os/Parcel;I)V
 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;
-HPLandroid/hardware/display/DisplayManager;->getDefaultBrightnessConfiguration()Landroid/hardware/display/BrightnessConfiguration;
-HPLandroid/hardware/display/DisplayManagerGlobal;->getDefaultBrightnessConfiguration()Landroid/hardware/display/BrightnessConfiguration;
-HPLandroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;->onDisplayTransaction()V
-HPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getDefaultBrightnessConfiguration()Landroid/hardware/display/BrightnessConfiguration;
-HPLandroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;->onDisplayEvent(II)V
-HPLandroid/hardware/fingerprint/FingerprintManager;->getAuthenticatorId()J
-HPLandroid/hardware/fingerprint/FingerprintManager;->resetTimeout([B)V
-HPLandroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->getAuthenticatorId(Ljava/lang/String;)J
-HPLandroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback$Stub$Proxy;->onLockoutReset(JLandroid/os/IRemoteCallback;)V
+HPLandroid/hardware/display/BrightnessConfiguration;->getCorrectionByCategory(I)Landroid/hardware/display/BrightnessCorrection;
+HPLandroid/hardware/display/BrightnessConfiguration;->getCorrectionByPackageName(Ljava/lang/String;)Landroid/hardware/display/BrightnessCorrection;
+HPLandroid/hardware/display/BrightnessCorrection$ScaleAndTranslateLog;->apply(F)F
+HPLandroid/hardware/display/BrightnessCorrection;->apply(F)F
+HPLandroid/hardware/display/ColorDisplayManager$ColorDisplayManagerInternal;->getColorMode()I
+HPLandroid/hardware/display/ColorDisplayManager;->getColorMode()I
+HPLandroid/hardware/display/ColorDisplayManager;->getMaximumColorTemperature(Landroid/content/Context;)I
+HPLandroid/hardware/display/ColorDisplayManager;->getMinimumColorTemperature(Landroid/content/Context;)I
+HPLandroid/hardware/display/DisplayManagerGlobal;->requestColorMode(II)V
+HPLandroid/hardware/display/IColorDisplayManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/hardware/display/IColorDisplayManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->requestColorMode(II)V
+HPLandroid/hardware/display/IDisplayManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/hardware/display/IVirtualDisplayCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HPLandroid/hardware/display/IVirtualDisplayCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/hardware/display/IVirtualDisplayCallback$Stub$Proxy;->onStopped()V
+HPLandroid/hardware/display/NightDisplayListener;-><init>(Landroid/content/Context;)V
+HPLandroid/hardware/display/NightDisplayListener;->setCallback(Landroid/hardware/display/NightDisplayListener$Callback;)V
+HPLandroid/hardware/display/Time$1;-><init>()V
+HPLandroid/hardware/display/Time$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/display/Time;
+HPLandroid/hardware/display/Time$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/display/Time;-><init>(Ljava/time/LocalTime;)V
+HPLandroid/hardware/display/Time;->getLocalTime()Ljava/time/LocalTime;
+HPLandroid/hardware/fingerprint/FingerprintManager$2;->onAcquired(JII)V
+HPLandroid/hardware/fingerprint/FingerprintManager$2;->onEnrollResult(JIII)V
+HPLandroid/hardware/fingerprint/FingerprintManager$2;->onError(JII)V
+HPLandroid/hardware/fingerprint/FingerprintManager$EnrollmentCallback;-><init>()V
+HPLandroid/hardware/fingerprint/FingerprintManager$MyHandler;->handleMessage(Landroid/os/Message;)V
+HPLandroid/hardware/fingerprint/FingerprintManager$OnEnrollCancelListener;->onCancel()V
+HPLandroid/hardware/fingerprint/FingerprintManager;->cancelEnrollment()V
+HPLandroid/hardware/fingerprint/FingerprintManager;->enroll([BLandroid/os/CancellationSignal;IILandroid/hardware/fingerprint/FingerprintManager$EnrollmentCallback;)V
+HPLandroid/hardware/fingerprint/FingerprintManager;->getAcquiredString(Landroid/content/Context;II)Ljava/lang/String;
+HPLandroid/hardware/fingerprint/FingerprintManager;->getErrorString(Landroid/content/Context;II)Ljava/lang/String;
+HPLandroid/hardware/fingerprint/FingerprintManager;->hasEnrolledFingerprints(I)Z
+HPLandroid/hardware/fingerprint/FingerprintManager;->hasEnrolledTemplates(I)Z
+HPLandroid/hardware/fingerprint/FingerprintManager;->preEnroll()J
+HPLandroid/hardware/fingerprint/FingerprintManager;->sendAcquiredResult(JII)V
+HPLandroid/hardware/fingerprint/FingerprintManager;->sendErrorResult(JII)V
+HPLandroid/hardware/fingerprint/FingerprintManager;->setActiveUser(I)V
+HPLandroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->cancelEnrollment(Landroid/os/IBinder;)V
+HPLandroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->enroll(Landroid/os/IBinder;[BILandroid/hardware/fingerprint/IFingerprintServiceReceiver;ILjava/lang/String;)V
+HPLandroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->preEnroll(Landroid/os/IBinder;)J
+HPLandroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->setActiveUser(I)V
+HPLandroid/hardware/fingerprint/IFingerprintService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onAcquired(JII)V
 HPLandroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onAuthenticationFailed(J)V
 HPLandroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onAuthenticationSucceeded(JLandroid/hardware/fingerprint/Fingerprint;I)V
+HPLandroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onError(JII)V
+HPLandroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/hardware/input/IInputDevicesChangedListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/hardware/input/IInputDevicesChangedListener$Stub$Proxy;->onInputDevicesChanged([I)V
 HPLandroid/hardware/input/IInputDevicesChangedListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/hardware/input/IInputManager$Stub$Proxy;->hasKeys(II[I[Z)Z
+HPLandroid/hardware/input/IInputManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/hardware/input/IInputManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/hardware/input/InputManager$InputDeviceListenerDelegate;->handleMessage(Landroid/os/Message;)V
 HPLandroid/hardware/input/InputManager$InputDevicesChangedListener;->onInputDevicesChanged([I)V
 HPLandroid/hardware/input/InputManager;->deviceHasKeys(I[I)[Z
-HPLandroid/hardware/input/InputManager;->deviceHasKeys([I)[Z
 HPLandroid/hardware/input/InputManager;->onInputDevicesChanged([I)V
-HPLandroid/hardware/input/InputManager;->setPointerIconType(I)V
-HPLandroid/hardware/location/ContextHubInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/ContextHubInfo;
-HPLandroid/hardware/location/ContextHubInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/hardware/location/ContextHubInfo;-><init>(Landroid/os/Parcel;)V
-HPLandroid/hardware/location/ContextHubInfo;->getMaxPacketLengthBytes()I
-HPLandroid/hardware/location/ContextHubInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/hardware/location/ContextHubManager$4$1;->run()V
-HPLandroid/hardware/location/ContextHubManager$4;->onMessageReceipt(IILandroid/hardware/location/ContextHubMessage;)V
-HPLandroid/hardware/location/ContextHubManager$Callback;-><init>()V
-HPLandroid/hardware/location/ContextHubManager$Callback;->onMessageReceipt(IILandroid/hardware/location/ContextHubMessage;)V
-HPLandroid/hardware/location/ContextHubManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-HPLandroid/hardware/location/ContextHubManager;->findNanoAppOnHub(ILandroid/hardware/location/NanoAppFilter;)[I
-HPLandroid/hardware/location/ContextHubManager;->getContextHubHandles()[I
-HPLandroid/hardware/location/ContextHubManager;->getContextHubInfo(I)Landroid/hardware/location/ContextHubInfo;
-HPLandroid/hardware/location/ContextHubManager;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
-HPLandroid/hardware/location/ContextHubManager;->registerCallback(Landroid/hardware/location/ContextHubManager$Callback;)I
-HPLandroid/hardware/location/ContextHubManager;->registerCallback(Landroid/hardware/location/ContextHubManager$Callback;Landroid/os/Handler;)I
-HPLandroid/hardware/location/ContextHubManager;->sendMessage(IILandroid/hardware/location/ContextHubMessage;)I
+HPLandroid/hardware/input/InputManager;->registerInputDeviceListener(Landroid/hardware/input/InputManager$InputDeviceListener;Landroid/os/Handler;)V
+HPLandroid/hardware/input/InputManager;->unregisterInputDeviceListener(Landroid/hardware/input/InputManager$InputDeviceListener;)V
+HPLandroid/hardware/location/-$$Lambda$ContextHubTransaction$RNVGnle3xCUm9u68syzn6-2znnU;->run()V
+HPLandroid/hardware/location/ContextHubClient;-><init>(Landroid/hardware/location/ContextHubInfo;Z)V
+HPLandroid/hardware/location/ContextHubClient;->close()V
+HPLandroid/hardware/location/ContextHubClient;->finalize()V
+HPLandroid/hardware/location/ContextHubClient;->getAttachedHub()Landroid/hardware/location/ContextHubInfo;
+HPLandroid/hardware/location/ContextHubManager$2;->onQueryResponse(ILjava/util/List;)V
+HPLandroid/hardware/location/ContextHubManager$4;->lambda$onMessageReceipt$0$ContextHubManager$4(IILandroid/hardware/location/ContextHubMessage;)V
+HPLandroid/hardware/location/ContextHubManager;->createClient(Landroid/hardware/location/ContextHubInfo;Landroid/hardware/location/ContextHubClientCallback;)Landroid/hardware/location/ContextHubClient;
+HPLandroid/hardware/location/ContextHubManager;->createClient(Landroid/hardware/location/ContextHubInfo;Landroid/hardware/location/ContextHubClientCallback;Ljava/util/concurrent/Executor;)Landroid/hardware/location/ContextHubClient;
+HPLandroid/hardware/location/ContextHubManager;->getContextHubs()Ljava/util/List;
+HPLandroid/hardware/location/ContextHubManager;->loadNanoApp(ILandroid/hardware/location/NanoApp;)I
+HPLandroid/hardware/location/ContextHubManager;->queryNanoApps(Landroid/hardware/location/ContextHubInfo;)Landroid/hardware/location/ContextHubTransaction;
+HPLandroid/hardware/location/ContextHubManager;->unloadNanoApp(I)I
+HPLandroid/hardware/location/ContextHubMessage;->getVersion()I
+HPLandroid/hardware/location/ContextHubTransaction$Response;->getContents()Ljava/lang/Object;
+HPLandroid/hardware/location/ContextHubTransaction;->lambda$setResponse$1$ContextHubTransaction()V
+HPLandroid/hardware/location/ContextHubTransaction;->setOnCompleteListener(Landroid/hardware/location/ContextHubTransaction$OnCompleteListener;Ljava/util/concurrent/Executor;)V
+HPLandroid/hardware/location/ContextHubTransaction;->setResponse(Landroid/hardware/location/ContextHubTransaction$Response;)V
 HPLandroid/hardware/location/GeofenceHardware$GeofenceHardwareCallbackWrapper;->onGeofenceAdd(II)V
 HPLandroid/hardware/location/GeofenceHardware$GeofenceHardwareCallbackWrapper;->onGeofenceRemove(II)V
 HPLandroid/hardware/location/GeofenceHardware$GeofenceHardwareCallbackWrapper;->onGeofenceTransition(IILandroid/location/Location;JI)V
 HPLandroid/hardware/location/GeofenceHardware$GeofenceHardwareMonitorCallbackWrapper;->onMonitoringSystemChange(Landroid/hardware/location/GeofenceHardwareMonitorEvent;)V
-HPLandroid/hardware/location/GeofenceHardware;-><init>(Landroid/hardware/location/IGeofenceHardware;)V
 HPLandroid/hardware/location/GeofenceHardware;->addGeofence(IILandroid/hardware/location/GeofenceHardwareRequest;Landroid/hardware/location/GeofenceHardwareCallback;)Z
 HPLandroid/hardware/location/GeofenceHardware;->getCallbackWrapper(Landroid/hardware/location/GeofenceHardwareCallback;)Landroid/hardware/location/GeofenceHardware$GeofenceHardwareCallbackWrapper;
-HPLandroid/hardware/location/GeofenceHardware;->getMonitorCallbackWrapper(Landroid/hardware/location/GeofenceHardwareMonitorCallback;)Landroid/hardware/location/GeofenceHardware$GeofenceHardwareMonitorCallbackWrapper;
-HPLandroid/hardware/location/GeofenceHardware;->getMonitoringTypes()[I
-HPLandroid/hardware/location/GeofenceHardware;->getStatusOfMonitoringType(I)I
-HPLandroid/hardware/location/GeofenceHardware;->registerForMonitorStateChangeCallback(ILandroid/hardware/location/GeofenceHardwareMonitorCallback;)Z
 HPLandroid/hardware/location/GeofenceHardware;->removeCallback(Landroid/hardware/location/GeofenceHardwareCallback;)V
 HPLandroid/hardware/location/GeofenceHardware;->removeGeofence(II)Z
-HPLandroid/hardware/location/GeofenceHardwareCallback;-><init>()V
-HPLandroid/hardware/location/GeofenceHardwareCallback;->onGeofenceAdd(II)V
-HPLandroid/hardware/location/GeofenceHardwareCallback;->onGeofenceRemove(II)V
-HPLandroid/hardware/location/GeofenceHardwareCallback;->onGeofenceTransition(IILandroid/location/Location;JI)V
 HPLandroid/hardware/location/GeofenceHardwareImpl$1;->handleMessage(Landroid/os/Message;)V
 HPLandroid/hardware/location/GeofenceHardwareImpl$2;->handleMessage(Landroid/os/Message;)V
 HPLandroid/hardware/location/GeofenceHardwareImpl$3;->handleMessage(Landroid/os/Message;)V
+HPLandroid/hardware/location/GeofenceHardwareImpl$Reaper;->binderDied()V
 HPLandroid/hardware/location/GeofenceHardwareImpl$Reaper;->equals(Ljava/lang/Object;)Z
-HPLandroid/hardware/location/GeofenceHardwareImpl$Reaper;->unlinkToDeath()Z
 HPLandroid/hardware/location/GeofenceHardwareImpl;->addCircularFence(ILandroid/hardware/location/GeofenceHardwareRequestParcelable;Landroid/hardware/location/IGeofenceHardwareCallback;)Z
 HPLandroid/hardware/location/GeofenceHardwareImpl;->getMonitoringTypes()[I
 HPLandroid/hardware/location/GeofenceHardwareImpl;->getStatusOfMonitoringType(I)I
@@ -2743,8 +2857,6 @@
 HPLandroid/hardware/location/GeofenceHardwareImpl;->reportGeofenceMonitorStatus(IILandroid/location/Location;I)V
 HPLandroid/hardware/location/GeofenceHardwareImpl;->reportGeofenceRemoveStatus(II)V
 HPLandroid/hardware/location/GeofenceHardwareImpl;->reportGeofenceTransition(ILandroid/location/Location;IJII)V
-HPLandroid/hardware/location/GeofenceHardwareMonitorCallback;-><init>()V
-HPLandroid/hardware/location/GeofenceHardwareMonitorCallback;->onMonitoringSystemChange(IZLandroid/location/Location;)V
 HPLandroid/hardware/location/GeofenceHardwareMonitorCallback;->onMonitoringSystemChange(Landroid/hardware/location/GeofenceHardwareMonitorEvent;)V
 HPLandroid/hardware/location/GeofenceHardwareMonitorEvent$1;-><init>()V
 HPLandroid/hardware/location/GeofenceHardwareMonitorEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/GeofenceHardwareMonitorEvent;
@@ -2754,10 +2866,6 @@
 HPLandroid/hardware/location/GeofenceHardwareMonitorEvent;->getMonitoringType()I
 HPLandroid/hardware/location/GeofenceHardwareMonitorEvent;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/hardware/location/GeofenceHardwareRequest;->createCircularGeofence(DDD)Landroid/hardware/location/GeofenceHardwareRequest;
-HPLandroid/hardware/location/GeofenceHardwareRequest;->setLastTransition(I)V
-HPLandroid/hardware/location/GeofenceHardwareRequest;->setMonitorTransitions(I)V
-HPLandroid/hardware/location/GeofenceHardwareRequest;->setNotificationResponsiveness(I)V
-HPLandroid/hardware/location/GeofenceHardwareRequest;->setUnknownTimer(I)V
 HPLandroid/hardware/location/GeofenceHardwareRequestParcelable$1;-><init>()V
 HPLandroid/hardware/location/GeofenceHardwareRequestParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/GeofenceHardwareRequestParcelable;
 HPLandroid/hardware/location/GeofenceHardwareRequestParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -2772,21 +2880,23 @@
 HPLandroid/hardware/location/IActivityRecognitionHardwareClient$Stub;-><init>()V
 HPLandroid/hardware/location/IActivityRecognitionHardwareClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IActivityRecognitionHardwareClient;
 HPLandroid/hardware/location/IActivityRecognitionHardwareClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/hardware/location/IActivityRecognitionHardwareClient;->onAvailabilityChanged(ZLandroid/hardware/location/IActivityRecognitionHardware;)V
-HPLandroid/hardware/location/IContextHubCallback$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/hardware/location/IContextHubCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/hardware/location/IContextHubService$Stub$Proxy;->findNanoAppOnHub(ILandroid/hardware/location/NanoAppFilter;)[I
-HPLandroid/hardware/location/IContextHubService$Stub$Proxy;->getContextHubHandles()[I
-HPLandroid/hardware/location/IContextHubService$Stub$Proxy;->getContextHubInfo(I)Landroid/hardware/location/ContextHubInfo;
-HPLandroid/hardware/location/IContextHubService$Stub$Proxy;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
-HPLandroid/hardware/location/IContextHubService$Stub$Proxy;->registerCallback(Landroid/hardware/location/IContextHubCallback;)I
-HPLandroid/hardware/location/IContextHubService$Stub$Proxy;->sendMessage(IILandroid/hardware/location/ContextHubMessage;)I
+HPLandroid/hardware/location/IContextHubClient$Stub$Proxy;->close()V
+HPLandroid/hardware/location/IContextHubClient$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->onNanoAppLoaded(J)V
+HPLandroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->onNanoAppUnloaded(J)V
+HPLandroid/hardware/location/IContextHubService$Stub$Proxy;->createClient(ILandroid/hardware/location/IContextHubClientCallback;)Landroid/hardware/location/IContextHubClient;
+HPLandroid/hardware/location/IContextHubService$Stub$Proxy;->getContextHubs()Ljava/util/List;
+HPLandroid/hardware/location/IContextHubService$Stub$Proxy;->loadNanoApp(ILandroid/hardware/location/NanoApp;)I
+HPLandroid/hardware/location/IContextHubService$Stub$Proxy;->queryNanoApps(ILandroid/hardware/location/IContextHubTransactionCallback;)V
+HPLandroid/hardware/location/IContextHubService$Stub$Proxy;->unloadNanoApp(I)I
+HPLandroid/hardware/location/IContextHubService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/hardware/location/IContextHubTransactionCallback$Stub$Proxy;->onQueryResponse(ILjava/util/List;)V
+HPLandroid/hardware/location/IContextHubTransactionCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/hardware/location/IContextHubTransactionCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/hardware/location/IGeofenceHardware$Stub$Proxy;->addCircularFence(ILandroid/hardware/location/GeofenceHardwareRequestParcelable;Landroid/hardware/location/IGeofenceHardwareCallback;)Z
-HPLandroid/hardware/location/IGeofenceHardware$Stub$Proxy;->getMonitoringTypes()[I
-HPLandroid/hardware/location/IGeofenceHardware$Stub$Proxy;->getStatusOfMonitoringType(I)I
-HPLandroid/hardware/location/IGeofenceHardware$Stub$Proxy;->registerForMonitorStateChangeCallback(ILandroid/hardware/location/IGeofenceHardwareMonitorCallback;)Z
 HPLandroid/hardware/location/IGeofenceHardware$Stub$Proxy;->removeGeofence(II)Z
 HPLandroid/hardware/location/IGeofenceHardware$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/hardware/location/IGeofenceHardware$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/hardware/location/IGeofenceHardware$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;->onGeofenceAdd(II)V
@@ -2794,50 +2904,47 @@
 HPLandroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;->onGeofenceTransition(IILandroid/location/Location;JI)V
 HPLandroid/hardware/location/IGeofenceHardwareCallback$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/hardware/location/IGeofenceHardwareCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/hardware/location/IGeofenceHardwareCallback;->onGeofenceAdd(II)V
-HPLandroid/hardware/location/IGeofenceHardwareCallback;->onGeofencePause(II)V
-HPLandroid/hardware/location/IGeofenceHardwareCallback;->onGeofenceRemove(II)V
-HPLandroid/hardware/location/IGeofenceHardwareCallback;->onGeofenceResume(II)V
-HPLandroid/hardware/location/IGeofenceHardwareCallback;->onGeofenceTransition(IILandroid/location/Location;JI)V
 HPLandroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub$Proxy;->onMonitoringSystemChange(Landroid/hardware/location/GeofenceHardwareMonitorEvent;)V
-HPLandroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/hardware/location/IGeofenceHardwareMonitorCallback;->onMonitoringSystemChange(Landroid/hardware/location/GeofenceHardwareMonitorEvent;)V
-HPLandroid/hardware/location/MemoryRegion$1;-><init>()V
-HPLandroid/hardware/location/MemoryRegion$1;->newArray(I)[Landroid/hardware/location/MemoryRegion;
-HPLandroid/hardware/location/MemoryRegion$1;->newArray(I)[Ljava/lang/Object;
 HPLandroid/hardware/location/NanoApp$1;-><init>()V
 HPLandroid/hardware/location/NanoApp$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoApp;
 HPLandroid/hardware/location/NanoApp$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/location/NanoApp;-><init>(J[B)V
 HPLandroid/hardware/location/NanoApp;-><init>(Landroid/os/Parcel;)V
 HPLandroid/hardware/location/NanoApp;->getAppBinary()[B
+HPLandroid/hardware/location/NanoApp;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/hardware/location/NanoAppBinary$1;-><init>()V
 HPLandroid/hardware/location/NanoAppBinary;-><init>([B)V
 HPLandroid/hardware/location/NanoAppBinary;->getBinaryNoHeader()[B
 HPLandroid/hardware/location/NanoAppBinary;->parseBinaryHeader()V
-HPLandroid/hardware/location/NanoAppFilter;-><init>(JIIJ)V
-HPLandroid/hardware/location/NanoAppFilter;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/hardware/location/NanoAppInstanceInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppInstanceInfo;
-HPLandroid/hardware/location/NanoAppInstanceInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/hardware/location/NanoAppInstanceInfo;-><init>(Landroid/os/Parcel;)V
+HPLandroid/hardware/location/NanoAppFilter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppFilter;
+HPLandroid/hardware/location/NanoAppFilter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/location/NanoAppFilter;->testMatch(Landroid/hardware/location/NanoAppInstanceInfo;)Z
+HPLandroid/hardware/location/NanoAppInstanceInfo;->getName()Ljava/lang/String;
 HPLandroid/hardware/location/NanoAppInstanceInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/hardware/location/NanoAppMessage;->createMessageToNanoApp(JI[B)Landroid/hardware/location/NanoAppMessage;
+HPLandroid/hardware/location/NanoAppState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppState;
+HPLandroid/hardware/location/NanoAppState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/location/NanoAppState;->getNanoAppId()J
+HPLandroid/hardware/location/NanoAppState;->getNanoAppVersion()J
+HPLandroid/hardware/location/NanoAppState;->isEnabled()Z
+HPLandroid/hardware/location/NanoAppState;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/hardware/radio/V1_0/CarrierRestrictions;-><init>()V
+HPLandroid/hardware/radio/V1_0/CarrierRestrictions;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HPLandroid/hardware/radio/V1_0/CarrierRestrictions;->readFromParcel(Landroid/os/HwParcel;)V
 HPLandroid/hardware/radio/V1_0/CellIdentityGsm;->toString()Ljava/lang/String;
 HPLandroid/hardware/radio/V1_0/CellIdentityWcdma;->toString()Ljava/lang/String;
-HPLandroid/hardware/radio/V1_0/GsmSmsMessage;-><init>()V
-HPLandroid/hardware/radio/V1_0/IRadio$Proxy;->acknowledgeLastIncomingGsmSms(IZI)V
-HPLandroid/hardware/radio/V1_0/IRadio$Proxy;->deactivateDataCall(IIZ)V
-HPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getDataCallList(I)V
-HPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getNeighboringCids(I)V
-HPLandroid/hardware/radio/V1_0/IRadio$Proxy;->sendImsSms(ILandroid/hardware/radio/V1_0/ImsSmsMessage;)V
-HPLandroid/hardware/radio/V1_0/ImsSmsMessage;-><init>()V
-HPLandroid/hardware/radio/V1_0/ImsSmsMessage;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)V
-HPLandroid/hardware/radio/V1_0/NeighboringCell;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HPLandroid/hardware/radio/V1_0/NeighboringCell;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
-HPLandroid/hardware/radio/V1_0/SendSmsResult;-><init>()V
-HPLandroid/hardware/radio/V1_0/SendSmsResult;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HPLandroid/hardware/radio/V1_0/SendSmsResult;->readFromParcel(Landroid/os/HwParcel;)V
+HPLandroid/hardware/radio/V1_2/CellIdentityGsm;->toString()Ljava/lang/String;
+HPLandroid/hardware/radio/V1_2/CellIdentityWcdma;->toString()Ljava/lang/String;
+HPLandroid/hardware/radio/V1_3/IRadio$Proxy;->acknowledgeLastIncomingGsmSms(IZI)V
+HPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getAllowedCarriers(I)V
+HPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getDataCallList(I)V
+HPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getPreferredNetworkType(I)V
+HPLandroid/hardware/radio/V1_3/IRadio$Proxy;->requestIccSimAuthentication(IILjava/lang/String;Ljava/lang/String;)V
+HPLandroid/hardware/radio/V1_4/CarrierRestrictionsWithPriority;-><init>()V
 HPLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->onError(I)V
 HPLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->onKeyphraseDetected(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;)V
 HPLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->onRecognitionPaused()V
 HPLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub$Proxy;->onRecognitionResumed()V
@@ -2845,17 +2952,12 @@
 HPLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel$1;->newArray(I)[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;
 HPLandroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel$1;->newArray(I)[Ljava/lang/Object;
-HPLandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;
-HPLandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;-><init>(Ljava/util/UUID;Ljava/util/UUID;[B)V
-HPLandroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/hardware/soundtrigger/SoundTrigger$Keyphrase$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;
-HPLandroid/hardware/soundtrigger/SoundTrigger$Keyphrase$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/hardware/soundtrigger/SoundTrigger$Keyphrase$1;->newArray(I)[Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;
-HPLandroid/hardware/soundtrigger/SoundTrigger$Keyphrase$1;->newArray(I)[Ljava/lang/Object;
+HPLandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B)V
+HPLandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;->toString()Ljava/lang/String;
+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;
 HPLandroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->equals(Ljava/lang/Object;)Z
-HPLandroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;
-HPLandroid/hardware/soundtrigger/SoundTrigger$Keyphrase;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;
 HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;)V
@@ -2866,234 +2968,315 @@
 HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->newArray(I)[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;
 HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra$1;->newArray(I)[Ljava/lang/Object;
 HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;-><init>(III[Landroid/hardware/soundtrigger/SoundTrigger$ConfidenceLevel;)V
-HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;
-HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;-><init>(Ljava/util/UUID;Ljava/util/UUID;[B[Landroid/hardware/soundtrigger/SoundTrigger$Keyphrase;)V
 HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;->equals(Ljava/lang/Object;)Z
-HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;
-HPLandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;->writeToParcel(Landroid/os/Parcel;I)V
 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;-><init>(ZZ[Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionExtra;[B)V
 HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;
 HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;-><init>(IIZIIIZLandroid/media/AudioFormat;[B)V
-HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->fromParcel(Landroid/os/Parcel;)Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;
-HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->getCaptureFormat()Landroid/media/AudioFormat;
-HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->getCaptureSession()I
-HPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;->getData()[B
+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
 HPLandroid/hardware/soundtrigger/SoundTrigger;->attachModule(ILandroid/hardware/soundtrigger/SoundTrigger$StatusListener;Landroid/os/Handler;)Landroid/hardware/soundtrigger/SoundTriggerModule;
 HPLandroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate$1;->handleMessage(Landroid/os/Message;)V
 HPLandroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate;->handler()Landroid/os/Handler;
 HPLandroid/hardware/soundtrigger/SoundTriggerModule;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
+HPLandroid/hardware/thermal/V2_0/IThermalChangedCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+HPLandroid/hardware/usb/AccessoryFilter;-><init>(Landroid/hardware/usb/UsbAccessory;)V
+HPLandroid/hardware/usb/AccessoryFilter;->hashCode()I
+HPLandroid/hardware/usb/AccessoryFilter;->matches(Landroid/hardware/usb/UsbAccessory;)Z
+HPLandroid/hardware/usb/AccessoryFilter;->read(Lorg/xmlpull/v1/XmlPullParser;)Landroid/hardware/usb/AccessoryFilter;
+HPLandroid/hardware/usb/DeviceFilter;-><init>(Landroid/hardware/usb/UsbDevice;)V
 HPLandroid/hardware/usb/DeviceFilter;->hashCode()I
+HPLandroid/hardware/usb/DeviceFilter;->matches(Landroid/hardware/usb/UsbDevice;)Z
 HPLandroid/hardware/usb/DeviceFilter;->read(Lorg/xmlpull/v1/XmlPullParser;)Landroid/hardware/usb/DeviceFilter;
-HPLandroid/hardware/usb/IUsbManager$Stub$Proxy;->getPortStatus(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus;
-HPLandroid/hardware/usb/IUsbManager$Stub$Proxy;->getPorts()[Landroid/hardware/usb/UsbPort;
-HPLandroid/hardware/usb/IUsbManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/usb/IUsbManager;
+HPLandroid/hardware/usb/IUsbManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/hardware/usb/IUsbManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/hardware/usb/UsbAccessory$1;-><init>()V
-HPLandroid/hardware/usb/UsbAccessory$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/usb/UsbAccessory;
-HPLandroid/hardware/usb/UsbAccessory$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/usb/IUsbSerialReader$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/hardware/usb/IUsbSerialReader$Stub$Proxy;->getSerial(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/hardware/usb/IUsbSerialReader$Stub;-><init>()V
+HPLandroid/hardware/usb/IUsbSerialReader$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/hardware/usb/IUsbSerialReader$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/hardware/usb/IUsbSerialReader$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/hardware/usb/ParcelableUsbPort;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/hardware/usb/UsbAccessory$2;-><init>()V
+HPLandroid/hardware/usb/UsbAccessory$2;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/usb/UsbAccessory;
+HPLandroid/hardware/usb/UsbAccessory$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/usb/UsbAccessory;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/hardware/usb/IUsbSerialReader;)V
+HPLandroid/hardware/usb/UsbAccessory;->describeContents()I
+HPLandroid/hardware/usb/UsbAccessory;->equals(Ljava/lang/Object;)Z
+HPLandroid/hardware/usb/UsbAccessory;->getDescription()Ljava/lang/String;
+HPLandroid/hardware/usb/UsbAccessory;->getManufacturer()Ljava/lang/String;
+HPLandroid/hardware/usb/UsbAccessory;->getModel()Ljava/lang/String;
+HPLandroid/hardware/usb/UsbAccessory;->getSerial()Ljava/lang/String;
+HPLandroid/hardware/usb/UsbAccessory;->getUri()Ljava/lang/String;
+HPLandroid/hardware/usb/UsbAccessory;->getVersion()Ljava/lang/String;
+HPLandroid/hardware/usb/UsbAccessory;->hashCode()I
 HPLandroid/hardware/usb/UsbAccessory;->toString()Ljava/lang/String;
-HPLandroid/hardware/usb/UsbManager;->getPortStatus(Landroid/hardware/usb/UsbPort;)Landroid/hardware/usb/UsbPortStatus;
-HPLandroid/hardware/usb/UsbManager;->getPorts()[Landroid/hardware/usb/UsbPort;
-HPLandroid/hardware/usb/UsbPort$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/usb/UsbPort;
-HPLandroid/hardware/usb/UsbPort$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/hardware/usb/UsbPort$1;->newArray(I)[Landroid/hardware/usb/UsbPort;
-HPLandroid/hardware/usb/UsbPort$1;->newArray(I)[Ljava/lang/Object;
-HPLandroid/hardware/usb/UsbPort;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/hardware/usb/UsbPortStatus$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/usb/UsbPortStatus;
-HPLandroid/hardware/usb/UsbPortStatus$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/usb/UsbAccessory;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/hardware/usb/UsbConfiguration$1;-><init>()V
+HPLandroid/hardware/usb/UsbConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/usb/UsbConfiguration;
+HPLandroid/hardware/usb/UsbConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/usb/UsbConfiguration;->getInterface(I)Landroid/hardware/usb/UsbInterface;
+HPLandroid/hardware/usb/UsbConfiguration;->getInterfaceCount()I
+HPLandroid/hardware/usb/UsbConfiguration;->setInterfaces([Landroid/os/Parcelable;)V
+HPLandroid/hardware/usb/UsbConfiguration;->toString()Ljava/lang/String;
+HPLandroid/hardware/usb/UsbConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/hardware/usb/UsbDevice$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/usb/UsbDevice;
+HPLandroid/hardware/usb/UsbDevice$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/usb/UsbDevice$Builder;-><init>(Ljava/lang/String;IIIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Landroid/hardware/usb/UsbConfiguration;Ljava/lang/String;)V
+HPLandroid/hardware/usb/UsbDevice$Builder;->build(Landroid/hardware/usb/IUsbSerialReader;)Landroid/hardware/usb/UsbDevice;
+HPLandroid/hardware/usb/UsbDevice;-><init>(Ljava/lang/String;IIIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Landroid/hardware/usb/UsbConfiguration;Landroid/hardware/usb/IUsbSerialReader;)V
+HPLandroid/hardware/usb/UsbDevice;->describeContents()I
+HPLandroid/hardware/usb/UsbDevice;->getConfiguration(I)Landroid/hardware/usb/UsbConfiguration;
+HPLandroid/hardware/usb/UsbDevice;->getConfigurationCount()I
+HPLandroid/hardware/usb/UsbDevice;->getDeviceClass()I
+HPLandroid/hardware/usb/UsbDevice;->getDeviceId()I
+HPLandroid/hardware/usb/UsbDevice;->getDeviceName()Ljava/lang/String;
+HPLandroid/hardware/usb/UsbDevice;->getDeviceProtocol()I
+HPLandroid/hardware/usb/UsbDevice;->getDeviceSubclass()I
+HPLandroid/hardware/usb/UsbDevice;->getInterface(I)Landroid/hardware/usb/UsbInterface;
+HPLandroid/hardware/usb/UsbDevice;->getInterfaceCount()I
+HPLandroid/hardware/usb/UsbDevice;->getInterfaceList()[Landroid/hardware/usb/UsbInterface;
+HPLandroid/hardware/usb/UsbDevice;->getManufacturerName()Ljava/lang/String;
+HPLandroid/hardware/usb/UsbDevice;->getProductId()I
+HPLandroid/hardware/usb/UsbDevice;->getProductName()Ljava/lang/String;
+HPLandroid/hardware/usb/UsbDevice;->getSerialNumber()Ljava/lang/String;
+HPLandroid/hardware/usb/UsbDevice;->getVendorId()I
+HPLandroid/hardware/usb/UsbDevice;->getVersion()Ljava/lang/String;
+HPLandroid/hardware/usb/UsbDevice;->toString()Ljava/lang/String;
+HPLandroid/hardware/usb/UsbDevice;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/hardware/usb/UsbEndpoint$1;-><init>()V
+HPLandroid/hardware/usb/UsbEndpoint$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/usb/UsbEndpoint;
+HPLandroid/hardware/usb/UsbEndpoint$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/usb/UsbEndpoint;->toString()Ljava/lang/String;
+HPLandroid/hardware/usb/UsbEndpoint;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/hardware/usb/UsbInterface$1;-><init>()V
+HPLandroid/hardware/usb/UsbInterface$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/usb/UsbInterface;
+HPLandroid/hardware/usb/UsbInterface$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/hardware/usb/UsbInterface;->getInterfaceClass()I
+HPLandroid/hardware/usb/UsbInterface;->getInterfaceProtocol()I
+HPLandroid/hardware/usb/UsbInterface;->getInterfaceSubclass()I
+HPLandroid/hardware/usb/UsbInterface;->setEndpoints([Landroid/os/Parcelable;)V
+HPLandroid/hardware/usb/UsbInterface;->toString()Ljava/lang/String;
+HPLandroid/hardware/usb/UsbInterface;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/hardware/usb/UsbManager;->usbFunctionsToString(J)Ljava/lang/String;
+HPLandroid/hardware/usb/UsbPortStatus;->getCurrentDataRole()I
+HPLandroid/hardware/usb/UsbPortStatus;->getCurrentPowerRole()I
 HPLandroid/hardware/usb/UsbPortStatus;->isConnected()Z
+HPLandroid/hardware/usb/UsbPortStatus;->isRoleCombinationSupported(II)Z
 HPLandroid/hardware/usb/UsbPortStatus;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/hardware/usb/gadget/V1_0/IUsbGadget$Proxy;->setCurrentUsbFunctions(JLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;J)V
+HPLandroid/icu/impl/CacheValue$SoftValue;->resetIfCleared(Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/icu/impl/CaseMapImpl;->getTitleBreakIterator(Ljava/util/Locale;ILandroid/icu/text/BreakIterator;)Landroid/icu/text/BreakIterator;
 HPLandroid/icu/impl/CharacterIteration;->previous32(Ljava/text/CharacterIterator;)I
+HPLandroid/icu/impl/ICUResourceBundle;->countPathKeys(Ljava/lang/String;)I
+HPLandroid/icu/impl/ICUResourceBundle;->getResDepth()I
 HPLandroid/icu/impl/Norm2AllModes$1;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HPLandroid/icu/impl/Norm2AllModes$1;->createInstance(Ljava/lang/String;Ljava/nio/ByteBuffer;)Landroid/icu/impl/Norm2AllModes;
 HPLandroid/icu/impl/Norm2AllModes;->getInstance(Ljava/nio/ByteBuffer;Ljava/lang/String;)Landroid/icu/impl/Norm2AllModes;
-HPLandroid/icu/impl/SimpleFormatterImpl;->formatAndAppend(Ljava/lang/String;Ljava/lang/StringBuilder;[I[Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
+HPLandroid/icu/impl/PatternProps;->isSyntaxOrWhiteSpace(I)Z
+HPLandroid/icu/impl/UCharacterProperty$BinaryProperty;->contains(I)Z
 HPLandroid/icu/impl/UCharacterProperty$IntProperty;->getValue(I)I
+HPLandroid/icu/impl/UCharacterProperty;->getType(I)I
 HPLandroid/icu/impl/UTS46;->U_MASK(I)I
 HPLandroid/icu/impl/UTS46;->labelToASCII(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;Landroid/icu/text/IDNA$Info;)Ljava/lang/StringBuilder;
 HPLandroid/icu/impl/UTS46;->nameToUnicode(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;Landroid/icu/text/IDNA$Info;)Ljava/lang/StringBuilder;
 HPLandroid/icu/impl/UTS46;->process(Ljava/lang/CharSequence;ZZLjava/lang/StringBuilder;Landroid/icu/text/IDNA$Info;)Ljava/lang/StringBuilder;
+HPLandroid/icu/impl/coll/Collation;->ceFromCE32(I)J
 HPLandroid/icu/impl/coll/Collation;->incThreeBytePrimaryByOffset(JZI)J
-HPLandroid/icu/impl/coll/Collation;->unassignedPrimaryFromCodePoint(I)J
-HPLandroid/icu/impl/coll/CollationIterator;->clearCEsIfNoneRemaining()V
-HPLandroid/icu/impl/coll/CollationIterator;->forbidSurrogateCodePoints()Z
-HPLandroid/icu/impl/coll/CollationKeys$LevelCallback;-><init>()V
-HPLandroid/icu/impl/coll/CollationKeys$SortKeyByteSink;->Append(I)V
-HPLandroid/icu/impl/coll/CollationKeys$SortKeyByteSink;->Append([BI)V
-HPLandroid/icu/impl/coll/CollationKeys$SortKeyByteSink;->AppendBeyondCapacity([BIII)V
-HPLandroid/icu/impl/coll/CollationKeys$SortKeyByteSink;->Resize(II)Z
-HPLandroid/icu/impl/coll/CollationKeys;->getSortKeyLevel(II)Landroid/icu/impl/coll/CollationKeys$SortKeyLevel;
-HPLandroid/icu/impl/coll/CollationKeys;->writeSortKeyUpToQuaternary(Landroid/icu/impl/coll/CollationIterator;[ZLandroid/icu/impl/coll/CollationSettings;Landroid/icu/impl/coll/CollationKeys$SortKeyByteSink;ILandroid/icu/impl/coll/CollationKeys$LevelCallback;Z)V
-HPLandroid/icu/impl/coll/CollationSettings;->getTertiaryMask(I)I
+HPLandroid/icu/impl/coll/CollationCompare;->compareUpToQuaternary(Landroid/icu/impl/coll/CollationIterator;Landroid/icu/impl/coll/CollationIterator;Landroid/icu/impl/coll/CollationSettings;)I
+HPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->ensureAppendCapacity(I)V
+HPLandroid/icu/impl/coll/CollationIterator;->appendCEsFromCE32(Landroid/icu/impl/coll/CollationData;IIZ)V
 HPLandroid/icu/impl/coll/FCDUTF16CollationIterator;->handleNextCE32()J
-HPLandroid/icu/impl/coll/UTF16CollationIterator;->handleGetTrailSurrogate()C
+HPLandroid/icu/impl/locale/AsciiUtil$CaseInsensitiveKey;-><init>(Ljava/lang/String;)V
+HPLandroid/icu/impl/locale/AsciiUtil$CaseInsensitiveKey;->hashCode()I
+HPLandroid/icu/impl/locale/InternalLocaleBuilder$CaseInsensitiveChar;-><init>(C)V
+HPLandroid/icu/impl/locale/InternalLocaleBuilder;->getBaseLocale()Landroid/icu/impl/locale/BaseLocale;
+HPLandroid/icu/impl/locale/InternalLocaleBuilder;->getLocaleExtensions()Landroid/icu/impl/locale/LocaleExtensions;
+HPLandroid/icu/impl/locale/InternalLocaleBuilder;->setExtensions(Ljava/util/List;Ljava/lang/String;)Landroid/icu/impl/locale/InternalLocaleBuilder;
+HPLandroid/icu/impl/locale/InternalLocaleBuilder;->setLanguageTag(Landroid/icu/impl/locale/LanguageTag;)Landroid/icu/impl/locale/InternalLocaleBuilder;
+HPLandroid/icu/impl/locale/LanguageTag;->getExtensions()Ljava/util/List;
+HPLandroid/icu/impl/locale/LanguageTag;->getExtlangs()Ljava/util/List;
+HPLandroid/icu/impl/locale/LanguageTag;->getLanguage()Ljava/lang/String;
+HPLandroid/icu/impl/locale/LanguageTag;->getPrivateuse()Ljava/lang/String;
+HPLandroid/icu/impl/locale/LanguageTag;->getRegion()Ljava/lang/String;
+HPLandroid/icu/impl/locale/LanguageTag;->getScript()Ljava/lang/String;
+HPLandroid/icu/impl/locale/LanguageTag;->getVariants()Ljava/util/List;
+HPLandroid/icu/impl/locale/LanguageTag;->parse(Ljava/lang/String;Landroid/icu/impl/locale/ParseStatus;)Landroid/icu/impl/locale/LanguageTag;
+HPLandroid/icu/impl/locale/LanguageTag;->parseExtensions(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
+HPLandroid/icu/impl/locale/LanguageTag;->parseExtlangs(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
+HPLandroid/icu/impl/locale/LanguageTag;->parseLanguage(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
+HPLandroid/icu/impl/locale/LanguageTag;->parseLocale(Landroid/icu/impl/locale/BaseLocale;Landroid/icu/impl/locale/LocaleExtensions;)Landroid/icu/impl/locale/LanguageTag;
+HPLandroid/icu/impl/locale/LanguageTag;->parsePrivateuse(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
+HPLandroid/icu/impl/locale/LanguageTag;->parseRegion(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
+HPLandroid/icu/impl/locale/LanguageTag;->parseScript(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
+HPLandroid/icu/impl/locale/LanguageTag;->parseVariants(Landroid/icu/impl/locale/StringTokenIterator;Landroid/icu/impl/locale/ParseStatus;)Z
+HPLandroid/icu/impl/locale/LocaleExtensions;-><init>()V
+HPLandroid/icu/impl/locale/LocaleExtensions;->getKeys()Ljava/util/Set;
+HPLandroid/icu/impl/locale/ParseStatus;->isError()Z
+HPLandroid/icu/impl/locale/StringTokenIterator;->current()Ljava/lang/String;
+HPLandroid/icu/impl/locale/StringTokenIterator;->currentEnd()I
+HPLandroid/icu/impl/locale/StringTokenIterator;->hasNext()Z
+HPLandroid/icu/impl/locale/StringTokenIterator;->isDone()Z
+HPLandroid/icu/impl/locale/StringTokenIterator;->next()Ljava/lang/String;
+HPLandroid/icu/impl/locale/StringTokenIterator;->nextDelimiter(I)I
+HPLandroid/icu/impl/locale/StringTokenIterator;->setStart(I)Landroid/icu/impl/locale/StringTokenIterator;
+HPLandroid/icu/impl/locale/UnicodeLocaleExtension;-><init>()V
+HPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->copyFrom(Landroid/icu/impl/number/DecimalQuantity;)V
+HPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getStandardPlural(Landroid/icu/text/PluralRules;)Landroid/icu/impl/StandardPlural;
+HPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->toLong(Z)J
+HPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;-><init>(Ljava/lang/Number;)V
+HPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;->copyBcdFrom(Landroid/icu/impl/number/DecimalQuantity;)V
+HPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;->createCopy()Landroid/icu/impl/number/DecimalQuantity;
+HPLandroid/icu/impl/number/LongNameHandler$PluralTableSink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
+HPLandroid/icu/impl/number/LongNameHandler;->forMeasureUnit(Landroid/icu/util/ULocale;Landroid/icu/util/MeasureUnit;Landroid/icu/util/MeasureUnit;Landroid/icu/number/NumberFormatter$UnitWidth;Landroid/icu/text/PluralRules;Landroid/icu/impl/number/MicroPropsGenerator;)Landroid/icu/impl/number/LongNameHandler;
+HPLandroid/icu/impl/number/LongNameHandler;->getMeasureData(Landroid/icu/util/ULocale;Landroid/icu/util/MeasureUnit;Landroid/icu/number/NumberFormatter$UnitWidth;[Ljava/lang/String;)V
+HPLandroid/icu/impl/number/LongNameHandler;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;
+HPLandroid/icu/impl/number/LongNameHandler;->simpleFormatsToModifiers([Ljava/lang/String;Landroid/icu/text/NumberFormat$Field;)V
+HPLandroid/icu/impl/number/NumberStringBuilder;->insert(ILjava/lang/CharSequence;IILandroid/icu/text/NumberFormat$Field;)I
+HPLandroid/icu/impl/number/NumberStringBuilder;->toString()Ljava/lang/String;
+HPLandroid/icu/impl/number/SimpleModifier;-><init>(Ljava/lang/String;Landroid/icu/text/NumberFormat$Field;ZLandroid/icu/impl/number/Modifier$Parameters;)V
+HPLandroid/icu/impl/number/SimpleModifier;->apply(Landroid/icu/impl/number/NumberStringBuilder;II)I
+HPLandroid/icu/impl/number/SimpleModifier;->formatAsPrefixSuffix(Landroid/icu/impl/number/NumberStringBuilder;IILandroid/icu/text/NumberFormat$Field;)I
 HPLandroid/icu/lang/UCharacter;->getIntPropertyValue(II)I
-HPLandroid/icu/text/Bidi;-><init>([CI[BIII)V
-HPLandroid/icu/text/Bidi;->adjustWSLevels()V
-HPLandroid/icu/text/Bidi;->baseIsLeftToRight()Z
-HPLandroid/icu/text/Bidi;->bracketInit(Landroid/icu/text/Bidi$BracketData;)V
-HPLandroid/icu/text/Bidi;->bracketProcessChar(Landroid/icu/text/Bidi$BracketData;I)V
-HPLandroid/icu/text/Bidi;->processPropertySeq(Landroid/icu/text/Bidi$LevState;SII)V
-HPLandroid/icu/text/Bidi;->resolveImplicitLevels(IISS)V
+HPLandroid/icu/lang/UCharacter;->hasBinaryProperty(II)Z
+HPLandroid/icu/lang/UCharacter;->toTitleCase(Ljava/util/Locale;Ljava/lang/String;Landroid/icu/text/BreakIterator;I)Ljava/lang/String;
+HPLandroid/icu/number/FormattedNumber;->populateFieldPosition(Ljava/text/FieldPosition;)V
+HPLandroid/icu/number/FormattedNumber;->toString()Ljava/lang/String;
+HPLandroid/icu/number/LocalizedNumberFormatter;->create(ILjava/lang/Object;)Landroid/icu/number/LocalizedNumberFormatter;
+HPLandroid/icu/number/LocalizedNumberFormatter;->create(ILjava/lang/Object;)Landroid/icu/number/NumberFormatterSettings;
+HPLandroid/icu/number/LocalizedNumberFormatter;->format(Ljava/lang/Number;)Landroid/icu/number/FormattedNumber;
+HPLandroid/icu/number/NumberFormatterSettings;->perUnit(Landroid/icu/util/MeasureUnit;)Landroid/icu/number/NumberFormatterSettings;
+HPLandroid/icu/number/NumberFormatterSettings;->precision(Landroid/icu/number/Precision;)Landroid/icu/number/NumberFormatterSettings;
+HPLandroid/icu/number/NumberFormatterSettings;->rounding(Landroid/icu/number/Precision;)Landroid/icu/number/NumberFormatterSettings;
+HPLandroid/icu/number/NumberFormatterSettings;->unit(Landroid/icu/util/MeasureUnit;)Landroid/icu/number/NumberFormatterSettings;
+HPLandroid/icu/number/NumberFormatterSettings;->unitWidth(Landroid/icu/number/NumberFormatter$UnitWidth;)Landroid/icu/number/NumberFormatterSettings;
+HPLandroid/icu/number/Precision;->clone()Ljava/lang/Object;
+HPLandroid/icu/number/Precision;->withMode(Ljava/math/RoundingMode;)Landroid/icu/number/Precision;
 HPLandroid/icu/text/BreakIterator;->getCharacterInstance(Ljava/util/Locale;)Landroid/icu/text/BreakIterator;
-HPLandroid/icu/text/DateFormat;->getInstanceForSkeleton(Landroid/icu/util/Calendar;Ljava/lang/String;Ljava/util/Locale;)Landroid/icu/text/DateFormat;
-HPLandroid/icu/text/DateIntervalFormat;->adjustFieldWidth(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-HPLandroid/icu/text/DateIntervalFormat;->adjustPosition(Ljava/lang/String;Ljava/lang/String;Ljava/text/FieldPosition;Ljava/lang/String;Ljava/text/FieldPosition;Ljava/text/FieldPosition;)V
-HPLandroid/icu/text/DateIntervalFormat;->fallbackFormat(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;ZLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-HPLandroid/icu/text/DateIntervalInfo;->getFallbackIntervalPattern()Ljava/lang/String;
-HPLandroid/icu/text/DecimalFormat_ICU58_Android;->format(Ljava/math/BigDecimal;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-HPLandroid/icu/text/DecimalFormat_ICU58_Android;->format(Ljava/math/BigDecimal;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;Z)Ljava/lang/StringBuffer;
-HPLandroid/icu/text/DecimalFormat_ICU58_Android;->setNegativePrefix(Ljava/lang/String;)V
-HPLandroid/icu/text/DecimalFormat_ICU58_Android;->setNegativeSuffix(Ljava/lang/String;)V
-HPLandroid/icu/text/DictionaryBreakEngine$DequeI;->isEmpty()Z
-HPLandroid/icu/text/DictionaryBreakEngine$DequeI;->pop()I
-HPLandroid/icu/text/DictionaryBreakEngine$DequeI;->push(I)V
-HPLandroid/icu/text/DictionaryBreakEngine$DequeI;->size()I
-HPLandroid/icu/text/Edits$Iterator;->findIndex(IZ)I
-HPLandroid/icu/text/Edits$Iterator;->findSourceIndex(I)Z
+HPLandroid/icu/text/BreakIterator;->getSentenceInstance()Landroid/icu/text/BreakIterator;
+HPLandroid/icu/text/DecimalFormat;->toNumberFormatter()Landroid/icu/number/LocalizedNumberFormatter;
 HPLandroid/icu/text/Edits;->getFineIterator()Landroid/icu/text/Edits$Iterator;
 HPLandroid/icu/text/IDNA$Error;-><init>(Ljava/lang/String;I)V
 HPLandroid/icu/text/IDNA$Error;->values()[Landroid/icu/text/IDNA$Error;
 HPLandroid/icu/text/IDNA$Info;-><init>()V
 HPLandroid/icu/text/IDNA$Info;->hasErrors()Z
 HPLandroid/icu/text/IDNA;->getUTS46Instance(I)Landroid/icu/text/IDNA;
-HPLandroid/icu/text/IDNA;->labelToASCII(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;Landroid/icu/text/IDNA$Info;)Ljava/lang/StringBuilder;
-HPLandroid/icu/text/IDNA;->labelToUnicode(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;Landroid/icu/text/IDNA$Info;)Ljava/lang/StringBuilder;
-HPLandroid/icu/text/IDNA;->nameToASCII(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;Landroid/icu/text/IDNA$Info;)Ljava/lang/StringBuilder;
-HPLandroid/icu/text/IDNA;->nameToUnicode(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;Landroid/icu/text/IDNA$Info;)Ljava/lang/StringBuilder;
+HPLandroid/icu/text/ListFormatter$FormattedListBuilder;->appendTo(Ljava/lang/Appendable;)V
+HPLandroid/icu/text/MeasureFormat$FormatWidth;-><init>(Ljava/lang/String;ILandroid/icu/text/ListFormatter$Style;Landroid/icu/number/NumberFormatter$UnitWidth;Landroid/icu/number/NumberFormatter$UnitWidth;)V
+HPLandroid/icu/text/MeasureFormat;-><init>(Landroid/icu/util/ULocale;Landroid/icu/text/MeasureFormat$FormatWidth;Landroid/icu/text/NumberFormat;Landroid/icu/text/PluralRules;Landroid/icu/text/MeasureFormat$NumericFormatters;)V
+HPLandroid/icu/text/MeasureFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
+HPLandroid/icu/text/MeasureFormat;->formatMeasure(Landroid/icu/util/Measure;)Landroid/icu/number/FormattedNumber;
+HPLandroid/icu/text/MeasureFormat;->formatMeasures(Ljava/lang/StringBuilder;Ljava/text/FieldPosition;[Landroid/icu/util/Measure;)Ljava/lang/StringBuilder;
+HPLandroid/icu/text/MeasureFormat;->formatMeasures([Landroid/icu/util/Measure;)Ljava/lang/String;
+HPLandroid/icu/text/MeasureFormat;->formatMeasuresInternal(Ljava/lang/Appendable;Ljava/text/FieldPosition;[Landroid/icu/util/Measure;)V
+HPLandroid/icu/text/MeasureFormat;->getInstance(Ljava/util/Locale;Landroid/icu/text/MeasureFormat$FormatWidth;)Landroid/icu/text/MeasureFormat;
+HPLandroid/icu/text/MeasureFormat;->getNumberFormatter()Landroid/icu/number/LocalizedNumberFormatter;
+HPLandroid/icu/text/MeasureFormat;->getUnitFormatterFromCache(ILandroid/icu/util/MeasureUnit;Landroid/icu/util/MeasureUnit;)Landroid/icu/number/LocalizedNumberFormatter;
+HPLandroid/icu/text/MessageFormat$AppendableWrapper;->access$000(Landroid/icu/text/MessageFormat$AppendableWrapper;)Ljava/util/List;
+HPLandroid/icu/text/MessageFormat$AppendableWrapper;->access$500(Landroid/icu/text/MessageFormat$AppendableWrapper;)I
+HPLandroid/icu/text/MessageFormat$AppendableWrapper;->append(Ljava/lang/CharSequence;)V
+HPLandroid/icu/text/MessageFormat$AppendableWrapper;->append(Ljava/lang/CharSequence;II)V
+HPLandroid/icu/text/MessageFormat$Field;-><init>(Ljava/lang/String;)V
+HPLandroid/icu/text/MessageFormat;->applyPattern(Ljava/lang/String;)V
+HPLandroid/icu/text/MessageFormat;->cacheExplicitFormats()V
+HPLandroid/icu/text/MessageFormat;->format(ILandroid/icu/text/MessageFormat$PluralSelectorContext;[Ljava/lang/Object;Ljava/util/Map;Landroid/icu/text/MessageFormat$AppendableWrapper;Ljava/text/FieldPosition;)V
+HPLandroid/icu/text/MessageFormat;->updateMetaData(Landroid/icu/text/MessageFormat$AppendableWrapper;ILjava/text/FieldPosition;Ljava/lang/Object;)Ljava/text/FieldPosition;
+HPLandroid/icu/text/MessagePattern$ApostropheMode;-><init>(Ljava/lang/String;I)V
+HPLandroid/icu/text/MessagePattern$ApostropheMode;->valueOf(Ljava/lang/String;)Landroid/icu/text/MessagePattern$ApostropheMode;
+HPLandroid/icu/text/MessagePattern$ApostropheMode;->values()[Landroid/icu/text/MessagePattern$ApostropheMode;
+HPLandroid/icu/text/MessagePattern$ArgType;-><init>(Ljava/lang/String;I)V
+HPLandroid/icu/text/MessagePattern$ArgType;->values()[Landroid/icu/text/MessagePattern$ArgType;
+HPLandroid/icu/text/MessagePattern$Part$Type;-><init>(Ljava/lang/String;I)V
+HPLandroid/icu/text/MessagePattern$Part;-><init>(Landroid/icu/text/MessagePattern$Part$Type;III)V
+HPLandroid/icu/text/MessagePattern$Part;-><init>(Landroid/icu/text/MessagePattern$Part$Type;IIILandroid/icu/text/MessagePattern$1;)V
+HPLandroid/icu/text/MessagePattern$Part;->getArgType()Landroid/icu/text/MessagePattern$ArgType;
+HPLandroid/icu/text/MessagePattern;->clear()V
+HPLandroid/icu/text/MessagePattern;->getLimitPartIndex(I)I
+HPLandroid/icu/text/MessagePattern;->getPart(I)Landroid/icu/text/MessagePattern$Part;
+HPLandroid/icu/text/MessagePattern;->getSubstring(Landroid/icu/text/MessagePattern$Part;)Ljava/lang/String;
+HPLandroid/icu/text/MessagePattern;->parseArg(III)I
+HPLandroid/icu/text/MessagePattern;->parseArgNumber(Ljava/lang/CharSequence;II)I
+HPLandroid/icu/text/MessagePattern;->parseMessage(IIILandroid/icu/text/MessagePattern$ArgType;)I
+HPLandroid/icu/text/MessagePattern;->preParse(Ljava/lang/String;)V
+HPLandroid/icu/text/Normalizer$NFDMode;->getNormalizer2(I)Landroid/icu/text/Normalizer2;
 HPLandroid/icu/text/Normalizer2$Mode;-><init>(Ljava/lang/String;I)V
 HPLandroid/icu/text/Normalizer2$Mode;->values()[Landroid/icu/text/Normalizer2$Mode;
 HPLandroid/icu/text/Normalizer2;->getInstance(Ljava/io/InputStream;Ljava/lang/String;Landroid/icu/text/Normalizer2$Mode;)Landroid/icu/text/Normalizer2;
-HPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;->addPreceding(IIZ)Z
+HPLandroid/icu/text/Normalizer2;->getNFDInstance()Landroid/icu/text/Normalizer2;
+HPLandroid/icu/text/PluralRules$Factory;->getDefaultFactory()Landroid/icu/impl/PluralRulesLoader;
+HPLandroid/icu/text/RelativeDateTimeFormatter;->combineDateAndTime(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;->following(I)V
 HPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;->populateNear(I)Z
 HPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;->populatePreceding()Z
 HPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;->preceding(I)V
 HPLandroid/icu/text/RuleBasedBreakIterator$BreakCache;->previous()V
-HPLandroid/icu/text/RuleBasedBreakIterator$DictionaryCache;->preceding(I)Z
 HPLandroid/icu/text/RuleBasedBreakIterator;->CISetIndex32(Ljava/text/CharacterIterator;I)I
 HPLandroid/icu/text/RuleBasedBreakIterator;->following(I)I
 HPLandroid/icu/text/RuleBasedBreakIterator;->getText()Ljava/text/CharacterIterator;
-HPLandroid/icu/text/RuleBasedBreakIterator;->handlePrevious(I)I
+HPLandroid/icu/text/RuleBasedBreakIterator;->handleSafePrevious(I)I
 HPLandroid/icu/text/RuleBasedBreakIterator;->isBoundary(I)Z
 HPLandroid/icu/text/RuleBasedBreakIterator;->preceding(I)I
-HPLandroid/icu/text/RuleBasedCollator;->getCollationKey(Ljava/lang/String;)Landroid/icu/text/CollationKey;
-HPLandroid/icu/text/RuleBasedCollator;->getRawCollationKey(Ljava/lang/CharSequence;Landroid/icu/text/RawCollationKey;Landroid/icu/text/RuleBasedCollator$CollationBuffer;)Landroid/icu/text/RawCollationKey;
-HPLandroid/icu/text/RuleBasedCollator;->writeSortKey(Ljava/lang/CharSequence;Landroid/icu/text/RuleBasedCollator$CollationKeyByteSink;Landroid/icu/text/RuleBasedCollator$CollationBuffer;)V
-HPLandroid/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
-HPLandroid/icu/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
+HPLandroid/icu/text/RuleBasedCollator;->setDecomposition(I)V
 HPLandroid/icu/text/SimpleDateFormat;->applyPattern(Ljava/lang/String;)V
-HPLandroid/icu/text/SimpleDateFormat;->isFieldUnitIgnored(I)Z
+HPLandroid/icu/text/SimpleDateFormat;->safeAppend([Ljava/lang/String;ILjava/lang/StringBuffer;)V
 HPLandroid/icu/util/Calendar;->add(II)V
-HPLandroid/icu/util/Calendar;->computeJulianDay()I
-HPLandroid/icu/util/Calendar;->computeMillisInDay()I
-HPLandroid/icu/util/Calendar;->computeTime()V
-HPLandroid/icu/util/Calendar;->computeZoneOffset(JJ)I
-HPLandroid/icu/util/Calendar;->getDefaultDayInMonth(II)I
-HPLandroid/icu/util/Calendar;->getDefaultMonthInYear(I)I
-HPLandroid/icu/util/Calendar;->getFieldResolutionTable()[[[I
-HPLandroid/icu/util/Calendar;->getInstance(Landroid/icu/util/TimeZone;)Landroid/icu/util/Calendar;
-HPLandroid/icu/util/Calendar;->handleComputeJulianDay(I)I
-HPLandroid/icu/util/Calendar;->newerField(II)I
-HPLandroid/icu/util/Calendar;->resolveFields([[[I)I
-HPLandroid/icu/util/Calendar;->set(II)V
-HPLandroid/icu/util/Calendar;->set(III)V
-HPLandroid/icu/util/GregorianCalendar;->handleComputeJulianDay(I)I
-HPLandroid/icu/util/GregorianCalendar;->handleComputeMonthStart(IIZ)I
-HPLandroid/icu/util/GregorianCalendar;->handleGetExtendedYear()I
-HPLandroid/icu/util/TimeZone$ConstantZone;->getOffset(IIIIII)I
-HPLandroid/icu/util/TimeZone$ConstantZone;->getRawOffset()I
-HPLandroid/inputmethodservice/-$$Lambda$InputMethodService$8T9TmAUIN7vW9eU6kTg8309_d4E;->onComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
+HPLandroid/icu/util/Measure;-><init>(Ljava/lang/Number;Landroid/icu/util/MeasureUnit;)V
+HPLandroid/icu/util/Measure;->getNumber()Ljava/lang/Number;
+HPLandroid/icu/util/Measure;->getUnit()Landroid/icu/util/MeasureUnit;
+HPLandroid/icu/util/MeasureUnit;->getSubtype()Ljava/lang/String;
+HPLandroid/icu/util/MeasureUnit;->getType()Ljava/lang/String;
+HPLandroid/icu/util/ULocale;->extensions()Landroid/icu/impl/locale/LocaleExtensions;
+HPLandroid/icu/util/ULocale;->forLanguageTag(Ljava/lang/String;)Landroid/icu/util/ULocale;
+HPLandroid/icu/util/ULocale;->getInstance(Landroid/icu/impl/locale/BaseLocale;Landroid/icu/impl/locale/LocaleExtensions;)Landroid/icu/util/ULocale;
+HPLandroid/icu/util/ULocale;->lscvToID(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/icu/util/ULocale;->toLanguageTag()Ljava/lang/String;
 HPLandroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;->dispatchKeyEvent(ILandroid/view/KeyEvent;Landroid/view/inputmethod/InputMethodSession$EventCallback;)V
-HPLandroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;->isEnabled()Z
 HPLandroid/inputmethodservice/IInputMethodSessionWrapper$ImeInputEventReceiver;->finishedEvent(IZ)V
-HPLandroid/inputmethodservice/IInputMethodSessionWrapper$ImeInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;I)V
-HPLandroid/inputmethodservice/IInputMethodSessionWrapper;->executeMessage(Landroid/os/Message;)V
-HPLandroid/inputmethodservice/IInputMethodSessionWrapper;->finishSession()V
-HPLandroid/inputmethodservice/IInputMethodSessionWrapper;->updateSelection(IIIIII)V
+HPLandroid/inputmethodservice/IInputMethodSessionWrapper$ImeInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;)V
+HPLandroid/inputmethodservice/IInputMethodSessionWrapper;->displayCompletions([Landroid/view/inputmethod/CompletionInfo;)V
 HPLandroid/inputmethodservice/IInputMethodSessionWrapper;->viewClicked(Z)V
-HPLandroid/inputmethodservice/IInputMethodWrapper;->hideSoftInput(ILandroid/os/ResultReceiver;)V
-HPLandroid/inputmethodservice/IInputMethodWrapper;->showSoftInput(ILandroid/os/ResultReceiver;)V
-HPLandroid/inputmethodservice/IInputMethodWrapper;->unbindInput()V
-HPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->hideSoftInput(ILandroid/os/ResultReceiver;)V
-HPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->restartInput(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;)V
-HPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->showSoftInput(ILandroid/os/ResultReceiver;)V
-HPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->unbindInput()V
-HPLandroid/inputmethodservice/InputMethodService$InputMethodSessionImpl;->updateSelection(IIIIII)V
+HPLandroid/inputmethodservice/InputMethodService$InputMethodSessionImpl;->displayCompletions([Landroid/view/inputmethod/CompletionInfo;)V
 HPLandroid/inputmethodservice/InputMethodService$InputMethodSessionImpl;->viewClicked(Z)V
 HPLandroid/inputmethodservice/InputMethodService;->doMovementKey(ILandroid/view/KeyEvent;I)Z
-HPLandroid/inputmethodservice/InputMethodService;->getWindow()Landroid/app/Dialog;
+HPLandroid/inputmethodservice/InputMethodService;->exposeContent(Landroid/view/inputmethod/InputContentInfo;Landroid/view/inputmethod/InputConnection;)V
+HPLandroid/inputmethodservice/InputMethodService;->exposeContentInternal(Landroid/view/inputmethod/InputContentInfo;Landroid/view/inputmethod/EditorInfo;)V
 HPLandroid/inputmethodservice/InputMethodService;->handleBack(Z)Z
-HPLandroid/inputmethodservice/InputMethodService;->hideStatusIcon()V
-HPLandroid/inputmethodservice/InputMethodService;->hideWindow()V
-HPLandroid/inputmethodservice/InputMethodService;->isFullscreenMode()Z
-HPLandroid/inputmethodservice/InputMethodService;->isInputViewShown()Z
 HPLandroid/inputmethodservice/InputMethodService;->lambda$new$0(Landroid/inputmethodservice/InputMethodService;Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
 HPLandroid/inputmethodservice/InputMethodService;->onComputeInsets(Landroid/inputmethodservice/InputMethodService$Insets;)V
-HPLandroid/inputmethodservice/InputMethodService;->onConfigureWindow(Landroid/view/Window;ZZ)V
-HPLandroid/inputmethodservice/InputMethodService;->onEvaluateFullscreenMode()Z
+HPLandroid/inputmethodservice/InputMethodService;->onDestroy()V
+HPLandroid/inputmethodservice/InputMethodService;->onDisplayCompletions([Landroid/view/inputmethod/CompletionInfo;)V
 HPLandroid/inputmethodservice/InputMethodService;->onKeyDown(ILandroid/view/KeyEvent;)Z
 HPLandroid/inputmethodservice/InputMethodService;->onKeyUp(ILandroid/view/KeyEvent;)Z
-HPLandroid/inputmethodservice/InputMethodService;->onShowInputRequested(IZ)Z
-HPLandroid/inputmethodservice/InputMethodService;->onStartInputView(Landroid/view/inputmethod/EditorInfo;Z)V
-HPLandroid/inputmethodservice/InputMethodService;->onUnbindInput()V
-HPLandroid/inputmethodservice/InputMethodService;->onUpdateSelection(IIIIII)V
 HPLandroid/inputmethodservice/InputMethodService;->onViewClicked(Z)V
-HPLandroid/inputmethodservice/InputMethodService;->onWindowHidden()V
-HPLandroid/inputmethodservice/InputMethodService;->onWindowShown()V
 HPLandroid/inputmethodservice/InputMethodService;->requestHideSelf(I)V
-HPLandroid/inputmethodservice/InputMethodService;->setInputView(Landroid/view/View;)V
-HPLandroid/inputmethodservice/InputMethodService;->showWindow(Z)V
-HPLandroid/inputmethodservice/InputMethodService;->showWindowInner(Z)V
-HPLandroid/inputmethodservice/InputMethodService;->startExtractingText(Z)V
-HPLandroid/inputmethodservice/InputMethodService;->updateCandidatesVisibility(Z)V
-HPLandroid/inputmethodservice/InputMethodService;->updateExtractFrameVisibility()V
-HPLandroid/inputmethodservice/InputMethodService;->updateFullscreenMode()V
-HPLandroid/inputmethodservice/InputMethodService;->updateInputViewShown()V
-HPLandroid/inputmethodservice/SoftInputWindow$Callback;->onBackPressed()V
 HPLandroid/inputmethodservice/SoftInputWindow;-><init>(Landroid/content/Context;Ljava/lang/String;ILandroid/inputmethodservice/SoftInputWindow$Callback;Landroid/view/KeyEvent$Callback;Landroid/view/KeyEvent$DispatcherState;IIZ)V
-HPLandroid/inputmethodservice/SoftInputWindow;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
-HPLandroid/location/Address;-><init>(Ljava/util/Locale;)V
-HPLandroid/location/Address;->getAddressLine(I)Ljava/lang/String;
-HPLandroid/location/Address;->setAddressLine(ILjava/lang/String;)V
-HPLandroid/location/Address;->setAdminArea(Ljava/lang/String;)V
-HPLandroid/location/Address;->setCountryCode(Ljava/lang/String;)V
-HPLandroid/location/Address;->setCountryName(Ljava/lang/String;)V
-HPLandroid/location/Address;->setFeatureName(Ljava/lang/String;)V
-HPLandroid/location/Address;->setLatitude(D)V
-HPLandroid/location/Address;->setLocality(Ljava/lang/String;)V
-HPLandroid/location/Address;->setLongitude(D)V
-HPLandroid/location/Address;->setPostalCode(Ljava/lang/String;)V
-HPLandroid/location/Address;->setPremises(Ljava/lang/String;)V
-HPLandroid/location/Address;->setSubAdminArea(Ljava/lang/String;)V
-HPLandroid/location/Address;->setSubThoroughfare(Ljava/lang/String;)V
-HPLandroid/location/Address;->setThoroughfare(Ljava/lang/String;)V
+HPLandroid/inputmethodservice/SoftInputWindow;->dismissForDestroyIfNecessary()V
+HPLandroid/location/Address;->getAdminArea()Ljava/lang/String;
+HPLandroid/location/Address;->getCountryName()Ljava/lang/String;
+HPLandroid/location/Address;->getLocality()Ljava/lang/String;
+HPLandroid/location/Address;->getPostalCode()Ljava/lang/String;
+HPLandroid/location/Address;->getSubThoroughfare()Ljava/lang/String;
+HPLandroid/location/Address;->getThoroughfare()Ljava/lang/String;
+HPLandroid/location/Address;->toString()Ljava/lang/String;
 HPLandroid/location/Address;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/location/Country;-><init>(Landroid/location/Country;)V
-HPLandroid/location/Country;-><init>(Ljava/lang/String;I)V
-HPLandroid/location/Country;->equals(Ljava/lang/Object;)Z
-HPLandroid/location/Country;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/location/CountryDetector$ListenerTransport$1;->run()V
-HPLandroid/location/CountryDetector$ListenerTransport;->onCountryDetected(Landroid/location/Country;)V
-HPLandroid/location/CountryDetector;->addCountryListener(Landroid/location/CountryListener;Landroid/os/Looper;)V
-HPLandroid/location/CountryListener;->onCountryDetected(Landroid/location/Country;)V
+HPLandroid/location/Criteria$1;-><init>()V
 HPLandroid/location/Criteria$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/Criteria;
 HPLandroid/location/Criteria$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/location/Criteria;-><init>()V
+HPLandroid/location/Criteria;->getAccuracy()I
 HPLandroid/location/Criteria;->getPowerRequirement()I
 HPLandroid/location/Criteria;->isAltitudeRequired()Z
 HPLandroid/location/Criteria;->isBearingRequired()Z
 HPLandroid/location/Criteria;->isCostAllowed()Z
 HPLandroid/location/Criteria;->isSpeedRequired()Z
+HPLandroid/location/Criteria;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/location/GeocoderParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/GeocoderParams;
 HPLandroid/location/GeocoderParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/location/GeocoderParams;->getClientPackage()Ljava/lang/String;
-HPLandroid/location/GeocoderParams;->getLocale()Ljava/util/Locale;
 HPLandroid/location/GnssClock$1;-><init>()V
+HPLandroid/location/GnssClock$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/GnssClock;
+HPLandroid/location/GnssClock$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/location/GnssClock;-><init>()V
 HPLandroid/location/GnssClock;->initialize()V
 HPLandroid/location/GnssClock;->setBiasNanos(D)V
@@ -3105,12 +3288,15 @@
 HPLandroid/location/GnssClock;->setTimeNanos(J)V
 HPLandroid/location/GnssClock;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/location/GnssMeasurement$1;-><init>()V
+HPLandroid/location/GnssMeasurement$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/GnssMeasurement;
+HPLandroid/location/GnssMeasurement$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/location/GnssMeasurement;-><init>()V
 HPLandroid/location/GnssMeasurement;->initialize()V
 HPLandroid/location/GnssMeasurement;->setAccumulatedDeltaRangeMeters(D)V
 HPLandroid/location/GnssMeasurement;->setAccumulatedDeltaRangeState(I)V
 HPLandroid/location/GnssMeasurement;->setAccumulatedDeltaRangeUncertaintyMeters(D)V
 HPLandroid/location/GnssMeasurement;->setAutomaticGainControlLevelInDb(D)V
+HPLandroid/location/GnssMeasurement;->setCarrierFrequencyHz(F)V
 HPLandroid/location/GnssMeasurement;->setCn0DbHz(D)V
 HPLandroid/location/GnssMeasurement;->setConstellationType(I)V
 HPLandroid/location/GnssMeasurement;->setMultipathIndicator(I)V
@@ -3122,34 +3308,33 @@
 HPLandroid/location/GnssMeasurement;->setSvid(I)V
 HPLandroid/location/GnssMeasurement;->setTimeOffsetNanos(D)V
 HPLandroid/location/GnssMeasurement;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/location/GnssMeasurementCallbackTransport$ListenerTransport$1;->execute(Landroid/location/GnssMeasurementsEvent$Callback;)V
+HPLandroid/location/GnssMeasurementCallbackTransport$ListenerTransport$1;->execute(Ljava/lang/Object;)V
 HPLandroid/location/GnssMeasurementCallbackTransport$ListenerTransport$2;->execute(Landroid/location/GnssMeasurementsEvent$Callback;)V
 HPLandroid/location/GnssMeasurementCallbackTransport$ListenerTransport$2;->execute(Ljava/lang/Object;)V
+HPLandroid/location/GnssMeasurementCallbackTransport$ListenerTransport;->onGnssMeasurementsReceived(Landroid/location/GnssMeasurementsEvent;)V
 HPLandroid/location/GnssMeasurementCallbackTransport$ListenerTransport;->onStatusChanged(I)V
 HPLandroid/location/GnssMeasurementCallbackTransport;->registerWithServer()Z
 HPLandroid/location/GnssMeasurementCallbackTransport;->unregisterFromServer()V
 HPLandroid/location/GnssMeasurementsEvent$1;-><init>()V
-HPLandroid/location/GnssMeasurementsEvent$Callback;-><init>()V
+HPLandroid/location/GnssMeasurementsEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/GnssMeasurementsEvent;
+HPLandroid/location/GnssMeasurementsEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/location/GnssMeasurementsEvent;-><init>(Landroid/location/GnssClock;[Landroid/location/GnssMeasurement;)V
-HPLandroid/location/GpsSatellite;->getAzimuth()F
-HPLandroid/location/GpsSatellite;->getElevation()F
 HPLandroid/location/GpsSatellite;->getPrn()I
+HPLandroid/location/GpsSatellite;->getSnr()F
 HPLandroid/location/GpsSatellite;->usedInFix()Z
-HPLandroid/location/ICountryDetector$Stub$Proxy;->addCountryListener(Landroid/location/ICountryListener;)V
-HPLandroid/location/ICountryDetector$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/location/ICountryListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/location/ICountryListener$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/location/ICountryListener;->onCountryDetected(Landroid/location/Country;)V
+HPLandroid/location/GpsStatus$1;->iterator()Ljava/util/Iterator;
+HPLandroid/location/GpsStatus$SatelliteIterator;->hasNext()Z
+HPLandroid/location/GpsStatus$SatelliteIterator;->next()Landroid/location/GpsSatellite;
+HPLandroid/location/GpsStatus$SatelliteIterator;->next()Ljava/lang/Object;
+HPLandroid/location/GpsStatus;->getSatellites()Ljava/lang/Iterable;
+HPLandroid/location/GpsStatus;->setStatus(I[I[F[F[F)V
+HPLandroid/location/ICountryDetector$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/location/ICountryListener$Stub$Proxy;->onCountryDetected(Landroid/location/Country;)V
 HPLandroid/location/IGeocodeProvider$Stub$Proxy;->getFromLocation(DDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
-HPLandroid/location/IGeocodeProvider$Stub;-><init>()V
 HPLandroid/location/IGeocodeProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGeocodeProvider;
-HPLandroid/location/IGeocodeProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/location/IGeocodeProvider;->getFromLocation(DDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
-HPLandroid/location/IGeocodeProvider;->getFromLocationName(Ljava/lang/String;DDDDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
 HPLandroid/location/IGeofenceProvider$Stub$Proxy;->setGeofenceHardware(Landroid/hardware/location/IGeofenceHardware;)V
-HPLandroid/location/IGeofenceProvider$Stub;-><init>()V
 HPLandroid/location/IGeofenceProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGeofenceProvider;
-HPLandroid/location/IGeofenceProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/location/IGeofenceProvider;->setGeofenceHardware(Landroid/hardware/location/IGeofenceHardware;)V
 HPLandroid/location/IGnssMeasurementsListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/location/IGnssMeasurementsListener$Stub$Proxy;->onGnssMeasurementsReceived(Landroid/location/GnssMeasurementsEvent;)V
 HPLandroid/location/IGnssMeasurementsListener$Stub$Proxy;->onStatusChanged(I)V
@@ -3163,115 +3348,131 @@
 HPLandroid/location/IGnssStatusListener$Stub$Proxy;->onNmeaReceived(JLjava/lang/String;)V
 HPLandroid/location/IGnssStatusListener$Stub$Proxy;->onSvStatusChanged(I[I[F[F[F[F)V
 HPLandroid/location/IGnssStatusListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/IGnssStatusListener;
+HPLandroid/location/IGnssStatusListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/location/ILocationListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/location/ILocationListener$Stub$Proxy;->onLocationChanged(Landroid/location/Location;)V
 HPLandroid/location/ILocationListener$Stub$Proxy;->onProviderDisabled(Ljava/lang/String;)V
 HPLandroid/location/ILocationListener$Stub$Proxy;->onProviderEnabled(Ljava/lang/String;)V
 HPLandroid/location/ILocationListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationListener;
 HPLandroid/location/ILocationManager$Stub$Proxy;->addGnssMeasurementsListener(Landroid/location/IGnssMeasurementsListener;Ljava/lang/String;)Z
-HPLandroid/location/ILocationManager$Stub$Proxy;->getProviderProperties(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;
+HPLandroid/location/ILocationManager$Stub$Proxy;->getBestProvider(Landroid/location/Criteria;Z)Ljava/lang/String;
+HPLandroid/location/ILocationManager$Stub$Proxy;->getLastLocation(Landroid/location/LocationRequest;Ljava/lang/String;)Landroid/location/Location;
 HPLandroid/location/ILocationManager$Stub$Proxy;->removeGnssMeasurementsListener(Landroid/location/IGnssMeasurementsListener;)V
-HPLandroid/location/ILocationManager$Stub$Proxy;->reportLocation(Landroid/location/Location;Z)V
-HPLandroid/location/LocalListenerHelper$ListenerOperation;->execute(Ljava/lang/Object;)V
+HPLandroid/location/ILocationManager$Stub$Proxy;->removeUpdates(Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
+HPLandroid/location/ILocationManager$Stub$Proxy;->unregisterGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
+HPLandroid/location/ILocationManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/location/ILocationManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/location/LocalListenerHelper;->add(Ljava/lang/Object;Landroid/os/Handler;)Z
 HPLandroid/location/LocalListenerHelper;->executeOperation(Landroid/location/LocalListenerHelper$ListenerOperation;Ljava/lang/Object;)V
 HPLandroid/location/LocalListenerHelper;->foreach(Landroid/location/LocalListenerHelper$ListenerOperation;)V
 HPLandroid/location/LocalListenerHelper;->getContext()Landroid/content/Context;
 HPLandroid/location/LocalListenerHelper;->remove(Ljava/lang/Object;)V
 HPLandroid/location/Location;->describeContents()I
+HPLandroid/location/Location;->distanceTo(Landroid/location/Location;)F
+HPLandroid/location/Location;->getBearing()F
+HPLandroid/location/Location;->getBearingAccuracyDegrees()F
 HPLandroid/location/Location;->getExtraLocation(Ljava/lang/String;)Landroid/location/Location;
-HPLandroid/location/Location;->getVerticalAccuracyMeters()F
+HPLandroid/location/Location;->getSpeedAccuracyMetersPerSecond()F
 HPLandroid/location/Location;->isComplete()Z
+HPLandroid/location/Location;->removeBearing()V
+HPLandroid/location/Location;->setBearing(F)V
 HPLandroid/location/Location;->setBearingAccuracyDegrees(F)V
 HPLandroid/location/Location;->setExtraLocation(Ljava/lang/String;Landroid/location/Location;)V
-HPLandroid/location/Location;->setProvider(Ljava/lang/String;)V
 HPLandroid/location/Location;->setSpeedAccuracyMetersPerSecond(F)V
-HPLandroid/location/Location;->setVerticalAccuracyMeters(F)V
 HPLandroid/location/LocationManager$GnssStatusListenerTransport$1;->onFirstFix(I)V
+HPLandroid/location/LocationManager$GnssStatusListenerTransport$1;->onSatelliteStatusChanged(Landroid/location/GnssStatus;)V
+HPLandroid/location/LocationManager$GnssStatusListenerTransport$1;->onStarted()V
 HPLandroid/location/LocationManager$GnssStatusListenerTransport$1;->onStopped()V
-HPLandroid/location/LocationManager$ListenerTransport;->onProviderEnabled(Ljava/lang/String;)V
-HPLandroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
+HPLandroid/location/LocationManager$GnssStatusListenerTransport$GnssHandler;->handleMessage(Landroid/os/Message;)V
+HPLandroid/location/LocationManager$GnssStatusListenerTransport;->onFirstFix(I)V
+HPLandroid/location/LocationManager$GnssStatusListenerTransport;->onGnssStarted()V
+HPLandroid/location/LocationManager$GnssStatusListenerTransport;->onGnssStopped()V
+HPLandroid/location/LocationManager$GnssStatusListenerTransport;->onNmeaReceived(JLjava/lang/String;)V
+HPLandroid/location/LocationManager$GnssStatusListenerTransport;->onSvStatusChanged(I[I[F[F[F[F)V
+HPLandroid/location/LocationManager$ListenerTransport$1;->handleMessage(Landroid/os/Message;)V
+HPLandroid/location/LocationManager$ListenerTransport;->onProviderDisabled(Ljava/lang/String;)V
+HPLandroid/location/LocationManager;->getBestProvider(Landroid/location/Criteria;Z)Ljava/lang/String;
+HPLandroid/location/LocationManager;->getGpsStatus(Landroid/location/GpsStatus;)Landroid/location/GpsStatus;
+HPLandroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
 HPLandroid/location/LocationManager;->registerGnssMeasurementsCallback(Landroid/location/GnssMeasurementsEvent$Callback;)Z
 HPLandroid/location/LocationManager;->registerGnssMeasurementsCallback(Landroid/location/GnssMeasurementsEvent$Callback;Landroid/os/Handler;)Z
-HPLandroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/app/PendingIntent;)V
-HPLandroid/location/LocationManager;->requestSingleUpdate(Ljava/lang/String;Landroid/location/LocationListener;Landroid/os/Looper;)V
+HPLandroid/location/LocationManager;->removeUpdates(Landroid/location/LocationListener;)V
+HPLandroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
 HPLandroid/location/LocationManager;->unregisterGnssMeasurementsCallback(Landroid/location/GnssMeasurementsEvent$Callback;)V
-HPLandroid/location/LocationProvider;-><init>(Ljava/lang/String;Lcom/android/internal/location/ProviderProperties;)V
 HPLandroid/location/LocationProvider;->propertiesMeetCriteria(Ljava/lang/String;Lcom/android/internal/location/ProviderProperties;Landroid/location/Criteria;)Z
 HPLandroid/location/LocationRequest$1;->createFromParcel(Landroid/os/Parcel;)Landroid/location/LocationRequest;
 HPLandroid/location/LocationRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/location/LocationRequest;->setHideFromAppOps(Z)V
-HPLandroid/location/LocationRequest;->setInterval(J)Landroid/location/LocationRequest;
-HPLandroid/location/LocationRequest;->setWorkSource(Landroid/os/WorkSource;)V
-HPLandroid/media/AudioAttributes$Builder;->setCapturePreset(I)Landroid/media/AudioAttributes$Builder;
-HPLandroid/media/AudioAttributes$Builder;->setInternalCapturePreset(I)Landroid/media/AudioAttributes$Builder;
+HPLandroid/media/AudioAttributes$Builder;->setLegacyStreamType(I)Landroid/media/AudioAttributes$Builder;
 HPLandroid/media/AudioAttributes;->equals(Ljava/lang/Object;)Z
-HPLandroid/media/AudioAttributes;->getContentType()I
-HPLandroid/media/AudioAttributes;->getUsage()I
+HPLandroid/media/AudioAttributes;->hashCode()I
 HPLandroid/media/AudioAttributes;->toLegacyStreamType(Landroid/media/AudioAttributes;)I
 HPLandroid/media/AudioAttributes;->toVolumeStreamType(ZLandroid/media/AudioAttributes;)I
-HPLandroid/media/AudioDeviceInfo;->isSink()Z
 HPLandroid/media/AudioFocusInfo$1;-><init>()V
 HPLandroid/media/AudioFocusInfo;-><init>(Landroid/media/AudioAttributes;ILjava/lang/String;Ljava/lang/String;IIII)V
-HPLandroid/media/AudioFocusRequest$Builder;-><init>(I)V
-HPLandroid/media/AudioFocusRequest$Builder;->setAudioAttributes(Landroid/media/AudioAttributes;)Landroid/media/AudioFocusRequest$Builder;
-HPLandroid/media/AudioFocusRequest$Builder;->setOnAudioFocusChangeListener(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/os/Handler;)Landroid/media/AudioFocusRequest$Builder;
+HPLandroid/media/AudioFocusInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/media/AudioFocusRequest$Builder;->build()Landroid/media/AudioFocusRequest;
 HPLandroid/media/AudioFormat;-><init>(IIII)V
 HPLandroid/media/AudioFormat;->equals(Ljava/lang/Object;)Z
 HPLandroid/media/AudioFormat;->getChannelMask()I
 HPLandroid/media/AudioFormat;->getEncoding()I
 HPLandroid/media/AudioFormat;->getSampleRate()I
+HPLandroid/media/AudioFormat;->hashCode()I
 HPLandroid/media/AudioManager$1;->dispatchAudioFocusChange(ILjava/lang/String;)V
-HPLandroid/media/AudioManager$2;->dispatchPlaybackConfigChange(Ljava/util/List;Z)V
-HPLandroid/media/AudioManager$AudioPlaybackCallback;->onPlaybackConfigChanged(Ljava/util/List;)V
+HPLandroid/media/AudioManager$AudioPlaybackCallback;-><init>()V
+HPLandroid/media/AudioManager$NativeEventHandlerDelegate;->getHandler()Landroid/os/Handler;
 HPLandroid/media/AudioManager$ServiceEventHandlerDelegate$1;->handleMessage(Landroid/os/Message;)V
 HPLandroid/media/AudioManager$ServiceEventHandlerDelegate;->getHandler()Landroid/os/Handler;
 HPLandroid/media/AudioManager;->abandonAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;)I
 HPLandroid/media/AudioManager;->abandonAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/media/AudioAttributes;)I
 HPLandroid/media/AudioManager;->abandonAudioFocusForCall()V
-HPLandroid/media/AudioManager;->adjustStreamVolume(III)V
-HPLandroid/media/AudioManager;->avrcpSupportsAbsoluteVolume(Ljava/lang/String;Z)V
-HPLandroid/media/AudioManager;->getActivePlaybackConfigurations()Ljava/util/List;
+HPLandroid/media/AudioManager;->generateAudioSessionId()I
+HPLandroid/media/AudioManager;->getDevicesForStream(I)I
 HPLandroid/media/AudioManager;->getFocusRampTimeMs(ILandroid/media/AudioAttributes;)I
-HPLandroid/media/AudioManager;->handleBluetoothA2dpDeviceConfigChange(Landroid/bluetooth/BluetoothDevice;)V
+HPLandroid/media/AudioManager;->getIdForAudioFocusListener(Landroid/media/AudioManager$OnAudioFocusChangeListener;)Ljava/lang/String;
+HPLandroid/media/AudioManager;->getProperty(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/media/AudioManager;->getRingtonePlayer()Landroid/media/IRingtonePlayer;
 HPLandroid/media/AudioManager;->isAudioFocusExclusive()Z
-HPLandroid/media/AudioManager;->removePlaybackCallback_sync(Landroid/media/AudioManager$AudioPlaybackCallback;)Z
-HPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioFocusRequest;)I
+HPLandroid/media/AudioManager;->isBluetoothA2dpOn()Z
+HPLandroid/media/AudioManager;->isStreamMute(I)Z
+HPLandroid/media/AudioManager;->registerAudioFocusRequest(Landroid/media/AudioFocusRequest;)V
+HPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioFocusRequest;Landroid/media/audiopolicy/AudioPolicy;)I
+HPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;II)I
+HPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/media/AudioAttributes;II)I
+HPLandroid/media/AudioManager;->requestAudioFocus(Landroid/media/AudioManager$OnAudioFocusChangeListener;Landroid/media/AudioAttributes;IILandroid/media/audiopolicy/AudioPolicy;)I
 HPLandroid/media/AudioManager;->requestAudioFocusForCall(II)V
-HPLandroid/media/AudioManager;->resetAudioPortGeneration()I
-HPLandroid/media/AudioManager;->setBluetoothA2dpDeviceConnectionState(Landroid/bluetooth/BluetoothDevice;II)I
-HPLandroid/media/AudioManager;->setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(Landroid/bluetooth/BluetoothDevice;IIZ)I
 HPLandroid/media/AudioManager;->setMode(I)V
 HPLandroid/media/AudioManager;->setSpeakerphoneOn(Z)V
 HPLandroid/media/AudioManager;->setStreamVolume(III)V
 HPLandroid/media/AudioManager;->unregisterAudioFocusRequest(Landroid/media/AudioManager$OnAudioFocusChangeListener;)V
-HPLandroid/media/AudioManager;->unregisterAudioPlaybackCallback(Landroid/media/AudioManager$AudioPlaybackCallback;)V
-HPLandroid/media/AudioPlaybackConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/AudioPlaybackConfiguration;
-HPLandroid/media/AudioPlaybackConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/media/AudioPlaybackConfiguration$IPlayerShell;->binderDied()V
 HPLandroid/media/AudioPlaybackConfiguration$IPlayerShell;->release()V
-HPLandroid/media/AudioPlaybackConfiguration;-><init>(Landroid/os/Parcel;)V
-HPLandroid/media/AudioPlaybackConfiguration;->getAudioAttributes()Landroid/media/AudioAttributes;
+HPLandroid/media/AudioPlaybackConfiguration;->anonymizedCopy(Landroid/media/AudioPlaybackConfiguration;)Landroid/media/AudioPlaybackConfiguration;
 HPLandroid/media/AudioPlaybackConfiguration;->getIPlayer()Landroid/media/IPlayer;
 HPLandroid/media/AudioPlaybackConfiguration;->getPlayerProxy()Landroid/media/PlayerProxy;
-HPLandroid/media/AudioPlaybackConfiguration;->getPlayerState()I
 HPLandroid/media/AudioPlaybackConfiguration;->handleAudioAttributesEvent(Landroid/media/AudioAttributes;)Z
 HPLandroid/media/AudioPlaybackConfiguration;->handleStateEvent(I)Z
 HPLandroid/media/AudioPlaybackConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/media/AudioPortEventHandler;->handler()Landroid/os/Handler;
-HPLandroid/media/AudioPortEventHandler;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
+HPLandroid/media/AudioRecord;-><init>(IIIII)V
+HPLandroid/media/AudioRecord;-><init>(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;II)V
+HPLandroid/media/AudioRecord;->audioBuffSizeCheck(I)V
+HPLandroid/media/AudioRecord;->audioParamCheck(III)V
 HPLandroid/media/AudioRecord;->finalize()V
-HPLandroid/media/AudioRecord;->getBufferSizeInFrames()I
-HPLandroid/media/AudioRecord;->getFormat()Landroid/media/AudioFormat;
-HPLandroid/media/AudioRecord;->getSampleRate()I
-HPLandroid/media/AudioRecord;->read([SII)I
-HPLandroid/media/AudioRecord;->read([SIII)I
+HPLandroid/media/AudioRecord;->getChannelMaskFromLegacyConfig(IZ)I
+HPLandroid/media/AudioRecord;->getMinBufferSize(III)I
+HPLandroid/media/AudioRecord;->getRecordingState()I
+HPLandroid/media/AudioRecord;->getState()I
+HPLandroid/media/AudioRecord;->handleFullVolumeRec(Z)V
+HPLandroid/media/AudioRecord;->read([BII)I
+HPLandroid/media/AudioRecord;->read([BIII)I
 HPLandroid/media/AudioRecord;->release()V
+HPLandroid/media/AudioRecord;->startRecording()V
 HPLandroid/media/AudioRecord;->stop()V
 HPLandroid/media/AudioRecordingConfiguration$1;-><init>()V
+HPLandroid/media/AudioRecordingConfiguration;-><init>(IIILandroid/media/AudioFormat;Landroid/media/AudioFormat;ILjava/lang/String;IZI[Landroid/media/audiofx/AudioEffect$Descriptor;[Landroid/media/audiofx/AudioEffect$Descriptor;)V
 HPLandroid/media/AudioRecordingConfiguration;->equals(Ljava/lang/Object;)Z
 HPLandroid/media/AudioSystem;->errorCallbackFromNative(I)V
-HPLandroid/media/AudioSystem;->recordingCallbackFromNative(IIII[I)V
+HPLandroid/media/AudioSystem;->recordingCallbackFromNative(IIIIIZ[I[Landroid/media/audiofx/AudioEffect$Descriptor;[Landroid/media/audiofx/AudioEffect$Descriptor;I)V
+HPLandroid/media/AudioSystem;->setDynamicPolicyCallback(Landroid/media/AudioSystem$DynamicPolicyCallback;)V
 HPLandroid/media/AudioTrack;-><init>(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;III)V
 HPLandroid/media/AudioTrack;->finalize()V
 HPLandroid/media/AudioTrack;->flush()V
@@ -3280,217 +3481,299 @@
 HPLandroid/media/AudioTrack;->stop()V
 HPLandroid/media/AudioTrack;->write([BII)I
 HPLandroid/media/AudioTrack;->write([BIII)I
-HPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->available()I
-HPLandroid/media/FaceDetector;-><init>(III)V
-HPLandroid/media/FaceDetector;->findFaces(Landroid/graphics/Bitmap;[Landroid/media/FaceDetector$Face;)I
+HPLandroid/media/ExifInterface$ByteOrderedDataInputStream;-><init>([B)V
+HPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->peek()I
+HPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V
+HPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedInt()J
+HPLandroid/media/ExifInterface$ExifAttribute;-><init>(IIJ[B)V
+HPLandroid/media/ExifInterface;-><init>(Ljava/io/File;)V
+HPLandroid/media/ExifInterface;-><init>(Ljava/lang/String;)V
+HPLandroid/media/ExifInterface;->getAttributeRange(Ljava/lang/String;)[J
+HPLandroid/media/ExifInterface;->getThumbnailRange()[J
+HPLandroid/media/ExifInterface;->isSeekableFD(Ljava/io/FileDescriptor;)Z
+HPLandroid/media/ExifInterface;->parseTiffHeaders(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
+HPLandroid/media/ExifInterface;->readImageFileDirectory(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
 HPLandroid/media/IAudioFocusDispatcher$Stub$Proxy;->dispatchAudioFocusChange(ILjava/lang/String;)V
+HPLandroid/media/IAudioFocusDispatcher$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/media/IAudioFocusDispatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioFocusDispatcher;
 HPLandroid/media/IAudioFocusDispatcher$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/media/IAudioRoutesObserver$Stub$Proxy;->dispatchAudioRoutesChanged(Landroid/media/AudioRoutesInfo;)V
 HPLandroid/media/IAudioRoutesObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/media/IAudioServerStateDispatcher$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/media/IAudioServerStateDispatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioServerStateDispatcher;
 HPLandroid/media/IAudioService$Stub$Proxy;->abandonAudioFocus(Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Landroid/media/AudioAttributes;Ljava/lang/String;)I
-HPLandroid/media/IAudioService$Stub$Proxy;->adjustStreamVolume(IIILjava/lang/String;)V
-HPLandroid/media/IAudioService$Stub$Proxy;->avrcpSupportsAbsoluteVolume(Ljava/lang/String;Z)V
-HPLandroid/media/IAudioService$Stub$Proxy;->getActivePlaybackConfigurations()Ljava/util/List;
-HPLandroid/media/IAudioService$Stub$Proxy;->handleBluetoothA2dpDeviceConfigChange(Landroid/bluetooth/BluetoothDevice;)V
-HPLandroid/media/IAudioService$Stub$Proxy;->setBluetoothA2dpDeviceConnectionState(Landroid/bluetooth/BluetoothDevice;II)I
-HPLandroid/media/IAudioService$Stub$Proxy;->setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(Landroid/bluetooth/BluetoothDevice;IIZ)I
+HPLandroid/media/IAudioService$Stub$Proxy;->isStreamMute(I)Z
+HPLandroid/media/IAudioService$Stub$Proxy;->playSoundEffect(I)V
+HPLandroid/media/IAudioService$Stub$Proxy;->playerAttributes(ILandroid/media/AudioAttributes;)V
+HPLandroid/media/IAudioService$Stub$Proxy;->playerHasOpPlayAudio(IZ)V
+HPLandroid/media/IAudioService$Stub$Proxy;->releasePlayer(I)V
+HPLandroid/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
 HPLandroid/media/IAudioService$Stub$Proxy;->setStreamVolume(IIILjava/lang/String;)V
-HPLandroid/media/IAudioService$Stub$Proxy;->unregisterPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)V
-HPLandroid/media/IMediaHTTPService;->makeHTTPConnection()Landroid/media/IMediaHTTPConnection;
+HPLandroid/media/IAudioService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/media/IMediaResourceMonitor$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/media/IMediaResourceMonitor$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/media/IMediaRouterClient$Stub$Proxy;->onRestoreRoute()V
 HPLandroid/media/IMediaRouterClient$Stub$Proxy;->onStateChanged()V
+HPLandroid/media/IMediaRouterClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/media/IMediaRouterService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/media/IMediaScannerListener$Stub$Proxy;->scanCompleted(Ljava/lang/String;Landroid/net/Uri;)V
+HPLandroid/media/IMediaScannerService$Stub;-><init>()V
+HPLandroid/media/IMediaScannerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/media/IPlaybackConfigDispatcher$Stub$Proxy;->dispatchPlaybackConfigChange(Ljava/util/List;Z)V
-HPLandroid/media/IPlaybackConfigDispatcher$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/media/IPlayer$Stub$Proxy;->applyVolumeShaper(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)V
 HPLandroid/media/IPlayer$Stub$Proxy;->setVolume(F)V
-HPLandroid/media/IPlayer$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/media/IRemoteDisplayCallback$Stub;-><init>()V
-HPLandroid/media/IRemoteDisplayCallback$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/media/IRemoteDisplayCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/media/IRemoteDisplayCallback;->onStateChanged(Landroid/media/RemoteDisplayState;)V
-HPLandroid/media/IRemoteDisplayProvider$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/media/IRemoteDisplayProvider$Stub$Proxy;->setCallback(Landroid/media/IRemoteDisplayCallback;)V
-HPLandroid/media/IRemoteDisplayProvider$Stub$Proxy;->setDiscoveryMode(I)V
-HPLandroid/media/IRemoteDisplayProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IRemoteDisplayProvider;
-HPLandroid/media/IRemoteDisplayProvider;->adjustVolume(Ljava/lang/String;I)V
-HPLandroid/media/IRemoteDisplayProvider;->connect(Ljava/lang/String;)V
-HPLandroid/media/IRemoteDisplayProvider;->disconnect(Ljava/lang/String;)V
-HPLandroid/media/IRemoteDisplayProvider;->setCallback(Landroid/media/IRemoteDisplayCallback;)V
-HPLandroid/media/IRemoteDisplayProvider;->setDiscoveryMode(I)V
-HPLandroid/media/IRemoteDisplayProvider;->setVolume(Ljava/lang/String;I)V
-HPLandroid/media/IRemoteVolumeController$Stub$Proxy;->remoteVolumeChanged(Landroid/media/session/ISessionController;I)V
+HPLandroid/media/IRecordingConfigDispatcher$Stub;-><init>()V
+HPLandroid/media/IRemoteVolumeController$Stub$Proxy;->remoteVolumeChanged(Landroid/media/session/MediaSession$Token;I)V
 HPLandroid/media/IRingtonePlayer$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/media/IRingtonePlayer$Stub$Proxy;->playAsync(Landroid/net/Uri;Landroid/os/UserHandle;ZLandroid/media/AudioAttributes;)V
 HPLandroid/media/IRingtonePlayer$Stub$Proxy;->stopAsync()V
 HPLandroid/media/IVolumeController$Stub$Proxy;->volumeChanged(II)V
-HPLandroid/media/MediaCodec$CryptoInfo$Pattern;->set(II)V
-HPLandroid/media/MediaCodec$CryptoInfo;->set(I[I[I[B[BI)V
-HPLandroid/media/MediaCodec$CryptoInfo;->setPattern(Landroid/media/MediaCodec$CryptoInfo$Pattern;)V
+HPLandroid/media/MediaCodec$BufferMap$CodecBuffer;->free()V
+HPLandroid/media/MediaCodec$BufferMap$CodecBuffer;->setByteBuffer(Ljava/nio/ByteBuffer;)V
+HPLandroid/media/MediaCodec$BufferMap;->clear()V
+HPLandroid/media/MediaCodec$BufferMap;->put(ILjava/nio/ByteBuffer;)V
+HPLandroid/media/MediaCodec$EventHandler;->handleCallback(Landroid/os/Message;)V
+HPLandroid/media/MediaCodec$EventHandler;->handleMessage(Landroid/os/Message;)V
 HPLandroid/media/MediaCodec;->createDecoderByType(Ljava/lang/String;)Landroid/media/MediaCodec;
 HPLandroid/media/MediaCodec;->createEncoderByType(Ljava/lang/String;)Landroid/media/MediaCodec;
+HPLandroid/media/MediaCodec;->finalize()V
 HPLandroid/media/MediaCodec;->flush()V
-HPLandroid/media/MediaCodec;->getOutputBuffer(I)Ljava/nio/ByteBuffer;
-HPLandroid/media/MediaCodec;->queueSecureInputBuffer(IILandroid/media/MediaCodec$CryptoInfo;JI)V
-HPLandroid/media/MediaCodec;->setOutputSurface(Landroid/view/Surface;)V
-HPLandroid/media/MediaCodecInfo$AudioCapabilities;->getMaxInputChannelCount()I
-HPLandroid/media/MediaCodecInfo$AudioCapabilities;->isSampleRateSupported(I)Z
-HPLandroid/media/MediaCodecInfo$CodecCapabilities;->getAudioCapabilities()Landroid/media/MediaCodecInfo$AudioCapabilities;
-HPLandroid/media/MediaCrypto;-><init>(Ljava/util/UUID;[B)V
-HPLandroid/media/MediaCrypto;->finalize()V
-HPLandroid/media/MediaCrypto;->getByteArrayFromUUID(Ljava/util/UUID;)[B
-HPLandroid/media/MediaDescription$1;-><init>()V
+HPLandroid/media/MediaCodec;->freeAllTrackedBuffers()V
+HPLandroid/media/MediaCodec;->getCodecInfo()Landroid/media/MediaCodecInfo;
+HPLandroid/media/MediaCodec;->getInputBuffer(I)Ljava/nio/ByteBuffer;
+HPLandroid/media/MediaCodec;->getName()Ljava/lang/String;
+HPLandroid/media/MediaCodec;->postEventFromNative(IIILjava/lang/Object;)V
+HPLandroid/media/MediaCodec;->release()V
+HPLandroid/media/MediaCodec;->setCallback(Landroid/media/MediaCodec$Callback;Landroid/os/Handler;)V
+HPLandroid/media/MediaCodec;->stop()V
+HPLandroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;-><init>(IIII)V
+HPLandroid/media/MediaCodecInfo$VideoCapabilities;->lambda$getPerformancePoints$0(Landroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;Landroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;)I
 HPLandroid/media/MediaDescription$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/MediaDescription;
 HPLandroid/media/MediaDescription$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/media/MediaDescription$Builder;-><init>()V
-HPLandroid/media/MediaDescription$Builder;->build()Landroid/media/MediaDescription;
-HPLandroid/media/MediaDescription$Builder;->setDescription(Ljava/lang/CharSequence;)Landroid/media/MediaDescription$Builder;
-HPLandroid/media/MediaDescription$Builder;->setExtras(Landroid/os/Bundle;)Landroid/media/MediaDescription$Builder;
-HPLandroid/media/MediaDescription$Builder;->setIconBitmap(Landroid/graphics/Bitmap;)Landroid/media/MediaDescription$Builder;
-HPLandroid/media/MediaDescription$Builder;->setIconUri(Landroid/net/Uri;)Landroid/media/MediaDescription$Builder;
-HPLandroid/media/MediaDescription$Builder;->setMediaId(Ljava/lang/String;)Landroid/media/MediaDescription$Builder;
-HPLandroid/media/MediaDescription$Builder;->setMediaUri(Landroid/net/Uri;)Landroid/media/MediaDescription$Builder;
-HPLandroid/media/MediaDescription$Builder;->setSubtitle(Ljava/lang/CharSequence;)Landroid/media/MediaDescription$Builder;
-HPLandroid/media/MediaDescription$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/media/MediaDescription$Builder;
 HPLandroid/media/MediaDescription;-><init>(Landroid/os/Parcel;)V
-HPLandroid/media/MediaDescription;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/graphics/Bitmap;Landroid/net/Uri;Landroid/os/Bundle;Landroid/net/Uri;)V
-HPLandroid/media/MediaDescription;->equals(Ljava/lang/Object;)Z
 HPLandroid/media/MediaDescription;->getDescription()Ljava/lang/CharSequence;
 HPLandroid/media/MediaDescription;->getExtras()Landroid/os/Bundle;
 HPLandroid/media/MediaDescription;->getMediaId()Ljava/lang/String;
 HPLandroid/media/MediaDescription;->getSubtitle()Ljava/lang/CharSequence;
 HPLandroid/media/MediaDescription;->getTitle()Ljava/lang/CharSequence;
-HPLandroid/media/MediaDescription;->toString()Ljava/lang/String;
 HPLandroid/media/MediaDescription;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/media/MediaDrm$KeyRequest;->getDefaultUrl()Ljava/lang/String;
-HPLandroid/media/MediaDrm$MediaDrmStateException;-><init>(ILjava/lang/String;)V
-HPLandroid/media/MediaExtractor;-><init>()V
-HPLandroid/media/MediaExtractor;->finalize()V
-HPLandroid/media/MediaExtractor;->getTrackFormat(I)Landroid/media/MediaFormat;
-HPLandroid/media/MediaExtractor;->setDataSource(Ljava/lang/String;)V
 HPLandroid/media/MediaFile;->getFileTitle(Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/media/MediaFormat;->setFloat(Ljava/lang/String;F)V
+HPLandroid/media/MediaFile;->getFormatCode(Ljava/lang/String;Ljava/lang/String;)I
+HPLandroid/media/MediaFile;->getFormatCodeForMimeType(Ljava/lang/String;)I
+HPLandroid/media/MediaFile;->isPlayListMimeType(Ljava/lang/String;)Z
+HPLandroid/media/MediaFormat;->createVideoFormat(Ljava/lang/String;II)Landroid/media/MediaFormat;
 HPLandroid/media/MediaHTTPService;->createHttpServiceBinderIfNecessary(Ljava/lang/String;Ljava/util/List;)Landroid/os/IBinder;
-HPLandroid/media/MediaInserter;->flushAll()V
-HPLandroid/media/MediaInserter;->flushAllPriority()V
+HPLandroid/media/MediaInserter;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)V
+HPLandroid/media/MediaInserter;->insert(Landroid/net/Uri;Landroid/content/ContentValues;Z)V
+HPLandroid/media/MediaInserter;->insertwithPriority(Landroid/net/Uri;Landroid/content/ContentValues;)V
 HPLandroid/media/MediaMetadata$Builder;-><init>(Landroid/media/MediaMetadata;)V
+HPLandroid/media/MediaMetadata$Builder;->build()Landroid/media/MediaMetadata;
 HPLandroid/media/MediaMetadata;->containsKey(Ljava/lang/String;)Z
-HPLandroid/media/MediaMetadata;->equals(Ljava/lang/Object;)Z
-HPLandroid/media/MediaMetadata;->getBitmap(Ljava/lang/String;)Landroid/graphics/Bitmap;
-HPLandroid/media/MediaMetadata;->getDescription()Landroid/media/MediaDescription;
 HPLandroid/media/MediaMetadata;->getLong(Ljava/lang/String;)J
 HPLandroid/media/MediaMetadata;->getString(Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/media/MediaMetadata;->size()I
 HPLandroid/media/MediaMetadata;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/media/MediaMetadataRetriever;-><init>()V
+HPLandroid/media/MediaMetadataRetriever;->close()V
 HPLandroid/media/MediaMetadataRetriever;->finalize()V
-HPLandroid/media/MediaMetadataRetriever;->getFrameAtTime(J)Landroid/graphics/Bitmap;
 HPLandroid/media/MediaMetadataRetriever;->getFrameAtTime(JI)Landroid/graphics/Bitmap;
-HPLandroid/media/MediaMetadataRetriever;->setDataSource(Ljava/io/FileDescriptor;)V
 HPLandroid/media/MediaMetadataRetriever;->setDataSource(Ljava/lang/String;)V
+HPLandroid/media/MediaParceledListSlice$2;->createFromParcel(Landroid/os/Parcel;)Landroid/media/MediaParceledListSlice;
+HPLandroid/media/MediaParceledListSlice$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/media/MediaParceledListSlice;-><init>(Landroid/os/Parcel;)V
+HPLandroid/media/MediaParceledListSlice;->getList()Ljava/util/List;
+HPLandroid/media/MediaPlayer$2$1;->getSubtitleLooper()Landroid/os/Looper;
+HPLandroid/media/MediaPlayer$2$1;->setSubtitleWidget(Landroid/media/SubtitleTrack$RenderingWidget;)V
+HPLandroid/media/MediaPlayer$2;->run()V
+HPLandroid/media/MediaPlayer$7;->onCompletion(Landroid/media/MediaPlayer;)V
+HPLandroid/media/MediaPlayer$EventHandler;->handleMessage(Landroid/os/Message;)V
+HPLandroid/media/MediaPlayer$TimeProvider$EventHandler;->handleMessage(Landroid/os/Message;)V
+HPLandroid/media/MediaPlayer$TimeProvider;-><init>(Landroid/media/MediaPlayer;)V
+HPLandroid/media/MediaPlayer$TimeProvider;->close()V
+HPLandroid/media/MediaPlayer$TimeProvider;->finalize()V
+HPLandroid/media/MediaPlayer$TimeProvider;->getCurrentTimeUs(ZZ)J
+HPLandroid/media/MediaPlayer$TimeProvider;->notifySeek()V
 HPLandroid/media/MediaPlayer$TimeProvider;->notifyStop()V
 HPLandroid/media/MediaPlayer$TimeProvider;->notifyTimedEvent(Z)V
-HPLandroid/media/MediaPlayer$TimeProvider;->onSeekComplete(Landroid/media/MediaPlayer;)V
+HPLandroid/media/MediaPlayer$TimeProvider;->onPaused(Z)V
 HPLandroid/media/MediaPlayer$TimeProvider;->onStopped()V
-HPLandroid/media/MediaPlayer;->seekTo(I)V
-HPLandroid/media/MediaPlayer;->seekTo(JI)V
+HPLandroid/media/MediaPlayer$TimeProvider;->scheduleNotification(IJ)V
+HPLandroid/media/MediaPlayer$TrackInfo$1;-><init>()V
+HPLandroid/media/MediaPlayer$TrackInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/MediaPlayer$TrackInfo;
+HPLandroid/media/MediaPlayer$TrackInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/media/MediaPlayer$TrackInfo$1;->newArray(I)[Landroid/media/MediaPlayer$TrackInfo;
+HPLandroid/media/MediaPlayer$TrackInfo$1;->newArray(I)[Ljava/lang/Object;
+HPLandroid/media/MediaPlayer$TrackInfo;-><init>(Landroid/os/Parcel;)V
+HPLandroid/media/MediaPlayer$TrackInfo;->getTrackType()I
+HPLandroid/media/MediaPlayer;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+HPLandroid/media/MediaPlayer;-><init>()V
+HPLandroid/media/MediaPlayer;->attemptDataSource(Landroid/content/ContentResolver;Landroid/net/Uri;)Z
+HPLandroid/media/MediaPlayer;->cleanDrmObj()V
+HPLandroid/media/MediaPlayer;->create(Landroid/content/Context;ILandroid/media/AudioAttributes;I)Landroid/media/MediaPlayer;
+HPLandroid/media/MediaPlayer;->finalize()V
+HPLandroid/media/MediaPlayer;->getInbandTrackInfo()[Landroid/media/MediaPlayer$TrackInfo;
+HPLandroid/media/MediaPlayer;->getMediaTimeProvider()Landroid/media/MediaTimeProvider;
+HPLandroid/media/MediaPlayer;->invoke(Landroid/os/Parcel;Landroid/os/Parcel;)V
+HPLandroid/media/MediaPlayer;->pause()V
+HPLandroid/media/MediaPlayer;->playerSetAuxEffectSendLevel(ZF)I
+HPLandroid/media/MediaPlayer;->playerSetVolume(ZFF)V
+HPLandroid/media/MediaPlayer;->populateInbandTracks()V
+HPLandroid/media/MediaPlayer;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
+HPLandroid/media/MediaPlayer;->prepare()V
+HPLandroid/media/MediaPlayer;->release()V
+HPLandroid/media/MediaPlayer;->reset()V
+HPLandroid/media/MediaPlayer;->resetDrmState()V
+HPLandroid/media/MediaPlayer;->setAudioAttributes(Landroid/media/AudioAttributes;)V
 HPLandroid/media/MediaPlayer;->setAudioStreamType(I)V
+HPLandroid/media/MediaPlayer;->setDataSource(Landroid/content/Context;Landroid/net/Uri;)V
+HPLandroid/media/MediaPlayer;->setDataSource(Landroid/content/Context;Landroid/net/Uri;Ljava/util/Map;)V
+HPLandroid/media/MediaPlayer;->setDataSource(Landroid/content/Context;Landroid/net/Uri;Ljava/util/Map;Ljava/util/List;)V
+HPLandroid/media/MediaPlayer;->setDataSource(Landroid/content/res/AssetFileDescriptor;)V
+HPLandroid/media/MediaPlayer;->setDataSource(Ljava/io/FileDescriptor;)V
+HPLandroid/media/MediaPlayer;->setDataSource(Ljava/io/FileDescriptor;JJ)V
 HPLandroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;)V
 HPLandroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;Ljava/util/Map;Ljava/util/List;)V
 HPLandroid/media/MediaPlayer;->setDataSource(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Ljava/util/List;)V
+HPLandroid/media/MediaPlayer;->setOnCompletionListener(Landroid/media/MediaPlayer$OnCompletionListener;)V
+HPLandroid/media/MediaPlayer;->setOnErrorListener(Landroid/media/MediaPlayer$OnErrorListener;)V
+HPLandroid/media/MediaPlayer;->setOnInfoListener(Landroid/media/MediaPlayer$OnInfoListener;)V
+HPLandroid/media/MediaPlayer;->setOnPreparedListener(Landroid/media/MediaPlayer$OnPreparedListener;)V
+HPLandroid/media/MediaPlayer;->setOnSeekCompleteListener(Landroid/media/MediaPlayer$OnSeekCompleteListener;)V
+HPLandroid/media/MediaPlayer;->setSubtitleAnchor()V
+HPLandroid/media/MediaPlayer;->setSurface(Landroid/view/Surface;)V
+HPLandroid/media/MediaPlayer;->setVolume(F)V
+HPLandroid/media/MediaPlayer;->setVolume(FF)V
+HPLandroid/media/MediaPlayer;->start()V
+HPLandroid/media/MediaPlayer;->stayAwake(Z)V
 HPLandroid/media/MediaPlayer;->stop()V
-HPLandroid/media/MediaRouter$SimpleCallback;->onRouteAdded(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V
-HPLandroid/media/MediaRouter$SimpleCallback;->onRouteRemoved(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V
+HPLandroid/media/MediaRecorder;->isSystemOnlyAudioSource(I)Z
+HPLandroid/media/MediaRouter$RouteInfo;->select()V
 HPLandroid/media/MediaRouter$Static$1$1;->run()V
 HPLandroid/media/MediaRouter$Static$1;->dispatchAudioRoutesChanged(Landroid/media/AudioRoutesInfo;)V
 HPLandroid/media/MediaRouter$Static$Client$1;->run()V
+HPLandroid/media/MediaRouter$Static$Client$2;->run()V
+HPLandroid/media/MediaRouter$Static$Client;->onRestoreRoute()V
 HPLandroid/media/MediaRouter$Static$Client;->onStateChanged()V
-HPLandroid/media/MediaRouter$Static;->findGlobalRoute(Ljava/lang/String;)Landroid/media/MediaRouter$RouteInfo;
-HPLandroid/media/MediaRouter$Static;->makeGlobalRoute(Landroid/media/MediaRouterClientState$RouteInfo;)Landroid/media/MediaRouter$RouteInfo;
 HPLandroid/media/MediaRouter$Static;->onDisplayAdded(I)V
-HPLandroid/media/MediaRouter$Static;->onDisplayChanged(I)V
 HPLandroid/media/MediaRouter$Static;->onDisplayRemoved(I)V
-HPLandroid/media/MediaRouter$Static;->updateGlobalRoute(Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouterClientState$RouteInfo;)V
-HPLandroid/media/MediaRouter$Static;->updatePresentationDisplays(I)V
 HPLandroid/media/MediaRouter;->dispatchRoutePresentationDisplayChanged(Landroid/media/MediaRouter$RouteInfo;)V
-HPLandroid/media/MediaRouter;->dispatchRouteRemoved(Landroid/media/MediaRouter$RouteInfo;)V
 HPLandroid/media/MediaRouter;->dispatchRouteUnselected(ILandroid/media/MediaRouter$RouteInfo;)V
-HPLandroid/media/MediaRouter;->removeRouteStatic(Landroid/media/MediaRouter$RouteInfo;)V
-HPLandroid/media/MediaRouter;->removeUserRoute(Landroid/media/MediaRouter$UserRouteInfo;)V
 HPLandroid/media/MediaRouter;->systemVolumeChanged(I)V
-HPLandroid/media/MediaRouterClientState$RouteInfo;-><init>(Landroid/media/MediaRouterClientState$RouteInfo;)V
-HPLandroid/media/MediaRouterClientState$RouteInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/media/MediaRouterClientState;-><init>()V
-HPLandroid/media/MediaScanner$MyMediaScannerClient;->endFile(Landroid/media/MediaScanner$FileEntry;ZZZZZ)Landroid/net/Uri;
-HPLandroid/media/MediaScanner$MyMediaScannerClient;->toValues()Landroid/content/ContentValues;
-HPLandroid/media/MediaScanner;->close()V
-HPLandroid/media/MediaScanner;->finalize()V
+HPLandroid/media/MediaScanner$FileEntry;-><init>(JLjava/lang/String;JII)V
+HPLandroid/media/MediaScanner$MediaBulkDeleter;->delete(J)V
 HPLandroid/media/MediaScanner;->isNoMediaPath(Ljava/lang/String;)Z
-HPLandroid/media/MediaScanner;->processPlayLists()V
-HPLandroid/media/MiniThumbFile;->deactivate()V
-HPLandroid/media/MiniThumbFile;->getMagic(J)J
-HPLandroid/media/MiniThumbFile;->instance(Landroid/net/Uri;)Landroid/media/MiniThumbFile;
-HPLandroid/media/MiniThumbFile;->miniThumbDataFile()Ljava/io/RandomAccessFile;
-HPLandroid/media/MiniThumbFile;->randomAccessFilePath(I)Ljava/lang/String;
-HPLandroid/media/MiniThumbFile;->removeOldFile()V
-HPLandroid/media/PlayerBase$IPlayerWrapper;->setVolume(F)V
 HPLandroid/media/PlayerBase;->basePause()V
+HPLandroid/media/PlayerBase;->baseRelease()V
+HPLandroid/media/PlayerBase;->baseStop()V
+HPLandroid/media/PlayerBase;->baseUpdateAudioAttributes(Landroid/media/AudioAttributes;)V
+HPLandroid/media/PlayerProxy;->applyVolumeShaper(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)V
 HPLandroid/media/PlayerProxy;->setVolume(F)V
 HPLandroid/media/Rating$1;-><init>()V
 HPLandroid/media/Rating$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/Rating;
 HPLandroid/media/Rating$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/media/Rating;->newThumbRating(Z)Landroid/media/Rating;
 HPLandroid/media/Rating;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/media/RemoteDisplayState$1;-><init>()V
-HPLandroid/media/RemoteDisplayState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/RemoteDisplayState;
-HPLandroid/media/RemoteDisplayState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/media/RemoteDisplayState$RemoteDisplayInfo$1;-><init>()V
-HPLandroid/media/RemoteDisplayState$RemoteDisplayInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/RemoteDisplayState$RemoteDisplayInfo;
-HPLandroid/media/RemoteDisplayState$RemoteDisplayInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/media/RemoteDisplayState$RemoteDisplayInfo;-><init>(Landroid/os/Parcel;)V
-HPLandroid/media/RemoteDisplayState;->isValid()Z
+HPLandroid/media/Ringtone$MyOnCompletionListener;->onCompletion(Landroid/media/MediaPlayer;)V
+HPLandroid/media/Ringtone;-><init>(Landroid/content/Context;Z)V
+HPLandroid/media/Ringtone;->applyPlaybackProperties_sync()V
+HPLandroid/media/Ringtone;->destroyLocalPlayer()V
+HPLandroid/media/Ringtone;->finalize()V
 HPLandroid/media/Ringtone;->getUri()Landroid/net/Uri;
 HPLandroid/media/Ringtone;->isPlaying()Z
 HPLandroid/media/Ringtone;->play()V
 HPLandroid/media/Ringtone;->setAudioAttributes(Landroid/media/AudioAttributes;)V
 HPLandroid/media/Ringtone;->setStreamType(I)V
+HPLandroid/media/Ringtone;->setUri(Landroid/net/Uri;Landroid/media/VolumeShaper$Configuration;)V
 HPLandroid/media/Ringtone;->startLocalPlayer()V
 HPLandroid/media/Ringtone;->stop()V
+HPLandroid/media/RingtoneManager;-><init>(Landroid/content/Context;)V
+HPLandroid/media/RingtoneManager;->constructBooleanTrueWhereClause(Ljava/util/List;)Ljava/lang/String;
+HPLandroid/media/RingtoneManager;->getActualDefaultRingtoneUri(Landroid/content/Context;I)Landroid/net/Uri;
+HPLandroid/media/RingtoneManager;->getCursor()Landroid/database/Cursor;
+HPLandroid/media/RingtoneManager;->getMediaRingtones(Landroid/content/Context;)Landroid/database/Cursor;
+HPLandroid/media/RingtoneManager;->getRingtone(Landroid/content/Context;Landroid/net/Uri;)Landroid/media/Ringtone;
+HPLandroid/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;
+HPLandroid/media/RingtoneManager;->setFilterColumnsList(I)V
+HPLandroid/media/RingtoneManager;->setType(I)V
+HPLandroid/media/SoundPool$Builder;-><init>()V
+HPLandroid/media/SoundPool$Builder;->setMaxStreams(I)Landroid/media/SoundPool$Builder;
+HPLandroid/media/SoundPool;->load(Landroid/content/Context;II)I
 HPLandroid/media/SoundPool;->play(IFFIIF)I
+HPLandroid/media/SoundPool;->playerSetAuxEffectSendLevel(ZF)I
+HPLandroid/media/SoundPool;->playerSetVolume(ZFF)V
+HPLandroid/media/SubtitleController$1;->handleMessage(Landroid/os/Message;)Z
+HPLandroid/media/SubtitleController;-><init>(Landroid/content/Context;Landroid/media/MediaTimeProvider;Landroid/media/SubtitleController$Listener;)V
+HPLandroid/media/SubtitleController;->doSelectDefaultTrack()V
 HPLandroid/media/SubtitleController;->doSelectTrack(Landroid/media/SubtitleTrack;)V
+HPLandroid/media/SubtitleController;->finalize()V
+HPLandroid/media/SubtitleController;->getDefaultTrack()Landroid/media/SubtitleTrack;
 HPLandroid/media/SubtitleController;->hide()V
 HPLandroid/media/SubtitleController;->reset()V
+HPLandroid/media/SubtitleController;->selectDefaultTrack()V
 HPLandroid/media/SubtitleController;->selectTrack(Landroid/media/SubtitleTrack;)Z
-HPLandroid/media/ThumbnailUtils;->createVideoThumbnail(Ljava/lang/String;I)Landroid/graphics/Bitmap;
-HPLandroid/media/ThumbnailUtils;->extractThumbnail(Landroid/graphics/Bitmap;II)Landroid/graphics/Bitmap;
-HPLandroid/media/ThumbnailUtils;->extractThumbnail(Landroid/graphics/Bitmap;III)Landroid/graphics/Bitmap;
-HPLandroid/media/ThumbnailUtils;->transform(Landroid/graphics/Matrix;Landroid/graphics/Bitmap;III)Landroid/graphics/Bitmap;
+HPLandroid/media/SubtitleController;->setAnchor(Landroid/media/SubtitleController$Anchor;)V
+HPLandroid/media/ThumbnailUtils;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+HPLandroid/media/ThumbnailUtils;->createVideoThumbnail(Ljava/io/File;Landroid/util/Size;Landroid/os/CancellationSignal;)Landroid/graphics/Bitmap;
+HPLandroid/media/ToneGenerator;->finalize()V
 HPLandroid/media/ToneGenerator;->startTone(I)Z
+HPLandroid/media/VolumeShaper$Configuration;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/media/audiofx/AudioEffect$Descriptor;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/media/audiofx/AudioEffect$Descriptor;->equals(Ljava/lang/Object;)Z
+HPLandroid/media/audiopolicy/AudioMix$Builder;->build()Landroid/media/audiopolicy/AudioMix;
+HPLandroid/media/audiopolicy/AudioMix$Builder;->setCallbackFlags(I)Landroid/media/audiopolicy/AudioMix$Builder;
+HPLandroid/media/audiopolicy/AudioMix$Builder;->setRouteFlags(I)Landroid/media/audiopolicy/AudioMix$Builder;
+HPLandroid/media/audiopolicy/AudioMix;-><init>(Landroid/media/audiopolicy/AudioMixingRule;Landroid/media/AudioFormat;IIILjava/lang/String;)V
+HPLandroid/media/audiopolicy/AudioMix;->getMixType()I
+HPLandroid/media/audiopolicy/AudioMix;->getRouteFlags()I
+HPLandroid/media/audiopolicy/AudioMix;->hashCode()I
+HPLandroid/media/audiopolicy/AudioMix;->isAffectingUsage(I)Z
+HPLandroid/media/audiopolicy/AudioMix;->setRegistration(Ljava/lang/String;)V
+HPLandroid/media/audiopolicy/AudioMixingRule$AudioMixMatchCriterion;->hashCode()I
+HPLandroid/media/audiopolicy/AudioMixingRule$Builder;->addRuleFromParcel(Landroid/os/Parcel;)Landroid/media/audiopolicy/AudioMixingRule$Builder;
+HPLandroid/media/audiopolicy/AudioMixingRule$Builder;->addRuleInternal(Landroid/media/AudioAttributes;Ljava/lang/Integer;I)Landroid/media/audiopolicy/AudioMixingRule$Builder;
+HPLandroid/media/audiopolicy/AudioMixingRule;->getTargetMixType()I
+HPLandroid/media/audiopolicy/AudioMixingRule;->hashCode()I
+HPLandroid/media/audiopolicy/AudioMixingRule;->isAffectingUsage(I)Z
+HPLandroid/media/audiopolicy/AudioPolicyConfig$1;-><init>()V
+HPLandroid/media/audiopolicy/AudioPolicyConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/audiopolicy/AudioPolicyConfig;
+HPLandroid/media/audiopolicy/AudioPolicyConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/media/audiopolicy/AudioPolicyConfig;-><init>(Landroid/media/audiopolicy/AudioPolicyConfig;)V
+HPLandroid/media/audiopolicy/AudioPolicyConfig;-><init>(Landroid/os/Parcel;)V
+HPLandroid/media/audiopolicy/AudioPolicyConfig;->getMixes()Ljava/util/ArrayList;
+HPLandroid/media/audiopolicy/AudioPolicyConfig;->hashCode()I
+HPLandroid/media/audiopolicy/AudioPolicyConfig;->setMixRegistration(Landroid/media/audiopolicy/AudioMix;)V
+HPLandroid/media/audiopolicy/AudioPolicyConfig;->setRegistration(Ljava/lang/String;)V
+HPLandroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;->notifyAudioFocusGrant(Landroid/media/AudioFocusInfo;I)V
+HPLandroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;->notifyAudioFocusLoss(Landroid/media/AudioFocusInfo;Z)V
 HPLandroid/media/audiopolicy/IAudioPolicyCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/audiopolicy/IAudioPolicyCallback;
+HPLandroid/media/browse/MediaBrowser$1;->run()V
 HPLandroid/media/browse/MediaBrowser$2;->run()V
 HPLandroid/media/browse/MediaBrowser$6;->run()V
 HPLandroid/media/browse/MediaBrowser$7;->run()V
 HPLandroid/media/browse/MediaBrowser$8;->run()V
-HPLandroid/media/browse/MediaBrowser$MediaItem$1;-><init>()V
+HPLandroid/media/browse/MediaBrowser$ConnectionCallback;-><init>()V
 HPLandroid/media/browse/MediaBrowser$MediaItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/browse/MediaBrowser$MediaItem;
 HPLandroid/media/browse/MediaBrowser$MediaItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/media/browse/MediaBrowser$MediaItem;->getDescription()Landroid/media/MediaDescription;
 HPLandroid/media/browse/MediaBrowser$MediaItem;->getMediaId()Ljava/lang/String;
 HPLandroid/media/browse/MediaBrowser$MediaItem;->isBrowsable()Z
 HPLandroid/media/browse/MediaBrowser$MediaItem;->toString()Ljava/lang/String;
-HPLandroid/media/browse/MediaBrowser$MediaItem;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/media/browse/MediaBrowser$MediaServiceConnection$1;->run()V
 HPLandroid/media/browse/MediaBrowser$MediaServiceConnection;->isCurrent(Ljava/lang/String;)Z
 HPLandroid/media/browse/MediaBrowser$MediaServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
 HPLandroid/media/browse/MediaBrowser$MediaServiceConnection;->postOrRun(Ljava/lang/Runnable;)V
 HPLandroid/media/browse/MediaBrowser$ServiceCallbacks;->onConnect(Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V
 HPLandroid/media/browse/MediaBrowser$ServiceCallbacks;->onConnectFailed()V
-HPLandroid/media/browse/MediaBrowser$ServiceCallbacks;->onLoadChildrenWithOptions(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;Landroid/os/Bundle;)V
+HPLandroid/media/browse/MediaBrowser$ServiceCallbacks;->onLoadChildrenWithOptions(Ljava/lang/String;Landroid/media/MediaParceledListSlice;Landroid/os/Bundle;)V
 HPLandroid/media/browse/MediaBrowser$Subscription;->getCallback(Landroid/content/Context;Landroid/os/Bundle;)Landroid/media/browse/MediaBrowser$SubscriptionCallback;
 HPLandroid/media/browse/MediaBrowser$Subscription;->getCallbacks()Ljava/util/List;
 HPLandroid/media/browse/MediaBrowser$Subscription;->getOptionsList()Ljava/util/List;
 HPLandroid/media/browse/MediaBrowser$Subscription;->isEmpty()Z
 HPLandroid/media/browse/MediaBrowser$Subscription;->putCallback(Landroid/content/Context;Landroid/os/Bundle;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V
 HPLandroid/media/browse/MediaBrowser$SubscriptionCallback;-><init>()V
+HPLandroid/media/browse/MediaBrowser;-><init>(Landroid/content/Context;Landroid/content/ComponentName;Landroid/media/browse/MediaBrowser$ConnectionCallback;Landroid/os/Bundle;)V
+HPLandroid/media/browse/MediaBrowser;->connect()V
 HPLandroid/media/browse/MediaBrowser;->disconnect()V
 HPLandroid/media/browse/MediaBrowser;->forceCloseConnection()V
 HPLandroid/media/browse/MediaBrowser;->getRoot()Ljava/lang/String;
@@ -3499,274 +3782,334 @@
 HPLandroid/media/browse/MediaBrowser;->subscribeInternal(Ljava/lang/String;Landroid/os/Bundle;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V
 HPLandroid/media/browse/MediaBrowser;->unsubscribe(Ljava/lang/String;)V
 HPLandroid/media/browse/MediaBrowser;->unsubscribeInternal(Ljava/lang/String;Landroid/media/browse/MediaBrowser$SubscriptionCallback;)V
+HPLandroid/media/projection/IMediaProjection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/projection/IMediaProjection;
+HPLandroid/media/session/ControllerCallbackLink$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/session/ControllerCallbackLink;
+HPLandroid/media/session/ControllerCallbackLink$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/media/session/ControllerCallbackLink$CallbackStubProxy;->notifySessionDestroyed()V
+HPLandroid/media/session/ControllerCallbackLink;->getBinder()Landroid/os/IBinder;
+HPLandroid/media/session/ControllerCallbackLink;->notifyExtrasChanged(Landroid/os/Bundle;)V
+HPLandroid/media/session/ControllerCallbackLink;->notifyMetadataChanged(Landroid/media/MediaMetadata;)V
+HPLandroid/media/session/ControllerCallbackLink;->notifyPlaybackStateChanged(Landroid/media/session/PlaybackState;)V
+HPLandroid/media/session/ControllerCallbackLink;->notifyQueueChanged(Ljava/util/List;)V
+HPLandroid/media/session/ControllerCallbackLink;->notifyQueueTitleChanged(Ljava/lang/CharSequence;)V
+HPLandroid/media/session/ControllerCallbackLink;->notifySessionDestroyed()V
+HPLandroid/media/session/ControllerCallbackLink;->notifyVolumeInfoChanged(Landroid/media/session/MediaController$PlaybackInfo;)V
+HPLandroid/media/session/ControllerLink$StubProxy;->getExtras()Landroid/os/Bundle;
+HPLandroid/media/session/ControllerLink$StubProxy;->getFlags()J
+HPLandroid/media/session/ControllerLink$StubProxy;->getMetadata()Landroid/media/MediaMetadata;
+HPLandroid/media/session/ControllerLink$StubProxy;->getPackageName()Ljava/lang/String;
+HPLandroid/media/session/ControllerLink$StubProxy;->getPlaybackState()Landroid/media/session/PlaybackState;
+HPLandroid/media/session/ControllerLink$StubProxy;->getQueue()Landroid/media/MediaParceledListSlice;
+HPLandroid/media/session/ControllerLink$StubProxy;->getQueueTitle()Ljava/lang/CharSequence;
+HPLandroid/media/session/ControllerLink$StubProxy;->getRatingType()I
+HPLandroid/media/session/ControllerLink$StubProxy;->getVolumeAttributes()Landroid/media/session/MediaController$PlaybackInfo;
+HPLandroid/media/session/ControllerLink$StubProxy;->registerCallback(Ljava/lang/String;Landroid/media/session/ControllerCallbackLink;)V
+HPLandroid/media/session/ControllerLink$StubProxy;->sendCommand(Ljava/lang/String;Landroid/media/session/ControllerCallbackLink;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
+HPLandroid/media/session/ControllerLink$StubProxy;->sendMediaButton(Ljava/lang/String;Landroid/media/session/ControllerCallbackLink;Landroid/view/KeyEvent;)Z
+HPLandroid/media/session/ControllerLink$StubProxy;->unregisterCallback(Landroid/media/session/ControllerCallbackLink;)V
+HPLandroid/media/session/ControllerLink;->equals(Ljava/lang/Object;)Z
+HPLandroid/media/session/ControllerLink;->getMetadata()Landroid/media/MediaMetadata;
+HPLandroid/media/session/ControllerLink;->getPackageName()Ljava/lang/String;
+HPLandroid/media/session/ControllerLink;->getPlaybackState()Landroid/media/session/PlaybackState;
+HPLandroid/media/session/ControllerLink;->getQueue()Ljava/util/List;
+HPLandroid/media/session/ControllerLink;->getRatingType()I
+HPLandroid/media/session/ControllerLink;->registerCallback(Ljava/lang/String;Landroid/media/session/ControllerCallbackLink;)V
 HPLandroid/media/session/IActiveSessionsListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/media/session/ICallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/media/session/ICallback$Stub$Proxy;->onAddressedPlayerChangedToMediaButtonReceiver(Landroid/content/ComponentName;)V
 HPLandroid/media/session/ICallback$Stub$Proxy;->onAddressedPlayerChangedToMediaSession(Landroid/media/session/MediaSession$Token;)V
-HPLandroid/media/session/ISession$Stub$Proxy;->setQueue(Landroid/content/pm/ParceledListSlice;)V
+HPLandroid/media/session/ICallback$Stub$Proxy;->onMediaKeyEventDispatchedToMediaButtonReceiver(Landroid/view/KeyEvent;Landroid/content/ComponentName;)V
+HPLandroid/media/session/IOnMediaKeyListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/media/session/IOnMediaKeyListener$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/media/session/IOnMediaKeyListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/IOnMediaKeyListener;
+HPLandroid/media/session/IOnVolumeKeyLongPressListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/media/session/IOnVolumeKeyLongPressListener$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/media/session/ISession$Stub$Proxy;->destroySession()V
 HPLandroid/media/session/ISession$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/media/session/ISession$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/media/session/ISession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/media/session/ISessionCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/media/session/ISessionCallback$Stub$Proxy;->onAdjustVolume(Ljava/lang/String;III)V
-HPLandroid/media/session/ISessionCallback$Stub$Proxy;->onCommand(Ljava/lang/String;IILjava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-HPLandroid/media/session/ISessionController$Stub$Proxy;->adjustVolume(Ljava/lang/String;ZII)V
+HPLandroid/media/session/ISessionCallback$Stub$Proxy;->notifyAdjustVolume(Ljava/lang/String;IILandroid/media/session/ControllerCallbackLink;I)V
+HPLandroid/media/session/ISessionCallback$Stub$Proxy;->notifyCommand(Ljava/lang/String;IILandroid/media/session/ControllerCallbackLink;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
+HPLandroid/media/session/ISessionCallback$Stub$Proxy;->notifyMediaButtonFromController(Ljava/lang/String;IILandroid/media/session/ControllerCallbackLink;Landroid/content/Intent;)V
 HPLandroid/media/session/ISessionController$Stub$Proxy;->getMetadata()Landroid/media/MediaMetadata;
 HPLandroid/media/session/ISessionController$Stub$Proxy;->getPackageName()Ljava/lang/String;
 HPLandroid/media/session/ISessionController$Stub$Proxy;->getPlaybackState()Landroid/media/session/PlaybackState;
-HPLandroid/media/session/ISessionController$Stub$Proxy;->getQueue()Landroid/content/pm/ParceledListSlice;
-HPLandroid/media/session/ISessionController$Stub$Proxy;->registerCallbackListener(Landroid/media/session/ISessionControllerCallback;)V
-HPLandroid/media/session/ISessionController$Stub$Proxy;->registerCallbackListener(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-HPLandroid/media/session/ISessionController$Stub$Proxy;->unregisterCallbackListener(Landroid/media/session/ISessionControllerCallback;)V
+HPLandroid/media/session/ISessionController$Stub$Proxy;->getQueue()Landroid/media/MediaParceledListSlice;
+HPLandroid/media/session/ISessionController$Stub$Proxy;->getRatingType()I
+HPLandroid/media/session/ISessionController$Stub$Proxy;->registerCallback(Ljava/lang/String;Landroid/media/session/ControllerCallbackLink;)V
 HPLandroid/media/session/ISessionController$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/media/session/ISessionController$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/media/session/ISessionController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onExtrasChanged(Landroid/os/Bundle;)V
-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/content/pm/ParceledListSlice;)V
-HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onQueueTitleChanged(Ljava/lang/CharSequence;)V
-HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onSessionDestroyed()V
-HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->onVolumeInfoChanged(Landroid/media/session/ParcelableVolumeInfo;)V
+HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->notifyExtrasChanged(Landroid/os/Bundle;)V
+HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->notifyMetadataChanged(Landroid/media/MediaMetadata;)V
+HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->notifyPlaybackStateChanged(Landroid/media/session/PlaybackState;)V
+HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->notifyQueueChanged(Landroid/media/MediaParceledListSlice;)V
+HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->notifyQueueTitleChanged(Ljava/lang/CharSequence;)V
+HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->notifySessionDestroyed()V
+HPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->notifyVolumeInfoChanged(Landroid/media/session/MediaController$PlaybackInfo;)V
 HPLandroid/media/session/ISessionControllerCallback$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/media/session/ISessionControllerCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/session/ISessionControllerCallback;
 HPLandroid/media/session/ISessionControllerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/media/session/ISessionManager$Stub$Proxy;->dispatchVolumeKeyEvent(Ljava/lang/String;ZLandroid/view/KeyEvent;IZ)V
-HPLandroid/media/session/ISessionManager$Stub$Proxy;->removeSessionsListener(Landroid/media/session/IActiveSessionsListener;)V
-HPLandroid/media/session/MediaController$Callback;->onQueueTitleChanged(Ljava/lang/CharSequence;)V
-HPLandroid/media/session/MediaController$CallbackStub;->onMetadataChanged(Landroid/media/MediaMetadata;)V
-HPLandroid/media/session/MediaController$CallbackStub;->onPlaybackStateChanged(Landroid/media/session/PlaybackState;)V
-HPLandroid/media/session/MediaController$CallbackStub;->onQueueChanged(Landroid/content/pm/ParceledListSlice;)V
-HPLandroid/media/session/MediaController$CallbackStub;->onQueueTitleChanged(Ljava/lang/CharSequence;)V
+HPLandroid/media/session/ISessionManager$Stub$Proxy;->dispatchVolumeKeyEventToSessionAsSystemService(Ljava/lang/String;Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/view/KeyEvent;)V
+HPLandroid/media/session/ISessionManager$Stub$Proxy;->getSessions(Landroid/content/ComponentName;I)Ljava/util/List;
+HPLandroid/media/session/ISessionManager$Stub$Proxy;->setOnMediaKeyListener(Landroid/media/session/IOnMediaKeyListener;)V
+HPLandroid/media/session/ISessionManager$Stub$Proxy;->setOnVolumeKeyLongPressListener(Landroid/media/session/IOnVolumeKeyLongPressListener;)V
+HPLandroid/media/session/ISessionManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/media/session/MediaController$Callback;-><init>()V
 HPLandroid/media/session/MediaController$CallbackStub;->onSessionDestroyed()V
 HPLandroid/media/session/MediaController$MessageHandler;->handleMessage(Landroid/os/Message;)V
+HPLandroid/media/session/MediaController$PlaybackInfo$1;-><init>()V
+HPLandroid/media/session/MediaController$PlaybackInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/media/session/MediaController;->addCallbackLocked(Landroid/media/session/MediaController$Callback;Landroid/os/Handler;)V
-HPLandroid/media/session/MediaController;->dispatchVolumeButtonEventAsSystemService(Landroid/view/KeyEvent;)V
 HPLandroid/media/session/MediaController;->getHandlerForCallbackLocked(Landroid/media/session/MediaController$Callback;)Landroid/media/session/MediaController$MessageHandler;
 HPLandroid/media/session/MediaController;->getMetadata()Landroid/media/MediaMetadata;
 HPLandroid/media/session/MediaController;->getPackageName()Ljava/lang/String;
 HPLandroid/media/session/MediaController;->getPlaybackState()Landroid/media/session/PlaybackState;
 HPLandroid/media/session/MediaController;->getQueue()Ljava/util/List;
+HPLandroid/media/session/MediaController;->getRatingType()I
 HPLandroid/media/session/MediaController;->getTransportControls()Landroid/media/session/MediaController$TransportControls;
 HPLandroid/media/session/MediaController;->postMessage(ILjava/lang/Object;Landroid/os/Bundle;)V
 HPLandroid/media/session/MediaController;->registerCallback(Landroid/media/session/MediaController$Callback;Landroid/os/Handler;)V
-HPLandroid/media/session/MediaController;->removeCallbackLocked(Landroid/media/session/MediaController$Callback;)Z
-HPLandroid/media/session/MediaController;->unregisterCallback(Landroid/media/session/MediaController$Callback;)V
-HPLandroid/media/session/MediaSession$CallbackStub;->onCustomAction(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-HPLandroid/media/session/MediaSession$CallbackStub;->onMediaButtonFromController(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/content/Intent;)V
-HPLandroid/media/session/MediaSession$CallbackStub;->onPause(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-HPLandroid/media/session/MediaSession$QueueItem$1;-><init>()V
 HPLandroid/media/session/MediaSession$QueueItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/session/MediaSession$QueueItem;
 HPLandroid/media/session/MediaSession$QueueItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/media/session/MediaSession$QueueItem;-><init>(Landroid/media/MediaDescription;J)V
-HPLandroid/media/session/MediaSession$QueueItem;->equals(Ljava/lang/Object;)Z
 HPLandroid/media/session/MediaSession$QueueItem;->getDescription()Landroid/media/MediaDescription;
 HPLandroid/media/session/MediaSession$QueueItem;->getQueueId()J
 HPLandroid/media/session/MediaSession$QueueItem;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/media/session/MediaSession;->setQueue(Ljava/util/List;)V
+HPLandroid/media/session/MediaSession$Token$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/session/MediaSession$Token;
+HPLandroid/media/session/MediaSession$Token$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/media/session/MediaSession$Token;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/media/session/MediaSession;->isActiveState(I)Z
+HPLandroid/media/session/MediaSession;->release()V
+HPLandroid/media/session/MediaSessionEngine;->close()V
 HPLandroid/media/session/MediaSessionLegacyHelper;-><init>(Landroid/content/Context;)V
 HPLandroid/media/session/MediaSessionLegacyHelper;->getHelper(Landroid/content/Context;)Landroid/media/session/MediaSessionLegacyHelper;
 HPLandroid/media/session/MediaSessionLegacyHelper;->sendVolumeKeyEvent(Landroid/view/KeyEvent;IZ)V
-HPLandroid/media/session/MediaSessionManager$CallbackImpl$3;->run()V
-HPLandroid/media/session/MediaSessionManager$CallbackImpl;->onAddressedPlayerChangedToMediaSession(Landroid/media/session/MediaSession$Token;)V
 HPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper$1$1;->run()V
 HPLandroid/media/session/MediaSessionManager$SessionsChangedWrapper$1;->onActiveSessionsChanged(Ljava/util/List;)V
-HPLandroid/media/session/MediaSessionManager;->dispatchVolumeKeyEventAsSystemService(Landroid/view/KeyEvent;I)V
-HPLandroid/media/session/MediaSessionManager;->dispatchVolumeKeyEventInternal(ZLandroid/view/KeyEvent;IZ)V
-HPLandroid/media/session/MediaSessionManager;->removeOnActiveSessionsChangedListener(Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;)V
-HPLandroid/media/session/ParcelableVolumeInfo$1;-><init>()V
-HPLandroid/media/session/ParcelableVolumeInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/media/session/MediaSessionManager;->dispatchVolumeKeyEventAsSystemService(Landroid/media/session/MediaSession$Token;Landroid/view/KeyEvent;)V
+HPLandroid/media/session/MediaSessionManager;->getActiveSessions(Landroid/content/ComponentName;)Ljava/util/List;
+HPLandroid/media/session/MediaSessionManager;->getActiveSessionsForUser(Landroid/content/ComponentName;I)Ljava/util/List;
+HPLandroid/media/session/MediaSessionManager;->setOnMediaKeyListener(Landroid/media/session/MediaSessionManager$OnMediaKeyListener;Landroid/os/Handler;)V
+HPLandroid/media/session/MediaSessionManager;->setOnVolumeKeyLongPressListener(Landroid/media/session/MediaSessionManager$OnVolumeKeyLongPressListener;Landroid/os/Handler;)V
 HPLandroid/media/session/PlaybackState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/session/PlaybackState;
 HPLandroid/media/session/PlaybackState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/media/session/PlaybackState$Builder;-><init>(Landroid/media/session/PlaybackState;)V
 HPLandroid/media/session/PlaybackState$CustomAction$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/session/PlaybackState$CustomAction;
 HPLandroid/media/session/PlaybackState$CustomAction$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/media/session/PlaybackState$CustomAction;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;ILandroid/os/Bundle;Landroid/media/session/PlaybackState$1;)V
-HPLandroid/media/session/PlaybackState$CustomAction;->toString()Ljava/lang/String;
+HPLandroid/media/session/PlaybackState$CustomAction;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/media/session/PlaybackState;-><init>(Landroid/os/Parcel;)V
+HPLandroid/media/session/PlaybackState;->getActions()J
 HPLandroid/media/session/PlaybackState;->getActiveQueueItemId()J
 HPLandroid/media/session/PlaybackState;->getPosition()J
-HPLandroid/media/session/PlaybackState;->toString()Ljava/lang/String;
-HPLandroid/media/soundtrigger/-$$Lambda$ISQYIYPBRBIOLBUJy7rrJW-SiJg;-><init>()V
-HPLandroid/media/soundtrigger/-$$Lambda$ISQYIYPBRBIOLBUJy7rrJW-SiJg;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HPLandroid/media/soundtrigger/-$$Lambda$SoundTriggerDetectionService$1$LlOo7TiZplZCgGhS07DqYHocFcw;-><init>()V
-HPLandroid/media/soundtrigger/-$$Lambda$SoundTriggerDetectionService$1$LlOo7TiZplZCgGhS07DqYHocFcw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HPLandroid/media/soundtrigger/-$$Lambda$SoundTriggerDetectionService$1$pKR4r0FzOzoVczcnvLQIZNjkZZw;-><init>()V
-HPLandroid/media/soundtrigger/-$$Lambda$SoundTriggerDetectionService$1$pKR4r0FzOzoVczcnvLQIZNjkZZw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HPLandroid/media/soundtrigger/ISoundTriggerDetectionService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/media/soundtrigger/ISoundTriggerDetectionService;->onError(Landroid/os/ParcelUuid;II)V
-HPLandroid/media/soundtrigger/ISoundTriggerDetectionService;->onGenericRecognitionEvent(Landroid/os/ParcelUuid;ILandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;)V
-HPLandroid/media/soundtrigger/ISoundTriggerDetectionService;->onStopOperation(Landroid/os/ParcelUuid;I)V
-HPLandroid/media/soundtrigger/ISoundTriggerDetectionService;->removeClient(Landroid/os/ParcelUuid;)V
-HPLandroid/media/soundtrigger/ISoundTriggerDetectionService;->setClient(Landroid/os/ParcelUuid;Landroid/os/Bundle;Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient;)V
-HPLandroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub$Proxy;->onOpFinished(I)V
-HPLandroid/media/soundtrigger/ISoundTriggerDetectionServiceClient;->onOpFinished(I)V
-HPLandroid/media/soundtrigger/SoundTriggerDetectionService$1;->onGenericRecognitionEvent(Landroid/os/ParcelUuid;ILandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;)V
-HPLandroid/media/soundtrigger/SoundTriggerDetectionService$1;->removeClient(Landroid/os/ParcelUuid;)V
-HPLandroid/media/soundtrigger/SoundTriggerDetectionService$1;->setClient(Landroid/os/ParcelUuid;Landroid/os/Bundle;Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient;)V
-HPLandroid/media/soundtrigger/SoundTriggerDetectionService;-><init>()V
-HPLandroid/media/soundtrigger/SoundTriggerDetectionService;->attachBaseContext(Landroid/content/Context;)V
-HPLandroid/media/soundtrigger/SoundTriggerDetectionService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HPLandroid/media/soundtrigger/SoundTriggerDetectionService;->onConnected(Ljava/util/UUID;Landroid/os/Bundle;)V
-HPLandroid/media/soundtrigger/SoundTriggerDetectionService;->onDisconnected(Ljava/util/UUID;Landroid/os/Bundle;)V
-HPLandroid/media/soundtrigger/SoundTriggerDetectionService;->onStopOperation(Ljava/util/UUID;Landroid/os/Bundle;I)V
-HPLandroid/media/soundtrigger/SoundTriggerDetectionService;->operationFinished(Ljava/util/UUID;I)V
-HPLandroid/media/soundtrigger/SoundTriggerDetectionService;->removeClient(Ljava/util/UUID;Landroid/os/Bundle;)V
-HPLandroid/media/soundtrigger/SoundTriggerDetectionService;->setClient(Ljava/util/UUID;Landroid/os/Bundle;Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient;)V
-HPLandroid/media/soundtrigger/SoundTriggerManager;->deleteModel(Ljava/util/UUID;)V
+HPLandroid/media/session/PlaybackState;->getState()I
+HPLandroid/media/session/SessionCallbackLink$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/session/SessionCallbackLink;
+HPLandroid/media/session/SessionCallbackLink$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/media/session/SessionCallbackLink;->notifyAdjustVolume(Ljava/lang/String;IILandroid/media/session/ControllerCallbackLink;I)V
+HPLandroid/media/session/SessionCallbackLink;->notifyCommand(Ljava/lang/String;IILandroid/media/session/ControllerCallbackLink;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
+HPLandroid/media/session/SessionCallbackLink;->notifyMediaButtonFromController(Ljava/lang/String;IILandroid/media/session/ControllerCallbackLink;Landroid/content/Intent;)V
+HPLandroid/media/session/SessionLink$StubProxy;->destroySession()V
+HPLandroid/media/session/SessionLink$StubProxy;->setActive(Z)V
+HPLandroid/media/session/SessionLink$StubProxy;->setCurrentVolume(I)V
+HPLandroid/media/session/SessionLink$StubProxy;->setExtras(Landroid/os/Bundle;)V
+HPLandroid/media/session/SessionLink$StubProxy;->setLaunchPendingIntent(Landroid/app/PendingIntent;)V
+HPLandroid/media/session/SessionLink$StubProxy;->setMediaButtonReceiver(Landroid/app/PendingIntent;)V
+HPLandroid/media/session/SessionLink$StubProxy;->setMetadata(Landroid/media/MediaMetadata;JLjava/lang/String;)V
+HPLandroid/media/session/SessionLink$StubProxy;->setPlaybackState(Landroid/media/session/PlaybackState;)V
+HPLandroid/media/session/SessionLink$StubProxy;->setPlaybackToRemote(II)V
+HPLandroid/media/session/SessionLink$StubProxy;->setQueue(Landroid/media/MediaParceledListSlice;)V
+HPLandroid/media/session/SessionLink$StubProxy;->setQueueTitle(Ljava/lang/CharSequence;)V
+HPLandroid/media/session/SessionLink$StubProxy;->setRatingType(I)V
+HPLandroid/media/session/SessionLink;->destroySession()V
+HPLandroid/media/soundtrigger/ISoundTriggerDetectionService$Stub$Proxy;->onGenericRecognitionEvent(Landroid/os/ParcelUuid;ILandroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;)V
+HPLandroid/media/soundtrigger/ISoundTriggerDetectionService$Stub$Proxy;->removeClient(Landroid/os/ParcelUuid;)V
+HPLandroid/media/soundtrigger/ISoundTriggerDetectionService$Stub$Proxy;->setClient(Landroid/os/ParcelUuid;Landroid/os/Bundle;Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient;)V
+HPLandroid/media/soundtrigger/ISoundTriggerDetectionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/soundtrigger/ISoundTriggerDetectionService;
+HPLandroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub;-><init>()V
+HPLandroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/media/soundtrigger/SoundTriggerManager;-><init>(Landroid/content/Context;Lcom/android/internal/app/ISoundTriggerService;)V
 HPLandroid/media/soundtrigger/SoundTriggerManager;->isRecognitionActive(Ljava/util/UUID;)Z
-HPLandroid/media/soundtrigger/SoundTriggerManager;->loadSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;)I
-HPLandroid/media/soundtrigger/SoundTriggerManager;->startRecognition(Ljava/util/UUID;Landroid/os/Bundle;Landroid/content/ComponentName;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
 HPLandroid/metrics/LogMaker;->clearCategory()Landroid/metrics/LogMaker;
 HPLandroid/metrics/LogMaker;->clearSubtype()Landroid/metrics/LogMaker;
 HPLandroid/metrics/LogMaker;->clearTaggedData(I)Landroid/metrics/LogMaker;
 HPLandroid/metrics/LogMaker;->clearType()Landroid/metrics/LogMaker;
-HPLandroid/metrics/LogMaker;->deserialize([Ljava/lang/Object;)V
-HPLandroid/metrics/LogMaker;->getCategory()I
-HPLandroid/metrics/LogMaker;->getCounterBucket()J
-HPLandroid/metrics/LogMaker;->getCounterName()Ljava/lang/String;
-HPLandroid/metrics/LogMaker;->getCounterValue()I
-HPLandroid/metrics/LogMaker;->getTimestamp()J
-HPLandroid/metrics/LogMaker;->isLongCounterBucket()Z
+HPLandroid/metrics/LogMaker;->getTaggedData(I)Ljava/lang/Object;
+HPLandroid/metrics/LogMaker;->setComponentName(Landroid/content/ComponentName;)Landroid/metrics/LogMaker;
 HPLandroid/metrics/LogMaker;->setLatency(J)Landroid/metrics/LogMaker;
-HPLandroid/metrics/LogMaker;->setSubtype(I)Landroid/metrics/LogMaker;
-HPLandroid/metrics/MetricsReader$Event;-><init>(Landroid/util/EventLog$Event;)V
-HPLandroid/metrics/MetricsReader$Event;->getData()Ljava/lang/Object;
-HPLandroid/metrics/MetricsReader$Event;->getProcessId()I
-HPLandroid/metrics/MetricsReader$Event;->getTimeMillis()J
-HPLandroid/metrics/MetricsReader$Event;->getUid()I
-HPLandroid/metrics/MetricsReader$LogReader;->readEvents([IJLjava/util/Collection;)V
-HPLandroid/metrics/MetricsReader$LogReader;->writeCheckpoint(I)V
-HPLandroid/metrics/MetricsReader;-><init>()V
-HPLandroid/metrics/MetricsReader;->checkpoint()V
-HPLandroid/metrics/MetricsReader;->hasNext()Z
-HPLandroid/metrics/MetricsReader;->next()Landroid/metrics/LogMaker;
-HPLandroid/metrics/MetricsReader;->read(J)V
-HPLandroid/metrics/MetricsReader;->reset()V
-HPLandroid/net/-$$Lambda$Network$KD6DxaMRJIcajhj36TU1K7lJnHQ;->lookup(Ljava/lang/String;)Ljava/util/List;
+HPLandroid/metrics/LogMaker;->setTimestamp(J)Landroid/metrics/LogMaker;
+HPLandroid/mtp/MtpConstants;->isAbstractObject(I)Z
+HPLandroid/net/-$$Lambda$NetworkFactory$HfslgqyaKc_n0wXX5_qRYVZoGfI;->run()V
+HPLandroid/net/-$$Lambda$NetworkStack$gD-9DsQDrNGMc71UYFcTRBoHuk8;->onNetworkStackConnected(Landroid/net/INetworkStackConnector;)V
+HPLandroid/net/-$$Lambda$NetworkStack$iCcZ8iO7kZV7t2m-2R8UX6euZ8U;->onNetworkStackConnected(Landroid/net/INetworkStackConnector;)V
+HPLandroid/net/ApfCapabilitiesParcelable;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/net/ConnectivityManager$1;->onNetworkActive()V
+HPLandroid/net/ConnectivityManager$2;->onReceiveResult(ILandroid/os/Bundle;)V
 HPLandroid/net/ConnectivityManager$NetworkCallback;->onLosing(Landroid/net/Network;I)V
-HPLandroid/net/ConnectivityManager$NetworkCallback;->onLost(Landroid/net/Network;)V
 HPLandroid/net/ConnectivityManager$NetworkCallback;->onNetworkResumed(Landroid/net/Network;)V
 HPLandroid/net/ConnectivityManager$NetworkCallback;->onNetworkSuspended(Landroid/net/Network;)V
-HPLandroid/net/ConnectivityManager;->enforceChangePermission(Landroid/content/Context;)V
-HPLandroid/net/ConnectivityManager;->enforceTetherChangePermission(Landroid/content/Context;Ljava/lang/String;)V
+HPLandroid/net/ConnectivityManager$OnStartTetheringCallback;->onTetheringStarted()V
+HPLandroid/net/ConnectivityManager$PacketKeepalive$1;->handleMessage(Landroid/os/Message;)V
+HPLandroid/net/ConnectivityManager$PacketKeepalive;-><init>(Landroid/net/ConnectivityManager;Landroid/net/Network;Landroid/net/ConnectivityManager$PacketKeepaliveCallback;)V
+HPLandroid/net/ConnectivityManager$PacketKeepalive;->stop()V
+HPLandroid/net/ConnectivityManager$PacketKeepalive;->stopLooper()V
+HPLandroid/net/ConnectivityManager$PacketKeepaliveCallback;-><init>()V
+HPLandroid/net/ConnectivityManager;->addDefaultNetworkActiveListener(Landroid/net/ConnectivityManager$OnNetworkActiveListener;)V
+HPLandroid/net/ConnectivityManager;->getActiveLinkProperties()Landroid/net/LinkProperties;
 HPLandroid/net/ConnectivityManager;->getBackgroundDataSetting()Z
-HPLandroid/net/ConnectivityManager;->getCallbackName(I)Ljava/lang/String;
-HPLandroid/net/ConnectivityManager;->getNetworkManagementService()Landroid/os/INetworkManagementService;
-HPLandroid/net/ConnectivityManager;->isDefaultNetworkActive()Z
-HPLandroid/net/ConnectivityManager;->isNetworkTypeMobile(I)Z
-HPLandroid/net/ConnectivityManager;->networkCapabilitiesForFeature(ILjava/lang/String;)Landroid/net/NetworkCapabilities;
-HPLandroid/net/ConnectivityManager;->networkCapabilitiesForType(I)Landroid/net/NetworkCapabilities;
+HPLandroid/net/ConnectivityManager;->getTetherableIfaces()[Ljava/lang/String;
+HPLandroid/net/ConnectivityManager;->getTetheredIfaces()[Ljava/lang/String;
+HPLandroid/net/ConnectivityManager;->getTetheringErroredIfaces()[Ljava/lang/String;
+HPLandroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;I)V
+HPLandroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;I)V
 HPLandroid/net/ConnectivityManager;->requestRouteToHostAddress(ILjava/net/InetAddress;)Z
-HPLandroid/net/ConnectivityMetricsEvent$1;-><init>()V
+HPLandroid/net/ConnectivityManager;->startCaptivePortalApp(Landroid/net/Network;)V
+HPLandroid/net/ConnectivityManager;->startNattKeepalive(Landroid/net/Network;ILandroid/net/ConnectivityManager$PacketKeepaliveCallback;Ljava/net/InetAddress;ILjava/net/InetAddress;)Landroid/net/ConnectivityManager$PacketKeepalive;
+HPLandroid/net/ConnectivityManager;->startTethering(IZLandroid/net/ConnectivityManager$OnStartTetheringCallback;Landroid/os/Handler;)V
+HPLandroid/net/ConnectivityManager;->unsupportedStartingFrom(I)V
+HPLandroid/net/ConnectivityMetricsEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/ConnectivityMetricsEvent;
+HPLandroid/net/ConnectivityMetricsEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/ConnectivityMetricsEvent;-><init>(Landroid/os/Parcel;)V
 HPLandroid/net/DataUsageRequest$1;-><init>()V
+HPLandroid/net/DhcpInfo$1;-><init>()V
+HPLandroid/net/DhcpInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/DhcpInfo;
+HPLandroid/net/DhcpInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/net/DhcpInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/net/DhcpResults$1;-><init>()V
-HPLandroid/net/DhcpResults;-><init>()V
-HPLandroid/net/DhcpResults;-><init>(Landroid/net/DhcpResults;)V
 HPLandroid/net/DhcpResults;->clear()V
 HPLandroid/net/DhcpResults;->hasMeteredHint()Z
-HPLandroid/net/DhcpResults;->toString()Ljava/lang/String;
+HPLandroid/net/DhcpResultsParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/DhcpResultsParcelable;
+HPLandroid/net/DhcpResultsParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/DhcpResultsParcelable;->readFromParcel(Landroid/os/Parcel;)V
+HPLandroid/net/EventLogTags;->writeNtpFailure(Ljava/lang/String;Ljava/lang/String;)V
 HPLandroid/net/EventLogTags;->writeNtpSuccess(Ljava/lang/String;JJ)V
+HPLandroid/net/IConnectivityManager$Stub$Proxy;->getActiveLinkProperties()Landroid/net/LinkProperties;
+HPLandroid/net/IConnectivityManager$Stub$Proxy;->getTetherableIfaces()[Ljava/lang/String;
+HPLandroid/net/IConnectivityManager$Stub$Proxy;->getTetheredIfaces()[Ljava/lang/String;
+HPLandroid/net/IConnectivityManager$Stub$Proxy;->getTetheringErroredIfaces()[Ljava/lang/String;
+HPLandroid/net/IConnectivityManager$Stub$Proxy;->getVpnConfig(I)Lcom/android/internal/net/VpnConfig;
+HPLandroid/net/IConnectivityManager$Stub$Proxy;->startCaptivePortalApp(Landroid/net/Network;)V
+HPLandroid/net/IConnectivityManager$Stub$Proxy;->startNattKeepalive(Landroid/net/Network;ILandroid/os/Messenger;Landroid/os/IBinder;Ljava/lang/String;ILjava/lang/String;)V
+HPLandroid/net/IConnectivityManager$Stub$Proxy;->startTethering(ILandroid/os/ResultReceiver;ZLjava/lang/String;)V
+HPLandroid/net/IConnectivityManager$Stub$Proxy;->stopKeepalive(Landroid/net/Network;I)V
+HPLandroid/net/IConnectivityManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/net/IIpConnectivityMetrics$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/net/IIpConnectivityMetrics$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/net/INetd$Stub$Proxy;->bandwidthAddNiceApp(I)V
+HPLandroid/net/INetd$Stub$Proxy;->bandwidthRemoveInterfaceQuota(Ljava/lang/String;)V
+HPLandroid/net/INetd$Stub$Proxy;->bandwidthSetInterfaceQuota(Ljava/lang/String;J)V
+HPLandroid/net/INetd$Stub$Proxy;->clatdStart(Ljava/lang/String;)V
+HPLandroid/net/INetd$Stub$Proxy;->clatdStop(Ljava/lang/String;)V
+HPLandroid/net/INetd$Stub$Proxy;->idletimerAddInterface(Ljava/lang/String;ILjava/lang/String;)V
+HPLandroid/net/INetd$Stub$Proxy;->idletimerRemoveInterface(Ljava/lang/String;ILjava/lang/String;)V
+HPLandroid/net/INetd$Stub$Proxy;->interfaceSetMtu(Ljava/lang/String;I)V
+HPLandroid/net/INetd$Stub$Proxy;->networkAddInterface(ILjava/lang/String;)V
+HPLandroid/net/INetd$Stub$Proxy;->networkAddRoute(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/net/INetd$Stub$Proxy;->networkCreatePhysical(II)V
 HPLandroid/net/INetd$Stub$Proxy;->networkDestroy(I)V
-HPLandroid/net/INetd$Stub$Proxy;->setIPv6AddrGenMode(Ljava/lang/String;I)V
+HPLandroid/net/INetd$Stub$Proxy;->networkRemoveRoute(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/net/INetd$Stub$Proxy;->networkSetDefault(I)V
+HPLandroid/net/INetd$Stub$Proxy;->networkSetPermissionForNetwork(II)V
 HPLandroid/net/INetd$Stub$Proxy;->setResolverConfiguration(I[Ljava/lang/String;[Ljava/lang/String;[ILjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
+HPLandroid/net/INetd$Stub$Proxy;->setTcpRWmemorySize(Ljava/lang/String;Ljava/lang/String;)V
 HPLandroid/net/INetd$Stub$Proxy;->wakeupAddInterface(Ljava/lang/String;Ljava/lang/String;II)V
 HPLandroid/net/INetd$Stub$Proxy;->wakeupDelInterface(Ljava/lang/String;Ljava/lang/String;II)V
+HPLandroid/net/INetworkMonitor$Stub$Proxy;->forceReevaluation(I)V
+HPLandroid/net/INetworkMonitor$Stub$Proxy;->notifyDnsResponse(I)V
+HPLandroid/net/INetworkMonitor$Stub$Proxy;->notifyLinkPropertiesChanged()V
+HPLandroid/net/INetworkMonitor$Stub$Proxy;->notifyNetworkCapabilitiesChanged()V
+HPLandroid/net/INetworkMonitor$Stub$Proxy;->notifyNetworkConnected()V
+HPLandroid/net/INetworkMonitor$Stub$Proxy;->notifyNetworkDisconnected()V
+HPLandroid/net/INetworkMonitor$Stub$Proxy;->notifyPrivateDnsChanged(Landroid/net/PrivateDnsConfigParcel;)V
+HPLandroid/net/INetworkMonitor$Stub$Proxy;->notifySystemReady()V
+HPLandroid/net/INetworkMonitor$Stub$Proxy;->start()V
+HPLandroid/net/INetworkMonitorCallbacks$Stub;-><init>()V
+HPLandroid/net/INetworkMonitorCallbacks$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/net/INetworkMonitorCallbacks$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/net/INetworkPolicyListener$Stub$Proxy;->onMeteredIfacesChanged([Ljava/lang/String;)V
+HPLandroid/net/INetworkPolicyManager$Stub$Proxy;->getSubscriptionPlans(ILjava/lang/String;)[Landroid/telephony/SubscriptionPlan;
+HPLandroid/net/INetworkPolicyManager$Stub$Proxy;->getUidsWithPolicy(I)[I
+HPLandroid/net/INetworkPolicyManager$Stub$Proxy;->unregisterListener(Landroid/net/INetworkPolicyListener;)V
+HPLandroid/net/INetworkPolicyManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/net/INetworkRecommendationProvider$Stub$Proxy;->requestScores([Landroid/net/NetworkKey;)V
 HPLandroid/net/INetworkRecommendationProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkRecommendationProvider;
 HPLandroid/net/INetworkRecommendationProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/net/INetworkRecommendationProvider;->requestScores([Landroid/net/NetworkKey;)V
 HPLandroid/net/INetworkScoreCache$Stub$Proxy;->updateScores(Ljava/util/List;)V
+HPLandroid/net/INetworkScoreCache$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/net/INetworkScoreService$Stub$Proxy;->getActiveScorerPackage()Ljava/lang/String;
+HPLandroid/net/INetworkScoreService$Stub$Proxy;->unregisterNetworkScoreCache(ILandroid/net/INetworkScoreCache;)V
 HPLandroid/net/INetworkScoreService$Stub$Proxy;->updateScores([Landroid/net/ScoredNetwork;)Z
-HPLandroid/net/INetworkStatsService$Stub$Proxy;->openSession()Landroid/net/INetworkStatsSession;
-HPLandroid/net/INetworkStatsService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkStatsService;
+HPLandroid/net/INetworkScoreService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/net/INetworkStackConnector$Stub$Proxy;->makeIpClient(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;)V
+HPLandroid/net/INetworkStackConnector$Stub$Proxy;->makeNetworkMonitor(Landroid/net/NetworkParcelable;Ljava/lang/String;Landroid/net/INetworkMonitorCallbacks;)V
+HPLandroid/net/INetworkStatsService$Stub$Proxy;->getUidStats(II)J
+HPLandroid/net/INetworkStatsService$Stub$Proxy;->incrementOperationCount(III)V
+HPLandroid/net/INetworkStatsService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/net/INetworkStatsService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/net/INetworkStatsSession$Stub$Proxy;->getHistoryForNetwork(Landroid/net/NetworkTemplate;I)Landroid/net/NetworkStatsHistory;
+HPLandroid/net/INetworkStatsSession$Stub$Proxy;->getDeviceSummaryForNetwork(Landroid/net/NetworkTemplate;JJ)Landroid/net/NetworkStats;
 HPLandroid/net/INetworkStatsSession$Stub;-><init>()V
 HPLandroid/net/INetworkStatsSession$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/net/INetworkStatsSession$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/net/INetworkStatsSession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/net/InterfaceConfiguration;->getFlags()Ljava/lang/Iterable;
 HPLandroid/net/InterfaceConfiguration;->getLinkAddress()Landroid/net/LinkAddress;
 HPLandroid/net/IpConfiguration$IpAssignment;->valueOf(Ljava/lang/String;)Landroid/net/IpConfiguration$IpAssignment;
 HPLandroid/net/IpConfiguration$ProxySettings;->valueOf(Ljava/lang/String;)Landroid/net/IpConfiguration$ProxySettings;
 HPLandroid/net/IpConfiguration;-><init>()V
-HPLandroid/net/IpConfiguration;->getIpAssignment()Landroid/net/IpConfiguration$IpAssignment;
-HPLandroid/net/IpConfiguration;->getStaticIpConfiguration()Landroid/net/StaticIpConfiguration;
-HPLandroid/net/IpConfiguration;->toString()Ljava/lang/String;
+HPLandroid/net/IpConfiguration;-><init>(Landroid/net/IpConfiguration$IpAssignment;Landroid/net/IpConfiguration$ProxySettings;Landroid/net/StaticIpConfiguration;Landroid/net/ProxyInfo;)V
 HPLandroid/net/IpConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/net/IpPrefix;->hashCode()I
-HPLandroid/net/LinkAddress;->equals(Ljava/lang/Object;)Z
-HPLandroid/net/LinkAddress;->isGlobalPreferred()Z
+HPLandroid/net/IpPrefix;-><init>(Ljava/net/InetAddress;I)V
+HPLandroid/net/IpPrefixParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/IpPrefixParcelable;
+HPLandroid/net/IpPrefixParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/IpPrefixParcelable;->readFromParcel(Landroid/os/Parcel;)V
+HPLandroid/net/KeepalivePacketData$1;-><init>()V
+HPLandroid/net/KeepalivePacketData;-><init>(Ljava/net/InetAddress;ILjava/net/InetAddress;I[B)V
+HPLandroid/net/KeepalivePacketData;->getPacket()[B
+HPLandroid/net/LinkAddress;-><init>(Ljava/net/InetAddress;III)V
 HPLandroid/net/LinkAddress;->isIPv6()Z
-HPLandroid/net/LinkProperties$CompareResult;-><init>(Ljava/util/Collection;Ljava/util/Collection;)V
-HPLandroid/net/LinkProperties$ProvisioningChange;-><init>(Ljava/lang/String;I)V
-HPLandroid/net/LinkProperties$ProvisioningChange;->values()[Landroid/net/LinkProperties$ProvisioningChange;
+HPLandroid/net/LinkAddressParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/LinkAddressParcelable;
+HPLandroid/net/LinkAddressParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/LinkAddressParcelable$1;->newArray(I)[Landroid/net/LinkAddressParcelable;
+HPLandroid/net/LinkAddressParcelable$1;->newArray(I)[Ljava/lang/Object;
+HPLandroid/net/LinkAddressParcelable;->readFromParcel(Landroid/os/Parcel;)V
 HPLandroid/net/LinkProperties;->addStackedLink(Landroid/net/LinkProperties;)Z
-HPLandroid/net/LinkProperties;->compareProvisioning(Landroid/net/LinkProperties;Landroid/net/LinkProperties;)Landroid/net/LinkProperties$ProvisioningChange;
+HPLandroid/net/LinkProperties;->addValidatedPrivateDnsServer(Ljava/net/InetAddress;)Z
 HPLandroid/net/LinkProperties;->describeContents()I
 HPLandroid/net/LinkProperties;->ensureDirectlyConnectedRoutes()V
+HPLandroid/net/LinkProperties;->getAllAddresses()Ljava/util/List;
 HPLandroid/net/LinkProperties;->getAllInterfaceNames()Ljava/util/List;
-HPLandroid/net/LinkProperties;->getAllRoutes()Ljava/util/List;
-HPLandroid/net/LinkProperties;->getDomains()Ljava/lang/String;
-HPLandroid/net/LinkProperties;->getHttpProxy()Landroid/net/ProxyInfo;
-HPLandroid/net/LinkProperties;->getMtu()I
-HPLandroid/net/LinkProperties;->getRoutes()Ljava/util/List;
-HPLandroid/net/LinkProperties;->hasGlobalIPv6Address()Z
-HPLandroid/net/LinkProperties;->hasIPv4Address()Z
-HPLandroid/net/LinkProperties;->hasIPv4AddressOnInterface(Ljava/lang/String;)Z
-HPLandroid/net/LinkProperties;->hasIPv4DefaultRoute()Z
-HPLandroid/net/LinkProperties;->hasIPv4DnsServer()Z
-HPLandroid/net/LinkProperties;->hasIPv6DefaultRoute()Z
 HPLandroid/net/LinkProperties;->hasIPv6DnsServer()Z
-HPLandroid/net/LinkProperties;->isIPv4Provisioned()Z
-HPLandroid/net/LinkProperties;->isIPv6Provisioned()Z
-HPLandroid/net/LinkProperties;->isIdenticalAddresses(Landroid/net/LinkProperties;)Z
-HPLandroid/net/LinkProperties;->isIdenticalRoutes(Landroid/net/LinkProperties;)Z
-HPLandroid/net/LinkProperties;->isProvisioned()Z
-HPLandroid/net/LinkProperties;->isReachable(Ljava/net/InetAddress;)Z
-HPLandroid/net/LinkProperties;->removeDnsServer(Ljava/net/InetAddress;)Z
-HPLandroid/net/LinkProperties;->removeLinkAddress(Landroid/net/LinkAddress;)Z
-HPLandroid/net/LinkProperties;->removeRoute(Landroid/net/RouteInfo;)Z
+HPLandroid/net/LinkProperties;->isIdenticalHttpProxy(Landroid/net/LinkProperties;)Z
 HPLandroid/net/LinkProperties;->removeStackedLink(Ljava/lang/String;)Z
-HPLandroid/net/LinkProperties;->setDnsServers(Ljava/util/Collection;)V
-HPLandroid/net/LinkProperties;->setDomains(Ljava/lang/String;)V
-HPLandroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V
-HPLandroid/net/LinkProperties;->setLinkAddresses(Ljava/util/Collection;)V
-HPLandroid/net/LinkProperties;->setMtu(I)V
+HPLandroid/net/LinkProperties;->setPcscfServers(Ljava/util/Collection;)V
 HPLandroid/net/LinkProperties;->setValidatedPrivateDnsServers(Ljava/util/Collection;)V
-HPLandroid/net/LocalSocket;->shutdownInput()V
-HPLandroid/net/LocalSocket;->shutdownOutput()V
-HPLandroid/net/LocalSocket;->toString()Ljava/lang/String;
+HPLandroid/net/LinkPropertiesParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/LinkPropertiesParcelable;
+HPLandroid/net/LinkPropertiesParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/LinkPropertiesParcelable;->readFromParcel(Landroid/os/Parcel;)V
 HPLandroid/net/LocalSocketImpl$SocketInputStream;->read([B)I
-HPLandroid/net/LocalSocketImpl;->shutdownInput()V
-HPLandroid/net/LocalSocketImpl;->shutdownOutput()V
-HPLandroid/net/LocalSocketImpl;->toString()Ljava/lang/String;
+HPLandroid/net/LocalSocketImpl$SocketOutputStream;->close()V
+HPLandroid/net/LocalSocketImpl$SocketOutputStream;->write([B)V
 HPLandroid/net/MacAddress;->equals(Ljava/lang/Object;)Z
 HPLandroid/net/MacAddress;->hashCode()I
 HPLandroid/net/MacAddress;->stringAddrFromLongAddr(J)Ljava/lang/String;
-HPLandroid/net/MacAddress;->toByteArray()[B
 HPLandroid/net/MacAddress;->toString()Ljava/lang/String;
-HPLandroid/net/MacAddress;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/net/MatchAllNetworkSpecifier;->checkNotMatchAllNetworkSpecifier(Landroid/net/NetworkSpecifier;)V
-HPLandroid/net/Network;-><init>(I)V
-HPLandroid/net/Network;-><init>(Landroid/net/Network;)V
+HPLandroid/net/NattKeepalivePacketData;->nattKeepalivePacket(Ljava/net/InetAddress;ILjava/net/InetAddress;I)Landroid/net/NattKeepalivePacketData;
 HPLandroid/net/Network;->bindSocket(Ljava/net/DatagramSocket;)V
-HPLandroid/net/Network;->getAllByName(Ljava/lang/String;)[Ljava/net/InetAddress;
 HPLandroid/net/Network;->getByName(Ljava/lang/String;)Ljava/net/InetAddress;
-HPLandroid/net/Network;->maybeInitUrlConnectionFactory()V
-HPLandroid/net/Network;->openConnection(Ljava/net/URL;)Ljava/net/URLConnection;
-HPLandroid/net/Network;->openConnection(Ljava/net/URL;Ljava/net/Proxy;)Ljava/net/URLConnection;
-HPLandroid/net/NetworkAgent;->log(Ljava/lang/String;)V
-HPLandroid/net/NetworkAgent;->sendNetworkScore(I)V
+HPLandroid/net/Network;->lambda$maybeInitUrlConnectionFactory$0$Network(Ljava/lang/String;)Ljava/util/List;
+HPLandroid/net/NetworkAgent;->onSocketKeepaliveEvent(II)V
 HPLandroid/net/NetworkCapabilities;->describeContents()I
+HPLandroid/net/NetworkCapabilities;->describeImmutableDifferences(Landroid/net/NetworkCapabilities;)Ljava/lang/String;
 HPLandroid/net/NetworkCapabilities;->equalRequestableCapabilities(Landroid/net/NetworkCapabilities;)Z
 HPLandroid/net/NetworkCapabilities;->getCapabilities()[I
 HPLandroid/net/NetworkCapabilities;->getLinkDownstreamBandwidthKbps()I
 HPLandroid/net/NetworkCapabilities;->getLinkUpstreamBandwidthKbps()I
 HPLandroid/net/NetworkCapabilities;->getUids()Ljava/util/Set;
 HPLandroid/net/NetworkCapabilities;->getUnwantedCapabilities()[I
+HPLandroid/net/NetworkCapabilities;->isMetered()Z
 HPLandroid/net/NetworkCapabilities;->satisfiedByImmutableNetworkCapabilities(Landroid/net/NetworkCapabilities;)Z
 HPLandroid/net/NetworkCapabilities;->satisfiedByNetworkCapabilities(Landroid/net/NetworkCapabilities;)Z
-HPLandroid/net/NetworkFactory;->handleRemoveRequest(Landroid/net/NetworkRequest;)V
+HPLandroid/net/NetworkFactory;->lambda$reevaluateAllRequests$0$NetworkFactory()V
+HPLandroid/net/NetworkFactory;->reevaluateAllRequests()V
 HPLandroid/net/NetworkIdentity;->buildNetworkIdentity(Landroid/content/Context;Landroid/net/NetworkState;Z)Landroid/net/NetworkIdentity;
 HPLandroid/net/NetworkIdentity;->compareTo(Landroid/net/NetworkIdentity;)I
 HPLandroid/net/NetworkIdentity;->getDefaultNetwork()Z
@@ -3778,9 +4121,10 @@
 HPLandroid/net/NetworkIdentity;->getType()I
 HPLandroid/net/NetworkIdentity;->scrubSubscriberId(Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/net/NetworkIdentity;->toString()Ljava/lang/String;
+HPLandroid/net/NetworkInfo;->describeContents()I
+HPLandroid/net/NetworkInfo;->isAvailable()Z
 HPLandroid/net/NetworkInfo;->isFailover()Z
 HPLandroid/net/NetworkInfo;->setType(I)V
-HPLandroid/net/NetworkKey$1;-><init>()V
 HPLandroid/net/NetworkKey$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkKey;
 HPLandroid/net/NetworkKey$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/net/NetworkKey$1;->newArray(I)[Landroid/net/NetworkKey;
@@ -3788,12 +4132,9 @@
 HPLandroid/net/NetworkKey;-><init>(Landroid/net/WifiKey;)V
 HPLandroid/net/NetworkKey;-><init>(Landroid/os/Parcel;)V
 HPLandroid/net/NetworkKey;->createFromScanResult(Landroid/net/wifi/ScanResult;)Landroid/net/NetworkKey;
-HPLandroid/net/NetworkKey;->createFromWifiInfo(Landroid/net/wifi/WifiInfo;)Landroid/net/NetworkKey;
-HPLandroid/net/NetworkKey;->equals(Ljava/lang/Object;)Z
-HPLandroid/net/NetworkKey;->hashCode()I
-HPLandroid/net/NetworkKey;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/net/NetworkMisc$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkMisc;
 HPLandroid/net/NetworkMisc$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/NetworkParcelable;-><init>()V
 HPLandroid/net/NetworkPolicy;->buildRule(ILjava/time/ZoneId;)Landroid/util/RecurrenceRule;
 HPLandroid/net/NetworkPolicy;->cycleIterator()Ljava/util/Iterator;
 HPLandroid/net/NetworkPolicy;->equals(Ljava/lang/Object;)Z
@@ -3801,77 +4142,78 @@
 HPLandroid/net/NetworkPolicy;->hasCycle()Z
 HPLandroid/net/NetworkPolicy;->isOverLimit(J)Z
 HPLandroid/net/NetworkPolicy;->isOverWarning(J)Z
+HPLandroid/net/NetworkPolicy;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/net/NetworkPolicyManager$1;->hasNext()Z
 HPLandroid/net/NetworkPolicyManager$1;->next()Landroid/util/Pair;
 HPLandroid/net/NetworkPolicyManager$1;->next()Ljava/lang/Object;
 HPLandroid/net/NetworkPolicyManager;->cycleIterator(Landroid/net/NetworkPolicy;)Ljava/util/Iterator;
-HPLandroid/net/NetworkPolicyManager;->getNetworkPolicies()[Landroid/net/NetworkPolicy;
+HPLandroid/net/NetworkPolicyManager;->getUidsWithPolicy(I)[I
+HPLandroid/net/NetworkPolicyManager;->unregisterListener(Landroid/net/INetworkPolicyListener;)V
 HPLandroid/net/NetworkRecommendationProvider$ServiceWrapper$1;->run()V
 HPLandroid/net/NetworkRecommendationProvider$ServiceWrapper;->requestScores([Landroid/net/NetworkKey;)V
-HPLandroid/net/NetworkRecommendationProvider;-><init>(Landroid/content/Context;Ljava/util/concurrent/Executor;)V
-HPLandroid/net/NetworkRecommendationProvider;->getBinder()Landroid/os/IBinder;
-HPLandroid/net/NetworkRecommendationProvider;->onRequestScores([Landroid/net/NetworkKey;)V
-HPLandroid/net/NetworkRequest;-><init>(Landroid/net/NetworkRequest;)V
 HPLandroid/net/NetworkScoreManager;->getActiveScorer()Landroid/net/NetworkScorerAppData;
-HPLandroid/net/NetworkScoreManager;->requestScores([Landroid/net/NetworkKey;)Z
+HPLandroid/net/NetworkScoreManager;->unregisterNetworkScoreCache(ILandroid/net/INetworkScoreCache;)V
 HPLandroid/net/NetworkScoreManager;->updateScores([Landroid/net/ScoredNetwork;)Z
 HPLandroid/net/NetworkScorerAppData$1;-><init>()V
 HPLandroid/net/NetworkScorerAppData;->equals(Ljava/lang/Object;)Z
 HPLandroid/net/NetworkScorerAppData;->getRecommendationServicePackageName()Ljava/lang/String;
 HPLandroid/net/NetworkSpecifier;->assertValidFromUid(I)V
-HPLandroid/net/NetworkStats;->combineValues(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats;
+HPLandroid/net/NetworkSpecifier;->redact()Landroid/net/NetworkSpecifier;
+HPLandroid/net/NetworkStack$NetworkStackConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HPLandroid/net/NetworkStack;->lambda$makeIpClient$1(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;Landroid/net/INetworkStackConnector;)V
+HPLandroid/net/NetworkStack;->lambda$makeNetworkMonitor$2(Landroid/net/NetworkParcelable;Ljava/lang/String;Landroid/net/INetworkMonitorCallbacks;Landroid/net/INetworkStackConnector;)V
+HPLandroid/net/NetworkStack;->makeNetworkMonitor(Landroid/net/NetworkParcelable;Ljava/lang/String;Landroid/net/INetworkMonitorCallbacks;)V
+HPLandroid/net/NetworkStack;->registerNetworkStackService(Landroid/os/IBinder;)V
 HPLandroid/net/NetworkStats;->combineValues(Ljava/lang/String;IIIJJJJJ)Landroid/net/NetworkStats;
 HPLandroid/net/NetworkStats;->dump(Ljava/lang/String;Ljava/io/PrintWriter;)V
-HPLandroid/net/NetworkStats;->findIndex(Ljava/lang/String;IIIIII)I
+HPLandroid/net/NetworkStats;->getTotal(Landroid/net/NetworkStats$Entry;Ljava/util/HashSet;)Landroid/net/NetworkStats$Entry;
 HPLandroid/net/NetworkStats;->getTotalBytes()J
-HPLandroid/net/NetworkStats;->groupedByUid()Landroid/net/NetworkStats;
-HPLandroid/net/NetworkStats;->setElapsedRealtime(J)V
 HPLandroid/net/NetworkStats;->setToString(I)Ljava/lang/String;
 HPLandroid/net/NetworkStats;->tagToString(I)Ljava/lang/String;
 HPLandroid/net/NetworkStats;->toString()Ljava/lang/String;
-HPLandroid/net/NetworkStats;->withoutUids([I)Landroid/net/NetworkStats;
-HPLandroid/net/NetworkStatsHistory$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkStatsHistory;
-HPLandroid/net/NetworkStatsHistory$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/net/NetworkStatsHistory$DataStreamUtils;->writeVarLongArray(Ljava/io/DataOutputStream;[JI)V
 HPLandroid/net/NetworkStatsHistory$ParcelUtils;->writeLongArray(Landroid/os/Parcel;[JI)V
 HPLandroid/net/NetworkStatsHistory;-><init>(JI)V
-HPLandroid/net/NetworkStatsHistory;-><init>(Landroid/os/Parcel;)V
 HPLandroid/net/NetworkStatsHistory;->dump(Lcom/android/internal/util/IndentingPrintWriter;Z)V
 HPLandroid/net/NetworkStatsHistory;->getValues(JJJLandroid/net/NetworkStatsHistory$Entry;)Landroid/net/NetworkStatsHistory$Entry;
-HPLandroid/net/NetworkStatsHistory;->getValues(JJLandroid/net/NetworkStatsHistory$Entry;)Landroid/net/NetworkStatsHistory$Entry;
 HPLandroid/net/NetworkStatsHistory;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/net/NetworkStatsHistory;->writeToStream(Ljava/io/DataOutputStream;)V
-HPLandroid/net/NetworkTemplate$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkTemplate;
-HPLandroid/net/NetworkTemplate$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/net/NetworkTemplate;-><init>(Landroid/os/Parcel;)V
-HPLandroid/net/NetworkTemplate;->buildTemplateMobileAll(Ljava/lang/String;)Landroid/net/NetworkTemplate;
-HPLandroid/net/NetworkTemplate;->buildTemplateWifi()Landroid/net/NetworkTemplate;
-HPLandroid/net/NetworkTemplate;->equals(Ljava/lang/Object;)Z
 HPLandroid/net/NetworkTemplate;->getBytesForBackup()[B
+HPLandroid/net/NetworkTemplate;->isMatchRuleMobile()Z
 HPLandroid/net/NetworkTemplate;->matches(Landroid/net/NetworkIdentity;)Z
 HPLandroid/net/NetworkTemplate;->matchesMobile(Landroid/net/NetworkIdentity;)Z
+HPLandroid/net/NetworkTemplate;->normalize(Landroid/net/NetworkTemplate;[Ljava/lang/String;)Landroid/net/NetworkTemplate;
+HPLandroid/net/NetworkUtils;->getNetworkPart(Ljava/net/InetAddress;I)Ljava/net/InetAddress;
+HPLandroid/net/NetworkUtils;->inetAddressToInt(Ljava/net/Inet4Address;)I
 HPLandroid/net/NetworkUtils;->makeStrings(Ljava/util/Collection;)[Ljava/lang/String;
-HPLandroid/net/NetworkUtils;->netmaskToPrefixLength(Ljava/net/Inet4Address;)I
-HPLandroid/net/NetworkUtils;->protectFromVpn(Ljava/io/FileDescriptor;)Z
+HPLandroid/net/NetworkUtils;->trimV4AddrZeros(Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/net/NetworkWatchlistManager;-><init>(Landroid/content/Context;)V
 HPLandroid/net/NetworkWatchlistManager;->reportWatchlistIfNecessary()V
-HPLandroid/net/RouteInfo;-><init>(Landroid/net/LinkAddress;Ljava/net/InetAddress;)V
+HPLandroid/net/PrivateDnsConfigParcel;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/net/ProvisioningConfigurationParcelable;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/net/RouteInfo;-><init>(Landroid/net/LinkAddress;Ljava/net/InetAddress;Ljava/lang/String;)V
-HPLandroid/net/RouteInfo;->getDestinationLinkAddress()Landroid/net/LinkAddress;
 HPLandroid/net/RouteInfo;->isDefaultRoute()Z
 HPLandroid/net/RouteInfo;->isIPv4Default()Z
-HPLandroid/net/RouteInfo;->makeHostRoute(Ljava/net/InetAddress;Ljava/net/InetAddress;Ljava/lang/String;)Landroid/net/RouteInfo;
-HPLandroid/net/RouteInfo;->matches(Ljava/net/InetAddress;)Z
-HPLandroid/net/RouteInfo;->selectBestRoute(Ljava/util/Collection;Ljava/net/InetAddress;)Landroid/net/RouteInfo;
+HPLandroid/net/RouteInfoParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/RouteInfoParcelable;
+HPLandroid/net/RouteInfoParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/RouteInfoParcelable$1;->newArray(I)[Landroid/net/RouteInfoParcelable;
+HPLandroid/net/RouteInfoParcelable$1;->newArray(I)[Ljava/lang/Object;
+HPLandroid/net/RouteInfoParcelable;->readFromParcel(Landroid/os/Parcel;)V
 HPLandroid/net/RssiCurve$1;-><init>()V
 HPLandroid/net/RssiCurve$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/RssiCurve;
 HPLandroid/net/RssiCurve$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/net/RssiCurve;-><init>(II[B)V
 HPLandroid/net/RssiCurve;-><init>(II[BI)V
 HPLandroid/net/RssiCurve;-><init>(Landroid/os/Parcel;)V
+HPLandroid/net/RssiCurve;->lookupScore(I)B
+HPLandroid/net/RssiCurve;->lookupScore(IZ)B
 HPLandroid/net/RssiCurve;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/net/SSLCertificateSocketFactory;->createSocket()Ljava/net/Socket;
-HPLandroid/net/SSLCertificateSocketFactory;->getDefault(I)Ljavax/net/SocketFactory;
+HPLandroid/net/SSLCertificateSocketFactory;->createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;
+HPLandroid/net/SSLCertificateSocketFactory;->getDefault(ILandroid/net/SSLSessionCache;)Ljavax/net/ssl/SSLSocketFactory;
+HPLandroid/net/SSLCertificateSocketFactory;->getDelegate()Ljavax/net/ssl/SSLSocketFactory;
+HPLandroid/net/SSLCertificateSocketFactory;->makeSocketFactory([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;)Ljavax/net/ssl/SSLSocketFactory;
+HPLandroid/net/SSLCertificateSocketFactory;->verifyHostname(Ljava/net/Socket;Ljava/lang/String;)V
+HPLandroid/net/SSLSessionCache;-><init>(Landroid/content/Context;)V
 HPLandroid/net/ScoredNetwork$1;-><init>()V
 HPLandroid/net/ScoredNetwork$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/ScoredNetwork;
 HPLandroid/net/ScoredNetwork$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -3880,6 +4222,7 @@
 HPLandroid/net/ScoredNetwork;-><init>(Landroid/net/NetworkKey;Landroid/net/RssiCurve;Z)V
 HPLandroid/net/ScoredNetwork;-><init>(Landroid/net/NetworkKey;Landroid/net/RssiCurve;ZLandroid/os/Bundle;)V
 HPLandroid/net/ScoredNetwork;-><init>(Landroid/os/Parcel;)V
+HPLandroid/net/ScoredNetwork;->calculateBadge(I)I
 HPLandroid/net/ScoredNetwork;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/net/SntpClient;->checkValidServerReply(BBIJ)V
 HPLandroid/net/SntpClient;->read32([BI)J
@@ -3887,114 +4230,147 @@
 HPLandroid/net/SntpClient;->requestTime(Ljava/lang/String;ILandroid/net/Network;)Z
 HPLandroid/net/SntpClient;->requestTime(Ljava/net/InetAddress;IILandroid/net/Network;)Z
 HPLandroid/net/SntpClient;->writeTimeStamp([BIJ)V
+HPLandroid/net/StaticIpConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/StaticIpConfiguration;
+HPLandroid/net/StaticIpConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/net/StaticIpConfiguration;-><init>()V
-HPLandroid/net/StaticIpConfiguration;->getRoutes(Ljava/lang/String;)Ljava/util/List;
-HPLandroid/net/StaticIpConfiguration;->toString()Ljava/lang/String;
-HPLandroid/net/StaticIpConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/net/TrafficStats;->getRxPackets(Ljava/lang/String;)J
-HPLandroid/net/TrafficStats;->getTxPackets(Ljava/lang/String;)J
+HPLandroid/net/StaticIpConfiguration;->addDnsServer(Ljava/net/InetAddress;)V
+HPLandroid/net/StaticIpConfiguration;->readFromParcel(Landroid/os/Parcel;)Landroid/net/StaticIpConfiguration;
+HPLandroid/net/StaticIpConfigurationParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/StaticIpConfigurationParcelable;
+HPLandroid/net/StaticIpConfigurationParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/StaticIpConfigurationParcelable;->readFromParcel(Landroid/os/Parcel;)V
+HPLandroid/net/TrafficStats;->getRxBytes(Ljava/lang/String;)J
+HPLandroid/net/TrafficStats;->getTxBytes(Ljava/lang/String;)J
+HPLandroid/net/TrafficStats;->getUidRxBytes(I)J
+HPLandroid/net/TrafficStats;->getUidTxBytes(I)J
+HPLandroid/net/TrafficStats;->incrementOperationCount(I)V
+HPLandroid/net/TrafficStats;->incrementOperationCount(II)V
 HPLandroid/net/TrafficStats;->setThreadStatsTagBackup()V
 HPLandroid/net/TrafficStats;->setThreadStatsTagRestore()V
-HPLandroid/net/TrafficStats;->setThreadStatsUid(I)V
 HPLandroid/net/Uri$AbstractHierarchicalUri;-><init>()V
-HPLandroid/net/Uri$AbstractHierarchicalUri;-><init>(Landroid/net/Uri$1;)V
-HPLandroid/net/Uri$Builder;->opaquePart(Ljava/lang/String;)Landroid/net/Uri$Builder;
-HPLandroid/net/Uri$Builder;->path(Landroid/net/Uri$PathPart;)Landroid/net/Uri$Builder;
-HPLandroid/net/Uri$Part;->fromDecoded(Ljava/lang/String;)Landroid/net/Uri$Part;
-HPLandroid/net/Uri$PathPart;->from(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$PathPart;
+HPLandroid/net/Uri$AbstractPart;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/net/Uri$Builder;->encodedPath(Ljava/lang/String;)Landroid/net/Uri$Builder;
+HPLandroid/net/Uri$HierarchicalUri;->getFragment()Ljava/lang/String;
+HPLandroid/net/Uri$OpaqueUri;->getFragment()Ljava/lang/String;
+HPLandroid/net/Uri$OpaqueUri;->getHost()Ljava/lang/String;
 HPLandroid/net/Uri$StringUri;-><init>(Ljava/lang/String;)V
 HPLandroid/net/Uri$StringUri;-><init>(Ljava/lang/String;Landroid/net/Uri$1;)V
-HPLandroid/net/Uri$StringUri;->findSchemeSeparator()I
+HPLandroid/net/Uri$StringUri;->describeContents()I
+HPLandroid/net/Uri$StringUri;->getEncodedFragment()Ljava/lang/String;
+HPLandroid/net/Uri$StringUri;->getFragment()Ljava/lang/String;
 HPLandroid/net/Uri;-><init>()V
 HPLandroid/net/Uri;-><init>(Landroid/net/Uri$1;)V
-HPLandroid/net/Uri;->access$300()Ljava/lang/String;
+HPLandroid/net/Uri;->checkContentUriWithoutPermission(Ljava/lang/String;I)V
 HPLandroid/net/Uri;->compareTo(Landroid/net/Uri;)I
+HPLandroid/net/Uri;->getBooleanQueryParameter(Ljava/lang/String;Z)Z
+HPLandroid/net/Uri;->isAbsolute()Z
 HPLandroid/net/Uri;->normalizeScheme()Landroid/net/Uri;
-HPLandroid/net/WifiKey$1;-><init>()V
 HPLandroid/net/WifiKey$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/WifiKey;
 HPLandroid/net/WifiKey$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/net/WifiKey;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HPLandroid/net/WifiKey;->equals(Ljava/lang/Object;)Z
-HPLandroid/net/WifiKey;->hashCode()I
-HPLandroid/net/WifiKey;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/net/http/HttpResponseCache;->flush()V
-HPLandroid/net/http/HttpResponseCache;->getHitCount()I
-HPLandroid/net/http/HttpResponseCache;->getRequestCount()I
-HPLandroid/net/metrics/ApfProgramEvent$1;-><init>()V
+HPLandroid/net/ip/IIpClient$Stub$Proxy;->completedPreDhcpAction()V
+HPLandroid/net/ip/IIpClient$Stub$Proxy;->confirmConfiguration()V
+HPLandroid/net/ip/IIpClient$Stub$Proxy;->setHttpProxy(Landroid/net/ProxyInfoParcelable;)V
+HPLandroid/net/ip/IIpClient$Stub$Proxy;->setMulticastFilter(Z)V
+HPLandroid/net/ip/IIpClient$Stub$Proxy;->setTcpBufferSizes(Ljava/lang/String;)V
+HPLandroid/net/ip/IIpClient$Stub$Proxy;->shutdown()V
+HPLandroid/net/ip/IIpClient$Stub$Proxy;->startProvisioning(Landroid/net/ProvisioningConfigurationParcelable;)V
+HPLandroid/net/ip/IIpClient$Stub$Proxy;->stop()V
+HPLandroid/net/ip/IIpClientCallbacks$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/net/ip/IIpClientCallbacks$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/net/metrics/ApfProgramEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/ApfProgramEvent;
+HPLandroid/net/metrics/ApfProgramEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/metrics/ApfProgramEvent;-><init>(Landroid/os/Parcel;)V
 HPLandroid/net/metrics/ApfStats$1;-><init>()V
-HPLandroid/net/metrics/ConnectStats;-><init>(IJLcom/android/internal/util/TokenBucket;I)V
+HPLandroid/net/metrics/ApfStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/ApfStats;
+HPLandroid/net/metrics/ApfStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/metrics/ApfStats;-><init>(Landroid/os/Parcel;)V
 HPLandroid/net/metrics/ConnectStats;->addEvent(IILjava/lang/String;)Z
 HPLandroid/net/metrics/ConnectStats;->countLatency(II)V
 HPLandroid/net/metrics/DefaultNetworkEvent;->updateDuration(J)V
-HPLandroid/net/metrics/DhcpClientEvent$1;-><init>()V
-HPLandroid/net/metrics/DnsEvent;->addResult(BBI)Z
+HPLandroid/net/metrics/DhcpClientEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/DhcpClientEvent;
+HPLandroid/net/metrics/DhcpClientEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/metrics/DhcpErrorEvent$1;-><init>()V
+HPLandroid/net/metrics/DhcpErrorEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/DhcpErrorEvent;
+HPLandroid/net/metrics/DhcpErrorEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/metrics/DhcpErrorEvent;->makeErrorCode(II)I
 HPLandroid/net/metrics/DnsEvent;->resize(I)V
-HPLandroid/net/metrics/IpConnectivityLog;->log(I[ILandroid/os/Parcelable;)Z
-HPLandroid/net/metrics/IpConnectivityLog;->log(Landroid/net/ConnectivityMetricsEvent;)Z
-HPLandroid/net/metrics/IpConnectivityLog;->log(Landroid/os/Parcelable;)Z
-HPLandroid/net/metrics/IpConnectivityLog;->log(Ljava/lang/String;Landroid/os/Parcelable;)Z
-HPLandroid/net/metrics/IpManagerEvent$1;-><init>()V
+HPLandroid/net/metrics/IpConnectivityLog;->log(Landroid/net/metrics/IpConnectivityLog$Event;)Z
+HPLandroid/net/metrics/IpManagerEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/IpManagerEvent;
+HPLandroid/net/metrics/IpManagerEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/net/metrics/IpReachabilityEvent$1;-><init>()V
-HPLandroid/net/metrics/NetworkEvent$1;-><init>()V
-HPLandroid/net/metrics/NetworkMetrics$Metrics;->count(D)V
-HPLandroid/net/metrics/NetworkMetrics$Metrics;->count(DI)V
+HPLandroid/net/metrics/IpReachabilityEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/IpReachabilityEvent;
+HPLandroid/net/metrics/IpReachabilityEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/metrics/NetworkEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/NetworkEvent;
+HPLandroid/net/metrics/NetworkEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/net/metrics/NetworkMetrics$Metrics;->merge(Landroid/net/metrics/NetworkMetrics$Metrics;)V
-HPLandroid/net/metrics/NetworkMetrics$Summary;-><init>(IJ)V
 HPLandroid/net/metrics/NetworkMetrics$Summary;->merge(Landroid/net/metrics/NetworkMetrics$Summary;)V
-HPLandroid/net/metrics/NetworkMetrics;-><init>(IJLcom/android/internal/util/TokenBucket;)V
 HPLandroid/net/metrics/NetworkMetrics;->addConnectResult(IILjava/lang/String;)V
-HPLandroid/net/metrics/NetworkMetrics;->addDnsResult(III)V
 HPLandroid/net/metrics/NetworkMetrics;->addTcpStatsResult(IIII)V
 HPLandroid/net/metrics/NetworkMetrics;->getPendingStats()Landroid/net/metrics/NetworkMetrics$Summary;
 HPLandroid/net/metrics/RaEvent$1;-><init>()V
+HPLandroid/net/metrics/RaEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/RaEvent;
+HPLandroid/net/metrics/RaEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/metrics/RaEvent$Builder;-><init>()V
 HPLandroid/net/metrics/RaEvent$Builder;->build()Landroid/net/metrics/RaEvent;
 HPLandroid/net/metrics/RaEvent$Builder;->updatePrefixPreferredLifetime(J)Landroid/net/metrics/RaEvent$Builder;
 HPLandroid/net/metrics/RaEvent$Builder;->updatePrefixValidLifetime(J)Landroid/net/metrics/RaEvent$Builder;
 HPLandroid/net/metrics/RaEvent$Builder;->updateRdnssLifetime(J)Landroid/net/metrics/RaEvent$Builder;
 HPLandroid/net/metrics/RaEvent$Builder;->updateRouterLifetime(J)Landroid/net/metrics/RaEvent$Builder;
-HPLandroid/net/metrics/ValidationProbeEvent$1;-><init>()V
-HPLandroid/net/metrics/ValidationProbeEvent;->getProbeName(I)Ljava/lang/String;
+HPLandroid/net/metrics/RaEvent;-><init>(Landroid/os/Parcel;)V
+HPLandroid/net/metrics/RaEvent;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/net/metrics/ValidationProbeEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/metrics/ValidationProbeEvent;
+HPLandroid/net/metrics/ValidationProbeEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/net/metrics/WakeupStats;-><init>(Ljava/lang/String;)V
 HPLandroid/net/metrics/WakeupStats;->countEvent(Landroid/net/metrics/WakeupEvent;)V
 HPLandroid/net/metrics/WakeupStats;->updateDuration()V
-HPLandroid/net/sip/ISipService;->close(Ljava/lang/String;Ljava/lang/String;)V
-HPLandroid/net/sip/ISipService;->createSession(Landroid/net/sip/SipProfile;Landroid/net/sip/ISipSessionListener;Ljava/lang/String;)Landroid/net/sip/ISipSession;
-HPLandroid/net/sip/ISipService;->getListOfProfiles(Ljava/lang/String;)[Landroid/net/sip/SipProfile;
-HPLandroid/net/sip/ISipService;->getPendingSession(Ljava/lang/String;Ljava/lang/String;)Landroid/net/sip/ISipSession;
-HPLandroid/net/sip/ISipService;->isOpened(Ljava/lang/String;Ljava/lang/String;)Z
-HPLandroid/net/sip/ISipService;->isRegistered(Ljava/lang/String;Ljava/lang/String;)Z
-HPLandroid/net/sip/ISipService;->open(Landroid/net/sip/SipProfile;Ljava/lang/String;)V
-HPLandroid/net/sip/ISipService;->open3(Landroid/net/sip/SipProfile;Landroid/app/PendingIntent;Landroid/net/sip/ISipSessionListener;Ljava/lang/String;)V
-HPLandroid/net/sip/ISipService;->setRegistrationListener(Ljava/lang/String;Landroid/net/sip/ISipSessionListener;Ljava/lang/String;)V
+HPLandroid/net/nsd/INsdManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/net/nsd/NsdServiceInfo$1;-><init>()V
+HPLandroid/net/nsd/NsdServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/nsd/NsdServiceInfo;
+HPLandroid/net/nsd/NsdServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/nsd/NsdServiceInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/net/shared/InetAddressUtils;->unparcelInetAddress(Landroid/os/Parcel;)Ljava/net/InetAddress;
+HPLandroid/net/sip/ISipService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/net/sip/SipManager;->newInstance(Landroid/content/Context;)Landroid/net/sip/SipManager;
-HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->addOrUpdateNetwork(Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;)I
-HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->disableNetwork(ILjava/lang/String;)Z
-HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->disconnect(Ljava/lang/String;)V
-HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->enableNetwork(IZLjava/lang/String;)Z
-HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getPrivilegedConfiguredNetworks()Landroid/content/pm/ParceledListSlice;
-HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getSupportedFeatures()I
-HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->reconnect(Ljava/lang/String;)V
-HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->releaseMulticastLock()V
-HPLandroid/net/wifi/IWifiScanner$Stub$Proxy;->getMessenger()Landroid/os/Messenger;
+HPLandroid/net/util/IpUtils;->checksum(Ljava/nio/ByteBuffer;III)I
+HPLandroid/net/util/IpUtils;->pseudoChecksumIPv4(Ljava/nio/ByteBuffer;III)I
+HPLandroid/net/util/IpUtils;->transportChecksum(Ljava/nio/ByteBuffer;IIII)S
+HPLandroid/net/util/MultinetworkPolicyTracker;->getAvoidBadWifi()Z
+HPLandroid/net/util/MultinetworkPolicyTracker;->shouldNotifyWifiUnvalidated()Z
+HPLandroid/net/wifi/-$$Lambda$WifiManager$SoftApCallbackProxy$f44R8L0UcqgnIaD5lXMmeuRHCWI;->run()V
+HPLandroid/net/wifi/-$$Lambda$WifiManager$SoftApCallbackProxy$vmSW5veUpC52oRINBy419US5snk;->run()V
+HPLandroid/net/wifi/ISoftApCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/net/wifi/ISoftApCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/net/wifi/ITrafficStateCallback$Stub$Proxy;->onStateChanged(I)V
+HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getCountryCode()Ljava/lang/String;
+HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getDhcpInfo()Landroid/net/DhcpInfo;
+HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getFactoryMacAddresses()[Ljava/lang/String;
+HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getPasspointConfigurations()Ljava/util/List;
+HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getPrivilegedConfiguredNetworks(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
+HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
+HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getWifiServiceMessenger(Ljava/lang/String;)Landroid/os/Messenger;
+HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->isDualBandSupported()Z
+HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->reconnect(Ljava/lang/String;)Z
+HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->registerSoftApCallback(Landroid/os/IBinder;Landroid/net/wifi/ISoftApCallback;I)V
+HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->releaseMulticastLock(Ljava/lang/String;)V
+HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->setWifiApConfiguration(Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;)Z
+HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->setWifiEnabled(Ljava/lang/String;Z)Z
+HPLandroid/net/wifi/IWifiManager$Stub$Proxy;->unregisterSoftApCallback(I)V
+HPLandroid/net/wifi/IWifiManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/net/wifi/IWifiScanner$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/net/wifi/RttManager$RttCapabilities$1;-><init>()V
-HPLandroid/net/wifi/RttManager$RttListener;->onAborted()V
-HPLandroid/net/wifi/RttManager$RttListener;->onFailure(ILjava/lang/String;)V
-HPLandroid/net/wifi/RttManager$RttListener;->onSuccess([Landroid/net/wifi/RttManager$RttResult;)V
 HPLandroid/net/wifi/RttManager;-><init>(Landroid/content/Context;Landroid/net/wifi/rtt/WifiRttManager;)V
 HPLandroid/net/wifi/RttManager;->getRttCapabilities()Landroid/net/wifi/RttManager$RttCapabilities;
-HPLandroid/net/wifi/ScanResult$RadioChainInfo;->toString()Ljava/lang/String;
 HPLandroid/net/wifi/ScanResult;-><init>(Landroid/net/wifi/WifiSsid;Ljava/lang/String;JI[BLjava/lang/String;IIJ)V
 HPLandroid/net/wifi/ScanResult;->is24GHz()Z
 HPLandroid/net/wifi/ScanResult;->is5GHz()Z
-HPLandroid/net/wifi/ScanResult;->is80211mcResponder()Z
+HPLandroid/net/wifi/ScanResult;->isPasspointNetwork()Z
 HPLandroid/net/wifi/ScanResult;->setFlag(J)V
-HPLandroid/net/wifi/ScanResult;->toString()Ljava/lang/String;
 HPLandroid/net/wifi/ScanResult;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/net/wifi/SupplicantState;->describeContents()I
 HPLandroid/net/wifi/SupplicantState;->isConnecting(Landroid/net/wifi/SupplicantState;)Z
 HPLandroid/net/wifi/SupplicantState;->isHandshakeState(Landroid/net/wifi/SupplicantState;)Z
 HPLandroid/net/wifi/SupplicantState;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/net/wifi/WifiActivityEnergyInfo;-><init>(JIJ[JJJJJ)V
+HPLandroid/net/wifi/WifiActivityEnergyInfo;->toString()Ljava/lang/String;
 HPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;-><init>()V
 HPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->clearDisableReasonCounter()V
 HPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->clearDisableReasonCounter(I)V
@@ -4035,21 +4411,21 @@
 HPLandroid/net/wifi/WifiConfiguration;->getIpAssignment()Landroid/net/IpConfiguration$IpAssignment;
 HPLandroid/net/wifi/WifiConfiguration;->getIpConfiguration()Landroid/net/IpConfiguration;
 HPLandroid/net/wifi/WifiConfiguration;->getNetworkSelectionStatus()Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;
+HPLandroid/net/wifi/WifiConfiguration;->getOrCreateRandomizedMacAddress()Landroid/net/MacAddress;
+HPLandroid/net/wifi/WifiConfiguration;->getPrintableSsid()Ljava/lang/String;
 HPLandroid/net/wifi/WifiConfiguration;->getProxySettings()Landroid/net/IpConfiguration$ProxySettings;
 HPLandroid/net/wifi/WifiConfiguration;->getRandomizedMacAddress()Landroid/net/MacAddress;
+HPLandroid/net/wifi/WifiConfiguration;->hasNoInternetAccess()Z
 HPLandroid/net/wifi/WifiConfiguration;->isEnterprise()Z
 HPLandroid/net/wifi/WifiConfiguration;->isEphemeral()Z
 HPLandroid/net/wifi/WifiConfiguration;->isMetered(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiInfo;)Z
-HPLandroid/net/wifi/WifiConfiguration;->isPasspoint()Z
-HPLandroid/net/wifi/WifiConfiguration;->setIpAssignment(Landroid/net/IpConfiguration$IpAssignment;)V
+HPLandroid/net/wifi/WifiConfiguration;->isValidMacAddressForRandomization(Landroid/net/MacAddress;)Z
 HPLandroid/net/wifi/WifiConfiguration;->setIpConfiguration(Landroid/net/IpConfiguration;)V
 HPLandroid/net/wifi/WifiConfiguration;->setNetworkSelectionStatus(Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;)V
-HPLandroid/net/wifi/WifiConfiguration;->setProxySettings(Landroid/net/IpConfiguration$ProxySettings;)V
 HPLandroid/net/wifi/WifiConfiguration;->setRandomizedMacAddress(Landroid/net/MacAddress;)V
-HPLandroid/net/wifi/WifiConfiguration;->toString()Ljava/lang/String;
 HPLandroid/net/wifi/WifiConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/net/wifi/WifiEnterpriseConfig;-><init>()V
 HPLandroid/net/wifi/WifiEnterpriseConfig;->copyFrom(Landroid/net/wifi/WifiEnterpriseConfig;ZLjava/lang/String;)V
-HPLandroid/net/wifi/WifiEnterpriseConfig;->copyFromExternal(Landroid/net/wifi/WifiEnterpriseConfig;Ljava/lang/String;)V
 HPLandroid/net/wifi/WifiEnterpriseConfig;->getAnonymousIdentity()Ljava/lang/String;
 HPLandroid/net/wifi/WifiEnterpriseConfig;->getCaCertificates()[Ljava/security/cert/X509Certificate;
 HPLandroid/net/wifi/WifiEnterpriseConfig;->getEapMethod()I
@@ -4058,149 +4434,211 @@
 HPLandroid/net/wifi/WifiEnterpriseConfig;->getIdentity()Ljava/lang/String;
 HPLandroid/net/wifi/WifiEnterpriseConfig;->getPassword()Ljava/lang/String;
 HPLandroid/net/wifi/WifiEnterpriseConfig;->getPhase2Method()I
-HPLandroid/net/wifi/WifiEnterpriseConfig;->toString()Ljava/lang/String;
+HPLandroid/net/wifi/WifiEnterpriseConfig;->getPlmn()Ljava/lang/String;
+HPLandroid/net/wifi/WifiEnterpriseConfig;->getRealm()Ljava/lang/String;
+HPLandroid/net/wifi/WifiEnterpriseConfig;->removeDoubleQuotes(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/net/wifi/WifiEnterpriseConfig;->setEapMethod(I)V
+HPLandroid/net/wifi/WifiEnterpriseConfig;->setFieldValue(Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/net/wifi/WifiEnterpriseConfig;->setFieldValue(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/net/wifi/WifiEnterpriseConfig;->setPassword(Ljava/lang/String;)V
+HPLandroid/net/wifi/WifiEnterpriseConfig;->setPhase2Method(I)V
+HPLandroid/net/wifi/WifiEnterpriseConfig;->setPlmn(Ljava/lang/String;)V
+HPLandroid/net/wifi/WifiEnterpriseConfig;->setRealm(Ljava/lang/String;)V
 HPLandroid/net/wifi/WifiEnterpriseConfig;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/net/wifi/WifiInfo;-><init>(Landroid/net/wifi/WifiInfo;)V
 HPLandroid/net/wifi/WifiInfo;->getDetailedStateOf(Landroid/net/wifi/SupplicantState;)Landroid/net/NetworkInfo$DetailedState;
+HPLandroid/net/wifi/WifiInfo;->getFrequency()I
+HPLandroid/net/wifi/WifiInfo;->getHiddenSSID()Z
+HPLandroid/net/wifi/WifiInfo;->getMacAddress()Ljava/lang/String;
 HPLandroid/net/wifi/WifiInfo;->getMeteredHint()Z
+HPLandroid/net/wifi/WifiInfo;->getNetworkSuggestionOrSpecifierPackageName()Ljava/lang/String;
+HPLandroid/net/wifi/WifiInfo;->getRxLinkSpeedMbps()I
+HPLandroid/net/wifi/WifiInfo;->getSupplicantState()Landroid/net/wifi/SupplicantState;
+HPLandroid/net/wifi/WifiInfo;->getTxLinkSpeedMbps()I
+HPLandroid/net/wifi/WifiInfo;->getWifiSsid()Landroid/net/wifi/WifiSsid;
 HPLandroid/net/wifi/WifiInfo;->is24GHz()Z
 HPLandroid/net/wifi/WifiInfo;->isEphemeral()Z
+HPLandroid/net/wifi/WifiInfo;->isTrusted()Z
+HPLandroid/net/wifi/WifiInfo;->reset()V
+HPLandroid/net/wifi/WifiInfo;->setBSSID(Ljava/lang/String;)V
+HPLandroid/net/wifi/WifiInfo;->setEphemeral(Z)V
+HPLandroid/net/wifi/WifiInfo;->setFQDN(Ljava/lang/String;)V
+HPLandroid/net/wifi/WifiInfo;->setFrequency(I)V
+HPLandroid/net/wifi/WifiInfo;->setInetAddress(Ljava/net/InetAddress;)V
+HPLandroid/net/wifi/WifiInfo;->setLinkSpeed(I)V
+HPLandroid/net/wifi/WifiInfo;->setMacAddress(Ljava/lang/String;)V
+HPLandroid/net/wifi/WifiInfo;->setMeteredHint(Z)V
+HPLandroid/net/wifi/WifiInfo;->setNetworkId(I)V
+HPLandroid/net/wifi/WifiInfo;->setNetworkSuggestionOrSpecifierPackageName(Ljava/lang/String;)V
+HPLandroid/net/wifi/WifiInfo;->setOsuAp(Z)V
+HPLandroid/net/wifi/WifiInfo;->setProviderFriendlyName(Ljava/lang/String;)V
+HPLandroid/net/wifi/WifiInfo;->setRssi(I)V
+HPLandroid/net/wifi/WifiInfo;->setRxLinkSpeedMbps(I)V
+HPLandroid/net/wifi/WifiInfo;->setSSID(Landroid/net/wifi/WifiSsid;)V
+HPLandroid/net/wifi/WifiInfo;->setSupplicantState(Landroid/net/wifi/SupplicantState;)V
+HPLandroid/net/wifi/WifiInfo;->setTrusted(Z)V
+HPLandroid/net/wifi/WifiInfo;->setTxLinkSpeedMbps(I)V
 HPLandroid/net/wifi/WifiInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/net/wifi/WifiManager$MulticastLock;->finalize()V
 HPLandroid/net/wifi/WifiManager$MulticastLock;->release()V
-HPLandroid/net/wifi/WifiManager;->addNetwork(Landroid/net/wifi/WifiConfiguration;)I
-HPLandroid/net/wifi/WifiManager;->addOrUpdateNetwork(Landroid/net/wifi/WifiConfiguration;)I
-HPLandroid/net/wifi/WifiManager;->disableNetwork(I)Z
-HPLandroid/net/wifi/WifiManager;->disconnect()Z
-HPLandroid/net/wifi/WifiManager;->enableNetwork(IZ)Z
+HPLandroid/net/wifi/WifiManager$ServiceHandler;->dispatchMessageToListeners(Landroid/os/Message;)V
+HPLandroid/net/wifi/WifiManager$ServiceHandler;->handleMessage(Landroid/os/Message;)V
+HPLandroid/net/wifi/WifiManager$SoftApCallbackProxy;->lambda$onNumClientsChanged$1$WifiManager$SoftApCallbackProxy(I)V
+HPLandroid/net/wifi/WifiManager$SoftApCallbackProxy;->lambda$onStateChanged$0$WifiManager$SoftApCallbackProxy(II)V
+HPLandroid/net/wifi/WifiManager$SoftApCallbackProxy;->onNumClientsChanged(I)V
+HPLandroid/net/wifi/WifiManager$SoftApCallbackProxy;->onStateChanged(II)V
+HPLandroid/net/wifi/WifiManager$WifiLock;->finalize()V
+HPLandroid/net/wifi/WifiManager$WifiLock;->isHeld()Z
+HPLandroid/net/wifi/WifiManager;->connect(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiManager$ActionListener;)V
+HPLandroid/net/wifi/WifiManager;->createWifiLock(Ljava/lang/String;)Landroid/net/wifi/WifiManager$WifiLock;
 HPLandroid/net/wifi/WifiManager;->finalize()V
+HPLandroid/net/wifi/WifiManager;->forget(ILandroid/net/wifi/WifiManager$ActionListener;)V
+HPLandroid/net/wifi/WifiManager;->getChannel()Lcom/android/internal/util/AsyncChannel;
+HPLandroid/net/wifi/WifiManager;->getCountryCode()Ljava/lang/String;
+HPLandroid/net/wifi/WifiManager;->getDhcpInfo()Landroid/net/DhcpInfo;
+HPLandroid/net/wifi/WifiManager;->getFactoryMacAddresses()[Ljava/lang/String;
+HPLandroid/net/wifi/WifiManager;->getPasspointConfigurations()Ljava/util/List;
 HPLandroid/net/wifi/WifiManager;->getPrivilegedConfiguredNetworks()Ljava/util/List;
-HPLandroid/net/wifi/WifiManager;->getSupportedFeatures()I
 HPLandroid/net/wifi/WifiManager;->getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
-HPLandroid/net/wifi/WifiManager;->isDeviceToApRttSupported()Z
+HPLandroid/net/wifi/WifiManager;->getWifiServiceMessenger()Landroid/os/Messenger;
+HPLandroid/net/wifi/WifiManager;->isDualBandSupported()Z
+HPLandroid/net/wifi/WifiManager;->isEasyConnectSupported()Z
+HPLandroid/net/wifi/WifiManager;->putListener(Ljava/lang/Object;)I
 HPLandroid/net/wifi/WifiManager;->reconnect()Z
+HPLandroid/net/wifi/WifiManager;->registerSoftApCallback(Landroid/net/wifi/WifiManager$SoftApCallback;Landroid/os/Handler;)V
+HPLandroid/net/wifi/WifiManager;->removeListener(I)Ljava/lang/Object;
 HPLandroid/net/wifi/WifiManager;->retrieveBackupData()[B
-HPLandroid/net/wifi/WifiManager;->saveConfiguration()Z
-HPLandroid/net/wifi/WifiManager;->updateNetwork(Landroid/net/wifi/WifiConfiguration;)I
-HPLandroid/net/wifi/WifiNetworkScoreCache$CacheListener;-><init>(Landroid/os/Handler;)V
-HPLandroid/net/wifi/WifiNetworkScoreCache$CacheListener;->networkCacheUpdated(Ljava/util/List;)V
-HPLandroid/net/wifi/WifiNetworkScoreCache;->buildNetworkKey(Landroid/net/NetworkKey;)Ljava/lang/String;
-HPLandroid/net/wifi/WifiNetworkScoreCache;->getScoredNetwork(Landroid/net/NetworkKey;)Landroid/net/ScoredNetwork;
+HPLandroid/net/wifi/WifiManager;->save(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiManager$ActionListener;)V
+HPLandroid/net/wifi/WifiManager;->setWifiApConfiguration(Landroid/net/wifi/WifiConfiguration;)Z
+HPLandroid/net/wifi/WifiManager;->setWifiEnabled(Z)Z
+HPLandroid/net/wifi/WifiManager;->unregisterSoftApCallback(Landroid/net/wifi/WifiManager$SoftApCallback;)V
+HPLandroid/net/wifi/WifiNetworkAgentSpecifier$1;-><init>()V
+HPLandroid/net/wifi/WifiNetworkAgentSpecifier;-><init>(Landroid/net/wifi/WifiConfiguration;ILjava/lang/String;)V
+HPLandroid/net/wifi/WifiNetworkAgentSpecifier;->equals(Ljava/lang/Object;)Z
+HPLandroid/net/wifi/WifiNetworkAgentSpecifier;->redact()Landroid/net/NetworkSpecifier;
+HPLandroid/net/wifi/WifiNetworkAgentSpecifier;->satisfiedBy(Landroid/net/NetworkSpecifier;)Z
+HPLandroid/net/wifi/WifiNetworkAgentSpecifier;->toString()Ljava/lang/String;
+HPLandroid/net/wifi/WifiNetworkScoreCache$CacheListener$1;->run()V
+HPLandroid/net/wifi/WifiNetworkScoreCache$CacheListener;->post(Ljava/util/List;)V
+HPLandroid/net/wifi/WifiNetworkScoreCache;->buildNetworkKey(Landroid/net/wifi/ScanResult;)Ljava/lang/String;
+HPLandroid/net/wifi/WifiNetworkScoreCache;->getScoredNetwork(Landroid/net/wifi/ScanResult;)Landroid/net/ScoredNetwork;
+HPLandroid/net/wifi/WifiNetworkScoreCache;->registerListener(Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;)V
+HPLandroid/net/wifi/WifiNetworkScoreCache;->unregisterListener()V
 HPLandroid/net/wifi/WifiNetworkScoreCache;->updateScores(Ljava/util/List;)V
-HPLandroid/net/wifi/WifiScanner$ActionListener;->onFailure(ILjava/lang/String;)V
-HPLandroid/net/wifi/WifiScanner$ActionListener;->onSuccess()V
 HPLandroid/net/wifi/WifiScanner$OperationResult$1;-><init>()V
-HPLandroid/net/wifi/WifiScanner$OperationResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiScanner$OperationResult;
-HPLandroid/net/wifi/WifiScanner$OperationResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/net/wifi/WifiScanner$OperationResult;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/net/wifi/WifiScanner$ParcelableScanData$1;-><init>()V
-HPLandroid/net/wifi/WifiScanner$ParcelableScanData$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiScanner$ParcelableScanData;
-HPLandroid/net/wifi/WifiScanner$ParcelableScanData$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/net/wifi/WifiScanner$ParcelableScanData;->getResults()[Landroid/net/wifi/WifiScanner$ScanData;
 HPLandroid/net/wifi/WifiScanner$ParcelableScanData;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/net/wifi/WifiScanner$ParcelableScanResults$1;-><init>()V
 HPLandroid/net/wifi/WifiScanner$ParcelableScanResults;->getResults()[Landroid/net/wifi/ScanResult;
 HPLandroid/net/wifi/WifiScanner$PnoSettings$1;-><init>()V
-HPLandroid/net/wifi/WifiScanner$ScanData$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiScanner$ScanData;
-HPLandroid/net/wifi/WifiScanner$ScanData$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;-><init>(Ljava/lang/String;)V
+HPLandroid/net/wifi/WifiScanner$ScanData;->getBandScanned()I
 HPLandroid/net/wifi/WifiScanner$ScanData;->getBucketsScanned()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;->isAllChannelsScanned()Z
 HPLandroid/net/wifi/WifiScanner$ScanData;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/net/wifi/WifiScanner$ScanListener;->onFullResult(Landroid/net/wifi/ScanResult;)V
-HPLandroid/net/wifi/WifiScanner$ScanListener;->onPeriodChanged(I)V
-HPLandroid/net/wifi/WifiScanner$ScanListener;->onResults([Landroid/net/wifi/WifiScanner$ScanData;)V
-HPLandroid/net/wifi/WifiScanner$ScanSettings$1;-><init>()V
 HPLandroid/net/wifi/WifiScanner$ScanSettings$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiScanner$ScanSettings;
 HPLandroid/net/wifi/WifiScanner$ScanSettings$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/net/wifi/WifiScanner$ScanSettings;-><init>()V
-HPLandroid/net/wifi/WifiScanner$ScanSettings;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/net/wifi/WifiScanner;->deregisterScanListener(Landroid/net/wifi/WifiScanner$ScanListener;)V
-HPLandroid/net/wifi/WifiScanner;->removeListener(I)Ljava/lang/Object;
-HPLandroid/net/wifi/WifiScanner;->removeListener(Ljava/lang/Object;)I
+HPLandroid/net/wifi/WifiScanner;->getSingleScanResults()Ljava/util/List;
 HPLandroid/net/wifi/WifiScanner;->startDisconnectedPnoScan(Landroid/net/wifi/WifiScanner$ScanSettings;Landroid/net/wifi/WifiScanner$PnoSettings;Landroid/net/wifi/WifiScanner$PnoScanListener;)V
 HPLandroid/net/wifi/WifiScanner;->startScan(Landroid/net/wifi/WifiScanner$ScanSettings;Landroid/net/wifi/WifiScanner$ScanListener;)V
-HPLandroid/net/wifi/WifiScanner;->startScan(Landroid/net/wifi/WifiScanner$ScanSettings;Landroid/net/wifi/WifiScanner$ScanListener;Landroid/os/WorkSource;)V
 HPLandroid/net/wifi/WifiScanner;->stopPnoScan(Landroid/net/wifi/WifiScanner$ScanListener;)V
 HPLandroid/net/wifi/WifiSsid;->createFromByteArray([B)Landroid/net/wifi/WifiSsid;
 HPLandroid/net/wifi/WifiSsid;->createFromHex(Ljava/lang/String;)Landroid/net/wifi/WifiSsid;
+HPLandroid/net/wifi/WifiSsid;->isHidden()Z
 HPLandroid/net/wifi/WifiSsid;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/net/wifi/p2p/IWifiP2pManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/p2p/IWifiP2pManager;
-HPLandroid/net/wifi/p2p/WifiP2pManager$PeerListListener;->onPeersAvailable(Landroid/net/wifi/p2p/WifiP2pDeviceList;)V
-HPLandroid/net/wifi/p2p/WifiP2pManager$PersistentGroupInfoListener;->onPersistentGroupInfoAvailable(Landroid/net/wifi/p2p/WifiP2pGroupList;)V
+HPLandroid/net/wifi/WifiUsabilityStatsEntry$1;-><init>()V
+HPLandroid/net/wifi/WifiUsabilityStatsEntry;-><init>(JIIJJJJJJJJJJJJJJJJIIII)V
+HPLandroid/net/wifi/hotspot2/OsuProvider$1;-><init>()V
+HPLandroid/net/wifi/hotspot2/OsuProvider$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/hotspot2/OsuProvider;
+HPLandroid/net/wifi/hotspot2/OsuProvider$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/net/wifi/hotspot2/OsuProvider;-><init>(Landroid/net/wifi/WifiSsid;Ljava/util/Map;Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Ljava/util/List;Landroid/graphics/drawable/Icon;)V
+HPLandroid/net/wifi/hotspot2/OsuProvider;->equals(Ljava/lang/Object;)Z
+HPLandroid/net/wifi/hotspot2/OsuProvider;->getFriendlyName()Ljava/lang/String;
+HPLandroid/net/wifi/hotspot2/OsuProvider;->getServerUri()Landroid/net/Uri;
+HPLandroid/net/wifi/hotspot2/OsuProvider;->hashCode()I
+HPLandroid/net/wifi/hotspot2/OsuProvider;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/net/wifi/hotspot2/PasspointConfiguration$1;-><init>()V
+HPLandroid/net/wifi/rtt/CivicLocation$1;-><init>()V
+HPLandroid/net/wifi/rtt/CivicLocation;-><init>([BLjava/lang/String;)V
+HPLandroid/net/wifi/rtt/CivicLocation;->parseCivicTLVs([B)Z
 HPLandroid/net/wifi/rtt/IRttCallback$Stub$Proxy;->onRangingResults(Ljava/util/List;)V
-HPLandroid/net/wifi/rtt/IRttCallback;->onRangingFailure(I)V
-HPLandroid/net/wifi/rtt/IRttCallback;->onRangingResults(Ljava/util/List;)V
+HPLandroid/net/wifi/rtt/IWifiRttManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/rtt/IWifiRttManager;
+HPLandroid/net/wifi/rtt/IWifiRttManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/net/wifi/rtt/IWifiRttManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/net/wifi/rtt/RangingRequest$1;-><init>()V
 HPLandroid/net/wifi/rtt/RangingRequest$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/rtt/RangingRequest;
 HPLandroid/net/wifi/rtt/RangingRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/net/wifi/rtt/RangingRequest;->enforceValidity(Z)V
 HPLandroid/net/wifi/rtt/RangingResult$1;-><init>()V
-HPLandroid/net/wifi/rtt/RangingResult;-><init>(ILandroid/net/MacAddress;IIIII[B[BJ)V
+HPLandroid/net/wifi/rtt/RangingResult;-><init>(ILandroid/net/MacAddress;IIIII[B[BLandroid/net/wifi/rtt/ResponderLocation;J)V
 HPLandroid/net/wifi/rtt/RangingResult;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/net/wifi/rtt/ResponderConfig$1;-><init>()V
 HPLandroid/net/wifi/rtt/ResponderConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/rtt/ResponderConfig;
 HPLandroid/net/wifi/rtt/ResponderConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/net/wifi/rtt/ResponderConfig;-><init>(Landroid/net/MacAddress;IZIIIII)V
-HPLandroid/nfc/INfcAdapter$Stub$Proxy;->setReaderMode(Landroid/os/IBinder;Landroid/nfc/IAppCallback;ILandroid/os/Bundle;)V
-HPLandroid/nfc/INfcAdapter$Stub;->asInterface(Landroid/os/IBinder;)Landroid/nfc/INfcAdapter;
-HPLandroid/nfc/NfcActivityManager$NfcActivityState;->destroy()V
-HPLandroid/nfc/NfcActivityManager$NfcApplicationState;->unregister()V
-HPLandroid/nfc/NfcActivityManager;->destroyActivityState(Landroid/app/Activity;)V
-HPLandroid/nfc/NfcActivityManager;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
-HPLandroid/nfc/NfcActivityManager;->onActivityPaused(Landroid/app/Activity;)V
-HPLandroid/nfc/NfcActivityManager;->onActivitySaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
-HPLandroid/nfc/NfcActivityManager;->unregisterApplication(Landroid/app/Application;)V
-HPLandroid/nfc/NfcAdapter$NfcUnlockHandler;->onUnlockAttempted(Landroid/nfc/Tag;)Z
+HPLandroid/net/wifi/rtt/ResponderLocation$1;-><init>()V
+HPLandroid/net/wifi/rtt/ResponderLocation;-><init>([B[B)V
+HPLandroid/net/wifi/rtt/ResponderLocation;->decodeLciLatLng([J[IID)D
+HPLandroid/net/wifi/rtt/ResponderLocation;->getFieldData([B[I)[J
+HPLandroid/net/wifi/rtt/ResponderLocation;->parseInformationElementBuffer(I[B[B)Z
+HPLandroid/net/wifi/rtt/ResponderLocation;->parseSubelementLci([B)Z
+HPLandroid/net/wifi/rtt/ResponderLocation;->parseSubelementLocationCivic([B)Z
+HPLandroid/net/wifi/rtt/ResponderLocation;->parseSubelementUsage([B)Z
+HPLandroid/net/wifi/rtt/ResponderLocation;->swapEndianByteByByte([B)V
+HPLandroid/net/wifi/rtt/ResponderLocation;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/nfc/INfcAdapter$Stub;-><init>()V
+HPLandroid/nfc/INfcAdapter$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/nfc/INfcCardEmulation$Stub$Proxy;->isDefaultServiceForCategory(ILandroid/content/ComponentName;Ljava/lang/String;)Z
+HPLandroid/nfc/INfcCardEmulation$Stub;-><init>()V
+HPLandroid/nfc/INfcCardEmulation$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/nfc/INfcCardEmulation$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/nfc/INfcFCardEmulation$Stub;-><init>()V
+HPLandroid/nfc/INfcFCardEmulation$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/nfc/INfcTag$Stub;-><init>()V
+HPLandroid/nfc/INfcTag$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/nfc/NfcAdapter;->setNdefPushMessageCallback(Landroid/nfc/NfcAdapter$CreateNdefMessageCallback;Landroid/app/Activity;[Landroid/app/Activity;)V
+HPLandroid/nfc/NfcAdapter;->setOnNdefPushCompleteCallback(Landroid/nfc/NfcAdapter$OnNdefPushCompleteCallback;Landroid/app/Activity;[Landroid/app/Activity;)V
+HPLandroid/nfc/cardemulation/ApduServiceInfo;-><init>(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;Z)V
+HPLandroid/nfc/cardemulation/ApduServiceInfo;->getAidGroups()Ljava/util/ArrayList;
+HPLandroid/nfc/cardemulation/ApduServiceInfo;->getAids()Ljava/util/List;
+HPLandroid/nfc/cardemulation/ApduServiceInfo;->getCategoryForAid(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/nfc/cardemulation/ApduServiceInfo;->getPrefixAids()Ljava/util/List;
+HPLandroid/nfc/cardemulation/ApduServiceInfo;->getSubsetAids()Ljava/util/List;
+HPLandroid/nfc/cardemulation/ApduServiceInfo;->isOnHost()Z
+HPLandroid/nfc/cardemulation/CardEmulation;->isDefaultServiceForCategory(Landroid/content/ComponentName;Ljava/lang/String;)Z
 HPLandroid/nfc/cardemulation/HostApduService;-><init>()V
 HPLandroid/nfc/cardemulation/HostApduService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HPLandroid/nfc/cardemulation/HostApduService;->onDeactivated(I)V
-HPLandroid/nfc/cardemulation/HostApduService;->processCommandApdu([BLandroid/os/Bundle;)[B
 HPLandroid/opengl/EGL14;->eglCreateWindowSurface(Landroid/opengl/EGLDisplay;Landroid/opengl/EGLConfig;Ljava/lang/Object;[II)Landroid/opengl/EGLSurface;
-HPLandroid/opengl/EGLConfig;-><init>(J)V
-HPLandroid/opengl/EGLObjectHandle;->getNativeHandle()J
-HPLandroid/opengl/GLSurfaceView$DefaultContextFactory;->destroyContext(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLContext;)V
-HPLandroid/opengl/GLSurfaceView$DefaultWindowSurfaceFactory;->destroySurface(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)V
-HPLandroid/opengl/GLSurfaceView$EglHelper;->destroySurface()V
-HPLandroid/opengl/GLSurfaceView$EglHelper;->finish()V
-HPLandroid/opengl/GLSurfaceView$GLThread;->onPause()V
-HPLandroid/opengl/GLSurfaceView$GLThread;->surfaceDestroyed()V
-HPLandroid/opengl/GLSurfaceView$GLThreadManager;->releaseEglContextLocked(Landroid/opengl/GLSurfaceView$GLThread;)V
-HPLandroid/opengl/GLSurfaceView;->onPause()V
-HPLandroid/opengl/GLSurfaceView;->surfaceDestroyed(Landroid/view/SurfaceHolder;)V
-HPLandroid/opengl/Matrix;->frustumM([FIFFFFFF)V
 HPLandroid/os/-$$Lambda$PowerManager$WakeLock$VvFzmRZ4ZGlXx7u3lSAJ_T-YUjw;->run()V
+HPLandroid/os/-$$Lambda$StrictMode$yZJXPvy2veRNA-xL_SWdXzX_OLg;->run()V
 HPLandroid/os/-$$Lambda$Trace$2zLZ-Lc2kAXsVjw_nLYeNhqmGq0;->run()V
-HPLandroid/os/AsyncTask;->get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
+HPLandroid/os/AsyncTask;->get()Ljava/lang/Object;
+HPLandroid/os/AsyncTask;->getStatus()Landroid/os/AsyncTask$Status;
 HPLandroid/os/BaseBundle;-><init>()V
 HPLandroid/os/BaseBundle;-><init>(Landroid/os/BaseBundle;)V
-HPLandroid/os/BaseBundle;-><init>(Landroid/os/Parcel;I)V
 HPLandroid/os/BaseBundle;->getBooleanArray(Ljava/lang/String;)[Z
-HPLandroid/os/BaseBundle;->getCharSequenceArray(Ljava/lang/String;)[Ljava/lang/CharSequence;
+HPLandroid/os/BaseBundle;->getCharSequenceArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
+HPLandroid/os/BaseBundle;->getDouble(Ljava/lang/String;)D
+HPLandroid/os/BaseBundle;->getDouble(Ljava/lang/String;D)D
+HPLandroid/os/BaseBundle;->getLongArray(Ljava/lang/String;)[J
 HPLandroid/os/BaseBundle;->getShort(Ljava/lang/String;S)S
 HPLandroid/os/BaseBundle;->kindofEquals(Landroid/os/BaseBundle;)Z
 HPLandroid/os/BaseBundle;->putBooleanArray(Ljava/lang/String;[Z)V
 HPLandroid/os/BaseBundle;->putByteArray(Ljava/lang/String;[B)V
-HPLandroid/os/BaseBundle;->putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V
-HPLandroid/os/BatteryManager;->getIntProperty(I)I
-HPLandroid/os/BatteryManager;->queryProperty(I)J
-HPLandroid/os/BatteryProperty$1;-><init>()V
-HPLandroid/os/BatteryProperty;->readFromParcel(Landroid/os/Parcel;)V
+HPLandroid/os/BaseBundle;->setClassLoader(Ljava/lang/ClassLoader;)V
+HPLandroid/os/BaseBundle;->typeWarning(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/ClassCastException;)V
+HPLandroid/os/BatteryManager;->computeChargeTimeRemaining()J
 HPLandroid/os/BatteryProperty;->setLong(J)V
-HPLandroid/os/BatteryStats$HistoryItem;->readFromParcel(Landroid/os/Parcel;)V
+HPLandroid/os/BatteryStats$HistoryItem;->isDeltaData()Z
 HPLandroid/os/BatteryStats$HistoryPrinter;-><init>()V
 HPLandroid/os/BatteryStats$HistoryPrinter;->printNextItem(Landroid/os/BatteryStats$HistoryItem;JZZ)Ljava/lang/String;
+HPLandroid/os/BatteryStats$HistoryPrinter;->printNextItem(Landroid/util/proto/ProtoOutputStream;Landroid/os/BatteryStats$HistoryItem;JZ)V
 HPLandroid/os/BatteryStats$HistoryPrinter;->printNextItem(Ljava/io/PrintWriter;Landroid/os/BatteryStats$HistoryItem;JZZ)V
 HPLandroid/os/BatteryStats$HistoryPrinter;->reset()V
-HPLandroid/os/BatteryStats$HistoryStepDetails;->readFromParcel(Landroid/os/Parcel;)V
 HPLandroid/os/BatteryStats$HistoryStepDetails;->writeToParcel(Landroid/os/Parcel;)V
 HPLandroid/os/BatteryStats$HistoryTag;-><init>()V
 HPLandroid/os/BatteryStats$LevelStepTracker;->addLevelSteps(IJJ)V
-HPLandroid/os/BatteryStats$LevelStepTracker;->appendHex(JILjava/lang/StringBuilder;)V
-HPLandroid/os/BatteryStats$LevelStepTracker;->encodeEntryAt(ILjava/lang/StringBuilder;)V
 HPLandroid/os/BatteryStats$LevelStepTracker;->getDurationAt(I)J
 HPLandroid/os/BatteryStats$LevelStepTracker;->getInitModeAt(I)I
 HPLandroid/os/BatteryStats$LevelStepTracker;->getLevelAt(I)I
@@ -4219,13 +4657,17 @@
 HPLandroid/os/BatteryStats;->dumpLine(Ljava/io/PrintWriter;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
 HPLandroid/os/BatteryStats;->dumpLineHeader(Ljava/io/PrintWriter;ILjava/lang/String;Ljava/lang/String;)V
 HPLandroid/os/BatteryStats;->dumpProtoAppsLocked(Landroid/util/proto/ProtoOutputStream;Lcom/android/internal/os/BatteryStatsHelper;Ljava/util/List;)V
+HPLandroid/os/BatteryStats;->dumpProtoHistoryLocked(Landroid/util/proto/ProtoOutputStream;IJ)V
 HPLandroid/os/BatteryStats;->dumpProtoLocked(Landroid/content/Context;Ljava/io/FileDescriptor;Ljava/util/List;IJ)V
 HPLandroid/os/BatteryStats;->dumpProtoSystemLocked(Landroid/util/proto/ProtoOutputStream;Lcom/android/internal/os/BatteryStatsHelper;)V
 HPLandroid/os/BatteryStats;->dumpTimer(Landroid/util/proto/ProtoOutputStream;JLandroid/os/BatteryStats$Timer;JI)V
 HPLandroid/os/BatteryStats;->dumpTimer(Ljava/io/PrintWriter;ILjava/lang/String;Ljava/lang/String;Landroid/os/BatteryStats$Timer;JI)V
 HPLandroid/os/BatteryStats;->printBitDescriptions(Ljava/lang/StringBuilder;IILandroid/os/BatteryStats$HistoryTag;[Landroid/os/BatteryStats$BitDescription;Z)V
 HPLandroid/os/BatteryStats;->printWakeLockCheckin(Ljava/lang/StringBuilder;Landroid/os/BatteryStats$Timer;JLjava/lang/String;ILjava/lang/String;)Ljava/lang/String;
+HPLandroid/os/BatteryStats;->roundUsToMs(J)J
+HPLandroid/os/Binder;-><init>(Ljava/lang/String;)V
 HPLandroid/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
 HPLandroid/os/Binder;->dump(Ljava/io/FileDescriptor;[Ljava/lang/String;)V
 HPLandroid/os/Binder;->isProxy(Landroid/os/IInterface;)Z
 HPLandroid/os/Binder;->shellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
@@ -4235,258 +4677,341 @@
 HPLandroid/os/Bundle$1;->newArray(I)[Ljava/lang/Object;
 HPLandroid/os/Bundle;-><init>(Landroid/os/Parcel;I)V
 HPLandroid/os/Bundle;-><init>(Ljava/lang/ClassLoader;)V
+HPLandroid/os/Bundle;->describeContents()I
 HPLandroid/os/Bundle;->filterValues()Landroid/os/Bundle;
-HPLandroid/os/Bundle;->getCharSequenceArray(Ljava/lang/String;)[Ljava/lang/CharSequence;
-HPLandroid/os/Bundle;->getFloat(Ljava/lang/String;)F
+HPLandroid/os/Bundle;->getBinder(Ljava/lang/String;)Landroid/os/IBinder;
+HPLandroid/os/Bundle;->getCharSequenceArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
+HPLandroid/os/Bundle;->getIntegerArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
 HPLandroid/os/Bundle;->getShort(Ljava/lang/String;S)S
 HPLandroid/os/Bundle;->getSize()I
-HPLandroid/os/Bundle;->maybePrefillHasFds()V
-HPLandroid/os/Bundle;->putFloatArray(Ljava/lang/String;[F)V
-HPLandroid/os/Bundle;->putParcelableList(Ljava/lang/String;Ljava/util/List;)V
-HPLandroid/os/DeadObjectException;-><init>()V
+HPLandroid/os/Bundle;->putBinder(Ljava/lang/String;Landroid/os/IBinder;)V
+HPLandroid/os/Bundle;->putCharSequenceArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
+HPLandroid/os/Bundle;->putIntegerArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
+HPLandroid/os/CancellationSignal$Transport;->cancel()V
+HPLandroid/os/CancellationSignal;-><init>()V
 HPLandroid/os/DeadObjectException;-><init>(Ljava/lang/String;)V
+HPLandroid/os/Debug$MemoryInfo;->getOtherLabel(I)Ljava/lang/String;
+HPLandroid/os/Debug$MemoryInfo;->getOtherSharedClean(I)I
+HPLandroid/os/Debug$MemoryInfo;->getOtherSharedDirty(I)I
+HPLandroid/os/Debug$MemoryInfo;->getOtherSwappablePss(I)I
+HPLandroid/os/Debug$MemoryInfo;->getOtherSwappedOut(I)I
+HPLandroid/os/Debug$MemoryInfo;->getOtherSwappedOutPss(I)I
+HPLandroid/os/Debug$MemoryInfo;->getSummaryTotalSwapPss()I
+HPLandroid/os/Debug$MemoryInfo;->getTotalSharedClean()I
 HPLandroid/os/Debug;->countInstancesOfClass(Ljava/lang/Class;)J
 HPLandroid/os/Debug;->dumpService(Ljava/lang/String;Ljava/io/FileDescriptor;[Ljava/lang/String;)Z
+HPLandroid/os/DropBoxManager$Entry$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/DropBoxManager$Entry;
+HPLandroid/os/DropBoxManager$Entry$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/os/DropBoxManager$Entry;-><init>(Ljava/lang/String;J)V
+HPLandroid/os/DropBoxManager$Entry;-><init>(Ljava/lang/String;JLandroid/os/ParcelFileDescriptor;I)V
 HPLandroid/os/DropBoxManager$Entry;-><init>(Ljava/lang/String;JLjava/io/File;I)V
 HPLandroid/os/DropBoxManager$Entry;-><init>(Ljava/lang/String;J[BI)V
+HPLandroid/os/DropBoxManager$Entry;->getTimeMillis()J
 HPLandroid/os/DropBoxManager$Entry;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/os/DropBoxManager;->addData(Ljava/lang/String;[BI)V
 HPLandroid/os/DropBoxManager;->addFile(Ljava/lang/String;Ljava/io/File;I)V
+HPLandroid/os/DropBoxManager;->getNextEntry(Ljava/lang/String;J)Landroid/os/DropBoxManager$Entry;
 HPLandroid/os/Environment$UserEnvironment;->buildExternalStorageAppObbDirs(Ljava/lang/String;)[Ljava/io/File;
 HPLandroid/os/Environment$UserEnvironment;->getExternalStoragePublicDirectory(Ljava/lang/String;)Ljava/io/File;
 HPLandroid/os/Environment;->buildExternalStorageAppObbDirs(Ljava/lang/String;)[Ljava/io/File;
+HPLandroid/os/Environment;->buildPaths([Ljava/io/File;[Ljava/lang/String;)[Ljava/io/File;
 HPLandroid/os/Environment;->getDataMiscCeDirectory(I)Ljava/io/File;
 HPLandroid/os/Environment;->getDataRefProfilesDePackageDirectory(Ljava/lang/String;)Ljava/io/File;
 HPLandroid/os/Environment;->getDataSystemCeDirectory(I)Ljava/io/File;
-HPLandroid/os/Environment;->getExternalStorageState(Ljava/io/File;)Ljava/lang/String;
+HPLandroid/os/Environment;->getStorageDirectory()Ljava/io/File;
 HPLandroid/os/FactoryTest;->isLongPressOnPowerOffEnabled()Z
-HPLandroid/os/FileBridge$FileBridgeOutputStream;-><init>(Landroid/os/ParcelFileDescriptor;)V
-HPLandroid/os/FileBridge$FileBridgeOutputStream;->close()V
-HPLandroid/os/FileBridge$FileBridgeOutputStream;->fsync()V
-HPLandroid/os/FileBridge$FileBridgeOutputStream;->write([BII)V
-HPLandroid/os/FileBridge$FileBridgeOutputStream;->writeCommandAndBlock(ILjava/lang/String;)V
 HPLandroid/os/FileBridge;-><init>()V
 HPLandroid/os/FileBridge;->forceClose()V
 HPLandroid/os/FileBridge;->isClosed()Z
 HPLandroid/os/FileBridge;->run()V
 HPLandroid/os/FileUtils$1;->compare(Ljava/io/File;Ljava/io/File;)I
 HPLandroid/os/FileUtils$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HPLandroid/os/FileUtils;->buildValidFatFilename(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/os/FileUtils;->contains(Ljava/util/Collection;Ljava/io/File;)Z
+HPLandroid/os/FileUtils;->copy(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;JLandroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/os/FileUtils$ProgressListener;)J
+HPLandroid/os/FileUtils;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;Landroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/os/FileUtils$ProgressListener;)J
+HPLandroid/os/FileUtils;->copyFileOrThrow(Ljava/io/File;Ljava/io/File;)V
+HPLandroid/os/FileUtils;->copyInternalSendfile(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;JLandroid/os/CancellationSignal;Ljava/util/concurrent/Executor;Landroid/os/FileUtils$ProgressListener;)J
+HPLandroid/os/FileUtils;->copyToFileOrThrow(Ljava/io/InputStream;Ljava/io/File;)V
 HPLandroid/os/FileUtils;->deleteOlderFiles(Ljava/io/File;IJ)Z
+HPLandroid/os/FileUtils;->digest(Ljava/io/InputStream;Ljava/lang/String;)[B
+HPLandroid/os/FileUtils;->digestInternalUserspace(Ljava/io/InputStream;Ljava/lang/String;)[B
+HPLandroid/os/FileUtils;->isValidFatFilenameChar(C)Z
+HPLandroid/os/FileUtils;->listOrEmpty(Ljava/io/File;)[Ljava/lang/String;
 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
+HPLandroid/os/FileUtils;->translateModePosixToPfd(I)I
+HPLandroid/os/FileUtils;->translateModeStringToPosix(Ljava/lang/String;)I
+HPLandroid/os/Handler;->dumpMine(Landroid/util/Printer;Ljava/lang/String;)V
+HPLandroid/os/Handler;->getPostMessage(Ljava/lang/Runnable;)Landroid/os/Message;
+HPLandroid/os/Handler;->postDelayed(Ljava/lang/Runnable;IJ)Z
+HPLandroid/os/Handler;->sendEmptyMessageAtTime(IJ)Z
 HPLandroid/os/HwParcel;->writeInt16Vector(Ljava/util/ArrayList;)V
-HPLandroid/os/HwParcel;->writeInt32Vector(Ljava/util/ArrayList;)V
+HPLandroid/os/HwParcel;->writeInt8Vector(Ljava/util/ArrayList;)V
 HPLandroid/os/HwRemoteBinder;->sendDeathNotice(Landroid/os/IHwBinder$DeathRecipient;J)V
-HPLandroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;->getProperty(ILandroid/os/BatteryProperty;)I
+HPLandroid/os/IBatteryPropertiesRegistrar$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/os/IBatteryPropertiesRegistrar$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/os/ICancellationSignal$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/os/ICancellationSignal$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/os/IDeviceIdentifiersPolicyService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/os/IDeviceIdentifiersPolicyService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/os/IDeviceIdleController$Stub$Proxy;->addPowerSaveTempWhitelistAppForMms(Ljava/lang/String;ILjava/lang/String;)J
+HPLandroid/os/IDeviceIdleController$Stub$Proxy;->addPowerSaveTempWhitelistAppForSms(Ljava/lang/String;ILjava/lang/String;)J
+HPLandroid/os/IDeviceIdleController$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/os/IDeviceIdleController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/os/IDynamicAndroidService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/os/IHardwarePropertiesManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/os/IHardwarePropertiesManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/os/IInstalld$Stub$Proxy;->clearAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
+HPLandroid/os/IInstalld$Stub$Proxy;->copySystemProfile(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Z
 HPLandroid/os/IInstalld$Stub$Proxy;->createOatDir(Ljava/lang/String;Ljava/lang/String;)V
 HPLandroid/os/IInstalld$Stub$Proxy;->createProfileSnapshot(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
 HPLandroid/os/IInstalld$Stub$Proxy;->createUserData(Ljava/lang/String;III)V
-HPLandroid/os/IInstalld$Stub$Proxy;->destroyAppProfiles(Ljava/lang/String;)V
 HPLandroid/os/IInstalld$Stub$Proxy;->destroyProfileSnapshot(Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/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
 HPLandroid/os/IInstalld$Stub$Proxy;->getAppSize(Ljava/lang/String;[Ljava/lang/String;III[J[Ljava/lang/String;)[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
+HPLandroid/os/IInstalld$Stub$Proxy;->installApkVerity(Ljava/lang/String;Ljava/io/FileDescriptor;I)V
 HPLandroid/os/IInstalld$Stub$Proxy;->isQuotaSupported(Ljava/lang/String;)Z
 HPLandroid/os/IInstalld$Stub$Proxy;->linkNativeLibraryDirectory(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
 HPLandroid/os/IInstalld$Stub$Proxy;->markBootComplete(Ljava/lang/String;)V
 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
 HPLandroid/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;->rmPackageDir(Ljava/lang/String;)V
 HPLandroid/os/IMessenger$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IMessenger;
+HPLandroid/os/IMessenger$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/os/INetworkActivityListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/os/INetworkActivityListener$Stub$Proxy;->onNetworkActive()V
+HPLandroid/os/INetworkActivityListener$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/os/INetworkActivityListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/INetworkActivityListener;
-HPLandroid/os/INetworkActivityListener;->onNetworkActive()V
-HPLandroid/os/INetworkManagementService$Stub$Proxy;->isNetworkActive()Z
+HPLandroid/os/INetworkActivityListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/os/INetworkManagementService$Stub$Proxy;->registerNetworkActivityListener(Landroid/os/INetworkActivityListener;)V
+HPLandroid/os/INetworkManagementService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/os/IPermissionController$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/os/IPowerManager$Stub$Proxy;->isLightDeviceIdleMode()Z
+HPLandroid/os/IPowerManager$Stub$Proxy;->userActivity(JII)V
+HPLandroid/os/IPowerManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/os/IProcessInfoService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/os/IProcessInfoService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/os/IRemoteCallback$Stub$Proxy;->sendResult(Landroid/os/Bundle;)V
-HPLandroid/os/IRemoteCallback$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/os/IRemoteCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IRemoteCallback;
-HPLandroid/os/IRemoteCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/os/ISchedulingPolicyService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/os/IStatsCompanionService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/os/IRemoteCallback$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/os/ISchedulingPolicyService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/os/IStatsCompanionService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/os/IStatsManager$Stub$Proxy;->addConfiguration(J[BLjava/lang/String;)V
 HPLandroid/os/IStatsManager$Stub$Proxy;->getData(JLjava/lang/String;)[B
 HPLandroid/os/IStatsManager$Stub$Proxy;->getMetadata(Ljava/lang/String;)[B
-HPLandroid/os/IStatsManager$Stub$Proxy;->informAnomalyAlarmFired()V
-HPLandroid/os/IStatsManager$Stub$Proxy;->informOnePackage(Ljava/lang/String;IJ)V
-HPLandroid/os/IStatsManager$Stub$Proxy;->informOnePackageRemoved(Ljava/lang/String;I)V
+HPLandroid/os/IStatsManager$Stub$Proxy;->informAlarmForSubscriberTriggeringFired()V
+HPLandroid/os/IStatsManager$Stub$Proxy;->informOnePackage(Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;)V
 HPLandroid/os/IStatsManager$Stub$Proxy;->informPollAlarmFired()V
+HPLandroid/os/IStatsManager$Stub$Proxy;->sendAppBreadcrumbAtom(II)V
+HPLandroid/os/IStatsManager$Stub$Proxy;->setBroadcastSubscriber(JJLandroid/os/IBinder;Ljava/lang/String;)V
 HPLandroid/os/IStatsManager$Stub$Proxy;->setDataFetchOperation(JLandroid/os/IBinder;Ljava/lang/String;)V
 HPLandroid/os/IStoraged$Stub$Proxy;->getRecentPerf()I
 HPLandroid/os/IStoraged$Stub$Proxy;->onUserStarted(I)V
-HPLandroid/os/ISystemUpdateManager$Stub$Proxy;->retrieveSystemUpdateInfo()Landroid/os/Bundle;
+HPLandroid/os/IStoraged$Stub$Proxy;->onUserStopped(I)V
 HPLandroid/os/ISystemUpdateManager$Stub$Proxy;->updateSystemUpdateInfo(Landroid/os/PersistableBundle;)V
 HPLandroid/os/ISystemUpdateManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/os/IUpdateEngine$Stub$Proxy;->bind(Landroid/os/IUpdateEngineCallback;)Z
-HPLandroid/os/IUpdateEngine$Stub$Proxy;->verifyPayloadApplicable(Ljava/lang/String;)Z
-HPLandroid/os/IUpdateEngine;->applyPayload(Ljava/lang/String;JJ[Ljava/lang/String;)V
-HPLandroid/os/IUpdateEngine;->bind(Landroid/os/IUpdateEngineCallback;)Z
-HPLandroid/os/IUpdateEngine;->cancel()V
-HPLandroid/os/IUpdateEngine;->resetStatus()V
-HPLandroid/os/IUpdateEngine;->resume()V
-HPLandroid/os/IUpdateEngine;->suspend()V
-HPLandroid/os/IUpdateEngine;->unbind(Landroid/os/IUpdateEngineCallback;)Z
-HPLandroid/os/IUpdateEngine;->verifyPayloadApplicable(Ljava/lang/String;)Z
 HPLandroid/os/IUpdateEngineCallback$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/os/IUpdateEngineCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/os/IUpdateEngineCallback;->onPayloadApplicationComplete(I)V
-HPLandroid/os/IUpdateEngineCallback;->onStatusUpdate(IF)V
-HPLandroid/os/IUserManager$Stub$Proxy;->getPrimaryUser()Landroid/content/pm/UserInfo;
-HPLandroid/os/IUserManager$Stub$Proxy;->getUserIcon(I)Landroid/os/ParcelFileDescriptor;
-HPLandroid/os/IVibratorService$Stub$Proxy;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;ILandroid/os/IBinder;)V
-HPLandroid/os/IVold$Stub$Proxy;->fstrim(ILandroid/os/IVoldTaskListener;)V
+HPLandroid/os/IUserManager$Stub$Proxy;->getCredentialOwnerProfile(I)I
+HPLandroid/os/IUserManager$Stub$Proxy;->getUserRestrictions(I)Landroid/os/Bundle;
+HPLandroid/os/IUserManager$Stub$Proxy;->isQuietModeEnabled(I)Z
+HPLandroid/os/IUserManager$Stub$Proxy;->setUserIcon(ILandroid/graphics/Bitmap;)V
+HPLandroid/os/IUserManager$Stub$Proxy;->setUserName(ILjava/lang/String;)V
+HPLandroid/os/IUserManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/os/IVibratorService$Stub$Proxy;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;ILjava/lang/String;Landroid/os/IBinder;)V
+HPLandroid/os/IVibratorService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/os/IVold$Stub$Proxy;->abortIdleMaint(Landroid/os/IVoldTaskListener;)V
+HPLandroid/os/IVold$Stub$Proxy;->commitChanges()V
+HPLandroid/os/IVold$Stub$Proxy;->fdeClearPassword()V
+HPLandroid/os/IVold$Stub$Proxy;->fdeGetPassword()Ljava/lang/String;
 HPLandroid/os/IVold$Stub$Proxy;->isConvertibleToFbe()Z
-HPLandroid/os/IVold$Stub$Proxy;->onUserStarted(I)V
+HPLandroid/os/IVold$Stub$Proxy;->lockUserKey(I)V
+HPLandroid/os/IVold$Stub$Proxy;->mountAppFuse(II)Ljava/io/FileDescriptor;
+HPLandroid/os/IVold$Stub$Proxy;->onUserStarted(I[Ljava/lang/String;[I[Ljava/lang/String;)V
+HPLandroid/os/IVold$Stub$Proxy;->onUserStopped(I)V
+HPLandroid/os/IVold$Stub$Proxy;->openAppFuseFile(IIII)Ljava/io/FileDescriptor;
+HPLandroid/os/IVold$Stub$Proxy;->prepareSandboxForApp(Ljava/lang/String;ILjava/lang/String;I)V
 HPLandroid/os/IVold$Stub$Proxy;->prepareUserStorage(Ljava/lang/String;III)V
+HPLandroid/os/IVold$Stub$Proxy;->remountUid(II)V
 HPLandroid/os/IVold$Stub$Proxy;->runIdleMaint(Landroid/os/IVoldTaskListener;)V
 HPLandroid/os/IVold$Stub$Proxy;->unlockUserKey(IILjava/lang/String;Ljava/lang/String;)V
-HPLandroid/os/IVoldTaskListener$Stub;-><init>()V
-HPLandroid/os/IVoldTaskListener$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/os/IVoldTaskListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/os/IVoldTaskListener;->onFinished(ILandroid/os/PersistableBundle;)V
-HPLandroid/os/IVoldTaskListener;->onStatus(ILandroid/os/PersistableBundle;)V
+HPLandroid/os/Looper;->dump(Landroid/util/Printer;Ljava/lang/String;Landroid/os/Handler;)V
+HPLandroid/os/Looper;->quitSafely()V
+HPLandroid/os/Looper;->setMessageLogging(Landroid/util/Printer;)V
+HPLandroid/os/Looper;->toString()Ljava/lang/String;
 HPLandroid/os/MemoryFile;->close()V
 HPLandroid/os/MemoryFile;->deactivate()V
 HPLandroid/os/MemoryFile;->readBytes([BIII)I
-HPLandroid/os/Message;->setCallback(Ljava/lang/Runnable;)Landroid/os/Message;
-HPLandroid/os/Message;->setTarget(Landroid/os/Handler;)V
-HPLandroid/os/MessageQueue;->addOnFileDescriptorEventListener(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
-HPLandroid/os/MessageQueue;->dispatchEvents(II)I
+HPLandroid/os/Message;->obtain(Landroid/os/Handler;)Landroid/os/Message;
+HPLandroid/os/MessageQueue;->dump(Landroid/util/Printer;Ljava/lang/String;Landroid/os/Handler;)V
 HPLandroid/os/MessageQueue;->removeOnFileDescriptorEventListener(Ljava/io/FileDescriptor;)V
-HPLandroid/os/MessageQueue;->updateOnFileDescriptorEventListenerLocked(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
-HPLandroid/os/Parcel;->access$000(Landroid/os/Parcel;)J
+HPLandroid/os/Parcel;->copyClassCookies()Ljava/util/Map;
+HPLandroid/os/Parcel;->createBooleanArray()[Z
 HPLandroid/os/Parcel;->createDoubleArray()[D
+HPLandroid/os/Parcel;->createFloatArray()[F
 HPLandroid/os/Parcel;->dataAvail()I
 HPLandroid/os/Parcel;->hasFileDescriptors()Z
-HPLandroid/os/Parcel;->readBooleanArray([Z)V
+HPLandroid/os/Parcel;->putClassCookies(Ljava/util/Map;)V
 HPLandroid/os/Parcel;->readCharSequenceArray()[Ljava/lang/CharSequence;
+HPLandroid/os/Parcel;->readFileDescriptor()Landroid/os/ParcelFileDescriptor;
 HPLandroid/os/Parcel;->readFloatArray([F)V
 HPLandroid/os/Parcel;->writeBooleanArray([Z)V
+HPLandroid/os/Parcel;->writeCharSequenceArray([Ljava/lang/CharSequence;)V
 HPLandroid/os/Parcel;->writeDoubleArray([D)V
-HPLandroid/os/Parcel;->writeException(Ljava/lang/Exception;)V
+HPLandroid/os/Parcel;->writeFileDescriptor(Ljava/io/FileDescriptor;)V
+HPLandroid/os/Parcel;->writeFloatArray([F)V
 HPLandroid/os/ParcelFileDescriptor$1;->onFileDescriptorEvents(Ljava/io/FileDescriptor;I)I
 HPLandroid/os/ParcelFileDescriptor$AutoCloseInputStream;->read()I
-HPLandroid/os/ParcelFileDescriptor$OnCloseListener;->onClose(Ljava/io/IOException;)V
+HPLandroid/os/ParcelFileDescriptor$AutoCloseInputStream;->read([B)I
+HPLandroid/os/ParcelFileDescriptor$AutoCloseOutputStream;-><init>(Landroid/os/ParcelFileDescriptor;)V
+HPLandroid/os/ParcelFileDescriptor$AutoCloseOutputStream;->close()V
 HPLandroid/os/ParcelFileDescriptor$Status;->asIOException()Ljava/io/IOException;
+HPLandroid/os/ParcelFileDescriptor;->adoptFd(I)Landroid/os/ParcelFileDescriptor;
 HPLandroid/os/ParcelFileDescriptor;->createCommSocketPair()[Ljava/io/FileDescriptor;
+HPLandroid/os/ParcelFileDescriptor;->createPipe()[Landroid/os/ParcelFileDescriptor;
 HPLandroid/os/ParcelFileDescriptor;->fromData([BLjava/lang/String;)Landroid/os/ParcelFileDescriptor;
+HPLandroid/os/ParcelFileDescriptor;->fromFd(I)Landroid/os/ParcelFileDescriptor;
 HPLandroid/os/ParcelFileDescriptor;->fromFd(Ljava/io/FileDescriptor;Landroid/os/Handler;Landroid/os/ParcelFileDescriptor$OnCloseListener;)Landroid/os/ParcelFileDescriptor;
 HPLandroid/os/ParcelFileDescriptor;->getFile(Ljava/io/FileDescriptor;)Ljava/io/File;
 HPLandroid/os/ParcelFileDescriptor;->getStatSize()J
 HPLandroid/os/ParcelFileDescriptor;->open(Ljava/io/File;ILandroid/os/Handler;Landroid/os/ParcelFileDescriptor$OnCloseListener;)Landroid/os/ParcelFileDescriptor;
 HPLandroid/os/ParcelFileDescriptor;->parseMode(Ljava/lang/String;)I
 HPLandroid/os/ParcelFileDescriptor;->readCommStatus(Ljava/io/FileDescriptor;[B)Landroid/os/ParcelFileDescriptor$Status;
-HPLandroid/os/ParcelUuid;->getUuid()Ljava/util/UUID;
-HPLandroid/os/ParcelableException$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/ParcelableException;
-HPLandroid/os/ParcelableException$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/os/ParcelableException;->maybeRethrow(Ljava/lang/Class;)V
-HPLandroid/os/ParcelableException;->readFromParcel(Landroid/os/Parcel;)Ljava/lang/Throwable;
+HPLandroid/os/ParcelableException;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/os/PatternMatcher;->matchGlobPattern(Ljava/lang/String;Ljava/lang/String;)Z
-HPLandroid/os/PatternMatcher;->toString()Ljava/lang/String;
 HPLandroid/os/PersistableBundle;-><init>(Landroid/os/PersistableBundle;)V
 HPLandroid/os/PersistableBundle;->clone()Ljava/lang/Object;
-HPLandroid/os/PersistableBundle;->getPersistableBundle(Ljava/lang/String;)Landroid/os/PersistableBundle;
 HPLandroid/os/PersistableBundle;->putPersistableBundle(Ljava/lang/String;Landroid/os/PersistableBundle;)V
 HPLandroid/os/PersistableBundle;->writeUnknownObject(Ljava/lang/Object;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
 HPLandroid/os/PooledStringReader;-><init>(Landroid/os/Parcel;)V
 HPLandroid/os/PooledStringReader;->readString()Ljava/lang/String;
+HPLandroid/os/PooledStringWriter;-><init>(Landroid/os/Parcel;)V
+HPLandroid/os/PooledStringWriter;->finish()V
+HPLandroid/os/PooledStringWriter;->writeString(Ljava/lang/String;)V
+HPLandroid/os/PowerManager$WakeLock;->lambda$wrap$0$PowerManager$WakeLock(Ljava/lang/Runnable;)V
 HPLandroid/os/PowerManager$WakeLock;->lambda$wrap$0(Landroid/os/PowerManager$WakeLock;Ljava/lang/Runnable;)V
 HPLandroid/os/PowerManager$WakeLock;->wrap(Ljava/lang/Runnable;)Ljava/lang/Runnable;
-HPLandroid/os/PowerManager;->getMaximumScreenBrightnessForVrSetting()I
-HPLandroid/os/PowerManager;->getMinimumScreenBrightnessForVrSetting()I
-HPLandroid/os/PowerManager;->getPowerSaveState(I)Landroid/os/PowerSaveState;
 HPLandroid/os/PowerManager;->goToSleep(JII)V
+HPLandroid/os/PowerManager;->sleepReasonToString(I)Ljava/lang/String;
 HPLandroid/os/PowerManager;->userActivity(JII)V
 HPLandroid/os/PowerManager;->userActivity(JZ)V
-HPLandroid/os/PowerManager;->wakeUp(JLjava/lang/String;)V
-HPLandroid/os/PowerSaveState;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/os/Process;->getThreadGroupLeader(I)I
+HPLandroid/os/PowerManager;->wakeReasonToString(I)Ljava/lang/String;
+HPLandroid/os/PowerManager;->wakeUp(JILjava/lang/String;)V
+HPLandroid/os/PowerManagerInternal$1;->getServiceType()I
+HPLandroid/os/PowerManagerInternal$1;->onLowPowerModeChanged(Landroid/os/PowerSaveState;)V
+HPLandroid/os/Process;->getUidForPid(I)I
 HPLandroid/os/Process;->killProcessQuiet(I)V
-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;)Landroid/os/Process$ProcessStartResult;
+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/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;[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
+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;
+HPLandroid/os/RedactingFileDescriptor$1;->onGetSize()J
+HPLandroid/os/RedactingFileDescriptor$1;->onRead(JI[B)I
+HPLandroid/os/RedactingFileDescriptor$1;->onRelease()V
+HPLandroid/os/RedactingFileDescriptor;-><init>(Landroid/content/Context;Ljava/io/File;I[J)V
+HPLandroid/os/RedactingFileDescriptor;->checkRangesArgument([J)[J
+HPLandroid/os/RedactingFileDescriptor;->open(Landroid/content/Context;Ljava/io/File;I[J)Landroid/os/ParcelFileDescriptor;
 HPLandroid/os/Registrant;->messageForRegistrant()Landroid/os/Message;
-HPLandroid/os/RemoteCallback$1;->sendResult(Landroid/os/Bundle;)V
-HPLandroid/os/RemoteCallback$3;-><init>()V
-HPLandroid/os/RemoteCallback$3;->createFromParcel(Landroid/os/Parcel;)Landroid/os/RemoteCallback;
-HPLandroid/os/RemoteCallback$3;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/os/RegistrantList;->get(I)Ljava/lang/Object;
 HPLandroid/os/RemoteCallback;-><init>(Landroid/os/RemoteCallback$OnResultListener;)V
-HPLandroid/os/RemoteCallback;->sendResult(Landroid/os/Bundle;)V
+HPLandroid/os/RemoteCallback;-><init>(Landroid/os/RemoteCallback$OnResultListener;Landroid/os/Handler;)V
 HPLandroid/os/RemoteCallback;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/os/RemoteCallbackList$Callback;->binderDied()V
 HPLandroid/os/RemoteCallbackList;->kill()V
 HPLandroid/os/RemoteCallbackList;->onCallbackDied(Landroid/os/IInterface;)V
 HPLandroid/os/RemoteCallbackList;->onCallbackDied(Landroid/os/IInterface;Ljava/lang/Object;)V
 HPLandroid/os/SELinux;->restoreconRecursive(Ljava/io/File;)Z
+HPLandroid/os/ServiceManager;->listServices()[Ljava/lang/String;
+HPLandroid/os/ServiceManagerProxy;->listServices(I)[Ljava/lang/String;
 HPLandroid/os/SharedMemory$Closer;->run()V
 HPLandroid/os/SharedMemory$MemoryRegistration;->release()V
 HPLandroid/os/SharedMemory$Unmapper;->run()V
+HPLandroid/os/SharedMemory;->close()V
+HPLandroid/os/SharedMemory;->mapReadWrite()Ljava/nio/ByteBuffer;
+HPLandroid/os/SharedMemory;->setProtect(I)Z
+HPLandroid/os/SharedMemory;->unmap(Ljava/nio/ByteBuffer;)V
 HPLandroid/os/ShellCallback$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/ShellCallback;
 HPLandroid/os/ShellCallback$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/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
 HPLandroid/os/ShellCommand;->getErrPrintWriter()Ljava/io/PrintWriter;
 HPLandroid/os/ShellCommand;->getNextArg()Ljava/lang/String;
+HPLandroid/os/ShellCommand;->getNextOption()Ljava/lang/String;
 HPLandroid/os/ShellCommand;->getOutPrintWriter()Ljava/io/PrintWriter;
 HPLandroid/os/ShellCommand;->getRawErrorStream()Ljava/io/OutputStream;
 HPLandroid/os/ShellCommand;->getRawOutputStream()Ljava/io/OutputStream;
 HPLandroid/os/ShellCommand;->init(Landroid/os/Binder;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;I)V
 HPLandroid/os/SimpleClock;->instant()Ljava/time/Instant;
-HPLandroid/os/StatsDimensionsValue$1;-><init>()V
-HPLandroid/os/StatsDimensionsValue$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/StatsDimensionsValue;
-HPLandroid/os/StatsDimensionsValue$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/os/StatsDimensionsValue;->describeContents()I
-HPLandroid/os/StatsDimensionsValue;->readValueFromParcel(ILandroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/os/StatsDimensionsValue;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/os/StatsDimensionsValue;->writeValueToParcel(ILjava/lang/Object;Landroid/os/Parcel;I)Z
+HPLandroid/os/StatFs;->getFreeBlocks()I
+HPLandroid/os/StatFs;->getFreeBytes()J
 HPLandroid/os/StatsLogEventWrapper$1;-><init>()V
-HPLandroid/os/StatsLogEventWrapper;-><init>(JII)V
+HPLandroid/os/StatsLogEventWrapper;-><init>(IJJ)V
+HPLandroid/os/StatsLogEventWrapper;->writeBoolean(Z)V
 HPLandroid/os/StatsLogEventWrapper;->writeInt(I)V
 HPLandroid/os/StatsLogEventWrapper;->writeLong(J)V
 HPLandroid/os/StatsLogEventWrapper;->writeString(Ljava/lang/String;)V
 HPLandroid/os/StatsLogEventWrapper;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onNetwork()V
-HPLandroid/os/StrictMode$ThreadPolicy$Builder;->permitCustomSlowCalls()Landroid/os/StrictMode$ThreadPolicy$Builder;
+HPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onExplicitGc()V
+HPLandroid/os/StrictMode$AndroidCloseGuardReporter;->report(Ljava/lang/String;Ljava/lang/Throwable;)V
+HPLandroid/os/StrictMode$InstanceTracker;->finalize()V
+HPLandroid/os/StrictMode$Span;->finish()V
+HPLandroid/os/StrictMode$ThreadPolicy$Builder;->detectResourceMismatches()Landroid/os/StrictMode$ThreadPolicy$Builder;
+HPLandroid/os/StrictMode$ThreadPolicy$Builder;->detectUnbufferedIo()Landroid/os/StrictMode$ThreadPolicy$Builder;
+HPLandroid/os/StrictMode$ThreadPolicy$Builder;->permitUnbufferedIo()Landroid/os/StrictMode$ThreadPolicy$Builder;
 HPLandroid/os/StrictMode$ViolationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/StrictMode$ViolationInfo;
 HPLandroid/os/StrictMode$ViolationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/os/StrictMode;->onContentUriWithoutPermission(Landroid/net/Uri;Ljava/lang/String;)V
+HPLandroid/os/StrictMode$ViolationInfo;-><init>(Landroid/os/Parcel;Z)V
+HPLandroid/os/StrictMode$ViolationInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/os/StrictMode;->decrementExpectedActivityCount(Ljava/lang/Class;)V
+HPLandroid/os/StrictMode;->dropboxViolationAsync(ILandroid/os/StrictMode$ViolationInfo;)V
+HPLandroid/os/StrictMode;->enterCriticalSpan(Ljava/lang/String;)Landroid/os/StrictMode$Span;
+HPLandroid/os/StrictMode;->lambda$dropboxViolationAsync$2(ILandroid/os/StrictMode$ViolationInfo;)V
 HPLandroid/os/StrictMode;->onSqliteObjectLeaked(Ljava/lang/String;Ljava/lang/Throwable;)V
+HPLandroid/os/StrictMode;->onVmPolicyViolation(Landroid/os/strictmode/Violation;Z)V
 HPLandroid/os/StrictMode;->writeGatheredViolationsToParcel(Landroid/os/Parcel;)V
+HPLandroid/os/SystemClock;->setCurrentTimeMillis(J)Z
 HPLandroid/os/SystemProperties;->callChangeCallbacks()V
-HPLandroid/os/SystemUpdateManager;->retrieveSystemUpdateInfo()Landroid/os/Bundle;
+HPLandroid/os/SystemService$1;-><init>()V
+HPLandroid/os/SystemService$State;-><init>(Ljava/lang/String;ILjava/lang/String;)V
+HPLandroid/os/SystemService;->getState(Ljava/lang/String;)Landroid/os/SystemService$State;
+HPLandroid/os/SystemService;->isRunning(Ljava/lang/String;)Z
 HPLandroid/os/SystemUpdateManager;->updateSystemUpdateInfo(Landroid/os/PersistableBundle;)V
 HPLandroid/os/SystemVibrator;-><init>()V
 HPLandroid/os/SystemVibrator;->cancel()V
-HPLandroid/os/SystemVibrator;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;Landroid/media/AudioAttributes;)V
-HPLandroid/os/Trace;->asyncTraceEnd(JLjava/lang/String;I)V
+HPLandroid/os/SystemVibrator;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;Ljava/lang/String;Landroid/media/AudioAttributes;)V
 HPLandroid/os/TransactionTooLargeException;-><init>(Ljava/lang/String;)V
+HPLandroid/os/UEventObserver$UEvent;-><init>(Ljava/lang/String;)V
+HPLandroid/os/UEventObserver$UEvent;->get(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/os/UEventObserver$UEventThread;->sendEvent(Ljava/lang/String;)V
 HPLandroid/os/UpdateEngine$1;->onStatusUpdate(IF)V
 HPLandroid/os/UpdateEngine;-><init>()V
 HPLandroid/os/UpdateEngine;->bind(Landroid/os/UpdateEngineCallback;)Z
 HPLandroid/os/UpdateEngine;->bind(Landroid/os/UpdateEngineCallback;Landroid/os/Handler;)Z
-HPLandroid/os/UpdateEngine;->verifyPayloadMetadata(Ljava/lang/String;)Z
 HPLandroid/os/UpdateEngineCallback;-><init>()V
 HPLandroid/os/UserHandle;->describeContents()I
-HPLandroid/os/UserHandle;->getAppIdFromSharedAppGid(I)I
-HPLandroid/os/UserHandle;->getUid(II)I
+HPLandroid/os/UserManager$EnforcingUser$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/UserManager$EnforcingUser;
+HPLandroid/os/UserManager$EnforcingUser$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/os/UserManager$EnforcingUser;->getUserHandle()Landroid/os/UserHandle;
+HPLandroid/os/UserManager$EnforcingUser;->getUserRestrictionSource()I
 HPLandroid/os/UserManager;->canAddMoreManagedProfiles(IZ)Z
-HPLandroid/os/UserManager;->getApplicationRestrictions(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/os/Bundle;
+HPLandroid/os/UserManager;->getBadgedIconForUser(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;)Landroid/graphics/drawable/Drawable;
 HPLandroid/os/UserManager;->getBadgedLabelForUser(Ljava/lang/CharSequence;Landroid/os/UserHandle;)Ljava/lang/CharSequence;
-HPLandroid/os/UserManager;->getUserIcon(I)Landroid/graphics/Bitmap;
-HPLandroid/os/UserManager;->isSameProfileGroup(II)Z
+HPLandroid/os/UserManager;->getUserCount()I
+HPLandroid/os/UserManager;->getUserRestrictions()Landroid/os/Bundle;
+HPLandroid/os/UserManager;->getUserRestrictions(Landroid/os/UserHandle;)Landroid/os/Bundle;
+HPLandroid/os/UserManager;->hasUserRestrictionOnAnyUser(Ljava/lang/String;)Z
 HPLandroid/os/UserManager;->isUserUnlockingOrUnlocked(Landroid/os/UserHandle;)Z
+HPLandroid/os/UserManager;->setUserIcon(ILandroid/graphics/Bitmap;)V
+HPLandroid/os/UserManager;->setUserName(ILjava/lang/String;)V
 HPLandroid/os/VibrationEffect$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/VibrationEffect;
 HPLandroid/os/VibrationEffect$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+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;
 HPLandroid/os/VibrationEffect$Prebaked;->getDuration()J
 HPLandroid/os/VibrationEffect$Prebaked;->getEffectStrength()I
 HPLandroid/os/VibrationEffect$Prebaked;->getId()I
@@ -4496,7 +5021,7 @@
 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;
+HPLandroid/os/VibrationEffect$Waveform;->scale(FI)Landroid/os/VibrationEffect$Waveform;
 HPLandroid/os/VibrationEffect$Waveform;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/os/VibrationEffect;->get(IZ)Landroid/os/VibrationEffect;
 HPLandroid/os/VibrationEffect;->get(Landroid/net/Uri;Landroid/content/Context;)Landroid/os/VibrationEffect;
@@ -4505,22 +5030,30 @@
 HPLandroid/os/Vibrator;->vibrate([JILandroid/media/AudioAttributes;)V
 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;
+HPLandroid/os/WorkSource$WorkChain;->getAttributionUid()I
+HPLandroid/os/WorkSource$WorkChain;->getTags()[Ljava/lang/String;
+HPLandroid/os/WorkSource$WorkChain;->getUids()[I
 HPLandroid/os/WorkSource;->add(I)Z
+HPLandroid/os/WorkSource;->clear()V
 HPLandroid/os/WorkSource;->clearNames()V
 HPLandroid/os/WorkSource;->diffChains(Landroid/os/WorkSource;Landroid/os/WorkSource;)[Ljava/util/ArrayList;
-HPLandroid/os/WorkSource;->hashCode()I
 HPLandroid/os/WorkSource;->insert(II)V
 HPLandroid/os/WorkSource;->set(I)V
 HPLandroid/os/WorkSource;->setReturningDiffs(Landroid/os/WorkSource;)[Landroid/os/WorkSource;
-HPLandroid/os/WorkSource;->toString()Ljava/lang/String;
 HPLandroid/os/ZygoteProcess;->establishZygoteConnectionForAbi(Ljava/lang/String;)V
 HPLandroid/os/connectivity/CellularBatteryStats$1;-><init>()V
 HPLandroid/os/connectivity/CellularBatteryStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/connectivity/CellularBatteryStats;
 HPLandroid/os/connectivity/CellularBatteryStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/os/connectivity/CellularBatteryStats;-><init>()V
 HPLandroid/os/connectivity/CellularBatteryStats;->initialize()V
 HPLandroid/os/connectivity/CellularBatteryStats;->readFromParcel(Landroid/os/Parcel;)V
+HPLandroid/os/connectivity/CellularBatteryStats;->setTimeInRatMs([J)V
+HPLandroid/os/connectivity/CellularBatteryStats;->setTimeInRxSignalStrengthLevelMs([J)V
+HPLandroid/os/connectivity/CellularBatteryStats;->setTxTimeMs([J)V
 HPLandroid/os/connectivity/CellularBatteryStats;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/os/connectivity/GpsBatteryStats$1;-><init>()V
+HPLandroid/os/connectivity/GpsBatteryStats;-><init>()V
+HPLandroid/os/connectivity/GpsBatteryStats;->setTimeInGpsSignalQualityLevel([J)V
 HPLandroid/os/connectivity/GpsBatteryStats;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/os/connectivity/WifiBatteryStats$1;-><init>()V
 HPLandroid/os/connectivity/WifiBatteryStats;-><init>()V
@@ -4529,7 +5062,6 @@
 HPLandroid/os/connectivity/WifiBatteryStats;->setTimeInStateMs([J)V
 HPLandroid/os/connectivity/WifiBatteryStats;->setTimeInSupplicantStateMs([J)V
 HPLandroid/os/connectivity/WifiBatteryStats;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/os/health/HealthKeys$Constant;->type()I
 HPLandroid/os/health/HealthKeys$Constants;-><init>(Ljava/lang/Class;)V
 HPLandroid/os/health/HealthKeys$Constants;->getDataType()Ljava/lang/String;
 HPLandroid/os/health/HealthKeys$Constants;->getIndex(II)I
@@ -4550,9 +5082,17 @@
 HPLandroid/os/health/TimerStat;-><init>(IJ)V
 HPLandroid/os/health/TimerStat;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/os/storage/IStorageEventListener$Stub$Proxy;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/os/storage/IStorageManager$Stub$Proxy;->allocateBytes(Ljava/lang/String;JILjava/lang/String;)V
+HPLandroid/os/storage/IStorageManager$Stub$Proxy;->changeEncryptionPassword(ILjava/lang/String;)I
 HPLandroid/os/storage/IStorageManager$Stub$Proxy;->isConvertibleToFBE()Z
+HPLandroid/os/storage/IStorageManager$Stub$Proxy;->mountProxyFileDescriptorBridge()Lcom/android/internal/os/AppFuseMount;
+HPLandroid/os/storage/IStorageManager$Stub$Proxy;->openProxyFileDescriptor(III)Landroid/os/ParcelFileDescriptor;
+HPLandroid/os/storage/IStorageManager$Stub$Proxy;->setField(Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/os/storage/IStorageManager$Stub$Proxy;->translateAppToSystem(Ljava/lang/String;II)Ljava/lang/String;
+HPLandroid/os/storage/IStorageManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/os/storage/StorageEventListener;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HPLandroid/os/storage/StorageManager$StorageEventListenerDelegate;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/os/storage/StorageManager;->allocateBytes(Ljava/io/FileDescriptor;J)V
 HPLandroid/os/storage/StorageManager;->allocateBytes(Ljava/io/FileDescriptor;JI)V
 HPLandroid/os/storage/StorageManager;->allocateBytes(Ljava/util/UUID;JI)V
 HPLandroid/os/storage/StorageManager;->findEmulatedForPrivate(Landroid/os/storage/VolumeInfo;)Landroid/os/storage/VolumeInfo;
@@ -4563,196 +5103,95 @@
 HPLandroid/os/storage/StorageManager;->getPrimaryStorageUuid()Ljava/lang/String;
 HPLandroid/os/storage/StorageManager;->getStorageCacheBytes(Ljava/io/File;I)J
 HPLandroid/os/storage/StorageManager;->getUuidForPath(Ljava/io/File;)Ljava/util/UUID;
+HPLandroid/os/storage/StorageManager;->isAllocationSupported(Ljava/io/FileDescriptor;)Z
+HPLandroid/os/storage/StorageManager;->isBlockEncrypted()Z
+HPLandroid/os/storage/StorageManager;->isEncrypted()Z
+HPLandroid/os/storage/StorageManager;->openProxyFileDescriptor(ILandroid/os/ProxyFileDescriptorCallback;)Landroid/os/ParcelFileDescriptor;
+HPLandroid/os/storage/StorageManager;->openProxyFileDescriptor(ILandroid/os/ProxyFileDescriptorCallback;Landroid/os/Handler;Ljava/util/concurrent/ThreadFactory;)Landroid/os/ParcelFileDescriptor;
 HPLandroid/os/storage/StorageManager;->prepareUserStorage(Ljava/lang/String;III)V
-HPLandroid/os/storage/StorageVolume;-><init>(Ljava/lang/String;Ljava/io/File;Ljava/io/File;Ljava/lang/String;ZZZZJLandroid/os/UserHandle;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/os/storage/StorageManager;->translateAppToSystem(Ljava/io/File;II)Ljava/io/File;
 HPLandroid/os/storage/StorageVolume;->describeContents()I
 HPLandroid/os/storage/StorageVolume;->getPath()Ljava/lang/String;
 HPLandroid/os/storage/VolumeInfo;->getBroadcastForEnvironment(Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/os/storage/VolumeInfo;->getInternalPathForUser(I)Ljava/io/File;
 HPLandroid/os/storage/VolumeInfo;->getState()I
 HPLandroid/os/storage/VolumeInfo;->isVisibleForRead(I)Z
-HPLandroid/os/strictmode/InstanceCountViolation;-><init>(Ljava/lang/Class;JI)V
-HPLandroid/os/strictmode/InstanceCountViolation;->getNumberOfInstances()J
-HPLandroid/preference/CheckBoxPreference;-><init>(Landroid/content/Context;)V
-HPLandroid/preference/CheckBoxPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HPLandroid/preference/CheckBoxPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HPLandroid/preference/CheckBoxPreference;->onBindView(Landroid/view/View;)V
-HPLandroid/preference/GenericInflater;->cloneInContext(Landroid/content/Context;)Landroid/preference/GenericInflater;
-HPLandroid/preference/GenericInflater;->createItem(Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
-HPLandroid/preference/GenericInflater;->createItemFromTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
-HPLandroid/preference/GenericInflater;->getContext()Landroid/content/Context;
-HPLandroid/preference/GenericInflater;->inflate(ILandroid/preference/GenericInflater$Parent;Z)Ljava/lang/Object;
-HPLandroid/preference/GenericInflater;->inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/preference/GenericInflater$Parent;Z)Ljava/lang/Object;
-HPLandroid/preference/GenericInflater;->onCreateItem(Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
-HPLandroid/preference/GenericInflater;->rInflate(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/Object;Landroid/util/AttributeSet;)V
-HPLandroid/preference/Preference$BaseSavedState$1;-><init>()V
-HPLandroid/preference/Preference$OnPreferenceChangeInternalListener;->onPreferenceChange(Landroid/preference/Preference;)V
-HPLandroid/preference/Preference$OnPreferenceChangeInternalListener;->onPreferenceHierarchyChange(Landroid/preference/Preference;)V
-HPLandroid/preference/Preference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HPLandroid/preference/Preference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HPLandroid/preference/Preference;->assignParent(Landroid/preference/PreferenceGroup;)V
-HPLandroid/preference/Preference;->compareTo(Landroid/preference/Preference;)I
-HPLandroid/preference/Preference;->compareTo(Ljava/lang/Object;)I
+HPLandroid/permission/-$$Lambda$PermissionControllerManager$PendingGetRuntimePermissionBackup$TnLX6gxZCMF3D0czwj_XwNhPIgE;->run()V
+HPLandroid/permission/-$$Lambda$PermissionControllerService$1$BmAaUPuQtKhO2xdoQs4gItIlso4;-><init>()V
+HPLandroid/permission/-$$Lambda$PermissionControllerService$1$BmAaUPuQtKhO2xdoQs4gItIlso4;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HPLandroid/permission/IPermissionController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/permission/IPermissionController$Stub$Proxy;->getRuntimePermissionBackup(Landroid/os/UserHandle;Landroid/os/ParcelFileDescriptor;)V
+HPLandroid/permission/PermissionControllerManager$FileReaderTask;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/permission/PermissionControllerManager$FileReaderTask;->doInBackground([Ljava/lang/Void;)[B
+HPLandroid/permission/PermissionControllerManager$FileReaderTask;->getRemotePipe()Landroid/os/ParcelFileDescriptor;
+HPLandroid/permission/PermissionControllerManager$FileReaderTask;->onPostExecute(Ljava/lang/Object;)V
+HPLandroid/permission/PermissionControllerManager$FileReaderTask;->onPostExecute([B)V
+HPLandroid/permission/PermissionControllerManager$FileReaderTask;->onPreExecute()V
+HPLandroid/permission/PermissionControllerManager$PendingGetRuntimePermissionBackup;->accept(Ljava/lang/Object;)V
+HPLandroid/permission/PermissionControllerManager$PendingGetRuntimePermissionBackup;->accept([B)V
+HPLandroid/permission/PermissionControllerManager$PendingGetRuntimePermissionBackup;->run()V
+HPLandroid/permission/PermissionControllerManager;->getRuntimePermissionBackup(Landroid/os/UserHandle;Ljava/util/concurrent/Executor;Landroid/permission/PermissionControllerManager$OnGetRuntimePermissionBackupCallback;)V
+HPLandroid/permission/PermissionControllerService$1;->countPermissionApps(Ljava/util/List;ILandroid/os/RemoteCallback;)V
 HPLandroid/preference/Preference;->dispatchSaveInstanceState(Landroid/os/Bundle;)V
-HPLandroid/preference/Preference;->dispatchSetInitialValue()V
+HPLandroid/preference/Preference;->findPreferenceInHierarchy(Ljava/lang/String;)Landroid/preference/Preference;
 HPLandroid/preference/Preference;->getContext()Landroid/content/Context;
-HPLandroid/preference/Preference;->getId()J
-HPLandroid/preference/Preference;->getKey()Ljava/lang/String;
-HPLandroid/preference/Preference;->getLayoutResource()I
-HPLandroid/preference/Preference;->getOrder()I
+HPLandroid/preference/Preference;->getFragment()Ljava/lang/String;
+HPLandroid/preference/Preference;->getIcon()Landroid/graphics/drawable/Drawable;
+HPLandroid/preference/Preference;->getParent()Landroid/preference/PreferenceGroup;
 HPLandroid/preference/Preference;->getPersistedBoolean(Z)Z
-HPLandroid/preference/Preference;->getPreferenceDataStore()Landroid/preference/PreferenceDataStore;
-HPLandroid/preference/Preference;->getPreferenceManager()Landroid/preference/PreferenceManager;
-HPLandroid/preference/Preference;->getSharedPreferences()Landroid/content/SharedPreferences;
-HPLandroid/preference/Preference;->getSummary()Ljava/lang/CharSequence;
-HPLandroid/preference/Preference;->getTitle()Ljava/lang/CharSequence;
-HPLandroid/preference/Preference;->getView(Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
-HPLandroid/preference/Preference;->getWidgetLayoutResource()I
-HPLandroid/preference/Preference;->hasKey()Z
-HPLandroid/preference/Preference;->isEnabled()Z
-HPLandroid/preference/Preference;->isPersistent()Z
-HPLandroid/preference/Preference;->isRecycleEnabled()Z
-HPLandroid/preference/Preference;->isSelectable()Z
-HPLandroid/preference/Preference;->notifyChanged()V
 HPLandroid/preference/Preference;->notifyDependencyChange(Z)V
-HPLandroid/preference/Preference;->notifyHierarchyChanged()V
-HPLandroid/preference/Preference;->onAttachedToActivity()V
-HPLandroid/preference/Preference;->onAttachedToHierarchy(Landroid/preference/PreferenceManager;)V
-HPLandroid/preference/Preference;->onBindView(Landroid/view/View;)V
 HPLandroid/preference/Preference;->onClick()V
-HPLandroid/preference/Preference;->onCreateView(Landroid/view/ViewGroup;)Landroid/view/View;
-HPLandroid/preference/Preference;->onParentChanged(Landroid/preference/Preference;Z)V
+HPLandroid/preference/Preference;->onDependencyChanged(Landroid/preference/Preference;Z)V
+HPLandroid/preference/Preference;->onPrepareForRemoval()V
 HPLandroid/preference/Preference;->onSaveInstanceState()Landroid/os/Parcelable;
 HPLandroid/preference/Preference;->performClick(Landroid/preference/PreferenceScreen;)V
 HPLandroid/preference/Preference;->persistBoolean(Z)Z
-HPLandroid/preference/Preference;->registerDependency()V
 HPLandroid/preference/Preference;->setEnabled(Z)V
-HPLandroid/preference/Preference;->setKey(Ljava/lang/String;)V
+HPLandroid/preference/Preference;->setLayoutResource(I)V
 HPLandroid/preference/Preference;->setOnPreferenceChangeListener(Landroid/preference/Preference$OnPreferenceChangeListener;)V
-HPLandroid/preference/Preference;->setOrder(I)V
 HPLandroid/preference/Preference;->setSummary(Ljava/lang/CharSequence;)V
-HPLandroid/preference/Preference;->setTitle(Ljava/lang/CharSequence;)V
-HPLandroid/preference/Preference;->shouldDisableDependents()Z
-HPLandroid/preference/Preference;->shouldPersist()Z
-HPLandroid/preference/PreferenceActivity$1;->handleMessage(Landroid/os/Message;)V
-HPLandroid/preference/PreferenceActivity;-><init>()V
-HPLandroid/preference/PreferenceActivity;->addPreferencesFromResource(I)V
-HPLandroid/preference/PreferenceActivity;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
-HPLandroid/preference/PreferenceActivity;->getPreferenceScreen()Landroid/preference/PreferenceScreen;
-HPLandroid/preference/PreferenceActivity;->onBuildHeaders(Ljava/util/List;)V
-HPLandroid/preference/PreferenceActivity;->onContentChanged()V
-HPLandroid/preference/PreferenceActivity;->onCreate(Landroid/os/Bundle;)V
-HPLandroid/preference/PreferenceActivity;->onIsHidingHeaders()Z
-HPLandroid/preference/PreferenceActivity;->onIsMultiPane()Z
-HPLandroid/preference/PreferenceActivity;->onSaveInstanceState(Landroid/os/Bundle;)V
-HPLandroid/preference/PreferenceActivity;->onStop()V
-HPLandroid/preference/PreferenceActivity;->setPreferenceScreen(Landroid/preference/PreferenceScreen;)V
-HPLandroid/preference/PreferenceFrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HPLandroid/preference/PreferenceFrameLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HPLandroid/preference/PreferenceGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HPLandroid/preference/PreferenceGroup;->addItemFromInflater(Landroid/preference/Preference;)V
-HPLandroid/preference/PreferenceGroup;->addItemFromInflater(Ljava/lang/Object;)V
-HPLandroid/preference/PreferenceGroup;->addPreference(Landroid/preference/Preference;)Z
-HPLandroid/preference/PreferenceGroup;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
-HPLandroid/preference/PreferenceGroup;->getPreference(I)Landroid/preference/Preference;
-HPLandroid/preference/PreferenceGroup;->getPreferenceCount()I
-HPLandroid/preference/PreferenceGroup;->onPrepareAddPreference(Landroid/preference/Preference;)Z
-HPLandroid/preference/PreferenceGroup;->sortPreferences()V
-HPLandroid/preference/PreferenceGroupAdapter$PreferenceLayout;->compareTo(Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;)I
-HPLandroid/preference/PreferenceGroupAdapter$PreferenceLayout;->compareTo(Ljava/lang/Object;)I
-HPLandroid/preference/PreferenceGroupAdapter;-><init>(Landroid/preference/PreferenceGroup;)V
-HPLandroid/preference/PreferenceGroupAdapter;->areAllItemsEnabled()Z
-HPLandroid/preference/PreferenceGroupAdapter;->createPreferenceLayout(Landroid/preference/Preference;Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;)Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;
-HPLandroid/preference/PreferenceGroupAdapter;->flattenPreferenceGroup(Ljava/util/List;Landroid/preference/PreferenceGroup;)V
-HPLandroid/preference/PreferenceGroupAdapter;->getCount()I
-HPLandroid/preference/PreferenceGroupAdapter;->getItem(I)Landroid/preference/Preference;
+HPLandroid/preference/PreferenceFragment$1;->handleMessage(Landroid/os/Message;)V
+HPLandroid/preference/PreferenceFragment;->addPreferencesFromResource(I)V
+HPLandroid/preference/PreferenceFragment;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
+HPLandroid/preference/PreferenceFragment;->onDestroy()V
+HPLandroid/preference/PreferenceFragment;->onDestroyView()V
+HPLandroid/preference/PreferenceFragment;->onPreferenceTreeClick(Landroid/preference/PreferenceScreen;Landroid/preference/Preference;)Z
+HPLandroid/preference/PreferenceFragment;->onSaveInstanceState(Landroid/os/Bundle;)V
+HPLandroid/preference/PreferenceFragment;->onStop()V
+HPLandroid/preference/PreferenceGroup;->dispatchSaveInstanceState(Landroid/os/Bundle;)V
+HPLandroid/preference/PreferenceGroup;->onAttachedToActivity()V
+HPLandroid/preference/PreferenceGroup;->onPrepareForRemoval()V
+HPLandroid/preference/PreferenceGroup;->removeAll()V
+HPLandroid/preference/PreferenceGroup;->removePreference(Landroid/preference/Preference;)Z
+HPLandroid/preference/PreferenceGroup;->removePreferenceInt(Landroid/preference/Preference;)Z
+HPLandroid/preference/PreferenceGroupAdapter$1;->run()V
 HPLandroid/preference/PreferenceGroupAdapter;->getItem(I)Ljava/lang/Object;
-HPLandroid/preference/PreferenceGroupAdapter;->getItemId(I)J
-HPLandroid/preference/PreferenceGroupAdapter;->getItemViewType(I)I
-HPLandroid/preference/PreferenceGroupAdapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
-HPLandroid/preference/PreferenceGroupAdapter;->getViewTypeCount()I
-HPLandroid/preference/PreferenceGroupAdapter;->hasStableIds()Z
-HPLandroid/preference/PreferenceGroupAdapter;->isEnabled(I)Z
-HPLandroid/preference/PreferenceGroupAdapter;->onPreferenceChange(Landroid/preference/Preference;)V
-HPLandroid/preference/PreferenceGroupAdapter;->syncMyPreferences()V
-HPLandroid/preference/PreferenceInflater;->onCreateCustomFromTag(Lorg/xmlpull/v1/XmlPullParser;Landroid/preference/Preference;Landroid/util/AttributeSet;)Z
-HPLandroid/preference/PreferenceInflater;->onCreateCustomFromTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/Object;Landroid/util/AttributeSet;)Z
-HPLandroid/preference/PreferenceInflater;->onMergeRoots(Landroid/preference/GenericInflater$Parent;ZLandroid/preference/GenericInflater$Parent;)Landroid/preference/GenericInflater$Parent;
-HPLandroid/preference/PreferenceInflater;->onMergeRoots(Landroid/preference/PreferenceGroup;ZLandroid/preference/PreferenceGroup;)Landroid/preference/PreferenceGroup;
+HPLandroid/preference/PreferenceGroupAdapter;->onPreferenceHierarchyChange(Landroid/preference/Preference;)V
+HPLandroid/preference/PreferenceManager;->dismissAllScreens()V
+HPLandroid/preference/PreferenceManager;->dispatchActivityDestroy()V
 HPLandroid/preference/PreferenceManager;->dispatchActivityStop()V
 HPLandroid/preference/PreferenceManager;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
-HPLandroid/preference/PreferenceManager;->getNextId()J
 HPLandroid/preference/PreferenceManager;->getOnPreferenceTreeClickListener()Landroid/preference/PreferenceManager$OnPreferenceTreeClickListener;
-HPLandroid/preference/PreferenceManager;->getPreferenceDataStore()Landroid/preference/PreferenceDataStore;
-HPLandroid/preference/PreferenceManager;->getPreferenceScreen()Landroid/preference/PreferenceScreen;
-HPLandroid/preference/PreferenceManager;->getSharedPreferences()Landroid/content/SharedPreferences;
 HPLandroid/preference/PreferenceManager;->inflateFromResource(Landroid/content/Context;ILandroid/preference/PreferenceScreen;)Landroid/preference/PreferenceScreen;
-HPLandroid/preference/PreferenceManager;->setNoCommit(Z)V
-HPLandroid/preference/PreferenceManager;->setOnPreferenceTreeClickListener(Landroid/preference/PreferenceManager$OnPreferenceTreeClickListener;)V
-HPLandroid/preference/PreferenceManager;->setPreferences(Landroid/preference/PreferenceScreen;)Z
-HPLandroid/preference/PreferenceScreen;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLandroid/preference/PreferenceScreen;->isOnSameScreenAsChildren()Z
+HPLandroid/preference/PreferenceScreen;->onClick()V
 HPLandroid/preference/PreferenceScreen;->onItemClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)V
-HPLandroid/preference/TwoStatePreference$SavedState$1;-><init>()V
-HPLandroid/preference/TwoStatePreference;->isChecked()Z
+HPLandroid/preference/PreferenceScreen;->onSaveInstanceState()Landroid/os/Parcelable;
+HPLandroid/preference/SwitchPreference;->onBindView(Landroid/view/View;)V
 HPLandroid/preference/TwoStatePreference;->onGetDefaultValue(Landroid/content/res/TypedArray;I)Ljava/lang/Object;
 HPLandroid/preference/TwoStatePreference;->onSaveInstanceState()Landroid/os/Parcelable;
 HPLandroid/preference/TwoStatePreference;->onSetInitialValue(ZLjava/lang/Object;)V
 HPLandroid/preference/TwoStatePreference;->setChecked(Z)V
-HPLandroid/preference/TwoStatePreference;->setDisableDependentsState(Z)V
-HPLandroid/preference/TwoStatePreference;->setSummaryOff(Ljava/lang/CharSequence;)V
-HPLandroid/preference/TwoStatePreference;->setSummaryOn(Ljava/lang/CharSequence;)V
 HPLandroid/preference/TwoStatePreference;->shouldDisableDependents()Z
 HPLandroid/preference/TwoStatePreference;->syncSummaryView(Landroid/view/View;)V
-HPLandroid/print/IPrintManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/IPrintManager;
-HPLandroid/print/IPrintManager;->getBindInstantServiceAllowed(I)Z
-HPLandroid/print/IPrintManager;->setBindInstantServiceAllowed(IZ)V
 HPLandroid/print/IPrintSpooler$Stub$Proxy;->pruneApprovedPrintServices(Ljava/util/List;)V
 HPLandroid/print/IPrintSpooler$Stub$Proxy;->removeObsoletePrintJobs()V
 HPLandroid/print/IPrintSpooler$Stub$Proxy;->setClient(Landroid/print/IPrintSpoolerClient;)V
 HPLandroid/print/IPrintSpooler$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/IPrintSpooler;
-HPLandroid/print/IPrintSpooler;->clearCustomPrinterIconCache(Landroid/print/IPrintSpoolerCallbacks;I)V
-HPLandroid/print/IPrintSpooler;->createPrintJob(Landroid/print/PrintJobInfo;)V
-HPLandroid/print/IPrintSpooler;->getCustomPrinterIcon(Landroid/print/PrinterId;Landroid/print/IPrintSpoolerCallbacks;I)V
-HPLandroid/print/IPrintSpooler;->getPrintJobInfo(Landroid/print/PrintJobId;Landroid/print/IPrintSpoolerCallbacks;II)V
-HPLandroid/print/IPrintSpooler;->getPrintJobInfos(Landroid/print/IPrintSpoolerCallbacks;Landroid/content/ComponentName;III)V
-HPLandroid/print/IPrintSpooler;->onCustomPrinterIconLoaded(Landroid/print/PrinterId;Landroid/graphics/drawable/Icon;Landroid/print/IPrintSpoolerCallbacks;I)V
-HPLandroid/print/IPrintSpooler;->pruneApprovedPrintServices(Ljava/util/List;)V
-HPLandroid/print/IPrintSpooler;->removeObsoletePrintJobs()V
-HPLandroid/print/IPrintSpooler;->setClient(Landroid/print/IPrintSpoolerClient;)V
-HPLandroid/print/IPrintSpooler;->setPrintJobCancelling(Landroid/print/PrintJobId;Z)V
-HPLandroid/print/IPrintSpooler;->setPrintJobState(Landroid/print/PrintJobId;ILjava/lang/String;Landroid/print/IPrintSpoolerCallbacks;I)V
-HPLandroid/print/IPrintSpooler;->setPrintJobTag(Landroid/print/PrintJobId;Ljava/lang/String;Landroid/print/IPrintSpoolerCallbacks;I)V
-HPLandroid/print/IPrintSpooler;->setProgress(Landroid/print/PrintJobId;F)V
-HPLandroid/print/IPrintSpooler;->setStatus(Landroid/print/PrintJobId;Ljava/lang/CharSequence;)V
-HPLandroid/print/IPrintSpooler;->setStatusRes(Landroid/print/PrintJobId;ILjava/lang/CharSequence;)V
-HPLandroid/print/IPrintSpooler;->writePrintJobData(Landroid/os/ParcelFileDescriptor;Landroid/print/PrintJobId;)V
 HPLandroid/print/IPrintSpoolerCallbacks$Stub;-><init>()V
-HPLandroid/print/IPrintSpoolerCallbacks;->onCancelPrintJobResult(ZI)V
 HPLandroid/print/IPrintSpoolerClient$Stub;-><init>()V
 HPLandroid/print/IPrintSpoolerClient$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/print/IPrintSpoolerClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/print/IPrintSpoolerClient;->onAllPrintJobsForServiceHandled(Landroid/content/ComponentName;)V
-HPLandroid/print/IPrintSpoolerClient;->onAllPrintJobsHandled()V
-HPLandroid/print/IPrintSpoolerClient;->onPrintJobQueued(Landroid/print/PrintJobInfo;)V
-HPLandroid/print/IPrintSpoolerClient;->onPrintJobStateChanged(Landroid/print/PrintJobInfo;)V
-HPLandroid/print/PrintDocumentAdapter;-><init>()V
-HPLandroid/print/PrintDocumentAdapter;->onLayout(Landroid/print/PrintAttributes;Landroid/print/PrintAttributes;Landroid/os/CancellationSignal;Landroid/print/PrintDocumentAdapter$LayoutResultCallback;Landroid/os/Bundle;)V
-HPLandroid/print/PrintDocumentAdapter;->onWrite([Landroid/print/PageRange;Landroid/os/ParcelFileDescriptor;Landroid/os/CancellationSignal;Landroid/print/PrintDocumentAdapter$WriteResultCallback;)V
-HPLandroid/print/PrintManager$PrintJobStateChangeListener;->onPrintJobStateChanged(Landroid/print/PrintJobId;)V
-HPLandroid/print/PrintManager;-><init>(Landroid/content/Context;Landroid/print/IPrintManager;II)V
-HPLandroid/print/PrintManager;->getGlobalPrintManagerForUser(I)Landroid/print/PrintManager;
 HPLandroid/printservice/IPrintServiceClient$Stub;-><init>()V
-HPLandroid/printservice/IPrintServiceClient;->getPrintJobInfo(Landroid/print/PrintJobId;)Landroid/print/PrintJobInfo;
-HPLandroid/printservice/IPrintServiceClient;->getPrintJobInfos()Ljava/util/List;
-HPLandroid/printservice/IPrintServiceClient;->onCustomPrinterIconLoaded(Landroid/print/PrinterId;Landroid/graphics/drawable/Icon;)V
-HPLandroid/printservice/IPrintServiceClient;->onPrintersAdded(Landroid/content/pm/ParceledListSlice;)V
-HPLandroid/printservice/IPrintServiceClient;->onPrintersRemoved(Landroid/content/pm/ParceledListSlice;)V
-HPLandroid/printservice/IPrintServiceClient;->setPrintJobState(Landroid/print/PrintJobId;ILjava/lang/String;)Z
-HPLandroid/printservice/IPrintServiceClient;->setPrintJobTag(Landroid/print/PrintJobId;Ljava/lang/String;)Z
-HPLandroid/printservice/IPrintServiceClient;->setProgress(Landroid/print/PrintJobId;F)V
-HPLandroid/printservice/IPrintServiceClient;->setStatus(Landroid/print/PrintJobId;Ljava/lang/CharSequence;)V
-HPLandroid/printservice/IPrintServiceClient;->setStatusRes(Landroid/print/PrintJobId;ILjava/lang/CharSequence;)V
-HPLandroid/printservice/IPrintServiceClient;->writePrintJobData(Landroid/os/ParcelFileDescriptor;Landroid/print/PrintJobId;)V
 HPLandroid/printservice/PrintServiceInfo$1;-><init>()V
 HPLandroid/printservice/PrintServiceInfo;->create(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)Landroid/printservice/PrintServiceInfo;
 HPLandroid/printservice/PrintServiceInfo;->hashCode()I
@@ -4768,93 +5207,90 @@
 HPLandroid/privacy/internal/rappor/RapporConfig;-><init>(Ljava/lang/String;IDDDII)V
 HPLandroid/privacy/internal/rappor/RapporEncoder;-><init>(Landroid/privacy/internal/rappor/RapporConfig;Z[B)V
 HPLandroid/privacy/internal/rappor/RapporEncoder;->encodeBoolean(Z)[B
+HPLandroid/provider/BlockedNumberContract$SystemContract;->blockStatusToString(I)Ljava/lang/String;
 HPLandroid/provider/BlockedNumberContract$SystemContract;->shouldShowEmergencyCallNotification(Landroid/content/Context;)Z
-HPLandroid/provider/BlockedNumberContract$SystemContract;->shouldSystemBlockNumber(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Z
-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;Z)Landroid/net/Uri;
+HPLandroid/provider/BlockedNumberContract$SystemContract;->shouldSystemBlockNumber(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)I
+HPLandroid/provider/CalendarContract$CalendarAlerts;->findNextAlarmTime(Landroid/content/ContentResolver;J)J
+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;
+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/String;Ljava/lang/String;Landroid/telecom/CallIdentification;)Landroid/net/Uri;
 HPLandroid/provider/CallLog$Calls;->addEntryAndRemoveExpiredEntries(Landroid/content/Context;Landroid/os/UserManager;Landroid/os/UserHandle;Landroid/content/ContentValues;)Landroid/net/Uri;
-HPLandroid/provider/CallLog$Calls;->getLastOutgoingCall(Landroid/content/Context;)Ljava/lang/String;
+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
+HPLandroid/provider/CallLog$Calls;->shouldHaveSharedCallLogEntries(Landroid/content/Context;Landroid/os/UserManager;I)Z
 HPLandroid/provider/CallLog$Calls;->updateDataUsageStatForData(Landroid/content/ContentResolver;Ljava/lang/String;)V
 HPLandroid/provider/ContactsContract$CommonDataKinds$Phone;->getDisplayLabel(Landroid/content/Context;ILjava/lang/CharSequence;)Ljava/lang/CharSequence;
-HPLandroid/provider/ContactsContract$Contacts;->markAsContacted(Landroid/content/ContentResolver;J)V
-HPLandroid/provider/ContactsContract$Directory;->isEnterpriseDirectoryId(J)Z
+HPLandroid/provider/ContactsContract$PinnedPositions;->undemote(Landroid/content/ContentResolver;J)V
+HPLandroid/provider/ContactsContract$QuickContact;->composeQuickContactsIntent(Landroid/content/Context;Landroid/graphics/Rect;Landroid/net/Uri;I[Ljava/lang/String;)Landroid/content/Intent;
+HPLandroid/provider/ContactsContract$QuickContact;->composeQuickContactsIntent(Landroid/content/Context;Landroid/view/View;Landroid/net/Uri;I[Ljava/lang/String;)Landroid/content/Intent;
+HPLandroid/provider/ContactsContract$QuickContact;->showQuickContact(Landroid/content/Context;Landroid/view/View;Landroid/net/Uri;I[Ljava/lang/String;)V
+HPLandroid/provider/ContactsContract$QuickContact;->showQuickContact(Landroid/content/Context;Landroid/view/View;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/provider/ContactsInternal;->maybeStartManagedQuickContact(Landroid/content/Context;Landroid/content/Intent;)Z
+HPLandroid/provider/ContactsInternal;->startQuickContactWithErrorToast(Landroid/content/Context;Landroid/content/Intent;)V
+HPLandroid/provider/ContactsInternal;->startQuickContactWithErrorToastForUser(Landroid/content/Context;Landroid/content/Intent;Landroid/os/UserHandle;)V
+HPLandroid/provider/DeviceConfig$1;->onChange(ZLandroid/net/Uri;)V
+HPLandroid/provider/DeviceConfig$2;->run()V
+HPLandroid/provider/DeviceConfig;->createCompositeName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/provider/DeviceConfig;->handleChange(Landroid/net/Uri;)V
+HPLandroid/provider/DeviceConfig;->setProperty(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z)Z
+HPLandroid/provider/DocumentsContract;->buildDocumentUri(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
+HPLandroid/provider/DocumentsContract;->getDocumentId(Landroid/net/Uri;)Ljava/lang/String;
+HPLandroid/provider/DocumentsContract;->getRootId(Landroid/net/Uri;)Ljava/lang/String;
+HPLandroid/provider/DocumentsContract;->matchSearchQueryArguments(Landroid/os/Bundle;Ljava/lang/String;Ljava/lang/String;JJ)Z
+HPLandroid/provider/DocumentsContract;->openImageThumbnail(Ljava/io/File;)Landroid/content/res/AssetFileDescriptor;
+HPLandroid/provider/DocumentsProvider;->enforceTree(Landroid/net/Uri;)V
+HPLandroid/provider/DocumentsProvider;->openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
+HPLandroid/provider/DocumentsProvider;->openTypedAssetFileImpl(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
+HPLandroid/provider/DocumentsProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
+HPLandroid/provider/Downloads$Impl;->statusToString(I)Ljava/lang/String;
 HPLandroid/provider/Downloads;->removeAllDownloadsByPackage(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)V
-HPLandroid/provider/MediaStore$Images$Media;->query(Landroid/content/ContentResolver;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
-HPLandroid/provider/MediaStore$Images$Thumbnails;->getThumbnail(Landroid/content/ContentResolver;JJILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-HPLandroid/provider/MediaStore$Images$Thumbnails;->queryMiniThumbnail(Landroid/content/ContentResolver;JI[Ljava/lang/String;)Landroid/database/Cursor;
-HPLandroid/provider/MediaStore$InternalThumbnails;->getMiniThumbFromFile(Landroid/database/Cursor;Landroid/net/Uri;Landroid/content/ContentResolver;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-HPLandroid/provider/MediaStore$InternalThumbnails;->getThumbnail(Landroid/content/ContentResolver;JJILandroid/graphics/BitmapFactory$Options;Landroid/net/Uri;Z)Landroid/graphics/Bitmap;
-HPLandroid/provider/SearchIndexablesProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
+HPLandroid/provider/FontsContract$1;->run()V
+HPLandroid/provider/MediaStore$Audio$Artists;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
+HPLandroid/provider/MediaStore$Downloads;->isDownload(Ljava/lang/String;)Z
+HPLandroid/provider/MediaStore$Files;->getContentUri(Ljava/lang/String;J)Landroid/net/Uri;
+HPLandroid/provider/MediaStore$Files;->getContentUriForPath(Ljava/lang/String;)Landroid/net/Uri;
+HPLandroid/provider/MediaStore$Images$Media;->getBitmap(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/graphics/Bitmap;
+HPLandroid/provider/MediaStore$Images$Thumbnails;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
+HPLandroid/provider/MediaStore$InternalThumbnails;->getThumbnail(Landroid/content/ContentResolver;Landroid/net/Uri;ILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
+HPLandroid/provider/MediaStore$Video$Thumbnails;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
+HPLandroid/provider/MediaStore$Video$Thumbnails;->getThumbnail(Landroid/content/ContentResolver;JILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
+HPLandroid/provider/MetadataReader;->isSupportedMimeType(Ljava/lang/String;)Z
 HPLandroid/provider/SearchIndexablesProvider;->querySiteMapPairs()Landroid/database/Cursor;
-HPLandroid/provider/SearchRecentSuggestions$1;->run()V
-HPLandroid/provider/SearchRecentSuggestions;->saveRecentQuery(Ljava/lang/String;Ljava/lang/String;)V
-HPLandroid/provider/SearchRecentSuggestions;->saveRecentQueryBlocking(Ljava/lang/String;Ljava/lang/String;)V
-HPLandroid/provider/SearchRecentSuggestions;->truncateHistory(Landroid/content/ContentResolver;I)V
-HPLandroid/provider/Settings$Global;->getBluetoothA2dpOptionalCodecsEnabledKey(Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/provider/Settings$Global;->getBluetoothA2dpSupportsOptionalCodecsKey(Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/provider/Settings$Global;->getBluetoothPanPriorityKey(Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/provider/Settings$Global;->putLong(Landroid/content/ContentResolver;Ljava/lang/String;J)Z
-HPLandroid/provider/Settings$Global;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z
-HPLandroid/provider/Settings$Secure;->getLong(Landroid/content/ContentResolver;Ljava/lang/String;J)J
-HPLandroid/provider/Settings$Secure;->isLocationProviderEnabled(Landroid/content/ContentResolver;Ljava/lang/String;)Z
-HPLandroid/provider/Settings$Secure;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
-HPLandroid/provider/Settings$Secure;->putLong(Landroid/content/ContentResolver;Ljava/lang/String;J)Z
+HPLandroid/provider/Settings$Config;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/provider/Settings$Config;->putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Z)Z
+HPLandroid/provider/Settings$Global;->getLong(Landroid/content/ContentResolver;Ljava/lang/String;)J
 HPLandroid/provider/Settings$System$2;->validate(Ljava/lang/String;)Z
-HPLandroid/provider/Settings$System;->getFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)F
-HPLandroid/provider/Settings$System;->putFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;FI)Z
-HPLandroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
-HPLandroid/provider/Settings;->checkAndNoteChangeNetworkStateOperation(Landroid/content/Context;ILjava/lang/String;Z)Z
-HPLandroid/provider/Settings;->checkAndNoteWriteSettingsOperation(Landroid/content/Context;ILjava/lang/String;Z)Z
-HPLandroid/provider/Settings;->getPackageNameForUid(Landroid/content/Context;I)Ljava/lang/String;
-HPLandroid/provider/SettingsValidators$InclusiveFloatRangeValidator;->validate(Ljava/lang/String;)Z
+HPLandroid/provider/Settings$System;->canWrite(Landroid/content/Context;)Z
+HPLandroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I
+HPLandroid/provider/Settings;->canDrawOverlays(Landroid/content/Context;)Z
+HPLandroid/provider/SettingsValidators$DiscreteValueValidator;->validate(Ljava/lang/String;)Z
+HPLandroid/provider/SettingsValidators$InclusiveIntegerRangeValidator;->validate(Ljava/lang/String;)Z
 HPLandroid/provider/Telephony$Mms;->isEmailAddress(Ljava/lang/String;)Z
 HPLandroid/provider/Telephony$Mms;->isPhoneNumber(Ljava/lang/String;)Z
+HPLandroid/provider/Telephony$Sms$Intents;->getMessagesFromIntent(Landroid/content/Intent;)[Landroid/telephony/SmsMessage;
+HPLandroid/provider/Telephony$Threads;->getOrCreateThreadId(Landroid/content/Context;Ljava/lang/String;)J
 HPLandroid/provider/Telephony$Threads;->getOrCreateThreadId(Landroid/content/Context;Ljava/util/Set;)J
-HPLandroid/provider/VoicemailContract$Status;->buildSourceUri(Ljava/lang/String;)Landroid/net/Uri;
-HPLandroid/provider/VoicemailContract$Voicemails;->buildSourceUri(Ljava/lang/String;)Landroid/net/Uri;
-HPLandroid/security/GateKeeper;->getSecureUserId()J
-HPLandroid/security/GateKeeper;->getService()Landroid/service/gatekeeper/IGateKeeperService;
+HPLandroid/rolecontrollerservice/IRoleControllerService$Stub$Proxy;->onClearRoleHolders(Ljava/lang/String;ILandroid/app/role/IRoleManagerCallback;)V
+HPLandroid/se/omapi/ISecureElementService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/se/omapi/ISecureElementService;
 HPLandroid/security/IKeyChainService$Stub$Proxy;->getUserCaAliases()Landroid/content/pm/StringParceledListSlice;
-HPLandroid/security/IKeyChainService;->attestKey(Ljava/lang/String;[B[ILandroid/security/keymaster/KeymasterCertificateChain;)I
-HPLandroid/security/IKeyChainService;->containsCaAlias(Ljava/lang/String;)Z
-HPLandroid/security/IKeyChainService;->deleteCaCertificate(Ljava/lang/String;)Z
-HPLandroid/security/IKeyChainService;->generateKeyPair(Ljava/lang/String;Landroid/security/keystore/ParcelableKeyGenParameterSpec;)I
-HPLandroid/security/IKeyChainService;->getCaCertificateChainAliases(Ljava/lang/String;Z)Ljava/util/List;
-HPLandroid/security/IKeyChainService;->getCaCertificates(Ljava/lang/String;)[B
-HPLandroid/security/IKeyChainService;->getCertificate(Ljava/lang/String;)[B
-HPLandroid/security/IKeyChainService;->getEncodedCaCertificate(Ljava/lang/String;Z)[B
-HPLandroid/security/IKeyChainService;->getSystemCaAliases()Landroid/content/pm/StringParceledListSlice;
-HPLandroid/security/IKeyChainService;->getUserCaAliases()Landroid/content/pm/StringParceledListSlice;
-HPLandroid/security/IKeyChainService;->hasGrant(ILjava/lang/String;)Z
-HPLandroid/security/IKeyChainService;->installCaCertificate([B)Ljava/lang/String;
-HPLandroid/security/IKeyChainService;->installKeyPair([B[B[BLjava/lang/String;)Z
-HPLandroid/security/IKeyChainService;->isUserSelectable(Ljava/lang/String;)Z
-HPLandroid/security/IKeyChainService;->removeKeyPair(Ljava/lang/String;)Z
-HPLandroid/security/IKeyChainService;->requestPrivateKey(Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/security/IKeyChainService;->reset()Z
-HPLandroid/security/IKeyChainService;->setGrant(ILjava/lang/String;Z)V
-HPLandroid/security/IKeyChainService;->setKeyPairCertificate(Ljava/lang/String;[B[B)Z
-HPLandroid/security/IKeyChainService;->setUserSelectable(Ljava/lang/String;Z)V
-HPLandroid/security/IKeystoreService$Stub$Proxy;->addAuthToken([B)I
-HPLandroid/security/IKeystoreService$Stub$Proxy;->clear_uid(J)I
-HPLandroid/security/IKeystoreService$Stub$Proxy;->getState(I)I
-HPLandroid/security/IKeystoreService$Stub$Proxy;->grant(Ljava/lang/String;I)Ljava/lang/String;
-HPLandroid/security/IKeystoreService$Stub$Proxy;->importKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;I[BIILandroid/security/keymaster/KeyCharacteristics;)I
-HPLandroid/security/IKeystoreService$Stub$Proxy;->unlock(ILjava/lang/String;)I
 HPLandroid/security/KeyChain$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
 HPLandroid/security/KeyChain$KeyChainConnection;->close()V
 HPLandroid/security/KeyChain$KeyChainConnection;->getService()Landroid/security/IKeyChainService;
 HPLandroid/security/KeyChain;->bindAsUser(Landroid/content/Context;Landroid/os/UserHandle;)Landroid/security/KeyChain$KeyChainConnection;
+HPLandroid/security/KeyStore$CertificateChainPromise;->onFinished(Landroid/security/keystore/KeystoreResponse;Landroid/security/keymaster/KeymasterCertificateChain;)V
+HPLandroid/security/KeyStore$KeyAttestationCallbackResult;->getCertificateChain()Landroid/security/keymaster/KeymasterCertificateChain;
+HPLandroid/security/KeyStore$KeyAttestationCallbackResult;->getKeystoreResponse()Landroid/security/keystore/KeystoreResponse;
 HPLandroid/security/KeyStore$State;-><init>(Ljava/lang/String;I)V
 HPLandroid/security/KeyStore;->addAuthToken([B)I
-HPLandroid/security/KeyStore;->clearUid(I)Z
-HPLandroid/security/KeyStore;->getFingerprintOnlySid()J
-HPLandroid/security/KeyStore;->getInvalidKeyException(Ljava/lang/String;II)Ljava/security/InvalidKeyException;
-HPLandroid/security/KeyStore;->getInvalidKeyException(Ljava/lang/String;ILandroid/security/KeyStoreException;)Ljava/security/InvalidKeyException;
+HPLandroid/security/KeyStore;->attestKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;Landroid/security/keymaster/KeymasterCertificateChain;)I
+HPLandroid/security/KeyStore;->get(Ljava/lang/String;I)[B
+HPLandroid/security/KeyStore;->get(Ljava/lang/String;IZ)[B
+HPLandroid/security/KeyStore;->getmtime(Ljava/lang/String;I)J
 HPLandroid/security/KeyStore;->grant(Ljava/lang/String;I)Ljava/lang/String;
-HPLandroid/security/KeyStore;->importKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;I[BIILandroid/security/keymaster/KeyCharacteristics;)I
+HPLandroid/security/KeyStore;->list(Ljava/lang/String;I)[Ljava/lang/String;
 HPLandroid/security/KeyStore;->state(I)Landroid/security/KeyStore$State;
 HPLandroid/security/KeyStore;->unlock(ILjava/lang/String;)Z
-HPLandroid/security/KeyStoreException;->getErrorCode()I
+HPLandroid/security/NetworkSecurityPolicy;->getApplicationConfigForPackage(Landroid/content/Context;Ljava/lang/String;)Landroid/security/net/config/ApplicationConfig;
 HPLandroid/security/Scrypt;-><init>()V
 HPLandroid/security/Scrypt;->scrypt([B[BIIII)[B
 HPLandroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -4862,7 +5298,14 @@
 HPLandroid/security/keymaster/KeyAttestationApplicationId;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/security/keymaster/KeyAttestationPackageInfo$1;-><init>()V
 HPLandroid/security/keymaster/KeyAttestationPackageInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/security/keymaster/KeymasterArguments;->addBytes(I[B)V
 HPLandroid/security/keymaster/KeymasterArguments;->getBytes(I[B)[B
+HPLandroid/security/keymaster/KeymasterBlobArgument;-><init>(I[B)V
+HPLandroid/security/keymaster/KeymasterBlobArgument;->writeValue(Landroid/os/Parcel;)V
+HPLandroid/security/keymaster/KeymasterCertificateChain$1;-><init>()V
+HPLandroid/security/keymaster/KeymasterCertificateChain$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keymaster/KeymasterCertificateChain;
+HPLandroid/security/keymaster/KeymasterCertificateChain$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/security/keymaster/KeymasterCertificateChain;->shallowCopyFrom(Landroid/security/keymaster/KeymasterCertificateChain;)V
 HPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$AdditionalAuthenticationDataStream;->finish([B[B)Landroid/security/keymaster/OperationResult;
 HPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$BufferAllOutputUntilDoFinalStreamer;->doFinal([BII[B[B)[B
 HPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi$GCM$NoPadding;-><init>()V
@@ -4882,11 +5325,9 @@
 HPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi;->initKey(ILjava/security/Key;)V
 HPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi;->loadAlgorithmSpecificParametersFromBeginResult(Landroid/security/keymaster/KeymasterArguments;)V
 HPLandroid/security/keystore/AndroidKeyStoreAuthenticatedAESCipherSpi;->setIv([B)V
-HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->addAlgorithmSpecificParametersToBegin(Landroid/security/keymaster/KeymasterArguments;)V
 HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->createAdditionalAuthenticationDataStreamer(Landroid/security/KeyStore;Landroid/os/IBinder;)Landroid/security/keystore/KeyStoreCryptoOperationStreamer;
 HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->createMainDataStreamer(Landroid/security/KeyStore;Landroid/os/IBinder;)Landroid/security/keystore/KeyStoreCryptoOperationStreamer;
 HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->engineDoFinal([BII)[B
-HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->engineGetParameters()Ljava/security/AlgorithmParameters;
 HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->engineInit(ILjava/security/Key;Ljava/security/SecureRandom;)V
 HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->engineInit(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
 HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->engineUnwrap([BLjava/lang/String;I)Ljava/security/Key;
@@ -4894,22 +5335,25 @@
 HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->ensureKeystoreOperationInitialized()V
 HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->finalize()V
 HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->flushAAD()V
-HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->getAdditionalEntropyAmountForBegin()I
-HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->getAdditionalEntropyAmountForFinish()I
 HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->init(ILjava/security/Key;Ljava/security/SecureRandom;)V
-HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->initAlgorithmSpecificParameters()V
-HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->initAlgorithmSpecificParameters(Ljava/security/AlgorithmParameters;)V
-HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->initAlgorithmSpecificParameters(Ljava/security/spec/AlgorithmParameterSpec;)V
-HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->initKey(ILjava/security/Key;)V
-HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->loadAlgorithmSpecificParametersFromBeginResult(Landroid/security/keymaster/KeymasterArguments;)V
 HPLandroid/security/keystore/AndroidKeyStoreCipherSpiBase;->resetAll()V
+HPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->getAttestationChain(Ljava/lang/String;Ljava/security/KeyPair;Landroid/security/keymaster/KeymasterArguments;)Ljava/lang/Iterable;
 HPLandroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStoreKeyFromKeystore(Landroid/security/KeyStore;Ljava/lang/String;I)Landroid/security/keystore/AndroidKeyStoreKey;
 HPLandroid/security/keystore/AndroidKeyStoreProvider;->loadAndroidKeyStoreSecretKeyFromKeystore(Ljava/lang/String;ILandroid/security/keymaster/KeyCharacteristics;)Landroid/security/keystore/AndroidKeyStoreSecretKey;
 HPLandroid/security/keystore/AndroidKeyStoreSecretKeyFactorySpi;-><init>()V
 HPLandroid/security/keystore/AndroidKeyStoreSecretKeyFactorySpi;->engineGetKeySpec(Ljavax/crypto/SecretKey;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
+HPLandroid/security/keystore/AndroidKeyStoreSpi;->engineAliases()Ljava/util/Enumeration;
+HPLandroid/security/keystore/AndroidKeyStoreSpi;->engineGetCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;
+HPLandroid/security/keystore/AndroidKeyStoreSpi;->engineGetCertificateChain(Ljava/lang/String;)[Ljava/security/cert/Certificate;
+HPLandroid/security/keystore/AndroidKeyStoreSpi;->engineGetCreationDate(Ljava/lang/String;)Ljava/util/Date;
 HPLandroid/security/keystore/AndroidKeyStoreSpi;->engineGetKey(Ljava/lang/String;[C)Ljava/security/Key;
-HPLandroid/security/keystore/AndroidKeyStoreSpi;->engineSetEntry(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
-HPLandroid/security/keystore/AndroidKeyStoreSpi;->setSecretKeyEntry(Ljava/lang/String;Ljavax/crypto/SecretKey;Ljava/security/KeyStore$ProtectionParameter;)V
+HPLandroid/security/keystore/AndroidKeyStoreSpi;->engineIsCertificateEntry(Ljava/lang/String;)Z
+HPLandroid/security/keystore/AndroidKeyStoreSpi;->engineIsKeyEntry(Ljava/lang/String;)Z
+HPLandroid/security/keystore/AndroidKeyStoreSpi;->getCertificateForPrivateKeyEntry(Ljava/lang/String;[B)Ljava/security/cert/Certificate;
+HPLandroid/security/keystore/AndroidKeyStoreSpi;->getUniqueAliases()Ljava/util/Set;
+HPLandroid/security/keystore/AndroidKeyStoreSpi;->isKeyEntry(Ljava/lang/String;)Z
+HPLandroid/security/keystore/AndroidKeyStoreSpi;->toCertificate([B)Ljava/security/cert/X509Certificate;
+HPLandroid/security/keystore/AndroidKeyStoreSpi;->toCertificates([B)Ljava/util/Collection;
 HPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi$CBC$PKCS7Padding;-><init>()V
 HPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi$CBC$PKCS7Padding;->finalize()V
 HPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi;->addAlgorithmSpecificParametersToBegin(Landroid/security/keymaster/KeymasterArguments;)V
@@ -4920,41 +5364,37 @@
 HPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi;->loadAlgorithmSpecificParametersFromBeginResult(Landroid/security/keymaster/KeymasterArguments;)V
 HPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi;->resetAll()V
 HPLandroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi;->resetWhilePreservingInitState()V
+HPLandroid/security/keystore/DelegatingX509Certificate;->getEncoded()[B
+HPLandroid/security/keystore/IKeystoreCertificateChainCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/security/keystore/IKeystoreCertificateChainCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/security/keystore/IKeystoreKeyCharacteristicsCallback$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/security/keystore/IKeystoreOperationResultCallback$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/security/keystore/IKeystoreResponseCallback$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->addAuthToken([B)I
+HPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->attestKey(Landroid/security/keystore/IKeystoreCertificateChainCallback;Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;)I
+HPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->get(Ljava/lang/String;I)[B
+HPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->getState(I)I
+HPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->getmtime(Ljava/lang/String;I)J
+HPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->grant(Ljava/lang/String;I)Ljava/lang/String;
+HPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->list(Ljava/lang/String;I)[Ljava/lang/String;
+HPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->unlock(ILjava/lang/String;)I
+HPLandroid/security/keystore/KeyGenParameterSpec$Builder;->setAlgorithmParameterSpec(Ljava/security/spec/AlgorithmParameterSpec;)Landroid/security/keystore/KeyGenParameterSpec$Builder;
+HPLandroid/security/keystore/KeyGenParameterSpec$Builder;->setAttestationChallenge([B)Landroid/security/keystore/KeyGenParameterSpec$Builder;
+HPLandroid/security/keystore/KeyGenParameterSpec$Builder;->setIsStrongBoxBacked(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;
+HPLandroid/security/keystore/KeyGenParameterSpec$Builder;->setUniqueIdIncluded(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;
 HPLandroid/security/keystore/KeyInfo;->getUserAuthenticationValidityDurationSeconds()I
 HPLandroid/security/keystore/KeyProperties$BlockMode;->fromKeymaster(I)Ljava/lang/String;
-HPLandroid/security/keystore/KeyProperties$BlockMode;->toKeymaster(Ljava/lang/String;)I
 HPLandroid/security/keystore/KeyProperties$EncryptionPadding;->fromKeymaster(I)Ljava/lang/String;
-HPLandroid/security/keystore/KeyProperties$EncryptionPadding;->toKeymaster(Ljava/lang/String;)I
 HPLandroid/security/keystore/KeyProperties$KeyAlgorithm;->fromKeymasterSecretKeyAlgorithm(II)Ljava/lang/String;
-HPLandroid/security/keystore/KeyProperties$KeyAlgorithm;->toKeymasterSecretKeyAlgorithm(Ljava/lang/String;)I
-HPLandroid/security/keystore/KeyProtection$Builder;->build()Landroid/security/keystore/KeyProtection;
-HPLandroid/security/keystore/KeyProtection$Builder;->setBlockModes([Ljava/lang/String;)Landroid/security/keystore/KeyProtection$Builder;
-HPLandroid/security/keystore/KeyProtection$Builder;->setEncryptionPaddings([Ljava/lang/String;)Landroid/security/keystore/KeyProtection$Builder;
-HPLandroid/security/keystore/KeyProtection;-><init>(Ljava/util/Date;Ljava/util/Date;Ljava/util/Date;I[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;ZZIZZZJZZZ)V
-HPLandroid/security/keystore/KeyProtection;->isUnlockedDeviceRequired()Z
-HPLandroid/security/keystore/KeyProtection;->isUserAuthenticationRequired()Z
-HPLandroid/security/keystore/KeyProtection;->isUserConfirmationRequired()Z
-HPLandroid/security/keystore/KeyProtection;->isUserPresenceRequired()Z
 HPLandroid/security/keystore/KeyStoreCryptoOperationUtils;->getExceptionForCipherInit(Landroid/security/KeyStore;Landroid/security/keystore/AndroidKeyStoreKey;I)Ljava/security/GeneralSecurityException;
-HPLandroid/security/keystore/KeymasterUtils;->addMinMacLengthAuthorizationIfNecessary(Landroid/security/keymaster/KeymasterArguments;I[I[I)V
-HPLandroid/security/keystore/KeymasterUtils;->isKeymasterBlockModeIndCpaCompatibleWithSymmetricCrypto(I)Z
 HPLandroid/security/keystore/recovery/KeyChainProtectionParams$1;-><init>()V
-HPLandroid/security/keystore/recovery/KeyChainProtectionParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keystore/recovery/KeyChainProtectionParams;
-HPLandroid/security/keystore/recovery/KeyChainProtectionParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;-><init>()V
 HPLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;->build()Landroid/security/keystore/recovery/KeyChainProtectionParams;
 HPLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;->setKeyDerivationParams(Landroid/security/keystore/recovery/KeyDerivationParams;)Landroid/security/keystore/recovery/KeyChainProtectionParams$Builder;
 HPLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;->setLockScreenUiFormat(I)Landroid/security/keystore/recovery/KeyChainProtectionParams$Builder;
-HPLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;->setSecret([B)Landroid/security/keystore/recovery/KeyChainProtectionParams$Builder;
 HPLandroid/security/keystore/recovery/KeyChainProtectionParams$Builder;->setUserSecretType(I)Landroid/security/keystore/recovery/KeyChainProtectionParams$Builder;
-HPLandroid/security/keystore/recovery/KeyChainProtectionParams;-><init>(Landroid/os/Parcel;)V
-HPLandroid/security/keystore/recovery/KeyChainProtectionParams;->getKeyDerivationParams()Landroid/security/keystore/recovery/KeyDerivationParams;
-HPLandroid/security/keystore/recovery/KeyChainProtectionParams;->getLockScreenUiFormat()I
-HPLandroid/security/keystore/recovery/KeyChainProtectionParams;->getUserSecretType()I
 HPLandroid/security/keystore/recovery/KeyChainProtectionParams;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/security/keystore/recovery/KeyChainSnapshot$1;-><init>()V
-HPLandroid/security/keystore/recovery/KeyChainSnapshot$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keystore/recovery/KeyChainSnapshot;
-HPLandroid/security/keystore/recovery/KeyChainSnapshot$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;-><init>()V
 HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->build()Landroid/security/keystore/recovery/KeyChainSnapshot;
 HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setCounterId(J)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
@@ -4965,38 +5405,23 @@
 HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setSnapshotVersion(I)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
 HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setTrustedHardwareCertPath(Ljava/security/cert/CertPath;)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
 HPLandroid/security/keystore/recovery/KeyChainSnapshot$Builder;->setWrappedApplicationKeys(Ljava/util/List;)Landroid/security/keystore/recovery/KeyChainSnapshot$Builder;
-HPLandroid/security/keystore/recovery/KeyChainSnapshot;-><init>(Landroid/os/Parcel;)V
-HPLandroid/security/keystore/recovery/KeyChainSnapshot;->getCounterId()J
-HPLandroid/security/keystore/recovery/KeyChainSnapshot;->getEncryptedRecoveryKeyBlob()[B
-HPLandroid/security/keystore/recovery/KeyChainSnapshot;->getKeyChainProtectionParams()Ljava/util/List;
-HPLandroid/security/keystore/recovery/KeyChainSnapshot;->getMaxAttempts()I
-HPLandroid/security/keystore/recovery/KeyChainSnapshot;->getServerParams()[B
-HPLandroid/security/keystore/recovery/KeyChainSnapshot;->getTrustedHardwareCertPath()Ljava/security/cert/CertPath;
-HPLandroid/security/keystore/recovery/KeyChainSnapshot;->getWrappedApplicationKeys()Ljava/util/List;
 HPLandroid/security/keystore/recovery/KeyChainSnapshot;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/security/keystore/recovery/KeyDerivationParams$1;-><init>()V
-HPLandroid/security/keystore/recovery/KeyDerivationParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keystore/recovery/KeyDerivationParams;
-HPLandroid/security/keystore/recovery/KeyDerivationParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/security/keystore/recovery/KeyDerivationParams;->createScryptParams([BI)Landroid/security/keystore/recovery/KeyDerivationParams;
 HPLandroid/security/keystore/recovery/KeyDerivationParams;->createSha256Params([B)Landroid/security/keystore/recovery/KeyDerivationParams;
-HPLandroid/security/keystore/recovery/KeyDerivationParams;->getAlgorithm()I
-HPLandroid/security/keystore/recovery/KeyDerivationParams;->getMemoryDifficulty()I
-HPLandroid/security/keystore/recovery/KeyDerivationParams;->getSalt()[B
 HPLandroid/security/keystore/recovery/RecoveryCertPath$1;-><init>()V
-HPLandroid/security/keystore/recovery/RecoveryCertPath$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keystore/recovery/RecoveryCertPath;
-HPLandroid/security/keystore/recovery/RecoveryCertPath$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/security/keystore/recovery/RecoveryCertPath;->createRecoveryCertPath(Ljava/security/cert/CertPath;)Landroid/security/keystore/recovery/RecoveryCertPath;
-HPLandroid/security/keystore/recovery/RecoveryCertPath;->decodeCertPath([B)Ljava/security/cert/CertPath;
+HPLandroid/security/keystore/recovery/RecoveryController;->generateKey(Ljava/lang/String;)Ljava/security/Key;
 HPLandroid/security/keystore/recovery/RecoveryController;->getAliases()Ljava/util/List;
 HPLandroid/security/keystore/recovery/RecoveryController;->getInstance(Landroid/content/Context;)Landroid/security/keystore/recovery/RecoveryController;
 HPLandroid/security/keystore/recovery/RecoveryController;->getKey(Ljava/lang/String;)Ljava/security/Key;
 HPLandroid/security/keystore/recovery/RecoveryController;->getKeyChainSnapshot()Landroid/security/keystore/recovery/KeyChainSnapshot;
 HPLandroid/security/keystore/recovery/RecoveryController;->getKeyFromGrant(Ljava/lang/String;)Ljava/security/Key;
+HPLandroid/security/keystore/recovery/RecoveryController;->getRecoverySecretTypes()[I
 HPLandroid/security/keystore/recovery/RecoveryController;->getRecoveryStatus(Ljava/lang/String;)I
 HPLandroid/security/keystore/recovery/RecoveryController;->initRecoveryService(Ljava/lang/String;[B[B)V
-HPLandroid/security/keystore/recovery/RecoveryController;->removeKey(Ljava/lang/String;)V
+HPLandroid/security/keystore/recovery/RecoveryController;->isRecoverableKeyStoreEnabled(Landroid/content/Context;)Z
 HPLandroid/security/keystore/recovery/RecoveryController;->setRecoverySecretTypes([I)V
-HPLandroid/security/keystore/recovery/RecoveryController;->setRecoveryStatus(Ljava/lang/String;I)V
 HPLandroid/security/keystore/recovery/RecoveryController;->setServerParams([B)V
 HPLandroid/security/keystore/recovery/RecoveryController;->setSnapshotCreatedPendingIntent(Landroid/app/PendingIntent;)V
 HPLandroid/security/keystore/recovery/TrustedRootCertificates;->constructRootCertificateMap()Landroid/util/ArrayMap;
@@ -5004,111 +5429,194 @@
 HPLandroid/security/keystore/recovery/TrustedRootCertificates;->getRootCertificates()Ljava/util/Map;
 HPLandroid/security/keystore/recovery/TrustedRootCertificates;->parseBase64Certificate(Ljava/lang/String;)Ljava/security/cert/X509Certificate;
 HPLandroid/security/keystore/recovery/WrappedApplicationKey$1;-><init>()V
-HPLandroid/security/keystore/recovery/WrappedApplicationKey$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keystore/recovery/WrappedApplicationKey;
-HPLandroid/security/keystore/recovery/WrappedApplicationKey$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/security/keystore/recovery/WrappedApplicationKey$Builder;-><init>()V
 HPLandroid/security/keystore/recovery/WrappedApplicationKey$Builder;->build()Landroid/security/keystore/recovery/WrappedApplicationKey;
 HPLandroid/security/keystore/recovery/WrappedApplicationKey$Builder;->setAlias(Ljava/lang/String;)Landroid/security/keystore/recovery/WrappedApplicationKey$Builder;
 HPLandroid/security/keystore/recovery/WrappedApplicationKey$Builder;->setEncryptedKeyMaterial([B)Landroid/security/keystore/recovery/WrappedApplicationKey$Builder;
-HPLandroid/security/keystore/recovery/WrappedApplicationKey;->getAlias()Ljava/lang/String;
-HPLandroid/security/keystore/recovery/WrappedApplicationKey;->getEncryptedKeyMaterial()[B
 HPLandroid/security/keystore/recovery/WrappedApplicationKey;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/security/keystore/recovery/X509CertificateParsingUtils;->decodeBase64Cert(Ljava/lang/String;)Ljava/security/cert/X509Certificate;
 HPLandroid/security/keystore/recovery/X509CertificateParsingUtils;->decodeCert(Ljava/io/InputStream;)Ljava/security/cert/X509Certificate;
+HPLandroid/security/net/config/ApplicationConfig;->getTrustManager()Ljavax/net/ssl/X509TrustManager;
+HPLandroid/security/net/config/ApplicationConfig;->isCleartextTrafficPermitted(Ljava/lang/String;)Z
+HPLandroid/security/net/config/NetworkSecurityConfig$1;->compare(Landroid/security/net/config/CertificatesEntryRef;Landroid/security/net/config/CertificatesEntryRef;)I
+HPLandroid/security/net/config/NetworkSecurityConfig$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HPLandroid/security/net/config/UserCertificateSource;-><init>(Landroid/security/net/config/UserCertificateSource$1;)V
+HPLandroid/security/net/config/UserCertificateSource;->findAllByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
+HPLandroid/security/net/config/UserCertificateSource;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
+HPLandroid/service/autofill/-$$Lambda$AutofillFieldClassificationService$AutofillFieldClassificationServiceWrapper$mUalgFt87R5lup2LhB9vW49Xixs;-><init>()V
+HPLandroid/service/autofill/-$$Lambda$AutofillFieldClassificationService$AutofillFieldClassificationServiceWrapper$mUalgFt87R5lup2LhB9vW49Xixs;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 HPLandroid/service/autofill/-$$Lambda$I0gCKFrBTO70VZfSZTq2fj-wyG8;-><init>()V
 HPLandroid/service/autofill/-$$Lambda$I0gCKFrBTO70VZfSZTq2fj-wyG8;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 HPLandroid/service/autofill/-$$Lambda$amIBeR2CTPTUHkT8htLcarZmUYc;-><init>()V
 HPLandroid/service/autofill/-$$Lambda$amIBeR2CTPTUHkT8htLcarZmUYc;->accept(Ljava/lang/Object;)V
 HPLandroid/service/autofill/-$$Lambda$eWz26esczusoIA84WEwFlxQuDGQ;-><init>()V
 HPLandroid/service/autofill/-$$Lambda$eWz26esczusoIA84WEwFlxQuDGQ;->accept(Ljava/lang/Object;)V
+HPLandroid/service/autofill/AutofillFieldClassificationService$AutofillFieldClassificationServiceWrapper;->calculateScores(Landroid/os/RemoteCallback;Ljava/util/List;[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/Map;Ljava/util/Map;)V
+HPLandroid/service/autofill/AutofillFieldClassificationService$Scores$1;-><init>()V
+HPLandroid/service/autofill/AutofillFieldClassificationService$Scores;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/service/autofill/AutofillFieldClassificationService;-><init>()V
+HPLandroid/service/autofill/AutofillFieldClassificationService;->calculateScores(Landroid/os/RemoteCallback;Ljava/util/List;[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/Map;Ljava/util/Map;)V
+HPLandroid/service/autofill/AutofillFieldClassificationService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
+HPLandroid/service/autofill/AutofillFieldClassificationService;->onCreate()V
 HPLandroid/service/autofill/AutofillService$1;->onConnectedStateChanged(Z)V
 HPLandroid/service/autofill/AutofillService$1;->onFillRequest(Landroid/service/autofill/FillRequest;Landroid/service/autofill/IFillCallback;)V
 HPLandroid/service/autofill/AutofillService;-><init>()V
 HPLandroid/service/autofill/AutofillService;->getFillEventHistory()Landroid/service/autofill/FillEventHistory;
 HPLandroid/service/autofill/AutofillService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
 HPLandroid/service/autofill/AutofillService;->onCreate()V
-HPLandroid/service/autofill/AutofillService;->onFillRequest(Landroid/service/autofill/FillRequest;Landroid/os/CancellationSignal;Landroid/service/autofill/FillCallback;)V
-HPLandroid/service/autofill/AutofillService;->onSaveRequest(Landroid/service/autofill/SaveRequest;Landroid/service/autofill/SaveCallback;)V
+HPLandroid/service/autofill/AutofillServiceHelper;->assertValid([Landroid/view/autofill/AutofillId;)[Landroid/view/autofill/AutofillId;
 HPLandroid/service/autofill/AutofillServiceInfo;-><init>(Landroid/content/Context;Landroid/content/ComponentName;I)V
 HPLandroid/service/autofill/AutofillServiceInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ServiceInfo;)V
 HPLandroid/service/autofill/AutofillServiceInfo;->getServiceInfoOrThrow(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;
 HPLandroid/service/autofill/AutofillServiceInfo;->parseCompatibilityPackages(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/util/ArrayMap;
-HPLandroid/service/autofill/AutofillServiceInfo;->toString()Ljava/lang/String;
+HPLandroid/service/autofill/CharSequenceTransformation$1;-><init>()V
+HPLandroid/service/autofill/CharSequenceTransformation$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/autofill/CharSequenceTransformation;
+HPLandroid/service/autofill/CharSequenceTransformation$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/service/autofill/CharSequenceTransformation;->toString()Ljava/lang/String;
+HPLandroid/service/autofill/CustomDescription$1;-><init>()V
+HPLandroid/service/autofill/CustomDescription$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/autofill/CustomDescription;
+HPLandroid/service/autofill/CustomDescription$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/service/autofill/CustomDescription$Builder;->addChild(ILandroid/service/autofill/Transformation;)Landroid/service/autofill/CustomDescription$Builder;
+HPLandroid/service/autofill/Dataset$1;-><init>()V
+HPLandroid/service/autofill/Dataset$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/autofill/Dataset;
+HPLandroid/service/autofill/Dataset$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/service/autofill/Dataset$Builder;->setLifeTheUniverseAndEverything(Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;Landroid/widget/RemoteViews;Landroid/service/autofill/Dataset$DatasetFieldFilter;)V
+HPLandroid/service/autofill/Dataset$DatasetFieldFilter$1;-><init>()V
+HPLandroid/service/autofill/Dataset;-><init>(Landroid/service/autofill/Dataset$Builder;)V
 HPLandroid/service/autofill/FillCallback;->onSuccess(Landroid/service/autofill/FillResponse;)V
 HPLandroid/service/autofill/FillContext$1;-><init>()V
 HPLandroid/service/autofill/FillContext$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/autofill/FillContext;
 HPLandroid/service/autofill/FillContext$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/service/autofill/FillContext;->findViewNodesByAutofillIds([Landroid/view/autofill/AutofillId;)[Landroid/app/assist/AssistStructure$ViewNode;
-HPLandroid/service/autofill/FillContext;->getStructure()Landroid/app/assist/AssistStructure;
 HPLandroid/service/autofill/FillContext;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/service/autofill/FillEventHistory$1;-><init>()V
+HPLandroid/service/autofill/FillEventHistory;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/service/autofill/FillRequest$1;-><init>()V
 HPLandroid/service/autofill/FillRequest$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/autofill/FillRequest;
 HPLandroid/service/autofill/FillRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/service/autofill/FillRequest;-><init>(ILjava/util/ArrayList;Landroid/os/Bundle;I)V
 HPLandroid/service/autofill/FillRequest;-><init>(Landroid/os/Parcel;)V
-HPLandroid/service/autofill/FillRequest;->getFillContexts()Ljava/util/List;
-HPLandroid/service/autofill/FillRequest;->getFlags()I
+HPLandroid/service/autofill/FillResponse$1;-><init>()V
+HPLandroid/service/autofill/FillResponse$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/autofill/FillResponse;
+HPLandroid/service/autofill/FillResponse$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/service/autofill/FillResponse$Builder;->build()Landroid/service/autofill/FillResponse;
+HPLandroid/service/autofill/FillResponse$Builder;->setAuthentication([Landroid/view/autofill/AutofillId;Landroid/content/IntentSender;Landroid/widget/RemoteViews;)Landroid/service/autofill/FillResponse$Builder;
+HPLandroid/service/autofill/FillResponse;-><init>(Landroid/service/autofill/FillResponse$Builder;)V
+HPLandroid/service/autofill/FillResponse;->getDatasets()Ljava/util/List;
 HPLandroid/service/autofill/IAutoFillService$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/service/autofill/IAutoFillService$Stub$Proxy;->onConnectedStateChanged(Z)V
 HPLandroid/service/autofill/IAutoFillService$Stub$Proxy;->onFillRequest(Landroid/service/autofill/FillRequest;Landroid/service/autofill/IFillCallback;)V
 HPLandroid/service/autofill/IAutoFillService$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/service/autofill/IAutoFillService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/autofill/IAutoFillService;
 HPLandroid/service/autofill/IAutoFillService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/service/autofill/IAutoFillService;->onConnectedStateChanged(Z)V
-HPLandroid/service/autofill/IAutoFillService;->onFillRequest(Landroid/service/autofill/FillRequest;Landroid/service/autofill/IFillCallback;)V
-HPLandroid/service/autofill/IAutoFillService;->onSaveRequest(Landroid/service/autofill/SaveRequest;Landroid/service/autofill/ISaveCallback;)V
+HPLandroid/service/autofill/IAutofillFieldClassificationService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/service/autofill/IFillCallback$Stub$Proxy;->onCancellable(Landroid/os/ICancellationSignal;)V
 HPLandroid/service/autofill/IFillCallback$Stub$Proxy;->onSuccess(Landroid/service/autofill/FillResponse;)V
 HPLandroid/service/autofill/IFillCallback$Stub;-><init>()V
 HPLandroid/service/autofill/IFillCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/service/autofill/IFillCallback$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/service/autofill/IFillCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/service/autofill/IFillCallback;->onCancellable(Landroid/os/ICancellationSignal;)V
-HPLandroid/service/autofill/IFillCallback;->onFailure(Ljava/lang/CharSequence;)V
-HPLandroid/service/autofill/IFillCallback;->onSuccess(Landroid/service/autofill/FillResponse;)V
-HPLandroid/service/autofill/ValueFinder;->findRawValueByAutofillId(Landroid/view/autofill/AutofillId;)Landroid/view/autofill/AutofillValue;
-HPLandroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper$1;->onReceiveResult(Ljava/lang/Integer;)V
-HPLandroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper$1;->onReceiveResult(Ljava/lang/Object;)V
-HPLandroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper$2;->onReceiveResult(Landroid/service/carrier/CarrierMessagingService$SendSmsResult;)V
-HPLandroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper$2;->onReceiveResult(Ljava/lang/Object;)V
-HPLandroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper;->filterSms(Landroid/service/carrier/MessagePdu;Ljava/lang/String;IILandroid/service/carrier/ICarrierMessagingCallback;)V
-HPLandroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper;->sendTextSms(Ljava/lang/String;ILjava/lang/String;ILandroid/service/carrier/ICarrierMessagingCallback;)V
-HPLandroid/service/carrier/CarrierMessagingService;-><init>()V
-HPLandroid/service/carrier/CarrierMessagingService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HPLandroid/service/carrier/CarrierMessagingService;->onSendTextSms(Ljava/lang/String;ILjava/lang/String;ILandroid/service/carrier/CarrierMessagingService$ResultCallback;)V
-HPLandroid/service/carrier/CarrierMessagingService;->onSendTextSms(Ljava/lang/String;ILjava/lang/String;Landroid/service/carrier/CarrierMessagingService$ResultCallback;)V
-HPLandroid/service/carrier/ICarrierMessagingCallback$Stub$Proxy;->onFilterComplete(I)V
-HPLandroid/service/carrier/ICarrierMessagingCallback$Stub$Proxy;->onSendSmsComplete(II)V
-HPLandroid/service/carrier/ICarrierMessagingCallback;->onDownloadMmsComplete(I)V
-HPLandroid/service/carrier/ICarrierMessagingCallback;->onFilterComplete(I)V
-HPLandroid/service/carrier/ICarrierMessagingCallback;->onSendMmsComplete(I[B)V
-HPLandroid/service/carrier/ICarrierMessagingCallback;->onSendMultipartSmsComplete(I[I)V
-HPLandroid/service/carrier/ICarrierMessagingCallback;->onSendSmsComplete(II)V
-HPLandroid/service/carrier/ICarrierMessagingService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/service/carrier/ICarrierMessagingService;->downloadMms(Landroid/net/Uri;ILandroid/net/Uri;Landroid/service/carrier/ICarrierMessagingCallback;)V
-HPLandroid/service/carrier/ICarrierMessagingService;->filterSms(Landroid/service/carrier/MessagePdu;Ljava/lang/String;IILandroid/service/carrier/ICarrierMessagingCallback;)V
-HPLandroid/service/carrier/ICarrierMessagingService;->sendDataSms([BILjava/lang/String;IILandroid/service/carrier/ICarrierMessagingCallback;)V
-HPLandroid/service/carrier/ICarrierMessagingService;->sendMms(Landroid/net/Uri;ILandroid/net/Uri;Landroid/service/carrier/ICarrierMessagingCallback;)V
-HPLandroid/service/carrier/ICarrierMessagingService;->sendMultipartTextSms(Ljava/util/List;ILjava/lang/String;ILandroid/service/carrier/ICarrierMessagingCallback;)V
-HPLandroid/service/carrier/ICarrierMessagingService;->sendTextSms(Ljava/lang/String;ILjava/lang/String;ILandroid/service/carrier/ICarrierMessagingCallback;)V
+HPLandroid/service/autofill/RegexValidator$1;-><init>()V
+HPLandroid/service/autofill/RegexValidator$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/autofill/RegexValidator;
+HPLandroid/service/autofill/RegexValidator$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/service/autofill/RequiredValidators$1;-><init>()V
+HPLandroid/service/autofill/RequiredValidators$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/autofill/RequiredValidators;
+HPLandroid/service/autofill/RequiredValidators$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/service/autofill/RequiredValidators;->toString()Ljava/lang/String;
+HPLandroid/service/autofill/SaveInfo$1;-><init>()V
+HPLandroid/service/autofill/SaveInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/autofill/SaveInfo;
+HPLandroid/service/autofill/SaveInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/service/autofill/SaveInfo$Builder;->addSanitizer(Landroid/service/autofill/Sanitizer;[Landroid/view/autofill/AutofillId;)Landroid/service/autofill/SaveInfo$Builder;
+HPLandroid/service/autofill/SaveInfo$Builder;->build()Landroid/service/autofill/SaveInfo;
+HPLandroid/service/autofill/SaveInfo$Builder;->setNegativeAction(ILandroid/content/IntentSender;)Landroid/service/autofill/SaveInfo$Builder;
+HPLandroid/service/autofill/SaveInfo;-><init>(Landroid/service/autofill/SaveInfo$Builder;)V
+HPLandroid/service/autofill/TextValueSanitizer$1;-><init>()V
+HPLandroid/service/autofill/TextValueSanitizer$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/autofill/TextValueSanitizer;
+HPLandroid/service/autofill/TextValueSanitizer$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/service/autofill/TextValueSanitizer;->toString()Ljava/lang/String;
+HPLandroid/service/autofill/augmented/-$$Lambda$AugmentedAutofillService$1$LSvI4QN2NxJLegcZI0BFIvKwp6o;-><init>()V
+HPLandroid/service/autofill/augmented/-$$Lambda$AugmentedAutofillService$1$LSvI4QN2NxJLegcZI0BFIvKwp6o;->accept(Ljava/lang/Object;)V
+HPLandroid/service/autofill/augmented/-$$Lambda$AugmentedAutofillService$1$o3HroNkBmbmfvaMQzpU1LF_dvS8;-><init>()V
+HPLandroid/service/autofill/augmented/-$$Lambda$AugmentedAutofillService$1$o3HroNkBmbmfvaMQzpU1LF_dvS8;->accept(Ljava/lang/Object;)V
+HPLandroid/service/autofill/augmented/AugmentedAutofillService$1;->onConnected()V
+HPLandroid/service/autofill/augmented/AugmentedAutofillService$1;->onDestroyAllFillWindowsRequest()V
+HPLandroid/service/autofill/augmented/AugmentedAutofillService;-><init>()V
+HPLandroid/service/autofill/augmented/AugmentedAutofillService;->handleOnDestroyAllFillWindowsRequest()V
+HPLandroid/service/autofill/augmented/AugmentedAutofillService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
+HPLandroid/service/autofill/augmented/AugmentedAutofillService;->onConnected()V
+HPLandroid/service/autofill/augmented/AugmentedAutofillService;->onCreate()V
+HPLandroid/service/autofill/augmented/IAugmentedAutofillService$Stub$Proxy;->onConnected()V
+HPLandroid/service/autofill/augmented/IAugmentedAutofillService$Stub$Proxy;->onDestroyAllFillWindowsRequest()V
+HPLandroid/service/autofill/augmented/IAugmentedAutofillService$Stub$Proxy;->onFillRequest(ILandroid/os/IBinder;ILandroid/content/ComponentName;Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;JLandroid/service/autofill/augmented/IFillCallback;)V
+HPLandroid/service/autofill/augmented/IAugmentedAutofillService$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/service/autofill/augmented/IAugmentedAutofillService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/autofill/augmented/IAugmentedAutofillService;
+HPLandroid/service/autofill/augmented/IAugmentedAutofillService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/service/autofill/augmented/IFillCallback$Stub;-><init>()V
+HPLandroid/service/autofill/augmented/IFillCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/service/autofill/augmented/IFillCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/service/carrier/ICarrierMessagingCallback$Stub;-><init>()V
+HPLandroid/service/carrier/ICarrierMessagingCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/service/carrier/ICarrierMessagingCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/service/carrier/ICarrierMessagingService$Stub$Proxy;->filterSms(Landroid/service/carrier/MessagePdu;Ljava/lang/String;IILandroid/service/carrier/ICarrierMessagingCallback;)V
+HPLandroid/service/carrier/ICarrierMessagingService$Stub$Proxy;->sendTextSms(Ljava/lang/String;ILjava/lang/String;ILandroid/service/carrier/ICarrierMessagingCallback;)V
+HPLandroid/service/carrier/ICarrierMessagingService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/carrier/ICarrierMessagingService;
 HPLandroid/service/carrier/MessagePdu$1;-><init>()V
-HPLandroid/service/carrier/MessagePdu$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/carrier/MessagePdu;
-HPLandroid/service/carrier/MessagePdu$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/service/carrier/MessagePdu;->getPdus()Ljava/util/List;
-HPLandroid/service/dreams/IDreamManager$Stub$Proxy;->getDefaultDreamComponent()Landroid/content/ComponentName;
-HPLandroid/service/dreams/IDreamManager$Stub$Proxy;->getDreamComponents()[Landroid/content/ComponentName;
-HPLandroid/service/dreams/IDreamManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/dreams/IDreamManager;
+HPLandroid/service/carrier/MessagePdu;-><init>(Ljava/util/List;)V
+HPLandroid/service/carrier/MessagePdu;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/service/contentcapture/-$$Lambda$ContentCaptureService$1$1VlB_m4tVjwVi8ALZkCay724HtA;-><init>()V
+HPLandroid/service/contentcapture/-$$Lambda$ContentCaptureService$1$1VlB_m4tVjwVi8ALZkCay724HtA;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HPLandroid/service/contentcapture/-$$Lambda$ContentCaptureService$1$P_V9qhyARCfgqknD3r9utXvZtic;-><init>()V
+HPLandroid/service/contentcapture/-$$Lambda$ContentCaptureService$1$P_V9qhyARCfgqknD3r9utXvZtic;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HPLandroid/service/contentcapture/-$$Lambda$ContentCaptureService$1$iP7RXM_Va9lafd6bT9eXRx_D47Q;-><init>()V
+HPLandroid/service/contentcapture/-$$Lambda$ContentCaptureService$1$iP7RXM_Va9lafd6bT9eXRx_D47Q;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HPLandroid/service/contentcapture/-$$Lambda$ContentCaptureService$1$rMXqlTfg7_GsJ2P6N3IE4GK3puA;-><init>()V
+HPLandroid/service/contentcapture/-$$Lambda$ContentCaptureService$1$rMXqlTfg7_GsJ2P6N3IE4GK3puA;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HPLandroid/service/contentcapture/-$$Lambda$ContentCaptureService$1$wPMOb7AM5r-kHmuyl3SBSylaH1A;-><init>()V
+HPLandroid/service/contentcapture/-$$Lambda$ContentCaptureService$1$wPMOb7AM5r-kHmuyl3SBSylaH1A;->accept(Ljava/lang/Object;)V
+HPLandroid/service/contentcapture/-$$Lambda$ContentCaptureService$2$1DWAbwSaijT9KE0xBaUSC4IAb20;-><init>()V
+HPLandroid/service/contentcapture/-$$Lambda$ContentCaptureService$2$1DWAbwSaijT9KE0xBaUSC4IAb20;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HPLandroid/service/contentcapture/ContentCaptureService$1;->onActivitySnapshot(Ljava/lang/String;Landroid/service/contentcapture/SnapshotData;)V
+HPLandroid/service/contentcapture/ContentCaptureService$1;->onConnected(Landroid/os/IBinder;ZZ)V
+HPLandroid/service/contentcapture/ContentCaptureService$1;->onDisconnected()V
+HPLandroid/service/contentcapture/ContentCaptureService$1;->onSessionFinished(Ljava/lang/String;)V
+HPLandroid/service/contentcapture/ContentCaptureService$1;->onSessionStarted(Landroid/view/contentcapture/ContentCaptureContext;Ljava/lang/String;ILcom/android/internal/os/IResultReceiver;)V
+HPLandroid/service/contentcapture/ContentCaptureService$2;->sendEvents(Landroid/content/pm/ParceledListSlice;)V
+HPLandroid/service/contentcapture/ContentCaptureService;-><init>()V
+HPLandroid/service/contentcapture/ContentCaptureService;->handleIsRightCallerFor(Landroid/view/contentcapture/ContentCaptureEvent;I)Z
+HPLandroid/service/contentcapture/ContentCaptureService;->handleOnCreateSession(Landroid/view/contentcapture/ContentCaptureContext;Ljava/lang/String;ILcom/android/internal/os/IResultReceiver;)V
+HPLandroid/service/contentcapture/ContentCaptureService;->handleSendEvents(ILandroid/content/pm/ParceledListSlice;)V
+HPLandroid/service/contentcapture/ContentCaptureService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
+HPLandroid/service/contentcapture/ContentCaptureService;->onCreate()V
+HPLandroid/service/contentcapture/ContentCaptureService;->setClientState(Lcom/android/internal/os/IResultReceiver;ILandroid/os/IBinder;)V
+HPLandroid/service/contentcapture/ContentCaptureService;->setContentCaptureWhitelist(Ljava/util/List;Ljava/util/List;)V
+HPLandroid/service/contentcapture/ContentCaptureService;->setContentCaptureWhitelist(Ljava/util/Set;Ljava/util/Set;)V
+HPLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;->onActivitySnapshot(Ljava/lang/String;Landroid/service/contentcapture/SnapshotData;)V
+HPLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;->onConnected(Landroid/os/IBinder;)V
+HPLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;->onConnected(Landroid/os/IBinder;ZZ)V
+HPLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;->onDisconnected()V
+HPLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;->onSessionFinished(Ljava/lang/String;)V
+HPLandroid/service/contentcapture/IContentCaptureService$Stub$Proxy;->onSessionStarted(Landroid/view/contentcapture/ContentCaptureContext;Ljava/lang/String;ILcom/android/internal/os/IResultReceiver;)V
+HPLandroid/service/contentcapture/IContentCaptureService$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/service/contentcapture/IContentCaptureService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/contentcapture/IContentCaptureService;
+HPLandroid/service/contentcapture/IContentCaptureService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/service/contentcapture/IContentCaptureServiceCallback$Stub$Proxy;->setContentCaptureWhitelist(Ljava/util/List;Ljava/util/List;)V
+HPLandroid/service/contentcapture/IContentCaptureServiceCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/service/contentcapture/SnapshotData$1;-><init>()V
+HPLandroid/service/contentcapture/SnapshotData$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/contentcapture/SnapshotData;
+HPLandroid/service/contentcapture/SnapshotData$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/service/contentcapture/SnapshotData;->getAssistStructure()Landroid/app/assist/AssistStructure;
+HPLandroid/service/dreams/IDreamManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/service/dreams/IDreamManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/service/dreams/IDreamService$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/service/dreams/IDreamService$Stub$Proxy;->attach(Landroid/os/IBinder;ZLandroid/os/IRemoteCallback;)V
 HPLandroid/service/dreams/IDreamService$Stub$Proxy;->detach()V
 HPLandroid/service/dreams/IDreamService$Stub$Proxy;->wakeUp()V
 HPLandroid/service/dreams/IDreamService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/dreams/IDreamService;
-HPLandroid/service/dreams/IDreamService;->attach(Landroid/os/IBinder;ZLandroid/os/IRemoteCallback;)V
-HPLandroid/service/dreams/IDreamService;->detach()V
-HPLandroid/service/dreams/IDreamService;->wakeUp()V
+HPLandroid/service/dreams/Sandman;->shouldStartDockApp(Landroid/content/Context;Landroid/content/Intent;)Z
 HPLandroid/service/gatekeeper/GateKeeperResponse$1;-><init>()V
 HPLandroid/service/gatekeeper/GateKeeperResponse$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/gatekeeper/GateKeeperResponse;
 HPLandroid/service/gatekeeper/GateKeeperResponse$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/service/gatekeeper/IGateKeeperService$Stub$Proxy;->getSecureUserId(I)J
 HPLandroid/service/gatekeeper/IGateKeeperService$Stub$Proxy;->verifyChallenge(IJ[B[B)Landroid/service/gatekeeper/GateKeeperResponse;
 HPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->addSubscription(Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
 HPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->addSubscriptionDeprecated(Ljava/lang/String;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
@@ -5116,53 +5624,144 @@
 HPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->disconnect(Landroid/service/media/IMediaBrowserServiceCallbacks;)V
 HPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->removeSubscription(Ljava/lang/String;Landroid/os/IBinder;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
 HPLandroid/service/media/IMediaBrowserService$Stub$Proxy;->removeSubscriptionDeprecated(Ljava/lang/String;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HPLandroid/service/media/IMediaBrowserService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/media/IMediaBrowserService;
-HPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub;-><init>()V
 HPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/service/notification/Adjustment$1;-><init>()V
 HPLandroid/service/notification/Adjustment$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/Adjustment;
 HPLandroid/service/notification/Adjustment$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/service/notification/Adjustment;-><init>(Landroid/os/Parcel;)V
+HPLandroid/service/notification/Condition$1;->newArray(I)[Landroid/service/notification/Condition;
+HPLandroid/service/notification/Condition$1;->newArray(I)[Ljava/lang/Object;
+HPLandroid/service/notification/ConditionProviderService;->requestUnbind()V
 HPLandroid/service/notification/IConditionProvider$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/service/notification/IConditionProvider$Stub$Proxy;->onConnected()V
 HPLandroid/service/notification/IConditionProvider$Stub$Proxy;->onSubscribe(Landroid/net/Uri;)V
 HPLandroid/service/notification/IConditionProvider$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/notification/IConditionProvider;
+HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onActionClicked(Ljava/lang/String;Landroid/app/Notification$Action;I)V
 HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onInterruptionFilterChanged(I)V
-HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationEnqueued(Landroid/service/notification/IStatusBarNotificationHolder;)V
+HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onListenerHintsChanged(I)V
+HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationChannelGroupModification(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
+HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationChannelModification(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
+HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationDirectReply(Ljava/lang/String;)V
+HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationEnqueuedWithChannel(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/app/NotificationChannel;)V
+HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationExpansionChanged(Ljava/lang/String;ZZ)V
 HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationPosted(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;)V
 HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationRankingUpdate(Landroid/service/notification/NotificationRankingUpdate;)V
 HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationRemoved(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
+HPLandroid/service/notification/INotificationListener$Stub$Proxy;->onNotificationsSeen(Ljava/util/List;)V
 HPLandroid/service/notification/IStatusBarNotificationHolder$Stub;-><init>()V
 HPLandroid/service/notification/IStatusBarNotificationHolder$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/service/notification/IStatusBarNotificationHolder$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/service/notification/IStatusBarNotificationHolder$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onActionClicked(Ljava/lang/String;Landroid/app/Notification$Action;I)V
+HPLandroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onNotificationExpansionChanged(Ljava/lang/String;ZZ)V
+HPLandroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onNotificationsSeen(Ljava/util/List;)V
+HPLandroid/service/notification/NotificationAssistantService;->adjustNotification(Landroid/service/notification/Adjustment;)V
+HPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onInterruptionFilterChanged(I)V
+HPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onListenerHintsChanged(I)V
 HPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationRankingUpdate(Landroid/service/notification/NotificationRankingUpdate;)V
+HPLandroid/service/notification/NotificationListenerService$Ranking;-><init>()V
+HPLandroid/service/notification/NotificationListenerService$Ranking;->getChannel()Landroid/app/NotificationChannel;
+HPLandroid/service/notification/NotificationListenerService$Ranking;->getImportance()I
 HPLandroid/service/notification/NotificationListenerService$Ranking;->importanceToString(I)Ljava/lang/String;
-HPLandroid/service/notification/NotificationListenerService$RankingMap;->getOrderedKeys()[Ljava/lang/String;
-HPLandroid/service/notification/NotificationListenerService;->getActiveNotifications([Ljava/lang/String;)[Landroid/service/notification/StatusBarNotification;
+HPLandroid/service/notification/NotificationListenerService$Ranking;->populate(Ljava/lang/String;IZIIILjava/lang/CharSequence;Ljava/lang/String;Landroid/app/NotificationChannel;Ljava/util/ArrayList;Ljava/util/ArrayList;ZIZJZLjava/util/ArrayList;Ljava/util/ArrayList;Z)V
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->buildBooleanMapFromBundle(Landroid/os/Bundle;)Landroid/util/ArrayMap;
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->buildChannelsLocked()V
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->buildImportanceLocked()V
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->buildIntMapFromBundle(Landroid/os/Bundle;)Landroid/util/ArrayMap;
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->buildLongMapFromBundle(Landroid/os/Bundle;)Landroid/util/ArrayMap;
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->buildOverridePeopleLocked()V
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->buildRanksLocked()V
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->buildSmartActions()V
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->buildSmartReplies()V
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->buildSnoozeCriteriaLocked()V
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->buildStringMapFromBundle(Landroid/os/Bundle;)Landroid/util/ArrayMap;
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->canBubble(Ljava/lang/String;)Z
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getChannel(Ljava/lang/String;)Landroid/app/NotificationChannel;
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getHidden(Ljava/lang/String;)Z
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getImportance(Ljava/lang/String;)I
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getImportanceExplanation(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getLastAudiblyAlerted(Ljava/lang/String;)J
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getNoisy(Ljava/lang/String;)Z
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getOverrideGroupKey(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getOverridePeople(Ljava/lang/String;)Ljava/util/ArrayList;
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getRank(Ljava/lang/String;)I
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getRanking(Ljava/lang/String;Landroid/service/notification/NotificationListenerService$Ranking;)Z
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getShowBadge(Ljava/lang/String;)Z
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getSmartActions(Ljava/lang/String;)Ljava/util/ArrayList;
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getSmartReplies(Ljava/lang/String;)Ljava/util/ArrayList;
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getSnoozeCriteria(Ljava/lang/String;)Ljava/util/ArrayList;
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getSuppressedVisualEffects(Ljava/lang/String;)I
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getUserSentiment(Ljava/lang/String;)I
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->getVisibilityOverride(Ljava/lang/String;)I
+HPLandroid/service/notification/NotificationListenerService$RankingMap;->isIntercepted(Ljava/lang/String;)Z
+HPLandroid/service/notification/NotificationListenerService;->onInterruptionFilterChanged(I)V
+HPLandroid/service/notification/NotificationListenerService;->onListenerHintsChanged(I)V
 HPLandroid/service/notification/NotificationListenerService;->onNotificationRankingUpdate(Landroid/service/notification/NotificationListenerService$RankingMap;)V
+HPLandroid/service/notification/NotificationRankingUpdate;->getCanBubble()[Z
+HPLandroid/service/notification/NotificationRankingUpdate;->getChannels()Landroid/os/Bundle;
+HPLandroid/service/notification/NotificationRankingUpdate;->getHidden()Landroid/os/Bundle;
+HPLandroid/service/notification/NotificationRankingUpdate;->getImportance()[I
+HPLandroid/service/notification/NotificationRankingUpdate;->getImportanceExplanation()Landroid/os/Bundle;
+HPLandroid/service/notification/NotificationRankingUpdate;->getInterceptedKeys()[Ljava/lang/String;
+HPLandroid/service/notification/NotificationRankingUpdate;->getLastAudiblyAlerted()Landroid/os/Bundle;
+HPLandroid/service/notification/NotificationRankingUpdate;->getNoisy()Landroid/os/Bundle;
+HPLandroid/service/notification/NotificationRankingUpdate;->getOrderedKeys()[Ljava/lang/String;
+HPLandroid/service/notification/NotificationRankingUpdate;->getOverrideGroupKeys()Landroid/os/Bundle;
+HPLandroid/service/notification/NotificationRankingUpdate;->getOverridePeople()Landroid/os/Bundle;
+HPLandroid/service/notification/NotificationRankingUpdate;->getShowBadge()Landroid/os/Bundle;
+HPLandroid/service/notification/NotificationRankingUpdate;->getSmartActions()Landroid/os/Bundle;
+HPLandroid/service/notification/NotificationRankingUpdate;->getSmartReplies()Landroid/os/Bundle;
+HPLandroid/service/notification/NotificationRankingUpdate;->getSnoozeCriteria()Landroid/os/Bundle;
+HPLandroid/service/notification/NotificationRankingUpdate;->getSuppressedVisualEffects()Landroid/os/Bundle;
+HPLandroid/service/notification/NotificationRankingUpdate;->getUserSentiment()Landroid/os/Bundle;
+HPLandroid/service/notification/NotificationRankingUpdate;->getVisibilityOverrides()Landroid/os/Bundle;
+HPLandroid/service/notification/NotificationStats;->getDismissalSurface()I
+HPLandroid/service/notification/NotificationStats;->hasInteracted()Z
+HPLandroid/service/notification/NotificationStats;->hasSeen()Z
 HPLandroid/service/notification/NotificationStats;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/service/notification/NotifyingApp$1;-><init>()V
+HPLandroid/service/notification/ScheduleCalendar;->shouldExitForAlarm(J)Z
+HPLandroid/service/notification/StatusBarNotification;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;IILandroid/app/Notification;Landroid/os/UserHandle;Ljava/lang/String;J)V
 HPLandroid/service/notification/StatusBarNotification;->clone()Landroid/service/notification/StatusBarNotification;
 HPLandroid/service/notification/StatusBarNotification;->cloneLight()Landroid/service/notification/StatusBarNotification;
 HPLandroid/service/notification/StatusBarNotification;->getGroup()Ljava/lang/String;
+HPLandroid/service/notification/StatusBarNotification;->getGroupKey()Ljava/lang/String;
+HPLandroid/service/notification/StatusBarNotification;->getId()I
+HPLandroid/service/notification/StatusBarNotification;->getInitialPid()I
+HPLandroid/service/notification/StatusBarNotification;->getLogMaker()Landroid/metrics/LogMaker;
 HPLandroid/service/notification/StatusBarNotification;->getOpPkg()Ljava/lang/String;
-HPLandroid/service/notification/ZenModeConfig$ZenRule;->isAutomaticActive()Z
-HPLandroid/service/notification/ZenModeConfig$ZenRule;->isTrueOrUnknown()Z
+HPLandroid/service/notification/StatusBarNotification;->getOverrideGroupKey()Ljava/lang/String;
+HPLandroid/service/notification/StatusBarNotification;->getPostTime()J
+HPLandroid/service/notification/StatusBarNotification;->getTag()Ljava/lang/String;
+HPLandroid/service/notification/StatusBarNotification;->isAppGroup()Z
+HPLandroid/service/notification/StatusBarNotification;->isGroup()Z
+HPLandroid/service/notification/StatusBarNotification;->setOverrideGroupKey(Ljava/lang/String;)V
+HPLandroid/service/notification/StatusBarNotification;->shortenTag(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/service/notification/StatusBarNotification;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/service/notification/ZenModeConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/ZenModeConfig;
+HPLandroid/service/notification/ZenModeConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/service/notification/ZenModeConfig;->applyNotificationPolicy(Landroid/app/NotificationManager$Policy;)V
+HPLandroid/service/notification/ZenModeConfig;->areAllZenBehaviorSoundsMuted(Landroid/service/notification/ZenModeConfig;)Z
+HPLandroid/service/oemlock/IOemLockService$Stub$Proxy;->isDeviceOemUnlocked()Z
+HPLandroid/service/oemlock/IOemLockService$Stub$Proxy;->isOemUnlockAllowed()Z
 HPLandroid/service/oemlock/IOemLockService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/oemlock/IOemLockService;
+HPLandroid/service/oemlock/IOemLockService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/service/oemlock/OemLockManager;->isDeviceOemUnlocked()Z
+HPLandroid/service/oemlock/OemLockManager;->isOemUnlockAllowed()Z
 HPLandroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->getMaximumDataBlockSize()J
 HPLandroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->read()[B
 HPLandroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->write([B)I
+HPLandroid/service/persistentdata/IPersistentDataBlockService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/service/persistentdata/IPersistentDataBlockService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/service/persistentdata/PersistentDataBlockManager;->getMaximumDataBlockSize()J
 HPLandroid/service/persistentdata/PersistentDataBlockManager;->read()[B
 HPLandroid/service/persistentdata/PersistentDataBlockManager;->write([B)I
 HPLandroid/service/resolver/IResolverRankerResult$Stub$Proxy;->sendResult(Ljava/util/List;)V
-HPLandroid/service/resolver/IResolverRankerResult;->sendResult(Ljava/util/List;)V
 HPLandroid/service/resolver/IResolverRankerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/service/resolver/IResolverRankerService;->predict(Ljava/util/List;Landroid/service/resolver/IResolverRankerResult;)V
-HPLandroid/service/resolver/IResolverRankerService;->train(Ljava/util/List;I)V
 HPLandroid/service/resolver/ResolverRankerService$ResolverRankerServiceWrapper$1;->run()V
+HPLandroid/service/resolver/ResolverRankerService$ResolverRankerServiceWrapper$2;->run()V
 HPLandroid/service/resolver/ResolverRankerService$ResolverRankerServiceWrapper;->predict(Ljava/util/List;Landroid/service/resolver/IResolverRankerResult;)V
+HPLandroid/service/resolver/ResolverRankerService$ResolverRankerServiceWrapper;->train(Ljava/util/List;I)V
 HPLandroid/service/resolver/ResolverRankerService;-><init>()V
 HPLandroid/service/resolver/ResolverRankerService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
 HPLandroid/service/resolver/ResolverRankerService;->onDestroy()V
@@ -5178,132 +5777,109 @@
 HPLandroid/service/resolver/ResolverTarget;->getTimeSpentScore()F
 HPLandroid/service/resolver/ResolverTarget;->setSelectProbability(F)V
 HPLandroid/service/resolver/ResolverTarget;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/service/settings/suggestions/Suggestion;->getIcon()Landroid/graphics/drawable/Icon;
+HPLandroid/service/settings/suggestions/Suggestion;->getId()Ljava/lang/String;
+HPLandroid/service/settings/suggestions/Suggestion;->getPendingIntent()Landroid/app/PendingIntent;
+HPLandroid/service/settings/suggestions/Suggestion;->getSummary()Ljava/lang/CharSequence;
+HPLandroid/service/settings/suggestions/Suggestion;->getTitle()Ljava/lang/CharSequence;
+HPLandroid/service/textclassifier/IConversationActionsCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/service/textclassifier/IConversationActionsCallback$Stub;-><init>()V
+HPLandroid/service/textclassifier/IConversationActionsCallback$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/service/textclassifier/ITextClassificationCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/service/textclassifier/ITextClassificationCallback$Stub$Proxy;->onSuccess(Landroid/view/textclassifier/TextClassification;)V
+HPLandroid/service/textclassifier/ITextClassificationCallback$Stub;-><init>()V
+HPLandroid/service/textclassifier/ITextClassificationCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/service/textclassifier/ITextClassificationCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onClassifyText(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassification$Request;Landroid/service/textclassifier/ITextClassificationCallback;)V
 HPLandroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onCreateTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassificationSessionId;)V
 HPLandroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onDestroyTextClassificationSession(Landroid/view/textclassifier/TextClassificationSessionId;)V
+HPLandroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onGenerateLinks(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextLinks$Request;Landroid/service/textclassifier/ITextLinksCallback;)V
 HPLandroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onSelectionEvent(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/SelectionEvent;)V
+HPLandroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onSuggestConversationActions(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/ConversationActions$Request;Landroid/service/textclassifier/IConversationActionsCallback;)V
 HPLandroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onSuggestSelection(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextSelection$Request;Landroid/service/textclassifier/ITextSelectionCallback;)V
-HPLandroid/service/textclassifier/ITextClassifierService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/textclassifier/ITextClassifierService;
+HPLandroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onTextClassifierEvent(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassifierEvent;)V
+HPLandroid/service/textclassifier/ITextClassifierService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/service/textclassifier/ITextClassifierService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/service/textclassifier/ITextLinksCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/service/textclassifier/ITextLinksCallback$Stub;-><init>()V
+HPLandroid/service/textclassifier/ITextLinksCallback$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/service/textclassifier/ITextSelectionCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/service/textclassifier/ITextSelectionCallback$Stub$Proxy;->onSuccess(Landroid/view/textclassifier/TextSelection;)V
-HPLandroid/service/textclassifier/ITextSelectionCallback;->onFailure()V
-HPLandroid/service/textclassifier/ITextSelectionCallback;->onSuccess(Landroid/view/textclassifier/TextSelection;)V
+HPLandroid/service/textclassifier/ITextSelectionCallback$Stub;-><init>()V
+HPLandroid/service/textclassifier/ITextSelectionCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/service/textclassifier/ITextSelectionCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/service/textclassifier/TextClassifierService$1$1;->onSuccess(Landroid/view/textclassifier/TextSelection;)V
 HPLandroid/service/textclassifier/TextClassifierService$1$1;->onSuccess(Ljava/lang/Object;)V
 HPLandroid/service/textclassifier/TextClassifierService$1$2;->onSuccess(Landroid/view/textclassifier/TextClassification;)V
 HPLandroid/service/textclassifier/TextClassifierService$1$2;->onSuccess(Ljava/lang/Object;)V
+HPLandroid/service/textclassifier/TextClassifierService$1$3;->onSuccess(Landroid/view/textclassifier/TextLinks;)V
+HPLandroid/service/textclassifier/TextClassifierService$1$3;->onSuccess(Ljava/lang/Object;)V
 HPLandroid/service/textclassifier/TextClassifierService$1;->onClassifyText(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassification$Request;Landroid/service/textclassifier/ITextClassificationCallback;)V
-HPLandroid/service/textclassifier/TextClassifierService$1;->onCreateTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassificationSessionId;)V
-HPLandroid/service/textclassifier/TextClassifierService$1;->onDestroyTextClassificationSession(Landroid/view/textclassifier/TextClassificationSessionId;)V
-HPLandroid/service/textclassifier/TextClassifierService$1;->onSelectionEvent(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/SelectionEvent;)V
+HPLandroid/service/textclassifier/TextClassifierService$1;->onGenerateLinks(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextLinks$Request;Landroid/service/textclassifier/ITextLinksCallback;)V
+HPLandroid/service/textclassifier/TextClassifierService$1;->onSuggestConversationActions(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/ConversationActions$Request;Landroid/service/textclassifier/IConversationActionsCallback;)V
 HPLandroid/service/textclassifier/TextClassifierService$1;->onSuggestSelection(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextSelection$Request;Landroid/service/textclassifier/ITextSelectionCallback;)V
-HPLandroid/service/textclassifier/TextClassifierService;->onClassifyText(Ljava/lang/CharSequence;IILandroid/view/textclassifier/TextClassification$Options;Landroid/os/CancellationSignal;Landroid/service/textclassifier/TextClassifierService$Callback;)V
-HPLandroid/service/textclassifier/TextClassifierService;->onCreateTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassificationSessionId;)V
-HPLandroid/service/textclassifier/TextClassifierService;->onDestroyTextClassificationSession(Landroid/view/textclassifier/TextClassificationSessionId;)V
-HPLandroid/service/textclassifier/TextClassifierService;->onSelectionEvent(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/SelectionEvent;)V
-HPLandroid/service/textclassifier/TextClassifierService;->onSuggestSelection(Ljava/lang/CharSequence;IILandroid/view/textclassifier/TextSelection$Options;Landroid/os/CancellationSignal;Landroid/service/textclassifier/TextClassifierService$Callback;)V
+HPLandroid/service/textclassifier/TextClassifierService$1;->onTextClassifierEvent(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassifierEvent;)V
+HPLandroid/service/textclassifier/TextClassifierService;-><init>()V
+HPLandroid/service/textclassifier/TextClassifierService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
+HPLandroid/service/textclassifier/TextClassifierService;->onTextClassifierEvent(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassifierEvent;)V
 HPLandroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;->getLocale()Ljava/lang/String;
+HPLandroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;->onCancel()V
 HPLandroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;->onClose()V
 HPLandroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;->onGetSentenceSuggestionsMultiple([Landroid/view/textservice/TextInfo;I)V
 HPLandroid/service/textservice/SpellCheckerService$SentenceLevelAdapter;->getSplitWords(Landroid/view/textservice/TextInfo;)Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter$SentenceTextInfoParams;
 HPLandroid/service/textservice/SpellCheckerService$SentenceLevelAdapter;->reconstructSuggestions(Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter$SentenceTextInfoParams;[Landroid/view/textservice/SuggestionsInfo;)Landroid/view/textservice/SentenceSuggestionsInfo;
 HPLandroid/service/textservice/SpellCheckerService$Session;-><init>()V
 HPLandroid/service/textservice/SpellCheckerService$Session;->getLocale()Ljava/lang/String;
+HPLandroid/service/textservice/SpellCheckerService$Session;->onCancel()V
 HPLandroid/service/textservice/SpellCheckerService$Session;->onClose()V
-HPLandroid/service/textservice/SpellCheckerService$Session;->onCreate()V
 HPLandroid/service/textservice/SpellCheckerService$Session;->onGetSentenceSuggestionsMultiple([Landroid/view/textservice/TextInfo;I)[Landroid/view/textservice/SentenceSuggestionsInfo;
-HPLandroid/service/textservice/SpellCheckerService$Session;->onGetSuggestions(Landroid/view/textservice/TextInfo;I)Landroid/view/textservice/SuggestionsInfo;
 HPLandroid/service/textservice/SpellCheckerService$Session;->onGetSuggestionsMultiple([Landroid/view/textservice/TextInfo;IZ)[Landroid/view/textservice/SuggestionsInfo;
 HPLandroid/service/textservice/SpellCheckerService$SpellCheckerServiceBinder;->getISpellCheckerSession(Ljava/lang/String;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;Lcom/android/internal/textservice/ISpellCheckerServiceCallback;)V
 HPLandroid/service/textservice/SpellCheckerService;-><init>()V
-HPLandroid/service/textservice/SpellCheckerService;->createSession()Landroid/service/textservice/SpellCheckerService$Session;
 HPLandroid/service/textservice/SpellCheckerService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
 HPLandroid/service/trust/ITrustAgentService$Stub$Proxy;->onConfigure(Ljava/util/List;Landroid/os/IBinder;)V
 HPLandroid/service/trust/ITrustAgentService$Stub$Proxy;->onDeviceLocked()V
 HPLandroid/service/trust/ITrustAgentService$Stub$Proxy;->onDeviceUnlocked()V
 HPLandroid/service/trust/ITrustAgentService$Stub$Proxy;->onUnlockAttempt(Z)V
+HPLandroid/service/trust/ITrustAgentService$Stub$Proxy;->onUnlockLockout(I)V
 HPLandroid/service/trust/ITrustAgentService$Stub$Proxy;->setCallback(Landroid/service/trust/ITrustAgentServiceCallback;)V
 HPLandroid/service/trust/ITrustAgentService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/trust/ITrustAgentService;
-HPLandroid/service/trust/ITrustAgentService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/service/trust/ITrustAgentService;->onConfigure(Ljava/util/List;Landroid/os/IBinder;)V
-HPLandroid/service/trust/ITrustAgentService;->onDeviceLocked()V
-HPLandroid/service/trust/ITrustAgentService;->onDeviceUnlocked()V
-HPLandroid/service/trust/ITrustAgentService;->onEscrowTokenAdded([BJLandroid/os/UserHandle;)V
-HPLandroid/service/trust/ITrustAgentService;->onEscrowTokenRemoved(JZ)V
-HPLandroid/service/trust/ITrustAgentService;->onTokenStateReceived(JI)V
-HPLandroid/service/trust/ITrustAgentService;->onTrustTimeout()V
-HPLandroid/service/trust/ITrustAgentService;->onUnlockAttempt(Z)V
-HPLandroid/service/trust/ITrustAgentService;->onUnlockLockout(I)V
-HPLandroid/service/trust/ITrustAgentService;->setCallback(Landroid/service/trust/ITrustAgentServiceCallback;)V
 HPLandroid/service/trust/ITrustAgentServiceCallback$Stub;-><init>()V
 HPLandroid/service/trust/ITrustAgentServiceCallback$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/service/trust/ITrustAgentServiceCallback;->addEscrowToken([BI)V
-HPLandroid/service/trust/ITrustAgentServiceCallback;->grantTrust(Ljava/lang/CharSequence;JI)V
-HPLandroid/service/trust/ITrustAgentServiceCallback;->isEscrowTokenActive(JI)V
-HPLandroid/service/trust/ITrustAgentServiceCallback;->onConfigureCompleted(ZLandroid/os/IBinder;)V
-HPLandroid/service/trust/ITrustAgentServiceCallback;->removeEscrowToken(JI)V
-HPLandroid/service/trust/ITrustAgentServiceCallback;->revokeTrust()V
-HPLandroid/service/trust/ITrustAgentServiceCallback;->setManagingTrust(Z)V
-HPLandroid/service/trust/ITrustAgentServiceCallback;->showKeyguardErrorMessage(Ljava/lang/CharSequence;)V
-HPLandroid/service/trust/ITrustAgentServiceCallback;->unlockUserWithToken(J[BI)V
-HPLandroid/service/trust/TrustAgentService$1;->handleMessage(Landroid/os/Message;)V
-HPLandroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onConfigure(Ljava/util/List;Landroid/os/IBinder;)V
+HPLandroid/service/trust/ITrustAgentServiceCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onDeviceLocked()V
-HPLandroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onDeviceUnlocked()V
 HPLandroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onUnlockAttempt(Z)V
-HPLandroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->setCallback(Landroid/service/trust/ITrustAgentServiceCallback;)V
-HPLandroid/service/trust/TrustAgentService;-><init>()V
-HPLandroid/service/trust/TrustAgentService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
 HPLandroid/service/voice/AlwaysOnHotwordDetector$EventPayload;->getCaptureAudioFormat()Landroid/media/AudioFormat;
 HPLandroid/service/voice/AlwaysOnHotwordDetector$EventPayload;->getCaptureSession()Ljava/lang/Integer;
 HPLandroid/service/voice/AlwaysOnHotwordDetector$EventPayload;->getTriggerAudio()[B
 HPLandroid/service/voice/AlwaysOnHotwordDetector$SoundTriggerListener;->onKeyphraseDetected(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;)V
 HPLandroid/service/voice/AlwaysOnHotwordDetector$SoundTriggerListener;->onRecognitionPaused()V
 HPLandroid/service/voice/AlwaysOnHotwordDetector$SoundTriggerListener;->onRecognitionResumed()V
-HPLandroid/service/voice/AlwaysOnHotwordDetector;->getSupportedRecognitionModes()I
-HPLandroid/service/voice/AlwaysOnHotwordDetector;->getSupportedRecognitionModesLocked()I
-HPLandroid/service/voice/AlwaysOnHotwordDetector;->onSoundModelsChanged()V
+HPLandroid/service/voice/AlwaysOnHotwordDetector;->stopRecognition()Z
 HPLandroid/service/voice/AlwaysOnHotwordDetector;->stopRecognitionLocked()I
 HPLandroid/service/voice/IVoiceInteractionService$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/service/voice/IVoiceInteractionService$Stub$Proxy;->ready()V
-HPLandroid/service/voice/IVoiceInteractionService$Stub$Proxy;->soundModelsChanged()V
+HPLandroid/service/voice/IVoiceInteractionService$Stub$Proxy;->shutdown()V
 HPLandroid/service/voice/IVoiceInteractionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/voice/IVoiceInteractionService;
 HPLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->closeSystemDialogs()V
+HPLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->destroy()V
 HPLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->handleAssist(Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;II)V
 HPLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->handleScreenshot(Landroid/graphics/Bitmap;)V
 HPLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->hide()V
 HPLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->onLockscreenShown()V
 HPLandroid/service/voice/IVoiceInteractionSession$Stub$Proxy;->show(Landroid/os/Bundle;ILcom/android/internal/app/IVoiceInteractionSessionShowCallback;)V
 HPLandroid/service/voice/IVoiceInteractionSession$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/service/voice/IVoiceInteractionSession$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/voice/IVoiceInteractionSession;
 HPLandroid/service/voice/IVoiceInteractionSession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/service/voice/IVoiceInteractionSession;->closeSystemDialogs()V
-HPLandroid/service/voice/IVoiceInteractionSession;->destroy()V
-HPLandroid/service/voice/IVoiceInteractionSession;->handleAssist(Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;II)V
-HPLandroid/service/voice/IVoiceInteractionSession;->handleScreenshot(Landroid/graphics/Bitmap;)V
-HPLandroid/service/voice/IVoiceInteractionSession;->hide()V
-HPLandroid/service/voice/IVoiceInteractionSession;->onLockscreenShown()V
-HPLandroid/service/voice/IVoiceInteractionSession;->show(Landroid/os/Bundle;ILcom/android/internal/app/IVoiceInteractionSessionShowCallback;)V
-HPLandroid/service/voice/IVoiceInteractionSession;->taskFinished(Landroid/content/Intent;I)V
-HPLandroid/service/voice/IVoiceInteractionSession;->taskStarted(Landroid/content/Intent;I)V
 HPLandroid/service/voice/IVoiceInteractionSessionService$Stub$Proxy;->newSession(Landroid/os/IBinder;Landroid/os/Bundle;I)V
 HPLandroid/service/voice/IVoiceInteractionSessionService$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/service/voice/IVoiceInteractionSessionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/voice/IVoiceInteractionSessionService;
 HPLandroid/service/voice/IVoiceInteractionSessionService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/service/voice/IVoiceInteractionSessionService;->newSession(Landroid/os/IBinder;Landroid/os/Bundle;I)V
-HPLandroid/service/voice/VoiceInteractionService$1;->soundModelsChanged()V
-HPLandroid/service/voice/VoiceInteractionService;->onSoundModelsChangedInternal()V
 HPLandroid/service/voice/VoiceInteractionService;->showSession(Landroid/os/Bundle;I)V
 HPLandroid/service/voice/VoiceInteractionServiceInfo;-><init>(Landroid/content/pm/PackageManager;Landroid/content/ComponentName;I)V
-HPLandroid/service/voice/VoiceInteractionServiceInfo;-><init>(Landroid/content/pm/PackageManager;Landroid/content/pm/ServiceInfo;)V
-HPLandroid/service/voice/VoiceInteractionServiceInfo;->getParseError()Ljava/lang/String;
-HPLandroid/service/voice/VoiceInteractionServiceInfo;->getRecognitionService()Ljava/lang/String;
-HPLandroid/service/voice/VoiceInteractionServiceInfo;->getServiceInfo()Landroid/content/pm/ServiceInfo;
 HPLandroid/service/voice/VoiceInteractionServiceInfo;->getServiceInfoOrThrow(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;
 HPLandroid/service/voice/VoiceInteractionServiceInfo;->getSessionService()Ljava/lang/String;
-HPLandroid/service/voice/VoiceInteractionServiceInfo;->getSettingsActivity()Ljava/lang/String;
-HPLandroid/service/voice/VoiceInteractionServiceInfo;->getSupportsAssist()Z
 HPLandroid/service/voice/VoiceInteractionServiceInfo;->getSupportsLaunchFromKeyguard()Z
 HPLandroid/service/voice/VoiceInteractionSession$2$1;->run()V
 HPLandroid/service/voice/VoiceInteractionSession$2;->closeSystemDialogs()V
@@ -5319,7 +5895,6 @@
 HPLandroid/service/voice/VoiceInteractionSession;->doCreate(Lcom/android/internal/app/IVoiceInteractionManagerService;Landroid/os/IBinder;)V
 HPLandroid/service/voice/VoiceInteractionSession;->doHide()V
 HPLandroid/service/voice/VoiceInteractionSession;->doOnHandleAssist(Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Ljava/lang/Throwable;Landroid/app/assist/AssistContent;)V
-HPLandroid/service/voice/VoiceInteractionSession;->doOnHandleAssistSecondary(Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Ljava/lang/Throwable;Landroid/app/assist/AssistContent;II)V
 HPLandroid/service/voice/VoiceInteractionSession;->doShow(Landroid/os/Bundle;ILcom/android/internal/app/IVoiceInteractionSessionShowCallback;)V
 HPLandroid/service/voice/VoiceInteractionSession;->ensureWindowAdded()V
 HPLandroid/service/voice/VoiceInteractionSession;->ensureWindowCreated()V
@@ -5332,13 +5907,12 @@
 HPLandroid/service/voice/VoiceInteractionSession;->onCloseSystemDialogs()V
 HPLandroid/service/voice/VoiceInteractionSession;->onConfigurationChanged(Landroid/content/res/Configuration;)V
 HPLandroid/service/voice/VoiceInteractionSession;->onCreate()V
-HPLandroid/service/voice/VoiceInteractionSession;->onHandleAssistSecondary(Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;II)V
 HPLandroid/service/voice/VoiceInteractionSession;->onLockscreenShown()V
 HPLandroid/service/voice/VoiceInteractionSession;->onPrepareShow(Landroid/os/Bundle;I)V
 HPLandroid/service/voice/VoiceInteractionSession;->onTrimMemory(I)V
-HPLandroid/service/voice/VoiceInteractionSession;->setContentView(Landroid/view/View;)V
 HPLandroid/service/voice/VoiceInteractionSession;->setDisabledShowContext(I)V
 HPLandroid/service/voice/VoiceInteractionSession;->setUiEnabled(Z)V
+HPLandroid/service/voice/VoiceInteractionSession;->startAssistantActivity(Landroid/content/Intent;)V
 HPLandroid/service/voice/VoiceInteractionSessionService$1;->newSession(Landroid/os/IBinder;Landroid/os/Bundle;I)V
 HPLandroid/service/voice/VoiceInteractionSessionService$2;->executeMessage(Landroid/os/Message;)V
 HPLandroid/service/voice/VoiceInteractionSessionService;-><init>()V
@@ -5346,34 +5920,17 @@
 HPLandroid/service/voice/VoiceInteractionSessionService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
 HPLandroid/service/voice/VoiceInteractionSessionService;->onConfigurationChanged(Landroid/content/res/Configuration;)V
 HPLandroid/service/voice/VoiceInteractionSessionService;->onCreate()V
-HPLandroid/service/voice/VoiceInteractionSessionService;->onNewSession(Landroid/os/Bundle;)Landroid/service/voice/VoiceInteractionSession;
 HPLandroid/service/voice/VoiceInteractionSessionService;->onTrimMemory(I)V
-HPLandroid/service/vr/IPersistentVrStateCallbacks$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLandroid/service/wallpaper/WallpaperService$Engine$2;->dispatchWallpaperCommand(Ljava/lang/String;IIILandroid/os/Bundle;Z)V
-HPLandroid/service/wallpaper/WallpaperService$Engine$3;->onDisplayChanged(I)V
-HPLandroid/service/wallpaper/WallpaperService$Engine$WallpaperInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;I)V
-HPLandroid/service/wallpaper/WallpaperService$Engine;->dispatchPointer(Landroid/view/MotionEvent;)V
-HPLandroid/service/wallpaper/WallpaperService$Engine;->doCommand(Landroid/service/wallpaper/WallpaperService$WallpaperCommand;)V
-HPLandroid/service/wallpaper/WallpaperService$Engine;->onCommand(Ljava/lang/String;IIILandroid/os/Bundle;Z)Landroid/os/Bundle;
-HPLandroid/speech/tts/AudioPlaybackHandler;->quit()V
-HPLandroid/speech/tts/AudioPlaybackHandler;->stopForApp(Ljava/lang/Object;)V
+HPLandroid/service/vr/IVrManager$Stub$Proxy;->getVrModeState()Z
+HPLandroid/service/vr/IVrManager$Stub$Proxy;->registerListener(Landroid/service/vr/IVrStateCallbacks;)V
+HPLandroid/service/vr/IVrManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/speech/tts/ITextToSpeechCallback$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/speech/tts/ITextToSpeechService$Stub$Proxy;->getClientDefaultLanguage()[Ljava/lang/String;
 HPLandroid/speech/tts/ITextToSpeechService$Stub$Proxy;->getDefaultVoiceNameFor(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/speech/tts/ITextToSpeechService$Stub$Proxy;->getVoices()Ljava/util/List;
-HPLandroid/speech/tts/ITextToSpeechService$Stub$Proxy;->isLanguageAvailable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-HPLandroid/speech/tts/ITextToSpeechService$Stub$Proxy;->loadVoice(Landroid/os/IBinder;Ljava/lang/String;)I
 HPLandroid/speech/tts/ITextToSpeechService$Stub$Proxy;->setCallback(Landroid/os/IBinder;Landroid/speech/tts/ITextToSpeechCallback;)V
 HPLandroid/speech/tts/ITextToSpeechService$Stub$Proxy;->stop(Landroid/os/IBinder;)I
-HPLandroid/speech/tts/TextToSpeech$10;->run(Landroid/speech/tts/ITextToSpeechService;)Ljava/lang/Object;
-HPLandroid/speech/tts/TextToSpeech$10;->run(Landroid/speech/tts/ITextToSpeechService;)Ljava/util/Locale;
-HPLandroid/speech/tts/TextToSpeech$16;->run(Landroid/speech/tts/ITextToSpeechService;)Ljava/lang/Integer;
-HPLandroid/speech/tts/TextToSpeech$16;->run(Landroid/speech/tts/ITextToSpeechService;)Ljava/lang/Object;
 HPLandroid/speech/tts/TextToSpeech$1;->run(Landroid/speech/tts/ITextToSpeechService;)Ljava/lang/Object;
 HPLandroid/speech/tts/TextToSpeech$1;->run(Landroid/speech/tts/ITextToSpeechService;)Ljava/lang/Void;
-HPLandroid/speech/tts/TextToSpeech$9;->run(Landroid/speech/tts/ITextToSpeechService;)Ljava/lang/Integer;
-HPLandroid/speech/tts/TextToSpeech$9;->run(Landroid/speech/tts/ITextToSpeechService;)Ljava/lang/Object;
-HPLandroid/speech/tts/TextToSpeech$Action;->run(Landroid/speech/tts/ITextToSpeechService;)Ljava/lang/Object;
 HPLandroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
 HPLandroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;->doInBackground([Ljava/lang/Void;)Ljava/lang/Integer;
 HPLandroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;->onPostExecute(Ljava/lang/Integer;)V
@@ -5381,119 +5938,62 @@
 HPLandroid/speech/tts/TextToSpeech$Connection;->clearServiceConnection()Z
 HPLandroid/speech/tts/TextToSpeech$Connection;->disconnect()V
 HPLandroid/speech/tts/TextToSpeech$Connection;->getCallerIdentity()Landroid/os/IBinder;
-HPLandroid/speech/tts/TextToSpeech$Connection;->isEstablished()Z
 HPLandroid/speech/tts/TextToSpeech$Connection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
 HPLandroid/speech/tts/TextToSpeech$Connection;->runAction(Landroid/speech/tts/TextToSpeech$Action;Ljava/lang/Object;Ljava/lang/String;ZZ)Ljava/lang/Object;
-HPLandroid/speech/tts/TextToSpeech;-><init>(Landroid/content/Context;Landroid/speech/tts/TextToSpeech$OnInitListener;)V
 HPLandroid/speech/tts/TextToSpeech;-><init>(Landroid/content/Context;Landroid/speech/tts/TextToSpeech$OnInitListener;Ljava/lang/String;)V
 HPLandroid/speech/tts/TextToSpeech;-><init>(Landroid/content/Context;Landroid/speech/tts/TextToSpeech$OnInitListener;Ljava/lang/String;Ljava/lang/String;Z)V
 HPLandroid/speech/tts/TextToSpeech;->connectToEngine(Ljava/lang/String;)Z
 HPLandroid/speech/tts/TextToSpeech;->dispatchOnInit(I)V
-HPLandroid/speech/tts/TextToSpeech;->getDefaultEngine()Ljava/lang/String;
-HPLandroid/speech/tts/TextToSpeech;->getLanguage()Ljava/util/Locale;
-HPLandroid/speech/tts/TextToSpeech;->getVoice(Landroid/speech/tts/ITextToSpeechService;Ljava/lang/String;)Landroid/speech/tts/Voice;
 HPLandroid/speech/tts/TextToSpeech;->initTts()I
-HPLandroid/speech/tts/TextToSpeech;->isLanguageAvailable(Ljava/util/Locale;)I
 HPLandroid/speech/tts/TextToSpeech;->runAction(Landroid/speech/tts/TextToSpeech$Action;Ljava/lang/Object;Ljava/lang/String;ZZ)Ljava/lang/Object;
-HPLandroid/speech/tts/TextToSpeech;->setLanguage(Ljava/util/Locale;)I
-HPLandroid/speech/tts/TextToSpeech;->setOnUtteranceProgressListener(Landroid/speech/tts/UtteranceProgressListener;)I
-HPLandroid/speech/tts/TextToSpeech;->setSpeechRate(F)I
 HPLandroid/speech/tts/TextToSpeech;->shutdown()V
-HPLandroid/speech/tts/TextToSpeechService$1;->getVoices()Ljava/util/List;
-HPLandroid/speech/tts/TextToSpeechService$1;->loadVoice(Landroid/os/IBinder;Ljava/lang/String;)I
-HPLandroid/speech/tts/TextToSpeechService$1;->stop(Landroid/os/IBinder;)I
-HPLandroid/speech/tts/TextToSpeechService$CallbackMap;->kill()V
-HPLandroid/speech/tts/TextToSpeechService$CallbackMap;->onCallbackDied(Landroid/os/IInterface;Ljava/lang/Object;)V
-HPLandroid/speech/tts/TextToSpeechService$CallbackMap;->onCallbackDied(Landroid/speech/tts/ITextToSpeechCallback;Ljava/lang/Object;)V
-HPLandroid/speech/tts/TextToSpeechService$LoadVoiceItem;->isValid()Z
-HPLandroid/speech/tts/TextToSpeechService$LoadVoiceItem;->playImpl()V
-HPLandroid/speech/tts/TextToSpeechService$SpeechItem;->getCallerIdentity()Ljava/lang/Object;
-HPLandroid/speech/tts/TextToSpeechService$SpeechItem;->isValid()Z
-HPLandroid/speech/tts/TextToSpeechService$SpeechItem;->play()V
-HPLandroid/speech/tts/TextToSpeechService$SpeechItem;->playImpl()V
-HPLandroid/speech/tts/TextToSpeechService$SpeechItem;->stopImpl()V
-HPLandroid/speech/tts/TextToSpeechService$SynthHandler$1;->run()V
-HPLandroid/speech/tts/TextToSpeechService$SynthHandler$2;->run()V
-HPLandroid/speech/tts/TextToSpeechService$SynthHandler;->endFlushingSpeechItems(Ljava/lang/Object;)V
-HPLandroid/speech/tts/TextToSpeechService$SynthHandler;->enqueueSpeechItem(ILandroid/speech/tts/TextToSpeechService$SpeechItem;)I
-HPLandroid/speech/tts/TextToSpeechService$SynthHandler;->isFlushed(Landroid/speech/tts/TextToSpeechService$SpeechItem;)Z
-HPLandroid/speech/tts/TextToSpeechService$SynthHandler;->maybeRemoveCurrentSpeechItem(Ljava/lang/Object;)Landroid/speech/tts/TextToSpeechService$SpeechItem;
-HPLandroid/speech/tts/TextToSpeechService$SynthHandler;->quit()V
-HPLandroid/speech/tts/TextToSpeechService$SynthHandler;->removeCurrentSpeechItem()Landroid/speech/tts/TextToSpeechService$SpeechItem;
-HPLandroid/speech/tts/TextToSpeechService$SynthHandler;->setCurrentSpeechItem(Landroid/speech/tts/TextToSpeechService$SpeechItem;)Z
-HPLandroid/speech/tts/TextToSpeechService$SynthHandler;->startFlushingSpeechItems(Ljava/lang/Object;)V
-HPLandroid/speech/tts/TextToSpeechService$SynthHandler;->stopForApp(Ljava/lang/Object;)I
-HPLandroid/speech/tts/TextToSpeechService;->onDestroy()V
-HPLandroid/speech/tts/TtsEngines$EngineInfoComparator;-><init>()V
-HPLandroid/speech/tts/TtsEngines;-><init>(Landroid/content/Context;)V
-HPLandroid/speech/tts/TtsEngines;->getDefaultEngine()Ljava/lang/String;
-HPLandroid/speech/tts/TtsEngines;->getEngineInfo(Landroid/content/pm/ResolveInfo;Landroid/content/pm/PackageManager;)Landroid/speech/tts/TextToSpeech$EngineInfo;
 HPLandroid/speech/tts/TtsEngines;->getEngineInfo(Ljava/lang/String;)Landroid/speech/tts/TextToSpeech$EngineInfo;
-HPLandroid/speech/tts/TtsEngines;->getEngines()Ljava/util/List;
-HPLandroid/speech/tts/TtsEngines;->getHighestRankedEngineName()Ljava/lang/String;
 HPLandroid/speech/tts/TtsEngines;->isEngineInstalled(Ljava/lang/String;)Z
 HPLandroid/speech/tts/UtteranceProgressListener;-><init>()V
-HPLandroid/speech/tts/UtteranceProgressListener;->onDone(Ljava/lang/String;)V
-HPLandroid/speech/tts/UtteranceProgressListener;->onError(Ljava/lang/String;)V
-HPLandroid/speech/tts/UtteranceProgressListener;->onStart(Ljava/lang/String;)V
-HPLandroid/speech/tts/Voice$1;-><init>()V
-HPLandroid/speech/tts/Voice$1;->createFromParcel(Landroid/os/Parcel;)Landroid/speech/tts/Voice;
-HPLandroid/speech/tts/Voice$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/speech/tts/Voice;-><init>(Landroid/os/Parcel;)V
-HPLandroid/speech/tts/Voice;-><init>(Ljava/lang/String;Ljava/util/Locale;IIZLjava/util/Set;)V
-HPLandroid/speech/tts/Voice;->getLocale()Ljava/util/Locale;
-HPLandroid/speech/tts/Voice;->getName()Ljava/lang/String;
-HPLandroid/speech/tts/Voice;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/system/ErrnoException;->rethrowAsSocketException()Ljava/net/SocketException;
-HPLandroid/system/GaiException;->getMessage()Ljava/lang/String;
-HPLandroid/system/NetlinkSocketAddress;-><init>(II)V
-HPLandroid/system/Os;->bind(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
-HPLandroid/system/Os;->connect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
-HPLandroid/system/Os;->connect(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
+HPLandroid/stats/devicepolicy/nano/StringList;-><init>()V
+HPLandroid/stats/devicepolicy/nano/StringList;->computeSerializedSize()I
+HPLandroid/stats/devicepolicy/nano/StringList;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLandroid/sysprop/-$$Lambda$SetupWizardProperties$0Kz3pPj1bN4LsGiOMvxPbgDHtMI;-><init>()V
+HPLandroid/sysprop/-$$Lambda$SetupWizardProperties$0Kz3pPj1bN4LsGiOMvxPbgDHtMI;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/sysprop/DisplayProperties;->debug_force_msaa()Ljava/util/Optional;
+HPLandroid/sysprop/SetupWizardProperties;->esim_cid_ignore()Ljava/util/List;
+HPLandroid/sysprop/SetupWizardProperties;->theme()Ljava/util/Optional;
+HPLandroid/sysprop/SetupWizardProperties;->tryParseList(Ljava/util/function/Function;Ljava/lang/String;)Ljava/util/List;
+HPLandroid/system/Os;->dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
 HPLandroid/system/Os;->fsync(Ljava/io/FileDescriptor;)V
-HPLandroid/system/Os;->lstat(Ljava/lang/String;)Landroid/system/StructStat;
-HPLandroid/system/Os;->munlock(JJ)V
-HPLandroid/system/Os;->munmap(JJ)V
-HPLandroid/system/Os;->read(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I
-HPLandroid/system/Os;->read(Ljava/io/FileDescriptor;[BII)I
+HPLandroid/system/Os;->ftruncate(Ljava/io/FileDescriptor;J)V
+HPLandroid/system/Os;->pipe2(I)[Ljava/io/FileDescriptor;
+HPLandroid/system/Os;->posix_fallocate(Ljava/io/FileDescriptor;JJ)V
+HPLandroid/system/Os;->pread(Ljava/io/FileDescriptor;[BIIJ)I
 HPLandroid/system/Os;->readlink(Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/system/Os;->rename(Ljava/lang/String;Ljava/lang/String;)V
-HPLandroid/system/Os;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I
-HPLandroid/system/Os;->setsockoptIfreq(Ljava/io/FileDescriptor;IILjava/lang/String;)V
-HPLandroid/system/Os;->setsockoptInt(Ljava/io/FileDescriptor;III)V
-HPLandroid/system/Os;->shutdown(Ljava/io/FileDescriptor;I)V
+HPLandroid/system/Os;->sendfile(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/system/Int64Ref;J)J
 HPLandroid/system/Os;->socketpair(IIILjava/io/FileDescriptor;Ljava/io/FileDescriptor;)V
-HPLandroid/system/Os;->write(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I
+HPLandroid/system/Os;->strsignal(I)Ljava/lang/String;
 HPLandroid/system/Os;->write(Ljava/io/FileDescriptor;[BII)I
-HPLandroid/system/OsConstants;->gaiName(I)Ljava/lang/String;
-HPLandroid/system/PacketSocketAddress;-><init>(I[B)V
-HPLandroid/system/PacketSocketAddress;-><init>(SI)V
-HPLandroid/telecom/-$$Lambda$cyYWqCYT05eM23eLVm4oQ5DrYjw;-><init>()V
-HPLandroid/telecom/Call$1;->run()V
-HPLandroid/telecom/Call$4;->run()V
-HPLandroid/telecom/Call$6;->run()V
+HPLandroid/telecom/-$$Lambda$cyYWqCYT05eM23eLVm4oQ5DrYjw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/telecom/Call$10;->run()V
+HPLandroid/telecom/Call$5;->run()V
 HPLandroid/telecom/Call$8;->run()V
+HPLandroid/telecom/Call$9;->run()V
 HPLandroid/telecom/Call$Callback;->onCallDestroyed(Landroid/telecom/Call;)V
-HPLandroid/telecom/Call$Callback;->onStateChanged(Landroid/telecom/Call;I)V
-HPLandroid/telecom/Call$Callback;->onVideoCallChanged(Landroid/telecom/Call;Landroid/telecom/InCallService$VideoCall;)V
-HPLandroid/telecom/Call$Details;->equals(Ljava/lang/Object;)Z
-HPLandroid/telecom/Call$Details;->getConnectTimeMillis()J
-HPLandroid/telecom/Call$Details;->getStatusHints()Landroid/telecom/StatusHints;
+HPLandroid/telecom/Call$Callback;->onCannedTextResponsesLoaded(Landroid/telecom/Call;Ljava/util/List;)V
+HPLandroid/telecom/Call$Details;->toString()Ljava/lang/String;
 HPLandroid/telecom/Call;->answer(I)V
-HPLandroid/telecom/Call;->areBundlesEqual(Landroid/os/Bundle;Landroid/os/Bundle;)Z
 HPLandroid/telecom/Call;->disconnect()V
 HPLandroid/telecom/Call;->fireCallDestroyed()V
-HPLandroid/telecom/Call;->fireStateChanged(I)V
-HPLandroid/telecom/Call;->getCannedTextResponses()Ljava/util/List;
-HPLandroid/telecom/Call;->isRttActive()Z
+HPLandroid/telecom/Call;->fireConferenceableCallsChanged()V
+HPLandroid/telecom/Call;->fireOnConnectionEvent(Ljava/lang/String;Landroid/os/Bundle;)V
+HPLandroid/telecom/Call;->hold()V
 HPLandroid/telecom/Call;->playDtmfTone(C)V
+HPLandroid/telecom/Call;->reject(ZLjava/lang/String;)V
+HPLandroid/telecom/Call;->stateToString(I)Ljava/lang/String;
 HPLandroid/telecom/Call;->stopDtmfTone()V
+HPLandroid/telecom/Call;->toString()Ljava/lang/String;
+HPLandroid/telecom/Call;->unhold()V
 HPLandroid/telecom/CallAudioState;-><init>(Landroid/telecom/CallAudioState;)V
-HPLandroid/telecom/CallAudioState;->getSupportedRouteMask()I
-HPLandroid/telecom/CallAudioState;->isMuted()Z
-HPLandroid/telecom/CallAudioState;->toString()Ljava/lang/String;
+HPLandroid/telecom/CallAudioState;->getActiveBluetoothDevice()Landroid/bluetooth/BluetoothDevice;
 HPLandroid/telecom/CallAudioState;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/telecom/CallbackRecord;->getHandler()Landroid/os/Handler;
 HPLandroid/telecom/Conference$Listener;-><init>()V
 HPLandroid/telecom/Connection$Listener;-><init>()V
 HPLandroid/telecom/Connection$Listener;->onConferenceablesChanged(Landroid/telecom/Connection;Ljava/util/List;)V
@@ -5505,24 +6005,9 @@
 HPLandroid/telecom/Connection$Listener;->onExtrasRemoved(Landroid/telecom/Connection;Ljava/util/List;)V
 HPLandroid/telecom/Connection$Listener;->onPhoneAccountChanged(Landroid/telecom/Connection;Landroid/telecom/PhoneAccountHandle;)V
 HPLandroid/telecom/Connection$Listener;->onPostDialChar(Landroid/telecom/Connection;C)V
+HPLandroid/telecom/Connection$Listener;->onRingbackRequested(Landroid/telecom/Connection;Z)V
 HPLandroid/telecom/Connection$Listener;->onStateChanged(Landroid/telecom/Connection;I)V
 HPLandroid/telecom/Connection$Listener;->onStatusHintsChanged(Landroid/telecom/Connection;Landroid/telecom/StatusHints;)V
-HPLandroid/telecom/Connection$VideoProvider$VideoProviderBinder;->addVideoCallback(Landroid/os/IBinder;)V
-HPLandroid/telecom/Connection$VideoProvider$VideoProviderBinder;->removeVideoCallback(Landroid/os/IBinder;)V
-HPLandroid/telecom/Connection$VideoProvider$VideoProviderHandler;->handleMessage(Landroid/os/Message;)V
-HPLandroid/telecom/Connection$VideoProvider;-><init>()V
-HPLandroid/telecom/Connection$VideoProvider;-><init>(Landroid/os/Looper;)V
-HPLandroid/telecom/Connection$VideoProvider;->onRequestCameraCapabilities()V
-HPLandroid/telecom/Connection$VideoProvider;->onRequestConnectionDataUsage()V
-HPLandroid/telecom/Connection$VideoProvider;->onSendSessionModifyRequest(Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-HPLandroid/telecom/Connection$VideoProvider;->onSendSessionModifyResponse(Landroid/telecom/VideoProfile;)V
-HPLandroid/telecom/Connection$VideoProvider;->onSetCamera(Ljava/lang/String;)V
-HPLandroid/telecom/Connection$VideoProvider;->onSetDeviceOrientation(I)V
-HPLandroid/telecom/Connection$VideoProvider;->onSetDisplaySurface(Landroid/view/Surface;)V
-HPLandroid/telecom/Connection$VideoProvider;->onSetPauseImage(Landroid/net/Uri;)V
-HPLandroid/telecom/Connection$VideoProvider;->onSetPreviewSurface(Landroid/view/Surface;)V
-HPLandroid/telecom/Connection$VideoProvider;->onSetZoom(F)V
-HPLandroid/telecom/Connection$VideoProvider;->setCallDataUsage(J)V
 HPLandroid/telecom/Connection;-><init>()V
 HPLandroid/telecom/Connection;->addConnectionListener(Landroid/telecom/Connection$Listener;)Landroid/telecom/Connection;
 HPLandroid/telecom/Connection;->can(II)Z
@@ -5534,6 +6019,7 @@
 HPLandroid/telecom/Connection;->destroy()V
 HPLandroid/telecom/Connection;->getAddress()Landroid/net/Uri;
 HPLandroid/telecom/Connection;->getAddressPresentation()I
+HPLandroid/telecom/Connection;->getCallRadioTech()I
 HPLandroid/telecom/Connection;->getCallerDisplayName()Ljava/lang/String;
 HPLandroid/telecom/Connection;->getCallerDisplayNamePresentation()I
 HPLandroid/telecom/Connection;->getConference()Landroid/telecom/Conference;
@@ -5549,6 +6035,7 @@
 HPLandroid/telecom/Connection;->notifyPhoneAccountChanged(Landroid/telecom/PhoneAccountHandle;)V
 HPLandroid/telecom/Connection;->onAnswer()V
 HPLandroid/telecom/Connection;->onAudioStateChanged(Landroid/telecom/AudioState;)V
+HPLandroid/telecom/Connection;->onReject()V
 HPLandroid/telecom/Connection;->onSilence()V
 HPLandroid/telecom/Connection;->propertiesToString(I)Ljava/lang/String;
 HPLandroid/telecom/Connection;->propertiesToStringInternal(IZ)Ljava/lang/String;
@@ -5561,6 +6048,7 @@
 HPLandroid/telecom/Connection;->setActive()V
 HPLandroid/telecom/Connection;->setAddress(Landroid/net/Uri;I)V
 HPLandroid/telecom/Connection;->setAudioModeIsVoip(Z)V
+HPLandroid/telecom/Connection;->setCallRadioTech(I)V
 HPLandroid/telecom/Connection;->setCallerDisplayName(Ljava/lang/String;I)V
 HPLandroid/telecom/Connection;->setConferenceables(Ljava/util/List;)V
 HPLandroid/telecom/Connection;->setConnectionCapabilities(I)V
@@ -5570,6 +6058,7 @@
 HPLandroid/telecom/Connection;->setInitializing()V
 HPLandroid/telecom/Connection;->setNextPostDialChar(C)V
 HPLandroid/telecom/Connection;->setPhoneAccountHandle(Landroid/telecom/PhoneAccountHandle;)V
+HPLandroid/telecom/Connection;->setRingbackRequested(Z)V
 HPLandroid/telecom/Connection;->setRinging()V
 HPLandroid/telecom/Connection;->setState(I)V
 HPLandroid/telecom/Connection;->setStatusHints(Landroid/telecom/StatusHints;)V
@@ -5592,18 +6081,20 @@
 HPLandroid/telecom/ConnectionRequest;->isRequestingRtt()Z
 HPLandroid/telecom/ConnectionRequest;->toString()Ljava/lang/String;
 HPLandroid/telecom/ConnectionRequest;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/telecom/ConnectionService$1;->abort(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
 HPLandroid/telecom/ConnectionService$1;->addConnectionServiceAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;Landroid/telecom/Logging/Session$Info;)V
 HPLandroid/telecom/ConnectionService$1;->answer(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
 HPLandroid/telecom/ConnectionService$1;->connectionServiceFocusGained(Landroid/telecom/Logging/Session$Info;)V
 HPLandroid/telecom/ConnectionService$1;->createConnection(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;ZZLandroid/telecom/Logging/Session$Info;)V
 HPLandroid/telecom/ConnectionService$1;->createConnectionComplete(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
 HPLandroid/telecom/ConnectionService$1;->disconnect(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
+HPLandroid/telecom/ConnectionService$1;->hold(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
 HPLandroid/telecom/ConnectionService$1;->onCallAudioStateChanged(Ljava/lang/String;Landroid/telecom/CallAudioState;Landroid/telecom/Logging/Session$Info;)V
 HPLandroid/telecom/ConnectionService$1;->playDtmfTone(Ljava/lang/String;CLandroid/telecom/Logging/Session$Info;)V
+HPLandroid/telecom/ConnectionService$1;->reject(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
 HPLandroid/telecom/ConnectionService$1;->removeConnectionServiceAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;Landroid/telecom/Logging/Session$Info;)V
 HPLandroid/telecom/ConnectionService$1;->silence(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
 HPLandroid/telecom/ConnectionService$1;->stopDtmfTone(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
+HPLandroid/telecom/ConnectionService$1;->unhold(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
 HPLandroid/telecom/ConnectionService$2$1;-><init>(Landroid/telecom/ConnectionService$2;Ljava/lang/String;Ljava/lang/Object;Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;ZZ)V
 HPLandroid/telecom/ConnectionService$2$1;->loggedRun()V
 HPLandroid/telecom/ConnectionService$2;->handleMessage(Landroid/os/Message;)V
@@ -5616,6 +6107,7 @@
 HPLandroid/telecom/ConnectionService$4;->onExtrasRemoved(Landroid/telecom/Connection;Ljava/util/List;)V
 HPLandroid/telecom/ConnectionService$4;->onPhoneAccountChanged(Landroid/telecom/Connection;Landroid/telecom/PhoneAccountHandle;)V
 HPLandroid/telecom/ConnectionService$4;->onPostDialChar(Landroid/telecom/Connection;C)V
+HPLandroid/telecom/ConnectionService$4;->onRingbackRequested(Landroid/telecom/Connection;Z)V
 HPLandroid/telecom/ConnectionService$4;->onStateChanged(Landroid/telecom/Connection;I)V
 HPLandroid/telecom/ConnectionService$4;->onStatusHintsChanged(Landroid/telecom/Connection;Landroid/telecom/StatusHints;)V
 HPLandroid/telecom/ConnectionService$5$1;->loggedRun()V
@@ -5623,23 +6115,28 @@
 HPLandroid/telecom/ConnectionService;-><init>()V
 HPLandroid/telecom/ConnectionService;->access$100(Landroid/telecom/ConnectionService;)Landroid/telecom/ConnectionServiceAdapter;
 HPLandroid/telecom/ConnectionService;->access$1000(Landroid/telecom/ConnectionService;Ljava/lang/String;)V
+HPLandroid/telecom/ConnectionService;->access$1300(Landroid/telecom/ConnectionService;Ljava/lang/String;)V
 HPLandroid/telecom/ConnectionService;->access$1500(Landroid/telecom/ConnectionService;Ljava/lang/String;)V
 HPLandroid/telecom/ConnectionService;->access$1600(Landroid/telecom/ConnectionService;Ljava/lang/String;)V
+HPLandroid/telecom/ConnectionService;->access$1700(Landroid/telecom/ConnectionService;Ljava/lang/String;)V
+HPLandroid/telecom/ConnectionService;->access$1800(Landroid/telecom/ConnectionService;Ljava/lang/String;)V
 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$2000(Landroid/telecom/ConnectionService;Ljava/lang/String;C)V
 HPLandroid/telecom/ConnectionService;->access$2100(Landroid/telecom/ConnectionService;Ljava/lang/String;)V
 HPLandroid/telecom/ConnectionService;->access$300(Landroid/telecom/ConnectionService;)Z
+HPLandroid/telecom/ConnectionService;->access$400(Landroid/telecom/ConnectionService;Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;ZZ)V
 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;->access$900(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;->disconnect(Ljava/lang/String;)V
 HPLandroid/telecom/ConnectionService;->endAllConnections()V
 HPLandroid/telecom/ConnectionService;->findConnectionForAction(Ljava/lang/String;Ljava/lang/String;)Landroid/telecom/Connection;
+HPLandroid/telecom/ConnectionService;->getAllConferences()Ljava/util/Collection;
 HPLandroid/telecom/ConnectionService;->getAllConnections()Ljava/util/Collection;
+HPLandroid/telecom/ConnectionService;->hold(Ljava/lang/String;)V
 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
@@ -5648,6 +6145,7 @@
 HPLandroid/telecom/ConnectionService;->playDtmfTone(Ljava/lang/String;C)V
 HPLandroid/telecom/ConnectionService;->removeConnection(Landroid/telecom/Connection;)V
 HPLandroid/telecom/ConnectionService;->stopDtmfTone(Ljava/lang/String;)V
+HPLandroid/telecom/ConnectionService;->unhold(Ljava/lang/String;)V
 HPLandroid/telecom/ConnectionServiceAdapter;->addAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;)V
 HPLandroid/telecom/ConnectionServiceAdapter;->handleCreateConnectionComplete(Ljava/lang/String;Landroid/telecom/ConnectionRequest;Landroid/telecom/ParcelableConnection;)V
 HPLandroid/telecom/ConnectionServiceAdapter;->onPhoneAccountChanged(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;)V
@@ -5662,52 +6160,52 @@
 HPLandroid/telecom/ConnectionServiceAdapter;->setConnectionCapabilities(Ljava/lang/String;I)V
 HPLandroid/telecom/ConnectionServiceAdapter;->setConnectionProperties(Ljava/lang/String;I)V
 HPLandroid/telecom/ConnectionServiceAdapter;->setDisconnected(Ljava/lang/String;Landroid/telecom/DisconnectCause;)V
+HPLandroid/telecom/ConnectionServiceAdapter;->setOnHold(Ljava/lang/String;)V
+HPLandroid/telecom/ConnectionServiceAdapter;->setRingbackRequested(Ljava/lang/String;Z)V
 HPLandroid/telecom/ConnectionServiceAdapter;->setStatusHints(Ljava/lang/String;Landroid/telecom/StatusHints;)V
-HPLandroid/telecom/DefaultDialerManager;->getDefaultDialerApplication(Landroid/content/Context;)Ljava/lang/String;
-HPLandroid/telecom/DefaultDialerManager;->isDefaultOrSystemDialer(Landroid/content/Context;Ljava/lang/String;)Z
-HPLandroid/telecom/DisconnectCause;-><init>(I)V
 HPLandroid/telecom/DisconnectCause;-><init>(ILjava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/String;I)V
-HPLandroid/telecom/DisconnectCause;->equals(Ljava/lang/Object;)Z
 HPLandroid/telecom/DisconnectCause;->getCode()I
 HPLandroid/telecom/DisconnectCause;->getDescription()Ljava/lang/CharSequence;
 HPLandroid/telecom/DisconnectCause;->getLabel()Ljava/lang/CharSequence;
 HPLandroid/telecom/DisconnectCause;->getReason()Ljava/lang/String;
 HPLandroid/telecom/DisconnectCause;->toString()Ljava/lang/String;
-HPLandroid/telecom/GatewayInfo$1;-><init>()V
-HPLandroid/telecom/GatewayInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telecom/GatewayInfo;
-HPLandroid/telecom/GatewayInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/telecom/GatewayInfo;->getGatewayAddress()Landroid/net/Uri;
-HPLandroid/telecom/GatewayInfo;->getGatewayProviderPackageName()Ljava/lang/String;
-HPLandroid/telecom/GatewayInfo;->getOriginalAddress()Landroid/net/Uri;
-HPLandroid/telecom/GatewayInfo;->isEmpty()Z
-HPLandroid/telecom/GatewayInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/telecom/DisconnectCause;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/telecom/InCallAdapter;->answerCall(Ljava/lang/String;I)V
 HPLandroid/telecom/InCallAdapter;->disconnectCall(Ljava/lang/String;)V
+HPLandroid/telecom/InCallAdapter;->holdCall(Ljava/lang/String;)V
+HPLandroid/telecom/InCallAdapter;->mute(Z)V
 HPLandroid/telecom/InCallAdapter;->playDtmfTone(Ljava/lang/String;C)V
+HPLandroid/telecom/InCallAdapter;->rejectCall(Ljava/lang/String;ZLjava/lang/String;)V
+HPLandroid/telecom/InCallAdapter;->setAudioRoute(I)V
 HPLandroid/telecom/InCallAdapter;->stopDtmfTone(Ljava/lang/String;)V
+HPLandroid/telecom/InCallAdapter;->unholdCall(Ljava/lang/String;)V
 HPLandroid/telecom/InCallService$2;->onCallRemoved(Landroid/telecom/Phone;Landroid/telecom/Call;)V
-HPLandroid/telecom/InCallService$2;->onCanAddCallChanged(Landroid/telecom/Phone;Z)V
 HPLandroid/telecom/InCallService$2;->onSilenceRinger(Landroid/telecom/Phone;)V
+HPLandroid/telecom/InCallService$InCallServiceBinder;->onConnectionEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
 HPLandroid/telecom/InCallService$InCallServiceBinder;->silenceRinger()V
-HPLandroid/telecom/InCallService$InCallServiceBinder;->updateCall(Landroid/telecom/ParcelableCall;)V
 HPLandroid/telecom/InCallService;->canAddCall()Z
 HPLandroid/telecom/InCallService;->onPhoneDestroyed(Landroid/telecom/Phone;)V
 HPLandroid/telecom/InCallService;->onSilenceRinger()V
 HPLandroid/telecom/InCallService;->onUnbind(Landroid/content/Intent;)Z
+HPLandroid/telecom/InCallService;->setAudioRoute(I)V
+HPLandroid/telecom/InCallService;->setMuted(Z)V
 HPLandroid/telecom/Log;->addEvent(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;)V
 HPLandroid/telecom/Log;->addEvent(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
+HPLandroid/telecom/Log;->d(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
 HPLandroid/telecom/Log;->getExternalSession()Landroid/telecom/Logging/Session$Info;
+HPLandroid/telecom/Log;->obfuscatePhoneNumber(Ljava/lang/StringBuilder;Ljava/lang/String;)V
+HPLandroid/telecom/Log;->pii(Ljava/lang/Object;)Ljava/lang/String;
+HPLandroid/telecom/Log;->piiHandle(Ljava/lang/Object;)Ljava/lang/String;
 HPLandroid/telecom/Log;->startSession(Landroid/telecom/Logging/Session$Info;Ljava/lang/String;)V
 HPLandroid/telecom/Log;->startSession(Ljava/lang/String;Ljava/lang/String;)V
 HPLandroid/telecom/Log;->w(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
+HPLandroid/telecom/Log;->w(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
 HPLandroid/telecom/Logging/-$$Lambda$SessionManager$VyH2gT1EjIvzDy_C9JfTT60CISM;->run()V
 HPLandroid/telecom/Logging/EventManager$Event;-><init>(Ljava/lang/String;Ljava/lang/String;JLjava/lang/Object;)V
 HPLandroid/telecom/Logging/EventManager$EventRecord;->addEvent(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
 HPLandroid/telecom/Logging/EventManager$EventRecord;->extractEventTimings()Ljava/util/List;
 HPLandroid/telecom/Logging/EventManager$EventRecord;->getEvents()Ljava/util/List;
 HPLandroid/telecom/Logging/EventManager$EventRecord;->getRecordEntry()Landroid/telecom/Logging/EventManager$Loggable;
-HPLandroid/telecom/Logging/EventManager$Loggable;->getDescription()Ljava/lang/String;
-HPLandroid/telecom/Logging/EventManager$Loggable;->getId()Ljava/lang/String;
 HPLandroid/telecom/Logging/EventManager;->addEventRecord(Landroid/telecom/Logging/EventManager$EventRecord;)V
 HPLandroid/telecom/Logging/EventManager;->event(Landroid/telecom/Logging/EventManager$Loggable;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
 HPLandroid/telecom/Logging/Runnable$1;->run()V
@@ -5719,16 +6217,16 @@
 HPLandroid/telecom/Logging/Session$Info$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/telecom/Logging/Session$Info;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/telecom/Logging/Session;->getInfo()Landroid/telecom/Logging/Session$Info;
+HPLandroid/telecom/Logging/Session;->isSessionExternal()Z
 HPLandroid/telecom/Logging/Session;->printFullSessionTree()Ljava/lang/String;
 HPLandroid/telecom/Logging/Session;->printSessionTree()Ljava/lang/String;
 HPLandroid/telecom/Logging/Session;->printSessionTree(ILjava/lang/StringBuilder;)V
 HPLandroid/telecom/Logging/SessionManager;->cancelSubsession(Landroid/telecom/Logging/Session;)V
 HPLandroid/telecom/Logging/SessionManager;->cleanupStaleSessions(J)V
 HPLandroid/telecom/Logging/SessionManager;->getExternalSession()Landroid/telecom/Logging/Session$Info;
+HPLandroid/telecom/Logging/SessionManager;->lambda$new$0$SessionManager()V
 HPLandroid/telecom/Logging/SessionManager;->startExternalSession(Landroid/telecom/Logging/Session$Info;Ljava/lang/String;)V
 HPLandroid/telecom/Logging/SessionManager;->startSession(Landroid/telecom/Logging/Session$Info;Ljava/lang/String;Ljava/lang/String;)V
-HPLandroid/telecom/Logging/TimedEvent;->getKey()Ljava/lang/Object;
-HPLandroid/telecom/Logging/TimedEvent;->getTime()J
 HPLandroid/telecom/ParcelableCall;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/telecom/ParcelableConnection$1;-><init>()V
 HPLandroid/telecom/ParcelableConnection$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telecom/ParcelableConnection;
@@ -5737,65 +6235,105 @@
 HPLandroid/telecom/ParcelableConnection;-><init>(Landroid/telecom/PhoneAccountHandle;IIIILandroid/net/Uri;ILjava/lang/String;ILcom/android/internal/telecom/IVideoProvider;IZZJJLandroid/telecom/StatusHints;Landroid/telecom/DisconnectCause;Ljava/util/List;Landroid/os/Bundle;Ljava/lang/String;)V
 HPLandroid/telecom/ParcelableConnection;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/telecom/Phone;->destroy()V
-HPLandroid/telecom/PhoneAccount;->getLabel()Ljava/lang/CharSequence;
 HPLandroid/telecom/PhoneAccount;->supportsUriScheme(Ljava/lang/String;)Z
-HPLandroid/telecom/PhoneAccountHandle;->checkParameters(Landroid/content/ComponentName;Landroid/os/UserHandle;)V
-HPLandroid/telecom/Response;->onError(Ljava/lang/Object;ILjava/lang/String;)V
-HPLandroid/telecom/Response;->onResult(Ljava/lang/Object;[Ljava/lang/Object;)V
+HPLandroid/telecom/PhoneAccountHandle;->describeContents()I
+HPLandroid/telecom/PhoneAccountSuggestion$1;-><init>()V
 HPLandroid/telecom/TelecomAnalytics$SessionTiming$1;-><init>()V
 HPLandroid/telecom/TelecomAnalytics$SessionTiming;->getKey()Ljava/lang/Integer;
 HPLandroid/telecom/TelecomManager;->addNewIncomingCall(Landroid/telecom/PhoneAccountHandle;Landroid/os/Bundle;)V
-HPLandroid/telecom/TelecomManager;->cancelMissedCallsNotification()V
-HPLandroid/telecom/TelecomManager;->clearAccountsForPackage(Ljava/lang/String;)V
+HPLandroid/telecom/TelecomManager;->getDefaultPhoneApp()Landroid/content/ComponentName;
 HPLandroid/telecom/TelecomManager;->getPhoneAccountsSupportingScheme(Ljava/lang/String;)Ljava/util/List;
+HPLandroid/telecom/TelecomManager;->getSimCallManager()Landroid/telecom/PhoneAccountHandle;
 HPLandroid/telecom/TelecomManager;->getSimCallManager(I)Landroid/telecom/PhoneAccountHandle;
+HPLandroid/telecom/TelecomManager;->isInEmergencyCall()Z
 HPLandroid/telecom/TelecomManager;->isRinging()Z
-HPLandroid/telecom/TelecomManager;->placeCall(Landroid/net/Uri;Landroid/os/Bundle;)V
 HPLandroid/telecom/TelecomManager;->silenceRinger()V
-HPLandroid/telecom/TimedEvent;->getKey()Ljava/lang/Object;
-HPLandroid/telecom/TimedEvent;->getTime()J
-HPLandroid/telecom/VideoCallImpl$VideoCallListenerBinder;->changeCallDataUsage(J)V
-HPLandroid/telecom/VideoCallImpl;->destroy()V
-HPLandroid/telecom/VideoCallImpl;->unregisterCallback(Landroid/telecom/InCallService$VideoCall$Callback;)V
-HPLandroid/telecom/VideoProfile;->isPaused(I)Z
 HPLandroid/telecom/VideoProfile;->isReceptionEnabled(I)Z
+HPLandroid/telephony/-$$Lambda$DataFailCause$djkZSxdG-s-w2L5rQKiGu6OudyY;->test(I)Z
+HPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$0s34qsuHFsa43jUHrTkD62ni6Ds;->run()V
+HPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2VMO21pFQN-JN3kpn6vQN1zPFEU;->runOrThrow()V
+HPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2cMrwdqnKBpixpApeIX38rmRLak;->run()V
+HPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Hbn6-eZxY2p3rjOfStodI04A8E8;->runOrThrow()V
+HPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$JalixlMNdjktPsNntP_JT9pymhs;->run()V
+HPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Q2A8FgYlU8_D6PD78tThGut_rTc;->run()V
+HPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$XyayAGWQZC2dNjwr697SfSGBBOc;->runOrThrow()V
+HPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$aysbwPqxcLV_5w6LP0TzZu2D-ew;->runOrThrow()V
+HPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$dUc3j82sK9P9Zpaq-91n9bk_Rpc;->run()V
+HPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$yvQnAlFGg5EWDG2vcA9X-4xnalA;->runOrThrow()V
+HPLandroid/telephony/CallQuality$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CallQuality;
+HPLandroid/telephony/CallQuality$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/telephony/CallQuality;-><init>(IIIIIIIIIII)V
+HPLandroid/telephony/CallQuality;-><init>(Landroid/os/Parcel;)V
+HPLandroid/telephony/CallQuality;->toString()Ljava/lang/String;
+HPLandroid/telephony/CallQuality;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/telephony/CarrierConfigManager;-><init>(Landroid/content/Context;)V
 HPLandroid/telephony/CarrierConfigManager;->getDefaultCarrierServicePackageName()Ljava/lang/String;
-HPLandroid/telephony/CellIdentity;->describeContents()I
-HPLandroid/telephony/CellIdentity;->log(Ljava/lang/String;)V
-HPLandroid/telephony/CellIdentityCdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentityCdma;
-HPLandroid/telephony/CellIdentityCdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/telephony/CellIdentityCdma;-><init>(Landroid/os/Parcel;)V
-HPLandroid/telephony/CellIdentityGsm;-><init>(IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/telephony/CarrierMessagingServiceManager$CarrierMessagingServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HPLandroid/telephony/CarrierMessagingServiceManager;->bindToCarrierMessagingService(Landroid/content/Context;Ljava/lang/String;)Z
+HPLandroid/telephony/CarrierMessagingServiceManager;->disposeConnection(Landroid/content/Context;)V
+HPLandroid/telephony/CarrierRestrictionRules$1;-><init>()V
+HPLandroid/telephony/CarrierRestrictionRules$Builder;->build()Landroid/telephony/CarrierRestrictionRules;
+HPLandroid/telephony/CarrierRestrictionRules$Builder;->setAllCarriersAllowed()Landroid/telephony/CarrierRestrictionRules$Builder;
+HPLandroid/telephony/CarrierRestrictionRules;->newBuilder()Landroid/telephony/CarrierRestrictionRules$Builder;
+HPLandroid/telephony/CarrierRestrictionRules;->toString()Ljava/lang/String;
+HPLandroid/telephony/CarrierRestrictionRules;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/telephony/CellIdentityGsm$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentityGsm;
+HPLandroid/telephony/CellIdentityGsm$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/telephony/CellIdentityGsm;->asCellLocation()Landroid/telephony/CellLocation;
 HPLandroid/telephony/CellIdentityGsm;->equals(Ljava/lang/Object;)Z
 HPLandroid/telephony/CellIdentityGsm;->getChannelNumber()I
+HPLandroid/telephony/CellIdentityGsm;->getCid()I
+HPLandroid/telephony/CellIdentityGsm;->getLac()I
+HPLandroid/telephony/CellIdentityGsm;->getMcc()I
+HPLandroid/telephony/CellIdentityGsm;->getMnc()I
 HPLandroid/telephony/CellIdentityGsm;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/telephony/CellIdentityLte;->getEarfcn()I
-HPLandroid/telephony/CellIdentityWcdma;-><init>(IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/telephony/CellIdentityLte;->getCi()I
+HPLandroid/telephony/CellIdentityLte;->getMcc()I
+HPLandroid/telephony/CellIdentityLte;->getMnc()I
+HPLandroid/telephony/CellIdentityLte;->getPci()I
+HPLandroid/telephony/CellIdentityLte;->getTac()I
+HPLandroid/telephony/CellIdentityWcdma;->asCellLocation()Landroid/telephony/CellLocation;
+HPLandroid/telephony/CellIdentityWcdma;->asCellLocation()Landroid/telephony/gsm/GsmCellLocation;
 HPLandroid/telephony/CellIdentityWcdma;->equals(Ljava/lang/Object;)Z
 HPLandroid/telephony/CellIdentityWcdma;->getChannelNumber()I
+HPLandroid/telephony/CellIdentityWcdma;->getCid()I
+HPLandroid/telephony/CellIdentityWcdma;->getLac()I
+HPLandroid/telephony/CellIdentityWcdma;->getMcc()I
+HPLandroid/telephony/CellIdentityWcdma;->getMnc()I
+HPLandroid/telephony/CellIdentityWcdma;->getPsc()I
 HPLandroid/telephony/CellIdentityWcdma;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/telephony/CellSignalStrengthCdma$1;-><init>()V
-HPLandroid/telephony/CellSignalStrengthCdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthCdma;
-HPLandroid/telephony/CellSignalStrengthCdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/telephony/CellSignalStrengthCdma;-><init>(Landroid/os/Parcel;)V
+HPLandroid/telephony/CellInfoGsm;->getCellIdentity()Landroid/telephony/CellIdentity;
+HPLandroid/telephony/CellInfoGsm;->getCellIdentity()Landroid/telephony/CellIdentityGsm;
+HPLandroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentityLte;
+HPLandroid/telephony/CellInfoLte;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthLte;
+HPLandroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentity;
+HPLandroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentityWcdma;
+HPLandroid/telephony/CellInfoWcdma;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthWcdma;
+HPLandroid/telephony/CellSignalStrengthGsm;->getLevel()I
+HPLandroid/telephony/CellSignalStrengthLte;->copyFrom(Landroid/telephony/CellSignalStrengthLte;)V
+HPLandroid/telephony/CellSignalStrengthLte;->getAsuLevel()I
+HPLandroid/telephony/CellSignalStrengthLte;->getDbm()I
+HPLandroid/telephony/CellSignalStrengthLte;->getLevel()I
 HPLandroid/telephony/CellSignalStrengthLte;->getTimingAdvance()I
+HPLandroid/telephony/CellSignalStrengthWcdma;->getAsuLevel()I
+HPLandroid/telephony/CellSignalStrengthWcdma;->getDbm()I
+HPLandroid/telephony/ClientRequestStats;->toString()Ljava/lang/String;
+HPLandroid/telephony/DebugEventReporter;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLandroid/telephony/DisconnectCause;->toString(I)Ljava/lang/String;
+HPLandroid/telephony/ImsiEncryptionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/ImsiEncryptionInfo;
+HPLandroid/telephony/ImsiEncryptionInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/telephony/ImsiEncryptionInfo;-><init>(Landroid/os/Parcel;)V
+HPLandroid/telephony/LocationAccessPolicy;->logError(Landroid/content/Context;Ljava/lang/String;)V
 HPLandroid/telephony/ModemActivityInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/ModemActivityInfo;
 HPLandroid/telephony/ModemActivityInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/telephony/ModemActivityInfo;->isEmpty()Z
-HPLandroid/telephony/ModemActivityInfo;->isValid()Z
-HPLandroid/telephony/NeighboringCellInfo;-><init>(ILjava/lang/String;I)V
-HPLandroid/telephony/NeighboringCellInfo;->toString()Ljava/lang/String;
+HPLandroid/telephony/NeighboringCellInfo$1;-><init>()V
+HPLandroid/telephony/NeighboringCellInfo;-><init>(Landroid/telephony/CellInfoWcdma;)V
 HPLandroid/telephony/NeighboringCellInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/telephony/PhoneNumberFormattingTextWatcher;-><init>(Ljava/lang/String;)V
-HPLandroid/telephony/PhoneNumberFormattingTextWatcher;->afterTextChanged(Landroid/text/Editable;)V
-HPLandroid/telephony/PhoneNumberFormattingTextWatcher;->beforeTextChanged(Ljava/lang/CharSequence;III)V
-HPLandroid/telephony/PhoneNumberFormattingTextWatcher;->onTextChanged(Ljava/lang/CharSequence;III)V
+HPLandroid/telephony/PhoneNumberUtils;->cdmaCheckAndProcessPlusCodeByNumberFormat(Ljava/lang/String;II)Ljava/lang/String;
+HPLandroid/telephony/PhoneNumberUtils;->cdmaCheckAndProcessPlusCodeForSms(Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/telephony/PhoneNumberUtils;->charToBCD(CI)I
-HPLandroid/telephony/PhoneNumberUtils;->convertKeypadLettersToDigits(Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/telephony/PhoneNumberUtils;->extractNetworkPortion(Ljava/lang/String;)Ljava/lang/String;
+HPLandroid/telephony/PhoneNumberUtils;->extractNetworkPortionAlt(Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/telephony/PhoneNumberUtils;->getNumberFromIntent(Landroid/content/Intent;Landroid/content/Context;)Ljava/lang/String;
-HPLandroid/telephony/PhoneNumberUtils;->internalGetStrippedReversed(Ljava/lang/String;I)Ljava/lang/String;
 HPLandroid/telephony/PhoneNumberUtils;->isEmergencyNumber(ILjava/lang/String;)Z
 HPLandroid/telephony/PhoneNumberUtils;->isEmergencyNumber(Ljava/lang/String;Ljava/lang/String;)Z
 HPLandroid/telephony/PhoneNumberUtils;->isPotentialLocalEmergencyNumber(Landroid/content/Context;Ljava/lang/String;)Z
@@ -5803,58 +6341,107 @@
 HPLandroid/telephony/PhoneNumberUtils;->isVoiceMailNumber(Landroid/content/Context;ILjava/lang/String;)Z
 HPLandroid/telephony/PhoneNumberUtils;->networkPortionToCalledPartyBCD(Ljava/lang/String;)[B
 HPLandroid/telephony/PhoneNumberUtils;->numberToCalledPartyBCDHelper(Ljava/lang/String;ZI)[B
-HPLandroid/telephony/PhoneNumberUtils;->replaceUnicodeDigits(Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/telephony/PhoneNumberUtils;->stringFromStringAndTOA(Ljava/lang/String;I)Ljava/lang/String;
-HPLandroid/telephony/PhoneNumberUtils;->toCallerIDMinMatch(Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/telephony/PhoneNumberUtils;->toaFromString(Ljava/lang/String;)I
+HPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCellInfoChanged$21$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Ljava/util/List;)V
+HPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onCellLocationChanged$9$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Landroid/telephony/CellLocation;)V
+HPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onDataActivity$15$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;I)V
+HPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onDataConnectionStateChanged$13$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;II)V
+HPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onSignalStrengthsChanged$17$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Landroid/telephony/SignalStrength;)V
+HPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCellInfoChanged(Ljava/util/List;)V
+HPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCellLocationChanged(Landroid/os/Bundle;)V
 HPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onDataActivity(I)V
-HPLandroid/telephony/PhoneStateListener;->onServiceStateChanged(Landroid/telephony/ServiceState;)V
+HPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onDataConnectionStateChanged(II)V
+HPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V
+HPLandroid/telephony/PhoneStateListener;->onDataConnectionStateChanged(I)V
 HPLandroid/telephony/PreciseCallState;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/telephony/PreciseDataConnectionState;-><init>(IIILjava/lang/String;Landroid/net/LinkProperties;I)V
 HPLandroid/telephony/PreciseDataConnectionState;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/telephony/SignalStrength;->getAsuLevel()I
-HPLandroid/telephony/SignalStrength;->getDbm()I
-HPLandroid/telephony/SignalStrength;->getLteAsuLevel()I
-HPLandroid/telephony/SignalStrength;->getLteDbm()I
+HPLandroid/telephony/SignalStrength;-><init>(Landroid/telephony/SignalStrength;)V
+HPLandroid/telephony/SignalStrength;->copyFrom(Landroid/telephony/SignalStrength;)V
+HPLandroid/telephony/SignalStrength;->isGsm()Z
+HPLandroid/telephony/SmsCbCmasInfo$1;-><init>()V
+HPLandroid/telephony/SmsCbCmasInfo;->toString()Ljava/lang/String;
+HPLandroid/telephony/SmsCbCmasInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/telephony/SmsCbLocation$1;-><init>()V
+HPLandroid/telephony/SmsCbLocation;->toString()Ljava/lang/String;
+HPLandroid/telephony/SmsCbLocation;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/telephony/SmsCbMessage$1;-><init>()V
+HPLandroid/telephony/SmsCbMessage;->getMessageFormat()I
+HPLandroid/telephony/SmsCbMessage;->getMessagePriority()I
+HPLandroid/telephony/SmsCbMessage;->getSerialNumber()I
+HPLandroid/telephony/SmsCbMessage;->getServiceCategory()I
+HPLandroid/telephony/SmsCbMessage;->isCmasMessage()Z
+HPLandroid/telephony/SmsCbMessage;->isEmergencyMessage()Z
+HPLandroid/telephony/SmsCbMessage;->isEtwsMessage()Z
+HPLandroid/telephony/SmsCbMessage;->toString()Ljava/lang/String;
+HPLandroid/telephony/SmsCbMessage;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/telephony/SmsManager;->getAutoPersisting()Z
+HPLandroid/telephony/SmsManager;->getCarrierConfigValues()Landroid/os/Bundle;
 HPLandroid/telephony/SmsManager;->getISmsServiceOrThrow()Lcom/android/internal/telephony/ISms;
+HPLandroid/telephony/SmsManager;->getMmsConfig(Landroid/os/BaseBundle;)Landroid/os/Bundle;
 HPLandroid/telephony/SmsManager;->getSmsManagerForSubscriptionId(I)Landroid/telephony/SmsManager;
 HPLandroid/telephony/SmsManager;->getSubscriptionId()I
-HPLandroid/telephony/SmsManager;->sendDataMessageWithSelfPermissions(Ljava/lang/String;Ljava/lang/String;S[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
+HPLandroid/telephony/SmsManager;->sendTextMessageWithSelfPermissions(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
 HPLandroid/telephony/SmsMessage;->createFromPdu([BLjava/lang/String;)Landroid/telephony/SmsMessage;
+HPLandroid/telephony/SmsMessage;->createFromPdu([BLjava/lang/String;Z)Landroid/telephony/SmsMessage;
 HPLandroid/telephony/SmsMessage;->getMessageBody()Ljava/lang/String;
+HPLandroid/telephony/SmsMessage;->getUserData()[B
+HPLandroid/telephony/SmsMessage;->hasEmsSupport()Z
+HPLandroid/telephony/SmsMessage;->isNoEmsSupportConfigListExisted()Z
 HPLandroid/telephony/SmsMessage;->newFromCMT([B)Landroid/telephony/SmsMessage;
+HPLandroid/telephony/SmsMessage;->setSubId(I)V
+HPLandroid/telephony/SubscriptionInfo;->equals(Ljava/lang/Object;)Z
 HPLandroid/telephony/SubscriptionInfo;->getCarrierName()Ljava/lang/CharSequence;
+HPLandroid/telephony/SubscriptionInfo;->getCountryIso()Ljava/lang/String;
 HPLandroid/telephony/SubscriptionInfo;->getDataRoaming()I
-HPLandroid/telephony/SubscriptionInfo;->getSimSlotIndex()I
-HPLandroid/telephony/SubscriptionInfo;->isEmbedded()Z
+HPLandroid/telephony/SubscriptionInfo;->getIconTint()I
+HPLandroid/telephony/SubscriptionManager$OnOpportunisticSubscriptionsChangedListener;-><init>()V
+HPLandroid/telephony/SubscriptionManager;->addOnOpportunisticSubscriptionsChangedListener(Ljava/util/concurrent/Executor;Landroid/telephony/SubscriptionManager$OnOpportunisticSubscriptionsChangedListener;)V
 HPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfoCount()I
-HPLandroid/telephony/SubscriptionManager;->getDefaultSmsSubscriptionId()I
+HPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfoForIccIndex(Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;
+HPLandroid/telephony/SubscriptionManager;->getDefaultSmsPhoneId()I
+HPLandroid/telephony/SubscriptionManager;->getOpportunisticSubscriptions()Ljava/util/List;
+HPLandroid/telephony/SubscriptionManager;->getSubscriptionPlans(I)Ljava/util/List;
 HPLandroid/telephony/SubscriptionManager;->isUsableSubIdValue(I)Z
-HPLandroid/telephony/SubscriptionManager;->removeOnSubscriptionsChangedListener(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
+HPLandroid/telephony/SubscriptionManager;->setSubscriptionProperty(ILjava/lang/String;Ljava/lang/String;)V
 HPLandroid/telephony/SubscriptionPlan$1;-><init>()V
 HPLandroid/telephony/SubscriptionPlan$1;->newArray(I)[Landroid/telephony/SubscriptionPlan;
 HPLandroid/telephony/SubscriptionPlan$1;->newArray(I)[Ljava/lang/Object;
 HPLandroid/telephony/TelephonyHistogram;-><init>(Landroid/telephony/TelephonyHistogram;)V
 HPLandroid/telephony/TelephonyHistogram;->getBucketCounters()[I
 HPLandroid/telephony/TelephonyHistogram;->getBucketEndPoints()[I
-HPLandroid/telephony/TelephonyManager;->createForSubscriptionId(I)Landroid/telephony/TelephonyManager;
-HPLandroid/telephony/TelephonyManager;->enableVisualVoicemailSmsFilter(ILandroid/telephony/VisualVoicemailSmsFilterSettings;)V
+HPLandroid/telephony/TelephonyManager;->checkCarrierPrivilegesForPackage(Ljava/lang/String;)I
+HPLandroid/telephony/TelephonyManager;->disableIms(I)V
 HPLandroid/telephony/TelephonyManager;->getActiveVisualVoicemailSmsFilterSettings(I)Landroid/telephony/VisualVoicemailSmsFilterSettings;
+HPLandroid/telephony/TelephonyManager;->getCallState()I
+HPLandroid/telephony/TelephonyManager;->getCallState(I)I
+HPLandroid/telephony/TelephonyManager;->getCallStateForSlot(I)I
+HPLandroid/telephony/TelephonyManager;->getCarrierPackageNamesForIntent(Landroid/content/Intent;)Ljava/util/List;
+HPLandroid/telephony/TelephonyManager;->getCellLocation()Landroid/telephony/CellLocation;
+HPLandroid/telephony/TelephonyManager;->getCurrentEmergencyNumberList()Ljava/util/Map;
 HPLandroid/telephony/TelephonyManager;->getDataActivity()I
-HPLandroid/telephony/TelephonyManager;->getDataNetworkType()I
-HPLandroid/telephony/TelephonyManager;->getEmergencyCallbackMode()Z
-HPLandroid/telephony/TelephonyManager;->getEmergencyCallbackMode(I)Z
 HPLandroid/telephony/TelephonyManager;->getGroupIdLevel1(I)Ljava/lang/String;
+HPLandroid/telephony/TelephonyManager;->getImei()Ljava/lang/String;
+HPLandroid/telephony/TelephonyManager;->getLteOnCdmaMode()I
+HPLandroid/telephony/TelephonyManager;->getLteOnCdmaMode(I)I
+HPLandroid/telephony/TelephonyManager;->getMmsUAProfUrl()Ljava/lang/String;
+HPLandroid/telephony/TelephonyManager;->getMmsUserAgent()Ljava/lang/String;
 HPLandroid/telephony/TelephonyManager;->getNetworkOperator(I)Ljava/lang/String;
+HPLandroid/telephony/TelephonyManager;->getNetworkSelectionMode()I
 HPLandroid/telephony/TelephonyManager;->getSimOperator(I)Ljava/lang/String;
-HPLandroid/telephony/TelephonyManager;->getSubId()I
+HPLandroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
+HPLandroid/telephony/TelephonyManager;->getSimSerialNumber(I)Ljava/lang/String;
 HPLandroid/telephony/TelephonyManager;->getVoiceMailNumber(I)Ljava/lang/String;
-HPLandroid/telephony/TelephonyManager;->getVoiceNetworkType()I
 HPLandroid/telephony/TelephonyManager;->isConcurrentVoiceAndDataSupported()Z
+HPLandroid/telephony/TelephonyManager;->isDataRoamingEnabled()Z
+HPLandroid/telephony/TelephonyManager;->isImsiEncryptionRequired(II)Z
+HPLandroid/telephony/TelephonyManager;->isVolteAvailable()Z
 HPLandroid/telephony/TelephonyManager;->sendVisualVoicemailSms(Ljava/lang/String;ILjava/lang/String;Landroid/app/PendingIntent;)V
 HPLandroid/telephony/TelephonyManager;->sendVisualVoicemailSmsForSubscriber(ILjava/lang/String;ILjava/lang/String;Landroid/app/PendingIntent;)V
+HPLandroid/telephony/TelephonyManager;->setDataRoamingEnabled(Z)V
 HPLandroid/telephony/TelephonyManager;->setPolicyDataEnabled(ZI)V
-HPLandroid/telephony/TelephonyManager;->setRadioIndicationUpdateMode(II)V
-HPLandroid/telephony/TelephonyManager;->setVisualVoicemailSmsFilterSettings(Landroid/telephony/VisualVoicemailSmsFilterSettings;)V
+HPLandroid/telephony/TelephonyScanManager$NetworkScanCallback;-><init>()V
 HPLandroid/telephony/VisualVoicemailSms$1;-><init>()V
 HPLandroid/telephony/VisualVoicemailSms$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/VisualVoicemailSms;
 HPLandroid/telephony/VisualVoicemailSms$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -5872,18 +6459,15 @@
 HPLandroid/telephony/VisualVoicemailSmsFilterSettings$Builder;->setDestinationPort(I)Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;
 HPLandroid/telephony/VisualVoicemailSmsFilterSettings$Builder;->setOriginatingNumbers(Ljava/util/List;)Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;
 HPLandroid/telephony/VisualVoicemailSmsFilterSettings$Builder;->setPackageName(Ljava/lang/String;)Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;
-HPLandroid/telephony/VisualVoicemailSmsFilterSettings;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/telephony/cdma/CdmaCellLocation;-><init>(Landroid/os/Bundle;)V
-HPLandroid/telephony/cdma/CdmaCellLocation;->getBaseStationId()I
-HPLandroid/telephony/cdma/CdmaCellLocation;->getBaseStationLatitude()I
-HPLandroid/telephony/cdma/CdmaCellLocation;->getBaseStationLongitude()I
-HPLandroid/telephony/cdma/CdmaCellLocation;->getNetworkId()I
-HPLandroid/telephony/cdma/CdmaCellLocation;->getSystemId()I
-HPLandroid/telephony/cdma/CdmaCellLocation;->isEmpty()Z
-HPLandroid/telephony/data/DataService$IDataServiceWrapper;->deactivateDataCall(IIILandroid/telephony/data/IDataServiceCallback;)V
 HPLandroid/telephony/data/DataService$IDataServiceWrapper;->getDataCallList(ILandroid/telephony/data/IDataServiceCallback;)V
-HPLandroid/telephony/data/DataServiceCallback;->onDeactivateDataCallComplete(I)V
 HPLandroid/telephony/data/DataServiceCallback;->onGetDataCallListComplete(ILjava/util/List;)V
+HPLandroid/telephony/emergency/EmergencyNumber$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/emergency/EmergencyNumber;
+HPLandroid/telephony/emergency/EmergencyNumber$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/telephony/emergency/EmergencyNumber;-><init>(Landroid/os/Parcel;)V
+HPLandroid/telephony/emergency/EmergencyNumber;->getNumber()Ljava/lang/String;
+HPLandroid/telephony/gsm/GsmCellLocation;->getLac()I
+HPLandroid/telephony/gsm/GsmCellLocation;->getPsc()I
+HPLandroid/telephony/gsm/GsmCellLocation;->isEmpty()Z
 HPLandroid/telephony/ims/ImsCallProfile$1;-><init>()V
 HPLandroid/telephony/ims/ImsCallProfile;-><init>()V
 HPLandroid/telephony/ims/ImsCallProfile;-><init>(II)V
@@ -5898,8 +6482,11 @@
 HPLandroid/telephony/ims/ImsCallProfile;->setCallExtraBoolean(Ljava/lang/String;Z)V
 HPLandroid/telephony/ims/ImsCallProfile;->setCallExtraInt(Ljava/lang/String;I)V
 HPLandroid/telephony/ims/ImsCallProfile;->toString()Ljava/lang/String;
+HPLandroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callQualityChanged(Landroid/telephony/CallQuality;)V
+HPLandroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionHeld(Landroid/telephony/ims/ImsCallProfile;)V
 HPLandroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionInitiated(Landroid/telephony/ims/ImsCallProfile;)V
 HPLandroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionProgressing(Landroid/telephony/ims/ImsStreamMediaProfile;)V
+HPLandroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionResumed(Landroid/telephony/ims/ImsCallProfile;)V
 HPLandroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionTerminated(Landroid/telephony/ims/ImsReasonInfo;)V
 HPLandroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;->callSessionUpdated(Landroid/telephony/ims/ImsCallProfile;)V
 HPLandroid/telephony/ims/ImsCallSession$State;->toString(I)Ljava/lang/String;
@@ -5911,101 +6498,82 @@
 HPLandroid/telephony/ims/ImsCallSession;->getRemoteCallProfile()Landroid/telephony/ims/ImsCallProfile;
 HPLandroid/telephony/ims/ImsCallSession;->getState()I
 HPLandroid/telephony/ims/ImsCallSession;->getVideoCallProvider()Lcom/android/ims/internal/IImsVideoCallProvider;
+HPLandroid/telephony/ims/ImsCallSession;->hold(Landroid/telephony/ims/ImsStreamMediaProfile;)V
 HPLandroid/telephony/ims/ImsCallSession;->isMultiparty()Z
+HPLandroid/telephony/ims/ImsCallSession;->reject(I)V
+HPLandroid/telephony/ims/ImsCallSession;->resume(Landroid/telephony/ims/ImsStreamMediaProfile;)V
 HPLandroid/telephony/ims/ImsCallSession;->setListener(Landroid/telephony/ims/ImsCallSession$Listener;)V
 HPLandroid/telephony/ims/ImsCallSession;->start(Ljava/lang/String;Landroid/telephony/ims/ImsCallProfile;)V
 HPLandroid/telephony/ims/ImsCallSession;->startDtmf(C)V
 HPLandroid/telephony/ims/ImsCallSession;->stopDtmf()V
 HPLandroid/telephony/ims/ImsCallSession;->terminate(I)V
 HPLandroid/telephony/ims/ImsCallSession;->toString()Ljava/lang/String;
+HPLandroid/telephony/ims/ImsCallSessionListener;->callQualityChanged(Landroid/telephony/CallQuality;)V
+HPLandroid/telephony/ims/ImsCallSessionListener;->callSessionHeld(Landroid/telephony/ims/ImsCallProfile;)V
+HPLandroid/telephony/ims/ImsCallSessionListener;->callSessionInitiated(Landroid/telephony/ims/ImsCallProfile;)V
+HPLandroid/telephony/ims/ImsCallSessionListener;->callSessionProgressing(Landroid/telephony/ims/ImsStreamMediaProfile;)V
+HPLandroid/telephony/ims/ImsCallSessionListener;->callSessionResumed(Landroid/telephony/ims/ImsCallProfile;)V
+HPLandroid/telephony/ims/ImsCallSessionListener;->callSessionTerminated(Landroid/telephony/ims/ImsReasonInfo;)V
+HPLandroid/telephony/ims/ImsCallSessionListener;->callSessionUpdated(Landroid/telephony/ims/ImsCallProfile;)V
+HPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onRegistering$2$ImsMmTelManager$RegistrationCallback$RegistrationBinder(I)V
+HPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onRegistering$3$ImsMmTelManager$RegistrationCallback$RegistrationBinder(I)V
 HPLandroid/telephony/ims/ImsReasonInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/ims/ImsReasonInfo;
 HPLandroid/telephony/ims/ImsReasonInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/telephony/ims/ImsReasonInfo;-><init>()V
 HPLandroid/telephony/ims/ImsReasonInfo;-><init>(II)V
+HPLandroid/telephony/ims/ImsService$1;->disableIms(I)V
 HPLandroid/telephony/ims/ImsStreamMediaProfile$1;-><init>()V
 HPLandroid/telephony/ims/ImsStreamMediaProfile;-><init>()V
 HPLandroid/telephony/ims/ImsStreamMediaProfile;->copyFrom(Landroid/telephony/ims/ImsStreamMediaProfile;)V
+HPLandroid/telephony/ims/ImsStreamMediaProfile;->setRttMode(I)V
 HPLandroid/telephony/ims/ImsStreamMediaProfile;->toString()Ljava/lang/String;
-HPLandroid/telephony/ims/ImsVideoCallProvider$1;->handleMessage(Landroid/os/Message;)V
-HPLandroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;->requestCallDataUsage()V
-HPLandroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;->setCallback(Lcom/android/ims/internal/IImsVideoCallCallback;)V
-HPLandroid/telephony/ims/ImsVideoCallProvider;-><init>()V
-HPLandroid/telephony/ims/ImsVideoCallProvider;->changeCallDataUsage(J)V
-HPLandroid/telephony/ims/ImsVideoCallProvider;->getInterface()Lcom/android/ims/internal/IImsVideoCallProvider;
-HPLandroid/telephony/ims/ImsVideoCallProvider;->onRequestCallDataUsage()V
-HPLandroid/telephony/ims/ImsVideoCallProvider;->onRequestCameraCapabilities()V
-HPLandroid/telephony/ims/ImsVideoCallProvider;->onSendSessionModifyRequest(Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-HPLandroid/telephony/ims/ImsVideoCallProvider;->onSendSessionModifyResponse(Landroid/telecom/VideoProfile;)V
-HPLandroid/telephony/ims/ImsVideoCallProvider;->onSetCamera(Ljava/lang/String;)V
-HPLandroid/telephony/ims/ImsVideoCallProvider;->onSetDeviceOrientation(I)V
-HPLandroid/telephony/ims/ImsVideoCallProvider;->onSetDisplaySurface(Landroid/view/Surface;)V
-HPLandroid/telephony/ims/ImsVideoCallProvider;->onSetPauseImage(Landroid/net/Uri;)V
-HPLandroid/telephony/ims/ImsVideoCallProvider;->onSetPreviewSurface(Landroid/view/Surface;)V
-HPLandroid/telephony/ims/ImsVideoCallProvider;->onSetZoom(F)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionConferenceExtendFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionConferenceExtendReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionConferenceExtended(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionConferenceStateUpdated(Landroid/telephony/ims/ImsConferenceState;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionHandover(IILandroid/telephony/ims/ImsReasonInfo;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionHandoverFailed(IILandroid/telephony/ims/ImsReasonInfo;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionHeld(Landroid/telephony/ims/ImsCallProfile;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionHoldFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionHoldReceived(Landroid/telephony/ims/ImsCallProfile;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionInitiated(Landroid/telephony/ims/ImsCallProfile;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionInitiatedFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionInviteParticipantsRequestDelivered()V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionInviteParticipantsRequestFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionMayHandover(II)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionMergeComplete(Lcom/android/ims/internal/IImsCallSession;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionMergeFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionMergeStarted(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionMultipartyStateChanged(Z)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionProgressing(Landroid/telephony/ims/ImsStreamMediaProfile;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionRemoveParticipantsRequestDelivered()V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionRemoveParticipantsRequestFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionResumeFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionResumeReceived(Landroid/telephony/ims/ImsCallProfile;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionResumed(Landroid/telephony/ims/ImsCallProfile;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionRttMessageReceived(Ljava/lang/String;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionRttModifyRequestReceived(Landroid/telephony/ims/ImsCallProfile;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionRttModifyResponseReceived(I)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionSuppServiceReceived(Landroid/telephony/ims/ImsSuppServiceNotification;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionTerminated(Landroid/telephony/ims/ImsReasonInfo;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionTtyModeReceived(I)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionUpdateFailed(Landroid/telephony/ims/ImsReasonInfo;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionUpdateReceived(Landroid/telephony/ims/ImsCallProfile;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionUpdated(Landroid/telephony/ims/ImsCallProfile;)V
-HPLandroid/telephony/ims/aidl/IImsCallSessionListener;->callSessionUssdMessageReceived(ILjava/lang/String;)V
 HPLandroid/telephony/ims/aidl/IImsCapabilityCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/telephony/ims/aidl/IImsCapabilityCallback$Stub$Proxy;->onCapabilitiesStatusChanged(I)V
-HPLandroid/telephony/ims/aidl/IImsCapabilityCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/telephony/ims/aidl/IImsConfig$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/telephony/ims/aidl/IImsConfig$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/telephony/ims/aidl/IImsMmTelFeature$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/telephony/ims/aidl/IImsRegistration$Stub$Proxy;->getRegistrationTechnology()I
 HPLandroid/telephony/ims/aidl/IImsRegistration$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/telephony/ims/aidl/IImsRegistration$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub$Proxy;->onDeregistered(Landroid/telephony/ims/ImsReasonInfo;)V
 HPLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub$Proxy;->onRegistered(I)V
 HPLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub$Proxy;->onRegistering(I)V
-HPLandroid/telephony/ims/compat/feature/MMTelFeature$1;->createCallProfile(III)Landroid/telephony/ims/ImsCallProfile;
-HPLandroid/telephony/ims/compat/feature/MMTelFeature$1;->createCallSession(ILandroid/telephony/ims/ImsCallProfile;)Lcom/android/ims/internal/IImsCallSession;
-HPLandroid/telephony/ims/compat/feature/MMTelFeature$1;->getPendingCallSession(ILjava/lang/String;)Lcom/android/ims/internal/IImsCallSession;
-HPLandroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionProgressing(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsStreamMediaProfile;)V
-HPLandroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionStarted(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLandroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionTerminated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-HPLandroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;->callSessionUpdated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLandroid/telephony/ims/compat/stub/ImsCallSessionImplBase;-><init>()V
-HPLandroid/telephony/ims/compat/stub/ImsCallSessionImplBase;->setListener(Landroid/telephony/ims/aidl/IImsCallSessionListener;)V
-HPLandroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->getProvisionedValue(I)I
+HPLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub$Proxy;->onSubscriberAssociatedUriChanged([Landroid/net/Uri;)V
+HPLandroid/telephony/ims/aidl/IImsServiceController$Stub$Proxy;->enableIms(I)V
+HPLandroid/telephony/ims/aidl/IRcs$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/telephony/ims/feature/MmTelFeature$1;->acknowledgeSms(III)V
 HPLandroid/telephony/ims/feature/MmTelFeature$1;->createCallProfile(II)Landroid/telephony/ims/ImsCallProfile;
 HPLandroid/telephony/ims/feature/MmTelFeature$1;->createCallSession(Landroid/telephony/ims/ImsCallProfile;)Lcom/android/ims/internal/IImsCallSession;
+HPLandroid/telephony/ims/feature/MmTelFeature$1;->getSmsFormat()Ljava/lang/String;
+HPLandroid/telephony/ims/feature/MmTelFeature$1;->sendSms(IILjava/lang/String;Ljava/lang/String;Z[B)V
 HPLandroid/telephony/ims/feature/MmTelFeature$1;->shouldProcessCall([Ljava/lang/String;)I
-HPLandroid/telephony/ims/feature/MmTelFeature;->notifyIncomingCallSession(Lcom/android/ims/internal/IImsCallSession;Landroid/os/Bundle;)V
+HPLandroid/telephony/ims/feature/MmTelFeature;->createCallSessionInterface(Landroid/telephony/ims/ImsCallProfile;)Lcom/android/ims/internal/IImsCallSession;
+HPLandroid/telephony/ims/feature/MmTelFeature;->notifyIncomingCall(Landroid/telephony/ims/stub/ImsCallSessionImplBase;Landroid/os/Bundle;)V
 HPLandroid/telephony/ims/feature/MmTelFeature;->shouldProcessCall([Ljava/lang/String;)I
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->accept(ILandroid/telephony/ims/ImsStreamMediaProfile;)V
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->close()V
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->getCallId()Ljava/lang/String;
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->getCallProfile()Landroid/telephony/ims/ImsCallProfile;
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->getLocalCallProfile()Landroid/telephony/ims/ImsCallProfile;
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->getRemoteCallProfile()Landroid/telephony/ims/ImsCallProfile;
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->getState()I
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->getVideoCallProvider()Lcom/android/ims/internal/IImsVideoCallProvider;
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->hold(Landroid/telephony/ims/ImsStreamMediaProfile;)V
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->isMultiparty()Z
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->reject(I)V
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->resume(Landroid/telephony/ims/ImsStreamMediaProfile;)V
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->setListener(Landroid/telephony/ims/aidl/IImsCallSessionListener;)V
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->start(Ljava/lang/String;Landroid/telephony/ims/ImsCallProfile;)V
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->startDtmf(C)V
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->stopDtmf()V
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase$1;->terminate(I)V
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase;-><init>()V
+HPLandroid/telephony/ims/stub/ImsCallSessionImplBase;->getServiceImpl()Lcom/android/ims/internal/IImsCallSession;
 HPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->getConfigInt(I)I
-HPLandroid/text/-$$Lambda$Layout$MzjK2UE2G8VG0asK8_KWY3gHAmY;->accept(FFFFI)V
+HPLandroid/telephony/ims/stub/ImsSmsImplBase;->onSendSmsResult(IIII)V
+HPLandroid/telephony/ims/stub/ImsSmsImplBase;->onSmsReceived(ILjava/lang/String;[B)V
 HPLandroid/text/Annotation;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/text/Annotation;->getKey()Ljava/lang/String;
+HPLandroid/text/Annotation;->getSpanTypeIdInternal()I
+HPLandroid/text/Annotation;->getValue()Ljava/lang/String;
+HPLandroid/text/Annotation;->writeToParcelInternal(Landroid/os/Parcel;I)V
 HPLandroid/text/BidiFormatter;->unicodeWrap(Ljava/lang/String;Landroid/text/TextDirectionHeuristic;Z)Ljava/lang/String;
 HPLandroid/text/CharSequenceCharacterIterator;->current()C
 HPLandroid/text/CharSequenceCharacterIterator;->first()C
@@ -6013,330 +6581,266 @@
 HPLandroid/text/CharSequenceCharacterIterator;->getEndIndex()I
 HPLandroid/text/CharSequenceCharacterIterator;->getIndex()I
 HPLandroid/text/CharSequenceCharacterIterator;->next()C
-HPLandroid/text/CharSequenceCharacterIterator;->previous()C
 HPLandroid/text/CharSequenceCharacterIterator;->setIndex(I)C
-HPLandroid/text/DynamicLayout;->getEllipsisStart(I)I
-HPLandroid/text/Html;->encodeTextAlignmentByDiv(Ljava/lang/StringBuilder;Landroid/text/Spanned;I)V
-HPLandroid/text/Html;->toHtml(Landroid/text/Spanned;)Ljava/lang/String;
-HPLandroid/text/Html;->withinBlockquoteConsecutive(Ljava/lang/StringBuilder;Landroid/text/Spanned;II)V
-HPLandroid/text/Html;->withinDiv(Ljava/lang/StringBuilder;Landroid/text/Spanned;III)V
-HPLandroid/text/Html;->withinParagraph(Ljava/lang/StringBuilder;Landroid/text/Spanned;II)V
-HPLandroid/text/Html;->withinStyle(Ljava/lang/StringBuilder;Ljava/lang/CharSequence;II)V
-HPLandroid/text/HtmlToSpannedConverter;->endHeading(Landroid/text/Editable;)V
-HPLandroid/text/HtmlToSpannedConverter;->endLi(Landroid/text/Editable;)V
-HPLandroid/text/HtmlToSpannedConverter;->startImg(Landroid/text/Editable;Lorg/xml/sax/Attributes;Landroid/text/Html$ImageGetter;)V
-HPLandroid/text/Layout$SelectionRectangleConsumer;->accept(FFFFI)V
-HPLandroid/text/Layout$TabStops;-><init>(I[Ljava/lang/Object;)V
-HPLandroid/text/Layout$TabStops;->nextTab(F)F
-HPLandroid/text/Layout$TabStops;->reset(I[Ljava/lang/Object;)V
-HPLandroid/text/Layout;->addSelection(IIIIILandroid/text/Layout$SelectionRectangleConsumer;)V
-HPLandroid/text/Layout;->getAlignment()Landroid/text/Layout$Alignment;
-HPLandroid/text/Layout;->getHorizontal(IZZ)F
-HPLandroid/text/Layout;->getLineBounds(ILandroid/graphics/Rect;)I
+HPLandroid/text/DynamicLayout;->getLineExtra(I)I
+HPLandroid/text/Html;->fromHtml(Ljava/lang/String;I)Landroid/text/Spanned;
+HPLandroid/text/Html;->fromHtml(Ljava/lang/String;Landroid/text/Html$ImageGetter;Landroid/text/Html$TagHandler;)Landroid/text/Spanned;
+HPLandroid/text/HtmlToSpannedConverter;->end(Landroid/text/Editable;Ljava/lang/Class;Ljava/lang/Object;)V
+HPLandroid/text/HtmlToSpannedConverter;->handleBr(Landroid/text/Editable;)V
+HPLandroid/text/Layout$HorizontalMeasurementProvider;->init()V
+HPLandroid/text/Layout;->getCursorPath(ILandroid/graphics/Path;Ljava/lang/CharSequence;)V
+HPLandroid/text/Layout;->getHorizontal(IZ)F
+HPLandroid/text/Layout;->getLineBottomWithoutSpacing(I)I
 HPLandroid/text/Layout;->getOffsetAtStartOf(I)I
-HPLandroid/text/Layout;->getSelection(IILandroid/text/Layout$SelectionRectangleConsumer;)V
-HPLandroid/text/Layout;->getSelectionPath(IILandroid/graphics/Path;)V
-HPLandroid/text/Layout;->getText()Ljava/lang/CharSequence;
+HPLandroid/text/Layout;->getOffsetForHorizontal(IF)I
+HPLandroid/text/Layout;->getOffsetForHorizontal(IFZ)I
+HPLandroid/text/Layout;->getPaint()Landroid/text/TextPaint;
+HPLandroid/text/Layout;->getWidth()I
 HPLandroid/text/Layout;->isRtlCharAt(I)Z
-HPLandroid/text/Selection;->removeSelection(Landroid/text/Spannable;)V
-HPLandroid/text/Selection;->setSelection(Landroid/text/Spannable;II)V
-HPLandroid/text/Selection;->setSelection(Landroid/text/Spannable;III)V
+HPLandroid/text/Layout;->shouldClampCursor(I)Z
+HPLandroid/text/MeasuredParagraph;->applyReplacementRun(Landroid/text/style/ReplacementSpan;IILandroid/graphics/text/MeasuredText$Builder;)V
+HPLandroid/text/MeasuredParagraph;->measure(II)F
 HPLandroid/text/SpannableString;->equals(Ljava/lang/Object;)Z
+HPLandroid/text/SpannableString;->valueOf(Ljava/lang/CharSequence;)Landroid/text/SpannableString;
+HPLandroid/text/SpannableStringBuilder;->append(C)Landroid/text/Editable;
 HPLandroid/text/SpannableStringBuilder;->append(C)Ljava/lang/Appendable;
-HPLandroid/text/SpannableStringBuilder;->drawText(Landroid/graphics/BaseCanvas;IIFFLandroid/graphics/Paint;)V
-HPLandroid/text/SpannableStringBuilder;->getTextRunCursor(IIIIILandroid/graphics/Paint;)I
-HPLandroid/text/SpannableStringBuilder;->insert(ILjava/lang/CharSequence;)Landroid/text/Editable;
-HPLandroid/text/SpannableStringBuilder;->measureText(IILandroid/graphics/Paint;)F
-HPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;II)Landroid/text/Editable;
+HPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
+HPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;II)Ljava/lang/Appendable;
+HPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;Ljava/lang/Object;I)Landroid/text/SpannableStringBuilder;
+HPLandroid/text/SpannableStringBuilder;->drawTextRun(Landroid/graphics/BaseCanvas;IIIIFFZLandroid/graphics/Paint;)V
 HPLandroid/text/SpannableStringBuilder;->valueOf(Ljava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
-HPLandroid/text/SpannableStringInternal;->hashCode()I
-HPLandroid/text/SpannedString;->hashCode()I
+HPLandroid/text/SpannableStringInternal;->equals(Ljava/lang/Object;)Z
+HPLandroid/text/SpannableStringInternal;->setSpan(Ljava/lang/Object;III)V
+HPLandroid/text/SpannedString;-><init>(Ljava/lang/CharSequence;Z)V
+HPLandroid/text/SpannedString;->equals(Ljava/lang/Object;)Z
 HPLandroid/text/SpannedString;->subSequence(II)Ljava/lang/CharSequence;
 HPLandroid/text/SpannedString;->valueOf(Ljava/lang/CharSequence;)Landroid/text/SpannedString;
-HPLandroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;IILandroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V
+HPLandroid/text/TextLine$DecorationInfo;->copyInfo()Landroid/text/TextLine$DecorationInfo;
+HPLandroid/text/TextLine;->drawStroke(Landroid/text/TextPaint;Landroid/graphics/Canvas;IFFFFF)V
 HPLandroid/text/TextLine;->getOffsetBeforeAfter(IIIZIZ)I
 HPLandroid/text/TextLine;->getOffsetToLeftRightOf(IZ)I
-HPLandroid/text/TextLine;->nextTab(F)F
-HPLandroid/text/TextUtils;->getOffsetAfter(Ljava/lang/CharSequence;I)I
-HPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;C)I
-HPLandroid/text/TextUtils;->isDigitsOnly(Ljava/lang/CharSequence;)Z
-HPLandroid/text/TextUtils;->stringOrSpannedString(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HPLandroid/text/TextUtils;->toUpperMapToDest(Landroid/icu/text/Edits$Iterator;I)I
-HPLandroid/text/format/DateFormat;->getLongDateFormat(Landroid/content/Context;)Ljava/text/DateFormat;
-HPLandroid/text/format/DateFormat;->getMediumDateFormat(Landroid/content/Context;)Ljava/text/DateFormat;
-HPLandroid/text/format/DateFormat;->getTimeFormatString(Landroid/content/Context;I)Ljava/lang/String;
-HPLandroid/text/format/DateUtils;->getRelativeTimeSpanString(JJJ)Ljava/lang/CharSequence;
+HPLandroid/text/TextPaint;-><init>(Landroid/graphics/Paint;)V
+HPLandroid/text/TextPaint;->getUnderlineThickness()F
+HPLandroid/text/TextUtils;->copySpansFrom(Landroid/text/Spanned;IILjava/lang/Class;Landroid/text/Spannable;I)V
+HPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;)Ljava/lang/CharSequence;
+HPLandroid/text/TextUtils;->getTrimmedLength(Ljava/lang/CharSequence;)I
+HPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I
+HPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;II)I
+HPLandroid/text/TextUtils;->regionMatches(Ljava/lang/CharSequence;ILjava/lang/CharSequence;II)Z
+HPLandroid/text/TextUtils;->split(Ljava/lang/String;Ljava/util/regex/Pattern;)[Ljava/lang/String;
+HPLandroid/text/format/DateFormat;->format(Ljava/lang/CharSequence;Ljava/util/Date;)Ljava/lang/CharSequence;
+HPLandroid/text/format/DateFormat;->getDayOfWeekString(Llibcore/icu/LocaleData;III)Ljava/lang/String;
+HPLandroid/text/format/DateUtils;->formatDuration(J)Ljava/lang/CharSequence;
+HPLandroid/text/format/DateUtils;->formatDuration(JI)Ljava/lang/CharSequence;
+HPLandroid/text/format/DateUtils;->getRelativeDateTimeString(Landroid/content/Context;JJJI)Ljava/lang/CharSequence;
 HPLandroid/text/format/Formatter;->formatShortFileSize(Landroid/content/Context;J)Ljava/lang/String;
-HPLandroid/text/format/Time$TimeCalculator;-><init>(Ljava/lang/String;)V
+HPLandroid/text/format/Time$TimeCalculator;->format2445(Z)Ljava/lang/String;
 HPLandroid/text/format/Time$TimeCalculator;->switchTimeZone(Ljava/lang/String;)V
-HPLandroid/text/format/Time$TimeCalculator;->updateZoneInfoFromTimeZone()V
-HPLandroid/text/format/Time;-><init>(Landroid/text/format/Time;)V
-HPLandroid/text/format/Time;->format3339(Z)Ljava/lang/String;
-HPLandroid/text/format/Time;->getWeekNumber()I
-HPLandroid/text/format/Time;->initialize(Ljava/lang/String;)V
+HPLandroid/text/format/Time;->checkChar(Ljava/lang/String;IC)V
+HPLandroid/text/format/Time;->clear(Ljava/lang/String;)V
+HPLandroid/text/format/Time;->format2445()Ljava/lang/String;
+HPLandroid/text/format/Time;->getActualMaximum(I)I
+HPLandroid/text/format/Time;->getChar(Ljava/lang/String;II)I
 HPLandroid/text/format/Time;->parse(Ljava/lang/String;)Z
 HPLandroid/text/format/Time;->parseInternal(Ljava/lang/String;)Z
 HPLandroid/text/format/Time;->set(III)V
 HPLandroid/text/format/Time;->set(IIIIII)V
 HPLandroid/text/format/Time;->set(Landroid/text/format/Time;)V
-HPLandroid/text/format/Time;->setJulianDay(I)J
 HPLandroid/text/format/Time;->switchTimezone(Ljava/lang/String;)V
-HPLandroid/text/format/Time;->toMillis(Z)J
+HPLandroid/text/format/TimeFormatter;->outputYear(IZZI)V
+HPLandroid/text/method/ArrowKeyMovementMethod;->handleMovementKey(Landroid/widget/TextView;Landroid/text/Spannable;IILandroid/view/KeyEvent;)Z
+HPLandroid/text/method/ArrowKeyMovementMethod;->onTouchEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z
+HPLandroid/text/method/BaseKeyListener;->adjustReplacementSpan(Ljava/lang/CharSequence;IZ)I
 HPLandroid/text/method/BaseKeyListener;->backspace(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
 HPLandroid/text/method/BaseKeyListener;->backspaceOrForwardDelete(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;Z)Z
 HPLandroid/text/method/BaseKeyListener;->getOffsetForBackspaceKey(Ljava/lang/CharSequence;I)I
-HPLandroid/text/method/DialerKeyListener;->getAcceptedChars()[C
+HPLandroid/text/method/BaseMovementMethod;->getMovementMetaState(Landroid/text/Spannable;Landroid/view/KeyEvent;)I
+HPLandroid/text/method/BaseMovementMethod;->handleMovementKey(Landroid/widget/TextView;Landroid/text/Spannable;IILandroid/view/KeyEvent;)Z
+HPLandroid/text/method/BaseMovementMethod;->initialize(Landroid/widget/TextView;Landroid/text/Spannable;)V
+HPLandroid/text/method/BaseMovementMethod;->onKeyDown(Landroid/widget/TextView;Landroid/text/Spannable;ILandroid/view/KeyEvent;)Z
+HPLandroid/text/method/BaseMovementMethod;->onKeyUp(Landroid/widget/TextView;Landroid/text/Spannable;ILandroid/view/KeyEvent;)Z
 HPLandroid/text/method/DigitsKeyListener;-><init>(Ljava/util/Locale;ZZ)V
 HPLandroid/text/method/DigitsKeyListener;->filter(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Ljava/lang/CharSequence;
 HPLandroid/text/method/DigitsKeyListener;->getAcceptedChars()[C
 HPLandroid/text/method/DigitsKeyListener;->getInstance(Ljava/util/Locale;ZZ)Landroid/text/method/DigitsKeyListener;
-HPLandroid/text/method/LinkMovementMethod;->canSelectArbitrarily()Z
-HPLandroid/text/method/LinkMovementMethod;->onTouchEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z
-HPLandroid/text/method/MetaKeyKeyListener;-><init>()V
+HPLandroid/text/method/LinkMovementMethod;-><init>()V
+HPLandroid/text/method/LinkMovementMethod;->getInstance()Landroid/text/method/MovementMethod;
+HPLandroid/text/method/LinkMovementMethod;->initialize(Landroid/widget/TextView;Landroid/text/Spannable;)V
+HPLandroid/text/method/MetaKeyKeyListener;->adjustMetaAfterKeypress(Landroid/text/Spannable;)V
 HPLandroid/text/method/MetaKeyKeyListener;->getMetaState(JI)I
 HPLandroid/text/method/MetaKeyKeyListener;->getMetaState(Ljava/lang/CharSequence;ILandroid/view/KeyEvent;)I
-HPLandroid/text/method/NumberKeyListener;->filter(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Ljava/lang/CharSequence;
+HPLandroid/text/method/MetaKeyKeyListener;->onKeyDown(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
+HPLandroid/text/method/MetaKeyKeyListener;->onKeyUp(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
+HPLandroid/text/method/NumberKeyListener;->lookup(Landroid/view/KeyEvent;Landroid/text/Spannable;)I
+HPLandroid/text/method/NumberKeyListener;->ok([CC)Z
 HPLandroid/text/method/PasswordTransformationMethod$PasswordCharSequence;->charAt(I)C
+HPLandroid/text/method/PasswordTransformationMethod$PasswordCharSequence;->getChars(II[CI)V
+HPLandroid/text/method/PasswordTransformationMethod$PasswordCharSequence;->length()I
+HPLandroid/text/method/PasswordTransformationMethod$PasswordCharSequence;->subSequence(II)Ljava/lang/CharSequence;
+HPLandroid/text/method/PasswordTransformationMethod$PasswordCharSequence;->toString()Ljava/lang/String;
 HPLandroid/text/method/PasswordTransformationMethod$Visible;->run()V
 HPLandroid/text/method/PasswordTransformationMethod;->afterTextChanged(Landroid/text/Editable;)V
 HPLandroid/text/method/PasswordTransformationMethod;->beforeTextChanged(Ljava/lang/CharSequence;III)V
+HPLandroid/text/method/PasswordTransformationMethod;->getInstance()Landroid/text/method/PasswordTransformationMethod;
+HPLandroid/text/method/PasswordTransformationMethod;->getTransformation(Ljava/lang/CharSequence;Landroid/view/View;)Ljava/lang/CharSequence;
+HPLandroid/text/method/PasswordTransformationMethod;->onFocusChanged(Landroid/view/View;Ljava/lang/CharSequence;ZILandroid/graphics/Rect;)V
 HPLandroid/text/method/PasswordTransformationMethod;->onTextChanged(Ljava/lang/CharSequence;III)V
+HPLandroid/text/method/QwertyKeyListener;->onKeyDown(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
+HPLandroid/text/method/ReplacementTransformationMethod$ReplacementCharSequence;->toString()Ljava/lang/String;
+HPLandroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;->getSpanEnd(Ljava/lang/Object;)I
+HPLandroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;->getSpanFlags(Ljava/lang/Object;)I
+HPLandroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;->getSpanStart(Ljava/lang/Object;)I
+HPLandroid/text/method/ScrollingMovementMethod;-><init>()V
 HPLandroid/text/method/TextKeyListener$SettingsObserver;->onChange(Z)V
-HPLandroid/text/method/TextKeyListener;->clear(Landroid/text/Editable;)V
-HPLandroid/text/method/Touch;->scrollTo(Landroid/widget/TextView;Landroid/text/Layout;II)V
+HPLandroid/text/method/TextKeyListener;->getKeyListener(Landroid/view/KeyEvent;)Landroid/text/method/KeyListener;
+HPLandroid/text/method/TextKeyListener;->getPrefs(Landroid/content/Context;)I
+HPLandroid/text/method/TextKeyListener;->initPrefs(Landroid/content/Context;)V
+HPLandroid/text/method/TextKeyListener;->onKeyDown(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
+HPLandroid/text/method/TextKeyListener;->onKeyUp(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
+HPLandroid/text/method/TextKeyListener;->updatePrefs(Landroid/content/ContentResolver;)V
+HPLandroid/text/method/Touch;->onTouchEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z
+HPLandroid/text/method/WordIterator;-><init>(Ljava/util/Locale;)V
 HPLandroid/text/method/WordIterator;->checkOffsetIsValid(I)V
 HPLandroid/text/method/WordIterator;->following(I)I
 HPLandroid/text/method/WordIterator;->getBeginning(I)I
 HPLandroid/text/method/WordIterator;->getBeginning(IZ)I
 HPLandroid/text/method/WordIterator;->getEnd(I)I
 HPLandroid/text/method/WordIterator;->getEnd(IZ)I
+HPLandroid/text/method/WordIterator;->isMidWordPunctuation(Ljava/util/Locale;I)Z
 HPLandroid/text/method/WordIterator;->preceding(I)I
 HPLandroid/text/method/WordIterator;->setCharSequence(Ljava/lang/CharSequence;II)V
 HPLandroid/text/style/AbsoluteSizeSpan;-><init>(I)V
-HPLandroid/text/style/AbsoluteSizeSpan;-><init>(IZ)V
+HPLandroid/text/style/AbsoluteSizeSpan;->getSpanTypeIdInternal()I
 HPLandroid/text/style/AbsoluteSizeSpan;->updateDrawState(Landroid/text/TextPaint;)V
 HPLandroid/text/style/AbsoluteSizeSpan;->updateMeasureState(Landroid/text/TextPaint;)V
-HPLandroid/text/style/AlignmentSpan$Standard;-><init>(Landroid/text/Layout$Alignment;)V
-HPLandroid/text/style/AlignmentSpan$Standard;->getAlignment()Landroid/text/Layout$Alignment;
-HPLandroid/text/style/AlignmentSpan;->getAlignment()Landroid/text/Layout$Alignment;
-HPLandroid/text/style/BackgroundColorSpan;->updateDrawState(Landroid/text/TextPaint;)V
-HPLandroid/text/style/BulletSpan;-><init>(I)V
-HPLandroid/text/style/BulletSpan;->drawLeadingMargin(Landroid/graphics/Canvas;Landroid/graphics/Paint;IIIIILjava/lang/CharSequence;IIZLandroid/text/Layout;)V
-HPLandroid/text/style/BulletSpan;->getLeadingMargin(Z)I
-HPLandroid/text/style/CharacterStyle$Passthrough;-><init>(Landroid/text/style/CharacterStyle;)V
-HPLandroid/text/style/CharacterStyle$Passthrough;->updateDrawState(Landroid/text/TextPaint;)V
+HPLandroid/text/style/AbsoluteSizeSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
+HPLandroid/text/style/BackgroundColorSpan;-><init>(I)V
+HPLandroid/text/style/BackgroundColorSpan;->getSpanTypeIdInternal()I
+HPLandroid/text/style/BackgroundColorSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
+HPLandroid/text/style/CharacterStyle;-><init>()V
+HPLandroid/text/style/ClickableSpan;-><init>()V
+HPLandroid/text/style/ClickableSpan;->updateDrawState(Landroid/text/TextPaint;)V
 HPLandroid/text/style/DynamicDrawableSpan;->draw(Landroid/graphics/Canvas;Ljava/lang/CharSequence;IIFIIILandroid/graphics/Paint;)V
-HPLandroid/text/style/LeadingMarginSpan$Standard;-><init>(I)V
-HPLandroid/text/style/LeadingMarginSpan$Standard;->drawLeadingMargin(Landroid/graphics/Canvas;Landroid/graphics/Paint;IIIIILjava/lang/CharSequence;IIZLandroid/text/Layout;)V
-HPLandroid/text/style/LeadingMarginSpan$Standard;->getLeadingMargin(Z)I
-HPLandroid/text/style/MetricAffectingSpan$Passthrough;-><init>(Landroid/text/style/MetricAffectingSpan;)V
-HPLandroid/text/style/RelativeSizeSpan;->getSpanTypeIdInternal()I
-HPLandroid/text/style/RelativeSizeSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
+HPLandroid/text/style/ImageSpan;-><init>(Landroid/graphics/drawable/Drawable;)V
+HPLandroid/text/style/LocaleSpan;-><init>(Ljava/util/Locale;)V
+HPLandroid/text/style/LocaleSpan;->getSpanTypeIdInternal()I
+HPLandroid/text/style/LocaleSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
+HPLandroid/text/style/MetricAffectingSpan;-><init>()V
+HPLandroid/text/style/MetricAffectingSpan;->getUnderlying()Landroid/text/style/CharacterStyle;
+HPLandroid/text/style/MetricAffectingSpan;->getUnderlying()Landroid/text/style/MetricAffectingSpan;
+HPLandroid/text/style/ReplacementSpan;-><init>()V
+HPLandroid/text/style/ScaleXSpan;-><init>(F)V
+HPLandroid/text/style/ScaleXSpan;->updateDrawState(Landroid/text/TextPaint;)V
+HPLandroid/text/style/SpellCheckSpan;->getSpanTypeIdInternal()I
 HPLandroid/text/style/SpellCheckSpan;->isSpellCheckInProgress()Z
 HPLandroid/text/style/SpellCheckSpan;->setSpellCheckInProgress(Z)V
-HPLandroid/text/style/StrikethroughSpan;-><init>()V
-HPLandroid/text/style/StrikethroughSpan;->updateDrawState(Landroid/text/TextPaint;)V
-HPLandroid/text/style/StyleSpan;->getStyle()I
+HPLandroid/text/style/SpellCheckSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
+HPLandroid/text/style/StyleSpan;-><init>(I)V
+HPLandroid/text/style/StyleSpan;->getSpanTypeIdInternal()I
+HPLandroid/text/style/StyleSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
+HPLandroid/text/style/SuggestionSpan;-><init>(Landroid/content/Context;Ljava/util/Locale;[Ljava/lang/String;ILjava/lang/Class;)V
+HPLandroid/text/style/SuggestionSpan;-><init>(Landroid/content/Context;[Ljava/lang/String;I)V
+HPLandroid/text/style/SuggestionSpan;-><init>(Landroid/os/Parcel;)V
+HPLandroid/text/style/SuggestionSpan;->getSpanTypeIdInternal()I
+HPLandroid/text/style/SuggestionSpan;->initStyle(Landroid/content/Context;)V
+HPLandroid/text/style/SuggestionSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
 HPLandroid/text/style/SuperscriptSpan;-><init>()V
 HPLandroid/text/style/SuperscriptSpan;->updateDrawState(Landroid/text/TextPaint;)V
-HPLandroid/text/style/SuperscriptSpan;->updateMeasureState(Landroid/text/TextPaint;)V
 HPLandroid/text/style/TextAppearanceSpan;-><init>(Landroid/os/Parcel;)V
-HPLandroid/text/style/TtsSpan$Builder;->build()Landroid/text/style/TtsSpan;
-HPLandroid/text/style/TtsSpan$Builder;->setStringArgument(Ljava/lang/String;Ljava/lang/String;)Landroid/text/style/TtsSpan$Builder;
-HPLandroid/text/style/TtsSpan$VerbatimBuilder;-><init>(Ljava/lang/String;)V
-HPLandroid/text/style/TtsSpan$VerbatimBuilder;->setVerbatim(Ljava/lang/String;)Landroid/text/style/TtsSpan$VerbatimBuilder;
-HPLandroid/text/style/UnderlineSpan;-><init>()V
+HPLandroid/text/style/TextAppearanceSpan;->getSpanTypeIdInternal()I
+HPLandroid/text/style/TextAppearanceSpan;->updateDrawState(Landroid/text/TextPaint;)V
+HPLandroid/text/style/TextAppearanceSpan;->updateMeasureState(Landroid/text/TextPaint;)V
+HPLandroid/text/style/TextAppearanceSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
+HPLandroid/text/style/TtsSpan;->getSpanTypeIdInternal()I
+HPLandroid/text/style/TtsSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
+HPLandroid/text/style/URLSpan;-><init>(Ljava/lang/String;)V
+HPLandroid/text/style/URLSpan;->getURL()Ljava/lang/String;
 HPLandroid/text/style/UnderlineSpan;->getSpanTypeIdInternal()I
+HPLandroid/text/style/UnderlineSpan;->updateDrawState(Landroid/text/TextPaint;)V
 HPLandroid/text/style/UnderlineSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-HPLandroid/text/util/Linkify$4;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HPLandroid/text/util/Linkify;->addLinks(Landroid/widget/TextView;I)Z
-HPLandroid/text/util/Linkify;->addLinks(Landroid/widget/TextView;Ljava/util/regex/Pattern;Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;)V
-HPLandroid/text/util/Rfc822Token;->quoteName(Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/transition/ArcMotion;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HPLandroid/transition/ArcMotion;->getPath(FFFF)Landroid/graphics/Path;
-HPLandroid/transition/ArcMotion;->setMaximumAngle(F)V
-HPLandroid/transition/ArcMotion;->setMinimumHorizontalAngle(F)V
-HPLandroid/transition/ArcMotion;->setMinimumVerticalAngle(F)V
-HPLandroid/transition/ArcMotion;->toTangent(F)F
-HPLandroid/transition/ChangeBounds$2;->set(Landroid/transition/ChangeBounds$ViewBounds;Landroid/graphics/PointF;)V
-HPLandroid/transition/ChangeBounds$2;->set(Ljava/lang/Object;Ljava/lang/Object;)V
-HPLandroid/transition/ChangeBounds$3;->set(Landroid/transition/ChangeBounds$ViewBounds;Landroid/graphics/PointF;)V
-HPLandroid/transition/ChangeBounds$3;->set(Ljava/lang/Object;Ljava/lang/Object;)V
-HPLandroid/transition/ChangeBounds$4;->set(Landroid/view/View;Landroid/graphics/PointF;)V
-HPLandroid/transition/ChangeBounds$4;->set(Ljava/lang/Object;Ljava/lang/Object;)V
-HPLandroid/transition/ChangeBounds$5;->set(Landroid/view/View;Landroid/graphics/PointF;)V
-HPLandroid/transition/ChangeBounds$5;->set(Ljava/lang/Object;Ljava/lang/Object;)V
-HPLandroid/transition/ChangeBounds$6;->set(Landroid/view/View;Landroid/graphics/PointF;)V
-HPLandroid/transition/ChangeBounds$6;->set(Ljava/lang/Object;Ljava/lang/Object;)V
-HPLandroid/transition/ChangeBounds$7;-><init>(Landroid/transition/ChangeBounds;Landroid/view/ViewGroup;)V
-HPLandroid/transition/ChangeBounds$7;->onTransitionEnd(Landroid/transition/Transition;)V
-HPLandroid/transition/ChangeBounds$8;-><init>(Landroid/transition/ChangeBounds;Landroid/transition/ChangeBounds$ViewBounds;)V
-HPLandroid/transition/ChangeBounds$ViewBounds;-><init>(Landroid/view/View;)V
-HPLandroid/transition/ChangeBounds$ViewBounds;->setBottomRight(Landroid/graphics/PointF;)V
-HPLandroid/transition/ChangeBounds$ViewBounds;->setTopLeft(Landroid/graphics/PointF;)V
+HPLandroid/text/util/-$$Lambda$Linkify$7J_-cMhIF2bcttjkxA2jDFP8sKw;-><init>()V
+HPLandroid/text/util/Linkify$1;-><init>()V
+HPLandroid/text/util/Linkify$2;-><init>()V
+HPLandroid/text/util/Linkify$3;-><init>()V
+HPLandroid/text/util/Linkify;->addLinks(Landroid/text/Spannable;I)Z
+HPLandroid/text/util/Linkify;->addLinks(Landroid/text/Spannable;ILandroid/content/Context;Ljava/util/function/Function;)Z
+HPLandroid/text/util/Linkify;->containsUnsupportedCharacters(Ljava/lang/String;)Z
+HPLandroid/text/util/Linkify;->gatherLinks(Ljava/util/ArrayList;Landroid/text/Spannable;Ljava/util/regex/Pattern;[Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;)V
+HPLandroid/text/util/Linkify;->gatherTelLinks(Ljava/util/ArrayList;Landroid/text/Spannable;Landroid/content/Context;)V
+HPLandroid/text/util/Linkify;->pruneOverlaps(Ljava/util/ArrayList;)V
 HPLandroid/transition/ChangeBounds;-><init>()V
-HPLandroid/transition/ChangeBounds;->captureEndValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/ChangeBounds;->captureStartValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/ChangeBounds;->captureValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/ChangeBounds;->createAnimator(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;
-HPLandroid/transition/ChangeBounds;->getTransitionProperties()[Ljava/lang/String;
-HPLandroid/transition/ChangeBounds;->parentMatches(Landroid/view/View;Landroid/view/View;)Z
-HPLandroid/transition/ChangeClipBounds;->captureEndValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/ChangeClipBounds;->captureStartValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/ChangeClipBounds;->captureValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/ChangeClipBounds;->getTransitionProperties()[Ljava/lang/String;
-HPLandroid/transition/ChangeImageTransform$2;->set(Landroid/widget/ImageView;Landroid/graphics/Matrix;)V
-HPLandroid/transition/ChangeImageTransform$2;->set(Ljava/lang/Object;Ljava/lang/Object;)V
-HPLandroid/transition/ChangeImageTransform;-><init>()V
-HPLandroid/transition/ChangeImageTransform;->captureEndValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/ChangeImageTransform;->captureStartValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/ChangeImageTransform;->captureValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/ChangeImageTransform;->createAnimator(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;
-HPLandroid/transition/ChangeImageTransform;->getTransitionProperties()[Ljava/lang/String;
-HPLandroid/transition/ChangeTransform$1;->set(Landroid/transition/ChangeTransform$PathAnimatorMatrix;[F)V
-HPLandroid/transition/ChangeTransform$1;->set(Ljava/lang/Object;Ljava/lang/Object;)V
-HPLandroid/transition/ChangeTransform$2;->set(Landroid/transition/ChangeTransform$PathAnimatorMatrix;Landroid/graphics/PointF;)V
-HPLandroid/transition/ChangeTransform$2;->set(Ljava/lang/Object;Ljava/lang/Object;)V
-HPLandroid/transition/ChangeTransform$3;->onAnimationEnd(Landroid/animation/Animator;)V
-HPLandroid/transition/ChangeTransform$GhostListener;->onTransitionEnd(Landroid/transition/Transition;)V
-HPLandroid/transition/ChangeTransform$PathAnimatorMatrix;-><init>(Landroid/view/View;[F)V
-HPLandroid/transition/ChangeTransform$PathAnimatorMatrix;->setTranslation(Landroid/graphics/PointF;)V
-HPLandroid/transition/ChangeTransform$PathAnimatorMatrix;->setValues([F)V
-HPLandroid/transition/ChangeTransform$Transforms;-><init>(Landroid/view/View;)V
-HPLandroid/transition/ChangeTransform$Transforms;->equals(Ljava/lang/Object;)Z
-HPLandroid/transition/ChangeTransform$Transforms;->restore(Landroid/view/View;)V
-HPLandroid/transition/ChangeTransform;-><init>()V
-HPLandroid/transition/ChangeTransform;->captureEndValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/ChangeTransform;->captureStartValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/ChangeTransform;->captureValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/ChangeTransform;->createAnimator(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;
-HPLandroid/transition/ChangeTransform;->createGhostView(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)V
-HPLandroid/transition/ChangeTransform;->createTransformAnimator(Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;Z)Landroid/animation/ObjectAnimator;
-HPLandroid/transition/ChangeTransform;->getTransitionProperties()[Ljava/lang/String;
-HPLandroid/transition/ChangeTransform;->parentsMatch(Landroid/view/ViewGroup;Landroid/view/ViewGroup;)Z
-HPLandroid/transition/ChangeTransform;->setMatricesForParent(Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)V
-HPLandroid/transition/ChangeTransform;->setTransforms(Landroid/view/View;FFFFFFFF)V
-HPLandroid/transition/CircularPropagation;->getStartDelay(Landroid/view/ViewGroup;Landroid/transition/Transition;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)J
-HPLandroid/transition/Explode;->calculateOut(Landroid/view/View;Landroid/graphics/Rect;[I)V
-HPLandroid/transition/Explode;->captureEndValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/Explode;->captureStartValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/Explode;->captureValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/Explode;->onAppear(Landroid/view/ViewGroup;Landroid/view/View;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;
-HPLandroid/transition/Fade;->onAppear(Landroid/view/ViewGroup;Landroid/view/View;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;
-HPLandroid/transition/Transition$1;->getPath(FFFF)Landroid/graphics/Path;
-HPLandroid/transition/Transition$EpicenterCallback;-><init>()V
-HPLandroid/transition/Transition$EpicenterCallback;->onGetEpicenter(Landroid/transition/Transition;)Landroid/graphics/Rect;
-HPLandroid/transition/Transition$TransitionListener;->onTransitionEnd(Landroid/transition/Transition;)V
-HPLandroid/transition/Transition$TransitionListener;->onTransitionStart(Landroid/transition/Transition;)V
-HPLandroid/transition/Transition;->addTarget(I)Landroid/transition/Transition;
-HPLandroid/transition/Transition;->addTarget(Ljava/lang/String;)Landroid/transition/Transition;
-HPLandroid/transition/Transition;->createAnimator(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;
-HPLandroid/transition/Transition;->excludeTarget(IZ)Landroid/transition/Transition;
-HPLandroid/transition/Transition;->getEpicenter()Landroid/graphics/Rect;
-HPLandroid/transition/Transition;->getPathMotion()Landroid/transition/PathMotion;
-HPLandroid/transition/Transition;->getTransitionProperties()[Ljava/lang/String;
-HPLandroid/transition/Transition;->isTransitionRequired(Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Z
-HPLandroid/transition/Transition;->isValueChanged(Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;Ljava/lang/String;)Z
-HPLandroid/transition/Transition;->pause(Landroid/view/View;)V
-HPLandroid/transition/Transition;->resume(Landroid/view/View;)V
-HPLandroid/transition/Transition;->setEpicenterCallback(Landroid/transition/Transition$EpicenterCallback;)V
+HPLandroid/transition/Scene;->enter()V
 HPLandroid/transition/Transition;->setInterpolator(Landroid/animation/TimeInterpolator;)Landroid/transition/Transition;
-HPLandroid/transition/Transition;->setPathMotion(Landroid/transition/PathMotion;)V
-HPLandroid/transition/TransitionInflater;->from(Landroid/content/Context;)Landroid/transition/TransitionInflater;
-HPLandroid/transition/TransitionInflater;->getTargetIds(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/transition/Transition;)V
-HPLandroid/transition/TransitionListenerAdapter;->onTransitionPause(Landroid/transition/Transition;)V
-HPLandroid/transition/TransitionListenerAdapter;->onTransitionResume(Landroid/transition/Transition;)V
-HPLandroid/transition/TransitionManager;->endTransitions(Landroid/view/ViewGroup;)V
-HPLandroid/transition/TransitionPropagation;->captureValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/TransitionPropagation;->getPropagationProperties()[Ljava/lang/String;
-HPLandroid/transition/TransitionPropagation;->getStartDelay(Landroid/view/ViewGroup;Landroid/transition/Transition;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)J
-HPLandroid/transition/TransitionSet$1;->onTransitionEnd(Landroid/transition/Transition;)V
-HPLandroid/transition/TransitionSet;->addTarget(I)Landroid/transition/Transition;
-HPLandroid/transition/TransitionSet;->addTarget(I)Landroid/transition/TransitionSet;
-HPLandroid/transition/TransitionSet;->addTarget(Landroid/view/View;)Landroid/transition/Transition;
-HPLandroid/transition/TransitionSet;->excludeTarget(Landroid/view/View;Z)Landroid/transition/Transition;
-HPLandroid/transition/TransitionSet;->getTransitionAt(I)Landroid/transition/Transition;
-HPLandroid/transition/TransitionSet;->pause(Landroid/view/View;)V
-HPLandroid/transition/TransitionSet;->removeListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/Transition;
-HPLandroid/transition/TransitionSet;->removeListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/TransitionSet;
-HPLandroid/transition/TransitionSet;->removeTransition(Landroid/transition/Transition;)Landroid/transition/TransitionSet;
-HPLandroid/transition/TransitionSet;->resume(Landroid/view/View;)V
-HPLandroid/transition/TransitionSet;->setDuration(J)Landroid/transition/Transition;
-HPLandroid/transition/TransitionSet;->setEpicenterCallback(Landroid/transition/Transition$EpicenterCallback;)V
-HPLandroid/transition/TransitionSet;->setInterpolator(Landroid/animation/TimeInterpolator;)Landroid/transition/Transition;
-HPLandroid/transition/TransitionSet;->setInterpolator(Landroid/animation/TimeInterpolator;)Landroid/transition/TransitionSet;
-HPLandroid/transition/TransitionSet;->setPathMotion(Landroid/transition/PathMotion;)V
-HPLandroid/transition/TransitionUtils$MatrixEvaluator;->evaluate(FLandroid/graphics/Matrix;Landroid/graphics/Matrix;)Landroid/graphics/Matrix;
-HPLandroid/transition/TransitionUtils$MatrixEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HPLandroid/transition/TransitionUtils;->createDrawableBitmap(Landroid/graphics/drawable/Drawable;Landroid/view/View;)Landroid/graphics/Bitmap;
-HPLandroid/transition/TransitionValues;-><init>()V
-HPLandroid/transition/TranslationAnimationCreator$TransitionPositionListener;-><init>(Landroid/view/View;Landroid/view/View;IIFF)V
-HPLandroid/transition/TranslationAnimationCreator$TransitionPositionListener;-><init>(Landroid/view/View;Landroid/view/View;IIFFLandroid/transition/TranslationAnimationCreator$1;)V
-HPLandroid/transition/TranslationAnimationCreator$TransitionPositionListener;->onAnimationEnd(Landroid/animation/Animator;)V
-HPLandroid/transition/TranslationAnimationCreator$TransitionPositionListener;->onTransitionEnd(Landroid/transition/Transition;)V
-HPLandroid/transition/TranslationAnimationCreator$TransitionPositionListener;->onTransitionStart(Landroid/transition/Transition;)V
-HPLandroid/transition/TranslationAnimationCreator;->createAnimation(Landroid/view/View;Landroid/transition/TransitionValues;IIFFFFLandroid/animation/TimeInterpolator;Landroid/transition/Transition;)Landroid/animation/Animator;
-HPLandroid/transition/Visibility$DisappearListener;->onAnimationEnd(Landroid/animation/Animator;)V
-HPLandroid/transition/Visibility$DisappearListener;->onAnimationPause(Landroid/animation/Animator;)V
-HPLandroid/transition/Visibility$DisappearListener;->onAnimationResume(Landroid/animation/Animator;)V
-HPLandroid/transition/Visibility$DisappearListener;->onAnimationStart(Landroid/animation/Animator;)V
-HPLandroid/transition/Visibility$DisappearListener;->onTransitionEnd(Landroid/transition/Transition;)V
-HPLandroid/transition/Visibility$DisappearListener;->onTransitionPause(Landroid/transition/Transition;)V
-HPLandroid/transition/Visibility$DisappearListener;->onTransitionResume(Landroid/transition/Transition;)V
-HPLandroid/transition/Visibility;-><init>()V
-HPLandroid/transition/Visibility;->captureEndValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/Visibility;->captureStartValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/Visibility;->getTransitionProperties()[Ljava/lang/String;
-HPLandroid/transition/Visibility;->isTransitionRequired(Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Z
-HPLandroid/transition/Visibility;->onAppear(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;ILandroid/transition/TransitionValues;I)Landroid/animation/Animator;
-HPLandroid/transition/Visibility;->setSuppressLayout(Z)V
-HPLandroid/transition/VisibilityPropagation;->captureValues(Landroid/transition/TransitionValues;)V
-HPLandroid/transition/VisibilityPropagation;->getPropagationProperties()[Ljava/lang/String;
-HPLandroid/transition/VisibilityPropagation;->getViewVisibility(Landroid/transition/TransitionValues;)I
-HPLandroid/transition/VisibilityPropagation;->getViewX(Landroid/transition/TransitionValues;)I
-HPLandroid/transition/VisibilityPropagation;->getViewY(Landroid/transition/TransitionValues;)I
 HPLandroid/util/AndroidException;-><init>()V
-HPLandroid/util/AndroidException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-HPLandroid/util/ArrayMap$1;->colIndexOfValue(Ljava/lang/Object;)I
-HPLandroid/util/ArrayMap;->containsValue(Ljava/lang/Object;)Z
-HPLandroid/util/ArrayMap;->getCollection()Landroid/util/MapCollections;
-HPLandroid/util/ArrayMap;->indexOfKey(Ljava/lang/Object;)I
-HPLandroid/util/ArrayMap;->indexOfValue(Ljava/lang/Object;)I
-HPLandroid/util/ArrayMap;->retainAll(Ljava/util/Collection;)Z
-HPLandroid/util/AtomicFile;->delete()V
-HPLandroid/util/AtomicFile;->failWrite(Ljava/io/FileOutputStream;)V
-HPLandroid/util/BackupUtils;->writeString(Ljava/io/DataOutputStream;Ljava/lang/String;)V
-HPLandroid/util/ByteStringUtils;->fromHexToByteArray(Ljava/lang/String;)[B
-HPLandroid/util/ByteStringUtils;->toHexString([B)Ljava/lang/String;
+HPLandroid/util/ArrayMap$1;->colGetMap()Ljava/util/Map;
+HPLandroid/util/ArrayMap$1;->colSetValue(ILjava/lang/Object;)Ljava/lang/Object;
+HPLandroid/util/ArrayMap;->setValueAt(ILjava/lang/Object;)Ljava/lang/Object;
+HPLandroid/util/ArraySet;->valueAtUnchecked(I)Ljava/lang/Object;
+HPLandroid/util/Base64$Encoder;->maxOutputSize(I)I
+HPLandroid/util/Base64OutputStream;-><init>(Ljava/io/OutputStream;I)V
+HPLandroid/util/Base64OutputStream;->close()V
+HPLandroid/util/Base64OutputStream;->internalWrite([BIIZ)V
+HPLandroid/util/Base64OutputStream;->write([BII)V
 HPLandroid/util/ContainerHelpers;->binarySearch([JIJ)I
+HPLandroid/util/DisplayMetrics;->equals(Landroid/util/DisplayMetrics;)Z
+HPLandroid/util/DisplayMetrics;->equals(Ljava/lang/Object;)Z
+HPLandroid/util/DisplayMetrics;->equalsPhysical(Landroid/util/DisplayMetrics;)Z
 HPLandroid/util/EventLog$Event;->getProcessId()I
 HPLandroid/util/EventLog$Event;->getThreadId()I
 HPLandroid/util/EventLog$Event;->getUid()I
 HPLandroid/util/EventLog;->getTagCode(Ljava/lang/String;)I
 HPLandroid/util/EventLog;->readTagsFile()V
 HPLandroid/util/ExceptionUtils;->propagate(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
-HPLandroid/util/IconDrawableFactory;->newInstance(Landroid/content/Context;)Landroid/util/IconDrawableFactory;
+HPLandroid/util/JsonReader;->endArray()V
+HPLandroid/util/JsonReader;->nextBoolean()Z
+HPLandroid/util/JsonReader;->nextInt()I
+HPLandroid/util/JsonWriter;-><init>(Ljava/io/Writer;)V
+HPLandroid/util/JsonWriter;->beforeName()V
+HPLandroid/util/JsonWriter;->beforeValue(Z)V
+HPLandroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter;
+HPLandroid/util/JsonWriter;->beginObject()Landroid/util/JsonWriter;
 HPLandroid/util/JsonWriter;->close()V
-HPLandroid/util/JsonWriter;->value(D)Landroid/util/JsonWriter;
+HPLandroid/util/JsonWriter;->close(Landroid/util/JsonScope;Landroid/util/JsonScope;Ljava/lang/String;)Landroid/util/JsonWriter;
+HPLandroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter;
+HPLandroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter;
+HPLandroid/util/JsonWriter;->name(Ljava/lang/String;)Landroid/util/JsonWriter;
+HPLandroid/util/JsonWriter;->open(Landroid/util/JsonScope;Ljava/lang/String;)Landroid/util/JsonWriter;
+HPLandroid/util/JsonWriter;->peek()Landroid/util/JsonScope;
+HPLandroid/util/JsonWriter;->string(Ljava/lang/String;)V
+HPLandroid/util/JsonWriter;->value(J)Landroid/util/JsonWriter;
+HPLandroid/util/JsonWriter;->value(Ljava/lang/String;)Landroid/util/JsonWriter;
+HPLandroid/util/JsonWriter;->value(Z)Landroid/util/JsonWriter;
 HPLandroid/util/KeyValueSettingObserver;-><init>(Landroid/os/Handler;Landroid/content/ContentResolver;Landroid/net/Uri;)V
 HPLandroid/util/KeyValueSettingObserver;->setParserValue()V
 HPLandroid/util/KeyValueSettingObserver;->start()V
-HPLandroid/util/KeyValueSettingObserver;->stop()V
-HPLandroid/util/LocalLog;->readOnlyLocalLog()Landroid/util/LocalLog$ReadOnlyLocalLog;
-HPLandroid/util/Log$1;->onTerribleFailure(Ljava/lang/String;Landroid/util/Log$TerribleFailure;Z)V
-HPLandroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
-HPLandroid/util/Log;->wtf(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
+HPLandroid/util/LocalLog;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLandroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
 HPLandroid/util/LogPrinter;->println(Ljava/lang/String;)V
 HPLandroid/util/LongArray;->clear()V
-HPLandroid/util/LongArray;->clone()Landroid/util/LongArray;
-HPLandroid/util/LongArray;->indexOf(J)I
+HPLandroid/util/LongArrayQueue;-><init>()V
+HPLandroid/util/LongArrayQueue;->addLast(J)V
+HPLandroid/util/LongArrayQueue;->get(I)J
+HPLandroid/util/LongArrayQueue;->grow()V
+HPLandroid/util/LongArrayQueue;->peekFirst()J
+HPLandroid/util/LongArrayQueue;->peekLast()J
+HPLandroid/util/LongArrayQueue;->removeFirst()J
+HPLandroid/util/LongArrayQueue;->size()I
 HPLandroid/util/LongSparseArray;->setValueAt(ILjava/lang/Object;)V
-HPLandroid/util/MapCollections$ValuesCollection;->contains(Ljava/lang/Object;)Z
+HPLandroid/util/LongSparseLongArray;->delete(J)V
+HPLandroid/util/LongSparseLongArray;->get(J)J
+HPLandroid/util/LongSparseLongArray;->removeAt(I)V
+HPLandroid/util/LruCache;->hitCount()I
+HPLandroid/util/LruCache;->missCount()I
+HPLandroid/util/MapCollections$KeySet;->containsAll(Ljava/util/Collection;)Z
+HPLandroid/util/MapCollections$KeySet;->equals(Ljava/lang/Object;)Z
+HPLandroid/util/MapCollections$MapIterator;->remove()V
+HPLandroid/util/MapCollections$MapIterator;->setValue(Ljava/lang/Object;)Ljava/lang/Object;
 HPLandroid/util/MapCollections;-><init>()V
-HPLandroid/util/MapCollections;->retainAllHelper(Ljava/util/Map;Ljava/util/Collection;)Z
+HPLandroid/util/MapCollections;->equalsSetHelper(Ljava/util/Set;Ljava/lang/Object;)Z
 HPLandroid/util/MathUtils;->exp(F)F
 HPLandroid/util/MathUtils;->log(F)F
 HPLandroid/util/MergedConfiguration;-><init>(Landroid/util/MergedConfiguration;)V
+HPLandroid/util/MutableBoolean;-><init>(Z)V
 HPLandroid/util/NtpTrustedTime;->currentTimeMillis()J
 HPLandroid/util/NtpTrustedTime;->forceRefresh()Z
 HPLandroid/util/NtpTrustedTime;->forceRefresh(Landroid/net/Network;)Z
@@ -6344,12 +6848,15 @@
 HPLandroid/util/NtpTrustedTime;->getCacheCertainty()J
 HPLandroid/util/NtpTrustedTime;->getCachedNtpTime()J
 HPLandroid/util/NtpTrustedTime;->getCachedNtpTimeReference()J
-HPLandroid/util/PackageUtils;->computeSha256Digest([B)Ljava/lang/String;
-HPLandroid/util/PackageUtils;->computeSha256DigestBytes([B)[B
 HPLandroid/util/PackageUtils;->computeSignaturesSha256Digest([Landroid/content/pm/Signature;)Ljava/lang/String;
-HPLandroid/util/PathParser$PathData;->setPathData(Landroid/util/PathParser$PathData;)V
-HPLandroid/util/Range;->equals(Ljava/lang/Object;)Z
-HPLandroid/util/Range;->hashCode()I
+HPLandroid/util/PathParser$PathData;-><init>()V
+HPLandroid/util/PathParser$PathData;->getNativePtr()J
+HPLandroid/util/PathParser;->canMorph(Landroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;)Z
+HPLandroid/util/PathParser;->interpolatePathData(Landroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;F)Z
+HPLandroid/util/PrefixPrinter;->create(Landroid/util/Printer;Ljava/lang/String;)Landroid/util/Printer;
+HPLandroid/util/PrefixPrinter;->println(Ljava/lang/String;)V
+HPLandroid/util/PrintWriterPrinter;->println(Ljava/lang/String;)V
+HPLandroid/util/Range;->contains(Ljava/lang/Comparable;)Z
 HPLandroid/util/RecurrenceRule$RecurringIterator;-><init>(Landroid/util/RecurrenceRule;)V
 HPLandroid/util/RecurrenceRule$RecurringIterator;->hasNext()Z
 HPLandroid/util/RecurrenceRule$RecurringIterator;->next()Landroid/util/Range;
@@ -6360,323 +6867,231 @@
 HPLandroid/util/RecurrenceRule;->cycleIterator()Ljava/util/Iterator;
 HPLandroid/util/RecurrenceRule;->equals(Ljava/lang/Object;)Z
 HPLandroid/util/RecurrenceRule;->isMonthly()Z
+HPLandroid/util/RecurrenceRule;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/util/RecurrenceRule;->writeToStream(Ljava/io/DataOutputStream;)V
-HPLandroid/util/Size;->equals(Ljava/lang/Object;)Z
-HPLandroid/util/Size;->getHeight()I
-HPLandroid/util/Size;->getWidth()I
-HPLandroid/util/SizeF;-><init>(FF)V
-HPLandroid/util/SizeF;->getHeight()F
-HPLandroid/util/SizeF;->getWidth()F
-HPLandroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
-HPLandroid/util/Slog;->wtf(Ljava/lang/String;Ljava/lang/String;)I
+HPLandroid/util/SparseArray;->removeAtRange(II)V
+HPLandroid/util/SparseArray;->toString()Ljava/lang/String;
 HPLandroid/util/SparseBooleanArray;->equals(Ljava/lang/Object;)Z
 HPLandroid/util/SparseIntArray;->indexOfValue(I)I
 HPLandroid/util/SparseLongArray;->append(IJ)V
+HPLandroid/util/SparseLongArray;->clear()V
 HPLandroid/util/SparseLongArray;->delete(I)V
 HPLandroid/util/SparseLongArray;->indexOfKey(I)I
 HPLandroid/util/SparseLongArray;->removeAt(I)V
+HPLandroid/util/StateSet;->containsAttribute([[II)Z
+HPLandroid/util/StatsLog;->logEvent(I)Z
+HPLandroid/util/StatsLog;->write(I[Ljava/lang/Object;)V
+HPLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;I)V
+HPLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;II)V
+HPLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;IZZZ)V
+HPLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;Ljava/lang/String;Ljava/lang/String;I)V
 HPLandroid/util/StringBuilderPrinter;->println(Ljava/lang/String;)V
 HPLandroid/util/TimeUtils;->formatDuration(J)Ljava/lang/String;
 HPLandroid/util/TimeUtils;->formatDuration(JLjava/io/PrintWriter;)V
 HPLandroid/util/TimeUtils;->formatForLogging(J)Ljava/lang/String;
 HPLandroid/util/TimeUtils;->formatUptime(J)Ljava/lang/String;
+HPLandroid/util/TimeUtils;->logTimeOfDay(J)Ljava/lang/String;
 HPLandroid/util/TimedRemoteCaller;->getResultTimed(I)Ljava/lang/Object;
 HPLandroid/util/TimedRemoteCaller;->onBeforeRemoteCall()I
 HPLandroid/util/TimedRemoteCaller;->onRemoteMethodResult(Ljava/lang/Object;I)V
-HPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->isSupportedSignatureAlgorithm(I)Z
-HPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->verify(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;Z)Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;
-HPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->verify(Ljava/lang/String;Z)Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;
-HPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->verifyAdditionalAttributes(Ljava/nio/ByteBuffer;)V
-HPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->verifySigner(Ljava/nio/ByteBuffer;Ljava/util/Map;Ljava/security/cert/CertificateFactory;)[Ljava/security/cert/X509Certificate;
-HPLandroid/util/apk/ApkSignatureVerifier;->closeQuietly(Landroid/util/jar/StrictJarFile;)V
-HPLandroid/util/apk/ApkSignatureVerifier;->loadCertificates(Landroid/util/jar/StrictJarFile;Ljava/util/zip/ZipEntry;)[[Ljava/security/cert/Certificate;
-HPLandroid/util/apk/ApkSignatureVerifier;->readFullyIgnoringContents(Ljava/io/InputStream;)V
-HPLandroid/util/apk/ApkSignatureVerifier;->verify(Ljava/lang/String;I)Landroid/content/pm/PackageParser$SigningDetails;
-HPLandroid/util/apk/ApkSignatureVerifier;->verifyV1Signature(Ljava/lang/String;Z)Landroid/content/pm/PackageParser$SigningDetails;
-HPLandroid/util/apk/ApkSigningBlockUtils$1;->create(I)Ljava/nio/ByteBuffer;
-HPLandroid/util/apk/ApkSigningBlockUtils$MultipleDigestDataDigester;-><init>([Ljava/security/MessageDigest;)V
-HPLandroid/util/apk/ApkSigningBlockUtils$MultipleDigestDataDigester;->consume(Ljava/nio/ByteBuffer;)V
-HPLandroid/util/apk/ApkSigningBlockUtils;->computeContentDigestsPer1MbChunk([I[Landroid/util/apk/DataSource;)[[B
-HPLandroid/util/apk/ApkSigningBlockUtils;->getContentDigestAlgorithmJcaDigestAlgorithm(I)Ljava/lang/String;
-HPLandroid/util/apk/ApkSigningBlockUtils;->getContentDigestAlgorithmOutputSizeBytes(I)I
-HPLandroid/util/apk/ApkSigningBlockUtils;->setUnsignedInt32LittleEndian(I[BI)V
-HPLandroid/util/apk/ApkSigningBlockUtils;->verifyIntegrity(Ljava/util/Map;Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;)V
-HPLandroid/util/apk/ApkSigningBlockUtils;->verifyIntegrityFor1MbChunkBasedAlgorithm(Ljava/util/Map;Ljava/io/FileDescriptor;Landroid/util/apk/SignatureInfo;)V
-HPLandroid/util/apk/ApkSigningBlockUtils;->verifyIntegrityForVerityBasedAlgorithm([BLjava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;)V
-HPLandroid/util/apk/ApkVerityBuilder$BufferedDigester;-><init>([BLjava/nio/ByteBuffer;)V
-HPLandroid/util/apk/ApkVerityBuilder$BufferedDigester;->consume(Ljava/nio/ByteBuffer;)V
-HPLandroid/util/apk/ApkVerityBuilder;->assertSigningBlockAlignedAndHasFullPages(Landroid/util/apk/SignatureInfo;)V
-HPLandroid/util/apk/ApkVerityBuilder;->calculateFsveritySignatureInternal(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
-HPLandroid/util/apk/ApkVerityBuilder;->calculateVerityLevelOffset(J)[I
-HPLandroid/util/apk/ApkVerityBuilder;->generateApkVerity(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;Landroid/util/apk/ByteBufferFactory;)Landroid/util/apk/ApkVerityBuilder$ApkVerityResult;
-HPLandroid/util/apk/ApkVerityBuilder;->generateApkVerityDigestAtLeafLevel(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;[BLjava/nio/ByteBuffer;)V
-HPLandroid/util/apk/ApkVerityBuilder;->generateApkVerityTree(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;[B[ILjava/nio/ByteBuffer;)[B
-HPLandroid/util/apk/ApkVerityBuilder;->generateFsverityExtensions(Ljava/nio/ByteBuffer;JJJ)Ljava/nio/ByteBuffer;
-HPLandroid/util/apk/ApkVerityBuilder;->generateFsverityHeader(Ljava/nio/ByteBuffer;JI[B)Ljava/nio/ByteBuffer;
-HPLandroid/util/apk/ByteBufferDataSource;->feedIntoDataDigester(Landroid/util/apk/DataDigester;JI)V
-HPLandroid/util/apk/ByteBufferDataSource;->size()J
-HPLandroid/util/apk/ByteBufferFactory;->create(I)Ljava/nio/ByteBuffer;
-HPLandroid/util/apk/DataDigester;->consume(Ljava/nio/ByteBuffer;)V
-HPLandroid/util/apk/MemoryMappedFileDataSource;->feedIntoDataDigester(Landroid/util/apk/DataDigester;JI)V
-HPLandroid/util/apk/MemoryMappedFileDataSource;->size()J
-HPLandroid/util/apk/WrappedX509Certificate;-><init>(Ljava/security/cert/X509Certificate;)V
-HPLandroid/util/apk/ZipUtils;->setUnsignedInt32(Ljava/nio/ByteBuffer;IJ)V
-HPLandroid/util/jar/StrictJarFile$FDStream;->read([BII)I
-HPLandroid/util/jar/StrictJarFile$JarFileInputStream;->read([BII)I
-HPLandroid/util/jar/StrictJarFile$ZipInflaterInputStream;->read([BII)I
-HPLandroid/util/jar/StrictJarFile;-><init>(Ljava/lang/String;Ljava/io/FileDescriptor;ZZ)V
+HPLandroid/util/TimestampedValue;->referenceTimeDifference(Landroid/util/TimestampedValue;Landroid/util/TimestampedValue;)J
+HPLandroid/util/TypedValue;->getDimension(Landroid/util/DisplayMetrics;)F
+HPLandroid/util/TypedValue;->toString()Ljava/lang/String;
+HPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->getVerityRootHash(Ljava/lang/String;)[B
+HPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->generateApkVerity(Ljava/lang/String;Landroid/util/apk/ByteBufferFactory;)[B
+HPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->getVerityRootHash(Ljava/lang/String;)[B
+HPLandroid/util/apk/ApkSignatureVerifier;->generateApkVerity(Ljava/lang/String;Landroid/util/apk/ByteBufferFactory;)[B
+HPLandroid/util/apk/ApkSignatureVerifier;->getVerityRootHash(Ljava/lang/String;)[B
+HPLandroid/util/apk/VerityBuilder;->generateApkVerity(Ljava/lang/String;Landroid/util/apk/ByteBufferFactory;Landroid/util/apk/SignatureInfo;)[B
 HPLandroid/util/jar/StrictJarFile;-><init>(Ljava/lang/String;ZZ)V
+HPLandroid/util/jar/StrictJarFile;->access$000(JLjava/lang/String;)J
 HPLandroid/util/jar/StrictJarFile;->close()V
-HPLandroid/util/jar/StrictJarFile;->finalize()V
 HPLandroid/util/jar/StrictJarFile;->findEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
-HPLandroid/util/jar/StrictJarFile;->getMetaEntries()Ljava/util/HashMap;
-HPLandroid/util/jar/StrictJarFile;->getZipInputStream(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
-HPLandroid/util/jar/StrictJarManifest;->getAttributes(Ljava/lang/String;)Ljava/util/jar/Attributes;
-HPLandroid/util/jar/StrictJarManifest;->getEntries()Ljava/util/Map;
-HPLandroid/util/jar/StrictJarManifest;->getMainAttributesEnd()I
-HPLandroid/util/jar/StrictJarManifestReader;-><init>([BLjava/util/jar/Attributes;)V
-HPLandroid/util/jar/StrictJarManifestReader;->readEntries(Ljava/util/Map;Ljava/util/Map;)V
-HPLandroid/util/jar/StrictJarManifestReader;->readName()V
-HPLandroid/util/jar/StrictJarManifestReader;->readValue()V
-HPLandroid/util/jar/StrictJarVerifier$VerifierEntry;->verify()V
-HPLandroid/util/jar/StrictJarVerifier$VerifierEntry;->write([BII)V
-HPLandroid/util/jar/StrictJarVerifier;-><init>(Ljava/lang/String;Landroid/util/jar/StrictJarManifest;Ljava/util/HashMap;Z)V
-HPLandroid/util/jar/StrictJarVerifier;->getCertificateChains(Ljava/lang/String;)[[Ljava/security/cert/Certificate;
-HPLandroid/util/jar/StrictJarVerifier;->initEntry(Ljava/lang/String;)Landroid/util/jar/StrictJarVerifier$VerifierEntry;
-HPLandroid/util/jar/StrictJarVerifier;->isSignedJar()Z
-HPLandroid/util/jar/StrictJarVerifier;->readCertificates()Z
-HPLandroid/util/jar/StrictJarVerifier;->verify(Ljava/util/jar/Attributes;Ljava/lang/String;[BIIZZ)Z
-HPLandroid/util/jar/StrictJarVerifier;->verifyBytes([B[B)[Ljava/security/cert/Certificate;
-HPLandroid/util/jar/StrictJarVerifier;->verifyCertificate(Ljava/lang/String;)V
-HPLandroid/util/jar/StrictJarVerifier;->verifyMessageDigest([B[B)Z
-HPLandroid/util/proto/EncodedBuffer;-><init>(I)V
-HPLandroid/util/proto/EncodedBuffer;->editRawFixed32(II)V
-HPLandroid/util/proto/EncodedBuffer;->getBytes(I)[B
-HPLandroid/util/proto/EncodedBuffer;->getRawFixed32At(I)I
-HPLandroid/util/proto/EncodedBuffer;->nextWriteBuffer()V
-HPLandroid/util/proto/EncodedBuffer;->readRawByte()B
-HPLandroid/util/proto/EncodedBuffer;->readRawFixed32()I
-HPLandroid/util/proto/EncodedBuffer;->readRawUnsigned()J
-HPLandroid/util/proto/EncodedBuffer;->rewindWriteTo(I)V
-HPLandroid/util/proto/EncodedBuffer;->skipRead(I)V
-HPLandroid/util/proto/EncodedBuffer;->startEditing()V
-HPLandroid/util/proto/EncodedBuffer;->writeFromThisBuffer(II)V
-HPLandroid/util/proto/EncodedBuffer;->writeRawBuffer([BII)V
 HPLandroid/util/proto/EncodedBuffer;->writeRawFixed64(J)V
-HPLandroid/util/proto/ProtoInputStream;-><init>(Ljava/io/InputStream;I)V
-HPLandroid/util/proto/ProtoInputStream;-><init>(Ljava/io/InputStream;)V
-HPLandroid/util/proto/ProtoInputStream;-><init>([B)V
-HPLandroid/util/proto/ProtoInputStream;->getFieldNumber()I
-HPLandroid/util/proto/ProtoInputStream;->getWireType()I
-HPLandroid/util/proto/ProtoInputStream;->getOffset()I
-HPLandroid/util/proto/ProtoInputStream;->nextField()I
-HPLandroid/util/proto/ProtoInputStream;->isNextField(J)Z
-HPLandroid/util/proto/ProtoInputStream;->readDouble(J)D
-HPLandroid/util/proto/ProtoInputStream;->readFloat(J)F
-HPLandroid/util/proto/ProtoInputStream;->readInt(J)I
-HPLandroid/util/proto/ProtoInputStream;->readLong(J)J
-HPLandroid/util/proto/ProtoInputStream;->readBoolean(J)Z
-HPLandroid/util/proto/ProtoInputStream;->readString(J)Ljava/lang/String;
-HPLandroid/util/proto/ProtoInputStream;->readBytes(J)[B
-HPLandroid/util/proto/ProtoInputStream;->start(J)J
-HPLandroid/util/proto/ProtoInputStream;->end(J)V
-HPLandroid/util/proto/ProtoInputStream;->readTag()V
-HPLandroid/util/proto/ProtoInputStream;->decodeZigZag32(I)I
-HPLandroid/util/proto/ProtoInputStream;->decodeZigZag64(J)J
-HPLandroid/util/proto/ProtoInputStream;->readVarint()J
-HPLandroid/util/proto/ProtoInputStream;->readFixed32()I
-HPLandroid/util/proto/ProtoInputStream;->readFixed64()J
-HPLandroid/util/proto/ProtoInputStream;->readRawBytes(I)[B
-HPLandroid/util/proto/ProtoInputStream;->readRawString(I)Ljava/lang/String;
-HPLandroid/util/proto/ProtoInputStream;->fillBuffer()V
-HPLandroid/util/proto/ProtoInputStream;->skip()V
-HPLandroid/util/proto/ProtoInputStream;->incOffset(I)V
-HPLandroid/util/proto/ProtoInputStream;->checkPacked(J)V
-HPLandroid/util/proto/ProtoInputStream;->assertFieldNumber(J)V
-HPLandroid/util/proto/ProtoInputStream;->assertWireType(I)V
-HPLandroid/util/proto/ProtoInputStream;->assertFreshData()V
+HPLandroid/util/proto/ProtoOutputStream;-><init>(I)V
 HPLandroid/util/proto/ProtoOutputStream;-><init>(Ljava/io/FileDescriptor;)V
-HPLandroid/util/proto/ProtoOutputStream;-><init>(Ljava/io/OutputStream;)V
-HPLandroid/util/proto/ProtoOutputStream;->compactIfNecessary()V
-HPLandroid/util/proto/ProtoOutputStream;->compactSizes(I)V
-HPLandroid/util/proto/ProtoOutputStream;->editEncodedSize(I)I
-HPLandroid/util/proto/ProtoOutputStream;->end(J)V
-HPLandroid/util/proto/ProtoOutputStream;->endObjectImpl(JZ)V
-HPLandroid/util/proto/ProtoOutputStream;->flush()V
-HPLandroid/util/proto/ProtoOutputStream;->makeToken(IZIII)J
-HPLandroid/util/proto/ProtoOutputStream;->start(J)J
-HPLandroid/util/proto/ProtoOutputStream;->startObjectImpl(IZ)J
+HPLandroid/util/proto/ProtoOutputStream;->getBytes()[B
 HPLandroid/util/proto/ProtoOutputStream;->write(JD)V
-HPLandroid/util/proto/ProtoOutputStream;->write(JI)V
-HPLandroid/util/proto/ProtoOutputStream;->write(JJ)V
-HPLandroid/util/proto/ProtoOutputStream;->write(JLjava/lang/String;)V
-HPLandroid/util/proto/ProtoOutputStream;->write(JZ)V
 HPLandroid/util/proto/ProtoOutputStream;->writeEnumImpl(II)V
 HPLandroid/util/proto/ProtoOutputStream;->writeRepeatedInt64Impl(IJ)V
-HPLandroid/util/proto/ProtoOutputStream;->writeUtf8String(ILjava/lang/String;)V
-HPLandroid/view/AbsSavedState;-><init>(Landroid/os/Parcelable;)V
+HPLandroid/view/-$$Lambda$SurfaceView$SyyzxOgxKwZMRgiiTGcRYbOU5JY;-><init>(Landroid/view/SurfaceView;)V
+HPLandroid/view/-$$Lambda$SurfaceView$SyyzxOgxKwZMRgiiTGcRYbOU5JY;->run()V
+HPLandroid/view/-$$Lambda$View$A0LekHe1fit5nWjyiKYSPIDnz5s;->run()V
+HPLandroid/view/-$$Lambda$ViewGroup$ViewLocationHolder$AjKvqdj7SGGIzA5qrlZUuu71jl8;->test(Ljava/lang/Object;)Z
+HPLandroid/view/-$$Lambda$ViewGroup$ViewLocationHolder$QbO7cM0ULKe25a7bfXG3VH6DB0c;->test(Ljava/lang/Object;)Z
+HPLandroid/view/AbsSavedState;->getSuperState()Landroid/os/Parcelable;
+HPLandroid/view/AccessibilityInteractionController$PrivateHandler;->handleMessage(Landroid/os/Message;)V
+HPLandroid/view/AccessibilityInteractionController$PrivateHandler;->hasAccessibilityCallback(Landroid/os/Message;)Z
+HPLandroid/view/AccessibilityInteractionController;-><init>(Landroid/view/ViewRootImpl;)V
+HPLandroid/view/AccessibilityInteractionController;->clearAccessibilityFocusUiThread()V
+HPLandroid/view/AccessibilityInteractionController;->holdOffMessageIfNeeded(Landroid/os/Message;IJ)Z
+HPLandroid/view/AccessibilityInteractionController;->scheduleMessage(Landroid/os/Message;IJZ)V
 HPLandroid/view/ActionMode$Callback2;-><init>()V
 HPLandroid/view/ActionMode;->getType()I
-HPLandroid/view/ActionProvider$VisibilityListener;->onActionProviderVisibilityChanged(Z)V
-HPLandroid/view/ActionProvider;-><init>(Landroid/content/Context;)V
-HPLandroid/view/ActionProvider;->hasSubMenu()Z
-HPLandroid/view/ActionProvider;->onCreateActionView()Landroid/view/View;
-HPLandroid/view/ActionProvider;->onCreateActionView(Landroid/view/MenuItem;)Landroid/view/View;
-HPLandroid/view/ActionProvider;->overridesItemVisibility()Z
-HPLandroid/view/ActionProvider;->setVisibilityListener(Landroid/view/ActionProvider$VisibilityListener;)V
 HPLandroid/view/AppTransitionAnimationSpec$1;-><init>()V
-HPLandroid/view/BatchedInputEventReceiver;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;Landroid/view/Choreographer;)V
-HPLandroid/view/BatchedInputEventReceiver;->dispose()V
 HPLandroid/view/Choreographer;->postCallbackDelayed(ILjava/lang/Runnable;Ljava/lang/Object;J)V
-HPLandroid/view/ContextMenu;->clearHeader()V
-HPLandroid/view/ContextMenu;->setHeaderIcon(I)Landroid/view/ContextMenu;
-HPLandroid/view/ContextMenu;->setHeaderIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/ContextMenu;
-HPLandroid/view/ContextMenu;->setHeaderTitle(I)Landroid/view/ContextMenu;
-HPLandroid/view/ContextMenu;->setHeaderTitle(Ljava/lang/CharSequence;)Landroid/view/ContextMenu;
-HPLandroid/view/ContextMenu;->setHeaderView(Landroid/view/View;)Landroid/view/ContextMenu;
-HPLandroid/view/ContextThemeWrapper;->getResourcesInternal()Landroid/content/res/Resources;
-HPLandroid/view/Display$Mode;->getPhysicalHeight()I
-HPLandroid/view/Display$Mode;->getPhysicalWidth()I
-HPLandroid/view/Display;->getMode()Landroid/view/Display$Mode;
-HPLandroid/view/Display;->getSupportedModes()[Landroid/view/Display$Mode;
-HPLandroid/view/DisplayEventReceiver;->dispose(Z)V
+HPLandroid/view/Choreographer;->removeCallbacks(ILjava/lang/Runnable;Ljava/lang/Object;)V
+HPLandroid/view/ContextThemeWrapper;-><init>(Landroid/content/Context;Landroid/content/res/Resources$Theme;)V
+HPLandroid/view/ContextThemeWrapper;->getAssets()Landroid/content/res/AssetManager;
+HPLandroid/view/ContextThemeWrapper;->getOverrideConfiguration()Landroid/content/res/Configuration;
+HPLandroid/view/Display$Mode;-><init>(IIIF)V
+HPLandroid/view/Display;->getColorMode()I
+HPLandroid/view/Display;->getDisplayId()I
+HPLandroid/view/Display;->getRemoveMode()I
+HPLandroid/view/Display;->getSize(Landroid/graphics/Point;)V
+HPLandroid/view/Display;->getUniqueId()Ljava/lang/String;
+HPLandroid/view/Display;->isWideColorGamut()Z
+HPLandroid/view/Display;->requestColorMode(I)V
 HPLandroid/view/DisplayEventReceiver;->finalize()V
-HPLandroid/view/DisplayListCanvas;->getMaximumBitmapHeight()I
-HPLandroid/view/DisplayListCanvas;->getMaximumBitmapWidth()I
-HPLandroid/view/FocusFinder;->getWeightedDistanceFor(JJ)J
-HPLandroid/view/FocusFinder;->minorAxisDistance(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
+HPLandroid/view/DragEvent$1;-><init>()V
+HPLandroid/view/DragEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/DragEvent;
+HPLandroid/view/DragEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/view/DragEvent;->getAction()I
+HPLandroid/view/DragEvent;->obtain(IFFLjava/lang/Object;Landroid/content/ClipDescription;Landroid/content/ClipData;Lcom/android/internal/view/IDragAndDropPermissions;Z)Landroid/view/DragEvent;
+HPLandroid/view/DragEvent;->recycle()V
+HPLandroid/view/DragEvent;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
+HPLandroid/view/FocusFinder;->getInstance()Landroid/view/FocusFinder;
+HPLandroid/view/GestureDetector$GestureHandler;->handleMessage(Landroid/os/Message;)V
 HPLandroid/view/GestureDetector$SimpleOnGestureListener;->onDoubleTap(Landroid/view/MotionEvent;)Z
 HPLandroid/view/GestureDetector$SimpleOnGestureListener;->onDoubleTapEvent(Landroid/view/MotionEvent;)Z
+HPLandroid/view/GestureDetector$SimpleOnGestureListener;->onDown(Landroid/view/MotionEvent;)Z
+HPLandroid/view/GestureDetector$SimpleOnGestureListener;->onLongPress(Landroid/view/MotionEvent;)V
+HPLandroid/view/GestureDetector$SimpleOnGestureListener;->onScroll(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
+HPLandroid/view/GestureDetector$SimpleOnGestureListener;->onShowPress(Landroid/view/MotionEvent;)V
+HPLandroid/view/GestureDetector$SimpleOnGestureListener;->onSingleTapConfirmed(Landroid/view/MotionEvent;)Z
+HPLandroid/view/GestureDetector$SimpleOnGestureListener;->onSingleTapUp(Landroid/view/MotionEvent;)Z
+HPLandroid/view/GestureDetector;-><init>(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;)V
+HPLandroid/view/GestureDetector;-><init>(Landroid/view/GestureDetector$OnGestureListener;)V
 HPLandroid/view/GestureDetector;->cancel()V
 HPLandroid/view/GestureDetector;->cancelTaps()V
 HPLandroid/view/GestureDetector;->isConsideredDoubleTap(Landroid/view/MotionEvent;Landroid/view/MotionEvent;Landroid/view/MotionEvent;)Z
-HPLandroid/view/GhostView;->addGhost(Landroid/view/View;Landroid/view/ViewGroup;Landroid/graphics/Matrix;)Landroid/view/GhostView;
-HPLandroid/view/GhostView;->calculateMatrix(Landroid/view/View;Landroid/view/ViewGroup;Landroid/graphics/Matrix;)V
-HPLandroid/view/GhostView;->getGhost(Landroid/view/View;)Landroid/view/GhostView;
-HPLandroid/view/GhostView;->getInsertIndex(Landroid/view/ViewGroup;Ljava/util/ArrayList;Ljava/util/ArrayList;I)I
-HPLandroid/view/GhostView;->getParents(Landroid/view/View;Ljava/util/ArrayList;)V
-HPLandroid/view/GhostView;->insertIntoOverlay(Landroid/view/ViewGroup;Landroid/view/ViewGroup;Landroid/view/GhostView;Ljava/util/ArrayList;I)V
-HPLandroid/view/GhostView;->isOnTop(Landroid/view/View;Landroid/view/View;)Z
-HPLandroid/view/GhostView;->isOnTop(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
-HPLandroid/view/GhostView;->moveGhostViewsToTop(Landroid/view/ViewGroup;Ljava/util/ArrayList;)I
-HPLandroid/view/GhostView;->onDetachedFromWindow()V
-HPLandroid/view/GhostView;->onDraw(Landroid/graphics/Canvas;)V
-HPLandroid/view/GhostView;->removeGhost(Landroid/view/View;)V
-HPLandroid/view/GhostView;->setMatrix(Landroid/graphics/Matrix;)V
-HPLandroid/view/GhostView;->setVisibility(I)V
-HPLandroid/view/Gravity;->isHorizontal(I)Z
+HPLandroid/view/GestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z
+HPLandroid/view/GestureDetector;->setIsLongpressEnabled(Z)V
+HPLandroid/view/IGraphicsStats$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/view/IGraphicsStatsCallback$Stub$Proxy;->onRotateGraphicsStatsBuffer()V
 HPLandroid/view/IGraphicsStatsCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/view/IPinnedStackController$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/view/IPinnedStackController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/view/IRecentsAnimationController$Stub;-><init>()V
 HPLandroid/view/IRecentsAnimationController$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/view/IRecentsAnimationController$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/view/IRecentsAnimationController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/view/IRecentsAnimationController;->finish(Z)V
-HPLandroid/view/IRecentsAnimationController;->hideCurrentInputMethod()V
-HPLandroid/view/IRecentsAnimationController;->screenshotTask(I)Landroid/app/ActivityManager$TaskSnapshot;
-HPLandroid/view/IRecentsAnimationController;->setAnimationTargetsBehindSystemBars(Z)V
-HPLandroid/view/IRecentsAnimationController;->setInputConsumerEnabled(Z)V
-HPLandroid/view/IRecentsAnimationController;->setSplitScreenMinimized(Z)V
 HPLandroid/view/IRecentsAnimationRunner$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/view/IRecentsAnimationRunner$Stub$Proxy;->onAnimationCanceled()V
 HPLandroid/view/IRecentsAnimationRunner$Stub$Proxy;->onAnimationStart(Landroid/view/IRecentsAnimationController;[Landroid/view/RemoteAnimationTarget;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HPLandroid/view/IRecentsAnimationRunner$Stub;-><init>()V
-HPLandroid/view/IRecentsAnimationRunner$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/view/IRecentsAnimationRunner$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IRecentsAnimationRunner;
-HPLandroid/view/IRecentsAnimationRunner$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/view/IRecentsAnimationRunner;->onAnimationCanceled()V
-HPLandroid/view/IRecentsAnimationRunner;->onAnimationStart(Landroid/view/IRecentsAnimationController;[Landroid/view/RemoteAnimationTarget;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HPLandroid/view/IRemoteAnimationFinishedCallback$Stub$Proxy;->onAnimationFinished()V
 HPLandroid/view/IRemoteAnimationFinishedCallback$Stub;-><init>()V
 HPLandroid/view/IRemoteAnimationFinishedCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/view/IRemoteAnimationFinishedCallback$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/view/IRemoteAnimationFinishedCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLandroid/view/IRemoteAnimationFinishedCallback;->onAnimationFinished()V
 HPLandroid/view/IRemoteAnimationRunner$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/view/IRemoteAnimationRunner$Stub$Proxy;->onAnimationCancelled()V
 HPLandroid/view/IRemoteAnimationRunner$Stub$Proxy;->onAnimationStart([Landroid/view/RemoteAnimationTarget;Landroid/view/IRemoteAnimationFinishedCallback;)V
-HPLandroid/view/IRemoteAnimationRunner$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLandroid/view/IRotationWatcher$Stub$Proxy;->onRotationChanged(I)V
 HPLandroid/view/IWindow$Stub$Proxy;->closeSystemDialogs(Ljava/lang/String;)V
+HPLandroid/view/IWindow$Stub$Proxy;->dispatchDragEvent(Landroid/view/DragEvent;)V
 HPLandroid/view/IWindow$Stub$Proxy;->dispatchSystemUiVisibilityChanged(IIII)V
 HPLandroid/view/IWindow$Stub$Proxy;->dispatchWallpaperCommand(Ljava/lang/String;IIILandroid/os/Bundle;Z)V
 HPLandroid/view/IWindow$Stub$Proxy;->dispatchWindowShown()V
 HPLandroid/view/IWindow$Stub$Proxy;->moved(II)V
-HPLandroid/view/IWindowId$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLandroid/view/IWindowId$Stub;->asBinder()Landroid/os/IBinder;
-HPLandroid/view/IWindowManager$Stub$Proxy;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;)V
-HPLandroid/view/IWindowManager$Stub$Proxy;->destroyInputConsumer(Ljava/lang/String;)Z
-HPLandroid/view/IWindowManager$Stub$Proxy;->getStableInsets(ILandroid/graphics/Rect;)V
-HPLandroid/view/IWindowSession$Stub$Proxy;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
-HPLandroid/view/IWindowSession$Stub$Proxy;->updatePointerIcon(Landroid/view/IWindow;)V
-HPLandroid/view/IWindowSession$Stub$Proxy;->wallpaperOffsetsComplete(Landroid/os/IBinder;)V
+HPLandroid/view/IWindowManager$Stub$Proxy;->getAnimationScale(I)F
+HPLandroid/view/IWindowManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/view/IWindowSession$Stub$Proxy;->pokeDrawLock(Landroid/os/IBinder;)V
+HPLandroid/view/IWindowSession$Stub$Proxy;->setTransparentRegion(Landroid/view/IWindow;Landroid/graphics/Region;)V
+HPLandroid/view/IWindowSession$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/view/InflateException;-><init>(Ljava/lang/String;)V
+HPLandroid/view/InputApplicationHandle;->finalize()V
 HPLandroid/view/InputChannel;->dup()Landroid/view/InputChannel;
+HPLandroid/view/InputDevice$MotionRange;->getAxis()I
+HPLandroid/view/InputDevice$MotionRange;->getSource()I
+HPLandroid/view/InputDevice;->getDevice(I)Landroid/view/InputDevice;
+HPLandroid/view/InputDevice;->getDeviceIds()[I
+HPLandroid/view/InputDevice;->getMotionRanges()Ljava/util/List;
+HPLandroid/view/InputDevice;->getSources()I
 HPLandroid/view/InputDevice;->hasKeys([I)[Z
+HPLandroid/view/InputDevice;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/view/InputEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InputEvent;
 HPLandroid/view/InputEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/view/InputEvent;-><init>()V
+HPLandroid/view/InputEvent;->describeContents()I
 HPLandroid/view/InputEvent;->prepareForReuse()V
-HPLandroid/view/InputEventReceiver$Factory;->createInputEventReceiver(Landroid/view/InputChannel;Landroid/os/Looper;)Landroid/view/InputEventReceiver;
-HPLandroid/view/InputEventReceiver;->dispose()V
 HPLandroid/view/InputEventReceiver;->onBatchedInputEventPending()V
+HPLandroid/view/InputEventSender;->dispose(Z)V
+HPLandroid/view/InputEventSender;->finalize()V
+HPLandroid/view/InputWindowHandle;->finalize()V
 HPLandroid/view/KeyCharacterMap$FallbackAction;->obtain()Landroid/view/KeyCharacterMap$FallbackAction;
 HPLandroid/view/KeyCharacterMap$FallbackAction;->recycle()V
-HPLandroid/view/KeyCharacterMap;->deviceHasKey(I)Z
 HPLandroid/view/KeyCharacterMap;->getFallbackAction(II)Landroid/view/KeyCharacterMap$FallbackAction;
-HPLandroid/view/KeyCharacterMap;->isPrintingKey(I)Z
+HPLandroid/view/KeyCharacterMap;->getMatch(I[CI)C
+HPLandroid/view/KeyCharacterMap;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/view/KeyEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/KeyEvent;
 HPLandroid/view/KeyEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/view/KeyEvent;-><init>(JJIIIIIII)V
+HPLandroid/view/KeyEvent$DispatcherState;->isTracking(Landroid/view/KeyEvent;)Z
+HPLandroid/view/KeyEvent$DispatcherState;->startTracking(Landroid/view/KeyEvent;Ljava/lang/Object;)V
 HPLandroid/view/KeyEvent;-><init>(Landroid/os/Parcel;)V
+HPLandroid/view/KeyEvent;->cancel()V
 HPLandroid/view/KeyEvent;->getEventTime()J
+HPLandroid/view/KeyEvent;->getFlags()I
+HPLandroid/view/KeyEvent;->getMatch([CI)C
 HPLandroid/view/KeyEvent;->getMetaState()I
 HPLandroid/view/KeyEvent;->getRepeatCount()I
-HPLandroid/view/KeyEvent;->getScanCode()I
+HPLandroid/view/KeyEvent;->getSource()I
 HPLandroid/view/KeyEvent;->hasModifiers(I)Z
 HPLandroid/view/KeyEvent;->hasNoModifiers()Z
 HPLandroid/view/KeyEvent;->isAltPressed()Z
 HPLandroid/view/KeyEvent;->isCanceled()Z
+HPLandroid/view/KeyEvent;->isCtrlPressed()Z
+HPLandroid/view/KeyEvent;->isGamepadButton(I)Z
+HPLandroid/view/KeyEvent;->isMediaSessionKey(I)Z
 HPLandroid/view/KeyEvent;->isMetaKey(I)Z
 HPLandroid/view/KeyEvent;->isMetaPressed()Z
-HPLandroid/view/KeyEvent;->isNumLockOn()Z
-HPLandroid/view/KeyEvent;->isPrintingKey()Z
 HPLandroid/view/KeyEvent;->isShiftPressed()Z
+HPLandroid/view/KeyEvent;->isSystem()Z
+HPLandroid/view/KeyEvent;->isSystemKey(I)Z
+HPLandroid/view/KeyEvent;->isTracking()Z
 HPLandroid/view/KeyEvent;->isWakeKey()Z
-HPLandroid/view/KeyEvent;->isWakeKey(I)Z
 HPLandroid/view/KeyEvent;->metaStateFilterDirectionalModifiers(IIIII)I
 HPLandroid/view/KeyEvent;->metaStateHasModifiers(II)Z
+HPLandroid/view/KeyEvent;->metaStateHasNoModifiers(I)Z
+HPLandroid/view/KeyEvent;->metaStateToString(I)Ljava/lang/String;
 HPLandroid/view/KeyEvent;->recycle()V
-HPLandroid/view/KeyEvent;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/view/MotionEvent;->cancel()V
-HPLandroid/view/MotionEvent;->finalize()V
+HPLandroid/view/KeyEvent;->startTracking()V
+HPLandroid/view/KeyEvent;->toString()Ljava/lang/String;
+HPLandroid/view/LayoutInflater;->setFactory(Landroid/view/LayoutInflater$Factory;)V
+HPLandroid/view/LayoutInflater;->setFilter(Landroid/view/LayoutInflater$Filter;)V
+HPLandroid/view/MenuInflater$MenuState;->newInstance(Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/view/MenuInflater$MenuState;->readGroup(Landroid/util/AttributeSet;)V
 HPLandroid/view/MotionEvent;->getAxisValue(I)F
-HPLandroid/view/MotionEvent;->getAxisValue(II)F
 HPLandroid/view/MotionEvent;->getButtonState()I
-HPLandroid/view/MotionEvent;->getDeviceId()I
-HPLandroid/view/MotionEvent;->getFlags()I
-HPLandroid/view/MotionEvent;->getHistoricalPressure(I)F
+HPLandroid/view/MotionEvent;->getClassification()I
+HPLandroid/view/MotionEvent;->getDownTime()J
+HPLandroid/view/MotionEvent;->getEdgeFlags()I
+HPLandroid/view/MotionEvent;->getHistoricalEventTime(I)J
 HPLandroid/view/MotionEvent;->getHistoricalPressure(II)F
-HPLandroid/view/MotionEvent;->getHistoricalTouchMajor(I)F
+HPLandroid/view/MotionEvent;->getHistoricalX(II)F
+HPLandroid/view/MotionEvent;->getHistoricalY(II)F
+HPLandroid/view/MotionEvent;->getHistorySize()I
 HPLandroid/view/MotionEvent;->getMetaState()I
 HPLandroid/view/MotionEvent;->getOrientation()F
-HPLandroid/view/MotionEvent;->getOrientation(I)F
-HPLandroid/view/MotionEvent;->getPressure()F
-HPLandroid/view/MotionEvent;->getPressure(I)F
-HPLandroid/view/MotionEvent;->getSize()F
-HPLandroid/view/MotionEvent;->getSize(I)F
+HPLandroid/view/MotionEvent;->getPointerCount()I
+HPLandroid/view/MotionEvent;->getToolType(I)I
 HPLandroid/view/MotionEvent;->getTouchMajor()F
-HPLandroid/view/MotionEvent;->getTouchMajor(I)F
 HPLandroid/view/MotionEvent;->getTouchMinor()F
-HPLandroid/view/MotionEvent;->getTouchMinor(I)F
-HPLandroid/view/MotionEvent;->getXPrecision()F
-HPLandroid/view/MotionEvent;->getYPrecision()F
 HPLandroid/view/MotionEvent;->isTouchEvent()Z
-HPLandroid/view/MotionEvent;->isWithinBoundsNoHistory(FFFF)Z
-HPLandroid/view/MotionEvent;->setSource(I)V
+HPLandroid/view/MotionEvent;->obtain(JJIFFFFIFFII)Landroid/view/MotionEvent;
+HPLandroid/view/MotionEvent;->obtainNoHistory(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
 HPLandroid/view/MotionEvent;->split(I)Landroid/view/MotionEvent;
-HPLandroid/view/MotionEvent;->transform(Landroid/graphics/Matrix;)V
+HPLandroid/view/OrientationEventListener$SensorEventListenerImpl;->onSensorChanged(Landroid/hardware/SensorEvent;)V
 HPLandroid/view/OrientationEventListener;->disable()V
-HPLandroid/view/RecordingCanvas;->drawPaint(Landroid/graphics/Paint;)V
-HPLandroid/view/RecordingCanvas;->drawText(Ljava/lang/String;IIFFLandroid/graphics/Paint;)V
+HPLandroid/view/OrientationEventListener;->enable()V
+HPLandroid/view/PixelCopy$1;->run()V
+HPLandroid/view/PixelCopy;->request(Landroid/view/Surface;Landroid/graphics/Rect;Landroid/graphics/Bitmap;Landroid/view/PixelCopy$OnPixelCopyFinishedListener;Landroid/os/Handler;)V
+HPLandroid/view/PixelCopy;->validateBitmapDest(Landroid/graphics/Bitmap;)V
+HPLandroid/view/PointerIcon$2;->onDisplayChanged(I)V
+HPLandroid/view/PointerIcon;->getSystemIcon(Landroid/content/Context;I)Landroid/view/PointerIcon;
+HPLandroid/view/PointerIcon;->getSystemIconTypeIndex(I)I
+HPLandroid/view/RemoteAnimationAdapter$1;-><init>()V
 HPLandroid/view/RemoteAnimationAdapter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/RemoteAnimationAdapter;
 HPLandroid/view/RemoteAnimationAdapter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/view/RemoteAnimationAdapter;->getCallingPid()I
@@ -6684,8 +7099,10 @@
 HPLandroid/view/RemoteAnimationAdapter;->getRunner()Landroid/view/IRemoteAnimationRunner;
 HPLandroid/view/RemoteAnimationAdapter;->getStatusBarTransitionDelay()J
 HPLandroid/view/RemoteAnimationAdapter;->setCallingPid(I)V
+HPLandroid/view/RemoteAnimationDefinition$1;-><init>()V
 HPLandroid/view/RemoteAnimationDefinition$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/RemoteAnimationDefinition;
 HPLandroid/view/RemoteAnimationDefinition$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry$1;-><init>()V
 HPLandroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry;
 HPLandroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/view/RemoteAnimationDefinition;-><init>(Landroid/os/Parcel;)V
@@ -6693,482 +7110,880 @@
 HPLandroid/view/RemoteAnimationDefinition;->hasTransition(ILandroid/util/ArraySet;)Z
 HPLandroid/view/RemoteAnimationDefinition;->setCallingPid(I)V
 HPLandroid/view/RemoteAnimationTarget$1;-><init>()V
-HPLandroid/view/RemoteAnimationTarget$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/RemoteAnimationTarget;
-HPLandroid/view/RemoteAnimationTarget$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/view/RemoteAnimationTarget$1;->newArray(I)[Landroid/view/RemoteAnimationTarget;
-HPLandroid/view/RemoteAnimationTarget$1;->newArray(I)[Ljava/lang/Object;
-HPLandroid/view/RemoteAnimationTarget;-><init>(IILandroid/view/SurfaceControl;ZLandroid/graphics/Rect;Landroid/graphics/Rect;ILandroid/graphics/Point;Landroid/graphics/Rect;Landroid/app/WindowConfiguration;Z)V
-HPLandroid/view/RemoteAnimationTarget;-><init>(Landroid/os/Parcel;)V
-HPLandroid/view/RemoteAnimationTarget;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+HPLandroid/view/RemoteAnimationTarget;-><init>(IILandroid/view/SurfaceControl;ZLandroid/graphics/Rect;Landroid/graphics/Rect;ILandroid/graphics/Point;Landroid/graphics/Rect;Landroid/app/WindowConfiguration;ZLandroid/view/SurfaceControl;Landroid/graphics/Rect;)V
 HPLandroid/view/RemoteAnimationTarget;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/view/RenderNode;->setRevealClip(ZFFF)Z
-HPLandroid/view/RenderNodeAnimator;-><init>(IIFF)V
-HPLandroid/view/RenderNodeAnimator;->getStartDelay()J
-HPLandroid/view/RenderNodeAnimator;->getTotalDuration()J
-HPLandroid/view/RenderNodeAnimator;->init(J)V
-HPLandroid/view/RenderNodeAnimator;->isStarted()Z
-HPLandroid/view/RenderNodeAnimator;->setAllowRunningAsynchronously(Z)V
-HPLandroid/view/RenderNodeAnimator;->setDuration(J)Landroid/animation/Animator;
-HPLandroid/view/RenderNodeAnimator;->setTarget(Landroid/view/RenderNode;)V
-HPLandroid/view/RenderNodeAnimator;->setTarget(Landroid/view/View;)V
-HPLandroid/view/ScaleGestureDetector$SimpleOnScaleGestureListener;->onScaleEnd(Landroid/view/ScaleGestureDetector;)V
-HPLandroid/view/ScaleGestureDetector;->getScaleFactor()F
-HPLandroid/view/ScaleGestureDetector;->isQuickScaleEnabled()Z
-HPLandroid/view/ScaleGestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z
+HPLandroid/view/RenderNodeAnimatorSetHelper;->createNativeInterpolator(Landroid/animation/TimeInterpolator;J)J
+HPLandroid/view/RenderNodeAnimatorSetHelper;->getTarget(Landroid/graphics/RecordingCanvas;)Landroid/graphics/RenderNode;
+HPLandroid/view/ScaleGestureDetector;-><init>(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;)V
+HPLandroid/view/ScaleGestureDetector;-><init>(Landroid/content/Context;Landroid/view/ScaleGestureDetector$OnScaleGestureListener;Landroid/os/Handler;)V
+HPLandroid/view/ScaleGestureDetector;->setQuickScaleEnabled(Z)V
+HPLandroid/view/ScaleGestureDetector;->setStylusScaleEnabled(Z)V
+HPLandroid/view/Surface;-><init>()V
+HPLandroid/view/Surface;-><init>(Landroid/graphics/SurfaceTexture;)V
 HPLandroid/view/Surface;->attachAndQueueBuffer(Landroid/graphics/GraphicBuffer;)V
 HPLandroid/view/Surface;->destroy()V
+HPLandroid/view/Surface;->finalize()V
 HPLandroid/view/Surface;->forceScopedDisconnect()V
+HPLandroid/view/Surface;->isSingleBuffered()Z
+HPLandroid/view/Surface;->lockCanvas(Landroid/graphics/Rect;)Landroid/graphics/Canvas;
+HPLandroid/view/Surface;->unlockCanvasAndPost(Landroid/graphics/Canvas;)V
+HPLandroid/view/Surface;->unlockSwCanvasAndPost(Landroid/graphics/Canvas;)V
 HPLandroid/view/SurfaceControl$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/SurfaceControl;
 HPLandroid/view/SurfaceControl$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/view/SurfaceControl$Builder;-><init>(Landroid/view/SurfaceSession;)V
+HPLandroid/view/SurfaceControl$Builder;->setContainerLayer(Z)Landroid/view/SurfaceControl$Builder;
 HPLandroid/view/SurfaceControl$Builder;->setSecure(Z)Landroid/view/SurfaceControl$Builder;
-HPLandroid/view/SurfaceControl$Transaction;->destroy(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
-HPLandroid/view/SurfaceControl$Transaction;->detachChildren(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
-HPLandroid/view/SurfaceControl$Transaction;->reparentChildren(Landroid/view/SurfaceControl;Landroid/os/IBinder;)Landroid/view/SurfaceControl$Transaction;
+HPLandroid/view/SurfaceControl$Transaction;->deferTransactionUntil(Landroid/view/SurfaceControl;Landroid/os/IBinder;J)Landroid/view/SurfaceControl$Transaction;
+HPLandroid/view/SurfaceControl$Transaction;->deferTransactionUntilSurface(Landroid/view/SurfaceControl;Landroid/view/Surface;J)Landroid/view/SurfaceControl$Transaction;
+HPLandroid/view/SurfaceControl$Transaction;->remove(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
+HPLandroid/view/SurfaceControl$Transaction;->reparent(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
 HPLandroid/view/SurfaceControl$Transaction;->setAnimationTransaction()Landroid/view/SurfaceControl$Transaction;
+HPLandroid/view/SurfaceControl$Transaction;->setBufferSize(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction;
 HPLandroid/view/SurfaceControl$Transaction;->setColor(Landroid/view/SurfaceControl;[F)Landroid/view/SurfaceControl$Transaction;
+HPLandroid/view/SurfaceControl$Transaction;->setDisplaySurface(Landroid/os/IBinder;Landroid/view/Surface;)Landroid/view/SurfaceControl$Transaction;
 HPLandroid/view/SurfaceControl$Transaction;->setEarlyWakeup()Landroid/view/SurfaceControl$Transaction;
-HPLandroid/view/SurfaceControl$Transaction;->setGeometryAppliesWithResize(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
 HPLandroid/view/SurfaceControl$Transaction;->setMatrix(Landroid/view/SurfaceControl;Landroid/graphics/Matrix;[F)Landroid/view/SurfaceControl$Transaction;
 HPLandroid/view/SurfaceControl$Transaction;->setOpaque(Landroid/view/SurfaceControl;Z)Landroid/view/SurfaceControl$Transaction;
 HPLandroid/view/SurfaceControl$Transaction;->setOverrideScalingMode(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;
 HPLandroid/view/SurfaceControl$Transaction;->setTransparentRegionHint(Landroid/view/SurfaceControl;Landroid/graphics/Region;)Landroid/view/SurfaceControl$Transaction;
-HPLandroid/view/SurfaceControl;-><init>(Landroid/os/Parcel;)V
-HPLandroid/view/SurfaceControl;->access$1000(JJFF)V
-HPLandroid/view/SurfaceControl;->access$1200(JJI)V
-HPLandroid/view/SurfaceControl;->access$1500(JJF)V
-HPLandroid/view/SurfaceControl;->access$1600(JJFFFF)V
-HPLandroid/view/SurfaceControl;->access$2100(JJJJ)V
-HPLandroid/view/SurfaceControl;->access$800(Landroid/view/SurfaceControl;)V
-HPLandroid/view/SurfaceControl;->access$900(JJII)V
+HPLandroid/view/SurfaceControl$Transaction;->transferTouchFocus(Landroid/os/IBinder;Landroid/os/IBinder;)Landroid/view/SurfaceControl$Transaction;
 HPLandroid/view/SurfaceControl;->captureLayers(Landroid/os/IBinder;Landroid/graphics/Rect;F)Landroid/graphics/GraphicBuffer;
-HPLandroid/view/SurfaceControl;->checkNotReleased()V
-HPLandroid/view/SurfaceControl;->detachChildren()V
+HPLandroid/view/SurfaceControl;->createDisplay(Ljava/lang/String;Z)Landroid/os/IBinder;
+HPLandroid/view/SurfaceControl;->deferTransactionUntil(Landroid/os/IBinder;J)V
+HPLandroid/view/SurfaceControl;->deferTransactionUntil(Landroid/view/Surface;J)V
+HPLandroid/view/SurfaceControl;->destroyDisplay(Landroid/os/IBinder;)V
+HPLandroid/view/SurfaceControl;->getHandle()Landroid/os/IBinder;
 HPLandroid/view/SurfaceControl;->getHeight()I
+HPLandroid/view/SurfaceControl;->getInternalDisplayToken()Landroid/os/IBinder;
 HPLandroid/view/SurfaceControl;->getWidth()I
-HPLandroid/view/SurfaceControl;->screenshot(Landroid/graphics/Rect;IIIIZI)Landroid/graphics/Bitmap;
+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
+HPLandroid/view/SurfaceControl;->screenshotToBufferWithSecureLayersUnsafe(Landroid/os/IBinder;Landroid/graphics/Rect;IIZI)Landroid/graphics/GraphicBuffer;
+HPLandroid/view/SurfaceControl;->setBufferSize(II)V
 HPLandroid/view/SurfaceControl;->setColor([F)V
-HPLandroid/view/SurfaceControl;->setGeometryAppliesWithResize()V
-HPLandroid/view/SurfaceControl;->setLayerStack(I)V
+HPLandroid/view/SurfaceControl;->setLayer(I)V
 HPLandroid/view/SurfaceControl;->setOpaque(Z)V
 HPLandroid/view/SurfaceControl;->setOverrideScalingMode(I)V
+HPLandroid/view/SurfaceControl;->setPosition(FF)V
 HPLandroid/view/SurfaceControl;->setTransparentRegionHint(Landroid/graphics/Region;)V
+HPLandroid/view/SurfaceControl;->setWindowCrop(II)V
 HPLandroid/view/SurfaceControl;->toString()Ljava/lang/String;
-HPLandroid/view/SurfaceControl;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/view/SurfaceSession;-><init>(Landroid/view/Surface;)V
 HPLandroid/view/SurfaceSession;->finalize()V
 HPLandroid/view/SurfaceSession;->kill()V
-HPLandroid/view/SurfaceView$3;->removeCallback(Landroid/view/SurfaceHolder$Callback;)V
-HPLandroid/view/SurfaceView$3;->setSizeFromLayout()V
-HPLandroid/view/SurfaceView$SurfaceControlWithBackground;->destroy()V
-HPLandroid/view/SurfaceView;->draw(Landroid/graphics/Canvas;)V
-HPLandroid/view/SurfaceView;->setSecure(Z)V
-HPLandroid/view/SurfaceView;->windowStopped(Z)V
+HPLandroid/view/SurfaceView$1;->onScrollChanged()V
+HPLandroid/view/SurfaceView$3;->positionChanged(JIIII)V
+HPLandroid/view/SurfaceView$3;->positionLost(J)V
+HPLandroid/view/SurfaceView$4;->addCallback(Landroid/view/SurfaceHolder$Callback;)V
+HPLandroid/view/SurfaceView$4;->getSurface()Landroid/view/Surface;
+HPLandroid/view/SurfaceView$4;->setFixedSize(II)V
+HPLandroid/view/SurfaceView;-><init>(Landroid/content/Context;)V
+HPLandroid/view/SurfaceView;->applyChildSurfaceTransaction_renderWorker(Landroid/view/SurfaceControl$Transaction;Landroid/view/Surface;J)V
+HPLandroid/view/SurfaceView;->applySurfaceTransforms(Landroid/view/SurfaceControl;Landroid/graphics/Rect;J)V
+HPLandroid/view/SurfaceView;->dispatchDraw(Landroid/graphics/Canvas;)V
+HPLandroid/view/SurfaceView;->gatherTransparentRegion(Landroid/graphics/Region;)Z
+HPLandroid/view/SurfaceView;->getHolder()Landroid/view/SurfaceHolder;
+HPLandroid/view/SurfaceView;->getSurfaceCallbacks()[Landroid/view/SurfaceHolder$Callback;
+HPLandroid/view/SurfaceView;->notifyDrawFinished()V
+HPLandroid/view/SurfaceView;->onDetachedFromWindow()V
+HPLandroid/view/SurfaceView;->performDrawFinished()V
+HPLandroid/view/SurfaceView;->releaseSurfaces()V
+HPLandroid/view/SurfaceView;->setFrame(IIII)Z
+HPLandroid/view/SurfaceView;->updateBackgroundVisibilityInTransaction()V
+HPLandroid/view/TextureLayer;-><init>(Landroid/graphics/HardwareRenderer;J)V
+HPLandroid/view/TextureLayer;->adoptTextureLayer(Landroid/graphics/HardwareRenderer;J)Landroid/view/TextureLayer;
+HPLandroid/view/TextureLayer;->getDeferredLayerUpdater()J
+HPLandroid/view/TextureLayer;->getLayerHandle()J
 HPLandroid/view/TextureView$1;->onFrameAvailable(Landroid/graphics/SurfaceTexture;)V
-HPLandroid/view/TextureView;->destroyHardwareResources()V
-HPLandroid/view/TextureView;->getSurfaceTextureListener()Landroid/view/TextureView$SurfaceTextureListener;
+HPLandroid/view/TextureView;->applyUpdate()V
+HPLandroid/view/TextureView;->draw(Landroid/graphics/Canvas;)V
+HPLandroid/view/TextureView;->getLayerType()I
+HPLandroid/view/TextureView;->getSurfaceTexture()Landroid/graphics/SurfaceTexture;
+HPLandroid/view/TextureView;->getTextureLayer()Landroid/view/TextureLayer;
 HPLandroid/view/TextureView;->isAvailable()Z
-HPLandroid/view/TextureView;->setOpaque(Z)V
-HPLandroid/view/ThreadedRenderer$ProcessInitializer$1;->onRotateGraphicsStatsBuffer()V
-HPLandroid/view/ThreadedRenderer;->destroy()V
+HPLandroid/view/TextureView;->isOpaque()Z
+HPLandroid/view/TextureView;->onDetachedFromWindowInternal()V
+HPLandroid/view/TextureView;->onSizeChanged(IIII)V
+HPLandroid/view/TextureView;->releaseSurfaceTexture()V
+HPLandroid/view/TextureView;->setSurfaceTextureListener(Landroid/view/TextureView$SurfaceTextureListener;)V
+HPLandroid/view/TextureView;->updateLayer()V
+HPLandroid/view/TextureView;->updateLayerAndInvalidate()V
+HPLandroid/view/ThreadedRenderer$SimpleRenderer;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/view/Surface;)V
+HPLandroid/view/ThreadedRenderer$SimpleRenderer;->draw(Landroid/graphics/HardwareRenderer$FrameDrawingCallback;)V
+HPLandroid/view/ThreadedRenderer$SimpleRenderer;->getRootNode()Landroid/graphics/RenderNode;
+HPLandroid/view/ThreadedRenderer$SimpleRenderer;->setLightCenter(Landroid/view/Display;II)V
+HPLandroid/view/ThreadedRenderer;->updateSurface(Landroid/view/Surface;)V
+HPLandroid/view/TouchDelegate;-><init>(Landroid/graphics/Rect;Landroid/view/View;)V
 HPLandroid/view/TouchDelegate;->onTouchEvent(Landroid/view/MotionEvent;)Z
 HPLandroid/view/VelocityTracker;->computeCurrentVelocity(I)V
+HPLandroid/view/VelocityTracker;->finalize()V
 HPLandroid/view/VelocityTracker;->getXVelocity()F
-HPLandroid/view/VelocityTracker;->getXVelocity(I)F
 HPLandroid/view/VelocityTracker;->getYVelocity()F
-HPLandroid/view/View$12;->get(Landroid/view/View;)Ljava/lang/Float;
-HPLandroid/view/View$12;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HPLandroid/view/View$13;->get(Landroid/view/View;)Ljava/lang/Float;
-HPLandroid/view/View$13;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HPLandroid/view/View$AccessibilityDelegate;->createAccessibilityNodeInfo(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeInfo;
-HPLandroid/view/View$AccessibilityDelegate;->getAccessibilityNodeProvider(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeProvider;
-HPLandroid/view/View$AccessibilityDelegate;->onInitializeAccessibilityNodeInfo(Landroid/view/View;Landroid/view/accessibility/AccessibilityNodeInfo;)V
-HPLandroid/view/View$AttachInfo$InvalidateInfo;->recycle()V
+HPLandroid/view/View$3;->get(Landroid/view/View;)Ljava/lang/Float;
+HPLandroid/view/View$3;->get(Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/view/View$9;->get(Landroid/view/View;)Ljava/lang/Float;
+HPLandroid/view/View$9;->get(Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/view/View$9;->setValue(Landroid/view/View;F)V
+HPLandroid/view/View$9;->setValue(Ljava/lang/Object;F)V
+HPLandroid/view/View$BaseSavedState$1;->createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Landroid/view/View$BaseSavedState;
+HPLandroid/view/View$BaseSavedState$1;->createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Ljava/lang/Object;
+HPLandroid/view/View$BaseSavedState;-><init>(Landroid/os/Parcel;)V
 HPLandroid/view/View$CheckForLongPress;->run()V
 HPLandroid/view/View$ListenerInfo;-><init>()V
-HPLandroid/view/View$MatchLabelForPredicate;->test(Landroid/view/View;)Z
-HPLandroid/view/View$MatchLabelForPredicate;->test(Ljava/lang/Object;)Z
-HPLandroid/view/View$OnTouchListener;->onTouch(Landroid/view/View;Landroid/view/MotionEvent;)Z
-HPLandroid/view/View$ScrollabilityCache;->setFadeColor(I)V
+HPLandroid/view/View$MatchIdPredicate;->test(Landroid/view/View;)Z
+HPLandroid/view/View$MatchIdPredicate;->test(Ljava/lang/Object;)Z
 HPLandroid/view/View$TintInfo;-><init>()V
-HPLandroid/view/View;->awakenScrollBars(I)Z
-HPLandroid/view/View;->buildDrawingCache()V
+HPLandroid/view/View$VisibilityChangeForAutofillHandler;->handleMessage(Landroid/os/Message;)V
+HPLandroid/view/View;->access$3000()Z
+HPLandroid/view/View;->addOnUnhandledKeyEventListener(Landroid/view/View$OnUnhandledKeyEventListener;)V
+HPLandroid/view/View;->announceForAccessibility(Ljava/lang/CharSequence;)V
+HPLandroid/view/View;->buildDrawingCache(Z)V
+HPLandroid/view/View;->buildDrawingCacheImpl(Z)V
+HPLandroid/view/View;->callDragEventHandler(Landroid/view/DragEvent;)Z
 HPLandroid/view/View;->canResolveTextAlignment()Z
-HPLandroid/view/View;->captureTransitioningViews(Ljava/util/List;)V
-HPLandroid/view/View;->computeVerticalScrollRange()I
-HPLandroid/view/View;->createAccessibilityNodeInfo()Landroid/view/accessibility/AccessibilityNodeInfo;
-HPLandroid/view/View;->createAccessibilityNodeInfoInternal()Landroid/view/accessibility/AccessibilityNodeInfo;
+HPLandroid/view/View;->computeHorizontalScrollExtent()I
+HPLandroid/view/View;->computeHorizontalScrollOffset()I
+HPLandroid/view/View;->computeHorizontalScrollRange()I
 HPLandroid/view/View;->createContextMenu(Landroid/view/ContextMenu;)V
-HPLandroid/view/View;->dispatchGetDisplayList()V
+HPLandroid/view/View;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V
+HPLandroid/view/View;->dispatchDragEvent(Landroid/view/DragEvent;)Z
+HPLandroid/view/View;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
+HPLandroid/view/View;->dispatchKeyEventPreIme(Landroid/view/KeyEvent;)Z
+HPLandroid/view/View;->dispatchNestedFling(FFZ)Z
+HPLandroid/view/View;->dispatchNestedPreFling(FF)Z
+HPLandroid/view/View;->dispatchNestedPreScroll(II[I[I)Z
+HPLandroid/view/View;->dispatchNestedScroll(IIII[I)Z
+HPLandroid/view/View;->dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V
+HPLandroid/view/View;->dispatchProvideStructure(Landroid/view/ViewStructure;II)V
+HPLandroid/view/View;->dispatchSetActivated(Z)V
 HPLandroid/view/View;->dispatchSystemUiVisibilityChanged(I)V
-HPLandroid/view/View;->findNamedViews(Ljava/util/Map;)V
-HPLandroid/view/View;->getAccessibilitySelectionEnd()I
-HPLandroid/view/View;->getAccessibilitySelectionStart()I
-HPLandroid/view/View;->getAccessibilityViewId()I
-HPLandroid/view/View;->getAccessibilityWindowId()I
-HPLandroid/view/View;->getApplicationWindowToken()Landroid/os/IBinder;
-HPLandroid/view/View;->getAutofilledDrawable()Landroid/graphics/drawable/Drawable;
-HPLandroid/view/View;->getClipBounds()Landroid/graphics/Rect;
-HPLandroid/view/View;->getClipBounds(Landroid/graphics/Rect;)Z
-HPLandroid/view/View;->getClipToOutline()Z
+HPLandroid/view/View;->findViewByPredicateTraversal(Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
+HPLandroid/view/View;->findViewInsideOutShouldExist(Landroid/view/View;I)Landroid/view/View;
+HPLandroid/view/View;->findViewWithTag(Ljava/lang/Object;)Landroid/view/View;
+HPLandroid/view/View;->findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View;
+HPLandroid/view/View;->forceHasOverlappingRendering(Z)V
+HPLandroid/view/View;->getAccessibilityClassName()Ljava/lang/CharSequence;
+HPLandroid/view/View;->getBoundsOnScreen(Landroid/graphics/Rect;)V
+HPLandroid/view/View;->getBoundsOnScreen(Landroid/graphics/Rect;Z)V
 HPLandroid/view/View;->getContextMenuInfo()Landroid/view/ContextMenu$ContextMenuInfo;
-HPLandroid/view/View;->getDrawingCache()Landroid/graphics/Bitmap;
+HPLandroid/view/View;->getDrawingCache(Z)Landroid/graphics/Bitmap;
+HPLandroid/view/View;->getFadeHeight(Z)I
+HPLandroid/view/View;->getFadeTop(Z)I
 HPLandroid/view/View;->getFocusables(I)Ljava/util/ArrayList;
+HPLandroid/view/View;->getGlobalVisibleRect(Landroid/graphics/Rect;)Z
+HPLandroid/view/View;->getGlobalVisibleRect(Landroid/graphics/Rect;Landroid/graphics/Point;)Z
 HPLandroid/view/View;->getHorizontalFadingEdgeLength()I
-HPLandroid/view/View;->getIterableTextForAccessibility()Ljava/lang/CharSequence;
-HPLandroid/view/View;->getLeftFadingEdgeStrength()F
-HPLandroid/view/View;->getLocationOnScreen()[I
-HPLandroid/view/View;->getNextFocusDownId()I
-HPLandroid/view/View;->getNextFocusForwardId()I
-HPLandroid/view/View;->getNextFocusLeftId()I
-HPLandroid/view/View;->getNextFocusRightId()I
-HPLandroid/view/View;->getNextFocusUpId()I
-HPLandroid/view/View;->getRightFadingEdgeStrength()F
-HPLandroid/view/View;->getWindowDisplayFrame(Landroid/graphics/Rect;)V
-HPLandroid/view/View;->isAccessibilityHeading()Z
-HPLandroid/view/View;->isDrawingCacheEnabled()Z
-HPLandroid/view/View;->isDuplicateParentStateEnabled()Z
-HPLandroid/view/View;->isHovered()Z
+HPLandroid/view/View;->getLocationInSurface([I)V
+HPLandroid/view/View;->getMeasuredWidthAndState()I
+HPLandroid/view/View;->getRunQueue()Landroid/view/HandlerActionQueue;
+HPLandroid/view/View;->getSolidColor()I
+HPLandroid/view/View;->getTouchDelegate()Landroid/view/TouchDelegate;
+HPLandroid/view/View;->getVerticalFadingEdgeLength()I
+HPLandroid/view/View;->hideTooltip()V
+HPLandroid/view/View;->initializeFadingEdgeInternal(Landroid/content/res/TypedArray;)V
+HPLandroid/view/View;->initializeScrollIndicatorsInternal()V
+HPLandroid/view/View;->isFocusable()Z
+HPLandroid/view/View;->isFocusableInTouchMode()Z
+HPLandroid/view/View;->isInLayout()Z
 HPLandroid/view/View;->isPaddingOffsetRequired()Z
-HPLandroid/view/View;->isScreenReaderFocusable()Z
+HPLandroid/view/View;->isVerticalFadingEdgeEnabled()Z
+HPLandroid/view/View;->isVisibleToUser()Z
+HPLandroid/view/View;->isVisibleToUser(Landroid/graphics/Rect;)Z
+HPLandroid/view/View;->lambda$notifyAppearedOrDisappearedForContentCaptureIfNeededNoTrace$0$View(Landroid/view/contentcapture/ContentCaptureSession;)V
+HPLandroid/view/View;->lambda$notifyAppearedOrDisappearedForContentCaptureIfNeededNoTrace$1$View(Landroid/view/contentcapture/ContentCaptureSession;)V
+HPLandroid/view/View;->mapRectFromViewToScreenCoords(Landroid/graphics/RectF;Z)V
 HPLandroid/view/View;->onCloseSystemDialogs(Ljava/lang/String;)V
+HPLandroid/view/View;->onConfigurationChanged(Landroid/content/res/Configuration;)V
 HPLandroid/view/View;->onCreateContextMenu(Landroid/view/ContextMenu;)V
-HPLandroid/view/View;->onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-HPLandroid/view/View;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
+HPLandroid/view/View;->onDragEvent(Landroid/view/DragEvent;)Z
+HPLandroid/view/View;->onKeyDown(ILandroid/view/KeyEvent;)Z
+HPLandroid/view/View;->onKeyPreIme(ILandroid/view/KeyEvent;)Z
+HPLandroid/view/View;->onKeyUp(ILandroid/view/KeyEvent;)Z
+HPLandroid/view/View;->onProvideAutofillStructure(Landroid/view/ViewStructure;I)V
+HPLandroid/view/View;->onProvideAutofillVirtualStructure(Landroid/view/ViewStructure;I)V
+HPLandroid/view/View;->overScrollBy(IIIIIIIIZ)Z
+HPLandroid/view/View;->performAccessibilityAction(ILandroid/os/Bundle;)Z
+HPLandroid/view/View;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z
 HPLandroid/view/View;->performLongClick()Z
 HPLandroid/view/View;->performLongClick(FF)Z
 HPLandroid/view/View;->performLongClickInternal(FF)Z
-HPLandroid/view/View;->populateAccessibilityNodeInfoDrawingOrderInParent(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-HPLandroid/view/View;->populateVirtualStructure(Landroid/view/ViewStructure;Landroid/view/accessibility/AccessibilityNodeProvider;Landroid/view/accessibility/AccessibilityNodeInfo;Z)V
-HPLandroid/view/View;->postInvalidate(IIII)V
-HPLandroid/view/View;->postInvalidateDelayed(JIIII)V
-HPLandroid/view/View;->postInvalidateOnAnimation(IIII)V
-HPLandroid/view/View;->requestUnbufferedDispatch(Landroid/view/MotionEvent;)V
-HPLandroid/view/View;->setAnimationMatrix(Landroid/graphics/Matrix;)V
-HPLandroid/view/View;->setLeftTopRightBottom(IIII)V
-HPLandroid/view/View;->setRevealClip(ZFFF)V
-HPLandroid/view/View;->setScrollBarDefaultDelayBeforeFade(I)V
-HPLandroid/view/View;->setScrollIndicators(I)V
-HPLandroid/view/View;->setTransitionVisibility(I)V
-HPLandroid/view/View;->updateLocalSystemUiVisibility(II)Z
+HPLandroid/view/View;->resetPaddingToInitialValues()V
+HPLandroid/view/View;->restoreDefaultFocus()Z
+HPLandroid/view/View;->rootViewRequestFocus()Z
+HPLandroid/view/View;->saveAttributeData(Landroid/util/AttributeSet;Landroid/content/res/TypedArray;)V
+HPLandroid/view/View;->scheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;J)V
+HPLandroid/view/View;->setActivated(Z)V
+HPLandroid/view/View;->setBackgroundTintList(Landroid/content/res/ColorStateList;)V
+HPLandroid/view/View;->setBackgroundTintMode(Landroid/graphics/PorterDuff$Mode;)V
+HPLandroid/view/View;->setFilterTouchesWhenObscured(Z)V
+HPLandroid/view/View;->setHorizontalScrollBarEnabled(Z)V
+HPLandroid/view/View;->setKeepScreenOn(Z)V
+HPLandroid/view/View;->setKeyedTag(ILjava/lang/Object;)V
+HPLandroid/view/View;->setLayerPaint(Landroid/graphics/Paint;)V
+HPLandroid/view/View;->setNestedScrollingEnabled(Z)V
+HPLandroid/view/View;->setOnSystemUiVisibilityChangeListener(Landroid/view/View$OnSystemUiVisibilityChangeListener;)V
+HPLandroid/view/View;->setPointerIcon(Landroid/view/PointerIcon;)V
+HPLandroid/view/View;->setScrollIndicators(II)V
+HPLandroid/view/View;->setTouchDelegate(Landroid/view/TouchDelegate;)V
+HPLandroid/view/View;->setTransitionName(Ljava/lang/String;)V
+HPLandroid/view/View;->setVerticalScrollBarEnabled(Z)V
+HPLandroid/view/View;->showContextMenu()Z
+HPLandroid/view/View;->showContextMenu(FF)Z
+HPLandroid/view/View;->startActionMode(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
 HPLandroid/view/View;->willNotDraw()Z
-HPLandroid/view/ViewAnimationUtils;->createCircularReveal(Landroid/view/View;IIFF)Landroid/animation/Animator;
+HPLandroid/view/ViewAnimationHostBridge;->registerVectorDrawableAnimator(Landroid/view/NativeVectorDrawableAnimator;)V
 HPLandroid/view/ViewConfiguration;->getAccessibilityShortcutKeyTimeout()J
+HPLandroid/view/ViewConfiguration;->getDefaultActionModeHideDuration()J
 HPLandroid/view/ViewConfiguration;->getDeviceGlobalActionKeyTimeout()J
-HPLandroid/view/ViewConfiguration;->getJumpTapTimeout()I
-HPLandroid/view/ViewConfiguration;->getKeyRepeatDelay()I
-HPLandroid/view/ViewConfiguration;->getPressedStateDuration()I
-HPLandroid/view/ViewGroup;->captureTransitioningViews(Ljava/util/List;)V
+HPLandroid/view/ViewConfiguration;->getMinimumFlingVelocity()I
+HPLandroid/view/ViewConfiguration;->getScaledMaximumDrawingCacheSize()I
+HPLandroid/view/ViewConfiguration;->getScaledMinScalingSpan()I
+HPLandroid/view/ViewDebug;->getViewInstanceCount()J
+HPLandroid/view/ViewDebug;->getViewRootImplCount()J
+HPLandroid/view/ViewGroup$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V
+HPLandroid/view/ViewGroup;-><init>(Landroid/content/Context;)V
+HPLandroid/view/ViewGroup;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V
+HPLandroid/view/ViewGroup;->dispatchDragEvent(Landroid/view/DragEvent;)Z
+HPLandroid/view/ViewGroup;->dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V
+HPLandroid/view/ViewGroup;->dispatchSetActivated(Z)V
 HPLandroid/view/ViewGroup;->dispatchSystemUiVisibilityChanged(I)V
-HPLandroid/view/ViewGroup;->findNamedViews(Ljava/util/Map;)V
-HPLandroid/view/ViewGroup;->getLayoutMode()I
-HPLandroid/view/ViewGroup;->getNumChildrenForAccessibility()I
+HPLandroid/view/ViewGroup;->endViewTransition(Landroid/view/View;)V
+HPLandroid/view/ViewGroup;->findViewByPredicateTraversal(Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
+HPLandroid/view/ViewGroup;->findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View;
+HPLandroid/view/ViewGroup;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
+HPLandroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z
+HPLandroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;Z)Z
+HPLandroid/view/ViewGroup;->getNestedScrollAxes()I
+HPLandroid/view/ViewGroup;->getOverlay()Landroid/view/ViewGroupOverlay;
 HPLandroid/view/ViewGroup;->getOverlay()Landroid/view/ViewOverlay;
-HPLandroid/view/ViewGroup;->isAlwaysDrawnWithCacheEnabled()Z
-HPLandroid/view/ViewGroup;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-HPLandroid/view/ViewGroup;->setChildrenDrawnWithCacheEnabled(Z)V
-HPLandroid/view/ViewGroup;->setLayoutMode(IZ)V
+HPLandroid/view/ViewGroup;->getScrollIndicatorBounds(Landroid/graphics/Rect;)V
+HPLandroid/view/ViewGroup;->invalidateChildInParent([ILandroid/graphics/Rect;)Landroid/view/ViewParent;
+HPLandroid/view/ViewGroup;->measureChild(Landroid/view/View;II)V
+HPLandroid/view/ViewGroup;->measureChildren(II)V
+HPLandroid/view/ViewGroup;->notifyChildOfDragStart(Landroid/view/View;)Z
+HPLandroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
+HPLandroid/view/ViewGroup;->populateChildrenForAutofill(Ljava/util/ArrayList;I)V
+HPLandroid/view/ViewGroup;->recomputeViewAttributes(Landroid/view/View;)V
+HPLandroid/view/ViewGroup;->removeFromArray(II)V
+HPLandroid/view/ViewGroup;->removeViews(II)V
+HPLandroid/view/ViewGroup;->removeViewsInternal(II)V
+HPLandroid/view/ViewGroup;->requestDisallowInterceptTouchEvent(Z)V
+HPLandroid/view/ViewGroup;->setAddStatesFromChildren(Z)V
+HPLandroid/view/ViewGroup;->setMotionEventSplittingEnabled(Z)V
 HPLandroid/view/ViewGroup;->showContextMenuForChild(Landroid/view/View;)Z
 HPLandroid/view/ViewGroup;->showContextMenuForChild(Landroid/view/View;FF)Z
-HPLandroid/view/ViewGroup;->suppressLayout(Z)V
-HPLandroid/view/ViewGroup;->updateLocalSystemUiVisibility(II)Z
-HPLandroid/view/ViewGroup;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
+HPLandroid/view/ViewGroup;->startActionModeForChild(Landroid/view/View;Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
+HPLandroid/view/ViewGroup;->startViewTransition(Landroid/view/View;)V
+HPLandroid/view/ViewOverlay$OverlayViewGroup;-><init>(Landroid/content/Context;Landroid/view/View;)V
 HPLandroid/view/ViewOverlay$OverlayViewGroup;->clear()V
+HPLandroid/view/ViewOverlay$OverlayViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V
+HPLandroid/view/ViewOverlay$OverlayViewGroup;->invalidate(IIII)V
+HPLandroid/view/ViewOverlay$OverlayViewGroup;->invalidate(Z)V
+HPLandroid/view/ViewOverlay$OverlayViewGroup;->invalidateParentIfNeeded()V
+HPLandroid/view/ViewOverlay$OverlayViewGroup;->isEmpty()Z
 HPLandroid/view/ViewOverlay;->clear()V
+HPLandroid/view/ViewOverlay;->getOverlayView()Landroid/view/ViewGroup;
+HPLandroid/view/ViewOverlay;->isEmpty()Z
 HPLandroid/view/ViewPropertyAnimator;->rotation(F)Landroid/view/ViewPropertyAnimator;
+HPLandroid/view/ViewPropertyAnimator;->scaleX(F)Landroid/view/ViewPropertyAnimator;
+HPLandroid/view/ViewPropertyAnimator;->scaleY(F)Landroid/view/ViewPropertyAnimator;
 HPLandroid/view/ViewPropertyAnimator;->setUpdateListener(Landroid/animation/ValueAnimator$AnimatorUpdateListener;)Landroid/view/ViewPropertyAnimator;
-HPLandroid/view/ViewPropertyAnimator;->translationYBy(F)Landroid/view/ViewPropertyAnimator;
-HPLandroid/view/ViewPropertyAnimator;->withStartAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator;
+HPLandroid/view/ViewPropertyAnimator;->x(F)Landroid/view/ViewPropertyAnimator;
+HPLandroid/view/ViewPropertyAnimator;->y(F)Landroid/view/ViewPropertyAnimator;
+HPLandroid/view/ViewRootImpl$1;->onDisplayAdded(I)V
+HPLandroid/view/ViewRootImpl$1;->onDisplayRemoved(I)V
 HPLandroid/view/ViewRootImpl$2;->run()V
-HPLandroid/view/ViewRootImpl$ConsumeBatchedInputImmediatelyRunnable;->run()V
-HPLandroid/view/ViewRootImpl$InvalidateOnAnimationRunnable;->addViewRect(Landroid/view/View$AttachInfo$InvalidateInfo;)V
-HPLandroid/view/ViewRootImpl$SyntheticKeyboardHandler;->process(Landroid/view/KeyEvent;)V
+HPLandroid/view/ViewRootImpl$AccessibilityInteractionConnection;->clearAccessibilityFocus()V
+HPLandroid/view/ViewRootImpl$AccessibilityInteractionConnectionManager;->onAccessibilityStateChanged(Z)V
+HPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->performFocusNavigation(Landroid/view/KeyEvent;)Z
+HPLandroid/view/ViewRootImpl$ViewRootHandler;->getMessageName(Landroid/os/Message;)Ljava/lang/String;
+HPLandroid/view/ViewRootImpl$W;->dispatchDragEvent(Landroid/view/DragEvent;)V
 HPLandroid/view/ViewRootImpl$W;->dispatchSystemUiVisibilityChanged(IIII)V
+HPLandroid/view/ViewRootImpl$W;->moved(II)V
+HPLandroid/view/ViewRootImpl;->access$1000(Landroid/view/ViewRootImpl;Landroid/graphics/Rect;)V
 HPLandroid/view/ViewRootImpl;->canResolveLayoutDirection()Z
 HPLandroid/view/ViewRootImpl;->changeCanvasOpacity(Z)V
+HPLandroid/view/ViewRootImpl;->createBoundsSurface(I)V
 HPLandroid/view/ViewRootImpl;->createContextMenu(Landroid/view/ContextMenu;)V
-HPLandroid/view/ViewRootImpl;->dispatchInvalidateOnAnimation(Landroid/view/View;)V
-HPLandroid/view/ViewRootImpl;->dispatchKeyFromIme(Landroid/view/KeyEvent;)V
+HPLandroid/view/ViewRootImpl;->dipToPx(I)I
+HPLandroid/view/ViewRootImpl;->dispatchMoved(II)V
+HPLandroid/view/ViewRootImpl;->drawPending()V
+HPLandroid/view/ViewRootImpl;->drawSoftware(Landroid/view/Surface;Landroid/view/View$AttachInfo;IIZLandroid/graphics/Rect;Landroid/graphics/Rect;)Z
+HPLandroid/view/ViewRootImpl;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z
+HPLandroid/view/ViewRootImpl;->getDisplayId()I
 HPLandroid/view/ViewRootImpl;->getLayoutDirection()I
+HPLandroid/view/ViewRootImpl;->getSurfaceControl()Landroid/view/SurfaceControl;
+HPLandroid/view/ViewRootImpl;->getTitle()Ljava/lang/CharSequence;
+HPLandroid/view/ViewRootImpl;->getWindowFlags()I
 HPLandroid/view/ViewRootImpl;->handleDispatchSystemUiVisibilityChanged(Landroid/view/ViewRootImpl$SystemUiVisibilityInfo;)V
+HPLandroid/view/ViewRootImpl;->handleDragEvent(Landroid/view/DragEvent;)V
 HPLandroid/view/ViewRootImpl;->isLayoutDirectionResolved()Z
-HPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;-><init>()V
-HPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->getArray()Ljava/util/ArrayList;
-HPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->equals(Ljava/lang/Object;)Z
-HPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->isEmpty()Z
-HPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->reset()V
-HPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->set(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
-HPLandroid/view/ViewTreeObserver;->addOnGlobalFocusChangeListener(Landroid/view/ViewTreeObserver$OnGlobalFocusChangeListener;)V
-HPLandroid/view/ViewTreeObserver;->addOnTouchModeChangeListener(Landroid/view/ViewTreeObserver$OnTouchModeChangeListener;)V
-HPLandroid/view/ViewTreeObserver;->dispatchOnComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
-HPLandroid/view/ViewTreeObserver;->removeOnGlobalFocusChangeListener(Landroid/view/ViewTreeObserver$OnGlobalFocusChangeListener;)V
-HPLandroid/view/ViewTreeObserver;->removeOnTouchModeChangeListener(Landroid/view/ViewTreeObserver$OnTouchModeChangeListener;)V
+HPLandroid/view/ViewRootImpl;->isTerminalInputEvent(Landroid/view/InputEvent;)Z
+HPLandroid/view/ViewRootImpl;->isViewDescendantOf(Landroid/view/View;Landroid/view/View;)Z
+HPLandroid/view/ViewRootImpl;->recomputeViewAttributes(Landroid/view/View;)V
+HPLandroid/view/ViewRootImpl;->removeWindowCallbacks(Landroid/view/WindowCallbacks;)V
+HPLandroid/view/ViewRootImpl;->requestDisallowInterceptTouchEvent(Z)V
+HPLandroid/view/ViewRootImpl;->requestFitSystemWindows()V
+HPLandroid/view/ViewRootImpl;->setBoundsSurfaceCrop()V
+HPLandroid/view/ViewRootImpl;->setFrame(Landroid/graphics/Rect;)V
+HPLandroid/view/ViewRootImpl;->updateInternalDisplay(ILandroid/content/res/Resources;)V
+HPLandroid/view/ViewStub;->setLayoutInflater(Landroid/view/LayoutInflater;)V
+HPLandroid/view/ViewStub;->setLayoutResource(I)V
+HPLandroid/view/ViewTreeObserver;->checkIsAlive()V
 HPLandroid/view/Window;->getContext()Landroid/content/Context;
+HPLandroid/view/Window;->haveDimAmount()Z
+HPLandroid/view/Window;->setCloseOnTouchOutside(Z)V
+HPLandroid/view/Window;->setCloseOnTouchOutsideIfNotSet(Z)V
+HPLandroid/view/Window;->setDimAmount(F)V
 HPLandroid/view/Window;->setType(I)V
+HPLandroid/view/Window;->setWindowAnimations(I)V
+HPLandroid/view/WindowCallbackWrapper;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
 HPLandroid/view/WindowCallbackWrapper;->onDetachedFromWindow()V
-HPLandroid/view/WindowId;->equals(Ljava/lang/Object;)Z
+HPLandroid/view/WindowCallbackWrapper;->onMenuItemSelected(ILandroid/view/MenuItem;)Z
+HPLandroid/view/WindowCallbackWrapper;->onPanelClosed(ILandroid/view/Menu;)V
+HPLandroid/view/WindowInfo$1;-><init>()V
+HPLandroid/view/WindowInfo;->obtain()Landroid/view/WindowInfo;
+HPLandroid/view/WindowInfo;->obtain(Landroid/view/WindowInfo;)Landroid/view/WindowInfo;
+HPLandroid/view/WindowInfo;->recycle()V
+HPLandroid/view/WindowInsets$Builder;-><init>(Landroid/view/WindowInsets;)V
+HPLandroid/view/WindowInsets$Builder;->build()Landroid/view/WindowInsets;
+HPLandroid/view/WindowInsets;->consumeSystemWindowInsets()Landroid/view/WindowInsets;
 HPLandroid/view/WindowInsets;->equals(Ljava/lang/Object;)Z
-HPLandroid/view/WindowInsets;->getSystemWindowInsets()Landroid/graphics/Rect;
-HPLandroid/view/WindowInsets;->inset(Landroid/graphics/Rect;)Landroid/view/WindowInsets;
+HPLandroid/view/WindowInsets;->getDisplayCutout()Landroid/view/DisplayCutout;
+HPLandroid/view/WindowInsets;->getStableInsetBottom()I
+HPLandroid/view/WindowInsets;->getStableInsetLeft()I
+HPLandroid/view/WindowInsets;->getStableInsetRight()I
+HPLandroid/view/WindowInsets;->getSystemWindowInsetLeft()I
+HPLandroid/view/WindowInsets;->getSystemWindowInsetRight()I
+HPLandroid/view/WindowInsets;->isConsumed()Z
+HPLandroid/view/WindowInsets;->replaceSystemWindowInsets(IIII)Landroid/view/WindowInsets;
 HPLandroid/view/WindowManager$LayoutParams;-><init>(III)V
+HPLandroid/view/WindowManager$LayoutParams;-><init>(IIIII)V
+HPLandroid/view/WindowManager$LayoutParams;->getTitle()Ljava/lang/CharSequence;
+HPLandroid/view/WindowManagerGlobal$2;->run()V
 HPLandroid/view/WindowManagerGlobal;->changeCanvasOpacity(Landroid/os/IBinder;Z)V
-HPLandroid/view/WindowManagerGlobal;->getWindowView(Landroid/os/IBinder;)Landroid/view/View;
+HPLandroid/view/WindowManagerGlobal;->closeAll(Landroid/os/IBinder;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/view/WindowManagerGlobal;->closeAllExceptView(Landroid/os/IBinder;Landroid/view/View;Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/view/WindowManagerGlobal;->dumpGfxInfo(Ljava/io/FileDescriptor;[Ljava/lang/String;)V
+HPLandroid/view/WindowManagerGlobal;->getRootViews(Landroid/os/IBinder;)Ljava/util/ArrayList;
 HPLandroid/view/WindowManagerImpl;->removeView(Landroid/view/View;)V
-HPLandroid/view/WindowManagerPolicyConstants$PointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;I)V
+HPLandroid/view/accessibility/AccessibilityCache$AccessibilityNodeRefresher;-><init>()V
+HPLandroid/view/accessibility/AccessibilityCache;-><init>(Landroid/view/accessibility/AccessibilityCache$AccessibilityNodeRefresher;)V
+HPLandroid/view/accessibility/AccessibilityEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/accessibility/AccessibilityEvent;
+HPLandroid/view/accessibility/AccessibilityEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/view/accessibility/AccessibilityEvent;->getContentChangeTypes()I
+HPLandroid/view/accessibility/AccessibilityEvent;->getEventType()I
+HPLandroid/view/accessibility/AccessibilityEvent;->initFromParcel(Landroid/os/Parcel;)V
+HPLandroid/view/accessibility/AccessibilityEvent;->obtain()Landroid/view/accessibility/AccessibilityEvent;
 HPLandroid/view/accessibility/AccessibilityEvent;->obtain(I)Landroid/view/accessibility/AccessibilityEvent;
-HPLandroid/view/accessibility/AccessibilityEvent;->setPackageName(Ljava/lang/CharSequence;)V
-HPLandroid/view/accessibility/AccessibilityManager;->removeTouchExplorationStateChangeListener(Landroid/view/accessibility/AccessibilityManager$TouchExplorationStateChangeListener;)Z
-HPLandroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;->equals(Ljava/lang/Object;)Z
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->addAction(I)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->addAction(Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->addChild(Landroid/view/View;I)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->addChildInternal(Landroid/view/View;IZ)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->enforceNotSealed()V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->getActions()I
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->getBoundsInParent(Landroid/graphics/Rect;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->getBoundsInScreen(Landroid/graphics/Rect;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->getChildCount()I
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->getChildId(I)J
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->getChildNodeIds()Landroid/util/LongArray;
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->getClassName()Ljava/lang/CharSequence;
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->getContentDescription()Ljava/lang/CharSequence;
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->getError()Ljava/lang/CharSequence;
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->getSourceNodeId()J
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->getText()Ljava/lang/CharSequence;
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->getTextSelectionEnd()I
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->getTextSelectionStart()I
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->getViewIdResourceName()Ljava/lang/String;
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->init(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->isAccessibilityFocused()Z
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->isCheckable()Z
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->isClickable()Z
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->isContextClickable()Z
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->isEnabled()Z
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->isFocusable()Z
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->isFocused()Z
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->isLongClickable()Z
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->isSealed()Z
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->isSelected()Z
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->obtain()Landroid/view/accessibility/AccessibilityNodeInfo;
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->obtain(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeInfo;
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->obtain(Landroid/view/View;I)Landroid/view/accessibility/AccessibilityNodeInfo;
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->obtain(Landroid/view/accessibility/AccessibilityNodeInfo;)Landroid/view/accessibility/AccessibilityNodeInfo;
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->recycle()V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setAccessibilityFocused(Z)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setAvailableExtraData(Ljava/util/List;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setBoundsInParent(Landroid/graphics/Rect;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setBoundsInScreen(Landroid/graphics/Rect;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setClassName(Ljava/lang/CharSequence;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setClickable(Z)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setContentDescription(Ljava/lang/CharSequence;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setContextClickable(Z)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setDrawingOrder(I)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setEnabled(Z)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setFocusable(Z)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setFocused(Z)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setHeading(Z)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setHintText(Ljava/lang/CharSequence;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setImportantForAccessibility(Z)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setLiveRegion(I)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setLongClickable(Z)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setMovementGranularities(I)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setMultiLine(Z)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setPackageName(Ljava/lang/CharSequence;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setPaneTitle(Ljava/lang/CharSequence;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setParent(Landroid/view/View;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setParent(Landroid/view/View;I)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setPassword(Z)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setRangeInfo(Landroid/view/accessibility/AccessibilityNodeInfo$RangeInfo;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setScreenReaderFocusable(Z)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setScrollable(Z)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setSelected(Z)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setShowingHintText(Z)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setSource(Landroid/view/View;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setSource(Landroid/view/View;I)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setText(Ljava/lang/CharSequence;)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setTextSelection(II)V
-HPLandroid/view/accessibility/AccessibilityNodeInfo;->setVisibleToUser(Z)V
-HPLandroid/view/accessibility/AccessibilityRecord;-><init>()V
-HPLandroid/view/accessibility/AccessibilityRecord;->enforceNotSealed()V
+HPLandroid/view/accessibility/AccessibilityEvent;->obtain(Landroid/view/accessibility/AccessibilityEvent;)Landroid/view/accessibility/AccessibilityEvent;
+HPLandroid/view/accessibility/AccessibilityEvent;->obtainWindowsChangedEvent(II)Landroid/view/accessibility/AccessibilityEvent;
+HPLandroid/view/accessibility/AccessibilityEvent;->readAccessibilityRecordFromParcel(Landroid/view/accessibility/AccessibilityRecord;Landroid/os/Parcel;)V
+HPLandroid/view/accessibility/AccessibilityEvent;->recycle()V
+HPLandroid/view/accessibility/AccessibilityEvent;->setContentChangeTypes(I)V
+HPLandroid/view/accessibility/AccessibilityEvent;->setEventType(I)V
+HPLandroid/view/accessibility/AccessibilityEvent;->setSealed(Z)V
+HPLandroid/view/accessibility/AccessibilityInteractionClient;->addConnection(ILandroid/accessibilityservice/IAccessibilityServiceConnection;)V
+HPLandroid/view/accessibility/AccessibilityInteractionClient;->getInstance()Landroid/view/accessibility/AccessibilityInteractionClient;
+HPLandroid/view/accessibility/AccessibilityInteractionClient;->getInstanceForThread(J)Landroid/view/accessibility/AccessibilityInteractionClient;
+HPLandroid/view/accessibility/AccessibilityManager;->getRecommendedTimeoutMillis(II)I
+HPLandroid/view/accessibility/AccessibilityManager;->sendFingerprintGesture(I)Z
+HPLandroid/view/accessibility/AccessibilityNodeProvider;-><init>()V
 HPLandroid/view/accessibility/AccessibilityRecord;->getText()Ljava/util/List;
-HPLandroid/view/accessibility/AccessibilityRecord;->isSealed()Z
-HPLandroid/view/accessibility/AccessibilityRecord;->setClassName(Ljava/lang/CharSequence;)V
+HPLandroid/view/accessibility/AccessibilityRecord;->init(Landroid/view/accessibility/AccessibilityRecord;)V
+HPLandroid/view/accessibility/AccessibilityRecord;->obtain()Landroid/view/accessibility/AccessibilityRecord;
+HPLandroid/view/accessibility/AccessibilityRecord;->recycle()V
+HPLandroid/view/accessibility/AccessibilityRecord;->setChecked(Z)V
+HPLandroid/view/accessibility/AccessibilityRecord;->setConnectionId(I)V
+HPLandroid/view/accessibility/AccessibilityRecord;->setCurrentItemIndex(I)V
+HPLandroid/view/accessibility/AccessibilityRecord;->setEnabled(Z)V
+HPLandroid/view/accessibility/AccessibilityRecord;->setMaxScrollX(I)V
+HPLandroid/view/accessibility/AccessibilityRecord;->setMaxScrollY(I)V
+HPLandroid/view/accessibility/AccessibilityRecord;->setParcelableData(Landroid/os/Parcelable;)V
+HPLandroid/view/accessibility/AccessibilityRecord;->setPassword(Z)V
+HPLandroid/view/accessibility/AccessibilityRecord;->setScrollX(I)V
+HPLandroid/view/accessibility/AccessibilityRecord;->setScrollY(I)V
+HPLandroid/view/accessibility/AccessibilityRecord;->setSealed(Z)V
+HPLandroid/view/accessibility/AccessibilityRecord;->setSource(Landroid/view/View;)V
+HPLandroid/view/accessibility/AccessibilityWindowInfo$1;-><init>()V
+HPLandroid/view/accessibility/AccessibilityWindowInfo;->addChild(I)V
+HPLandroid/view/accessibility/AccessibilityWindowInfo;->clear()V
+HPLandroid/view/accessibility/AccessibilityWindowInfo;->differenceFrom(Landroid/view/accessibility/AccessibilityWindowInfo;)I
+HPLandroid/view/accessibility/AccessibilityWindowInfo;->getBoundsInScreen(Landroid/graphics/Rect;)V
+HPLandroid/view/accessibility/AccessibilityWindowInfo;->obtain()Landroid/view/accessibility/AccessibilityWindowInfo;
+HPLandroid/view/accessibility/AccessibilityWindowInfo;->recycle()V
+HPLandroid/view/accessibility/AccessibilityWindowInfo;->setBoundsInScreen(Landroid/graphics/Rect;)V
+HPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->getTypeface()Landroid/graphics/Typeface;
+HPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->hasBackgroundColor()Z
+HPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->hasEdgeColor()Z
+HPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->hasEdgeType()Z
+HPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->hasForegroundColor()Z
+HPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->hasWindowColor()Z
+HPLandroid/view/accessibility/CaptioningManager$CaptioningChangeListener;-><init>()V
+HPLandroid/view/accessibility/CaptioningManager;-><init>(Landroid/content/Context;)V
+HPLandroid/view/accessibility/CaptioningManager;->addCaptioningChangeListener(Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;)V
+HPLandroid/view/accessibility/CaptioningManager;->getFontScale()F
+HPLandroid/view/accessibility/CaptioningManager;->getLocale()Ljava/util/Locale;
+HPLandroid/view/accessibility/CaptioningManager;->getRawUserStyle()I
+HPLandroid/view/accessibility/CaptioningManager;->getUserStyle()Landroid/view/accessibility/CaptioningManager$CaptionStyle;
+HPLandroid/view/accessibility/CaptioningManager;->isEnabled()Z
+HPLandroid/view/accessibility/CaptioningManager;->removeCaptioningChangeListener(Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;)V
+HPLandroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;->findAccessibilityNodeInfoByAccessibilityId(JLandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;Landroid/os/Bundle;)V
+HPLandroid/view/accessibility/IAccessibilityInteractionConnection$Stub$Proxy;->findAccessibilityNodeInfosByViewId(JLjava/lang/String;Landroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
+HPLandroid/view/accessibility/IAccessibilityInteractionConnection$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/view/accessibility/IAccessibilityInteractionConnectionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;
+HPLandroid/view/accessibility/IAccessibilityManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;->setRelevantEventTypes(I)V
 HPLandroid/view/animation/AccelerateDecelerateInterpolator;->createNativeInterpolator()J
-HPLandroid/view/animation/Animation;->applyTransformation(FLandroid/view/animation/Transformation;)V
+HPLandroid/view/animation/AccelerateInterpolator;-><init>()V
+HPLandroid/view/animation/AccelerateInterpolator;->getInterpolation(F)F
 HPLandroid/view/animation/Animation;->cancel()V
 HPLandroid/view/animation/Animation;->computeDurationHint()J
-HPLandroid/view/animation/Animation;->fireAnimationEnd()V
 HPLandroid/view/animation/Animation;->getBackgroundColor()I
-HPLandroid/view/animation/Animation;->getDetachWallpaper()Z
 HPLandroid/view/animation/Animation;->getInterpolator()Landroid/view/animation/Interpolator;
 HPLandroid/view/animation/Animation;->getRepeatCount()I
 HPLandroid/view/animation/Animation;->getShowWallpaper()Z
 HPLandroid/view/animation/Animation;->getZAdjustment()I
 HPLandroid/view/animation/Animation;->restrictDuration(J)V
 HPLandroid/view/animation/Animation;->scaleCurrentDuration(F)V
-HPLandroid/view/animation/Animation;->start()V
+HPLandroid/view/animation/AnimationSet;-><init>(Z)V
 HPLandroid/view/animation/AnimationSet;->computeDurationHint()J
+HPLandroid/view/animation/AnimationSet;->getAnimations()Ljava/util/List;
 HPLandroid/view/animation/AnimationSet;->restrictDuration(J)V
 HPLandroid/view/animation/AnimationSet;->scaleCurrentDuration(F)V
+HPLandroid/view/animation/AnticipateInterpolator;-><init>()V
+HPLandroid/view/animation/AnticipateInterpolator;->getInterpolation(F)F
 HPLandroid/view/animation/ClipRectAnimation;-><init>(IIIIIIII)V
 HPLandroid/view/animation/ClipRectAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HPLandroid/view/animation/ClipRectAnimation;-><init>(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
 HPLandroid/view/animation/ClipRectAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
 HPLandroid/view/animation/ClipRectAnimation;->initialize(IIII)V
 HPLandroid/view/animation/ClipRectAnimation;->willChangeTransformationMatrix()Z
-HPLandroid/view/animation/OvershootInterpolator;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
-HPLandroid/view/animation/RotateAnimation;-><init>(FFFF)V
+HPLandroid/view/animation/OvershootInterpolator;-><init>()V
+HPLandroid/view/animation/OvershootInterpolator;->getInterpolation(F)F
 HPLandroid/view/animation/RotateAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HPLandroid/view/animation/RotateAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
 HPLandroid/view/animation/RotateAnimation;->initialize(IIII)V
+HPLandroid/view/animation/ScaleAnimation;-><init>(FFFFFF)V
+HPLandroid/view/animation/ScaleAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLandroid/view/animation/ScaleAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
+HPLandroid/view/animation/ScaleAnimation;->initialize(IIII)V
+HPLandroid/view/animation/ScaleAnimation;->resolveScale(FIIII)F
+HPLandroid/view/animation/Transformation;-><init>()V
 HPLandroid/view/animation/Transformation;->getClipRect()Landroid/graphics/Rect;
 HPLandroid/view/animation/Transformation;->setClipRect(IIII)V
 HPLandroid/view/animation/Transformation;->setClipRect(Landroid/graphics/Rect;)V
 HPLandroid/view/animation/TranslateAnimation;-><init>(FFFF)V
-HPLandroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$1jAzMluMSJksx55SMUQn4BKB2Ng;->run()V
-HPLandroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$QIW-100CKwHzdHffwaus9KOEHCA;->run()V
-HPLandroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$dCTetwfU0gT1ZrSzZGZiGStXlOY;->run()V
-HPLandroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$kRL9XILLc2XNr90gxVDACLzcyqc;->run()V
+HPLandroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$BPlC2x7GLNHFS92rPUSzbcpFhUc;->run()V
+HPLandroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$V-s28jF4_S72cRk4llkGpwbJnmk;->run()V
+HPLandroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$qH36EJk2Hkdja9ZZmTxqYPyr0YA;->run()V
 HPLandroid/view/autofill/-$$Lambda$AutofillManager$V76JiQu509LCUz3-ckpb-nB3JhA;->run()V
+HPLandroid/view/autofill/AutofillId$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/autofill/AutofillId;
+HPLandroid/view/autofill/AutofillId$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/view/autofill/AutofillId;->equals(Ljava/lang/Object;)Z
-HPLandroid/view/autofill/AutofillManager$AutofillManagerClient;->autofill(ILjava/util/List;Ljava/util/List;)V
-HPLandroid/view/autofill/AutofillManager$AutofillManagerClient;->requestHideFillUi(ILandroid/view/autofill/AutofillId;)V
-HPLandroid/view/autofill/AutofillManager$AutofillManagerClient;->requestShowFillUi(ILandroid/view/autofill/AutofillId;IILandroid/graphics/Rect;Landroid/view/autofill/IAutofillWindowPresenter;)V
-HPLandroid/view/autofill/AutofillManager$AutofillManagerClient;->setSaveUiState(IZ)V
-HPLandroid/view/autofill/AutofillManager;->autofill(ILjava/util/List;Ljava/util/List;)V
+HPLandroid/view/autofill/AutofillId;->hashCode()I
+HPLandroid/view/autofill/AutofillId;->toString()Ljava/lang/String;
+HPLandroid/view/autofill/AutofillId;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/autofill/AutofillManager$AutofillCallback;-><init>()V
+HPLandroid/view/autofill/AutofillManager$AutofillManagerClient;->setSessionFinished(I)V
+HPLandroid/view/autofill/AutofillManager$AutofillManagerClient;->setState(I)V
+HPLandroid/view/autofill/AutofillManager$AutofillManagerClient;->setTrackedViews(I[Landroid/view/autofill/AutofillId;ZZ[Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillId;)V
 HPLandroid/view/autofill/AutofillManager;->cancelSessionLocked()V
-HPLandroid/view/autofill/AutofillManager;->finishSessionLocked()V
+HPLandroid/view/autofill/AutofillManager;->ensureServiceClientAddedIfNeededLocked()V
 HPLandroid/view/autofill/AutofillManager;->getFillEventHistory()Landroid/service/autofill/FillEventHistory;
-HPLandroid/view/autofill/AutofillManager;->hasAutofillFeature()Z
-HPLandroid/view/autofill/AutofillManager;->isAutofillSupported()Z
+HPLandroid/view/autofill/AutofillManager;->isEnabled()Z
 HPLandroid/view/autofill/AutofillManager;->lambda$ensureServiceClientAddedIfNeededLocked$1(Landroid/view/autofill/IAutoFillManager;Landroid/view/autofill/IAutoFillManagerClient;I)V
-HPLandroid/view/autofill/AutofillManager;->notifyViewEntered(Landroid/view/View;)V
+HPLandroid/view/autofill/AutofillManager;->notifyViewEntered(Landroid/view/View;I)V
+HPLandroid/view/autofill/AutofillManager;->notifyViewEnteredLocked(Landroid/view/View;I)Landroid/view/autofill/AutofillManager$AutofillCallback;
+HPLandroid/view/autofill/AutofillManager;->notifyViewExited(Landroid/view/View;)V
+HPLandroid/view/autofill/AutofillManager;->notifyViewExitedLocked(Landroid/view/View;)V
+HPLandroid/view/autofill/AutofillManager;->notifyViewVisibilityChangedInternal(Landroid/view/View;IZZ)V
 HPLandroid/view/autofill/AutofillManager;->onActivityFinishing()V
-HPLandroid/view/autofill/AutofillManager;->requestHideFillUi(Landroid/view/autofill/AutofillId;Landroid/view/View;)V
-HPLandroid/view/autofill/AutofillManager;->requestShowFillUi(ILandroid/view/autofill/AutofillId;IILandroid/graphics/Rect;Landroid/view/autofill/IAutofillWindowPresenter;)V
-HPLandroid/view/autofill/AutofillManager;->setAutofilledIfValuesIs(Landroid/view/View;Landroid/view/autofill/AutofillValue;)V
-HPLandroid/view/autofill/AutofillManager;->setSaveUiState(IZ)V
-HPLandroid/view/autofill/AutofillPopupWindow$WindowPresenter;->hide(Landroid/graphics/Rect;)V
-HPLandroid/view/autofill/AutofillPopupWindow$WindowPresenter;->show(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;ZI)V
-HPLandroid/view/autofill/AutofillPopupWindow;-><init>(Landroid/view/autofill/IAutofillWindowPresenter;)V
-HPLandroid/view/autofill/AutofillPopupWindow;->attachToAnchor(Landroid/view/View;III)V
-HPLandroid/view/autofill/AutofillPopupWindow;->detachFromAnchor()V
-HPLandroid/view/autofill/AutofillPopupWindow;->dismiss()V
-HPLandroid/view/autofill/AutofillPopupWindow;->findDropDownPosition(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;IIIIIZ)Z
-HPLandroid/view/autofill/AutofillPopupWindow;->getDecorViewLayoutParams()Landroid/view/WindowManager$LayoutParams;
-HPLandroid/view/autofill/AutofillPopupWindow;->hasContentView()Z
-HPLandroid/view/autofill/AutofillPopupWindow;->setContentView(Landroid/view/View;)V
-HPLandroid/view/autofill/AutofillPopupWindow;->showAsDropDown(Landroid/view/View;III)V
-HPLandroid/view/autofill/AutofillPopupWindow;->update(Landroid/view/View;IIIILandroid/graphics/Rect;)V
+HPLandroid/view/autofill/AutofillManager;->onInvisibleForAutofill()V
+HPLandroid/view/autofill/AutofillManager;->onSaveInstanceState(Landroid/os/Bundle;)V
+HPLandroid/view/autofill/AutofillManager;->registerCallback(Landroid/view/autofill/AutofillManager$AutofillCallback;)V
+HPLandroid/view/autofill/AutofillManager;->setAugmentedAutofillWhitelist(Ljava/util/List;Ljava/util/List;)V
+HPLandroid/view/autofill/AutofillManager;->setAugmentedAutofillWhitelist(Ljava/util/Set;Ljava/util/Set;)V
+HPLandroid/view/autofill/AutofillManager;->setSessionFinished(I)V
+HPLandroid/view/autofill/AutofillManager;->setState(I)V
+HPLandroid/view/autofill/AutofillManager;->setTrackedViews(I[Landroid/view/autofill/AutofillId;ZZ[Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillId;)V
+HPLandroid/view/autofill/AutofillManager;->shouldIgnoreViewEnteredLocked(Landroid/view/autofill/AutofillId;I)Z
+HPLandroid/view/autofill/AutofillManager;->startSessionLocked(Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;I)V
 HPLandroid/view/autofill/AutofillValue$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/autofill/AutofillValue;
 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;->forText(Ljava/lang/CharSequence;)Landroid/view/autofill/AutofillValue;
 HPLandroid/view/autofill/AutofillValue;->getTextValue()Ljava/lang/CharSequence;
 HPLandroid/view/autofill/AutofillValue;->isEmpty()Z
-HPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->finishSession(II)V
-HPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->getFillEventHistory()Landroid/service/autofill/FillEventHistory;
-HPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->isServiceSupported(I)Z
+HPLandroid/view/autofill/AutofillValue;->isText()Z
+HPLandroid/view/autofill/AutofillValue;->toString()Ljava/lang/String;
+HPLandroid/view/autofill/AutofillValue;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->addClient(Landroid/view/autofill/IAutoFillManagerClient;ILcom/android/internal/os/IResultReceiver;)V
+HPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->getFillEventHistory(Lcom/android/internal/os/IResultReceiver;)V
 HPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->removeClient(Landroid/view/autofill/IAutoFillManagerClient;I)V
+HPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->setAugmentedAutofillWhitelist(Ljava/util/List;Ljava/util/List;Lcom/android/internal/os/IResultReceiver;)V
+HPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->setHasCallback(IIZ)V
+HPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->startSession(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;IZILandroid/content/ComponentName;ZLcom/android/internal/os/IResultReceiver;)V
+HPLandroid/view/autofill/IAutoFillManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLandroid/view/autofill/IAutoFillManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->getAugmentedAutofillClient(Lcom/android/internal/os/IResultReceiver;)V
 HPLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->notifyNoFillUi(ILandroid/view/autofill/AutofillId;I)V
+HPLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->requestHideFillUi(ILandroid/view/autofill/AutofillId;)V
+HPLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->requestShowFillUi(ILandroid/view/autofill/AutofillId;IILandroid/graphics/Rect;Landroid/view/autofill/IAutofillWindowPresenter;)V
 HPLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->setSessionFinished(I)V
+HPLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->setState(I)V
+HPLandroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;->setTrackedViews(I[Landroid/view/autofill/AutofillId;ZZ[Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillId;)V
+HPLandroid/view/autofill/IAutoFillManagerClient$Stub;->asBinder()Landroid/os/IBinder;
 HPLandroid/view/autofill/IAutoFillManagerClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/autofill/IAutoFillManagerClient;
-HPLandroid/view/autofill/IAutofillWindowPresenter$Stub$Proxy;->hide(Landroid/graphics/Rect;)V
-HPLandroid/view/autofill/IAutofillWindowPresenter$Stub$Proxy;->show(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;ZI)V
-HPLandroid/view/autofill/IAutofillWindowPresenter;->hide(Landroid/graphics/Rect;)V
-HPLandroid/view/autofill/IAutofillWindowPresenter;->show(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;ZI)V
-HPLandroid/view/autofill/ParcelableMap$1;-><init>()V
-HPLandroid/view/inputmethod/BaseInputConnection;->commitText(Ljava/lang/CharSequence;I)Z
+HPLandroid/view/autofill/IAutoFillManagerClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/view/autofill/IAutofillWindowPresenter$Stub;-><init>()V
+HPLandroid/view/autofill/IAutofillWindowPresenter$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/view/autofill/IAutofillWindowPresenter$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/view/contentcapture/-$$Lambda$MainContentCaptureSession$1$Xhq3WJibbalS1G_W3PRC2m7muhM;->run()V
+HPLandroid/view/contentcapture/-$$Lambda$MainContentCaptureSession$49zT7C2BXrEdkyggyGk1Qs4d46k;->run()V
+HPLandroid/view/contentcapture/-$$Lambda$MainContentCaptureSession$HTmdDf687TPcaTnLyPp3wo0gI60;->run()V
+HPLandroid/view/contentcapture/ContentCaptureContext$1;-><init>()V
+HPLandroid/view/contentcapture/ContentCaptureContext$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/contentcapture/ContentCaptureContext;
+HPLandroid/view/contentcapture/ContentCaptureContext$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/view/contentcapture/ContentCaptureContext;-><init>(Landroid/view/contentcapture/ContentCaptureContext;Landroid/content/ComponentName;III)V
+HPLandroid/view/contentcapture/ContentCaptureContext;->getActivityComponent()Landroid/content/ComponentName;
+HPLandroid/view/contentcapture/ContentCaptureContext;->getTaskId()I
+HPLandroid/view/contentcapture/ContentCaptureContext;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/contentcapture/ContentCaptureEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/contentcapture/ContentCaptureEvent;
+HPLandroid/view/contentcapture/ContentCaptureEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/view/contentcapture/ContentCaptureEvent;->addAutofillId(Landroid/view/autofill/AutofillId;)Landroid/view/contentcapture/ContentCaptureEvent;
+HPLandroid/view/contentcapture/ContentCaptureEvent;->getEventTime()J
+HPLandroid/view/contentcapture/ContentCaptureEvent;->getId()Landroid/view/autofill/AutofillId;
+HPLandroid/view/contentcapture/ContentCaptureEvent;->getIds()Ljava/util/List;
+HPLandroid/view/contentcapture/ContentCaptureEvent;->getType()I
+HPLandroid/view/contentcapture/ContentCaptureEvent;->getViewNode()Landroid/view/contentcapture/ViewNode;
+HPLandroid/view/contentcapture/ContentCaptureEvent;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/contentcapture/ContentCaptureManager;->onActivityStopped()V
+HPLandroid/view/contentcapture/ContentCaptureSession;->destroy()V
+HPLandroid/view/contentcapture/ContentCaptureSession;->getflushReasonAsString(I)Ljava/lang/String;
+HPLandroid/view/contentcapture/ContentCaptureSessionId$1;-><init>()V
+HPLandroid/view/contentcapture/ContentCaptureSessionId;->equals(Ljava/lang/Object;)Z
+HPLandroid/view/contentcapture/ContentCaptureSessionId;->toString()Ljava/lang/String;
+HPLandroid/view/contentcapture/IContentCaptureDirectManager$Stub$Proxy;->sendEvents(Landroid/content/pm/ParceledListSlice;)V
+HPLandroid/view/contentcapture/IContentCaptureDirectManager$Stub;-><init>()V
+HPLandroid/view/contentcapture/IContentCaptureDirectManager$Stub;->asBinder()Landroid/os/IBinder;
+HPLandroid/view/contentcapture/IContentCaptureDirectManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/view/contentcapture/IContentCaptureManager$Stub$Proxy;->startSession(Landroid/os/IBinder;Landroid/content/ComponentName;Ljava/lang/String;ILcom/android/internal/os/IResultReceiver;)V
+HPLandroid/view/contentcapture/IContentCaptureManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/view/contentcapture/IContentCaptureManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLandroid/view/contentcapture/MainContentCaptureSession$1;->send(ILandroid/os/Bundle;)V
+HPLandroid/view/contentcapture/MainContentCaptureSession;->destroySession()V
+HPLandroid/view/contentcapture/MainContentCaptureSession;->internalNotifyViewDisappeared(Landroid/view/autofill/AutofillId;)V
+HPLandroid/view/contentcapture/MainContentCaptureSession;->internalNotifyViewTextChanged(Landroid/view/autofill/AutofillId;Ljava/lang/CharSequence;)V
+HPLandroid/view/contentcapture/MainContentCaptureSession;->mergeViewsDisappearedEvent(Landroid/view/contentcapture/ContentCaptureEvent;Landroid/view/contentcapture/ContentCaptureEvent;)V
+HPLandroid/view/contentcapture/MainContentCaptureSession;->onDestroy()V
+HPLandroid/view/contentcapture/MainContentCaptureSession;->onSessionStarted(ILandroid/os/IBinder;)V
+HPLandroid/view/contentcapture/MainContentCaptureSession;->scheduleFlush(IZ)V
+HPLandroid/view/contentcapture/ViewNode$ViewNodeText;-><init>(Landroid/os/Parcel;Z)V
+HPLandroid/view/contentcapture/ViewNode$ViewNodeText;->writeToParcel(Landroid/os/Parcel;Z)V
+HPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setAutofillHints([Ljava/lang/String;)V
+HPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setAutofillType(I)V
+HPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setAutofillValue(Landroid/view/autofill/AutofillValue;)V
+HPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setSelected(Z)V
+HPLandroid/view/contentcapture/ViewNode;-><init>(JLandroid/os/Parcel;)V
+HPLandroid/view/contentcapture/ViewNode;->getAutofillId()Landroid/view/autofill/AutofillId;
+HPLandroid/view/contentcapture/ViewNode;->getClassName()Ljava/lang/String;
+HPLandroid/view/contentcapture/ViewNode;->getHeight()I
+HPLandroid/view/contentcapture/ViewNode;->getId()I
+HPLandroid/view/contentcapture/ViewNode;->getIdEntry()Ljava/lang/String;
+HPLandroid/view/contentcapture/ViewNode;->getIdPackage()Ljava/lang/String;
+HPLandroid/view/contentcapture/ViewNode;->getIdType()Ljava/lang/String;
+HPLandroid/view/contentcapture/ViewNode;->getLeft()I
+HPLandroid/view/contentcapture/ViewNode;->getParentAutofillId()Landroid/view/autofill/AutofillId;
+HPLandroid/view/contentcapture/ViewNode;->getText()Ljava/lang/CharSequence;
+HPLandroid/view/contentcapture/ViewNode;->getTop()I
+HPLandroid/view/contentcapture/ViewNode;->getVisibility()I
+HPLandroid/view/contentcapture/ViewNode;->getWidth()I
+HPLandroid/view/contentcapture/ViewNode;->writeSelfToParcel(Landroid/os/Parcel;I)V
 HPLandroid/view/inputmethod/BaseInputConnection;->deleteSurroundingText(II)Z
+HPLandroid/view/inputmethod/BaseInputConnection;->ensureDefaultComposingSpans()V
+HPLandroid/view/inputmethod/BaseInputConnection;->getCursorCapsMode(I)I
+HPLandroid/view/inputmethod/BaseInputConnection;->getSelectedText(I)Ljava/lang/CharSequence;
+HPLandroid/view/inputmethod/BaseInputConnection;->getTextAfterCursor(II)Ljava/lang/CharSequence;
+HPLandroid/view/inputmethod/BaseInputConnection;->getTextBeforeCursor(II)Ljava/lang/CharSequence;
+HPLandroid/view/inputmethod/BaseInputConnection;->replaceText(Ljava/lang/CharSequence;IZ)V
 HPLandroid/view/inputmethod/BaseInputConnection;->sendKeyEvent(Landroid/view/KeyEvent;)Z
+HPLandroid/view/inputmethod/BaseInputConnection;->setComposingRegion(II)Z
+HPLandroid/view/inputmethod/BaseInputConnection;->setComposingSpans(Landroid/text/Spannable;II)V
+HPLandroid/view/inputmethod/BaseInputConnection;->setComposingText(Ljava/lang/CharSequence;I)Z
 HPLandroid/view/inputmethod/BaseInputConnection;->setSelection(II)Z
+HPLandroid/view/inputmethod/CompletionInfo$1;-><init>()V
 HPLandroid/view/inputmethod/CorrectionInfo$1;-><init>()V
-HPLandroid/view/inputmethod/CorrectionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/inputmethod/CorrectionInfo;
-HPLandroid/view/inputmethod/CorrectionInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/view/inputmethod/CorrectionInfo;-><init>(ILjava/lang/CharSequence;Ljava/lang/CharSequence;)V
-HPLandroid/view/inputmethod/CorrectionInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/view/inputmethod/InputBinding;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/inputmethod/CorrectionInfo;->getNewText()Ljava/lang/CharSequence;
+HPLandroid/view/inputmethod/CorrectionInfo;->getOffset()I
+HPLandroid/view/inputmethod/CorrectionInfo;->getOldText()Ljava/lang/CharSequence;
+HPLandroid/view/inputmethod/InputConnectionWrapper;-><init>(Landroid/view/inputmethod/InputConnection;Z)V
 HPLandroid/view/inputmethod/InputConnectionWrapper;->beginBatchEdit()Z
-HPLandroid/view/inputmethod/InputConnectionWrapper;->commitCorrection(Landroid/view/inputmethod/CorrectionInfo;)Z
+HPLandroid/view/inputmethod/InputConnectionWrapper;->closeConnection()V
 HPLandroid/view/inputmethod/InputConnectionWrapper;->commitText(Ljava/lang/CharSequence;I)Z
 HPLandroid/view/inputmethod/InputConnectionWrapper;->deleteSurroundingText(II)Z
 HPLandroid/view/inputmethod/InputConnectionWrapper;->endBatchEdit()Z
-HPLandroid/view/inputmethod/InputConnectionWrapper;->getCursorCapsMode(I)I
+HPLandroid/view/inputmethod/InputConnectionWrapper;->finishComposingText()Z
+HPLandroid/view/inputmethod/InputConnectionWrapper;->getHandler()Landroid/os/Handler;
+HPLandroid/view/inputmethod/InputConnectionWrapper;->getMissingMethodFlags()I
 HPLandroid/view/inputmethod/InputConnectionWrapper;->getSelectedText(I)Ljava/lang/CharSequence;
 HPLandroid/view/inputmethod/InputConnectionWrapper;->getTextAfterCursor(II)Ljava/lang/CharSequence;
 HPLandroid/view/inputmethod/InputConnectionWrapper;->getTextBeforeCursor(II)Ljava/lang/CharSequence;
 HPLandroid/view/inputmethod/InputConnectionWrapper;->performEditorAction(I)Z
+HPLandroid/view/inputmethod/InputConnectionWrapper;->reportFullscreenMode(Z)Z
 HPLandroid/view/inputmethod/InputConnectionWrapper;->sendKeyEvent(Landroid/view/KeyEvent;)Z
 HPLandroid/view/inputmethod/InputConnectionWrapper;->setComposingRegion(II)Z
 HPLandroid/view/inputmethod/InputConnectionWrapper;->setComposingText(Ljava/lang/CharSequence;I)Z
 HPLandroid/view/inputmethod/InputConnectionWrapper;->setSelection(II)Z
-HPLandroid/view/inputmethod/InputConnectionWrapper;->setTarget(Landroid/view/inputmethod/InputConnection;)V
-HPLandroid/view/inputmethod/InputMethodInfo;->getId()Ljava/lang/String;
+HPLandroid/view/inputmethod/InputContentInfo$1;-><init>()V
+HPLandroid/view/inputmethod/InputContentInfo;-><init>(Landroid/net/Uri;Landroid/content/ClipDescription;Landroid/net/Uri;)V
+HPLandroid/view/inputmethod/InputContentInfo;->getContentUri()Landroid/net/Uri;
+HPLandroid/view/inputmethod/InputContentInfo;->getDescription()Landroid/content/ClipDescription;
+HPLandroid/view/inputmethod/InputContentInfo;->setUriToken(Lcom/android/internal/inputmethod/IInputContentUriToken;)V
+HPLandroid/view/inputmethod/InputContentInfo;->validateInternal(Landroid/net/Uri;Landroid/content/ClipDescription;Landroid/net/Uri;Z)Z
+HPLandroid/view/inputmethod/InputContentInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/inputmethod/InputMethodInfo;->getServiceInfo()Landroid/content/pm/ServiceInfo;
+HPLandroid/view/inputmethod/InputMethodInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;->isActive()Z
 HPLandroid/view/inputmethod/InputMethodManager;->closeCurrentInput()V
 HPLandroid/view/inputmethod/InputMethodManager;->dispatchKeyEventFromInputMethod(Landroid/view/View;Landroid/view/KeyEvent;)V
-HPLandroid/view/inputmethod/InputMethodManager;->hideSoftInputFromInputMethodInternal(Landroid/os/IBinder;I)V
-HPLandroid/view/inputmethod/InputMethodManager;->hideStatusIconInternal(Landroid/os/IBinder;)V
-HPLandroid/view/inputmethod/InputMethodManager;->peekInstance()Landroid/view/inputmethod/InputMethodManager;
-HPLandroid/view/inputmethod/InputMethodManager;->setImeWindowStatus(Landroid/os/IBinder;Landroid/os/IBinder;II)V
-HPLandroid/view/inputmethod/InputMethodManager;->shouldOfferSwitchingToNextInputMethod(Landroid/os/IBinder;)Z
-HPLandroid/view/inputmethod/InputMethodManager;->shouldOfferSwitchingToNextInputMethodInternal(Landroid/os/IBinder;)Z
-HPLandroid/view/inputmethod/InputMethodManager;->showSoftInputUnchecked(ILandroid/os/ResultReceiver;)V
-HPLandroid/view/inputmethod/InputMethodManager;->toggleSoftInput(II)V
-HPLandroid/view/inputmethod/InputMethodManager;->toggleSoftInputFromWindow(Landroid/os/IBinder;II)V
+HPLandroid/view/inputmethod/InputMethodManager;->displayCompletions(Landroid/view/View;[Landroid/view/inputmethod/CompletionInfo;)V
+HPLandroid/view/inputmethod/InputMethodManager;->flushPendingEventsLocked()V
+HPLandroid/view/inputmethod/InputMethodManager;->getCurrentInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;
+HPLandroid/view/inputmethod/InputMethodManager;->showSoftInput(Landroid/view/View;I)Z
+HPLandroid/view/inputmethod/InputMethodManager;->showSoftInput(Landroid/view/View;ILandroid/os/ResultReceiver;)Z
 HPLandroid/view/inputmethod/InputMethodManager;->viewClicked(Landroid/view/View;)V
-HPLandroid/view/inputmethod/InputMethodSubtype;->getLanguageTag()Ljava/lang/String;
-HPLandroid/view/inputmethod/InputMethodSubtype;->isAuxiliary()Z
+HPLandroid/view/inputmethod/InputMethodSubtype;->containsExtraValueKey(Ljava/lang/String;)Z
+HPLandroid/view/inputmethod/InputMethodSubtype;->equals(Ljava/lang/Object;)Z
+HPLandroid/view/inputmethod/InputMethodSubtype;->getExtraValueHashMap()Ljava/util/HashMap;
+HPLandroid/view/inputmethod/InputMethodSubtype;->getMode()Ljava/lang/String;
+HPLandroid/view/inputmethod/InputMethodSubtype;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/inputmethod/InputMethodSubtypeArray;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+HPLandroid/view/inputmethod/InputMethodSubtypeArray;->compress([B)[B
+HPLandroid/view/inputmethod/InputMethodSubtypeArray;->marshall([Landroid/view/inputmethod/InputMethodSubtype;)[B
+HPLandroid/view/inputmethod/InputMethodSubtypeArray;->writeToParcel(Landroid/os/Parcel;)V
+HPLandroid/view/textclassifier/-$$Lambda$0biFK4yZBmWN1EO2wtnXskzuEcE;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/-$$Lambda$9N8WImc0VBjy2oxI_Gk5_Pbye_A;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$6oTtcn9bDE-u-8FbiyGdntqoQG0;-><init>()V
+HPLandroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$6oTtcn9bDE-u-8FbiyGdntqoQG0;->test(Ljava/lang/Object;)Z
+HPLandroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$NVG8-MEQ9Wtr5jbSeAcfVMN4oG8;-><init>()V
+HPLandroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$NVG8-MEQ9Wtr5jbSeAcfVMN4oG8;->chooseTitle(Landroid/view/textclassifier/LabeledIntent;Landroid/content/pm/ResolveInfo;)Ljava/lang/CharSequence;
+HPLandroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$YTQv8oPvlmJL4tITUFD4z4JWKRk;-><init>()V
 HPLandroid/view/textclassifier/-$$Lambda$EntityConfidence$YPh8hwgSYYK8OyQ1kFlQngc71Q0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HPLandroid/view/textclassifier/-$$Lambda$LabeledIntent$dgQZZ-klKGvWgkI6aDkzhYZpgWY;-><init>()V
+HPLandroid/view/textclassifier/-$$Lambda$LabeledIntent$dgQZZ-klKGvWgkI6aDkzhYZpgWY;->chooseTitle(Landroid/view/textclassifier/LabeledIntent;Landroid/content/pm/ResolveInfo;)Ljava/lang/CharSequence;
+HPLandroid/view/textclassifier/-$$Lambda$LegacyIntentFactory$OyqHBYawV-UcHMgpg_imepviTxE;-><init>()V
+HPLandroid/view/textclassifier/-$$Lambda$NxwbyZSxofZ4Z5SQhfXmtLQ1nxk;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/-$$Lambda$OGSS2qx6njxlnp0dnKb4lA3jnw8;-><init>()V
+HPLandroid/view/textclassifier/-$$Lambda$OGSS2qx6njxlnp0dnKb4lA3jnw8;->get()Ljava/lang/Object;
+HPLandroid/view/textclassifier/-$$Lambda$TemplateIntentFactory$VTUKP3Los7Pxo0ZqqZs02JcFdIk;-><init>()V
+HPLandroid/view/textclassifier/-$$Lambda$TemplateIntentFactory$VTUKP3Los7Pxo0ZqqZs02JcFdIk;->accept(Ljava/lang/Object;)V
+HPLandroid/view/textclassifier/-$$Lambda$TemplateIntentFactory$cRcp0XmdHAiBGYjV6OQ9ufKf_Yc;-><init>()V
+HPLandroid/view/textclassifier/-$$Lambda$TemplateIntentFactory$cRcp0XmdHAiBGYjV6OQ9ufKf_Yc;->accept(Ljava/lang/Object;)V
+HPLandroid/view/textclassifier/-$$Lambda$TextClassifierImpl$RFwUv7sZWa526ulnXC0BiokXqlo;-><init>()V
+HPLandroid/view/textclassifier/-$$Lambda$TextClassifierImpl$RRbXefHgcUymI9-P95ArUyMvfbw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/-$$Lambda$TextClassifierImpl$ftq-sQqJYwUdrdbbr9jz3p4AWos;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/-$$Lambda$XeE_KI7QgMKzF9vYRSoFWAolyuA;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/-$$Lambda$jJq8RXuVdjYF3lPq-77PEw1NJLM;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/ActionsSuggestionsHelper$PersonEncoder;->encode(Landroid/app/Person;)I
+HPLandroid/view/textclassifier/ActionsSuggestionsHelper;->createResultId(Landroid/content/Context;Ljava/util/List;ILjava/util/List;)Ljava/lang/String;
+HPLandroid/view/textclassifier/ActionsSuggestionsHelper;->toNativeMessages(Ljava/util/List;Ljava/util/function/Function;)[Lcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;
+HPLandroid/view/textclassifier/ConversationAction$1;-><init>()V
+HPLandroid/view/textclassifier/ConversationAction;->getAction()Landroid/app/RemoteAction;
+HPLandroid/view/textclassifier/ConversationAction;->getConfidenceScore()F
+HPLandroid/view/textclassifier/ConversationAction;->getTextReply()Ljava/lang/CharSequence;
+HPLandroid/view/textclassifier/ConversationAction;->getType()Ljava/lang/String;
+HPLandroid/view/textclassifier/ConversationActions$Message$1;-><init>()V
+HPLandroid/view/textclassifier/ConversationActions$Message$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/ConversationActions$Message;
+HPLandroid/view/textclassifier/ConversationActions$Message$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/ConversationActions$Message$Builder;-><init>(Landroid/app/Person;)V
+HPLandroid/view/textclassifier/ConversationActions$Message$Builder;->build()Landroid/view/textclassifier/ConversationActions$Message;
+HPLandroid/view/textclassifier/ConversationActions$Message$Builder;->setReferenceTime(Ljava/time/ZonedDateTime;)Landroid/view/textclassifier/ConversationActions$Message$Builder;
+HPLandroid/view/textclassifier/ConversationActions$Message$Builder;->setText(Ljava/lang/CharSequence;)Landroid/view/textclassifier/ConversationActions$Message$Builder;
+HPLandroid/view/textclassifier/ConversationActions$Message;-><init>(Landroid/os/Parcel;)V
+HPLandroid/view/textclassifier/ConversationActions$Message;->getAuthor()Landroid/app/Person;
+HPLandroid/view/textclassifier/ConversationActions$Message;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/textclassifier/ConversationActions$Request$1;-><init>()V
+HPLandroid/view/textclassifier/ConversationActions$Request$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/ConversationActions$Request;
+HPLandroid/view/textclassifier/ConversationActions$Request$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/ConversationActions$Request$Builder;-><init>(Ljava/util/List;)V
+HPLandroid/view/textclassifier/ConversationActions$Request$Builder;->build()Landroid/view/textclassifier/ConversationActions$Request;
+HPLandroid/view/textclassifier/ConversationActions$Request$Builder;->setHints(Ljava/util/List;)Landroid/view/textclassifier/ConversationActions$Request$Builder;
+HPLandroid/view/textclassifier/ConversationActions$Request$Builder;->setMaxSuggestions(I)Landroid/view/textclassifier/ConversationActions$Request$Builder;
+HPLandroid/view/textclassifier/ConversationActions$Request$Builder;->setTypeConfig(Landroid/view/textclassifier/TextClassifier$EntityConfig;)Landroid/view/textclassifier/ConversationActions$Request$Builder;
+HPLandroid/view/textclassifier/ConversationActions$Request;->readFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/ConversationActions$Request;
+HPLandroid/view/textclassifier/ConversationActions$Request;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/textclassifier/EntityConfidence$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/EntityConfidence;
+HPLandroid/view/textclassifier/EntityConfidence$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/EntityConfidence;-><init>(Landroid/os/Parcel;)V
 HPLandroid/view/textclassifier/EntityConfidence;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/view/textclassifier/GenerateLinksLogger;->writeStats(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/view/textclassifier/GenerateLinksLogger$LinkifyStats;Ljava/lang/CharSequence;J)V
+HPLandroid/view/textclassifier/GenerateLinksLogger;->logGenerateLinks(Ljava/lang/CharSequence;Landroid/view/textclassifier/TextLinks;Ljava/lang/String;J)V
+HPLandroid/view/textclassifier/LabeledIntent;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;I)V
+HPLandroid/view/textclassifier/LabeledIntent;->resolve(Landroid/content/Context;Landroid/view/textclassifier/LabeledIntent$TitleChooser;)Landroid/view/textclassifier/LabeledIntent$Result;
+HPLandroid/view/textclassifier/LegacyIntentFactory;->create(Landroid/content/Context;Ljava/lang/String;ZLjava/time/Instant;Lcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;)Ljava/util/List;
+HPLandroid/view/textclassifier/ModelFileManager$ModelFile;-><init>(Ljava/io/File;ILjava/util/List;Z)V
+HPLandroid/view/textclassifier/ModelFileManager$ModelFile;->isPreferredTo(Landroid/view/textclassifier/ModelFileManager$ModelFile;)Z
+HPLandroid/view/textclassifier/ModelFileManager$ModelFile;->toString()Ljava/lang/String;
+HPLandroid/view/textclassifier/ModelFileManager$ModelFileSupplierImpl;->createModelFile(Ljava/io/File;)Landroid/view/textclassifier/ModelFileManager$ModelFile;
+HPLandroid/view/textclassifier/ModelFileManager$ModelFileSupplierImpl;->get()Ljava/lang/Object;
+HPLandroid/view/textclassifier/ModelFileManager$ModelFileSupplierImpl;->get()Ljava/util/List;
+HPLandroid/view/textclassifier/ModelFileManager$ModelFileSupplierImpl;->maybeCloseAndLogError(Landroid/os/ParcelFileDescriptor;)V
+HPLandroid/view/textclassifier/ModelFileManager;->findBestModelFile(Landroid/os/LocaleList;)Landroid/view/textclassifier/ModelFileManager$ModelFile;
+HPLandroid/view/textclassifier/ModelFileManager;->listModelFiles()Ljava/util/List;
 HPLandroid/view/textclassifier/SelectionEvent$1;-><init>()V
 HPLandroid/view/textclassifier/SelectionEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/SelectionEvent;
 HPLandroid/view/textclassifier/SelectionEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/view/textclassifier/SelectionEvent;-><init>(Landroid/os/Parcel;)V
 HPLandroid/view/textclassifier/SelectionEvent;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/view/textclassifier/TextClassification$Builder;->addAction(Landroid/app/RemoteAction;)Landroid/view/textclassifier/TextClassification$Builder;
+HPLandroid/view/textclassifier/SelectionSessionLogger;->createId(Ljava/lang/String;IILandroid/content/Context;ILjava/util/List;)Ljava/lang/String;
+HPLandroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;->get()Ljava/lang/Object;
+HPLandroid/view/textclassifier/SystemTextClassifier$TextClassificationCallback;->onSuccess(Landroid/view/textclassifier/TextClassification;)V
+HPLandroid/view/textclassifier/SystemTextClassifier$TextLinksCallback;->onSuccess(Landroid/view/textclassifier/TextLinks;)V
+HPLandroid/view/textclassifier/SystemTextClassifier$TextSelectionCallback;->onSuccess(Landroid/view/textclassifier/TextSelection;)V
+HPLandroid/view/textclassifier/SystemTextClassifier;->classifyText(Landroid/view/textclassifier/TextClassification$Request;)Landroid/view/textclassifier/TextClassification;
+HPLandroid/view/textclassifier/SystemTextClassifier;->generateLinks(Landroid/view/textclassifier/TextLinks$Request;)Landroid/view/textclassifier/TextLinks;
+HPLandroid/view/textclassifier/SystemTextClassifier;->onTextClassifierEvent(Landroid/view/textclassifier/TextClassifierEvent;)V
+HPLandroid/view/textclassifier/SystemTextClassifier;->suggestConversationActions(Landroid/view/textclassifier/ConversationActions$Request;)Landroid/view/textclassifier/ConversationActions;
+HPLandroid/view/textclassifier/SystemTextClassifier;->suggestSelection(Landroid/view/textclassifier/TextSelection$Request;)Landroid/view/textclassifier/TextSelection;
+HPLandroid/view/textclassifier/TemplateClassificationIntentFactory;->create(Landroid/content/Context;Ljava/lang/String;ZLjava/time/Instant;Lcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;)Ljava/util/List;
+HPLandroid/view/textclassifier/TemplateIntentFactory;->create([Lcom/google/android/textclassifier/RemoteActionTemplate;)Ljava/util/List;
+HPLandroid/view/textclassifier/TemplateIntentFactory;->createExtras([Lcom/google/android/textclassifier/NamedVariant;)Landroid/os/Bundle;
+HPLandroid/view/textclassifier/TemplateIntentFactory;->createIntent(Lcom/google/android/textclassifier/RemoteActionTemplate;)Landroid/content/Intent;
+HPLandroid/view/textclassifier/TemplateIntentFactory;->isValidTemplate(Lcom/google/android/textclassifier/RemoteActionTemplate;)Z
+HPLandroid/view/textclassifier/TextClassification$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassification;
+HPLandroid/view/textclassifier/TextClassification$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/view/textclassifier/TextClassification$Builder;->setEntityType(Ljava/lang/String;F)Landroid/view/textclassifier/TextClassification$Builder;
-HPLandroid/view/textclassifier/TextClassification$Builder;->setIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/textclassifier/TextClassification$Builder;
 HPLandroid/view/textclassifier/TextClassification$Builder;->setId(Ljava/lang/String;)Landroid/view/textclassifier/TextClassification$Builder;
-HPLandroid/view/textclassifier/TextClassification$Builder;->setIntent(Landroid/content/Intent;)Landroid/view/textclassifier/TextClassification$Builder;
-HPLandroid/view/textclassifier/TextClassification$Builder;->setLabel(Ljava/lang/String;)Landroid/view/textclassifier/TextClassification$Builder;
-HPLandroid/view/textclassifier/TextClassification$Builder;->setOnClickListener(Landroid/view/View$OnClickListener;)Landroid/view/textclassifier/TextClassification$Builder;
 HPLandroid/view/textclassifier/TextClassification$Builder;->setText(Ljava/lang/String;)Landroid/view/textclassifier/TextClassification$Builder;
+HPLandroid/view/textclassifier/TextClassification$Request$1;-><init>()V
 HPLandroid/view/textclassifier/TextClassification$Request$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassification$Request;
 HPLandroid/view/textclassifier/TextClassification$Request$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/view/textclassifier/TextClassification$Request;-><init>(Landroid/os/Parcel;)V
+HPLandroid/view/textclassifier/TextClassification$Request$Builder;->build()Landroid/view/textclassifier/TextClassification$Request;
+HPLandroid/view/textclassifier/TextClassification$Request;->getCallingPackageName()Ljava/lang/String;
 HPLandroid/view/textclassifier/TextClassification$Request;->getDefaultLocales()Landroid/os/LocaleList;
 HPLandroid/view/textclassifier/TextClassification$Request;->getEndIndex()I
+HPLandroid/view/textclassifier/TextClassification$Request;->getReferenceTime()Ljava/time/ZonedDateTime;
 HPLandroid/view/textclassifier/TextClassification$Request;->getStartIndex()I
 HPLandroid/view/textclassifier/TextClassification$Request;->getText()Ljava/lang/CharSequence;
+HPLandroid/view/textclassifier/TextClassification$Request;->readFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassification$Request;
+HPLandroid/view/textclassifier/TextClassification$Request;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/textclassifier/TextClassification;-><init>(Landroid/os/Parcel;)V
+HPLandroid/view/textclassifier/TextClassification;-><init>(Ljava/lang/String;Landroid/graphics/drawable/Drawable;Ljava/lang/String;Landroid/content/Intent;Landroid/view/View$OnClickListener;Ljava/util/List;Ljava/util/Map;Ljava/lang/String;Landroid/os/Bundle;Landroid/view/textclassifier/TextClassification$1;)V
+HPLandroid/view/textclassifier/TextClassification;->getActions()Ljava/util/List;
 HPLandroid/view/textclassifier/TextClassification;->getConfidenceScore(Ljava/lang/String;)F
 HPLandroid/view/textclassifier/TextClassification;->getEntity(I)Ljava/lang/String;
 HPLandroid/view/textclassifier/TextClassification;->getEntityCount()I
+HPLandroid/view/textclassifier/TextClassification;->getExtras()Landroid/os/Bundle;
+HPLandroid/view/textclassifier/TextClassification;->getIcon()Landroid/graphics/drawable/Drawable;
+HPLandroid/view/textclassifier/TextClassification;->getId()Ljava/lang/String;
 HPLandroid/view/textclassifier/TextClassification;->getIntent()Landroid/content/Intent;
 HPLandroid/view/textclassifier/TextClassification;->getIntentType(Landroid/content/Intent;Landroid/content/Context;)I
+HPLandroid/view/textclassifier/TextClassification;->getLabel()Ljava/lang/CharSequence;
+HPLandroid/view/textclassifier/TextClassification;->getOnClickListener()Landroid/view/View$OnClickListener;
 HPLandroid/view/textclassifier/TextClassification;->getText()Ljava/lang/String;
+HPLandroid/view/textclassifier/TextClassification;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/view/textclassifier/TextClassificationContext$1;-><init>()V
 HPLandroid/view/textclassifier/TextClassificationContext$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassificationContext;
 HPLandroid/view/textclassifier/TextClassificationContext$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/TextClassificationContext$Builder;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+HPLandroid/view/textclassifier/TextClassificationContext$Builder;->build()Landroid/view/textclassifier/TextClassificationContext;
+HPLandroid/view/textclassifier/TextClassificationContext;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/textclassifier/TextClassificationManager$SettingsObserver;->onChange(Z)V
 HPLandroid/view/textclassifier/TextClassificationManager;->finalize()V
+HPLandroid/view/textclassifier/TextClassificationManager;->getTextClassifier(I)Landroid/view/textclassifier/TextClassifier;
+HPLandroid/view/textclassifier/TextClassificationManager;->invalidate()V
 HPLandroid/view/textclassifier/TextClassificationSessionId$1;-><init>()V
 HPLandroid/view/textclassifier/TextClassificationSessionId$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassificationSessionId;
 HPLandroid/view/textclassifier/TextClassificationSessionId$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/view/textclassifier/TextClassifier;->classifyText(Landroid/view/textclassifier/TextClassification$Request;)Landroid/view/textclassifier/TextClassification;
-HPLandroid/view/textclassifier/TextClassifierImpl$IntentFactory;->createForAddress(Landroid/content/Context;Ljava/lang/String;)Ljava/util/List;
-HPLandroid/view/textclassifier/TextClassifierImpl$IntentFactory;->createForPhone(Landroid/content/Context;Ljava/lang/String;)Ljava/util/List;
-HPLandroid/view/textclassifier/TextClassifierImpl$IntentFactory;->createForUrl(Landroid/content/Context;Ljava/lang/String;)Ljava/util/List;
+HPLandroid/view/textclassifier/TextClassificationSessionId;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/textclassifier/TextClassifier$EntityConfig$1;-><init>()V
+HPLandroid/view/textclassifier/TextClassifier$EntityConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassifier$EntityConfig;
+HPLandroid/view/textclassifier/TextClassifier$EntityConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/TextClassifier$EntityConfig$Builder;-><init>()V
+HPLandroid/view/textclassifier/TextClassifier$EntityConfig$Builder;->build()Landroid/view/textclassifier/TextClassifier$EntityConfig;
+HPLandroid/view/textclassifier/TextClassifier$EntityConfig$Builder;->setExcludedTypes(Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig$Builder;
+HPLandroid/view/textclassifier/TextClassifier$EntityConfig;-><init>(Landroid/os/Parcel;)V
+HPLandroid/view/textclassifier/TextClassifier$EntityConfig;->createWithHints(Ljava/util/Collection;)Landroid/view/textclassifier/TextClassifier$EntityConfig;
+HPLandroid/view/textclassifier/TextClassifier$EntityConfig;->getHints()Ljava/util/Collection;
+HPLandroid/view/textclassifier/TextClassifier$EntityConfig;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/textclassifier/TextClassifier$Utils;->checkArgument(Ljava/lang/CharSequence;II)V
+HPLandroid/view/textclassifier/TextClassifier;->classifyText(Ljava/lang/CharSequence;IILandroid/os/LocaleList;)Landroid/view/textclassifier/TextClassification;
+HPLandroid/view/textclassifier/TextClassifier;->suggestSelection(Ljava/lang/CharSequence;IILandroid/os/LocaleList;)Landroid/view/textclassifier/TextSelection;
+HPLandroid/view/textclassifier/TextClassifierEvent$1;-><init>()V
+HPLandroid/view/textclassifier/TextClassifierEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassifierEvent;
+HPLandroid/view/textclassifier/TextClassifierEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/TextClassifierEvent$Builder;-><init>(II)V
+HPLandroid/view/textclassifier/TextClassifierEvent$Builder;->build()Landroid/view/textclassifier/TextClassifierEvent;
+HPLandroid/view/textclassifier/TextClassifierEvent$Builder;->setEntityTypes([Ljava/lang/String;)Landroid/view/textclassifier/TextClassifierEvent$Builder;
+HPLandroid/view/textclassifier/TextClassifierEvent$Builder;->setEventContext(Landroid/view/textclassifier/TextClassificationContext;)Landroid/view/textclassifier/TextClassifierEvent$Builder;
+HPLandroid/view/textclassifier/TextClassifierEvent$Builder;->setEventTime(J)Landroid/view/textclassifier/TextClassifierEvent$Builder;
+HPLandroid/view/textclassifier/TextClassifierEvent$Builder;->setResultId(Ljava/lang/String;)Landroid/view/textclassifier/TextClassifierEvent$Builder;
+HPLandroid/view/textclassifier/TextClassifierEvent;-><init>(II[Ljava/lang/String;Landroid/view/textclassifier/TextClassificationContext;Ljava/lang/String;IJLandroid/os/Bundle;IIII[ILjava/lang/String;FLjava/lang/String;)V
+HPLandroid/view/textclassifier/TextClassifierEvent;->readFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassifierEvent;
+HPLandroid/view/textclassifier/TextClassifierEvent;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/textclassifier/TextClassifierEventTronLogger;->debugLog(Landroid/metrics/LogMaker;)V
+HPLandroid/view/textclassifier/TextClassifierEventTronLogger;->getLogType(Landroid/view/textclassifier/TextClassifierEvent;)I
+HPLandroid/view/textclassifier/TextClassifierEventTronLogger;->writeEvent(Landroid/view/textclassifier/TextClassifierEvent;)V
 HPLandroid/view/textclassifier/TextClassifierImpl$LabeledIntent;->asRemoteAction(Landroid/content/Context;)Landroid/app/RemoteAction;
+HPLandroid/view/textclassifier/TextClassifierImpl;->classifyText(Landroid/view/textclassifier/TextClassification$Request;)Landroid/view/textclassifier/TextClassification;
+HPLandroid/view/textclassifier/TextClassifierImpl;->createClassificationResult([Lcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;Ljava/lang/String;IILjava/time/Instant;)Landroid/view/textclassifier/TextClassification;
+HPLandroid/view/textclassifier/TextClassifierImpl;->createConversationActionResult(Landroid/view/textclassifier/ConversationActions$Request;[Lcom/google/android/textclassifier/ActionsSuggestionsModel$ActionSuggestion;)Landroid/view/textclassifier/ConversationActions;
+HPLandroid/view/textclassifier/TextClassifierImpl;->createId(Ljava/lang/String;II)Ljava/lang/String;
+HPLandroid/view/textclassifier/TextClassifierImpl;->detectForeignLanguage(Ljava/lang/String;)Landroid/os/Bundle;
+HPLandroid/view/textclassifier/TextClassifierImpl;->detectLanguage(Landroid/view/textclassifier/TextLanguage$Request;)Landroid/view/textclassifier/TextLanguage;
+HPLandroid/view/textclassifier/TextClassifierImpl;->detectLanguageTagsFromText(Ljava/lang/CharSequence;)Ljava/lang/String;
+HPLandroid/view/textclassifier/TextClassifierImpl;->generateLinks(Landroid/view/textclassifier/TextLinks$Request;)Landroid/view/textclassifier/TextLinks;
+HPLandroid/view/textclassifier/TextClassifierImpl;->getActionsImpl()Lcom/google/android/textclassifier/ActionsSuggestionsModel;
+HPLandroid/view/textclassifier/TextClassifierImpl;->getAnnotatorImpl(Landroid/os/LocaleList;)Lcom/google/android/textclassifier/AnnotatorModel;
+HPLandroid/view/textclassifier/TextClassifierImpl;->getEntitiesForHints(Ljava/util/Collection;)Ljava/util/Collection;
+HPLandroid/view/textclassifier/TextClassifierImpl;->getForeignLanguageThreshold()F
+HPLandroid/view/textclassifier/TextClassifierImpl;->getLangIdImpl()Lcom/google/android/textclassifier/LangIdModel;
+HPLandroid/view/textclassifier/TextClassifierImpl;->getResourceLocaleString()Ljava/lang/String;
+HPLandroid/view/textclassifier/TextClassifierImpl;->maybeCloseAndLogError(Landroid/os/ParcelFileDescriptor;)V
+HPLandroid/view/textclassifier/TextClassifierImpl;->onTextClassifierEvent(Landroid/view/textclassifier/TextClassifierEvent;)V
+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;
 HPLandroid/view/textclassifier/TextClassifierImpl;->suggestSelection(Landroid/view/textclassifier/TextSelection$Request;)Landroid/view/textclassifier/TextSelection;
-HPLandroid/view/textclassifier/TextClassifierImplNative$AnnotatedSpan;-><init>(II[Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;)V
-HPLandroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;-><init>(JI)V
-HPLandroid/view/textclassifier/TextClassifierImplNative$SelectionOptions;->getLocales()Ljava/lang/String;
+HPLandroid/view/textclassifier/TextLanguage$1;-><init>()V
+HPLandroid/view/textclassifier/TextLanguage$Builder;-><init>()V
+HPLandroid/view/textclassifier/TextLanguage$Builder;->build()Landroid/view/textclassifier/TextLanguage;
+HPLandroid/view/textclassifier/TextLanguage$Builder;->putLocale(Landroid/icu/util/ULocale;F)Landroid/view/textclassifier/TextLanguage$Builder;
+HPLandroid/view/textclassifier/TextLanguage$Request$1;-><init>()V
+HPLandroid/view/textclassifier/TextLinks$1;-><init>()V
+HPLandroid/view/textclassifier/TextLinks$Builder;-><init>(Ljava/lang/String;)V
+HPLandroid/view/textclassifier/TextLinks$Builder;->addLink(IILjava/util/Map;)Landroid/view/textclassifier/TextLinks$Builder;
+HPLandroid/view/textclassifier/TextLinks$Builder;->build()Landroid/view/textclassifier/TextLinks;
+HPLandroid/view/textclassifier/TextLinks$Request$1;-><init>()V
+HPLandroid/view/textclassifier/TextLinks$Request$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextLinks$Request;
+HPLandroid/view/textclassifier/TextLinks$Request$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/view/textclassifier/TextLinks$Request$Builder;-><init>(Ljava/lang/CharSequence;)V
+HPLandroid/view/textclassifier/TextLinks$Request$Builder;->build()Landroid/view/textclassifier/TextLinks$Request;
+HPLandroid/view/textclassifier/TextLinks$Request$Builder;->setEntityConfig(Landroid/view/textclassifier/TextClassifier$EntityConfig;)Landroid/view/textclassifier/TextLinks$Request$Builder;
+HPLandroid/view/textclassifier/TextLinks$Request;-><init>(Ljava/lang/CharSequence;Landroid/os/LocaleList;Landroid/view/textclassifier/TextClassifier$EntityConfig;ZLandroid/os/Bundle;)V
+HPLandroid/view/textclassifier/TextLinks$Request;->getCallingPackageName()Ljava/lang/String;
+HPLandroid/view/textclassifier/TextLinks$Request;->getDefaultLocales()Landroid/os/LocaleList;
+HPLandroid/view/textclassifier/TextLinks$Request;->getEntityConfig()Landroid/view/textclassifier/TextClassifier$EntityConfig;
+HPLandroid/view/textclassifier/TextLinks$Request;->getText()Ljava/lang/CharSequence;
+HPLandroid/view/textclassifier/TextLinks$Request;->readFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextLinks$Request;
+HPLandroid/view/textclassifier/TextLinks$Request;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/view/textclassifier/TextLinks$TextLink$1;-><init>()V
-HPLandroid/view/textclassifier/TextLinks$TextLink;-><init>(IILjava/util/Map;Landroid/text/style/URLSpan;)V
-HPLandroid/view/textclassifier/TextLinks$TextLink;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/view/textclassifier/TextSelection$1;-><init>()V
+HPLandroid/view/textclassifier/TextLinks$TextLink;-><init>(IILandroid/view/textclassifier/EntityConfidence;Landroid/os/Bundle;Landroid/text/style/URLSpan;)V
+HPLandroid/view/textclassifier/TextLinks$TextLink;-><init>(IILandroid/view/textclassifier/EntityConfidence;Landroid/os/Bundle;Landroid/text/style/URLSpan;Landroid/view/textclassifier/TextLinks$1;)V
+HPLandroid/view/textclassifier/TextLinks$TextLink;->getConfidenceScore(Ljava/lang/String;)F
+HPLandroid/view/textclassifier/TextLinks$TextLink;->getEnd()I
+HPLandroid/view/textclassifier/TextLinks$TextLink;->getEntity(I)Ljava/lang/String;
+HPLandroid/view/textclassifier/TextLinks$TextLink;->getEntityCount()I
+HPLandroid/view/textclassifier/TextLinks$TextLink;->getStart()I
+HPLandroid/view/textclassifier/TextLinks;-><init>(Ljava/lang/String;Ljava/util/ArrayList;Landroid/os/Bundle;)V
+HPLandroid/view/textclassifier/TextLinks;->getExtras()Landroid/os/Bundle;
+HPLandroid/view/textclassifier/TextLinks;->getLinks()Ljava/util/Collection;
+HPLandroid/view/textclassifier/TextSelection$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextSelection;
+HPLandroid/view/textclassifier/TextSelection$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/view/textclassifier/TextSelection$Builder;-><init>(II)V
 HPLandroid/view/textclassifier/TextSelection$Builder;->build()Landroid/view/textclassifier/TextSelection;
 HPLandroid/view/textclassifier/TextSelection$Builder;->setEntityType(Ljava/lang/String;F)Landroid/view/textclassifier/TextSelection$Builder;
@@ -7176,17 +7991,37 @@
 HPLandroid/view/textclassifier/TextSelection$Request$1;-><init>()V
 HPLandroid/view/textclassifier/TextSelection$Request$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextSelection$Request;
 HPLandroid/view/textclassifier/TextSelection$Request$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/view/textclassifier/TextSelection$Request;-><init>(Landroid/os/Parcel;)V
+HPLandroid/view/textclassifier/TextSelection$Request$Builder;->build()Landroid/view/textclassifier/TextSelection$Request;
+HPLandroid/view/textclassifier/TextSelection$Request;->getCallingPackageName()Ljava/lang/String;
 HPLandroid/view/textclassifier/TextSelection$Request;->getDefaultLocales()Landroid/os/LocaleList;
 HPLandroid/view/textclassifier/TextSelection$Request;->getEndIndex()I
 HPLandroid/view/textclassifier/TextSelection$Request;->getStartIndex()I
 HPLandroid/view/textclassifier/TextSelection$Request;->getText()Ljava/lang/CharSequence;
+HPLandroid/view/textclassifier/TextSelection$Request;->readFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextSelection$Request;
 HPLandroid/view/textclassifier/TextSelection$Request;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/textclassifier/TextSelection;-><init>(IILjava/util/Map;Ljava/lang/String;Landroid/os/Bundle;)V
+HPLandroid/view/textclassifier/TextSelection;-><init>(Landroid/os/Parcel;)V
 HPLandroid/view/textclassifier/TextSelection;->getConfidenceScore(Ljava/lang/String;)F
 HPLandroid/view/textclassifier/TextSelection;->getEntity(I)Ljava/lang/String;
 HPLandroid/view/textclassifier/TextSelection;->getEntityCount()I
+HPLandroid/view/textclassifier/TextSelection;->getExtras()Landroid/os/Bundle;
+HPLandroid/view/textclassifier/TextSelection;->getId()Ljava/lang/String;
 HPLandroid/view/textclassifier/TextSelection;->getSelectionEndIndex()I
 HPLandroid/view/textclassifier/TextSelection;->getSelectionStartIndex()I
+HPLandroid/view/textclassifier/TextSelection;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;-><init>(IIILjava/lang/String;Ljava/lang/String;)V
+HPLandroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionAction(IIILandroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
+HPLandroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionModified(IILandroid/view/textclassifier/TextClassification;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
+HPLandroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionModified(IILandroid/view/textclassifier/TextSelection;)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
+HPLandroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;->selectionStarted(I)Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
+HPLandroid/view/textclassifier/logging/SmartSelectionEventTracker;-><init>(Landroid/content/Context;I)V
+HPLandroid/view/textclassifier/logging/SmartSelectionEventTracker;->debugLog(Landroid/metrics/LogMaker;)V
+HPLandroid/view/textclassifier/logging/SmartSelectionEventTracker;->endSession()V
+HPLandroid/view/textclassifier/logging/SmartSelectionEventTracker;->getLogType(Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;)I
+HPLandroid/view/textclassifier/logging/SmartSelectionEventTracker;->getLogTypeString(I)Ljava/lang/String;
+HPLandroid/view/textclassifier/logging/SmartSelectionEventTracker;->getWidgetTypeName()Ljava/lang/String;
+HPLandroid/view/textclassifier/logging/SmartSelectionEventTracker;->logEvent(Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;)V
+HPLandroid/view/textclassifier/logging/SmartSelectionEventTracker;->writeEvent(Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;J)V
 HPLandroid/view/textservice/SentenceSuggestionsInfo$1;-><init>()V
 HPLandroid/view/textservice/SentenceSuggestionsInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textservice/SentenceSuggestionsInfo;
 HPLandroid/view/textservice/SentenceSuggestionsInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -7195,28 +8030,36 @@
 HPLandroid/view/textservice/SentenceSuggestionsInfo;-><init>(Landroid/os/Parcel;)V
 HPLandroid/view/textservice/SentenceSuggestionsInfo;-><init>([Landroid/view/textservice/SuggestionsInfo;[I[I)V
 HPLandroid/view/textservice/SentenceSuggestionsInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/textservice/SpellCheckerInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textservice/SpellCheckerInfo;
+HPLandroid/view/textservice/SpellCheckerInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/view/textservice/SpellCheckerInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)V
+HPLandroid/view/textservice/SpellCheckerInfo;-><init>(Landroid/os/Parcel;)V
 HPLandroid/view/textservice/SpellCheckerInfo;->getComponent()Landroid/content/ComponentName;
 HPLandroid/view/textservice/SpellCheckerInfo;->getPackageName()Ljava/lang/String;
-HPLandroid/view/textservice/SpellCheckerInfo;->getServiceInfo()Landroid/content/pm/ServiceInfo;
 HPLandroid/view/textservice/SpellCheckerInfo;->getSubtypeAt(I)Landroid/view/textservice/SpellCheckerSubtype;
 HPLandroid/view/textservice/SpellCheckerInfo;->getSubtypeCount()I
-HPLandroid/view/textservice/SpellCheckerInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/view/textservice/SpellCheckerSession$1;->handleMessage(Landroid/os/Message;)V
+HPLandroid/view/textservice/SpellCheckerSession$InternalListener;->onServiceConnected(Lcom/android/internal/textservice/ISpellCheckerSession;)V
 HPLandroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->onGetSentenceSuggestions([Landroid/view/textservice/SentenceSuggestionsInfo;)V
+HPLandroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->onServiceConnected(Lcom/android/internal/textservice/ISpellCheckerSession;)V
 HPLandroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->processCloseLocked()V
 HPLandroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->processOrEnqueueTask(Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl$SpellCheckerParams;)V
 HPLandroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->processTask(Lcom/android/internal/textservice/ISpellCheckerSession;Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl$SpellCheckerParams;Z)V
+HPLandroid/view/textservice/SpellCheckerSession;-><init>(Landroid/view/textservice/SpellCheckerInfo;Landroid/view/textservice/TextServicesManager;Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;)V
 HPLandroid/view/textservice/SpellCheckerSession;->close()V
-HPLandroid/view/textservice/SpellCheckerSession;->finalize()V
 HPLandroid/view/textservice/SpellCheckerSession;->getSentenceSuggestions([Landroid/view/textservice/TextInfo;I)V
+HPLandroid/view/textservice/SpellCheckerSubtype$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textservice/SpellCheckerSubtype;
+HPLandroid/view/textservice/SpellCheckerSubtype$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/view/textservice/SpellCheckerSubtype;-><init>(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
+HPLandroid/view/textservice/SpellCheckerSubtype;-><init>(Landroid/os/Parcel;)V
+HPLandroid/view/textservice/SpellCheckerSubtype;->getLocaleObject()Ljava/util/Locale;
 HPLandroid/view/textservice/SpellCheckerSubtype;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/view/textservice/SuggestionsInfo$1;-><init>()V
 HPLandroid/view/textservice/SuggestionsInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textservice/SuggestionsInfo;
 HPLandroid/view/textservice/SuggestionsInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/view/textservice/SuggestionsInfo;-><init>(I[Ljava/lang/String;)V
 HPLandroid/view/textservice/SuggestionsInfo;-><init>(Landroid/os/Parcel;)V
+HPLandroid/view/textservice/SuggestionsInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/view/textservice/TextInfo$1;-><init>()V
 HPLandroid/view/textservice/TextInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textservice/TextInfo;
 HPLandroid/view/textservice/TextInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -7225,194 +8068,300 @@
 HPLandroid/view/textservice/TextInfo;-><init>(Ljava/lang/CharSequence;IIII)V
 HPLandroid/view/textservice/TextInfo;->getText()Ljava/lang/String;
 HPLandroid/view/textservice/TextInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/view/textservice/TextServicesManager;->finishSpellCheckerService(Lcom/android/internal/textservice/ISpellCheckerSessionListener;)V
+HPLandroid/view/textservice/TextServicesManager;->getCurrentSpellCheckerSubtype(Z)Landroid/view/textservice/SpellCheckerSubtype;
+HPLandroid/view/textservice/TextServicesManager;->isSpellCheckerEnabled()Z
+HPLandroid/view/textservice/TextServicesManager;->newSpellCheckerSession(Landroid/os/Bundle;Ljava/util/Locale;Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;Z)Landroid/view/textservice/SpellCheckerSession;
 HPLandroid/webkit/ConsoleMessage$MessageLevel;->values()[Landroid/webkit/ConsoleMessage$MessageLevel;
+HPLandroid/webkit/ConsoleMessage;->lineNumber()I
+HPLandroid/webkit/ConsoleMessage;->message()Ljava/lang/String;
+HPLandroid/webkit/ConsoleMessage;->messageLevel()Landroid/webkit/ConsoleMessage$MessageLevel;
+HPLandroid/webkit/ConsoleMessage;->sourceId()Ljava/lang/String;
+HPLandroid/webkit/CookieSyncManager;->sync()V
+HPLandroid/webkit/GeolocationPermissions;-><init>()V
 HPLandroid/webkit/IWebViewUpdateService$Stub$Proxy;->getCurrentWebViewPackage()Landroid/content/pm/PackageInfo;
-HPLandroid/webkit/IWebViewUpdateService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/webkit/IWebViewUpdateService;
-HPLandroid/webkit/JsPromptResult;-><init>(Landroid/webkit/JsResult$ResultReceiver;)V
-HPLandroid/webkit/JsResult;->getResult()Z
+HPLandroid/webkit/IWebViewUpdateService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLandroid/webkit/MimeTypeMap;-><init>()V
+HPLandroid/webkit/MimeTypeMap;->getExtensionFromMimeType(Ljava/lang/String;)Ljava/lang/String;
 HPLandroid/webkit/MimeTypeMap;->getMimeTypeFromExtension(Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/webkit/URLUtil;->guessUrl(Ljava/lang/String;)Ljava/lang/String;
-HPLandroid/webkit/URLUtil;->isNetworkUrl(Ljava/lang/String;)Z
+HPLandroid/webkit/MimeTypeMap;->getSingleton()Landroid/webkit/MimeTypeMap;
+HPLandroid/webkit/URLUtil;->isHttpUrl(Ljava/lang/String;)Z
+HPLandroid/webkit/URLUtil;->isHttpsUrl(Ljava/lang/String;)Z
 HPLandroid/webkit/WebBackForwardList;-><init>()V
-HPLandroid/webkit/WebChromeClient;->onReceivedTouchIconUrl(Landroid/webkit/WebView;Ljava/lang/String;Z)V
+HPLandroid/webkit/WebChromeClient;-><init>()V
+HPLandroid/webkit/WebChromeClient;->getDefaultVideoPoster()Landroid/graphics/Bitmap;
+HPLandroid/webkit/WebChromeClient;->getVisitedHistory(Landroid/webkit/ValueCallback;)V
+HPLandroid/webkit/WebChromeClient;->onProgressChanged(Landroid/webkit/WebView;I)V
+HPLandroid/webkit/WebChromeClient;->onReceivedIcon(Landroid/webkit/WebView;Landroid/graphics/Bitmap;)V
+HPLandroid/webkit/WebChromeClient;->onReceivedTitle(Landroid/webkit/WebView;Ljava/lang/String;)V
 HPLandroid/webkit/WebHistoryItem;-><init>()V
-HPLandroid/webkit/WebResourceError;->getDescription()Ljava/lang/CharSequence;
-HPLandroid/webkit/WebResourceError;->getErrorCode()I
+HPLandroid/webkit/WebResourceError;-><init>()V
+HPLandroid/webkit/WebResourceResponse;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;)V
+HPLandroid/webkit/WebResourceResponse;-><init>(ZLjava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/util/Map;Ljava/io/InputStream;)V
+HPLandroid/webkit/WebResourceResponse;->getData()Ljava/io/InputStream;
+HPLandroid/webkit/WebResourceResponse;->getEncoding()Ljava/lang/String;
+HPLandroid/webkit/WebResourceResponse;->getMimeType()Ljava/lang/String;
+HPLandroid/webkit/WebResourceResponse;->getReasonPhrase()Ljava/lang/String;
+HPLandroid/webkit/WebResourceResponse;->getResponseHeaders()Ljava/util/Map;
+HPLandroid/webkit/WebResourceResponse;->getStatusCode()I
+HPLandroid/webkit/WebResourceResponse;->setData(Ljava/io/InputStream;)V
+HPLandroid/webkit/WebSettings$PluginState;-><init>(Ljava/lang/String;I)V
+HPLandroid/webkit/WebSettings;-><init>()V
+HPLandroid/webkit/WebSettings;->getDefaultUserAgent(Landroid/content/Context;)Ljava/lang/String;
+HPLandroid/webkit/WebStorage;-><init>()V
+HPLandroid/webkit/WebView$HitTestResult;-><init>()V
+HPLandroid/webkit/WebView$HitTestResult;->getType()I
+HPLandroid/webkit/WebView$HitTestResult;->setExtra(Ljava/lang/String;)V
+HPLandroid/webkit/WebView$HitTestResult;->setType(I)V
 HPLandroid/webkit/WebView$PrivateAccess;->overScrollBy(IIIIIIIIZ)V
+HPLandroid/webkit/WebView$PrivateAccess;->setMeasuredDimension(II)V
+HPLandroid/webkit/WebView$PrivateAccess;->super_dispatchKeyEvent(Landroid/view/KeyEvent;)Z
+HPLandroid/webkit/WebView$PrivateAccess;->super_getScrollBarStyle()I
+HPLandroid/webkit/WebView$PrivateAccess;->super_performLongClick()Z
+HPLandroid/webkit/WebView$PrivateAccess;->super_requestFocus(ILandroid/graphics/Rect;)Z
 HPLandroid/webkit/WebView$PrivateAccess;->super_scrollTo(II)V
+HPLandroid/webkit/WebView$PrivateAccess;->super_setFrame(IIII)Z
+HPLandroid/webkit/WebView$PrivateAccess;->super_setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
+HPLandroid/webkit/WebView;-><init>(Landroid/content/Context;)V
+HPLandroid/webkit/WebView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HPLandroid/webkit/WebView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HPLandroid/webkit/WebView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;IILjava/util/Map;Z)V
+HPLandroid/webkit/WebView;->addJavascriptInterface(Ljava/lang/Object;Ljava/lang/String;)V
 HPLandroid/webkit/WebView;->canGoBack()Z
+HPLandroid/webkit/WebView;->checkThread()V
 HPLandroid/webkit/WebView;->clearHistory()V
-HPLandroid/webkit/WebView;->clearMatches()V
+HPLandroid/webkit/WebView;->clearView()V
+HPLandroid/webkit/WebView;->computeHorizontalScrollRange()I
+HPLandroid/webkit/WebView;->computeScroll()V
+HPLandroid/webkit/WebView;->computeVerticalScrollExtent()I
+HPLandroid/webkit/WebView;->computeVerticalScrollRange()I
+HPLandroid/webkit/WebView;->copyBackForwardList()Landroid/webkit/WebBackForwardList;
+HPLandroid/webkit/WebView;->destroy()V
+HPLandroid/webkit/WebView;->dispatchDraw(Landroid/graphics/Canvas;)V
+HPLandroid/webkit/WebView;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
+HPLandroid/webkit/WebView;->evaluateJavascript(Ljava/lang/String;Landroid/webkit/ValueCallback;)V
+HPLandroid/webkit/WebView;->findFocus()Landroid/view/View;
 HPLandroid/webkit/WebView;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HPLandroid/webkit/WebView;->getCurrentWebViewPackage()Landroid/content/pm/PackageInfo;
+HPLandroid/webkit/WebView;->getAccessibilityNodeProvider()Landroid/view/accessibility/AccessibilityNodeProvider;
+HPLandroid/webkit/WebView;->getContentHeight()I
+HPLandroid/webkit/WebView;->getFavicon()Landroid/graphics/Bitmap;
+HPLandroid/webkit/WebView;->getHandler()Landroid/os/Handler;
+HPLandroid/webkit/WebView;->getHitTestResult()Landroid/webkit/WebView$HitTestResult;
+HPLandroid/webkit/WebView;->getScale()F
+HPLandroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings;
+HPLandroid/webkit/WebView;->getUrl()Ljava/lang/String;
+HPLandroid/webkit/WebView;->goBackOrForward(I)V
+HPLandroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
+HPLandroid/webkit/WebView;->loadUrl(Ljava/lang/String;Ljava/util/Map;)V
+HPLandroid/webkit/WebView;->onAttachedToWindow()V
+HPLandroid/webkit/WebView;->onCheckIsTextEditor()Z
+HPLandroid/webkit/WebView;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+HPLandroid/webkit/WebView;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection;
+HPLandroid/webkit/WebView;->onDetachedFromWindowInternal()V
+HPLandroid/webkit/WebView;->onDraw(Landroid/graphics/Canvas;)V
+HPLandroid/webkit/WebView;->onFocusChanged(ZILandroid/graphics/Rect;)V
+HPLandroid/webkit/WebView;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
+HPLandroid/webkit/WebView;->onKeyDown(ILandroid/view/KeyEvent;)Z
+HPLandroid/webkit/WebView;->onKeyUp(ILandroid/view/KeyEvent;)Z
+HPLandroid/webkit/WebView;->onMeasure(II)V
 HPLandroid/webkit/WebView;->onOverScrolled(IIZZ)V
 HPLandroid/webkit/WebView;->onPause()V
-HPLandroid/webkit/WebView;->onProvideVirtualStructure(Landroid/view/ViewStructure;)V
+HPLandroid/webkit/WebView;->onProvideAutofillVirtualStructure(Landroid/view/ViewStructure;I)V
+HPLandroid/webkit/WebView;->onResume()V
 HPLandroid/webkit/WebView;->onScrollChanged(IIII)V
+HPLandroid/webkit/WebView;->onSizeChanged(IIII)V
 HPLandroid/webkit/WebView;->onTouchEvent(Landroid/view/MotionEvent;)Z
-HPLandroid/webkit/WebView;->pageUp(Z)Z
-HPLandroid/webkit/WebView;->saveWebArchive(Ljava/lang/String;)V
-HPLandroid/webkit/WebView;->setWebContentsDebuggingEnabled(Z)V
-HPLandroid/webkit/WebView;->stopLoading()V
-HPLandroid/webkit/WebView;->zoomOut()Z
+HPLandroid/webkit/WebView;->onVisibilityChanged(Landroid/view/View;I)V
+HPLandroid/webkit/WebView;->onWindowFocusChanged(Z)V
+HPLandroid/webkit/WebView;->onWindowVisibilityChanged(I)V
+HPLandroid/webkit/WebView;->performLongClick()Z
+HPLandroid/webkit/WebView;->removeJavascriptInterface(Ljava/lang/String;)V
+HPLandroid/webkit/WebView;->requestFocus(ILandroid/graphics/Rect;)Z
+HPLandroid/webkit/WebView;->setBackgroundColor(I)V
+HPLandroid/webkit/WebView;->setDownloadListener(Landroid/webkit/DownloadListener;)V
+HPLandroid/webkit/WebView;->setFrame(IIII)Z
+HPLandroid/webkit/WebView;->setInitialScale(I)V
+HPLandroid/webkit/WebView;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
+HPLandroid/webkit/WebView;->setOverScrollMode(I)V
+HPLandroid/webkit/WebView;->setWebChromeClient(Landroid/webkit/WebChromeClient;)V
+HPLandroid/webkit/WebView;->setWebViewClient(Landroid/webkit/WebViewClient;)V
+HPLandroid/webkit/WebViewClient;-><init>()V
+HPLandroid/webkit/WebViewClient;->doUpdateVisitedHistory(Landroid/webkit/WebView;Ljava/lang/String;Z)V
+HPLandroid/webkit/WebViewClient;->onLoadResource(Landroid/webkit/WebView;Ljava/lang/String;)V
+HPLandroid/webkit/WebViewClient;->onPageCommitVisible(Landroid/webkit/WebView;Ljava/lang/String;)V
+HPLandroid/webkit/WebViewClient;->onPageStarted(Landroid/webkit/WebView;Ljava/lang/String;Landroid/graphics/Bitmap;)V
 HPLandroid/webkit/WebViewClient;->onReceivedError(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;Landroid/webkit/WebResourceError;)V
 HPLandroid/webkit/WebViewClient;->onReceivedHttpError(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;Landroid/webkit/WebResourceResponse;)V
-HPLandroid/webkit/WebViewClient;->onUnhandledKeyEvent(Landroid/webkit/WebView;Landroid/view/KeyEvent;)V
+HPLandroid/webkit/WebViewClient;->onScaleChanged(Landroid/webkit/WebView;FF)V
+HPLandroid/webkit/WebViewClient;->shouldInterceptRequest(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;)Landroid/webkit/WebResourceResponse;
+HPLandroid/webkit/WebViewClient;->shouldInterceptRequest(Landroid/webkit/WebView;Ljava/lang/String;)Landroid/webkit/WebResourceResponse;
+HPLandroid/webkit/WebViewClient;->shouldOverrideKeyEvent(Landroid/webkit/WebView;Landroid/view/KeyEvent;)Z
 HPLandroid/webkit/WebViewClient;->shouldOverrideUrlLoading(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;)Z
+HPLandroid/webkit/WebViewDelegate;->addWebViewAssetPath(Landroid/content/Context;)V
+HPLandroid/webkit/WebViewDelegate;->drawWebViewFunctor(Landroid/graphics/Canvas;I)V
+HPLandroid/webkit/WebViewDelegate;->isTraceTagEnabled()Z
+HPLandroid/webkit/WebViewDelegate;->setOnTraceEnabledChangeListener(Landroid/webkit/WebViewDelegate$OnTraceEnabledChangeListener;)V
+HPLandroid/webkit/WebViewFactory;->getUpdateService()Landroid/webkit/IWebViewUpdateService;
 HPLandroid/webkit/WebViewZygote;->getPackageName()Ljava/lang/String;
 HPLandroid/webkit/WebViewZygote;->isMultiprocessEnabled()Z
+HPLandroid/widget/-$$Lambda$Magnifier$InternalPopupWindow$qfjMrDJVvOQUv9_kKVdpLzbaJ-A;->onFrameDraw(J)V
+HPLandroid/widget/-$$Lambda$Magnifier$InternalPopupWindow$t9Cn2sIi2LBUhAVikvRPKKoAwIU;->run()V
+HPLandroid/widget/-$$Lambda$Magnifier$K0um0QSTAb4wXwua60CgJIIwGaI;->onPixelCopyFinished(I)V
 HPLandroid/widget/-$$Lambda$PopupWindow$8Gc2stI5cSJZbuKX7X4Qr_vU2nI;->onLayoutChange(Landroid/view/View;IIIIIIII)V
-HPLandroid/widget/-$$Lambda$PopupWindow$PopupDecorView$T99WKEnQefOCXbbKvW95WY38p_I;->run()V
-HPLandroid/widget/-$$Lambda$PopupWindow$nV1HS3Nc6Ck5JRIbIHe3mkyHWzc;->onScrollChanged()V
-HPLandroid/widget/-$$Lambda$TimePicker$2FhAB9WgnLgn4zn4f9rRT7DNfjw;->onTimeChanged(Landroid/widget/TimePicker;II)V
-HPLandroid/widget/AbsListView$AdapterDataSetObserver;->onInvalidated()V
-HPLandroid/widget/AbsListView$FlingRunnable;->edgeReached(I)V
-HPLandroid/widget/AbsListView$FlingRunnable;->endFling()V
-HPLandroid/widget/AbsListView$FlingRunnable;->startScroll(IIZZ)V
-HPLandroid/widget/AbsListView$InputConnectionWrapper;->closeConnection()V
-HPLandroid/widget/AbsListView$InputConnectionWrapper;->finishComposingText()Z
-HPLandroid/widget/AbsListView$PositionScroller;->startWithOffset(II)V
-HPLandroid/widget/AbsListView$PositionScroller;->startWithOffset(III)V
-HPLandroid/widget/AbsListView$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/widget/AbsListView$SavedState;
-HPLandroid/widget/AbsListView$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/widget/AbsListView$SavedState;-><init>(Landroid/os/Parcel;)V
-HPLandroid/widget/AbsListView$SelectionBoundsAdjuster;->adjustListItemSelectionBounds(Landroid/graphics/Rect;)V
-HPLandroid/widget/AbsListView;->findClosestMotionRow(I)I
-HPLandroid/widget/AbsListView;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
-HPLandroid/widget/AbsListView;->getListPaddingBottom()I
-HPLandroid/widget/AbsListView;->getListPaddingLeft()I
-HPLandroid/widget/AbsListView;->getListPaddingRight()I
-HPLandroid/widget/AbsListView;->getSelector()Landroid/graphics/drawable/Drawable;
-HPLandroid/widget/AbsListView;->invalidateTopGlow()V
-HPLandroid/widget/AbsListView;->isStackFromBottom()Z
-HPLandroid/widget/AbsListView;->onKeyUp(ILandroid/view/KeyEvent;)Z
-HPLandroid/widget/AbsListView;->onRestoreInstanceState(Landroid/os/Parcelable;)V
-HPLandroid/widget/AbsListView;->onSecondaryPointerUp(Landroid/view/MotionEvent;)V
-HPLandroid/widget/AbsListView;->onSizeChanged(IIII)V
+HPLandroid/widget/AbsListView$AdapterDataSetObserver;->onChanged()V
+HPLandroid/widget/AbsListView$CheckForTap;->run()V
+HPLandroid/widget/AbsListView$LayoutParams;-><init>(II)V
+HPLandroid/widget/AbsListView;->confirmCheckedPositionsById()V
+HPLandroid/widget/AbsListView;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
+HPLandroid/widget/AbsListView;->handleDataChanged()V
+HPLandroid/widget/AbsListView;->isItemChecked(I)Z
+HPLandroid/widget/AbsListView;->isTextFilterEnabled()Z
+HPLandroid/widget/AbsListView;->onCancelPendingInputEvents()V
+HPLandroid/widget/AbsListView;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection;
 HPLandroid/widget/AbsListView;->onTouchCancel()V
-HPLandroid/widget/AbsListView;->sendToTextFilter(IILandroid/view/KeyEvent;)Z
-HPLandroid/widget/AbsListView;->setCacheColorHint(I)V
-HPLandroid/widget/AbsListView;->setFilterText(Ljava/lang/String;)V
-HPLandroid/widget/AbsListView;->setFriction(F)V
-HPLandroid/widget/AbsListView;->setSelector(I)V
-HPLandroid/widget/AbsListView;->smoothScrollBy(IIZZ)V
-HPLandroid/widget/AbsListView;->smoothScrollToPositionFromTop(II)V
-HPLandroid/widget/AbsListView;->smoothScrollToPositionFromTop(III)V
+HPLandroid/widget/AbsListView;->onTouchMove(Landroid/view/MotionEvent;Landroid/view/MotionEvent;)V
+HPLandroid/widget/AbsListView;->reconcileSelectedPosition()I
+HPLandroid/widget/AbsListView;->setItemChecked(IZ)V
+HPLandroid/widget/AbsListView;->startScrollIfNeeded(IILandroid/view/MotionEvent;)Z
 HPLandroid/widget/AbsListView;->updateOnScreenCheckedViews()V
-HPLandroid/widget/AbsSeekBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HPLandroid/widget/AbsSeekBar;->applyThumbTint()V
-HPLandroid/widget/AbsSeekBar;->applyTickMarkTint()V
-HPLandroid/widget/AbsSeekBar;->canUserSetProgress()Z
-HPLandroid/widget/AbsSeekBar;->drawThumb(Landroid/graphics/Canvas;)V
-HPLandroid/widget/AbsSeekBar;->drawTickMarks(Landroid/graphics/Canvas;)V
-HPLandroid/widget/AbsSeekBar;->drawTrack(Landroid/graphics/Canvas;)V
-HPLandroid/widget/AbsSeekBar;->drawableStateChanged()V
-HPLandroid/widget/AbsSeekBar;->getThumbOffset()I
-HPLandroid/widget/AbsSeekBar;->jumpDrawablesToCurrentState()V
-HPLandroid/widget/AbsSeekBar;->onDraw(Landroid/graphics/Canvas;)V
-HPLandroid/widget/AbsSeekBar;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-HPLandroid/widget/AbsSeekBar;->onKeyDown(ILandroid/view/KeyEvent;)Z
-HPLandroid/widget/AbsSeekBar;->onMeasure(II)V
-HPLandroid/widget/AbsSeekBar;->onResolveDrawables(I)V
-HPLandroid/widget/AbsSeekBar;->onRtlPropertiesChanged(I)V
-HPLandroid/widget/AbsSeekBar;->onSizeChanged(IIII)V
+HPLandroid/widget/AbsSeekBar;->getThumb()Landroid/graphics/drawable/Drawable;
 HPLandroid/widget/AbsSeekBar;->onTouchEvent(Landroid/view/MotionEvent;)Z
-HPLandroid/widget/AbsSeekBar;->onVisualProgressChanged(IF)V
-HPLandroid/widget/AbsSeekBar;->setKeyProgressIncrement(I)V
-HPLandroid/widget/AbsSeekBar;->setMax(I)V
-HPLandroid/widget/AbsSeekBar;->setMin(I)V
-HPLandroid/widget/AbsSeekBar;->setSplitTrack(Z)V
-HPLandroid/widget/AbsSeekBar;->setThumb(Landroid/graphics/drawable/Drawable;)V
-HPLandroid/widget/AbsSeekBar;->setThumbOffset(I)V
-HPLandroid/widget/AbsSeekBar;->setThumbPos(ILandroid/graphics/drawable/Drawable;FI)V
-HPLandroid/widget/AbsSeekBar;->setTickMark(Landroid/graphics/drawable/Drawable;)V
-HPLandroid/widget/AbsSeekBar;->updateThumbAndTrackPos(II)V
-HPLandroid/widget/AbsSeekBar;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
-HPLandroid/widget/AbsSpinner$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/widget/AbsSpinner$SavedState;
-HPLandroid/widget/AbsSpinner$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/widget/AbsSpinner;->dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
-HPLandroid/widget/AbsSpinner;->onRestoreInstanceState(Landroid/os/Parcelable;)V
-HPLandroid/widget/AbsSpinner;->setSelection(IZ)V
-HPLandroid/widget/AbsSpinner;->setSelectionInt(IZ)V
-HPLandroid/widget/ActionMenuPresenter$2;->onViewAttachedToWindow(Landroid/view/View;)V
+HPLandroid/widget/AbsSeekBar;->trackTouchEvent(Landroid/view/MotionEvent;)V
+HPLandroid/widget/AbsSpinner$RecycleBin;->clear()V
+HPLandroid/widget/AbsSpinner$RecycleBin;->get(I)Landroid/view/View;
+HPLandroid/widget/AbsSpinner$RecycleBin;->put(ILandroid/view/View;)V
+HPLandroid/widget/AbsSpinner$SavedState$1;-><init>()V
+HPLandroid/widget/AbsSpinner$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/widget/AbsSpinner;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HPLandroid/widget/AbsSpinner;->getAdapter()Landroid/widget/Adapter;
+HPLandroid/widget/AbsSpinner;->getAdapter()Landroid/widget/SpinnerAdapter;
+HPLandroid/widget/AbsSpinner;->getAutofillType()I
+HPLandroid/widget/AbsSpinner;->getChildHeight(Landroid/view/View;)I
+HPLandroid/widget/AbsSpinner;->getChildWidth(Landroid/view/View;)I
+HPLandroid/widget/AbsSpinner;->getCount()I
+HPLandroid/widget/AbsSpinner;->getSelectedView()Landroid/view/View;
+HPLandroid/widget/AbsSpinner;->onMeasure(II)V
+HPLandroid/widget/AbsSpinner;->onSaveInstanceState()Landroid/os/Parcelable;
+HPLandroid/widget/AbsSpinner;->recycleAllViews()V
+HPLandroid/widget/AbsSpinner;->requestLayout()V
+HPLandroid/widget/AbsSpinner;->resetList()V
+HPLandroid/widget/AbsSpinner;->setAdapter(Landroid/widget/SpinnerAdapter;)V
+HPLandroid/widget/AbsSpinner;->setSelection(I)V
+HPLandroid/widget/AbsoluteLayout;->onLayout(ZIIII)V
+HPLandroid/widget/AbsoluteLayout;->onMeasure(II)V
 HPLandroid/widget/ActionMenuPresenter$2;->onViewDetachedFromWindow(Landroid/view/View;)V
-HPLandroid/widget/ActionMenuPresenter;->bindItemView(Lcom/android/internal/view/menu/MenuItemImpl;Lcom/android/internal/view/menu/MenuView$ItemView;)V
+HPLandroid/widget/ActionMenuPresenter$OverflowMenuButton;->needsDividerBefore()Z
+HPLandroid/widget/ActionMenuPresenter$OverflowMenuButton;->setFrame(IIII)Z
 HPLandroid/widget/ActionMenuPresenter;->dismissPopupMenus()Z
 HPLandroid/widget/ActionMenuPresenter;->filterLeftoverView(Landroid/view/ViewGroup;I)Z
-HPLandroid/widget/ActionMenuPresenter;->getItemView(Lcom/android/internal/view/menu/MenuItemImpl;Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
 HPLandroid/widget/ActionMenuPresenter;->hideOverflowMenu()Z
 HPLandroid/widget/ActionMenuPresenter;->hideSubMenus()Z
 HPLandroid/widget/ActionMenuPresenter;->isOverflowMenuShowing()Z
+HPLandroid/widget/ActionMenuPresenter;->onCloseMenu(Lcom/android/internal/view/menu/MenuBuilder;Z)V
 HPLandroid/widget/ActionMenuView;->dismissPopupMenus()V
-HPLandroid/widget/ActionMenuView;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
-HPLandroid/widget/ActionMenuView;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/ActionMenuView$LayoutParams;
+HPLandroid/widget/ActionMenuView;->generateDefaultLayoutParams()Landroid/widget/ActionMenuView$LayoutParams;
+HPLandroid/widget/ActionMenuView;->generateOverflowButtonLayoutParams()Landroid/widget/ActionMenuView$LayoutParams;
+HPLandroid/widget/ActionMenuView;->invokeItem(Lcom/android/internal/view/menu/MenuItemImpl;)Z
 HPLandroid/widget/ActionMenuView;->isOverflowMenuShowing()Z
 HPLandroid/widget/ActionMenuView;->onDetachedFromWindow()V
 HPLandroid/widget/ActionMenuView;->setPresenter(Landroid/widget/ActionMenuPresenter;)V
-HPLandroid/widget/Adapter;->getAutofillOptions()[Ljava/lang/CharSequence;
-HPLandroid/widget/AdapterView$AdapterDataSetObserver;->onInvalidated()V
-HPLandroid/widget/AdapterView;->dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
+HPLandroid/widget/AdapterView$AdapterDataSetObserver;->onChanged()V
+HPLandroid/widget/AdapterView$SelectionNotifier;->run()V
+HPLandroid/widget/AdapterView;->fireOnSelected()V
 HPLandroid/widget/AdapterView;->getSelectedItem()Ljava/lang/Object;
-HPLandroid/widget/AlphabetIndexer;->compare(Ljava/lang/String;Ljava/lang/String;)I
-HPLandroid/widget/AlphabetIndexer;->getPositionForSection(I)I
-HPLandroid/widget/AlphabetIndexer;->getSectionForPosition(I)I
-HPLandroid/widget/AlphabetIndexer;->getSections()[Ljava/lang/Object;
-HPLandroid/widget/ArrayAdapter;->getPosition(Ljava/lang/Object;)I
+HPLandroid/widget/AdapterView;->handleDataChanged()V
+HPLandroid/widget/AdapterView;->isInFilterMode()Z
+HPLandroid/widget/AdapterView;->lookForSelectablePosition(IZ)I
+HPLandroid/widget/AdapterView;->onProvideAutofillStructure(Landroid/view/ViewStructure;I)V
+HPLandroid/widget/AdapterView;->onProvideStructure(Landroid/view/ViewStructure;II)V
+HPLandroid/widget/AdapterView;->onRequestSendAccessibilityEventInternal(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
+HPLandroid/widget/AdapterView;->rememberSyncState()V
+HPLandroid/widget/AdapterView;->selectionChanged()V
+HPLandroid/widget/AppSecurityPermissions;->getPermissionItemView(Landroid/content/Context;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Z)Landroid/view/View;
+HPLandroid/widget/AppSecurityPermissions;->getPermissionItemViewOld(Landroid/content/Context;Landroid/view/LayoutInflater;Ljava/lang/CharSequence;Ljava/lang/CharSequence;ZLandroid/graphics/drawable/Drawable;)Landroid/view/View;
+HPLandroid/widget/ArrayAdapter;-><init>(Landroid/content/Context;II[Ljava/lang/Object;)V
+HPLandroid/widget/ArrayAdapter;-><init>(Landroid/content/Context;I[Ljava/lang/Object;)V
+HPLandroid/widget/ArrayAdapter;->add(Ljava/lang/Object;)V
+HPLandroid/widget/ArrayAdapter;->clear()V
+HPLandroid/widget/ArrayAdapter;->createViewFromResource(Landroid/view/LayoutInflater;ILandroid/view/View;Landroid/view/ViewGroup;I)Landroid/view/View;
+HPLandroid/widget/ArrayAdapter;->getCount()I
+HPLandroid/widget/ArrayAdapter;->getDropDownViewTheme()Landroid/content/res/Resources$Theme;
+HPLandroid/widget/ArrayAdapter;->getItem(I)Ljava/lang/Object;
+HPLandroid/widget/ArrayAdapter;->getItemId(I)J
+HPLandroid/widget/ArrayAdapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
+HPLandroid/widget/ArrayAdapter;->notifyDataSetChanged()V
 HPLandroid/widget/ArrayAdapter;->setDropDownViewResource(I)V
-HPLandroid/widget/AutoCompleteTextView;->getValidator()Landroid/widget/AutoCompleteTextView$Validator;
-HPLandroid/widget/AutoCompleteTextView;->onFocusChanged(ZILandroid/graphics/Rect;)V
-HPLandroid/widget/AutoCompleteTextView;->performValidation()V
-HPLandroid/widget/BaseExpandableListAdapter;-><init>()V
-HPLandroid/widget/BaseExpandableListAdapter;->areAllItemsEnabled()Z
-HPLandroid/widget/BaseExpandableListAdapter;->notifyDataSetChanged()V
-HPLandroid/widget/BaseExpandableListAdapter;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
+HPLandroid/widget/ArrayAdapter;->setDropDownViewTheme(Landroid/content/res/Resources$Theme;)V
+HPLandroid/widget/AutoCompleteTextView$MyWatcher;->afterTextChanged(Landroid/text/Editable;)V
+HPLandroid/widget/AutoCompleteTextView$MyWatcher;->beforeTextChanged(Ljava/lang/CharSequence;III)V
+HPLandroid/widget/AutoCompleteTextView$MyWatcher;->onTextChanged(Ljava/lang/CharSequence;III)V
+HPLandroid/widget/AutoCompleteTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HPLandroid/widget/AutoCompleteTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;IILandroid/content/res/Resources$Theme;)V
+HPLandroid/widget/AutoCompleteTextView;->dismissDropDown()V
+HPLandroid/widget/AutoCompleteTextView;->doAfterTextChanged()V
+HPLandroid/widget/AutoCompleteTextView;->doBeforeTextChanged()V
+HPLandroid/widget/AutoCompleteTextView;->enoughToFilter()Z
+HPLandroid/widget/AutoCompleteTextView;->getDropDownAnchor()I
+HPLandroid/widget/AutoCompleteTextView;->getThreshold()I
+HPLandroid/widget/AutoCompleteTextView;->isPopupShowing()Z
+HPLandroid/widget/AutoCompleteTextView;->setAdapter(Landroid/widget/ListAdapter;)V
+HPLandroid/widget/AutoCompleteTextView;->setCompletionHint(Ljava/lang/CharSequence;)V
+HPLandroid/widget/AutoCompleteTextView;->setDropDownBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
+HPLandroid/widget/AutoCompleteTextView;->setOnClickListener(Landroid/view/View$OnClickListener;)V
+HPLandroid/widget/AutoCompleteTextView;->setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V
+HPLandroid/widget/AutoCompleteTextView;->setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)V
+HPLandroid/widget/AutoCompleteTextView;->setThreshold(I)V
+HPLandroid/widget/Button;-><init>(Landroid/content/Context;)V
+HPLandroid/widget/Button;->getAccessibilityClassName()Ljava/lang/CharSequence;
 HPLandroid/widget/CheckBox;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HPLandroid/widget/CheckBox;->getAccessibilityClassName()Ljava/lang/CharSequence;
 HPLandroid/widget/CheckedTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLandroid/widget/CheckedTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HPLandroid/widget/CheckedTextView;->applyCheckMarkTint()V
 HPLandroid/widget/CheckedTextView;->drawableHotspotChanged(FF)V
+HPLandroid/widget/CheckedTextView;->drawableStateChanged()V
+HPLandroid/widget/CheckedTextView;->internalSetPadding(IIII)V
+HPLandroid/widget/CheckedTextView;->isChecked()Z
+HPLandroid/widget/CheckedTextView;->jumpDrawablesToCurrentState()V
+HPLandroid/widget/CheckedTextView;->onCreateDrawableState(I)[I
+HPLandroid/widget/CheckedTextView;->onDraw(Landroid/graphics/Canvas;)V
+HPLandroid/widget/CheckedTextView;->onRtlPropertiesChanged(I)V
+HPLandroid/widget/CheckedTextView;->setChecked(Z)V
+HPLandroid/widget/CheckedTextView;->updatePadding()V
+HPLandroid/widget/CheckedTextView;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
 HPLandroid/widget/Chronometer$1;->run()V
 HPLandroid/widget/Chronometer;->dispatchChronometerTick()V
+HPLandroid/widget/Chronometer;->getAccessibilityClassName()Ljava/lang/CharSequence;
 HPLandroid/widget/Chronometer;->getBase()J
 HPLandroid/widget/Chronometer;->onDetachedFromWindow()V
 HPLandroid/widget/Chronometer;->setBase(J)V
 HPLandroid/widget/Chronometer;->start()V
-HPLandroid/widget/Chronometer;->stop()V
-HPLandroid/widget/CompoundButton$SavedState;->toString()Ljava/lang/String;
+HPLandroid/widget/CompoundButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HPLandroid/widget/CompoundButton;->drawableHotspotChanged(FF)V
+HPLandroid/widget/CompoundButton;->drawableStateChanged()V
 HPLandroid/widget/CompoundButton;->getAutofillValue()Landroid/view/autofill/AutofillValue;
-HPLandroid/widget/CompoundButton;->onProvideAutofillStructure(Landroid/view/ViewStructure;I)V
-HPLandroid/widget/CompoundButton;->setButtonTintList(Landroid/content/res/ColorStateList;)V
-HPLandroid/widget/CursorAdapter$MyDataSetObserver;->onInvalidated()V
-HPLandroid/widget/DropDownListView;->drawableStateChanged()V
-HPLandroid/widget/DropDownListView;->hasFocus()Z
-HPLandroid/widget/DropDownListView;->hasWindowFocus()Z
-HPLandroid/widget/DropDownListView;->isFocused()Z
-HPLandroid/widget/DropDownListView;->isInTouchMode()Z
-HPLandroid/widget/DropDownListView;->obtainView(I[Z)Landroid/view/View;
-HPLandroid/widget/DropDownListView;->onTouchEvent(Landroid/view/MotionEvent;)Z
-HPLandroid/widget/DropDownListView;->setListSelectionHidden(Z)V
-HPLandroid/widget/DropDownListView;->shouldShowSelector()Z
-HPLandroid/widget/DropDownListView;->touchModeDrawsInPressedState()Z
+HPLandroid/widget/CompoundButton;->getCompoundPaddingLeft()I
+HPLandroid/widget/CompoundButton;->getCompoundPaddingRight()I
+HPLandroid/widget/CompoundButton;->jumpDrawablesToCurrentState()V
+HPLandroid/widget/CompoundButton;->onCreateDrawableState(I)[I
+HPLandroid/widget/CompoundButton;->onProvideStructure(Landroid/view/ViewStructure;II)V
+HPLandroid/widget/CompoundButton;->performClick()Z
+HPLandroid/widget/CompoundButton;->setButtonDrawable(Landroid/graphics/drawable/Drawable;)V
+HPLandroid/widget/CompoundButton;->toggle()V
+HPLandroid/widget/CompoundButton;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
 HPLandroid/widget/EdgeEffect;->onPull(F)V
-HPLandroid/widget/Editor$CorrectionHighlighter;-><init>(Landroid/widget/Editor;)V
-HPLandroid/widget/Editor$CorrectionHighlighter;->draw(Landroid/graphics/Canvas;I)V
-HPLandroid/widget/Editor$CorrectionHighlighter;->highlight(Landroid/view/inputmethod/CorrectionInfo;)V
-HPLandroid/widget/Editor$CorrectionHighlighter;->invalidate(Z)V
-HPLandroid/widget/Editor$CorrectionHighlighter;->updatePaint()Z
-HPLandroid/widget/Editor$CorrectionHighlighter;->updatePath()Z
-HPLandroid/widget/Editor$EditOperation;->forceMergeWith(Landroid/widget/Editor$EditOperation;)V
-HPLandroid/widget/Editor$EditOperation;->mergeDeleteWith(Landroid/widget/Editor$EditOperation;)Z
-HPLandroid/widget/Editor$EditOperation;->mergeReplaceWith(Landroid/widget/Editor$EditOperation;)Z
-HPLandroid/widget/Editor$EditOperation;->modifyText(Landroid/text/Editable;IILjava/lang/CharSequence;II)V
-HPLandroid/widget/Editor$EditOperation;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/widget/EdgeEffect;->onPull(FF)V
+HPLandroid/widget/EdgeEffect;->onRelease()V
+HPLandroid/widget/EditText;-><init>(Landroid/content/Context;)V
+HPLandroid/widget/EditText;->getAccessibilityClassName()Ljava/lang/CharSequence;
+HPLandroid/widget/EditText;->setSelection(I)V
+HPLandroid/widget/EditText;->setSelection(II)V
+HPLandroid/widget/Editor$Blink;->cancel()V
+HPLandroid/widget/Editor$Blink;->run()V
+HPLandroid/widget/Editor$Blink;->uncancel()V
 HPLandroid/widget/Editor$HandleView;-><init>(Landroid/widget/Editor;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;I)V
 HPLandroid/widget/Editor$HandleView;->dismiss()V
-HPLandroid/widget/Editor$HandleView;->getCurrentCursorOffset()I
 HPLandroid/widget/Editor$HandleView;->getHorizontal(Landroid/text/Layout;I)F
-HPLandroid/widget/Editor$HandleView;->getHorizontalGravity(Z)I
-HPLandroid/widget/Editor$HandleView;->getHotspotX(Landroid/graphics/drawable/Drawable;Z)I
-HPLandroid/widget/Editor$HandleView;->getMagnifierHandleTrigger()I
 HPLandroid/widget/Editor$HandleView;->hide()V
 HPLandroid/widget/Editor$HandleView;->invalidate()V
 HPLandroid/widget/Editor$HandleView;->isAtRtlRun(Landroid/text/Layout;I)Z
@@ -7421,11 +8370,10 @@
 HPLandroid/widget/Editor$HandleView;->onDraw(Landroid/graphics/Canvas;)V
 HPLandroid/widget/Editor$HandleView;->onMeasure(II)V
 HPLandroid/widget/Editor$HandleView;->positionAtCursorOffset(IZZ)V
+HPLandroid/widget/Editor$HandleView;->setDrawables(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
 HPLandroid/widget/Editor$HandleView;->shouldShow()Z
-HPLandroid/widget/Editor$HandleView;->updateDrawable()V
-HPLandroid/widget/Editor$HandleView;->updatePosition(FFZ)V
+HPLandroid/widget/Editor$HandleView;->updateDrawable(Z)V
 HPLandroid/widget/Editor$HandleView;->updatePosition(IIZZ)V
-HPLandroid/widget/Editor$HandleView;->updateSelection(I)V
 HPLandroid/widget/Editor$InsertionHandleView;->getCurrentCursorOffset()I
 HPLandroid/widget/Editor$InsertionHandleView;->getCursorHorizontalPosition(Landroid/text/Layout;I)I
 HPLandroid/widget/Editor$InsertionHandleView;->getCursorOffset()I
@@ -7434,378 +8382,234 @@
 HPLandroid/widget/Editor$InsertionHandleView;->onDetached()V
 HPLandroid/widget/Editor$InsertionHandleView;->show()V
 HPLandroid/widget/Editor$InsertionHandleView;->updateSelection(I)V
-HPLandroid/widget/Editor$InsertionPointCursorController;->getHandle()Landroid/widget/Editor$InsertionHandleView;
+HPLandroid/widget/Editor$InsertionPointCursorController;->invalidateHandle()V
+HPLandroid/widget/Editor$InsertionPointCursorController;->onDetached()V
 HPLandroid/widget/Editor$InsertionPointCursorController;->show()V
-HPLandroid/widget/Editor$PositionListener;->onScrollChanged()V
+HPLandroid/widget/Editor$SelectionModifierCursorController;->getMinTouchOffset()I
 HPLandroid/widget/Editor$SelectionModifierCursorController;->hide()V
-HPLandroid/widget/Editor$UndoInputFilter;->freezeLastEdit()V
+HPLandroid/widget/Editor$SelectionModifierCursorController;->invalidateHandles()V
+HPLandroid/widget/Editor$SelectionModifierCursorController;->onDetached()V
+HPLandroid/widget/Editor$SelectionModifierCursorController;->onTouchEvent(Landroid/view/MotionEvent;)V
+HPLandroid/widget/Editor$SelectionModifierCursorController;->updateSelection(Landroid/view/MotionEvent;)V
+HPLandroid/widget/Editor;->clampHorizontalPosition(Landroid/graphics/drawable/Drawable;F)I
 HPLandroid/widget/Editor;->hasInsertionController()Z
-HPLandroid/widget/Editor;->hideFloatingToolbar(I)V
+HPLandroid/widget/Editor;->hasSelectionController()Z
+HPLandroid/widget/Editor;->invalidateHandlesAndActionMode()V
+HPLandroid/widget/Editor;->invalidateTextDisplayList(Landroid/text/Layout;II)V
 HPLandroid/widget/Editor;->isCursorInsideEasyCorrectionSpan()Z
-HPLandroid/widget/Editor;->onCommitCorrection(Landroid/view/inputmethod/CorrectionInfo;)V
-HPLandroid/widget/Editor;->onScrollChanged()V
+HPLandroid/widget/Editor;->loadCursorDrawable()V
+HPLandroid/widget/Editor;->loadHandleDrawables(Z)V
+HPLandroid/widget/Editor;->onLocaleChanged()V
+HPLandroid/widget/Editor;->onTouchEvent(Landroid/view/MotionEvent;)V
 HPLandroid/widget/Editor;->onTouchUpEvent(Landroid/view/MotionEvent;)V
-HPLandroid/widget/Editor;->setError(Ljava/lang/CharSequence;Landroid/graphics/drawable/Drawable;)V
-HPLandroid/widget/Editor;->setErrorIcon(Landroid/graphics/drawable/Drawable;)V
-HPLandroid/widget/ExpandableListAdapter;->areAllItemsEnabled()Z
-HPLandroid/widget/ExpandableListAdapter;->getChild(II)Ljava/lang/Object;
-HPLandroid/widget/ExpandableListAdapter;->getChildId(II)J
-HPLandroid/widget/ExpandableListAdapter;->getChildView(IIZLandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
-HPLandroid/widget/ExpandableListAdapter;->getChildrenCount(I)I
-HPLandroid/widget/ExpandableListAdapter;->getCombinedChildId(JJ)J
-HPLandroid/widget/ExpandableListAdapter;->getCombinedGroupId(J)J
-HPLandroid/widget/ExpandableListAdapter;->getGroup(I)Ljava/lang/Object;
-HPLandroid/widget/ExpandableListAdapter;->getGroupCount()I
-HPLandroid/widget/ExpandableListAdapter;->getGroupId(I)J
-HPLandroid/widget/ExpandableListAdapter;->getGroupView(IZLandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
-HPLandroid/widget/ExpandableListAdapter;->hasStableIds()Z
-HPLandroid/widget/ExpandableListAdapter;->isChildSelectable(II)Z
-HPLandroid/widget/ExpandableListAdapter;->isEmpty()Z
-HPLandroid/widget/ExpandableListAdapter;->onGroupCollapsed(I)V
-HPLandroid/widget/ExpandableListAdapter;->onGroupExpanded(I)V
-HPLandroid/widget/ExpandableListAdapter;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
-HPLandroid/widget/ExpandableListAdapter;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
-HPLandroid/widget/ExpandableListConnector$MyDataSetObserver;->onChanged()V
-HPLandroid/widget/ExpandableListConnector;->areAllItemsEnabled()Z
-HPLandroid/widget/ExpandableListConnector;->getCount()I
-HPLandroid/widget/ExpandableListConnector;->getViewTypeCount()I
-HPLandroid/widget/ExpandableListConnector;->hasStableIds()Z
-HPLandroid/widget/ExpandableListConnector;->refreshExpGroupMetadataList(ZZ)V
-HPLandroid/widget/ExpandableListView;->setAdapter(Landroid/widget/ExpandableListAdapter;)V
+HPLandroid/widget/Editor;->shouldFilterOutTouchEvent(Landroid/view/MotionEvent;)Z
+HPLandroid/widget/Editor;->updateCursorPosition()V
+HPLandroid/widget/Editor;->updateCursorPosition(IIF)V
+HPLandroid/widget/Editor;->updateTapState(Landroid/view/MotionEvent;)V
+HPLandroid/widget/Filter;-><init>()V
+HPLandroid/widget/ForwardingListener;->onViewDetachedFromWindow(Landroid/view/View;)V
+HPLandroid/widget/FrameLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLandroid/widget/FrameLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V
 HPLandroid/widget/GridLayout$3;->getAlignmentValue(Landroid/view/View;II)I
 HPLandroid/widget/GridLayout$3;->getGravityOffset(Landroid/view/View;I)I
 HPLandroid/widget/GridLayout$5;->getAlignmentValue(Landroid/view/View;II)I
 HPLandroid/widget/GridLayout$5;->getGravityOffset(Landroid/view/View;I)I
 HPLandroid/widget/GridLayout$6;->getAlignmentValue(Landroid/view/View;II)I
 HPLandroid/widget/GridLayout$6;->getGravityOffset(Landroid/view/View;I)I
-HPLandroid/widget/GridLayout$7$1;->getOffset(Landroid/widget/GridLayout;Landroid/view/View;Landroid/widget/GridLayout$Alignment;IZ)I
-HPLandroid/widget/GridLayout$7$1;->include(II)V
-HPLandroid/widget/GridLayout$7$1;->reset()V
-HPLandroid/widget/GridLayout$7$1;->size(Z)I
-HPLandroid/widget/GridLayout$7;->getAlignmentValue(Landroid/view/View;II)I
-HPLandroid/widget/GridLayout$7;->getBounds()Landroid/widget/GridLayout$Bounds;
-HPLandroid/widget/GridLayout$7;->getGravityOffset(Landroid/view/View;I)I
-HPLandroid/widget/GridLayout$8;->getAlignmentValue(Landroid/view/View;II)I
-HPLandroid/widget/GridLayout$8;->getGravityOffset(Landroid/view/View;I)I
-HPLandroid/widget/GridLayout$8;->getSizeInCell(Landroid/view/View;II)I
-HPLandroid/widget/GridLayout$Alignment;->getBounds()Landroid/widget/GridLayout$Bounds;
-HPLandroid/widget/GridLayout$Alignment;->getSizeInCell(Landroid/view/View;II)I
-HPLandroid/widget/GridLayout$Assoc;->pack()Landroid/widget/GridLayout$PackedMap;
-HPLandroid/widget/GridLayout$Axis$1;-><init>(Landroid/widget/GridLayout$Axis;[Landroid/widget/GridLayout$Arc;)V
-HPLandroid/widget/GridLayout$Axis$1;->walk(I)V
 HPLandroid/widget/GridLayout$Axis;->arcsToString(Ljava/util/List;)Ljava/lang/String;
-HPLandroid/widget/GridLayout$Axis;->calculateTotalWeight()F
-HPLandroid/widget/GridLayout$Axis;->computeGroupBounds()V
-HPLandroid/widget/GridLayout$Axis;->computeHasWeights()Z
-HPLandroid/widget/GridLayout$Axis;->computeLinks(Landroid/widget/GridLayout$PackedMap;Z)V
-HPLandroid/widget/GridLayout$Axis;->computeLocations([I)V
-HPLandroid/widget/GridLayout$Axis;->createArcs()[Landroid/widget/GridLayout$Arc;
-HPLandroid/widget/GridLayout$Axis;->createGroupBounds()Landroid/widget/GridLayout$PackedMap;
-HPLandroid/widget/GridLayout$Axis;->createLinks(Z)Landroid/widget/GridLayout$PackedMap;
-HPLandroid/widget/GridLayout$Axis;->getGroupBounds()Landroid/widget/GridLayout$PackedMap;
-HPLandroid/widget/GridLayout$Axis;->getLocations()[I
-HPLandroid/widget/GridLayout$Axis;->getMeasure(I)I
-HPLandroid/widget/GridLayout$Axis;->groupArcsByFirstVertex([Landroid/widget/GridLayout$Arc;)[[Landroid/widget/GridLayout$Arc;
-HPLandroid/widget/GridLayout$Axis;->include(Ljava/util/List;Landroid/widget/GridLayout$Interval;Landroid/widget/GridLayout$MutableInt;Z)V
-HPLandroid/widget/GridLayout$Axis;->layout(I)V
 HPLandroid/widget/GridLayout$Axis;->logError(Ljava/lang/String;[Landroid/widget/GridLayout$Arc;[Z)V
-HPLandroid/widget/GridLayout$Axis;->shareOutDelta(IF)V
-HPLandroid/widget/GridLayout$Axis;->solve([Landroid/widget/GridLayout$Arc;[IZ)Z
-HPLandroid/widget/GridLayout$Axis;->solveAndDistributeSpace([I)V
-HPLandroid/widget/GridLayout$Bounds;->getOffset(Landroid/widget/GridLayout;Landroid/view/View;Landroid/widget/GridLayout$Alignment;IZ)I
-HPLandroid/widget/GridLayout$Bounds;->include(II)V
-HPLandroid/widget/GridLayout$Bounds;->reset()V
-HPLandroid/widget/GridLayout$Bounds;->size(Z)I
-HPLandroid/widget/GridLayout$Interval;->equals(Ljava/lang/Object;)Z
-HPLandroid/widget/GridLayout$Interval;->hashCode()I
-HPLandroid/widget/GridLayout$LayoutParams;->hashCode()I
-HPLandroid/widget/GridLayout$PackedMap;->compact([Ljava/lang/Object;[I)[Ljava/lang/Object;
-HPLandroid/widget/GridLayout$PackedMap;->createIndex([Ljava/lang/Object;)[I
-HPLandroid/widget/GridLayout$PackedMap;->getValue(I)Ljava/lang/Object;
-HPLandroid/widget/GridLayout$Spec;->access$100(Landroid/widget/GridLayout$Spec;Z)Landroid/widget/GridLayout$Alignment;
-HPLandroid/widget/GridLayout$Spec;->equals(Ljava/lang/Object;)Z
-HPLandroid/widget/GridLayout$Spec;->hashCode()I
-HPLandroid/widget/GridLayout;->computeLayoutParamsHashCode()I
-HPLandroid/widget/GridLayout;->consistencyCheck()V
-HPLandroid/widget/GridLayout;->getDefaultMargin(Landroid/view/View;Landroid/widget/GridLayout$LayoutParams;ZZ)I
-HPLandroid/widget/GridLayout;->getLayoutParams(Landroid/view/View;)Landroid/widget/GridLayout$LayoutParams;
-HPLandroid/widget/GridLayout;->getMargin(Landroid/view/View;ZZ)I
-HPLandroid/widget/GridLayout;->getMargin1(Landroid/view/View;ZZ)I
-HPLandroid/widget/GridLayout;->getMeasurement(Landroid/view/View;Z)I
-HPLandroid/widget/GridLayout;->measureChildrenWithMargins(IIZ)V
-HPLandroid/widget/GridLayout;->onChildVisibilityChanged(Landroid/view/View;II)V
-HPLandroid/widget/GridLayout;->onLayout(ZIIII)V
-HPLandroid/widget/GridLayout;->onMeasure(II)V
 HPLandroid/widget/GridLayout;->onSetLayoutParams(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
 HPLandroid/widget/GridLayout;->spec(IILandroid/widget/GridLayout$Alignment;)Landroid/widget/GridLayout$Spec;
-HPLandroid/widget/GridLayout;->validateLayoutParams()V
-HPLandroid/widget/GridView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HPLandroid/widget/GridView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HPLandroid/widget/GridView;->adjustViewsUpOrDown()V
-HPLandroid/widget/GridView;->computeVerticalScrollExtent()I
-HPLandroid/widget/GridView;->computeVerticalScrollOffset()I
-HPLandroid/widget/GridView;->computeVerticalScrollRange()I
-HPLandroid/widget/GridView;->correctTooHigh(III)V
-HPLandroid/widget/GridView;->determineColumns(I)Z
-HPLandroid/widget/GridView;->fillDown(II)Landroid/view/View;
-HPLandroid/widget/GridView;->fillFromTop(I)Landroid/view/View;
-HPLandroid/widget/GridView;->fillSpecific(II)Landroid/view/View;
-HPLandroid/widget/GridView;->fillUp(II)Landroid/view/View;
-HPLandroid/widget/GridView;->findMotionRow(I)I
-HPLandroid/widget/GridView;->getAdapter()Landroid/widget/Adapter;
-HPLandroid/widget/GridView;->getAdapter()Landroid/widget/ListAdapter;
-HPLandroid/widget/GridView;->layoutChildren()V
-HPLandroid/widget/GridView;->lookForSelectablePosition(IZ)I
-HPLandroid/widget/GridView;->makeAndAddView(IIZIZI)Landroid/view/View;
-HPLandroid/widget/GridView;->makeRow(IIZ)Landroid/view/View;
-HPLandroid/widget/GridView;->onFocusChanged(ZILandroid/graphics/Rect;)V
-HPLandroid/widget/GridView;->onMeasure(II)V
-HPLandroid/widget/GridView;->setAdapter(Landroid/widget/ListAdapter;)V
-HPLandroid/widget/GridView;->setColumnWidth(I)V
-HPLandroid/widget/GridView;->setHorizontalSpacing(I)V
-HPLandroid/widget/GridView;->setNumColumns(I)V
-HPLandroid/widget/GridView;->setStretchMode(I)V
-HPLandroid/widget/GridView;->setVerticalSpacing(I)V
-HPLandroid/widget/GridView;->setupChild(Landroid/view/View;IIZIZZI)V
+HPLandroid/widget/HeaderViewListAdapter;-><init>(Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/widget/ListAdapter;)V
+HPLandroid/widget/HeaderViewListAdapter;->areAllItemsEnabled()Z
+HPLandroid/widget/HeaderViewListAdapter;->getCount()I
+HPLandroid/widget/HeaderViewListAdapter;->getFootersCount()I
+HPLandroid/widget/HeaderViewListAdapter;->getHeadersCount()I
 HPLandroid/widget/HeaderViewListAdapter;->getItem(I)Ljava/lang/Object;
-HPLandroid/widget/HeterogeneousExpandableList;->getChildType(II)I
-HPLandroid/widget/HeterogeneousExpandableList;->getChildTypeCount()I
-HPLandroid/widget/HeterogeneousExpandableList;->getGroupType(I)I
-HPLandroid/widget/HeterogeneousExpandableList;->getGroupTypeCount()I
-HPLandroid/widget/HorizontalScrollView$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/widget/HorizontalScrollView$SavedState;
-HPLandroid/widget/HorizontalScrollView$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLandroid/widget/HorizontalScrollView$SavedState;->toString()Ljava/lang/String;
+HPLandroid/widget/HeaderViewListAdapter;->getItemId(I)J
+HPLandroid/widget/HeaderViewListAdapter;->getItemViewType(I)I
+HPLandroid/widget/HeaderViewListAdapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
+HPLandroid/widget/HeaderViewListAdapter;->getViewTypeCount()I
+HPLandroid/widget/HeaderViewListAdapter;->getWrappedAdapter()Landroid/widget/ListAdapter;
+HPLandroid/widget/HeaderViewListAdapter;->hasStableIds()Z
+HPLandroid/widget/HeaderViewListAdapter;->isEnabled(I)Z
+HPLandroid/widget/HeaderViewListAdapter;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
+HPLandroid/widget/HeaderViewListAdapter;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
+HPLandroid/widget/HorizontalScrollView$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/widget/HorizontalScrollView;-><init>(Landroid/content/Context;)V
+HPLandroid/widget/HorizontalScrollView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HPLandroid/widget/HorizontalScrollView;->addView(Landroid/view/View;)V
+HPLandroid/widget/HorizontalScrollView;->addView(Landroid/view/View;I)V
 HPLandroid/widget/HorizontalScrollView;->computeHorizontalScrollOffset()I
 HPLandroid/widget/HorizontalScrollView;->computeHorizontalScrollRange()I
+HPLandroid/widget/HorizontalScrollView;->computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I
 HPLandroid/widget/HorizontalScrollView;->findFocusableViewInBounds(ZII)Landroid/view/View;
 HPLandroid/widget/HorizontalScrollView;->findFocusableViewInMyBounds(ZILandroid/view/View;)Landroid/view/View;
 HPLandroid/widget/HorizontalScrollView;->fling(I)V
+HPLandroid/widget/HorizontalScrollView;->getAccessibilityClassName()Ljava/lang/CharSequence;
+HPLandroid/widget/HorizontalScrollView;->getLeftFadingEdgeStrength()F
+HPLandroid/widget/HorizontalScrollView;->getRightFadingEdgeStrength()F
+HPLandroid/widget/HorizontalScrollView;->getScrollRange()I
+HPLandroid/widget/HorizontalScrollView;->inChild(II)Z
+HPLandroid/widget/HorizontalScrollView;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
+HPLandroid/widget/HorizontalScrollView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
 HPLandroid/widget/HorizontalScrollView;->onOverScrolled(IIZZ)V
+HPLandroid/widget/HorizontalScrollView;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
+HPLandroid/widget/HorizontalScrollView;->onSaveInstanceState()Landroid/os/Parcelable;
 HPLandroid/widget/HorizontalScrollView;->onTouchEvent(Landroid/view/MotionEvent;)Z
+HPLandroid/widget/HorizontalScrollView;->requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
 HPLandroid/widget/HorizontalScrollView;->shouldDelayChildPressedState()Z
-HPLandroid/widget/HorizontalScrollView;->smoothScrollTo(II)V
-HPLandroid/widget/ImageButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HPLandroid/widget/ImageButton;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HPLandroid/widget/ImageButton;->onSetAlpha(I)Z
-HPLandroid/widget/ImageView$ScaleType;->valueOf(Ljava/lang/String;)Landroid/widget/ImageView$ScaleType;
-HPLandroid/widget/ImageView;->animateTransform(Landroid/graphics/Matrix;)V
-HPLandroid/widget/ImageView;->getDrawableFromUri(Landroid/net/Uri;)Landroid/graphics/drawable/Drawable;
+HPLandroid/widget/ImageView$ScaleType;->values()[Landroid/widget/ImageView$ScaleType;
 HPLandroid/widget/ImageView;->getMaxWidth()I
-HPLandroid/widget/ImageView;->setBaseline(I)V
+HPLandroid/widget/ImageView;->resolveAdjustedSize(III)I
+HPLandroid/widget/ImageView;->setCropToPadding(Z)V
+HPLandroid/widget/ImageView;->setImageBitmap(Landroid/graphics/Bitmap;)V
 HPLandroid/widget/ImageView;->setImageIcon(Landroid/graphics/drawable/Icon;)V
-HPLandroid/widget/ImageView;->setImageURI(Landroid/net/Uri;)V
+HPLandroid/widget/LinearLayout$LayoutParams;-><init>(IIF)V
+HPLandroid/widget/LinearLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V
 HPLandroid/widget/LinearLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$MarginLayoutParams;)V
+HPLandroid/widget/LinearLayout;->drawDividersHorizontal(Landroid/graphics/Canvas;)V
 HPLandroid/widget/LinearLayout;->drawDividersVertical(Landroid/graphics/Canvas;)V
 HPLandroid/widget/LinearLayout;->drawHorizontalDivider(Landroid/graphics/Canvas;I)V
 HPLandroid/widget/LinearLayout;->drawVerticalDivider(Landroid/graphics/Canvas;I)V
-HPLandroid/widget/LinearLayout;->getShowDividers()I
-HPLandroid/widget/LinearLayout;->setBaselineAlignedChildIndex(I)V
-HPLandroid/widget/LinearLayout;->setWeightSum(F)V
-HPLandroid/widget/ListPopupWindow$PopupScrollListener;->onScroll(Landroid/widget/AbsListView;III)V
-HPLandroid/widget/ListPopupWindow$PopupTouchInterceptor;->onTouch(Landroid/view/View;Landroid/view/MotionEvent;)Z
-HPLandroid/widget/ListPopupWindow;->buildDropDown()I
-HPLandroid/widget/ListPopupWindow;->clearListSelection()V
-HPLandroid/widget/ListPopupWindow;->getAnchorView()Landroid/view/View;
-HPLandroid/widget/ListPopupWindow;->getListView()Landroid/widget/ListView;
-HPLandroid/widget/ListPopupWindow;->isInputMethodNotNeeded()Z
+HPLandroid/widget/LinearLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
+HPLandroid/widget/LinearLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/widget/LinearLayout$LayoutParams;
+HPLandroid/widget/LinearLayout;->getDividerDrawable()Landroid/graphics/drawable/Drawable;
+HPLandroid/widget/LinearLayout;->getGravity()I
+HPLandroid/widget/LinearLayout;->getOrientation()I
+HPLandroid/widget/ListPopupWindow$PopupDataSetObserver;->onChanged()V
+HPLandroid/widget/ListPopupWindow;->isDropDownAlwaysVisible()Z
 HPLandroid/widget/ListPopupWindow;->isModal()Z
-HPLandroid/widget/ListPopupWindow;->setAnchorView(Landroid/view/View;)V
-HPLandroid/widget/ListPopupWindow;->setContentWidth(I)V
-HPLandroid/widget/ListPopupWindow;->setDropDownGravity(I)V
-HPLandroid/widget/ListPopupWindow;->setEpicenterBounds(Landroid/graphics/Rect;)V
-HPLandroid/widget/ListPopupWindow;->setInputMethodMode(I)V
-HPLandroid/widget/ListPopupWindow;->show()V
-HPLandroid/widget/ListView;->commonKey(IILandroid/view/KeyEvent;)Z
-HPLandroid/widget/ListView;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
-HPLandroid/widget/ListView;->findViewByPredicateInHeadersOrFooters(Ljava/util/ArrayList;Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
-HPLandroid/widget/ListView;->findViewByPredicateTraversal(Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
-HPLandroid/widget/ListView;->getDivider()Landroid/graphics/drawable/Drawable;
-HPLandroid/widget/ListView;->getDividerHeight()I
-HPLandroid/widget/ListView;->isDirectChildHeaderOrFooter(Landroid/view/View;)Z
-HPLandroid/widget/ListView;->onKeyDown(ILandroid/view/KeyEvent;)Z
-HPLandroid/widget/ListView;->onKeyUp(ILandroid/view/KeyEvent;)Z
-HPLandroid/widget/ListView;->removeHeaderView(Landroid/view/View;)Z
-HPLandroid/widget/ListView;->requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
-HPLandroid/widget/ListView;->showingBottomFadingEdge()Z
+HPLandroid/widget/ListPopupWindow;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
+HPLandroid/widget/ListPopupWindow;->setHeight(I)V
+HPLandroid/widget/ListPopupWindow;->setHorizontalOffset(I)V
+HPLandroid/widget/ListPopupWindow;->setListSelector(Landroid/graphics/drawable/Drawable;)V
+HPLandroid/widget/ListPopupWindow;->setPromptPosition(I)V
+HPLandroid/widget/ListPopupWindow;->setPromptView(Landroid/view/View;)V
+HPLandroid/widget/ListPopupWindow;->setSoftInputMode(I)V
+HPLandroid/widget/ListPopupWindow;->setVerticalOffset(I)V
+HPLandroid/widget/ListPopupWindow;->setWidth(I)V
+HPLandroid/widget/ListView;-><init>(Landroid/content/Context;)V
+HPLandroid/widget/ListView;->addFooterView(Landroid/view/View;)V
+HPLandroid/widget/ListView;->addFooterView(Landroid/view/View;Ljava/lang/Object;Z)V
+HPLandroid/widget/ListView;->addHeaderView(Landroid/view/View;Ljava/lang/Object;Z)V
+HPLandroid/widget/ListView;->setDividerHeight(I)V
 HPLandroid/widget/ListView;->wrapHeaderListAdapterInternal()V
-HPLandroid/widget/Magnifier$Callback;->onOperationComplete()V
-HPLandroid/widget/MenuItemHoverListener;->onItemHoverEnter(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)V
-HPLandroid/widget/MenuItemHoverListener;->onItemHoverExit(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)V
-HPLandroid/widget/MenuPopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HPLandroid/widget/MenuPopupWindow;->createDropDownListView(Landroid/content/Context;Z)Landroid/widget/DropDownListView;
-HPLandroid/widget/MultiAutoCompleteTextView;->performValidation()V
-HPLandroid/widget/NumberPicker$CustomEditText;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HPLandroid/widget/NumberPicker$Formatter;->format(I)Ljava/lang/String;
-HPLandroid/widget/NumberPicker$InputTextFilter;->filter(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Ljava/lang/CharSequence;
-HPLandroid/widget/NumberPicker$InputTextFilter;->getAcceptedChars()[C
-HPLandroid/widget/NumberPicker$OnValueChangeListener;->onValueChange(Landroid/widget/NumberPicker;II)V
-HPLandroid/widget/NumberPicker$PressedStateHelper;->buttonPressDelayed(I)V
-HPLandroid/widget/NumberPicker$PressedStateHelper;->cancel()V
-HPLandroid/widget/NumberPicker$PressedStateHelper;->run()V
-HPLandroid/widget/NumberPicker$SetSelectionCommand;->cancel()V
-HPLandroid/widget/NumberPicker$SetSelectionCommand;->post(II)V
-HPLandroid/widget/NumberPicker$SetSelectionCommand;->run()V
-HPLandroid/widget/NumberPicker$TwoDigitFormatter;-><init>()V
-HPLandroid/widget/NumberPicker$TwoDigitFormatter;->format(I)Ljava/lang/String;
-HPLandroid/widget/NumberPicker;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HPLandroid/widget/NumberPicker;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HPLandroid/widget/NumberPicker;->computeScroll()V
-HPLandroid/widget/NumberPicker;->decrementSelectorIndices([I)V
-HPLandroid/widget/NumberPicker;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
-HPLandroid/widget/NumberPicker;->drawableStateChanged()V
-HPLandroid/widget/NumberPicker;->ensureCachedScrollSelectorValue(I)V
-HPLandroid/widget/NumberPicker;->ensureScrollWheelAdjusted()Z
-HPLandroid/widget/NumberPicker;->fling(I)V
-HPLandroid/widget/NumberPicker;->getBottomFadingEdgeStrength()F
-HPLandroid/widget/NumberPicker;->getMaxValue()I
-HPLandroid/widget/NumberPicker;->getMinValue()I
-HPLandroid/widget/NumberPicker;->getSelectedPos(Ljava/lang/String;)I
-HPLandroid/widget/NumberPicker;->getSolidColor()I
-HPLandroid/widget/NumberPicker;->getTopFadingEdgeStrength()F
-HPLandroid/widget/NumberPicker;->getValue()I
-HPLandroid/widget/NumberPicker;->getWrappedSelectorIndex(I)I
-HPLandroid/widget/NumberPicker;->hideSoftInput()V
-HPLandroid/widget/NumberPicker;->incrementSelectorIndices([I)V
-HPLandroid/widget/NumberPicker;->initializeSelectorWheel()V
-HPLandroid/widget/NumberPicker;->initializeSelectorWheelIndices()V
-HPLandroid/widget/NumberPicker;->jumpDrawablesToCurrentState()V
-HPLandroid/widget/NumberPicker;->makeMeasureSpec(II)I
-HPLandroid/widget/NumberPicker;->onDetachedFromWindow()V
-HPLandroid/widget/NumberPicker;->onDraw(Landroid/graphics/Canvas;)V
-HPLandroid/widget/NumberPicker;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
-HPLandroid/widget/NumberPicker;->onLayout(ZIIII)V
-HPLandroid/widget/NumberPicker;->onMeasure(II)V
-HPLandroid/widget/NumberPicker;->onResolveDrawables(I)V
-HPLandroid/widget/NumberPicker;->onTouchEvent(Landroid/view/MotionEvent;)Z
-HPLandroid/widget/NumberPicker;->removeAllCallbacks()V
-HPLandroid/widget/NumberPicker;->scrollBy(II)V
-HPLandroid/widget/NumberPicker;->setDisplayedValues([Ljava/lang/String;)V
-HPLandroid/widget/NumberPicker;->setFormatter(Landroid/widget/NumberPicker$Formatter;)V
-HPLandroid/widget/NumberPicker;->setMaxValue(I)V
-HPLandroid/widget/NumberPicker;->setMinValue(I)V
-HPLandroid/widget/NumberPicker;->setOnLongPressUpdateInterval(J)V
-HPLandroid/widget/NumberPicker;->setOnValueChangedListener(Landroid/widget/NumberPicker$OnValueChangeListener;)V
-HPLandroid/widget/NumberPicker;->setValue(I)V
-HPLandroid/widget/NumberPicker;->setValueInternal(IZ)V
-HPLandroid/widget/NumberPicker;->setWrapSelectorWheel(Z)V
-HPLandroid/widget/NumberPicker;->tryComputeMaxWidth()V
-HPLandroid/widget/NumberPicker;->updateInputTextView()Z
-HPLandroid/widget/OverScroller$SplineOverScroller;->access$200(Landroid/widget/OverScroller$SplineOverScroller;)F
+HPLandroid/widget/ListView;->wrapHeaderListAdapterInternal(Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/widget/ListAdapter;)Landroid/widget/HeaderViewListAdapter;
+HPLandroid/widget/Magnifier$InternalPopupWindow;-><init>(Landroid/content/Context;Landroid/view/Display;Landroid/view/SurfaceControl;IIFFLandroid/graphics/drawable/Drawable;Landroid/os/Handler;Ljava/lang/Object;Landroid/widget/Magnifier$Callback;)V
+HPLandroid/widget/Magnifier$InternalPopupWindow;->createRenderNodeForBitmap(Ljava/lang/String;FF)Landroid/graphics/RenderNode;
+HPLandroid/widget/Magnifier$InternalPopupWindow;->createRenderNodeForOverlay(Ljava/lang/String;F)Landroid/graphics/RenderNode;
+HPLandroid/widget/Magnifier$InternalPopupWindow;->destroy()V
+HPLandroid/widget/Magnifier$InternalPopupWindow;->doDraw()V
+HPLandroid/widget/Magnifier$InternalPopupWindow;->drawOverlay()V
+HPLandroid/widget/Magnifier$InternalPopupWindow;->lambda$doDraw$0$Magnifier$InternalPopupWindow(ZIIZJ)V
+HPLandroid/widget/Magnifier$InternalPopupWindow;->setContentPositionForNextDraw(II)V
+HPLandroid/widget/Magnifier$InternalPopupWindow;->updateContent(Landroid/graphics/Bitmap;)V
+HPLandroid/widget/Magnifier$SurfaceInfo;-><init>(Landroid/view/SurfaceControl;Landroid/view/Surface;IIZ)V
+HPLandroid/widget/Magnifier;-><init>(Landroid/view/View;)V
+HPLandroid/widget/Magnifier;->dismiss()V
+HPLandroid/widget/Magnifier;->getCurrentClampedWindowCoordinates()Landroid/graphics/Point;
+HPLandroid/widget/Magnifier;->lambda$performPixelCopy$1$Magnifier(Landroid/widget/Magnifier$InternalPopupWindow;ZLandroid/graphics/Point;Landroid/graphics/Bitmap;I)V
+HPLandroid/widget/Magnifier;->obtainContentCoordinates(FF)V
+HPLandroid/widget/Magnifier;->obtainSurfaces()V
+HPLandroid/widget/Magnifier;->obtainWindowCoordinates(FF)V
+HPLandroid/widget/Magnifier;->performPixelCopy(IIZ)V
+HPLandroid/widget/Magnifier;->show(FF)V
+HPLandroid/widget/Magnifier;->show(FFFF)V
+HPLandroid/widget/OverScroller$SplineOverScroller;->access$000(Landroid/widget/OverScroller$SplineOverScroller;)Z
 HPLandroid/widget/OverScroller$SplineOverScroller;->adjustDuration(III)V
-HPLandroid/widget/OverScroller$SplineOverScroller;->fitOnBounceCurve(III)V
-HPLandroid/widget/OverScroller$SplineOverScroller;->notifyEdgeReached(III)V
 HPLandroid/widget/OverScroller$SplineOverScroller;->onEdgeReached()V
-HPLandroid/widget/OverScroller$SplineOverScroller;->setFriction(F)V
-HPLandroid/widget/OverScroller$SplineOverScroller;->startAfterEdge(IIII)V
+HPLandroid/widget/OverScroller$SplineOverScroller;->startScroll(III)V
 HPLandroid/widget/OverScroller$SplineOverScroller;->startSpringback(III)V
 HPLandroid/widget/OverScroller$SplineOverScroller;->updateScroll(F)V
-HPLandroid/widget/OverScroller;-><init>(Landroid/content/Context;Landroid/view/animation/Interpolator;Z)V
 HPLandroid/widget/OverScroller;->forceFinished(Z)V
 HPLandroid/widget/OverScroller;->getDuration()I
-HPLandroid/widget/OverScroller;->notifyVerticalEdgeReached(III)V
-HPLandroid/widget/PopupMenu$1;->onMenuItemSelected(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)Z
-HPLandroid/widget/PopupMenu$2;->onDismiss()V
-HPLandroid/widget/PopupMenu$OnDismissListener;->onDismiss(Landroid/widget/PopupMenu;)V
-HPLandroid/widget/PopupMenu;->dismiss()V
-HPLandroid/widget/PopupMenu;->setOnMenuItemClickListener(Landroid/widget/PopupMenu$OnMenuItemClickListener;)V
-HPLandroid/widget/PopupMenu;->show()V
+HPLandroid/widget/OverScroller;->getStartY()I
+HPLandroid/widget/OverScroller;->startScroll(IIII)V
+HPLandroid/widget/OverScroller;->startScroll(IIIII)V
+HPLandroid/widget/PopupMenu;-><init>(Landroid/content/Context;Landroid/view/View;I)V
 HPLandroid/widget/PopupWindow$1;->onViewAttachedToWindow(Landroid/view/View;)V
 HPLandroid/widget/PopupWindow$1;->onViewDetachedFromWindow(Landroid/view/View;)V
-HPLandroid/widget/PopupWindow$3;->onTransitionEnd(Landroid/transition/Transition;)V
-HPLandroid/widget/PopupWindow$PopupBackgroundView;->onCreateDrawableState(I)[I
-HPLandroid/widget/PopupWindow$PopupDecorView$1$1;->onGetEpicenter(Landroid/transition/Transition;)Landroid/graphics/Rect;
-HPLandroid/widget/PopupWindow$PopupDecorView$1;->onGlobalLayout()V
-HPLandroid/widget/PopupWindow$PopupDecorView$2;->onTransitionEnd(Landroid/transition/Transition;)V
-HPLandroid/widget/PopupWindow$PopupDecorView;->cancelTransitions()V
-HPLandroid/widget/PopupWindow$PopupDecorView;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
-HPLandroid/widget/PopupWindow$PopupDecorView;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
 HPLandroid/widget/PopupWindow$PopupDecorView;->onTouchEvent(Landroid/view/MotionEvent;)Z
-HPLandroid/widget/PopupWindow$PopupDecorView;->requestEnterTransition(Landroid/transition/Transition;)V
-HPLandroid/widget/PopupWindow$PopupDecorView;->startEnterTransition(Landroid/transition/Transition;)V
-HPLandroid/widget/PopupWindow$PopupDecorView;->startExitTransition(Landroid/transition/Transition;Landroid/view/View;Landroid/graphics/Rect;Landroid/transition/Transition$TransitionListener;)V
+HPLandroid/widget/PopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HPLandroid/widget/PopupWindow;-><init>(Landroid/view/View;)V
+HPLandroid/widget/PopupWindow;-><init>(Landroid/view/View;IIZ)V
 HPLandroid/widget/PopupWindow;->alignToAnchor()V
-HPLandroid/widget/PopupWindow;->attachToAnchor(Landroid/view/View;III)V
-HPLandroid/widget/PopupWindow;->computeFlags(I)I
-HPLandroid/widget/PopupWindow;->createBackgroundView(Landroid/view/View;)Landroid/widget/PopupWindow$PopupBackgroundView;
-HPLandroid/widget/PopupWindow;->createDecorView(Landroid/view/View;)Landroid/widget/PopupWindow$PopupDecorView;
-HPLandroid/widget/PopupWindow;->createPopupLayoutParams(Landroid/os/IBinder;)Landroid/view/WindowManager$LayoutParams;
-HPLandroid/widget/PopupWindow;->detachFromAnchor()V
-HPLandroid/widget/PopupWindow;->findDropDownPosition(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;IIIIIZ)Z
-HPLandroid/widget/PopupWindow;->getAnchor()Landroid/view/View;
-HPLandroid/widget/PopupWindow;->getAppRootView(Landroid/view/View;)Landroid/view/View;
-HPLandroid/widget/PopupWindow;->getContentView()Landroid/view/View;
 HPLandroid/widget/PopupWindow;->getDecorViewLayoutParams()Landroid/view/WindowManager$LayoutParams;
-HPLandroid/widget/PopupWindow;->getHeight()I
-HPLandroid/widget/PopupWindow;->getInputMethodMode()I
-HPLandroid/widget/PopupWindow;->getMaxAvailableHeight(Landroid/view/View;IZ)I
-HPLandroid/widget/PopupWindow;->getTransitionEpicenter()Landroid/graphics/Rect;
-HPLandroid/widget/PopupWindow;->getWidth()I
-HPLandroid/widget/PopupWindow;->hasContentView()Z
 HPLandroid/widget/PopupWindow;->hasDecorView()Z
-HPLandroid/widget/PopupWindow;->invokePopup(Landroid/view/WindowManager$LayoutParams;)V
-HPLandroid/widget/PopupWindow;->isSplitTouchEnabled()Z
-HPLandroid/widget/PopupWindow;->positionInDisplayHorizontal(Landroid/view/WindowManager$LayoutParams;IIIIIZ)Z
-HPLandroid/widget/PopupWindow;->preparePopup(Landroid/view/WindowManager$LayoutParams;)V
-HPLandroid/widget/PopupWindow;->setAllowScrollingAnchorParent(Z)V
+HPLandroid/widget/PopupWindow;->lambda$new$0$PopupWindow(Landroid/view/View;IIIIIIII)V
 HPLandroid/widget/PopupWindow;->setAnimationStyle(I)V
-HPLandroid/widget/PopupWindow;->setClipToScreenEnabled(Z)V
 HPLandroid/widget/PopupWindow;->setClippingEnabled(Z)V
-HPLandroid/widget/PopupWindow;->setEpicenterBounds(Landroid/graphics/Rect;)V
-HPLandroid/widget/PopupWindow;->setOverlapAnchor(Z)V
+HPLandroid/widget/PopupWindow;->setSoftInputMode(I)V
 HPLandroid/widget/PopupWindow;->setSplitTouchEnabled(Z)V
-HPLandroid/widget/PopupWindow;->setTouchModal(Z)V
-HPLandroid/widget/PopupWindow;->setTouchable(Z)V
-HPLandroid/widget/PopupWindow;->setWindowLayoutType(I)V
-HPLandroid/widget/PopupWindow;->showAsDropDown(Landroid/view/View;II)V
-HPLandroid/widget/PopupWindow;->showAsDropDown(Landroid/view/View;III)V
 HPLandroid/widget/PopupWindow;->showAtLocation(Landroid/os/IBinder;III)V
 HPLandroid/widget/PopupWindow;->showAtLocation(Landroid/view/View;III)V
-HPLandroid/widget/PopupWindow;->tryFitHorizontal(Landroid/view/WindowManager$LayoutParams;IIIIIIIZ)Z
-HPLandroid/widget/PopupWindow;->tryFitVertical(Landroid/view/WindowManager$LayoutParams;IIIIIIIZ)Z
 HPLandroid/widget/PopupWindow;->update(IIII)V
 HPLandroid/widget/PopupWindow;->update(IIIIZ)V
 HPLandroid/widget/PopupWindow;->update(Landroid/view/View;IIII)V
 HPLandroid/widget/PopupWindow;->update(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;)V
 HPLandroid/widget/PopupWindow;->update(Landroid/view/View;ZIIII)V
-HPLandroid/widget/PopupWindow;->updateAboveAnchor(Z)V
-HPLandroid/widget/ProgressBar$1;->get(Landroid/widget/ProgressBar;)Ljava/lang/Float;
-HPLandroid/widget/ProgressBar$1;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HPLandroid/widget/ProgressBar$1;->setValue(Landroid/widget/ProgressBar;F)V
-HPLandroid/widget/ProgressBar$1;->setValue(Ljava/lang/Object;F)V
-HPLandroid/widget/ProgressBar;->getCurrentDrawable()Landroid/graphics/drawable/Drawable;
-HPLandroid/widget/ProgressBar;->getMin()I
-HPLandroid/widget/ProgressBar;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
+HPLandroid/widget/ProgressBar$AccessibilityEventSender;->run()V
+HPLandroid/widget/ProgressBar$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/widget/ProgressBar;-><init>(Landroid/content/Context;)V
+HPLandroid/widget/ProgressBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HPLandroid/widget/ProgressBar;->applyPrimaryProgressTint()V
+HPLandroid/widget/ProgressBar;->applyProgressBackgroundTint()V
+HPLandroid/widget/ProgressBar;->applySecondaryProgressTint()V
+HPLandroid/widget/ProgressBar;->drawableHotspotChanged(FF)V
+HPLandroid/widget/ProgressBar;->getAccessibilityClassName()Ljava/lang/CharSequence;
+HPLandroid/widget/ProgressBar;->getIndeterminateDrawable()Landroid/graphics/drawable/Drawable;
+HPLandroid/widget/ProgressBar;->getProgress()I
+HPLandroid/widget/ProgressBar;->isIndeterminate()Z
+HPLandroid/widget/ProgressBar;->onDetachedFromWindow()V
+HPLandroid/widget/ProgressBar;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
+HPLandroid/widget/ProgressBar;->onMeasure(II)V
+HPLandroid/widget/ProgressBar;->onProgressRefresh(FZI)V
+HPLandroid/widget/ProgressBar;->onSaveInstanceState()Landroid/os/Parcelable;
+HPLandroid/widget/ProgressBar;->onSizeChanged(IIII)V
+HPLandroid/widget/ProgressBar;->onVisualProgressChanged(IF)V
 HPLandroid/widget/ProgressBar;->setIndeterminateTintList(Landroid/content/res/ColorStateList;)V
 HPLandroid/widget/ProgressBar;->setIndeterminateTintMode(Landroid/graphics/PorterDuff$Mode;)V
-HPLandroid/widget/ProgressBar;->setProgress(IZ)V
+HPLandroid/widget/ProgressBar;->stopAnimation()V
 HPLandroid/widget/QuickContactBadge;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HPLandroid/widget/RadioButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HPLandroid/widget/RadioButton;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HPLandroid/widget/RadioGroup;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
-HPLandroid/widget/RadioGroup;->generateDefaultLayoutParams()Landroid/widget/LinearLayout$LayoutParams;
-HPLandroid/widget/RadioGroup;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HPLandroid/widget/RadioGroup;->getCheckedRadioButtonId()I
+HPLandroid/widget/QuickContactBadge;->onClick(Landroid/view/View;)V
 HPLandroid/widget/RelativeLayout$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V
+HPLandroid/widget/RelativeLayout$LayoutParams;->access$112(Landroid/widget/RelativeLayout$LayoutParams;I)I
+HPLandroid/widget/RelativeLayout$LayoutParams;->access$212(Landroid/widget/RelativeLayout$LayoutParams;I)I
+HPLandroid/widget/RelativeLayout$LayoutParams;->access$312(Landroid/widget/RelativeLayout$LayoutParams;I)I
+HPLandroid/widget/RelativeLayout$LayoutParams;->access$412(Landroid/widget/RelativeLayout$LayoutParams;I)I
+HPLandroid/widget/RelativeLayout;-><init>(Landroid/content/Context;)V
+HPLandroid/widget/RelativeLayout;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
+HPLandroid/widget/RelativeLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
+HPLandroid/widget/RelativeLayout;->setGravity(I)V
 HPLandroid/widget/RemoteViews$2;->createFromParcel(Landroid/os/Parcel;)Landroid/widget/RemoteViews;
 HPLandroid/widget/RemoteViews$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLandroid/widget/RemoteViews$Action;-><init>()V
 HPLandroid/widget/RemoteViews$Action;-><init>(Landroid/widget/RemoteViews$1;)V
+HPLandroid/widget/RemoteViews$Action;->setBitmapCache(Landroid/widget/RemoteViews$BitmapCache;)V
 HPLandroid/widget/RemoteViews$Action;->visitUris(Ljava/util/function/Consumer;)V
 HPLandroid/widget/RemoteViews$BitmapCache;->getBitmapForId(I)Landroid/graphics/Bitmap;
 HPLandroid/widget/RemoteViews$BitmapCache;->getBitmapMemory()I
 HPLandroid/widget/RemoteViews$BitmapReflectionAction;-><init>(Landroid/widget/RemoteViews;Landroid/os/Parcel;)V
+HPLandroid/widget/RemoteViews$BitmapReflectionAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
 HPLandroid/widget/RemoteViews$BitmapReflectionAction;->setBitmapCache(Landroid/widget/RemoteViews$BitmapCache;)V
-HPLandroid/widget/RemoteViews$LayoutParamAction;->getActionTag()I
-HPLandroid/widget/RemoteViews$LayoutParamAction;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/widget/RemoteViews$MethodKey;->equals(Ljava/lang/Object;)Z
+HPLandroid/widget/RemoteViews$MethodKey;->hashCode()I
+HPLandroid/widget/RemoteViews$MethodKey;->set(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)V
 HPLandroid/widget/RemoteViews$ReflectionAction;-><init>(Landroid/widget/RemoteViews;ILjava/lang/String;ILjava/lang/Object;)V
+HPLandroid/widget/RemoteViews$ReflectionAction;-><init>(Landroid/widget/RemoteViews;Landroid/os/Parcel;)V
+HPLandroid/widget/RemoteViews$ReflectionAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
+HPLandroid/widget/RemoteViews$ReflectionAction;->getParameterType()Ljava/lang/Class;
 HPLandroid/widget/RemoteViews$ReflectionAction;->visitUris(Ljava/util/function/Consumer;)V
-HPLandroid/widget/RemoteViews$SetDrawableTint;-><init>(Landroid/widget/RemoteViews;Landroid/os/Parcel;)V
-HPLandroid/widget/RemoteViews$SetDrawableTint;->getActionTag()I
-HPLandroid/widget/RemoteViews$SetDrawableTint;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/widget/RemoteViews$SetRemoteInputsAction;->getActionTag()I
-HPLandroid/widget/RemoteViews$SetRemoteInputsAction;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/widget/RemoteViews$RemoteResponse;->fromPendingIntent(Landroid/app/PendingIntent;)Landroid/widget/RemoteViews$RemoteResponse;
+HPLandroid/widget/RemoteViews$RemoteResponse;->readFromParcel(Landroid/os/Parcel;)V
+HPLandroid/widget/RemoteViews$RemoteViewsContextWrapper;->getResources()Landroid/content/res/Resources;
+HPLandroid/widget/RemoteViews$RemoteViewsContextWrapper;->getTheme()Landroid/content/res/Resources$Theme;
+HPLandroid/widget/RemoteViews$SetOnClickResponse;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
+HPLandroid/widget/RemoteViews$TextViewSizeAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
+HPLandroid/widget/RemoteViews$TextViewSizeAction;->getActionTag()I
+HPLandroid/widget/RemoteViews$TextViewSizeAction;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/widget/RemoteViews$ViewGroupActionAdd;-><init>(Landroid/widget/RemoteViews;Landroid/os/Parcel;Landroid/widget/RemoteViews$BitmapCache;Landroid/content/pm/ApplicationInfo;ILjava/util/Map;)V
 HPLandroid/widget/RemoteViews$ViewGroupActionAdd;->getActionTag()I
 HPLandroid/widget/RemoteViews$ViewGroupActionAdd;->hasSameAppInfo(Landroid/content/pm/ApplicationInfo;)Z
@@ -7815,60 +8619,92 @@
 HPLandroid/widget/RemoteViews$ViewGroupActionRemove;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/widget/RemoteViews$ViewPaddingAction;-><init>(Landroid/widget/RemoteViews;IIIII)V
 HPLandroid/widget/RemoteViews$ViewPaddingAction;-><init>(Landroid/widget/RemoteViews;Landroid/os/Parcel;)V
+HPLandroid/widget/RemoteViews$ViewPaddingAction;->apply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
+HPLandroid/widget/RemoteViews$ViewPaddingAction;->getActionTag()I
+HPLandroid/widget/RemoteViews$ViewPaddingAction;->writeToParcel(Landroid/os/Parcel;I)V
 HPLandroid/widget/RemoteViews;-><init>(Landroid/content/pm/ApplicationInfo;I)V
-HPLandroid/widget/RemoteViews;-><init>(Landroid/os/Parcel;)V
 HPLandroid/widget/RemoteViews;-><init>(Landroid/os/Parcel;Landroid/widget/RemoteViews$BitmapCache;Landroid/content/pm/ApplicationInfo;ILjava/util/Map;)V
+HPLandroid/widget/RemoteViews;-><init>(Landroid/widget/RemoteViews;)V
+HPLandroid/widget/RemoteViews;-><init>(Landroid/widget/RemoteViews;Landroid/widget/RemoteViews;)V
 HPLandroid/widget/RemoteViews;->addAction(Landroid/widget/RemoteViews$Action;)V
-HPLandroid/widget/RemoteViews;->addView(ILandroid/widget/RemoteViews;)V
+HPLandroid/widget/RemoteViews;->addFlags(I)V
+HPLandroid/widget/RemoteViews;->apply(Landroid/content/Context;Landroid/view/ViewGroup;)Landroid/view/View;
+HPLandroid/widget/RemoteViews;->apply(Landroid/content/Context;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)Landroid/view/View;
+HPLandroid/widget/RemoteViews;->applyWithTheme(Landroid/content/Context;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;I)Landroid/view/View;
+HPLandroid/widget/RemoteViews;->clone()Landroid/widget/RemoteViews;
 HPLandroid/widget/RemoteViews;->estimateMemoryUsage()I
+HPLandroid/widget/RemoteViews;->getActionFromParcel(Landroid/os/Parcel;I)Landroid/widget/RemoteViews$Action;
+HPLandroid/widget/RemoteViews;->getContextForResources(Landroid/content/Context;)Landroid/content/Context;
+HPLandroid/widget/RemoteViews;->getLayoutId()I
+HPLandroid/widget/RemoteViews;->getMethod(Landroid/view/View;Ljava/lang/String;Ljava/lang/Class;Z)Ljava/lang/invoke/MethodHandle;
 HPLandroid/widget/RemoteViews;->getPackage()Ljava/lang/String;
 HPLandroid/widget/RemoteViews;->getSequenceNumber()I
+HPLandroid/widget/RemoteViews;->hasFlags(I)Z
+HPLandroid/widget/RemoteViews;->hasSameAppInfo(Landroid/content/pm/ApplicationInfo;)Z
+HPLandroid/widget/RemoteViews;->inflateView(Landroid/content/Context;Landroid/widget/RemoteViews;Landroid/view/ViewGroup;I)Landroid/view/View;
 HPLandroid/widget/RemoteViews;->mergeRemoteViews(Landroid/widget/RemoteViews;)V
-HPLandroid/widget/RemoteViews;->removeAllViews(I)V
-HPLandroid/widget/RemoteViews;->setChronometer(IJLjava/lang/String;Z)V
-HPLandroid/widget/RemoteViews;->setChronometerCountDown(IZ)V
-HPLandroid/widget/RemoteViews;->setDrawableTint(IZILandroid/graphics/PorterDuff$Mode;)V
-HPLandroid/widget/RemoteViews;->setIcon(ILjava/lang/String;Landroid/graphics/drawable/Icon;)V
-HPLandroid/widget/RemoteViews;->setImageViewIcon(ILandroid/graphics/drawable/Icon;)V
-HPLandroid/widget/RemoteViews;->setLong(ILjava/lang/String;J)V
-HPLandroid/widget/RemoteViews;->setRemoteInputs(I[Landroid/app/RemoteInput;)V
-HPLandroid/widget/RemoteViews;->setString(ILjava/lang/String;Ljava/lang/String;)V
+HPLandroid/widget/RemoteViews;->onLoadClass(Ljava/lang/Class;)Z
+HPLandroid/widget/RemoteViews;->performApply(Landroid/view/View;Landroid/view/ViewGroup;Landroid/widget/RemoteViews$OnClickHandler;)V
+HPLandroid/widget/RemoteViews;->reapply(Landroid/content/Context;Landroid/view/View;)V
+HPLandroid/widget/RemoteViews;->reapply(Landroid/content/Context;Landroid/view/View;Landroid/widget/RemoteViews$OnClickHandler;)V
+HPLandroid/widget/RemoteViews;->setBitmapCache(Landroid/widget/RemoteViews$BitmapCache;)V
+HPLandroid/widget/RemoteViews;->setImageViewResource(II)V
+HPLandroid/widget/RemoteViews;->setNotRoot()V
 HPLandroid/widget/RemoteViews;->setTextColor(II)V
-HPLandroid/widget/RemoteViews;->setViewLayoutMarginBottomDimen(II)V
-HPLandroid/widget/RemoteViews;->setViewLayoutMarginEnd(II)V
-HPLandroid/widget/RemoteViews;->setViewLayoutWidth(II)V
+HPLandroid/widget/RemoteViews;->setViewPadding(IIIII)V
 HPLandroid/widget/RemoteViews;->visitUris(Ljava/util/function/Consumer;)V
-HPLandroid/widget/ScrollView$SavedState;->toString()Ljava/lang/String;
 HPLandroid/widget/ScrollView;-><init>(Landroid/content/Context;)V
-HPLandroid/widget/ScrollView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HPLandroid/widget/ScrollView;->addView(Landroid/view/View;)V
+HPLandroid/widget/ScrollView;->addView(Landroid/view/View;I)V
+HPLandroid/widget/ScrollView;->computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I
+HPLandroid/widget/ScrollView;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
 HPLandroid/widget/ScrollView;->endDrag()V
+HPLandroid/widget/ScrollView;->executeKeyEvent(Landroid/view/KeyEvent;)Z
 HPLandroid/widget/ScrollView;->fling(I)V
 HPLandroid/widget/ScrollView;->flingWithNestedDispatch(I)V
 HPLandroid/widget/ScrollView;->getAccessibilityClassName()Ljava/lang/CharSequence;
 HPLandroid/widget/ScrollView;->getScrollRange()I
 HPLandroid/widget/ScrollView;->inChild(II)Z
+HPLandroid/widget/ScrollView;->isViewDescendantOf(Landroid/view/View;Landroid/view/View;)Z
+HPLandroid/widget/ScrollView;->isWithinDeltaOfScreen(Landroid/view/View;II)Z
+HPLandroid/widget/ScrollView;->onDetachedFromWindow()V
+HPLandroid/widget/ScrollView;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
 HPLandroid/widget/ScrollView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
 HPLandroid/widget/ScrollView;->onOverScrolled(IIZZ)V
 HPLandroid/widget/ScrollView;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
 HPLandroid/widget/ScrollView;->onTouchEvent(Landroid/view/MotionEvent;)Z
+HPLandroid/widget/ScrollView;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
+HPLandroid/widget/ScrollView;->requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
 HPLandroid/widget/ScrollView;->requestDisallowInterceptTouchEvent(Z)V
+HPLandroid/widget/ScrollView;->scrollToDescendant(Landroid/view/View;)V
 HPLandroid/widget/ScrollView;->shouldDelayChildPressedState()Z
 HPLandroid/widget/ScrollView;->smoothScrollBy(II)V
 HPLandroid/widget/ScrollView;->smoothScrollTo(II)V
 HPLandroid/widget/Scroller$ViscousFluidInterpolator;->getInterpolation(F)F
-HPLandroid/widget/Scroller;->fling(IIIIIIII)V
-HPLandroid/widget/Scroller;->forceFinished(Z)V
+HPLandroid/widget/Scroller;->abortAnimation()V
+HPLandroid/widget/Scroller;->computeScrollOffset()Z
+HPLandroid/widget/Scroller;->getCurrX()I
+HPLandroid/widget/Scroller;->getCurrY()I
 HPLandroid/widget/Scroller;->getFinalX()I
-HPLandroid/widget/Scroller;->getSplineDeceleration(F)D
-HPLandroid/widget/SearchView$SavedState$1;-><init>()V
-HPLandroid/widget/SearchView$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HPLandroid/widget/SearchView;->onSaveInstanceState()Landroid/os/Parcelable;
+HPLandroid/widget/Scroller;->startScroll(IIIII)V
+HPLandroid/widget/SearchView$SearchAutoComplete;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLandroid/widget/SearchView$SearchAutoComplete;->getSearchViewTextMinWidthDp()I
+HPLandroid/widget/SearchView$SearchAutoComplete;->onFinishInflate()V
+HPLandroid/widget/SearchView$SearchAutoComplete;->setSearchView(Landroid/widget/SearchView;)V
+HPLandroid/widget/SearchView;-><init>(Landroid/content/Context;)V
+HPLandroid/widget/SearchView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HPLandroid/widget/SearchView;->getDecoratedHint(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
+HPLandroid/widget/SearchView;->getQueryHint()Ljava/lang/CharSequence;
+HPLandroid/widget/SearchView;->setIconifiedByDefault(Z)V
+HPLandroid/widget/SearchView;->setOnQueryTextListener(Landroid/widget/SearchView$OnQueryTextListener;)V
+HPLandroid/widget/SearchView;->setQueryHint(Ljava/lang/CharSequence;)V
+HPLandroid/widget/SearchView;->updateCloseButton()V
+HPLandroid/widget/SearchView;->updateViewsVisibility(Z)V
+HPLandroid/widget/SeekBar;-><init>(Landroid/content/Context;)V
 HPLandroid/widget/SeekBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HPLandroid/widget/SeekBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HPLandroid/widget/SeekBar;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HPLandroid/widget/SeekBar;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-HPLandroid/widget/SeekBar;->onProgressRefresh(FZI)V
-HPLandroid/widget/SeekBar;->setOnSeekBarChangeListener(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V
+HPLandroid/widget/SeekBar;->onStartTrackingTouch()V
+HPLandroid/widget/SeekBar;->onStopTrackingTouch()V
 HPLandroid/widget/SelectionActionModeHelper$SelectionTracker;->resetSelection(ILandroid/widget/Editor;)Z
 HPLandroid/widget/Space;-><init>(Landroid/content/Context;)V
 HPLandroid/widget/SpellChecker$1;->run()V
@@ -7876,184 +8712,178 @@
 HPLandroid/widget/SpellChecker$SpellParser;->parse()V
 HPLandroid/widget/SpellChecker$SpellParser;->parse(II)V
 HPLandroid/widget/SpellChecker$SpellParser;->stop()V
+HPLandroid/widget/SpellChecker;-><init>(Landroid/widget/TextView;)V
+HPLandroid/widget/SpellChecker;->closeSession()V
 HPLandroid/widget/SpellChecker;->nextSpellCheckSpanIndex()I
 HPLandroid/widget/SpellChecker;->onGetSentenceSuggestions([Landroid/view/textservice/SentenceSuggestionsInfo;)V
 HPLandroid/widget/SpellChecker;->onGetSuggestionsInternal(Landroid/view/textservice/SuggestionsInfo;II)Landroid/text/style/SpellCheckSpan;
-HPLandroid/widget/SpellChecker;->onSelectionChanged()V
 HPLandroid/widget/SpellChecker;->onSpellCheckSpanRemoved(Landroid/text/style/SpellCheckSpan;)V
+HPLandroid/widget/SpellChecker;->resetSession()V
 HPLandroid/widget/SpellChecker;->spellCheck()V
-HPLandroid/widget/Spinner$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/widget/Spinner$SavedState;
-HPLandroid/widget/Spinner$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLandroid/widget/SpellChecker;->spellCheck(II)V
+HPLandroid/widget/Spinner$DropDownAdapter;-><init>(Landroid/widget/SpinnerAdapter;Landroid/content/res/Resources$Theme;)V
+HPLandroid/widget/Spinner$DropDownAdapter;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
+HPLandroid/widget/Spinner$DropdownPopup;->setAdapter(Landroid/widget/ListAdapter;)V
+HPLandroid/widget/Spinner$SavedState$1;-><init>()V
+HPLandroid/widget/Spinner$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/widget/Spinner;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLandroid/widget/Spinner;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HPLandroid/widget/Spinner;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;IIILandroid/content/res/Resources$Theme;)V
+HPLandroid/widget/Spinner;->getAccessibilityClassName()Ljava/lang/CharSequence;
 HPLandroid/widget/Spinner;->getBaseline()I
-HPLandroid/widget/Spinner;->onRestoreInstanceState(Landroid/os/Parcelable;)V
-HPLandroid/widget/Switch;->applyThumbTint()V
-HPLandroid/widget/Switch;->applyTrackTint()V
-HPLandroid/widget/Switch;->draw(Landroid/graphics/Canvas;)V
-HPLandroid/widget/Switch;->getThumbScrollRange()I
-HPLandroid/widget/Switch;->onDraw(Landroid/graphics/Canvas;)V
-HPLandroid/widget/TableLayout$LayoutParams;-><init>(II)V
-HPLandroid/widget/TableLayout$PassThroughHierarchyChangeListener;->onChildViewRemoved(Landroid/view/View;Landroid/view/View;)V
-HPLandroid/widget/TableLayout;-><init>(Landroid/content/Context;)V
-HPLandroid/widget/TableLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
-HPLandroid/widget/TableLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/widget/LinearLayout$LayoutParams;
-HPLandroid/widget/TableLayout;->getAccessibilityClassName()Ljava/lang/CharSequence;
+HPLandroid/widget/Spinner;->layout(IZ)V
+HPLandroid/widget/Spinner;->measureContentWidth(Landroid/widget/SpinnerAdapter;Landroid/graphics/drawable/Drawable;)I
+HPLandroid/widget/Spinner;->onDetachedFromWindow()V
+HPLandroid/widget/Spinner;->onLayout(ZIIII)V
+HPLandroid/widget/Spinner;->onMeasure(II)V
+HPLandroid/widget/Spinner;->onSaveInstanceState()Landroid/os/Parcelable;
+HPLandroid/widget/Spinner;->setAdapter(Landroid/widget/SpinnerAdapter;)V
+HPLandroid/widget/Spinner;->setUpChild(Landroid/view/View;Z)V
+HPLandroid/widget/Switch;->toggle()V
+HPLandroid/widget/TableLayout$LayoutParams;->setBaseAttributes(Landroid/content/res/TypedArray;II)V
+HPLandroid/widget/TableLayout$PassThroughHierarchyChangeListener;->onChildViewAdded(Landroid/view/View;Landroid/view/View;)V
+HPLandroid/widget/TableLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLandroid/widget/TableLayout;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
+HPLandroid/widget/TableLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
+HPLandroid/widget/TableLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
+HPLandroid/widget/TableLayout;->findLargestCells(II)V
+HPLandroid/widget/TableLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
+HPLandroid/widget/TableLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/TableLayout$LayoutParams;
+HPLandroid/widget/TableLayout;->initTableLayout()V
+HPLandroid/widget/TableLayout;->measureChildBeforeLayout(Landroid/view/View;IIIII)V
+HPLandroid/widget/TableLayout;->measureVertical(II)V
 HPLandroid/widget/TableLayout;->mutateColumnsWidth(Landroid/util/SparseBooleanArray;ZII)V
+HPLandroid/widget/TableLayout;->onLayout(ZIIII)V
+HPLandroid/widget/TableLayout;->onMeasure(II)V
 HPLandroid/widget/TableLayout;->parseColumns(Ljava/lang/String;)Landroid/util/SparseBooleanArray;
-HPLandroid/widget/TableLayout;->setStretchAllColumns(Z)V
-HPLandroid/widget/TableRow$LayoutParams;-><init>(II)V
-HPLandroid/widget/TableRow;-><init>(Landroid/content/Context;)V
-HPLandroid/widget/TableRow;->getAccessibilityClassName()Ljava/lang/CharSequence;
+HPLandroid/widget/TableLayout;->requestLayout()V
+HPLandroid/widget/TableLayout;->shrinkAndStretchColumns(I)V
+HPLandroid/widget/TableLayout;->trackCollapsedColumns(Landroid/view/View;)V
+HPLandroid/widget/TableRow$ChildrenTracker;->onChildViewAdded(Landroid/view/View;Landroid/view/View;)V
+HPLandroid/widget/TableRow$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLandroid/widget/TableRow$LayoutParams;->setBaseAttributes(Landroid/content/res/TypedArray;II)V
+HPLandroid/widget/TableRow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLandroid/widget/TableRow;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
+HPLandroid/widget/TableRow;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
+HPLandroid/widget/TableRow;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/TableRow$LayoutParams;
+HPLandroid/widget/TableRow;->getChildrenSkipCount(Landroid/view/View;I)I
+HPLandroid/widget/TableRow;->getColumnsWidths(II)[I
+HPLandroid/widget/TableRow;->getLocationOffset(Landroid/view/View;)I
+HPLandroid/widget/TableRow;->getNextLocationOffset(Landroid/view/View;)I
+HPLandroid/widget/TableRow;->getVirtualChildAt(I)Landroid/view/View;
+HPLandroid/widget/TableRow;->getVirtualChildCount()I
+HPLandroid/widget/TableRow;->mapIndexAndColumns()V
+HPLandroid/widget/TableRow;->measureChildBeforeLayout(Landroid/view/View;IIIII)V
+HPLandroid/widget/TableRow;->onLayout(ZIIII)V
+HPLandroid/widget/TableRow;->onMeasure(II)V
+HPLandroid/widget/TableRow;->setColumnsWidthConstraints([I)V
+HPLandroid/widget/TextSwitcher;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLandroid/widget/TextSwitcher;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
 HPLandroid/widget/TextSwitcher;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HPLandroid/widget/TextView$Drawables;->setErrorDrawable(Landroid/graphics/drawable/Drawable;Landroid/widget/TextView;)V
-HPLandroid/widget/TextView$Marquee$1;->doFrame(J)V
-HPLandroid/widget/TextView$Marquee$2;->doFrame(J)V
-HPLandroid/widget/TextView$Marquee$3;->doFrame(J)V
-HPLandroid/widget/TextView$Marquee;-><init>(Landroid/widget/TextView;)V
-HPLandroid/widget/TextView$Marquee;->start(I)V
-HPLandroid/widget/TextView$Marquee;->tick()V
-HPLandroid/widget/TextView;->autofill(Landroid/view/autofill/AutofillValue;)V
+HPLandroid/widget/TextSwitcher;->setText(Ljava/lang/CharSequence;)V
+HPLandroid/widget/TextView$3;->run()V
 HPLandroid/widget/TextView;->computeHorizontalScrollRange()I
+HPLandroid/widget/TextView;->convertToLocalHorizontalCoordinate(F)F
+HPLandroid/widget/TextView;->didTouchFocusSelect()Z
 HPLandroid/widget/TextView;->getAccessibilitySelectionEnd()I
 HPLandroid/widget/TextView;->getAccessibilitySelectionStart()I
-HPLandroid/widget/TextView;->getAutoSizeMinTextSize()I
-HPLandroid/widget/TextView;->getAutoSizeStepGranularity()I
-HPLandroid/widget/TextView;->getAutoSizeTextType()I
-HPLandroid/widget/TextView;->getBottomPaddingOffset()I
-HPLandroid/widget/TextView;->getCurrentHintTextColor()I
-HPLandroid/widget/TextView;->getFadeHeight(Z)I
-HPLandroid/widget/TextView;->getFadeTop(Z)I
-HPLandroid/widget/TextView;->getHintTextColors()Landroid/content/res/ColorStateList;
+HPLandroid/widget/TextView;->getAutofillValue()Landroid/view/autofill/AutofillValue;
+HPLandroid/widget/TextView;->getBottomVerticalOffset(Z)I
+HPLandroid/widget/TextView;->getCompoundDrawablePadding()I
+HPLandroid/widget/TextView;->getHighlightColor()I
+HPLandroid/widget/TextView;->getImeHintLocales()Landroid/os/LocaleList;
 HPLandroid/widget/TextView;->getIterableTextForAccessibility()Ljava/lang/CharSequence;
-HPLandroid/widget/TextView;->getLeftFadingEdgeStrength()F
-HPLandroid/widget/TextView;->getLeftPaddingOffset()I
-HPLandroid/widget/TextView;->getMaxHeight()I
-HPLandroid/widget/TextView;->getRightFadingEdgeStrength()F
-HPLandroid/widget/TextView;->getRightPaddingOffset()I
-HPLandroid/widget/TextView;->getShadowColor()I
-HPLandroid/widget/TextView;->getShadowDx()F
-HPLandroid/widget/TextView;->getShadowDy()F
-HPLandroid/widget/TextView;->getShadowRadius()F
-HPLandroid/widget/TextView;->getTextScaleX()F
-HPLandroid/widget/TextView;->getTopPaddingOffset()I
-HPLandroid/widget/TextView;->getTypefaceStyle()I
-HPLandroid/widget/TextView;->hideFloatingToolbar(I)V
-HPLandroid/widget/TextView;->isAutoSizeEnabled()Z
+HPLandroid/widget/TextView;->getLayout()Landroid/text/Layout;
+HPLandroid/widget/TextView;->getLineAtCoordinate(F)I
+HPLandroid/widget/TextView;->getOffsetAtCoordinate(IF)I
+HPLandroid/widget/TextView;->getOffsetForPosition(FF)I
+HPLandroid/widget/TextView;->getPrivateImeOptions()Ljava/lang/String;
+HPLandroid/widget/TextView;->getSpellCheckerLocale()Ljava/util/Locale;
+HPLandroid/widget/TextView;->getTextColors()Landroid/content/res/ColorStateList;
+HPLandroid/widget/TextView;->getTextCursorDrawable()Landroid/graphics/drawable/Drawable;
+HPLandroid/widget/TextView;->getTextSelectHandle()Landroid/graphics/drawable/Drawable;
+HPLandroid/widget/TextView;->getTextSelectHandleLeft()Landroid/graphics/drawable/Drawable;
+HPLandroid/widget/TextView;->getTextSelectHandleRight()Landroid/graphics/drawable/Drawable;
+HPLandroid/widget/TextView;->getTextServicesManagerForUser()Landroid/view/textservice/TextServicesManager;
+HPLandroid/widget/TextView;->getTotalPaddingBottom()I
+HPLandroid/widget/TextView;->getTypeface()Landroid/graphics/Typeface;
+HPLandroid/widget/TextView;->handleBackInTextActionModeIfNeeded(Landroid/view/KeyEvent;)Z
+HPLandroid/widget/TextView;->invalidateCursor()V
+HPLandroid/widget/TextView;->invalidateCursorPath()V
 HPLandroid/widget/TextView;->isInBatchEditMode()Z
-HPLandroid/widget/TextView;->isPaddingOffsetRequired()Z
 HPLandroid/widget/TextView;->isPositionVisible(FF)Z
-HPLandroid/widget/TextView;->isSingleLine()Z
-HPLandroid/widget/TextView;->onCommitCorrection(Landroid/view/inputmethod/CorrectionInfo;)V
-HPLandroid/widget/TextView;->onCreateContextMenu(Landroid/view/ContextMenu;)V
-HPLandroid/widget/TextView;->onInitializeAccessibilityNodeInfoInternal(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-HPLandroid/widget/TextView;->onProvideStructure(Landroid/view/ViewStructure;)V
-HPLandroid/widget/TextView;->performLongClick()Z
-HPLandroid/widget/TextView;->selectAllText()Z
-HPLandroid/widget/TextView;->setAutoLinkMask(I)V
-HPLandroid/widget/TextView;->setAutoSizeTextTypeUniformWithPresetSizes([II)V
-HPLandroid/widget/TextView;->setError(Ljava/lang/CharSequence;)V
-HPLandroid/widget/TextView;->setError(Ljava/lang/CharSequence;Landroid/graphics/drawable/Drawable;)V
-HPLandroid/widget/TextView;->setSelectAllOnFocus(Z)V
-HPLandroid/widget/TextView;->setTextScaleX(F)V
-HPLandroid/widget/TextView;->setTextSizeInternal(IFZ)V
-HPLandroid/widget/TextView;->setWidth(I)V
-HPLandroid/widget/TextView;->setupAutoSizeUniformPresetSizesConfiguration()Z
-HPLandroid/widget/TextView;->showContextMenu(FF)Z
+HPLandroid/widget/TextView;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+HPLandroid/widget/TextView;->onDragEvent(Landroid/view/DragEvent;)Z
+HPLandroid/widget/TextView;->onEditorAction(I)V
+HPLandroid/widget/TextView;->onKeyPreIme(ILandroid/view/KeyEvent;)Z
+HPLandroid/widget/TextView;->onKeyUp(ILandroid/view/KeyEvent;)Z
+HPLandroid/widget/TextView;->onLocaleChanged()V
+HPLandroid/widget/TextView;->performAccessibilityActionInternal(ILandroid/os/Bundle;)Z
+HPLandroid/widget/TextView;->removeTextChangedListener(Landroid/text/TextWatcher;)V
+HPLandroid/widget/TextView;->sendAccessibilityEventTypeViewTextChanged(Ljava/lang/CharSequence;III)V
+HPLandroid/widget/TextView;->setAllCaps(Z)V
+HPLandroid/widget/TextView;->setCompoundDrawablesRelative(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
+HPLandroid/widget/TextView;->setCompoundDrawablesRelativeWithIntrinsicBounds(IIII)V
+HPLandroid/widget/TextView;->setCompoundDrawablesRelativeWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
+HPLandroid/widget/TextView;->setCompoundDrawablesWithIntrinsicBounds(IIII)V
+HPLandroid/widget/TextView;->setCustomSelectionActionModeCallback(Landroid/view/ActionMode$Callback;)V
+HPLandroid/widget/TextView;->setHintTextColor(I)V
+HPLandroid/widget/TextView;->setImeOptions(I)V
+HPLandroid/widget/TextView;->setIncludeFontPadding(Z)V
+HPLandroid/widget/TextView;->setLineSpacing(FF)V
+HPLandroid/widget/TextView;->setMarqueeRepeatLimit(I)V
+HPLandroid/widget/TextView;->setMaxWidth(I)V
+HPLandroid/widget/TextView;->setMinEms(I)V
+HPLandroid/widget/TextView;->setPaddingRelative(IIII)V
 HPLandroid/widget/TextView;->viewClicked(Landroid/view/inputmethod/InputMethodManager;)V
-HPLandroid/widget/TimePicker$AbstractTimePickerDelegate;->resetAutofilledValue()V
-HPLandroid/widget/TimePicker$AbstractTimePickerDelegate;->setAutoFillChangeListener(Landroid/widget/TimePicker$OnTimeChangedListener;)V
-HPLandroid/widget/TimePicker$AbstractTimePickerDelegate;->setOnTimeChangedListener(Landroid/widget/TimePicker$OnTimeChangedListener;)V
-HPLandroid/widget/TimePicker$TimePickerDelegate;->autofill(Landroid/view/autofill/AutofillValue;)V
-HPLandroid/widget/TimePicker$TimePickerDelegate;->dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
-HPLandroid/widget/TimePicker$TimePickerDelegate;->getAmView()Landroid/view/View;
-HPLandroid/widget/TimePicker$TimePickerDelegate;->getAutofillValue()Landroid/view/autofill/AutofillValue;
-HPLandroid/widget/TimePicker$TimePickerDelegate;->getBaseline()I
-HPLandroid/widget/TimePicker$TimePickerDelegate;->getHour()I
-HPLandroid/widget/TimePicker$TimePickerDelegate;->getHourView()Landroid/view/View;
-HPLandroid/widget/TimePicker$TimePickerDelegate;->getMinute()I
-HPLandroid/widget/TimePicker$TimePickerDelegate;->getMinuteView()Landroid/view/View;
-HPLandroid/widget/TimePicker$TimePickerDelegate;->getPmView()Landroid/view/View;
-HPLandroid/widget/TimePicker$TimePickerDelegate;->is24Hour()Z
-HPLandroid/widget/TimePicker$TimePickerDelegate;->isEnabled()Z
-HPLandroid/widget/TimePicker$TimePickerDelegate;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
-HPLandroid/widget/TimePicker$TimePickerDelegate;->onRestoreInstanceState(Landroid/os/Parcelable;)V
-HPLandroid/widget/TimePicker$TimePickerDelegate;->onSaveInstanceState(Landroid/os/Parcelable;)Landroid/os/Parcelable;
-HPLandroid/widget/TimePicker$TimePickerDelegate;->setAutoFillChangeListener(Landroid/widget/TimePicker$OnTimeChangedListener;)V
-HPLandroid/widget/TimePicker$TimePickerDelegate;->setDate(II)V
-HPLandroid/widget/TimePicker$TimePickerDelegate;->setEnabled(Z)V
-HPLandroid/widget/TimePicker$TimePickerDelegate;->setHour(I)V
-HPLandroid/widget/TimePicker$TimePickerDelegate;->setIs24Hour(Z)V
-HPLandroid/widget/TimePicker$TimePickerDelegate;->setMinute(I)V
-HPLandroid/widget/TimePicker$TimePickerDelegate;->setOnTimeChangedListener(Landroid/widget/TimePicker$OnTimeChangedListener;)V
-HPLandroid/widget/TimePicker$TimePickerDelegate;->validateInput()Z
-HPLandroid/widget/TimePicker;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HPLandroid/widget/TimePicker;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HPLandroid/widget/TimePicker;->getAutofillType()I
-HPLandroid/widget/TimePicker;->getBaseline()I
-HPLandroid/widget/TimePicker;->isEnabled()Z
-HPLandroid/widget/TimePicker;->setCurrentHour(Ljava/lang/Integer;)V
-HPLandroid/widget/TimePicker;->setCurrentMinute(Ljava/lang/Integer;)V
-HPLandroid/widget/TimePicker;->setHour(I)V
-HPLandroid/widget/TimePicker;->setIs24HourView(Ljava/lang/Boolean;)V
-HPLandroid/widget/TimePicker;->setMinute(I)V
-HPLandroid/widget/TimePicker;->setOnTimeChangedListener(Landroid/widget/TimePicker$OnTimeChangedListener;)V
-HPLandroid/widget/TimePickerSpinnerDelegate$1;->onValueChange(Landroid/widget/NumberPicker;II)V
-HPLandroid/widget/TimePickerSpinnerDelegate$2;->onValueChange(Landroid/widget/NumberPicker;II)V
-HPLandroid/widget/TimePickerSpinnerDelegate;-><init>(Landroid/widget/TimePicker;Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HPLandroid/widget/TimePickerSpinnerDelegate;->getAmPmStrings(Landroid/content/Context;)[Ljava/lang/String;
-HPLandroid/widget/TimePickerSpinnerDelegate;->getBaseline()I
-HPLandroid/widget/TimePickerSpinnerDelegate;->getHour()I
-HPLandroid/widget/TimePickerSpinnerDelegate;->getHourFormatData()V
-HPLandroid/widget/TimePickerSpinnerDelegate;->getMinute()I
-HPLandroid/widget/TimePickerSpinnerDelegate;->is24Hour()Z
-HPLandroid/widget/TimePickerSpinnerDelegate;->isEnabled()Z
-HPLandroid/widget/TimePickerSpinnerDelegate;->onTimeChanged()V
-HPLandroid/widget/TimePickerSpinnerDelegate;->setContentDescriptions()V
-HPLandroid/widget/TimePickerSpinnerDelegate;->setCurrentHour(IZ)V
-HPLandroid/widget/TimePickerSpinnerDelegate;->setDividerText()V
-HPLandroid/widget/TimePickerSpinnerDelegate;->setHour(I)V
-HPLandroid/widget/TimePickerSpinnerDelegate;->setIs24Hour(Z)V
-HPLandroid/widget/TimePickerSpinnerDelegate;->setMinute(I)V
-HPLandroid/widget/TimePickerSpinnerDelegate;->updateAmPmControl()V
-HPLandroid/widget/TimePickerSpinnerDelegate;->updateHourControl()V
-HPLandroid/widget/TimePickerSpinnerDelegate;->updateInputState()V
-HPLandroid/widget/ToggleButton;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HPLandroid/widget/Toolbar$SavedState$1;-><init>()V
-HPLandroid/widget/Toolbar$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
+HPLandroid/widget/Toast$TN$1;->handleMessage(Landroid/os/Message;)V
+HPLandroid/widget/Toast$TN;-><init>(Ljava/lang/String;Landroid/os/Looper;)V
+HPLandroid/widget/Toast$TN;->handleHide()V
+HPLandroid/widget/Toast$TN;->handleShow(Landroid/os/IBinder;)V
+HPLandroid/widget/Toast$TN;->hide()V
+HPLandroid/widget/Toast$TN;->show(Landroid/os/IBinder;)V
+HPLandroid/widget/Toast$TN;->trySendAccessibilityEvent()V
+HPLandroid/widget/Toast;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+HPLandroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast;
+HPLandroid/widget/Toast;->makeText(Landroid/content/Context;Landroid/os/Looper;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
+HPLandroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
+HPLandroid/widget/Toast;->show()V
+HPLandroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->onCloseMenu(Lcom/android/internal/view/menu/MenuBuilder;Z)V
 HPLandroid/widget/Toolbar;->dismissPopupMenus()V
 HPLandroid/widget/Toolbar;->getWrapper()Lcom/android/internal/widget/DecorToolbar;
-HPLandroid/widget/Toolbar;->inflateMenu(I)V
-HPLandroid/widget/Toolbar;->isOverflowMenuShowing()Z
+HPLandroid/widget/Toolbar;->hasExpandedActionView()Z
 HPLandroid/widget/Toolbar;->onDetachedFromWindow()V
-HPLandroid/widget/Toolbar;->onSaveInstanceState()Landroid/os/Parcelable;
-HPLandroid/widget/Toolbar;->onTouchEvent(Landroid/view/MotionEvent;)Z
 HPLandroid/widget/Toolbar;->setCollapsible(Z)V
 HPLandroid/widget/Toolbar;->setContentInsetsRelative(II)V
 HPLandroid/widget/Toolbar;->setLogo(Landroid/graphics/drawable/Drawable;)V
 HPLandroid/widget/Toolbar;->setMenu(Lcom/android/internal/view/menu/MenuBuilder;Landroid/widget/ActionMenuPresenter;)V
+HPLandroid/widget/Toolbar;->setSubtitle(Ljava/lang/CharSequence;)V
 HPLandroid/widget/Toolbar;->setSubtitleTextAppearance(Landroid/content/Context;I)V
 HPLandroid/widget/Toolbar;->setTitleTextAppearance(Landroid/content/Context;I)V
-HPLandroid/widget/ViewAnimator;->getInAnimation()Landroid/view/animation/Animation;
-HPLandroid/widget/ViewAnimator;->getOutAnimation()Landroid/view/animation/Animation;
-HPLandroid/widget/ViewAnimator;->removeViews(II)V
+HPLandroid/widget/ViewAnimator;->setInAnimation(Landroid/content/Context;I)V
+HPLandroid/widget/ViewAnimator;->setInAnimation(Landroid/view/animation/Animation;)V
+HPLandroid/widget/ViewAnimator;->setOutAnimation(Landroid/content/Context;I)V
+HPLandroid/widget/ViewAnimator;->setOutAnimation(Landroid/view/animation/Animation;)V
+HPLandroid/widget/ViewAnimator;->showNext()V
 HPLandroid/widget/ViewFlipper$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HPLandroid/widget/ViewFlipper;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLandroid/widget/ViewFlipper;->onAttachedToWindow()V
 HPLandroid/widget/ViewFlipper;->onDetachedFromWindow()V
-HPLandroid/widget/ViewSwitcher;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HPLandroid/widget/ZoomButtonsController$OnZoomListener;->onVisibilityChanged(Z)V
-HPLandroid/widget/ZoomButtonsController$OnZoomListener;->onZoom(Z)V
+HPLandroid/widget/ViewFlipper;->onWindowVisibilityChanged(I)V
+HPLandroid/widget/ViewFlipper;->updateRunning(Z)V
+HPLandroid/widget/ViewSwitcher;->getNextView()Landroid/view/View;
+HPLandroid/widget/ViewSwitcher;->setFactory(Landroid/widget/ViewSwitcher$ViewFactory;)V
 HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->checkLastTagWas(I)V
-HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readBool()Z
-HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readInt32()I
 HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readRawVarint32()I
-HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readTag()I
+HPLcom/android/framework/protobuf/nano/CodedInputByteBufferNano;->readString()Ljava/lang/String;
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->checkNoSpaceLeft()V
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeBoolSize(IZ)I
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeDoubleSize(ID)I
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeInt32Size(II)I
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeInt64Size(IJ)I
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeMessageSize(ILcom/android/framework/protobuf/nano/MessageNano;)I
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeRawVarint64Size(J)I
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeStringSize(ILjava/lang/String;)I
-HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeUInt32Size(II)I
+HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->computeStringSizeNoTag(Ljava/lang/String;)I
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->encode(Ljava/lang/CharSequence;Ljava/nio/ByteBuffer;)V
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->encode(Ljava/lang/CharSequence;[BII)I
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->encodedLength(Ljava/lang/CharSequence;)I
@@ -8062,41 +8892,33 @@
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeInt32(II)V
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeInt32NoTag(I)V
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeInt64(IJ)V
+HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeInt64NoTag(J)V
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeMessage(ILcom/android/framework/protobuf/nano/MessageNano;)V
+HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeMessageNoTag(Lcom/android/framework/protobuf/nano/MessageNano;)V
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawByte(B)V
+HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawByte(I)V
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawLittleEndian64(J)V
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawVarint32(I)V
+HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeRawVarint64(J)V
 HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeString(ILjava/lang/String;)V
 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;->writeUInt32(II)V
+HPLcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;->writeUInt32NoTag(I)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;[B)Lcom/android/framework/protobuf/nano/MessageNano;
 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
-HPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;-><init>(Ljava/lang/String;)V
-HPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->clear()V
-HPLcom/android/i18n/phonenumbers/PhoneNumberMatch;-><init>(ILjava/lang/String;Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)V
-HPLcom/android/i18n/phonenumbers/PhoneNumberMatch;->end()I
-HPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->next()Ljava/lang/Object;
-HPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getAsYouTypeFormatter(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;
-HPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getCountryCodeForRegion(Ljava/lang/String;)I
+HPLcom/android/i18n/phonenumbers/PhoneNumberMatcher$State;-><init>(Ljava/lang/String;I)V
+HPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;-><init>(Lcom/android/i18n/phonenumbers/PhoneNumberUtil;Ljava/lang/CharSequence;Ljava/lang/String;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency;J)V
+HPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->find(I)Lcom/android/i18n/phonenumbers/PhoneNumberMatch;
+HPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->hasNext()Z
+HPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->limit(II)Ljava/lang/String;
+HPLcom/android/i18n/phonenumbers/PhoneNumberUtil$1;->iterator()Ljava/util/Iterator;
+HPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->findNumbers(Ljava/lang/CharSequence;Ljava/lang/String;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency;J)Ljava/lang/Iterable;
 HPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getNumberType(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;
 HPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getRegionCodesForCountryCode(I)Ljava/util/List;
 HPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isNumberGeographical(Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;I)Z
-HPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->setDomesticCarrierCodeFormattingRule(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
-HPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->setNationalPrefixFormattingRule(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
-HPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getMobile()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
-HPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setNationalPrefixTransformRule(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setPreferredExtnPrefix(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->clearCountryCodeSource()Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
-HPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->clearPreferredDomesticCarrierCode()Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
-HPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->clearRawInput()Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
-HPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->getNumberOfLeadingZeros()I
-HPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setItalianLeadingZero(Z)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
-HPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setNumberOfLeadingZeros(I)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
 HPLcom/android/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder;->getCountryNameForNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/util/Locale;)Ljava/lang/String;
 HPLcom/android/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder;->getDescriptionForNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/util/Locale;)Ljava/lang/String;
 HPLcom/android/i18n/phonenumbers/geocoding/PhoneNumberOfflineGeocoder;->getDescriptionForValidNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/util/Locale;)Ljava/lang/String;
@@ -8110,19 +8932,17 @@
 HPLcom/android/i18n/phonenumbers/prefixmapper/MappingFileProvider;->readExternal(Ljava/io/ObjectInput;)V
 HPLcom/android/i18n/phonenumbers/prefixmapper/PhonePrefixMap;->lookup(J)Ljava/lang/String;
 HPLcom/android/i18n/phonenumbers/prefixmapper/PhonePrefixMap;->lookup(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Ljava/lang/String;
-HPLcom/android/i18n/phonenumbers/prefixmapper/PhonePrefixMapStorageStrategy;->getDescription(I)Ljava/lang/String;
 HPLcom/android/i18n/phonenumbers/prefixmapper/PhonePrefixMapStorageStrategy;->getNumOfEntries()I
 HPLcom/android/i18n/phonenumbers/prefixmapper/PhonePrefixMapStorageStrategy;->getPossibleLengths()Ljava/util/TreeSet;
-HPLcom/android/i18n/phonenumbers/prefixmapper/PhonePrefixMapStorageStrategy;->getPrefix(I)I
-HPLcom/android/i18n/phonenumbers/prefixmapper/PhonePrefixMapStorageStrategy;->readExternal(Ljava/io/ObjectInput;)V
-HPLcom/android/i18n/phonenumbers/prefixmapper/PhonePrefixMapStorageStrategy;->readFromSortedMap(Ljava/util/SortedMap;)V
-HPLcom/android/i18n/phonenumbers/prefixmapper/PhonePrefixMapStorageStrategy;->writeExternal(Ljava/io/ObjectOutput;)V
 HPLcom/android/i18n/phonenumbers/prefixmapper/PrefixFileReader;->close(Ljava/io/InputStream;)V
 HPLcom/android/i18n/phonenumbers/prefixmapper/PrefixFileReader;->getDescriptionForNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HPLcom/android/i18n/phonenumbers/prefixmapper/PrefixFileReader;->getPhonePrefixDescriptions(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/android/i18n/phonenumbers/prefixmapper/PhonePrefixMap;
 HPLcom/android/i18n/phonenumbers/prefixmapper/PrefixFileReader;->loadMappingFileProvider()V
 HPLcom/android/i18n/phonenumbers/prefixmapper/PrefixFileReader;->loadPhonePrefixMapFromFile(Ljava/lang/String;)V
+HPLcom/android/ims/ImsCall$ImsCallSessionListenerProxy;->callQualityChanged(Landroid/telephony/CallQuality;)V
+HPLcom/android/ims/ImsCall$ImsCallSessionListenerProxy;->callSessionHeld(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
 HPLcom/android/ims/ImsCall$ImsCallSessionListenerProxy;->callSessionProgressing(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsStreamMediaProfile;)V
+HPLcom/android/ims/ImsCall$ImsCallSessionListenerProxy;->callSessionResumed(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
 HPLcom/android/ims/ImsCall$ImsCallSessionListenerProxy;->callSessionStarted(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
 HPLcom/android/ims/ImsCall$ImsCallSessionListenerProxy;->callSessionTerminated(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
 HPLcom/android/ims/ImsCall$ImsCallSessionListenerProxy;->callSessionUpdated(Landroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
@@ -8131,12 +8951,15 @@
 HPLcom/android/ims/ImsCall;->accept(ILandroid/telephony/ims/ImsStreamMediaProfile;)V
 HPLcom/android/ims/ImsCall;->attachSession(Landroid/telephony/ims/ImsCallSession;)V
 HPLcom/android/ims/ImsCall;->close()V
+HPLcom/android/ims/ImsCall;->createHoldMediaProfile()Landroid/telephony/ims/ImsStreamMediaProfile;
+HPLcom/android/ims/ImsCall;->createResumeMediaProfile()Landroid/telephony/ims/ImsStreamMediaProfile;
 HPLcom/android/ims/ImsCall;->getCallProfile()Landroid/telephony/ims/ImsCallProfile;
 HPLcom/android/ims/ImsCall;->getCallSession()Landroid/telephony/ims/ImsCallSession;
 HPLcom/android/ims/ImsCall;->getLocalCallProfile()Landroid/telephony/ims/ImsCallProfile;
 HPLcom/android/ims/ImsCall;->getRadioTechnology()I
 HPLcom/android/ims/ImsCall;->getRemoteCallProfile()Landroid/telephony/ims/ImsCallProfile;
 HPLcom/android/ims/ImsCall;->getSession()Landroid/telephony/ims/ImsCallSession;
+HPLcom/android/ims/ImsCall;->hold()V
 HPLcom/android/ims/ImsCall;->isCallSessionMergePending()Z
 HPLcom/android/ims/ImsCall;->isConferenceHost()Z
 HPLcom/android/ims/ImsCall;->isMerged()Z
@@ -8147,6 +8970,8 @@
 HPLcom/android/ims/ImsCall;->isVideoCall()Z
 HPLcom/android/ims/ImsCall;->isWifiCall()Z
 HPLcom/android/ims/ImsCall;->processCallTerminated(Landroid/telephony/ims/ImsReasonInfo;)V
+HPLcom/android/ims/ImsCall;->reject(I)V
+HPLcom/android/ims/ImsCall;->resume()V
 HPLcom/android/ims/ImsCall;->setCallProfile(Landroid/telephony/ims/ImsCallProfile;)V
 HPLcom/android/ims/ImsCall;->setListener(Lcom/android/ims/ImsCall$Listener;Z)V
 HPLcom/android/ims/ImsCall;->start(Landroid/telephony/ims/ImsCallSession;Ljava/lang/String;)V
@@ -8155,99 +8980,41 @@
 HPLcom/android/ims/ImsCall;->terminate(I)V
 HPLcom/android/ims/ImsCall;->toString()Ljava/lang/String;
 HPLcom/android/ims/ImsCall;->updateRequestToString(I)Ljava/lang/String;
+HPLcom/android/ims/ImsCall;->wasVideoCall()Z
 HPLcom/android/ims/ImsConnectionStateListener;->onDeregistered(Landroid/telephony/ims/ImsReasonInfo;)V
-HPLcom/android/ims/ImsConnectionStateListener;->onFeatureCapabilityChangedAdapter(ILandroid/telephony/ims/feature/ImsFeature$Capabilities;)V
 HPLcom/android/ims/ImsConnectionStateListener;->onImsProgressing(I)V
 HPLcom/android/ims/ImsConnectionStateListener;->onRegistering(I)V
-HPLcom/android/ims/ImsManager$2;->onCapabilitiesStatusChanged(Landroid/telephony/ims/feature/ImsFeature$Capabilities;)V
+HPLcom/android/ims/ImsManager;->acknowledgeSms(III)V
 HPLcom/android/ims/ImsManager;->createCallProfile(II)Landroid/telephony/ims/ImsCallProfile;
 HPLcom/android/ims/ImsManager;->createCallSession(Landroid/telephony/ims/ImsCallProfile;)Landroid/telephony/ims/ImsCallSession;
+HPLcom/android/ims/ImsManager;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/ims/ImsManager;->getProvisionedBool(Lcom/android/ims/ImsConfig;I)Z
+HPLcom/android/ims/ImsManager;->getProvisionedBoolNoException(I)Z
+HPLcom/android/ims/ImsManager;->getWfcMode()I
+HPLcom/android/ims/ImsManager;->isNonTtyOrTtyOnVolteEnabled(Landroid/content/Context;)Z
+HPLcom/android/ims/ImsManager;->isVtProvisionedOnDevice()Z
 HPLcom/android/ims/ImsManager;->makeCall(Landroid/telephony/ims/ImsCallProfile;[Ljava/lang/String;Lcom/android/ims/ImsCall$Listener;)Lcom/android/ims/ImsCall;
+HPLcom/android/ims/ImsManager;->sendSms(IILjava/lang/String;Ljava/lang/String;Z[B)V
+HPLcom/android/ims/ImsManager;->setProvisionedBool(Lcom/android/ims/ImsConfig;II)V
+HPLcom/android/ims/ImsManager;->setProvisionedBoolNoException(II)Z
+HPLcom/android/ims/ImsManager;->setVolteProvisioned(Z)V
+HPLcom/android/ims/ImsManager;->setWfcMode(IZ)V
+HPLcom/android/ims/ImsManager;->setWfcProvisioned(Z)V
 HPLcom/android/ims/ImsManager;->shouldProcessCall(Z[Ljava/lang/String;)I
 HPLcom/android/ims/ImsManager;->takeCall(Lcom/android/ims/internal/IImsCallSession;Landroid/os/Bundle;Lcom/android/ims/ImsCall$Listener;)Lcom/android/ims/ImsCall;
+HPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;->removeCallbacksForSubscription(I)V
+HPLcom/android/ims/MmTelFeatureConnection;->acknowledgeSms(III)V
 HPLcom/android/ims/MmTelFeatureConnection;->createCallProfile(II)Landroid/telephony/ims/ImsCallProfile;
 HPLcom/android/ims/MmTelFeatureConnection;->createCallSession(Landroid/telephony/ims/ImsCallProfile;)Lcom/android/ims/internal/IImsCallSession;
+HPLcom/android/ims/MmTelFeatureConnection;->sendSms(IILjava/lang/String;Ljava/lang/String;Z[B)V
 HPLcom/android/ims/MmTelFeatureConnection;->shouldProcessCall(Z[Ljava/lang/String;)I
-HPLcom/android/ims/internal/ICall;->checkIfRemoteUserIsSame(Ljava/lang/String;)Z
-HPLcom/android/ims/internal/ICall;->close()V
-HPLcom/android/ims/internal/ICall;->equalsTo(Lcom/android/ims/internal/ICall;)Z
-HPLcom/android/ims/internal/IImsCallSession;->sendRttMessage(Ljava/lang/String;)V
-HPLcom/android/ims/internal/IImsCallSession;->sendRttModifyRequest(Landroid/telephony/ims/ImsCallProfile;)V
-HPLcom/android/ims/internal/IImsCallSession;->sendRttModifyResponse(Z)V
-HPLcom/android/ims/internal/IImsCallSession;->setListener(Landroid/telephony/ims/aidl/IImsCallSessionListener;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionConferenceExtendFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionConferenceExtendReceived(Lcom/android/ims/internal/IImsCallSession;Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionConferenceExtended(Lcom/android/ims/internal/IImsCallSession;Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionConferenceStateUpdated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsConferenceState;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionHandover(Lcom/android/ims/internal/IImsCallSession;IILandroid/telephony/ims/ImsReasonInfo;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionHandoverFailed(Lcom/android/ims/internal/IImsCallSession;IILandroid/telephony/ims/ImsReasonInfo;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionHeld(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionHoldFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionHoldReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionInviteParticipantsRequestDelivered(Lcom/android/ims/internal/IImsCallSession;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionInviteParticipantsRequestFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionMayHandover(Lcom/android/ims/internal/IImsCallSession;II)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionMergeComplete(Lcom/android/ims/internal/IImsCallSession;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionMergeFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionMergeStarted(Lcom/android/ims/internal/IImsCallSession;Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionMultipartyStateChanged(Lcom/android/ims/internal/IImsCallSession;Z)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionProgressing(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsStreamMediaProfile;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionRemoveParticipantsRequestDelivered(Lcom/android/ims/internal/IImsCallSession;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionRemoveParticipantsRequestFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionResumeFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionResumeReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionResumed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionRttMessageReceived(Ljava/lang/String;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionRttModifyRequestReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionRttModifyResponseReceived(I)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionStartFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionStarted(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionSuppServiceReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsSuppServiceNotification;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionTerminated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionTtyModeReceived(Lcom/android/ims/internal/IImsCallSession;I)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionUpdateFailed(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionUpdateReceived(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionUpdated(Lcom/android/ims/internal/IImsCallSession;Landroid/telephony/ims/ImsCallProfile;)V
-HPLcom/android/ims/internal/IImsCallSessionListener;->callSessionUssdMessageReceived(Lcom/android/ims/internal/IImsCallSession;ILjava/lang/String;)V
-HPLcom/android/ims/internal/IImsServiceFeatureCallback$Stub$Proxy;->imsFeatureCreated(II)V
-HPLcom/android/ims/internal/IImsServiceFeatureCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsServiceFeatureCallback;
-HPLcom/android/ims/internal/IImsVideoCallCallback$Stub;-><init>()V
-HPLcom/android/ims/internal/IImsVideoCallCallback;->changeCallDataUsage(J)V
-HPLcom/android/ims/internal/IImsVideoCallCallback;->changeCameraCapabilities(Landroid/telecom/VideoProfile$CameraCapabilities;)V
-HPLcom/android/ims/internal/IImsVideoCallCallback;->changePeerDimensions(II)V
-HPLcom/android/ims/internal/IImsVideoCallCallback;->changeVideoQuality(I)V
-HPLcom/android/ims/internal/IImsVideoCallCallback;->handleCallSessionEvent(I)V
-HPLcom/android/ims/internal/IImsVideoCallCallback;->receiveSessionModifyRequest(Landroid/telecom/VideoProfile;)V
-HPLcom/android/ims/internal/IImsVideoCallCallback;->receiveSessionModifyResponse(ILandroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-HPLcom/android/ims/internal/IImsVideoCallProvider$Stub;->asBinder()Landroid/os/IBinder;
-HPLcom/android/ims/internal/IImsVideoCallProvider;->requestCallDataUsage()V
-HPLcom/android/ims/internal/IImsVideoCallProvider;->requestCameraCapabilities()V
-HPLcom/android/ims/internal/IImsVideoCallProvider;->sendSessionModifyRequest(Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-HPLcom/android/ims/internal/IImsVideoCallProvider;->sendSessionModifyResponse(Landroid/telecom/VideoProfile;)V
-HPLcom/android/ims/internal/IImsVideoCallProvider;->setCallback(Lcom/android/ims/internal/IImsVideoCallCallback;)V
-HPLcom/android/ims/internal/IImsVideoCallProvider;->setCamera(Ljava/lang/String;I)V
-HPLcom/android/ims/internal/IImsVideoCallProvider;->setDeviceOrientation(I)V
-HPLcom/android/ims/internal/IImsVideoCallProvider;->setDisplaySurface(Landroid/view/Surface;)V
-HPLcom/android/ims/internal/IImsVideoCallProvider;->setPauseImage(Landroid/net/Uri;)V
-HPLcom/android/ims/internal/IImsVideoCallProvider;->setPreviewSurface(Landroid/view/Surface;)V
-HPLcom/android/ims/internal/IImsVideoCallProvider;->setZoom(F)V
-HPLcom/android/ims/internal/ImsVideoCallProviderWrapper$2;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/ims/internal/ImsVideoCallProviderWrapper$ImsVideoCallCallback;->changeCallDataUsage(J)V
-HPLcom/android/ims/internal/ImsVideoCallProviderWrapper$ImsVideoProviderWrapperCallback;->onReceiveSessionModifyResponse(ILandroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-HPLcom/android/ims/internal/ImsVideoCallProviderWrapper;-><init>(Lcom/android/ims/internal/IImsVideoCallProvider;)V
-HPLcom/android/ims/internal/ImsVideoCallProviderWrapper;->addImsVideoProviderCallback(Lcom/android/ims/internal/ImsVideoCallProviderWrapper$ImsVideoProviderWrapperCallback;)V
-HPLcom/android/ims/internal/ImsVideoCallProviderWrapper;->onRequestConnectionDataUsage()V
-HPLcom/android/ims/internal/ImsVideoCallProviderWrapper;->registerForDataUsageUpdate(Landroid/os/Handler;ILjava/lang/Object;)V
-HPLcom/android/ims/internal/ImsVideoCallProviderWrapper;->removeImsVideoProviderCallback(Lcom/android/ims/internal/ImsVideoCallProviderWrapper$ImsVideoProviderWrapperCallback;)V
+HPLcom/android/ims/internal/IImsCallSession$Stub;-><init>()V
 HPLcom/android/ims/internal/uce/UceServiceBase$UceServiceBinder;->createPresenceService(Lcom/android/ims/internal/uce/presence/IPresenceListener;Lcom/android/ims/internal/uce/common/UceLong;)I
+HPLcom/android/ims/internal/uce/UceServiceBase$UceServiceBinder;->destroyPresenceService(I)V
 HPLcom/android/ims/internal/uce/UceServiceBase$UceServiceBinder;->getPresenceService()Lcom/android/ims/internal/uce/presence/IPresenceService;
 HPLcom/android/ims/internal/uce/UceServiceBase$UceServiceBinder;->getServiceStatus()Z
-HPLcom/android/ims/internal/uce/UceServiceBase;-><init>()V
-HPLcom/android/ims/internal/uce/UceServiceBase;->getBinder()Lcom/android/ims/internal/uce/UceServiceBase$UceServiceBinder;
-HPLcom/android/ims/internal/uce/common/CapInfo$1;-><init>()V
 HPLcom/android/ims/internal/uce/common/CapInfo$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/ims/internal/uce/common/CapInfo;
 HPLcom/android/ims/internal/uce/common/CapInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLcom/android/ims/internal/uce/common/CapInfo;-><init>()V
 HPLcom/android/ims/internal/uce/common/CapInfo;-><init>(Landroid/os/Parcel;)V
 HPLcom/android/ims/internal/uce/common/CapInfo;->getCapTimestamp()J
 HPLcom/android/ims/internal/uce/common/CapInfo;->isCdViaPresenceSupported()Z
@@ -8260,8 +9027,6 @@
 HPLcom/android/ims/internal/uce/common/CapInfo;->isGeoPullSupported()Z
 HPLcom/android/ims/internal/uce/common/CapInfo;->isGeoPushSupported()Z
 HPLcom/android/ims/internal/uce/common/CapInfo;->isImSupported()Z
-HPLcom/android/ims/internal/uce/common/CapInfo;->isIpVideoSupported()Z
-HPLcom/android/ims/internal/uce/common/CapInfo;->isIpVoiceSupported()Z
 HPLcom/android/ims/internal/uce/common/CapInfo;->isIsSupported()Z
 HPLcom/android/ims/internal/uce/common/CapInfo;->isRcsIpVideoCallSupported()Z
 HPLcom/android/ims/internal/uce/common/CapInfo;->isRcsIpVideoOnlyCallSupported()Z
@@ -8271,154 +9036,86 @@
 HPLcom/android/ims/internal/uce/common/CapInfo;->isVsDuringCSSupported()Z
 HPLcom/android/ims/internal/uce/common/CapInfo;->isVsSupported()Z
 HPLcom/android/ims/internal/uce/common/CapInfo;->readFromParcel(Landroid/os/Parcel;)V
-HPLcom/android/ims/internal/uce/common/CapInfo;->setCdViaPresenceSupported(Z)V
-HPLcom/android/ims/internal/uce/common/CapInfo;->setFtSupported(Z)V
-HPLcom/android/ims/internal/uce/common/CapInfo;->setFullSnFGroupChatSupported(Z)V
-HPLcom/android/ims/internal/uce/common/CapInfo;->setImSupported(Z)V
-HPLcom/android/ims/internal/uce/common/CapInfo;->setIpVideoSupported(Z)V
-HPLcom/android/ims/internal/uce/common/CapInfo;->setIpVoiceSupported(Z)V
-HPLcom/android/ims/internal/uce/common/CapInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/ims/internal/uce/common/StatusCode$1;-><init>()V
-HPLcom/android/ims/internal/uce/common/StatusCode$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/common/StatusCode$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLcom/android/ims/internal/uce/common/StatusCode;-><init>()V
-HPLcom/android/ims/internal/uce/common/StatusCode;->getStatusCode()I
 HPLcom/android/ims/internal/uce/common/StatusCode;->setStatusCode(I)V
 HPLcom/android/ims/internal/uce/common/StatusCode;->writeToParcel(Landroid/os/Parcel;I)V
 HPLcom/android/ims/internal/uce/common/UceLong$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/ims/internal/uce/common/UceLong;
 HPLcom/android/ims/internal/uce/common/UceLong$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLcom/android/ims/internal/uce/common/UceLong;->getUceLong()J
-HPLcom/android/ims/internal/uce/common/UceLong;->readFromParcel(Landroid/os/Parcel;)V
-HPLcom/android/ims/internal/uce/common/UceLong;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/ims/internal/uce/options/IOptionsService$Stub;-><init>()V
-HPLcom/android/ims/internal/uce/options/IOptionsService;->addListener(ILcom/android/ims/internal/uce/options/IOptionsListener;Lcom/android/ims/internal/uce/common/UceLong;)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/options/IOptionsService;->getContactCap(ILjava/lang/String;I)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/options/IOptionsService;->getContactListCap(I[Ljava/lang/String;I)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/options/IOptionsService;->getMyInfo(II)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/options/IOptionsService;->getVersion(I)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/options/IOptionsService;->removeListener(ILcom/android/ims/internal/uce/common/UceLong;)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/options/IOptionsService;->responseIncomingOptions(IIILjava/lang/String;Lcom/android/ims/internal/uce/options/OptionsCapInfo;Z)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/options/IOptionsService;->setMyInfo(ILcom/android/ims/internal/uce/common/CapInfo;I)Lcom/android/ims/internal/uce/common/StatusCode;
+HPLcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->cmdStatus(Lcom/android/ims/internal/uce/presence/PresCmdStatus;)V
 HPLcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->publishTriggering(Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;)V
 HPLcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->serviceAvailable(Lcom/android/ims/internal/uce/common/StatusCode;)V
 HPLcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->serviceUnAvailable(Lcom/android/ims/internal/uce/common/StatusCode;)V
-HPLcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;->sipResponseReceived(Lcom/android/ims/internal/uce/presence/PresSipResponse;)V
-HPLcom/android/ims/internal/uce/presence/IPresenceListener$Stub;->asBinder()Landroid/os/IBinder;
-HPLcom/android/ims/internal/uce/presence/IPresenceListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/ims/internal/uce/presence/IPresenceService$Stub$Proxy;->publishMyCap(ILcom/android/ims/internal/uce/presence/PresCapInfo;I)Lcom/android/ims/internal/uce/common/StatusCode;
+HPLcom/android/ims/internal/uce/presence/IPresenceService$Stub$Proxy;->removeListener(ILcom/android/ims/internal/uce/common/UceLong;)Lcom/android/ims/internal/uce/common/StatusCode;
 HPLcom/android/ims/internal/uce/presence/IPresenceService$Stub;-><init>()V
 HPLcom/android/ims/internal/uce/presence/IPresenceService$Stub;->asBinder()Landroid/os/IBinder;
 HPLcom/android/ims/internal/uce/presence/IPresenceService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/ims/internal/uce/presence/IPresenceService;->addListener(ILcom/android/ims/internal/uce/presence/IPresenceListener;Lcom/android/ims/internal/uce/common/UceLong;)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/presence/IPresenceService;->getContactCap(ILjava/lang/String;I)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/presence/IPresenceService;->getContactListCap(I[Ljava/lang/String;I)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/presence/IPresenceService;->getVersion(I)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/presence/IPresenceService;->publishMyCap(ILcom/android/ims/internal/uce/presence/PresCapInfo;I)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/presence/IPresenceService;->reenableService(II)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/presence/IPresenceService;->removeListener(ILcom/android/ims/internal/uce/common/UceLong;)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/presence/IPresenceService;->setNewFeatureTag(ILjava/lang/String;Lcom/android/ims/internal/uce/presence/PresServiceInfo;I)Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/presence/PresCapInfo$1;-><init>()V
 HPLcom/android/ims/internal/uce/presence/PresCapInfo$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/ims/internal/uce/presence/PresCapInfo;
 HPLcom/android/ims/internal/uce/presence/PresCapInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLcom/android/ims/internal/uce/presence/PresCapInfo;-><init>()V
 HPLcom/android/ims/internal/uce/presence/PresCapInfo;->getCapInfo()Lcom/android/ims/internal/uce/common/CapInfo;
 HPLcom/android/ims/internal/uce/presence/PresCapInfo;->getContactUri()Ljava/lang/String;
-HPLcom/android/ims/internal/uce/presence/PresCapInfo;->setCapInfo(Lcom/android/ims/internal/uce/common/CapInfo;)V
-HPLcom/android/ims/internal/uce/presence/PresCapInfo;->setContactUri(Ljava/lang/String;)V
-HPLcom/android/ims/internal/uce/presence/PresCapInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/ims/internal/uce/presence/PresCmdId$1;-><init>()V
-HPLcom/android/ims/internal/uce/presence/PresCmdId$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/ims/internal/uce/presence/PresCmdId;
-HPLcom/android/ims/internal/uce/presence/PresCmdId$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLcom/android/ims/internal/uce/presence/PresCmdId;-><init>()V
-HPLcom/android/ims/internal/uce/presence/PresCmdId;->getCmdId()I
 HPLcom/android/ims/internal/uce/presence/PresCmdId;->setCmdId(I)V
 HPLcom/android/ims/internal/uce/presence/PresCmdId;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/ims/internal/uce/presence/PresCmdStatus$1;-><init>()V
-HPLcom/android/ims/internal/uce/presence/PresCmdStatus$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/ims/internal/uce/presence/PresCmdStatus;
-HPLcom/android/ims/internal/uce/presence/PresCmdStatus$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLcom/android/ims/internal/uce/presence/PresCmdStatus;-><init>()V
-HPLcom/android/ims/internal/uce/presence/PresCmdStatus;->getCmdId()Lcom/android/ims/internal/uce/presence/PresCmdId;
-HPLcom/android/ims/internal/uce/presence/PresCmdStatus;->getRequestId()I
-HPLcom/android/ims/internal/uce/presence/PresCmdStatus;->getStatus()Lcom/android/ims/internal/uce/common/StatusCode;
-HPLcom/android/ims/internal/uce/presence/PresCmdStatus;->getUserData()I
-HPLcom/android/ims/internal/uce/presence/PresCmdStatus;->readFromParcel(Landroid/os/Parcel;)V
 HPLcom/android/ims/internal/uce/presence/PresCmdStatus;->setCmdId(Lcom/android/ims/internal/uce/presence/PresCmdId;)V
 HPLcom/android/ims/internal/uce/presence/PresCmdStatus;->setRequestId(I)V
 HPLcom/android/ims/internal/uce/presence/PresCmdStatus;->setStatus(Lcom/android/ims/internal/uce/common/StatusCode;)V
 HPLcom/android/ims/internal/uce/presence/PresCmdStatus;->setUserData(I)V
 HPLcom/android/ims/internal/uce/presence/PresCmdStatus;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/ims/internal/uce/presence/PresPublishTriggerType$1;-><init>()V
-HPLcom/android/ims/internal/uce/presence/PresPublishTriggerType$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;
-HPLcom/android/ims/internal/uce/presence/PresPublishTriggerType$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLcom/android/ims/internal/uce/presence/PresPublishTriggerType;-><init>()V
-HPLcom/android/ims/internal/uce/presence/PresPublishTriggerType;->getPublishTrigeerType()I
 HPLcom/android/ims/internal/uce/presence/PresPublishTriggerType;->setPublishTrigeerType(I)V
 HPLcom/android/ims/internal/uce/presence/PresPublishTriggerType;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/ims/internal/uce/presence/PresSipResponse$1;-><init>()V
-HPLcom/android/ims/internal/uce/presence/PresSipResponse$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/ims/internal/uce/presence/PresSipResponse;
-HPLcom/android/ims/internal/uce/presence/PresSipResponse$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLcom/android/ims/internal/uce/presence/PresSipResponse;-><init>()V
-HPLcom/android/ims/internal/uce/presence/PresSipResponse;->getCmdId()Lcom/android/ims/internal/uce/presence/PresCmdId;
-HPLcom/android/ims/internal/uce/presence/PresSipResponse;->getReasonPhrase()Ljava/lang/String;
-HPLcom/android/ims/internal/uce/presence/PresSipResponse;->getRequestId()I
-HPLcom/android/ims/internal/uce/presence/PresSipResponse;->getSipResponseCode()I
-HPLcom/android/ims/internal/uce/presence/PresSipResponse;->readFromParcel(Landroid/os/Parcel;)V
-HPLcom/android/ims/internal/uce/presence/PresSipResponse;->setCmdId(Lcom/android/ims/internal/uce/presence/PresCmdId;)V
-HPLcom/android/ims/internal/uce/presence/PresSipResponse;->setReasonPhrase(Ljava/lang/String;)V
-HPLcom/android/ims/internal/uce/presence/PresSipResponse;->setRequestId(I)V
-HPLcom/android/ims/internal/uce/presence/PresSipResponse;->setRetryAfter(I)V
-HPLcom/android/ims/internal/uce/presence/PresSipResponse;->setSipResponseCode(I)V
-HPLcom/android/ims/internal/uce/presence/PresSipResponse;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->createPresenceService(Lcom/android/ims/internal/uce/presence/IPresenceListener;Lcom/android/ims/internal/uce/common/UceLong;)I
-HPLcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->getPresenceService()Lcom/android/ims/internal/uce/presence/IPresenceService;
-HPLcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->getServiceStatus()Z
+HPLcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->destroyPresenceService(I)V
 HPLcom/android/ims/internal/uce/uceservice/IUceService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/ims/internal/uce/uceservice/IUceService;->createOptionsService(Lcom/android/ims/internal/uce/options/IOptionsListener;Lcom/android/ims/internal/uce/common/UceLong;)I
-HPLcom/android/ims/internal/uce/uceservice/IUceService;->createPresenceService(Lcom/android/ims/internal/uce/presence/IPresenceListener;Lcom/android/ims/internal/uce/common/UceLong;)I
-HPLcom/android/ims/internal/uce/uceservice/IUceService;->destroyOptionsService(I)V
-HPLcom/android/ims/internal/uce/uceservice/IUceService;->destroyPresenceService(I)V
-HPLcom/android/ims/internal/uce/uceservice/IUceService;->getOptionsService()Lcom/android/ims/internal/uce/options/IOptionsService;
-HPLcom/android/ims/internal/uce/uceservice/IUceService;->getPresenceService()Lcom/android/ims/internal/uce/presence/IPresenceService;
-HPLcom/android/ims/internal/uce/uceservice/IUceService;->getServiceStatus()Z
-HPLcom/android/ims/internal/uce/uceservice/IUceService;->isServiceStarted()Z
-HPLcom/android/ims/internal/uce/uceservice/IUceService;->startService(Lcom/android/ims/internal/uce/uceservice/IUceListener;)Z
-HPLcom/android/ims/internal/uce/uceservice/IUceService;->stopService()Z
 HPLcom/android/internal/accessibility/AccessibilityShortcutController;->isAccessibilityShortcutAvailable(Z)Z
+HPLcom/android/internal/alsa/AlsaCardsParser$AlsaCardRecord;->getCardDescription()Ljava/lang/String;
+HPLcom/android/internal/alsa/AlsaCardsParser$AlsaCardRecord;->getCardName()Ljava/lang/String;
+HPLcom/android/internal/alsa/AlsaCardsParser$AlsaCardRecord;->getCardNum()I
+HPLcom/android/internal/alsa/AlsaCardsParser$AlsaCardRecord;->isUsb()Z
+HPLcom/android/internal/alsa/AlsaCardsParser$AlsaCardRecord;->parse(Ljava/lang/String;I)Z
+HPLcom/android/internal/alsa/AlsaCardsParser;->findCardNumFor(Ljava/lang/String;)Lcom/android/internal/alsa/AlsaCardsParser$AlsaCardRecord;
+HPLcom/android/internal/alsa/AlsaCardsParser;->scan()I
+HPLcom/android/internal/alsa/LineTokenizer;->nextDelimiter(Ljava/lang/String;I)I
+HPLcom/android/internal/alsa/LineTokenizer;->nextToken(Ljava/lang/String;I)I
 HPLcom/android/internal/app/AlertController$1;->onClick(Landroid/view/View;)V
-HPLcom/android/internal/app/AlertController$AlertParams$1;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
-HPLcom/android/internal/app/AlertController$AlertParams$4;->onItemClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)V
+HPLcom/android/internal/app/AlertController$AlertParams;-><init>(Landroid/content/Context;)V
+HPLcom/android/internal/app/AlertController$AlertParams;->apply(Lcom/android/internal/app/AlertController;)V
 HPLcom/android/internal/app/AlertController$ButtonHandler;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/internal/app/AlertController;->onKeyDown(ILandroid/view/KeyEvent;)Z
-HPLcom/android/internal/app/AlertController;->onKeyUp(ILandroid/view/KeyEvent;)Z
+HPLcom/android/internal/app/AlertController;-><init>(Landroid/content/Context;Landroid/content/DialogInterface;Landroid/view/Window;)V
+HPLcom/android/internal/app/AlertController;->canTextInput(Landroid/view/View;)Z
+HPLcom/android/internal/app/AlertController;->create(Landroid/content/Context;Landroid/content/DialogInterface;Landroid/view/Window;)Lcom/android/internal/app/AlertController;
+HPLcom/android/internal/app/AlertController;->getButton(I)Landroid/widget/Button;
+HPLcom/android/internal/app/AlertController;->installContent()V
+HPLcom/android/internal/app/AlertController;->resolvePanel(Landroid/view/View;Landroid/view/View;)Landroid/view/ViewGroup;
+HPLcom/android/internal/app/AlertController;->setBackground(Landroid/content/res/TypedArray;Landroid/view/View;Landroid/view/View;Landroid/view/View;Landroid/view/View;ZZZ)V
 HPLcom/android/internal/app/AlertController;->setButton(ILjava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;Landroid/os/Message;)V
-HPLcom/android/internal/app/AlertController;->setInverseBackgroundForced(Z)V
-HPLcom/android/internal/app/AlertController;->setMessage(Ljava/lang/CharSequence;)V
-HPLcom/android/internal/app/AssistUtils;->allowDisablingAssistDisclosure(Landroid/content/Context;)Z
+HPLcom/android/internal/app/AlertController;->setView(Landroid/view/View;)V
+HPLcom/android/internal/app/AlertController;->setupButtons(Landroid/view/ViewGroup;)V
+HPLcom/android/internal/app/AlertController;->setupContent(Landroid/view/ViewGroup;)V
+HPLcom/android/internal/app/AlertController;->setupCustomContent(Landroid/view/ViewGroup;)V
+HPLcom/android/internal/app/AlertController;->setupTitle(Landroid/view/ViewGroup;)V
+HPLcom/android/internal/app/AlertController;->setupView()V
 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
+HPLcom/android/internal/app/ColorDisplayController;-><init>(Landroid/content/Context;I)V
+HPLcom/android/internal/app/ColorDisplayController;->getColorMode()I
 HPLcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;->opActiveChanged(IILjava/lang/String;Z)V
-HPLcom/android/internal/app/IAppOpsCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IAppOpsCallback;
-HPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;)V
-HPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->getToken(Landroid/os/IBinder;)Landroid/os/IBinder;
-HPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->setUidMode(III)V
-HPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Z)I
+HPLcom/android/internal/app/IAppOpsCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLcom/android/internal/app/IAppOpsNotedCallback$Stub$Proxy;->opNoted(IILjava/lang/String;I)V
+HPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->getPackagesForOps([I)Ljava/util/List;
+HPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->setUserRestriction(IZLandroid/os/IBinder;I[Ljava/lang/String;)V
+HPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->stopWatchingMode(Lcom/android/internal/app/IAppOpsCallback;)V
+HPLcom/android/internal/app/IAppOpsService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->computeChargeTimeRemaining()J
 HPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->getCellularBatteryStats()Landroid/os/connectivity/CellularBatteryStats;
-HPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->getStatistics()[B
 HPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteBleScanResults(Landroid/os/WorkSource;I)V
 HPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteBleScanStarted(Landroid/os/WorkSource;Z)V
 HPLcom/android/internal/app/IBatteryStats$Stub$Proxy;->noteBleScanStopped(Landroid/os/WorkSource;Z)V
-HPLcom/android/internal/app/IMediaContainerService$Stub$Proxy;->getMinimalPackageInfo(Ljava/lang/String;ILjava/lang/String;)Landroid/content/pm/PackageInfoLite;
-HPLcom/android/internal/app/IMediaContainerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IMediaContainerService;
-HPLcom/android/internal/app/IMediaContainerService;->calculateInstalledSize(Ljava/lang/String;Ljava/lang/String;)J
-HPLcom/android/internal/app/IMediaContainerService;->clearDirectory(Ljava/lang/String;)V
-HPLcom/android/internal/app/IMediaContainerService;->copyPackage(Ljava/lang/String;Lcom/android/internal/os/IParcelFileDescriptorFactory;)I
-HPLcom/android/internal/app/IMediaContainerService;->getMinimalPackageInfo(Ljava/lang/String;ILjava/lang/String;)Landroid/content/pm/PackageInfoLite;
-HPLcom/android/internal/app/IMediaContainerService;->getObbInfo(Ljava/lang/String;)Landroid/content/res/ObbInfo;
-HPLcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->deleteSoundModel(Landroid/os/ParcelUuid;)V
+HPLcom/android/internal/app/IBatteryStats$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->isRecognitionActive(Landroid/os/ParcelUuid;)Z
-HPLcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->loadGenericSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;)I
-HPLcom/android/internal/app/ISoundTriggerService$Stub$Proxy;->startRecognitionForService(Landroid/os/ParcelUuid;Landroid/os/Bundle;Landroid/content/ComponentName;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
+HPLcom/android/internal/app/ISoundTriggerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/ISoundTriggerService;
 HPLcom/android/internal/app/ISoundTriggerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->closeSystemDialogs(Landroid/os/IBinder;)V
 HPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->deliverNewSession(Landroid/os/IBinder;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)Z
@@ -8426,27 +9123,30 @@
 HPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->hideSessionFromSession(Landroid/os/IBinder;)Z
 HPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->setDisabledShowContext(I)V
 HPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->showSession(Landroid/service/voice/IVoiceInteractionService;Landroid/os/Bundle;I)V
+HPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->startAssistantActivity(Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;)I
 HPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->stopRecognition(Landroid/service/voice/IVoiceInteractionService;ILandroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
+HPLcom/android/internal/app/IVoiceInteractionManagerService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;->onVoiceSessionHidden()V
 HPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;->onVoiceSessionShown()V
 HPLcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub$Proxy;->onShown()V
 HPLcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;-><init>()V
 HPLcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractionSessionShowCallback;
 HPLcom/android/internal/app/IVoiceInteractionSessionShowCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLcom/android/internal/app/IVoiceInteractor$Stub;-><init>()V
 HPLcom/android/internal/app/IVoiceInteractor$Stub;->asBinder()Landroid/os/IBinder;
-HPLcom/android/internal/app/IVoiceInteractor;->startAbortVoice(Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)Lcom/android/internal/app/IVoiceInteractorRequest;
-HPLcom/android/internal/app/IVoiceInteractor;->startCommand(Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;Ljava/lang/String;Landroid/os/Bundle;)Lcom/android/internal/app/IVoiceInteractorRequest;
-HPLcom/android/internal/app/IVoiceInteractor;->startCompleteVoice(Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)Lcom/android/internal/app/IVoiceInteractorRequest;
-HPLcom/android/internal/app/IVoiceInteractor;->startConfirmation(Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;Landroid/app/VoiceInteractor$Prompt;Landroid/os/Bundle;)Lcom/android/internal/app/IVoiceInteractorRequest;
-HPLcom/android/internal/app/IVoiceInteractor;->startPickOption(Ljava/lang/String;Lcom/android/internal/app/IVoiceInteractorCallback;Landroid/app/VoiceInteractor$Prompt;[Landroid/app/VoiceInteractor$PickOptionRequest$Option;Landroid/os/Bundle;)Lcom/android/internal/app/IVoiceInteractorRequest;
-HPLcom/android/internal/app/IVoiceInteractor;->supportsCommands(Ljava/lang/String;[Ljava/lang/String;)[Z
-HPLcom/android/internal/app/LocalePickerWithRegion$LocaleSelectedListener;->onLocaleSelected(Lcom/android/internal/app/LocaleStore$LocaleInfo;)V
 HPLcom/android/internal/app/ProcessMap;->size()I
 HPLcom/android/internal/app/ResolverActivity$ActionTitle;-><init>(Ljava/lang/String;ILjava/lang/String;III)V
 HPLcom/android/internal/app/ResolverActivity;->getLabelRes(Ljava/lang/String;)I
+HPLcom/android/internal/app/ToolbarActionBar$ActionMenuPresenterCallback;->onCloseMenu(Lcom/android/internal/view/menu/MenuBuilder;Z)V
+HPLcom/android/internal/app/ToolbarActionBar;->collapseActionView()Z
+HPLcom/android/internal/app/ToolbarActionBar;->dispatchMenuVisibilityChanged(Z)V
+HPLcom/android/internal/app/ToolbarActionBar;->getDisplayOptions()I
+HPLcom/android/internal/app/ToolbarActionBar;->onDestroy()V
 HPLcom/android/internal/app/WindowDecorActionBar$1;->onAnimationEnd(Landroid/animation/Animator;)V
 HPLcom/android/internal/app/WindowDecorActionBar;-><init>(Landroid/app/Activity;)V
+HPLcom/android/internal/app/WindowDecorActionBar;->collapseActionView()Z
 HPLcom/android/internal/app/WindowDecorActionBar;->completeDeferredDestroyActionMode()V
 HPLcom/android/internal/app/WindowDecorActionBar;->doHide(Z)V
 HPLcom/android/internal/app/WindowDecorActionBar;->enableContentAnimations(Z)V
@@ -8466,37 +9166,65 @@
 HPLcom/android/internal/app/WindowDecorActionBar;->setWindowTitle(Ljava/lang/CharSequence;)V
 HPLcom/android/internal/app/WindowDecorActionBar;->showForSystem()V
 HPLcom/android/internal/app/WindowDecorActionBar;->updateVisibility(Z)V
+HPLcom/android/internal/app/procstats/AssociationState$SourceState;->toString()Ljava/lang/String;
+HPLcom/android/internal/app/procstats/AssociationState;-><init>(Lcom/android/internal/app/procstats/ProcessStats;Lcom/android/internal/app/procstats/ProcessStats$PackageState;Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/app/procstats/ProcessState;)V
+HPLcom/android/internal/app/procstats/AssociationState;->add(Lcom/android/internal/app/procstats/AssociationState;)V
+HPLcom/android/internal/app/procstats/AssociationState;->commitStateTime(J)V
+HPLcom/android/internal/app/procstats/AssociationState;->dumpTimesCheckin(Ljava/io/PrintWriter;Ljava/lang/String;IJLjava/lang/String;J)V
+HPLcom/android/internal/app/procstats/AssociationState;->readFromParcel(Lcom/android/internal/app/procstats/ProcessStats;Landroid/os/Parcel;I)Ljava/lang/String;
+HPLcom/android/internal/app/procstats/AssociationState;->resetSafely(J)V
+HPLcom/android/internal/app/procstats/AssociationState;->writeToParcel(Lcom/android/internal/app/procstats/ProcessStats;Landroid/os/Parcel;J)V
 HPLcom/android/internal/app/procstats/DumpUtils;->collapseString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HPLcom/android/internal/app/procstats/DumpUtils;->dumpAdjTimesCheckin(Ljava/io/PrintWriter;Ljava/lang/String;[JIJJ)V
+HPLcom/android/internal/app/procstats/DumpUtils;->dumpSingleTime(Ljava/io/PrintWriter;Ljava/lang/String;[JIJJ)J
 HPLcom/android/internal/app/procstats/DumpUtils;->printAdjTagAndValue(Ljava/io/PrintWriter;IJ)V
 HPLcom/android/internal/app/procstats/DumpUtils;->printProcStateTag(Ljava/io/PrintWriter;I)V
+HPLcom/android/internal/app/procstats/IProcessStats$Stub$Proxy;->getStatsOverTime(J)Landroid/os/ParcelFileDescriptor;
+HPLcom/android/internal/app/procstats/IProcessStats$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLcom/android/internal/app/procstats/IProcessStats$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLcom/android/internal/app/procstats/ProcessState$PssAggr;-><init>()V
 HPLcom/android/internal/app/procstats/ProcessState$PssAggr;->add(JJ)V
 HPLcom/android/internal/app/procstats/ProcessState;->add(Lcom/android/internal/app/procstats/ProcessState;)V
+HPLcom/android/internal/app/procstats/ProcessState;->addCachedKill(IJJJ)V
 HPLcom/android/internal/app/procstats/ProcessState;->aggregatePss(Lcom/android/internal/app/procstats/ProcessStats$TotalMemoryUseCollection;J)V
-HPLcom/android/internal/app/procstats/ProcessState;->commitStateTime(J)V
+HPLcom/android/internal/app/procstats/ProcessState;->computeProcessData(Lcom/android/internal/app/procstats/ProcessStats$ProcessDataCollection;J)V
 HPLcom/android/internal/app/procstats/ProcessState;->decActiveServices(Ljava/lang/String;)V
 HPLcom/android/internal/app/procstats/ProcessState;->decStartedServices(IJLjava/lang/String;)V
 HPLcom/android/internal/app/procstats/ProcessState;->dumpAllPssCheckin(Ljava/io/PrintWriter;)V
 HPLcom/android/internal/app/procstats/ProcessState;->dumpAllStateCheckin(Ljava/io/PrintWriter;J)V
 HPLcom/android/internal/app/procstats/ProcessState;->dumpPackageProcCheckin(Ljava/io/PrintWriter;Ljava/lang/String;IJLjava/lang/String;J)V
 HPLcom/android/internal/app/procstats/ProcessState;->dumpProcCheckin(Ljava/io/PrintWriter;Ljava/lang/String;IJ)V
+HPLcom/android/internal/app/procstats/ProcessState;->dumpPssSamplesCheckin(Ljava/io/PrintWriter;[JI)V
+HPLcom/android/internal/app/procstats/ProcessState;->getDuration(IJ)J
+HPLcom/android/internal/app/procstats/ProcessState;->getName()Ljava/lang/String;
+HPLcom/android/internal/app/procstats/ProcessState;->getPackage()Ljava/lang/String;
 HPLcom/android/internal/app/procstats/ProcessState;->getPssAverage(I)J
+HPLcom/android/internal/app/procstats/ProcessState;->getPssMaximum(I)J
+HPLcom/android/internal/app/procstats/ProcessState;->getPssMinimum(I)J
+HPLcom/android/internal/app/procstats/ProcessState;->getPssRssAverage(I)J
+HPLcom/android/internal/app/procstats/ProcessState;->getPssRssMaximum(I)J
+HPLcom/android/internal/app/procstats/ProcessState;->getPssRssMinimum(I)J
 HPLcom/android/internal/app/procstats/ProcessState;->getPssSampleCount(I)J
+HPLcom/android/internal/app/procstats/ProcessState;->getPssUssAverage(I)J
+HPLcom/android/internal/app/procstats/ProcessState;->getPssUssMaximum(I)J
+HPLcom/android/internal/app/procstats/ProcessState;->getPssUssMinimum(I)J
+HPLcom/android/internal/app/procstats/ProcessState;->getUid()I
 HPLcom/android/internal/app/procstats/ProcessState;->readFromParcel(Landroid/os/Parcel;Z)Z
+HPLcom/android/internal/app/procstats/ProcessState;->reportCachedKill(Landroid/util/ArrayMap;J)V
 HPLcom/android/internal/app/procstats/ProcessState;->reportExcessiveCpu(Landroid/util/ArrayMap;)V
+HPLcom/android/internal/app/procstats/ProcessState;->toString()Ljava/lang/String;
 HPLcom/android/internal/app/procstats/ProcessState;->writeToParcel(Landroid/os/Parcel;J)V
 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;
-HPLcom/android/internal/app/procstats/ProcessStats$PackageState;-><init>(Ljava/lang/String;I)V
+HPLcom/android/internal/app/procstats/ProcessStats$ProcessDataCollection;-><init>([I[I[I)V
 HPLcom/android/internal/app/procstats/ProcessStats$TotalMemoryUseCollection;-><init>([I[I)V
 HPLcom/android/internal/app/procstats/ProcessStats;-><init>(Landroid/os/Parcel;)V
 HPLcom/android/internal/app/procstats/ProcessStats;->add(Lcom/android/internal/app/procstats/ProcessStats;)V
 HPLcom/android/internal/app/procstats/ProcessStats;->addSysMemUsage(JJJJJ)V
 HPLcom/android/internal/app/procstats/ProcessStats;->buildTimePeriodStartClockStr()V
 HPLcom/android/internal/app/procstats/ProcessStats;->computeTotalMemoryUse(Lcom/android/internal/app/procstats/ProcessStats$TotalMemoryUseCollection;J)V
-HPLcom/android/internal/app/procstats/ProcessStats;->dumpCheckinLocked(Ljava/io/PrintWriter;Ljava/lang/String;)V
+HPLcom/android/internal/app/procstats/ProcessStats;->dumpCheckinLocked(Ljava/io/PrintWriter;Ljava/lang/String;I)V
+HPLcom/android/internal/app/procstats/ProcessStats;->getAssociationStateLocked(Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;)Lcom/android/internal/app/procstats/AssociationState;
 HPLcom/android/internal/app/procstats/ProcessStats;->read(Ljava/io/InputStream;)V
 HPLcom/android/internal/app/procstats/ProcessStats;->readCheckedInt(Landroid/os/Parcel;ILjava/lang/String;)Z
 HPLcom/android/internal/app/procstats/ProcessStats;->readCommonString(Landroid/os/Parcel;I)Ljava/lang/String;
@@ -8509,19 +9237,26 @@
 HPLcom/android/internal/app/procstats/ProcessStats;->writeToParcel(Landroid/os/Parcel;I)V
 HPLcom/android/internal/app/procstats/ProcessStats;->writeToParcel(Landroid/os/Parcel;JI)V
 HPLcom/android/internal/app/procstats/PssTable;->mergeStats(Lcom/android/internal/app/procstats/PssTable;)V
+HPLcom/android/internal/app/procstats/PssTable;->mergeStats([JI[JI)V
 HPLcom/android/internal/app/procstats/ServiceState;-><init>(Lcom/android/internal/app/procstats/ProcessStats;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/app/procstats/ProcessState;)V
 HPLcom/android/internal/app/procstats/ServiceState;->add(Lcom/android/internal/app/procstats/ServiceState;)V
 HPLcom/android/internal/app/procstats/ServiceState;->clearCurrentOwner(Ljava/lang/Object;Z)V
 HPLcom/android/internal/app/procstats/ServiceState;->commitStateTime(J)V
+HPLcom/android/internal/app/procstats/ServiceState;->dumpTime(Ljava/io/PrintWriter;Ljava/lang/String;IIJJ)J
 HPLcom/android/internal/app/procstats/ServiceState;->dumpTimeCheckin(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;IJLjava/lang/String;IIIJJ)V
+HPLcom/android/internal/app/procstats/ServiceState;->dumpTimeInternal(Ljava/io/PrintWriter;Ljava/lang/String;IIJJZ)J
 HPLcom/android/internal/app/procstats/ServiceState;->dumpTimesCheckin(Ljava/io/PrintWriter;Ljava/lang/String;IJLjava/lang/String;J)V
+HPLcom/android/internal/app/procstats/ServiceState;->getName()Ljava/lang/String;
+HPLcom/android/internal/app/procstats/ServiceState;->getPackage()Ljava/lang/String;
+HPLcom/android/internal/app/procstats/ServiceState;->getProcessName()Ljava/lang/String;
 HPLcom/android/internal/app/procstats/ServiceState;->readFromParcel(Landroid/os/Parcel;)Z
 HPLcom/android/internal/app/procstats/ServiceState;->resetSafely(J)V
+HPLcom/android/internal/app/procstats/ServiceState;->setForeground(ZIJ)V
 HPLcom/android/internal/app/procstats/ServiceState;->setRestarting(ZIJ)V
-HPLcom/android/internal/app/procstats/ServiceState;->writeToParcel(Landroid/os/Parcel;J)V
-HPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getArrayForKey(I)[J
+HPLcom/android/internal/app/procstats/SparseMappingTable$Table;->dumpInternalState()Ljava/lang/String;
 HPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getKey(B)I
 HPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getKeyAt(I)I
+HPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getValueForId(B)J
 HPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getValueForId(BI)J
 HPLcom/android/internal/app/procstats/SparseMappingTable$Table;->readFromParcel(Landroid/os/Parcel;)Z
 HPLcom/android/internal/app/procstats/SparseMappingTable$Table;->validateKeys(Z)Z
@@ -8535,8 +9270,11 @@
 HPLcom/android/internal/app/procstats/SysMemUsageTable;->mergeStats(Lcom/android/internal/app/procstats/SysMemUsageTable;)V
 HPLcom/android/internal/app/procstats/SysMemUsageTable;->mergeSysMemUsage([JI[JI)V
 HPLcom/android/internal/appwidget/IAppWidgetHost$Stub$Proxy;->providersChanged()V
-HPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->stopListening(Ljava/lang/String;I)V
+HPLcom/android/internal/appwidget/IAppWidgetHost$Stub$Proxy;->updateAppWidget(ILandroid/widget/RemoteViews;)V
+HPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->getAppWidgetOptions(Ljava/lang/String;I)Landroid/os/Bundle;
+HPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->partiallyUpdateAppWidgetIds(Ljava/lang/String;[ILandroid/widget/RemoteViews;)V
 HPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->updateAppWidgetIds(Ljava/lang/String;[ILandroid/widget/RemoteViews;)V
+HPLcom/android/internal/appwidget/IAppWidgetService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLcom/android/internal/appwidget/IAppWidgetService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->cancelFullBackup()V
 HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->checkFullBackupSize(J)I
@@ -8546,7 +9284,9 @@
 HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->dataManagementLabel()Ljava/lang/String;
 HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->finishBackup()I
 HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->getBackupQuota(Ljava/lang/String;Z)J
+HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->getCurrentRestoreSet()J
 HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->getTransportFlags()I
+HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->initializeDevice()I
 HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->isAppEligibleForBackup(Landroid/content/pm/PackageInfo;Z)Z
 HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->name()Ljava/lang/String;
 HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->performBackup(Landroid/content/pm/PackageInfo;Landroid/os/ParcelFileDescriptor;I)I
@@ -8556,91 +9296,95 @@
 HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->sendBackupData(I)I
 HPLcom/android/internal/backup/IBackupTransport$Stub$Proxy;->transportDirName()Ljava/lang/String;
 HPLcom/android/internal/backup/IBackupTransport$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/backup/IBackupTransport;
-HPLcom/android/internal/backup/LocalTransport;-><init>(Landroid/content/Context;Lcom/android/internal/backup/LocalTransportParameters;)V
-HPLcom/android/internal/backup/LocalTransport;->configurationIntent()Landroid/content/Intent;
-HPLcom/android/internal/backup/LocalTransport;->currentDestinationString()Ljava/lang/String;
-HPLcom/android/internal/backup/LocalTransport;->dataManagementIntent()Landroid/content/Intent;
-HPLcom/android/internal/backup/LocalTransport;->dataManagementLabel()Ljava/lang/String;
-HPLcom/android/internal/backup/LocalTransport;->getParameters()Lcom/android/internal/backup/LocalTransportParameters;
-HPLcom/android/internal/backup/LocalTransport;->name()Ljava/lang/String;
-HPLcom/android/internal/backup/LocalTransport;->transportDirName()Ljava/lang/String;
-HPLcom/android/internal/backup/LocalTransportParameters;->getSettingValue(Landroid/content/ContentResolver;)Ljava/lang/String;
-HPLcom/android/internal/backup/LocalTransportParameters;->update(Landroid/util/KeyValueListParser;)V
-HPLcom/android/internal/backup/LocalTransportService;-><init>()V
-HPLcom/android/internal/backup/LocalTransportService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HPLcom/android/internal/backup/LocalTransportService;->onCreate()V
-HPLcom/android/internal/backup/LocalTransportService;->onDestroy()V
+HPLcom/android/internal/content/FileSystemProvider;->openDocumentThumbnail(Ljava/lang/String;Landroid/graphics/Point;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
+HPLcom/android/internal/content/FileSystemProvider;->typeSupportsMetadata(Ljava/lang/String;)Z
 HPLcom/android/internal/content/NativeLibraryHelper$Handle;->create(Ljava/io/File;)Lcom/android/internal/content/NativeLibraryHelper$Handle;
 HPLcom/android/internal/content/NativeLibraryHelper;->copyNativeBinariesWithOverride(Lcom/android/internal/content/NativeLibraryHelper$Handle;Ljava/io/File;Ljava/lang/String;)I
 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
 HPLcom/android/internal/content/PackageHelper$1;->getAllow3rdPartyOnInternalConfig(Landroid/content/Context;)Z
 HPLcom/android/internal/content/PackageHelper$1;->getExistingAppInfo(Landroid/content/Context;Ljava/lang/String;)Landroid/content/pm/ApplicationInfo;
 HPLcom/android/internal/content/PackageHelper$1;->getForceAllowOnExternalSetting(Landroid/content/Context;)Z
 HPLcom/android/internal/content/PackageHelper$1;->getStorageManager(Landroid/content/Context;)Landroid/os/storage/StorageManager;
-HPLcom/android/internal/content/PackageHelper$TestableInterface;->getAllow3rdPartyOnInternalConfig(Landroid/content/Context;)Z
-HPLcom/android/internal/content/PackageHelper$TestableInterface;->getDataDirectory()Ljava/io/File;
-HPLcom/android/internal/content/PackageHelper$TestableInterface;->getExistingAppInfo(Landroid/content/Context;Ljava/lang/String;)Landroid/content/pm/ApplicationInfo;
-HPLcom/android/internal/content/PackageHelper$TestableInterface;->getForceAllowOnExternalSetting(Landroid/content/Context;)Z
-HPLcom/android/internal/content/PackageHelper$TestableInterface;->getStorageManager(Landroid/content/Context;)Landroid/os/storage/StorageManager;
+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;
+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;
 HPLcom/android/internal/content/PackageMonitor;->anyPackagesAppearing()Z
 HPLcom/android/internal/content/PackageMonitor;->didSomePackagesChange()Z
-HPLcom/android/internal/content/PackageMonitor;->getChangingUserId()I
-HPLcom/android/internal/content/PackageMonitor;->getPackageName(Landroid/content/Intent;)Ljava/lang/String;
 HPLcom/android/internal/content/PackageMonitor;->isComponentModified(Ljava/lang/String;)Z
 HPLcom/android/internal/content/PackageMonitor;->isPackageAppearing(Ljava/lang/String;)I
 HPLcom/android/internal/content/PackageMonitor;->isPackageDisappearing(Ljava/lang/String;)I
 HPLcom/android/internal/content/PackageMonitor;->isPackageModified(Ljava/lang/String;)Z
-HPLcom/android/internal/content/PackageMonitor;->onBeginPackageChanges()V
-HPLcom/android/internal/content/PackageMonitor;->onFinishPackageChanges()V
-HPLcom/android/internal/content/PackageMonitor;->onPackageAdded(Ljava/lang/String;I)V
-HPLcom/android/internal/content/PackageMonitor;->onPackageAppeared(Ljava/lang/String;I)V
-HPLcom/android/internal/content/PackageMonitor;->onPackageChanged(Ljava/lang/String;I[Ljava/lang/String;)Z
-HPLcom/android/internal/content/PackageMonitor;->onPackageDisappeared(Ljava/lang/String;I)V
+HPLcom/android/internal/content/PackageMonitor;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
+HPLcom/android/internal/content/PackageMonitor;->onHandleUserStop(Landroid/content/Intent;I)V
+HPLcom/android/internal/content/PackageMonitor;->onPackageDataCleared(Ljava/lang/String;I)V
 HPLcom/android/internal/content/PackageMonitor;->onPackageModified(Ljava/lang/String;)V
-HPLcom/android/internal/content/PackageMonitor;->onPackageRemoved(Ljava/lang/String;I)V
-HPLcom/android/internal/content/PackageMonitor;->onPackageRemovedAllUsers(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
-HPLcom/android/internal/content/PackageMonitor;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HPLcom/android/internal/content/PackageMonitor;->onSomePackagesChanged()V
-HPLcom/android/internal/content/PackageMonitor;->onUidRemoved(I)V
 HPLcom/android/internal/content/PackageMonitor;->unregister()V
 HPLcom/android/internal/content/ReferrerIntent;-><init>(Landroid/content/Intent;Ljava/lang/String;)V
 HPLcom/android/internal/content/ReferrerIntent;->writeToParcel(Landroid/os/Parcel;I)V
+HPLcom/android/internal/database/SortCursor$1;->onInvalidated()V
+HPLcom/android/internal/database/SortCursor;-><init>([Landroid/database/Cursor;Ljava/lang/String;)V
+HPLcom/android/internal/database/SortCursor;->close()V
+HPLcom/android/internal/database/SortCursor;->getCount()I
+HPLcom/android/internal/database/SortCursor;->getString(I)Ljava/lang/String;
+HPLcom/android/internal/database/SortCursor;->onMove(II)Z
 HPLcom/android/internal/graphics/SfVsyncFrameCallbackProvider;->getFrameTime()J
 HPLcom/android/internal/graphics/SfVsyncFrameCallbackProvider;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V
-HPLcom/android/internal/hardware/AmbientDisplayConfiguration;->available()Z
+HPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->start()V
+HPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->stop()V
+HPLcom/android/internal/hardware/AmbientDisplayConfiguration;->doubleTapGestureEnabled(I)Z
+HPLcom/android/internal/hardware/AmbientDisplayConfiguration;->pickupGestureEnabled(I)Z
+HPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$9IBVTCLLZgndvH7fu1P14PW1_1o;->accept(Ljava/lang/Object;)V
+HPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$MDW40b8CzodE5xRowI9wDEyXEnw;->accept(Ljava/lang/Object;)V
+HPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$PendingRequest$IBoaBGXZQEXJr69u3aJF-LCJ42Y;->run()V
+HPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$YSUzqqi1Pbrg2dlwMGMtKWbGXck;->accept(Ljava/lang/Object;)V
+HPLcom/android/internal/infra/-$$Lambda$EbzSql2RHkXox5Myj8A-7kLC4_A;-><init>()V
+HPLcom/android/internal/infra/-$$Lambda$EbzSql2RHkXox5Myj8A-7kLC4_A;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HPLcom/android/internal/infra/-$$Lambda$sVbq7HpLlYQ6nWwdkTYY11HLc_w;-><init>()V
+HPLcom/android/internal/infra/-$$Lambda$sVbq7HpLlYQ6nWwdkTYY11HLc_w;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HPLcom/android/internal/infra/AbstractMultiplePendingRequestsRemoteService;->handleOnDestroy()V
+HPLcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;->isFinal()Z
+HPLcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;->onFinished()V
+HPLcom/android/internal/infra/AbstractRemoteService$MyAsyncPendingRequest;->run()V
+HPLcom/android/internal/infra/AbstractRemoteService$PendingRequest;->cancel()Z
+HPLcom/android/internal/infra/AbstractRemoteService$PendingRequest;->isFinal()Z
+HPLcom/android/internal/infra/AbstractRemoteService$PendingRequest;->lambda$new$0(Lcom/android/internal/infra/AbstractRemoteService$PendingRequest;Lcom/android/internal/infra/AbstractRemoteService;)V
+HPLcom/android/internal/infra/AbstractRemoteService;->handleBinderDied()V
+HPLcom/android/internal/infra/AbstractRemoteService;->handleEnsureUnbound()V
+HPLcom/android/internal/infra/AbstractRemoteService;->scheduleAsyncRequest(Lcom/android/internal/infra/AbstractRemoteService$AsyncRequest;)V
+HPLcom/android/internal/infra/AbstractSinglePendingRequestRemoteService;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/content/ComponentName;ILcom/android/internal/infra/AbstractRemoteService$VultureCallback;ZZ)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;->handlePendingRequestWhileUnBound(Lcom/android/internal/infra/AbstractRemoteService$PendingRequest;)V
+HPLcom/android/internal/infra/AbstractSinglePendingRequestRemoteService;->handlePendingRequests()V
+HPLcom/android/internal/inputmethod/IInputContentUriToken$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/inputmethod/IInputContentUriToken$Stub;-><init>()V
 HPLcom/android/internal/inputmethod/IInputContentUriToken$Stub;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/inputmethod/IInputContentUriToken$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/internal/inputmethod/IInputContentUriToken;->release()V
-HPLcom/android/internal/inputmethod/IInputContentUriToken;->take()V
-HPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->getNextInputMethod(ZLandroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;Z)Lcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;
-HPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->onUserActionLocked(Landroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)V
-HPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;->getNextInputMethodLocked(ZLandroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;Z)Lcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;
-HPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;->getUsageRank(Landroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)I
-HPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;->onUserAction(Landroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)V
-HPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController;->getNextInputMethodLocked(ZLandroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;Z)Lcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;
-HPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController;->onUserActionLocked(Landroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)V
-HPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->isSubtypeSelected()Z
-HPLcom/android/internal/inputmethod/InputMethodUtils;->checkIfPackageBelongsToUid(Landroid/app/AppOpsManager;ILjava/lang/String;)Z
+HPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;->createInputContentUriToken(Landroid/net/Uri;Ljava/lang/String;)Lcom/android/internal/inputmethod/IInputContentUriToken;
+HPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;->hideMySoftInput(I)V
+HPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub;-><init>()V
+HPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub;->asBinder()Landroid/os/IBinder;
+HPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;->createInputContentUriToken(Landroid/net/Uri;Ljava/lang/String;)Lcom/android/internal/inputmethod/IInputContentUriToken;
+HPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;->hideMySoftInput(I)V
+HPLcom/android/internal/inputmethod/InputMethodPrivilegedOperationsRegistry;->remove(Landroid/os/IBinder;)V
+HPLcom/android/internal/inputmethod/SubtypeLocaleUtils;->constructLocaleFromString(Ljava/lang/String;)Ljava/util/Locale;
 HPLcom/android/internal/location/GpsNetInitiatedHandler$2;->onCallStateChanged(ILjava/lang/String;)V
-HPLcom/android/internal/location/GpsNetInitiatedHandler;->getInEmergency()Z
-HPLcom/android/internal/location/GpsNetInitiatedHandler;->setInEmergency(Z)V
-HPLcom/android/internal/location/ILocationProvider$Stub$Proxy;->enable()V
-HPLcom/android/internal/location/ILocationProvider$Stub$Proxy;->getProperties()Lcom/android/internal/location/ProviderProperties;
-HPLcom/android/internal/location/ILocationProvider$Stub$Proxy;->getStatus(Landroid/os/Bundle;)I
-HPLcom/android/internal/location/ILocationProvider$Stub$Proxy;->getStatusUpdateTime()J
+HPLcom/android/internal/location/ILocationProvider$Stub$Proxy;->setLocationProviderManager(Lcom/android/internal/location/ILocationProviderManager;)V
 HPLcom/android/internal/location/ILocationProvider$Stub$Proxy;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
-HPLcom/android/internal/location/ILocationProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/internal/location/ProviderProperties$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/location/ProviderProperties;
-HPLcom/android/internal/location/ProviderProperties$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HPLcom/android/internal/location/ProviderProperties;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/internal/location/ProviderRequest$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/location/ProviderRequest;
-HPLcom/android/internal/location/ProviderRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLcom/android/internal/location/ILocationProviderManager$Stub;->asBinder()Landroid/os/IBinder;
+HPLcom/android/internal/location/ILocationProviderManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLcom/android/internal/location/ILocationProviderManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLcom/android/internal/location/ProviderRequest;->writeToParcel(Landroid/os/Parcel;I)V
 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;
@@ -8655,205 +9399,111 @@
 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
+HPLcom/android/internal/location/nano/GnssLogsProto$GnssLog;->clear()Lcom/android/internal/location/nano/GnssLogsProto$GnssLog;
 HPLcom/android/internal/location/nano/GnssLogsProto$GnssLog;->computeSerializedSize()I
 HPLcom/android/internal/location/nano/GnssLogsProto$GnssLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
 HPLcom/android/internal/location/nano/GnssLogsProto$PowerMetrics;->computeSerializedSize()I
 HPLcom/android/internal/location/nano/GnssLogsProto$PowerMetrics;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/internal/logging/MetricsLogger;->action(I)V
 HPLcom/android/internal/logging/MetricsLogger;->action(II)V
 HPLcom/android/internal/logging/MetricsLogger;->action(IZ)V
+HPLcom/android/internal/logging/MetricsLogger;->action(Landroid/content/Context;I)V
 HPLcom/android/internal/logging/MetricsLogger;->action(Landroid/content/Context;II)V
 HPLcom/android/internal/logging/MetricsLogger;->action(Landroid/content/Context;IZ)V
-HPLcom/android/internal/logging/MetricsLogger;->hidden(Landroid/content/Context;I)V
+HPLcom/android/internal/logging/MetricsLogger;->visible(I)V
+HPLcom/android/internal/logging/MetricsLogger;->visible(Landroid/content/Context;I)V
 HPLcom/android/internal/net/INetworkWatchlistManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/net/INetworkWatchlistManager;
+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
-HPLcom/android/internal/os/-$$Lambda$BatteryStatsImpl$WJBQdQHGlhcwV7yfM8vNEWWvVp0;->onUidCpuPolicyTime(I[J)V
-HPLcom/android/internal/os/-$$Lambda$BatteryStatsImpl$cVkGM5pv4uMLFgnMwqPRDhEl5a0;->onUidCpuTime(IJJ)V
-HPLcom/android/internal/os/-$$Lambda$BatteryStatsImpl$mMCK0IbpOZu45KINuNCoRayjoDU;->onUidCpuActiveTime(IJ)V
-HPLcom/android/internal/os/-$$Lambda$BatteryStatsImpl$qYIdEyLMO9XI4FHBl_g5LWknDZQ;->onUidCpuFreqTime(I[J)V
-HPLcom/android/internal/os/-$$Lambda$KernelUidCpuActiveTimeReader$uXm3GBhF7PBpo0hLrva14EQYjPA;->accept(Ljava/lang/Object;)V
-HPLcom/android/internal/os/-$$Lambda$KernelUidCpuClusterTimeReader$SvNbuRWT162Eb4ur1GVE0r4GiDo;->accept(Ljava/lang/Object;)V
+HPLcom/android/internal/os/-$$Lambda$BinderCallsStats$sqXweH5BoxhmZvI188ctqYiACRk;-><init>()V
+HPLcom/android/internal/os/-$$Lambda$BinderCallsStats$sqXweH5BoxhmZvI188ctqYiACRk;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HPLcom/android/internal/os/-$$Lambda$FuseAppLoop$e9Yru2f_btesWlxIgerkPnHibpg;->run()V
+HPLcom/android/internal/os/AppFuseMount$1;-><init>()V
+HPLcom/android/internal/os/AppFuseMount$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/os/AppFuseMount;
+HPLcom/android/internal/os/AppFuseMount$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HPLcom/android/internal/os/AppFuseMount;-><init>(ILandroid/os/ParcelFileDescriptor;)V
+HPLcom/android/internal/os/AppFuseMount;->writeToParcel(Landroid/os/Parcel;I)V
+HPLcom/android/internal/os/AtomicDirectory;->backup()V
+HPLcom/android/internal/os/AtomicDirectory;->closeWrite(Ljava/io/FileOutputStream;)V
+HPLcom/android/internal/os/AtomicDirectory;->delete()V
+HPLcom/android/internal/os/AtomicDirectory;->finishWrite()V
+HPLcom/android/internal/os/AtomicDirectory;->openWrite(Ljava/io/File;)Ljava/io/FileOutputStream;
+HPLcom/android/internal/os/AtomicDirectory;->startWrite()Ljava/io/File;
+HPLcom/android/internal/os/AtomicDirectory;->throwIfSomeFilesOpen()V
 HPLcom/android/internal/os/AtomicFile;->delete()V
 HPLcom/android/internal/os/AtomicFile;->exists()Z
-HPLcom/android/internal/os/AtomicFile;->finishWrite(Ljava/io/FileOutputStream;)V
-HPLcom/android/internal/os/AtomicFile;->readFully()[B
-HPLcom/android/internal/os/AtomicFile;->startWrite()Ljava/io/FileOutputStream;
-HPLcom/android/internal/os/BatterySipper$DrainType;-><init>(Ljava/lang/String;I)V
 HPLcom/android/internal/os/BatterySipper$DrainType;->values()[Lcom/android/internal/os/BatterySipper$DrainType;
-HPLcom/android/internal/os/BatterySipper;-><init>(Lcom/android/internal/os/BatterySipper$DrainType;Landroid/os/BatteryStats$Uid;D)V
-HPLcom/android/internal/os/BatterySipper;->add(Lcom/android/internal/os/BatterySipper;)V
-HPLcom/android/internal/os/BatterySipper;->compareTo(Lcom/android/internal/os/BatterySipper;)I
-HPLcom/android/internal/os/BatterySipper;->compareTo(Ljava/lang/Object;)I
-HPLcom/android/internal/os/BatterySipper;->computeMobilemspp()V
-HPLcom/android/internal/os/BatterySipper;->getUid()I
-HPLcom/android/internal/os/BatterySipper;->sumPower()D
-HPLcom/android/internal/os/BatteryStatsHelper$1;->compare(Lcom/android/internal/os/BatterySipper;Lcom/android/internal/os/BatterySipper;)I
-HPLcom/android/internal/os/BatteryStatsHelper$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HPLcom/android/internal/os/BatteryStatsHelper;->addAmbientDisplayUsage()V
-HPLcom/android/internal/os/BatteryStatsHelper;->addBluetoothUsage()V
-HPLcom/android/internal/os/BatteryStatsHelper;->addIdleUsage()V
-HPLcom/android/internal/os/BatteryStatsHelper;->addMemoryUsage()V
-HPLcom/android/internal/os/BatteryStatsHelper;->addPhoneUsage()V
-HPLcom/android/internal/os/BatteryStatsHelper;->addRadioUsage()V
-HPLcom/android/internal/os/BatteryStatsHelper;->addScreenUsage()V
-HPLcom/android/internal/os/BatteryStatsHelper;->addUserUsage()V
-HPLcom/android/internal/os/BatteryStatsHelper;->addWiFiUsage()V
-HPLcom/android/internal/os/BatteryStatsHelper;->checkHasBluetoothPowerReporting(Landroid/os/BatteryStats;Lcom/android/internal/os/PowerProfile;)Z
-HPLcom/android/internal/os/BatteryStatsHelper;->checkHasWifiPowerReporting(Landroid/os/BatteryStats;Lcom/android/internal/os/PowerProfile;)Z
 HPLcom/android/internal/os/BatteryStatsHelper;->checkWifiOnly(Landroid/content/Context;)Z
-HPLcom/android/internal/os/BatteryStatsHelper;->convertMsToUs(J)J
-HPLcom/android/internal/os/BatteryStatsHelper;->convertUsToMs(J)J
 HPLcom/android/internal/os/BatteryStatsHelper;->create(Landroid/os/BatteryStats;)V
 HPLcom/android/internal/os/BatteryStatsHelper;->getComputedPower()D
-HPLcom/android/internal/os/BatteryStatsHelper;->getForegroundActivityTotalTimeUs(Landroid/os/BatteryStats$Uid;J)J
 HPLcom/android/internal/os/BatteryStatsHelper;->getMaxDrainedPower()D
-HPLcom/android/internal/os/BatteryStatsHelper;->getMaxPower()D
 HPLcom/android/internal/os/BatteryStatsHelper;->getMinDrainedPower()D
 HPLcom/android/internal/os/BatteryStatsHelper;->getPowerProfile()Lcom/android/internal/os/PowerProfile;
-HPLcom/android/internal/os/BatteryStatsHelper;->getProcessForegroundTimeMs(Landroid/os/BatteryStats$Uid;I)J
-HPLcom/android/internal/os/BatteryStatsHelper;->getTotalPower()D
-HPLcom/android/internal/os/BatteryStatsHelper;->getUsageList()Ljava/util/List;
-HPLcom/android/internal/os/BatteryStatsHelper;->isTypeService(Lcom/android/internal/os/BatterySipper;)Z
-HPLcom/android/internal/os/BatteryStatsHelper;->isTypeSystem(Lcom/android/internal/os/BatterySipper;)Z
 HPLcom/android/internal/os/BatteryStatsHelper;->makemAh(D)Ljava/lang/String;
-HPLcom/android/internal/os/BatteryStatsHelper;->processAppUsage(Landroid/util/SparseArray;)V
 HPLcom/android/internal/os/BatteryStatsHelper;->refreshStats(II)V
-HPLcom/android/internal/os/BatteryStatsHelper;->refreshStats(ILandroid/util/SparseArray;)V
-HPLcom/android/internal/os/BatteryStatsHelper;->refreshStats(ILandroid/util/SparseArray;JJ)V
-HPLcom/android/internal/os/BatteryStatsHelper;->removeHiddenBatterySippers(Ljava/util/List;)D
-HPLcom/android/internal/os/BatteryStatsHelper;->shouldHideSipper(Lcom/android/internal/os/BatterySipper;)Z
-HPLcom/android/internal/os/BatteryStatsHelper;->smearScreenBatterySipper(Ljava/util/List;Lcom/android/internal/os/BatterySipper;)V
-HPLcom/android/internal/os/BatteryStatsImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HPLcom/android/internal/os/BatteryStatsImpl$2;->run()V
-HPLcom/android/internal/os/BatteryStatsImpl$3;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Landroid/os/Parcel;J)V
-HPLcom/android/internal/os/BatteryStatsImpl$3;->run()V
+HPLcom/android/internal/os/BatteryStatsHistory;->createNextFile()V
+HPLcom/android/internal/os/BatteryStatsHistory;->readFileToParcel(Landroid/os/Parcel;Lcom/android/internal/os/AtomicFile;)Z
+HPLcom/android/internal/os/BatteryStatsHistory;->writeToParcel(Landroid/os/Parcel;)V
+HPLcom/android/internal/os/BatteryStatsImpl$1;->run()V
+HPLcom/android/internal/os/BatteryStatsImpl$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HPLcom/android/internal/os/BatteryStatsImpl$4;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Landroid/os/Parcel;J)V
+HPLcom/android/internal/os/BatteryStatsImpl$4;->run()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
-HPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->onTimeStarted(JJJ)V
 HPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->onTimeStopped(JJJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->reset(Z)Z
 HPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->writeToParcel(Landroid/os/Parcel;J)V
 HPLcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;->set(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V
 HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->detach()V
-HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getIdleTimeCounter()Landroid/os/BatteryStats$LongCounter;
-HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getIdleTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getPowerCounter()Landroid/os/BatteryStats$LongCounter;
-HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getPowerCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getRxTimeCounter()Landroid/os/BatteryStats$LongCounter;
-HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getRxTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
+HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getMonitoredRailChargeConsumedMaMs()Landroid/os/BatteryStats$LongCounter;
+HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getMonitoredRailChargeConsumedMaMs()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
 HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getScanTimeCounter()Landroid/os/BatteryStats$LongCounter;
 HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getScanTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
 HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getSleepTimeCounter()Landroid/os/BatteryStats$LongCounter;
 HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getSleepTimeCounter()Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getTxTimeCounters()[Landroid/os/BatteryStats$LongCounter;
-HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getTxTimeCounters()[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->reset(Z)V
 HPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/internal/os/BatteryStatsImpl$Counter;->detach()V
+HPLcom/android/internal/os/BatteryStatsImpl$Counter;->addAtomic(I)V
 HPLcom/android/internal/os/BatteryStatsImpl$Counter;->getCountLocked(I)I
-HPLcom/android/internal/os/BatteryStatsImpl$Counter;->onTimeStarted(JJJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Counter;->onTimeStopped(JJJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Counter;->reset(Z)V
-HPLcom/android/internal/os/BatteryStatsImpl$Counter;->stepAtomic()V
-HPLcom/android/internal/os/BatteryStatsImpl$Counter;->writeCounterToParcel(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$Counter;)V
 HPLcom/android/internal/os/BatteryStatsImpl$Counter;->writeToParcel(Landroid/os/Parcel;)V
-HPLcom/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;
-HPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->reset(Z)Z
 HPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->writeToParcel(Landroid/os/Parcel;J)V
-HPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->onTimeStarted(JJJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->onTimeStopped(JJJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->reset(Z)Z
 HPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->writeToParcel(Landroid/os/Parcel;J)V
-HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->addCountLocked(JZ)V
-HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->detach()V
-HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->getCountLocked(I)J
-HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->onTimeStarted(JJJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->onTimeStopped(JJJ)V
 HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->writeToParcel(Landroid/os/Parcel;)V
-HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;)V
-HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->addCountLocked([JZ)V
-HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->detach()V
-HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->getCountsLocked(I)[J
-HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->getSize()I
-HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->onTimeStarted(JJJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->onTimeStopped(JJJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->reset(Z)V
-HPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->writeToParcel(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;)V
-HPLcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;->cleanup()V
 HPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->add(JI)V
-HPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->onTimeStarted(JJJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->onTimeStopped(JJJ)V
 HPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->writeToParcel(Landroid/os/Parcel;J)V
-HPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->detach()V
 HPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->onTimeStopped(JJJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->reset(Z)Z
 HPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->setMark(J)V
 HPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->writeToParcel(Landroid/os/Parcel;J)V
-HPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->remove(Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;)V
 HPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->writeToParcel(Landroid/os/Parcel;JJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Timer;->detach()V
 HPLcom/android/internal/os/BatteryStatsImpl$Timer;->getCountLocked(I)I
 HPLcom/android/internal/os/BatteryStatsImpl$Timer;->getTimeSinceMarkLocked(J)J
-HPLcom/android/internal/os/BatteryStatsImpl$Timer;->getTotalTimeLocked(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl$Timer;->onTimeStarted(JJJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Timer;->writeTimerToParcel(Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$Timer;J)V
 HPLcom/android/internal/os/BatteryStatsImpl$Timer;->writeToParcel(Landroid/os/Parcel;J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$1;->instantiateObject()Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$1;->instantiateObject()Ljava/lang/Object;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->detach()V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getLaunches(I)I
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getStartTime(JI)J
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getStarts(I)I
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->onTimeStarted(JJJ)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->onTimeStopped(JJJ)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->stopLaunchedLocked()V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->stopRunningLocked()V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->writeToParcelLocked(Landroid/os/Parcel;)V
-HPLcom/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;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->noteWakeupAlarmLocked(Ljava/lang/String;)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->onTimeStarted(JJJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->onTimeStopped(JJJ)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->writeToParcelLocked(Landroid/os/Parcel;)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addCpuTimeLocked(II)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addCpuTimeLocked(IIZ)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addExcessiveCpu(JJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->addForegroundTimeLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->detach()V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getForegroundTime(I)J
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getNumAnrs(I)I
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getNumCrashes(I)I
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getStarts(I)I
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getSystemTime(I)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getUserTime(I)J
+HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->incNumAnrsLocked()V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->incNumCrashesLocked()V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->incStartsLocked()V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->isActive()Z
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->onTimeStarted(JJJ)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->onTimeStopped(JJJ)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->writeToParcelLocked(Landroid/os/Parcel;)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorBackgroundTime()Landroid/os/BatteryStats$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorBackgroundTime()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorTime()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->getSensorTime()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->reset()Z
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Sensor;->writeToParcelLocked(Landroid/os/Parcel;J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->getWakeTime(I)Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->getWakeTime(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->reset()Z
+HPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->detachFromTimeBase()V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;->writeToParcelLocked(Landroid/os/Parcel;J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->addProcStateScreenOffTimesMs(I[JZ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->addProcStateTimesMs(I[JZ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->createBluetoothUnoptimizedScanTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->createCameraTurnedOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->createFlashlightTurnedOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getAggregatedPartialWakelockTimer()Landroid/os/BatteryStats$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getAggregatedPartialWakelockTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getAudioTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getAudioTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getBluetoothControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
 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;
@@ -8866,54 +9516,31 @@
 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;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCameraTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCameraTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCpuActiveTime()J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCpuClusterTimes()[J
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCpuFreqTimes(I)[J
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCpuFreqTimes(II)[J
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getDeferredJobsCheckinLineLocked(Ljava/lang/StringBuilder;I)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getFlashlightTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getFlashlightTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundActivityTimer()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundActivityTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundServiceTimer()Landroid/os/BatteryStats$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;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getMobileRadioActiveCount(I)I
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getMobileRadioActiveTime(I)J
 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;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getMulticastWakelockStats()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getNetworkActivityBytes(II)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getNetworkActivityPackets(II)J
 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;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getOrCreateWifiControllerActivityLocked()Lcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getPackageStats()Landroid/util/ArrayMap;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getPidStats()Landroid/util/SparseArray;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStateTime(IJI)J
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStateTimer(I)Landroid/os/BatteryStats$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStateTimer(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStats()Landroid/util/ArrayMap;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getScreenOffCpuFreqTimes(I)[J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getScreenOffCpuFreqTimes(II)[J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getSensorStats()Landroid/util/SparseArray;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getSyncStats()Landroid/util/ArrayMap;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getSystemCpuTimeUs(I)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getTimeAtCpuSpeed(III)J
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getUid()I
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getUserActivityCount(II)I
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getUserCpuTimeUs(I)J
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getVibratorOnTimer()Landroid/os/BatteryStats$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getVibratorOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getVideoTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getVideoTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWakelockStats()Landroid/util/ArrayMap;
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiBatchedScanTime(IJI)J
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiMulticastTime(JI)J
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiRadioApWakeupCount(I)J
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiRunningTime(JI)J
@@ -8927,7 +9554,6 @@
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiScanTimer()Landroid/os/BatteryStats$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiScanTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->hasUserActivity()Z
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->isInBackground()Z
 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
@@ -8935,12 +9561,11 @@
 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;->noteFlashlightTurnedOffLocked(J)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteFlashlightTurnedOnLocked(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
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteJobsDeferredLocked(IJ)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteMobileRadioActiveTimeLocked(J)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteMobileRadioApWakeupLocked()V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteNetworkActivityLocked(IJJ)V
@@ -8949,6 +9574,7 @@
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartSyncLocked(Ljava/lang/String;J)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopGps(J)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopJobLocked(Ljava/lang/String;JI)V
+HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopSensor(IJ)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopSyncLocked(Ljava/lang/String;J)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteUserActivityLocked(I)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteVibratorOffLocked()V
@@ -8961,28 +9587,12 @@
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiScanStartedLocked(J)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteWifiScanStoppedLocked(J)V
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->reportExcessiveCpuLocked(Ljava/lang/String;JJ)V
-HPLcom/android/internal/os/BatteryStatsImpl$Uid;->reset(JJ)Z
 HPLcom/android/internal/os/BatteryStatsImpl$Uid;->writeToParcelLocked(Landroid/os/Parcel;JJ)V
 HPLcom/android/internal/os/BatteryStatsImpl$UidToRemove;->remove()V
-HPLcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;->exists(I)Z
-HPLcom/android/internal/os/BatteryStatsImpl;->access$1000(Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;)V
-HPLcom/android/internal/os/BatteryStatsImpl;->access$700(Lcom/android/internal/os/BatteryStatsImpl$Timer;Z)Z
-HPLcom/android/internal/os/BatteryStatsImpl;->access$800(Lcom/android/internal/os/BatteryStatsImpl$DualTimer;Z)Z
-HPLcom/android/internal/os/BatteryStatsImpl;->access$900(Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;Z)V
-HPLcom/android/internal/os/BatteryStatsImpl;->addCpuTimes([J[J)[J
 HPLcom/android/internal/os/BatteryStatsImpl;->addModemTxPowerToHistory(Landroid/telephony/ModemActivityInfo;)V
-HPLcom/android/internal/os/BatteryStatsImpl;->computeBatteryRealtime(JI)J
 HPLcom/android/internal/os/BatteryStatsImpl;->computeBatteryScreenOffRealtime(JI)J
 HPLcom/android/internal/os/BatteryStatsImpl;->computeBatteryScreenOffUptime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->computeBatteryTimeRemaining(J)J
-HPLcom/android/internal/os/BatteryStatsImpl;->computeBatteryUptime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->computeChargeTimeRemaining(J)J
 HPLcom/android/internal/os/BatteryStatsImpl;->excludeFromStringArray([Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-HPLcom/android/internal/os/BatteryStatsImpl;->finishAddingCpuLocked(IIIIIIII)V
-HPLcom/android/internal/os/BatteryStatsImpl;->finishIteratingHistoryLocked()V
-HPLcom/android/internal/os/BatteryStatsImpl;->getBatteryRealtime(J)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getBatteryUptime(J)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getBluetoothControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
 HPLcom/android/internal/os/BatteryStatsImpl;->getCellularBatteryStats()Landroid/os/connectivity/CellularBatteryStats;
 HPLcom/android/internal/os/BatteryStatsImpl;->getChargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
 HPLcom/android/internal/os/BatteryStatsImpl;->getCpuFreqs()[J
@@ -8991,25 +9601,18 @@
 HPLcom/android/internal/os/BatteryStatsImpl;->getDeviceIdleModeTime(IJI)J
 HPLcom/android/internal/os/BatteryStatsImpl;->getDeviceIdlingCount(II)I
 HPLcom/android/internal/os/BatteryStatsImpl;->getDeviceIdlingTime(IJI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getDischargeAmount(I)I
-HPLcom/android/internal/os/BatteryStatsImpl;->getDischargeCurrentLevel()I
-HPLcom/android/internal/os/BatteryStatsImpl;->getDischargeCurrentLevelLocked()I
 HPLcom/android/internal/os/BatteryStatsImpl;->getDischargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-HPLcom/android/internal/os/BatteryStatsImpl;->getDischargeStartLevel()I
-HPLcom/android/internal/os/BatteryStatsImpl;->getDischargeStartLevelLocked()I
 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;
-HPLcom/android/internal/os/BatteryStatsImpl;->getGpsSignalQualityTime(IJI)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
-HPLcom/android/internal/os/BatteryStatsImpl;->getKernelMemoryStats()Landroid/util/LongSparseArray;
 HPLcom/android/internal/os/BatteryStatsImpl;->getKernelWakelockStats()Ljava/util/Map;
 HPLcom/android/internal/os/BatteryStatsImpl;->getLongestDeviceIdleModeTime(I)J
 HPLcom/android/internal/os/BatteryStatsImpl;->getMaxLearnedBatteryCapacity()I
@@ -9017,37 +9620,25 @@
 HPLcom/android/internal/os/BatteryStatsImpl;->getMobileIfaces()[Ljava/lang/String;
 HPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveAdjustedTime(I)J
 HPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveCount(I)I
-HPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveTime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveUnknownCount(I)I
 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
-HPLcom/android/internal/os/BatteryStatsImpl;->getNetworkActivityPackets(II)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getNextHistoryLocked(Landroid/os/BatteryStats$HistoryItem;)Z
 HPLcom/android/internal/os/BatteryStatsImpl;->getNumConnectivityChange(I)I
-HPLcom/android/internal/os/BatteryStatsImpl;->getPackageStatsLocked(ILjava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;
 HPLcom/android/internal/os/BatteryStatsImpl;->getParcelVersion()I
 HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneDataConnectionCount(II)I
 HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneDataConnectionTime(IJI)J
 HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneDataConnectionTimer(I)Landroid/os/BatteryStats$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneDataConnectionTimer(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneOnTime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalScanningTime(JI)J
 HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalScanningTimer()Landroid/os/BatteryStats$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalScanningTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalStrengthCount(II)I
-HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalStrengthTime(IJI)J
 HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalStrengthTimer(I)Landroid/os/BatteryStats$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalStrengthTimer(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl;->getPowerSaveModeEnabledTime(JI)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getProcessStatsLocked(ILjava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
 HPLcom/android/internal/os/BatteryStatsImpl;->getRpmStats()Ljava/util/Map;
-HPLcom/android/internal/os/BatteryStatsImpl;->getScreenBrightnessTime(IJI)J
 HPLcom/android/internal/os/BatteryStatsImpl;->getScreenBrightnessTimer(I)Landroid/os/BatteryStats$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl;->getScreenBrightnessTimer(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl;->getScreenDozeTime(JI)J
 HPLcom/android/internal/os/BatteryStatsImpl;->getScreenOffRpmStats()Ljava/util/Map;
-HPLcom/android/internal/os/BatteryStatsImpl;->getScreenOnTime(JI)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
@@ -9055,12 +9646,9 @@
 HPLcom/android/internal/os/BatteryStatsImpl;->getUahDischargeLightDoze(I)J
 HPLcom/android/internal/os/BatteryStatsImpl;->getUahDischargeScreenDoze(I)J
 HPLcom/android/internal/os/BatteryStatsImpl;->getUahDischargeScreenOff(I)J
-HPLcom/android/internal/os/BatteryStatsImpl;->getUidStats()Landroid/util/SparseArray;
 HPLcom/android/internal/os/BatteryStatsImpl;->getWakeupReasonStats()Ljava/util/Map;
 HPLcom/android/internal/os/BatteryStatsImpl;->getWifiActiveTime(JI)J
 HPLcom/android/internal/os/BatteryStatsImpl;->getWifiBatteryStats()Landroid/os/connectivity/WifiBatteryStats;
-HPLcom/android/internal/os/BatteryStatsImpl;->getWifiControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-HPLcom/android/internal/os/BatteryStatsImpl;->getWifiIfaces()[Ljava/lang/String;
 HPLcom/android/internal/os/BatteryStatsImpl;->getWifiMulticastWakelockCount(I)I
 HPLcom/android/internal/os/BatteryStatsImpl;->getWifiMulticastWakelockTime(JI)J
 HPLcom/android/internal/os/BatteryStatsImpl;->getWifiOnTime(JI)J
@@ -9076,14 +9664,6 @@
 HPLcom/android/internal/os/BatteryStatsImpl;->getWifiSupplStateTime(IJI)J
 HPLcom/android/internal/os/BatteryStatsImpl;->getWifiSupplStateTimer(I)Landroid/os/BatteryStats$Timer;
 HPLcom/android/internal/os/BatteryStatsImpl;->getWifiSupplStateTimer(I)Lcom/android/internal/os/BatteryStatsImpl$Timer;
-HPLcom/android/internal/os/BatteryStatsImpl;->hasBluetoothActivityReporting()Z
-HPLcom/android/internal/os/BatteryStatsImpl;->hasWifiActivityReporting()Z
-HPLcom/android/internal/os/BatteryStatsImpl;->initActiveHistoryEventsLocked(JJ)V
-HPLcom/android/internal/os/BatteryStatsImpl;->isScreenOff(I)Z
-HPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuActiveTimesLocked$2(Lcom/android/internal/os/BatteryStatsImpl;ZIJ)V
-HPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuClusterTimesLocked$3(Lcom/android/internal/os/BatteryStatsImpl;ZI[J)V
-HPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuFreqTimesLocked$1(Lcom/android/internal/os/BatteryStatsImpl;ZZZIII[J)V
-HPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuTimesLocked$0(Lcom/android/internal/os/BatteryStatsImpl;IZLandroid/util/SparseLongArray;IJJ)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteAudioOffLocked(I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteAudioOnLocked(I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteBluetoothScanResultsFromSourceLocked(Landroid/os/WorkSource;I)V
@@ -9095,10 +9675,7 @@
 HPLcom/android/internal/os/BatteryStatsImpl;->noteCameraOnLocked(I)V
 HPLcom/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
 HPLcom/android/internal/os/BatteryStatsImpl;->noteConnectivityChangedLocked(ILjava/lang/String;)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteCurrentTimeChangedLocked()V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteDeviceIdleModeLocked(ILjava/lang/String;I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteFlashlightOffLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteFlashlightOnLocked(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
@@ -9107,6 +9684,7 @@
 HPLcom/android/internal/os/BatteryStatsImpl;->noteGpsSignalQualityLocked(I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteJobFinishLocked(Ljava/lang/String;II)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteJobStartLocked(Ljava/lang/String;I)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteJobsDeferredLocked(IIJ)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakeLockFinishInternal(Ljava/lang/String;Ljava/lang/String;I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakeLockStartInternal(Ljava/lang/String;Ljava/lang/String;I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteLongPartialWakelockFinish(Ljava/lang/String;Ljava/lang/String;I)V
@@ -9116,13 +9694,14 @@
 HPLcom/android/internal/os/BatteryStatsImpl;->noteMobileRadioPowerStateLocked(IJI)Z
 HPLcom/android/internal/os/BatteryStatsImpl;->noteNetworkInterfaceTypeLocked(Ljava/lang/String;I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->notePackageInstalledLocked(Ljava/lang/String;J)V
-HPLcom/android/internal/os/BatteryStatsImpl;->notePackageUninstalledLocked(Ljava/lang/String;)V
+HPLcom/android/internal/os/BatteryStatsImpl;->notePhoneDataConnectionStateLocked(IZ)V
 HPLcom/android/internal/os/BatteryStatsImpl;->notePhoneOffLocked()V
 HPLcom/android/internal/os/BatteryStatsImpl;->notePhoneOnLocked()V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteProcessAnrLocked(Ljava/lang/String;I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteProcessCrashLocked(Ljava/lang/String;I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteStartGpsLocked(ILandroid/os/WorkSource$WorkChain;)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteStopGpsLocked(ILandroid/os/WorkSource$WorkChain;)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteStopSensorLocked(II)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteSyncFinishLocked(Ljava/lang/String;I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteSyncStartLocked(Ljava/lang/String;I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteUserActivityLocked(II)V
@@ -9134,108 +9713,97 @@
 HPLcom/android/internal/os/BatteryStatsImpl;->noteWakeupReasonLocked(Ljava/lang/String;)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiMulticastDisabledLocked(I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiMulticastEnabledLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiOffLocked()V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiRadioPowerState(IJI)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiRssiChangedLocked(I)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiRunningLocked(Landroid/os/WorkSource;)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiScanStartedFromSourceLocked(Landroid/os/WorkSource;)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiScanStartedLocked(I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiScanStoppedFromSourceLocked(Landroid/os/WorkSource;)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiScanStoppedLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiStateLocked(ILjava/lang/String;)V
+HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiStoppedLocked(Landroid/os/WorkSource;)V
 HPLcom/android/internal/os/BatteryStatsImpl;->noteWifiSupplicantStateChangedLocked(IZ)V
+HPLcom/android/internal/os/BatteryStatsImpl;->onCleanupUserLocked(I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->prepareForDumpLocked()V
-HPLcom/android/internal/os/BatteryStatsImpl;->readHistoryDelta(Landroid/os/Parcel;Landroid/os/BatteryStats$HistoryItem;)V
-HPLcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuActiveTimesLocked(Z)V
-HPLcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuClusterTimesLocked(Z)V
-HPLcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuFreqTimesLocked(Ljava/util/ArrayList;ZZ)V
-HPLcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuTimesLocked(Ljava/util/ArrayList;Landroid/util/SparseLongArray;Z)V
-HPLcom/android/internal/os/BatteryStatsImpl;->recordDailyStatsLocked()V
-HPLcom/android/internal/os/BatteryStatsImpl;->removeUidStatsLocked(I)V
+HPLcom/android/internal/os/BatteryStatsImpl;->readNetworkStatsLocked([Ljava/lang/String;)Landroid/net/NetworkStats;
 HPLcom/android/internal/os/BatteryStatsImpl;->reportExcessiveCpuLocked(ILjava/lang/String;JJ)V
-HPLcom/android/internal/os/BatteryStatsImpl;->resetAllStatsLocked()V
-HPLcom/android/internal/os/BatteryStatsImpl;->setOnBatteryLocked(JJZIII)V
-HPLcom/android/internal/os/BatteryStatsImpl;->startIteratingHistoryLocked()Z
 HPLcom/android/internal/os/BatteryStatsImpl;->stopAllGpsSignalQualityTimersLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->updateBatteryPropertiesLocked()V
+HPLcom/android/internal/os/BatteryStatsImpl;->stopAllPhoneSignalStrengthTimersLocked(I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->updateBluetoothStateLocked(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V
-HPLcom/android/internal/os/BatteryStatsImpl;->updateDischargeScreenLevelsLocked(II)V
 HPLcom/android/internal/os/BatteryStatsImpl;->updateMobileRadioState(Landroid/telephony/ModemActivityInfo;)V
-HPLcom/android/internal/os/BatteryStatsImpl;->updateNewDischargeScreenLevelLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->updateOldDischargeScreenLevelLocked(I)V
-HPLcom/android/internal/os/BatteryStatsImpl;->updateProcStateCpuTimes(ZZ)V
-HPLcom/android/internal/os/BatteryStatsImpl;->writeDailyItemsLocked(Lorg/xmlpull/v1/XmlSerializer;)V
-HPLcom/android/internal/os/BatteryStatsImpl;->writeDailyLevelSteps(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Landroid/os/BatteryStats$LevelStepTracker;Ljava/lang/StringBuilder;)V
+HPLcom/android/internal/os/BatteryStatsImpl;->updateWifiState(Landroid/net/wifi/WifiActivityEnergyInfo;)V
 HPLcom/android/internal/os/BatteryStatsImpl;->writeToParcel(Landroid/os/Parcel;I)V
 HPLcom/android/internal/os/BatteryStatsImpl;->writeToParcelLocked(Landroid/os/Parcel;ZI)V
-HPLcom/android/internal/os/BinderCallsStats;->getInstance()Lcom/android/internal/os/BinderCallsStats;
-HPLcom/android/internal/os/BinderCallsStats;->reset()V
+HPLcom/android/internal/os/BinderCallsStats$UidEntry;->getCallStatsList()Ljava/util/Collection;
+HPLcom/android/internal/os/BinderCallsStats;->createDebugEntry(Ljava/lang/String;J)Lcom/android/internal/os/BinderCallsStats$ExportedCallStat;
+HPLcom/android/internal/os/BinderCallsStats;->getDefaultTransactionNameMethod(Ljava/lang/Class;)Ljava/lang/reflect/Method;
+HPLcom/android/internal/os/BinderCallsStats;->getExportedCallStats()Ljava/util/ArrayList;
+HPLcom/android/internal/os/BinderCallsStats;->resolveTransactionCode(Ljava/lang/reflect/Method;I)Ljava/lang/String;
 HPLcom/android/internal/os/BinderInternal;->forceBinderGc()V
 HPLcom/android/internal/os/BinderInternal;->forceGc(Ljava/lang/String;)V
 HPLcom/android/internal/os/BinderInternal;->getLastGcTime()J
-HPLcom/android/internal/os/BluetoothPowerCalculator;-><init>(Lcom/android/internal/os/PowerProfile;)V
-HPLcom/android/internal/os/BluetoothPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HPLcom/android/internal/os/BluetoothPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
-HPLcom/android/internal/os/BluetoothPowerCalculator;->reset()V
-HPLcom/android/internal/os/CameraPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HPLcom/android/internal/os/CpuPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HPLcom/android/internal/os/FlashlightPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HPLcom/android/internal/os/HandlerCaller;->obtainMessageIIIIII(IIIIIII)Landroid/os/Message;
+HPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->getMillis()J
+HPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->stop()V
+HPLcom/android/internal/os/ClassLoaderFactory;->isDelegateLastClassLoaderName(Ljava/lang/String;)Z
+HPLcom/android/internal/os/FuseAppLoop$1;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
+HPLcom/android/internal/os/FuseAppLoop$BytesMap;->clear()V
+HPLcom/android/internal/os/FuseAppLoop$BytesMap;->startUsing(J)[B
+HPLcom/android/internal/os/FuseAppLoop$BytesMap;->stopUsing(J)V
+HPLcom/android/internal/os/FuseAppLoop$CallbackEntry;-><init>(Landroid/os/ProxyFileDescriptorCallback;Landroid/os/Handler;)V
+HPLcom/android/internal/os/FuseAppLoop$CallbackEntry;->getThreadId()J
+HPLcom/android/internal/os/FuseAppLoop;-><init>(ILandroid/os/ParcelFileDescriptor;Ljava/util/concurrent/ThreadFactory;)V
+HPLcom/android/internal/os/FuseAppLoop;->getCallbackEntryOrThrowLocked(J)Lcom/android/internal/os/FuseAppLoop$CallbackEntry;
+HPLcom/android/internal/os/FuseAppLoop;->getMountPointId()I
+HPLcom/android/internal/os/FuseAppLoop;->handleMessage(Landroid/os/Message;)Z
+HPLcom/android/internal/os/FuseAppLoop;->lambda$new$0(Lcom/android/internal/os/FuseAppLoop;)V
+HPLcom/android/internal/os/FuseAppLoop;->onCommand(IJJJI[B)V
+HPLcom/android/internal/os/FuseAppLoop;->onOpen(JJ)[B
+HPLcom/android/internal/os/FuseAppLoop;->registerCallback(Landroid/os/ProxyFileDescriptorCallback;Landroid/os/Handler;)I
+HPLcom/android/internal/os/FuseUnavailableMountException;-><init>(I)V
+HPLcom/android/internal/os/HandlerCaller;->obtainMessageI(II)Landroid/os/Message;
 HPLcom/android/internal/os/HandlerCaller;->obtainMessageIIO(IIILjava/lang/Object;)Landroid/os/Message;
-HPLcom/android/internal/os/HandlerCaller;->obtainMessageIOO(IILjava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
+HPLcom/android/internal/os/HandlerCaller;->obtainMessageIIOOOO(IIILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
 HPLcom/android/internal/os/HandlerCaller;->obtainMessageOOO(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
 HPLcom/android/internal/os/HandlerCaller;->obtainMessageOOOOII(ILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;II)Landroid/os/Message;
 HPLcom/android/internal/os/HandlerCaller;->removeMessages(I)V
+HPLcom/android/internal/os/HandlerCaller;->sendMessage(Landroid/os/Message;)V
 HPLcom/android/internal/os/IDropBoxManagerService$Stub$Proxy;->add(Landroid/os/DropBoxManager$Entry;)V
+HPLcom/android/internal/os/IDropBoxManagerService$Stub$Proxy;->getNextEntry(Ljava/lang/String;JLjava/lang/String;)Landroid/os/DropBoxManager$Entry;
+HPLcom/android/internal/os/IDropBoxManagerService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLcom/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
 HPLcom/android/internal/os/IResultReceiver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLcom/android/internal/os/IResultReceiver$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IResultReceiver;
+HPLcom/android/internal/os/IResultReceiver$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLcom/android/internal/os/IShellCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HPLcom/android/internal/os/IShellCallback;->openFile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-HPLcom/android/internal/os/KernelSingleUidTimeReader$Injector;->readData(Ljava/lang/String;)[B
-HPLcom/android/internal/os/KernelSingleUidTimeReader;->readDeltaMs(I)[J
-HPLcom/android/internal/os/KernelSingleUidTimeReader;->removeUid(I)V
-HPLcom/android/internal/os/KernelSingleUidTimeReader;->verifyCpuFreqsCount(ILjava/lang/String;)V
-HPLcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;->onUidCpuActiveTime(IJ)V
-HPLcom/android/internal/os/KernelUidCpuActiveTimeReader;->readAbsolute(Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;)V
-HPLcom/android/internal/os/KernelUidCpuActiveTimeReader;->removeUid(I)V
-HPLcom/android/internal/os/KernelUidCpuClusterTimeReader$Callback;->onUidCpuPolicyTime(I[J)V
-HPLcom/android/internal/os/KernelUidCpuClusterTimeReader;->lambda$readAbsolute$1(Lcom/android/internal/os/KernelUidCpuClusterTimeReader;Lcom/android/internal/os/KernelUidCpuClusterTimeReader$Callback;Ljava/nio/IntBuffer;)V
-HPLcom/android/internal/os/KernelUidCpuClusterTimeReader;->readAbsolute(Lcom/android/internal/os/KernelUidCpuClusterTimeReader$Callback;)V
-HPLcom/android/internal/os/KernelUidCpuClusterTimeReader;->removeUid(I)V
-HPLcom/android/internal/os/KernelUidCpuFreqTimeReader$Callback;->onUidCpuFreqTime(I[J)V
-HPLcom/android/internal/os/KernelUidCpuFreqTimeReader;->perClusterTimesAvailable()Z
-HPLcom/android/internal/os/KernelUidCpuFreqTimeReader;->removeUid(I)V
-HPLcom/android/internal/os/KernelUidCpuTimeReader$Callback;->onUidCpuTime(IJJ)V
-HPLcom/android/internal/os/KernelUidCpuTimeReader;->readAbsolute(Lcom/android/internal/os/KernelUidCpuTimeReader$Callback;)V
-HPLcom/android/internal/os/KernelUidCpuTimeReader;->removeUid(I)V
-HPLcom/android/internal/os/KernelUidCpuTimeReader;->removeUidsFromKernelModule(II)V
-HPLcom/android/internal/os/MediaPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HPLcom/android/internal/os/MemoryPowerCalculator;-><init>(Lcom/android/internal/os/PowerProfile;)V
-HPLcom/android/internal/os/MemoryPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
-HPLcom/android/internal/os/MobileRadioPowerCalculator;-><init>(Lcom/android/internal/os/PowerProfile;Landroid/os/BatteryStats;)V
-HPLcom/android/internal/os/MobileRadioPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HPLcom/android/internal/os/MobileRadioPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
-HPLcom/android/internal/os/MobileRadioPowerCalculator;->getMobilePowerPerPacket(JI)D
-HPLcom/android/internal/os/MobileRadioPowerCalculator;->reset()V
-HPLcom/android/internal/os/MobileRadioPowerCalculator;->reset(Landroid/os/BatteryStats;)V
-HPLcom/android/internal/os/PowerCalculator;-><init>()V
-HPLcom/android/internal/os/PowerCalculator;->reset()V
-HPLcom/android/internal/os/PowerProfile;->getAveragePower(Ljava/lang/String;I)D
-HPLcom/android/internal/os/PowerProfile;->getAveragePowerForCpuCluster(I)D
-HPLcom/android/internal/os/PowerProfile;->getAveragePowerForCpuCore(II)D
-HPLcom/android/internal/os/PowerProfile;->getNumElements(Ljava/lang/String;)I
+HPLcom/android/internal/os/IShellCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IShellCallback;
+HPLcom/android/internal/os/KernelCpuThreadReader$FrequencyBucketCreator;->getBucketedValues([J)[I
+HPLcom/android/internal/os/KernelCpuThreadReader$Injector;->getUidForPid(I)I
+HPLcom/android/internal/os/KernelCpuThreadReader;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+HPLcom/android/internal/os/KernelCpuThreadReader;->getCpuFrequenciesKhz()[I
+HPLcom/android/internal/os/KernelCpuThreadReader;->getProcessCpuUsage(Ljava/nio/file/Path;II)Lcom/android/internal/os/KernelCpuThreadReader$ProcessCpuUsage;
+HPLcom/android/internal/os/KernelCpuThreadReader;->getProcessCpuUsageByUids()Ljava/util/ArrayList;
+HPLcom/android/internal/os/KernelCpuThreadReader;->getProcessId(Ljava/nio/file/Path;)I
+HPLcom/android/internal/os/KernelCpuThreadReader;->getThreadCpuUsage(Ljava/nio/file/Path;)Lcom/android/internal/os/KernelCpuThreadReader$ThreadCpuUsage;
+HPLcom/android/internal/os/KernelCpuThreadReaderSettingsObserver$UidPredicate;->test(Ljava/lang/Integer;)Z
+HPLcom/android/internal/os/KernelCpuThreadReaderSettingsObserver$UidPredicate;->test(Ljava/lang/Object;)Z
+HPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;->readAbsoluteImpl(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
+HPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;->removeUid(I)V
+HPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;->removeUidsFromKernelModule(II)V
+HPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;->removeUidsInRange(II)V
+HPLcom/android/internal/os/KernelCpuUidTimeReader;->readAbsolute(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
+HPLcom/android/internal/os/KernelCpuUidTimeReader;->removeUid(I)V
+HPLcom/android/internal/os/KernelCpuUidTimeReader;->removeUidsInRange(II)V
+HPLcom/android/internal/os/LooperStats$ExportedEntry;-><init>(Lcom/android/internal/os/LooperStats$Entry;)V
+HPLcom/android/internal/os/LooperStats;->createDebugEntry(Ljava/lang/String;J)Lcom/android/internal/os/LooperStats$ExportedEntry;
+HPLcom/android/internal/os/LooperStats;->getEntries()Ljava/util/List;
+HPLcom/android/internal/os/LooperStats;->maybeAddSpecialEntry(Ljava/util/List;Lcom/android/internal/os/LooperStats$Entry;)V
+HPLcom/android/internal/os/ProcTimeInStateReader;->getUsageTimesMillis(Ljava/nio/file/Path;)[J
 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
 HPLcom/android/internal/os/ProcessCpuTracker;->buildWorkingProcs()V
-HPLcom/android/internal/os/ProcessCpuTracker;->countStats()I
-HPLcom/android/internal/os/ProcessCpuTracker;->getStats(I)Lcom/android/internal/os/ProcessCpuTracker$Stats;
 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
-HPLcom/android/internal/os/RuntimeInit;->wtf(Ljava/lang/String;Ljava/lang/Throwable;Z)V
-HPLcom/android/internal/os/SensorPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HPLcom/android/internal/os/SensorPowerCalculator;->getAverageGpsPower(Lcom/android/internal/os/PowerProfile;Landroid/os/BatteryStats;JI)D
 HPLcom/android/internal/os/TransferPipe;-><init>()V
 HPLcom/android/internal/os/TransferPipe;->closeFd(I)V
 HPLcom/android/internal/os/TransferPipe;->getNewOutputStream()Ljava/io/OutputStream;
@@ -9245,48 +9813,39 @@
 HPLcom/android/internal/os/TransferPipe;->go(Ljava/io/FileDescriptor;J)V
 HPLcom/android/internal/os/TransferPipe;->kill()V
 HPLcom/android/internal/os/TransferPipe;->run()V
-HPLcom/android/internal/os/WakelockPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HPLcom/android/internal/os/WakelockPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
-HPLcom/android/internal/os/WakelockPowerCalculator;->reset()V
-HPLcom/android/internal/os/WifiPowerCalculator;-><init>(Lcom/android/internal/os/PowerProfile;)V
-HPLcom/android/internal/os/WifiPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
-HPLcom/android/internal/os/WifiPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
-HPLcom/android/internal/os/WifiPowerCalculator;->reset()V
+HPLcom/android/internal/os/WifiPowerEstimator;-><init>(Lcom/android/internal/os/PowerProfile;)V
+HPLcom/android/internal/os/WifiPowerEstimator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
+HPLcom/android/internal/os/WifiPowerEstimator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
+HPLcom/android/internal/os/WifiPowerEstimator;->reset()V
 HPLcom/android/internal/os/logging/MetricsLoggerWrapper;->logAppOverlayEnter(ILjava/lang/String;ZIZ)V
 HPLcom/android/internal/os/logging/MetricsLoggerWrapper;->logAppOverlayExit(ILjava/lang/String;ZIZ)V
-HPLcom/android/internal/policy/DecorView$2;-><init>(Lcom/android/internal/policy/DecorView;Lcom/android/internal/policy/DecorView$ColorViewState;)V
+HPLcom/android/internal/os/logging/MetricsLoggerWrapper;->logPictureInPictureEnter(Landroid/content/Context;ILjava/lang/String;Z)V
+HPLcom/android/internal/os/logging/MetricsLoggerWrapper;->logPictureInPictureFullScreen(Landroid/content/Context;ILjava/lang/String;)V
+HPLcom/android/internal/policy/DecorView$1;->getOutline(Landroid/view/View;Landroid/graphics/Outline;)V
 HPLcom/android/internal/policy/DecorView$2;->run()V
 HPLcom/android/internal/policy/DecorView$5;->onPreDraw()Z
+HPLcom/android/internal/policy/DecorView$ActionModeCallback2Wrapper;->onActionItemClicked(Landroid/view/ActionMode;Landroid/view/MenuItem;)Z
 HPLcom/android/internal/policy/DecorView$ActionModeCallback2Wrapper;->onDestroyActionMode(Landroid/view/ActionMode;)V
 HPLcom/android/internal/policy/DecorView$ActionModeCallback2Wrapper;->onGetContentRect(Landroid/view/ActionMode;Landroid/view/View;Landroid/graphics/Rect;)V
 HPLcom/android/internal/policy/DecorView$ActionModeCallback2Wrapper;->onPrepareActionMode(Landroid/view/ActionMode;Landroid/view/Menu;)Z
 HPLcom/android/internal/policy/DecorView$ColorViewAttributes;->isVisible(IIIZ)Z
-HPLcom/android/internal/policy/DecorView;->cleanupFloatingActionModeViews()V
 HPLcom/android/internal/policy/DecorView;->createFloatingActionMode(Landroid/view/View;Landroid/view/ActionMode$Callback2;)Landroid/view/ActionMode;
-HPLcom/android/internal/policy/DecorView;->getAccessibilityViewId()I
-HPLcom/android/internal/policy/DecorView;->getColorViewLeftInset(II)I
-HPLcom/android/internal/policy/DecorView;->getColorViewRightInset(II)I
-HPLcom/android/internal/policy/DecorView;->getColorViewTopInset(II)I
 HPLcom/android/internal/policy/DecorView;->getNavigationBarRect(IILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HPLcom/android/internal/policy/DecorView;->isTransitionGroup()Z
+HPLcom/android/internal/policy/DecorView;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+HPLcom/android/internal/policy/DecorView;->onDetachedFromWindow()V
+HPLcom/android/internal/policy/DecorView;->setBackgroundFallback(Landroid/graphics/drawable/Drawable;)V
+HPLcom/android/internal/policy/DecorView;->showContextMenuForChild(Landroid/view/View;)Z
 HPLcom/android/internal/policy/DecorView;->showContextMenuForChild(Landroid/view/View;FF)Z
 HPLcom/android/internal/policy/DecorView;->showContextMenuForChildInternal(Landroid/view/View;FF)Z
-HPLcom/android/internal/policy/DecorView;->startActionMode(Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
 HPLcom/android/internal/policy/DecorView;->startActionMode(Landroid/view/View;Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
-HPLcom/android/internal/policy/DividerSnapAlgorithm;->calculateNonDismissingSnapTarget(I)Lcom/android/internal/policy/DividerSnapAlgorithm$SnapTarget;
-HPLcom/android/internal/policy/DividerSnapAlgorithm;->snap(IZ)Lcom/android/internal/policy/DividerSnapAlgorithm$SnapTarget;
-HPLcom/android/internal/policy/DockedDividerUtils;->calculateBoundsForPosition(IILandroid/graphics/Rect;III)V
-HPLcom/android/internal/policy/DockedDividerUtils;->calculatePositionForBounds(Landroid/graphics/Rect;II)I
-HPLcom/android/internal/policy/DockedDividerUtils;->sanitizeStackBounds(Landroid/graphics/Rect;Z)V
-HPLcom/android/internal/policy/IKeyguardDismissCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HPLcom/android/internal/policy/DecorView;->startActionModeForChild(Landroid/view/View;Landroid/view/ActionMode$Callback;I)Landroid/view/ActionMode;
+HPLcom/android/internal/policy/DecorView;->updatePictureInPictureOutlineProvider(Z)V
 HPLcom/android/internal/policy/IKeyguardDismissCallback$Stub;-><init>()V
 HPLcom/android/internal/policy/IKeyguardDismissCallback$Stub;->asBinder()Landroid/os/IBinder;
-HPLcom/android/internal/policy/IKeyguardDismissCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IKeyguardDismissCallback;
 HPLcom/android/internal/policy/IKeyguardDismissCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/internal/policy/IKeyguardDismissCallback;->onDismissCancelled()V
-HPLcom/android/internal/policy/IKeyguardDismissCallback;->onDismissError()V
-HPLcom/android/internal/policy/IKeyguardDismissCallback;->onDismissSucceeded()V
-HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->dismiss(Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
+HPLcom/android/internal/policy/IKeyguardDrawnCallback$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLcom/android/internal/policy/IKeyguardDrawnCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->doKeyguardTimeout(Landroid/os/Bundle;)V
 HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onDreamingStarted()V
 HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onDreamingStopped()V
 HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onFinishedGoingToSleep(IZ)V
@@ -9294,70 +9853,71 @@
 HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onScreenTurnedOff()V
 HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onScreenTurningOff()V
 HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onStartedGoingToSleep(I)V
+HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->setKeyguardEnabled(Z)V
 HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->setOccluded(ZZ)V
 HPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->startKeyguardExitAnimation(JJ)V
-HPLcom/android/internal/policy/KeyguardDismissCallback;-><init>()V
-HPLcom/android/internal/policy/PhoneWindow$1;->run()V
-HPLcom/android/internal/policy/PhoneWindow$PanelFeatureState$SavedState$1;-><init>()V
-HPLcom/android/internal/policy/PhoneWindow$PanelFeatureState$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/internal/policy/PhoneWindow$PanelFeatureState;->onSaveInstanceState()Landroid/os/Parcelable;
+HPLcom/android/internal/policy/IKeyguardStateCallback$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLcom/android/internal/policy/PhoneFallbackEventHandler;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
+HPLcom/android/internal/policy/PhoneFallbackEventHandler;->onKeyDown(ILandroid/view/KeyEvent;)Z
+HPLcom/android/internal/policy/PhoneFallbackEventHandler;->onKeyUp(ILandroid/view/KeyEvent;)Z
+HPLcom/android/internal/policy/PhoneWindow$ActionMenuPresenterCallback;->onCloseMenu(Lcom/android/internal/view/menu/MenuBuilder;Z)V
 HPLcom/android/internal/policy/PhoneWindow$PanelFeatureState;->setMenu(Lcom/android/internal/view/menu/MenuBuilder;)V
+HPLcom/android/internal/policy/PhoneWindow$PhoneWindowMenuCallback;->onCloseMenu(Lcom/android/internal/view/menu/MenuBuilder;Z)V
+HPLcom/android/internal/policy/PhoneWindow$PhoneWindowMenuCallback;->onMenuItemSelected(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)Z
+HPLcom/android/internal/policy/PhoneWindow;->alwaysReadCloseOnTouchAttr()V
+HPLcom/android/internal/policy/PhoneWindow;->checkCloseActionMenu(Landroid/view/Menu;)V
+HPLcom/android/internal/policy/PhoneWindow;->closePanel(I)V
 HPLcom/android/internal/policy/PhoneWindow;->dismissContextMenu()V
-HPLcom/android/internal/policy/PhoneWindow;->doInvalidatePanelMenu(I)V
-HPLcom/android/internal/policy/PhoneWindow;->getAllowEnterTransitionOverlap()Z
-HPLcom/android/internal/policy/PhoneWindow;->getAllowReturnTransitionOverlap()Z
-HPLcom/android/internal/policy/PhoneWindow;->getEnterTransition()Landroid/transition/Transition;
-HPLcom/android/internal/policy/PhoneWindow;->getExitTransition()Landroid/transition/Transition;
-HPLcom/android/internal/policy/PhoneWindow;->getReenterTransition()Landroid/transition/Transition;
-HPLcom/android/internal/policy/PhoneWindow;->getReturnTransition()Landroid/transition/Transition;
-HPLcom/android/internal/policy/PhoneWindow;->getSharedElementEnterTransition()Landroid/transition/Transition;
-HPLcom/android/internal/policy/PhoneWindow;->getSharedElementExitTransition()Landroid/transition/Transition;
-HPLcom/android/internal/policy/PhoneWindow;->getSharedElementReenterTransition()Landroid/transition/Transition;
-HPLcom/android/internal/policy/PhoneWindow;->getSharedElementReturnTransition()Landroid/transition/Transition;
-HPLcom/android/internal/policy/PhoneWindow;->getSharedElementsUseOverlay()Z
+HPLcom/android/internal/policy/PhoneWindow;->getCurrentFocus()Landroid/view/View;
+HPLcom/android/internal/policy/PhoneWindow;->getVolumeControlStream()I
 HPLcom/android/internal/policy/PhoneWindow;->initializePanelMenu(Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;)Z
-HPLcom/android/internal/policy/PhoneWindow;->invalidatePanelMenu(I)V
-HPLcom/android/internal/policy/PhoneWindow;->performPanelShortcut(IILandroid/view/KeyEvent;I)Z
-HPLcom/android/internal/policy/PhoneWindow;->performPanelShortcut(Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;ILandroid/view/KeyEvent;I)Z
+HPLcom/android/internal/policy/PhoneWindow;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+HPLcom/android/internal/policy/PhoneWindow;->onMultiWindowModeChanged()V
+HPLcom/android/internal/policy/PhoneWindow;->onPictureInPictureModeChanged(Z)V
 HPLcom/android/internal/policy/PhoneWindow;->preparePanel(Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;Landroid/view/KeyEvent;)Z
 HPLcom/android/internal/policy/PhoneWindow;->sendCloseSystemWindows(Landroid/content/Context;Ljava/lang/String;)V
-HPLcom/android/internal/policy/PhoneWindow;->setAllowEnterTransitionOverlap(Z)V
-HPLcom/android/internal/policy/PhoneWindow;->setAllowReturnTransitionOverlap(Z)V
+HPLcom/android/internal/policy/PhoneWindow;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
+HPLcom/android/internal/policy/PhoneWindow;->setCloseOnSwipeEnabled(Z)V
 HPLcom/android/internal/policy/PhoneWindow;->setDefaultIcon(I)V
 HPLcom/android/internal/policy/PhoneWindow;->setDefaultLogo(I)V
-HPLcom/android/internal/policy/PhoneWindow;->setEnterTransition(Landroid/transition/Transition;)V
-HPLcom/android/internal/policy/PhoneWindow;->setExitTransition(Landroid/transition/Transition;)V
-HPLcom/android/internal/policy/PhoneWindow;->setReenterTransition(Landroid/transition/Transition;)V
-HPLcom/android/internal/policy/PhoneWindow;->setReturnTransition(Landroid/transition/Transition;)V
-HPLcom/android/internal/policy/PhoneWindow;->setSharedElementEnterTransition(Landroid/transition/Transition;)V
-HPLcom/android/internal/policy/PhoneWindow;->setSharedElementReturnTransition(Landroid/transition/Transition;)V
-HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionCancelled()V
-HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionFinished()V
-HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionPending()V
+HPLcom/android/internal/policy/PhoneWindow;->setFeatureInt(II)V
+HPLcom/android/internal/policy/PhoneWindow;->setMediaController(Landroid/media/session/MediaController;)V
+HPLcom/android/internal/policy/PhoneWindow;->setNavigationBarDividerColor(I)V
+HPLcom/android/internal/policy/PhoneWindow;->setUiOptions(I)V
+HPLcom/android/internal/policy/PhoneWindow;->setVolumeControlStream(I)V
+HPLcom/android/internal/policy/PhoneWindow;->updateInt(IIZ)V
+HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionCancelled(I)V
+HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionPending(I)V
+HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionStarting(IJJ)V
 HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->handleSystemKey(I)V
+HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->onBiometricAuthenticated(Z)V
+HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->onBiometricError(Ljava/lang/String;)V
+HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->onBiometricHelp(Ljava/lang/String;)V
 HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->onCameraLaunchGestureDetected(I)V
+HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->onDisplayReady(I)V
 HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->onProposedRotationChanged(IZ)V
+HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->remQsTile(Landroid/content/ComponentName;)V
 HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->removeIcon(Ljava/lang/String;)V
 HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setIcon(Ljava/lang/String;Lcom/android/internal/statusbar/StatusBarIcon;)V
-HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setImeWindowStatus(Landroid/os/IBinder;IIZ)V
-HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setWindowState(II)V
+HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setImeWindowStatus(ILandroid/os/IBinder;IIZ)V
+HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setWindowState(III)V
+HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->showBiometricDialog(Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricServiceReceiverInternal;IZI)V
+HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->showGlobalActionsMenu()V
+HPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->showWirelessChargingAnimation(I)V
+HPLcom/android/internal/statusbar/IStatusBarService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLcom/android/internal/statusbar/NotificationVisibility$1;-><init>()V
 HPLcom/android/internal/statusbar/NotificationVisibility$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/statusbar/NotificationVisibility;
 HPLcom/android/internal/statusbar/NotificationVisibility$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLcom/android/internal/statusbar/NotificationVisibility$1;->newArray(I)[Lcom/android/internal/statusbar/NotificationVisibility;
 HPLcom/android/internal/statusbar/NotificationVisibility$1;->newArray(I)[Ljava/lang/Object;
-HPLcom/android/internal/statusbar/NotificationVisibility;->obtain()Lcom/android/internal/statusbar/NotificationVisibility;
+HPLcom/android/internal/statusbar/NotificationVisibility$NotificationLocation;-><init>(Ljava/lang/String;II)V
+HPLcom/android/internal/statusbar/NotificationVisibility$NotificationLocation;->values()[Lcom/android/internal/statusbar/NotificationVisibility$NotificationLocation;
+HPLcom/android/internal/statusbar/NotificationVisibility;->readFromParcel(Landroid/os/Parcel;)V
 HPLcom/android/internal/statusbar/NotificationVisibility;->recycle()V
 HPLcom/android/internal/statusbar/StatusBarIcon$1;-><init>()V
 HPLcom/android/internal/statusbar/StatusBarIcon;-><init>(Landroid/os/UserHandle;Ljava/lang/String;Landroid/graphics/drawable/Icon;IILjava/lang/CharSequence;)V
 HPLcom/android/internal/statusbar/StatusBarIcon;-><init>(Ljava/lang/String;Landroid/os/UserHandle;IIILjava/lang/CharSequence;)V
 HPLcom/android/internal/statusbar/StatusBarIcon;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/internal/telecom/ICallScreeningAdapter$Stub;-><init>()V
-HPLcom/android/internal/telecom/ICallScreeningAdapter$Stub;->asBinder()Landroid/os/IBinder;
-HPLcom/android/internal/telecom/ICallScreeningAdapter$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/internal/telecom/ICallScreeningService$Stub$Proxy;->screenCall(Lcom/android/internal/telecom/ICallScreeningAdapter;Landroid/telecom/ParcelableCall;)V
-HPLcom/android/internal/telecom/ICallScreeningService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/ICallScreeningService;
-HPLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->abort(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
 HPLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->addConnectionServiceAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;Landroid/telecom/Logging/Session$Info;)V
 HPLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->answer(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
 HPLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->connectionServiceFocusGained(Landroid/telecom/Logging/Session$Info;)V
@@ -9366,44 +9926,13 @@
 HPLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->disconnect(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
 HPLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->onCallAudioStateChanged(Ljava/lang/String;Landroid/telecom/CallAudioState;Landroid/telecom/Logging/Session$Info;)V
 HPLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->playDtmfTone(Ljava/lang/String;CLandroid/telecom/Logging/Session$Info;)V
+HPLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->reject(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
 HPLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->removeConnectionServiceAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;Landroid/telecom/Logging/Session$Info;)V
 HPLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->silence(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
 HPLcom/android/internal/telecom/IConnectionService$Stub$Proxy;->stopDtmfTone(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
+HPLcom/android/internal/telecom/IConnectionService$Stub;-><init>()V
 HPLcom/android/internal/telecom/IConnectionService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/IConnectionService;
 HPLcom/android/internal/telecom/IConnectionService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/internal/telecom/IConnectionService;->abort(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->addConnectionServiceAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->answer(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->answerVideo(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->conference(Ljava/lang/String;Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->connectionServiceFocusGained(Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->connectionServiceFocusLost(Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->createConnection(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;ZZLandroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->createConnectionComplete(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->createConnectionFailed(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Landroid/telecom/ConnectionRequest;ZLandroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->deflect(Ljava/lang/String;Landroid/net/Uri;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->disconnect(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->handoverComplete(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->handoverFailed(Ljava/lang/String;Landroid/telecom/ConnectionRequest;ILandroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->hold(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->mergeConference(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->onCallAudioStateChanged(Ljava/lang/String;Landroid/telecom/CallAudioState;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->onExtrasChanged(Ljava/lang/String;Landroid/os/Bundle;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->onPostDialContinue(Ljava/lang/String;ZLandroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->playDtmfTone(Ljava/lang/String;CLandroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->pullExternalCall(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->reject(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->rejectWithMessage(Ljava/lang/String;Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->removeConnectionServiceAdapter(Lcom/android/internal/telecom/IConnectionServiceAdapter;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->respondToRttUpgradeRequest(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->sendCallEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->silence(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->splitFromConference(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->startRtt(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->stopDtmfTone(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->stopRtt(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->swapConference(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionService;->unhold(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
 HPLcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->handleCreateConnectionComplete(Ljava/lang/String;Landroid/telecom/ConnectionRequest;Landroid/telecom/ParcelableConnection;Landroid/telecom/Logging/Session$Info;)V
 HPLcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->onPhoneAccountChanged(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;Landroid/telecom/Logging/Session$Info;)V
@@ -9417,49 +9946,22 @@
 HPLcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setConnectionCapabilities(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
 HPLcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setConnectionProperties(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
 HPLcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setDisconnected(Ljava/lang/String;Landroid/telecom/DisconnectCause;Landroid/telecom/Logging/Session$Info;)V
+HPLcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setOnHold(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
+HPLcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setRingbackRequested(Ljava/lang/String;ZLandroid/telecom/Logging/Session$Info;)V
 HPLcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;->setStatusHints(Ljava/lang/String;Landroid/telecom/StatusHints;Landroid/telecom/Logging/Session$Info;)V
 HPLcom/android/internal/telecom/IConnectionServiceAdapter$Stub;-><init>()V
 HPLcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->asBinder()Landroid/os/IBinder;
+HPLcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLcom/android/internal/telecom/IConnectionServiceAdapter$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->addConferenceCall(Ljava/lang/String;Landroid/telecom/ParcelableConference;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->addExistingConnection(Ljava/lang/String;Landroid/telecom/ParcelableConnection;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->handleCreateConnectionComplete(Ljava/lang/String;Landroid/telecom/ConnectionRequest;Landroid/telecom/ParcelableConnection;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->onConnectionEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->onConnectionServiceFocusReleased(Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->onPhoneAccountChanged(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->onPostDialChar(Ljava/lang/String;CLandroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->onPostDialWait(Ljava/lang/String;Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->onRemoteRttRequest(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->onRttInitiationFailure(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->onRttInitiationSuccess(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->onRttSessionRemotelyTerminated(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->putExtras(Ljava/lang/String;Landroid/os/Bundle;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->queryRemoteConnectionServices(Lcom/android/internal/telecom/RemoteServiceCallback;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->removeCall(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->removeExtras(Ljava/lang/String;Ljava/util/List;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setActive(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setAddress(Ljava/lang/String;Landroid/net/Uri;ILandroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setAudioRoute(Ljava/lang/String;ILjava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setCallerDisplayName(Ljava/lang/String;Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setConferenceMergeFailed(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setConferenceableConnections(Ljava/lang/String;Ljava/util/List;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setConnectionCapabilities(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setConnectionProperties(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setDialing(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setDisconnected(Ljava/lang/String;Landroid/telecom/DisconnectCause;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setIsConferenced(Ljava/lang/String;Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setIsVoipAudioMode(Ljava/lang/String;ZLandroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setOnHold(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setPulling(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setRingbackRequested(Ljava/lang/String;ZLandroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setRinging(Ljava/lang/String;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setStatusHints(Ljava/lang/String;Landroid/telecom/StatusHints;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setVideoProvider(Ljava/lang/String;Lcom/android/internal/telecom/IVideoProvider;Landroid/telecom/Logging/Session$Info;)V
-HPLcom/android/internal/telecom/IConnectionServiceAdapter;->setVideoState(Ljava/lang/String;ILandroid/telecom/Logging/Session$Info;)V
 HPLcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->answerCall(Ljava/lang/String;I)V
 HPLcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->disconnectCall(Ljava/lang/String;)V
+HPLcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->holdCall(Ljava/lang/String;)V
+HPLcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->mute(Z)V
 HPLcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->playDtmfTone(Ljava/lang/String;C)V
+HPLcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->rejectCall(Ljava/lang/String;ZLjava/lang/String;)V
+HPLcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->setAudioRoute(ILjava/lang/String;)V
 HPLcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->stopDtmfTone(Ljava/lang/String;)V
+HPLcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;->unholdCall(Ljava/lang/String;)V
 HPLcom/android/internal/telecom/IInCallAdapter$Stub;-><init>()V
 HPLcom/android/internal/telecom/IInCallAdapter$Stub;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/telecom/IInCallAdapter$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
@@ -9471,32 +9973,52 @@
 HPLcom/android/internal/telecom/IInCallService$Stub$Proxy;->updateCall(Landroid/telecom/ParcelableCall;)V
 HPLcom/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
-HPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->cancelMissedCallsNotification(Ljava/lang/String;)V
+HPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getCallState()I
 HPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getPhoneAccountsSupportingScheme(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-HPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->placeCall(Landroid/net/Uri;Landroid/os/Bundle;Ljava/lang/String;)V
-HPLcom/android/internal/telecom/IVideoCallback$Stub$Proxy;->changeCallDataUsage(J)V
-HPLcom/android/internal/telecom/IVideoCallback$Stub;-><init>()V
-HPLcom/android/internal/telecom/IVideoCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->removeVideoCallback(Landroid/os/IBinder;)V
-HPLcom/android/internal/telecom/IVideoProvider$Stub;->asBinder()Landroid/os/IBinder;
-HPLcom/android/internal/telecom/IVideoProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getSimCallManager()Landroid/telecom/PhoneAccountHandle;
+HPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isInEmergencyCall()Z
+HPLcom/android/internal/telecom/ITelecomService$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLcom/android/internal/telecom/RemoteServiceCallback$Stub$Proxy;->onResult(Ljava/util/List;Ljava/util/List;)V
+HPLcom/android/internal/telecom/RemoteServiceCallback$Stub;-><init>()V
 HPLcom/android/internal/telecom/RemoteServiceCallback$Stub;->asBinder()Landroid/os/IBinder;
-HPLcom/android/internal/telecom/RemoteServiceCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/RemoteServiceCallback;
 HPLcom/android/internal/telecom/RemoteServiceCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/internal/telecom/RemoteServiceCallback;->onError()V
-HPLcom/android/internal/telecom/RemoteServiceCallback;->onResult(Ljava/util/List;Ljava/util/List;)V
+HPLcom/android/internal/telephony/-$$Lambda$ImsSmsDispatcher$3$q7JFSZBuWsj-jBm5R51WxdJYNxc;->onSmsInjectedResult(I)V
+HPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$1-6zFa-5X-_-HsO5oSaupKDtHL0;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
+HPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$1zkPy06BwndFkKrGCUI1ORIPJcI;-><init>()V
+HPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$1zkPy06BwndFkKrGCUI1ORIPJcI;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
+HPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$2xgrYNleR8FFzFT8hEQx3mDtZ8g;-><init>()V
+HPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$2xgrYNleR8FFzFT8hEQx3mDtZ8g;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
+HPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$FHid4fId_8FGzS_VkQR6V_NuxrY;->checkPermission(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
+HPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$Ja9yTBcEYPqTRBIP-hL0otixVeE;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
+HPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$LX6rN0XZFTVXkDiHGVCozgs8kHU;-><init>()V
+HPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$NO5-HxAafVP54fe9chLZKTACeyU;->checkPermission(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
+HPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$ZOtVAnuhxrXl2L906I6eTOentP0;-><init>()V
+HPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$ZOtVAnuhxrXl2L906I6eTOentP0;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
+HPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$oLIrumQtrxqYONQeIeqNtbJdJMU;-><init>()V
+HPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$oLIrumQtrxqYONQeIeqNtbJdJMU;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
 HPLcom/android/internal/telephony/-$$Lambda$TelephonyPermissions$LxEEC4irBSbjD1lSC4EeVLgFY9I;->get()Ljava/lang/Object;
+HPLcom/android/internal/telephony/AppSmsManager;->extractMessage(Landroid/content/Intent;)Ljava/lang/String;
+HPLcom/android/internal/telephony/AppSmsManager;->findAppRequestInfoSmsIntentLocked(Ljava/lang/String;)Lcom/android/internal/telephony/AppSmsManager$AppRequestInfo;
+HPLcom/android/internal/telephony/AppSmsManager;->handleSmsReceivedIntent(Landroid/content/Intent;)Z
+HPLcom/android/internal/telephony/AppSmsManager;->removeExpiredTokenLocked()V
+HPLcom/android/internal/telephony/BaseCommands;->registerForLineControlInfo(Landroid/os/Handler;ILjava/lang/Object;)V
+HPLcom/android/internal/telephony/BaseCommands;->unSetOnCatCallSetUp(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/BaseCommands;->unSetOnCatCcAlphaNotify(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/BaseCommands;->unSetOnCatEvent(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/BaseCommands;->unSetOnCatProactiveCmd(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/BaseCommands;->unSetOnCatSessionEnd(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/BaseCommands;->unSetOnSmsOnSim(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/BaseCommands;->unregisterForIccRefresh(Landroid/os/Handler;)V
 HPLcom/android/internal/telephony/BaseCommands;->unregisterForInCallVoicePrivacyOff(Landroid/os/Handler;)V
 HPLcom/android/internal/telephony/BaseCommands;->unregisterForInCallVoicePrivacyOn(Landroid/os/Handler;)V
-HPLcom/android/internal/telephony/BaseCommands;->unregisterForLceInfo(Landroid/os/Handler;)V
-HPLcom/android/internal/telephony/BaseCommands;->unregisterForNattKeepaliveStatus(Landroid/os/Handler;)V
-HPLcom/android/internal/telephony/BlockChecker;->isBlocked(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Z
+HPLcom/android/internal/telephony/BaseCommands;->unregisterForLineControlInfo(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/BaseCommands;->unregisterForNotAvailable(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/BaseCommands;->unregisterForOffOrNotAvailable(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/BlockChecker;->getBlockStatus(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)I
 HPLcom/android/internal/telephony/Call$State;->isRinging()Z
-HPLcom/android/internal/telephony/Call;->clearDisconnected()V
+HPLcom/android/internal/telephony/Call;->getLatestConnection()Lcom/android/internal/telephony/Connection;
 HPLcom/android/internal/telephony/Call;->hasConnections()Z
 HPLcom/android/internal/telephony/Call;->isDialingOrAlerting()Z
-HPLcom/android/internal/telephony/Call;->setState(Lcom/android/internal/telephony/Call$State;)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;
@@ -9504,6 +10026,7 @@
 HPLcom/android/internal/telephony/CallManager;->hasActiveFgCall()Z
 HPLcom/android/internal/telephony/CallManager;->hasMoreThanOneRingingCall()Z
 HPLcom/android/internal/telephony/CallTracker;->checkForTestEmergencyNumber(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/internal/telephony/CallTracker;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 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;->getColumnIndexForPersonId(Landroid/net/Uri;Landroid/database/Cursor;)I
@@ -9519,40 +10042,31 @@
 HPLcom/android/internal/telephony/CallerInfoAsyncQuery;->sanitizeUriToString(Landroid/net/Uri;)Ljava/lang/String;
 HPLcom/android/internal/telephony/CallerInfoAsyncQuery;->startQuery(ILandroid/content/Context;Ljava/lang/String;Lcom/android/internal/telephony/CallerInfoAsyncQuery$OnQueryCompleteListener;Ljava/lang/Object;)Lcom/android/internal/telephony/CallerInfoAsyncQuery;
 HPLcom/android/internal/telephony/CallerInfoAsyncQuery;->startQuery(ILandroid/content/Context;Ljava/lang/String;Lcom/android/internal/telephony/CallerInfoAsyncQuery$OnQueryCompleteListener;Ljava/lang/Object;I)Lcom/android/internal/telephony/CallerInfoAsyncQuery;
-HPLcom/android/internal/telephony/CarrierIdentifier;->getCarrierId()I
-HPLcom/android/internal/telephony/CarrierServiceBindHelper$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HPLcom/android/internal/telephony/CarrierServiceBindHelper$AppBinding;->getPackage()Ljava/lang/String;
-HPLcom/android/internal/telephony/CarrierServiceBindHelper$CarrierServicePackageMonitor;->evaluateBinding(Ljava/lang/String;Z)V
-HPLcom/android/internal/telephony/CarrierServiceBindHelper$CarrierServicePackageMonitor;->onPackageModified(Ljava/lang/String;)V
+HPLcom/android/internal/telephony/CarrierActionAgent;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;->toString()Ljava/lang/String;
+HPLcom/android/internal/telephony/CarrierResolver;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/CarrierServiceBindHelper$AppBinding;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/CarrierServiceBindHelper$CarrierServicePackageMonitor;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
 HPLcom/android/internal/telephony/CarrierServiceBindHelper$CarrierServicePackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
-HPLcom/android/internal/telephony/CarrierServicesSmsFilter$CarrierServicesSmsFilterCallbackInterface;->onFilterComplete(I)V
+HPLcom/android/internal/telephony/CarrierServiceBindHelper;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/CarrierServicesSmsFilter$CallbackTimeoutHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/internal/telephony/CarrierServicesSmsFilter$CarrierSmsFilter;->filterSms(Ljava/lang/String;Lcom/android/internal/telephony/CarrierServicesSmsFilter$CarrierSmsFilterCallback;)V
+HPLcom/android/internal/telephony/CarrierServicesSmsFilter$CarrierSmsFilter;->onServiceReady(Landroid/service/carrier/ICarrierMessagingService;)V
+HPLcom/android/internal/telephony/CarrierServicesSmsFilter$CarrierSmsFilterCallback;->onFilterComplete(I)V
+HPLcom/android/internal/telephony/CarrierServicesSmsFilter$FilterAggregator;->onFilterComplete(I)V
 HPLcom/android/internal/telephony/CarrierServicesSmsFilter;->filter()Z
 HPLcom/android/internal/telephony/CarrierServicesSmsFilter;->getCarrierAppPackageForFiltering()Ljava/util/Optional;
 HPLcom/android/internal/telephony/CarrierServicesSmsFilter;->getSystemAppForIntent(Landroid/content/Intent;)Ljava/util/List;
+HPLcom/android/internal/telephony/CarrierSignalAgent;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLcom/android/internal/telephony/CarrierSmsUtils;->getCarrierImsPackage(Landroid/content/Context;Lcom/android/internal/telephony/Phone;)Ljava/lang/String;
 HPLcom/android/internal/telephony/CarrierSmsUtils;->getCarrierImsPackageForIntent(Landroid/content/Context;Lcom/android/internal/telephony/Phone;Landroid/content/Intent;)Ljava/lang/String;
-HPLcom/android/internal/telephony/Connection$Listener;->onAudioQualityChanged(I)V
-HPLcom/android/internal/telephony/Connection$Listener;->onCallPullFailed(Lcom/android/internal/telephony/Connection;)V
-HPLcom/android/internal/telephony/Connection$Listener;->onCallSubstateChanged(I)V
-HPLcom/android/internal/telephony/Connection$Listener;->onConferenceMergedFailed()V
-HPLcom/android/internal/telephony/Connection$Listener;->onConferenceParticipantsChanged(Ljava/util/List;)V
-HPLcom/android/internal/telephony/Connection$Listener;->onConnectionCapabilitiesChanged(I)V
-HPLcom/android/internal/telephony/Connection$Listener;->onConnectionEvent(Ljava/lang/String;Landroid/os/Bundle;)V
-HPLcom/android/internal/telephony/Connection$Listener;->onDisconnect(I)V
-HPLcom/android/internal/telephony/Connection$Listener;->onExitedEcmMode()V
-HPLcom/android/internal/telephony/Connection$Listener;->onExtrasChanged(Landroid/os/Bundle;)V
-HPLcom/android/internal/telephony/Connection$Listener;->onHandoverToWifiFailed()V
-HPLcom/android/internal/telephony/Connection$Listener;->onMultipartyStateChanged(Z)V
-HPLcom/android/internal/telephony/Connection$Listener;->onRttInitiated()V
-HPLcom/android/internal/telephony/Connection$Listener;->onRttModifyRequestReceived()V
-HPLcom/android/internal/telephony/Connection$Listener;->onRttModifyResponseReceived(I)V
-HPLcom/android/internal/telephony/Connection$Listener;->onRttTerminated()V
-HPLcom/android/internal/telephony/Connection$Listener;->onVideoProviderChanged(Landroid/telecom/Connection$VideoProvider;)V
-HPLcom/android/internal/telephony/Connection$Listener;->onVideoStateChanged(I)V
-HPLcom/android/internal/telephony/Connection$Listener;->onWifiChanged(Z)V
+HPLcom/android/internal/telephony/CellBroadcastHandler;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/CellBroadcastHandler;->handleBroadcastSms(Landroid/telephony/SmsCbMessage;)V
+HPLcom/android/internal/telephony/ClientWakelockAccountant;->stopAllPendingRequests(J)V
+HPLcom/android/internal/telephony/ClientWakelockAccountant;->toString()Ljava/lang/String;
+HPLcom/android/internal/telephony/ClientWakelockTracker;->dumpClientRequestTracker(Ljava/io/PrintWriter;)V
+HPLcom/android/internal/telephony/ClientWakelockTracker;->stopTrackingAll()V
 HPLcom/android/internal/telephony/Connection$ListenerBase;-><init>()V
-HPLcom/android/internal/telephony/Connection$PostDialListener;->onPostDialChar(C)V
-HPLcom/android/internal/telephony/Connection$PostDialListener;->onPostDialWait()V
 HPLcom/android/internal/telephony/Connection$PostDialState;-><init>(Ljava/lang/String;I)V
 HPLcom/android/internal/telephony/Connection;-><init>(I)V
 HPLcom/android/internal/telephony/Connection;->addListener(Lcom/android/internal/telephony/Connection$Listener;)V
@@ -9560,6 +10074,7 @@
 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
@@ -9574,41 +10089,72 @@
 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;->isWifi()Z
 HPLcom/android/internal/telephony/Connection;->notifyDisconnect(I)V
 HPLcom/android/internal/telephony/Connection;->notifyPostDialListeners()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;->setAllowAddCallDuringVideoCall(Z)V
 HPLcom/android/internal/telephony/Connection;->setAudioQuality(I)V
+HPLcom/android/internal/telephony/Connection;->setCallRadioTech(I)V
 HPLcom/android/internal/telephony/Connection;->setConnectionCapabilities(I)V
 HPLcom/android/internal/telephony/Connection;->setConnectionExtras(Landroid/os/Bundle;)V
 HPLcom/android/internal/telephony/Connection;->setTelecomCallId(Ljava/lang/String;)V
 HPLcom/android/internal/telephony/Connection;->setVideoState(I)V
 HPLcom/android/internal/telephony/Connection;->shouldAllowAddCallDuringVideoCall()Z
 HPLcom/android/internal/telephony/DebugService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HPLcom/android/internal/telephony/DefaultPhoneNotifier;->convertPreciseCallState(Lcom/android/internal/telephony/Call$State;)I
-HPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyDisconnectCause(II)V
-HPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyPreciseCallState(Lcom/android/internal/telephony/Phone;)V
-HPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyPreciseDataConnectionFailed(Lcom/android/internal/telephony/Phone;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HPLcom/android/internal/telephony/DeviceStateMonitor$1;->onDisplayChanged(I)V
+HPLcom/android/internal/telephony/DefaultPhoneNotifier;->convertDataActivityState(Lcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;)I
+HPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyCallQualityChanged(Lcom/android/internal/telephony/Phone;Landroid/telephony/CallQuality;)V
+HPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyCallQualityChanged(Lcom/android/internal/telephony/Phone;Landroid/telephony/CallQuality;I)V
+HPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyDataConnectionFailed(Lcom/android/internal/telephony/Phone;Ljava/lang/String;)V
+HPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyImsDisconnectCause(Lcom/android/internal/telephony/Phone;Landroid/telephony/ims/ImsReasonInfo;)V
+HPLcom/android/internal/telephony/DeviceStateMonitor$1;->onLost(Landroid/net/Network;)V
+HPLcom/android/internal/telephony/DeviceStateMonitor$2;->onDisplayAdded(I)V
+HPLcom/android/internal/telephony/DeviceStateMonitor$2;->onDisplayChanged(I)V
+HPLcom/android/internal/telephony/DeviceStateMonitor$2;->onDisplayRemoved(I)V
+HPLcom/android/internal/telephony/DeviceStateMonitor;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/DeviceStateMonitor;->onSetIndicationUpdateMode(II)V
+HPLcom/android/internal/telephony/DeviceStateMonitor;->setIndicationUpdateMode(II)V
 HPLcom/android/internal/telephony/DriverCall;-><init>()V
+HPLcom/android/internal/telephony/DriverCall;->compareTo(Lcom/android/internal/telephony/DriverCall;)I
+HPLcom/android/internal/telephony/DriverCall;->compareTo(Ljava/lang/Object;)I
 HPLcom/android/internal/telephony/DriverCall;->presentationFromCLIP(I)I
+HPLcom/android/internal/telephony/GsmAlphabet;->countGsmSeptets(Ljava/lang/CharSequence;Z)Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;
+HPLcom/android/internal/telephony/GsmAlphabet;->countGsmSeptetsUsingTables(Ljava/lang/CharSequence;ZII)I
+HPLcom/android/internal/telephony/GsmAlphabet;->stringToGsm7BitPacked(Ljava/lang/String;IZII)[B
+HPLcom/android/internal/telephony/GsmAlphabet;->stringToGsm7BitPackedWithHeader(Ljava/lang/String;[BII)[B
 HPLcom/android/internal/telephony/GsmCdmaCall;->getPhone()Lcom/android/internal/telephony/Phone;
+HPLcom/android/internal/telephony/GsmCdmaCall;->toString()Ljava/lang/String;
+HPLcom/android/internal/telephony/GsmCdmaCallTracker;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLcom/android/internal/telephony/GsmCdmaCallTracker;->getPhone()Lcom/android/internal/telephony/GsmCdmaPhone;
-HPLcom/android/internal/telephony/GsmCdmaCallTracker;->unregisterForVoiceCallEnded(Landroid/os/Handler;)V
-HPLcom/android/internal/telephony/GsmCdmaCallTracker;->unregisterForVoiceCallStarted(Landroid/os/Handler;)V
 HPLcom/android/internal/telephony/GsmCdmaPhone;->dial(Ljava/lang/String;Lcom/android/internal/telephony/PhoneInternalInterface$DialArgs;)Lcom/android/internal/telephony/Connection;
-HPLcom/android/internal/telephony/GsmCdmaPhone;->getCarrierId()I
+HPLcom/android/internal/telephony/GsmCdmaPhone;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/GsmCdmaPhone;->getCellLocation(Landroid/os/WorkSource;Landroid/os/Message;)V
 HPLcom/android/internal/telephony/GsmCdmaPhone;->getDeviceId()Ljava/lang/String;
+HPLcom/android/internal/telephony/GsmCdmaPhone;->getDeviceSvn()Ljava/lang/String;
 HPLcom/android/internal/telephony/GsmCdmaPhone;->getIccPhoneBookInterfaceManager()Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;
 HPLcom/android/internal/telephony/GsmCdmaPhone;->getImei()Ljava/lang/String;
-HPLcom/android/internal/telephony/GsmCdmaPhone;->getNeighboringCids(Landroid/os/Message;Landroid/os/WorkSource;)V
+HPLcom/android/internal/telephony/GsmCdmaPhone;->getIsimRecords()Lcom/android/internal/telephony/uicc/IsimRecords;
+HPLcom/android/internal/telephony/GsmCdmaPhone;->getMeid()Ljava/lang/String;
+HPLcom/android/internal/telephony/GsmCdmaPhone;->getVoiceMailAlphaTag()Ljava/lang/String;
 HPLcom/android/internal/telephony/GsmCdmaPhone;->getVoiceMailNumber()Ljava/lang/String;
+HPLcom/android/internal/telephony/GsmCdmaPhone;->isCspPlmnEnabled()Z
+HPLcom/android/internal/telephony/GsmCdmaPhone;->isInCall()Z
 HPLcom/android/internal/telephony/GsmCdmaPhone;->isNotificationOfWfcCallRequired(Ljava/lang/String;)Z
+HPLcom/android/internal/telephony/GsmCdmaPhone;->needsOtaServiceProvisioning()Z
+HPLcom/android/internal/telephony/GsmCdmaPhone;->setRadioPower(Z)V
 HPLcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;->getDefaultCarrierServicePackageName()Ljava/lang/String;
 HPLcom/android/internal/telephony/IIccPhoneBook$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLcom/android/internal/telephony/IMms$Stub$Proxy;->downloadMessage(ILjava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
+HPLcom/android/internal/telephony/IMms$Stub$Proxy;->getAutoPersisting()Z
+HPLcom/android/internal/telephony/IMms$Stub$Proxy;->getCarrierConfigValues(I)Landroid/os/Bundle;
+HPLcom/android/internal/telephony/IMms$Stub$Proxy;->sendMessage(ILjava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
+HPLcom/android/internal/telephony/IMms$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IMms;
+HPLcom/android/internal/telephony/IMms$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub$Proxy;->onSubscriptionsChanged()V
+HPLcom/android/internal/telephony/IOns$Stub;-><init>()V
+HPLcom/android/internal/telephony/IOns$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onCallForwardingIndicatorChanged(Z)V
 HPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onCallStateChanged(ILjava/lang/String;)V
 HPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onCarrierNetworkChange(Z)V
@@ -9618,224 +10164,381 @@
 HPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onMessageWaitingIndicatorChanged(Z)V
 HPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onPreciseCallStateChanged(Landroid/telephony/PreciseCallState;)V
 HPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onPreciseDataConnectionStateChanged(Landroid/telephony/PreciseDataConnectionState;)V
+HPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onServiceStateChanged(Landroid/telephony/ServiceState;)V
 HPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V
 HPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getCarrierInfoForImsiEncryption(IILjava/lang/String;)Landroid/telephony/ImsiEncryptionInfo;
+HPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIccSerialNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
 HPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getVoiceMailNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
+HPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubIdList()[I
+HPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubIdList(Z)[I
 HPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubInfoCount(Ljava/lang/String;)I
-HPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultSmsSubId()I
-HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->checkCarrierPrivilegesForPackageAnyPhone(Ljava/lang/String;)I
-HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->enableVisualVoicemailSmsFilter(Ljava/lang/String;ILandroid/telephony/VisualVoicemailSmsFilterSettings;)V
+HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->checkCarrierPrivilegesForPackage(Ljava/lang/String;)I
+HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCallStateForSlot(I)I
+HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCardIdForDefaultEuicc(ILjava/lang/String;)I
+HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCarrierPackageNamesForIntentAndPhone(Landroid/content/Intent;I)Ljava/util/List;
 HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCarrierPrivilegeStatusForUid(II)I
+HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCellLocation(Ljava/lang/String;)Landroid/os/Bundle;
+HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCurrentEmergencyNumberList(Ljava/lang/String;)Ljava/util/Map;
 HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getDataActivity()I
-HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getEmergencyCallbackMode(I)Z
-HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getServiceStateForSubscriber(ILjava/lang/String;)Landroid/telephony/ServiceState;
+HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getLteOnCdmaModeForSubscriber(ILjava/lang/String;)I
+HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getMergedSubscriberIds(Ljava/lang/String;)[Ljava/lang/String;
+HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getNetworkSelectionMode(I)I
+HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getPackagesWithCarrierPrivileges()Ljava/util/List;
+HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getTetherApnRequired()I
 HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVtDataUsage(IZ)Landroid/net/NetworkStats;
+HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->isAvailable(III)Z
 HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->isConcurrentVoiceAndDataAllowed(I)Z
+HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->isDataRoamingEnabled(I)Z
 HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->requestModemActivityInfo(Landroid/os/ResultReceiver;)V
 HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->sendVisualVoicemailSmsForSubscriber(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Landroid/app/PendingIntent;)V
+HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->setDataRoamingEnabled(IZ)V
 HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->setPolicyDataEnabled(ZI)V
-HPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->setRadioIndicationUpdateMode(III)V
-HPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDisconnectCause(II)V
-HPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyPreciseCallState(III)V
-HPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyPreciseDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->removeOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
+HPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->addOnOpportunisticSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
+HPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCallQualityChanged(Landroid/telephony/CallQuality;I)V
+HPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCallQualityChanged(Landroid/telephony/CallQuality;II)V
+HPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDataConnectionFailedForSubscriber(ILjava/lang/String;)V
+HPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyImsDisconnectCause(ILandroid/telephony/ims/ImsReasonInfo;)V
+HPLcom/android/internal/telephony/ITelephonyRegistry$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLcom/android/internal/telephony/IccCard;->hasIccCard()Z
 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
+HPLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->loge(Ljava/lang/String;)V
+HPLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->waitForResult(Lcom/android/internal/telephony/IccPhoneBookInterfaceManager$Request;)V
 HPLcom/android/internal/telephony/IccPhoneBookInterfaceManager;->waitForResult(Ljava/util/concurrent/atomic/AtomicBoolean;)V
 HPLcom/android/internal/telephony/IccProvider;->getRequestSubId(Landroid/net/Uri;)I
 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
 HPLcom/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/IccSmsInterfaceManager;->checkCallingSendTextPermissions(ZLjava/lang/String;Ljava/lang/String;)Z
+HPLcom/android/internal/telephony/IccSmsInterfaceManager;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/IccSmsInterfaceManager;->filterDestAddress(Ljava/lang/String;)Ljava/lang/String;
 HPLcom/android/internal/telephony/IccSmsInterfaceManager;->getImsSmsFormat()Ljava/lang/String;
 HPLcom/android/internal/telephony/IccSmsInterfaceManager;->isImsSmsSupported()Z
-HPLcom/android/internal/telephony/IccSmsInterfaceManager;->sendDataInternal(Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-HPLcom/android/internal/telephony/IccSmsInterfaceManager;->sendDataWithSelfPermissions(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
+HPLcom/android/internal/telephony/IccSmsInterfaceManager;->sendMultipartText(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Z)V
+HPLcom/android/internal/telephony/IccSmsInterfaceManager;->sendMultipartTextWithOptions(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZIZI)V
+HPLcom/android/internal/telephony/IccSmsInterfaceManager;->sendText(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
+HPLcom/android/internal/telephony/IccSmsInterfaceManager;->sendTextInternal(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;ZIZI)V
+HPLcom/android/internal/telephony/IccSmsInterfaceManager;->sendTextWithSelfPermissions(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
+HPLcom/android/internal/telephony/ImsSmsDispatcher$3;->lambda$onSmsReceived$0$ImsSmsDispatcher$3(Landroid/telephony/SmsMessage;II)V
+HPLcom/android/internal/telephony/ImsSmsDispatcher$3;->lambda$onSmsReceived$0(Lcom/android/internal/telephony/ImsSmsDispatcher$3;Landroid/telephony/SmsMessage;II)V
+HPLcom/android/internal/telephony/ImsSmsDispatcher$3;->onSendSmsResult(IIII)V
+HPLcom/android/internal/telephony/ImsSmsDispatcher$3;->onSmsReceived(ILjava/lang/String;[B)V
+HPLcom/android/internal/telephony/ImsSmsDispatcher;->calculateLength(Ljava/lang/CharSequence;Z)Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;
+HPLcom/android/internal/telephony/ImsSmsDispatcher;->getSubmitPdu(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLcom/android/internal/telephony/SmsHeader;II)Lcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;
 HPLcom/android/internal/telephony/ImsSmsDispatcher;->isAvailable()Z
+HPLcom/android/internal/telephony/ImsSmsDispatcher;->isCdmaMo()Z
+HPLcom/android/internal/telephony/ImsSmsDispatcher;->sendSms(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
+HPLcom/android/internal/telephony/ImsSmsDispatcher;->shouldBlockSmsForEcbm()Z
+HPLcom/android/internal/telephony/InboundSmsHandler$CarrierServicesSmsFilterCallback;->onFilterComplete(I)V
 HPLcom/android/internal/telephony/InboundSmsHandler$DeliveringState;->enter()V
 HPLcom/android/internal/telephony/InboundSmsHandler$DeliveringState;->exit()V
 HPLcom/android/internal/telephony/InboundSmsHandler$DeliveringState;->processMessage(Landroid/os/Message;)Z
 HPLcom/android/internal/telephony/InboundSmsHandler$IdleState;->exit()V
+HPLcom/android/internal/telephony/InboundSmsHandler$SmsBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 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
 HPLcom/android/internal/telephony/InboundSmsHandler;->addTrackerToRawTable(Lcom/android/internal/telephony/InboundSmsTracker;Z)I
 HPLcom/android/internal/telephony/InboundSmsHandler;->addTrackerToRawTableAndSendMessage(Lcom/android/internal/telephony/InboundSmsTracker;Z)I
+HPLcom/android/internal/telephony/InboundSmsHandler;->checkAndHandleDuplicate(Lcom/android/internal/telephony/InboundSmsTracker;)Z
 HPLcom/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
 HPLcom/android/internal/telephony/InboundSmsHandler;->dispatchMessage(Lcom/android/internal/telephony/SmsMessageBase;)I
 HPLcom/android/internal/telephony/InboundSmsHandler;->dispatchNormalMessage(Lcom/android/internal/telephony/SmsMessageBase;)I
+HPLcom/android/internal/telephony/InboundSmsHandler;->dispatchSmsDeliveryIntent([[BLjava/lang/String;ILcom/android/internal/telephony/InboundSmsHandler$SmsBroadcastReceiver;)V
+HPLcom/android/internal/telephony/InboundSmsHandler;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLcom/android/internal/telephony/InboundSmsHandler;->filterSms([[BILcom/android/internal/telephony/InboundSmsTracker;Lcom/android/internal/telephony/InboundSmsHandler$SmsBroadcastReceiver;Z)Z
+HPLcom/android/internal/telephony/InboundSmsHandler;->handleInjectSms(Landroid/os/AsyncResult;)V
 HPLcom/android/internal/telephony/InboundSmsHandler;->handleNewSms(Landroid/os/AsyncResult;)V
+HPLcom/android/internal/telephony/InboundSmsHandler;->handleSmsWhitelisting(Landroid/content/ComponentName;)Landroid/os/Bundle;
 HPLcom/android/internal/telephony/InboundSmsHandler;->processMessagePart(Lcom/android/internal/telephony/InboundSmsTracker;)Z
+HPLcom/android/internal/telephony/InboundSmsTracker;->addDestPortQuery(Ljava/lang/String;)Ljava/lang/String;
 HPLcom/android/internal/telephony/InboundSmsTracker;->getAddress()Ljava/lang/String;
 HPLcom/android/internal/telephony/InboundSmsTracker;->getContentValues()Landroid/content/ContentValues;
 HPLcom/android/internal/telephony/InboundSmsTracker;->getDeleteWhere()Ljava/lang/String;
 HPLcom/android/internal/telephony/InboundSmsTracker;->getDeleteWhereArgs()[Ljava/lang/String;
 HPLcom/android/internal/telephony/InboundSmsTracker;->getDestPort()I
 HPLcom/android/internal/telephony/InboundSmsTracker;->getDisplayAddress()Ljava/lang/String;
+HPLcom/android/internal/telephony/InboundSmsTracker;->getExactMatchDupDetectQuery()Landroid/util/Pair;
 HPLcom/android/internal/telephony/InboundSmsTracker;->getFormat()Ljava/lang/String;
+HPLcom/android/internal/telephony/InboundSmsTracker;->getIndexOffset()I
+HPLcom/android/internal/telephony/InboundSmsTracker;->getInexactMatchDupDetectQuery()Landroid/util/Pair;
+HPLcom/android/internal/telephony/InboundSmsTracker;->getMessageBody()Ljava/lang/String;
 HPLcom/android/internal/telephony/InboundSmsTracker;->getMessageCount()I
 HPLcom/android/internal/telephony/InboundSmsTracker;->getPdu()[B
+HPLcom/android/internal/telephony/InboundSmsTracker;->getQueryForSegments()Ljava/lang/String;
 HPLcom/android/internal/telephony/InboundSmsTracker;->getReferenceNumber()I
+HPLcom/android/internal/telephony/InboundSmsTracker;->getSequenceNumber()I
+HPLcom/android/internal/telephony/InboundSmsTracker;->getTimestamp()J
+HPLcom/android/internal/telephony/InboundSmsTracker;->is3gpp2()Z
 HPLcom/android/internal/telephony/InboundSmsTracker;->setDeleteWhere(Ljava/lang/String;[Ljava/lang/String;)V
-HPLcom/android/internal/telephony/IntentBroadcaster$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HPLcom/android/internal/telephony/MmiCode;->cancel()V
-HPLcom/android/internal/telephony/MmiCode;->getDialString()Ljava/lang/String;
-HPLcom/android/internal/telephony/MmiCode;->getMessage()Ljava/lang/CharSequence;
-HPLcom/android/internal/telephony/MmiCode;->getPhone()Lcom/android/internal/telephony/Phone;
-HPLcom/android/internal/telephony/MmiCode;->getState()Lcom/android/internal/telephony/MmiCode$State;
-HPLcom/android/internal/telephony/MmiCode;->getUssdCallbackReceiver()Landroid/os/ResultReceiver;
-HPLcom/android/internal/telephony/MmiCode;->isCancelable()Z
-HPLcom/android/internal/telephony/MmiCode;->isPinPukCommand()Z
-HPLcom/android/internal/telephony/MmiCode;->isUssdRequest()Z
-HPLcom/android/internal/telephony/MmiCode;->processCode()V
-HPLcom/android/internal/telephony/NitzStateMachine$DeviceState;->getNitzUpdateDiffMillis()I
-HPLcom/android/internal/telephony/NitzStateMachine$DeviceState;->getNitzUpdateSpacingMillis()I
+HPLcom/android/internal/telephony/LocaleTracker;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/NewNitzStateMachine$1;->onTimeZoneDetectionChange(Z)V
+HPLcom/android/internal/telephony/NewNitzStateMachine;->dumpLogs(Ljava/io/FileDescriptor;Lcom/android/internal/util/IndentingPrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/NewNitzStateMachine;->dumpState(Ljava/io/PrintWriter;)V
+HPLcom/android/internal/telephony/NewNitzStateMachine;->handleAutoTimeZoneEnabled()V
+HPLcom/android/internal/telephony/NewTimeServiceHelper$1;->onChange(Z)V
+HPLcom/android/internal/telephony/Phone;->areAllDataDisconnected()Z
+HPLcom/android/internal/telephony/Phone;->carrierActionSetMeteredApnsEnabled(Z)V
 HPLcom/android/internal/telephony/Phone;->checkWfcWifiOnlyModeBeforeDial(Lcom/android/internal/telephony/Phone;ILandroid/content/Context;)V
+HPLcom/android/internal/telephony/Phone;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/Phone;->getAllowedCarriers(Landroid/os/Message;Landroid/os/WorkSource;)V
+HPLcom/android/internal/telephony/Phone;->getAppSmsManager()Lcom/android/internal/telephony/AppSmsManager;
 HPLcom/android/internal/telephony/Phone;->getCurrentUiccAppType()Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
+HPLcom/android/internal/telephony/Phone;->getEmergencyNumberTracker()Lcom/android/internal/telephony/emergency/EmergencyNumberTracker;
 HPLcom/android/internal/telephony/Phone;->getPostDialHandler()Landroid/os/Registrant;
+HPLcom/android/internal/telephony/Phone;->getServiceStateTracker()Lcom/android/internal/telephony/ServiceStateTracker;
+HPLcom/android/internal/telephony/Phone;->getVoiceMessageCount()I
 HPLcom/android/internal/telephony/Phone;->isConcurrentVoiceAndDataAllowed()Z
+HPLcom/android/internal/telephony/Phone;->isDnsCheckDisabled()Z
+HPLcom/android/internal/telephony/Phone;->isImsCapabilityAvailable(II)Z
 HPLcom/android/internal/telephony/Phone;->isImsRegistered()Z
 HPLcom/android/internal/telephony/Phone;->isImsUseEnabled()Z
-HPLcom/android/internal/telephony/Phone;->isVolteEnabled()Z
+HPLcom/android/internal/telephony/Phone;->notifyDataConnectionFailed(Ljava/lang/String;)V
 HPLcom/android/internal/telephony/Phone;->notifyNewRingingConnectionP(Lcom/android/internal/telephony/Connection;)V
-HPLcom/android/internal/telephony/Phone;->notifyPreciseDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HPLcom/android/internal/telephony/Phone;->registerForHandoverStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
+HPLcom/android/internal/telephony/Phone;->registerForLineControlInfo(Landroid/os/Handler;ILjava/lang/Object;)V
+HPLcom/android/internal/telephony/Phone;->setDataActivationState(I)V
 HPLcom/android/internal/telephony/Phone;->setEchoSuppressionEnabled()V
+HPLcom/android/internal/telephony/Phone;->setRadioIndicationUpdateMode(II)V
+HPLcom/android/internal/telephony/Phone;->setVoiceActivationState(I)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
+HPLcom/android/internal/telephony/Phone;->unregisterForLineControlInfo(Landroid/os/Handler;)V
 HPLcom/android/internal/telephony/Phone;->unregisterForPreciseCallStateChanged(Landroid/os/Handler;)V
 HPLcom/android/internal/telephony/PhoneConstantConversions;->convertCallState(I)Lcom/android/internal/telephony/PhoneConstants$State;
+HPLcom/android/internal/telephony/PhoneFactory;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLcom/android/internal/telephony/PhoneInternalInterface$DialArgs$Builder;->setIntentExtras(Landroid/os/Bundle;)Lcom/android/internal/telephony/PhoneInternalInterface$DialArgs$Builder;
 HPLcom/android/internal/telephony/PhoneInternalInterface$DialArgs$Builder;->setVideoState(I)Lcom/android/internal/telephony/PhoneInternalInterface$DialArgs$Builder;
+HPLcom/android/internal/telephony/PhoneStateIntentReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HPLcom/android/internal/telephony/PhoneStateIntentReceiver;->registerIntent()V
+HPLcom/android/internal/telephony/PhoneStateIntentReceiver;->unregisterIntent()V
+HPLcom/android/internal/telephony/PhoneSubInfoController;->callPhoneMethodForPhoneIdWithReadDeviceIdentifierCheck(ILjava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/PhoneSubInfoController$CallPhoneMethodHelper;)Ljava/lang/Object;
+HPLcom/android/internal/telephony/PhoneSubInfoController;->getDeviceId(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/internal/telephony/PhoneSubInfoController;->getDeviceIdForPhone(ILjava/lang/String;)Ljava/lang/String;
 HPLcom/android/internal/telephony/PhoneSubInfoController;->getIccSerialNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
+HPLcom/android/internal/telephony/PhoneSubInfoController;->getIccSimChallengeResponse(IIILjava/lang/String;)Ljava/lang/String;
 HPLcom/android/internal/telephony/PhoneSubInfoController;->getIsimDomain(I)Ljava/lang/String;
 HPLcom/android/internal/telephony/PhoneSubInfoController;->getIsimImpu(I)[Ljava/lang/String;
+HPLcom/android/internal/telephony/PhoneSubInfoController;->getVoiceMailAlphaTagForSubscriber(ILjava/lang/String;)Ljava/lang/String;
 HPLcom/android/internal/telephony/PhoneSubInfoController;->getVoiceMailNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HPLcom/android/internal/telephony/PhoneSwitcher$PhoneSwitcherNetworkRequestListener;->releaseNetworkFor(Landroid/net/NetworkRequest;)V
+HPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$callPhoneMethodForSubIdWithPrivilegedCheck$24$PhoneSubInfoController(Ljava/lang/String;Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
+HPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$getIccSimChallengeResponse$19$PhoneSubInfoController(IILjava/lang/String;Lcom/android/internal/telephony/Phone;)Ljava/lang/String;
+HPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$getIccSimChallengeResponse$20$PhoneSubInfoController(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
+HPLcom/android/internal/telephony/PhoneSubInfoController;->lambda$getVoiceMailNumberForSubscriber$12$PhoneSubInfoController(Lcom/android/internal/telephony/Phone;)Ljava/lang/String;
+HPLcom/android/internal/telephony/PhoneSwitcher$2;->onPreciseCallStateChanged(Landroid/telephony/PreciseCallState;)V
+HPLcom/android/internal/telephony/PhoneSwitcher;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/PhoneSwitcher;->isCallActive(Lcom/android/internal/telephony/Phone;)Z
+HPLcom/android/internal/telephony/ProxyController;->getMinRafSupported()I
 HPLcom/android/internal/telephony/RIL;->acknowledgeLastIncomingGsmSms(ZILandroid/os/Message;)V
-HPLcom/android/internal/telephony/RIL;->deactivateDataCall(IILandroid/os/Message;)V
+HPLcom/android/internal/telephony/RIL;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/RIL;->getAllowedCarriers(Landroid/os/Message;Landroid/os/WorkSource;)V
 HPLcom/android/internal/telephony/RIL;->getDataCallList(Landroid/os/Message;)V
-HPLcom/android/internal/telephony/RIL;->getNeighboringCids(Landroid/os/Message;Landroid/os/WorkSource;)V
+HPLcom/android/internal/telephony/RIL;->getPreferredNetworkType(Landroid/os/Message;)V
 HPLcom/android/internal/telephony/RIL;->getTelephonyRILTimingHistograms()Ljava/util/List;
-HPLcom/android/internal/telephony/RIL;->sendImsGsmSms(Ljava/lang/String;Ljava/lang/String;IILandroid/os/Message;)V
-HPLcom/android/internal/telephony/RIL;->writeMetricsNewSms(II)V
+HPLcom/android/internal/telephony/RIL;->requestIccSimAuthentication(ILjava/lang/String;Ljava/lang/String;Landroid/os/Message;)V
+HPLcom/android/internal/telephony/RadioIndication;->newBroadcastSms(ILjava/util/ArrayList;)V
 HPLcom/android/internal/telephony/RadioIndication;->newSms(ILjava/util/ArrayList;)V
 HPLcom/android/internal/telephony/RadioIndication;->voiceRadioTechChanged(II)V
 HPLcom/android/internal/telephony/RadioResponse;->acknowledgeLastIncomingGsmSmsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HPLcom/android/internal/telephony/RadioResponse;->deactivateDataCallResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
+HPLcom/android/internal/telephony/RadioResponse;->getAllowedCarriersResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;ZLandroid/hardware/radio/V1_0/CarrierRestrictions;)V
 HPLcom/android/internal/telephony/RadioResponse;->getDataCallListResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HPLcom/android/internal/telephony/RadioResponse;->getNeighboringCidsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HPLcom/android/internal/telephony/RadioResponse;->responseCellList(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HPLcom/android/internal/telephony/RadioResponse;->responseSms(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SendSmsResult;)V
-HPLcom/android/internal/telephony/RadioResponse;->sendImsSmsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SendSmsResult;)V
-HPLcom/android/internal/telephony/RetryManager;->getDelayForNextApn(Z)J
-HPLcom/android/internal/telephony/RetryManager;->getRetryAfterDisconnectDelay()J
-HPLcom/android/internal/telephony/RetryManager;->getRetryTimer()I
-HPLcom/android/internal/telephony/RetryManager;->markApnPermanentFailed(Lcom/android/internal/telephony/dataconnection/ApnSetting;)V
-HPLcom/android/internal/telephony/RetryManager;->setModemSuggestedDelay(J)V
+HPLcom/android/internal/telephony/RadioResponse;->getPreferredNetworkTypeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
+HPLcom/android/internal/telephony/RadioResponse;->requestIccSimAuthenticationResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/IccIoResult;)V
+HPLcom/android/internal/telephony/RadioResponse;->responseCarrierRestrictions(Landroid/hardware/radio/V1_0/RadioResponseInfo;ZLandroid/hardware/radio/V1_4/CarrierRestrictionsWithPriority;I)V
+HPLcom/android/internal/telephony/RadioResponse;->responseICC_IOBase64(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/IccIoResult;)V
+HPLcom/android/internal/telephony/RetryManager;->markApnPermanentFailed(Landroid/telephony/data/ApnSetting;)V
+HPLcom/android/internal/telephony/RetryManager;->toString()Ljava/lang/String;
+HPLcom/android/internal/telephony/SMSDispatcher$ConfirmDialogListener;->onClick(Landroid/content/DialogInterface;I)V
+HPLcom/android/internal/telephony/SMSDispatcher$SmsSender;->sendSmsByCarrierApp(Ljava/lang/String;Lcom/android/internal/telephony/SMSDispatcher$SmsSenderCallback;)V
+HPLcom/android/internal/telephony/SMSDispatcher$SmsSenderCallback;->onSendSmsComplete(II)V
 HPLcom/android/internal/telephony/SMSDispatcher$SmsTracker;-><init>(Ljava/util/HashMap;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Landroid/content/pm/PackageInfo;Ljava/lang/String;Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicBoolean;Landroid/net/Uri;Lcom/android/internal/telephony/SmsHeader;ZLjava/lang/String;IZZIII)V
 HPLcom/android/internal/telephony/SMSDispatcher$SmsTracker;-><init>(Ljava/util/HashMap;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Landroid/content/pm/PackageInfo;Ljava/lang/String;Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicBoolean;Landroid/net/Uri;Lcom/android/internal/telephony/SmsHeader;ZLjava/lang/String;IZZIIILcom/android/internal/telephony/SMSDispatcher$1;)V
+HPLcom/android/internal/telephony/SMSDispatcher$SmsTracker;->access$302(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;Z)Z
+HPLcom/android/internal/telephony/SMSDispatcher$SmsTracker;->getAppPackageName()Ljava/lang/String;
 HPLcom/android/internal/telephony/SMSDispatcher$SmsTracker;->getData()Ljava/util/HashMap;
+HPLcom/android/internal/telephony/SMSDispatcher$SmsTracker;->isMultipart()Z
 HPLcom/android/internal/telephony/SMSDispatcher$SmsTracker;->onSent(Landroid/content/Context;)V
 HPLcom/android/internal/telephony/SMSDispatcher$SmsTracker;->persistSentMessageIfRequired(Landroid/content/Context;II)Landroid/net/Uri;
+HPLcom/android/internal/telephony/SMSDispatcher$TextSmsSender;->onServiceReady(Landroid/service/carrier/ICarrierMessagingService;)V
+HPLcom/android/internal/telephony/SMSDispatcher;->checkCallerIsPhoneOrCarrierApp()V
 HPLcom/android/internal/telephony/SMSDispatcher;->checkDestination(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)Z
+HPLcom/android/internal/telephony/SMSDispatcher;->getAppLabel(Ljava/lang/String;I)Ljava/lang/CharSequence;
 HPLcom/android/internal/telephony/SMSDispatcher;->getCarrierAppPackageName()Ljava/lang/String;
-HPLcom/android/internal/telephony/SMSDispatcher;->getSmsTracker(Ljava/util/HashMap;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Ljava/lang/String;Landroid/net/Uri;ZLjava/lang/String;ZZ)Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;
+HPLcom/android/internal/telephony/SMSDispatcher;->getMultipartMessageText(Ljava/util/ArrayList;)Ljava/lang/String;
+HPLcom/android/internal/telephony/SMSDispatcher;->getNewSubmitPduTracker(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/SmsHeader;ILandroid/app/PendingIntent;Landroid/app/PendingIntent;ZLjava/util/concurrent/atomic/AtomicInteger;Ljava/util/concurrent/atomic/AtomicBoolean;Landroid/net/Uri;Ljava/lang/String;IZI)Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;
+HPLcom/android/internal/telephony/SMSDispatcher;->getSmsTracker(Ljava/util/HashMap;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Ljava/lang/String;Landroid/net/Uri;ZLjava/lang/String;ZZII)Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;
 HPLcom/android/internal/telephony/SMSDispatcher;->getSmsTracker(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;ZZII)Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;
-HPLcom/android/internal/telephony/SMSDispatcher;->getSmsTrackerMap(Ljava/lang/String;Ljava/lang/String;I[BLcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;)Ljava/util/HashMap;
+HPLcom/android/internal/telephony/SMSDispatcher;->getSmsTrackerMap(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;)Ljava/util/HashMap;
 HPLcom/android/internal/telephony/SMSDispatcher;->getSubId()I
+HPLcom/android/internal/telephony/SMSDispatcher;->handleConfirmShortCode(ZLcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
 HPLcom/android/internal/telephony/SMSDispatcher;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/internal/telephony/SMSDispatcher;->handleSendComplete(Landroid/os/AsyncResult;)V
-HPLcom/android/internal/telephony/SMSDispatcher;->sendData(Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
+HPLcom/android/internal/telephony/SMSDispatcher;->processSendSmsResponse(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;II)V
+HPLcom/android/internal/telephony/SMSDispatcher;->sendMultipartText(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/net/Uri;Ljava/lang/String;ZIZI)V
 HPLcom/android/internal/telephony/SMSDispatcher;->sendRawPdu(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
 HPLcom/android/internal/telephony/SMSDispatcher;->sendSmsByCarrierApp(ZLcom/android/internal/telephony/SMSDispatcher$SmsTracker;)Z
-HPLcom/android/internal/telephony/ServiceStateTracker;->processPendingRadioPowerOffAfterDataOff()Z
+HPLcom/android/internal/telephony/SMSDispatcher;->sendSubmitPdu(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
+HPLcom/android/internal/telephony/SMSDispatcher;->sendText(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Landroid/net/Uri;Ljava/lang/String;ZIZI)V
+HPLcom/android/internal/telephony/ServiceStateTracker;->currentMccEqualsSimMcc(Landroid/telephony/ServiceState;)Z
+HPLcom/android/internal/telephony/ServiceStateTracker;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/ServiceStateTracker;->dumpCellInfoList(Ljava/io/PrintWriter;)V
+HPLcom/android/internal/telephony/ServiceStateTracker;->dumpEarfcnPairList(Ljava/io/PrintWriter;)V
+HPLcom/android/internal/telephony/ServiceStateTracker;->getHomeOperatorNumeric()Ljava/lang/String;
+HPLcom/android/internal/telephony/ServiceStateTracker;->hangupAndPowerOff()V
+HPLcom/android/internal/telephony/ServiceStateTracker;->inSameCountry(Ljava/lang/String;)Z
+HPLcom/android/internal/telephony/ServiceStateTracker;->isOperatorConsideredNonRoaming(Landroid/telephony/ServiceState;)Z
+HPLcom/android/internal/telephony/ServiceStateTracker;->isOperatorConsideredRoaming(Landroid/telephony/ServiceState;)Z
+HPLcom/android/internal/telephony/ServiceStateTracker;->logRoamingChange()V
+HPLcom/android/internal/telephony/ServiceStateTracker;->powerOffRadioSafely()V
+HPLcom/android/internal/telephony/ServiceStateTracker;->reRegisterNetwork(Landroid/os/Message;)V
+HPLcom/android/internal/telephony/ServiceStateTracker;->requestCellLocation(Landroid/os/WorkSource;Landroid/os/Message;)V
 HPLcom/android/internal/telephony/ServiceStateTracker;->selectResourceForRejectCode(IZ)I
 HPLcom/android/internal/telephony/ServiceStateTracker;->setNotification(I)V
+HPLcom/android/internal/telephony/ServiceStateTracker;->setRadioPower(Z)V
+HPLcom/android/internal/telephony/SimActivationTracker;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLcom/android/internal/telephony/SmsAddress;->couldBeEmailGateway()Z
-HPLcom/android/internal/telephony/SmsApplication$SmsPackageMonitor;->onPackageAppeared(Ljava/lang/String;I)V
-HPLcom/android/internal/telephony/SmsApplication$SmsPackageMonitor;->onPackageChanged()V
+HPLcom/android/internal/telephony/SmsAddress;->getAddressString()Ljava/lang/String;
 HPLcom/android/internal/telephony/SmsApplication$SmsPackageMonitor;->onPackageDisappeared(Ljava/lang/String;I)V
-HPLcom/android/internal/telephony/SmsApplication$SmsPackageMonitor;->onPackageModified(Ljava/lang/String;)V
-HPLcom/android/internal/telephony/SmsApplication;->assignWriteSmsPermissionToSystemApp(Landroid/content/Context;Landroid/content/pm/PackageManager;Landroid/app/AppOpsManager;Ljava/lang/String;)V
+HPLcom/android/internal/telephony/SmsApplication;->getApplicationCollectionAsUser(Landroid/content/Context;I)Ljava/util/Collection;
+HPLcom/android/internal/telephony/SmsApplication;->getApplicationForPackage(Ljava/util/Collection;Ljava/lang/String;)Lcom/android/internal/telephony/SmsApplication$SmsApplicationData;
+HPLcom/android/internal/telephony/SmsApplication;->getDefaultExternalTelephonyProviderChangedApplication(Landroid/content/Context;Z)Landroid/content/ComponentName;
 HPLcom/android/internal/telephony/SmsApplication;->getDefaultRespondViaMessageApplication(Landroid/content/Context;Z)Landroid/content/ComponentName;
-HPLcom/android/internal/telephony/SmsApplication;->getDefaultSendToApplication(Landroid/content/Context;Z)Landroid/content/ComponentName;
 HPLcom/android/internal/telephony/SmsApplication;->getDefaultSmsApplicationPackageName(Landroid/content/Context;)Ljava/lang/String;
+HPLcom/android/internal/telephony/SmsApplication;->getIncomingUserId(Landroid/content/Context;)I
 HPLcom/android/internal/telephony/SmsApplication;->isDefaultSmsApplication(Landroid/content/Context;Ljava/lang/String;)Z
-HPLcom/android/internal/telephony/SmsApplication;->replacePreferredActivity(Landroid/content/pm/PackageManager;Landroid/content/ComponentName;ILjava/lang/String;)V
-HPLcom/android/internal/telephony/SmsBroadcastUndelivered$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HPLcom/android/internal/telephony/SmsBroadcastUndelivered$ScanRawTableThread;->run()V
-HPLcom/android/internal/telephony/SmsBroadcastUndelivered;->scanRawTable(Landroid/content/Context;)V
+HPLcom/android/internal/telephony/SmsApplication;->shouldWriteMessageForPackage(Ljava/lang/String;Landroid/content/Context;)Z
 HPLcom/android/internal/telephony/SmsConstants$MessageClass;-><init>(Ljava/lang/String;I)V
+HPLcom/android/internal/telephony/SmsDispatchersController;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLcom/android/internal/telephony/SmsDispatchersController;->getImsSmsFormat()Ljava/lang/String;
 HPLcom/android/internal/telephony/SmsDispatchersController;->getUsageMonitor()Lcom/android/internal/telephony/SmsUsageMonitor;
+HPLcom/android/internal/telephony/SmsDispatchersController;->handleInService(J)V
+HPLcom/android/internal/telephony/SmsDispatchersController;->handlePartialSegmentTimerExpiry(J)V
+HPLcom/android/internal/telephony/SmsDispatchersController;->injectSmsPdu(Landroid/telephony/SmsMessage;Ljava/lang/String;Lcom/android/internal/telephony/SmsDispatchersController$SmsInjectionCallback;Z)V
 HPLcom/android/internal/telephony/SmsDispatchersController;->isCdmaFormat(Ljava/lang/String;)Z
-HPLcom/android/internal/telephony/SmsDispatchersController;->isCdmaMo()Z
 HPLcom/android/internal/telephony/SmsDispatchersController;->isIms()Z
-HPLcom/android/internal/telephony/SmsDispatchersController;->sendData(Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
+HPLcom/android/internal/telephony/SmsDispatchersController;->reevaluateTimerStatus()V
+HPLcom/android/internal/telephony/SmsDispatchersController;->sendMultipartText(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/net/Uri;Ljava/lang/String;ZIZI)V
+HPLcom/android/internal/telephony/SmsDispatchersController;->sendText(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Landroid/net/Uri;Ljava/lang/String;ZIZI)V
+HPLcom/android/internal/telephony/SmsDispatchersController;->setPremiumSmsPermission(Ljava/lang/String;I)V
+HPLcom/android/internal/telephony/SmsHeader$ConcatRef;-><init>()V
+HPLcom/android/internal/telephony/SmsHeader;-><init>()V
 HPLcom/android/internal/telephony/SmsHeader;->fromByteArray([B)Lcom/android/internal/telephony/SmsHeader;
 HPLcom/android/internal/telephony/SmsHeader;->toByteArray(Lcom/android/internal/telephony/SmsHeader;)[B
 HPLcom/android/internal/telephony/SmsMessageBase;->extractEmailAddressFromMessageBody()V
 HPLcom/android/internal/telephony/SmsMessageBase;->getDisplayOriginatingAddress()Ljava/lang/String;
 HPLcom/android/internal/telephony/SmsMessageBase;->getMessageBody()Ljava/lang/String;
-HPLcom/android/internal/telephony/SmsMessageBase;->getMessageClass()Lcom/android/internal/telephony/SmsConstants$MessageClass;
 HPLcom/android/internal/telephony/SmsMessageBase;->getOriginatingAddress()Ljava/lang/String;
 HPLcom/android/internal/telephony/SmsMessageBase;->getPdu()[B
-HPLcom/android/internal/telephony/SmsMessageBase;->getProtocolIdentifier()I
-HPLcom/android/internal/telephony/SmsMessageBase;->getStatus()I
 HPLcom/android/internal/telephony/SmsMessageBase;->getTimestampMillis()J
+HPLcom/android/internal/telephony/SmsMessageBase;->getUserData()[B
 HPLcom/android/internal/telephony/SmsMessageBase;->getUserDataHeader()Lcom/android/internal/telephony/SmsHeader;
-HPLcom/android/internal/telephony/SmsMessageBase;->isCphsMwiMessage()Z
-HPLcom/android/internal/telephony/SmsMessageBase;->isMWIClearMessage()Z
-HPLcom/android/internal/telephony/SmsMessageBase;->isMWISetMessage()Z
-HPLcom/android/internal/telephony/SmsMessageBase;->isMwiDontStore()Z
-HPLcom/android/internal/telephony/SmsMessageBase;->isReplace()Z
-HPLcom/android/internal/telephony/SmsMessageBase;->isReplyPathPresent()Z
-HPLcom/android/internal/telephony/SmsMessageBase;->isStatusReportMessage()Z
 HPLcom/android/internal/telephony/SmsMessageBase;->parseMessageBody()V
+HPLcom/android/internal/telephony/SmsNumberUtils;->checkInternationalNumberPlan(Landroid/content/Context;Lcom/android/internal/telephony/SmsNumberUtils$NumberEntry;Ljava/util/ArrayList;Ljava/lang/String;)I
+HPLcom/android/internal/telephony/SmsNumberUtils;->checkNANP(Lcom/android/internal/telephony/SmsNumberUtils$NumberEntry;Ljava/util/ArrayList;)I
 HPLcom/android/internal/telephony/SmsNumberUtils;->filterDestAddr(Lcom/android/internal/telephony/Phone;Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/internal/telephony/SmsNumberUtils;->formatNumber(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+HPLcom/android/internal/telephony/SmsNumberUtils;->getAllCountryCodes(Landroid/content/Context;)[I
+HPLcom/android/internal/telephony/SmsNumberUtils;->getAllIDDs(Landroid/content/Context;Ljava/lang/String;)Ljava/util/ArrayList;
+HPLcom/android/internal/telephony/SmsNumberUtils;->getCountryCode(Landroid/content/Context;Ljava/lang/String;)I
+HPLcom/android/internal/telephony/SmsNumberUtils;->getNetworkType(Lcom/android/internal/telephony/Phone;)I
+HPLcom/android/internal/telephony/SmsNumberUtils;->getNumberPlanType(I)Ljava/lang/String;
+HPLcom/android/internal/telephony/SmsNumberUtils;->isInternationalRoaming(Lcom/android/internal/telephony/Phone;)Z
 HPLcom/android/internal/telephony/SmsNumberUtils;->needToConvert(Lcom/android/internal/telephony/Phone;)Z
-HPLcom/android/internal/telephony/SmsResponse;->toString()Ljava/lang/String;
 HPLcom/android/internal/telephony/SmsStorageMonitor;->isStorageAvailable()Z
+HPLcom/android/internal/telephony/SmsUsageMonitor$1;->run()V
 HPLcom/android/internal/telephony/SmsUsageMonitor$ShortCodePatternMatcher;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HPLcom/android/internal/telephony/SmsUsageMonitor$ShortCodePatternMatcher;->getNumberCategory(Ljava/lang/String;)I
 HPLcom/android/internal/telephony/SmsUsageMonitor;->check(Ljava/lang/String;I)Z
+HPLcom/android/internal/telephony/SmsUsageMonitor;->checkCallerIsSystemOrPhoneApp()V
+HPLcom/android/internal/telephony/SmsUsageMonitor;->checkCallerIsSystemOrPhoneOrSameApp(Ljava/lang/String;)V
 HPLcom/android/internal/telephony/SmsUsageMonitor;->checkDestination(Ljava/lang/String;Ljava/lang/String;)I
 HPLcom/android/internal/telephony/SmsUsageMonitor;->getPatternMatcherFromFile(Ljava/lang/String;)Lcom/android/internal/telephony/SmsUsageMonitor$ShortCodePatternMatcher;
+HPLcom/android/internal/telephony/SmsUsageMonitor;->getPatternMatcherFromResource(Ljava/lang/String;)Lcom/android/internal/telephony/SmsUsageMonitor$ShortCodePatternMatcher;
 HPLcom/android/internal/telephony/SmsUsageMonitor;->getPatternMatcherFromXmlParser(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Lcom/android/internal/telephony/SmsUsageMonitor$ShortCodePatternMatcher;
+HPLcom/android/internal/telephony/SmsUsageMonitor;->getPremiumSmsPermission(Ljava/lang/String;)I
 HPLcom/android/internal/telephony/SmsUsageMonitor;->isUnderLimit(Ljava/util/ArrayList;I)Z
 HPLcom/android/internal/telephony/SmsUsageMonitor;->removeExpiredTimestamps()V
+HPLcom/android/internal/telephony/SmsUsageMonitor;->setPremiumSmsPermission(Ljava/lang/String;I)V
+HPLcom/android/internal/telephony/SmsUsageMonitor;->writePremiumSmsPolicyDb()V
+HPLcom/android/internal/telephony/SubscriptionController$ScLocalLog;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/SubscriptionController;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLcom/android/internal/telephony/SubscriptionController;->getActiveSubInfoCount(Ljava/lang/String;)I
+HPLcom/android/internal/telephony/SubscriptionController;->getActiveSubscriptionInfoForIccId(Ljava/lang/String;Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;
+HPLcom/android/internal/telephony/SubscriptionController;->getActiveSubscriptionInfoForIccIdInternal(Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;
+HPLcom/android/internal/telephony/SubscriptionController;->getAllSubInfoList(Ljava/lang/String;)Ljava/util/List;
+HPLcom/android/internal/telephony/SubscriptionController;->getOpportunisticSubscriptions(Ljava/lang/String;)Ljava/util/List;
+HPLcom/android/internal/telephony/SubscriptionController;->setSubscriptionProperty(ILjava/lang/String;Ljava/lang/String;)I
+HPLcom/android/internal/telephony/SubscriptionController;->setSubscriptionPropertyIntoContentResolver(ILjava/lang/String;Ljava/lang/String;Landroid/content/ContentResolver;)I
+HPLcom/android/internal/telephony/SubscriptionInfoUpdater;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/SubscriptionMonitor;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/TelephonyComponentFactory;->makeInboundSmsTracker([BJIZLjava/lang/String;Ljava/lang/String;IIIZLjava/lang/String;)Lcom/android/internal/telephony/InboundSmsTracker;
 HPLcom/android/internal/telephony/TelephonyComponentFactory;->makeInboundSmsTracker([BJIZZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/android/internal/telephony/InboundSmsTracker;
+HPLcom/android/internal/telephony/TelephonyComponentFactory;->makeWspTypeDecoder([B)Lcom/android/internal/telephony/WspTypeDecoder;
 HPLcom/android/internal/telephony/TelephonyPermissions;->checkReadCallLog(Landroid/content/Context;IIILjava/lang/String;)Z
 HPLcom/android/internal/telephony/TelephonyPermissions;->checkReadCallLog(Landroid/content/Context;Ljava/util/function/Supplier;IIILjava/lang/String;)Z
+HPLcom/android/internal/telephony/TelephonyPermissions;->enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(Landroid/content/Context;ILjava/lang/String;)V
 HPLcom/android/internal/telephony/TelephonyPermissions;->getCarrierPrivilegeStatus(Ljava/util/function/Supplier;II)I
+HPLcom/android/internal/telephony/TelephonyPermissions;->reportAccessDeniedToReadIdentifiers(Landroid/content/Context;IIILjava/lang/String;Ljava/lang/String;)Z
 HPLcom/android/internal/telephony/UiccPhoneBookController;->getAdnRecordsInEfForSubscriber(II)Ljava/util/List;
 HPLcom/android/internal/telephony/UiccPhoneBookController;->getIccPhoneBookInterfaceManager(I)Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;
+HPLcom/android/internal/telephony/UiccSmsController;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLcom/android/internal/telephony/UiccSmsController;->getImsSmsFormatForSubscriber(I)Ljava/lang/String;
-HPLcom/android/internal/telephony/UiccSmsController;->getPreferredSmsSubscription()I
 HPLcom/android/internal/telephony/UiccSmsController;->isImsSmsSupportedForSubscriber(I)Z
-HPLcom/android/internal/telephony/UiccSmsController;->sendDataForSubscriberWithSelfPermissions(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
+HPLcom/android/internal/telephony/UiccSmsController;->sendMultipartTextForSubscriber(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Z)V
+HPLcom/android/internal/telephony/UiccSmsController;->sendTextForSubscriber(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
+HPLcom/android/internal/telephony/UiccSmsController;->sendTextForSubscriberWithSelfPermissions(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
 HPLcom/android/internal/telephony/VisualVoicemailSmsFilter$1;-><init>()V
 HPLcom/android/internal/telephony/VisualVoicemailSmsFilter$1;->fromSubId(I)Landroid/telecom/PhoneAccountHandle;
-HPLcom/android/internal/telephony/VisualVoicemailSmsFilter$PhoneAccountHandleConverter;->fromSubId(I)Landroid/telecom/PhoneAccountHandle;
+HPLcom/android/internal/telephony/VisualVoicemailSmsFilter;->buildPatternsMap(Landroid/content/Context;)V
 HPLcom/android/internal/telephony/VisualVoicemailSmsFilter;->filter(Landroid/content/Context;[[BLjava/lang/String;II)Z
 HPLcom/android/internal/telephony/VisualVoicemailSmsFilter;->getFullMessage([[BLjava/lang/String;)Lcom/android/internal/telephony/VisualVoicemailSmsFilter$FullMessage;
+HPLcom/android/internal/telephony/VisualVoicemailSmsFilter;->messageBodyMatchesVvmPattern(Landroid/content/Context;ILjava/lang/String;)Z
 HPLcom/android/internal/telephony/VisualVoicemailSmsFilter;->sendVvmSmsBroadcast(Landroid/content/Context;Landroid/telephony/VisualVoicemailSmsFilterSettings;Landroid/telecom/PhoneAccountHandle;Lcom/android/internal/telephony/VisualVoicemailSmsParser$WrappedMessageData;Ljava/lang/String;)V
 HPLcom/android/internal/telephony/VisualVoicemailSmsParser;->parse(Ljava/lang/String;Ljava/lang/String;)Lcom/android/internal/telephony/VisualVoicemailSmsParser$WrappedMessageData;
 HPLcom/android/internal/telephony/VisualVoicemailSmsParser;->parseSmsBody(Ljava/lang/String;)Landroid/os/Bundle;
-HPLcom/android/internal/telephony/WapPushOverSms$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HPLcom/android/internal/telephony/WapPushOverSms$BindServiceThread;->run()V
-HPLcom/android/internal/telephony/WapPushOverSms;->bindWapPushManagerService(Landroid/content/Context;)V
-HPLcom/android/internal/telephony/cat/CatLog;->d(Ljava/lang/String;Ljava/lang/String;)V
-HPLcom/android/internal/telephony/cat/CatService;->getInstance(I)Lcom/android/internal/telephony/cat/AppInterface;
+HPLcom/android/internal/telephony/WakeLockStateMachine$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HPLcom/android/internal/telephony/WakeLockStateMachine$IdleState;->exit()V
+HPLcom/android/internal/telephony/WakeLockStateMachine$WaitingState;->processMessage(Landroid/os/Message;)Z
+HPLcom/android/internal/telephony/WapPushOverSms;->decodeWapPdu([BLcom/android/internal/telephony/InboundSmsHandler;)Lcom/android/internal/telephony/WapPushOverSms$DecodedResult;
+HPLcom/android/internal/telephony/WapPushOverSms;->dispatchWapPdu([BLandroid/content/BroadcastReceiver;Lcom/android/internal/telephony/InboundSmsHandler;Ljava/lang/String;)I
+HPLcom/android/internal/telephony/WspTypeDecoder;->decodeConstrainedEncoding(I)Z
+HPLcom/android/internal/telephony/WspTypeDecoder;->decodeContentType(I)Z
+HPLcom/android/internal/telephony/WspTypeDecoder;->decodeExtensionMedia(I)Z
+HPLcom/android/internal/telephony/WspTypeDecoder;->decodeIntegerValue(I)Z
+HPLcom/android/internal/telephony/WspTypeDecoder;->decodeShortInteger(I)Z
+HPLcom/android/internal/telephony/WspTypeDecoder;->decodeUintvarInteger(I)Z
+HPLcom/android/internal/telephony/WspTypeDecoder;->decodeValueLength(I)Z
+HPLcom/android/internal/telephony/WspTypeDecoder;->decodeXWapApplicationId(I)Z
+HPLcom/android/internal/telephony/WspTypeDecoder;->getContentParameters()Ljava/util/HashMap;
+HPLcom/android/internal/telephony/WspTypeDecoder;->getDecodedDataLength()I
+HPLcom/android/internal/telephony/WspTypeDecoder;->getValue32()J
+HPLcom/android/internal/telephony/WspTypeDecoder;->getValueString()Ljava/lang/String;
+HPLcom/android/internal/telephony/WspTypeDecoder;->seekXWapApplicationId(II)Z
+HPLcom/android/internal/telephony/cat/CatService;->broadcastCardStateAndIccRefreshResp(Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;Lcom/android/internal/telephony/uicc/IccRefreshResponse;)V
+HPLcom/android/internal/telephony/cat/CatService;->dispose()V
+HPLcom/android/internal/telephony/cat/CatService;->finalize()V
+HPLcom/android/internal/telephony/cat/CatService;->update(Lcom/android/internal/telephony/CommandsInterface;Landroid/content/Context;Lcom/android/internal/telephony/uicc/UiccProfile;)V
+HPLcom/android/internal/telephony/cat/CommandParamsFactory;->dispose()V
+HPLcom/android/internal/telephony/cat/IconLoader;->dispose()V
+HPLcom/android/internal/telephony/cat/RilMessageDecoder;->dispose()V
+HPLcom/android/internal/telephony/cdma/CdmaInboundSmsHandler;->dispatchMessageRadioSpecific(Lcom/android/internal/telephony/SmsMessageBase;)I
+HPLcom/android/internal/telephony/cdma/CdmaInboundSmsHandler;->is3gpp2()Z
 HPLcom/android/internal/telephony/cdma/SmsMessage;->createFromPdu([B)Lcom/android/internal/telephony/cdma/SmsMessage;
+HPLcom/android/internal/telephony/cdma/SmsMessage;->decodeSmsDisplayAddress(Lcom/android/internal/telephony/SmsAddress;)V
+HPLcom/android/internal/telephony/cdma/SmsMessage;->getIncomingSmsFingerprint()[B
+HPLcom/android/internal/telephony/cdma/SmsMessage;->getMessageType()I
+HPLcom/android/internal/telephony/cdma/SmsMessage;->getNextMessageId()I
+HPLcom/android/internal/telephony/cdma/SmsMessage;->getSubmitPdu(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLcom/android/internal/telephony/SmsHeader;I)Lcom/android/internal/telephony/cdma/SmsMessage$SubmitPdu;
+HPLcom/android/internal/telephony/cdma/SmsMessage;->getTeleService()I
+HPLcom/android/internal/telephony/cdma/SmsMessage;->isStatusReportMessage()Z
 HPLcom/android/internal/telephony/cdma/SmsMessage;->parsePdu([B)V
 HPLcom/android/internal/telephony/cdma/SmsMessage;->parseSms()V
+HPLcom/android/internal/telephony/cdma/SmsMessage;->privateGetSubmitPdu(Ljava/lang/String;ZLcom/android/internal/telephony/cdma/sms/UserData;I)Lcom/android/internal/telephony/cdma/SmsMessage$SubmitPdu;
 HPLcom/android/internal/telephony/cdma/sms/BearerData$TimeStamp;->fromByteArray([B)Lcom/android/internal/telephony/cdma/sms/BearerData$TimeStamp;
 HPLcom/android/internal/telephony/cdma/sms/BearerData;-><init>()V
 HPLcom/android/internal/telephony/cdma/sms/BearerData;->decode([BI)Lcom/android/internal/telephony/cdma/sms/BearerData;
@@ -9844,79 +10547,89 @@
 HPLcom/android/internal/telephony/cdma/sms/BearerData;->decodePriorityIndicator(Lcom/android/internal/telephony/cdma/sms/BearerData;Lcom/android/internal/util/BitwiseInputStream;)Z
 HPLcom/android/internal/telephony/cdma/sms/BearerData;->decodeUserData(Lcom/android/internal/telephony/cdma/sms/BearerData;Lcom/android/internal/util/BitwiseInputStream;)Z
 HPLcom/android/internal/telephony/cdma/sms/BearerData;->decodeUserDataPayload(Lcom/android/internal/telephony/cdma/sms/UserData;Z)V
-HPLcom/android/internal/telephony/dataconnection/ApnContext;->getDelayForNextApn(Z)J
-HPLcom/android/internal/telephony/dataconnection/ApnContext;->getReconnectIntent()Landroid/app/PendingIntent;
-HPLcom/android/internal/telephony/dataconnection/ApnContext;->getRetryAfterDisconnectDelay()J
-HPLcom/android/internal/telephony/dataconnection/ApnContext;->markApnPermanentFailed(Lcom/android/internal/telephony/dataconnection/ApnSetting;)V
-HPLcom/android/internal/telephony/dataconnection/ApnContext;->releaseDataConnection(Ljava/lang/String;)V
-HPLcom/android/internal/telephony/dataconnection/ApnContext;->releaseNetwork(Landroid/net/NetworkRequest;Landroid/util/LocalLog;)V
-HPLcom/android/internal/telephony/dataconnection/ApnContext;->restartOnError(I)Z
-HPLcom/android/internal/telephony/dataconnection/ApnContext;->setModemSuggestedDelay(J)V
-HPLcom/android/internal/telephony/dataconnection/ApnContext;->setReconnectIntent(Landroid/app/PendingIntent;)V
-HPLcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider;->deactivateDataCall(IILandroid/telephony/data/DataServiceCallback;)V
+HPLcom/android/internal/telephony/cdma/sms/BearerData;->encode(Lcom/android/internal/telephony/cdma/sms/BearerData;)[B
+HPLcom/android/internal/telephony/cdma/sms/BearerData;->encode7bitAscii(Ljava/lang/String;Z)[B
+HPLcom/android/internal/telephony/cdma/sms/BearerData;->encodeMessageId(Lcom/android/internal/telephony/cdma/sms/BearerData;Lcom/android/internal/util/BitwiseOutputStream;)V
+HPLcom/android/internal/telephony/cdma/sms/BearerData;->encodeUserData(Lcom/android/internal/telephony/cdma/sms/BearerData;Lcom/android/internal/util/BitwiseOutputStream;)V
+HPLcom/android/internal/telephony/cdma/sms/BearerData;->encodeUserDataPayload(Lcom/android/internal/telephony/cdma/sms/UserData;)V
+HPLcom/android/internal/telephony/cdma/sms/CdmaSmsAddress;->filterNumericSugar(Ljava/lang/String;)Ljava/lang/String;
+HPLcom/android/internal/telephony/cdma/sms/CdmaSmsAddress;->parse(Ljava/lang/String;)Lcom/android/internal/telephony/cdma/sms/CdmaSmsAddress;
+HPLcom/android/internal/telephony/cdma/sms/CdmaSmsAddress;->parseToDtmf(Ljava/lang/String;)[B
+HPLcom/android/internal/telephony/dataconnection/-$$Lambda$TransportManager$Q8noshws1IklpLPH3S17G9mmuFA;-><init>()V
+HPLcom/android/internal/telephony/dataconnection/-$$Lambda$TransportManager$Q8noshws1IklpLPH3S17G9mmuFA;->apply(I)Ljava/lang/Object;
+HPLcom/android/internal/telephony/dataconnection/AccessNetworksManager;->dump(Ljava/io/FileDescriptor;Lcom/android/internal/util/IndentingPrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/dataconnection/ApnContext;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/dataconnection/ApnContext;->isConcurrentVoiceAndDataAllowed()Z
+HPLcom/android/internal/telephony/dataconnection/ApnContext;->markApnPermanentFailed(Landroid/telephony/data/ApnSetting;)V
 HPLcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider;->getDataCallList(Landroid/telephony/data/DataServiceCallback;)V
-HPLcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;->exit()V
-HPLcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;->enter()V
-HPLcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;->processMessage(Landroid/os/Message;)Z
-HPLcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->setEnterNotificationParams(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;Lcom/android/internal/telephony/dataconnection/DcFailCause;)V
-HPLcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->setEnterNotificationParams(Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;)V
-HPLcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->setEnterNotificationParams(Lcom/android/internal/telephony/dataconnection/DcFailCause;)V
-HPLcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;->unwanted()V
-HPLcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->toString()Ljava/lang/String;
-HPLcom/android/internal/telephony/dataconnection/DataConnection;->getSuggestedRetryDelay(Landroid/telephony/data/DataCallResponse;)J
-HPLcom/android/internal/telephony/dataconnection/DataConnection;->isActivating()Z
+HPLcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->setEnterNotificationParams(I)V
+HPLcom/android/internal/telephony/dataconnection/DataConnection;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLcom/android/internal/telephony/dataconnection/DataConnection;->isDisconnecting()Z
-HPLcom/android/internal/telephony/dataconnection/DataConnection;->notifyConnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;Lcom/android/internal/telephony/dataconnection/DcFailCause;Z)V
-HPLcom/android/internal/telephony/dataconnection/DataConnection;->notifyDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;Z)V
-HPLcom/android/internal/telephony/dataconnection/DataConnection;->tearDownData(Ljava/lang/Object;)V
-HPLcom/android/internal/telephony/dataconnection/DataServiceManager$CellularDataServiceCallback;->onDeactivateDataCallComplete(I)V
+HPLcom/android/internal/telephony/dataconnection/DataConnection;->isInactive()Z
+HPLcom/android/internal/telephony/dataconnection/DataConnection;->reevaluateRestrictedState()V
+HPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->toString()Ljava/lang/String;
+HPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->updateDataEnabledAndNotify(I)V
+HPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->updateProvisionedChanged()V
 HPLcom/android/internal/telephony/dataconnection/DataServiceManager$CellularDataServiceCallback;->onGetDataCallListComplete(ILjava/util/List;)V
-HPLcom/android/internal/telephony/dataconnection/DataServiceManager;->deactivateDataCall(IILandroid/os/Message;)V
 HPLcom/android/internal/telephony/dataconnection/DataServiceManager;->getDataCallList(Landroid/os/Message;)V
-HPLcom/android/internal/telephony/dataconnection/DcAsyncChannel;->tearDown(Lcom/android/internal/telephony/dataconnection/ApnContext;Ljava/lang/String;Landroid/os/Message;)V
-HPLcom/android/internal/telephony/dataconnection/DcAsyncChannel;->tearDownAll(Ljava/lang/String;Landroid/os/Message;)V
-HPLcom/android/internal/telephony/dataconnection/DcController;->isExecutingCarrierChange()Z
-HPLcom/android/internal/telephony/dataconnection/DcFailCause$1;-><init>(Lcom/android/internal/telephony/dataconnection/DcFailCause;)V
-HPLcom/android/internal/telephony/dataconnection/DcFailCause;->isEventLoggable()Z
-HPLcom/android/internal/telephony/dataconnection/DcFailCause;->isPermanentFailure(Landroid/content/Context;I)Z
-HPLcom/android/internal/telephony/dataconnection/DcTracker$TxRxSum;->updateTxRxSum()V
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->broadcastDataStallDetected(I)V
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->dataConnectionNotInUse(Lcom/android/internal/telephony/dataconnection/DcAsyncChannel;)Z
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->doRecovery()V
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->getCellLocationId()I
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->isDisconnected()Z
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->isPermanentFailure(Lcom/android/internal/telephony/dataconnection/DcFailCause;)Z
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->isPhoneStateIdle()Z
+HPLcom/android/internal/telephony/dataconnection/DcController;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/dataconnection/DcController;->getWhatToString(I)Ljava/lang/String;
+HPLcom/android/internal/telephony/dataconnection/DcController;->loge(Ljava/lang/String;)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
+HPLcom/android/internal/telephony/dataconnection/DcTracker$TxRxSum;->toString()Ljava/lang/String;
+HPLcom/android/internal/telephony/dataconnection/DcTracker;->cleanUpAllConnections(Ljava/lang/String;)V
+HPLcom/android/internal/telephony/dataconnection/DcTracker;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/dataconnection/DcTracker;->notifyNoData(ILcom/android/internal/telephony/dataconnection/ApnContext;)V
 HPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataReconnect(Landroid/os/Bundle;)V
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataSetupCompleteError(Landroid/os/AsyncResult;)V
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataStallAlarm(I)V
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->onDisconnectDone(Landroid/os/AsyncResult;)V
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->releaseNetwork(Landroid/net/NetworkRequest;Landroid/util/LocalLog;)V
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->retryAfterDisconnected(Lcom/android/internal/telephony/dataconnection/ApnContext;)Z
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->sendCleanUpConnection(ZLcom/android/internal/telephony/dataconnection/ApnContext;)V
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->startAlarmForReconnect(JLcom/android/internal/telephony/dataconnection/ApnContext;)V
-HPLcom/android/internal/telephony/dataconnection/DcTracker;->updateDataStallInfo()V
-HPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->onReleaseNetworkFor(Landroid/os/Message;)V
-HPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->releaseNetworkFor(Landroid/net/NetworkRequest;)V
-HPLcom/android/internal/telephony/euicc/EuiccConnector$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataRoamingOnOrSettingsChanged(I)V
+HPLcom/android/internal/telephony/dataconnection/DcTracker;->onSimNotReady()V
+HPLcom/android/internal/telephony/dataconnection/DcTracker;->sendStopNetStatPoll(Lcom/android/internal/telephony/DctConstants$Activity;)V
+HPLcom/android/internal/telephony/dataconnection/DcTracker;->stopDataStallAlarm()V
+HPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/dataconnection/TransportManager;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+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
+HPLcom/android/internal/telephony/euicc/EuiccCardController;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState;->exit()V
-HPLcom/android/internal/telephony/euicc/EuiccConnector$EuiccPackageMonitor;->onPackageModified(Ljava/lang/String;)V
+HPLcom/android/internal/telephony/euicc/EuiccConnector$EuiccPackageMonitor;->onHandleForceStop(Landroid/content/Intent;[Ljava/lang/String;IZ)Z
 HPLcom/android/internal/telephony/euicc/EuiccConnector$EuiccPackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
-HPLcom/android/internal/telephony/euicc/EuiccConnector$UnavailableState;->processMessage(Landroid/os/Message;)Z
+HPLcom/android/internal/telephony/euicc/EuiccConnector;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/euicc/EuiccConnector;->findBestActivity(Landroid/content/pm/PackageManager;Landroid/content/Intent;)Landroid/content/pm/ActivityInfo;
+HPLcom/android/internal/telephony/euicc/EuiccController;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/gsm/GsmCellBroadcastHandler;->handleGsmBroadcastSms(Landroid/os/AsyncResult;)Landroid/telephony/SmsCbMessage;
+HPLcom/android/internal/telephony/gsm/GsmCellBroadcastHandler;->handleSmsMessage(Landroid/os/Message;)Z
 HPLcom/android/internal/telephony/gsm/GsmInboundSmsHandler;->acknowledgeLastIncomingSms(ZILandroid/os/Message;)V
 HPLcom/android/internal/telephony/gsm/GsmInboundSmsHandler;->dispatchMessageRadioSpecific(Lcom/android/internal/telephony/SmsMessageBase;)I
 HPLcom/android/internal/telephony/gsm/GsmInboundSmsHandler;->is3gpp2()Z
-HPLcom/android/internal/telephony/gsm/GsmInboundSmsHandler;->updateMessageWaitingIndicator(I)V
-HPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;->getSubmitPdu(Ljava/lang/String;Ljava/lang/String;I[BZ)Lcom/android/internal/telephony/SmsMessageBase$SubmitPduBase;
-HPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;->sendSms(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
-HPLcom/android/internal/telephony/gsm/GsmSMSDispatcher;->shouldBlockSmsForEcbm()Z
 HPLcom/android/internal/telephony/gsm/GsmSmsAddress;-><init>([BII)V
 HPLcom/android/internal/telephony/gsm/GsmSmsAddress;->getAddressString()Ljava/lang/String;
 HPLcom/android/internal/telephony/gsm/GsmSmsAddress;->isAlphanumeric()Z
 HPLcom/android/internal/telephony/gsm/GsmSmsAddress;->isCphsVoiceMessageClear()Z
 HPLcom/android/internal/telephony/gsm/GsmSmsAddress;->isCphsVoiceMessageIndicatorAddress()Z
 HPLcom/android/internal/telephony/gsm/GsmSmsAddress;->isCphsVoiceMessageSet()Z
+HPLcom/android/internal/telephony/gsm/GsmSmsCbMessage;->createSmsCbMessage(Landroid/content/Context;Lcom/android/internal/telephony/gsm/SmsCbHeader;Landroid/telephony/SmsCbLocation;[[B)Landroid/telephony/SmsCbMessage;
+HPLcom/android/internal/telephony/gsm/GsmSmsCbMessage;->parseBody(Lcom/android/internal/telephony/gsm/SmsCbHeader;[B)Landroid/util/Pair;
+HPLcom/android/internal/telephony/gsm/GsmSmsCbMessage;->unpackBody([BIIIZLjava/lang/String;)Landroid/util/Pair;
 HPLcom/android/internal/telephony/gsm/SimTlv;->nextObject()Z
+HPLcom/android/internal/telephony/gsm/SmsCbHeader;-><init>([B)V
+HPLcom/android/internal/telephony/gsm/SmsCbHeader;->getCmasCertainty()I
+HPLcom/android/internal/telephony/gsm/SmsCbHeader;->getCmasInfo()Landroid/telephony/SmsCbCmasInfo;
+HPLcom/android/internal/telephony/gsm/SmsCbHeader;->getCmasMessageClass()I
+HPLcom/android/internal/telephony/gsm/SmsCbHeader;->getCmasSeverity()I
+HPLcom/android/internal/telephony/gsm/SmsCbHeader;->getCmasUrgency()I
+HPLcom/android/internal/telephony/gsm/SmsCbHeader;->getDataCodingScheme()I
+HPLcom/android/internal/telephony/gsm/SmsCbHeader;->getEtwsInfo()Landroid/telephony/SmsCbEtwsInfo;
+HPLcom/android/internal/telephony/gsm/SmsCbHeader;->getGeographicalScope()I
+HPLcom/android/internal/telephony/gsm/SmsCbHeader;->getSerialNumber()I
+HPLcom/android/internal/telephony/gsm/SmsCbHeader;->getServiceCategory()I
+HPLcom/android/internal/telephony/gsm/SmsCbHeader;->isEmergencyMessage()Z
+HPLcom/android/internal/telephony/gsm/SmsCbHeader;->isEtwsPrimaryNotification()Z
+HPLcom/android/internal/telephony/gsm/SmsCbHeader;->isUmtsFormat()Z
 HPLcom/android/internal/telephony/gsm/SmsMessage$PduParser;->constructUserData(ZZ)I
 HPLcom/android/internal/telephony/gsm/SmsMessage$PduParser;->getAddress()Lcom/android/internal/telephony/gsm/GsmSmsAddress;
 HPLcom/android/internal/telephony/gsm/SmsMessage$PduParser;->getByte()I
@@ -9925,12 +10638,14 @@
 HPLcom/android/internal/telephony/gsm/SmsMessage$PduParser;->getUserData()[B
 HPLcom/android/internal/telephony/gsm/SmsMessage$PduParser;->getUserDataGSM7Bit(III)Ljava/lang/String;
 HPLcom/android/internal/telephony/gsm/SmsMessage$PduParser;->getUserDataHeader()Lcom/android/internal/telephony/SmsHeader;
+HPLcom/android/internal/telephony/gsm/SmsMessage;->calculateLength(Ljava/lang/CharSequence;Z)Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;
 HPLcom/android/internal/telephony/gsm/SmsMessage;->createFromPdu([B)Lcom/android/internal/telephony/gsm/SmsMessage;
-HPLcom/android/internal/telephony/gsm/SmsMessage;->getSubmitPdu(Ljava/lang/String;Ljava/lang/String;I[BZ)Lcom/android/internal/telephony/gsm/SmsMessage$SubmitPdu;
+HPLcom/android/internal/telephony/gsm/SmsMessage;->getRelativeValidityPeriod(I)I
+HPLcom/android/internal/telephony/gsm/SmsMessage;->getSubmitPdu(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZI)Lcom/android/internal/telephony/gsm/SmsMessage$SubmitPdu;
+HPLcom/android/internal/telephony/gsm/SmsMessage;->getSubmitPdu(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z[BIIII)Lcom/android/internal/telephony/gsm/SmsMessage$SubmitPdu;
 HPLcom/android/internal/telephony/gsm/SmsMessage;->getSubmitPduHead(Ljava/lang/String;Ljava/lang/String;BZLcom/android/internal/telephony/gsm/SmsMessage$SubmitPdu;)Ljava/io/ByteArrayOutputStream;
 HPLcom/android/internal/telephony/gsm/SmsMessage;->isMWIClearMessage()Z
 HPLcom/android/internal/telephony/gsm/SmsMessage;->isMWISetMessage()Z
-HPLcom/android/internal/telephony/gsm/SmsMessage;->isMwiDontStore()Z
 HPLcom/android/internal/telephony/gsm/SmsMessage;->isTypeZero()Z
 HPLcom/android/internal/telephony/gsm/SmsMessage;->isUsimDataDownload()Z
 HPLcom/android/internal/telephony/gsm/SmsMessage;->newFromCMT([B)Lcom/android/internal/telephony/gsm/SmsMessage;
@@ -9938,35 +10653,26 @@
 HPLcom/android/internal/telephony/gsm/SmsMessage;->parseSmsDeliver(Lcom/android/internal/telephony/gsm/SmsMessage$PduParser;I)V
 HPLcom/android/internal/telephony/gsm/SmsMessage;->parseUserData(Lcom/android/internal/telephony/gsm/SmsMessage$PduParser;Z)V
 HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager$File;->getEfid()I
+HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager$File;->getIndex()I
 HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager$File;->getParentTag()I
 HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager$File;->getSfi()I
 HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager$PbrRecord;-><init>(Lcom/android/internal/telephony/gsm/UsimPhoneBookManager;[B)V
 HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager$PbrRecord;->parseEfAndSFI(Lcom/android/internal/telephony/gsm/SimTlv;I)V
 HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager$PbrRecord;->parseTag(Lcom/android/internal/telephony/gsm/SimTlv;)V
 HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->buildType1EmailList(I)V
+HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->buildType2EmailList(I)Z
 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;->readEmailRecord(I)Ljava/lang/String;
+HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->readIapFileAndWait(I)V
 HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->readPbrFileAndWait()V
 HPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->updatePhoneAdnRecord()V
-HPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$aWLlEvfonhYSfDR8cVsM6A5pmqI;->test(Ljava/lang/Object;)Z
-HPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$rPjfocpARQ2sab24iic4o3kTTgw;->test(Ljava/lang/Object;)Z
-HPLcom/android/internal/telephony/ims/ImsConfigCompatAdapter;->getConfigInt(I)I
-HPLcom/android/internal/telephony/ims/ImsResolver$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HPLcom/android/internal/telephony/ims/ImsResolver;->disableIms(I)V
 HPLcom/android/internal/telephony/ims/ImsResolver;->maybeRemovedImsService(Ljava/lang/String;)Z
-HPLcom/android/internal/telephony/ims/ImsResolver;->scheduleQueryForFeatures(Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;I)V
-HPLcom/android/internal/telephony/ims/ImsResolver;->unbindImsService(Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;)V
-HPLcom/android/internal/telephony/ims/ImsResolver;->updateImsServiceFeatures(Lcom/android/internal/telephony/ims/ImsResolver$ImsServiceInfo;)V
-HPLcom/android/internal/telephony/ims/ImsServiceController;->changeImsServiceFeatures(Ljava/util/HashSet;)V
-HPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter;->createCallProfile(II)Landroid/telephony/ims/ImsCallProfile;
-HPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter;->createCallSessionInterface(Landroid/telephony/ims/ImsCallProfile;)Lcom/android/ims/internal/IImsCallSession;
-HPLcom/android/internal/telephony/ims/MmTelInterfaceAdapter;->createCallProfile(III)Landroid/telephony/ims/ImsCallProfile;
-HPLcom/android/internal/telephony/ims/MmTelInterfaceAdapter;->createCallSession(ILandroid/telephony/ims/ImsCallProfile;)Lcom/android/ims/internal/IImsCallSession;
-HPLcom/android/internal/telephony/ims/MmTelInterfaceAdapter;->getPendingCallSession(ILjava/lang/String;)Lcom/android/ims/internal/IImsCallSession;
+HPLcom/android/internal/telephony/ims/ImsServiceController;->disableIms(I)V
 HPLcom/android/internal/telephony/imsphone/-$$Lambda$ImsPhoneCallTracker$QlPVd_3u4_verjHUDnkn6zaSe54;->isEmergencyNumber(Ljava/lang/String;)Z
 HPLcom/android/internal/telephony/imsphone/-$$Lambda$ImsPhoneCallTracker$Zw03itjXT6-LrhiYuD-9nKFg2Wg;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences;
 HPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker;->onPhoneStateChanged(Lcom/android/internal/telephony/PhoneConstants$State;Lcom/android/internal/telephony/PhoneConstants$State;)V
@@ -9978,22 +10684,39 @@
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->acceptCall(I)V
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->dial(Ljava/lang/String;Lcom/android/internal/telephony/PhoneInternalInterface$DialArgs;)Lcom/android/internal/telephony/Connection;
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->dialInternal(Ljava/lang/String;Lcom/android/internal/telephony/PhoneInternalInterface$DialArgs;Landroid/os/ResultReceiver;)Lcom/android/internal/telephony/Connection;
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->getCallForwardingIndicator()Z
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->getCallTracker()Lcom/android/internal/telephony/CallTracker;
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->getIccRecordsLoaded()Z
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->getIccSerialNumber()Ljava/lang/String;
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->getMessageWaitingIndicator()Z
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->handleInCallMmiCommands(Ljava/lang/String;)Z
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->holdActiveCall()V
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->isImsCapabilityAvailable(II)Z
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->isImsRegistered()Z
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->isInCall()Z
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->isInEmergencyCall()Z
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->isUtEnabled()Z
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->isVolteEnabled()Z
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->needsOtaServiceProvisioning()Z
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->notifyDisconnect(Lcom/android/internal/telephony/Connection;)V
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->notifyImsReason(Landroid/telephony/ims/ImsReasonInfo;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->notifyIncomingRing()V
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->notifyNewRingingConnection(Lcom/android/internal/telephony/Connection;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->notifyPhoneStateChanged()V
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->notifyPreciseCallStateChanged()V
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->onCallQualityChanged(Landroid/telephony/CallQuality;)V
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->onCallQualityChanged(Landroid/telephony/CallQuality;I)V
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->registerForSuppServiceNotification(Landroid/os/Handler;ILjava/lang/Object;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->startDtmf(C)V
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->startRingbackTone()V
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->stopDtmf()V
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->stopRingbackTone()V
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->unholdHeldCall()V
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->unregisterForOnHoldTone(Landroid/os/Handler;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->unregisterForRingbackTone(Landroid/os/Handler;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhone;->unregisterForSuppServiceNotification(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/imsphone/ImsPhone;->updateRoamingState(ZZ)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->attach(Lcom/android/internal/telephony/Connection;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->attach(Lcom/android/internal/telephony/Connection;Lcom/android/internal/telephony/Call$State;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->attachFake(Lcom/android/internal/telephony/Connection;Lcom/android/internal/telephony/Call$State;)V
@@ -10003,27 +10726,43 @@
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->getFirstConnection()Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->getImsCall()Lcom/android/ims/ImsCall;
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->getPhone()Lcom/android/internal/telephony/Phone;
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->hangup()V
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->isLocalTone(Lcom/android/ims/ImsCall;)Z
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->onHangupLocal()V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->setMute(Z)V
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->switchWith(Lcom/android/internal/telephony/imsphone/ImsPhoneCall;)V
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->takeOver(Lcom/android/internal/telephony/imsphone/ImsPhoneCall;)V
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->toString()Ljava/lang/String;
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCall;->update(Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;Lcom/android/ims/ImsCall;Lcom/android/internal/telephony/Call$State;)Z
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$4;->onCallHeld(Lcom/android/ims/ImsCall;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$4;->onCallProgressing(Lcom/android/ims/ImsCall;)V
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$4;->onCallQualityChanged(Lcom/android/ims/ImsCall;Landroid/telephony/CallQuality;)V
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$4;->onCallResumed(Lcom/android/ims/ImsCall;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$4;->onCallStarted(Lcom/android/ims/ImsCall;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$4;->onCallTerminated(Lcom/android/ims/ImsCall;Landroid/telephony/ims/ImsReasonInfo;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$4;->onCallUpdated(Lcom/android/ims/ImsCall;)V
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$HoldSwapState;->values()[Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$HoldSwapState;
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$MmTelFeatureListener;->onIncomingCall(Lcom/android/ims/internal/IImsCallSession;Landroid/os/Bundle;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->acceptCall(I)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->addConnection(Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;)V
-HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->canDial()Z
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->checkForDialIssues()V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->clearDisconnected()V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->dial(Ljava/lang/String;Lcom/android/internal/telephony/imsphone/ImsPhone$ImsDialArgs;)Lcom/android/internal/telephony/Connection;
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->dialInternal(Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;IILandroid/os/Bundle;)V
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->findConnection(Lcom/android/ims/ImsCall;)Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getClirMode()I
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getDisconnectCauseFromReasonInfo(Landroid/telephony/ims/ImsReasonInfo;Lcom/android/internal/telephony/Call$State;)I
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->hangup(Lcom/android/internal/telephony/imsphone/ImsPhoneCall;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->hangup(Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;)V
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->holdActiveCall()V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->isCarrierDowngradeOfVtCallSupported()Z
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->isImsCapabilityAvailable(II)Z
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->isInEmergencyCall()Z
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->isViLteDataMetered()Z
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->logHoldSwapState(Ljava/lang/String;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->logState()V
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->logi(Ljava/lang/String;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->maybeRemapReasonCode(Landroid/telephony/ims/ImsReasonInfo;)I
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->maybeSetVideoCallProvider(Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;Lcom/android/ims/ImsCall;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->processCallStateChange(Lcom/android/ims/ImsCall;Lcom/android/internal/telephony/Call$State;I)V
@@ -10031,15 +10770,18 @@
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->removeConnection(Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->setMute(Z)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->setVideoCallProvider(Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;Lcom/android/ims/ImsCall;)V
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->shouldDisconnectActiveCallOnAnswer(Lcom/android/ims/ImsCall;Lcom/android/ims/ImsCall;)Z
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->shouldNumberBePlacedOnIms(ZLjava/lang/String;)Z
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->startDtmf(C)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->stopDtmf()V
+HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->unholdHeldCall()V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->updatePhoneState()V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;-><init>(Lcom/android/internal/telephony/Phone;Lcom/android/ims/ImsCall;Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;Lcom/android/internal/telephony/imsphone/ImsPhoneCall;Z)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;-><init>(Lcom/android/internal/telephony/Phone;Ljava/lang/String;Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;Lcom/android/internal/telephony/imsphone/ImsPhoneCall;Z)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->applyLocalCallCapabilities(Landroid/telephony/ims/ImsCallProfile;I)I
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->applyRemoteCallCapabilities(Landroid/telephony/ims/ImsCallProfile;I)I
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->areBundlesEqual(Landroid/os/Bundle;Landroid/os/Bundle;)Z
+HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->changeParent(Lcom/android/internal/telephony/imsphone/ImsPhoneCall;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->finalize()V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->getAudioQualityFromCallProfile(Landroid/telephony/ims/ImsCallProfile;Landroid/telephony/ims/ImsCallProfile;)I
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->getCall()Lcom/android/internal/telephony/Call;
@@ -10048,7 +10790,6 @@
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->getNumberPresentation()I
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->getOrigDialString()Ljava/lang/String;
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->getOwner()Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;
-HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->getPreciseDisconnectCause()I
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->getState()Lcom/android/internal/telephony/Call$State;
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->getVendorDisconnectCause()Ljava/lang/String;
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->hangup()V
@@ -10060,18 +10801,16 @@
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->onDisconnect()Z
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->onDisconnect(I)Z
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->onHangupLocal()V
+HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->onStartedHolding()V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->processNextPostDialChar()V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->releaseWakeLock()V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->setImsCall(Lcom/android/ims/ImsCall;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->setPostDialState(Lcom/android/internal/telephony/Connection$PostDialState;)V
-HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->setPreciseDisconnectCause(I)V
-HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->setVideoProvider(Landroid/telecom/Connection$VideoProvider;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->toString()Ljava/lang/String;
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->update(Lcom/android/ims/ImsCall;Lcom/android/internal/telephony/Call$State;)Z
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->updateAddressDisplay(Lcom/android/ims/ImsCall;)Z
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->updateExtras(Lcom/android/ims/ImsCall;)Z
 HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->updateMediaCapabilities(Lcom/android/ims/ImsCall;)Z
-HPLcom/android/internal/telephony/imsphone/ImsPhoneConnection;->updateWifiStateFromExtras(Landroid/os/Bundle;)V
 HPLcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->isShortCodeUSSD(Ljava/lang/String;Lcom/android/internal/telephony/imsphone/ImsPhone;)Z
 HPLcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->isTwoDigitShortCode(Landroid/content/Context;Ljava/lang/String;)Z
 HPLcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->newFromDialString(Ljava/lang/String;Lcom/android/internal/telephony/imsphone/ImsPhone;Landroid/os/ResultReceiver;)Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;
@@ -10095,32 +10834,40 @@
 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;
 HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->buildProto()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyLog;
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->convertImsCodec(I)I
+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;
 HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->finishSmsSessionIfNeeded(Lcom/android/internal/telephony/metrics/InProgressSmsSession;)V
 HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->getCallId(Landroid/telephony/ims/ImsCallSession;)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;->startNewSmsSessionIfNeeded(I)Lcom/android/internal/telephony/metrics/InProgressSmsSession;
 HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->toPrivacyFuzzedTimeInterval(JJ)I
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeAudioCodecIms(ILandroid/telephony/ims/ImsCallSession;)V
 HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeDataStallEvent(II)V
 HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeImsCallState(ILandroid/telephony/ims/ImsCallSession;Lcom/android/internal/telephony/Call$State;)V
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeImsServiceSendSms(ILjava/lang/String;I)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
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeIncomingWapPush(IZLjava/lang/String;[JZ)V
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeNewCBSms(IIIZZIIJ)V
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnImsCallHeld(ILandroid/telephony/ims/ImsCallSession;)V
 HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnImsCallProgressing(ILandroid/telephony/ims/ImsCallSession;)V
 HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnImsCallReceive(ILandroid/telephony/ims/ImsCallSession;)V
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnImsCallResumed(ILandroid/telephony/ims/ImsCallSession;)V
 HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnImsCallStart(ILandroid/telephony/ims/ImsCallSession;)V
 HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnImsCallStarted(ILandroid/telephony/ims/ImsCallSession;)V
 HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnImsCallTerminated(ILandroid/telephony/ims/ImsCallSession;Landroid/telephony/ims/ImsReasonInfo;)V
 HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnImsCommand(ILandroid/telephony/ims/ImsCallSession;I)V
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnSmsSolicitedResponse(IIILcom/android/internal/telephony/SmsResponse;)V
+HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnImsServiceSmsSolicitedResponse(III)V
 HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writePhoneState(ILcom/android/internal/telephony/PhoneConstants$State;)V
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeRilDeactivateDataCall(IIII)V
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeRilNewSms(III)V
-HPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeRilSendSms(IIII)V
-HPLcom/android/internal/telephony/nano/TelephonyProto$ImsCapabilities;->computeSerializedSize()I
-HPLcom/android/internal/telephony/nano/TelephonyProto$ImsCapabilities;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/internal/telephony/nano/TelephonyProto$ModemPowerStats;->clear()Lcom/android/internal/telephony/nano/TelephonyProto$ModemPowerStats;
 HPLcom/android/internal/telephony/nano/TelephonyProto$ModemPowerStats;->computeSerializedSize()I
 HPLcom/android/internal/telephony/nano/TelephonyProto$ModemPowerStats;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/internal/telephony/nano/TelephonyProto$RilDataCall;->computeSerializedSize()I
-HPLcom/android/internal/telephony/nano/TelephonyProto$RilDataCall;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event$CBMessage;->computeSerializedSize()I
+HPLcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event$CBMessage;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
 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
@@ -10136,6 +10883,8 @@
 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$RilDeactivateDataCall;->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
@@ -10150,14 +10899,16 @@
 HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyLog;->clear()Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyLog;
 HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyLog;->computeSerializedSize()I
 HPLcom/android/internal/telephony/nano/TelephonyProto$TelephonyLog;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/internal/telephony/nano/TelephonyProto$Time;->computeSerializedSize()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
 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
-HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawByte(B)V
 HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawByte(I)V
 HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawLittleEndian64(J)V
 HPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawVarint64(J)V
@@ -10170,22 +10921,55 @@
 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
-HPLcom/android/internal/telephony/uicc/IccFileHandler;->updateEFLinearFixed(II[BLjava/lang/String;Landroid/os/Message;)V
+HPLcom/android/internal/telephony/uicc/CsimFileHandler;->loge(Ljava/lang/String;)V
+HPLcom/android/internal/telephony/uicc/IccFileHandler;->dispose()V
+HPLcom/android/internal/telephony/uicc/IccRecords;->dispose()V
+HPLcom/android/internal/telephony/uicc/IccRecords;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/uicc/IccRecords;->getIccSimChallengeResponse(ILjava/lang/String;)Ljava/lang/String;
+HPLcom/android/internal/telephony/uicc/IccRecords;->unregisterForNewSms(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/uicc/IsimUiccRecords;->dispose()V
+HPLcom/android/internal/telephony/uicc/IsimUiccRecords;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 HPLcom/android/internal/telephony/uicc/IsimUiccRecords;->getIsimDomain()Ljava/lang/String;
 HPLcom/android/internal/telephony/uicc/IsimUiccRecords;->getIsimImpu()[Ljava/lang/String;
+HPLcom/android/internal/telephony/uicc/SIMRecords;->dispose()V
+HPLcom/android/internal/telephony/uicc/SIMRecords;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/uicc/SIMRecords;->finalize()V
+HPLcom/android/internal/telephony/uicc/SIMRecords;->getVoiceMailAlphaTag()Ljava/lang/String;
 HPLcom/android/internal/telephony/uicc/SIMRecords;->getVoiceMailNumber()Ljava/lang/String;
-HPLcom/android/internal/telephony/uicc/SIMRecords;->setVoiceMessageWaiting(II)V
+HPLcom/android/internal/telephony/uicc/SIMRecords;->isCspPlmnEnabled()Z
+HPLcom/android/internal/telephony/uicc/UiccCard;->dispose()V
+HPLcom/android/internal/telephony/uicc/UiccCard;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/uicc/UiccCard;->finalize()V
+HPLcom/android/internal/telephony/uicc/UiccCard;->getApplicationByType(I)Lcom/android/internal/telephony/uicc/UiccCardApplication;
+HPLcom/android/internal/telephony/uicc/UiccCardApplication;->dispose()V
+HPLcom/android/internal/telephony/uicc/UiccCardApplication;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/uicc/UiccCardApplication;->unregisterForLocked(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/uicc/UiccCardApplication;->unregisterForNetworkLocked(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/uicc/UiccCardApplication;->update(Lcom/android/internal/telephony/uicc/IccCardApplicationStatus;Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;)V
+HPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/uicc/UiccController;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/uicc/UiccController;->unregisterForIccChanged(Landroid/os/Handler;)V
+HPLcom/android/internal/telephony/uicc/UiccPkcs15;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/uicc/UiccProfile$1;->onChange(Z)V
+HPLcom/android/internal/telephony/uicc/UiccProfile;->dispose()V
+HPLcom/android/internal/telephony/uicc/UiccProfile;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/uicc/UiccProfile;->finalize()V
+HPLcom/android/internal/telephony/uicc/UiccProfile;->getApplicationByType(I)Lcom/android/internal/telephony/uicc/UiccCardApplication;
+HPLcom/android/internal/telephony/uicc/UiccProfile;->getCarrierPrivilegeStatusForUid(Landroid/content/pm/PackageManager;I)I
 HPLcom/android/internal/telephony/uicc/UiccProfile;->hasIccCard()Z
+HPLcom/android/internal/telephony/uicc/UiccSlot;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/telephony/uicc/UiccSlot;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/internal/telephony/util/VoicemailNotificationSettingsUtil;->getRingtoneUri(Landroid/content/Context;)Landroid/net/Uri;
+HPLcom/android/internal/telephony/util/VoicemailNotificationSettingsUtil;->isVibrationEnabled(Landroid/content/Context;)Z
 HPLcom/android/internal/textservice/ISpellCheckerService$Stub$Proxy;->getISpellCheckerSession(Ljava/lang/String;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;Lcom/android/internal/textservice/ISpellCheckerServiceCallback;)V
 HPLcom/android/internal/textservice/ISpellCheckerService$Stub;-><init>()V
 HPLcom/android/internal/textservice/ISpellCheckerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/textservice/ISpellCheckerService;
 HPLcom/android/internal/textservice/ISpellCheckerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/internal/textservice/ISpellCheckerService;->getISpellCheckerSession(Ljava/lang/String;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;Lcom/android/internal/textservice/ISpellCheckerServiceCallback;)V
 HPLcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub$Proxy;->onSessionCreated(Lcom/android/internal/textservice/ISpellCheckerSession;)V
 HPLcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub;-><init>()V
 HPLcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/internal/textservice/ISpellCheckerServiceCallback;->onSessionCreated(Lcom/android/internal/textservice/ISpellCheckerSession;)V
+HPLcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;->onClose()V
 HPLcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;->onGetSentenceSuggestionsMultiple([Landroid/view/textservice/TextInfo;I)V
 HPLcom/android/internal/textservice/ISpellCheckerSession$Stub;-><init>()V
@@ -10193,61 +10977,57 @@
 HPLcom/android/internal/textservice/ISpellCheckerSession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLcom/android/internal/textservice/ISpellCheckerSessionListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/textservice/ISpellCheckerSessionListener$Stub$Proxy;->onGetSentenceSuggestions([Landroid/view/textservice/SentenceSuggestionsInfo;)V
+HPLcom/android/internal/textservice/ISpellCheckerSessionListener$Stub;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/textservice/ISpellCheckerSessionListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->finishSpellCheckerService(Lcom/android/internal/textservice/ISpellCheckerSessionListener;)V
+HPLcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->finishSpellCheckerService(ILcom/android/internal/textservice/ISpellCheckerSessionListener;)V
+HPLcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->getCurrentSpellChecker(ILjava/lang/String;)Landroid/view/textservice/SpellCheckerInfo;
+HPLcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->getCurrentSpellCheckerSubtype(IZ)Landroid/view/textservice/SpellCheckerSubtype;
+HPLcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->getSpellCheckerService(ILjava/lang/String;Ljava/lang/String;Lcom/android/internal/textservice/ITextServicesSessionListener;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;)V
+HPLcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->isSpellCheckerEnabled(I)Z
+HPLcom/android/internal/textservice/ITextServicesManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLcom/android/internal/textservice/ITextServicesManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLcom/android/internal/textservice/ITextServicesSessionListener$Stub$Proxy;->onServiceConnected(Lcom/android/internal/textservice/ISpellCheckerSession;)V
-HPLcom/android/internal/transition/EpicenterTranslateClipReveal$1;->onAnimationEnd(Landroid/animation/Animator;)V
-HPLcom/android/internal/transition/EpicenterTranslateClipReveal$StateEvaluator;->evaluate(FLcom/android/internal/transition/EpicenterTranslateClipReveal$State;Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;)Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;
-HPLcom/android/internal/transition/EpicenterTranslateClipReveal$StateEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HPLcom/android/internal/transition/EpicenterTranslateClipReveal$StateProperty;-><init>(C)V
-HPLcom/android/internal/transition/EpicenterTranslateClipReveal$StateProperty;->set(Landroid/view/View;Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;)V
-HPLcom/android/internal/transition/EpicenterTranslateClipReveal$StateProperty;->set(Ljava/lang/Object;Ljava/lang/Object;)V
-HPLcom/android/internal/transition/EpicenterTranslateClipReveal;->captureEndValues(Landroid/transition/TransitionValues;)V
-HPLcom/android/internal/transition/EpicenterTranslateClipReveal;->captureStartValues(Landroid/transition/TransitionValues;)V
-HPLcom/android/internal/transition/EpicenterTranslateClipReveal;->captureValues(Landroid/transition/TransitionValues;)V
-HPLcom/android/internal/transition/EpicenterTranslateClipReveal;->createRectAnimator(Landroid/view/View;Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;FLcom/android/internal/transition/EpicenterTranslateClipReveal$State;Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;FLandroid/transition/TransitionValues;Landroid/animation/TimeInterpolator;Landroid/animation/TimeInterpolator;Landroid/animation/TimeInterpolator;)Landroid/animation/Animator;
-HPLcom/android/internal/transition/EpicenterTranslateClipReveal;->onAppear(Landroid/view/ViewGroup;Landroid/view/View;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;
+HPLcom/android/internal/textservice/ITextServicesSessionListener$Stub;->asBinder()Landroid/os/IBinder;
+HPLcom/android/internal/textservice/ITextServicesSessionListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLcom/android/internal/util/-$$Lambda$DumpUtils$X8irOs5hfloCKy89_l1HRA1QeG0;->test(Ljava/lang/Object;)Z
 HPLcom/android/internal/util/-$$Lambda$DumpUtils$vCLO_0ezRxkpSERUWCFrJ0ph5jg;->test(Ljava/lang/Object;)Z
 HPLcom/android/internal/util/-$$Lambda$FunctionalUtils$koCSI8D7Nu5vOJTVTEj0m3leo_U;->run()V
-HPLcom/android/internal/util/ArrayUtils;->appendElement(Ljava/lang/Class;[Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
-HPLcom/android/internal/util/ArrayUtils;->appendElement(Ljava/lang/Class;[Ljava/lang/Object;Ljava/lang/Object;Z)[Ljava/lang/Object;
-HPLcom/android/internal/util/ArrayUtils;->indexOf([Ljava/lang/Object;Ljava/lang/Object;)I
-HPLcom/android/internal/util/ArrayUtils;->removeElement(Ljava/lang/Class;[Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
+HPLcom/android/internal/util/-$$Lambda$StateMachine$SmHandler$KkPO7NIVuI9r_FPEGrY6ux6a5Ks;->test(Ljava/lang/Object;)Z
+HPLcom/android/internal/util/ArrayUtils;->add(Landroid/util/ArraySet;Ljava/lang/Object;)Landroid/util/ArraySet;
+HPLcom/android/internal/util/ArrayUtils;->filterNotNull([Ljava/lang/Object;Ljava/util/function/IntFunction;)[Ljava/lang/Object;
+HPLcom/android/internal/util/ArrayUtils;->isEmpty([I)Z
+HPLcom/android/internal/util/ArrayUtils;->startsWith([B[B)Z
 HPLcom/android/internal/util/ArrayUtils;->trimToSize([Ljava/lang/Object;I)[Ljava/lang/Object;
+HPLcom/android/internal/util/AsyncChannel$DeathMonitor;->binderDied()V
 HPLcom/android/internal/util/AsyncChannel;->disconnect()V
 HPLcom/android/internal/util/AsyncChannel;->sendMessage(II)V
-HPLcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(II)Landroid/os/Message;
+HPLcom/android/internal/util/AsyncChannel;->sendMessage(ILjava/lang/Object;)V
 HPLcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(III)Landroid/os/Message;
+HPLcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(IIILjava/lang/Object;)Landroid/os/Message;
 HPLcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(ILjava/lang/Object;)Landroid/os/Message;
-HPLcom/android/internal/util/BitUtils;->bytesToBEInt([B)I
-HPLcom/android/internal/util/BitUtils;->getUint16(Ljava/nio/ByteBuffer;I)I
-HPLcom/android/internal/util/BitUtils;->getUint32(Ljava/nio/ByteBuffer;I)J
-HPLcom/android/internal/util/BitUtils;->getUint8(Ljava/nio/ByteBuffer;I)I
 HPLcom/android/internal/util/BitUtils;->maskedEquals(Ljava/util/UUID;Ljava/util/UUID;Ljava/util/UUID;)Z
-HPLcom/android/internal/util/BitwiseInputStream;->read(I)I
 HPLcom/android/internal/util/BitwiseInputStream;->readByteArray(I)[B
-HPLcom/android/internal/util/BitwiseInputStream;->skip(I)V
+HPLcom/android/internal/util/BitwiseOutputStream;->skip(I)V
+HPLcom/android/internal/util/BitwiseOutputStream;->write(II)V
+HPLcom/android/internal/util/BitwiseOutputStream;->writeByteArray(I[B)V
+HPLcom/android/internal/util/CharSequences;->compareToIgnoreCase(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I
 HPLcom/android/internal/util/CollectionUtils;->addIf(Ljava/util/List;Ljava/util/Collection;Ljava/util/function/Predicate;)V
-HPLcom/android/internal/util/CollectionUtils;->copyOf(Ljava/util/Set;)Ljava/util/Set;
-HPLcom/android/internal/util/CollectionUtils;->filter(Ljava/util/Set;Ljava/util/function/Predicate;)Ljava/util/Set;
-HPLcom/android/internal/util/CollectionUtils;->size(Ljava/util/Collection;)I
-HPLcom/android/internal/util/ConcurrentUtils;->wtfIfLockHeld(Ljava/lang/String;Ljava/lang/Object;)V
+HPLcom/android/internal/util/CollectionUtils;->singletonOrEmpty(Ljava/lang/Object;)Ljava/util/List;
 HPLcom/android/internal/util/DumpUtils;->checkDumpAndUsageStatsPermission(Landroid/content/Context;Ljava/lang/String;Ljava/io/PrintWriter;)Z
 HPLcom/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
 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
-HPLcom/android/internal/util/ExponentiallyBucketedHistogram;->log(Ljava/lang/String;Ljava/lang/CharSequence;)V
 HPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/Writer;)V
 HPLcom/android/internal/util/FastPrintWriter;->appendLocked([CII)V
+HPLcom/android/internal/util/FastPrintWriter;->checkError()Z
 HPLcom/android/internal/util/FastPrintWriter;->println(J)V
+HPLcom/android/internal/util/FastPrintWriter;->setError()V
+HPLcom/android/internal/util/FastPrintWriter;->write(I)V
 HPLcom/android/internal/util/FastPrintWriter;->write([CII)V
 HPLcom/android/internal/util/FileRotator$FileInfo;->build()Ljava/lang/String;
 HPLcom/android/internal/util/FileRotator;->getActiveName(J)Ljava/lang/String;
 HPLcom/android/internal/util/FileRotator;->rewriteActive(Lcom/android/internal/util/FileRotator$Rewriter;J)V
-HPLcom/android/internal/util/FileRotator;->rewriteAll(Lcom/android/internal/util/FileRotator$Rewriter;)V
 HPLcom/android/internal/util/FileRotator;->rewriteSingle(Lcom/android/internal/util/FileRotator$Rewriter;Ljava/lang/String;)V
 HPLcom/android/internal/util/FileRotator;->writeFile(Ljava/io/File;Lcom/android/internal/util/FileRotator$Writer;)V
 HPLcom/android/internal/util/FunctionalUtils$ThrowingRunnable;->run()V
@@ -10260,29 +11040,12 @@
 HPLcom/android/internal/util/LatencyTracker;->onActionStart(I)V
 HPLcom/android/internal/util/LineBreakBufferedWriter;->write(I)V
 HPLcom/android/internal/util/LineBreakBufferedWriter;->write([CII)V
-HPLcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->LABToXYZ(DDD[D)V
-HPLcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->RGBToLAB(III[D)V
-HPLcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->RGBToXYZ(III[D)V
-HPLcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->XYZToColor(DDD)I
-HPLcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->XYZToLAB(DDD[D)V
-HPLcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->calculateContrast(II)D
-HPLcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->compositeColors(II)I
-HPLcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;->getTempDouble3Array()[D
-HPLcom/android/internal/util/NotificationColorUtil;->compositeColors(II)I
-HPLcom/android/internal/util/NotificationColorUtil;->findContrastColor(IIZD)I
-HPLcom/android/internal/util/NotificationColorUtil;->resolveContrastColor(Landroid/content/Context;IIZ)I
-HPLcom/android/internal/util/NotificationColorUtil;->resolveDefaultColor(Landroid/content/Context;I)I
-HPLcom/android/internal/util/NotificationColorUtil;->resolvePrimaryColor(Landroid/content/Context;I)I
-HPLcom/android/internal/util/NotificationColorUtil;->resolveSecondaryColor(Landroid/content/Context;I)I
+HPLcom/android/internal/util/LocalLog;->w(Ljava/lang/String;)V
+HPLcom/android/internal/util/NotificationMessagingUtil;->isDefaultMessagingApp(Landroid/service/notification/StatusBarNotification;)Z
 HPLcom/android/internal/util/NotificationMessagingUtil;->isImportantMessaging(Landroid/service/notification/StatusBarNotification;I)Z
-HPLcom/android/internal/util/ParseUtils;->parseIntWithBase(Ljava/lang/String;II)I
-HPLcom/android/internal/util/Preconditions;->checkArgumentFinite(FLjava/lang/String;)F
-HPLcom/android/internal/util/Preconditions;->checkArgumentInRange(JJJLjava/lang/String;)J
-HPLcom/android/internal/util/Preconditions;->checkArgumentNonnegative(JLjava/lang/String;)J
+HPLcom/android/internal/util/NotificationMessagingUtil;->isMessaging(Landroid/service/notification/StatusBarNotification;)Z
 HPLcom/android/internal/util/Preconditions;->checkArgumentPositive(ILjava/lang/String;)I
 HPLcom/android/internal/util/Preconditions;->checkArrayElementsNotNull([Ljava/lang/Object;Ljava/lang/String;)[Ljava/lang/Object;
-HPLcom/android/internal/util/Preconditions;->checkCollectionElementsNotNull(Ljava/util/Collection;Ljava/lang/String;)Ljava/util/Collection;
-HPLcom/android/internal/util/Preconditions;->checkFlagsArgument(II)I
 HPLcom/android/internal/util/ProgressReporter;->finish()V
 HPLcom/android/internal/util/ProgressReporter;->notifyFinished(ILandroid/os/Bundle;)V
 HPLcom/android/internal/util/ProgressReporter;->notifyProgress(IILandroid/os/Bundle;)V
@@ -10291,274 +11054,209 @@
 HPLcom/android/internal/util/ProgressReporter;->setProgress(IILjava/lang/CharSequence;)V
 HPLcom/android/internal/util/ProgressReporter;->setProgress(ILjava/lang/CharSequence;)V
 HPLcom/android/internal/util/ProgressReporter;->start()V
+HPLcom/android/internal/util/ProviderAccessStats;->incrementBatchStats(I)V
+HPLcom/android/internal/util/ProviderAccessStats;->incrementDeleteStats(IZ)V
+HPLcom/android/internal/util/ProviderAccessStats;->incrementInsertStats(IZ)V
 HPLcom/android/internal/util/ProviderAccessStats;->incrementUpdateStats(IZ)V
-HPLcom/android/internal/util/RingBuffer;->append(Ljava/lang/Object;)V
 HPLcom/android/internal/util/RingBuffer;->isEmpty()Z
 HPLcom/android/internal/util/RingBuffer;->toArray()[Ljava/lang/Object;
-HPLcom/android/internal/util/RingBufferIndices;->add()I
+HPLcom/android/internal/util/ScreenshotHelper$2$1;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/internal/util/ScreenshotHelper$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HPLcom/android/internal/util/ScreenshotHelper;->takeScreenshot(IZZLandroid/os/Handler;)V
+HPLcom/android/internal/util/StateMachine$LogRec;->toString()Ljava/lang/String;
 HPLcom/android/internal/util/StateMachine$LogRec;->update(Lcom/android/internal/util/StateMachine;Landroid/os/Message;Ljava/lang/String;Lcom/android/internal/util/IState;Lcom/android/internal/util/IState;Lcom/android/internal/util/IState;)V
-HPLcom/android/internal/util/StateMachine$LogRecords;->cleanup()V
-HPLcom/android/internal/util/StateMachine$SmHandler;->cleanupAfterQuitting()V
-HPLcom/android/internal/util/StateMachine;->hasMessages(I)Z
-HPLcom/android/internal/util/StateMachine;->logd(Ljava/lang/String;)V
-HPLcom/android/internal/util/StateMachine;->loge(Ljava/lang/String;)V
-HPLcom/android/internal/util/StateMachine;->logi(Ljava/lang/String;)V
+HPLcom/android/internal/util/StateMachine$LogRecords;->count()I
+HPLcom/android/internal/util/StateMachine$LogRecords;->get(I)Lcom/android/internal/util/StateMachine$LogRec;
+HPLcom/android/internal/util/StateMachine$LogRecords;->size()I
+HPLcom/android/internal/util/StateMachine$SmHandler;->removeState(Lcom/android/internal/util/State;)V
+HPLcom/android/internal/util/StateMachine;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+HPLcom/android/internal/util/StateMachine;->getWhatToString(I)Ljava/lang/String;
+HPLcom/android/internal/util/StateMachine;->logv(Ljava/lang/String;)V
 HPLcom/android/internal/util/StateMachine;->logw(Ljava/lang/String;)V
 HPLcom/android/internal/util/StateMachine;->obtainMessage(III)Landroid/os/Message;
-HPLcom/android/internal/util/StateMachine;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message;
-HPLcom/android/internal/util/StateMachine;->onQuitting()V
-HPLcom/android/internal/util/StateMachine;->quit()V
-HPLcom/android/internal/util/StateMachine;->quitNow()V
-HPLcom/android/internal/util/StateMachine;->sendMessage(II)V
-HPLcom/android/internal/util/StateMachine;->sendMessage(IIILjava/lang/Object;)V
+HPLcom/android/internal/util/StateMachine;->removeState(Lcom/android/internal/util/State;)V
 HPLcom/android/internal/util/StateMachine;->sendMessageAtFrontOfQueue(IIILjava/lang/Object;)V
-HPLcom/android/internal/util/StateMachine;->sendMessageDelayed(IIJ)V
-HPLcom/android/internal/util/StateMachine;->unhandledMessage(Landroid/os/Message;)V
+HPLcom/android/internal/util/SyncResultReceiver;->bundleFor(Landroid/os/Parcelable;)Landroid/os/Bundle;
 HPLcom/android/internal/util/TokenBucket;->get()Z
 HPLcom/android/internal/util/TokenBucket;->get(I)I
+HPLcom/android/internal/util/UserIcons;->convertToBitmap(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Bitmap;
+HPLcom/android/internal/util/UserIcons;->getDefaultUserIcon(Landroid/content/res/Resources;IZ)Landroid/graphics/drawable/Drawable;
 HPLcom/android/internal/util/WakeupMessage;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;IIILjava/lang/Object;)V
 HPLcom/android/internal/util/WakeupMessage;->onAlarm()V
+HPLcom/android/internal/util/XmlUtils;->readBitmapAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/graphics/Bitmap;
 HPLcom/android/internal/util/XmlUtils;->readThisByteArrayXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;)[B
+HPLcom/android/internal/util/XmlUtils;->readThisIntArrayXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;)[I
 HPLcom/android/internal/util/XmlUtils;->readThisLongArrayXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;)[J
+HPLcom/android/internal/util/XmlUtils;->readUriAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/net/Uri;
 HPLcom/android/internal/util/XmlUtils;->writeByteArrayXml([BLjava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
 HPLcom/android/internal/util/XmlUtils;->writeLongArrayXml([JLjava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
 HPLcom/android/internal/util/XmlUtils;->writeUriAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Landroid/net/Uri;)V
 HPLcom/android/internal/util/XmlUtils;->writeValueXml(Ljava/lang/Object;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
+HPLcom/android/internal/util/function/pooled/OmniFunction;->accept(Ljava/lang/Object;)V
 HPLcom/android/internal/util/function/pooled/OmniFunction;->get()Ljava/lang/Object;
 HPLcom/android/internal/util/function/pooled/OmniFunction;->getOrThrow()Ljava/lang/Object;
-HPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/HexConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-HPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/QuadConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-HPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/QuintConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-HPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Ljava/util/function/Consumer;Ljava/lang/Object;)Landroid/os/Message;
+HPLcom/android/internal/util/function/pooled/PooledLambda;->__()Lcom/android/internal/util/function/pooled/ArgumentPlaceholder;
+HPLcom/android/internal/util/function/pooled/PooledLambda;->obtainConsumer(Ljava/util/function/BiConsumer;Lcom/android/internal/util/function/pooled/ArgumentPlaceholder;Ljava/lang/Object;)Lcom/android/internal/util/function/pooled/PooledConsumer;
+HPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/NonaConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
+HPLcom/android/internal/util/function/pooled/PooledLambda;->obtainRunnable(Lcom/android/internal/util/function/TriConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/android/internal/util/function/pooled/PooledRunnable;
+HPLcom/android/internal/util/function/pooled/PooledLambda;->obtainSupplier(I)Lcom/android/internal/util/function/pooled/PooledSupplier$OfInt;
 HPLcom/android/internal/util/function/pooled/PooledLambda;->obtainSupplier(Lcom/android/internal/util/function/TriFunction;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/android/internal/util/function/pooled/PooledSupplier;
-HPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->popArg(I)Ljava/lang/Object;
+HPLcom/android/internal/util/function/pooled/PooledLambdaImpl$LambdaType;->toString(I)Ljava/lang/String;
+HPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->getAsInt()I
+HPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->getFuncTypeAsString()Ljava/lang/String;
+HPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->isInvocationArgAtIndex(I)Z
+HPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->recycleOnUse()Lcom/android/internal/util/function/pooled/PooledSupplier$OfInt;
 HPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->recycleOnUse()Lcom/android/internal/util/function/pooled/PooledSupplier;
-HPLcom/android/internal/view/ActionBarPolicy;->enableHomeButtonByDefault()Z
+HPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->toString()Ljava/lang/String;
+HPLcom/android/internal/view/-$$Lambda$FloatingActionMode$LU5MpPuKYDtwlFAuYhXYfzgLNLE;->onMenuItemClick(Landroid/view/MenuItem;)Z
 HPLcom/android/internal/view/ActionBarPolicy;->hasEmbeddedTabs()Z
-HPLcom/android/internal/view/ActionBarPolicy;->showsOverflowMenuButton()Z
+HPLcom/android/internal/view/BaseIWindow;-><init>()V
 HPLcom/android/internal/view/BaseIWindow;->closeSystemDialogs(Ljava/lang/String;)V
 HPLcom/android/internal/view/BaseIWindow;->dispatchAppVisibility(Z)V
-HPLcom/android/internal/view/BaseIWindow;->dispatchWindowShown()V
+HPLcom/android/internal/view/BaseIWindow;->dispatchSystemUiVisibilityChanged(IIII)V
+HPLcom/android/internal/view/BaseIWindow;->insetsChanged(Landroid/view/InsetsState;)V
 HPLcom/android/internal/view/FloatingActionMode$1;->run()V
+HPLcom/android/internal/view/FloatingActionMode$3;->onMenuItemSelected(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)Z
 HPLcom/android/internal/view/FloatingActionMode$FloatingToolbarVisibilityHelper;->updateToolbarVisibility()V
 HPLcom/android/internal/view/FloatingActionMode;-><init>(Landroid/content/Context;Landroid/view/ActionMode$Callback2;Landroid/view/View;Lcom/android/internal/widget/FloatingToolbar;)V
 HPLcom/android/internal/view/FloatingActionMode;->finish()V
 HPLcom/android/internal/view/FloatingActionMode;->getMenu()Landroid/view/Menu;
+HPLcom/android/internal/view/FloatingActionMode;->getMenuInflater()Landroid/view/MenuInflater;
+HPLcom/android/internal/view/FloatingActionMode;->hide(J)V
 HPLcom/android/internal/view/FloatingActionMode;->invalidate()V
 HPLcom/android/internal/view/FloatingActionMode;->invalidateContentRect()V
 HPLcom/android/internal/view/FloatingActionMode;->isContentRectWithinBounds()Z
 HPLcom/android/internal/view/FloatingActionMode;->repositionToolbar()V
+HPLcom/android/internal/view/FloatingActionMode;->setSubtitle(Ljava/lang/CharSequence;)V
+HPLcom/android/internal/view/FloatingActionMode;->setTitle(Ljava/lang/CharSequence;)V
 HPLcom/android/internal/view/FloatingActionMode;->updateViewLocationInWindow()V
-HPLcom/android/internal/view/IInputConnectionWrapper;->commitCorrection(Landroid/view/inputmethod/CorrectionInfo;)V
+HPLcom/android/internal/view/IInputConnectionWrapper$MyHandler;->handleMessage(Landroid/os/Message;)V
+HPLcom/android/internal/view/IInputConnectionWrapper;->beginBatchEdit()V
 HPLcom/android/internal/view/IInputConnectionWrapper;->commitText(Ljava/lang/CharSequence;I)V
 HPLcom/android/internal/view/IInputConnectionWrapper;->deleteSurroundingText(II)V
+HPLcom/android/internal/view/IInputConnectionWrapper;->endBatchEdit()V
 HPLcom/android/internal/view/IInputConnectionWrapper;->getCursorCapsMode(IILcom/android/internal/view/IInputContextCallback;)V
+HPLcom/android/internal/view/IInputConnectionWrapper;->getSelectedText(IILcom/android/internal/view/IInputContextCallback;)V
+HPLcom/android/internal/view/IInputConnectionWrapper;->getTextAfterCursor(IIILcom/android/internal/view/IInputContextCallback;)V
+HPLcom/android/internal/view/IInputConnectionWrapper;->getTextBeforeCursor(IIILcom/android/internal/view/IInputContextCallback;)V
+HPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessageII(III)Landroid/os/Message;
+HPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessageIISC(IIIILcom/android/internal/view/IInputContextCallback;)Landroid/os/Message;
+HPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessageIO(IILjava/lang/Object;)Landroid/os/Message;
+HPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessageISC(IIILcom/android/internal/view/IInputContextCallback;)Landroid/os/Message;
 HPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessageO(ILjava/lang/Object;)Landroid/os/Message;
+HPLcom/android/internal/view/IInputConnectionWrapper;->performEditorAction(I)V
 HPLcom/android/internal/view/IInputConnectionWrapper;->sendKeyEvent(Landroid/view/KeyEvent;)V
+HPLcom/android/internal/view/IInputConnectionWrapper;->setComposingRegion(II)V
+HPLcom/android/internal/view/IInputConnectionWrapper;->setComposingText(Ljava/lang/CharSequence;I)V
 HPLcom/android/internal/view/IInputConnectionWrapper;->setSelection(II)V
-HPLcom/android/internal/view/IInputContext$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HPLcom/android/internal/view/IInputContext$Stub$Proxy;->beginBatchEdit()V
+HPLcom/android/internal/view/IInputContext$Stub$Proxy;->commitContent(Landroid/view/inputmethod/InputContentInfo;ILandroid/os/Bundle;ILcom/android/internal/view/IInputContextCallback;)V
 HPLcom/android/internal/view/IInputContext$Stub$Proxy;->commitCorrection(Landroid/view/inputmethod/CorrectionInfo;)V
-HPLcom/android/internal/view/IInputContext$Stub$Proxy;->commitText(Ljava/lang/CharSequence;I)V
 HPLcom/android/internal/view/IInputContext$Stub$Proxy;->deleteSurroundingText(II)V
 HPLcom/android/internal/view/IInputContext$Stub$Proxy;->endBatchEdit()V
 HPLcom/android/internal/view/IInputContext$Stub$Proxy;->finishComposingText()V
 HPLcom/android/internal/view/IInputContext$Stub$Proxy;->getCursorCapsMode(IILcom/android/internal/view/IInputContextCallback;)V
-HPLcom/android/internal/view/IInputContext$Stub$Proxy;->getSelectedText(IILcom/android/internal/view/IInputContextCallback;)V
-HPLcom/android/internal/view/IInputContext$Stub$Proxy;->getTextAfterCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-HPLcom/android/internal/view/IInputContext$Stub$Proxy;->getTextBeforeCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-HPLcom/android/internal/view/IInputContext$Stub$Proxy;->performEditorAction(I)V
-HPLcom/android/internal/view/IInputContext$Stub$Proxy;->sendKeyEvent(Landroid/view/KeyEvent;)V
 HPLcom/android/internal/view/IInputContext$Stub$Proxy;->setComposingRegion(II)V
 HPLcom/android/internal/view/IInputContext$Stub$Proxy;->setComposingText(Ljava/lang/CharSequence;I)V
 HPLcom/android/internal/view/IInputContext$Stub$Proxy;->setSelection(II)V
+HPLcom/android/internal/view/IInputContext$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setCursorCapsMode(II)V
-HPLcom/android/internal/view/IInputContextCallback$Stub;->asBinder()Landroid/os/IBinder;
-HPLcom/android/internal/view/IInputContextCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setSelectedText(Ljava/lang/CharSequence;I)V
+HPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setTextAfterCursor(Ljava/lang/CharSequence;I)V
+HPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setTextBeforeCursor(Ljava/lang/CharSequence;I)V
+HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->bindInput(Landroid/view/inputmethod/InputBinding;)V
 HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->createSession(Landroid/view/InputChannel;Lcom/android/internal/view/IInputSessionCallback;)V
 HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->hideSoftInput(ILandroid/os/ResultReceiver;)V
+HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->initializeInternal(Landroid/os/IBinder;ILcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;)V
 HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->setSessionEnabled(Lcom/android/internal/view/IInputMethodSession;Z)V
 HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->showSoftInput(ILandroid/os/ResultReceiver;)V
-HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->startInput(Landroid/os/IBinder;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;Z)V
+HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->startInput(Landroid/os/IBinder;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;ZZ)V
 HPLcom/android/internal/view/IInputMethod$Stub$Proxy;->unbindInput()V
-HPLcom/android/internal/view/IInputMethodClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
+HPLcom/android/internal/view/IInputMethod$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputMethod;
 HPLcom/android/internal/view/IInputMethodClient$Stub$Proxy;->onBindMethod(Lcom/android/internal/view/InputBindResult;)V
 HPLcom/android/internal/view/IInputMethodClient$Stub$Proxy;->onUnbindMethod(II)V
 HPLcom/android/internal/view/IInputMethodClient$Stub$Proxy;->reportFullscreenMode(Z)V
-HPLcom/android/internal/view/IInputMethodClient$Stub$Proxy;->setActive(ZZ)V
-HPLcom/android/internal/view/IInputMethodClient$Stub$Proxy;->setUserActionNotificationSequenceNumber(I)V
-HPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->hideMySoftInput(Landroid/os/IBinder;I)V
-HPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->setImeWindowStatus(Landroid/os/IBinder;Landroid/os/IBinder;II)V
-HPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->shouldOfferSwitchingToNextInputMethod(Landroid/os/IBinder;)Z
-HPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->updateStatusIcon(Landroid/os/IBinder;Ljava/lang/String;I)V
+HPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getCurrentInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;
+HPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->showSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
+HPLcom/android/internal/view/IInputMethodManager$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLcom/android/internal/view/IInputMethodSession$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HPLcom/android/internal/view/IInputMethodSession$Stub$Proxy;->finishSession()V
-HPLcom/android/internal/view/IInputMethodSession$Stub$Proxy;->toggleSoftInput(II)V
 HPLcom/android/internal/view/IInputMethodSession$Stub$Proxy;->viewClicked(Z)V
-HPLcom/android/internal/view/IInputMethodSession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HPLcom/android/internal/view/IInputSessionCallback$Stub;-><init>()V
 HPLcom/android/internal/view/IInputSessionCallback$Stub;->asBinder()Landroid/os/IBinder;
+HPLcom/android/internal/view/IInputSessionCallback$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
 HPLcom/android/internal/view/IInputSessionCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/internal/view/InputBindResult;-><init>(ILcom/android/internal/view/IInputMethodSession;Landroid/view/InputChannel;Ljava/lang/String;II)V
-HPLcom/android/internal/view/InputBindResult;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;-><init>()V
-HPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->dispose()V
-HPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->getInstance()Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
+HPLcom/android/internal/view/InputBindResult;-><init>(ILcom/android/internal/view/IInputMethodSession;Landroid/view/InputChannel;Ljava/lang/String;I)V
+HPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->setCommitContentResult(ZI)V
 HPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->setCursorCapsMode(II)V
-HPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->setSelectedText(Ljava/lang/CharSequence;I)V
-HPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->setTextAfterCursor(Ljava/lang/CharSequence;I)V
-HPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->setTextBeforeCursor(Ljava/lang/CharSequence;I)V
-HPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->waitForResultLocked()V
 HPLcom/android/internal/view/InputConnectionWrapper;->beginBatchEdit()Z
+HPLcom/android/internal/view/InputConnectionWrapper;->commitContent(Landroid/view/inputmethod/InputContentInfo;ILandroid/os/Bundle;)Z
 HPLcom/android/internal/view/InputConnectionWrapper;->commitCorrection(Landroid/view/inputmethod/CorrectionInfo;)Z
-HPLcom/android/internal/view/InputConnectionWrapper;->commitText(Ljava/lang/CharSequence;I)Z
 HPLcom/android/internal/view/InputConnectionWrapper;->deleteSurroundingText(II)Z
 HPLcom/android/internal/view/InputConnectionWrapper;->endBatchEdit()Z
 HPLcom/android/internal/view/InputConnectionWrapper;->finishComposingText()Z
 HPLcom/android/internal/view/InputConnectionWrapper;->getCursorCapsMode(I)I
-HPLcom/android/internal/view/InputConnectionWrapper;->getSelectedText(I)Ljava/lang/CharSequence;
-HPLcom/android/internal/view/InputConnectionWrapper;->getTextAfterCursor(II)Ljava/lang/CharSequence;
-HPLcom/android/internal/view/InputConnectionWrapper;->getTextBeforeCursor(II)Ljava/lang/CharSequence;
-HPLcom/android/internal/view/InputConnectionWrapper;->performEditorAction(I)Z
-HPLcom/android/internal/view/InputConnectionWrapper;->sendKeyEvent(Landroid/view/KeyEvent;)Z
 HPLcom/android/internal/view/InputConnectionWrapper;->setComposingRegion(II)Z
 HPLcom/android/internal/view/InputConnectionWrapper;->setComposingText(Ljava/lang/CharSequence;I)Z
 HPLcom/android/internal/view/InputConnectionWrapper;->setSelection(II)Z
-HPLcom/android/internal/view/OneShotPreDrawListener;->add(Landroid/view/View;Ljava/lang/Runnable;)Lcom/android/internal/view/OneShotPreDrawListener;
-HPLcom/android/internal/view/OneShotPreDrawListener;->add(Landroid/view/View;ZLjava/lang/Runnable;)Lcom/android/internal/view/OneShotPreDrawListener;
-HPLcom/android/internal/view/OneShotPreDrawListener;->onPreDraw()Z
-HPLcom/android/internal/view/OneShotPreDrawListener;->onViewAttachedToWindow(Landroid/view/View;)V
-HPLcom/android/internal/view/OneShotPreDrawListener;->removeListener()V
-HPLcom/android/internal/view/menu/ActionMenuItemView$PopupCallback;->getPopup()Lcom/android/internal/view/menu/ShowableListMenu;
-HPLcom/android/internal/view/menu/ActionMenuItemView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HPLcom/android/internal/view/menu/ActionMenuItemView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HPLcom/android/internal/view/menu/ActionMenuItemView;->hasText()Z
-HPLcom/android/internal/view/menu/ActionMenuItemView;->initialize(Lcom/android/internal/view/menu/MenuItemImpl;I)V
-HPLcom/android/internal/view/menu/ActionMenuItemView;->needsDividerAfter()Z
-HPLcom/android/internal/view/menu/ActionMenuItemView;->needsDividerBefore()Z
-HPLcom/android/internal/view/menu/ActionMenuItemView;->onMeasure(II)V
-HPLcom/android/internal/view/menu/ActionMenuItemView;->prefersCondensedTitle()Z
-HPLcom/android/internal/view/menu/ActionMenuItemView;->setIcon(Landroid/graphics/drawable/Drawable;)V
-HPLcom/android/internal/view/menu/ActionMenuItemView;->setItemInvoker(Lcom/android/internal/view/menu/MenuBuilder$ItemInvoker;)V
-HPLcom/android/internal/view/menu/ActionMenuItemView;->setPopupCallback(Lcom/android/internal/view/menu/ActionMenuItemView$PopupCallback;)V
-HPLcom/android/internal/view/menu/ActionMenuItemView;->setTitle(Ljava/lang/CharSequence;)V
-HPLcom/android/internal/view/menu/ActionMenuItemView;->shouldAllowTextWithIcon()Z
-HPLcom/android/internal/view/menu/ActionMenuItemView;->updateTextButtonVisibility()V
-HPLcom/android/internal/view/menu/BaseMenuPresenter;->addItemView(Landroid/view/View;I)V
-HPLcom/android/internal/view/menu/BaseMenuPresenter;->createItemView(Landroid/view/ViewGroup;)Lcom/android/internal/view/menu/MenuView$ItemView;
-HPLcom/android/internal/view/menu/BaseMenuPresenter;->getItemView(Lcom/android/internal/view/menu/MenuItemImpl;Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
+HPLcom/android/internal/view/SurfaceCallbackHelper$1;->run()V
+HPLcom/android/internal/view/SurfaceCallbackHelper;-><init>(Ljava/lang/Runnable;)V
+HPLcom/android/internal/view/SurfaceCallbackHelper;->dispatchSurfaceRedrawNeededAsync(Landroid/view/SurfaceHolder;[Landroid/view/SurfaceHolder$Callback;)V
+HPLcom/android/internal/view/menu/ActionMenuItem;->getItemId()I
+HPLcom/android/internal/view/menu/ActionMenuItem;->getTitleCondensed()Ljava/lang/CharSequence;
+HPLcom/android/internal/view/menu/ActionMenuItem;->setTitle(Ljava/lang/CharSequence;)Landroid/view/MenuItem;
+HPLcom/android/internal/view/menu/ActionMenuItemView;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
+HPLcom/android/internal/view/menu/ActionMenuItemView;->getItemData()Lcom/android/internal/view/menu/MenuItemImpl;
+HPLcom/android/internal/view/menu/ActionMenuItemView;->onClick(Landroid/view/View;)V
+HPLcom/android/internal/view/menu/ActionMenuItemView;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
+HPLcom/android/internal/view/menu/ActionMenuItemView;->onTouchEvent(Landroid/view/MotionEvent;)Z
 HPLcom/android/internal/view/menu/BaseMenuPresenter;->setId(I)V
-HPLcom/android/internal/view/menu/ContextMenuBuilder;-><init>(Landroid/content/Context;)V
+HPLcom/android/internal/view/menu/ContextMenuBuilder;->setHeaderTitle(Ljava/lang/CharSequence;)Landroid/view/ContextMenu;
+HPLcom/android/internal/view/menu/ContextMenuBuilder;->showDialog(Landroid/view/View;Landroid/os/IBinder;)Lcom/android/internal/view/menu/MenuDialogHelper;
 HPLcom/android/internal/view/menu/ContextMenuBuilder;->showPopup(Landroid/content/Context;Landroid/view/View;FF)Lcom/android/internal/view/menu/MenuPopupHelper;
-HPLcom/android/internal/view/menu/ListMenuItemView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HPLcom/android/internal/view/menu/ListMenuItemView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HPLcom/android/internal/view/menu/ListMenuItemView;->adjustListItemSelectionBounds(Landroid/graphics/Rect;)V
-HPLcom/android/internal/view/menu/ListMenuItemView;->initialize(Lcom/android/internal/view/menu/MenuItemImpl;I)V
-HPLcom/android/internal/view/menu/ListMenuItemView;->onFinishInflate()V
-HPLcom/android/internal/view/menu/ListMenuItemView;->onMeasure(II)V
-HPLcom/android/internal/view/menu/ListMenuItemView;->prefersCondensedTitle()Z
-HPLcom/android/internal/view/menu/ListMenuItemView;->setCheckable(Z)V
-HPLcom/android/internal/view/menu/ListMenuItemView;->setGroupDividerEnabled(Z)V
-HPLcom/android/internal/view/menu/ListMenuItemView;->setIcon(Landroid/graphics/drawable/Drawable;)V
-HPLcom/android/internal/view/menu/ListMenuItemView;->setShortcut(ZC)V
-HPLcom/android/internal/view/menu/ListMenuItemView;->setTitle(Ljava/lang/CharSequence;)V
-HPLcom/android/internal/view/menu/MenuAdapter;->findExpandedIndex()V
-HPLcom/android/internal/view/menu/MenuAdapter;->getCount()I
-HPLcom/android/internal/view/menu/MenuAdapter;->getItem(I)Lcom/android/internal/view/menu/MenuItemImpl;
-HPLcom/android/internal/view/menu/MenuAdapter;->getItem(I)Ljava/lang/Object;
-HPLcom/android/internal/view/menu/MenuAdapter;->getItemId(I)J
-HPLcom/android/internal/view/menu/MenuAdapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
-HPLcom/android/internal/view/menu/MenuAdapter;->setForceShowIcon(Z)V
-HPLcom/android/internal/view/menu/MenuBuilder;->add(I)Landroid/view/MenuItem;
-HPLcom/android/internal/view/menu/MenuBuilder;->clearAll()V
-HPLcom/android/internal/view/menu/MenuBuilder;->clearHeader()V
-HPLcom/android/internal/view/menu/MenuBuilder;->close()V
-HPLcom/android/internal/view/menu/MenuBuilder;->close(Z)V
-HPLcom/android/internal/view/menu/MenuBuilder;->dispatchMenuItemSelected(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)Z
-HPLcom/android/internal/view/menu/MenuBuilder;->getContext()Landroid/content/Context;
-HPLcom/android/internal/view/menu/MenuBuilder;->getExpandedItem()Lcom/android/internal/view/menu/MenuItemImpl;
+HPLcom/android/internal/view/menu/MenuBuilder;->findGroupIndex(I)I
+HPLcom/android/internal/view/menu/MenuBuilder;->findGroupIndex(II)I
+HPLcom/android/internal/view/menu/MenuBuilder;->findItemIndex(I)I
+HPLcom/android/internal/view/menu/MenuBuilder;->getHeaderTitle()Ljava/lang/CharSequence;
 HPLcom/android/internal/view/menu/MenuBuilder;->getItem(I)Landroid/view/MenuItem;
-HPLcom/android/internal/view/menu/MenuBuilder;->getOptionalIconsVisible()Z
-HPLcom/android/internal/view/menu/MenuBuilder;->isGroupDividerEnabled()Z
-HPLcom/android/internal/view/menu/MenuBuilder;->isQwertyMode()Z
-HPLcom/android/internal/view/menu/MenuBuilder;->isShortcutsVisible()Z
-HPLcom/android/internal/view/menu/MenuBuilder;->onItemActionRequestChanged(Lcom/android/internal/view/menu/MenuItemImpl;)V
-HPLcom/android/internal/view/menu/MenuBuilder;->performItemAction(Landroid/view/MenuItem;I)Z
-HPLcom/android/internal/view/menu/MenuBuilder;->performItemAction(Landroid/view/MenuItem;Lcom/android/internal/view/menu/MenuPresenter;I)Z
+HPLcom/android/internal/view/menu/MenuBuilder;->getResources()Landroid/content/res/Resources;
+HPLcom/android/internal/view/menu/MenuBuilder;->getRootMenu()Lcom/android/internal/view/menu/MenuBuilder;
+HPLcom/android/internal/view/menu/MenuBuilder;->removeGroup(I)V
+HPLcom/android/internal/view/menu/MenuBuilder;->removeItem(I)V
 HPLcom/android/internal/view/menu/MenuBuilder;->removeMenuPresenter(Lcom/android/internal/view/menu/MenuPresenter;)V
 HPLcom/android/internal/view/menu/MenuBuilder;->setCurrentMenuInfo(Landroid/view/ContextMenu$ContextMenuInfo;)V
-HPLcom/android/internal/view/menu/MenuItemImpl;->applyIconTintIfNecessary(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
-HPLcom/android/internal/view/menu/MenuItemImpl;->getActionProvider()Landroid/view/ActionProvider;
+HPLcom/android/internal/view/menu/MenuBuilder;->setHeaderInternal(ILjava/lang/CharSequence;ILandroid/graphics/drawable/Drawable;Landroid/view/View;)V
+HPLcom/android/internal/view/menu/MenuBuilder;->setQwertyMode(Z)V
 HPLcom/android/internal/view/menu/MenuItemImpl;->getActionView()Landroid/view/View;
 HPLcom/android/internal/view/menu/MenuItemImpl;->getContentDescription()Ljava/lang/CharSequence;
 HPLcom/android/internal/view/menu/MenuItemImpl;->getGroupId()I
-HPLcom/android/internal/view/menu/MenuItemImpl;->getIcon()Landroid/graphics/drawable/Drawable;
-HPLcom/android/internal/view/menu/MenuItemImpl;->getItemId()I
 HPLcom/android/internal/view/menu/MenuItemImpl;->getOrder()I
 HPLcom/android/internal/view/menu/MenuItemImpl;->getSubMenu()Landroid/view/SubMenu;
 HPLcom/android/internal/view/menu/MenuItemImpl;->getTitle()Ljava/lang/CharSequence;
+HPLcom/android/internal/view/menu/MenuItemImpl;->getTitleCondensed()Ljava/lang/CharSequence;
 HPLcom/android/internal/view/menu/MenuItemImpl;->getTooltipText()Ljava/lang/CharSequence;
-HPLcom/android/internal/view/menu/MenuItemImpl;->invoke()Z
 HPLcom/android/internal/view/menu/MenuItemImpl;->isEnabled()Z
 HPLcom/android/internal/view/menu/MenuItemImpl;->requiresActionButton()Z
 HPLcom/android/internal/view/menu/MenuItemImpl;->requiresOverflow()Z
-HPLcom/android/internal/view/menu/MenuItemImpl;->setActionProvider(Landroid/view/ActionProvider;)Landroid/view/MenuItem;
-HPLcom/android/internal/view/menu/MenuItemImpl;->setShowAsAction(I)V
-HPLcom/android/internal/view/menu/MenuItemImpl;->setTitle(I)Landroid/view/MenuItem;
-HPLcom/android/internal/view/menu/MenuPopup;->addMenu(Lcom/android/internal/view/menu/MenuBuilder;)V
-HPLcom/android/internal/view/menu/MenuPopup;->initForMenu(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
-HPLcom/android/internal/view/menu/MenuPopup;->measureIndividualMenuWidth(Landroid/widget/ListAdapter;Landroid/view/ViewGroup;Landroid/content/Context;I)I
-HPLcom/android/internal/view/menu/MenuPopup;->onItemClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)V
-HPLcom/android/internal/view/menu/MenuPopup;->setAnchorView(Landroid/view/View;)V
-HPLcom/android/internal/view/menu/MenuPopup;->setForceShowIcon(Z)V
-HPLcom/android/internal/view/menu/MenuPopup;->setGravity(I)V
-HPLcom/android/internal/view/menu/MenuPopup;->setHorizontalOffset(I)V
-HPLcom/android/internal/view/menu/MenuPopup;->setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V
-HPLcom/android/internal/view/menu/MenuPopup;->setShowTitle(Z)V
-HPLcom/android/internal/view/menu/MenuPopup;->setVerticalOffset(I)V
-HPLcom/android/internal/view/menu/MenuPopupHelper$1;->onDismiss()V
-HPLcom/android/internal/view/menu/MenuPopupHelper;->createPopup()Lcom/android/internal/view/menu/MenuPopup;
-HPLcom/android/internal/view/menu/MenuPopupHelper;->dismiss()V
-HPLcom/android/internal/view/menu/MenuPopupHelper;->getPopup()Lcom/android/internal/view/menu/MenuPopup;
-HPLcom/android/internal/view/menu/MenuPopupHelper;->isShowing()Z
-HPLcom/android/internal/view/menu/MenuPopupHelper;->onDismiss()V
-HPLcom/android/internal/view/menu/MenuPopupHelper;->show()V
-HPLcom/android/internal/view/menu/MenuPopupHelper;->showPopup(IIZZ)V
-HPLcom/android/internal/view/menu/MenuPopupHelper;->tryShow()Z
-HPLcom/android/internal/view/menu/MenuPresenter;->flagActionItems()Z
-HPLcom/android/internal/view/menu/MenuPresenter;->onCloseMenu(Lcom/android/internal/view/menu/MenuBuilder;Z)V
-HPLcom/android/internal/view/menu/MenuPresenter;->onSubMenuSelected(Lcom/android/internal/view/menu/SubMenuBuilder;)Z
-HPLcom/android/internal/view/menu/MenuPresenter;->setCallback(Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
-HPLcom/android/internal/view/menu/MenuPresenter;->updateMenuView(Z)V
-HPLcom/android/internal/view/menu/MenuView$ItemView;->getItemData()Lcom/android/internal/view/menu/MenuItemImpl;
-HPLcom/android/internal/view/menu/MenuView$ItemView;->initialize(Lcom/android/internal/view/menu/MenuItemImpl;I)V
-HPLcom/android/internal/view/menu/MenuView$ItemView;->prefersCondensedTitle()Z
-HPLcom/android/internal/view/menu/MenuView$ItemView;->setCheckable(Z)V
-HPLcom/android/internal/view/menu/MenuView$ItemView;->setChecked(Z)V
-HPLcom/android/internal/view/menu/MenuView$ItemView;->setEnabled(Z)V
-HPLcom/android/internal/view/menu/MenuView$ItemView;->setIcon(Landroid/graphics/drawable/Drawable;)V
-HPLcom/android/internal/view/menu/MenuView$ItemView;->setShortcut(ZC)V
-HPLcom/android/internal/view/menu/MenuView$ItemView;->setTitle(Ljava/lang/CharSequence;)V
-HPLcom/android/internal/view/menu/MenuView$ItemView;->showsIcon()Z
+HPLcom/android/internal/view/menu/MenuItemImpl;->setActionView(Landroid/view/View;)Landroid/view/MenuItem;
+HPLcom/android/internal/view/menu/MenuItemImpl;->setIntent(Landroid/content/Intent;)Landroid/view/MenuItem;
+HPLcom/android/internal/view/menu/MenuPopup;->setEpicenterBounds(Landroid/graphics/Rect;)V
+HPLcom/android/internal/view/menu/MenuPopupHelper$1;-><init>(Lcom/android/internal/view/menu/MenuPopupHelper;)V
+HPLcom/android/internal/view/menu/MenuPopupHelper;->setPresenterCallback(Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
 HPLcom/android/internal/view/menu/StandardMenuPopup$1;->onGlobalLayout()V
-HPLcom/android/internal/view/menu/StandardMenuPopup;-><init>(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/View;IIZ)V
-HPLcom/android/internal/view/menu/StandardMenuPopup;->addMenu(Lcom/android/internal/view/menu/MenuBuilder;)V
-HPLcom/android/internal/view/menu/StandardMenuPopup;->onCloseMenu(Lcom/android/internal/view/menu/MenuBuilder;Z)V
-HPLcom/android/internal/view/menu/StandardMenuPopup;->onDismiss()V
-HPLcom/android/internal/view/menu/StandardMenuPopup;->setAnchorView(Landroid/view/View;)V
-HPLcom/android/internal/view/menu/StandardMenuPopup;->setCallback(Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
-HPLcom/android/internal/view/menu/StandardMenuPopup;->setForceShowIcon(Z)V
-HPLcom/android/internal/view/menu/StandardMenuPopup;->setGravity(I)V
-HPLcom/android/internal/view/menu/StandardMenuPopup;->setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V
-HPLcom/android/internal/view/menu/StandardMenuPopup;->setShowTitle(Z)V
-HPLcom/android/internal/view/menu/StandardMenuPopup;->show()V
-HPLcom/android/internal/view/menu/StandardMenuPopup;->tryShow()Z
+HPLcom/android/internal/view/menu/StandardMenuPopup$2;->onViewDetachedFromWindow(Landroid/view/View;)V
+HPLcom/android/internal/view/menu/StandardMenuPopup;->isShowing()Z
+HPLcom/android/internal/view/menu/StandardMenuPopup;->setHorizontalOffset(I)V
+HPLcom/android/internal/view/menu/StandardMenuPopup;->setVerticalOffset(I)V
 HPLcom/android/internal/widget/-$$Lambda$FloatingToolbar$7-enOzxeypZYfdFYr1HzBLfj47k;-><init>()V
 HPLcom/android/internal/widget/-$$Lambda$FloatingToolbar$FloatingToolbarPopup$77YZy6kisO5OnjlgtKp0Zi1V8EY;->onComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
 HPLcom/android/internal/widget/-$$Lambda$FloatingToolbar$LutnsyBKrZiroTBekgIjhIyrl40;-><init>()V
 HPLcom/android/internal/widget/-$$Lambda$FloatingToolbar$LutnsyBKrZiroTBekgIjhIyrl40;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HPLcom/android/internal/widget/AbsActionBarView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HPLcom/android/internal/widget/AbsActionBarView;->dismissPopupMenus()V
+HPLcom/android/internal/widget/AbsActionBarView;->measureChildView(Landroid/view/View;III)I
+HPLcom/android/internal/widget/AbsActionBarView;->positionChild(Landroid/view/View;IIIZ)I
 HPLcom/android/internal/widget/ActionBarContainer$ActionBarBackgroundDrawable;->draw(Landroid/graphics/Canvas;)V
 HPLcom/android/internal/widget/ActionBarContainer$ActionBarBackgroundDrawable;->getOpacity()I
 HPLcom/android/internal/widget/ActionBarContainer$ActionBarBackgroundDrawable;->getOutline(Landroid/graphics/Outline;)V
@@ -10572,6 +11270,7 @@
 HPLcom/android/internal/widget/ActionBarContainer;->setTabContainer(Lcom/android/internal/widget/ScrollingTabContainerView;)V
 HPLcom/android/internal/widget/ActionBarContainer;->setTransitioning(Z)V
 HPLcom/android/internal/widget/ActionBarContainer;->setVisibility(I)V
+HPLcom/android/internal/widget/ActionBarContainer;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
 HPLcom/android/internal/widget/ActionBarContextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HPLcom/android/internal/widget/ActionBarContextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HPLcom/android/internal/widget/ActionBarContextView;->onDetachedFromWindow()V
@@ -10580,6 +11279,7 @@
 HPLcom/android/internal/widget/ActionBarOverlayLayout;->applyInsets(Landroid/view/View;Landroid/graphics/Rect;ZZZZ)Z
 HPLcom/android/internal/widget/ActionBarOverlayLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
 HPLcom/android/internal/widget/ActionBarOverlayLayout;->dismissPopups()V
+HPLcom/android/internal/widget/ActionBarOverlayLayout;->draw(Landroid/graphics/Canvas;)V
 HPLcom/android/internal/widget/ActionBarOverlayLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
 HPLcom/android/internal/widget/ActionBarOverlayLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Lcom/android/internal/widget/ActionBarOverlayLayout$LayoutParams;
 HPLcom/android/internal/widget/ActionBarOverlayLayout;->getDecorToolbar(Landroid/view/View;)Lcom/android/internal/widget/DecorToolbar;
@@ -10607,49 +11307,76 @@
 HPLcom/android/internal/widget/ActionBarOverlayLayout;->setUiOptions(I)V
 HPLcom/android/internal/widget/ActionBarOverlayLayout;->setWindowCallback(Landroid/view/Window$Callback;)V
 HPLcom/android/internal/widget/ActionBarOverlayLayout;->setWindowTitle(Ljava/lang/CharSequence;)V
+HPLcom/android/internal/widget/ActionBarView$HomeView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLcom/android/internal/widget/ActionBarView$HomeView;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
+HPLcom/android/internal/widget/ActionBarView$HomeView;->getStartOffset()I
+HPLcom/android/internal/widget/ActionBarView$HomeView;->onFinishInflate()V
+HPLcom/android/internal/widget/ActionBarView$HomeView;->onLayout(ZIIII)V
+HPLcom/android/internal/widget/ActionBarView$HomeView;->onMeasure(II)V
+HPLcom/android/internal/widget/ActionBarView$HomeView;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
+HPLcom/android/internal/widget/ActionBarView$HomeView;->setIcon(Landroid/graphics/drawable/Drawable;)V
+HPLcom/android/internal/widget/ActionBarView$HomeView;->setShowIcon(Z)V
+HPLcom/android/internal/widget/ActionBarView$HomeView;->setShowUp(Z)V
+HPLcom/android/internal/widget/ActionBarView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLcom/android/internal/widget/ActionBarView;->buildHomeContentDescription()Ljava/lang/CharSequence;
+HPLcom/android/internal/widget/ActionBarView;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
+HPLcom/android/internal/widget/ActionBarView;->getSubtitle()Ljava/lang/CharSequence;
+HPLcom/android/internal/widget/ActionBarView;->getTitle()Ljava/lang/CharSequence;
+HPLcom/android/internal/widget/ActionBarView;->hasIcon()Z
+HPLcom/android/internal/widget/ActionBarView;->initTitle()V
+HPLcom/android/internal/widget/ActionBarView;->isSplit()Z
+HPLcom/android/internal/widget/ActionBarView;->onDetachedFromWindow()V
+HPLcom/android/internal/widget/ActionBarView;->onFinishInflate()V
+HPLcom/android/internal/widget/ActionBarView;->onLayout(ZIIII)V
+HPLcom/android/internal/widget/ActionBarView;->onMeasure(II)V
+HPLcom/android/internal/widget/ActionBarView;->setDisplayOptions(I)V
+HPLcom/android/internal/widget/ActionBarView;->setIcon(I)V
+HPLcom/android/internal/widget/ActionBarView;->setIcon(Landroid/graphics/drawable/Drawable;)V
+HPLcom/android/internal/widget/ActionBarView;->setTitleImpl(Ljava/lang/CharSequence;)V
+HPLcom/android/internal/widget/ActionBarView;->setWindowCallback(Landroid/view/Window$Callback;)V
+HPLcom/android/internal/widget/ActionBarView;->setWindowTitle(Ljava/lang/CharSequence;)V
+HPLcom/android/internal/widget/AlertDialogLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLcom/android/internal/widget/AlertDialogLayout;->forceUniformWidth(II)V
+HPLcom/android/internal/widget/AlertDialogLayout;->onLayout(ZIIII)V
+HPLcom/android/internal/widget/AlertDialogLayout;->onMeasure(II)V
 HPLcom/android/internal/widget/AlertDialogLayout;->resolveMinimumHeight(Landroid/view/View;)I
+HPLcom/android/internal/widget/AlertDialogLayout;->setChildFrame(Landroid/view/View;IIII)V
+HPLcom/android/internal/widget/AlertDialogLayout;->tryOnMeasure(II)Z
+HPLcom/android/internal/widget/BackgroundFallback;->setDrawable(Landroid/graphics/drawable/Drawable;)V
+HPLcom/android/internal/widget/ButtonBarLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HPLcom/android/internal/widget/ButtonBarLayout;->getMinimumHeight()I
 HPLcom/android/internal/widget/ButtonBarLayout;->onMeasure(II)V
-HPLcom/android/internal/widget/DecorContentParent;->canShowOverflowMenu()Z
-HPLcom/android/internal/widget/DecorContentParent;->dismissPopups()V
-HPLcom/android/internal/widget/DecorContentParent;->getTitle()Ljava/lang/CharSequence;
-HPLcom/android/internal/widget/DecorContentParent;->hasIcon()Z
-HPLcom/android/internal/widget/DecorContentParent;->hasLogo()Z
-HPLcom/android/internal/widget/DecorContentParent;->hideOverflowMenu()Z
-HPLcom/android/internal/widget/DecorContentParent;->initFeature(I)V
-HPLcom/android/internal/widget/DecorContentParent;->isOverflowMenuShowPending()Z
-HPLcom/android/internal/widget/DecorContentParent;->isOverflowMenuShowing()Z
-HPLcom/android/internal/widget/DecorContentParent;->restoreToolbarHierarchyState(Landroid/util/SparseArray;)V
-HPLcom/android/internal/widget/DecorContentParent;->saveToolbarHierarchyState(Landroid/util/SparseArray;)V
-HPLcom/android/internal/widget/DecorContentParent;->setIcon(I)V
-HPLcom/android/internal/widget/DecorContentParent;->setIcon(Landroid/graphics/drawable/Drawable;)V
-HPLcom/android/internal/widget/DecorContentParent;->setLogo(I)V
-HPLcom/android/internal/widget/DecorContentParent;->setMenu(Landroid/view/Menu;Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
-HPLcom/android/internal/widget/DecorContentParent;->setMenuPrepared()V
-HPLcom/android/internal/widget/DecorContentParent;->setUiOptions(I)V
-HPLcom/android/internal/widget/DecorContentParent;->setWindowCallback(Landroid/view/Window$Callback;)V
-HPLcom/android/internal/widget/DecorContentParent;->setWindowTitle(Ljava/lang/CharSequence;)V
-HPLcom/android/internal/widget/DecorContentParent;->showOverflowMenu()Z
-HPLcom/android/internal/widget/EditableInputConnection;->commitCorrection(Landroid/view/inputmethod/CorrectionInfo;)Z
+HPLcom/android/internal/widget/DialogTitle;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HPLcom/android/internal/widget/EditableInputConnection;->commitText(Ljava/lang/CharSequence;I)Z
-HPLcom/android/internal/widget/FloatingToolbar$1;->onLayoutChange(Landroid/view/View;IIIIIIII)V
+HPLcom/android/internal/widget/EditableInputConnection;->performEditorAction(I)Z
+HPLcom/android/internal/widget/ExploreByTouchHelper;-><init>(Landroid/view/View;)V
+HPLcom/android/internal/widget/ExploreByTouchHelper;->invalidateVirtualView(II)V
+HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$11;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$11;->onMeasure(II)V
+HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$12;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
+HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$2;->onClick(Landroid/view/View;)V
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$3;->onAnimationEnd(Landroid/animation/Animator;)V
+HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$4;->onAnimationEnd(Landroid/animation/Animator;)V
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$LogAccelerateInterpolator;->computeLog(FI)F
+HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanel;->onMeasure(II)V
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanelViewHelper;-><init>(Landroid/content/Context;I)V
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;-><init>(Landroid/content/Context;Landroid/view/View;)V
+HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->calculateOverflowHeight(I)I
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->cancelOverflowAnimations()V
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->clearPanels()V
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->createOverflowPanel()Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanel;
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->getAdjustedToolbarWidth(I)I
+HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->getOverflowWidth()I
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->isOverflowAnimating()Z
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->layoutMainPanelItems(Ljava/util/List;I)Ljava/util/List;
+HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->layoutOverflowPanelItems(Ljava/util/List;)V
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->maybeComputeTransitionDurationScale()V
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->preparePopupContent()V
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->refreshCoordinatesAndOverflowDirection(Landroid/graphics/Rect;)V
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->setContentAreaAsTouchableSurface()V
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->setPanelsStatesAtRestingPosition()V
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->show(Landroid/graphics/Rect;)V
+HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->updateOverflowHeight(I)V
 HPLcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;->updatePopupSize()V
 HPLcom/android/internal/widget/FloatingToolbar;-><init>(Landroid/view/Window;)V
 HPLcom/android/internal/widget/FloatingToolbar;->applyDefaultTheme(Landroid/content/Context;)Landroid/content/Context;
@@ -10657,42 +11384,122 @@
 HPLcom/android/internal/widget/FloatingToolbar;->createEnterAnimation(Landroid/view/View;)Landroid/animation/AnimatorSet;
 HPLcom/android/internal/widget/FloatingToolbar;->createExitAnimation(Landroid/view/View;ILandroid/animation/Animator$AnimatorListener;)Landroid/animation/AnimatorSet;
 HPLcom/android/internal/widget/FloatingToolbar;->createPopupWindow(Landroid/view/ViewGroup;)Landroid/widget/PopupWindow;
-HPLcom/android/internal/widget/FloatingToolbar;->dismiss()V
 HPLcom/android/internal/widget/FloatingToolbar;->doShow()V
 HPLcom/android/internal/widget/FloatingToolbar;->getVisibleAndEnabledMenuItems(Landroid/view/Menu;)Ljava/util/List;
 HPLcom/android/internal/widget/FloatingToolbar;->isCurrentlyShowing(Ljava/util/List;)Z
 HPLcom/android/internal/widget/FloatingToolbar;->lambda$new$1(Landroid/view/MenuItem;Landroid/view/MenuItem;)I
 HPLcom/android/internal/widget/FloatingToolbar;->updateMenuItemButton(Landroid/view/View;Landroid/view/MenuItem;IZ)V
 HPLcom/android/internal/widget/ICheckCredentialProgressCallback$Stub$Proxy;->onCredentialVerified()V
-HPLcom/android/internal/widget/ICheckCredentialProgressCallback;->onCredentialVerified()V
+HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->generateKey(Ljava/lang/String;)Ljava/lang/String;
 HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getKey(Ljava/lang/String;)Ljava/lang/String;
 HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getKeyChainSnapshot()Landroid/security/keystore/recovery/KeyChainSnapshot;
+HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getRecoverySecretTypes()[I
 HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getRecoveryStatus()Ljava/util/Map;
+HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getSeparateProfileChallengeEnabled(I)Z
+HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->getStrongAuthForUser(I)I
+HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->havePassword(I)Z
 HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->initRecoveryServiceWithSigFile(Ljava/lang/String;[B[B)V
-HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->removeKey(Ljava/lang/String;)V
+HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setBoolean(Ljava/lang/String;ZI)V
+HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setLockCredential(Ljava/lang/String;ILjava/lang/String;II)V
+HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setLong(Ljava/lang/String;JI)V
 HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setRecoverySecretTypes([I)V
-HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setRecoveryStatus(Ljava/lang/String;I)V
 HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setServerParams([B)V
 HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->setSnapshotCreatedPendingIntent(Landroid/app/PendingIntent;)V
+HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->verifyCredential(Ljava/lang/String;IJI)Lcom/android/internal/widget/VerifyCredentialResponse;
+HPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->verifyTiedProfileChallenge(Ljava/lang/String;IJI)Lcom/android/internal/widget/VerifyCredentialResponse;
+HPLcom/android/internal/widget/ILockSettings$Stub;->getDefaultTransactionName(I)Ljava/lang/String;
+HPLcom/android/internal/widget/LinearLayoutWithDefaultTouchRecepient;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLcom/android/internal/widget/LinearLayoutWithDefaultTouchRecepient;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
+HPLcom/android/internal/widget/LinearLayoutWithDefaultTouchRecepient;->setDefaultTouchRecepient(Landroid/view/View;)V
+HPLcom/android/internal/widget/LockPatternChecker$4;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/internal/widget/LockPatternChecker$4;->doInBackground([Ljava/lang/Void;)[B
+HPLcom/android/internal/widget/LockPatternChecker$4;->onPostExecute(Ljava/lang/Object;)V
+HPLcom/android/internal/widget/LockPatternChecker$4;->onPostExecute([B)V
+HPLcom/android/internal/widget/LockPatternChecker;->verifyTiedProfileChallenge(Lcom/android/internal/widget/LockPatternUtils;Ljava/lang/String;ZJILcom/android/internal/widget/LockPatternChecker$OnVerifyCallback;)Landroid/os/AsyncTask;
+HPLcom/android/internal/widget/LockPatternUtils$1;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
+HPLcom/android/internal/widget/LockPatternUtils$1;->doInBackground([Ljava/lang/Void;)Ljava/lang/Void;
 HPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker$1;->onStrongAuthRequiredChanged(II)V
 HPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker$H;->handleMessage(Landroid/os/Message;)V
 HPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->handleStrongAuthRequiredChanged(II)V
 HPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->onStrongAuthRequiredChanged(I)V
+HPLcom/android/internal/widget/LockPatternUtils;->clearEncryptionPassword()V
 HPLcom/android/internal/widget/LockPatternUtils;->getBoolean(Ljava/lang/String;ZI)Z
+HPLcom/android/internal/widget/LockPatternUtils;->getCurrentFailedPasswordAttempts(I)I
+HPLcom/android/internal/widget/LockPatternUtils;->getLockoutAttemptDeadline(I)J
+HPLcom/android/internal/widget/LockPatternUtils;->getMaximumFailedPasswordsForWipe(I)I
 HPLcom/android/internal/widget/LockPatternUtils;->getOwnerInfo(I)Ljava/lang/String;
 HPLcom/android/internal/widget/LockPatternUtils;->getPowerButtonInstantlyLocks(I)Z
-HPLcom/android/internal/widget/LockPatternUtils;->hasSeparateChallenge(I)Z
+HPLcom/android/internal/widget/LockPatternUtils;->getStrongAuthForUser(I)I
+HPLcom/android/internal/widget/LockPatternUtils;->hasSecureLockScreen()Z
+HPLcom/android/internal/widget/LockPatternUtils;->isBiometricAllowedForUser(I)Z
+HPLcom/android/internal/widget/LockPatternUtils;->isCredentialRequiredToDecrypt(Z)Z
+HPLcom/android/internal/widget/LockPatternUtils;->isDeviceEncryptionEnabled()Z
+HPLcom/android/internal/widget/LockPatternUtils;->isFileEncryptionEnabled()Z
+HPLcom/android/internal/widget/LockPatternUtils;->isLockPasswordEnabled(I)Z
+HPLcom/android/internal/widget/LockPatternUtils;->isLockPatternEnabled(I)Z
+HPLcom/android/internal/widget/LockPatternUtils;->isLockScreenDisabled(I)Z
 HPLcom/android/internal/widget/LockPatternUtils;->isOwnerInfoEnabled(I)Z
+HPLcom/android/internal/widget/LockPatternUtils;->isPatternEverChosen(I)Z
 HPLcom/android/internal/widget/LockPatternUtils;->isPowerButtonInstantlyLocksEverChosen(I)Z
 HPLcom/android/internal/widget/LockPatternUtils;->isSeparateProfileChallengeAllowed(I)Z
+HPLcom/android/internal/widget/LockPatternUtils;->isTactileFeedbackEnabled()Z
+HPLcom/android/internal/widget/LockPatternUtils;->isTrustUsuallyManaged(I)Z
 HPLcom/android/internal/widget/LockPatternUtils;->isVisiblePatternEnabled(I)Z
 HPLcom/android/internal/widget/LockPatternUtils;->isVisiblePatternEverChosen(I)Z
-HPLcom/android/internal/widget/LockPatternUtils;->savedPatternExists(I)Z
-HPLcom/android/internal/widget/PreferenceImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLcom/android/internal/widget/LockPatternUtils;->patternToString(Ljava/util/List;)Ljava/lang/String;
+HPLcom/android/internal/widget/LockPatternUtils;->reportPatternWasChosen(I)V
+HPLcom/android/internal/widget/LockPatternUtils;->reportSuccessfulPasswordAttempt(I)V
+HPLcom/android/internal/widget/LockPatternUtils;->requireStrongAuth(II)V
+HPLcom/android/internal/widget/LockPatternUtils;->saveLockPattern(Ljava/util/List;Ljava/lang/String;I)V
+HPLcom/android/internal/widget/LockPatternUtils;->setBoolean(Ljava/lang/String;ZI)V
+HPLcom/android/internal/widget/LockPatternUtils;->setCredentialRequiredToDecrypt(Z)V
+HPLcom/android/internal/widget/LockPatternUtils;->setLong(Ljava/lang/String;JI)V
+HPLcom/android/internal/widget/LockPatternUtils;->setVisiblePatternEnabled(ZI)V
+HPLcom/android/internal/widget/LockPatternUtils;->updateEncryptionPassword(ILjava/lang/String;)V
+HPLcom/android/internal/widget/LockPatternUtils;->verifyCredential(Ljava/lang/String;IJI)[B
+HPLcom/android/internal/widget/LockPatternUtils;->verifyPattern(Ljava/util/List;JI)[B
+HPLcom/android/internal/widget/LockPatternUtils;->verifyTiedProfileChallenge(Ljava/lang/String;ZJI)[B
+HPLcom/android/internal/widget/LockPatternView$4;->run()V
+HPLcom/android/internal/widget/LockPatternView$5;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
+HPLcom/android/internal/widget/LockPatternView$6;->onAnimationEnd(Landroid/animation/Animator;)V
+HPLcom/android/internal/widget/LockPatternView$7;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
+HPLcom/android/internal/widget/LockPatternView$8;->onAnimationEnd(Landroid/animation/Animator;)V
+HPLcom/android/internal/widget/LockPatternView$Cell;->createCells()[[Lcom/android/internal/widget/LockPatternView$Cell;
+HPLcom/android/internal/widget/LockPatternView$Cell;->of(II)Lcom/android/internal/widget/LockPatternView$Cell;
+HPLcom/android/internal/widget/LockPatternView$DisplayMode;-><init>(Ljava/lang/String;I)V
+HPLcom/android/internal/widget/LockPatternView$PatternExploreByTouchHelper;-><init>(Lcom/android/internal/widget/LockPatternView;Landroid/view/View;)V
+HPLcom/android/internal/widget/LockPatternView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HPLcom/android/internal/widget/LockPatternView;->calculateLastSegmentAlpha(FFFF)F
+HPLcom/android/internal/widget/LockPatternView;->cancelLineAnimations()V
+HPLcom/android/internal/widget/LockPatternView;->clearPattern()V
+HPLcom/android/internal/widget/LockPatternView;->detectAndAddHit(FF)Lcom/android/internal/widget/LockPatternView$Cell;
+HPLcom/android/internal/widget/LockPatternView;->disableInput()V
+HPLcom/android/internal/widget/LockPatternView;->enableInput()V
+HPLcom/android/internal/widget/LockPatternView;->getColumnHit(F)I
+HPLcom/android/internal/widget/LockPatternView;->getCurrentColor(Z)I
+HPLcom/android/internal/widget/LockPatternView;->getRowHit(F)I
+HPLcom/android/internal/widget/LockPatternView;->handleActionDown(Landroid/view/MotionEvent;)V
+HPLcom/android/internal/widget/LockPatternView;->handleActionMove(Landroid/view/MotionEvent;)V
+HPLcom/android/internal/widget/LockPatternView;->handleActionUp()V
+HPLcom/android/internal/widget/LockPatternView;->onDraw(Landroid/graphics/Canvas;)V
+HPLcom/android/internal/widget/LockPatternView;->onMeasure(II)V
+HPLcom/android/internal/widget/LockPatternView;->onSizeChanged(IIII)V
+HPLcom/android/internal/widget/LockPatternView;->onTouchEvent(Landroid/view/MotionEvent;)Z
+HPLcom/android/internal/widget/LockPatternView;->setDisplayMode(Lcom/android/internal/widget/LockPatternView$DisplayMode;)V
+HPLcom/android/internal/widget/LockPatternView;->setFadePattern(Z)V
+HPLcom/android/internal/widget/LockPatternView;->setOnPatternListener(Lcom/android/internal/widget/LockPatternView$OnPatternListener;)V
+HPLcom/android/internal/widget/LockPatternView;->setTactileFeedbackEnabled(Z)V
+HPLcom/android/internal/widget/LockPatternView;->startCellActivatedAnimation(Lcom/android/internal/widget/LockPatternView$Cell;)V
+HPLcom/android/internal/widget/LockPatternView;->startLineEndAnimation(Lcom/android/internal/widget/LockPatternView$CellState;FFFF)V
+HPLcom/android/internal/widget/LockPatternView;->startRadiusAnimation(FFJLandroid/view/animation/Interpolator;Lcom/android/internal/widget/LockPatternView$CellState;Ljava/lang/Runnable;)V
 HPLcom/android/internal/widget/PreferenceImageView;->onMeasure(II)V
+HPLcom/android/internal/widget/TextViewInputDisabler;-><init>(Landroid/widget/TextView;)V
+HPLcom/android/internal/widget/TextViewInputDisabler;->setInputEnabled(Z)V
+HPLcom/android/internal/widget/ToolbarWidgetWrapper$1;->onClick(Landroid/view/View;)V
 HPLcom/android/internal/widget/ToolbarWidgetWrapper;->dismissPopupMenus()V
 HPLcom/android/internal/widget/ToolbarWidgetWrapper;->getNavigationMode()I
 HPLcom/android/internal/widget/ToolbarWidgetWrapper;->getTitle()Ljava/lang/CharSequence;
+HPLcom/android/internal/widget/ToolbarWidgetWrapper;->hasExpandedActionView()Z
 HPLcom/android/internal/widget/ToolbarWidgetWrapper;->hasIcon()Z
 HPLcom/android/internal/widget/ToolbarWidgetWrapper;->hasLogo()Z
 HPLcom/android/internal/widget/ToolbarWidgetWrapper;->isOverflowMenuShowing()Z
@@ -10708,165 +11515,101 @@
 HPLcom/android/internal/widget/ToolbarWidgetWrapper;->setMenu(Landroid/view/Menu;Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
 HPLcom/android/internal/widget/ToolbarWidgetWrapper;->setNavigationIcon(Landroid/graphics/drawable/Drawable;)V
 HPLcom/android/internal/widget/VerifyCredentialResponse$1;-><init>()V
+HPLcom/android/internal/widget/VerifyCredentialResponse$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/widget/VerifyCredentialResponse;
+HPLcom/android/internal/widget/VerifyCredentialResponse$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HPLcom/android/internal/widget/VerifyCredentialResponse;-><init>()V
 HPLcom/android/internal/widget/VerifyCredentialResponse;-><init>(II[B)V
 HPLcom/android/internal/widget/VerifyCredentialResponse;->writeToParcel(Landroid/os/Parcel;I)V
-HPLcom/android/okhttp/AndroidShimResponseCache;->flush()V
-HPLcom/android/okhttp/AndroidShimResponseCache;->getHitCount()I
-HPLcom/android/okhttp/AndroidShimResponseCache;->getRequestCount()I
-HPLcom/android/okhttp/Cache$1;->remove(Lcom/android/okhttp/Request;)V
-HPLcom/android/okhttp/Cache$CacheRequestImpl;->abort()V
-HPLcom/android/okhttp/Cache;->getHitCount()I
-HPLcom/android/okhttp/Cache;->getRequestCount()I
-HPLcom/android/okhttp/CertificatePinner;->pin(Ljava/security/cert/Certificate;)Ljava/lang/String;
-HPLcom/android/okhttp/OkHttpClient;->getFollowSslRedirects()Z
-HPLcom/android/okhttp/OkHttpClient;->setDns(Lcom/android/okhttp/Dns;)Lcom/android/okhttp/OkHttpClient;
-HPLcom/android/okhttp/OkHttpClient;->setSocketFactory(Ljavax/net/SocketFactory;)Lcom/android/okhttp/OkHttpClient;
-HPLcom/android/okhttp/Response;->challenges()Ljava/util/List;
-HPLcom/android/okhttp/Route;->equals(Ljava/lang/Object;)Z
-HPLcom/android/okhttp/internal/DiskLruCache$Editor;->abort()V
-HPLcom/android/okhttp/internal/DiskLruCache;->flush()V
-HPLcom/android/okhttp/internal/Platform;->logW(Ljava/lang/String;)V
-HPLcom/android/okhttp/internal/Util;->sha1(Lcom/android/okhttp/okio/ByteString;)Lcom/android/okhttp/okio/ByteString;
-HPLcom/android/okhttp/internal/http/AuthenticatorAdapter;->authenticate(Ljava/net/Proxy;Lcom/android/okhttp/Response;)Lcom/android/okhttp/Request;
+HPLcom/android/okhttp/ConfigAwareConnectionPool$1;->onNetworkConfigurationChanged()V
+HPLcom/android/okhttp/HttpUrl$Builder;->parsePort(Ljava/lang/String;II)I
+HPLcom/android/okhttp/HttpUrl;->toString()Ljava/lang/String;
+HPLcom/android/okhttp/HttpsHandler;->getDefaultPort()I
+HPLcom/android/okhttp/OkHttpClient;->getFollowRedirects()Z
+HPLcom/android/okhttp/internal/ConnectionSpecSelector;->connectionFailed(Ljava/io/IOException;)Z
+HPLcom/android/okhttp/internal/RouteDatabase;->failed(Lcom/android/okhttp/Route;)V
+HPLcom/android/okhttp/internal/Util;->closeQuietly(Ljava/io/Closeable;)V
+HPLcom/android/okhttp/internal/Util;->closeQuietly(Ljava/net/Socket;)V
+HPLcom/android/okhttp/internal/Util;->discard(Lcom/android/okhttp/okio/Source;ILjava/util/concurrent/TimeUnit;)Z
+HPLcom/android/okhttp/internal/Util;->skipAll(Lcom/android/okhttp/okio/Source;ILjava/util/concurrent/TimeUnit;)Z
+HPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;->timeout()Lcom/android/okhttp/okio/Timeout;
+HPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;->unexpectedEndOfInput()V
+HPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;->close()V
+HPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;->flush()V
+HPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSink;->write(Lcom/android/okhttp/okio/Buffer;J)V
+HPLcom/android/okhttp/internal/http/Http1xStream;->access$400(Lcom/android/okhttp/internal/http/Http1xStream;Lcom/android/okhttp/okio/ForwardingTimeout;)V
+HPLcom/android/okhttp/internal/http/Http1xStream;->cancel()V
+HPLcom/android/okhttp/internal/http/Http1xStream;->newChunkedSink()Lcom/android/okhttp/okio/Sink;
+HPLcom/android/okhttp/internal/http/Http1xStream;->newUnknownLengthSource()Lcom/android/okhttp/okio/Source;
+HPLcom/android/okhttp/internal/http/HttpEngine;->close()Lcom/android/okhttp/internal/http/StreamAllocation;
+HPLcom/android/okhttp/internal/http/HttpEngine;->recover(Lcom/android/okhttp/internal/http/RouteException;)Lcom/android/okhttp/internal/http/HttpEngine;
 HPLcom/android/okhttp/internal/http/HttpEngine;->recover(Ljava/io/IOException;Lcom/android/okhttp/okio/Sink;)Lcom/android/okhttp/internal/http/HttpEngine;
-HPLcom/android/okhttp/internal/http/HttpEngine;->sameConnection(Lcom/android/okhttp/HttpUrl;)Z
-HPLcom/android/okhttp/internal/http/OkHeaders;->parseChallenges(Lcom/android/okhttp/Headers;Ljava/lang/String;)Ljava/util/List;
+HPLcom/android/okhttp/internal/http/RouteSelector;->connectFailed(Lcom/android/okhttp/Route;Ljava/io/IOException;)V
+HPLcom/android/okhttp/internal/http/StreamAllocation;->connectionFailed(Ljava/io/IOException;)V
+HPLcom/android/okhttp/internal/http/StreamAllocation;->recover(Lcom/android/okhttp/internal/http/RouteException;)Z
 HPLcom/android/okhttp/internal/http/StreamAllocation;->recover(Ljava/io/IOException;Lcom/android/okhttp/okio/Sink;)Z
 HPLcom/android/okhttp/internal/http/StreamAllocation;->toString()Ljava/lang/String;
-HPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setFixedLengthStreamingMode(J)V
-HPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->toString()Ljava/lang/String;
-HPLcom/android/okhttp/internalandroidapi/Dns;->lookup(Ljava/lang/String;)Ljava/util/List;
+HPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getErrorStream()Ljava/io/InputStream;
+HPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getContentEncoding()Ljava/lang/String;
+HPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getErrorStream()Ljava/io/InputStream;
+HPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setDefaultUseCaches(Z)V
+HPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setDoInput(Z)V
 HPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory$DnsAdapter;->equals(Ljava/lang/Object;)Z
-HPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory$DnsAdapter;->hashCode()I
-HPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory$DnsAdapter;->lookup(Ljava/lang/String;)Ljava/util/List;
-HPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;->internalOpenConnection(Ljava/net/URL;Ljavax/net/SocketFactory;Ljava/net/Proxy;)Ljava/net/URLConnection;
-HPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;->openConnection(Ljava/net/URL;Ljavax/net/SocketFactory;Ljava/net/Proxy;)Ljava/net/URLConnection;
-HPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;->setDns(Lcom/android/okhttp/internalandroidapi/Dns;)V
-HPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;->setNewConnectionPool(IJLjava/util/concurrent/TimeUnit;)V
-HPLcom/android/okhttp/okio/ByteString;->toByteArray()[B
-HPLcom/android/okhttp/okio/RealBufferedSink$1;->write(I)V
+HPLcom/android/okhttp/okio/Buffer;->writeHexadecimalUnsignedLong(J)Lcom/android/okhttp/okio/Buffer;
+HPLcom/android/okhttp/okio/ByteString;->hex()Ljava/lang/String;
+HPLcom/android/okhttp/okio/ForwardingTimeout;->clearDeadline()Lcom/android/okhttp/okio/Timeout;
+HPLcom/android/okhttp/okio/ForwardingTimeout;->deadlineNanoTime(J)Lcom/android/okhttp/okio/Timeout;
+HPLcom/android/okhttp/okio/ForwardingTimeout;->hasDeadline()Z
+HPLcom/android/okhttp/okio/Okio$3;->newTimeoutException(Ljava/io/IOException;)Ljava/io/IOException;
+HPLcom/android/okhttp/okio/Okio$3;->timedOut()V
+HPLcom/android/okhttp/okio/RealBufferedSink;->emit()Lcom/android/okhttp/okio/BufferedSink;
+HPLcom/android/okhttp/okio/RealBufferedSink;->writeHexadecimalUnsignedLong(J)Lcom/android/okhttp/okio/BufferedSink;
+HPLcom/android/okhttp/okio/RealBufferedSource$1;->read()I
+HPLcom/android/okhttp/okio/Timeout;->deadlineNanoTime()J
+HPLcom/android/okhttp/okio/Timeout;->deadlineNanoTime(J)Lcom/android/okhttp/okio/Timeout;
+HPLcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactory;->getSHA1()Lcom/android/org/bouncycastle/crypto/Digest;
+HPLcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactory;->getSHA256()Lcom/android/org/bouncycastle/crypto/Digest;
+HPLcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactoryOpenSSL;->getSHA1()Lcom/android/org/bouncycastle/crypto/Digest;
+HPLcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactoryOpenSSL;->getSHA256()Lcom/android/org/bouncycastle/crypto/Digest;
+HPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;-><init>(Ljava/lang/String;I)V
+HPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->doFinal([BI)I
+HPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->getDigestSize()I
+HPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->reset()V
+HPLcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;->update([BII)V
 HPLcom/android/org/bouncycastle/crypto/engines/AESEngine;->encryptBlock([[I)V
-HPLcom/android/org/bouncycastle/crypto/modes/AEADBlockCipher;->doFinal([BI)I
-HPLcom/android/org/bouncycastle/crypto/modes/AEADBlockCipher;->getAlgorithmName()Ljava/lang/String;
-HPLcom/android/org/bouncycastle/crypto/modes/AEADBlockCipher;->getMac()[B
-HPLcom/android/org/bouncycastle/crypto/modes/AEADBlockCipher;->getOutputSize(I)I
-HPLcom/android/org/bouncycastle/crypto/modes/AEADBlockCipher;->getUnderlyingCipher()Lcom/android/org/bouncycastle/crypto/BlockCipher;
-HPLcom/android/org/bouncycastle/crypto/modes/AEADBlockCipher;->getUpdateOutputSize(I)I
-HPLcom/android/org/bouncycastle/crypto/modes/AEADBlockCipher;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HPLcom/android/org/bouncycastle/crypto/modes/AEADBlockCipher;->processAADByte(B)V
-HPLcom/android/org/bouncycastle/crypto/modes/AEADBlockCipher;->processAADBytes([BII)V
-HPLcom/android/org/bouncycastle/crypto/modes/AEADBlockCipher;->processByte(B[BI)I
-HPLcom/android/org/bouncycastle/crypto/modes/AEADBlockCipher;->processBytes([BII[BI)I
-HPLcom/android/org/bouncycastle/crypto/modes/AEADBlockCipher;->reset()V
-HPLcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher;->encryptBlock([BI[BI)I
-HPLcom/android/org/bouncycastle/crypto/modes/GCMBlockCipher;->doFinal([BI)I
-HPLcom/android/org/bouncycastle/crypto/modes/GCMBlockCipher;->gCTRBlock([B[BI)V
-HPLcom/android/org/bouncycastle/crypto/modes/GCMBlockCipher;->getNextCounterBlock()[B
-HPLcom/android/org/bouncycastle/crypto/modes/GCMBlockCipher;->getOutputSize(I)I
-HPLcom/android/org/bouncycastle/crypto/modes/GCMBlockCipher;->getUnderlyingCipher()Lcom/android/org/bouncycastle/crypto/BlockCipher;
-HPLcom/android/org/bouncycastle/crypto/modes/GCMBlockCipher;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HPLcom/android/org/bouncycastle/crypto/modes/GCMBlockCipher;->initCipher()V
-HPLcom/android/org/bouncycastle/crypto/modes/GCMBlockCipher;->outputBlock([BI)V
-HPLcom/android/org/bouncycastle/crypto/modes/GCMBlockCipher;->processBytes([BII[BI)I
-HPLcom/android/org/bouncycastle/crypto/modes/GCMBlockCipher;->reset(Z)V
-HPLcom/android/org/bouncycastle/crypto/modes/gcm/GCMMultiplier;->init([B)V
-HPLcom/android/org/bouncycastle/crypto/modes/gcm/GCMMultiplier;->multiplyH([B)V
-HPLcom/android/org/bouncycastle/crypto/modes/gcm/GCMUtil;->generateLookup()[I
-HPLcom/android/org/bouncycastle/crypto/modes/gcm/GCMUtil;->shiftRight([I[I)I
-HPLcom/android/org/bouncycastle/crypto/modes/gcm/GCMUtil;->shiftRightN([II[I)I
-HPLcom/android/org/bouncycastle/crypto/modes/gcm/GCMUtil;->xor([B[B)V
-HPLcom/android/org/bouncycastle/crypto/modes/gcm/GCMUtil;->xor([I[I[I)V
-HPLcom/android/org/bouncycastle/crypto/modes/gcm/Tables8kGCMMultiplier;->init([B)V
-HPLcom/android/org/bouncycastle/crypto/modes/gcm/Tables8kGCMMultiplier;->multiplyH([B)V
-HPLcom/android/org/bouncycastle/crypto/params/AEADParameters;->getAssociatedText()[B
-HPLcom/android/org/bouncycastle/crypto/params/AEADParameters;->getKey()Lcom/android/org/bouncycastle/crypto/params/KeyParameter;
-HPLcom/android/org/bouncycastle/crypto/params/AEADParameters;->getMacSize()I
-HPLcom/android/org/bouncycastle/crypto/params/AEADParameters;->getNonce()[B
+HPLcom/android/org/bouncycastle/crypto/paddings/PKCS7Padding;->addPadding([BI)I
+HPLcom/android/org/bouncycastle/crypto/params/DSAKeyParameters;->getParameters()Lcom/android/org/bouncycastle/crypto/params/DSAParameters;
+HPLcom/android/org/bouncycastle/crypto/params/DSAPublicKeyParameters;->getY()Ljava/math/BigInteger;
+HPLcom/android/org/bouncycastle/crypto/signers/DSASigner;->calculateE(Ljava/math/BigInteger;[B)Ljava/math/BigInteger;
+HPLcom/android/org/bouncycastle/crypto/signers/DSASigner;->getOrder()Ljava/math/BigInteger;
+HPLcom/android/org/bouncycastle/crypto/signers/DSASigner;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
+HPLcom/android/org/bouncycastle/crypto/signers/DSASigner;->initSecureRandom(ZLjava/security/SecureRandom;)Ljava/security/SecureRandom;
+HPLcom/android/org/bouncycastle/crypto/signers/DSASigner;->verifySignature([BLjava/math/BigInteger;Ljava/math/BigInteger;)Z
+HPLcom/android/org/bouncycastle/crypto/signers/StandardDSAEncoding;-><init>()V
+HPLcom/android/org/bouncycastle/crypto/signers/StandardDSAEncoding;->checkValue(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/math/BigInteger;
+HPLcom/android/org/bouncycastle/crypto/signers/StandardDSAEncoding;->decode(Ljava/math/BigInteger;[B)[Ljava/math/BigInteger;
+HPLcom/android/org/bouncycastle/crypto/signers/StandardDSAEncoding;->decodeValue(Ljava/math/BigInteger;Lcom/android/org/bouncycastle/asn1/ASN1Sequence;I)Ljava/math/BigInteger;
+HPLcom/android/org/bouncycastle/crypto/signers/StandardDSAEncoding;->encode(Ljava/math/BigInteger;Ljava/math/BigInteger;Ljava/math/BigInteger;)[B
+HPLcom/android/org/bouncycastle/crypto/signers/StandardDSAEncoding;->encodeValue(Ljava/math/BigInteger;Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;Ljava/math/BigInteger;)V
+HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/AlgorithmParametersSpi;-><init>()V
+HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/AlgorithmParametersSpi;->engineInit([B)V
+HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->engineGetKeyParameters()Lcom/android/org/bouncycastle/crypto/params/DSAPublicKeyParameters;
+HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->getAlgorithm()Ljava/lang/String;
 HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->readObject(Ljava/io/ObjectInputStream;)V
 HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->writeObject(Ljava/io/ObjectOutputStream;)V
-HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/rsa/CipherSpi$NoPadding;-><init>()V
-HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/rsa/CipherSpi;->engineSetMode(Ljava/lang/String;)V
-HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/rsa/CipherSpi;->engineSetPadding(Ljava/lang/String;)V
-HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/rsa/CipherSpi;->initFromSpec(Ljavax/crypto/spec/OAEPParameterSpec;)V
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$GCM;-><init>()V
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$AEADGenericBlockCipher;->doFinal([BI)I
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$AEADGenericBlockCipher;->findExceptionConstructor(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$AEADGenericBlockCipher;->getOutputSize(I)I
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$AEADGenericBlockCipher;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$AEADGenericBlockCipher;->processBytes([BII[BI)I
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$AEADGenericBlockCipher;->wrapOnNoPadding()Z
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$BufferedGenericBlockCipher;->getUpdateOutputSize(I)I
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$GenericBlockCipher;->doFinal([BI)I
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$GenericBlockCipher;->getAlgorithmName()Ljava/lang/String;
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$GenericBlockCipher;->getOutputSize(I)I
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$GenericBlockCipher;->getUnderlyingCipher()Lcom/android/org/bouncycastle/crypto/BlockCipher;
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$GenericBlockCipher;->getUpdateOutputSize(I)I
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$GenericBlockCipher;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$GenericBlockCipher;->processByte(B[BI)I
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$GenericBlockCipher;->processBytes([BII[BI)I
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$GenericBlockCipher;->updateAAD([BII)V
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$GenericBlockCipher;->wrapOnNoPadding()Z
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;-><init>(Lcom/android/org/bouncycastle/crypto/modes/AEADBlockCipher;)V
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->access$100(Ljava/lang/String;)Ljava/lang/Class;
-HPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->engineUpdate([BII)[B
-HPLcom/android/org/bouncycastle/jcajce/provider/util/DigestFactory;->getDigest(Ljava/lang/String;)Lcom/android/org/bouncycastle/crypto/Digest;
+HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner$dsa256;-><init>()V
+HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner$stdDSA;-><init>()V
+HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner;->derDecode([B)[Ljava/math/BigInteger;
+HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner;->engineInitVerify(Ljava/security/PublicKey;)V
+HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner;->engineUpdate([BII)V
+HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner;->engineVerify([B)Z
+HPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSAUtil;->generatePublicKeyParameter(Ljava/security/PublicKey;)Lcom/android/org/bouncycastle/crypto/params/AsymmetricKeyParameter;
 HPLcom/android/org/bouncycastle/jce/provider/CertStoreCollectionSpi;->engineGetCertificates(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
-HPLcom/android/org/conscrypt/CertificatePriorityComparator;->compare(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)I
-HPLcom/android/org/conscrypt/CertificatePriorityComparator;->compareKeyAlgorithm(Ljava/security/PublicKey;Ljava/security/PublicKey;)I
-HPLcom/android/org/conscrypt/CertificatePriorityComparator;->compareKeySize(Ljava/security/PublicKey;Ljava/security/PublicKey;)I
-HPLcom/android/org/conscrypt/CertificatePriorityComparator;->compareSignatureAlgorithm(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)I
-HPLcom/android/org/conscrypt/CertificatePriorityComparator;->getKeySize(Ljava/security/PublicKey;)I
-HPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;-><init>(Lcom/android/org/conscrypt/SSLParametersImpl;)V
-HPLcom/android/org/conscrypt/KeyGeneratorImpl$AES;->checkKeySize(I)V
-HPLcom/android/org/conscrypt/KeyGeneratorImpl;->engineInit(ILjava/security/SecureRandom;)V
-HPLcom/android/org/conscrypt/OpenSSLCipher$EVP_AEAD;->engineUpdateAAD([BII)V
-HPLcom/android/org/conscrypt/OpenSSLECDHKeyAgreement;-><init>()V
-HPLcom/android/org/conscrypt/OpenSSLECDHKeyAgreement;->engineDoPhase(Ljava/security/Key;Z)Ljava/security/Key;
-HPLcom/android/org/conscrypt/OpenSSLECDHKeyAgreement;->engineGenerateSecret()[B
-HPLcom/android/org/conscrypt/OpenSSLECDHKeyAgreement;->engineInit(Ljava/security/Key;Ljava/security/SecureRandom;)V
-HPLcom/android/org/conscrypt/OpenSSLECGroupContext;->getCurveByName(Ljava/lang/String;)Lcom/android/org/conscrypt/OpenSSLECGroupContext;
-HPLcom/android/org/conscrypt/OpenSSLECKeyPairGenerator;-><init>()V
-HPLcom/android/org/conscrypt/OpenSSLECKeyPairGenerator;->generateKeyPair()Ljava/security/KeyPair;
-HPLcom/android/org/conscrypt/OpenSSLECKeyPairGenerator;->initialize(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
-HPLcom/android/org/conscrypt/OpenSSLECPrivateKey;->getFormat()Ljava/lang/String;
-HPLcom/android/org/conscrypt/OpenSSLECPrivateKey;->getOpenSSLKey()Lcom/android/org/conscrypt/OpenSSLKey;
-HPLcom/android/org/conscrypt/OpenSSLECPublicKey;->equals(Ljava/lang/Object;)Z
-HPLcom/android/org/conscrypt/OpenSSLECPublicKey;->getFormat()Ljava/lang/String;
-HPLcom/android/org/conscrypt/OpenSSLECPublicKey;->getOpenSSLKey()Lcom/android/org/conscrypt/OpenSSLKey;
-HPLcom/android/org/conscrypt/OpenSSLECPublicKey;->getW()Ljava/security/spec/ECPoint;
-HPLcom/android/org/conscrypt/OpenSSLECPublicKey;->hashCode()I
-HPLcom/android/org/conscrypt/OpenSSLMessageDigestJDK$SHA512;-><init>()V
-HPLcom/android/org/conscrypt/OpenSSLMessageDigestJDK;->engineUpdate(Ljava/nio/ByteBuffer;)V
-HPLcom/android/org/conscrypt/OpenSSLRSAPublicKey;-><init>(Ljava/security/spec/RSAPublicKeySpec;)V
-HPLcom/android/org/conscrypt/OpenSSLRSAPublicKey;->getPublicExponent()Ljava/math/BigInteger;
-HPLcom/android/org/conscrypt/OpenSSLRSAPublicKey;->readObject(Ljava/io/ObjectInputStream;)V
-HPLcom/android/org/conscrypt/OpenSSLRSAPublicKey;->writeObject(Ljava/io/ObjectOutputStream;)V
-HPLcom/android/org/conscrypt/OpenSSLRandom;->engineSetSeed([B)V
-HPLcom/android/org/conscrypt/OpenSSLSignature$SHA256ECDSA;-><init>()V
-HPLcom/android/org/conscrypt/OpenSSLSignature$SHA384ECDSA;-><init>()V
-HPLcom/android/org/conscrypt/OpenSSLSignature;->configureEVP_PKEY_CTX(J)V
-HPLcom/android/org/conscrypt/OpenSSLSocketFactoryImpl;->createSocket()Ljava/net/Socket;
-HPLcom/android/org/conscrypt/OpenSSLSocketImpl;->setKeepAlive(Z)V
-HPLcom/android/org/conscrypt/OpenSSLX509CertPath$Encoding;->values()[Lcom/android/org/conscrypt/OpenSSLX509CertPath$Encoding;
-HPLcom/android/org/conscrypt/OpenSSLX509CertPath;->fromEncoding(Ljava/io/InputStream;Lcom/android/org/conscrypt/OpenSSLX509CertPath$Encoding;)Ljava/security/cert/CertPath;
-HPLcom/android/org/conscrypt/OpenSSLX509CertPath;->fromEncoding(Ljava/io/InputStream;Ljava/lang/String;)Ljava/security/cert/CertPath;
-HPLcom/android/org/conscrypt/OpenSSLX509CertPath;->fromPkiPathEncoding(Ljava/io/InputStream;)Ljava/security/cert/CertPath;
-HPLcom/android/org/conscrypt/OpenSSLX509CertPath;->getEncoded(Lcom/android/org/conscrypt/OpenSSLX509CertPath$Encoding;)[B
-HPLcom/android/org/conscrypt/OpenSSLX509CertPath;->getEncoded(Ljava/lang/String;)[B
-HPLcom/android/org/conscrypt/OpenSSLX509CertificateFactory;->engineGenerateCertPath(Ljava/io/InputStream;)Ljava/security/cert/CertPath;
-HPLcom/android/org/conscrypt/OpenSSLX509CertificateFactory;->engineGenerateCertPath(Ljava/io/InputStream;Ljava/lang/String;)Ljava/security/cert/CertPath;
-HPLcom/android/org/conscrypt/SSLNullSession;-><init>(Lcom/android/org/conscrypt/SSLNullSession$1;)V
-HPLcom/android/org/conscrypt/SSLNullSession;->getPeerCertificates()[Ljava/security/cert/X509Certificate;
-HPLcom/android/org/conscrypt/TrustManagerFactoryImpl;-><init>()V
-HPLcom/android/org/conscrypt/TrustManagerFactoryImpl;->engineGetTrustManagers()[Ljavax/net/ssl/TrustManager;
-HPLcom/android/org/conscrypt/TrustManagerFactoryImpl;->engineInit(Ljava/security/KeyStore;)V
-HPLcom/android/org/conscrypt/TrustManagerImpl$TrustAnchorComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HPLcom/android/org/conscrypt/TrustManagerImpl$TrustAnchorComparator;->compare(Ljava/security/cert/TrustAnchor;Ljava/security/cert/TrustAnchor;)I
-HPLcom/android/org/conscrypt/TrustManagerImpl;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V
-HPLcom/android/org/conscrypt/TrustedCertificateStore$5;->match(Ljava/security/cert/X509Certificate;)Z
-HPLcom/android/org/conscrypt/TrustedCertificateStore;->findAllIssuers(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-HPLcom/android/org/conscrypt/TrustedCertificateStore;->getTrustAnchor(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
+HPLcom/android/org/kxml2/io/KXmlSerializer;-><init>()V
+HPLcom/android/org/kxml2/io/KXmlSerializer;->getDepth()I
+HPLcom/android/org/kxml2/io/KXmlSerializer;->getNamespace()Ljava/lang/String;
+HPLcom/android/org/kxml2/io/KXmlSerializer;->getPrefix(Ljava/lang/String;ZZ)Ljava/lang/String;
+HPLcom/android/org/kxml2/io/KXmlSerializer;->setPrefix(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/android/org/kxml2/io/KXmlSerializer;->text(Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
 HPLcom/android/server/AppWidgetBackupBridge;->getWidgetState(Ljava/lang/String;I)[B
 HPLcom/android/server/BootReceiver$1;->run()V
 HPLcom/android/server/BootReceiver;-><init>()V
@@ -10874,35 +11617,31 @@
 HPLcom/android/server/BootReceiver;->addFileWithFootersToDropBox(Landroid/os/DropBoxManager;Ljava/util/HashMap;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
 HPLcom/android/server/BootReceiver;->addFsckErrorsToDropBoxAndLogFsStat(Landroid/os/DropBoxManager;Ljava/util/HashMap;Ljava/lang/String;ILjava/lang/String;)V
 HPLcom/android/server/BootReceiver;->addTextToDropBox(Landroid/os/DropBoxManager;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-HPLcom/android/server/BootReceiver;->fixFsckFsStat(Ljava/lang/String;I[Ljava/lang/String;II)I
 HPLcom/android/server/BootReceiver;->getBootHeadersToLogAndUpdate()Ljava/lang/String;
 HPLcom/android/server/BootReceiver;->getCurrentBootHeaders()Ljava/lang/String;
 HPLcom/android/server/BootReceiver;->getPreviousBootHeaders()Ljava/lang/String;
-HPLcom/android/server/BootReceiver;->handleFsckFsStat(Ljava/util/regex/Matcher;[Ljava/lang/String;II)V
 HPLcom/android/server/BootReceiver;->logBootEvents(Landroid/content/Context;)V
 HPLcom/android/server/BootReceiver;->logFsMountTime()V
 HPLcom/android/server/BootReceiver;->logFsShutdownTime()V
-HPLcom/android/server/BootReceiver;->logStatsdShutdownAtom(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HPLcom/android/server/BootReceiver;->logSystemServerShutdownTimeMetrics()V
-HPLcom/android/server/BootReceiver;->logTronShutdownMetric(Ljava/lang/String;Ljava/lang/String;)V
 HPLcom/android/server/BootReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HPLcom/android/server/BootReceiver;->readTimestamps()Ljava/util/HashMap;
-HPLcom/android/server/BootReceiver;->writeTimestamps(Ljava/util/HashMap;)V
-HPLcom/android/server/NetworkManagementSocketTagger;->resetKernelUidStats(I)V
 HPLcom/android/server/SystemConfig;->getBackupTransportWhitelist()Landroid/util/ArraySet;
 HPLcom/android/server/backup/AccountManagerBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
-HPLcom/android/server/backup/AccountSyncSettingsBackupHelper;->accountAdded(Landroid/content/Context;)V
-HPLcom/android/server/backup/AccountSyncSettingsBackupHelper;->accountAddedInternal()V
+HPLcom/android/server/backup/AccountSyncSettingsBackupHelper;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+HPLcom/android/server/backup/AccountSyncSettingsBackupHelper;->accountAdded(Landroid/content/Context;I)V
+HPLcom/android/server/backup/AccountSyncSettingsBackupHelper;->accountAddedInternal(I)V
 HPLcom/android/server/backup/AccountSyncSettingsBackupHelper;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
 HPLcom/android/server/backup/AccountSyncSettingsBackupHelper;->readOldMd5Checksum(Landroid/os/ParcelFileDescriptor;)[B
-HPLcom/android/server/backup/AccountSyncSettingsBackupHelper;->serializeAccountSyncSettingsToJSON()Lorg/json/JSONObject;
+HPLcom/android/server/backup/AccountSyncSettingsBackupHelper;->restoreFromJsonArray(Lorg/json/JSONArray;I)V
+HPLcom/android/server/backup/AccountSyncSettingsBackupHelper;->serializeAccountSyncSettingsToJSON(I)Lorg/json/JSONObject;
 HPLcom/android/server/backup/NotificationBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
 HPLcom/android/server/backup/PermissionBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
 HPLcom/android/server/backup/PreferredActivityBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
 HPLcom/android/server/backup/ShortcutBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
 HPLcom/android/server/backup/SliceBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
 HPLcom/android/server/backup/SystemBackupAgent;-><init>()V
-HPLcom/android/server/backup/SystemBackupAgent;->onBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
+HPLcom/android/server/backup/SystemBackupAgent;->addHelper(Ljava/lang/String;Landroid/app/backup/BackupHelper;)V
+HPLcom/android/server/backup/SystemBackupAgent;->onCreate(Landroid/os/UserHandle;)V
 HPLcom/android/server/backup/UsageStatsBackupHelper;->getBackupPayload(Ljava/lang/String;)[B
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ApfProgramEvent;->computeSerializedSize()I
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ApfProgramEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
@@ -10914,6 +11653,7 @@
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ConnectStatistics;->computeSerializedSize()I
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$ConnectStatistics;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DHCPEvent;->computeSerializedSize()I
+HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DHCPEvent;->setErrorCode(I)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DHCPEvent;
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DHCPEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DNSLookupBatch;-><init>()V
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DNSLookupBatch;->clear()Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$DNSLookupBatch;
@@ -10934,7 +11674,6 @@
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpReachabilityEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$NetworkEvent;->computeSerializedSize()I
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$NetworkEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$Pair;->computeSerializedSize()I
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$Pair;->emptyArray()[Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$Pair;
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$Pair;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$RaEvent;->computeSerializedSize()I
@@ -10946,39 +11685,46 @@
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$WakeupStats;->computeSerializedSize()I
 HPLcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$WakeupStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
 HPLcom/android/server/net/BaseNetdEventCallback;->onConnectEvent(Ljava/lang/String;IJI)V
-HPLcom/android/server/net/BaseNetdEventCallback;->onDnsEvent(Ljava/lang/String;[Ljava/lang/String;IJI)V
+HPLcom/android/server/net/BaseNetdEventCallback;->onNat64PrefixEvent(IZLjava/lang/String;I)V
 HPLcom/android/server/net/BaseNetdEventCallback;->onPrivateDnsValidationEvent(ILjava/lang/String;Ljava/lang/String;Z)V
-HPLcom/android/server/net/BaseNetworkObserver;->addressUpdated(Ljava/lang/String;Landroid/net/LinkAddress;)V
-HPLcom/android/server/net/BaseNetworkObserver;->interfaceAdded(Ljava/lang/String;)V
 HPLcom/android/server/net/BaseNetworkObserver;->interfaceClassDataActivityChanged(Ljava/lang/String;ZJ)V
 HPLcom/android/server/net/BaseNetworkObserver;->interfaceDnsServerInfo(Ljava/lang/String;J[Ljava/lang/String;)V
 HPLcom/android/server/net/BaseNetworkObserver;->interfaceRemoved(Ljava/lang/String;)V
 HPLcom/android/server/net/BaseNetworkObserver;->limitReached(Ljava/lang/String;Ljava/lang/String;)V
-HPLcom/android/server/net/BaseNetworkObserver;->routeUpdated(Landroid/net/RouteInfo;)V
-HPLcom/android/server/net/DnsServerEntry;->compareTo(Lcom/android/server/net/DnsServerEntry;)I
-HPLcom/android/server/net/DnsServerEntry;->compareTo(Ljava/lang/Object;)I
-HPLcom/android/server/net/DnsServerRepository;->addServers(J[Ljava/lang/String;)Z
-HPLcom/android/server/net/DnsServerRepository;->setDnsServersOn(Landroid/net/LinkProperties;)V
-HPLcom/android/server/net/DnsServerRepository;->updateCurrentServers()Z
-HPLcom/android/server/net/DnsServerRepository;->updateExistingEntry(Ljava/net/InetAddress;J)Z
-HPLcom/android/server/net/NetlinkTracker;->addressUpdated(Ljava/lang/String;Landroid/net/LinkAddress;)V
-HPLcom/android/server/net/NetlinkTracker;->getLinkProperties()Landroid/net/LinkProperties;
-HPLcom/android/server/net/NetlinkTracker;->interfaceDnsServerInfo(Ljava/lang/String;J[Ljava/lang/String;)V
-HPLcom/android/server/net/NetlinkTracker;->interfaceRemoved(Ljava/lang/String;)V
-HPLcom/android/server/net/NetlinkTracker;->routeUpdated(Landroid/net/RouteInfo;)V
 HPLcom/android/server/sip/SipService;-><init>(Landroid/content/Context;)V
 HPLcom/android/server/sip/SipService;->start(Landroid/content/Context;)V
 HPLcom/android/server/sip/SipWakeupTimer;-><init>(Landroid/content/Context;Ljava/util/concurrent/Executor;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;-><init>()V
 HPLcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;->computeSerializedSize()I
 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
+HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
 HPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;->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
+HPLcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;->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
+HPLcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats$LinkProbeFailureReasonCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats$LinkProbeFailureReasonCount;
+HPLcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats;-><init>()V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats;
+HPLcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$MapEntryInt32Int32;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$MapEntryInt32Int32;
+HPLcom/android/server/wifi/nano/WifiMetricsProto$MapEntryInt32Int32;->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
+HPLcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
 HPLcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;->computeSerializedSize()I
 HPLcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;->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
 HPLcom/android/server/wifi/nano/WifiMetricsProto$RouterFingerPrint;->computeSerializedSize()I
 HPLcom/android/server/wifi/nano/WifiMetricsProto$RouterFingerPrint;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$RssiPollCount;-><init>()V
 HPLcom/android/server/wifi/nano/WifiMetricsProto$RssiPollCount;->computeSerializedSize()I
 HPLcom/android/server/wifi/nano/WifiMetricsProto$RssiPollCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
 HPLcom/android/server/wifi/nano/WifiMetricsProto$StaEvent$ConfigInfo;->computeSerializedSize()I
@@ -10995,23 +11741,40 @@
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog;
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog;->computeSerializedSize()I
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO$DurationBucket;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO$DurationBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO$DurationBucket;
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO;-><init>()V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+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;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+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
 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
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;->computeSerializedSize()I
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;-><init>()V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;->computeSerializedSize()I
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRadioUsage;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRadioUsage;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$HistogramBucket;->computeSerializedSize()I
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$HistogramBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$HistogramBucket;
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$HistogramBucket;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttIndividualStatusHistogramBucket;->computeSerializedSize()I
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttIndividualStatusHistogramBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttIndividualStatusHistogramBucket;
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttIndividualStatusHistogramBucket;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttOverallStatusHistogramBucket;->computeSerializedSize()I
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttOverallStatusHistogramBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttOverallStatusHistogramBucket;
-HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttOverallStatusHistogramBucket;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttToPeerLog;-><init>()V
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttToPeerLog;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttToPeerLog;
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttToPeerLog;->computeSerializedSize()I
@@ -11019,9 +11782,21 @@
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog;-><init>()V
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog;->computeSerializedSize()I
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;-><init>()V
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;->computeSerializedSize()I
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;-><init>()V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;-><init>()V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;->computeSerializedSize()I
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats$Session$Event;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats$Session;->computeSerializedSize()I
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats$Session;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats$Session;
+HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats$Session;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats;-><init>()V
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats;->computeSerializedSize()I
 HPLcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats;->writeTo(Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;)V
@@ -11033,10 +11808,36 @@
 HPLcom/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
 HPLcom/google/android/collect/Maps;->newArrayMap()Landroid/util/ArrayMap;
-HPLcom/google/android/collect/Sets;->newArraySet()Landroid/util/ArraySet;
-HPLcom/google/android/gles_jni/GLImpl;->glColorPointer(IIILjava/nio/Buffer;)V
-HPLcom/google/android/gles_jni/GLImpl;->glTexCoordPointer(IIILjava/nio/Buffer;)V
-HPLcom/google/android/gles_jni/GLImpl;->glVertexPointer(IIILjava/nio/Buffer;)V
+HPLcom/google/android/gles_jni/EGLImpl;->eglGetCurrentContext()Ljavax/microedition/khronos/egl/EGLContext;
+HPLcom/google/android/gles_jni/EGLImpl;->eglGetCurrentDisplay()Ljavax/microedition/khronos/egl/EGLDisplay;
+HPLcom/google/android/gles_jni/EGLImpl;->eglGetCurrentSurface(I)Ljavax/microedition/khronos/egl/EGLSurface;
+HPLcom/google/android/mms/pdu/CharacterSets;->getMimeName(I)Ljava/lang/String;
+HPLcom/google/android/mms/pdu/EncodedStringValue;-><init>(I[B)V
+HPLcom/google/android/mms/pdu/EncodedStringValue;-><init>([B)V
+HPLcom/google/android/mms/pdu/EncodedStringValue;->getString()Ljava/lang/String;
+HPLcom/google/android/mms/pdu/EncodedStringValue;->getTextString()[B
+HPLcom/google/android/mms/pdu/EncodedStringValue;->setTextString([B)V
+HPLcom/google/android/mms/pdu/GenericPdu;->getMessageType()I
+HPLcom/google/android/mms/pdu/NotificationInd;->getFrom()Lcom/google/android/mms/pdu/EncodedStringValue;
+HPLcom/google/android/mms/pdu/PduHeaders;->getEncodedStringValue(I)Lcom/google/android/mms/pdu/EncodedStringValue;
+HPLcom/google/android/mms/pdu/PduHeaders;->getLongInteger(I)J
+HPLcom/google/android/mms/pdu/PduHeaders;->getOctet(I)I
+HPLcom/google/android/mms/pdu/PduHeaders;->getTextString(I)[B
+HPLcom/google/android/mms/pdu/PduHeaders;->setEncodedStringValue(Lcom/google/android/mms/pdu/EncodedStringValue;I)V
+HPLcom/google/android/mms/pdu/PduHeaders;->setLongInteger(JI)V
+HPLcom/google/android/mms/pdu/PduHeaders;->setOctet(II)V
+HPLcom/google/android/mms/pdu/PduHeaders;->setTextString([BI)V
+HPLcom/google/android/mms/pdu/PduParser;-><init>([BZ)V
+HPLcom/google/android/mms/pdu/PduParser;->checkMandatoryHeader(Lcom/google/android/mms/pdu/PduHeaders;)Z
+HPLcom/google/android/mms/pdu/PduParser;->extractByteValue(Ljava/io/ByteArrayInputStream;)I
+HPLcom/google/android/mms/pdu/PduParser;->getWapString(Ljava/io/ByteArrayInputStream;I)[B
+HPLcom/google/android/mms/pdu/PduParser;->isText(I)Z
+HPLcom/google/android/mms/pdu/PduParser;->parse()Lcom/google/android/mms/pdu/GenericPdu;
+HPLcom/google/android/mms/pdu/PduParser;->parseEncodedStringValue(Ljava/io/ByteArrayInputStream;)Lcom/google/android/mms/pdu/EncodedStringValue;
+HPLcom/google/android/mms/pdu/PduParser;->parseHeaders(Ljava/io/ByteArrayInputStream;)Lcom/google/android/mms/pdu/PduHeaders;
+HPLcom/google/android/mms/pdu/PduParser;->parseLongInteger(Ljava/io/ByteArrayInputStream;)J
+HPLcom/google/android/mms/pdu/PduParser;->parseWapString(Ljava/io/ByteArrayInputStream;I)[B
+HPLcom/google/android/mms/util/DownloadDrmHelper;->isDrmConvertNeeded(Ljava/lang/String;)Z
 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
 HPLcom/google/android/rappor/Encoder;->computeInstantaneousRandomizedResponse(Ljava/util/BitSet;)Ljava/util/BitSet;
@@ -11052,39 +11853,97 @@
 HPLcom/google/android/rappor/HmacDrbg;->nextBytes([B)V
 HPLcom/google/android/rappor/HmacDrbg;->nextBytes([BII)V
 HPLcom/google/android/rappor/HmacDrbg;->setKey([B)V
+HPLcom/google/android/textclassifier/ActionsSuggestionsModel$ActionSuggestion;-><init>(Ljava/lang/String;Ljava/lang/String;F[Lcom/google/android/textclassifier/RemoteActionTemplate;)V
+HPLcom/google/android/textclassifier/ActionsSuggestionsModel$Conversation;->getConversationMessages()[Lcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;
+HPLcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;->getLocales()Ljava/lang/String;
+HPLcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;->getReferenceTimeMsUtc()J
+HPLcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;->getText()Ljava/lang/String;
+HPLcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;->getUserId()I
+HPLcom/google/android/textclassifier/ActionsSuggestionsModel;-><init>(ILcom/google/android/textclassifier/AnnotatorModel;)V
+HPLcom/google/android/textclassifier/ActionsSuggestionsModel;->getLocales(I)Ljava/lang/String;
+HPLcom/google/android/textclassifier/ActionsSuggestionsModel;->getVersion(I)I
+HPLcom/google/android/textclassifier/ActionsSuggestionsModel;->suggestActionsWithIntents(Lcom/google/android/textclassifier/ActionsSuggestionsModel$Conversation;Lcom/google/android/textclassifier/ActionsSuggestionsModel$ActionSuggestionOptions;Ljava/lang/Object;Ljava/lang/String;)[Lcom/google/android/textclassifier/ActionsSuggestionsModel$ActionSuggestion;
+HPLcom/google/android/textclassifier/AnnotatorModel$AnnotatedSpan;-><init>(II[Lcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;)V
+HPLcom/google/android/textclassifier/AnnotatorModel$AnnotationOptions;->getLocale()Ljava/lang/String;
+HPLcom/google/android/textclassifier/AnnotatorModel$AnnotationOptions;->getReferenceTimeMsUtc()J
+HPLcom/google/android/textclassifier/AnnotatorModel$AnnotationOptions;->getReferenceTimezone()Ljava/lang/String;
+HPLcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions;->getLocale()Ljava/lang/String;
+HPLcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions;->getReferenceTimeMsUtc()J
+HPLcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions;->getReferenceTimezone()Ljava/lang/String;
+HPLcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;-><init>(Ljava/lang/String;FLcom/google/android/textclassifier/AnnotatorModel$DatetimeResult;[BLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Lcom/google/android/textclassifier/RemoteActionTemplate;)V
+HPLcom/google/android/textclassifier/AnnotatorModel$DatetimeResult;-><init>(JI)V
+HPLcom/google/android/textclassifier/AnnotatorModel$SelectionOptions;->getLocales()Ljava/lang/String;
+HPLcom/google/android/textclassifier/AnnotatorModel;-><init>(I)V
+HPLcom/google/android/textclassifier/AnnotatorModel;->annotate(Ljava/lang/String;Lcom/google/android/textclassifier/AnnotatorModel$AnnotationOptions;)[Lcom/google/android/textclassifier/AnnotatorModel$AnnotatedSpan;
+HPLcom/google/android/textclassifier/AnnotatorModel;->classifyText(Ljava/lang/String;IILcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions;Ljava/lang/Object;Ljava/lang/String;)[Lcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;
+HPLcom/google/android/textclassifier/AnnotatorModel;->getLocales(I)Ljava/lang/String;
+HPLcom/google/android/textclassifier/AnnotatorModel;->getVersion(I)I
+HPLcom/google/android/textclassifier/AnnotatorModel;->suggestSelection(Ljava/lang/String;IILcom/google/android/textclassifier/AnnotatorModel$SelectionOptions;)[I
+HPLcom/google/android/textclassifier/LangIdModel$LanguageResult;-><init>(Ljava/lang/String;F)V
+HPLcom/google/android/textclassifier/LangIdModel;-><init>(I)V
+HPLcom/google/android/textclassifier/LangIdModel;->detectLanguages(Ljava/lang/String;)[Lcom/google/android/textclassifier/LangIdModel$LanguageResult;
+HPLcom/google/android/textclassifier/LangIdModel;->getTranslateThreshold()F
+HPLcom/google/android/textclassifier/LangIdModel;->getVersion(I)I
+HPLcom/google/android/textclassifier/NamedVariant;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+HPLcom/google/android/textclassifier/RemoteActionTemplate;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;[Ljava/lang/String;Ljava/lang/String;[Lcom/google/android/textclassifier/NamedVariant;Ljava/lang/Integer;)V
+HPLcom/google/android/textclassifier/RemoteActionTemplate;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Integer;[Ljava/lang/String;Ljava/lang/String;[Lcom/google/android/textclassifier/NamedVariant;Ljava/lang/Integer;)V
 HPLdalvik/system/DexFile;->getDexFileOptimizationInfo(Ljava/lang/String;Ljava/lang/String;)Ldalvik/system/DexFile$OptimizationInfo;
 HPLjava/io/BufferedReader;->mark(I)V
 HPLjava/io/BufferedReader;->reset()V
 HPLjava/io/BufferedReader;->skip(J)J
+HPLjava/io/BufferedWriter;->write([CII)V
+HPLjava/io/ByteArrayInputStream;-><init>([BII)V
+HPLjava/io/ByteArrayOutputStream;->toString()Ljava/lang/String;
 HPLjava/io/CharArrayWriter;->write(Ljava/lang/String;II)V
-HPLjava/io/DataOutputStream;->writeBytes(Ljava/lang/String;)V
+HPLjava/io/DataInputStream;->readFloat()F
+HPLjava/io/DataOutputStream;->size()I
+HPLjava/io/DataOutputStream;->write(I)V
+HPLjava/io/DataOutputStream;->writeDouble(D)V
 HPLjava/io/DataOutputStream;->writeFloat(F)V
 HPLjava/io/File;->createTempFile(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
 HPLjava/io/File;->isInvalid()Z
-HPLjava/io/File;->writeObject(Ljava/io/ObjectOutputStream;)V
-HPLjava/io/FileNotFoundException;-><init>()V
-HPLjava/io/FileOutputStream;-><init>(Ljava/lang/String;Z)V
+HPLjava/io/File;->setExecutable(Z)Z
+HPLjava/io/File;->setWritable(Z)Z
+HPLjava/io/File;->setWritable(ZZ)Z
 HPLjava/io/FileWriter;-><init>(Ljava/lang/String;)V
-HPLjava/io/FilterInputStream;->markSupported()Z
 HPLjava/io/FilterWriter;-><init>(Ljava/io/Writer;)V
 HPLjava/io/FilterWriter;->flush()V
-HPLjava/io/LineNumberReader;-><init>(Ljava/io/Reader;)V
-HPLjava/io/LineNumberReader;->readLine()Ljava/lang/String;
-HPLjava/io/ObjectInputStream$BlockDataInputStream;->readInts([III)V
-HPLjava/io/ObjectOutputStream$BlockDataOutputStream;->write(I)V
-HPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeChar(I)V
-HPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeInts([III)V
-HPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeUTFBody(Ljava/lang/String;)V
-HPLjava/io/ObjectOutputStream$PutFieldImpl;->getFieldOffset(Ljava/lang/String;Ljava/lang/Class;)I
-HPLjava/io/ObjectOutputStream$PutFieldImpl;->put(Ljava/lang/String;I)V
-HPLjava/io/ObjectOutputStream$PutFieldImpl;->put(Ljava/lang/String;Ljava/lang/Object;)V
-HPLjava/io/ObjectOutputStream$PutFieldImpl;->writeFields()V
-HPLjava/io/ObjectOutputStream;->putFields()Ljava/io/ObjectOutputStream$PutField;
-HPLjava/io/ObjectOutputStream;->write([BII)V
-HPLjava/io/ObjectOutputStream;->writeChar(I)V
-HPLjava/io/ObjectOutputStream;->writeFields()V
+HPLjava/io/IOException;-><init>()V
+HPLjava/io/IOException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
+HPLjava/io/InputStream;->available()I
+HPLjava/io/InterruptedIOException;-><init>(Ljava/lang/String;)V
+HPLjava/io/ObjectInputStream$BlockDataInputStream;->readFloat()F
+HPLjava/io/ObjectInputStream$HandleTable$HandleList;->add(I)V
+HPLjava/io/ObjectInputStream$HandleTable;->setObject(ILjava/lang/Object;)V
+HPLjava/io/ObjectInputStream;->readFloat()F
+HPLjava/io/ObjectInputStream;->readFully([B)V
+HPLjava/io/ObjectInputStream;->readNull()Ljava/lang/Object;
+HPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeFloat(F)V
+HPLjava/io/ObjectOutputStream$HandleTable;->growSpine()V
+HPLjava/io/ObjectOutputStream$ReplaceTable;->assign(Ljava/lang/Object;Ljava/lang/Object;)V
+HPLjava/io/ObjectOutputStream;->write([B)V
+HPLjava/io/ObjectOutputStream;->writeArray(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Z)V
+HPLjava/io/ObjectOutputStream;->writeFloat(F)V
+HPLjava/io/ObjectOutputStream;->writeTypeString(Ljava/lang/String;)V
+HPLjava/io/ObjectStreamClass$3;->compare(Ljava/io/ObjectStreamClass$MemberSignature;Ljava/io/ObjectStreamClass$MemberSignature;)I
+HPLjava/io/ObjectStreamClass$3;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HPLjava/io/ObjectStreamClass$4;->compare(Ljava/io/ObjectStreamClass$MemberSignature;Ljava/io/ObjectStreamClass$MemberSignature;)I
+HPLjava/io/ObjectStreamClass$4;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HPLjava/io/ObjectStreamClass$5;->compare(Ljava/io/ObjectStreamClass$MemberSignature;Ljava/io/ObjectStreamClass$MemberSignature;)I
+HPLjava/io/ObjectStreamClass$5;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HPLjava/io/ObjectStreamClass$MemberSignature;-><init>(Ljava/lang/reflect/Field;)V
+HPLjava/io/ObjectStreamClass;->computeDefaultSUID(Ljava/lang/Class;)J
+HPLjava/io/ObjectStreamClass;->getClassSignature(Ljava/lang/Class;)Ljava/lang/String;
+HPLjava/io/ObjectStreamClass;->getMethodSignature([Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/String;
+HPLjava/io/ObjectStreamClass;->getPackageName(Ljava/lang/Class;)Ljava/lang/String;
+HPLjava/io/ObjectStreamClass;->invokeReadResolve(Ljava/lang/Object;)Ljava/lang/Object;
+HPLjava/io/ObjectStreamClass;->invokeWriteReplace(Ljava/lang/Object;)Ljava/lang/Object;
+HPLjava/io/ObjectStreamField;->getTypeString()Ljava/lang/String;
 HPLjava/io/OutputStream;->write([BII)V
+HPLjava/io/OutputStreamWriter;->flushBuffer()V
+HPLjava/io/PipedInputStream;-><init>()V
 HPLjava/io/PipedInputStream;-><init>(Ljava/io/PipedOutputStream;)V
+HPLjava/io/PipedInputStream;->available()I
 HPLjava/io/PipedInputStream;->awaitSpace()V
 HPLjava/io/PipedInputStream;->checkStateForReceive()V
 HPLjava/io/PipedInputStream;->close()V
@@ -11093,246 +11952,267 @@
 HPLjava/io/PipedInputStream;->read([BII)I
 HPLjava/io/PipedInputStream;->receive([BII)V
 HPLjava/io/PipedInputStream;->receivedLast()V
+HPLjava/io/PipedOutputStream;-><init>()V
+HPLjava/io/PipedOutputStream;-><init>(Ljava/io/PipedInputStream;)V
 HPLjava/io/PipedOutputStream;->close()V
 HPLjava/io/PipedOutputStream;->connect(Ljava/io/PipedInputStream;)V
+HPLjava/io/PipedOutputStream;->flush()V
 HPLjava/io/PipedOutputStream;->write([BII)V
+HPLjava/io/PrintStream;-><init>(Ljava/io/File;)V
+HPLjava/io/PrintStream;->flush()V
+HPLjava/io/PrintStream;->getTextOut()Ljava/io/BufferedWriter;
+HPLjava/io/PrintStream;->print(Ljava/lang/String;)V
+HPLjava/io/PrintStream;->write(Ljava/lang/String;)V
 HPLjava/io/PrintWriter;-><init>(Ljava/io/File;)V
+HPLjava/io/PrintWriter;->append(C)Ljava/io/PrintWriter;
 HPLjava/io/PrintWriter;->append(C)Ljava/lang/Appendable;
+HPLjava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/lang/Appendable;
+HPLjava/io/PrintWriter;->append(Ljava/lang/CharSequence;II)Ljava/io/PrintWriter;
 HPLjava/io/PrintWriter;->append(Ljava/lang/CharSequence;II)Ljava/lang/Appendable;
-HPLjava/io/PrintWriter;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
+HPLjava/io/PrintWriter;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
 HPLjava/io/PrintWriter;->print(D)V
 HPLjava/io/PrintWriter;->print(F)V
+HPLjava/io/PrintWriter;->printf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
 HPLjava/io/PrintWriter;->println(F)V
-HPLjava/io/Reader;-><init>(Ljava/lang/Object;)V
-HPLjava/io/Writer;-><init>(Ljava/lang/Object;)V
-HPLjava/io/Writer;->write(Ljava/lang/String;II)V
-HPLjava/lang/AbstractMethodError;-><init>(Ljava/lang/String;)V
-HPLjava/lang/AbstractStringBuilder;->append(D)Ljava/lang/AbstractStringBuilder;
-HPLjava/lang/AbstractStringBuilder;->indexOf(Ljava/lang/String;)I
+HPLjava/io/PushbackInputStream;->close()V
+HPLjava/io/PushbackInputStream;->markSupported()Z
+HPLjava/io/RandomAccessFile;->readByte()B
+HPLjava/io/RandomAccessFile;->skipBytes(I)I
+HPLjava/io/RandomAccessFile;->write(I)V
+HPLjava/io/RandomAccessFile;->writeInt(I)V
+HPLjava/io/RandomAccessFile;->writeLong(J)V
+HPLjava/io/RandomAccessFile;->writeUTF(Ljava/lang/String;)V
+HPLjava/io/SequenceInputStream;->available()I
+HPLjava/io/SequenceInputStream;->close()V
+HPLjava/io/SequenceInputStream;->read([BII)I
+HPLjava/io/StringWriter;->append(C)Ljava/io/StringWriter;
+HPLjava/io/StringWriter;->append(C)Ljava/io/Writer;
+HPLjava/lang/AbstractStringBuilder;-><init>(I)V
+HPLjava/lang/AbstractStringBuilder;->indexOf(Ljava/lang/String;I)I
 HPLjava/lang/ArrayIndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
 HPLjava/lang/Boolean;->compare(ZZ)I
 HPLjava/lang/Byte;->compareTo(Ljava/lang/Object;)I
 HPLjava/lang/Byte;->longValue()J
-HPLjava/lang/Byte;->toString(B)Ljava/lang/String;
-HPLjava/lang/Character$UnicodeBlock;->of(C)Ljava/lang/Character$UnicodeBlock;
+HPLjava/lang/Byte;->parseByte(Ljava/lang/String;)B
+HPLjava/lang/Byte;->parseByte(Ljava/lang/String;I)B
+HPLjava/lang/Byte;->toString()Ljava/lang/String;
 HPLjava/lang/Character$UnicodeBlock;->of(I)Ljava/lang/Character$UnicodeBlock;
 HPLjava/lang/Character;->codePointBefore(Ljava/lang/CharSequence;I)I
+HPLjava/lang/Character;->codePointCountImpl([CII)I
 HPLjava/lang/Character;->compareTo(Ljava/lang/Object;)I
-HPLjava/lang/Character;->isLowerCase(I)Z
-HPLjava/lang/Character;->isSurrogate(C)Z
-HPLjava/lang/Character;->isSurrogatePair(CC)Z
-HPLjava/lang/Character;->isUpperCase(I)Z
-HPLjava/lang/Character;->toChars(I)[C
-HPLjava/lang/Character;->toLowerCase(I)I
-HPLjava/lang/Class;->getResource(Ljava/lang/String;)Ljava/net/URL;
-HPLjava/lang/ClassLoader;->findResource(Ljava/lang/String;)Ljava/net/URL;
-HPLjava/lang/Error;-><init>(Ljava/lang/Throwable;)V
-HPLjava/lang/Float;->compareTo(Ljava/lang/Float;)I
+HPLjava/lang/Character;->getType(C)I
+HPLjava/lang/Character;->isISOControl(C)Z
+HPLjava/lang/Character;->isSupplementaryCodePoint(I)Z
+HPLjava/lang/Character;->offsetByCodePointsImpl([CIIII)I
+HPLjava/lang/Character;->toCodePoint(CC)I
+HPLjava/lang/Class;->getPackageName$()Ljava/lang/String;
+HPLjava/lang/Double;-><init>(D)V
+HPLjava/lang/Double;->longValue()J
+HPLjava/lang/Double;->toString()Ljava/lang/String;
+HPLjava/lang/Enum;->getSharedConstants(Ljava/lang/Class;)[Ljava/lang/Enum;
+HPLjava/lang/Float;->compareTo(Ljava/lang/Object;)I
+HPLjava/lang/Float;->longValue()J
 HPLjava/lang/IllegalArgumentException;-><init>()V
 HPLjava/lang/IllegalArgumentException;-><init>(Ljava/lang/Throwable;)V
 HPLjava/lang/IllegalMonitorStateException;-><init>(Ljava/lang/String;)V
+HPLjava/lang/IllegalStateException;-><init>()V
+HPLjava/lang/IllegalStateException;-><init>(Ljava/lang/Throwable;)V
 HPLjava/lang/InstantiationException;-><init>(Ljava/lang/String;)V
-HPLjava/lang/Integer;-><init>(Ljava/lang/String;)V
-HPLjava/lang/Integer;->byteValue()B
-HPLjava/lang/Integer;->sum(II)I
-HPLjava/lang/Iterable;->forEach(Ljava/util/function/Consumer;)V
+HPLjava/lang/Integer;->formatUnsignedInt(II[CII)I
+HPLjava/lang/Long;->compareTo(Ljava/lang/Long;)I
 HPLjava/lang/Long;->formatUnsignedLong(JI[CII)I
 HPLjava/lang/Long;->valueOf(Ljava/lang/String;I)Ljava/lang/Long;
-HPLjava/lang/Math;->addExact(JJ)J
+HPLjava/lang/Math;->copySign(FF)F
+HPLjava/lang/Math;->scalb(DI)D
 HPLjava/lang/Math;->scalb(FI)F
-HPLjava/lang/Object;->wait()V
-HPLjava/lang/StackTraceElement;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-HPLjava/lang/String;->copyValueOf([C)Ljava/lang/String;
-HPLjava/lang/String;->join(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;
-HPLjava/lang/StringBuffer;->append(Ljava/lang/AbstractStringBuilder;)Ljava/lang/AbstractStringBuilder;
-HPLjava/lang/StringBuffer;->append(Ljava/lang/AbstractStringBuilder;)Ljava/lang/StringBuffer;
+HPLjava/lang/NullPointerException;-><init>()V
+HPLjava/lang/Object;->identityHashCode(Ljava/lang/Object;)I
+HPLjava/lang/ProcessBuilder$NullInputStream;->available()I
+HPLjava/lang/ProcessBuilder$NullInputStream;->read()I
+HPLjava/lang/ProcessBuilder;->environment([Ljava/lang/String;)Ljava/lang/ProcessBuilder;
+HPLjava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
+HPLjava/lang/Runtime;->exec(Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;
+HPLjava/lang/Runtime;->exec([Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;
+HPLjava/lang/SecurityException;-><init>()V
+HPLjava/lang/StrictMath;->toIntExact(J)I
+HPLjava/lang/String;->valueOf(D)Ljava/lang/String;
+HPLjava/lang/String;->valueOf([C)Ljava/lang/String;
+HPLjava/lang/StringBuffer;->append(Ljava/lang/CharSequence;II)Ljava/lang/Appendable;
 HPLjava/lang/StringBuffer;->append(Ljava/lang/String;)Ljava/lang/AbstractStringBuilder;
-HPLjava/lang/StringBuffer;->capacity()I
-HPLjava/lang/StringBuffer;->delete(II)Ljava/lang/StringBuffer;
-HPLjava/lang/StringBuffer;->deleteCharAt(I)Ljava/lang/StringBuffer;
-HPLjava/lang/StringBuffer;->substring(I)Ljava/lang/String;
-HPLjava/lang/StringBuffer;->substring(II)Ljava/lang/String;
-HPLjava/lang/StringBuilder;->append(Ljava/lang/CharSequence;II)Ljava/lang/Appendable;
-HPLjava/lang/StringBuilder;->append([C)Ljava/lang/StringBuilder;
-HPLjava/lang/StringFactory;->newStringFromCodePoints([III)Ljava/lang/String;
-HPLjava/lang/System;->arraycopy([SI[SII)V
+HPLjava/lang/StringBuilder;->codePointCount(II)I
+HPLjava/lang/StringBuilder;->offsetByCodePoints(II)I
+HPLjava/lang/StringBuilder;->trimToSize()V
+HPLjava/lang/StringFactory;->newStringFromBytes([BI)Ljava/lang/String;
+HPLjava/lang/System;->arraycopy([DI[DII)V
 HPLjava/lang/System;->checkKey(Ljava/lang/String;)V
+HPLjava/lang/Thread;->getAllStackTraces()Ljava/util/Map;
+HPLjava/lang/Thread;->getThreadGroup()Ljava/lang/ThreadGroup;
+HPLjava/lang/ThreadGroup;->enumerate([Ljava/lang/Thread;)I
+HPLjava/lang/ThreadGroup;->enumerate([Ljava/lang/Thread;IZ)I
 HPLjava/lang/ThreadGroup;->getName()Ljava/lang/String;
-HPLjava/lang/ThreadGroup;->setMaxPriority(I)V
 HPLjava/lang/ThreadLocal$ThreadLocalMap;->access$100(Ljava/lang/ThreadLocal$ThreadLocalMap;Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
+HPLjava/lang/ThreadLocal$ThreadLocalMap;->getEntry(Ljava/lang/ThreadLocal;)Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;
 HPLjava/lang/ThreadLocal$ThreadLocalMap;->getEntryAfterMiss(Ljava/lang/ThreadLocal;ILjava/lang/ThreadLocal$ThreadLocalMap$Entry;)Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;
 HPLjava/lang/ThreadLocal$ThreadLocalMap;->replaceStaleEntry(Ljava/lang/ThreadLocal;Ljava/lang/Object;I)V
 HPLjava/lang/ThreadLocal;->setInitialValue()Ljava/lang/Object;
-HPLjava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V
-HPLjava/lang/UnsatisfiedLinkError;-><init>(Ljava/lang/String;)V
-HPLjava/lang/ref/Reference;-><init>(Ljava/lang/Object;)V
-HPLjava/lang/ref/Reference;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
-HPLjava/lang/reflect/AccessibleObject;->setAccessible([Ljava/lang/reflect/AccessibleObject;Z)V
-HPLjava/lang/reflect/Proxy;->getMethodsRecursive([Ljava/lang/Class;Ljava/util/List;)V
-HPLjava/math/BigDecimal;->abs()Ljava/math/BigDecimal;
-HPLjava/math/BigDecimal;->compareTo(Ljava/lang/Object;)I
+HPLjava/lang/Throwable;->readObject(Ljava/io/ObjectInputStream;)V
+HPLjava/lang/Throwable;->writeObject(Ljava/io/ObjectOutputStream;)V
+HPLjava/lang/UNIXProcess$ProcessPipeInputStream;->drainInputStream(Ljava/io/InputStream;)[B
+HPLjava/lang/UNIXProcess;->waitFor()I
+HPLjava/lang/UnsupportedOperationException;-><init>()V
+HPLjava/lang/invoke/MethodHandles$Lookup;->checkAccess(Ljava/lang/Class;Ljava/lang/Class;ILjava/lang/String;)V
+HPLjava/lang/invoke/MethodHandles$Lookup;->unreflect(Ljava/lang/reflect/Method;)Ljava/lang/invoke/MethodHandle;
+HPLjava/lang/invoke/MethodHandles;->publicLookup()Ljava/lang/invoke/MethodHandles$Lookup;
+HPLjava/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry;->equals(Ljava/lang/Object;)Z
+HPLjava/lang/invoke/MethodType$ConcurrentWeakInternSet$WeakEntry;->hashCode()I
+HPLjava/lang/invoke/MethodType$ConcurrentWeakInternSet;->add(Ljava/lang/Object;)Ljava/lang/Object;
+HPLjava/lang/invoke/MethodType$ConcurrentWeakInternSet;->get(Ljava/lang/Object;)Ljava/lang/Object;
+HPLjava/lang/invoke/MethodType;->equals(Ljava/lang/Object;)Z
+HPLjava/lang/invoke/MethodType;->genericMethodType(IZ)Ljava/lang/invoke/MethodType;
+HPLjava/lang/invoke/MethodType;->hashCode()I
+HPLjava/lang/invoke/MethodType;->insertParameterTypes(I[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
+HPLjava/lang/invoke/MethodType;->makeImpl(Ljava/lang/Class;[Ljava/lang/Class;Z)Ljava/lang/invoke/MethodType;
+HPLjava/lang/invoke/MethodTypeForm;-><init>(Ljava/lang/invoke/MethodType;)V
+HPLjava/lang/invoke/MethodTypeForm;->canonicalize(Ljava/lang/Class;I)Ljava/lang/Class;
+HPLjava/lang/invoke/MethodTypeForm;->canonicalize(Ljava/lang/invoke/MethodType;II)Ljava/lang/invoke/MethodType;
+HPLjava/lang/invoke/MethodTypeForm;->canonicalizeAll([Ljava/lang/Class;I)[Ljava/lang/Class;
+HPLjava/lang/reflect/Constructor;->getModifiers()I
+HPLjava/lang/reflect/Method;->hashCode()I
+HPLjava/lang/reflect/Proxy$Key2;->equals(Ljava/lang/Object;)Z
+HPLjava/lang/reflect/Proxy$Key2;->hashCode()I
+HPLjava/math/BigDecimal;-><init>(D)V
+HPLjava/math/BigDecimal;-><init>(J)V
+HPLjava/math/BigDecimal;-><init>(Ljava/lang/String;)V
+HPLjava/math/BigDecimal;->add(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
 HPLjava/math/BigDecimal;->compareTo(Ljava/math/BigDecimal;)I
-HPLjava/math/BigDecimal;->doubleValue()D
-HPLjava/math/BigDecimal;->longValue()J
+HPLjava/math/BigDecimal;->divide(Ljava/math/BigDecimal;ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
+HPLjava/math/BigDecimal;->dividePrimitiveLongs(JJILjava/math/RoundingMode;)Ljava/math/BigDecimal;
+HPLjava/math/BigDecimal;->longValueExact()J
+HPLjava/math/BigDecimal;->movePoint(J)Ljava/math/BigDecimal;
+HPLjava/math/BigDecimal;->movePointLeft(I)Ljava/math/BigDecimal;
+HPLjava/math/BigDecimal;->multiply(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
+HPLjava/math/BigDecimal;->negate()Ljava/math/BigDecimal;
+HPLjava/math/BigDecimal;->safeLongToInt(J)I
 HPLjava/math/BigDecimal;->scale()I
-HPLjava/math/BigDecimal;->setScale(II)Ljava/math/BigDecimal;
-HPLjava/math/BigDecimal;->signum()I
+HPLjava/math/BigDecimal;->setScale(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
 HPLjava/math/BigDecimal;->stripTrailingZeros()Ljava/math/BigDecimal;
+HPLjava/math/BigDecimal;->subtract(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
+HPLjava/math/BigDecimal;->toBigIntegerExact()Ljava/math/BigInteger;
 HPLjava/math/BigDecimal;->toPlainString()Ljava/lang/String;
-HPLjava/math/BigDecimal;->unscaledValue()Ljava/math/BigInteger;
-HPLjava/math/BigInteger;->readObject(Ljava/io/ObjectInputStream;)V
-HPLjava/math/BigInteger;->remainder(Ljava/math/BigInteger;)Ljava/math/BigInteger;
-HPLjava/math/BigInteger;->shiftLeftOneBit()Ljava/math/BigInteger;
+HPLjava/math/BigDecimal;->valueOf(J)Ljava/math/BigDecimal;
+HPLjava/math/BigInteger;-><init>(ILjava/util/Random;)V
+HPLjava/math/BigInteger;->modInverse(Ljava/math/BigInteger;)Ljava/math/BigInteger;
 HPLjava/math/BigInteger;->testBit(I)Z
 HPLjava/math/BigInteger;->writeObject(Ljava/io/ObjectOutputStream;)V
-HPLjava/math/BigInteger;->xor(Ljava/math/BigInteger;)Ljava/math/BigInteger;
-HPLjava/math/Division;->divideArrayByInt([I[III)I
-HPLjava/math/Logical;->xor(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/math/BigInteger;
-HPLjava/math/Logical;->xorPositive(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/math/BigInteger;
-HPLjava/net/AbstractPlainDatagramSocketImpl;->connect(Ljava/net/InetAddress;I)V
-HPLjava/net/AbstractPlainDatagramSocketImpl;->dataAvailable()I
-HPLjava/net/AbstractPlainDatagramSocketImpl;->disconnect()V
 HPLjava/net/AbstractPlainDatagramSocketImpl;->getOption(I)Ljava/lang/Object;
-HPLjava/net/AbstractPlainDatagramSocketImpl;->joinGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V
 HPLjava/net/AbstractPlainDatagramSocketImpl;->leaveGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V
-HPLjava/net/AbstractPlainDatagramSocketImpl;->nativeConnectDisabled()Z
-HPLjava/net/AbstractPlainSocketImpl;->reset()V
-HPLjava/net/AbstractPlainSocketImpl;->setConnectionReset()V
 HPLjava/net/AbstractPlainSocketImpl;->setConnectionResetPending()V
 HPLjava/net/ConnectException;-><init>(Ljava/lang/String;)V
 HPLjava/net/ConnectException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
 HPLjava/net/CookieManager;->getCookieStore()Ljava/net/CookieStore;
-HPLjava/net/DatagramSocket;->connect(Ljava/net/SocketAddress;)V
-HPLjava/net/DatagramSocket;->connectInternal(Ljava/net/InetAddress;I)V
-HPLjava/net/DatagramSocket;->disconnect()V
 HPLjava/net/DatagramSocket;->getFileDescriptor$()Ljava/io/FileDescriptor;
 HPLjava/net/DatagramSocket;->getReuseAddress()Z
-HPLjava/net/HttpRetryException;-><init>(Ljava/lang/String;I)V
-HPLjava/net/HttpURLConnection;->setFollowRedirects(Z)V
 HPLjava/net/InMemoryCookieStore;->getCookies()Ljava/util/List;
 HPLjava/net/Inet4Address;->isSiteLocalAddress()Z
-HPLjava/net/InetAddress$InetAddressHolder;->getFamily()I
-HPLjava/net/InetAddress;->getAllByNameOnNet(Ljava/lang/String;I)[Ljava/net/InetAddress;
+HPLjava/net/Inet6AddressImpl;->getHostByAddr([B)Ljava/lang/String;
+HPLjava/net/Inet6AddressImpl;->getHostByAddr0([B)Ljava/lang/String;
+HPLjava/net/InetAddress$1;->getHostByAddr([B)Ljava/lang/String;
 HPLjava/net/InetAddress;->getByNameOnNet(Ljava/lang/String;I)Ljava/net/InetAddress;
-HPLjava/net/InterfaceAddress;->getAddress()Ljava/net/InetAddress;
-HPLjava/net/MulticastSocket;-><init>(I)V
-HPLjava/net/MulticastSocket;->joinGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V
+HPLjava/net/InetAddress;->getHostFromNameService(Ljava/net/InetAddress;)Ljava/lang/String;
+HPLjava/net/InetAddress;->getHostName()Ljava/lang/String;
+HPLjava/net/InetSocketAddress$InetSocketAddressHolder;-><init>(Ljava/lang/String;Ljava/net/InetAddress;ILjava/net/InetSocketAddress$1;)V
+HPLjava/net/InetSocketAddress;->checkPort(I)I
+HPLjava/net/InetSocketAddress;->getHostName()Ljava/lang/String;
+HPLjava/net/MalformedURLException;-><init>(Ljava/lang/String;)V
 HPLjava/net/MulticastSocket;->leaveGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V
-HPLjava/net/MulticastSocket;->setTimeToLive(I)V
-HPLjava/net/NetworkInterface;->getByName(Ljava/lang/String;)Ljava/net/NetworkInterface;
-HPLjava/net/NetworkInterface;->getHardwareAddress()[B
-HPLjava/net/NetworkInterface;->getInterfaceAddresses()Ljava/util/List;
-HPLjava/net/NetworkInterface;->getMTU()I
-HPLjava/net/NetworkInterface;->isUp()Z
 HPLjava/net/NetworkInterface;->isVirtual()Z
-HPLjava/net/NetworkInterface;->supportsMulticast()Z
-HPLjava/net/PlainDatagramSocketImpl;->connect0(Ljava/net/InetAddress;I)V
-HPLjava/net/PlainDatagramSocketImpl;->disconnect0(I)V
+HPLjava/net/NoRouteToHostException;-><init>(Ljava/lang/String;)V
 HPLjava/net/PlainDatagramSocketImpl;->leave(Ljava/net/InetAddress;Ljava/net/NetworkInterface;)V
-HPLjava/net/PlainDatagramSocketImpl;->setTimeToLive(I)V
 HPLjava/net/PlainDatagramSocketImpl;->socketGetOption(I)Ljava/lang/Object;
-HPLjava/net/Proxy;->toString()Ljava/lang/String;
-HPLjava/net/ServerSocket;-><init>(IILjava/net/InetAddress;)V
-HPLjava/net/ServerSocket;->getLocalPort()I
-HPLjava/net/ServerSocket;->setSoTimeout(I)V
-HPLjava/net/Socket;->setKeepAlive(Z)V
-HPLjava/net/SocketException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-HPLjava/net/SocketInputStream;->setEOF(Z)V
-HPLjava/net/SocksSocketImpl;->getLocalPort()I
-HPLjava/net/URI;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HPLjava/net/URI;->isOpaque()Z
-HPLjava/net/URI;->resolve(Ljava/net/URI;)Ljava/net/URI;
-HPLjava/net/URI;->resolve(Ljava/net/URI;Ljava/net/URI;)Ljava/net/URI;
-HPLjava/net/URISyntaxException;->getMessage()Ljava/lang/String;
-HPLjava/net/URISyntaxException;->getReason()Ljava/lang/String;
-HPLjava/net/URL;->openStream()Ljava/io/InputStream;
-HPLjava/net/URLConnection;->toString()Ljava/lang/String;
-HPLjava/nio/ByteBufferAsDoubleBuffer;-><init>(Ljava/nio/ByteBuffer;IIIIILjava/nio/ByteOrder;)V
-HPLjava/nio/ByteBufferAsDoubleBuffer;->ix(I)I
-HPLjava/nio/ByteBufferAsDoubleBuffer;->put([DII)Ljava/nio/DoubleBuffer;
-HPLjava/nio/ByteBufferAsLongBuffer;->put([JII)Ljava/nio/LongBuffer;
-HPLjava/nio/ByteBufferAsShortBuffer;->put(IS)Ljava/nio/ShortBuffer;
-HPLjava/nio/ByteBufferAsShortBuffer;->put(S)Ljava/nio/ShortBuffer;
-HPLjava/nio/DirectByteBuffer;->getDouble(I)D
-HPLjava/nio/DirectByteBuffer;->getFloat()F
-HPLjava/nio/DirectByteBuffer;->getLong()J
-HPLjava/nio/DirectByteBuffer;->put(IB)Ljava/nio/ByteBuffer;
-HPLjava/nio/DirectByteBuffer;->putDouble(ID)Ljava/nio/ByteBuffer;
-HPLjava/nio/DirectByteBuffer;->putFloat(F)Ljava/nio/ByteBuffer;
-HPLjava/nio/DirectByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
-HPLjava/nio/DirectByteBuffer;->putLong(IJ)Ljava/nio/ByteBuffer;
+HPLjava/net/ProtocolException;-><init>(Ljava/lang/String;)V
+HPLjava/net/Proxy$Type;->values()[Ljava/net/Proxy$Type;
+HPLjava/net/Proxy;-><init>(Ljava/net/Proxy$Type;Ljava/net/SocketAddress;)V
+HPLjava/net/SocketAddress;-><init>()V
+HPLjava/net/SocketInputStream;->finalize()V
+HPLjava/net/SocketOutputStream;->finalize()V
+HPLjava/net/URI$Parser;->fail(Ljava/lang/String;I)V
+HPLjava/net/URI$Parser;->scanEscape(IIC)I
+HPLjava/net/URI;->getFragment()Ljava/lang/String;
+HPLjava/net/URI;->getQuery()Ljava/lang/String;
+HPLjava/net/URI;->getUserInfo()Ljava/lang/String;
+HPLjava/net/URI;->isAbsolute()Z
+HPLjava/net/URL;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLjava/net/URL;-><init>(Ljava/net/URL;Ljava/lang/String;)V
+HPLjava/net/URL;->getDefaultPort()I
+HPLjava/net/URLConnection;->setDefaultUseCaches(Z)V
+HPLjava/nio/ByteBuffer;->array()Ljava/lang/Object;
+HPLjava/nio/ByteBufferAsFloatBuffer;->put([FII)Ljava/nio/FloatBuffer;
+HPLjava/nio/ByteBufferAsIntBuffer;->get()I
+HPLjava/nio/ByteBufferAsIntBuffer;->get(I)I
+HPLjava/nio/ByteBufferAsIntBuffer;->put(I)Ljava/nio/IntBuffer;
+HPLjava/nio/ByteBufferAsIntBuffer;->put(II)Ljava/nio/IntBuffer;
+HPLjava/nio/ByteBufferAsShortBuffer;->get(I)S
+HPLjava/nio/DirectByteBuffer$MemoryRef;->free()V
+HPLjava/nio/DirectByteBuffer;->getFloat(I)F
+HPLjava/nio/DirectByteBuffer;->put(B)Ljava/nio/ByteBuffer;
+HPLjava/nio/DirectByteBuffer;->putInt(II)Ljava/nio/ByteBuffer;
 HPLjava/nio/DirectByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
-HPLjava/nio/DirectByteBuffer;->putShortUnchecked(IS)V
-HPLjava/nio/DoubleBuffer;->put([D)Ljava/nio/DoubleBuffer;
+HPLjava/nio/DirectByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
+HPLjava/nio/DirectByteBuffer;->putUnchecked(I[FII)V
+HPLjava/nio/FloatBuffer;->put([F)Ljava/nio/FloatBuffer;
 HPLjava/nio/HeapByteBuffer;-><init>(IIZ)V
-HPLjava/nio/HeapByteBuffer;->asDoubleBuffer()Ljava/nio/DoubleBuffer;
-HPLjava/nio/HeapByteBuffer;->asShortBuffer()Ljava/nio/ShortBuffer;
 HPLjava/nio/HeapByteBuffer;->getIntUnchecked(I)I
-HPLjava/nio/HeapByteBuffer;->getUnchecked(I[JII)V
-HPLjava/nio/HeapByteBuffer;->getUnchecked(I[SII)V
-HPLjava/nio/HeapByteBuffer;->putUnchecked(I[DII)V
-HPLjava/nio/HeapByteBuffer;->putUnchecked(I[III)V
-HPLjava/nio/HeapByteBuffer;->putUnchecked(I[JII)V
-HPLjava/nio/HeapByteBuffer;->putUnchecked(I[SII)V
-HPLjava/nio/HeapCharBuffer;->compact()Ljava/nio/CharBuffer;
-HPLjava/nio/IntBuffer;->put([I)Ljava/nio/IntBuffer;
-HPLjava/nio/LongBuffer;->put([J)Ljava/nio/LongBuffer;
-HPLjava/nio/channels/Channels$ReadableByteChannelImpl;->implCloseChannel()V
-HPLjava/nio/channels/Channels$ReadableByteChannelImpl;->read(Ljava/nio/ByteBuffer;)I
-HPLjava/nio/channels/Channels;->newChannel(Ljava/io/InputStream;)Ljava/nio/channels/ReadableByteChannel;
-HPLjava/nio/charset/Charset;->isSupported(Ljava/lang/String;)Z
-HPLjava/nio/charset/CharsetDecoder;->flush(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
-HPLjava/nio/charset/CharsetEncoder;->averageBytesPerChar()F
-HPLjava/nio/charset/CharsetEncoder;->charset()Ljava/nio/charset/Charset;
-HPLjava/nio/charset/CharsetEncoder;->flush(Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
-HPLjava/nio/charset/CoderResult;->isMalformed()Z
-HPLjava/nio/charset/CoderResult;->isUnmappable()Z
-HPLjava/nio/file/Files;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HPLjava/nio/file/Files;->read(Ljava/io/InputStream;I)[B
-HPLjava/nio/file/Files;->readAllBytes(Ljava/nio/file/Path;)[B
+HPLjava/nio/HeapByteBuffer;->getShortUnchecked(I)S
+HPLjava/nio/HeapByteBuffer;->putDouble(D)Ljava/nio/ByteBuffer;
+HPLjava/nio/HeapByteBuffer;->putIntUnchecked(II)V
+HPLjava/nio/NioUtils;->freeDirectBuffer(Ljava/nio/ByteBuffer;)V
+HPLjava/nio/channels/Channels$1;->write([BII)V
+HPLjava/nio/channels/Channels;->writeFully(Ljava/nio/channels/WritableByteChannel;Ljava/nio/ByteBuffer;)V
+HPLjava/nio/channels/FileChannel;->tryLock()Ljava/nio/channels/FileLock;
+HPLjava/nio/channels/spi/AbstractInterruptibleChannel$1;->interrupt(Ljava/lang/Thread;)V
+HPLjava/nio/charset/Charset;->decode(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
+HPLjava/nio/charset/Charset;->displayName()Ljava/lang/String;
+HPLjava/nio/file/FileSystems;->getDefault()Ljava/nio/file/FileSystem;
+HPLjava/nio/file/Files$1;->accept(Ljava/lang/Object;)Z
+HPLjava/nio/file/Files$1;->accept(Ljava/nio/file/Path;)Z
+HPLjava/nio/file/Files$AcceptAllFilter;-><init>()V
+HPLjava/nio/file/Files$AcceptAllFilter;->accept(Ljava/lang/Object;)Z
+HPLjava/nio/file/Files$AcceptAllFilter;->accept(Ljava/nio/file/Path;)Z
+HPLjava/nio/file/Files;->createLink(Ljava/nio/file/Path;Ljava/nio/file/Path;)Ljava/nio/file/Path;
+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;
+HPLjava/nio/file/Files;->newOutputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
+HPLjava/nio/file/Files;->readAttributes(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
+HPLjava/nio/file/attribute/FileTime;->toString()Ljava/lang/String;
+HPLjava/nio/file/spi/FileSystemProvider;->newOutputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/OutputStream;
 HPLjava/security/AlgorithmParametersSpi;-><init>()V
 HPLjava/security/DigestInputStream;-><init>(Ljava/io/InputStream;Ljava/security/MessageDigest;)V
 HPLjava/security/DigestInputStream;->read([BII)I
 HPLjava/security/DigestInputStream;->setMessageDigest(Ljava/security/MessageDigest;)V
-HPLjava/security/DigestOutputStream;->getMessageDigest()Ljava/security/MessageDigest;
-HPLjava/security/InvalidAlgorithmParameterException;-><init>(Ljava/lang/String;)V
-HPLjava/security/InvalidKeyException;-><init>(Ljava/lang/String;)V
 HPLjava/security/KeyPairGenerator;-><init>(Ljava/lang/String;)V
-HPLjava/security/KeyStore$SecretKeyEntry;-><init>(Ljavax/crypto/SecretKey;)V
+HPLjava/security/KeyPairGenerator;->getInstance(Ljava/lang/String;)Ljava/security/KeyPairGenerator;
+HPLjava/security/KeyStore;->getCertificateChain(Ljava/lang/String;)[Ljava/security/cert/Certificate;
+HPLjava/security/KeyStore;->getCreationDate(Ljava/lang/String;)Ljava/util/Date;
+HPLjava/security/KeyStore;->getEntry(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
 HPLjava/security/KeyStore;->getKey(Ljava/lang/String;[C)Ljava/security/Key;
-HPLjava/security/KeyStore;->setEntry(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
-HPLjava/security/SecureRandom;->setSeed([B)V
-HPLjava/security/Signature$Delegate;->engineInitSign(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
-HPLjava/security/Signature$Delegate;->engineVerify([BII)Z
-HPLjava/security/Signature;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/Signature;
-HPLjava/security/Signature;->initSign(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
-HPLjava/security/Signature;->verify([BII)Z
-HPLjava/security/SignatureSpi;->engineInitSign(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
-HPLjava/security/SignatureSpi;->engineVerify([BII)Z
+HPLjava/security/KeyStoreSpi;->engineGetEntry(Ljava/lang/String;Ljava/security/KeyStore$ProtectionParameter;)Ljava/security/KeyStore$Entry;
+HPLjava/security/MessageDigest$Delegate;->clone()Ljava/lang/Object;
+HPLjava/security/MessageDigest$Delegate;->engineGetDigestLength()I
+HPLjava/security/MessageDigest;->getDigestLength()I
+HPLjava/security/MessageDigest;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/MessageDigest;
 HPLjava/security/cert/CertPathBuilder;->build(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
 HPLjava/security/cert/CertPathBuilder;->getInstance(Ljava/lang/String;)Ljava/security/cert/CertPathBuilder;
-HPLjava/security/cert/CertPathBuilderResult;->clone()Ljava/lang/Object;
-HPLjava/security/cert/CertPathBuilderResult;->getCertPath()Ljava/security/cert/CertPath;
-HPLjava/security/cert/CertPathBuilderSpi;->engineBuild(Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathBuilderResult;
 HPLjava/security/cert/CertPathHelperImpl;->implSetPathToNames(Ljava/security/cert/X509CertSelector;Ljava/util/Set;)V
-HPLjava/security/cert/CertPathValidatorSpi;-><init>()V
+HPLjava/security/cert/Certificate;->equals(Ljava/lang/Object;)Z
 HPLjava/security/cert/CertificateFactory;->generateCertPath(Ljava/io/InputStream;)Ljava/security/cert/CertPath;
-HPLjava/security/cert/CertificateFactory;->generateCertPath(Ljava/io/InputStream;Ljava/lang/String;)Ljava/security/cert/CertPath;
+HPLjava/security/cert/CertificateFactory;->generateCertificates(Ljava/io/InputStream;)Ljava/util/Collection;
 HPLjava/security/cert/CollectionCertStoreParameters;->getCollection()Ljava/util/Collection;
 HPLjava/security/cert/PKIXBuilderParameters;-><init>(Ljava/util/Set;Ljava/security/cert/CertSelector;)V
 HPLjava/security/cert/PKIXBuilderParameters;->getMaxPathLength()I
 HPLjava/security/cert/PKIXCertPathBuilderResult;->getCertPath()Ljava/security/cert/CertPath;
-HPLjava/security/cert/PKIXCertPathValidatorResult;-><init>(Ljava/security/cert/TrustAnchor;Ljava/security/cert/PolicyNode;Ljava/security/PublicKey;)V
 HPLjava/security/cert/PKIXParameters;->addCertStore(Ljava/security/cert/CertStore;)V
-HPLjava/security/cert/PKIXParameters;->setAnyPolicyInhibited(Z)V
 HPLjava/security/cert/PKIXParameters;->setDate(Ljava/util/Date;)V
-HPLjava/security/cert/PKIXParameters;->setExplicitPolicyRequired(Z)V
-HPLjava/security/cert/PKIXParameters;->setInitialPolicies(Ljava/util/Set;)V
-HPLjava/security/cert/PKIXParameters;->setPolicyMappingInhibited(Z)V
-HPLjava/security/cert/PKIXParameters;->setPolicyQualifiersRejected(Z)V
-HPLjava/security/cert/PKIXParameters;->setSigProvider(Ljava/lang/String;)V
 HPLjava/security/cert/PKIXParameters;->setTargetCertConstraints(Ljava/security/cert/CertSelector;)V
-HPLjava/security/cert/TrustAnchor;->getTrustedCert()Ljava/security/cert/X509Certificate;
 HPLjava/security/cert/X509CertSelector;-><init>()V
 HPLjava/security/cert/X509CertSelector;->clone()Ljava/lang/Object;
 HPLjava/security/cert/X509CertSelector;->getBasicConstraints()I
@@ -11343,45 +12223,51 @@
 HPLjava/security/cert/X509CertSelector;->setCertificateValid(Ljava/util/Date;)V
 HPLjava/security/cert/X509CertSelector;->setPathToNamesInternal(Ljava/util/Set;)V
 HPLjava/security/cert/X509CertSelector;->setSubject(Ljavax/security/auth/x500/X500Principal;)V
-HPLjava/security/cert/X509CertSelector;->setSubject([B)V
-HPLjava/security/cert/X509Certificate;->getSubjectAlternativeNames()Ljava/util/Collection;
-HPLjava/security/interfaces/ECPrivateKey;->getS()Ljava/math/BigInteger;
-HPLjava/security/spec/ECParameterSpec;->getCurveName()Ljava/lang/String;
-HPLjava/security/spec/ECPoint;->getAffineX()Ljava/math/BigInteger;
-HPLjava/security/spec/ECPoint;->getAffineY()Ljava/math/BigInteger;
-HPLjava/security/spec/ECPublicKeySpec;-><init>(Ljava/security/spec/ECPoint;Ljava/security/spec/ECParameterSpec;)V
-HPLjava/security/spec/ECPublicKeySpec;->getParams()Ljava/security/spec/ECParameterSpec;
-HPLjava/security/spec/ECPublicKeySpec;->getW()Ljava/security/spec/ECPoint;
-HPLjava/security/spec/EllipticCurve;->getA()Ljava/math/BigInteger;
-HPLjava/security/spec/EllipticCurve;->getB()Ljava/math/BigInteger;
-HPLjava/security/spec/MGF1ParameterSpec;-><init>(Ljava/lang/String;)V
-HPLjava/security/spec/MGF1ParameterSpec;->getDigestAlgorithm()Ljava/lang/String;
-HPLjava/security/spec/RSAPublicKeySpec;-><init>(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
-HPLjava/security/spec/RSAPublicKeySpec;->getModulus()Ljava/math/BigInteger;
-HPLjava/security/spec/RSAPublicKeySpec;->getPublicExponent()Ljava/math/BigInteger;
-HPLjava/sql/Savepoint;->getSavepointId()I
-HPLjava/sql/Savepoint;->getSavepointName()Ljava/lang/String;
-HPLjava/text/Bidi;-><init>(Ljava/lang/String;I)V
-HPLjava/text/Bidi;->baseIsLeftToRight()Z
-HPLjava/text/Bidi;->getLevelAt(I)I
+HPLjava/security/spec/ECGenParameterSpec;-><init>(Ljava/lang/String;)V
+HPLjava/security/spec/ECGenParameterSpec;->getName()Ljava/lang/String;
+HPLjava/text/AttributedCharacterIterator$Attribute;->equals(Ljava/lang/Object;)Z
 HPLjava/text/BreakIterator;->getCharacterInstance()Ljava/text/BreakIterator;
-HPLjava/text/CollationKey;->compareTo(Ljava/text/CollationKey;)I
-HPLjava/text/CollationKey;->toByteArray()[B
-HPLjava/text/DateFormatSymbols;->getTinyWeekdays()[Ljava/lang/String;
-HPLjava/text/DecimalFormat;->setNegativePrefix(Ljava/lang/String;)V
-HPLjava/text/DecimalFormat;->setNegativeSuffix(Ljava/lang/String;)V
+HPLjava/text/BreakIterator;->getWordInstance()Ljava/text/BreakIterator;
+HPLjava/text/Collator;->decompositionMode_Java_ICU(I)I
+HPLjava/text/Collator;->setDecomposition(I)V
+HPLjava/text/DateFormat;->getDateTimeInstance(II)Ljava/text/DateFormat;
+HPLjava/text/DateFormat;->getDateTimeInstance(IILjava/util/Locale;)Ljava/text/DateFormat;
+HPLjava/text/DateFormat;->getInstance()Ljava/text/DateFormat;
+HPLjava/text/DateFormat;->getTimeInstance(I)Ljava/text/DateFormat;
+HPLjava/text/DecimalFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
 HPLjava/text/DecimalFormatSymbols;->getInstance(Ljava/util/Locale;)Ljava/text/DecimalFormatSymbols;
-HPLjava/text/FieldPosition;-><init>(I)V
-HPLjava/text/Format;-><init>()V
+HPLjava/text/IcuIteratorWrapper;->following(I)I
 HPLjava/text/IcuIteratorWrapper;->getText()Ljava/text/CharacterIterator;
 HPLjava/text/IcuIteratorWrapper;->isBoundary(I)Z
-HPLjava/text/RuleBasedCollator;->getCollationKey(Ljava/lang/String;)Ljava/text/CollationKey;
+HPLjava/text/IcuIteratorWrapper;->preceding(I)I
+HPLjava/text/IcuIteratorWrapper;->setText(Ljava/lang/String;)V
+HPLjava/text/NumberFormat;->getInstance()Ljava/text/NumberFormat;
 HPLjava/text/StringCharacterIterator;->previous()C
 HPLjava/time/-$$Lambda$JBWLm7jbzHiLhHxYdB_IuO_vFO8;-><init>()V
 HPLjava/time/-$$Lambda$JBWLm7jbzHiLhHxYdB_IuO_vFO8;->queryFrom(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;
+HPLjava/time/-$$Lambda$PTL8WkLA4o-1z4zIUBjrvwi808w;-><init>()V
+HPLjava/time/-$$Lambda$PTL8WkLA4o-1z4zIUBjrvwi808w;->queryFrom(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;
+HPLjava/time/Duration;->between(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)Ljava/time/Duration;
+HPLjava/time/Duration;->compareTo(Ljava/time/Duration;)I
+HPLjava/time/Duration;->isNegative()Z
+HPLjava/time/Duration;->minus(Ljava/time/Duration;)Ljava/time/Duration;
+HPLjava/time/Duration;->ofDays(J)Ljava/time/Duration;
+HPLjava/time/Duration;->ofMillis(J)Ljava/time/Duration;
+HPLjava/time/Duration;->ofMinutes(J)Ljava/time/Duration;
 HPLjava/time/Duration;->plus(JJ)Ljava/time/Duration;
-HPLjava/time/Duration;->plusSeconds(J)Ljava/time/Duration;
-HPLjava/time/LocalDate;->equals(Ljava/lang/Object;)Z
+HPLjava/time/Duration;->subtractFrom(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
+HPLjava/time/Instant;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/Instant;
+HPLjava/time/Instant;->isBefore(Ljava/time/Instant;)Z
+HPLjava/time/Instant;->isSupported(Ljava/time/temporal/TemporalField;)Z
+HPLjava/time/Instant;->minus(JLjava/time/temporal/TemporalUnit;)Ljava/time/temporal/Temporal;
+HPLjava/time/Instant;->minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/Instant;
+HPLjava/time/Instant;->parse(Ljava/lang/CharSequence;)Ljava/time/Instant;
+HPLjava/time/Instant;->plus(JJ)Ljava/time/Instant;
+HPLjava/time/Instant;->plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Instant;
+HPLjava/time/Instant;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
+HPLjava/time/Instant;->until(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J
+HPLjava/time/LocalDate;->compareTo0(Ljava/time/LocalDate;)I
+HPLjava/time/LocalDate;->getLong(Ljava/time/temporal/TemporalField;)J
 HPLjava/time/LocalDate;->minusYears(J)Ljava/time/LocalDate;
 HPLjava/time/LocalDate;->plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/LocalDate;
 HPLjava/time/LocalDate;->plusMonths(J)Ljava/time/LocalDate;
@@ -11397,403 +12283,539 @@
 HPLjava/time/LocalDateTime;->isAfter(Ljava/time/chrono/ChronoLocalDateTime;)Z
 HPLjava/time/LocalDateTime;->isBefore(Ljava/time/chrono/ChronoLocalDateTime;)Z
 HPLjava/time/LocalDateTime;->minusDays(J)Ljava/time/LocalDateTime;
+HPLjava/time/LocalDateTime;->of(IIIIIII)Ljava/time/LocalDateTime;
 HPLjava/time/LocalDateTime;->of(ILjava/time/Month;III)Ljava/time/LocalDateTime;
 HPLjava/time/LocalDateTime;->parse(Ljava/lang/CharSequence;)Ljava/time/LocalDateTime;
 HPLjava/time/LocalDateTime;->plusDays(J)Ljava/time/LocalDateTime;
 HPLjava/time/LocalTime;->compareTo(Ljava/time/LocalTime;)I
 HPLjava/time/LocalTime;->equals(Ljava/lang/Object;)Z
 HPLjava/time/LocalTime;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/LocalTime;
-HPLjava/time/LocalTime;->getHour()I
-HPLjava/time/LocalTime;->getMinute()I
+HPLjava/time/LocalTime;->now(Ljava/time/Clock;)Ljava/time/LocalTime;
 HPLjava/time/LocalTime;->ofSecondOfDay(J)Ljava/time/LocalTime;
+HPLjava/time/LocalTime;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
 HPLjava/time/LocalTime;->truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/LocalTime;
+HPLjava/time/LocalTime;->until(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J
 HPLjava/time/Month;->of(I)Ljava/time/Month;
 HPLjava/time/Period;->equals(Ljava/lang/Object;)Z
 HPLjava/time/Period;->multipliedBy(I)Ljava/time/Period;
 HPLjava/time/Period;->ofMonths(I)Ljava/time/Period;
+HPLjava/time/ZoneId;->equals(Ljava/lang/Object;)Z
 HPLjava/time/ZoneId;->of(Ljava/lang/String;Ljava/util/Map;)Ljava/time/ZoneId;
-HPLjava/time/ZoneId;->ofOffset(Ljava/lang/String;Ljava/time/ZoneOffset;)Ljava/time/ZoneId;
-HPLjava/time/ZoneId;->ofWithPrefix(Ljava/lang/String;IZ)Ljava/time/ZoneId;
+HPLjava/time/ZoneId;->systemDefault()Ljava/time/ZoneId;
+HPLjava/time/ZoneOffset;->getRules()Ljava/time/zone/ZoneRules;
 HPLjava/time/ZonedDateTime;->equals(Ljava/lang/Object;)Z
 HPLjava/time/ZonedDateTime;->format(Ljava/time/format/DateTimeFormatter;)Ljava/lang/String;
 HPLjava/time/ZonedDateTime;->getDayOfMonth()I
+HPLjava/time/ZonedDateTime;->getZone()Ljava/time/ZoneId;
+HPLjava/time/ZonedDateTime;->now()Ljava/time/ZonedDateTime;
 HPLjava/time/ZonedDateTime;->now(Ljava/time/Clock;)Ljava/time/ZonedDateTime;
 HPLjava/time/ZonedDateTime;->of(Ljava/time/LocalDate;Ljava/time/LocalTime;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
 HPLjava/time/ZonedDateTime;->ofInstant(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
+HPLjava/time/ZonedDateTime;->parse(Ljava/lang/CharSequence;Ljava/time/format/DateTimeFormatter;)Ljava/time/ZonedDateTime;
 HPLjava/time/ZonedDateTime;->plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/ZonedDateTime;
+HPLjava/time/ZonedDateTime;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
 HPLjava/time/ZonedDateTime;->toLocalDate()Ljava/time/LocalDate;
 HPLjava/time/ZonedDateTime;->truncatedTo(Ljava/time/temporal/TemporalUnit;)Ljava/time/ZonedDateTime;
 HPLjava/time/ZonedDateTime;->withZoneSameInstant(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
 HPLjava/time/chrono/ChronoZonedDateTime;->compareTo(Ljava/lang/Object;)I
 HPLjava/time/chrono/ChronoZonedDateTime;->compareTo(Ljava/time/chrono/ChronoZonedDateTime;)I
+HPLjava/time/chrono/ChronoZonedDateTime;->getChronology()Ljava/time/chrono/Chronology;
+HPLjava/time/chrono/ChronoZonedDateTime;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
+HPLjava/time/chrono/ChronoZonedDateTime;->toInstant()Ljava/time/Instant;
+HPLjava/time/chrono/IsoChronology;->zonedDateTime(Ljava/time/Instant;Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;
+HPLjava/time/format/-$$Lambda$DateTimeFormatterBuilder$M-GACNxm6552EiylPRPw4dyNXKo;->queryFrom(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/Object;
+HPLjava/time/format/DateTimeFormatter;->format(Ljava/time/temporal/TemporalAccessor;)Ljava/lang/String;
 HPLjava/time/format/DateTimeFormatter;->formatTo(Ljava/time/temporal/TemporalAccessor;Ljava/lang/Appendable;)V
+HPLjava/time/format/DateTimeFormatter;->toPrinterParser(Z)Ljava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;
+HPLjava/time/format/DateTimeFormatter;->withZone(Ljava/time/ZoneId;)Ljava/time/format/DateTimeFormatter;
 HPLjava/time/format/DateTimeFormatterBuilder$CharLiteralPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
 HPLjava/time/format/DateTimeFormatterBuilder$CompositePrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
 HPLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->convertFromFraction(Ljava/math/BigDecimal;)J
 HPLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->convertToFraction(J)Ljava/math/BigDecimal;
 HPLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
 HPLjava/time/format/DateTimeFormatterBuilder$FractionPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
+HPLjava/time/format/DateTimeFormatterBuilder$InstantPrinterParser;->parse(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;I)I
 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
-HPLjava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->parseOffsetBased(Ljava/time/format/DateTimeParseContext;Ljava/lang/CharSequence;IILjava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;)I
-HPLjava/time/format/DateTimeParseContext;->setParsed(Ljava/time/ZoneId;)V
+HPLjava/time/format/DateTimeFormatterBuilder$OffsetIdPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
+HPLjava/time/format/DateTimeFormatterBuilder$SettingsParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
+HPLjava/time/format/DateTimeFormatterBuilder$ZoneIdPrinterParser;->format(Ljava/time/format/DateTimePrintContext;Ljava/lang/StringBuilder;)Z
+HPLjava/time/format/DateTimeFormatterBuilder;->toFormatter()Ljava/time/format/DateTimeFormatter;
+HPLjava/time/format/DateTimeParseContext;->copy()Ljava/time/format/DateTimeParseContext;
+HPLjava/time/format/DateTimeParseContext;->getParsed(Ljava/time/temporal/TemporalField;)Ljava/lang/Long;
 HPLjava/time/format/DateTimePrintContext;->adjust(Ljava/time/temporal/TemporalAccessor;Ljava/time/format/DateTimeFormatter;)Ljava/time/temporal/TemporalAccessor;
 HPLjava/time/format/DateTimePrintContext;->getValue(Ljava/time/temporal/TemporalField;)Ljava/lang/Long;
-HPLjava/time/format/DecimalStyle;->convertNumberToI18N(Ljava/lang/String;)Ljava/lang/String;
+HPLjava/time/format/DateTimePrintContext;->getValue(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
 HPLjava/time/format/SignStyle;->values()[Ljava/time/format/SignStyle;
 HPLjava/time/temporal/ChronoField;->checkValidValue(J)J
 HPLjava/time/temporal/ChronoUnit;->getDuration()Ljava/time/Duration;
-HPLjava/time/zone/ZoneRules;-><init>(Ljava/time/ZoneOffset;)V
-HPLjava/util/AbstractCollection;->add(Ljava/lang/Object;)Z
+HPLjava/time/zone/ZoneOffsetTransition;->getValidOffsets()Ljava/util/List;
 HPLjava/util/AbstractCollection;->clear()V
+HPLjava/util/AbstractCollection;->remove(Ljava/lang/Object;)Z
 HPLjava/util/AbstractList$Itr;-><init>(Ljava/util/AbstractList;)V
-HPLjava/util/AbstractList$ListItr;->hasPrevious()Z
-HPLjava/util/AbstractList$ListItr;->previous()Ljava/lang/Object;
-HPLjava/util/AbstractList$ListItr;->previousIndex()I
-HPLjava/util/AbstractList;->indexOf(Ljava/lang/Object;)I
-HPLjava/util/AbstractMap$1$1;->hasNext()Z
-HPLjava/util/AbstractMap$1$1;->next()Ljava/lang/Object;
-HPLjava/util/AbstractMap$1;->iterator()Ljava/util/Iterator;
 HPLjava/util/AbstractMap$2$1;->hasNext()Z
 HPLjava/util/AbstractMap$2$1;->next()Ljava/lang/Object;
 HPLjava/util/AbstractMap$2;->iterator()Ljava/util/Iterator;
-HPLjava/util/AbstractMap$SimpleEntry;->equals(Ljava/lang/Object;)Z
-HPLjava/util/AbstractMap$SimpleEntry;->setValue(Ljava/lang/Object;)Ljava/lang/Object;
-HPLjava/util/AbstractMap;->keySet()Ljava/util/Set;
-HPLjava/util/AbstractMap;->size()I
+HPLjava/util/AbstractMap$SimpleEntry;->getKey()Ljava/lang/Object;
+HPLjava/util/AbstractMap$SimpleEntry;->getValue()Ljava/lang/Object;
+HPLjava/util/AbstractMap;->clear()V
+HPLjava/util/AbstractMap;->putAll(Ljava/util/Map;)V
 HPLjava/util/AbstractMap;->values()Ljava/util/Collection;
+HPLjava/util/AbstractSequentialList;-><init>()V
 HPLjava/util/AbstractSequentialList;->get(I)Ljava/lang/Object;
 HPLjava/util/AbstractSequentialList;->remove(I)Ljava/lang/Object;
-HPLjava/util/ArrayDeque$DeqIterator;-><init>(Ljava/util/ArrayDeque;)V
+HPLjava/util/ArrayDeque$DeqIterator;-><init>(Ljava/util/ArrayDeque;Ljava/util/ArrayDeque$1;)V
 HPLjava/util/ArrayDeque$DeqIterator;->remove()V
 HPLjava/util/ArrayDeque$DescendingIterator;->hasNext()Z
 HPLjava/util/ArrayDeque$DescendingIterator;->next()Ljava/lang/Object;
+HPLjava/util/ArrayDeque;->contains(Ljava/lang/Object;)Z
 HPLjava/util/ArrayDeque;->descendingIterator()Ljava/util/Iterator;
-HPLjava/util/ArrayDeque;->getLast()Ljava/lang/Object;
 HPLjava/util/ArrayDeque;->offerFirst(Ljava/lang/Object;)Z
 HPLjava/util/ArrayDeque;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
-HPLjava/util/ArrayDeque;->writeObject(Ljava/io/ObjectOutputStream;)V
 HPLjava/util/ArrayList$Itr;-><init>(Ljava/util/ArrayList;Ljava/util/ArrayList$1;)V
 HPLjava/util/ArrayList$ListItr;->add(Ljava/lang/Object;)V
+HPLjava/util/ArrayList$ListItr;->previous()Ljava/lang/Object;
+HPLjava/util/ArrayList$ListItr;->set(Ljava/lang/Object;)V
 HPLjava/util/ArrayList$SubList;-><init>(Ljava/util/ArrayList;Ljava/util/AbstractList;III)V
-HPLjava/util/ArrayList$SubList;->remove(I)Ljava/lang/Object;
-HPLjava/util/Arrays;->binarySearch([DD)I
-HPLjava/util/Arrays;->binarySearch0([DIID)I
-HPLjava/util/Arrays;->binarySearch0([IIII)I
-HPLjava/util/Arrays;->copyOfRange([DII)[D
+HPLjava/util/ArrayList$SubList;->get(I)Ljava/lang/Object;
+HPLjava/util/ArrayList$SubList;->subList(II)Ljava/util/List;
+HPLjava/util/ArrayList;->readObject(Ljava/io/ObjectInputStream;)V
+HPLjava/util/ArrayList;->writeObject(Ljava/io/ObjectOutputStream;)V
+HPLjava/util/Arrays$ArrayList;-><init>([Ljava/lang/Object;)V
+HPLjava/util/Arrays$ArrayList;->spliterator()Ljava/util/Spliterator;
+HPLjava/util/Arrays;->binarySearch([CC)I
+HPLjava/util/Arrays;->binarySearch0([JIIJ)I
+HPLjava/util/Arrays;->copyOf([DI)[D
+HPLjava/util/Arrays;->copyOf([ZI)[Z
+HPLjava/util/Arrays;->copyOfRange([III)[I
 HPLjava/util/Arrays;->copyOfRange([JII)[J
-HPLjava/util/Arrays;->deepHashCode([Ljava/lang/Object;)I
+HPLjava/util/Arrays;->deepToString([Ljava/lang/Object;)Ljava/lang/String;
+HPLjava/util/Arrays;->deepToString([Ljava/lang/Object;Ljava/lang/StringBuilder;Ljava/util/Set;)V
+HPLjava/util/Arrays;->equals([Z[Z)Z
 HPLjava/util/Arrays;->fill([BIIB)V
-HPLjava/util/Arrays;->fill([SS)V
-HPLjava/util/Arrays;->fill([ZIIZ)V
+HPLjava/util/Arrays;->fill([CIIC)V
+HPLjava/util/Arrays;->fill([DD)V
+HPLjava/util/Arrays;->sort([C)V
 HPLjava/util/Arrays;->sort([D)V
 HPLjava/util/Arrays;->sort([F)V
-HPLjava/util/Arrays;->sort([FII)V
 HPLjava/util/Arrays;->toString([D)Ljava/lang/String;
-HPLjava/util/Base64$Encoder;->encode([B)[B
-HPLjava/util/Base64$Encoder;->encode0([BII[B)I
-HPLjava/util/Base64$Encoder;->encodeToString([B)Ljava/lang/String;
-HPLjava/util/Base64$Encoder;->outLength(I)I
-HPLjava/util/Base64;->getDecoder()Ljava/util/Base64$Decoder;
-HPLjava/util/Base64;->getEncoder()Ljava/util/Base64$Encoder;
-HPLjava/util/BitSet;->and(Ljava/util/BitSet;)V
+HPLjava/util/Arrays;->toString([F)Ljava/lang/String;
+HPLjava/util/Arrays;->toString([J)Ljava/lang/String;
 HPLjava/util/BitSet;->andNot(Ljava/util/BitSet;)V
+HPLjava/util/BitSet;->clear(II)V
 HPLjava/util/BitSet;->equals(Ljava/lang/Object;)Z
-HPLjava/util/BitSet;->flip(II)V
-HPLjava/util/BitSet;->size()I
+HPLjava/util/BitSet;->length()I
+HPLjava/util/BitSet;->set(IIZ)V
 HPLjava/util/BitSet;->toByteArray()[B
 HPLjava/util/BitSet;->valueOf(Ljava/nio/ByteBuffer;)Ljava/util/BitSet;
 HPLjava/util/BitSet;->valueOf([B)Ljava/util/BitSet;
-HPLjava/util/Calendar;->clear(I)V
-HPLjava/util/Calendar;->equals(Ljava/lang/Object;)Z
-HPLjava/util/Calendar;->toString()Ljava/lang/String;
+HPLjava/util/Calendar;->getInstance(Ljava/util/Locale;)Ljava/util/Calendar;
+HPLjava/util/Calendar;->getMillisOf(Ljava/util/Calendar;)J
 HPLjava/util/Collection;->removeIf(Ljava/util/function/Predicate;)Z
-HPLjava/util/Collection;->spliterator()Ljava/util/Spliterator;
-HPLjava/util/Collections$CopiesList;-><init>(ILjava/lang/Object;)V
-HPLjava/util/Collections$SingletonList;-><init>(Ljava/lang/Object;)V
-HPLjava/util/Collections$SynchronizedCollection;->writeObject(Ljava/io/ObjectOutputStream;)V
-HPLjava/util/Collections$SynchronizedList;->listIterator()Ljava/util/ListIterator;
-HPLjava/util/Collections$SynchronizedList;->readResolve()Ljava/lang/Object;
-HPLjava/util/Collections$SynchronizedList;->set(ILjava/lang/Object;)Ljava/lang/Object;
-HPLjava/util/Collections$SynchronizedList;->sort(Ljava/util/Comparator;)V
-HPLjava/util/Collections$SynchronizedMap;->writeObject(Ljava/io/ObjectOutputStream;)V
-HPLjava/util/Collections$SynchronizedRandomAccessList;->writeReplace()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
+HPLjava/util/Collections$EmptyList;->readResolve()Ljava/lang/Object;
+HPLjava/util/Collections$EmptyList;->sort(Ljava/util/Comparator;)V
+HPLjava/util/Collections$EmptyMap;->containsKey(Ljava/lang/Object;)Z
+HPLjava/util/Collections$EmptySet;->containsAll(Ljava/util/Collection;)Z
+HPLjava/util/Collections$SetFromMap;-><init>(Ljava/util/Map;)V
+HPLjava/util/Collections$SetFromMap;->stream()Ljava/util/stream/Stream;
+HPLjava/util/Collections$SingletonList;->contains(Ljava/lang/Object;)Z
+HPLjava/util/Collections$SingletonList;->forEach(Ljava/util/function/Consumer;)V
+HPLjava/util/Collections$SingletonList;->spliterator()Ljava/util/Spliterator;
+HPLjava/util/Collections$SynchronizedCollection;->clear()V
+HPLjava/util/Collections$SynchronizedList;->get(I)Ljava/lang/Object;
+HPLjava/util/Collections$SynchronizedMap;->containsValue(Ljava/lang/Object;)Z
+HPLjava/util/Collections$SynchronizedMap;->entrySet()Ljava/util/Set;
+HPLjava/util/Collections$SynchronizedMap;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HPLjava/util/Collections$SynchronizedMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HPLjava/util/Collections$SynchronizedMap;->size()I
 HPLjava/util/Collections$UnmodifiableCollection$1;-><init>(Ljava/util/Collections$UnmodifiableCollection;)V
 HPLjava/util/Collections$UnmodifiableCollection;-><init>(Ljava/util/Collection;)V
-HPLjava/util/Collections$UnmodifiableCollection;->stream()Ljava/util/stream/Stream;
-HPLjava/util/Collections$UnmodifiableMap;-><init>(Ljava/util/Map;)V
-HPLjava/util/Collections$UnmodifiableSet;-><init>(Ljava/util/Set;)V
+HPLjava/util/Collections$UnmodifiableList;->indexOf(Ljava/lang/Object;)I
 HPLjava/util/Collections;->emptyListIterator()Ljava/util/ListIterator;
-HPLjava/util/Comparator;->comparing(Ljava/util/function/Function;)Ljava/util/Comparator;
-HPLjava/util/Currency;->getDefaultFractionDigits()I
-HPLjava/util/Currency;->getSymbol()Ljava/lang/String;
-HPLjava/util/Date;->getDate()I
-HPLjava/util/Date;->getMillisOf(Ljava/util/Date;)J
-HPLjava/util/Date;->getMonth()I
-HPLjava/util/Date;->getTimeImpl()J
+HPLjava/util/Collections;->max(Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object;
+HPLjava/util/Comparator;->nullsLast(Ljava/util/Comparator;)Ljava/util/Comparator;
+HPLjava/util/Comparator;->reversed()Ljava/util/Comparator;
+HPLjava/util/Comparators$NullComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HPLjava/util/Date;->parse(Ljava/lang/String;)J
+HPLjava/util/DualPivotQuicksort;->doSort([CII[CII)V
 HPLjava/util/DualPivotQuicksort;->doSort([DII[DII)V
 HPLjava/util/DualPivotQuicksort;->doSort([FII[FII)V
+HPLjava/util/DualPivotQuicksort;->sort([CIIZ)V
+HPLjava/util/DualPivotQuicksort;->sort([CII[CII)V
 HPLjava/util/DualPivotQuicksort;->sort([DIIZ)V
 HPLjava/util/DualPivotQuicksort;->sort([DII[DII)V
 HPLjava/util/DualPivotQuicksort;->sort([FIIZ)V
 HPLjava/util/DualPivotQuicksort;->sort([FII[FII)V
+HPLjava/util/EnumMap$KeySet;-><init>(Ljava/util/EnumMap;)V
+HPLjava/util/EnumMap$KeySet;-><init>(Ljava/util/EnumMap;Ljava/util/EnumMap$1;)V
+HPLjava/util/EnumMap$Values;->size()I
+HPLjava/util/EnumMap;-><init>(Ljava/util/EnumMap;)V
+HPLjava/util/EnumMap;-><init>(Ljava/util/Map;)V
 HPLjava/util/EnumMap;->getKeyUniverse(Ljava/lang/Class;)[Ljava/lang/Enum;
-HPLjava/util/EnumSet;->writeReplace()Ljava/lang/Object;
-HPLjava/util/Formatter$BigDecimalLayoutForm;-><init>(Ljava/lang/String;I)V
-HPLjava/util/Formatter$FormatSpecifier$BigDecimalLayout;-><init>(Ljava/util/Formatter$FormatSpecifier;Ljava/math/BigInteger;ILjava/util/Formatter$BigDecimalLayoutForm;)V
-HPLjava/util/Formatter$FormatSpecifier$BigDecimalLayout;->layout(Ljava/math/BigInteger;ILjava/util/Formatter$BigDecimalLayoutForm;)V
-HPLjava/util/Formatter$FormatSpecifier$BigDecimalLayout;->mantissa()[C
-HPLjava/util/Formatter$FormatSpecifier;->print(Ljava/lang/StringBuilder;Ljava/math/BigDecimal;Ljava/util/Locale;Ljava/util/Formatter$Flags;CIZ)V
-HPLjava/util/Formatter$FormatSpecifier;->print(Ljava/math/BigDecimal;Ljava/util/Locale;)V
-HPLjava/util/Formatter$FormatSpecifier;->trailingZeros([CI)[C
+HPLjava/util/EnumMap;->isValidKey(Ljava/lang/Object;)Z
+HPLjava/util/EnumMap;->putAll(Ljava/util/Map;)V
+HPLjava/util/EnumMap;->unmaskNull(Ljava/lang/Object;)Ljava/lang/Object;
+HPLjava/util/EnumSet;->copyOf(Ljava/util/EnumSet;)Ljava/util/EnumSet;
+HPLjava/util/Formatter;-><init>()V
+HPLjava/util/Formatter;-><init>(Ljava/util/Locale;)V
+HPLjava/util/Formatter;-><init>(Ljava/util/Locale;Ljava/lang/Appendable;)V
+HPLjava/util/Formatter;->ensureOpen()V
+HPLjava/util/Formatter;->getZero(Ljava/util/Locale;)C
 HPLjava/util/Formatter;->locale()Ljava/util/Locale;
-HPLjava/util/Formatter;->nonNullAppendable(Ljava/lang/Appendable;)Ljava/lang/Appendable;
-HPLjava/util/GregorianCalendar;->equals(Ljava/lang/Object;)Z
-HPLjava/util/GregorianCalendar;->getActualMaximum(I)I
-HPLjava/util/HashMap$TreeNode;->balanceDeletion(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
-HPLjava/util/HashMap$TreeNode;->removeTreeNode(Ljava/util/HashMap;[Ljava/util/HashMap$Node;Z)V
-HPLjava/util/HashMap$Values;-><init>(Ljava/util/HashMap;)V
+HPLjava/util/GregorianCalendar;->getLeastMaximum(I)I
+HPLjava/util/HashMap$EntrySet;-><init>(Ljava/util/HashMap;)V
+HPLjava/util/HashMap$EntrySet;->spliterator()Ljava/util/Spliterator;
+HPLjava/util/HashMap$EntrySpliterator;->characteristics()I
+HPLjava/util/HashMap$EntrySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
+HPLjava/util/HashMap$KeySet;->spliterator()Ljava/util/Spliterator;
 HPLjava/util/HashMap$Values;->contains(Ljava/lang/Object;)Z
-HPLjava/util/HashMap$Values;->forEach(Ljava/util/function/Consumer;)V
-HPLjava/util/HashMap;->computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
-HPLjava/util/HashMap;->forEach(Ljava/util/function/BiConsumer;)V
-HPLjava/util/HashMap;->merge(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
-HPLjava/util/HashSet;-><init>(IFZ)V
+HPLjava/util/HashMap;->hash(Ljava/lang/Object;)I
+HPLjava/util/HashSet;->readObject(Ljava/io/ObjectInputStream;)V
+HPLjava/util/HashSet;->writeObject(Ljava/io/ObjectOutputStream;)V
 HPLjava/util/Hashtable$KeySet;->contains(Ljava/lang/Object;)Z
-HPLjava/util/Hashtable;->contains(Ljava/lang/Object;)Z
-HPLjava/util/Hashtable;->toString()Ljava/lang/String;
-HPLjava/util/JumboEnumSet;->contains(Ljava/lang/Object;)Z
-HPLjava/util/LinkedHashMap$LinkedKeySet;-><init>(Ljava/util/LinkedHashMap;)V
-HPLjava/util/LinkedHashMap;->newTreeNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$TreeNode;
+HPLjava/util/IdentityHashMap$EntrySet;->size()I
+HPLjava/util/IdentityHashMap$EntrySet;->toArray()[Ljava/lang/Object;
+HPLjava/util/IdentityHashMap$EntrySet;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
+HPLjava/util/IdentityHashMap$KeySet;->toArray()[Ljava/lang/Object;
+HPLjava/util/IdentityHashMap$KeySet;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
+HPLjava/util/IdentityHashMap$ValueIterator;->next()Ljava/lang/Object;
+HPLjava/util/IdentityHashMap$Values;->iterator()Ljava/util/Iterator;
+HPLjava/util/IdentityHashMap$Values;->size()I
+HPLjava/util/IdentityHashMap$Values;->toArray()[Ljava/lang/Object;
+HPLjava/util/IdentityHashMap$Values;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
+HPLjava/util/IdentityHashMap;->values()Ljava/util/Collection;
+HPLjava/util/JumboEnumSet;->containsAll(Ljava/util/Collection;)Z
+HPLjava/util/LinkedHashMap$LinkedKeySet;->contains(Ljava/lang/Object;)Z
+HPLjava/util/LinkedHashMap$LinkedValues;-><init>(Ljava/util/LinkedHashMap;)V
+HPLjava/util/LinkedHashMap;-><init>(IF)V
 HPLjava/util/LinkedHashMap;->replacementNode(Ljava/util/HashMap$Node;Ljava/util/HashMap$Node;)Ljava/util/HashMap$Node;
-HPLjava/util/LinkedHashMap;->replacementTreeNode(Ljava/util/HashMap$Node;Ljava/util/HashMap$Node;)Ljava/util/HashMap$TreeNode;
 HPLjava/util/LinkedHashSet;-><init>(IF)V
+HPLjava/util/LinkedList$DescendingIterator;->hasNext()Z
+HPLjava/util/LinkedList$DescendingIterator;->next()Ljava/lang/Object;
+HPLjava/util/LinkedList$DescendingIterator;->remove()V
 HPLjava/util/LinkedList$LLSpliterator;->characteristics()I
 HPLjava/util/LinkedList$LLSpliterator;->estimateSize()J
 HPLjava/util/LinkedList$LLSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
 HPLjava/util/LinkedList$LLSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-HPLjava/util/LinkedList$ListItr;->nextIndex()I
+HPLjava/util/LinkedList$ListItr;->set(Ljava/lang/Object;)V
+HPLjava/util/LinkedList;->add(ILjava/lang/Object;)V
 HPLjava/util/LinkedList;->checkElementIndex(I)V
 HPLjava/util/LinkedList;->checkPositionIndex(I)V
+HPLjava/util/LinkedList;->descendingIterator()Ljava/util/Iterator;
+HPLjava/util/LinkedList;->offerFirst(Ljava/lang/Object;)Z
+HPLjava/util/LinkedList;->peekFirst()Ljava/lang/Object;
+HPLjava/util/LinkedList;->peekLast()Ljava/lang/Object;
+HPLjava/util/LinkedList;->pollFirst()Ljava/lang/Object;
 HPLjava/util/LinkedList;->pollLast()Ljava/lang/Object;
-HPLjava/util/LinkedList;->removeFirstOccurrence(Ljava/lang/Object;)Z
-HPLjava/util/LinkedList;->removeLast()Ljava/lang/Object;
+HPLjava/util/LinkedList;->set(ILjava/lang/Object;)Ljava/lang/Object;
 HPLjava/util/LinkedList;->spliterator()Ljava/util/Spliterator;
-HPLjava/util/Locale;->getDisplayCountry()Ljava/lang/String;
+HPLjava/util/List;->sort(Ljava/util/Comparator;)V
+HPLjava/util/Locale$Builder;-><init>()V
+HPLjava/util/Locale$Builder;->build()Ljava/util/Locale;
+HPLjava/util/Locale$Builder;->setLanguage(Ljava/lang/String;)Ljava/util/Locale$Builder;
+HPLjava/util/Locale$LanguageRange;-><init>(Ljava/lang/String;D)V
+HPLjava/util/Locale$LanguageRange;->isSubtagIllFormed(Ljava/lang/String;Z)Z
+HPLjava/util/Locale$LanguageRange;->parse(Ljava/lang/String;)Ljava/util/List;
 HPLjava/util/Locale;->getDisplayCountry(Ljava/util/Locale;)Ljava/lang/String;
 HPLjava/util/Locale;->getDisplayName()Ljava/lang/String;
 HPLjava/util/Locale;->getDisplayName(Ljava/util/Locale;)Ljava/lang/String;
+HPLjava/util/Locale;->lookup(Ljava/util/List;Ljava/util/Collection;)Ljava/util/Locale;
 HPLjava/util/Locale;->normalizeAndValidateRegion(Ljava/lang/String;Z)Ljava/lang/String;
-HPLjava/util/Locale;->writeObject(Ljava/io/ObjectOutputStream;)V
-HPLjava/util/Optional;->filter(Ljava/util/function/Predicate;)Ljava/util/Optional;
+HPLjava/util/Map;->replace(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HPLjava/util/Objects;->toString(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
+HPLjava/util/Observable;->deleteObservers()V
 HPLjava/util/Optional;->orElseGet(Ljava/util/function/Supplier;)Ljava/lang/Object;
-HPLjava/util/PriorityQueue;->clear()V
 HPLjava/util/PriorityQueue;->comparator()Ljava/util/Comparator;
+HPLjava/util/PriorityQueue;->contains(Ljava/lang/Object;)Z
 HPLjava/util/PriorityQueue;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
-HPLjava/util/RegularEnumSet;->retainAll(Ljava/util/Collection;)Z
-HPLjava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;Z)V
-HPLjava/util/TaskQueue;->get(I)Ljava/util/TimerTask;
-HPLjava/util/TaskQueue;->heapify()V
-HPLjava/util/TaskQueue;->quickRemove(I)V
+HPLjava/util/Properties;->saveConvert(Ljava/lang/String;ZZ)Ljava/lang/String;
+HPLjava/util/Properties;->store(Ljava/io/OutputStream;Ljava/lang/String;)V
+HPLjava/util/Properties;->store0(Ljava/io/BufferedWriter;Ljava/lang/String;Z)V
+HPLjava/util/RegularEnumSet;->addAll(Ljava/util/Collection;)Z
+HPLjava/util/SimpleTimeZone;->hasSameRules(Ljava/util/TimeZone;)Z
+HPLjava/util/Spliterators$1Adapter;->accept(Ljava/lang/Object;)V
+HPLjava/util/Spliterators$1Adapter;->hasNext()Z
+HPLjava/util/Spliterators$1Adapter;->next()Ljava/lang/Object;
+HPLjava/util/Spliterators$ArraySpliterator;-><init>([Ljava/lang/Object;III)V
+HPLjava/util/Spliterators$EmptySpliterator$OfRef;->tryAdvance(Ljava/util/function/Consumer;)Z
+HPLjava/util/Spliterators;->spliterator(Ljava/util/Collection;I)Ljava/util/Spliterator;
+HPLjava/util/StringJoiner;->length()I
+HPLjava/util/TaskQueue;->clear()V
+HPLjava/util/TaskQueue;->fixDown(I)V
+HPLjava/util/TaskQueue;->removeMin()V
+HPLjava/util/TaskQueue;->rescheduleMin(J)V
 HPLjava/util/TimeZone;->getDisplayName()Ljava/lang/String;
-HPLjava/util/TimerTask;->cancel()Z
-HPLjava/util/TreeMap$AscendingSubMap;->subHighest()Ljava/util/TreeMap$TreeMapEntry;
+HPLjava/util/TimeZone;->getDisplayName(ZI)Ljava/lang/String;
+HPLjava/util/Timer$1;->finalize()V
+HPLjava/util/Timer;->cancel()V
+HPLjava/util/TreeMap$AscendingSubMap;->comparator()Ljava/util/Comparator;
+HPLjava/util/TreeMap$AscendingSubMap;->subLowest()Ljava/util/TreeMap$TreeMapEntry;
+HPLjava/util/TreeMap$DescendingSubMap$DescendingEntrySetView;->iterator()Ljava/util/Iterator;
+HPLjava/util/TreeMap$DescendingSubMap;->entrySet()Ljava/util/Set;
 HPLjava/util/TreeMap$DescendingSubMap;->keyIterator()Ljava/util/Iterator;
+HPLjava/util/TreeMap$KeySet;->comparator()Ljava/util/Comparator;
 HPLjava/util/TreeMap$KeySet;->contains(Ljava/lang/Object;)Z
+HPLjava/util/TreeMap$NavigableSubMap$DescendingSubMapEntryIterator;->next()Ljava/lang/Object;
 HPLjava/util/TreeMap$NavigableSubMap$DescendingSubMapKeyIterator;->next()Ljava/lang/Object;
 HPLjava/util/TreeMap$NavigableSubMap$SubMapEntryIterator;->remove()V
+HPLjava/util/TreeMap$NavigableSubMap$SubMapIterator;->prevEntry()Ljava/util/TreeMap$TreeMapEntry;
 HPLjava/util/TreeMap$NavigableSubMap$SubMapIterator;->removeAscending()V
-HPLjava/util/TreeMap$NavigableSubMap;->lastKey()Ljava/lang/Object;
-HPLjava/util/TreeMap$TreeMapEntry;->setValue(Ljava/lang/Object;)Ljava/lang/Object;
-HPLjava/util/TreeMap;->access$300(Ljava/util/TreeMap;)Ljava/util/Comparator;
+HPLjava/util/TreeMap$NavigableSubMap;->firstKey()Ljava/lang/Object;
+HPLjava/util/TreeMap$NavigableSubMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
+HPLjava/util/TreeMap$NavigableSubMap;->keySet()Ljava/util/Set;
+HPLjava/util/TreeMap;-><init>(Ljava/util/Map;)V
+HPLjava/util/TreeMap;->addAllForTreeSet(Ljava/util/SortedSet;Ljava/lang/Object;)V
+HPLjava/util/TreeMap;->comparator()Ljava/util/Comparator;
 HPLjava/util/TreeMap;->descendingKeySet()Ljava/util/NavigableSet;
-HPLjava/util/TreeMap;->headMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;
-HPLjava/util/TreeMap;->pollLastEntry()Ljava/util/Map$Entry;
-HPLjava/util/TreeMap;->subMap(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/SortedMap;
+HPLjava/util/TreeMap;->descendingMap()Ljava/util/NavigableMap;
+HPLjava/util/TreeMap;->firstEntry()Ljava/util/Map$Entry;
+HPLjava/util/TreeMap;->getHigherEntry(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
+HPLjava/util/TreeMap;->lastEntry()Ljava/util/Map$Entry;
+HPLjava/util/TreeMap;->putAll(Ljava/util/Map;)V
 HPLjava/util/TreeSet;-><init>(Ljava/util/NavigableMap;)V
+HPLjava/util/TreeSet;-><init>(Ljava/util/SortedSet;)V
+HPLjava/util/TreeSet;->comparator()Ljava/util/Comparator;
 HPLjava/util/TreeSet;->descendingIterator()Ljava/util/Iterator;
-HPLjava/util/TreeSet;->headSet(Ljava/lang/Object;)Ljava/util/SortedSet;
-HPLjava/util/TreeSet;->headSet(Ljava/lang/Object;Z)Ljava/util/NavigableSet;
+HPLjava/util/UUID;->compareTo(Ljava/lang/Object;)I
 HPLjava/util/UUID;->compareTo(Ljava/util/UUID;)I
 HPLjava/util/Vector$Itr;->remove()V
-HPLjava/util/Vector;-><init>(Ljava/util/Collection;)V
-HPLjava/util/Vector;->listIterator()Ljava/util/ListIterator;
+HPLjava/util/Vector;->insertElementAt(Ljava/lang/Object;I)V
 HPLjava/util/Vector;->remove(I)Ljava/lang/Object;
-HPLjava/util/Vector;->remove(Ljava/lang/Object;)Z
-HPLjava/util/Vector;->toString()Ljava/lang/String;
-HPLjava/util/WeakHashMap$HashIterator;->remove()V
-HPLjava/util/concurrent/CompletableFuture$Completion;->isLive()Z
-HPLjava/util/concurrent/CompletableFuture$Completion;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-HPLjava/util/concurrent/CompletableFuture$Signaller;->block()Z
+HPLjava/util/Vector;->setElementAt(Ljava/lang/Object;I)V
+HPLjava/util/WeakHashMap$KeySet;-><init>(Ljava/util/WeakHashMap;)V
+HPLjava/util/WeakHashMap$KeySet;-><init>(Ljava/util/WeakHashMap;Ljava/util/WeakHashMap$1;)V
+HPLjava/util/concurrent/ArrayBlockingQueue$Itr;-><init>(Ljava/util/concurrent/ArrayBlockingQueue;)V
+HPLjava/util/concurrent/ArrayBlockingQueue$Itr;->hasNext()Z
+HPLjava/util/concurrent/ArrayBlockingQueue$Itr;->incorporateDequeues()V
+HPLjava/util/concurrent/ArrayBlockingQueue$Itr;->isDetached()Z
+HPLjava/util/concurrent/ArrayBlockingQueue$Itr;->next()Ljava/lang/Object;
+HPLjava/util/concurrent/ArrayBlockingQueue$Itr;->noNext()V
+HPLjava/util/concurrent/ArrayBlockingQueue$Itrs;->doSomeSweeping(Z)V
+HPLjava/util/concurrent/ArrayBlockingQueue;->iterator()Ljava/util/Iterator;
+HPLjava/util/concurrent/ArrayBlockingQueue;->peek()Ljava/lang/Object;
+HPLjava/util/concurrent/ArrayBlockingQueue;->size()I
+HPLjava/util/concurrent/CancellationException;-><init>()V
+HPLjava/util/concurrent/CompletableFuture$BiAccept;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture$BiApply;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture$CoCompletion;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture$Completion;->run()V
 HPLjava/util/concurrent/CompletableFuture$Signaller;->isLive()Z
-HPLjava/util/concurrent/CompletableFuture$Signaller;->isReleasable()Z
-HPLjava/util/concurrent/CompletableFuture$Signaller;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
-HPLjava/util/concurrent/CompletableFuture;-><init>()V
+HPLjava/util/concurrent/CompletableFuture$UniAccept;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture$UniCompose;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture$UniWhenComplete;->tryFire(I)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->biAccept(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture$BiAccept;)Z
+HPLjava/util/concurrent/CompletableFuture;->biAcceptStage(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->biApply(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiFunction;Ljava/util/concurrent/CompletableFuture$BiApply;)Z
+HPLjava/util/concurrent/CompletableFuture;->biApplyStage(Ljava/util/concurrent/Executor;Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->bipush(Ljava/util/concurrent/CompletableFuture;Ljava/util/concurrent/CompletableFuture$BiCompletion;)V
 HPLjava/util/concurrent/CompletableFuture;->cleanStack()V
-HPLjava/util/concurrent/CompletableFuture;->get()Ljava/lang/Object;
-HPLjava/util/concurrent/CompletableFuture;->timedGet(J)Ljava/lang/Object;
-HPLjava/util/concurrent/CompletableFuture;->waitingGet(Z)Ljava/lang/Object;
+HPLjava/util/concurrent/CompletableFuture;->completedFuture(Ljava/lang/Object;)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->isDone()Z
+HPLjava/util/concurrent/CompletableFuture;->newIncompleteFuture()Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->postFire(Ljava/util/concurrent/CompletableFuture;I)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->thenAccept(Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->thenAcceptBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->thenApply(Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->thenCombine(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->thenComposeAsync(Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->toCompletableFuture()Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->uniAccept(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Consumer;Ljava/util/concurrent/CompletableFuture$UniAccept;)Z
+HPLjava/util/concurrent/CompletableFuture;->uniAcceptStage(Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->uniApply(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;Ljava/util/concurrent/CompletableFuture$UniApply;)Z
+HPLjava/util/concurrent/CompletableFuture;->uniApplyStage(Ljava/util/concurrent/Executor;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->uniCompose(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/Function;Ljava/util/concurrent/CompletableFuture$UniCompose;)Z
+HPLjava/util/concurrent/CompletableFuture;->uniComposeStage(Ljava/util/concurrent/Executor;Ljava/util/function/Function;)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->uniWhenComplete(Ljava/util/concurrent/CompletableFuture;Ljava/util/function/BiConsumer;Ljava/util/concurrent/CompletableFuture$UniWhenComplete;)Z
+HPLjava/util/concurrent/CompletableFuture;->uniWhenCompleteStage(Ljava/util/concurrent/Executor;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletableFuture;
+HPLjava/util/concurrent/CompletableFuture;->whenCompleteAsync(Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletableFuture;
 HPLjava/util/concurrent/ConcurrentHashMap$CollectionView;-><init>(Ljava/util/concurrent/ConcurrentHashMap;)V
-HPLjava/util/concurrent/ConcurrentHashMap$CollectionView;->removeAll(Ljava/util/Collection;)Z
-HPLjava/util/concurrent/ConcurrentHashMap;->sumCount()J
+HPLjava/util/concurrent/ConcurrentHashMap$EntryIterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V
+HPLjava/util/concurrent/ConcurrentHashMap$KeySetView;->contains(Ljava/lang/Object;)Z
+HPLjava/util/concurrent/ConcurrentHashMap$KeySetView;->spliterator()Ljava/util/Spliterator;
+HPLjava/util/concurrent/ConcurrentHashMap$KeySpliterator;->characteristics()I
+HPLjava/util/concurrent/ConcurrentHashMap$KeySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
+HPLjava/util/concurrent/ConcurrentHashMap$MapEntry;->toString()Ljava/lang/String;
+HPLjava/util/concurrent/ConcurrentHashMap$Traverser;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;III)V
+HPLjava/util/concurrent/ConcurrentHashMap$Traverser;->recoverState(I)V
+HPLjava/util/concurrent/ConcurrentHashMap$ValueIterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V
+HPLjava/util/concurrent/ConcurrentHashMap;->contains(Ljava/lang/Object;)Z
+HPLjava/util/concurrent/ConcurrentHashMap;->containsValue(Ljava/lang/Object;)Z
+HPLjava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;Ljava/lang/Object;)Z
 HPLjava/util/concurrent/ConcurrentLinkedDeque$AbstractItr;->advance()V
 HPLjava/util/concurrent/ConcurrentLinkedDeque$AbstractItr;->hasNext()Z
 HPLjava/util/concurrent/ConcurrentLinkedDeque$AbstractItr;->next()Ljava/lang/Object;
-HPLjava/util/concurrent/ConcurrentLinkedDeque$AbstractItr;->nextNode(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-HPLjava/util/concurrent/ConcurrentLinkedDeque$AbstractItr;->startNode()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
 HPLjava/util/concurrent/ConcurrentLinkedDeque$Itr;->nextNode(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
 HPLjava/util/concurrent/ConcurrentLinkedDeque$Itr;->startNode()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
 HPLjava/util/concurrent/ConcurrentLinkedDeque;->clear()V
+HPLjava/util/concurrent/ConcurrentLinkedDeque;->first()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
 HPLjava/util/concurrent/ConcurrentLinkedDeque;->iterator()Ljava/util/Iterator;
+HPLjava/util/concurrent/ConcurrentLinkedDeque;->last()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
 HPLjava/util/concurrent/ConcurrentLinkedDeque;->nextTerminator()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
+HPLjava/util/concurrent/ConcurrentLinkedDeque;->pollFirst()Ljava/lang/Object;
+HPLjava/util/concurrent/ConcurrentLinkedDeque;->pollLast()Ljava/lang/Object;
+HPLjava/util/concurrent/ConcurrentLinkedDeque;->prevTerminator()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
+HPLjava/util/concurrent/ConcurrentLinkedDeque;->skipDeletedPredecessors(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
+HPLjava/util/concurrent/ConcurrentLinkedDeque;->skipDeletedSuccessors(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
+HPLjava/util/concurrent/ConcurrentLinkedDeque;->unlink(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
 HPLjava/util/concurrent/ConcurrentLinkedDeque;->unlinkLast(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
+HPLjava/util/concurrent/ConcurrentLinkedDeque;->updateHead()V
+HPLjava/util/concurrent/ConcurrentLinkedDeque;->updateTail()V
 HPLjava/util/concurrent/ConcurrentLinkedQueue$Itr;->remove()V
-HPLjava/util/concurrent/ConcurrentLinkedQueue;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
-HPLjava/util/concurrent/ConcurrentSkipListMap;->isEmpty()Z
-HPLjava/util/concurrent/ConcurrentSkipListMap;->remove(Ljava/lang/Object;Ljava/lang/Object;)Z
-HPLjava/util/concurrent/ConcurrentSkipListSet;->isEmpty()Z
-HPLjava/util/concurrent/ConcurrentSkipListSet;->remove(Ljava/lang/Object;)Z
+HPLjava/util/concurrent/ConcurrentLinkedQueue$Node;-><init>()V
+HPLjava/util/concurrent/ConcurrentLinkedQueue;-><init>(Ljava/util/Collection;)V
+HPLjava/util/concurrent/ConcurrentLinkedQueue;->peek()Ljava/lang/Object;
+HPLjava/util/concurrent/ConcurrentSkipListMap;->clear()V
 HPLjava/util/concurrent/CopyOnWriteArrayList$COWIterator;-><init>([Ljava/lang/Object;I)V
-HPLjava/util/concurrent/CopyOnWriteArrayList;->indexOf(Ljava/lang/Object;[Ljava/lang/Object;II)I
+HPLjava/util/concurrent/CopyOnWriteArrayList;-><init>([Ljava/lang/Object;)V
+HPLjava/util/concurrent/CopyOnWriteArrayList;->addAllAbsent(Ljava/util/Collection;)I
+HPLjava/util/concurrent/CopyOnWriteArrayList;->sort(Ljava/util/Comparator;)V
 HPLjava/util/concurrent/CopyOnWriteArrayList;->toArray()[Ljava/lang/Object;
+HPLjava/util/concurrent/CopyOnWriteArraySet;->addAll(Ljava/util/Collection;)Z
+HPLjava/util/concurrent/CopyOnWriteArraySet;->clear()V
+HPLjava/util/concurrent/CopyOnWriteArraySet;->isEmpty()Z
 HPLjava/util/concurrent/CopyOnWriteArraySet;->toArray()[Ljava/lang/Object;
-HPLjava/util/concurrent/Executors$DelegatedExecutorService;->awaitTermination(JLjava/util/concurrent/TimeUnit;)Z
-HPLjava/util/concurrent/Executors$RunnableAdapter;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;)V
-HPLjava/util/concurrent/ForkJoinPool$ManagedBlocker;->block()Z
-HPLjava/util/concurrent/ForkJoinPool$ManagedBlocker;->isReleasable()Z
-HPLjava/util/concurrent/ForkJoinPool;->managedBlock(Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;)V
-HPLjava/util/concurrent/LinkedBlockingDeque$AbstractItr;->remove()V
+HPLjava/util/concurrent/DelayQueue;-><init>()V
+HPLjava/util/concurrent/DelayQueue;->add(Ljava/lang/Object;)Z
+HPLjava/util/concurrent/DelayQueue;->add(Ljava/util/concurrent/Delayed;)Z
+HPLjava/util/concurrent/DelayQueue;->offer(Ljava/lang/Object;)Z
+HPLjava/util/concurrent/DelayQueue;->offer(Ljava/util/concurrent/Delayed;)Z
+HPLjava/util/concurrent/DelayQueue;->take()Ljava/lang/Object;
+HPLjava/util/concurrent/DelayQueue;->take()Ljava/util/concurrent/Delayed;
+HPLjava/util/concurrent/ExecutionException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
+HPLjava/util/concurrent/ExecutorCompletionService$QueueingFuture;->done()V
+HPLjava/util/concurrent/ExecutorCompletionService;-><init>(Ljava/util/concurrent/Executor;)V
+HPLjava/util/concurrent/ExecutorCompletionService;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/Future;
+HPLjava/util/concurrent/ExecutorCompletionService;->submit(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
+HPLjava/util/concurrent/Helpers;->mapEntryToString(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/String;
 HPLjava/util/concurrent/LinkedBlockingDeque;->addFirst(Ljava/lang/Object;)V
+HPLjava/util/concurrent/LinkedBlockingDeque;->linkFirst(Ljava/util/concurrent/LinkedBlockingDeque$Node;)Z
+HPLjava/util/concurrent/LinkedBlockingDeque;->offerFirst(Ljava/lang/Object;)Z
 HPLjava/util/concurrent/LinkedBlockingDeque;->pop()Ljava/lang/Object;
-HPLjava/util/concurrent/LinkedBlockingDeque;->push(Ljava/lang/Object;)V
-HPLjava/util/concurrent/LinkedBlockingDeque;->put(Ljava/lang/Object;)V
-HPLjava/util/concurrent/LinkedBlockingDeque;->putLast(Ljava/lang/Object;)V
-HPLjava/util/concurrent/LinkedBlockingDeque;->remove(Ljava/lang/Object;)Z
-HPLjava/util/concurrent/LinkedBlockingDeque;->removeFirstOccurrence(Ljava/lang/Object;)Z
-HPLjava/util/concurrent/LinkedBlockingDeque;->unlink(Ljava/util/concurrent/LinkedBlockingDeque$Node;)V
-HPLjava/util/concurrent/LinkedBlockingQueue;->contains(Ljava/lang/Object;)Z
+HPLjava/util/concurrent/LinkedBlockingDeque;->remainingCapacity()I
+HPLjava/util/concurrent/LinkedBlockingQueue;->peek()Ljava/lang/Object;
+HPLjava/util/concurrent/LinkedBlockingQueue;->remainingCapacity()I
+HPLjava/util/concurrent/LinkedBlockingQueue;->signalNotFull()V
 HPLjava/util/concurrent/Phaser;-><init>(I)V
 HPLjava/util/concurrent/Phaser;-><init>(Ljava/util/concurrent/Phaser;I)V
 HPLjava/util/concurrent/Phaser;->arriveAndDeregister()I
-HPLjava/util/concurrent/Phaser;->awaitAdvance(I)I
 HPLjava/util/concurrent/Phaser;->doArrive(I)I
 HPLjava/util/concurrent/Phaser;->doRegister(I)I
 HPLjava/util/concurrent/Phaser;->onAdvance(II)Z
 HPLjava/util/concurrent/Phaser;->register()I
 HPLjava/util/concurrent/Phaser;->releaseWaiters(I)V
-HPLjava/util/concurrent/PriorityBlockingQueue;->remainingCapacity()I
-HPLjava/util/concurrent/Semaphore;->tryAcquire(JLjava/util/concurrent/TimeUnit;)Z
-HPLjava/util/concurrent/SynchronousQueue;->drainTo(Ljava/util/Collection;)I
-HPLjava/util/concurrent/SynchronousQueue;->poll()Ljava/lang/Object;
-HPLjava/util/concurrent/ThreadPoolExecutor$Worker;->tryAcquire(I)Z
-HPLjava/util/concurrent/TimeUnit$1;->toMinutes(J)J
+HPLjava/util/concurrent/PriorityBlockingQueue$Itr;->hasNext()Z
+HPLjava/util/concurrent/PriorityBlockingQueue;->iterator()Ljava/util/Iterator;
+HPLjava/util/concurrent/PriorityBlockingQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
+HPLjava/util/concurrent/PriorityBlockingQueue;->put(Ljava/lang/Object;)V
+HPLjava/util/concurrent/PriorityBlockingQueue;->remove(Ljava/lang/Object;)Z
+HPLjava/util/concurrent/PriorityBlockingQueue;->toArray()[Ljava/lang/Object;
+HPLjava/util/concurrent/PriorityBlockingQueue;->tryGrow([Ljava/lang/Object;I)V
+HPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr;->next()Ljava/lang/Object;
+HPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr;->next()Ljava/lang/Runnable;
+HPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr;->remove()V
+HPLjava/util/concurrent/Semaphore$FairSync;->tryAcquireShared(I)I
+HPLjava/util/concurrent/SynchronousQueue;->size()I
+HPLjava/util/concurrent/ThreadLocalRandom;->nextDouble()D
+HPLjava/util/concurrent/ThreadPoolExecutor$DiscardPolicy;->rejectedExecution(Ljava/lang/Runnable;Ljava/util/concurrent/ThreadPoolExecutor;)V
+HPLjava/util/concurrent/ThreadPoolExecutor;->prestartCoreThread()Z
+HPLjava/util/concurrent/ThreadPoolExecutor;->setCorePoolSize(I)V
+HPLjava/util/concurrent/ThreadPoolExecutor;->setThreadFactory(Ljava/util/concurrent/ThreadFactory;)V
+HPLjava/util/concurrent/ThreadPoolExecutor;->toString()Ljava/lang/String;
+HPLjava/util/concurrent/TimeUnit$1;->excessNanos(JJ)I
+HPLjava/util/concurrent/TimeUnit$1;->toHours(J)J
+HPLjava/util/concurrent/TimeUnit$1;->toSeconds(J)J
 HPLjava/util/concurrent/TimeUnit$2;->toHours(J)J
-HPLjava/util/concurrent/TimeUnit$2;->toMicros(J)J
 HPLjava/util/concurrent/TimeUnit$2;->toSeconds(J)J
-HPLjava/util/concurrent/TimeUnit$5;->toHours(J)J
+HPLjava/util/concurrent/TimeUnit$4;->toDays(J)J
+HPLjava/util/concurrent/TimeUnit$4;->toMinutes(J)J
 HPLjava/util/concurrent/TimeUnit$6;->convert(JLjava/util/concurrent/TimeUnit;)J
-HPLjava/util/concurrent/TimeUnit$6;->toHours(J)J
-HPLjava/util/concurrent/atomic/AtomicIntegerArray;->get(I)I
-HPLjava/util/concurrent/atomic/AtomicLongArray;-><init>([J)V
-HPLjava/util/concurrent/atomic/AtomicLongArray;->checkedByteOffset(I)J
-HPLjava/util/concurrent/atomic/AtomicLongArray;->get(I)J
-HPLjava/util/concurrent/atomic/AtomicLongArray;->length()I
-HPLjava/util/concurrent/atomic/AtomicReference;->toString()Ljava/lang/String;
-HPLjava/util/concurrent/atomic/AtomicReferenceArray;->getAndSet(ILjava/lang/Object;)Ljava/lang/Object;
-HPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->awaitUninterruptibly()V
-HPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->release(I)Z
-HPLjava/util/concurrent/locks/ReentrantLock$NonfairSync;-><init>()V
+HPLjava/util/concurrent/TimeUnit$7;->toMicros(J)J
+HPLjava/util/concurrent/TimeoutException;-><init>()V
+HPLjava/util/concurrent/atomic/AtomicInteger;->toString()Ljava/lang/String;
+HPLjava/util/concurrent/atomic/AtomicLong;->decrementAndGet()J
+HPLjava/util/concurrent/atomic/AtomicLong;->doubleValue()D
+HPLjava/util/concurrent/atomic/AtomicLong;->toString()Ljava/lang/String;
+HPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->accessCheck(Ljava/lang/Object;)V
+HPLjava/util/concurrent/atomic/Striped64;->longAccumulate(JLjava/util/function/LongBinaryOperator;Z)V
 HPLjava/util/function/-$$Lambda$Predicate$GyIVQ08CWbeMZxHDkkrN-5apRkc;->test(Ljava/lang/Object;)Z
-HPLjava/util/jar/Attributes;-><init>()V
-HPLjava/util/jar/Attributes;-><init>(I)V
-HPLjava/util/logging/ErrorManager;-><init>()V
+HPLjava/util/function/Predicate;->and(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
 HPLjava/util/logging/FileHandler$MeteredStream;->close()V
 HPLjava/util/logging/FileHandler;->rotate()V
-HPLjava/util/logging/Filter;->isLoggable(Ljava/util/logging/LogRecord;)Z
 HPLjava/util/logging/Formatter;->getTail(Ljava/util/logging/Handler;)Ljava/lang/String;
 HPLjava/util/logging/LogRecord;->setParameters([Ljava/lang/Object;)V
-HPLjava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
-HPLjava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
 HPLjava/util/logging/StreamHandler;->close()V
-HPLjava/util/regex/Matcher$OffsetBasedMatchResult;->end()I
-HPLjava/util/regex/Matcher$OffsetBasedMatchResult;->group()Ljava/lang/String;
-HPLjava/util/regex/Matcher$OffsetBasedMatchResult;->start()I
-HPLjava/util/regex/Matcher;->ensureMatch()V
+HPLjava/util/regex/Matcher;-><init>(Ljava/util/regex/Pattern;Ljava/lang/CharSequence;)V
+HPLjava/util/regex/Matcher;->appendReplacement(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/util/regex/Matcher;
+HPLjava/util/regex/Matcher;->appendTail(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
+HPLjava/util/regex/Matcher;->region(II)Ljava/util/regex/Matcher;
 HPLjava/util/regex/Matcher;->regionEnd()I
 HPLjava/util/regex/Matcher;->regionStart()I
+HPLjava/util/regex/Matcher;->requireEnd()Z
 HPLjava/util/regex/Matcher;->toMatchResult()Ljava/util/regex/MatchResult;
-HPLjava/util/regex/Pattern;->flags()I
-HPLjava/util/stream/-$$Lambda$Abl7XfE0Z4AgkViLas9vhsO9mjw;->accept(Ljava/lang/Object;)V
-HPLjava/util/stream/-$$Lambda$MatchOps$_LtFSpSMfVwoPv-8p_1cMGGcaHA;->get()Ljava/lang/Object;
-HPLjava/util/stream/-$$Lambda$ry7iWszBr7beYy31SdRxibDyciQ;-><init>()V
-HPLjava/util/stream/-$$Lambda$ry7iWszBr7beYy31SdRxibDyciQ;->get()Ljava/lang/Object;
-HPLjava/util/stream/Collectors;->groupingBy(Ljava/util/function/Function;)Ljava/util/stream/Collector;
-HPLjava/util/stream/ForEachOps$ForEachOp$OfRef;->accept(Ljava/lang/Object;)V
-HPLjava/util/stream/ForEachOps$ForEachOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Object;
-HPLjava/util/stream/ForEachOps$ForEachOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Void;
-HPLjava/util/stream/ForEachOps$ForEachOp;->get()Ljava/lang/Void;
-HPLjava/util/stream/ForEachOps$ForEachOp;->getOpFlags()I
-HPLjava/util/stream/MatchOps$1MatchSink;->accept(Ljava/lang/Object;)V
-HPLjava/util/stream/MatchOps$BooleanTerminalSink;->cancellationRequested()Z
-HPLjava/util/stream/MatchOps$BooleanTerminalSink;->getAndClearState()Z
-HPLjava/util/stream/MatchOps$MatchKind;-><init>(Ljava/lang/String;IZZ)V
-HPLjava/util/stream/MatchOps$MatchOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Object;
-HPLjava/util/stream/MatchOps$MatchOp;->getOpFlags()I
-HPLjava/util/stream/Nodes$ArrayNode;->asArray(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
-HPLjava/util/stream/Nodes$FixedNodeBuilder;->accept(Ljava/lang/Object;)V
-HPLjava/util/stream/Nodes$FixedNodeBuilder;->begin(J)V
-HPLjava/util/stream/Nodes$FixedNodeBuilder;->build()Ljava/util/stream/Node;
-HPLjava/util/stream/Nodes$FixedNodeBuilder;->end()V
-HPLjava/util/stream/Nodes$IntArrayNode;->asPrimitiveArray()Ljava/lang/Object;
-HPLjava/util/stream/Nodes$IntArrayNode;->asPrimitiveArray()[I
-HPLjava/util/stream/Nodes$IntFixedNodeBuilder;->accept(I)V
-HPLjava/util/stream/Nodes$IntFixedNodeBuilder;->begin(J)V
-HPLjava/util/stream/Nodes$IntFixedNodeBuilder;->build()Ljava/util/stream/Node$OfInt;
-HPLjava/util/stream/Nodes$IntFixedNodeBuilder;->build()Ljava/util/stream/Node;
-HPLjava/util/stream/Nodes$IntFixedNodeBuilder;->end()V
+HPLjava/util/regex/Pattern;->pattern()Ljava/lang/String;
+HPLjava/util/regex/Pattern;->readObject(Ljava/io/ObjectInputStream;)V
+HPLjava/util/regex/Pattern;->toString()Ljava/lang/String;
+HPLjava/util/stream/-$$Lambda$AbstractPipeline$ImXhRLJT29W8lJFXpTT_PieAotg;->get()Ljava/lang/Object;
+HPLjava/util/stream/-$$Lambda$GF-s38TgrG6hfxe__ZFdhGp-wPw;->accept(Ljava/lang/Object;)V
+HPLjava/util/stream/-$$Lambda$StreamSpliterators$WrappingSpliterator$Ky6g3CKkCccuRWAvbAL1cAsdkNk;->getAsBoolean()Z
+HPLjava/util/stream/AbstractPipeline;->lambda$spliterator$0$AbstractPipeline()Ljava/util/Spliterator;
+HPLjava/util/stream/AbstractPipeline;->wrapSink(Ljava/util/stream/Sink;)Ljava/util/stream/Sink;
+HPLjava/util/stream/AbstractSpinedBuffer;->chunkSize(I)I
+HPLjava/util/stream/Collectors$CollectorImpl;-><init>(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;Ljava/util/Set;)V
+HPLjava/util/stream/Collectors;->access$000()Ljava/util/function/Function;
+HPLjava/util/stream/IntPipeline;->boxed()Ljava/util/stream/Stream;
+HPLjava/util/stream/IntStream;->of([I)Ljava/util/stream/IntStream;
+HPLjava/util/stream/LongPipeline;-><init>(Ljava/util/stream/AbstractPipeline;I)V
+HPLjava/util/stream/MatchOps$2MatchSink;->accept(I)V
 HPLjava/util/stream/Nodes$SpinedNodeBuilder;->accept(Ljava/lang/Object;)V
 HPLjava/util/stream/Nodes$SpinedNodeBuilder;->asArray(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
 HPLjava/util/stream/Nodes$SpinedNodeBuilder;->begin(J)V
 HPLjava/util/stream/Nodes$SpinedNodeBuilder;->build()Ljava/util/stream/Node;
 HPLjava/util/stream/Nodes$SpinedNodeBuilder;->end()V
-HPLjava/util/stream/Nodes;->flatten(Ljava/util/stream/Node;Ljava/util/function/IntFunction;)Ljava/util/stream/Node;
 HPLjava/util/stream/PipelineHelper;-><init>()V
-HPLjava/util/stream/ReduceOps$1ReducingSink;->accept(Ljava/lang/Object;)V
-HPLjava/util/stream/ReferencePipeline;->forEach(Ljava/util/function/Consumer;)V
-HPLjava/util/stream/ReferencePipeline;->makeNodeBuilder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
-HPLjava/util/stream/ReferencePipeline;->noneMatch(Ljava/util/function/Predicate;)Z
-HPLjava/util/stream/ReferencePipeline;->sorted(Ljava/util/Comparator;)Ljava/util/stream/Stream;
-HPLjava/util/stream/ReferencePipeline;->toArray(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
-HPLjava/util/stream/SortedOps$OfRef;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
-HPLjava/util/stream/SortedOps$RefSortingSink;->accept(Ljava/lang/Object;)V
-HPLjava/util/stream/SortedOps$RefSortingSink;->begin(J)V
-HPLjava/util/stream/SortedOps$RefSortingSink;->end()V
+HPLjava/util/stream/ReduceOps;->makeRef(Ljava/util/function/BinaryOperator;)Ljava/util/stream/TerminalOp;
+HPLjava/util/stream/ReferencePipeline;-><init>(Ljava/util/stream/AbstractPipeline;I)V
+HPLjava/util/stream/ReferencePipeline;->allMatch(Ljava/util/function/Predicate;)Z
+HPLjava/util/stream/ReferencePipeline;->findAny()Ljava/util/Optional;
+HPLjava/util/stream/ReferencePipeline;->iterator()Ljava/util/Iterator;
+HPLjava/util/stream/ReferencePipeline;->min(Ljava/util/Comparator;)Ljava/util/Optional;
+HPLjava/util/stream/ReferencePipeline;->wrap(Ljava/util/stream/PipelineHelper;Ljava/util/function/Supplier;Z)Ljava/util/Spliterator;
 HPLjava/util/stream/SpinedBuffer;->accept(Ljava/lang/Object;)V
 HPLjava/util/stream/SpinedBuffer;->capacity()J
 HPLjava/util/stream/SpinedBuffer;->clear()V
 HPLjava/util/stream/SpinedBuffer;->copyInto([Ljava/lang/Object;I)V
 HPLjava/util/stream/SpinedBuffer;->count()J
 HPLjava/util/stream/SpinedBuffer;->ensureCapacity(J)V
-HPLjava/util/zip/Adler32;->update(I)V
-HPLjava/util/zip/CheckedInputStream;-><init>(Ljava/io/InputStream;Ljava/util/zip/Checksum;)V
-HPLjava/util/zip/CheckedInputStream;->getChecksum()Ljava/util/zip/Checksum;
-HPLjava/util/zip/CheckedInputStream;->read([BII)I
-HPLjava/util/zip/DataFormatException;-><init>(Ljava/lang/String;)V
-HPLjava/util/zip/Deflater;->reset()V
-HPLjava/util/zip/Deflater;->setLevel(I)V
-HPLjava/util/zip/Deflater;->setStrategy(I)V
-HPLjava/util/zip/DeflaterOutputStream;-><init>(Ljava/io/OutputStream;Ljava/util/zip/Deflater;I)V
+HPLjava/util/stream/SpinedBuffer;->get(J)Ljava/lang/Object;
+HPLjava/util/stream/SpinedBuffer;->increaseCapacity()V
+HPLjava/util/stream/Stream;->empty()Ljava/util/stream/Stream;
+HPLjava/util/stream/StreamSpliterators$AbstractWrappingSpliterator;->doAdvance()Z
+HPLjava/util/stream/StreamSpliterators$AbstractWrappingSpliterator;->fillBuffer()Z
+HPLjava/util/stream/StreamSpliterators$WrappingSpliterator;->initPartialTraversalState()V
+HPLjava/util/stream/StreamSpliterators$WrappingSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
+HPLjava/util/stream/StreamSupport;->stream(Ljava/util/Spliterator;Z)Ljava/util/stream/Stream;
+HPLjava/util/stream/Streams$ConcatSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
+HPLjava/util/zip/Deflater;-><init>(I)V
+HPLjava/util/zip/DeflaterInputStream;-><init>(Ljava/io/InputStream;Ljava/util/zip/Deflater;)V
+HPLjava/util/zip/DeflaterInputStream;-><init>(Ljava/io/InputStream;Ljava/util/zip/Deflater;I)V
+HPLjava/util/zip/DeflaterInputStream;->read([BII)I
+HPLjava/util/zip/DeflaterOutputStream;-><init>(Ljava/io/OutputStream;)V
+HPLjava/util/zip/DeflaterOutputStream;->finish()V
 HPLjava/util/zip/DeflaterOutputStream;->write(I)V
 HPLjava/util/zip/GZIPOutputStream;->writeHeader()V
 HPLjava/util/zip/Inflater;->getBytesRead()J
 HPLjava/util/zip/Inflater;->reset()V
-HPLjava/util/zip/Inflater;->setInput([B)V
+HPLjava/util/zip/InflaterInputStream;-><init>(Ljava/io/InputStream;)V
+HPLjava/util/zip/InflaterInputStream;->available()I
 HPLjava/util/zip/ZipEntry;-><init>(Ljava/lang/String;)V
-HPLjava/util/zip/ZipEntry;-><init>(Ljava/lang/String;Ljava/lang/String;JJJII[BJ)V
-HPLjava/util/zip/ZipEntry;->getDataOffset()J
-HPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;I)V
+HPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;)V
 HPLjava/util/zip/ZipInputStream;-><init>(Ljava/io/InputStream;)V
 HPLjava/util/zip/ZipInputStream;-><init>(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
+HPLjava/util/zip/ZipInputStream;->close()V
 HPLjava/util/zip/ZipInputStream;->closeEntry()V
 HPLjava/util/zip/ZipInputStream;->createZipEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
 HPLjava/util/zip/ZipInputStream;->getNextEntry()Ljava/util/zip/ZipEntry;
@@ -11801,525 +12823,203 @@
 HPLjava/util/zip/ZipInputStream;->readEnd(Ljava/util/zip/ZipEntry;)V
 HPLjava/util/zip/ZipInputStream;->readFully([BII)V
 HPLjava/util/zip/ZipInputStream;->readLOC()Ljava/util/zip/ZipEntry;
+HPLjavax/crypto/Cipher;->doFinal()[B
+HPLjavax/crypto/Cipher;->getBlockSize()I
+HPLjavax/crypto/Cipher;->getIV()[B
 HPLjavax/crypto/Cipher;->unwrap([BLjava/lang/String;I)Ljava/security/Key;
-HPLjavax/crypto/Cipher;->updateAAD([B)V
-HPLjavax/crypto/Cipher;->updateAAD([BII)V
+HPLjavax/crypto/Cipher;->update([B)[B
+HPLjavax/crypto/Cipher;->update([BII)[B
 HPLjavax/crypto/Cipher;->wrap(Ljava/security/Key;)[B
+HPLjavax/crypto/CipherOutputStream;-><init>(Ljava/io/OutputStream;Ljavax/crypto/Cipher;)V
+HPLjavax/crypto/CipherOutputStream;->close()V
+HPLjavax/crypto/CipherOutputStream;->flush()V
+HPLjavax/crypto/CipherOutputStream;->write(I)V
+HPLjavax/crypto/CipherOutputStream;->write([BII)V
 HPLjavax/crypto/JarVerifier;->verify()V
 HPLjavax/crypto/JceSecurity;->getCodeBase(Ljava/lang/Class;)Ljava/net/URL;
 HPLjavax/crypto/JceSecurity;->getInstance(Ljava/lang/String;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Lsun/security/jca/GetInstance$Instance;
 HPLjavax/crypto/JceSecurity;->getVerificationResult(Ljava/security/Provider;)Ljava/lang/Exception;
-HPLjavax/crypto/KeyAgreement;->chooseFirstProvider()V
-HPLjavax/crypto/KeyAgreement;->chooseProvider(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
-HPLjavax/crypto/KeyAgreement;->doPhase(Ljava/security/Key;Z)Ljava/security/Key;
-HPLjavax/crypto/KeyAgreement;->generateSecret()[B
-HPLjavax/crypto/KeyAgreement;->getInstance(Ljava/lang/String;)Ljavax/crypto/KeyAgreement;
-HPLjavax/crypto/KeyAgreement;->init(Ljava/security/Key;)V
-HPLjavax/crypto/KeyAgreement;->init(Ljava/security/Key;Ljava/security/SecureRandom;)V
-HPLjavax/crypto/KeyAgreementSpi;->engineDoPhase(Ljava/security/Key;Z)Ljava/security/Key;
-HPLjavax/crypto/KeyAgreementSpi;->engineGenerateSecret()[B
-HPLjavax/crypto/KeyAgreementSpi;->engineGenerateSecret(Ljava/lang/String;)Ljavax/crypto/SecretKey;
-HPLjavax/crypto/KeyAgreementSpi;->engineGenerateSecret([BI)I
-HPLjavax/crypto/KeyAgreementSpi;->engineInit(Ljava/security/Key;Ljava/security/SecureRandom;)V
-HPLjavax/crypto/KeyAgreementSpi;->engineInit(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
-HPLjavax/crypto/KeyGenerator;->init(I)V
+HPLjavax/crypto/KeyGenerator;->init(ILjava/security/SecureRandom;)V
 HPLjavax/crypto/Mac;->clone()Ljava/lang/Object;
+HPLjavax/crypto/Mac;->getAlgorithm()Ljava/lang/String;
 HPLjavax/crypto/Mac;->update([BII)V
 HPLjavax/crypto/MacSpi;->clone()Ljava/lang/Object;
 HPLjavax/crypto/SecretKeyFactory;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
 HPLjavax/crypto/SecretKeyFactory;->getKeySpec(Ljavax/crypto/SecretKey;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
-HPLjavax/crypto/spec/DESKeySpec;-><init>([B)V
-HPLjavax/crypto/spec/DESKeySpec;->getKey()[B
-HPLjavax/crypto/spec/OAEPParameterSpec;-><init>()V
-HPLjavax/crypto/spec/OAEPParameterSpec;->getMGFParameters()Ljava/security/spec/AlgorithmParameterSpec;
-HPLjavax/crypto/spec/OAEPParameterSpec;->getPSource()Ljavax/crypto/spec/PSource;
-HPLjavax/crypto/spec/PSource$PSpecified;-><init>([B)V
-HPLjavax/crypto/spec/PSource$PSpecified;->getValue()[B
+HPLjavax/crypto/spec/GCMParameterSpec;-><init>(I[B)V
+HPLjavax/crypto/spec/GCMParameterSpec;->getIV()[B
+HPLjavax/crypto/spec/GCMParameterSpec;->getTLen()I
+HPLjavax/crypto/spec/GCMParameterSpec;->init(I[BII)V
+HPLjavax/net/DefaultSocketFactory;->createSocket(Ljava/net/InetAddress;I)Ljava/net/Socket;
+HPLjavax/net/ssl/SSLContext;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
+HPLjavax/net/ssl/SSLException;-><init>(Ljava/lang/String;)V
 HPLjavax/net/ssl/SSLHandshakeException;-><init>(Ljava/lang/String;)V
-HPLjavax/net/ssl/SSLPeerUnverifiedException;-><init>(Ljava/lang/String;)V
-HPLjavax/net/ssl/SSLProtocolException;-><init>(Ljava/lang/String;)V
-HPLjavax/xml/namespace/QName;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HPLjavax/xml/namespace/QName;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HPLjavax/xml/namespace/QName;->equals(Ljava/lang/Object;)Z
-HPLjavax/xml/transform/ErrorListener;->error(Ljavax/xml/transform/TransformerException;)V
-HPLjavax/xml/transform/ErrorListener;->fatalError(Ljavax/xml/transform/TransformerException;)V
-HPLjavax/xml/transform/ErrorListener;->warning(Ljavax/xml/transform/TransformerException;)V
-HPLjavax/xml/transform/Source;->getSystemId()Ljava/lang/String;
-HPLjavax/xml/transform/Source;->setSystemId(Ljava/lang/String;)V
-HPLjavax/xml/transform/SourceLocator;->getColumnNumber()I
-HPLjavax/xml/transform/SourceLocator;->getLineNumber()I
-HPLjavax/xml/transform/SourceLocator;->getPublicId()Ljava/lang/String;
-HPLjavax/xml/transform/SourceLocator;->getSystemId()Ljava/lang/String;
-HPLjavax/xml/transform/dom/DOMSource;->getNode()Lorg/w3c/dom/Node;
-HPLjavax/xml/transform/dom/DOMSource;->getSystemId()Ljava/lang/String;
-HPLjavax/xml/xpath/XPath;->compile(Ljava/lang/String;)Ljavax/xml/xpath/XPathExpression;
-HPLjavax/xml/xpath/XPath;->evaluate(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/String;
-HPLjavax/xml/xpath/XPath;->evaluate(Ljava/lang/String;Ljava/lang/Object;Ljavax/xml/namespace/QName;)Ljava/lang/Object;
-HPLjavax/xml/xpath/XPath;->evaluate(Ljava/lang/String;Lorg/xml/sax/InputSource;)Ljava/lang/String;
-HPLjavax/xml/xpath/XPath;->evaluate(Ljava/lang/String;Lorg/xml/sax/InputSource;Ljavax/xml/namespace/QName;)Ljava/lang/Object;
-HPLjavax/xml/xpath/XPath;->getNamespaceContext()Ljavax/xml/namespace/NamespaceContext;
-HPLjavax/xml/xpath/XPath;->getXPathFunctionResolver()Ljavax/xml/xpath/XPathFunctionResolver;
-HPLjavax/xml/xpath/XPath;->getXPathVariableResolver()Ljavax/xml/xpath/XPathVariableResolver;
-HPLjavax/xml/xpath/XPath;->reset()V
-HPLjavax/xml/xpath/XPath;->setNamespaceContext(Ljavax/xml/namespace/NamespaceContext;)V
-HPLjavax/xml/xpath/XPath;->setXPathFunctionResolver(Ljavax/xml/xpath/XPathFunctionResolver;)V
-HPLjavax/xml/xpath/XPath;->setXPathVariableResolver(Ljavax/xml/xpath/XPathVariableResolver;)V
-HPLjavax/xml/xpath/XPathExpression;->evaluate(Ljava/lang/Object;)Ljava/lang/String;
-HPLjavax/xml/xpath/XPathExpression;->evaluate(Ljava/lang/Object;Ljavax/xml/namespace/QName;)Ljava/lang/Object;
-HPLjavax/xml/xpath/XPathExpression;->evaluate(Lorg/xml/sax/InputSource;)Ljava/lang/String;
-HPLjavax/xml/xpath/XPathExpression;->evaluate(Lorg/xml/sax/InputSource;Ljavax/xml/namespace/QName;)Ljava/lang/Object;
-HPLjavax/xml/xpath/XPathFactory;->getFeature(Ljava/lang/String;)Z
-HPLjavax/xml/xpath/XPathFactory;->isObjectModelSupported(Ljava/lang/String;)Z
-HPLjavax/xml/xpath/XPathFactory;->newInstance()Ljavax/xml/xpath/XPathFactory;
-HPLjavax/xml/xpath/XPathFactory;->newInstance(Ljava/lang/String;)Ljavax/xml/xpath/XPathFactory;
-HPLjavax/xml/xpath/XPathFactory;->newXPath()Ljavax/xml/xpath/XPath;
-HPLjavax/xml/xpath/XPathFactory;->setFeature(Ljava/lang/String;Z)V
-HPLjavax/xml/xpath/XPathFactory;->setXPathFunctionResolver(Ljavax/xml/xpath/XPathFunctionResolver;)V
-HPLjavax/xml/xpath/XPathFactory;->setXPathVariableResolver(Ljavax/xml/xpath/XPathVariableResolver;)V
-HPLjavax/xml/xpath/XPathFactoryFinder;->_newFactory(Ljava/lang/String;)Ljavax/xml/xpath/XPathFactory;
-HPLjavax/xml/xpath/XPathFactoryFinder;->createInstance(Ljava/lang/String;)Ljavax/xml/xpath/XPathFactory;
-HPLjavax/xml/xpath/XPathFactoryFinder;->createServiceFileIterator()Ljava/lang/Iterable;
-HPLjavax/xml/xpath/XPathFactoryFinder;->newFactory(Ljava/lang/String;)Ljavax/xml/xpath/XPathFactory;
-HPLlibcore/icu/CollationKeyICU;->compareTo(Ljava/text/CollationKey;)I
-HPLlibcore/icu/CollationKeyICU;->toByteArray()[B
-HPLlibcore/icu/ICU;->addLikelySubtags(Ljava/util/Locale;)Ljava/util/Locale;
+HPLlibcore/icu/DateUtilsBridge;->dayDistance(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;)I
+HPLlibcore/icu/DateUtilsBridge;->icuTimeZone(Ljava/util/TimeZone;)Landroid/icu/util/TimeZone;
 HPLlibcore/icu/ICU;->getDisplayCountry(Ljava/util/Locale;Ljava/util/Locale;)Ljava/lang/String;
-HPLlibcore/io/BlockGuardOs;->connect(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
+HPLlibcore/icu/RelativeDateTimeFormatter;->getRelativeDateTimeString(Ljava/util/Locale;Ljava/util/TimeZone;JJJJI)Ljava/lang/String;
 HPLlibcore/io/BlockGuardOs;->fsync(Ljava/io/FileDescriptor;)V
-HPLlibcore/io/BlockGuardOs;->lstat(Ljava/lang/String;)Landroid/system/StructStat;
-HPLlibcore/io/BlockGuardOs;->read(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I
+HPLlibcore/io/BlockGuardOs;->posix_fallocate(Ljava/io/FileDescriptor;JJ)V
+HPLlibcore/io/BlockGuardOs;->pread(Ljava/io/FileDescriptor;[BIIJ)I
 HPLlibcore/io/BlockGuardOs;->readlink(Ljava/lang/String;)Ljava/lang/String;
 HPLlibcore/io/BlockGuardOs;->rename(Ljava/lang/String;Ljava/lang/String;)V
-HPLlibcore/io/BlockGuardOs;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I
-HPLlibcore/io/BlockGuardOs;->write(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I
-HPLlibcore/io/ForwardingOs;->android_fdsan_exchange_owner_tag(Ljava/io/FileDescriptor;JJ)V
-HPLlibcore/io/ForwardingOs;->munlock(JJ)V
-HPLlibcore/io/ForwardingOs;->munmap(JJ)V
-HPLlibcore/io/ForwardingOs;->setsockoptByte(Ljava/io/FileDescriptor;III)V
-HPLlibcore/io/ForwardingOs;->setsockoptIfreq(Ljava/io/FileDescriptor;IILjava/lang/String;)V
-HPLlibcore/io/IoBridge;->connect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
-HPLlibcore/io/IoUtils$FileReader;->toString(Ljava/nio/charset/Charset;)Ljava/lang/String;
-HPLlibcore/io/IoUtils;->closeQuietly(Ljava/net/Socket;)V
-HPLlibcore/io/Linux;->read(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I
-HPLlibcore/io/Linux;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I
-HPLlibcore/io/Linux;->write(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I
+HPLlibcore/io/BlockGuardOs;->sendfile(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Landroid/system/Int64Ref;J)J
+HPLlibcore/io/ForwardingOs;->dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
+HPLlibcore/io/ForwardingOs;->lstat(Ljava/lang/String;)Landroid/system/StructStat;
+HPLlibcore/io/ForwardingOs;->pipe2(I)[Ljava/io/FileDescriptor;
+HPLlibcore/io/ForwardingOs;->strsignal(I)Ljava/lang/String;
+HPLlibcore/io/IoBridge;->createMessageForException(Ljava/io/FileDescriptor;Ljava/net/InetAddress;IILjava/lang/Exception;)Ljava/lang/String;
+HPLlibcore/io/Linux;->pread(Ljava/io/FileDescriptor;[BIIJ)I
 HPLlibcore/io/Memory;->pokeInt([BIILjava/nio/ByteOrder;)V
+HPLlibcore/io/Memory;->pokeLong(JJZ)V
 HPLlibcore/io/Memory;->pokeShort(JSZ)V
 HPLlibcore/io/Streams;->copy(Ljava/io/InputStream;Ljava/io/OutputStream;)I
-HPLlibcore/io/Streams;->readFully(Ljava/io/InputStream;)[B
 HPLlibcore/io/Streams;->readFully(Ljava/io/Reader;)Ljava/lang/String;
-HPLlibcore/net/MimeUtils;->guessMimeTypeFromExtension(Ljava/lang/String;)Ljava/lang/String;
-HPLlibcore/net/NetworkSecurityPolicy$DefaultNetworkSecurityPolicy;->isCertificateTransparencyVerificationRequired(Ljava/lang/String;)Z
-HPLlibcore/net/NetworkSecurityPolicy$DefaultNetworkSecurityPolicy;->isCleartextTrafficPermitted(Ljava/lang/String;)Z
-HPLlibcore/reflect/GenericArrayTypeImpl;->equals(Ljava/lang/Object;)Z
-HPLlibcore/util/HexEncoding;->decode([CZ)[B
 HPLlibcore/util/HexEncoding;->toDigit([CI)I
-HPLlibcore/util/ZoneInfo$OffsetInterval;->containsWallTime(J)Z
-HPLlibcore/util/ZoneInfo$OffsetInterval;->create(Llibcore/util/ZoneInfo;I)Llibcore/util/ZoneInfo$OffsetInterval;
-HPLlibcore/util/ZoneInfo$OffsetInterval;->getIsDst()I
-HPLlibcore/util/ZoneInfo$OffsetInterval;->getTotalOffsetSeconds()I
-HPLlibcore/util/ZoneInfo$WallTime;->doWallTimeSearch(Llibcore/util/ZoneInfo;IIZ)Ljava/lang/Integer;
-HPLlibcore/util/ZoneInfo;->toString()Ljava/lang/String;
-HPLorg/apache/harmony/xml/ExpatParser;->endDtd()V
-HPLorg/apache/harmony/xml/ExpatParser;->parseFragment(Ljava/io/Reader;)V
-HPLorg/apache/harmony/xml/ExpatParser;->startDtd(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HPLorg/apache/harmony/xml/dom/AttrImpl;->getName()Ljava/lang/String;
+HPLorg/apache/harmony/xml/ExpatAttributes;->getLocalName(I)Ljava/lang/String;
+HPLorg/apache/harmony/xml/ExpatAttributes;->getQName(I)Ljava/lang/String;
+HPLorg/apache/harmony/xml/ExpatAttributes;->getType(I)Ljava/lang/String;
+HPLorg/apache/harmony/xml/ExpatAttributes;->getURI(I)Ljava/lang/String;
+HPLorg/apache/harmony/xml/ExpatAttributes;->getValue(I)Ljava/lang/String;
+HPLorg/apache/harmony/xml/ExpatAttributes;->getValue(Ljava/lang/String;)Ljava/lang/String;
+HPLorg/apache/harmony/xml/ExpatParser$CurrentAttributes;->getLength()I
+HPLorg/apache/harmony/xml/ExpatParser$CurrentAttributes;->getParserPointer()J
+HPLorg/apache/harmony/xml/ExpatReader;->setFeature(Ljava/lang/String;Z)V
 HPLorg/apache/harmony/xml/dom/CharacterDataImpl;->getLength()I
-HPLorg/apache/harmony/xml/dom/DocumentImpl;->getNodeType()S
-HPLorg/apache/harmony/xml/dom/ElementImpl$ElementAttrNamedNodeMapImpl;->getLength()I
-HPLorg/apache/harmony/xml/dom/ElementImpl;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
-HPLorg/apache/harmony/xml/dom/ElementImpl;->getAttributeNode(Ljava/lang/String;)Lorg/apache/harmony/xml/dom/AttrImpl;
-HPLorg/apache/harmony/xml/dom/ElementImpl;->getAttributes()Lorg/w3c/dom/NamedNodeMap;
-HPLorg/apache/harmony/xml/dom/ElementImpl;->indexOfAttribute(Ljava/lang/String;)I
-HPLorg/apache/harmony/xml/dom/ElementImpl;->setAttributeNode(Lorg/w3c/dom/Attr;)Lorg/w3c/dom/Attr;
 HPLorg/apache/harmony/xml/dom/InnerNodeImpl;->getNextSibling()Lorg/w3c/dom/Node;
-HPLorg/apache/harmony/xml/dom/InnerNodeImpl;->hasChildNodes()Z
 HPLorg/apache/harmony/xml/dom/InnerNodeImpl;->normalize()V
-HPLorg/apache/harmony/xml/dom/LeafNodeImpl;->getParentNode()Lorg/w3c/dom/Node;
 HPLorg/apache/harmony/xml/dom/LeafNodeImpl;->getPreviousSibling()Lorg/w3c/dom/Node;
-HPLorg/apache/harmony/xml/dom/NodeImpl;->getLocalName()Ljava/lang/String;
-HPLorg/apache/harmony/xml/dom/NodeImpl;->getNamespaceURI()Ljava/lang/String;
-HPLorg/apache/harmony/xml/dom/NodeImpl;->getOwnerDocument()Lorg/w3c/dom/Document;
-HPLorg/apache/harmony/xml/dom/NodeImpl;->hasChildNodes()Z
 HPLorg/apache/harmony/xml/dom/NodeImpl;->normalize()V
 HPLorg/apache/harmony/xml/dom/NodeImpl;->setName(Lorg/apache/harmony/xml/dom/NodeImpl;Ljava/lang/String;)V
 HPLorg/apache/harmony/xml/dom/TextImpl;->minimize()Lorg/apache/harmony/xml/dom/TextImpl;
-HPLorg/apache/http/conn/ConnectTimeoutException;-><init>(Ljava/lang/String;)V
-HPLorg/apache/xalan/extensions/ExpressionContext;->getContextNode()Lorg/w3c/dom/Node;
-HPLorg/apache/xalan/extensions/ExpressionContext;->getContextNodes()Lorg/w3c/dom/traversal/NodeIterator;
-HPLorg/apache/xalan/extensions/ExpressionContext;->getErrorListener()Ljavax/xml/transform/ErrorListener;
-HPLorg/apache/xalan/extensions/ExpressionContext;->getVariableOrParam(Lorg/apache/xml/utils/QName;)Lorg/apache/xpath/objects/XObject;
-HPLorg/apache/xalan/extensions/ExpressionContext;->getXPathContext()Lorg/apache/xpath/XPathContext;
-HPLorg/apache/xalan/extensions/ExpressionContext;->toNumber(Lorg/w3c/dom/Node;)D
-HPLorg/apache/xalan/extensions/ExpressionContext;->toString(Lorg/w3c/dom/Node;)Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->appendChild(IZZ)V
-HPLorg/apache/xml/dtm/DTM;->appendTextChild(Ljava/lang/String;)V
-HPLorg/apache/xml/dtm/DTM;->dispatchCharactersEvents(ILorg/xml/sax/ContentHandler;Z)V
-HPLorg/apache/xml/dtm/DTM;->dispatchToEvents(ILorg/xml/sax/ContentHandler;)V
-HPLorg/apache/xml/dtm/DTM;->documentRegistration()V
-HPLorg/apache/xml/dtm/DTM;->documentRelease()V
-HPLorg/apache/xml/dtm/DTM;->getAttributeNode(ILjava/lang/String;Ljava/lang/String;)I
-HPLorg/apache/xml/dtm/DTM;->getAxisIterator(I)Lorg/apache/xml/dtm/DTMAxisIterator;
-HPLorg/apache/xml/dtm/DTM;->getAxisTraverser(I)Lorg/apache/xml/dtm/DTMAxisTraverser;
-HPLorg/apache/xml/dtm/DTM;->getContentHandler()Lorg/xml/sax/ContentHandler;
-HPLorg/apache/xml/dtm/DTM;->getDTDHandler()Lorg/xml/sax/DTDHandler;
-HPLorg/apache/xml/dtm/DTM;->getDeclHandler()Lorg/xml/sax/ext/DeclHandler;
-HPLorg/apache/xml/dtm/DTM;->getDocument()I
-HPLorg/apache/xml/dtm/DTM;->getDocumentAllDeclarationsProcessed()Z
-HPLorg/apache/xml/dtm/DTM;->getDocumentBaseURI()Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->getDocumentEncoding(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->getDocumentRoot(I)I
-HPLorg/apache/xml/dtm/DTM;->getDocumentStandalone(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->getDocumentSystemIdentifier(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->getDocumentTypeDeclarationPublicIdentifier()Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->getDocumentTypeDeclarationSystemIdentifier()Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->getDocumentVersion(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->getElementById(Ljava/lang/String;)I
-HPLorg/apache/xml/dtm/DTM;->getEntityResolver()Lorg/xml/sax/EntityResolver;
-HPLorg/apache/xml/dtm/DTM;->getErrorHandler()Lorg/xml/sax/ErrorHandler;
-HPLorg/apache/xml/dtm/DTM;->getExpandedTypeID(I)I
-HPLorg/apache/xml/dtm/DTM;->getExpandedTypeID(Ljava/lang/String;Ljava/lang/String;I)I
-HPLorg/apache/xml/dtm/DTM;->getFirstAttribute(I)I
-HPLorg/apache/xml/dtm/DTM;->getFirstChild(I)I
-HPLorg/apache/xml/dtm/DTM;->getFirstNamespaceNode(IZ)I
-HPLorg/apache/xml/dtm/DTM;->getLastChild(I)I
-HPLorg/apache/xml/dtm/DTM;->getLevel(I)S
-HPLorg/apache/xml/dtm/DTM;->getLexicalHandler()Lorg/xml/sax/ext/LexicalHandler;
-HPLorg/apache/xml/dtm/DTM;->getLocalName(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->getLocalNameFromExpandedNameID(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->getNamespaceFromExpandedNameID(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->getNamespaceURI(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->getNextAttribute(I)I
-HPLorg/apache/xml/dtm/DTM;->getNextNamespaceNode(IIZ)I
-HPLorg/apache/xml/dtm/DTM;->getNextSibling(I)I
-HPLorg/apache/xml/dtm/DTM;->getNode(I)Lorg/w3c/dom/Node;
-HPLorg/apache/xml/dtm/DTM;->getNodeName(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->getNodeNameX(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->getNodeType(I)S
-HPLorg/apache/xml/dtm/DTM;->getNodeValue(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->getOwnerDocument(I)I
-HPLorg/apache/xml/dtm/DTM;->getParent(I)I
-HPLorg/apache/xml/dtm/DTM;->getPrefix(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->getPreviousSibling(I)I
-HPLorg/apache/xml/dtm/DTM;->getSourceLocatorFor(I)Ljavax/xml/transform/SourceLocator;
-HPLorg/apache/xml/dtm/DTM;->getStringValue(I)Lorg/apache/xml/utils/XMLString;
-HPLorg/apache/xml/dtm/DTM;->getStringValueChunk(II[I)[C
-HPLorg/apache/xml/dtm/DTM;->getStringValueChunkCount(I)I
-HPLorg/apache/xml/dtm/DTM;->getTypedAxisIterator(II)Lorg/apache/xml/dtm/DTMAxisIterator;
-HPLorg/apache/xml/dtm/DTM;->getUnparsedEntityURI(Ljava/lang/String;)Ljava/lang/String;
-HPLorg/apache/xml/dtm/DTM;->hasChildNodes(I)Z
-HPLorg/apache/xml/dtm/DTM;->isAttributeSpecified(I)Z
-HPLorg/apache/xml/dtm/DTM;->isCharacterElementContentWhitespace(I)Z
-HPLorg/apache/xml/dtm/DTM;->isDocumentAllDeclarationsProcessed(I)Z
-HPLorg/apache/xml/dtm/DTM;->isNodeAfter(II)Z
-HPLorg/apache/xml/dtm/DTM;->isSupported(Ljava/lang/String;Ljava/lang/String;)Z
-HPLorg/apache/xml/dtm/DTM;->migrateTo(Lorg/apache/xml/dtm/DTMManager;)V
-HPLorg/apache/xml/dtm/DTM;->needsTwoThreads()Z
-HPLorg/apache/xml/dtm/DTM;->setDocumentBaseURI(Ljava/lang/String;)V
-HPLorg/apache/xml/dtm/DTM;->setFeature(Ljava/lang/String;Z)V
-HPLorg/apache/xml/dtm/DTM;->setProperty(Ljava/lang/String;Ljava/lang/Object;)V
-HPLorg/apache/xml/dtm/DTM;->supportsPreStripping()Z
-HPLorg/apache/xml/dtm/DTMAxisTraverser;->next(II)I
-HPLorg/apache/xml/dtm/DTMAxisTraverser;->next(III)I
-HPLorg/apache/xml/dtm/DTMManager;->newInstance(Lorg/apache/xml/utils/XMLStringFactory;)Lorg/apache/xml/dtm/DTMManager;
-HPLorg/apache/xml/dtm/DTMManager;->setXMLStringFactory(Lorg/apache/xml/utils/XMLStringFactory;)V
-HPLorg/apache/xml/dtm/ObjectFactory;->createObject(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
-HPLorg/apache/xml/dtm/ObjectFactory;->findClassLoader()Ljava/lang/ClassLoader;
-HPLorg/apache/xml/dtm/ObjectFactory;->findJarServiceProviderName(Ljava/lang/String;)Ljava/lang/String;
-HPLorg/apache/xml/dtm/ObjectFactory;->findProviderClass(Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/lang/Class;
-HPLorg/apache/xml/dtm/ObjectFactory;->lookUpFactoryClass(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Class;
-HPLorg/apache/xml/dtm/ObjectFactory;->lookUpFactoryClassName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HPLorg/apache/xml/dtm/SecuritySupport12$1;->run()Ljava/lang/Object;
-HPLorg/apache/xml/dtm/SecuritySupport12$2;->run()Ljava/lang/Object;
-HPLorg/apache/xml/dtm/SecuritySupport12$3;->run()Ljava/lang/Object;
-HPLorg/apache/xml/dtm/SecuritySupport12$4;->run()Ljava/lang/Object;
-HPLorg/apache/xml/dtm/SecuritySupport12$6;->run()Ljava/lang/Object;
-HPLorg/apache/xml/dtm/SecuritySupport12$7;->run()Ljava/lang/Object;
-HPLorg/apache/xml/dtm/SecuritySupport12;-><init>()V
-HPLorg/apache/xml/dtm/SecuritySupport12;->getContextClassLoader()Ljava/lang/ClassLoader;
-HPLorg/apache/xml/dtm/SecuritySupport12;->getFileExists(Ljava/io/File;)Z
-HPLorg/apache/xml/dtm/SecuritySupport12;->getParentClassLoader(Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;
-HPLorg/apache/xml/dtm/SecuritySupport12;->getResourceAsStream(Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/io/InputStream;
-HPLorg/apache/xml/dtm/SecuritySupport12;->getSystemClassLoader()Ljava/lang/ClassLoader;
-HPLorg/apache/xml/dtm/SecuritySupport12;->getSystemProperty(Ljava/lang/String;)Ljava/lang/String;
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;-><init>(Lorg/apache/xml/dtm/DTMManager;Ljavax/xml/transform/Source;ILorg/apache/xml/dtm/DTMWSFilter;Lorg/apache/xml/utils/XMLStringFactory;ZIZZ)V
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->_exptype(I)I
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->_firstch(I)I
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->_nextsib(I)I
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->declareNamespaceInContext(II)V
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->dispatchCharactersEvents(ILorg/xml/sax/ContentHandler;Z)V
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->dispatchToEvents(ILorg/xml/sax/ContentHandler;)V
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->documentRegistration()V
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->ensureSizeOfIndex(II)V
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getAttributeNode(ILjava/lang/String;Ljava/lang/String;)I
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getDocumentTypeDeclarationPublicIdentifier()Ljava/lang/String;
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getDocumentTypeDeclarationSystemIdentifier()Ljava/lang/String;
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getElementById(Ljava/lang/String;)I
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getFirstChild(I)I
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getLocalName(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getNamespaceURI(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getNextNodeIdentity(I)I
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getNextSibling(I)I
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getNodeName(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getNodeType(I)S
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getNodeValue(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getNumberOfNodes()I
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getPrefix(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getStringValue(I)Lorg/apache/xml/utils/XMLString;
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->getUnparsedEntityURI(Ljava/lang/String;)Ljava/lang/String;
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->indexNode(II)V
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->isAttributeSpecified(I)Z
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->makeNodeIdentity(I)I
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->nextNode()Z
-HPLorg/apache/xml/dtm/ref/DTMDefaultBase;->popShouldStripWhitespace()V
-HPLorg/apache/xml/dtm/ref/DTMDefaultBaseTraversers$ChildTraverser;->first(I)I
-HPLorg/apache/xml/dtm/ref/DTMDefaultBaseTraversers$ChildTraverser;->next(II)I
-HPLorg/apache/xml/dtm/ref/DTMDefaultBaseTraversers;->getAxisTraverser(I)Lorg/apache/xml/dtm/DTMAxisTraverser;
-HPLorg/apache/xml/dtm/ref/DTMManagerDefault;-><init>()V
-HPLorg/apache/xml/dtm/ref/DTMManagerDefault;->addDTM(Lorg/apache/xml/dtm/DTM;II)V
-HPLorg/apache/xml/dtm/ref/DTMManagerDefault;->getDTM(I)Lorg/apache/xml/dtm/DTM;
-HPLorg/apache/xml/dtm/ref/DTMManagerDefault;->getDTM(Ljavax/xml/transform/Source;ZLorg/apache/xml/dtm/DTMWSFilter;ZZ)Lorg/apache/xml/dtm/DTM;
-HPLorg/apache/xml/dtm/ref/DTMManagerDefault;->getDTMHandleFromNode(Lorg/w3c/dom/Node;)I
-HPLorg/apache/xml/dtm/ref/DTMManagerDefault;->getFirstFreeDTMID()I
-HPLorg/apache/xml/dtm/ref/DTMNodeList;-><init>(Lorg/apache/xml/dtm/DTMIterator;)V
-HPLorg/apache/xml/dtm/ref/DTMNodeList;->getLength()I
-HPLorg/apache/xml/dtm/ref/DTMNodeList;->item(I)Lorg/w3c/dom/Node;
-HPLorg/apache/xml/dtm/ref/ExpandedNameTable;-><init>()V
-HPLorg/apache/xml/dtm/ref/ExpandedNameTable;->getExpandedTypeID(I)I
-HPLorg/apache/xml/dtm/ref/ExpandedNameTable;->getExpandedTypeID(Ljava/lang/String;Ljava/lang/String;I)I
-HPLorg/apache/xml/dtm/ref/ExpandedNameTable;->getExpandedTypeID(Ljava/lang/String;Ljava/lang/String;IZ)I
-HPLorg/apache/xml/dtm/ref/ExpandedNameTable;->initExtendedTypes()V
-HPLorg/apache/xml/dtm/ref/ExtendedType;-><init>(ILjava/lang/String;Ljava/lang/String;)V
-HPLorg/apache/xml/dtm/ref/ExtendedType;->equals(Lorg/apache/xml/dtm/ref/ExtendedType;)Z
-HPLorg/apache/xml/dtm/ref/dom2dtm/DOM2DTM;-><init>(Lorg/apache/xml/dtm/DTMManager;Ljavax/xml/transform/dom/DOMSource;ILorg/apache/xml/dtm/DTMWSFilter;Lorg/apache/xml/utils/XMLStringFactory;Z)V
-HPLorg/apache/xml/dtm/ref/dom2dtm/DOM2DTM;->addNode(Lorg/w3c/dom/Node;III)I
-HPLorg/apache/xml/dtm/ref/dom2dtm/DOM2DTM;->getHandleFromNode(Lorg/w3c/dom/Node;)I
-HPLorg/apache/xml/dtm/ref/dom2dtm/DOM2DTM;->getHandleOfNode(Lorg/w3c/dom/Node;)I
-HPLorg/apache/xml/dtm/ref/dom2dtm/DOM2DTM;->getLocalName(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/ref/dom2dtm/DOM2DTM;->getNamespaceURI(I)Ljava/lang/String;
-HPLorg/apache/xml/dtm/ref/dom2dtm/DOM2DTM;->getNode(I)Lorg/w3c/dom/Node;
-HPLorg/apache/xml/dtm/ref/dom2dtm/DOM2DTM;->logicalNextDOMTextNode(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
-HPLorg/apache/xml/dtm/ref/dom2dtm/DOM2DTM;->nextNode()Z
-HPLorg/apache/xml/dtm/ref/dom2dtm/DOM2DTMdefaultNamespaceDeclarationNode;-><init>(Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;I)V
-HPLorg/apache/xml/dtm/ref/dom2dtm/DOM2DTMdefaultNamespaceDeclarationNode;->getLocalName()Ljava/lang/String;
-HPLorg/apache/xml/dtm/ref/dom2dtm/DOM2DTMdefaultNamespaceDeclarationNode;->getNamespaceURI()Ljava/lang/String;
-HPLorg/apache/xml/dtm/ref/dom2dtm/DOM2DTMdefaultNamespaceDeclarationNode;->getNodeName()Ljava/lang/String;
-HPLorg/apache/xml/dtm/ref/dom2dtm/DOM2DTMdefaultNamespaceDeclarationNode;->getNodeType()S
-HPLorg/apache/xml/utils/IntStack;->peek()I
-HPLorg/apache/xml/utils/IntStack;->push(I)I
-HPLorg/apache/xml/utils/NSInfo;-><init>(ZZ)V
-HPLorg/apache/xml/utils/NSInfo;-><init>(ZZI)V
-HPLorg/apache/xml/utils/NodeVector;->addElement(I)V
-HPLorg/apache/xml/utils/NodeVector;->elementAt(I)I
-HPLorg/apache/xml/utils/NodeVector;->size()I
-HPLorg/apache/xml/utils/ObjectStack;->peek()Ljava/lang/Object;
-HPLorg/apache/xml/utils/ObjectStack;->pop()Ljava/lang/Object;
-HPLorg/apache/xml/utils/ObjectStack;->push(Ljava/lang/Object;)Ljava/lang/Object;
-HPLorg/apache/xml/utils/ObjectVector;->addElement(Ljava/lang/Object;)V
-HPLorg/apache/xml/utils/SuballocatedIntVector;-><init>(II)V
-HPLorg/apache/xml/utils/SuballocatedIntVector;->addElement(I)V
-HPLorg/apache/xml/utils/SuballocatedIntVector;->elementAt(I)I
-HPLorg/apache/xml/utils/SuballocatedIntVector;->setElementAt(II)V
-HPLorg/apache/xml/utils/SuballocatedIntVector;->size()I
-HPLorg/apache/xml/utils/TreeWalker;-><init>(Lorg/xml/sax/ContentHandler;)V
-HPLorg/apache/xml/utils/XMLStringFactory;->emptystr()Lorg/apache/xml/utils/XMLString;
-HPLorg/apache/xml/utils/XMLStringFactory;->newstr(Ljava/lang/String;)Lorg/apache/xml/utils/XMLString;
-HPLorg/apache/xml/utils/XMLStringFactory;->newstr(Lorg/apache/xml/utils/FastStringBuffer;II)Lorg/apache/xml/utils/XMLString;
-HPLorg/apache/xml/utils/XMLStringFactory;->newstr([CII)Lorg/apache/xml/utils/XMLString;
-HPLorg/apache/xpath/Expression;->assertion(ZLjava/lang/String;)V
-HPLorg/apache/xpath/Expression;->exprSetParent(Lorg/apache/xpath/ExpressionNode;)V
-HPLorg/apache/xpath/ExpressionNode;->exprAddChild(Lorg/apache/xpath/ExpressionNode;I)V
-HPLorg/apache/xpath/ExpressionNode;->exprGetChild(I)Lorg/apache/xpath/ExpressionNode;
-HPLorg/apache/xpath/ExpressionNode;->exprGetNumChildren()I
-HPLorg/apache/xpath/ExpressionNode;->exprGetParent()Lorg/apache/xpath/ExpressionNode;
-HPLorg/apache/xpath/ExpressionNode;->exprSetParent(Lorg/apache/xpath/ExpressionNode;)V
-HPLorg/apache/xpath/VariableStack;->getStackFrame()I
-HPLorg/apache/xpath/VariableStack;->setStackFrame(I)V
-HPLorg/apache/xpath/XPath;-><init>(Ljava/lang/String;Ljavax/xml/transform/SourceLocator;Lorg/apache/xml/utils/PrefixResolver;ILjavax/xml/transform/ErrorListener;)V
-HPLorg/apache/xpath/XPath;->execute(Lorg/apache/xpath/XPathContext;ILorg/apache/xml/utils/PrefixResolver;)Lorg/apache/xpath/objects/XObject;
-HPLorg/apache/xpath/XPath;->execute(Lorg/apache/xpath/XPathContext;Lorg/w3c/dom/Node;Lorg/apache/xml/utils/PrefixResolver;)Lorg/apache/xpath/objects/XObject;
-HPLorg/apache/xpath/XPath;->setExpression(Lorg/apache/xpath/Expression;)V
-HPLorg/apache/xpath/XPathContext;-><init>(Z)V
-HPLorg/apache/xpath/XPathContext;->getDTM(I)Lorg/apache/xml/dtm/DTM;
-HPLorg/apache/xpath/XPathContext;->getDTMHandleFromNode(Lorg/w3c/dom/Node;)I
-HPLorg/apache/xpath/XPathContext;->getDTMManager()Lorg/apache/xml/dtm/DTMManager;
-HPLorg/apache/xpath/axes/AxesWalker;->clone()Ljava/lang/Object;
-HPLorg/apache/xpath/axes/AxesWalker;->cloneDeep(Lorg/apache/xpath/axes/WalkingIterator;Ljava/util/Vector;)Lorg/apache/xpath/axes/AxesWalker;
-HPLorg/apache/xpath/axes/AxesWalker;->getNextNode()I
-HPLorg/apache/xpath/axes/AxesWalker;->init(Lorg/apache/xpath/compiler/Compiler;II)V
-HPLorg/apache/xpath/axes/AxesWalker;->nextNode()I
-HPLorg/apache/xpath/axes/AxesWalker;->setNextWalker(Lorg/apache/xpath/axes/AxesWalker;)V
-HPLorg/apache/xpath/axes/AxesWalker;->setPrevWalker(Lorg/apache/xpath/axes/AxesWalker;)V
-HPLorg/apache/xpath/axes/AxesWalker;->setRoot(I)V
-HPLorg/apache/xpath/axes/BasicTestIterator;-><init>(Lorg/apache/xpath/compiler/Compiler;II)V
-HPLorg/apache/xpath/axes/BasicTestIterator;->getNextNode()I
-HPLorg/apache/xpath/axes/BasicTestIterator;->nextNode()I
-HPLorg/apache/xpath/axes/ChildTestIterator;->getNextNode()I
-HPLorg/apache/xpath/axes/ChildTestIterator;->setRoot(ILjava/lang/Object;)V
-HPLorg/apache/xpath/axes/IteratorPool;->getInstance()Lorg/apache/xml/dtm/DTMIterator;
-HPLorg/apache/xpath/axes/LocPathIterator;-><init>(Lorg/apache/xpath/compiler/Compiler;IIZ)V
-HPLorg/apache/xpath/axes/LocPathIterator;->execute(Lorg/apache/xpath/XPathContext;)Lorg/apache/xpath/objects/XObject;
-HPLorg/apache/xpath/axes/LocPathIterator;->isDocOrdered()Z
-HPLorg/apache/xpath/axes/LocPathIterator;->returnNextNode(I)I
-HPLorg/apache/xpath/axes/LocPathIterator;->setIsTopLevel(Z)V
-HPLorg/apache/xpath/axes/LocPathIterator;->setRoot(ILjava/lang/Object;)V
-HPLorg/apache/xpath/axes/NodeSequence;->SetVector(Lorg/apache/xml/utils/NodeVector;)V
-HPLorg/apache/xpath/axes/NodeSequence;->cloneWithReset()Lorg/apache/xml/dtm/DTMIterator;
-HPLorg/apache/xpath/axes/NodeSequence;->getCurrentPos()I
-HPLorg/apache/xpath/axes/NodeSequence;->getDTM(I)Lorg/apache/xml/dtm/DTM;
-HPLorg/apache/xpath/axes/NodeSequence;->getDTMManager()Lorg/apache/xml/dtm/DTMManager;
-HPLorg/apache/xpath/axes/NodeSequence;->getLength()I
-HPLorg/apache/xpath/axes/NodeSequence;->getVector()Lorg/apache/xml/utils/NodeVector;
-HPLorg/apache/xpath/axes/NodeSequence;->hasCache()Z
-HPLorg/apache/xpath/axes/NodeSequence;->item(I)I
-HPLorg/apache/xpath/axes/NodeSequence;->nextNode()I
-HPLorg/apache/xpath/axes/NodeSequence;->runTo(I)V
-HPLorg/apache/xpath/axes/NodeSequence;->setCurrentPos(I)V
-HPLorg/apache/xpath/axes/NodeSequence;->setObject(Ljava/lang/Object;)V
-HPLorg/apache/xpath/axes/NodeSequence;->setRoot(ILjava/lang/Object;)V
-HPLorg/apache/xpath/axes/NodeSequence;->setShouldCacheNodes(Z)V
-HPLorg/apache/xpath/axes/PredicatedNodeTest;->acceptNode(I)S
-HPLorg/apache/xpath/axes/PredicatedNodeTest;->clone()Ljava/lang/Object;
-HPLorg/apache/xpath/axes/PredicatedNodeTest;->getPredicateCount()I
-HPLorg/apache/xpath/axes/PredicatedNodeTest;->initPredicateInfo(Lorg/apache/xpath/compiler/Compiler;I)V
-HPLorg/apache/xpath/axes/PredicatedNodeTest;->resetProximityPositions()V
-HPLorg/apache/xpath/axes/PredicatedNodeTest;->setLocPathIterator(Lorg/apache/xpath/axes/LocPathIterator;)V
-HPLorg/apache/xpath/axes/SubContextList;->getProximityPosition(Lorg/apache/xpath/XPathContext;)I
-HPLorg/apache/xpath/axes/WalkerFactory;->analyze(Lorg/apache/xpath/compiler/Compiler;II)I
-HPLorg/apache/xpath/axes/WalkerFactory;->analyzePredicate(Lorg/apache/xpath/compiler/Compiler;II)Z
-HPLorg/apache/xpath/axes/WalkerFactory;->canCrissCross(I)Z
-HPLorg/apache/xpath/axes/WalkerFactory;->createDefaultWalker(Lorg/apache/xpath/compiler/Compiler;ILorg/apache/xpath/axes/WalkingIterator;I)Lorg/apache/xpath/axes/AxesWalker;
-HPLorg/apache/xpath/axes/WalkerFactory;->isNaturalDocOrder(Lorg/apache/xpath/compiler/Compiler;III)Z
-HPLorg/apache/xpath/axes/WalkerFactory;->isOptimizableForDescendantIterator(Lorg/apache/xpath/compiler/Compiler;II)Z
-HPLorg/apache/xpath/axes/WalkerFactory;->loadWalkers(Lorg/apache/xpath/axes/WalkingIterator;Lorg/apache/xpath/compiler/Compiler;II)Lorg/apache/xpath/axes/AxesWalker;
-HPLorg/apache/xpath/axes/WalkerFactory;->mightBeProximate(Lorg/apache/xpath/compiler/Compiler;II)Z
-HPLorg/apache/xpath/axes/WalkerFactory;->newDTMIterator(Lorg/apache/xpath/compiler/Compiler;IZ)Lorg/apache/xml/dtm/DTMIterator;
-HPLorg/apache/xpath/axes/WalkerFactory;->walksChildrenAndExtraAndSelfOnly(I)Z
-HPLorg/apache/xpath/axes/WalkerFactory;->walksChildrenOnly(I)Z
-HPLorg/apache/xpath/axes/WalkerFactory;->walksSelfOnly(I)Z
-HPLorg/apache/xpath/axes/WalkingIterator;->clone()Ljava/lang/Object;
-HPLorg/apache/xpath/axes/WalkingIterator;->nextNode()I
-HPLorg/apache/xpath/axes/WalkingIterator;->setRoot(ILjava/lang/Object;)V
-HPLorg/apache/xpath/compiler/Compiler;->compile(I)Lorg/apache/xpath/Expression;
-HPLorg/apache/xpath/compiler/Compiler;->countPredicates(I)I
-HPLorg/apache/xpath/compiler/Compiler;->getCompiledPredicates(I)[Lorg/apache/xpath/Expression;
-HPLorg/apache/xpath/compiler/Compiler;->getFunctionTable()Lorg/apache/xpath/compiler/FunctionTable;
-HPLorg/apache/xpath/compiler/Compiler;->getWhatToShow(I)I
-HPLorg/apache/xpath/compiler/Compiler;->locationPath(I)Lorg/apache/xpath/Expression;
-HPLorg/apache/xpath/compiler/Lexer;->mapPatternElemPos(IZZ)Z
-HPLorg/apache/xpath/compiler/Lexer;->tokenize(Ljava/lang/String;Ljava/util/Vector;)V
-HPLorg/apache/xpath/compiler/OpMap;->getArgLengthOfStep(I)I
-HPLorg/apache/xpath/compiler/OpMap;->getFirstPredicateOpPos(I)I
-HPLorg/apache/xpath/compiler/OpMap;->getNextOpPos(I)I
-HPLorg/apache/xpath/compiler/OpMap;->getNextStepPos(I)I
-HPLorg/apache/xpath/compiler/OpMap;->getOp(I)I
-HPLorg/apache/xpath/compiler/OpMap;->getStepLocalName(I)Ljava/lang/String;
-HPLorg/apache/xpath/compiler/OpMap;->getStepNS(I)Ljava/lang/String;
-HPLorg/apache/xpath/compiler/OpMap;->getTokenQueue()Lorg/apache/xml/utils/ObjectVector;
-HPLorg/apache/xpath/compiler/OpMap;->getTokenQueueSize()I
-HPLorg/apache/xpath/compiler/OpMap;->setOp(II)V
-HPLorg/apache/xpath/compiler/OpMap;->shrink()V
-HPLorg/apache/xpath/compiler/XPathParser;->AdditiveExpr(I)I
-HPLorg/apache/xpath/compiler/XPathParser;->AndExpr()V
-HPLorg/apache/xpath/compiler/XPathParser;->Basis()V
-HPLorg/apache/xpath/compiler/XPathParser;->EqualityExpr(I)I
-HPLorg/apache/xpath/compiler/XPathParser;->Expr()V
-HPLorg/apache/xpath/compiler/XPathParser;->FilterExpr()I
-HPLorg/apache/xpath/compiler/XPathParser;->LocationPath()V
-HPLorg/apache/xpath/compiler/XPathParser;->MultiplicativeExpr(I)I
-HPLorg/apache/xpath/compiler/XPathParser;->NodeTest(I)V
-HPLorg/apache/xpath/compiler/XPathParser;->OrExpr()V
-HPLorg/apache/xpath/compiler/XPathParser;->PathExpr()V
-HPLorg/apache/xpath/compiler/XPathParser;->PrimaryExpr()Z
-HPLorg/apache/xpath/compiler/XPathParser;->RelationalExpr(I)I
-HPLorg/apache/xpath/compiler/XPathParser;->RelativeLocationPath()Z
-HPLorg/apache/xpath/compiler/XPathParser;->Step()Z
-HPLorg/apache/xpath/compiler/XPathParser;->UnaryExpr()V
-HPLorg/apache/xpath/compiler/XPathParser;->UnionExpr()V
-HPLorg/apache/xpath/compiler/XPathParser;->appendOp(II)V
-HPLorg/apache/xpath/compiler/XPathParser;->initXPath(Lorg/apache/xpath/compiler/Compiler;Ljava/lang/String;Lorg/apache/xml/utils/PrefixResolver;)V
-HPLorg/apache/xpath/compiler/XPathParser;->lookahead(CI)Z
-HPLorg/apache/xpath/compiler/XPathParser;->lookahead(Ljava/lang/String;I)Z
-HPLorg/apache/xpath/compiler/XPathParser;->nextToken()V
-HPLorg/apache/xpath/jaxp/XPathExpressionImpl;->eval(Ljava/lang/Object;)Lorg/apache/xpath/objects/XObject;
-HPLorg/apache/xpath/jaxp/XPathExpressionImpl;->eval(Ljava/lang/Object;Ljavax/xml/namespace/QName;)Ljava/lang/Object;
-HPLorg/apache/xpath/jaxp/XPathExpressionImpl;->evaluate(Ljava/lang/Object;Ljavax/xml/namespace/QName;)Ljava/lang/Object;
-HPLorg/apache/xpath/jaxp/XPathExpressionImpl;->getResultAsType(Lorg/apache/xpath/objects/XObject;Ljavax/xml/namespace/QName;)Ljava/lang/Object;
-HPLorg/apache/xpath/jaxp/XPathExpressionImpl;->isSupported(Ljavax/xml/namespace/QName;)Z
-HPLorg/apache/xpath/jaxp/XPathFactoryImpl;-><init>()V
-HPLorg/apache/xpath/jaxp/XPathFactoryImpl;->newXPath()Ljavax/xml/xpath/XPath;
-HPLorg/apache/xpath/jaxp/XPathImpl;->compile(Ljava/lang/String;)Ljavax/xml/xpath/XPathExpression;
-HPLorg/apache/xpath/objects/EqualComparator;-><init>()V
-HPLorg/apache/xpath/objects/GreaterThanComparator;-><init>()V
-HPLorg/apache/xpath/objects/GreaterThanOrEqualComparator;-><init>()V
-HPLorg/apache/xpath/objects/LessThanComparator;-><init>()V
-HPLorg/apache/xpath/objects/LessThanOrEqualComparator;-><init>()V
-HPLorg/apache/xpath/objects/NotEqualComparator;-><init>()V
-HPLorg/apache/xpath/objects/XMLStringFactoryImpl;-><init>()V
-HPLorg/apache/xpath/objects/XNodeSet;-><init>(Lorg/apache/xml/dtm/DTMIterator;)V
-HPLorg/apache/xpath/objects/XNodeSet;->nodelist()Lorg/w3c/dom/NodeList;
-HPLorg/apache/xpath/objects/XNumber;-><init>(D)V
-HPLorg/apache/xpath/patterns/NodeTest;->calcScore()V
-HPLorg/apache/xpath/patterns/NodeTest;->execute(Lorg/apache/xpath/XPathContext;I)Lorg/apache/xpath/objects/XObject;
-HPLorg/apache/xpath/patterns/NodeTest;->initNodeTest(ILjava/lang/String;Ljava/lang/String;)V
-HPLorg/ccil/cowan/tagsoup/AttributesImpl;->setAttribute(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HPLorg/ccil/cowan/tagsoup/Element;->anonymize()V
-HPLorg/ccil/cowan/tagsoup/Element;->preclose()V
-# HPLorg/ccil/cowan/tagsoup/HTMLSchema;-><init>()V b/76145463
+HPLorg/apache/harmony/xml/parsers/SAXParserFactoryImpl;->getFeature(Ljava/lang/String;)Z
+HPLorg/apache/harmony/xml/parsers/SAXParserFactoryImpl;->isValidating()Z
+HPLorg/apache/harmony/xml/parsers/SAXParserFactoryImpl;->newSAXParser()Ljavax/xml/parsers/SAXParser;
+HPLorg/apache/harmony/xml/parsers/SAXParserImpl;->getXMLReader()Lorg/xml/sax/XMLReader;
+HPLorg/apache/harmony/xml/parsers/SAXParserImpl;->resetInternal()V
+HPLorg/apache/http/conn/ssl/AbstractVerifier;->acceptableCountryWildcard(Ljava/lang/String;)Z
+HPLorg/apache/http/conn/ssl/AbstractVerifier;->getCNs(Ljava/security/cert/X509Certificate;)[Ljava/lang/String;
+HPLorg/apache/http/conn/ssl/AbstractVerifier;->getDNSSubjectAlts(Ljava/security/cert/X509Certificate;)[Ljava/lang/String;
+HPLorg/apache/http/conn/ssl/AbstractVerifier;->verify(Ljava/lang/String;Ljavax/net/ssl/SSLSocket;)V
+HPLorg/apache/http/conn/ssl/AbstractVerifier;->verify(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z)V
+HPLorg/apache/http/conn/ssl/AndroidDistinguishedNameParser;->escapedAV()Ljava/lang/String;
+HPLorg/apache/http/conn/ssl/AndroidDistinguishedNameParser;->getAllMostSpecificFirst(Ljava/lang/String;)Ljava/util/List;
+HPLorg/apache/http/conn/ssl/AndroidDistinguishedNameParser;->nextAT()Ljava/lang/String;
+HPLorg/apache/http/conn/ssl/BrowserCompatHostnameVerifier;->verify(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
+HPLorg/apache/http/conn/ssl/SSLSocketFactory;-><init>(Ljavax/net/ssl/SSLSocketFactory;)V
+HPLorg/apache/http/conn/ssl/SSLSocketFactory;->createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;
+HPLorg/apache/http/conn/ssl/SSLSocketFactory;->isSecure(Ljava/net/Socket;)Z
+HPLorg/apache/http/params/HttpConnectionParams;->getConnectionTimeout(Lorg/apache/http/params/HttpParams;)I
+HPLorg/apache/http/params/HttpConnectionParams;->getLinger(Lorg/apache/http/params/HttpParams;)I
+HPLorg/apache/http/params/HttpConnectionParams;->getSoTimeout(Lorg/apache/http/params/HttpParams;)I
+HPLorg/apache/http/params/HttpConnectionParams;->getSocketBufferSize(Lorg/apache/http/params/HttpParams;)I
+HPLorg/apache/http/params/HttpConnectionParams;->getTcpNoDelay(Lorg/apache/http/params/HttpParams;)Z
+HPLorg/apache/http/params/HttpConnectionParams;->isStaleCheckingEnabled(Lorg/apache/http/params/HttpParams;)Z
+HPLorg/apache/http/params/HttpConnectionParams;->setSocketBufferSize(Lorg/apache/http/params/HttpParams;I)V
+HPLorg/apache/http/params/HttpConnectionParams;->setStaleCheckingEnabled(Lorg/apache/http/params/HttpParams;Z)V
+HPLorg/ccil/cowan/tagsoup/AttributesImpl;->getValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HPLorg/ccil/cowan/tagsoup/Element;->isPreclosed()Z
+HPLorg/ccil/cowan/tagsoup/Element;->model()I
+HPLorg/ccil/cowan/tagsoup/Element;->setAttribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HPLorg/ccil/cowan/tagsoup/ElementType;->model()I
+HPLorg/ccil/cowan/tagsoup/Parser;->aname([CII)V
+HPLorg/ccil/cowan/tagsoup/Parser;->aval([CII)V
+HPLorg/ccil/cowan/tagsoup/Parser;->etag([CII)V
+HPLorg/ccil/cowan/tagsoup/Parser;->etag_basic([CII)V
+HPLorg/ccil/cowan/tagsoup/Parser;->etag_cdata([CII)Z
+HPLorg/ccil/cowan/tagsoup/Parser;->expandEntities(Ljava/lang/String;)Ljava/lang/String;
+HPLorg/ccil/cowan/tagsoup/Parser;->gi([CII)V
+HPLorg/ccil/cowan/tagsoup/Parser;->makeName([CII)Ljava/lang/String;
+HPLorg/ccil/cowan/tagsoup/Parser;->stagc([CII)V
+HPLorg/ccil/cowan/tagsoup/Parser;->stage([CII)V
+HPLorg/ccil/cowan/tagsoup/Schema;->getEntity(Ljava/lang/String;)I
+HPLorg/json/JSONArray;-><init>(Ljava/lang/Object;)V
+HPLorg/json/JSONArray;->getLong(I)J
 HPLorg/json/JSONArray;->optDouble(I)D
 HPLorg/json/JSONArray;->optDouble(ID)D
-HPLorg/json/JSONStringer;->value(J)Lorg/json/JSONStringer;
-HPLorg/json/JSONStringer;->value(Z)Lorg/json/JSONStringer;
+HPLorg/json/JSONArray;->optLong(I)J
+HPLorg/json/JSONArray;->optLong(IJ)J
+HPLorg/json/JSONArray;->put(I)Lorg/json/JSONArray;
+HPLorg/json/JSONArray;->put(II)Lorg/json/JSONArray;
+HPLorg/json/JSONArray;->put(ILjava/lang/Object;)Lorg/json/JSONArray;
+HPLorg/json/JSONArray;->put(IZ)Lorg/json/JSONArray;
+HPLorg/json/JSONArray;->put(J)Lorg/json/JSONArray;
+HPLorg/json/JSONObject;->optDouble(Ljava/lang/String;)D
+HPLorg/json/JSONObject;->put(Ljava/lang/String;D)Lorg/json/JSONObject;
+HPLorg/json/JSONObject;->quote(Ljava/lang/String;)Ljava/lang/String;
+HPLorg/json/JSONObject;->toString(I)Ljava/lang/String;
+HPLorg/json/JSONTokener;->skipToEndOfLine()V
 HPLorg/json/JSONTokener;->syntaxError(Ljava/lang/String;)Lorg/json/JSONException;
 HPLorg/json/JSONTokener;->toString()Ljava/lang/String;
-HPLcom/android/org/kxml2/io/KXmlSerializer;->getDepth()I
-HPLcom/android/org/kxml2/io/KXmlSerializer;->getNamespace()Ljava/lang/String;
-HPLcom/android/org/kxml2/io/KXmlSerializer;->getPrefix(Ljava/lang/String;ZZ)Ljava/lang/String;
-HPLcom/android/org/kxml2/io/KXmlSerializer;->setPrefix(Ljava/lang/String;Ljava/lang/String;)V
-HPLcom/android/org/kxml2/io/KXmlSerializer;->text(Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
-HPLorg/w3c/dom/NamedNodeMap;->getLength()I
-HPLorg/w3c/dom/NamedNodeMap;->getNamedItem(Ljava/lang/String;)Lorg/w3c/dom/Node;
-HPLorg/w3c/dom/NamedNodeMap;->getNamedItemNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Node;
-HPLorg/w3c/dom/NamedNodeMap;->item(I)Lorg/w3c/dom/Node;
-HPLorg/w3c/dom/NamedNodeMap;->removeNamedItem(Ljava/lang/String;)Lorg/w3c/dom/Node;
-HPLorg/w3c/dom/NamedNodeMap;->removeNamedItemNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Node;
-HPLorg/w3c/dom/NamedNodeMap;->setNamedItem(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
-HPLorg/w3c/dom/NamedNodeMap;->setNamedItemNS(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
-HPLorg/w3c/dom/ProcessingInstruction;->getData()Ljava/lang/String;
-HPLorg/w3c/dom/ProcessingInstruction;->getTarget()Ljava/lang/String;
-HPLorg/w3c/dom/ProcessingInstruction;->setData(Ljava/lang/String;)V
-HPLorg/xml/sax/InputSource;-><init>()V
-HPLorg/xml/sax/InputSource;-><init>(Ljava/io/Reader;)V
-HPLorg/xml/sax/InputSource;->setCharacterStream(Ljava/io/Reader;)V
-HPLorg/xml/sax/ext/DefaultHandler2;->endDTD()V
-HPLorg/xml/sax/ext/DefaultHandler2;->startDTD(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HPLsun/misc/FDBigInteger;->add(Lsun/misc/FDBigInteger;)Lsun/misc/FDBigInteger;
-HPLsun/misc/FloatingDecimal;->toJavaFormatString(F)Ljava/lang/String;
+HPLorg/xml/sax/helpers/AttributesImpl;-><init>(Lorg/xml/sax/Attributes;)V
+HPLorg/xml/sax/helpers/AttributesImpl;->clear()V
+HPLorg/xml/sax/helpers/AttributesImpl;->getValue(Ljava/lang/String;)Ljava/lang/String;
+HPLorg/xml/sax/helpers/AttributesImpl;->setAttributes(Lorg/xml/sax/Attributes;)V
+HPLorg/xml/sax/helpers/DefaultHandler;->startDocument()V
+HPLorg/xmlpull/v1/XmlPullParserFactory;->getSerializerInstance()Lorg/xmlpull/v1/XmlSerializer;
+HPLorg/xmlpull/v1/XmlPullParserFactory;->newSerializer()Lorg/xmlpull/v1/XmlSerializer;
+HPLsun/invoke/util/Wrapper;->forPrimitiveType(Ljava/lang/Class;)Lsun/invoke/util/Wrapper;
+HPLsun/misc/FloatingDecimal;->parseDouble(Ljava/lang/String;)D
 HPLsun/misc/FormattedFloatingDecimal;->getExponent()[C
 HPLsun/misc/FormattedFloatingDecimal;->getExponentRounded()I
 HPLsun/net/ConnectionResetException;-><init>(Ljava/lang/String;)V
 HPLsun/nio/ch/AbstractPollArrayWrapper;->getDescriptor(I)I
 HPLsun/nio/ch/AbstractPollArrayWrapper;->getEventOps(I)I
-HPLsun/nio/ch/ChannelInputStream;->read()I
 HPLsun/nio/ch/FileChannelImpl;->truncate(J)Ljava/nio/channels/FileChannel;
+HPLsun/nio/ch/FileDispatcherImpl;->truncate(Ljava/io/FileDescriptor;J)I
+HPLsun/nio/ch/FileKey;->equals(Ljava/lang/Object;)Z
 HPLsun/nio/ch/Net;->translateToSocketException(Ljava/lang/Exception;)V
 HPLsun/nio/ch/SharedFileLockTable$FileLockReference;->fileKey()Lsun/nio/ch/FileKey;
-HPLsun/nio/ch/SocketAdaptor;->close()V
+HPLsun/nio/ch/SharedFileLockTable;->checkList(Ljava/util/List;JJ)V
+HPLsun/nio/ch/SocketChannelImpl;->finalize()V
+HPLsun/nio/cs/StreamEncoder;->flushBuffer()V
+HPLsun/nio/cs/ThreadLocalCoders$1;->create(Ljava/lang/Object;)Ljava/lang/Object;
+HPLsun/nio/cs/ThreadLocalCoders$1;->hasName(Ljava/lang/Object;Ljava/lang/Object;)Z
+HPLsun/nio/fs/Globs;->toRegexPattern(Ljava/lang/String;Z)Ljava/lang/String;
 HPLsun/nio/fs/NativeBuffer$Deallocator;->run()V
-HPLsun/security/jca/Providers;->startJarVerification()Ljava/lang/Object;
-HPLsun/security/jca/Providers;->stopJarVerification(Ljava/lang/Object;)V
-HPLsun/security/pkcs/PKCS7$VerbatimX509Certificate;->getEncoded()[B
+HPLsun/nio/fs/UnixDirectoryStream$UnixDirectoryIterator;->hasNext()Z
+HPLsun/nio/fs/UnixDirectoryStream$UnixDirectoryIterator;->next()Ljava/lang/Object;
+HPLsun/nio/fs/UnixDirectoryStream$UnixDirectoryIterator;->next()Ljava/nio/file/Path;
+HPLsun/nio/fs/UnixDirectoryStream$UnixDirectoryIterator;->readNextEntry()Ljava/nio/file/Path;
+HPLsun/nio/fs/UnixDirectoryStream;->close()V
+HPLsun/nio/fs/UnixDirectoryStream;->closeImpl()Z
+HPLsun/nio/fs/UnixDirectoryStream;->finalize()V
+HPLsun/nio/fs/UnixDirectoryStream;->iterator(Ljava/nio/file/DirectoryStream;)Ljava/util/Iterator;
+HPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->creationTime()Ljava/nio/file/attribute/FileTime;
+HPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->lastAccessTime()Ljava/nio/file/attribute/FileTime;
+HPLsun/nio/fs/UnixFileAttributes$UnixAsBasicFileAttributes;->lastModifiedTime()Ljava/nio/file/attribute/FileTime;
+HPLsun/nio/fs/UnixFileAttributes;->creationTime()Ljava/nio/file/attribute/FileTime;
+HPLsun/nio/fs/UnixFileAttributes;->lastAccessTime()Ljava/nio/file/attribute/FileTime;
+HPLsun/nio/fs/UnixFileAttributes;->lastModifiedTime()Ljava/nio/file/attribute/FileTime;
+HPLsun/nio/fs/UnixFileSystem$3;->matches(Ljava/nio/file/Path;)Z
+HPLsun/nio/fs/UnixFileSystem;->compilePathMatchPattern(Ljava/lang/String;)Ljava/util/regex/Pattern;
+HPLsun/nio/fs/UnixFileSystem;->getPathMatcher(Ljava/lang/String;)Ljava/nio/file/PathMatcher;
+HPLsun/nio/fs/UnixFileSystemProvider;->createLink(Ljava/nio/file/Path;Ljava/nio/file/Path;)V
+HPLsun/nio/fs/UnixFileSystemProvider;->newDirectoryStream(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;
+HPLsun/nio/fs/UnixNativeDispatcher;->link(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixPath;)V
+HPLsun/nio/fs/UnixPath;->getFileName()Ljava/nio/file/Path;
+HPLsun/nio/fs/UnixPath;->getFileName()Lsun/nio/fs/UnixPath;
+HPLsun/nio/fs/UnixPath;->resolve([B)Lsun/nio/fs/UnixPath;
+HPLsun/nio/fs/UnixSecureDirectoryStream;->close()V
+HPLsun/nio/fs/UnixSecureDirectoryStream;->finalize()V
+HPLsun/nio/fs/UnixSecureDirectoryStream;->iterator()Ljava/util/Iterator;
+HPLsun/security/pkcs/PKCS9Attribute;-><init>(Lsun/security/util/DerValue;)V
+HPLsun/security/pkcs/PKCS9Attributes;->decode(Lsun/security/util/DerInputStream;)[B
 HPLsun/security/provider/certpath/AdaptableX509CertSelector;->setValidityPeriod(Ljava/util/Date;Ljava/util/Date;)V
 HPLsun/security/provider/certpath/AdjacencyList;->buildList(Ljava/util/List;ILsun/security/provider/certpath/BuildStep;)Z
 HPLsun/security/provider/certpath/AlgorithmChecker;-><init>(Ljava/security/cert/TrustAnchor;)V
+HPLsun/security/provider/certpath/AlgorithmChecker;->check(Ljava/security/PublicKey;Lsun/security/x509/AlgorithmId;)V
 HPLsun/security/provider/certpath/AlgorithmChecker;->isForwardCheckingSupported()Z
 HPLsun/security/provider/certpath/AlgorithmChecker;->trySetTrustAnchor(Ljava/security/cert/TrustAnchor;)V
-HPLsun/security/provider/certpath/Builder;->addCertToPath(Ljava/security/cert/X509Certificate;Ljava/util/LinkedList;)V
 HPLsun/security/provider/certpath/Builder;->addMatchingCerts(Ljava/security/cert/X509CertSelector;Ljava/util/Collection;Ljava/util/Collection;Z)Z
-HPLsun/security/provider/certpath/Builder;->getMatchingCerts(Lsun/security/provider/certpath/State;Ljava/util/List;)Ljava/util/Collection;
-HPLsun/security/provider/certpath/Builder;->isPathCompleted(Ljava/security/cert/X509Certificate;)Z
-HPLsun/security/provider/certpath/Builder;->removeFinalCertFromPath(Ljava/util/LinkedList;)V
-HPLsun/security/provider/certpath/Builder;->verifyCert(Ljava/security/cert/X509Certificate;Lsun/security/provider/certpath/State;Ljava/util/List;)V
+HPLsun/security/provider/certpath/CertId;-><init>(Ljavax/security/auth/x500/X500Principal;Ljava/security/PublicKey;Lsun/security/x509/SerialNumber;)V
+HPLsun/security/provider/certpath/CertId;-><init>(Lsun/security/util/DerInputStream;)V
+HPLsun/security/provider/certpath/CertId;->equals(Ljava/lang/Object;)Z
+HPLsun/security/provider/certpath/CertId;->getHashAlgorithm()Lsun/security/x509/AlgorithmId;
+HPLsun/security/provider/certpath/CertId;->getIssuerKeyHash()[B
+HPLsun/security/provider/certpath/CertId;->getIssuerNameHash()[B
+HPLsun/security/provider/certpath/CertId;->getSerialNumber()Ljava/math/BigInteger;
+HPLsun/security/provider/certpath/CertId;->hashCode()I
 HPLsun/security/provider/certpath/ForwardBuilder$PKIXCertComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HPLsun/security/provider/certpath/ForwardBuilder$PKIXCertComparator;->compare(Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)I
 HPLsun/security/provider/certpath/ForwardBuilder;-><init>(Lsun/security/provider/certpath/PKIX$BuilderParams;Z)V
@@ -12334,6 +13034,12 @@
 HPLsun/security/provider/certpath/ForwardState;->isInitial()Z
 HPLsun/security/provider/certpath/ForwardState;->keyParamsNeeded()Z
 HPLsun/security/provider/certpath/ForwardState;->updateState(Ljava/security/cert/X509Certificate;)V
+HPLsun/security/provider/certpath/OCSPResponse$SingleResponse;-><init>(Lsun/security/util/DerValue;)V
+HPLsun/security/provider/certpath/OCSPResponse$SingleResponse;-><init>(Lsun/security/util/DerValue;Lsun/security/provider/certpath/OCSPResponse$1;)V
+HPLsun/security/provider/certpath/OCSPResponse$SingleResponse;->access$100(Lsun/security/provider/certpath/OCSPResponse$SingleResponse;)Lsun/security/provider/certpath/CertId;
+HPLsun/security/provider/certpath/OCSPResponse;-><init>([B)V
+HPLsun/security/provider/certpath/OCSPResponse;->verify(Ljava/util/List;Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;Ljava/util/Date;[B)V
+HPLsun/security/provider/certpath/OCSPResponse;->verifySignature(Ljava/security/cert/X509Certificate;)Z
 HPLsun/security/provider/certpath/PKIX$BuilderParams;->certStores()Ljava/util/List;
 HPLsun/security/provider/certpath/PKIX$BuilderParams;->checkParams(Ljava/security/cert/PKIXBuilderParameters;)V
 HPLsun/security/provider/certpath/PKIX$BuilderParams;->getTargetSubject(Ljava/util/List;Ljava/security/cert/X509CertSelector;)Ljavax/security/auth/x500/X500Principal;
@@ -12342,10 +13048,6 @@
 HPLsun/security/provider/certpath/PKIX$ValidatorParams;->setCertPath(Ljava/security/cert/CertPath;)V
 HPLsun/security/provider/certpath/PolicyChecker;->getPolicyTree()Ljava/security/cert/PolicyNode;
 HPLsun/security/provider/certpath/PolicyChecker;->isForwardCheckingSupported()Z
-HPLsun/security/provider/certpath/State;->clone()Ljava/lang/Object;
-HPLsun/security/provider/certpath/State;->isInitial()Z
-HPLsun/security/provider/certpath/State;->keyParamsNeeded()Z
-HPLsun/security/provider/certpath/State;->updateState(Ljava/security/cert/X509Certificate;)V
 HPLsun/security/provider/certpath/SunCertPathBuilder;-><init>()V
 HPLsun/security/provider/certpath/SunCertPathBuilder;->addVertices(Ljava/util/Collection;Ljava/util/List;)Ljava/util/List;
 HPLsun/security/provider/certpath/SunCertPathBuilder;->build()Ljava/security/cert/PKIXCertPathBuilderResult;
@@ -12358,35 +13060,43 @@
 HPLsun/security/provider/certpath/Vertex;->getIndex()I
 HPLsun/security/provider/certpath/Vertex;->getThrowable()Ljava/lang/Throwable;
 HPLsun/security/provider/certpath/Vertex;->setIndex(I)V
+HPLsun/security/util/DerInputStream;->getEnumerated()I
+HPLsun/security/x509/AlgorithmId;->hashCode()I
+HPLsun/security/x509/AlgorithmId;->paramsToString()Ljava/lang/String;
+HPLsun/security/x509/CertificateExtensions;->get(Ljava/lang/String;)Lsun/security/x509/Extension;
+HPLsun/security/x509/CertificateSerialNumber;->get(Ljava/lang/String;)Lsun/security/x509/SerialNumber;
 HPLsun/security/x509/CertificateValidity;->get(Ljava/lang/String;)Ljava/util/Date;
-HPLsun/security/x509/DNSName;->getName()Ljava/lang/String;
-HPLsun/security/x509/DNSName;->getType()I
-HPLsun/security/x509/GeneralName;->getName()Lsun/security/x509/GeneralNameInterface;
-HPLsun/security/x509/GeneralNames;->isEmpty()Z
-HPLsun/security/x509/GeneralNames;->names()Ljava/util/List;
+HPLsun/security/x509/CertificateValidity;->valid(Ljava/util/Date;)V
+HPLsun/security/x509/CertificateX509Key;->get(Ljava/lang/String;)Ljava/security/PublicKey;
+HPLsun/security/x509/ExtendedKeyUsageExtension;->getExtendedKeyUsage()Ljava/util/List;
+HPLsun/security/x509/KeyIdentifier;->equals(Ljava/lang/Object;)Z
+HPLsun/security/x509/KeyUsageExtension;->getBits()[Z
+HPLsun/security/x509/OCSPNoCheckExtension;-><init>(Ljava/lang/Boolean;Ljava/lang/Object;)V
+HPLsun/security/x509/OCSPNoCheckExtension;->getName()Ljava/lang/String;
 HPLsun/security/x509/RFC822Name;->parseName(Ljava/lang/String;)V
-HPLsun/security/x509/SubjectAlternativeNameExtension;->get(Ljava/lang/String;)Lsun/security/x509/GeneralNames;
+HPLsun/security/x509/SerialNumber;->getNumber()Ljava/math/BigInteger;
+HPLsun/security/x509/SubjectKeyIdentifierExtension;->get(Ljava/lang/String;)Lsun/security/x509/KeyIdentifier;
+HPLsun/security/x509/X509CertImpl;->checkValidity(Ljava/util/Date;)V
+HPLsun/security/x509/X509CertImpl;->getExtendedKeyUsage()Ljava/util/List;
+HPLsun/security/x509/X509CertImpl;->getExtendedKeyUsageExtension()Lsun/security/x509/ExtendedKeyUsageExtension;
+HPLsun/security/x509/X509CertImpl;->getKeyUsage()[Z
 HPLsun/security/x509/X509CertImpl;->getNotAfter()Ljava/util/Date;
 HPLsun/security/x509/X509CertImpl;->getNotBefore()Ljava/util/Date;
+HPLsun/security/x509/X509CertImpl;->getPublicKey()Ljava/security/PublicKey;
+HPLsun/security/x509/X509CertImpl;->getSerialNumberObject()Lsun/security/x509/SerialNumber;
 HPLsun/security/x509/X509CertImpl;->getSubjectAlternativeNameExtension()Lsun/security/x509/SubjectAlternativeNameExtension;
-HPLsun/security/x509/X509CertImpl;->getSubjectAlternativeNames(Ljava/security/cert/X509Certificate;)Ljava/util/Collection;
+HPLsun/security/x509/X509CertImpl;->getSubjectKeyId()Lsun/security/x509/KeyIdentifier;
+HPLsun/security/x509/X509CertImpl;->getSubjectKeyIdentifierExtension()Lsun/security/x509/SubjectKeyIdentifierExtension;
 HPLsun/security/x509/X509CertImpl;->isSelfSigned(Ljava/security/cert/X509Certificate;Ljava/lang/String;)Z
-HPLsun/security/x509/X509CertImpl;->makeAltNames(Lsun/security/x509/GeneralNames;)Ljava/util/Collection;
-HSLandroid/app/PendingIntent$OnFinished;->onSendFinished(Landroid/app/PendingIntent;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;)V
-HSLandroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
-HSLandroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;->onParoleStateChanged(Z)V
-HSLandroid/content/ComponentName$WithComponentName;->getComponentName()Landroid/content/ComponentName;
-HSLandroid/content/pm/RegisteredServicesCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
-HSLandroid/content/pm/RegisteredServicesCacheListener;->onServiceChanged(Ljava/lang/Object;IZ)V
-HSLandroid/content/pm/XmlSerializerAndParser;->createFromXml(Lorg/xmlpull/v1/XmlPullParser;)Ljava/lang/Object;
-HSLandroid/content/pm/XmlSerializerAndParser;->writeAsXml(Ljava/lang/Object;Lorg/xmlpull/v1/XmlSerializer;)V
-HSLandroid/net/INetdEventCallback;->onPrivateDnsValidationEvent(ILjava/lang/String;Ljava/lang/String;Z)V
-HSLandroid/os/UEventObserver;->onUEvent(Landroid/os/UEventObserver$UEvent;)V
-HSLjava/util/concurrent/ExecutorService;->awaitTermination(JLjava/util/concurrent/TimeUnit;)Z
-HSLjava/util/concurrent/ExecutorService;->isTerminated()Z
-HSLjava/util/concurrent/ExecutorService;->shutdownNow()Ljava/util/List;
-HSLjava/util/stream/Node$Builder$OfInt;->build()Ljava/util/stream/Node$OfInt;
-HSLjava/util/stream/Node$Builder;->build()Ljava/util/stream/Node;
+HPLsun/security/x509/X509CertImpl;->verify(Ljava/security/PublicKey;)V
+HPLsun/security/x509/X509CertImpl;->verify(Ljava/security/PublicKey;Ljava/lang/String;)V
+HPLsun/security/x509/X509CertInfo;->getEncodedInfo()[B
+HPLsun/util/locale/InternalLocaleBuilder;->setLanguage(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder;
+HPLsun/util/locale/LocaleMatcher;->getEquivalentForRegionAndVariant(Ljava/lang/String;)Ljava/lang/String;
+HPLsun/util/locale/LocaleMatcher;->getEquivalentsForLanguage(Ljava/lang/String;)[Ljava/lang/String;
+HPLsun/util/locale/LocaleMatcher;->lookup(Ljava/util/List;Ljava/util/Collection;)Ljava/util/Locale;
+HPLsun/util/locale/LocaleMatcher;->lookupTag(Ljava/util/List;Ljava/util/Collection;)Ljava/lang/String;
+HPLsun/util/locale/LocaleMatcher;->parse(Ljava/lang/String;)Ljava/util/List;
 HSPLandroid/accessibilityservice/AccessibilityServiceInfo$1;-><init>()V
 HSPLandroid/accessibilityservice/AccessibilityServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/accessibilityservice/AccessibilityServiceInfo;
 HSPLandroid/accessibilityservice/AccessibilityServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -12397,38 +13107,7 @@
 HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->getResolveInfo()Landroid/content/pm/ResolveInfo;
 HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->initFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->isDirectBootAware()Z
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->disableSelf()V
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->findAccessibilityNodeInfoByAccessibilityId(IJILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IJLandroid/os/Bundle;)[Ljava/lang/String;
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->findAccessibilityNodeInfosByText(IJLjava/lang/String;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)[Ljava/lang/String;
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->findAccessibilityNodeInfosByViewId(IJLjava/lang/String;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)[Ljava/lang/String;
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->findFocus(IJIILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)[Ljava/lang/String;
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->focusSearch(IJIILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)[Ljava/lang/String;
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->getMagnificationCenterX()F
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->getMagnificationCenterY()F
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->getMagnificationRegion()Landroid/graphics/Region;
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->getMagnificationScale()F
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->getServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->getWindow(I)Landroid/view/accessibility/AccessibilityWindowInfo;
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->getWindows()Ljava/util/List;
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->isAccessibilityButtonAvailable()Z
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->isFingerprintGestureDetectionAvailable()Z
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->performAccessibilityAction(IJILandroid/os/Bundle;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)Z
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->performGlobalAction(I)Z
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->resetMagnification(Z)Z
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->sendGesture(ILandroid/content/pm/ParceledListSlice;)V
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->setMagnificationCallbackEnabled(Z)V
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->setMagnificationScaleAndCenter(FFFZ)Z
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->setOnKeyEventResult(ZI)V
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->setServiceInfo(Landroid/accessibilityservice/AccessibilityServiceInfo;)V
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->setSoftKeyboardCallbackEnabled(Z)V
-HSPLandroid/accessibilityservice/IAccessibilityServiceConnection;->setSoftKeyboardShowMode(I)Z
-HSPLandroid/accounts/AbstractAccountAuthenticator;->addAccount(Landroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
-HSPLandroid/accounts/AbstractAccountAuthenticator;->confirmCredentials(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)Landroid/os/Bundle;
-HSPLandroid/accounts/AbstractAccountAuthenticator;->editProperties(Landroid/accounts/AccountAuthenticatorResponse;Ljava/lang/String;)Landroid/os/Bundle;
-HSPLandroid/accounts/AbstractAccountAuthenticator;->getAuthToken(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
-HSPLandroid/accounts/AbstractAccountAuthenticator;->getAuthTokenLabel(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/accounts/AbstractAccountAuthenticator;->hasFeatures(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;[Ljava/lang/String;)Landroid/os/Bundle;
-HSPLandroid/accounts/AbstractAccountAuthenticator;->updateCredentials(Landroid/accounts/AccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
+HSPLandroid/accessibilityservice/AccessibilityServiceInfo;->loadSummary(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
 HSPLandroid/accounts/Account$1;-><init>()V
 HSPLandroid/accounts/Account$1;->createFromParcel(Landroid/os/Parcel;)Landroid/accounts/Account;
 HSPLandroid/accounts/Account$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -12448,13 +13127,9 @@
 HSPLandroid/accounts/AccountManager$2;->bundleToResult(Landroid/os/Bundle;)Ljava/lang/Boolean;
 HSPLandroid/accounts/AccountManager$2;->bundleToResult(Landroid/os/Bundle;)Ljava/lang/Object;
 HSPLandroid/accounts/AccountManager$2;->doWork()V
-HSPLandroid/accounts/AccountManager$3;->bundleToResult(Landroid/os/Bundle;)Ljava/lang/Object;
-HSPLandroid/accounts/AccountManager$3;->bundleToResult(Landroid/os/Bundle;)[Landroid/accounts/Account;
-HSPLandroid/accounts/AccountManager$3;->doWork()V
 HSPLandroid/accounts/AccountManager$AmsTask$1;-><init>(Landroid/accounts/AccountManager;)V
 HSPLandroid/accounts/AccountManager$AmsTask$Response;-><init>(Landroid/accounts/AccountManager$AmsTask;Landroid/accounts/AccountManager$1;)V
 HSPLandroid/accounts/AccountManager$AmsTask$Response;->onResult(Landroid/os/Bundle;)V
-HSPLandroid/accounts/AccountManager$AmsTask;->doWork()V
 HSPLandroid/accounts/AccountManager$AmsTask;->done()V
 HSPLandroid/accounts/AccountManager$AmsTask;->getResult()Landroid/os/Bundle;
 HSPLandroid/accounts/AccountManager$AmsTask;->getResult()Ljava/lang/Object;
@@ -12462,16 +13137,11 @@
 HSPLandroid/accounts/AccountManager$AmsTask;->set(Landroid/os/Bundle;)V
 HSPLandroid/accounts/AccountManager$AmsTask;->start()Landroid/accounts/AccountManagerFuture;
 HSPLandroid/accounts/AccountManager$BaseFutureTask$Response;->onResult(Landroid/os/Bundle;)V
-HSPLandroid/accounts/AccountManager$BaseFutureTask;->bundleToResult(Landroid/os/Bundle;)Ljava/lang/Object;
-HSPLandroid/accounts/AccountManager$BaseFutureTask;->doWork()V
-HSPLandroid/accounts/AccountManager$BaseFutureTask;->postRunnableToHandler(Ljava/lang/Runnable;)V
 HSPLandroid/accounts/AccountManager$BaseFutureTask;->startTask()V
-HSPLandroid/accounts/AccountManager$Future2Task$1;->run()V
 HSPLandroid/accounts/AccountManager$Future2Task;->done()V
 HSPLandroid/accounts/AccountManager$Future2Task;->getResult()Ljava/lang/Object;
 HSPLandroid/accounts/AccountManager$Future2Task;->internalGetResult(Ljava/lang/Long;Ljava/util/concurrent/TimeUnit;)Ljava/lang/Object;
 HSPLandroid/accounts/AccountManager;-><init>(Landroid/content/Context;Landroid/accounts/IAccountManager;)V
-HSPLandroid/accounts/AccountManager;->addAccountExplicitly(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Z
 HSPLandroid/accounts/AccountManager;->addOnAccountsUpdatedListener(Landroid/accounts/OnAccountsUpdateListener;Landroid/os/Handler;Z)V
 HSPLandroid/accounts/AccountManager;->addOnAccountsUpdatedListener(Landroid/accounts/OnAccountsUpdateListener;Landroid/os/Handler;Z[Ljava/lang/String;)V
 HSPLandroid/accounts/AccountManager;->blockingGetAuthToken(Landroid/accounts/Account;Ljava/lang/String;Z)Ljava/lang/String;
@@ -12480,31 +13150,13 @@
 HSPLandroid/accounts/AccountManager;->getAccounts()[Landroid/accounts/Account;
 HSPLandroid/accounts/AccountManager;->getAccountsAsUser(I)[Landroid/accounts/Account;
 HSPLandroid/accounts/AccountManager;->getAccountsByType(Ljava/lang/String;)[Landroid/accounts/Account;
-HSPLandroid/accounts/AccountManager;->getAccountsByTypeAndFeatures(Ljava/lang/String;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
 HSPLandroid/accounts/AccountManager;->getAccountsByTypeAsUser(Ljava/lang/String;Landroid/os/UserHandle;)[Landroid/accounts/Account;
 HSPLandroid/accounts/AccountManager;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
 HSPLandroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
 HSPLandroid/accounts/AccountManager;->getAuthToken(Landroid/accounts/Account;Ljava/lang/String;ZLandroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
 HSPLandroid/accounts/AccountManager;->getAuthenticatorTypes()[Landroid/accounts/AuthenticatorDescription;
 HSPLandroid/accounts/AccountManager;->getAuthenticatorTypesAsUser(I)[Landroid/accounts/AuthenticatorDescription;
-HSPLandroid/accounts/AccountManager;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
-HSPLandroid/accounts/AccountManager;->getPreviousName(Landroid/accounts/Account;)Ljava/lang/String;
-HSPLandroid/accounts/AccountManager;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/accounts/AccountManager;->hasFeatures(Landroid/accounts/Account;[Ljava/lang/String;Landroid/accounts/AccountManagerCallback;Landroid/os/Handler;)Landroid/accounts/AccountManagerFuture;
-HSPLandroid/accounts/AccountManager;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/accounts/AccountManager;->removeOnAccountsUpdatedListener(Landroid/accounts/OnAccountsUpdateListener;)V
-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/AccountManagerCallback;->run(Landroid/accounts/AccountManagerFuture;)V
-HSPLandroid/accounts/AccountManagerFuture;->cancel(Z)Z
-HSPLandroid/accounts/AccountManagerFuture;->isCancelled()Z
-HSPLandroid/accounts/AccountManagerFuture;->isDone()Z
-HSPLandroid/accounts/AccountManagerInternal$OnAppPermissionChangeListener;->onAppPermissionChanged(Landroid/accounts/Account;I)V
-HSPLandroid/accounts/AccountManagerInternal;->addOnAppPermissionChangeListener(Landroid/accounts/AccountManagerInternal$OnAppPermissionChangeListener;)V
-HSPLandroid/accounts/AccountManagerInternal;->backupAccountAccessPermissions(I)[B
-HSPLandroid/accounts/AccountManagerInternal;->hasAccountAccess(Landroid/accounts/Account;I)Z
-HSPLandroid/accounts/AccountManagerInternal;->requestAccountAccess(Landroid/accounts/Account;Ljava/lang/String;ILandroid/os/RemoteCallback;)V
-HSPLandroid/accounts/AccountManagerInternal;->restoreAccountAccessPermissions([BI)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;
@@ -12515,83 +13167,18 @@
 HSPLandroid/accounts/AuthenticatorDescription;->equals(Ljava/lang/Object;)Z
 HSPLandroid/accounts/AuthenticatorDescription;->hashCode()I
 HSPLandroid/accounts/AuthenticatorDescription;->newKey(Ljava/lang/String;)Landroid/accounts/AuthenticatorDescription;
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->addAccountExplicitly(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Z
 HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAccounts(Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
 HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getAccountsAsUser(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;
-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;->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;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->getPreviousName(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;->hasFeatures(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;[Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/accounts/IAccountManager$Stub$Proxy;->onAccountAccessed(Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager$Stub$Proxy;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/accounts/IAccountManager$Stub$Proxy;->registerAccountListener([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/accounts/IAccountManager$Stub;-><init>()V
-HSPLandroid/accounts/IAccountManager;->accountAuthenticated(Landroid/accounts/Account;)Z
-HSPLandroid/accounts/IAccountManager;->addAccount(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLandroid/os/Bundle;)V
-HSPLandroid/accounts/IAccountManager;->addAccountAsUser(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLandroid/os/Bundle;I)V
-HSPLandroid/accounts/IAccountManager;->addAccountExplicitly(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Z
-HSPLandroid/accounts/IAccountManager;->addAccountExplicitlyWithVisibility(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/Map;)Z
-HSPLandroid/accounts/IAccountManager;->addSharedAccountsFromParentUser(IILjava/lang/String;)V
-HSPLandroid/accounts/IAccountManager;->clearPassword(Landroid/accounts/Account;)V
-HSPLandroid/accounts/IAccountManager;->confirmCredentialsAsUser(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Landroid/os/Bundle;ZI)V
-HSPLandroid/accounts/IAccountManager;->copyAccountToUser(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;II)V
-HSPLandroid/accounts/IAccountManager;->createRequestAccountAccessIntentSenderAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/IntentSender;
-HSPLandroid/accounts/IAccountManager;->editProperties(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Z)V
-HSPLandroid/accounts/IAccountManager;->finishSessionAsUser(Landroid/accounts/IAccountManagerResponse;Landroid/os/Bundle;ZLandroid/os/Bundle;I)V
-HSPLandroid/accounts/IAccountManager;->getAccountByTypeAndFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager;->getAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;)I
-HSPLandroid/accounts/IAccountManager;->getAccounts(Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
-HSPLandroid/accounts/IAccountManager;->getAccountsAndVisibilityForPackage(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
-HSPLandroid/accounts/IAccountManager;->getAccountsAsUser(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;
-HSPLandroid/accounts/IAccountManager;->getAccountsByFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
-HSPLandroid/accounts/IAccountManager;->getAccountsForPackage(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;
-HSPLandroid/accounts/IAccountManager;->getAuthToken(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZZLandroid/os/Bundle;)V
-HSPLandroid/accounts/IAccountManager;->getAuthTokenLabel(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager;->getAuthenticatorTypes(I)[Landroid/accounts/AuthenticatorDescription;
-HSPLandroid/accounts/IAccountManager;->getPackagesAndVisibilityForAccount(Landroid/accounts/Account;)Ljava/util/Map;
-HSPLandroid/accounts/IAccountManager;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
-HSPLandroid/accounts/IAccountManager;->getPreviousName(Landroid/accounts/Account;)Ljava/lang/String;
-HSPLandroid/accounts/IAccountManager;->getSharedAccountsAsUser(I)[Landroid/accounts/Account;
-HSPLandroid/accounts/IAccountManager;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/accounts/IAccountManager;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Z
-HSPLandroid/accounts/IAccountManager;->hasFeatures(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;[Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager;->invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager;->isCredentialsUpdateSuggested(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager;->onAccountAccessed(Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/accounts/IAccountManager;->registerAccountListener([Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager;->removeAccount(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Z)V
-HSPLandroid/accounts/IAccountManager;->removeAccountAsUser(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;ZI)V
-HSPLandroid/accounts/IAccountManager;->removeAccountExplicitly(Landroid/accounts/Account;)Z
-HSPLandroid/accounts/IAccountManager;->removeSharedAccountAsUser(Landroid/accounts/Account;I)Z
-HSPLandroid/accounts/IAccountManager;->renameAccount(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager;->renameSharedAccountAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
-HSPLandroid/accounts/IAccountManager;->setAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;I)Z
-HSPLandroid/accounts/IAccountManager;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager;->setPassword(Landroid/accounts/Account;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager;->someUserHasAccount(Landroid/accounts/Account;)Z
-HSPLandroid/accounts/IAccountManager;->startAddAccountSession(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLandroid/os/Bundle;)V
-HSPLandroid/accounts/IAccountManager;->startUpdateCredentialsSession(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZLandroid/os/Bundle;)V
-HSPLandroid/accounts/IAccountManager;->unregisterAccountListener([Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/accounts/IAccountManager;->updateAppPermission(Landroid/accounts/Account;Ljava/lang/String;IZ)V
-HSPLandroid/accounts/IAccountManager;->updateCredentials(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZLandroid/os/Bundle;)V
 HSPLandroid/accounts/IAccountManagerResponse$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/accounts/IAccountManagerResponse$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/accounts/OnAccountsUpdateListener;->onAccountsUpdated([Landroid/accounts/Account;)V
 HSPLandroid/animation/AnimationHandler$1;->doFrame(J)V
-HSPLandroid/animation/AnimationHandler$AnimationFrameCallbackProvider;->getFrameDelay()J
-HSPLandroid/animation/AnimationHandler$AnimationFrameCallbackProvider;->getFrameTime()J
-HSPLandroid/animation/AnimationHandler$AnimationFrameCallbackProvider;->postCommitCallback(Ljava/lang/Runnable;)V
-HSPLandroid/animation/AnimationHandler$AnimationFrameCallbackProvider;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V
-HSPLandroid/animation/AnimationHandler$AnimationFrameCallbackProvider;->setFrameDelay(J)V
 HSPLandroid/animation/AnimationHandler$MyFrameCallbackProvider;->getFrameTime()J
 HSPLandroid/animation/AnimationHandler$MyFrameCallbackProvider;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V
 HSPLandroid/animation/AnimationHandler;-><init>()V
@@ -12605,19 +13192,15 @@
 HSPLandroid/animation/Animator$AnimatorConstantState;->newInstance()Ljava/lang/Object;
 HSPLandroid/animation/Animator$AnimatorListener;->onAnimationEnd(Landroid/animation/Animator;Z)V
 HSPLandroid/animation/Animator$AnimatorListener;->onAnimationStart(Landroid/animation/Animator;Z)V
-HSPLandroid/animation/Animator$AnimatorPauseListener;->onAnimationPause(Landroid/animation/Animator;)V
-HSPLandroid/animation/Animator$AnimatorPauseListener;->onAnimationResume(Landroid/animation/Animator;)V
 HSPLandroid/animation/Animator;->addListener(Landroid/animation/Animator$AnimatorListener;)V
+HSPLandroid/animation/Animator;->addPauseListener(Landroid/animation/Animator$AnimatorPauseListener;)V
 HSPLandroid/animation/Animator;->appendChangingConfigurations(I)V
 HSPLandroid/animation/Animator;->clone()Landroid/animation/Animator;
 HSPLandroid/animation/Animator;->createConstantState()Landroid/content/res/ConstantState;
 HSPLandroid/animation/Animator;->getChangingConfigurations()I
 HSPLandroid/animation/Animator;->getListeners()Ljava/util/ArrayList;
-HSPLandroid/animation/Animator;->removeAllListeners()V
 HSPLandroid/animation/Animator;->removeListener(Landroid/animation/Animator$AnimatorListener;)V
 HSPLandroid/animation/Animator;->setAllowRunningAsynchronously(Z)V
-HSPLandroid/animation/AnimatorInflater$PathDataEvaluator;->evaluate(FLandroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;)Landroid/util/PathParser$PathData;
-HSPLandroid/animation/AnimatorInflater$PathDataEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/animation/AnimatorInflater;->createAnimatorFromXml(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/animation/AnimatorSet;IF)Landroid/animation/Animator;
 HSPLandroid/animation/AnimatorInflater;->createStateListAnimatorFromXml(Landroid/content/Context;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/animation/StateListAnimator;
 HSPLandroid/animation/AnimatorInflater;->getChangingConfigs(Landroid/content/res/Resources;I)I
@@ -12631,14 +13214,13 @@
 HSPLandroid/animation/AnimatorInflater;->setupObjectAnimator(Landroid/animation/ValueAnimator;Landroid/content/res/TypedArray;IF)V
 HSPLandroid/animation/AnimatorListenerAdapter;-><init>()V
 HSPLandroid/animation/AnimatorListenerAdapter;->onAnimationCancel(Landroid/animation/Animator;)V
-HSPLandroid/animation/AnimatorListenerAdapter;->onAnimationEnd(Landroid/animation/Animator;)V
 HSPLandroid/animation/AnimatorListenerAdapter;->onAnimationStart(Landroid/animation/Animator;)V
 HSPLandroid/animation/AnimatorSet$1;->onAnimationEnd(Landroid/animation/Animator;)V
 HSPLandroid/animation/AnimatorSet$2;->onAnimationEnd(Landroid/animation/Animator;)V
 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;-><init>(Landroid/animation/AnimatorSet;Landroid/animation/Animator;)V
+HSPLandroid/animation/AnimatorSet$Builder;->after(J)Landroid/animation/AnimatorSet$Builder;
 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;
@@ -12656,15 +13238,11 @@
 HSPLandroid/animation/AnimatorSet;->clone()Landroid/animation/AnimatorSet;
 HSPLandroid/animation/AnimatorSet;->createDependencyGraph()V
 HSPLandroid/animation/AnimatorSet;->doAnimationFrame(J)Z
-HSPLandroid/animation/AnimatorSet;->end()V
 HSPLandroid/animation/AnimatorSet;->endAnimation()V
 HSPLandroid/animation/AnimatorSet;->findLatestEventIdForTime(J)I
 HSPLandroid/animation/AnimatorSet;->findSiblings(Landroid/animation/AnimatorSet$Node;Ljava/util/ArrayList;)V
 HSPLandroid/animation/AnimatorSet;->getChangingConfigurations()I
 HSPLandroid/animation/AnimatorSet;->getChildAnimations()Ljava/util/ArrayList;
-HSPLandroid/animation/AnimatorSet;->getCurrentPlayTime()J
-HSPLandroid/animation/AnimatorSet;->getDuration()J
-HSPLandroid/animation/AnimatorSet;->getInterpolator()Landroid/animation/TimeInterpolator;
 HSPLandroid/animation/AnimatorSet;->getStartDelay()J
 HSPLandroid/animation/AnimatorSet;->getTotalDuration()J
 HSPLandroid/animation/AnimatorSet;->handleAnimationEvents(IIJ)V
@@ -12681,7 +13259,6 @@
 HSPLandroid/animation/AnimatorSet;->setDuration(J)Landroid/animation/AnimatorSet;
 HSPLandroid/animation/AnimatorSet;->setInterpolator(Landroid/animation/TimeInterpolator;)V
 HSPLandroid/animation/AnimatorSet;->setTarget(Ljava/lang/Object;)V
-HSPLandroid/animation/AnimatorSet;->shouldPlayTogether()Z
 HSPLandroid/animation/AnimatorSet;->sortAnimationEvents()V
 HSPLandroid/animation/AnimatorSet;->start()V
 HSPLandroid/animation/AnimatorSet;->start(ZZ)V
@@ -12695,7 +13272,6 @@
 HSPLandroid/animation/FloatKeyframeSet;->clone()Landroid/animation/FloatKeyframeSet;
 HSPLandroid/animation/FloatKeyframeSet;->clone()Landroid/animation/Keyframes;
 HSPLandroid/animation/FloatKeyframeSet;->getFloatValue(F)F
-HSPLandroid/animation/FloatKeyframeSet;->getValue(F)Ljava/lang/Object;
 HSPLandroid/animation/IntEvaluator;-><init>()V
 HSPLandroid/animation/IntKeyframeSet;->clone()Landroid/animation/IntKeyframeSet;
 HSPLandroid/animation/IntKeyframeSet;->clone()Landroid/animation/Keyframes;
@@ -12709,34 +13285,26 @@
 HSPLandroid/animation/Keyframe$IntKeyframe;->getIntValue()I
 HSPLandroid/animation/Keyframe$IntKeyframe;->getValue()Ljava/lang/Object;
 HSPLandroid/animation/Keyframe$IntKeyframe;->setValue(Ljava/lang/Object;)V
-HSPLandroid/animation/Keyframe$ObjectKeyframe;->clone()Landroid/animation/Keyframe$ObjectKeyframe;
-HSPLandroid/animation/Keyframe$ObjectKeyframe;->clone()Landroid/animation/Keyframe;
 HSPLandroid/animation/Keyframe$ObjectKeyframe;->getValue()Ljava/lang/Object;
+HSPLandroid/animation/Keyframe$ObjectKeyframe;->setValue(Ljava/lang/Object;)V
 HSPLandroid/animation/Keyframe;->getFraction()F
 HSPLandroid/animation/Keyframe;->getInterpolator()Landroid/animation/TimeInterpolator;
 HSPLandroid/animation/Keyframe;->hasValue()Z
 HSPLandroid/animation/Keyframe;->setValueWasSetOnStart(Z)V
 HSPLandroid/animation/Keyframe;->valueWasSetOnStart()Z
 HSPLandroid/animation/KeyframeSet;-><init>([Landroid/animation/Keyframe;)V
-HSPLandroid/animation/KeyframeSet;->clone()Landroid/animation/KeyframeSet;
-HSPLandroid/animation/KeyframeSet;->clone()Landroid/animation/Keyframes;
 HSPLandroid/animation/KeyframeSet;->getKeyframes()Ljava/util/List;
 HSPLandroid/animation/KeyframeSet;->getValue(F)Ljava/lang/Object;
 HSPLandroid/animation/KeyframeSet;->ofFloat([F)Landroid/animation/KeyframeSet;
 HSPLandroid/animation/KeyframeSet;->ofInt([I)Landroid/animation/KeyframeSet;
 HSPLandroid/animation/KeyframeSet;->ofObject([Ljava/lang/Object;)Landroid/animation/KeyframeSet;
 HSPLandroid/animation/KeyframeSet;->setEvaluator(Landroid/animation/TypeEvaluator;)V
-HSPLandroid/animation/Keyframes$IntKeyframes;->getIntValue(F)I
 HSPLandroid/animation/LayoutTransition$1;->onAnimationEnd(Landroid/animation/Animator;)V
 HSPLandroid/animation/LayoutTransition$2;->onLayoutChange(Landroid/view/View;IIIIIIII)V
 HSPLandroid/animation/LayoutTransition$3;->onAnimationEnd(Landroid/animation/Animator;)V
 HSPLandroid/animation/LayoutTransition$3;->onAnimationStart(Landroid/animation/Animator;)V
-HSPLandroid/animation/LayoutTransition$4;->onAnimationEnd(Landroid/animation/Animator;)V
-HSPLandroid/animation/LayoutTransition$5;->onAnimationEnd(Landroid/animation/Animator;)V
 HSPLandroid/animation/LayoutTransition$CleanupCallback;->cleanup()V
 HSPLandroid/animation/LayoutTransition$CleanupCallback;->onPreDraw()Z
-HSPLandroid/animation/LayoutTransition$TransitionListener;->endTransition(Landroid/animation/LayoutTransition;Landroid/view/ViewGroup;Landroid/view/View;I)V
-HSPLandroid/animation/LayoutTransition$TransitionListener;->startTransition(Landroid/animation/LayoutTransition;Landroid/view/ViewGroup;Landroid/view/View;I)V
 HSPLandroid/animation/LayoutTransition;-><init>()V
 HSPLandroid/animation/LayoutTransition;->addChild(Landroid/view/ViewGroup;Landroid/view/View;)V
 HSPLandroid/animation/LayoutTransition;->addChild(Landroid/view/ViewGroup;Landroid/view/View;Z)V
@@ -12745,38 +13313,33 @@
 HSPLandroid/animation/LayoutTransition;->cancel(I)V
 HSPLandroid/animation/LayoutTransition;->disableTransitionType(I)V
 HSPLandroid/animation/LayoutTransition;->enableTransitionType(I)V
-HSPLandroid/animation/LayoutTransition;->getAnimator(I)Landroid/animation/Animator;
-HSPLandroid/animation/LayoutTransition;->getDuration(I)J
 HSPLandroid/animation/LayoutTransition;->hideChild(Landroid/view/ViewGroup;Landroid/view/View;I)V
 HSPLandroid/animation/LayoutTransition;->isChangingLayout()Z
 HSPLandroid/animation/LayoutTransition;->isRunning()Z
 HSPLandroid/animation/LayoutTransition;->layoutChange(Landroid/view/ViewGroup;)V
-HSPLandroid/animation/LayoutTransition;->removeChild(Landroid/view/ViewGroup;Landroid/view/View;)V
 HSPLandroid/animation/LayoutTransition;->removeChild(Landroid/view/ViewGroup;Landroid/view/View;Z)V
 HSPLandroid/animation/LayoutTransition;->removeTransitionListener(Landroid/animation/LayoutTransition$TransitionListener;)V
-HSPLandroid/animation/LayoutTransition;->runAppearingTransition(Landroid/view/ViewGroup;Landroid/view/View;)V
 HSPLandroid/animation/LayoutTransition;->runChangeTransition(Landroid/view/ViewGroup;Landroid/view/View;I)V
-HSPLandroid/animation/LayoutTransition;->runDisappearingTransition(Landroid/view/ViewGroup;Landroid/view/View;)V
 HSPLandroid/animation/LayoutTransition;->setAnimateParentHierarchy(Z)V
 HSPLandroid/animation/LayoutTransition;->setAnimator(ILandroid/animation/Animator;)V
-HSPLandroid/animation/LayoutTransition;->setDuration(IJ)V
 HSPLandroid/animation/LayoutTransition;->setDuration(J)V
 HSPLandroid/animation/LayoutTransition;->setInterpolator(ILandroid/animation/TimeInterpolator;)V
 HSPLandroid/animation/LayoutTransition;->setStartDelay(IJ)V
 HSPLandroid/animation/LayoutTransition;->setupChangeAnimation(Landroid/view/ViewGroup;ILandroid/animation/Animator;JLandroid/view/View;)V
 HSPLandroid/animation/LayoutTransition;->showChild(Landroid/view/ViewGroup;Landroid/view/View;I)V
 HSPLandroid/animation/LayoutTransition;->startChangingAnimations()V
+HSPLandroid/animation/ObjectAnimator;-><init>()V
 HSPLandroid/animation/ObjectAnimator;->animateValue(F)V
 HSPLandroid/animation/ObjectAnimator;->clone()Landroid/animation/Animator;
-HSPLandroid/animation/ObjectAnimator;->clone()Landroid/animation/ValueAnimator;
 HSPLandroid/animation/ObjectAnimator;->getPropertyName()Ljava/lang/String;
+HSPLandroid/animation/ObjectAnimator;->hasSameTargetAndProperties(Landroid/animation/Animator;)Z
 HSPLandroid/animation/ObjectAnimator;->initAnimation()V
 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;->ofObject(Ljava/lang/Object;Ljava/lang/String;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator;
+HSPLandroid/animation/ObjectAnimator;->ofObject(Ljava/lang/Object;Landroid/util/Property;Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ObjectAnimator;
 HSPLandroid/animation/ObjectAnimator;->ofPropertyValuesHolder(Ljava/lang/Object;[Landroid/animation/PropertyValuesHolder;)Landroid/animation/ObjectAnimator;
 HSPLandroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/Animator;
 HSPLandroid/animation/ObjectAnimator;->setDuration(J)Landroid/animation/ObjectAnimator;
@@ -12789,8 +13352,6 @@
 HSPLandroid/animation/ObjectAnimator;->setupEndValues()V
 HSPLandroid/animation/ObjectAnimator;->setupStartValues()V
 HSPLandroid/animation/ObjectAnimator;->start()V
-HSPLandroid/animation/PathKeyframes$SimpleKeyframes;->clone()Landroid/animation/Keyframes;
-HSPLandroid/animation/PathKeyframes;-><init>(Landroid/graphics/Path;F)V
 HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->calculateValue(F)V
 HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;
 HSPLandroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder;
@@ -12802,9 +13363,7 @@
 HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->calculateValue(F)V
 HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;
 HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->clone()Landroid/animation/PropertyValuesHolder;
-HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->getAnimatedValue()Ljava/lang/Object;
 HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V
-HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setIntValues([I)V
 HSPLandroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;->setupSetter(Ljava/lang/Class;)V
 HSPLandroid/animation/PropertyValuesHolder;-><init>(Ljava/lang/String;Landroid/animation/PropertyValuesHolder$1;)V
 HSPLandroid/animation/PropertyValuesHolder;->calculateValue(F)V
@@ -12814,15 +13373,12 @@
 HSPLandroid/animation/PropertyValuesHolder;->getMethodName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/animation/PropertyValuesHolder;->getPropertyFunction(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/reflect/Method;
 HSPLandroid/animation/PropertyValuesHolder;->getPropertyName()Ljava/lang/String;
-HSPLandroid/animation/PropertyValuesHolder;->getPropertyValues(Landroid/animation/PropertyValuesHolder$PropertyValues;)V
 HSPLandroid/animation/PropertyValuesHolder;->getValueType()Ljava/lang/Class;
 HSPLandroid/animation/PropertyValuesHolder;->init()V
 HSPLandroid/animation/PropertyValuesHolder;->ofFloat(Landroid/util/Property;[F)Landroid/animation/PropertyValuesHolder;
 HSPLandroid/animation/PropertyValuesHolder;->ofFloat(Ljava/lang/String;[F)Landroid/animation/PropertyValuesHolder;
-HSPLandroid/animation/PropertyValuesHolder;->ofKeyframes(Ljava/lang/String;Landroid/animation/Keyframes;)Landroid/animation/PropertyValuesHolder;
+HSPLandroid/animation/PropertyValuesHolder;->setAnimatedValue(Ljava/lang/Object;)V
 HSPLandroid/animation/PropertyValuesHolder;->setEvaluator(Landroid/animation/TypeEvaluator;)V
-HSPLandroid/animation/PropertyValuesHolder;->setObjectValues([Ljava/lang/Object;)V
-HSPLandroid/animation/PropertyValuesHolder;->setProperty(Landroid/util/Property;)V
 HSPLandroid/animation/PropertyValuesHolder;->setPropertyName(Ljava/lang/String;)V
 HSPLandroid/animation/PropertyValuesHolder;->setupEndValue(Ljava/lang/Object;)V
 HSPLandroid/animation/PropertyValuesHolder;->setupSetterAndGetter(Ljava/lang/Object;)V
@@ -12830,7 +13386,6 @@
 HSPLandroid/animation/PropertyValuesHolder;->setupStartValue(Ljava/lang/Object;)V
 HSPLandroid/animation/PropertyValuesHolder;->setupValue(Ljava/lang/Object;Landroid/animation/Keyframe;)V
 HSPLandroid/animation/RectEvaluator;-><init>()V
-HSPLandroid/animation/RectEvaluator;-><init>(Landroid/graphics/Rect;)V
 HSPLandroid/animation/StateListAnimator$1;->onAnimationEnd(Landroid/animation/Animator;)V
 HSPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;->newInstance()Landroid/animation/StateListAnimator;
 HSPLandroid/animation/StateListAnimator$StateListAnimatorConstantState;->newInstance()Ljava/lang/Object;
@@ -12846,14 +13401,17 @@
 HSPLandroid/animation/StateListAnimator;->setChangingConfigurations(I)V
 HSPLandroid/animation/StateListAnimator;->setState([I)V
 HSPLandroid/animation/StateListAnimator;->setTarget(Landroid/view/View;)V
-HSPLandroid/animation/TimeAnimator$TimeListener;->onTimeUpdate(Landroid/animation/TimeAnimator;JJ)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/ValueAnimator$AnimatorUpdateListener;->onAnimationUpdate(Landroid/animation/ValueAnimator;)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
 HSPLandroid/animation/ValueAnimator;->animateValue(F)V
+HSPLandroid/animation/ValueAnimator;->areAnimatorsEnabled()Z
 HSPLandroid/animation/ValueAnimator;->cancel()V
 HSPLandroid/animation/ValueAnimator;->clone()Landroid/animation/Animator;
 HSPLandroid/animation/ValueAnimator;->clone()Landroid/animation/ValueAnimator;
@@ -12864,7 +13422,6 @@
 HSPLandroid/animation/ValueAnimator;->getAnimatedValue()Ljava/lang/Object;
 HSPLandroid/animation/ValueAnimator;->getAnimationHandler()Landroid/animation/AnimationHandler;
 HSPLandroid/animation/ValueAnimator;->getCurrentAnimationsCount()I
-HSPLandroid/animation/ValueAnimator;->getCurrentPlayTime()J
 HSPLandroid/animation/ValueAnimator;->getDuration()J
 HSPLandroid/animation/ValueAnimator;->getDurationScale()F
 HSPLandroid/animation/ValueAnimator;->getInterpolator()Landroid/animation/TimeInterpolator;
@@ -12880,21 +13437,16 @@
 HSPLandroid/animation/ValueAnimator;->notifyStartListeners()V
 HSPLandroid/animation/ValueAnimator;->ofFloat([F)Landroid/animation/ValueAnimator;
 HSPLandroid/animation/ValueAnimator;->ofInt([I)Landroid/animation/ValueAnimator;
-HSPLandroid/animation/ValueAnimator;->ofObject(Landroid/animation/TypeEvaluator;[Ljava/lang/Object;)Landroid/animation/ValueAnimator;
 HSPLandroid/animation/ValueAnimator;->pulseAnimationFrame(J)Z
-HSPLandroid/animation/ValueAnimator;->removeAllUpdateListeners()V
-HSPLandroid/animation/ValueAnimator;->reverse()V
 HSPLandroid/animation/ValueAnimator;->setAllowRunningAsynchronously(Z)V
 HSPLandroid/animation/ValueAnimator;->setCurrentFraction(F)V
 HSPLandroid/animation/ValueAnimator;->setCurrentPlayTime(J)V
 HSPLandroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/Animator;
 HSPLandroid/animation/ValueAnimator;->setDuration(J)Landroid/animation/ValueAnimator;
 HSPLandroid/animation/ValueAnimator;->setDurationScale(F)V
-HSPLandroid/animation/ValueAnimator;->setEvaluator(Landroid/animation/TypeEvaluator;)V
 HSPLandroid/animation/ValueAnimator;->setFloatValues([F)V
 HSPLandroid/animation/ValueAnimator;->setIntValues([I)V
 HSPLandroid/animation/ValueAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V
-HSPLandroid/animation/ValueAnimator;->setObjectValues([Ljava/lang/Object;)V
 HSPLandroid/animation/ValueAnimator;->setRepeatCount(I)V
 HSPLandroid/animation/ValueAnimator;->setRepeatMode(I)V
 HSPLandroid/animation/ValueAnimator;->setStartDelay(J)V
@@ -12905,6 +13457,14 @@
 HSPLandroid/animation/ValueAnimator;->start(Z)V
 HSPLandroid/animation/ValueAnimator;->startAnimation()V
 HSPLandroid/animation/ValueAnimator;->startWithoutPulsing(Z)V
+HSPLandroid/apex/ApexInfo$1;-><init>()V
+HSPLandroid/apex/ApexInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/apex/ApexInfo;
+HSPLandroid/apex/ApexInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/apex/ApexInfo$1;->newArray(I)[Landroid/apex/ApexInfo;
+HSPLandroid/apex/ApexInfo$1;->newArray(I)[Ljava/lang/Object;
+HSPLandroid/apex/ApexInfo;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/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
 HSPLandroid/app/-$$Lambda$ActivityThread$ApplicationThread$tUGFX7CUhzB4Pg5wFd5yeqOnu38;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
@@ -12918,6 +13478,8 @@
 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;->onGetHost()Landroid/app/Activity;
+HSPLandroid/app/Activity$HostCallbacks;->onGetHost()Ljava/lang/Object;
 HSPLandroid/app/Activity$HostCallbacks;->onGetLayoutInflater()Landroid/view/LayoutInflater;
 HSPLandroid/app/Activity$HostCallbacks;->onGetWindowAnimations()I
 HSPLandroid/app/Activity$HostCallbacks;->onHasView()Z
@@ -12927,86 +13489,59 @@
 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;->autofillClientFindViewByAutofillIdTraversal(Landroid/view/autofill/AutofillId;)Landroid/view/View;
-HSPLandroid/app/Activity;->autofillClientGetActivityToken()Landroid/os/IBinder;
-HSPLandroid/app/Activity;->autofillClientGetComponentName()Landroid/content/ComponentName;
-HSPLandroid/app/Activity;->autofillClientGetViewVisibility([Landroid/view/autofill/AutofillId;)[Z
-HSPLandroid/app/Activity;->autofillClientIsFillUiShowing()Z
-HSPLandroid/app/Activity;->autofillClientIsVisibleForAutofill()Z
 HSPLandroid/app/Activity;->autofillClientRequestHideFillUi()Z
-HSPLandroid/app/Activity;->autofillClientResetableStateAvailable()V
-HSPLandroid/app/Activity;->autofillClientRunOnUiThread(Ljava/lang/Runnable;)V
+HSPLandroid/app/Activity;->collectActivityLifecycleCallbacks()[Ljava/lang/Object;
 HSPLandroid/app/Activity;->dispatchActivityResult(Ljava/lang/String;IILandroid/content/Intent;Ljava/lang/String;)V
 HSPLandroid/app/Activity;->dispatchEnterAnimationComplete()V
 HSPLandroid/app/Activity;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
+HSPLandroid/app/Activity;->dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
 HSPLandroid/app/Activity;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/app/Activity;->enableAutofillCompatibilityIfNeeded()V
-HSPLandroid/app/Activity;->ensureSearchManager()V
 HSPLandroid/app/Activity;->findViewById(I)Landroid/view/View;
-HSPLandroid/app/Activity;->finish()V
-HSPLandroid/app/Activity;->finish(I)V
-HSPLandroid/app/Activity;->finishAfterTransition()V
 HSPLandroid/app/Activity;->getActionBar()Landroid/app/ActionBar;
 HSPLandroid/app/Activity;->getActivityOptions()Landroid/app/ActivityOptions;
 HSPLandroid/app/Activity;->getApplication()Landroid/app/Application;
 HSPLandroid/app/Activity;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
-HSPLandroid/app/Activity;->getCallingActivity()Landroid/content/ComponentName;
 HSPLandroid/app/Activity;->getComponentName()Landroid/content/ComponentName;
-HSPLandroid/app/Activity;->getCurrentFocus()Landroid/view/View;
 HSPLandroid/app/Activity;->getFragmentManager()Landroid/app/FragmentManager;
 HSPLandroid/app/Activity;->getIntent()Landroid/content/Intent;
 HSPLandroid/app/Activity;->getLastNonConfigurationInstance()Ljava/lang/Object;
 HSPLandroid/app/Activity;->getLayoutInflater()Landroid/view/LayoutInflater;
-HSPLandroid/app/Activity;->getLoaderManager()Landroid/app/LoaderManager;
-HSPLandroid/app/Activity;->getLocalClassName()Ljava/lang/String;
 HSPLandroid/app/Activity;->getMenuInflater()Landroid/view/MenuInflater;
 HSPLandroid/app/Activity;->getNextAutofillId()I
-HSPLandroid/app/Activity;->getPreferences(I)Landroid/content/SharedPreferences;
-HSPLandroid/app/Activity;->getReferrer()Landroid/net/Uri;
 HSPLandroid/app/Activity;->getRequestedOrientation()I
 HSPLandroid/app/Activity;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
 HSPLandroid/app/Activity;->getTaskId()I
 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
+HSPLandroid/app/Activity;->isContentCaptureSupported()Z
 HSPLandroid/app/Activity;->isDestroyed()Z
-HSPLandroid/app/Activity;->isDisablingEnterExitEventForAutofill()Z
 HSPLandroid/app/Activity;->isFinishing()Z
 HSPLandroid/app/Activity;->isInMultiWindowMode()Z
-HSPLandroid/app/Activity;->isInPictureInPictureMode()Z
-HSPLandroid/app/Activity;->isTaskRoot()Z
-HSPLandroid/app/Activity;->isTopOfTask()Z
 HSPLandroid/app/Activity;->makeVisible()V
-HSPLandroid/app/Activity;->moveTaskToBack(Z)Z
+HSPLandroid/app/Activity;->notifyContentCaptureManagerIfNeeded(I)V
 HSPLandroid/app/Activity;->onApplyThemeResource(Landroid/content/res/Resources$Theme;IZ)V
 HSPLandroid/app/Activity;->onAttachFragment(Landroid/app/Fragment;)V
 HSPLandroid/app/Activity;->onAttachedToWindow()V
-HSPLandroid/app/Activity;->onBackPressed()V
-HSPLandroid/app/Activity;->onConfigurationChanged(Landroid/content/res/Configuration;)V
 HSPLandroid/app/Activity;->onContentChanged()V
 HSPLandroid/app/Activity;->onCreate(Landroid/os/Bundle;)V
 HSPLandroid/app/Activity;->onCreateDescription()Ljava/lang/CharSequence;
 HSPLandroid/app/Activity;->onCreateOptionsMenu(Landroid/view/Menu;)Z
 HSPLandroid/app/Activity;->onCreatePanelMenu(ILandroid/view/Menu;)Z
-HSPLandroid/app/Activity;->onCreatePanelView(I)Landroid/view/View;
 HSPLandroid/app/Activity;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
 HSPLandroid/app/Activity;->onCreateView(Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
-HSPLandroid/app/Activity;->onDestroy()V
-HSPLandroid/app/Activity;->onDetachedFromWindow()V
 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
 HSPLandroid/app/Activity;->onPrepareOptionsMenu(Landroid/view/Menu;)Z
 HSPLandroid/app/Activity;->onPreparePanel(ILandroid/view/View;Landroid/view/Menu;)Z
-HSPLandroid/app/Activity;->onProvideAssistContent(Landroid/app/assist/AssistContent;)V
-HSPLandroid/app/Activity;->onProvideAssistData(Landroid/os/Bundle;)V
 HSPLandroid/app/Activity;->onProvideReferrer()Landroid/net/Uri;
 HSPLandroid/app/Activity;->onRestart()V
 HSPLandroid/app/Activity;->onRestoreInstanceState(Landroid/os/Bundle;)V
@@ -13016,58 +13551,45 @@
 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
 HSPLandroid/app/Activity;->onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V
 HSPLandroid/app/Activity;->onWindowFocusChanged(Z)V
-HSPLandroid/app/Activity;->overridePendingTransition(II)V
 HSPLandroid/app/Activity;->performCreate(Landroid/os/Bundle;Landroid/os/PersistableBundle;)V
-HSPLandroid/app/Activity;->performDestroy()V
 HSPLandroid/app/Activity;->performPause()V
 HSPLandroid/app/Activity;->performRestart(ZLjava/lang/String;)V
 HSPLandroid/app/Activity;->performResume(ZLjava/lang/String;)V
 HSPLandroid/app/Activity;->performStart(Ljava/lang/String;)V
 HSPLandroid/app/Activity;->performStop(ZLjava/lang/String;)V
-HSPLandroid/app/Activity;->registerRemoteAnimations(Landroid/view/RemoteAnimationDefinition;)V
+HSPLandroid/app/Activity;->reportFullyDrawn()V
 HSPLandroid/app/Activity;->requestWindowFeature(I)Z
 HSPLandroid/app/Activity;->restoreManagedDialogs(Landroid/os/Bundle;)V
-HSPLandroid/app/Activity;->runOnUiThread(Ljava/lang/Runnable;)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;->setContentView(Landroid/view/View;)V
-HSPLandroid/app/Activity;->setDefaultKeyMode(I)V
 HSPLandroid/app/Activity;->setIntent(Landroid/content/Intent;)V
-HSPLandroid/app/Activity;->setMediaController(Landroid/media/session/MediaController;)V
-HSPLandroid/app/Activity;->setRequestedOrientation(I)V
-HSPLandroid/app/Activity;->setResult(I)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;->setVolumeControlStream(I)V
 HSPLandroid/app/Activity;->startActivity(Landroid/content/Intent;)V
 HSPLandroid/app/Activity;->startActivity(Landroid/content/Intent;Landroid/os/Bundle;)V
 HSPLandroid/app/Activity;->startActivityForResult(Landroid/content/Intent;I)V
 HSPLandroid/app/Activity;->startActivityForResult(Landroid/content/Intent;ILandroid/os/Bundle;)V
-HSPLandroid/app/Activity;->startActivityForResultAsUser(Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)V
-HSPLandroid/app/Activity;->startActivityForResultAsUser(Landroid/content/Intent;ILandroid/os/UserHandle;)V
-HSPLandroid/app/Activity;->startActivityForResultAsUser(Landroid/content/Intent;Ljava/lang/String;ILandroid/os/Bundle;Landroid/os/UserHandle;)V
-HSPLandroid/app/Activity;->transferSpringboardActivityOptions(Landroid/os/Bundle;)Landroid/os/Bundle;
 HSPLandroid/app/ActivityManager$1;-><init>()V
 HSPLandroid/app/ActivityManager$1;->create()Landroid/app/IActivityManager;
 HSPLandroid/app/ActivityManager$1;->create()Ljava/lang/Object;
 HSPLandroid/app/ActivityManager$AppTask;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;
+HSPLandroid/app/ActivityManager$AppTask;->setExcludeFromRecents(Z)V
 HSPLandroid/app/ActivityManager$MemoryInfo$1;-><init>()V
 HSPLandroid/app/ActivityManager$MemoryInfo;-><init>()V
 HSPLandroid/app/ActivityManager$MemoryInfo;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/app/ActivityManager$OnUidImportanceListener;->onUidImportance(II)V
 HSPLandroid/app/ActivityManager$RecentTaskInfo$1;-><init>()V
 HSPLandroid/app/ActivityManager$RecentTaskInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$RecentTaskInfo;
 HSPLandroid/app/ActivityManager$RecentTaskInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/ActivityManager$RecentTaskInfo;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/app/ActivityManager$RunningAppProcessInfo$1;-><init>()V
 HSPLandroid/app/ActivityManager$RunningAppProcessInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$RunningAppProcessInfo;
 HSPLandroid/app/ActivityManager$RunningAppProcessInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -13076,27 +13598,23 @@
 HSPLandroid/app/ActivityManager$RunningAppProcessInfo;->procStateToImportance(I)I
 HSPLandroid/app/ActivityManager$RunningAppProcessInfo;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/app/ActivityManager$RunningServiceInfo$1;-><init>()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;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/app/ActivityManager$RunningTaskInfo$1;-><init>()V
-HSPLandroid/app/ActivityManager$RunningTaskInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$RunningTaskInfo;
-HSPLandroid/app/ActivityManager$RunningTaskInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/ActivityManager$RunningTaskInfo;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/app/ActivityManager$RunningTaskInfo;-><init>()V
+HSPLandroid/app/ActivityManager$RunningTaskInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/ActivityManager$StackInfo$1;-><init>()V
 HSPLandroid/app/ActivityManager$StackInfo;-><init>()V
 HSPLandroid/app/ActivityManager$StackInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/ActivityManager$TaskDescription$1;-><init>()V
 HSPLandroid/app/ActivityManager$TaskDescription$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$TaskDescription;
 HSPLandroid/app/ActivityManager$TaskDescription$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/ActivityManager$TaskDescription;-><init>(Ljava/lang/String;Landroid/graphics/Bitmap;)V
+HSPLandroid/app/ActivityManager$TaskDescription;-><init>(Landroid/app/ActivityManager$TaskDescription;)V
 HSPLandroid/app/ActivityManager$TaskDescription;-><init>(Ljava/lang/String;Landroid/graphics/Bitmap;I)V
+HSPLandroid/app/ActivityManager$TaskDescription;->copyFrom(Landroid/app/ActivityManager$TaskDescription;)V
 HSPLandroid/app/ActivityManager$TaskDescription;->copyFromPreserveHiddenFields(Landroid/app/ActivityManager$TaskDescription;)V
 HSPLandroid/app/ActivityManager$TaskDescription;->getBackgroundColor()I
 HSPLandroid/app/ActivityManager$TaskDescription;->getIcon()Landroid/graphics/Bitmap;
 HSPLandroid/app/ActivityManager$TaskDescription;->getIconFilename()Ljava/lang/String;
 HSPLandroid/app/ActivityManager$TaskDescription;->getIconResource()I
-HSPLandroid/app/ActivityManager$TaskDescription;->getInMemoryIcon()Landroid/graphics/Bitmap;
 HSPLandroid/app/ActivityManager$TaskDescription;->getLabel()Ljava/lang/String;
 HSPLandroid/app/ActivityManager$TaskDescription;->getNavigationBarColor()I
 HSPLandroid/app/ActivityManager$TaskDescription;->getPrimaryColor()I
@@ -13104,24 +13622,12 @@
 HSPLandroid/app/ActivityManager$TaskDescription;->loadTaskDescriptionIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap;
 HSPLandroid/app/ActivityManager$TaskDescription;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/app/ActivityManager$TaskDescription;->setBackgroundColor(I)V
-HSPLandroid/app/ActivityManager$TaskDescription;->setIcon(Landroid/graphics/Bitmap;)V
+HSPLandroid/app/ActivityManager$TaskDescription;->setIcon(I)V
 HSPLandroid/app/ActivityManager$TaskDescription;->setNavigationBarColor(I)V
 HSPLandroid/app/ActivityManager$TaskDescription;->setPrimaryColor(I)V
 HSPLandroid/app/ActivityManager$TaskDescription;->setStatusBarColor(I)V
 HSPLandroid/app/ActivityManager$TaskDescription;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/ActivityManager$TaskSnapshot$1;-><init>()V
-HSPLandroid/app/ActivityManager$TaskSnapshot$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ActivityManager$TaskSnapshot;
-HSPLandroid/app/ActivityManager$TaskSnapshot$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/ActivityManager$TaskSnapshot;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/ActivityManager$TaskSnapshot;->getContentInsets()Landroid/graphics/Rect;
-HSPLandroid/app/ActivityManager$TaskSnapshot;->getOrientation()I
-HSPLandroid/app/ActivityManager$TaskSnapshot;->getScale()F
-HSPLandroid/app/ActivityManager$TaskSnapshot;->getSnapshot()Landroid/graphics/GraphicBuffer;
-HSPLandroid/app/ActivityManager$TaskSnapshot;->getSystemUiVisibility()I
-HSPLandroid/app/ActivityManager$TaskSnapshot;->getWindowingMode()I
-HSPLandroid/app/ActivityManager$TaskSnapshot;->isRealSnapshot()Z
-HSPLandroid/app/ActivityManager$TaskSnapshot;->isReducedResolution()Z
-HSPLandroid/app/ActivityManager$TaskSnapshot;->isTranslucent()Z
+HSPLandroid/app/ActivityManager$UidObserver;->onUidGone(IZ)V
 HSPLandroid/app/ActivityManager$UidObserver;->onUidStateChanged(IIJ)V
 HSPLandroid/app/ActivityManager;->addOnUidImportanceListener(Landroid/app/ActivityManager$OnUidImportanceListener;I)V
 HSPLandroid/app/ActivityManager;->broadcastStickyIntent(Landroid/content/Intent;I)V
@@ -13130,21 +13636,14 @@
 HSPLandroid/app/ActivityManager;->checkUidPermission(Ljava/lang/String;I)I
 HSPLandroid/app/ActivityManager;->getAppTasks()Ljava/util/List;
 HSPLandroid/app/ActivityManager;->getCurrentUser()I
-HSPLandroid/app/ActivityManager;->getDefaultAppRecentsLimitStatic()I
 HSPLandroid/app/ActivityManager;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
 HSPLandroid/app/ActivityManager;->getLargeMemoryClass()I
-HSPLandroid/app/ActivityManager;->getLauncherLargeIconSizeInner(Landroid/content/Context;)I
-HSPLandroid/app/ActivityManager;->getMaxAppRecentsLimitStatic()I
-HSPLandroid/app/ActivityManager;->getMaxRecentTasksStatic()I
 HSPLandroid/app/ActivityManager;->getMemoryClass()I
 HSPLandroid/app/ActivityManager;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
 HSPLandroid/app/ActivityManager;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
 HSPLandroid/app/ActivityManager;->getPackageImportance(Ljava/lang/String;)I
 HSPLandroid/app/ActivityManager;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;
-HSPLandroid/app/ActivityManager;->getRecentTasks(II)Ljava/util/List;
 HSPLandroid/app/ActivityManager;->getRunningAppProcesses()Ljava/util/List;
-HSPLandroid/app/ActivityManager;->getRunningServices(I)Ljava/util/List;
-HSPLandroid/app/ActivityManager;->getRunningTasks(I)Ljava/util/List;
 HSPLandroid/app/ActivityManager;->getService()Landroid/app/IActivityManager;
 HSPLandroid/app/ActivityManager;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
 HSPLandroid/app/ActivityManager;->isHighEndGfx()Z
@@ -13159,75 +13658,51 @@
 HSPLandroid/app/ActivityManager;->noteWakeupAlarm(Landroid/app/PendingIntent;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/app/ActivityManager;->processStateAmToProto(I)I
 HSPLandroid/app/ActivityManager;->staticGetMemoryClass()I
-HSPLandroid/app/ActivityManager;->supportsMultiWindow(Landroid/content/Context;)Z
-HSPLandroid/app/ActivityManager;->supportsSplitScreenMultiWindow(Landroid/content/Context;)Z
-HSPLandroid/app/ActivityManagerInternal$SleepToken;->release()V
-HSPLandroid/app/ActivityManagerInternal;->acquireSleepToken(Ljava/lang/String;I)Landroid/app/ActivityManagerInternal$SleepToken;
-HSPLandroid/app/ActivityManagerInternal;->canStartMoreUsers()Z
-HSPLandroid/app/ActivityManagerInternal;->cancelRecentsAnimation(Z)V
-HSPLandroid/app/ActivityManagerInternal;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;
-HSPLandroid/app/ActivityManagerInternal;->clearSavedANRState()V
-HSPLandroid/app/ActivityManagerInternal;->enforceCallerIsRecentsOrHasPermission(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/ActivityManagerInternal;->getHomeActivityForUser(I)Landroid/content/ComponentName;
-HSPLandroid/app/ActivityManagerInternal;->getMaxRunningUsers()I
-HSPLandroid/app/ActivityManagerInternal;->getMemoryStateForProcesses()Ljava/util/List;
-HSPLandroid/app/ActivityManagerInternal;->getTopVisibleActivities()Ljava/util/List;
-HSPLandroid/app/ActivityManagerInternal;->getUidProcessState(I)I
-HSPLandroid/app/ActivityManagerInternal;->grantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;I)V
-HSPLandroid/app/ActivityManagerInternal;->hasRunningActivity(ILjava/lang/String;)Z
-HSPLandroid/app/ActivityManagerInternal;->isCallerRecents(I)Z
-HSPLandroid/app/ActivityManagerInternal;->isRecentsComponentHomeActivity(I)Z
-HSPLandroid/app/ActivityManagerInternal;->isRuntimeRestarted()Z
-HSPLandroid/app/ActivityManagerInternal;->isSystemReady()Z
-HSPLandroid/app/ActivityManagerInternal;->isUidActive(I)Z
-HSPLandroid/app/ActivityManagerInternal;->killForegroundAppsForUser(I)V
-HSPLandroid/app/ActivityManagerInternal;->notifyActiveVoiceInteractionServiceChanged(Landroid/content/ComponentName;)V
-HSPLandroid/app/ActivityManagerInternal;->notifyAppTransitionCancelled()V
-HSPLandroid/app/ActivityManagerInternal;->notifyAppTransitionFinished()V
-HSPLandroid/app/ActivityManagerInternal;->notifyAppTransitionStarting(Landroid/util/SparseIntArray;J)V
-HSPLandroid/app/ActivityManagerInternal;->notifyDockedStackMinimizedChanged(Z)V
-HSPLandroid/app/ActivityManagerInternal;->notifyKeyguardFlagsChanged(Ljava/lang/Runnable;I)V
-HSPLandroid/app/ActivityManagerInternal;->notifyKeyguardTrustedChanged()V
-HSPLandroid/app/ActivityManagerInternal;->notifyNetworkPolicyRulesUpdated(IJ)V
-HSPLandroid/app/ActivityManagerInternal;->onLocalVoiceInteractionStarted(Landroid/os/IBinder;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)V
-HSPLandroid/app/ActivityManagerInternal;->onUserRemoved(I)V
-HSPLandroid/app/ActivityManagerInternal;->onWakefulnessChanged(I)V
-HSPLandroid/app/ActivityManagerInternal;->registerScreenObserver(Landroid/app/ActivityManagerInternal$ScreenObserver;)V
-HSPLandroid/app/ActivityManagerInternal;->saveANRState(Ljava/lang/String;)V
-HSPLandroid/app/ActivityManagerInternal;->setAllowAppSwitches(Ljava/lang/String;II)V
-HSPLandroid/app/ActivityManagerInternal;->setDeviceIdleWhitelist([I)V
-HSPLandroid/app/ActivityManagerInternal;->setFocusedActivity(Landroid/os/IBinder;)V
-HSPLandroid/app/ActivityManagerInternal;->setHasOverlayUi(IZ)V
-HSPLandroid/app/ActivityManagerInternal;->setPendingIntentWhitelistDuration(Landroid/content/IIntentSender;Landroid/os/IBinder;J)V
-HSPLandroid/app/ActivityManagerInternal;->setRunningRemoteAnimation(IZ)V
-HSPLandroid/app/ActivityManagerInternal;->setSwitchingFromSystemUserMessage(Ljava/lang/String;)V
-HSPLandroid/app/ActivityManagerInternal;->setSwitchingToSystemUserMessage(Ljava/lang/String;)V
-HSPLandroid/app/ActivityManagerInternal;->setVr2dDisplayId(I)V
-HSPLandroid/app/ActivityManagerInternal;->startActivitiesAsPackage(Ljava/lang/String;I[Landroid/content/Intent;Landroid/os/Bundle;)I
-HSPLandroid/app/ActivityManagerInternal;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Landroid/os/Bundle;I)I
-HSPLandroid/app/ActivityManagerInternal;->startIsolatedProcess(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Runnable;)Z
-HSPLandroid/app/ActivityManagerInternal;->updateDeviceIdleTempWhitelist([IIZ)V
-HSPLandroid/app/ActivityManagerInternal;->updatePersistentConfigurationForUser(Landroid/content/res/Configuration;I)V
+HSPLandroid/app/ActivityOptions;-><init>(Landroid/os/Bundle;)V
+HSPLandroid/app/ActivityOptions;->disallowEnterPictureInPictureWhileLaunching()Z
+HSPLandroid/app/ActivityOptions;->fromBundle(Landroid/os/Bundle;)Landroid/app/ActivityOptions;
+HSPLandroid/app/ActivityOptions;->getAnimationType()I
+HSPLandroid/app/ActivityOptions;->getAvoidMoveToFront()Z
+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
+HSPLandroid/app/ActivityOptions;->getRemoteAnimationAdapter()Landroid/view/RemoteAnimationAdapter;
+HSPLandroid/app/ActivityOptions;->getRotationAnimationHint()I
+HSPLandroid/app/ActivityOptions;->getUsageTimeReport()Landroid/app/PendingIntent;
 HSPLandroid/app/ActivityOptions;->makeBasic()Landroid/app/ActivityOptions;
-HSPLandroid/app/ActivityOptions;->makeCustomAnimation(Landroid/content/Context;II)Landroid/app/ActivityOptions;
+HSPLandroid/app/ActivityOptions;->popAppVerificationBundle()Landroid/os/Bundle;
+HSPLandroid/app/ActivityOptions;->setLaunchActivityType(I)V
+HSPLandroid/app/ActivityOptions;->setLaunchDisplayId(I)Landroid/app/ActivityOptions;
 HSPLandroid/app/ActivityOptions;->setLaunchWindowingMode(I)V
 HSPLandroid/app/ActivityOptions;->toBundle()Landroid/os/Bundle;
+HSPLandroid/app/ActivityTaskManager$1;-><init>()V
+HSPLandroid/app/ActivityTaskManager$1;->create()Landroid/app/IActivityTaskManager;
+HSPLandroid/app/ActivityTaskManager$1;->create()Ljava/lang/Object;
+HSPLandroid/app/ActivityTaskManager;->getDefaultAppRecentsLimitStatic()I
+HSPLandroid/app/ActivityTaskManager;->getMaxAppRecentsLimitStatic()I
+HSPLandroid/app/ActivityTaskManager;->getMaxRecentTasksStatic()I
+HSPLandroid/app/ActivityTaskManager;->getService()Landroid/app/IActivityTaskManager;
+HSPLandroid/app/ActivityTaskManager;->supportsMultiWindow(Landroid/content/Context;)Z
+HSPLandroid/app/ActivityTaskManager;->supportsSplitScreenMultiWindow(Landroid/content/Context;)Z
 HSPLandroid/app/ActivityThread$1;->run()V
 HSPLandroid/app/ActivityThread$2;->run()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;)V
 HSPLandroid/app/ActivityThread$ActivityClientRecord;->init()V
-HSPLandroid/app/ActivityThread$ActivityClientRecord;->isPersistable()Z
 HSPLandroid/app/ActivityThread$ActivityClientRecord;->setState(I)V
+HSPLandroid/app/ActivityThread$AndroidOs;->install()V
+HSPLandroid/app/ActivityThread$AndroidOs;->open(Ljava/lang/String;II)Ljava/io/FileDescriptor;
+HSPLandroid/app/ActivityThread$AndroidOs;->stat(Ljava/lang/String;)Landroid/system/StructStat;
 HSPLandroid/app/ActivityThread$AppBindData;-><init>()V
+HSPLandroid/app/ActivityThread$ApplicationThread;->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/ActivityThread$ApplicationThread;->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;Z)V
 HSPLandroid/app/ActivityThread$ApplicationThread;->clearDnsCache()V
 HSPLandroid/app/ActivityThread$ApplicationThread;->dispatchPackageBroadcast(I[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
-HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleCreateBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
 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;)V
 HSPLandroid/app/ActivityThread$ApplicationThread;->scheduleEnterAnimationComplete(Landroid/os/IBinder;)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
@@ -13247,6 +13722,7 @@
 HSPLandroid/app/ActivityThread$Idler;->queueIdle()Z
 HSPLandroid/app/ActivityThread$ProviderKey;->equals(Ljava/lang/Object;)Z
 HSPLandroid/app/ActivityThread$ProviderKey;->hashCode()I
+HSPLandroid/app/ActivityThread$PurgeIdler;->queueIdle()Z
 HSPLandroid/app/ActivityThread$ServiceArgsData;->toString()Ljava/lang/String;
 HSPLandroid/app/ActivityThread;-><init>()V
 HSPLandroid/app/ActivityThread;->acquireExistingProvider(Landroid/content/Context;Ljava/lang/String;IZ)Landroid/content/IContentProvider;
@@ -13265,12 +13741,12 @@
 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;->deliverResults(Landroid/app/ActivityThread$ActivityClientRecord;Ljava/util/List;Ljava/lang/String;)V
+HSPLandroid/app/ActivityThread;->getActivitiesToBeDestroyed()Ljava/util/Map;
 HSPLandroid/app/ActivityThread;->getActivityClient(Landroid/os/IBinder;)Landroid/app/ActivityThread$ActivityClientRecord;
-HSPLandroid/app/ActivityThread;->getApplication()Landroid/app/Application;
-HSPLandroid/app/ActivityThread;->getHandler()Landroid/os/Handler;
-HSPLandroid/app/ActivityThread;->getInstrumentation()Landroid/app/Instrumentation;
+HSPLandroid/app/ActivityThread;->getGetProviderLock(Ljava/lang/String;I)Ljava/lang/Object;
 HSPLandroid/app/ActivityThread;->getIntCoreSetting(Ljava/lang/String;I)I
 HSPLandroid/app/ActivityThread;->getIntentBeingBroadcast()Landroid/content/Intent;
 HSPLandroid/app/ActivityThread;->getPackageInfo(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)Landroid/app/LoadedApk;
@@ -13278,7 +13754,6 @@
 HSPLandroid/app/ActivityThread;->getPackageInfo(Ljava/lang/String;Landroid/content/res/CompatibilityInfo;II)Landroid/app/LoadedApk;
 HSPLandroid/app/ActivityThread;->getPackageInfoNoCheck(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;)Landroid/app/LoadedApk;
 HSPLandroid/app/ActivityThread;->getPackageManager()Landroid/content/pm/IPackageManager;
-HSPLandroid/app/ActivityThread;->getProcessName()Ljava/lang/String;
 HSPLandroid/app/ActivityThread;->getSystemContext()Landroid/app/ContextImpl;
 HSPLandroid/app/ActivityThread;->getSystemUiContext()Landroid/app/ContextImpl;
 HSPLandroid/app/ActivityThread;->handleActivityConfigurationChanged(Landroid/os/IBinder;Landroid/content/res/Configuration;I)V
@@ -13287,23 +13762,20 @@
 HSPLandroid/app/ActivityThread;->handleBindService(Landroid/app/ActivityThread$BindServiceData;)V
 HSPLandroid/app/ActivityThread;->handleConfigurationChanged(Landroid/content/res/Configuration;)V
 HSPLandroid/app/ActivityThread;->handleConfigurationChanged(Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)V
-HSPLandroid/app/ActivityThread;->handleCreateBackupAgent(Landroid/app/ActivityThread$CreateBackupAgentData;)V
 HSPLandroid/app/ActivityThread;->handleCreateService(Landroid/app/ActivityThread$CreateServiceData;)V
-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
 HSPLandroid/app/ActivityThread;->handleLaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;Landroid/content/Intent;)Landroid/app/Activity;
+HSPLandroid/app/ActivityThread;->handleNewIntent(Landroid/os/IBinder;Ljava/util/List;Z)V
 HSPLandroid/app/ActivityThread;->handlePauseActivity(Landroid/os/IBinder;ZZILandroid/app/servertransaction/PendingTransactionActions;Ljava/lang/String;)V
 HSPLandroid/app/ActivityThread;->handleReceiver(Landroid/app/ActivityThread$ReceiverData;)V
-HSPLandroid/app/ActivityThread;->handleRequestAssistContextExtras(Landroid/app/ActivityThread$RequestAssistContextExtras;)V
 HSPLandroid/app/ActivityThread;->handleResumeActivity(Landroid/os/IBinder;ZZLjava/lang/String;)V
-HSPLandroid/app/ActivityThread;->handleSendResult(Landroid/os/IBinder;Ljava/util/List;Ljava/lang/String;)V
 HSPLandroid/app/ActivityThread;->handleServiceArgs(Landroid/app/ActivityThread$ServiceArgsData;)V
 HSPLandroid/app/ActivityThread;->handleSetCoreSettings(Landroid/os/Bundle;)V
 HSPLandroid/app/ActivityThread;->handleSleeping(Landroid/os/IBinder;Z)V
 HSPLandroid/app/ActivityThread;->handleStartActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;)V
 HSPLandroid/app/ActivityThread;->handleStopActivity(Landroid/os/IBinder;ZILandroid/app/servertransaction/PendingTransactionActions;ZLjava/lang/String;)V
 HSPLandroid/app/ActivityThread;->handleStopService(Landroid/os/IBinder;)V
+HSPLandroid/app/ActivityThread;->handleTopResumedActivityChanged(Landroid/os/IBinder;ZLjava/lang/String;)V
 HSPLandroid/app/ActivityThread;->handleTrimMemory(I)V
 HSPLandroid/app/ActivityThread;->handleUnbindService(Landroid/app/ActivityThread$BindServiceData;)V
 HSPLandroid/app/ActivityThread;->handleWindowVisibility(Landroid/os/IBinder;Z)V
@@ -13313,16 +13785,14 @@
 HSPLandroid/app/ActivityThread;->installProviderAuthoritiesLocked(Landroid/content/IContentProvider;Landroid/content/ContentProvider;Landroid/app/ContentProviderHolder;)Landroid/app/ActivityThread$ProviderClientRecord;
 HSPLandroid/app/ActivityThread;->installSystemApplicationInfo(Landroid/content/pm/ApplicationInfo;Ljava/lang/ClassLoader;)V
 HSPLandroid/app/ActivityThread;->installSystemProviders(Ljava/util/List;)V
+HSPLandroid/app/ActivityThread;->lambda$attach$0$ActivityThread(Landroid/content/res/Configuration;)V
 HSPLandroid/app/ActivityThread;->lambda$attach$0(Landroid/app/ActivityThread;Landroid/content/res/Configuration;)V
 HSPLandroid/app/ActivityThread;->main([Ljava/lang/String;)V
 HSPLandroid/app/ActivityThread;->peekPackageInfo(Ljava/lang/String;Z)Landroid/app/LoadedApk;
-HSPLandroid/app/ActivityThread;->performActivityConfigurationChanged(Landroid/app/Activity;Landroid/content/res/Configuration;Landroid/content/res/Configuration;IZ)Landroid/content/res/Configuration;
-HSPLandroid/app/ActivityThread;->performConfigurationChangedForActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/content/res/Configuration;IZ)Landroid/content/res/Configuration;
-HSPLandroid/app/ActivityThread;->performDestroyActivity(Landroid/os/IBinder;ZIZLjava/lang/String;)Landroid/app/ActivityThread$ActivityClientRecord;
 HSPLandroid/app/ActivityThread;->performLaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/content/Intent;)Landroid/app/Activity;
+HSPLandroid/app/ActivityThread;->performNewIntents(Landroid/os/IBinder;Ljava/util/List;Z)V
 HSPLandroid/app/ActivityThread;->performPauseActivity(Landroid/app/ActivityThread$ActivityClientRecord;ZLjava/lang/String;Landroid/app/servertransaction/PendingTransactionActions;)Landroid/os/Bundle;
 HSPLandroid/app/ActivityThread;->performPauseActivityIfNeeded(Landroid/app/ActivityThread$ActivityClientRecord;Ljava/lang/String;)V
-HSPLandroid/app/ActivityThread;->performRestartActivity(Landroid/os/IBinder;Z)V
 HSPLandroid/app/ActivityThread;->performResumeActivity(Landroid/os/IBinder;ZLjava/lang/String;)Landroid/app/ActivityThread$ActivityClientRecord;
 HSPLandroid/app/ActivityThread;->performStopActivityInner(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions$StopInfo;ZZZLjava/lang/String;)V
 HSPLandroid/app/ActivityThread;->relaunchAllActivities()V
@@ -13330,23 +13800,24 @@
 HSPLandroid/app/ActivityThread;->reportSizeConfigurations(Landroid/app/ActivityThread$ActivityClientRecord;)V
 HSPLandroid/app/ActivityThread;->reportStop(Landroid/app/servertransaction/PendingTransactionActions;)V
 HSPLandroid/app/ActivityThread;->sendMessage(ILjava/lang/Object;)V
-HSPLandroid/app/ActivityThread;->sendMessage(ILjava/lang/Object;IIZ)V
 HSPLandroid/app/ActivityThread;->setupGraphicsSupport(Landroid/content/Context;)V
 HSPLandroid/app/ActivityThread;->systemMain()Landroid/app/ActivityThread;
+HSPLandroid/app/ActivityThread;->updateDebugViewAttributeState()Z
 HSPLandroid/app/ActivityThread;->updateDefaultDensity()V
 HSPLandroid/app/ActivityThread;->updateLocaleListFromAppContext(Landroid/content/Context;Landroid/os/LocaleList;)V
 HSPLandroid/app/ActivityThread;->updatePendingConfiguration(Landroid/content/res/Configuration;)V
 HSPLandroid/app/ActivityThread;->updateProcessState(IZ)V
 HSPLandroid/app/ActivityThread;->updateVisibility(Landroid/app/ActivityThread$ActivityClientRecord;Z)V
 HSPLandroid/app/ActivityTransitionState;->enterReady(Landroid/app/Activity;)V
-HSPLandroid/app/ActivityTransitionState;->onResume(Landroid/app/Activity;Z)V
+HSPLandroid/app/ActivityTransitionState;->onResume(Landroid/app/Activity;)V
 HSPLandroid/app/ActivityTransitionState;->onStop()V
 HSPLandroid/app/ActivityTransitionState;->readState(Landroid/os/Bundle;)V
-HSPLandroid/app/ActivityTransitionState;->restoreReenteringViews()V
 HSPLandroid/app/ActivityTransitionState;->saveState(Landroid/os/Bundle;)V
 HSPLandroid/app/ActivityTransitionState;->setEnterActivityOptions(Landroid/app/Activity;Landroid/app/ActivityOptions;)V
-HSPLandroid/app/ActivityTransitionState;->startExitBackTransition(Landroid/app/Activity;)Z
-HSPLandroid/app/ActivityTransitionState;->startExitOutTransition(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroid/app/AlarmManager$AlarmClockInfo$1;-><init>()V
+HSPLandroid/app/AlarmManager$AlarmClockInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/AlarmManager$AlarmClockInfo;
+HSPLandroid/app/AlarmManager$AlarmClockInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/AlarmManager$AlarmClockInfo;->getTriggerTime()J
 HSPLandroid/app/AlarmManager$ListenerWrapper;-><init>(Landroid/app/AlarmManager;Landroid/app/AlarmManager$OnAlarmListener;)V
 HSPLandroid/app/AlarmManager$ListenerWrapper;->cancel()V
 HSPLandroid/app/AlarmManager$ListenerWrapper;->doAlarm(Landroid/app/IAlarmCompleteListener;)V
@@ -13354,107 +13825,133 @@
 HSPLandroid/app/AlarmManager;-><init>(Landroid/app/IAlarmManager;Landroid/content/Context;)V
 HSPLandroid/app/AlarmManager;->cancel(Landroid/app/AlarmManager$OnAlarmListener;)V
 HSPLandroid/app/AlarmManager;->cancel(Landroid/app/PendingIntent;)V
+HSPLandroid/app/AlarmManager;->getNextAlarmClock()Landroid/app/AlarmManager$AlarmClockInfo;
 HSPLandroid/app/AlarmManager;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
+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;->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
 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;->setRepeating(IJJLandroid/app/PendingIntent;)V
+HSPLandroid/app/AlarmManager;->setTime(J)V
 HSPLandroid/app/AlarmManager;->setTimeZone(Ljava/lang/String;)V
 HSPLandroid/app/AlarmManager;->setWindow(IJJLandroid/app/PendingIntent;)V
-HSPLandroid/app/AlertDialog$Builder;-><init>(Landroid/content/Context;)V
-HSPLandroid/app/AlertDialog$Builder;->create()Landroid/app/AlertDialog;
-HSPLandroid/app/AlertDialog$Builder;->setItems([Ljava/lang/CharSequence;Landroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;
-HSPLandroid/app/AlertDialog$Builder;->setNegativeButton(ILandroid/content/DialogInterface$OnClickListener;)Landroid/app/AlertDialog$Builder;
-HSPLandroid/app/AlertDialog$Builder;->setOnCancelListener(Landroid/content/DialogInterface$OnCancelListener;)Landroid/app/AlertDialog$Builder;
-HSPLandroid/app/AlertDialog$Builder;->setTitle(I)Landroid/app/AlertDialog$Builder;
-HSPLandroid/app/AlertDialog$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/app/AlertDialog$Builder;
-HSPLandroid/app/AlertDialog;->onCreate(Landroid/os/Bundle;)V
-HSPLandroid/app/AlertDialog;->resolveDialogTheme(Landroid/content/Context;I)I
-HSPLandroid/app/AlertDialog;->setView(Landroid/view/View;)V
 HSPLandroid/app/AppComponentFactory;-><init>()V
 HSPLandroid/app/AppComponentFactory;->instantiateActivity(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Activity;
 HSPLandroid/app/AppComponentFactory;->instantiateApplication(Ljava/lang/ClassLoader;Ljava/lang/String;)Landroid/app/Application;
+HSPLandroid/app/AppComponentFactory;->instantiateClassLoader(Ljava/lang/ClassLoader;)Ljava/lang/ClassLoader;
+HSPLandroid/app/AppComponentFactory;->instantiateClassLoader(Ljava/lang/ClassLoader;Landroid/content/pm/ApplicationInfo;)Ljava/lang/ClassLoader;
 HSPLandroid/app/AppComponentFactory;->instantiateProvider(Ljava/lang/ClassLoader;Ljava/lang/String;)Landroid/content/ContentProvider;
 HSPLandroid/app/AppComponentFactory;->instantiateReceiver(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/content/BroadcastReceiver;
 HSPLandroid/app/AppComponentFactory;->instantiateService(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Service;
+HSPLandroid/app/AppComponentFactory;->setApplicationInfo(Landroid/content/pm/ApplicationInfo;)V
 HSPLandroid/app/AppGlobals;->getInitialApplication()Landroid/app/Application;
 HSPLandroid/app/AppGlobals;->getIntCoreSetting(Ljava/lang/String;I)I
 HSPLandroid/app/AppGlobals;->getPackageManager()Landroid/content/pm/IPackageManager;
-HSPLandroid/app/AppOpsManager$OnOpChangedListener;->onOpChanged(Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/app/AppOpsManager$HistoricalOp$1;-><init>()V
+HSPLandroid/app/AppOpsManager$HistoricalOp;->access$2700(Landroid/app/AppOpsManager$HistoricalOp;IJ)V
+HSPLandroid/app/AppOpsManager$HistoricalOp;->access$2800(Landroid/app/AppOpsManager$HistoricalOp;IJ)V
+HSPLandroid/app/AppOpsManager$HistoricalOp;->access$2900(Landroid/app/AppOpsManager$HistoricalOp;IJ)V
+HSPLandroid/app/AppOpsManager$HistoricalOps$1;-><init>()V
+HSPLandroid/app/AppOpsManager$HistoricalOps;-><init>(JJ)V
+HSPLandroid/app/AppOpsManager$HistoricalOps;->getOrCreateHistoricalUidOps(I)Landroid/app/AppOpsManager$HistoricalUidOps;
+HSPLandroid/app/AppOpsManager$HistoricalOps;->increaseAccessCount(IILjava/lang/String;IJ)V
+HSPLandroid/app/AppOpsManager$HistoricalOps;->increaseAccessDuration(IILjava/lang/String;IJ)V
+HSPLandroid/app/AppOpsManager$HistoricalOps;->increaseRejectCount(IILjava/lang/String;IJ)V
+HSPLandroid/app/AppOpsManager$HistoricalPackageOps$1;-><init>()V
+HSPLandroid/app/AppOpsManager$HistoricalPackageOps;->getOrCreateHistoricalOp(I)Landroid/app/AppOpsManager$HistoricalOp;
+HSPLandroid/app/AppOpsManager$HistoricalUidOps$1;-><init>()V
+HSPLandroid/app/AppOpsManager$HistoricalUidOps;->getOrCreateHistoricalPackageOps(Ljava/lang/String;)Landroid/app/AppOpsManager$HistoricalPackageOps;
 HSPLandroid/app/AppOpsManager$OpEntry$1;-><init>()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>(II[J[JIILjava/lang/String;)V
+HSPLandroid/app/AppOpsManager$OpEntry;-><init>(II[J[JIZILjava/lang/String;)V
 HSPLandroid/app/AppOpsManager$OpEntry;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/AppOpsManager$OpEntry;->getDuration()I
 HSPLandroid/app/AppOpsManager$OpEntry;->getMode()I
-HSPLandroid/app/AppOpsManager$OpEntry;->getOp()I
-HSPLandroid/app/AppOpsManager$OpEntry;->getRejectTime()J
-HSPLandroid/app/AppOpsManager$OpEntry;->getTime()J
 HSPLandroid/app/AppOpsManager$OpEntry;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/AppOpsManager$PackageOps$1;-><init>()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$PackageOps;->getOps()Ljava/util/List;
-HSPLandroid/app/AppOpsManager$PackageOps;->getPackageName()Ljava/lang/String;
-HSPLandroid/app/AppOpsManager$PackageOps;->getUid()I
 HSPLandroid/app/AppOpsManager$PackageOps;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/AppOpsManager;->checkOp(IILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->checkOpNoThrow(IILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->checkOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->checkPackage(ILjava/lang/String;)V
 HSPLandroid/app/AppOpsManager;->finishOp(IILjava/lang/String;)V
+HSPLandroid/app/AppOpsManager;->finishOp(Ljava/lang/String;ILjava/lang/String;)V
 HSPLandroid/app/AppOpsManager;->getOpsForPackage(ILjava/lang/String;[I)Ljava/util/List;
 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;
+HSPLandroid/app/AppOpsManager;->logOperationIfNeeded(ILjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/app/AppOpsManager;->noteOp(IILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->noteOp(Ljava/lang/String;ILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->noteOpNoThrow(IILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->noteOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->noteProxyOp(ILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->noteProxyOpNoThrow(ILjava/lang/String;)I
+HSPLandroid/app/AppOpsManager;->noteProxyOpNoThrow(ILjava/lang/String;I)I
 HSPLandroid/app/AppOpsManager;->noteProxyOpNoThrow(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->opToDefaultMode(I)I
+HSPLandroid/app/AppOpsManager;->opToName(I)Ljava/lang/String;
+HSPLandroid/app/AppOpsManager;->opToPermission(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/app/AppOpsManager;->opToRestriction(I)Ljava/lang/String;
 HSPLandroid/app/AppOpsManager;->opToSwitch(I)I
 HSPLandroid/app/AppOpsManager;->permissionToOp(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/app/AppOpsManager;->permissionToOpCode(Ljava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->setMode(IILjava/lang/String;I)V
 HSPLandroid/app/AppOpsManager;->setRestriction(III[Ljava/lang/String;)V
+HSPLandroid/app/AppOpsManager;->setUidMode(III)V
+HSPLandroid/app/AppOpsManager;->setUidMode(Ljava/lang/String;II)V
 HSPLandroid/app/AppOpsManager;->startOpNoThrow(IILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->startOpNoThrow(IILjava/lang/String;Z)I
+HSPLandroid/app/AppOpsManager;->startOpNoThrow(Ljava/lang/String;ILjava/lang/String;)I
 HSPLandroid/app/AppOpsManager;->startWatchingMode(ILjava/lang/String;ILandroid/app/AppOpsManager$OnOpChangedListener;)V
 HSPLandroid/app/AppOpsManager;->startWatchingMode(ILjava/lang/String;Landroid/app/AppOpsManager$OnOpChangedListener;)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;->stopWatchingMode(Landroid/app/AppOpsManager$OnOpChangedListener;)V
 HSPLandroid/app/AppOpsManager;->strOpToOp(Ljava/lang/String;)I
-HSPLandroid/app/AppOpsManagerInternal;->setDeviceAndProfileOwners(Landroid/util/SparseIntArray;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityDestroyed(Landroid/app/Activity;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPaused(Landroid/app/Activity;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityResumed(Landroid/app/Activity;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivitySaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityStarted(Landroid/app/Activity;)V
-HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityStopped(Landroid/app/Activity;)V
+HSPLandroid/app/AppOpsManager;->unsafeCheckOpRaw(Ljava/lang/String;ILjava/lang/String;)I
+HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostPaused(Landroid/app/Activity;)V
+HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostResumed(Landroid/app/Activity;)V
+HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostStarted(Landroid/app/Activity;)V
+HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPostStopped(Landroid/app/Activity;)V
+HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPrePaused(Landroid/app/Activity;)V
+HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreResumed(Landroid/app/Activity;)V
+HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreStarted(Landroid/app/Activity;)V
+HSPLandroid/app/Application$ActivityLifecycleCallbacks;->onActivityPreStopped(Landroid/app/Activity;)V
 HSPLandroid/app/Application;-><init>()V
 HSPLandroid/app/Application;->collectActivityLifecycleCallbacks()[Ljava/lang/Object;
 HSPLandroid/app/Application;->collectComponentCallbacks()[Ljava/lang/Object;
 HSPLandroid/app/Application;->dispatchActivityCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Application;->dispatchActivityDestroyed(Landroid/app/Activity;)V
 HSPLandroid/app/Application;->dispatchActivityPaused(Landroid/app/Activity;)V
+HSPLandroid/app/Application;->dispatchActivityPostCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroid/app/Application;->dispatchActivityPostPaused(Landroid/app/Activity;)V
+HSPLandroid/app/Application;->dispatchActivityPostResumed(Landroid/app/Activity;)V
+HSPLandroid/app/Application;->dispatchActivityPostSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroid/app/Application;->dispatchActivityPostStarted(Landroid/app/Activity;)V
+HSPLandroid/app/Application;->dispatchActivityPostStopped(Landroid/app/Activity;)V
+HSPLandroid/app/Application;->dispatchActivityPreCreated(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroid/app/Application;->dispatchActivityPrePaused(Landroid/app/Activity;)V
+HSPLandroid/app/Application;->dispatchActivityPreResumed(Landroid/app/Activity;)V
+HSPLandroid/app/Application;->dispatchActivityPreSaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
+HSPLandroid/app/Application;->dispatchActivityPreStarted(Landroid/app/Activity;)V
+HSPLandroid/app/Application;->dispatchActivityPreStopped(Landroid/app/Activity;)V
 HSPLandroid/app/Application;->dispatchActivityResumed(Landroid/app/Activity;)V
 HSPLandroid/app/Application;->dispatchActivitySaveInstanceState(Landroid/app/Activity;Landroid/os/Bundle;)V
 HSPLandroid/app/Application;->dispatchActivityStarted(Landroid/app/Activity;)V
 HSPLandroid/app/Application;->dispatchActivityStopped(Landroid/app/Activity;)V
-HSPLandroid/app/Application;->dispatchOnProvideAssistData(Landroid/app/Activity;Landroid/os/Bundle;)V
 HSPLandroid/app/Application;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
+HSPLandroid/app/Application;->getProcessName()Ljava/lang/String;
 HSPLandroid/app/Application;->onConfigurationChanged(Landroid/content/res/Configuration;)V
 HSPLandroid/app/Application;->onCreate()V
 HSPLandroid/app/Application;->onTrimMemory(I)V
@@ -13462,34 +13959,45 @@
 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;-><init>()V
+HSPLandroid/app/ApplicationErrorReport$CrashInfo;-><init>(Ljava/lang/Throwable;)V
+HSPLandroid/app/ApplicationErrorReport$CrashInfo;->sanitizeString(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/app/ApplicationErrorReport$ParcelableCrashInfo$1;-><init>()V
+HSPLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;-><init>(Ljava/lang/Throwable;)V
 HSPLandroid/app/ApplicationLoaders;-><init>()V
 HSPLandroid/app/ApplicationLoaders;->addNative(Ljava/lang/ClassLoader;Ljava/util/Collection;)V
 HSPLandroid/app/ApplicationLoaders;->getClassLoader(Ljava/lang/String;IZLjava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/ClassLoader;
-HSPLandroid/app/ApplicationLoaders;->getClassLoader(Ljava/lang/String;IZLjava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/ClassLoader;
+HSPLandroid/app/ApplicationLoaders;->getClassLoader(Ljava/lang/String;IZLjava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Ljava/lang/ClassLoader;
+HSPLandroid/app/ApplicationLoaders;->getClassLoaderWithSharedLibraries(Ljava/lang/String;IZLjava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/util/List;)Ljava/lang/ClassLoader;
 HSPLandroid/app/ApplicationPackageManager$ResourceName;->equals(Ljava/lang/Object;)Z
 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;->checkPermission(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/app/ApplicationPackageManager;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/app/ApplicationPackageManager;->configurationChanged()V
 HSPLandroid/app/ApplicationPackageManager;->getActivityInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
+HSPLandroid/app/ApplicationPackageManager;->getAllIntentFilters(Ljava/lang/String;)Ljava/util/List;
+HSPLandroid/app/ApplicationPackageManager;->getAllPermissionGroups(I)Ljava/util/List;
 HSPLandroid/app/ApplicationPackageManager;->getApplicationEnabledSetting(Ljava/lang/String;)I
 HSPLandroid/app/ApplicationPackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
 HSPLandroid/app/ApplicationPackageManager;->getApplicationInfoAsUser(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
 HSPLandroid/app/ApplicationPackageManager;->getApplicationLabel(Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;
 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;->getChangedPackages(I)Landroid/content/pm/ChangedPackages;
 HSPLandroid/app/ApplicationPackageManager;->getComponentEnabledSetting(Landroid/content/ComponentName;)I
+HSPLandroid/app/ApplicationPackageManager;->getDefaultActivityIcon()Landroid/graphics/drawable/Drawable;
+HSPLandroid/app/ApplicationPackageManager;->getDefaultBrowserPackageNameAsUser(I)Ljava/lang/String;
 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;
 HSPLandroid/app/ApplicationPackageManager;->getInstalledApplicationsAsUser(II)Ljava/util/List;
+HSPLandroid/app/ApplicationPackageManager;->getInstalledModules(I)Ljava/util/List;
 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;->getInstantApps()Ljava/util/List;
+HSPLandroid/app/ApplicationPackageManager;->getInstantAppResolverSettingsComponent()Landroid/content/ComponentName;
+HSPLandroid/app/ApplicationPackageManager;->getIntentFilterVerifications(Ljava/lang/String;)Ljava/util/List;
+HSPLandroid/app/ApplicationPackageManager;->getIntentVerificationStatusAsUser(Ljava/lang/String;I)I
 HSPLandroid/app/ApplicationPackageManager;->getLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;
 HSPLandroid/app/ApplicationPackageManager;->getNameForUid(I)Ljava/lang/String;
 HSPLandroid/app/ApplicationPackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
@@ -13500,19 +14008,24 @@
 HSPLandroid/app/ApplicationPackageManager;->getPackageUidAsUser(Ljava/lang/String;II)I
 HSPLandroid/app/ApplicationPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
 HSPLandroid/app/ApplicationPackageManager;->getPackagesHoldingPermissions([Ljava/lang/String;I)Ljava/util/List;
+HSPLandroid/app/ApplicationPackageManager;->getPermissionControllerPackageName()Ljava/lang/String;
 HSPLandroid/app/ApplicationPackageManager;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)I
+HSPLandroid/app/ApplicationPackageManager;->getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;
 HSPLandroid/app/ApplicationPackageManager;->getPermissionInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
-HSPLandroid/app/ApplicationPackageManager;->getProviderInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ProviderInfo;
+HSPLandroid/app/ApplicationPackageManager;->getPreferredActivities(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)I
 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;
+HSPLandroid/app/ApplicationPackageManager;->getResourcesForApplicationAsUser(Ljava/lang/String;I)Landroid/content/res/Resources;
 HSPLandroid/app/ApplicationPackageManager;->getServiceInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;
+HSPLandroid/app/ApplicationPackageManager;->getServicesSystemSharedLibraryPackageName()Ljava/lang/String;
+HSPLandroid/app/ApplicationPackageManager;->getSharedSystemSharedLibraryPackageName()Ljava/lang/String;
 HSPLandroid/app/ApplicationPackageManager;->getSystemAvailableFeatures()[Landroid/content/pm/FeatureInfo;
 HSPLandroid/app/ApplicationPackageManager;->getSystemSharedLibraryNames()[Ljava/lang/String;
 HSPLandroid/app/ApplicationPackageManager;->getSystemTextClassifierPackageName()Ljava/lang/String;
 HSPLandroid/app/ApplicationPackageManager;->getText(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;
 HSPLandroid/app/ApplicationPackageManager;->getUserBadgedIcon(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/app/ApplicationPackageManager;->getUserBadgedLabel(Ljava/lang/CharSequence;Landroid/os/UserHandle;)Ljava/lang/CharSequence;
+HSPLandroid/app/ApplicationPackageManager;->getUserId()I
 HSPLandroid/app/ApplicationPackageManager;->getUserManager()Landroid/os/UserManager;
 HSPLandroid/app/ApplicationPackageManager;->getXml(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/content/res/XmlResourceParser;
 HSPLandroid/app/ApplicationPackageManager;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)V
@@ -13521,21 +14034,25 @@
 HSPLandroid/app/ApplicationPackageManager;->hasSystemFeature(Ljava/lang/String;I)Z
 HSPLandroid/app/ApplicationPackageManager;->isInstantApp()Z
 HSPLandroid/app/ApplicationPackageManager;->isInstantApp(Ljava/lang/String;)Z
-HSPLandroid/app/ApplicationPackageManager;->isSafeMode()Z
+HSPLandroid/app/ApplicationPackageManager;->isPackageSuspended(Ljava/lang/String;)Z
+HSPLandroid/app/ApplicationPackageManager;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
 HSPLandroid/app/ApplicationPackageManager;->loadItemIcon(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/app/ApplicationPackageManager;->loadUnbadgedItemIcon(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/app/ApplicationPackageManager;->maybeAdjustApplicationInfo(Landroid/content/pm/ApplicationInfo;)Landroid/content/pm/ApplicationInfo;
+HSPLandroid/app/ApplicationPackageManager;->onImplicitDirectBoot(I)V
 HSPLandroid/app/ApplicationPackageManager;->putCachedIcon(Landroid/app/ApplicationPackageManager$ResourceName;Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/app/ApplicationPackageManager;->putCachedString(Landroid/app/ApplicationPackageManager$ResourceName;Ljava/lang/CharSequence;)V
 HSPLandroid/app/ApplicationPackageManager;->queryBroadcastReceivers(Landroid/content/Intent;I)Ljava/util/List;
 HSPLandroid/app/ApplicationPackageManager;->queryBroadcastReceiversAsUser(Landroid/content/Intent;II)Ljava/util/List;
-HSPLandroid/app/ApplicationPackageManager;->queryContentProviders(Ljava/lang/String;IILjava/lang/String;)Ljava/util/List;
 HSPLandroid/app/ApplicationPackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;
 HSPLandroid/app/ApplicationPackageManager;->queryIntentActivitiesAsUser(Landroid/content/Intent;II)Ljava/util/List;
 HSPLandroid/app/ApplicationPackageManager;->queryIntentContentProviders(Landroid/content/Intent;I)Ljava/util/List;
 HSPLandroid/app/ApplicationPackageManager;->queryIntentContentProvidersAsUser(Landroid/content/Intent;II)Ljava/util/List;
 HSPLandroid/app/ApplicationPackageManager;->queryIntentServices(Landroid/content/Intent;I)Ljava/util/List;
 HSPLandroid/app/ApplicationPackageManager;->queryIntentServicesAsUser(Landroid/content/Intent;II)Ljava/util/List;
+HSPLandroid/app/ApplicationPackageManager;->queryPermissionsByGroup(Ljava/lang/String;I)Ljava/util/List;
+HSPLandroid/app/ApplicationPackageManager;->replacePreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;)V
+HSPLandroid/app/ApplicationPackageManager;->replacePreferredActivityAsUser(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
 HSPLandroid/app/ApplicationPackageManager;->resolveActivity(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;
 HSPLandroid/app/ApplicationPackageManager;->resolveActivityAsUser(Landroid/content/Intent;II)Landroid/content/pm/ResolveInfo;
 HSPLandroid/app/ApplicationPackageManager;->resolveContentProvider(Ljava/lang/String;I)Landroid/content/pm/ProviderInfo;
@@ -13543,9 +14060,15 @@
 HSPLandroid/app/ApplicationPackageManager;->resolveService(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;
 HSPLandroid/app/ApplicationPackageManager;->resolveServiceAsUser(Landroid/content/Intent;II)Landroid/content/pm/ResolveInfo;
 HSPLandroid/app/ApplicationPackageManager;->setComponentEnabledSetting(Landroid/content/ComponentName;II)V
-HSPLandroid/app/ApplicationPackageManager;->verifyPendingInstall(II)V
+HSPLandroid/app/ApplicationPackageManager;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IILandroid/os/UserHandle;)V
+HSPLandroid/app/AutomaticZenRule$1;-><init>()V
+HSPLandroid/app/AutomaticZenRule$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/AutomaticZenRule;
+HSPLandroid/app/AutomaticZenRule$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/AutomaticZenRule;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/app/AutomaticZenRule;-><init>(Ljava/lang/String;Landroid/content/ComponentName;Landroid/net/Uri;IZ)V
+HSPLandroid/app/AutomaticZenRule;->getOwner()Landroid/content/ComponentName;
+HSPLandroid/app/AutomaticZenRule;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/BackStackRecord;-><init>(Landroid/app/FragmentManagerImpl;)V
-HSPLandroid/app/BackStackRecord;->add(ILandroid/app/Fragment;)Landroid/app/FragmentTransaction;
 HSPLandroid/app/BackStackRecord;->add(ILandroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;
 HSPLandroid/app/BackStackRecord;->add(Landroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;
 HSPLandroid/app/BackStackRecord;->bumpBackStackNesting(I)V
@@ -13556,40 +14079,23 @@
 HSPLandroid/app/BackStackRecord;->executeOps()V
 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;->hide(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;
 HSPLandroid/app/BackStackRecord;->interactsWith(I)Z
+HSPLandroid/app/BackStackRecord;->isEmpty()Z
 HSPLandroid/app/BackStackRecord;->replace(ILandroid/app/Fragment;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/BackStackRecord;->replace(ILandroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/BackStackRecord;->setBreadCrumbTitle(I)Landroid/app/FragmentTransaction;
 HSPLandroid/app/BackStackRecord;->setTransition(I)Landroid/app/FragmentTransaction;
 HSPLandroid/app/BackStackRecord;->show(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;
 HSPLandroid/app/BackStackState$1;-><init>()V
+HSPLandroid/app/BroadcastOptions;-><init>(Landroid/os/Bundle;)V
+HSPLandroid/app/BroadcastOptions;->allowsBackgroundActivityStarts()Z
+HSPLandroid/app/BroadcastOptions;->getMaxManifestReceiverApiLevel()I
+HSPLandroid/app/BroadcastOptions;->getMinManifestReceiverApiLevel()I
+HSPLandroid/app/BroadcastOptions;->getTemporaryAppWhitelistDuration()J
+HSPLandroid/app/BroadcastOptions;->isDontSendToRestrictedApps()Z
 HSPLandroid/app/BroadcastOptions;->makeBasic()Landroid/app/BroadcastOptions;
+HSPLandroid/app/BroadcastOptions;->setAllowBackgroundActivityStarts(Z)V
 HSPLandroid/app/BroadcastOptions;->setTemporaryAppWhitelistDuration(J)V
 HSPLandroid/app/BroadcastOptions;->toBundle()Landroid/os/Bundle;
-HSPLandroid/app/ClientTransactionHandler;->getActivityClient(Landroid/os/IBinder;)Landroid/app/ActivityThread$ActivityClientRecord;
-HSPLandroid/app/ClientTransactionHandler;->getPackageInfoNoCheck(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;)Landroid/app/LoadedApk;
-HSPLandroid/app/ClientTransactionHandler;->getTransactionExecutor()Landroid/app/servertransaction/TransactionExecutor;
-HSPLandroid/app/ClientTransactionHandler;->handleActivityConfigurationChanged(Landroid/os/IBinder;Landroid/content/res/Configuration;I)V
-HSPLandroid/app/ClientTransactionHandler;->handleConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLandroid/app/ClientTransactionHandler;->handleDestroyActivity(Landroid/os/IBinder;ZIZLjava/lang/String;)V
-HSPLandroid/app/ClientTransactionHandler;->handleLaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;Landroid/content/Intent;)Landroid/app/Activity;
-HSPLandroid/app/ClientTransactionHandler;->handleMultiWindowModeChanged(Landroid/os/IBinder;ZLandroid/content/res/Configuration;)V
-HSPLandroid/app/ClientTransactionHandler;->handleNewIntent(Landroid/os/IBinder;Ljava/util/List;Z)V
-HSPLandroid/app/ClientTransactionHandler;->handlePauseActivity(Landroid/os/IBinder;ZZILandroid/app/servertransaction/PendingTransactionActions;Ljava/lang/String;)V
-HSPLandroid/app/ClientTransactionHandler;->handlePictureInPictureModeChanged(Landroid/os/IBinder;ZLandroid/content/res/Configuration;)V
-HSPLandroid/app/ClientTransactionHandler;->handleRelaunchActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/ClientTransactionHandler;->handleResumeActivity(Landroid/os/IBinder;ZZLjava/lang/String;)V
-HSPLandroid/app/ClientTransactionHandler;->handleSendResult(Landroid/os/IBinder;Ljava/util/List;Ljava/lang/String;)V
-HSPLandroid/app/ClientTransactionHandler;->handleStartActivity(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/ClientTransactionHandler;->handleStopActivity(Landroid/os/IBinder;ZILandroid/app/servertransaction/PendingTransactionActions;ZLjava/lang/String;)V
-HSPLandroid/app/ClientTransactionHandler;->handleWindowVisibility(Landroid/os/IBinder;Z)V
-HSPLandroid/app/ClientTransactionHandler;->performRestartActivity(Landroid/os/IBinder;Z)V
-HSPLandroid/app/ClientTransactionHandler;->prepareRelaunchActivity(Landroid/os/IBinder;Ljava/util/List;Ljava/util/List;ILandroid/util/MergedConfiguration;Z)Landroid/app/ActivityThread$ActivityClientRecord;
-HSPLandroid/app/ClientTransactionHandler;->reportRelaunch(Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/ClientTransactionHandler;->reportStop(Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/ClientTransactionHandler;->sendMessage(ILjava/lang/Object;)V
-HSPLandroid/app/ClientTransactionHandler;->updatePendingConfiguration(Landroid/content/res/Configuration;)V
-HSPLandroid/app/ClientTransactionHandler;->updateProcessState(IZ)V
 HSPLandroid/app/ContentProviderHolder$1;-><init>()V
 HSPLandroid/app/ContentProviderHolder$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ContentProviderHolder;
 HSPLandroid/app/ContentProviderHolder$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -13601,14 +14107,15 @@
 HSPLandroid/app/ContextImpl$ApplicationContentResolver;->acquireUnstableProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
 HSPLandroid/app/ContextImpl$ApplicationContentResolver;->releaseProvider(Landroid/content/IContentProvider;)Z
 HSPLandroid/app/ContextImpl$ApplicationContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
-HSPLandroid/app/ContextImpl;-><init>(Landroid/app/ContextImpl;Landroid/app/ActivityThread;Landroid/app/LoadedApk;Ljava/lang/String;Landroid/os/IBinder;Landroid/os/UserHandle;ILjava/lang/ClassLoader;)V
+HSPLandroid/app/ContextImpl;-><init>(Landroid/app/ContextImpl;Landroid/app/ActivityThread;Landroid/app/LoadedApk;Ljava/lang/String;Landroid/os/IBinder;Landroid/os/UserHandle;ILjava/lang/ClassLoader;Ljava/lang/String;)V
 HSPLandroid/app/ContextImpl;->bindService(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z
 HSPLandroid/app/ContextImpl;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z
 HSPLandroid/app/ContextImpl;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z
-HSPLandroid/app/ContextImpl;->bindServiceCommon(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z
+HSPLandroid/app/ContextImpl;->bindServiceCommon(Landroid/content/Intent;Landroid/content/ServiceConnection;ILjava/lang/String;Landroid/os/Handler;Landroid/os/UserHandle;)Z
 HSPLandroid/app/ContextImpl;->canLoadUnsafeResources()Z
 HSPLandroid/app/ContextImpl;->checkCallingOrSelfPermission(Ljava/lang/String;)I
 HSPLandroid/app/ContextImpl;->checkCallingPermission(Ljava/lang/String;)I
+HSPLandroid/app/ContextImpl;->checkCallingUriPermission(Landroid/net/Uri;I)I
 HSPLandroid/app/ContextImpl;->checkMode(I)V
 HSPLandroid/app/ContextImpl;->checkPermission(Ljava/lang/String;II)I
 HSPLandroid/app/ContextImpl;->checkPermission(Ljava/lang/String;IILandroid/os/IBinder;)I
@@ -13616,34 +14123,36 @@
 HSPLandroid/app/ContextImpl;->checkUriPermission(Landroid/net/Uri;III)I
 HSPLandroid/app/ContextImpl;->createActivityContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;Landroid/content/pm/ActivityInfo;Landroid/os/IBinder;ILandroid/content/res/Configuration;)Landroid/app/ContextImpl;
 HSPLandroid/app/ContextImpl;->createAppContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;)Landroid/app/ContextImpl;
+HSPLandroid/app/ContextImpl;->createAppContext(Landroid/app/ActivityThread;Landroid/app/LoadedApk;Ljava/lang/String;)Landroid/app/ContextImpl;
 HSPLandroid/app/ContextImpl;->createApplicationContext(Landroid/content/pm/ApplicationInfo;I)Landroid/content/Context;
 HSPLandroid/app/ContextImpl;->createConfigurationContext(Landroid/content/res/Configuration;)Landroid/content/Context;
 HSPLandroid/app/ContextImpl;->createCredentialProtectedStorageContext()Landroid/content/Context;
 HSPLandroid/app/ContextImpl;->createDeviceProtectedStorageContext()Landroid/content/Context;
+HSPLandroid/app/ContextImpl;->createDisplayContext(Landroid/view/Display;)Landroid/content/Context;
 HSPLandroid/app/ContextImpl;->createPackageContext(Ljava/lang/String;I)Landroid/content/Context;
 HSPLandroid/app/ContextImpl;->createPackageContextAsUser(Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/Context;
 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;->createResources(Landroid/os/IBinder;Landroid/app/LoadedApk;Ljava/lang/String;ILandroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;[Ljava/lang/String;)Landroid/content/res/Resources;
 HSPLandroid/app/ContextImpl;->createSystemContext(Landroid/app/ActivityThread;)Landroid/app/ContextImpl;
-HSPLandroid/app/ContextImpl;->createSystemUiContext(Landroid/app/ContextImpl;)Landroid/app/ContextImpl;
-HSPLandroid/app/ContextImpl;->databaseList()[Ljava/lang/String;
+HSPLandroid/app/ContextImpl;->createSystemUiContext(Landroid/app/ContextImpl;I)Landroid/app/ContextImpl;
 HSPLandroid/app/ContextImpl;->deleteDatabase(Ljava/lang/String;)Z
-HSPLandroid/app/ContextImpl;->deleteFile(Ljava/lang/String;)Z
 HSPLandroid/app/ContextImpl;->enforce(Ljava/lang/String;IZILjava/lang/String;)V
 HSPLandroid/app/ContextImpl;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/app/ContextImpl;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/app/ContextImpl;->enforcePermission(Ljava/lang/String;IILjava/lang/String;)V
 HSPLandroid/app/ContextImpl;->ensureExternalDirsExistOrFilter([Ljava/io/File;)[Ljava/io/File;
 HSPLandroid/app/ContextImpl;->ensurePrivateDirExists(Ljava/io/File;IILjava/lang/String;)Ljava/io/File;
-HSPLandroid/app/ContextImpl;->fileList()[Ljava/lang/String;
 HSPLandroid/app/ContextImpl;->getActivityToken()Landroid/os/IBinder;
 HSPLandroid/app/ContextImpl;->getApplicationContext()Landroid/content/Context;
 HSPLandroid/app/ContextImpl;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
 HSPLandroid/app/ContextImpl;->getAssets()Landroid/content/res/AssetManager;
 HSPLandroid/app/ContextImpl;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
+HSPLandroid/app/ContextImpl;->getAutofillOptions()Landroid/content/AutofillOptions;
 HSPLandroid/app/ContextImpl;->getBasePackageName()Ljava/lang/String;
 HSPLandroid/app/ContextImpl;->getCacheDir()Ljava/io/File;
 HSPLandroid/app/ContextImpl;->getClassLoader()Ljava/lang/ClassLoader;
 HSPLandroid/app/ContextImpl;->getCodeCacheDir()Ljava/io/File;
+HSPLandroid/app/ContextImpl;->getContentCaptureOptions()Landroid/content/ContentCaptureOptions;
 HSPLandroid/app/ContextImpl;->getContentResolver()Landroid/content/ContentResolver;
 HSPLandroid/app/ContextImpl;->getDataDir()Ljava/io/File;
 HSPLandroid/app/ContextImpl;->getDatabasePath(Ljava/lang/String;)Ljava/io/File;
@@ -13651,13 +14160,16 @@
 HSPLandroid/app/ContextImpl;->getDir(Ljava/lang/String;I)Ljava/io/File;
 HSPLandroid/app/ContextImpl;->getDisplay()Landroid/view/Display;
 HSPLandroid/app/ContextImpl;->getDisplayAdjustments(I)Landroid/view/DisplayAdjustments;
+HSPLandroid/app/ContextImpl;->getDisplayId()I
 HSPLandroid/app/ContextImpl;->getExternalCacheDir()Ljava/io/File;
 HSPLandroid/app/ContextImpl;->getExternalCacheDirs()[Ljava/io/File;
 HSPLandroid/app/ContextImpl;->getExternalFilesDir(Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/app/ContextImpl;->getExternalFilesDirs(Ljava/lang/String;)[Ljava/io/File;
 HSPLandroid/app/ContextImpl;->getFileStreamPath(Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/app/ContextImpl;->getFilesDir()Ljava/io/File;
+HSPLandroid/app/ContextImpl;->getMainExecutor()Ljava/util/concurrent/Executor;
 HSPLandroid/app/ContextImpl;->getMainLooper()Landroid/os/Looper;
+HSPLandroid/app/ContextImpl;->getMainThreadHandler()Landroid/os/Handler;
 HSPLandroid/app/ContextImpl;->getNoBackupFilesDir()Ljava/io/File;
 HSPLandroid/app/ContextImpl;->getOpPackageName()Ljava/lang/String;
 HSPLandroid/app/ContextImpl;->getPackageCodePath()Ljava/lang/String;
@@ -13665,7 +14177,6 @@
 HSPLandroid/app/ContextImpl;->getPackageName()Ljava/lang/String;
 HSPLandroid/app/ContextImpl;->getPackageResourcePath()Ljava/lang/String;
 HSPLandroid/app/ContextImpl;->getPreferencesDir()Ljava/io/File;
-HSPLandroid/app/ContextImpl;->getPreloadsFileCache()Ljava/io/File;
 HSPLandroid/app/ContextImpl;->getResources()Landroid/content/res/Resources;
 HSPLandroid/app/ContextImpl;->getSharedPreferences(Ljava/io/File;I)Landroid/content/SharedPreferences;
 HSPLandroid/app/ContextImpl;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
@@ -13679,31 +14190,32 @@
 HSPLandroid/app/ContextImpl;->grantUriPermission(Ljava/lang/String;Landroid/net/Uri;I)V
 HSPLandroid/app/ContextImpl;->installSystemApplicationInfo(Landroid/content/pm/ApplicationInfo;Ljava/lang/ClassLoader;)V
 HSPLandroid/app/ContextImpl;->isAutofillCompatibilityEnabled()Z
+HSPLandroid/app/ContextImpl;->isContentCaptureSupported()Z
 HSPLandroid/app/ContextImpl;->isCredentialProtectedStorage()Z
 HSPLandroid/app/ContextImpl;->isDeviceProtectedStorage()Z
 HSPLandroid/app/ContextImpl;->isRestricted()Z
 HSPLandroid/app/ContextImpl;->makeFilename(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
-HSPLandroid/app/ContextImpl;->moveDatabaseFrom(Landroid/content/Context;Ljava/lang/String;)Z
 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;->openFileInput(Ljava/lang/String;)Ljava/io/FileInputStream;
 HSPLandroid/app/ContextImpl;->openFileOutput(Ljava/lang/String;I)Ljava/io/FileOutputStream;
-HSPLandroid/app/ContextImpl;->openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;
-HSPLandroid/app/ContextImpl;->openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;)Landroid/database/sqlite/SQLiteDatabase;
 HSPLandroid/app/ContextImpl;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
 HSPLandroid/app/ContextImpl;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
 HSPLandroid/app/ContextImpl;->registerReceiverAsUser(Landroid/content/BroadcastReceiver;Landroid/os/UserHandle;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
 HSPLandroid/app/ContextImpl;->registerReceiverInternal(Landroid/content/BroadcastReceiver;ILandroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;Landroid/content/Context;I)Landroid/content/Intent;
 HSPLandroid/app/ContextImpl;->sendBroadcast(Landroid/content/Intent;)V
 HSPLandroid/app/ContextImpl;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
+HSPLandroid/app/ContextImpl;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;)V
 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
-HSPLandroid/app/ContextImpl;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
 HSPLandroid/app/ContextImpl;->sendStickyBroadcast(Landroid/content/Intent;)V
 HSPLandroid/app/ContextImpl;->sendStickyBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
 HSPLandroid/app/ContextImpl;->setAutofillClient(Landroid/view/autofill/AutofillManager$AutofillClient;)V
 HSPLandroid/app/ContextImpl;->setAutofillCompatibilityEnabled(Z)V
+HSPLandroid/app/ContextImpl;->setAutofillOptions(Landroid/content/AutofillOptions;)V
+HSPLandroid/app/ContextImpl;->setContentCaptureOptions(Landroid/content/ContentCaptureOptions;)V
+HSPLandroid/app/ContextImpl;->setContentCaptureSupported(Z)V
 HSPLandroid/app/ContextImpl;->setFilePermissionsFromMode(Ljava/lang/String;II)V
 HSPLandroid/app/ContextImpl;->setResources(Landroid/content/res/Resources;)V
 HSPLandroid/app/ContextImpl;->setTheme(I)V
@@ -13719,52 +14231,31 @@
 HSPLandroid/app/ContextImpl;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
 HSPLandroid/app/ContextImpl;->validateServiceIntent(Landroid/content/Intent;)V
 HSPLandroid/app/ContextImpl;->warnIfCallingFromSystemProcess()V
-HSPLandroid/app/DatePickerDialog$OnDateSetListener;->onDateSet(Landroid/widget/DatePicker;III)V
 HSPLandroid/app/DexLoadReporter;-><init>()V
-HSPLandroid/app/DexLoadReporter;->getInstance()Landroid/app/DexLoadReporter;
 HSPLandroid/app/DexLoadReporter;->notifyPackageManager(Ljava/util/List;Ljava/util/List;)V
 HSPLandroid/app/DexLoadReporter;->registerAppDataDir(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/app/DexLoadReporter;->registerSecondaryDexForProfiling(Ljava/lang/String;[Ljava/lang/String;)V
 HSPLandroid/app/DexLoadReporter;->registerSecondaryDexForProfiling([Ljava/lang/String;)V
 HSPLandroid/app/DexLoadReporter;->report(Ljava/util/List;Ljava/util/List;)V
-HSPLandroid/app/Dialog$ListenersHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/app/Dialog;-><init>(Landroid/content/Context;I)V
 HSPLandroid/app/Dialog;-><init>(Landroid/content/Context;IZ)V
-HSPLandroid/app/Dialog;->dismiss()V
-HSPLandroid/app/Dialog;->dismissDialog()V
 HSPLandroid/app/Dialog;->dispatchOnCreate(Landroid/os/Bundle;)V
-HSPLandroid/app/Dialog;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/app/Dialog;->getContext()Landroid/content/Context;
 HSPLandroid/app/Dialog;->getWindow()Landroid/view/Window;
-HSPLandroid/app/Dialog;->isShowing()Z
+HSPLandroid/app/Dialog;->hide()V
 HSPLandroid/app/Dialog;->onAttachedToWindow()V
 HSPLandroid/app/Dialog;->onContentChanged()V
 HSPLandroid/app/Dialog;->onCreate(Landroid/os/Bundle;)V
-HSPLandroid/app/Dialog;->onDetachedFromWindow()V
 HSPLandroid/app/Dialog;->onStart()V
-HSPLandroid/app/Dialog;->onStop()V
 HSPLandroid/app/Dialog;->onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V
-HSPLandroid/app/Dialog;->onWindowFocusChanged(Z)V
-HSPLandroid/app/Dialog;->setCancelable(Z)V
-HSPLandroid/app/Dialog;->setContentView(I)V
 HSPLandroid/app/Dialog;->setContentView(Landroid/view/View;)V
-HSPLandroid/app/Dialog;->setOnCancelListener(Landroid/content/DialogInterface$OnCancelListener;)V
-HSPLandroid/app/Dialog;->setOnDismissListener(Landroid/content/DialogInterface$OnDismissListener;)V
-HSPLandroid/app/Dialog;->setOnKeyListener(Landroid/content/DialogInterface$OnKeyListener;)V
-HSPLandroid/app/Dialog;->setOwnerActivity(Landroid/app/Activity;)V
 HSPLandroid/app/Dialog;->show()V
-HSPLandroid/app/DownloadManager$Query;->joinStrings(Ljava/lang/String;Ljava/lang/Iterable;)Ljava/lang/String;
-HSPLandroid/app/DownloadManager$Query;->runQuery(Landroid/content/ContentResolver;[Ljava/lang/String;Landroid/net/Uri;)Landroid/database/Cursor;
 HSPLandroid/app/DownloadManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/app/DownloadManager;->getWhereClauseForIds([J)Ljava/lang/String;
-HSPLandroid/app/DownloadManager;->query(Landroid/app/DownloadManager$Query;)Landroid/database/Cursor;
 HSPLandroid/app/DownloadManager;->setAccessAllDownloads(Z)V
 HSPLandroid/app/DownloadManager;->setAccessFilename(Z)V
-HSPLandroid/app/Fragment$1;->onFindViewById(I)Landroid/view/View;
-HSPLandroid/app/Fragment$1;->onHasView()Z
 HSPLandroid/app/Fragment$AnimationInfo;-><init>()V
 HSPLandroid/app/Fragment;-><init>()V
 HSPLandroid/app/Fragment;->equals(Ljava/lang/Object;)Z
+HSPLandroid/app/Fragment;->findFragmentByWho(Ljava/lang/String;)Landroid/app/Fragment;
 HSPLandroid/app/Fragment;->getActivity()Landroid/app/Activity;
 HSPLandroid/app/Fragment;->getAnimatingAway()Landroid/animation/Animator;
 HSPLandroid/app/Fragment;->getArguments()Landroid/os/Bundle;
@@ -13773,31 +14264,25 @@
 HSPLandroid/app/Fragment;->getEnterTransition()Landroid/transition/Transition;
 HSPLandroid/app/Fragment;->getExitTransition()Landroid/transition/Transition;
 HSPLandroid/app/Fragment;->getFragmentManager()Landroid/app/FragmentManager;
+HSPLandroid/app/Fragment;->getHost()Ljava/lang/Object;
 HSPLandroid/app/Fragment;->getLoaderManager()Landroid/app/LoaderManager;
 HSPLandroid/app/Fragment;->getNextAnim()I
 HSPLandroid/app/Fragment;->getNextTransition()I
 HSPLandroid/app/Fragment;->getNextTransitionStyle()I
-HSPLandroid/app/Fragment;->getReenterTransition()Landroid/transition/Transition;
+HSPLandroid/app/Fragment;->getParentFragment()Landroid/app/Fragment;
 HSPLandroid/app/Fragment;->getResources()Landroid/content/res/Resources;
-HSPLandroid/app/Fragment;->getReturnTransition()Landroid/transition/Transition;
-HSPLandroid/app/Fragment;->getSharedElementEnterTransition()Landroid/transition/Transition;
-HSPLandroid/app/Fragment;->getSharedElementReturnTransition()Landroid/transition/Transition;
-HSPLandroid/app/Fragment;->getString(I)Ljava/lang/String;
 HSPLandroid/app/Fragment;->getUserVisibleHint()Z
 HSPLandroid/app/Fragment;->getView()Landroid/view/View;
 HSPLandroid/app/Fragment;->hashCode()I
-HSPLandroid/app/Fragment;->initState()V
-HSPLandroid/app/Fragment;->instantiate(Landroid/content/Context;Ljava/lang/String;)Landroid/app/Fragment;
 HSPLandroid/app/Fragment;->instantiate(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)Landroid/app/Fragment;
 HSPLandroid/app/Fragment;->instantiateChildFragmentManager()V
 HSPLandroid/app/Fragment;->isAdded()Z
 HSPLandroid/app/Fragment;->isHidden()Z
+HSPLandroid/app/Fragment;->isHideReplaced()Z
 HSPLandroid/app/Fragment;->isPostponed()Z
-HSPLandroid/app/Fragment;->isResumed()Z
-HSPLandroid/app/Fragment;->isVisible()Z
-HSPLandroid/app/Fragment;->loadTransition(Landroid/content/Context;Landroid/content/res/TypedArray;Landroid/transition/Transition;Landroid/transition/Transition;I)Landroid/transition/Transition;
 HSPLandroid/app/Fragment;->noteStateNotSaved()V
 HSPLandroid/app/Fragment;->onActivityCreated(Landroid/os/Bundle;)V
+HSPLandroid/app/Fragment;->onActivityResult(IILandroid/content/Intent;)V
 HSPLandroid/app/Fragment;->onAttach(Landroid/app/Activity;)V
 HSPLandroid/app/Fragment;->onAttach(Landroid/content/Context;)V
 HSPLandroid/app/Fragment;->onAttachFragment(Landroid/app/Fragment;)V
@@ -13805,13 +14290,9 @@
 HSPLandroid/app/Fragment;->onCreateAnimator(IZI)Landroid/animation/Animator;
 HSPLandroid/app/Fragment;->onCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)V
 HSPLandroid/app/Fragment;->onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;
-HSPLandroid/app/Fragment;->onDestroy()V
-HSPLandroid/app/Fragment;->onDestroyView()V
-HSPLandroid/app/Fragment;->onDetach()V
+HSPLandroid/app/Fragment;->onDestroyOptionsMenu()V
 HSPLandroid/app/Fragment;->onGetLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater;
-HSPLandroid/app/Fragment;->onInflate(Landroid/app/Activity;Landroid/util/AttributeSet;Landroid/os/Bundle;)V
-HSPLandroid/app/Fragment;->onInflate(Landroid/content/Context;Landroid/util/AttributeSet;Landroid/os/Bundle;)V
-HSPLandroid/app/Fragment;->onInflate(Landroid/util/AttributeSet;Landroid/os/Bundle;)V
+HSPLandroid/app/Fragment;->onHiddenChanged(Z)V
 HSPLandroid/app/Fragment;->onPause()V
 HSPLandroid/app/Fragment;->onPrepareOptionsMenu(Landroid/view/Menu;)V
 HSPLandroid/app/Fragment;->onResume()V
@@ -13825,9 +14306,6 @@
 HSPLandroid/app/Fragment;->performCreate(Landroid/os/Bundle;)V
 HSPLandroid/app/Fragment;->performCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z
 HSPLandroid/app/Fragment;->performCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;
-HSPLandroid/app/Fragment;->performDestroy()V
-HSPLandroid/app/Fragment;->performDestroyView()V
-HSPLandroid/app/Fragment;->performDetach()V
 HSPLandroid/app/Fragment;->performGetLayoutInflater(Landroid/os/Bundle;)Landroid/view/LayoutInflater;
 HSPLandroid/app/Fragment;->performPause()V
 HSPLandroid/app/Fragment;->performPrepareOptionsMenu(Landroid/view/Menu;)Z
@@ -13838,48 +14316,35 @@
 HSPLandroid/app/Fragment;->performTrimMemory(I)V
 HSPLandroid/app/Fragment;->restoreChildFragmentState(Landroid/os/Bundle;Z)V
 HSPLandroid/app/Fragment;->restoreViewState(Landroid/os/Bundle;)V
-HSPLandroid/app/Fragment;->setAllowEnterTransitionOverlap(Z)V
-HSPLandroid/app/Fragment;->setAllowReturnTransitionOverlap(Z)V
 HSPLandroid/app/Fragment;->setArguments(Landroid/os/Bundle;)V
-HSPLandroid/app/Fragment;->setEnterTransition(Landroid/transition/Transition;)V
-HSPLandroid/app/Fragment;->setExitTransition(Landroid/transition/Transition;)V
 HSPLandroid/app/Fragment;->setHasOptionsMenu(Z)V
 HSPLandroid/app/Fragment;->setIndex(ILandroid/app/Fragment;)V
-HSPLandroid/app/Fragment;->setMenuVisibility(Z)V
 HSPLandroid/app/Fragment;->setNextAnim(I)V
 HSPLandroid/app/Fragment;->setNextTransition(II)V
-HSPLandroid/app/Fragment;->setReenterTransition(Landroid/transition/Transition;)V
 HSPLandroid/app/Fragment;->setRetainInstance(Z)V
-HSPLandroid/app/Fragment;->setReturnTransition(Landroid/transition/Transition;)V
-HSPLandroid/app/Fragment;->setSharedElementEnterTransition(Landroid/transition/Transition;)V
-HSPLandroid/app/Fragment;->setSharedElementReturnTransition(Landroid/transition/Transition;)V
-HSPLandroid/app/Fragment;->setUserVisibleHint(Z)V
 HSPLandroid/app/Fragment;->toString()Ljava/lang/String;
 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;
 HSPLandroid/app/FragmentController;->dispatchActivityCreated()V
-HSPLandroid/app/FragmentController;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V
 HSPLandroid/app/FragmentController;->dispatchCreate()V
 HSPLandroid/app/FragmentController;->dispatchCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z
-HSPLandroid/app/FragmentController;->dispatchDestroy()V
 HSPLandroid/app/FragmentController;->dispatchPause()V
 HSPLandroid/app/FragmentController;->dispatchPrepareOptionsMenu(Landroid/view/Menu;)Z
 HSPLandroid/app/FragmentController;->dispatchResume()V
 HSPLandroid/app/FragmentController;->dispatchStart()V
 HSPLandroid/app/FragmentController;->dispatchStop()V
 HSPLandroid/app/FragmentController;->dispatchTrimMemory(I)V
-HSPLandroid/app/FragmentController;->doLoaderDestroy()V
 HSPLandroid/app/FragmentController;->doLoaderStart()V
 HSPLandroid/app/FragmentController;->doLoaderStop(Z)V
 HSPLandroid/app/FragmentController;->execPendingActions()Z
+HSPLandroid/app/FragmentController;->findFragmentByWho(Ljava/lang/String;)Landroid/app/Fragment;
 HSPLandroid/app/FragmentController;->getFragmentManager()Landroid/app/FragmentManager;
-HSPLandroid/app/FragmentController;->getLoaderManager()Landroid/app/LoaderManager;
 HSPLandroid/app/FragmentController;->noteStateNotSaved()V
-HSPLandroid/app/FragmentController;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
 HSPLandroid/app/FragmentController;->reportLoaderStart()V
 HSPLandroid/app/FragmentController;->restoreAllState(Landroid/os/Parcelable;Landroid/app/FragmentManagerNonConfig;)V
 HSPLandroid/app/FragmentController;->saveAllState()Landroid/os/Parcelable;
-HSPLandroid/app/FragmentHostCallback;->doLoaderDestroy()V
+HSPLandroid/app/FragmentHostCallback;-><init>(Landroid/content/Context;Landroid/os/Handler;I)V
 HSPLandroid/app/FragmentHostCallback;->doLoaderStart()V
 HSPLandroid/app/FragmentHostCallback;->doLoaderStop(Z)V
 HSPLandroid/app/FragmentHostCallback;->getActivity()Landroid/app/Activity;
@@ -13887,59 +14352,23 @@
 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;->getLoaderManagerImpl()Landroid/app/LoaderManagerImpl;
-HSPLandroid/app/FragmentHostCallback;->inactivateFragment(Ljava/lang/String;)V
-HSPLandroid/app/FragmentHostCallback;->onGetHost()Ljava/lang/Object;
+HSPLandroid/app/FragmentHostCallback;->getRetainLoaders()Z
 HSPLandroid/app/FragmentHostCallback;->reportLoaderStart()V
-HSPLandroid/app/FragmentManager$BackStackEntry;->getBreadCrumbShortTitle()Ljava/lang/CharSequence;
-HSPLandroid/app/FragmentManager$BackStackEntry;->getBreadCrumbShortTitleRes()I
-HSPLandroid/app/FragmentManager$BackStackEntry;->getBreadCrumbTitle()Ljava/lang/CharSequence;
-HSPLandroid/app/FragmentManager$BackStackEntry;->getBreadCrumbTitleRes()I
-HSPLandroid/app/FragmentManager$BackStackEntry;->getId()I
-HSPLandroid/app/FragmentManager$BackStackEntry;->getName()Ljava/lang/String;
-HSPLandroid/app/FragmentManager$OnBackStackChangedListener;->onBackStackChanged()V
-HSPLandroid/app/FragmentManager;->addOnBackStackChangedListener(Landroid/app/FragmentManager$OnBackStackChangedListener;)V
-HSPLandroid/app/FragmentManager;->beginTransaction()Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentManager;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLandroid/app/FragmentManager;->executePendingTransactions()Z
-HSPLandroid/app/FragmentManager;->findFragmentById(I)Landroid/app/Fragment;
-HSPLandroid/app/FragmentManager;->findFragmentByTag(Ljava/lang/String;)Landroid/app/Fragment;
-HSPLandroid/app/FragmentManager;->getBackStackEntryAt(I)Landroid/app/FragmentManager$BackStackEntry;
-HSPLandroid/app/FragmentManager;->getBackStackEntryCount()I
-HSPLandroid/app/FragmentManager;->getFragment(Landroid/os/Bundle;Ljava/lang/String;)Landroid/app/Fragment;
-HSPLandroid/app/FragmentManager;->getFragments()Ljava/util/List;
-HSPLandroid/app/FragmentManager;->getPrimaryNavigationFragment()Landroid/app/Fragment;
-HSPLandroid/app/FragmentManager;->isDestroyed()Z
-HSPLandroid/app/FragmentManager;->isStateSaved()Z
-HSPLandroid/app/FragmentManager;->popBackStack()V
-HSPLandroid/app/FragmentManager;->popBackStack(II)V
-HSPLandroid/app/FragmentManager;->popBackStack(Ljava/lang/String;I)V
-HSPLandroid/app/FragmentManager;->popBackStackImmediate()Z
-HSPLandroid/app/FragmentManager;->popBackStackImmediate(II)Z
-HSPLandroid/app/FragmentManager;->popBackStackImmediate(Ljava/lang/String;I)Z
-HSPLandroid/app/FragmentManager;->putFragment(Landroid/os/Bundle;Ljava/lang/String;Landroid/app/Fragment;)V
-HSPLandroid/app/FragmentManager;->registerFragmentLifecycleCallbacks(Landroid/app/FragmentManager$FragmentLifecycleCallbacks;Z)V
-HSPLandroid/app/FragmentManager;->removeOnBackStackChangedListener(Landroid/app/FragmentManager$OnBackStackChangedListener;)V
-HSPLandroid/app/FragmentManager;->saveFragmentInstanceState(Landroid/app/Fragment;)Landroid/app/Fragment$SavedState;
-HSPLandroid/app/FragmentManager;->unregisterFragmentLifecycleCallbacks(Landroid/app/FragmentManager$FragmentLifecycleCallbacks;)V
 HSPLandroid/app/FragmentManagerImpl$1;->run()V
 HSPLandroid/app/FragmentManagerImpl$AnimateOnHWLayerIfNeededListener;->onAnimationEnd(Landroid/animation/Animator;)V
 HSPLandroid/app/FragmentManagerImpl$AnimateOnHWLayerIfNeededListener;->onAnimationStart(Landroid/animation/Animator;)V
-HSPLandroid/app/FragmentManagerImpl$OpGenerator;->generateOps(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
 HSPLandroid/app/FragmentManagerImpl;-><init>()V
 HSPLandroid/app/FragmentManagerImpl;->addAddedFragments(Landroid/util/ArraySet;)V
 HSPLandroid/app/FragmentManagerImpl;->addFragment(Landroid/app/Fragment;Z)V
-HSPLandroid/app/FragmentManagerImpl;->addOnBackStackChangedListener(Landroid/app/FragmentManager$OnBackStackChangedListener;)V
 HSPLandroid/app/FragmentManagerImpl;->beginTransaction()Landroid/app/FragmentTransaction;
 HSPLandroid/app/FragmentManagerImpl;->burpActive()V
 HSPLandroid/app/FragmentManagerImpl;->checkStateLoss()V
+HSPLandroid/app/FragmentManagerImpl;->completeShowHideFragment(Landroid/app/Fragment;)V
 HSPLandroid/app/FragmentManagerImpl;->dispatchCreateOptionsMenu(Landroid/view/Menu;Landroid/view/MenuInflater;)Z
 HSPLandroid/app/FragmentManagerImpl;->dispatchMoveToState(I)V
 HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentActivityCreated(Landroid/app/Fragment;Landroid/os/Bundle;Z)V
 HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentAttached(Landroid/app/Fragment;Landroid/content/Context;Z)V
 HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentCreated(Landroid/app/Fragment;Landroid/os/Bundle;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentDestroyed(Landroid/app/Fragment;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentDetached(Landroid/app/Fragment;Z)V
 HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentPaused(Landroid/app/Fragment;Z)V
 HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentPreAttached(Landroid/app/Fragment;Landroid/content/Context;Z)V
 HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentPreCreated(Landroid/app/Fragment;Landroid/os/Bundle;Z)V
@@ -13948,7 +14377,6 @@
 HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentStarted(Landroid/app/Fragment;Z)V
 HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentStopped(Landroid/app/Fragment;Z)V
 HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentViewCreated(Landroid/app/Fragment;Landroid/view/View;Landroid/os/Bundle;Z)V
-HSPLandroid/app/FragmentManagerImpl;->dispatchOnFragmentViewDestroyed(Landroid/app/Fragment;Z)V
 HSPLandroid/app/FragmentManagerImpl;->dispatchPrepareOptionsMenu(Landroid/view/Menu;)Z
 HSPLandroid/app/FragmentManagerImpl;->doPendingDeferredStart()V
 HSPLandroid/app/FragmentManagerImpl;->endAnimatingAwayFragments()V
@@ -13960,23 +14388,19 @@
 HSPLandroid/app/FragmentManagerImpl;->executeOpsTogether(Ljava/util/ArrayList;Ljava/util/ArrayList;II)V
 HSPLandroid/app/FragmentManagerImpl;->executePendingTransactions()Z
 HSPLandroid/app/FragmentManagerImpl;->executePostponedTransaction(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-HSPLandroid/app/FragmentManagerImpl;->findFragmentById(I)Landroid/app/Fragment;
 HSPLandroid/app/FragmentManagerImpl;->findFragmentByTag(Ljava/lang/String;)Landroid/app/Fragment;
+HSPLandroid/app/FragmentManagerImpl;->findFragmentByWho(Ljava/lang/String;)Landroid/app/Fragment;
 HSPLandroid/app/FragmentManagerImpl;->findFragmentUnder(Landroid/app/Fragment;)Landroid/app/Fragment;
 HSPLandroid/app/FragmentManagerImpl;->generateOpsForPendingActions(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
-HSPLandroid/app/FragmentManagerImpl;->isDestroyed()Z
-HSPLandroid/app/FragmentManagerImpl;->isStateSaved()Z
+HSPLandroid/app/FragmentManagerImpl;->getFragment(Landroid/os/Bundle;Ljava/lang/String;)Landroid/app/Fragment;
+HSPLandroid/app/FragmentManagerImpl;->hideFragment(Landroid/app/Fragment;)V
 HSPLandroid/app/FragmentManagerImpl;->loadAnimator(Landroid/app/Fragment;IZI)Landroid/animation/Animator;
 HSPLandroid/app/FragmentManagerImpl;->makeActive(Landroid/app/Fragment;)V
-HSPLandroid/app/FragmentManagerImpl;->makeInactive(Landroid/app/Fragment;)V
 HSPLandroid/app/FragmentManagerImpl;->modifiesAlpha(Landroid/animation/Animator;)Z
 HSPLandroid/app/FragmentManagerImpl;->moveFragmentToExpectedState(Landroid/app/Fragment;)V
 HSPLandroid/app/FragmentManagerImpl;->moveToState(IZ)V
 HSPLandroid/app/FragmentManagerImpl;->moveToState(Landroid/app/Fragment;IIIZ)V
 HSPLandroid/app/FragmentManagerImpl;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
-HSPLandroid/app/FragmentManagerImpl;->popBackStackImmediate()Z
-HSPLandroid/app/FragmentManagerImpl;->popBackStackImmediate(Ljava/lang/String;II)Z
-HSPLandroid/app/FragmentManagerImpl;->popBackStackState(Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/lang/String;II)Z
 HSPLandroid/app/FragmentManagerImpl;->postponePostponableTransactions(Ljava/util/ArrayList;Ljava/util/ArrayList;IILandroid/util/ArraySet;)I
 HSPLandroid/app/FragmentManagerImpl;->removeRedundantOperationsAndExecute(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
 HSPLandroid/app/FragmentManagerImpl;->restoreAllState(Landroid/os/Parcelable;Landroid/app/FragmentManagerNonConfig;)V
@@ -14001,112 +14425,47 @@
 HSPLandroid/app/FragmentState;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/app/FragmentState;->instantiate(Landroid/app/FragmentHostCallback;Landroid/app/FragmentContainer;Landroid/app/Fragment;Landroid/app/FragmentManagerNonConfig;)Landroid/app/Fragment;
 HSPLandroid/app/FragmentState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/FragmentTransaction;->add(ILandroid/app/Fragment;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->add(ILandroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->add(Landroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->addSharedElement(Landroid/view/View;Ljava/lang/String;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->addToBackStack(Ljava/lang/String;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->attach(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->commit()I
-HSPLandroid/app/FragmentTransaction;->commitAllowingStateLoss()I
-HSPLandroid/app/FragmentTransaction;->commitNow()V
-HSPLandroid/app/FragmentTransaction;->commitNowAllowingStateLoss()V
-HSPLandroid/app/FragmentTransaction;->detach(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->disallowAddToBackStack()Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->hide(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->isAddToBackStackAllowed()Z
-HSPLandroid/app/FragmentTransaction;->isEmpty()Z
-HSPLandroid/app/FragmentTransaction;->remove(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->replace(ILandroid/app/Fragment;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->replace(ILandroid/app/Fragment;Ljava/lang/String;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->runOnCommit(Ljava/lang/Runnable;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->setBreadCrumbShortTitle(I)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->setBreadCrumbShortTitle(Ljava/lang/CharSequence;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->setBreadCrumbTitle(I)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->setBreadCrumbTitle(Ljava/lang/CharSequence;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->setCustomAnimations(II)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->setCustomAnimations(IIII)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->setPrimaryNavigationFragment(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->setReorderingAllowed(Z)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->setTransition(I)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->setTransitionStyle(I)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransaction;->show(Landroid/app/Fragment;)Landroid/app/FragmentTransaction;
-HSPLandroid/app/FragmentTransition$FragmentContainerTransition;-><init>()V
 HSPLandroid/app/FragmentTransition;->addToFirstInLastOut(Landroid/app/BackStackRecord;Landroid/app/BackStackRecord$Op;Landroid/util/SparseArray;ZZ)V
 HSPLandroid/app/FragmentTransition;->calculateNameOverrides(ILjava/util/ArrayList;Ljava/util/ArrayList;II)Landroid/util/ArrayMap;
 HSPLandroid/app/FragmentTransition;->cloneTransition(Landroid/transition/Transition;)Landroid/transition/Transition;
 HSPLandroid/app/FragmentTransition;->configureSharedElementsReordered(Landroid/view/ViewGroup;Landroid/view/View;Landroid/util/ArrayMap;Landroid/app/FragmentTransition$FragmentContainerTransition;Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/transition/Transition;Landroid/transition/Transition;)Landroid/transition/TransitionSet;
 HSPLandroid/app/FragmentTransition;->configureTransitionsReordered(Landroid/app/FragmentManagerImpl;ILandroid/app/FragmentTransition$FragmentContainerTransition;Landroid/view/View;Landroid/util/ArrayMap;)V
 HSPLandroid/app/FragmentTransition;->startTransitions(Landroid/app/FragmentManagerImpl;Ljava/util/ArrayList;Ljava/util/ArrayList;IIZ)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->activityDestroyed(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->activityIdle(Landroid/os/IBinder;Landroid/content/res/Configuration;Z)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->activityPaused(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->activityResumed(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->activitySlept(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->addPackageDependency(Ljava/lang/String;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->attachApplication(Landroid/app/IApplicationThread;J)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->backupAgentCreated(Ljava/lang/String;Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->bindService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;I)I
+HSPLandroid/app/IActivityManager$Stub$Proxy;->bindIsolatedService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;Ljava/lang/String;I)I
 HSPLandroid/app/IActivityManager$Stub$Proxy;->broadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I
 HSPLandroid/app/IActivityManager$Stub$Proxy;->cancelIntentSender(Landroid/content/IIntentSender;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->checkPermission(Ljava/lang/String;II)I
 HSPLandroid/app/IActivityManager$Stub$Proxy;->checkPermissionWithToken(Ljava/lang/String;IILandroid/os/IBinder;)I
-HSPLandroid/app/IActivityManager$Stub$Proxy;->closeSystemDialogs(Ljava/lang/String;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z
+HSPLandroid/app/IActivityManager$Stub$Proxy;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I
 HSPLandroid/app/IActivityManager$Stub$Proxy;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getActivityDisplayId(Landroid/os/IBinder;)I
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getActivityOptions(Landroid/os/IBinder;)Landroid/os/Bundle;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getAppTasks(Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getCallingActivity(Landroid/os/IBinder;)Landroid/content/ComponentName;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder;
+HSPLandroid/app/IActivityManager$Stub$Proxy;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder;
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getCurrentUser()Landroid/content/pm/UserInfo;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getFilteredTasks(III)Ljava/util/List;
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getIntentSender(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;I)Landroid/content/IIntentSender;
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getPackageForIntentSender(Landroid/content/IIntentSender;)Ljava/lang/String;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getPersistedUriPermissions(Ljava/lang/String;Z)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/app/IActivityManager$Stub$Proxy;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I
 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;->getRecentTasks(III)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getRequestedOrientation(Landroid/os/IBinder;)I
 HSPLandroid/app/IActivityManager$Stub$Proxy;->getRunningAppProcesses()Ljava/util/List;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getServices(II)Ljava/util/List;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getTaskForActivity(Landroid/os/IBinder;Z)I
-HSPLandroid/app/IActivityManager$Stub$Proxy;->getTaskSnapshot(IZ)Landroid/app/ActivityManager$TaskSnapshot;
-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;->grantUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->isInMultiWindowMode(Landroid/os/IBinder;)Z
-HSPLandroid/app/IActivityManager$Stub$Proxy;->isInPictureInPictureMode(Landroid/os/IBinder;)Z
 HSPLandroid/app/IActivityManager$Stub$Proxy;->isIntentSenderTargetedToPackage(Landroid/content/IIntentSender;)Z
-HSPLandroid/app/IActivityManager$Stub$Proxy;->isTopOfTask(Landroid/os/IBinder;)Z
 HSPLandroid/app/IActivityManager$Stub$Proxy;->isUserAMonkey()Z
-HSPLandroid/app/IActivityManager$Stub$Proxy;->moveActivityTaskToBack(Landroid/os/IBinder;Z)Z
-HSPLandroid/app/IActivityManager$Stub$Proxy;->overridePendingTransition(Landroid/os/IBinder;Ljava/lang/String;II)V
+HSPLandroid/app/IActivityManager$Stub$Proxy;->isUserRunning(II)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
 HSPLandroid/app/IActivityManager$Stub$Proxy;->refContentProvider(Landroid/os/IBinder;II)Z
-HSPLandroid/app/IActivityManager$Stub$Proxy;->registerProcessObserver(Landroid/app/IProcessObserver;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->registerReceiver(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;
-HSPLandroid/app/IActivityManager$Stub$Proxy;->registerRemoteAnimations(Landroid/os/IBinder;Landroid/view/RemoteAnimationDefinition;)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;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->removeContentProvider(Landroid/os/IBinder;Z)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->reportAssistContextExtras(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;Landroid/net/Uri;)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->reportSizeConfigurations(Landroid/os/IBinder;[I[I[I)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->sendIntentSender(Landroid/content/IIntentSender;Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)I
 HSPLandroid/app/IActivityManager$Stub$Proxy;->serviceDoneExecuting(Landroid/os/IBinder;III)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->setRenderThread(I)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->setRequestedOrientation(Landroid/os/IBinder;I)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->setServiceForeground(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;I)V
-HSPLandroid/app/IActivityManager$Stub$Proxy;->setTaskDescription(Landroid/os/IBinder;Landroid/app/ActivityManager$TaskDescription;)V
-HSPLandroid/app/IActivityManager$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/IActivityManager$Stub$Proxy;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)I
+HSPLandroid/app/IActivityManager$Stub$Proxy;->setServiceForeground(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;II)V
 HSPLandroid/app/IActivityManager$Stub$Proxy;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;I)Landroid/content/ComponentName;
 HSPLandroid/app/IActivityManager$Stub$Proxy;->stopService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)I
 HSPLandroid/app/IActivityManager$Stub$Proxy;->stopServiceToken(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
@@ -14116,604 +14475,102 @@
 HSPLandroid/app/IActivityManager$Stub$Proxy;->updateConfiguration(Landroid/content/res/Configuration;)Z
 HSPLandroid/app/IActivityManager$Stub$Proxy;->waitForNetworkStateUpdate(J)V
 HSPLandroid/app/IActivityManager$Stub;-><init>()V
-HSPLandroid/app/IActivityManager$Stub;->onTransact$bindService$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-HSPLandroid/app/IActivityManager$Stub;->onTransact$broadcastIntent$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-HSPLandroid/app/IActivityManager$Stub;->onTransact$finishReceiver$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-HSPLandroid/app/IActivityManager$Stub;->onTransact$getIntentSender$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-HSPLandroid/app/IActivityManager$Stub;->onTransact$registerReceiver$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
-HSPLandroid/app/IActivityManager$Stub;->onTransact$startService$(Landroid/os/Parcel;Landroid/os/Parcel;)Z
 HSPLandroid/app/IActivityManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IActivityManager;->activityDestroyed(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->activityIdle(Landroid/os/IBinder;Landroid/content/res/Configuration;Z)V
-HSPLandroid/app/IActivityManager;->activityPaused(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->activityRelaunched(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->activityResumed(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->activitySlept(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
-HSPLandroid/app/IActivityManager;->addAppTask(Landroid/os/IBinder;Landroid/content/Intent;Landroid/app/ActivityManager$TaskDescription;Landroid/graphics/Bitmap;)I
-HSPLandroid/app/IActivityManager;->addInstrumentationResults(Landroid/app/IApplicationThread;Landroid/os/Bundle;)V
-HSPLandroid/app/IActivityManager;->addPackageDependency(Ljava/lang/String;)V
-HSPLandroid/app/IActivityManager;->alwaysShowUnsupportedCompileSdkWarning(Landroid/content/ComponentName;)V
-HSPLandroid/app/IActivityManager;->appNotRespondingViaProvider(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->attachApplication(Landroid/app/IApplicationThread;J)V
-HSPLandroid/app/IActivityManager;->backgroundWhitelistUid(I)V
-HSPLandroid/app/IActivityManager;->backupAgentCreated(Ljava/lang/String;Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->bindBackupAgent(Ljava/lang/String;II)Z
-HSPLandroid/app/IActivityManager;->bindService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;I)I
-HSPLandroid/app/IActivityManager;->bootAnimationComplete()V
-HSPLandroid/app/IActivityManager;->broadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I
-HSPLandroid/app/IActivityManager;->cancelIntentSender(Landroid/content/IIntentSender;)V
-HSPLandroid/app/IActivityManager;->cancelRecentsAnimation(Z)V
-HSPLandroid/app/IActivityManager;->cancelTaskWindowTransition(I)V
-HSPLandroid/app/IActivityManager;->checkGrantUriPermission(ILjava/lang/String;Landroid/net/Uri;II)I
-HSPLandroid/app/IActivityManager;->checkPermission(Ljava/lang/String;II)I
-HSPLandroid/app/IActivityManager;->checkPermissionWithToken(Ljava/lang/String;IILandroid/os/IBinder;)I
-HSPLandroid/app/IActivityManager;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I
-HSPLandroid/app/IActivityManager;->clearApplicationUserData(Ljava/lang/String;ZLandroid/content/pm/IPackageDataObserver;I)Z
-HSPLandroid/app/IActivityManager;->clearGrantedUriPermissions(Ljava/lang/String;I)V
-HSPLandroid/app/IActivityManager;->clearPendingBackup()V
-HSPLandroid/app/IActivityManager;->closeSystemDialogs(Ljava/lang/String;)V
-HSPLandroid/app/IActivityManager;->convertFromTranslucent(Landroid/os/IBinder;)Z
-HSPLandroid/app/IActivityManager;->convertToTranslucent(Landroid/os/IBinder;Landroid/os/Bundle;)Z
-HSPLandroid/app/IActivityManager;->crashApplication(IILjava/lang/String;ILjava/lang/String;)V
-HSPLandroid/app/IActivityManager;->createStackOnDisplay(I)I
-HSPLandroid/app/IActivityManager;->dismissKeyguard(Landroid/os/IBinder;Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-HSPLandroid/app/IActivityManager;->dismissPip(ZI)V
-HSPLandroid/app/IActivityManager;->dismissSplitScreenMode(Z)V
-HSPLandroid/app/IActivityManager;->dumpHeap(Ljava/lang/String;IZZZLjava/lang/String;Landroid/os/ParcelFileDescriptor;)Z
-HSPLandroid/app/IActivityManager;->dumpHeapFinished(Ljava/lang/String;)V
-HSPLandroid/app/IActivityManager;->enterPictureInPictureMode(Landroid/os/IBinder;Landroid/app/PictureInPictureParams;)Z
-HSPLandroid/app/IActivityManager;->enterSafeMode()V
-HSPLandroid/app/IActivityManager;->exitFreeformMode(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z
-HSPLandroid/app/IActivityManager;->finishActivityAffinity(Landroid/os/IBinder;)Z
-HSPLandroid/app/IActivityManager;->finishHeavyWeightApp()V
-HSPLandroid/app/IActivityManager;->finishInstrumentation(Landroid/app/IApplicationThread;ILandroid/os/Bundle;)V
-HSPLandroid/app/IActivityManager;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V
-HSPLandroid/app/IActivityManager;->finishSubActivity(Landroid/os/IBinder;Ljava/lang/String;I)V
-HSPLandroid/app/IActivityManager;->finishVoiceTask(Landroid/service/voice/IVoiceInteractionSession;)V
-HSPLandroid/app/IActivityManager;->forceStopPackage(Ljava/lang/String;I)V
-HSPLandroid/app/IActivityManager;->getActivityClassForToken(Landroid/os/IBinder;)Landroid/content/ComponentName;
-HSPLandroid/app/IActivityManager;->getActivityDisplayId(Landroid/os/IBinder;)I
-HSPLandroid/app/IActivityManager;->getActivityOptions(Landroid/os/IBinder;)Landroid/os/Bundle;
-HSPLandroid/app/IActivityManager;->getAllStackInfos()Ljava/util/List;
-HSPLandroid/app/IActivityManager;->getAppTaskThumbnailSize()Landroid/graphics/Point;
-HSPLandroid/app/IActivityManager;->getAppTasks(Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/app/IActivityManager;->getAssistContextExtras(I)Landroid/os/Bundle;
-HSPLandroid/app/IActivityManager;->getCallingActivity(Landroid/os/IBinder;)Landroid/content/ComponentName;
-HSPLandroid/app/IActivityManager;->getCallingPackage(Landroid/os/IBinder;)Ljava/lang/String;
-HSPLandroid/app/IActivityManager;->getConfiguration()Landroid/content/res/Configuration;
-HSPLandroid/app/IActivityManager;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder;
-HSPLandroid/app/IActivityManager;->getContentProviderExternal(Ljava/lang/String;ILandroid/os/IBinder;)Landroid/app/ContentProviderHolder;
-HSPLandroid/app/IActivityManager;->getCurrentUser()Landroid/content/pm/UserInfo;
-HSPLandroid/app/IActivityManager;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
-HSPLandroid/app/IActivityManager;->getFilteredTasks(III)Ljava/util/List;
-HSPLandroid/app/IActivityManager;->getFocusedStackInfo()Landroid/app/ActivityManager$StackInfo;
-HSPLandroid/app/IActivityManager;->getFrontActivityScreenCompatMode()I
-HSPLandroid/app/IActivityManager;->getGrantedUriPermissions(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/IActivityManager;->getIntentForIntentSender(Landroid/content/IIntentSender;)Landroid/content/Intent;
-HSPLandroid/app/IActivityManager;->getIntentSender(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;I)Landroid/content/IIntentSender;
-HSPLandroid/app/IActivityManager;->getLastResumedActivityUserId()I
-HSPLandroid/app/IActivityManager;->getLaunchedFromPackage(Landroid/os/IBinder;)Ljava/lang/String;
-HSPLandroid/app/IActivityManager;->getLaunchedFromUid(Landroid/os/IBinder;)I
-HSPLandroid/app/IActivityManager;->getLockTaskModeState()I
-HSPLandroid/app/IActivityManager;->getMaxNumPictureInPictureActions(Landroid/os/IBinder;)I
-HSPLandroid/app/IActivityManager;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
-HSPLandroid/app/IActivityManager;->getMemoryTrimLevel()I
-HSPLandroid/app/IActivityManager;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
-HSPLandroid/app/IActivityManager;->getPackageAskScreenCompat(Ljava/lang/String;)Z
-HSPLandroid/app/IActivityManager;->getPackageForIntentSender(Landroid/content/IIntentSender;)Ljava/lang/String;
-HSPLandroid/app/IActivityManager;->getPackageForToken(Landroid/os/IBinder;)Ljava/lang/String;
-HSPLandroid/app/IActivityManager;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/app/IActivityManager;->getPackageScreenCompatMode(Ljava/lang/String;)I
-HSPLandroid/app/IActivityManager;->getPersistedUriPermissions(Ljava/lang/String;Z)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/IActivityManager;->getProcessLimit()I
-HSPLandroid/app/IActivityManager;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;
-HSPLandroid/app/IActivityManager;->getProcessPss([I)[J
-HSPLandroid/app/IActivityManager;->getProcessesInErrorState()Ljava/util/List;
-HSPLandroid/app/IActivityManager;->getProviderMimeType(Landroid/net/Uri;I)Ljava/lang/String;
-HSPLandroid/app/IActivityManager;->getRecentTasks(III)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/IActivityManager;->getRequestedOrientation(Landroid/os/IBinder;)I
-HSPLandroid/app/IActivityManager;->getRunningAppProcesses()Ljava/util/List;
-HSPLandroid/app/IActivityManager;->getRunningExternalApplications()Ljava/util/List;
-HSPLandroid/app/IActivityManager;->getRunningServiceControlPanel(Landroid/content/ComponentName;)Landroid/app/PendingIntent;
-HSPLandroid/app/IActivityManager;->getRunningUserIds()[I
-HSPLandroid/app/IActivityManager;->getServices(II)Ljava/util/List;
-HSPLandroid/app/IActivityManager;->getStackInfo(II)Landroid/app/ActivityManager$StackInfo;
-HSPLandroid/app/IActivityManager;->getTagForIntentSender(Landroid/content/IIntentSender;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/app/IActivityManager;->getTaskBounds(I)Landroid/graphics/Rect;
-HSPLandroid/app/IActivityManager;->getTaskDescription(I)Landroid/app/ActivityManager$TaskDescription;
-HSPLandroid/app/IActivityManager;->getTaskDescriptionIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap;
-HSPLandroid/app/IActivityManager;->getTaskForActivity(Landroid/os/IBinder;Z)I
-HSPLandroid/app/IActivityManager;->getTaskSnapshot(IZ)Landroid/app/ActivityManager$TaskSnapshot;
-HSPLandroid/app/IActivityManager;->getTasks(I)Ljava/util/List;
-HSPLandroid/app/IActivityManager;->getUidForIntentSender(Landroid/content/IIntentSender;)I
-HSPLandroid/app/IActivityManager;->getUidProcessState(ILjava/lang/String;)I
-HSPLandroid/app/IActivityManager;->getUriPermissionOwnerForActivity(Landroid/os/IBinder;)Landroid/os/IBinder;
-HSPLandroid/app/IActivityManager;->grantUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
-HSPLandroid/app/IActivityManager;->grantUriPermissionFromOwner(Landroid/os/IBinder;ILjava/lang/String;Landroid/net/Uri;III)V
-HSPLandroid/app/IActivityManager;->handleApplicationCrash(Landroid/os/IBinder;Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;)V
-HSPLandroid/app/IActivityManager;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
-HSPLandroid/app/IActivityManager;->handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;)Z
-HSPLandroid/app/IActivityManager;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
-HSPLandroid/app/IActivityManager;->hang(Landroid/os/IBinder;Z)V
-HSPLandroid/app/IActivityManager;->inputDispatchingTimedOut(IZLjava/lang/String;)J
-HSPLandroid/app/IActivityManager;->isAppForeground(I)Z
-HSPLandroid/app/IActivityManager;->isAppStartModeDisabled(ILjava/lang/String;)Z
-HSPLandroid/app/IActivityManager;->isAssistDataAllowedOnCurrentActivity()Z
-HSPLandroid/app/IActivityManager;->isBackgroundRestricted(Ljava/lang/String;)Z
-HSPLandroid/app/IActivityManager;->isImmersive(Landroid/os/IBinder;)Z
-HSPLandroid/app/IActivityManager;->isInLockTaskMode()Z
-HSPLandroid/app/IActivityManager;->isInMultiWindowMode(Landroid/os/IBinder;)Z
-HSPLandroid/app/IActivityManager;->isInPictureInPictureMode(Landroid/os/IBinder;)Z
-HSPLandroid/app/IActivityManager;->isIntentSenderAForegroundService(Landroid/content/IIntentSender;)Z
-HSPLandroid/app/IActivityManager;->isIntentSenderAnActivity(Landroid/content/IIntentSender;)Z
-HSPLandroid/app/IActivityManager;->isIntentSenderTargetedToPackage(Landroid/content/IIntentSender;)Z
-HSPLandroid/app/IActivityManager;->isRootVoiceInteraction(Landroid/os/IBinder;)Z
-HSPLandroid/app/IActivityManager;->isTopActivityImmersive()Z
-HSPLandroid/app/IActivityManager;->isTopOfTask(Landroid/os/IBinder;)Z
-HSPLandroid/app/IActivityManager;->isUidActive(ILjava/lang/String;)Z
-HSPLandroid/app/IActivityManager;->isUserAMonkey()Z
-HSPLandroid/app/IActivityManager;->isUserRunning(II)Z
-HSPLandroid/app/IActivityManager;->isVrModePackageEnabled(Landroid/content/ComponentName;)Z
-HSPLandroid/app/IActivityManager;->keyguardGoingAway(I)V
-HSPLandroid/app/IActivityManager;->killAllBackgroundProcesses()V
-HSPLandroid/app/IActivityManager;->killApplication(Ljava/lang/String;IILjava/lang/String;)V
-HSPLandroid/app/IActivityManager;->killApplicationProcess(Ljava/lang/String;I)V
-HSPLandroid/app/IActivityManager;->killBackgroundProcesses(Ljava/lang/String;I)V
-HSPLandroid/app/IActivityManager;->killPackageDependents(Ljava/lang/String;I)V
-HSPLandroid/app/IActivityManager;->killPids([ILjava/lang/String;Z)Z
-HSPLandroid/app/IActivityManager;->killProcessesBelowForeground(Ljava/lang/String;)Z
-HSPLandroid/app/IActivityManager;->killUid(IILjava/lang/String;)V
-HSPLandroid/app/IActivityManager;->launchAssistIntent(Landroid/content/Intent;ILjava/lang/String;ILandroid/os/Bundle;)Z
-HSPLandroid/app/IActivityManager;->makePackageIdle(Ljava/lang/String;I)V
-HSPLandroid/app/IActivityManager;->moveActivityTaskToBack(Landroid/os/IBinder;Z)Z
-HSPLandroid/app/IActivityManager;->moveStackToDisplay(II)V
-HSPLandroid/app/IActivityManager;->moveTaskBackwards(I)V
-HSPLandroid/app/IActivityManager;->moveTaskToFront(IILandroid/os/Bundle;)V
-HSPLandroid/app/IActivityManager;->moveTaskToStack(IIZ)V
-HSPLandroid/app/IActivityManager;->moveTasksToFullscreenStack(IZ)V
-HSPLandroid/app/IActivityManager;->moveTopActivityToPinnedStack(ILandroid/graphics/Rect;)Z
-HSPLandroid/app/IActivityManager;->navigateUpTo(Landroid/os/IBinder;Landroid/content/Intent;ILandroid/content/Intent;)Z
-HSPLandroid/app/IActivityManager;->newUriPermissionOwner(Ljava/lang/String;)Landroid/os/IBinder;
-HSPLandroid/app/IActivityManager;->noteAlarmFinish(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
-HSPLandroid/app/IActivityManager;->noteAlarmStart(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
-HSPLandroid/app/IActivityManager;->noteWakeupAlarm(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/IActivityManager;->notifyActivityDrawn(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->notifyCleartextNetwork(I[B)V
-HSPLandroid/app/IActivityManager;->notifyEnterAnimationComplete(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->notifyLaunchTaskBehindComplete(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->notifyLockedProfile(I)V
-HSPLandroid/app/IActivityManager;->notifyPinnedStackAnimationEnded()V
-HSPLandroid/app/IActivityManager;->notifyPinnedStackAnimationStarted()V
-HSPLandroid/app/IActivityManager;->openContentUri(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/app/IActivityManager;->overridePendingTransition(Landroid/os/IBinder;Ljava/lang/String;II)V
-HSPLandroid/app/IActivityManager;->peekService(Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;)Landroid/os/IBinder;
-HSPLandroid/app/IActivityManager;->performIdleMaintenance()V
-HSPLandroid/app/IActivityManager;->positionTaskInStack(III)V
-HSPLandroid/app/IActivityManager;->profileControl(Ljava/lang/String;IZLandroid/app/ProfilerInfo;I)Z
-HSPLandroid/app/IActivityManager;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V
-HSPLandroid/app/IActivityManager;->publishService(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->refContentProvider(Landroid/os/IBinder;II)Z
-HSPLandroid/app/IActivityManager;->registerIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
-HSPLandroid/app/IActivityManager;->registerProcessObserver(Landroid/app/IProcessObserver;)V
-HSPLandroid/app/IActivityManager;->registerReceiver(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;
-HSPLandroid/app/IActivityManager;->registerRemoteAnimationForNextActivityStart(Ljava/lang/String;Landroid/view/RemoteAnimationAdapter;)V
-HSPLandroid/app/IActivityManager;->registerRemoteAnimations(Landroid/os/IBinder;Landroid/view/RemoteAnimationDefinition;)V
-HSPLandroid/app/IActivityManager;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
-HSPLandroid/app/IActivityManager;->registerUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V
-HSPLandroid/app/IActivityManager;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
-HSPLandroid/app/IActivityManager;->releaseActivityInstance(Landroid/os/IBinder;)Z
-HSPLandroid/app/IActivityManager;->releasePersistableUriPermission(Landroid/net/Uri;ILjava/lang/String;I)V
-HSPLandroid/app/IActivityManager;->releaseSomeActivities(Landroid/app/IApplicationThread;)V
-HSPLandroid/app/IActivityManager;->removeContentProvider(Landroid/os/IBinder;Z)V
-HSPLandroid/app/IActivityManager;->removeContentProviderExternal(Ljava/lang/String;Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->removeStack(I)V
-HSPLandroid/app/IActivityManager;->removeStacksInWindowingModes([I)V
-HSPLandroid/app/IActivityManager;->removeStacksWithActivityTypes([I)V
-HSPLandroid/app/IActivityManager;->removeTask(I)Z
-HSPLandroid/app/IActivityManager;->reportActivityFullyDrawn(Landroid/os/IBinder;Z)V
-HSPLandroid/app/IActivityManager;->reportAssistContextExtras(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;Landroid/net/Uri;)V
-HSPLandroid/app/IActivityManager;->reportSizeConfigurations(Landroid/os/IBinder;[I[I[I)V
-HSPLandroid/app/IActivityManager;->requestAssistContextExtras(ILandroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;ZZ)Z
-HSPLandroid/app/IActivityManager;->requestAutofillData(Landroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;I)Z
-HSPLandroid/app/IActivityManager;->requestBugReport(I)V
-HSPLandroid/app/IActivityManager;->requestTelephonyBugReport(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/IActivityManager;->requestWifiBugReport(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/IActivityManager;->resizeDockedStack(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLandroid/app/IActivityManager;->resizePinnedStack(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLandroid/app/IActivityManager;->resizeStack(ILandroid/graphics/Rect;ZZZI)V
-HSPLandroid/app/IActivityManager;->resizeTask(ILandroid/graphics/Rect;I)V
-HSPLandroid/app/IActivityManager;->restart()V
-HSPLandroid/app/IActivityManager;->restartUserInBackground(I)I
-HSPLandroid/app/IActivityManager;->resumeAppSwitches()V
-HSPLandroid/app/IActivityManager;->revokeUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
-HSPLandroid/app/IActivityManager;->revokeUriPermissionFromOwner(Landroid/os/IBinder;Landroid/net/Uri;II)V
-HSPLandroid/app/IActivityManager;->scheduleApplicationInfoChanged(Ljava/util/List;I)V
-HSPLandroid/app/IActivityManager;->sendIdleJobTrigger()V
-HSPLandroid/app/IActivityManager;->sendIntentSender(Landroid/content/IIntentSender;Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)I
-HSPLandroid/app/IActivityManager;->serviceDoneExecuting(Landroid/os/IBinder;III)V
-HSPLandroid/app/IActivityManager;->setActivityController(Landroid/app/IActivityController;Z)V
-HSPLandroid/app/IActivityManager;->setAgentApp(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/IActivityManager;->setAlwaysFinish(Z)V
-HSPLandroid/app/IActivityManager;->setDebugApp(Ljava/lang/String;ZZ)V
-HSPLandroid/app/IActivityManager;->setDisablePreviewScreenshots(Landroid/os/IBinder;Z)V
-HSPLandroid/app/IActivityManager;->setDumpHeapDebugLimit(Ljava/lang/String;IJLjava/lang/String;)V
-HSPLandroid/app/IActivityManager;->setFocusedStack(I)V
-HSPLandroid/app/IActivityManager;->setFocusedTask(I)V
-HSPLandroid/app/IActivityManager;->setFrontActivityScreenCompatMode(I)V
-HSPLandroid/app/IActivityManager;->setHasTopUi(Z)V
-HSPLandroid/app/IActivityManager;->setImmersive(Landroid/os/IBinder;Z)V
-HSPLandroid/app/IActivityManager;->setLockScreenShown(ZZI)V
-HSPLandroid/app/IActivityManager;->setPackageAskScreenCompat(Ljava/lang/String;Z)V
-HSPLandroid/app/IActivityManager;->setPackageScreenCompatMode(Ljava/lang/String;I)V
-HSPLandroid/app/IActivityManager;->setPersistentVrThread(I)V
-HSPLandroid/app/IActivityManager;->setPictureInPictureParams(Landroid/os/IBinder;Landroid/app/PictureInPictureParams;)V
-HSPLandroid/app/IActivityManager;->setProcessImportant(Landroid/os/IBinder;IZLjava/lang/String;)V
-HSPLandroid/app/IActivityManager;->setProcessLimit(I)V
-HSPLandroid/app/IActivityManager;->setProcessMemoryTrimLevel(Ljava/lang/String;II)Z
-HSPLandroid/app/IActivityManager;->setRenderThread(I)V
-HSPLandroid/app/IActivityManager;->setRequestedOrientation(Landroid/os/IBinder;I)V
-HSPLandroid/app/IActivityManager;->setServiceForeground(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;I)V
-HSPLandroid/app/IActivityManager;->setShowWhenLocked(Landroid/os/IBinder;Z)V
-HSPLandroid/app/IActivityManager;->setSplitScreenResizing(Z)V
-HSPLandroid/app/IActivityManager;->setTaskDescription(Landroid/os/IBinder;Landroid/app/ActivityManager$TaskDescription;)V
-HSPLandroid/app/IActivityManager;->setTaskResizeable(II)V
-HSPLandroid/app/IActivityManager;->setTaskWindowingMode(IIZ)V
-HSPLandroid/app/IActivityManager;->setTaskWindowingModeSplitScreenPrimary(IIZZLandroid/graphics/Rect;Z)Z
-HSPLandroid/app/IActivityManager;->setTurnScreenOn(Landroid/os/IBinder;Z)V
-HSPLandroid/app/IActivityManager;->setUserIsMonkey(Z)V
-HSPLandroid/app/IActivityManager;->setVoiceKeepAwake(Landroid/service/voice/IVoiceInteractionSession;Z)V
-HSPLandroid/app/IActivityManager;->setVrMode(Landroid/os/IBinder;ZLandroid/content/ComponentName;)I
-HSPLandroid/app/IActivityManager;->setVrThread(I)V
-HSPLandroid/app/IActivityManager;->shouldUpRecreateTask(Landroid/os/IBinder;Ljava/lang/String;)Z
-HSPLandroid/app/IActivityManager;->showAssistFromActivity(Landroid/os/IBinder;Landroid/os/Bundle;)Z
-HSPLandroid/app/IActivityManager;->showBootMessage(Ljava/lang/CharSequence;Z)V
-HSPLandroid/app/IActivityManager;->showLockTaskEscapeMessage(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->showWaitingForDebugger(Landroid/app/IApplicationThread;Z)V
-HSPLandroid/app/IActivityManager;->shutdown(I)Z
-HSPLandroid/app/IActivityManager;->signalPersistentProcesses(I)V
-HSPLandroid/app/IActivityManager;->startActivities(Landroid/app/IApplicationThread;Ljava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
-HSPLandroid/app/IActivityManager;->startActivity(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;)I
-HSPLandroid/app/IActivityManager;->startActivityAndWait(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)Landroid/app/WaitResult;
-HSPLandroid/app/IActivityManager;->startActivityAsCaller(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;ZI)I
-HSPLandroid/app/IActivityManager;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)I
-HSPLandroid/app/IActivityManager;->startActivityFromRecents(ILandroid/os/Bundle;)I
-HSPLandroid/app/IActivityManager;->startActivityIntentSender(Landroid/app/IApplicationThread;Landroid/content/IIntentSender;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I
-HSPLandroid/app/IActivityManager;->startActivityWithConfig(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/content/res/Configuration;Landroid/os/Bundle;I)I
-HSPLandroid/app/IActivityManager;->startAssistantActivity(Ljava/lang/String;IILandroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;I)I
-HSPLandroid/app/IActivityManager;->startBinderTracking()Z
-HSPLandroid/app/IActivityManager;->startConfirmDeviceCredentialIntent(Landroid/content/Intent;Landroid/os/Bundle;)V
-HSPLandroid/app/IActivityManager;->startInPlaceAnimationOnFrontMostApplication(Landroid/os/Bundle;)V
-HSPLandroid/app/IActivityManager;->startInstrumentation(Landroid/content/ComponentName;Ljava/lang/String;ILandroid/os/Bundle;Landroid/app/IInstrumentationWatcher;Landroid/app/IUiAutomationConnection;ILjava/lang/String;)Z
-HSPLandroid/app/IActivityManager;->startLocalVoiceInteraction(Landroid/os/IBinder;Landroid/os/Bundle;)V
-HSPLandroid/app/IActivityManager;->startLockTaskModeByToken(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->startNextMatchingActivity(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/Bundle;)Z
-HSPLandroid/app/IActivityManager;->startRecentsActivity(Landroid/content/Intent;Landroid/app/IAssistDataReceiver;Landroid/view/IRecentsAnimationRunner;)V
-HSPLandroid/app/IActivityManager;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;I)Landroid/content/ComponentName;
-HSPLandroid/app/IActivityManager;->startSystemLockTaskMode(I)V
-HSPLandroid/app/IActivityManager;->startUserInBackground(I)Z
-HSPLandroid/app/IActivityManager;->startUserInBackgroundWithListener(ILandroid/os/IProgressListener;)Z
-HSPLandroid/app/IActivityManager;->startVoiceActivity(Ljava/lang/String;IILandroid/content/Intent;Ljava/lang/String;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;ILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)I
-HSPLandroid/app/IActivityManager;->stopAppSwitches()V
-HSPLandroid/app/IActivityManager;->stopBinderTrackingAndDump(Landroid/os/ParcelFileDescriptor;)Z
-HSPLandroid/app/IActivityManager;->stopLocalVoiceInteraction(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->stopLockTaskModeByToken(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->stopService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)I
-HSPLandroid/app/IActivityManager;->stopServiceToken(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
-HSPLandroid/app/IActivityManager;->stopSystemLockTaskMode()V
-HSPLandroid/app/IActivityManager;->stopUser(IZLandroid/app/IStopUserCallback;)I
-HSPLandroid/app/IActivityManager;->supportsLocalVoiceInteraction()Z
-HSPLandroid/app/IActivityManager;->suppressResizeConfigChanges(Z)V
-HSPLandroid/app/IActivityManager;->switchUser(I)Z
-HSPLandroid/app/IActivityManager;->takePersistableUriPermission(Landroid/net/Uri;ILjava/lang/String;I)V
-HSPLandroid/app/IActivityManager;->unbindBackupAgent(Landroid/content/pm/ApplicationInfo;)V
-HSPLandroid/app/IActivityManager;->unbindFinished(Landroid/os/IBinder;Landroid/content/Intent;Z)V
-HSPLandroid/app/IActivityManager;->unbindService(Landroid/app/IServiceConnection;)Z
-HSPLandroid/app/IActivityManager;->unbroadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;I)V
-HSPLandroid/app/IActivityManager;->unhandledBack()V
-HSPLandroid/app/IActivityManager;->unlockUser(I[B[BLandroid/os/IProgressListener;)Z
-HSPLandroid/app/IActivityManager;->unregisterIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
-HSPLandroid/app/IActivityManager;->unregisterProcessObserver(Landroid/app/IProcessObserver;)V
-HSPLandroid/app/IActivityManager;->unregisterReceiver(Landroid/content/IIntentReceiver;)V
-HSPLandroid/app/IActivityManager;->unregisterTaskStackListener(Landroid/app/ITaskStackListener;)V
-HSPLandroid/app/IActivityManager;->unregisterUidObserver(Landroid/app/IUidObserver;)V
-HSPLandroid/app/IActivityManager;->unregisterUserSwitchObserver(Landroid/app/IUserSwitchObserver;)V
-HSPLandroid/app/IActivityManager;->unstableProviderDied(Landroid/os/IBinder;)V
-HSPLandroid/app/IActivityManager;->updateConfiguration(Landroid/content/res/Configuration;)Z
-HSPLandroid/app/IActivityManager;->updateDeviceOwner(Ljava/lang/String;)V
-HSPLandroid/app/IActivityManager;->updateDisplayOverrideConfiguration(Landroid/content/res/Configuration;I)Z
-HSPLandroid/app/IActivityManager;->updateLockTaskFeatures(II)V
-HSPLandroid/app/IActivityManager;->updateLockTaskPackages(I[Ljava/lang/String;)V
-HSPLandroid/app/IActivityManager;->updatePersistentConfiguration(Landroid/content/res/Configuration;)V
-HSPLandroid/app/IActivityManager;->waitForNetworkStateUpdate(J)V
-HSPLandroid/app/IActivityManager;->willActivityBeVisible(Landroid/os/IBinder;)Z
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->activityIdle(Landroid/os/IBinder;Landroid/content/res/Configuration;Z)V
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->activityPaused(Landroid/os/IBinder;)V
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->activityResumed(Landroid/os/IBinder;)V
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->activitySlept(Landroid/os/IBinder;)V
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getActivityDisplayId(Landroid/os/IBinder;)I
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getActivityOptions(Landroid/os/IBinder;)Landroid/os/Bundle;
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getAppTasks(Ljava/lang/String;)Ljava/util/List;
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
+HSPLandroid/app/IActivityTaskManager$Stub$Proxy;->getRequestedOrientation(Landroid/os/IBinder;)I
+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;->reportActivityFullyDrawn(Landroid/os/IBinder;Z)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
+HSPLandroid/app/IActivityTaskManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/app/IAlarmCompleteListener$Stub;-><init>()V
-HSPLandroid/app/IAlarmCompleteListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IAlarmCompleteListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IAlarmCompleteListener;->alarmComplete(Landroid/os/IBinder;)V
 HSPLandroid/app/IAlarmListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IAlarmListener$Stub$Proxy;->doAlarm(Landroid/app/IAlarmCompleteListener;)V
+HSPLandroid/app/IAlarmListener$Stub;-><init>()V
 HSPLandroid/app/IAlarmListener$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/IAlarmListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IAlarmListener;
-HSPLandroid/app/IAlarmListener;->doAlarm(Landroid/app/IAlarmCompleteListener;)V
+HSPLandroid/app/IAlarmManager$Stub$Proxy;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
 HSPLandroid/app/IAlarmManager$Stub$Proxy;->remove(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
 HSPLandroid/app/IAlarmManager$Stub$Proxy;->set(Ljava/lang/String;IJJJILandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
-HSPLandroid/app/IAlarmManager$Stub$Proxy;->setTime(J)Z
 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;
 HSPLandroid/app/IAlarmManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IAlarmManager;->currentNetworkTimeMillis()J
-HSPLandroid/app/IAlarmManager;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
-HSPLandroid/app/IAlarmManager;->getNextWakeFromIdleTime()J
-HSPLandroid/app/IAlarmManager;->remove(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
-HSPLandroid/app/IAlarmManager;->set(Ljava/lang/String;IJJJILandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
-HSPLandroid/app/IAlarmManager;->setTime(J)Z
-HSPLandroid/app/IAlarmManager;->setTimeZone(Ljava/lang/String;)V
 HSPLandroid/app/IAppTask$Stub$Proxy;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;
-HSPLandroid/app/IAppTask;->finishAndRemoveTask()V
-HSPLandroid/app/IAppTask;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;
-HSPLandroid/app/IAppTask;->moveToFront()V
-HSPLandroid/app/IAppTask;->setExcludeFromRecents(Z)V
-HSPLandroid/app/IAppTask;->startActivity(Landroid/os/IBinder;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;)I
+HSPLandroid/app/IAppTask$Stub$Proxy;->setExcludeFromRecents(Z)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;->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;Z)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
 HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleCreateService(Landroid/os/IBinder;Landroid/content/pm/ServiceInfo;Landroid/content/res/CompatibilityInfo;I)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleEnterAnimationComplete(Landroid/os/IBinder;)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;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V
 HSPLandroid/app/IApplicationThread$Stub$Proxy;->scheduleTrimMemory(I)V
-HSPLandroid/app/IApplicationThread$Stub$Proxy;->setNetworkBlockSeq(J)V
 HSPLandroid/app/IApplicationThread$Stub$Proxy;->setProcessState(I)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
-HSPLandroid/app/IApplicationThread;->attachAgent(Ljava/lang/String;)V
-HSPLandroid/app/IApplicationThread;->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;Z)V
-HSPLandroid/app/IApplicationThread;->clearDnsCache()V
-HSPLandroid/app/IApplicationThread;->dispatchPackageBroadcast(I[Ljava/lang/String;)V
-HSPLandroid/app/IApplicationThread;->dumpActivity(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;Ljava/lang/String;[Ljava/lang/String;)V
-HSPLandroid/app/IApplicationThread;->dumpDbInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
-HSPLandroid/app/IApplicationThread;->dumpGfxInfo(Landroid/os/ParcelFileDescriptor;[Ljava/lang/String;)V
-HSPLandroid/app/IApplicationThread;->dumpHeap(ZZZLjava/lang/String;Landroid/os/ParcelFileDescriptor;)V
-HSPLandroid/app/IApplicationThread;->dumpMemInfo(Landroid/os/ParcelFileDescriptor;Landroid/os/Debug$MemoryInfo;ZZZZZ[Ljava/lang/String;)V
-HSPLandroid/app/IApplicationThread;->dumpMemInfoProto(Landroid/os/ParcelFileDescriptor;Landroid/os/Debug$MemoryInfo;ZZZZ[Ljava/lang/String;)V
-HSPLandroid/app/IApplicationThread;->dumpProvider(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
-HSPLandroid/app/IApplicationThread;->dumpService(Landroid/os/ParcelFileDescriptor;Landroid/os/IBinder;[Ljava/lang/String;)V
-HSPLandroid/app/IApplicationThread;->handleTrustStorageUpdate()V
-HSPLandroid/app/IApplicationThread;->notifyCleartextNetwork([B)V
-HSPLandroid/app/IApplicationThread;->processInBackground()V
-HSPLandroid/app/IApplicationThread;->profilerControl(ZLandroid/app/ProfilerInfo;I)V
-HSPLandroid/app/IApplicationThread;->requestAssistContextExtras(Landroid/os/IBinder;Landroid/os/IBinder;III)V
-HSPLandroid/app/IApplicationThread;->runIsolatedEntryPoint(Ljava/lang/String;[Ljava/lang/String;)V
-HSPLandroid/app/IApplicationThread;->scheduleApplicationInfoChanged(Landroid/content/pm/ApplicationInfo;)V
-HSPLandroid/app/IApplicationThread;->scheduleBindService(Landroid/os/IBinder;Landroid/content/Intent;ZI)V
-HSPLandroid/app/IApplicationThread;->scheduleCrash(Ljava/lang/String;)V
-HSPLandroid/app/IApplicationThread;->scheduleCreateBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;I)V
-HSPLandroid/app/IApplicationThread;->scheduleCreateService(Landroid/os/IBinder;Landroid/content/pm/ServiceInfo;Landroid/content/res/CompatibilityInfo;I)V
-HSPLandroid/app/IApplicationThread;->scheduleDestroyBackupAgent(Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;)V
-HSPLandroid/app/IApplicationThread;->scheduleEnterAnimationComplete(Landroid/os/IBinder;)V
-HSPLandroid/app/IApplicationThread;->scheduleExit()V
-HSPLandroid/app/IApplicationThread;->scheduleInstallProvider(Landroid/content/pm/ProviderInfo;)V
-HSPLandroid/app/IApplicationThread;->scheduleLocalVoiceInteractionStarted(Landroid/os/IBinder;Lcom/android/internal/app/IVoiceInteractor;)V
-HSPLandroid/app/IApplicationThread;->scheduleLowMemory()V
-HSPLandroid/app/IApplicationThread;->scheduleOnNewActivityOptions(Landroid/os/IBinder;Landroid/os/Bundle;)V
-HSPLandroid/app/IApplicationThread;->scheduleReceiver(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Landroid/content/res/CompatibilityInfo;ILjava/lang/String;Landroid/os/Bundle;ZII)V
-HSPLandroid/app/IApplicationThread;->scheduleRegisteredReceiver(Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZII)V
-HSPLandroid/app/IApplicationThread;->scheduleServiceArgs(Landroid/os/IBinder;Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/app/IApplicationThread;->scheduleSleeping(Landroid/os/IBinder;Z)V
-HSPLandroid/app/IApplicationThread;->scheduleStopService(Landroid/os/IBinder;)V
-HSPLandroid/app/IApplicationThread;->scheduleSuicide()V
-HSPLandroid/app/IApplicationThread;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V
-HSPLandroid/app/IApplicationThread;->scheduleTranslucentConversionComplete(Landroid/os/IBinder;Z)V
-HSPLandroid/app/IApplicationThread;->scheduleTrimMemory(I)V
-HSPLandroid/app/IApplicationThread;->scheduleUnbindService(Landroid/os/IBinder;Landroid/content/Intent;)V
-HSPLandroid/app/IApplicationThread;->setCoreSettings(Landroid/os/Bundle;)V
-HSPLandroid/app/IApplicationThread;->setHttpProxy(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
-HSPLandroid/app/IApplicationThread;->setNetworkBlockSeq(J)V
-HSPLandroid/app/IApplicationThread;->setProcessState(I)V
-HSPLandroid/app/IApplicationThread;->setSchedulingGroup(I)V
-HSPLandroid/app/IApplicationThread;->startBinderTracking()V
-HSPLandroid/app/IApplicationThread;->stopBinderTrackingAndDump(Landroid/os/ParcelFileDescriptor;)V
-HSPLandroid/app/IApplicationThread;->unstableProviderDied(Landroid/os/IBinder;)V
-HSPLandroid/app/IApplicationThread;->updatePackageCompatibilityInfo(Ljava/lang/String;Landroid/content/res/CompatibilityInfo;)V
-HSPLandroid/app/IApplicationThread;->updateTimePrefs(I)V
-HSPLandroid/app/IApplicationThread;->updateTimeZone()V
-HSPLandroid/app/IBackupAgent$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IBackupAgent;->doBackup(Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;Landroid/os/ParcelFileDescriptor;JILandroid/app/backup/IBackupManager;I)V
-HSPLandroid/app/IBackupAgent;->doFullBackup(Landroid/os/ParcelFileDescriptor;JILandroid/app/backup/IBackupManager;I)V
-HSPLandroid/app/IBackupAgent;->doMeasureFullBackup(JILandroid/app/backup/IBackupManager;I)V
-HSPLandroid/app/IBackupAgent;->doQuotaExceeded(JJ)V
-HSPLandroid/app/IBackupAgent;->doRestore(Landroid/os/ParcelFileDescriptor;JLandroid/os/ParcelFileDescriptor;ILandroid/app/backup/IBackupManager;)V
-HSPLandroid/app/IBackupAgent;->doRestoreFile(Landroid/os/ParcelFileDescriptor;JILjava/lang/String;Ljava/lang/String;JJILandroid/app/backup/IBackupManager;)V
-HSPLandroid/app/IBackupAgent;->doRestoreFinished(ILandroid/app/backup/IBackupManager;)V
-HSPLandroid/app/IBackupAgent;->fail(Ljava/lang/String;)V
 HSPLandroid/app/IInstrumentationWatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IInstrumentationWatcher;
+HSPLandroid/app/INotificationManager$Stub$Proxy;->applyEnqueuedAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
+HSPLandroid/app/INotificationManager$Stub$Proxy;->areBubblesAllowedForPackage(Ljava/lang/String;I)Z
 HSPLandroid/app/INotificationManager$Stub$Proxy;->areNotificationsEnabled(Ljava/lang/String;)Z
+HSPLandroid/app/INotificationManager$Stub$Proxy;->areNotificationsEnabledForPackage(Ljava/lang/String;I)Z
+HSPLandroid/app/INotificationManager$Stub$Proxy;->canShowBadge(Ljava/lang/String;I)Z
 HSPLandroid/app/INotificationManager$Stub$Proxy;->cancelAllNotifications(Ljava/lang/String;I)V
 HSPLandroid/app/INotificationManager$Stub$Proxy;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;II)V
 HSPLandroid/app/INotificationManager$Stub$Proxy;->createNotificationChannelGroups(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
 HSPLandroid/app/INotificationManager$Stub$Proxy;->createNotificationChannels(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
 HSPLandroid/app/INotificationManager$Stub$Proxy;->deleteNotificationChannel(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/app/INotificationManager$Stub$Proxy;->enqueueNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;I)V
-HSPLandroid/app/INotificationManager$Stub$Proxy;->enqueueToast(Ljava/lang/String;Landroid/app/ITransientNotification;I)V
-HSPLandroid/app/INotificationManager$Stub$Proxy;->finishToken(Ljava/lang/String;Landroid/app/ITransientNotification;)V
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getActiveNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getAppActiveNotifications(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/app/INotificationManager$Stub$Proxy;->getAppsBypassingDndCount(I)I
+HSPLandroid/app/INotificationManager$Stub$Proxy;->getAutomaticZenRule(Ljava/lang/String;)Landroid/app/AutomaticZenRule;
+HSPLandroid/app/INotificationManager$Stub$Proxy;->getBlockedChannelCount(Ljava/lang/String;I)I
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getNotificationChannel(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;
-HSPLandroid/app/INotificationManager$Stub$Proxy;->getNotificationChannelGroups(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getNotificationChannels(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getNotificationPolicy(Ljava/lang/String;)Landroid/app/NotificationManager$Policy;
-HSPLandroid/app/INotificationManager$Stub$Proxy;->getPackageImportance(Ljava/lang/String;)I
+HSPLandroid/app/INotificationManager$Stub$Proxy;->getNumNotificationChannelsForPackage(Ljava/lang/String;IZ)I
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getZenMode()I
 HSPLandroid/app/INotificationManager$Stub$Proxy;->getZenRules()Ljava/util/List;
-HSPLandroid/app/INotificationManager$Stub$Proxy;->requestBindListener(Landroid/content/ComponentName;)V
+HSPLandroid/app/INotificationManager$Stub$Proxy;->isNotificationPolicyAccessGranted(Ljava/lang/String;)Z
+HSPLandroid/app/INotificationManager$Stub$Proxy;->notifyConditions(Ljava/lang/String;Landroid/service/notification/IConditionProvider;[Landroid/service/notification/Condition;)V
+HSPLandroid/app/INotificationManager$Stub$Proxy;->updateAutomaticZenRule(Ljava/lang/String;Landroid/app/AutomaticZenRule;)Z
 HSPLandroid/app/INotificationManager$Stub;-><init>()V
 HSPLandroid/app/INotificationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/INotificationManager;
 HSPLandroid/app/INotificationManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/INotificationManager;->addAutomaticZenRule(Landroid/app/AutomaticZenRule;)Ljava/lang/String;
-HSPLandroid/app/INotificationManager;->applyAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
-HSPLandroid/app/INotificationManager;->applyAdjustmentsFromAssistant(Landroid/service/notification/INotificationListener;Ljava/util/List;)V
-HSPLandroid/app/INotificationManager;->applyEnqueuedAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
-HSPLandroid/app/INotificationManager;->applyRestore([BI)V
-HSPLandroid/app/INotificationManager;->areChannelsBypassingDnd()Z
-HSPLandroid/app/INotificationManager;->areNotificationsEnabled(Ljava/lang/String;)Z
-HSPLandroid/app/INotificationManager;->areNotificationsEnabledForPackage(Ljava/lang/String;I)Z
-HSPLandroid/app/INotificationManager;->canShowBadge(Ljava/lang/String;I)Z
-HSPLandroid/app/INotificationManager;->cancelAllNotifications(Ljava/lang/String;I)V
-HSPLandroid/app/INotificationManager;->cancelNotificationFromListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/app/INotificationManager;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;II)V
-HSPLandroid/app/INotificationManager;->cancelNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V
-HSPLandroid/app/INotificationManager;->cancelToast(Ljava/lang/String;Landroid/app/ITransientNotification;)V
-HSPLandroid/app/INotificationManager;->clearData(Ljava/lang/String;IZ)V
-HSPLandroid/app/INotificationManager;->createNotificationChannelGroups(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/app/INotificationManager;->createNotificationChannels(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/app/INotificationManager;->createNotificationChannelsForPackage(Ljava/lang/String;ILandroid/content/pm/ParceledListSlice;)V
-HSPLandroid/app/INotificationManager;->deleteNotificationChannel(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/INotificationManager;->deleteNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/INotificationManager;->enqueueNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;I)V
-HSPLandroid/app/INotificationManager;->enqueueToast(Ljava/lang/String;Landroid/app/ITransientNotification;I)V
-HSPLandroid/app/INotificationManager;->finishToken(Ljava/lang/String;Landroid/app/ITransientNotification;)V
-HSPLandroid/app/INotificationManager;->getActiveNotifications(Ljava/lang/String;)[Landroid/service/notification/StatusBarNotification;
-HSPLandroid/app/INotificationManager;->getActiveNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/INotificationManager;->getAppActiveNotifications(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/INotificationManager;->getAutomaticZenRule(Ljava/lang/String;)Landroid/app/AutomaticZenRule;
-HSPLandroid/app/INotificationManager;->getBackupPayload(I)[B
-HSPLandroid/app/INotificationManager;->getBlockedAppCount(I)I
-HSPLandroid/app/INotificationManager;->getBlockedChannelCount(Ljava/lang/String;I)I
-HSPLandroid/app/INotificationManager;->getDeletedChannelCount(Ljava/lang/String;I)I
-HSPLandroid/app/INotificationManager;->getEffectsSuppressor()Landroid/content/ComponentName;
-HSPLandroid/app/INotificationManager;->getEnabledNotificationListenerPackages()Ljava/util/List;
-HSPLandroid/app/INotificationManager;->getEnabledNotificationListeners(I)Ljava/util/List;
-HSPLandroid/app/INotificationManager;->getHintsFromListener(Landroid/service/notification/INotificationListener;)I
-HSPLandroid/app/INotificationManager;->getHistoricalNotifications(Ljava/lang/String;I)[Landroid/service/notification/StatusBarNotification;
-HSPLandroid/app/INotificationManager;->getInterruptionFilterFromListener(Landroid/service/notification/INotificationListener;)I
-HSPLandroid/app/INotificationManager;->getNotificationChannel(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;
-HSPLandroid/app/INotificationManager;->getNotificationChannelForPackage(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannel;
-HSPLandroid/app/INotificationManager;->getNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannelGroup;
-HSPLandroid/app/INotificationManager;->getNotificationChannelGroupForPackage(Ljava/lang/String;Ljava/lang/String;I)Landroid/app/NotificationChannelGroup;
-HSPLandroid/app/INotificationManager;->getNotificationChannelGroups(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/INotificationManager;->getNotificationChannelGroupsForPackage(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/INotificationManager;->getNotificationChannelGroupsFromPrivilegedListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/INotificationManager;->getNotificationChannels(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/INotificationManager;->getNotificationChannelsForPackage(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/INotificationManager;->getNotificationChannelsFromPrivilegedListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/INotificationManager;->getNotificationPolicy(Ljava/lang/String;)Landroid/app/NotificationManager$Policy;
-HSPLandroid/app/INotificationManager;->getNumNotificationChannelsForPackage(Ljava/lang/String;IZ)I
-HSPLandroid/app/INotificationManager;->getPackageImportance(Ljava/lang/String;)I
-HSPLandroid/app/INotificationManager;->getPopulatedNotificationChannelGroupForPackage(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannelGroup;
-HSPLandroid/app/INotificationManager;->getRecentNotifyingAppsForUser(I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/INotificationManager;->getRuleInstanceCount(Landroid/content/ComponentName;)I
-HSPLandroid/app/INotificationManager;->getSnoozedNotificationsFromListener(Landroid/service/notification/INotificationListener;I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/INotificationManager;->getZenMode()I
-HSPLandroid/app/INotificationManager;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
-HSPLandroid/app/INotificationManager;->getZenRules()Ljava/util/List;
-HSPLandroid/app/INotificationManager;->isNotificationAssistantAccessGranted(Landroid/content/ComponentName;)Z
-HSPLandroid/app/INotificationManager;->isNotificationListenerAccessGranted(Landroid/content/ComponentName;)Z
-HSPLandroid/app/INotificationManager;->isNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;I)Z
-HSPLandroid/app/INotificationManager;->isNotificationPolicyAccessGranted(Ljava/lang/String;)Z
-HSPLandroid/app/INotificationManager;->isNotificationPolicyAccessGrantedForPackage(Ljava/lang/String;)Z
-HSPLandroid/app/INotificationManager;->isSystemConditionProviderEnabled(Ljava/lang/String;)Z
-HSPLandroid/app/INotificationManager;->matchesCallFilter(Landroid/os/Bundle;)Z
-HSPLandroid/app/INotificationManager;->notifyConditions(Ljava/lang/String;Landroid/service/notification/IConditionProvider;[Landroid/service/notification/Condition;)V
-HSPLandroid/app/INotificationManager;->onlyHasDefaultChannel(Ljava/lang/String;I)Z
-HSPLandroid/app/INotificationManager;->registerListener(Landroid/service/notification/INotificationListener;Landroid/content/ComponentName;I)V
-HSPLandroid/app/INotificationManager;->removeAutomaticZenRule(Ljava/lang/String;)Z
-HSPLandroid/app/INotificationManager;->removeAutomaticZenRules(Ljava/lang/String;)Z
-HSPLandroid/app/INotificationManager;->requestBindListener(Landroid/content/ComponentName;)V
-HSPLandroid/app/INotificationManager;->requestBindProvider(Landroid/content/ComponentName;)V
-HSPLandroid/app/INotificationManager;->requestHintsFromListener(Landroid/service/notification/INotificationListener;I)V
-HSPLandroid/app/INotificationManager;->requestInterruptionFilterFromListener(Landroid/service/notification/INotificationListener;I)V
-HSPLandroid/app/INotificationManager;->requestUnbindListener(Landroid/service/notification/INotificationListener;)V
-HSPLandroid/app/INotificationManager;->requestUnbindProvider(Landroid/service/notification/IConditionProvider;)V
-HSPLandroid/app/INotificationManager;->setInterruptionFilter(Ljava/lang/String;I)V
-HSPLandroid/app/INotificationManager;->setNotificationAssistantAccessGranted(Landroid/content/ComponentName;Z)V
-HSPLandroid/app/INotificationManager;->setNotificationAssistantAccessGrantedForUser(Landroid/content/ComponentName;IZ)V
-HSPLandroid/app/INotificationManager;->setNotificationListenerAccessGranted(Landroid/content/ComponentName;Z)V
-HSPLandroid/app/INotificationManager;->setNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;IZ)V
-HSPLandroid/app/INotificationManager;->setNotificationPolicy(Ljava/lang/String;Landroid/app/NotificationManager$Policy;)V
-HSPLandroid/app/INotificationManager;->setNotificationPolicyAccessGranted(Ljava/lang/String;Z)V
-HSPLandroid/app/INotificationManager;->setNotificationPolicyAccessGrantedForUser(Ljava/lang/String;IZ)V
-HSPLandroid/app/INotificationManager;->setNotificationsEnabledForPackage(Ljava/lang/String;IZ)V
-HSPLandroid/app/INotificationManager;->setNotificationsEnabledWithImportanceLockForPackage(Ljava/lang/String;IZ)V
-HSPLandroid/app/INotificationManager;->setNotificationsShownFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V
-HSPLandroid/app/INotificationManager;->setOnNotificationPostedTrimFromListener(Landroid/service/notification/INotificationListener;I)V
-HSPLandroid/app/INotificationManager;->setShowBadge(Ljava/lang/String;IZ)V
-HSPLandroid/app/INotificationManager;->setZenMode(ILandroid/net/Uri;Ljava/lang/String;)V
-HSPLandroid/app/INotificationManager;->snoozeNotificationUntilContextFromListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/INotificationManager;->snoozeNotificationUntilFromListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;J)V
-HSPLandroid/app/INotificationManager;->unregisterListener(Landroid/service/notification/INotificationListener;I)V
-HSPLandroid/app/INotificationManager;->unsnoozeNotificationFromAssistant(Landroid/service/notification/INotificationListener;Ljava/lang/String;)V
-HSPLandroid/app/INotificationManager;->updateAutomaticZenRule(Ljava/lang/String;Landroid/app/AutomaticZenRule;)Z
-HSPLandroid/app/INotificationManager;->updateNotificationChannelForPackage(Ljava/lang/String;ILandroid/app/NotificationChannel;)V
-HSPLandroid/app/INotificationManager;->updateNotificationChannelFromPrivilegedListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;)V
-HSPLandroid/app/INotificationManager;->updateNotificationChannelGroupForPackage(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;)V
-HSPLandroid/app/INotificationManager;->updateNotificationChannelGroupFromPrivilegedListener(Landroid/service/notification/INotificationListener;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;)V
-HSPLandroid/app/IProcessObserver$Stub;-><init>()V
-HSPLandroid/app/IProcessObserver$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IProcessObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IProcessObserver;->onForegroundActivitiesChanged(IIZ)V
-HSPLandroid/app/IProcessObserver;->onProcessDied(II)V
-HSPLandroid/app/ISearchManager$Stub$Proxy;->getSearchableInfo(Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
 HSPLandroid/app/ISearchManager$Stub;-><init>()V
-HSPLandroid/app/ISearchManager;->getGlobalSearchActivities()Ljava/util/List;
-HSPLandroid/app/ISearchManager;->getGlobalSearchActivity()Landroid/content/ComponentName;
-HSPLandroid/app/ISearchManager;->getSearchableInfo(Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
-HSPLandroid/app/ISearchManager;->getSearchablesInGlobalSearch()Ljava/util/List;
-HSPLandroid/app/ISearchManager;->getWebSearchActivity()Landroid/content/ComponentName;
-HSPLandroid/app/ISearchManager;->launchAssist(Landroid/os/Bundle;)V
-HSPLandroid/app/ISearchManager;->launchLegacyAssist(Ljava/lang/String;ILandroid/os/Bundle;)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;
+HSPLandroid/app/IServiceConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IServiceConnection;
 HSPLandroid/app/IServiceConnection$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IServiceConnection;->connected(Landroid/content/ComponentName;Landroid/os/IBinder;Z)V
 HSPLandroid/app/ITaskStackListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskCreated(ILandroid/content/ComponentName;)V
 HSPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskDescriptionChanged(ILandroid/app/ActivityManager$TaskDescription;)V
+HSPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskDescriptionChanged(Landroid/app/ActivityManager$RunningTaskInfo;)V
 HSPLandroid/app/ITaskStackListener$Stub$Proxy;->onTaskStackChanged()V
-HSPLandroid/app/ITaskStackListener$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/ITaskStackListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/ITaskStackListener;
-HSPLandroid/app/ITaskStackListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/ITaskStackListener;->onActivityDismissingDockedStack()V
-HSPLandroid/app/ITaskStackListener;->onActivityForcedResizable(Ljava/lang/String;II)V
-HSPLandroid/app/ITaskStackListener;->onActivityLaunchOnSecondaryDisplayFailed()V
-HSPLandroid/app/ITaskStackListener;->onActivityPinned(Ljava/lang/String;III)V
-HSPLandroid/app/ITaskStackListener;->onActivityRequestedOrientationChanged(II)V
-HSPLandroid/app/ITaskStackListener;->onActivityUnpinned()V
-HSPLandroid/app/ITaskStackListener;->onPinnedActivityRestartAttempt(Z)V
-HSPLandroid/app/ITaskStackListener;->onPinnedStackAnimationEnded()V
-HSPLandroid/app/ITaskStackListener;->onPinnedStackAnimationStarted()V
-HSPLandroid/app/ITaskStackListener;->onTaskCreated(ILandroid/content/ComponentName;)V
-HSPLandroid/app/ITaskStackListener;->onTaskDescriptionChanged(ILandroid/app/ActivityManager$TaskDescription;)V
-HSPLandroid/app/ITaskStackListener;->onTaskMovedToFront(I)V
-HSPLandroid/app/ITaskStackListener;->onTaskProfileLocked(II)V
-HSPLandroid/app/ITaskStackListener;->onTaskRemovalStarted(I)V
-HSPLandroid/app/ITaskStackListener;->onTaskRemoved(I)V
-HSPLandroid/app/ITaskStackListener;->onTaskSnapshotChanged(ILandroid/app/ActivityManager$TaskSnapshot;)V
-HSPLandroid/app/ITaskStackListener;->onTaskStackChanged()V
-HSPLandroid/app/ITransientNotification$Stub;-><init>()V
-HSPLandroid/app/ITransientNotification$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/ITransientNotification$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/ITransientNotification;->hide()V
-HSPLandroid/app/ITransientNotification;->show(Landroid/os/IBinder;)V
 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$Proxy;->setNightMode(I)V
 HSPLandroid/app/IUiModeManager$Stub;-><init>()V
 HSPLandroid/app/IUiModeManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUiModeManager;
-HSPLandroid/app/IUiModeManager;->disableCarMode(I)V
-HSPLandroid/app/IUiModeManager;->enableCarMode(I)V
-HSPLandroid/app/IUiModeManager;->getCurrentModeType()I
-HSPLandroid/app/IUiModeManager;->getNightMode()I
-HSPLandroid/app/IUiModeManager;->isNightModeLocked()Z
-HSPLandroid/app/IUiModeManager;->isUiModeLocked()Z
-HSPLandroid/app/IUiModeManager;->setNightMode(I)V
 HSPLandroid/app/IUidObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/IUidObserver$Stub$Proxy;->onUidActive(I)V
 HSPLandroid/app/IUidObserver$Stub$Proxy;->onUidGone(IZ)V
@@ -14723,58 +14580,20 @@
 HSPLandroid/app/IUidObserver$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/IUidObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IUidObserver;
 HSPLandroid/app/IUidObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IUidObserver;->onUidActive(I)V
-HSPLandroid/app/IUidObserver;->onUidCachedChanged(IZ)V
-HSPLandroid/app/IUidObserver;->onUidGone(IZ)V
-HSPLandroid/app/IUidObserver;->onUidIdle(IZ)V
-HSPLandroid/app/IUidObserver;->onUidStateChanged(IIJ)V
+HSPLandroid/app/IUriGrantsManager$Stub;-><init>()V
 HSPLandroid/app/IUserSwitchObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 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/IUserSwitchObserver;->onForegroundProfileSwitch(I)V
-HSPLandroid/app/IUserSwitchObserver;->onLockedBootComplete(I)V
-HSPLandroid/app/IUserSwitchObserver;->onUserSwitchComplete(I)V
-HSPLandroid/app/IUserSwitchObserver;->onUserSwitching(ILandroid/os/IRemoteCallback;)V
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getHeightHint()I
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getWallpaperColors(II)Landroid/app/WallpaperColors;
+HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getWallpaperColors(III)Landroid/app/WallpaperColors;
 HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getWallpaperIdForUser(II)I
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getWallpaperInfo(I)Landroid/app/WallpaperInfo;
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;->getWidthHint()I
-HSPLandroid/app/IWallpaperManager$Stub$Proxy;->registerWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;I)V
 HSPLandroid/app/IWallpaperManager$Stub;-><init>()V
 HSPLandroid/app/IWallpaperManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/IWallpaperManager;->clearWallpaper(Ljava/lang/String;II)V
-HSPLandroid/app/IWallpaperManager;->getHeightHint()I
-HSPLandroid/app/IWallpaperManager;->getName()Ljava/lang/String;
-HSPLandroid/app/IWallpaperManager;->getWallpaper(Ljava/lang/String;Landroid/app/IWallpaperManagerCallback;ILandroid/os/Bundle;I)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/app/IWallpaperManager;->getWallpaperColors(II)Landroid/app/WallpaperColors;
-HSPLandroid/app/IWallpaperManager;->getWallpaperIdForUser(II)I
-HSPLandroid/app/IWallpaperManager;->getWallpaperInfo(I)Landroid/app/WallpaperInfo;
-HSPLandroid/app/IWallpaperManager;->getWidthHint()I
-HSPLandroid/app/IWallpaperManager;->hasNamedWallpaper(Ljava/lang/String;)Z
-HSPLandroid/app/IWallpaperManager;->isSetWallpaperAllowed(Ljava/lang/String;)Z
-HSPLandroid/app/IWallpaperManager;->isWallpaperBackupEligible(II)Z
-HSPLandroid/app/IWallpaperManager;->isWallpaperSupported(Ljava/lang/String;)Z
-HSPLandroid/app/IWallpaperManager;->registerWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;I)V
-HSPLandroid/app/IWallpaperManager;->setDimensionHints(IILjava/lang/String;)V
-HSPLandroid/app/IWallpaperManager;->setDisplayPadding(Landroid/graphics/Rect;Ljava/lang/String;)V
-HSPLandroid/app/IWallpaperManager;->setInAmbientMode(ZZ)V
-HSPLandroid/app/IWallpaperManager;->setLockWallpaperCallback(Landroid/app/IWallpaperManagerCallback;)Z
-HSPLandroid/app/IWallpaperManager;->setWallpaper(Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Rect;ZLandroid/os/Bundle;ILandroid/app/IWallpaperManagerCallback;I)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/app/IWallpaperManager;->setWallpaperComponent(Landroid/content/ComponentName;)V
-HSPLandroid/app/IWallpaperManager;->setWallpaperComponentChecked(Landroid/content/ComponentName;Ljava/lang/String;I)V
-HSPLandroid/app/IWallpaperManager;->settingsRestored()V
-HSPLandroid/app/IWallpaperManager;->unregisterWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;I)V
 HSPLandroid/app/IWallpaperManagerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/IWallpaperManagerCallback$Stub$Proxy;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;II)V
-HSPLandroid/app/IWallpaperManagerCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/app/IWallpaperManagerCallback;->onWallpaperChanged()V
-HSPLandroid/app/IWallpaperManagerCallback;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;II)V
 HSPLandroid/app/Instrumentation;-><init>()V
 HSPLandroid/app/Instrumentation;->basicInit(Landroid/app/ActivityThread;)V
 HSPLandroid/app/Instrumentation;->callActivityOnCreate(Landroid/app/Activity;Landroid/os/Bundle;)V
-HSPLandroid/app/Instrumentation;->callActivityOnDestroy(Landroid/app/Activity;)V
 HSPLandroid/app/Instrumentation;->callActivityOnNewIntent(Landroid/app/Activity;Landroid/content/Intent;)V
 HSPLandroid/app/Instrumentation;->callActivityOnNewIntent(Landroid/app/Activity;Lcom/android/internal/content/ReferrerIntent;)V
 HSPLandroid/app/Instrumentation;->callActivityOnPause(Landroid/app/Activity;)V
@@ -14789,27 +14608,27 @@
 HSPLandroid/app/Instrumentation;->callApplicationOnCreate(Landroid/app/Application;)V
 HSPLandroid/app/Instrumentation;->checkStartActivityResult(ILjava/lang/Object;)V
 HSPLandroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Landroid/app/Activity;Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/Instrumentation$ActivityResult;
-HSPLandroid/app/Instrumentation;->execStartActivity(Landroid/content/Context;Landroid/os/IBinder;Landroid/os/IBinder;Ljava/lang/String;Landroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/Instrumentation$ActivityResult;
 HSPLandroid/app/Instrumentation;->getFactory(Ljava/lang/String;)Landroid/app/AppComponentFactory;
 HSPLandroid/app/Instrumentation;->newActivity(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Intent;)Landroid/app/Activity;
 HSPLandroid/app/Instrumentation;->newApplication(Ljava/lang/ClassLoader;Ljava/lang/String;Landroid/content/Context;)Landroid/app/Application;
 HSPLandroid/app/Instrumentation;->onCreate(Landroid/os/Bundle;)V
+HSPLandroid/app/Instrumentation;->onEnterAnimationComplete()V
 HSPLandroid/app/Instrumentation;->postPerformCreate(Landroid/app/Activity;)V
 HSPLandroid/app/Instrumentation;->prePerformCreate(Landroid/app/Activity;)V
 HSPLandroid/app/IntentService$ServiceHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/app/IntentService;-><init>(Ljava/lang/String;)V
 HSPLandroid/app/IntentService;->onCreate()V
 HSPLandroid/app/IntentService;->onDestroy()V
-HSPLandroid/app/IntentService;->onHandleIntent(Landroid/content/Intent;)V
 HSPLandroid/app/IntentService;->onStart(Landroid/content/Intent;I)V
 HSPLandroid/app/IntentService;->onStartCommand(Landroid/content/Intent;II)I
 HSPLandroid/app/IntentService;->setIntentRedelivery(Z)V
 HSPLandroid/app/JobSchedulerImpl;->cancel(I)V
-HSPLandroid/app/JobSchedulerImpl;->cancelAll()V
 HSPLandroid/app/JobSchedulerImpl;->enqueue(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;)I
 HSPLandroid/app/JobSchedulerImpl;->getAllPendingJobs()Ljava/util/List;
 HSPLandroid/app/JobSchedulerImpl;->getPendingJob(I)Landroid/app/job/JobInfo;
 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
 HSPLandroid/app/KeyguardManager;->inKeyguardRestrictedInputMode()Z
 HSPLandroid/app/KeyguardManager;->isDeviceLocked()Z
 HSPLandroid/app/KeyguardManager;->isDeviceLocked(I)Z
@@ -14817,12 +14636,8 @@
 HSPLandroid/app/KeyguardManager;->isDeviceSecure(I)Z
 HSPLandroid/app/KeyguardManager;->isKeyguardLocked()Z
 HSPLandroid/app/KeyguardManager;->isKeyguardSecure()Z
-HSPLandroid/app/ListFragment$1;->run()V
-HSPLandroid/app/ListFragment;-><init>()V
-HSPLandroid/app/ListFragment;->ensureList()V
-HSPLandroid/app/ListFragment;->onViewCreated(Landroid/view/View;Landroid/os/Bundle;)V
-HSPLandroid/app/ListFragment;->setListAdapter(Landroid/widget/ListAdapter;)V
 HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;-><init>(Landroid/app/LoadedApk$ReceiverDispatcher;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->lambda$getRunnable$0$LoadedApk$ReceiverDispatcher$Args()V
 HSPLandroid/app/LoadedApk$ReceiverDispatcher$Args;->lambda$getRunnable$0(Landroid/app/LoadedApk$ReceiverDispatcher$Args;)V
 HSPLandroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
 HSPLandroid/app/LoadedApk$ReceiverDispatcher;-><init>(Landroid/content/BroadcastReceiver;Landroid/content/Context;Landroid/os/Handler;Landroid/app/Instrumentation;Z)V
@@ -14838,8 +14653,11 @@
 HSPLandroid/app/LoadedApk;-><init>(Landroid/app/ActivityThread;Landroid/content/pm/ApplicationInfo;Landroid/content/res/CompatibilityInfo;Ljava/lang/ClassLoader;ZZZ)V
 HSPLandroid/app/LoadedApk;->adjustNativeLibraryPaths(Landroid/content/pm/ApplicationInfo;)Landroid/content/pm/ApplicationInfo;
 HSPLandroid/app/LoadedApk;->appendApkLibPathIfNeeded(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/util/List;)V
+HSPLandroid/app/LoadedApk;->appendSharedLibrariesLibPathsIfNeeded(Ljava/util/List;Landroid/content/pm/ApplicationInfo;Ljava/util/Set;Ljava/util/List;)V
 HSPLandroid/app/LoadedApk;->createAppFactory(Landroid/content/pm/ApplicationInfo;Ljava/lang/ClassLoader;)Landroid/app/AppComponentFactory;
 HSPLandroid/app/LoadedApk;->createOrUpdateClassLoaderLocked(Ljava/util/List;)V
+HSPLandroid/app/LoadedApk;->createSharedLibrariesLoaders(Ljava/util/List;ZLjava/lang/String;Ljava/lang/String;)Ljava/util/List;
+HSPLandroid/app/LoadedApk;->createSharedLibraryLoader(Landroid/content/pm/SharedLibraryInfo;ZLjava/lang/String;Ljava/lang/String;)Ljava/lang/ClassLoader;
 HSPLandroid/app/LoadedApk;->forgetReceiverDispatcher(Landroid/content/Context;Landroid/content/BroadcastReceiver;)Landroid/content/IIntentReceiver;
 HSPLandroid/app/LoadedApk;->forgetServiceDispatcher(Landroid/content/Context;Landroid/content/ServiceConnection;)Landroid/app/IServiceConnection;
 HSPLandroid/app/LoadedApk;->getClassLoader()Ljava/lang/ClassLoader;
@@ -14854,51 +14672,38 @@
 HSPLandroid/app/LoadedApk;->setApplicationInfo(Landroid/content/pm/ApplicationInfo;)V
 HSPLandroid/app/LoadedApk;->setupJitProfileSupport()V
 HSPLandroid/app/LoadedApk;->updateApplicationInfo(Landroid/content/pm/ApplicationInfo;Ljava/util/List;)V
-HSPLandroid/app/LoaderManager$LoaderCallbacks;->onCreateLoader(ILandroid/os/Bundle;)Landroid/content/Loader;
-HSPLandroid/app/LoaderManager$LoaderCallbacks;->onLoadFinished(Landroid/content/Loader;Ljava/lang/Object;)V
-HSPLandroid/app/LoaderManager$LoaderCallbacks;->onLoaderReset(Landroid/content/Loader;)V
-HSPLandroid/app/LoaderManager;->destroyLoader(I)V
-HSPLandroid/app/LoaderManager;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLandroid/app/LoaderManager;->getLoader(I)Landroid/content/Loader;
-HSPLandroid/app/LoaderManager;->initLoader(ILandroid/os/Bundle;Landroid/app/LoaderManager$LoaderCallbacks;)Landroid/content/Loader;
-HSPLandroid/app/LoaderManager;->restartLoader(ILandroid/os/Bundle;Landroid/app/LoaderManager$LoaderCallbacks;)Landroid/content/Loader;
+HSPLandroid/app/LoaderManager;->enableDebugLogging(Z)V
 HSPLandroid/app/LoaderManagerImpl$LoaderInfo;->callOnLoadFinished(Landroid/content/Loader;Ljava/lang/Object;)V
+HSPLandroid/app/LoaderManagerImpl$LoaderInfo;->cancel()Z
 HSPLandroid/app/LoaderManagerImpl$LoaderInfo;->destroy()V
 HSPLandroid/app/LoaderManagerImpl$LoaderInfo;->onLoadCanceled(Landroid/content/Loader;)V
 HSPLandroid/app/LoaderManagerImpl$LoaderInfo;->onLoadComplete(Landroid/content/Loader;Ljava/lang/Object;)V
 HSPLandroid/app/LoaderManagerImpl$LoaderInfo;->start()V
 HSPLandroid/app/LoaderManagerImpl$LoaderInfo;->stop()V
 HSPLandroid/app/LoaderManagerImpl;->createAndInstallLoader(ILandroid/os/Bundle;Landroid/app/LoaderManager$LoaderCallbacks;)Landroid/app/LoaderManagerImpl$LoaderInfo;
-HSPLandroid/app/LoaderManagerImpl;->destroyLoader(I)V
-HSPLandroid/app/LoaderManagerImpl;->doDestroy()V
 HSPLandroid/app/LoaderManagerImpl;->doReportStart()V
 HSPLandroid/app/LoaderManagerImpl;->doStart()V
 HSPLandroid/app/LoaderManagerImpl;->doStop()V
 HSPLandroid/app/LoaderManagerImpl;->finishRetain()V
-HSPLandroid/app/LoaderManagerImpl;->getLoader(I)Landroid/content/Loader;
 HSPLandroid/app/LoaderManagerImpl;->hasRunningLoaders()Z
 HSPLandroid/app/LoaderManagerImpl;->initLoader(ILandroid/os/Bundle;Landroid/app/LoaderManager$LoaderCallbacks;)Landroid/content/Loader;
 HSPLandroid/app/LoaderManagerImpl;->installLoader(Landroid/app/LoaderManagerImpl$LoaderInfo;)V
 HSPLandroid/app/LoaderManagerImpl;->restartLoader(ILandroid/os/Bundle;Landroid/app/LoaderManager$LoaderCallbacks;)Landroid/content/Loader;
 HSPLandroid/app/Notification$1;-><init>()V
+HSPLandroid/app/Notification$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/Notification;
+HSPLandroid/app/Notification$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/Notification$Action$1;-><init>()V
-HSPLandroid/app/Notification$Action$Builder;-><init>(ILjava/lang/CharSequence;Landroid/app/PendingIntent;)V
+HSPLandroid/app/Notification$Action$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/Notification$Action;
+HSPLandroid/app/Notification$Action$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/Notification$Action$1;->newArray(I)[Landroid/app/Notification$Action;
+HSPLandroid/app/Notification$Action$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/app/Notification$Action$Builder;-><init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V
 HSPLandroid/app/Notification$Action$Builder;-><init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Landroid/app/PendingIntent;Landroid/os/Bundle;[Landroid/app/RemoteInput;ZI)V
-HSPLandroid/app/Notification$Action$Builder;->addExtras(Landroid/os/Bundle;)Landroid/app/Notification$Action$Builder;
-HSPLandroid/app/Notification$Action$Builder;->addRemoteInput(Landroid/app/RemoteInput;)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;
-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;ZI)V
+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;->getIcon()Landroid/graphics/drawable/Icon;
 HSPLandroid/app/Notification$Action;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/Notification$BigPictureStyle;-><init>()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
-HSPLandroid/app/Notification$BigTextStyle;->bigText(Ljava/lang/CharSequence;)Landroid/app/Notification$BigTextStyle;
-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
@@ -14909,18 +14714,17 @@
 HSPLandroid/app/Notification$Builder;->build()Landroid/app/Notification;
 HSPLandroid/app/Notification$Builder;->buildUnstyled()Landroid/app/Notification;
 HSPLandroid/app/Notification$Builder;->maybeCloneStrippedForDelivery(Landroid/app/Notification;ZLandroid/content/Context;)Landroid/app/Notification;
-HSPLandroid/app/Notification$Builder;->setActions([Landroid/app/Notification$Action;)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->setAutoCancel(Z)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->setBadgeIconType(I)Landroid/app/Notification$Builder;
 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;
 HSPLandroid/app/Notification$Builder;->setContentText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->setContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
-HSPLandroid/app/Notification$Builder;->setCustomBigContentView(Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->setCustomContentView(Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->setDefaults(I)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->setDeleteIntent(Landroid/app/PendingIntent;)Landroid/app/Notification$Builder;
@@ -14948,9 +14752,7 @@
 HSPLandroid/app/Notification$Builder;->setSmallIcon(Landroid/graphics/drawable/Icon;)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->setSortKey(Ljava/lang/String;)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->setSound(Landroid/net/Uri;)Landroid/app/Notification$Builder;
-HSPLandroid/app/Notification$Builder;->setSound(Landroid/net/Uri;I)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->setSound(Landroid/net/Uri;Landroid/media/AudioAttributes;)Landroid/app/Notification$Builder;
-HSPLandroid/app/Notification$Builder;->setStyle(Landroid/app/Notification$Style;)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->setSubText(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->setTicker(Ljava/lang/CharSequence;)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->setTicker(Ljava/lang/CharSequence;Landroid/widget/RemoteViews;)Landroid/app/Notification$Builder;
@@ -14959,56 +14761,20 @@
 HSPLandroid/app/Notification$Builder;->setVibrate([J)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->setVisibility(I)Landroid/app/Notification$Builder;
 HSPLandroid/app/Notification$Builder;->setWhen(J)Landroid/app/Notification$Builder;
-HSPLandroid/app/Notification$InboxStyle;-><init>(Landroid/app/Notification$Builder;)V
-HSPLandroid/app/Notification$InboxStyle;->addExtras(Landroid/os/Bundle;)V
-HSPLandroid/app/Notification$InboxStyle;->addLine(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;
-HSPLandroid/app/Notification$InboxStyle;->setBigContentTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;
-HSPLandroid/app/Notification$InboxStyle;->setSummaryText(Ljava/lang/CharSequence;)Landroid/app/Notification$InboxStyle;
-HSPLandroid/app/Notification$MediaStyle;-><init>()V
-HSPLandroid/app/Notification$MediaStyle;->addExtras(Landroid/os/Bundle;)V
-HSPLandroid/app/Notification$MediaStyle;->buildStyled(Landroid/app/Notification;)Landroid/app/Notification;
-HSPLandroid/app/Notification$MediaStyle;->setShowActionsInCompactView([I)Landroid/app/Notification$MediaStyle;
-HSPLandroid/app/Notification$MessagingStyle$Message;-><init>(Ljava/lang/CharSequence;JLjava/lang/CharSequence;)V
-HSPLandroid/app/Notification$MessagingStyle$Message;->toBundle()Landroid/os/Bundle;
-HSPLandroid/app/Notification$MessagingStyle;-><init>(Ljava/lang/CharSequence;)V
-HSPLandroid/app/Notification$MessagingStyle;->addExtras(Landroid/os/Bundle;)V
-HSPLandroid/app/Notification$MessagingStyle;->addMessage(Landroid/app/Notification$MessagingStyle$Message;)Landroid/app/Notification$MessagingStyle;
-HSPLandroid/app/Notification$MessagingStyle;->findLatestIncomingMessage(Ljava/util/List;)Landroid/app/Notification$MessagingStyle$Message;
-HSPLandroid/app/Notification$MessagingStyle;->fixTitleAndTextExtras(Landroid/os/Bundle;)V
-HSPLandroid/app/Notification$MessagingStyle;->setConversationTitle(Ljava/lang/CharSequence;)Landroid/app/Notification$MessagingStyle;
-HSPLandroid/app/Notification$MessagingStyle;->validate(Landroid/content/Context;)V
-HSPLandroid/app/Notification$Style;->addExtras(Landroid/os/Bundle;)V
-HSPLandroid/app/Notification$Style;->areNotificationsVisiblyDifferent(Landroid/app/Notification$Style;)Z
-HSPLandroid/app/Notification$Style;->buildStyled(Landroid/app/Notification;)Landroid/app/Notification;
-HSPLandroid/app/Notification$Style;->internalSetBigContentTitle(Ljava/lang/CharSequence;)V
-HSPLandroid/app/Notification$Style;->internalSetSummaryText(Ljava/lang/CharSequence;)V
-HSPLandroid/app/Notification$Style;->purgeResources()V
-HSPLandroid/app/Notification$Style;->reduceImageSizes(Landroid/content/Context;)V
-HSPLandroid/app/Notification$Style;->setBuilder(Landroid/app/Notification$Builder;)V
-HSPLandroid/app/Notification$Style;->validate(Landroid/content/Context;)V
 HSPLandroid/app/Notification;-><init>()V
 HSPLandroid/app/Notification;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/Notification;->addFieldsFromContext(Landroid/content/pm/ApplicationInfo;Landroid/app/Notification;)V
 HSPLandroid/app/Notification;->cloneInto(Landroid/app/Notification;Z)V
-HSPLandroid/app/Notification;->getChannelId()Ljava/lang/String;
 HSPLandroid/app/Notification;->getGroup()Ljava/lang/String;
 HSPLandroid/app/Notification;->getLargeIcon()Landroid/graphics/drawable/Icon;
 HSPLandroid/app/Notification;->getNotificationStyle()Ljava/lang/Class;
-HSPLandroid/app/Notification;->getNotificationStyleClass(Ljava/lang/String;)Ljava/lang/Class;
-HSPLandroid/app/Notification;->getShortcutId()Ljava/lang/String;
 HSPLandroid/app/Notification;->getSmallIcon()Landroid/graphics/drawable/Icon;
 HSPLandroid/app/Notification;->getSortKey()Ljava/lang/String;
-HSPLandroid/app/Notification;->getTimeoutAfter()J
-HSPLandroid/app/Notification;->isGroupSummary()Z
 HSPLandroid/app/Notification;->readFromParcelImpl(Landroid/os/Parcel;)V
 HSPLandroid/app/Notification;->reduceImageSizes(Landroid/content/Context;)V
 HSPLandroid/app/Notification;->reduceImageSizesForRemoteView(Landroid/widget/RemoteViews;Landroid/content/Context;Z)V
 HSPLandroid/app/Notification;->removeTextSizeSpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
 HSPLandroid/app/Notification;->safeCharSequence(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
 HSPLandroid/app/Notification;->setSmallIcon(Landroid/graphics/drawable/Icon;)V
-HSPLandroid/app/Notification;->toString()Ljava/lang/String;
-HSPLandroid/app/Notification;->visibilityToString(I)Ljava/lang/String;
-HSPLandroid/app/Notification;->visitUris(Ljava/util/function/Consumer;)V
 HSPLandroid/app/Notification;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/Notification;->writeToParcelImpl(Landroid/os/Parcel;I)V
 HSPLandroid/app/NotificationChannel$1;-><init>()V
@@ -15018,12 +14784,9 @@
 HSPLandroid/app/NotificationChannel;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;I)V
 HSPLandroid/app/NotificationChannel;->enableLights(Z)V
 HSPLandroid/app/NotificationChannel;->enableVibration(Z)V
-HSPLandroid/app/NotificationChannel;->getDescription()Ljava/lang/String;
+HSPLandroid/app/NotificationChannel;->getAudioAttributes()Landroid/media/AudioAttributes;
 HSPLandroid/app/NotificationChannel;->getId()Ljava/lang/String;
 HSPLandroid/app/NotificationChannel;->getImportance()I
-HSPLandroid/app/NotificationChannel;->getLightColor()I
-HSPLandroid/app/NotificationChannel;->getName()Ljava/lang/CharSequence;
-HSPLandroid/app/NotificationChannel;->getSound()Landroid/net/Uri;
 HSPLandroid/app/NotificationChannel;->longArrayToString([J)Ljava/lang/String;
 HSPLandroid/app/NotificationChannel;->populateFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
 HSPLandroid/app/NotificationChannel;->populateFromXml(Lorg/xmlpull/v1/XmlPullParser;ZLandroid/content/Context;)V
@@ -15031,35 +14794,38 @@
 HSPLandroid/app/NotificationChannel;->safeLongArray(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[J)[J
 HSPLandroid/app/NotificationChannel;->setDescription(Ljava/lang/String;)V
 HSPLandroid/app/NotificationChannel;->setGroup(Ljava/lang/String;)V
-HSPLandroid/app/NotificationChannel;->setImportance(I)V
-HSPLandroid/app/NotificationChannel;->setLightColor(I)V
 HSPLandroid/app/NotificationChannel;->setLockscreenVisibility(I)V
 HSPLandroid/app/NotificationChannel;->setName(Ljava/lang/CharSequence;)V
 HSPLandroid/app/NotificationChannel;->setShowBadge(Z)V
 HSPLandroid/app/NotificationChannel;->setSound(Landroid/net/Uri;Landroid/media/AudioAttributes;)V
-HSPLandroid/app/NotificationChannel;->setVibrationPattern([J)V
-HSPLandroid/app/NotificationChannel;->shouldShowLights()Z
-HSPLandroid/app/NotificationChannel;->shouldVibrate()Z
-HSPLandroid/app/NotificationChannel;->toString()Ljava/lang/String;
 HSPLandroid/app/NotificationChannel;->tryParseInt(Ljava/lang/String;I)I
 HSPLandroid/app/NotificationChannel;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/NotificationChannel;->writeXml(Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLandroid/app/NotificationChannel;->writeXml(Lorg/xmlpull/v1/XmlSerializer;ZLandroid/content/Context;)V
 HSPLandroid/app/NotificationChannelGroup$1;-><init>()V
-HSPLandroid/app/NotificationChannelGroup$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/NotificationChannelGroup;
-HSPLandroid/app/NotificationChannelGroup$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/NotificationChannelGroup;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/app/NotificationChannelGroup;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;)V
-HSPLandroid/app/NotificationChannelGroup;->getId()Ljava/lang/String;
-HSPLandroid/app/NotificationChannelGroup;->getName()Ljava/lang/CharSequence;
 HSPLandroid/app/NotificationChannelGroup;->populateFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
 HSPLandroid/app/NotificationChannelGroup;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/NotificationChannelGroup;->writeXml(Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLandroid/app/NotificationManager$Policy$1;-><init>()V
 HSPLandroid/app/NotificationManager$Policy$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/NotificationManager$Policy;
 HSPLandroid/app/NotificationManager$Policy$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/NotificationManager$Policy;->allowAlarms()Z
+HSPLandroid/app/NotificationManager$Policy;->allowCalls()Z
+HSPLandroid/app/NotificationManager$Policy;->allowMedia()Z
+HSPLandroid/app/NotificationManager$Policy;->allowRepeatCallers()Z
+HSPLandroid/app/NotificationManager$Policy;->allowSystem()Z
 HSPLandroid/app/NotificationManager$Policy;->areAllVisualEffectsSuppressed(I)Z
+HSPLandroid/app/NotificationManager$Policy;->copy()Landroid/app/NotificationManager$Policy;
+HSPLandroid/app/NotificationManager$Policy;->effectToString(I)Ljava/lang/String;
 HSPLandroid/app/NotificationManager$Policy;->equals(Ljava/lang/Object;)Z
+HSPLandroid/app/NotificationManager$Policy;->hashCode()I
+HSPLandroid/app/NotificationManager$Policy;->priorityCategoriesToString(I)Ljava/lang/String;
+HSPLandroid/app/NotificationManager$Policy;->priorityCategoryToString(I)Ljava/lang/String;
+HSPLandroid/app/NotificationManager$Policy;->prioritySendersToString(I)Ljava/lang/String;
+HSPLandroid/app/NotificationManager$Policy;->suppressedEffectsToString(I)Ljava/lang/String;
+HSPLandroid/app/NotificationManager$Policy;->suppressedVisualEffectsEqual(II)Z
+HSPLandroid/app/NotificationManager$Policy;->toString()Ljava/lang/String;
 HSPLandroid/app/NotificationManager$Policy;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/NotificationManager;->areNotificationsEnabled()Z
 HSPLandroid/app/NotificationManager;->cancel(I)V
@@ -15071,34 +14837,33 @@
 HSPLandroid/app/NotificationManager;->createNotificationChannelGroups(Ljava/util/List;)V
 HSPLandroid/app/NotificationManager;->createNotificationChannels(Ljava/util/List;)V
 HSPLandroid/app/NotificationManager;->deleteNotificationChannel(Ljava/lang/String;)V
+HSPLandroid/app/NotificationManager;->fixNotification(Landroid/app/Notification;)Landroid/app/Notification;
 HSPLandroid/app/NotificationManager;->from(Landroid/content/Context;)Landroid/app/NotificationManager;
 HSPLandroid/app/NotificationManager;->getActiveNotifications()[Landroid/service/notification/StatusBarNotification;
+HSPLandroid/app/NotificationManager;->getAutomaticZenRule(Ljava/lang/String;)Landroid/app/AutomaticZenRule;
 HSPLandroid/app/NotificationManager;->getAutomaticZenRules()Ljava/util/Map;
-HSPLandroid/app/NotificationManager;->getCurrentInterruptionFilter()I
-HSPLandroid/app/NotificationManager;->getImportance()I
+HSPLandroid/app/NotificationManager;->getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;
 HSPLandroid/app/NotificationManager;->getNotificationChannel(Ljava/lang/String;)Landroid/app/NotificationChannel;
-HSPLandroid/app/NotificationManager;->getNotificationChannelGroups()Ljava/util/List;
 HSPLandroid/app/NotificationManager;->getNotificationChannels()Ljava/util/List;
 HSPLandroid/app/NotificationManager;->getNotificationPolicy()Landroid/app/NotificationManager$Policy;
 HSPLandroid/app/NotificationManager;->getZenMode()I
-HSPLandroid/app/NotificationManager;->notify(ILandroid/app/Notification;)V
+HSPLandroid/app/NotificationManager;->isNotificationPolicyAccessGranted()Z
 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
 HSPLandroid/app/NotificationManager;->setNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;IZ)V
 HSPLandroid/app/NotificationManager;->setNotificationPolicyAccessGranted(Ljava/lang/String;Z)V
-HSPLandroid/app/OnActivityPausedListener;->onPaused(Landroid/app/Activity;)V
+HSPLandroid/app/NotificationManager;->updateAutomaticZenRule(Ljava/lang/String;Landroid/app/AutomaticZenRule;)Z
+HSPLandroid/app/PackageDeleteObserver$1;->onPackageDeleted(Ljava/lang/String;ILjava/lang/String;)V
 HSPLandroid/app/PendingIntent$2;-><init>()V
 HSPLandroid/app/PendingIntent$2;->createFromParcel(Landroid/os/Parcel;)Landroid/app/PendingIntent;
 HSPLandroid/app/PendingIntent$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/PendingIntent$FinishedDispatcher;-><init>(Landroid/app/PendingIntent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;)V
 HSPLandroid/app/PendingIntent$FinishedDispatcher;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
 HSPLandroid/app/PendingIntent$FinishedDispatcher;->run()V
-HSPLandroid/app/PendingIntent$OnMarshaledListener;->onMarshaled(Landroid/app/PendingIntent;Landroid/os/Parcel;I)V
 HSPLandroid/app/PendingIntent;->buildServicePendingIntent(Landroid/content/Context;ILandroid/content/Intent;II)Landroid/app/PendingIntent;
 HSPLandroid/app/PendingIntent;->cancel()V
 HSPLandroid/app/PendingIntent;->describeContents()I
 HSPLandroid/app/PendingIntent;->equals(Ljava/lang/Object;)Z
-HSPLandroid/app/PendingIntent;->getActivities(Landroid/content/Context;I[Landroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/PendingIntent;
 HSPLandroid/app/PendingIntent;->getActivity(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
 HSPLandroid/app/PendingIntent;->getActivity(Landroid/content/Context;ILandroid/content/Intent;ILandroid/os/Bundle;)Landroid/app/PendingIntent;
 HSPLandroid/app/PendingIntent;->getActivityAsUser(Landroid/content/Context;ILandroid/content/Intent;ILandroid/os/Bundle;Landroid/os/UserHandle;)Landroid/app/PendingIntent;
@@ -15106,33 +14871,31 @@
 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
-HSPLandroid/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;->getTargetPackage()Ljava/lang/String;
 HSPLandroid/app/PendingIntent;->hashCode()I
 HSPLandroid/app/PendingIntent;->isActivity()Z
+HSPLandroid/app/PendingIntent;->isBroadcast()Z
 HSPLandroid/app/PendingIntent;->isForegroundService()Z
 HSPLandroid/app/PendingIntent;->isTargetedToPackage()Z
 HSPLandroid/app/PendingIntent;->send()V
+HSPLandroid/app/PendingIntent;->send(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;Ljava/lang/String;)V
 HSPLandroid/app/PendingIntent;->send(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;Ljava/lang/String;Landroid/os/Bundle;)V
 HSPLandroid/app/PendingIntent;->sendAndReturnResult(Landroid/content/Context;ILandroid/content/Intent;Landroid/app/PendingIntent$OnFinished;Landroid/os/Handler;Ljava/lang/String;Landroid/os/Bundle;)I
 HSPLandroid/app/PendingIntent;->toString()Ljava/lang/String;
 HSPLandroid/app/PendingIntent;->writePendingIntentOrNullToParcel(Landroid/app/PendingIntent;Landroid/os/Parcel;)V
 HSPLandroid/app/PendingIntent;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/Person$1;-><init>()V
+HSPLandroid/app/Person$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/Person;
+HSPLandroid/app/Person$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/Person;-><init>(Landroid/app/Person$Builder;)V
+HSPLandroid/app/Person;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/app/Person;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/PictureInPictureParams$1;-><init>()V
 HSPLandroid/app/PictureInPictureParams$Builder;-><init>()V
 HSPLandroid/app/PictureInPictureParams$Builder;->build()Landroid/app/PictureInPictureParams;
 HSPLandroid/app/ProfilerInfo$1;-><init>()V
-HSPLandroid/app/ProgressDialog;-><init>(Landroid/content/Context;)V
-HSPLandroid/app/ProgressDialog;->onCreate(Landroid/os/Bundle;)V
-HSPLandroid/app/ProgressDialog;->onStart()V
-HSPLandroid/app/ProgressDialog;->onStop()V
-HSPLandroid/app/ProgressDialog;->setIndeterminate(Z)V
-HSPLandroid/app/ProgressDialog;->setMessage(Ljava/lang/CharSequence;)V
-HSPLandroid/app/ProgressDialog;->setProgressStyle(I)V
 HSPLandroid/app/QueuedWork$QueuedWorkHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/app/QueuedWork;->addFinisher(Ljava/lang/Runnable;)V
 HSPLandroid/app/QueuedWork;->getHandler()Landroid/os/Handler;
@@ -15141,31 +14904,16 @@
 HSPLandroid/app/QueuedWork;->queue(Ljava/lang/Runnable;Z)V
 HSPLandroid/app/QueuedWork;->removeFinisher(Ljava/lang/Runnable;)V
 HSPLandroid/app/QueuedWork;->waitToFinish()V
-HSPLandroid/app/ReceiverRestrictedContext;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
-HSPLandroid/app/ReceiverRestrictedContext;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
-HSPLandroid/app/RemoteAction$1;-><init>()V
-HSPLandroid/app/RemoteAction;-><init>(Landroid/graphics/drawable/Icon;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V
-HSPLandroid/app/RemoteAction;->setEnabled(Z)V
 HSPLandroid/app/RemoteInput$1;-><init>()V
-HSPLandroid/app/RemoteInput$Builder;-><init>(Ljava/lang/String;)V
-HSPLandroid/app/RemoteInput$Builder;->addExtras(Landroid/os/Bundle;)Landroid/app/RemoteInput$Builder;
-HSPLandroid/app/RemoteInput$Builder;->build()Landroid/app/RemoteInput;
-HSPLandroid/app/RemoteInput$Builder;->setAllowFreeFormInput(Z)Landroid/app/RemoteInput$Builder;
-HSPLandroid/app/RemoteInput$Builder;->setChoices([Ljava/lang/CharSequence;)Landroid/app/RemoteInput$Builder;
-HSPLandroid/app/RemoteInput$Builder;->setLabel(Ljava/lang/CharSequence;)Landroid/app/RemoteInput$Builder;
-HSPLandroid/app/RemoteInput;->isDataOnly()Z
-HSPLandroid/app/RemoteInput;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/ResourcesManager$ApkKey;->equals(Ljava/lang/Object;)Z
 HSPLandroid/app/ResourcesManager$ApkKey;->hashCode()I
 HSPLandroid/app/ResourcesManager;-><init>()V
-HSPLandroid/app/ResourcesManager;->appendLibAssetForMainAssetPath(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/app/ResourcesManager;->applyCompatConfigurationLocked(ILandroid/content/res/Configuration;)Z
 HSPLandroid/app/ResourcesManager;->applyConfigurationToResourcesLocked(Landroid/content/res/Configuration;Landroid/content/res/CompatibilityInfo;)Z
 HSPLandroid/app/ResourcesManager;->applyNewResourceDirsLocked(Ljava/lang/String;[Ljava/lang/String;)V
 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;
@@ -15178,7 +14926,6 @@
 HSPLandroid/app/ResourcesManager;->getOrCreateResourcesForActivityLocked(Landroid/os/IBinder;Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
 HSPLandroid/app/ResourcesManager;->getOrCreateResourcesLocked(Ljava/lang/ClassLoader;Landroid/content/res/ResourcesImpl;Landroid/content/res/CompatibilityInfo;)Landroid/content/res/Resources;
 HSPLandroid/app/ResourcesManager;->getResources(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;->isSameResourcesOverrideConfig(Landroid/os/IBinder;Landroid/content/res/Configuration;)Z
 HSPLandroid/app/ResourcesManager;->loadApkAssets(Ljava/lang/String;ZZ)Landroid/content/res/ApkAssets;
 HSPLandroid/app/ResourcesManager;->overlayPathToIdmapPath(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/app/ResourcesManager;->redirectResourcesToNewImplLocked(Landroid/util/ArrayMap;)V
@@ -15187,23 +14934,6 @@
 HSPLandroid/app/ResultInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ResultInfo;
 HSPLandroid/app/ResultInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/ResultInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/ResultInfo;->toString()Ljava/lang/String;
-HSPLandroid/app/SearchManager$OnCancelListener;->onCancel()V
-HSPLandroid/app/SearchManager$OnDismissListener;->onDismiss()V
-HSPLandroid/app/SearchManager;->getAssistIntent(Z)Landroid/content/Intent;
-HSPLandroid/app/SearchManager;->getSearchableInfo(Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
-HSPLandroid/app/SearchManager;->setOnCancelListener(Landroid/app/SearchManager$OnCancelListener;)V
-HSPLandroid/app/SearchManager;->setOnDismissListener(Landroid/app/SearchManager$OnDismissListener;)V
-HSPLandroid/app/SearchableInfo$1;-><init>()V
-HSPLandroid/app/SearchableInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/SearchableInfo;
-HSPLandroid/app/SearchableInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/SearchableInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/SearchableInfo;->getHintId()I
-HSPLandroid/app/SearchableInfo;->getImeOptions()I
-HSPLandroid/app/SearchableInfo;->getInputType()I
-HSPLandroid/app/SearchableInfo;->getSuggestAuthority()Ljava/lang/String;
-HSPLandroid/app/SearchableInfo;->getSuggestThreshold()I
-HSPLandroid/app/SearchableInfo;->getVoiceSearchEnabled()Z
 HSPLandroid/app/Service;-><init>()V
 HSPLandroid/app/Service;->getApplication()Landroid/app/Application;
 HSPLandroid/app/Service;->onConfigurationChanged(Landroid/content/res/Configuration;)V
@@ -15218,7 +14948,6 @@
 HSPLandroid/app/Service;->stopForeground(Z)V
 HSPLandroid/app/Service;->stopSelf()V
 HSPLandroid/app/Service;->stopSelf(I)V
-HSPLandroid/app/Service;->stopSelfResult(I)Z
 HSPLandroid/app/ServiceStartArgs$1;-><init>()V
 HSPLandroid/app/ServiceStartArgs$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/ServiceStartArgs;
 HSPLandroid/app/ServiceStartArgs$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -15263,235 +14992,357 @@
 HSPLandroid/app/SharedPreferencesImpl;->unregisterOnSharedPreferenceChangeListener(Landroid/content/SharedPreferences$OnSharedPreferenceChangeListener;)V
 HSPLandroid/app/SharedPreferencesImpl;->writeToFile(Landroid/app/SharedPreferencesImpl$MemoryCommitResult;Z)V
 HSPLandroid/app/SynchronousUserSwitchObserver;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$100;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$101;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$101;->createService(Landroid/app/ContextImpl;)Landroid/view/autofill/AutofillManager;
+HSPLandroid/app/SystemServiceRegistry$101;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$102;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$102;->createService(Landroid/app/ContextImpl;)Landroid/view/autofill/AutofillManager;
+HSPLandroid/app/SystemServiceRegistry$102;->createService(Landroid/app/ContextImpl;)Landroid/view/contentcapture/ContentCaptureManager;
+HSPLandroid/app/SystemServiceRegistry$102;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$103;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$103;->createService(Landroid/app/ContextImpl;)Landroid/view/contentcapture/ContentCaptureManager;
+HSPLandroid/app/SystemServiceRegistry$103;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$104;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$105;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$106;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$107;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$108;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$108;->createService(Landroid/app/ContextImpl;)Landroid/app/slice/SliceManager;
+HSPLandroid/app/SystemServiceRegistry$108;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$109;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$109;->createService(Landroid/app/ContextImpl;)Landroid/app/slice/SliceManager;
+HSPLandroid/app/SystemServiceRegistry$109;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$10;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$10;->createService(Landroid/app/ContextImpl;)Landroid/view/textclassifier/TextClassificationManager;
+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;
+HSPLandroid/app/SystemServiceRegistry$111;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$111;->createService(Landroid/app/ContextImpl;)Landroid/app/timedetector/TimeDetector;
+HSPLandroid/app/SystemServiceRegistry$111;->createService(Landroid/app/ContextImpl;)Landroid/permission/PermissionManager;
+HSPLandroid/app/SystemServiceRegistry$111;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$112;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$112;->createService(Landroid/app/ContextImpl;)Landroid/permission/PermissionControllerManager;
+HSPLandroid/app/SystemServiceRegistry$112;->createService(Landroid/app/ContextImpl;)Landroid/permission/PermissionManager;
+HSPLandroid/app/SystemServiceRegistry$112;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$113;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$113;->createService(Landroid/app/ContextImpl;)Landroid/app/role/RoleManager;
+HSPLandroid/app/SystemServiceRegistry$113;->createService(Landroid/app/ContextImpl;)Landroid/permission/PermissionControllerManager;
+HSPLandroid/app/SystemServiceRegistry$113;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$114;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$114;->createService(Landroid/app/ContextImpl;)Landroid/app/role/RoleManager;
+HSPLandroid/app/SystemServiceRegistry$114;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$115;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$116;-><init>()V
 HSPLandroid/app/SystemServiceRegistry$11;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$11;->createService(Landroid/app/ContextImpl;)Landroid/content/ClipboardManager;
-HSPLandroid/app/SystemServiceRegistry$11;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$12;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$12;->createService(Landroid/content/Context;)Landroid/net/ConnectivityManager;
-HSPLandroid/app/SystemServiceRegistry$12;->createService(Landroid/content/Context;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$12;->createService(Landroid/app/ContextImpl;)Landroid/view/textclassifier/TextClassificationManager;
+HSPLandroid/app/SystemServiceRegistry$12;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$13;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$13;->createService(Landroid/app/ContextImpl;)Landroid/content/ClipboardManager;
+HSPLandroid/app/SystemServiceRegistry$13;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$14;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$14;->createService()Landroid/location/CountryDetector;
-HSPLandroid/app/SystemServiceRegistry$14;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$14;->createService(Landroid/content/Context;)Landroid/net/ConnectivityManager;
+HSPLandroid/app/SystemServiceRegistry$14;->createService(Landroid/content/Context;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$15;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$15;->createService(Landroid/app/ContextImpl;)Landroid/app/admin/DevicePolicyManager;
-HSPLandroid/app/SystemServiceRegistry$15;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$15;->createService()Landroid/net/INetd;
+HSPLandroid/app/SystemServiceRegistry$15;->createService()Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$16;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$16;->createService(Landroid/app/ContextImpl;)Landroid/app/DownloadManager;
-HSPLandroid/app/SystemServiceRegistry$16;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$16;->createService()Landroid/net/NetworkStack;
+HSPLandroid/app/SystemServiceRegistry$16;->createService()Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$17;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$17;->createService(Landroid/app/ContextImpl;)Landroid/os/BatteryManager;
-HSPLandroid/app/SystemServiceRegistry$17;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$18;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$18;->createService(Landroid/app/ContextImpl;)Landroid/nfc/NfcManager;
-HSPLandroid/app/SystemServiceRegistry$18;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$18;->createService()Landroid/location/CountryDetector;
+HSPLandroid/app/SystemServiceRegistry$18;->createService()Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$19;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$19;->createService(Landroid/app/ContextImpl;)Landroid/os/DropBoxManager;
+HSPLandroid/app/SystemServiceRegistry$19;->createService()Landroid/location/CountryDetector;
+HSPLandroid/app/SystemServiceRegistry$19;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$19;->createService(Landroid/app/ContextImpl;)Landroid/app/admin/DevicePolicyManager;
 HSPLandroid/app/SystemServiceRegistry$19;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$1;-><init>()V
 HSPLandroid/app/SystemServiceRegistry$1;->createService(Landroid/app/ContextImpl;)Landroid/view/accessibility/AccessibilityManager;
 HSPLandroid/app/SystemServiceRegistry$1;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$20;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$20;->createService()Landroid/hardware/input/InputManager;
-HSPLandroid/app/SystemServiceRegistry$20;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$20;->createService(Landroid/app/ContextImpl;)Landroid/app/DownloadManager;
+HSPLandroid/app/SystemServiceRegistry$20;->createService(Landroid/app/ContextImpl;)Landroid/app/admin/DevicePolicyManager;
+HSPLandroid/app/SystemServiceRegistry$20;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$21;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$21;->createService(Landroid/app/ContextImpl;)Landroid/hardware/display/DisplayManager;
+HSPLandroid/app/SystemServiceRegistry$21;->createService(Landroid/app/ContextImpl;)Landroid/app/DownloadManager;
+HSPLandroid/app/SystemServiceRegistry$21;->createService(Landroid/app/ContextImpl;)Landroid/os/BatteryManager;
 HSPLandroid/app/SystemServiceRegistry$21;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$22;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$22;->createService()Landroid/view/inputmethod/InputMethodManager;
-HSPLandroid/app/SystemServiceRegistry$22;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$22;->createService(Landroid/app/ContextImpl;)Landroid/nfc/NfcManager;
+HSPLandroid/app/SystemServiceRegistry$22;->createService(Landroid/app/ContextImpl;)Landroid/os/BatteryManager;
+HSPLandroid/app/SystemServiceRegistry$22;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$23;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$23;->createService()Landroid/view/textservice/TextServicesManager;
-HSPLandroid/app/SystemServiceRegistry$23;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$23;->createService(Landroid/app/ContextImpl;)Landroid/nfc/NfcManager;
+HSPLandroid/app/SystemServiceRegistry$23;->createService(Landroid/app/ContextImpl;)Landroid/os/DropBoxManager;
+HSPLandroid/app/SystemServiceRegistry$23;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$24;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$24;->createService(Landroid/app/ContextImpl;)Landroid/app/KeyguardManager;
+HSPLandroid/app/SystemServiceRegistry$24;->createService()Landroid/hardware/input/InputManager;
+HSPLandroid/app/SystemServiceRegistry$24;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$24;->createService(Landroid/app/ContextImpl;)Landroid/os/DropBoxManager;
 HSPLandroid/app/SystemServiceRegistry$24;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$25;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$25;->createService(Landroid/app/ContextImpl;)Landroid/view/LayoutInflater;
+HSPLandroid/app/SystemServiceRegistry$25;->createService()Landroid/hardware/input/InputManager;
+HSPLandroid/app/SystemServiceRegistry$25;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$25;->createService(Landroid/app/ContextImpl;)Landroid/hardware/display/DisplayManager;
 HSPLandroid/app/SystemServiceRegistry$25;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$26;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$26;->createService(Landroid/app/ContextImpl;)Landroid/location/LocationManager;
+HSPLandroid/app/SystemServiceRegistry$26;->createService(Landroid/app/ContextImpl;)Landroid/hardware/display/ColorDisplayManager;
+HSPLandroid/app/SystemServiceRegistry$26;->createService(Landroid/app/ContextImpl;)Landroid/hardware/display/DisplayManager;
 HSPLandroid/app/SystemServiceRegistry$26;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$27;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$27;->createService(Landroid/app/ContextImpl;)Landroid/net/NetworkPolicyManager;
+HSPLandroid/app/SystemServiceRegistry$27;->createService(Landroid/app/ContextImpl;)Landroid/hardware/display/ColorDisplayManager;
 HSPLandroid/app/SystemServiceRegistry$27;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$27;->getService(Landroid/app/ContextImpl;)Landroid/view/inputmethod/InputMethodManager;
+HSPLandroid/app/SystemServiceRegistry$27;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$28;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$28;->createService(Landroid/app/ContextImpl;)Landroid/app/NotificationManager;
-HSPLandroid/app/SystemServiceRegistry$28;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$28;->getService(Landroid/app/ContextImpl;)Landroid/view/inputmethod/InputMethodManager;
+HSPLandroid/app/SystemServiceRegistry$28;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$29;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$29;->createService(Landroid/app/ContextImpl;)Landroid/app/KeyguardManager;
+HSPLandroid/app/SystemServiceRegistry$29;->createService(Landroid/app/ContextImpl;)Landroid/view/textservice/TextServicesManager;
+HSPLandroid/app/SystemServiceRegistry$29;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$2;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$2;->createService(Landroid/app/ContextImpl;)Landroid/view/accessibility/CaptioningManager;
-HSPLandroid/app/SystemServiceRegistry$2;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$30;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$30;->createService(Landroid/app/ContextImpl;)Landroid/os/PowerManager;
+HSPLandroid/app/SystemServiceRegistry$30;->createService(Landroid/app/ContextImpl;)Landroid/app/KeyguardManager;
+HSPLandroid/app/SystemServiceRegistry$30;->createService(Landroid/app/ContextImpl;)Landroid/view/LayoutInflater;
 HSPLandroid/app/SystemServiceRegistry$30;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$31;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$31;->createService(Landroid/app/ContextImpl;)Landroid/location/LocationManager;
+HSPLandroid/app/SystemServiceRegistry$31;->createService(Landroid/app/ContextImpl;)Landroid/view/LayoutInflater;
+HSPLandroid/app/SystemServiceRegistry$31;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$32;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Landroid/app/SearchManager;
+HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Landroid/location/LocationManager;
+HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Landroid/net/NetworkPolicyManager;
 HSPLandroid/app/SystemServiceRegistry$32;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$33;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$33;->createService(Landroid/app/ContextImpl;)Landroid/hardware/SensorManager;
+HSPLandroid/app/SystemServiceRegistry$33;->createService(Landroid/app/ContextImpl;)Landroid/app/NotificationManager;
+HSPLandroid/app/SystemServiceRegistry$33;->createService(Landroid/app/ContextImpl;)Landroid/net/NetworkPolicyManager;
 HSPLandroid/app/SystemServiceRegistry$33;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$34;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Landroid/app/NotificationManager;
+HSPLandroid/app/SystemServiceRegistry$34;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$35;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$35;->createService(Landroid/app/ContextImpl;)Landroid/app/StatusBarManager;
+HSPLandroid/app/SystemServiceRegistry$35;->createService(Landroid/app/ContextImpl;)Landroid/os/PowerManager;
 HSPLandroid/app/SystemServiceRegistry$35;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$36;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$36;->createService(Landroid/app/ContextImpl;)Landroid/os/storage/StorageManager;
+HSPLandroid/app/SystemServiceRegistry$36;->createService(Landroid/app/ContextImpl;)Landroid/os/PowerManager;
 HSPLandroid/app/SystemServiceRegistry$36;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$37;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$37;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/StorageStatsManager;
-HSPLandroid/app/SystemServiceRegistry$37;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$38;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$38;->createService(Landroid/app/ContextImpl;)Landroid/os/SystemUpdateManager;
+HSPLandroid/app/SystemServiceRegistry$38;->createService(Landroid/app/ContextImpl;)Landroid/hardware/SensorManager;
 HSPLandroid/app/SystemServiceRegistry$38;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$39;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$39;->createService(Landroid/app/ContextImpl;)Landroid/telephony/TelephonyManager;
+HSPLandroid/app/SystemServiceRegistry$39;->createService(Landroid/app/ContextImpl;)Landroid/hardware/SensorManager;
 HSPLandroid/app/SystemServiceRegistry$39;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$3;-><init>()V
 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/telephony/SubscriptionManager;
-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/telephony/CarrierConfigManager;
+HSPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Landroid/app/StatusBarManager;
 HSPLandroid/app/SystemServiceRegistry$41;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$42;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$42;->createService(Landroid/app/ContextImpl;)Landroid/telecom/TelecomManager;
+HSPLandroid/app/SystemServiceRegistry$42;->createService(Landroid/app/ContextImpl;)Landroid/app/StatusBarManager;
+HSPLandroid/app/SystemServiceRegistry$42;->createService(Landroid/app/ContextImpl;)Landroid/os/storage/StorageManager;
 HSPLandroid/app/SystemServiceRegistry$42;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$43;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$43;->createService(Landroid/app/ContextImpl;)Landroid/telephony/euicc/EuiccManager;
+HSPLandroid/app/SystemServiceRegistry$43;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/StorageStatsManager;
+HSPLandroid/app/SystemServiceRegistry$43;->createService(Landroid/app/ContextImpl;)Landroid/os/storage/StorageManager;
 HSPLandroid/app/SystemServiceRegistry$43;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$44;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$44;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/StorageStatsManager;
+HSPLandroid/app/SystemServiceRegistry$44;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$45;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$45;->createService(Landroid/app/ContextImpl;)Landroid/app/UiModeManager;
+HSPLandroid/app/SystemServiceRegistry$45;->createService(Landroid/app/ContextImpl;)Landroid/os/SystemUpdateManager;
+HSPLandroid/app/SystemServiceRegistry$45;->createService(Landroid/app/ContextImpl;)Landroid/telephony/TelephonyManager;
 HSPLandroid/app/SystemServiceRegistry$45;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$46;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$46;->createService(Landroid/app/ContextImpl;)Landroid/hardware/usb/UsbManager;
+HSPLandroid/app/SystemServiceRegistry$46;->createService(Landroid/app/ContextImpl;)Landroid/telephony/SubscriptionManager;
+HSPLandroid/app/SystemServiceRegistry$46;->createService(Landroid/app/ContextImpl;)Landroid/telephony/TelephonyManager;
 HSPLandroid/app/SystemServiceRegistry$46;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$47;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$47;->createService(Landroid/app/ContextImpl;)Landroid/telephony/SubscriptionManager;
+HSPLandroid/app/SystemServiceRegistry$47;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$48;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$48;->createService(Landroid/app/ContextImpl;)Landroid/os/Vibrator;
+HSPLandroid/app/SystemServiceRegistry$48;->createService(Landroid/app/ContextImpl;)Landroid/telephony/CarrierConfigManager;
 HSPLandroid/app/SystemServiceRegistry$48;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$49;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$49;->createService(Landroid/app/ContextImpl;)Landroid/app/WallpaperManager;
+HSPLandroid/app/SystemServiceRegistry$49;->createService(Landroid/app/ContextImpl;)Landroid/telecom/TelecomManager;
+HSPLandroid/app/SystemServiceRegistry$49;->createService(Landroid/app/ContextImpl;)Landroid/telephony/CarrierConfigManager;
 HSPLandroid/app/SystemServiceRegistry$49;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$4;-><init>()V
 HSPLandroid/app/SystemServiceRegistry$4;->createService(Landroid/app/ContextImpl;)Landroid/app/ActivityManager;
 HSPLandroid/app/SystemServiceRegistry$4;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$50;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$50;->createService(Landroid/app/ContextImpl;)Landroid/telecom/TelecomManager;
+HSPLandroid/app/SystemServiceRegistry$50;->createService(Landroid/app/ContextImpl;)Landroid/telephony/euicc/EuiccManager;
+HSPLandroid/app/SystemServiceRegistry$50;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$51;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$51;->createService(Landroid/app/ContextImpl;)Landroid/net/wifi/WifiManager;
+HSPLandroid/app/SystemServiceRegistry$51;->createService(Landroid/app/ContextImpl;)Landroid/telephony/euicc/EuiccManager;
 HSPLandroid/app/SystemServiceRegistry$51;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$52;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$52;->createService()Landroid/net/wifi/p2p/WifiP2pManager;
-HSPLandroid/app/SystemServiceRegistry$52;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$52;->createService(Landroid/app/ContextImpl;)Landroid/app/UiModeManager;
+HSPLandroid/app/SystemServiceRegistry$52;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$53;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$53;->createService(Landroid/app/ContextImpl;)Landroid/app/UiModeManager;
+HSPLandroid/app/SystemServiceRegistry$53;->createService(Landroid/app/ContextImpl;)Landroid/hardware/usb/UsbManager;
+HSPLandroid/app/SystemServiceRegistry$53;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$54;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$54;->createService(Landroid/app/ContextImpl;)Landroid/hardware/usb/UsbManager;
+HSPLandroid/app/SystemServiceRegistry$54;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$55;-><init>()V
 HSPLandroid/app/SystemServiceRegistry$56;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$56;->createService(Landroid/app/ContextImpl;)Landroid/os/Vibrator;
+HSPLandroid/app/SystemServiceRegistry$56;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$57;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$57;->createService(Landroid/app/ContextImpl;)Landroid/app/WallpaperManager;
+HSPLandroid/app/SystemServiceRegistry$57;->createService(Landroid/app/ContextImpl;)Landroid/os/Vibrator;
+HSPLandroid/app/SystemServiceRegistry$57;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$58;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$58;->createService(Landroid/app/ContextImpl;)Landroid/view/WindowManager;
+HSPLandroid/app/SystemServiceRegistry$58;->createService(Landroid/app/ContextImpl;)Landroid/app/WallpaperManager;
 HSPLandroid/app/SystemServiceRegistry$58;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$59;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$59;->createService(Landroid/app/ContextImpl;)Landroid/os/UserManager;
+HSPLandroid/app/SystemServiceRegistry$59;->createService(Landroid/app/ContextImpl;)Landroid/net/wifi/WifiManager;
 HSPLandroid/app/SystemServiceRegistry$59;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$5;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$5;->createService(Landroid/app/ContextImpl;)Landroid/app/AlarmManager;
+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/app/ContextImpl;)Landroid/app/AppOpsManager;
+HSPLandroid/app/SystemServiceRegistry$60;->createService()Landroid/net/wifi/p2p/WifiP2pManager;
+HSPLandroid/app/SystemServiceRegistry$60;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$60;->createService(Landroid/app/ContextImpl;)Landroid/net/wifi/WifiManager;
 HSPLandroid/app/SystemServiceRegistry$60;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$61;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$61;->createService()Landroid/net/wifi/p2p/WifiP2pManager;
+HSPLandroid/app/SystemServiceRegistry$61;->createService()Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$62;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$62;->createService(Landroid/app/ContextImpl;)Landroid/content/pm/LauncherApps;
-HSPLandroid/app/SystemServiceRegistry$62;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$63;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$63;->createService(Landroid/app/ContextImpl;)Landroid/content/RestrictionsManager;
+HSPLandroid/app/SystemServiceRegistry$63;->createService(Landroid/app/ContextImpl;)Landroid/net/wifi/WifiScanner;
 HSPLandroid/app/SystemServiceRegistry$63;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$64;-><init>()V
 HSPLandroid/app/SystemServiceRegistry$65;-><init>()V
 HSPLandroid/app/SystemServiceRegistry$66;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$66;->createService(Landroid/app/ContextImpl;)Landroid/view/WindowManager;
+HSPLandroid/app/SystemServiceRegistry$66;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$67;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$67;->createService(Landroid/app/ContextImpl;)Landroid/media/session/MediaSessionManager;
+HSPLandroid/app/SystemServiceRegistry$67;->createService(Landroid/app/ContextImpl;)Landroid/os/UserManager;
+HSPLandroid/app/SystemServiceRegistry$67;->createService(Landroid/app/ContextImpl;)Landroid/view/WindowManager;
 HSPLandroid/app/SystemServiceRegistry$67;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$68;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$68;->createService()Landroid/app/trust/TrustManager;
-HSPLandroid/app/SystemServiceRegistry$68;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$68;->createService(Landroid/app/ContextImpl;)Landroid/app/AppOpsManager;
+HSPLandroid/app/SystemServiceRegistry$68;->createService(Landroid/app/ContextImpl;)Landroid/os/UserManager;
+HSPLandroid/app/SystemServiceRegistry$68;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$69;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$69;->createService(Landroid/app/ContextImpl;)Landroid/hardware/fingerprint/FingerprintManager;
+HSPLandroid/app/SystemServiceRegistry$69;->createService(Landroid/app/ContextImpl;)Landroid/app/AppOpsManager;
+HSPLandroid/app/SystemServiceRegistry$69;->createService(Landroid/app/ContextImpl;)Landroid/hardware/camera2/CameraManager;
 HSPLandroid/app/SystemServiceRegistry$69;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$6;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$6;->createService(Landroid/app/ContextImpl;)Landroid/media/AudioManager;
-HSPLandroid/app/SystemServiceRegistry$6;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 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/net/NetworkScoreManager;
+HSPLandroid/app/SystemServiceRegistry$71;->createService(Landroid/app/ContextImpl;)Landroid/content/RestrictionsManager;
 HSPLandroid/app/SystemServiceRegistry$71;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$72;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$72;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/UsageStatsManager;
+HSPLandroid/app/SystemServiceRegistry$72;->createService(Landroid/app/ContextImpl;)Landroid/content/RestrictionsManager;
 HSPLandroid/app/SystemServiceRegistry$72;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$73;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$73;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/NetworkStatsManager;
+HSPLandroid/app/SystemServiceRegistry$73;->createService(Landroid/app/ContextImpl;)Landroid/print/PrintManager;
 HSPLandroid/app/SystemServiceRegistry$73;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$74;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$74;->createService()Landroid/app/job/JobScheduler;
-HSPLandroid/app/SystemServiceRegistry$74;->createService()Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$75;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$75;->createService()Landroid/service/persistentdata/PersistentDataBlockManager;
-HSPLandroid/app/SystemServiceRegistry$75;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$75;->createService(Landroid/app/ContextImpl;)Landroid/media/session/MediaSessionManager;
+HSPLandroid/app/SystemServiceRegistry$75;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$76;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$76;->createService()Landroid/app/trust/TrustManager;
+HSPLandroid/app/SystemServiceRegistry$76;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$76;->createService(Landroid/app/ContextImpl;)Landroid/media/session/MediaSessionManager;
+HSPLandroid/app/SystemServiceRegistry$76;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$77;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$77;->createService()Landroid/app/trust/TrustManager;
+HSPLandroid/app/SystemServiceRegistry$77;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$77;->createService(Landroid/app/ContextImpl;)Landroid/hardware/fingerprint/FingerprintManager;
+HSPLandroid/app/SystemServiceRegistry$77;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$78;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$78;->createService(Landroid/app/ContextImpl;)Landroid/appwidget/AppWidgetManager;
+HSPLandroid/app/SystemServiceRegistry$78;->createService(Landroid/app/ContextImpl;)Landroid/hardware/fingerprint/FingerprintManager;
 HSPLandroid/app/SystemServiceRegistry$78;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$79;-><init>()V
 HSPLandroid/app/SystemServiceRegistry$7;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$7;->createService(Landroid/app/ContextImpl;)Landroid/media/MediaRouter;
+HSPLandroid/app/SystemServiceRegistry$7;->createService(Landroid/app/ContextImpl;)Landroid/app/AlarmManager;
 HSPLandroid/app/SystemServiceRegistry$7;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$80;-><init>()V
 HSPLandroid/app/SystemServiceRegistry$81;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$81;->createService(Landroid/app/ContextImpl;)Landroid/os/HardwarePropertiesManager;
+HSPLandroid/app/SystemServiceRegistry$81;->createService(Landroid/app/ContextImpl;)Landroid/hardware/biometrics/BiometricManager;
 HSPLandroid/app/SystemServiceRegistry$81;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$82;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$82;->createService(Landroid/app/ContextImpl;)Landroid/media/soundtrigger/SoundTriggerManager;
+HSPLandroid/app/SystemServiceRegistry$82;->createService(Landroid/app/ContextImpl;)Landroid/net/NetworkScoreManager;
 HSPLandroid/app/SystemServiceRegistry$82;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$83;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$83;->createService(Landroid/app/ContextImpl;)Landroid/content/pm/ShortcutManager;
+HSPLandroid/app/SystemServiceRegistry$83;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/UsageStatsManager;
+HSPLandroid/app/SystemServiceRegistry$83;->createService(Landroid/app/ContextImpl;)Landroid/net/NetworkScoreManager;
 HSPLandroid/app/SystemServiceRegistry$83;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$84;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$84;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/NetworkStatsManager;
+HSPLandroid/app/SystemServiceRegistry$84;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/UsageStatsManager;
+HSPLandroid/app/SystemServiceRegistry$84;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$85;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$85;->createService(Landroid/app/ContextImpl;)Landroid/os/health/SystemHealthManager;
+HSPLandroid/app/SystemServiceRegistry$85;->createService()Landroid/app/job/JobScheduler;
+HSPLandroid/app/SystemServiceRegistry$85;->createService()Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$85;->createService(Landroid/app/ContextImpl;)Landroid/app/usage/NetworkStatsManager;
 HSPLandroid/app/SystemServiceRegistry$85;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$86;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$86;->createService()Landroid/app/job/JobScheduler;
+HSPLandroid/app/SystemServiceRegistry$86;->createService()Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$87;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$87;->createService()Landroid/service/persistentdata/PersistentDataBlockManager;
+HSPLandroid/app/SystemServiceRegistry$87;->createService()Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$88;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$88;->createService(Landroid/app/ContextImpl;)Landroid/view/autofill/AutofillManager;
-HSPLandroid/app/SystemServiceRegistry$88;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$89;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$89;->createService(Landroid/app/ContextImpl;)Landroid/appwidget/AppWidgetManager;
+HSPLandroid/app/SystemServiceRegistry$89;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$8;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$8;->createService(Landroid/app/ContextImpl;)Landroid/bluetooth/BluetoothManager;
+HSPLandroid/app/SystemServiceRegistry$8;->createService(Landroid/app/ContextImpl;)Landroid/media/AudioManager;
 HSPLandroid/app/SystemServiceRegistry$8;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$90;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$90;->createService(Landroid/app/ContextImpl;)Landroid/appwidget/AppWidgetManager;
+HSPLandroid/app/SystemServiceRegistry$90;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$91;-><init>()V
 HSPLandroid/app/SystemServiceRegistry$92;-><init>()V
-HSPLandroid/app/SystemServiceRegistry$92;->createService(Landroid/app/ContextImpl;)Landroid/app/slice/SliceManager;
-HSPLandroid/app/SystemServiceRegistry$92;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$93;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$94;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$94;->createService(Landroid/app/ContextImpl;)Landroid/content/pm/ShortcutManager;
+HSPLandroid/app/SystemServiceRegistry$94;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$95;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$95;->createService(Landroid/app/ContextImpl;)Landroid/content/pm/ShortcutManager;
+HSPLandroid/app/SystemServiceRegistry$95;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
+HSPLandroid/app/SystemServiceRegistry$96;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$97;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$98;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$99;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$99;->createService(Landroid/app/ContextImpl;)Landroid/hardware/location/ContextHubManager;
+HSPLandroid/app/SystemServiceRegistry$99;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$9;-><init>()V
+HSPLandroid/app/SystemServiceRegistry$9;->createService(Landroid/app/ContextImpl;)Landroid/media/MediaRouter;
+HSPLandroid/app/SystemServiceRegistry$9;->createService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$CachedServiceFetcher;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
-HSPLandroid/app/SystemServiceRegistry$StaticApplicationContextServiceFetcher;->createService(Landroid/content/Context;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$StaticApplicationContextServiceFetcher;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry$StaticServiceFetcher;->getService(Landroid/app/ContextImpl;)Ljava/lang/Object;
 HSPLandroid/app/SystemServiceRegistry;->registerService(Ljava/lang/String;Ljava/lang/Class;Landroid/app/SystemServiceRegistry$ServiceFetcher;)V
+HSPLandroid/app/TaskInfo;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/app/TaskInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/TaskStackListener;-><init>()V
-HSPLandroid/app/TaskStackListener;->onTaskDescriptionChanged(ILandroid/app/ActivityManager$TaskDescription;)V
 HSPLandroid/app/UiModeManager;->getCurrentModeType()I
+HSPLandroid/app/UiModeManager;->getNightMode()I
+HSPLandroid/app/UiModeManager;->setNightMode(I)V
+HSPLandroid/app/UriGrantsManager$1;-><init>()V
+HSPLandroid/app/UriGrantsManager$1;->create()Landroid/app/IUriGrantsManager;
+HSPLandroid/app/UriGrantsManager$1;->create()Ljava/lang/Object;
+HSPLandroid/app/UriGrantsManager;->getService()Landroid/app/IUriGrantsManager;
 HSPLandroid/app/UserSwitchObserver;-><init>()V
 HSPLandroid/app/UserSwitchObserver;->onLockedBootComplete(I)V
 HSPLandroid/app/WallpaperColors$1;-><init>()V
@@ -15503,31 +15354,17 @@
 HSPLandroid/app/WallpaperColors;->getMainColors()Ljava/util/List;
 HSPLandroid/app/WallpaperColors;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/WallpaperInfo$1;-><init>()V
-HSPLandroid/app/WallpaperInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/WallpaperInfo;
-HSPLandroid/app/WallpaperInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/WallpaperInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ResolveInfo;)V
-HSPLandroid/app/WallpaperInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/app/WallpaperInfo;->getComponent()Landroid/content/ComponentName;
+HSPLandroid/app/WallpaperInfo;->getPackageName()Ljava/lang/String;
 HSPLandroid/app/WallpaperInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/WallpaperManager$Globals;->addOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/os/Handler;I)V
 HSPLandroid/app/WallpaperManager$Globals;->forgetLoadedWallpaper()V
-HSPLandroid/app/WallpaperManager$Globals;->getWallpaperColors(II)Landroid/app/WallpaperColors;
-HSPLandroid/app/WallpaperManager$OnColorsChangedListener;->onColorsChanged(Landroid/app/WallpaperColors;I)V
-HSPLandroid/app/WallpaperManager;->addOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/os/Handler;)V
-HSPLandroid/app/WallpaperManager;->addOnColorsChangedListener(Landroid/app/WallpaperManager$OnColorsChangedListener;Landroid/os/Handler;I)V
+HSPLandroid/app/WallpaperManager$Globals;->getWallpaperColors(III)Landroid/app/WallpaperColors;
 HSPLandroid/app/WallpaperManager;->getDefaultWallpaperComponent(Landroid/content/Context;)Landroid/content/ComponentName;
-HSPLandroid/app/WallpaperManager;->getDesiredMinimumHeight()I
-HSPLandroid/app/WallpaperManager;->getDesiredMinimumWidth()I
-HSPLandroid/app/WallpaperManager;->getInstance(Landroid/content/Context;)Landroid/app/WallpaperManager;
 HSPLandroid/app/WallpaperManager;->getWallpaperColors(I)Landroid/app/WallpaperColors;
 HSPLandroid/app/WallpaperManager;->getWallpaperColors(II)Landroid/app/WallpaperColors;
 HSPLandroid/app/WallpaperManager;->getWallpaperId(I)I
 HSPLandroid/app/WallpaperManager;->getWallpaperIdForUser(II)I
-HSPLandroid/app/WallpaperManager;->getWallpaperInfo()Landroid/app/WallpaperInfo;
 HSPLandroid/app/WallpaperManager;->initGlobals(Landroid/app/IWallpaperManager;Landroid/os/Looper;)V
-HSPLandroid/app/WallpaperManager;->sendWallpaperCommand(Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)V
-HSPLandroid/app/WallpaperManager;->setWallpaperOffsetSteps(FF)V
-HSPLandroid/app/WallpaperManager;->setWallpaperOffsets(Landroid/os/IBinder;FF)V
 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;
@@ -15540,15 +15377,20 @@
 HSPLandroid/app/WindowConfiguration;->getActivityType()I
 HSPLandroid/app/WindowConfiguration;->getAppBounds()Landroid/graphics/Rect;
 HSPLandroid/app/WindowConfiguration;->getBounds()Landroid/graphics/Rect;
+HSPLandroid/app/WindowConfiguration;->getRotation()I
 HSPLandroid/app/WindowConfiguration;->getWindowingMode()I
 HSPLandroid/app/WindowConfiguration;->hasWindowDecorCaption()Z
 HSPLandroid/app/WindowConfiguration;->hasWindowShadow()Z
 HSPLandroid/app/WindowConfiguration;->isAlwaysOnTop()Z
+HSPLandroid/app/WindowConfiguration;->persistTaskBounds()Z
 HSPLandroid/app/WindowConfiguration;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/app/WindowConfiguration;->readFromProto(Landroid/util/proto/ProtoInputStream;J)V
 HSPLandroid/app/WindowConfiguration;->setActivityType(I)V
 HSPLandroid/app/WindowConfiguration;->setAppBounds(IIII)V
 HSPLandroid/app/WindowConfiguration;->setAppBounds(Landroid/graphics/Rect;)V
 HSPLandroid/app/WindowConfiguration;->setBounds(Landroid/graphics/Rect;)V
+HSPLandroid/app/WindowConfiguration;->setDisplayWindowingMode(I)V
+HSPLandroid/app/WindowConfiguration;->setRotation(I)V
 HSPLandroid/app/WindowConfiguration;->setTo(Landroid/app/WindowConfiguration;)V
 HSPLandroid/app/WindowConfiguration;->setToDefaults()V
 HSPLandroid/app/WindowConfiguration;->setWindowingMode(I)V
@@ -15561,6 +15403,7 @@
 HSPLandroid/app/WindowConfiguration;->windowingModeToString(I)Ljava/lang/String;
 HSPLandroid/app/WindowConfiguration;->windowsAreScaleable()Z
 HSPLandroid/app/WindowConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/app/WindowConfiguration;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
 HSPLandroid/app/admin/DeviceAdminInfo$1;-><init>()V
 HSPLandroid/app/admin/DeviceAdminInfo$PolicyInfo;-><init>(ILjava/lang/String;II)V
 HSPLandroid/app/admin/DeviceAdminInfo$PolicyInfo;-><init>(ILjava/lang/String;IIII)V
@@ -15569,481 +15412,105 @@
 HSPLandroid/app/admin/DeviceAdminInfo;->getPackageName()Ljava/lang/String;
 HSPLandroid/app/admin/DeviceAdminInfo;->readPoliciesFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
 HSPLandroid/app/admin/DevicePolicyCache;->getInstance()Landroid/app/admin/DevicePolicyCache;
-HSPLandroid/app/admin/DevicePolicyCache;->getScreenCaptureDisabled(I)Z
 HSPLandroid/app/admin/DevicePolicyManager;->getActiveAdmins()Ljava/util/List;
 HSPLandroid/app/admin/DevicePolicyManager;->getActiveAdminsAsUser(I)Ljava/util/List;
-HSPLandroid/app/admin/DevicePolicyManager;->getCameraDisabled(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/DevicePolicyManager;->getCameraDisabled(Landroid/content/ComponentName;I)Z
 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
 HSPLandroid/app/admin/DevicePolicyManager;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;I)I
+HSPLandroid/app/admin/DevicePolicyManager;->getPasswordQuality(Landroid/content/ComponentName;)I
+HSPLandroid/app/admin/DevicePolicyManager;->getPasswordQuality(Landroid/content/ComponentName;I)I
 HSPLandroid/app/admin/DevicePolicyManager;->getProfileOwner()Landroid/content/ComponentName;
 HSPLandroid/app/admin/DevicePolicyManager;->getProfileOwnerAsUser(I)Landroid/content/ComponentName;
 HSPLandroid/app/admin/DevicePolicyManager;->getStorageEncryptionStatus()I
 HSPLandroid/app/admin/DevicePolicyManager;->getStorageEncryptionStatus(I)I
 HSPLandroid/app/admin/DevicePolicyManager;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
-HSPLandroid/app/admin/DevicePolicyManager;->isActivePasswordSufficient()Z
-HSPLandroid/app/admin/DevicePolicyManager;->isAdminActive(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/DevicePolicyManager;->isAdminActiveAsUser(Landroid/content/ComponentName;I)Z
+HSPLandroid/app/admin/DevicePolicyManager;->isDeviceManaged()Z
 HSPLandroid/app/admin/DevicePolicyManager;->isDeviceOwnerApp(Ljava/lang/String;)Z
+HSPLandroid/app/admin/DevicePolicyManager;->isDeviceOwnerAppOnAnyUser(Ljava/lang/String;)Z
 HSPLandroid/app/admin/DevicePolicyManager;->isDeviceOwnerAppOnCallingUser(Ljava/lang/String;)Z
-HSPLandroid/app/admin/DevicePolicyManager;->isLockTaskPermitted(Ljava/lang/String;)Z
 HSPLandroid/app/admin/DevicePolicyManager;->isProfileOwnerApp(Ljava/lang/String;)Z
-HSPLandroid/app/admin/DevicePolicyManager;->isProvisioningAllowed(Ljava/lang/String;)Z
+HSPLandroid/app/admin/DevicePolicyManager;->isUninstallInQueue(Ljava/lang/String;)Z
 HSPLandroid/app/admin/DevicePolicyManager;->myUserId()I
-HSPLandroid/app/admin/DevicePolicyManagerInternal$OnCrossProfileWidgetProvidersChangeListener;->onCrossProfileWidgetProvidersChanged(ILjava/util/List;)V
-HSPLandroid/app/admin/DevicePolicyManagerInternal;->addOnCrossProfileWidgetProvidersChangeListener(Landroid/app/admin/DevicePolicyManagerInternal$OnCrossProfileWidgetProvidersChangeListener;)V
-HSPLandroid/app/admin/DevicePolicyManagerInternal;->canUserHaveUntrustedCredentialReset(I)Z
-HSPLandroid/app/admin/DevicePolicyManagerInternal;->createShowAdminSupportIntent(IZ)Landroid/content/Intent;
-HSPLandroid/app/admin/DevicePolicyManagerInternal;->createUserRestrictionSupportIntent(ILjava/lang/String;)Landroid/content/Intent;
-HSPLandroid/app/admin/DevicePolicyManagerInternal;->getCrossProfileWidgetProviders(I)Ljava/util/List;
-HSPLandroid/app/admin/DevicePolicyManagerInternal;->getDevicePolicyCache()Landroid/app/admin/DevicePolicyCache;
-HSPLandroid/app/admin/DevicePolicyManagerInternal;->getPrintingDisabledReasonForUser(I)Ljava/lang/CharSequence;
-HSPLandroid/app/admin/DevicePolicyManagerInternal;->isActiveAdminWithPolicy(II)Z
-HSPLandroid/app/admin/DevicePolicyManagerInternal;->isUserAffiliatedWithDevice(I)Z
-HSPLandroid/app/admin/DevicePolicyManagerInternal;->reportSeparateProfileChallengeChanged(I)V
+HSPLandroid/app/admin/DevicePolicyManager;->packageHasActiveAdmins(Ljava/lang/String;)Z
+HSPLandroid/app/admin/DevicePolicyManager;->packageHasActiveAdmins(Ljava/lang/String;I)Z
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getActiveAdmins(I)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getCameraDisabled(Landroid/content/ComponentName;I)Z
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getDeviceOwnerComponent(Z)Landroid/content/ComponentName;
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)I
+HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getPasswordQuality(Landroid/content/ComponentName;IZ)I
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getProfileOwner(I)Landroid/content/ComponentName;
+HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getProfileOwnerAsUser(I)Landroid/content/ComponentName;
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getStorageEncryptionStatus(Ljava/lang/String;I)I
 HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isActivePasswordSufficient(IZ)Z
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isAdminActive(Landroid/content/ComponentName;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isLockTaskPermitted(Ljava/lang/String;)Z
-HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isProvisioningAllowed(Ljava/lang/String;Ljava/lang/String;)Z
+HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->hasDeviceOwner()Z
+HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->isUninstallInQueue(Ljava/lang/String;)Z
+HSPLandroid/app/admin/IDevicePolicyManager$Stub$Proxy;->packageHasActiveAdmins(Ljava/lang/String;I)Z
 HSPLandroid/app/admin/IDevicePolicyManager$Stub;-><init>()V
-# HSPLandroid/app/admin/IDevicePolicyManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z b/76145463
-HSPLandroid/app/admin/IDevicePolicyManager;->addCrossProfileIntentFilter(Landroid/content/ComponentName;Landroid/content/IntentFilter;I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->addCrossProfileWidgetProvider(Landroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->addOverrideApn(Landroid/content/ComponentName;Landroid/telephony/data/ApnSetting;)I
-HSPLandroid/app/admin/IDevicePolicyManager;->addPersistentPreferredActivity(Landroid/content/ComponentName;Landroid/content/IntentFilter;Landroid/content/ComponentName;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->approveCaCert(Ljava/lang/String;IZ)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->bindDeviceAdminServiceAsUser(Landroid/content/ComponentName;Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Landroid/app/IServiceConnection;II)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->checkProvisioningPreCondition(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/app/admin/IDevicePolicyManager;->choosePrivateKeyAlias(ILandroid/net/Uri;Ljava/lang/String;Landroid/os/IBinder;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->clearApplicationUserData(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->clearCrossProfileIntentFilters(Landroid/content/ComponentName;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->clearDeviceOwner(Ljava/lang/String;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->clearPackagePersistentPreferredActivities(Landroid/content/ComponentName;Ljava/lang/String;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->clearProfileOwner(Landroid/content/ComponentName;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->clearResetPasswordToken(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->clearSystemUpdatePolicyFreezePeriodRecord()V
-HSPLandroid/app/admin/IDevicePolicyManager;->createAdminSupportIntent(Ljava/lang/String;)Landroid/content/Intent;
-HSPLandroid/app/admin/IDevicePolicyManager;->createAndManageUser(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/PersistableBundle;I)Landroid/os/UserHandle;
-HSPLandroid/app/admin/IDevicePolicyManager;->enableSystemApp(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->enableSystemAppWithIntent(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;)I
-HSPLandroid/app/admin/IDevicePolicyManager;->enforceCanManageCaCerts(Landroid/content/ComponentName;Ljava/lang/String;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->forceRemoveActiveAdmin(Landroid/content/ComponentName;I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->forceSecurityLogs()J
-HSPLandroid/app/admin/IDevicePolicyManager;->forceUpdateUserSetupComplete()V
-HSPLandroid/app/admin/IDevicePolicyManager;->generateKeyPair(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/security/keystore/ParcelableKeyGenParameterSpec;ILandroid/security/keymaster/KeymasterCertificateChain;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->getAccountTypesWithManagementDisabled()[Ljava/lang/String;
-HSPLandroid/app/admin/IDevicePolicyManager;->getAccountTypesWithManagementDisabledAsUser(I)[Ljava/lang/String;
-HSPLandroid/app/admin/IDevicePolicyManager;->getActiveAdmins(I)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getAffiliationIds(Landroid/content/ComponentName;)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getAlwaysOnVpnPackage(Landroid/content/ComponentName;)Ljava/lang/String;
-HSPLandroid/app/admin/IDevicePolicyManager;->getApplicationRestrictions(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;
-HSPLandroid/app/admin/IDevicePolicyManager;->getApplicationRestrictionsManagingPackage(Landroid/content/ComponentName;)Ljava/lang/String;
-HSPLandroid/app/admin/IDevicePolicyManager;->getAutoTimeRequired()Z
-HSPLandroid/app/admin/IDevicePolicyManager;->getBindDeviceAdminTargetUsers(Landroid/content/ComponentName;)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getBluetoothContactSharingDisabled(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->getBluetoothContactSharingDisabledForUser(I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->getCameraDisabled(Landroid/content/ComponentName;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->getCertInstallerPackage(Landroid/content/ComponentName;)Ljava/lang/String;
-HSPLandroid/app/admin/IDevicePolicyManager;->getCrossProfileCallerIdDisabled(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->getCrossProfileCallerIdDisabledForUser(I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->getCrossProfileContactsSearchDisabled(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->getCrossProfileContactsSearchDisabledForUser(I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->getCrossProfileWidgetProviders(Landroid/content/ComponentName;)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getCurrentFailedPasswordAttempts(IZ)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getDelegatePackages(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getDelegatedScopes(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getDeviceOwnerComponent(Z)Landroid/content/ComponentName;
-HSPLandroid/app/admin/IDevicePolicyManager;->getDeviceOwnerLockScreenInfo()Ljava/lang/CharSequence;
-HSPLandroid/app/admin/IDevicePolicyManager;->getDeviceOwnerName()Ljava/lang/String;
-HSPLandroid/app/admin/IDevicePolicyManager;->getDeviceOwnerOrganizationName()Ljava/lang/CharSequence;
-HSPLandroid/app/admin/IDevicePolicyManager;->getDeviceOwnerUserId()I
-HSPLandroid/app/admin/IDevicePolicyManager;->getDisallowedSystemApps(Landroid/content/ComponentName;ILjava/lang/String;)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getDoNotAskCredentialsOnBoot()Z
-HSPLandroid/app/admin/IDevicePolicyManager;->getEndUserSessionMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
-HSPLandroid/app/admin/IDevicePolicyManager;->getForceEphemeralUsers(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->getGlobalProxyAdmin(I)Landroid/content/ComponentName;
-HSPLandroid/app/admin/IDevicePolicyManager;->getKeepUninstalledPackages(Landroid/content/ComponentName;Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getLastBugReportRequestTime()J
-HSPLandroid/app/admin/IDevicePolicyManager;->getLastNetworkLogRetrievalTime()J
-HSPLandroid/app/admin/IDevicePolicyManager;->getLastSecurityLogRetrievalTime()J
-HSPLandroid/app/admin/IDevicePolicyManager;->getLockTaskFeatures(Landroid/content/ComponentName;)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getLockTaskPackages(Landroid/content/ComponentName;)[Ljava/lang/String;
-HSPLandroid/app/admin/IDevicePolicyManager;->getLongSupportMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
-HSPLandroid/app/admin/IDevicePolicyManager;->getLongSupportMessageForUser(Landroid/content/ComponentName;I)Ljava/lang/CharSequence;
-HSPLandroid/app/admin/IDevicePolicyManager;->getMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;IZ)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getMaximumTimeToLock(Landroid/content/ComponentName;IZ)J
-HSPLandroid/app/admin/IDevicePolicyManager;->getMeteredDataDisabledPackages(Landroid/content/ComponentName;)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getOrganizationColor(Landroid/content/ComponentName;)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getOrganizationColorForUser(I)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getOrganizationName(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
-HSPLandroid/app/admin/IDevicePolicyManager;->getOrganizationNameForUser(I)Ljava/lang/CharSequence;
-HSPLandroid/app/admin/IDevicePolicyManager;->getOverrideApns(Landroid/content/ComponentName;)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getOwnerInstalledCaCerts(Landroid/os/UserHandle;)Landroid/content/pm/StringParceledListSlice;
-HSPLandroid/app/admin/IDevicePolicyManager;->getPasswordExpiration(Landroid/content/ComponentName;IZ)J
-HSPLandroid/app/admin/IDevicePolicyManager;->getPasswordExpirationTimeout(Landroid/content/ComponentName;IZ)J
-HSPLandroid/app/admin/IDevicePolicyManager;->getPasswordHistoryLength(Landroid/content/ComponentName;IZ)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getPasswordMinimumLength(Landroid/content/ComponentName;IZ)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getPasswordMinimumLetters(Landroid/content/ComponentName;IZ)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getPasswordMinimumLowerCase(Landroid/content/ComponentName;IZ)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getPasswordMinimumNonLetter(Landroid/content/ComponentName;IZ)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getPasswordMinimumNumeric(Landroid/content/ComponentName;IZ)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getPasswordMinimumSymbols(Landroid/content/ComponentName;IZ)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getPasswordMinimumUpperCase(Landroid/content/ComponentName;IZ)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getPasswordQuality(Landroid/content/ComponentName;IZ)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getPendingSystemUpdate(Landroid/content/ComponentName;)Landroid/app/admin/SystemUpdateInfo;
-HSPLandroid/app/admin/IDevicePolicyManager;->getPermissionGrantState(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getPermissionPolicy(Landroid/content/ComponentName;)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getPermittedAccessibilityServices(Landroid/content/ComponentName;)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getPermittedAccessibilityServicesForUser(I)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getPermittedCrossProfileNotificationListeners(Landroid/content/ComponentName;)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getPermittedInputMethods(Landroid/content/ComponentName;)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getPermittedInputMethodsForCurrentUser()Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getProfileOwner(I)Landroid/content/ComponentName;
-HSPLandroid/app/admin/IDevicePolicyManager;->getProfileOwnerName(I)Ljava/lang/String;
-HSPLandroid/app/admin/IDevicePolicyManager;->getProfileWithMinimumFailedPasswordsForWipe(IZ)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getRemoveWarning(Landroid/content/ComponentName;Landroid/os/RemoteCallback;I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->getRequiredStrongAuthTimeout(Landroid/content/ComponentName;IZ)J
-HSPLandroid/app/admin/IDevicePolicyManager;->getRestrictionsProvider(I)Landroid/content/ComponentName;
-HSPLandroid/app/admin/IDevicePolicyManager;->getScreenCaptureDisabled(Landroid/content/ComponentName;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->getSecondaryUsers(Landroid/content/ComponentName;)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getShortSupportMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
-HSPLandroid/app/admin/IDevicePolicyManager;->getShortSupportMessageForUser(Landroid/content/ComponentName;I)Ljava/lang/CharSequence;
-HSPLandroid/app/admin/IDevicePolicyManager;->getStartUserSessionMessage(Landroid/content/ComponentName;)Ljava/lang/CharSequence;
-HSPLandroid/app/admin/IDevicePolicyManager;->getStorageEncryption(Landroid/content/ComponentName;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->getStorageEncryptionStatus(Ljava/lang/String;I)I
-HSPLandroid/app/admin/IDevicePolicyManager;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
-HSPLandroid/app/admin/IDevicePolicyManager;->getTransferOwnershipBundle()Landroid/os/PersistableBundle;
-HSPLandroid/app/admin/IDevicePolicyManager;->getTrustAgentConfiguration(Landroid/content/ComponentName;Landroid/content/ComponentName;IZ)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->getUserProvisioningState()I
-HSPLandroid/app/admin/IDevicePolicyManager;->getUserRestrictions(Landroid/content/ComponentName;)Landroid/os/Bundle;
-HSPLandroid/app/admin/IDevicePolicyManager;->getWifiMacAddress(Landroid/content/ComponentName;)Ljava/lang/String;
-HSPLandroid/app/admin/IDevicePolicyManager;->hasDeviceOwner()Z
-HSPLandroid/app/admin/IDevicePolicyManager;->hasGrantedPolicy(Landroid/content/ComponentName;II)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->hasUserSetupCompleted()Z
-HSPLandroid/app/admin/IDevicePolicyManager;->installCaCert(Landroid/content/ComponentName;Ljava/lang/String;[B)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->installExistingPackage(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->installKeyPair(Landroid/content/ComponentName;Ljava/lang/String;[B[B[BLjava/lang/String;ZZ)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isAccessibilityServicePermittedByAdmin(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isActivePasswordSufficient(IZ)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isAdminActive(Landroid/content/ComponentName;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isAffiliatedUser()Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isApplicationHidden(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isBackupServiceEnabled(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isCaCertApproved(Ljava/lang/String;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isCallerApplicationRestrictionsManagingPackage(Ljava/lang/String;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isCurrentInputMethodSetByOwner()Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isDeviceProvisioned()Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isDeviceProvisioningConfigApplied()Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isEphemeralUser(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isInputMethodPermittedByAdmin(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isLockTaskPermitted(Ljava/lang/String;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isLogoutEnabled()Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isManagedProfile(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isMasterVolumeMuted(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isMeteredDataDisabledPackageForUser(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isNetworkLoggingEnabled(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isNotificationListenerServicePermitted(Ljava/lang/String;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isOverrideApnEnabled(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isPackageSuspended(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isProfileActivePasswordSufficientForParent(I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isProvisioningAllowed(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isRemovingAdmin(Landroid/content/ComponentName;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isResetPasswordTokenActive(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isSecurityLoggingEnabled(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isSeparateProfileChallengeAllowed(I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isSystemOnlyUser(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isUninstallInQueue(Ljava/lang/String;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->isUsingUnifiedPassword(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->lockNow(IZ)V
-HSPLandroid/app/admin/IDevicePolicyManager;->logoutUser(Landroid/content/ComponentName;)I
-HSPLandroid/app/admin/IDevicePolicyManager;->notifyLockTaskModeChanged(ZLjava/lang/String;I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->notifyPendingSystemUpdate(Landroid/app/admin/SystemUpdateInfo;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->packageHasActiveAdmins(Ljava/lang/String;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->reboot(Landroid/content/ComponentName;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->removeActiveAdmin(Landroid/content/ComponentName;I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->removeCrossProfileWidgetProvider(Landroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->removeKeyPair(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->removeOverrideApn(Landroid/content/ComponentName;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->removeUser(Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->reportFailedFingerprintAttempt(I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->reportFailedPasswordAttempt(I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->reportKeyguardDismissed(I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->reportKeyguardSecured(I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->reportPasswordChanged(I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->reportSuccessfulFingerprintAttempt(I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->reportSuccessfulPasswordAttempt(I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->requestBugreport(Landroid/content/ComponentName;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->resetPassword(Ljava/lang/String;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->resetPasswordWithToken(Landroid/content/ComponentName;Ljava/lang/String;[BI)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->retrieveNetworkLogs(Landroid/content/ComponentName;J)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->retrievePreRebootSecurityLogs(Landroid/content/ComponentName;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/admin/IDevicePolicyManager;->retrieveSecurityLogs(Landroid/content/ComponentName;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/admin/IDevicePolicyManager;->setAccountManagementDisabled(Landroid/content/ComponentName;Ljava/lang/String;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setActiveAdmin(Landroid/content/ComponentName;ZI)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setActivePasswordState(Landroid/app/admin/PasswordMetrics;I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setAffiliationIds(Landroid/content/ComponentName;Ljava/util/List;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setAlwaysOnVpnPackage(Landroid/content/ComponentName;Ljava/lang/String;Z)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->setApplicationHidden(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Z)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->setApplicationRestrictions(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setApplicationRestrictionsManagingPackage(Landroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->setAutoTimeRequired(Landroid/content/ComponentName;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setBackupServiceEnabled(Landroid/content/ComponentName;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setBluetoothContactSharingDisabled(Landroid/content/ComponentName;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setCameraDisabled(Landroid/content/ComponentName;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setCertInstallerPackage(Landroid/content/ComponentName;Ljava/lang/String;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setCrossProfileCallerIdDisabled(Landroid/content/ComponentName;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setCrossProfileContactsSearchDisabled(Landroid/content/ComponentName;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setDefaultSmsApplication(Landroid/content/ComponentName;Ljava/lang/String;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setDelegatedScopes(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setDeviceOwner(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->setDeviceOwnerLockScreenInfo(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setDeviceProvisioningConfigApplied()V
-HSPLandroid/app/admin/IDevicePolicyManager;->setEndUserSessionMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setForceEphemeralUsers(Landroid/content/ComponentName;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setGlobalProxy(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)Landroid/content/ComponentName;
-HSPLandroid/app/admin/IDevicePolicyManager;->setGlobalSetting(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setKeepUninstalledPackages(Landroid/content/ComponentName;Ljava/lang/String;Ljava/util/List;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setKeyPairCertificate(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;[B[BZ)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->setKeyguardDisabled(Landroid/content/ComponentName;Z)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->setKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setLockTaskFeatures(Landroid/content/ComponentName;I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setLockTaskPackages(Landroid/content/ComponentName;[Ljava/lang/String;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setLogoutEnabled(Landroid/content/ComponentName;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setLongSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setMasterVolumeMuted(Landroid/content/ComponentName;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;IZ)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setMaximumTimeToLock(Landroid/content/ComponentName;JZ)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setMeteredDataDisabledPackages(Landroid/content/ComponentName;Ljava/util/List;)Ljava/util/List;
-HSPLandroid/app/admin/IDevicePolicyManager;->setNetworkLoggingEnabled(Landroid/content/ComponentName;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setOrganizationColor(Landroid/content/ComponentName;I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setOrganizationColorForUser(II)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setOrganizationName(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setOverrideApnsEnabled(Landroid/content/ComponentName;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setPackagesSuspended(Landroid/content/ComponentName;Ljava/lang/String;[Ljava/lang/String;Z)[Ljava/lang/String;
-HSPLandroid/app/admin/IDevicePolicyManager;->setPasswordExpirationTimeout(Landroid/content/ComponentName;JZ)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setPasswordHistoryLength(Landroid/content/ComponentName;IZ)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setPasswordMinimumLength(Landroid/content/ComponentName;IZ)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setPasswordMinimumLetters(Landroid/content/ComponentName;IZ)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setPasswordMinimumLowerCase(Landroid/content/ComponentName;IZ)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setPasswordMinimumNonLetter(Landroid/content/ComponentName;IZ)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setPasswordMinimumNumeric(Landroid/content/ComponentName;IZ)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setPasswordMinimumSymbols(Landroid/content/ComponentName;IZ)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setPasswordMinimumUpperCase(Landroid/content/ComponentName;IZ)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setPasswordQuality(Landroid/content/ComponentName;IZ)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setPermissionGrantState(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->setPermissionPolicy(Landroid/content/ComponentName;Ljava/lang/String;I)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setPermittedAccessibilityServices(Landroid/content/ComponentName;Ljava/util/List;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->setPermittedCrossProfileNotificationListeners(Landroid/content/ComponentName;Ljava/util/List;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->setPermittedInputMethods(Landroid/content/ComponentName;Ljava/util/List;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->setProfileEnabled(Landroid/content/ComponentName;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setProfileName(Landroid/content/ComponentName;Ljava/lang/String;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setProfileOwner(Landroid/content/ComponentName;Ljava/lang/String;I)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->setRecommendedGlobalProxy(Landroid/content/ComponentName;Landroid/net/ProxyInfo;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setRequiredStrongAuthTimeout(Landroid/content/ComponentName;JZ)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setResetPasswordToken(Landroid/content/ComponentName;[B)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->setRestrictionsProvider(Landroid/content/ComponentName;Landroid/content/ComponentName;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setScreenCaptureDisabled(Landroid/content/ComponentName;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setSecureSetting(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setSecurityLoggingEnabled(Landroid/content/ComponentName;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setShortSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setStartUserSessionMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setStatusBarDisabled(Landroid/content/ComponentName;Z)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->setStorageEncryption(Landroid/content/ComponentName;Z)I
-HSPLandroid/app/admin/IDevicePolicyManager;->setSystemSetting(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setSystemUpdatePolicy(Landroid/content/ComponentName;Landroid/app/admin/SystemUpdatePolicy;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setTime(Landroid/content/ComponentName;J)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->setTimeZone(Landroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->setTrustAgentConfiguration(Landroid/content/ComponentName;Landroid/content/ComponentName;Landroid/os/PersistableBundle;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setUserIcon(Landroid/content/ComponentName;Landroid/graphics/Bitmap;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setUserProvisioningState(II)V
-HSPLandroid/app/admin/IDevicePolicyManager;->setUserRestriction(Landroid/content/ComponentName;Ljava/lang/String;Z)V
-HSPLandroid/app/admin/IDevicePolicyManager;->startManagedQuickContact(Ljava/lang/String;JZJLandroid/content/Intent;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->startUserInBackground(Landroid/content/ComponentName;Landroid/os/UserHandle;)I
-HSPLandroid/app/admin/IDevicePolicyManager;->stopUser(Landroid/content/ComponentName;Landroid/os/UserHandle;)I
-HSPLandroid/app/admin/IDevicePolicyManager;->switchUser(Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->transferOwnership(Landroid/content/ComponentName;Landroid/content/ComponentName;Landroid/os/PersistableBundle;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->uninstallCaCerts(Landroid/content/ComponentName;Ljava/lang/String;[Ljava/lang/String;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->uninstallPackageWithActiveAdmins(Ljava/lang/String;)V
-HSPLandroid/app/admin/IDevicePolicyManager;->updateOverrideApn(Landroid/content/ComponentName;ILandroid/telephony/data/ApnSetting;)Z
-HSPLandroid/app/admin/IDevicePolicyManager;->wipeDataWithReason(ILjava/lang/String;)V
+HSPLandroid/app/admin/IDevicePolicyManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/admin/IDevicePolicyManager;
+HSPLandroid/app/admin/IDevicePolicyManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/app/admin/PasswordMetrics$1;-><init>()V
 HSPLandroid/app/admin/SecurityLog$SecurityEvent$1;-><init>()V
 HSPLandroid/app/admin/SystemUpdateInfo$1;-><init>()V
 HSPLandroid/app/admin/SystemUpdateInfo;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/app/admin/SystemUpdateInfo;
-HSPLandroid/app/admin/SystemUpdatePolicy$1;-><init>()V
 HSPLandroid/app/assist/AssistContent$1;-><init>()V
-HSPLandroid/app/assist/AssistContent;->setDefaultIntent(Landroid/content/Intent;)V
-HSPLandroid/app/assist/AssistContent;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/assist/AssistContent;->writeToParcelInternal(Landroid/os/Parcel;I)V
 HSPLandroid/app/assist/AssistStructure$1;-><init>()V
-HSPLandroid/app/assist/AssistStructure$ParcelTransferWriter;-><init>(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;)V
-HSPLandroid/app/assist/AssistStructure$ParcelTransferWriter;->pushViewStackEntry(Landroid/app/assist/AssistStructure$ViewNode;I)V
-HSPLandroid/app/assist/AssistStructure$ParcelTransferWriter;->writeNextEntryToParcel(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;Landroid/os/PooledStringWriter;)Z
-HSPLandroid/app/assist/AssistStructure$ParcelTransferWriter;->writeToParcel(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;)V
-HSPLandroid/app/assist/AssistStructure$ParcelTransferWriter;->writeToParcelInner(Landroid/app/assist/AssistStructure;Landroid/os/Parcel;)Z
-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;->getChildCount()I
-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;
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setAutofillHints([Ljava/lang/String;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setAutofillId(Landroid/view/autofill/AutofillId;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setAutofillType(I)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setAutofillValue(Landroid/view/autofill/AutofillValue;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setCheckable(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setChecked(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setChildCount(I)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setClassName(Ljava/lang/String;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setClickable(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setContentDescription(Ljava/lang/CharSequence;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setDataIsSensitive(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setDimens(IIIIII)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setElevation(F)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setEnabled(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setFocusable(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setFocused(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setHint(Ljava/lang/CharSequence;)V
-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
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setOpaque(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setSelected(Z)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setText(Ljava/lang/CharSequence;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setTextIdEntry(Ljava/lang/String;)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeBuilder;->setVisibility(I)V
-HSPLandroid/app/assist/AssistStructure$ViewNodeText;->writeToParcel(Landroid/os/Parcel;ZZ)V
-HSPLandroid/app/assist/AssistStructure$WindowNode;-><init>(Landroid/app/assist/AssistStructure;Landroid/view/ViewRootImpl;ZI)V
-HSPLandroid/app/assist/AssistStructure$WindowNode;->resolveViewAutofillFlags(Landroid/content/Context;I)I
-HSPLandroid/app/assist/AssistStructure$WindowNode;->writeSelfToParcel(Landroid/os/Parcel;Landroid/os/PooledStringWriter;[F)V
-HSPLandroid/app/assist/AssistStructure;-><init>(Landroid/app/Activity;ZI)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;JILandroid/app/backup/IBackupManager;I)V
-HSPLandroid/app/backup/BackupAgent$SharedPrefsSynchronizer;->run()V
-HSPLandroid/app/backup/BackupAgent;->attach(Landroid/content/Context;)V
-HSPLandroid/app/backup/BackupAgent;->getHandler()Landroid/os/Handler;
-HSPLandroid/app/backup/BackupAgent;->onBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
-HSPLandroid/app/backup/BackupAgent;->onDestroy()V
-HSPLandroid/app/backup/BackupAgent;->onRestore(Landroid/app/backup/BackupDataInput;ILandroid/os/ParcelFileDescriptor;)V
-HSPLandroid/app/backup/BackupAgent;->waitForSharedPrefs()V
-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
+HSPLandroid/app/backup/BackupDataInput;-><init>(Ljava/io/FileDescriptor;)V
+HSPLandroid/app/backup/BackupDataInput;->finalize()V
+HSPLandroid/app/backup/BackupDataInput;->getDataSize()I
+HSPLandroid/app/backup/BackupDataInput;->getKey()Ljava/lang/String;
+HSPLandroid/app/backup/BackupDataInput;->readEntityData([BII)I
+HSPLandroid/app/backup/BackupDataInput;->readNextHeader()Z
+HSPLandroid/app/backup/BackupDataOutput;-><init>(Ljava/io/FileDescriptor;)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
-HSPLandroid/app/backup/BackupHelper;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
-HSPLandroid/app/backup/BackupHelper;->restoreEntity(Landroid/app/backup/BackupDataInputStream;)V
-HSPLandroid/app/backup/BackupHelper;->writeNewStateDescription(Landroid/os/ParcelFileDescriptor;)V
-HSPLandroid/app/backup/BackupHelperDispatcher;->addHelper(Ljava/lang/String;Landroid/app/backup/BackupHelper;)V
-HSPLandroid/app/backup/BackupHelperDispatcher;->doOneBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupHelperDispatcher$Header;Landroid/app/backup/BackupHelper;)V
-HSPLandroid/app/backup/BackupHelperDispatcher;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
+HSPLandroid/app/backup/BackupDataOutput;->writeEntityData([BI)I
+HSPLandroid/app/backup/BackupDataOutput;->writeEntityHeader(Ljava/lang/String;I)I
 HSPLandroid/app/backup/BackupManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/app/backup/BackupManager;->dataChanged()V
 HSPLandroid/app/backup/BackupManager;->dataChanged(Ljava/lang/String;)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/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;->dataManagementIntent()Landroid/content/Intent;
 HSPLandroid/app/backup/BackupTransport$TransportImpl;->dataManagementLabel()Ljava/lang/String;
+HSPLandroid/app/backup/BackupTransport$TransportImpl;->finishRestore()V
+HSPLandroid/app/backup/BackupTransport$TransportImpl;->getNextFullRestoreDataChunk(Landroid/os/ParcelFileDescriptor;)I
+HSPLandroid/app/backup/BackupTransport$TransportImpl;->getRestoreData(Landroid/os/ParcelFileDescriptor;)I
 HSPLandroid/app/backup/BackupTransport$TransportImpl;->name()Ljava/lang/String;
+HSPLandroid/app/backup/BackupTransport$TransportImpl;->nextRestorePackage()Landroid/app/backup/RestoreDescription;
+HSPLandroid/app/backup/BackupTransport$TransportImpl;->startRestore(J[Landroid/content/pm/PackageInfo;)I
 HSPLandroid/app/backup/BackupTransport$TransportImpl;->transportDirName()Ljava/lang/String;
 HSPLandroid/app/backup/BackupTransport;-><init>()V
 HSPLandroid/app/backup/BackupTransport;->configurationIntent()Landroid/content/Intent;
 HSPLandroid/app/backup/BackupTransport;->dataManagementIntent()Landroid/content/Intent;
 HSPLandroid/app/backup/BackupTransport;->getBinder()Landroid/os/IBinder;
-HSPLandroid/app/backup/FileBackupHelper;-><init>(Landroid/content/Context;[Ljava/lang/String;)V
-HSPLandroid/app/backup/FileBackupHelper;->performBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)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
-HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->dataChanged(Ljava/lang/String;)V
 HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->getCurrentTransport()Ljava/lang/String;
-HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->opComplete(IJ)V
+HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->getDataManagementIntent(Ljava/lang/String;)Landroid/content/Intent;
+HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->isBackupEnabled()Z
+HSPLandroid/app/backup/IBackupManager$Stub$Proxy;->updateTransportAttributesForUser(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
 HSPLandroid/app/backup/IBackupManager$Stub;-><init>()V
 HSPLandroid/app/backup/IBackupManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManager;
-HSPLandroid/app/backup/IBackupManager;->acknowledgeFullBackupOrRestore(IZLjava/lang/String;Ljava/lang/String;Landroid/app/backup/IFullBackupRestoreObserver;)V
-HSPLandroid/app/backup/IBackupManager;->adbBackup(Landroid/os/ParcelFileDescriptor;ZZZZZZZZ[Ljava/lang/String;)V
-HSPLandroid/app/backup/IBackupManager;->adbRestore(Landroid/os/ParcelFileDescriptor;)V
-HSPLandroid/app/backup/IBackupManager;->agentConnected(Ljava/lang/String;Landroid/os/IBinder;)V
-HSPLandroid/app/backup/IBackupManager;->agentDisconnected(Ljava/lang/String;)V
-HSPLandroid/app/backup/IBackupManager;->backupNow()V
-HSPLandroid/app/backup/IBackupManager;->beginRestoreSession(Ljava/lang/String;Ljava/lang/String;)Landroid/app/backup/IRestoreSession;
-HSPLandroid/app/backup/IBackupManager;->cancelBackups()V
-HSPLandroid/app/backup/IBackupManager;->clearBackupData(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/backup/IBackupManager;->dataChanged(Ljava/lang/String;)V
-HSPLandroid/app/backup/IBackupManager;->filterAppsEligibleForBackup([Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/app/backup/IBackupManager;->fullTransportBackup([Ljava/lang/String;)V
-HSPLandroid/app/backup/IBackupManager;->getAvailableRestoreToken(Ljava/lang/String;)J
-HSPLandroid/app/backup/IBackupManager;->getConfigurationIntent(Ljava/lang/String;)Landroid/content/Intent;
-HSPLandroid/app/backup/IBackupManager;->getCurrentTransport()Ljava/lang/String;
-HSPLandroid/app/backup/IBackupManager;->getDataManagementIntent(Ljava/lang/String;)Landroid/content/Intent;
-HSPLandroid/app/backup/IBackupManager;->getDataManagementLabel(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/app/backup/IBackupManager;->getDestinationString(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/app/backup/IBackupManager;->getTransportWhitelist()[Ljava/lang/String;
-HSPLandroid/app/backup/IBackupManager;->hasBackupPassword()Z
-HSPLandroid/app/backup/IBackupManager;->initializeTransports([Ljava/lang/String;Landroid/app/backup/IBackupObserver;)V
-HSPLandroid/app/backup/IBackupManager;->isAppEligibleForBackup(Ljava/lang/String;)Z
-HSPLandroid/app/backup/IBackupManager;->isBackupEnabled()Z
-HSPLandroid/app/backup/IBackupManager;->isBackupServiceActive(I)Z
-HSPLandroid/app/backup/IBackupManager;->listAllTransportComponents()[Landroid/content/ComponentName;
-HSPLandroid/app/backup/IBackupManager;->listAllTransports()[Ljava/lang/String;
-HSPLandroid/app/backup/IBackupManager;->opComplete(IJ)V
-HSPLandroid/app/backup/IBackupManager;->requestBackup([Ljava/lang/String;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;I)I
-HSPLandroid/app/backup/IBackupManager;->restoreAtInstall(Ljava/lang/String;I)V
-HSPLandroid/app/backup/IBackupManager;->selectBackupTransport(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/app/backup/IBackupManager;->selectBackupTransportAsync(Landroid/content/ComponentName;Landroid/app/backup/ISelectBackupTransportCallback;)V
-HSPLandroid/app/backup/IBackupManager;->setAutoRestore(Z)V
-HSPLandroid/app/backup/IBackupManager;->setBackupEnabled(Z)V
-HSPLandroid/app/backup/IBackupManager;->setBackupPassword(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/app/backup/IBackupManager;->setBackupProvisioned(Z)V
-HSPLandroid/app/backup/IBackupManager;->setBackupServiceActive(IZ)V
-HSPLandroid/app/backup/IBackupManager;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
-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/backup/RestoreDescription$1;-><init>()V
+HSPLandroid/app/backup/RestoreDescription;-><init>(Ljava/lang/String;I)V
+HSPLandroid/app/backup/RestoreDescription;->getPackageName()Ljava/lang/String;
+HSPLandroid/app/backup/RestoreDescription;->writeToParcel(Landroid/os/Parcel;I)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;->acknowledgeStartMessage(IZ)V
-HSPLandroid/app/job/IJobCallback;->acknowledgeStopMessage(IZ)V
-HSPLandroid/app/job/IJobCallback;->completeWork(II)Z
-HSPLandroid/app/job/IJobCallback;->dequeueWork(I)Landroid/app/job/JobWorkItem;
-HSPLandroid/app/job/IJobCallback;->jobFinished(IZ)V
 HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->cancel(I)V
-HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->cancelAll()V
 HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->enqueue(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;)I
 HSPLandroid/app/job/IJobScheduler$Stub$Proxy;->getAllPendingJobs()Ljava/util/List;
 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$Proxy;->scheduleAsPackage(Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I
 HSPLandroid/app/job/IJobScheduler$Stub;-><init>()V
-HSPLandroid/app/job/IJobScheduler;->cancel(I)V
-HSPLandroid/app/job/IJobScheduler;->cancelAll()V
-HSPLandroid/app/job/IJobScheduler;->enqueue(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;)I
-HSPLandroid/app/job/IJobScheduler;->getAllPendingJobs()Ljava/util/List;
-HSPLandroid/app/job/IJobScheduler;->getPendingJob(I)Landroid/app/job/JobInfo;
-HSPLandroid/app/job/IJobScheduler;->schedule(Landroid/app/job/JobInfo;)I
-HSPLandroid/app/job/IJobScheduler;->scheduleAsPackage(Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I
 HSPLandroid/app/job/IJobService$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/job/IJobService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/job/IJobService;->startJob(Landroid/app/job/JobParameters;)V
-HSPLandroid/app/job/IJobService;->stopJob(Landroid/app/job/JobParameters;)V
 HSPLandroid/app/job/JobInfo$1;-><init>()V
 HSPLandroid/app/job/JobInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/job/JobInfo;
 HSPLandroid/app/job/JobInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -16058,18 +15525,11 @@
 HSPLandroid/app/job/JobInfo$Builder;->setPeriodic(JJ)Landroid/app/job/JobInfo$Builder;
 HSPLandroid/app/job/JobInfo$Builder;->setPersisted(Z)Landroid/app/job/JobInfo$Builder;
 HSPLandroid/app/job/JobInfo$Builder;->setRequiredNetworkType(I)Landroid/app/job/JobInfo$Builder;
-HSPLandroid/app/job/JobInfo$Builder;->setRequiresBatteryNotLow(Z)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;->setRequiresStorageNotLow(Z)Landroid/app/job/JobInfo$Builder;
 HSPLandroid/app/job/JobInfo$Builder;->setTransientExtras(Landroid/os/Bundle;)Landroid/app/job/JobInfo$Builder;
 HSPLandroid/app/job/JobInfo$Builder;->setTriggerContentMaxDelay(J)Landroid/app/job/JobInfo$Builder;
-HSPLandroid/app/job/JobInfo$Builder;->setTriggerContentUpdateDelay(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
 HSPLandroid/app/job/JobInfo$TriggerContentUri;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/job/JobInfo;-><init>(Landroid/app/job/JobInfo$Builder;)V
@@ -16084,16 +15544,14 @@
 HSPLandroid/app/job/JobInfo;->getIntervalMillis()J
 HSPLandroid/app/job/JobInfo;->getMaxExecutionDelayMillis()J
 HSPLandroid/app/job/JobInfo;->getMinLatencyMillis()J
-HSPLandroid/app/job/JobInfo;->getNetworkType()I
 HSPLandroid/app/job/JobInfo;->getRequiredNetwork()Landroid/net/NetworkRequest;
 HSPLandroid/app/job/JobInfo;->getService()Landroid/content/ComponentName;
 HSPLandroid/app/job/JobInfo;->getTriggerContentUris()[Landroid/app/job/JobInfo$TriggerContentUri;
 HSPLandroid/app/job/JobInfo;->hasEarlyConstraint()Z
 HSPLandroid/app/job/JobInfo;->hasLateConstraint()Z
+HSPLandroid/app/job/JobInfo;->isExemptedFromAppStandby()Z
 HSPLandroid/app/job/JobInfo;->isPeriodic()Z
 HSPLandroid/app/job/JobInfo;->isPersisted()Z
-HSPLandroid/app/job/JobInfo;->isRequireCharging()Z
-HSPLandroid/app/job/JobInfo;->isRequireDeviceIdle()Z
 HSPLandroid/app/job/JobInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/job/JobParameters$1;-><init>()V
 HSPLandroid/app/job/JobParameters$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/job/JobParameters;
@@ -16105,23 +15563,11 @@
 HSPLandroid/app/job/JobParameters;->getExtras()Landroid/os/PersistableBundle;
 HSPLandroid/app/job/JobParameters;->getJobId()I
 HSPLandroid/app/job/JobParameters;->getTransientExtras()Landroid/os/Bundle;
-HSPLandroid/app/job/JobParameters;->getTriggeredContentAuthorities()[Ljava/lang/String;
-HSPLandroid/app/job/JobParameters;->getTriggeredContentUris()[Landroid/net/Uri;
-HSPLandroid/app/job/JobParameters;->isOverrideDeadlineExpired()Z
-HSPLandroid/app/job/JobScheduler;->cancel(I)V
-HSPLandroid/app/job/JobScheduler;->cancelAll()V
-HSPLandroid/app/job/JobScheduler;->enqueue(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;)I
-HSPLandroid/app/job/JobScheduler;->getAllPendingJobs()Ljava/util/List;
-HSPLandroid/app/job/JobScheduler;->getPendingJob(I)Landroid/app/job/JobInfo;
-HSPLandroid/app/job/JobScheduler;->schedule(Landroid/app/job/JobInfo;)I
-HSPLandroid/app/job/JobScheduler;->scheduleAsPackage(Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I
 HSPLandroid/app/job/JobService$1;->onStartJob(Landroid/app/job/JobParameters;)Z
 HSPLandroid/app/job/JobService$1;->onStopJob(Landroid/app/job/JobParameters;)Z
 HSPLandroid/app/job/JobService;-><init>()V
 HSPLandroid/app/job/JobService;->jobFinished(Landroid/app/job/JobParameters;Z)V
 HSPLandroid/app/job/JobService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/app/job/JobService;->onStartJob(Landroid/app/job/JobParameters;)Z
-HSPLandroid/app/job/JobService;->onStopJob(Landroid/app/job/JobParameters;)Z
 HSPLandroid/app/job/JobServiceEngine$JobHandler;->ackStartMessage(Landroid/app/job/JobParameters;Z)V
 HSPLandroid/app/job/JobServiceEngine$JobHandler;->ackStopMessage(Landroid/app/job/JobParameters;Z)V
 HSPLandroid/app/job/JobServiceEngine$JobHandler;->handleMessage(Landroid/os/Message;)V
@@ -16130,8 +15576,6 @@
 HSPLandroid/app/job/JobServiceEngine;-><init>(Landroid/app/Service;)V
 HSPLandroid/app/job/JobServiceEngine;->getBinder()Landroid/os/IBinder;
 HSPLandroid/app/job/JobServiceEngine;->jobFinished(Landroid/app/job/JobParameters;Z)V
-HSPLandroid/app/job/JobServiceEngine;->onStartJob(Landroid/app/job/JobParameters;)Z
-HSPLandroid/app/job/JobServiceEngine;->onStopJob(Landroid/app/job/JobParameters;)Z
 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;
@@ -16139,18 +15583,27 @@
 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/servertransaction/ActivityConfigurationChangeItem$1;-><init>()V
-HSPLandroid/app/servertransaction/ActivityConfigurationChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/ActivityConfigurationChangeItem;
-HSPLandroid/app/servertransaction/ActivityConfigurationChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/servertransaction/ActivityConfigurationChangeItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/ActivityConfigurationChangeItem;->toString()Ljava/lang/String;
-HSPLandroid/app/servertransaction/ActivityLifecycleItem;->getTargetState()I
+HSPLandroid/app/prediction/IPredictionManager$Stub;-><init>()V
+HSPLandroid/app/role/IOnRoleHoldersChangedListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/app/role/IRoleManager$Stub$Proxy;->addRoleHolderFromController(Ljava/lang/String;Ljava/lang/String;)Z
+HSPLandroid/app/role/IRoleManager$Stub$Proxy;->getDefaultSmsPackage(I)Ljava/lang/String;
+HSPLandroid/app/role/IRoleManager$Stub$Proxy;->getRoleHoldersAsUser(Ljava/lang/String;I)Ljava/util/List;
+HSPLandroid/app/role/IRoleManager$Stub$Proxy;->isRoleAvailable(Ljava/lang/String;)Z
+HSPLandroid/app/role/IRoleManager$Stub$Proxy;->setRoleNamesFromController(Ljava/util/List;)V
+HSPLandroid/app/role/IRoleManager$Stub;-><init>()V
+HSPLandroid/app/role/IRoleManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/app/role/IRoleManagerCallback$Stub$Proxy;->onSuccess()V
+HSPLandroid/app/role/IRoleManagerCallback$Stub;-><init>()V
+HSPLandroid/app/role/IRoleManagerCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/app/role/IRoleManagerCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/role/IRoleManagerCallback;
+HSPLandroid/app/role/RoleManager;->addOnRoleHoldersChangedListenerAsUser(Ljava/util/concurrent/Executor;Landroid/app/role/OnRoleHoldersChangedListener;Landroid/os/UserHandle;)V
+HSPLandroid/app/role/RoleManager;->addRoleHolderFromController(Ljava/lang/String;Ljava/lang/String;)Z
+HSPLandroid/app/role/RoleManager;->getDefaultSmsPackage(I)Ljava/lang/String;
+HSPLandroid/app/role/RoleManager;->getRoleHolders(Ljava/lang/String;)Ljava/util/List;
+HSPLandroid/app/role/RoleManager;->getRoleHoldersAsUser(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;
+HSPLandroid/app/role/RoleManager;->isRoleAvailable(Ljava/lang/String;)Z
+HSPLandroid/app/role/RoleManager;->setRoleNamesFromController(Ljava/util/List;)V
 HSPLandroid/app/servertransaction/ActivityResultItem$1;-><init>()V
-HSPLandroid/app/servertransaction/ActivityResultItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/ActivityResultItem;
-HSPLandroid/app/servertransaction/ActivityResultItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/servertransaction/ActivityResultItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/ActivityResultItem;->toString()Ljava/lang/String;
-HSPLandroid/app/servertransaction/BaseClientRequest;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)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
@@ -16176,14 +15629,8 @@
 HSPLandroid/app/servertransaction/ConfigurationChangeItem;->obtain(Landroid/content/res/Configuration;)Landroid/app/servertransaction/ConfigurationChangeItem;
 HSPLandroid/app/servertransaction/ConfigurationChangeItem;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
 HSPLandroid/app/servertransaction/ConfigurationChangeItem;->recycle()V
-HSPLandroid/app/servertransaction/ConfigurationChangeItem;->toString()Ljava/lang/String;
 HSPLandroid/app/servertransaction/ConfigurationChangeItem;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/servertransaction/DestroyActivityItem$1;-><init>()V
-HSPLandroid/app/servertransaction/DestroyActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/DestroyActivityItem;
-HSPLandroid/app/servertransaction/DestroyActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/app/servertransaction/DestroyActivityItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/DestroyActivityItem;->getTargetState()I
-HSPLandroid/app/servertransaction/DestroyActivityItem;->toString()Ljava/lang/String;
 HSPLandroid/app/servertransaction/LaunchActivityItem$1;-><init>()V
 HSPLandroid/app/servertransaction/LaunchActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/LaunchActivityItem;
 HSPLandroid/app/servertransaction/LaunchActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -16194,8 +15641,11 @@
 HSPLandroid/app/servertransaction/LaunchActivityItem;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
 HSPLandroid/app/servertransaction/LaunchActivityItem;->recycle()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;)V
-HSPLandroid/app/servertransaction/LaunchActivityItem;->toString()Ljava/lang/String;
 HSPLandroid/app/servertransaction/LaunchActivityItem;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/app/servertransaction/NewIntentItem$1;-><init>()V
+HSPLandroid/app/servertransaction/NewIntentItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/NewIntentItem;
+HSPLandroid/app/servertransaction/NewIntentItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/servertransaction/NewIntentItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
 HSPLandroid/app/servertransaction/ObjectPool;->obtain(Ljava/lang/Class;)Landroid/app/servertransaction/ObjectPoolItem;
 HSPLandroid/app/servertransaction/ObjectPool;->recycle(Landroid/app/servertransaction/ObjectPoolItem;)V
 HSPLandroid/app/servertransaction/PauseActivityItem$1;-><init>()V
@@ -16206,7 +15656,6 @@
 HSPLandroid/app/servertransaction/PauseActivityItem;->obtain(ZZIZ)Landroid/app/servertransaction/PauseActivityItem;
 HSPLandroid/app/servertransaction/PauseActivityItem;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
 HSPLandroid/app/servertransaction/PauseActivityItem;->recycle()V
-HSPLandroid/app/servertransaction/PauseActivityItem;->toString()Ljava/lang/String;
 HSPLandroid/app/servertransaction/PauseActivityItem;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/servertransaction/PendingTransactionActions$StopInfo;->run()V
 HSPLandroid/app/servertransaction/PendingTransactionActions$StopInfo;->setDescription(Ljava/lang/CharSequence;)V
@@ -16228,7 +15677,6 @@
 HSPLandroid/app/servertransaction/ResumeActivityItem;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
 HSPLandroid/app/servertransaction/ResumeActivityItem;->preExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;)V
 HSPLandroid/app/servertransaction/ResumeActivityItem;->recycle()V
-HSPLandroid/app/servertransaction/ResumeActivityItem;->toString()Ljava/lang/String;
 HSPLandroid/app/servertransaction/ResumeActivityItem;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/servertransaction/StopActivityItem$1;-><init>()V
 HSPLandroid/app/servertransaction/StopActivityItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/StopActivityItem;
@@ -16238,13 +15686,15 @@
 HSPLandroid/app/servertransaction/StopActivityItem;->obtain(ZI)Landroid/app/servertransaction/StopActivityItem;
 HSPLandroid/app/servertransaction/StopActivityItem;->postExecute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
 HSPLandroid/app/servertransaction/StopActivityItem;->recycle()V
-HSPLandroid/app/servertransaction/StopActivityItem;->toString()Ljava/lang/String;
 HSPLandroid/app/servertransaction/StopActivityItem;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/servertransaction/TransactionExecutor;->cycleToPath(Landroid/app/ActivityThread$ActivityClientRecord;IZ)V
+HSPLandroid/app/servertransaction/TopResumedActivityChangeItem$1;-><init>()V
+HSPLandroid/app/servertransaction/TopResumedActivityChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/TopResumedActivityChangeItem;
+HSPLandroid/app/servertransaction/TopResumedActivityChangeItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/servertransaction/TopResumedActivityChangeItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
 HSPLandroid/app/servertransaction/TransactionExecutor;->execute(Landroid/app/servertransaction/ClientTransaction;)V
 HSPLandroid/app/servertransaction/TransactionExecutor;->executeCallbacks(Landroid/app/servertransaction/ClientTransaction;)V
 HSPLandroid/app/servertransaction/TransactionExecutor;->executeLifecycleState(Landroid/app/servertransaction/ClientTransaction;)V
-HSPLandroid/app/servertransaction/TransactionExecutor;->performLifecycleSequence(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/util/IntArray;)V
+HSPLandroid/app/servertransaction/TransactionExecutor;->performLifecycleSequence(Landroid/app/ActivityThread$ActivityClientRecord;Landroid/util/IntArray;Landroid/app/servertransaction/ClientTransaction;)V
 HSPLandroid/app/servertransaction/TransactionExecutorHelper;->getClosestPreExecutionState(Landroid/app/ActivityThread$ActivityClientRecord;I)I
 HSPLandroid/app/servertransaction/TransactionExecutorHelper;->getLifecyclePath(IIZ)Landroid/util/IntArray;
 HSPLandroid/app/servertransaction/TransactionExecutorHelper;->lastCallbackRequestingState(Landroid/app/servertransaction/ClientTransaction;)I
@@ -16252,24 +15702,11 @@
 HSPLandroid/app/servertransaction/WindowVisibilityItem$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/servertransaction/WindowVisibilityItem;
 HSPLandroid/app/servertransaction/WindowVisibilityItem$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/app/servertransaction/WindowVisibilityItem;->execute(Landroid/app/ClientTransactionHandler;Landroid/os/IBinder;Landroid/app/servertransaction/PendingTransactionActions;)V
-HSPLandroid/app/servertransaction/WindowVisibilityItem;->toString()Ljava/lang/String;
+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;->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$Proxy;->unpinSlice(Ljava/lang/String;Landroid/net/Uri;Landroid/os/IBinder;)V
 HSPLandroid/app/slice/ISliceManager$Stub;-><init>()V
 HSPLandroid/app/slice/ISliceManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/slice/ISliceManager;->applyRestore([BI)V
-HSPLandroid/app/slice/ISliceManager;->checkSlicePermission(Landroid/net/Uri;Ljava/lang/String;II[Ljava/lang/String;)I
-HSPLandroid/app/slice/ISliceManager;->getBackupPayload(I)[B
-HSPLandroid/app/slice/ISliceManager;->getPinnedSlices(Ljava/lang/String;)[Landroid/net/Uri;
-HSPLandroid/app/slice/ISliceManager;->getPinnedSpecs(Landroid/net/Uri;Ljava/lang/String;)[Landroid/app/slice/SliceSpec;
-HSPLandroid/app/slice/ISliceManager;->grantPermissionFromUser(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Z)V
-HSPLandroid/app/slice/ISliceManager;->grantSlicePermission(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
-HSPLandroid/app/slice/ISliceManager;->hasSliceAccess(Ljava/lang/String;)Z
-HSPLandroid/app/slice/ISliceManager;->pinSlice(Ljava/lang/String;Landroid/net/Uri;[Landroid/app/slice/SliceSpec;Landroid/os/IBinder;)V
-HSPLandroid/app/slice/ISliceManager;->revokeSlicePermission(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
-HSPLandroid/app/slice/ISliceManager;->unpinSlice(Ljava/lang/String;Landroid/net/Uri;Landroid/os/IBinder;)V
 HSPLandroid/app/slice/Slice$1;-><init>()V
 HSPLandroid/app/slice/Slice$Builder;-><init>(Landroid/net/Uri;Landroid/app/slice/SliceSpec;)V
 HSPLandroid/app/slice/Slice$Builder;->addAction(Landroid/app/PendingIntent;Landroid/app/slice/Slice;Ljava/lang/String;)Landroid/app/slice/Slice$Builder;
@@ -16282,26 +15719,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;->getInt()I
 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;->getAuthority(Landroid/content/Intent;)Ljava/lang/String;
 HSPLandroid/app/slice/SliceManager;->getPinnedSlices()Ljava/util/List;
-HSPLandroid/app/slice/SliceManager;->getSliceDescendants(Landroid/net/Uri;)Ljava/util/Collection;
 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/SliceManager;->unpinSlice(Landroid/net/Uri;)V
+HSPLandroid/app/slice/SliceManager;->mapIntentToUri(Landroid/content/Intent;)Landroid/net/Uri;
+HSPLandroid/app/slice/SliceManager;->resolveStatic(Landroid/content/Intent;Landroid/content/ContentResolver;)Landroid/net/Uri;
 HSPLandroid/app/slice/SliceProvider;-><init>([Ljava/lang/String;)V
 HSPLandroid/app/slice/SliceProvider;->attachInfo(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V
 HSPLandroid/app/slice/SliceProvider;->call(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
@@ -16318,102 +15754,92 @@
 HSPLandroid/app/slice/SliceSpec;->getRevision()I
 HSPLandroid/app/slice/SliceSpec;->getType()Ljava/lang/String;
 HSPLandroid/app/slice/SliceSpec;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/app/timezone/DistroFormatVersion$1;-><init>()V
-HSPLandroid/app/timezone/DistroFormatVersion;-><init>(II)V
-HSPLandroid/app/timezone/IRulesManager$Stub;-><init>()V
-HSPLandroid/app/timezone/IRulesManager;->getRulesState()Landroid/app/timezone/RulesState;
-HSPLandroid/app/timezone/IRulesManager;->requestInstall(Landroid/os/ParcelFileDescriptor;[BLandroid/app/timezone/ICallback;)I
-HSPLandroid/app/timezone/IRulesManager;->requestNothing([BZ)V
-HSPLandroid/app/timezone/IRulesManager;->requestUninstall([BLandroid/app/timezone/ICallback;)I
-HSPLandroid/app/timezone/Utils;->validateVersion(Ljava/lang/String;I)I
+HSPLandroid/app/timedetector/ITimeDetectorService$Stub$Proxy;->suggestTime(Landroid/app/timedetector/TimeSignal;)V
+HSPLandroid/app/timedetector/ITimeDetectorService$Stub;-><init>()V
+HSPLandroid/app/timedetector/ITimeDetectorService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/app/timedetector/TimeDetector;->suggestTime(Landroid/app/timedetector/TimeSignal;)V
+HSPLandroid/app/timedetector/TimeSignal$1;-><init>()V
+HSPLandroid/app/timedetector/TimeSignal$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/timedetector/TimeSignal;
+HSPLandroid/app/timedetector/TimeSignal$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/timedetector/TimeSignal;-><init>(Ljava/lang/String;Landroid/util/TimestampedValue;)V
 HSPLandroid/app/trust/IStrongAuthTracker$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/trust/IStrongAuthTracker$Stub;-><init>()V
 HSPLandroid/app/trust/IStrongAuthTracker$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/app/trust/IStrongAuthTracker$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/trust/IStrongAuthTracker;
-HSPLandroid/app/trust/IStrongAuthTracker;->onStrongAuthRequiredChanged(II)V
 HSPLandroid/app/trust/ITrustListener$Stub$Proxy;->onTrustChanged(ZII)V
 HSPLandroid/app/trust/ITrustListener$Stub$Proxy;->onTrustManagedChanged(ZI)V
-HSPLandroid/app/trust/ITrustListener;->onTrustChanged(ZII)V
-HSPLandroid/app/trust/ITrustListener;->onTrustError(Ljava/lang/CharSequence;)V
-HSPLandroid/app/trust/ITrustListener;->onTrustManagedChanged(ZI)V
 HSPLandroid/app/trust/ITrustManager$Stub$Proxy;->isDeviceLocked(I)Z
 HSPLandroid/app/trust/ITrustManager$Stub$Proxy;->isDeviceSecure(I)Z
 HSPLandroid/app/trust/ITrustManager$Stub;-><init>()V
 HSPLandroid/app/trust/ITrustManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/trust/ITrustManager;->clearAllFingerprints()V
-HSPLandroid/app/trust/ITrustManager;->isDeviceLocked(I)Z
-HSPLandroid/app/trust/ITrustManager;->isDeviceSecure(I)Z
-HSPLandroid/app/trust/ITrustManager;->isTrustUsuallyManaged(I)Z
-HSPLandroid/app/trust/ITrustManager;->registerTrustListener(Landroid/app/trust/ITrustListener;)V
-HSPLandroid/app/trust/ITrustManager;->reportEnabledTrustAgentsChanged(I)V
-HSPLandroid/app/trust/ITrustManager;->reportKeyguardShowingChanged()V
-HSPLandroid/app/trust/ITrustManager;->reportUnlockAttempt(ZI)V
-HSPLandroid/app/trust/ITrustManager;->reportUnlockLockout(II)V
-HSPLandroid/app/trust/ITrustManager;->setDeviceLockedForUser(IZ)V
-HSPLandroid/app/trust/ITrustManager;->unlockedByFingerprintForUser(I)V
-HSPLandroid/app/trust/ITrustManager;->unregisterTrustListener(Landroid/app/trust/ITrustListener;)V
+HSPLandroid/app/usage/AppStandbyInfo$1;-><init>()V
 HSPLandroid/app/usage/CacheQuotaHint$1;-><init>()V
+HSPLandroid/app/usage/CacheQuotaHint$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/CacheQuotaHint;
+HSPLandroid/app/usage/CacheQuotaHint$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/usage/CacheQuotaHint$Builder;-><init>(Landroid/app/usage/CacheQuotaHint;)V
 HSPLandroid/app/usage/CacheQuotaHint$Builder;->build()Landroid/app/usage/CacheQuotaHint;
 HSPLandroid/app/usage/CacheQuotaHint$Builder;->setQuota(J)Landroid/app/usage/CacheQuotaHint$Builder;
 HSPLandroid/app/usage/CacheQuotaHint$Builder;->setUid(I)Landroid/app/usage/CacheQuotaHint$Builder;
+HSPLandroid/app/usage/CacheQuotaHint;->getQuota()J
+HSPLandroid/app/usage/CacheQuotaHint;->getUid()I
+HSPLandroid/app/usage/CacheQuotaHint;->getUsageStats()Landroid/app/usage/UsageStats;
+HSPLandroid/app/usage/CacheQuotaHint;->getVolumeUuid()Ljava/lang/String;
+HSPLandroid/app/usage/CacheQuotaHint;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/app/usage/CacheQuotaService$CacheQuotaServiceWrapper;->computeCacheQuotaHints(Landroid/os/RemoteCallback;Ljava/util/List;)V
+HSPLandroid/app/usage/CacheQuotaService$ServiceHandler;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/app/usage/CacheQuotaService;-><init>()V
+HSPLandroid/app/usage/CacheQuotaService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
+HSPLandroid/app/usage/CacheQuotaService;->onCreate()V
 HSPLandroid/app/usage/ConfigurationStats$1;-><init>()V
 HSPLandroid/app/usage/EventList;-><init>()V
+HSPLandroid/app/usage/EventList;->clear()V
+HSPLandroid/app/usage/EventList;->firstIndexOnOrAfter(J)I
+HSPLandroid/app/usage/EventList;->get(I)Landroid/app/usage/UsageEvents$Event;
 HSPLandroid/app/usage/EventList;->insert(Landroid/app/usage/UsageEvents$Event;)V
+HSPLandroid/app/usage/EventList;->size()I
+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;->getTotalBytes(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
-HSPLandroid/app/usage/IStorageStatsManager;->getCacheBytes(Ljava/lang/String;Ljava/lang/String;)J
-HSPLandroid/app/usage/IStorageStatsManager;->getCacheQuotaBytes(Ljava/lang/String;ILjava/lang/String;)J
-HSPLandroid/app/usage/IStorageStatsManager;->getFreeBytes(Ljava/lang/String;Ljava/lang/String;)J
-HSPLandroid/app/usage/IStorageStatsManager;->getTotalBytes(Ljava/lang/String;Ljava/lang/String;)J
-HSPLandroid/app/usage/IStorageStatsManager;->isQuotaSupported(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/app/usage/IStorageStatsManager;->isReservedSupported(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/app/usage/IStorageStatsManager;->queryExternalStatsForUser(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/ExternalStorageStats;
-HSPLandroid/app/usage/IStorageStatsManager;->queryStatsForPackage(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
-HSPLandroid/app/usage/IStorageStatsManager;->queryStatsForUid(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
-HSPLandroid/app/usage/IStorageStatsManager;->queryStatsForUser(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
 HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->onCarrierPrivilegedAppsChanged()V
 HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryEvents(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
-HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryUsageStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/app/usage/IUsageStatsManager$Stub$Proxy;->queryEventsForPackageForUser(JJILjava/lang/String;Ljava/lang/String;)Landroid/app/usage/UsageEvents;
 HSPLandroid/app/usage/IUsageStatsManager$Stub;-><init>()V
-HSPLandroid/app/usage/IUsageStatsManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/app/usage/IUsageStatsManager;->getAppStandbyBucket(Ljava/lang/String;Ljava/lang/String;I)I
-HSPLandroid/app/usage/IUsageStatsManager;->getAppStandbyBuckets(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/usage/IUsageStatsManager;->isAppInactive(Ljava/lang/String;I)Z
-HSPLandroid/app/usage/IUsageStatsManager;->onCarrierPrivilegedAppsChanged()V
-HSPLandroid/app/usage/IUsageStatsManager;->queryConfigurationStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/usage/IUsageStatsManager;->queryEventStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/usage/IUsageStatsManager;->queryEvents(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
-HSPLandroid/app/usage/IUsageStatsManager;->queryEventsForPackage(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
-HSPLandroid/app/usage/IUsageStatsManager;->queryEventsForPackageForUser(JJILjava/lang/String;Ljava/lang/String;)Landroid/app/usage/UsageEvents;
-HSPLandroid/app/usage/IUsageStatsManager;->queryEventsForUser(JJILjava/lang/String;)Landroid/app/usage/UsageEvents;
-HSPLandroid/app/usage/IUsageStatsManager;->queryUsageStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/app/usage/IUsageStatsManager;->registerAppUsageObserver(I[Ljava/lang/String;JLandroid/app/PendingIntent;Ljava/lang/String;)V
-HSPLandroid/app/usage/IUsageStatsManager;->reportChooserSelection(Ljava/lang/String;ILjava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/app/usage/IUsageStatsManager;->setAppInactive(Ljava/lang/String;ZI)V
-HSPLandroid/app/usage/IUsageStatsManager;->setAppStandbyBucket(Ljava/lang/String;II)V
-HSPLandroid/app/usage/IUsageStatsManager;->setAppStandbyBuckets(Landroid/content/pm/ParceledListSlice;I)V
-HSPLandroid/app/usage/IUsageStatsManager;->unregisterAppUsageObserver(ILjava/lang/String;)V
-HSPLandroid/app/usage/IUsageStatsManager;->whitelistAppTemporarily(Ljava/lang/String;JI)V
+HSPLandroid/app/usage/IUsageStatsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/usage/IUsageStatsManager;
 HSPLandroid/app/usage/NetworkStats$Bucket;-><init>()V
+HSPLandroid/app/usage/NetworkStats$Bucket;->getMetered()I
+HSPLandroid/app/usage/NetworkStats$Bucket;->getRoaming()I
+HSPLandroid/app/usage/NetworkStats$Bucket;->getRxBytes()J
+HSPLandroid/app/usage/NetworkStats$Bucket;->getState()I
+HSPLandroid/app/usage/NetworkStats$Bucket;->getTxBytes()J
+HSPLandroid/app/usage/NetworkStats$Bucket;->getUid()I
 HSPLandroid/app/usage/NetworkStats;-><init>(Landroid/content/Context;Landroid/net/NetworkTemplate;IJJLandroid/net/INetworkStatsService;)V
 HSPLandroid/app/usage/NetworkStats;->close()V
+HSPLandroid/app/usage/NetworkStats;->fillBucketFromSummaryEntry(Landroid/app/usage/NetworkStats$Bucket;)V
 HSPLandroid/app/usage/NetworkStats;->finalize()V
 HSPLandroid/app/usage/NetworkStats;->getNextBucket(Landroid/app/usage/NetworkStats$Bucket;)Z
+HSPLandroid/app/usage/NetworkStats;->getNextHistoryBucket(Landroid/app/usage/NetworkStats$Bucket;)Z
 HSPLandroid/app/usage/NetworkStats;->getNextSummaryBucket(Landroid/app/usage/NetworkStats$Bucket;)Z
+HSPLandroid/app/usage/NetworkStats;->getUid()I
+HSPLandroid/app/usage/NetworkStats;->hasNextBucket()Z
+HSPLandroid/app/usage/NetworkStats;->startHistoryEnumeration(III)V
 HSPLandroid/app/usage/NetworkStatsManager;->createTemplate(ILjava/lang/String;)Landroid/net/NetworkTemplate;
+HSPLandroid/app/usage/NetworkStatsManager;->queryDetailsForUid(ILjava/lang/String;JJI)Landroid/app/usage/NetworkStats;
+HSPLandroid/app/usage/NetworkStatsManager;->queryDetailsForUidTagState(ILjava/lang/String;JJIII)Landroid/app/usage/NetworkStats;
 HSPLandroid/app/usage/NetworkStatsManager;->querySummary(ILjava/lang/String;JJ)Landroid/app/usage/NetworkStats;
 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;->getCodeBytes()J
 HSPLandroid/app/usage/StorageStats;->getDataBytes()J
 HSPLandroid/app/usage/StorageStatsManager;->getFreeBytes(Ljava/lang/String;)J
 HSPLandroid/app/usage/StorageStatsManager;->getFreeBytes(Ljava/util/UUID;)J
 HSPLandroid/app/usage/StorageStatsManager;->getTotalBytes(Ljava/lang/String;)J
 HSPLandroid/app/usage/StorageStatsManager;->getTotalBytes(Ljava/util/UUID;)J
+HSPLandroid/app/usage/StorageStatsManager;->queryStatsForPackage(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/StorageStats;
 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
@@ -16422,10 +15848,8 @@
 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;-><init>()V
-HSPLandroid/app/usage/UsageEvents$Event;->getClassName()Ljava/lang/String;
+HSPLandroid/app/usage/UsageEvents$Event;-><init>(Landroid/app/usage/UsageEvents$Event;)V
 HSPLandroid/app/usage/UsageEvents$Event;->getEventType()I
-HSPLandroid/app/usage/UsageEvents$Event;->getPackageName()Ljava/lang/String;
-HSPLandroid/app/usage/UsageEvents$Event;->getShortcutId()Ljava/lang/String;
 HSPLandroid/app/usage/UsageEvents$Event;->getTimeStamp()J
 HSPLandroid/app/usage/UsageEvents;-><init>()V
 HSPLandroid/app/usage/UsageEvents;-><init>(Landroid/os/Parcel;)V
@@ -16435,96 +15859,55 @@
 HSPLandroid/app/usage/UsageStats$1;-><init>()V
 HSPLandroid/app/usage/UsageStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/app/usage/UsageStats;
 HSPLandroid/app/usage/UsageStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/app/usage/UsageStats$1;->readBundleToEventMap(Landroid/os/Bundle;Landroid/util/ArrayMap;)V
+HSPLandroid/app/usage/UsageStats;-><init>()V
+HSPLandroid/app/usage/UsageStats;->eventMapToBundle(Landroid/util/ArrayMap;)Landroid/os/Bundle;
+HSPLandroid/app/usage/UsageStats;->getTotalTimeInForeground()J
+HSPLandroid/app/usage/UsageStats;->update(Ljava/lang/String;JII)V
+HSPLandroid/app/usage/UsageStats;->updateActivity(Ljava/lang/String;JII)V
+HSPLandroid/app/usage/UsageStats;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/app/usage/UsageStatsManager;->onCarrierPrivilegedAppsChanged()V
-HSPLandroid/app/usage/UsageStatsManager;->queryAndAggregateUsageStats(JJ)Ljava/util/Map;
 HSPLandroid/app/usage/UsageStatsManager;->queryEvents(JJ)Landroid/app/usage/UsageEvents;
-HSPLandroid/app/usage/UsageStatsManager;->queryUsageStats(IJJ)Ljava/util/List;
 HSPLandroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;->onUserInteractionStarted(Ljava/lang/String;I)V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->addAppIdleStateChangeListener(Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;)V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->applyRestoredPayload(ILjava/lang/String;[B)V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->getAppStandbyBucket(Ljava/lang/String;IJ)I
-HSPLandroid/app/usage/UsageStatsManagerInternal;->getBackupPayload(ILjava/lang/String;)[B
-HSPLandroid/app/usage/UsageStatsManagerInternal;->getIdleUidsForUser(I)[I
-HSPLandroid/app/usage/UsageStatsManagerInternal;->getTimeSinceLastJobRun(Ljava/lang/String;I)J
-HSPLandroid/app/usage/UsageStatsManagerInternal;->isAppIdle(Ljava/lang/String;II)Z
-HSPLandroid/app/usage/UsageStatsManagerInternal;->isAppIdleParoleOn()Z
-HSPLandroid/app/usage/UsageStatsManagerInternal;->onActiveAdminAdded(Ljava/lang/String;I)V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->onAdminDataAvailable()V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->prepareShutdown()V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->queryUsageStatsForUser(IIJJZ)Ljava/util/List;
-HSPLandroid/app/usage/UsageStatsManagerInternal;->removeAppIdleStateChangeListener(Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;)V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->reportAppJobState(Ljava/lang/String;IIJ)V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->reportConfigurationChange(Landroid/content/res/Configuration;I)V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->reportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->reportEvent(Landroid/content/ComponentName;II)V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->reportEvent(Ljava/lang/String;II)V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->reportExemptedSyncStart(Ljava/lang/String;I)V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->reportInterruptiveNotification(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->reportShortcutUsage(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->setActiveAdminApps(Ljava/util/Set;I)V
-HSPLandroid/app/usage/UsageStatsManagerInternal;->setLastJobRunTime(Ljava/lang/String;IJ)V
-HSPLandroid/appwidget/-$$Lambda$AppWidgetHostView$AzPWN1sIsRb7M-0Ss1rK2mksT-o;-><init>()V
-HSPLandroid/appwidget/AppWidgetHost;-><init>(Landroid/content/Context;I)V
-HSPLandroid/appwidget/AppWidgetHost;-><init>(Landroid/content/Context;ILandroid/widget/RemoteViews$OnClickHandler;Landroid/os/Looper;)V
-HSPLandroid/appwidget/AppWidgetHost;->bindService(Landroid/content/Context;)V
-HSPLandroid/appwidget/AppWidgetHost;->clearViews()V
-HSPLandroid/appwidget/AppWidgetHost;->startListening()V
-HSPLandroid/appwidget/AppWidgetHostView;->getDefaultPaddingForWidget(Landroid/content/Context;Landroid/content/ComponentName;Landroid/graphics/Rect;)Landroid/graphics/Rect;
-HSPLandroid/appwidget/AppWidgetHostView;->getDefaultPaddingForWidget(Landroid/content/Context;Landroid/content/pm/ApplicationInfo;Landroid/graphics/Rect;)Landroid/graphics/Rect;
 HSPLandroid/appwidget/AppWidgetManager;->getAppWidgetIds(Landroid/content/ComponentName;)[I
-HSPLandroid/appwidget/AppWidgetManager;->getAppWidgetOptions(I)Landroid/os/Bundle;
-HSPLandroid/appwidget/AppWidgetManager;->getInstalledProvidersForProfile(ILandroid/os/UserHandle;Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/appwidget/AppWidgetManager;->getInstalledProvidersForProfile(Landroid/os/UserHandle;)Ljava/util/List;
 HSPLandroid/appwidget/AppWidgetManager;->getInstance(Landroid/content/Context;)Landroid/appwidget/AppWidgetManager;
 HSPLandroid/appwidget/AppWidgetManager;->isBoundWidgetPackage(Ljava/lang/String;I)Z
-HSPLandroid/appwidget/AppWidgetManager;->partiallyUpdateAppWidget(ILandroid/widget/RemoteViews;)V
-HSPLandroid/appwidget/AppWidgetManager;->partiallyUpdateAppWidget([ILandroid/widget/RemoteViews;)V
 HSPLandroid/appwidget/AppWidgetManager;->updateAppWidget(Landroid/content/ComponentName;Landroid/widget/RemoteViews;)V
-HSPLandroid/appwidget/AppWidgetManagerInternal;->getHostedWidgetPackages(I)Landroid/util/ArraySet;
-HSPLandroid/appwidget/AppWidgetProvider;-><init>()V
-HSPLandroid/appwidget/AppWidgetProvider;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLandroid/appwidget/AppWidgetProviderInfo$1;-><init>()V
-HSPLandroid/appwidget/AppWidgetProviderInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/appwidget/AppWidgetProviderInfo;
-HSPLandroid/appwidget/AppWidgetProviderInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/appwidget/AppWidgetProviderInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/appwidget/AppWidgetProviderInfo;->getProfile()Landroid/os/UserHandle;
-HSPLandroid/appwidget/AppWidgetProviderInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/String;
-HSPLandroid/appwidget/AppWidgetProviderInfo;->updateDimensions(Landroid/util/DisplayMetrics;)V
-HSPLandroid/appwidget/AppWidgetProviderInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/bluetooth/BluetoothA2dp$1;->onBluetoothStateChange(Z)V
 HSPLandroid/bluetooth/BluetoothA2dp$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
 HSPLandroid/bluetooth/BluetoothA2dp;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
 HSPLandroid/bluetooth/BluetoothA2dp;->doBind()Z
-HSPLandroid/bluetooth/BluetoothA2dp;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
 HSPLandroid/bluetooth/BluetoothA2dp;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/BluetoothAdapter$1;->onBluetoothServiceUp(Landroid/bluetooth/IBluetooth;)V
+HSPLandroid/bluetooth/BluetoothActivityEnergyInfo$1;-><init>()V
+HSPLandroid/bluetooth/BluetoothAdapter$1;-><init>()V
+HSPLandroid/bluetooth/BluetoothAdapter$2;->onBluetoothServiceUp(Landroid/bluetooth/IBluetooth;)V
 HSPLandroid/bluetooth/BluetoothAdapter;-><init>(Landroid/bluetooth/IBluetoothManager;)V
 HSPLandroid/bluetooth/BluetoothAdapter;->checkBluetoothAddress(Ljava/lang/String;)Z
-HSPLandroid/bluetooth/BluetoothAdapter;->createNewRfcommSocketAndRecord(Ljava/lang/String;Ljava/util/UUID;ZZ)Landroid/bluetooth/BluetoothServerSocket;
+HSPLandroid/bluetooth/BluetoothAdapter;->enableBLE()Z
 HSPLandroid/bluetooth/BluetoothAdapter;->getAddress()Ljava/lang/String;
+HSPLandroid/bluetooth/BluetoothAdapter;->getBluetoothLeScanner()Landroid/bluetooth/le/BluetoothLeScanner;
 HSPLandroid/bluetooth/BluetoothAdapter;->getBluetoothService(Landroid/bluetooth/IBluetoothManagerCallback;)Landroid/bluetooth/IBluetooth;
 HSPLandroid/bluetooth/BluetoothAdapter;->getBondedDevices()Ljava/util/Set;
 HSPLandroid/bluetooth/BluetoothAdapter;->getDefaultAdapter()Landroid/bluetooth/BluetoothAdapter;
-HSPLandroid/bluetooth/BluetoothAdapter;->getName()Ljava/lang/String;
-HSPLandroid/bluetooth/BluetoothAdapter;->getProfileConnectionState(I)I
+HSPLandroid/bluetooth/BluetoothAdapter;->getLeState()I
 HSPLandroid/bluetooth/BluetoothAdapter;->getProfileProxy(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;I)Z
 HSPLandroid/bluetooth/BluetoothAdapter;->getRemoteDevice(Ljava/lang/String;)Landroid/bluetooth/BluetoothDevice;
 HSPLandroid/bluetooth/BluetoothAdapter;->getState()I
 HSPLandroid/bluetooth/BluetoothAdapter;->getSupportedProfiles()Ljava/util/List;
 HSPLandroid/bluetooth/BluetoothAdapter;->getUuids()[Landroid/os/ParcelUuid;
+HSPLandroid/bluetooth/BluetoothAdapter;->isBleScanAlwaysAvailable()Z
 HSPLandroid/bluetooth/BluetoothAdapter;->isEnabled()Z
+HSPLandroid/bluetooth/BluetoothAdapter;->isHearingAidProfileSupported()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/BluetoothAdapter;->listenUsingRfcommWithServiceRecord(Ljava/lang/String;Ljava/util/UUID;)Landroid/bluetooth/BluetoothServerSocket;
 HSPLandroid/bluetooth/BluetoothAdapter;->nameForState(I)Ljava/lang/String;
 HSPLandroid/bluetooth/BluetoothClass$1;-><init>()V
 HSPLandroid/bluetooth/BluetoothClass;-><init>(I)V
-HSPLandroid/bluetooth/BluetoothClass;->getDeviceClass()I
-HSPLandroid/bluetooth/BluetoothClass;->getMajorDeviceClass()I
 HSPLandroid/bluetooth/BluetoothClass;->toString()Ljava/lang/String;
 HSPLandroid/bluetooth/BluetoothClass;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/bluetooth/BluetoothCodecConfig$1;-><init>()V
@@ -16558,20 +15941,18 @@
 HSPLandroid/bluetooth/BluetoothDevice;->hashCode()I
 HSPLandroid/bluetooth/BluetoothDevice;->toString()Ljava/lang/String;
 HSPLandroid/bluetooth/BluetoothDevice;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/bluetooth/BluetoothGattCallback;-><init>()V
+HSPLandroid/bluetooth/BluetoothGattServerCallback;-><init>()V
 HSPLandroid/bluetooth/BluetoothHeadset$1;->onBluetoothStateChange(Z)V
 HSPLandroid/bluetooth/BluetoothHeadset$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)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;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
 HSPLandroid/bluetooth/BluetoothHeadset;->getConnectedDevices()Ljava/util/List;
 HSPLandroid/bluetooth/BluetoothHeadset;->isInbandRingingSupported(Landroid/content/Context;)Z
-HSPLandroid/bluetooth/BluetoothHeadset;->phoneStateChanged(IIILjava/lang/String;I)V
-HSPLandroid/bluetooth/BluetoothHearingAid$1;->onBluetoothStateChange(Z)V
 HSPLandroid/bluetooth/BluetoothHearingAid$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
 HSPLandroid/bluetooth/BluetoothHearingAid;-><init>(Landroid/content/Context;Landroid/bluetooth/BluetoothProfile$ServiceListener;)V
 HSPLandroid/bluetooth/BluetoothHearingAid;->doBind()V
-HSPLandroid/bluetooth/BluetoothHearingAid;->getActiveDevices()Ljava/util/List;
 HSPLandroid/bluetooth/BluetoothHearingAid;->getConnectedDevices()Ljava/util/List;
 HSPLandroid/bluetooth/BluetoothHearingAid;->getHiSyncId(Landroid/bluetooth/BluetoothDevice;)J
 HSPLandroid/bluetooth/BluetoothHidDevice$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
@@ -16587,19 +15968,16 @@
 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$ServiceListener;->onServiceConnected(Landroid/bluetooth/BluetoothPbap;)V
-HSPLandroid/bluetooth/BluetoothPbap$ServiceListener;->onServiceDisconnected()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/BluetoothProfile$ServiceListener;->onServiceConnected(ILandroid/bluetooth/BluetoothProfile;)V
-HSPLandroid/bluetooth/BluetoothProfile$ServiceListener;->onServiceDisconnected(I)V
+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
+HSPLandroid/bluetooth/BluetoothSap;->getConnectedDevices()Ljava/util/List;
 HSPLandroid/bluetooth/BluetoothServerSocket;-><init>(IZZIZZ)V
 HSPLandroid/bluetooth/BluetoothServerSocket;->accept()Landroid/bluetooth/BluetoothSocket;
 HSPLandroid/bluetooth/BluetoothServerSocket;->getChannel()I
@@ -16613,402 +15991,145 @@
 HSPLandroid/bluetooth/BluetoothSocket;->waitSocketSignal(Ljava/io/InputStream;)Ljava/lang/String;
 HSPLandroid/bluetooth/BluetoothUuid;->containsAnyUuid([Landroid/os/ParcelUuid;[Landroid/os/ParcelUuid;)Z
 HSPLandroid/bluetooth/BluetoothUuid;->isUuidPresent([Landroid/os/ParcelUuid;Landroid/os/ParcelUuid;)Z
+HSPLandroid/bluetooth/BluetoothUuid;->parseUuidFrom([B)Landroid/os/ParcelUuid;
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 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;->getPhonebookAccessPermission(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getProfileConnectionState(I)I
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteAlias(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteClass(Landroid/bluetooth/BluetoothDevice;)I
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteName(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getRemoteUuids(Landroid/bluetooth/BluetoothDevice;)[Landroid/os/ParcelUuid;
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getSocketManager()Landroid/bluetooth/IBluetoothSocketManager;
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getState()I
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getSupportedProfiles()J
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->getUuids()[Landroid/os/ParcelUuid;
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->isEnabled()Z
-HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->onLeServiceUp()V
+HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->isOffloadedFilteringSupported()Z
 HSPLandroid/bluetooth/IBluetooth$Stub$Proxy;->registerCallback(Landroid/bluetooth/IBluetoothCallback;)V
 HSPLandroid/bluetooth/IBluetooth$Stub;-><init>()V
 HSPLandroid/bluetooth/IBluetooth$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetooth;
 HSPLandroid/bluetooth/IBluetooth$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetooth;->cancelBondProcess(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetooth;->cancelDiscovery()Z
-HSPLandroid/bluetooth/IBluetooth;->createBond(Landroid/bluetooth/BluetoothDevice;I)Z
-HSPLandroid/bluetooth/IBluetooth;->createBondOutOfBand(Landroid/bluetooth/BluetoothDevice;ILandroid/bluetooth/OobData;)Z
-HSPLandroid/bluetooth/IBluetooth;->disable()Z
-HSPLandroid/bluetooth/IBluetooth;->enable()Z
-HSPLandroid/bluetooth/IBluetooth;->enableNoAutoConnect()Z
-HSPLandroid/bluetooth/IBluetooth;->factoryReset()Z
-HSPLandroid/bluetooth/IBluetooth;->fetchRemoteUuids(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetooth;->getAdapterConnectionState()I
-HSPLandroid/bluetooth/IBluetooth;->getAddress()Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetooth;->getBatteryLevel(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetooth;->getBluetoothClass()Landroid/bluetooth/BluetoothClass;
-HSPLandroid/bluetooth/IBluetooth;->getBondState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetooth;->getBondedDevices()[Landroid/bluetooth/BluetoothDevice;
-HSPLandroid/bluetooth/IBluetooth;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetooth;->getDiscoverableTimeout()I
-HSPLandroid/bluetooth/IBluetooth;->getDiscoveryEndMillis()J
-HSPLandroid/bluetooth/IBluetooth;->getLeMaximumAdvertisingDataLength()I
-HSPLandroid/bluetooth/IBluetooth;->getMaxConnectedAudioDevices()I
-HSPLandroid/bluetooth/IBluetooth;->getMessageAccessPermission(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetooth;->getName()Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetooth;->getPhonebookAccessPermission(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetooth;->getProfileConnectionState(I)I
-HSPLandroid/bluetooth/IBluetooth;->getRemoteAlias(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetooth;->getRemoteClass(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetooth;->getRemoteName(Landroid/bluetooth/BluetoothDevice;)Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetooth;->getRemoteType(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetooth;->getRemoteUuids(Landroid/bluetooth/BluetoothDevice;)[Landroid/os/ParcelUuid;
-HSPLandroid/bluetooth/IBluetooth;->getScanMode()I
-HSPLandroid/bluetooth/IBluetooth;->getSimAccessPermission(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetooth;->getSocketManager()Landroid/bluetooth/IBluetoothSocketManager;
-HSPLandroid/bluetooth/IBluetooth;->getState()I
-HSPLandroid/bluetooth/IBluetooth;->getSupportedProfiles()J
-HSPLandroid/bluetooth/IBluetooth;->getUuids()[Landroid/os/ParcelUuid;
-HSPLandroid/bluetooth/IBluetooth;->isActivityAndEnergyReportingSupported()Z
-HSPLandroid/bluetooth/IBluetooth;->isBondingInitiatedLocally(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetooth;->isDiscovering()Z
-HSPLandroid/bluetooth/IBluetooth;->isEnabled()Z
-HSPLandroid/bluetooth/IBluetooth;->isLe2MPhySupported()Z
-HSPLandroid/bluetooth/IBluetooth;->isLeCodedPhySupported()Z
-HSPLandroid/bluetooth/IBluetooth;->isLeExtendedAdvertisingSupported()Z
-HSPLandroid/bluetooth/IBluetooth;->isLePeriodicAdvertisingSupported()Z
-HSPLandroid/bluetooth/IBluetooth;->isMultiAdvertisementSupported()Z
-HSPLandroid/bluetooth/IBluetooth;->isOffloadedFilteringSupported()Z
-HSPLandroid/bluetooth/IBluetooth;->isOffloadedScanBatchingSupported()Z
-HSPLandroid/bluetooth/IBluetooth;->onBrEdrDown()V
-HSPLandroid/bluetooth/IBluetooth;->onLeServiceUp()V
-HSPLandroid/bluetooth/IBluetooth;->registerCallback(Landroid/bluetooth/IBluetoothCallback;)V
-HSPLandroid/bluetooth/IBluetooth;->removeBond(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetooth;->reportActivityInfo()Landroid/bluetooth/BluetoothActivityEnergyInfo;
-HSPLandroid/bluetooth/IBluetooth;->requestActivityInfo(Landroid/os/ResultReceiver;)V
-HSPLandroid/bluetooth/IBluetooth;->sdpSearch(Landroid/bluetooth/BluetoothDevice;Landroid/os/ParcelUuid;)Z
-HSPLandroid/bluetooth/IBluetooth;->sendConnectionStateChange(Landroid/bluetooth/BluetoothDevice;III)V
-HSPLandroid/bluetooth/IBluetooth;->setBluetoothClass(Landroid/bluetooth/BluetoothClass;)Z
-HSPLandroid/bluetooth/IBluetooth;->setDiscoverableTimeout(I)Z
-HSPLandroid/bluetooth/IBluetooth;->setMessageAccessPermission(Landroid/bluetooth/BluetoothDevice;I)Z
-HSPLandroid/bluetooth/IBluetooth;->setName(Ljava/lang/String;)Z
-HSPLandroid/bluetooth/IBluetooth;->setPairingConfirmation(Landroid/bluetooth/BluetoothDevice;Z)Z
-HSPLandroid/bluetooth/IBluetooth;->setPasskey(Landroid/bluetooth/BluetoothDevice;ZI[B)Z
-HSPLandroid/bluetooth/IBluetooth;->setPhonebookAccessPermission(Landroid/bluetooth/BluetoothDevice;I)Z
-HSPLandroid/bluetooth/IBluetooth;->setPin(Landroid/bluetooth/BluetoothDevice;ZI[B)Z
-HSPLandroid/bluetooth/IBluetooth;->setRemoteAlias(Landroid/bluetooth/BluetoothDevice;Ljava/lang/String;)Z
-HSPLandroid/bluetooth/IBluetooth;->setScanMode(II)Z
-HSPLandroid/bluetooth/IBluetooth;->setSimAccessPermission(Landroid/bluetooth/BluetoothDevice;I)Z
-HSPLandroid/bluetooth/IBluetooth;->startDiscovery()Z
-HSPLandroid/bluetooth/IBluetooth;->unregisterCallback(Landroid/bluetooth/IBluetoothCallback;)V
-HSPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
 HSPLandroid/bluetooth/IBluetoothA2dp$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
 HSPLandroid/bluetooth/IBluetoothA2dp$Stub;-><init>()V
 HSPLandroid/bluetooth/IBluetoothA2dp$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothA2dp;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothA2dp;->disableOptionalCodecs(Landroid/bluetooth/BluetoothDevice;)V
-HSPLandroid/bluetooth/IBluetoothA2dp;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothA2dp;->enableOptionalCodecs(Landroid/bluetooth/BluetoothDevice;)V
-HSPLandroid/bluetooth/IBluetoothA2dp;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
-HSPLandroid/bluetooth/IBluetoothA2dp;->getCodecStatus(Landroid/bluetooth/BluetoothDevice;)Landroid/bluetooth/BluetoothCodecStatus;
-HSPLandroid/bluetooth/IBluetoothA2dp;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothA2dp;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothA2dp;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothA2dp;->getOptionalCodecsEnabled(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothA2dp;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothA2dp;->isA2dpPlaying(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothA2dp;->isAvrcpAbsoluteVolumeSupported()Z
-HSPLandroid/bluetooth/IBluetoothA2dp;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothA2dp;->setAvrcpAbsoluteVolume(I)V
-HSPLandroid/bluetooth/IBluetoothA2dp;->setCodecConfigPreference(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothCodecConfig;)V
-HSPLandroid/bluetooth/IBluetoothA2dp;->setOptionalCodecsEnabled(Landroid/bluetooth/BluetoothDevice;I)V
-HSPLandroid/bluetooth/IBluetoothA2dp;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-HSPLandroid/bluetooth/IBluetoothA2dp;->supportsOptionalCodecs(Landroid/bluetooth/BluetoothDevice;)I
 HSPLandroid/bluetooth/IBluetoothAvrcpTarget$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetoothAvrcpTarget;->sendVolumeChanged(I)V
 HSPLandroid/bluetooth/IBluetoothCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/bluetooth/IBluetoothCallback$Stub$Proxy;->onBluetoothStateChange(II)V
 HSPLandroid/bluetooth/IBluetoothCallback$Stub;-><init>()V
 HSPLandroid/bluetooth/IBluetoothCallback$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/bluetooth/IBluetoothCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothCallback;
 HSPLandroid/bluetooth/IBluetoothCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothCallback;->onBluetoothStateChange(II)V
+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;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothGatt;
-HSPLandroid/bluetooth/IBluetoothGatt;->addService(ILandroid/bluetooth/BluetoothGattService;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->beginReliableWrite(ILjava/lang/String;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->clearServices(I)V
-HSPLandroid/bluetooth/IBluetoothGatt;->clientConnect(ILjava/lang/String;ZIZI)V
-HSPLandroid/bluetooth/IBluetoothGatt;->clientDisconnect(ILjava/lang/String;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->clientReadPhy(ILjava/lang/String;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->clientSetPreferredPhy(ILjava/lang/String;III)V
-HSPLandroid/bluetooth/IBluetoothGatt;->configureMTU(ILjava/lang/String;I)V
-HSPLandroid/bluetooth/IBluetoothGatt;->connectionParameterUpdate(ILjava/lang/String;I)V
-HSPLandroid/bluetooth/IBluetoothGatt;->disconnectAll()V
-HSPLandroid/bluetooth/IBluetoothGatt;->discoverServiceByUuid(ILjava/lang/String;Landroid/os/ParcelUuid;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->discoverServices(ILjava/lang/String;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->enableAdvertisingSet(IZII)V
-HSPLandroid/bluetooth/IBluetoothGatt;->endReliableWrite(ILjava/lang/String;Z)V
-HSPLandroid/bluetooth/IBluetoothGatt;->flushPendingBatchResults(I)V
-HSPLandroid/bluetooth/IBluetoothGatt;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothGatt;->getOwnAddress(I)V
-HSPLandroid/bluetooth/IBluetoothGatt;->leConnectionUpdate(ILjava/lang/String;IIIIII)V
-HSPLandroid/bluetooth/IBluetoothGatt;->numHwTrackFiltersAvailable()I
-HSPLandroid/bluetooth/IBluetoothGatt;->readCharacteristic(ILjava/lang/String;II)V
-HSPLandroid/bluetooth/IBluetoothGatt;->readDescriptor(ILjava/lang/String;II)V
-HSPLandroid/bluetooth/IBluetoothGatt;->readRemoteRssi(ILjava/lang/String;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->readUsingCharacteristicUuid(ILjava/lang/String;Landroid/os/ParcelUuid;III)V
-HSPLandroid/bluetooth/IBluetoothGatt;->refreshDevice(ILjava/lang/String;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->registerClient(Landroid/os/ParcelUuid;Landroid/bluetooth/IBluetoothGattCallback;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->registerForNotification(ILjava/lang/String;IZ)V
-HSPLandroid/bluetooth/IBluetoothGatt;->registerScanner(Landroid/bluetooth/le/IScannerCallback;Landroid/os/WorkSource;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->registerServer(Landroid/os/ParcelUuid;Landroid/bluetooth/IBluetoothGattServerCallback;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->registerSync(Landroid/bluetooth/le/ScanResult;IILandroid/bluetooth/le/IPeriodicAdvertisingCallback;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->removeService(II)V
-HSPLandroid/bluetooth/IBluetoothGatt;->sendNotification(ILjava/lang/String;IZ[B)V
-HSPLandroid/bluetooth/IBluetoothGatt;->sendResponse(ILjava/lang/String;III[B)V
-HSPLandroid/bluetooth/IBluetoothGatt;->serverConnect(ILjava/lang/String;ZI)V
-HSPLandroid/bluetooth/IBluetoothGatt;->serverDisconnect(ILjava/lang/String;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->serverReadPhy(ILjava/lang/String;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->serverSetPreferredPhy(ILjava/lang/String;III)V
-HSPLandroid/bluetooth/IBluetoothGatt;->setAdvertisingData(ILandroid/bluetooth/le/AdvertiseData;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->setAdvertisingParameters(ILandroid/bluetooth/le/AdvertisingSetParameters;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->setPeriodicAdvertisingData(ILandroid/bluetooth/le/AdvertiseData;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->setPeriodicAdvertisingEnable(IZ)V
-HSPLandroid/bluetooth/IBluetoothGatt;->setPeriodicAdvertisingParameters(ILandroid/bluetooth/le/PeriodicAdvertisingParameters;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->setScanResponseData(ILandroid/bluetooth/le/AdvertiseData;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->startAdvertisingSet(Landroid/bluetooth/le/AdvertisingSetParameters;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/AdvertiseData;Landroid/bluetooth/le/PeriodicAdvertisingParameters;Landroid/bluetooth/le/AdvertiseData;IILandroid/bluetooth/le/IAdvertisingSetCallback;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->startScan(ILandroid/bluetooth/le/ScanSettings;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->startScanForIntent(Landroid/app/PendingIntent;Landroid/bluetooth/le/ScanSettings;Ljava/util/List;Ljava/lang/String;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->stopAdvertisingSet(Landroid/bluetooth/le/IAdvertisingSetCallback;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->stopScan(I)V
-HSPLandroid/bluetooth/IBluetoothGatt;->stopScanForIntent(Landroid/app/PendingIntent;Ljava/lang/String;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->unregAll()V
-HSPLandroid/bluetooth/IBluetoothGatt;->unregisterClient(I)V
-HSPLandroid/bluetooth/IBluetoothGatt;->unregisterScanner(I)V
-HSPLandroid/bluetooth/IBluetoothGatt;->unregisterServer(I)V
-HSPLandroid/bluetooth/IBluetoothGatt;->unregisterSync(Landroid/bluetooth/le/IPeriodicAdvertisingCallback;)V
-HSPLandroid/bluetooth/IBluetoothGatt;->writeCharacteristic(ILjava/lang/String;III[B)V
-HSPLandroid/bluetooth/IBluetoothGatt;->writeDescriptor(ILjava/lang/String;II[B)V
-HSPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
 HSPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHeadset$Stub$Proxy;->phoneStateChanged(IIILjava/lang/String;I)V
 HSPLandroid/bluetooth/IBluetoothHeadset$Stub;-><init>()V
 HSPLandroid/bluetooth/IBluetoothHeadset$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothHeadset;->clccResponse(IIIIZLjava/lang/String;I)V
-HSPLandroid/bluetooth/IBluetoothHeadset;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothHeadset;->connectAudio()Z
-HSPLandroid/bluetooth/IBluetoothHeadset;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothHeadset;->disconnectAudio()Z
-HSPLandroid/bluetooth/IBluetoothHeadset;->getActiveDevice()Landroid/bluetooth/BluetoothDevice;
-HSPLandroid/bluetooth/IBluetoothHeadset;->getAudioRouteAllowed()Z
-HSPLandroid/bluetooth/IBluetoothHeadset;->getAudioState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothHeadset;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHeadset;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothHeadset;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHeadset;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothHeadset;->isAudioConnected(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothHeadset;->isAudioOn()Z
-HSPLandroid/bluetooth/IBluetoothHeadset;->isInbandRingingEnabled()Z
-HSPLandroid/bluetooth/IBluetoothHeadset;->phoneStateChanged(IIILjava/lang/String;I)V
-HSPLandroid/bluetooth/IBluetoothHeadset;->sendVendorSpecificResultCode(Landroid/bluetooth/BluetoothDevice;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/bluetooth/IBluetoothHeadset;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothHeadset;->setAudioRouteAllowed(Z)V
-HSPLandroid/bluetooth/IBluetoothHeadset;->setForceScoAudio(Z)V
-HSPLandroid/bluetooth/IBluetoothHeadset;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-HSPLandroid/bluetooth/IBluetoothHeadset;->startScoUsingVirtualVoiceCall()Z
-HSPLandroid/bluetooth/IBluetoothHeadset;->startVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothHeadset;->stopScoUsingVirtualVoiceCall()Z
-HSPLandroid/bluetooth/IBluetoothHeadset;->stopVoiceRecognition(Landroid/bluetooth/BluetoothDevice;)Z
 HSPLandroid/bluetooth/IBluetoothHeadsetPhone$Stub;-><init>()V
 HSPLandroid/bluetooth/IBluetoothHeadsetPhone$Stub;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothHeadsetPhone;
-HSPLandroid/bluetooth/IBluetoothHeadsetPhone;->answerCall()Z
-HSPLandroid/bluetooth/IBluetoothHeadsetPhone;->cdmaSetSecondCallState(Z)V
-HSPLandroid/bluetooth/IBluetoothHeadsetPhone;->cdmaSwapSecondCallState()V
-HSPLandroid/bluetooth/IBluetoothHeadsetPhone;->getNetworkOperator()Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetoothHeadsetPhone;->getSubscriberNumber()Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetoothHeadsetPhone;->hangupCall()Z
-HSPLandroid/bluetooth/IBluetoothHeadsetPhone;->listCurrentCalls()Z
-HSPLandroid/bluetooth/IBluetoothHeadsetPhone;->processChld(I)Z
-HSPLandroid/bluetooth/IBluetoothHeadsetPhone;->queryPhoneState()Z
-HSPLandroid/bluetooth/IBluetoothHeadsetPhone;->sendDtmf(I)Z
-HSPLandroid/bluetooth/IBluetoothHeadsetPhone;->updateBtHandsfreeAfterRadioTechnologyChange()V
-HSPLandroid/bluetooth/IBluetoothHealth$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetoothHealth;->connectChannelToSink(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;I)Z
-HSPLandroid/bluetooth/IBluetoothHealth;->connectChannelToSource(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;)Z
-HSPLandroid/bluetooth/IBluetoothHealth;->disconnectChannel(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;I)Z
-HSPLandroid/bluetooth/IBluetoothHealth;->getConnectedHealthDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHealth;->getHealthDeviceConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothHealth;->getHealthDevicesMatchingConnectionStates([I)Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHealth;->getMainChannelFd(Landroid/bluetooth/BluetoothDevice;Landroid/bluetooth/BluetoothHealthAppConfiguration;)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/bluetooth/IBluetoothHealth;->registerAppConfiguration(Landroid/bluetooth/BluetoothHealthAppConfiguration;Landroid/bluetooth/IBluetoothHealthCallback;)Z
-HSPLandroid/bluetooth/IBluetoothHealth;->unregisterAppConfiguration(Landroid/bluetooth/BluetoothHealthAppConfiguration;)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
 HSPLandroid/bluetooth/IBluetoothHearingAid$Stub;-><init>()V
 HSPLandroid/bluetooth/IBluetoothHearingAid$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothHearingAid;->adjustVolume(I)V
-HSPLandroid/bluetooth/IBluetoothHearingAid;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothHearingAid;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothHearingAid;->getActiveDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHearingAid;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHearingAid;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothHearingAid;->getDeviceMode(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothHearingAid;->getDeviceSide(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothHearingAid;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHearingAid;->getHiSyncId(Landroid/bluetooth/BluetoothDevice;)J
-HSPLandroid/bluetooth/IBluetoothHearingAid;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothHearingAid;->getVolume()I
-HSPLandroid/bluetooth/IBluetoothHearingAid;->setActiveDevice(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothHearingAid;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-HSPLandroid/bluetooth/IBluetoothHearingAid;->setVolume(I)V
 HSPLandroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
 HSPLandroid/bluetooth/IBluetoothHidDevice$Stub;-><init>()V
 HSPLandroid/bluetooth/IBluetoothHidDevice$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothHidDevice;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothHidDevice;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothHidDevice;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHidDevice;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothHidDevice;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHidDevice;->getUserAppName()Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetoothHidDevice;->registerApp(Landroid/bluetooth/BluetoothHidDeviceAppSdpSettings;Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;Landroid/bluetooth/IBluetoothHidDeviceCallback;)Z
-HSPLandroid/bluetooth/IBluetoothHidDevice;->replyReport(Landroid/bluetooth/BluetoothDevice;BB[B)Z
-HSPLandroid/bluetooth/IBluetoothHidDevice;->reportError(Landroid/bluetooth/BluetoothDevice;B)Z
-HSPLandroid/bluetooth/IBluetoothHidDevice;->sendReport(Landroid/bluetooth/BluetoothDevice;I[B)Z
-HSPLandroid/bluetooth/IBluetoothHidDevice;->unplug(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothHidDevice;->unregisterApp()Z
 HSPLandroid/bluetooth/IBluetoothHidHost$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
 HSPLandroid/bluetooth/IBluetoothHidHost$Stub;-><init>()V
 HSPLandroid/bluetooth/IBluetoothHidHost$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothHidHost;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothHidHost;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothHidHost;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHidHost;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothHidHost;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothHidHost;->getIdleTime(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothHidHost;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothHidHost;->getProtocolMode(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothHidHost;->getReport(Landroid/bluetooth/BluetoothDevice;BBI)Z
-HSPLandroid/bluetooth/IBluetoothHidHost;->sendData(Landroid/bluetooth/BluetoothDevice;Ljava/lang/String;)Z
-HSPLandroid/bluetooth/IBluetoothHidHost;->setIdleTime(Landroid/bluetooth/BluetoothDevice;B)Z
-HSPLandroid/bluetooth/IBluetoothHidHost;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
-HSPLandroid/bluetooth/IBluetoothHidHost;->setProtocolMode(Landroid/bluetooth/BluetoothDevice;I)Z
-HSPLandroid/bluetooth/IBluetoothHidHost;->setReport(Landroid/bluetooth/BluetoothDevice;BLjava/lang/String;)Z
-HSPLandroid/bluetooth/IBluetoothHidHost;->virtualUnplug(Landroid/bluetooth/BluetoothDevice;)Z
 HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->bindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)Z
 HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->getAddress()Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->getName()Ljava/lang/String;
+HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->getBluetoothGatt()Landroid/bluetooth/IBluetoothGatt;
+HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->isBleScanAlwaysAvailable()Z
+HSPLandroid/bluetooth/IBluetoothManager$Stub$Proxy;->isHearingAidProfileSupported()Z
 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$Proxy;->updateBleAppCount(Landroid/os/IBinder;ZLjava/lang/String;)I
 HSPLandroid/bluetooth/IBluetoothManager$Stub;-><init>()V
 HSPLandroid/bluetooth/IBluetoothManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothManager;->bindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)Z
-HSPLandroid/bluetooth/IBluetoothManager;->disable(Ljava/lang/String;Z)Z
-HSPLandroid/bluetooth/IBluetoothManager;->enable(Ljava/lang/String;)Z
-HSPLandroid/bluetooth/IBluetoothManager;->enableNoAutoConnect(Ljava/lang/String;)Z
-HSPLandroid/bluetooth/IBluetoothManager;->getAddress()Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetoothManager;->getBluetoothGatt()Landroid/bluetooth/IBluetoothGatt;
-HSPLandroid/bluetooth/IBluetoothManager;->getName()Ljava/lang/String;
-HSPLandroid/bluetooth/IBluetoothManager;->getState()I
-HSPLandroid/bluetooth/IBluetoothManager;->isBleAppPresent()Z
-HSPLandroid/bluetooth/IBluetoothManager;->isBleScanAlwaysAvailable()Z
-HSPLandroid/bluetooth/IBluetoothManager;->isEnabled()Z
-HSPLandroid/bluetooth/IBluetoothManager;->registerAdapter(Landroid/bluetooth/IBluetoothManagerCallback;)Landroid/bluetooth/IBluetooth;
-HSPLandroid/bluetooth/IBluetoothManager;->registerStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
-HSPLandroid/bluetooth/IBluetoothManager;->unbindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)V
-HSPLandroid/bluetooth/IBluetoothManager;->unregisterAdapter(Landroid/bluetooth/IBluetoothManagerCallback;)V
-HSPLandroid/bluetooth/IBluetoothManager;->unregisterStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
-HSPLandroid/bluetooth/IBluetoothManager;->updateBleAppCount(Landroid/os/IBinder;ZLjava/lang/String;)I
 HSPLandroid/bluetooth/IBluetoothManagerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/bluetooth/IBluetoothManagerCallback$Stub$Proxy;->onBluetoothServiceUp(Landroid/bluetooth/IBluetooth;)V
 HSPLandroid/bluetooth/IBluetoothManagerCallback$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/bluetooth/IBluetoothManagerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/bluetooth/IBluetoothMap$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothMap$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
 HSPLandroid/bluetooth/IBluetoothMap$Stub;-><init>()V
 HSPLandroid/bluetooth/IBluetoothMap$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothMap;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothMap;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothMap;->getClient()Landroid/bluetooth/BluetoothDevice;
-HSPLandroid/bluetooth/IBluetoothMap;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothMap;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothMap;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothMap;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothMap;->getState()I
-HSPLandroid/bluetooth/IBluetoothMap;->isConnected(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothMap;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
 HSPLandroid/bluetooth/IBluetoothPan$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetoothPan;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothPan;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothPan;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothPan;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothPan;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothPan;->isTetheringOn()Z
-HSPLandroid/bluetooth/IBluetoothPan;->setBluetoothTethering(Z)V
-HSPLandroid/bluetooth/IBluetoothPbap$Stub$Proxy;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
 HSPLandroid/bluetooth/IBluetoothPbap$Stub;-><init>()V
 HSPLandroid/bluetooth/IBluetoothPbap$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothPbap;->disconnect(Landroid/bluetooth/BluetoothDevice;)V
-HSPLandroid/bluetooth/IBluetoothPbap;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothPbap;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothPbap;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
 HSPLandroid/bluetooth/IBluetoothProfileServiceConnection$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/bluetooth/IBluetoothProfileServiceConnection$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/bluetooth/IBluetoothProfileServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLandroid/bluetooth/IBluetoothProfileServiceConnection;->onServiceDisconnected(Landroid/content/ComponentName;)V
+HSPLandroid/bluetooth/IBluetoothSap$Stub$Proxy;->getConnectedDevices()Ljava/util/List;
 HSPLandroid/bluetooth/IBluetoothSap$Stub;-><init>()V
-HSPLandroid/bluetooth/IBluetoothSap;->connect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothSap;->disconnect(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothSap;->getClient()Landroid/bluetooth/BluetoothDevice;
-HSPLandroid/bluetooth/IBluetoothSap;->getConnectedDevices()Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothSap;->getConnectionState(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothSap;->getDevicesMatchingConnectionStates([I)Ljava/util/List;
-HSPLandroid/bluetooth/IBluetoothSap;->getPriority(Landroid/bluetooth/BluetoothDevice;)I
-HSPLandroid/bluetooth/IBluetoothSap;->getState()I
-HSPLandroid/bluetooth/IBluetoothSap;->isConnected(Landroid/bluetooth/BluetoothDevice;)Z
-HSPLandroid/bluetooth/IBluetoothSap;->setPriority(Landroid/bluetooth/BluetoothDevice;I)Z
+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;->asInterface(Landroid/os/IBinder;)Landroid/bluetooth/IBluetoothSocketManager;
-HSPLandroid/bluetooth/IBluetoothSocketManager;->connectSocket(Landroid/bluetooth/BluetoothDevice;ILandroid/os/ParcelUuid;II)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/bluetooth/IBluetoothSocketManager;->createSocketChannel(ILjava/lang/String;Landroid/os/ParcelUuid;II)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/bluetooth/IBluetoothSocketManager;->requestMaximumTxDataLength(Landroid/bluetooth/BluetoothDevice;)V
 HSPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;->onBluetoothStateChange(Z)V
 HSPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/bluetooth/IBluetoothStateChangeCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/bluetooth/UidTraffic$1;-><init>()V
+HSPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper$1;->run()V
+HSPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->onScanResult(Landroid/bluetooth/le/ScanResult;)V
+HSPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->onScannerRegistered(II)V
+HSPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->startRegistration()V
+HSPLandroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;->stopLeScan()V
+HSPLandroid/bluetooth/le/BluetoothLeScanner;->isHardwareResourcesAvailableForScan(Landroid/bluetooth/le/ScanSettings;)Z
+HSPLandroid/bluetooth/le/BluetoothLeScanner;->isSettingsAndFilterComboAllowed(Landroid/bluetooth/le/ScanSettings;Ljava/util/List;)Z
+HSPLandroid/bluetooth/le/BluetoothLeScanner;->startScan(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/bluetooth/le/ScanCallback;)V
+HSPLandroid/bluetooth/le/BluetoothLeScanner;->startScan(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/os/WorkSource;Landroid/bluetooth/le/ScanCallback;Landroid/app/PendingIntent;Ljava/util/List;)I
+HSPLandroid/bluetooth/le/BluetoothLeScanner;->startScanFromSource(Ljava/util/List;Landroid/bluetooth/le/ScanSettings;Landroid/os/WorkSource;Landroid/bluetooth/le/ScanCallback;)V
+HSPLandroid/bluetooth/le/BluetoothLeScanner;->stopScan(Landroid/bluetooth/le/ScanCallback;)V
+HSPLandroid/bluetooth/le/IScannerCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/bluetooth/le/IScannerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/bluetooth/le/ScanCallback;-><init>()V
+HSPLandroid/bluetooth/le/ScanFilter$1;-><init>()V
+HSPLandroid/bluetooth/le/ScanFilter$Builder;-><init>()V
+HSPLandroid/bluetooth/le/ScanFilter$Builder;->build()Landroid/bluetooth/le/ScanFilter;
+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;->writeToParcel(Landroid/os/Parcel;I)V
+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;->parseFromBytes([B)Landroid/bluetooth/le/ScanRecord;
+HSPLandroid/bluetooth/le/ScanResult$1;-><init>()V
+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;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/bluetooth/le/ScanSettings$1;-><init>()V
+HSPLandroid/bluetooth/le/ScanSettings$Builder;-><init>()V
+HSPLandroid/bluetooth/le/ScanSettings$Builder;->build()Landroid/bluetooth/le/ScanSettings;
+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;->getReportDelayMillis()J
+HSPLandroid/bluetooth/le/ScanSettings;->getScanMode()I
+HSPLandroid/bluetooth/le/ScanSettings;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/companion/ICompanionDeviceManager$Stub;-><init>()V
 HSPLandroid/companion/ICompanionDeviceManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/companion/ICompanionDeviceManager;
-HSPLandroid/companion/ICompanionDeviceManager;->associate(Landroid/companion/AssociationRequest;Landroid/companion/IFindDeviceCallback;Ljava/lang/String;)V
-HSPLandroid/companion/ICompanionDeviceManager;->disassociate(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/companion/ICompanionDeviceManager;->getAssociations(Ljava/lang/String;I)Ljava/util/List;
-HSPLandroid/companion/ICompanionDeviceManager;->hasNotificationAccess(Landroid/content/ComponentName;)Z
-HSPLandroid/companion/ICompanionDeviceManager;->requestNotificationAccess(Landroid/content/ComponentName;)Landroid/app/PendingIntent;
-HSPLandroid/companion/ICompanionDeviceManager;->stopScan(Landroid/companion/AssociationRequest;Landroid/companion/IFindDeviceCallback;Ljava/lang/String;)V
 HSPLandroid/content/-$$Lambda$AbstractThreadedSyncAdapter$ISyncAdapterImpl$L6ZtOCe8gjKwJj0908ytPlrD8Rc;-><init>()V
-HSPLandroid/content/-$$Lambda$AbstractThreadedSyncAdapter$ISyncAdapterImpl$L6ZtOCe8gjKwJj0908ytPlrD8Rc;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;->cancelSync(Landroid/content/ISyncContext;)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;->run()V
-HSPLandroid/content/AbstractThreadedSyncAdapter;-><init>(Landroid/content/Context;Z)V
 HSPLandroid/content/AbstractThreadedSyncAdapter;-><init>(Landroid/content/Context;ZZ)V
-HSPLandroid/content/AbstractThreadedSyncAdapter;->access$200(Landroid/content/AbstractThreadedSyncAdapter;Landroid/accounts/Account;)Landroid/accounts/Account;
-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;->onPerformSync(Landroid/accounts/Account;Landroid/os/Bundle;Ljava/lang/String;Landroid/content/ContentProviderClient;Landroid/content/SyncResult;)V
-HSPLandroid/content/AbstractThreadedSyncAdapter;->onSyncCanceled()V
-HSPLandroid/content/AbstractThreadedSyncAdapter;->onUnsyncableAccount()Z
 HSPLandroid/content/AsyncQueryHandler$WorkerHandler;-><init>(Landroid/content/AsyncQueryHandler;Landroid/os/Looper;)V
 HSPLandroid/content/AsyncQueryHandler$WorkerHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/content/AsyncQueryHandler;-><init>(Landroid/content/ContentResolver;)V
 HSPLandroid/content/AsyncQueryHandler;->cancelOperation(I)V
 HSPLandroid/content/AsyncQueryHandler;->createHandler(Landroid/os/Looper;)Landroid/os/Handler;
 HSPLandroid/content/AsyncQueryHandler;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/content/AsyncQueryHandler;->onUpdateComplete(ILjava/lang/Object;I)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/AsyncQueryHandler;->startUpdate(ILjava/lang/Object;Landroid/net/Uri;Landroid/content/ContentValues;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;->onCancelled(Ljava/lang/Object;)V
@@ -17018,29 +16139,31 @@
 HSPLandroid/content/AsyncTaskLoader;->dispatchOnLoadComplete(Landroid/content/AsyncTaskLoader$LoadTask;Ljava/lang/Object;)V
 HSPLandroid/content/AsyncTaskLoader;->executePendingTask()V
 HSPLandroid/content/AsyncTaskLoader;->isLoadInBackgroundCanceled()Z
-HSPLandroid/content/AsyncTaskLoader;->loadInBackground()Ljava/lang/Object;
 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;
+HSPLandroid/content/AutofillOptions;->writeToParcel(Landroid/os/Parcel;I)V
 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
 HSPLandroid/content/BroadcastReceiver$PendingResult;->sendFinished(Landroid/app/IActivityManager;)V
 HSPLandroid/content/BroadcastReceiver;-><init>()V
 HSPLandroid/content/BroadcastReceiver;->checkSynchronousHint()V
-HSPLandroid/content/BroadcastReceiver;->getResultCode()I
 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/ClipboardManager$OnPrimaryClipChangedListener;->onPrimaryClipChanged()V
 HSPLandroid/content/ClipboardManager;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
 HSPLandroid/content/ClipboardManager;->addPrimaryClipChangedListener(Landroid/content/ClipboardManager$OnPrimaryClipChangedListener;)V
-HSPLandroid/content/ClipboardManager;->getPrimaryClip()Landroid/content/ClipData;
 HSPLandroid/content/ComponentName$1;-><init>()V
 HSPLandroid/content/ComponentName$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ComponentName;
 HSPLandroid/content/ComponentName$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/ComponentName$1;->newArray(I)[Landroid/content/ComponentName;
+HSPLandroid/content/ComponentName$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/content/ComponentName;-><init>(Landroid/content/Context;Ljava/lang/Class;)V
 HSPLandroid/content/ComponentName;-><init>(Landroid/content/Context;Ljava/lang/String;)V
 HSPLandroid/content/ComponentName;-><init>(Landroid/os/Parcel;)V
@@ -17056,10 +16179,11 @@
 HSPLandroid/content/ComponentName;->toString()Ljava/lang/String;
 HSPLandroid/content/ComponentName;->unflattenFromString(Ljava/lang/String;)Landroid/content/ComponentName;
 HSPLandroid/content/ComponentName;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/ContentProvider$PipeDataWriter;->writeDataToPipe(Landroid/os/ParcelFileDescriptor;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/Object;)V
-HSPLandroid/content/ContentProvider$Transport;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
+HSPLandroid/content/ContentCaptureOptions$1;-><init>()V
+HSPLandroid/content/ContentCaptureOptions$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/ContentCaptureOptions;
+HSPLandroid/content/ContentCaptureOptions$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 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;Landroid/os/Bundle;)Landroid/os/Bundle;
+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;->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
@@ -17067,56 +16191,48 @@
 HSPLandroid/content/ContentProvider$Transport;->getProviderName()Ljava/lang/String;
 HSPLandroid/content/ContentProvider$Transport;->getType(Landroid/net/Uri;)Ljava/lang/String;
 HSPLandroid/content/ContentProvider$Transport;->insert(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
+HSPLandroid/content/ContentProvider$Transport;->noteProxyOp(Ljava/lang/String;I)I
 HSPLandroid/content/ContentProvider$Transport;->openTypedAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor;
 HSPLandroid/content/ContentProvider$Transport;->query(Ljava/lang/String;Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
 HSPLandroid/content/ContentProvider$Transport;->update(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
 HSPLandroid/content/ContentProvider;-><init>()V
-HSPLandroid/content/ContentProvider;->applyBatch(Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
 HSPLandroid/content/ContentProvider;->attachInfo(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V
 HSPLandroid/content/ContentProvider;->attachInfo(Landroid/content/Context;Landroid/content/pm/ProviderInfo;Z)V
-HSPLandroid/content/ContentProvider;->bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I
-HSPLandroid/content/ContentProvider;->checkPermissionAndAppOp(Ljava/lang/String;Ljava/lang/String;Landroid/os/IBinder;)I
+HSPLandroid/content/ContentProvider;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
 HSPLandroid/content/ContentProvider;->checkUser(IILandroid/content/Context;)Z
-HSPLandroid/content/ContentProvider;->coerceToLocalContentProvider(Landroid/content/IContentProvider;)Landroid/content/ContentProvider;
-HSPLandroid/content/ContentProvider;->delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
+HSPLandroid/content/ContentProvider;->clearCallingIdentity()Landroid/content/ContentProvider$CallingIdentity;
 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;->getCallingPackage()Ljava/lang/String;
 HSPLandroid/content/ContentProvider;->getContext()Landroid/content/Context;
 HSPLandroid/content/ContentProvider;->getIContentProvider()Landroid/content/IContentProvider;
-HSPLandroid/content/ContentProvider;->getType(Landroid/net/Uri;)Ljava/lang/String;
 HSPLandroid/content/ContentProvider;->getUriWithoutUserId(Landroid/net/Uri;)Landroid/net/Uri;
 HSPLandroid/content/ContentProvider;->getUserIdFromAuthority(Ljava/lang/String;I)I
 HSPLandroid/content/ContentProvider;->getUserIdFromUri(Landroid/net/Uri;I)I
-HSPLandroid/content/ContentProvider;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
-HSPLandroid/content/ContentProvider;->isTemporary()Z
 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
-HSPLandroid/content/ContentProvider;->onCreate()Z
 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;
 HSPLandroid/content/ContentProvider;->openTypedAssetFile(Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
 HSPLandroid/content/ContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
-HSPLandroid/content/ContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
 HSPLandroid/content/ContentProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
+HSPLandroid/content/ContentProvider;->restoreCallingIdentity(Landroid/content/ContentProvider$CallingIdentity;)V
 HSPLandroid/content/ContentProvider;->setAppOps(II)V
-HSPLandroid/content/ContentProvider;->setReadPermission(Ljava/lang/String;)V
-HSPLandroid/content/ContentProvider;->setWritePermission(Ljava/lang/String;)V
-HSPLandroid/content/ContentProvider;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
-HSPLandroid/content/ContentProvider;->validateIncomingUri(Landroid/net/Uri;)V
+HSPLandroid/content/ContentProvider;->validateIncomingAuthority(Ljava/lang/String;)V
+HSPLandroid/content/ContentProvider;->validateIncomingUri(Landroid/net/Uri;)Landroid/net/Uri;
 HSPLandroid/content/ContentProviderClient$CursorWrapperInner;->close()V
 HSPLandroid/content/ContentProviderClient$CursorWrapperInner;->finalize()V
-HSPLandroid/content/ContentProviderClient;-><init>(Landroid/content/ContentResolver;Landroid/content/IContentProvider;Z)V
+HSPLandroid/content/ContentProviderClient;-><init>(Landroid/content/ContentResolver;Landroid/content/IContentProvider;Ljava/lang/String;Z)V
+HSPLandroid/content/ContentProviderClient;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
 HSPLandroid/content/ContentProviderClient;->applyBatch(Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
 HSPLandroid/content/ContentProviderClient;->call(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
+HSPLandroid/content/ContentProviderClient;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
 HSPLandroid/content/ContentProviderClient;->close()V
 HSPLandroid/content/ContentProviderClient;->closeInternal()Z
-HSPLandroid/content/ContentProviderClient;->delete(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
 HSPLandroid/content/ContentProviderClient;->finalize()V
 HSPLandroid/content/ContentProviderClient;->getLocalContentProvider()Landroid/content/ContentProvider;
-HSPLandroid/content/ContentProviderClient;->insert(Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
 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;
@@ -17124,32 +16240,20 @@
 HSPLandroid/content/ContentProviderClient;->setDetectNotResponding(J)V
 HSPLandroid/content/ContentProviderClient;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
 HSPLandroid/content/ContentProviderNative;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/ContentProviderNative;->getProviderName()Ljava/lang/String;
 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;->withExpectedCount(I)Landroid/content/ContentProviderOperation$Builder;
 HSPLandroid/content/ContentProviderOperation$Builder;->withSelection(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/ContentProviderOperation$Builder;
-HSPLandroid/content/ContentProviderOperation$Builder;->withValue(Ljava/lang/String;Ljava/lang/Object;)Landroid/content/ContentProviderOperation$Builder;
 HSPLandroid/content/ContentProviderOperation$Builder;->withValues(Landroid/content/ContentValues;)Landroid/content/ContentProviderOperation$Builder;
-HSPLandroid/content/ContentProviderOperation$Builder;->withYieldAllowed(Z)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;->isYieldAllowed()Z
-HSPLandroid/content/ContentProviderOperation;->newDelete(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
 HSPLandroid/content/ContentProviderOperation;->newInsert(Landroid/net/Uri;)Landroid/content/ContentProviderOperation$Builder;
 HSPLandroid/content/ContentProviderOperation;->newUpdate(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/ContentProviderOperation;->toString()Ljava/lang/String;
 HSPLandroid/content/ContentProviderOperation;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/ContentProviderProxy;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
+HSPLandroid/content/ContentProviderProxy;->applyBatch(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
 HSPLandroid/content/ContentProviderProxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/ContentProviderProxy;->bulkInsert(Ljava/lang/String;Landroid/net/Uri;[Landroid/content/ContentValues;)I
-HSPLandroid/content/ContentProviderProxy;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
-HSPLandroid/content/ContentProviderProxy;->delete(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
+HSPLandroid/content/ContentProviderProxy;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
+HSPLandroid/content/ContentProviderProxy;->createCancellationSignal()Landroid/os/ICancellationSignal;
 HSPLandroid/content/ContentProviderProxy;->getType(Landroid/net/Uri;)Ljava/lang/String;
 HSPLandroid/content/ContentProviderProxy;->insert(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
 HSPLandroid/content/ContentProviderProxy;->openTypedAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor;
@@ -17165,28 +16269,24 @@
 HSPLandroid/content/ContentResolver$CursorWrapperInner;->finalize()V
 HSPLandroid/content/ContentResolver$ParcelFileDescriptorInner;->releaseResources()V
 HSPLandroid/content/ContentResolver;-><init>(Landroid/content/Context;)V
+HSPLandroid/content/ContentResolver;-><init>(Landroid/content/Context;Landroid/content/ContentInterface;)V
 HSPLandroid/content/ContentResolver;->acquireContentProviderClient(Landroid/net/Uri;)Landroid/content/ContentProviderClient;
 HSPLandroid/content/ContentResolver;->acquireContentProviderClient(Ljava/lang/String;)Landroid/content/ContentProviderClient;
-HSPLandroid/content/ContentResolver;->acquireProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
 HSPLandroid/content/ContentResolver;->acquireProvider(Ljava/lang/String;)Landroid/content/IContentProvider;
 HSPLandroid/content/ContentResolver;->acquireUnstableContentProviderClient(Landroid/net/Uri;)Landroid/content/ContentProviderClient;
-HSPLandroid/content/ContentResolver;->acquireUnstableProvider(Landroid/content/Context;Ljava/lang/String;)Landroid/content/IContentProvider;
+HSPLandroid/content/ContentResolver;->acquireUnstableProvider(Landroid/net/Uri;)Landroid/content/IContentProvider;
 HSPLandroid/content/ContentResolver;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
 HSPLandroid/content/ContentResolver;->addStatusChangeListener(ILandroid/content/SyncStatusObserver;)Ljava/lang/Object;
 HSPLandroid/content/ContentResolver;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
-HSPLandroid/content/ContentResolver;->bulkInsert(Landroid/net/Uri;[Landroid/content/ContentValues;)I
 HSPLandroid/content/ContentResolver;->call(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
-HSPLandroid/content/ContentResolver;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;)V
+HSPLandroid/content/ContentResolver;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
 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
-HSPLandroid/content/ContentResolver;->getContentService()Landroid/content/IContentService;
 HSPLandroid/content/ContentResolver;->getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
 HSPLandroid/content/ContentResolver;->getMasterSyncAutomatically()Z
-HSPLandroid/content/ContentResolver;->getOutgoingPersistedUriPermissions()Ljava/util/List;
 HSPLandroid/content/ContentResolver;->getPackageName()Ljava/lang/String;
-HSPLandroid/content/ContentResolver;->getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/content/ContentResolver;->getResourceId(Landroid/net/Uri;)Landroid/content/ContentResolver$OpenResourceIdResult;
 HSPLandroid/content/ContentResolver;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
+HSPLandroid/content/ContentResolver;->getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
 HSPLandroid/content/ContentResolver;->getSyncAdapterTypesAsUser(I)[Landroid/content/SyncAdapterType;
 HSPLandroid/content/ContentResolver;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
 HSPLandroid/content/ContentResolver;->getType(Landroid/net/Uri;)Ljava/lang/String;
@@ -17198,6 +16298,7 @@
 HSPLandroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;II)V
 HSPLandroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;Z)V
 HSPLandroid/content/ContentResolver;->notifyChange(Landroid/net/Uri;Landroid/database/ContentObserver;ZI)V
+HSPLandroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
 HSPLandroid/content/ContentResolver;->openAssetFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/content/res/AssetFileDescriptor;
 HSPLandroid/content/ContentResolver;->openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
 HSPLandroid/content/ContentResolver;->openFileDescriptor(Landroid/net/Uri;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;
@@ -17208,18 +16309,11 @@
 HSPLandroid/content/ContentResolver;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
 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;->releaseProvider(Landroid/content/IContentProvider;)Z
-HSPLandroid/content/ContentResolver;->releaseUnstableProvider(Landroid/content/IContentProvider;)Z
-HSPLandroid/content/ContentResolver;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/content/ContentResolver;->removeStatusChangeListener(Ljava/lang/Object;)V
-HSPLandroid/content/ContentResolver;->requestSync(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;->resolveUserId(Landroid/net/Uri;)I
 HSPLandroid/content/ContentResolver;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
 HSPLandroid/content/ContentResolver;->setSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;Z)V
 HSPLandroid/content/ContentResolver;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V
 HSPLandroid/content/ContentResolver;->unregisterContentObserver(Landroid/database/ContentObserver;)V
-HSPLandroid/content/ContentResolver;->unstableProviderDied(Landroid/content/IContentProvider;)V
 HSPLandroid/content/ContentResolver;->update(Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
 HSPLandroid/content/ContentResolver;->validateSyncExtrasBundle(Landroid/os/Bundle;)V
 HSPLandroid/content/ContentUris;->appendId(Landroid/net/Uri$Builder;J)Landroid/net/Uri$Builder;
@@ -17236,12 +16330,12 @@
 HSPLandroid/content/ContentValues;->clear()V
 HSPLandroid/content/ContentValues;->containsKey(Ljava/lang/String;)Z
 HSPLandroid/content/ContentValues;->equals(Ljava/lang/Object;)Z
-HSPLandroid/content/ContentValues;->get(Ljava/lang/String;)Ljava/lang/Object;
 HSPLandroid/content/ContentValues;->getAsBoolean(Ljava/lang/String;)Ljava/lang/Boolean;
 HSPLandroid/content/ContentValues;->getAsByteArray(Ljava/lang/String;)[B
 HSPLandroid/content/ContentValues;->getAsInteger(Ljava/lang/String;)Ljava/lang/Integer;
 HSPLandroid/content/ContentValues;->getAsLong(Ljava/lang/String;)Ljava/lang/Long;
 HSPLandroid/content/ContentValues;->getAsString(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/content/ContentValues;->isEmpty()Z
 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
@@ -17256,65 +16350,65 @@
 HSPLandroid/content/ContentValues;->size()I
 HSPLandroid/content/ContentValues;->toString()Ljava/lang/String;
 HSPLandroid/content/ContentValues;->valueSet()Ljava/util/Set;
-HSPLandroid/content/ContentValues;->writeToParcel(Landroid/os/Parcel;I)V
 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;
 HSPLandroid/content/Context;->getText(I)Ljava/lang/CharSequence;
 HSPLandroid/content/Context;->getUser()Landroid/os/UserHandle;
+HSPLandroid/content/Context;->isAutofillCompatibilityEnabled()Z
 HSPLandroid/content/Context;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;
 HSPLandroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
 HSPLandroid/content/Context;->obtainStyledAttributes(Landroid/util/AttributeSet;[III)Landroid/content/res/TypedArray;
 HSPLandroid/content/Context;->obtainStyledAttributes([I)Landroid/content/res/TypedArray;
 HSPLandroid/content/Context;->registerComponentCallbacks(Landroid/content/ComponentCallbacks;)V
-HSPLandroid/content/Context;->unregisterComponentCallbacks(Landroid/content/ComponentCallbacks;)V
 HSPLandroid/content/ContextWrapper;-><init>(Landroid/content/Context;)V
 HSPLandroid/content/ContextWrapper;->attachBaseContext(Landroid/content/Context;)V
 HSPLandroid/content/ContextWrapper;->bindService(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z
+HSPLandroid/content/ContextWrapper;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/Handler;Landroid/os/UserHandle;)Z
 HSPLandroid/content/ContextWrapper;->bindServiceAsUser(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z
 HSPLandroid/content/ContextWrapper;->canLoadUnsafeResources()Z
 HSPLandroid/content/ContextWrapper;->checkCallingOrSelfPermission(Ljava/lang/String;)I
 HSPLandroid/content/ContextWrapper;->checkCallingPermission(Ljava/lang/String;)I
+HSPLandroid/content/ContextWrapper;->checkCallingUriPermission(Landroid/net/Uri;I)I
 HSPLandroid/content/ContextWrapper;->checkPermission(Ljava/lang/String;II)I
 HSPLandroid/content/ContextWrapper;->checkPermission(Ljava/lang/String;IILandroid/os/IBinder;)I
 HSPLandroid/content/ContextWrapper;->checkSelfPermission(Ljava/lang/String;)I
 HSPLandroid/content/ContextWrapper;->createApplicationContext(Landroid/content/pm/ApplicationInfo;I)Landroid/content/Context;
 HSPLandroid/content/ContextWrapper;->createConfigurationContext(Landroid/content/res/Configuration;)Landroid/content/Context;
-HSPLandroid/content/ContextWrapper;->createCredentialProtectedStorageContext()Landroid/content/Context;
 HSPLandroid/content/ContextWrapper;->createDeviceProtectedStorageContext()Landroid/content/Context;
+HSPLandroid/content/ContextWrapper;->createDisplayContext(Landroid/view/Display;)Landroid/content/Context;
 HSPLandroid/content/ContextWrapper;->createPackageContext(Ljava/lang/String;I)Landroid/content/Context;
 HSPLandroid/content/ContextWrapper;->createPackageContextAsUser(Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/Context;
-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;->enforceCallingOrSelfPermission(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/content/ContextWrapper;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/content/ContextWrapper;->enforcePermission(Ljava/lang/String;IILjava/lang/String;)V
-HSPLandroid/content/ContextWrapper;->fileList()[Ljava/lang/String;
 HSPLandroid/content/ContextWrapper;->getApplicationContext()Landroid/content/Context;
 HSPLandroid/content/ContextWrapper;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
 HSPLandroid/content/ContextWrapper;->getAssets()Landroid/content/res/AssetManager;
+HSPLandroid/content/ContextWrapper;->getAutofillClient()Landroid/view/autofill/AutofillManager$AutofillClient;
+HSPLandroid/content/ContextWrapper;->getAutofillOptions()Landroid/content/AutofillOptions;
 HSPLandroid/content/ContextWrapper;->getBaseContext()Landroid/content/Context;
 HSPLandroid/content/ContextWrapper;->getBasePackageName()Ljava/lang/String;
 HSPLandroid/content/ContextWrapper;->getCacheDir()Ljava/io/File;
 HSPLandroid/content/ContextWrapper;->getClassLoader()Ljava/lang/ClassLoader;
+HSPLandroid/content/ContextWrapper;->getContentCaptureOptions()Landroid/content/ContentCaptureOptions;
 HSPLandroid/content/ContextWrapper;->getContentResolver()Landroid/content/ContentResolver;
 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;->getExternalCacheDirs()[Ljava/io/File;
 HSPLandroid/content/ContextWrapper;->getExternalFilesDir(Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/content/ContextWrapper;->getExternalFilesDirs(Ljava/lang/String;)[Ljava/io/File;
 HSPLandroid/content/ContextWrapper;->getFileStreamPath(Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/content/ContextWrapper;->getFilesDir()Ljava/io/File;
+HSPLandroid/content/ContextWrapper;->getMainExecutor()Ljava/util/concurrent/Executor;
 HSPLandroid/content/ContextWrapper;->getMainLooper()Landroid/os/Looper;
 HSPLandroid/content/ContextWrapper;->getNextAutofillId()I
 HSPLandroid/content/ContextWrapper;->getNoBackupFilesDir()Ljava/io/File;
@@ -17323,7 +16417,6 @@
 HSPLandroid/content/ContextWrapper;->getPackageManager()Landroid/content/pm/PackageManager;
 HSPLandroid/content/ContextWrapper;->getPackageName()Ljava/lang/String;
 HSPLandroid/content/ContextWrapper;->getPackageResourcePath()Ljava/lang/String;
-HSPLandroid/content/ContextWrapper;->getPreloadsFileCache()Ljava/io/File;
 HSPLandroid/content/ContextWrapper;->getResources()Landroid/content/res/Resources;
 HSPLandroid/content/ContextWrapper;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences;
 HSPLandroid/content/ContextWrapper;->getSharedPreferencesPath(Ljava/lang/String;)Ljava/io/File;
@@ -17333,23 +16426,27 @@
 HSPLandroid/content/ContextWrapper;->getUserId()I
 HSPLandroid/content/ContextWrapper;->grantUriPermission(Ljava/lang/String;Landroid/net/Uri;I)V
 HSPLandroid/content/ContextWrapper;->isAutofillCompatibilityEnabled()Z
+HSPLandroid/content/ContextWrapper;->isContentCaptureSupported()Z
 HSPLandroid/content/ContextWrapper;->isDeviceProtectedStorage()Z
 HSPLandroid/content/ContextWrapper;->isRestricted()Z
+HSPLandroid/content/ContextWrapper;->moveSharedPreferencesFrom(Landroid/content/Context;Ljava/lang/String;)Z
 HSPLandroid/content/ContextWrapper;->openFileInput(Ljava/lang/String;)Ljava/io/FileInputStream;
 HSPLandroid/content/ContextWrapper;->openFileOutput(Ljava/lang/String;I)Ljava/io/FileOutputStream;
-HSPLandroid/content/ContextWrapper;->openOrCreateDatabase(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;)Landroid/database/sqlite/SQLiteDatabase;
 HSPLandroid/content/ContextWrapper;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)Landroid/content/Intent;
 HSPLandroid/content/ContextWrapper;->registerReceiver(Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
 HSPLandroid/content/ContextWrapper;->registerReceiverAsUser(Landroid/content/BroadcastReceiver;Landroid/os/UserHandle;Landroid/content/IntentFilter;Ljava/lang/String;Landroid/os/Handler;)Landroid/content/Intent;
 HSPLandroid/content/ContextWrapper;->sendBroadcast(Landroid/content/Intent;)V
 HSPLandroid/content/ContextWrapper;->sendBroadcast(Landroid/content/Intent;Ljava/lang/String;)V
+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
-HSPLandroid/content/ContextWrapper;->sendOrderedBroadcast(Landroid/content/Intent;Ljava/lang/String;)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;->setAutofillCompatibilityEnabled(Z)V
+HSPLandroid/content/ContextWrapper;->setAutofillOptions(Landroid/content/AutofillOptions;)V
+HSPLandroid/content/ContextWrapper;->setContentCaptureOptions(Landroid/content/ContentCaptureOptions;)V
+HSPLandroid/content/ContextWrapper;->setContentCaptureSupported(Z)V
 HSPLandroid/content/ContextWrapper;->setTheme(I)V
 HSPLandroid/content/ContextWrapper;->startActivity(Landroid/content/Intent;)V
 HSPLandroid/content/ContextWrapper;->startForegroundService(Landroid/content/Intent;)Landroid/content/ComponentName;
@@ -17357,16 +16454,15 @@
 HSPLandroid/content/ContextWrapper;->stopService(Landroid/content/Intent;)Z
 HSPLandroid/content/ContextWrapper;->unbindService(Landroid/content/ServiceConnection;)V
 HSPLandroid/content/ContextWrapper;->unregisterReceiver(Landroid/content/BroadcastReceiver;)V
-HSPLandroid/content/CursorEntityIterator;-><init>(Landroid/database/Cursor;)V
-HSPLandroid/content/CursorEntityIterator;->close()V
-HSPLandroid/content/CursorEntityIterator;->hasNext()Z
-HSPLandroid/content/CursorEntityIterator;->next()Landroid/content/Entity;
-HSPLandroid/content/CursorEntityIterator;->next()Ljava/lang/Object;
+HSPLandroid/content/CursorLoader;-><init>(Landroid/content/Context;)V
 HSPLandroid/content/CursorLoader;-><init>(Landroid/content/Context;Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/content/CursorLoader;->cancelLoadInBackground()V
 HSPLandroid/content/CursorLoader;->deliverResult(Landroid/database/Cursor;)V
 HSPLandroid/content/CursorLoader;->deliverResult(Ljava/lang/Object;)V
-HSPLandroid/content/CursorLoader;->getUri()Landroid/net/Uri;
+HSPLandroid/content/CursorLoader;->getProjection()[Ljava/lang/String;
+HSPLandroid/content/CursorLoader;->getSelection()Ljava/lang/String;
+HSPLandroid/content/CursorLoader;->getSelectionArgs()[Ljava/lang/String;
+HSPLandroid/content/CursorLoader;->getSortOrder()Ljava/lang/String;
 HSPLandroid/content/CursorLoader;->loadInBackground()Landroid/database/Cursor;
 HSPLandroid/content/CursorLoader;->loadInBackground()Ljava/lang/Object;
 HSPLandroid/content/CursorLoader;->onCanceled(Landroid/database/Cursor;)V
@@ -17374,132 +16470,40 @@
 HSPLandroid/content/CursorLoader;->onReset()V
 HSPLandroid/content/CursorLoader;->onStartLoading()V
 HSPLandroid/content/CursorLoader;->onStopLoading()V
-HSPLandroid/content/DialogInterface$OnClickListener;->onClick(Landroid/content/DialogInterface;I)V
-HSPLandroid/content/DialogInterface$OnKeyListener;->onKey(Landroid/content/DialogInterface;ILandroid/view/KeyEvent;)Z
-HSPLandroid/content/DialogInterface$OnMultiChoiceClickListener;->onClick(Landroid/content/DialogInterface;IZ)V
-HSPLandroid/content/DialogInterface$OnShowListener;->onShow(Landroid/content/DialogInterface;)V
-HSPLandroid/content/DialogInterface;->cancel()V
-HSPLandroid/content/DialogInterface;->dismiss()V
-HSPLandroid/content/Entity;-><init>(Landroid/content/ContentValues;)V
-HSPLandroid/content/Entity;->addSubValue(Landroid/net/Uri;Landroid/content/ContentValues;)V
-HSPLandroid/content/Entity;->getEntityValues()Landroid/content/ContentValues;
-HSPLandroid/content/Entity;->getSubValues()Ljava/util/ArrayList;
-HSPLandroid/content/EntityIterator;->close()V
-HSPLandroid/content/EntityIterator;->reset()V
+HSPLandroid/content/CursorLoader;->setProjection([Ljava/lang/String;)V
+HSPLandroid/content/CursorLoader;->setSelection(Ljava/lang/String;)V
+HSPLandroid/content/CursorLoader;->setSelectionArgs([Ljava/lang/String;)V
+HSPLandroid/content/CursorLoader;->setSortOrder(Ljava/lang/String;)V
+HSPLandroid/content/CursorLoader;->setUri(Landroid/net/Uri;)V
 HSPLandroid/content/IClipboard$Stub$Proxy;->addPrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;Ljava/lang/String;)V
-HSPLandroid/content/IClipboard$Stub$Proxy;->getPrimaryClip(Ljava/lang/String;)Landroid/content/ClipData;
 HSPLandroid/content/IClipboard$Stub;-><init>()V
-HSPLandroid/content/IClipboard;->addPrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;Ljava/lang/String;)V
-HSPLandroid/content/IClipboard;->clearPrimaryClip(Ljava/lang/String;)V
-HSPLandroid/content/IClipboard;->getPrimaryClip(Ljava/lang/String;)Landroid/content/ClipData;
-HSPLandroid/content/IClipboard;->getPrimaryClipDescription(Ljava/lang/String;)Landroid/content/ClipDescription;
-HSPLandroid/content/IClipboard;->hasClipboardText(Ljava/lang/String;)Z
-HSPLandroid/content/IClipboard;->hasPrimaryClip(Ljava/lang/String;)Z
-HSPLandroid/content/IClipboard;->removePrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;)V
-HSPLandroid/content/IClipboard;->setPrimaryClip(Landroid/content/ClipData;Ljava/lang/String;)V
-HSPLandroid/content/IContentProvider;->applyBatch(Ljava/lang/String;Ljava/util/ArrayList;)[Landroid/content/ContentProviderResult;
-HSPLandroid/content/IContentProvider;->bulkInsert(Ljava/lang/String;Landroid/net/Uri;[Landroid/content/ContentValues;)I
-HSPLandroid/content/IContentProvider;->call(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Landroid/os/Bundle;
-HSPLandroid/content/IContentProvider;->canonicalize(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
-HSPLandroid/content/IContentProvider;->createCancellationSignal()Landroid/os/ICancellationSignal;
-HSPLandroid/content/IContentProvider;->delete(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)I
-HSPLandroid/content/IContentProvider;->getStreamTypes(Landroid/net/Uri;Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/content/IContentProvider;->getType(Landroid/net/Uri;)Ljava/lang/String;
-HSPLandroid/content/IContentProvider;->insert(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;)Landroid/net/Uri;
-HSPLandroid/content/IContentProvider;->openAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor;
-HSPLandroid/content/IContentProvider;->openFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/ICancellationSignal;Landroid/os/IBinder;)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/content/IContentProvider;->openTypedAssetFile(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/content/res/AssetFileDescriptor;
-HSPLandroid/content/IContentProvider;->query(Ljava/lang/String;Landroid/net/Uri;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Landroid/database/Cursor;
-HSPLandroid/content/IContentProvider;->refresh(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/os/ICancellationSignal;)Z
-HSPLandroid/content/IContentProvider;->uncanonicalize(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
-HSPLandroid/content/IContentProvider;->update(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
 HSPLandroid/content/IContentService$Stub$Proxy;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
 HSPLandroid/content/IContentService$Stub$Proxy;->addStatusChangeListener(ILandroid/content/ISyncStatusObserver;)V
-HSPLandroid/content/IContentService$Stub$Proxy;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)V
 HSPLandroid/content/IContentService$Stub$Proxy;->getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
 HSPLandroid/content/IContentService$Stub$Proxy;->getMasterSyncAutomatically()Z
-HSPLandroid/content/IContentService$Stub$Proxy;->getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Ljava/util/List;
+HSPLandroid/content/IContentService$Stub$Proxy;->getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
 HSPLandroid/content/IContentService$Stub$Proxy;->getSyncAdapterTypesAsUser(I)[Landroid/content/SyncAdapterType;
 HSPLandroid/content/IContentService$Stub$Proxy;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
-HSPLandroid/content/IContentService$Stub$Proxy;->notifyChange(Landroid/net/Uri;Landroid/database/IContentObserver;ZIII)V
+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;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/content/IContentService$Stub$Proxy;->removeStatusChangeListener(Landroid/content/ISyncStatusObserver;)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;I)V
 HSPLandroid/content/IContentService$Stub$Proxy;->unregisterContentObserver(Landroid/database/IContentObserver;)V
 HSPLandroid/content/IContentService$Stub;-><init>()V
 HSPLandroid/content/IContentService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/IContentService;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
-HSPLandroid/content/IContentService;->addStatusChangeListener(ILandroid/content/ISyncStatusObserver;)V
-HSPLandroid/content/IContentService;->cancelRequest(Landroid/content/SyncRequest;)V
-HSPLandroid/content/IContentService;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)V
-HSPLandroid/content/IContentService;->cancelSyncAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;I)V
-HSPLandroid/content/IContentService;->getCache(Ljava/lang/String;Landroid/net/Uri;I)Landroid/os/Bundle;
-HSPLandroid/content/IContentService;->getCurrentSyncs()Ljava/util/List;
-HSPLandroid/content/IContentService;->getCurrentSyncsAsUser(I)Ljava/util/List;
-HSPLandroid/content/IContentService;->getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
-HSPLandroid/content/IContentService;->getIsSyncableAsUser(Landroid/accounts/Account;Ljava/lang/String;I)I
-HSPLandroid/content/IContentService;->getMasterSyncAutomatically()Z
-HSPLandroid/content/IContentService;->getMasterSyncAutomaticallyAsUser(I)Z
-HSPLandroid/content/IContentService;->getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Ljava/util/List;
-HSPLandroid/content/IContentService;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
-HSPLandroid/content/IContentService;->getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
-HSPLandroid/content/IContentService;->getSyncAdapterTypesAsUser(I)[Landroid/content/SyncAdapterType;
-HSPLandroid/content/IContentService;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
-HSPLandroid/content/IContentService;->getSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
-HSPLandroid/content/IContentService;->getSyncStatus(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Landroid/content/SyncStatusInfo;
-HSPLandroid/content/IContentService;->getSyncStatusAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;I)Landroid/content/SyncStatusInfo;
-HSPLandroid/content/IContentService;->isSyncActive(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Z
-HSPLandroid/content/IContentService;->isSyncPending(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Z
-HSPLandroid/content/IContentService;->isSyncPendingAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;I)Z
-HSPLandroid/content/IContentService;->notifyChange(Landroid/net/Uri;Landroid/database/IContentObserver;ZIII)V
-HSPLandroid/content/IContentService;->putCache(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;I)V
-HSPLandroid/content/IContentService;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;II)V
-HSPLandroid/content/IContentService;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/content/IContentService;->removeStatusChangeListener(Landroid/content/ISyncStatusObserver;)V
-HSPLandroid/content/IContentService;->requestSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/content/IContentService;->resetTodayStats()V
-HSPLandroid/content/IContentService;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
-HSPLandroid/content/IContentService;->setMasterSyncAutomatically(Z)V
-HSPLandroid/content/IContentService;->setMasterSyncAutomaticallyAsUser(ZI)V
-HSPLandroid/content/IContentService;->setSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;Z)V
-HSPLandroid/content/IContentService;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V
-HSPLandroid/content/IContentService;->sync(Landroid/content/SyncRequest;)V
-HSPLandroid/content/IContentService;->syncAsUser(Landroid/content/SyncRequest;I)V
-HSPLandroid/content/IContentService;->unregisterContentObserver(Landroid/database/IContentObserver;)V
 HSPLandroid/content/IIntentReceiver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/content/IIntentReceiver$Stub;-><init>()V
 HSPLandroid/content/IIntentReceiver$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/content/IIntentReceiver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/IIntentReceiver;
-HSPLandroid/content/IIntentReceiver;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+HSPLandroid/content/IIntentReceiver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/content/IIntentSender$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/content/IIntentSender$Stub;-><init>()V
 HSPLandroid/content/IIntentSender$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/IIntentSender;->send(ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)V
 HSPLandroid/content/IOnPrimaryClipChangedListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/IOnPrimaryClipChangedListener;->dispatchPrimaryClipChanged()V
 HSPLandroid/content/IRestrictionsManager$Stub$Proxy;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
 HSPLandroid/content/IRestrictionsManager$Stub;-><init>()V
-HSPLandroid/content/IRestrictionsManager;->createLocalApprovalIntent()Landroid/content/Intent;
-HSPLandroid/content/IRestrictionsManager;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
-HSPLandroid/content/IRestrictionsManager;->hasRestrictionsProvider()Z
-HSPLandroid/content/IRestrictionsManager;->notifyPermissionResponse(Ljava/lang/String;Landroid/os/PersistableBundle;)V
-HSPLandroid/content/IRestrictionsManager;->requestPermission(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/PersistableBundle;)V
 HSPLandroid/content/ISyncAdapter$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/ISyncAdapter$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/ISyncAdapter;->cancelSync(Landroid/content/ISyncContext;)V
-HSPLandroid/content/ISyncAdapter;->onUnsyncableAccount(Landroid/content/ISyncAdapterUnsyncableAccountCallback;)V
-HSPLandroid/content/ISyncAdapter;->startSync(Landroid/content/ISyncContext;Ljava/lang/String;Landroid/accounts/Account;Landroid/os/Bundle;)V
-HSPLandroid/content/ISyncAdapterUnsyncableAccountCallback$Stub$Proxy;->onUnsyncableAccountDone(Z)V
-HSPLandroid/content/ISyncAdapterUnsyncableAccountCallback;->onUnsyncableAccountDone(Z)V
-HSPLandroid/content/ISyncContext$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/ISyncContext$Stub$Proxy;->onFinished(Landroid/content/SyncResult;)V
-HSPLandroid/content/ISyncContext;->onFinished(Landroid/content/SyncResult;)V
-HSPLandroid/content/ISyncContext;->sendHeartbeat()V
 HSPLandroid/content/ISyncStatusObserver$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/ISyncStatusObserver;->onStatusChanged(I)V
 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;
@@ -17557,12 +16561,11 @@
 HSPLandroid/content/Intent;->isDocument()Z
 HSPLandroid/content/Intent;->isExcludingStopped()Z
 HSPLandroid/content/Intent;->isWebIntent()Z
-HSPLandroid/content/Intent;->makeMainActivity(Landroid/content/ComponentName;)Landroid/content/Intent;
 HSPLandroid/content/Intent;->makeMainSelectorActivity(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
-HSPLandroid/content/Intent;->makeRestartActivityTask(Landroid/content/ComponentName;)Landroid/content/Intent;
 HSPLandroid/content/Intent;->maybeStripForHistory()Landroid/content/Intent;
 HSPLandroid/content/Intent;->migrateExtraStreamToClipData()Z
 HSPLandroid/content/Intent;->normalizeMimeType(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/content/Intent;->parseIntent(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/content/Intent;
 HSPLandroid/content/Intent;->parseUri(Ljava/lang/String;I)Landroid/content/Intent;
 HSPLandroid/content/Intent;->prepareToEnterProcess()V
 HSPLandroid/content/Intent;->prepareToLeaveProcess(Landroid/content/Context;)V
@@ -17576,7 +16579,6 @@
 HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;Ljava/lang/String;)Landroid/content/Intent;
 HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;Z)Landroid/content/Intent;
 HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;[B)Landroid/content/Intent;
-HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;[J)Landroid/content/Intent;
 HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;[Landroid/os/Parcelable;)Landroid/content/Intent;
 HSPLandroid/content/Intent;->putExtra(Ljava/lang/String;[Ljava/lang/String;)Landroid/content/Intent;
 HSPLandroid/content/Intent;->putExtras(Landroid/content/Intent;)Landroid/content/Intent;
@@ -17588,7 +16590,6 @@
 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;
-HSPLandroid/content/Intent;->resolveActivityInfo(Landroid/content/pm/PackageManager;I)Landroid/content/pm/ActivityInfo;
 HSPLandroid/content/Intent;->resolveSystemService(Landroid/content/pm/PackageManager;I)Landroid/content/ComponentName;
 HSPLandroid/content/Intent;->resolveType(Landroid/content/ContentResolver;)Ljava/lang/String;
 HSPLandroid/content/Intent;->resolveTypeIfNeeded(Landroid/content/ContentResolver;)Ljava/lang/String;
@@ -17605,7 +16606,6 @@
 HSPLandroid/content/Intent;->setFlags(I)Landroid/content/Intent;
 HSPLandroid/content/Intent;->setPackage(Ljava/lang/String;)Landroid/content/Intent;
 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;
 HSPLandroid/content/Intent;->toString()Ljava/lang/String;
@@ -17618,18 +16618,15 @@
 HSPLandroid/content/IntentFilter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/IntentFilter$AuthorityEntry;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/IntentFilter$AuthorityEntry;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/content/IntentFilter$AuthorityEntry;->equals(Ljava/lang/Object;)Z
 HSPLandroid/content/IntentFilter;-><init>()V
 HSPLandroid/content/IntentFilter;-><init>(Landroid/content/IntentFilter;)V
 HSPLandroid/content/IntentFilter;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/IntentFilter;-><init>(Ljava/lang/String;)V
-HSPLandroid/content/IntentFilter;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/content/IntentFilter;->actionsIterator()Ljava/util/Iterator;
 HSPLandroid/content/IntentFilter;->addAction(Ljava/lang/String;)V
 HSPLandroid/content/IntentFilter;->addCategory(Ljava/lang/String;)V
-HSPLandroid/content/IntentFilter;->addDataAuthority(Landroid/content/IntentFilter$AuthorityEntry;)V
 HSPLandroid/content/IntentFilter;->addDataAuthority(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/content/IntentFilter;->addDataPath(Landroid/os/PatternMatcher;)V
-HSPLandroid/content/IntentFilter;->addDataPath(Ljava/lang/String;I)V
 HSPLandroid/content/IntentFilter;->addDataScheme(Ljava/lang/String;)V
 HSPLandroid/content/IntentFilter;->addDataSchemeSpecificPart(Ljava/lang/String;I)V
 HSPLandroid/content/IntentFilter;->addDataType(Ljava/lang/String;)V
@@ -17645,28 +16642,30 @@
 HSPLandroid/content/IntentFilter;->findMimeType(Ljava/lang/String;)Z
 HSPLandroid/content/IntentFilter;->getAction(I)Ljava/lang/String;
 HSPLandroid/content/IntentFilter;->getCategory(I)Ljava/lang/String;
+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;
+HSPLandroid/content/IntentFilter;->getHostsList()Ljava/util/ArrayList;
 HSPLandroid/content/IntentFilter;->handleAllWebDataURI()Z
 HSPLandroid/content/IntentFilter;->handlesWebUris(Z)Z
 HSPLandroid/content/IntentFilter;->hasAction(Ljava/lang/String;)Z
 HSPLandroid/content/IntentFilter;->hasCategory(Ljava/lang/String;)Z
+HSPLandroid/content/IntentFilter;->hasDataAuthority(Landroid/content/IntentFilter$AuthorityEntry;)Z
+HSPLandroid/content/IntentFilter;->hasDataPath(Landroid/os/PatternMatcher;)Z
+HSPLandroid/content/IntentFilter;->hasDataScheme(Ljava/lang/String;)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;->matchAction(Ljava/lang/String;)Z
 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;->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
 HSPLandroid/content/IntentFilter;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLandroid/content/IntentSender$1;-><init>()V
 HSPLandroid/content/Loader$ForceLoadContentObserver;-><init>(Landroid/content/Loader;)V
-HSPLandroid/content/Loader$ForceLoadContentObserver;->onChange(Z)V
-HSPLandroid/content/Loader$OnLoadCanceledListener;->onLoadCanceled(Landroid/content/Loader;)V
-HSPLandroid/content/Loader$OnLoadCompleteListener;->onLoadComplete(Landroid/content/Loader;Ljava/lang/Object;)V
-HSPLandroid/content/Loader;-><init>(Landroid/content/Context;)V
 HSPLandroid/content/Loader;->abandon()V
 HSPLandroid/content/Loader;->cancelLoad()Z
 HSPLandroid/content/Loader;->commitContentChanged()V
@@ -17674,13 +16673,10 @@
 HSPLandroid/content/Loader;->deliverResult(Ljava/lang/Object;)V
 HSPLandroid/content/Loader;->forceLoad()V
 HSPLandroid/content/Loader;->getContext()Landroid/content/Context;
-HSPLandroid/content/Loader;->getId()I
 HSPLandroid/content/Loader;->isAbandoned()Z
 HSPLandroid/content/Loader;->isReset()Z
 HSPLandroid/content/Loader;->isStarted()Z
 HSPLandroid/content/Loader;->onAbandon()V
-HSPLandroid/content/Loader;->onContentChanged()V
-HSPLandroid/content/Loader;->onForceLoad()V
 HSPLandroid/content/Loader;->onReset()V
 HSPLandroid/content/Loader;->registerListener(ILandroid/content/Loader$OnLoadCompleteListener;)V
 HSPLandroid/content/Loader;->registerOnLoadCanceledListener(Landroid/content/Loader$OnLoadCanceledListener;)V
@@ -17689,44 +16685,10 @@
 HSPLandroid/content/Loader;->startLoading()V
 HSPLandroid/content/Loader;->stopLoading()V
 HSPLandroid/content/Loader;->takeContentChanged()Z
+HSPLandroid/content/Loader;->toString()Ljava/lang/String;
 HSPLandroid/content/Loader;->unregisterListener(Landroid/content/Loader$OnLoadCompleteListener;)V
 HSPLandroid/content/Loader;->unregisterOnLoadCanceledListener(Landroid/content/Loader$OnLoadCanceledListener;)V
-HSPLandroid/content/MutableContextWrapper;-><init>(Landroid/content/Context;)V
-HSPLandroid/content/MutableContextWrapper;->setBaseContext(Landroid/content/Context;)V
-HSPLandroid/content/PeriodicSync$1;-><init>()V
-HSPLandroid/content/RestrictionEntry$1;-><init>()V
 HSPLandroid/content/RestrictionsManager;->getApplicationRestrictions()Landroid/os/Bundle;
-HSPLandroid/content/RestrictionsManager;->getManifestRestrictions(Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/content/RestrictionsManager;->loadManifestRestrictions(Ljava/lang/String;Landroid/content/res/XmlResourceParser;)Ljava/util/List;
-HSPLandroid/content/RestrictionsManager;->loadRestriction(Landroid/content/Context;Landroid/content/res/TypedArray;Landroid/content/res/XmlResourceParser;)Landroid/content/RestrictionEntry;
-HSPLandroid/content/SearchRecentSuggestionsProvider;-><init>()V
-HSPLandroid/content/SearchRecentSuggestionsProvider;->onCreate()Z
-HSPLandroid/content/SearchRecentSuggestionsProvider;->setupSuggestions(Ljava/lang/String;I)V
-HSPLandroid/content/ServiceConnection;->onNullBinding(Landroid/content/ComponentName;)V
-HSPLandroid/content/ServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLandroid/content/ServiceConnection;->onServiceDisconnected(Landroid/content/ComponentName;)V
-HSPLandroid/content/SharedPreferences$Editor;->apply()V
-HSPLandroid/content/SharedPreferences$Editor;->clear()Landroid/content/SharedPreferences$Editor;
-HSPLandroid/content/SharedPreferences$Editor;->commit()Z
-HSPLandroid/content/SharedPreferences$Editor;->putBoolean(Ljava/lang/String;Z)Landroid/content/SharedPreferences$Editor;
-HSPLandroid/content/SharedPreferences$Editor;->putFloat(Ljava/lang/String;F)Landroid/content/SharedPreferences$Editor;
-HSPLandroid/content/SharedPreferences$Editor;->putInt(Ljava/lang/String;I)Landroid/content/SharedPreferences$Editor;
-HSPLandroid/content/SharedPreferences$Editor;->putLong(Ljava/lang/String;J)Landroid/content/SharedPreferences$Editor;
-HSPLandroid/content/SharedPreferences$Editor;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
-HSPLandroid/content/SharedPreferences$Editor;->putStringSet(Ljava/lang/String;Ljava/util/Set;)Landroid/content/SharedPreferences$Editor;
-HSPLandroid/content/SharedPreferences$Editor;->remove(Ljava/lang/String;)Landroid/content/SharedPreferences$Editor;
-HSPLandroid/content/SharedPreferences$OnSharedPreferenceChangeListener;->onSharedPreferenceChanged(Landroid/content/SharedPreferences;Ljava/lang/String;)V
-HSPLandroid/content/SharedPreferences;->contains(Ljava/lang/String;)Z
-HSPLandroid/content/SharedPreferences;->edit()Landroid/content/SharedPreferences$Editor;
-HSPLandroid/content/SharedPreferences;->getAll()Ljava/util/Map;
-HSPLandroid/content/SharedPreferences;->getBoolean(Ljava/lang/String;Z)Z
-HSPLandroid/content/SharedPreferences;->getFloat(Ljava/lang/String;F)F
-HSPLandroid/content/SharedPreferences;->getInt(Ljava/lang/String;I)I
-HSPLandroid/content/SharedPreferences;->getLong(Ljava/lang/String;J)J
-HSPLandroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/SharedPreferences;->getStringSet(Ljava/lang/String;Ljava/util/Set;)Ljava/util/Set;
-HSPLandroid/content/SharedPreferences;->registerOnSharedPreferenceChangeListener(Landroid/content/SharedPreferences$OnSharedPreferenceChangeListener;)V
-HSPLandroid/content/SharedPreferences;->unregisterOnSharedPreferenceChangeListener(Landroid/content/SharedPreferences$OnSharedPreferenceChangeListener;)V
 HSPLandroid/content/SyncAdapterType$1;-><init>()V
 HSPLandroid/content/SyncAdapterType$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/SyncAdapterType;
 HSPLandroid/content/SyncAdapterType$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -17744,39 +16706,27 @@
 HSPLandroid/content/SyncAdaptersCache;->getSyncAdapterPackagesForAuthority(Ljava/lang/String;I)[Ljava/lang/String;
 HSPLandroid/content/SyncAdaptersCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/content/SyncAdapterType;
 HSPLandroid/content/SyncAdaptersCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
-HSPLandroid/content/SyncContext;->getSyncContextBinder()Landroid/os/IBinder;
-HSPLandroid/content/SyncContext;->onFinished(Landroid/content/SyncResult;)V
 HSPLandroid/content/SyncRequest$1;-><init>()V
-HSPLandroid/content/SyncRequest$Builder;->build()Landroid/content/SyncRequest;
-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;->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$1;-><init>()V
+HSPLandroid/content/SyncResult;-><init>()V
 HSPLandroid/content/SyncResult;-><init>(Z)V
-HSPLandroid/content/SyncResult;->clear()V
-HSPLandroid/content/SyncResult;->hasError()Z
-HSPLandroid/content/SyncResult;->hasHardError()Z
 HSPLandroid/content/SyncResult;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/SyncStats$1;-><init>()V
-HSPLandroid/content/SyncStats;->clear()V
-HSPLandroid/content/SyncStats;->toString()Ljava/lang/String;
 HSPLandroid/content/SyncStats;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/SyncStatusInfo$1;-><init>()V
 HSPLandroid/content/SyncStatusInfo$Stats;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/content/SyncStatusInfo$Stats;->writeToParcel(Landroid/os/Parcel;)V
 HSPLandroid/content/SyncStatusInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/SyncStatusInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/SyncStatusObserver;->onStatusChanged(I)V
+HSPLandroid/content/UndoManager$UndoState;-><init>(Landroid/content/UndoManager;Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
 HSPLandroid/content/UndoManager$UndoState;->addOperation(Landroid/content/UndoOperation;)V
-HSPLandroid/content/UndoManager$UndoState;->commit()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$UndoState;->writeToParcel(Landroid/os/Parcel;)V
 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
@@ -17785,36 +16735,32 @@
 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;->restoreInstanceState(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
+HSPLandroid/content/UndoManager;->restoreOwner(Landroid/os/Parcel;)Landroid/content/UndoOwner;
 HSPLandroid/content/UndoManager;->saveInstanceState(Landroid/os/Parcel;)V
+HSPLandroid/content/UndoManager;->saveOwner(Landroid/content/UndoOwner;Landroid/os/Parcel;)V
 HSPLandroid/content/UndoOperation;->allowMerge()Z
-HSPLandroid/content/UndoOperation;->commit()V
 HSPLandroid/content/UndoOperation;->getOwner()Landroid/content/UndoOwner;
+HSPLandroid/content/UndoOperation;->getOwnerData()Ljava/lang/Object;
 HSPLandroid/content/UndoOperation;->hasData()Z
-HSPLandroid/content/UndoOperation;->matchOwner(Landroid/content/UndoOwner;)Z
-HSPLandroid/content/UndoOperation;->redo()V
-HSPLandroid/content/UndoOperation;->undo()V
+HSPLandroid/content/UndoOwner;->getData()Ljava/lang/Object;
 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;
 HSPLandroid/content/UriMatcher;->match(Landroid/net/Uri;)I
+HSPLandroid/content/om/IOverlayManager$Stub$Proxy;->getOverlayInfosForTarget(Ljava/lang/String;I)Ljava/util/List;
 HSPLandroid/content/om/IOverlayManager$Stub;-><init>()V
-HSPLandroid/content/om/IOverlayManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/om/IOverlayManager;->getAllOverlays(I)Ljava/util/Map;
-HSPLandroid/content/om/IOverlayManager;->getOverlayInfo(Ljava/lang/String;I)Landroid/content/om/OverlayInfo;
-HSPLandroid/content/om/IOverlayManager;->getOverlayInfosForTarget(Ljava/lang/String;I)Ljava/util/List;
-HSPLandroid/content/om/IOverlayManager;->setEnabled(Ljava/lang/String;ZI)Z
-HSPLandroid/content/om/IOverlayManager;->setEnabledExclusive(Ljava/lang/String;ZI)Z
-HSPLandroid/content/om/IOverlayManager;->setEnabledExclusiveInCategory(Ljava/lang/String;I)Z
-HSPLandroid/content/om/IOverlayManager;->setHighestPriority(Ljava/lang/String;I)Z
-HSPLandroid/content/om/IOverlayManager;->setLowestPriority(Ljava/lang/String;I)Z
-HSPLandroid/content/om/IOverlayManager;->setPriority(Ljava/lang/String;Ljava/lang/String;I)Z
+HSPLandroid/content/om/IOverlayManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/om/IOverlayManager;
 HSPLandroid/content/om/OverlayInfo$1;-><init>()V
-HSPLandroid/content/om/OverlayInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
+HSPLandroid/content/om/OverlayInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/om/OverlayInfo;
+HSPLandroid/content/om/OverlayInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/om/OverlayInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/om/OverlayInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIZ)V
 HSPLandroid/content/om/OverlayInfo;->ensureValidState()V
-HSPLandroid/content/pm/-$$Lambda$FMztmpMwSp3D3ge8Zxr31di8ZBg;-><init>()V
+HSPLandroid/content/om/OverlayInfo;->isEnabled()Z
+HSPLandroid/content/pm/-$$Lambda$PackageParser$0aobsT7Zf7WVZCqMZ5z2clAuQf4;-><init>()V
+HSPLandroid/content/pm/-$$Lambda$PackageParser$0aobsT7Zf7WVZCqMZ5z2clAuQf4;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLandroid/content/pm/-$$Lambda$jpya2qgMDDEok2GAoKRDqPM5lIE;-><init>()V
 HSPLandroid/content/pm/-$$Lambda$jpya2qgMDDEok2GAoKRDqPM5lIE;->get()Ljava/lang/Object;
 HSPLandroid/content/pm/ActivityInfo$1;-><init>()V
@@ -17827,14 +16773,15 @@
 HSPLandroid/content/pm/ActivityInfo;-><init>(Landroid/content/pm/ActivityInfo;)V
 HSPLandroid/content/pm/ActivityInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/ActivityInfo;->getThemeResource()I
+HSPLandroid/content/pm/ActivityInfo;->hasFixedAspectRatio()Z
 HSPLandroid/content/pm/ActivityInfo;->isFixedOrientation()Z
 HSPLandroid/content/pm/ActivityInfo;->isFixedOrientationLandscape()Z
 HSPLandroid/content/pm/ActivityInfo;->isFixedOrientationPortrait()Z
 HSPLandroid/content/pm/ActivityInfo;->isTranslucentOrFloating(Landroid/content/res/TypedArray;)Z
-HSPLandroid/content/pm/ActivityInfo;->resizeModeToString(I)Ljava/lang/String;
 HSPLandroid/content/pm/ActivityInfo;->supportsPictureInPicture()Z
-HSPLandroid/content/pm/ActivityInfo;->toString()Ljava/lang/String;
 HSPLandroid/content/pm/ActivityInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/pm/AndroidHidlUpdater;-><init>()V
+HSPLandroid/content/pm/AndroidHidlUpdater;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
 HSPLandroid/content/pm/ApplicationInfo$1;-><init>()V
 HSPLandroid/content/pm/ApplicationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ApplicationInfo;
 HSPLandroid/content/pm/ApplicationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -17843,28 +16790,30 @@
 HSPLandroid/content/pm/ApplicationInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/ApplicationInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
 HSPLandroid/content/pm/ApplicationInfo;->getBaseCodePath()Ljava/lang/String;
-HSPLandroid/content/pm/ApplicationInfo;->getBaseResourcePath()Ljava/lang/String;
 HSPLandroid/content/pm/ApplicationInfo;->getCodePath()Ljava/lang/String;
 HSPLandroid/content/pm/ApplicationInfo;->getHiddenApiEnforcementPolicy()I
 HSPLandroid/content/pm/ApplicationInfo;->getResourcePath()Ljava/lang/String;
-HSPLandroid/content/pm/ApplicationInfo;->getSplitCodePaths()[Ljava/lang/String;
 HSPLandroid/content/pm/ApplicationInfo;->hasRtlSupport()Z
 HSPLandroid/content/pm/ApplicationInfo;->initForUser(I)V
+HSPLandroid/content/pm/ApplicationInfo;->isAllowedToUseHiddenApis()Z
 HSPLandroid/content/pm/ApplicationInfo;->isDirectBootAware()Z
+HSPLandroid/content/pm/ApplicationInfo;->isEmbeddedDexUsed()Z
 HSPLandroid/content/pm/ApplicationInfo;->isEncryptionAware()Z
 HSPLandroid/content/pm/ApplicationInfo;->isExternal()Z
-HSPLandroid/content/pm/ApplicationInfo;->isExternalAsec()Z
-HSPLandroid/content/pm/ApplicationInfo;->isForwardLocked()Z
 HSPLandroid/content/pm/ApplicationInfo;->isInstantApp()Z
+HSPLandroid/content/pm/ApplicationInfo;->isOem()Z
 HSPLandroid/content/pm/ApplicationInfo;->isPartiallyDirectBootAware()Z
 HSPLandroid/content/pm/ApplicationInfo;->isPrivilegedApp()Z
 HSPLandroid/content/pm/ApplicationInfo;->isProduct()Z
+HSPLandroid/content/pm/ApplicationInfo;->isProductServices()Z
+HSPLandroid/content/pm/ApplicationInfo;->isProfileableByShell()Z
 HSPLandroid/content/pm/ApplicationInfo;->isSignedWithPlatformKey()Z
 HSPLandroid/content/pm/ApplicationInfo;->isStaticSharedLibrary()Z
 HSPLandroid/content/pm/ApplicationInfo;->isSystemApp()Z
 HSPLandroid/content/pm/ApplicationInfo;->isUpdatedSystemApp()Z
 HSPLandroid/content/pm/ApplicationInfo;->isVendor()Z
-HSPLandroid/content/pm/ApplicationInfo;->maybeUpdateHiddenApiEnforcementPolicy(II)V
+HSPLandroid/content/pm/ApplicationInfo;->loadDefaultIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
+HSPLandroid/content/pm/ApplicationInfo;->maybeUpdateHiddenApiEnforcementPolicy(I)V
 HSPLandroid/content/pm/ApplicationInfo;->requestsIsolatedSplitLoading()Z
 HSPLandroid/content/pm/ApplicationInfo;->setBaseCodePath(Ljava/lang/String;)V
 HSPLandroid/content/pm/ApplicationInfo;->setBaseResourcePath(Ljava/lang/String;)V
@@ -17875,28 +16824,24 @@
 HSPLandroid/content/pm/ApplicationInfo;->setSplitResourcePaths([Ljava/lang/String;)V
 HSPLandroid/content/pm/ApplicationInfo;->setVersionCode(J)V
 HSPLandroid/content/pm/ApplicationInfo;->usesCompatibilityMode()Z
+HSPLandroid/content/pm/ApplicationInfo;->usesNonSdkApi()Z
 HSPLandroid/content/pm/ApplicationInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/BaseParceledListSlice;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
-HSPLandroid/content/pm/BaseParceledListSlice;->readParcelableCreator(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Landroid/os/Parcelable$Creator;
 HSPLandroid/content/pm/BaseParceledListSlice;->verifySameType(Ljava/lang/Class;Ljava/lang/Class;)V
-HSPLandroid/content/pm/BaseParceledListSlice;->writeElement(Ljava/lang/Object;Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/BaseParceledListSlice;->writeParcelableCreator(Ljava/lang/Object;Landroid/os/Parcel;)V
 HSPLandroid/content/pm/BaseParceledListSlice;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/pm/ComponentInfo;-><init>()V
 HSPLandroid/content/pm/ComponentInfo;-><init>(Landroid/content/pm/ComponentInfo;)V
 HSPLandroid/content/pm/ComponentInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/ComponentInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
 HSPLandroid/content/pm/ComponentInfo;->getComponentName()Landroid/content/ComponentName;
 HSPLandroid/content/pm/ComponentInfo;->getIconResource()I
 HSPLandroid/content/pm/ComponentInfo;->getLogoResource()I
-HSPLandroid/content/pm/ComponentInfo;->isEnabled()Z
 HSPLandroid/content/pm/ComponentInfo;->loadDefaultIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/content/pm/ComponentInfo;->loadUnsafeLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
 HSPLandroid/content/pm/ComponentInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/ConfigurationInfo$1;-><init>()V
 HSPLandroid/content/pm/ConfigurationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ConfigurationInfo;
 HSPLandroid/content/pm/ConfigurationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/ConfigurationInfo$1;->newArray(I)[Landroid/content/pm/ConfigurationInfo;
-HSPLandroid/content/pm/ConfigurationInfo$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/content/pm/ConfigurationInfo;-><init>()V
 HSPLandroid/content/pm/ConfigurationInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/ConfigurationInfo;->writeToParcel(Landroid/os/Parcel;I)V
@@ -17905,748 +16850,181 @@
 HSPLandroid/content/pm/FeatureInfo$1;-><init>()V
 HSPLandroid/content/pm/FeatureInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/FeatureInfo;
 HSPLandroid/content/pm/FeatureInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/FeatureInfo$1;->newArray(I)[Landroid/content/pm/FeatureInfo;
-HSPLandroid/content/pm/FeatureInfo$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/content/pm/FeatureInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/ICrossProfileApps$Stub;-><init>()V
-HSPLandroid/content/pm/ICrossProfileApps;->getTargetUserProfiles(Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/content/pm/ICrossProfileApps;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)V
-HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->addOnAppsChangedListener(Ljava/lang/String;Landroid/content/pm/IOnAppsChangedListener;)V
 HSPLandroid/content/pm/ILauncherApps$Stub$Proxy;->getApplicationInfo(Ljava/lang/String;Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ApplicationInfo;
-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;->getShortcutIconFd(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor;
 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;-><init>()V
-HSPLandroid/content/pm/ILauncherApps;->addOnAppsChangedListener(Ljava/lang/String;Landroid/content/pm/IOnAppsChangedListener;)V
-HSPLandroid/content/pm/ILauncherApps;->getApplicationInfo(Ljava/lang/String;Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ApplicationInfo;
-HSPLandroid/content/pm/ILauncherApps;->getLauncherActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/ILauncherApps;->getShortcutConfigActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/ILauncherApps;->getShortcutConfigActivityIntent(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Landroid/content/IntentSender;
-HSPLandroid/content/pm/ILauncherApps;->getShortcutIconFd(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/content/pm/ILauncherApps;->getShortcutIconResId(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I
-HSPLandroid/content/pm/ILauncherApps;->getShortcuts(Ljava/lang/String;JLjava/lang/String;Ljava/util/List;Landroid/content/ComponentName;ILandroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/ILauncherApps;->getSuspendedPackageLauncherExtras(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/os/Bundle;
-HSPLandroid/content/pm/ILauncherApps;->hasShortcutHostPermission(Ljava/lang/String;)Z
-HSPLandroid/content/pm/ILauncherApps;->isActivityEnabled(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
-HSPLandroid/content/pm/ILauncherApps;->isPackageEnabled(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Z
-HSPLandroid/content/pm/ILauncherApps;->pinShortcuts(Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Landroid/os/UserHandle;)V
-HSPLandroid/content/pm/ILauncherApps;->removeOnAppsChangedListener(Landroid/content/pm/IOnAppsChangedListener;)V
-HSPLandroid/content/pm/ILauncherApps;->resolveActivity(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Landroid/content/pm/ActivityInfo;
-HSPLandroid/content/pm/ILauncherApps;->showAppDetailsAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/ComponentName;Landroid/graphics/Rect;Landroid/os/Bundle;Landroid/os/UserHandle;)V
-HSPLandroid/content/pm/ILauncherApps;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/ComponentName;Landroid/graphics/Rect;Landroid/os/Bundle;Landroid/os/UserHandle;)V
-HSPLandroid/content/pm/ILauncherApps;->startShortcut(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Rect;Landroid/os/Bundle;I)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/IOnAppsChangedListener;->onPackageAdded(Landroid/os/UserHandle;Ljava/lang/String;)V
-HSPLandroid/content/pm/IOnAppsChangedListener;->onPackageChanged(Landroid/os/UserHandle;Ljava/lang/String;)V
-HSPLandroid/content/pm/IOnAppsChangedListener;->onPackageRemoved(Landroid/os/UserHandle;Ljava/lang/String;)V
-HSPLandroid/content/pm/IOnAppsChangedListener;->onPackagesAvailable(Landroid/os/UserHandle;[Ljava/lang/String;Z)V
-HSPLandroid/content/pm/IOnAppsChangedListener;->onPackagesSuspended(Landroid/os/UserHandle;[Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/content/pm/IOnAppsChangedListener;->onPackagesUnavailable(Landroid/os/UserHandle;[Ljava/lang/String;Z)V
-HSPLandroid/content/pm/IOnAppsChangedListener;->onPackagesUnsuspended(Landroid/os/UserHandle;[Ljava/lang/String;)V
-HSPLandroid/content/pm/IOnAppsChangedListener;->onShortcutChanged(Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/content/pm/IOnPermissionsChangeListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/content/pm/IOnPermissionsChangeListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/pm/IOnPermissionsChangeListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IOnPermissionsChangeListener;
-HSPLandroid/content/pm/IOnPermissionsChangeListener;->onPermissionsChanged(I)V
 HSPLandroid/content/pm/IOtaDexopt$Stub;-><init>()V
-HSPLandroid/content/pm/IOtaDexopt;->cleanup()V
-HSPLandroid/content/pm/IOtaDexopt;->dexoptNextPackage()V
-HSPLandroid/content/pm/IOtaDexopt;->getProgress()F
-HSPLandroid/content/pm/IOtaDexopt;->isDone()Z
-HSPLandroid/content/pm/IOtaDexopt;->nextDexoptCommand()Ljava/lang/String;
-HSPLandroid/content/pm/IOtaDexopt;->prepare()V
-HSPLandroid/content/pm/IPackageDataObserver;->onRemoveCompleted(Ljava/lang/String;Z)V
-HSPLandroid/content/pm/IPackageDeleteObserver;->packageDeleted(Ljava/lang/String;I)V
-HSPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->createSession(Landroid/content/pm/PackageInstaller$SessionParams;Ljava/lang/String;I)I
-HSPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->getAllSessions(I)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->getMySessions(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;
-HSPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->openSession(I)Landroid/content/pm/IPackageInstallerSession;
-HSPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;I)V
+HSPLandroid/content/pm/IPackageInstaller$Stub$Proxy;->getStagedSessions()Landroid/content/pm/ParceledListSlice;
 HSPLandroid/content/pm/IPackageInstaller$Stub;-><init>()V
-HSPLandroid/content/pm/IPackageInstaller;->abandonSession(I)V
-HSPLandroid/content/pm/IPackageInstaller;->createSession(Landroid/content/pm/PackageInstaller$SessionParams;Ljava/lang/String;I)I
-HSPLandroid/content/pm/IPackageInstaller;->getAllSessions(I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageInstaller;->getMySessions(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageInstaller;->getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;
-HSPLandroid/content/pm/IPackageInstaller;->openSession(I)Landroid/content/pm/IPackageInstallerSession;
-HSPLandroid/content/pm/IPackageInstaller;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;I)V
-HSPLandroid/content/pm/IPackageInstaller;->setPermissionsResult(IZ)V
-HSPLandroid/content/pm/IPackageInstaller;->uninstall(Landroid/content/pm/VersionedPackage;Ljava/lang/String;ILandroid/content/IntentSender;I)V
-HSPLandroid/content/pm/IPackageInstaller;->unregisterCallback(Landroid/content/pm/IPackageInstallerCallback;)V
-HSPLandroid/content/pm/IPackageInstaller;->updateSessionAppIcon(ILandroid/graphics/Bitmap;)V
-HSPLandroid/content/pm/IPackageInstaller;->updateSessionAppLabel(ILjava/lang/String;)V
 HSPLandroid/content/pm/IPackageInstallerCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/content/pm/IPackageInstallerCallback;->onSessionActiveChanged(IZ)V
-HSPLandroid/content/pm/IPackageInstallerCallback;->onSessionBadgingChanged(I)V
-HSPLandroid/content/pm/IPackageInstallerCallback;->onSessionCreated(I)V
-HSPLandroid/content/pm/IPackageInstallerCallback;->onSessionFinished(IZ)V
-HSPLandroid/content/pm/IPackageInstallerCallback;->onSessionProgressChanged(IF)V
-HSPLandroid/content/pm/IPackageInstallerSession$Stub$Proxy;->setClientProgress(F)V
-HSPLandroid/content/pm/IPackageInstallerSession;->abandon()V
-HSPLandroid/content/pm/IPackageInstallerSession;->addClientProgress(F)V
-HSPLandroid/content/pm/IPackageInstallerSession;->close()V
-HSPLandroid/content/pm/IPackageInstallerSession;->commit(Landroid/content/IntentSender;Z)V
-HSPLandroid/content/pm/IPackageInstallerSession;->getNames()[Ljava/lang/String;
-HSPLandroid/content/pm/IPackageInstallerSession;->openRead(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/content/pm/IPackageInstallerSession;->openWrite(Ljava/lang/String;JJ)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/content/pm/IPackageInstallerSession;->removeSplit(Ljava/lang/String;)V
-HSPLandroid/content/pm/IPackageInstallerSession;->setClientProgress(F)V
-HSPLandroid/content/pm/IPackageInstallerSession;->transfer(Ljava/lang/String;)V
-HSPLandroid/content/pm/IPackageInstallerSession;->write(Ljava/lang/String;JJLandroid/os/ParcelFileDescriptor;)V
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->addOnPermissionsChangeListener(Landroid/content/pm/IOnPermissionsChangeListener;)V
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->checkUidPermission(Ljava/lang/String;I)I
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getActivityInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getAllIntentFilters(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getAllPermissionGroups(I)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getAppOpPermissionPackages(Ljava/lang/String;)[Ljava/lang/String;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationEnabledSetting(Ljava/lang/String;I)I
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getApplicationInfo(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getChangedPackages(II)Landroid/content/pm/ChangedPackages;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getComponentEnabledSetting(Landroid/content/ComponentName;I)I
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getDefaultBrowserPackageName(I)Ljava/lang/String;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstalledApplications(II)Landroid/content/pm/ParceledListSlice;
+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;->getInstantApps(I)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getInstantAppResolverSettingsComponent()Landroid/content/ComponentName;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getIntentFilterVerifications(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getIntentVerificationStatus(Ljava/lang/String;I)I
 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;->getPackageInstaller()Landroid/content/pm/IPackageInstaller;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackageUid(Ljava/lang/String;II)I
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackagesForUid(I)[Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPackagesHoldingPermissions([Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPermissionControllerPackageName()Ljava/lang/String;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;I)I
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getProviderInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ProviderInfo;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getPreferredActivities(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)I
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getReceiverInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getServiceInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ServiceInfo;
+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;->getSystemSharedLibraryNames()[Ljava/lang/String;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->getSystemTextClassifierPackageName()Ljava/lang/String;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->grantDefaultPermissionsToEnabledImsServices([Ljava/lang/String;I)V
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->grantDefaultPermissionsToEnabledTelephonyDataServices([Ljava/lang/String;I)V
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->hasSystemFeature(Ljava/lang/String;I)Z
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->isInstantApp(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->isSafeMode()Z
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->notifyDexLoad(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->notifyPackageUse(Ljava/lang/String;I)V
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryContentProviders(Ljava/lang/String;IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentContentProviders(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryIntentServices(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->queryPermissionsByGroup(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->replacePreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->resolveService(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->revokeDefaultPermissionsFromDisabledTelephonyDataServices([Ljava/lang/String;I)V
 HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->setComponentEnabledSetting(Landroid/content/ComponentName;III)V
-HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->verifyPendingInstall(II)V
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->setSystemAppHiddenUntilInstalled(Ljava/lang/String;Z)V
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;III)V
+HSPLandroid/content/pm/IPackageManager$Stub$Proxy;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIZI)V
 HSPLandroid/content/pm/IPackageManager$Stub;-><init>()V
 HSPLandroid/content/pm/IPackageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageManager;
 HSPLandroid/content/pm/IPackageManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/pm/IPackageManager;->activitySupportsIntent(Landroid/content/ComponentName;Landroid/content/Intent;Ljava/lang/String;)Z
-HSPLandroid/content/pm/IPackageManager;->addCrossProfileIntentFilter(Landroid/content/IntentFilter;Ljava/lang/String;III)V
-HSPLandroid/content/pm/IPackageManager;->addOnPermissionsChangeListener(Landroid/content/pm/IOnPermissionsChangeListener;)V
-HSPLandroid/content/pm/IPackageManager;->addPermission(Landroid/content/pm/PermissionInfo;)Z
-HSPLandroid/content/pm/IPackageManager;->addPermissionAsync(Landroid/content/pm/PermissionInfo;)Z
-HSPLandroid/content/pm/IPackageManager;->addPersistentPreferredActivity(Landroid/content/IntentFilter;Landroid/content/ComponentName;I)V
-HSPLandroid/content/pm/IPackageManager;->addPreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
-HSPLandroid/content/pm/IPackageManager;->canForwardTo(Landroid/content/Intent;Ljava/lang/String;II)Z
-HSPLandroid/content/pm/IPackageManager;->canRequestPackageInstalls(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/IPackageManager;->canonicalToCurrentPackageNames([Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager;->checkPackageStartable(Ljava/lang/String;I)V
-HSPLandroid/content/pm/IPackageManager;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I
-HSPLandroid/content/pm/IPackageManager;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/content/pm/IPackageManager;->checkUidPermission(Ljava/lang/String;I)I
-HSPLandroid/content/pm/IPackageManager;->checkUidSignatures(II)I
-HSPLandroid/content/pm/IPackageManager;->clearApplicationProfileData(Ljava/lang/String;)V
-HSPLandroid/content/pm/IPackageManager;->clearApplicationUserData(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;I)V
-HSPLandroid/content/pm/IPackageManager;->clearCrossProfileIntentFilters(ILjava/lang/String;)V
-HSPLandroid/content/pm/IPackageManager;->clearPackagePersistentPreferredActivities(Ljava/lang/String;I)V
-HSPLandroid/content/pm/IPackageManager;->clearPackagePreferredActivities(Ljava/lang/String;)V
-HSPLandroid/content/pm/IPackageManager;->currentToCanonicalPackageNames([Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager;->deleteApplicationCacheFiles(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;)V
-HSPLandroid/content/pm/IPackageManager;->deleteApplicationCacheFilesAsUser(Ljava/lang/String;ILandroid/content/pm/IPackageDataObserver;)V
-HSPLandroid/content/pm/IPackageManager;->deletePackageAsUser(Ljava/lang/String;ILandroid/content/pm/IPackageDeleteObserver;II)V
-HSPLandroid/content/pm/IPackageManager;->deletePackageVersioned(Landroid/content/pm/VersionedPackage;Landroid/content/pm/IPackageDeleteObserver2;II)V
-HSPLandroid/content/pm/IPackageManager;->deletePreloadsFileCache()V
-HSPLandroid/content/pm/IPackageManager;->dumpProfiles(Ljava/lang/String;)V
-HSPLandroid/content/pm/IPackageManager;->enterSafeMode()V
-HSPLandroid/content/pm/IPackageManager;->extendVerificationTimeout(IIJ)V
-HSPLandroid/content/pm/IPackageManager;->findPersistentPreferredActivity(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;
-HSPLandroid/content/pm/IPackageManager;->finishPackageInstall(IZ)V
-HSPLandroid/content/pm/IPackageManager;->flushPackageRestrictionsAsUser(I)V
-HSPLandroid/content/pm/IPackageManager;->forceDexOpt(Ljava/lang/String;)V
-HSPLandroid/content/pm/IPackageManager;->freeStorage(Ljava/lang/String;JILandroid/content/IntentSender;)V
-HSPLandroid/content/pm/IPackageManager;->freeStorageAndNotify(Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
-HSPLandroid/content/pm/IPackageManager;->getActivityInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
-HSPLandroid/content/pm/IPackageManager;->getAllIntentFilters(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->getAllPackages()Ljava/util/List;
-HSPLandroid/content/pm/IPackageManager;->getAllPermissionGroups(I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->getAppOpPermissionPackages(Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager;->getApplicationEnabledSetting(Ljava/lang/String;I)I
-HSPLandroid/content/pm/IPackageManager;->getApplicationHiddenSettingAsUser(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/IPackageManager;->getApplicationInfo(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
-HSPLandroid/content/pm/IPackageManager;->getArtManager()Landroid/content/pm/dex/IArtManager;
-HSPLandroid/content/pm/IPackageManager;->getBlockUninstallForUser(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/IPackageManager;->getChangedPackages(II)Landroid/content/pm/ChangedPackages;
-HSPLandroid/content/pm/IPackageManager;->getComponentEnabledSetting(Landroid/content/ComponentName;I)I
-HSPLandroid/content/pm/IPackageManager;->getDefaultAppsBackup(I)[B
-HSPLandroid/content/pm/IPackageManager;->getDefaultBrowserPackageName(I)Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager;->getFlagsForUid(I)I
-HSPLandroid/content/pm/IPackageManager;->getHarmfulAppWarning(Ljava/lang/String;I)Ljava/lang/CharSequence;
-HSPLandroid/content/pm/IPackageManager;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName;
-HSPLandroid/content/pm/IPackageManager;->getInstallLocation()I
-HSPLandroid/content/pm/IPackageManager;->getInstallReason(Ljava/lang/String;I)I
-HSPLandroid/content/pm/IPackageManager;->getInstalledApplications(II)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->getInstalledPackages(II)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager;->getInstantAppAndroidId(Ljava/lang/String;I)Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager;->getInstantAppCookie(Ljava/lang/String;I)[B
-HSPLandroid/content/pm/IPackageManager;->getInstantAppIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap;
-HSPLandroid/content/pm/IPackageManager;->getInstantAppInstallerComponent()Landroid/content/ComponentName;
-HSPLandroid/content/pm/IPackageManager;->getInstantAppResolverComponent()Landroid/content/ComponentName;
-HSPLandroid/content/pm/IPackageManager;->getInstantAppResolverSettingsComponent()Landroid/content/ComponentName;
-HSPLandroid/content/pm/IPackageManager;->getInstantApps(I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->getInstrumentationInfo(Landroid/content/ComponentName;I)Landroid/content/pm/InstrumentationInfo;
-HSPLandroid/content/pm/IPackageManager;->getIntentFilterVerificationBackup(I)[B
-HSPLandroid/content/pm/IPackageManager;->getIntentFilterVerifications(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->getIntentVerificationStatus(Ljava/lang/String;I)I
-HSPLandroid/content/pm/IPackageManager;->getKeySetByAlias(Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/KeySet;
-HSPLandroid/content/pm/IPackageManager;->getLastChosenActivity(Landroid/content/Intent;Ljava/lang/String;I)Landroid/content/pm/ResolveInfo;
-HSPLandroid/content/pm/IPackageManager;->getMoveStatus(I)I
-HSPLandroid/content/pm/IPackageManager;->getNameForUid(I)Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager;->getNamesForUids([I)[Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager;->getPackageGids(Ljava/lang/String;II)[I
-HSPLandroid/content/pm/IPackageManager;->getPackageInfo(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
-HSPLandroid/content/pm/IPackageManager;->getPackageInfoVersioned(Landroid/content/pm/VersionedPackage;II)Landroid/content/pm/PackageInfo;
-HSPLandroid/content/pm/IPackageManager;->getPackageInstaller()Landroid/content/pm/IPackageInstaller;
-HSPLandroid/content/pm/IPackageManager;->getPackageSizeInfo(Ljava/lang/String;ILandroid/content/pm/IPackageStatsObserver;)V
-HSPLandroid/content/pm/IPackageManager;->getPackageUid(Ljava/lang/String;II)I
-HSPLandroid/content/pm/IPackageManager;->getPackagesForUid(I)[Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager;->getPackagesHoldingPermissions([Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->getPermissionControllerPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;I)I
-HSPLandroid/content/pm/IPackageManager;->getPermissionGrantBackup(I)[B
-HSPLandroid/content/pm/IPackageManager;->getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;
-HSPLandroid/content/pm/IPackageManager;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
-HSPLandroid/content/pm/IPackageManager;->getPersistentApplications(I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->getPreferredActivities(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)I
-HSPLandroid/content/pm/IPackageManager;->getPreferredActivityBackup(I)[B
-HSPLandroid/content/pm/IPackageManager;->getPrivateFlagsForUid(I)I
-HSPLandroid/content/pm/IPackageManager;->getProviderInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ProviderInfo;
-HSPLandroid/content/pm/IPackageManager;->getReceiverInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
-HSPLandroid/content/pm/IPackageManager;->getServiceInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ServiceInfo;
-HSPLandroid/content/pm/IPackageManager;->getServicesSystemSharedLibraryPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager;->getSharedLibraries(Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->getSharedSystemSharedLibraryPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager;->getSigningKeySet(Ljava/lang/String;)Landroid/content/pm/KeySet;
-HSPLandroid/content/pm/IPackageManager;->getSuspendedPackageAppExtras(Ljava/lang/String;I)Landroid/os/PersistableBundle;
-HSPLandroid/content/pm/IPackageManager;->getSystemAvailableFeatures()Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->getSystemSharedLibraryNames()[Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager;->getSystemTextClassifierPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager;->getUidForSharedUser(Ljava/lang/String;)I
-HSPLandroid/content/pm/IPackageManager;->getVerifierDeviceIdentity()Landroid/content/pm/VerifierDeviceIdentity;
-HSPLandroid/content/pm/IPackageManager;->grantDefaultPermissionsToActiveLuiApp(Ljava/lang/String;I)V
-HSPLandroid/content/pm/IPackageManager;->grantDefaultPermissionsToEnabledCarrierApps([Ljava/lang/String;I)V
-HSPLandroid/content/pm/IPackageManager;->grantDefaultPermissionsToEnabledImsServices([Ljava/lang/String;I)V
-HSPLandroid/content/pm/IPackageManager;->grantDefaultPermissionsToEnabledTelephonyDataServices([Ljava/lang/String;I)V
-HSPLandroid/content/pm/IPackageManager;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/content/pm/IPackageManager;->hasSigningCertificate(Ljava/lang/String;[BI)Z
-HSPLandroid/content/pm/IPackageManager;->hasSystemFeature(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/IPackageManager;->hasSystemUidErrors()Z
-HSPLandroid/content/pm/IPackageManager;->hasUidSigningCertificate(I[BI)Z
-HSPLandroid/content/pm/IPackageManager;->installExistingPackageAsUser(Ljava/lang/String;III)I
-HSPLandroid/content/pm/IPackageManager;->isFirstBoot()Z
-HSPLandroid/content/pm/IPackageManager;->isInstantApp(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/IPackageManager;->isOnlyCoreApps()Z
-HSPLandroid/content/pm/IPackageManager;->isPackageAvailable(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/IPackageManager;->isPackageDeviceAdminOnAnyUser(Ljava/lang/String;)Z
-HSPLandroid/content/pm/IPackageManager;->isPackageSignedByKeySet(Ljava/lang/String;Landroid/content/pm/KeySet;)Z
-HSPLandroid/content/pm/IPackageManager;->isPackageSignedByKeySetExactly(Ljava/lang/String;Landroid/content/pm/KeySet;)Z
-HSPLandroid/content/pm/IPackageManager;->isPackageStateProtected(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/IPackageManager;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/IPackageManager;->isPermissionEnforced(Ljava/lang/String;)Z
-HSPLandroid/content/pm/IPackageManager;->isPermissionRevokedByPolicy(Ljava/lang/String;Ljava/lang/String;I)Z
-HSPLandroid/content/pm/IPackageManager;->isProtectedBroadcast(Ljava/lang/String;)Z
-HSPLandroid/content/pm/IPackageManager;->isSafeMode()Z
-HSPLandroid/content/pm/IPackageManager;->isStorageLow()Z
-HSPLandroid/content/pm/IPackageManager;->isUidPrivileged(I)Z
-HSPLandroid/content/pm/IPackageManager;->isUpgrade()Z
-HSPLandroid/content/pm/IPackageManager;->logAppProcessStartIfNeeded(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/content/pm/IPackageManager;->movePackage(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/content/pm/IPackageManager;->movePrimaryStorage(Ljava/lang/String;)I
-HSPLandroid/content/pm/IPackageManager;->notifyDexLoad(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
-HSPLandroid/content/pm/IPackageManager;->notifyPackageUse(Ljava/lang/String;I)V
-HSPLandroid/content/pm/IPackageManager;->performDexOptMode(Ljava/lang/String;ZLjava/lang/String;ZZLjava/lang/String;)Z
-HSPLandroid/content/pm/IPackageManager;->performDexOptSecondary(Ljava/lang/String;Ljava/lang/String;Z)Z
-HSPLandroid/content/pm/IPackageManager;->performFstrimIfNeeded()V
-HSPLandroid/content/pm/IPackageManager;->queryContentProviders(Ljava/lang/String;IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->queryInstrumentation(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->queryIntentActivityOptions(Landroid/content/ComponentName;[Landroid/content/Intent;[Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->queryIntentContentProviders(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->queryIntentServices(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->queryPermissionsByGroup(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IPackageManager;->querySyncProviders(Ljava/util/List;Ljava/util/List;)V
-HSPLandroid/content/pm/IPackageManager;->reconcileSecondaryDexFiles(Ljava/lang/String;)V
-HSPLandroid/content/pm/IPackageManager;->registerDexModule(Ljava/lang/String;Ljava/lang/String;ZLandroid/content/pm/IDexModuleRegisterCallback;)V
-HSPLandroid/content/pm/IPackageManager;->registerMoveCallback(Landroid/content/pm/IPackageMoveObserver;)V
-HSPLandroid/content/pm/IPackageManager;->removeOnPermissionsChangeListener(Landroid/content/pm/IOnPermissionsChangeListener;)V
-HSPLandroid/content/pm/IPackageManager;->removePermission(Ljava/lang/String;)V
-HSPLandroid/content/pm/IPackageManager;->replacePreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
-HSPLandroid/content/pm/IPackageManager;->resetApplicationPreferences(I)V
-HSPLandroid/content/pm/IPackageManager;->resetRuntimePermissions()V
-HSPLandroid/content/pm/IPackageManager;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-HSPLandroid/content/pm/IPackageManager;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
-HSPLandroid/content/pm/IPackageManager;->resolveService(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
-HSPLandroid/content/pm/IPackageManager;->restoreDefaultApps([BI)V
-HSPLandroid/content/pm/IPackageManager;->restoreIntentFilterVerification([BI)V
-HSPLandroid/content/pm/IPackageManager;->restorePermissionGrants([BI)V
-HSPLandroid/content/pm/IPackageManager;->restorePreferredActivities([BI)V
-HSPLandroid/content/pm/IPackageManager;->revokeDefaultPermissionsFromDisabledTelephonyDataServices([Ljava/lang/String;I)V
-HSPLandroid/content/pm/IPackageManager;->revokeDefaultPermissionsFromLuiApps([Ljava/lang/String;I)V
-HSPLandroid/content/pm/IPackageManager;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/content/pm/IPackageManager;->runBackgroundDexoptJob(Ljava/util/List;)Z
-HSPLandroid/content/pm/IPackageManager;->setApplicationCategoryHint(Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/content/pm/IPackageManager;->setApplicationEnabledSetting(Ljava/lang/String;IIILjava/lang/String;)V
-HSPLandroid/content/pm/IPackageManager;->setApplicationHiddenSettingAsUser(Ljava/lang/String;ZI)Z
-HSPLandroid/content/pm/IPackageManager;->setBlockUninstallForUser(Ljava/lang/String;ZI)Z
-HSPLandroid/content/pm/IPackageManager;->setComponentEnabledSetting(Landroid/content/ComponentName;III)V
-HSPLandroid/content/pm/IPackageManager;->setDefaultBrowserPackageName(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/IPackageManager;->setHarmfulAppWarning(Ljava/lang/String;Ljava/lang/CharSequence;I)V
-HSPLandroid/content/pm/IPackageManager;->setHomeActivity(Landroid/content/ComponentName;I)V
-HSPLandroid/content/pm/IPackageManager;->setInstallLocation(I)Z
-HSPLandroid/content/pm/IPackageManager;->setInstallerPackageName(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/content/pm/IPackageManager;->setInstantAppCookie(Ljava/lang/String;[BI)Z
-HSPLandroid/content/pm/IPackageManager;->setLastChosenActivity(Landroid/content/Intent;Ljava/lang/String;ILandroid/content/IntentFilter;ILandroid/content/ComponentName;)V
-HSPLandroid/content/pm/IPackageManager;->setPackageStoppedState(Ljava/lang/String;ZI)V
-HSPLandroid/content/pm/IPackageManager;->setPackagesSuspendedAsUser([Ljava/lang/String;ZLandroid/os/PersistableBundle;Landroid/os/PersistableBundle;Ljava/lang/String;Ljava/lang/String;I)[Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManager;->setPermissionEnforced(Ljava/lang/String;Z)V
-HSPLandroid/content/pm/IPackageManager;->setRequiredForSystemUser(Ljava/lang/String;Z)Z
-HSPLandroid/content/pm/IPackageManager;->setSystemAppInstallState(Ljava/lang/String;ZI)Z
-HSPLandroid/content/pm/IPackageManager;->setUpdateAvailable(Ljava/lang/String;Z)V
-HSPLandroid/content/pm/IPackageManager;->shouldShowRequestPermissionRationale(Ljava/lang/String;Ljava/lang/String;I)Z
-HSPLandroid/content/pm/IPackageManager;->systemReady()V
-HSPLandroid/content/pm/IPackageManager;->unregisterMoveCallback(Landroid/content/pm/IPackageMoveObserver;)V
-HSPLandroid/content/pm/IPackageManager;->updateIntentVerificationStatus(Ljava/lang/String;II)Z
-HSPLandroid/content/pm/IPackageManager;->updatePackagesIfNeeded()V
-HSPLandroid/content/pm/IPackageManager;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;III)V
-HSPLandroid/content/pm/IPackageManager;->updatePermissionFlagsForAllApps(III)V
-HSPLandroid/content/pm/IPackageManager;->verifyIntentFilter(IILjava/util/List;)V
-HSPLandroid/content/pm/IPackageManager;->verifyPendingInstall(II)V
 HSPLandroid/content/pm/IPackageManagerNative$Stub;-><init>()V
 HSPLandroid/content/pm/IPackageManagerNative$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/content/pm/IPackageManagerNative;->getInstallerForPackage(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManagerNative;->getNamesForUids([I)[Ljava/lang/String;
-HSPLandroid/content/pm/IPackageManagerNative;->getVersionCodeForPackage(Ljava/lang/String;)J
 HSPLandroid/content/pm/IPackageMoveObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/content/pm/IPackageMoveObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/content/pm/IPackageMoveObserver;
-HSPLandroid/content/pm/IPackageMoveObserver;->onCreated(ILandroid/os/Bundle;)V
-HSPLandroid/content/pm/IPackageMoveObserver;->onStatusChanged(IIJ)V
-HSPLandroid/content/pm/IPackageStatsObserver;->onGetStatsCompleted(Landroid/content/pm/PackageStats;Z)V
+HSPLandroid/content/pm/IPackageStatsObserver$Stub;-><init>()V
 HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->addDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->disableShortcuts(Ljava/lang/String;Ljava/util/List;Ljava/lang/CharSequence;II)V
 HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->getDynamicShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->getManifestShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->getMaxShortcutCountPerActivity(Ljava/lang/String;I)I
-HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->getPinnedShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->isRequestPinItemSupported(II)Z
 HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->removeAllDynamicShortcuts(Ljava/lang/String;I)V
-HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->reportShortcutUsed(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->setDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
+HSPLandroid/content/pm/IShortcutService$Stub$Proxy;->removeDynamicShortcuts(Ljava/lang/String;Ljava/util/List;I)V
 HSPLandroid/content/pm/IShortcutService$Stub;-><init>()V
-HSPLandroid/content/pm/IShortcutService;->addDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-HSPLandroid/content/pm/IShortcutService;->applyRestore([BI)V
-HSPLandroid/content/pm/IShortcutService;->createShortcutResultIntent(Ljava/lang/String;Landroid/content/pm/ShortcutInfo;I)Landroid/content/Intent;
-HSPLandroid/content/pm/IShortcutService;->disableShortcuts(Ljava/lang/String;Ljava/util/List;Ljava/lang/CharSequence;II)V
-HSPLandroid/content/pm/IShortcutService;->enableShortcuts(Ljava/lang/String;Ljava/util/List;I)V
-HSPLandroid/content/pm/IShortcutService;->getBackupPayload(I)[B
-HSPLandroid/content/pm/IShortcutService;->getDynamicShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IShortcutService;->getIconMaxDimensions(Ljava/lang/String;I)I
-HSPLandroid/content/pm/IShortcutService;->getManifestShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IShortcutService;->getMaxShortcutCountPerActivity(Ljava/lang/String;I)I
-HSPLandroid/content/pm/IShortcutService;->getPinnedShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/content/pm/IShortcutService;->getRateLimitResetTime(Ljava/lang/String;I)J
-HSPLandroid/content/pm/IShortcutService;->getRemainingCallCount(Ljava/lang/String;I)I
-HSPLandroid/content/pm/IShortcutService;->isRequestPinItemSupported(II)Z
-HSPLandroid/content/pm/IShortcutService;->onApplicationActive(Ljava/lang/String;I)V
-HSPLandroid/content/pm/IShortcutService;->removeAllDynamicShortcuts(Ljava/lang/String;I)V
-HSPLandroid/content/pm/IShortcutService;->removeDynamicShortcuts(Ljava/lang/String;Ljava/util/List;I)V
-HSPLandroid/content/pm/IShortcutService;->reportShortcutUsed(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/content/pm/IShortcutService;->requestPinShortcut(Ljava/lang/String;Landroid/content/pm/ShortcutInfo;Landroid/content/IntentSender;I)Z
-HSPLandroid/content/pm/IShortcutService;->resetThrottling()V
-HSPLandroid/content/pm/IShortcutService;->setDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-HSPLandroid/content/pm/IShortcutService;->updateShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-HSPLandroid/content/pm/InstantAppInfo$1;-><init>()V
-HSPLandroid/content/pm/InstantAppInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/InstantAppInfo;
-HSPLandroid/content/pm/InstantAppInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/InstantAppInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/InstantAppInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
 HSPLandroid/content/pm/InstrumentationInfo$1;-><init>()V
+HSPLandroid/content/pm/InstrumentationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/InstrumentationInfo;
+HSPLandroid/content/pm/InstrumentationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/pm/InstrumentationInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/InstrumentationInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/IntentFilterVerificationInfo$1;-><init>()V
 HSPLandroid/content/pm/IntentFilterVerificationInfo;-><init>(Lorg/xmlpull/v1/XmlPullParser;)V
 HSPLandroid/content/pm/IntentFilterVerificationInfo;->getIntFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
 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/LauncherActivityInfo;-><init>(Landroid/content/Context;Landroid/content/pm/ActivityInfo;Landroid/os/UserHandle;)V
-HSPLandroid/content/pm/LauncherActivityInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
-HSPLandroid/content/pm/LauncherActivityInfo;->getComponentName()Landroid/content/ComponentName;
-HSPLandroid/content/pm/LauncherActivityInfo;->getIcon(I)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/LauncherActivityInfo;->getLabel()Ljava/lang/CharSequence;
-HSPLandroid/content/pm/LauncherActivityInfo;->getUser()Landroid/os/UserHandle;
-HSPLandroid/content/pm/LauncherApps$1;->onShortcutChanged(Landroid/os/UserHandle;Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/content/pm/LauncherApps$Callback;-><init>()V
-HSPLandroid/content/pm/LauncherApps$Callback;->onPackageAdded(Ljava/lang/String;Landroid/os/UserHandle;)V
-HSPLandroid/content/pm/LauncherApps$Callback;->onPackageChanged(Ljava/lang/String;Landroid/os/UserHandle;)V
-HSPLandroid/content/pm/LauncherApps$Callback;->onPackageRemoved(Ljava/lang/String;Landroid/os/UserHandle;)V
-HSPLandroid/content/pm/LauncherApps$Callback;->onPackagesAvailable([Ljava/lang/String;Landroid/os/UserHandle;Z)V
-HSPLandroid/content/pm/LauncherApps$Callback;->onPackagesUnavailable([Ljava/lang/String;Landroid/os/UserHandle;Z)V
-HSPLandroid/content/pm/LauncherApps$CallbackMessageHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/content/pm/LauncherApps$CallbackMessageHandler;->postOnShortcutChanged(Ljava/lang/String;Landroid/os/UserHandle;Ljava/util/List;)V
 HSPLandroid/content/pm/LauncherApps$ShortcutQuery;-><init>()V
 HSPLandroid/content/pm/LauncherApps$ShortcutQuery;->setPackage(Ljava/lang/String;)Landroid/content/pm/LauncherApps$ShortcutQuery;
 HSPLandroid/content/pm/LauncherApps$ShortcutQuery;->setQueryFlags(I)Landroid/content/pm/LauncherApps$ShortcutQuery;
-HSPLandroid/content/pm/LauncherApps$ShortcutQuery;->setShortcutIds(Ljava/util/List;)Landroid/content/pm/LauncherApps$ShortcutQuery;
 HSPLandroid/content/pm/LauncherApps;-><init>(Landroid/content/Context;Landroid/content/pm/ILauncherApps;)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;->getApplicationInfo(Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ApplicationInfo;
 HSPLandroid/content/pm/LauncherApps;->getProfiles()Ljava/util/List;
-HSPLandroid/content/pm/LauncherApps;->getShortcutConfigActivityList(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;
 HSPLandroid/content/pm/LauncherApps;->getShortcutIconDrawable(Landroid/content/pm/ShortcutInfo;I)Landroid/graphics/drawable/Drawable;
 HSPLandroid/content/pm/LauncherApps;->getShortcutIconFd(Landroid/content/pm/ShortcutInfo;)Landroid/os/ParcelFileDescriptor;
 HSPLandroid/content/pm/LauncherApps;->getShortcutIconFd(Ljava/lang/String;Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor;
 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;->loadDrawableResourceFromPackage(Ljava/lang/String;ILandroid/os/UserHandle;I)Landroid/graphics/drawable/Drawable;
 HSPLandroid/content/pm/LauncherApps;->maybeUpdateDisabledMessage(Ljava/util/List;)Ljava/util/List;
-HSPLandroid/content/pm/LauncherApps;->registerCallback(Landroid/content/pm/LauncherApps$Callback;)V
-HSPLandroid/content/pm/LauncherApps;->registerCallback(Landroid/content/pm/LauncherApps$Callback;Landroid/os/Handler;)V
-HSPLandroid/content/pm/LauncherApps;->resolveActivity(Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/pm/LauncherActivityInfo;
+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
 HSPLandroid/content/pm/OrgApacheHttpLegacyUpdater;-><init>()V
 HSPLandroid/content/pm/OrgApacheHttpLegacyUpdater;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
 HSPLandroid/content/pm/PackageBackwardCompatibility$AndroidTestRunnerSplitUpdater;-><init>()V
 HSPLandroid/content/pm/PackageBackwardCompatibility$AndroidTestRunnerSplitUpdater;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
 HSPLandroid/content/pm/PackageBackwardCompatibility$RemoveUnnecessaryAndroidTestBaseLibrary;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
-HSPLandroid/content/pm/PackageBackwardCompatibility;-><init>(ZZ[Landroid/content/pm/PackageSharedLibraryUpdater;)V
+HSPLandroid/content/pm/PackageBackwardCompatibility;-><init>(Z[Landroid/content/pm/PackageSharedLibraryUpdater;)V
 HSPLandroid/content/pm/PackageBackwardCompatibility;->addOptionalUpdater(Ljava/util/List;Ljava/lang/String;Ljava/util/function/Supplier;)Z
 HSPLandroid/content/pm/PackageBackwardCompatibility;->modifySharedLibraries(Landroid/content/pm/PackageParser$Package;)V
 HSPLandroid/content/pm/PackageBackwardCompatibility;->updatePackage(Landroid/content/pm/PackageParser$Package;)V
 HSPLandroid/content/pm/PackageInfo$1;-><init>()V
 HSPLandroid/content/pm/PackageInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageInfo;
 HSPLandroid/content/pm/PackageInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/pm/PackageInfo$1;->newArray(I)[Landroid/content/pm/PackageInfo;
+HSPLandroid/content/pm/PackageInfo$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/content/pm/PackageInfo;-><init>()V
 HSPLandroid/content/pm/PackageInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/PackageInfo;->composeLongVersionCode(II)J
 HSPLandroid/content/pm/PackageInfo;->getLongVersionCode()J
 HSPLandroid/content/pm/PackageInfo;->isStaticOverlayPackage()Z
-HSPLandroid/content/pm/PackageInfo;->toString()Ljava/lang/String;
 HSPLandroid/content/pm/PackageInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PackageInstaller$Session;->setStagingProgress(F)V
-HSPLandroid/content/pm/PackageInstaller$SessionCallback;-><init>()V
-HSPLandroid/content/pm/PackageInstaller$SessionCallback;->onActiveChanged(IZ)V
-HSPLandroid/content/pm/PackageInstaller$SessionCallback;->onBadgingChanged(I)V
-HSPLandroid/content/pm/PackageInstaller$SessionCallback;->onCreated(I)V
-HSPLandroid/content/pm/PackageInstaller$SessionCallback;->onFinished(IZ)V
-HSPLandroid/content/pm/PackageInstaller$SessionCallback;->onProgressChanged(IF)V
 HSPLandroid/content/pm/PackageInstaller$SessionInfo$1;-><init>()V
-HSPLandroid/content/pm/PackageInstaller$SessionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageInstaller$SessionInfo;
-HSPLandroid/content/pm/PackageInstaller$SessionInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/PackageInstaller$SessionInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/content/pm/PackageInstaller$SessionInfo;->getAppIcon()Landroid/graphics/Bitmap;
-HSPLandroid/content/pm/PackageInstaller$SessionInfo;->getAppLabel()Ljava/lang/CharSequence;
-HSPLandroid/content/pm/PackageInstaller$SessionInfo;->getAppPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/PackageInstaller$SessionInfo;->getInstallAsInstantApp(Z)Z
-HSPLandroid/content/pm/PackageInstaller$SessionInfo;->getInstallerPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/PackageInstaller$SessionInfo;->getMode()I
-HSPLandroid/content/pm/PackageInstaller$SessionInfo;->getSessionId()I
 HSPLandroid/content/pm/PackageInstaller$SessionParams$1;-><init>()V
-HSPLandroid/content/pm/PackageInstaller$SessionParams;-><init>(I)V
-HSPLandroid/content/pm/PackageInstaller$SessionParams;->setAppLabel(Ljava/lang/CharSequence;)V
-HSPLandroid/content/pm/PackageInstaller$SessionParams;->setAppPackageName(Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageInstaller$SessionParams;->setInstallAsInstantApp(Z)V
-HSPLandroid/content/pm/PackageInstaller$SessionParams;->setInstallLocation(I)V
-HSPLandroid/content/pm/PackageInstaller$SessionParams;->setInstallReason(I)V
-HSPLandroid/content/pm/PackageInstaller$SessionParams;->setSize(J)V
-HSPLandroid/content/pm/PackageInstaller$SessionParams;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PackageInstaller;->createSession(Landroid/content/pm/PackageInstaller$SessionParams;)I
-HSPLandroid/content/pm/PackageInstaller;->getAllSessions()Ljava/util/List;
 HSPLandroid/content/pm/PackageInstaller;->getMySessions()Ljava/util/List;
-HSPLandroid/content/pm/PackageInstaller;->getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;
-HSPLandroid/content/pm/PackageInstaller;->openSession(I)Landroid/content/pm/PackageInstaller$Session;
+HSPLandroid/content/pm/PackageInstaller;->getStagedSessions()Ljava/util/List;
 HSPLandroid/content/pm/PackageInstaller;->registerSessionCallback(Landroid/content/pm/PackageInstaller$SessionCallback;Landroid/os/Handler;)V
 HSPLandroid/content/pm/PackageItemInfo;-><init>()V
 HSPLandroid/content/pm/PackageItemInfo;-><init>(Landroid/content/pm/PackageItemInfo;)V
 HSPLandroid/content/pm/PackageItemInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/PackageItemInfo;->forceSafeLabels()V
+HSPLandroid/content/pm/PackageItemInfo;->getApplicationInfo()Landroid/content/pm/ApplicationInfo;
 HSPLandroid/content/pm/PackageItemInfo;->loadIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/content/pm/PackageItemInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
-HSPLandroid/content/pm/PackageItemInfo;->loadSafeLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
-HSPLandroid/content/pm/PackageItemInfo;->loadUnbadgedIcon(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
+HSPLandroid/content/pm/PackageItemInfo;->loadSafeLabel(Landroid/content/pm/PackageManager;FI)Ljava/lang/CharSequence;
 HSPLandroid/content/pm/PackageItemInfo;->loadUnsafeLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
 HSPLandroid/content/pm/PackageItemInfo;->loadXmlMetaData(Landroid/content/pm/PackageManager;Ljava/lang/String;)Landroid/content/res/XmlResourceParser;
-HSPLandroid/content/pm/PackageItemInfo;->setForceSafeLabels(Z)V
 HSPLandroid/content/pm/PackageItemInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/content/pm/PackageManager$OnPermissionsChangedListener;->onPermissionsChanged(I)V
+HSPLandroid/content/pm/PackageManager$LegacyPackageDeleteObserver;-><init>(Landroid/content/pm/IPackageDeleteObserver;)V
+HSPLandroid/content/pm/PackageManager$LegacyPackageDeleteObserver;->onPackageDeleted(Ljava/lang/String;ILjava/lang/String;)V
+HSPLandroid/content/pm/PackageManager$NameNotFoundException;-><init>(Ljava/lang/String;)V
 HSPLandroid/content/pm/PackageManager;-><init>()V
-HSPLandroid/content/pm/PackageManager;->addCrossProfileIntentFilter(Landroid/content/IntentFilter;III)V
-HSPLandroid/content/pm/PackageManager;->addOnPermissionsChangeListener(Landroid/content/pm/PackageManager$OnPermissionsChangedListener;)V
-HSPLandroid/content/pm/PackageManager;->addPackageToPreferred(Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageManager;->addPermission(Landroid/content/pm/PermissionInfo;)Z
-HSPLandroid/content/pm/PackageManager;->addPermissionAsync(Landroid/content/pm/PermissionInfo;)Z
-HSPLandroid/content/pm/PackageManager;->addPreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;)V
-HSPLandroid/content/pm/PackageManager;->canRequestPackageInstalls()Z
-HSPLandroid/content/pm/PackageManager;->canonicalToCurrentPackageNames([Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/content/pm/PackageManager;->checkPermission(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/content/pm/PackageManager;->checkSignatures(II)I
-HSPLandroid/content/pm/PackageManager;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/content/pm/PackageManager;->clearApplicationUserData(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;)V
-HSPLandroid/content/pm/PackageManager;->clearCrossProfileIntentFilters(I)V
-HSPLandroid/content/pm/PackageManager;->clearInstantAppCookie()V
-HSPLandroid/content/pm/PackageManager;->clearPackagePreferredActivities(Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageManager;->currentToCanonicalPackageNames([Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/content/pm/PackageManager;->deleteApplicationCacheFiles(Ljava/lang/String;Landroid/content/pm/IPackageDataObserver;)V
-HSPLandroid/content/pm/PackageManager;->deleteApplicationCacheFilesAsUser(Ljava/lang/String;ILandroid/content/pm/IPackageDataObserver;)V
-HSPLandroid/content/pm/PackageManager;->deletePackage(Ljava/lang/String;Landroid/content/pm/IPackageDeleteObserver;I)V
-HSPLandroid/content/pm/PackageManager;->deletePackageAsUser(Ljava/lang/String;Landroid/content/pm/IPackageDeleteObserver;II)V
-HSPLandroid/content/pm/PackageManager;->extendVerificationTimeout(IIJ)V
-HSPLandroid/content/pm/PackageManager;->flushPackageRestrictionsAsUser(I)V
-HSPLandroid/content/pm/PackageManager;->freeStorage(Ljava/lang/String;JLandroid/content/IntentSender;)V
-HSPLandroid/content/pm/PackageManager;->freeStorageAndNotify(Ljava/lang/String;JLandroid/content/pm/IPackageDataObserver;)V
-HSPLandroid/content/pm/PackageManager;->getActivityBanner(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getActivityBanner(Landroid/content/Intent;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getActivityIcon(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getActivityIcon(Landroid/content/Intent;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getActivityInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
-HSPLandroid/content/pm/PackageManager;->getActivityLogo(Landroid/content/ComponentName;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getActivityLogo(Landroid/content/Intent;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getAllIntentFilters(Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->getAllPermissionGroups(I)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->getApplicationBanner(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getApplicationBanner(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getApplicationEnabledSetting(Ljava/lang/String;)I
-HSPLandroid/content/pm/PackageManager;->getApplicationHiddenSettingAsUser(Ljava/lang/String;Landroid/os/UserHandle;)Z
-HSPLandroid/content/pm/PackageManager;->getApplicationIcon(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getApplicationIcon(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
-HSPLandroid/content/pm/PackageManager;->getApplicationInfoAsUser(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
-HSPLandroid/content/pm/PackageManager;->getApplicationLabel(Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;
-HSPLandroid/content/pm/PackageManager;->getApplicationLogo(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getApplicationLogo(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getCarLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;
-HSPLandroid/content/pm/PackageManager;->getChangedPackages(I)Landroid/content/pm/ChangedPackages;
-HSPLandroid/content/pm/PackageManager;->getComponentEnabledSetting(Landroid/content/ComponentName;)I
-HSPLandroid/content/pm/PackageManager;->getDefaultActivityIcon()Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getDefaultBrowserPackageNameAsUser(I)Ljava/lang/String;
-HSPLandroid/content/pm/PackageManager;->getDrawable(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName;
-HSPLandroid/content/pm/PackageManager;->getInstallReason(Ljava/lang/String;Landroid/os/UserHandle;)I
-HSPLandroid/content/pm/PackageManager;->getInstalledApplications(I)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->getInstalledApplicationsAsUser(II)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->getInstalledPackages(I)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->getInstalledPackagesAsUser(II)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/pm/PackageManager;->getInstantAppAndroidId(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/lang/String;
-HSPLandroid/content/pm/PackageManager;->getInstantAppCookie()[B
-HSPLandroid/content/pm/PackageManager;->getInstantAppCookieMaxBytes()I
-HSPLandroid/content/pm/PackageManager;->getInstantAppCookieMaxSize()I
-HSPLandroid/content/pm/PackageManager;->getInstantAppIcon(Ljava/lang/String;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getInstantAppInstallerComponent()Landroid/content/ComponentName;
-HSPLandroid/content/pm/PackageManager;->getInstantAppResolverSettingsComponent()Landroid/content/ComponentName;
-HSPLandroid/content/pm/PackageManager;->getInstantApps()Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->getInstrumentationInfo(Landroid/content/ComponentName;I)Landroid/content/pm/InstrumentationInfo;
-HSPLandroid/content/pm/PackageManager;->getIntentFilterVerifications(Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->getIntentVerificationStatusAsUser(Ljava/lang/String;I)I
-HSPLandroid/content/pm/PackageManager;->getKeySetByAlias(Ljava/lang/String;Ljava/lang/String;)Landroid/content/pm/KeySet;
-HSPLandroid/content/pm/PackageManager;->getLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;
-HSPLandroid/content/pm/PackageManager;->getLeanbackLaunchIntentForPackage(Ljava/lang/String;)Landroid/content/Intent;
-HSPLandroid/content/pm/PackageManager;->getMoveStatus(I)I
-HSPLandroid/content/pm/PackageManager;->getNameForUid(I)Ljava/lang/String;
-HSPLandroid/content/pm/PackageManager;->getNamesForUids([I)[Ljava/lang/String;
+HSPLandroid/content/pm/PackageManager;->getApplicationInfoAsUser(Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ApplicationInfo;
 HSPLandroid/content/pm/PackageManager;->getPackageArchiveInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
-HSPLandroid/content/pm/PackageManager;->getPackageCandidateVolumes(Landroid/content/pm/ApplicationInfo;)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->getPackageCurrentVolume(Landroid/content/pm/ApplicationInfo;)Landroid/os/storage/VolumeInfo;
-HSPLandroid/content/pm/PackageManager;->getPackageGids(Ljava/lang/String;)[I
-HSPLandroid/content/pm/PackageManager;->getPackageGids(Ljava/lang/String;I)[I
-HSPLandroid/content/pm/PackageManager;->getPackageInfo(Landroid/content/pm/VersionedPackage;I)Landroid/content/pm/PackageInfo;
-HSPLandroid/content/pm/PackageManager;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
-HSPLandroid/content/pm/PackageManager;->getPackageInfoAsUser(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
-HSPLandroid/content/pm/PackageManager;->getPackageInstaller()Landroid/content/pm/PackageInstaller;
-HSPLandroid/content/pm/PackageManager;->getPackageSizeInfoAsUser(Ljava/lang/String;ILandroid/content/pm/IPackageStatsObserver;)V
-HSPLandroid/content/pm/PackageManager;->getPackageUid(Ljava/lang/String;I)I
-HSPLandroid/content/pm/PackageManager;->getPackageUidAsUser(Ljava/lang/String;I)I
-HSPLandroid/content/pm/PackageManager;->getPackageUidAsUser(Ljava/lang/String;II)I
-HSPLandroid/content/pm/PackageManager;->getPackagesForUid(I)[Ljava/lang/String;
-HSPLandroid/content/pm/PackageManager;->getPackagesHoldingPermissions([Ljava/lang/String;I)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->getPermissionControllerPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/PackageManager;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)I
-HSPLandroid/content/pm/PackageManager;->getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;
-HSPLandroid/content/pm/PackageManager;->getPermissionInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
-HSPLandroid/content/pm/PackageManager;->getPreferredActivities(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)I
-HSPLandroid/content/pm/PackageManager;->getPreferredPackages(I)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->getPrimaryStorageCandidateVolumes()Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->getPrimaryStorageCurrentVolume()Landroid/os/storage/VolumeInfo;
-HSPLandroid/content/pm/PackageManager;->getProviderInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ProviderInfo;
-HSPLandroid/content/pm/PackageManager;->getReceiverInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
-HSPLandroid/content/pm/PackageManager;->getResourcesForActivity(Landroid/content/ComponentName;)Landroid/content/res/Resources;
-HSPLandroid/content/pm/PackageManager;->getResourcesForApplication(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/Resources;
-HSPLandroid/content/pm/PackageManager;->getResourcesForApplication(Ljava/lang/String;)Landroid/content/res/Resources;
-HSPLandroid/content/pm/PackageManager;->getResourcesForApplicationAsUser(Ljava/lang/String;I)Landroid/content/res/Resources;
-HSPLandroid/content/pm/PackageManager;->getServiceInfo(Landroid/content/ComponentName;I)Landroid/content/pm/ServiceInfo;
-HSPLandroid/content/pm/PackageManager;->getServicesSystemSharedLibraryPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/PackageManager;->getSharedLibraries(I)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->getSharedLibrariesAsUser(II)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->getSharedSystemSharedLibraryPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/PackageManager;->getSigningKeySet(Ljava/lang/String;)Landroid/content/pm/KeySet;
-HSPLandroid/content/pm/PackageManager;->getSystemAvailableFeatures()[Landroid/content/pm/FeatureInfo;
-HSPLandroid/content/pm/PackageManager;->getSystemSharedLibraryNames()[Ljava/lang/String;
-HSPLandroid/content/pm/PackageManager;->getText(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;
-HSPLandroid/content/pm/PackageManager;->getUidForSharedUser(Ljava/lang/String;)I
-HSPLandroid/content/pm/PackageManager;->getUserBadgeForDensity(Landroid/os/UserHandle;I)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getUserBadgeForDensityNoBackground(Landroid/os/UserHandle;I)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getUserBadgedDrawableForDensity(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;Landroid/graphics/Rect;I)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getUserBadgedIcon(Landroid/graphics/drawable/Drawable;Landroid/os/UserHandle;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->getUserBadgedLabel(Ljava/lang/CharSequence;Landroid/os/UserHandle;)Ljava/lang/CharSequence;
-HSPLandroid/content/pm/PackageManager;->getVerifierDeviceIdentity()Landroid/content/pm/VerifierDeviceIdentity;
-HSPLandroid/content/pm/PackageManager;->getXml(Ljava/lang/String;ILandroid/content/pm/ApplicationInfo;)Landroid/content/res/XmlResourceParser;
-HSPLandroid/content/pm/PackageManager;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)V
-HSPLandroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageManager;->hasSystemFeature(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/PackageManager;->installExistingPackage(Ljava/lang/String;)I
-HSPLandroid/content/pm/PackageManager;->installExistingPackage(Ljava/lang/String;I)I
-HSPLandroid/content/pm/PackageManager;->installExistingPackageAsUser(Ljava/lang/String;I)I
-HSPLandroid/content/pm/PackageManager;->isInstantApp()Z
-HSPLandroid/content/pm/PackageManager;->isInstantApp(Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageManager;->isPackageAvailable(Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageManager;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/PackageManager;->isPermissionReviewModeEnabled()Z
-HSPLandroid/content/pm/PackageManager;->isPermissionRevokedByPolicy(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageManager;->isSafeMode()Z
-HSPLandroid/content/pm/PackageManager;->isSignedBy(Ljava/lang/String;Landroid/content/pm/KeySet;)Z
-HSPLandroid/content/pm/PackageManager;->isSignedByExactly(Ljava/lang/String;Landroid/content/pm/KeySet;)Z
-HSPLandroid/content/pm/PackageManager;->isUpgrade()Z
-HSPLandroid/content/pm/PackageManager;->loadItemIcon(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->loadUnbadgedItemIcon(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/content/pm/PackageManager;->movePackage(Ljava/lang/String;Landroid/os/storage/VolumeInfo;)I
-HSPLandroid/content/pm/PackageManager;->movePrimaryStorage(Landroid/os/storage/VolumeInfo;)I
-HSPLandroid/content/pm/PackageManager;->queryBroadcastReceivers(Landroid/content/Intent;I)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->queryBroadcastReceiversAsUser(Landroid/content/Intent;II)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->queryContentProviders(Ljava/lang/String;II)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->queryInstrumentation(Ljava/lang/String;I)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->queryIntentActivitiesAsUser(Landroid/content/Intent;II)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->queryIntentActivityOptions(Landroid/content/ComponentName;[Landroid/content/Intent;Landroid/content/Intent;I)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->queryIntentContentProviders(Landroid/content/Intent;I)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->queryIntentContentProvidersAsUser(Landroid/content/Intent;II)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->queryIntentServices(Landroid/content/Intent;I)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->queryIntentServicesAsUser(Landroid/content/Intent;II)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->queryPermissionsByGroup(Ljava/lang/String;I)Ljava/util/List;
-HSPLandroid/content/pm/PackageManager;->registerDexModule(Ljava/lang/String;Landroid/content/pm/PackageManager$DexModuleRegisterCallback;)V
-HSPLandroid/content/pm/PackageManager;->registerMoveCallback(Landroid/content/pm/PackageManager$MoveCallback;Landroid/os/Handler;)V
-HSPLandroid/content/pm/PackageManager;->removeOnPermissionsChangeListener(Landroid/content/pm/PackageManager$OnPermissionsChangedListener;)V
-HSPLandroid/content/pm/PackageManager;->removePackageFromPreferred(Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageManager;->removePermission(Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageManager;->replacePreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;)V
-HSPLandroid/content/pm/PackageManager;->resolveActivity(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;
-HSPLandroid/content/pm/PackageManager;->resolveActivityAsUser(Landroid/content/Intent;II)Landroid/content/pm/ResolveInfo;
-HSPLandroid/content/pm/PackageManager;->resolveContentProvider(Ljava/lang/String;I)Landroid/content/pm/ProviderInfo;
-HSPLandroid/content/pm/PackageManager;->resolveContentProviderAsUser(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-HSPLandroid/content/pm/PackageManager;->resolveService(Landroid/content/Intent;I)Landroid/content/pm/ResolveInfo;
-HSPLandroid/content/pm/PackageManager;->resolveServiceAsUser(Landroid/content/Intent;II)Landroid/content/pm/ResolveInfo;
-HSPLandroid/content/pm/PackageManager;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)V
-HSPLandroid/content/pm/PackageManager;->setApplicationCategoryHint(Ljava/lang/String;I)V
-HSPLandroid/content/pm/PackageManager;->setApplicationEnabledSetting(Ljava/lang/String;II)V
-HSPLandroid/content/pm/PackageManager;->setApplicationHiddenSettingAsUser(Ljava/lang/String;ZLandroid/os/UserHandle;)Z
-HSPLandroid/content/pm/PackageManager;->setComponentEnabledSetting(Landroid/content/ComponentName;II)V
-HSPLandroid/content/pm/PackageManager;->setDefaultBrowserPackageNameAsUser(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/PackageManager;->setInstallerPackageName(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageManager;->setInstantAppCookie([B)Z
-HSPLandroid/content/pm/PackageManager;->setUpdateAvailable(Ljava/lang/String;Z)V
-HSPLandroid/content/pm/PackageManager;->shouldShowRequestPermissionRationale(Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageManager;->unregisterMoveCallback(Landroid/content/pm/PackageManager$MoveCallback;)V
-HSPLandroid/content/pm/PackageManager;->updateInstantAppCookie([B)V
-HSPLandroid/content/pm/PackageManager;->updateIntentVerificationStatusAsUser(Ljava/lang/String;II)Z
-HSPLandroid/content/pm/PackageManager;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IILandroid/os/UserHandle;)V
-HSPLandroid/content/pm/PackageManager;->verifyIntentFilter(IILjava/util/List;)V
-HSPLandroid/content/pm/PackageManager;->verifyPendingInstall(II)V
-HSPLandroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;->getPackageTrustedToInstallApps(Ljava/lang/String;I)I
-HSPLandroid/content/pm/PackageManagerInternal$SyncAdapterPackagesProvider;->getPackages(Ljava/lang/String;I)[Ljava/lang/String;
-HSPLandroid/content/pm/PackageManagerInternal;->addIsolatedUid(II)V
-HSPLandroid/content/pm/PackageManagerInternal;->canAccessComponent(ILandroid/content/ComponentName;I)Z
-HSPLandroid/content/pm/PackageManagerInternal;->canAccessInstantApps(II)Z
-HSPLandroid/content/pm/PackageManagerInternal;->filterAppAccess(Landroid/content/pm/PackageParser$Package;II)Z
-HSPLandroid/content/pm/PackageManagerInternal;->getActivityInfo(Landroid/content/ComponentName;III)Landroid/content/pm/ActivityInfo;
-HSPLandroid/content/pm/PackageManagerInternal;->getApplicationInfo(Ljava/lang/String;III)Landroid/content/pm/ApplicationInfo;
-HSPLandroid/content/pm/PackageManagerInternal;->getDefaultHomeActivity(I)Landroid/content/ComponentName;
-HSPLandroid/content/pm/PackageManagerInternal;->getDisabledPackage(Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
-HSPLandroid/content/pm/PackageManagerInternal;->getHomeActivitiesAsUser(Ljava/util/List;I)Landroid/content/ComponentName;
-HSPLandroid/content/pm/PackageManagerInternal;->getInstantAppPackageName(I)Ljava/lang/String;
-HSPLandroid/content/pm/PackageManagerInternal;->getKnownPackageName(II)Ljava/lang/String;
-HSPLandroid/content/pm/PackageManagerInternal;->getNameForUid(I)Ljava/lang/String;
-HSPLandroid/content/pm/PackageManagerInternal;->getOverlayPackages(I)Ljava/util/List;
-HSPLandroid/content/pm/PackageManagerInternal;->getPackage(Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
-HSPLandroid/content/pm/PackageManagerInternal;->getPackageInfo(Ljava/lang/String;III)Landroid/content/pm/PackageInfo;
-HSPLandroid/content/pm/PackageManagerInternal;->getPackageList(Landroid/content/pm/PackageManagerInternal$PackageListObserver;)Landroid/content/pm/PackageList;
-HSPLandroid/content/pm/PackageManagerInternal;->getPackageTargetSdkVersion(Ljava/lang/String;)I
-HSPLandroid/content/pm/PackageManagerInternal;->getPackageUid(Ljava/lang/String;II)I
-HSPLandroid/content/pm/PackageManagerInternal;->getPermissionFlagsTEMP(Ljava/lang/String;Ljava/lang/String;I)I
-HSPLandroid/content/pm/PackageManagerInternal;->getSetupWizardPackageName()Ljava/lang/String;
-HSPLandroid/content/pm/PackageManagerInternal;->getSuspendedDialogMessage(Ljava/lang/String;I)Ljava/lang/String;
-HSPLandroid/content/pm/PackageManagerInternal;->getSuspendedPackageLauncherExtras(Ljava/lang/String;I)Landroid/os/Bundle;
-HSPLandroid/content/pm/PackageManagerInternal;->getSuspendingPackage(Ljava/lang/String;I)Ljava/lang/String;
-HSPLandroid/content/pm/PackageManagerInternal;->getTargetPackageNames(I)Ljava/util/List;
-HSPLandroid/content/pm/PackageManagerInternal;->getUidTargetSdkVersion(I)I
-HSPLandroid/content/pm/PackageManagerInternal;->grantDefaultPermissionsToDefaultDialerApp(Ljava/lang/String;I)V
-HSPLandroid/content/pm/PackageManagerInternal;->grantDefaultPermissionsToDefaultSimCallManager(Ljava/lang/String;I)V
-HSPLandroid/content/pm/PackageManagerInternal;->grantDefaultPermissionsToDefaultSmsApp(Ljava/lang/String;I)V
-HSPLandroid/content/pm/PackageManagerInternal;->grantDefaultPermissionsToDefaultUseOpenWifiApp(Ljava/lang/String;I)V
-HSPLandroid/content/pm/PackageManagerInternal;->grantEphemeralAccess(ILandroid/content/Intent;II)V
-HSPLandroid/content/pm/PackageManagerInternal;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;IZ)V
-HSPLandroid/content/pm/PackageManagerInternal;->hasInstantApplicationMetadata(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/PackageManagerInternal;->hasSignatureCapability(III)Z
-HSPLandroid/content/pm/PackageManagerInternal;->isDataRestoreSafe(Landroid/content/pm/Signature;Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageManagerInternal;->isDataRestoreSafe([BLjava/lang/String;)Z
-HSPLandroid/content/pm/PackageManagerInternal;->isInstantApp(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/PackageManagerInternal;->isInstantAppInstallerComponent(Landroid/content/ComponentName;)Z
-HSPLandroid/content/pm/PackageManagerInternal;->isLegacySystemApp(Landroid/content/pm/PackageParser$Package;)Z
-HSPLandroid/content/pm/PackageManagerInternal;->isPackageDataProtected(ILjava/lang/String;)Z
-HSPLandroid/content/pm/PackageManagerInternal;->isPackageEphemeral(ILjava/lang/String;)Z
-HSPLandroid/content/pm/PackageManagerInternal;->isPackagePersistent(Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageManagerInternal;->isPackageStateProtected(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/PackageManagerInternal;->isPackageSuspended(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/PackageManagerInternal;->isPermissionsReviewRequired(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/PackageManagerInternal;->isResolveActivityComponent(Landroid/content/pm/ComponentInfo;)Z
-HSPLandroid/content/pm/PackageManagerInternal;->notifyPackageUse(Ljava/lang/String;I)V
-HSPLandroid/content/pm/PackageManagerInternal;->pruneInstantApps()V
-HSPLandroid/content/pm/PackageManagerInternal;->queryIntentActivities(Landroid/content/Intent;III)Ljava/util/List;
-HSPLandroid/content/pm/PackageManagerInternal;->queryIntentServices(Landroid/content/Intent;III)Ljava/util/List;
-HSPLandroid/content/pm/PackageManagerInternal;->removeIsolatedUid(I)V
-HSPLandroid/content/pm/PackageManagerInternal;->removePackageListObserver(Landroid/content/pm/PackageManagerInternal$PackageListObserver;)V
-HSPLandroid/content/pm/PackageManagerInternal;->requestInstantAppResolutionPhaseTwo(Landroid/content/pm/AuxiliaryResolveInfo;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;I)V
-HSPLandroid/content/pm/PackageManagerInternal;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-HSPLandroid/content/pm/PackageManagerInternal;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;IIZI)Landroid/content/pm/ResolveInfo;
-HSPLandroid/content/pm/PackageManagerInternal;->resolveService(Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
-HSPLandroid/content/pm/PackageManagerInternal;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;IZ)V
-HSPLandroid/content/pm/PackageManagerInternal;->setDeviceAndProfileOwnerPackages(ILjava/lang/String;Landroid/util/SparseArray;)V
-HSPLandroid/content/pm/PackageManagerInternal;->setDialerAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-HSPLandroid/content/pm/PackageManagerInternal;->setEnabledOverlayPackages(ILjava/lang/String;Ljava/util/List;)Z
-HSPLandroid/content/pm/PackageManagerInternal;->setExternalSourcesPolicy(Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;)V
-HSPLandroid/content/pm/PackageManagerInternal;->setKeepUninstalledPackages(Ljava/util/List;)V
-HSPLandroid/content/pm/PackageManagerInternal;->setLocationPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-HSPLandroid/content/pm/PackageManagerInternal;->setSimCallManagerPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-HSPLandroid/content/pm/PackageManagerInternal;->setSmsAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-HSPLandroid/content/pm/PackageManagerInternal;->setSyncAdapterPackagesprovider(Landroid/content/pm/PackageManagerInternal$SyncAdapterPackagesProvider;)V
-HSPLandroid/content/pm/PackageManagerInternal;->setUseOpenWifiAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-HSPLandroid/content/pm/PackageManagerInternal;->setVoiceInteractionPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-HSPLandroid/content/pm/PackageManagerInternal;->updatePermissionFlagsTEMP(Ljava/lang/String;Ljava/lang/String;III)V
-HSPLandroid/content/pm/PackageManagerInternal;->wasPackageEverLaunched(Ljava/lang/String;I)Z
+HSPLandroid/content/pm/PackageManager;->queryBroadcastReceiversAsUser(Landroid/content/Intent;ILandroid/os/UserHandle;)Ljava/util/List;
+HSPLandroid/content/pm/PackageManager;->queryIntentActivitiesAsUser(Landroid/content/Intent;ILandroid/os/UserHandle;)Ljava/util/List;
+HSPLandroid/content/pm/PackageManager;->queryIntentServicesAsUser(Landroid/content/Intent;ILandroid/os/UserHandle;)Ljava/util/List;
+HSPLandroid/content/pm/PackageManager;->replacePreferredActivity(Landroid/content/IntentFilter;ILjava/util/List;Landroid/content/ComponentName;)V
+HSPLandroid/content/pm/PackageParser$1;-><init>(Landroid/util/AttributeSet;)V
+HSPLandroid/content/pm/PackageParser$1;->getAttributeAsInt(Ljava/lang/String;)I
+HSPLandroid/content/pm/PackageParser$1;->getMinSdkVersion()I
+HSPLandroid/content/pm/PackageParser$1;->getMinSdkVersionCode()Ljava/lang/String;
+HSPLandroid/content/pm/PackageParser$1;->getTargetSdkVersion()I
+HSPLandroid/content/pm/PackageParser$1;->getTargetSdkVersionCode()Ljava/lang/String;
+HSPLandroid/content/pm/PackageParser$2;-><init>(Landroid/content/pm/PackageParser;Landroid/content/res/TypedArray;)V
+HSPLandroid/content/pm/PackageParser$2;->getMinSdkVersion()I
+HSPLandroid/content/pm/PackageParser$2;->getMinSdkVersionCode()Ljava/lang/String;
+HSPLandroid/content/pm/PackageParser$2;->getTargetSdkVersion()I
+HSPLandroid/content/pm/PackageParser$2;->getTargetSdkVersionCode()Ljava/lang/String;
 HSPLandroid/content/pm/PackageParser$Activity$1;-><init>()V
 HSPLandroid/content/pm/PackageParser$Activity$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageParser$Activity;
 HSPLandroid/content/pm/PackageParser$Activity$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -18654,20 +17032,26 @@
 HSPLandroid/content/pm/PackageParser$Activity;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/PackageParser$Activity;->access$200(Landroid/content/pm/PackageParser$Activity;F)V
 HSPLandroid/content/pm/PackageParser$Activity;->setMaxAspectRatio(F)V
+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;IIIILjava/util/List;Landroid/content/pm/PackageParser$SigningDetails;ZZZZZZ)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;ZZZZZZZ)V
+HSPLandroid/content/pm/PackageParser$ApkLite;->getLongVersionCode()J
+HSPLandroid/content/pm/PackageParser$CachedComponentArgs;-><init>()V
 HSPLandroid/content/pm/PackageParser$CachedComponentArgs;-><init>(Landroid/content/pm/PackageParser$1;)V
-HSPLandroid/content/pm/PackageParser$Callback;->getOverlayApks(Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/content/pm/PackageParser$Callback;->getOverlayPaths(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/content/pm/PackageParser$Callback;->hasFeature(Ljava/lang/String;)Z
 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$Component;-><init>(Landroid/content/pm/PackageParser$ParseComponentArgs;Landroid/content/pm/ComponentInfo;)V
 HSPLandroid/content/pm/PackageParser$Component;-><init>(Landroid/content/pm/PackageParser$ParsePackageItemArgs;Landroid/content/pm/PackageItemInfo;)V
 HSPLandroid/content/pm/PackageParser$Component;->createIntentsList(Landroid/os/Parcel;)Ljava/util/ArrayList;
 HSPLandroid/content/pm/PackageParser$Component;->getComponentName()Landroid/content/ComponentName;
 HSPLandroid/content/pm/PackageParser$Component;->writeIntentsList(Ljava/util/ArrayList;Landroid/os/Parcel;I)V
+HSPLandroid/content/pm/PackageParser$Instrumentation$1;-><init>()V
+HSPLandroid/content/pm/PackageParser$Instrumentation$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageParser$Instrumentation;
+HSPLandroid/content/pm/PackageParser$Instrumentation$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/pm/PackageParser$Instrumentation;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/PackageParser$Instrumentation;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/PackageParser$IntentInfo;-><init>()V
 HSPLandroid/content/pm/PackageParser$IntentInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/PackageParser$IntentInfo;->writeIntentInfoToParcel(Landroid/os/Parcel;I)V
@@ -18675,20 +17059,17 @@
 HSPLandroid/content/pm/PackageParser$Package$1;-><init>()V
 HSPLandroid/content/pm/PackageParser$Package;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/PackageParser$Package;-><init>(Ljava/lang/String;)V
-HSPLandroid/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;
-HSPLandroid/content/pm/PackageParser$Package;->getAllCodePathsExcludingResourceOnly()Ljava/util/List;
 HSPLandroid/content/pm/PackageParser$Package;->getChildPackageNames()Ljava/util/List;
-HSPLandroid/content/pm/PackageParser$Package;->getLatestForegroundPackageUseTimeInMills()J
 HSPLandroid/content/pm/PackageParser$Package;->getLongVersionCode()J
 HSPLandroid/content/pm/PackageParser$Package;->hasComponentClassName(Ljava/lang/String;)Z
 HSPLandroid/content/pm/PackageParser$Package;->isExternal()Z
-HSPLandroid/content/pm/PackageParser$Package;->isForwardLocked()Z
 HSPLandroid/content/pm/PackageParser$Package;->isLibrary()Z
 HSPLandroid/content/pm/PackageParser$Package;->isMatch(I)Z
 HSPLandroid/content/pm/PackageParser$Package;->isPrivileged()Z
 HSPLandroid/content/pm/PackageParser$Package;->isProduct()Z
+HSPLandroid/content/pm/PackageParser$Package;->isProductServices()Z
 HSPLandroid/content/pm/PackageParser$Package;->isSystem()Z
 HSPLandroid/content/pm/PackageParser$Package;->isUpdatedSystemApp()Z
 HSPLandroid/content/pm/PackageParser$Package;->isVendor()Z
@@ -18700,9 +17081,12 @@
 HSPLandroid/content/pm/PackageParser$Package;->setApplicationInfoSplitCodePaths([Ljava/lang/String;)V
 HSPLandroid/content/pm/PackageParser$Package;->setApplicationInfoSplitResourcePaths([Ljava/lang/String;)V
 HSPLandroid/content/pm/PackageParser$Package;->setApplicationVolumeUuid(Ljava/lang/String;)V
+HSPLandroid/content/pm/PackageParser$Package;->setPackageName(Ljava/lang/String;)V
+HSPLandroid/content/pm/PackageParser$Package;->toString()Ljava/lang/String;
 HSPLandroid/content/pm/PackageParser$Package;->writeKeySetMapping(Landroid/os/Parcel;Landroid/util/ArrayMap;)V
 HSPLandroid/content/pm/PackageParser$Package;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/PackageParser$PackageLite;-><init>(Ljava/lang/String;Landroid/content/pm/PackageParser$ApkLite;[Ljava/lang/String;[Z[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;[I)V
+HSPLandroid/content/pm/PackageParser$PackageLite;->getAllCodePaths()Ljava/util/List;
 HSPLandroid/content/pm/PackageParser$ParseComponentArgs;-><init>(Landroid/content/pm/PackageParser$Package;[Ljava/lang/String;IIIIII[Ljava/lang/String;III)V
 HSPLandroid/content/pm/PackageParser$ParsePackageItemArgs;-><init>(Landroid/content/pm/PackageParser$Package;[Ljava/lang/String;IIIIII)V
 HSPLandroid/content/pm/PackageParser$Permission$1;-><init>()V
@@ -18730,21 +17114,24 @@
 HSPLandroid/content/pm/PackageParser$SigningDetails$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PackageParser$SigningDetails;
 HSPLandroid/content/pm/PackageParser$SigningDetails$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/pm/PackageParser$SigningDetails$Builder;->build()Landroid/content/pm/PackageParser$SigningDetails;
-HSPLandroid/content/pm/PackageParser$SigningDetails$Builder;->checkInvariants()V
 HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>(Landroid/content/pm/PackageParser$SigningDetails;)V
-HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>([Landroid/content/pm/Signature;ILandroid/util/ArraySet;[Landroid/content/pm/Signature;[I)V
-HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>([Landroid/content/pm/Signature;I[Landroid/content/pm/Signature;[I)V
+HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>([Landroid/content/pm/Signature;I)V
+HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>([Landroid/content/pm/Signature;ILandroid/util/ArraySet;[Landroid/content/pm/Signature;)V
+HSPLandroid/content/pm/PackageParser$SigningDetails;-><init>([Landroid/content/pm/Signature;I[Landroid/content/pm/Signature;)V
 HSPLandroid/content/pm/PackageParser$SigningDetails;->checkCapability(Landroid/content/pm/PackageParser$SigningDetails;I)Z
 HSPLandroid/content/pm/PackageParser$SigningDetails;->hasAncestor(Landroid/content/pm/PackageParser$SigningDetails;)Z
 HSPLandroid/content/pm/PackageParser$SigningDetails;->hasAncestorOrSelf(Landroid/content/pm/PackageParser$SigningDetails;)Z
 HSPLandroid/content/pm/PackageParser$SigningDetails;->hasCertificate(Landroid/content/pm/Signature;)Z
 HSPLandroid/content/pm/PackageParser$SigningDetails;->hasCertificateInternal(Landroid/content/pm/Signature;I)Z
-HSPLandroid/content/pm/PackageParser$SigningDetails;->hasPastSigningCertificates()Z
-HSPLandroid/content/pm/PackageParser$SigningDetails;->hasSignatures()Z
+HSPLandroid/content/pm/PackageParser$SigningDetails;->hasSha256Certificate([B)Z
+HSPLandroid/content/pm/PackageParser$SigningDetails;->hasSha256CertificateInternal([BI)Z
 HSPLandroid/content/pm/PackageParser$SigningDetails;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/PackageParser$SplitNameComparator;-><init>(Landroid/content/pm/PackageParser$1;)V
-HSPLandroid/content/pm/PackageParser$SplitPermissionInfo;-><init>(Ljava/lang/String;[Ljava/lang/String;I)V
+HSPLandroid/content/pm/PackageParser$SplitNameComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLandroid/content/pm/PackageParser$SplitNameComparator;->compare(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/content/pm/PackageParser;-><init>()V
+HSPLandroid/content/pm/PackageParser;->addRequestedPermission(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)V
 HSPLandroid/content/pm/PackageParser;->buildClassName(Ljava/lang/String;Ljava/lang/CharSequence;[Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/content/pm/PackageParser;->buildCompoundName(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/content/pm/PackageParser;->buildProcessName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/CharSequence;I[Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
@@ -18756,13 +17143,18 @@
 HSPLandroid/content/pm/PackageParser;->collectCertificates(Landroid/content/pm/PackageParser$Package;Z)V
 HSPLandroid/content/pm/PackageParser;->collectCertificatesInternal(Landroid/content/pm/PackageParser$Package;Z)V
 HSPLandroid/content/pm/PackageParser;->computeMinSdkVersion(ILjava/lang/String;I[Ljava/lang/String;[Ljava/lang/String;)I
+HSPLandroid/content/pm/PackageParser;->computeTargetSdkVersion(ILjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)I
 HSPLandroid/content/pm/PackageParser;->computeTargetSdkVersion(ILjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z)I
 HSPLandroid/content/pm/PackageParser;->copyNeeded(ILandroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageUserState;Landroid/os/Bundle;I)Z
+HSPLandroid/content/pm/PackageParser;->deriveSdkVersions(Landroid/content/pm/PackageParser$AbstractVersionsAccessor;I[Ljava/lang/String;)Landroid/util/Pair;
 HSPLandroid/content/pm/PackageParser;->fromCacheEntry([B)Landroid/content/pm/PackageParser$Package;
 HSPLandroid/content/pm/PackageParser;->fromCacheEntryStatic([B)Landroid/content/pm/PackageParser$Package;
 HSPLandroid/content/pm/PackageParser;->generateActivityInfo(Landroid/content/pm/PackageParser$Activity;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ActivityInfo;
+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;
+HSPLandroid/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;
 HSPLandroid/content/pm/PackageParser;->generateServiceInfo(Landroid/content/pm/PackageParser$Service;ILandroid/content/pm/PackageUserState;I)Landroid/content/pm/ServiceInfo;
@@ -18774,8 +17166,9 @@
 HSPLandroid/content/pm/PackageParser;->isImplicitlyExposedIntent(Landroid/content/pm/PackageParser$IntentInfo;)Z
 HSPLandroid/content/pm/PackageParser;->parseActivity(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;Landroid/content/pm/PackageParser$CachedComponentArgs;ZZ)Landroid/content/pm/PackageParser$Activity;
 HSPLandroid/content/pm/PackageParser;->parseActivityAlias(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;Landroid/content/pm/PackageParser$CachedComponentArgs;)Landroid/content/pm/PackageParser$Activity;
+HSPLandroid/content/pm/PackageParser;->parseAdditionalCertificates(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)[Ljava/lang/String;
 HSPLandroid/content/pm/PackageParser;->parseAllMetaData(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;Ljava/lang/String;Landroid/content/pm/PackageParser$Component;[Ljava/lang/String;)Z
-HSPLandroid/content/pm/PackageParser;->parseApkLite(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/pm/PackageParser$SigningDetails;)Landroid/content/pm/PackageParser$ApkLite;
+HSPLandroid/content/pm/PackageParser;->parseApkLite(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/pm/PackageParser$SigningDetails;I)Landroid/content/pm/PackageParser$ApkLite;
 HSPLandroid/content/pm/PackageParser;->parseApkLiteInner(Ljava/io/File;Ljava/io/FileDescriptor;Ljava/lang/String;I)Landroid/content/pm/PackageParser$ApkLite;
 HSPLandroid/content/pm/PackageParser;->parseBaseApk(Ljava/io/File;Landroid/content/res/AssetManager;I)Landroid/content/pm/PackageParser$Package;
 HSPLandroid/content/pm/PackageParser;->parseBaseApk(Ljava/lang/String;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
@@ -18783,6 +17176,7 @@
 HSPLandroid/content/pm/PackageParser;->parseBaseApplication(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;)Z
 HSPLandroid/content/pm/PackageParser;->parseClusterPackage(Ljava/io/File;I)Landroid/content/pm/PackageParser$Package;
 HSPLandroid/content/pm/PackageParser;->parseClusterPackageLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$PackageLite;
+HSPLandroid/content/pm/PackageParser;->parseInstrumentation(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Landroid/content/pm/PackageParser$Instrumentation;
 HSPLandroid/content/pm/PackageParser;->parseIntent(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZZLandroid/content/pm/PackageParser$IntentInfo;[Ljava/lang/String;)Z
 HSPLandroid/content/pm/PackageParser;->parseLayout(Landroid/content/res/Resources;Landroid/util/AttributeSet;Landroid/content/pm/PackageParser$Activity;)V
 HSPLandroid/content/pm/PackageParser;->parseMetaData(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;Landroid/os/Bundle;[Ljava/lang/String;)Landroid/os/Bundle;
@@ -18790,6 +17184,8 @@
 HSPLandroid/content/pm/PackageParser;->parseMonolithicPackageLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$PackageLite;
 HSPLandroid/content/pm/PackageParser;->parsePackage(Ljava/io/File;IZ)Landroid/content/pm/PackageParser$Package;
 HSPLandroid/content/pm/PackageParser;->parsePackageItemInfo(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageItemInfo;[Ljava/lang/String;Ljava/lang/String;Landroid/content/res/TypedArray;ZIIIIII)Z
+HSPLandroid/content/pm/PackageParser;->parsePackageList(Ljava/lang/String;)Ljava/util/Set;
+HSPLandroid/content/pm/PackageParser;->parsePackageLite(Ljava/io/File;I)Landroid/content/pm/PackageParser$PackageLite;
 HSPLandroid/content/pm/PackageParser;->parsePackageSplitNames(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;)Landroid/util/Pair;
 HSPLandroid/content/pm/PackageParser;->parsePermission(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Z
 HSPLandroid/content/pm/PackageParser;->parsePermissionGroup(Landroid/content/pm/PackageParser$Package;ILandroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Z
@@ -18798,11 +17194,17 @@
 HSPLandroid/content/pm/PackageParser;->parseProviderTags(Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;ZLandroid/content/pm/PackageParser$Provider;[Ljava/lang/String;)Z
 HSPLandroid/content/pm/PackageParser;->parsePublicKey(Ljava/lang/String;)Ljava/security/PublicKey;
 HSPLandroid/content/pm/PackageParser;->parseService(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;I[Ljava/lang/String;Landroid/content/pm/PackageParser$CachedComponentArgs;)Landroid/content/pm/PackageParser$Service;
+HSPLandroid/content/pm/PackageParser;->parseSplitApk(Landroid/content/pm/PackageParser$Package;ILandroid/content/res/AssetManager;I)V
+HSPLandroid/content/pm/PackageParser;->parseSplitApk(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;II[Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
+HSPLandroid/content/pm/PackageParser;->parseSplitApplication(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;II[Ljava/lang/String;)Z
 HSPLandroid/content/pm/PackageParser;->parseUsesFeature(Landroid/content/res/Resources;Landroid/util/AttributeSet;)Landroid/content/pm/FeatureInfo;
 HSPLandroid/content/pm/PackageParser;->parseUsesPermission(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;)Z
+HSPLandroid/content/pm/PackageParser;->parseUsesPermission(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Z
+HSPLandroid/content/pm/PackageParser;->parseUsesStaticLibrary(Landroid/content/pm/PackageParser$Package;Landroid/content/res/Resources;Landroid/content/res/XmlResourceParser;[Ljava/lang/String;)Z
 HSPLandroid/content/pm/PackageParser;->setActivityResizeMode(Landroid/content/pm/ActivityInfo;Landroid/content/res/TypedArray;Landroid/content/pm/PackageParser$Package;)V
 HSPLandroid/content/pm/PackageParser;->setCompatibilityModeEnabled(Z)V
 HSPLandroid/content/pm/PackageParser;->setMaxAspectRatio(Landroid/content/pm/PackageParser$Package;)V
+HSPLandroid/content/pm/PackageParser;->setMinAspectRatio(Landroid/content/pm/PackageParser$Package;)V
 HSPLandroid/content/pm/PackageParser;->toCacheEntry(Landroid/content/pm/PackageParser$Package;)[B
 HSPLandroid/content/pm/PackageParser;->updateApplicationInfo(Landroid/content/pm/ApplicationInfo;ILandroid/content/pm/PackageUserState;)V
 HSPLandroid/content/pm/PackageParser;->validateName(Ljava/lang/String;ZZ)Ljava/lang/String;
@@ -18811,11 +17213,11 @@
 HSPLandroid/content/pm/PackageParserCacheHelper$WriteHelper;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/PackageParserCacheHelper$WriteHelper;->finishAndUninstall()V
 HSPLandroid/content/pm/PackageParserCacheHelper$WriteHelper;->writeString(Landroid/os/Parcel;Ljava/lang/String;)V
-HSPLandroid/content/pm/PackageSharedLibraryUpdater;->apkTargetsApiLevelLessThanOrEqualToOMR1(Landroid/content/pm/PackageParser$Package;)Z
 HSPLandroid/content/pm/PackageSharedLibraryUpdater;->prefixImplicitDependency(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/content/pm/PackageSharedLibraryUpdater;->prefixRequiredLibrary(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)V
 HSPLandroid/content/pm/PackageStats$1;-><init>()V
 HSPLandroid/content/pm/PackageStats;-><init>(Ljava/lang/String;)V
+HSPLandroid/content/pm/PackageStats;-><init>(Ljava/lang/String;I)V
 HSPLandroid/content/pm/PackageUserState;-><init>()V
 HSPLandroid/content/pm/PackageUserState;->equals(Ljava/lang/Object;)Z
 HSPLandroid/content/pm/PackageUserState;->isAvailable(I)Z
@@ -18837,12 +17239,14 @@
 HSPLandroid/content/pm/PathPermission$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/pm/PathPermission$1;->newArray(I)[Landroid/content/pm/PathPermission;
 HSPLandroid/content/pm/PathPermission$1;->newArray(I)[Ljava/lang/Object;
+HSPLandroid/content/pm/PathPermission;->getReadPermission()Ljava/lang/String;
 HSPLandroid/content/pm/PathPermission;->getWritePermission()Ljava/lang/String;
 HSPLandroid/content/pm/PathPermission;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/PermissionGroupInfo$1;-><init>()V
 HSPLandroid/content/pm/PermissionGroupInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PermissionGroupInfo;
 HSPLandroid/content/pm/PermissionGroupInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/pm/PermissionGroupInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/PermissionGroupInfo;->loadDescription(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
 HSPLandroid/content/pm/PermissionGroupInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/PermissionInfo$1;-><init>()V
 HSPLandroid/content/pm/PermissionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/PermissionInfo;
@@ -18856,9 +17260,6 @@
 HSPLandroid/content/pm/ProviderInfo$1;-><init>()V
 HSPLandroid/content/pm/ProviderInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ProviderInfo;
 HSPLandroid/content/pm/ProviderInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/ProviderInfo$1;->newArray(I)[Landroid/content/pm/ProviderInfo;
-HSPLandroid/content/pm/ProviderInfo$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/content/pm/ProviderInfo;-><init>()V
 HSPLandroid/content/pm/ProviderInfo;-><init>(Landroid/content/pm/ProviderInfo;)V
 HSPLandroid/content/pm/ProviderInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/ProviderInfo;->writeToParcel(Landroid/os/Parcel;I)V
@@ -18883,7 +17284,6 @@
 HSPLandroid/content/pm/ResolveInfo;-><init>()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;
@@ -18892,17 +17292,20 @@
 HSPLandroid/content/pm/ServiceInfo$1;-><init>()V
 HSPLandroid/content/pm/ServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ServiceInfo;
 HSPLandroid/content/pm/ServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/content/pm/ServiceInfo$1;->newArray(I)[Landroid/content/pm/ServiceInfo;
-HSPLandroid/content/pm/ServiceInfo$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/content/pm/ServiceInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/SharedLibraryInfo$1;-><init>()V
+HSPLandroid/content/pm/SharedLibraryInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/SharedLibraryInfo;
+HSPLandroid/content/pm/SharedLibraryInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/pm/SharedLibraryInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/SharedLibraryInfo;->addDependency(Landroid/content/pm/SharedLibraryInfo;)V
+HSPLandroid/content/pm/SharedLibraryInfo;->createForDynamic(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)Landroid/content/pm/SharedLibraryInfo;
+HSPLandroid/content/pm/SharedLibraryInfo;->createForStatic(Landroid/content/pm/PackageParser$Package;)Landroid/content/pm/SharedLibraryInfo;
+HSPLandroid/content/pm/SharedLibraryInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/ShortcutInfo$1;-><init>()V
 HSPLandroid/content/pm/ShortcutInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/ShortcutInfo;
 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;->setExtras(Landroid/os/PersistableBundle;)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;
@@ -18912,44 +17315,23 @@
 HSPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/content/pm/ShortcutInfo$Builder;)V
 HSPLandroid/content/pm/ShortcutInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/pm/ShortcutInfo;->cloneCategories(Ljava/util/Set;)Landroid/util/ArraySet;
+HSPLandroid/content/pm/ShortcutInfo;->clonePersons([Landroid/app/Person;)[Landroid/app/Person;
 HSPLandroid/content/pm/ShortcutInfo;->fixUpIntentExtras()V
-HSPLandroid/content/pm/ShortcutInfo;->getActivity()Landroid/content/ComponentName;
 HSPLandroid/content/pm/ShortcutInfo;->getDisabledReasonForRestoreIssue(Landroid/content/Context;I)Ljava/lang/String;
 HSPLandroid/content/pm/ShortcutInfo;->getId()Ljava/lang/String;
 HSPLandroid/content/pm/ShortcutInfo;->getLongLabel()Ljava/lang/CharSequence;
+HSPLandroid/content/pm/ShortcutInfo;->getPackage()Ljava/lang/String;
 HSPLandroid/content/pm/ShortcutInfo;->getRank()I
 HSPLandroid/content/pm/ShortcutInfo;->getShortLabel()Ljava/lang/CharSequence;
-HSPLandroid/content/pm/ShortcutInfo;->getUserHandle()Landroid/os/UserHandle;
-HSPLandroid/content/pm/ShortcutInfo;->isDeclaredInManifest()Z
-HSPLandroid/content/pm/ShortcutInfo;->isDynamic()Z
-HSPLandroid/content/pm/ShortcutInfo;->isEnabled()Z
 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;->addDynamicShortcuts(Ljava/util/List;)Z
-HSPLandroid/content/pm/ShortcutManager;->disableShortcuts(Ljava/util/List;)V
-HSPLandroid/content/pm/ShortcutManager;->disableShortcuts(Ljava/util/List;Ljava/lang/CharSequence;)V
 HSPLandroid/content/pm/ShortcutManager;->getDynamicShortcuts()Ljava/util/List;
 HSPLandroid/content/pm/ShortcutManager;->getManifestShortcuts()Ljava/util/List;
 HSPLandroid/content/pm/ShortcutManager;->getMaxShortcutCountPerActivity()I
-HSPLandroid/content/pm/ShortcutManager;->getPinnedShortcuts()Ljava/util/List;
 HSPLandroid/content/pm/ShortcutManager;->injectMyUserId()I
-HSPLandroid/content/pm/ShortcutManager;->isRequestPinShortcutSupported()Z
 HSPLandroid/content/pm/ShortcutManager;->removeAllDynamicShortcuts()V
-HSPLandroid/content/pm/ShortcutManager;->reportShortcutUsed(Ljava/lang/String;)V
-HSPLandroid/content/pm/ShortcutManager;->setDynamicShortcuts(Ljava/util/List;)Z
-HSPLandroid/content/pm/ShortcutServiceInternal$ShortcutChangeListener;->onShortcutChanged(Ljava/lang/String;I)V
-HSPLandroid/content/pm/ShortcutServiceInternal;->addListener(Landroid/content/pm/ShortcutServiceInternal$ShortcutChangeListener;)V
-HSPLandroid/content/pm/ShortcutServiceInternal;->createShortcutIntents(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;III)[Landroid/content/Intent;
-HSPLandroid/content/pm/ShortcutServiceInternal;->getShortcutIconFd(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/content/pm/ShortcutServiceInternal;->getShortcutIconResId(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)I
-HSPLandroid/content/pm/ShortcutServiceInternal;->getShortcuts(ILjava/lang/String;JLjava/lang/String;Ljava/util/List;Landroid/content/ComponentName;IIII)Ljava/util/List;
-HSPLandroid/content/pm/ShortcutServiceInternal;->hasShortcutHostPermission(ILjava/lang/String;II)Z
-HSPLandroid/content/pm/ShortcutServiceInternal;->isForegroundDefaultLauncher(Ljava/lang/String;I)Z
-HSPLandroid/content/pm/ShortcutServiceInternal;->isPinnedByCaller(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Z
-HSPLandroid/content/pm/ShortcutServiceInternal;->isRequestPinItemSupported(II)Z
-HSPLandroid/content/pm/ShortcutServiceInternal;->pinShortcuts(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;I)V
-HSPLandroid/content/pm/ShortcutServiceInternal;->requestPinAppWidget(Ljava/lang/String;Landroid/appwidget/AppWidgetProviderInfo;Landroid/os/Bundle;Landroid/content/IntentSender;I)Z
-HSPLandroid/content/pm/ShortcutServiceInternal;->setShortcutHostPackage(Ljava/lang/String;Ljava/lang/String;I)V
+HSPLandroid/content/pm/ShortcutManager;->removeDynamicShortcuts(Ljava/util/List;)V
 HSPLandroid/content/pm/Signature$1;-><init>()V
 HSPLandroid/content/pm/Signature$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/Signature;
 HSPLandroid/content/pm/Signature$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -18968,6 +17350,9 @@
 HSPLandroid/content/pm/Signature;->toChars([C[I)[C
 HSPLandroid/content/pm/Signature;->toCharsString()Ljava/lang/String;
 HSPLandroid/content/pm/Signature;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/pm/SigningInfo$1;-><init>()V
+HSPLandroid/content/pm/SigningInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/SigningInfo;
+HSPLandroid/content/pm/SigningInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/content/pm/UserInfo$1;-><init>()V
 HSPLandroid/content/pm/UserInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/UserInfo;
 HSPLandroid/content/pm/UserInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -18980,26 +17365,34 @@
 HSPLandroid/content/pm/UserInfo;->isGuest()Z
 HSPLandroid/content/pm/UserInfo;->isManagedProfile()Z
 HSPLandroid/content/pm/UserInfo;->isPrimary()Z
+HSPLandroid/content/pm/UserInfo;->isQuietModeEnabled()Z
+HSPLandroid/content/pm/UserInfo;->isRestricted()Z
 HSPLandroid/content/pm/UserInfo;->isSystemOnly()Z
 HSPLandroid/content/pm/UserInfo;->supportsSwitchTo()Z
 HSPLandroid/content/pm/UserInfo;->supportsSwitchToByUser()Z
 HSPLandroid/content/pm/UserInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/pm/UsesPermissionInfo$1;-><init>()V
+HSPLandroid/content/pm/UsesPermissionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/UsesPermissionInfo;
+HSPLandroid/content/pm/UsesPermissionInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/pm/UsesPermissionInfo$1;->newArray(I)[Landroid/content/pm/UsesPermissionInfo;
+HSPLandroid/content/pm/UsesPermissionInfo$1;->newArray(I)[Ljava/lang/Object;
+HSPLandroid/content/pm/UsesPermissionInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/content/pm/UsesPermissionInfo;->getDataRetention()I
+HSPLandroid/content/pm/UsesPermissionInfo;->getDataSentOffDevice()I
+HSPLandroid/content/pm/UsesPermissionInfo;->getDataSharedWithThirdParty()I
+HSPLandroid/content/pm/UsesPermissionInfo;->getDataUsedForMonetization()I
+HSPLandroid/content/pm/UsesPermissionInfo;->getPermission()Ljava/lang/String;
+HSPLandroid/content/pm/UsesPermissionInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/pm/VersionedPackage$1;-><init>()V
-HSPLandroid/content/pm/dex/ArtManager;->getProfileName(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/pm/dex/ArtManagerInternal;->getPackageOptimizationInfo(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;)Landroid/content/pm/dex/PackageOptimizationInfo;
-HSPLandroid/content/pm/dex/DexMetadataHelper;->buildDexMetadataPathForApk(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/content/pm/dex/DexMetadataHelper;->buildDexMetadataPathForFile(Ljava/io/File;)Ljava/lang/String;
-HSPLandroid/content/pm/dex/DexMetadataHelper;->findDexMetadataForFile(Ljava/io/File;)Ljava/io/File;
+HSPLandroid/content/pm/VersionedPackage$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/pm/VersionedPackage;
+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/IArtManager$Stub;-><init>()V
-HSPLandroid/content/pm/dex/IArtManager;->isRuntimeProfilingEnabled(ILjava/lang/String;)Z
-HSPLandroid/content/pm/dex/IArtManager;->snapshotRuntimeProfile(ILjava/lang/String;Ljava/lang/String;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;Ljava/lang/String;)V
 HSPLandroid/content/pm/split/DefaultSplitAssetLoader;->close()V
 HSPLandroid/content/pm/split/DefaultSplitAssetLoader;->getBaseAssetManager()Landroid/content/res/AssetManager;
+HSPLandroid/content/pm/split/DefaultSplitAssetLoader;->getSplitAssetManager(I)Landroid/content/res/AssetManager;
 HSPLandroid/content/pm/split/DefaultSplitAssetLoader;->loadApkAssets(Ljava/lang/String;I)Landroid/content/res/ApkAssets;
-HSPLandroid/content/pm/split/SplitAssetLoader;->getBaseAssetManager()Landroid/content/res/AssetManager;
-HSPLandroid/content/pm/split/SplitAssetLoader;->getSplitAssetManager(I)Landroid/content/res/AssetManager;
 HSPLandroid/content/res/-$$Lambda$Resources$4msWUw7LKsgLexLZjIfWa4oguq4;-><init>()V
-HSPLandroid/content/res/-$$Lambda$Resources$4msWUw7LKsgLexLZjIfWa4oguq4;->test(Ljava/lang/Object;)Z
 HSPLandroid/content/res/-$$Lambda$ResourcesImpl$99dm2ENnzo9b0SIUjUj2Kl3pi90;-><init>()V
 HSPLandroid/content/res/-$$Lambda$ResourcesImpl$99dm2ENnzo9b0SIUjUj2Kl3pi90;->onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V
 HSPLandroid/content/res/-$$Lambda$ResourcesImpl$h3PTRX185BeQl8SVC2_w9arp5Og;-><init>()V
@@ -19012,13 +17405,14 @@
 HSPLandroid/content/res/AssetFileDescriptor$1;-><init>()V
 HSPLandroid/content/res/AssetFileDescriptor$1;->createFromParcel(Landroid/os/Parcel;)Landroid/content/res/AssetFileDescriptor;
 HSPLandroid/content/res/AssetFileDescriptor$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/content/res/AssetFileDescriptor$AutoCloseInputStream;->available()I
+HSPLandroid/content/res/AssetFileDescriptor$AutoCloseInputStream;->read([B)I
 HSPLandroid/content/res/AssetFileDescriptor$AutoCloseInputStream;->read([BII)I
 HSPLandroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/content/res/AssetFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;JJLandroid/os/Bundle;)V
 HSPLandroid/content/res/AssetFileDescriptor;->close()V
 HSPLandroid/content/res/AssetFileDescriptor;->createInputStream()Ljava/io/FileInputStream;
 HSPLandroid/content/res/AssetFileDescriptor;->getDeclaredLength()J
-HSPLandroid/content/res/AssetFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
 HSPLandroid/content/res/AssetFileDescriptor;->getLength()J
 HSPLandroid/content/res/AssetFileDescriptor;->getParcelFileDescriptor()Landroid/os/ParcelFileDescriptor;
 HSPLandroid/content/res/AssetFileDescriptor;->getStartOffset()J
@@ -19026,13 +17420,9 @@
 HSPLandroid/content/res/AssetManager$AssetInputStream;->available()I
 HSPLandroid/content/res/AssetManager$AssetInputStream;->close()V
 HSPLandroid/content/res/AssetManager$AssetInputStream;->finalize()V
-HSPLandroid/content/res/AssetManager$AssetInputStream;->mark(I)V
-HSPLandroid/content/res/AssetManager$AssetInputStream;->markSupported()Z
 HSPLandroid/content/res/AssetManager$AssetInputStream;->read()I
 HSPLandroid/content/res/AssetManager$AssetInputStream;->read([B)I
 HSPLandroid/content/res/AssetManager$AssetInputStream;->read([BII)I
-HSPLandroid/content/res/AssetManager$AssetInputStream;->reset()V
-HSPLandroid/content/res/AssetManager$AssetInputStream;->skip(J)J
 HSPLandroid/content/res/AssetManager$Builder;->build()Landroid/content/res/AssetManager;
 HSPLandroid/content/res/AssetManager;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
 HSPLandroid/content/res/AssetManager;-><init>()V
@@ -19050,7 +17440,6 @@
 HSPLandroid/content/res/AssetManager;->getApkAssets()[Landroid/content/res/ApkAssets;
 HSPLandroid/content/res/AssetManager;->getAssignedPackageIdentifiers()Landroid/util/SparseArray;
 HSPLandroid/content/res/AssetManager;->getLocales()[Ljava/lang/String;
-HSPLandroid/content/res/AssetManager;->getNonSystemLocales()[Ljava/lang/String;
 HSPLandroid/content/res/AssetManager;->getResourceArray(I[I)I
 HSPLandroid/content/res/AssetManager;->getResourceArraySize(I)I
 HSPLandroid/content/res/AssetManager;->getResourceBagText(II)Ljava/lang/CharSequence;
@@ -19068,13 +17457,10 @@
 HSPLandroid/content/res/AssetManager;->getSystem()Landroid/content/res/AssetManager;
 HSPLandroid/content/res/AssetManager;->getThemeValue(JILandroid/util/TypedValue;Z)Z
 HSPLandroid/content/res/AssetManager;->list(Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/content/res/AssetManager;->loadStaticRuntimeOverlays(Ljava/util/ArrayList;)V
 HSPLandroid/content/res/AssetManager;->open(Ljava/lang/String;)Ljava/io/InputStream;
 HSPLandroid/content/res/AssetManager;->open(Ljava/lang/String;I)Ljava/io/InputStream;
 HSPLandroid/content/res/AssetManager;->openFd(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
 HSPLandroid/content/res/AssetManager;->openNonAsset(ILjava/lang/String;I)Ljava/io/InputStream;
-HSPLandroid/content/res/AssetManager;->openNonAssetFd(ILjava/lang/String;)Landroid/content/res/AssetFileDescriptor;
-HSPLandroid/content/res/AssetManager;->openNonAssetFd(Ljava/lang/String;)Landroid/content/res/AssetFileDescriptor;
 HSPLandroid/content/res/AssetManager;->openXmlBlockAsset(ILjava/lang/String;)Landroid/content/res/XmlBlock;
 HSPLandroid/content/res/AssetManager;->openXmlResourceParser(ILjava/lang/String;)Landroid/content/res/XmlResourceParser;
 HSPLandroid/content/res/AssetManager;->releaseTheme(J)V
@@ -19082,6 +17468,7 @@
 HSPLandroid/content/res/AssetManager;->retrieveAttributes(Landroid/content/res/XmlBlock$Parser;[I[I[I)Z
 HSPLandroid/content/res/AssetManager;->setApkAssets([Landroid/content/res/ApkAssets;Z)V
 HSPLandroid/content/res/AssetManager;->setConfiguration(IILjava/lang/String;IIIIIIIIIIIIIII)V
+HSPLandroid/content/res/AssetManager;->setThemeTo(JLandroid/content/res/AssetManager;J)V
 HSPLandroid/content/res/AssetManager;->xmlBlockGone(I)V
 HSPLandroid/content/res/ColorStateList$1;-><init>()V
 HSPLandroid/content/res/ColorStateList$ColorStateListFactory;->getChangingConfigurations()I
@@ -19103,8 +17490,6 @@
 HSPLandroid/content/res/ColorStateList;->obtainForTheme(Landroid/content/res/Resources$Theme;)Landroid/content/res/ColorStateList;
 HSPLandroid/content/res/ColorStateList;->onColorsChanged()V
 HSPLandroid/content/res/ColorStateList;->valueOf(I)Landroid/content/res/ColorStateList;
-HSPLandroid/content/res/ColorStateList;->withAlpha(I)Landroid/content/res/ColorStateList;
-HSPLandroid/content/res/ColorStateList;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/content/res/CompatibilityInfo$1;-><init>()V
 HSPLandroid/content/res/CompatibilityInfo$2;-><init>()V
 HSPLandroid/content/res/CompatibilityInfo$2;->createFromParcel(Landroid/os/Parcel;)Landroid/content/res/CompatibilityInfo;
@@ -19136,12 +17521,9 @@
 HSPLandroid/content/res/Configuration;->getLocales()Landroid/os/LocaleList;
 HSPLandroid/content/res/Configuration;->hashCode()I
 HSPLandroid/content/res/Configuration;->isScreenWideColorGamut()Z
-HSPLandroid/content/res/Configuration;->needNewResources(II)Z
 HSPLandroid/content/res/Configuration;->readFromParcel(Landroid/os/Parcel;)V
-HSPLandroid/content/res/Configuration;->readXmlAttrs(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Configuration;)V
+HSPLandroid/content/res/Configuration;->readFromProto(Landroid/util/proto/ProtoInputStream;J)V
 HSPLandroid/content/res/Configuration;->reduceScreenLayout(III)I
-HSPLandroid/content/res/Configuration;->setLayoutDirection(Ljava/util/Locale;)V
-HSPLandroid/content/res/Configuration;->setLocale(Ljava/util/Locale;)V
 HSPLandroid/content/res/Configuration;->setLocales(Landroid/os/LocaleList;)V
 HSPLandroid/content/res/Configuration;->setTo(Landroid/content/res/Configuration;)V
 HSPLandroid/content/res/Configuration;->setToDefaults()V
@@ -19149,6 +17531,8 @@
 HSPLandroid/content/res/Configuration;->unset()V
 HSPLandroid/content/res/Configuration;->updateFrom(Landroid/content/res/Configuration;)I
 HSPLandroid/content/res/Configuration;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/content/res/Configuration;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
+HSPLandroid/content/res/Configuration;->writeToProto(Landroid/util/proto/ProtoOutputStream;JZZ)V
 HSPLandroid/content/res/ConfigurationBoundResourceCache;->getInstance(JLandroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Ljava/lang/Object;
 HSPLandroid/content/res/ConfigurationBoundResourceCache;->onConfigurationChange(I)V
 HSPLandroid/content/res/ConfigurationBoundResourceCache;->shouldInvalidateEntry(Landroid/content/res/ConstantState;I)Z
@@ -19161,7 +17545,6 @@
 HSPLandroid/content/res/FontResourcesParser;->parse(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry;
 HSPLandroid/content/res/FontResourcesParser;->readFamilies(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry;
 HSPLandroid/content/res/FontResourcesParser;->readFamily(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FamilyResourceEntry;
-HSPLandroid/content/res/FontResourcesParser;->readFont(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/res/Resources;)Landroid/content/res/FontResourcesParser$FontFileResourceEntry;
 HSPLandroid/content/res/GradientColor;-><init>()V
 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;
@@ -19172,7 +17555,6 @@
 HSPLandroid/content/res/GradientColor;->onColorsChange()V
 HSPLandroid/content/res/GradientColor;->updateRootElementState(Landroid/content/res/TypedArray;)V
 HSPLandroid/content/res/ObbInfo$1;-><init>()V
-HSPLandroid/content/res/Resources$NotFoundException;-><init>(Ljava/lang/String;)V
 HSPLandroid/content/res/Resources$Theme;->applyStyle(IZ)V
 HSPLandroid/content/res/Resources$Theme;->getChangingConfigurations()I
 HSPLandroid/content/res/Resources$Theme;->obtainStyledAttributes(I[I)Landroid/content/res/TypedArray;
@@ -19193,6 +17575,7 @@
 HSPLandroid/content/res/Resources;->getAnimation(I)Landroid/content/res/XmlResourceParser;
 HSPLandroid/content/res/Resources;->getAnimatorCache()Landroid/content/res/ConfigurationBoundResourceCache;
 HSPLandroid/content/res/Resources;->getAssets()Landroid/content/res/AssetManager;
+HSPLandroid/content/res/Resources;->getAttributeSetSourceResId(Landroid/util/AttributeSet;)I
 HSPLandroid/content/res/Resources;->getBoolean(I)Z
 HSPLandroid/content/res/Resources;->getClassLoader()Ljava/lang/ClassLoader;
 HSPLandroid/content/res/Resources;->getColor(I)I
@@ -19219,7 +17602,6 @@
 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;
@@ -19247,7 +17629,8 @@
 HSPLandroid/content/res/Resources;->obtainTypedArray(I)Landroid/content/res/TypedArray;
 HSPLandroid/content/res/Resources;->openRawResource(I)Ljava/io/InputStream;
 HSPLandroid/content/res/Resources;->openRawResource(ILandroid/util/TypedValue;)Ljava/io/InputStream;
-HSPLandroid/content/res/Resources;->openRawResourceFd(I)Landroid/content/res/AssetFileDescriptor;
+HSPLandroid/content/res/Resources;->parseBundleExtra(Ljava/lang/String;Landroid/util/AttributeSet;Landroid/os/Bundle;)V
+HSPLandroid/content/res/Resources;->preloadFonts(I)V
 HSPLandroid/content/res/Resources;->releaseTempTypedValue(Landroid/util/TypedValue;)V
 HSPLandroid/content/res/Resources;->setImpl(Landroid/content/res/ResourcesImpl;)V
 HSPLandroid/content/res/Resources;->startPreloading()V
@@ -19298,11 +17681,11 @@
 HSPLandroid/content/res/ResourcesImpl;->loadDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;IILandroid/content/res/Resources$Theme;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/content/res/ResourcesImpl;->loadDrawableForCookie(Landroid/content/res/Resources;Landroid/util/TypedValue;II)Landroid/graphics/drawable/Drawable;
 HSPLandroid/content/res/ResourcesImpl;->loadFont(Landroid/content/res/Resources;Landroid/util/TypedValue;I)Landroid/graphics/Typeface;
+HSPLandroid/content/res/ResourcesImpl;->loadXmlDrawable(Landroid/content/res/Resources;Landroid/util/TypedValue;IILjava/lang/String;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/content/res/ResourcesImpl;->loadXmlResourceParser(Ljava/lang/String;IILjava/lang/String;)Landroid/content/res/XmlResourceParser;
 HSPLandroid/content/res/ResourcesImpl;->newThemeImpl()Landroid/content/res/ResourcesImpl$ThemeImpl;
 HSPLandroid/content/res/ResourcesImpl;->newThemeImpl(Landroid/content/res/Resources$ThemeKey;)Landroid/content/res/ResourcesImpl$ThemeImpl;
 HSPLandroid/content/res/ResourcesImpl;->openRawResource(ILandroid/util/TypedValue;)Ljava/io/InputStream;
-HSPLandroid/content/res/ResourcesImpl;->openRawResourceFd(ILandroid/util/TypedValue;)Landroid/content/res/AssetFileDescriptor;
 HSPLandroid/content/res/ResourcesImpl;->startPreloading()V
 HSPLandroid/content/res/ResourcesImpl;->updateConfiguration(Landroid/content/res/Configuration;Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;)V
 HSPLandroid/content/res/ResourcesImpl;->verifyPreloadConfig(IIILjava/lang/String;)Z
@@ -19364,6 +17747,8 @@
 HSPLandroid/content/res/XmlBlock$Parser;->getAttributeBooleanValue(IZ)Z
 HSPLandroid/content/res/XmlBlock$Parser;->getAttributeBooleanValue(Ljava/lang/String;Ljava/lang/String;Z)Z
 HSPLandroid/content/res/XmlBlock$Parser;->getAttributeCount()I
+HSPLandroid/content/res/XmlBlock$Parser;->getAttributeFloatValue(IF)F
+HSPLandroid/content/res/XmlBlock$Parser;->getAttributeFloatValue(Ljava/lang/String;Ljava/lang/String;F)F
 HSPLandroid/content/res/XmlBlock$Parser;->getAttributeIntValue(II)I
 HSPLandroid/content/res/XmlBlock$Parser;->getAttributeIntValue(Ljava/lang/String;Ljava/lang/String;I)I
 HSPLandroid/content/res/XmlBlock$Parser;->getAttributeName(I)Ljava/lang/String;
@@ -19381,13 +17766,11 @@
 HSPLandroid/content/res/XmlBlock$Parser;->isEmptyElementTag()Z
 HSPLandroid/content/res/XmlBlock$Parser;->next()I
 HSPLandroid/content/res/XmlBlock$Parser;->nextText()Ljava/lang/String;
-HSPLandroid/content/res/XmlBlock$Parser;->nextToken()I
 HSPLandroid/content/res/XmlBlock$Parser;->require(ILjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/content/res/XmlBlock;->close()V
 HSPLandroid/content/res/XmlBlock;->finalize()V
-HSPLandroid/content/res/XmlBlock;->newParser()Landroid/content/res/XmlResourceParser;
-HSPLandroid/content/res/XmlResourceParser;->close()V
-HSPLandroid/content/res/XmlResourceParser;->getAttributeNamespace(I)Ljava/lang/String;
+HSPLandroid/content/res/XmlBlock;->newParser(I)Landroid/content/res/XmlResourceParser;
+HSPLandroid/content/rollback/IRollbackManager$Stub;-><init>()V
 HSPLandroid/database/AbstractCursor$SelfContentObserver;->onChange(Z)V
 HSPLandroid/database/AbstractCursor;-><init>()V
 HSPLandroid/database/AbstractCursor;->close()V
@@ -19397,13 +17780,13 @@
 HSPLandroid/database/AbstractCursor;->getColumnIndex(Ljava/lang/String;)I
 HSPLandroid/database/AbstractCursor;->getColumnIndexOrThrow(Ljava/lang/String;)I
 HSPLandroid/database/AbstractCursor;->getColumnName(I)Ljava/lang/String;
-HSPLandroid/database/AbstractCursor;->getExtras()Landroid/os/Bundle;
 HSPLandroid/database/AbstractCursor;->getPosition()I
 HSPLandroid/database/AbstractCursor;->getWantsAllOnMoveCalls()Z
 HSPLandroid/database/AbstractCursor;->getWindow()Landroid/database/CursorWindow;
 HSPLandroid/database/AbstractCursor;->isAfterLast()Z
 HSPLandroid/database/AbstractCursor;->isBeforeFirst()Z
 HSPLandroid/database/AbstractCursor;->isClosed()Z
+HSPLandroid/database/AbstractCursor;->isFirst()Z
 HSPLandroid/database/AbstractCursor;->isLast()Z
 HSPLandroid/database/AbstractCursor;->moveToFirst()Z
 HSPLandroid/database/AbstractCursor;->moveToLast()Z
@@ -19416,7 +17799,8 @@
 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;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;I)V
+HSPLandroid/database/AbstractCursor;->setNotificationUris(Landroid/content/ContentResolver;Ljava/util/List;)V
+HSPLandroid/database/AbstractCursor;->setNotificationUris(Landroid/content/ContentResolver;Ljava/util/List;I)V
 HSPLandroid/database/AbstractCursor;->unregisterContentObserver(Landroid/database/ContentObserver;)V
 HSPLandroid/database/AbstractCursor;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
 HSPLandroid/database/AbstractWindowedCursor;->checkPosition()V
@@ -19424,7 +17808,6 @@
 HSPLandroid/database/AbstractWindowedCursor;->closeWindow()V
 HSPLandroid/database/AbstractWindowedCursor;->getBlob(I)[B
 HSPLandroid/database/AbstractWindowedCursor;->getDouble(I)D
-HSPLandroid/database/AbstractWindowedCursor;->getFloat(I)F
 HSPLandroid/database/AbstractWindowedCursor;->getInt(I)I
 HSPLandroid/database/AbstractWindowedCursor;->getLong(I)J
 HSPLandroid/database/AbstractWindowedCursor;->getShort(I)S
@@ -19442,28 +17825,27 @@
 HSPLandroid/database/BulkCursorNative;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/database/BulkCursorProxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/database/BulkCursorProxy;->close()V
+HSPLandroid/database/BulkCursorProxy;->getExtras()Landroid/os/Bundle;
 HSPLandroid/database/BulkCursorProxy;->getWindow(I)Landroid/database/CursorWindow;
 HSPLandroid/database/BulkCursorToCursorAdaptor;->close()V
 HSPLandroid/database/BulkCursorToCursorAdaptor;->getColumnNames()[Ljava/lang/String;
 HSPLandroid/database/BulkCursorToCursorAdaptor;->getCount()I
+HSPLandroid/database/BulkCursorToCursorAdaptor;->getExtras()Landroid/os/Bundle;
 HSPLandroid/database/BulkCursorToCursorAdaptor;->onMove(II)Z
-HSPLandroid/database/CharArrayBuffer;-><init>(I)V
-HSPLandroid/database/ContentObservable;-><init>()V
-HSPLandroid/database/ContentObservable;->dispatchChange(Z)V
 HSPLandroid/database/ContentObservable;->dispatchChange(ZLandroid/net/Uri;)V
 HSPLandroid/database/ContentObservable;->registerObserver(Landroid/database/ContentObserver;)V
 HSPLandroid/database/ContentObserver$NotificationRunnable;->run()V
 HSPLandroid/database/ContentObserver$Transport;->onChange(ZLandroid/net/Uri;I)V
 HSPLandroid/database/ContentObserver;-><init>(Landroid/os/Handler;)V
-HSPLandroid/database/ContentObserver;->dispatchChange(ZLandroid/net/Uri;)V
 HSPLandroid/database/ContentObserver;->getContentObserver()Landroid/database/IContentObserver;
-HSPLandroid/database/ContentObserver;->onChange(Z)V
 HSPLandroid/database/ContentObserver;->onChange(ZLandroid/net/Uri;)V
 HSPLandroid/database/ContentObserver;->onChange(ZLandroid/net/Uri;I)V
 HSPLandroid/database/ContentObserver;->releaseContentObserver()Landroid/database/IContentObserver;
+HSPLandroid/database/CrossProcessCursorWrapper;->getWindow()Landroid/database/CursorWindow;
 HSPLandroid/database/CursorToBulkCursorAdaptor$ContentObserverProxy;-><init>(Landroid/database/IContentObserver;Landroid/os/IBinder$DeathRecipient;)V
 HSPLandroid/database/CursorToBulkCursorAdaptor$ContentObserverProxy;->onChange(ZLandroid/net/Uri;)V
 HSPLandroid/database/CursorToBulkCursorAdaptor;-><init>(Landroid/database/Cursor;Landroid/database/IContentObserver;Ljava/lang/String;)V
+HSPLandroid/database/CursorToBulkCursorAdaptor;->binderDied()V
 HSPLandroid/database/CursorToBulkCursorAdaptor;->close()V
 HSPLandroid/database/CursorToBulkCursorAdaptor;->createAndRegisterObserverProxyLocked(Landroid/database/IContentObserver;)V
 HSPLandroid/database/CursorToBulkCursorAdaptor;->getBulkCursorDescriptor()Landroid/database/BulkCursorDescriptor;
@@ -19511,15 +17893,13 @@
 HSPLandroid/database/CursorWrapper;->getColumnName(I)Ljava/lang/String;
 HSPLandroid/database/CursorWrapper;->getColumnNames()[Ljava/lang/String;
 HSPLandroid/database/CursorWrapper;->getCount()I
-HSPLandroid/database/CursorWrapper;->getDouble(I)D
 HSPLandroid/database/CursorWrapper;->getExtras()Landroid/os/Bundle;
-HSPLandroid/database/CursorWrapper;->getFloat(I)F
 HSPLandroid/database/CursorWrapper;->getInt(I)I
 HSPLandroid/database/CursorWrapper;->getLong(I)J
 HSPLandroid/database/CursorWrapper;->getPosition()I
 HSPLandroid/database/CursorWrapper;->getString(I)Ljava/lang/String;
 HSPLandroid/database/CursorWrapper;->getType(I)I
-HSPLandroid/database/CursorWrapper;->getWrappedCursor()Landroid/database/Cursor;
+HSPLandroid/database/CursorWrapper;->getWantsAllOnMoveCalls()Z
 HSPLandroid/database/CursorWrapper;->isAfterLast()Z
 HSPLandroid/database/CursorWrapper;->isBeforeFirst()Z
 HSPLandroid/database/CursorWrapper;->isClosed()Z
@@ -19532,7 +17912,6 @@
 HSPLandroid/database/CursorWrapper;->moveToPrevious()Z
 HSPLandroid/database/CursorWrapper;->registerContentObserver(Landroid/database/ContentObserver;)V
 HSPLandroid/database/CursorWrapper;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
-HSPLandroid/database/CursorWrapper;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
 HSPLandroid/database/CursorWrapper;->setNotificationUri(Landroid/content/ContentResolver;Landroid/net/Uri;)V
 HSPLandroid/database/CursorWrapper;->unregisterContentObserver(Landroid/database/ContentObserver;)V
 HSPLandroid/database/CursorWrapper;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
@@ -19540,48 +17919,27 @@
 HSPLandroid/database/DataSetObservable;->notifyChanged()V
 HSPLandroid/database/DataSetObservable;->notifyInvalidated()V
 HSPLandroid/database/DataSetObserver;-><init>()V
-HSPLandroid/database/DataSetObserver;->onInvalidated()V
-HSPLandroid/database/DatabaseErrorHandler;->onCorruption(Landroid/database/sqlite/SQLiteDatabase;)V
+HSPLandroid/database/DatabaseUtils$InsertHelper;-><init>(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;)V
 HSPLandroid/database/DatabaseUtils;->appendEscapedSQLString(Ljava/lang/StringBuilder;Ljava/lang/String;)V
-HSPLandroid/database/DatabaseUtils;->appendSelectionArgs([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/database/DatabaseUtils;->appendValueToSql(Ljava/lang/StringBuilder;Ljava/lang/Object;)V
-HSPLandroid/database/DatabaseUtils;->concatenateWhere(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/database/DatabaseUtils;->bindSelection(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
 HSPLandroid/database/DatabaseUtils;->cursorFillWindow(Landroid/database/Cursor;ILandroid/database/CursorWindow;)V
-HSPLandroid/database/DatabaseUtils;->cursorIntToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V
-HSPLandroid/database/DatabaseUtils;->cursorLongToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V
-HSPLandroid/database/DatabaseUtils;->cursorRowToContentValues(Landroid/database/Cursor;Landroid/content/ContentValues;)V
-HSPLandroid/database/DatabaseUtils;->cursorStringToContentValuesIfPresent(Landroid/database/Cursor;Landroid/content/ContentValues;Ljava/lang/String;)V
-HSPLandroid/database/DatabaseUtils;->dumpCurrentRow(Landroid/database/Cursor;Ljava/lang/StringBuilder;)V
-HSPLandroid/database/DatabaseUtils;->dumpCursor(Landroid/database/Cursor;Ljava/lang/StringBuilder;)V
-HSPLandroid/database/DatabaseUtils;->dumpCursorToString(Landroid/database/Cursor;)Ljava/lang/String;
+HSPLandroid/database/DatabaseUtils;->getCollationKey(Ljava/lang/String;)Ljava/lang/String;
 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;->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;->readExceptionFromParcel(Landroid/os/Parcel;Ljava/lang/String;I)V
 HSPLandroid/database/DatabaseUtils;->readExceptionWithFileNotFoundExceptionFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/database/DatabaseUtils;->readExceptionWithOperationApplicationExceptionFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/database/DatabaseUtils;->sqlEscapeString(Ljava/lang/String;)Ljava/lang/String;
-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/DatabaseUtils;->writeExceptionToParcel(Landroid/os/Parcel;Ljava/lang/Exception;)V
 HSPLandroid/database/DefaultDatabaseErrorHandler;-><init>()V
-HSPLandroid/database/IBulkCursor;->close()V
-HSPLandroid/database/IBulkCursor;->deactivate()V
-HSPLandroid/database/IBulkCursor;->getExtras()Landroid/os/Bundle;
-HSPLandroid/database/IBulkCursor;->getWindow(I)Landroid/database/CursorWindow;
-HSPLandroid/database/IBulkCursor;->onMove(I)V
-HSPLandroid/database/IBulkCursor;->requery(Landroid/database/IContentObserver;)I
-HSPLandroid/database/IBulkCursor;->respond(Landroid/os/Bundle;)Landroid/os/Bundle;
 HSPLandroid/database/IContentObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/database/IContentObserver$Stub$Proxy;->onChange(ZLandroid/net/Uri;I)V
 HSPLandroid/database/IContentObserver$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/database/IContentObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/database/IContentObserver;
 HSPLandroid/database/IContentObserver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/database/IContentObserver;->onChange(ZLandroid/net/Uri;I)V
-HSPLandroid/database/MatrixCursor$RowBuilder;->add(Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
+HSPLandroid/database/MatrixCursor$RowBuilder;->add(Ljava/lang/String;Ljava/lang/Object;)Landroid/database/MatrixCursor$RowBuilder;
 HSPLandroid/database/MatrixCursor;-><init>([Ljava/lang/String;)V
-HSPLandroid/database/MatrixCursor;-><init>([Ljava/lang/String;I)V
 HSPLandroid/database/MatrixCursor;->addRow(Ljava/lang/Iterable;)V
 HSPLandroid/database/MatrixCursor;->addRow(Ljava/util/ArrayList;I)V
 HSPLandroid/database/MatrixCursor;->addRow([Ljava/lang/Object;)V
@@ -19595,10 +17953,29 @@
 HSPLandroid/database/MatrixCursor;->getString(I)Ljava/lang/String;
 HSPLandroid/database/MatrixCursor;->getType(I)I
 HSPLandroid/database/MatrixCursor;->newRow()Landroid/database/MatrixCursor$RowBuilder;
+HSPLandroid/database/MergeCursor$1;->onInvalidated()V
+HSPLandroid/database/MergeCursor;-><init>([Landroid/database/Cursor;)V
+HSPLandroid/database/MergeCursor;->close()V
+HSPLandroid/database/MergeCursor;->getCount()I
+HSPLandroid/database/MergeCursor;->getInt(I)I
+HSPLandroid/database/MergeCursor;->getLong(I)J
+HSPLandroid/database/MergeCursor;->getString(I)Ljava/lang/String;
+HSPLandroid/database/MergeCursor;->onMove(II)Z
 HSPLandroid/database/Observable;-><init>()V
 HSPLandroid/database/Observable;->registerObserver(Ljava/lang/Object;)V
 HSPLandroid/database/Observable;->unregisterAll()V
 HSPLandroid/database/Observable;->unregisterObserver(Ljava/lang/Object;)V
+HSPLandroid/database/TranslatingCursor$Config;-><init>(Landroid/net/Uri;Ljava/lang/String;[Ljava/lang/String;)V
+HSPLandroid/database/TranslatingCursor;-><init>(Landroid/database/Cursor;Landroid/database/TranslatingCursor$Config;Landroid/database/TranslatingCursor$Translator;Z)V
+HSPLandroid/database/TranslatingCursor;->fillWindow(ILandroid/database/CursorWindow;)V
+HSPLandroid/database/TranslatingCursor;->getColumnCount()I
+HSPLandroid/database/TranslatingCursor;->getColumnNames()[Ljava/lang/String;
+HSPLandroid/database/TranslatingCursor;->getInt(I)I
+HSPLandroid/database/TranslatingCursor;->getLong(I)J
+HSPLandroid/database/TranslatingCursor;->getString(I)Ljava/lang/String;
+HSPLandroid/database/TranslatingCursor;->getType(I)I
+HSPLandroid/database/TranslatingCursor;->getWindow()Landroid/database/CursorWindow;
+HSPLandroid/database/TranslatingCursor;->query(Landroid/database/TranslatingCursor$Config;Landroid/database/TranslatingCursor$Translator;Landroid/database/sqlite/SQLiteQueryBuilder;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/os/CancellationSignal;)Landroid/database/Cursor;
 HSPLandroid/database/sqlite/-$$Lambda$RBWjWVyGrOTsQrLCYzJ_G8Uk25Q;->get()Ljava/lang/Object;
 HSPLandroid/database/sqlite/SQLiteClosable;->acquireReference()V
 HSPLandroid/database/sqlite/SQLiteClosable;->close()V
@@ -19614,8 +17991,12 @@
 HSPLandroid/database/sqlite/SQLiteConnection$PreparedStatementCache;->entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/database/sqlite/SQLiteConnection;-><init>(Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteDatabaseConfiguration;IZ)V
 HSPLandroid/database/sqlite/SQLiteConnection;->acquirePreparedStatement(Ljava/lang/String;)Landroid/database/sqlite/SQLiteConnection$PreparedStatement;
+HSPLandroid/database/sqlite/SQLiteConnection;->applyBlockGuardPolicy(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;)V
+HSPLandroid/database/sqlite/SQLiteConnection;->attachCancellationSignal(Landroid/os/CancellationSignal;)V
 HSPLandroid/database/sqlite/SQLiteConnection;->bindArguments(Landroid/database/sqlite/SQLiteConnection$PreparedStatement;[Ljava/lang/Object;)V
 HSPLandroid/database/sqlite/SQLiteConnection;->canonicalizeSyncMode(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteConnection;->checkDatabaseWiped()V
+HSPLandroid/database/sqlite/SQLiteConnection;->detachCancellationSignal(Landroid/os/CancellationSignal;)V
 HSPLandroid/database/sqlite/SQLiteConnection;->dispose(Z)V
 HSPLandroid/database/sqlite/SQLiteConnection;->execute(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)V
 HSPLandroid/database/sqlite/SQLiteConnection;->executeForChangedRowCount(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)I
@@ -19624,7 +18005,7 @@
 HSPLandroid/database/sqlite/SQLiteConnection;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)J
 HSPLandroid/database/sqlite/SQLiteConnection;->executeForString(Ljava/lang/String;[Ljava/lang/Object;Landroid/os/CancellationSignal;)Ljava/lang/String;
 HSPLandroid/database/sqlite/SQLiteConnection;->finalize()V
-HSPLandroid/database/sqlite/SQLiteConnection;->onCancel()V
+HSPLandroid/database/sqlite/SQLiteConnection;->maybeTruncateWalFile()V
 HSPLandroid/database/sqlite/SQLiteConnection;->open()V
 HSPLandroid/database/sqlite/SQLiteConnection;->open(Landroid/database/sqlite/SQLiteConnectionPool;Landroid/database/sqlite/SQLiteDatabaseConfiguration;IZ)Landroid/database/sqlite/SQLiteConnection;
 HSPLandroid/database/sqlite/SQLiteConnection;->prepare(Ljava/lang/String;Landroid/database/sqlite/SQLiteStatementInfo;)V
@@ -19642,17 +18023,15 @@
 HSPLandroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;-><init>(Ljava/lang/String;I)V
 HSPLandroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;-><init>(Landroid/database/sqlite/SQLiteConnectionPool$1;)V
 HSPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->connectionAcquired(Landroid/database/sqlite/SQLiteConnection;)V
+HSPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->connectionClosed(Landroid/database/sqlite/SQLiteConnection;)V
 HSPLandroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;->connectionReleased(Landroid/database/sqlite/SQLiteConnection;)V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;-><init>(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->acquireConnection(Ljava/lang/String;ILandroid/os/CancellationSignal;)Landroid/database/sqlite/SQLiteConnection;
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->closeAvailableNonPrimaryConnectionsAndLogExceptions()V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->closeConnectionAndLogExceptionsLocked(Landroid/database/sqlite/SQLiteConnection;)V
-HSPLandroid/database/sqlite/SQLiteConnectionPool;->disableIdleConnectionHandler()V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->dispose(Z)V
-HSPLandroid/database/sqlite/SQLiteConnectionPool;->finalize()V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->finishAcquireConnectionLocked(Landroid/database/sqlite/SQLiteConnection;I)V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->markAcquiredConnectionsLocked(Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;)V
-HSPLandroid/database/sqlite/SQLiteConnectionPool;->onConnectionLeaked()V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->open()V
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->open(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)Landroid/database/sqlite/SQLiteConnectionPool;
 HSPLandroid/database/sqlite/SQLiteConnectionPool;->reconfigure(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V
@@ -19675,17 +18054,9 @@
 HSPLandroid/database/sqlite/SQLiteCursor;->getCount()I
 HSPLandroid/database/sqlite/SQLiteCursor;->getDatabase()Landroid/database/sqlite/SQLiteDatabase;
 HSPLandroid/database/sqlite/SQLiteCursor;->onMove(II)Z
-HSPLandroid/database/sqlite/SQLiteCursorDriver;->cursorClosed()V
-HSPLandroid/database/sqlite/SQLiteCursorDriver;->cursorDeactivated()V
-HSPLandroid/database/sqlite/SQLiteCursorDriver;->cursorRequeried(Landroid/database/Cursor;)V
-HSPLandroid/database/sqlite/SQLiteCursorDriver;->query(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;[Ljava/lang/String;)Landroid/database/Cursor;
-HSPLandroid/database/sqlite/SQLiteCursorDriver;->setBindArguments([Ljava/lang/String;)V
 HSPLandroid/database/sqlite/SQLiteDatabase$1;->accept(Ljava/io/File;)Z
-HSPLandroid/database/sqlite/SQLiteDatabase$CursorFactory;->newCursor(Landroid/database/sqlite/SQLiteDatabase;Landroid/database/sqlite/SQLiteCursorDriver;Ljava/lang/String;Landroid/database/sqlite/SQLiteQuery;)Landroid/database/Cursor;
-HSPLandroid/database/sqlite/SQLiteDatabase$CustomFunction;->callback([Ljava/lang/String;)V
 HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;-><init>()V
 HSPLandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;-><init>(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)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;-><init>(ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/database/sqlite/SQLiteDatabase;-><init>(Ljava/lang/String;ILandroid/database/sqlite/SQLiteDatabase$CursorFactory;Landroid/database/DatabaseErrorHandler;IIJLjava/lang/String;Ljava/lang/String;)V
@@ -19693,11 +18064,10 @@
 HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransaction()V
 HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransaction(Landroid/database/sqlite/SQLiteTransactionListener;Z)V
 HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransactionNonExclusive()V
-HSPLandroid/database/sqlite/SQLiteDatabase;->beginTransactionWithListener(Landroid/database/sqlite/SQLiteTransactionListener;)V
 HSPLandroid/database/sqlite/SQLiteDatabase;->compileStatement(Ljava/lang/String;)Landroid/database/sqlite/SQLiteStatement;
 HSPLandroid/database/sqlite/SQLiteDatabase;->createSession()Landroid/database/sqlite/SQLiteSession;
 HSPLandroid/database/sqlite/SQLiteDatabase;->delete(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)I
-HSPLandroid/database/sqlite/SQLiteDatabase;->deleteDatabase(Ljava/io/File;)Z
+HSPLandroid/database/sqlite/SQLiteDatabase;->deleteDatabase(Ljava/io/File;Z)Z
 HSPLandroid/database/sqlite/SQLiteDatabase;->disableWriteAheadLogging()V
 HSPLandroid/database/sqlite/SQLiteDatabase;->dispose(Z)V
 HSPLandroid/database/sqlite/SQLiteDatabase;->enableWriteAheadLogging()Z
@@ -19708,28 +18078,25 @@
 HSPLandroid/database/sqlite/SQLiteDatabase;->finalize()V
 HSPLandroid/database/sqlite/SQLiteDatabase;->findEditTable(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/database/sqlite/SQLiteDatabase;->getMaximumSize()J
-HSPLandroid/database/sqlite/SQLiteDatabase;->getPageSize()J
 HSPLandroid/database/sqlite/SQLiteDatabase;->getPath()Ljava/lang/String;
 HSPLandroid/database/sqlite/SQLiteDatabase;->getVersion()I
 HSPLandroid/database/sqlite/SQLiteDatabase;->inTransaction()Z
 HSPLandroid/database/sqlite/SQLiteDatabase;->insert(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
 HSPLandroid/database/sqlite/SQLiteDatabase;->insertOrThrow(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
 HSPLandroid/database/sqlite/SQLiteDatabase;->insertWithOnConflict(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;I)J
-HSPLandroid/database/sqlite/SQLiteDatabase;->isDbLockedByOtherThreads()Z
+HSPLandroid/database/sqlite/SQLiteDatabase;->isDbLockedByCurrentThread()Z
+HSPLandroid/database/sqlite/SQLiteDatabase;->isMainThread()Z
 HSPLandroid/database/sqlite/SQLiteDatabase;->isOpen()Z
 HSPLandroid/database/sqlite/SQLiteDatabase;->isReadOnly()Z
-HSPLandroid/database/sqlite/SQLiteDatabase;->isWriteAheadLoggingEnabled()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
 HSPLandroid/database/sqlite/SQLiteDatabase;->query(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/SQLiteDatabase;->query(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/database/Cursor;
 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/database/Cursor;
 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;->queryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;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/database/Cursor;
 HSPLandroid/database/sqlite/SQLiteDatabase;->queryWithFactory(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;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/database/Cursor;
 HSPLandroid/database/sqlite/SQLiteDatabase;->rawQuery(Ljava/lang/String;[Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/database/Cursor;
@@ -19739,12 +18106,10 @@
 HSPLandroid/database/sqlite/SQLiteDatabase;->replace(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
 HSPLandroid/database/sqlite/SQLiteDatabase;->replaceOrThrow(Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentValues;)J
 HSPLandroid/database/sqlite/SQLiteDatabase;->setForeignKeyConstraintsEnabled(Z)V
-HSPLandroid/database/sqlite/SQLiteDatabase;->setMaxSqlCacheSize(I)V
-HSPLandroid/database/sqlite/SQLiteDatabase;->setMaximumSize(J)J
 HSPLandroid/database/sqlite/SQLiteDatabase;->setPageSize(J)V
 HSPLandroid/database/sqlite/SQLiteDatabase;->setTransactionSuccessful()V
-HSPLandroid/database/sqlite/SQLiteDatabase;->setVersion(I)V
 HSPLandroid/database/sqlite/SQLiteDatabase;->throwIfNotOpenLocked()V
+HSPLandroid/database/sqlite/SQLiteDatabase;->toString()Ljava/lang/String;
 HSPLandroid/database/sqlite/SQLiteDatabase;->update(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
 HSPLandroid/database/sqlite/SQLiteDatabase;->updateWithOnConflict(Ljava/lang/String;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;I)I
 HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;-><init>(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V
@@ -19752,11 +18117,9 @@
 HSPLandroid/database/sqlite/SQLiteDatabaseConfiguration;->updateParametersFrom(Landroid/database/sqlite/SQLiteDatabaseConfiguration;)V
 HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;->cursorClosed()V
 HSPLandroid/database/sqlite/SQLiteDirectCursorDriver;->query(Landroid/database/sqlite/SQLiteDatabase$CursorFactory;[Ljava/lang/String;)Landroid/database/Cursor;
-HSPLandroid/database/sqlite/SQLiteException;-><init>(Ljava/lang/String;)V
 HSPLandroid/database/sqlite/SQLiteGlobal;->getDefaultPageSize()I
 HSPLandroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;IILandroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;)V
 HSPLandroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)V
-HSPLandroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;IILandroid/database/DatabaseErrorHandler;)V
 HSPLandroid/database/sqlite/SQLiteOpenHelper;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;ILandroid/database/DatabaseErrorHandler;)V
 HSPLandroid/database/sqlite/SQLiteOpenHelper;->close()V
 HSPLandroid/database/sqlite/SQLiteOpenHelper;->getDatabaseLocked(Z)Landroid/database/sqlite/SQLiteDatabase;
@@ -19764,35 +18127,36 @@
 HSPLandroid/database/sqlite/SQLiteOpenHelper;->getReadableDatabase()Landroid/database/sqlite/SQLiteDatabase;
 HSPLandroid/database/sqlite/SQLiteOpenHelper;->getWritableDatabase()Landroid/database/sqlite/SQLiteDatabase;
 HSPLandroid/database/sqlite/SQLiteOpenHelper;->onConfigure(Landroid/database/sqlite/SQLiteDatabase;)V
-HSPLandroid/database/sqlite/SQLiteOpenHelper;->onCreate(Landroid/database/sqlite/SQLiteDatabase;)V
 HSPLandroid/database/sqlite/SQLiteOpenHelper;->onOpen(Landroid/database/sqlite/SQLiteDatabase;)V
-HSPLandroid/database/sqlite/SQLiteOpenHelper;->onUpgrade(Landroid/database/sqlite/SQLiteDatabase;II)V
 HSPLandroid/database/sqlite/SQLiteOpenHelper;->setIdleConnectionTimeout(J)V
 HSPLandroid/database/sqlite/SQLiteOpenHelper;->setOpenParams(Landroid/database/sqlite/SQLiteDatabase$OpenParams;)V
 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;->bindNull(I)V
 HSPLandroid/database/sqlite/SQLiteProgram;->bindString(ILjava/lang/String;)V
 HSPLandroid/database/sqlite/SQLiteProgram;->clearBindings()V
 HSPLandroid/database/sqlite/SQLiteProgram;->onAllReferencesReleased()V
 HSPLandroid/database/sqlite/SQLiteQuery;->fillWindow(Landroid/database/CursorWindow;IIZ)I
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;-><init>()V
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendWhere(Ljava/lang/CharSequence;)V
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->appendWhereStandalone(Ljava/lang/CharSequence;)V
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->buildQuery([Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/database/sqlite/SQLiteQueryBuilder;->buildQuery([Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->buildQueryString(ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->buildUpdate(Landroid/content/ContentValues;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->computeProjection([Ljava/lang/String;)[Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->computeWhere(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->getProjectionMap()Ljava/util/Map;
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->getTables()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;)Landroid/database/Cursor;
 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/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/os/CancellationSignal;)Landroid/database/Cursor;
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->setProjectionGreylist(Ljava/util/List;)V
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->setProjectionMap(Ljava/util/Map;)V
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->setStrict(Z)V
 HSPLandroid/database/sqlite/SQLiteQueryBuilder;->setTables(Ljava/lang/String;)V
+HSPLandroid/database/sqlite/SQLiteQueryBuilder;->update(Landroid/database/sqlite/SQLiteDatabase;Landroid/content/ContentValues;Ljava/lang/String;[Ljava/lang/String;)I
 HSPLandroid/database/sqlite/SQLiteSession;->beginTransaction(ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V
 HSPLandroid/database/sqlite/SQLiteSession;->beginTransactionUnchecked(ILandroid/database/sqlite/SQLiteTransactionListener;ILandroid/os/CancellationSignal;)V
 HSPLandroid/database/sqlite/SQLiteSession;->endTransaction(Landroid/os/CancellationSignal;)V
@@ -19802,7 +18166,6 @@
 HSPLandroid/database/sqlite/SQLiteSession;->executeForCursorWindow(Ljava/lang/String;[Ljava/lang/Object;Landroid/database/CursorWindow;IIZILandroid/os/CancellationSignal;)I
 HSPLandroid/database/sqlite/SQLiteSession;->executeForLastInsertedRowId(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)J
 HSPLandroid/database/sqlite/SQLiteSession;->executeForLong(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)J
-HSPLandroid/database/sqlite/SQLiteSession;->executeForString(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Ljava/lang/String;
 HSPLandroid/database/sqlite/SQLiteSession;->executeSpecial(Ljava/lang/String;[Ljava/lang/Object;ILandroid/os/CancellationSignal;)Z
 HSPLandroid/database/sqlite/SQLiteSession;->prepare(Ljava/lang/String;ILandroid/os/CancellationSignal;Landroid/database/sqlite/SQLiteStatementInfo;)V
 HSPLandroid/database/sqlite/SQLiteSession;->releaseConnection()V
@@ -19811,35 +18174,64 @@
 HSPLandroid/database/sqlite/SQLiteStatement;->executeInsert()J
 HSPLandroid/database/sqlite/SQLiteStatement;->executeUpdateDelete()I
 HSPLandroid/database/sqlite/SQLiteStatement;->simpleQueryForLong()J
-HSPLandroid/database/sqlite/SQLiteStatement;->simpleQueryForString()Ljava/lang/String;
-HSPLandroid/database/sqlite/SQLiteTransactionListener;->onBegin()V
-HSPLandroid/database/sqlite/SQLiteTransactionListener;->onCommit()V
-HSPLandroid/database/sqlite/SQLiteTransactionListener;->onRollback()V
 HSPLandroid/ddm/DdmHandleAppName;-><init>()V
 HSPLandroid/ddm/DdmHandleAppName;->sendAPNM(Ljava/lang/String;I)V
 HSPLandroid/ddm/DdmHandleExit;-><init>()V
+HSPLandroid/ddm/DdmHandleExit;->connected()V
 HSPLandroid/ddm/DdmHandleHeap;-><init>()V
+HSPLandroid/ddm/DdmHandleHeap;->connected()V
+HSPLandroid/ddm/DdmHandleHeap;->handleChunk(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
 HSPLandroid/ddm/DdmHandleHeap;->register()V
 HSPLandroid/ddm/DdmHandleHello;-><init>()V
+HSPLandroid/ddm/DdmHandleHello;->connected()V
+HSPLandroid/ddm/DdmHandleHello;->handleChunk(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
+HSPLandroid/ddm/DdmHandleHello;->handleFEAT(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
+HSPLandroid/ddm/DdmHandleHello;->handleHELO(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
 HSPLandroid/ddm/DdmHandleNativeHeap;-><init>()V
+HSPLandroid/ddm/DdmHandleNativeHeap;->connected()V
 HSPLandroid/ddm/DdmHandleProfiling;-><init>()V
+HSPLandroid/ddm/DdmHandleProfiling;->connected()V
+HSPLandroid/ddm/DdmHandleProfiling;->handleChunk(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Lorg/apache/harmony/dalvik/ddmc/Chunk;
 HSPLandroid/ddm/DdmHandleProfiling;->register()V
 HSPLandroid/ddm/DdmHandleThread;-><init>()V
+HSPLandroid/ddm/DdmHandleThread;->connected()V
 HSPLandroid/ddm/DdmHandleViewDebug;-><init>()V
+HSPLandroid/ddm/DdmHandleViewDebug;->connected()V
 HSPLandroid/ddm/DdmRegister;->registerHandlers()V
+HSPLandroid/debug/IAdbManager$Stub;-><init>()V
+HSPLandroid/debug/IAdbTransport$Stub;-><init>()V
+HSPLandroid/debug/IAdbTransport$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/graphics/-$$Lambda$ColorSpace$BNp-1CyCzsQzfE-Ads9uc4rJDfw;-><init>()V
-HSPLandroid/graphics/-$$Lambda$ColorSpace$BNp-1CyCzsQzfE-Ads9uc4rJDfw;->applyAsDouble(D)D
+HSPLandroid/graphics/-$$Lambda$ColorSpace$Rgb$8EkhO2jIf14tuA3BvrmYJMa7YXM;-><init>(Landroid/graphics/ColorSpace$Rgb;)V
+HSPLandroid/graphics/-$$Lambda$ColorSpace$Rgb$CqKld6797g7__JnuY0NeFz5q4_E;-><init>(D)V
+HSPLandroid/graphics/-$$Lambda$ColorSpace$Rgb$ZvS77aTfobOSa2o9MTqYMph4Rcg;-><init>(D)V
 HSPLandroid/graphics/-$$Lambda$ColorSpace$Rgb$b9VGKuNnse0bbguR9jbOM_wK2Ac;->applyAsDouble(D)D
 HSPLandroid/graphics/-$$Lambda$ColorSpace$Rgb$bWzafC8vMHNuVmRuTUPEFUMlfuY;->applyAsDouble(D)D
 HSPLandroid/graphics/-$$Lambda$ColorSpace$S2rlqJvkXGTpUF6mZhvkElds8JE;-><init>()V
-HSPLandroid/graphics/-$$Lambda$ColorSpace$S2rlqJvkXGTpUF6mZhvkElds8JE;->applyAsDouble(D)D
 HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
 HSPLandroid/graphics/BaseCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
 HSPLandroid/graphics/BaseCanvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/BaseCanvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V
+HSPLandroid/graphics/BaseCanvas;->drawText([CIIFFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/BaseCanvas;->throwIfCannotDraw(Landroid/graphics/Bitmap;)V
-HSPLandroid/graphics/BaseCanvas;->throwIfHasHwBitmapInSwMode(Landroid/graphics/Paint;)V
 HSPLandroid/graphics/BaseCanvas;->throwIfHasHwBitmapInSwMode(Landroid/graphics/Shader;)V
+HSPLandroid/graphics/BaseRecordingCanvas;-><init>(J)V
+HSPLandroid/graphics/BaseRecordingCanvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V
+HSPLandroid/graphics/BaseRecordingCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
+HSPLandroid/graphics/BaseRecordingCanvas;->drawCircle(FFFLandroid/graphics/Paint;)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
+HSPLandroid/graphics/BaseRecordingCanvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V
+HSPLandroid/graphics/BaseRecordingCanvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
+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
 HSPLandroid/graphics/Bitmap$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Bitmap;
 HSPLandroid/graphics/Bitmap$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -19849,34 +18241,23 @@
 HSPLandroid/graphics/Bitmap$Config;-><init>(Ljava/lang/String;II)V
 HSPLandroid/graphics/Bitmap$Config;->nativeToConfig(I)Landroid/graphics/Bitmap$Config;
 HSPLandroid/graphics/Bitmap$Config;->values()[Landroid/graphics/Bitmap$Config;
-HSPLandroid/graphics/Bitmap;-><init>(JIIIZZ[BLandroid/graphics/NinePatch$InsetStruct;)V
-HSPLandroid/graphics/Bitmap;->checkPixelAccess(II)V
+HSPLandroid/graphics/Bitmap;-><init>(JIIIZ[BLandroid/graphics/NinePatch$InsetStruct;)V
 HSPLandroid/graphics/Bitmap;->checkPixelsAccess(IIIIII[I)V
+HSPLandroid/graphics/Bitmap;->checkWidthHeight(II)V
+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;
-HSPLandroid/graphics/Bitmap;->copyPixelsToBuffer(Ljava/nio/Buffer;)V
 HSPLandroid/graphics/Bitmap;->createBitmap(IILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;)Landroid/graphics/Bitmap;
 HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIII)Landroid/graphics/Bitmap;
 HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Bitmap;IIIILandroid/graphics/Matrix;Z)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Picture;)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/graphics/Picture;IILandroid/graphics/Bitmap$Config;)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;Z)Landroid/graphics/Bitmap;
 HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/util/DisplayMetrics;IILandroid/graphics/Bitmap$Config;ZLandroid/graphics/ColorSpace;)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/Bitmap;->createBitmap(Landroid/util/DisplayMetrics;[IIIIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/Bitmap;->createBitmap([IIILandroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
 HSPLandroid/graphics/Bitmap;->createScaledBitmap(Landroid/graphics/Bitmap;IIZ)Landroid/graphics/Bitmap;
 HSPLandroid/graphics/Bitmap;->eraseColor(I)V
-HSPLandroid/graphics/Bitmap;->extractAlpha(Landroid/graphics/Paint;[I)Landroid/graphics/Bitmap;
 HSPLandroid/graphics/Bitmap;->getAllocationByteCount()I
 HSPLandroid/graphics/Bitmap;->getByteCount()I
+HSPLandroid/graphics/Bitmap;->getColorSpace()Landroid/graphics/ColorSpace;
 HSPLandroid/graphics/Bitmap;->getConfig()Landroid/graphics/Bitmap$Config;
-HSPLandroid/graphics/Bitmap;->getDensity()I
 HSPLandroid/graphics/Bitmap;->getHeight()I
-HSPLandroid/graphics/Bitmap;->getPixel(II)I
 HSPLandroid/graphics/Bitmap;->getPixels([IIIIIII)V
-HSPLandroid/graphics/Bitmap;->getRowBytes()I
 HSPLandroid/graphics/Bitmap;->getScaledHeight(I)I
 HSPLandroid/graphics/Bitmap;->getScaledWidth(I)I
 HSPLandroid/graphics/Bitmap;->getWidth()I
@@ -19891,15 +18272,11 @@
 HSPLandroid/graphics/Bitmap;->scaleFromDensity(III)I
 HSPLandroid/graphics/Bitmap;->setDensity(I)V
 HSPLandroid/graphics/Bitmap;->setHasAlpha(Z)V
-HSPLandroid/graphics/Bitmap;->setPixel(III)V
-HSPLandroid/graphics/Bitmap;->setPixels([IIIIIII)V
 HSPLandroid/graphics/Bitmap;->setPremultiplied(Z)V
 HSPLandroid/graphics/Bitmap;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/graphics/BitmapFactory$Options;-><init>()V
 HSPLandroid/graphics/BitmapFactory$Options;->validate(Landroid/graphics/BitmapFactory$Options;)V
-HSPLandroid/graphics/BitmapFactory;->decodeByteArray([BII)Landroid/graphics/Bitmap;
 HSPLandroid/graphics/BitmapFactory;->decodeByteArray([BIILandroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
-HSPLandroid/graphics/BitmapFactory;->decodeFile(Ljava/lang/String;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
 HSPLandroid/graphics/BitmapFactory;->decodeFileDescriptor(Ljava/io/FileDescriptor;Landroid/graphics/Rect;Landroid/graphics/BitmapFactory$Options;)Landroid/graphics/Bitmap;
 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;
@@ -19910,8 +18287,9 @@
 HSPLandroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;II)V
 HSPLandroid/graphics/BitmapShader;-><init>(Landroid/graphics/Bitmap;Landroid/graphics/Shader$TileMode;Landroid/graphics/Shader$TileMode;)V
 HSPLandroid/graphics/BitmapShader;->createNativeInstance(J)J
+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
@@ -19922,43 +18300,31 @@
 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/RectF;)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;->drawArc(FFFFFFZLandroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawCircle(FFFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawColor(I)V
-HSPLandroid/graphics/Canvas;->drawColor(ILandroid/graphics/PorterDuff$Mode;)V
-HSPLandroid/graphics/Canvas;->drawLine(FFFFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawOval(FFFFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawOval(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->drawPicture(Landroid/graphics/Picture;)V
-HSPLandroid/graphics/Canvas;->drawPicture(Landroid/graphics/Picture;Landroid/graphics/Rect;)V
-HSPLandroid/graphics/Canvas;->drawPicture(Landroid/graphics/Picture;Landroid/graphics/RectF;)V
 HSPLandroid/graphics/Canvas;->drawRect(FFFFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawRoundRect(FFFFFFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V
-HSPLandroid/graphics/Canvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
+HSPLandroid/graphics/Canvas;->drawText([CIIFFLandroid/graphics/Paint;)V
 HSPLandroid/graphics/Canvas;->getClipBounds(Landroid/graphics/Rect;)Z
 HSPLandroid/graphics/Canvas;->getDensity()I
 HSPLandroid/graphics/Canvas;->getHeight()I
-HSPLandroid/graphics/Canvas;->getMatrix()Landroid/graphics/Matrix;
-HSPLandroid/graphics/Canvas;->getMatrix(Landroid/graphics/Matrix;)V
 HSPLandroid/graphics/Canvas;->getNativeCanvasWrapper()J
 HSPLandroid/graphics/Canvas;->getSaveCount()I
 HSPLandroid/graphics/Canvas;->getWidth()I
+HSPLandroid/graphics/Canvas;->insertInorderBarrier()V
+HSPLandroid/graphics/Canvas;->insertReorderBarrier()V
 HSPLandroid/graphics/Canvas;->isHardwareAccelerated()Z
-HSPLandroid/graphics/Canvas;->isOpaque()Z
-HSPLandroid/graphics/Canvas;->isRecordingFor(Ljava/lang/Object;)Z
 HSPLandroid/graphics/Canvas;->quickReject(FFFFLandroid/graphics/Canvas$EdgeType;)Z
 HSPLandroid/graphics/Canvas;->restore()V
 HSPLandroid/graphics/Canvas;->restoreToCount(I)V
@@ -19966,40 +18332,33 @@
 HSPLandroid/graphics/Canvas;->rotate(FFF)V
 HSPLandroid/graphics/Canvas;->save()I
 HSPLandroid/graphics/Canvas;->save(I)I
-HSPLandroid/graphics/Canvas;->saveLayer(FFFFLandroid/graphics/Paint;I)I
-HSPLandroid/graphics/Canvas;->saveLayer(Landroid/graphics/RectF;Landroid/graphics/Paint;I)I
-HSPLandroid/graphics/Canvas;->saveLayerAlpha(FFFFI)I
-HSPLandroid/graphics/Canvas;->saveLayerAlpha(FFFFII)I
-HSPLandroid/graphics/Canvas;->saveLayerAlpha(Landroid/graphics/RectF;II)I
 HSPLandroid/graphics/Canvas;->scale(FF)V
 HSPLandroid/graphics/Canvas;->scale(FFFF)V
 HSPLandroid/graphics/Canvas;->setBitmap(Landroid/graphics/Bitmap;)V
 HSPLandroid/graphics/Canvas;->setCompatibilityVersion(I)V
-HSPLandroid/graphics/Canvas;->setDensity(I)V
 HSPLandroid/graphics/Canvas;->setDrawFilter(Landroid/graphics/DrawFilter;)V
 HSPLandroid/graphics/Canvas;->setMatrix(Landroid/graphics/Matrix;)V
-HSPLandroid/graphics/Canvas;->setScreenDensity(I)V
 HSPLandroid/graphics/Canvas;->translate(FF)V
 HSPLandroid/graphics/CanvasProperty;->getNativeContainer()J
-HSPLandroid/graphics/Color;->HSVToColor(I[F)I
 HSPLandroid/graphics/Color;->HSVToColor([F)I
-HSPLandroid/graphics/Color;->alpha()F
 HSPLandroid/graphics/Color;->alpha(I)I
+HSPLandroid/graphics/Color;->alpha(J)F
 HSPLandroid/graphics/Color;->argb(IIII)I
 HSPLandroid/graphics/Color;->blue(I)I
+HSPLandroid/graphics/Color;->blue(J)F
 HSPLandroid/graphics/Color;->colorToHSV(I[F)V
-HSPLandroid/graphics/Color;->getHtmlColor(Ljava/lang/String;)I
 HSPLandroid/graphics/Color;->green(I)I
+HSPLandroid/graphics/Color;->green(J)F
+HSPLandroid/graphics/Color;->pack(FFFFLandroid/graphics/ColorSpace;)J
 HSPLandroid/graphics/Color;->parseColor(Ljava/lang/String;)I
 HSPLandroid/graphics/Color;->red(I)I
+HSPLandroid/graphics/Color;->red(J)F
 HSPLandroid/graphics/Color;->rgb(III)I
 HSPLandroid/graphics/Color;->toArgb()I
+HSPLandroid/graphics/Color;->toArgb(J)I
 HSPLandroid/graphics/Color;->valueOf(I)Landroid/graphics/Color;
 HSPLandroid/graphics/ColorFilter;->access$000()J
-HSPLandroid/graphics/ColorFilter;->discardNativeInstance()V
 HSPLandroid/graphics/ColorFilter;->getNativeInstance()J
-HSPLandroid/graphics/ColorMatrix;-><init>()V
-HSPLandroid/graphics/ColorMatrix;->reset()V
 HSPLandroid/graphics/ColorSpace$Adaptation;-><init>(Ljava/lang/String;I[F)V
 HSPLandroid/graphics/ColorSpace$Lab;-><init>(Ljava/lang/String;ILandroid/graphics/ColorSpace$1;)V
 HSPLandroid/graphics/ColorSpace$Model;-><init>(Ljava/lang/String;II)V
@@ -20007,55 +18366,90 @@
 HSPLandroid/graphics/ColorSpace$Named;->values()[Landroid/graphics/ColorSpace$Named;
 HSPLandroid/graphics/ColorSpace$Rgb$TransferParameters;-><init>(DDDDD)V
 HSPLandroid/graphics/ColorSpace$Rgb$TransferParameters;-><init>(DDDDDDD)V
-HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Landroid/graphics/ColorSpace$Rgb;[F[F)V
-HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[FLandroid/graphics/ColorSpace$Rgb$TransferParameters;)V
 HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[FDFFI)V
 HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[FDFFILandroid/graphics/ColorSpace$1;)V
 HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[FLandroid/graphics/ColorSpace$Rgb$TransferParameters;I)V
 HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[FLandroid/graphics/ColorSpace$Rgb$TransferParameters;ILandroid/graphics/ColorSpace$1;)V
-HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[FLjava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;FFI)V
-HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[FLjava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;FFILandroid/graphics/ColorSpace$1;)V
+HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[F[FLjava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;FFLandroid/graphics/ColorSpace$Rgb$TransferParameters;I)V
+HSPLandroid/graphics/ColorSpace$Rgb;-><init>(Ljava/lang/String;[F[F[FLjava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;FFLandroid/graphics/ColorSpace$Rgb$TransferParameters;ILandroid/graphics/ColorSpace$1;)V
+HSPLandroid/graphics/ColorSpace$Rgb;->access$1400()J
 HSPLandroid/graphics/ColorSpace$Rgb;->area([F)F
-HSPLandroid/graphics/ColorSpace$Rgb;->computePrimaries([F)[F
-HSPLandroid/graphics/ColorSpace$Rgb;->computeWhitePoint([F)[F
 HSPLandroid/graphics/ColorSpace$Rgb;->computeXYZMatrix([F[F)[F
 HSPLandroid/graphics/ColorSpace$Rgb;->contains([F[F)Z
-HSPLandroid/graphics/ColorSpace$Rgb;->getWhitePoint()[F
+HSPLandroid/graphics/ColorSpace$Rgb;->getNativeInstance()J
 HSPLandroid/graphics/ColorSpace$Rgb;->isSrgb()Z
 HSPLandroid/graphics/ColorSpace$Rgb;->isSrgb([F[FLjava/util/function/DoubleUnaryOperator;Ljava/util/function/DoubleUnaryOperator;FFI)Z
 HSPLandroid/graphics/ColorSpace$Rgb;->isWideGamut([FFF)Z
 HSPLandroid/graphics/ColorSpace$Rgb;->xyPrimaries([F)[F
+HSPLandroid/graphics/ColorSpace$Rgb;->xyWhitePoint([F)[F
 HSPLandroid/graphics/ColorSpace$Xyz;-><init>(Ljava/lang/String;ILandroid/graphics/ColorSpace$1;)V
 HSPLandroid/graphics/ColorSpace;-><init>(Ljava/lang/String;Landroid/graphics/ColorSpace$Model;I)V
-HSPLandroid/graphics/ColorSpace;->adapt(Landroid/graphics/ColorSpace;[FLandroid/graphics/ColorSpace$Adaptation;)Landroid/graphics/ColorSpace;
+HSPLandroid/graphics/ColorSpace;-><init>(Ljava/lang/String;Landroid/graphics/ColorSpace$Model;ILandroid/graphics/ColorSpace$1;)V
+HSPLandroid/graphics/ColorSpace;->access$1200([F)[F
+HSPLandroid/graphics/ColorSpace;->access$1300([F[F)[F
 HSPLandroid/graphics/ColorSpace;->chromaticAdaptation([F[F[F)[F
-HSPLandroid/graphics/ColorSpace;->compare(Landroid/graphics/ColorSpace$Rgb$TransferParameters;Landroid/graphics/ColorSpace$Rgb$TransferParameters;)Z
 HSPLandroid/graphics/ColorSpace;->compare([F[F)Z
+HSPLandroid/graphics/ColorSpace;->get(I)Landroid/graphics/ColorSpace;
 HSPLandroid/graphics/ColorSpace;->get(Landroid/graphics/ColorSpace$Named;)Landroid/graphics/ColorSpace;
-HSPLandroid/graphics/ColorSpace;->getModel()Landroid/graphics/ColorSpace$Model;
-HSPLandroid/graphics/ColorSpace;->getName()Ljava/lang/String;
+HSPLandroid/graphics/ColorSpace;->getId()I
 HSPLandroid/graphics/ColorSpace;->inverse3x3([F)[F
-HSPLandroid/graphics/ColorSpace;->match([FLandroid/graphics/ColorSpace$Rgb$TransferParameters;)Landroid/graphics/ColorSpace;
 HSPLandroid/graphics/ColorSpace;->mul3x3([F[F)[F
 HSPLandroid/graphics/ColorSpace;->mul3x3Diag([F[F)[F
 HSPLandroid/graphics/ColorSpace;->mul3x3Float3([F[F)[F
 HSPLandroid/graphics/ColorSpace;->rcpResponse(DDDDDD)D
 HSPLandroid/graphics/ColorSpace;->response(DDDDDD)D
 HSPLandroid/graphics/FontFamily;-><init>()V
-HSPLandroid/graphics/FontFamily;-><init>([Ljava/lang/String;I)V
-HSPLandroid/graphics/FontFamily;->addFont(Ljava/lang/String;I[Landroid/graphics/fonts/FontVariationAxis;II)Z
-HSPLandroid/graphics/FontFamily;->addFontFromAssetManager(Landroid/content/res/AssetManager;Ljava/lang/String;IZIII[Landroid/graphics/fonts/FontVariationAxis;)Z
 HSPLandroid/graphics/FontFamily;->addFontFromBuffer(Ljava/nio/ByteBuffer;I[Landroid/graphics/fonts/FontVariationAxis;II)Z
 HSPLandroid/graphics/FontFamily;->freeze()Z
-HSPLandroid/graphics/FontListParser;->parse(Ljava/io/InputStream;)Landroid/text/FontConfig;
+HSPLandroid/graphics/FontListParser;->parse(Ljava/io/InputStream;Ljava/lang/String;)Landroid/text/FontConfig;
 HSPLandroid/graphics/FontListParser;->readAlias(Lorg/xmlpull/v1/XmlPullParser;)Landroid/text/FontConfig$Alias;
-HSPLandroid/graphics/FontListParser;->readFamilies(Lorg/xmlpull/v1/XmlPullParser;)Landroid/text/FontConfig;
-HSPLandroid/graphics/FontListParser;->readFamily(Lorg/xmlpull/v1/XmlPullParser;)Landroid/text/FontConfig$Family;
-HSPLandroid/graphics/FontListParser;->readFont(Lorg/xmlpull/v1/XmlPullParser;)Landroid/text/FontConfig$Font;
+HSPLandroid/graphics/FontListParser;->readFamilies(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/text/FontConfig;
+HSPLandroid/graphics/FontListParser;->readFamily(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/text/FontConfig$Family;
+HSPLandroid/graphics/FontListParser;->readFont(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/text/FontConfig$Font;
+HSPLandroid/graphics/FrameInfo;-><init>()V
+HSPLandroid/graphics/FrameInfo;->addFlags(J)V
+HSPLandroid/graphics/FrameInfo;->markAnimationsStart()V
+HSPLandroid/graphics/FrameInfo;->markDrawStart()V
+HSPLandroid/graphics/FrameInfo;->markInputHandlingStart()V
+HSPLandroid/graphics/FrameInfo;->markPerformTraversalsStart()V
+HSPLandroid/graphics/FrameInfo;->setVsync(JJ)V
+HSPLandroid/graphics/FrameInfo;->updateInputEventTime(JJ)V
 HSPLandroid/graphics/GraphicBuffer$1;-><init>()V
-HSPLandroid/graphics/GraphicBuffer$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/GraphicBuffer;
-HSPLandroid/graphics/GraphicBuffer$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/graphics/GraphicBuffer;->finalize()V
+HSPLandroid/graphics/HardwareRenderer$ProcessInitializer;-><init>()V
+HSPLandroid/graphics/HardwareRenderer$ProcessInitializer;->init(J)V
+HSPLandroid/graphics/HardwareRenderer$ProcessInitializer;->initGraphicsStats()V
+HSPLandroid/graphics/HardwareRenderer$ProcessInitializer;->initSched(J)V
+HSPLandroid/graphics/HardwareRenderer$ProcessInitializer;->requestBuffer()V
+HSPLandroid/graphics/HardwareRenderer$ProcessInitializer;->setPackageName(Ljava/lang/String;)V
+HSPLandroid/graphics/HardwareRenderer;-><init>()V
+HSPLandroid/graphics/HardwareRenderer;->allocateBuffers()V
+HSPLandroid/graphics/HardwareRenderer;->buildLayer(Landroid/graphics/RenderNode;)V
+HSPLandroid/graphics/HardwareRenderer;->clearContent()V
+HSPLandroid/graphics/HardwareRenderer;->destroy()V
+HSPLandroid/graphics/HardwareRenderer;->destroyHardwareResources()V
+HSPLandroid/graphics/HardwareRenderer;->fence()V
+HSPLandroid/graphics/HardwareRenderer;->loadSystemProperties()Z
+HSPLandroid/graphics/HardwareRenderer;->notifyFramePending()V
+HSPLandroid/graphics/HardwareRenderer;->pause()Z
+HSPLandroid/graphics/HardwareRenderer;->registerAnimatingRenderNode(Landroid/graphics/RenderNode;)V
+HSPLandroid/graphics/HardwareRenderer;->setDebuggingEnabled(Z)V
+HSPLandroid/graphics/HardwareRenderer;->setFPSDivisor(I)V
+HSPLandroid/graphics/HardwareRenderer;->setForceDark(Z)Z
+HSPLandroid/graphics/HardwareRenderer;->setFrameCompleteCallback(Landroid/graphics/HardwareRenderer$FrameCompleteCallback;)V
+HSPLandroid/graphics/HardwareRenderer;->setHighContrastText(Z)V
+HSPLandroid/graphics/HardwareRenderer;->setLightSourceAlpha(FF)V
+HSPLandroid/graphics/HardwareRenderer;->setLightSourceGeometry(FFFF)V
+HSPLandroid/graphics/HardwareRenderer;->setName(Ljava/lang/String;)V
+HSPLandroid/graphics/HardwareRenderer;->setOpaque(Z)V
+HSPLandroid/graphics/HardwareRenderer;->setPackageName(Ljava/lang/String;)V
+HSPLandroid/graphics/HardwareRenderer;->setStopped(Z)V
+HSPLandroid/graphics/HardwareRenderer;->setSurface(Landroid/view/Surface;)V
+HSPLandroid/graphics/HardwareRenderer;->setWideGamut(Z)V
+HSPLandroid/graphics/HardwareRenderer;->syncAndDrawFrame(Landroid/graphics/FrameInfo;)I
+HSPLandroid/graphics/HardwareRenderer;->trimMemory(I)V
+HSPLandroid/graphics/HardwareRenderer;->validateAlpha(FLjava/lang/String;)V
+HSPLandroid/graphics/HardwareRenderer;->validateFinite(FLjava/lang/String;)V
+HSPLandroid/graphics/HardwareRenderer;->validatePositive(FLjava/lang/String;)V
 HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;-><init>(Landroid/content/res/AssetManager$AssetInputStream;Landroid/content/res/Resources;Landroid/util/TypedValue;)V
 HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->createImageDecoder()Landroid/graphics/ImageDecoder;
 HSPLandroid/graphics/ImageDecoder$AssetInputStreamSource;->getDensity()I
@@ -20063,8 +18457,6 @@
 HSPLandroid/graphics/ImageDecoder$InputStreamSource;->createImageDecoder()Landroid/graphics/ImageDecoder;
 HSPLandroid/graphics/ImageDecoder$InputStreamSource;->getDensity()I
 HSPLandroid/graphics/ImageDecoder$InputStreamSource;->getResources()Landroid/content/res/Resources;
-HSPLandroid/graphics/ImageDecoder$OnHeaderDecodedListener;->onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V
-HSPLandroid/graphics/ImageDecoder$Source;->createImageDecoder()Landroid/graphics/ImageDecoder;
 HSPLandroid/graphics/ImageDecoder;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
 HSPLandroid/graphics/ImageDecoder;-><init>(JIIZZ)V
 HSPLandroid/graphics/ImageDecoder;->callHeaderDecoded(Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;Landroid/graphics/ImageDecoder$Source;)V
@@ -20083,26 +18475,27 @@
 HSPLandroid/graphics/ImageDecoder;->decodeDrawableImpl(Landroid/graphics/ImageDecoder$Source;Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/ImageDecoder;->finalize()V
 HSPLandroid/graphics/ImageDecoder;->setTargetSize(II)V
+HSPLandroid/graphics/Insets$1;-><init>()V
 HSPLandroid/graphics/Insets;-><init>(IIII)V
+HSPLandroid/graphics/Insets;->equals(Ljava/lang/Object;)Z
+HSPLandroid/graphics/Insets;->max(Landroid/graphics/Insets;Landroid/graphics/Insets;)Landroid/graphics/Insets;
+HSPLandroid/graphics/Insets;->of(IIII)Landroid/graphics/Insets;
 HSPLandroid/graphics/Interpolator$Result;-><init>(Ljava/lang/String;I)V
 HSPLandroid/graphics/Interpolator;-><init>(II)V
-HSPLandroid/graphics/Interpolator;->finalize()V
 HSPLandroid/graphics/Interpolator;->setKeyFrame(II[F)V
 HSPLandroid/graphics/Interpolator;->setKeyFrame(II[F[F)V
 HSPLandroid/graphics/Interpolator;->timeToValues(I[F)Landroid/graphics/Interpolator$Result;
 HSPLandroid/graphics/Interpolator;->timeToValues([F)Landroid/graphics/Interpolator$Result;
-HSPLandroid/graphics/LeakyTypefaceStorage;->writeTypefaceToParcel(Landroid/graphics/Typeface;Landroid/os/Parcel;)V
-HSPLandroid/graphics/LightingColorFilter;-><init>(II)V
-HSPLandroid/graphics/LightingColorFilter;->createNativeInstance()J
+HSPLandroid/graphics/LinearGradient;-><init>(FFFFIILandroid/graphics/Shader$TileMode;)V
 HSPLandroid/graphics/LinearGradient;-><init>(FFFF[I[FLandroid/graphics/Shader$TileMode;)V
+HSPLandroid/graphics/LinearGradient;-><init>(FFFF[J[FLandroid/graphics/Shader$TileMode;)V
+HSPLandroid/graphics/LinearGradient;-><init>(FFFF[J[FLandroid/graphics/Shader$TileMode;Landroid/graphics/ColorSpace;)V
 HSPLandroid/graphics/LinearGradient;->createNativeInstance(J)J
-HSPLandroid/graphics/MaskFilter;->finalize()V
 HSPLandroid/graphics/Matrix$1;-><init>()V
 HSPLandroid/graphics/Matrix$ScaleToFit;-><init>(Ljava/lang/String;II)V
 HSPLandroid/graphics/Matrix;-><init>()V
 HSPLandroid/graphics/Matrix;-><init>(Landroid/graphics/Matrix;)V
 HSPLandroid/graphics/Matrix;->access$000()J
-HSPLandroid/graphics/Matrix;->checkPointArrays([FI[FII)V
 HSPLandroid/graphics/Matrix;->equals(Ljava/lang/Object;)Z
 HSPLandroid/graphics/Matrix;->getValues([F)V
 HSPLandroid/graphics/Matrix;->invert(Landroid/graphics/Matrix;)Z
@@ -20111,21 +18504,17 @@
 HSPLandroid/graphics/Matrix;->mapPoints([FI[FII)V
 HSPLandroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;)Z
 HSPLandroid/graphics/Matrix;->mapRect(Landroid/graphics/RectF;Landroid/graphics/RectF;)Z
-HSPLandroid/graphics/Matrix;->postConcat(Landroid/graphics/Matrix;)Z
-HSPLandroid/graphics/Matrix;->postRotate(F)Z
-HSPLandroid/graphics/Matrix;->postScale(FF)Z
 HSPLandroid/graphics/Matrix;->postScale(FFFF)Z
 HSPLandroid/graphics/Matrix;->postTranslate(FF)Z
 HSPLandroid/graphics/Matrix;->preConcat(Landroid/graphics/Matrix;)Z
 HSPLandroid/graphics/Matrix;->preRotate(F)Z
-HSPLandroid/graphics/Matrix;->preRotate(FFF)Z
 HSPLandroid/graphics/Matrix;->preScale(FF)Z
 HSPLandroid/graphics/Matrix;->preTranslate(FF)Z
 HSPLandroid/graphics/Matrix;->rectStaysRect()Z
 HSPLandroid/graphics/Matrix;->reset()V
 HSPLandroid/graphics/Matrix;->set(Landroid/graphics/Matrix;)V
 HSPLandroid/graphics/Matrix;->setRectToRect(Landroid/graphics/RectF;Landroid/graphics/RectF;Landroid/graphics/Matrix$ScaleToFit;)Z
-HSPLandroid/graphics/Matrix;->setRotate(FFF)V
+HSPLandroid/graphics/Matrix;->setRotate(F)V
 HSPLandroid/graphics/Matrix;->setScale(FF)V
 HSPLandroid/graphics/Matrix;->setScale(FFFF)V
 HSPLandroid/graphics/Matrix;->setTranslate(FF)V
@@ -20142,79 +18531,65 @@
 HSPLandroid/graphics/Outline;->setConvexPath(Landroid/graphics/Path;)V
 HSPLandroid/graphics/Outline;->setEmpty()V
 HSPLandroid/graphics/Outline;->setOval(IIII)V
-HSPLandroid/graphics/Outline;->setOval(Landroid/graphics/Rect;)V
 HSPLandroid/graphics/Outline;->setRect(IIII)V
 HSPLandroid/graphics/Outline;->setRoundRect(IIIIF)V
 HSPLandroid/graphics/Outline;->setRoundRect(Landroid/graphics/Rect;F)V
 HSPLandroid/graphics/Paint$Align;-><init>(Ljava/lang/String;II)V
-HSPLandroid/graphics/Paint$Align;->values()[Landroid/graphics/Paint$Align;
 HSPLandroid/graphics/Paint$Cap;-><init>(Ljava/lang/String;II)V
-HSPLandroid/graphics/Paint$FontMetricsInt;-><init>()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
 HSPLandroid/graphics/Paint;-><init>(I)V
 HSPLandroid/graphics/Paint;-><init>(Landroid/graphics/Paint;)V
 HSPLandroid/graphics/Paint;->access$000()J
-HSPLandroid/graphics/Paint;->ascent()F
-HSPLandroid/graphics/Paint;->clearShadowLayer()V
-HSPLandroid/graphics/Paint;->descent()F
 HSPLandroid/graphics/Paint;->getAlpha()I
 HSPLandroid/graphics/Paint;->getColor()I
 HSPLandroid/graphics/Paint;->getColorFilter()Landroid/graphics/ColorFilter;
 HSPLandroid/graphics/Paint;->getFlags()I
 HSPLandroid/graphics/Paint;->getFontFeatureSettings()Ljava/lang/String;
-HSPLandroid/graphics/Paint;->getFontMetrics()Landroid/graphics/Paint$FontMetrics;
 HSPLandroid/graphics/Paint;->getFontMetrics(Landroid/graphics/Paint$FontMetrics;)F
 HSPLandroid/graphics/Paint;->getFontMetricsInt()Landroid/graphics/Paint$FontMetricsInt;
 HSPLandroid/graphics/Paint;->getFontMetricsInt(Landroid/graphics/Paint$FontMetricsInt;)I
-HSPLandroid/graphics/Paint;->getFontSpacing()F
+HSPLandroid/graphics/Paint;->getFontVariationSettings()Ljava/lang/String;
 HSPLandroid/graphics/Paint;->getHinting()I
 HSPLandroid/graphics/Paint;->getHyphenEdit()I
 HSPLandroid/graphics/Paint;->getLetterSpacing()F
+HSPLandroid/graphics/Paint;->getMaskFilter()Landroid/graphics/MaskFilter;
 HSPLandroid/graphics/Paint;->getNativeInstance()J
 HSPLandroid/graphics/Paint;->getRunAdvance(Ljava/lang/CharSequence;IIIIZI)F
 HSPLandroid/graphics/Paint;->getRunAdvance([CIIIIZI)F
 HSPLandroid/graphics/Paint;->getShader()Landroid/graphics/Shader;
-HSPLandroid/graphics/Paint;->getStrokeCap()Landroid/graphics/Paint$Cap;
-HSPLandroid/graphics/Paint;->getStrokeJoin()Landroid/graphics/Paint$Join;
-HSPLandroid/graphics/Paint;->getStrokeMiter()F
+HSPLandroid/graphics/Paint;->getShadowLayerColor()I
+HSPLandroid/graphics/Paint;->getShadowLayerDx()F
+HSPLandroid/graphics/Paint;->getShadowLayerDy()F
+HSPLandroid/graphics/Paint;->getShadowLayerRadius()F
 HSPLandroid/graphics/Paint;->getStrokeWidth()F
 HSPLandroid/graphics/Paint;->getStyle()Landroid/graphics/Paint$Style;
-HSPLandroid/graphics/Paint;->getTextAlign()Landroid/graphics/Paint$Align;
 HSPLandroid/graphics/Paint;->getTextBounds(Ljava/lang/CharSequence;IILandroid/graphics/Rect;)V
 HSPLandroid/graphics/Paint;->getTextBounds(Ljava/lang/String;IILandroid/graphics/Rect;)V
 HSPLandroid/graphics/Paint;->getTextBounds([CIILandroid/graphics/Rect;)V
 HSPLandroid/graphics/Paint;->getTextLocale()Ljava/util/Locale;
 HSPLandroid/graphics/Paint;->getTextLocales()Landroid/os/LocaleList;
-HSPLandroid/graphics/Paint;->getTextPath(Ljava/lang/String;IIFFLandroid/graphics/Path;)V
 HSPLandroid/graphics/Paint;->getTextRunAdvances([CIIIIZ[FI)F
 HSPLandroid/graphics/Paint;->getTextScaleX()F
 HSPLandroid/graphics/Paint;->getTextSize()F
-HSPLandroid/graphics/Paint;->getTextSkewX()F
-HSPLandroid/graphics/Paint;->getTextWidths(Ljava/lang/String;II[F)I
-HSPLandroid/graphics/Paint;->getTextWidths(Ljava/lang/String;[F)I
 HSPLandroid/graphics/Paint;->getTypeface()Landroid/graphics/Typeface;
-HSPLandroid/graphics/Paint;->getUnderlinePosition()F
-HSPLandroid/graphics/Paint;->getUnderlineThickness()F
-HSPLandroid/graphics/Paint;->getWordSpacing()F
 HSPLandroid/graphics/Paint;->getXfermode()Landroid/graphics/Xfermode;
-HSPLandroid/graphics/Paint;->hasEqualAttributes(Landroid/graphics/Paint;)Z
-HSPLandroid/graphics/Paint;->isAntiAlias()Z
+HSPLandroid/graphics/Paint;->hasGlyph(Ljava/lang/String;)Z
 HSPLandroid/graphics/Paint;->isElegantTextHeight()Z
-HSPLandroid/graphics/Paint;->isLinearText()Z
 HSPLandroid/graphics/Paint;->isStrikeThruText()Z
 HSPLandroid/graphics/Paint;->isUnderlineText()Z
-HSPLandroid/graphics/Paint;->measureText(Ljava/lang/CharSequence;II)F
 HSPLandroid/graphics/Paint;->measureText(Ljava/lang/String;)F
 HSPLandroid/graphics/Paint;->measureText(Ljava/lang/String;II)F
-HSPLandroid/graphics/Paint;->measureText([CII)F
 HSPLandroid/graphics/Paint;->reset()V
 HSPLandroid/graphics/Paint;->set(Landroid/graphics/Paint;)V
 HSPLandroid/graphics/Paint;->setAlpha(I)V
 HSPLandroid/graphics/Paint;->setAntiAlias(Z)V
+HSPLandroid/graphics/Paint;->setBlendMode(Landroid/graphics/BlendMode;)V
 HSPLandroid/graphics/Paint;->setClassVariablesFrom(Landroid/graphics/Paint;)V
 HSPLandroid/graphics/Paint;->setColor(I)V
+HSPLandroid/graphics/Paint;->setColor(J)V
 HSPLandroid/graphics/Paint;->setColorFilter(Landroid/graphics/ColorFilter;)Landroid/graphics/ColorFilter;
 HSPLandroid/graphics/Paint;->setCompatibilityScaling(F)V
 HSPLandroid/graphics/Paint;->setDither(Z)V
@@ -20222,19 +18597,13 @@
 HSPLandroid/graphics/Paint;->setFakeBoldText(Z)V
 HSPLandroid/graphics/Paint;->setFilterBitmap(Z)V
 HSPLandroid/graphics/Paint;->setFlags(I)V
-HSPLandroid/graphics/Paint;->setFontFeatureSettings(Ljava/lang/String;)V
-HSPLandroid/graphics/Paint;->setHinting(I)V
 HSPLandroid/graphics/Paint;->setHyphenEdit(I)V
 HSPLandroid/graphics/Paint;->setLetterSpacing(F)V
-HSPLandroid/graphics/Paint;->setLinearText(Z)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
-HSPLandroid/graphics/Paint;->setStrikeThruText(Z)V
+HSPLandroid/graphics/Paint;->setShadowLayer(FFFJ)V
 HSPLandroid/graphics/Paint;->setStrokeCap(Landroid/graphics/Paint$Cap;)V
-HSPLandroid/graphics/Paint;->setStrokeJoin(Landroid/graphics/Paint$Join;)V
-HSPLandroid/graphics/Paint;->setStrokeMiter(F)V
 HSPLandroid/graphics/Paint;->setStrokeWidth(F)V
 HSPLandroid/graphics/Paint;->setStyle(Landroid/graphics/Paint$Style;)V
 HSPLandroid/graphics/Paint;->setTextAlign(Landroid/graphics/Paint$Align;)V
@@ -20243,63 +18612,34 @@
 HSPLandroid/graphics/Paint;->setTextSize(F)V
 HSPLandroid/graphics/Paint;->setTextSkewX(F)V
 HSPLandroid/graphics/Paint;->setTypeface(Landroid/graphics/Typeface;)Landroid/graphics/Typeface;
-HSPLandroid/graphics/Paint;->setUnderlineText(Z)V
-HSPLandroid/graphics/Paint;->setWordSpacing(F)V
 HSPLandroid/graphics/Paint;->setXfermode(Landroid/graphics/Xfermode;)Landroid/graphics/Xfermode;
 HSPLandroid/graphics/Paint;->syncTextLocalesWithMinikin()V
 HSPLandroid/graphics/PaintFlagsDrawFilter;-><init>(II)V
 HSPLandroid/graphics/Path$Direction;-><init>(Ljava/lang/String;II)V
 HSPLandroid/graphics/Path$FillType;-><init>(Ljava/lang/String;II)V
-HSPLandroid/graphics/Path$Op;-><init>(Ljava/lang/String;I)V
 HSPLandroid/graphics/Path;-><init>()V
-HSPLandroid/graphics/Path;->addCircle(FFFLandroid/graphics/Path$Direction;)V
-HSPLandroid/graphics/Path;->addOval(FFFFLandroid/graphics/Path$Direction;)V
-HSPLandroid/graphics/Path;->addPath(Landroid/graphics/Path;)V
-HSPLandroid/graphics/Path;->addPath(Landroid/graphics/Path;Landroid/graphics/Matrix;)V
-HSPLandroid/graphics/Path;->addRect(FFFFLandroid/graphics/Path$Direction;)V
-HSPLandroid/graphics/Path;->addRoundRect(FFFFFFLandroid/graphics/Path$Direction;)V
+HSPLandroid/graphics/Path;-><init>(Landroid/graphics/Path;)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
+HSPLandroid/graphics/Path;->arcTo(FFFFFFZ)V
+HSPLandroid/graphics/Path;->arcTo(Landroid/graphics/RectF;FFZ)V
 HSPLandroid/graphics/Path;->close()V
 HSPLandroid/graphics/Path;->computeBounds(Landroid/graphics/RectF;Z)V
 HSPLandroid/graphics/Path;->cubicTo(FFFFFF)V
-HSPLandroid/graphics/Path;->detectSimplePath(FFFFLandroid/graphics/Path$Direction;)V
 HSPLandroid/graphics/Path;->getFillType()Landroid/graphics/Path$FillType;
 HSPLandroid/graphics/Path;->isConvex()Z
 HSPLandroid/graphics/Path;->isEmpty()Z
 HSPLandroid/graphics/Path;->lineTo(FF)V
 HSPLandroid/graphics/Path;->moveTo(FF)V
 HSPLandroid/graphics/Path;->offset(FF)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;->rLineTo(FF)V
-HSPLandroid/graphics/Path;->rMoveTo(FF)V
 HSPLandroid/graphics/Path;->reset()V
 HSPLandroid/graphics/Path;->rewind()V
 HSPLandroid/graphics/Path;->set(Landroid/graphics/Path;)V
 HSPLandroid/graphics/Path;->setFillType(Landroid/graphics/Path$FillType;)V
 HSPLandroid/graphics/Path;->transform(Landroid/graphics/Matrix;)V
 HSPLandroid/graphics/Path;->transform(Landroid/graphics/Matrix;Landroid/graphics/Path;)V
-HSPLandroid/graphics/PathDashPathEffect$Style;-><init>(Ljava/lang/String;II)V
-HSPLandroid/graphics/PathDashPathEffect;-><init>(Landroid/graphics/Path;FFLandroid/graphics/PathDashPathEffect$Style;)V
-HSPLandroid/graphics/PathEffect;->finalize()V
-HSPLandroid/graphics/PathMeasure;-><init>()V
-HSPLandroid/graphics/PathMeasure;-><init>(Landroid/graphics/Path;Z)V
-HSPLandroid/graphics/PathMeasure;->finalize()V
-HSPLandroid/graphics/PathMeasure;->getLength()F
-HSPLandroid/graphics/PathMeasure;->getPosTan(F[F[F)Z
-HSPLandroid/graphics/Picture;-><init>()V
-HSPLandroid/graphics/Picture;->beginRecording(II)Landroid/graphics/Canvas;
-HSPLandroid/graphics/Picture;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/graphics/Picture;->endRecording()V
-HSPLandroid/graphics/Picture;->finalize()V
-HSPLandroid/graphics/Picture;->getHeight()I
-HSPLandroid/graphics/Picture;->getWidth()I
-HSPLandroid/graphics/Picture;->requiresHardwareAcceleration()Z
-HSPLandroid/graphics/PixelFormat;-><init>()V
 HSPLandroid/graphics/PixelFormat;->formatHasAlpha(I)Z
-HSPLandroid/graphics/PixelFormat;->getPixelFormatInfo(ILandroid/graphics/PixelFormat;)V
 HSPLandroid/graphics/Point$1;-><init>()V
 HSPLandroid/graphics/Point$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Point;
 HSPLandroid/graphics/Point$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -20310,32 +18650,31 @@
 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;->equals(FF)Z
-HSPLandroid/graphics/PointF;->equals(Ljava/lang/Object;)Z
-HSPLandroid/graphics/PointF;->length()F
 HSPLandroid/graphics/PointF;->length(FF)F
 HSPLandroid/graphics/PointF;->set(FF)V
-HSPLandroid/graphics/PointF;->set(Landroid/graphics/PointF;)V
 HSPLandroid/graphics/PorterDuff$Mode;-><init>(Ljava/lang/String;II)V
 HSPLandroid/graphics/PorterDuff;->intToMode(I)Landroid/graphics/PorterDuff$Mode;
 HSPLandroid/graphics/PorterDuffColorFilter;-><init>(ILandroid/graphics/PorterDuff$Mode;)V
 HSPLandroid/graphics/PorterDuffColorFilter;->createNativeInstance()J
-HSPLandroid/graphics/PorterDuffColorFilter;->equals(Ljava/lang/Object;)Z
 HSPLandroid/graphics/PorterDuffColorFilter;->getColor()I
 HSPLandroid/graphics/PorterDuffColorFilter;->getMode()Landroid/graphics/PorterDuff$Mode;
-HSPLandroid/graphics/PorterDuffColorFilter;->setColor(I)V
-HSPLandroid/graphics/PorterDuffColorFilter;->setMode(Landroid/graphics/PorterDuff$Mode;)V
 HSPLandroid/graphics/PorterDuffXfermode;-><init>(Landroid/graphics/PorterDuff$Mode;)V
-HSPLandroid/graphics/RadialGradient;-><init>(FFFIILandroid/graphics/Shader$TileMode;)V
 HSPLandroid/graphics/RadialGradient;-><init>(FFF[I[FLandroid/graphics/Shader$TileMode;)V
+HSPLandroid/graphics/RadialGradient;-><init>(FFF[J[FLandroid/graphics/Shader$TileMode;Landroid/graphics/ColorSpace;)V
 HSPLandroid/graphics/RadialGradient;->createNativeInstance(J)J
+HSPLandroid/graphics/RecordingCanvas;->disableZ()V
+HSPLandroid/graphics/RecordingCanvas;->drawRenderNode(Landroid/graphics/RenderNode;)V
+HSPLandroid/graphics/RecordingCanvas;->enableZ()V
+HSPLandroid/graphics/RecordingCanvas;->getWidth()I
+HSPLandroid/graphics/RecordingCanvas;->isHardwareAccelerated()Z
+HSPLandroid/graphics/RecordingCanvas;->isRecordingFor(Ljava/lang/Object;)Z
+HSPLandroid/graphics/RecordingCanvas;->obtain(Landroid/graphics/RenderNode;II)Landroid/graphics/RecordingCanvas;
+HSPLandroid/graphics/RecordingCanvas;->throwIfCannotDraw(Landroid/graphics/Bitmap;)V
 HSPLandroid/graphics/Rect$1;-><init>()V
 HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Landroid/graphics/Rect;
 HSPLandroid/graphics/Rect$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/graphics/Rect;-><init>()V
 HSPLandroid/graphics/Rect;-><init>(IIII)V
-HSPLandroid/graphics/Rect;-><init>(Landroid/graphics/Rect;)V
 HSPLandroid/graphics/Rect;->centerX()I
 HSPLandroid/graphics/Rect;->centerY()I
 HSPLandroid/graphics/Rect;->contains(II)Z
@@ -20343,43 +18682,36 @@
 HSPLandroid/graphics/Rect;->equals(Ljava/lang/Object;)Z
 HSPLandroid/graphics/Rect;->exactCenterX()F
 HSPLandroid/graphics/Rect;->exactCenterY()F
-HSPLandroid/graphics/Rect;->flattenToString()Ljava/lang/String;
 HSPLandroid/graphics/Rect;->height()I
-HSPLandroid/graphics/Rect;->inset(II)V
+HSPLandroid/graphics/Rect;->inset(Landroid/graphics/Insets;)V
 HSPLandroid/graphics/Rect;->inset(Landroid/graphics/Rect;)V
 HSPLandroid/graphics/Rect;->intersect(IIII)Z
 HSPLandroid/graphics/Rect;->intersect(Landroid/graphics/Rect;)Z
 HSPLandroid/graphics/Rect;->intersectUnchecked(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/Rect;->intersects(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
 HSPLandroid/graphics/Rect;->isEmpty()Z
 HSPLandroid/graphics/Rect;->offset(II)V
-HSPLandroid/graphics/Rect;->offsetTo(II)V
 HSPLandroid/graphics/Rect;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/graphics/Rect;->readFromProto(Landroid/util/proto/ProtoInputStream;J)V
 HSPLandroid/graphics/Rect;->scale(F)V
 HSPLandroid/graphics/Rect;->set(IIII)V
 HSPLandroid/graphics/Rect;->set(Landroid/graphics/Rect;)V
 HSPLandroid/graphics/Rect;->setEmpty()V
-HSPLandroid/graphics/Rect;->toShortString(Ljava/lang/StringBuilder;)Ljava/lang/String;
+HSPLandroid/graphics/Rect;->setIntersect(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
 HSPLandroid/graphics/Rect;->toString()Ljava/lang/String;
-HSPLandroid/graphics/Rect;->unflattenFromString(Ljava/lang/String;)Landroid/graphics/Rect;
 HSPLandroid/graphics/Rect;->union(IIII)V
 HSPLandroid/graphics/Rect;->width()I
 HSPLandroid/graphics/Rect;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/graphics/Rect;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
 HSPLandroid/graphics/RectF$1;-><init>()V
 HSPLandroid/graphics/RectF;-><init>()V
 HSPLandroid/graphics/RectF;-><init>(FFFF)V
 HSPLandroid/graphics/RectF;-><init>(Landroid/graphics/Rect;)V
 HSPLandroid/graphics/RectF;->centerX()F
 HSPLandroid/graphics/RectF;->centerY()F
-HSPLandroid/graphics/RectF;->equals(Ljava/lang/Object;)Z
 HSPLandroid/graphics/RectF;->height()F
 HSPLandroid/graphics/RectF;->inset(FF)V
-HSPLandroid/graphics/RectF;->intersect(FFFF)Z
-HSPLandroid/graphics/RectF;->isEmpty()Z
 HSPLandroid/graphics/RectF;->offset(FF)V
-HSPLandroid/graphics/RectF;->offsetTo(FF)V
 HSPLandroid/graphics/RectF;->round(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/RectF;->roundOut(Landroid/graphics/Rect;)V
 HSPLandroid/graphics/RectF;->set(FFFF)V
 HSPLandroid/graphics/RectF;->set(Landroid/graphics/Rect;)V
 HSPLandroid/graphics/RectF;->set(Landroid/graphics/RectF;)V
@@ -20394,7 +18726,9 @@
 HSPLandroid/graphics/Region;-><init>()V
 HSPLandroid/graphics/Region;->equals(Ljava/lang/Object;)Z
 HSPLandroid/graphics/Region;->finalize()V
+HSPLandroid/graphics/Region;->obtain()Landroid/graphics/Region;
 HSPLandroid/graphics/Region;->op(IIIILandroid/graphics/Region$Op;)Z
+HSPLandroid/graphics/Region;->op(Landroid/graphics/Rect;Landroid/graphics/Region$Op;)Z
 HSPLandroid/graphics/Region;->op(Landroid/graphics/Region;Landroid/graphics/Region$Op;)Z
 HSPLandroid/graphics/Region;->op(Landroid/graphics/Region;Landroid/graphics/Region;Landroid/graphics/Region$Op;)Z
 HSPLandroid/graphics/Region;->set(IIII)Z
@@ -20402,46 +18736,89 @@
 HSPLandroid/graphics/Region;->set(Landroid/graphics/Region;)Z
 HSPLandroid/graphics/Region;->setEmpty()V
 HSPLandroid/graphics/Region;->translate(II)V
+HSPLandroid/graphics/Region;->union(Landroid/graphics/Rect;)Z
 HSPLandroid/graphics/Region;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/graphics/RenderNode;->access$000()J
+HSPLandroid/graphics/RenderNode;->addAnimator(Landroid/view/RenderNodeAnimator;)V
+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
+HSPLandroid/graphics/RenderNode;->end(Landroid/graphics/RecordingCanvas;)V
+HSPLandroid/graphics/RenderNode;->endRecording()V
+HSPLandroid/graphics/RenderNode;->getClipToOutline()Z
+HSPLandroid/graphics/RenderNode;->getElevation()F
+HSPLandroid/graphics/RenderNode;->getInverseMatrix(Landroid/graphics/Matrix;)V
+HSPLandroid/graphics/RenderNode;->getMatrix(Landroid/graphics/Matrix;)V
+HSPLandroid/graphics/RenderNode;->getPivotX()F
+HSPLandroid/graphics/RenderNode;->getPivotY()F
+HSPLandroid/graphics/RenderNode;->getRotation()F
+HSPLandroid/graphics/RenderNode;->getRotationX()F
+HSPLandroid/graphics/RenderNode;->getRotationY()F
+HSPLandroid/graphics/RenderNode;->getRotationZ()F
+HSPLandroid/graphics/RenderNode;->getScaleX()F
+HSPLandroid/graphics/RenderNode;->getScaleY()F
+HSPLandroid/graphics/RenderNode;->getTranslationX()F
+HSPLandroid/graphics/RenderNode;->getTranslationY()F
+HSPLandroid/graphics/RenderNode;->getTranslationZ()F
+HSPLandroid/graphics/RenderNode;->hasDisplayList()Z
+HSPLandroid/graphics/RenderNode;->hasIdentityMatrix()Z
+HSPLandroid/graphics/RenderNode;->isPivotExplicitlySet()Z
+HSPLandroid/graphics/RenderNode;->offsetTopAndBottom(I)Z
+HSPLandroid/graphics/RenderNode;->requestPositionUpdates(Landroid/graphics/RenderNode$PositionUpdateListener;)V
+HSPLandroid/graphics/RenderNode;->setAlpha(F)Z
+HSPLandroid/graphics/RenderNode;->setAnimationMatrix(Landroid/graphics/Matrix;)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
+HSPLandroid/graphics/RenderNode;->setHasOverlappingRendering(Z)Z
+HSPLandroid/graphics/RenderNode;->setLayerPaint(Landroid/graphics/Paint;)Z
+HSPLandroid/graphics/RenderNode;->setLayerType(I)Z
+HSPLandroid/graphics/RenderNode;->setLeft(I)Z
+HSPLandroid/graphics/RenderNode;->setLeftTopRightBottom(IIII)Z
+HSPLandroid/graphics/RenderNode;->setOutline(Landroid/graphics/Outline;)Z
+HSPLandroid/graphics/RenderNode;->setPivotX(F)Z
+HSPLandroid/graphics/RenderNode;->setPivotY(F)Z
+HSPLandroid/graphics/RenderNode;->setProjectBackwards(Z)Z
+HSPLandroid/graphics/RenderNode;->setProjectionReceiver(Z)Z
+HSPLandroid/graphics/RenderNode;->setRotation(F)Z
+HSPLandroid/graphics/RenderNode;->setScaleX(F)Z
+HSPLandroid/graphics/RenderNode;->setScaleY(F)Z
+HSPLandroid/graphics/RenderNode;->setTranslationX(F)Z
+HSPLandroid/graphics/RenderNode;->setTranslationY(F)Z
+HSPLandroid/graphics/RenderNode;->setTranslationZ(F)Z
+HSPLandroid/graphics/RenderNode;->setUsageHint(I)V
+HSPLandroid/graphics/RenderNode;->start(II)Landroid/graphics/RecordingCanvas;
+HSPLandroid/graphics/RenderNode;->startRecording(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;
+HSPLandroid/graphics/Shader;->convertColors([I)[J
+HSPLandroid/graphics/Shader;->detectColorSpace([J)Landroid/graphics/ColorSpace;
 HSPLandroid/graphics/Shader;->getNativeInstance()J
 HSPLandroid/graphics/Shader;->setLocalMatrix(Landroid/graphics/Matrix;)V
 HSPLandroid/graphics/Shader;->verifyNativeInstance()V
-HSPLandroid/graphics/SurfaceTexture$OnFrameAvailableListener;->onFrameAvailable(Landroid/graphics/SurfaceTexture;)V
-HSPLandroid/graphics/SurfaceTexture;-><init>(I)V
-HSPLandroid/graphics/SurfaceTexture;->detachFromGLContext()V
-HSPLandroid/graphics/SurfaceTexture;->isReleased()Z
-HSPLandroid/graphics/SurfaceTexture;->isSingleBuffered()Z
-HSPLandroid/graphics/SurfaceTexture;->release()V
-HSPLandroid/graphics/SurfaceTexture;->setDefaultBufferSize(II)V
-HSPLandroid/graphics/SurfaceTexture;->setOnFrameAvailableListener(Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;)V
-HSPLandroid/graphics/SurfaceTexture;->setOnFrameAvailableListener(Landroid/graphics/SurfaceTexture$OnFrameAvailableListener;Landroid/os/Handler;)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;
 HSPLandroid/graphics/Typeface;-><init>(J)V
-HSPLandroid/graphics/Typeface;->buildSystemFallback(Ljava/lang/String;Ljava/lang/String;Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V
 HSPLandroid/graphics/Typeface;->create(Landroid/graphics/Typeface;I)Landroid/graphics/Typeface;
 HSPLandroid/graphics/Typeface;->create(Ljava/lang/String;I)Landroid/graphics/Typeface;
-HSPLandroid/graphics/Typeface;->createFontFamily(Ljava/lang/String;Ljava/util/List;[Ljava/lang/String;ILjava/util/Map;Ljava/lang/String;)Landroid/graphics/FontFamily;
-HSPLandroid/graphics/Typeface;->createFromAsset(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;
-HSPLandroid/graphics/Typeface;->createFromFamiliesWithDefault([Landroid/graphics/FontFamily;II)Landroid/graphics/Typeface;
 HSPLandroid/graphics/Typeface;->createFromFamiliesWithDefault([Landroid/graphics/FontFamily;Ljava/lang/String;II)Landroid/graphics/Typeface;
-HSPLandroid/graphics/Typeface;->createFromFile(Ljava/io/File;)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;->equals(Ljava/lang/Object;)Z
 HSPLandroid/graphics/Typeface;->findFromCache(Landroid/content/res/AssetManager;Ljava/lang/String;)Landroid/graphics/Typeface;
 HSPLandroid/graphics/Typeface;->getStyle()I
-HSPLandroid/graphics/Typeface;->mmap(Ljava/lang/String;)Ljava/nio/ByteBuffer;
-HSPLandroid/graphics/Typeface;->pushFamilyToFallback(Landroid/text/FontConfig$Family;Landroid/util/ArrayMap;Ljava/util/Map;Ljava/lang/String;)V
+HSPLandroid/graphics/Typeface;->getSystemDefaultTypeface(Ljava/lang/String;)Landroid/graphics/Typeface;
+HSPLandroid/graphics/Typeface;->initSystemDefaultTypefaces(Ljava/util/Map;Ljava/util/Map;[Landroid/text/FontConfig$Alias;)V
+HSPLandroid/graphics/Typeface;->registerGenericFamilyNative(Ljava/lang/String;Landroid/graphics/Typeface;)V
 HSPLandroid/graphics/Typeface;->setDefault(Landroid/graphics/Typeface;)V
 HSPLandroid/graphics/drawable/-$$Lambda$BitmapDrawable$LMqt8JvxZ4giSOIRAtlCKDg39Jw;-><init>()V
 HSPLandroid/graphics/drawable/-$$Lambda$BitmapDrawable$LMqt8JvxZ4giSOIRAtlCKDg39Jw;->onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V
-HSPLandroid/graphics/drawable/-$$Lambda$Drawable$wmqxcnFJRLY7tFDmv2eEGR5vtvU;-><init>()V
-HSPLandroid/graphics/drawable/-$$Lambda$Drawable$wmqxcnFJRLY7tFDmv2eEGR5vtvU;->onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V
+HSPLandroid/graphics/drawable/-$$Lambda$Drawable$KZt6g0-IxKV2yrq1V3HrWrb1kXg;-><init>()V
+HSPLandroid/graphics/drawable/-$$Lambda$Drawable$bbJz2VgQAwkXlE27mR8nPMYacEw;-><init>()V
+HSPLandroid/graphics/drawable/-$$Lambda$Drawable$bbJz2VgQAwkXlE27mR8nPMYacEw;->onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V
 HSPLandroid/graphics/drawable/-$$Lambda$NinePatchDrawable$yQvfm7FAkslD5wdGFysjgwt8cLE;->onHeaderDecoded(Landroid/graphics/ImageDecoder;Landroid/graphics/ImageDecoder$ImageInfo;Landroid/graphics/ImageDecoder$Source;)V
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;-><init>(Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;Landroid/graphics/drawable/AdaptiveIconDrawable;Landroid/content/res/Resources;)V
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;->canApplyTheme()Z
@@ -20449,41 +18826,31 @@
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable$LayerState;->canApplyTheme()Z
 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;-><init>(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->canApplyTheme()Z
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->createConstantState(Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;Landroid/content/res/Resources;)Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getBackground()Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getChangingConfigurations()I
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
-HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getForeground()Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getExtraInsetFraction()F
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->getIconMask()Landroid/graphics/Path;
 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;->mutate()Landroid/graphics/drawable/Drawable;
+HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->isStateful()Z
 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
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->updateLayerBoundsInternal(Landroid/graphics/Rect;)V
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->updateLayerFromTypedArray(Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/AdaptiveIconDrawable;->updateMaskBoundsInternal(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/AnimatedRotateDrawable$1;->run()V
-HSPLandroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;-><init>(Landroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;Landroid/content/res/Resources;)V
-HSPLandroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/AnimatedRotateDrawable;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/graphics/drawable/AnimatedRotateDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/AnimatedRotateDrawable;->setFramesCount(I)V
-HSPLandroid/graphics/drawable/AnimatedRotateDrawable;->setFramesDuration(I)V
-HSPLandroid/graphics/drawable/AnimatedRotateDrawable;->setVisible(ZZ)Z
-HSPLandroid/graphics/drawable/AnimatedRotateDrawable;->start()V
-HSPLandroid/graphics/drawable/AnimatedRotateDrawable;->stop()V
-HSPLandroid/graphics/drawable/AnimatedRotateDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-HSPLandroid/graphics/drawable/AnimatedRotateDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;-><init>(Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;Landroid/graphics/drawable/AnimatedStateListDrawable;Landroid/content/res/Resources;)V
 HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->addStateSet([ILandroid/graphics/drawable/Drawable;I)I
 HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;->addTransition(IILandroid/graphics/drawable/Drawable;Z)I
@@ -20495,11 +18862,11 @@
 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;->canReverse()Z
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->start()V
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimatedVectorDrawableTransition;->stop()V
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable$Transition;->start()V
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable$Transition;->stop()V
+HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;-><init>(Landroid/graphics/drawable/AnimationDrawable;ZZ)V
+HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;->start()V
+HSPLandroid/graphics/drawable/AnimatedStateListDrawable$AnimationDrawableTransition;->stop()V
+HSPLandroid/graphics/drawable/AnimatedStateListDrawable$FrameInterpolator;->getInterpolation(F)F
+HSPLandroid/graphics/drawable/AnimatedStateListDrawable$FrameInterpolator;->updateFrames(Landroid/graphics/drawable/AnimationDrawable;Z)I
 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;
@@ -20514,7 +18881,6 @@
 HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->parseTransition(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)I
 HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->selectTransition(I)Z
 HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->setConstantState(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;)V
-HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->setVisible(ZZ)Z
 HSPLandroid/graphics/drawable/AnimatedStateListDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable$1;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator;->newInstance(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)Landroid/animation/Animator;
@@ -20525,88 +18891,33 @@
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->getChangingConfigurations()I
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->inflatePendingAnimators(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->prepareLocalAnimator(I)Landroid/animation/Animator;
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;->prepareLocalAnimators(Landroid/animation/AnimatorSet;Landroid/content/res/Resources;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->canReverse()Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->end()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->init(Landroid/animation/AnimatorSet;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->isInfinite()Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->isRunning()Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->isStarted()Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->onDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->pause()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->removeListener(Landroid/animation/Animator$AnimatorListener;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->reset()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->resume()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->reverse()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->setListener(Landroid/animation/Animator$AnimatorListener;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;->start()V
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->callOnFinished(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;I)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->canReverse()Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createNativeChildAnimator(JJLandroid/animation/ObjectAnimator;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimator(Landroid/animation/ObjectAnimator;J)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForFullPath(Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VFullPath;J)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->createRTAnimatorForGroup([Landroid/animation/PropertyValuesHolder;Landroid/animation/ObjectAnimator;Landroid/graphics/drawable/VectorDrawable$VGroup;J)V
-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;->handlePendingAction(I)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->init(Landroid/animation/AnimatorSet;)V
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->isInfinite()Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->isRunning()Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->isStarted()Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->onDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->parseAnimatorSet(Landroid/animation/AnimatorSet;J)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->pause()V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->recordLastSeenTarget(Landroid/view/DisplayListCanvas;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;->start()V
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable;-><init>(Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;Landroid/content/res/Resources;)V
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->canApplyTheme()Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->canReverse()Z
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->clearMutated()V
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->containsSameValueType(Landroid/animation/PropertyValuesHolder;Landroid/util/Property;)Z
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->draw(Landroid/graphics/Canvas;)V
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->getChangingConfigurations()I
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->getIntrinsicHeight()I
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->getIntrinsicWidth()I
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->getOpacity()I
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->isRunning()Z
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->isStateful()Z
 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
 HSPLandroid/graphics/drawable/AnimatedVectorDrawable;->updateAnimatorProperty(Landroid/animation/Animator;Ljava/lang/String;Landroid/graphics/drawable/VectorDrawable;Z)V
 HSPLandroid/graphics/drawable/AnimationDrawable$AnimationState;->growArray(II)V
 HSPLandroid/graphics/drawable/AnimationDrawable$AnimationState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/AnimationDrawable;-><init>()V
-HSPLandroid/graphics/drawable/AnimationDrawable;->addFrame(Landroid/graphics/drawable/Drawable;I)V
 HSPLandroid/graphics/drawable/AnimationDrawable;->clearMutated()V
 HSPLandroid/graphics/drawable/AnimationDrawable;->cloneConstantState()Landroid/graphics/drawable/AnimationDrawable$AnimationState;
 HSPLandroid/graphics/drawable/AnimationDrawable;->cloneConstantState()Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;
 HSPLandroid/graphics/drawable/AnimationDrawable;->getDuration(I)I
-HSPLandroid/graphics/drawable/AnimationDrawable;->getFrame(I)Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/AnimationDrawable;->getNumberOfFrames()I
 HSPLandroid/graphics/drawable/AnimationDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
 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;->isOneShot()Z
-HSPLandroid/graphics/drawable/AnimationDrawable;->isRunning()Z
 HSPLandroid/graphics/drawable/AnimationDrawable;->mutate()Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/AnimationDrawable;->setConstantState(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;)V
 HSPLandroid/graphics/drawable/AnimationDrawable;->setFrame(IZZ)V
-HSPLandroid/graphics/drawable/AnimationDrawable;->setOneShot(Z)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
@@ -20617,11 +18928,11 @@
 HSPLandroid/graphics/drawable/BitmapDrawable;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
 HSPLandroid/graphics/drawable/BitmapDrawable;-><init>()V
 HSPLandroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/content/res/Resources;Landroid/graphics/Bitmap;)V
-HSPLandroid/graphics/drawable/BitmapDrawable;-><init>(Landroid/graphics/Bitmap;)V
+HSPLandroid/graphics/drawable/BitmapDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/BitmapDrawable;->canApplyTheme()Z
+HSPLandroid/graphics/drawable/BitmapDrawable;->clearMutated()V
 HSPLandroid/graphics/drawable/BitmapDrawable;->computeBitmapSize()V
 HSPLandroid/graphics/drawable/BitmapDrawable;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->getAlpha()I
 HSPLandroid/graphics/drawable/BitmapDrawable;->getBitmap()Landroid/graphics/Bitmap;
 HSPLandroid/graphics/drawable/BitmapDrawable;->getChangingConfigurations()I
 HSPLandroid/graphics/drawable/BitmapDrawable;->getColorFilter()Landroid/graphics/ColorFilter;
@@ -20629,36 +18940,29 @@
 HSPLandroid/graphics/drawable/BitmapDrawable;->getIntrinsicHeight()I
 HSPLandroid/graphics/drawable/BitmapDrawable;->getIntrinsicWidth()I
 HSPLandroid/graphics/drawable/BitmapDrawable;->getOpacity()I
+HSPLandroid/graphics/drawable/BitmapDrawable;->getOpticalInsets()Landroid/graphics/Insets;
 HSPLandroid/graphics/drawable/BitmapDrawable;->getOutline(Landroid/graphics/Outline;)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->getPaint()Landroid/graphics/Paint;
 HSPLandroid/graphics/drawable/BitmapDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/BitmapDrawable;->isStateful()Z
 HSPLandroid/graphics/drawable/BitmapDrawable;->mutate()Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/BitmapDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
 HSPLandroid/graphics/drawable/BitmapDrawable;->onStateChange([I)Z
 HSPLandroid/graphics/drawable/BitmapDrawable;->setAlpha(I)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->setAntiAlias(Z)V
 HSPLandroid/graphics/drawable/BitmapDrawable;->setAutoMirrored(Z)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->setBitmap(Landroid/graphics/Bitmap;)V
 HSPLandroid/graphics/drawable/BitmapDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
 HSPLandroid/graphics/drawable/BitmapDrawable;->setDither(Z)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->setFilterBitmap(Z)V
 HSPLandroid/graphics/drawable/BitmapDrawable;->setGravity(I)V
 HSPLandroid/graphics/drawable/BitmapDrawable;->setMipMap(Z)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->setTileModeXY(Landroid/graphics/Shader$TileMode;Landroid/graphics/Shader$TileMode;)V
 HSPLandroid/graphics/drawable/BitmapDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
 HSPLandroid/graphics/drawable/BitmapDrawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
-HSPLandroid/graphics/drawable/BitmapDrawable;->setXfermode(Landroid/graphics/Xfermode;)V
 HSPLandroid/graphics/drawable/BitmapDrawable;->updateDstRectAndInsetsIfDirty()V
-HSPLandroid/graphics/drawable/BitmapDrawable;->updateShaderMatrix(Landroid/graphics/Bitmap;Landroid/graphics/Paint;Landroid/graphics/Shader;Z)V
 HSPLandroid/graphics/drawable/BitmapDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;I)V
 HSPLandroid/graphics/drawable/BitmapDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/ClipDrawable$ClipState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/ClipDrawable;-><init>(Landroid/graphics/drawable/Drawable;II)V
+HSPLandroid/graphics/drawable/ClipDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/ClipDrawable;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/graphics/drawable/ClipDrawable;->getOpacity()I
 HSPLandroid/graphics/drawable/ClipDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/ClipDrawable;->onLevelChange(I)Z
+HSPLandroid/graphics/drawable/ClipDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
 HSPLandroid/graphics/drawable/ClipDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/ClipDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/ColorDrawable$ColorState;-><init>()V
@@ -20667,7 +18971,6 @@
 HSPLandroid/graphics/drawable/ColorDrawable$ColorState;->getChangingConfigurations()I
 HSPLandroid/graphics/drawable/ColorDrawable$ColorState;->newDrawable()Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/ColorDrawable$ColorState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/ColorDrawable;-><init>()V
 HSPLandroid/graphics/drawable/ColorDrawable;-><init>(I)V
 HSPLandroid/graphics/drawable/ColorDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/ColorDrawable;->canApplyTheme()Z
@@ -20676,6 +18979,7 @@
 HSPLandroid/graphics/drawable/ColorDrawable;->getAlpha()I
 HSPLandroid/graphics/drawable/ColorDrawable;->getChangingConfigurations()I
 HSPLandroid/graphics/drawable/ColorDrawable;->getColor()I
+HSPLandroid/graphics/drawable/ColorDrawable;->getColorFilter()Landroid/graphics/ColorFilter;
 HSPLandroid/graphics/drawable/ColorDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
 HSPLandroid/graphics/drawable/ColorDrawable;->getOpacity()I
 HSPLandroid/graphics/drawable/ColorDrawable;->getOutline(Landroid/graphics/Outline;)V
@@ -20690,8 +18994,8 @@
 HSPLandroid/graphics/drawable/Drawable$ConstantState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
 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;->clearMutated()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;
@@ -20710,26 +19014,21 @@
 HSPLandroid/graphics/drawable/Drawable;->getIntrinsicHeight()I
 HSPLandroid/graphics/drawable/Drawable;->getIntrinsicWidth()I
 HSPLandroid/graphics/drawable/Drawable;->getLayoutDirection()I
-HSPLandroid/graphics/drawable/Drawable;->getLevel()I
 HSPLandroid/graphics/drawable/Drawable;->getMinimumHeight()I
 HSPLandroid/graphics/drawable/Drawable;->getMinimumWidth()I
 HSPLandroid/graphics/drawable/Drawable;->getOutline(Landroid/graphics/Outline;)V
 HSPLandroid/graphics/drawable/Drawable;->getPadding(Landroid/graphics/Rect;)Z
 HSPLandroid/graphics/drawable/Drawable;->getState()[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;->invalidateSelf()V
 HSPLandroid/graphics/drawable/Drawable;->isProjected()Z
 HSPLandroid/graphics/drawable/Drawable;->isStateful()Z
 HSPLandroid/graphics/drawable/Drawable;->isVisible()Z
 HSPLandroid/graphics/drawable/Drawable;->jumpToCurrentState()V
-HSPLandroid/graphics/drawable/Drawable;->mutate()Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/Drawable;->obtainAttributes(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;[I)Landroid/content/res/TypedArray;
 HSPLandroid/graphics/drawable/Drawable;->onBoundsChange(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/Drawable;->onLevelChange(I)Z
 HSPLandroid/graphics/drawable/Drawable;->onStateChange([I)Z
 HSPLandroid/graphics/drawable/Drawable;->parseTintMode(ILandroid/graphics/PorterDuff$Mode;)Landroid/graphics/PorterDuff$Mode;
 HSPLandroid/graphics/drawable/Drawable;->resolveDensity(Landroid/content/res/Resources;I)I
-HSPLandroid/graphics/drawable/Drawable;->scheduleSelf(Ljava/lang/Runnable;J)V
 HSPLandroid/graphics/drawable/Drawable;->setAutoMirrored(Z)V
 HSPLandroid/graphics/drawable/Drawable;->setBounds(IIII)V
 HSPLandroid/graphics/drawable/Drawable;->setBounds(Landroid/graphics/Rect;)V
@@ -20737,17 +19036,15 @@
 HSPLandroid/graphics/drawable/Drawable;->setChangingConfigurations(I)V
 HSPLandroid/graphics/drawable/Drawable;->setColorFilter(ILandroid/graphics/PorterDuff$Mode;)V
 HSPLandroid/graphics/drawable/Drawable;->setDither(Z)V
-HSPLandroid/graphics/drawable/Drawable;->setFilterBitmap(Z)V
 HSPLandroid/graphics/drawable/Drawable;->setHotspot(FF)V
 HSPLandroid/graphics/drawable/Drawable;->setLayoutDirection(I)Z
 HSPLandroid/graphics/drawable/Drawable;->setLevel(I)Z
 HSPLandroid/graphics/drawable/Drawable;->setState([I)Z
 HSPLandroid/graphics/drawable/Drawable;->setTint(I)V
 HSPLandroid/graphics/drawable/Drawable;->setVisible(ZZ)Z
-HSPLandroid/graphics/drawable/Drawable;->setXfermode(Landroid/graphics/Xfermode;)V
-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
@@ -20759,7 +19056,6 @@
 HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->createAllFutures()V
 HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getChangingConfigurations()I
 HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getChild(I)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getChildren()[Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getConstantPadding()Landroid/graphics/Rect;
 HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->getOpacity()I
 HSPLandroid/graphics/drawable/DrawableContainer$DrawableContainerState;->invalidateCache()V
@@ -20770,7 +19066,6 @@
 HSPLandroid/graphics/drawable/DrawableContainer;->clearMutated()V
 HSPLandroid/graphics/drawable/DrawableContainer;->cloneConstantState()Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;
 HSPLandroid/graphics/drawable/DrawableContainer;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/graphics/drawable/DrawableContainer;->getAlpha()I
 HSPLandroid/graphics/drawable/DrawableContainer;->getChangingConfigurations()I
 HSPLandroid/graphics/drawable/DrawableContainer;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
 HSPLandroid/graphics/drawable/DrawableContainer;->getCurrent()Landroid/graphics/drawable/Drawable;
@@ -20796,12 +19091,12 @@
 HSPLandroid/graphics/drawable/DrawableContainer;->setAutoMirrored(Z)V
 HSPLandroid/graphics/drawable/DrawableContainer;->setColorFilter(Landroid/graphics/ColorFilter;)V
 HSPLandroid/graphics/drawable/DrawableContainer;->setConstantState(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;)V
+HSPLandroid/graphics/drawable/DrawableContainer;->setCurrentIndex(I)V
 HSPLandroid/graphics/drawable/DrawableContainer;->setDither(Z)V
-HSPLandroid/graphics/drawable/DrawableContainer;->setExitFadeDuration(I)V
 HSPLandroid/graphics/drawable/DrawableContainer;->setHotspot(FF)V
 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;
@@ -20825,19 +19120,17 @@
 HSPLandroid/graphics/drawable/DrawableWrapper;->getIntrinsicWidth()I
 HSPLandroid/graphics/drawable/DrawableWrapper;->getOpacity()I
 HSPLandroid/graphics/drawable/DrawableWrapper;->getPadding(Landroid/graphics/Rect;)Z
-HSPLandroid/graphics/drawable/DrawableWrapper;->hasFocusStateSpecified()Z
 HSPLandroid/graphics/drawable/DrawableWrapper;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/DrawableWrapper;->inflateChildDrawable(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/DrawableWrapper;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/graphics/drawable/DrawableWrapper;->isStateful()Z
 HSPLandroid/graphics/drawable/DrawableWrapper;->mutate()Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/DrawableWrapper;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
 HSPLandroid/graphics/drawable/DrawableWrapper;->onBoundsChange(Landroid/graphics/Rect;)V
 HSPLandroid/graphics/drawable/DrawableWrapper;->onStateChange([I)Z
+HSPLandroid/graphics/drawable/DrawableWrapper;->setAlpha(I)V
 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
@@ -20874,19 +19167,17 @@
 HSPLandroid/graphics/drawable/GradientDrawable;->isStateful()Z
 HSPLandroid/graphics/drawable/GradientDrawable;->mutate()Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/GradientDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/GradientDrawable;->onLevelChange(I)Z
 HSPLandroid/graphics/drawable/GradientDrawable;->onStateChange([I)Z
 HSPLandroid/graphics/drawable/GradientDrawable;->setAlpha(I)V
 HSPLandroid/graphics/drawable/GradientDrawable;->setColor(I)V
 HSPLandroid/graphics/drawable/GradientDrawable;->setColor(Landroid/content/res/ColorStateList;)V
 HSPLandroid/graphics/drawable/GradientDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
-HSPLandroid/graphics/drawable/GradientDrawable;->setColors([I)V
 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;->setGradientCenter(FF)V
 HSPLandroid/graphics/drawable/GradientDrawable;->setGradientRadius(F)V
 HSPLandroid/graphics/drawable/GradientDrawable;->setGradientType(I)V
-HSPLandroid/graphics/drawable/GradientDrawable;->setOrientation(Landroid/graphics/drawable/GradientDrawable$Orientation;)V
 HSPLandroid/graphics/drawable/GradientDrawable;->setShape(I)V
 HSPLandroid/graphics/drawable/GradientDrawable;->setStroke(II)V
 HSPLandroid/graphics/drawable/GradientDrawable;->setStroke(IIFF)V
@@ -20894,7 +19185,6 @@
 HSPLandroid/graphics/drawable/GradientDrawable;->setStroke(ILandroid/content/res/ColorStateList;FF)V
 HSPLandroid/graphics/drawable/GradientDrawable;->setStrokeInternal(IIFF)V
 HSPLandroid/graphics/drawable/GradientDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
-HSPLandroid/graphics/drawable/GradientDrawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
 HSPLandroid/graphics/drawable/GradientDrawable;->updateDrawableCorners(Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/GradientDrawable;->updateGradientDrawableGradient(Landroid/content/res/Resources;Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/GradientDrawable;->updateGradientDrawablePadding(Landroid/content/res/TypedArray;)V
@@ -20919,13 +19209,11 @@
 HSPLandroid/graphics/drawable/Icon;->loadDrawable(Landroid/content/Context;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/Icon;->loadDrawableInner(Landroid/content/Context;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/Icon;->scaleDownIfNecessary(Landroid/graphics/Bitmap;II)Landroid/graphics/Bitmap;
+HSPLandroid/graphics/drawable/Icon;->setTint(I)Landroid/graphics/drawable/Icon;
 HSPLandroid/graphics/drawable/Icon;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/graphics/drawable/Icon;->writeToStream(Ljava/io/OutputStream;)V
 HSPLandroid/graphics/drawable/InsetDrawable$InsetState;-><init>(Landroid/graphics/drawable/InsetDrawable$InsetState;Landroid/content/res/Resources;)V
 HSPLandroid/graphics/drawable/InsetDrawable$InsetState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/InsetDrawable$InsetState;->onDensityChanged(II)V
-HSPLandroid/graphics/drawable/InsetDrawable;-><init>(Landroid/graphics/drawable/Drawable;F)V
-HSPLandroid/graphics/drawable/InsetDrawable;-><init>(Landroid/graphics/drawable/Drawable;FFFF)V
 HSPLandroid/graphics/drawable/InsetDrawable;-><init>(Landroid/graphics/drawable/Drawable;I)V
 HSPLandroid/graphics/drawable/InsetDrawable;-><init>(Landroid/graphics/drawable/Drawable;IIII)V
 HSPLandroid/graphics/drawable/InsetDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
@@ -20987,12 +19275,10 @@
 HSPLandroid/graphics/drawable/LayerDrawable;->jumpToCurrentState()V
 HSPLandroid/graphics/drawable/LayerDrawable;->mutate()Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/LayerDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/LayerDrawable;->onLevelChange(I)Z
 HSPLandroid/graphics/drawable/LayerDrawable;->onStateChange([I)Z
 HSPLandroid/graphics/drawable/LayerDrawable;->refreshChildPadding(ILandroid/graphics/drawable/LayerDrawable$ChildDrawable;)Z
 HSPLandroid/graphics/drawable/LayerDrawable;->refreshPadding()V
 HSPLandroid/graphics/drawable/LayerDrawable;->resolveGravity(IIIII)I
-HSPLandroid/graphics/drawable/LayerDrawable;->scheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;J)V
 HSPLandroid/graphics/drawable/LayerDrawable;->setAlpha(I)V
 HSPLandroid/graphics/drawable/LayerDrawable;->setAutoMirrored(Z)V
 HSPLandroid/graphics/drawable/LayerDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
@@ -21003,24 +19289,15 @@
 HSPLandroid/graphics/drawable/LayerDrawable;->setId(II)V
 HSPLandroid/graphics/drawable/LayerDrawable;->setLayerInset(IIIII)V
 HSPLandroid/graphics/drawable/LayerDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
-HSPLandroid/graphics/drawable/LayerDrawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
 HSPLandroid/graphics/drawable/LayerDrawable;->setVisible(ZZ)Z
-HSPLandroid/graphics/drawable/LayerDrawable;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V
 HSPLandroid/graphics/drawable/LayerDrawable;->updateLayerBounds(Landroid/graphics/Rect;)V
 HSPLandroid/graphics/drawable/LayerDrawable;->updateLayerBoundsInternal(Landroid/graphics/Rect;)V
 HSPLandroid/graphics/drawable/LayerDrawable;->updateLayerFromTypedArray(Landroid/graphics/drawable/LayerDrawable$ChildDrawable;Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/LayerDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-HSPLandroid/graphics/drawable/LevelListDrawable;-><init>()V
-HSPLandroid/graphics/drawable/LevelListDrawable;->addLevel(IILandroid/graphics/drawable/Drawable;)V
-HSPLandroid/graphics/drawable/LevelListDrawable;->onLevelChange(I)Z
-HSPLandroid/graphics/drawable/LevelListDrawable;->setConstantState(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;)V
+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;->canApplyTheme()Z
-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;-><init>()V
 HSPLandroid/graphics/drawable/NinePatchDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/NinePatchDrawable;->canApplyTheme()Z
 HSPLandroid/graphics/drawable/NinePatchDrawable;->clearMutated()V
@@ -21041,15 +19318,11 @@
 HSPLandroid/graphics/drawable/NinePatchDrawable;->isStateful()Z
 HSPLandroid/graphics/drawable/NinePatchDrawable;->mutate()Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/NinePatchDrawable;->onStateChange([I)Z
-HSPLandroid/graphics/drawable/NinePatchDrawable;->setAlpha(I)V
 HSPLandroid/graphics/drawable/NinePatchDrawable;->setAutoMirrored(Z)V
-HSPLandroid/graphics/drawable/NinePatchDrawable;->setColorFilter(Landroid/graphics/ColorFilter;)V
 HSPLandroid/graphics/drawable/NinePatchDrawable;->setDither(Z)V
 HSPLandroid/graphics/drawable/NinePatchDrawable;->setTintList(Landroid/content/res/ColorStateList;)V
-HSPLandroid/graphics/drawable/NinePatchDrawable;->setTintMode(Landroid/graphics/PorterDuff$Mode;)V
 HSPLandroid/graphics/drawable/NinePatchDrawable;->updateLocalState(Landroid/content/res/Resources;)V
 HSPLandroid/graphics/drawable/NinePatchDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
-HSPLandroid/graphics/drawable/PaintDrawable;-><init>(I)V
 HSPLandroid/graphics/drawable/RippleBackground$1;-><init>(Ljava/lang/String;)V
 HSPLandroid/graphics/drawable/RippleBackground$1;->get(Landroid/graphics/drawable/RippleBackground;)Ljava/lang/Float;
 HSPLandroid/graphics/drawable/RippleBackground$1;->get(Ljava/lang/Object;)Ljava/lang/Object;
@@ -21081,7 +19354,6 @@
 HSPLandroid/graphics/drawable/RippleDrawable;->getOpacity()I
 HSPLandroid/graphics/drawable/RippleDrawable;->getOutline(Landroid/graphics/Outline;)V
 HSPLandroid/graphics/drawable/RippleDrawable;->getRipplePaint()Landroid/graphics/Paint;
-HSPLandroid/graphics/drawable/RippleDrawable;->hasFocusStateSpecified()Z
 HSPLandroid/graphics/drawable/RippleDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/RippleDrawable;->invalidateSelf()V
 HSPLandroid/graphics/drawable/RippleDrawable;->invalidateSelf(Z)V
@@ -21090,7 +19362,6 @@
 HSPLandroid/graphics/drawable/RippleDrawable;->jumpToCurrentState()V
 HSPLandroid/graphics/drawable/RippleDrawable;->mutate()Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/RippleDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
-HSPLandroid/graphics/drawable/RippleDrawable;->onHotspotBoundsChanged()V
 HSPLandroid/graphics/drawable/RippleDrawable;->onStateChange([I)Z
 HSPLandroid/graphics/drawable/RippleDrawable;->pruneRipples()V
 HSPLandroid/graphics/drawable/RippleDrawable;->setBackgroundActive(ZZZ)V
@@ -21123,8 +19394,8 @@
 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
 HSPLandroid/graphics/drawable/RippleForeground;->move(FF)V
 HSPLandroid/graphics/drawable/RippleForeground;->onTargetRadiusChanged(F)V
@@ -21132,16 +19403,13 @@
 HSPLandroid/graphics/drawable/RippleForeground;->pruneSwFinished()V
 HSPLandroid/graphics/drawable/RippleForeground;->startHardwareEnter()V
 HSPLandroid/graphics/drawable/RippleForeground;->startHardwareExit()V
-HSPLandroid/graphics/drawable/RippleForeground;->startPending(Landroid/view/DisplayListCanvas;)V
+HSPLandroid/graphics/drawable/RippleForeground;->startPending(Landroid/graphics/RecordingCanvas;)V
 HSPLandroid/graphics/drawable/RippleForeground;->startSoftwareEnter()V
 HSPLandroid/graphics/drawable/RippleForeground;->startSoftwareExit()V
 HSPLandroid/graphics/drawable/RippleForeground;->switchToUiThreadAnimation()V
 HSPLandroid/graphics/drawable/RotateDrawable$RotateState;-><init>(Landroid/graphics/drawable/RotateDrawable$RotateState;Landroid/content/res/Resources;)V
 HSPLandroid/graphics/drawable/RotateDrawable$RotateState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/RotateDrawable;->draw(Landroid/graphics/Canvas;)V
 HSPLandroid/graphics/drawable/RotateDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/graphics/drawable/RotateDrawable;->mutateConstantState()Landroid/graphics/drawable/DrawableWrapper$DrawableWrapperState;
-HSPLandroid/graphics/drawable/RotateDrawable;->onLevelChange(I)Z
 HSPLandroid/graphics/drawable/RotateDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/RotateDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/ScaleDrawable$ScaleState;-><init>(Landroid/graphics/drawable/ScaleDrawable$ScaleState;Landroid/content/res/Resources;)V
@@ -21153,38 +19421,40 @@
 HSPLandroid/graphics/drawable/ScaleDrawable;->onBoundsChange(Landroid/graphics/Rect;)V
 HSPLandroid/graphics/drawable/ScaleDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/ScaleDrawable;->verifyRequiredAttributes(Landroid/content/res/TypedArray;)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
 HSPLandroid/graphics/drawable/ShapeDrawable;->getOutline(Landroid/graphics/Outline;)V
 HSPLandroid/graphics/drawable/ShapeDrawable;->getPadding(Landroid/graphics/Rect;)Z
 HSPLandroid/graphics/drawable/ShapeDrawable;->getPaint()Landroid/graphics/Paint;
+HSPLandroid/graphics/drawable/ShapeDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/ShapeDrawable;->isStateful()Z
 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;->setShape(Landroid/graphics/drawable/shapes/Shape;)V
 HSPLandroid/graphics/drawable/ShapeDrawable;->updateShape()V
+HSPLandroid/graphics/drawable/ShapeDrawable;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->addStateSet([ILandroid/graphics/drawable/Drawable;)I
 HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->canApplyTheme()Z
-HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->hasFocusStateSpecified()Z
 HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->indexOfStateSet([I)I
 HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->mutate()V
 HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->newDrawable()Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/StateListDrawable$StateListState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
-HSPLandroid/graphics/drawable/StateListDrawable;-><init>()V
-HSPLandroid/graphics/drawable/StateListDrawable;->addState([ILandroid/graphics/drawable/Drawable;)V
 HSPLandroid/graphics/drawable/StateListDrawable;->applyTheme(Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/StateListDrawable;->clearMutated()V
 HSPLandroid/graphics/drawable/StateListDrawable;->cloneConstantState()Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;
 HSPLandroid/graphics/drawable/StateListDrawable;->cloneConstantState()Landroid/graphics/drawable/StateListDrawable$StateListState;
 HSPLandroid/graphics/drawable/StateListDrawable;->extractStateSet(Landroid/util/AttributeSet;)[I
 HSPLandroid/graphics/drawable/StateListDrawable;->getStateCount()I
-HSPLandroid/graphics/drawable/StateListDrawable;->getStateDrawableIndex([I)I
-HSPLandroid/graphics/drawable/StateListDrawable;->hasFocusStateSpecified()Z
+HSPLandroid/graphics/drawable/StateListDrawable;->getStateDrawable(I)Landroid/graphics/drawable/Drawable;
 HSPLandroid/graphics/drawable/StateListDrawable;->inflate(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/StateListDrawable;->inflateChildElements(Landroid/content/res/Resources;Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/content/res/Resources$Theme;)V
 HSPLandroid/graphics/drawable/StateListDrawable;->isStateful()Z
@@ -21192,8 +19462,6 @@
 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$TransitionState;->newDrawable(Landroid/content/res/Resources;)Landroid/graphics/drawable/Drawable;
 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
@@ -21219,7 +19487,6 @@
 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;
-HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->getPropertyIndex(Ljava/lang/String;)I
 HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->isStateful()Z
 HSPLandroid/graphics/drawable/VectorDrawable$VFullPath;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
 HSPLandroid/graphics/drawable/VectorDrawable$VGroup$1;-><init>()V
@@ -21244,7 +19511,6 @@
 HSPLandroid/graphics/drawable/VectorDrawable$VGroup;->updateStateFromTypedArray(Landroid/content/res/TypedArray;)V
 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$VPath;->getProperty(Ljava/lang/String;)Landroid/util/Property;
 HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState$1;-><init>(Ljava/lang/String;)V
 HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;-><init>(Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;)V
 HSPLandroid/graphics/drawable/VectorDrawable$VectorDrawableState;->applyDensityScaling(II)V
@@ -21280,7 +19546,6 @@
 HSPLandroid/graphics/drawable/VectorDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
 HSPLandroid/graphics/drawable/VectorDrawable;->getIntrinsicHeight()I
 HSPLandroid/graphics/drawable/VectorDrawable;->getIntrinsicWidth()I
-HSPLandroid/graphics/drawable/VectorDrawable;->getNativeTree()J
 HSPLandroid/graphics/drawable/VectorDrawable;->getOpacity()I
 HSPLandroid/graphics/drawable/VectorDrawable;->getPixelSize()F
 HSPLandroid/graphics/drawable/VectorDrawable;->getTargetByName(Ljava/lang/String;)Ljava/lang/Object;
@@ -21291,7 +19556,6 @@
 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
@@ -21301,139 +19565,98 @@
 HSPLandroid/graphics/drawable/shapes/OvalShape;-><init>()V
 HSPLandroid/graphics/drawable/shapes/OvalShape;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
 HSPLandroid/graphics/drawable/shapes/OvalShape;->getOutline(Landroid/graphics/Outline;)V
-HSPLandroid/graphics/drawable/shapes/PathShape;-><init>(Landroid/graphics/Path;FF)V
 HSPLandroid/graphics/drawable/shapes/PathShape;->draw(Landroid/graphics/Canvas;Landroid/graphics/Paint;)V
 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;->getOutline(Landroid/graphics/Outline;)V
 HSPLandroid/graphics/drawable/shapes/RoundRectShape;->onResize(FF)V
 HSPLandroid/graphics/drawable/shapes/Shape;->resize(FF)V
+HSPLandroid/graphics/fonts/Font$Builder;-><init>(Ljava/nio/ByteBuffer;)V
+HSPLandroid/graphics/fonts/Font$Builder;->build()Landroid/graphics/fonts/Font;
+HSPLandroid/graphics/fonts/Font$Builder;->setFontVariationSettings([Landroid/graphics/fonts/FontVariationAxis;)Landroid/graphics/fonts/Font$Builder;
+HSPLandroid/graphics/fonts/Font$Builder;->setSlant(I)Landroid/graphics/fonts/Font$Builder;
+HSPLandroid/graphics/fonts/Font$Builder;->setTtcIndex(I)Landroid/graphics/fonts/Font$Builder;
+HSPLandroid/graphics/fonts/Font$Builder;->setWeight(I)Landroid/graphics/fonts/Font$Builder;
+HSPLandroid/graphics/fonts/Font;-><init>(JLjava/nio/ByteBuffer;Ljava/io/File;Landroid/graphics/fonts/FontStyle;I[Landroid/graphics/fonts/FontVariationAxis;Ljava/lang/String;)V
+HSPLandroid/graphics/fonts/FontCustomizationParser;->readFamilies(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/graphics/fonts/FontCustomizationParser$Result;
+HSPLandroid/graphics/fonts/FontCustomizationParser;->readFamily(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Landroid/graphics/fonts/FontCustomizationParser$Result;)V
+HSPLandroid/graphics/fonts/FontCustomizationParser;->validate(Landroid/graphics/fonts/FontCustomizationParser$Result;)V
+HSPLandroid/graphics/fonts/FontFamily$Builder;-><init>(Landroid/graphics/fonts/Font;)V
+HSPLandroid/graphics/fonts/FontFamily$Builder;->addFont(Landroid/graphics/fonts/Font;)Landroid/graphics/fonts/FontFamily$Builder;
+HSPLandroid/graphics/fonts/FontFamily$Builder;->build()Landroid/graphics/fonts/FontFamily;
+HSPLandroid/graphics/fonts/FontFamily$Builder;->build(Ljava/lang/String;IZ)Landroid/graphics/fonts/FontFamily;
+HSPLandroid/graphics/fonts/FontFamily;->getFont(I)Landroid/graphics/fonts/Font;
+HSPLandroid/graphics/fonts/FontFamily;->getSize()I
+HSPLandroid/graphics/fonts/FontStyle;-><init>(II)V
+HSPLandroid/graphics/fonts/FontStyle;->getMatchScore(Landroid/graphics/fonts/FontStyle;)I
 HSPLandroid/graphics/fonts/FontVariationAxis;-><init>(Ljava/lang/String;F)V
 HSPLandroid/graphics/fonts/FontVariationAxis;->fromFontVariationSettings(Ljava/lang/String;)[Landroid/graphics/fonts/FontVariationAxis;
+HSPLandroid/graphics/fonts/SystemFonts;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+HSPLandroid/graphics/fonts/SystemFonts;->appendNamedFamily(Landroid/text/FontConfig$Family;Ljava/util/HashMap;Landroid/util/ArrayMap;Ljava/util/ArrayList;)V
+HSPLandroid/graphics/fonts/SystemFonts;->buildSystemFallback(Ljava/lang/String;Ljava/lang/String;Landroid/graphics/fonts/FontCustomizationParser$Result;Landroid/util/ArrayMap;Ljava/util/ArrayList;)[Landroid/text/FontConfig$Alias;
+HSPLandroid/graphics/fonts/SystemFonts;->createFontFamily(Ljava/lang/String;Ljava/util/List;Ljava/lang/String;ILjava/util/Map;Ljava/util/ArrayList;)Landroid/graphics/fonts/FontFamily;
+HSPLandroid/graphics/fonts/SystemFonts;->getAliases()[Landroid/text/FontConfig$Alias;
+HSPLandroid/graphics/fonts/SystemFonts;->getRawSystemFallbackMap()Ljava/util/Map;
+HSPLandroid/graphics/fonts/SystemFonts;->mmap(Ljava/lang/String;)Ljava/nio/ByteBuffer;
+HSPLandroid/graphics/fonts/SystemFonts;->pushFamilyToFallback(Landroid/text/FontConfig$Family;Landroid/util/ArrayMap;Ljava/util/Map;Ljava/util/ArrayList;)V
+HSPLandroid/graphics/fonts/SystemFonts;->readFontCustomization(Ljava/lang/String;Ljava/lang/String;)Landroid/graphics/fonts/FontCustomizationParser$Result;
+HSPLandroid/graphics/text/LineBreaker$Builder;-><init>()V
+HSPLandroid/graphics/text/LineBreaker$Builder;->build()Landroid/graphics/text/LineBreaker;
+HSPLandroid/graphics/text/LineBreaker$ParagraphConstraints;-><init>()V
+HSPLandroid/graphics/text/LineBreaker$Result;->getLineAscent(I)F
+HSPLandroid/graphics/text/LineBreaker$Result;->getLineBreakOffset(I)I
+HSPLandroid/graphics/text/LineBreaker$Result;->getLineCount()I
+HSPLandroid/graphics/text/LineBreaker$Result;->getLineDescent(I)F
+HSPLandroid/graphics/text/LineBreaker$Result;->getLineHyphenEdit(I)I
+HSPLandroid/graphics/text/LineBreaker$Result;->getLineWidth(I)F
+HSPLandroid/graphics/text/LineBreaker$Result;->hasLineTab(I)Z
+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;->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
+HSPLandroid/graphics/text/MeasuredText;->getCharWidthAt(I)F
+HSPLandroid/graphics/text/MeasuredText;->getChars()[C
+HSPLandroid/graphics/text/MeasuredText;->getNativePtr()J
 HSPLandroid/hardware/Camera$CameraInfo;-><init>()V
-HSPLandroid/hardware/Camera$ErrorCallback;->onError(ILandroid/hardware/Camera;)V
-HSPLandroid/hardware/Camera$Parameters;->cameraFormatForPixelFormat(I)Ljava/lang/String;
-HSPLandroid/hardware/Camera$Parameters;->flatten()Ljava/lang/String;
-HSPLandroid/hardware/Camera$Parameters;->get(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/hardware/Camera$Parameters;->getInt(Ljava/lang/String;I)I
-HSPLandroid/hardware/Camera$Parameters;->getMaxZoom()I
-HSPLandroid/hardware/Camera$Parameters;->getPreviewFormat()I
-HSPLandroid/hardware/Camera$Parameters;->getPreviewSize()Landroid/hardware/Camera$Size;
-HSPLandroid/hardware/Camera$Parameters;->getSupportedFocusModes()Ljava/util/List;
-HSPLandroid/hardware/Camera$Parameters;->getSupportedPictureSizes()Ljava/util/List;
-HSPLandroid/hardware/Camera$Parameters;->getSupportedPreviewFpsRange()Ljava/util/List;
-HSPLandroid/hardware/Camera$Parameters;->getSupportedPreviewSizes()Ljava/util/List;
-HSPLandroid/hardware/Camera$Parameters;->getZoom()I
-HSPLandroid/hardware/Camera$Parameters;->isZoomSupported()Z
-HSPLandroid/hardware/Camera$Parameters;->pixelFormatForCameraFormat(Ljava/lang/String;)I
-HSPLandroid/hardware/Camera$Parameters;->set(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/hardware/Camera$Parameters;->set(Ljava/lang/String;Ljava/util/List;)V
-HSPLandroid/hardware/Camera$Parameters;->setFocusAreas(Ljava/util/List;)V
-HSPLandroid/hardware/Camera$Parameters;->setFocusMode(Ljava/lang/String;)V
-HSPLandroid/hardware/Camera$Parameters;->setPictureSize(II)V
-HSPLandroid/hardware/Camera$Parameters;->setPreviewFormat(I)V
-HSPLandroid/hardware/Camera$Parameters;->setPreviewFpsRange(II)V
-HSPLandroid/hardware/Camera$Parameters;->setPreviewSize(II)V
-HSPLandroid/hardware/Camera$Parameters;->split(Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLandroid/hardware/Camera$Parameters;->splitInt(Ljava/lang/String;[I)V
-HSPLandroid/hardware/Camera$Parameters;->splitRange(Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLandroid/hardware/Camera$Parameters;->splitSize(Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLandroid/hardware/Camera$Parameters;->strToSize(Ljava/lang/String;)Landroid/hardware/Camera$Size;
-HSPLandroid/hardware/Camera$Parameters;->unflatten(Ljava/lang/String;)V
-HSPLandroid/hardware/Camera$PreviewCallback;->onPreviewFrame([BLandroid/hardware/Camera;)V
-HSPLandroid/hardware/Camera;-><init>(I)V
-HSPLandroid/hardware/Camera;->addCallbackBuffer([B)V
-HSPLandroid/hardware/Camera;->cameraInitVersion(II)I
 HSPLandroid/hardware/Camera;->getCameraInfo(ILandroid/hardware/Camera$CameraInfo;)V
-HSPLandroid/hardware/Camera;->getParameters()Landroid/hardware/Camera$Parameters;
-HSPLandroid/hardware/Camera;->initAppOps()V
-HSPLandroid/hardware/Camera;->open(I)Landroid/hardware/Camera;
-HSPLandroid/hardware/Camera;->setErrorCallback(Landroid/hardware/Camera$ErrorCallback;)V
-HSPLandroid/hardware/Camera;->setParameters(Landroid/hardware/Camera$Parameters;)V
-HSPLandroid/hardware/Camera;->setPreviewCallbackWithBuffer(Landroid/hardware/Camera$PreviewCallback;)V
-HSPLandroid/hardware/Camera;->setPreviewDisplay(Landroid/view/SurfaceHolder;)V
-HSPLandroid/hardware/Camera;->updateAppOpsPlayAudio()V
-HSPLandroid/hardware/GeomagneticField$LegendreTable;-><init>(IF)V
-HSPLandroid/hardware/GeomagneticField;-><init>(FFFJ)V
-HSPLandroid/hardware/GeomagneticField;->computeGeocentricCoordinates(FFF)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;
+HSPLandroid/hardware/CameraStatus$1;->newArray(I)[Landroid/hardware/CameraStatus;
+HSPLandroid/hardware/CameraStatus$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/hardware/GeomagneticField;->computeSchmidtQuasiNormFactors(I)[[F
-HSPLandroid/hardware/GeomagneticField;->getDeclination()F
-HSPLandroid/hardware/GeomagneticField;->getFieldStrength()F
 HSPLandroid/hardware/HardwareBuffer$1;-><init>()V
+HSPLandroid/hardware/ICameraService$Stub$Proxy;->addListener(Landroid/hardware/ICameraServiceListener;)[Landroid/hardware/CameraStatus;
+HSPLandroid/hardware/ICameraService$Stub$Proxy;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/impl/CameraMetadataNative;
+HSPLandroid/hardware/ICameraService$Stub$Proxy;->isHiddenPhysicalCamera(Ljava/lang/String;)Z
 HSPLandroid/hardware/ICameraService$Stub$Proxy;->notifySystemEvent(I[I)V
+HSPLandroid/hardware/ICameraService$Stub$Proxy;->supportsCameraApi(Ljava/lang/String;I)Z
 HSPLandroid/hardware/ICameraService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/ICameraService;
-HSPLandroid/hardware/ICameraService;->addListener(Landroid/hardware/ICameraServiceListener;)[Landroid/hardware/CameraStatus;
-HSPLandroid/hardware/ICameraService;->connect(Landroid/hardware/ICameraClient;ILjava/lang/String;II)Landroid/hardware/ICamera;
-HSPLandroid/hardware/ICameraService;->connectDevice(Landroid/hardware/camera2/ICameraDeviceCallbacks;Ljava/lang/String;Ljava/lang/String;I)Landroid/hardware/camera2/ICameraDeviceUser;
-HSPLandroid/hardware/ICameraService;->connectLegacy(Landroid/hardware/ICameraClient;IILjava/lang/String;I)Landroid/hardware/ICamera;
-HSPLandroid/hardware/ICameraService;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/impl/CameraMetadataNative;
-HSPLandroid/hardware/ICameraService;->getCameraInfo(I)Landroid/hardware/CameraInfo;
-HSPLandroid/hardware/ICameraService;->getCameraVendorTagCache()Landroid/hardware/camera2/params/VendorTagDescriptorCache;
-HSPLandroid/hardware/ICameraService;->getCameraVendorTagDescriptor()Landroid/hardware/camera2/params/VendorTagDescriptor;
-HSPLandroid/hardware/ICameraService;->getLegacyParameters(I)Ljava/lang/String;
-HSPLandroid/hardware/ICameraService;->getNumberOfCameras(I)I
-HSPLandroid/hardware/ICameraService;->notifySystemEvent(I[I)V
-HSPLandroid/hardware/ICameraService;->removeListener(Landroid/hardware/ICameraServiceListener;)V
-HSPLandroid/hardware/ICameraService;->setTorchMode(Ljava/lang/String;ZLandroid/os/IBinder;)V
-HSPLandroid/hardware/ICameraService;->supportsCameraApi(Ljava/lang/String;I)Z
+HSPLandroid/hardware/ICameraServiceListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/hardware/ICameraServiceProxy$Stub;-><init>()V
-HSPLandroid/hardware/ICameraServiceProxy;->notifyCameraState(Ljava/lang/String;IILjava/lang/String;I)V
-HSPLandroid/hardware/ICameraServiceProxy;->pingForUserUpdate()V
 HSPLandroid/hardware/IConsumerIrService$Stub;-><init>()V
-HSPLandroid/hardware/IConsumerIrService;->getCarrierFrequencies()[I
-HSPLandroid/hardware/IConsumerIrService;->hasIrEmitter()Z
-HSPLandroid/hardware/IConsumerIrService;->transmit(Ljava/lang/String;I[I)V
+HSPLandroid/hardware/ISensorPrivacyListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/hardware/ISensorPrivacyManager$Stub;-><init>()V
+HSPLandroid/hardware/ISensorPrivacyManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/hardware/ISerialManager$Stub;-><init>()V
-HSPLandroid/hardware/ISerialManager;->getSerialPorts()[Ljava/lang/String;
-HSPLandroid/hardware/ISerialManager;->openSerialPort(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
+HSPLandroid/hardware/Sensor;->getFifoMaxEventCount()I
 HSPLandroid/hardware/Sensor;->getName()Ljava/lang/String;
 HSPLandroid/hardware/Sensor;->getType()I
 HSPLandroid/hardware/Sensor;->getVendor()Ljava/lang/String;
-HSPLandroid/hardware/Sensor;->getVersion()I
 HSPLandroid/hardware/Sensor;->setType(I)Z
 HSPLandroid/hardware/Sensor;->setUuid(JJ)V
-HSPLandroid/hardware/SensorEventListener;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
-HSPLandroid/hardware/SensorEventListener;->onSensorChanged(Landroid/hardware/SensorEvent;)V
-HSPLandroid/hardware/SensorManager;->cancelTriggerSensorImpl(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;Z)Z
-HSPLandroid/hardware/SensorManager;->configureDirectChannelImpl(Landroid/hardware/SensorDirectChannel;Landroid/hardware/Sensor;I)I
-HSPLandroid/hardware/SensorManager;->createDirectChannelImpl(Landroid/os/MemoryFile;Landroid/hardware/HardwareBuffer;)Landroid/hardware/SensorDirectChannel;
-HSPLandroid/hardware/SensorManager;->destroyDirectChannelImpl(Landroid/hardware/SensorDirectChannel;)V
-HSPLandroid/hardware/SensorManager;->flushImpl(Landroid/hardware/SensorEventListener;)Z
-HSPLandroid/hardware/SensorManager;->getAltitude(FF)F
 HSPLandroid/hardware/SensorManager;->getDefaultSensor(I)Landroid/hardware/Sensor;
 HSPLandroid/hardware/SensorManager;->getDefaultSensor(IZ)Landroid/hardware/Sensor;
-HSPLandroid/hardware/SensorManager;->getFullDynamicSensorList()Ljava/util/List;
-HSPLandroid/hardware/SensorManager;->getFullSensorList()Ljava/util/List;
-HSPLandroid/hardware/SensorManager;->getQuaternionFromVector([F[F)V
-HSPLandroid/hardware/SensorManager;->getRotationMatrixFromVector([F[F)V
 HSPLandroid/hardware/SensorManager;->getSensorList(I)Ljava/util/List;
-HSPLandroid/hardware/SensorManager;->initDataInjectionImpl(Z)Z
-HSPLandroid/hardware/SensorManager;->injectSensorDataImpl(Landroid/hardware/Sensor;[FIJ)Z
-HSPLandroid/hardware/SensorManager;->registerDynamicSensorCallbackImpl(Landroid/hardware/SensorManager$DynamicSensorCallback;Landroid/os/Handler;)V
 HSPLandroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;I)Z
-HSPLandroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;II)Z
-HSPLandroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;IILandroid/os/Handler;)Z
 HSPLandroid/hardware/SensorManager;->registerListener(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;)Z
-HSPLandroid/hardware/SensorManager;->registerListenerImpl(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;II)Z
-HSPLandroid/hardware/SensorManager;->remapCoordinateSystem([FII[F)Z
-HSPLandroid/hardware/SensorManager;->remapCoordinateSystemImpl([FII[F)Z
-HSPLandroid/hardware/SensorManager;->requestTriggerSensorImpl(Landroid/hardware/TriggerEventListener;Landroid/hardware/Sensor;)Z
-HSPLandroid/hardware/SensorManager;->setOperationParameterImpl(Landroid/hardware/SensorAdditionalInfo;)Z
-HSPLandroid/hardware/SensorManager;->unregisterDynamicSensorCallbackImpl(Landroid/hardware/SensorManager$DynamicSensorCallback;)V
 HSPLandroid/hardware/SensorManager;->unregisterListener(Landroid/hardware/SensorEventListener;)V
-HSPLandroid/hardware/SensorManager;->unregisterListenerImpl(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)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
-HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->addSensorEvent(Landroid/hardware/Sensor;)V
-HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->disableSensor(Landroid/hardware/Sensor;)I
-HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->dispatchFlushCompleteEvent(I)V
-HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->dispatchSensorEvent(I[FIJ)V
-HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->enableSensor(Landroid/hardware/Sensor;II)I
-HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->finalize()V
 HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->removeAllSensors()Z
-HSPLandroid/hardware/SystemSensorManager$BaseEventQueue;->removeSensorEvent(Landroid/hardware/Sensor;)V
 HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->addSensorEvent(Landroid/hardware/Sensor;)V
 HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->dispatchSensorEvent(I[FIJ)V
 HSPLandroid/hardware/SystemSensorManager$SensorEventQueue;->removeSensorEvent(Landroid/hardware/Sensor;)V
@@ -21442,9 +19665,17 @@
 HSPLandroid/hardware/SystemSensorManager;->registerListenerImpl(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;ILandroid/os/Handler;II)Z
 HSPLandroid/hardware/SystemSensorManager;->unregisterListenerImpl(Landroid/hardware/SensorEventListener;Landroid/hardware/Sensor;)V
 HSPLandroid/hardware/TriggerEventListener;-><init>()V
-HSPLandroid/hardware/TriggerEventListener;->onTrigger(Landroid/hardware/TriggerEvent;)V
-HSPLandroid/hardware/biometrics/IBiometricPromptReceiver$Stub;-><init>()V
-HSPLandroid/hardware/biometrics/IBiometricPromptReceiver;->onDialogDismissed(I)V
+HSPLandroid/hardware/biometrics/BiometricAuthenticator$Identifier;->getBiometricId()I
+HSPLandroid/hardware/biometrics/BiometricManager;->hasBiometrics(Landroid/content/Context;)Z
+HSPLandroid/hardware/biometrics/BiometricSourceType$1;-><init>()V
+HSPLandroid/hardware/biometrics/BiometricSourceType;-><init>(Ljava/lang/String;I)V
+HSPLandroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub$Proxy;->onChanged(Landroid/hardware/biometrics/BiometricSourceType;Z)V
+HSPLandroid/hardware/biometrics/IBiometricService$Stub;-><init>()V
+HSPLandroid/hardware/biometrics/IBiometricService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;
+HSPLandroid/hardware/biometrics/IBiometricServiceReceiverInternal$Stub;-><init>()V
 HSPLandroid/hardware/camera2/CameraCharacteristics$1;-><init>()V
 HSPLandroid/hardware/camera2/CameraCharacteristics$2;-><init>()V
 HSPLandroid/hardware/camera2/CameraCharacteristics$3;-><init>()V
@@ -21453,6 +19684,23 @@
 HSPLandroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V
 HSPLandroid/hardware/camera2/CameraCharacteristics$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
 HSPLandroid/hardware/camera2/CameraCharacteristics$Key;->getNativeKey()Landroid/hardware/camera2/impl/CameraMetadataNative$Key;
+HSPLandroid/hardware/camera2/CameraCharacteristics;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
+HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal$1;->compare(Ljava/lang/String;Ljava/lang/String;)I
+HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;-><init>()V
+HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->asBinder()Landroid/os/IBinder;
+HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->connectCameraServiceLocked()V
+HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->getCameraIdList()[Ljava/lang/String;
+HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->getCameraService()Landroid/hardware/ICameraService;
+HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onStatusChangedLocked(ILjava/lang/String;)V
+HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onTorchStatusChanged(ILjava/lang/String;)V
+HSPLandroid/hardware/camera2/CameraManager$CameraManagerGlobal;->onTorchStatusChangedLocked(ILjava/lang/String;)V
+HSPLandroid/hardware/camera2/CameraManager;-><init>(Landroid/content/Context;)V
+HSPLandroid/hardware/camera2/CameraManager;->getCameraCharacteristics(Ljava/lang/String;)Landroid/hardware/camera2/CameraCharacteristics;
+HSPLandroid/hardware/camera2/CameraManager;->getCameraIdList()[Ljava/lang/String;
+HSPLandroid/hardware/camera2/CameraManager;->getDisplaySize()Landroid/util/Size;
+HSPLandroid/hardware/camera2/CameraManager;->isHiddenPhysicalCamera(Ljava/lang/String;)Z
+HSPLandroid/hardware/camera2/CameraManager;->supportsCameraApiLocked(Ljava/lang/String;I)Z
 HSPLandroid/hardware/camera2/CaptureRequest$1;-><init>()V
 HSPLandroid/hardware/camera2/CaptureRequest$2;-><init>()V
 HSPLandroid/hardware/camera2/CaptureRequest$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V
@@ -21475,7 +19723,10 @@
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative$18;-><init>()V
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative$19;-><init>()V
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative$1;-><init>()V
+HSPLandroid/hardware/camera2/impl/CameraMetadataNative$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/camera2/impl/CameraMetadataNative;
+HSPLandroid/hardware/camera2/impl/CameraMetadataNative$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative$20;-><init>()V
+HSPLandroid/hardware/camera2/impl/CameraMetadataNative$21;-><init>()V
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative$2;-><init>()V
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative$3;-><init>()V
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative$4;-><init>()V
@@ -21487,14 +19738,35 @@
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative$Key;-><init>(Ljava/lang/String;Landroid/hardware/camera2/utils/TypeReference;)V
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative$Key;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative$Key;->hashCode()I
+HSPLandroid/hardware/camera2/impl/CameraMetadataNative;-><init>()V
+HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->finalize()V
+HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->get(Landroid/hardware/camera2/CameraCharacteristics$Key;)Ljava/lang/Object;
+HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->get(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;)Ljava/lang/Object;
+HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->getBase(Landroid/hardware/camera2/impl/CameraMetadataNative$Key;)Ljava/lang/Object;
+HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->readValues(I)[B
 HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->registerAllMarshalers()V
+HSPLandroid/hardware/camera2/impl/CameraMetadataNative;->setCameraId(I)V
+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
-HSPLandroid/hardware/camera2/marshal/Marshaler;->getNativeSize()I
-HSPLandroid/hardware/camera2/marshal/Marshaler;->marshal(Ljava/lang/Object;Ljava/nio/ByteBuffer;)V
-HSPLandroid/hardware/camera2/marshal/Marshaler;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
+HSPLandroid/hardware/camera2/marshal/Marshaler;-><init>(Landroid/hardware/camera2/marshal/MarshalQueryable;Landroid/hardware/camera2/utils/TypeReference;I)V
+HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableArray;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
+HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
+HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableEnum;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
+HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger$MarshalerNativeByteToInteger;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Integer;
+HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger$MarshalerNativeByteToInteger;->unmarshal(Ljava/nio/ByteBuffer;)Ljava/lang/Object;
+HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger;->createMarshaler(Landroid/hardware/camera2/utils/TypeReference;I)Landroid/hardware/camera2/marshal/Marshaler;
+HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)Z
+HSPLandroid/hardware/camera2/marshal/impl/MarshalQueryablePrimitive;->isTypeMappingSupported(Landroid/hardware/camera2/utils/TypeReference;I)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
 HSPLandroid/hardware/contexthub/V1_0/ContextHub;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
 HSPLandroid/hardware/contexthub/V1_0/ContextHub;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
@@ -21508,157 +19780,118 @@
 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
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->asBinder()Landroid/os/IHwBinder;
 HSPLandroid/hardware/contexthub/V1_0/IContexthub;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/contexthub/V1_0/IContexthub;
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->disableNanoApp(IJI)I
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->enableNanoApp(IJI)I
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->getHubs()Ljava/util/ArrayList;
 HSPLandroid/hardware/contexthub/V1_0/IContexthub;->getService(Z)Landroid/hardware/contexthub/V1_0/IContexthub;
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->loadNanoApp(ILandroid/hardware/contexthub/V1_0/NanoAppBinary;I)I
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->notifySyspropsChanged()V
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->ping()V
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->queryApps(I)I
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->registerCallback(ILandroid/hardware/contexthub/V1_0/IContexthubCallback;)I
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->sendMessageToHub(ILandroid/hardware/contexthub/V1_0/ContextHubMsg;)I
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->setHALInstrumentation()V
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/hardware/contexthub/V1_0/IContexthub;->unloadNanoApp(IJI)I
 HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback$Stub;-><init>()V
 HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback$Stub;->asBinder()Landroid/os/IHwBinder;
 HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback;->handleAppAbort(JI)V
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback;->handleAppsInfo(Ljava/util/ArrayList;)V
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback;->handleClientMsg(Landroid/hardware/contexthub/V1_0/ContextHubMsg;)V
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback;->handleHubEvent(I)V
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback;->handleTxnResult(II)V
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback;->notifySyspropsChanged()V
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback;->ping()V
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback;->setHALInstrumentation()V
-HSPLandroid/hardware/contexthub/V1_0/IContexthubCallback;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
 HSPLandroid/hardware/display/AmbientBrightnessDayStats$1;-><init>()V
-HSPLandroid/hardware/display/AmbientBrightnessDayStats$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/display/AmbientBrightnessDayStats;
-HSPLandroid/hardware/display/AmbientBrightnessDayStats$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/display/AmbientBrightnessDayStats;->getBucketBoundaries()[F
-HSPLandroid/hardware/display/AmbientBrightnessDayStats;->getLocalDate()Ljava/time/LocalDate;
-HSPLandroid/hardware/display/AmbientBrightnessDayStats;->getStats()[F
+HSPLandroid/hardware/display/AmbientBrightnessDayStats;-><init>(Ljava/time/LocalDate;[F)V
+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
+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;
+HSPLandroid/hardware/display/AmbientDisplayConfiguration;->doubleTapGestureEnabled(I)Z
+HSPLandroid/hardware/display/AmbientDisplayConfiguration;->doubleTapSensorAvailable()Z
+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;->pulseOnLongPressEnabled(I)Z
+HSPLandroid/hardware/display/AmbientDisplayConfiguration;->pulseOnNotificationAvailable()Z
+HSPLandroid/hardware/display/AmbientDisplayConfiguration;->pulseOnNotificationEnabled(I)Z
 HSPLandroid/hardware/display/BrightnessChangeEvent$1;-><init>()V
-HSPLandroid/hardware/display/BrightnessChangeEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/display/BrightnessChangeEvent;
-HSPLandroid/hardware/display/BrightnessChangeEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/display/BrightnessChangeEvent;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/hardware/display/BrightnessChangeEvent$Builder;-><init>()V
+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
 HSPLandroid/hardware/display/BrightnessConfiguration$1;-><init>()V
 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;
 HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->build()Landroid/hardware/display/BrightnessConfiguration;
 HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->checkMonotonic([FZLjava/lang/String;)V
-HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->setCurve([F[F)Landroid/hardware/display/BrightnessConfiguration$Builder;
-HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->setDescription(Ljava/lang/String;)Landroid/hardware/display/BrightnessConfiguration$Builder;
+HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->getMaxCorrectionsByCategory()I
+HSPLandroid/hardware/display/BrightnessConfiguration$Builder;->getMaxCorrectionsByPackageName()I
 HSPLandroid/hardware/display/BrightnessConfiguration;->equals(Ljava/lang/Object;)Z
 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;
+HSPLandroid/hardware/display/BrightnessCorrection$1;-><init>()V
+HSPLandroid/hardware/display/BrightnessCorrection$ScaleAndTranslateLog;-><init>(FF)V
+HSPLandroid/hardware/display/BrightnessCorrection;->loadFloatFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)F
+HSPLandroid/hardware/display/ColorDisplayManager$ColorDisplayManagerInternal;->getInstance()Landroid/hardware/display/ColorDisplayManager$ColorDisplayManagerInternal;
+HSPLandroid/hardware/display/ColorDisplayManager$ColorDisplayManagerInternal;->getNightDisplayAutoMode()I
+HSPLandroid/hardware/display/ColorDisplayManager$ColorDisplayManagerInternal;->getNightDisplayCustomStartTime()Landroid/hardware/display/Time;
+HSPLandroid/hardware/display/ColorDisplayManager$ColorDisplayManagerInternal;->isDeviceColorManaged()Z
+HSPLandroid/hardware/display/ColorDisplayManager$ColorDisplayManagerInternal;->isNightDisplayActivated()Z
+HSPLandroid/hardware/display/ColorDisplayManager$ColorDisplayManagerInternal;->setSaturationLevel(I)Z
+HSPLandroid/hardware/display/ColorDisplayManager;->areAccessibilityTransformsEnabled(Landroid/content/Context;)Z
+HSPLandroid/hardware/display/ColorDisplayManager;->getNightDisplayAutoMode()I
+HSPLandroid/hardware/display/ColorDisplayManager;->getNightDisplayCustomStartTime()Ljava/time/LocalTime;
+HSPLandroid/hardware/display/ColorDisplayManager;->isDeviceColorManaged()Z
+HSPLandroid/hardware/display/ColorDisplayManager;->isDisplayWhiteBalanceAvailable(Landroid/content/Context;)Z
+HSPLandroid/hardware/display/ColorDisplayManager;->isNightDisplayActivated()Z
+HSPLandroid/hardware/display/ColorDisplayManager;->isNightDisplayAvailable(Landroid/content/Context;)Z
 HSPLandroid/hardware/display/Curve$1;-><init>()V
 HSPLandroid/hardware/display/DisplayManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/hardware/display/DisplayManager;->addPresentationDisplaysLocked(Ljava/util/ArrayList;[II)V
-HSPLandroid/hardware/display/DisplayManager;->getAmbientBrightnessStats()Ljava/util/List;
-HSPLandroid/hardware/display/DisplayManager;->getBrightnessEvents()Ljava/util/List;
 HSPLandroid/hardware/display/DisplayManager;->getDisplay(I)Landroid/view/Display;
 HSPLandroid/hardware/display/DisplayManager;->getDisplays()[Landroid/view/Display;
 HSPLandroid/hardware/display/DisplayManager;->getDisplays(Ljava/lang/String;)[Landroid/view/Display;
 HSPLandroid/hardware/display/DisplayManager;->getOrCreateDisplayLocked(IZ)Landroid/view/Display;
 HSPLandroid/hardware/display/DisplayManager;->getStableDisplaySize()Landroid/graphics/Point;
+HSPLandroid/hardware/display/DisplayManager;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
 HSPLandroid/hardware/display/DisplayManager;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
-HSPLandroid/hardware/display/DisplayManager;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)V
+HSPLandroid/hardware/display/DisplayManager;->setSaturationLevel(F)V
 HSPLandroid/hardware/display/DisplayManager;->unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V
 HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayListenerDelegate;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/hardware/display/DisplayManagerGlobal$DisplayManagerCallback;->onDisplayEvent(II)V
-HSPLandroid/hardware/display/DisplayManagerGlobal;->getAmbientBrightnessStats()Ljava/util/List;
-HSPLandroid/hardware/display/DisplayManagerGlobal;->getBrightnessEvents(Ljava/lang/String;)Ljava/util/List;
+HSPLandroid/hardware/display/DisplayManagerGlobal;-><init>(Landroid/hardware/display/IDisplayManager;)V
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getDisplayIds()[I
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getDisplayInfo(I)Landroid/view/DisplayInfo;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getInstance()Landroid/hardware/display/DisplayManagerGlobal;
+HSPLandroid/hardware/display/DisplayManagerGlobal;->getLooperForHandler(Landroid/os/Handler;)Landroid/os/Looper;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getStableDisplaySize()Landroid/graphics/Point;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
 HSPLandroid/hardware/display/DisplayManagerGlobal;->handleDisplayEvent(II)V
 HSPLandroid/hardware/display/DisplayManagerGlobal;->registerCallbackIfNeededLocked()V
 HSPLandroid/hardware/display/DisplayManagerGlobal;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
-HSPLandroid/hardware/display/DisplayManagerGlobal;->setBrightnessConfigurationForUser(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
 HSPLandroid/hardware/display/DisplayManagerGlobal;->unregisterDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;)V
-HSPLandroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;->acquireSuspendBlocker()V
-HSPLandroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;->onDisplayStateChange(I)V
-HSPLandroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;->onProximityNegative()V
-HSPLandroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;->onProximityPositive()V
-HSPLandroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;->onStateChanged()V
-HSPLandroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;->releaseSuspendBlocker()V
 HSPLandroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;-><init>(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)V
 HSPLandroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->copyFrom(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)V
 HSPLandroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;->equals(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)Z
-HSPLandroid/hardware/display/DisplayManagerInternal;->getDisplayInfo(I)Landroid/view/DisplayInfo;
-HSPLandroid/hardware/display/DisplayManagerInternal;->getNonOverrideDisplayInfo(ILandroid/view/DisplayInfo;)V
-HSPLandroid/hardware/display/DisplayManagerInternal;->initPowerManagement(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;Landroid/os/Handler;Landroid/hardware/SensorManager;)V
-HSPLandroid/hardware/display/DisplayManagerInternal;->isProximitySensorAvailable()Z
-HSPLandroid/hardware/display/DisplayManagerInternal;->isUidPresentOnDisplay(II)Z
-HSPLandroid/hardware/display/DisplayManagerInternal;->onOverlayChanged()V
-HSPLandroid/hardware/display/DisplayManagerInternal;->performTraversal(Landroid/view/SurfaceControl$Transaction;)V
-HSPLandroid/hardware/display/DisplayManagerInternal;->persistBrightnessTrackerState()V
-HSPLandroid/hardware/display/DisplayManagerInternal;->registerDisplayTransactionListener(Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
-HSPLandroid/hardware/display/DisplayManagerInternal;->requestPowerState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Z)Z
-HSPLandroid/hardware/display/DisplayManagerInternal;->setDisplayAccessUIDs(Landroid/util/SparseArray;)V
-HSPLandroid/hardware/display/DisplayManagerInternal;->setDisplayInfoOverrideFromWindowManager(ILandroid/view/DisplayInfo;)V
-HSPLandroid/hardware/display/DisplayManagerInternal;->setDisplayOffsets(III)V
-HSPLandroid/hardware/display/DisplayManagerInternal;->setDisplayProperties(IZFIZ)V
-HSPLandroid/hardware/display/DisplayManagerInternal;->unregisterDisplayTransactionListener(Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
 HSPLandroid/hardware/display/DisplayViewport;-><init>()V
 HSPLandroid/hardware/display/DisplayViewport;->copyFrom(Landroid/hardware/display/DisplayViewport;)V
-HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getAmbientBrightnessStats()Landroid/content/pm/ParceledListSlice;
-HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getBrightnessEvents(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
+HSPLandroid/hardware/display/DisplayViewport;->equals(Ljava/lang/Object;)Z
+HSPLandroid/hardware/display/DisplayViewport;->makeCopy()Landroid/hardware/display/DisplayViewport;
+HSPLandroid/hardware/display/DisplayedContentSamplingAttributes;-><init>(III)V
+HSPLandroid/hardware/display/IColorDisplayManager$Stub$Proxy;->getNightDisplayAutoMode()I
+HSPLandroid/hardware/display/IColorDisplayManager$Stub$Proxy;->getNightDisplayCustomStartTime()Landroid/hardware/display/Time;
+HSPLandroid/hardware/display/IColorDisplayManager$Stub$Proxy;->isDeviceColorManaged()Z
+HSPLandroid/hardware/display/IColorDisplayManager$Stub$Proxy;->isNightDisplayActivated()Z
+HSPLandroid/hardware/display/IColorDisplayManager$Stub$Proxy;->setSaturationLevel(I)Z
+HSPLandroid/hardware/display/IColorDisplayManager$Stub;-><init>()V
 HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getDisplayIds()[I
 HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getDisplayInfo(I)Landroid/view/DisplayInfo;
+HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getPreferredWideGamutColorSpaceId()I
 HSPLandroid/hardware/display/IDisplayManager$Stub$Proxy;->getStableDisplaySize()Landroid/graphics/Point;
 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$Proxy;->setBrightnessConfigurationForUser(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
 HSPLandroid/hardware/display/IDisplayManager$Stub;-><init>()V
 HSPLandroid/hardware/display/IDisplayManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/display/IDisplayManager;->connectWifiDisplay(Ljava/lang/String;)V
-HSPLandroid/hardware/display/IDisplayManager;->createVirtualDisplay(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/media/projection/IMediaProjection;Ljava/lang/String;Ljava/lang/String;IIILandroid/view/Surface;ILjava/lang/String;)I
-HSPLandroid/hardware/display/IDisplayManager;->disconnectWifiDisplay()V
-HSPLandroid/hardware/display/IDisplayManager;->forgetWifiDisplay(Ljava/lang/String;)V
-HSPLandroid/hardware/display/IDisplayManager;->getAmbientBrightnessStats()Landroid/content/pm/ParceledListSlice;
-HSPLandroid/hardware/display/IDisplayManager;->getBrightnessConfigurationForUser(I)Landroid/hardware/display/BrightnessConfiguration;
-HSPLandroid/hardware/display/IDisplayManager;->getBrightnessEvents(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLandroid/hardware/display/IDisplayManager;->getDefaultBrightnessConfiguration()Landroid/hardware/display/BrightnessConfiguration;
-HSPLandroid/hardware/display/IDisplayManager;->getDisplayIds()[I
-HSPLandroid/hardware/display/IDisplayManager;->getDisplayInfo(I)Landroid/view/DisplayInfo;
-HSPLandroid/hardware/display/IDisplayManager;->getMinimumBrightnessCurve()Landroid/hardware/display/Curve;
-HSPLandroid/hardware/display/IDisplayManager;->getStableDisplaySize()Landroid/graphics/Point;
-HSPLandroid/hardware/display/IDisplayManager;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
-HSPLandroid/hardware/display/IDisplayManager;->pauseWifiDisplay()V
-HSPLandroid/hardware/display/IDisplayManager;->registerCallback(Landroid/hardware/display/IDisplayManagerCallback;)V
-HSPLandroid/hardware/display/IDisplayManager;->releaseVirtualDisplay(Landroid/hardware/display/IVirtualDisplayCallback;)V
-HSPLandroid/hardware/display/IDisplayManager;->renameWifiDisplay(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/hardware/display/IDisplayManager;->requestColorMode(II)V
-HSPLandroid/hardware/display/IDisplayManager;->resizeVirtualDisplay(Landroid/hardware/display/IVirtualDisplayCallback;III)V
-HSPLandroid/hardware/display/IDisplayManager;->resumeWifiDisplay()V
-HSPLandroid/hardware/display/IDisplayManager;->setBrightnessConfigurationForUser(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
-HSPLandroid/hardware/display/IDisplayManager;->setSaturationLevel(F)V
-HSPLandroid/hardware/display/IDisplayManager;->setTemporaryAutoBrightnessAdjustment(F)V
-HSPLandroid/hardware/display/IDisplayManager;->setTemporaryBrightness(I)V
-HSPLandroid/hardware/display/IDisplayManager;->setVirtualDisplaySurface(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/view/Surface;)V
-HSPLandroid/hardware/display/IDisplayManager;->startWifiDisplayScan()V
-HSPLandroid/hardware/display/IDisplayManager;->stopWifiDisplayScan()V
 HSPLandroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLandroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;->onDisplayEvent(II)V
 HSPLandroid/hardware/display/IDisplayManagerCallback$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/hardware/display/IDisplayManagerCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/display/IDisplayManagerCallback;->onDisplayEvent(II)V
 HSPLandroid/hardware/display/WifiDisplay$1;-><init>()V
 HSPLandroid/hardware/display/WifiDisplay$1;->newArray(I)[Landroid/hardware/display/WifiDisplay;
 HSPLandroid/hardware/display/WifiDisplay$1;->newArray(I)[Ljava/lang/Object;
@@ -21684,97 +19917,47 @@
 HSPLandroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;->hasEnrolledFingerprints(ILjava/lang/String;)Z
 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;
 HSPLandroid/hardware/fingerprint/IFingerprintService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/fingerprint/IFingerprintService;->addClientActiveCallback(Landroid/hardware/fingerprint/IFingerprintClientActiveCallback;)V
-HSPLandroid/hardware/fingerprint/IFingerprintService;->addLockoutResetCallback(Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback;)V
-HSPLandroid/hardware/fingerprint/IFingerprintService;->authenticate(Landroid/os/IBinder;JILandroid/hardware/fingerprint/IFingerprintServiceReceiver;ILjava/lang/String;Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricPromptReceiver;)V
-HSPLandroid/hardware/fingerprint/IFingerprintService;->cancelAuthentication(Landroid/os/IBinder;Ljava/lang/String;)V
-HSPLandroid/hardware/fingerprint/IFingerprintService;->cancelEnrollment(Landroid/os/IBinder;)V
-HSPLandroid/hardware/fingerprint/IFingerprintService;->enroll(Landroid/os/IBinder;[BILandroid/hardware/fingerprint/IFingerprintServiceReceiver;ILjava/lang/String;)V
-HSPLandroid/hardware/fingerprint/IFingerprintService;->enumerate(Landroid/os/IBinder;ILandroid/hardware/fingerprint/IFingerprintServiceReceiver;)V
-HSPLandroid/hardware/fingerprint/IFingerprintService;->getAuthenticatorId(Ljava/lang/String;)J
-HSPLandroid/hardware/fingerprint/IFingerprintService;->getEnrolledFingerprints(ILjava/lang/String;)Ljava/util/List;
-HSPLandroid/hardware/fingerprint/IFingerprintService;->hasEnrolledFingerprints(ILjava/lang/String;)Z
-HSPLandroid/hardware/fingerprint/IFingerprintService;->isClientActive()Z
-HSPLandroid/hardware/fingerprint/IFingerprintService;->isHardwareDetected(JLjava/lang/String;)Z
-HSPLandroid/hardware/fingerprint/IFingerprintService;->postEnroll(Landroid/os/IBinder;)I
-HSPLandroid/hardware/fingerprint/IFingerprintService;->preEnroll(Landroid/os/IBinder;)J
-HSPLandroid/hardware/fingerprint/IFingerprintService;->remove(Landroid/os/IBinder;IIILandroid/hardware/fingerprint/IFingerprintServiceReceiver;)V
-HSPLandroid/hardware/fingerprint/IFingerprintService;->removeClientActiveCallback(Landroid/hardware/fingerprint/IFingerprintClientActiveCallback;)V
-HSPLandroid/hardware/fingerprint/IFingerprintService;->rename(IILjava/lang/String;)V
-HSPLandroid/hardware/fingerprint/IFingerprintService;->resetTimeout([B)V
-HSPLandroid/hardware/fingerprint/IFingerprintService;->setActiveUser(I)V
-HSPLandroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback;->onLockoutReset(JLandroid/os/IRemoteCallback;)V
-HSPLandroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;->onError(JII)V
-HSPLandroid/hardware/fingerprint/IFingerprintServiceReceiver;->onAcquired(JII)V
-HSPLandroid/hardware/fingerprint/IFingerprintServiceReceiver;->onAuthenticationFailed(J)V
-HSPLandroid/hardware/fingerprint/IFingerprintServiceReceiver;->onAuthenticationSucceeded(JLandroid/hardware/fingerprint/Fingerprint;I)V
-HSPLandroid/hardware/fingerprint/IFingerprintServiceReceiver;->onEnrollResult(JIII)V
-HSPLandroid/hardware/fingerprint/IFingerprintServiceReceiver;->onEnumerated(JIII)V
-HSPLandroid/hardware/fingerprint/IFingerprintServiceReceiver;->onError(JII)V
-HSPLandroid/hardware/fingerprint/IFingerprintServiceReceiver;->onRemoved(JIII)V
-HSPLandroid/hardware/hdmi/HdmiPlaybackClient$DisplayStatusCallback;->onComplete(I)V
-HSPLandroid/hardware/input/IInputDevicesChangedListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/fingerprint/IFingerprintServiceReceiver;
 HSPLandroid/hardware/input/IInputDevicesChangedListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/input/IInputDevicesChangedListener;->onInputDevicesChanged([I)V
 HSPLandroid/hardware/input/IInputManager$Stub$Proxy;->getInputDevice(I)Landroid/view/InputDevice;
 HSPLandroid/hardware/input/IInputManager$Stub$Proxy;->getInputDeviceIds()[I
 HSPLandroid/hardware/input/IInputManager$Stub$Proxy;->registerInputDevicesChangedListener(Landroid/hardware/input/IInputDevicesChangedListener;)V
 HSPLandroid/hardware/input/IInputManager$Stub;-><init>()V
-HSPLandroid/hardware/input/IInputManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/input/IInputManager;->addKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;)V
-HSPLandroid/hardware/input/IInputManager;->cancelVibrate(ILandroid/os/IBinder;)V
-HSPLandroid/hardware/input/IInputManager;->createInputForwarder(I)Landroid/app/IInputForwarder;
-HSPLandroid/hardware/input/IInputManager;->disableInputDevice(I)V
-HSPLandroid/hardware/input/IInputManager;->enableInputDevice(I)V
-HSPLandroid/hardware/input/IInputManager;->getCurrentKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)Ljava/lang/String;
-HSPLandroid/hardware/input/IInputManager;->getEnabledKeyboardLayoutsForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)[Ljava/lang/String;
-HSPLandroid/hardware/input/IInputManager;->getInputDevice(I)Landroid/view/InputDevice;
-HSPLandroid/hardware/input/IInputManager;->getInputDeviceIds()[I
-HSPLandroid/hardware/input/IInputManager;->getKeyboardLayout(Ljava/lang/String;)Landroid/hardware/input/KeyboardLayout;
-HSPLandroid/hardware/input/IInputManager;->getKeyboardLayouts()[Landroid/hardware/input/KeyboardLayout;
-HSPLandroid/hardware/input/IInputManager;->getKeyboardLayoutsForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)[Landroid/hardware/input/KeyboardLayout;
-HSPLandroid/hardware/input/IInputManager;->getTouchCalibrationForInputDevice(Ljava/lang/String;I)Landroid/hardware/input/TouchCalibration;
-HSPLandroid/hardware/input/IInputManager;->hasKeys(II[I[Z)Z
-HSPLandroid/hardware/input/IInputManager;->injectInputEvent(Landroid/view/InputEvent;I)Z
-HSPLandroid/hardware/input/IInputManager;->isInTabletMode()I
-HSPLandroid/hardware/input/IInputManager;->isInputDeviceEnabled(I)Z
-HSPLandroid/hardware/input/IInputManager;->registerInputDevicesChangedListener(Landroid/hardware/input/IInputDevicesChangedListener;)V
-HSPLandroid/hardware/input/IInputManager;->registerTabletModeChangedListener(Landroid/hardware/input/ITabletModeChangedListener;)V
-HSPLandroid/hardware/input/IInputManager;->removeKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;)V
-HSPLandroid/hardware/input/IInputManager;->requestPointerCapture(Landroid/os/IBinder;Z)V
-HSPLandroid/hardware/input/IInputManager;->setCurrentKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;Ljava/lang/String;)V
-HSPLandroid/hardware/input/IInputManager;->setCustomPointerIcon(Landroid/view/PointerIcon;)V
-HSPLandroid/hardware/input/IInputManager;->setPointerIconType(I)V
-HSPLandroid/hardware/input/IInputManager;->setTouchCalibrationForInputDevice(Ljava/lang/String;ILandroid/hardware/input/TouchCalibration;)V
-HSPLandroid/hardware/input/IInputManager;->tryPointerSpeed(I)V
-HSPLandroid/hardware/input/IInputManager;->vibrate(I[JILandroid/os/IBinder;)V
 HSPLandroid/hardware/input/InputDeviceIdentifier$1;-><init>()V
 HSPLandroid/hardware/input/InputDeviceIdentifier;-><init>(Ljava/lang/String;II)V
-HSPLandroid/hardware/input/InputManager$InputDeviceListener;->onInputDeviceAdded(I)V
-HSPLandroid/hardware/input/InputManager$InputDeviceListener;->onInputDeviceChanged(I)V
-HSPLandroid/hardware/input/InputManager$InputDeviceListener;->onInputDeviceRemoved(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;->populateInputDevicesLocked()V
-HSPLandroid/hardware/input/InputManager;->registerInputDeviceListener(Landroid/hardware/input/InputManager$InputDeviceListener;Landroid/os/Handler;)V
-HSPLandroid/hardware/input/InputManager;->unregisterInputDeviceListener(Landroid/hardware/input/InputManager$InputDeviceListener;)V
-HSPLandroid/hardware/input/InputManagerInternal;->injectInputEvent(Landroid/view/InputEvent;II)Z
-HSPLandroid/hardware/input/InputManagerInternal;->setDisplayViewports(Landroid/hardware/display/DisplayViewport;Landroid/hardware/display/DisplayViewport;Ljava/util/List;)V
-HSPLandroid/hardware/input/InputManagerInternal;->setInteractive(Z)V
-HSPLandroid/hardware/input/InputManagerInternal;->setPulseGestureEnabled(Z)V
-HSPLandroid/hardware/input/InputManagerInternal;->toggleCapsLock(I)V
 HSPLandroid/hardware/input/KeyboardLayout$1;-><init>()V
 HSPLandroid/hardware/input/TouchCalibration$1;-><init>()V
 HSPLandroid/hardware/input/TouchCalibration;-><init>()V
 HSPLandroid/hardware/input/TouchCalibration;->getAffineTransform()[F
+HSPLandroid/hardware/location/-$$Lambda$ContextHubManager$4$sylEfC1Rx_cxuQRnKuthZXmV8KI;->run()V
 HSPLandroid/hardware/location/ActivityRecognitionHardware;->isSupported()Z
+HSPLandroid/hardware/location/ContextHubClientCallback;-><init>()V
 HSPLandroid/hardware/location/ContextHubInfo$1;-><init>()V
+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;-><init>(Landroid/hardware/contexthub/V1_0/ContextHub;)V
+HSPLandroid/hardware/location/ContextHubInfo;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/hardware/location/ContextHubInfo;->getId()I
+HSPLandroid/hardware/location/ContextHubInfo;->getMaxPacketLengthBytes()I
+HSPLandroid/hardware/location/ContextHubInfo;->getPlatformVersion()I
+HSPLandroid/hardware/location/ContextHubInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/hardware/location/ContextHubManager$4;->onMessageReceipt(IILandroid/hardware/location/ContextHubMessage;)V
+HSPLandroid/hardware/location/ContextHubManager$Callback;-><init>()V
+HSPLandroid/hardware/location/ContextHubManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+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;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
+HSPLandroid/hardware/location/ContextHubManager;->invokeOnMessageReceiptCallback(IILandroid/hardware/location/ContextHubMessage;)V
+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/ContextHubMessage$1;-><init>()V
 HSPLandroid/hardware/location/ContextHubMessage$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/ContextHubMessage;
 HSPLandroid/hardware/location/ContextHubMessage$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -21782,117 +19965,68 @@
 HSPLandroid/hardware/location/ContextHubMessage;->getData()[B
 HSPLandroid/hardware/location/ContextHubMessage;->getMsgType()I
 HSPLandroid/hardware/location/ContextHubMessage;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/hardware/location/GeofenceHardware;-><init>(Landroid/hardware/location/IGeofenceHardware;)V
+HSPLandroid/hardware/location/GeofenceHardware;->getMonitorCallbackWrapper(Landroid/hardware/location/GeofenceHardwareMonitorCallback;)Landroid/hardware/location/GeofenceHardware$GeofenceHardwareMonitorCallbackWrapper;
+HSPLandroid/hardware/location/GeofenceHardware;->getMonitoringTypes()[I
+HSPLandroid/hardware/location/GeofenceHardware;->getStatusOfMonitoringType(I)I
+HSPLandroid/hardware/location/GeofenceHardware;->registerForMonitorStateChangeCallback(ILandroid/hardware/location/GeofenceHardwareMonitorCallback;)Z
+HSPLandroid/hardware/location/GeofenceHardwareCallback;-><init>()V
 HSPLandroid/hardware/location/GeofenceHardwareImpl;-><init>(Landroid/content/Context;)V
 HSPLandroid/hardware/location/GeofenceHardwareImpl;->getInstance(Landroid/content/Context;)Landroid/hardware/location/GeofenceHardwareImpl;
 HSPLandroid/hardware/location/GeofenceHardwareImpl;->setMonitorAvailability(II)V
-HSPLandroid/hardware/location/GeofenceHardwareImpl;->updateFusedHardwareAvailability()V
 HSPLandroid/hardware/location/GeofenceHardwareImpl;->updateGpsHardwareAvailability()V
-HSPLandroid/hardware/location/GeofenceHardwareService$1;->setFusedGeofenceHardware(Landroid/location/IFusedGeofenceHardware;)V
+HSPLandroid/hardware/location/GeofenceHardwareMonitorCallback;-><init>()V
 HSPLandroid/hardware/location/GeofenceHardwareService$1;->setGpsGeofenceHardware(Landroid/location/IGpsGeofenceHardware;)V
 HSPLandroid/hardware/location/GeofenceHardwareService;-><init>()V
 HSPLandroid/hardware/location/GeofenceHardwareService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
 HSPLandroid/hardware/location/GeofenceHardwareService;->onCreate()V
-HSPLandroid/hardware/location/IActivityRecognitionHardware;->disableActivityEvent(Ljava/lang/String;I)Z
-HSPLandroid/hardware/location/IActivityRecognitionHardware;->enableActivityEvent(Ljava/lang/String;IJ)Z
-HSPLandroid/hardware/location/IActivityRecognitionHardware;->flush()Z
-HSPLandroid/hardware/location/IActivityRecognitionHardware;->getSupportedActivities()[Ljava/lang/String;
-HSPLandroid/hardware/location/IActivityRecognitionHardware;->isActivitySupported(Ljava/lang/String;)Z
-HSPLandroid/hardware/location/IActivityRecognitionHardware;->registerSink(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z
-HSPLandroid/hardware/location/IActivityRecognitionHardware;->unregisterSink(Landroid/hardware/location/IActivityRecognitionHardwareSink;)Z
 HSPLandroid/hardware/location/IContextHubCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/hardware/location/IContextHubCallback$Stub$Proxy;->onMessageReceipt(IILandroid/hardware/location/ContextHubMessage;)V
-HSPLandroid/hardware/location/IContextHubCallback;->onMessageReceipt(IILandroid/hardware/location/ContextHubMessage;)V
+HSPLandroid/hardware/location/IContextHubCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/hardware/location/IContextHubCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/hardware/location/IContextHubClient$Stub;-><init>()V
+HSPLandroid/hardware/location/IContextHubClient$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/hardware/location/IContextHubClient$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IContextHubClient;
-HSPLandroid/hardware/location/IContextHubClient;->close()V
-HSPLandroid/hardware/location/IContextHubClient;->sendMessageToNanoApp(Landroid/hardware/location/NanoAppMessage;)I
+HSPLandroid/hardware/location/IContextHubClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/hardware/location/IContextHubClientCallback$Stub$Proxy;->onMessageFromNanoApp(Landroid/hardware/location/NanoAppMessage;)V
 HSPLandroid/hardware/location/IContextHubClientCallback$Stub;-><init>()V
 HSPLandroid/hardware/location/IContextHubClientCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/location/IContextHubClientCallback;->onHubReset()V
-HSPLandroid/hardware/location/IContextHubClientCallback;->onMessageFromNanoApp(Landroid/hardware/location/NanoAppMessage;)V
-HSPLandroid/hardware/location/IContextHubClientCallback;->onNanoAppAborted(JI)V
-HSPLandroid/hardware/location/IContextHubClientCallback;->onNanoAppDisabled(J)V
-HSPLandroid/hardware/location/IContextHubClientCallback;->onNanoAppEnabled(J)V
-HSPLandroid/hardware/location/IContextHubClientCallback;->onNanoAppLoaded(J)V
-HSPLandroid/hardware/location/IContextHubClientCallback;->onNanoAppUnloaded(J)V
+HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->findNanoAppOnHub(ILandroid/hardware/location/NanoAppFilter;)[I
+HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->getContextHubHandles()[I
+HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->getContextHubInfo(I)Landroid/hardware/location/ContextHubInfo;
+HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
+HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->registerCallback(Landroid/hardware/location/IContextHubCallback;)I
+HSPLandroid/hardware/location/IContextHubService$Stub$Proxy;->sendMessage(IILandroid/hardware/location/ContextHubMessage;)I
 HSPLandroid/hardware/location/IContextHubService$Stub;-><init>()V
 HSPLandroid/hardware/location/IContextHubService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/hardware/location/IContextHubService;->createClient(Landroid/hardware/location/IContextHubClientCallback;I)Landroid/hardware/location/IContextHubClient;
-HSPLandroid/hardware/location/IContextHubService;->disableNanoApp(ILandroid/hardware/location/IContextHubTransactionCallback;J)V
-HSPLandroid/hardware/location/IContextHubService;->enableNanoApp(ILandroid/hardware/location/IContextHubTransactionCallback;J)V
-HSPLandroid/hardware/location/IContextHubService;->findNanoAppOnHub(ILandroid/hardware/location/NanoAppFilter;)[I
-HSPLandroid/hardware/location/IContextHubService;->getContextHubHandles()[I
-HSPLandroid/hardware/location/IContextHubService;->getContextHubInfo(I)Landroid/hardware/location/ContextHubInfo;
-HSPLandroid/hardware/location/IContextHubService;->getContextHubs()Ljava/util/List;
-HSPLandroid/hardware/location/IContextHubService;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
-HSPLandroid/hardware/location/IContextHubService;->loadNanoApp(ILandroid/hardware/location/NanoApp;)I
-HSPLandroid/hardware/location/IContextHubService;->loadNanoAppOnHub(ILandroid/hardware/location/IContextHubTransactionCallback;Landroid/hardware/location/NanoAppBinary;)V
-HSPLandroid/hardware/location/IContextHubService;->queryNanoApps(ILandroid/hardware/location/IContextHubTransactionCallback;)V
-HSPLandroid/hardware/location/IContextHubService;->registerCallback(Landroid/hardware/location/IContextHubCallback;)I
-HSPLandroid/hardware/location/IContextHubService;->sendMessage(IILandroid/hardware/location/ContextHubMessage;)I
-HSPLandroid/hardware/location/IContextHubService;->unloadNanoApp(I)I
-HSPLandroid/hardware/location/IContextHubService;->unloadNanoAppFromHub(ILandroid/hardware/location/IContextHubTransactionCallback;J)V
 HSPLandroid/hardware/location/IContextHubTransactionCallback$Stub;-><init>()V
-HSPLandroid/hardware/location/IContextHubTransactionCallback;->onQueryResponse(ILjava/util/List;)V
-HSPLandroid/hardware/location/IContextHubTransactionCallback;->onTransactionComplete(I)V
+HSPLandroid/hardware/location/IGeofenceHardware$Stub$Proxy;->getMonitoringTypes()[I
+HSPLandroid/hardware/location/IGeofenceHardware$Stub$Proxy;->getStatusOfMonitoringType(I)I
+HSPLandroid/hardware/location/IGeofenceHardware$Stub$Proxy;->registerForMonitorStateChangeCallback(ILandroid/hardware/location/IGeofenceHardwareMonitorCallback;)Z
 HSPLandroid/hardware/location/IGeofenceHardware$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/location/IGeofenceHardware;
-HSPLandroid/hardware/location/IGeofenceHardware;->addCircularFence(ILandroid/hardware/location/GeofenceHardwareRequestParcelable;Landroid/hardware/location/IGeofenceHardwareCallback;)Z
-HSPLandroid/hardware/location/IGeofenceHardware;->getMonitoringTypes()[I
-HSPLandroid/hardware/location/IGeofenceHardware;->getStatusOfMonitoringType(I)I
-HSPLandroid/hardware/location/IGeofenceHardware;->pauseGeofence(II)Z
-HSPLandroid/hardware/location/IGeofenceHardware;->registerForMonitorStateChangeCallback(ILandroid/hardware/location/IGeofenceHardwareMonitorCallback;)Z
-HSPLandroid/hardware/location/IGeofenceHardware;->removeGeofence(II)Z
-HSPLandroid/hardware/location/IGeofenceHardware;->resumeGeofence(III)Z
-HSPLandroid/hardware/location/IGeofenceHardware;->setFusedGeofenceHardware(Landroid/location/IFusedGeofenceHardware;)V
-HSPLandroid/hardware/location/IGeofenceHardware;->setGpsGeofenceHardware(Landroid/location/IGpsGeofenceHardware;)V
-HSPLandroid/hardware/location/IGeofenceHardware;->unregisterForMonitorStateChangeCallback(ILandroid/hardware/location/IGeofenceHardwareMonitorCallback;)Z
+HSPLandroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/hardware/location/MemoryRegion$1;-><init>()V
+HSPLandroid/hardware/location/MemoryRegion$1;->newArray(I)[Landroid/hardware/location/MemoryRegion;
+HSPLandroid/hardware/location/MemoryRegion$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/hardware/location/NanoAppFilter$1;-><init>()V
-HSPLandroid/hardware/location/NanoAppFilter$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/location/NanoAppFilter;
-HSPLandroid/hardware/location/NanoAppFilter$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/hardware/location/NanoAppFilter;->testMatch(Landroid/hardware/location/NanoAppInstanceInfo;)Z
+HSPLandroid/hardware/location/NanoAppFilter;-><init>(JIIJ)V
+HSPLandroid/hardware/location/NanoAppFilter;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/hardware/location/NanoAppInstanceInfo$1;-><init>()V
+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>(IJII)V
+HSPLandroid/hardware/location/NanoAppInstanceInfo;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/hardware/location/NanoAppInstanceInfo;->getAppId()J
 HSPLandroid/hardware/location/NanoAppInstanceInfo;->getAppVersion()I
 HSPLandroid/hardware/location/NanoAppInstanceInfo;->getContexthubId()I
 HSPLandroid/hardware/location/NanoAppInstanceInfo;->getHandle()I
 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;
+HSPLandroid/hardware/location/NanoAppMessage;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/hardware/location/NanoAppMessage;->createMessageFromNanoApp(JI[BZ)Landroid/hardware/location/NanoAppMessage;
-HSPLandroid/hardware/location/NanoAppMessage;->createMessageToNanoApp(JI[B)Landroid/hardware/location/NanoAppMessage;
-HSPLandroid/hardware/location/NanoAppMessage;->toString()Ljava/lang/String;
 HSPLandroid/hardware/location/NanoAppState$1;-><init>()V
-HSPLandroid/hardware/radio/ITuner;->cancel()V
-HSPLandroid/hardware/radio/ITuner;->cancelAnnouncement()V
-HSPLandroid/hardware/radio/ITuner;->close()V
-HSPLandroid/hardware/radio/ITuner;->getConfiguration()Landroid/hardware/radio/RadioManager$BandConfig;
-HSPLandroid/hardware/radio/ITuner;->getImage(I)Landroid/graphics/Bitmap;
-HSPLandroid/hardware/radio/ITuner;->getParameters(Ljava/util/List;)Ljava/util/Map;
-HSPLandroid/hardware/radio/ITuner;->isClosed()Z
-HSPLandroid/hardware/radio/ITuner;->isConfigFlagSet(I)Z
-HSPLandroid/hardware/radio/ITuner;->isConfigFlagSupported(I)Z
-HSPLandroid/hardware/radio/ITuner;->isMuted()Z
-HSPLandroid/hardware/radio/ITuner;->scan(ZZ)V
-HSPLandroid/hardware/radio/ITuner;->setConfigFlag(IZ)V
-HSPLandroid/hardware/radio/ITuner;->setConfiguration(Landroid/hardware/radio/RadioManager$BandConfig;)V
-HSPLandroid/hardware/radio/ITuner;->setMuted(Z)V
-HSPLandroid/hardware/radio/ITuner;->setParameters(Ljava/util/Map;)Ljava/util/Map;
-HSPLandroid/hardware/radio/ITuner;->startBackgroundScan()Z
-HSPLandroid/hardware/radio/ITuner;->startProgramListUpdates(Landroid/hardware/radio/ProgramList$Filter;)V
-HSPLandroid/hardware/radio/ITuner;->step(ZZ)V
-HSPLandroid/hardware/radio/ITuner;->stopProgramListUpdates()V
-HSPLandroid/hardware/radio/ITuner;->tune(Landroid/hardware/radio/ProgramSelector;)V
-HSPLandroid/hardware/radio/ITunerCallback;->onAntennaState(Z)V
-HSPLandroid/hardware/radio/ITunerCallback;->onBackgroundScanAvailabilityChange(Z)V
-HSPLandroid/hardware/radio/ITunerCallback;->onBackgroundScanComplete()V
-HSPLandroid/hardware/radio/ITunerCallback;->onConfigurationChanged(Landroid/hardware/radio/RadioManager$BandConfig;)V
-HSPLandroid/hardware/radio/ITunerCallback;->onCurrentProgramInfoChanged(Landroid/hardware/radio/RadioManager$ProgramInfo;)V
-HSPLandroid/hardware/radio/ITunerCallback;->onEmergencyAnnouncement(Z)V
-HSPLandroid/hardware/radio/ITunerCallback;->onError(I)V
-HSPLandroid/hardware/radio/ITunerCallback;->onParametersUpdated(Ljava/util/Map;)V
-HSPLandroid/hardware/radio/ITunerCallback;->onProgramListChanged()V
-HSPLandroid/hardware/radio/ITunerCallback;->onProgramListUpdated(Landroid/hardware/radio/ProgramList$Chunk;)V
-HSPLandroid/hardware/radio/ITunerCallback;->onTrafficAnnouncement(Z)V
-HSPLandroid/hardware/radio/ITunerCallback;->onTuneFailed(ILandroid/hardware/radio/ProgramSelector;)V
 HSPLandroid/hardware/radio/ProgramSelector$1;-><init>()V
 HSPLandroid/hardware/radio/ProgramSelector$Identifier$1;-><init>()V
 HSPLandroid/hardware/radio/RadioManager$AmBandConfig$1;-><init>()V
@@ -21908,280 +20042,30 @@
 HSPLandroid/hardware/radio/V1_0/ActivityStatsInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
 HSPLandroid/hardware/radio/V1_0/ActivityStatsInfo;->readFromParcel(Landroid/os/HwParcel;)V
 HSPLandroid/hardware/radio/V1_0/AppStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/Call;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_0/CardStatus;-><init>()V
 HSPLandroid/hardware/radio/V1_0/CardStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)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/CdmaBroadcastSmsConfigInfo;->writeVectorToParcel(Landroid/os/HwParcel;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/CellIdentity;-><init>()V
-HSPLandroid/hardware/radio/V1_0/CellIdentity;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/CellIdentity;->toString()Ljava/lang/String;
 HSPLandroid/hardware/radio/V1_0/CellIdentityGsm;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
 HSPLandroid/hardware/radio/V1_0/CellIdentityLte;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
 HSPLandroid/hardware/radio/V1_0/CellIdentityLte;->toString()Ljava/lang/String;
 HSPLandroid/hardware/radio/V1_0/CellIdentityWcdma;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/CellInfo;-><init>()V
-HSPLandroid/hardware/radio/V1_0/CellInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/CellInfo;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
 HSPLandroid/hardware/radio/V1_0/CellInfoType;->toString(I)Ljava/lang/String;
 HSPLandroid/hardware/radio/V1_0/DataCallFailCause;->toString(I)Ljava/lang/String;
 HSPLandroid/hardware/radio/V1_0/DataProfileInfo;-><init>()V
 HSPLandroid/hardware/radio/V1_0/DataProfileInfo;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)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/DataProfileInfo;->writeVectorToParcel(Landroid/os/HwParcel;Ljava/util/ArrayList;)V
 HSPLandroid/hardware/radio/V1_0/GsmBroadcastSmsConfigInfo;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)V
 HSPLandroid/hardware/radio/V1_0/GsmBroadcastSmsConfigInfo;->writeVectorToParcel(Landroid/os/HwParcel;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/GsmSignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
 HSPLandroid/hardware/radio/V1_0/HardwareConfig;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getBasebandVersion(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getCdmaSubscriptionSource(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getCellInfoList(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getCurrentCalls(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getDataRegistrationState(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getDeviceIdentity(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getFacilityLockForApp(ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getHardwareConfig(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getIccCardStatus(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getImsRegistrationState(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getImsiForApp(ILjava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getModemActivityInfo(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getNetworkSelectionMode(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getOperator(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getRadioCapability(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getSignalStrength(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getTTYMode(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getVoiceRadioTechnology(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->getVoiceRegistrationState(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->iccCloseLogicalChannel(II)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->iccIOForApp(ILandroid/hardware/radio/V1_0/IccIo;)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->iccOpenLogicalChannel(ILjava/lang/String;I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->iccTransmitApduLogicalChannel(ILandroid/hardware/radio/V1_0/SimApdu;)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->reportStkServiceIsRunning(I)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->responseAcknowledgement()V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->sendDeviceState(IIZ)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->setCdmaBroadcastConfig(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->setCdmaRoamingPreference(II)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->setCdmaSubscriptionSource(II)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->setCellInfoListRate(II)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->setGsmBroadcastActivation(IZ)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->setGsmBroadcastConfig(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->setIndicationFilter(II)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->setInitialAttachApn(ILandroid/hardware/radio/V1_0/DataProfileInfo;ZZ)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->setPreferredNetworkType(II)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->setRadioPower(IZ)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->setResponseFunctions(Landroid/hardware/radio/V1_0/IRadioResponse;Landroid/hardware/radio/V1_0/IRadioIndication;)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->setTTYMode(II)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->setupDataCall(IILandroid/hardware/radio/V1_0/DataProfileInfo;ZZZ)V
-HSPLandroid/hardware/radio/V1_0/IRadio$Proxy;->startLceService(IIZ)V
-HSPLandroid/hardware/radio/V1_0/IRadio;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/radio/V1_0/IRadio;
-HSPLandroid/hardware/radio/V1_0/IRadio;->getService(Ljava/lang/String;Z)Landroid/hardware/radio/V1_0/IRadio;
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->callRing(IZLandroid/hardware/radio/V1_0/CdmaSignalInfoRecord;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->callStateChanged(I)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->cdmaCallWaiting(ILandroid/hardware/radio/V1_0/CdmaCallWaiting;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->cdmaInfoRec(ILandroid/hardware/radio/V1_0/CdmaInformationRecords;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->cdmaNewSms(ILandroid/hardware/radio/V1_0/CdmaSmsMessage;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->cdmaOtaProvisionStatus(II)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->cdmaPrlChanged(II)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->cdmaRuimSmsStorageFull(I)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->cdmaSubscriptionSourceChanged(II)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->cellInfoList(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->currentSignalStrength(ILandroid/hardware/radio/V1_0/SignalStrength;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->dataCallListChanged(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->enterEmergencyCallbackMode(I)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->exitEmergencyCallbackMode(I)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->hardwareConfigChanged(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->imsNetworkStateChanged(I)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->indicateRingbackTone(IZ)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->lceData(ILandroid/hardware/radio/V1_0/LceDataInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->modemReset(ILjava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->networkStateChanged(I)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->newBroadcastSms(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->newSms(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->newSmsOnSim(II)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->newSmsStatusReport(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->nitzTimeReceived(ILjava/lang/String;J)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->notifySyspropsChanged()V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->onSupplementaryServiceIndication(ILandroid/hardware/radio/V1_0/StkCcUnsolSsResult;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->onUssd(IILjava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->pcoData(ILandroid/hardware/radio/V1_0/PcoDataInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->ping()V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->radioCapabilityIndication(ILandroid/hardware/radio/V1_0/RadioCapability;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->radioStateChanged(II)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->resendIncallMute(I)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->restrictedStateChanged(II)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->rilConnected(I)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->setHALInstrumentation()V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->simRefresh(ILandroid/hardware/radio/V1_0/SimRefreshResult;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->simSmsStorageFull(I)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->simStatusChanged(I)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->srvccStateNotify(II)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->stkCallControlAlphaNotify(ILjava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->stkCallSetup(IJ)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->stkEventNotify(ILjava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->stkProactiveCommand(ILjava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->stkSessionEnd(I)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->subscriptionStatusChanged(IZ)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->suppSvcNotify(ILandroid/hardware/radio/V1_0/SuppSvcNotification;)V
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/hardware/radio/V1_0/IRadioIndication;->voiceRadioTechChanged(II)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->acceptCallResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->acknowledgeIncomingGsmSmsWithPduResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->acknowledgeLastIncomingCdmaSmsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->acknowledgeLastIncomingGsmSmsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->acknowledgeRequest(I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->cancelPendingUssdResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->changeIccPin2ForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->changeIccPinForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->conferenceResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->deactivateDataCallResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->deleteSmsOnRuimResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->deleteSmsOnSimResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->dialResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->exitEmergencyCallbackModeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->explicitCallTransferResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getAllowedCarriersResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;ZLandroid/hardware/radio/V1_0/CarrierRestrictions;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getAvailableBandModesResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getAvailableNetworksResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getBasebandVersionResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getCDMASubscriptionResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getCallForwardStatusResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getCallWaitingResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;ZI)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getCdmaBroadcastConfigResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getCdmaRoamingPreferenceResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getCdmaSubscriptionSourceResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getCellInfoListResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getClipResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getClirResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;II)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getCurrentCallsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getDataCallListResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getDataRegistrationStateResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/DataRegStateResult;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getDeviceIdentityResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getFacilityLockForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getGsmBroadcastConfigResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getHardwareConfigResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getIMSIForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getIccCardStatusResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/CardStatus;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getImsRegistrationStateResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;ZI)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getLastCallFailCauseResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/LastCallFailCauseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getModemActivityInfoResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/ActivityStatsInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getMuteResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Z)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getNeighboringCidsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getNetworkSelectionModeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Z)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getOperatorResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getPreferredNetworkTypeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getPreferredVoicePrivacyResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Z)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getRadioCapabilityResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/RadioCapability;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getSignalStrengthResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SignalStrength;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getSmscAddressResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getTTYModeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getVoiceRadioTechnologyResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->getVoiceRegistrationStateResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/VoiceRegStateResult;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->handleStkCallSetupRequestFromSimResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->hangupConnectionResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->hangupForegroundResumeBackgroundResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->hangupWaitingOrBackgroundResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->iccCloseLogicalChannelResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->iccIOForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/IccIoResult;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->iccOpenLogicalChannelResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->iccTransmitApduBasicChannelResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/IccIoResult;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->iccTransmitApduLogicalChannelResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/IccIoResult;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->notifySyspropsChanged()V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->nvReadItemResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->nvResetConfigResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->nvWriteCdmaPrlResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->nvWriteItemResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->ping()V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->pullLceDataResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/LceDataInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->rejectCallResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->reportSmsMemoryStatusResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->reportStkServiceIsRunningResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->requestIccSimAuthenticationResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/IccIoResult;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->requestIsimAuthenticationResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->requestShutdownResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->sendBurstDtmfResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->sendCDMAFeatureCodeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->sendCdmaSmsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SendSmsResult;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->sendDeviceStateResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->sendDtmfResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->sendEnvelopeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->sendEnvelopeWithStatusResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/IccIoResult;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->sendImsSmsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SendSmsResult;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->sendSMSExpectMoreResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SendSmsResult;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->sendSmsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SendSmsResult;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->sendTerminalResponseToSimResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->sendUssdResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->separateConnectionResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setAllowedCarriersResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setBandModeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setBarringPasswordResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setCallForwardResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setCallWaitingResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setCdmaBroadcastActivationResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setCdmaBroadcastConfigResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setCdmaRoamingPreferenceResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setCdmaSubscriptionSourceResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setCellInfoListRateResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setClirResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setDataAllowedResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setDataProfileResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setFacilityLockForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setGsmBroadcastActivationResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setGsmBroadcastConfigResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setHALInstrumentation()V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setIndicationFilterResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setInitialAttachApnResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setLocationUpdatesResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setMuteResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setNetworkSelectionModeAutomaticResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setNetworkSelectionModeManualResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setPreferredNetworkTypeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setPreferredVoicePrivacyResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setRadioCapabilityResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/RadioCapability;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setRadioPowerResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setSimCardPowerResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setSmscAddressResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setSuppServiceNotificationsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setTTYModeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setUiccSubscriptionResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->setupDataCallResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SetupDataCallResult;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->startDtmfResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->startLceServiceResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/LceStatusInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->stopDtmfResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->stopLceServiceResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/LceStatusInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->supplyIccPin2ForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->supplyIccPinForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->supplyIccPuk2ForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->supplyIccPukForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->supplyNetworkDepersonalizationResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->switchWaitingOrHoldingAndActiveResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->writeSmsToRuimResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
-HSPLandroid/hardware/radio/V1_0/IRadioResponse;->writeSmsToSimResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
 HSPLandroid/hardware/radio/V1_0/IccIo;-><init>()V
 HSPLandroid/hardware/radio/V1_0/IccIo;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)V
 HSPLandroid/hardware/radio/V1_0/IccIoResult;-><init>()V
 HSPLandroid/hardware/radio/V1_0/IccIoResult;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
 HSPLandroid/hardware/radio/V1_0/IccIoResult;->readFromParcel(Landroid/os/HwParcel;)V
-HSPLandroid/hardware/radio/V1_0/LceStatusInfo;->readFromParcel(Landroid/os/HwParcel;)V
 HSPLandroid/hardware/radio/V1_0/LteSignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/V1_0/PcoDataInfo;-><init>()V
+HSPLandroid/hardware/radio/V1_0/PcoDataInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/V1_0/PcoDataInfo;->readFromParcel(Landroid/os/HwParcel;)V
 HSPLandroid/hardware/radio/V1_0/RadioCapability;-><init>()V
 HSPLandroid/hardware/radio/V1_0/RadioCapability;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
 HSPLandroid/hardware/radio/V1_0/RadioCapability;->readFromParcel(Landroid/os/HwParcel;)V
@@ -22192,190 +20076,112 @@
 HSPLandroid/hardware/radio/V1_0/SetupDataCallResult;->readFromParcel(Landroid/os/HwParcel;)V
 HSPLandroid/hardware/radio/V1_0/SetupDataCallResult;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
 HSPLandroid/hardware/radio/V1_0/SetupDataCallResult;->toString()Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_0/SignalStrength;-><init>()V
-HSPLandroid/hardware/radio/V1_0/SignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_0/SignalStrength;->readFromParcel(Landroid/os/HwParcel;)V
 HSPLandroid/hardware/radio/V1_0/SimApdu;-><init>()V
 HSPLandroid/hardware/radio/V1_0/SimApdu;->writeEmbeddedToBlob(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_0/WcdmaSignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HSPLandroid/hardware/radio/V1_1/IRadio;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/V1_1/IRadio;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/radio/V1_1/IRadio;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_1/IRadio;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_1/IRadio;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_1/IRadio;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/V1_1/IRadio;->notifySyspropsChanged()V
-HSPLandroid/hardware/radio/V1_1/IRadio;->ping()V
-HSPLandroid/hardware/radio/V1_1/IRadio;->setCarrierInfoForImsiEncryption(ILandroid/hardware/radio/V1_1/ImsiEncryptionInfo;)V
-HSPLandroid/hardware/radio/V1_1/IRadio;->setHALInstrumentation()V
-HSPLandroid/hardware/radio/V1_1/IRadio;->setSimCardPower_1_1(II)V
-HSPLandroid/hardware/radio/V1_1/IRadio;->startKeepalive(ILandroid/hardware/radio/V1_1/KeepaliveRequest;)V
-HSPLandroid/hardware/radio/V1_1/IRadio;->startNetworkScan(ILandroid/hardware/radio/V1_1/NetworkScanRequest;)V
-HSPLandroid/hardware/radio/V1_1/IRadio;->stopKeepalive(II)V
-HSPLandroid/hardware/radio/V1_1/IRadio;->stopNetworkScan(I)V
-HSPLandroid/hardware/radio/V1_1/IRadio;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/hardware/radio/V1_1/IRadioIndication;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/V1_1/IRadioIndication;->carrierInfoForImsiEncryption(I)V
-HSPLandroid/hardware/radio/V1_1/IRadioIndication;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/radio/V1_1/IRadioIndication;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_1/IRadioIndication;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_1/IRadioIndication;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_1/IRadioIndication;->keepaliveStatus(ILandroid/hardware/radio/V1_1/KeepaliveStatus;)V
-HSPLandroid/hardware/radio/V1_1/IRadioIndication;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/V1_1/IRadioIndication;->networkScanResult(ILandroid/hardware/radio/V1_1/NetworkScanResult;)V
-HSPLandroid/hardware/radio/V1_1/IRadioIndication;->notifySyspropsChanged()V
-HSPLandroid/hardware/radio/V1_1/IRadioIndication;->ping()V
-HSPLandroid/hardware/radio/V1_1/IRadioIndication;->setHALInstrumentation()V
-HSPLandroid/hardware/radio/V1_1/IRadioIndication;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->notifySyspropsChanged()V
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->ping()V
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->setCarrierInfoForImsiEncryptionResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->setHALInstrumentation()V
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->setSimCardPowerResponse_1_1(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->startKeepaliveResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_1/KeepaliveStatus;)V
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->startNetworkScanResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->stopKeepaliveResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->stopNetworkScanResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_1/IRadioResponse;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/hardware/radio/V1_2/IRadio$Proxy;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_2/IRadio;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/V1_2/IRadio;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/radio/V1_2/IRadio;
-HSPLandroid/hardware/radio/V1_2/IRadio;->deactivateDataCall_1_2(III)V
-HSPLandroid/hardware/radio/V1_2/IRadio;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/radio/V1_2/IRadio;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_2/IRadio;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_2/IRadio;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_2/IRadio;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/V1_2/IRadio;->notifySyspropsChanged()V
-HSPLandroid/hardware/radio/V1_2/IRadio;->ping()V
-HSPLandroid/hardware/radio/V1_2/IRadio;->setHALInstrumentation()V
-HSPLandroid/hardware/radio/V1_2/IRadio;->setIndicationFilter_1_2(II)V
-HSPLandroid/hardware/radio/V1_2/IRadio;->setLinkCapacityReportingCriteria(IIIILjava/util/ArrayList;Ljava/util/ArrayList;I)V
-HSPLandroid/hardware/radio/V1_2/IRadio;->setSignalStrengthReportingCriteria(IIILjava/util/ArrayList;I)V
-HSPLandroid/hardware/radio/V1_2/IRadio;->setupDataCall_1_2(IILandroid/hardware/radio/V1_0/DataProfileInfo;ZZZILjava/util/ArrayList;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_2/IRadio;->startNetworkScan_1_2(ILandroid/hardware/radio/V1_2/NetworkScanRequest;)V
-HSPLandroid/hardware/radio/V1_2/IRadio;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/hardware/radio/V1_2/IRadioIndication$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/V1_2/IRadioIndication$Stub;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_2/IRadioIndication$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/hardware/radio/V1_2/IRadioIndication;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/V1_2/IRadioIndication;->cellInfoList_1_2(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_2/IRadioIndication;->currentLinkCapacityEstimate(ILandroid/hardware/radio/V1_2/LinkCapacityEstimate;)V
-HSPLandroid/hardware/radio/V1_2/IRadioIndication;->currentPhysicalChannelConfigs(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_2/IRadioIndication;->currentSignalStrength_1_2(ILandroid/hardware/radio/V1_2/SignalStrength;)V
-HSPLandroid/hardware/radio/V1_2/IRadioIndication;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/radio/V1_2/IRadioIndication;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_2/IRadioIndication;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_2/IRadioIndication;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_2/IRadioIndication;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/V1_2/IRadioIndication;->networkScanResult_1_2(ILandroid/hardware/radio/V1_2/NetworkScanResult;)V
-HSPLandroid/hardware/radio/V1_2/IRadioIndication;->notifySyspropsChanged()V
-HSPLandroid/hardware/radio/V1_2/IRadioIndication;->ping()V
-HSPLandroid/hardware/radio/V1_2/IRadioIndication;->setHALInstrumentation()V
-HSPLandroid/hardware/radio/V1_2/IRadioIndication;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/hardware/radio/V1_2/IRadioResponse$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/V1_2/IRadioResponse$Stub;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_2/IRadioResponse$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->getCellInfoListResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->getCurrentCallsResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->getDataRegistrationStateResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_2/DataRegStateResult;)V
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->getIccCardStatusResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_2/CardStatus;)V
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->getSignalStrengthResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_2/SignalStrength;)V
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->getVoiceRegistrationStateResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_2/VoiceRegStateResult;)V
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->notifySyspropsChanged()V
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->ping()V
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->setHALInstrumentation()V
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->setLinkCapacityReportingCriteriaResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->setSignalStrengthReportingCriteriaResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/V1_2/IRadioResponse;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigIndication;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigIndication;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigIndication;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigIndication;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigIndication;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigIndication;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigIndication;->notifySyspropsChanged()V
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigIndication;->ping()V
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigIndication;->setHALInstrumentation()V
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigIndication;->simSlotsStatusChanged(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigIndication;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigResponse;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigResponse;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigResponse;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigResponse;->getSimSlotsStatusResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigResponse;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigResponse;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigResponse;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigResponse;->notifySyspropsChanged()V
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigResponse;->ping()V
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigResponse;->setHALInstrumentation()V
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigResponse;->setSimSlotsMappingResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLandroid/hardware/radio/config/V1_0/IRadioConfigResponse;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook$Proxy;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook$Proxy;->setResponseFunctions(Landroid/hardware/radio/deprecated/V1_0/IOemHookResponse;Landroid/hardware/radio/deprecated/V1_0/IOemHookIndication;)V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/radio/deprecated/V1_0/IOemHook;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->notifySyspropsChanged()V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->ping()V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->sendRequestRaw(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->sendRequestStrings(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->setHALInstrumentation()V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->setResponseFunctions(Landroid/hardware/radio/deprecated/V1_0/IOemHookResponse;Landroid/hardware/radio/deprecated/V1_0/IOemHookIndication;)V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-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/IOemHookIndication;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookIndication;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookIndication;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookIndication;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookIndication;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookIndication;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookIndication;->notifySyspropsChanged()V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookIndication;->oemHookRaw(ILjava/util/ArrayList;)V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookIndication;->ping()V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookIndication;->setHALInstrumentation()V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookIndication;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse;->notifySyspropsChanged()V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse;->ping()V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse;->sendRequestRawResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse;->sendRequestStringsResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse;->setHALInstrumentation()V
-HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
+HSPLandroid/hardware/radio/V1_2/Call;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
+HSPLandroid/hardware/radio/V1_2/CardStatus;-><init>()V
+HSPLandroid/hardware/radio/V1_2/CardStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/V1_2/CardStatus;->readFromParcel(Landroid/os/HwParcel;)V
+HSPLandroid/hardware/radio/V1_2/CellIdentity;-><init>()V
+HSPLandroid/hardware/radio/V1_2/CellIdentity;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/V1_2/CellIdentity;->toString()Ljava/lang/String;
+HSPLandroid/hardware/radio/V1_2/CellIdentityLte;->toString()Ljava/lang/String;
+HSPLandroid/hardware/radio/V1_2/CellIdentityOperatorNames;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/V1_2/CellIdentityOperatorNames;->toString()Ljava/lang/String;
+HSPLandroid/hardware/radio/V1_2/CellInfo;-><init>()V
+HSPLandroid/hardware/radio/V1_2/CellInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/V1_2/CellInfo;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
+HSPLandroid/hardware/radio/V1_2/DataRegStateResult;-><init>()V
+HSPLandroid/hardware/radio/V1_2/DataRegStateResult;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/V1_2/DataRegStateResult;->readFromParcel(Landroid/os/HwParcel;)V
+HSPLandroid/hardware/radio/V1_2/DataRegStateResult;->toString()Ljava/lang/String;
+HSPLandroid/hardware/radio/V1_2/LinkCapacityEstimate;->readFromParcel(Landroid/os/HwParcel;)V
+HSPLandroid/hardware/radio/V1_2/PhysicalChannelConfig;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
+HSPLandroid/hardware/radio/V1_2/SignalStrength;-><init>()V
+HSPLandroid/hardware/radio/V1_2/SignalStrength;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/V1_2/SignalStrength;->readFromParcel(Landroid/os/HwParcel;)V
+HSPLandroid/hardware/radio/V1_2/VoiceRegStateResult;-><init>()V
+HSPLandroid/hardware/radio/V1_2/VoiceRegStateResult;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/V1_2/VoiceRegStateResult;->readFromParcel(Landroid/os/HwParcel;)V
+HSPLandroid/hardware/radio/V1_2/VoiceRegStateResult;->toString()Ljava/lang/String;
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->deactivateDataCall_1_2(III)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getBasebandVersion(I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getCDMASubscription(I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getCdmaSubscriptionSource(I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getCellInfoList(I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getCurrentCalls(I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getDataRegistrationState(I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getDeviceIdentity(I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getFacilityLockForApp(ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getHardwareConfig(I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getIccCardStatus(I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getImsRegistrationState(I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getImsiForApp(ILjava/lang/String;)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getModemActivityInfo(I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getNetworkSelectionMode(I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getOperator(I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->getRadioCapability(I)V
+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
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->responseAcknowledgement()V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->sendDeviceState(IIZ)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->sendTerminalResponseToSim(ILjava/lang/String;)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setCdmaBroadcastActivation(IZ)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setCdmaBroadcastConfig(ILjava/util/ArrayList;)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setCdmaSubscriptionSource(II)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setClir(II)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setDataProfile(ILjava/util/ArrayList;Z)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setGsmBroadcastActivation(IZ)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setGsmBroadcastConfig(ILjava/util/ArrayList;)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setIndicationFilter_1_2(II)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setInitialAttachApn(ILandroid/hardware/radio/V1_0/DataProfileInfo;ZZ)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setLinkCapacityReportingCriteria(IIIILjava/util/ArrayList;Ljava/util/ArrayList;I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setPreferredNetworkType(II)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setRadioPower(IZ)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setResponseFunctions(Landroid/hardware/radio/V1_0/IRadioResponse;Landroid/hardware/radio/V1_0/IRadioIndication;)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setSignalStrengthReportingCriteria(IIILjava/util/ArrayList;I)V
+HSPLandroid/hardware/radio/V1_3/IRadio$Proxy;->setupDataCall_1_2(IILandroid/hardware/radio/V1_0/DataProfileInfo;ZZZILjava/util/ArrayList;Ljava/util/ArrayList;)V
+HSPLandroid/hardware/radio/V1_3/IRadio;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/radio/V1_3/IRadio;
+HSPLandroid/hardware/radio/V1_3/IRadio;->getService(Ljava/lang/String;Z)Landroid/hardware/radio/V1_3/IRadio;
+HSPLandroid/hardware/radio/V1_4/IRadio;->getService(Ljava/lang/String;Z)Landroid/hardware/radio/V1_4/IRadio;
+HSPLandroid/hardware/radio/V1_4/IRadioIndication$Stub;-><init>()V
+HSPLandroid/hardware/radio/V1_4/IRadioIndication$Stub;->asBinder()Landroid/os/IHwBinder;
+HSPLandroid/hardware/radio/V1_4/IRadioIndication$Stub;->interfaceChain()Ljava/util/ArrayList;
+HSPLandroid/hardware/radio/V1_4/IRadioIndication$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+HSPLandroid/hardware/radio/V1_4/IRadioResponse$Stub;-><init>()V
+HSPLandroid/hardware/radio/V1_4/IRadioResponse$Stub;->asBinder()Landroid/os/IHwBinder;
+HSPLandroid/hardware/radio/V1_4/IRadioResponse$Stub;->interfaceChain()Ljava/util/ArrayList;
+HSPLandroid/hardware/radio/V1_4/IRadioResponse$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+HSPLandroid/hardware/radio/config/V1_0/SimSlotStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/radio/config/V1_0/SimSlotStatus;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
+HSPLandroid/hardware/radio/config/V1_1/IRadioConfig$Proxy;->getSimSlotsStatus(I)V
+HSPLandroid/hardware/radio/config/V1_1/IRadioConfig$Proxy;->interfaceChain()Ljava/util/ArrayList;
+HSPLandroid/hardware/radio/config/V1_1/IRadioConfig$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
+HSPLandroid/hardware/radio/config/V1_1/IRadioConfig$Proxy;->setPreferredDataModem(IB)V
+HSPLandroid/hardware/radio/config/V1_1/IRadioConfig$Proxy;->setResponseFunctions(Landroid/hardware/radio/config/V1_0/IRadioConfigResponse;Landroid/hardware/radio/config/V1_0/IRadioConfigIndication;)V
+HSPLandroid/hardware/radio/config/V1_1/IRadioConfig$Proxy;->setSimSlotsMapping(ILjava/util/ArrayList;)V
+HSPLandroid/hardware/radio/config/V1_1/IRadioConfig;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/radio/config/V1_1/IRadioConfig;
+HSPLandroid/hardware/radio/config/V1_1/IRadioConfig;->getService(Z)Landroid/hardware/radio/config/V1_1/IRadioConfig;
+HSPLandroid/hardware/radio/config/V1_2/IRadioConfigIndication$Stub;-><init>()V
+HSPLandroid/hardware/radio/config/V1_2/IRadioConfigIndication$Stub;->asBinder()Landroid/os/IHwBinder;
+HSPLandroid/hardware/radio/config/V1_2/IRadioConfigIndication$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+HSPLandroid/hardware/radio/config/V1_2/IRadioConfigResponse$Stub;-><init>()V
+HSPLandroid/hardware/radio/config/V1_2/IRadioConfigResponse$Stub;->asBinder()Landroid/os/IHwBinder;
+HSPLandroid/hardware/radio/config/V1_2/IRadioConfigResponse$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+HSPLandroid/hardware/radio/deprecated/V1_0/IOemHook;->getService(Ljava/lang/String;Z)Landroid/hardware/radio/deprecated/V1_0/IOemHook;
+HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookIndication$Stub;-><init>()V
+HSPLandroid/hardware/radio/deprecated/V1_0/IOemHookResponse$Stub;-><init>()V
 HSPLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;-><init>()V
 HSPLandroid/hardware/soundtrigger/IRecognitionStatusCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/hardware/soundtrigger/IRecognitionStatusCallback;->onError(I)V
-HSPLandroid/hardware/soundtrigger/IRecognitionStatusCallback;->onGenericSoundTriggerDetected(Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;)V
-HSPLandroid/hardware/soundtrigger/IRecognitionStatusCallback;->onKeyphraseDetected(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;)V
-HSPLandroid/hardware/soundtrigger/IRecognitionStatusCallback;->onRecognitionPaused()V
-HSPLandroid/hardware/soundtrigger/IRecognitionStatusCallback;->onRecognitionResumed()V
 HSPLandroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;-><init>(Landroid/content/pm/PackageManager;)V
 HSPLandroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->getKeyphraseFromTypedArray(Landroid/content/res/TypedArray;Ljava/lang/String;Ljava/util/List;)Landroid/hardware/soundtrigger/KeyphraseMetadata;
 HSPLandroid/hardware/soundtrigger/KeyphraseEnrollmentInfo;->getKeyphraseMetadata(Ljava/lang/String;Ljava/util/Locale;)Landroid/hardware/soundtrigger/KeyphraseMetadata;
@@ -22399,152 +20205,67 @@
 HSPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent$1;-><init>()V
 HSPLandroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent$1;-><init>()V
-HSPLandroid/hardware/soundtrigger/SoundTrigger$StatusListener;->onRecognition(Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;)V
-HSPLandroid/hardware/soundtrigger/SoundTrigger$StatusListener;->onServiceDied()V
-HSPLandroid/hardware/soundtrigger/SoundTrigger$StatusListener;->onServiceStateChange(I)V
-HSPLandroid/hardware/soundtrigger/SoundTrigger$StatusListener;->onSoundModelUpdate(Landroid/hardware/soundtrigger/SoundTrigger$SoundModelEvent;)V
-HSPLandroid/hardware/usb/IUsbManager$Stub$Proxy;->getCurrentAccessory()Landroid/hardware/usb/UsbAccessory;
+HSPLandroid/hardware/thermal/V1_0/ThermalStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+HSPLandroid/hardware/thermal/V2_0/IThermal$Proxy;->getCurrentTemperatures(ZILandroid/hardware/thermal/V2_0/IThermal$getCurrentTemperaturesCallback;)V
+HSPLandroid/hardware/thermal/V2_0/IThermal$Proxy;->interfaceChain()Ljava/util/ArrayList;
+HSPLandroid/hardware/thermal/V2_0/IThermal$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
+HSPLandroid/hardware/thermal/V2_0/IThermal$Proxy;->registerThermalChangedCallback(Landroid/hardware/thermal/V2_0/IThermalChangedCallback;ZI)Landroid/hardware/thermal/V1_0/ThermalStatus;
+HSPLandroid/hardware/thermal/V2_0/IThermal;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/thermal/V2_0/IThermal;
+HSPLandroid/hardware/thermal/V2_0/IThermal;->getService()Landroid/hardware/thermal/V2_0/IThermal;
+HSPLandroid/hardware/thermal/V2_0/IThermalChangedCallback$Stub;-><init>()V
+HSPLandroid/hardware/thermal/V2_0/IThermalChangedCallback$Stub;->asBinder()Landroid/os/IHwBinder;
+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;->getCurrentFunctions()J
 HSPLandroid/hardware/usb/IUsbManager$Stub$Proxy;->getDeviceList(Landroid/os/Bundle;)V
+HSPLandroid/hardware/usb/IUsbManager$Stub$Proxy;->getPortStatus(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus;
+HSPLandroid/hardware/usb/IUsbManager$Stub$Proxy;->getPorts()Ljava/util/List;
 HSPLandroid/hardware/usb/IUsbManager$Stub;-><init>()V
-HSPLandroid/hardware/usb/IUsbManager;->allowUsbDebugging(ZLjava/lang/String;)V
-HSPLandroid/hardware/usb/IUsbManager;->clearDefaults(Ljava/lang/String;I)V
-HSPLandroid/hardware/usb/IUsbManager;->clearUsbDebuggingKeys()V
-HSPLandroid/hardware/usb/IUsbManager;->denyUsbDebugging()V
-HSPLandroid/hardware/usb/IUsbManager;->getControlFd(J)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/hardware/usb/IUsbManager;->getCurrentAccessory()Landroid/hardware/usb/UsbAccessory;
-HSPLandroid/hardware/usb/IUsbManager;->getCurrentFunctions()J
-HSPLandroid/hardware/usb/IUsbManager;->getDeviceList(Landroid/os/Bundle;)V
-HSPLandroid/hardware/usb/IUsbManager;->getPortStatus(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus;
-HSPLandroid/hardware/usb/IUsbManager;->getPorts()[Landroid/hardware/usb/UsbPort;
-HSPLandroid/hardware/usb/IUsbManager;->getScreenUnlockedFunctions()J
-HSPLandroid/hardware/usb/IUsbManager;->grantAccessoryPermission(Landroid/hardware/usb/UsbAccessory;I)V
-HSPLandroid/hardware/usb/IUsbManager;->grantDevicePermission(Landroid/hardware/usb/UsbDevice;I)V
-HSPLandroid/hardware/usb/IUsbManager;->hasAccessoryPermission(Landroid/hardware/usb/UsbAccessory;)Z
-HSPLandroid/hardware/usb/IUsbManager;->hasDefaults(Ljava/lang/String;I)Z
-HSPLandroid/hardware/usb/IUsbManager;->hasDevicePermission(Landroid/hardware/usb/UsbDevice;Ljava/lang/String;)Z
-HSPLandroid/hardware/usb/IUsbManager;->isFunctionEnabled(Ljava/lang/String;)Z
-HSPLandroid/hardware/usb/IUsbManager;->openAccessory(Landroid/hardware/usb/UsbAccessory;)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/hardware/usb/IUsbManager;->openDevice(Ljava/lang/String;Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/hardware/usb/IUsbManager;->requestAccessoryPermission(Landroid/hardware/usb/UsbAccessory;Ljava/lang/String;Landroid/app/PendingIntent;)V
-HSPLandroid/hardware/usb/IUsbManager;->requestDevicePermission(Landroid/hardware/usb/UsbDevice;Ljava/lang/String;Landroid/app/PendingIntent;)V
-HSPLandroid/hardware/usb/IUsbManager;->setAccessoryPackage(Landroid/hardware/usb/UsbAccessory;Ljava/lang/String;I)V
-HSPLandroid/hardware/usb/IUsbManager;->setCurrentFunction(Ljava/lang/String;Z)V
-HSPLandroid/hardware/usb/IUsbManager;->setCurrentFunctions(J)V
-HSPLandroid/hardware/usb/IUsbManager;->setDevicePackage(Landroid/hardware/usb/UsbDevice;Ljava/lang/String;I)V
-HSPLandroid/hardware/usb/IUsbManager;->setPortRoles(Ljava/lang/String;II)V
-HSPLandroid/hardware/usb/IUsbManager;->setScreenUnlockedFunctions(J)V
-HSPLandroid/hardware/usb/IUsbManager;->setUsbDeviceConnectionHandler(Landroid/content/ComponentName;)V
+HSPLandroid/hardware/usb/IUsbManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/hardware/usb/IUsbManager;
+HSPLandroid/hardware/usb/ParcelableUsbPort$1;-><init>()V
+HSPLandroid/hardware/usb/ParcelableUsbPort$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/usb/ParcelableUsbPort;
+HSPLandroid/hardware/usb/ParcelableUsbPort$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/hardware/usb/ParcelableUsbPort;->describeContents()I
+HSPLandroid/hardware/usb/ParcelableUsbPort;->getUsbPort(Landroid/hardware/usb/UsbManager;)Landroid/hardware/usb/UsbPort;
+HSPLandroid/hardware/usb/ParcelableUsbPort;->of(Landroid/hardware/usb/UsbPort;)Landroid/hardware/usb/ParcelableUsbPort;
 HSPLandroid/hardware/usb/UsbDevice$1;-><init>()V
-HSPLandroid/hardware/usb/UsbManager;->getAccessoryList()[Landroid/hardware/usb/UsbAccessory;
+HSPLandroid/hardware/usb/UsbManager;->getCurrentFunctions()J
 HSPLandroid/hardware/usb/UsbManager;->getDeviceList()Ljava/util/HashMap;
+HSPLandroid/hardware/usb/UsbManager;->getPortStatus(Landroid/hardware/usb/UsbPort;)Landroid/hardware/usb/UsbPortStatus;
+HSPLandroid/hardware/usb/UsbManager;->getPorts()Ljava/util/List;
 HSPLandroid/hardware/usb/UsbManager;->usbFunctionsFromString(Ljava/lang/String;)J
-HSPLandroid/hardware/usb/UsbManager;->usbFunctionsToString(J)Ljava/lang/String;
-HSPLandroid/hardware/usb/UsbPort$1;-><init>()V
-HSPLandroid/hardware/usb/UsbPort;-><init>(Ljava/lang/String;I)V
+HSPLandroid/hardware/usb/UsbPort;-><init>(Landroid/hardware/usb/UsbManager;Ljava/lang/String;IIZZ)V
 HSPLandroid/hardware/usb/UsbPort;->combineRolesAsBit(II)I
-HSPLandroid/hardware/usb/UsbPort;->describeContents()I
+HSPLandroid/hardware/usb/UsbPort;->getStatus()Landroid/hardware/usb/UsbPortStatus;
 HSPLandroid/hardware/usb/UsbPort;->modeToString(I)Ljava/lang/String;
 HSPLandroid/hardware/usb/UsbPort;->roleCombinationsToString(I)Ljava/lang/String;
 HSPLandroid/hardware/usb/UsbPort;->toString()Ljava/lang/String;
 HSPLandroid/hardware/usb/UsbPortStatus$1;-><init>()V
+HSPLandroid/hardware/usb/UsbPortStatus$1;->createFromParcel(Landroid/os/Parcel;)Landroid/hardware/usb/UsbPortStatus;
+HSPLandroid/hardware/usb/UsbPortStatus$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/hardware/usb/UsbPortStatus;->describeContents()I
-HSPLandroid/hardware/usb/UsbPortStatus;->isRoleCombinationSupported(II)Z
 HSPLandroid/hardware/usb/UsbPortStatus;->toString()Ljava/lang/String;
 HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget$Proxy;->getCurrentUsbFunctions(Landroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;)V
 HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget$Proxy;->interfaceChain()Ljava/util/ArrayList;
 HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget$Proxy;->setCurrentUsbFunctions(JLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;J)V
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->asBinder()Landroid/os/IHwBinder;
 HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/usb/gadget/V1_0/IUsbGadget;
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->getCurrentUsbFunctions(Landroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;)V
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->getHashChain()Ljava/util/ArrayList;
 HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->getService()Landroid/hardware/usb/gadget/V1_0/IUsbGadget;
 HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->getService(Z)Landroid/hardware/usb/gadget/V1_0/IUsbGadget;
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->notifySyspropsChanged()V
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->ping()V
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->setCurrentUsbFunctions(JLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;J)V
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->setHALInstrumentation()V
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadget;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
 HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback$Stub;-><init>()V
 HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback$Stub;->asBinder()Landroid/os/IHwBinder;
 HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;->getCurrentUsbFunctionsCb(JI)V
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;->notifySyspropsChanged()V
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;->ping()V
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;->setCurrentUsbFunctionsCb(JI)V
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;->setHALInstrumentation()V
-HSPLandroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/hidl/base/V1_0/IBase;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hidl/base/V1_0/IBase;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hidl/base/V1_0/IBase;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hidl/base/V1_0/IBase;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hidl/base/V1_0/IBase;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hidl/base/V1_0/IBase;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hidl/base/V1_0/IBase;->notifySyspropsChanged()V
-HSPLandroid/hidl/base/V1_0/IBase;->ping()V
-HSPLandroid/hidl/base/V1_0/IBase;->setHALInstrumentation()V
-HSPLandroid/hidl/base/V1_0/IBase;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->getTransport(Ljava/lang/String;Ljava/lang/String;)B
-HSPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->registerForNotifications(Ljava/lang/String;Ljava/lang/String;Landroid/hidl/manager/V1_0/IServiceNotification;)Z
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->add(Ljava/lang/String;Landroid/hidl/base/V1_0/IBase;)Z
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->asInterface(Landroid/os/IHwBinder;)Landroid/hidl/manager/V1_0/IServiceManager;
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->debugDump()Ljava/util/ArrayList;
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->get(Ljava/lang/String;Ljava/lang/String;)Landroid/hidl/base/V1_0/IBase;
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->getService()Landroid/hidl/manager/V1_0/IServiceManager;
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->getTransport(Ljava/lang/String;Ljava/lang/String;)B
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->list()Ljava/util/ArrayList;
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->listByInterface(Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->notifySyspropsChanged()V
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->ping()V
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->registerForNotifications(Ljava/lang/String;Ljava/lang/String;Landroid/hidl/manager/V1_0/IServiceNotification;)Z
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->registerPassthroughClient(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->setHALInstrumentation()V
-HSPLandroid/hidl/manager/V1_0/IServiceManager;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/hidl/manager/V1_0/IServiceNotification$Stub;-><init>()V
-HSPLandroid/hidl/manager/V1_0/IServiceNotification$Stub;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hidl/manager/V1_0/IServiceNotification$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/hidl/manager/V1_0/IServiceNotification;->asBinder()Landroid/os/IHwBinder;
-HSPLandroid/hidl/manager/V1_0/IServiceNotification;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HSPLandroid/hidl/manager/V1_0/IServiceNotification;->getHashChain()Ljava/util/ArrayList;
-HSPLandroid/hidl/manager/V1_0/IServiceNotification;->interfaceChain()Ljava/util/ArrayList;
-HSPLandroid/hidl/manager/V1_0/IServiceNotification;->interfaceDescriptor()Ljava/lang/String;
-HSPLandroid/hidl/manager/V1_0/IServiceNotification;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/hidl/manager/V1_0/IServiceNotification;->notifySyspropsChanged()V
-HSPLandroid/hidl/manager/V1_0/IServiceNotification;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
-HSPLandroid/hidl/manager/V1_0/IServiceNotification;->ping()V
-HSPLandroid/hidl/manager/V1_0/IServiceNotification;->setHALInstrumentation()V
-HSPLandroid/hidl/manager/V1_0/IServiceNotification;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
 HSPLandroid/icu/impl/BMPSet;-><init>([II)V
 HSPLandroid/icu/impl/BMPSet;->contains(I)Z
 HSPLandroid/icu/impl/BMPSet;->findCodePoint(III)I
 HSPLandroid/icu/impl/BMPSet;->initBits()V
 HSPLandroid/icu/impl/BMPSet;->set32x64Bits([III)V
-HSPLandroid/icu/impl/CacheBase;->getInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/icu/impl/CacheValue$NullValue;-><init>(Landroid/icu/impl/CacheValue$1;)V
 HSPLandroid/icu/impl/CacheValue$NullValue;->isNull()Z
 HSPLandroid/icu/impl/CacheValue$SoftValue;->get()Ljava/lang/Object;
-HSPLandroid/icu/impl/CacheValue$SoftValue;->resetIfCleared(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/icu/impl/CacheValue$Strength;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/impl/CacheValue;->isNull()Z
-HSPLandroid/icu/impl/CacheValue;->setStrength(Landroid/icu/impl/CacheValue$Strength;)V
+HSPLandroid/icu/impl/CalType;-><init>(Ljava/lang/String;ILjava/lang/String;)V
+HSPLandroid/icu/impl/CalType;->values()[Landroid/icu/impl/CalType;
 HSPLandroid/icu/impl/CalendarUtil$CalendarPreferences;-><init>()V
 HSPLandroid/icu/impl/CalendarUtil$CalendarPreferences;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
 HSPLandroid/icu/impl/CalendarUtil;->getCalendarType(Landroid/icu/util/ULocale;)Ljava/lang/String;
@@ -22552,18 +20273,16 @@
 HSPLandroid/icu/impl/CaseMapImpl;->appendResult(ILjava/lang/Appendable;IILandroid/icu/text/Edits;)V
 HSPLandroid/icu/impl/CaseMapImpl;->applyEdits(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;Landroid/icu/text/Edits;)Ljava/lang/String;
 HSPLandroid/icu/impl/CaseMapImpl;->getTitleBreakIterator(Landroid/icu/util/ULocale;ILandroid/icu/text/BreakIterator;)Landroid/icu/text/BreakIterator;
+HSPLandroid/icu/impl/CaseMapImpl;->internalToUpper(IILjava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)V
 HSPLandroid/icu/impl/CaseMapImpl;->toTitle(IILandroid/icu/text/BreakIterator;Ljava/lang/CharSequence;)Ljava/lang/String;
 HSPLandroid/icu/impl/CaseMapImpl;->toTitle(IILandroid/icu/text/BreakIterator;Ljava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)Ljava/lang/Appendable;
 HSPLandroid/icu/impl/CaseMapImpl;->toUpper(IILjava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)Ljava/lang/Appendable;
 HSPLandroid/icu/impl/CharTrie;->unserialize(Ljava/nio/ByteBuffer;)V
 HSPLandroid/icu/impl/CharacterIteration;->nextTrail32(Ljava/text/CharacterIterator;I)I
+HSPLandroid/icu/impl/CharacterPropertiesImpl;->getInclusionsForProperty(I)Landroid/icu/text/UnicodeSet;
+HSPLandroid/icu/impl/CharacterPropertiesImpl;->getInclusionsForSource(I)Landroid/icu/text/UnicodeSet;
+HSPLandroid/icu/impl/CharacterPropertiesImpl;->getIntPropInclusions(I)Landroid/icu/text/UnicodeSet;
 HSPLandroid/icu/impl/ClassLoaderUtil;->getClassLoader(Ljava/lang/Class;)Ljava/lang/ClassLoader;
-HSPLandroid/icu/impl/CurrencyData$CurrencyDisplayInfo;->getFormatInfo(Ljava/lang/String;)Landroid/icu/impl/CurrencyData$CurrencyFormatInfo;
-HSPLandroid/icu/impl/CurrencyData$CurrencyDisplayInfo;->getNarrowSymbol(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/CurrencyData$CurrencyDisplayInfo;->getSpacingInfo()Landroid/icu/impl/CurrencyData$CurrencySpacingInfo;
-HSPLandroid/icu/impl/CurrencyData$CurrencyDisplayInfo;->getUnitPatterns()Ljava/util/Map;
-HSPLandroid/icu/impl/CurrencyData$CurrencyDisplayInfoProvider;->getInstance(Landroid/icu/util/ULocale;Z)Landroid/icu/impl/CurrencyData$CurrencyDisplayInfo;
-HSPLandroid/icu/impl/CurrencyData$CurrencyDisplayInfoProvider;->hasData()Z
 HSPLandroid/icu/impl/CurrencyData$CurrencySpacingInfo$SpacingPattern;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/impl/CurrencyData$CurrencySpacingInfo$SpacingPattern;-><init>(Ljava/lang/String;II)V
 HSPLandroid/icu/impl/CurrencyData$CurrencySpacingInfo$SpacingType;-><init>(Ljava/lang/String;I)V
@@ -22583,8 +20302,6 @@
 HSPLandroid/icu/impl/ICUBinary$DatPackageReader;->getData(Ljava/nio/ByteBuffer;Ljava/lang/CharSequence;)Ljava/nio/ByteBuffer;
 HSPLandroid/icu/impl/ICUBinary$DatPackageReader;->startsWithPackageName(Ljava/nio/ByteBuffer;I)Z
 HSPLandroid/icu/impl/ICUBinary$DatPackageReader;->validate(Ljava/nio/ByteBuffer;)Z
-HSPLandroid/icu/impl/ICUBinary$DataFile;->addBaseNamesInFolder(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
-HSPLandroid/icu/impl/ICUBinary$DataFile;->getData(Ljava/lang/String;)Ljava/nio/ByteBuffer;
 HSPLandroid/icu/impl/ICUBinary$PackageDataFile;->addBaseNamesInFolder(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
 HSPLandroid/icu/impl/ICUBinary$PackageDataFile;->getData(Ljava/lang/String;)Ljava/nio/ByteBuffer;
 HSPLandroid/icu/impl/ICUBinary;->addDataFilesFromFolder(Ljava/io/File;Ljava/lang/StringBuilder;Ljava/util/List;)V
@@ -22601,9 +20318,6 @@
 HSPLandroid/icu/impl/ICUBinary;->readHeader(Ljava/nio/ByteBuffer;ILandroid/icu/impl/ICUBinary$Authenticate;)I
 HSPLandroid/icu/impl/ICUBinary;->readHeaderAndDataVersion(Ljava/nio/ByteBuffer;ILandroid/icu/impl/ICUBinary$Authenticate;)Landroid/icu/util/VersionInfo;
 HSPLandroid/icu/impl/ICUBinary;->skipBytes(Ljava/nio/ByteBuffer;I)V
-HSPLandroid/icu/impl/ICUCache;->clear()V
-HSPLandroid/icu/impl/ICUCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICUCache;->put(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/icu/impl/ICUConfig;->get(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/icu/impl/ICUConfig;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$CurrencySink$EntrypointTable;-><init>(Ljava/lang/String;I)V
@@ -22618,9 +20332,6 @@
 HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo;->getSymbol(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider;-><init>()V
 HSPLandroid/icu/impl/ICUCurrencyDisplayInfoProvider;->getInstance(Landroid/icu/util/ULocale;Z)Landroid/icu/impl/CurrencyData$CurrencyDisplayInfo;
-HSPLandroid/icu/impl/ICUCurrencyMetaInfo$Collector;->collect(Ljava/lang/String;Ljava/lang/String;JJIZ)V
-HSPLandroid/icu/impl/ICUCurrencyMetaInfo$Collector;->collects()I
-HSPLandroid/icu/impl/ICUCurrencyMetaInfo$Collector;->getList()Ljava/util/List;
 HSPLandroid/icu/impl/ICUCurrencyMetaInfo$CurrencyCollector;->collect(Ljava/lang/String;Ljava/lang/String;JJIZ)V
 HSPLandroid/icu/impl/ICUCurrencyMetaInfo$CurrencyCollector;->collects()I
 HSPLandroid/icu/impl/ICUCurrencyMetaInfo$CurrencyCollector;->getList()Ljava/util/List;
@@ -22630,20 +20341,18 @@
 HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->collect(Landroid/icu/impl/ICUCurrencyMetaInfo$Collector;Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;)Ljava/util/List;
 HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->collectRegion(Landroid/icu/impl/ICUCurrencyMetaInfo$Collector;Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;ILandroid/icu/impl/ICUResourceBundle;)V
 HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->currencies(Landroid/icu/text/CurrencyMetaInfo$CurrencyFilter;)Ljava/util/List;
-HSPLandroid/icu/impl/ICUCurrencyMetaInfo;->currencyDigits(Ljava/lang/String;Landroid/icu/util/Currency$CurrencyUsage;)Landroid/icu/text/CurrencyMetaInfo$CurrencyDigits;
 HSPLandroid/icu/impl/ICUData;->getStream(Ljava/lang/Class;Ljava/lang/String;Z)Ljava/io/InputStream;
 HSPLandroid/icu/impl/ICUData;->getStream(Ljava/lang/ClassLoader;Ljava/lang/String;Z)Ljava/io/InputStream;
 HSPLandroid/icu/impl/ICUData;->getStream(Ljava/lang/String;)Ljava/io/InputStream;
 HSPLandroid/icu/impl/ICUDebug;->enabled(Ljava/lang/String;)Z
 HSPLandroid/icu/impl/ICUDebug;->getInstanceLenient(Ljava/lang/String;)Landroid/icu/util/VersionInfo;
-HSPLandroid/icu/impl/ICULangDataTables;-><init>()V
-HSPLandroid/icu/impl/ICULangDataTables;->get(Landroid/icu/util/ULocale;Z)Landroid/icu/impl/LocaleDisplayNamesImpl$DataTable;
 HSPLandroid/icu/impl/ICULocaleService$ICUResourceBundleFactory;->getSupportedIDs()Ljava/util/Set;
 HSPLandroid/icu/impl/ICULocaleService$ICUResourceBundleFactory;->loader()Ljava/lang/ClassLoader;
 HSPLandroid/icu/impl/ICULocaleService$LocaleKey;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
 HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->currentDescriptor()Ljava/lang/String;
 HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->currentID()Ljava/lang/String;
 HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->currentLocale()Landroid/icu/util/ULocale;
+HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->fallback()Z
 HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->kind()I
 HSPLandroid/icu/impl/ICULocaleService$LocaleKey;->prefix()Ljava/lang/String;
 HSPLandroid/icu/impl/ICULocaleService$LocaleKeyFactory;->create(Landroid/icu/impl/ICUService$Key;Landroid/icu/impl/ICUService;)Ljava/lang/Object;
@@ -22652,15 +20361,11 @@
 HSPLandroid/icu/impl/ICULocaleService;->get(Landroid/icu/util/ULocale;I[Landroid/icu/util/ULocale;)Ljava/lang/Object;
 HSPLandroid/icu/impl/ICULocaleService;->get(Landroid/icu/util/ULocale;[Landroid/icu/util/ULocale;)Ljava/lang/Object;
 HSPLandroid/icu/impl/ICULocaleService;->validateFallbackLocale()Ljava/lang/String;
-HSPLandroid/icu/impl/ICUNotifier;->acceptsListener(Ljava/util/EventListener;)Z
 HSPLandroid/icu/impl/ICUNotifier;->notifyChanged()V
-HSPLandroid/icu/impl/ICUNotifier;->notifyListener(Ljava/util/EventListener;)V
 HSPLandroid/icu/impl/ICURWLock;->acquireRead()V
 HSPLandroid/icu/impl/ICURWLock;->acquireWrite()V
 HSPLandroid/icu/impl/ICURWLock;->releaseRead()V
 HSPLandroid/icu/impl/ICURWLock;->releaseWrite()V
-HSPLandroid/icu/impl/ICURegionDataTables;-><init>()V
-HSPLandroid/icu/impl/ICURegionDataTables;->get(Landroid/icu/util/ULocale;Z)Landroid/icu/impl/LocaleDisplayNamesImpl$DataTable;
 HSPLandroid/icu/impl/ICUResourceBundle$1;-><init>()V
 HSPLandroid/icu/impl/ICUResourceBundle$1;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/icu/impl/ICUResourceBundle$1;->createInstance(Ljava/lang/String;Landroid/icu/impl/ICUResourceBundle$Loader;)Landroid/icu/impl/ICUResourceBundle;
@@ -22671,7 +20376,6 @@
 HSPLandroid/icu/impl/ICUResourceBundle$3;->createInstance(Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/impl/ICUResourceBundle$AvailEntry;
 HSPLandroid/icu/impl/ICUResourceBundle$4;->load()Landroid/icu/impl/ICUResourceBundle;
 HSPLandroid/icu/impl/ICUResourceBundle$AvailEntry;->getFullLocaleNameSet()Ljava/util/Set;
-HSPLandroid/icu/impl/ICUResourceBundle$Loader;->load()Landroid/icu/impl/ICUResourceBundle;
 HSPLandroid/icu/impl/ICUResourceBundle$OpenType;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/impl/ICUResourceBundle;->at(I)Landroid/icu/impl/ICUResourceBundle;
 HSPLandroid/icu/impl/ICUResourceBundle;->at(Ljava/lang/String;)Landroid/icu/impl/ICUResourceBundle;
@@ -22738,7 +20442,6 @@
 HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderCacheKey;->hashCode()I
 HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getAliasString()Ljava/lang/String;
 HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getArray()Landroid/icu/impl/UResource$Array;
-HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getIntVector()[I
 HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getString()Ljava/lang/String;
 HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getStringArray()[Ljava/lang/String;
 HSPLandroid/icu/impl/ICUResourceBundleReader$ReaderValue;->getStringArray(Landroid/icu/impl/ICUResourceBundleReader$Array;)[Ljava/lang/String;
@@ -22748,7 +20451,6 @@
 HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->get(I)Ljava/lang/Object;
 HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache$Level;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object;
 HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;-><init>(I)V
-HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->findSimple(I)I
 HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->get(I)Ljava/lang/Object;
 HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfAbsent(ILjava/lang/Object;I)Ljava/lang/Object;
 HSPLandroid/icu/impl/ICUResourceBundleReader$ResourceCache;->putIfCleared([Ljava/lang/Object;ILjava/lang/Object;I)Ljava/lang/Object;
@@ -22774,10 +20476,6 @@
 HSPLandroid/icu/impl/ICUResourceBundleReader;->getTable16KeyOffsets(I)[C
 HSPLandroid/icu/impl/ICUResourceBundleReader;->init(Ljava/nio/ByteBuffer;)V
 HSPLandroid/icu/impl/ICUResourceBundleReader;->makeStringFromBytes(II)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUResourceTableAccess;->getTableString(Landroid/icu/impl/ICUResourceBundle;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUService$Factory;->create(Landroid/icu/impl/ICUService$Key;Landroid/icu/impl/ICUService;)Ljava/lang/Object;
-HSPLandroid/icu/impl/ICUService$Factory;->getDisplayName(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/lang/String;
-HSPLandroid/icu/impl/ICUService$Factory;->updateVisibleIDs(Ljava/util/Map;)V
 HSPLandroid/icu/impl/ICUService;->clearCaches()V
 HSPLandroid/icu/impl/ICUService;->clearServiceCache()V
 HSPLandroid/icu/impl/ICUService;->getKey(Landroid/icu/impl/ICUService$Key;[Ljava/lang/String;)Ljava/lang/Object;
@@ -22795,23 +20493,6 @@
 HSPLandroid/icu/impl/JavaTimeZone;->getOffset(JZ[I)V
 HSPLandroid/icu/impl/JavaTimeZone;->hashCode()I
 HSPLandroid/icu/impl/JavaTimeZone;->isFrozen()Z
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl$Cache;-><init>(Landroid/icu/impl/LocaleDisplayNamesImpl$1;)V
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl$Cache;->get(Landroid/icu/util/ULocale;[Landroid/icu/text/DisplayContext;)Landroid/icu/text/LocaleDisplayNames;
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl$CapitalizationContextSink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl$CapitalizationContextUsage;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl$DataTable;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl$DataTableType;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl$DataTableType;->values()[Landroid/icu/impl/LocaleDisplayNamesImpl$DataTableType;
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl$DataTables;->load(Ljava/lang/String;)Landroid/icu/impl/LocaleDisplayNamesImpl$DataTables;
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl$ICUDataTable;->get(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl$ICUDataTable;->getLocale()Landroid/icu/util/ULocale;
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl;-><init>(Landroid/icu/util/ULocale;[Landroid/icu/text/DisplayContext;)V
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl;->adjustForUsageAndContext(Landroid/icu/impl/LocaleDisplayNamesImpl$CapitalizationContextUsage;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl;->getInstance(Landroid/icu/util/ULocale;[Landroid/icu/text/DisplayContext;)Landroid/icu/text/LocaleDisplayNames;
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl;->localeDisplayName(Ljava/util/Locale;)Ljava/lang/String;
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl;->localeDisplayNameInternal(Landroid/icu/util/ULocale;)Ljava/lang/String;
-HSPLandroid/icu/impl/LocaleDisplayNamesImpl;->regionDisplayName(Ljava/lang/String;Z)Ljava/lang/String;
-HSPLandroid/icu/impl/LocaleIDParser;-><init>(Ljava/lang/String;Z)V
 HSPLandroid/icu/impl/LocaleIDParser;->getKeywordMap()Ljava/util/Map;
 HSPLandroid/icu/impl/LocaleIDParser;->haveExperimentalLanguagePrefix()Z
 HSPLandroid/icu/impl/LocaleIDParser;->parseBaseName()V
@@ -22825,36 +20506,17 @@
 HSPLandroid/icu/impl/LocaleIDParser;->skipScript()V
 HSPLandroid/icu/impl/Norm2AllModes$1;-><init>()V
 HSPLandroid/icu/impl/Norm2AllModes$ComposeNormalizer2;->spanQuickCheckYes(Ljava/lang/CharSequence;)I
-HSPLandroid/icu/impl/Norm2AllModes$DecomposeNormalizer2;->getQuickCheck(I)I
-HSPLandroid/icu/impl/Norm2AllModes$DecomposeNormalizer2;->normalize(Ljava/lang/CharSequence;Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)V
-HSPLandroid/icu/impl/Norm2AllModes$DecomposeNormalizer2;->normalizeAndAppend(Ljava/lang/CharSequence;ZLandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)V
 HSPLandroid/icu/impl/Norm2AllModes$DecomposeNormalizer2;->spanQuickCheckYes(Ljava/lang/CharSequence;)I
 HSPLandroid/icu/impl/Norm2AllModes$NoopNormalizer2;-><init>()V
 HSPLandroid/icu/impl/Norm2AllModes$Norm2AllModesSingleton;-><init>(Ljava/lang/String;)V
 HSPLandroid/icu/impl/Norm2AllModes$Norm2AllModesSingleton;-><init>(Ljava/lang/String;Landroid/icu/impl/Norm2AllModes$1;)V
-HSPLandroid/icu/impl/Norm2AllModes$Normalizer2WithImpl;->normalize(Ljava/lang/CharSequence;Ljava/lang/StringBuilder;)Ljava/lang/StringBuilder;
-HSPLandroid/icu/impl/Norm2AllModes$Normalizer2WithImpl;->normalizeSecondAndAppend(Ljava/lang/StringBuilder;Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
-HSPLandroid/icu/impl/Norm2AllModes$Normalizer2WithImpl;->normalizeSecondAndAppend(Ljava/lang/StringBuilder;Ljava/lang/CharSequence;Z)Ljava/lang/StringBuilder;
 HSPLandroid/icu/impl/Norm2AllModes;-><init>(Landroid/icu/impl/Normalizer2Impl;)V
-HSPLandroid/icu/impl/Norm2AllModes;->getN2WithImpl(I)Landroid/icu/impl/Norm2AllModes$Normalizer2WithImpl;
-HSPLandroid/icu/impl/Norm2AllModes;->getNFCInstance()Landroid/icu/impl/Norm2AllModes;
 HSPLandroid/icu/impl/Normalizer2Impl$1;-><init>()V
 HSPLandroid/icu/impl/Normalizer2Impl$IsAcceptable;-><init>(Landroid/icu/impl/Normalizer2Impl$1;)V
 HSPLandroid/icu/impl/Normalizer2Impl$IsAcceptable;->isDataVersionAcceptable([B)Z
-HSPLandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;-><init>(Landroid/icu/impl/Normalizer2Impl;Ljava/lang/Appendable;I)V
-HSPLandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->append(Ljava/lang/CharSequence;IIII)V
-HSPLandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->flushAndAppendZeroCC(Ljava/lang/CharSequence;II)Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;
-HSPLandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;->previousCC()I
 HSPLandroid/icu/impl/Normalizer2Impl;->addLcccChars(Landroid/icu/text/UnicodeSet;)V
-HSPLandroid/icu/impl/Normalizer2Impl;->addPropertyStarts(Landroid/icu/text/UnicodeSet;)V
-HSPLandroid/icu/impl/Normalizer2Impl;->addToStartSet(Landroid/icu/impl/Trie2Writable;II)V
 HSPLandroid/icu/impl/Normalizer2Impl;->composeQuickCheck(Ljava/lang/CharSequence;IIZZ)I
-HSPLandroid/icu/impl/Normalizer2Impl;->decompose(IILandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)V
 HSPLandroid/icu/impl/Normalizer2Impl;->decompose(Ljava/lang/CharSequence;IILandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)I
-HSPLandroid/icu/impl/Normalizer2Impl;->decomposeAndAppend(Ljava/lang/CharSequence;ZLandroid/icu/impl/Normalizer2Impl$ReorderingBuffer;)V
-HSPLandroid/icu/impl/Normalizer2Impl;->ensureCanonIterData()Landroid/icu/impl/Normalizer2Impl;
-HSPLandroid/icu/impl/Normalizer2Impl;->enumLcccRange(IIILandroid/icu/text/UnicodeSet;)V
-HSPLandroid/icu/impl/Normalizer2Impl;->enumNorm16PropertyStartsRange(IIILandroid/icu/text/UnicodeSet;)V
 HSPLandroid/icu/impl/Normalizer2Impl;->getFCD16FromNormData(I)I
 HSPLandroid/icu/impl/Normalizer2Impl;->load(Ljava/nio/ByteBuffer;)Landroid/icu/impl/Normalizer2Impl;
 HSPLandroid/icu/impl/OlsonTimeZone;-><init>(Landroid/icu/util/UResourceBundle;Landroid/icu/util/UResourceBundle;Ljava/lang/String;)V
@@ -22871,7 +20533,6 @@
 HSPLandroid/icu/impl/OlsonTimeZone;->loadRule(Landroid/icu/util/UResourceBundle;Ljava/lang/String;)Landroid/icu/util/UResourceBundle;
 HSPLandroid/icu/impl/Pair;->hashCode()I
 HSPLandroid/icu/impl/Pair;->of(Ljava/lang/Object;Ljava/lang/Object;)Landroid/icu/impl/Pair;
-HSPLandroid/icu/impl/PatternProps;->isSyntaxOrWhiteSpace(I)Z
 HSPLandroid/icu/impl/PatternProps;->isWhiteSpace(I)Z
 HSPLandroid/icu/impl/PatternTokenizer;-><init>()V
 HSPLandroid/icu/impl/PatternTokenizer;->next(Ljava/lang/StringBuffer;)I
@@ -22883,6 +20544,10 @@
 HSPLandroid/icu/impl/PluralRulesLoader;->getPluralBundle()Landroid/icu/util/UResourceBundle;
 HSPLandroid/icu/impl/PluralRulesLoader;->getRulesForRulesId(Ljava/lang/String;)Landroid/icu/text/PluralRules;
 HSPLandroid/icu/impl/PluralRulesLoader;->getRulesIdForLocale(Landroid/icu/util/ULocale;Landroid/icu/text/PluralRules$PluralType;)Ljava/lang/String;
+HSPLandroid/icu/impl/RBBIDataWrapper$IsAcceptable;-><init>(Landroid/icu/impl/RBBIDataWrapper$1;)V
+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
@@ -22913,6 +20578,8 @@
 HSPLandroid/icu/impl/StandardPlural;->values()[Landroid/icu/impl/StandardPlural;
 HSPLandroid/icu/impl/StringPrepDataReader;-><init>(Ljava/nio/ByteBuffer;)V
 HSPLandroid/icu/impl/StringPrepDataReader;->isDataVersionAcceptable([B)Z
+HSPLandroid/icu/impl/TimeZoneGenericNames$GenericNameType;-><init>(Ljava/lang/String;I[Ljava/lang/String;)V
+HSPLandroid/icu/impl/TimeZoneGenericNames$GenericNameType;->values()[Landroid/icu/impl/TimeZoneGenericNames$GenericNameType;
 HSPLandroid/icu/impl/TimeZoneNamesFactoryImpl;-><init>()V
 HSPLandroid/icu/impl/TimeZoneNamesFactoryImpl;->getTimeZoneNames(Landroid/icu/util/ULocale;)Landroid/icu/text/TimeZoneNames;
 HSPLandroid/icu/impl/TimeZoneNamesImpl$MZ2TZsCache;-><init>(Landroid/icu/impl/TimeZoneNamesImpl$1;)V
@@ -22946,7 +20613,6 @@
 HSPLandroid/icu/impl/TimeZoneNamesImpl;->loadMetaZoneNames(Ljava/lang/String;)Landroid/icu/impl/TimeZoneNamesImpl$ZNames;
 HSPLandroid/icu/impl/TimeZoneNamesImpl;->loadStrings(Ljava/lang/String;)V
 HSPLandroid/icu/impl/TimeZoneNamesImpl;->loadTimeZoneNames(Ljava/lang/String;)Landroid/icu/impl/TimeZoneNamesImpl$ZNames;
-HSPLandroid/icu/impl/Trie$DataManipulate;->getFoldingOffset(I)I
 HSPLandroid/icu/impl/Trie2$1;-><init>()V
 HSPLandroid/icu/impl/Trie2$1;->map(I)I
 HSPLandroid/icu/impl/Trie2$Trie2Iterator;->hasNext()Z
@@ -22954,44 +20620,23 @@
 HSPLandroid/icu/impl/Trie2$ValueWidth;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/impl/Trie2$ValueWidth;->values()[Landroid/icu/impl/Trie2$ValueWidth;
 HSPLandroid/icu/impl/Trie2;->createFromSerialized(Ljava/nio/ByteBuffer;)Landroid/icu/impl/Trie2;
-HSPLandroid/icu/impl/Trie2Writable;->allocDataBlock(I)I
-HSPLandroid/icu/impl/Trie2Writable;->compactData()V
-HSPLandroid/icu/impl/Trie2Writable;->compactIndex2()V
-HSPLandroid/icu/impl/Trie2Writable;->compactTrie()V
-HSPLandroid/icu/impl/Trie2Writable;->fillBlock(IIIIIZ)V
-HSPLandroid/icu/impl/Trie2Writable;->findHighStart(I)I
-HSPLandroid/icu/impl/Trie2Writable;->freeze(Landroid/icu/impl/Trie2;Landroid/icu/impl/Trie2$ValueWidth;)V
-HSPLandroid/icu/impl/Trie2Writable;->get(I)I
-HSPLandroid/icu/impl/Trie2Writable;->get(IZ)I
-HSPLandroid/icu/impl/Trie2Writable;->getIndex2Block(IZ)I
-HSPLandroid/icu/impl/Trie2Writable;->init(II)V
-HSPLandroid/icu/impl/Trie2Writable;->isInNullBlock(IZ)Z
-HSPLandroid/icu/impl/Trie2Writable;->set(II)Landroid/icu/impl/Trie2Writable;
-HSPLandroid/icu/impl/Trie2Writable;->setIndex2Entry(II)V
-HSPLandroid/icu/impl/Trie2Writable;->setRange(IIIZ)Landroid/icu/impl/Trie2Writable;
 HSPLandroid/icu/impl/Trie2_16;->createFromSerialized(Ljava/nio/ByteBuffer;)Landroid/icu/impl/Trie2_16;
 HSPLandroid/icu/impl/Trie2_16;->get(I)I
 HSPLandroid/icu/impl/Trie2_16;->getFromU16SingleLead(C)I
 HSPLandroid/icu/impl/Trie2_16;->getSerializedLength()I
 HSPLandroid/icu/impl/Trie2_16;->rangeEnd(III)I
 HSPLandroid/icu/impl/Trie2_32;->createFromSerialized(Ljava/nio/ByteBuffer;)Landroid/icu/impl/Trie2_32;
-HSPLandroid/icu/impl/Trie2_32;->get(I)I
 HSPLandroid/icu/impl/Trie2_32;->getFromU16SingleLead(C)I
 HSPLandroid/icu/impl/Trie2_32;->getSerializedLength()I
 HSPLandroid/icu/impl/Trie;-><init>(Ljava/nio/ByteBuffer;Landroid/icu/impl/Trie$DataManipulate;)V
-HSPLandroid/icu/impl/Trie;->getInitialValue()I
-HSPLandroid/icu/impl/Trie;->getSurrogateOffset(CC)I
-HSPLandroid/icu/impl/Trie;->getValue(I)I
 HSPLandroid/icu/impl/UBiDiProps$IsAcceptable;->isDataVersionAcceptable([B)Z
 HSPLandroid/icu/impl/UBiDiProps;-><init>()V
 HSPLandroid/icu/impl/UBiDiProps;->getMaxValue(I)I
 HSPLandroid/icu/impl/UBiDiProps;->readData(Ljava/nio/ByteBuffer;)V
-HSPLandroid/icu/impl/UCaseProps$ContextIterator;->next()I
-HSPLandroid/icu/impl/UCaseProps$ContextIterator;->reset(I)V
 HSPLandroid/icu/impl/UCaseProps$IsAcceptable;->isDataVersionAcceptable([B)Z
 HSPLandroid/icu/impl/UCaseProps;-><init>()V
 HSPLandroid/icu/impl/UCaseProps;->getCaseLocale(Ljava/lang/String;)I
-HSPLandroid/icu/impl/UCaseProps;->getSlotValue(III)I
+HSPLandroid/icu/impl/UCaseProps;->getTrie()Landroid/icu/impl/Trie2_16;
 HSPLandroid/icu/impl/UCaseProps;->readData(Ljava/nio/ByteBuffer;)V
 HSPLandroid/icu/impl/UCaseProps;->toUpperOrTitle(ILandroid/icu/impl/UCaseProps$ContextIterator;Ljava/lang/Appendable;IZ)I
 HSPLandroid/icu/impl/UCharacterProperty$10;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
@@ -23010,6 +20655,9 @@
 HSPLandroid/icu/impl/UCharacterProperty$22;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
 HSPLandroid/icu/impl/UCharacterProperty$23;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
 HSPLandroid/icu/impl/UCharacterProperty$24;-><init>(Landroid/icu/impl/UCharacterProperty;)V
+HSPLandroid/icu/impl/UCharacterProperty$25;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
+HSPLandroid/icu/impl/UCharacterProperty$26;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
+HSPLandroid/icu/impl/UCharacterProperty$27;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
 HSPLandroid/icu/impl/UCharacterProperty$5;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
 HSPLandroid/icu/impl/UCharacterProperty$6;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
 HSPLandroid/icu/impl/UCharacterProperty$7;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
@@ -23021,8 +20669,8 @@
 HSPLandroid/icu/impl/UCharacterProperty$CaseBinaryProperty;-><init>(Landroid/icu/impl/UCharacterProperty;I)V
 HSPLandroid/icu/impl/UCharacterProperty$IntProperty;-><init>(Landroid/icu/impl/UCharacterProperty;III)V
 HSPLandroid/icu/impl/UCharacterProperty$IsAcceptable;->isDataVersionAcceptable([B)Z
+HSPLandroid/icu/impl/UCharacterProperty$NormInertBinaryProperty;-><init>(Landroid/icu/impl/UCharacterProperty;II)V
 HSPLandroid/icu/impl/UCharacterProperty$NormQuickCheckIntProperty;-><init>(Landroid/icu/impl/UCharacterProperty;III)V
-HSPLandroid/icu/impl/UCharacterProperty$NormQuickCheckIntProperty;->getValue(I)I
 HSPLandroid/icu/impl/UCharacterProperty;-><init>()V
 HSPLandroid/icu/impl/UCharacterProperty;->addPropertyStarts(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/UnicodeSet;
 HSPLandroid/icu/impl/UCharacterProperty;->getEuropeanDigit(I)I
@@ -23037,33 +20685,14 @@
 HSPLandroid/icu/impl/UPropertyAliases;->findProperty(I)I
 HSPLandroid/icu/impl/UPropertyAliases;->getPropertyValueEnum(ILjava/lang/CharSequence;)I
 HSPLandroid/icu/impl/UPropertyAliases;->load(Ljava/nio/ByteBuffer;)V
-HSPLandroid/icu/impl/URLHandler$URLVisitor;->visit(Ljava/lang/String;)V
-HSPLandroid/icu/impl/UResource$Array;->getSize()I
-HSPLandroid/icu/impl/UResource$Array;->getValue(ILandroid/icu/impl/UResource$Value;)Z
 HSPLandroid/icu/impl/UResource$Key;->charAt(I)C
 HSPLandroid/icu/impl/UResource$Key;->length()I
 HSPLandroid/icu/impl/UResource$Key;->setString(Ljava/lang/String;)Landroid/icu/impl/UResource$Key;
 HSPLandroid/icu/impl/UResource$Key;->toString()Ljava/lang/String;
-HSPLandroid/icu/impl/UResource$Table;->getKeyAndValue(ILandroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)Z
-HSPLandroid/icu/impl/UResource$Table;->getSize()I
-HSPLandroid/icu/impl/UResource$Value;->getAliasString()Ljava/lang/String;
-HSPLandroid/icu/impl/UResource$Value;->getArray()Landroid/icu/impl/UResource$Array;
-HSPLandroid/icu/impl/UResource$Value;->getBinary()Ljava/nio/ByteBuffer;
-HSPLandroid/icu/impl/UResource$Value;->getInt()I
-HSPLandroid/icu/impl/UResource$Value;->getIntVector()[I
-HSPLandroid/icu/impl/UResource$Value;->getString()Ljava/lang/String;
-HSPLandroid/icu/impl/UResource$Value;->getStringArray()[Ljava/lang/String;
-HSPLandroid/icu/impl/UResource$Value;->getStringArrayOrStringAsArray()[Ljava/lang/String;
-HSPLandroid/icu/impl/UResource$Value;->getStringOrFirstOfArray()Ljava/lang/String;
-HSPLandroid/icu/impl/UResource$Value;->getTable()Landroid/icu/impl/UResource$Table;
-HSPLandroid/icu/impl/UResource$Value;->getType()I
-HSPLandroid/icu/impl/UResource$Value;->getUInt()I
-HSPLandroid/icu/impl/UResource$Value;->isNoInheritanceMarker()Z
 HSPLandroid/icu/impl/UResource$Value;->toString()Ljava/lang/String;
 HSPLandroid/icu/impl/USerializedSet;-><init>()V
 HSPLandroid/icu/impl/USerializedSet;->getRange(I[I)Z
 HSPLandroid/icu/impl/USerializedSet;->getSet([CI)Z
-HSPLandroid/icu/impl/Utility;->unescapeAt(Ljava/lang/String;[I)I
 HSPLandroid/icu/impl/ZoneMeta$CustomTimeZoneCache;-><init>(Landroid/icu/impl/ZoneMeta$1;)V
 HSPLandroid/icu/impl/ZoneMeta$SystemTimeZoneCache;-><init>(Landroid/icu/impl/ZoneMeta$1;)V
 HSPLandroid/icu/impl/ZoneMeta$SystemTimeZoneCache;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
@@ -23075,51 +20704,32 @@
 HSPLandroid/icu/impl/ZoneMeta;->getZoneIDs()[Ljava/lang/String;
 HSPLandroid/icu/impl/ZoneMeta;->getZoneIndex(Ljava/lang/String;)I
 HSPLandroid/icu/impl/ZoneMeta;->openOlsonResource(Landroid/icu/util/UResourceBundle;Ljava/lang/String;)Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/impl/coll/Collation;->ceFromCE32(I)J
-HSPLandroid/icu/impl/coll/CollationBuilder;-><init>(Landroid/icu/impl/coll/CollationTailoring;)V
-HSPLandroid/icu/impl/coll/CollationBuilder;->parseAndBuild(Ljava/lang/String;)Landroid/icu/impl/coll/CollationTailoring;
-HSPLandroid/icu/impl/coll/CollationCompare;->compareUpToQuaternary(Landroid/icu/impl/coll/CollationIterator;Landroid/icu/impl/coll/CollationIterator;Landroid/icu/impl/coll/CollationSettings;)I
 HSPLandroid/icu/impl/coll/CollationData;->getLastPrimaryForGroup(I)J
-HSPLandroid/icu/impl/coll/CollationData;->getScriptIndex(I)I
-HSPLandroid/icu/impl/coll/CollationDataBuilder;-><init>()V
-HSPLandroid/icu/impl/coll/CollationDataBuilder;->initForTailoring(Landroid/icu/impl/coll/CollationData;)V
 HSPLandroid/icu/impl/coll/CollationDataReader$IsAcceptable;-><init>(Landroid/icu/impl/coll/CollationDataReader$1;)V
 HSPLandroid/icu/impl/coll/CollationDataReader$IsAcceptable;->isDataVersionAcceptable([B)Z
 HSPLandroid/icu/impl/coll/CollationDataReader;->read(Landroid/icu/impl/coll/CollationTailoring;Ljava/nio/ByteBuffer;Landroid/icu/impl/coll/CollationTailoring;)V
 HSPLandroid/icu/impl/coll/CollationFastLatin;->compareUTF16([C[CILjava/lang/CharSequence;Ljava/lang/CharSequence;I)I
 HSPLandroid/icu/impl/coll/CollationFastLatin;->getOptions(Landroid/icu/impl/coll/CollationData;Landroid/icu/impl/coll/CollationSettings;[C)I
-HSPLandroid/icu/impl/coll/CollationIterator$CEBuffer;->ensureAppendCapacity(I)V
-HSPLandroid/icu/impl/coll/CollationIterator;->appendCEsFromCE32(Landroid/icu/impl/coll/CollationData;IIZ)V
+HSPLandroid/icu/impl/coll/CollationIterator;->clearCEsIfNoneRemaining()V
 HSPLandroid/icu/impl/coll/CollationIterator;->makeCodePointAndCE32Pair(II)J
 HSPLandroid/icu/impl/coll/CollationIterator;->nextCE()J
-HSPLandroid/icu/impl/coll/CollationIterator;->nextCE32FromContraction(Landroid/icu/impl/coll/CollationData;ILjava/lang/CharSequence;III)I
+HSPLandroid/icu/impl/coll/CollationKeys$LevelCallback;-><init>()V
+HSPLandroid/icu/impl/coll/CollationKeys$SortKeyByteSink;->Append(I)V
+HSPLandroid/icu/impl/coll/CollationKeys$SortKeyByteSink;->Append([BI)V
+HSPLandroid/icu/impl/coll/CollationKeys;->getSortKeyLevel(II)Landroid/icu/impl/coll/CollationKeys$SortKeyLevel;
+HSPLandroid/icu/impl/coll/CollationKeys;->writeSortKeyUpToQuaternary(Landroid/icu/impl/coll/CollationIterator;[ZLandroid/icu/impl/coll/CollationSettings;Landroid/icu/impl/coll/CollationKeys$SortKeyByteSink;ILandroid/icu/impl/coll/CollationKeys$LevelCallback;Z)V
 HSPLandroid/icu/impl/coll/CollationLoader;->loadTailoring(Landroid/icu/util/ULocale;Landroid/icu/util/Output;)Landroid/icu/impl/coll/CollationTailoring;
-HSPLandroid/icu/impl/coll/CollationRuleParser$Importer;->getRules(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/impl/coll/CollationRuleParser$Position;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/impl/coll/CollationRuleParser$Position;->values()[Landroid/icu/impl/coll/CollationRuleParser$Position;
-HSPLandroid/icu/impl/coll/CollationRuleParser$Sink;->addRelation(ILjava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
-HSPLandroid/icu/impl/coll/CollationRuleParser$Sink;->addReset(ILjava/lang/CharSequence;)V
-HSPLandroid/icu/impl/coll/CollationRuleParser;->isSyntaxChar(I)Z
-HSPLandroid/icu/impl/coll/CollationRuleParser;->parse(Ljava/lang/String;)V
-HSPLandroid/icu/impl/coll/CollationRuleParser;->parseSetting()V
-HSPLandroid/icu/impl/coll/CollationRuleParser;->readWords(ILjava/lang/StringBuilder;)I
 HSPLandroid/icu/impl/coll/CollationSettings;->clone()Landroid/icu/impl/coll/SharedObject;
+HSPLandroid/icu/impl/coll/CollationSettings;->getTertiaryMask(I)I
 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/CollationTailoring;->setVersion(II)V
-HSPLandroid/icu/impl/coll/ContractionsAndExpansions;-><init>(Landroid/icu/text/UnicodeSet;Landroid/icu/text/UnicodeSet;Landroid/icu/impl/coll/ContractionsAndExpansions$CESink;Z)V
-HSPLandroid/icu/impl/coll/ContractionsAndExpansions;->addStrings(IILandroid/icu/text/UnicodeSet;)V
-HSPLandroid/icu/impl/coll/ContractionsAndExpansions;->handleCE32(III)V
-HSPLandroid/icu/impl/coll/ContractionsAndExpansions;->handleContractions(III)V
 HSPLandroid/icu/impl/coll/SharedObject$Reference;->clone()Landroid/icu/impl/coll/SharedObject$Reference;
 HSPLandroid/icu/impl/coll/SharedObject$Reference;->copyOnWrite()Landroid/icu/impl/coll/SharedObject;
 HSPLandroid/icu/impl/coll/SharedObject$Reference;->finalize()V
 HSPLandroid/icu/impl/coll/SharedObject;->clone()Landroid/icu/impl/coll/SharedObject;
 HSPLandroid/icu/impl/coll/UTF16CollationIterator;->handleNextCE32()J
-HSPLandroid/icu/impl/coll/UTF16CollationIterator;->nextCodePoint()I
 HSPLandroid/icu/impl/coll/UTF16CollationIterator;->setText(ZLjava/lang/CharSequence;I)V
-HSPLandroid/icu/impl/coll/UVector32;->ensureAppendCapacity()V
 HSPLandroid/icu/impl/locale/AsciiUtil;->caseIgnoreMatch(Ljava/lang/String;Ljava/lang/String;)Z
 HSPLandroid/icu/impl/locale/AsciiUtil;->toLowerString(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/icu/impl/locale/AsciiUtil;->toTitleString(Ljava/lang/String;)Ljava/lang/String;
@@ -23129,15 +20739,13 @@
 HSPLandroid/icu/impl/locale/BaseLocale$Cache;->createObject(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/icu/impl/locale/BaseLocale$Cache;->normalizeKey(Landroid/icu/impl/locale/BaseLocale$Key;)Landroid/icu/impl/locale/BaseLocale$Key;
 HSPLandroid/icu/impl/locale/BaseLocale$Cache;->normalizeKey(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/locale/BaseLocale$Key;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/icu/impl/locale/BaseLocale$Key;->equals(Ljava/lang/Object;)Z
 HSPLandroid/icu/impl/locale/BaseLocale$Key;->hashCode()I
 HSPLandroid/icu/impl/locale/BaseLocale$Key;->normalize(Landroid/icu/impl/locale/BaseLocale$Key;)Landroid/icu/impl/locale/BaseLocale$Key;
 HSPLandroid/icu/impl/locale/BaseLocale;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/icu/impl/locale/BaseLocale;->getInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/icu/impl/locale/BaseLocale;
-HSPLandroid/icu/impl/locale/LocaleObjectCache;->createObject(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/icu/impl/locale/LocaleObjectCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLandroid/icu/impl/number/AffixUtils$SymbolProvider;->getSymbol(I)Ljava/lang/CharSequence;
+HSPLandroid/icu/impl/number/AdoptingModifierStore;->getModifierWithoutPlural(I)Landroid/icu/impl/number/Modifier;
 HSPLandroid/icu/impl/number/AffixUtils;->getFieldForType(I)Landroid/icu/text/NumberFormat$Field;
 HSPLandroid/icu/impl/number/AffixUtils;->hasCurrencySymbols(Ljava/lang/CharSequence;)Z
 HSPLandroid/icu/impl/number/AffixUtils;->hasNext(JLjava/lang/CharSequence;)Z
@@ -23145,6 +20753,7 @@
 HSPLandroid/icu/impl/number/AffixUtils;->unescape(Ljava/lang/CharSequence;Landroid/icu/impl/number/NumberStringBuilder;ILandroid/icu/impl/number/AffixUtils$SymbolProvider;)I
 HSPLandroid/icu/impl/number/ConstantAffixModifier;-><init>()V
 HSPLandroid/icu/impl/number/ConstantAffixModifier;->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;->apply(Landroid/icu/impl/number/NumberStringBuilder;II)I
 HSPLandroid/icu/impl/number/CurrencySpacingEnabledModifier;->applyCurrencySpacing(Landroid/icu/impl/number/NumberStringBuilder;IIIILandroid/icu/text/DecimalFormatSymbols;)I
 HSPLandroid/icu/impl/number/CustomSymbolCurrency;->resolve(Landroid/icu/util/Currency;Landroid/icu/util/ULocale;Landroid/icu/text/DecimalFormatSymbols;)Landroid/icu/util/Currency;
@@ -23159,6 +20768,7 @@
 HSPLandroid/icu/impl/number/DecimalFormatProperties;->getDecimalSeparatorAlwaysShown()Z
 HSPLandroid/icu/impl/number/DecimalFormatProperties;->getFormatWidth()I
 HSPLandroid/icu/impl/number/DecimalFormatProperties;->getGroupingSize()I
+HSPLandroid/icu/impl/number/DecimalFormatProperties;->getGroupingUsed()Z
 HSPLandroid/icu/impl/number/DecimalFormatProperties;->getMagnitudeMultiplier()I
 HSPLandroid/icu/impl/number/DecimalFormatProperties;->getMathContext()Ljava/math/MathContext;
 HSPLandroid/icu/impl/number/DecimalFormatProperties;->getMaximumFractionDigits()I
@@ -23188,6 +20798,7 @@
 HSPLandroid/icu/impl/number/DecimalFormatProperties;->setExponentSignAlwaysShown(Z)Landroid/icu/impl/number/DecimalFormatProperties;
 HSPLandroid/icu/impl/number/DecimalFormatProperties;->setFormatWidth(I)Landroid/icu/impl/number/DecimalFormatProperties;
 HSPLandroid/icu/impl/number/DecimalFormatProperties;->setGroupingSize(I)Landroid/icu/impl/number/DecimalFormatProperties;
+HSPLandroid/icu/impl/number/DecimalFormatProperties;->setGroupingUsed(Z)Landroid/icu/impl/number/DecimalFormatProperties;
 HSPLandroid/icu/impl/number/DecimalFormatProperties;->setMagnitudeMultiplier(I)Landroid/icu/impl/number/DecimalFormatProperties;
 HSPLandroid/icu/impl/number/DecimalFormatProperties;->setMathContext(Ljava/math/MathContext;)Landroid/icu/impl/number/DecimalFormatProperties;
 HSPLandroid/icu/impl/number/DecimalFormatProperties;->setMaximumFractionDigits(I)Landroid/icu/impl/number/DecimalFormatProperties;
@@ -23206,82 +20817,45 @@
 HSPLandroid/icu/impl/number/DecimalFormatProperties;->setRoundingIncrement(Ljava/math/BigDecimal;)Landroid/icu/impl/number/DecimalFormatProperties;
 HSPLandroid/icu/impl/number/DecimalFormatProperties;->setRoundingMode(Ljava/math/RoundingMode;)Landroid/icu/impl/number/DecimalFormatProperties;
 HSPLandroid/icu/impl/number/DecimalFormatProperties;->setSecondaryGroupingSize(I)Landroid/icu/impl/number/DecimalFormatProperties;
-HSPLandroid/icu/impl/number/DecimalQuantity;->adjustMagnitude(I)V
-HSPLandroid/icu/impl/number/DecimalQuantity;->copyFrom(Landroid/icu/impl/number/DecimalQuantity;)V
-HSPLandroid/icu/impl/number/DecimalQuantity;->createCopy()Landroid/icu/impl/number/DecimalQuantity;
-HSPLandroid/icu/impl/number/DecimalQuantity;->getDigit(I)B
-HSPLandroid/icu/impl/number/DecimalQuantity;->getLowerDisplayMagnitude()I
-HSPLandroid/icu/impl/number/DecimalQuantity;->getMagnitude()I
-HSPLandroid/icu/impl/number/DecimalQuantity;->getPositionFingerprint()J
-HSPLandroid/icu/impl/number/DecimalQuantity;->getStandardPlural(Landroid/icu/text/PluralRules;)Landroid/icu/impl/StandardPlural;
-HSPLandroid/icu/impl/number/DecimalQuantity;->getUpperDisplayMagnitude()I
-HSPLandroid/icu/impl/number/DecimalQuantity;->isInfinite()Z
-HSPLandroid/icu/impl/number/DecimalQuantity;->isNaN()Z
-HSPLandroid/icu/impl/number/DecimalQuantity;->isNegative()Z
-HSPLandroid/icu/impl/number/DecimalQuantity;->isZero()Z
-HSPLandroid/icu/impl/number/DecimalQuantity;->maxRepresentableDigits()I
-HSPLandroid/icu/impl/number/DecimalQuantity;->multiplyBy(Ljava/math/BigDecimal;)V
-HSPLandroid/icu/impl/number/DecimalQuantity;->populateUFieldPosition(Ljava/text/FieldPosition;)V
-HSPLandroid/icu/impl/number/DecimalQuantity;->roundToIncrement(Ljava/math/BigDecimal;Ljava/math/MathContext;)V
-HSPLandroid/icu/impl/number/DecimalQuantity;->roundToInfinity()V
-HSPLandroid/icu/impl/number/DecimalQuantity;->roundToMagnitude(ILjava/math/MathContext;)V
-HSPLandroid/icu/impl/number/DecimalQuantity;->setFractionLength(II)V
-HSPLandroid/icu/impl/number/DecimalQuantity;->setIntegerLength(II)V
-HSPLandroid/icu/impl/number/DecimalQuantity;->setToBigDecimal(Ljava/math/BigDecimal;)V
-HSPLandroid/icu/impl/number/DecimalQuantity;->toBigDecimal()Ljava/math/BigDecimal;
-HSPLandroid/icu/impl/number/DecimalQuantity;->toDouble()D
-HSPLandroid/icu/impl/number/DecimalQuantity;->toPlainString()Ljava/lang/String;
 HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToDoubleFast(D)V
 HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->_setToLong(J)V
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->bcdToBigDecimal()Ljava/math/BigDecimal;
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->compact()V
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->convertToAccurateDouble()V
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->copyBcdFrom(Landroid/icu/impl/number/DecimalQuantity;)V
 HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getDigit(I)B
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getDigitPos(I)B
 HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getLowerDisplayMagnitude()I
 HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getPluralOperand(Landroid/icu/text/PluralRules$Operand;)D
 HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->getUpperDisplayMagnitude()I
 HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->isInfinite()Z
 HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->isNaN()Z
 HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->isNegative()Z
+HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->isZero()Z
 HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->populateUFieldPosition(Ljava/text/FieldPosition;)V
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->readBigIntegerToBcd(Ljava/math/BigInteger;)V
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->readIntToBcd(I)V
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->readLongToBcd(J)V
 HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->roundToMagnitude(ILjava/math/MathContext;)V
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setBcdToZero()V
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setDigitPos(IB)V
 HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setFractionLength(II)V
 HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setIntegerLength(II)V
 HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->setToDouble(D)V
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->shiftLeft(I)V
-HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->shiftRight(I)V
+HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->signum()I
 HSPLandroid/icu/impl/number/DecimalQuantity_AbstractBCD;->toFractionLong(Z)J
 HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;->compact()V
 HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;->getDigitPos(I)B
 HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;->readIntToBcd(I)V
 HSPLandroid/icu/impl/number/DecimalQuantity_DualStorageBCD;->setBcdToZero()V
+HSPLandroid/icu/impl/number/Grouper;-><init>(SSS)V
+HSPLandroid/icu/impl/number/Grouper;->forProperties(Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/impl/number/Grouper;
+HSPLandroid/icu/impl/number/Grouper;->getInstance(SSS)Landroid/icu/impl/number/Grouper;
+HSPLandroid/icu/impl/number/Grouper;->groupAtPosition(ILandroid/icu/impl/number/DecimalQuantity;)Z
+HSPLandroid/icu/impl/number/Grouper;->withLocaleData(Landroid/icu/util/ULocale;Landroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;)Landroid/icu/impl/number/Grouper;
 HSPLandroid/icu/impl/number/MacroProps;-><init>()V
 HSPLandroid/icu/impl/number/MacroProps;->fallback(Landroid/icu/impl/number/MacroProps;)V
 HSPLandroid/icu/impl/number/MicroProps;->clone()Ljava/lang/Object;
 HSPLandroid/icu/impl/number/MicroProps;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;
-HSPLandroid/icu/impl/number/Modifier;->apply(Landroid/icu/impl/number/NumberStringBuilder;II)I
-HSPLandroid/icu/impl/number/Modifier;->getCodePointCount()I
-HSPLandroid/icu/impl/number/Modifier;->getPrefixLength()I
-HSPLandroid/icu/impl/number/Modifier;->isStrong()Z
 HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->applyToMicros(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;)V
 HSPLandroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;
 HSPLandroid/icu/impl/number/MutablePatternModifier;->apply(Landroid/icu/impl/number/NumberStringBuilder;II)I
-HSPLandroid/icu/impl/number/MutablePatternModifier;->charAt(I)C
 HSPLandroid/icu/impl/number/MutablePatternModifier;->createConstantModifier(Landroid/icu/impl/number/NumberStringBuilder;Landroid/icu/impl/number/NumberStringBuilder;)Landroid/icu/impl/number/ConstantMultiFieldModifier;
 HSPLandroid/icu/impl/number/MutablePatternModifier;->createImmutableAndChain(Landroid/icu/impl/number/MicroPropsGenerator;)Landroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;
-HSPLandroid/icu/impl/number/MutablePatternModifier;->enterCharSequenceMode(Z)V
 HSPLandroid/icu/impl/number/MutablePatternModifier;->getSymbol(I)Ljava/lang/CharSequence;
-HSPLandroid/icu/impl/number/MutablePatternModifier;->length()I
 HSPLandroid/icu/impl/number/MutablePatternModifier;->needsPlurals()Z
 HSPLandroid/icu/impl/number/MutablePatternModifier;->processQuantity(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;
-HSPLandroid/icu/impl/number/MutablePatternModifier;->setNumberProperties(ZLandroid/icu/impl/StandardPlural;)V
+HSPLandroid/icu/impl/number/MutablePatternModifier;->setNumberProperties(ILandroid/icu/impl/StandardPlural;)V
 HSPLandroid/icu/impl/number/NumberStringBuilder;-><init>()V
 HSPLandroid/icu/impl/number/NumberStringBuilder;->charAt(I)C
 HSPLandroid/icu/impl/number/NumberStringBuilder;->clear()Landroid/icu/impl/number/NumberStringBuilder;
@@ -23289,16 +20863,13 @@
 HSPLandroid/icu/impl/number/NumberStringBuilder;->insert(I[C[Landroid/icu/text/NumberFormat$Field;)I
 HSPLandroid/icu/impl/number/NumberStringBuilder;->insertCodePoint(IILandroid/icu/text/NumberFormat$Field;)I
 HSPLandroid/icu/impl/number/NumberStringBuilder;->length()I
-HSPLandroid/icu/impl/number/NumberStringBuilder;->populateFieldPosition(Ljava/text/FieldPosition;I)V
+HSPLandroid/icu/impl/number/NumberStringBuilder;->nextFieldPosition(Ljava/text/FieldPosition;)Z
 HSPLandroid/icu/impl/number/NumberStringBuilder;->prepareForInsert(II)I
 HSPLandroid/icu/impl/number/NumberStringBuilder;->toCharArray()[C
 HSPLandroid/icu/impl/number/NumberStringBuilder;->toFieldArray()[Landroid/icu/text/NumberFormat$Field;
 HSPLandroid/icu/impl/number/Padder$PadPosition;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/impl/number/Padder;-><init>(Ljava/lang/String;ILandroid/icu/impl/number/Padder$PadPosition;)V
 HSPLandroid/icu/impl/number/Padder;->isValid()Z
-HSPLandroid/icu/impl/number/ParameterizedModifier;->getModifier(Z)Landroid/icu/impl/number/Modifier;
-HSPLandroid/icu/impl/number/Parse$1;-><init>()V
-HSPLandroid/icu/impl/number/Parse$2;-><init>()V
 HSPLandroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;-><init>(Ljava/lang/String;Landroid/icu/impl/number/PatternStringParser$1;)V
 HSPLandroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;->getEndpoints(I)J
 HSPLandroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;->getString(I)Ljava/lang/String;
@@ -23310,12 +20881,22 @@
 HSPLandroid/icu/impl/number/PatternStringParser;->consumeExponent(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V
 HSPLandroid/icu/impl/number/PatternStringParser;->consumeFractionFormat(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V
 HSPLandroid/icu/impl/number/PatternStringParser;->consumeIntegerFormat(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V
-HSPLandroid/icu/impl/number/PatternStringParser;->consumeLiteral(Landroid/icu/impl/number/PatternStringParser$ParserState;)V
 HSPLandroid/icu/impl/number/PatternStringParser;->consumePadding(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;Landroid/icu/impl/number/Padder$PadPosition;)V
 HSPLandroid/icu/impl/number/PatternStringParser;->consumePattern(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;)V
 HSPLandroid/icu/impl/number/PatternStringParser;->consumeSubpattern(Landroid/icu/impl/number/PatternStringParser$ParserState;Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;)V
 HSPLandroid/icu/impl/number/PatternStringParser;->patternInfoToProperties(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;I)V
+HSPLandroid/icu/impl/number/PatternStringUtils;->patternInfoToStringBuilder(Landroid/icu/impl/number/AffixPatternProvider;ZILandroid/icu/number/NumberFormatter$SignDisplay;Landroid/icu/impl/StandardPlural;ZLjava/lang/StringBuilder;)V
+HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;-><init>(Landroid/icu/impl/number/DecimalFormatProperties;)V
+HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->charAt(II)C
+HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->containsSymbolType(I)Z
+HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->getString(I)Ljava/lang/String;
+HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->hasBody()Z
+HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->hasCurrencySign()Z
+HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->hasNegativeSubpattern()Z
+HSPLandroid/icu/impl/number/PropertiesAffixPatternProvider;->length(I)I
+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
@@ -23324,101 +20905,48 @@
 HSPLandroid/icu/lang/UScript$ScriptUsage;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/lang/UScript$ScriptUsage;->values()[Landroid/icu/lang/UScript$ScriptUsage;
 HSPLandroid/icu/lang/UScript;->getScript(I)I
-HSPLandroid/icu/math/BigDecimal;-><init>()V
 HSPLandroid/icu/math/BigDecimal;-><init>(I)V
 HSPLandroid/icu/math/BigDecimal;-><init>(J)V
-HSPLandroid/icu/math/BigDecimal;-><init>(Ljava/math/BigInteger;I)V
-HSPLandroid/icu/math/BigDecimal;-><init>([CII)V
-HSPLandroid/icu/math/BigDecimal;->byteaddsub([BI[BIIZ)[B
 HSPLandroid/icu/math/BigDecimal;->diginit()[B
-HSPLandroid/icu/math/BigDecimal;->divide(Landroid/icu/math/BigDecimal;II)Landroid/icu/math/BigDecimal;
-HSPLandroid/icu/math/BigDecimal;->dodivide(CLandroid/icu/math/BigDecimal;Landroid/icu/math/MathContext;I)Landroid/icu/math/BigDecimal;
-HSPLandroid/icu/math/BigDecimal;->doubleValue()D
-HSPLandroid/icu/math/BigDecimal;->extend([BI)[B
-HSPLandroid/icu/math/BigDecimal;->finish(Landroid/icu/math/MathContext;Z)Landroid/icu/math/BigDecimal;
-HSPLandroid/icu/math/BigDecimal;->layout()[C
-HSPLandroid/icu/math/BigDecimal;->movePointLeft(I)Landroid/icu/math/BigDecimal;
-HSPLandroid/icu/math/BigDecimal;->multiply(Landroid/icu/math/BigDecimal;Landroid/icu/math/MathContext;)Landroid/icu/math/BigDecimal;
-HSPLandroid/icu/math/BigDecimal;->round(II)Landroid/icu/math/BigDecimal;
-HSPLandroid/icu/math/BigDecimal;->scale()I
-HSPLandroid/icu/math/BigDecimal;->signum()I
-HSPLandroid/icu/math/BigDecimal;->toBigDecimal()Ljava/math/BigDecimal;
-HSPLandroid/icu/math/BigDecimal;->toBigInteger()Ljava/math/BigInteger;
-HSPLandroid/icu/math/BigDecimal;->toString()Ljava/lang/String;
-HSPLandroid/icu/math/BigDecimal;->unscaledValue()Ljava/math/BigInteger;
-HSPLandroid/icu/math/BigDecimal;->valueOf(JI)Landroid/icu/math/BigDecimal;
 HSPLandroid/icu/math/MathContext;-><init>(II)V
 HSPLandroid/icu/math/MathContext;-><init>(IIZI)V
-HSPLandroid/icu/number/CurrencyRounder;->withCurrency(Landroid/icu/util/Currency;)Landroid/icu/number/Rounder;
 HSPLandroid/icu/number/FormattedNumber;->appendTo(Ljava/lang/Appendable;)Ljava/lang/Appendable;
-HSPLandroid/icu/number/FormattedNumber;->populateFieldPosition(Ljava/text/FieldPosition;I)V
-HSPLandroid/icu/number/Grouper;-><init>(BBZ)V
-HSPLandroid/icu/number/Grouper;->getInstance(BBZ)Landroid/icu/number/Grouper;
-HSPLandroid/icu/number/Grouper;->groupAtPosition(ILandroid/icu/impl/number/DecimalQuantity;)Z
-HSPLandroid/icu/number/Grouper;->withLocaleData(Landroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;)Landroid/icu/number/Grouper;
+HSPLandroid/icu/number/FormattedNumber;->nextFieldPosition(Ljava/text/FieldPosition;)Z
 HSPLandroid/icu/number/IntegerWidth;-><init>(II)V
 HSPLandroid/icu/number/IntegerWidth;->truncateAt(I)Landroid/icu/number/IntegerWidth;
 HSPLandroid/icu/number/IntegerWidth;->zeroFillTo(I)Landroid/icu/number/IntegerWidth;
+HSPLandroid/icu/number/LocalizedNumberFormatter;->computeCompiled()Z
 HSPLandroid/icu/number/LocalizedNumberFormatter;->format(D)Landroid/icu/number/FormattedNumber;
 HSPLandroid/icu/number/LocalizedNumberFormatter;->format(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/number/FormattedNumber;
 HSPLandroid/icu/number/NumberFormatter$DecimalSeparatorDisplay;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/number/NumberFormatter$SignDisplay;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/number/NumberFormatter$UnitWidth;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/number/NumberFormatterImpl;->apply(Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/NumberStringBuilder;)Landroid/icu/impl/number/MicroProps;
+HSPLandroid/icu/number/NumberFormatterImpl;->format(Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/NumberStringBuilder;)I
 HSPLandroid/icu/number/NumberFormatterImpl;->macrosToMicroGenerator(Landroid/icu/impl/number/MacroProps;Z)Landroid/icu/impl/number/MicroPropsGenerator;
-HSPLandroid/icu/number/NumberFormatterImpl;->microsToString(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/NumberStringBuilder;)V
-HSPLandroid/icu/number/NumberFormatterImpl;->writeFractionDigits(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/NumberStringBuilder;)I
-HSPLandroid/icu/number/NumberFormatterImpl;->writeIntegerDigits(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/NumberStringBuilder;)I
-HSPLandroid/icu/number/NumberFormatterImpl;->writeNumber(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/NumberStringBuilder;)I
-HSPLandroid/icu/number/NumberFormatterSettings;->create(ILjava/lang/Object;)Landroid/icu/number/NumberFormatterSettings;
+HSPLandroid/icu/number/NumberFormatterImpl;->preProcess(Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;
+HSPLandroid/icu/number/NumberFormatterImpl;->preProcessUnsafe(Landroid/icu/impl/number/MacroProps;Landroid/icu/impl/number/DecimalQuantity;)Landroid/icu/impl/number/MicroProps;
+HSPLandroid/icu/number/NumberFormatterImpl;->writeAffixes(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/NumberStringBuilder;II)I
+HSPLandroid/icu/number/NumberFormatterImpl;->writeFractionDigits(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/NumberStringBuilder;I)I
+HSPLandroid/icu/number/NumberFormatterImpl;->writeIntegerDigits(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/NumberStringBuilder;I)I
+HSPLandroid/icu/number/NumberFormatterImpl;->writeNumber(Landroid/icu/impl/number/MicroProps;Landroid/icu/impl/number/DecimalQuantity;Landroid/icu/impl/number/NumberStringBuilder;I)I
 HSPLandroid/icu/number/NumberFormatterSettings;->macros(Landroid/icu/impl/number/MacroProps;)Landroid/icu/number/NumberFormatterSettings;
 HSPLandroid/icu/number/NumberFormatterSettings;->resolve()Landroid/icu/impl/number/MacroProps;
-HSPLandroid/icu/number/NumberPropertyMapper$PropertiesAffixPatternProvider;-><init>(Landroid/icu/impl/number/DecimalFormatProperties;)V
-HSPLandroid/icu/number/NumberPropertyMapper$PropertiesAffixPatternProvider;->charAt(II)C
-HSPLandroid/icu/number/NumberPropertyMapper$PropertiesAffixPatternProvider;->containsSymbolType(I)Z
-HSPLandroid/icu/number/NumberPropertyMapper$PropertiesAffixPatternProvider;->getStringForFlags(I)Ljava/lang/String;
-HSPLandroid/icu/number/NumberPropertyMapper$PropertiesAffixPatternProvider;->hasCurrencySign()Z
-HSPLandroid/icu/number/NumberPropertyMapper$PropertiesAffixPatternProvider;->hasNegativeSubpattern()Z
-HSPLandroid/icu/number/NumberPropertyMapper$PropertiesAffixPatternProvider;->length(I)I
-HSPLandroid/icu/number/NumberPropertyMapper$PropertiesAffixPatternProvider;->negativeHasMinusSign()Z
 HSPLandroid/icu/number/NumberPropertyMapper;->oldToNew(Landroid/icu/impl/number/DecimalFormatProperties;Landroid/icu/text/DecimalFormatSymbols;Landroid/icu/impl/number/DecimalFormatProperties;)Landroid/icu/impl/number/MacroProps;
-HSPLandroid/icu/number/Rounder$CurrencyRounderImpl;-><init>(Landroid/icu/util/Currency$CurrencyUsage;)V
-HSPLandroid/icu/number/Rounder$FracSigRounderImpl;-><init>(IIII)V
-HSPLandroid/icu/number/Rounder$FractionRounderImpl;-><init>(II)V
-HSPLandroid/icu/number/Rounder$FractionRounderImpl;->apply(Landroid/icu/impl/number/DecimalQuantity;)V
-HSPLandroid/icu/number/Rounder$IncrementRounderImpl;-><init>(Ljava/math/BigDecimal;)V
-HSPLandroid/icu/number/Rounder$InfiniteRounderImpl;-><init>()V
-HSPLandroid/icu/number/Rounder$PassThroughRounderImpl;-><init>()V
-HSPLandroid/icu/number/Rounder$SignificantRounderImpl;-><init>(II)V
-HSPLandroid/icu/number/Rounder;->clone()Ljava/lang/Object;
-HSPLandroid/icu/number/Rounder;->constructCurrency(Landroid/icu/util/Currency$CurrencyUsage;)Landroid/icu/number/CurrencyRounder;
-HSPLandroid/icu/number/Rounder;->constructFraction(II)Landroid/icu/number/FractionRounder;
-HSPLandroid/icu/number/Rounder;->constructFromCurrency(Landroid/icu/number/CurrencyRounder;Landroid/icu/util/Currency;)Landroid/icu/number/Rounder;
-HSPLandroid/icu/number/Rounder;->withLocaleData(Landroid/icu/util/Currency;)Landroid/icu/number/Rounder;
-HSPLandroid/icu/number/Rounder;->withMode(Ljava/math/MathContext;)Landroid/icu/number/Rounder;
+HSPLandroid/icu/number/Precision$CurrencyRounderImpl;-><init>(Landroid/icu/util/Currency$CurrencyUsage;)V
+HSPLandroid/icu/number/Precision$FracSigRounderImpl;-><init>(IIII)V
+HSPLandroid/icu/number/Precision$FractionRounderImpl;-><init>(II)V
+HSPLandroid/icu/number/Precision$FractionRounderImpl;->apply(Landroid/icu/impl/number/DecimalQuantity;)V
+HSPLandroid/icu/number/Precision$IncrementRounderImpl;-><init>(Ljava/math/BigDecimal;)V
+HSPLandroid/icu/number/Precision$InfiniteRounderImpl;-><init>()V
+HSPLandroid/icu/number/Precision$PassThroughRounderImpl;-><init>()V
+HSPLandroid/icu/number/Precision$SignificantRounderImpl;-><init>(II)V
+HSPLandroid/icu/number/Precision;->constructFraction(II)Landroid/icu/number/FractionPrecision;
+HSPLandroid/icu/number/Precision;->withLocaleData(Landroid/icu/util/Currency;)Landroid/icu/number/Precision;
+HSPLandroid/icu/number/Precision;->withMode(Ljava/math/MathContext;)Landroid/icu/number/Precision;
 HSPLandroid/icu/number/UnlocalizedNumberFormatter;-><init>()V
 HSPLandroid/icu/number/UnlocalizedNumberFormatter;->create(ILjava/lang/Object;)Landroid/icu/number/NumberFormatterSettings;
 HSPLandroid/icu/number/UnlocalizedNumberFormatter;->create(ILjava/lang/Object;)Landroid/icu/number/UnlocalizedNumberFormatter;
 HSPLandroid/icu/number/UnlocalizedNumberFormatter;->locale(Landroid/icu/util/ULocale;)Landroid/icu/number/LocalizedNumberFormatter;
-HSPLandroid/icu/text/AlphabeticIndex$Bucket$LabelType;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/AlphabeticIndex$Bucket;->getLabel()Ljava/lang/String;
-HSPLandroid/icu/text/AlphabeticIndex$BucketList;-><init>(Ljava/util/ArrayList;Ljava/util/ArrayList;)V
-HSPLandroid/icu/text/AlphabeticIndex$BucketList;->getBucketIndex(Ljava/lang/CharSequence;Landroid/icu/text/Collator;)I
-HSPLandroid/icu/text/AlphabeticIndex$ImmutableIndex;->getBucket(I)Landroid/icu/text/AlphabeticIndex$Bucket;
-HSPLandroid/icu/text/AlphabeticIndex$ImmutableIndex;->getBucketCount()I
-HSPLandroid/icu/text/AlphabeticIndex$ImmutableIndex;->getBucketIndex(Ljava/lang/CharSequence;)I
-HSPLandroid/icu/text/AlphabeticIndex;-><init>(Landroid/icu/util/ULocale;Landroid/icu/text/RuleBasedCollator;)V
-HSPLandroid/icu/text/AlphabeticIndex;-><init>(Ljava/util/Locale;)V
-HSPLandroid/icu/text/AlphabeticIndex;->addChineseIndexCharacters()Z
-HSPLandroid/icu/text/AlphabeticIndex;->addIndexExemplars(Landroid/icu/util/ULocale;)V
-HSPLandroid/icu/text/AlphabeticIndex;->addLabels([Ljava/util/Locale;)Landroid/icu/text/AlphabeticIndex;
-HSPLandroid/icu/text/AlphabeticIndex;->buildImmutableIndex()Landroid/icu/text/AlphabeticIndex$ImmutableIndex;
-HSPLandroid/icu/text/AlphabeticIndex;->createBucketList()Landroid/icu/text/AlphabeticIndex$BucketList;
-HSPLandroid/icu/text/AlphabeticIndex;->fixLabel(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/text/AlphabeticIndex;->getFirstCharactersInScripts()Ljava/util/List;
-HSPLandroid/icu/text/AlphabeticIndex;->initLabels()Ljava/util/List;
-HSPLandroid/icu/text/AlphabeticIndex;->isOneLabelBetterThanOther(Landroid/icu/text/Normalizer2;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/icu/text/AlphabeticIndex;->setMaxLabelCount(I)Landroid/icu/text/AlphabeticIndex;
 HSPLandroid/icu/text/Bidi$ImpTabPair;-><init>([[B[[B[S[S)V
 HSPLandroid/icu/text/Bidi;-><init>(II)V
 HSPLandroid/icu/text/Bidi;->DirPropFlag(B)I
@@ -23431,79 +20959,37 @@
 HSPLandroid/icu/text/Bidi;->getLevelsMemory(I)V
 HSPLandroid/icu/text/Bidi;->getMemory(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;ZI)Ljava/lang/Object;
 HSPLandroid/icu/text/Bidi;->getParaLevel()B
-HSPLandroid/icu/text/Bidi;->requiresBidi([CII)Z
 HSPLandroid/icu/text/Bidi;->resolveExplicitLevels()B
 HSPLandroid/icu/text/Bidi;->setPara([CB[B)V
 HSPLandroid/icu/text/Bidi;->verifyRange(III)V
 HSPLandroid/icu/text/Bidi;->verifyValidParaOrLine()V
-HSPLandroid/icu/text/BreakIterator$BreakIteratorServiceShim;->createBreakIterator(Landroid/icu/util/ULocale;I)Landroid/icu/text/BreakIterator;
-HSPLandroid/icu/text/BreakIterator$BreakIteratorServiceShim;->getAvailableLocales()[Ljava/util/Locale;
-HSPLandroid/icu/text/BreakIterator$BreakIteratorServiceShim;->getAvailableULocales()[Landroid/icu/util/ULocale;
-HSPLandroid/icu/text/BreakIterator$BreakIteratorServiceShim;->registerInstance(Landroid/icu/text/BreakIterator;Landroid/icu/util/ULocale;I)Ljava/lang/Object;
-HSPLandroid/icu/text/BreakIterator$BreakIteratorServiceShim;->unregister(Ljava/lang/Object;)Z
 HSPLandroid/icu/text/BreakIterator;->clone()Ljava/lang/Object;
-HSPLandroid/icu/text/BreakIterator;->current()I
-HSPLandroid/icu/text/BreakIterator;->first()I
-HSPLandroid/icu/text/BreakIterator;->following(I)I
 HSPLandroid/icu/text/BreakIterator;->getBreakInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/BreakIterator;
-HSPLandroid/icu/text/BreakIterator;->getLineInstance(Ljava/util/Locale;)Landroid/icu/text/BreakIterator;
 HSPLandroid/icu/text/BreakIterator;->getShim()Landroid/icu/text/BreakIterator$BreakIteratorServiceShim;
-HSPLandroid/icu/text/BreakIterator;->getText()Ljava/text/CharacterIterator;
 HSPLandroid/icu/text/BreakIterator;->getWordInstance(Ljava/util/Locale;)Landroid/icu/text/BreakIterator;
-HSPLandroid/icu/text/BreakIterator;->last()I
-HSPLandroid/icu/text/BreakIterator;->next()I
-HSPLandroid/icu/text/BreakIterator;->next(I)I
-HSPLandroid/icu/text/BreakIterator;->previous()I
 HSPLandroid/icu/text/BreakIterator;->setText(Ljava/lang/String;)V
-HSPLandroid/icu/text/BreakIterator;->setText(Ljava/text/CharacterIterator;)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;
 HSPLandroid/icu/text/BreakIteratorFactory;->createBreakIterator(Landroid/icu/util/ULocale;I)Landroid/icu/text/BreakIterator;
 HSPLandroid/icu/text/CaseMap$Title;-><init>(I)V
-HSPLandroid/icu/text/CaseMap$Title;->noLowercase()Landroid/icu/text/CaseMap$Title;
-HSPLandroid/icu/text/CaseMap$Title;->wholeString()Landroid/icu/text/CaseMap$Title;
 HSPLandroid/icu/text/CaseMap$Upper;-><init>(I)V
 HSPLandroid/icu/text/CaseMap$Upper;->apply(Ljava/util/Locale;Ljava/lang/CharSequence;Ljava/lang/Appendable;Landroid/icu/text/Edits;)Ljava/lang/Appendable;
-HSPLandroid/icu/text/CaseMap;->toTitle()Landroid/icu/text/CaseMap$Title;
 HSPLandroid/icu/text/CaseMap;->toUpper()Landroid/icu/text/CaseMap$Upper;
-HSPLandroid/icu/text/Collator$ServiceShim;->getAvailableLocales()[Ljava/util/Locale;
-HSPLandroid/icu/text/Collator$ServiceShim;->getAvailableULocales()[Landroid/icu/util/ULocale;
-HSPLandroid/icu/text/Collator$ServiceShim;->getDisplayName(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)Ljava/lang/String;
-HSPLandroid/icu/text/Collator$ServiceShim;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator;
-HSPLandroid/icu/text/Collator$ServiceShim;->registerFactory(Landroid/icu/text/Collator$CollatorFactory;)Ljava/lang/Object;
-HSPLandroid/icu/text/Collator$ServiceShim;->registerInstance(Landroid/icu/text/Collator;Landroid/icu/util/ULocale;)Ljava/lang/Object;
-HSPLandroid/icu/text/Collator$ServiceShim;->unregister(Ljava/lang/Object;)Z
-HSPLandroid/icu/text/Collator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/icu/text/Collator;->compare(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/icu/text/Collator;->getCollationKey(Ljava/lang/String;)Landroid/icu/text/CollationKey;
 HSPLandroid/icu/text/Collator;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator;
 HSPLandroid/icu/text/Collator;->getInstance(Ljava/util/Locale;)Landroid/icu/text/Collator;
-HSPLandroid/icu/text/Collator;->getRawCollationKey(Ljava/lang/String;Landroid/icu/text/RawCollationKey;)Landroid/icu/text/RawCollationKey;
 HSPLandroid/icu/text/Collator;->getShim()Landroid/icu/text/Collator$ServiceShim;
-HSPLandroid/icu/text/Collator;->getUCAVersion()Landroid/icu/util/VersionInfo;
-HSPLandroid/icu/text/Collator;->getVariableTop()I
-HSPLandroid/icu/text/Collator;->getVersion()Landroid/icu/util/VersionInfo;
-HSPLandroid/icu/text/Collator;->setVariableTop(I)V
-HSPLandroid/icu/text/Collator;->setVariableTop(Ljava/lang/String;)I
 HSPLandroid/icu/text/CollatorServiceShim$CService$1CollatorFactory;->handleCreate(Landroid/icu/util/ULocale;ILandroid/icu/impl/ICUService;)Ljava/lang/Object;
 HSPLandroid/icu/text/CollatorServiceShim$CService;-><init>()V
 HSPLandroid/icu/text/CollatorServiceShim$CService;->validateFallbackLocale()Ljava/lang/String;
 HSPLandroid/icu/text/CollatorServiceShim;-><init>()V
 HSPLandroid/icu/text/CollatorServiceShim;->getInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/Collator;
-HSPLandroid/icu/text/CurrencyDisplayNames;->getName(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/text/CurrencyDisplayNames;->getPluralName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/text/CurrencyDisplayNames;->getSymbol(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/text/CurrencyDisplayNames;->getULocale()Landroid/icu/util/ULocale;
-HSPLandroid/icu/text/CurrencyDisplayNames;->nameMap()Ljava/util/Map;
-HSPLandroid/icu/text/CurrencyDisplayNames;->symbolMap()Ljava/util/Map;
 HSPLandroid/icu/text/CurrencyMetaInfo$CurrencyDigits;-><init>(II)V
 HSPLandroid/icu/text/CurrencyMetaInfo$CurrencyFilter;-><init>(Ljava/lang/String;Ljava/lang/String;JJZ)V
 HSPLandroid/icu/text/DateFormat$BooleanAttribute;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/text/DateFormat$BooleanAttribute;->values()[Landroid/icu/text/DateFormat$BooleanAttribute;
 HSPLandroid/icu/text/DateFormat$Field;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/text/DateFormat;-><init>()V
-HSPLandroid/icu/text/DateFormat;->format(Landroid/icu/util/Calendar;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
 HSPLandroid/icu/text/DateFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
 HSPLandroid/icu/text/DateFormat;->format(Ljava/util/Date;)Ljava/lang/String;
 HSPLandroid/icu/text/DateFormat;->format(Ljava/util/Date;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
@@ -23511,8 +20997,6 @@
 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;->getInstanceForSkeleton(Ljava/lang/String;Ljava/util/Locale;)Landroid/icu/text/DateFormat;
-HSPLandroid/icu/text/DateFormat;->parse(Ljava/lang/String;Landroid/icu/util/Calendar;Ljava/text/ParsePosition;)V
 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
@@ -23536,6 +21020,7 @@
 HSPLandroid/icu/text/DateFormatSymbols;->setLocale(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)V
 HSPLandroid/icu/text/DateFormatSymbols;->setTimeSeparatorString(Ljava/lang/String;)V
 HSPLandroid/icu/text/DateIntervalFormat;-><init>(Ljava/lang/String;Landroid/icu/util/ULocale;Landroid/icu/text/SimpleDateFormat;)V
+HSPLandroid/icu/text/DateIntervalFormat;->adjustFieldWidth(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
 HSPLandroid/icu/text/DateIntervalFormat;->concatSingleDate2TimeInterval(Ljava/lang/String;Ljava/lang/String;ILjava/util/Map;)V
 HSPLandroid/icu/text/DateIntervalFormat;->format(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
 HSPLandroid/icu/text/DateIntervalFormat;->genIntervalPattern(ILjava/lang/String;Ljava/lang/String;ILjava/util/Map;)Landroid/icu/text/DateIntervalFormat$SkeletonAndItsBestMatch;
@@ -23544,7 +21029,6 @@
 HSPLandroid/icu/text/DateIntervalFormat;->getDateTimeSkeleton(Ljava/lang/String;Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;)V
 HSPLandroid/icu/text/DateIntervalFormat;->initializeIntervalPattern(Ljava/lang/String;Landroid/icu/util/ULocale;)Ljava/util/Map;
 HSPLandroid/icu/text/DateIntervalFormat;->initializePattern(Landroid/icu/impl/ICUCache;)V
-HSPLandroid/icu/text/DateIntervalFormat;->setTimeZone(Landroid/icu/util/TimeZone;)V
 HSPLandroid/icu/text/DateIntervalInfo$DateIntervalSink;->processSkeletonTable(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
 HSPLandroid/icu/text/DateIntervalInfo$DateIntervalSink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
 HSPLandroid/icu/text/DateIntervalInfo$DateIntervalSink;->validateAndProcessPatternLetter(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
@@ -23576,6 +21060,8 @@
 HSPLandroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;->set(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$FormatParser;Z)Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;
 HSPLandroid/icu/text/DateTimePatternGenerator$DayPeriodAllowedHoursSink;-><init>(Ljava/util/HashMap;Landroid/icu/text/DateTimePatternGenerator$1;)V
 HSPLandroid/icu/text/DateTimePatternGenerator$DayPeriodAllowedHoursSink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
+HSPLandroid/icu/text/DateTimePatternGenerator$DisplayWidth;-><init>(Ljava/lang/String;ILjava/lang/String;)V
+HSPLandroid/icu/text/DateTimePatternGenerator$DisplayWidth;->values()[Landroid/icu/text/DateTimePatternGenerator$DisplayWidth;
 HSPLandroid/icu/text/DateTimePatternGenerator$DistanceInfo;->addExtra(I)V
 HSPLandroid/icu/text/DateTimePatternGenerator$DistanceInfo;->addMissing(I)V
 HSPLandroid/icu/text/DateTimePatternGenerator$DistanceInfo;->clear()V
@@ -23608,35 +21094,29 @@
 HSPLandroid/icu/text/DateTimePatternGenerator;->fillInMissing()V
 HSPLandroid/icu/text/DateTimePatternGenerator;->getAllowedHourFormats(Landroid/icu/util/ULocale;)V
 HSPLandroid/icu/text/DateTimePatternGenerator;->getAppendItemFormat(I)Ljava/lang/String;
-HSPLandroid/icu/text/DateTimePatternGenerator;->getAppendItemName(I)Ljava/lang/String;
 HSPLandroid/icu/text/DateTimePatternGenerator;->getBestAppending(Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;ILandroid/icu/text/DateTimePatternGenerator$DistanceInfo;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;Ljava/util/EnumSet;I)Ljava/lang/String;
 HSPLandroid/icu/text/DateTimePatternGenerator;->getBestPattern(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/icu/text/DateTimePatternGenerator;->getBestPattern(Ljava/lang/String;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;I)Ljava/lang/String;
 HSPLandroid/icu/text/DateTimePatternGenerator;->getBestRaw(Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;ILandroid/icu/text/DateTimePatternGenerator$DistanceInfo;Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;)Landroid/icu/text/DateTimePatternGenerator$PatternWithMatcher;
+HSPLandroid/icu/text/DateTimePatternGenerator;->getCLDRFieldAndWidthNumber(Landroid/icu/impl/UResource$Key;)I
 HSPLandroid/icu/text/DateTimePatternGenerator;->getCanonicalIndex(Ljava/lang/String;Z)I
 HSPLandroid/icu/text/DateTimePatternGenerator;->getDateTimeFormat()Ljava/lang/String;
+HSPLandroid/icu/text/DateTimePatternGenerator;->getFieldDisplayName(ILandroid/icu/text/DateTimePatternGenerator$DisplayWidth;)Ljava/lang/String;
 HSPLandroid/icu/text/DateTimePatternGenerator;->getFilteredPattern(Landroid/icu/text/DateTimePatternGenerator$FormatParser;Ljava/util/BitSet;)Ljava/lang/String;
 HSPLandroid/icu/text/DateTimePatternGenerator;->getFrozenInstance(Landroid/icu/util/ULocale;)Landroid/icu/text/DateTimePatternGenerator;
 HSPLandroid/icu/text/DateTimePatternGenerator;->hackTimes(Landroid/icu/text/DateTimePatternGenerator$PatternInfo;Ljava/lang/String;)V
 HSPLandroid/icu/text/DateTimePatternGenerator;->isFrozen()Z
 HSPLandroid/icu/text/DateTimePatternGenerator;->mapSkeletonMetacharacters(Ljava/lang/String;Ljava/util/EnumSet;)Ljava/lang/String;
 HSPLandroid/icu/text/DateTimePatternGenerator;->setAppendItemFormat(ILjava/lang/String;)V
-HSPLandroid/icu/text/DateTimePatternGenerator;->setAppendItemName(ILjava/lang/String;)V
-HSPLandroid/icu/text/DecimalFormat$1;-><init>()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;->setCurrency(Landroid/icu/util/Currency;)V
-HSPLandroid/icu/text/DecimalFormat;->setMaximumFractionDigits(I)V
-HSPLandroid/icu/text/DecimalFormat;->setMinimumFractionDigits(I)V
 HSPLandroid/icu/text/DecimalFormat;->setPropertiesFromPattern(Ljava/lang/String;I)V
-HSPLandroid/icu/text/DecimalFormat;->setRoundingMode(I)V
 HSPLandroid/icu/text/DecimalFormatSymbols$1;-><init>()V
 HSPLandroid/icu/text/DecimalFormatSymbols$1;->createInstance(Landroid/icu/util/ULocale;Ljava/lang/Void;)Landroid/icu/text/DecimalFormatSymbols$CacheData;
 HSPLandroid/icu/text/DecimalFormatSymbols$1;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/icu/text/DecimalFormatSymbols$DecFmtDataSink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-HSPLandroid/icu/text/DecimalFormatSymbols;-><init>(Landroid/icu/util/ULocale;)V
 HSPLandroid/icu/text/DecimalFormatSymbols;-><init>(Ljava/util/Locale;)V
 HSPLandroid/icu/text/DecimalFormatSymbols;->clone()Ljava/lang/Object;
 HSPLandroid/icu/text/DecimalFormatSymbols;->getCodePointZero()I
@@ -23657,8 +21137,6 @@
 HSPLandroid/icu/text/DecimalFormatSymbols;->getMinusSign()C
 HSPLandroid/icu/text/DecimalFormatSymbols;->getMinusSignString()Ljava/lang/String;
 HSPLandroid/icu/text/DecimalFormatSymbols;->getMonetaryDecimalSeparator()C
-HSPLandroid/icu/text/DecimalFormatSymbols;->getMonetaryDecimalSeparatorString()Ljava/lang/String;
-HSPLandroid/icu/text/DecimalFormatSymbols;->getMonetaryGroupingSeparatorString()Ljava/lang/String;
 HSPLandroid/icu/text/DecimalFormatSymbols;->getNaN()Ljava/lang/String;
 HSPLandroid/icu/text/DecimalFormatSymbols;->getPatternSeparator()C
 HSPLandroid/icu/text/DecimalFormatSymbols;->getPerMill()C
@@ -23714,7 +21192,6 @@
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;Z)Ljava/lang/StringBuffer;
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->format(JLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->format(JLjava/lang/StringBuffer;Ljava/text/FieldPosition;Z)Ljava/lang/StringBuffer;
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->format(Landroid/icu/math/BigDecimal;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->getDecimalFormatSymbols()Landroid/icu/text/DecimalFormatSymbols;
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->getEquivalentDecimals(Ljava/lang/String;Z)Landroid/icu/text/UnicodeSet;
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->getGroupingSize()I
@@ -23728,24 +21205,18 @@
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->isDecimalPatternMatchRequired()Z
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->isGroupingPosition(I)Z
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->isParseBigDecimal()Z
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->isScientificNotation()Z
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->matchesDigit(Ljava/lang/String;I[I)I
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number;
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->parse(Ljava/lang/String;Ljava/text/ParsePosition;[Landroid/icu/util/Currency;)Ljava/lang/Object;
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->precision(Z)I
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->resetActualRounding()V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->round(DDDIZ)D
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setCurrency(Landroid/icu/util/Currency;)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setCurrencyForSymbols()V
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setDecimalSeparatorAlwaysShown(Z)V
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setMaximumFractionDigits(I)V
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setMaximumIntegerDigits(I)V
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setMinimumFractionDigits(I)V
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setMinimumIntegerDigits(I)V
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setRoundingDouble(D)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setRoundingIncrement(D)V
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setRoundingIncrement(Landroid/icu/math/BigDecimal;)V
-HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setRoundingMode(I)V
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->setSignificantDigitsUsed(Z)V
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->subformat(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;ZZZ)Ljava/lang/StringBuffer;
 HSPLandroid/icu/text/DecimalFormat_ICU58_Android;->subformat(Ljava/lang/StringBuffer;Ljava/text/FieldPosition;ZZZ)Ljava/lang/StringBuffer;
@@ -23756,16 +21227,13 @@
 HSPLandroid/icu/text/DictionaryBreakEngine$DequeI;->clone()Ljava/lang/Object;
 HSPLandroid/icu/text/DictionaryBreakEngine$DequeI;->removeAllElements()V
 HSPLandroid/icu/text/DigitList_Android;->append(I)V
-HSPLandroid/icu/text/DigitList_Android;->getBigDecimalICU(Z)Landroid/icu/math/BigDecimal;
 HSPLandroid/icu/text/DigitList_Android;->getDigitValue(I)B
-HSPLandroid/icu/text/DigitList_Android;->isIntegral()Z
 HSPLandroid/icu/text/DigitList_Android;->round(I)V
 HSPLandroid/icu/text/DigitList_Android;->set(DIZ)V
 HSPLandroid/icu/text/DigitList_Android;->set(JI)V
 HSPLandroid/icu/text/DigitList_Android;->set(Ljava/lang/String;I)V
 HSPLandroid/icu/text/DigitList_Android;->shouldRoundUp(I)Z
 HSPLandroid/icu/text/DisplayContext$Type;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/DisplayContext$Type;->values()[Landroid/icu/text/DisplayContext$Type;
 HSPLandroid/icu/text/DisplayContext;-><init>(Ljava/lang/String;ILandroid/icu/text/DisplayContext$Type;I)V
 HSPLandroid/icu/text/Edits$Iterator;->next(Z)Z
 HSPLandroid/icu/text/Edits;-><init>()V
@@ -23773,94 +21241,33 @@
 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/LanguageBreakEngine;->findBreaks(Ljava/text/CharacterIterator;IIILandroid/icu/text/DictionaryBreakEngine$DequeI;)I
-HSPLandroid/icu/text/LanguageBreakEngine;->handles(II)Z
 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;
 HSPLandroid/icu/text/ListFormatter$FormattedListBuilder;->append(Ljava/lang/String;Ljava/lang/Object;Z)Landroid/icu/text/ListFormatter$FormattedListBuilder;
 HSPLandroid/icu/text/ListFormatter$FormattedListBuilder;->toString()Ljava/lang/String;
 HSPLandroid/icu/text/ListFormatter$Style;-><init>(Ljava/lang/String;ILjava/lang/String;)V
+HSPLandroid/icu/text/ListFormatter;->format(Ljava/util/Collection;)Ljava/lang/String;
 HSPLandroid/icu/text/ListFormatter;->format(Ljava/util/Collection;I)Landroid/icu/text/ListFormatter$FormattedListBuilder;
-HSPLandroid/icu/text/ListFormatter;->format([Ljava/lang/Object;)Ljava/lang/String;
-HSPLandroid/icu/text/ListFormatter;->getInstance(Ljava/util/Locale;)Landroid/icu/text/ListFormatter;
-HSPLandroid/icu/text/LocaleDisplayNames$DialectHandling;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/LocaleDisplayNames;->getContext(Landroid/icu/text/DisplayContext$Type;)Landroid/icu/text/DisplayContext;
-HSPLandroid/icu/text/LocaleDisplayNames;->getDialectHandling()Landroid/icu/text/LocaleDisplayNames$DialectHandling;
-HSPLandroid/icu/text/LocaleDisplayNames;->getInstance(Landroid/icu/util/ULocale;[Landroid/icu/text/DisplayContext;)Landroid/icu/text/LocaleDisplayNames;
-HSPLandroid/icu/text/LocaleDisplayNames;->getInstance(Ljava/util/Locale;[Landroid/icu/text/DisplayContext;)Landroid/icu/text/LocaleDisplayNames;
-HSPLandroid/icu/text/LocaleDisplayNames;->getLocale()Landroid/icu/util/ULocale;
-HSPLandroid/icu/text/LocaleDisplayNames;->getUiListCompareWholeItems(Ljava/util/Set;Ljava/util/Comparator;)Ljava/util/List;
-HSPLandroid/icu/text/LocaleDisplayNames;->keyDisplayName(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/text/LocaleDisplayNames;->keyValueDisplayName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/text/LocaleDisplayNames;->languageDisplayName(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/text/LocaleDisplayNames;->localeDisplayName(Landroid/icu/util/ULocale;)Ljava/lang/String;
-HSPLandroid/icu/text/LocaleDisplayNames;->localeDisplayName(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/text/LocaleDisplayNames;->localeDisplayName(Ljava/util/Locale;)Ljava/lang/String;
-HSPLandroid/icu/text/LocaleDisplayNames;->regionDisplayName(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/text/LocaleDisplayNames;->scriptDisplayName(I)Ljava/lang/String;
-HSPLandroid/icu/text/LocaleDisplayNames;->scriptDisplayName(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/text/LocaleDisplayNames;->variantDisplayName(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/text/MeasureFormat$FormatWidth;-><init>(Ljava/lang/String;ILandroid/icu/text/ListFormatter$Style;I)V
-HSPLandroid/icu/text/MeasureFormat$FormatWidth;->values()[Landroid/icu/text/MeasureFormat$FormatWidth;
-HSPLandroid/icu/text/MeasureFormat$UnitDataSink;->consumeAlias(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-HSPLandroid/icu/text/MeasureFormat$UnitDataSink;->consumePattern(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-HSPLandroid/icu/text/MeasureFormat$UnitDataSink;->consumeSubtypeTable(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-HSPLandroid/icu/text/MeasureFormat$UnitDataSink;->consumeUnitTypesTable(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;)V
-HSPLandroid/icu/text/MeasureFormat$UnitDataSink;->put(Landroid/icu/impl/UResource$Key;Landroid/icu/impl/UResource$Value;Z)V
-HSPLandroid/icu/text/MeasureFormat$UnitDataSink;->setDnamIfAbsent(Landroid/icu/impl/UResource$Value;)V
-HSPLandroid/icu/text/MeasureFormat$UnitDataSink;->setFormatterIfAbsent(ILandroid/icu/impl/UResource$Value;I)V
-HSPLandroid/icu/text/MeasureFormat$UnitDataSink;->widthFromAlias(Landroid/icu/impl/UResource$Value;)Landroid/icu/text/MeasureFormat$FormatWidth;
-HSPLandroid/icu/text/MeasureFormat$UnitDataSink;->widthFromKey(Landroid/icu/impl/UResource$Key;)Landroid/icu/text/MeasureFormat$FormatWidth;
-HSPLandroid/icu/text/MeasureFormat;->formatMeasure(Landroid/icu/util/Measure;Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;Ljava/lang/StringBuilder;Ljava/text/FieldPosition;)Ljava/lang/StringBuilder;
-HSPLandroid/icu/text/MeasureFormat;->formatMeasures(Ljava/lang/StringBuilder;Ljava/text/FieldPosition;[Landroid/icu/util/Measure;)Ljava/lang/StringBuilder;
-HSPLandroid/icu/text/MeasureFormat;->formatMeasures([Landroid/icu/util/Measure;)Ljava/lang/String;
-HSPLandroid/icu/text/MeasureFormat;->getFormatter(Landroid/icu/util/MeasureUnit;Landroid/icu/text/MeasureFormat$FormatWidth;I)Ljava/lang/String;
-HSPLandroid/icu/text/MeasureFormat;->getFormatterOrNull(Landroid/icu/util/MeasureUnit;Landroid/icu/text/MeasureFormat$FormatWidth;I)Ljava/lang/String;
-HSPLandroid/icu/text/MeasureFormat;->getInstance(Landroid/icu/util/ULocale;Landroid/icu/text/MeasureFormat$FormatWidth;Landroid/icu/text/NumberFormat;)Landroid/icu/text/MeasureFormat;
-HSPLandroid/icu/text/MeasureFormat;->getInstance(Ljava/util/Locale;Landroid/icu/text/MeasureFormat$FormatWidth;)Landroid/icu/text/MeasureFormat;
-HSPLandroid/icu/text/MeasureFormat;->getPluralFormatter(Landroid/icu/util/MeasureUnit;Landroid/icu/text/MeasureFormat$FormatWidth;I)Ljava/lang/String;
-HSPLandroid/icu/text/MessageFormat;-><init>(Ljava/lang/String;)V
-HSPLandroid/icu/text/MessageFormat;->applyPattern(Ljava/lang/String;)V
-HSPLandroid/icu/text/MessageFormat;->cacheExplicitFormats()V
-HSPLandroid/icu/text/MessagePattern$ApostropheMode;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/MessagePattern$ApostropheMode;->valueOf(Ljava/lang/String;)Landroid/icu/text/MessagePattern$ApostropheMode;
-HSPLandroid/icu/text/MessagePattern$ApostropheMode;->values()[Landroid/icu/text/MessagePattern$ApostropheMode;
-HSPLandroid/icu/text/MessagePattern$ArgType;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/MessagePattern$ArgType;->values()[Landroid/icu/text/MessagePattern$ArgType;
-HSPLandroid/icu/text/MessagePattern$Part$Type;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/text/MessagePattern$Part;-><init>(Landroid/icu/text/MessagePattern$Part$Type;III)V
-HSPLandroid/icu/text/MessagePattern$Part;-><init>(Landroid/icu/text/MessagePattern$Part$Type;IIILandroid/icu/text/MessagePattern$1;)V
-HSPLandroid/icu/text/MessagePattern;->parseArg(III)I
-HSPLandroid/icu/text/MessagePattern;->parseArgNumber(Ljava/lang/CharSequence;II)I
-HSPLandroid/icu/text/MessagePattern;->parseMessage(IIILandroid/icu/text/MessagePattern$ArgType;)I
-HSPLandroid/icu/text/MessagePattern;->preParse(Ljava/lang/String;)V
+HSPLandroid/icu/text/ListFormatter;->getInstance()Landroid/icu/text/ListFormatter;
 HSPLandroid/icu/text/Normalizer$FCDMode;-><init>(Landroid/icu/text/Normalizer$1;)V
 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$NFCMode;->getNormalizer2(I)Landroid/icu/text/Normalizer2;
 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;->getNFCInstance()Landroid/icu/text/Normalizer2;
-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$NumberFormatShim;->createInstance(Landroid/icu/util/ULocale;I)Landroid/icu/text/NumberFormat;
-HSPLandroid/icu/text/NumberFormat$NumberFormatShim;->getAvailableLocales()[Ljava/util/Locale;
-HSPLandroid/icu/text/NumberFormat$NumberFormatShim;->getAvailableULocales()[Landroid/icu/util/ULocale;
-HSPLandroid/icu/text/NumberFormat$NumberFormatShim;->registerFactory(Landroid/icu/text/NumberFormat$NumberFormatFactory;)Ljava/lang/Object;
-HSPLandroid/icu/text/NumberFormat$NumberFormatShim;->unregister(Ljava/lang/Object;)Z
 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;->getCurrency()Landroid/icu/util/Currency;
 HSPLandroid/icu/text/NumberFormat;->getMaximumFractionDigits()I
 HSPLandroid/icu/text/NumberFormat;->getMaximumIntegerDigits()I
 HSPLandroid/icu/text/NumberFormat;->getMinimumFractionDigits()I
@@ -23898,12 +21305,6 @@
 HSPLandroid/icu/text/PluralRules$1;->isFulfilled(Landroid/icu/text/PluralRules$IFixedDecimal;)Z
 HSPLandroid/icu/text/PluralRules$AndConstraint;-><init>(Landroid/icu/text/PluralRules$Constraint;Landroid/icu/text/PluralRules$Constraint;)V
 HSPLandroid/icu/text/PluralRules$AndConstraint;->isFulfilled(Landroid/icu/text/PluralRules$IFixedDecimal;)Z
-HSPLandroid/icu/text/PluralRules$Constraint;->isFulfilled(Landroid/icu/text/PluralRules$IFixedDecimal;)Z
-HSPLandroid/icu/text/PluralRules$Constraint;->isLimited(Landroid/icu/text/PluralRules$SampleType;)Z
-HSPLandroid/icu/text/PluralRules$Factory;->forLocale(Landroid/icu/util/ULocale;Landroid/icu/text/PluralRules$PluralType;)Landroid/icu/text/PluralRules;
-HSPLandroid/icu/text/PluralRules$Factory;->getAvailableULocales()[Landroid/icu/util/ULocale;
-HSPLandroid/icu/text/PluralRules$Factory;->getFunctionalEquivalent(Landroid/icu/util/ULocale;[Z)Landroid/icu/util/ULocale;
-HSPLandroid/icu/text/PluralRules$Factory;->hasOverride(Landroid/icu/util/ULocale;)Z
 HSPLandroid/icu/text/PluralRules$FixedDecimal;-><init>(DIJ)V
 HSPLandroid/icu/text/PluralRules$FixedDecimal;->decimals(D)I
 HSPLandroid/icu/text/PluralRules$FixedDecimal;->getOperand(Ljava/lang/String;)Landroid/icu/text/PluralRules$Operand;
@@ -23914,9 +21315,6 @@
 HSPLandroid/icu/text/PluralRules$FixedDecimalRange;-><init>(Landroid/icu/text/PluralRules$FixedDecimal;Landroid/icu/text/PluralRules$FixedDecimal;)V
 HSPLandroid/icu/text/PluralRules$FixedDecimalSamples;->checkDecimal(Landroid/icu/text/PluralRules$SampleType;Landroid/icu/text/PluralRules$FixedDecimal;)V
 HSPLandroid/icu/text/PluralRules$FixedDecimalSamples;->parse(Ljava/lang/String;)Landroid/icu/text/PluralRules$FixedDecimalSamples;
-HSPLandroid/icu/text/PluralRules$IFixedDecimal;->getPluralOperand(Landroid/icu/text/PluralRules$Operand;)D
-HSPLandroid/icu/text/PluralRules$IFixedDecimal;->isInfinite()Z
-HSPLandroid/icu/text/PluralRules$IFixedDecimal;->isNaN()Z
 HSPLandroid/icu/text/PluralRules$Operand;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/text/PluralRules$Operand;->values()[Landroid/icu/text/PluralRules$Operand;
 HSPLandroid/icu/text/PluralRules$PluralType;-><init>(Ljava/lang/String;I)V
@@ -23941,11 +21339,7 @@
 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/QuantityFormatter;->format(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/StringBuilder;Ljava/text/FieldPosition;)Ljava/lang/StringBuilder;
 HSPLandroid/icu/text/QuantityFormatter;->selectPlural(Ljava/lang/Number;Landroid/icu/text/NumberFormat;Landroid/icu/text/PluralRules;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Landroid/icu/impl/StandardPlural;
-HSPLandroid/icu/text/RBBIDataWrapper$IsAcceptable;-><init>(Landroid/icu/text/RBBIDataWrapper$1;)V
-HSPLandroid/icu/text/RBBIDataWrapper$IsAcceptable;->isDataVersionAcceptable([B)Z
-HSPLandroid/icu/text/RBBIDataWrapper;->get(Ljava/nio/ByteBuffer;)Landroid/icu/text/RBBIDataWrapper;
 HSPLandroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;->values()[Landroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;
 HSPLandroid/icu/text/RelativeDateTimeFormatter$Cache$1;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
@@ -23979,14 +21373,6 @@
 HSPLandroid/icu/text/RelativeDateTimeFormatter;->getInstance(Landroid/icu/util/ULocale;Landroid/icu/text/NumberFormat;Landroid/icu/text/RelativeDateTimeFormatter$Style;Landroid/icu/text/DisplayContext;)Landroid/icu/text/RelativeDateTimeFormatter;
 HSPLandroid/icu/text/RelativeDateTimeFormatter;->getRelativeUnitPattern(Landroid/icu/text/RelativeDateTimeFormatter$Style;Landroid/icu/text/RelativeDateTimeFormatter$RelativeUnit;ILandroid/icu/impl/StandardPlural;)Ljava/lang/String;
 HSPLandroid/icu/text/RelativeDateTimeFormatter;->keyToDirection(Landroid/icu/impl/UResource$Key;)Landroid/icu/text/RelativeDateTimeFormatter$Direction;
-HSPLandroid/icu/text/Replaceable;->char32At(I)I
-HSPLandroid/icu/text/Replaceable;->charAt(I)C
-HSPLandroid/icu/text/Replaceable;->copy(III)V
-HSPLandroid/icu/text/Replaceable;->getChars(II[CI)V
-HSPLandroid/icu/text/Replaceable;->hasMetaData()Z
-HSPLandroid/icu/text/Replaceable;->length()I
-HSPLandroid/icu/text/Replaceable;->replace(IILjava/lang/String;)V
-HSPLandroid/icu/text/Replaceable;->replace(II[CII)V
 HSPLandroid/icu/text/ReplaceableString;->charAt(I)C
 HSPLandroid/icu/text/ReplaceableString;->getChars(II[CI)V
 HSPLandroid/icu/text/ReplaceableString;->length()I
@@ -24006,20 +21392,16 @@
 HSPLandroid/icu/text/RuleBasedBreakIterator;->first()I
 HSPLandroid/icu/text/RuleBasedBreakIterator;->handleNext()I
 HSPLandroid/icu/text/RuleBasedBreakIterator;->next()I
-HSPLandroid/icu/text/RuleBasedBreakIterator;->setBreakType(I)V
 HSPLandroid/icu/text/RuleBasedBreakIterator;->setText(Ljava/text/CharacterIterator;)V
 HSPLandroid/icu/text/RuleBasedCollator$CollationBuffer;-><init>(Landroid/icu/impl/coll/CollationData;)V
-HSPLandroid/icu/text/RuleBasedCollator$NFDIterator;->nextRawCodePoint()I
-HSPLandroid/icu/text/RuleBasedCollator;-><init>(Ljava/lang/String;)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;->getRules()Ljava/lang/String;
-HSPLandroid/icu/text/RuleBasedCollator;->internalBuildTailoring(Ljava/lang/String;)V
-HSPLandroid/icu/text/RuleBasedCollator;->internalGetCEs(Ljava/lang/CharSequence;)[J
-HSPLandroid/icu/text/RuleBasedCollator;->setDecomposition(I)V
+HSPLandroid/icu/text/RuleBasedCollator;->getCollationKey(Ljava/lang/String;)Landroid/icu/text/CollationKey;
+HSPLandroid/icu/text/RuleBasedCollator;->getRawCollationKey(Ljava/lang/CharSequence;Landroid/icu/text/RawCollationKey;Landroid/icu/text/RuleBasedCollator$CollationBuffer;)Landroid/icu/text/RawCollationKey;
 HSPLandroid/icu/text/RuleBasedCollator;->setStrength(I)V
+HSPLandroid/icu/text/RuleBasedCollator;->writeSortKey(Ljava/lang/CharSequence;Landroid/icu/text/RuleBasedCollator$CollationKeyByteSink;Landroid/icu/text/RuleBasedCollator$CollationBuffer;)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;
@@ -24032,7 +21414,6 @@
 HSPLandroid/icu/text/SimpleDateFormat;->initialize()V
 HSPLandroid/icu/text/SimpleDateFormat;->isFieldUnitIgnored(Ljava/lang/String;I)Z
 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
@@ -24040,53 +21421,41 @@
 HSPLandroid/icu/text/SimpleDateFormat;->zeroPaddingNumber(Landroid/icu/text/NumberFormat;Ljava/lang/StringBuffer;III)V
 HSPLandroid/icu/text/StringPrep;-><init>(Ljava/nio/ByteBuffer;)V
 HSPLandroid/icu/text/StringPrep;->getInstance(I)Landroid/icu/text/StringPrep;
+HSPLandroid/icu/text/TimeZoneFormat$GMTOffsetField;->getType()C
+HSPLandroid/icu/text/TimeZoneFormat$GMTOffsetPatternType;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Z)V
+HSPLandroid/icu/text/TimeZoneFormat$TimeZoneFormatCache;-><init>(Landroid/icu/text/TimeZoneFormat$1;)V
+HSPLandroid/icu/text/TimeZoneFormat$TimeZoneFormatCache;->createInstance(Landroid/icu/util/ULocale;Landroid/icu/util/ULocale;)Landroid/icu/text/TimeZoneFormat;
+HSPLandroid/icu/text/TimeZoneFormat$TimeZoneFormatCache;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/icu/text/TimeZoneFormat;-><init>(Landroid/icu/util/ULocale;)V
+HSPLandroid/icu/text/TimeZoneFormat;->checkAbuttingHoursAndMinutes()V
+HSPLandroid/icu/text/TimeZoneFormat;->expandOffsetPattern(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/icu/text/TimeZoneFormat;->getGMTOffsetDigits()Ljava/lang/String;
+HSPLandroid/icu/text/TimeZoneFormat;->getGMTOffsetPattern(Landroid/icu/text/TimeZoneFormat$GMTOffsetPatternType;)Ljava/lang/String;
+HSPLandroid/icu/text/TimeZoneFormat;->getGMTPattern()Ljava/lang/String;
+HSPLandroid/icu/text/TimeZoneFormat;->getInstance(Ljava/util/Locale;)Landroid/icu/text/TimeZoneFormat;
+HSPLandroid/icu/text/TimeZoneFormat;->initGMTOffsetPatterns([Ljava/lang/String;)V
+HSPLandroid/icu/text/TimeZoneFormat;->initGMTPattern(Ljava/lang/String;)V
+HSPLandroid/icu/text/TimeZoneFormat;->parseOffsetPattern(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/Object;
+HSPLandroid/icu/text/TimeZoneFormat;->toCodePoints(Ljava/lang/String;)[Ljava/lang/String;
+HSPLandroid/icu/text/TimeZoneFormat;->truncateOffsetPattern(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/icu/text/TimeZoneFormat;->unquote(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/icu/text/TimeZoneNames$Cache;-><init>(Landroid/icu/text/TimeZoneNames$1;)V
 HSPLandroid/icu/text/TimeZoneNames$Cache;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/icu/text/TimeZoneNames$Cache;->createInstance(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/TimeZoneNames;
-HSPLandroid/icu/text/TimeZoneNames$Factory;->getTimeZoneNames(Landroid/icu/util/ULocale;)Landroid/icu/text/TimeZoneNames;
 HSPLandroid/icu/text/TimeZoneNames$NameType;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/text/TimeZoneNames$NameType;->values()[Landroid/icu/text/TimeZoneNames$NameType;
-HSPLandroid/icu/text/TimeZoneNames;->getAvailableMetaZoneIDs()Ljava/util/Set;
-HSPLandroid/icu/text/TimeZoneNames;->getAvailableMetaZoneIDs(Ljava/lang/String;)Ljava/util/Set;
 HSPLandroid/icu/text/TimeZoneNames;->getDisplayName(Ljava/lang/String;Landroid/icu/text/TimeZoneNames$NameType;J)Ljava/lang/String;
 HSPLandroid/icu/text/TimeZoneNames;->getInstance(Ljava/util/Locale;)Landroid/icu/text/TimeZoneNames;
-HSPLandroid/icu/text/TimeZoneNames;->getMetaZoneDisplayName(Ljava/lang/String;Landroid/icu/text/TimeZoneNames$NameType;)Ljava/lang/String;
-HSPLandroid/icu/text/TimeZoneNames;->getMetaZoneID(Ljava/lang/String;J)Ljava/lang/String;
-HSPLandroid/icu/text/TimeZoneNames;->getReferenceZoneID(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/icu/text/TimeZoneNames;->getTimeZoneDisplayName(Ljava/lang/String;Landroid/icu/text/TimeZoneNames$NameType;)Ljava/lang/String;
-HSPLandroid/icu/text/UCharacterIterator;->current()I
-HSPLandroid/icu/text/UCharacterIterator;->getIndex()I
-HSPLandroid/icu/text/UCharacterIterator;->getLength()I
 HSPLandroid/icu/text/UCharacterIterator;->getText()Ljava/lang/String;
-HSPLandroid/icu/text/UCharacterIterator;->getText([CI)I
-HSPLandroid/icu/text/UCharacterIterator;->next()I
-HSPLandroid/icu/text/UCharacterIterator;->previous()I
-HSPLandroid/icu/text/UCharacterIterator;->setIndex(I)V
 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/UForwardCharacterIterator;->next()I
-HSPLandroid/icu/text/UForwardCharacterIterator;->nextCodePoint()I
-HSPLandroid/icu/text/UTF16$StringComparator;-><init>(ZZI)V
-HSPLandroid/icu/text/UTF16$StringComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLandroid/icu/text/UTF16$StringComparator;->compareCaseSensitive(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/icu/text/UTF16;->_charAt(Ljava/lang/CharSequence;IC)I
 HSPLandroid/icu/text/UTF16;->append(Ljava/lang/StringBuffer;I)Ljava/lang/StringBuffer;
 HSPLandroid/icu/text/UTF16;->charAt([CIII)I
-HSPLandroid/icu/text/UTF16;->hasMoreCodePointsThan(Ljava/lang/String;I)Z
 HSPLandroid/icu/text/UnhandledBreakEngine;-><init>()V
-HSPLandroid/icu/text/UnicodeFilter;->contains(I)Z
-HSPLandroid/icu/text/UnicodeMatcher;->addMatchSetTo(Landroid/icu/text/UnicodeSet;)V
-HSPLandroid/icu/text/UnicodeMatcher;->matches(Landroid/icu/text/Replaceable;[IIZ)I
-HSPLandroid/icu/text/UnicodeMatcher;->matchesIndexValue(I)Z
-HSPLandroid/icu/text/UnicodeMatcher;->toPattern(Z)Ljava/lang/String;
 HSPLandroid/icu/text/UnicodeSet$GeneralCategoryMaskFilter;->contains(I)Z
 HSPLandroid/icu/text/UnicodeSet$IntPropertyFilter;->contains(I)Z
-HSPLandroid/icu/text/UnicodeSet$UnicodeSetIterator2;-><init>(Landroid/icu/text/UnicodeSet;)V
-HSPLandroid/icu/text/UnicodeSet$UnicodeSetIterator2;->hasNext()Z
-HSPLandroid/icu/text/UnicodeSet$UnicodeSetIterator2;->next()Ljava/lang/Object;
-HSPLandroid/icu/text/UnicodeSet$UnicodeSetIterator2;->next()Ljava/lang/String;
 HSPLandroid/icu/text/UnicodeSet;-><init>()V
 HSPLandroid/icu/text/UnicodeSet;-><init>(II)V
 HSPLandroid/icu/text/UnicodeSet;-><init>(Ljava/lang/String;)V
@@ -24101,37 +21470,32 @@
 HSPLandroid/icu/text/UnicodeSet;->append(Ljava/lang/Appendable;Ljava/lang/CharSequence;)V
 HSPLandroid/icu/text/UnicodeSet;->appendCodePoint(Ljava/lang/Appendable;I)V
 HSPLandroid/icu/text/UnicodeSet;->appendNewPattern(Ljava/lang/Appendable;ZZ)Ljava/lang/Appendable;
-HSPLandroid/icu/text/UnicodeSet;->applyFilter(Landroid/icu/text/UnicodeSet$Filter;I)Landroid/icu/text/UnicodeSet;
+HSPLandroid/icu/text/UnicodeSet;->applyFilter(Landroid/icu/text/UnicodeSet$Filter;Landroid/icu/text/UnicodeSet;)V
 HSPLandroid/icu/text/UnicodeSet;->applyIntPropertyValue(II)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->applyPattern(Landroid/icu/impl/RuleCharacterIterator;Landroid/icu/text/SymbolTable;Ljava/lang/Appendable;I)V
+HSPLandroid/icu/text/UnicodeSet;->applyPattern(Landroid/icu/impl/RuleCharacterIterator;Landroid/icu/text/SymbolTable;Ljava/lang/Appendable;II)V
 HSPLandroid/icu/text/UnicodeSet;->applyPattern(Ljava/lang/String;Ljava/text/ParsePosition;Landroid/icu/text/SymbolTable;I)Landroid/icu/text/UnicodeSet;
 HSPLandroid/icu/text/UnicodeSet;->applyPropertyAlias(Ljava/lang/String;Ljava/lang/String;Landroid/icu/text/SymbolTable;)Landroid/icu/text/UnicodeSet;
 HSPLandroid/icu/text/UnicodeSet;->applyPropertyPattern(Landroid/icu/impl/RuleCharacterIterator;Ljava/lang/Appendable;Landroid/icu/text/SymbolTable;)V
 HSPLandroid/icu/text/UnicodeSet;->applyPropertyPattern(Ljava/lang/String;Ljava/text/ParsePosition;Landroid/icu/text/SymbolTable;)Landroid/icu/text/UnicodeSet;
 HSPLandroid/icu/text/UnicodeSet;->clear()Landroid/icu/text/UnicodeSet;
 HSPLandroid/icu/text/UnicodeSet;->clone()Ljava/lang/Object;
+HSPLandroid/icu/text/UnicodeSet;->compact()Landroid/icu/text/UnicodeSet;
 HSPLandroid/icu/text/UnicodeSet;->complement()Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->complement(II)Landroid/icu/text/UnicodeSet;
 HSPLandroid/icu/text/UnicodeSet;->contains(I)Z
 HSPLandroid/icu/text/UnicodeSet;->containsAll(Ljava/lang/String;)Z
 HSPLandroid/icu/text/UnicodeSet;->containsNone(II)Z
 HSPLandroid/icu/text/UnicodeSet;->findCodePoint(I)I
 HSPLandroid/icu/text/UnicodeSet;->freeze()Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->getInclusions(I)Landroid/icu/text/UnicodeSet;
 HSPLandroid/icu/text/UnicodeSet;->getRangeCount()I
 HSPLandroid/icu/text/UnicodeSet;->getRangeEnd(I)I
 HSPLandroid/icu/text/UnicodeSet;->getRangeStart(I)I
 HSPLandroid/icu/text/UnicodeSet;->getSingleCP(Ljava/lang/CharSequence;)I
-HSPLandroid/icu/text/UnicodeSet;->isEmpty()Z
+HSPLandroid/icu/text/UnicodeSet;->hasStrings()Z
 HSPLandroid/icu/text/UnicodeSet;->isFrozen()Z
-HSPLandroid/icu/text/UnicodeSet;->iterator()Ljava/util/Iterator;
-HSPLandroid/icu/text/UnicodeSet;->range(II)[I
-HSPLandroid/icu/text/UnicodeSet;->remove(II)Landroid/icu/text/UnicodeSet;
 HSPLandroid/icu/text/UnicodeSet;->resemblesPropertyPattern(Landroid/icu/impl/RuleCharacterIterator;I)Z
 HSPLandroid/icu/text/UnicodeSet;->retain([III)Landroid/icu/text/UnicodeSet;
 HSPLandroid/icu/text/UnicodeSet;->retainAll(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/UnicodeSet;
 HSPLandroid/icu/text/UnicodeSet;->set(Landroid/icu/text/UnicodeSet;)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/text/UnicodeSet;->xor([III)Landroid/icu/text/UnicodeSet;
 HSPLandroid/icu/util/AnnualTimeZoneRule;->getEndYear()I
 HSPLandroid/icu/util/AnnualTimeZoneRule;->getFirstStart(II)Ljava/util/Date;
 HSPLandroid/icu/util/AnnualTimeZoneRule;->getNextStart(JIIZ)Ljava/util/Date;
@@ -24143,8 +21507,6 @@
 HSPLandroid/icu/util/BytesTrie;->next(I)Landroid/icu/util/BytesTrie$Result;
 HSPLandroid/icu/util/BytesTrie;->nextImpl(II)Landroid/icu/util/BytesTrie$Result;
 HSPLandroid/icu/util/BytesTrie;->readValue([BII)I
-HSPLandroid/icu/util/Calendar$CalType;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/icu/util/Calendar$CalType;->values()[Landroid/icu/util/Calendar$CalType;
 HSPLandroid/icu/util/Calendar$FormatConfiguration;->getCalendar()Landroid/icu/util/Calendar;
 HSPLandroid/icu/util/Calendar$FormatConfiguration;->getDateFormatSymbols()Landroid/icu/text/DateFormatSymbols;
 HSPLandroid/icu/util/Calendar$FormatConfiguration;->getLocale()Landroid/icu/util/ULocale;
@@ -24163,13 +21525,11 @@
 HSPLandroid/icu/util/Calendar;->floorDivide(JI[I)I
 HSPLandroid/icu/util/Calendar;->formatHelper(Landroid/icu/util/Calendar;Landroid/icu/util/ULocale;II)Landroid/icu/text/DateFormat;
 HSPLandroid/icu/util/Calendar;->get(I)I
-HSPLandroid/icu/util/Calendar;->getCalendarTypeForLocale(Landroid/icu/util/ULocale;)Landroid/icu/util/Calendar$CalType;
+HSPLandroid/icu/util/Calendar;->getCalendarTypeForLocale(Landroid/icu/util/ULocale;)Landroid/icu/impl/CalType;
 HSPLandroid/icu/util/Calendar;->getDateTimeFormat(IILandroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
 HSPLandroid/icu/util/Calendar;->getFieldCount()I
 HSPLandroid/icu/util/Calendar;->getFirstDayOfWeek()I
 HSPLandroid/icu/util/Calendar;->getKeywordValuesForLocale(Ljava/lang/String;Landroid/icu/util/ULocale;Z)[Ljava/lang/String;
-HSPLandroid/icu/util/Calendar;->getLeastMaximum(I)I
-HSPLandroid/icu/util/Calendar;->getLimit(II)I
 HSPLandroid/icu/util/Calendar;->getMinimalDaysInFirstWeek()I
 HSPLandroid/icu/util/Calendar;->getPatternData(Landroid/icu/util/ULocale;Ljava/lang/String;)Landroid/icu/util/Calendar$PatternData;
 HSPLandroid/icu/util/Calendar;->getRepeatedWallTimeOption()I
@@ -24177,11 +21537,8 @@
 HSPLandroid/icu/util/Calendar;->getTimeInMillis()J
 HSPLandroid/icu/util/Calendar;->getTimeZone()Landroid/icu/util/TimeZone;
 HSPLandroid/icu/util/Calendar;->getWeekDataForRegionInternal(Ljava/lang/String;)Landroid/icu/util/Calendar$WeekData;
-HSPLandroid/icu/util/Calendar;->handleComputeMonthStart(IIZ)I
 HSPLandroid/icu/util/Calendar;->handleCreateFields()[I
 HSPLandroid/icu/util/Calendar;->handleGetDateFormat(Ljava/lang/String;Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/text/DateFormat;
-HSPLandroid/icu/util/Calendar;->handleGetExtendedYear()I
-HSPLandroid/icu/util/Calendar;->handleGetLimit(II)I
 HSPLandroid/icu/util/Calendar;->initInternal()V
 HSPLandroid/icu/util/Calendar;->internalSet(II)V
 HSPLandroid/icu/util/Calendar;->isEquivalentTo(Landroid/icu/util/Calendar;)Z
@@ -24193,119 +21550,32 @@
 HSPLandroid/icu/util/Calendar;->setTimeZone(Landroid/icu/util/TimeZone;)V
 HSPLandroid/icu/util/Calendar;->setWeekData(Landroid/icu/util/Calendar$WeekData;)Landroid/icu/util/Calendar;
 HSPLandroid/icu/util/Calendar;->weekNumber(III)I
-HSPLandroid/icu/util/CharsTrie$Iterator;-><init>(Ljava/lang/CharSequence;III)V
-HSPLandroid/icu/util/CharsTrie$Iterator;->branchNext(II)I
-HSPLandroid/icu/util/CharsTrie$Iterator;->next()Landroid/icu/util/CharsTrie$Entry;
-HSPLandroid/icu/util/CharsTrie;->branchNext(III)Landroid/icu/util/BytesTrie$Result;
-HSPLandroid/icu/util/CharsTrie;->firstForCodePoint(I)Landroid/icu/util/BytesTrie$Result;
-HSPLandroid/icu/util/CharsTrie;->getValue()I
-HSPLandroid/icu/util/CharsTrie;->jumpByDelta(Ljava/lang/CharSequence;I)I
-HSPLandroid/icu/util/CharsTrie;->next(I)Landroid/icu/util/BytesTrie$Result;
-HSPLandroid/icu/util/CharsTrie;->nextImpl(II)Landroid/icu/util/BytesTrie$Result;
-HSPLandroid/icu/util/CharsTrie;->readValue(Ljava/lang/CharSequence;II)I
-HSPLandroid/icu/util/CodePointTrie$Small8;->fromBinary(Ljava/nio/ByteBuffer;)Landroid/icu/util/CodePointTrie$Small8;
-HSPLandroid/icu/util/CodePointTrie$Small32;->fromBinary(Ljava/nio/ByteBuffer;)Landroid/icu/util/CodePointTrie$Small32;
-HSPLandroid/icu/util/CodePointTrie$Small16;->fromBinary(Ljava/nio/ByteBuffer;)Landroid/icu/util/CodePointTrie$Small16;
-HSPLandroid/icu/util/CodePointTrie$Fast8;->fromBinary(Ljava/nio/ByteBuffer;)Landroid/icu/util/CodePointTrie$Fast8;
-HSPLandroid/icu/util/CodePointTrie$Fast8;->bmpGet(I)I
-HSPLandroid/icu/util/CodePointTrie$Fast8;->get(I)I
-HSPLandroid/icu/util/CodePointTrie$Fast8;->suppGet(I)I
-HSPLandroid/icu/util/CodePointTrie$Fast32;->fromBinary(Ljava/nio/ByteBuffer;)Landroid/icu/util/CodePointTrie$Fast32;
-HSPLandroid/icu/util/CodePointTrie$Fast32;->bmpGet(I)I
-HSPLandroid/icu/util/CodePointTrie$Fast32;->get(I)I
-HSPLandroid/icu/util/CodePointTrie$Fast32;->suppGet(I)I
-HSPLandroid/icu/util/CodePointTrie$Fast16;->fromBinary(Ljava/nio/ByteBuffer;)Landroid/icu/util/CodePointTrie$Fast16;
-HSPLandroid/icu/util/CodePointTrie$Fast16;->bmpGet(I)I
-HSPLandroid/icu/util/CodePointTrie$Fast16;->get(I)I
-HSPLandroid/icu/util/CodePointTrie$Fast16;->suppGet(I)I
-HSPLandroid/icu/util/CodePointTrie$Small;->fromBinary(Landroid/icu/util/CodePointTrie$ValueWidth;Ljava/nio/ByteBuffer;)Landroid/icu/util/CodePointTrie$Small;
-HSPLandroid/icu/util/CodePointTrie$Small;->cpIndex(I)I
-HSPLandroid/icu/util/CodePointTrie$Small;->getType()Landroid/icu/util/CodePointTrie$Type;
-HSPLandroid/icu/util/CodePointTrie$Small;->stringIterator(Ljava/lang/CharSequence;I)Landroid/icu/util/CodePointMap$StringIterator;
-HSPLandroid/icu/util/CodePointTrie$Fast;->fromBinary(Landroid/icu/util/CodePointTrie$ValueWidth;Ljava/nio/ByteBuffer;)Landroid/icu/util/CodePointTrie$Fast;
-HSPLandroid/icu/util/CodePointTrie$Fast;->bmpGet(I)I
-HSPLandroid/icu/util/CodePointTrie$Fast;->cpIndex(I)I
-HSPLandroid/icu/util/CodePointTrie$Fast;->getType()Landroid/icu/util/CodePointTrie$Type;
-HSPLandroid/icu/util/CodePointTrie$Fast;->stringIterator(Ljava/lang/CharSequence;I)Landroid/icu/util/CodePointMap$StringIterator;
-HSPLandroid/icu/util/CodePointTrie$Fast;->suppGet(I)I
-HSPLandroid/icu/util/CodePointTrie$Data8;->getDataLength()I
-HSPLandroid/icu/util/CodePointTrie$Data8;->getFromIndex(I)I
-HSPLandroid/icu/util/CodePointTrie$Data8;->getValueWidth()Landroid/icu/util/CodePointTrie$ValueWidth;
-HSPLandroid/icu/util/CodePointTrie$Data8;->write(Ljava/io/DataOutputStream;)I
-HSPLandroid/icu/util/CodePointTrie$Data32;->getDataLength()I
-HSPLandroid/icu/util/CodePointTrie$Data32;->getFromIndex(I)I
-HSPLandroid/icu/util/CodePointTrie$Data32;->getValueWidth()Landroid/icu/util/CodePointTrie$ValueWidth;
-HSPLandroid/icu/util/CodePointTrie$Data32;->write(Ljava/io/DataOutputStream;)I
+HSPLandroid/icu/util/CodePointMap$RangeOption;-><init>(Ljava/lang/String;I)V
+HSPLandroid/icu/util/CodePointMap;->getRange(ILandroid/icu/util/CodePointMap$RangeOption;ILandroid/icu/util/CodePointMap$ValueFilter;Landroid/icu/util/CodePointMap$Range;)Z
 HSPLandroid/icu/util/CodePointTrie$Data16;->getDataLength()I
 HSPLandroid/icu/util/CodePointTrie$Data16;->getFromIndex(I)I
-HSPLandroid/icu/util/CodePointTrie$Data16;->getValueWidth()Landroid/icu/util/CodePointTrie$ValueWidth;
-HSPLandroid/icu/util/CodePointTrie$Data16;->write(Ljava/io/DataOutputStream;)I
-HSPLandroid/icu/util/CodePointTrie$Data;->getDataLength()I
-HSPLandroid/icu/util/CodePointTrie$Data;->getFromIndex(I)I
-HSPLandroid/icu/util/CodePointTrie$Data;->getValueWidth()Landroid/icu/util/CodePointTrie$ValueWidth;
-HSPLandroid/icu/util/CodePointTrie$Data;->write(Ljava/io/DataOutputStream;)I
-HSPLandroid/icu/util/CodePointTrie$ValueWidth;->valueOf(Ljava/lang/String;)Landroid/icu/util/CodePointTrie$ValueWidth;
+HSPLandroid/icu/util/CodePointTrie$Fast16;-><init>([C[CIII)V
+HSPLandroid/icu/util/CodePointTrie$Fast;->getType()Landroid/icu/util/CodePointTrie$Type;
+HSPLandroid/icu/util/CodePointTrie$Type;-><init>(Ljava/lang/String;I)V
+HSPLandroid/icu/util/CodePointTrie$ValueWidth;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/util/CodePointTrie$ValueWidth;->values()[Landroid/icu/util/CodePointTrie$ValueWidth;
-HSPLandroid/icu/util/CodePointTrie$Type;->valueOf(Ljava/lang/String;)Landroid/icu/util/CodePointTrie$Type;
-HSPLandroid/icu/util/CodePointTrie$Type;->values()[Landroid/icu/util/CodePointTrie$Type;
+HSPLandroid/icu/util/CodePointTrie;-><init>([CLandroid/icu/util/CodePointTrie$Data;III)V
+HSPLandroid/icu/util/CodePointTrie;-><init>([CLandroid/icu/util/CodePointTrie$Data;IIILandroid/icu/util/CodePointTrie$1;)V
 HSPLandroid/icu/util/CodePointTrie;->fromBinary(Landroid/icu/util/CodePointTrie$Type;Landroid/icu/util/CodePointTrie$ValueWidth;Ljava/nio/ByteBuffer;)Landroid/icu/util/CodePointTrie;
-HSPLandroid/icu/util/CodePointTrie;->internalSmallIndex(Landroid/icu/util/CodePointTrie$Type;I)I
-HSPLandroid/icu/util/CodePointTrie;->maybeFilterValue(IIILandroid/icu/util/CodePointMap$ValueFilter;)I
-HSPLandroid/icu/util/CodePointTrie;->asciiGet(I)I
-HSPLandroid/icu/util/CodePointTrie;->cpIndex(I)I
-HSPLandroid/icu/util/CodePointTrie;->fastIndex(I)I
-HSPLandroid/icu/util/CodePointTrie;->get(I)I
 HSPLandroid/icu/util/CodePointTrie;->getRange(ILandroid/icu/util/CodePointMap$ValueFilter;Landroid/icu/util/CodePointMap$Range;)Z
-HSPLandroid/icu/util/CodePointTrie;->getType()Landroid/icu/util/CodePointTrie$Type;
-HSPLandroid/icu/util/CodePointTrie;->getValueWidth()Landroid/icu/util/CodePointTrie$ValueWidth;
-HSPLandroid/icu/util/CodePointTrie;->smallIndex(Landroid/icu/util/CodePointTrie$Type;I)I
-HSPLandroid/icu/util/CodePointTrie;->toBinary(Ljava/io/OutputStream;)I
-HSPLandroid/icu/util/CodePointMap$StringIterator;->getCodePoint()I
-HSPLandroid/icu/util/CodePointMap$StringIterator;->getIndex()I
-HSPLandroid/icu/util/CodePointMap$StringIterator;->getValue()I
-HSPLandroid/icu/util/CodePointMap$StringIterator;->next()Z
-HSPLandroid/icu/util/CodePointMap$StringIterator;->previous()Z
-HSPLandroid/icu/util/CodePointMap$StringIterator;->reset(Ljava/lang/CharSequence;I)V
-HSPLandroid/icu/util/CodePointMap$RangeIterator;->hasNext()Z
-HSPLandroid/icu/util/CodePointMap$RangeIterator;->next()Landroid/icu/util/CodePointMap$Range;
-HSPLandroid/icu/util/CodePointMap$RangeIterator;->next()Ljava/lang/Object;
-HSPLandroid/icu/util/CodePointMap$RangeIterator;->remove()V
-HSPLandroid/icu/util/CodePointMap$Range;->access$000(Landroid/icu/util/CodePointMap$Range;)I
-HSPLandroid/icu/util/CodePointMap$Range;->access$002(Landroid/icu/util/CodePointMap$Range;I)I
-HSPLandroid/icu/util/CodePointMap$Range;->access$100(Landroid/icu/util/CodePointMap$Range;)I
-HSPLandroid/icu/util/CodePointMap$Range;->access$102(Landroid/icu/util/CodePointMap$Range;I)I
-HSPLandroid/icu/util/CodePointMap$Range;->access$202(Landroid/icu/util/CodePointMap$Range;I)I
-HSPLandroid/icu/util/CodePointMap$Range;->getEnd()I
-HSPLandroid/icu/util/CodePointMap$Range;->getStart()I
-HSPLandroid/icu/util/CodePointMap$Range;->getValue()I
-HSPLandroid/icu/util/CodePointMap$Range;->set(III)V
-HSPLandroid/icu/util/CodePointMap$ValueFilter;->apply(I)I
-HSPLandroid/icu/util/CodePointMap$RangeOption;->valueOf(Ljava/lang/String;)Landroid/icu/util/CodePointMap$RangeOption;
-HSPLandroid/icu/util/CodePointMap$RangeOption;->values()[Landroid/icu/util/CodePointMap$RangeOption;
-HSPLandroid/icu/util/CodePointMap;->get(I)I
-HSPLandroid/icu/util/CodePointMap;->getRange(ILandroid/icu/util/CodePointMap$RangeOption;ILandroid/icu/util/CodePointMap$ValueFilter;Landroid/icu/util/CodePointMap$Range;)Z
-HSPLandroid/icu/util/CodePointMap;->getRange(ILandroid/icu/util/CodePointMap$ValueFilter;Landroid/icu/util/CodePointMap$Range;)Z
-HSPLandroid/icu/util/CodePointMap;->iterator()Ljava/util/Iterator;
-HSPLandroid/icu/util/CodePointMap;->stringIterator(Ljava/lang/CharSequence;I)Landroid/icu/util/CodePointMap$StringIterator;
 HSPLandroid/icu/util/Currency$1;-><init>()V
 HSPLandroid/icu/util/Currency$1;->createInstance(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/icu/util/Currency$1;->createInstance(Ljava/lang/String;Ljava/lang/Void;)Landroid/icu/util/Currency;
 HSPLandroid/icu/util/Currency$CurrencyUsage;-><init>(Ljava/lang/String;I)V
-HSPLandroid/icu/util/Currency$EquivalenceRelation;-><init>(Landroid/icu/util/Currency$1;)V
-HSPLandroid/icu/util/Currency$EquivalenceRelation;->add([Ljava/lang/Object;)Landroid/icu/util/Currency$EquivalenceRelation;
 HSPLandroid/icu/util/Currency;->createCurrency(Landroid/icu/util/ULocale;)Landroid/icu/util/Currency;
 HSPLandroid/icu/util/Currency;->getCurrencyCode()Ljava/lang/String;
-HSPLandroid/icu/util/Currency;->getDefaultFractionDigits()I
-HSPLandroid/icu/util/Currency;->getDefaultFractionDigits(Landroid/icu/util/Currency$CurrencyUsage;)I
 HSPLandroid/icu/util/Currency;->getInstance(Ljava/lang/String;)Landroid/icu/util/Currency;
 HSPLandroid/icu/util/Currency;->getInstance(Ljava/util/Locale;)Landroid/icu/util/Currency;
 HSPLandroid/icu/util/Currency;->getName(Landroid/icu/util/ULocale;I[Z)Ljava/lang/String;
-HSPLandroid/icu/util/Currency;->getRoundingIncrement(Landroid/icu/util/Currency$CurrencyUsage;)D
 HSPLandroid/icu/util/Currency;->getSymbol(Landroid/icu/util/ULocale;)Ljava/lang/String;
 HSPLandroid/icu/util/Currency;->getSymbol(Ljava/util/Locale;)Ljava/lang/String;
 HSPLandroid/icu/util/Currency;->isAlpha3Code(Ljava/lang/String;)Z
 HSPLandroid/icu/util/Currency;->loadCurrency(Ljava/lang/String;)Landroid/icu/util/Currency;
-HSPLandroid/icu/util/Currency;->toString()Ljava/lang/String;
 HSPLandroid/icu/util/DateTimeRule;->getDateRuleType()I
 HSPLandroid/icu/util/DateTimeRule;->getRuleDayOfMonth()I
 HSPLandroid/icu/util/DateTimeRule;->getRuleDayOfWeek()I
@@ -24318,10 +21588,6 @@
 HSPLandroid/icu/util/GregorianCalendar;->handleGetYearLength(I)I
 HSPLandroid/icu/util/GregorianCalendar;->isEquivalentTo(Landroid/icu/util/Calendar;)Z
 HSPLandroid/icu/util/GregorianCalendar;->isLeapYear(I)Z
-HSPLandroid/icu/util/LocaleData;->getExemplarSet(II)Landroid/icu/text/UnicodeSet;
-HSPLandroid/icu/util/Measure;-><init>(Ljava/lang/Number;Landroid/icu/util/MeasureUnit;)V
-HSPLandroid/icu/util/Measure;->getNumber()Ljava/lang/Number;
-HSPLandroid/icu/util/Measure;->getUnit()Landroid/icu/util/MeasureUnit;
 HSPLandroid/icu/util/MeasureUnit$1;-><init>()V
 HSPLandroid/icu/util/MeasureUnit$1;->create(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/MeasureUnit;
 HSPLandroid/icu/util/MeasureUnit$2;-><init>()V
@@ -24333,61 +21599,6 @@
 HSPLandroid/icu/util/MeasureUnit;->equals(Ljava/lang/Object;)Z
 HSPLandroid/icu/util/MeasureUnit;->hashCode()I
 HSPLandroid/icu/util/MeasureUnit;->internalGetInstance(Ljava/lang/String;Ljava/lang/String;)Landroid/icu/util/MeasureUnit;
-HSPLandroid/icu/util/MutableCodePointTrie$MixedBlocks;->addEntry([I[CIII)V
-HSPLandroid/icu/util/MutableCodePointTrie$MixedBlocks;->findEntry([III)I
-HSPLandroid/icu/util/MutableCodePointTrie$MixedBlocks;->findEntry([I[C[I[CII)I
-HSPLandroid/icu/util/MutableCodePointTrie$MixedBlocks;->makeHashCode(I)I
-HSPLandroid/icu/util/MutableCodePointTrie$MixedBlocks;->makeHashCode([CI)I
-HSPLandroid/icu/util/MutableCodePointTrie$MixedBlocks;->makeHashCode([II)I
-HSPLandroid/icu/util/MutableCodePointTrie$MixedBlocks;->modulo(II)I
-HSPLandroid/icu/util/MutableCodePointTrie$MixedBlocks;->nextIndex(II)I
-HSPLandroid/icu/util/MutableCodePointTrie$MixedBlocks;->extend([CIII)V
-HSPLandroid/icu/util/MutableCodePointTrie$MixedBlocks;->extend([IIII)V
-HSPLandroid/icu/util/MutableCodePointTrie$MixedBlocks;->findAllSameBlock([II)I
-HSPLandroid/icu/util/MutableCodePointTrie$MixedBlocks;->findBlock([C[CI)I
-HSPLandroid/icu/util/MutableCodePointTrie$MixedBlocks;->findBlock([C[II)I
-HSPLandroid/icu/util/MutableCodePointTrie$MixedBlocks;->findBlock([I[II)I
-HSPLandroid/icu/util/MutableCodePointTrie$MixedBlocks;->init(II)V
-HSPLandroid/icu/util/MutableCodePointTrie$AllSameBlocks;->add(III)V
-HSPLandroid/icu/util/MutableCodePointTrie$AllSameBlocks;->findMostUsed()I
-HSPLandroid/icu/util/MutableCodePointTrie$AllSameBlocks;->findOrAdd(III)I
-HSPLandroid/icu/util/MutableCodePointTrie;->access$000([II[III)Z
-HSPLandroid/icu/util/MutableCodePointTrie;->access$100([CI[III)Z
-HSPLandroid/icu/util/MutableCodePointTrie;->access$200([CI[CII)Z
-HSPLandroid/icu/util/MutableCodePointTrie;->access$300([IIII)Z
-HSPLandroid/icu/util/MutableCodePointTrie;->allValuesSameAs([IIII)Z
-HSPLandroid/icu/util/MutableCodePointTrie;->allocDataBlock(I)I
-HSPLandroid/icu/util/MutableCodePointTrie;->build(Landroid/icu/util/CodePointTrie$Type;Landroid/icu/util/CodePointTrie$ValueWidth;)Landroid/icu/util/CodePointTrie;
-HSPLandroid/icu/util/MutableCodePointTrie;->clear()V
-HSPLandroid/icu/util/MutableCodePointTrie;->compactData(I[IILandroid/icu/util/MutableCodePointTrie$MixedBlocks;)I
-HSPLandroid/icu/util/MutableCodePointTrie;->compactIndex(ILandroid/icu/util/MutableCodePointTrie$MixedBlocks;)I
-HSPLandroid/icu/util/MutableCodePointTrie;->compactTrie(I)I
-HSPLandroid/icu/util/MutableCodePointTrie;->compactWholeDataBlocks(ILandroid/icu/util/MutableCodePointTrie$AllSameBlocks;)I
-HSPLandroid/icu/util/MutableCodePointTrie;->ensureHighStart(I)V
-HSPLandroid/icu/util/MutableCodePointTrie;->equalBlocks([CI[CII)Z
-HSPLandroid/icu/util/MutableCodePointTrie;->equalBlocks([CI[III)Z
-HSPLandroid/icu/util/MutableCodePointTrie;->equalBlocks([II[III)Z
-HSPLandroid/icu/util/MutableCodePointTrie;->fillBlock(IIII)V
-HSPLandroid/icu/util/MutableCodePointTrie;->findAllSameBlock([IIIII)I
-HSPLandroid/icu/util/MutableCodePointTrie;->findHighStart()I
-HSPLandroid/icu/util/MutableCodePointTrie;->findSameBlock([CII[CII)I
-HSPLandroid/icu/util/MutableCodePointTrie;->fromCodePointMap(Landroid/icu/util/CodePointMap;)Landroid/icu/util/MutableCodePointTrie;
-HSPLandroid/icu/util/MutableCodePointTrie;->getAllSameOverlap([IIII)I
-HSPLandroid/icu/util/MutableCodePointTrie;->getDataBlock(I)I
-HSPLandroid/icu/util/MutableCodePointTrie;->getOverlap([CI[CII)I
-HSPLandroid/icu/util/MutableCodePointTrie;->getOverlap([CI[III)I
-HSPLandroid/icu/util/MutableCodePointTrie;->getOverlap([II[III)I
-HSPLandroid/icu/util/MutableCodePointTrie;->isStartOfSomeFastBlock(I[II)Z
-HSPLandroid/icu/util/MutableCodePointTrie;->maskValues(I)V
-HSPLandroid/icu/util/MutableCodePointTrie;->maybeFilterValue(IIILandroid/icu/util/CodePointMap$ValueFilter;)I
-HSPLandroid/icu/util/MutableCodePointTrie;->writeBlock(II)V
-HSPLandroid/icu/util/MutableCodePointTrie;->buildImmutable(Landroid/icu/util/CodePointTrie$Type;Landroid/icu/util/CodePointTrie$ValueWidth;)Landroid/icu/util/CodePointTrie;
-HSPLandroid/icu/util/MutableCodePointTrie;->clone()Landroid/icu/util/MutableCodePointTrie;
-HSPLandroid/icu/util/MutableCodePointTrie;->clone()Ljava/lang/Object;
-HSPLandroid/icu/util/MutableCodePointTrie;->get(I)I
-HSPLandroid/icu/util/MutableCodePointTrie;->getRange(ILandroid/icu/util/CodePointMap$ValueFilter;Landroid/icu/util/CodePointMap$Range;)Z
-HSPLandroid/icu/util/MutableCodePointTrie;->set(II)V
-HSPLandroid/icu/util/MutableCodePointTrie;->setRange(III)V
 HSPLandroid/icu/util/SimpleTimeZone;-><init>(ILjava/lang/String;IIIIIIIIIII)V
 HSPLandroid/icu/util/SimpleTimeZone;->clone()Ljava/lang/Object;
 HSPLandroid/icu/util/SimpleTimeZone;->cloneAsThawed()Landroid/icu/util/TimeZone;
@@ -24420,15 +21631,10 @@
 HSPLandroid/icu/util/TimeZone;->getDefault()Landroid/icu/util/TimeZone;
 HSPLandroid/icu/util/TimeZone;->getFrozenTimeZone(Ljava/lang/String;)Landroid/icu/util/TimeZone;
 HSPLandroid/icu/util/TimeZone;->getID()Ljava/lang/String;
-HSPLandroid/icu/util/TimeZone;->getOffset(IIIIII)I
 HSPLandroid/icu/util/TimeZone;->getOffset(J)I
 HSPLandroid/icu/util/TimeZone;->getOffset(JZ[I)V
-HSPLandroid/icu/util/TimeZone;->getRawOffset()I
 HSPLandroid/icu/util/TimeZone;->getTimeZone(Ljava/lang/String;IZ)Landroid/icu/util/TimeZone;
-HSPLandroid/icu/util/TimeZone;->inDaylightTime(Ljava/util/Date;)Z
 HSPLandroid/icu/util/TimeZone;->setICUDefault(Landroid/icu/util/TimeZone;)V
-HSPLandroid/icu/util/TimeZone;->setRawOffset(I)V
-HSPLandroid/icu/util/TimeZone;->useDaylightTime()Z
 HSPLandroid/icu/util/TimeZoneRule;->getDSTSavings()I
 HSPLandroid/icu/util/TimeZoneRule;->getName()Ljava/lang/String;
 HSPLandroid/icu/util/TimeZoneRule;->getRawOffset()I
@@ -24444,9 +21650,8 @@
 HSPLandroid/icu/util/ULocale$Category;-><init>(Ljava/lang/String;I)V
 HSPLandroid/icu/util/ULocale$Category;->values()[Landroid/icu/util/ULocale$Category;
 HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->getDefault(Landroid/icu/util/ULocale$Category;)Ljava/util/Locale;
-HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->hasLocaleCategories()Z
-HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->toLocale7(Landroid/icu/util/ULocale;)Ljava/util/Locale;
-HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->toULocale7(Ljava/util/Locale;)Landroid/icu/util/ULocale;
+HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->toLocale(Landroid/icu/util/ULocale;)Ljava/util/Locale;
+HSPLandroid/icu/util/ULocale$JDKLocaleHelper;->toULocale(Ljava/util/Locale;)Landroid/icu/util/ULocale;
 HSPLandroid/icu/util/ULocale$Type;-><init>(Landroid/icu/util/ULocale$1;)V
 HSPLandroid/icu/util/ULocale;-><init>(Ljava/lang/String;)V
 HSPLandroid/icu/util/ULocale;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
@@ -24457,12 +21662,10 @@
 HSPLandroid/icu/util/ULocale;->createTagString(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/icu/util/ULocale;->equals(Ljava/lang/Object;)Z
 HSPLandroid/icu/util/ULocale;->forLocale(Ljava/util/Locale;)Landroid/icu/util/ULocale;
-HSPLandroid/icu/util/ULocale;->getBaseName(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/icu/util/ULocale;->getDefault()Landroid/icu/util/ULocale;
 HSPLandroid/icu/util/ULocale;->getDefault(Landroid/icu/util/ULocale$Category;)Landroid/icu/util/ULocale;
 HSPLandroid/icu/util/ULocale;->getName(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/icu/util/ULocale;->getRegionForSupplementalData(Landroid/icu/util/ULocale;Z)Ljava/lang/String;
-HSPLandroid/icu/util/ULocale;->getScript()Ljava/lang/String;
 HSPLandroid/icu/util/ULocale;->getShortestSubtagLength(Ljava/lang/String;)I
 HSPLandroid/icu/util/ULocale;->hashCode()I
 HSPLandroid/icu/util/ULocale;->isRightToLeft()Z
@@ -24473,14 +21676,10 @@
 HSPLandroid/icu/util/UResourceBundle$RootType;->values()[Landroid/icu/util/UResourceBundle$RootType;
 HSPLandroid/icu/util/UResourceBundle;->get(I)Landroid/icu/util/UResourceBundle;
 HSPLandroid/icu/util/UResourceBundle;->get(Ljava/lang/String;)Landroid/icu/util/UResourceBundle;
-HSPLandroid/icu/util/UResourceBundle;->getBaseName()Ljava/lang/String;
 HSPLandroid/icu/util/UResourceBundle;->getBundleInstance(Ljava/lang/String;Landroid/icu/util/ULocale;)Landroid/icu/util/UResourceBundle;
 HSPLandroid/icu/util/UResourceBundle;->getBundleInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/util/UResourceBundle;
 HSPLandroid/icu/util/UResourceBundle;->getIterator()Landroid/icu/util/UResourceBundleIterator;
-HSPLandroid/icu/util/UResourceBundle;->getLocaleID()Ljava/lang/String;
-HSPLandroid/icu/util/UResourceBundle;->getParent()Landroid/icu/util/UResourceBundle;
 HSPLandroid/icu/util/UResourceBundle;->getRootType(Ljava/lang/String;Ljava/lang/ClassLoader;)Landroid/icu/util/UResourceBundle$RootType;
-HSPLandroid/icu/util/UResourceBundle;->getULocale()Landroid/icu/util/ULocale;
 HSPLandroid/icu/util/UResourceBundle;->handleGetObjectImpl(Ljava/lang/String;Landroid/icu/util/UResourceBundle;)Ljava/lang/Object;
 HSPLandroid/icu/util/UResourceBundle;->instantiateBundle(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Z)Landroid/icu/util/UResourceBundle;
 HSPLandroid/icu/util/UResourceBundle;->resolveObject(Ljava/lang/String;Landroid/icu/util/UResourceBundle;)Ljava/lang/Object;
@@ -24490,24 +21689,39 @@
 HSPLandroid/icu/util/VersionInfo;->getInstance(I)Landroid/icu/util/VersionInfo;
 HSPLandroid/icu/util/VersionInfo;->getInstance(IIII)Landroid/icu/util/VersionInfo;
 HSPLandroid/icu/util/VersionInfo;->getInstance(Ljava/lang/String;)Landroid/icu/util/VersionInfo;
+HSPLandroid/inputmethodservice/-$$Lambda$InputMethodService$8T9TmAUIN7vW9eU6kTg8309_d4E;->onComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
 HSPLandroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodImpl;->createSession(Landroid/view/inputmethod/InputMethod$SessionCallback;)V
 HSPLandroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodImpl;->setSessionEnabled(Landroid/view/inputmethod/InputMethodSession;Z)V
+HSPLandroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;->isEnabled()Z
 HSPLandroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;->setEnabled(Z)V
 HSPLandroid/inputmethodservice/AbstractInputMethodService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/inputmethodservice/AbstractInputMethodService;->onCreateInputMethodSessionInterface()Landroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;
+HSPLandroid/inputmethodservice/IInputMethodSessionWrapper;->executeMessage(Landroid/os/Message;)V
+HSPLandroid/inputmethodservice/IInputMethodSessionWrapper;->finishSession()V
 HSPLandroid/inputmethodservice/IInputMethodSessionWrapper;->getInternalInputMethodSession()Landroid/view/inputmethod/InputMethodSession;
+HSPLandroid/inputmethodservice/IInputMethodSessionWrapper;->updateSelection(IIIIII)V
 HSPLandroid/inputmethodservice/IInputMethodWrapper$InputMethodSessionCallbackWrapper;->sessionCreated(Landroid/view/inputmethod/InputMethodSession;)V
 HSPLandroid/inputmethodservice/IInputMethodWrapper;-><init>(Landroid/inputmethodservice/AbstractInputMethodService;Landroid/view/inputmethod/InputMethod;)V
 HSPLandroid/inputmethodservice/IInputMethodWrapper;->bindInput(Landroid/view/inputmethod/InputBinding;)V
 HSPLandroid/inputmethodservice/IInputMethodWrapper;->createSession(Landroid/view/InputChannel;Lcom/android/internal/view/IInputSessionCallback;)V
 HSPLandroid/inputmethodservice/IInputMethodWrapper;->executeMessage(Landroid/os/Message;)V
+HSPLandroid/inputmethodservice/IInputMethodWrapper;->hideSoftInput(ILandroid/os/ResultReceiver;)V
+HSPLandroid/inputmethodservice/IInputMethodWrapper;->initializeInternal(Landroid/os/IBinder;ILcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;)V
 HSPLandroid/inputmethodservice/IInputMethodWrapper;->setSessionEnabled(Lcom/android/internal/view/IInputMethodSession;Z)V
-HSPLandroid/inputmethodservice/IInputMethodWrapper;->startInput(Landroid/os/IBinder;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;Z)V
+HSPLandroid/inputmethodservice/IInputMethodWrapper;->showSoftInput(ILandroid/os/ResultReceiver;)V
+HSPLandroid/inputmethodservice/IInputMethodWrapper;->startInput(Landroid/os/IBinder;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;ZZ)V
+HSPLandroid/inputmethodservice/IInputMethodWrapper;->unbindInput()V
 HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;-><init>(Landroid/inputmethodservice/InputMethodService;)V
 HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->attachToken(Landroid/os/IBinder;)V
 HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->bindInput(Landroid/view/inputmethod/InputBinding;)V
-HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->dispatchStartInputWithToken(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;ZLandroid/os/IBinder;)V
+HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->dispatchStartInputWithToken(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;ZLandroid/os/IBinder;Z)V
+HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->hideSoftInput(ILandroid/os/ResultReceiver;)V
+HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->initializeInternal(Landroid/os/IBinder;ILcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;)V
+HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->restartInput(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;)V
+HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->showSoftInput(ILandroid/os/ResultReceiver;)V
 HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->startInput(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;)V
+HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->unbindInput()V
+HSPLandroid/inputmethodservice/InputMethodService$InputMethodImpl;->updateInputMethodDisplay(I)V
+HSPLandroid/inputmethodservice/InputMethodService$InputMethodSessionImpl;->updateSelection(IIIIII)V
 HSPLandroid/inputmethodservice/InputMethodService$SettingsObserver;->shouldShowImeWithHardKeyboard()Z
 HSPLandroid/inputmethodservice/InputMethodService;-><init>()V
 HSPLandroid/inputmethodservice/InputMethodService;->doFinishInput()V
@@ -24516,161 +21730,97 @@
 HSPLandroid/inputmethodservice/InputMethodService;->getCurrentInputBinding()Landroid/view/inputmethod/InputBinding;
 HSPLandroid/inputmethodservice/InputMethodService;->getCurrentInputConnection()Landroid/view/inputmethod/InputConnection;
 HSPLandroid/inputmethodservice/InputMethodService;->getCurrentInputEditorInfo()Landroid/view/inputmethod/EditorInfo;
+HSPLandroid/inputmethodservice/InputMethodService;->getWindow()Landroid/app/Dialog;
+HSPLandroid/inputmethodservice/InputMethodService;->hideStatusIcon()V
+HSPLandroid/inputmethodservice/InputMethodService;->hideWindow()V
 HSPLandroid/inputmethodservice/InputMethodService;->initViews()V
 HSPLandroid/inputmethodservice/InputMethodService;->initialize()V
 HSPLandroid/inputmethodservice/InputMethodService;->isExtractViewShown()Z
+HSPLandroid/inputmethodservice/InputMethodService;->isFullscreenMode()Z
+HSPLandroid/inputmethodservice/InputMethodService;->isInputViewShown()Z
+HSPLandroid/inputmethodservice/InputMethodService;->lambda$new$0$InputMethodService(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
+HSPLandroid/inputmethodservice/InputMethodService;->notifyUserActionIfNecessary()V
 HSPLandroid/inputmethodservice/InputMethodService;->onBindInput()V
 HSPLandroid/inputmethodservice/InputMethodService;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+HSPLandroid/inputmethodservice/InputMethodService;->onConfigureWindow(Landroid/view/Window;ZZ)V
 HSPLandroid/inputmethodservice/InputMethodService;->onCreate()V
 HSPLandroid/inputmethodservice/InputMethodService;->onCreateInputMethodSessionInterface()Landroid/inputmethodservice/AbstractInputMethodService$AbstractInputMethodSessionImpl;
+HSPLandroid/inputmethodservice/InputMethodService;->onEvaluateFullscreenMode()Z
 HSPLandroid/inputmethodservice/InputMethodService;->onEvaluateInputViewShown()Z
 HSPLandroid/inputmethodservice/InputMethodService;->onInitializeInterface()V
+HSPLandroid/inputmethodservice/InputMethodService;->onShowInputRequested(IZ)Z
 HSPLandroid/inputmethodservice/InputMethodService;->onStartInput(Landroid/view/inputmethod/EditorInfo;Z)V
+HSPLandroid/inputmethodservice/InputMethodService;->onStartInputView(Landroid/view/inputmethod/EditorInfo;Z)V
+HSPLandroid/inputmethodservice/InputMethodService;->onUnbindInput()V
+HSPLandroid/inputmethodservice/InputMethodService;->onUpdateSelection(IIIIII)V
+HSPLandroid/inputmethodservice/InputMethodService;->onWindowHidden()V
+HSPLandroid/inputmethodservice/InputMethodService;->onWindowShown()V
+HSPLandroid/inputmethodservice/InputMethodService;->prepareWindow(Z)Z
 HSPLandroid/inputmethodservice/InputMethodService;->resetStateForNewConfiguration()V
+HSPLandroid/inputmethodservice/InputMethodService;->setBackDisposition(I)V
+HSPLandroid/inputmethodservice/InputMethodService;->setInputView(Landroid/view/View;)V
+HSPLandroid/inputmethodservice/InputMethodService;->showWindow(Z)V
+HSPLandroid/inputmethodservice/InputMethodService;->startExtractingText(Z)V
+HSPLandroid/inputmethodservice/InputMethodService;->startViews(Z)V
+HSPLandroid/inputmethodservice/InputMethodService;->updateCandidatesVisibility(Z)V
+HSPLandroid/inputmethodservice/InputMethodService;->updateExtractFrameVisibility()V
+HSPLandroid/inputmethodservice/InputMethodService;->updateFullscreenMode()V
+HSPLandroid/inputmethodservice/InputMethodService;->updateInputViewShown()V
+HSPLandroid/inputmethodservice/SoftInputWindow;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLandroid/inputmethodservice/SoftInputWindow;->initDockWindow()V
 HSPLandroid/inputmethodservice/SoftInputWindow;->setToken(Landroid/os/IBinder;)V
+HSPLandroid/inputmethodservice/SoftInputWindow;->show()V
 HSPLandroid/location/Address$1;-><init>()V
 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;->getAdminArea()Ljava/lang/String;
 HSPLandroid/location/Address;->getCountryCode()Ljava/lang/String;
-HSPLandroid/location/Address;->getCountryName()Ljava/lang/String;
-HSPLandroid/location/Address;->getLatitude()D
-HSPLandroid/location/Address;->getLocality()Ljava/lang/String;
-HSPLandroid/location/Address;->getLongitude()D
-HSPLandroid/location/Address;->getMaxAddressLineIndex()I
-HSPLandroid/location/Address;->getPostalCode()Ljava/lang/String;
-HSPLandroid/location/Address;->getSubLocality()Ljava/lang/String;
-HSPLandroid/location/Address;->getThoroughfare()Ljava/lang/String;
 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;
-HSPLandroid/location/Country;->getCountryIso()Ljava/lang/String;
+HSPLandroid/location/Country;-><init>(Ljava/lang/String;I)V
+HSPLandroid/location/Country;->equals(Ljava/lang/Object;)Z
+HSPLandroid/location/Country;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/location/CountryDetector$ListenerTransport$1;->run()V
+HSPLandroid/location/CountryDetector$ListenerTransport;->onCountryDetected(Landroid/location/Country;)V
+HSPLandroid/location/CountryDetector;->addCountryListener(Landroid/location/CountryListener;Landroid/os/Looper;)V
 HSPLandroid/location/CountryDetector;->detectCountry()Landroid/location/Country;
-HSPLandroid/location/Criteria$1;-><init>()V
-HSPLandroid/location/Criteria;-><init>()V
-HSPLandroid/location/Criteria;->getAccuracy()I
-HSPLandroid/location/Criteria;->setAccuracy(I)V
-HSPLandroid/location/Criteria;->setAltitudeRequired(Z)V
-HSPLandroid/location/Criteria;->setBearingAccuracy(I)V
-HSPLandroid/location/Criteria;->setCostAllowed(Z)V
-HSPLandroid/location/Criteria;->setPowerRequirement(I)V
-HSPLandroid/location/Criteria;->setSpeedAccuracy(I)V
-HSPLandroid/location/Criteria;->setSpeedRequired(Z)V
-HSPLandroid/location/Criteria;->setVerticalAccuracy(I)V
-HSPLandroid/location/Criteria;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/location/Geocoder;-><init>(Landroid/content/Context;)V
 HSPLandroid/location/Geocoder;-><init>(Landroid/content/Context;Ljava/util/Locale;)V
 HSPLandroid/location/Geocoder;->getFromLocation(DDI)Ljava/util/List;
 HSPLandroid/location/Geocoder;->isPresent()Z
 HSPLandroid/location/GeocoderParams$1;-><init>()V
 HSPLandroid/location/GeocoderParams;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/location/GpsSatellite;->getSnr()F
-HSPLandroid/location/GpsStatus$1;->iterator()Ljava/util/Iterator;
-HSPLandroid/location/GpsStatus$Listener;->onGpsStatusChanged(I)V
-HSPLandroid/location/GpsStatus$NmeaListener;->onNmeaReceived(JLjava/lang/String;)V
-HSPLandroid/location/GpsStatus$SatelliteIterator;->hasNext()Z
-HSPLandroid/location/GpsStatus$SatelliteIterator;->next()Landroid/location/GpsSatellite;
-HSPLandroid/location/GpsStatus$SatelliteIterator;->next()Ljava/lang/Object;
-HSPLandroid/location/GpsStatus;->getSatellites()Ljava/lang/Iterable;
-HSPLandroid/location/GpsStatus;->setStatus(I[I[F[F[F)V
-HSPLandroid/location/IBatchedLocationCallback;->onLocationBatch(Ljava/util/List;)V
+HSPLandroid/location/ICountryDetector$Stub$Proxy;->addCountryListener(Landroid/location/ICountryListener;)V
 HSPLandroid/location/ICountryDetector$Stub$Proxy;->detectCountry()Landroid/location/Country;
 HSPLandroid/location/ICountryDetector$Stub;-><init>()V
-HSPLandroid/location/ICountryDetector;->addCountryListener(Landroid/location/ICountryListener;)V
-HSPLandroid/location/ICountryDetector;->detectCountry()Landroid/location/Country;
-HSPLandroid/location/ICountryDetector;->removeCountryListener(Landroid/location/ICountryListener;)V
-HSPLandroid/location/IGnssMeasurementsListener;->onGnssMeasurementsReceived(Landroid/location/GnssMeasurementsEvent;)V
-HSPLandroid/location/IGnssMeasurementsListener;->onStatusChanged(I)V
-HSPLandroid/location/IGnssNavigationMessageListener;->onGnssNavigationMessageReceived(Landroid/location/GnssNavigationMessage;)V
-HSPLandroid/location/IGnssNavigationMessageListener;->onStatusChanged(I)V
+HSPLandroid/location/ICountryDetector$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/location/ICountryListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/location/ICountryListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/location/ICountryListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/location/IGeocodeProvider$Stub;-><init>()V
+HSPLandroid/location/IGeofenceProvider$Stub;-><init>()V
+HSPLandroid/location/IGeofenceProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/location/IGnssStatusListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/location/IGnssStatusListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/location/IGnssStatusListener;->onFirstFix(I)V
-HSPLandroid/location/IGnssStatusListener;->onGnssStarted()V
-HSPLandroid/location/IGnssStatusListener;->onGnssStopped()V
-HSPLandroid/location/IGnssStatusListener;->onNmeaReceived(JLjava/lang/String;)V
-HSPLandroid/location/IGnssStatusListener;->onSvStatusChanged(I[I[F[F[F[F)V
-HSPLandroid/location/IGnssStatusProvider$Stub;-><init>()V
-HSPLandroid/location/IGnssStatusProvider;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
-HSPLandroid/location/IGnssStatusProvider;->unregisterGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
 HSPLandroid/location/IGpsGeofenceHardware$Stub;-><init>()V
-HSPLandroid/location/IGpsGeofenceHardware;->addCircularHardwareGeofence(IDDDIIII)Z
-HSPLandroid/location/IGpsGeofenceHardware;->isHardwareGeofenceSupported()Z
-HSPLandroid/location/IGpsGeofenceHardware;->pauseHardwareGeofence(I)Z
-HSPLandroid/location/IGpsGeofenceHardware;->removeHardwareGeofence(I)Z
-HSPLandroid/location/IGpsGeofenceHardware;->resumeHardwareGeofence(II)Z
 HSPLandroid/location/ILocationListener$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/location/ILocationListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/location/ILocationListener;->onLocationChanged(Landroid/location/Location;)V
-HSPLandroid/location/ILocationListener;->onProviderDisabled(Ljava/lang/String;)V
-HSPLandroid/location/ILocationListener;->onProviderEnabled(Ljava/lang/String;)V
-HSPLandroid/location/ILocationListener;->onStatusChanged(Ljava/lang/String;ILandroid/os/Bundle;)V
 HSPLandroid/location/ILocationManager$Stub$Proxy;->geocoderIsPresent()Z
 HSPLandroid/location/ILocationManager$Stub$Proxy;->getAllProviders()Ljava/util/List;
-HSPLandroid/location/ILocationManager$Stub$Proxy;->getBestProvider(Landroid/location/Criteria;Z)Ljava/lang/String;
 HSPLandroid/location/ILocationManager$Stub$Proxy;->getFromLocation(DDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
-HSPLandroid/location/ILocationManager$Stub$Proxy;->getLastLocation(Landroid/location/LocationRequest;Ljava/lang/String;)Landroid/location/Location;
+HSPLandroid/location/ILocationManager$Stub$Proxy;->getLocationControllerExtraPackage()Ljava/lang/String;
+HSPLandroid/location/ILocationManager$Stub$Proxy;->getProviderProperties(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;
 HSPLandroid/location/ILocationManager$Stub$Proxy;->getProviders(Landroid/location/Criteria;Z)Ljava/util/List;
 HSPLandroid/location/ILocationManager$Stub$Proxy;->isLocationEnabledForUser(I)Z
 HSPLandroid/location/ILocationManager$Stub$Proxy;->isProviderEnabledForUser(Ljava/lang/String;I)Z
+HSPLandroid/location/ILocationManager$Stub$Proxy;->isProviderPackage(Ljava/lang/String;)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;->removeUpdates(Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
 HSPLandroid/location/ILocationManager$Stub$Proxy;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
-HSPLandroid/location/ILocationManager$Stub$Proxy;->unregisterGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
+HSPLandroid/location/ILocationManager$Stub$Proxy;->setLocationControllerExtraPackage(Ljava/lang/String;)V
+HSPLandroid/location/ILocationManager$Stub$Proxy;->setLocationControllerExtraPackageEnabled(Z)V
 HSPLandroid/location/ILocationManager$Stub;-><init>()V
 HSPLandroid/location/ILocationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/location/ILocationManager;
-HSPLandroid/location/ILocationManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/location/ILocationManager;->addGnssBatchingCallback(Landroid/location/IBatchedLocationCallback;Ljava/lang/String;)Z
-HSPLandroid/location/ILocationManager;->addGnssMeasurementsListener(Landroid/location/IGnssMeasurementsListener;Ljava/lang/String;)Z
-HSPLandroid/location/ILocationManager;->addGnssNavigationMessageListener(Landroid/location/IGnssNavigationMessageListener;Ljava/lang/String;)Z
-HSPLandroid/location/ILocationManager;->addTestProvider(Ljava/lang/String;Lcom/android/internal/location/ProviderProperties;Ljava/lang/String;)V
-HSPLandroid/location/ILocationManager;->clearTestProviderEnabled(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/location/ILocationManager;->clearTestProviderLocation(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/location/ILocationManager;->clearTestProviderStatus(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/location/ILocationManager;->flushGnssBatch(Ljava/lang/String;)V
-HSPLandroid/location/ILocationManager;->geocoderIsPresent()Z
-HSPLandroid/location/ILocationManager;->getAllProviders()Ljava/util/List;
-HSPLandroid/location/ILocationManager;->getBackgroundThrottlingWhitelist()[Ljava/lang/String;
-HSPLandroid/location/ILocationManager;->getBestProvider(Landroid/location/Criteria;Z)Ljava/lang/String;
-HSPLandroid/location/ILocationManager;->getFromLocation(DDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
-HSPLandroid/location/ILocationManager;->getFromLocationName(Ljava/lang/String;DDDDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
-HSPLandroid/location/ILocationManager;->getGnssBatchSize(Ljava/lang/String;)I
-HSPLandroid/location/ILocationManager;->getGnssHardwareModelName()Ljava/lang/String;
-HSPLandroid/location/ILocationManager;->getGnssYearOfHardware()I
-HSPLandroid/location/ILocationManager;->getLastLocation(Landroid/location/LocationRequest;Ljava/lang/String;)Landroid/location/Location;
-HSPLandroid/location/ILocationManager;->getNetworkProviderPackage()Ljava/lang/String;
-HSPLandroid/location/ILocationManager;->getProviderProperties(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;
-HSPLandroid/location/ILocationManager;->getProviders(Landroid/location/Criteria;Z)Ljava/util/List;
-HSPLandroid/location/ILocationManager;->injectLocation(Landroid/location/Location;)Z
-HSPLandroid/location/ILocationManager;->isLocationEnabledForUser(I)Z
-HSPLandroid/location/ILocationManager;->isProviderEnabledForUser(Ljava/lang/String;I)Z
-HSPLandroid/location/ILocationManager;->locationCallbackFinished(Landroid/location/ILocationListener;)V
-HSPLandroid/location/ILocationManager;->providerMeetsCriteria(Ljava/lang/String;Landroid/location/Criteria;)Z
-HSPLandroid/location/ILocationManager;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;Ljava/lang/String;)Z
-HSPLandroid/location/ILocationManager;->removeGeofence(Landroid/location/Geofence;Landroid/app/PendingIntent;Ljava/lang/String;)V
-HSPLandroid/location/ILocationManager;->removeGnssBatchingCallback()V
-HSPLandroid/location/ILocationManager;->removeGnssMeasurementsListener(Landroid/location/IGnssMeasurementsListener;)V
-HSPLandroid/location/ILocationManager;->removeGnssNavigationMessageListener(Landroid/location/IGnssNavigationMessageListener;)V
-HSPLandroid/location/ILocationManager;->removeTestProvider(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/location/ILocationManager;->removeUpdates(Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
-HSPLandroid/location/ILocationManager;->reportLocation(Landroid/location/Location;Z)V
-HSPLandroid/location/ILocationManager;->reportLocationBatch(Ljava/util/List;)V
-HSPLandroid/location/ILocationManager;->requestGeofence(Landroid/location/LocationRequest;Landroid/location/Geofence;Landroid/app/PendingIntent;Ljava/lang/String;)V
-HSPLandroid/location/ILocationManager;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
-HSPLandroid/location/ILocationManager;->sendExtraCommand(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)Z
-HSPLandroid/location/ILocationManager;->sendNiResponse(II)Z
-HSPLandroid/location/ILocationManager;->setLocationEnabledForUser(ZI)V
-HSPLandroid/location/ILocationManager;->setProviderEnabledForUser(Ljava/lang/String;ZI)Z
-HSPLandroid/location/ILocationManager;->setTestProviderEnabled(Ljava/lang/String;ZLjava/lang/String;)V
-HSPLandroid/location/ILocationManager;->setTestProviderLocation(Ljava/lang/String;Landroid/location/Location;Ljava/lang/String;)V
-HSPLandroid/location/ILocationManager;->setTestProviderStatus(Ljava/lang/String;ILandroid/os/Bundle;JLjava/lang/String;)V
-HSPLandroid/location/ILocationManager;->startGnssBatch(JZLjava/lang/String;)Z
-HSPLandroid/location/ILocationManager;->stopGnssBatch()Z
-HSPLandroid/location/ILocationManager;->unregisterGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
 HSPLandroid/location/INetInitiatedListener$Stub;-><init>()V
-HSPLandroid/location/INetInitiatedListener;->sendNiResponse(II)Z
 HSPLandroid/location/Location$1;-><init>()V
 HSPLandroid/location/Location$1;->initialValue()Landroid/location/Location$BearingDistanceCache;
 HSPLandroid/location/Location$1;->initialValue()Ljava/lang/Object;
@@ -24686,13 +21836,10 @@
 HSPLandroid/location/Location$BearingDistanceCache;->access$702(Landroid/location/Location$BearingDistanceCache;D)D
 HSPLandroid/location/Location;-><init>(Landroid/location/Location;)V
 HSPLandroid/location/Location;-><init>(Ljava/lang/String;)V
-HSPLandroid/location/Location;->bearingTo(Landroid/location/Location;)F
 HSPLandroid/location/Location;->computeDistanceAndBearing(DDDDLandroid/location/Location$BearingDistanceCache;)V
 HSPLandroid/location/Location;->distanceBetween(DDDD[F)V
-HSPLandroid/location/Location;->distanceTo(Landroid/location/Location;)F
 HSPLandroid/location/Location;->getAccuracy()F
 HSPLandroid/location/Location;->getAltitude()D
-HSPLandroid/location/Location;->getBearing()F
 HSPLandroid/location/Location;->getElapsedRealtimeNanos()J
 HSPLandroid/location/Location;->getExtras()Landroid/os/Bundle;
 HSPLandroid/location/Location;->getLatitude()D
@@ -24700,6 +21847,7 @@
 HSPLandroid/location/Location;->getProvider()Ljava/lang/String;
 HSPLandroid/location/Location;->getSpeed()F
 HSPLandroid/location/Location;->getTime()J
+HSPLandroid/location/Location;->getVerticalAccuracyMeters()F
 HSPLandroid/location/Location;->hasAccuracy()Z
 HSPLandroid/location/Location;->hasAltitude()Z
 HSPLandroid/location/Location;->hasBearing()Z
@@ -24711,104 +21859,87 @@
 HSPLandroid/location/Location;->set(Landroid/location/Location;)V
 HSPLandroid/location/Location;->setAccuracy(F)V
 HSPLandroid/location/Location;->setAltitude(D)V
-HSPLandroid/location/Location;->setBearing(F)V
 HSPLandroid/location/Location;->setElapsedRealtimeNanos(J)V
 HSPLandroid/location/Location;->setExtras(Landroid/os/Bundle;)V
 HSPLandroid/location/Location;->setLatitude(D)V
 HSPLandroid/location/Location;->setLongitude(D)V
+HSPLandroid/location/Location;->setProvider(Ljava/lang/String;)V
 HSPLandroid/location/Location;->setSpeed(F)V
 HSPLandroid/location/Location;->setTime(J)V
+HSPLandroid/location/Location;->setVerticalAccuracyMeters(F)V
 HSPLandroid/location/Location;->toString()Ljava/lang/String;
 HSPLandroid/location/Location;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/location/LocationListener;->onLocationChanged(Landroid/location/Location;)V
-HSPLandroid/location/LocationListener;->onProviderDisabled(Ljava/lang/String;)V
-HSPLandroid/location/LocationListener;->onProviderEnabled(Ljava/lang/String;)V
-HSPLandroid/location/LocationListener;->onStatusChanged(Ljava/lang/String;ILandroid/os/Bundle;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerTransport$1;->onSatelliteStatusChanged(Landroid/location/GnssStatus;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerTransport$1;->onStarted()V
-HSPLandroid/location/LocationManager$GnssStatusListenerTransport$2;->onNmeaMessage(Ljava/lang/String;J)V
-HSPLandroid/location/LocationManager$GnssStatusListenerTransport$GnssHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/location/LocationManager$GnssStatusListenerTransport;-><init>(Landroid/location/LocationManager;Landroid/location/GpsStatus$Listener;Landroid/os/Handler;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerTransport;-><init>(Landroid/location/LocationManager;Landroid/location/GpsStatus$NmeaListener;Landroid/os/Handler;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerTransport;->onFirstFix(I)V
-HSPLandroid/location/LocationManager$GnssStatusListenerTransport;->onGnssStarted()V
-HSPLandroid/location/LocationManager$GnssStatusListenerTransport;->onGnssStopped()V
-HSPLandroid/location/LocationManager$GnssStatusListenerTransport;->onNmeaReceived(JLjava/lang/String;)V
-HSPLandroid/location/LocationManager$GnssStatusListenerTransport;->onSvStatusChanged(I[I[F[F[F[F)V
-HSPLandroid/location/LocationManager$ListenerTransport$1;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/location/LocationManager$ListenerTransport$2;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/location/LocationManager$ListenerTransport;->_handleMessage(Landroid/os/Message;)V
+HSPLandroid/location/LocationManager$ListenerTransport;->locationCallbackFinished()V
 HSPLandroid/location/LocationManager$ListenerTransport;->onLocationChanged(Landroid/location/Location;)V
-HSPLandroid/location/LocationManager$ListenerTransport;->onProviderDisabled(Ljava/lang/String;)V
 HSPLandroid/location/LocationManager;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;)V
 HSPLandroid/location/LocationManager;->addGpsStatusListener(Landroid/location/GpsStatus$Listener;)Z
-HSPLandroid/location/LocationManager;->addNmeaListener(Landroid/location/GpsStatus$NmeaListener;)Z
 HSPLandroid/location/LocationManager;->checkPendingIntent(Landroid/app/PendingIntent;)V
 HSPLandroid/location/LocationManager;->getAllProviders()Ljava/util/List;
-HSPLandroid/location/LocationManager;->getBestProvider(Landroid/location/Criteria;Z)Ljava/lang/String;
-HSPLandroid/location/LocationManager;->getGpsStatus(Landroid/location/GpsStatus;)Landroid/location/GpsStatus;
-HSPLandroid/location/LocationManager;->getLastKnownLocation(Ljava/lang/String;)Landroid/location/Location;
+HSPLandroid/location/LocationManager;->getLocationControllerExtraPackage()Ljava/lang/String;
+HSPLandroid/location/LocationManager;->getProvider(Ljava/lang/String;)Landroid/location/LocationProvider;
 HSPLandroid/location/LocationManager;->getProviders(Z)Ljava/util/List;
 HSPLandroid/location/LocationManager;->isLocationEnabled()Z
 HSPLandroid/location/LocationManager;->isLocationEnabledForUser(Landroid/os/UserHandle;)Z
 HSPLandroid/location/LocationManager;->isProviderEnabled(Ljava/lang/String;)Z
 HSPLandroid/location/LocationManager;->isProviderEnabledForUser(Ljava/lang/String;Landroid/os/UserHandle;)Z
+HSPLandroid/location/LocationManager;->isProviderPackage(Ljava/lang/String;)Z
 HSPLandroid/location/LocationManager;->removeGpsStatusListener(Landroid/location/GpsStatus$Listener;)V
-HSPLandroid/location/LocationManager;->removeUpdates(Landroid/location/LocationListener;)V
-HSPLandroid/location/LocationManager;->requestLocationUpdates(JFLandroid/location/Criteria;Landroid/location/LocationListener;Landroid/os/Looper;)V
 HSPLandroid/location/LocationManager;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/LocationListener;Landroid/os/Looper;)V
 HSPLandroid/location/LocationManager;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/LocationListener;Landroid/os/Looper;Landroid/app/PendingIntent;)V
 HSPLandroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/app/PendingIntent;)V
 HSPLandroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;)V
-HSPLandroid/location/LocationManager;->requestLocationUpdates(Ljava/lang/String;JFLandroid/location/LocationListener;Landroid/os/Looper;)V
+HSPLandroid/location/LocationManager;->setLocationControllerExtraPackage(Ljava/lang/String;)V
+HSPLandroid/location/LocationManager;->setLocationControllerExtraPackageEnabled(Z)V
 HSPLandroid/location/LocationManager;->wrapListener(Landroid/location/LocationListener;Landroid/os/Looper;)Landroid/location/LocationManager$ListenerTransport;
+HSPLandroid/location/LocationProvider;-><init>(Ljava/lang/String;Lcom/android/internal/location/ProviderProperties;)V
 HSPLandroid/location/LocationRequest$1;-><init>()V
 HSPLandroid/location/LocationRequest;-><init>()V
 HSPLandroid/location/LocationRequest;-><init>(Landroid/location/LocationRequest;)V
 HSPLandroid/location/LocationRequest;->checkQuality(I)V
-HSPLandroid/location/LocationRequest;->createFromDeprecatedCriteria(Landroid/location/Criteria;JFZ)Landroid/location/LocationRequest;
 HSPLandroid/location/LocationRequest;->createFromDeprecatedProvider(Ljava/lang/String;JFZ)Landroid/location/LocationRequest;
+HSPLandroid/location/LocationRequest;->setFastestInterval(J)Landroid/location/LocationRequest;
+HSPLandroid/location/LocationRequest;->setHideFromAppOps(Z)V
+HSPLandroid/location/LocationRequest;->setInterval(J)Landroid/location/LocationRequest;
 HSPLandroid/location/LocationRequest;->setQuality(I)Landroid/location/LocationRequest;
+HSPLandroid/location/LocationRequest;->setWorkSource(Landroid/os/WorkSource;)V
 HSPLandroid/location/LocationRequest;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/location/OnNmeaMessageListener;->onNmeaMessage(Ljava/lang/String;J)V
+HSPLandroid/media/-$$Lambda$MediaCodecInfo$VideoCapabilities$DpgwEn-gVFZT9EtP3qcxpiA2G0M;-><init>()V
+HSPLandroid/media/-$$Lambda$MediaCodecInfo$VideoCapabilities$DpgwEn-gVFZT9EtP3qcxpiA2G0M;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLandroid/media/AudioAttributes$1;-><init>()V
 HSPLandroid/media/AudioAttributes$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/AudioAttributes;
 HSPLandroid/media/AudioAttributes$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/media/AudioAttributes$Builder;-><init>()V
 HSPLandroid/media/AudioAttributes$Builder;-><init>(Landroid/media/AudioAttributes;)V
+HSPLandroid/media/AudioAttributes$Builder;->addTag(Ljava/lang/String;)Landroid/media/AudioAttributes$Builder;
 HSPLandroid/media/AudioAttributes$Builder;->build()Landroid/media/AudioAttributes;
+HSPLandroid/media/AudioAttributes$Builder;->setCapturePreset(I)Landroid/media/AudioAttributes$Builder;
 HSPLandroid/media/AudioAttributes$Builder;->setContentType(I)Landroid/media/AudioAttributes$Builder;
 HSPLandroid/media/AudioAttributes$Builder;->setFlags(I)Landroid/media/AudioAttributes$Builder;
+HSPLandroid/media/AudioAttributes$Builder;->setInternalCapturePreset(I)Landroid/media/AudioAttributes$Builder;
 HSPLandroid/media/AudioAttributes$Builder;->setInternalLegacyStreamType(I)Landroid/media/AudioAttributes$Builder;
-HSPLandroid/media/AudioAttributes$Builder;->setLegacyStreamType(I)Landroid/media/AudioAttributes$Builder;
 HSPLandroid/media/AudioAttributes$Builder;->setUsage(I)Landroid/media/AudioAttributes$Builder;
 HSPLandroid/media/AudioAttributes;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/media/AudioAttributes;->contentTypeToString()Ljava/lang/String;
-HSPLandroid/media/AudioAttributes;->toString()Ljava/lang/String;
+HSPLandroid/media/AudioAttributes;->getUsage()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;->getChannelCounts()[I
-HSPLandroid/media/AudioDeviceInfo;->getEncodings()[I
-HSPLandroid/media/AudioDeviceInfo;->getId()I
 HSPLandroid/media/AudioDeviceInfo;->getProductName()Ljava/lang/CharSequence;
-HSPLandroid/media/AudioDeviceInfo;->getSampleRates()[I
 HSPLandroid/media/AudioDeviceInfo;->getType()I
-HSPLandroid/media/AudioDeviceInfo;->isSource()Z
 HSPLandroid/media/AudioDevicePort;-><init>(Landroid/media/AudioHandle;Ljava/lang/String;[I[I[I[I[Landroid/media/AudioGain;ILjava/lang/String;)V
 HSPLandroid/media/AudioDevicePort;->buildConfig(IIILandroid/media/AudioGainConfig;)Landroid/media/AudioDevicePortConfig;
 HSPLandroid/media/AudioDevicePort;->buildConfig(IIILandroid/media/AudioGainConfig;)Landroid/media/AudioPortConfig;
 HSPLandroid/media/AudioDevicePort;->type()I
 HSPLandroid/media/AudioDevicePortConfig;-><init>(Landroid/media/AudioDevicePort;IIILandroid/media/AudioGainConfig;)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;
-HSPLandroid/media/AudioFormat;->filterPublicFormats([I)[I
+HSPLandroid/media/AudioFormat;-><init>(IIIII)V
 HSPLandroid/media/AudioFormat;->getBytesPerSample(I)I
 HSPLandroid/media/AudioFormat;->isEncodingLinearFrames(I)Z
 HSPLandroid/media/AudioFormat;->isEncodingLinearPcm(I)Z
@@ -24817,66 +21948,35 @@
 HSPLandroid/media/AudioHandle;-><init>(I)V
 HSPLandroid/media/AudioHandle;->equals(Ljava/lang/Object;)Z
 HSPLandroid/media/AudioHandle;->id()I
-HSPLandroid/media/AudioManager$AudioPlaybackCallback;-><init>()V
 HSPLandroid/media/AudioManager$NativeEventHandlerDelegate$1;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/media/AudioManager$NativeEventHandlerDelegate;->getHandler()Landroid/os/Handler;
 HSPLandroid/media/AudioManager$OnAmPortUpdateListener;->onAudioPatchListUpdate([Landroid/media/AudioPatch;)V
 HSPLandroid/media/AudioManager$OnAmPortUpdateListener;->onAudioPortListUpdate([Landroid/media/AudioPort;)V
-HSPLandroid/media/AudioManager$OnAudioFocusChangeListener;->onAudioFocusChange(I)V
-HSPLandroid/media/AudioManager$OnAudioPortUpdateListener;->onAudioPatchListUpdate([Landroid/media/AudioPatch;)V
-HSPLandroid/media/AudioManager$OnAudioPortUpdateListener;->onAudioPortListUpdate([Landroid/media/AudioPort;)V
-HSPLandroid/media/AudioManager$OnAudioPortUpdateListener;->onServiceDied()V
 HSPLandroid/media/AudioManager$ServiceEventHandlerDelegate;-><init>(Landroid/media/AudioManager;Landroid/os/Handler;)V
 HSPLandroid/media/AudioManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/media/AudioManager;->broadcastDeviceListChange(Landroid/os/Handler;)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;->getIdForAudioFocusListener(Landroid/media/AudioManager$OnAudioFocusChangeListener;)Ljava/lang/String;
 HSPLandroid/media/AudioManager;->getMode()I
-HSPLandroid/media/AudioManager;->getProperty(Ljava/lang/String;)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;->hasPlaybackCallback_sync(Landroid/media/AudioManager$AudioPlaybackCallback;)Z
 HSPLandroid/media/AudioManager;->infoListFromPortList(Ljava/util/ArrayList;I)[Landroid/media/AudioDeviceInfo;
-HSPLandroid/media/AudioManager;->isBluetoothA2dpOn()Z
 HSPLandroid/media/AudioManager;->isBluetoothScoOn()Z
 HSPLandroid/media/AudioManager;->isMicrophoneMute()Z
 HSPLandroid/media/AudioManager;->isMusicActive()Z
 HSPLandroid/media/AudioManager;->isSpeakerphoneOn()Z
-HSPLandroid/media/AudioManager;->isStreamMute(I)Z
 HSPLandroid/media/AudioManager;->isVolumeFixed()Z
 HSPLandroid/media/AudioManager;->isWiredHeadsetOn()Z
 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;->registerAudioPlaybackCallback(Landroid/media/AudioManager$AudioPlaybackCallback;Landroid/os/Handler;)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;II)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
+HSPLandroid/media/AudioManager;->resetAudioPortGeneration()I
 HSPLandroid/media/AudioManager;->setParameter(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/media/AudioManager;->setParameters(Ljava/lang/String;)V
 HSPLandroid/media/AudioManager;->updateAudioPortCache(Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;)I
 HSPLandroid/media/AudioManager;->updatePortConfig(Landroid/media/AudioPortConfig;Ljava/util/ArrayList;)Landroid/media/AudioPortConfig;
-HSPLandroid/media/AudioManagerInternal$RingerModeDelegate;->canVolumeDownEnterSilent()Z
-HSPLandroid/media/AudioManagerInternal$RingerModeDelegate;->getRingerModeAffectedStreams(I)I
-HSPLandroid/media/AudioManagerInternal$RingerModeDelegate;->onSetRingerModeExternal(IILjava/lang/String;ILandroid/media/VolumePolicy;)I
-HSPLandroid/media/AudioManagerInternal$RingerModeDelegate;->onSetRingerModeInternal(IILjava/lang/String;ILandroid/media/VolumePolicy;)I
-HSPLandroid/media/AudioManagerInternal;->adjustStreamVolumeForUid(IIILjava/lang/String;I)V
-HSPLandroid/media/AudioManagerInternal;->adjustSuggestedStreamVolumeForUid(IIILjava/lang/String;I)V
-HSPLandroid/media/AudioManagerInternal;->getRingerModeInternal()I
-HSPLandroid/media/AudioManagerInternal;->setAccessibilityServiceUids(Landroid/util/IntArray;)V
-HSPLandroid/media/AudioManagerInternal;->setRingerModeDelegate(Landroid/media/AudioManagerInternal$RingerModeDelegate;)V
-HSPLandroid/media/AudioManagerInternal;->setRingerModeInternal(ILjava/lang/String;)V
-HSPLandroid/media/AudioManagerInternal;->setStreamVolumeForUid(IIILjava/lang/String;I)V
-HSPLandroid/media/AudioManagerInternal;->silenceRingerModeInternal(Ljava/lang/String;)V
-HSPLandroid/media/AudioManagerInternal;->updateRingerModeAffectedStreamsInternal()V
 HSPLandroid/media/AudioMixPort;-><init>(Landroid/media/AudioHandle;IILjava/lang/String;[I[I[I[I[Landroid/media/AudioGain;)V
 HSPLandroid/media/AudioMixPort;->buildConfig(IIILandroid/media/AudioGainConfig;)Landroid/media/AudioMixPortConfig;
 HSPLandroid/media/AudioMixPort;->buildConfig(IIILandroid/media/AudioGainConfig;)Landroid/media/AudioPortConfig;
@@ -24886,18 +21986,13 @@
 HSPLandroid/media/AudioPatch;->sources()[Landroid/media/AudioPortConfig;
 HSPLandroid/media/AudioPlaybackConfiguration$1;-><init>()V
 HSPLandroid/media/AudioPlaybackConfiguration$IPlayerShell;->monitorDeath()V
-HSPLandroid/media/AudioPlaybackConfiguration$PlayerDeathMonitor;->playerDeath(I)V
 HSPLandroid/media/AudioPlaybackConfiguration;-><init>(Landroid/media/PlayerBase$PlayerIdCard;III)V
 HSPLandroid/media/AudioPlaybackConfiguration;->init()V
 HSPLandroid/media/AudioPort;-><init>(Landroid/media/AudioHandle;ILjava/lang/String;[I[I[I[I[Landroid/media/AudioGain;)V
-HSPLandroid/media/AudioPort;->channelIndexMasks()[I
-HSPLandroid/media/AudioPort;->channelMasks()[I
-HSPLandroid/media/AudioPort;->formats()[I
 HSPLandroid/media/AudioPort;->handle()Landroid/media/AudioHandle;
 HSPLandroid/media/AudioPort;->id()I
 HSPLandroid/media/AudioPort;->name()Ljava/lang/String;
 HSPLandroid/media/AudioPort;->role()I
-HSPLandroid/media/AudioPort;->samplingRates()[I
 HSPLandroid/media/AudioPortConfig;-><init>(Landroid/media/AudioPort;IIILandroid/media/AudioGainConfig;)V
 HSPLandroid/media/AudioPortConfig;->channelMask()I
 HSPLandroid/media/AudioPortConfig;->format()I
@@ -24906,20 +22001,10 @@
 HSPLandroid/media/AudioPortConfig;->samplingRate()I
 HSPLandroid/media/AudioPortEventHandler$1;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/media/AudioPortEventHandler;-><init>()V
+HSPLandroid/media/AudioPortEventHandler;->handler()Landroid/os/Handler;
 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>(IIIII)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;->getMinBufferSize(III)I
-HSPLandroid/media/AudioRecord;->getRecordingState()I
-HSPLandroid/media/AudioRecord;->getState()I
-HSPLandroid/media/AudioRecord;->handleFullVolumeRec(Z)V
-HSPLandroid/media/AudioRecord;->read([BII)I
-HSPLandroid/media/AudioRecord;->read([BIII)I
-HSPLandroid/media/AudioRecord;->startRecording()V
 HSPLandroid/media/AudioRoutesInfo$1;-><init>()V
 HSPLandroid/media/AudioRoutesInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/AudioRoutesInfo;
 HSPLandroid/media/AudioRoutesInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -24927,17 +22012,13 @@
 HSPLandroid/media/AudioRoutesInfo;->toString()Ljava/lang/String;
 HSPLandroid/media/AudioRoutesInfo;->typeToString(I)Ljava/lang/String;
 HSPLandroid/media/AudioRoutesInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/media/AudioSystem$AudioRecordingCallback;->onRecordingConfigurationChanged(IIII[ILjava/lang/String;)V
-HSPLandroid/media/AudioSystem$DynamicPolicyCallback;->onDynamicPolicyMixStateUpdate(Ljava/lang/String;I)V
-HSPLandroid/media/AudioSystem$ErrorCallback;->onError(I)V
 HSPLandroid/media/AudioSystem;->getOutputDeviceName(I)Ljava/lang/String;
 HSPLandroid/media/AudioSystem;->getPlatformType(Landroid/content/Context;)I
 HSPLandroid/media/AudioSystem;->isSingleVolume(Landroid/content/Context;)Z
 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/AudioTimestamp;-><init>()V
-HSPLandroid/media/AudioTrack$OnPlaybackPositionUpdateListener;->onMarkerReached(Landroid/media/AudioTrack;)V
-HSPLandroid/media/AudioTrack$OnPlaybackPositionUpdateListener;->onPeriodicNotification(Landroid/media/AudioTrack;)V
 HSPLandroid/media/AudioTrack;-><init>(IIIIII)V
 HSPLandroid/media/AudioTrack;-><init>(IIIIIII)V
 HSPLandroid/media/AudioTrack;-><init>(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;IIIZ)V
@@ -24959,20 +22040,15 @@
 HSPLandroid/media/AudioTrack;->shouldEnablePowerSaving(Landroid/media/AudioAttributes;Landroid/media/AudioFormat;II)Z
 HSPLandroid/media/AudioTrack;->startImpl()V
 HSPLandroid/media/AudioTrack;->write(Ljava/nio/ByteBuffer;II)I
-HSPLandroid/media/BufferingParams$1;-><init>()V
 HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;-><init>(Ljava/io/InputStream;)V
-HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->peek()I
 HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->read()I
 HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->readByte()B
-HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->readFully([B)V
 HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->readInt()I
 HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->readShort()S
-HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedInt()J
 HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->readUnsignedShort()I
 HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->seek(J)V
 HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->setByteOrder(Ljava/nio/ByteOrder;)V
 HSPLandroid/media/ExifInterface$ByteOrderedDataInputStream;->skipBytes(I)I
-HSPLandroid/media/ExifInterface$ExifAttribute;-><init>(II[B)V
 HSPLandroid/media/ExifInterface$ExifAttribute;->createULong([JLjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
 HSPLandroid/media/ExifInterface$ExifAttribute;->createUShort([ILjava/nio/ByteOrder;)Landroid/media/ExifInterface$ExifAttribute;
 HSPLandroid/media/ExifInterface$ExifAttribute;->getIntValue(Ljava/nio/ByteOrder;)I
@@ -24981,152 +22057,39 @@
 HSPLandroid/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;IIILandroid/media/ExifInterface$1;)V
 HSPLandroid/media/ExifInterface$ExifTag;-><init>(Ljava/lang/String;IILandroid/media/ExifInterface$1;)V
 HSPLandroid/media/ExifInterface;-><init>(Ljava/io/InputStream;)V
-HSPLandroid/media/ExifInterface;-><init>(Ljava/lang/String;)V
 HSPLandroid/media/ExifInterface;->addDefaultValuesForCompatibility()V
-HSPLandroid/media/ExifInterface;->convertRationalLatLonToFloat(Ljava/lang/String;Ljava/lang/String;)F
 HSPLandroid/media/ExifInterface;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/media/ExifInterface;->getAttributeInt(Ljava/lang/String;I)I
 HSPLandroid/media/ExifInterface;->getJpegAttributes(Landroid/media/ExifInterface$ByteOrderedDataInputStream;II)V
-HSPLandroid/media/ExifInterface;->getLatLong([F)Z
 HSPLandroid/media/ExifInterface;->getMimeType(Ljava/io/BufferedInputStream;)I
 HSPLandroid/media/ExifInterface;->handleThumbnailFromJfif(Landroid/media/ExifInterface$ByteOrderedDataInputStream;Ljava/util/HashMap;)V
 HSPLandroid/media/ExifInterface;->isHeifFormat([B)Z
 HSPLandroid/media/ExifInterface;->isOrfFormat([B)Z
-HSPLandroid/media/ExifInterface;->isSeekableFD(Ljava/io/FileDescriptor;)Z
 HSPLandroid/media/ExifInterface;->loadAttributes(Ljava/io/InputStream;)V
-HSPLandroid/media/ExifInterface;->parseTiffHeaders(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
 HSPLandroid/media/ExifInterface;->readByteOrder(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)Ljava/nio/ByteOrder;
-HSPLandroid/media/ExifInterface;->readImageFileDirectory(Landroid/media/ExifInterface$ByteOrderedDataInputStream;I)V
 HSPLandroid/media/ExifInterface;->setThumbnailData(Landroid/media/ExifInterface$ByteOrderedDataInputStream;)V
-HSPLandroid/media/IAudioFocusDispatcher$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/IAudioFocusDispatcher;->dispatchAudioFocusChange(ILjava/lang/String;)V
-HSPLandroid/media/IAudioFocusDispatcher;->dispatchFocusResultFromExtPolicy(ILjava/lang/String;)V
 HSPLandroid/media/IAudioRoutesObserver$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/media/IAudioRoutesObserver$Stub;-><init>()V
 HSPLandroid/media/IAudioRoutesObserver$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/media/IAudioRoutesObserver$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IAudioRoutesObserver;
-HSPLandroid/media/IAudioRoutesObserver;->dispatchAudioRoutesChanged(Landroid/media/AudioRoutesInfo;)V
-HSPLandroid/media/IAudioServerStateDispatcher;->dispatchAudioServerStateChange(Z)V
 HSPLandroid/media/IAudioService$Stub$Proxy;->getMode()I
 HSPLandroid/media/IAudioService$Stub$Proxy;->getRingerModeExternal()I
 HSPLandroid/media/IAudioService$Stub$Proxy;->getRingerModeInternal()I
-HSPLandroid/media/IAudioService$Stub$Proxy;->getRingtonePlayer()Landroid/media/IRingtonePlayer;
 HSPLandroid/media/IAudioService$Stub$Proxy;->getStreamMaxVolume(I)I
 HSPLandroid/media/IAudioService$Stub$Proxy;->getStreamVolume(I)I
 HSPLandroid/media/IAudioService$Stub$Proxy;->isBluetoothA2dpOn()Z
 HSPLandroid/media/IAudioService$Stub$Proxy;->isBluetoothScoOn()Z
 HSPLandroid/media/IAudioService$Stub$Proxy;->isCameraSoundForced()Z
 HSPLandroid/media/IAudioService$Stub$Proxy;->isSpeakerphoneOn()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;->registerPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)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;
 HSPLandroid/media/IAudioService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/IAudioService;->abandonAudioFocus(Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Landroid/media/AudioAttributes;Ljava/lang/String;)I
-HSPLandroid/media/IAudioService;->addMixForPolicy(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/audiopolicy/IAudioPolicyCallback;)I
-HSPLandroid/media/IAudioService;->adjustStreamVolume(IIILjava/lang/String;)V
-HSPLandroid/media/IAudioService;->adjustSuggestedStreamVolume(IIILjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/media/IAudioService;->avrcpSupportsAbsoluteVolume(Ljava/lang/String;Z)V
-HSPLandroid/media/IAudioService;->disableRingtoneSync(I)V
-HSPLandroid/media/IAudioService;->disableSafeMediaVolume(Ljava/lang/String;)V
-HSPLandroid/media/IAudioService;->dispatchFocusChange(Landroid/media/AudioFocusInfo;ILandroid/media/audiopolicy/IAudioPolicyCallback;)I
-HSPLandroid/media/IAudioService;->forceRemoteSubmixFullVolume(ZLandroid/os/IBinder;)V
-HSPLandroid/media/IAudioService;->forceVolumeControlStream(ILandroid/os/IBinder;)V
-HSPLandroid/media/IAudioService;->getActivePlaybackConfigurations()Ljava/util/List;
-HSPLandroid/media/IAudioService;->getActiveRecordingConfigurations()Ljava/util/List;
-HSPLandroid/media/IAudioService;->getCurrentAudioFocus()I
-HSPLandroid/media/IAudioService;->getFocusRampTimeMs(ILandroid/media/AudioAttributes;)I
-HSPLandroid/media/IAudioService;->getLastAudibleStreamVolume(I)I
-HSPLandroid/media/IAudioService;->getMode()I
-HSPLandroid/media/IAudioService;->getRingerModeExternal()I
-HSPLandroid/media/IAudioService;->getRingerModeInternal()I
-HSPLandroid/media/IAudioService;->getRingtonePlayer()Landroid/media/IRingtonePlayer;
-HSPLandroid/media/IAudioService;->getStreamMaxVolume(I)I
-HSPLandroid/media/IAudioService;->getStreamMinVolume(I)I
-HSPLandroid/media/IAudioService;->getStreamVolume(I)I
-HSPLandroid/media/IAudioService;->getUiSoundsStreamType()I
-HSPLandroid/media/IAudioService;->getVibrateSetting(I)I
-HSPLandroid/media/IAudioService;->handleBluetoothA2dpDeviceConfigChange(Landroid/bluetooth/BluetoothDevice;)V
-HSPLandroid/media/IAudioService;->isAudioServerRunning()Z
-HSPLandroid/media/IAudioService;->isBluetoothA2dpOn()Z
-HSPLandroid/media/IAudioService;->isBluetoothScoOn()Z
-HSPLandroid/media/IAudioService;->isCameraSoundForced()Z
-HSPLandroid/media/IAudioService;->isHdmiSystemAudioSupported()Z
-HSPLandroid/media/IAudioService;->isMasterMute()Z
-HSPLandroid/media/IAudioService;->isSpeakerphoneOn()Z
-HSPLandroid/media/IAudioService;->isStreamAffectedByMute(I)Z
-HSPLandroid/media/IAudioService;->isStreamAffectedByRingerMode(I)Z
-HSPLandroid/media/IAudioService;->isStreamMute(I)Z
-HSPLandroid/media/IAudioService;->isValidRingerMode(I)Z
-HSPLandroid/media/IAudioService;->loadSoundEffects()Z
-HSPLandroid/media/IAudioService;->notifyVolumeControllerVisible(Landroid/media/IVolumeController;Z)V
-HSPLandroid/media/IAudioService;->playSoundEffect(I)V
-HSPLandroid/media/IAudioService;->playSoundEffectVolume(IF)V
-HSPLandroid/media/IAudioService;->playerAttributes(ILandroid/media/AudioAttributes;)V
-HSPLandroid/media/IAudioService;->playerEvent(II)V
-HSPLandroid/media/IAudioService;->playerHasOpPlayAudio(IZ)V
-HSPLandroid/media/IAudioService;->registerAudioPolicy(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/audiopolicy/IAudioPolicyCallback;ZZZ)Ljava/lang/String;
-HSPLandroid/media/IAudioService;->registerAudioServerStateDispatcher(Landroid/media/IAudioServerStateDispatcher;)V
-HSPLandroid/media/IAudioService;->registerPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)V
-HSPLandroid/media/IAudioService;->registerRecordingCallback(Landroid/media/IRecordingConfigDispatcher;)V
-HSPLandroid/media/IAudioService;->releasePlayer(I)V
-HSPLandroid/media/IAudioService;->reloadAudioSettings()V
-HSPLandroid/media/IAudioService;->removeMixForPolicy(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/audiopolicy/IAudioPolicyCallback;)I
-HSPLandroid/media/IAudioService;->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;->setBluetoothA2dpDeviceConnectionState(Landroid/bluetooth/BluetoothDevice;II)I
-HSPLandroid/media/IAudioService;->setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(Landroid/bluetooth/BluetoothDevice;IIZ)I
-HSPLandroid/media/IAudioService;->setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(Landroid/bluetooth/BluetoothDevice;IIZI)I
-HSPLandroid/media/IAudioService;->setBluetoothA2dpOn(Z)V
-HSPLandroid/media/IAudioService;->setBluetoothScoOn(Z)V
-HSPLandroid/media/IAudioService;->setFocusPropertiesForPolicy(ILandroid/media/audiopolicy/IAudioPolicyCallback;)I
-HSPLandroid/media/IAudioService;->setFocusRequestResultFromExtPolicy(Landroid/media/AudioFocusInfo;ILandroid/media/audiopolicy/IAudioPolicyCallback;)V
-HSPLandroid/media/IAudioService;->setHdmiSystemAudioSupported(Z)I
-HSPLandroid/media/IAudioService;->setHearingAidDeviceConnectionState(Landroid/bluetooth/BluetoothDevice;I)V
-HSPLandroid/media/IAudioService;->setMasterMute(ZILjava/lang/String;I)V
-HSPLandroid/media/IAudioService;->setMicrophoneMute(ZLjava/lang/String;I)V
-HSPLandroid/media/IAudioService;->setMode(ILandroid/os/IBinder;Ljava/lang/String;)V
-HSPLandroid/media/IAudioService;->setRingerModeExternal(ILjava/lang/String;)V
-HSPLandroid/media/IAudioService;->setRingerModeInternal(ILjava/lang/String;)V
-HSPLandroid/media/IAudioService;->setRingtonePlayer(Landroid/media/IRingtonePlayer;)V
-HSPLandroid/media/IAudioService;->setSpeakerphoneOn(Z)V
-HSPLandroid/media/IAudioService;->setStreamVolume(IIILjava/lang/String;)V
-HSPLandroid/media/IAudioService;->setVibrateSetting(II)V
-HSPLandroid/media/IAudioService;->setVolumeController(Landroid/media/IVolumeController;)V
-HSPLandroid/media/IAudioService;->setVolumePolicy(Landroid/media/VolumePolicy;)V
-HSPLandroid/media/IAudioService;->setWiredDeviceConnectionState(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/media/IAudioService;->shouldVibrate(I)Z
-HSPLandroid/media/IAudioService;->startBluetoothSco(Landroid/os/IBinder;I)V
-HSPLandroid/media/IAudioService;->startBluetoothScoVirtualCall(Landroid/os/IBinder;)V
-HSPLandroid/media/IAudioService;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
-HSPLandroid/media/IAudioService;->stopBluetoothSco(Landroid/os/IBinder;)V
-HSPLandroid/media/IAudioService;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I
-HSPLandroid/media/IAudioService;->unloadSoundEffects()V
-HSPLandroid/media/IAudioService;->unregisterAudioFocusClient(Ljava/lang/String;)V
-HSPLandroid/media/IAudioService;->unregisterAudioPolicyAsync(Landroid/media/audiopolicy/IAudioPolicyCallback;)V
-HSPLandroid/media/IAudioService;->unregisterAudioServerStateDispatcher(Landroid/media/IAudioServerStateDispatcher;)V
-HSPLandroid/media/IAudioService;->unregisterPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)V
-HSPLandroid/media/IAudioService;->unregisterRecordingCallback(Landroid/media/IRecordingConfigDispatcher;)V
-HSPLandroid/media/IMediaHTTPConnection;->connect(Ljava/lang/String;Ljava/lang/String;)Landroid/os/IBinder;
-HSPLandroid/media/IMediaHTTPConnection;->disconnect()V
-HSPLandroid/media/IMediaHTTPConnection;->getMIMEType()Ljava/lang/String;
-HSPLandroid/media/IMediaHTTPConnection;->getSize()J
-HSPLandroid/media/IMediaHTTPConnection;->getUri()Ljava/lang/String;
-HSPLandroid/media/IMediaHTTPConnection;->readAt(JI)I
 HSPLandroid/media/IMediaResourceMonitor$Stub;-><init>()V
-HSPLandroid/media/IMediaResourceMonitor;->notifyResourceGranted(II)V
 HSPLandroid/media/IMediaRouterClient$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/media/IMediaRouterClient$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/IMediaRouterClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/IMediaRouterClient;->onRestoreRoute()V
-HSPLandroid/media/IMediaRouterClient;->onStateChanged()V
 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
@@ -25134,63 +22097,19 @@
 HSPLandroid/media/IMediaRouterService$Stub$Proxy;->setSelectedRoute(Landroid/media/IMediaRouterClient;Ljava/lang/String;Z)V
 HSPLandroid/media/IMediaRouterService$Stub;-><init>()V
 HSPLandroid/media/IMediaRouterService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/IMediaRouterService;->getState(Landroid/media/IMediaRouterClient;)Landroid/media/MediaRouterClientState;
-HSPLandroid/media/IMediaRouterService;->isPlaybackActive(Landroid/media/IMediaRouterClient;)Z
-HSPLandroid/media/IMediaRouterService;->registerClientAsUser(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
-HSPLandroid/media/IMediaRouterService;->requestSetVolume(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
-HSPLandroid/media/IMediaRouterService;->requestUpdateVolume(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
-HSPLandroid/media/IMediaRouterService;->setDiscoveryRequest(Landroid/media/IMediaRouterClient;IZ)V
-HSPLandroid/media/IMediaRouterService;->setSelectedRoute(Landroid/media/IMediaRouterClient;Ljava/lang/String;Z)V
-HSPLandroid/media/IMediaRouterService;->unregisterClient(Landroid/media/IMediaRouterClient;)V
-HSPLandroid/media/IMediaScannerService$Stub;-><init>()V
-HSPLandroid/media/IMediaScannerService;->requestScanFile(Ljava/lang/String;Ljava/lang/String;Landroid/media/IMediaScannerListener;)V
-HSPLandroid/media/IMediaScannerService;->scanFile(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/media/IPlaybackConfigDispatcher$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/media/IPlaybackConfigDispatcher$Stub;-><init>()V
 HSPLandroid/media/IPlaybackConfigDispatcher$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/media/IPlaybackConfigDispatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IPlaybackConfigDispatcher;
-HSPLandroid/media/IPlaybackConfigDispatcher;->dispatchPlaybackConfigChange(Ljava/util/List;Z)V
 HSPLandroid/media/IPlayer$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/media/IPlayer$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/IPlayer;->applyVolumeShaper(Landroid/media/VolumeShaper$Configuration;Landroid/media/VolumeShaper$Operation;)V
-HSPLandroid/media/IPlayer;->pause()V
-HSPLandroid/media/IPlayer;->setPan(F)V
-HSPLandroid/media/IPlayer;->setStartDelayMs(I)V
-HSPLandroid/media/IPlayer;->setVolume(F)V
-HSPLandroid/media/IPlayer;->start()V
-HSPLandroid/media/IPlayer;->stop()V
-HSPLandroid/media/IRecordingConfigDispatcher;->dispatchRecordingConfigChange(Ljava/util/List;)V
-HSPLandroid/media/IRemoteVolumeController$Stub$Proxy;->updateRemoteController(Landroid/media/session/ISessionController;)V
-HSPLandroid/media/IRemoteVolumeController;->remoteVolumeChanged(Landroid/media/session/ISessionController;I)V
-HSPLandroid/media/IRemoteVolumeController;->updateRemoteController(Landroid/media/session/ISessionController;)V
-HSPLandroid/media/IRemoteVolumeObserver;->dispatchRemoteVolumeUpdate(II)V
+HSPLandroid/media/IRemoteVolumeController$Stub$Proxy;->updateRemoteController(Landroid/media/session/MediaSession$Token;)V
 HSPLandroid/media/IRingtonePlayer$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IRingtonePlayer;
-HSPLandroid/media/IRingtonePlayer;->getTitle(Landroid/net/Uri;)Ljava/lang/String;
-HSPLandroid/media/IRingtonePlayer;->isPlaying(Landroid/os/IBinder;)Z
-HSPLandroid/media/IRingtonePlayer;->openRingtone(Landroid/net/Uri;)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/media/IRingtonePlayer;->play(Landroid/os/IBinder;Landroid/net/Uri;Landroid/media/AudioAttributes;FZ)V
-HSPLandroid/media/IRingtonePlayer;->playAsync(Landroid/net/Uri;Landroid/os/UserHandle;ZLandroid/media/AudioAttributes;)V
-HSPLandroid/media/IRingtonePlayer;->setPlaybackProperties(Landroid/os/IBinder;FZ)V
-HSPLandroid/media/IRingtonePlayer;->stop(Landroid/os/IBinder;)V
-HSPLandroid/media/IRingtonePlayer;->stopAsync()V
 HSPLandroid/media/IVolumeController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/media/IVolumeController$Stub$Proxy;->setLayoutDirection(I)V
 HSPLandroid/media/IVolumeController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IVolumeController;
-HSPLandroid/media/IVolumeController;->dismiss()V
-HSPLandroid/media/IVolumeController;->displaySafeVolumeWarning(I)V
-HSPLandroid/media/IVolumeController;->masterMuteChanged(I)V
-HSPLandroid/media/IVolumeController;->setA11yMode(I)V
-HSPLandroid/media/IVolumeController;->setLayoutDirection(I)V
-HSPLandroid/media/IVolumeController;->volumeChanged(II)V
-HSPLandroid/media/Image$Plane;->getBuffer()Ljava/nio/ByteBuffer;
-HSPLandroid/media/Image$Plane;->getPixelStride()I
-HSPLandroid/media/Image$Plane;->getRowStride()I
 HSPLandroid/media/MediaCodec$BufferInfo;-><init>()V
 HSPLandroid/media/MediaCodec$BufferInfo;->set(IIJI)V
-HSPLandroid/media/MediaCodec$BufferMap$CodecBuffer;->free()V
-HSPLandroid/media/MediaCodec$BufferMap$CodecBuffer;->setByteBuffer(Ljava/nio/ByteBuffer;)V
-HSPLandroid/media/MediaCodec$BufferMap;->clear()V
-HSPLandroid/media/MediaCodec$BufferMap;->put(ILjava/nio/ByteBuffer;)V
 HSPLandroid/media/MediaCodec$BufferMap;->remove(I)V
 HSPLandroid/media/MediaCodec$CryptoInfo$Pattern;-><init>(II)V
 HSPLandroid/media/MediaCodec$CryptoInfo;-><init>()V
@@ -25201,18 +22120,15 @@
 HSPLandroid/media/MediaCodec;->createByCodecName(Ljava/lang/String;)Landroid/media/MediaCodec;
 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;->getInputBuffer(I)Ljava/nio/ByteBuffer;
 HSPLandroid/media/MediaCodec;->getInputBuffers()[Ljava/nio/ByteBuffer;
 HSPLandroid/media/MediaCodec;->getOutputBuffers()[Ljava/nio/ByteBuffer;
 HSPLandroid/media/MediaCodec;->getOutputFormat()Landroid/media/MediaFormat;
+HSPLandroid/media/MediaCodec;->lockAndGetContext()J
 HSPLandroid/media/MediaCodec;->queueInputBuffer(IIIJI)V
-HSPLandroid/media/MediaCodec;->release()V
 HSPLandroid/media/MediaCodec;->releaseOutputBuffer(IJ)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
@@ -25221,71 +22137,54 @@
 HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->limitSampleRates([I)V
 HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->limitSampleRates([Landroid/util/Range;)V
 HSPLandroid/media/MediaCodecInfo$AudioCapabilities;->parseFromInfo(Landroid/media/MediaFormat;)V
-HSPLandroid/media/MediaCodecInfo$CodecCapabilities;-><init>([Landroid/media/MediaCodecInfo$CodecProfileLevel;[IZILandroid/media/MediaFormat;Landroid/media/MediaFormat;)V
-HSPLandroid/media/MediaCodecInfo$CodecCapabilities;-><init>([Landroid/media/MediaCodecInfo$CodecProfileLevel;[IZILjava/util/Map;Ljava/util/Map;)V
+HSPLandroid/media/MediaCodecInfo$CodecCapabilities;-><init>([Landroid/media/MediaCodecInfo$CodecProfileLevel;[IZLandroid/media/MediaFormat;Landroid/media/MediaFormat;)V
+HSPLandroid/media/MediaCodecInfo$CodecCapabilities;-><init>([Landroid/media/MediaCodecInfo$CodecProfileLevel;[IZLjava/util/Map;Ljava/util/Map;)V
 HSPLandroid/media/MediaCodecInfo$CodecCapabilities;->dup()Landroid/media/MediaCodecInfo$CodecCapabilities;
 HSPLandroid/media/MediaCodecInfo$CodecCapabilities;->getMimeType()Ljava/lang/String;
-HSPLandroid/media/MediaCodecInfo$CodecCapabilities;->getVideoCapabilities()Landroid/media/MediaCodecInfo$VideoCapabilities;
 HSPLandroid/media/MediaCodecInfo$CodecCapabilities;->isFeatureSupported(Ljava/lang/String;)Z
 HSPLandroid/media/MediaCodecInfo$EncoderCapabilities;->applyLevelLimits()V
 HSPLandroid/media/MediaCodecInfo$EncoderCapabilities;->getDefaultFormat(Landroid/media/MediaFormat;)V
-HSPLandroid/media/MediaCodecInfo$EncoderCapabilities;->init(Landroid/media/MediaFormat;Landroid/media/MediaCodecInfo$CodecCapabilities;)V
 HSPLandroid/media/MediaCodecInfo$EncoderCapabilities;->parseFromInfo(Landroid/media/MediaFormat;)V
 HSPLandroid/media/MediaCodecInfo$Feature;-><init>(Ljava/lang/String;IZ)V
+HSPLandroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;-><init>(III)V
 HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->applyAlignment(II)V
 HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->applyBlockLimits(IILandroid/util/Range;Landroid/util/Range;Landroid/util/Range;)V
 HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->applyLevelLimits()V
 HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->applyMacroBlockLimits(IIIIIJIIII)V
 HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->applyMacroBlockLimits(IIIJIIII)V
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->areSizeAndRateSupported(IID)Z
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->equivalentVP9Level(Landroid/media/MediaFormat;)I
 HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->getMeasuredFrameRates(Ljava/util/Map;)Ljava/util/Map;
+HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->getPerformancePoints(Ljava/util/Map;)Ljava/util/Vector;
 HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->initWithPlatformLimits()V
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->isSizeSupported(II)Z
 HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->parseFromInfo(Landroid/media/MediaFormat;)V
 HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->parseWidthHeightRanges(Ljava/lang/Object;)Landroid/util/Pair;
-HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->supports(Ljava/lang/Integer;Ljava/lang/Integer;Ljava/lang/Number;)Z
-# HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->updateLimits()V b/76145463
-HSPLandroid/media/MediaCodecInfo;-><init>(Ljava/lang/String;Z[Landroid/media/MediaCodecInfo$CodecCapabilities;)V
-HSPLandroid/media/MediaCodecInfo;->access$200()Landroid/util/Range;
-HSPLandroid/media/MediaCodecInfo;->access$300()Landroid/util/Range;
-HSPLandroid/media/MediaCodecInfo;->access$400()Landroid/util/Range;
-HSPLandroid/media/MediaCodecInfo;->access$500()Landroid/util/Range;
-HSPLandroid/media/MediaCodecInfo;->access$700(ILjava/lang/String;)I
+HSPLandroid/media/MediaCodecInfo$VideoCapabilities;->updateLimits()V
+HSPLandroid/media/MediaCodecInfo;-><init>(Ljava/lang/String;Ljava/lang/String;I[Landroid/media/MediaCodecInfo$CodecCapabilities;)V
+HSPLandroid/media/MediaCodecInfo;->checkPowerOfTwo(ILjava/lang/String;)I
 HSPLandroid/media/MediaCodecInfo;->getCapabilitiesForType(Ljava/lang/String;)Landroid/media/MediaCodecInfo$CodecCapabilities;
 HSPLandroid/media/MediaCodecInfo;->getName()Ljava/lang/String;
 HSPLandroid/media/MediaCodecInfo;->getSupportedTypes()[Ljava/lang/String;
 HSPLandroid/media/MediaCodecInfo;->isEncoder()Z
 HSPLandroid/media/MediaCodecInfo;->makeRegular()Landroid/media/MediaCodecInfo;
 HSPLandroid/media/MediaCodecList;-><init>(I)V
-HSPLandroid/media/MediaCodecList;->getCodecCount()I
-HSPLandroid/media/MediaCodecList;->getCodecInfoAt(I)Landroid/media/MediaCodecInfo;
 HSPLandroid/media/MediaCodecList;->getCodecInfos()[Landroid/media/MediaCodecInfo;
 HSPLandroid/media/MediaCodecList;->getGlobalSettings()Ljava/util/Map;
 HSPLandroid/media/MediaCodecList;->getNewCodecInfoAt(I)Landroid/media/MediaCodecInfo;
 HSPLandroid/media/MediaCodecList;->initCodecList()V
-HSPLandroid/media/MediaDrm$CryptoSession;->decrypt([B[B[B)[B
-HSPLandroid/media/MediaDrm$CryptoSession;->encrypt([B[B[B)[B
-HSPLandroid/media/MediaDrm$CryptoSession;->sign([B[B)[B
-HSPLandroid/media/MediaDrm$CryptoSession;->verify([B[B[B)Z
-HSPLandroid/media/MediaDrm$EventHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/media/MediaDrm$KeyRequest;->getData()[B
-HSPLandroid/media/MediaDrm$OnEventListener;->onEvent(Landroid/media/MediaDrm;[BII[B)V
+HSPLandroid/media/MediaDescription$1;-><init>()V
+HSPLandroid/media/MediaDescription;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/graphics/Bitmap;Landroid/net/Uri;Landroid/os/Bundle;Landroid/net/Uri;)V
+HSPLandroid/media/MediaDescription;->toString()Ljava/lang/String;
 HSPLandroid/media/MediaDrm;-><init>(Ljava/util/UUID;)V
 HSPLandroid/media/MediaDrm;->finalize()V
 HSPLandroid/media/MediaDrm;->getByteArrayFromUUID(Ljava/util/UUID;)[B
-HSPLandroid/media/MediaDrm;->getCryptoSession([BLjava/lang/String;Ljava/lang/String;)Landroid/media/MediaDrm$CryptoSession;
 HSPLandroid/media/MediaDrm;->getMaxSecurityLevel()I
-HSPLandroid/media/MediaDrm;->isCryptoSchemeSupported(Ljava/util/UUID;)Z
 HSPLandroid/media/MediaDrm;->openSession()[B
-HSPLandroid/media/MediaDrm;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
 HSPLandroid/media/MediaDrm;->release()V
-HSPLandroid/media/MediaDrm;->setOnEventListener(Landroid/media/MediaDrm$OnEventListener;)V
-HSPLandroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/media/MediaFile;->addFileType(Ljava/lang/String;ILjava/lang/String;IZ)V
-HSPLandroid/media/MediaFile;->getFileType(Ljava/lang/String;)Landroid/media/MediaFile$MediaFileType;
-HSPLandroid/media/MediaFile;->isWMAEnabled()Z
-HSPLandroid/media/MediaFile;->isWMVEnabled()Z
+HSPLandroid/media/MediaFile;->addFileType(ILjava/lang/String;)V
+HSPLandroid/media/MediaFile;->getMimeTypeForFile(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/media/MediaFile;->isAudioMimeType(Ljava/lang/String;)Z
+HSPLandroid/media/MediaFile;->isDrmMimeType(Ljava/lang/String;)Z
+HSPLandroid/media/MediaFile;->isImageMimeType(Ljava/lang/String;)Z
+HSPLandroid/media/MediaFile;->isVideoMimeType(Ljava/lang/String;)Z
 HSPLandroid/media/MediaFormat;-><init>()V
 HSPLandroid/media/MediaFormat;->containsKey(Ljava/lang/String;)Z
 HSPLandroid/media/MediaFormat;->getInteger(Ljava/lang/String;)I
@@ -25294,81 +22193,17 @@
 HSPLandroid/media/MediaFormat;->setInteger(Ljava/lang/String;I)V
 HSPLandroid/media/MediaFormat;->setLong(Ljava/lang/String;J)V
 HSPLandroid/media/MediaFormat;->setString(Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/media/MediaInserter;->flushAll()V
+HSPLandroid/media/MediaInserter;->flushAllPriority()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;
-HSPLandroid/media/MediaMetadata$Builder;-><init>()V
 HSPLandroid/media/MediaMetadata$Builder;-><init>(Landroid/media/MediaMetadata;I)V
-HSPLandroid/media/MediaMetadata$Builder;->build()Landroid/media/MediaMetadata;
-HSPLandroid/media/MediaMetadata$Builder;->putLong(Ljava/lang/String;J)Landroid/media/MediaMetadata$Builder;
-HSPLandroid/media/MediaMetadata$Builder;->putString(Ljava/lang/String;Ljava/lang/String;)Landroid/media/MediaMetadata$Builder;
-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
-HSPLandroid/media/MediaPlayer$7;->onCompletion(Landroid/media/MediaPlayer;)V
-HSPLandroid/media/MediaPlayer$EventHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/media/MediaPlayer$OnBufferingUpdateListener;->onBufferingUpdate(Landroid/media/MediaPlayer;I)V
-HSPLandroid/media/MediaPlayer$OnCompletionListener;->onCompletion(Landroid/media/MediaPlayer;)V
-HSPLandroid/media/MediaPlayer$OnErrorListener;->onError(Landroid/media/MediaPlayer;II)Z
-HSPLandroid/media/MediaPlayer$OnInfoListener;->onInfo(Landroid/media/MediaPlayer;II)Z
-HSPLandroid/media/MediaPlayer$OnPreparedListener;->onPrepared(Landroid/media/MediaPlayer;)V
-HSPLandroid/media/MediaPlayer$OnSeekCompleteListener;->onSeekComplete(Landroid/media/MediaPlayer;)V
-HSPLandroid/media/MediaPlayer$OnSubtitleDataListener;->onSubtitleData(Landroid/media/MediaPlayer;Landroid/media/SubtitleData;)V
-HSPLandroid/media/MediaPlayer$OnVideoSizeChangedListener;->onVideoSizeChanged(Landroid/media/MediaPlayer;II)V
-HSPLandroid/media/MediaPlayer$TimeProvider$EventHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/media/MediaPlayer$TimeProvider;-><init>(Landroid/media/MediaPlayer;)V
-HSPLandroid/media/MediaPlayer$TimeProvider;->close()V
-HSPLandroid/media/MediaPlayer$TimeProvider;->finalize()V
-HSPLandroid/media/MediaPlayer$TimeProvider;->getCurrentTimeUs(ZZ)J
-HSPLandroid/media/MediaPlayer$TimeProvider;->notifySeek()V
-HSPLandroid/media/MediaPlayer$TimeProvider;->onPaused(Z)V
-HSPLandroid/media/MediaPlayer$TimeProvider;->scheduleNotification(IJ)V
-HSPLandroid/media/MediaPlayer$TrackInfo$1;-><init>()V
-HSPLandroid/media/MediaPlayer$TrackInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/MediaPlayer$TrackInfo;
-HSPLandroid/media/MediaPlayer$TrackInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/media/MediaPlayer$TrackInfo$1;->newArray(I)[Landroid/media/MediaPlayer$TrackInfo;
-HSPLandroid/media/MediaPlayer$TrackInfo$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/media/MediaPlayer$TrackInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/media/MediaPlayer$TrackInfo;->getTrackType()I
-HSPLandroid/media/MediaPlayer;-><init>()V
-HSPLandroid/media/MediaPlayer;->attemptDataSource(Landroid/content/ContentResolver;Landroid/net/Uri;)Z
-HSPLandroid/media/MediaPlayer;->cleanDrmObj()V
-HSPLandroid/media/MediaPlayer;->create(Landroid/content/Context;I)Landroid/media/MediaPlayer;
-HSPLandroid/media/MediaPlayer;->create(Landroid/content/Context;ILandroid/media/AudioAttributes;I)Landroid/media/MediaPlayer;
-HSPLandroid/media/MediaPlayer;->finalize()V
-HSPLandroid/media/MediaPlayer;->getInbandTrackInfo()[Landroid/media/MediaPlayer$TrackInfo;
-HSPLandroid/media/MediaPlayer;->invoke(Landroid/os/Parcel;Landroid/os/Parcel;)V
-HSPLandroid/media/MediaPlayer;->playerSetAuxEffectSendLevel(ZF)I
-HSPLandroid/media/MediaPlayer;->playerSetVolume(ZFF)V
-HSPLandroid/media/MediaPlayer;->populateInbandTracks()V
-HSPLandroid/media/MediaPlayer;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
-HSPLandroid/media/MediaPlayer;->prepare()V
-HSPLandroid/media/MediaPlayer;->release()V
-HSPLandroid/media/MediaPlayer;->reset()V
-HSPLandroid/media/MediaPlayer;->resetDrmState()V
-HSPLandroid/media/MediaPlayer;->setAudioAttributes(Landroid/media/AudioAttributes;)V
-HSPLandroid/media/MediaPlayer;->setDataSource(Landroid/content/Context;Landroid/net/Uri;)V
-HSPLandroid/media/MediaPlayer;->setDataSource(Landroid/content/Context;Landroid/net/Uri;Ljava/util/Map;Ljava/util/List;)V
-HSPLandroid/media/MediaPlayer;->setDataSource(Landroid/content/res/AssetFileDescriptor;)V
-HSPLandroid/media/MediaPlayer;->setDataSource(Ljava/io/FileDescriptor;)V
-HSPLandroid/media/MediaPlayer;->setDataSource(Ljava/io/FileDescriptor;JJ)V
-HSPLandroid/media/MediaPlayer;->setOnCompletionListener(Landroid/media/MediaPlayer$OnCompletionListener;)V
-HSPLandroid/media/MediaPlayer;->setOnErrorListener(Landroid/media/MediaPlayer$OnErrorListener;)V
-HSPLandroid/media/MediaPlayer;->setOnPreparedListener(Landroid/media/MediaPlayer$OnPreparedListener;)V
-HSPLandroid/media/MediaPlayer;->setSubtitleAnchor()V
-HSPLandroid/media/MediaPlayer;->setVolume(F)V
-HSPLandroid/media/MediaPlayer;->setVolume(FF)V
-HSPLandroid/media/MediaPlayer;->start()V
-HSPLandroid/media/MediaPlayer;->stayAwake(Z)V
+HSPLandroid/media/MediaMetadata;->getBitmap(Ljava/lang/String;)Landroid/graphics/Bitmap;
+HSPLandroid/media/MediaMetadata;->getDescription()Landroid/media/MediaDescription;
+HSPLandroid/media/MediaParceledListSlice$2;-><init>()V
+HSPLandroid/media/MediaParceledListSlice;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/media/MediaRouter$Callback;-><init>()V
-HSPLandroid/media/MediaRouter$Callback;->onRouteAdded(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V
-HSPLandroid/media/MediaRouter$Callback;->onRouteChanged(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V
-HSPLandroid/media/MediaRouter$Callback;->onRouteGrouped(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;I)V
-HSPLandroid/media/MediaRouter$Callback;->onRouteRemoved(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V
-HSPLandroid/media/MediaRouter$Callback;->onRouteSelected(Landroid/media/MediaRouter;ILandroid/media/MediaRouter$RouteInfo;)V
-HSPLandroid/media/MediaRouter$Callback;->onRouteUngrouped(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;Landroid/media/MediaRouter$RouteGroup;)V
-HSPLandroid/media/MediaRouter$Callback;->onRouteUnselected(Landroid/media/MediaRouter;ILandroid/media/MediaRouter$RouteInfo;)V
-HSPLandroid/media/MediaRouter$Callback;->onRouteVolumeChanged(Landroid/media/MediaRouter;Landroid/media/MediaRouter$RouteInfo;)V
 HSPLandroid/media/MediaRouter$CallbackInfo;->filterRouteEvent(I)Z
 HSPLandroid/media/MediaRouter$CallbackInfo;->filterRouteEvent(Landroid/media/MediaRouter$RouteInfo;)Z
 HSPLandroid/media/MediaRouter$RouteCategory;->getName()Ljava/lang/CharSequence;
@@ -25398,16 +22233,14 @@
 HSPLandroid/media/MediaRouter$RouteInfo;->matchesTypes(I)Z
 HSPLandroid/media/MediaRouter$RouteInfo;->resolveStatusCode()Z
 HSPLandroid/media/MediaRouter$RouteInfo;->routeUpdated()V
-HSPLandroid/media/MediaRouter$RouteInfo;->select()V
 HSPLandroid/media/MediaRouter$RouteInfo;->setTag(Ljava/lang/Object;)V
 HSPLandroid/media/MediaRouter$RouteInfo;->toString()Ljava/lang/String;
 HSPLandroid/media/MediaRouter$RouteInfo;->updatePresentationDisplay()Z
-HSPLandroid/media/MediaRouter$Static$Client$2;->run()V
-HSPLandroid/media/MediaRouter$Static$Client;->onRestoreRoute()V
 HSPLandroid/media/MediaRouter$Static;-><init>(Landroid/content/Context;)V
 HSPLandroid/media/MediaRouter$Static;->getAllPresentationDisplays()[Landroid/view/Display;
 HSPLandroid/media/MediaRouter$Static;->isBluetoothA2dpOn()Z
 HSPLandroid/media/MediaRouter$Static;->isPlaybackActive()Z
+HSPLandroid/media/MediaRouter$Static;->onDisplayChanged(I)V
 HSPLandroid/media/MediaRouter$Static;->publishClientDiscoveryRequest()V
 HSPLandroid/media/MediaRouter$Static;->publishClientSelectedRoute(Z)V
 HSPLandroid/media/MediaRouter$Static;->rebindAsUser(I)V
@@ -25416,6 +22249,7 @@
 HSPLandroid/media/MediaRouter$Static;->updateAudioRoutes(Landroid/media/AudioRoutesInfo;)V
 HSPLandroid/media/MediaRouter$Static;->updateClientState()V
 HSPLandroid/media/MediaRouter$Static;->updateDiscoveryRequest()V
+HSPLandroid/media/MediaRouter$Static;->updatePresentationDisplays(I)V
 HSPLandroid/media/MediaRouter$UserRouteInfo;->configureSessionVolume()V
 HSPLandroid/media/MediaRouter$UserRouteInfo;->setDescription(Ljava/lang/CharSequence;)V
 HSPLandroid/media/MediaRouter$UserRouteInfo;->setName(Ljava/lang/CharSequence;)V
@@ -25426,8 +22260,6 @@
 HSPLandroid/media/MediaRouter$UserRouteInfo;->setVolumeHandling(I)V
 HSPLandroid/media/MediaRouter$UserRouteInfo;->setVolumeMax(I)V
 HSPLandroid/media/MediaRouter$VolumeCallback;-><init>()V
-HSPLandroid/media/MediaRouter$VolumeCallback;->onVolumeSetRequest(Landroid/media/MediaRouter$RouteInfo;I)V
-HSPLandroid/media/MediaRouter$VolumeCallback;->onVolumeUpdateRequest(Landroid/media/MediaRouter$RouteInfo;I)V
 HSPLandroid/media/MediaRouter$VolumeChangeReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLandroid/media/MediaRouter;-><init>(Landroid/content/Context;)V
 HSPLandroid/media/MediaRouter;->addCallback(ILandroid/media/MediaRouter$Callback;I)V
@@ -25437,6 +22269,7 @@
 HSPLandroid/media/MediaRouter;->createUserRoute(Landroid/media/MediaRouter$RouteCategory;)Landroid/media/MediaRouter$UserRouteInfo;
 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;->dispatchRouteVolumeChanged(Landroid/media/MediaRouter$RouteInfo;)V
 HSPLandroid/media/MediaRouter;->getDefaultRoute()Landroid/media/MediaRouter$RouteInfo;
@@ -25444,6 +22277,8 @@
 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;->removeUserRoute(Landroid/media/MediaRouter$UserRouteInfo;)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
@@ -25456,27 +22291,32 @@
 HSPLandroid/media/MediaScanner$MediaBulkDeleter;->flush()V
 HSPLandroid/media/MediaScanner$MyMediaScannerClient;->beginFile(Ljava/lang/String;Ljava/lang/String;JJZZ)Landroid/media/MediaScanner$FileEntry;
 HSPLandroid/media/MediaScanner$MyMediaScannerClient;->doScanFile(Ljava/lang/String;Ljava/lang/String;JJZZZ)Landroid/net/Uri;
+HSPLandroid/media/MediaScanner$MyMediaScannerClient;->endFile(Landroid/media/MediaScanner$FileEntry;ZZZZZZ)Landroid/net/Uri;
+HSPLandroid/media/MediaScanner$MyMediaScannerClient;->handleStringTag(Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/media/MediaScanner$MyMediaScannerClient;->parseSubstring(Ljava/lang/String;II)I
 HSPLandroid/media/MediaScanner$MyMediaScannerClient;->scanFile(Ljava/lang/String;JJZZ)V
+HSPLandroid/media/MediaScanner$MyMediaScannerClient;->setMimeType(Ljava/lang/String;)V
+HSPLandroid/media/MediaScanner$MyMediaScannerClient;->toValues()Landroid/content/ContentValues;
 HSPLandroid/media/MediaScanner;-><init>(Landroid/content/Context;Ljava/lang/String;)V
 HSPLandroid/media/MediaScanner;->access$000(Ljava/lang/String;)Z
 HSPLandroid/media/MediaScanner;->access$100(Landroid/media/MediaScanner;)Z
+HSPLandroid/media/MediaScanner;->access$1100(Ljava/lang/String;)Z
+HSPLandroid/media/MediaScanner;->access$1200()Ljava/lang/String;
+HSPLandroid/media/MediaScanner;->access$1300(Landroid/media/MediaScanner;Ljava/lang/String;Ljava/lang/String;Landroid/media/MediaScannerClient;)Z
 HSPLandroid/media/MediaScanner;->access$200(Landroid/media/MediaScanner;)Z
+HSPLandroid/media/MediaScanner;->access$400(Landroid/media/MediaScanner;)I
+HSPLandroid/media/MediaScanner;->access$500(Landroid/media/MediaScanner;)Z
+HSPLandroid/media/MediaScanner;->access$700(Landroid/media/MediaScanner;)Z
+HSPLandroid/media/MediaScanner;->access$900(Landroid/media/MediaScanner;)Z
+HSPLandroid/media/MediaScanner;->close()V
+HSPLandroid/media/MediaScanner;->finalize()V
 HSPLandroid/media/MediaScanner;->isNoMediaFile(Ljava/lang/String;)Z
 HSPLandroid/media/MediaScanner;->isSystemSoundWithMetadata(Ljava/lang/String;)Z
 HSPLandroid/media/MediaScanner;->makeEntryFor(Ljava/lang/String;)Landroid/media/MediaScanner$FileEntry;
 HSPLandroid/media/MediaScanner;->prescan(Ljava/lang/String;Z)V
 HSPLandroid/media/MediaScanner;->scanDirectories([Ljava/lang/String;)V
+HSPLandroid/media/MediaScanner;->scanSingleFile(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
 HSPLandroid/media/MediaScanner;->wasRingtoneAlreadySet(Ljava/lang/String;)Z
-HSPLandroid/media/MediaScannerClient;->handleStringTag(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/media/MediaScannerClient;->scanFile(Ljava/lang/String;JJZZ)V
-HSPLandroid/media/MediaScannerClient;->setMimeType(Ljava/lang/String;)V
-HSPLandroid/media/MediaScannerConnection$MediaScannerConnectionClient;->onMediaScannerConnected()V
-HSPLandroid/media/MediaScannerConnection$MediaScannerConnectionClient;->onScanCompleted(Ljava/lang/String;Landroid/net/Uri;)V
-HSPLandroid/media/MediaScannerConnection$OnScanCompletedListener;->onScanCompleted(Ljava/lang/String;Landroid/net/Uri;)V
-HSPLandroid/media/MediaTimeProvider;->cancelNotifications(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)V
-HSPLandroid/media/MediaTimeProvider;->getCurrentTimeUs(ZZ)J
-HSPLandroid/media/MediaTimeProvider;->notifyAt(JLandroid/media/MediaTimeProvider$OnMediaTimeListener;)V
-HSPLandroid/media/MediaTimeProvider;->scheduleUpdate(Landroid/media/MediaTimeProvider$OnMediaTimeListener;)V
 HSPLandroid/media/MediaTimestamp;-><init>(JJF)V
 HSPLandroid/media/MicrophoneInfo$Coordinate3F;-><init>(FFF)V
 HSPLandroid/media/PlaybackParams$1;-><init>()V
@@ -25488,61 +22328,26 @@
 HSPLandroid/media/PlayerBase$PlayerIdCard;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/media/PlayerBase;-><init>(Landroid/media/AudioAttributes;I)V
 HSPLandroid/media/PlayerBase;->baseRegisterPlayer()V
-HSPLandroid/media/PlayerBase;->baseRelease()V
 HSPLandroid/media/PlayerBase;->baseSetVolume(FF)V
 HSPLandroid/media/PlayerBase;->baseStart()V
-HSPLandroid/media/PlayerBase;->baseStop()V
-HSPLandroid/media/PlayerBase;->baseUpdateAudioAttributes(Landroid/media/AudioAttributes;)V
 HSPLandroid/media/PlayerBase;->deprecateStreamTypeForPlayback(ILjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/media/PlayerBase;->getStartDelayMs()I
 HSPLandroid/media/PlayerBase;->isRestricted_sync()Z
 HSPLandroid/media/PlayerBase;->updateAppOpsPlayAudio()V
 HSPLandroid/media/PlayerBase;->updateAppOpsPlayAudio_sync(Z)V
 HSPLandroid/media/PlayerBase;->updateState(I)V
-HSPLandroid/media/Ringtone;-><init>(Landroid/content/Context;Z)V
-HSPLandroid/media/Ringtone;->applyPlaybackProperties_sync()V
-HSPLandroid/media/Ringtone;->destroyLocalPlayer()V
-HSPLandroid/media/Ringtone;->finalize()V
-HSPLandroid/media/Ringtone;->getTitle(Landroid/content/Context;)Ljava/lang/String;
-HSPLandroid/media/Ringtone;->getTitle(Landroid/content/Context;Landroid/net/Uri;ZZ)Ljava/lang/String;
-HSPLandroid/media/Ringtone;->setUri(Landroid/net/Uri;)V
-HSPLandroid/media/RingtoneManager;-><init>(Landroid/content/Context;)V
-HSPLandroid/media/RingtoneManager;->constructBooleanTrueWhereClause(Ljava/util/List;)Ljava/lang/String;
-HSPLandroid/media/RingtoneManager;->getActualDefaultRingtoneUri(Landroid/content/Context;I)Landroid/net/Uri;
-HSPLandroid/media/RingtoneManager;->getCacheForType(II)Landroid/net/Uri;
-HSPLandroid/media/RingtoneManager;->getCursor()Landroid/database/Cursor;
-HSPLandroid/media/RingtoneManager;->getDefaultType(Landroid/net/Uri;)I
 HSPLandroid/media/RingtoneManager;->getDefaultUri(I)Landroid/net/Uri;
-HSPLandroid/media/RingtoneManager;->getMediaRingtones(Landroid/content/Context;)Landroid/database/Cursor;
-HSPLandroid/media/RingtoneManager;->getRingtone(Landroid/content/Context;Landroid/net/Uri;)Landroid/media/Ringtone;
-HSPLandroid/media/RingtoneManager;->getRingtone(Landroid/content/Context;Landroid/net/Uri;I)Landroid/media/Ringtone;
-HSPLandroid/media/RingtoneManager;->getRingtoneUri(I)Landroid/net/Uri;
-HSPLandroid/media/RingtoneManager;->setFilterColumnsList(I)V
-HSPLandroid/media/RingtoneManager;->setType(I)V
 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$OnLoadCompleteListener;->onLoadComplete(Landroid/media/SoundPool;II)V
-HSPLandroid/media/SoundPool;-><init>(III)V
 HSPLandroid/media/SoundPool;-><init>(ILandroid/media/AudioAttributes;)V
-HSPLandroid/media/SoundPool;->load(Landroid/content/Context;II)I
 HSPLandroid/media/SoundPool;->load(Ljava/lang/String;I)I
-HSPLandroid/media/SoundPool;->playerSetAuxEffectSendLevel(ZF)I
-HSPLandroid/media/SoundPool;->playerSetVolume(ZFF)V
 HSPLandroid/media/SoundPool;->postEventFromNative(Ljava/lang/Object;IIILjava/lang/Object;)V
 HSPLandroid/media/SoundPool;->setOnLoadCompleteListener(Landroid/media/SoundPool$OnLoadCompleteListener;)V
-HSPLandroid/media/SubtitleController$1;->handleMessage(Landroid/os/Message;)Z
-HSPLandroid/media/SubtitleController$Anchor;->getSubtitleLooper()Landroid/os/Looper;
-HSPLandroid/media/SubtitleController$Anchor;->setSubtitleWidget(Landroid/media/SubtitleTrack$RenderingWidget;)V
-HSPLandroid/media/SubtitleController$Listener;->onSubtitleTrackSelected(Landroid/media/SubtitleTrack;)V
-HSPLandroid/media/SubtitleController;-><init>(Landroid/content/Context;Landroid/media/MediaTimeProvider;Landroid/media/SubtitleController$Listener;)V
-HSPLandroid/media/SubtitleController;->doSelectDefaultTrack()V
-HSPLandroid/media/SubtitleController;->finalize()V
-HSPLandroid/media/SubtitleController;->getDefaultTrack()Landroid/media/SubtitleTrack;
-HSPLandroid/media/SubtitleController;->selectDefaultTrack()V
-HSPLandroid/media/SubtitleController;->setAnchor(Landroid/media/SubtitleController$Anchor;)V
+HSPLandroid/media/ThumbnailUtils;->extractThumbnail(Landroid/graphics/Bitmap;II)Landroid/graphics/Bitmap;
+HSPLandroid/media/ThumbnailUtils;->extractThumbnail(Landroid/graphics/Bitmap;III)Landroid/graphics/Bitmap;
+HSPLandroid/media/ThumbnailUtils;->transform(Landroid/graphics/Matrix;Landroid/graphics/Bitmap;III)Landroid/graphics/Bitmap;
 HSPLandroid/media/ToneGenerator;-><init>(II)V
-HSPLandroid/media/ToneGenerator;->finalize()V
 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
@@ -25582,279 +22387,123 @@
 HSPLandroid/media/VolumeShaper$Operation$Builder;->reverse()Landroid/media/VolumeShaper$Operation$Builder;
 HSPLandroid/media/VolumeShaper$Operation$Builder;->setXOffset(F)Landroid/media/VolumeShaper$Operation$Builder;
 HSPLandroid/media/VolumeShaper$State$1;-><init>()V
-HSPLandroid/media/audiofx/AudioEffect$Descriptor;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/media/audiofx/AudioEffect;->queryEffects()[Landroid/media/audiofx/AudioEffect$Descriptor;
-HSPLandroid/media/browse/MediaBrowser$1;->run()V
-HSPLandroid/media/browse/MediaBrowser$ConnectionCallback;-><init>()V
-HSPLandroid/media/browse/MediaBrowser;-><init>(Landroid/content/Context;Landroid/content/ComponentName;Landroid/media/browse/MediaBrowser$ConnectionCallback;Landroid/os/Bundle;)V
-HSPLandroid/media/browse/MediaBrowser;->connect()V
+HSPLandroid/media/audiopolicy/AudioProductStrategies$1;-><init>()V
+HSPLandroid/media/audiopolicy/AudioProductStrategies;-><init>()V
+HSPLandroid/media/audiopolicy/AudioProductStrategy$1;-><init>()V
+HSPLandroid/media/audiopolicy/AudioProductStrategy$AudioAttributesGroup$1;-><init>()V
+HSPLandroid/media/audiopolicy/AudioProductStrategy$AudioAttributesGroup;-><init>(II[Landroid/media/AudioAttributes;)V
+HSPLandroid/media/audiopolicy/AudioProductStrategy;-><init>(Ljava/lang/String;I[Landroid/media/audiopolicy/AudioProductStrategy$AudioAttributesGroup;)V
+HSPLandroid/media/audiopolicy/AudioVolumeGroup$1;-><init>()V
+HSPLandroid/media/audiopolicy/AudioVolumeGroup;-><init>(Ljava/lang/String;I[Landroid/media/AudioAttributes;[I)V
+HSPLandroid/media/audiopolicy/AudioVolumeGroupChangeHandler;-><init>()V
+HSPLandroid/media/audiopolicy/AudioVolumeGroups$1;-><init>()V
+HSPLandroid/media/audiopolicy/AudioVolumeGroups;-><init>()V
+HSPLandroid/media/browse/MediaBrowser$MediaItem$1;-><init>()V
 HSPLandroid/media/browse/MediaBrowserUtils;->areSameOptions(Landroid/os/Bundle;Landroid/os/Bundle;)Z
-HSPLandroid/media/browse/MediaBrowserUtils;->hasDuplicatedItems(Landroid/os/Bundle;Landroid/os/Bundle;)Z
 HSPLandroid/media/midi/IMidiManager$Stub;-><init>()V
-HSPLandroid/media/midi/IMidiManager;->closeDevice(Landroid/os/IBinder;Landroid/os/IBinder;)V
-HSPLandroid/media/midi/IMidiManager;->getDeviceStatus(Landroid/media/midi/MidiDeviceInfo;)Landroid/media/midi/MidiDeviceStatus;
-HSPLandroid/media/midi/IMidiManager;->getDevices()[Landroid/media/midi/MidiDeviceInfo;
-HSPLandroid/media/midi/IMidiManager;->getServiceDeviceInfo(Ljava/lang/String;Ljava/lang/String;)Landroid/media/midi/MidiDeviceInfo;
-HSPLandroid/media/midi/IMidiManager;->openBluetoothDevice(Landroid/os/IBinder;Landroid/bluetooth/BluetoothDevice;Landroid/media/midi/IMidiDeviceOpenCallback;)V
-HSPLandroid/media/midi/IMidiManager;->openDevice(Landroid/os/IBinder;Landroid/media/midi/MidiDeviceInfo;Landroid/media/midi/IMidiDeviceOpenCallback;)V
-HSPLandroid/media/midi/IMidiManager;->registerDeviceServer(Landroid/media/midi/IMidiDeviceServer;II[Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;I)Landroid/media/midi/MidiDeviceInfo;
-HSPLandroid/media/midi/IMidiManager;->registerListener(Landroid/os/IBinder;Landroid/media/midi/IMidiDeviceListener;)V
-HSPLandroid/media/midi/IMidiManager;->setDeviceStatus(Landroid/media/midi/IMidiDeviceServer;Landroid/media/midi/MidiDeviceStatus;)V
-HSPLandroid/media/midi/IMidiManager;->unregisterDeviceServer(Landroid/media/midi/IMidiDeviceServer;)V
-HSPLandroid/media/midi/IMidiManager;->unregisterListener(Landroid/os/IBinder;Landroid/media/midi/IMidiDeviceListener;)V
+HSPLandroid/media/midi/MidiDeviceInfo$1;-><init>()V
 HSPLandroid/media/projection/IMediaProjectionManager$Stub;-><init>()V
 HSPLandroid/media/projection/IMediaProjectionManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/projection/IMediaProjectionManager;->addCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
-HSPLandroid/media/projection/IMediaProjectionManager;->createProjection(ILjava/lang/String;IZ)Landroid/media/projection/IMediaProjection;
-HSPLandroid/media/projection/IMediaProjectionManager;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
-HSPLandroid/media/projection/IMediaProjectionManager;->hasProjectionPermission(ILjava/lang/String;)Z
-HSPLandroid/media/projection/IMediaProjectionManager;->isValidMediaProjection(Landroid/media/projection/IMediaProjection;)Z
-HSPLandroid/media/projection/IMediaProjectionManager;->removeCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
-HSPLandroid/media/projection/IMediaProjectionManager;->stopActiveProjection()V
 HSPLandroid/media/projection/IMediaProjectionWatcherCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/projection/IMediaProjectionWatcherCallback;->onStart(Landroid/media/projection/MediaProjectionInfo;)V
-HSPLandroid/media/projection/IMediaProjectionWatcherCallback;->onStop(Landroid/media/projection/MediaProjectionInfo;)V
+HSPLandroid/media/session/ControllerCallbackLink$1;-><init>()V
+HSPLandroid/media/session/ControllerLink$1;-><init>()V
+HSPLandroid/media/session/ControllerLink$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/session/ControllerLink;
+HSPLandroid/media/session/ControllerLink$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/media/session/ControllerLink;-><init>(Landroid/media/session/ControllerLink$ControllerStub;)V
 HSPLandroid/media/session/IActiveSessionsListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/media/session/IActiveSessionsListener$Stub$Proxy;->onActiveSessionsChanged(Ljava/util/List;)V
 HSPLandroid/media/session/IActiveSessionsListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/session/IActiveSessionsListener;->onActiveSessionsChanged(Ljava/util/List;)V
-HSPLandroid/media/session/ICallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/session/ICallback$Stub$Proxy;->onAddressedPlayerChangedToMediaButtonReceiver(Landroid/content/ComponentName;)V
 HSPLandroid/media/session/ICallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/session/ICallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/session/ICallback;->onAddressedPlayerChangedToMediaButtonReceiver(Landroid/content/ComponentName;)V
-HSPLandroid/media/session/ICallback;->onAddressedPlayerChangedToMediaSession(Landroid/media/session/MediaSession$Token;)V
-HSPLandroid/media/session/ICallback;->onMediaKeyEventDispatchedToMediaButtonReceiver(Landroid/view/KeyEvent;Landroid/content/ComponentName;)V
-HSPLandroid/media/session/ICallback;->onMediaKeyEventDispatchedToMediaSession(Landroid/view/KeyEvent;Landroid/media/session/MediaSession$Token;)V
-HSPLandroid/media/session/ISession$Stub$Proxy;->destroy()V
-HSPLandroid/media/session/ISession$Stub$Proxy;->getController()Landroid/media/session/ISessionController;
+HSPLandroid/media/session/ISession$Stub$Proxy;->getController()Landroid/media/session/ControllerLink;
 HSPLandroid/media/session/ISession$Stub$Proxy;->setActive(Z)V
-HSPLandroid/media/session/ISession$Stub$Proxy;->setExtras(Landroid/os/Bundle;)V
 HSPLandroid/media/session/ISession$Stub$Proxy;->setFlags(I)V
 HSPLandroid/media/session/ISession$Stub$Proxy;->setLaunchPendingIntent(Landroid/app/PendingIntent;)V
 HSPLandroid/media/session/ISession$Stub$Proxy;->setMediaButtonReceiver(Landroid/app/PendingIntent;)V
-HSPLandroid/media/session/ISession$Stub$Proxy;->setMetadata(Landroid/media/MediaMetadata;)V
+HSPLandroid/media/session/ISession$Stub$Proxy;->setMetadata(Landroid/media/MediaMetadata;JLjava/lang/String;)V
 HSPLandroid/media/session/ISession$Stub$Proxy;->setPlaybackState(Landroid/media/session/PlaybackState;)V
-HSPLandroid/media/session/ISession$Stub$Proxy;->setPlaybackToLocal(Landroid/media/AudioAttributes;)V
-HSPLandroid/media/session/ISession$Stub$Proxy;->setQueueTitle(Ljava/lang/CharSequence;)V
 HSPLandroid/media/session/ISession$Stub$Proxy;->setRatingType(I)V
-HSPLandroid/media/session/ISession$Stub;-><init>()V
-HSPLandroid/media/session/ISession;->destroy()V
-HSPLandroid/media/session/ISession;->getController()Landroid/media/session/ISessionController;
-HSPLandroid/media/session/ISession;->sendEvent(Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISession;->setActive(Z)V
-HSPLandroid/media/session/ISession;->setCurrentVolume(I)V
-HSPLandroid/media/session/ISession;->setExtras(Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISession;->setFlags(I)V
-HSPLandroid/media/session/ISession;->setLaunchPendingIntent(Landroid/app/PendingIntent;)V
-HSPLandroid/media/session/ISession;->setMediaButtonReceiver(Landroid/app/PendingIntent;)V
-HSPLandroid/media/session/ISession;->setMetadata(Landroid/media/MediaMetadata;)V
-HSPLandroid/media/session/ISession;->setPlaybackState(Landroid/media/session/PlaybackState;)V
-HSPLandroid/media/session/ISession;->setPlaybackToLocal(Landroid/media/AudioAttributes;)V
-HSPLandroid/media/session/ISession;->setPlaybackToRemote(II)V
-HSPLandroid/media/session/ISession;->setQueue(Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/media/session/ISession;->setQueueTitle(Ljava/lang/CharSequence;)V
-HSPLandroid/media/session/ISession;->setRatingType(I)V
 HSPLandroid/media/session/ISessionCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/session/ISessionCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/session/ISessionCallback;->onAdjustVolume(Ljava/lang/String;III)V
-HSPLandroid/media/session/ISessionCallback;->onAdjustVolume(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;I)V
-HSPLandroid/media/session/ISessionCallback;->onCommand(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-HSPLandroid/media/session/ISessionCallback;->onCommand(Ljava/lang/String;IILjava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-HSPLandroid/media/session/ISessionCallback;->onCustomAction(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionCallback;->onCustomAction(Ljava/lang/String;IILjava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionCallback;->onFastForward(Ljava/lang/String;II)V
-HSPLandroid/media/session/ISessionCallback;->onFastForward(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionCallback;->onMediaButton(Ljava/lang/String;IILandroid/content/Intent;ILandroid/os/ResultReceiver;)V
-HSPLandroid/media/session/ISessionCallback;->onMediaButtonFromController(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/content/Intent;)V
-HSPLandroid/media/session/ISessionCallback;->onNext(Ljava/lang/String;II)V
-HSPLandroid/media/session/ISessionCallback;->onNext(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionCallback;->onPause(Ljava/lang/String;II)V
-HSPLandroid/media/session/ISessionCallback;->onPause(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionCallback;->onPlay(Ljava/lang/String;II)V
-HSPLandroid/media/session/ISessionCallback;->onPlay(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionCallback;->onPlayFromMediaId(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionCallback;->onPlayFromMediaId(Ljava/lang/String;IILjava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionCallback;->onPlayFromSearch(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionCallback;->onPlayFromSearch(Ljava/lang/String;IILjava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionCallback;->onPlayFromUri(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/net/Uri;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionCallback;->onPlayFromUri(Ljava/lang/String;IILandroid/net/Uri;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionCallback;->onPrepare(Ljava/lang/String;II)V
-HSPLandroid/media/session/ISessionCallback;->onPrepare(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionCallback;->onPrepareFromMediaId(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionCallback;->onPrepareFromMediaId(Ljava/lang/String;IILjava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionCallback;->onPrepareFromSearch(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionCallback;->onPrepareFromSearch(Ljava/lang/String;IILjava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionCallback;->onPrepareFromUri(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/net/Uri;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionCallback;->onPrepareFromUri(Ljava/lang/String;IILandroid/net/Uri;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionCallback;->onPrevious(Ljava/lang/String;II)V
-HSPLandroid/media/session/ISessionCallback;->onPrevious(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionCallback;->onRate(Ljava/lang/String;IILandroid/media/Rating;)V
-HSPLandroid/media/session/ISessionCallback;->onRate(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Landroid/media/Rating;)V
-HSPLandroid/media/session/ISessionCallback;->onRewind(Ljava/lang/String;II)V
-HSPLandroid/media/session/ISessionCallback;->onRewind(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionCallback;->onSeekTo(Ljava/lang/String;IIJ)V
-HSPLandroid/media/session/ISessionCallback;->onSeekTo(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;J)V
-HSPLandroid/media/session/ISessionCallback;->onSetVolumeTo(Ljava/lang/String;III)V
-HSPLandroid/media/session/ISessionCallback;->onSetVolumeTo(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;I)V
-HSPLandroid/media/session/ISessionCallback;->onSkipToTrack(Ljava/lang/String;IIJ)V
-HSPLandroid/media/session/ISessionCallback;->onSkipToTrack(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;J)V
-HSPLandroid/media/session/ISessionCallback;->onStop(Ljava/lang/String;II)V
-HSPLandroid/media/session/ISessionCallback;->onStop(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;)V
 HSPLandroid/media/session/ISessionController$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/session/ISessionController$Stub;-><init>()V
-HSPLandroid/media/session/ISessionController;->adjustVolume(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;ZII)V
-HSPLandroid/media/session/ISessionController;->adjustVolume(Ljava/lang/String;ZII)V
-HSPLandroid/media/session/ISessionController;->fastForward(Ljava/lang/String;)V
-HSPLandroid/media/session/ISessionController;->fastForward(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionController;->getExtras()Landroid/os/Bundle;
-HSPLandroid/media/session/ISessionController;->getFlags()J
-HSPLandroid/media/session/ISessionController;->getLaunchPendingIntent()Landroid/app/PendingIntent;
-HSPLandroid/media/session/ISessionController;->getMetadata()Landroid/media/MediaMetadata;
-HSPLandroid/media/session/ISessionController;->getPackageName()Ljava/lang/String;
-HSPLandroid/media/session/ISessionController;->getPlaybackState()Landroid/media/session/PlaybackState;
-HSPLandroid/media/session/ISessionController;->getQueue()Landroid/content/pm/ParceledListSlice;
-HSPLandroid/media/session/ISessionController;->getQueueTitle()Ljava/lang/CharSequence;
-HSPLandroid/media/session/ISessionController;->getRatingType()I
-HSPLandroid/media/session/ISessionController;->getTag()Ljava/lang/String;
-HSPLandroid/media/session/ISessionController;->getVolumeAttributes()Landroid/media/session/ParcelableVolumeInfo;
-HSPLandroid/media/session/ISessionController;->isTransportControlEnabled()Z
-HSPLandroid/media/session/ISessionController;->next(Ljava/lang/String;)V
-HSPLandroid/media/session/ISessionController;->next(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionController;->pause(Ljava/lang/String;)V
-HSPLandroid/media/session/ISessionController;->pause(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionController;->play(Ljava/lang/String;)V
-HSPLandroid/media/session/ISessionController;->play(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionController;->playFromMediaId(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionController;->playFromMediaId(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionController;->playFromSearch(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionController;->playFromSearch(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionController;->playFromUri(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Landroid/net/Uri;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionController;->playFromUri(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionController;->prepare(Ljava/lang/String;)V
-HSPLandroid/media/session/ISessionController;->prepare(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionController;->prepareFromMediaId(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionController;->prepareFromMediaId(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionController;->prepareFromSearch(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionController;->prepareFromSearch(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionController;->prepareFromUri(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Landroid/net/Uri;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionController;->prepareFromUri(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionController;->previous(Ljava/lang/String;)V
-HSPLandroid/media/session/ISessionController;->previous(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionController;->rate(Ljava/lang/String;Landroid/media/Rating;)V
-HSPLandroid/media/session/ISessionController;->rate(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Landroid/media/Rating;)V
-HSPLandroid/media/session/ISessionController;->registerCallbackListener(Landroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionController;->registerCallbackListener(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionController;->rewind(Ljava/lang/String;)V
-HSPLandroid/media/session/ISessionController;->rewind(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionController;->seekTo(Ljava/lang/String;J)V
-HSPLandroid/media/session/ISessionController;->seekTo(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;J)V
-HSPLandroid/media/session/ISessionController;->sendCommand(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-HSPLandroid/media/session/ISessionController;->sendCommand(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
-HSPLandroid/media/session/ISessionController;->sendCustomAction(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionController;->sendCustomAction(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionController;->sendMediaButton(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;ZLandroid/view/KeyEvent;)Z
-HSPLandroid/media/session/ISessionController;->sendMediaButton(Ljava/lang/String;ZLandroid/view/KeyEvent;)Z
-HSPLandroid/media/session/ISessionController;->setVolumeTo(Ljava/lang/String;II)V
-HSPLandroid/media/session/ISessionController;->setVolumeTo(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;II)V
-HSPLandroid/media/session/ISessionController;->skipToQueueItem(Ljava/lang/String;J)V
-HSPLandroid/media/session/ISessionController;->skipToQueueItem(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;J)V
-HSPLandroid/media/session/ISessionController;->stop(Ljava/lang/String;)V
-HSPLandroid/media/session/ISessionController;->stop(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionController;->unregisterCallbackListener(Landroid/media/session/ISessionControllerCallback;)V
-HSPLandroid/media/session/ISessionControllerCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/media/session/ISessionControllerCallback;->onEvent(Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionControllerCallback;->onExtrasChanged(Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionControllerCallback;->onMetadataChanged(Landroid/media/MediaMetadata;)V
-HSPLandroid/media/session/ISessionControllerCallback;->onPlaybackStateChanged(Landroid/media/session/PlaybackState;)V
-HSPLandroid/media/session/ISessionControllerCallback;->onQueueChanged(Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/media/session/ISessionControllerCallback;->onQueueTitleChanged(Ljava/lang/CharSequence;)V
-HSPLandroid/media/session/ISessionControllerCallback;->onSessionDestroyed()V
-HSPLandroid/media/session/ISessionControllerCallback;->onVolumeInfoChanged(Landroid/media/session/ParcelableVolumeInfo;)V
 HSPLandroid/media/session/ISessionManager$Stub$Proxy;->addSessionsListener(Landroid/media/session/IActiveSessionsListener;Landroid/content/ComponentName;I)V
-HSPLandroid/media/session/ISessionManager$Stub$Proxy;->createSession(Ljava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;I)Landroid/media/session/ISession;
-HSPLandroid/media/session/ISessionManager$Stub$Proxy;->getSessions(Landroid/content/ComponentName;I)Ljava/util/List;
+HSPLandroid/media/session/ISessionManager$Stub$Proxy;->createSession(Ljava/lang/String;Landroid/media/session/SessionCallbackLink;Ljava/lang/String;I)Landroid/media/session/SessionLink;
+HSPLandroid/media/session/ISessionManager$Stub$Proxy;->createSession(Ljava/lang/String;Landroid/media/session/SessionCallbackLink;Ljava/lang/String;Landroid/os/Bundle;I)Landroid/media/session/SessionLink;
+HSPLandroid/media/session/ISessionManager$Stub$Proxy;->dispatchVolumeKeyEvent(Ljava/lang/String;Ljava/lang/String;ZLandroid/view/KeyEvent;IZ)V
 HSPLandroid/media/session/ISessionManager$Stub$Proxy;->setCallback(Landroid/media/session/ICallback;)V
 HSPLandroid/media/session/ISessionManager$Stub;-><init>()V
 HSPLandroid/media/session/ISessionManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/media/session/ISessionManager;->addSessionTokensListener(Landroid/media/ISessionTokensListener;ILjava/lang/String;)V
-HSPLandroid/media/session/ISessionManager;->addSessionsListener(Landroid/media/session/IActiveSessionsListener;Landroid/content/ComponentName;I)V
-HSPLandroid/media/session/ISessionManager;->createSession(Ljava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;I)Landroid/media/session/ISession;
-HSPLandroid/media/session/ISessionManager;->createSession2(Landroid/os/Bundle;)Z
-HSPLandroid/media/session/ISessionManager;->destroySession2(Landroid/os/Bundle;)V
-HSPLandroid/media/session/ISessionManager;->dispatchAdjustVolume(Ljava/lang/String;III)V
-HSPLandroid/media/session/ISessionManager;->dispatchMediaKeyEvent(Ljava/lang/String;ZLandroid/view/KeyEvent;Z)V
-HSPLandroid/media/session/ISessionManager;->dispatchVolumeKeyEvent(Ljava/lang/String;ZLandroid/view/KeyEvent;IZ)V
-HSPLandroid/media/session/ISessionManager;->getSessionTokens(ZZLjava/lang/String;)Ljava/util/List;
-HSPLandroid/media/session/ISessionManager;->getSessions(Landroid/content/ComponentName;I)Ljava/util/List;
-HSPLandroid/media/session/ISessionManager;->isGlobalPriorityActive()Z
-HSPLandroid/media/session/ISessionManager;->isTrusted(Ljava/lang/String;II)Z
-HSPLandroid/media/session/ISessionManager;->removeSessionTokensListener(Landroid/media/ISessionTokensListener;Ljava/lang/String;)V
-HSPLandroid/media/session/ISessionManager;->removeSessionsListener(Landroid/media/session/IActiveSessionsListener;)V
-HSPLandroid/media/session/ISessionManager;->setCallback(Landroid/media/session/ICallback;)V
-HSPLandroid/media/session/ISessionManager;->setOnMediaKeyListener(Landroid/media/session/IOnMediaKeyListener;)V
-HSPLandroid/media/session/ISessionManager;->setOnVolumeKeyLongPressListener(Landroid/media/session/IOnVolumeKeyLongPressListener;)V
-HSPLandroid/media/session/ISessionManager;->setRemoteVolumeController(Landroid/media/IRemoteVolumeController;)V
-HSPLandroid/media/session/MediaController$Callback;-><init>()V
-HSPLandroid/media/session/MediaController;-><init>(Landroid/content/Context;Landroid/media/session/ISessionController;)V
 HSPLandroid/media/session/MediaController;-><init>(Landroid/content/Context;Landroid/media/session/MediaSession$Token;)V
 HSPLandroid/media/session/MediaSession$Callback;-><init>()V
-HSPLandroid/media/session/MediaSession$CallbackMessageHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/media/session/MediaSession$CallbackMessageHandler;->post(Landroid/media/session/MediaSessionManager$RemoteUserInfo;ILjava/lang/Object;Landroid/os/Bundle;J)V
-HSPLandroid/media/session/MediaSession$CallbackStub;->onCommand(Ljava/lang/String;IILandroid/media/session/ISessionControllerCallback;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
+HSPLandroid/media/session/MediaSession$Callback;->onSetMediaButtonEventDelegate(Landroid/media/session/MediaSessionEngine$MediaButtonEventDelegate;)V
+HSPLandroid/media/session/MediaSession$QueueItem$1;-><init>()V
 HSPLandroid/media/session/MediaSession$Token$1;-><init>()V
-HSPLandroid/media/session/MediaSession$Token$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/session/MediaSession$Token;
-HSPLandroid/media/session/MediaSession$Token$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/media/session/MediaSession$Token;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/media/session/MediaSession$Token;-><init>(Landroid/media/session/ControllerLink;)V
 HSPLandroid/media/session/MediaSession;-><init>(Landroid/content/Context;Ljava/lang/String;)V
-HSPLandroid/media/session/MediaSession;-><init>(Landroid/content/Context;Ljava/lang/String;I)V
+HSPLandroid/media/session/MediaSession;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;)V
 HSPLandroid/media/session/MediaSession;->getSessionToken()Landroid/media/session/MediaSession$Token;
 HSPLandroid/media/session/MediaSession;->isActive()Z
-HSPLandroid/media/session/MediaSession;->postToCallbackDelayed(Landroid/media/session/MediaSessionManager$RemoteUserInfo;ILjava/lang/Object;Landroid/os/Bundle;J)V
-HSPLandroid/media/session/MediaSession;->release()V
 HSPLandroid/media/session/MediaSession;->setActive(Z)V
 HSPLandroid/media/session/MediaSession;->setCallback(Landroid/media/session/MediaSession$Callback;)V
 HSPLandroid/media/session/MediaSession;->setCallback(Landroid/media/session/MediaSession$Callback;Landroid/os/Handler;)V
-HSPLandroid/media/session/MediaSession;->setExtras(Landroid/os/Bundle;)V
 HSPLandroid/media/session/MediaSession;->setFlags(I)V
 HSPLandroid/media/session/MediaSession;->setMediaButtonReceiver(Landroid/app/PendingIntent;)V
 HSPLandroid/media/session/MediaSession;->setMetadata(Landroid/media/MediaMetadata;)V
 HSPLandroid/media/session/MediaSession;->setPlaybackState(Landroid/media/session/PlaybackState;)V
 HSPLandroid/media/session/MediaSession;->setPlaybackToLocal(Landroid/media/AudioAttributes;)V
-HSPLandroid/media/session/MediaSession;->setQueueTitle(Ljava/lang/CharSequence;)V
 HSPLandroid/media/session/MediaSession;->setRatingType(I)V
 HSPLandroid/media/session/MediaSession;->setSessionActivity(Landroid/app/PendingIntent;)V
+HSPLandroid/media/session/MediaSessionEngine;-><init>(Landroid/content/Context;Landroid/media/session/SessionLink;Landroid/media/session/SessionCallbackLink;)V
+HSPLandroid/media/session/MediaSessionEngine;->setActive(Z)V
+HSPLandroid/media/session/MediaSessionEngine;->setCallbackInternal(Landroid/media/session/MediaSessionEngine$CallbackWrapper;Landroid/os/Handler;)V
+HSPLandroid/media/session/MediaSessionEngine;->setFlags(I)V
+HSPLandroid/media/session/MediaSessionEngine;->setMediaButtonReceiver(Landroid/app/PendingIntent;)V
+HSPLandroid/media/session/MediaSessionEngine;->setMetadata(Landroid/media/MediaMetadata;)V
+HSPLandroid/media/session/MediaSessionEngine;->setPlaybackState(Landroid/media/session/PlaybackState;)V
+HSPLandroid/media/session/MediaSessionEngine;->setPlaybackToLocal(Landroid/media/AudioAttributes;)V
+HSPLandroid/media/session/MediaSessionEngine;->setRatingType(I)V
+HSPLandroid/media/session/MediaSessionEngine;->setSessionActivity(Landroid/app/PendingIntent;)V
 HSPLandroid/media/session/MediaSessionManager$Callback;-><init>()V
-HSPLandroid/media/session/MediaSessionManager$CallbackImpl$4;->run()V
-HSPLandroid/media/session/MediaSessionManager$CallbackImpl;->onAddressedPlayerChangedToMediaButtonReceiver(Landroid/content/ComponentName;)V
 HSPLandroid/media/session/MediaSessionManager$RemoteUserInfo;-><init>(Ljava/lang/String;II)V
 HSPLandroid/media/session/MediaSessionManager;-><init>(Landroid/content/Context;)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;->getActiveSessions(Landroid/content/ComponentName;)Ljava/util/List;
-HSPLandroid/media/session/MediaSessionManager;->getActiveSessionsForUser(Landroid/content/ComponentName;I)Ljava/util/List;
+HSPLandroid/media/session/MediaSessionManager;->createSession(Landroid/media/session/SessionCallbackLink;Ljava/lang/String;)Landroid/media/session/SessionLink;
+HSPLandroid/media/session/MediaSessionManager;->createSession(Landroid/media/session/SessionCallbackLink;Ljava/lang/String;Landroid/os/Bundle;)Landroid/media/session/SessionLink;
+HSPLandroid/media/session/MediaSessionManager;->dispatchVolumeKeyEventAsSystemService(Landroid/view/KeyEvent;I)V
+HSPLandroid/media/session/MediaSessionManager;->dispatchVolumeKeyEventInternal(ZLandroid/view/KeyEvent;IZ)V
 HSPLandroid/media/session/MediaSessionManager;->setCallback(Landroid/media/session/MediaSessionManager$Callback;Landroid/os/Handler;)V
 HSPLandroid/media/session/PlaybackState$1;-><init>()V
 HSPLandroid/media/session/PlaybackState$Builder;-><init>()V
-HSPLandroid/media/session/PlaybackState$Builder;->addCustomAction(Landroid/media/session/PlaybackState$CustomAction;)Landroid/media/session/PlaybackState$Builder;
 HSPLandroid/media/session/PlaybackState$Builder;->build()Landroid/media/session/PlaybackState;
 HSPLandroid/media/session/PlaybackState$Builder;->setActions(J)Landroid/media/session/PlaybackState$Builder;
 HSPLandroid/media/session/PlaybackState$Builder;->setActiveQueueItemId(J)Landroid/media/session/PlaybackState$Builder;
 HSPLandroid/media/session/PlaybackState$Builder;->setBufferedPosition(J)Landroid/media/session/PlaybackState$Builder;
 HSPLandroid/media/session/PlaybackState$Builder;->setErrorMessage(Ljava/lang/CharSequence;)Landroid/media/session/PlaybackState$Builder;
 HSPLandroid/media/session/PlaybackState$Builder;->setExtras(Landroid/os/Bundle;)Landroid/media/session/PlaybackState$Builder;
-HSPLandroid/media/session/PlaybackState$Builder;->setState(IJF)Landroid/media/session/PlaybackState$Builder;
 HSPLandroid/media/session/PlaybackState$Builder;->setState(IJFJ)Landroid/media/session/PlaybackState$Builder;
 HSPLandroid/media/session/PlaybackState$CustomAction$1;-><init>()V
-HSPLandroid/media/session/PlaybackState$CustomAction$Builder;-><init>(Ljava/lang/String;Ljava/lang/CharSequence;I)V
-HSPLandroid/media/session/PlaybackState$CustomAction$Builder;->build()Landroid/media/session/PlaybackState$CustomAction;
-HSPLandroid/media/session/PlaybackState$CustomAction$Builder;->setExtras(Landroid/os/Bundle;)Landroid/media/session/PlaybackState$CustomAction$Builder;
-HSPLandroid/media/session/PlaybackState$CustomAction;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/media/session/PlaybackState;-><init>(IJJFJJLjava/util/List;JLjava/lang/CharSequence;Landroid/os/Bundle;)V
-HSPLandroid/media/session/PlaybackState;->getState()I
 HSPLandroid/media/session/PlaybackState;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/media/session/SessionCallbackLink$1;-><init>()V
+HSPLandroid/media/session/SessionCallbackLink;->getBinder()Landroid/os/IBinder;
+HSPLandroid/media/session/SessionLink$1;-><init>()V
+HSPLandroid/media/session/SessionLink$1;->createFromParcel(Landroid/os/Parcel;)Landroid/media/session/SessionLink;
+HSPLandroid/media/session/SessionLink$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/media/session/SessionLink$StubProxy;->getController()Landroid/media/session/ControllerLink;
+HSPLandroid/media/session/SessionLink$StubProxy;->setFlags(I)V
+HSPLandroid/media/session/SessionLink$StubProxy;->setPlaybackToLocal(Landroid/media/AudioAttributes;)V
+HSPLandroid/media/session/SessionLink;-><init>(Landroid/media/session/SessionLink$SessionStub;)V
+HSPLandroid/media/session/SessionLink;->getController()Landroid/media/session/ControllerLink;
+HSPLandroid/media/session/SessionLink;->setActive(Z)V
+HSPLandroid/media/session/SessionLink;->setFlags(I)V
+HSPLandroid/media/session/SessionLink;->setLaunchPendingIntent(Landroid/app/PendingIntent;)V
+HSPLandroid/media/session/SessionLink;->setMediaButtonReceiver(Landroid/app/PendingIntent;)V
+HSPLandroid/media/session/SessionLink;->setMetadata(Landroid/media/MediaMetadata;JLjava/lang/String;)V
+HSPLandroid/media/session/SessionLink;->setPlaybackState(Landroid/media/session/PlaybackState;)V
+HSPLandroid/media/session/SessionLink;->setPlaybackToLocal(Landroid/media/AudioAttributes;)V
+HSPLandroid/media/session/SessionLink;->setRatingType(I)V
 HSPLandroid/metrics/LogMaker;-><init>(I)V
 HSPLandroid/metrics/LogMaker;->addTaggedData(ILjava/lang/Object;)Landroid/metrics/LogMaker;
+HSPLandroid/metrics/LogMaker;->getEntries()Landroid/util/SparseArray;
 HSPLandroid/metrics/LogMaker;->getType()I
 HSPLandroid/metrics/LogMaker;->isValidValue(Ljava/lang/Object;)Z
 HSPLandroid/metrics/LogMaker;->serialize()[Ljava/lang/Object;
@@ -25863,22 +22512,30 @@
 HSPLandroid/metrics/LogMaker;->setCounterName(Ljava/lang/String;)Landroid/metrics/LogMaker;
 HSPLandroid/metrics/LogMaker;->setCounterValue(I)Landroid/metrics/LogMaker;
 HSPLandroid/metrics/LogMaker;->setPackageName(Ljava/lang/String;)Landroid/metrics/LogMaker;
+HSPLandroid/metrics/LogMaker;->setSubtype(I)Landroid/metrics/LogMaker;
 HSPLandroid/metrics/LogMaker;->setType(I)Landroid/metrics/LogMaker;
 HSPLandroid/net/-$$Lambda$FpGXkd3pLxeXY58eJ_84mi1PLWQ;-><init>()V
 HSPLandroid/net/-$$Lambda$FpGXkd3pLxeXY58eJ_84mi1PLWQ;->nameOf(I)Ljava/lang/String;
+HSPLandroid/net/-$$Lambda$Network$KD6DxaMRJIcajhj36TU1K7lJnHQ;->lookup(Ljava/lang/String;)Ljava/util/List;
 HSPLandroid/net/-$$Lambda$p1_56lwnt1xBuY1muPblbN1Dtkw;-><init>()V
 HSPLandroid/net/-$$Lambda$p1_56lwnt1xBuY1muPblbN1Dtkw;->nameOf(I)Ljava/lang/String;
+HSPLandroid/net/ApfCapabilitiesParcelable$1;-><init>()V
+HSPLandroid/net/ApfCapabilitiesParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/ApfCapabilitiesParcelable;
+HSPLandroid/net/ApfCapabilitiesParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/net/ApfCapabilitiesParcelable;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/net/ConnectivityManager$CallbackHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/net/ConnectivityManager$NetworkCallback;-><init>()V
 HSPLandroid/net/ConnectivityManager$NetworkCallback;->onAvailable(Landroid/net/Network;)V
-HSPLandroid/net/ConnectivityManager$NetworkCallback;->onAvailable(Landroid/net/Network;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;)V
+HSPLandroid/net/ConnectivityManager$NetworkCallback;->onAvailable(Landroid/net/Network;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;Z)V
+HSPLandroid/net/ConnectivityManager$NetworkCallback;->onBlockedStatusChanged(Landroid/net/Network;Z)V
 HSPLandroid/net/ConnectivityManager$NetworkCallback;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
 HSPLandroid/net/ConnectivityManager$NetworkCallback;->onLinkPropertiesChanged(Landroid/net/Network;Landroid/net/LinkProperties;)V
+HSPLandroid/net/ConnectivityManager$NetworkCallback;->onLost(Landroid/net/Network;)V
 HSPLandroid/net/ConnectivityManager$NetworkCallback;->onPreCheck(Landroid/net/Network;)V
-HSPLandroid/net/ConnectivityManager$OnNetworkActiveListener;->onNetworkActive()V
-HSPLandroid/net/ConnectivityManager$PacketKeepaliveCallback;-><init>()V
+HSPLandroid/net/ConnectivityManager$OnStartTetheringCallback;-><init>()V
 HSPLandroid/net/ConnectivityManager;-><init>(Landroid/content/Context;Landroid/net/IConnectivityManager;)V
-HSPLandroid/net/ConnectivityManager;->bindProcessToNetwork(Landroid/net/Network;)Z
+HSPLandroid/net/ConnectivityManager;->enforceChangePermission(Landroid/content/Context;)V
+HSPLandroid/net/ConnectivityManager;->enforceTetherChangePermission(Landroid/content/Context;Ljava/lang/String;)V
 HSPLandroid/net/ConnectivityManager;->from(Landroid/content/Context;)Landroid/net/ConnectivityManager;
 HSPLandroid/net/ConnectivityManager;->getActiveNetwork()Landroid/net/Network;
 HSPLandroid/net/ConnectivityManager;->getActiveNetworkForUid(I)Landroid/net/Network;
@@ -25886,31 +22543,38 @@
 HSPLandroid/net/ConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
 HSPLandroid/net/ConnectivityManager;->getAllNetworkInfo()[Landroid/net/NetworkInfo;
 HSPLandroid/net/ConnectivityManager;->getAllNetworks()[Landroid/net/Network;
+HSPLandroid/net/ConnectivityManager;->getAvoidBadWifi()Z
 HSPLandroid/net/ConnectivityManager;->getBoundNetworkForProcess()Landroid/net/Network;
+HSPLandroid/net/ConnectivityManager;->getCallbackName(I)Ljava/lang/String;
 HSPLandroid/net/ConnectivityManager;->getDefaultHandler()Landroid/net/ConnectivityManager$CallbackHandler;
 HSPLandroid/net/ConnectivityManager;->getDefaultProxy()Landroid/net/ProxyInfo;
 HSPLandroid/net/ConnectivityManager;->getInstance()Landroid/net/ConnectivityManager;
 HSPLandroid/net/ConnectivityManager;->getLinkProperties(Landroid/net/Network;)Landroid/net/LinkProperties;
-HSPLandroid/net/ConnectivityManager;->getMobileDataEnabled()Z
 HSPLandroid/net/ConnectivityManager;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
 HSPLandroid/net/ConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo;
 HSPLandroid/net/ConnectivityManager;->getNetworkInfo(Landroid/net/Network;)Landroid/net/NetworkInfo;
 HSPLandroid/net/ConnectivityManager;->getNetworkInfoForUid(Landroid/net/Network;IZ)Landroid/net/NetworkInfo;
+HSPLandroid/net/ConnectivityManager;->getNetworkManagementService()Landroid/os/INetworkManagementService;
 HSPLandroid/net/ConnectivityManager;->getNetworkPolicyManager()Landroid/net/INetworkPolicyManager;
 HSPLandroid/net/ConnectivityManager;->getNetworkTypeName(I)Ljava/lang/String;
 HSPLandroid/net/ConnectivityManager;->getProxyForNetwork(Landroid/net/Network;)Landroid/net/ProxyInfo;
 HSPLandroid/net/ConnectivityManager;->getRestrictBackgroundStatus()I
+HSPLandroid/net/ConnectivityManager;->getTetherableBluetoothRegexs()[Ljava/lang/String;
+HSPLandroid/net/ConnectivityManager;->getTetherableUsbRegexs()[Ljava/lang/String;
+HSPLandroid/net/ConnectivityManager;->getTetherableWifiRegexs()[Ljava/lang/String;
 HSPLandroid/net/ConnectivityManager;->inferLegacyTypeForNetworkCapabilities(Landroid/net/NetworkCapabilities;)I
 HSPLandroid/net/ConnectivityManager;->isActiveNetworkMetered()Z
+HSPLandroid/net/ConnectivityManager;->isDefaultNetworkActive()Z
 HSPLandroid/net/ConnectivityManager;->isNetworkSupported(I)Z
+HSPLandroid/net/ConnectivityManager;->isNetworkTypeMobile(I)Z
 HSPLandroid/net/ConnectivityManager;->isTetheringSupported()Z
+HSPLandroid/net/ConnectivityManager;->printStackTrace()V
 HSPLandroid/net/ConnectivityManager;->registerDefaultNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;)V
 HSPLandroid/net/ConnectivityManager;->registerDefaultNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;)V
-HSPLandroid/net/ConnectivityManager;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkMisc;)I
+HSPLandroid/net/ConnectivityManager;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkMisc;I)I
 HSPLandroid/net/ConnectivityManager;->registerNetworkCallback(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;)V
 HSPLandroid/net/ConnectivityManager;->registerNetworkCallback(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;Landroid/os/Handler;)V
-HSPLandroid/net/ConnectivityManager;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)V
-HSPLandroid/net/ConnectivityManager;->releaseNetworkRequest(Landroid/app/PendingIntent;)V
+HSPLandroid/net/ConnectivityManager;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)I
 HSPLandroid/net/ConnectivityManager;->reportNetworkConnectivity(Landroid/net/Network;Z)V
 HSPLandroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;)V
 HSPLandroid/net/ConnectivityManager;->requestNetwork(Landroid/net/NetworkRequest;Landroid/net/ConnectivityManager$NetworkCallback;IILandroid/os/Handler;)V
@@ -25918,278 +22582,129 @@
 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/app/PendingIntent;)V
 HSPLandroid/net/ConnectivityManager;->unregisterNetworkCallback(Landroid/net/ConnectivityManager$NetworkCallback;)V
+HSPLandroid/net/ConnectivityMetricsEvent$1;-><init>()V
 HSPLandroid/net/ConnectivityThread;->access$000()Landroid/net/ConnectivityThread;
+HSPLandroid/net/ConnectivityThread;->getInstanceLooper()Landroid/os/Looper;
 HSPLandroid/net/Credentials;-><init>(III)V
 HSPLandroid/net/Credentials;->getPid()I
 HSPLandroid/net/Credentials;->getUid()I
-HSPLandroid/net/DhcpInfo$1;-><init>()V
-HSPLandroid/net/DhcpInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/DhcpInfo;
-HSPLandroid/net/DhcpInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/net/DhcpResults$1;-><init>()V
+HSPLandroid/net/DhcpResults;-><init>()V
+HSPLandroid/net/DhcpResults;-><init>(Landroid/net/DhcpResults;)V
+HSPLandroid/net/DhcpResults;-><init>(Landroid/net/StaticIpConfiguration;)V
+HSPLandroid/net/DhcpResults;->toStaticIpConfiguration()Landroid/net/StaticIpConfiguration;
+HSPLandroid/net/DhcpResults;->toString()Ljava/lang/String;
+HSPLandroid/net/DhcpResultsParcelable$1;-><init>()V
+HSPLandroid/net/DhcpResultsParcelable;-><init>()V
+HSPLandroid/net/DhcpResultsParcelable;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getActiveNetwork()Landroid/net/Network;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getAllNetworkInfo()[Landroid/net/NetworkInfo;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getAllNetworks()[Landroid/net/Network;
+HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getAvoidBadWifi()Z
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getLinkProperties(Landroid/net/Network;)Landroid/net/LinkProperties;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getNetworkInfo(I)Landroid/net/NetworkInfo;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getNetworkInfoForUid(Landroid/net/Network;IZ)Landroid/net/NetworkInfo;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getProxyForNetwork(Landroid/net/Network;)Landroid/net/ProxyInfo;
+HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getTetherableBluetoothRegexs()[Ljava/lang/String;
+HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getTetherableUsbRegexs()[Ljava/lang/String;
+HSPLandroid/net/IConnectivityManager$Stub$Proxy;->getTetherableWifiRegexs()[Ljava/lang/String;
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->isActiveNetworkMetered()Z
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->isNetworkSupported(I)Z
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->isTetheringSupported(Ljava/lang/String;)Z
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->listenForNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/NetworkRequest;
-HSPLandroid/net/IConnectivityManager$Stub$Proxy;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkMisc;)I
-HSPLandroid/net/IConnectivityManager$Stub$Proxy;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)V
+HSPLandroid/net/IConnectivityManager$Stub$Proxy;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkMisc;I)I
+HSPLandroid/net/IConnectivityManager$Stub$Proxy;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)I
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->releaseNetworkRequest(Landroid/net/NetworkRequest;)V
-HSPLandroid/net/IConnectivityManager$Stub$Proxy;->releasePendingNetworkRequest(Landroid/app/PendingIntent;)V
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->reportNetworkConnectivity(Landroid/net/Network;Z)V
 HSPLandroid/net/IConnectivityManager$Stub$Proxy;->requestNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;ILandroid/os/IBinder;I)Landroid/net/NetworkRequest;
 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;
 HSPLandroid/net/IConnectivityManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/IConnectivityManager;->addVpnAddress(Ljava/lang/String;I)Z
-HSPLandroid/net/IConnectivityManager;->checkMobileProvisioning(I)I
-HSPLandroid/net/IConnectivityManager;->establishVpn(Lcom/android/internal/net/VpnConfig;)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/net/IConnectivityManager;->factoryReset()V
-HSPLandroid/net/IConnectivityManager;->getActiveLinkProperties()Landroid/net/LinkProperties;
-HSPLandroid/net/IConnectivityManager;->getActiveNetwork()Landroid/net/Network;
-HSPLandroid/net/IConnectivityManager;->getActiveNetworkForUid(IZ)Landroid/net/Network;
-HSPLandroid/net/IConnectivityManager;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
-HSPLandroid/net/IConnectivityManager;->getActiveNetworkInfoForUid(IZ)Landroid/net/NetworkInfo;
-HSPLandroid/net/IConnectivityManager;->getActiveNetworkQuotaInfo()Landroid/net/NetworkQuotaInfo;
-HSPLandroid/net/IConnectivityManager;->getAllNetworkInfo()[Landroid/net/NetworkInfo;
-HSPLandroid/net/IConnectivityManager;->getAllNetworkState()[Landroid/net/NetworkState;
-HSPLandroid/net/IConnectivityManager;->getAllNetworks()[Landroid/net/Network;
-HSPLandroid/net/IConnectivityManager;->getAllVpnInfo()[Lcom/android/internal/net/VpnInfo;
-HSPLandroid/net/IConnectivityManager;->getAlwaysOnVpnPackage(I)Ljava/lang/String;
-HSPLandroid/net/IConnectivityManager;->getCaptivePortalServerUrl()Ljava/lang/String;
-HSPLandroid/net/IConnectivityManager;->getDefaultNetworkCapabilitiesForUser(I)[Landroid/net/NetworkCapabilities;
-HSPLandroid/net/IConnectivityManager;->getGlobalProxy()Landroid/net/ProxyInfo;
-HSPLandroid/net/IConnectivityManager;->getLastTetherError(Ljava/lang/String;)I
-HSPLandroid/net/IConnectivityManager;->getLegacyVpnInfo(I)Lcom/android/internal/net/LegacyVpnInfo;
-HSPLandroid/net/IConnectivityManager;->getLinkProperties(Landroid/net/Network;)Landroid/net/LinkProperties;
-HSPLandroid/net/IConnectivityManager;->getLinkPropertiesForType(I)Landroid/net/LinkProperties;
-HSPLandroid/net/IConnectivityManager;->getMobileProvisioningUrl()Ljava/lang/String;
-HSPLandroid/net/IConnectivityManager;->getMultipathPreference(Landroid/net/Network;)I
-HSPLandroid/net/IConnectivityManager;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
-HSPLandroid/net/IConnectivityManager;->getNetworkForType(I)Landroid/net/Network;
-HSPLandroid/net/IConnectivityManager;->getNetworkInfo(I)Landroid/net/NetworkInfo;
-HSPLandroid/net/IConnectivityManager;->getNetworkInfoForUid(Landroid/net/Network;IZ)Landroid/net/NetworkInfo;
-HSPLandroid/net/IConnectivityManager;->getNetworkWatchlistConfigHash()[B
-HSPLandroid/net/IConnectivityManager;->getProxyForNetwork(Landroid/net/Network;)Landroid/net/ProxyInfo;
-HSPLandroid/net/IConnectivityManager;->getRestoreDefaultNetworkDelay(I)I
-HSPLandroid/net/IConnectivityManager;->getTetherableBluetoothRegexs()[Ljava/lang/String;
-HSPLandroid/net/IConnectivityManager;->getTetherableIfaces()[Ljava/lang/String;
-HSPLandroid/net/IConnectivityManager;->getTetherableUsbRegexs()[Ljava/lang/String;
-HSPLandroid/net/IConnectivityManager;->getTetherableWifiRegexs()[Ljava/lang/String;
-HSPLandroid/net/IConnectivityManager;->getTetheredDhcpRanges()[Ljava/lang/String;
-HSPLandroid/net/IConnectivityManager;->getTetheredIfaces()[Ljava/lang/String;
-HSPLandroid/net/IConnectivityManager;->getTetheringErroredIfaces()[Ljava/lang/String;
-HSPLandroid/net/IConnectivityManager;->getVpnConfig(I)Lcom/android/internal/net/VpnConfig;
-HSPLandroid/net/IConnectivityManager;->isActiveNetworkMetered()Z
-HSPLandroid/net/IConnectivityManager;->isAlwaysOnVpnPackageSupported(ILjava/lang/String;)Z
-HSPLandroid/net/IConnectivityManager;->isNetworkSupported(I)Z
-HSPLandroid/net/IConnectivityManager;->isTetheringSupported(Ljava/lang/String;)Z
-HSPLandroid/net/IConnectivityManager;->listenForNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/NetworkRequest;
-HSPLandroid/net/IConnectivityManager;->pendingListenForNetwork(Landroid/net/NetworkCapabilities;Landroid/app/PendingIntent;)V
-HSPLandroid/net/IConnectivityManager;->pendingRequestForNetwork(Landroid/net/NetworkCapabilities;Landroid/app/PendingIntent;)Landroid/net/NetworkRequest;
-HSPLandroid/net/IConnectivityManager;->prepareVpn(Ljava/lang/String;Ljava/lang/String;I)Z
-HSPLandroid/net/IConnectivityManager;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkMisc;)I
-HSPLandroid/net/IConnectivityManager;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)V
-HSPLandroid/net/IConnectivityManager;->releaseNetworkRequest(Landroid/net/NetworkRequest;)V
-HSPLandroid/net/IConnectivityManager;->releasePendingNetworkRequest(Landroid/app/PendingIntent;)V
-HSPLandroid/net/IConnectivityManager;->removeVpnAddress(Ljava/lang/String;I)Z
-HSPLandroid/net/IConnectivityManager;->reportInetCondition(II)V
-HSPLandroid/net/IConnectivityManager;->reportNetworkConnectivity(Landroid/net/Network;Z)V
-HSPLandroid/net/IConnectivityManager;->requestBandwidthUpdate(Landroid/net/Network;)Z
-HSPLandroid/net/IConnectivityManager;->requestNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;ILandroid/os/IBinder;I)Landroid/net/NetworkRequest;
-HSPLandroid/net/IConnectivityManager;->requestRouteToHostAddress(I[B)Z
-HSPLandroid/net/IConnectivityManager;->setAcceptUnvalidated(Landroid/net/Network;ZZ)V
-HSPLandroid/net/IConnectivityManager;->setAirplaneMode(Z)V
-HSPLandroid/net/IConnectivityManager;->setAlwaysOnVpnPackage(ILjava/lang/String;Z)Z
-HSPLandroid/net/IConnectivityManager;->setAvoidUnvalidated(Landroid/net/Network;)V
-HSPLandroid/net/IConnectivityManager;->setGlobalProxy(Landroid/net/ProxyInfo;)V
-HSPLandroid/net/IConnectivityManager;->setProvisioningNotificationVisible(ZILjava/lang/String;)V
-HSPLandroid/net/IConnectivityManager;->setUnderlyingNetworksForVpn([Landroid/net/Network;)Z
-HSPLandroid/net/IConnectivityManager;->setUsbTethering(ZLjava/lang/String;)I
-HSPLandroid/net/IConnectivityManager;->setVpnPackageAuthorization(Ljava/lang/String;IZ)V
-HSPLandroid/net/IConnectivityManager;->startCaptivePortalApp(Landroid/net/Network;)V
-HSPLandroid/net/IConnectivityManager;->startLegacyVpn(Lcom/android/internal/net/VpnProfile;)V
-HSPLandroid/net/IConnectivityManager;->startNattKeepalive(Landroid/net/Network;ILandroid/os/Messenger;Landroid/os/IBinder;Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/net/IConnectivityManager;->startTethering(ILandroid/os/ResultReceiver;ZLjava/lang/String;)V
-HSPLandroid/net/IConnectivityManager;->stopKeepalive(Landroid/net/Network;I)V
-HSPLandroid/net/IConnectivityManager;->stopTethering(ILjava/lang/String;)V
-HSPLandroid/net/IConnectivityManager;->tether(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/net/IConnectivityManager;->unregisterNetworkFactory(Landroid/os/Messenger;)V
-HSPLandroid/net/IConnectivityManager;->untether(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/net/IConnectivityManager;->updateLockdownVpn()Z
 HSPLandroid/net/IEthernetManager$Stub;-><init>()V
-HSPLandroid/net/IEthernetManager;->addListener(Landroid/net/IEthernetServiceListener;)V
-HSPLandroid/net/IEthernetManager;->getAvailableInterfaces()[Ljava/lang/String;
-HSPLandroid/net/IEthernetManager;->getConfiguration(Ljava/lang/String;)Landroid/net/IpConfiguration;
-HSPLandroid/net/IEthernetManager;->isAvailable(Ljava/lang/String;)Z
-HSPLandroid/net/IEthernetManager;->removeListener(Landroid/net/IEthernetServiceListener;)V
-HSPLandroid/net/IEthernetManager;->setConfiguration(Ljava/lang/String;Landroid/net/IpConfiguration;)V
+HSPLandroid/net/IIpConnectivityMetrics$Stub$Proxy;->logEvent(Landroid/net/ConnectivityMetricsEvent;)I
 HSPLandroid/net/IIpConnectivityMetrics$Stub;-><init>()V
 HSPLandroid/net/IIpConnectivityMetrics$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/IIpConnectivityMetrics;
-HSPLandroid/net/IIpConnectivityMetrics;->addNetdEventCallback(ILandroid/net/INetdEventCallback;)Z
-HSPLandroid/net/IIpConnectivityMetrics;->logEvent(Landroid/net/ConnectivityMetricsEvent;)I
-HSPLandroid/net/IIpConnectivityMetrics;->removeNetdEventCallback(I)Z
+HSPLandroid/net/IIpMemoryStore$Stub;-><init>()V
 HSPLandroid/net/IIpSecService$Stub;-><init>()V
-HSPLandroid/net/IIpSecService;->addAddressToTunnelInterface(ILandroid/net/LinkAddress;Ljava/lang/String;)V
-HSPLandroid/net/IIpSecService;->allocateSecurityParameterIndex(Ljava/lang/String;ILandroid/os/IBinder;)Landroid/net/IpSecSpiResponse;
-HSPLandroid/net/IIpSecService;->applyTransportModeTransform(Landroid/os/ParcelFileDescriptor;II)V
-HSPLandroid/net/IIpSecService;->applyTunnelModeTransform(IIILjava/lang/String;)V
-HSPLandroid/net/IIpSecService;->closeUdpEncapsulationSocket(I)V
-HSPLandroid/net/IIpSecService;->createTransform(Landroid/net/IpSecConfig;Landroid/os/IBinder;Ljava/lang/String;)Landroid/net/IpSecTransformResponse;
-HSPLandroid/net/IIpSecService;->createTunnelInterface(Ljava/lang/String;Ljava/lang/String;Landroid/net/Network;Landroid/os/IBinder;Ljava/lang/String;)Landroid/net/IpSecTunnelInterfaceResponse;
-HSPLandroid/net/IIpSecService;->deleteTransform(I)V
-HSPLandroid/net/IIpSecService;->deleteTunnelInterface(ILjava/lang/String;)V
-HSPLandroid/net/IIpSecService;->openUdpEncapsulationSocket(ILandroid/os/IBinder;)Landroid/net/IpSecUdpEncapResponse;
-HSPLandroid/net/IIpSecService;->releaseSecurityParameterIndex(I)V
-HSPLandroid/net/IIpSecService;->removeAddressFromTunnelInterface(ILandroid/net/LinkAddress;Ljava/lang/String;)V
-HSPLandroid/net/IIpSecService;->removeTransportModeTransforms(Landroid/os/ParcelFileDescriptor;)V
+HSPLandroid/net/INetd$Stub$Proxy;->bandwidthSetGlobalAlert(J)V
+HSPLandroid/net/INetd$Stub$Proxy;->firewallEnableChildChain(IZ)V
 HSPLandroid/net/INetd$Stub$Proxy;->firewallReplaceUidChain(Ljava/lang/String;Z[I)Z
+HSPLandroid/net/INetd$Stub$Proxy;->firewallSetFirewallType(I)V
+HSPLandroid/net/INetd$Stub$Proxy;->firewallSetUidRule(III)V
+HSPLandroid/net/INetd$Stub$Proxy;->interfaceClearAddrs(Ljava/lang/String;)V
+HSPLandroid/net/INetd$Stub$Proxy;->interfaceGetCfg(Ljava/lang/String;)Landroid/net/InterfaceConfigurationParcel;
+HSPLandroid/net/INetd$Stub$Proxy;->interfaceGetList()[Ljava/lang/String;
+HSPLandroid/net/INetd$Stub$Proxy;->interfaceSetCfg(Landroid/net/InterfaceConfigurationParcel;)V
+HSPLandroid/net/INetd$Stub$Proxy;->interfaceSetEnableIPv6(Ljava/lang/String;Z)V
+HSPLandroid/net/INetd$Stub$Proxy;->interfaceSetIPv6PrivacyExtensions(Ljava/lang/String;Z)V
 HSPLandroid/net/INetd$Stub$Proxy;->isAlive()Z
-HSPLandroid/net/INetd$Stub$Proxy;->socketDestroy([Landroid/net/UidRange;[I)V
-HSPLandroid/net/INetd$Stub$Proxy;->tetherGetStats()Landroid/os/PersistableBundle;
+HSPLandroid/net/INetd$Stub$Proxy;->networkSetPermissionForUser(I[I)V
+HSPLandroid/net/INetd$Stub$Proxy;->registerUnsolicitedEventListener(Landroid/net/INetdUnsolicitedEventListener;)V
+HSPLandroid/net/INetd$Stub$Proxy;->setIPv6AddrGenMode(Ljava/lang/String;I)V
+HSPLandroid/net/INetd$Stub$Proxy;->setProcSysNet(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/net/INetd$Stub$Proxy;->socketDestroy([Landroid/net/UidRangeParcel;[I)V
+HSPLandroid/net/INetd$Stub$Proxy;->tetherGetStats()[Landroid/net/TetherStatsParcel;
 HSPLandroid/net/INetd$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetd;
-HSPLandroid/net/INetd;->addVirtualTunnelInterface(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
-HSPLandroid/net/INetd;->bandwidthEnableDataSaver(Z)Z
-HSPLandroid/net/INetd;->firewallReplaceUidChain(Ljava/lang/String;Z[I)Z
-HSPLandroid/net/INetd;->getMetricsReportingLevel()I
-HSPLandroid/net/INetd;->getResolverInfo(I[Ljava/lang/String;[Ljava/lang/String;[I[I)V
-HSPLandroid/net/INetd;->interfaceAddAddress(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/net/INetd;->interfaceDelAddress(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/net/INetd;->ipSecAddSecurityAssociation(IILjava/lang/String;Ljava/lang/String;IIIILjava/lang/String;[BILjava/lang/String;[BILjava/lang/String;[BIIII)V
-HSPLandroid/net/INetd;->ipSecAddSecurityPolicy(IILjava/lang/String;Ljava/lang/String;III)V
-HSPLandroid/net/INetd;->ipSecAllocateSpi(ILjava/lang/String;Ljava/lang/String;I)I
-HSPLandroid/net/INetd;->ipSecApplyTransportModeTransform(Ljava/io/FileDescriptor;IILjava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/net/INetd;->ipSecDeleteSecurityAssociation(ILjava/lang/String;Ljava/lang/String;III)V
-HSPLandroid/net/INetd;->ipSecDeleteSecurityPolicy(IILjava/lang/String;Ljava/lang/String;II)V
-HSPLandroid/net/INetd;->ipSecRemoveTransportModeTransform(Ljava/io/FileDescriptor;)V
-HSPLandroid/net/INetd;->ipSecSetEncapSocketOwner(Ljava/io/FileDescriptor;I)V
-HSPLandroid/net/INetd;->ipSecUpdateSecurityPolicy(IILjava/lang/String;Ljava/lang/String;III)V
-HSPLandroid/net/INetd;->isAlive()Z
-HSPLandroid/net/INetd;->networkAddInterface(ILjava/lang/String;)V
-HSPLandroid/net/INetd;->networkAddUidRanges(I[Landroid/net/UidRange;)V
-HSPLandroid/net/INetd;->networkCreatePhysical(ILjava/lang/String;)V
-HSPLandroid/net/INetd;->networkCreateVpn(IZZ)V
-HSPLandroid/net/INetd;->networkDestroy(I)V
-HSPLandroid/net/INetd;->networkRejectNonSecureVpn(Z[Landroid/net/UidRange;)V
-HSPLandroid/net/INetd;->networkRemoveInterface(ILjava/lang/String;)V
-HSPLandroid/net/INetd;->networkRemoveUidRanges(I[Landroid/net/UidRange;)V
-HSPLandroid/net/INetd;->removeVirtualTunnelInterface(Ljava/lang/String;)V
-HSPLandroid/net/INetd;->setIPv6AddrGenMode(Ljava/lang/String;I)V
-HSPLandroid/net/INetd;->setMetricsReportingLevel(I)V
-HSPLandroid/net/INetd;->setProcSysNet(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/net/INetd;->setResolverConfiguration(I[Ljava/lang/String;[Ljava/lang/String;[ILjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
-HSPLandroid/net/INetd;->socketDestroy([Landroid/net/UidRange;[I)V
-HSPLandroid/net/INetd;->tetherApplyDnsInterfaces()Z
-HSPLandroid/net/INetd;->tetherGetStats()Landroid/os/PersistableBundle;
-HSPLandroid/net/INetd;->trafficCheckBpfStatsEnable()Z
-HSPLandroid/net/INetd;->updateVirtualTunnelInterface(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
-HSPLandroid/net/INetd;->wakeupAddInterface(Ljava/lang/String;Ljava/lang/String;II)V
-HSPLandroid/net/INetd;->wakeupDelInterface(Ljava/lang/String;Ljava/lang/String;II)V
 HSPLandroid/net/INetdEventCallback$Stub;-><init>()V
+HSPLandroid/net/INetdUnsolicitedEventListener$Stub;-><init>()V
+HSPLandroid/net/INetdUnsolicitedEventListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/net/INetdUnsolicitedEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/net/INetworkManagementEventObserver$Stub;-><init>()V
 HSPLandroid/net/INetworkManagementEventObserver$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/net/INetworkMonitor$Stub;-><init>()V
+HSPLandroid/net/INetworkMonitor$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/net/INetworkMonitor$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/net/INetworkMonitorCallbacks$Stub$Proxy;->hideProvisioningNotification()V
+HSPLandroid/net/INetworkMonitorCallbacks$Stub$Proxy;->notifyNetworkTested(ILjava/lang/String;)V
+HSPLandroid/net/INetworkMonitorCallbacks$Stub$Proxy;->onNetworkMonitorCreated(Landroid/net/INetworkMonitor;)V
 HSPLandroid/net/INetworkPolicyListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/INetworkPolicyListener$Stub$Proxy;->onMeteredIfacesChanged([Ljava/lang/String;)V
 HSPLandroid/net/INetworkPolicyListener$Stub$Proxy;->onUidRulesChanged(II)V
+HSPLandroid/net/INetworkPolicyListener$Stub;-><init>()V
 HSPLandroid/net/INetworkPolicyListener$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/net/INetworkPolicyListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/INetworkPolicyListener;->onMeteredIfacesChanged([Ljava/lang/String;)V
-HSPLandroid/net/INetworkPolicyListener;->onRestrictBackgroundChanged(Z)V
-HSPLandroid/net/INetworkPolicyListener;->onSubscriptionOverride(III)V
-HSPLandroid/net/INetworkPolicyListener;->onUidPoliciesChanged(II)V
-HSPLandroid/net/INetworkPolicyListener;->onUidRulesChanged(II)V
+HSPLandroid/net/INetworkPolicyManager$Stub$Proxy;->getNetworkPolicies(Ljava/lang/String;)[Landroid/net/NetworkPolicy;
 HSPLandroid/net/INetworkPolicyManager$Stub$Proxy;->getRestrictBackground()Z
 HSPLandroid/net/INetworkPolicyManager$Stub$Proxy;->getRestrictBackgroundByCaller()I
 HSPLandroid/net/INetworkPolicyManager$Stub$Proxy;->registerListener(Landroid/net/INetworkPolicyListener;)V
 HSPLandroid/net/INetworkPolicyManager$Stub;-><init>()V
 HSPLandroid/net/INetworkPolicyManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkPolicyManager;
 HSPLandroid/net/INetworkPolicyManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/INetworkPolicyManager;->addUidPolicy(II)V
-HSPLandroid/net/INetworkPolicyManager;->factoryReset(Ljava/lang/String;)V
-HSPLandroid/net/INetworkPolicyManager;->getNetworkPolicies(Ljava/lang/String;)[Landroid/net/NetworkPolicy;
-HSPLandroid/net/INetworkPolicyManager;->getNetworkQuotaInfo(Landroid/net/NetworkState;)Landroid/net/NetworkQuotaInfo;
-HSPLandroid/net/INetworkPolicyManager;->getRestrictBackground()Z
-HSPLandroid/net/INetworkPolicyManager;->getRestrictBackgroundByCaller()I
-HSPLandroid/net/INetworkPolicyManager;->getSubscriptionPlans(ILjava/lang/String;)[Landroid/telephony/SubscriptionPlan;
-HSPLandroid/net/INetworkPolicyManager;->getSubscriptionPlansOwner(I)Ljava/lang/String;
-HSPLandroid/net/INetworkPolicyManager;->getUidPolicy(I)I
-HSPLandroid/net/INetworkPolicyManager;->getUidsWithPolicy(I)[I
-HSPLandroid/net/INetworkPolicyManager;->isUidNetworkingBlocked(IZ)Z
-HSPLandroid/net/INetworkPolicyManager;->onTetheringChanged(Ljava/lang/String;Z)V
-HSPLandroid/net/INetworkPolicyManager;->registerListener(Landroid/net/INetworkPolicyListener;)V
-HSPLandroid/net/INetworkPolicyManager;->removeUidPolicy(II)V
-HSPLandroid/net/INetworkPolicyManager;->setDeviceIdleMode(Z)V
-HSPLandroid/net/INetworkPolicyManager;->setNetworkPolicies([Landroid/net/NetworkPolicy;)V
-HSPLandroid/net/INetworkPolicyManager;->setRestrictBackground(Z)V
-HSPLandroid/net/INetworkPolicyManager;->setSubscriptionOverride(IIIJLjava/lang/String;)V
-HSPLandroid/net/INetworkPolicyManager;->setSubscriptionPlans(I[Landroid/telephony/SubscriptionPlan;Ljava/lang/String;)V
-HSPLandroid/net/INetworkPolicyManager;->setUidPolicy(II)V
-HSPLandroid/net/INetworkPolicyManager;->setWifiMeteredOverride(Ljava/lang/String;I)V
-HSPLandroid/net/INetworkPolicyManager;->snoozeLimit(Landroid/net/NetworkTemplate;)V
-HSPLandroid/net/INetworkPolicyManager;->unregisterListener(Landroid/net/INetworkPolicyListener;)V
 HSPLandroid/net/INetworkScoreCache$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/net/INetworkScoreCache$Stub$Proxy;->clearScores()V
 HSPLandroid/net/INetworkScoreCache$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/net/INetworkScoreCache;->clearScores()V
-HSPLandroid/net/INetworkScoreCache;->updateScores(Ljava/util/List;)V
+HSPLandroid/net/INetworkScoreService$Stub$Proxy;->registerNetworkScoreCache(ILandroid/net/INetworkScoreCache;I)V
+HSPLandroid/net/INetworkScoreService$Stub$Proxy;->requestScores([Landroid/net/NetworkKey;)Z
 HSPLandroid/net/INetworkScoreService$Stub;-><init>()V
 HSPLandroid/net/INetworkScoreService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/INetworkScoreService;->clearScores()Z
-HSPLandroid/net/INetworkScoreService;->disableScoring()V
-HSPLandroid/net/INetworkScoreService;->getActiveScorer()Landroid/net/NetworkScorerAppData;
-HSPLandroid/net/INetworkScoreService;->getActiveScorerPackage()Ljava/lang/String;
-HSPLandroid/net/INetworkScoreService;->getAllValidScorers()Ljava/util/List;
-HSPLandroid/net/INetworkScoreService;->isCallerActiveScorer(I)Z
-HSPLandroid/net/INetworkScoreService;->registerNetworkScoreCache(ILandroid/net/INetworkScoreCache;I)V
-HSPLandroid/net/INetworkScoreService;->requestScores([Landroid/net/NetworkKey;)Z
-HSPLandroid/net/INetworkScoreService;->setActiveScorer(Ljava/lang/String;)Z
-HSPLandroid/net/INetworkScoreService;->unregisterNetworkScoreCache(ILandroid/net/INetworkScoreCache;)V
-HSPLandroid/net/INetworkScoreService;->updateScores([Landroid/net/ScoredNetwork;)Z
+HSPLandroid/net/INetworkStackConnector$Stub;-><init>()V
+HSPLandroid/net/INetworkStackConnector$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/net/INetworkStatsService$Stub$Proxy;->getIfaceStats(Ljava/lang/String;I)J
 HSPLandroid/net/INetworkStatsService$Stub$Proxy;->getMobileIfaces()[Ljava/lang/String;
 HSPLandroid/net/INetworkStatsService$Stub$Proxy;->getTotalStats(I)J
-HSPLandroid/net/INetworkStatsService$Stub$Proxy;->getUidStats(II)J
-HSPLandroid/net/INetworkStatsService$Stub$Proxy;->incrementOperationCount(III)V
+HSPLandroid/net/INetworkStatsService$Stub$Proxy;->openSession()Landroid/net/INetworkStatsSession;
 HSPLandroid/net/INetworkStatsService$Stub$Proxy;->openSessionForUsageStats(ILjava/lang/String;)Landroid/net/INetworkStatsSession;
 HSPLandroid/net/INetworkStatsService$Stub;-><init>()V
-HSPLandroid/net/INetworkStatsService;->forceUpdate()V
-HSPLandroid/net/INetworkStatsService;->forceUpdateIfaces([Landroid/net/Network;)V
-HSPLandroid/net/INetworkStatsService;->getDataLayerSnapshotForUid(I)Landroid/net/NetworkStats;
-HSPLandroid/net/INetworkStatsService;->getDetailedUidStats([Ljava/lang/String;)Landroid/net/NetworkStats;
-HSPLandroid/net/INetworkStatsService;->getIfaceStats(Ljava/lang/String;I)J
-HSPLandroid/net/INetworkStatsService;->getMobileIfaces()[Ljava/lang/String;
-HSPLandroid/net/INetworkStatsService;->getTotalStats(I)J
-HSPLandroid/net/INetworkStatsService;->getUidStats(II)J
-HSPLandroid/net/INetworkStatsService;->incrementOperationCount(III)V
-HSPLandroid/net/INetworkStatsService;->openSession()Landroid/net/INetworkStatsSession;
-HSPLandroid/net/INetworkStatsService;->openSessionForUsageStats(ILjava/lang/String;)Landroid/net/INetworkStatsSession;
-HSPLandroid/net/INetworkStatsService;->registerUsageCallback(Ljava/lang/String;Landroid/net/DataUsageRequest;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/DataUsageRequest;
-HSPLandroid/net/INetworkStatsService;->unregisterUsageRequest(Landroid/net/DataUsageRequest;)V
+HSPLandroid/net/INetworkStatsService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetworkStatsService;
 HSPLandroid/net/INetworkStatsSession$Stub$Proxy;->close()V
+HSPLandroid/net/INetworkStatsSession$Stub$Proxy;->getHistoryForNetwork(Landroid/net/NetworkTemplate;I)Landroid/net/NetworkStatsHistory;
+HSPLandroid/net/INetworkStatsSession$Stub$Proxy;->getHistoryIntervalForUid(Landroid/net/NetworkTemplate;IIIIJJ)Landroid/net/NetworkStatsHistory;
 HSPLandroid/net/INetworkStatsSession$Stub$Proxy;->getSummaryForAllUid(Landroid/net/NetworkTemplate;JJZ)Landroid/net/NetworkStats;
-HSPLandroid/net/INetworkStatsSession;->close()V
-HSPLandroid/net/INetworkStatsSession;->getDeviceSummaryForNetwork(Landroid/net/NetworkTemplate;JJ)Landroid/net/NetworkStats;
-HSPLandroid/net/INetworkStatsSession;->getHistoryForNetwork(Landroid/net/NetworkTemplate;I)Landroid/net/NetworkStatsHistory;
-HSPLandroid/net/INetworkStatsSession;->getHistoryForUid(Landroid/net/NetworkTemplate;IIII)Landroid/net/NetworkStatsHistory;
-HSPLandroid/net/INetworkStatsSession;->getHistoryIntervalForUid(Landroid/net/NetworkTemplate;IIIIJJ)Landroid/net/NetworkStatsHistory;
-HSPLandroid/net/INetworkStatsSession;->getRelevantUids()[I
-HSPLandroid/net/INetworkStatsSession;->getSummaryForAllUid(Landroid/net/NetworkTemplate;JJZ)Landroid/net/NetworkStats;
-HSPLandroid/net/INetworkStatsSession;->getSummaryForNetwork(Landroid/net/NetworkTemplate;JJ)Landroid/net/NetworkStats;
 HSPLandroid/net/ITetheringStatsProvider$Stub;-><init>()V
+HSPLandroid/net/InetAddresses;->parseNumericAddress(Ljava/lang/String;)Ljava/net/InetAddress;
 HSPLandroid/net/InterfaceConfiguration$1;-><init>()V
-HSPLandroid/net/InterfaceConfiguration;-><init>()V
+HSPLandroid/net/InterfaceConfiguration;->fromParcel(Landroid/net/InterfaceConfigurationParcel;)Landroid/net/InterfaceConfiguration;
 HSPLandroid/net/InterfaceConfiguration;->hasFlag(Ljava/lang/String;)Z
 HSPLandroid/net/InterfaceConfiguration;->isUp()Z
-HSPLandroid/net/InterfaceConfiguration;->setFlag(Ljava/lang/String;)V
+HSPLandroid/net/InterfaceConfigurationParcel$1;-><init>()V
+HSPLandroid/net/InterfaceConfigurationParcel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/InterfaceConfigurationParcel;
+HSPLandroid/net/InterfaceConfigurationParcel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/net/InterfaceConfigurationParcel;-><init>()V
+HSPLandroid/net/InterfaceConfigurationParcel;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/net/InterfaceConfigurationParcel;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/IpConfiguration$1;-><init>()V
 HSPLandroid/net/IpConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/IpConfiguration;
 HSPLandroid/net/IpConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -26197,7 +22712,6 @@
 HSPLandroid/net/IpConfiguration$IpAssignment;->values()[Landroid/net/IpConfiguration$IpAssignment;
 HSPLandroid/net/IpConfiguration$ProxySettings;-><init>(Ljava/lang/String;I)V
 HSPLandroid/net/IpConfiguration$ProxySettings;->values()[Landroid/net/IpConfiguration$ProxySettings;
-HSPLandroid/net/IpConfiguration;-><init>(Landroid/net/IpConfiguration;)V
 HSPLandroid/net/IpPrefix$2;-><init>()V
 HSPLandroid/net/IpPrefix$2;->createFromParcel(Landroid/os/Parcel;)Landroid/net/IpPrefix;
 HSPLandroid/net/IpPrefix$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -26205,42 +22719,90 @@
 HSPLandroid/net/IpPrefix;->checkAndMaskAddressAndPrefixLength()V
 HSPLandroid/net/IpPrefix;->equals(Ljava/lang/Object;)Z
 HSPLandroid/net/IpPrefix;->getAddress()Ljava/net/InetAddress;
+HSPLandroid/net/IpPrefix;->getPrefixLength()I
+HSPLandroid/net/IpPrefix;->hashCode()I
 HSPLandroid/net/IpPrefix;->toString()Ljava/lang/String;
-HSPLandroid/net/IpPrefix;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/IpPrefixParcelable$1;-><init>()V
+HSPLandroid/net/IpPrefixParcelable;-><init>()V
+HSPLandroid/net/IpPrefixParcelable;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/LinkAddress$1;-><init>()V
 HSPLandroid/net/LinkAddress$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/LinkAddress;
 HSPLandroid/net/LinkAddress$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/net/LinkAddress;-><init>(Ljava/lang/String;)V
 HSPLandroid/net/LinkAddress;-><init>(Ljava/lang/String;II)V
 HSPLandroid/net/LinkAddress;-><init>(Ljava/net/InetAddress;I)V
+HSPLandroid/net/LinkAddress;->equals(Ljava/lang/Object;)Z
 HSPLandroid/net/LinkAddress;->getAddress()Ljava/net/InetAddress;
+HSPLandroid/net/LinkAddress;->getFlags()I
 HSPLandroid/net/LinkAddress;->getNetworkPrefixLength()I
 HSPLandroid/net/LinkAddress;->getPrefixLength()I
+HSPLandroid/net/LinkAddress;->getScope()I
 HSPLandroid/net/LinkAddress;->init(Ljava/net/InetAddress;III)V
+HSPLandroid/net/LinkAddress;->isGlobalPreferred()Z
 HSPLandroid/net/LinkAddress;->isSameAddressAs(Landroid/net/LinkAddress;)Z
 HSPLandroid/net/LinkAddress;->scopeForUnicastAddress(Ljava/net/InetAddress;)I
 HSPLandroid/net/LinkAddress;->toString()Ljava/lang/String;
 HSPLandroid/net/LinkAddress;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/LinkAddressParcelable$1;-><init>()V
+HSPLandroid/net/LinkAddressParcelable;-><init>()V
+HSPLandroid/net/LinkAddressParcelable;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/LinkProperties$1;-><init>()V
 HSPLandroid/net/LinkProperties$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/LinkProperties;
 HSPLandroid/net/LinkProperties$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/net/LinkProperties$CompareResult;-><init>(Ljava/util/Collection;Ljava/util/Collection;)V
+HSPLandroid/net/LinkProperties$CompareResult;->toString()Ljava/lang/String;
 HSPLandroid/net/LinkProperties;-><init>()V
 HSPLandroid/net/LinkProperties;-><init>(Landroid/net/LinkProperties;)V
 HSPLandroid/net/LinkProperties;->addDnsServer(Ljava/net/InetAddress;)Z
 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;->clear()V
+HSPLandroid/net/LinkProperties;->compareAddresses(Landroid/net/LinkProperties;)Landroid/net/LinkProperties$CompareResult;
 HSPLandroid/net/LinkProperties;->equals(Ljava/lang/Object;)Z
 HSPLandroid/net/LinkProperties;->getAddresses()Ljava/util/List;
+HSPLandroid/net/LinkProperties;->getAllRoutes()Ljava/util/List;
 HSPLandroid/net/LinkProperties;->getDnsServers()Ljava/util/List;
+HSPLandroid/net/LinkProperties;->getDomains()Ljava/lang/String;
+HSPLandroid/net/LinkProperties;->getHttpProxy()Landroid/net/ProxyInfo;
 HSPLandroid/net/LinkProperties;->getInterfaceName()Ljava/lang/String;
 HSPLandroid/net/LinkProperties;->getLinkAddresses()Ljava/util/List;
+HSPLandroid/net/LinkProperties;->getMtu()I
+HSPLandroid/net/LinkProperties;->getNat64Prefix()Landroid/net/IpPrefix;
+HSPLandroid/net/LinkProperties;->getPcscfServers()Ljava/util/List;
+HSPLandroid/net/LinkProperties;->getPrivateDnsServerName()Ljava/lang/String;
+HSPLandroid/net/LinkProperties;->getRoutes()Ljava/util/List;
 HSPLandroid/net/LinkProperties;->getStackedLinks()Ljava/util/List;
+HSPLandroid/net/LinkProperties;->getTcpBufferSizes()Ljava/lang/String;
+HSPLandroid/net/LinkProperties;->getValidatedPrivateDnsServers()Ljava/util/List;
+HSPLandroid/net/LinkProperties;->hasGlobalIPv6Address()Z
+HSPLandroid/net/LinkProperties;->hasIPv4Address()Z
+HSPLandroid/net/LinkProperties;->hasIPv4AddressOnInterface(Ljava/lang/String;)Z
+HSPLandroid/net/LinkProperties;->hasIPv4DefaultRoute()Z
+HSPLandroid/net/LinkProperties;->hasIPv4DnsServer()Z
+HSPLandroid/net/LinkProperties;->hasIPv6DefaultRoute()Z
+HSPLandroid/net/LinkProperties;->isIPv6Provisioned()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
+HSPLandroid/net/LinkProperties;->isProvisioned()Z
+HSPLandroid/net/LinkProperties;->isReachable(Ljava/net/InetAddress;)Z
+HSPLandroid/net/LinkProperties;->setDnsServers(Ljava/util/Collection;)V
+HSPLandroid/net/LinkProperties;->setDomains(Ljava/lang/String;)V
+HSPLandroid/net/LinkProperties;->setHttpProxy(Landroid/net/ProxyInfo;)V
 HSPLandroid/net/LinkProperties;->setInterfaceName(Ljava/lang/String;)V
+HSPLandroid/net/LinkProperties;->setLinkAddresses(Ljava/util/Collection;)V
+HSPLandroid/net/LinkProperties;->setMtu(I)V
+HSPLandroid/net/LinkProperties;->setNat64Prefix(Landroid/net/IpPrefix;)V
+HSPLandroid/net/LinkProperties;->setTcpBufferSizes(Ljava/lang/String;)V
 HSPLandroid/net/LinkProperties;->toString()Ljava/lang/String;
 HSPLandroid/net/LinkProperties;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/LinkPropertiesParcelable$1;-><init>()V
+HSPLandroid/net/LinkPropertiesParcelable;-><init>()V
+HSPLandroid/net/LinkPropertiesParcelable;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/LocalServerSocket;-><init>(Ljava/io/FileDescriptor;)V
 HSPLandroid/net/LocalServerSocket;-><init>(Ljava/lang/String;)V
 HSPLandroid/net/LocalServerSocket;->accept()Landroid/net/LocalSocket;
@@ -26250,6 +22812,7 @@
 HSPLandroid/net/LocalSocket;-><init>(I)V
 HSPLandroid/net/LocalSocket;->close()V
 HSPLandroid/net/LocalSocket;->connect(Landroid/net/LocalSocketAddress;)V
+HSPLandroid/net/LocalSocket;->createConnectedLocalSocket(Ljava/io/FileDescriptor;)Landroid/net/LocalSocket;
 HSPLandroid/net/LocalSocket;->getAncillaryFileDescriptors()[Ljava/io/FileDescriptor;
 HSPLandroid/net/LocalSocket;->getFileDescriptor()Ljava/io/FileDescriptor;
 HSPLandroid/net/LocalSocket;->getInputStream()Ljava/io/InputStream;
@@ -26259,7 +22822,6 @@
 HSPLandroid/net/LocalSocket;->setSoTimeout(I)V
 HSPLandroid/net/LocalSocketAddress$Namespace;-><init>(Ljava/lang/String;II)V
 HSPLandroid/net/LocalSocketAddress;-><init>(Ljava/lang/String;)V
-HSPLandroid/net/LocalSocketAddress;-><init>(Ljava/lang/String;Landroid/net/LocalSocketAddress$Namespace;)V
 HSPLandroid/net/LocalSocketAddress;->getName()Ljava/lang/String;
 HSPLandroid/net/LocalSocketAddress;->getNamespace()Landroid/net/LocalSocketAddress$Namespace;
 HSPLandroid/net/LocalSocketImpl$SocketInputStream;->available()I
@@ -26267,7 +22829,6 @@
 HSPLandroid/net/LocalSocketImpl$SocketInputStream;->read([BII)I
 HSPLandroid/net/LocalSocketImpl$SocketOutputStream;->flush()V
 HSPLandroid/net/LocalSocketImpl$SocketOutputStream;->write(I)V
-HSPLandroid/net/LocalSocketImpl$SocketOutputStream;->write([B)V
 HSPLandroid/net/LocalSocketImpl$SocketOutputStream;->write([BII)V
 HSPLandroid/net/LocalSocketImpl;->accept(Landroid/net/LocalSocketImpl;)V
 HSPLandroid/net/LocalSocketImpl;->bind(Landroid/net/LocalSocketAddress;)V
@@ -26292,29 +22853,42 @@
 HSPLandroid/net/MacAddress;->fromString(Ljava/lang/String;)Landroid/net/MacAddress;
 HSPLandroid/net/MacAddress;->longAddrFromByteAddr([B)J
 HSPLandroid/net/MacAddress;->longAddrFromStringAddr(Ljava/lang/String;)J
+HSPLandroid/net/MacAddress;->toByteArray()[B
 HSPLandroid/net/MatchAllNetworkSpecifier$1;-><init>()V
+HSPLandroid/net/MatchAllNetworkSpecifier;-><init>()V
 HSPLandroid/net/Network$1;-><init>()V
 HSPLandroid/net/Network$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/Network;
 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;-><init>(Landroid/net/Network;)V
 HSPLandroid/net/Network;->bindSocket(Ljava/io/FileDescriptor;)V
 HSPLandroid/net/Network;->bindSocket(Ljava/net/Socket;)V
 HSPLandroid/net/Network;->equals(Ljava/lang/Object;)Z
+HSPLandroid/net/Network;->fromNetworkHandle(J)Landroid/net/Network;
+HSPLandroid/net/Network;->getAllByName(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;->maybeInitUrlConnectionFactory()V
+HSPLandroid/net/Network;->openConnection(Ljava/net/URL;)Ljava/net/URLConnection;
+HSPLandroid/net/Network;->openConnection(Ljava/net/URL;Ljava/net/Proxy;)Ljava/net/URLConnection;
 HSPLandroid/net/Network;->toString()Ljava/lang/String;
 HSPLandroid/net/Network;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/NetworkAgent;-><init>(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkInfo;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;ILandroid/net/NetworkMisc;)V
+HSPLandroid/net/NetworkAgent;-><init>(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkInfo;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;ILandroid/net/NetworkMisc;I)V
 HSPLandroid/net/NetworkAgent;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/net/NetworkAgent;->log(Ljava/lang/String;)V
 HSPLandroid/net/NetworkAgent;->queueOrSendMessage(Landroid/os/Message;)V
 HSPLandroid/net/NetworkAgent;->sendLinkProperties(Landroid/net/LinkProperties;)V
 HSPLandroid/net/NetworkAgent;->sendNetworkCapabilities(Landroid/net/NetworkCapabilities;)V
 HSPLandroid/net/NetworkAgent;->sendNetworkInfo(Landroid/net/NetworkInfo;)V
+HSPLandroid/net/NetworkAgent;->sendNetworkScore(I)V
 HSPLandroid/net/NetworkAgent;->setSignalStrengthThresholds([I)V
-HSPLandroid/net/NetworkAgent;->unwanted()V
 HSPLandroid/net/NetworkCapabilities$1;-><init>()V
 HSPLandroid/net/NetworkCapabilities$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkCapabilities;
 HSPLandroid/net/NetworkCapabilities$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -26347,15 +22921,18 @@
 HSPLandroid/net/NetworkCapabilities;->toString()Ljava/lang/String;
 HSPLandroid/net/NetworkCapabilities;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/NetworkConfig;-><init>(Ljava/lang/String;)V
+HSPLandroid/net/NetworkFactory$SerialNumber;->nextSerialNumber()I
 HSPLandroid/net/NetworkFactory;-><init>(Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkCapabilities;)V
 HSPLandroid/net/NetworkFactory;->acceptRequest(Landroid/net/NetworkRequest;I)Z
-HSPLandroid/net/NetworkFactory;->evalRequest(Landroid/net/NetworkFactory$NetworkRequestInfo;)V
-HSPLandroid/net/NetworkFactory;->handleAddRequest(Landroid/net/NetworkRequest;I)V
+HSPLandroid/net/NetworkFactory;->handleAddRequest(Landroid/net/NetworkRequest;II)V
 HSPLandroid/net/NetworkFactory;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/net/NetworkFactory;->handleRemoveRequest(Landroid/net/NetworkRequest;)V
 HSPLandroid/net/NetworkFactory;->log(Ljava/lang/String;)V
 HSPLandroid/net/NetworkFactory;->register()V
 HSPLandroid/net/NetworkFactory;->setCapabilityFilter(Landroid/net/NetworkCapabilities;)V
 HSPLandroid/net/NetworkFactory;->setScoreFilter(I)V
+HSPLandroid/net/NetworkFactory;->shouldNeedNetworkFor(Landroid/net/NetworkFactory$NetworkRequestInfo;)Z
+HSPLandroid/net/NetworkFactory;->shouldReleaseNetworkFor(Landroid/net/NetworkFactory$NetworkRequestInfo;)Z
 HSPLandroid/net/NetworkIdentity;->equals(Ljava/lang/Object;)Z
 HSPLandroid/net/NetworkIdentity;->hashCode()I
 HSPLandroid/net/NetworkInfo$1;-><init>()V
@@ -26369,7 +22946,6 @@
 HSPLandroid/net/NetworkInfo$State;->values()[Landroid/net/NetworkInfo$State;
 HSPLandroid/net/NetworkInfo;-><init>(IILjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/net/NetworkInfo;-><init>(Landroid/net/NetworkInfo;)V
-HSPLandroid/net/NetworkInfo;->describeContents()I
 HSPLandroid/net/NetworkInfo;->getDetailedState()Landroid/net/NetworkInfo$DetailedState;
 HSPLandroid/net/NetworkInfo;->getExtraInfo()Ljava/lang/String;
 HSPLandroid/net/NetworkInfo;->getReason()Ljava/lang/String;
@@ -26378,7 +22954,6 @@
 HSPLandroid/net/NetworkInfo;->getSubtypeName()Ljava/lang/String;
 HSPLandroid/net/NetworkInfo;->getType()I
 HSPLandroid/net/NetworkInfo;->getTypeName()Ljava/lang/String;
-HSPLandroid/net/NetworkInfo;->isAvailable()Z
 HSPLandroid/net/NetworkInfo;->isConnected()Z
 HSPLandroid/net/NetworkInfo;->isConnectedOrConnecting()Z
 HSPLandroid/net/NetworkInfo;->isRoaming()Z
@@ -26389,17 +22964,36 @@
 HSPLandroid/net/NetworkInfo;->setSubtype(ILjava/lang/String;)V
 HSPLandroid/net/NetworkInfo;->toString()Ljava/lang/String;
 HSPLandroid/net/NetworkInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/NetworkKey$1;-><init>()V
+HSPLandroid/net/NetworkKey;->createFromWifiInfo(Landroid/net/wifi/WifiInfo;)Landroid/net/NetworkKey;
+HSPLandroid/net/NetworkKey;->equals(Ljava/lang/Object;)Z
+HSPLandroid/net/NetworkKey;->hashCode()I
+HSPLandroid/net/NetworkKey;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/NetworkMisc$1;-><init>()V
+HSPLandroid/net/NetworkMisc;-><init>()V
 HSPLandroid/net/NetworkMisc;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/NetworkParcelable$1;-><init>()V
+HSPLandroid/net/NetworkParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkParcelable;
+HSPLandroid/net/NetworkParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/net/NetworkParcelable;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/net/NetworkPolicy$1;-><init>()V
+HSPLandroid/net/NetworkPolicy$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkPolicy;
+HSPLandroid/net/NetworkPolicy$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/net/NetworkPolicy$1;->newArray(I)[Landroid/net/NetworkPolicy;
+HSPLandroid/net/NetworkPolicy$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/net/NetworkPolicy;-><init>(Landroid/net/NetworkTemplate;Landroid/util/RecurrenceRule;JJJJJZZ)V
 HSPLandroid/net/NetworkPolicy;-><init>(Landroid/net/NetworkTemplate;Landroid/util/RecurrenceRule;JJJJZZ)V
+HSPLandroid/net/NetworkPolicy;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/net/NetworkPolicyManager$Listener;-><init>()V
 HSPLandroid/net/NetworkPolicyManager$Listener;->onMeteredIfacesChanged([Ljava/lang/String;)V
 HSPLandroid/net/NetworkPolicyManager$Listener;->onUidRulesChanged(II)V
+HSPLandroid/net/NetworkPolicyManager;-><init>(Landroid/content/Context;Landroid/net/INetworkPolicyManager;)V
 HSPLandroid/net/NetworkPolicyManager;->from(Landroid/content/Context;)Landroid/net/NetworkPolicyManager;
+HSPLandroid/net/NetworkPolicyManager;->getNetworkPolicies()[Landroid/net/NetworkPolicy;
 HSPLandroid/net/NetworkPolicyManager;->getRestrictBackground()Z
 HSPLandroid/net/NetworkPolicyManager;->registerListener(Landroid/net/INetworkPolicyListener;)V
+HSPLandroid/net/NetworkRecommendationProvider;-><init>(Landroid/content/Context;Ljava/util/concurrent/Executor;)V
+HSPLandroid/net/NetworkRecommendationProvider;->getBinder()Landroid/os/IBinder;
 HSPLandroid/net/NetworkRequest$1;-><init>()V
 HSPLandroid/net/NetworkRequest$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkRequest;
 HSPLandroid/net/NetworkRequest$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -26413,7 +23007,10 @@
 HSPLandroid/net/NetworkRequest$Builder;->setNetworkSpecifier(Ljava/lang/String;)Landroid/net/NetworkRequest$Builder;
 HSPLandroid/net/NetworkRequest$Type;-><init>(Ljava/lang/String;I)V
 HSPLandroid/net/NetworkRequest$Type;->values()[Landroid/net/NetworkRequest$Type;
+HSPLandroid/net/NetworkRequest;-><init>(Landroid/net/NetworkCapabilities;IILandroid/net/NetworkRequest$Type;)V
+HSPLandroid/net/NetworkRequest;-><init>(Landroid/net/NetworkRequest;)V
 HSPLandroid/net/NetworkRequest;->equals(Ljava/lang/Object;)Z
+HSPLandroid/net/NetworkRequest;->hasCapability(I)Z
 HSPLandroid/net/NetworkRequest;->hashCode()I
 HSPLandroid/net/NetworkRequest;->isBackgroundRequest()Z
 HSPLandroid/net/NetworkRequest;->isForegroundRequest()Z
@@ -26421,9 +23018,14 @@
 HSPLandroid/net/NetworkRequest;->isRequest()Z
 HSPLandroid/net/NetworkRequest;->toString()Ljava/lang/String;
 HSPLandroid/net/NetworkRequest;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/NetworkScoreManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/net/NetworkScoreManager;->getActiveScorerPackage()Ljava/lang/String;
 HSPLandroid/net/NetworkScoreManager;->registerNetworkScoreCache(ILandroid/net/INetworkScoreCache;I)V
-HSPLandroid/net/NetworkSpecifier;->satisfiedBy(Landroid/net/NetworkSpecifier;)Z
+HSPLandroid/net/NetworkScoreManager;->requestScores([Landroid/net/NetworkKey;)Z
+HSPLandroid/net/NetworkStack;-><init>()V
+HSPLandroid/net/NetworkStack;->makeIpClient(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;)V
+HSPLandroid/net/NetworkStack;->requestConnector(Landroid/net/NetworkStack$NetworkStackCallback;)V
+HSPLandroid/net/NetworkStack;->start(Landroid/content/Context;)V
 HSPLandroid/net/NetworkState$1;-><init>()V
 HSPLandroid/net/NetworkState;-><init>(Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;Landroid/net/Network;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/net/NetworkStats$1;-><init>()V
@@ -26434,30 +23036,38 @@
 HSPLandroid/net/NetworkStats$Entry;-><init>(Ljava/lang/String;IIIJJJJJ)V
 HSPLandroid/net/NetworkStats$Entry;->isEmpty()Z
 HSPLandroid/net/NetworkStats$Entry;->isNegative()Z
-HSPLandroid/net/NetworkStats$NonMonotonicObserver;->foundNonMonotonic(Landroid/net/NetworkStats;ILandroid/net/NetworkStats;ILjava/lang/Object;)V
 HSPLandroid/net/NetworkStats;-><init>(JI)V
 HSPLandroid/net/NetworkStats;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/net/NetworkStats;->addValues(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats;
-HSPLandroid/net/NetworkStats;->apply464xlatAdjustments(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Ljava/util/Map;)V
-HSPLandroid/net/NetworkStats;->apply464xlatAdjustments(Ljava/util/Map;)V
+HSPLandroid/net/NetworkStats;->apply464xlatAdjustments(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Ljava/util/Map;Z)V
+HSPLandroid/net/NetworkStats;->apply464xlatAdjustments(Ljava/util/Map;Z)V
 HSPLandroid/net/NetworkStats;->clear()V
+HSPLandroid/net/NetworkStats;->clone()Landroid/net/NetworkStats;
 HSPLandroid/net/NetworkStats;->combineAllValues(Landroid/net/NetworkStats;)V
+HSPLandroid/net/NetworkStats;->combineValues(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats;
 HSPLandroid/net/NetworkStats;->filter(I[Ljava/lang/String;I)V
+HSPLandroid/net/NetworkStats;->findIndex(Ljava/lang/String;IIIIII)I
 HSPLandroid/net/NetworkStats;->findIndexHinted(Ljava/lang/String;IIIIIII)I
 HSPLandroid/net/NetworkStats;->getElapsedRealtime()J
 HSPLandroid/net/NetworkStats;->getTotal(Landroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats$Entry;
 HSPLandroid/net/NetworkStats;->getTotal(Landroid/net/NetworkStats$Entry;Ljava/util/HashSet;IZ)Landroid/net/NetworkStats$Entry;
 HSPLandroid/net/NetworkStats;->getValues(ILandroid/net/NetworkStats$Entry;)Landroid/net/NetworkStats$Entry;
+HSPLandroid/net/NetworkStats;->maybeCopyEntry(II)V
+HSPLandroid/net/NetworkStats;->removeUids([I)V
+HSPLandroid/net/NetworkStats;->setElapsedRealtime(J)V
 HSPLandroid/net/NetworkStats;->setValues(ILandroid/net/NetworkStats$Entry;)V
 HSPLandroid/net/NetworkStats;->size()I
 HSPLandroid/net/NetworkStats;->subtract(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Landroid/net/NetworkStats$NonMonotonicObserver;Ljava/lang/Object;)Landroid/net/NetworkStats;
 HSPLandroid/net/NetworkStats;->subtract(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Landroid/net/NetworkStats$NonMonotonicObserver;Ljava/lang/Object;Landroid/net/NetworkStats;)Landroid/net/NetworkStats;
 HSPLandroid/net/NetworkStats;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/NetworkStatsHistory$1;-><init>()V
+HSPLandroid/net/NetworkStatsHistory$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkStatsHistory;
+HSPLandroid/net/NetworkStatsHistory$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/net/NetworkStatsHistory$DataStreamUtils;->readVarLong(Ljava/io/DataInputStream;)J
 HSPLandroid/net/NetworkStatsHistory$DataStreamUtils;->readVarLongArray(Ljava/io/DataInputStream;)[J
 HSPLandroid/net/NetworkStatsHistory;-><init>(J)V
 HSPLandroid/net/NetworkStatsHistory;-><init>(JII)V
+HSPLandroid/net/NetworkStatsHistory;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/net/NetworkStatsHistory;-><init>(Ljava/io/DataInputStream;)V
 HSPLandroid/net/NetworkStatsHistory;->addLong([JIJ)V
 HSPLandroid/net/NetworkStatsHistory;->ensureBuckets(JJ)V
@@ -26466,33 +23076,39 @@
 HSPLandroid/net/NetworkStatsHistory;->getIndexAfter(J)I
 HSPLandroid/net/NetworkStatsHistory;->getStart()J
 HSPLandroid/net/NetworkStatsHistory;->getTotalBytes()J
+HSPLandroid/net/NetworkStatsHistory;->getValues(ILandroid/net/NetworkStatsHistory$Entry;)Landroid/net/NetworkStatsHistory$Entry;
 HSPLandroid/net/NetworkStatsHistory;->insertBucket(IJ)V
 HSPLandroid/net/NetworkStatsHistory;->recordData(JJLandroid/net/NetworkStats$Entry;)V
 HSPLandroid/net/NetworkStatsHistory;->recordEntireHistory(Landroid/net/NetworkStatsHistory;)V
 HSPLandroid/net/NetworkStatsHistory;->recordHistory(Landroid/net/NetworkStatsHistory;JJ)V
 HSPLandroid/net/NetworkStatsHistory;->size()I
 HSPLandroid/net/NetworkTemplate$1;-><init>()V
+HSPLandroid/net/NetworkTemplate$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/NetworkTemplate;
+HSPLandroid/net/NetworkTemplate$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 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;->getNetworkId()Ljava/lang/String;
 HSPLandroid/net/NetworkTemplate;->getSubscriberId()Ljava/lang/String;
 HSPLandroid/net/NetworkTemplate;->hashCode()I
-HSPLandroid/net/NetworkTemplate;->isMatchRuleMobile()Z
 HSPLandroid/net/NetworkTemplate;->isPersistable()Z
-HSPLandroid/net/NetworkTemplate;->normalize(Landroid/net/NetworkTemplate;[Ljava/lang/String;)Landroid/net/NetworkTemplate;
 HSPLandroid/net/NetworkTemplate;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/NetworkUtils;->inetAddressToInt(Ljava/net/Inet4Address;)I
-HSPLandroid/net/NetworkUtils;->intToInetAddress(I)Ljava/net/InetAddress;
 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;
-HSPLandroid/net/NetworkUtils;->trimV4AddrZeros(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/net/NetworkUtils;->unparcelInetAddress(Landroid/os/Parcel;)Ljava/net/InetAddress;
-HSPLandroid/net/Proxy;->getDefaultHost()Ljava/lang/String;
-HSPLandroid/net/Proxy;->getDefaultPort()I
+HSPLandroid/net/PrivateDnsConfigParcel$1;-><init>()V
+HSPLandroid/net/PrivateDnsConfigParcel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/PrivateDnsConfigParcel;
+HSPLandroid/net/PrivateDnsConfigParcel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/net/PrivateDnsConfigParcel;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/net/ProvisioningConfigurationParcelable$1;-><init>()V
+HSPLandroid/net/ProvisioningConfigurationParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/ProvisioningConfigurationParcelable;
+HSPLandroid/net/ProvisioningConfigurationParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/net/ProvisioningConfigurationParcelable;->readFromParcel(Landroid/os/Parcel;)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
@@ -26503,22 +23119,29 @@
 HSPLandroid/net/RouteInfo;-><init>(Landroid/net/IpPrefix;Ljava/net/InetAddress;Ljava/lang/String;I)V
 HSPLandroid/net/RouteInfo;-><init>(Ljava/net/InetAddress;)V
 HSPLandroid/net/RouteInfo;->equals(Ljava/lang/Object;)Z
+HSPLandroid/net/RouteInfo;->getDestination()Landroid/net/IpPrefix;
+HSPLandroid/net/RouteInfo;->getGateway()Ljava/net/InetAddress;
+HSPLandroid/net/RouteInfo;->getInterface()Ljava/lang/String;
+HSPLandroid/net/RouteInfo;->getType()I
+HSPLandroid/net/RouteInfo;->hasGateway()Z
 HSPLandroid/net/RouteInfo;->isHost()Z
+HSPLandroid/net/RouteInfo;->matches(Ljava/net/InetAddress;)Z
+HSPLandroid/net/RouteInfo;->selectBestRoute(Ljava/util/Collection;Ljava/net/InetAddress;)Landroid/net/RouteInfo;
 HSPLandroid/net/RouteInfo;->toString()Ljava/lang/String;
-HSPLandroid/net/RouteInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/RouteInfoParcelable$1;-><init>()V
+HSPLandroid/net/RouteInfoParcelable;-><init>()V
+HSPLandroid/net/RouteInfoParcelable;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/SSLCertificateSocketFactory$1;-><init>()V
-HSPLandroid/net/SSLCertificateSocketFactory;->createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;
-HSPLandroid/net/SSLCertificateSocketFactory;->getDefault(ILandroid/net/SSLSessionCache;)Ljavax/net/ssl/SSLSocketFactory;
-HSPLandroid/net/SSLCertificateSocketFactory;->getDelegate()Ljavax/net/ssl/SSLSocketFactory;
-HSPLandroid/net/SSLCertificateSocketFactory;->getHttpSocketFactory(ILandroid/net/SSLSessionCache;)Lorg/apache/http/conn/ssl/SSLSocketFactory;
-HSPLandroid/net/SSLCertificateSocketFactory;->makeSocketFactory([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;)Ljavax/net/ssl/SSLSocketFactory;
-HSPLandroid/net/SSLCertificateSocketFactory;->verifyHostname(Ljava/net/Socket;Ljava/lang/String;)V
-HSPLandroid/net/SSLSessionCache;-><init>(Landroid/content/Context;)V
 HSPLandroid/net/SSLSessionCache;-><init>(Ljava/io/File;)V
 HSPLandroid/net/StaticIpConfiguration$1;-><init>()V
-HSPLandroid/net/StaticIpConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/StaticIpConfiguration;
-HSPLandroid/net/StaticIpConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/net/StaticIpConfiguration;->readFromParcel(Landroid/net/StaticIpConfiguration;Landroid/os/Parcel;)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/StaticIpConfigurationParcelable$1;-><init>()V
+HSPLandroid/net/StaticIpConfigurationParcelable;-><init>()V
+HSPLandroid/net/StaticIpConfigurationParcelable;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/StringNetworkSpecifier$1;-><init>()V
 HSPLandroid/net/StringNetworkSpecifier$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/StringNetworkSpecifier;
 HSPLandroid/net/StringNetworkSpecifier$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -26528,26 +23151,25 @@
 HSPLandroid/net/StringNetworkSpecifier;->satisfiedBy(Landroid/net/NetworkSpecifier;)Z
 HSPLandroid/net/StringNetworkSpecifier;->toString()Ljava/lang/String;
 HSPLandroid/net/StringNetworkSpecifier;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/TetherStatsParcel$1;-><init>()V
+HSPLandroid/net/TetherStatsParcel$1;->newArray(I)[Landroid/net/TetherStatsParcel;
+HSPLandroid/net/TetherStatsParcel$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/net/TrafficStats;->clearThreadStatsTag()V
 HSPLandroid/net/TrafficStats;->clearThreadStatsUid()V
+HSPLandroid/net/TrafficStats;->closeQuietly(Landroid/net/INetworkStatsSession;)V
 HSPLandroid/net/TrafficStats;->getAndSetThreadStatsTag(I)I
 HSPLandroid/net/TrafficStats;->getMobileIfaces()[Ljava/lang/String;
 HSPLandroid/net/TrafficStats;->getMobileRxBytes()J
-HSPLandroid/net/TrafficStats;->getMobileTcpRxPackets()J
-HSPLandroid/net/TrafficStats;->getMobileTcpTxPackets()J
+HSPLandroid/net/TrafficStats;->getMobileRxPackets()J
 HSPLandroid/net/TrafficStats;->getMobileTxBytes()J
-HSPLandroid/net/TrafficStats;->getRxBytes(Ljava/lang/String;)J
+HSPLandroid/net/TrafficStats;->getMobileTxPackets()J
+HSPLandroid/net/TrafficStats;->getRxPackets(Ljava/lang/String;)J
 HSPLandroid/net/TrafficStats;->getStatsService()Landroid/net/INetworkStatsService;
 HSPLandroid/net/TrafficStats;->getThreadStatsTag()I
 HSPLandroid/net/TrafficStats;->getTotalRxBytes()J
-HSPLandroid/net/TrafficStats;->getTotalTxBytes()J
-HSPLandroid/net/TrafficStats;->getTxBytes(Ljava/lang/String;)J
-HSPLandroid/net/TrafficStats;->getUidRxBytes(I)J
-HSPLandroid/net/TrafficStats;->getUidRxPackets(I)J
-HSPLandroid/net/TrafficStats;->getUidTxBytes(I)J
-HSPLandroid/net/TrafficStats;->getUidTxPackets(I)J
-HSPLandroid/net/TrafficStats;->incrementOperationCount(II)V
+HSPLandroid/net/TrafficStats;->getTxPackets(Ljava/lang/String;)J
 HSPLandroid/net/TrafficStats;->setThreadStatsTag(I)V
+HSPLandroid/net/TrafficStats;->setThreadStatsUid(I)V
 HSPLandroid/net/TrafficStats;->tagSocket(Ljava/net/Socket;)V
 HSPLandroid/net/TrafficStats;->untagSocket(Ljava/net/Socket;)V
 HSPLandroid/net/UidRange$1;-><init>()V
@@ -26556,19 +23178,22 @@
 HSPLandroid/net/UidRange;-><init>(II)V
 HSPLandroid/net/UidRange;->equals(Ljava/lang/Object;)Z
 HSPLandroid/net/UidRange;->hashCode()I
-HSPLandroid/net/UidRange;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/UidRangeParcel$1;-><init>()V
+HSPLandroid/net/UidRangeParcel;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/net/UidRangeParcel;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/Uri$1;-><init>()V
 HSPLandroid/net/Uri$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/Uri;
 HSPLandroid/net/Uri$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/net/Uri$1;->newArray(I)[Landroid/net/Uri;
 HSPLandroid/net/Uri$1;->newArray(I)[Ljava/lang/Object;
+HSPLandroid/net/Uri$AbstractHierarchicalUri;-><init>(Landroid/net/Uri$1;)V
+HSPLandroid/net/Uri$AbstractHierarchicalUri;->findPortSeparator(Ljava/lang/String;)I
 HSPLandroid/net/Uri$AbstractHierarchicalUri;->getHost()Ljava/lang/String;
 HSPLandroid/net/Uri$AbstractHierarchicalUri;->getLastPathSegment()Ljava/lang/String;
 HSPLandroid/net/Uri$AbstractHierarchicalUri;->getPort()I
 HSPLandroid/net/Uri$AbstractHierarchicalUri;->getUserInfo()Ljava/lang/String;
 HSPLandroid/net/Uri$AbstractHierarchicalUri;->parseHost()Ljava/lang/String;
 HSPLandroid/net/Uri$AbstractHierarchicalUri;->parsePort()I
-HSPLandroid/net/Uri$AbstractPart;->getDecoded()Ljava/lang/String;
 HSPLandroid/net/Uri$AbstractPart;->writeTo(Landroid/os/Parcel;)V
 HSPLandroid/net/Uri$Builder;-><init>()V
 HSPLandroid/net/Uri$Builder;->appendEncodedPath(Ljava/lang/String;)Landroid/net/Uri$Builder;
@@ -26579,11 +23204,9 @@
 HSPLandroid/net/Uri$Builder;->clearQuery()Landroid/net/Uri$Builder;
 HSPLandroid/net/Uri$Builder;->encodedAuthority(Ljava/lang/String;)Landroid/net/Uri$Builder;
 HSPLandroid/net/Uri$Builder;->encodedFragment(Ljava/lang/String;)Landroid/net/Uri$Builder;
-HSPLandroid/net/Uri$Builder;->encodedPath(Ljava/lang/String;)Landroid/net/Uri$Builder;
 HSPLandroid/net/Uri$Builder;->encodedQuery(Ljava/lang/String;)Landroid/net/Uri$Builder;
 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;->query(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
@@ -26595,7 +23218,6 @@
 HSPLandroid/net/Uri$HierarchicalUri;->getEncodedFragment()Ljava/lang/String;
 HSPLandroid/net/Uri$HierarchicalUri;->getEncodedPath()Ljava/lang/String;
 HSPLandroid/net/Uri$HierarchicalUri;->getEncodedQuery()Ljava/lang/String;
-HSPLandroid/net/Uri$HierarchicalUri;->getFragment()Ljava/lang/String;
 HSPLandroid/net/Uri$HierarchicalUri;->getPath()Ljava/lang/String;
 HSPLandroid/net/Uri$HierarchicalUri;->getPathSegments()Ljava/util/List;
 HSPLandroid/net/Uri$HierarchicalUri;->getQuery()Ljava/lang/String;
@@ -26613,10 +23235,12 @@
 HSPLandroid/net/Uri$Part$EmptyPart;-><init>(Ljava/lang/String;)V
 HSPLandroid/net/Uri$Part$EmptyPart;->isEmpty()Z
 HSPLandroid/net/Uri$Part;->from(Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri$Part;
+HSPLandroid/net/Uri$Part;->fromDecoded(Ljava/lang/String;)Landroid/net/Uri$Part;
 HSPLandroid/net/Uri$Part;->getEncoded()Ljava/lang/String;
 HSPLandroid/net/Uri$Part;->isEmpty()Z
 HSPLandroid/net/Uri$Part;->readFrom(Landroid/os/Parcel;)Landroid/net/Uri$Part;
 HSPLandroid/net/Uri$PathPart;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/net/Uri$PathPart;->appendDecodedSegment(Landroid/net/Uri$PathPart;Ljava/lang/String;)Landroid/net/Uri$PathPart;
 HSPLandroid/net/Uri$PathPart;->appendEncodedSegment(Landroid/net/Uri$PathPart;Ljava/lang/String;)Landroid/net/Uri$PathPart;
 HSPLandroid/net/Uri$PathPart;->getEncoded()Ljava/lang/String;
 HSPLandroid/net/Uri$PathPart;->getPathSegments()Landroid/net/Uri$PathSegments;
@@ -26631,14 +23255,10 @@
 HSPLandroid/net/Uri$StringUri;->buildUpon()Landroid/net/Uri$Builder;
 HSPLandroid/net/Uri$StringUri;->getAuthority()Ljava/lang/String;
 HSPLandroid/net/Uri$StringUri;->getEncodedAuthority()Ljava/lang/String;
-HSPLandroid/net/Uri$StringUri;->getEncodedFragment()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;->getPathPart()Landroid/net/Uri$PathPart;
 HSPLandroid/net/Uri$StringUri;->getPathSegments()Ljava/util/List;
-HSPLandroid/net/Uri$StringUri;->getQuery()Ljava/lang/String;
 HSPLandroid/net/Uri$StringUri;->getScheme()Ljava/lang/String;
 HSPLandroid/net/Uri$StringUri;->getSchemeSpecificPart()Ljava/lang/String;
 HSPLandroid/net/Uri$StringUri;->isHierarchical()Z
@@ -26649,7 +23269,7 @@
 HSPLandroid/net/Uri$StringUri;->parseQuery()Ljava/lang/String;
 HSPLandroid/net/Uri$StringUri;->toString()Ljava/lang/String;
 HSPLandroid/net/Uri$StringUri;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/net/Uri;->checkContentUriWithoutPermission(Ljava/lang/String;I)V
+HSPLandroid/net/Uri;->access$300()Ljava/lang/String;
 HSPLandroid/net/Uri;->checkFileUriExposed(Ljava/lang/String;)V
 HSPLandroid/net/Uri;->decode(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/net/Uri;->encode(Ljava/lang/String;)Ljava/lang/String;
@@ -26657,151 +23277,166 @@
 HSPLandroid/net/Uri;->equals(Ljava/lang/Object;)Z
 HSPLandroid/net/Uri;->fromFile(Ljava/io/File;)Landroid/net/Uri;
 HSPLandroid/net/Uri;->fromParts(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
-HSPLandroid/net/Uri;->getBooleanQueryParameter(Ljava/lang/String;Z)Z
-HSPLandroid/net/Uri;->getCanonicalUri()Landroid/net/Uri;
 HSPLandroid/net/Uri;->getQueryParameter(Ljava/lang/String;)Ljava/lang/String;
 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
 HSPLandroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri;
 HSPLandroid/net/Uri;->toSafeString()Ljava/lang/String;
 HSPLandroid/net/Uri;->withAppendedPath(Landroid/net/Uri;Ljava/lang/String;)Landroid/net/Uri;
-HSPLandroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;-><init>(I)V
-HSPLandroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;->characterIsLegal(C)Z
-HSPLandroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;->sanitize(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;->trimWhitespace(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/net/UrlQuerySanitizer$ValueSanitizer;->sanitize(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/net/UrlQuerySanitizer;-><init>()V
-HSPLandroid/net/UrlQuerySanitizer;->addSanitizedEntry(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/net/UrlQuerySanitizer;->clear()V
-HSPLandroid/net/UrlQuerySanitizer;->getAllButNulAndAngleBracketsLegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;
-HSPLandroid/net/UrlQuerySanitizer;->getAllIllegal()Landroid/net/UrlQuerySanitizer$ValueSanitizer;
-HSPLandroid/net/UrlQuerySanitizer;->getEffectiveValueSanitizer(Ljava/lang/String;)Landroid/net/UrlQuerySanitizer$ValueSanitizer;
-HSPLandroid/net/UrlQuerySanitizer;->getValue(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/net/UrlQuerySanitizer;->getValueSanitizer(Ljava/lang/String;)Landroid/net/UrlQuerySanitizer$ValueSanitizer;
-HSPLandroid/net/UrlQuerySanitizer;->hasParameter(Ljava/lang/String;)Z
-HSPLandroid/net/UrlQuerySanitizer;->parseEntry(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/net/UrlQuerySanitizer;->parseQuery(Ljava/lang/String;)V
-HSPLandroid/net/UrlQuerySanitizer;->registerParameters([Ljava/lang/String;Landroid/net/UrlQuerySanitizer$ValueSanitizer;)V
+HSPLandroid/net/Uri;->writeToParcel(Landroid/os/Parcel;Landroid/net/Uri;)V
+HSPLandroid/net/UriCodec;->appendDecoded(Ljava/lang/StringBuilder;Ljava/lang/String;ZLjava/nio/charset/Charset;Z)V
+HSPLandroid/net/UriCodec;->flushDecodingByteAccumulator(Ljava/lang/StringBuilder;Ljava/nio/charset/CharsetDecoder;Ljava/nio/ByteBuffer;Z)V
+HSPLandroid/net/UriCodec;->getNextCharacter(Ljava/lang/String;IILjava/lang/String;)C
+HSPLandroid/net/UriCodec;->hexCharToValue(C)I
 HSPLandroid/net/WebAddress;-><init>(Ljava/lang/String;)V
 HSPLandroid/net/WebAddress;->toString()Ljava/lang/String;
-HSPLandroid/net/http/HttpResponseCache;->getCache()Lcom/android/okhttp/Cache;
-HSPLandroid/net/http/HttpResponseCache;->getInstalled()Landroid/net/http/HttpResponseCache;
-HSPLandroid/net/http/HttpResponseCache;->install(Ljava/io/File;J)Landroid/net/http/HttpResponseCache;
-HSPLandroid/net/http/SslCertificate$DName;-><init>(Landroid/net/http/SslCertificate;Ljava/lang/String;)V
-HSPLandroid/net/http/SslCertificate$DName;->getCName()Ljava/lang/String;
-HSPLandroid/net/http/SslCertificate;-><init>(Ljava/security/cert/X509Certificate;)V
-HSPLandroid/net/http/SslCertificate;->getIssuedTo()Landroid/net/http/SslCertificate$DName;
+HSPLandroid/net/WifiKey$1;-><init>()V
+HSPLandroid/net/WifiKey;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/net/WifiKey;->equals(Ljava/lang/Object;)Z
+HSPLandroid/net/WifiKey;->hashCode()I
+HSPLandroid/net/WifiKey;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/apf/ApfCapabilities;-><init>(III)V
+HSPLandroid/net/apf/ApfCapabilities;->getApfDrop8023Frames(Landroid/content/Context;)Z
+HSPLandroid/net/apf/ApfCapabilities;->getApfEthTypeBlackList(Landroid/content/Context;)[I
+HSPLandroid/net/apf/ApfCapabilities;->hasDataAccess()Z
+HSPLandroid/net/apf/ApfCapabilities;->toString()Ljava/lang/String;
+HSPLandroid/net/captiveportal/CaptivePortalProbeResult;-><init>(I)V
+HSPLandroid/net/captiveportal/CaptivePortalProbeResult;-><init>(ILjava/lang/String;Ljava/lang/String;)V
+HSPLandroid/net/captiveportal/CaptivePortalProbeResult;->isPortal()Z
+HSPLandroid/net/captiveportal/CaptivePortalProbeResult;->isSuccessful()Z
 HSPLandroid/net/http/X509TrustManagerExtensions;-><init>(Ljavax/net/ssl/X509TrustManager;)V
 HSPLandroid/net/http/X509TrustManagerExtensions;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
+HSPLandroid/net/ip/IIpClient$Stub;-><init>()V
+HSPLandroid/net/ip/IIpClient$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/net/ip/IIpClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/net/ip/IIpClientCallbacks$Stub$Proxy;->installPacketFilter([B)V
+HSPLandroid/net/ip/IIpClientCallbacks$Stub$Proxy;->onIpClientCreated(Landroid/net/ip/IIpClient;)V
+HSPLandroid/net/ip/IIpClientCallbacks$Stub$Proxy;->onLinkPropertiesChange(Landroid/net/LinkPropertiesParcelable;)V
+HSPLandroid/net/ip/IIpClientCallbacks$Stub$Proxy;->onNewDhcpResults(Landroid/net/DhcpResultsParcelable;)V
+HSPLandroid/net/ip/IIpClientCallbacks$Stub$Proxy;->onPostDhcpAction()V
+HSPLandroid/net/ip/IIpClientCallbacks$Stub$Proxy;->onPreDhcpAction()V
+HSPLandroid/net/ip/IIpClientCallbacks$Stub$Proxy;->onProvisioningSuccess(Landroid/net/LinkPropertiesParcelable;)V
+HSPLandroid/net/ip/IIpClientCallbacks$Stub$Proxy;->setNeighborDiscoveryOffload(Z)V
+HSPLandroid/net/ip/IIpClientCallbacks$Stub;-><init>()V
+HSPLandroid/net/metrics/ApfProgramEvent$1;-><init>()V
+HSPLandroid/net/metrics/ApfProgramEvent$Builder;-><init>()V
+HSPLandroid/net/metrics/ApfProgramEvent$Builder;->setActualLifetime(J)Landroid/net/metrics/ApfProgramEvent$Builder;
+HSPLandroid/net/metrics/ApfProgramEvent$Builder;->setCurrentRas(I)Landroid/net/metrics/ApfProgramEvent$Builder;
+HSPLandroid/net/metrics/ApfProgramEvent$Builder;->setFilteredRas(I)Landroid/net/metrics/ApfProgramEvent$Builder;
+HSPLandroid/net/metrics/ApfProgramEvent$Builder;->setFlags(ZZ)Landroid/net/metrics/ApfProgramEvent$Builder;
+HSPLandroid/net/metrics/ApfProgramEvent$Builder;->setLifetime(J)Landroid/net/metrics/ApfProgramEvent$Builder;
+HSPLandroid/net/metrics/ApfProgramEvent$Builder;->setProgramLength(I)Landroid/net/metrics/ApfProgramEvent$Builder;
+HSPLandroid/net/metrics/ConnectStats;-><init>(IJLcom/android/internal/util/TokenBucket;I)V
+HSPLandroid/net/metrics/DhcpClientEvent$1;-><init>()V
+HSPLandroid/net/metrics/DhcpClientEvent$Builder;-><init>()V
+HSPLandroid/net/metrics/DhcpClientEvent$Builder;->build()Landroid/net/metrics/DhcpClientEvent;
+HSPLandroid/net/metrics/DhcpClientEvent$Builder;->setDurationMs(I)Landroid/net/metrics/DhcpClientEvent$Builder;
+HSPLandroid/net/metrics/DhcpClientEvent$Builder;->setMsg(Ljava/lang/String;)Landroid/net/metrics/DhcpClientEvent$Builder;
+HSPLandroid/net/metrics/DhcpClientEvent;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/metrics/DnsEvent;->addResult(BBI)Z
+HSPLandroid/net/metrics/IpConnectivityLog;-><init>()V
+HSPLandroid/net/metrics/IpConnectivityLog;->log(I[ILandroid/net/metrics/IpConnectivityLog$Event;)Z
+HSPLandroid/net/metrics/IpConnectivityLog;->log(Landroid/net/ConnectivityMetricsEvent;)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/IpManagerEvent$1;-><init>()V
+HSPLandroid/net/metrics/IpManagerEvent;-><init>(IJ)V
+HSPLandroid/net/metrics/IpManagerEvent;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/metrics/NetworkEvent$1;-><init>()V
+HSPLandroid/net/metrics/NetworkEvent;-><init>(I)V
+HSPLandroid/net/metrics/NetworkEvent;-><init>(IJ)V
+HSPLandroid/net/metrics/NetworkEvent;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/net/metrics/NetworkMetrics$Metrics;->count(D)V
+HSPLandroid/net/metrics/NetworkMetrics$Metrics;->count(DI)V
+HSPLandroid/net/metrics/NetworkMetrics$Summary;-><init>(IJ)V
+HSPLandroid/net/metrics/NetworkMetrics;-><init>(IJLcom/android/internal/util/TokenBucket;)V
+HSPLandroid/net/metrics/NetworkMetrics;->addDnsResult(III)V
+HSPLandroid/net/metrics/ValidationProbeEvent$1;-><init>()V
+HSPLandroid/net/metrics/ValidationProbeEvent$Builder;-><init>()V
+HSPLandroid/net/metrics/ValidationProbeEvent$Builder;->build()Landroid/net/metrics/ValidationProbeEvent;
+HSPLandroid/net/metrics/ValidationProbeEvent$Builder;->setDurationMs(J)Landroid/net/metrics/ValidationProbeEvent$Builder;
+HSPLandroid/net/metrics/ValidationProbeEvent$Builder;->setProbeType(IZ)Landroid/net/metrics/ValidationProbeEvent$Builder;
+HSPLandroid/net/metrics/ValidationProbeEvent$Builder;->setReturnCode(I)Landroid/net/metrics/ValidationProbeEvent$Builder;
+HSPLandroid/net/metrics/ValidationProbeEvent;->getProbeName(I)Ljava/lang/String;
+HSPLandroid/net/metrics/ValidationProbeEvent;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/nsd/INsdManager$Stub;-><init>()V
-HSPLandroid/net/nsd/INsdManager;->getMessenger()Landroid/os/Messenger;
-HSPLandroid/net/nsd/INsdManager;->setEnabled(Z)V
+HSPLandroid/net/shared/-$$Lambda$FdEventsReader$JMDLI8zzPKEcGIINWmoWVahp5hA;->onFileDescriptorEvents(Ljava/io/FileDescriptor;I)I
+HSPLandroid/net/shared/FdEventsReader;-><init>(Landroid/os/Handler;Ljava/lang/Object;)V
+HSPLandroid/net/shared/FdEventsReader;->createAndRegisterFd()V
+HSPLandroid/net/shared/FdEventsReader;->handleInput()Z
+HSPLandroid/net/shared/FdEventsReader;->onStart()V
+HSPLandroid/net/shared/FdEventsReader;->start()V
+HSPLandroid/net/shared/Inet4AddressUtils;->inet4AddressToIntHTH(Ljava/net/Inet4Address;)I
+HSPLandroid/net/shared/Inet4AddressUtils;->intToInet4AddressHTH(I)Ljava/net/Inet4Address;
+HSPLandroid/net/shared/Inet4AddressUtils;->netmaskToPrefixLength(Ljava/net/Inet4Address;)I
+HSPLandroid/net/util/-$$Lambda$MultinetworkPolicyTracker$0siHK6f4lHJz8hbdHbT6G4Kp-V4;->run()V
+HSPLandroid/net/util/MultinetworkPolicyTracker$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HSPLandroid/net/util/MultinetworkPolicyTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/Runnable;)V
+HSPLandroid/net/util/MultinetworkPolicyTracker;->configMeteredMultipathPreference()I
+HSPLandroid/net/util/MultinetworkPolicyTracker;->configRestrictsAvoidBadWifi()Z
+HSPLandroid/net/util/MultinetworkPolicyTracker;->getAvoidBadWifiSetting()Ljava/lang/String;
+HSPLandroid/net/util/MultinetworkPolicyTracker;->lambda$new$0$MultinetworkPolicyTracker(Ljava/lang/Runnable;)V
+HSPLandroid/net/util/MultinetworkPolicyTracker;->reevaluate()V
+HSPLandroid/net/util/MultinetworkPolicyTracker;->start()V
+HSPLandroid/net/util/MultinetworkPolicyTracker;->updateAvoidBadWifi()Z
+HSPLandroid/net/util/MultinetworkPolicyTracker;->updateMeteredMultipathPreference()V
+HSPLandroid/net/util/SocketUtils;->attachControlPacketFilter(Ljava/io/FileDescriptor;I)V
+HSPLandroid/net/util/SocketUtils;->attachDhcpFilter(Ljava/io/FileDescriptor;)V
+HSPLandroid/net/util/SocketUtils;->attachRaFilter(Ljava/io/FileDescriptor;I)V
+HSPLandroid/net/util/SocketUtils;->bindSocket(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
+HSPLandroid/net/util/SocketUtils;->bindSocketToInterface(Ljava/io/FileDescriptor;Ljava/lang/String;)V
+HSPLandroid/net/util/SocketUtils;->connectSocket(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
+HSPLandroid/net/util/SocketUtils;->makeNetlinkSocketAddress(II)Ljava/net/SocketAddress;
+HSPLandroid/net/util/SocketUtils;->makePacketSocketAddress(I[B)Ljava/net/SocketAddress;
+HSPLandroid/net/util/SocketUtils;->makePacketSocketAddress(SI)Ljava/net/SocketAddress;
+HSPLandroid/net/util/SocketUtils;->sendTo(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)V
 HSPLandroid/net/wifi/ISoftApCallback$Stub$Proxy;->onNumClientsChanged(I)V
 HSPLandroid/net/wifi/ISoftApCallback$Stub$Proxy;->onStateChanged(II)V
-HSPLandroid/net/wifi/ISoftApCallback;->onNumClientsChanged(I)V
-HSPLandroid/net/wifi/ISoftApCallback;->onStateChanged(II)V
+HSPLandroid/net/wifi/ISoftApCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/ISoftApCallback;
+HSPLandroid/net/wifi/ITrafficStateCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/ITrafficStateCallback;
 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;->getConfiguredNetworks()Landroid/content/pm/ParceledListSlice;
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getAllMatchingFqdnsForScanResults(Ljava/util/List;)Ljava/util/Map;
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getConfiguredNetworks(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
 HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getConnectionInfo(Ljava/lang/String;)Landroid/net/wifi/WifiInfo;
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getDhcpInfo()Landroid/net/DhcpInfo;
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getCurrentNetwork()Landroid/net/Network;
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getMatchingOsuProviders(Ljava/util/List;)Ljava/util/Map;
+HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->getMatchingPasspointConfigsForOsuProviders(Ljava/util/List;)Ljava/util/Map;
 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;->needs5GHzToAnyApBandConversion()Z
 HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->releaseWifiLock(Landroid/os/IBinder;)Z
-HSPLandroid/net/wifi/IWifiManager$Stub$Proxy;->removeNetwork(ILjava/lang/String;)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;
 HSPLandroid/net/wifi/IWifiManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/net/wifi/IWifiManager;->acquireMulticastLock(Landroid/os/IBinder;Ljava/lang/String;)V
-HSPLandroid/net/wifi/IWifiManager;->acquireWifiLock(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/WorkSource;)Z
-HSPLandroid/net/wifi/IWifiManager;->addOrUpdateNetwork(Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;)I
-HSPLandroid/net/wifi/IWifiManager;->addOrUpdatePasspointConfiguration(Landroid/net/wifi/hotspot2/PasspointConfiguration;Ljava/lang/String;)Z
-HSPLandroid/net/wifi/IWifiManager;->deauthenticateNetwork(JZ)V
-HSPLandroid/net/wifi/IWifiManager;->disableEphemeralNetwork(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/net/wifi/IWifiManager;->disableNetwork(ILjava/lang/String;)Z
-HSPLandroid/net/wifi/IWifiManager;->disconnect(Ljava/lang/String;)V
-HSPLandroid/net/wifi/IWifiManager;->enableNetwork(IZLjava/lang/String;)Z
-HSPLandroid/net/wifi/IWifiManager;->enableTdls(Ljava/lang/String;Z)V
-HSPLandroid/net/wifi/IWifiManager;->enableTdlsWithMacAddress(Ljava/lang/String;Z)V
-HSPLandroid/net/wifi/IWifiManager;->enableVerboseLogging(I)V
-HSPLandroid/net/wifi/IWifiManager;->enableWifiConnectivityManager(Z)V
-HSPLandroid/net/wifi/IWifiManager;->factoryReset(Ljava/lang/String;)V
-HSPLandroid/net/wifi/IWifiManager;->getAllMatchingWifiConfigs(Landroid/net/wifi/ScanResult;)Ljava/util/List;
-HSPLandroid/net/wifi/IWifiManager;->getConfiguredNetworks()Landroid/content/pm/ParceledListSlice;
-HSPLandroid/net/wifi/IWifiManager;->getConnectionInfo(Ljava/lang/String;)Landroid/net/wifi/WifiInfo;
-HSPLandroid/net/wifi/IWifiManager;->getCountryCode()Ljava/lang/String;
-HSPLandroid/net/wifi/IWifiManager;->getCurrentNetwork()Landroid/net/Network;
-HSPLandroid/net/wifi/IWifiManager;->getCurrentNetworkWpsNfcConfigurationToken()Ljava/lang/String;
-HSPLandroid/net/wifi/IWifiManager;->getDhcpInfo()Landroid/net/DhcpInfo;
-HSPLandroid/net/wifi/IWifiManager;->getMatchingOsuProviders(Landroid/net/wifi/ScanResult;)Ljava/util/List;
-HSPLandroid/net/wifi/IWifiManager;->getMatchingWifiConfig(Landroid/net/wifi/ScanResult;)Landroid/net/wifi/WifiConfiguration;
-HSPLandroid/net/wifi/IWifiManager;->getPasspointConfigurations()Ljava/util/List;
-HSPLandroid/net/wifi/IWifiManager;->getPrivilegedConfiguredNetworks()Landroid/content/pm/ParceledListSlice;
-HSPLandroid/net/wifi/IWifiManager;->getScanResults(Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/net/wifi/IWifiManager;->getSupportedFeatures()I
-HSPLandroid/net/wifi/IWifiManager;->getVerboseLoggingLevel()I
-HSPLandroid/net/wifi/IWifiManager;->getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
-HSPLandroid/net/wifi/IWifiManager;->getWifiApEnabledState()I
-HSPLandroid/net/wifi/IWifiManager;->getWifiEnabledState()I
-HSPLandroid/net/wifi/IWifiManager;->getWifiServiceMessenger(Ljava/lang/String;)Landroid/os/Messenger;
-HSPLandroid/net/wifi/IWifiManager;->initializeMulticastFiltering()V
-HSPLandroid/net/wifi/IWifiManager;->isDualBandSupported()Z
-HSPLandroid/net/wifi/IWifiManager;->isMulticastEnabled()Z
-HSPLandroid/net/wifi/IWifiManager;->isScanAlwaysAvailable()Z
-HSPLandroid/net/wifi/IWifiManager;->matchProviderWithCurrentNetwork(Ljava/lang/String;)I
-HSPLandroid/net/wifi/IWifiManager;->queryPasspointIcon(JLjava/lang/String;)V
-HSPLandroid/net/wifi/IWifiManager;->reassociate(Ljava/lang/String;)V
-HSPLandroid/net/wifi/IWifiManager;->reconnect(Ljava/lang/String;)V
-HSPLandroid/net/wifi/IWifiManager;->registerSoftApCallback(Landroid/os/IBinder;Landroid/net/wifi/ISoftApCallback;I)V
-HSPLandroid/net/wifi/IWifiManager;->releaseMulticastLock()V
-HSPLandroid/net/wifi/IWifiManager;->releaseWifiLock(Landroid/os/IBinder;)Z
-HSPLandroid/net/wifi/IWifiManager;->removeNetwork(ILjava/lang/String;)Z
-HSPLandroid/net/wifi/IWifiManager;->removePasspointConfiguration(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/net/wifi/IWifiManager;->reportActivityInfo()Landroid/net/wifi/WifiActivityEnergyInfo;
-HSPLandroid/net/wifi/IWifiManager;->requestActivityInfo(Landroid/os/ResultReceiver;)V
-HSPLandroid/net/wifi/IWifiManager;->restoreBackupData([B)V
-HSPLandroid/net/wifi/IWifiManager;->restoreSupplicantBackupData([B[B)V
-HSPLandroid/net/wifi/IWifiManager;->retrieveBackupData()[B
-HSPLandroid/net/wifi/IWifiManager;->setCountryCode(Ljava/lang/String;)V
-HSPLandroid/net/wifi/IWifiManager;->setWifiApConfiguration(Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;)Z
-HSPLandroid/net/wifi/IWifiManager;->setWifiEnabled(Ljava/lang/String;Z)Z
-HSPLandroid/net/wifi/IWifiManager;->startLocalOnlyHotspot(Landroid/os/Messenger;Landroid/os/IBinder;Ljava/lang/String;)I
-HSPLandroid/net/wifi/IWifiManager;->startScan(Ljava/lang/String;)Z
-HSPLandroid/net/wifi/IWifiManager;->startSoftAp(Landroid/net/wifi/WifiConfiguration;)Z
-HSPLandroid/net/wifi/IWifiManager;->startSubscriptionProvisioning(Landroid/net/wifi/hotspot2/OsuProvider;Landroid/net/wifi/hotspot2/IProvisioningCallback;)V
-HSPLandroid/net/wifi/IWifiManager;->startWatchLocalOnlyHotspot(Landroid/os/Messenger;Landroid/os/IBinder;)V
-HSPLandroid/net/wifi/IWifiManager;->stopLocalOnlyHotspot()V
-HSPLandroid/net/wifi/IWifiManager;->stopSoftAp()Z
-HSPLandroid/net/wifi/IWifiManager;->stopWatchLocalOnlyHotspot()V
-HSPLandroid/net/wifi/IWifiManager;->unregisterSoftApCallback(I)V
-HSPLandroid/net/wifi/IWifiManager;->updateInterfaceIpState(Ljava/lang/String;I)V
-HSPLandroid/net/wifi/IWifiManager;->updateWifiLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;)V
+HSPLandroid/net/wifi/IWifiScanner$Stub$Proxy;->getMessenger()Landroid/os/Messenger;
 HSPLandroid/net/wifi/IWifiScanner$Stub;-><init>()V
 HSPLandroid/net/wifi/IWifiScanner$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/IWifiScanner;
-HSPLandroid/net/wifi/IWifiScanner;->getAvailableChannels(I)Landroid/os/Bundle;
-HSPLandroid/net/wifi/IWifiScanner;->getMessenger()Landroid/os/Messenger;
 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;
 HSPLandroid/net/wifi/ScanResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/net/wifi/ScanResult$RadioChainInfo;->toString()Ljava/lang/String;
 HSPLandroid/net/wifi/ScanResult;-><init>(Landroid/net/wifi/WifiSsid;Ljava/lang/String;Ljava/lang/String;JILjava/lang/String;IIJIIIIIZ)V
 HSPLandroid/net/wifi/ScanResult;-><init>(Ljava/lang/String;Ljava/lang/String;JILjava/lang/String;IIJIIIIIZ)V
+HSPLandroid/net/wifi/ScanResult;->is80211mcResponder()Z
+HSPLandroid/net/wifi/ScanResult;->toString()Ljava/lang/String;
 HSPLandroid/net/wifi/SupplicantState$1;-><init>()V
 HSPLandroid/net/wifi/SupplicantState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/SupplicantState;
 HSPLandroid/net/wifi/SupplicantState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/net/wifi/SupplicantState;-><init>(Ljava/lang/String;I)V
 HSPLandroid/net/wifi/SupplicantState;->values()[Landroid/net/wifi/SupplicantState;
 HSPLandroid/net/wifi/WifiActivityEnergyInfo$1;-><init>()V
-HSPLandroid/net/wifi/WifiActivityEnergyInfo;-><init>(JIJ[JJJJJ)V
 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;
@@ -26817,6 +23452,7 @@
 HSPLandroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;->setNotRecommended(Z)V
 HSPLandroid/net/wifi/WifiConfiguration$RecentFailure;->setAssociationStatus(I)V
 HSPLandroid/net/wifi/WifiConfiguration;-><init>()V
+HSPLandroid/net/wifi/WifiConfiguration;->isPasspoint()Z
 HSPLandroid/net/wifi/WifiEnterpriseConfig$1;-><init>()V
 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;
@@ -26825,294 +23461,151 @@
 HSPLandroid/net/wifi/WifiInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/net/wifi/WifiInfo;-><init>()V
 HSPLandroid/net/wifi/WifiInfo;->getBSSID()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiInfo;->getFrequency()I
-HSPLandroid/net/wifi/WifiInfo;->getHiddenSSID()Z
 HSPLandroid/net/wifi/WifiInfo;->getIpAddress()I
 HSPLandroid/net/wifi/WifiInfo;->getLinkSpeed()I
-HSPLandroid/net/wifi/WifiInfo;->getMacAddress()Ljava/lang/String;
 HSPLandroid/net/wifi/WifiInfo;->getNetworkId()I
 HSPLandroid/net/wifi/WifiInfo;->getRssi()I
 HSPLandroid/net/wifi/WifiInfo;->getSSID()Ljava/lang/String;
-HSPLandroid/net/wifi/WifiInfo;->getSupplicantState()Landroid/net/wifi/SupplicantState;
 HSPLandroid/net/wifi/WifiInfo;->is5GHz()Z
+HSPLandroid/net/wifi/WifiInfo;->isOsuAp()Z
 HSPLandroid/net/wifi/WifiInfo;->removeDoubleQuotes(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/net/wifi/WifiInfo;->reset()V
-HSPLandroid/net/wifi/WifiInfo;->setBSSID(Ljava/lang/String;)V
-HSPLandroid/net/wifi/WifiInfo;->setEphemeral(Z)V
-HSPLandroid/net/wifi/WifiInfo;->setFrequency(I)V
-HSPLandroid/net/wifi/WifiInfo;->setInetAddress(Ljava/net/InetAddress;)V
-HSPLandroid/net/wifi/WifiInfo;->setLinkSpeed(I)V
-HSPLandroid/net/wifi/WifiInfo;->setMacAddress(Ljava/lang/String;)V
-HSPLandroid/net/wifi/WifiInfo;->setMeteredHint(Z)V
-HSPLandroid/net/wifi/WifiInfo;->setNetworkId(I)V
-HSPLandroid/net/wifi/WifiInfo;->setRssi(I)V
-HSPLandroid/net/wifi/WifiInfo;->setSSID(Landroid/net/wifi/WifiSsid;)V
-HSPLandroid/net/wifi/WifiInfo;->setSupplicantState(Landroid/net/wifi/SupplicantState;)V
 HSPLandroid/net/wifi/WifiInfo;->toString()Ljava/lang/String;
 HSPLandroid/net/wifi/WifiManager$MulticastLock;->acquire()V
-HSPLandroid/net/wifi/WifiManager$MulticastLock;->isHeld()Z
 HSPLandroid/net/wifi/WifiManager$MulticastLock;->setReferenceCounted(Z)V
-HSPLandroid/net/wifi/WifiManager$SoftApCallback;->onNumClientsChanged(I)V
-HSPLandroid/net/wifi/WifiManager$SoftApCallback;->onStateChanged(II)V
 HSPLandroid/net/wifi/WifiManager$WifiLock;->acquire()V
-HSPLandroid/net/wifi/WifiManager$WifiLock;->finalize()V
-HSPLandroid/net/wifi/WifiManager$WifiLock;->isHeld()Z
 HSPLandroid/net/wifi/WifiManager$WifiLock;->release()V
 HSPLandroid/net/wifi/WifiManager$WifiLock;->setReferenceCounted(Z)V
-HSPLandroid/net/wifi/WifiManager$WifiLock;->toString()Ljava/lang/String;
 HSPLandroid/net/wifi/WifiManager;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiManager;Landroid/os/Looper;)V
 HSPLandroid/net/wifi/WifiManager;->calculateSignalLevel(II)I
 HSPLandroid/net/wifi/WifiManager;->createMulticastLock(Ljava/lang/String;)Landroid/net/wifi/WifiManager$MulticastLock;
 HSPLandroid/net/wifi/WifiManager;->createWifiLock(ILjava/lang/String;)Landroid/net/wifi/WifiManager$WifiLock;
-HSPLandroid/net/wifi/WifiManager;->createWifiLock(Ljava/lang/String;)Landroid/net/wifi/WifiManager$WifiLock;
+HSPLandroid/net/wifi/WifiManager;->getAllMatchingWifiConfigs(Ljava/util/List;)Ljava/util/List;
 HSPLandroid/net/wifi/WifiManager;->getConfiguredNetworks()Ljava/util/List;
 HSPLandroid/net/wifi/WifiManager;->getConnectionInfo()Landroid/net/wifi/WifiInfo;
-HSPLandroid/net/wifi/WifiManager;->getDhcpInfo()Landroid/net/DhcpInfo;
+HSPLandroid/net/wifi/WifiManager;->getCurrentNetwork()Landroid/net/Network;
+HSPLandroid/net/wifi/WifiManager;->getMatchingOsuProviders(Ljava/util/List;)Ljava/util/Map;
+HSPLandroid/net/wifi/WifiManager;->getMatchingPasspointConfigsForOsuProviders(Ljava/util/Set;)Ljava/util/Map;
 HSPLandroid/net/wifi/WifiManager;->getScanResults()Ljava/util/List;
+HSPLandroid/net/wifi/WifiManager;->getSupportedFeatures()J
+HSPLandroid/net/wifi/WifiManager;->getVerboseLoggingLevel()I
 HSPLandroid/net/wifi/WifiManager;->getWifiApState()I
 HSPLandroid/net/wifi/WifiManager;->getWifiState()I
+HSPLandroid/net/wifi/WifiManager;->isDualModeSupported()Z
+HSPLandroid/net/wifi/WifiManager;->isOweSupported()Z
 HSPLandroid/net/wifi/WifiManager;->isScanAlwaysAvailable()Z
 HSPLandroid/net/wifi/WifiManager;->isWifiApEnabled()Z
 HSPLandroid/net/wifi/WifiManager;->isWifiEnabled()Z
-HSPLandroid/net/wifi/WifiManager;->removeNetwork(I)Z
+HSPLandroid/net/wifi/WifiManager;->isWpa3SaeSupported()Z
+HSPLandroid/net/wifi/WifiManager;->isWpa3SuiteBSupported()Z
 HSPLandroid/net/wifi/WifiManager;->setCountryCode(Ljava/lang/String;)V
 HSPLandroid/net/wifi/WifiManager;->startScan()Z
 HSPLandroid/net/wifi/WifiManager;->startScan(Landroid/os/WorkSource;)Z
+HSPLandroid/net/wifi/WifiNetworkScoreCache$CacheListener;-><init>(Landroid/os/Handler;)V
 HSPLandroid/net/wifi/WifiNetworkScoreCache;-><init>(Landroid/content/Context;)V
+HSPLandroid/net/wifi/WifiNetworkScoreCache;-><init>(Landroid/content/Context;Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;)V
+HSPLandroid/net/wifi/WifiNetworkScoreCache;->buildNetworkKey(Landroid/net/NetworkKey;)Ljava/lang/String;
 HSPLandroid/net/wifi/WifiNetworkScoreCache;->clearScores()V
-HSPLandroid/net/wifi/WifiScanner$PnoScanListener;->onPnoNetworkFound([Landroid/net/wifi/ScanResult;)V
+HSPLandroid/net/wifi/WifiNetworkScoreCache;->getScoredNetwork(Landroid/net/NetworkKey;)Landroid/net/ScoredNetwork;
+HSPLandroid/net/wifi/WifiScanner$ParcelableScanData$1;-><init>()V
+HSPLandroid/net/wifi/WifiScanner$ParcelableScanData$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiScanner$ParcelableScanData;
+HSPLandroid/net/wifi/WifiScanner$ParcelableScanData$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/net/wifi/WifiScanner$ParcelableScanData;->getResults()[Landroid/net/wifi/WifiScanner$ScanData;
 HSPLandroid/net/wifi/WifiScanner$ScanData$1;-><init>()V
+HSPLandroid/net/wifi/WifiScanner$ScanData$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/wifi/WifiScanner$ScanData;
+HSPLandroid/net/wifi/WifiScanner$ScanData$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/net/wifi/WifiScanner$ScanSettings$1;-><init>()V
+HSPLandroid/net/wifi/WifiScanner$ScanSettings;-><init>()V
+HSPLandroid/net/wifi/WifiScanner$ScanSettings;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/net/wifi/WifiScanner$ServiceHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/net/wifi/WifiScanner;-><init>(Landroid/content/Context;Landroid/net/wifi/IWifiScanner;Landroid/os/Looper;)V
 HSPLandroid/net/wifi/WifiScanner;->addListener(Landroid/net/wifi/WifiScanner$ActionListener;)I
+HSPLandroid/net/wifi/WifiScanner;->deregisterScanListener(Landroid/net/wifi/WifiScanner$ScanListener;)V
 HSPLandroid/net/wifi/WifiScanner;->getListener(I)Ljava/lang/Object;
 HSPLandroid/net/wifi/WifiScanner;->getListenerKey(Ljava/lang/Object;)I
 HSPLandroid/net/wifi/WifiScanner;->putListener(Ljava/lang/Object;)I
 HSPLandroid/net/wifi/WifiScanner;->registerScanListener(Landroid/net/wifi/WifiScanner$ScanListener;)V
+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
+HSPLandroid/net/wifi/WifiScanner;->startScan(Landroid/net/wifi/WifiScanner$ScanSettings;Landroid/net/wifi/WifiScanner$ScanListener;Landroid/os/WorkSource;)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;
 HSPLandroid/net/wifi/WifiSsid;->getHexString()Ljava/lang/String;
 HSPLandroid/net/wifi/WifiSsid;->getOctets()[B
-HSPLandroid/net/wifi/WifiSsid;->isHidden()Z
 HSPLandroid/net/wifi/WifiSsid;->toString()Ljava/lang/String;
 HSPLandroid/net/wifi/WpsInfo$1;-><init>()V
 HSPLandroid/net/wifi/aware/IWifiAwareManager$Stub;-><init>()V
-HSPLandroid/net/wifi/aware/IWifiAwareManager;->connect(Landroid/os/IBinder;Ljava/lang/String;Landroid/net/wifi/aware/IWifiAwareEventCallback;Landroid/net/wifi/aware/ConfigRequest;Z)V
-HSPLandroid/net/wifi/aware/IWifiAwareManager;->disconnect(ILandroid/os/IBinder;)V
-HSPLandroid/net/wifi/aware/IWifiAwareManager;->getCharacteristics()Landroid/net/wifi/aware/Characteristics;
-HSPLandroid/net/wifi/aware/IWifiAwareManager;->isUsageEnabled()Z
-HSPLandroid/net/wifi/aware/IWifiAwareManager;->publish(Ljava/lang/String;ILandroid/net/wifi/aware/PublishConfig;Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;)V
-HSPLandroid/net/wifi/aware/IWifiAwareManager;->requestMacAddresses(ILjava/util/List;Landroid/net/wifi/aware/IWifiAwareMacAddressProvider;)V
-HSPLandroid/net/wifi/aware/IWifiAwareManager;->sendMessage(III[BII)V
-HSPLandroid/net/wifi/aware/IWifiAwareManager;->subscribe(Ljava/lang/String;ILandroid/net/wifi/aware/SubscribeConfig;Landroid/net/wifi/aware/IWifiAwareDiscoverySessionCallback;)V
-HSPLandroid/net/wifi/aware/IWifiAwareManager;->terminateSession(II)V
-HSPLandroid/net/wifi/aware/IWifiAwareManager;->updatePublish(IILandroid/net/wifi/aware/PublishConfig;)V
-HSPLandroid/net/wifi/aware/IWifiAwareManager;->updateSubscribe(IILandroid/net/wifi/aware/SubscribeConfig;)V
 HSPLandroid/net/wifi/p2p/IWifiP2pManager$Stub;-><init>()V
-HSPLandroid/net/wifi/p2p/IWifiP2pManager;->checkConfigureWifiDisplayPermission()V
-HSPLandroid/net/wifi/p2p/IWifiP2pManager;->close(Landroid/os/IBinder;)V
-HSPLandroid/net/wifi/p2p/IWifiP2pManager;->getMessenger(Landroid/os/IBinder;)Landroid/os/Messenger;
-HSPLandroid/net/wifi/p2p/IWifiP2pManager;->getP2pStateMachineMessenger()Landroid/os/Messenger;
-HSPLandroid/net/wifi/p2p/IWifiP2pManager;->setMiracastMode(I)V
+HSPLandroid/net/wifi/p2p/IWifiP2pManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/p2p/IWifiP2pManager;
 HSPLandroid/net/wifi/p2p/WifiP2pConfig$1;-><init>()V
 HSPLandroid/net/wifi/p2p/WifiP2pConfig;-><init>()V
 HSPLandroid/net/wifi/p2p/WifiP2pDevice$1;-><init>()V
 HSPLandroid/net/wifi/p2p/WifiP2pDeviceList$1;-><init>()V
 HSPLandroid/net/wifi/p2p/WifiP2pDeviceList;-><init>()V
 HSPLandroid/net/wifi/p2p/WifiP2pGroupList$2;-><init>()V
-HSPLandroid/net/wifi/p2p/WifiP2pGroupList$GroupDeleteListener;->onDeleteGroup(I)V
 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
-HSPLandroid/net/wifi/rtt/IWifiRttManager;->cancelRanging(Landroid/os/WorkSource;)V
-HSPLandroid/net/wifi/rtt/IWifiRttManager;->isAvailable()Z
-HSPLandroid/net/wifi/rtt/IWifiRttManager;->startRanging(Landroid/os/IBinder;Ljava/lang/String;Landroid/os/WorkSource;Landroid/net/wifi/rtt/RangingRequest;Landroid/net/wifi/rtt/IRttCallback;)V
-HSPLandroid/nfc/IAppCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/nfc/IAppCallback;->createBeamShareData(B)Landroid/nfc/BeamShareData;
-HSPLandroid/nfc/IAppCallback;->onNdefPushComplete(B)V
-HSPLandroid/nfc/IAppCallback;->onTagDiscovered(Landroid/nfc/Tag;)V
+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/INfcAdapter$Stub$Proxy;->setAppCallback(Landroid/nfc/IAppCallback;)V
-HSPLandroid/nfc/INfcAdapter$Stub$Proxy;->verifyNfcPermission()V
-HSPLandroid/nfc/INfcAdapter$Stub;-><init>()V
-HSPLandroid/nfc/INfcAdapter$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/nfc/INfcAdapter;->addNfcUnlockHandler(Landroid/nfc/INfcUnlockHandler;[I)V
-HSPLandroid/nfc/INfcAdapter;->disable(Z)Z
-HSPLandroid/nfc/INfcAdapter;->disableNdefPush()Z
-HSPLandroid/nfc/INfcAdapter;->dispatch(Landroid/nfc/Tag;)V
-HSPLandroid/nfc/INfcAdapter;->enable()Z
-HSPLandroid/nfc/INfcAdapter;->enableNdefPush()Z
-HSPLandroid/nfc/INfcAdapter;->getNfcAdapterExtrasInterface(Ljava/lang/String;)Landroid/nfc/INfcAdapterExtras;
-HSPLandroid/nfc/INfcAdapter;->getNfcCardEmulationInterface()Landroid/nfc/INfcCardEmulation;
-HSPLandroid/nfc/INfcAdapter;->getNfcDtaInterface(Ljava/lang/String;)Landroid/nfc/INfcDta;
-HSPLandroid/nfc/INfcAdapter;->getNfcFCardEmulationInterface()Landroid/nfc/INfcFCardEmulation;
-HSPLandroid/nfc/INfcAdapter;->getNfcTagInterface()Landroid/nfc/INfcTag;
-HSPLandroid/nfc/INfcAdapter;->getState()I
-HSPLandroid/nfc/INfcAdapter;->ignore(IILandroid/nfc/ITagRemovedCallback;)Z
-HSPLandroid/nfc/INfcAdapter;->invokeBeam()V
-HSPLandroid/nfc/INfcAdapter;->invokeBeamInternal(Landroid/nfc/BeamShareData;)V
-HSPLandroid/nfc/INfcAdapter;->isNdefPushEnabled()Z
-HSPLandroid/nfc/INfcAdapter;->pausePolling(I)V
-HSPLandroid/nfc/INfcAdapter;->removeNfcUnlockHandler(Landroid/nfc/INfcUnlockHandler;)V
-HSPLandroid/nfc/INfcAdapter;->resumePolling()V
-HSPLandroid/nfc/INfcAdapter;->setAppCallback(Landroid/nfc/IAppCallback;)V
-HSPLandroid/nfc/INfcAdapter;->setForegroundDispatch(Landroid/app/PendingIntent;[Landroid/content/IntentFilter;Landroid/nfc/TechListParcel;)V
-HSPLandroid/nfc/INfcAdapter;->setP2pModes(II)V
-HSPLandroid/nfc/INfcAdapter;->setReaderMode(Landroid/os/IBinder;Landroid/nfc/IAppCallback;ILandroid/os/Bundle;)V
-HSPLandroid/nfc/INfcAdapter;->verifyNfcPermission()V
-HSPLandroid/nfc/INfcCardEmulation$Stub;-><init>()V
-HSPLandroid/nfc/INfcCardEmulation$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/nfc/INfcCardEmulation;->getAidGroupForService(ILandroid/content/ComponentName;Ljava/lang/String;)Landroid/nfc/cardemulation/AidGroup;
-HSPLandroid/nfc/INfcCardEmulation;->getServices(ILjava/lang/String;)Ljava/util/List;
-HSPLandroid/nfc/INfcCardEmulation;->isDefaultServiceForAid(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLandroid/nfc/INfcCardEmulation;->isDefaultServiceForCategory(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLandroid/nfc/INfcCardEmulation;->registerAidGroupForService(ILandroid/content/ComponentName;Landroid/nfc/cardemulation/AidGroup;)Z
-HSPLandroid/nfc/INfcCardEmulation;->removeAidGroupForService(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLandroid/nfc/INfcCardEmulation;->setDefaultForNextTap(ILandroid/content/ComponentName;)Z
-HSPLandroid/nfc/INfcCardEmulation;->setDefaultServiceForCategory(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLandroid/nfc/INfcCardEmulation;->setPreferredService(Landroid/content/ComponentName;)Z
-HSPLandroid/nfc/INfcCardEmulation;->supportsAidPrefixRegistration()Z
-HSPLandroid/nfc/INfcCardEmulation;->unsetPreferredService()Z
-HSPLandroid/nfc/INfcFCardEmulation$Stub;-><init>()V
-HSPLandroid/nfc/INfcFCardEmulation$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/nfc/INfcFCardEmulation;->disableNfcFForegroundService()Z
-HSPLandroid/nfc/INfcFCardEmulation;->enableNfcFForegroundService(Landroid/content/ComponentName;)Z
-HSPLandroid/nfc/INfcFCardEmulation;->getMaxNumOfRegisterableSystemCodes()I
-HSPLandroid/nfc/INfcFCardEmulation;->getNfcFServices(I)Ljava/util/List;
-HSPLandroid/nfc/INfcFCardEmulation;->getNfcid2ForService(ILandroid/content/ComponentName;)Ljava/lang/String;
-HSPLandroid/nfc/INfcFCardEmulation;->getSystemCodeForService(ILandroid/content/ComponentName;)Ljava/lang/String;
-HSPLandroid/nfc/INfcFCardEmulation;->registerSystemCodeForService(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLandroid/nfc/INfcFCardEmulation;->removeSystemCodeForService(ILandroid/content/ComponentName;)Z
-HSPLandroid/nfc/INfcFCardEmulation;->setNfcid2ForService(ILandroid/content/ComponentName;Ljava/lang/String;)Z
-HSPLandroid/nfc/INfcTag$Stub;-><init>()V
-HSPLandroid/nfc/INfcTag$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/nfc/INfcTag;->canMakeReadOnly(I)Z
-HSPLandroid/nfc/INfcTag;->connect(II)I
-HSPLandroid/nfc/INfcTag;->formatNdef(I[B)I
-HSPLandroid/nfc/INfcTag;->getExtendedLengthApdusSupported()Z
-HSPLandroid/nfc/INfcTag;->getMaxTransceiveLength(I)I
-HSPLandroid/nfc/INfcTag;->getTechList(I)[I
-HSPLandroid/nfc/INfcTag;->getTimeout(I)I
-HSPLandroid/nfc/INfcTag;->isNdef(I)Z
-HSPLandroid/nfc/INfcTag;->isPresent(I)Z
-HSPLandroid/nfc/INfcTag;->ndefIsWritable(I)Z
-HSPLandroid/nfc/INfcTag;->ndefMakeReadOnly(I)I
-HSPLandroid/nfc/INfcTag;->ndefRead(I)Landroid/nfc/NdefMessage;
-HSPLandroid/nfc/INfcTag;->ndefWrite(ILandroid/nfc/NdefMessage;)I
-HSPLandroid/nfc/INfcTag;->reconnect(I)I
-HSPLandroid/nfc/INfcTag;->rediscover(I)Landroid/nfc/Tag;
-HSPLandroid/nfc/INfcTag;->resetTimeouts()V
-HSPLandroid/nfc/INfcTag;->setTimeout(II)I
-HSPLandroid/nfc/INfcTag;->transceive(I[BZ)Landroid/nfc/TransceiveResult;
-HSPLandroid/nfc/NfcActivityManager$NfcActivityState;-><init>(Landroid/nfc/NfcActivityManager;Landroid/app/Activity;)V
-HSPLandroid/nfc/NfcActivityManager$NfcApplicationState;->register()V
-HSPLandroid/nfc/NfcActivityManager;->findActivityState(Landroid/app/Activity;)Landroid/nfc/NfcActivityManager$NfcActivityState;
-HSPLandroid/nfc/NfcActivityManager;->getActivityState(Landroid/app/Activity;)Landroid/nfc/NfcActivityManager$NfcActivityState;
-HSPLandroid/nfc/NfcActivityManager;->onActivityDestroyed(Landroid/app/Activity;)V
-HSPLandroid/nfc/NfcActivityManager;->onActivityResumed(Landroid/app/Activity;)V
-HSPLandroid/nfc/NfcActivityManager;->onActivityStarted(Landroid/app/Activity;)V
-HSPLandroid/nfc/NfcActivityManager;->onActivityStopped(Landroid/app/Activity;)V
-HSPLandroid/nfc/NfcActivityManager;->requestNfcServiceCallback()V
-HSPLandroid/nfc/NfcActivityManager;->setNdefPushMessageCallback(Landroid/app/Activity;Landroid/nfc/NfcAdapter$CreateNdefMessageCallback;I)V
-HSPLandroid/nfc/NfcActivityManager;->setOnNdefPushCompleteCallback(Landroid/app/Activity;Landroid/nfc/NfcAdapter$OnNdefPushCompleteCallback;)V
-HSPLandroid/nfc/NfcActivityManager;->verifyNfcPermission()V
-HSPLandroid/nfc/NfcAdapter$CreateNdefMessageCallback;->createNdefMessage(Landroid/nfc/NfcEvent;)Landroid/nfc/NdefMessage;
-HSPLandroid/nfc/NfcAdapter$OnNdefPushCompleteCallback;->onNdefPushComplete(Landroid/nfc/NfcEvent;)V
+HSPLandroid/nfc/INfcCardEmulation$Stub$Proxy;->getServices(ILjava/lang/String;)Ljava/util/List;
 HSPLandroid/nfc/NfcAdapter;-><init>(Landroid/content/Context;)V
+HSPLandroid/nfc/NfcAdapter;->deviceSupportsNfcSecure()Z
 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;->setNdefPushMessageCallback(Landroid/nfc/NfcAdapter$CreateNdefMessageCallback;Landroid/app/Activity;[Landroid/app/Activity;)V
-HSPLandroid/nfc/NfcAdapter;->setOnNdefPushCompleteCallback(Landroid/nfc/NfcAdapter$OnNdefPushCompleteCallback;Landroid/app/Activity;[Landroid/app/Activity;)V
 HSPLandroid/nfc/NfcManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/nfc/cardemulation/AidGroup$1;-><init>()V
+HSPLandroid/nfc/cardemulation/AidGroup$1;->createFromParcel(Landroid/os/Parcel;)Landroid/nfc/cardemulation/AidGroup;
+HSPLandroid/nfc/cardemulation/AidGroup$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/nfc/cardemulation/AidGroup;-><init>(Ljava/util/List;Ljava/lang/String;)V
 HSPLandroid/nfc/cardemulation/ApduServiceInfo$1;-><init>()V
-HSPLandroid/nfc/cardemulation/ApduServiceInfo;-><init>(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;Z)V
-HSPLandroid/nfc/cardemulation/ApduServiceInfo;->getAidGroups()Ljava/util/ArrayList;
-HSPLandroid/nfc/cardemulation/ApduServiceInfo;->getAids()Ljava/util/List;
-HSPLandroid/nfc/cardemulation/ApduServiceInfo;->getCategoryForAid(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/nfc/cardemulation/ApduServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/nfc/cardemulation/ApduServiceInfo;
+HSPLandroid/nfc/cardemulation/ApduServiceInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/nfc/cardemulation/ApduServiceInfo;-><init>(Landroid/content/pm/ResolveInfo;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;ZIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/nfc/cardemulation/ApduServiceInfo;->getComponent()Landroid/content/ComponentName;
-HSPLandroid/nfc/cardemulation/ApduServiceInfo;->getPrefixAids()Ljava/util/List;
-HSPLandroid/nfc/cardemulation/ApduServiceInfo;->getSubsetAids()Ljava/util/List;
-HSPLandroid/nfc/cardemulation/ApduServiceInfo;->isOnHost()Z
+HSPLandroid/nfc/cardemulation/ApduServiceInfo;->getDescription()Ljava/lang/String;
+HSPLandroid/nfc/cardemulation/ApduServiceInfo;->getSettingsActivityName()Ljava/lang/String;
+HSPLandroid/nfc/cardemulation/ApduServiceInfo;->loadBanner(Landroid/content/pm/PackageManager;)Landroid/graphics/drawable/Drawable;
+HSPLandroid/nfc/cardemulation/ApduServiceInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
+HSPLandroid/nfc/cardemulation/CardEmulation;->getInstance(Landroid/nfc/NfcAdapter;)Landroid/nfc/cardemulation/CardEmulation;
+HSPLandroid/nfc/cardemulation/CardEmulation;->getServices(Ljava/lang/String;)Ljava/util/List;
 HSPLandroid/nfc/cardemulation/CardEmulation;->isValidAid(Ljava/lang/String;)Z
+HSPLandroid/opengl/EGLConfig;-><init>(J)V
 HSPLandroid/opengl/EGLContext;-><init>(J)V
 HSPLandroid/opengl/EGLDisplay;-><init>(J)V
+HSPLandroid/opengl/EGLObjectHandle;->getNativeHandle()J
 HSPLandroid/opengl/EGLSurface;-><init>(J)V
 HSPLandroid/opengl/GLES20;->glVertexAttribPointer(IIIZILjava/nio/Buffer;)V
-HSPLandroid/opengl/GLSurfaceView$DefaultContextFactory;->createContext(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;)Ljavax/microedition/khronos/egl/EGLContext;
-HSPLandroid/opengl/GLSurfaceView$DefaultWindowSurfaceFactory;->createWindowSurface(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljava/lang/Object;)Ljavax/microedition/khronos/egl/EGLSurface;
-HSPLandroid/opengl/GLSurfaceView$EGLConfigChooser;->chooseConfig(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;)Ljavax/microedition/khronos/egl/EGLConfig;
-HSPLandroid/opengl/GLSurfaceView$EGLContextFactory;->createContext(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;)Ljavax/microedition/khronos/egl/EGLContext;
-HSPLandroid/opengl/GLSurfaceView$EGLContextFactory;->destroyContext(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLContext;)V
-HSPLandroid/opengl/GLSurfaceView$EGLWindowSurfaceFactory;->createWindowSurface(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljava/lang/Object;)Ljavax/microedition/khronos/egl/EGLSurface;
-HSPLandroid/opengl/GLSurfaceView$EGLWindowSurfaceFactory;->destroySurface(Ljavax/microedition/khronos/egl/EGL10;Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)V
-HSPLandroid/opengl/GLSurfaceView$EglHelper;->createGL()Ljavax/microedition/khronos/opengles/GL;
-HSPLandroid/opengl/GLSurfaceView$EglHelper;->createSurface()Z
-HSPLandroid/opengl/GLSurfaceView$EglHelper;->destroySurfaceImp()V
-HSPLandroid/opengl/GLSurfaceView$EglHelper;->start()V
-HSPLandroid/opengl/GLSurfaceView$EglHelper;->swap()I
-HSPLandroid/opengl/GLSurfaceView$GLThread;->ableToDraw()Z
-HSPLandroid/opengl/GLSurfaceView$GLThread;->guardedRun()V
-HSPLandroid/opengl/GLSurfaceView$GLThread;->onResume()V
-HSPLandroid/opengl/GLSurfaceView$GLThread;->onWindowResize(II)V
-HSPLandroid/opengl/GLSurfaceView$GLThread;->queueEvent(Ljava/lang/Runnable;)V
-HSPLandroid/opengl/GLSurfaceView$GLThread;->requestRender()V
-HSPLandroid/opengl/GLSurfaceView$GLThread;->requestRenderAndNotify(Ljava/lang/Runnable;)V
-HSPLandroid/opengl/GLSurfaceView$GLThread;->run()V
-HSPLandroid/opengl/GLSurfaceView$GLThread;->surfaceCreated()V
-HSPLandroid/opengl/GLSurfaceView$GLThreadManager;-><init>(Landroid/opengl/GLSurfaceView$1;)V
-HSPLandroid/opengl/GLSurfaceView$Renderer;->onDrawFrame(Ljavax/microedition/khronos/opengles/GL10;)V
-HSPLandroid/opengl/GLSurfaceView$Renderer;->onSurfaceChanged(Ljavax/microedition/khronos/opengles/GL10;II)V
-HSPLandroid/opengl/GLSurfaceView$Renderer;->onSurfaceCreated(Ljavax/microedition/khronos/opengles/GL10;Ljavax/microedition/khronos/egl/EGLConfig;)V
-HSPLandroid/opengl/GLSurfaceView;-><init>(Landroid/content/Context;)V
-HSPLandroid/opengl/GLSurfaceView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/opengl/GLSurfaceView;->onAttachedToWindow()V
-HSPLandroid/opengl/GLSurfaceView;->onResume()V
-HSPLandroid/opengl/GLSurfaceView;->queueEvent(Ljava/lang/Runnable;)V
-HSPLandroid/opengl/GLSurfaceView;->requestRender()V
-HSPLandroid/opengl/GLSurfaceView;->setEGLConfigChooser(Landroid/opengl/GLSurfaceView$EGLConfigChooser;)V
-HSPLandroid/opengl/GLSurfaceView;->setEGLContextClientVersion(I)V
-HSPLandroid/opengl/GLSurfaceView;->setEGLContextFactory(Landroid/opengl/GLSurfaceView$EGLContextFactory;)V
-HSPLandroid/opengl/GLSurfaceView;->setPreserveEGLContextOnPause(Z)V
-HSPLandroid/opengl/GLSurfaceView;->setRenderer(Landroid/opengl/GLSurfaceView$Renderer;)V
-HSPLandroid/opengl/GLSurfaceView;->surfaceChanged(Landroid/view/SurfaceHolder;III)V
-HSPLandroid/opengl/GLSurfaceView;->surfaceCreated(Landroid/view/SurfaceHolder;)V
-HSPLandroid/opengl/GLSurfaceView;->surfaceRedrawNeededAsync(Landroid/view/SurfaceHolder;Ljava/lang/Runnable;)V
-HSPLandroid/opengl/GLUtils;->texImage2D(IILandroid/graphics/Bitmap;I)V
-HSPLandroid/opengl/Matrix;->invertM([FI[FI)Z
-HSPLandroid/opengl/Matrix;->length(FFF)F
-HSPLandroid/opengl/Matrix;->orthoM([FIFFFFFF)V
-HSPLandroid/opengl/Matrix;->rotateM([FIFFFF)V
-HSPLandroid/opengl/Matrix;->scaleM([FIFFF)V
 HSPLandroid/opengl/Matrix;->setIdentityM([FI)V
-HSPLandroid/opengl/Matrix;->setLookAtM([FIFFFFFFFFF)V
-HSPLandroid/opengl/Matrix;->setRotateM([FIFFFF)V
-HSPLandroid/opengl/Matrix;->translateM([FIFFF)V
-HSPLandroid/os/-$$Lambda$BatteryStats$q1UvBdLgHRZVzc68BxdksTmbuCw;-><init>()V
+HSPLandroid/os/-$$Lambda$Binder$IYUHVkWouPK_9CG2s8VwyWBt5_I;-><init>()V
 HSPLandroid/os/-$$Lambda$GraphicsEnvironment$U4RqBlx5-Js31-71IFOgvpvoAFg;-><init>()V
 HSPLandroid/os/-$$Lambda$GraphicsEnvironment$U4RqBlx5-Js31-71IFOgvpvoAFg;->run()V
 HSPLandroid/os/-$$Lambda$IyvVQC-0mKtsfXbnO0kDL64hrk0;-><init>()V
 HSPLandroid/os/-$$Lambda$StrictMode$1yH8AK0bTwVwZOb9x8HoiSBdzr0;-><init>()V
-HSPLandroid/os/-$$Lambda$StrictMode$1yH8AK0bTwVwZOb9x8HoiSBdzr0;->log(Landroid/os/StrictMode$ViolationInfo;)V
 HSPLandroid/os/-$$Lambda$StrictMode$AndroidBlockGuardPolicy$9nBulCQKaMajrWr41SB7f7YRT1I;->run()V
-HSPLandroid/os/-$$Lambda$StrictMode$AndroidBlockGuardPolicy$FxZGA9KtfTewqdcxlUwvIe5Nx9I;->run()V
 HSPLandroid/os/-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ;-><init>()V
-HSPLandroid/os/-$$Lambda$StrictMode$yZJXPvy2veRNA-xL_SWdXzX_OLg;->run()V
+HSPLandroid/os/-$$Lambda$ThreadLocalWorkSource$IP9vRFCDG5YwbWbXAEGHH52B9IE;-><init>()V
+HSPLandroid/os/-$$Lambda$ThreadLocalWorkSource$IP9vRFCDG5YwbWbXAEGHH52B9IE;->get()Ljava/lang/Object;
 HSPLandroid/os/-$$Lambda$Trace$2zLZ-Lc2kAXsVjw_nLYeNhqmGq0;-><init>()V
+HSPLandroid/os/-$$Lambda$q1UvBdLgHRZVzc68BxdksTmbuCw;-><init>()V
 HSPLandroid/os/AsyncResult;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V
 HSPLandroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult;
 HSPLandroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult;
 HSPLandroid/os/AsyncTask$1;-><init>()V
 HSPLandroid/os/AsyncTask$1;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
+HSPLandroid/os/AsyncTask$2;-><init>()V
 HSPLandroid/os/AsyncTask$2;->call()Ljava/lang/Object;
+HSPLandroid/os/AsyncTask$3;->call()Ljava/lang/Object;
 HSPLandroid/os/AsyncTask$3;->done()V
+HSPLandroid/os/AsyncTask$4;->done()V
 HSPLandroid/os/AsyncTask$InternalHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/os/AsyncTask$SerialExecutor$1;->run()V
 HSPLandroid/os/AsyncTask$SerialExecutor;-><init>(Landroid/os/AsyncTask$1;)V
@@ -27122,20 +23615,14 @@
 HSPLandroid/os/AsyncTask;-><init>()V
 HSPLandroid/os/AsyncTask;-><init>(Landroid/os/Looper;)V
 HSPLandroid/os/AsyncTask;->cancel(Z)Z
-HSPLandroid/os/AsyncTask;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/os/AsyncTask;->execute(Ljava/lang/Runnable;)V
 HSPLandroid/os/AsyncTask;->execute([Ljava/lang/Object;)Landroid/os/AsyncTask;
 HSPLandroid/os/AsyncTask;->executeOnExecutor(Ljava/util/concurrent/Executor;[Ljava/lang/Object;)Landroid/os/AsyncTask;
-HSPLandroid/os/AsyncTask;->get()Ljava/lang/Object;
 HSPLandroid/os/AsyncTask;->getMainHandler()Landroid/os/Handler;
-HSPLandroid/os/AsyncTask;->getStatus()Landroid/os/AsyncTask$Status;
 HSPLandroid/os/AsyncTask;->isCancelled()Z
-HSPLandroid/os/AsyncTask;->onCancelled()V
-HSPLandroid/os/AsyncTask;->onCancelled(Ljava/lang/Object;)V
 HSPLandroid/os/AsyncTask;->onPostExecute(Ljava/lang/Object;)V
 HSPLandroid/os/AsyncTask;->onPreExecute()V
-HSPLandroid/os/AsyncTask;->onProgressUpdate([Ljava/lang/Object;)V
-HSPLandroid/os/AsyncTask;->publishProgress([Ljava/lang/Object;)V
+HSPLandroid/os/BaseBundle;-><init>(Landroid/os/Parcel;I)V
 HSPLandroid/os/BaseBundle;-><init>(Ljava/lang/ClassLoader;I)V
 HSPLandroid/os/BaseBundle;->containsKey(Ljava/lang/String;)Z
 HSPLandroid/os/BaseBundle;->copyInternal(Landroid/os/BaseBundle;Z)V
@@ -27145,17 +23632,14 @@
 HSPLandroid/os/BaseBundle;->getBoolean(Ljava/lang/String;Z)Z
 HSPLandroid/os/BaseBundle;->getByteArray(Ljava/lang/String;)[B
 HSPLandroid/os/BaseBundle;->getCharSequence(Ljava/lang/String;)Ljava/lang/CharSequence;
-HSPLandroid/os/BaseBundle;->getDouble(Ljava/lang/String;)D
-HSPLandroid/os/BaseBundle;->getDouble(Ljava/lang/String;D)D
+HSPLandroid/os/BaseBundle;->getCharSequenceArray(Ljava/lang/String;)[Ljava/lang/CharSequence;
 HSPLandroid/os/BaseBundle;->getFloat(Ljava/lang/String;F)F
-HSPLandroid/os/BaseBundle;->getFloatArray(Ljava/lang/String;)[F
 HSPLandroid/os/BaseBundle;->getInt(Ljava/lang/String;)I
 HSPLandroid/os/BaseBundle;->getInt(Ljava/lang/String;I)I
 HSPLandroid/os/BaseBundle;->getIntArray(Ljava/lang/String;)[I
 HSPLandroid/os/BaseBundle;->getIntegerArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
 HSPLandroid/os/BaseBundle;->getLong(Ljava/lang/String;)J
 HSPLandroid/os/BaseBundle;->getLong(Ljava/lang/String;J)J
-HSPLandroid/os/BaseBundle;->getLongArray(Ljava/lang/String;)[J
 HSPLandroid/os/BaseBundle;->getSerializable(Ljava/lang/String;)Ljava/io/Serializable;
 HSPLandroid/os/BaseBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/os/BaseBundle;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
@@ -27177,273 +23661,46 @@
 HSPLandroid/os/BaseBundle;->putString(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/os/BaseBundle;->putStringArray(Ljava/lang/String;[Ljava/lang/String;)V
 HSPLandroid/os/BaseBundle;->readFromParcelInner(Landroid/os/Parcel;I)V
-HSPLandroid/os/BaseBundle;->setClassLoader(Ljava/lang/ClassLoader;)V
 HSPLandroid/os/BaseBundle;->setShouldDefuse(Z)V
 HSPLandroid/os/BaseBundle;->size()I
 HSPLandroid/os/BaseBundle;->unparcel()V
 HSPLandroid/os/BaseBundle;->writeToParcelInner(Landroid/os/Parcel;I)V
+HSPLandroid/os/BatteryManager;->getLongProperty(I)J
 HSPLandroid/os/BatteryManager;->isCharging()Z
-HSPLandroid/os/BatteryManagerInternal;->getBatteryChargeCounter()I
-HSPLandroid/os/BatteryManagerInternal;->getBatteryFullCharge()I
-HSPLandroid/os/BatteryManagerInternal;->getBatteryLevel()I
-HSPLandroid/os/BatteryManagerInternal;->getBatteryLevelLow()Z
-HSPLandroid/os/BatteryManagerInternal;->getInvalidCharger()I
-HSPLandroid/os/BatteryManagerInternal;->getPlugType()I
-HSPLandroid/os/BatteryManagerInternal;->isPowered(I)Z
+HSPLandroid/os/BatteryManager;->queryProperty(I)J
+HSPLandroid/os/BatteryProperty$1;-><init>()V
+HSPLandroid/os/BatteryProperty;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/os/BatteryStats$BitDescription;-><init>(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
 HSPLandroid/os/BatteryStats$BitDescription;-><init>(ILjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/BatteryStats$ControllerActivityCounter;->getIdleTimeCounter()Landroid/os/BatteryStats$LongCounter;
-HSPLandroid/os/BatteryStats$ControllerActivityCounter;->getPowerCounter()Landroid/os/BatteryStats$LongCounter;
-HSPLandroid/os/BatteryStats$ControllerActivityCounter;->getRxTimeCounter()Landroid/os/BatteryStats$LongCounter;
-HSPLandroid/os/BatteryStats$ControllerActivityCounter;->getScanTimeCounter()Landroid/os/BatteryStats$LongCounter;
-HSPLandroid/os/BatteryStats$ControllerActivityCounter;->getSleepTimeCounter()Landroid/os/BatteryStats$LongCounter;
-HSPLandroid/os/BatteryStats$ControllerActivityCounter;->getTxTimeCounters()[Landroid/os/BatteryStats$LongCounter;
-HSPLandroid/os/BatteryStats$Counter;->getCountLocked(I)I
-HSPLandroid/os/BatteryStats$Counter;->logState(Landroid/util/Printer;Ljava/lang/String;)V
 HSPLandroid/os/BatteryStats$HistoryEventTracker;-><init>()V
+HSPLandroid/os/BatteryStats$HistoryEventTracker;->getStateForEvent(I)Ljava/util/HashMap;
 HSPLandroid/os/BatteryStats$HistoryEventTracker;->updateState(ILjava/lang/String;II)Z
 HSPLandroid/os/BatteryStats$HistoryItem;-><init>()V
 HSPLandroid/os/BatteryStats$HistoryItem;->clear()V
+HSPLandroid/os/BatteryStats$HistoryItem;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/os/BatteryStats$HistoryItem;->setTo(JBLandroid/os/BatteryStats$HistoryItem;)V
+HSPLandroid/os/BatteryStats$HistoryItem;->setTo(Landroid/os/BatteryStats$HistoryItem;)V
 HSPLandroid/os/BatteryStats$HistoryItem;->setToCommon(Landroid/os/BatteryStats$HistoryItem;)V
 HSPLandroid/os/BatteryStats$HistoryItem;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/BatteryStats$HistoryStepDetails;-><init>()V
+HSPLandroid/os/BatteryStats$HistoryStepDetails;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/os/BatteryStats$HistoryTag;->equals(Ljava/lang/Object;)Z
 HSPLandroid/os/BatteryStats$HistoryTag;->hashCode()I
+HSPLandroid/os/BatteryStats$HistoryTag;->setTo(Landroid/os/BatteryStats$HistoryTag;)V
 HSPLandroid/os/BatteryStats$LevelStepTracker;-><init>(I)V
+HSPLandroid/os/BatteryStats$LevelStepTracker;-><init>(I[J)V
+HSPLandroid/os/BatteryStats$LevelStepTracker;->appendHex(JILjava/lang/StringBuilder;)V
+HSPLandroid/os/BatteryStats$LevelStepTracker;->computeTimePerLevel()J
 HSPLandroid/os/BatteryStats$LevelStepTracker;->decodeEntryAt(ILjava/lang/String;)V
+HSPLandroid/os/BatteryStats$LevelStepTracker;->encodeEntryAt(ILjava/lang/StringBuilder;)V
 HSPLandroid/os/BatteryStats$LevelStepTracker;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/os/BatteryStats$LevelStepTracker;->writeToParcel(Landroid/os/Parcel;)V
-HSPLandroid/os/BatteryStats$LongCounter;->getCountLocked(I)J
-HSPLandroid/os/BatteryStats$LongCounter;->logState(Landroid/util/Printer;Ljava/lang/String;)V
-HSPLandroid/os/BatteryStats$LongCounterArray;->getCountsLocked(I)[J
-HSPLandroid/os/BatteryStats$LongCounterArray;->logState(Landroid/util/Printer;Ljava/lang/String;)V
-HSPLandroid/os/BatteryStats$PackageChange;-><init>()V
-HSPLandroid/os/BatteryStats$Timer;->getCountLocked(I)I
-HSPLandroid/os/BatteryStats$Timer;->getTimeSinceMarkLocked(J)J
-HSPLandroid/os/BatteryStats$Timer;->getTotalTimeLocked(JI)J
-HSPLandroid/os/BatteryStats$Uid$Pkg$Serv;->getLaunches(I)I
-HSPLandroid/os/BatteryStats$Uid$Pkg$Serv;->getStartTime(JI)J
-HSPLandroid/os/BatteryStats$Uid$Pkg$Serv;->getStarts(I)I
-HSPLandroid/os/BatteryStats$Uid$Pkg;->getServiceStats()Landroid/util/ArrayMap;
-HSPLandroid/os/BatteryStats$Uid$Pkg;->getWakeupAlarmStats()Landroid/util/ArrayMap;
-HSPLandroid/os/BatteryStats$Uid$Proc;->countExcessivePowers()I
-HSPLandroid/os/BatteryStats$Uid$Proc;->getExcessivePower(I)Landroid/os/BatteryStats$Uid$Proc$ExcessivePower;
-HSPLandroid/os/BatteryStats$Uid$Proc;->getForegroundTime(I)J
-HSPLandroid/os/BatteryStats$Uid$Proc;->getNumAnrs(I)I
-HSPLandroid/os/BatteryStats$Uid$Proc;->getNumCrashes(I)I
-HSPLandroid/os/BatteryStats$Uid$Proc;->getStarts(I)I
-HSPLandroid/os/BatteryStats$Uid$Proc;->getSystemTime(I)J
-HSPLandroid/os/BatteryStats$Uid$Proc;->getUserTime(I)J
-HSPLandroid/os/BatteryStats$Uid$Proc;->isActive()Z
-HSPLandroid/os/BatteryStats$Uid$Sensor;->getHandle()I
-HSPLandroid/os/BatteryStats$Uid$Sensor;->getSensorBackgroundTime()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid$Sensor;->getSensorTime()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid$Wakelock;->getWakeTime(I)Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getAggregatedPartialWakelockTimer()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getAudioTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getBluetoothControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-HSPLandroid/os/BatteryStats$Uid;->getBluetoothScanBackgroundTimer()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getBluetoothScanResultBgCounter()Landroid/os/BatteryStats$Counter;
-HSPLandroid/os/BatteryStats$Uid;->getBluetoothScanResultCounter()Landroid/os/BatteryStats$Counter;
-HSPLandroid/os/BatteryStats$Uid;->getBluetoothScanTimer()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getBluetoothUnoptimizedScanBackgroundTimer()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getBluetoothUnoptimizedScanTimer()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getCameraTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getCpuActiveTime()J
-HSPLandroid/os/BatteryStats$Uid;->getCpuClusterTimes()[J
-HSPLandroid/os/BatteryStats$Uid;->getCpuFreqTimes(I)[J
-HSPLandroid/os/BatteryStats$Uid;->getCpuFreqTimes(II)[J
-HSPLandroid/os/BatteryStats$Uid;->getDeferredJobsCheckinLineLocked(Ljava/lang/StringBuilder;I)V
-HSPLandroid/os/BatteryStats$Uid;->getDeferredJobsLineLocked(Ljava/lang/StringBuilder;I)V
-HSPLandroid/os/BatteryStats$Uid;->getFlashlightTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getForegroundActivityTimer()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getForegroundServiceTimer()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getFullWifiLockTime(JI)J
-HSPLandroid/os/BatteryStats$Uid;->getJobCompletionStats()Landroid/util/ArrayMap;
-HSPLandroid/os/BatteryStats$Uid;->getJobStats()Landroid/util/ArrayMap;
-HSPLandroid/os/BatteryStats$Uid;->getMobileRadioActiveCount(I)I
-HSPLandroid/os/BatteryStats$Uid;->getMobileRadioActiveTime(I)J
-HSPLandroid/os/BatteryStats$Uid;->getMobileRadioApWakeupCount(I)J
-HSPLandroid/os/BatteryStats$Uid;->getModemControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-HSPLandroid/os/BatteryStats$Uid;->getMulticastWakelockStats()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getNetworkActivityBytes(II)J
-HSPLandroid/os/BatteryStats$Uid;->getNetworkActivityPackets(II)J
-HSPLandroid/os/BatteryStats$Uid;->getPackageStats()Landroid/util/ArrayMap;
-HSPLandroid/os/BatteryStats$Uid;->getPidStats()Landroid/util/SparseArray;
-HSPLandroid/os/BatteryStats$Uid;->getProcessStateTime(IJI)J
-HSPLandroid/os/BatteryStats$Uid;->getProcessStateTimer(I)Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getProcessStats()Landroid/util/ArrayMap;
-HSPLandroid/os/BatteryStats$Uid;->getScreenOffCpuFreqTimes(I)[J
-HSPLandroid/os/BatteryStats$Uid;->getScreenOffCpuFreqTimes(II)[J
-HSPLandroid/os/BatteryStats$Uid;->getSensorStats()Landroid/util/SparseArray;
-HSPLandroid/os/BatteryStats$Uid;->getSyncStats()Landroid/util/ArrayMap;
-HSPLandroid/os/BatteryStats$Uid;->getSystemCpuTimeUs(I)J
-HSPLandroid/os/BatteryStats$Uid;->getTimeAtCpuSpeed(III)J
-HSPLandroid/os/BatteryStats$Uid;->getUid()I
-HSPLandroid/os/BatteryStats$Uid;->getUserActivityCount(II)I
-HSPLandroid/os/BatteryStats$Uid;->getUserCpuTimeUs(I)J
-HSPLandroid/os/BatteryStats$Uid;->getVibratorOnTimer()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getVideoTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getWakelockStats()Landroid/util/ArrayMap;
-HSPLandroid/os/BatteryStats$Uid;->getWifiBatchedScanCount(II)I
-HSPLandroid/os/BatteryStats$Uid;->getWifiBatchedScanTime(IJI)J
-HSPLandroid/os/BatteryStats$Uid;->getWifiControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-HSPLandroid/os/BatteryStats$Uid;->getWifiMulticastTime(JI)J
-HSPLandroid/os/BatteryStats$Uid;->getWifiRadioApWakeupCount(I)J
-HSPLandroid/os/BatteryStats$Uid;->getWifiRunningTime(JI)J
-HSPLandroid/os/BatteryStats$Uid;->getWifiScanActualTime(J)J
-HSPLandroid/os/BatteryStats$Uid;->getWifiScanBackgroundCount(I)I
-HSPLandroid/os/BatteryStats$Uid;->getWifiScanBackgroundTime(J)J
-HSPLandroid/os/BatteryStats$Uid;->getWifiScanBackgroundTimer()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->getWifiScanCount(I)I
-HSPLandroid/os/BatteryStats$Uid;->getWifiScanTime(JI)J
-HSPLandroid/os/BatteryStats$Uid;->getWifiScanTimer()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats$Uid;->hasNetworkActivity()Z
-HSPLandroid/os/BatteryStats$Uid;->hasUserActivity()Z
-HSPLandroid/os/BatteryStats$Uid;->noteActivityPausedLocked(J)V
-HSPLandroid/os/BatteryStats$Uid;->noteActivityResumedLocked(J)V
-HSPLandroid/os/BatteryStats$Uid;->noteFullWifiLockAcquiredLocked(J)V
-HSPLandroid/os/BatteryStats$Uid;->noteFullWifiLockReleasedLocked(J)V
-HSPLandroid/os/BatteryStats$Uid;->noteUserActivityLocked(I)V
-HSPLandroid/os/BatteryStats$Uid;->noteWifiBatchedScanStartedLocked(IJ)V
-HSPLandroid/os/BatteryStats$Uid;->noteWifiBatchedScanStoppedLocked(J)V
-HSPLandroid/os/BatteryStats$Uid;->noteWifiMulticastDisabledLocked(J)V
-HSPLandroid/os/BatteryStats$Uid;->noteWifiMulticastEnabledLocked(J)V
-HSPLandroid/os/BatteryStats$Uid;->noteWifiRunningLocked(J)V
-HSPLandroid/os/BatteryStats$Uid;->noteWifiScanStartedLocked(J)V
-HSPLandroid/os/BatteryStats$Uid;->noteWifiScanStoppedLocked(J)V
-HSPLandroid/os/BatteryStats$Uid;->noteWifiStoppedLocked(J)V
 HSPLandroid/os/BatteryStats;-><init>()V
-HSPLandroid/os/BatteryStats;->commitCurrentHistoryBatchLocked()V
-HSPLandroid/os/BatteryStats;->computeBatteryRealtime(JI)J
-HSPLandroid/os/BatteryStats;->computeBatteryScreenOffRealtime(JI)J
-HSPLandroid/os/BatteryStats;->computeBatteryScreenOffUptime(JI)J
-HSPLandroid/os/BatteryStats;->computeBatteryTimeRemaining(J)J
-HSPLandroid/os/BatteryStats;->computeBatteryUptime(JI)J
-HSPLandroid/os/BatteryStats;->computeChargeTimeRemaining(J)J
-HSPLandroid/os/BatteryStats;->computeRealtime(JI)J
-HSPLandroid/os/BatteryStats;->computeUptime(JI)J
-HSPLandroid/os/BatteryStats;->finishIteratingHistoryLocked()V
-HSPLandroid/os/BatteryStats;->finishIteratingOldHistoryLocked()V
-HSPLandroid/os/BatteryStats;->getBatteryRealtime(J)J
-HSPLandroid/os/BatteryStats;->getBatteryUptime(J)J
-HSPLandroid/os/BatteryStats;->getBluetoothControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-HSPLandroid/os/BatteryStats;->getBluetoothScanTime(JI)J
-HSPLandroid/os/BatteryStats;->getCameraOnTime(JI)J
-HSPLandroid/os/BatteryStats;->getChargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-HSPLandroid/os/BatteryStats;->getCpuFreqs()[J
-HSPLandroid/os/BatteryStats;->getCurrentDailyStartTime()J
-HSPLandroid/os/BatteryStats;->getDailyChargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-HSPLandroid/os/BatteryStats;->getDailyDischargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-HSPLandroid/os/BatteryStats;->getDailyItemLocked(I)Landroid/os/BatteryStats$DailyItem;
-HSPLandroid/os/BatteryStats;->getDailyPackageChanges()Ljava/util/ArrayList;
-HSPLandroid/os/BatteryStats;->getDeviceIdleModeCount(II)I
-HSPLandroid/os/BatteryStats;->getDeviceIdleModeTime(IJI)J
-HSPLandroid/os/BatteryStats;->getDeviceIdlingCount(II)I
-HSPLandroid/os/BatteryStats;->getDeviceIdlingTime(IJI)J
-HSPLandroid/os/BatteryStats;->getDischargeAmount(I)I
-HSPLandroid/os/BatteryStats;->getDischargeAmountScreenDoze()I
-HSPLandroid/os/BatteryStats;->getDischargeAmountScreenDozeSinceCharge()I
-HSPLandroid/os/BatteryStats;->getDischargeAmountScreenOff()I
-HSPLandroid/os/BatteryStats;->getDischargeAmountScreenOffSinceCharge()I
-HSPLandroid/os/BatteryStats;->getDischargeAmountScreenOn()I
-HSPLandroid/os/BatteryStats;->getDischargeAmountScreenOnSinceCharge()I
-HSPLandroid/os/BatteryStats;->getDischargeCurrentLevel()I
-HSPLandroid/os/BatteryStats;->getDischargeLevelStepTracker()Landroid/os/BatteryStats$LevelStepTracker;
-HSPLandroid/os/BatteryStats;->getDischargeStartLevel()I
-HSPLandroid/os/BatteryStats;->getEndPlatformVersion()Ljava/lang/String;
-HSPLandroid/os/BatteryStats;->getEstimatedBatteryCapacity()I
-HSPLandroid/os/BatteryStats;->getFlashlightOnCount(I)J
-HSPLandroid/os/BatteryStats;->getFlashlightOnTime(JI)J
-HSPLandroid/os/BatteryStats;->getGlobalWifiRunningTime(JI)J
-HSPLandroid/os/BatteryStats;->getGpsBatteryDrainMaMs()J
-HSPLandroid/os/BatteryStats;->getGpsSignalQualityTime(IJI)J
-HSPLandroid/os/BatteryStats;->getHighDischargeAmountSinceCharge()I
-HSPLandroid/os/BatteryStats;->getHistoryBaseTime()J
-HSPLandroid/os/BatteryStats;->getHistoryStringPoolBytes()I
-HSPLandroid/os/BatteryStats;->getHistoryStringPoolSize()I
-HSPLandroid/os/BatteryStats;->getHistoryTagPoolString(I)Ljava/lang/String;
-HSPLandroid/os/BatteryStats;->getHistoryTagPoolUid(I)I
-HSPLandroid/os/BatteryStats;->getHistoryTotalSize()I
-HSPLandroid/os/BatteryStats;->getHistoryUsedSize()I
-HSPLandroid/os/BatteryStats;->getInteractiveTime(JI)J
-HSPLandroid/os/BatteryStats;->getIsOnBattery()Z
-HSPLandroid/os/BatteryStats;->getKernelMemoryStats()Landroid/util/LongSparseArray;
-HSPLandroid/os/BatteryStats;->getKernelWakelockStats()Ljava/util/Map;
-HSPLandroid/os/BatteryStats;->getLongestDeviceIdleModeTime(I)J
-HSPLandroid/os/BatteryStats;->getLowDischargeAmountSinceCharge()I
-HSPLandroid/os/BatteryStats;->getMaxLearnedBatteryCapacity()I
-HSPLandroid/os/BatteryStats;->getMinLearnedBatteryCapacity()I
-HSPLandroid/os/BatteryStats;->getMobileRadioActiveAdjustedTime(I)J
-HSPLandroid/os/BatteryStats;->getMobileRadioActiveCount(I)I
-HSPLandroid/os/BatteryStats;->getMobileRadioActiveTime(JI)J
-HSPLandroid/os/BatteryStats;->getMobileRadioActiveUnknownCount(I)I
-HSPLandroid/os/BatteryStats;->getMobileRadioActiveUnknownTime(I)J
-HSPLandroid/os/BatteryStats;->getModemControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-HSPLandroid/os/BatteryStats;->getNetworkActivityBytes(II)J
-HSPLandroid/os/BatteryStats;->getNetworkActivityPackets(II)J
-HSPLandroid/os/BatteryStats;->getNextHistoryLocked(Landroid/os/BatteryStats$HistoryItem;)Z
-HSPLandroid/os/BatteryStats;->getNextMaxDailyDeadline()J
-HSPLandroid/os/BatteryStats;->getNextMinDailyDeadline()J
-HSPLandroid/os/BatteryStats;->getNextOldHistoryLocked(Landroid/os/BatteryStats$HistoryItem;)Z
-HSPLandroid/os/BatteryStats;->getNumConnectivityChange(I)I
-HSPLandroid/os/BatteryStats;->getParcelVersion()I
-HSPLandroid/os/BatteryStats;->getPhoneDataConnectionCount(II)I
-HSPLandroid/os/BatteryStats;->getPhoneDataConnectionTime(IJI)J
-HSPLandroid/os/BatteryStats;->getPhoneDataConnectionTimer(I)Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats;->getPhoneOnCount(I)I
-HSPLandroid/os/BatteryStats;->getPhoneOnTime(JI)J
-HSPLandroid/os/BatteryStats;->getPhoneSignalScanningTime(JI)J
-HSPLandroid/os/BatteryStats;->getPhoneSignalScanningTimer()Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats;->getPhoneSignalStrengthCount(II)I
-HSPLandroid/os/BatteryStats;->getPhoneSignalStrengthTime(IJI)J
-HSPLandroid/os/BatteryStats;->getPhoneSignalStrengthTimer(I)Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats;->getPowerSaveModeEnabledCount(I)I
-HSPLandroid/os/BatteryStats;->getPowerSaveModeEnabledTime(JI)J
-HSPLandroid/os/BatteryStats;->getRpmStats()Ljava/util/Map;
-HSPLandroid/os/BatteryStats;->getScreenBrightnessTime(IJI)J
-HSPLandroid/os/BatteryStats;->getScreenBrightnessTimer(I)Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats;->getScreenDozeCount(I)I
-HSPLandroid/os/BatteryStats;->getScreenDozeTime(JI)J
-HSPLandroid/os/BatteryStats;->getScreenOffRpmStats()Ljava/util/Map;
-HSPLandroid/os/BatteryStats;->getScreenOnCount(I)I
-HSPLandroid/os/BatteryStats;->getScreenOnTime(JI)J
-HSPLandroid/os/BatteryStats;->getStartClockTime()J
-HSPLandroid/os/BatteryStats;->getStartCount()I
-HSPLandroid/os/BatteryStats;->getStartPlatformVersion()Ljava/lang/String;
-HSPLandroid/os/BatteryStats;->getUahDischarge(I)J
-HSPLandroid/os/BatteryStats;->getUahDischargeDeepDoze(I)J
-HSPLandroid/os/BatteryStats;->getUahDischargeLightDoze(I)J
-HSPLandroid/os/BatteryStats;->getUahDischargeScreenDoze(I)J
-HSPLandroid/os/BatteryStats;->getUahDischargeScreenOff(I)J
-HSPLandroid/os/BatteryStats;->getUidStats()Landroid/util/SparseArray;
-HSPLandroid/os/BatteryStats;->getWakeupReasonStats()Ljava/util/Map;
-HSPLandroid/os/BatteryStats;->getWifiActiveTime(JI)J
-HSPLandroid/os/BatteryStats;->getWifiControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
-HSPLandroid/os/BatteryStats;->getWifiMulticastWakelockCount(I)I
-HSPLandroid/os/BatteryStats;->getWifiMulticastWakelockTime(JI)J
-HSPLandroid/os/BatteryStats;->getWifiOnTime(JI)J
-HSPLandroid/os/BatteryStats;->getWifiSignalStrengthCount(II)I
-HSPLandroid/os/BatteryStats;->getWifiSignalStrengthTime(IJI)J
-HSPLandroid/os/BatteryStats;->getWifiSignalStrengthTimer(I)Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats;->getWifiStateCount(II)I
-HSPLandroid/os/BatteryStats;->getWifiStateTime(IJI)J
-HSPLandroid/os/BatteryStats;->getWifiStateTimer(I)Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats;->getWifiSupplStateCount(II)I
-HSPLandroid/os/BatteryStats;->getWifiSupplStateTime(IJI)J
-HSPLandroid/os/BatteryStats;->getWifiSupplStateTimer(I)Landroid/os/BatteryStats$Timer;
-HSPLandroid/os/BatteryStats;->hasBluetoothActivityReporting()Z
-HSPLandroid/os/BatteryStats;->hasModemActivityReporting()Z
-HSPLandroid/os/BatteryStats;->hasWifiActivityReporting()Z
 HSPLandroid/os/BatteryStats;->mapToInternalProcessState(I)I
-HSPLandroid/os/BatteryStats;->startIteratingHistoryLocked()Z
-HSPLandroid/os/BatteryStats;->startIteratingOldHistoryLocked()Z
-HSPLandroid/os/BatteryStats;->writeToParcelWithoutUids(Landroid/os/Parcel;I)V
-HSPLandroid/os/BatteryStatsInternal;->getMobileIfaces()[Ljava/lang/String;
-HSPLandroid/os/BatteryStatsInternal;->getWifiIfaces()[Ljava/lang/String;
-HSPLandroid/os/BatteryStatsInternal;->noteJobsDeferred(IIJ)V
 HSPLandroid/os/BestClock;-><init>(Ljava/time/ZoneId;[Ljava/time/Clock;)V
 HSPLandroid/os/BestClock;->millis()J
+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;->access$000()J
 HSPLandroid/os/Binder;->allowBlocking(Landroid/os/IBinder;)Landroid/os/IBinder;
@@ -27451,6 +23708,7 @@
 HSPLandroid/os/Binder;->copyAllowBlocking(Landroid/os/IBinder;Landroid/os/IBinder;)V
 HSPLandroid/os/Binder;->defaultBlocking(Landroid/os/IBinder;)Landroid/os/IBinder;
 HSPLandroid/os/Binder;->execTransact(IJJI)Z
+HSPLandroid/os/Binder;->execTransactInternal(IJJII)Z
 HSPLandroid/os/Binder;->getCallingUserHandle()Landroid/os/UserHandle;
 HSPLandroid/os/Binder;->getInterfaceDescriptor()Ljava/lang/String;
 HSPLandroid/os/Binder;->isBinderAlive()Z
@@ -27458,7 +23716,10 @@
 HSPLandroid/os/Binder;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/Binder;->pingBinder()Z
 HSPLandroid/os/Binder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
+HSPLandroid/os/Binder;->setObserver(Lcom/android/internal/os/BinderInternal$Observer;)V
+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;->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
@@ -27466,8 +23727,7 @@
 HSPLandroid/os/BinderProxy$ProxyMap;->get(J)Landroid/os/BinderProxy;
 HSPLandroid/os/BinderProxy$ProxyMap;->remove(II)V
 HSPLandroid/os/BinderProxy$ProxyMap;->set(JLandroid/os/BinderProxy;)V
-HSPLandroid/os/BinderProxy;->access$100()J
-HSPLandroid/os/BinderProxy;->access$300()J
+HSPLandroid/os/BinderProxy;->access$500()J
 HSPLandroid/os/BinderProxy;->getInstance(JJ)Landroid/os/BinderProxy;
 HSPLandroid/os/BinderProxy;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IInterface;
 HSPLandroid/os/BinderProxy;->sendDeathNotice(Landroid/os/IBinder$DeathRecipient;)V
@@ -27492,15 +23752,13 @@
 HSPLandroid/os/Bundle;->clear()V
 HSPLandroid/os/Bundle;->clone()Ljava/lang/Object;
 HSPLandroid/os/Bundle;->deepCopy()Landroid/os/Bundle;
-HSPLandroid/os/Bundle;->describeContents()I
 HSPLandroid/os/Bundle;->forPair(Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;
-HSPLandroid/os/Bundle;->getBinder(Ljava/lang/String;)Landroid/os/IBinder;
 HSPLandroid/os/Bundle;->getBundle(Ljava/lang/String;)Landroid/os/Bundle;
 HSPLandroid/os/Bundle;->getByteArray(Ljava/lang/String;)[B
 HSPLandroid/os/Bundle;->getCharSequence(Ljava/lang/String;)Ljava/lang/CharSequence;
+HSPLandroid/os/Bundle;->getCharSequenceArray(Ljava/lang/String;)[Ljava/lang/CharSequence;
+HSPLandroid/os/Bundle;->getFloat(Ljava/lang/String;)F
 HSPLandroid/os/Bundle;->getFloat(Ljava/lang/String;F)F
-HSPLandroid/os/Bundle;->getFloatArray(Ljava/lang/String;)[F
-HSPLandroid/os/Bundle;->getIntegerArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
 HSPLandroid/os/Bundle;->getParcelable(Ljava/lang/String;)Landroid/os/Parcelable;
 HSPLandroid/os/Bundle;->getParcelableArray(Ljava/lang/String;)[Landroid/os/Parcelable;
 HSPLandroid/os/Bundle;->getParcelableArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
@@ -27508,17 +23766,17 @@
 HSPLandroid/os/Bundle;->getSparseParcelableArray(Ljava/lang/String;)Landroid/util/SparseArray;
 HSPLandroid/os/Bundle;->getStringArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
 HSPLandroid/os/Bundle;->hasFileDescriptors()Z
+HSPLandroid/os/Bundle;->maybePrefillHasFds()V
 HSPLandroid/os/Bundle;->putAll(Landroid/os/Bundle;)V
-HSPLandroid/os/Bundle;->putBinder(Ljava/lang/String;Landroid/os/IBinder;)V
 HSPLandroid/os/Bundle;->putBundle(Ljava/lang/String;Landroid/os/Bundle;)V
 HSPLandroid/os/Bundle;->putByteArray(Ljava/lang/String;[B)V
 HSPLandroid/os/Bundle;->putCharSequence(Ljava/lang/String;Ljava/lang/CharSequence;)V
 HSPLandroid/os/Bundle;->putCharSequenceArray(Ljava/lang/String;[Ljava/lang/CharSequence;)V
 HSPLandroid/os/Bundle;->putFloat(Ljava/lang/String;F)V
-HSPLandroid/os/Bundle;->putIntegerArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
 HSPLandroid/os/Bundle;->putParcelable(Ljava/lang/String;Landroid/os/Parcelable;)V
 HSPLandroid/os/Bundle;->putParcelableArray(Ljava/lang/String;[Landroid/os/Parcelable;)V
 HSPLandroid/os/Bundle;->putParcelableArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
+HSPLandroid/os/Bundle;->putParcelableList(Ljava/lang/String;Ljava/util/List;)V
 HSPLandroid/os/Bundle;->putSerializable(Ljava/lang/String;Ljava/io/Serializable;)V
 HSPLandroid/os/Bundle;->putSparseParcelableArray(Ljava/lang/String;Landroid/util/SparseArray;)V
 HSPLandroid/os/Bundle;->putStringArrayList(Ljava/lang/String;Ljava/util/ArrayList;)V
@@ -27528,9 +23786,6 @@
 HSPLandroid/os/Bundle;->setDefusable(Landroid/os/Bundle;Z)Landroid/os/Bundle;
 HSPLandroid/os/Bundle;->toString()Ljava/lang/String;
 HSPLandroid/os/Bundle;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/CancellationSignal$OnCancelListener;->onCancel()V
-HSPLandroid/os/CancellationSignal$Transport;->cancel()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;
@@ -27539,20 +23794,15 @@
 HSPLandroid/os/CancellationSignal;->setRemote(Landroid/os/ICancellationSignal;)V
 HSPLandroid/os/CancellationSignal;->throwIfCanceled()V
 HSPLandroid/os/CancellationSignal;->waitForCancelFinishedLocked()V
-HSPLandroid/os/CommonTimeConfig$OnServerDiedListener;->onServerDied()V
+HSPLandroid/os/ChildZygoteProcess;-><init>(Landroid/net/LocalSocketAddress;I)V
 HSPLandroid/os/ConditionVariable;-><init>()V
 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/CountDownTimer$1;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/os/CountDownTimer;-><init>(JJ)V
-HSPLandroid/os/CountDownTimer;->cancel()V
-HSPLandroid/os/CountDownTimer;->onFinish()V
-HSPLandroid/os/CountDownTimer;->onTick(J)V
-HSPLandroid/os/CountDownTimer;->start()Landroid/os/CountDownTimer;
 HSPLandroid/os/CpuUsageInfo$1;-><init>()V
+HSPLandroid/os/DeadObjectException;-><init>()V
 HSPLandroid/os/Debug$MemoryInfo$1;-><init>()V
 HSPLandroid/os/Debug$MemoryInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/Debug$MemoryInfo;
 HSPLandroid/os/Debug$MemoryInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -27583,25 +23833,22 @@
 HSPLandroid/os/Debug$MemoryInfo;->getTotalSwappedOutPss()I
 HSPLandroid/os/Debug$MemoryInfo;->getTotalUss()I
 HSPLandroid/os/Debug$MemoryInfo;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/os/Debug$MemoryInfo;->set(Landroid/os/Debug$MemoryInfo;)V
 HSPLandroid/os/Debug$MemoryInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/Debug;->getCaller([Ljava/lang/StackTraceElement;I)Ljava/lang/String;
 HSPLandroid/os/Debug;->getCallers(I)Ljava/lang/String;
-HSPLandroid/os/Debug;->getRuntimeStats()Ljava/util/Map;
+HSPLandroid/os/Debug;->getMethodTracingMode()I
+HSPLandroid/os/Debug;->getVmFeatureList()[Ljava/lang/String;
 HSPLandroid/os/Debug;->isDebuggerConnected()Z
 HSPLandroid/os/Debug;->threadCpuTimeNanos()J
 HSPLandroid/os/Debug;->waitingForDebugger()Z
 HSPLandroid/os/DropBoxManager$Entry$1;-><init>()V
-HSPLandroid/os/DropBoxManager$Entry$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/DropBoxManager$Entry;
-HSPLandroid/os/DropBoxManager$Entry$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/os/DropBoxManager$Entry;-><init>(Ljava/lang/String;JLandroid/os/ParcelFileDescriptor;I)V
 HSPLandroid/os/DropBoxManager$Entry;-><init>(Ljava/lang/String;JLjava/lang/String;)V
 HSPLandroid/os/DropBoxManager$Entry;->close()V
 HSPLandroid/os/DropBoxManager$Entry;->getFlags()I
 HSPLandroid/os/DropBoxManager$Entry;->getInputStream()Ljava/io/InputStream;
 HSPLandroid/os/DropBoxManager$Entry;->getTag()Ljava/lang/String;
-HSPLandroid/os/DropBoxManager$Entry;->getTimeMillis()J
 HSPLandroid/os/DropBoxManager;->addText(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/DropBoxManager;->getNextEntry(Ljava/lang/String;J)Landroid/os/DropBoxManager$Entry;
 HSPLandroid/os/DropBoxManager;->isTagEnabled(Ljava/lang/String;)Z
 HSPLandroid/os/Environment$UserEnvironment;->buildExternalStorageAppCacheDirs(Ljava/lang/String;)[Ljava/io/File;
 HSPLandroid/os/Environment$UserEnvironment;->buildExternalStorageAppFilesDirs(Ljava/lang/String;)[Ljava/io/File;
@@ -27610,12 +23857,10 @@
 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;
 HSPLandroid/os/Environment;->getDataMiscDirectory()Ljava/io/File;
-HSPLandroid/os/Environment;->getDataPreloadsFileCacheDirectory(Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/os/Environment;->getDataProfilesDeDirectory(I)Ljava/io/File;
 HSPLandroid/os/Environment;->getDataProfilesDePackageDirectory(ILjava/lang/String;)Ljava/io/File;
 HSPLandroid/os/Environment;->getDataSystemCeDirectory()Ljava/io/File;
@@ -27628,6 +23873,7 @@
 HSPLandroid/os/Environment;->getDataUserDeDirectory(Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/os/Environment;->getDataUserDeDirectory(Ljava/lang/String;I)Ljava/io/File;
 HSPLandroid/os/Environment;->getDataUserDePackageDirectory(Ljava/lang/String;ILjava/lang/String;)Ljava/io/File;
+HSPLandroid/os/Environment;->getDataVendorDeDirectory(I)Ljava/io/File;
 HSPLandroid/os/Environment;->getDirectory(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/os/Environment;->getDownloadCacheDirectory()Ljava/io/File;
 HSPLandroid/os/Environment;->getExternalStorageDirectory()Ljava/io/File;
@@ -27636,9 +23882,10 @@
 HSPLandroid/os/Environment;->getLegacyExternalStorageDirectory()Ljava/io/File;
 HSPLandroid/os/Environment;->getOdmDirectory()Ljava/io/File;
 HSPLandroid/os/Environment;->getOemDirectory()Ljava/io/File;
+HSPLandroid/os/Environment;->getPackageCacheDirectory()Ljava/io/File;
 HSPLandroid/os/Environment;->getProductDirectory()Ljava/io/File;
+HSPLandroid/os/Environment;->getProductServicesDirectory()Ljava/io/File;
 HSPLandroid/os/Environment;->getRootDirectory()Ljava/io/File;
-HSPLandroid/os/Environment;->getStorageState(Ljava/io/File;)Ljava/lang/String;
 HSPLandroid/os/Environment;->getUserConfigDirectory(I)Ljava/io/File;
 HSPLandroid/os/Environment;->getUserSystemDirectory(I)Ljava/io/File;
 HSPLandroid/os/Environment;->getVendorDirectory()Ljava/io/File;
@@ -27647,31 +23894,29 @@
 HSPLandroid/os/Environment;->isExternalStorageEmulated(Ljava/io/File;)Z
 HSPLandroid/os/Environment;->isExternalStorageRemovable()Z
 HSPLandroid/os/Environment;->isExternalStorageRemovable(Ljava/io/File;)Z
+HSPLandroid/os/Environment;->maybeTranslateEmulatedPathToInternal(Ljava/io/File;)Ljava/io/File;
 HSPLandroid/os/Environment;->setUserRequired(Z)V
 HSPLandroid/os/FactoryTest;->getMode()I
 HSPLandroid/os/FileObserver$ObserverThread;-><init>()V
 HSPLandroid/os/FileObserver$ObserverThread;->onEvent(IILjava/lang/String;)V
 HSPLandroid/os/FileObserver$ObserverThread;->run()V
-HSPLandroid/os/FileObserver$ObserverThread;->startWatching(Ljava/lang/String;ILandroid/os/FileObserver;)I
-HSPLandroid/os/FileObserver$ObserverThread;->stopWatching(I)V
+HSPLandroid/os/FileObserver$ObserverThread;->startWatching(Ljava/util/List;ILandroid/os/FileObserver;)[I
 HSPLandroid/os/FileObserver;-><init>(Ljava/lang/String;)V
 HSPLandroid/os/FileObserver;-><init>(Ljava/lang/String;I)V
-HSPLandroid/os/FileObserver;->finalize()V
-HSPLandroid/os/FileObserver;->onEvent(ILjava/lang/String;)V
 HSPLandroid/os/FileObserver;->startWatching()V
-HSPLandroid/os/FileObserver;->stopWatching()V
 HSPLandroid/os/FileUtils;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
 HSPLandroid/os/FileUtils;->buildValidExtFilename(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/os/FileUtils;->bytesToFile(Ljava/lang/String;[B)V
 HSPLandroid/os/FileUtils;->contains(Ljava/io/File;Ljava/io/File;)Z
 HSPLandroid/os/FileUtils;->contains(Ljava/lang/String;Ljava/lang/String;)Z
+HSPLandroid/os/FileUtils;->createDir(Ljava/io/File;)Z
 HSPLandroid/os/FileUtils;->createDir(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/os/FileUtils;->deleteContents(Ljava/io/File;)Z
+HSPLandroid/os/FileUtils;->deleteContentsAndDir(Ljava/io/File;)Z
 HSPLandroid/os/FileUtils;->getUid(Ljava/lang/String;)I
 HSPLandroid/os/FileUtils;->isValidExtFilename(Ljava/lang/String;)Z
 HSPLandroid/os/FileUtils;->listFilesOrEmpty(Ljava/io/File;)[Ljava/io/File;
 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/FileUtils;->newFileOrNull(Ljava/lang/String;)Ljava/io/File;
 HSPLandroid/os/FileUtils;->readTextFile(Ljava/io/File;ILjava/lang/String;)Ljava/lang/String;
 HSPLandroid/os/FileUtils;->setPermissions(Ljava/io/File;III)I
@@ -27680,18 +23925,28 @@
 HSPLandroid/os/FileUtils;->stringToFile(Ljava/io/File;Ljava/lang/String;)V
 HSPLandroid/os/FileUtils;->stringToFile(Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/os/FileUtils;->sync(Ljava/io/FileOutputStream;)Z
+HSPLandroid/os/FileUtils;->translateModePfdToPosix(I)I
 HSPLandroid/os/FileUtils;->trimFilename(Ljava/lang/StringBuilder;I)V
+HSPLandroid/os/GraphicsEnvironment$OpenGlDriverChoice;-><init>(Ljava/lang/String;I)V
 HSPLandroid/os/GraphicsEnvironment;-><init>()V
-HSPLandroid/os/GraphicsEnvironment;->chooseAbi(Landroid/content/pm/ApplicationInfo;)Ljava/lang/String;
-HSPLandroid/os/GraphicsEnvironment;->chooseDriver(Landroid/content/Context;)V
+HSPLandroid/os/GraphicsEnvironment;->buildMap()Ljava/util/Map;
+HSPLandroid/os/GraphicsEnvironment;->chooseDriver(Landroid/content/Context;Landroid/os/Bundle;)V
+HSPLandroid/os/GraphicsEnvironment;->chooseDriver(Landroid/content/Context;Landroid/os/Bundle;Landroid/content/pm/PackageManager;Ljava/lang/String;)Z
 HSPLandroid/os/GraphicsEnvironment;->earlyInitEGL()V
+HSPLandroid/os/GraphicsEnvironment;->getDriverForPkg(Landroid/content/Context;Landroid/os/Bundle;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/os/GraphicsEnvironment;->getDriverForPkg(Landroid/os/Bundle;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/os/GraphicsEnvironment;->getGlobalSettingsString(Landroid/content/ContentResolver;Landroid/os/Bundle;Ljava/lang/String;)Ljava/util/List;
 HSPLandroid/os/GraphicsEnvironment;->getInstance()Landroid/os/GraphicsEnvironment;
 HSPLandroid/os/GraphicsEnvironment;->setLayerPaths(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/GraphicsEnvironment;->setup(Landroid/content/Context;)V
-HSPLandroid/os/GraphicsEnvironment;->setupGpuLayers(Landroid/content/Context;)V
+HSPLandroid/os/GraphicsEnvironment;->setup(Landroid/content/Context;Landroid/os/Bundle;)V
+HSPLandroid/os/GraphicsEnvironment;->setupAngle(Landroid/content/Context;Landroid/os/Bundle;Landroid/content/pm/PackageManager;Ljava/lang/String;)Z
+HSPLandroid/os/GraphicsEnvironment;->setupAngle(Landroid/content/Context;Landroid/os/Bundle;Ljava/lang/String;)V
+HSPLandroid/os/GraphicsEnvironment;->setupGpuLayers(Landroid/content/Context;Landroid/os/Bundle;)V
+HSPLandroid/os/GraphicsEnvironment;->setupGpuLayers(Landroid/content/Context;Landroid/os/Bundle;Landroid/content/pm/PackageManager;Ljava/lang/String;)V
+HSPLandroid/os/GraphicsEnvironment;->shouldShowAngleInUseDialogBox(Landroid/content/Context;)Z
+HSPLandroid/os/GraphicsEnvironment;->showAngleInUseDialogBox(Landroid/content/Context;)V
 HSPLandroid/os/Handler$BlockingRunnable;->postAndWait(Landroid/os/Handler;J)Z
 HSPLandroid/os/Handler$BlockingRunnable;->run()V
-HSPLandroid/os/Handler$Callback;->handleMessage(Landroid/os/Message;)Z
 HSPLandroid/os/Handler$MessengerImpl;->send(Landroid/os/Message;)V
 HSPLandroid/os/Handler;-><init>()V
 HSPLandroid/os/Handler;-><init>(Landroid/os/Handler$Callback;)V
@@ -27700,11 +23955,13 @@
 HSPLandroid/os/Handler;-><init>(Landroid/os/Looper;Landroid/os/Handler$Callback;)V
 HSPLandroid/os/Handler;-><init>(Landroid/os/Looper;Landroid/os/Handler$Callback;Z)V
 HSPLandroid/os/Handler;-><init>(Z)V
+HSPLandroid/os/Handler;->createAsync(Landroid/os/Looper;)Landroid/os/Handler;
 HSPLandroid/os/Handler;->dispatchMessage(Landroid/os/Message;)V
+HSPLandroid/os/Handler;->executeOrSendMessage(Landroid/os/Message;)Z
 HSPLandroid/os/Handler;->getIMessenger()Landroid/os/IMessenger;
 HSPLandroid/os/Handler;->getLooper()Landroid/os/Looper;
 HSPLandroid/os/Handler;->getMain()Landroid/os/Handler;
-HSPLandroid/os/Handler;->getPostMessage(Ljava/lang/Runnable;)Landroid/os/Message;
+HSPLandroid/os/Handler;->getMessageName(Landroid/os/Message;)Ljava/lang/String;
 HSPLandroid/os/Handler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/os/Handler;->hasCallbacks(Ljava/lang/Runnable;)Z
 HSPLandroid/os/Handler;->hasMessages(I)Z
@@ -27726,7 +23983,6 @@
 HSPLandroid/os/Handler;->removeMessages(ILjava/lang/Object;)V
 HSPLandroid/os/Handler;->runWithScissors(Ljava/lang/Runnable;J)Z
 HSPLandroid/os/Handler;->sendEmptyMessage(I)Z
-HSPLandroid/os/Handler;->sendEmptyMessageAtTime(IJ)Z
 HSPLandroid/os/Handler;->sendEmptyMessageDelayed(IJ)Z
 HSPLandroid/os/Handler;->sendMessage(Landroid/os/Message;)Z
 HSPLandroid/os/Handler;->sendMessageAtFrontOfQueue(Landroid/os/Message;)Z
@@ -27744,234 +24000,64 @@
 HSPLandroid/os/HandlerThread;->quit()Z
 HSPLandroid/os/HandlerThread;->quitSafely()Z
 HSPLandroid/os/HandlerThread;->run()V
-HSPLandroid/os/HardwarePropertiesManager;->getDeviceTemperatures(II)[F
-HSPLandroid/os/HidlSupport$Mutable;-><init>()V
 HSPLandroid/os/HidlSupport;->interfacesEqual(Landroid/os/IHwInterface;Ljava/lang/Object;)Z
 HSPLandroid/os/HwBinder;-><init>()V
 HSPLandroid/os/HwBinder;->getService(Ljava/lang/String;Ljava/lang/String;)Landroid/os/IHwBinder;
-HSPLandroid/os/HwBinder;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
 HSPLandroid/os/HwBlob;-><init>(I)V
 HSPLandroid/os/HwParcel;-><init>()V
 HSPLandroid/os/HwParcel;-><init>(Z)V
 HSPLandroid/os/HwParcel;->readInt32Vector()Ljava/util/ArrayList;
 HSPLandroid/os/HwParcel;->readInt8Vector()Ljava/util/ArrayList;
 HSPLandroid/os/HwParcel;->readStringVector()Ljava/util/ArrayList;
-HSPLandroid/os/HwParcel;->writeInt8Vector(Ljava/util/ArrayList;)V
+HSPLandroid/os/HwParcel;->writeInt32Vector(Ljava/util/ArrayList;)V
 HSPLandroid/os/HwParcel;->writeStringVector(Ljava/util/ArrayList;)V
 HSPLandroid/os/HwRemoteBinder;-><init>()V
 HSPLandroid/os/HwRemoteBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IHwInterface;
+HSPLandroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;->getProperty(ILandroid/os/BatteryProperty;)I
 HSPLandroid/os/IBatteryPropertiesRegistrar$Stub;-><init>()V
 HSPLandroid/os/IBatteryPropertiesRegistrar$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IBatteryPropertiesRegistrar;
-HSPLandroid/os/IBatteryPropertiesRegistrar;->getProperty(ILandroid/os/BatteryProperty;)I
-HSPLandroid/os/IBatteryPropertiesRegistrar;->registerListener(Landroid/os/IBatteryPropertiesListener;)V
-HSPLandroid/os/IBatteryPropertiesRegistrar;->scheduleUpdate()V
-HSPLandroid/os/IBatteryPropertiesRegistrar;->unregisterListener(Landroid/os/IBatteryPropertiesListener;)V
-HSPLandroid/os/IBinder$DeathRecipient;->binderDied()V
+HSPLandroid/os/ICancellationSignal$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/os/ICancellationSignal$Stub$Proxy;->cancel()V
+HSPLandroid/os/ICancellationSignal$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/os/ICancellationSignal$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/ICancellationSignal;
-HSPLandroid/os/ICancellationSignal;->cancel()V
-HSPLandroid/os/IDeviceIdentifiersPolicyService$Stub$Proxy;->getSerial()Ljava/lang/String;
+HSPLandroid/os/IDeviceIdentifiersPolicyService$Stub$Proxy;->getSerialForPackage(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/os/IDeviceIdentifiersPolicyService$Stub;-><init>()V
 HSPLandroid/os/IDeviceIdentifiersPolicyService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IDeviceIdentifiersPolicyService;
-HSPLandroid/os/IDeviceIdentifiersPolicyService;->getSerial()Ljava/lang/String;
 HSPLandroid/os/IDeviceIdleController$Stub$Proxy;->isPowerSaveWhitelistApp(Ljava/lang/String;)Z
 HSPLandroid/os/IDeviceIdleController$Stub;-><init>()V
 HSPLandroid/os/IDeviceIdleController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IDeviceIdleController;
-HSPLandroid/os/IDeviceIdleController;->addPowerSaveTempWhitelistApp(Ljava/lang/String;JILjava/lang/String;)V
-HSPLandroid/os/IDeviceIdleController;->addPowerSaveTempWhitelistAppForMms(Ljava/lang/String;ILjava/lang/String;)J
-HSPLandroid/os/IDeviceIdleController;->addPowerSaveTempWhitelistAppForSms(Ljava/lang/String;ILjava/lang/String;)J
-HSPLandroid/os/IDeviceIdleController;->addPowerSaveWhitelistApp(Ljava/lang/String;)V
-HSPLandroid/os/IDeviceIdleController;->exitIdle(Ljava/lang/String;)V
-HSPLandroid/os/IDeviceIdleController;->getAppIdTempWhitelist()[I
-HSPLandroid/os/IDeviceIdleController;->getAppIdUserWhitelist()[I
-HSPLandroid/os/IDeviceIdleController;->getAppIdWhitelist()[I
-HSPLandroid/os/IDeviceIdleController;->getAppIdWhitelistExceptIdle()[I
-HSPLandroid/os/IDeviceIdleController;->getFullPowerWhitelist()[Ljava/lang/String;
-HSPLandroid/os/IDeviceIdleController;->getFullPowerWhitelistExceptIdle()[Ljava/lang/String;
-HSPLandroid/os/IDeviceIdleController;->getRemovedSystemPowerWhitelistApps()[Ljava/lang/String;
-HSPLandroid/os/IDeviceIdleController;->getSystemPowerWhitelist()[Ljava/lang/String;
-HSPLandroid/os/IDeviceIdleController;->getSystemPowerWhitelistExceptIdle()[Ljava/lang/String;
-HSPLandroid/os/IDeviceIdleController;->getUserPowerWhitelist()[Ljava/lang/String;
-HSPLandroid/os/IDeviceIdleController;->isPowerSaveWhitelistApp(Ljava/lang/String;)Z
-HSPLandroid/os/IDeviceIdleController;->isPowerSaveWhitelistExceptIdleApp(Ljava/lang/String;)Z
-HSPLandroid/os/IDeviceIdleController;->registerMaintenanceActivityListener(Landroid/os/IMaintenanceActivityListener;)Z
-HSPLandroid/os/IDeviceIdleController;->removePowerSaveWhitelistApp(Ljava/lang/String;)V
-HSPLandroid/os/IDeviceIdleController;->removeSystemPowerWhitelistApp(Ljava/lang/String;)V
-HSPLandroid/os/IDeviceIdleController;->restoreSystemPowerWhitelistApp(Ljava/lang/String;)V
-HSPLandroid/os/IDeviceIdleController;->unregisterMaintenanceActivityListener(Landroid/os/IMaintenanceActivityListener;)V
-HSPLandroid/os/IHardwarePropertiesManager$Stub$Proxy;->getDeviceTemperatures(Ljava/lang/String;II)[F
+HSPLandroid/os/IDumpstate$Stub;-><init>()V
+HSPLandroid/os/IDynamicAndroidService$Stub;-><init>()V
+HSPLandroid/os/IExternalVibratorService$Stub;-><init>()V
 HSPLandroid/os/IHardwarePropertiesManager$Stub;-><init>()V
-HSPLandroid/os/IHardwarePropertiesManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IHardwarePropertiesManager;
-HSPLandroid/os/IHardwarePropertiesManager;->getCpuUsages(Ljava/lang/String;)[Landroid/os/CpuUsageInfo;
-HSPLandroid/os/IHardwarePropertiesManager;->getDeviceTemperatures(Ljava/lang/String;II)[F
-HSPLandroid/os/IHardwarePropertiesManager;->getFanSpeeds(Ljava/lang/String;)[F
-HSPLandroid/os/IHwBinder$DeathRecipient;->serviceDied(J)V
-HSPLandroid/os/IHwBinder;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HSPLandroid/os/IHwBinder;->queryLocalInterface(Ljava/lang/String;)Landroid/os/IHwInterface;
-HSPLandroid/os/IHwBinder;->transact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HSPLandroid/os/IHwBinder;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HSPLandroid/os/IHwInterface;->asBinder()Landroid/os/IHwBinder;
+HSPLandroid/os/IIncidentCompanion$Stub;-><init>()V
 HSPLandroid/os/IIncidentManager$Stub$Proxy;->systemRunning()V
 HSPLandroid/os/IIncidentManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IIncidentManager;
-HSPLandroid/os/IIncidentManager;->reportIncident(Landroid/os/IncidentReportArgs;)V
-HSPLandroid/os/IIncidentManager;->reportIncidentToStream(Landroid/os/IncidentReportArgs;Landroid/os/IIncidentReportStatusListener;Ljava/io/FileDescriptor;)V
-HSPLandroid/os/IIncidentManager;->systemRunning()V
-HSPLandroid/os/IInstalld$Stub$Proxy;->clearAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
+HSPLandroid/os/IInstalld$Stub$Proxy;->assertFsverityRootHashMatches(Ljava/lang/String;[B)V
 HSPLandroid/os/IInstalld$Stub$Proxy;->clearAppProfiles(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/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
 HSPLandroid/os/IInstalld$Stub$Proxy;->destroyAppData(Ljava/lang/String;Ljava/lang/String;IIJ)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;->destroyAppProfiles(Ljava/lang/String;)V
 HSPLandroid/os/IInstalld$Stub$Proxy;->fixupAppData(Ljava/lang/String;I)V
 HSPLandroid/os/IInstalld$Stub$Proxy;->idmap(Ljava/lang/String;Ljava/lang/String;I)V
 HSPLandroid/os/IInstalld$Stub$Proxy;->invalidateMounts()V
-HSPLandroid/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
+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
 HSPLandroid/os/IInstalld$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IInstalld;
-HSPLandroid/os/IInstalld;->assertFsverityRootHashMatches(Ljava/lang/String;[B)V
-HSPLandroid/os/IInstalld;->clearAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
-HSPLandroid/os/IInstalld;->clearAppProfiles(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IInstalld;->copySystemProfile(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/os/IInstalld;->createAppData(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;I)J
-HSPLandroid/os/IInstalld;->createOatDir(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IInstalld;->createProfileSnapshot(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/os/IInstalld;->createUserData(Ljava/lang/String;III)V
-HSPLandroid/os/IInstalld;->deleteOdex(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IInstalld;->destroyAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
-HSPLandroid/os/IInstalld;->destroyAppProfiles(Ljava/lang/String;)V
-HSPLandroid/os/IInstalld;->destroyProfileSnapshot(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IInstalld;->destroyUserData(Ljava/lang/String;II)V
-HSPLandroid/os/IInstalld;->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;->dumpProfiles(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/os/IInstalld;->fixupAppData(Ljava/lang/String;I)V
-HSPLandroid/os/IInstalld;->freeCache(Ljava/lang/String;JJI)V
-HSPLandroid/os/IInstalld;->getAppSize(Ljava/lang/String;[Ljava/lang/String;III[J[Ljava/lang/String;)[J
-HSPLandroid/os/IInstalld;->getExternalSize(Ljava/lang/String;II[I)[J
-HSPLandroid/os/IInstalld;->getUserSize(Ljava/lang/String;II[I)[J
-HSPLandroid/os/IInstalld;->hashSecondaryDexFile(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;I)[B
-HSPLandroid/os/IInstalld;->idmap(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/os/IInstalld;->installApkVerity(Ljava/lang/String;Ljava/io/FileDescriptor;I)V
-HSPLandroid/os/IInstalld;->invalidateMounts()V
-HSPLandroid/os/IInstalld;->isQuotaSupported(Ljava/lang/String;)Z
-HSPLandroid/os/IInstalld;->linkFile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IInstalld;->linkNativeLibraryDirectory(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/os/IInstalld;->markBootComplete(Ljava/lang/String;)V
-HSPLandroid/os/IInstalld;->mergeProfiles(ILjava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/os/IInstalld;->migrateAppData(Ljava/lang/String;Ljava/lang/String;II)V
-HSPLandroid/os/IInstalld;->moveAb(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IInstalld;->moveCompleteApp(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;I)V
-HSPLandroid/os/IInstalld;->prepareAppProfile(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/os/IInstalld;->reconcileSecondaryDexFile(Ljava/lang/String;Ljava/lang/String;I[Ljava/lang/String;Ljava/lang/String;I)Z
-HSPLandroid/os/IInstalld;->removeIdmap(Ljava/lang/String;)V
-HSPLandroid/os/IInstalld;->restoreconAppData(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;)V
-HSPLandroid/os/IInstalld;->rmPackageDir(Ljava/lang/String;)V
-HSPLandroid/os/IInstalld;->rmdex(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IInstalld;->setAppQuota(Ljava/lang/String;IIJ)V
 HSPLandroid/os/IMessenger$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/os/IMessenger$Stub$Proxy;->send(Landroid/os/Message;)V
 HSPLandroid/os/IMessenger$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/os/IMessenger$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IMessenger;->send(Landroid/os/Message;)V
 HSPLandroid/os/INetworkManagementService$Stub$Proxy;->isBandwidthControlEnabled()Z
+HSPLandroid/os/INetworkManagementService$Stub$Proxy;->isNetworkActive()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;
 HSPLandroid/os/INetworkManagementService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/INetworkManagementService;->addIdleTimer(Ljava/lang/String;II)V
-HSPLandroid/os/INetworkManagementService;->addInterfaceToLocalNetwork(Ljava/lang/String;Ljava/util/List;)V
-HSPLandroid/os/INetworkManagementService;->addInterfaceToNetwork(Ljava/lang/String;I)V
-HSPLandroid/os/INetworkManagementService;->addLegacyRouteForNetId(ILandroid/net/RouteInfo;I)V
-HSPLandroid/os/INetworkManagementService;->addRoute(ILandroid/net/RouteInfo;)V
-HSPLandroid/os/INetworkManagementService;->addVpnUidRanges(I[Landroid/net/UidRange;)V
-HSPLandroid/os/INetworkManagementService;->allowProtect(I)V
-HSPLandroid/os/INetworkManagementService;->attachPppd(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->clearDefaultNetId()V
-HSPLandroid/os/INetworkManagementService;->clearInterfaceAddresses(Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->clearPermission([I)V
-HSPLandroid/os/INetworkManagementService;->createPhysicalNetwork(ILjava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->createVirtualNetwork(IZZ)V
-HSPLandroid/os/INetworkManagementService;->denyProtect(I)V
-HSPLandroid/os/INetworkManagementService;->detachPppd(Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->disableIpv6(Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->disableNat(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->enableIpv6(Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->enableNat(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->getDnsForwarders()[Ljava/lang/String;
-HSPLandroid/os/INetworkManagementService;->getInterfaceConfig(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;
-HSPLandroid/os/INetworkManagementService;->getIpForwardingEnabled()Z
-HSPLandroid/os/INetworkManagementService;->getNetdService()Landroid/net/INetd;
-HSPLandroid/os/INetworkManagementService;->getNetworkStatsDetail()Landroid/net/NetworkStats;
-HSPLandroid/os/INetworkManagementService;->getNetworkStatsSummaryDev()Landroid/net/NetworkStats;
-HSPLandroid/os/INetworkManagementService;->getNetworkStatsSummaryXt()Landroid/net/NetworkStats;
-HSPLandroid/os/INetworkManagementService;->getNetworkStatsTethering(I)Landroid/net/NetworkStats;
-HSPLandroid/os/INetworkManagementService;->getNetworkStatsUidDetail(I[Ljava/lang/String;)Landroid/net/NetworkStats;
-HSPLandroid/os/INetworkManagementService;->isBandwidthControlEnabled()Z
-HSPLandroid/os/INetworkManagementService;->isClatdStarted(Ljava/lang/String;)Z
-HSPLandroid/os/INetworkManagementService;->isFirewallEnabled()Z
-HSPLandroid/os/INetworkManagementService;->isNetworkActive()Z
-HSPLandroid/os/INetworkManagementService;->isNetworkRestricted(I)Z
-HSPLandroid/os/INetworkManagementService;->isTetheringStarted()Z
-HSPLandroid/os/INetworkManagementService;->listInterfaces()[Ljava/lang/String;
-HSPLandroid/os/INetworkManagementService;->listTetheredInterfaces()[Ljava/lang/String;
-HSPLandroid/os/INetworkManagementService;->listTtys()[Ljava/lang/String;
-HSPLandroid/os/INetworkManagementService;->registerNetworkActivityListener(Landroid/os/INetworkActivityListener;)V
-HSPLandroid/os/INetworkManagementService;->registerObserver(Landroid/net/INetworkManagementEventObserver;)V
-HSPLandroid/os/INetworkManagementService;->registerTetheringStatsProvider(Landroid/net/ITetheringStatsProvider;Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->removeIdleTimer(Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->removeInterfaceAlert(Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->removeInterfaceFromLocalNetwork(Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->removeInterfaceFromNetwork(Ljava/lang/String;I)V
-HSPLandroid/os/INetworkManagementService;->removeInterfaceQuota(Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->removeNetwork(I)V
-HSPLandroid/os/INetworkManagementService;->removeRoute(ILandroid/net/RouteInfo;)V
-HSPLandroid/os/INetworkManagementService;->removeRoutesFromLocalNetwork(Ljava/util/List;)I
-HSPLandroid/os/INetworkManagementService;->removeVpnUidRanges(I[Landroid/net/UidRange;)V
-HSPLandroid/os/INetworkManagementService;->setAllowOnlyVpnForUids(Z[Landroid/net/UidRange;)V
-HSPLandroid/os/INetworkManagementService;->setDataSaverModeEnabled(Z)Z
-HSPLandroid/os/INetworkManagementService;->setDefaultNetId(I)V
-HSPLandroid/os/INetworkManagementService;->setDnsConfigurationForNetwork(I[Ljava/lang/String;[Ljava/lang/String;[ILjava/lang/String;[Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->setDnsForwarders(Landroid/net/Network;[Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->setFirewallChainEnabled(IZ)V
-HSPLandroid/os/INetworkManagementService;->setFirewallEnabled(Z)V
-HSPLandroid/os/INetworkManagementService;->setFirewallInterfaceRule(Ljava/lang/String;Z)V
-HSPLandroid/os/INetworkManagementService;->setFirewallUidRule(III)V
-HSPLandroid/os/INetworkManagementService;->setFirewallUidRules(I[I[I)V
-HSPLandroid/os/INetworkManagementService;->setGlobalAlert(J)V
-HSPLandroid/os/INetworkManagementService;->setIPv6AddrGenMode(Ljava/lang/String;I)V
-HSPLandroid/os/INetworkManagementService;->setInterfaceAlert(Ljava/lang/String;J)V
-HSPLandroid/os/INetworkManagementService;->setInterfaceConfig(Ljava/lang/String;Landroid/net/InterfaceConfiguration;)V
-HSPLandroid/os/INetworkManagementService;->setInterfaceDown(Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->setInterfaceIpv6PrivacyExtensions(Ljava/lang/String;Z)V
-HSPLandroid/os/INetworkManagementService;->setInterfaceQuota(Ljava/lang/String;J)V
-HSPLandroid/os/INetworkManagementService;->setInterfaceUp(Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->setIpForwardingEnabled(Z)V
-HSPLandroid/os/INetworkManagementService;->setMtu(Ljava/lang/String;I)V
-HSPLandroid/os/INetworkManagementService;->setNetworkPermission(ILjava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->setPermission(Ljava/lang/String;[I)V
-HSPLandroid/os/INetworkManagementService;->setUidCleartextNetworkPolicy(II)V
-HSPLandroid/os/INetworkManagementService;->setUidMeteredNetworkBlacklist(IZ)V
-HSPLandroid/os/INetworkManagementService;->setUidMeteredNetworkWhitelist(IZ)V
-HSPLandroid/os/INetworkManagementService;->shutdown()V
-HSPLandroid/os/INetworkManagementService;->startClatd(Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->startInterfaceForwarding(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->startTethering([Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->stopClatd(Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->stopInterfaceForwarding(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->stopTethering()V
-HSPLandroid/os/INetworkManagementService;->tetherInterface(Ljava/lang/String;)V
-HSPLandroid/os/INetworkManagementService;->tetherLimitReached(Landroid/net/ITetheringStatsProvider;)V
-HSPLandroid/os/INetworkManagementService;->unregisterNetworkActivityListener(Landroid/os/INetworkActivityListener;)V
-HSPLandroid/os/INetworkManagementService;->unregisterObserver(Landroid/net/INetworkManagementEventObserver;)V
-HSPLandroid/os/INetworkManagementService;->unregisterTetheringStatsProvider(Landroid/net/ITetheringStatsProvider;)V
-HSPLandroid/os/INetworkManagementService;->untetherInterface(Ljava/lang/String;)V
 HSPLandroid/os/IPermissionController$Stub;-><init>()V
 HSPLandroid/os/IPermissionController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IPermissionController;->checkPermission(Ljava/lang/String;II)Z
-HSPLandroid/os/IPermissionController;->getPackageUid(Ljava/lang/String;I)I
-HSPLandroid/os/IPermissionController;->getPackagesForUid(I)[Ljava/lang/String;
-HSPLandroid/os/IPermissionController;->isRuntimePermission(Ljava/lang/String;)Z
-HSPLandroid/os/IPermissionController;->noteOp(Ljava/lang/String;ILjava/lang/String;)I
 HSPLandroid/os/IPowerManager$Stub$Proxy;->acquireWakeLock(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;)V
 HSPLandroid/os/IPowerManager$Stub$Proxy;->isDeviceIdleMode()Z
 HSPLandroid/os/IPowerManager$Stub$Proxy;->isInteractive()Z
@@ -27982,116 +24068,54 @@
 HSPLandroid/os/IPowerManager$Stub;-><init>()V
 HSPLandroid/os/IPowerManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IPowerManager;
 HSPLandroid/os/IPowerManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IPowerManager;->acquireWakeLock(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;)V
-HSPLandroid/os/IPowerManager;->acquireWakeLockWithUid(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;I)V
-HSPLandroid/os/IPowerManager;->boostScreenBrightness(J)V
-HSPLandroid/os/IPowerManager;->crash(Ljava/lang/String;)V
-HSPLandroid/os/IPowerManager;->getLastShutdownReason()I
-HSPLandroid/os/IPowerManager;->getPowerSaveState(I)Landroid/os/PowerSaveState;
-HSPLandroid/os/IPowerManager;->goToSleep(JII)V
-HSPLandroid/os/IPowerManager;->isDeviceIdleMode()Z
-HSPLandroid/os/IPowerManager;->isInteractive()Z
-HSPLandroid/os/IPowerManager;->isLightDeviceIdleMode()Z
-HSPLandroid/os/IPowerManager;->isPowerSaveMode()Z
-HSPLandroid/os/IPowerManager;->isScreenBrightnessBoosted()Z
-HSPLandroid/os/IPowerManager;->isWakeLockLevelSupported(I)Z
-HSPLandroid/os/IPowerManager;->nap(J)V
-HSPLandroid/os/IPowerManager;->powerHint(II)V
-HSPLandroid/os/IPowerManager;->reboot(ZLjava/lang/String;Z)V
-HSPLandroid/os/IPowerManager;->rebootSafeMode(ZZ)V
-HSPLandroid/os/IPowerManager;->releaseWakeLock(Landroid/os/IBinder;I)V
-HSPLandroid/os/IPowerManager;->setAttentionLight(ZI)V
-HSPLandroid/os/IPowerManager;->setDozeAfterScreenOff(Z)V
-HSPLandroid/os/IPowerManager;->setPowerSaveMode(Z)Z
-HSPLandroid/os/IPowerManager;->setStayOnSetting(I)V
-HSPLandroid/os/IPowerManager;->shutdown(ZLjava/lang/String;Z)V
-HSPLandroid/os/IPowerManager;->updateWakeLockUids(Landroid/os/IBinder;[I)V
-HSPLandroid/os/IPowerManager;->updateWakeLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;)V
-HSPLandroid/os/IPowerManager;->userActivity(JII)V
-HSPLandroid/os/IPowerManager;->wakeUp(JLjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/os/IProcessInfoService$Stub;-><init>()V
-HSPLandroid/os/IProcessInfoService;->getProcessStatesAndOomScoresFromPids([I[I[I)V
-HSPLandroid/os/IProcessInfoService;->getProcessStatesFromPids([I[I)V
 HSPLandroid/os/IProgressListener$Stub;-><init>()V
 HSPLandroid/os/IProgressListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/os/IProgressListener;->onFinished(ILandroid/os/Bundle;)V
-HSPLandroid/os/IProgressListener;->onProgress(IILandroid/os/Bundle;)V
-HSPLandroid/os/IProgressListener;->onStarted(ILandroid/os/Bundle;)V
 HSPLandroid/os/IRecoverySystem$Stub;-><init>()V
-HSPLandroid/os/IRecoverySystem;->clearBcb()Z
-HSPLandroid/os/IRecoverySystem;->rebootRecoveryWithCommand(Ljava/lang/String;)V
-HSPLandroid/os/IRecoverySystem;->setupBcb(Ljava/lang/String;)Z
-HSPLandroid/os/IRecoverySystem;->uncrypt(Ljava/lang/String;Landroid/os/IRecoverySystemProgressListener;)Z
+HSPLandroid/os/IRemoteCallback$Stub$Proxy;->sendResult(Landroid/os/Bundle;)V
 HSPLandroid/os/IRemoteCallback$Stub;-><init>()V
-HSPLandroid/os/IRemoteCallback;->sendResult(Landroid/os/Bundle;)V
+HSPLandroid/os/IRemoteCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/os/IRemoteCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/ISchedulingPolicyService$Stub;-><init>()V
-HSPLandroid/os/ISchedulingPolicyService;->requestCpusetBoost(ZLandroid/os/IBinder;)I
-HSPLandroid/os/ISchedulingPolicyService;->requestPriority(IIIZ)I
-HSPLandroid/os/IServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;ZI)V
-HSPLandroid/os/IServiceManager;->checkService(Ljava/lang/String;)Landroid/os/IBinder;
-HSPLandroid/os/IServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
-HSPLandroid/os/IServiceManager;->listServices(I)[Ljava/lang/String;
-HSPLandroid/os/IServiceManager;->setPermissionController(Landroid/os/IPermissionController;)V
+HSPLandroid/os/ISchedulingPolicyService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/IStatsCompanionService$Stub;-><init>()V
-HSPLandroid/os/IStatsCompanionService;->cancelAlarmForSubscriberTriggering()V
-HSPLandroid/os/IStatsCompanionService;->cancelAnomalyAlarm()V
-HSPLandroid/os/IStatsCompanionService;->cancelPullingAlarm()V
-HSPLandroid/os/IStatsCompanionService;->pullData(I)[Landroid/os/StatsLogEventWrapper;
-HSPLandroid/os/IStatsCompanionService;->sendDataBroadcast(Landroid/os/IBinder;J)V
-HSPLandroid/os/IStatsCompanionService;->sendSubscriberBroadcast(Landroid/os/IBinder;JJJJ[Ljava/lang/String;Landroid/os/StatsDimensionsValue;)V
-HSPLandroid/os/IStatsCompanionService;->setAlarmForSubscriberTriggering(J)V
-HSPLandroid/os/IStatsCompanionService;->setAnomalyAlarm(J)V
-HSPLandroid/os/IStatsCompanionService;->setPullingAlarm(J)V
-HSPLandroid/os/IStatsCompanionService;->statsdReady()V
-HSPLandroid/os/IStatsCompanionService;->triggerUidSnapshot()V
+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;)V
+HSPLandroid/os/IStatsManager$Stub$Proxy;->informAllUidData([I[J[Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
 HSPLandroid/os/IStatsManager$Stub$Proxy;->statsCompanionReady()V
 HSPLandroid/os/IStatsManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IStatsManager;
-HSPLandroid/os/IStatsManager;->addConfiguration(J[BLjava/lang/String;)V
-HSPLandroid/os/IStatsManager;->getData(JLjava/lang/String;)[B
-HSPLandroid/os/IStatsManager;->getMetadata(Ljava/lang/String;)[B
-HSPLandroid/os/IStatsManager;->informAlarmForSubscriberTriggeringFired()V
-HSPLandroid/os/IStatsManager;->informAllUidData([I[J[Ljava/lang/String;)V
-HSPLandroid/os/IStatsManager;->informAnomalyAlarmFired()V
-HSPLandroid/os/IStatsManager;->informDeviceShutdown()V
-HSPLandroid/os/IStatsManager;->informOnePackage(Ljava/lang/String;IJ)V
-HSPLandroid/os/IStatsManager;->informOnePackageRemoved(Ljava/lang/String;I)V
-HSPLandroid/os/IStatsManager;->informPollAlarmFired()V
-HSPLandroid/os/IStatsManager;->removeConfiguration(JLjava/lang/String;)V
-HSPLandroid/os/IStatsManager;->removeDataFetchOperation(JLjava/lang/String;)V
-HSPLandroid/os/IStatsManager;->sendAppBreadcrumbAtom(II)V
-HSPLandroid/os/IStatsManager;->setBroadcastSubscriber(JJLandroid/os/IBinder;Ljava/lang/String;)V
-HSPLandroid/os/IStatsManager;->setDataFetchOperation(JLandroid/os/IBinder;Ljava/lang/String;)V
-HSPLandroid/os/IStatsManager;->statsCompanionReady()V
-HSPLandroid/os/IStatsManager;->systemRunning()V
-HSPLandroid/os/IStatsManager;->unsetBroadcastSubscriber(JJLjava/lang/String;)V
 HSPLandroid/os/IStoraged$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IStoraged;
-HSPLandroid/os/IStoraged;->getRecentPerf()I
-HSPLandroid/os/IStoraged;->onUserStarted(I)V
-HSPLandroid/os/IStoraged;->onUserStopped(I)V
+HSPLandroid/os/ISystemUpdateManager$Stub$Proxy;->retrieveSystemUpdateInfo()Landroid/os/Bundle;
 HSPLandroid/os/ISystemUpdateManager$Stub;-><init>()V
 HSPLandroid/os/ISystemUpdateManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/ISystemUpdateManager;
-HSPLandroid/os/ISystemUpdateManager;->retrieveSystemUpdateInfo()Landroid/os/Bundle;
-HSPLandroid/os/ISystemUpdateManager;->updateSystemUpdateInfo(Landroid/os/PersistableBundle;)V
+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
+HSPLandroid/os/IThermalEventListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/os/IThermalService$Stub;-><init>()V
+HSPLandroid/os/IThermalService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IThermalService;
+HSPLandroid/os/IThermalService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/os/IThermalStatusListener$Stub;-><init>()V
+HSPLandroid/os/IThermalStatusListener$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/os/IUpdateLock$Stub;-><init>()V
-HSPLandroid/os/IUpdateLock;->acquireUpdateLock(Landroid/os/IBinder;Ljava/lang/String;)V
-HSPLandroid/os/IUpdateLock;->releaseUpdateLock(Landroid/os/IBinder;)V
 HSPLandroid/os/IUserManager$Stub$Proxy;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
+HSPLandroid/os/IUserManager$Stub$Proxy;->getManagedProfileBadge(I)I
+HSPLandroid/os/IUserManager$Stub$Proxy;->getPrimaryUser()Landroid/content/pm/UserInfo;
 HSPLandroid/os/IUserManager$Stub$Proxy;->getProfileIds(IZ)[I
 HSPLandroid/os/IUserManager$Stub$Proxy;->getProfileParent(I)Landroid/content/pm/UserInfo;
 HSPLandroid/os/IUserManager$Stub$Proxy;->getProfiles(IZ)Ljava/util/List;
 HSPLandroid/os/IUserManager$Stub$Proxy;->getUserHandle(I)I
 HSPLandroid/os/IUserManager$Stub$Proxy;->getUserInfo(I)Landroid/content/pm/UserInfo;
+HSPLandroid/os/IUserManager$Stub$Proxy;->getUserRestrictionSource(Ljava/lang/String;I)I
 HSPLandroid/os/IUserManager$Stub$Proxy;->getUserRestrictionSources(Ljava/lang/String;I)Ljava/util/List;
-HSPLandroid/os/IUserManager$Stub$Proxy;->getUserRestrictions(I)Landroid/os/Bundle;
 HSPLandroid/os/IUserManager$Stub$Proxy;->getUserSerialNumber(I)I
+HSPLandroid/os/IUserManager$Stub$Proxy;->getUserStartRealtime()J
+HSPLandroid/os/IUserManager$Stub$Proxy;->getUserUnlockRealtime()J
 HSPLandroid/os/IUserManager$Stub$Proxy;->getUsers(Z)Ljava/util/List;
 HSPLandroid/os/IUserManager$Stub$Proxy;->hasBaseUserRestriction(Ljava/lang/String;I)Z
 HSPLandroid/os/IUserManager$Stub$Proxy;->hasUserRestriction(Ljava/lang/String;I)Z
 HSPLandroid/os/IUserManager$Stub$Proxy;->isDemoUser(I)Z
 HSPLandroid/os/IUserManager$Stub$Proxy;->isManagedProfile(I)Z
-HSPLandroid/os/IUserManager$Stub$Proxy;->isQuietModeEnabled(I)Z
 HSPLandroid/os/IUserManager$Stub$Proxy;->isRestricted()Z
 HSPLandroid/os/IUserManager$Stub$Proxy;->isUserRunning(I)Z
 HSPLandroid/os/IUserManager$Stub$Proxy;->isUserUnlocked(I)Z
@@ -28099,168 +24123,44 @@
 HSPLandroid/os/IUserManager$Stub;-><init>()V
 HSPLandroid/os/IUserManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUserManager;
 HSPLandroid/os/IUserManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IUserManager;->canAddMoreManagedProfiles(IZ)Z
-HSPLandroid/os/IUserManager;->canHaveRestrictedProfile(I)Z
-HSPLandroid/os/IUserManager;->clearSeedAccountData()V
-HSPLandroid/os/IUserManager;->createProfileForUser(Ljava/lang/String;II[Ljava/lang/String;)Landroid/content/pm/UserInfo;
-HSPLandroid/os/IUserManager;->createProfileForUserEvenWhenDisallowed(Ljava/lang/String;II[Ljava/lang/String;)Landroid/content/pm/UserInfo;
-HSPLandroid/os/IUserManager;->createRestrictedProfile(Ljava/lang/String;I)Landroid/content/pm/UserInfo;
-HSPLandroid/os/IUserManager;->createUser(Ljava/lang/String;I)Landroid/content/pm/UserInfo;
-HSPLandroid/os/IUserManager;->evictCredentialEncryptionKey(I)V
-HSPLandroid/os/IUserManager;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
-HSPLandroid/os/IUserManager;->getApplicationRestrictionsForUser(Ljava/lang/String;I)Landroid/os/Bundle;
-HSPLandroid/os/IUserManager;->getCredentialOwnerProfile(I)I
-HSPLandroid/os/IUserManager;->getDefaultGuestRestrictions()Landroid/os/Bundle;
-HSPLandroid/os/IUserManager;->getManagedProfileBadge(I)I
-HSPLandroid/os/IUserManager;->getPrimaryUser()Landroid/content/pm/UserInfo;
-HSPLandroid/os/IUserManager;->getProfileIds(IZ)[I
-HSPLandroid/os/IUserManager;->getProfileParent(I)Landroid/content/pm/UserInfo;
-HSPLandroid/os/IUserManager;->getProfileParentId(I)I
-HSPLandroid/os/IUserManager;->getProfiles(IZ)Ljava/util/List;
-HSPLandroid/os/IUserManager;->getSeedAccountName()Ljava/lang/String;
-HSPLandroid/os/IUserManager;->getSeedAccountOptions()Landroid/os/PersistableBundle;
-HSPLandroid/os/IUserManager;->getSeedAccountType()Ljava/lang/String;
-HSPLandroid/os/IUserManager;->getUserAccount(I)Ljava/lang/String;
-HSPLandroid/os/IUserManager;->getUserCreationTime(I)J
-HSPLandroid/os/IUserManager;->getUserHandle(I)I
-HSPLandroid/os/IUserManager;->getUserIcon(I)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/os/IUserManager;->getUserInfo(I)Landroid/content/pm/UserInfo;
-HSPLandroid/os/IUserManager;->getUserRestrictionSource(Ljava/lang/String;I)I
-HSPLandroid/os/IUserManager;->getUserRestrictionSources(Ljava/lang/String;I)Ljava/util/List;
-HSPLandroid/os/IUserManager;->getUserRestrictions(I)Landroid/os/Bundle;
-HSPLandroid/os/IUserManager;->getUserSerialNumber(I)I
-HSPLandroid/os/IUserManager;->getUserStartRealtime()J
-HSPLandroid/os/IUserManager;->getUserUnlockRealtime()J
-HSPLandroid/os/IUserManager;->getUsers(Z)Ljava/util/List;
-HSPLandroid/os/IUserManager;->hasBaseUserRestriction(Ljava/lang/String;I)Z
-HSPLandroid/os/IUserManager;->hasRestrictedProfiles()Z
-HSPLandroid/os/IUserManager;->hasUserRestriction(Ljava/lang/String;I)Z
-HSPLandroid/os/IUserManager;->hasUserRestrictionOnAnyUser(Ljava/lang/String;)Z
-HSPLandroid/os/IUserManager;->isDemoUser(I)Z
-HSPLandroid/os/IUserManager;->isManagedProfile(I)Z
-HSPLandroid/os/IUserManager;->isQuietModeEnabled(I)Z
-HSPLandroid/os/IUserManager;->isRestricted()Z
-HSPLandroid/os/IUserManager;->isSameProfileGroup(II)Z
-HSPLandroid/os/IUserManager;->isUserNameSet(I)Z
-HSPLandroid/os/IUserManager;->isUserRunning(I)Z
-HSPLandroid/os/IUserManager;->isUserUnlocked(I)Z
-HSPLandroid/os/IUserManager;->isUserUnlockingOrUnlocked(I)Z
-HSPLandroid/os/IUserManager;->markGuestForDeletion(I)Z
-HSPLandroid/os/IUserManager;->removeUser(I)Z
-HSPLandroid/os/IUserManager;->removeUserEvenWhenDisallowed(I)Z
-HSPLandroid/os/IUserManager;->requestQuietModeEnabled(Ljava/lang/String;ZILandroid/content/IntentSender;)Z
-HSPLandroid/os/IUserManager;->setApplicationRestrictions(Ljava/lang/String;Landroid/os/Bundle;I)V
-HSPLandroid/os/IUserManager;->setDefaultGuestRestrictions(Landroid/os/Bundle;)V
-HSPLandroid/os/IUserManager;->setSeedAccountData(ILjava/lang/String;Ljava/lang/String;Landroid/os/PersistableBundle;Z)V
-HSPLandroid/os/IUserManager;->setUserAccount(ILjava/lang/String;)V
-HSPLandroid/os/IUserManager;->setUserAdmin(I)V
-HSPLandroid/os/IUserManager;->setUserEnabled(I)V
-HSPLandroid/os/IUserManager;->setUserIcon(ILandroid/graphics/Bitmap;)V
-HSPLandroid/os/IUserManager;->setUserName(ILjava/lang/String;)V
-HSPLandroid/os/IUserManager;->setUserRestriction(Ljava/lang/String;ZI)V
-HSPLandroid/os/IUserManager;->someUserHasSeedAccount(Ljava/lang/String;Ljava/lang/String;)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/IVibratorService;->cancelVibrate(Landroid/os/IBinder;)V
-HSPLandroid/os/IVibratorService;->hasAmplitudeControl()Z
-HSPLandroid/os/IVibratorService;->hasVibrator()Z
-HSPLandroid/os/IVibratorService;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;ILandroid/os/IBinder;)V
-HSPLandroid/os/IVold$Stub$Proxy;->fdeClearPassword()V
-HSPLandroid/os/IVold$Stub$Proxy;->fdeGetPassword()Ljava/lang/String;
+HSPLandroid/os/IVold$Stub$Proxy;->destroySandboxForApp(Ljava/lang/String;Ljava/lang/String;I)V
+HSPLandroid/os/IVold$Stub$Proxy;->fstrim(ILandroid/os/IVoldTaskListener;)V
+HSPLandroid/os/IVold$Stub$Proxy;->monitor()V
 HSPLandroid/os/IVold$Stub$Proxy;->mount(Ljava/lang/String;II)V
 HSPLandroid/os/IVold$Stub$Proxy;->onSecureKeyguardStateChanged(Z)V
 HSPLandroid/os/IVold$Stub$Proxy;->onUserAdded(II)V
 HSPLandroid/os/IVold$Stub$Proxy;->reset()V
 HSPLandroid/os/IVold$Stub$Proxy;->setListener(Landroid/os/IVoldListener;)V
 HSPLandroid/os/IVold$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IVold;
-HSPLandroid/os/IVold;->abortIdleMaint(Landroid/os/IVoldTaskListener;)V
-HSPLandroid/os/IVold;->addUserKeyAuth(IILjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IVold;->benchmark(Ljava/lang/String;Landroid/os/IVoldTaskListener;)V
-HSPLandroid/os/IVold;->checkEncryption(Ljava/lang/String;)V
-HSPLandroid/os/IVold;->createObb(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-HSPLandroid/os/IVold;->createUserKey(IIZ)V
-HSPLandroid/os/IVold;->destroyObb(Ljava/lang/String;)V
-HSPLandroid/os/IVold;->destroyUserKey(I)V
-HSPLandroid/os/IVold;->destroyUserStorage(Ljava/lang/String;II)V
-HSPLandroid/os/IVold;->encryptFstab(Ljava/lang/String;)V
-HSPLandroid/os/IVold;->fbeEnable()V
-HSPLandroid/os/IVold;->fdeChangePassword(ILjava/lang/String;)V
-HSPLandroid/os/IVold;->fdeCheckPassword(Ljava/lang/String;)V
-HSPLandroid/os/IVold;->fdeClearPassword()V
-HSPLandroid/os/IVold;->fdeComplete()I
-HSPLandroid/os/IVold;->fdeEnable(ILjava/lang/String;I)V
-HSPLandroid/os/IVold;->fdeGetField(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/os/IVold;->fdeGetPassword()Ljava/lang/String;
-HSPLandroid/os/IVold;->fdeGetPasswordType()I
-HSPLandroid/os/IVold;->fdeRestart()V
-HSPLandroid/os/IVold;->fdeSetField(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IVold;->fdeVerifyPassword(Ljava/lang/String;)V
-HSPLandroid/os/IVold;->fixateNewestUserKeyAuth(I)V
-HSPLandroid/os/IVold;->forgetPartition(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IVold;->format(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IVold;->fstrim(ILandroid/os/IVoldTaskListener;)V
-HSPLandroid/os/IVold;->initUser0()V
-HSPLandroid/os/IVold;->isConvertibleToFbe()Z
-HSPLandroid/os/IVold;->lockUserKey(I)V
-HSPLandroid/os/IVold;->mkdirs(Ljava/lang/String;)V
-HSPLandroid/os/IVold;->monitor()V
-HSPLandroid/os/IVold;->mount(Ljava/lang/String;II)V
-HSPLandroid/os/IVold;->mountAppFuse(III)Ljava/io/FileDescriptor;
-HSPLandroid/os/IVold;->mountDefaultEncrypted()V
-HSPLandroid/os/IVold;->mountFstab(Ljava/lang/String;)V
-HSPLandroid/os/IVold;->moveStorage(Ljava/lang/String;Ljava/lang/String;Landroid/os/IVoldTaskListener;)V
-HSPLandroid/os/IVold;->onSecureKeyguardStateChanged(Z)V
-HSPLandroid/os/IVold;->onUserAdded(II)V
-HSPLandroid/os/IVold;->onUserRemoved(I)V
-HSPLandroid/os/IVold;->onUserStarted(I)V
-HSPLandroid/os/IVold;->onUserStopped(I)V
-HSPLandroid/os/IVold;->partition(Ljava/lang/String;II)V
-HSPLandroid/os/IVold;->prepareUserStorage(Ljava/lang/String;III)V
-HSPLandroid/os/IVold;->remountUid(II)V
-HSPLandroid/os/IVold;->reset()V
-HSPLandroid/os/IVold;->runIdleMaint(Landroid/os/IVoldTaskListener;)V
-HSPLandroid/os/IVold;->setListener(Landroid/os/IVoldListener;)V
-HSPLandroid/os/IVold;->shutdown()V
-HSPLandroid/os/IVold;->unlockUserKey(IILjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IVold;->unmount(Ljava/lang/String;)V
-HSPLandroid/os/IVold;->unmountAppFuse(III)V
 HSPLandroid/os/IVoldListener$Stub;-><init>()V
 HSPLandroid/os/IVoldListener$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/os/IVoldListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/IVoldListener;->onDiskCreated(Ljava/lang/String;I)V
-HSPLandroid/os/IVoldListener;->onDiskDestroyed(Ljava/lang/String;)V
-HSPLandroid/os/IVoldListener;->onDiskMetadataChanged(Ljava/lang/String;JLjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IVoldListener;->onDiskScanned(Ljava/lang/String;)V
-HSPLandroid/os/IVoldListener;->onVolumeCreated(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IVoldListener;->onVolumeDestroyed(Ljava/lang/String;)V
-HSPLandroid/os/IVoldListener;->onVolumeInternalPathChanged(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IVoldListener;->onVolumeMetadataChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IVoldListener;->onVolumePathChanged(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/IVoldListener;->onVolumeStateChanged(Ljava/lang/String;I)V
+HSPLandroid/os/IVoldTaskListener$Stub;-><init>()V
+HSPLandroid/os/IVoldTaskListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/os/IVoldTaskListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/os/LocaleList$1;-><init>()V
 HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/LocaleList;
 HSPLandroid/os/LocaleList$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/os/LocaleList;-><init>(Ljava/util/Locale;Landroid/os/LocaleList;)V
 HSPLandroid/os/LocaleList;-><init>([Ljava/util/Locale;)V
-HSPLandroid/os/LocaleList;->computeFirstMatchIndex(Ljava/util/Collection;Z)I
 HSPLandroid/os/LocaleList;->equals(Ljava/lang/Object;)Z
 HSPLandroid/os/LocaleList;->forLanguageTags(Ljava/lang/String;)Landroid/os/LocaleList;
 HSPLandroid/os/LocaleList;->get(I)Ljava/util/Locale;
 HSPLandroid/os/LocaleList;->getAdjustedDefault()Landroid/os/LocaleList;
 HSPLandroid/os/LocaleList;->getDefault()Landroid/os/LocaleList;
 HSPLandroid/os/LocaleList;->getEmptyLocaleList()Landroid/os/LocaleList;
-HSPLandroid/os/LocaleList;->getFirstMatchWithEnglishSupported([Ljava/lang/String;)Ljava/util/Locale;
 HSPLandroid/os/LocaleList;->hashCode()I
 HSPLandroid/os/LocaleList;->isEmpty()Z
-HSPLandroid/os/LocaleList;->isPseudoLocalesOnly([Ljava/lang/String;)Z
-HSPLandroid/os/LocaleList;->matchScore(Ljava/util/Locale;Ljava/util/Locale;)I
 HSPLandroid/os/LocaleList;->setDefault(Landroid/os/LocaleList;)V
 HSPLandroid/os/LocaleList;->setDefault(Landroid/os/LocaleList;I)V
 HSPLandroid/os/LocaleList;->size()I
 HSPLandroid/os/LocaleList;->toLanguageTags()Ljava/lang/String;
 HSPLandroid/os/LocaleList;->toString()Ljava/lang/String;
 HSPLandroid/os/LocaleList;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/os/LocaleList;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
 HSPLandroid/os/Looper;->getMainLooper()Landroid/os/Looper;
 HSPLandroid/os/Looper;->getQueue()Landroid/os/MessageQueue;
 HSPLandroid/os/Looper;->getThread()Ljava/lang/Thread;
@@ -28271,12 +24171,11 @@
 HSPLandroid/os/Looper;->prepare()V
 HSPLandroid/os/Looper;->prepareMainLooper()V
 HSPLandroid/os/Looper;->quit()V
-HSPLandroid/os/Looper;->quitSafely()V
-HSPLandroid/os/Looper;->setMessageLogging(Landroid/util/Printer;)V
+HSPLandroid/os/Looper;->setObserver(Landroid/os/Looper$Observer;)V
 HSPLandroid/os/Looper;->showSlowLog(JJJLjava/lang/String;Landroid/os/Message;)Z
-HSPLandroid/os/Looper;->toString()Ljava/lang/String;
 HSPLandroid/os/MemoryFile;-><init>(Ljava/lang/String;I)V
 HSPLandroid/os/MemoryFile;->getFileDescriptor()Ljava/io/FileDescriptor;
+HSPLandroid/os/MemoryFile;->getSize(Ljava/io/FileDescriptor;)I
 HSPLandroid/os/MemoryFile;->writeBytes([BIII)V
 HSPLandroid/os/Message$1;-><init>()V
 HSPLandroid/os/Message$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/Message;
@@ -28299,14 +24198,15 @@
 HSPLandroid/os/Message;->recycle()V
 HSPLandroid/os/Message;->recycleUnchecked()V
 HSPLandroid/os/Message;->sendToTarget()V
-HSPLandroid/os/Message;->setAsynchronous(Z)V
 HSPLandroid/os/Message;->setData(Landroid/os/Bundle;)V
+HSPLandroid/os/Message;->setTarget(Landroid/os/Handler;)V
 HSPLandroid/os/Message;->toString()Ljava/lang/String;
 HSPLandroid/os/Message;->toString(J)Ljava/lang/String;
 HSPLandroid/os/Message;->updateCheckRecycle(I)V
 HSPLandroid/os/Message;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/MessageQueue$OnFileDescriptorEventListener;->onFileDescriptorEvents(Ljava/io/FileDescriptor;I)I
 HSPLandroid/os/MessageQueue;->addIdleHandler(Landroid/os/MessageQueue$IdleHandler;)V
+HSPLandroid/os/MessageQueue;->addOnFileDescriptorEventListener(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
+HSPLandroid/os/MessageQueue;->dispatchEvents(II)I
 HSPLandroid/os/MessageQueue;->enqueueMessage(Landroid/os/Message;J)Z
 HSPLandroid/os/MessageQueue;->finalize()V
 HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;)Z
@@ -28314,6 +24214,7 @@
 HSPLandroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)Z
 HSPLandroid/os/MessageQueue;->isPolling()Z
 HSPLandroid/os/MessageQueue;->next()Landroid/os/Message;
+HSPLandroid/os/MessageQueue;->postSyncBarrier()I
 HSPLandroid/os/MessageQueue;->postSyncBarrier(J)I
 HSPLandroid/os/MessageQueue;->quit(Z)V
 HSPLandroid/os/MessageQueue;->removeAllFutureMessagesLocked()V
@@ -28322,18 +24223,19 @@
 HSPLandroid/os/MessageQueue;->removeMessages(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLandroid/os/MessageQueue;->removeMessages(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)V
 HSPLandroid/os/MessageQueue;->removeSyncBarrier(I)V
+HSPLandroid/os/MessageQueue;->updateOnFileDescriptorEventListenerLocked(Ljava/io/FileDescriptor;ILandroid/os/MessageQueue$OnFileDescriptorEventListener;)V
 HSPLandroid/os/Messenger$1;-><init>()V
 HSPLandroid/os/Messenger$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/Messenger;
 HSPLandroid/os/Messenger$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/os/Messenger;-><init>(Landroid/os/Handler;)V
 HSPLandroid/os/Messenger;-><init>(Landroid/os/IBinder;)V
-HSPLandroid/os/Messenger;->describeContents()I
 HSPLandroid/os/Messenger;->equals(Ljava/lang/Object;)Z
 HSPLandroid/os/Messenger;->getBinder()Landroid/os/IBinder;
 HSPLandroid/os/Messenger;->hashCode()I
 HSPLandroid/os/Messenger;->send(Landroid/os/Message;)V
 HSPLandroid/os/Messenger;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/NullVibrator;-><init>()V
+HSPLandroid/os/NullVibrator;->getInstance()Landroid/os/NullVibrator;
 HSPLandroid/os/NullVibrator;->hasVibrator()Z
 HSPLandroid/os/OperationCanceledException;-><init>(Ljava/lang/String;)V
 HSPLandroid/os/Parcel$1;-><init>()V
@@ -28345,7 +24247,6 @@
 HSPLandroid/os/Parcel;->createBinderArrayList()Ljava/util/ArrayList;
 HSPLandroid/os/Parcel;->createByteArray()[B
 HSPLandroid/os/Parcel;->createException(ILjava/lang/String;)Ljava/lang/Exception;
-HSPLandroid/os/Parcel;->createFloatArray()[F
 HSPLandroid/os/Parcel;->createIntArray()[I
 HSPLandroid/os/Parcel;->createLongArray()[J
 HSPLandroid/os/Parcel;->createStringArray()[Ljava/lang/String;
@@ -28361,9 +24262,11 @@
 HSPLandroid/os/Parcel;->obtain()Landroid/os/Parcel;
 HSPLandroid/os/Parcel;->obtain(J)Landroid/os/Parcel;
 HSPLandroid/os/Parcel;->readArrayList(Ljava/lang/ClassLoader;)Ljava/util/ArrayList;
+HSPLandroid/os/Parcel;->readArrayMap(Landroid/util/ArrayMap;Ljava/lang/ClassLoader;)V
 HSPLandroid/os/Parcel;->readArraySet(Ljava/lang/ClassLoader;)Landroid/util/ArraySet;
 HSPLandroid/os/Parcel;->readBlob()[B
 HSPLandroid/os/Parcel;->readBoolean()Z
+HSPLandroid/os/Parcel;->readBooleanArray([Z)V
 HSPLandroid/os/Parcel;->readBundle()Landroid/os/Bundle;
 HSPLandroid/os/Parcel;->readBundle(Ljava/lang/ClassLoader;)Landroid/os/Bundle;
 HSPLandroid/os/Parcel;->readByte()B
@@ -28378,7 +24281,6 @@
 HSPLandroid/os/Parcel;->readInt()I
 HSPLandroid/os/Parcel;->readIntArray([I)V
 HSPLandroid/os/Parcel;->readList(Ljava/util/List;Ljava/lang/ClassLoader;)V
-HSPLandroid/os/Parcel;->readListInternal(Ljava/util/List;ILjava/lang/ClassLoader;)V
 HSPLandroid/os/Parcel;->readLong()J
 HSPLandroid/os/Parcel;->readLongArray([J)V
 HSPLandroid/os/Parcel;->readParcelable(Ljava/lang/ClassLoader;)Landroid/os/Parcelable;
@@ -28388,9 +24290,9 @@
 HSPLandroid/os/Parcel;->readParcelableList(Ljava/util/List;Ljava/lang/ClassLoader;)Ljava/util/List;
 HSPLandroid/os/Parcel;->readPersistableBundle()Landroid/os/PersistableBundle;
 HSPLandroid/os/Parcel;->readPersistableBundle(Ljava/lang/ClassLoader;)Landroid/os/PersistableBundle;
-HSPLandroid/os/Parcel;->readSerializable()Ljava/io/Serializable;
 HSPLandroid/os/Parcel;->readSerializable(Ljava/lang/ClassLoader;)Ljava/io/Serializable;
 HSPLandroid/os/Parcel;->readSparseArray(Ljava/lang/ClassLoader;)Landroid/util/SparseArray;
+HSPLandroid/os/Parcel;->readSparseBooleanArray()Landroid/util/SparseBooleanArray;
 HSPLandroid/os/Parcel;->readString()Ljava/lang/String;
 HSPLandroid/os/Parcel;->readStringArray()[Ljava/lang/String;
 HSPLandroid/os/Parcel;->readStringArray([Ljava/lang/String;)V
@@ -28402,12 +24304,14 @@
 HSPLandroid/os/Parcel;->readValue(Ljava/lang/ClassLoader;)Ljava/lang/Object;
 HSPLandroid/os/Parcel;->recycle()V
 HSPLandroid/os/Parcel;->setClassCookie(Ljava/lang/Class;Ljava/lang/Object;)V
+HSPLandroid/os/Parcel;->setDataCapacity(I)V
 HSPLandroid/os/Parcel;->setDataPosition(I)V
 HSPLandroid/os/Parcel;->setDataSize(I)V
 HSPLandroid/os/Parcel;->setReadWriteHelper(Landroid/os/Parcel$ReadWriteHelper;)V
 HSPLandroid/os/Parcel;->setStackTraceParceling(Z)V
 HSPLandroid/os/Parcel;->unmarshall([BII)V
 HSPLandroid/os/Parcel;->updateNativeSize(J)V
+HSPLandroid/os/Parcel;->writeArrayMap(Landroid/util/ArrayMap;)V
 HSPLandroid/os/Parcel;->writeArrayMapInternal(Landroid/util/ArrayMap;)V
 HSPLandroid/os/Parcel;->writeArraySet(Landroid/util/ArraySet;)V
 HSPLandroid/os/Parcel;->writeBinderList(Ljava/util/List;)V
@@ -28417,10 +24321,9 @@
 HSPLandroid/os/Parcel;->writeByte(B)V
 HSPLandroid/os/Parcel;->writeByteArray([B)V
 HSPLandroid/os/Parcel;->writeCharSequence(Ljava/lang/CharSequence;)V
-HSPLandroid/os/Parcel;->writeCharSequenceArray([Ljava/lang/CharSequence;)V
 HSPLandroid/os/Parcel;->writeDouble(D)V
+HSPLandroid/os/Parcel;->writeException(Ljava/lang/Exception;)V
 HSPLandroid/os/Parcel;->writeFloat(F)V
-HSPLandroid/os/Parcel;->writeFloatArray([F)V
 HSPLandroid/os/Parcel;->writeInt(I)V
 HSPLandroid/os/Parcel;->writeIntArray([I)V
 HSPLandroid/os/Parcel;->writeInterfaceToken(Ljava/lang/String;)V
@@ -28453,30 +24356,24 @@
 HSPLandroid/os/ParcelFileDescriptor$2;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/os/ParcelFileDescriptor$AutoCloseInputStream;-><init>(Landroid/os/ParcelFileDescriptor;)V
 HSPLandroid/os/ParcelFileDescriptor$AutoCloseInputStream;->close()V
-HSPLandroid/os/ParcelFileDescriptor$AutoCloseInputStream;->read([B)I
 HSPLandroid/os/ParcelFileDescriptor$AutoCloseInputStream;->read([BII)I
-HSPLandroid/os/ParcelFileDescriptor$AutoCloseOutputStream;-><init>(Landroid/os/ParcelFileDescriptor;)V
-HSPLandroid/os/ParcelFileDescriptor$AutoCloseOutputStream;->close()V
 HSPLandroid/os/ParcelFileDescriptor;-><init>(Landroid/os/ParcelFileDescriptor;)V
 HSPLandroid/os/ParcelFileDescriptor;-><init>(Ljava/io/FileDescriptor;)V
 HSPLandroid/os/ParcelFileDescriptor;-><init>(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;)V
-HSPLandroid/os/ParcelFileDescriptor;->adoptFd(I)Landroid/os/ParcelFileDescriptor;
 HSPLandroid/os/ParcelFileDescriptor;->canDetectErrors()Z
 HSPLandroid/os/ParcelFileDescriptor;->close()V
-HSPLandroid/os/ParcelFileDescriptor;->createPipe()[Landroid/os/ParcelFileDescriptor;
 HSPLandroid/os/ParcelFileDescriptor;->detachFd()I
 HSPLandroid/os/ParcelFileDescriptor;->dup()Landroid/os/ParcelFileDescriptor;
 HSPLandroid/os/ParcelFileDescriptor;->dup(Ljava/io/FileDescriptor;)Landroid/os/ParcelFileDescriptor;
 HSPLandroid/os/ParcelFileDescriptor;->finalize()V
-HSPLandroid/os/ParcelFileDescriptor;->fromFd(I)Landroid/os/ParcelFileDescriptor;
 HSPLandroid/os/ParcelFileDescriptor;->getFd()I
 HSPLandroid/os/ParcelFileDescriptor;->getFileDescriptor()Ljava/io/FileDescriptor;
 HSPLandroid/os/ParcelFileDescriptor;->open(Ljava/io/File;I)Landroid/os/ParcelFileDescriptor;
 HSPLandroid/os/ParcelFileDescriptor;->openInternal(Ljava/io/File;I)Ljava/io/FileDescriptor;
 HSPLandroid/os/ParcelFileDescriptor;->releaseResources()V
-HSPLandroid/os/ParcelFileDescriptor;->toString()Ljava/lang/String;
 HSPLandroid/os/ParcelFileDescriptor;->writeCommStatusAndClose(ILjava/lang/String;)V
 HSPLandroid/os/ParcelFileDescriptor;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/os/ParcelFormatException;-><init>(Ljava/lang/String;)V
 HSPLandroid/os/ParcelUuid$1;-><init>()V
 HSPLandroid/os/ParcelUuid$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/ParcelUuid;
 HSPLandroid/os/ParcelUuid$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -28485,17 +24382,23 @@
 HSPLandroid/os/ParcelUuid;-><init>(Ljava/util/UUID;)V
 HSPLandroid/os/ParcelUuid;->equals(Ljava/lang/Object;)Z
 HSPLandroid/os/ParcelUuid;->fromString(Ljava/lang/String;)Landroid/os/ParcelUuid;
+HSPLandroid/os/ParcelUuid;->getUuid()Ljava/util/UUID;
 HSPLandroid/os/ParcelUuid;->hashCode()I
 HSPLandroid/os/ParcelUuid;->toString()Ljava/lang/String;
 HSPLandroid/os/ParcelUuid;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/Parcelable;->describeContents()I
-HSPLandroid/os/Parcelable;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/ParcelableException$1;-><init>()V
+HSPLandroid/os/ParcelableException$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/ParcelableException;
+HSPLandroid/os/ParcelableException$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/os/ParcelableException;-><init>(Ljava/lang/Throwable;)V
+HSPLandroid/os/ParcelableException;->maybeRethrow(Ljava/lang/Class;)V
+HSPLandroid/os/ParcelableException;->readFromParcel(Landroid/os/Parcel;)Ljava/lang/Throwable;
 HSPLandroid/os/ParcelableParcel$1;-><init>()V
 HSPLandroid/os/ParcelableParcel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/ParcelableParcel;
 HSPLandroid/os/ParcelableParcel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/os/ParcelableParcel;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
+HSPLandroid/os/ParcelableParcel;-><init>(Ljava/lang/ClassLoader;)V
+HSPLandroid/os/ParcelableParcel;->getClassLoader()Ljava/lang/ClassLoader;
+HSPLandroid/os/ParcelableParcel;->getParcel()Landroid/os/Parcel;
 HSPLandroid/os/ParcelableParcel;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/PatternMatcher$1;-><init>()V
 HSPLandroid/os/PatternMatcher$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/PatternMatcher;
@@ -28516,13 +24419,11 @@
 HSPLandroid/os/PersistableBundle;-><init>(Landroid/os/Bundle;)V
 HSPLandroid/os/PersistableBundle;-><init>(Landroid/util/ArrayMap;)V
 HSPLandroid/os/PersistableBundle;->deepCopy()Landroid/os/PersistableBundle;
+HSPLandroid/os/PersistableBundle;->getPersistableBundle(Ljava/lang/String;)Landroid/os/PersistableBundle;
 HSPLandroid/os/PersistableBundle;->isValidType(Ljava/lang/Object;)Z
 HSPLandroid/os/PersistableBundle;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/os/PersistableBundle;
 HSPLandroid/os/PersistableBundle;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLandroid/os/PersistableBundle;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/PooledStringWriter;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/os/PooledStringWriter;->finish()V
-HSPLandroid/os/PooledStringWriter;->writeString(Ljava/lang/String;)V
 HSPLandroid/os/PowerManager$WakeLock$1;->run()V
 HSPLandroid/os/PowerManager$WakeLock;-><init>(Landroid/os/PowerManager;ILjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/os/PowerManager$WakeLock;->acquire()V
@@ -28534,9 +24435,15 @@
 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;
+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;->getMaximumScreenBrightnessForVrSetting()I
 HSPLandroid/os/PowerManager;->getMaximumScreenBrightnessSetting()I
+HSPLandroid/os/PowerManager;->getMinimumScreenBrightnessForVrSetting()I
 HSPLandroid/os/PowerManager;->getMinimumScreenBrightnessSetting()I
+HSPLandroid/os/PowerManager;->getPowerSaveState(I)Landroid/os/PowerSaveState;
 HSPLandroid/os/PowerManager;->isDeviceIdleMode()Z
 HSPLandroid/os/PowerManager;->isIgnoringBatteryOptimizations(Ljava/lang/String;)Z
 HSPLandroid/os/PowerManager;->isInteractive()Z
@@ -28546,30 +24453,14 @@
 HSPLandroid/os/PowerManager;->isWakeLockLevelSupported(I)Z
 HSPLandroid/os/PowerManager;->newWakeLock(ILjava/lang/String;)Landroid/os/PowerManager$WakeLock;
 HSPLandroid/os/PowerManager;->validateWakeLockParameters(ILjava/lang/String;)V
-HSPLandroid/os/PowerManagerInternal;->finishUidChanges()V
-HSPLandroid/os/PowerManagerInternal;->getLowPowerState(I)Landroid/os/PowerSaveState;
-HSPLandroid/os/PowerManagerInternal;->powerHint(II)V
 HSPLandroid/os/PowerManagerInternal;->registerLowPowerModeObserver(ILjava/util/function/Consumer;)V
-HSPLandroid/os/PowerManagerInternal;->registerLowPowerModeObserver(Landroid/os/PowerManagerInternal$LowPowerModeListener;)V
-HSPLandroid/os/PowerManagerInternal;->setDeviceIdleMode(Z)Z
-HSPLandroid/os/PowerManagerInternal;->setDeviceIdleTempWhitelist([I)V
-HSPLandroid/os/PowerManagerInternal;->setDeviceIdleWhitelist([I)V
-HSPLandroid/os/PowerManagerInternal;->setDozeOverrideFromDreamManager(II)V
-HSPLandroid/os/PowerManagerInternal;->setDrawWakeLockOverrideFromSidekick(Z)V
-HSPLandroid/os/PowerManagerInternal;->setLightDeviceIdleMode(Z)Z
-HSPLandroid/os/PowerManagerInternal;->setMaximumScreenOffTimeoutFromDeviceAdmin(IJ)V
-HSPLandroid/os/PowerManagerInternal;->setScreenBrightnessOverrideFromWindowManager(I)V
-HSPLandroid/os/PowerManagerInternal;->setUserActivityTimeoutOverrideFromWindowManager(J)V
-HSPLandroid/os/PowerManagerInternal;->setUserInactiveOverrideFromWindowManager()V
-HSPLandroid/os/PowerManagerInternal;->startUidChanges()V
-HSPLandroid/os/PowerManagerInternal;->uidActive(I)V
-HSPLandroid/os/PowerManagerInternal;->uidGone(I)V
-HSPLandroid/os/PowerManagerInternal;->uidIdle(I)V
-HSPLandroid/os/PowerManagerInternal;->updateUidProcState(II)V
 HSPLandroid/os/PowerManagerInternal;->wakefulnessToString(I)Ljava/lang/String;
 HSPLandroid/os/PowerSaveState$1;-><init>()V
 HSPLandroid/os/PowerSaveState$Builder;->build()Landroid/os/PowerSaveState;
+HSPLandroid/os/PowerSaveState;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/Process;->getStartElapsedRealtime()J
+HSPLandroid/os/Process;->getThreadGroupLeader(I)I
+HSPLandroid/os/Process;->is64Bit()Z
 HSPLandroid/os/Process;->isApplicationUid(I)Z
 HSPLandroid/os/Process;->isIsolated()Z
 HSPLandroid/os/Process;->isIsolated(I)Z
@@ -28579,7 +24470,9 @@
 HSPLandroid/os/Process;->myUid()I
 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;)Landroid/os/Process$ProcessStartResult;
+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;
+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;[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
+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;
 HSPLandroid/os/Registrant;-><init>(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLandroid/os/Registrant;->clear()V
 HSPLandroid/os/Registrant;->getHandler()Landroid/os/Handler;
@@ -28598,7 +24491,13 @@
 HSPLandroid/os/RegistrantList;->remove(Landroid/os/Handler;)V
 HSPLandroid/os/RegistrantList;->removeCleared()V
 HSPLandroid/os/RegistrantList;->size()I
-HSPLandroid/os/RemoteCallback$OnResultListener;->onResult(Landroid/os/Bundle;)V
+HSPLandroid/os/RemoteCallback$1;-><init>(Landroid/os/RemoteCallback;)V
+HSPLandroid/os/RemoteCallback$1;->sendResult(Landroid/os/Bundle;)V
+HSPLandroid/os/RemoteCallback$2;->run()V
+HSPLandroid/os/RemoteCallback$3;-><init>()V
+HSPLandroid/os/RemoteCallback$3;->createFromParcel(Landroid/os/Parcel;)Landroid/os/RemoteCallback;
+HSPLandroid/os/RemoteCallback$3;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/os/RemoteCallback;->sendResult(Landroid/os/Bundle;)V
 HSPLandroid/os/RemoteCallbackList;-><init>()V
 HSPLandroid/os/RemoteCallbackList;->beginBroadcast()I
 HSPLandroid/os/RemoteCallbackList;->broadcast(Ljava/util/function/Consumer;)V
@@ -28611,6 +24510,7 @@
 HSPLandroid/os/RemoteCallbackList;->register(Landroid/os/IInterface;)Z
 HSPLandroid/os/RemoteCallbackList;->register(Landroid/os/IInterface;Ljava/lang/Object;)Z
 HSPLandroid/os/RemoteCallbackList;->unregister(Landroid/os/IInterface;)Z
+HSPLandroid/os/RemoteException;-><init>()V
 HSPLandroid/os/RemoteException;-><init>(Ljava/lang/String;)V
 HSPLandroid/os/ResultReceiver$1;-><init>()V
 HSPLandroid/os/ResultReceiver$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/ResultReceiver;
@@ -28647,7 +24547,6 @@
 HSPLandroid/os/StatFs;->getBlockCountLong()J
 HSPLandroid/os/StatFs;->getBlockSize()I
 HSPLandroid/os/StatFs;->getBlockSizeLong()J
-HSPLandroid/os/StatFs;->getFreeBytes()J
 HSPLandroid/os/StatFs;->getTotalBytes()J
 HSPLandroid/os/StatFs;->restat(Ljava/lang/String;)V
 HSPLandroid/os/StrictMode$1;-><init>()V
@@ -28663,29 +24562,27 @@
 HSPLandroid/os/StrictMode$4;->initialValue()Landroid/os/StrictMode$AndroidBlockGuardPolicy;
 HSPLandroid/os/StrictMode$4;->initialValue()Ljava/lang/Object;
 HSPLandroid/os/StrictMode$5;-><init>()V
+HSPLandroid/os/StrictMode$5;->onPathAccess(Ljava/lang/String;)V
 HSPLandroid/os/StrictMode$6;-><init>()V
 HSPLandroid/os/StrictMode$7;-><init>()V
-HSPLandroid/os/StrictMode$7;->initialValue()Landroid/os/StrictMode$ThreadSpanState;
-HSPLandroid/os/StrictMode$7;->initialValue()Ljava/lang/Object;
 HSPLandroid/os/StrictMode$8;-><init>()V
-HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->getPolicyMask()I
+HSPLandroid/os/StrictMode$8;->initialValue()Landroid/os/StrictMode$ThreadSpanState;
+HSPLandroid/os/StrictMode$8;->initialValue()Ljava/lang/Object;
+HSPLandroid/os/StrictMode$9;-><init>()V
+HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->getThreadPolicyMask()I
 HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->handleViolationWithTimingAttempt(Landroid/os/StrictMode$ViolationInfo;)V
+HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->lambda$handleViolationWithTimingAttempt$0$StrictMode$AndroidBlockGuardPolicy(Landroid/view/IWindowManager;Ljava/util/ArrayList;)V
 HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->lambda$handleViolationWithTimingAttempt$0(Landroid/os/StrictMode$AndroidBlockGuardPolicy;Landroid/view/IWindowManager;Ljava/util/ArrayList;)V
-HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->lambda$onThreadPolicyViolation$1(Landroid/os/StrictMode$OnThreadViolationListener;Landroid/os/strictmode/Violation;)V
 HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onCustomSlowCall(Ljava/lang/String;)V
+HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->onNetwork()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
-HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->setPolicyMask(I)V
+HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->setThreadPolicyMask(I)V
 HSPLandroid/os/StrictMode$AndroidBlockGuardPolicy;->startHandlingViolationException(Landroid/os/strictmode/Violation;)V
-HSPLandroid/os/StrictMode$AndroidCloseGuardReporter;->report(Ljava/lang/String;Ljava/lang/Throwable;)V
 HSPLandroid/os/StrictMode$InstanceTracker;-><init>(Ljava/lang/Object;)V
-HSPLandroid/os/StrictMode$InstanceTracker;->finalize()V
-HSPLandroid/os/StrictMode$InstanceTracker;->getInstanceCount(Ljava/lang/Class;)I
-HSPLandroid/os/StrictMode$OnThreadViolationListener;->onThreadViolation(Landroid/os/strictmode/Violation;)V
-HSPLandroid/os/StrictMode$Span;->finish()V
 HSPLandroid/os/StrictMode$ThreadPolicy$Builder;-><init>()V
 HSPLandroid/os/StrictMode$ThreadPolicy$Builder;-><init>(Landroid/os/StrictMode$ThreadPolicy;)V
 HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->build()Landroid/os/StrictMode$ThreadPolicy;
@@ -28693,55 +24590,36 @@
 HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->detectCustomSlowCalls()Landroid/os/StrictMode$ThreadPolicy$Builder;
 HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->detectNetwork()Landroid/os/StrictMode$ThreadPolicy$Builder;
 HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->penaltyDeath()Landroid/os/StrictMode$ThreadPolicy$Builder;
-HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->penaltyListener(Ljava/util/concurrent/Executor;Landroid/os/StrictMode$OnThreadViolationListener;)Landroid/os/StrictMode$ThreadPolicy$Builder;
 HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->penaltyLog()Landroid/os/StrictMode$ThreadPolicy$Builder;
 HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->permitAll()Landroid/os/StrictMode$ThreadPolicy$Builder;
 HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->permitDiskReads()Landroid/os/StrictMode$ThreadPolicy$Builder;
 HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->permitDiskWrites()Landroid/os/StrictMode$ThreadPolicy$Builder;
-HSPLandroid/os/StrictMode$ThreadPolicy$Builder;->permitNetwork()Landroid/os/StrictMode$ThreadPolicy$Builder;
 HSPLandroid/os/StrictMode$ThreadPolicy;-><init>(ILandroid/os/StrictMode$OnThreadViolationListener;Ljava/util/concurrent/Executor;)V
-HSPLandroid/os/StrictMode$ThreadPolicy;-><init>(ILandroid/os/StrictMode$OnThreadViolationListener;Ljava/util/concurrent/Executor;Landroid/os/StrictMode$1;)V
 HSPLandroid/os/StrictMode$ViolationInfo$1;-><init>()V
-HSPLandroid/os/StrictMode$ViolationInfo;-><init>(Landroid/os/Parcel;Z)V
 HSPLandroid/os/StrictMode$ViolationInfo;-><init>(Landroid/os/strictmode/Violation;I)V
 HSPLandroid/os/StrictMode$ViolationInfo;->getStackTrace()Ljava/lang/String;
-HSPLandroid/os/StrictMode$ViolationInfo;->getViolationBit()I
 HSPLandroid/os/StrictMode$ViolationInfo;->getViolationDetails()Ljava/lang/String;
 HSPLandroid/os/StrictMode$ViolationInfo;->hashCode()I
-HSPLandroid/os/StrictMode$ViolationInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/os/StrictMode$ViolationLogger;->log(Landroid/os/StrictMode$ViolationInfo;)V
-HSPLandroid/os/StrictMode$VmPolicy$Builder;-><init>()V
-HSPLandroid/os/StrictMode$VmPolicy$Builder;-><init>(Landroid/os/StrictMode$VmPolicy;)V
 HSPLandroid/os/StrictMode$VmPolicy$Builder;->build()Landroid/os/StrictMode$VmPolicy;
 HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectAll()Landroid/os/StrictMode$VmPolicy$Builder;
-HSPLandroid/os/StrictMode$VmPolicy$Builder;->detectLeakedSqlLiteObjects()Landroid/os/StrictMode$VmPolicy$Builder;
-HSPLandroid/os/StrictMode$VmPolicy$Builder;->penaltyDeath()Landroid/os/StrictMode$VmPolicy$Builder;
-HSPLandroid/os/StrictMode$VmPolicy$Builder;->penaltyLog()Landroid/os/StrictMode$VmPolicy$Builder;
 HSPLandroid/os/StrictMode$VmPolicy;-><init>(ILjava/util/HashMap;Landroid/os/StrictMode$OnVmViolationListener;Ljava/util/concurrent/Executor;)V
 HSPLandroid/os/StrictMode;->access$100()Ljava/util/HashMap;
 HSPLandroid/os/StrictMode;->allowThreadDiskReads()Landroid/os/StrictMode$ThreadPolicy;
 HSPLandroid/os/StrictMode;->allowThreadDiskReadsMask()I
 HSPLandroid/os/StrictMode;->allowThreadDiskWrites()Landroid/os/StrictMode$ThreadPolicy;
 HSPLandroid/os/StrictMode;->allowThreadDiskWritesMask()I
-HSPLandroid/os/StrictMode;->decrementExpectedActivityCount(Ljava/lang/Class;)V
-HSPLandroid/os/StrictMode;->dropboxViolationAsync(ILandroid/os/StrictMode$ViolationInfo;)V
-HSPLandroid/os/StrictMode;->enterCriticalSpan(Ljava/lang/String;)Landroid/os/StrictMode$Span;
 HSPLandroid/os/StrictMode;->getThreadPolicy()Landroid/os/StrictMode$ThreadPolicy;
-HSPLandroid/os/StrictMode;->getThreadPolicyMask()I
 HSPLandroid/os/StrictMode;->getVmPolicy()Landroid/os/StrictMode$VmPolicy;
 HSPLandroid/os/StrictMode;->handleApplicationStrictModeViolation(ILandroid/os/StrictMode$ViolationInfo;)V
 HSPLandroid/os/StrictMode;->incrementExpectedActivityCount(Ljava/lang/Class;)V
 HSPLandroid/os/StrictMode;->initThreadDefaults(Landroid/content/pm/ApplicationInfo;)V
 HSPLandroid/os/StrictMode;->initVmDefaults(Landroid/content/pm/ApplicationInfo;)V
 HSPLandroid/os/StrictMode;->isBundledSystemApp(Landroid/content/pm/ApplicationInfo;)Z
-HSPLandroid/os/StrictMode;->lambda$dropboxViolationAsync$2(ILandroid/os/StrictMode$ViolationInfo;)V
-HSPLandroid/os/StrictMode;->lambda$static$0(Landroid/os/StrictMode$ViolationInfo;)V
+HSPLandroid/os/StrictMode;->isUserKeyUnlocked(I)Z
 HSPLandroid/os/StrictMode;->noteResourceMismatch(Ljava/lang/Object;)V
 HSPLandroid/os/StrictMode;->noteSlowCall(Ljava/lang/String;)V
 HSPLandroid/os/StrictMode;->onBinderStrictModePolicyChange(I)V
-HSPLandroid/os/StrictMode;->onUntaggedSocket()V
-HSPLandroid/os/StrictMode;->onVmPolicyViolation(Landroid/os/strictmode/Violation;Z)V
-HSPLandroid/os/StrictMode;->readAndHandleBinderCallViolations(Landroid/os/Parcel;)V
+HSPLandroid/os/StrictMode;->onCredentialProtectedPathAccess(Ljava/lang/String;I)V
 HSPLandroid/os/StrictMode;->setBlockGuardPolicy(I)V
 HSPLandroid/os/StrictMode;->setThreadPolicy(Landroid/os/StrictMode$ThreadPolicy;)V
 HSPLandroid/os/StrictMode;->setThreadPolicyMask(I)V
@@ -28749,6 +24627,7 @@
 HSPLandroid/os/StrictMode;->trackActivity(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/os/StrictMode;->vmContentUriWithoutPermissionEnabled()Z
 HSPLandroid/os/StrictMode;->vmFileUriExposureEnabled()Z
+HSPLandroid/os/StrictMode;->vmImplicitDirectBootEnabled()Z
 HSPLandroid/os/StrictMode;->vmRegistrationLeaksEnabled()Z
 HSPLandroid/os/StrictMode;->vmSqliteObjectLeaksEnabled()Z
 HSPLandroid/os/StrictMode;->vmUntaggedSocketEnabled()Z
@@ -28762,27 +24641,26 @@
 HSPLandroid/os/SystemClock;->currentNetworkTimeClock()Ljava/time/Clock;
 HSPLandroid/os/SystemClock;->currentNetworkTimeMillis()J
 HSPLandroid/os/SystemClock;->elapsedRealtimeClock()Ljava/time/Clock;
-HSPLandroid/os/SystemClock;->setCurrentTimeMillis(J)Z
 HSPLandroid/os/SystemClock;->sleep(J)V
 HSPLandroid/os/SystemClock;->uptimeMillisClock()Ljava/time/Clock;
 HSPLandroid/os/SystemProperties;->addChangeCallback(Ljava/lang/Runnable;)V
+HSPLandroid/os/SystemProperties;->digestOf([Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/os/SystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/os/SystemProperties;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/os/SystemProperties;->getBoolean(Ljava/lang/String;Z)Z
 HSPLandroid/os/SystemProperties;->getInt(Ljava/lang/String;I)I
 HSPLandroid/os/SystemProperties;->getLong(Ljava/lang/String;J)J
 HSPLandroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/SystemService$1;-><init>()V
-HSPLandroid/os/SystemService$State;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-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
+HSPLandroid/os/SystemUpdateManager;->retrieveSystemUpdateInfo()Landroid/os/Bundle;
 HSPLandroid/os/SystemVibrator;-><init>(Landroid/content/Context;)V
 HSPLandroid/os/SystemVibrator;->hasVibrator()Z
+HSPLandroid/os/Temperature$1;-><init>()V
+HSPLandroid/os/ThreadLocalWorkSource;->restore(J)V
+HSPLandroid/os/ThreadLocalWorkSource;->setUid(I)J
 HSPLandroid/os/TokenWatcher;-><init>(Landroid/os/Handler;Ljava/lang/String;)V
-HSPLandroid/os/TokenWatcher;->acquired()V
-HSPLandroid/os/TokenWatcher;->released()V
 HSPLandroid/os/Trace;->asyncTraceBegin(JLjava/lang/String;I)V
+HSPLandroid/os/Trace;->asyncTraceEnd(JLjava/lang/String;I)V
 HSPLandroid/os/Trace;->beginSection(Ljava/lang/String;)V
 HSPLandroid/os/Trace;->endSection()V
 HSPLandroid/os/Trace;->isTagEnabled(J)Z
@@ -28791,12 +24669,12 @@
 HSPLandroid/os/Trace;->traceBegin(JLjava/lang/String;)V
 HSPLandroid/os/Trace;->traceCounter(JLjava/lang/String;I)V
 HSPLandroid/os/Trace;->traceEnd(J)V
-HSPLandroid/os/UEventObserver$UEvent;-><init>(Ljava/lang/String;)V
-HSPLandroid/os/UEventObserver$UEvent;->get(Ljava/lang/String;)Ljava/lang/String;
 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
-HSPLandroid/os/UEventObserver$UEventThread;->sendEvent(Ljava/lang/String;)V
+HSPLandroid/os/UEventObserver;->finalize()V
 HSPLandroid/os/UEventObserver;->getThread()Landroid/os/UEventObserver$UEventThread;
+HSPLandroid/os/UEventObserver;->peekThread()Landroid/os/UEventObserver$UEventThread;
 HSPLandroid/os/UEventObserver;->startObserving(Ljava/lang/String;)V
 HSPLandroid/os/UpdateLock;-><init>(Ljava/lang/String;)V
 HSPLandroid/os/UpdateLock;->isHeld()Z
@@ -28818,13 +24696,16 @@
 HSPLandroid/os/UserHandle;->getUserId(I)I
 HSPLandroid/os/UserHandle;->hashCode()I
 HSPLandroid/os/UserHandle;->isApp(I)Z
+HSPLandroid/os/UserHandle;->isIsolated(I)Z
 HSPLandroid/os/UserHandle;->isOwner()Z
 HSPLandroid/os/UserHandle;->isSameApp(II)Z
 HSPLandroid/os/UserHandle;->isSystem()Z
 HSPLandroid/os/UserHandle;->myUserId()I
 HSPLandroid/os/UserHandle;->of(I)Landroid/os/UserHandle;
+HSPLandroid/os/UserHandle;->readFromParcel(Landroid/os/Parcel;)Landroid/os/UserHandle;
 HSPLandroid/os/UserHandle;->toString()Ljava/lang/String;
 HSPLandroid/os/UserHandle;->writeToParcel(Landroid/os/Parcel;I)V
+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
 HSPLandroid/os/UserManager;->get(Landroid/content/Context;)Landroid/os/UserManager;
@@ -28832,24 +24713,26 @@
 HSPLandroid/os/UserManager;->getCredentialOwnerProfile(I)I
 HSPLandroid/os/UserManager;->getEnabledProfileIds(I)[I
 HSPLandroid/os/UserManager;->getEnabledProfiles(I)Ljava/util/List;
+HSPLandroid/os/UserManager;->getManagedProfileBadge(I)I
 HSPLandroid/os/UserManager;->getMaxSupportedUsers()I
 HSPLandroid/os/UserManager;->getPrimaryUser()Landroid/content/pm/UserInfo;
 HSPLandroid/os/UserManager;->getProfileIds(IZ)[I
 HSPLandroid/os/UserManager;->getProfileIdsWithDisabled(I)[I
 HSPLandroid/os/UserManager;->getProfileParent(I)Landroid/content/pm/UserInfo;
+HSPLandroid/os/UserManager;->getProfileParent(Landroid/os/UserHandle;)Landroid/os/UserHandle;
 HSPLandroid/os/UserManager;->getProfiles(I)Ljava/util/List;
 HSPLandroid/os/UserManager;->getSerialNumberForUser(Landroid/os/UserHandle;)J
 HSPLandroid/os/UserManager;->getSerialNumbersOfUsers(Z)[J
-HSPLandroid/os/UserManager;->getUserCount()I
 HSPLandroid/os/UserManager;->getUserForSerialNumber(J)Landroid/os/UserHandle;
 HSPLandroid/os/UserManager;->getUserHandle()I
 HSPLandroid/os/UserManager;->getUserHandle(I)I
 HSPLandroid/os/UserManager;->getUserInfo(I)Landroid/content/pm/UserInfo;
 HSPLandroid/os/UserManager;->getUserProfiles()Ljava/util/List;
+HSPLandroid/os/UserManager;->getUserRestrictionSource(Ljava/lang/String;Landroid/os/UserHandle;)I
 HSPLandroid/os/UserManager;->getUserRestrictionSources(Ljava/lang/String;Landroid/os/UserHandle;)Ljava/util/List;
-HSPLandroid/os/UserManager;->getUserRestrictions()Landroid/os/Bundle;
-HSPLandroid/os/UserManager;->getUserRestrictions(Landroid/os/UserHandle;)Landroid/os/Bundle;
 HSPLandroid/os/UserManager;->getUserSerialNumber(I)I
+HSPLandroid/os/UserManager;->getUserStartRealtime()J
+HSPLandroid/os/UserManager;->getUserUnlockRealtime()J
 HSPLandroid/os/UserManager;->getUsers()Ljava/util/List;
 HSPLandroid/os/UserManager;->getUsers(Z)Ljava/util/List;
 HSPLandroid/os/UserManager;->hasBaseUserRestriction(Ljava/lang/String;Landroid/os/UserHandle;)Z
@@ -28865,41 +24748,18 @@
 HSPLandroid/os/UserManager;->isPrimaryUser()Z
 HSPLandroid/os/UserManager;->isQuietModeEnabled(Landroid/os/UserHandle;)Z
 HSPLandroid/os/UserManager;->isRestrictedProfile()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
+HSPLandroid/os/UserManager;->isUserSwitcherEnabled()Z
 HSPLandroid/os/UserManager;->isUserUnlocked()Z
 HSPLandroid/os/UserManager;->isUserUnlocked(I)Z
 HSPLandroid/os/UserManager;->isUserUnlocked(Landroid/os/UserHandle;)Z
 HSPLandroid/os/UserManager;->isUserUnlockingOrUnlocked(I)Z
 HSPLandroid/os/UserManager;->supportsMultipleUsers()Z
-HSPLandroid/os/UserManagerInternal;->addUserRestrictionsListener(Landroid/os/UserManagerInternal$UserRestrictionsListener;)V
-HSPLandroid/os/UserManagerInternal;->createUserEvenWhenDisallowed(Ljava/lang/String;I[Ljava/lang/String;)Landroid/content/pm/UserInfo;
-HSPLandroid/os/UserManagerInternal;->exists(I)Z
-HSPLandroid/os/UserManagerInternal;->getBaseUserRestrictions(I)Landroid/os/Bundle;
-HSPLandroid/os/UserManagerInternal;->getProfileParentId(I)I
-HSPLandroid/os/UserManagerInternal;->getUserIds()[I
-HSPLandroid/os/UserManagerInternal;->getUserRestriction(ILjava/lang/String;)Z
-HSPLandroid/os/UserManagerInternal;->isProfileAccessible(IILjava/lang/String;Z)Z
-HSPLandroid/os/UserManagerInternal;->isSettingRestrictedForUser(Ljava/lang/String;ILjava/lang/String;I)Z
-HSPLandroid/os/UserManagerInternal;->isUserInitialized(I)Z
-HSPLandroid/os/UserManagerInternal;->isUserRunning(I)Z
-HSPLandroid/os/UserManagerInternal;->isUserUnlocked(I)Z
-HSPLandroid/os/UserManagerInternal;->isUserUnlockingOrUnlocked(I)Z
-HSPLandroid/os/UserManagerInternal;->onEphemeralUserStop(I)V
-HSPLandroid/os/UserManagerInternal;->removeAllUsers()V
-HSPLandroid/os/UserManagerInternal;->removeUserEvenWhenDisallowed(I)Z
-HSPLandroid/os/UserManagerInternal;->removeUserRestrictionsListener(Landroid/os/UserManagerInternal$UserRestrictionsListener;)V
-HSPLandroid/os/UserManagerInternal;->removeUserState(I)V
-HSPLandroid/os/UserManagerInternal;->setBaseUserRestrictionsByDpmsForMigration(ILandroid/os/Bundle;)V
-HSPLandroid/os/UserManagerInternal;->setDeviceManaged(Z)V
-HSPLandroid/os/UserManagerInternal;->setDevicePolicyUserRestrictions(ILandroid/os/Bundle;ZI)V
-HSPLandroid/os/UserManagerInternal;->setForceEphemeralUsers(Z)V
-HSPLandroid/os/UserManagerInternal;->setUserIcon(ILandroid/graphics/Bitmap;)V
-HSPLandroid/os/UserManagerInternal;->setUserManaged(IZ)V
-HSPLandroid/os/UserManagerInternal;->setUserState(II)V
 HSPLandroid/os/VibrationEffect$1;-><init>()V
 HSPLandroid/os/VibrationEffect$OneShot$1;-><init>()V
 HSPLandroid/os/VibrationEffect$OneShot;->validate()V
@@ -28911,14 +24771,9 @@
 HSPLandroid/os/VibrationEffect;->createWaveform([JI)Landroid/os/VibrationEffect;
 HSPLandroid/os/VibrationEffect;->createWaveform([J[II)Landroid/os/VibrationEffect;
 HSPLandroid/os/VibrationEffect;->get(I)Landroid/os/VibrationEffect;
-HSPLandroid/os/VibrationEffect;->getDuration()J
-HSPLandroid/os/VibrationEffect;->validate()V
-HSPLandroid/os/Vibrator;->cancel()V
 HSPLandroid/os/Vibrator;->getDefaultHapticFeedbackIntensity()I
 HSPLandroid/os/Vibrator;->getDefaultNotificationVibrationIntensity()I
-HSPLandroid/os/Vibrator;->hasAmplitudeControl()Z
-HSPLandroid/os/Vibrator;->hasVibrator()Z
-HSPLandroid/os/Vibrator;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;Landroid/media/AudioAttributes;)V
+HSPLandroid/os/Vibrator;->getDefaultRingVibrationIntensity()I
 HSPLandroid/os/WorkSource$1;-><init>()V
 HSPLandroid/os/WorkSource$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/WorkSource;
 HSPLandroid/os/WorkSource$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -28937,8 +24792,10 @@
 HSPLandroid/os/WorkSource;->diff(Landroid/os/WorkSource;)Z
 HSPLandroid/os/WorkSource;->equals(Ljava/lang/Object;)Z
 HSPLandroid/os/WorkSource;->get(I)I
+HSPLandroid/os/WorkSource;->getAttributionUid()I
 HSPLandroid/os/WorkSource;->getName(I)Ljava/lang/String;
 HSPLandroid/os/WorkSource;->getWorkChains()Ljava/util/ArrayList;
+HSPLandroid/os/WorkSource;->hashCode()I
 HSPLandroid/os/WorkSource;->insert(IILjava/lang/String;)V
 HSPLandroid/os/WorkSource;->isChainedBatteryAttributionEnabled(Landroid/content/Context;)Z
 HSPLandroid/os/WorkSource;->isEmpty()Z
@@ -28946,123 +24803,49 @@
 HSPLandroid/os/WorkSource;->removeUidsAndNames(Landroid/os/WorkSource;)Z
 HSPLandroid/os/WorkSource;->set(Landroid/os/WorkSource;)V
 HSPLandroid/os/WorkSource;->size()I
+HSPLandroid/os/WorkSource;->toString()Ljava/lang/String;
 HSPLandroid/os/WorkSource;->updateLocked(Landroid/os/WorkSource;ZZ)Z
 HSPLandroid/os/WorkSource;->updateUidsAndNamesLocked(Landroid/os/WorkSource;ZZ)Z
 HSPLandroid/os/WorkSource;->updateUidsLocked(Landroid/os/WorkSource;ZZ)Z
 HSPLandroid/os/WorkSource;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/ZygoteProcess$ZygoteState;->close()V
-HSPLandroid/os/ZygoteProcess$ZygoteState;->connect(Landroid/net/LocalSocketAddress;)Landroid/os/ZygoteProcess$ZygoteState;
+HSPLandroid/os/ZygoteProcess$ZygoteState;->connect(Landroid/net/LocalSocketAddress;Landroid/net/LocalSocketAddress;)Landroid/os/ZygoteProcess$ZygoteState;
 HSPLandroid/os/ZygoteProcess$ZygoteState;->isClosed()Z
 HSPLandroid/os/ZygoteProcess$ZygoteState;->matches(Ljava/lang/String;)Z
+HSPLandroid/os/ZygoteProcess;-><init>()V
 HSPLandroid/os/ZygoteProcess;-><init>(Landroid/net/LocalSocketAddress;Landroid/net/LocalSocketAddress;)V
-HSPLandroid/os/ZygoteProcess;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/ZygoteProcess;->getAbiList(Ljava/io/BufferedWriter;Ljava/io/DataInputStream;)Ljava/lang/String;
+HSPLandroid/os/ZygoteProcess;->fetchBlastulaPoolEnabledProp()Z
+HSPLandroid/os/ZygoteProcess;->fetchBlastulaPoolEnabledPropWithMinInterval()Z
+HSPLandroid/os/ZygoteProcess;->getAbiList(Ljava/io/BufferedWriter;Ljava/io/DataInputStream;)Ljava/util/List;
 HSPLandroid/os/ZygoteProcess;->getPrimarySocketAddress()Landroid/net/LocalSocketAddress;
 HSPLandroid/os/ZygoteProcess;->maybeSetApiBlacklistExemptions(Landroid/os/ZygoteProcess$ZygoteState;Z)Z
 HSPLandroid/os/ZygoteProcess;->maybeSetHiddenApiAccessLogSampleRate(Landroid/os/ZygoteProcess$ZygoteState;)V
 HSPLandroid/os/ZygoteProcess;->openZygoteSocketIfNeeded(Ljava/lang/String;)Landroid/os/ZygoteProcess$ZygoteState;
+HSPLandroid/os/ZygoteProcess;->preloadApp(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;)Z
 HSPLandroid/os/ZygoteProcess;->preloadDefault(Ljava/lang/String;)Z
-HSPLandroid/os/ZygoteProcess;->preloadPackageForAbi(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLandroid/os/ZygoteProcess;->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;)Landroid/os/Process$ProcessStartResult;
-HSPLandroid/os/ZygoteProcess;->startChildZygote(Ljava/lang/String;Ljava/lang/String;II[IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/os/ChildZygoteProcess;
-HSPLandroid/os/ZygoteProcess;->startViaZygote(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Z[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
+HSPLandroid/os/ZygoteProcess;->setApiBlacklistExemptions(Ljava/util/List;)Z
+HSPLandroid/os/ZygoteProcess;->setHiddenApiAccessLogSampleRate(I)V
+HSPLandroid/os/ZygoteProcess;->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;Z[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
+HSPLandroid/os/ZygoteProcess;->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;Z[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
+HSPLandroid/os/ZygoteProcess;->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;Z[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
+HSPLandroid/os/ZygoteProcess;->startChildZygote(Ljava/lang/String;Ljava/lang/String;II[IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)Landroid/os/ChildZygoteProcess;
+HSPLandroid/os/ZygoteProcess;->startViaZygote(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;[Ljava/lang/String;Ljava/lang/String;Z[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
+HSPLandroid/os/ZygoteProcess;->startViaZygote(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Z[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
+HSPLandroid/os/ZygoteProcess;->startViaZygote(Ljava/lang/String;Ljava/lang/String;II[IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z[Ljava/lang/String;)Landroid/os/Process$ProcessStartResult;
 HSPLandroid/os/ZygoteProcess;->waitForConnectionToZygote(Landroid/net/LocalSocketAddress;)V
-HSPLandroid/os/ZygoteProcess;->zygoteSendArgsAndGetResult(Landroid/os/ZygoteProcess$ZygoteState;Ljava/util/ArrayList;)Landroid/os/Process$ProcessStartResult;
-HSPLandroid/os/health/HealthStats;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/os/health/HealthStats;->getMeasurement(I)J
-HSPLandroid/os/health/HealthStats;->getMeasurements(I)Ljava/util/Map;
-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/ZygoteProcess;->waitForConnectionToZygote(Ljava/lang/String;)V
+HSPLandroid/os/ZygoteProcess;->zygoteSendArgsAndGetResult(Landroid/os/ZygoteProcess$ZygoteState;ZLjava/util/ArrayList;)Landroid/os/Process$ProcessStartResult;
 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;
-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;->getCount()I
-HSPLandroid/os/health/TimerStat;->getTime()J
-HSPLandroid/os/storage/IObbActionListener;->onObbResult(Ljava/lang/String;II)V
 HSPLandroid/os/storage/IStorageEventListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/os/storage/IStorageEventListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/os/storage/IStorageEventListener;->onDiskDestroyed(Landroid/os/storage/DiskInfo;)V
-HSPLandroid/os/storage/IStorageEventListener;->onDiskScanned(Landroid/os/storage/DiskInfo;I)V
-HSPLandroid/os/storage/IStorageEventListener;->onStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/storage/IStorageEventListener;->onUsbMassStorageConnectionChanged(Z)V
-HSPLandroid/os/storage/IStorageEventListener;->onVolumeForgotten(Ljava/lang/String;)V
-HSPLandroid/os/storage/IStorageEventListener;->onVolumeRecordChanged(Landroid/os/storage/VolumeRecord;)V
-HSPLandroid/os/storage/IStorageEventListener;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
 HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume;
 HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->getVolumes(I)[Landroid/os/storage/VolumeInfo;
-HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->mkdirs(Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->isUserKeyUnlocked(I)Z
+HSPLandroid/os/storage/IStorageManager$Stub$Proxy;->translateSystemToApp(Ljava/lang/String;II)Ljava/lang/String;
 HSPLandroid/os/storage/IStorageManager$Stub;-><init>()V
 HSPLandroid/os/storage/IStorageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IStorageManager;
 HSPLandroid/os/storage/IStorageManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/os/storage/IStorageManager;->abortIdleMaintenance()V
-HSPLandroid/os/storage/IStorageManager;->addUserKeyAuth(II[B[B)V
-HSPLandroid/os/storage/IStorageManager;->allocateBytes(Ljava/lang/String;JILjava/lang/String;)V
-HSPLandroid/os/storage/IStorageManager;->benchmark(Ljava/lang/String;Landroid/os/IVoldTaskListener;)V
-HSPLandroid/os/storage/IStorageManager;->changeEncryptionPassword(ILjava/lang/String;)I
-HSPLandroid/os/storage/IStorageManager;->clearPassword()V
-HSPLandroid/os/storage/IStorageManager;->createUserKey(IIZ)V
-HSPLandroid/os/storage/IStorageManager;->decryptStorage(Ljava/lang/String;)I
-HSPLandroid/os/storage/IStorageManager;->destroyUserKey(I)V
-HSPLandroid/os/storage/IStorageManager;->destroyUserStorage(Ljava/lang/String;II)V
-HSPLandroid/os/storage/IStorageManager;->encryptStorage(ILjava/lang/String;)I
-HSPLandroid/os/storage/IStorageManager;->fixateNewestUserKeyAuth(I)V
-HSPLandroid/os/storage/IStorageManager;->forgetAllVolumes()V
-HSPLandroid/os/storage/IStorageManager;->forgetVolume(Ljava/lang/String;)V
-HSPLandroid/os/storage/IStorageManager;->format(Ljava/lang/String;)V
-HSPLandroid/os/storage/IStorageManager;->fstrim(ILandroid/os/IVoldTaskListener;)V
-HSPLandroid/os/storage/IStorageManager;->getAllocatableBytes(Ljava/lang/String;ILjava/lang/String;)J
-HSPLandroid/os/storage/IStorageManager;->getCacheQuotaBytes(Ljava/lang/String;I)J
-HSPLandroid/os/storage/IStorageManager;->getCacheSizeBytes(Ljava/lang/String;I)J
-HSPLandroid/os/storage/IStorageManager;->getDisks()[Landroid/os/storage/DiskInfo;
-HSPLandroid/os/storage/IStorageManager;->getEncryptionState()I
-HSPLandroid/os/storage/IStorageManager;->getField(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/os/storage/IStorageManager;->getMountedObbPath(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/os/storage/IStorageManager;->getPassword()Ljava/lang/String;
-HSPLandroid/os/storage/IStorageManager;->getPasswordType()I
-HSPLandroid/os/storage/IStorageManager;->getPrimaryStorageUuid()Ljava/lang/String;
-HSPLandroid/os/storage/IStorageManager;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume;
-HSPLandroid/os/storage/IStorageManager;->getVolumeRecords(I)[Landroid/os/storage/VolumeRecord;
-HSPLandroid/os/storage/IStorageManager;->getVolumes(I)[Landroid/os/storage/VolumeInfo;
-HSPLandroid/os/storage/IStorageManager;->isConvertibleToFBE()Z
-HSPLandroid/os/storage/IStorageManager;->isObbMounted(Ljava/lang/String;)Z
-HSPLandroid/os/storage/IStorageManager;->isUserKeyUnlocked(I)Z
-HSPLandroid/os/storage/IStorageManager;->lastMaintenance()J
-HSPLandroid/os/storage/IStorageManager;->lockUserKey(I)V
-HSPLandroid/os/storage/IStorageManager;->mkdirs(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/storage/IStorageManager;->mount(Ljava/lang/String;)V
-HSPLandroid/os/storage/IStorageManager;->mountObb(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/storage/IObbActionListener;I)V
-HSPLandroid/os/storage/IStorageManager;->mountProxyFileDescriptorBridge()Lcom/android/internal/os/AppFuseMount;
-HSPLandroid/os/storage/IStorageManager;->openProxyFileDescriptor(III)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/os/storage/IStorageManager;->partitionMixed(Ljava/lang/String;I)V
-HSPLandroid/os/storage/IStorageManager;->partitionPrivate(Ljava/lang/String;)V
-HSPLandroid/os/storage/IStorageManager;->partitionPublic(Ljava/lang/String;)V
-HSPLandroid/os/storage/IStorageManager;->prepareUserStorage(Ljava/lang/String;III)V
-HSPLandroid/os/storage/IStorageManager;->registerListener(Landroid/os/storage/IStorageEventListener;)V
-HSPLandroid/os/storage/IStorageManager;->runIdleMaintenance()V
-HSPLandroid/os/storage/IStorageManager;->runMaintenance()V
-HSPLandroid/os/storage/IStorageManager;->setDebugFlags(II)V
-HSPLandroid/os/storage/IStorageManager;->setField(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/storage/IStorageManager;->setPrimaryStorageUuid(Ljava/lang/String;Landroid/content/pm/IPackageMoveObserver;)V
-HSPLandroid/os/storage/IStorageManager;->setVolumeNickname(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/os/storage/IStorageManager;->setVolumeUserFlags(Ljava/lang/String;II)V
-HSPLandroid/os/storage/IStorageManager;->shutdown(Landroid/os/storage/IStorageShutdownObserver;)V
-HSPLandroid/os/storage/IStorageManager;->unlockUserKey(II[B[B)V
-HSPLandroid/os/storage/IStorageManager;->unmount(Ljava/lang/String;)V
-HSPLandroid/os/storage/IStorageManager;->unmountObb(Ljava/lang/String;ZLandroid/os/storage/IObbActionListener;I)V
-HSPLandroid/os/storage/IStorageManager;->unregisterListener(Landroid/os/storage/IStorageEventListener;)V
-HSPLandroid/os/storage/IStorageManager;->verifyEncryptionPassword(Ljava/lang/String;)I
 HSPLandroid/os/storage/StorageManager$StorageEventListenerDelegate;->handleMessage(Landroid/os/Message;)Z
 HSPLandroid/os/storage/StorageManager$StorageEventListenerDelegate;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
 HSPLandroid/os/storage/StorageManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
@@ -29085,27 +24868,24 @@
 HSPLandroid/os/storage/StorageManager;->getVolumes()Ljava/util/List;
 HSPLandroid/os/storage/StorageManager;->getWritablePrivateVolumes()Ljava/util/List;
 HSPLandroid/os/storage/StorageManager;->hasAdoptable()Z
+HSPLandroid/os/storage/StorageManager;->hasIsolatedStorage()Z
 HSPLandroid/os/storage/StorageManager;->inCryptKeeperBounce()Z
 HSPLandroid/os/storage/StorageManager;->isFileEncryptedEmulatedOnly()Z
 HSPLandroid/os/storage/StorageManager;->isFileEncryptedNativeOnly()Z
 HSPLandroid/os/storage/StorageManager;->isFileEncryptedNativeOrEmulated()Z
 HSPLandroid/os/storage/StorageManager;->isUserKeyUnlocked(I)Z
-HSPLandroid/os/storage/StorageManager;->mkdirs(Ljava/io/File;)V
 HSPLandroid/os/storage/StorageManager;->registerListener(Landroid/os/storage/StorageEventListener;)V
-HSPLandroid/os/storage/StorageManagerInternal;->addExternalStoragePolicy(Landroid/os/storage/StorageManagerInternal$ExternalStorageMountPolicy;)V
-HSPLandroid/os/storage/StorageManagerInternal;->getExternalStorageMountMode(ILjava/lang/String;)I
-HSPLandroid/os/storage/StorageManagerInternal;->onExternalStoragePolicyChanged(ILjava/lang/String;)V
+HSPLandroid/os/storage/StorageManager;->translateSystemToApp(Ljava/io/File;II)Ljava/io/File;
 HSPLandroid/os/storage/StorageVolume$1;-><init>()V
 HSPLandroid/os/storage/StorageVolume$1;->createFromParcel(Landroid/os/Parcel;)Landroid/os/storage/StorageVolume;
 HSPLandroid/os/storage/StorageVolume$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/os/storage/StorageVolume$1;->newArray(I)[Landroid/os/storage/StorageVolume;
 HSPLandroid/os/storage/StorageVolume$1;->newArray(I)[Ljava/lang/Object;
 HSPLandroid/os/storage/StorageVolume;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/os/storage/StorageVolume;-><init>(Ljava/lang/String;Ljava/io/File;Ljava/lang/String;ZZZZJLandroid/os/UserHandle;Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/os/storage/StorageVolume;-><init>(Ljava/lang/String;Ljava/io/File;Ljava/io/File;Ljava/lang/String;ZZZZJLandroid/os/UserHandle;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/os/storage/StorageVolume;->getId()Ljava/lang/String;
 HSPLandroid/os/storage/StorageVolume;->getState()Ljava/lang/String;
 HSPLandroid/os/storage/StorageVolume;->getUuid()Ljava/lang/String;
-HSPLandroid/os/storage/StorageVolume;->isPrimary()Z
 HSPLandroid/os/storage/StorageVolume;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/os/storage/VolumeInfo$1;-><init>()V
 HSPLandroid/os/storage/VolumeInfo$2;-><init>()V
@@ -29123,6 +24903,7 @@
 HSPLandroid/os/storage/VolumeInfo;->getEnvironmentForState(I)Ljava/lang/String;
 HSPLandroid/os/storage/VolumeInfo;->getFsUuid()Ljava/lang/String;
 HSPLandroid/os/storage/VolumeInfo;->getId()Ljava/lang/String;
+HSPLandroid/os/storage/VolumeInfo;->getInternalPathForUser(I)Ljava/io/File;
 HSPLandroid/os/storage/VolumeInfo;->getPath()Ljava/io/File;
 HSPLandroid/os/storage/VolumeInfo;->getPathForUser(I)Ljava/io/File;
 HSPLandroid/os/storage/VolumeInfo;->getType()I
@@ -29135,85 +24916,240 @@
 HSPLandroid/os/storage/VolumeInfo;->isVisibleForWrite(I)Z
 HSPLandroid/os/storage/VolumeInfo;->toString()Ljava/lang/String;
 HSPLandroid/os/storage/VolumeInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/preference/GenericInflater$Parent;->addItemFromInflater(Ljava/lang/Object;)V
-HSPLandroid/preference/Preference$OnPreferenceChangeListener;->onPreferenceChange(Landroid/preference/Preference;Ljava/lang/Object;)Z
-HSPLandroid/preference/PreferenceFragment$OnPreferenceStartFragmentCallback;->onPreferenceStartFragment(Landroid/preference/PreferenceFragment;Landroid/preference/Preference;)Z
-HSPLandroid/preference/PreferenceManager$OnActivityDestroyListener;->onActivityDestroy()V
-HSPLandroid/preference/PreferenceManager$OnPreferenceTreeClickListener;->onPreferenceTreeClick(Landroid/preference/PreferenceScreen;Landroid/preference/Preference;)Z
+HSPLandroid/permission/-$$Lambda$PermissionControllerManager$PendingCountPermissionAppsRequest$5yk4p2I96nUHJ1QRErjoF1iiLLY;->onResult(Landroid/os/Bundle;)V
+HSPLandroid/permission/-$$Lambda$PermissionControllerManager$PendingGetAppPermissionRequest$7R0rGbvqPEHrjxlrMX66LMgfTj4;->onResult(Landroid/os/Bundle;)V
+HSPLandroid/permission/-$$Lambda$PermissionControllerManager$PendingIsApplicationQualifiedForRoleRequest$5m96NgC_Fent3VV2pxpA7ixJS64;->onResult(Landroid/os/Bundle;)V
+HSPLandroid/permission/-$$Lambda$PermissionControllerManager$PendingIsApplicationQualifiedForRoleRequest$lH6N6lj4veN_1C9hTpBgf9c4o40;->run()V
+HSPLandroid/permission/-$$Lambda$PermissionControllerManager$RemoteService$L8N-TbqIPWKu7tyiOxbu_00YKss;-><init>()V
+HSPLandroid/permission/-$$Lambda$PermissionControllerService$1$Wdjw6f4bVabM9A8dMSxKws5HauY;-><init>()V
+HSPLandroid/permission/-$$Lambda$PermissionControllerService$1$Wdjw6f4bVabM9A8dMSxKws5HauY;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLandroid/permission/-$$Lambda$PermissionControllerService$1$b-_24rx9VpQtKWFPivfPWNjKn2U;-><init>()V
+HSPLandroid/permission/-$$Lambda$PermissionControllerService$1$b-_24rx9VpQtKWFPivfPWNjKn2U;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLandroid/permission/-$$Lambda$PermissionControllerService$1$zy1LW9MMFpSW2olw3pLcrg-t6OI;-><init>()V
+HSPLandroid/permission/-$$Lambda$PermissionControllerService$1$zy1LW9MMFpSW2olw3pLcrg-t6OI;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLandroid/permission/IPermissionController$Stub$Proxy;->countPermissionApps(Ljava/util/List;ILandroid/os/RemoteCallback;)V
+HSPLandroid/permission/IPermissionController$Stub$Proxy;->getAppPermissions(Ljava/lang/String;Landroid/os/RemoteCallback;)V
+HSPLandroid/permission/IPermissionController$Stub$Proxy;->isApplicationQualifiedForRole(Ljava/lang/String;Ljava/lang/String;Landroid/os/RemoteCallback;)V
+HSPLandroid/permission/IPermissionController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/permission/PermissionControllerManager$PendingCountPermissionAppsRequest;->run()V
+HSPLandroid/permission/PermissionControllerManager$PendingGetAppPermissionRequest;->run()V
+HSPLandroid/permission/PermissionControllerManager$PendingIsApplicationQualifiedForRoleRequest;->lambda$new$0$PermissionControllerManager$PendingIsApplicationQualifiedForRoleRequest(Landroid/os/Bundle;Ljava/util/function/Consumer;)V
+HSPLandroid/permission/PermissionControllerManager$PendingIsApplicationQualifiedForRoleRequest;->run()V
+HSPLandroid/permission/PermissionControllerManager$RemoteService;->getRemoteRequestMillis()J
+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
+HSPLandroid/permission/PermissionControllerManager;->countPermissionApps(Ljava/util/List;ILandroid/permission/PermissionControllerManager$OnCountPermissionAppsResultCallback;Landroid/os/Handler;)V
+HSPLandroid/permission/PermissionControllerManager;->getAppPermissions(Ljava/lang/String;Landroid/permission/PermissionControllerManager$OnGetAppPermissionResultCallback;Landroid/os/Handler;)V
+HSPLandroid/permission/PermissionControllerManager;->isApplicationQualifiedForRole(Ljava/lang/String;Ljava/lang/String;Ljava/util/concurrent/Executor;Ljava/util/function/Consumer;)V
+HSPLandroid/permission/PermissionControllerService$1;->getAppPermissions(Ljava/lang/String;Landroid/os/RemoteCallback;)V
+HSPLandroid/permission/PermissionControllerService$1;->getRuntimePermissionBackup(Landroid/os/UserHandle;Landroid/os/ParcelFileDescriptor;)V
+HSPLandroid/permission/PermissionControllerService$1;->isApplicationQualifiedForRole(Ljava/lang/String;Ljava/lang/String;Landroid/os/RemoteCallback;)V
+HSPLandroid/permission/PermissionControllerService;-><init>()V
+HSPLandroid/permission/PermissionControllerService;->attachBaseContext(Landroid/content/Context;)V
+HSPLandroid/permission/PermissionControllerService;->getRuntimePermissionsBackup(Landroid/os/UserHandle;Landroid/os/ParcelFileDescriptor;)V
+HSPLandroid/permission/PermissionControllerService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
+HSPLandroid/permission/PermissionManager$SplitPermissionInfo;->getNewPermissions()Ljava/util/List;
+HSPLandroid/permission/PermissionManager$SplitPermissionInfo;->getSplitPermission()Ljava/lang/String;
+HSPLandroid/permission/PermissionManager$SplitPermissionInfo;->getTargetSdk()I
+HSPLandroid/permission/PermissionManager;->getSplitPermissions()Ljava/util/List;
+HSPLandroid/permission/RuntimePermissionPresentationInfo$1;-><init>()V
+HSPLandroid/permission/RuntimePermissionPresentationInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/permission/RuntimePermissionPresentationInfo;
+HSPLandroid/permission/RuntimePermissionPresentationInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/permission/RuntimePermissionPresentationInfo;-><init>(Ljava/lang/CharSequence;ZZ)V
+HSPLandroid/permission/RuntimePermissionPresentationInfo;->getLabel()Ljava/lang/CharSequence;
+HSPLandroid/permission/RuntimePermissionPresentationInfo;->isGranted()Z
+HSPLandroid/permission/RuntimePermissionPresentationInfo;->isStandard()Z
+HSPLandroid/permission/RuntimePermissionPresentationInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/preference/DialogPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroid/preference/DialogPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HSPLandroid/preference/GenericInflater;->createItem(Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
+HSPLandroid/preference/GenericInflater;->createItemFromTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
+HSPLandroid/preference/GenericInflater;->getContext()Landroid/content/Context;
+HSPLandroid/preference/GenericInflater;->inflate(ILandroid/preference/GenericInflater$Parent;Z)Ljava/lang/Object;
+HSPLandroid/preference/GenericInflater;->inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/preference/GenericInflater$Parent;Z)Ljava/lang/Object;
+HSPLandroid/preference/GenericInflater;->onCreateItem(Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
+HSPLandroid/preference/GenericInflater;->rInflate(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/Object;Landroid/util/AttributeSet;)V
+HSPLandroid/preference/ListPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroid/preference/ListPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HSPLandroid/preference/Preference;-><init>(Landroid/content/Context;)V
+HSPLandroid/preference/Preference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroid/preference/Preference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HSPLandroid/preference/Preference;->assignParent(Landroid/preference/PreferenceGroup;)V
+HSPLandroid/preference/Preference;->compareTo(Landroid/preference/Preference;)I
+HSPLandroid/preference/Preference;->compareTo(Ljava/lang/Object;)I
+HSPLandroid/preference/Preference;->dispatchSetInitialValue()V
+HSPLandroid/preference/Preference;->getExtras()Landroid/os/Bundle;
+HSPLandroid/preference/Preference;->getId()J
+HSPLandroid/preference/Preference;->getKey()Ljava/lang/String;
+HSPLandroid/preference/Preference;->getLayoutResource()I
+HSPLandroid/preference/Preference;->getOrder()I
+HSPLandroid/preference/Preference;->getPreferenceDataStore()Landroid/preference/PreferenceDataStore;
+HSPLandroid/preference/Preference;->getPreferenceManager()Landroid/preference/PreferenceManager;
+HSPLandroid/preference/Preference;->getSharedPreferences()Landroid/content/SharedPreferences;
+HSPLandroid/preference/Preference;->getSummary()Ljava/lang/CharSequence;
+HSPLandroid/preference/Preference;->getTitle()Ljava/lang/CharSequence;
+HSPLandroid/preference/Preference;->getTitleRes()I
+HSPLandroid/preference/Preference;->getView(Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
+HSPLandroid/preference/Preference;->getWidgetLayoutResource()I
+HSPLandroid/preference/Preference;->hasKey()Z
+HSPLandroid/preference/Preference;->isEnabled()Z
+HSPLandroid/preference/Preference;->isPersistent()Z
+HSPLandroid/preference/Preference;->isRecycleEnabled()Z
+HSPLandroid/preference/Preference;->isSelectable()Z
+HSPLandroid/preference/Preference;->notifyChanged()V
+HSPLandroid/preference/Preference;->notifyHierarchyChanged()V
+HSPLandroid/preference/Preference;->onAttachedToActivity()V
+HSPLandroid/preference/Preference;->onAttachedToHierarchy(Landroid/preference/PreferenceManager;)V
+HSPLandroid/preference/Preference;->onBindView(Landroid/view/View;)V
+HSPLandroid/preference/Preference;->onCreateView(Landroid/view/ViewGroup;)Landroid/view/View;
+HSPLandroid/preference/Preference;->onParentChanged(Landroid/preference/Preference;Z)V
+HSPLandroid/preference/Preference;->registerDependency()V
+HSPLandroid/preference/Preference;->setFragment(Ljava/lang/String;)V
+HSPLandroid/preference/Preference;->setIntent(Landroid/content/Intent;)V
+HSPLandroid/preference/Preference;->setKey(Ljava/lang/String;)V
+HSPLandroid/preference/Preference;->setOnPreferenceClickListener(Landroid/preference/Preference$OnPreferenceClickListener;)V
+HSPLandroid/preference/Preference;->setOrder(I)V
+HSPLandroid/preference/Preference;->setTitle(I)V
+HSPLandroid/preference/Preference;->setTitle(Ljava/lang/CharSequence;)V
+HSPLandroid/preference/Preference;->shouldDisableDependents()Z
+HSPLandroid/preference/Preference;->shouldPersist()Z
+HSPLandroid/preference/PreferenceCategory;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroid/preference/PreferenceCategory;->onPrepareAddPreference(Landroid/preference/Preference;)Z
+HSPLandroid/preference/PreferenceCategory;->shouldDisableDependents()Z
+HSPLandroid/preference/PreferenceFragment$2;->run()V
+HSPLandroid/preference/PreferenceFragment;-><init>()V
+HSPLandroid/preference/PreferenceFragment;->bindPreferences()V
+HSPLandroid/preference/PreferenceFragment;->ensureList()V
+HSPLandroid/preference/PreferenceFragment;->getListView()Landroid/widget/ListView;
+HSPLandroid/preference/PreferenceFragment;->getPreferenceManager()Landroid/preference/PreferenceManager;
+HSPLandroid/preference/PreferenceFragment;->getPreferenceScreen()Landroid/preference/PreferenceScreen;
+HSPLandroid/preference/PreferenceFragment;->onActivityCreated(Landroid/os/Bundle;)V
+HSPLandroid/preference/PreferenceFragment;->onBindPreferences()V
+HSPLandroid/preference/PreferenceFragment;->onCreate(Landroid/os/Bundle;)V
+HSPLandroid/preference/PreferenceFragment;->onCreateView(Landroid/view/LayoutInflater;Landroid/view/ViewGroup;Landroid/os/Bundle;)Landroid/view/View;
+HSPLandroid/preference/PreferenceFragment;->onStart()V
+HSPLandroid/preference/PreferenceFragment;->onUnbindPreferences()V
+HSPLandroid/preference/PreferenceFragment;->onViewCreated(Landroid/view/View;Landroid/os/Bundle;)V
+HSPLandroid/preference/PreferenceFragment;->setPreferenceScreen(Landroid/preference/PreferenceScreen;)V
+HSPLandroid/preference/PreferenceGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HSPLandroid/preference/PreferenceGroup;->addItemFromInflater(Landroid/preference/Preference;)V
+HSPLandroid/preference/PreferenceGroup;->addItemFromInflater(Ljava/lang/Object;)V
+HSPLandroid/preference/PreferenceGroup;->addPreference(Landroid/preference/Preference;)Z
+HSPLandroid/preference/PreferenceGroup;->findPreference(Ljava/lang/CharSequence;)Landroid/preference/Preference;
+HSPLandroid/preference/PreferenceGroup;->getPreference(I)Landroid/preference/Preference;
+HSPLandroid/preference/PreferenceGroup;->getPreferenceCount()I
+HSPLandroid/preference/PreferenceGroup;->onPrepareAddPreference(Landroid/preference/Preference;)Z
+HSPLandroid/preference/PreferenceGroup;->setOrderingAsAdded(Z)V
+HSPLandroid/preference/PreferenceGroup;->sortPreferences()V
+HSPLandroid/preference/PreferenceGroupAdapter$PreferenceLayout;->compareTo(Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;)I
+HSPLandroid/preference/PreferenceGroupAdapter$PreferenceLayout;->compareTo(Ljava/lang/Object;)I
+HSPLandroid/preference/PreferenceGroupAdapter;-><init>(Landroid/preference/PreferenceGroup;)V
+HSPLandroid/preference/PreferenceGroupAdapter;->areAllItemsEnabled()Z
+HSPLandroid/preference/PreferenceGroupAdapter;->createPreferenceLayout(Landroid/preference/Preference;Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;)Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;
+HSPLandroid/preference/PreferenceGroupAdapter;->flattenPreferenceGroup(Ljava/util/List;Landroid/preference/PreferenceGroup;)V
+HSPLandroid/preference/PreferenceGroupAdapter;->getCount()I
+HSPLandroid/preference/PreferenceGroupAdapter;->getItem(I)Landroid/preference/Preference;
+HSPLandroid/preference/PreferenceGroupAdapter;->getItemId(I)J
+HSPLandroid/preference/PreferenceGroupAdapter;->getItemViewType(I)I
+HSPLandroid/preference/PreferenceGroupAdapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
+HSPLandroid/preference/PreferenceGroupAdapter;->getViewTypeCount()I
+HSPLandroid/preference/PreferenceGroupAdapter;->hasStableIds()Z
+HSPLandroid/preference/PreferenceGroupAdapter;->isEnabled(I)Z
+HSPLandroid/preference/PreferenceGroupAdapter;->syncMyPreferences()V
+HSPLandroid/preference/PreferenceInflater;->onCreateCustomFromTag(Lorg/xmlpull/v1/XmlPullParser;Landroid/preference/Preference;Landroid/util/AttributeSet;)Z
+HSPLandroid/preference/PreferenceInflater;->onCreateCustomFromTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/Object;Landroid/util/AttributeSet;)Z
+HSPLandroid/preference/PreferenceInflater;->onMergeRoots(Landroid/preference/GenericInflater$Parent;ZLandroid/preference/GenericInflater$Parent;)Landroid/preference/GenericInflater$Parent;
+HSPLandroid/preference/PreferenceInflater;->onMergeRoots(Landroid/preference/PreferenceGroup;ZLandroid/preference/PreferenceGroup;)Landroid/preference/PreferenceGroup;
+HSPLandroid/preference/PreferenceManager;->createPreferenceScreen(Landroid/content/Context;)Landroid/preference/PreferenceScreen;
 HSPLandroid/preference/PreferenceManager;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences;
-HSPLandroid/preference/PreferenceManager;->getDefaultSharedPreferencesName(Landroid/content/Context;)Ljava/lang/String;
+HSPLandroid/preference/PreferenceManager;->getNextId()J
+HSPLandroid/preference/PreferenceManager;->getPreferenceDataStore()Landroid/preference/PreferenceDataStore;
+HSPLandroid/preference/PreferenceManager;->getPreferenceScreen()Landroid/preference/PreferenceScreen;
+HSPLandroid/preference/PreferenceManager;->getSharedPreferences()Landroid/content/SharedPreferences;
 HSPLandroid/preference/PreferenceManager;->setDefaultValues(Landroid/content/Context;IZ)V
 HSPLandroid/preference/PreferenceManager;->setDefaultValues(Landroid/content/Context;Ljava/lang/String;IIZ)V
+HSPLandroid/preference/PreferenceManager;->setFragment(Landroid/preference/PreferenceFragment;)V
+HSPLandroid/preference/PreferenceManager;->setNoCommit(Z)V
+HSPLandroid/preference/PreferenceManager;->setOnPreferenceTreeClickListener(Landroid/preference/PreferenceManager$OnPreferenceTreeClickListener;)V
+HSPLandroid/preference/PreferenceManager;->setPreferences(Landroid/preference/PreferenceScreen;)Z
+HSPLandroid/preference/PreferenceScreen;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroid/preference/SwitchPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroid/preference/SwitchPreference;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HSPLandroid/preference/SwitchPreference;->setSwitchTextOff(Ljava/lang/CharSequence;)V
+HSPLandroid/preference/SwitchPreference;->setSwitchTextOn(Ljava/lang/CharSequence;)V
+HSPLandroid/preference/TwoStatePreference;->isChecked()Z
+HSPLandroid/preference/TwoStatePreference;->setDisableDependentsState(Z)V
+HSPLandroid/preference/TwoStatePreference;->setSummaryOff(Ljava/lang/CharSequence;)V
+HSPLandroid/preference/TwoStatePreference;->setSummaryOn(Ljava/lang/CharSequence;)V
 HSPLandroid/print/IPrintManager$Stub;-><init>()V
-HSPLandroid/print/IPrintManager;->addPrintJobStateChangeListener(Landroid/print/IPrintJobStateChangeListener;II)V
-HSPLandroid/print/IPrintManager;->addPrintServiceRecommendationsChangeListener(Landroid/printservice/recommendation/IRecommendationsChangeListener;I)V
-HSPLandroid/print/IPrintManager;->addPrintServicesChangeListener(Landroid/print/IPrintServicesChangeListener;I)V
-HSPLandroid/print/IPrintManager;->cancelPrintJob(Landroid/print/PrintJobId;II)V
-HSPLandroid/print/IPrintManager;->createPrinterDiscoverySession(Landroid/print/IPrinterDiscoveryObserver;I)V
-HSPLandroid/print/IPrintManager;->destroyPrinterDiscoverySession(Landroid/print/IPrinterDiscoveryObserver;I)V
-HSPLandroid/print/IPrintManager;->getCustomPrinterIcon(Landroid/print/PrinterId;I)Landroid/graphics/drawable/Icon;
-HSPLandroid/print/IPrintManager;->getPrintJobInfo(Landroid/print/PrintJobId;II)Landroid/print/PrintJobInfo;
-HSPLandroid/print/IPrintManager;->getPrintJobInfos(II)Ljava/util/List;
-HSPLandroid/print/IPrintManager;->getPrintServiceRecommendations(I)Ljava/util/List;
-HSPLandroid/print/IPrintManager;->getPrintServices(II)Ljava/util/List;
-HSPLandroid/print/IPrintManager;->print(Ljava/lang/String;Landroid/print/IPrintDocumentAdapter;Landroid/print/PrintAttributes;Ljava/lang/String;II)Landroid/os/Bundle;
-HSPLandroid/print/IPrintManager;->removePrintJobStateChangeListener(Landroid/print/IPrintJobStateChangeListener;I)V
-HSPLandroid/print/IPrintManager;->removePrintServiceRecommendationsChangeListener(Landroid/printservice/recommendation/IRecommendationsChangeListener;I)V
-HSPLandroid/print/IPrintManager;->removePrintServicesChangeListener(Landroid/print/IPrintServicesChangeListener;I)V
-HSPLandroid/print/IPrintManager;->restartPrintJob(Landroid/print/PrintJobId;II)V
-HSPLandroid/print/IPrintManager;->setPrintServiceEnabled(Landroid/content/ComponentName;ZI)V
-HSPLandroid/print/IPrintManager;->startPrinterDiscovery(Landroid/print/IPrinterDiscoveryObserver;Ljava/util/List;I)V
-HSPLandroid/print/IPrintManager;->startPrinterStateTracking(Landroid/print/PrinterId;I)V
-HSPLandroid/print/IPrintManager;->stopPrinterDiscovery(Landroid/print/IPrinterDiscoveryObserver;I)V
-HSPLandroid/print/IPrintManager;->stopPrinterStateTracking(Landroid/print/PrinterId;I)V
-HSPLandroid/print/IPrintManager;->validatePrinters(Ljava/util/List;I)V
+HSPLandroid/print/IPrintManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/print/IPrintManager;
+HSPLandroid/print/PrintManager;-><init>(Landroid/content/Context;Landroid/print/IPrintManager;II)V
+HSPLandroid/print/PrintManager;->getGlobalPrintManagerForUser(I)Landroid/print/PrintManager;
 HSPLandroid/provider/-$$Lambda$FontsContract$3FDNQd-WsglsyDhif-aHVbzkfrA;-><init>()V
-HSPLandroid/provider/BlockedNumberContract$SystemContract$BlockSuppressionStatus;-><init>(ZJ)V
-HSPLandroid/provider/BlockedNumberContract;->canCurrentUserBlockNumbers(Landroid/content/Context;)Z
-HSPLandroid/provider/CalendarContract$CalendarEntity;->newEntityIterator(Landroid/database/Cursor;)Landroid/content/EntityIterator;
-HSPLandroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;->getEntityAndIncrementCursor(Landroid/database/Cursor;)Landroid/content/Entity;
-HSPLandroid/provider/CalendarContract$EventsEntity;->newEntityIterator(Landroid/database/Cursor;Landroid/content/ContentProviderClient;)Landroid/content/EntityIterator;
-HSPLandroid/provider/CallLog$Calls;->shouldHaveSharedCallLogEntries(Landroid/content/Context;Landroid/os/UserManager;I)Z
+HSPLandroid/provider/-$$Lambda$FontsContract$rqfIZKvP1frnI9vP1hVA8jQN_RE;->run()V
+HSPLandroid/provider/CalendarContract$CalendarAlerts;->rescheduleMissedAlarms(Landroid/content/ContentResolver;Landroid/content/Context;Landroid/app/AlarmManager;)V
+HSPLandroid/provider/CallLog$Calls;->getLastOutgoingCall(Landroid/content/Context;)Ljava/lang/String;
 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/ContactsContract$CommonDataKinds$Event;->getTypeResource(Ljava/lang/Integer;)I
+HSPLandroid/provider/ContactsContract$CommonDataKinds$Im;->getProtocolLabelResource(I)I
 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$CommonDataKinds$Relation;->getTypeLabelResource(I)I
+HSPLandroid/provider/ContactsContract$CommonDataKinds$StructuredPostal;->getTypeLabelResource(I)I
 HSPLandroid/provider/ContactsContract$Contacts;->getLookupUri(JLjava/lang/String;)Landroid/net/Uri;
 HSPLandroid/provider/ContactsContract$Contacts;->isEnterpriseContactId(J)Z
-HSPLandroid/provider/ContactsContract$Contacts;->lookupContact(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/net/Uri;
-HSPLandroid/provider/ContactsContract$Contacts;->openContactPhotoInputStream(Landroid/content/ContentResolver;Landroid/net/Uri;)Ljava/io/InputStream;
 HSPLandroid/provider/ContactsContract$Contacts;->openContactPhotoInputStream(Landroid/content/ContentResolver;Landroid/net/Uri;Z)Ljava/io/InputStream;
+HSPLandroid/provider/ContactsContract$Directory;->isEnterpriseDirectoryId(J)Z
 HSPLandroid/provider/ContactsContract$Directory;->isRemoteDirectoryId(J)Z
-HSPLandroid/provider/ContactsContract$RawContacts;->getContactLookupUri(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/net/Uri;
-HSPLandroid/provider/DocumentsContract;->buildRootsUri(Ljava/lang/String;)Landroid/net/Uri;
+HSPLandroid/provider/DeviceConfig;->addOnPropertyChangedListener(Ljava/lang/String;Ljava/util/concurrent/Executor;Landroid/provider/DeviceConfig$OnPropertyChangedListener;)V
+HSPLandroid/provider/DeviceConfig;->getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/provider/DeviceConfig;->incrementNamespace(Ljava/lang/String;)V
 HSPLandroid/provider/DocumentsProvider;-><init>()V
 HSPLandroid/provider/DocumentsProvider;->attachInfo(Landroid/content/Context;Landroid/content/pm/ProviderInfo;)V
-HSPLandroid/provider/DocumentsProvider;->openDocument(Ljava/lang/String;Ljava/lang/String;Landroid/os/CancellationSignal;)Landroid/os/ParcelFileDescriptor;
-HSPLandroid/provider/DocumentsProvider;->queryChildDocuments(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
-HSPLandroid/provider/DocumentsProvider;->queryDocument(Ljava/lang/String;[Ljava/lang/String;)Landroid/database/Cursor;
-HSPLandroid/provider/DocumentsProvider;->queryRoots([Ljava/lang/String;)Landroid/database/Cursor;
 HSPLandroid/provider/DocumentsProvider;->registerAuthority(Ljava/lang/String;)V
 HSPLandroid/provider/Downloads$Impl;->isStatusCompleted(I)Z
+HSPLandroid/provider/FontRequest;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)V
 HSPLandroid/provider/FontsContract$1;-><init>()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;
+HSPLandroid/provider/FontsContract$FontInfo;->getResultCode()I
+HSPLandroid/provider/FontsContract$FontInfo;->getTtcIndex()I
+HSPLandroid/provider/FontsContract$FontInfo;->getUri()Landroid/net/Uri;
+HSPLandroid/provider/FontsContract$FontInfo;->getWeight()I
+HSPLandroid/provider/FontsContract$FontInfo;->isItalic()Z
+HSPLandroid/provider/FontsContract;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+HSPLandroid/provider/FontsContract;->buildTypeface(Landroid/content/Context;Landroid/os/CancellationSignal;[Landroid/provider/FontsContract$FontInfo;)Landroid/graphics/Typeface;
+HSPLandroid/provider/FontsContract;->fetchFonts(Landroid/content/Context;Landroid/os/CancellationSignal;Landroid/provider/FontRequest;)Landroid/provider/FontsContract$FontFamilyResult;
+HSPLandroid/provider/FontsContract;->getFontFromProvider(Landroid/content/Context;Landroid/provider/FontRequest;Ljava/lang/String;Landroid/os/CancellationSignal;)[Landroid/provider/FontsContract$FontInfo;
+HSPLandroid/provider/FontsContract;->getFontSync(Landroid/provider/FontRequest;)Landroid/graphics/Typeface;
+HSPLandroid/provider/FontsContract;->getProvider(Landroid/content/pm/PackageManager;Landroid/provider/FontRequest;)Landroid/content/pm/ProviderInfo;
+HSPLandroid/provider/FontsContract;->lambda$getFontSync$0(Landroid/provider/FontRequest;Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicReference;Ljava/util/concurrent/locks/Lock;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/locks/Condition;)V
+HSPLandroid/provider/FontsContract;->prepareFontData(Landroid/content/Context;[Landroid/provider/FontsContract$FontInfo;Landroid/os/CancellationSignal;)Ljava/util/Map;
 HSPLandroid/provider/FontsContract;->setApplicationContextForResources(Landroid/content/Context;)V
 HSPLandroid/provider/MediaStore$Audio$Albums;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
 HSPLandroid/provider/MediaStore$Audio$Media;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
 HSPLandroid/provider/MediaStore$Audio$Playlists;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
+HSPLandroid/provider/MediaStore$Audio;->keyFor(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/provider/MediaStore$Downloads;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
 HSPLandroid/provider/MediaStore$Files;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
-HSPLandroid/provider/MediaStore$Images$Media;->getBitmap(Landroid/content/ContentResolver;Landroid/net/Uri;)Landroid/graphics/Bitmap;
 HSPLandroid/provider/MediaStore$Images$Media;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
-HSPLandroid/provider/MediaStore$Images$Thumbnails;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
 HSPLandroid/provider/MediaStore$Video$Media;->getContentUri(Ljava/lang/String;)Landroid/net/Uri;
+HSPLandroid/provider/MediaStore;->addCanoncialFile(Ljava/util/List;Ljava/io/File;)V
+HSPLandroid/provider/MediaStore;->checkArgumentVolumeName(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/provider/MediaStore;->getMediaScannerUri()Landroid/net/Uri;
+HSPLandroid/provider/MediaStore;->getVolumeName(Landroid/net/Uri;)Ljava/lang/String;
+HSPLandroid/provider/MediaStore;->getVolumeName(Ljava/io/File;)Ljava/lang/String;
+HSPLandroid/provider/MediaStore;->getVolumePath(Ljava/lang/String;)Ljava/io/File;
+HSPLandroid/provider/MediaStore;->getVolumeScanPaths(Ljava/lang/String;)Ljava/util/Collection;
 HSPLandroid/provider/SearchIndexableData;-><init>(Landroid/content/Context;)V
 HSPLandroid/provider/SearchIndexableResource;-><init>(IILjava/lang/String;I)V
 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/SearchIndexablesProvider;->queryNonIndexableKeys([Ljava/lang/String;)Landroid/database/Cursor;
-HSPLandroid/provider/SearchIndexablesProvider;->queryRawData([Ljava/lang/String;)Landroid/database/Cursor;
-HSPLandroid/provider/SearchIndexablesProvider;->queryXmlResources([Ljava/lang/String;)Landroid/database/Cursor;
-HSPLandroid/provider/SearchRecentSuggestions;-><init>(Landroid/content/Context;Ljava/lang/String;I)V
+HSPLandroid/provider/SearchIndexablesProvider;->query(Landroid/net/Uri;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
 HSPLandroid/provider/Settings$ContentProviderHolder;-><init>(Landroid/net/Uri;)V
 HSPLandroid/provider/Settings$ContentProviderHolder;->getProvider(Landroid/content/ContentResolver;)Landroid/content/IContentProvider;
 HSPLandroid/provider/Settings$GenerationTracker;->destroy()V
@@ -29221,8 +25157,6 @@
 HSPLandroid/provider/Settings$Global$1;-><init>()V
 HSPLandroid/provider/Settings$Global$2;-><init>()V
 HSPLandroid/provider/Settings$Global$3;-><init>()V
-HSPLandroid/provider/Settings$Global;->getBluetoothA2dpSinkPriorityKey(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/provider/Settings$Global;->getBluetoothHeadsetPriorityKey(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/provider/Settings$Global;->getFloat(Landroid/content/ContentResolver;Ljava/lang/String;F)F
 HSPLandroid/provider/Settings$Global;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I
 HSPLandroid/provider/Settings$Global;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
@@ -29232,7 +25166,9 @@
 HSPLandroid/provider/Settings$Global;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
 HSPLandroid/provider/Settings$Global;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
 HSPLandroid/provider/Settings$Global;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
+HSPLandroid/provider/Settings$Global;->putLong(Landroid/content/ContentResolver;Ljava/lang/String;J)Z
 HSPLandroid/provider/Settings$Global;->putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z
+HSPLandroid/provider/Settings$Global;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z
 HSPLandroid/provider/Settings$Global;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZI)Z
 HSPLandroid/provider/Settings$NameValueCache;-><init>(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Landroid/provider/Settings$ContentProviderHolder;)V
 HSPLandroid/provider/Settings$NameValueCache;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
@@ -29248,14 +25184,16 @@
 HSPLandroid/provider/Settings$Secure;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
 HSPLandroid/provider/Settings$Secure;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)I
 HSPLandroid/provider/Settings$Secure;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
-HSPLandroid/provider/Settings$Secure;->getLocationModeForUser(Landroid/content/ContentResolver;I)I
 HSPLandroid/provider/Settings$Secure;->getLong(Landroid/content/ContentResolver;Ljava/lang/String;)J
+HSPLandroid/provider/Settings$Secure;->getLong(Landroid/content/ContentResolver;Ljava/lang/String;J)J
 HSPLandroid/provider/Settings$Secure;->getLongForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)J
 HSPLandroid/provider/Settings$Secure;->getLongForUser(Landroid/content/ContentResolver;Ljava/lang/String;JI)J
 HSPLandroid/provider/Settings$Secure;->getMovedToGlobalSettings(Ljava/util/Set;)V
 HSPLandroid/provider/Settings$Secure;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/provider/Settings$Secure;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
 HSPLandroid/provider/Settings$Secure;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
+HSPLandroid/provider/Settings$Secure;->isLocationProviderEnabled(Landroid/content/ContentResolver;Ljava/lang/String;)Z
+HSPLandroid/provider/Settings$Secure;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
 HSPLandroid/provider/Settings$Secure;->putIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)Z
 HSPLandroid/provider/Settings$Secure;->putString(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;)Z
 HSPLandroid/provider/Settings$Secure;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z
@@ -29274,7 +25212,6 @@
 HSPLandroid/provider/Settings$System;->getFloat(Landroid/content/ContentResolver;Ljava/lang/String;)F
 HSPLandroid/provider/Settings$System;->getFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;FI)F
 HSPLandroid/provider/Settings$System;->getFloatForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)F
-HSPLandroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;)I
 HSPLandroid/provider/Settings$System;->getInt(Landroid/content/ContentResolver;Ljava/lang/String;I)I
 HSPLandroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)I
 HSPLandroid/provider/Settings$System;->getIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
@@ -29283,9 +25220,9 @@
 HSPLandroid/provider/Settings$System;->getString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/provider/Settings$System;->getStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;I)Ljava/lang/String;
 HSPLandroid/provider/Settings$System;->getUriFor(Ljava/lang/String;)Landroid/net/Uri;
+HSPLandroid/provider/Settings$System;->putInt(Landroid/content/ContentResolver;Ljava/lang/String;I)Z
 HSPLandroid/provider/Settings$System;->putIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)Z
 HSPLandroid/provider/Settings$System;->putStringForUser(Landroid/content/ContentResolver;Ljava/lang/String;Ljava/lang/String;I)Z
-HSPLandroid/provider/Settings;->canDrawOverlays(Landroid/content/Context;)Z
 HSPLandroid/provider/Settings;->isCallingPackageAllowedToPerformAppOpsProtectedOperation(Landroid/content/Context;ILjava/lang/String;ZI[Ljava/lang/String;Z)Z
 HSPLandroid/provider/Settings;->isInSystemServer()Z
 HSPLandroid/provider/Settings;->setInSystemServer()V
@@ -29301,99 +25238,47 @@
 HSPLandroid/provider/SettingsValidators$9;-><init>()V
 HSPLandroid/provider/SettingsValidators$ComponentNameListValidator;-><init>(Ljava/lang/String;)V
 HSPLandroid/provider/SettingsValidators$DiscreteValueValidator;-><init>([Ljava/lang/String;)V
-HSPLandroid/provider/SettingsValidators$DiscreteValueValidator;->validate(Ljava/lang/String;)Z
 HSPLandroid/provider/SettingsValidators$InclusiveFloatRangeValidator;-><init>(FF)V
 HSPLandroid/provider/SettingsValidators$InclusiveIntegerRangeValidator;-><init>(II)V
-HSPLandroid/provider/SettingsValidators$InclusiveIntegerRangeValidator;->validate(Ljava/lang/String;)Z
 HSPLandroid/provider/SettingsValidators$PackageNameListValidator;-><init>(Ljava/lang/String;)V
-HSPLandroid/provider/SyncStateContract$Helpers;->getWithUri(Landroid/content/ContentProviderClient;Landroid/net/Uri;Landroid/accounts/Account;)Landroid/util/Pair;
-HSPLandroid/provider/SyncStateContract$Helpers;->newUpdateOperation(Landroid/net/Uri;[B)Landroid/content/ContentProviderOperation;
-HSPLandroid/provider/SyncStateContract$Helpers;->update(Landroid/content/ContentProviderClient;Landroid/net/Uri;[B)V
+HSPLandroid/provider/Telephony$CarrierId;->getPreciseCarrierIdUriForSubscriptionId(I)Landroid/net/Uri;
+HSPLandroid/provider/Telephony$CarrierId;->getUriForSubscriptionId(I)Landroid/net/Uri;
 HSPLandroid/provider/Telephony$ServiceStateTable;->getContentValuesForServiceState(Landroid/telephony/ServiceState;)Landroid/content/ContentValues;
 HSPLandroid/provider/Telephony$ServiceStateTable;->getUriForSubscriptionId(I)Landroid/net/Uri;
 HSPLandroid/provider/Telephony$ServiceStateTable;->getUriForSubscriptionIdAndField(ILjava/lang/String;)Landroid/net/Uri;
 HSPLandroid/provider/Telephony$Sms;->getDefaultSmsPackage(Landroid/content/Context;)Ljava/lang/String;
+HSPLandroid/provider/VoicemailContract$Status;->buildSourceUri(Ljava/lang/String;)Landroid/net/Uri;
 HSPLandroid/renderscript/RenderScriptCacheDir;->setupDiskCache(Ljava/io/File;)V
-HSPLandroid/se/omapi/ISecureElementService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/se/omapi/ISecureElementService;
-HSPLandroid/se/omapi/ISecureElementService;->getReader(Ljava/lang/String;)Landroid/se/omapi/ISecureElementReader;
-HSPLandroid/se/omapi/ISecureElementService;->getReaders()[Ljava/lang/String;
-HSPLandroid/se/omapi/ISecureElementService;->isNFCEventAllowed(Ljava/lang/String;[B[Ljava/lang/String;)[Z
+HSPLandroid/rolecontrollerservice/IRoleControllerService$Stub$Proxy;->onGrantDefaultRoles(Landroid/app/role/IRoleManagerCallback;)V
+HSPLandroid/rolecontrollerservice/IRoleControllerService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/rolecontrollerservice/IRoleControllerService;
+HSPLandroid/rolecontrollerservice/IRoleControllerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/rolecontrollerservice/RoleControllerService$1;->onGrantDefaultRoles(Landroid/app/role/IRoleManagerCallback;)V
+HSPLandroid/rolecontrollerservice/RoleControllerService$RoleManagerCallbackDelegate;->onSuccess()V
+HSPLandroid/rolecontrollerservice/RoleControllerService;-><init>()V
+HSPLandroid/rolecontrollerservice/RoleControllerService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
 HSPLandroid/security/Credentials;->deleteCertificateTypesForAlias(Landroid/security/KeyStore;Ljava/lang/String;I)Z
 HSPLandroid/security/Credentials;->deleteUserKeyTypeForAlias(Landroid/security/KeyStore;Ljava/lang/String;I)Z
-HSPLandroid/security/IKeystoreService$Stub$Proxy;->abort(Landroid/os/IBinder;)I
-HSPLandroid/security/IKeystoreService$Stub$Proxy;->attestKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;Landroid/security/keymaster/KeymasterCertificateChain;)I
-HSPLandroid/security/IKeystoreService$Stub$Proxy;->begin(Landroid/os/IBinder;Ljava/lang/String;IZLandroid/security/keymaster/KeymasterArguments;[BI)Landroid/security/keymaster/OperationResult;
-HSPLandroid/security/IKeystoreService$Stub$Proxy;->del(Ljava/lang/String;I)I
-HSPLandroid/security/IKeystoreService$Stub$Proxy;->exist(Ljava/lang/String;I)I
-HSPLandroid/security/IKeystoreService$Stub$Proxy;->exportKey(Ljava/lang/String;ILandroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;I)Landroid/security/keymaster/ExportResult;
-HSPLandroid/security/IKeystoreService$Stub$Proxy;->finish(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B[B)Landroid/security/keymaster/OperationResult;
-HSPLandroid/security/IKeystoreService$Stub$Proxy;->generateKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BIILandroid/security/keymaster/KeyCharacteristics;)I
-HSPLandroid/security/IKeystoreService$Stub$Proxy;->getKeyCharacteristics(Ljava/lang/String;Landroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;ILandroid/security/keymaster/KeyCharacteristics;)I
-HSPLandroid/security/IKeystoreService$Stub$Proxy;->getmtime(Ljava/lang/String;I)J
-HSPLandroid/security/IKeystoreService$Stub$Proxy;->insert(Ljava/lang/String;[BII)I
-HSPLandroid/security/IKeystoreService$Stub$Proxy;->list(Ljava/lang/String;I)[Ljava/lang/String;
-HSPLandroid/security/IKeystoreService$Stub$Proxy;->onKeyguardVisibilityChanged(ZI)I
-HSPLandroid/security/IKeystoreService$Stub$Proxy;->update(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B)Landroid/security/keymaster/OperationResult;
-HSPLandroid/security/IKeystoreService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/security/IKeystoreService;
-HSPLandroid/security/IKeystoreService;->abort(Landroid/os/IBinder;)I
-HSPLandroid/security/IKeystoreService;->addAuthToken([B)I
-HSPLandroid/security/IKeystoreService;->addRngEntropy([BI)I
-HSPLandroid/security/IKeystoreService;->attestDeviceIds(Landroid/security/keymaster/KeymasterArguments;Landroid/security/keymaster/KeymasterCertificateChain;)I
-HSPLandroid/security/IKeystoreService;->attestKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;Landroid/security/keymaster/KeymasterCertificateChain;)I
-HSPLandroid/security/IKeystoreService;->begin(Landroid/os/IBinder;Ljava/lang/String;IZLandroid/security/keymaster/KeymasterArguments;[BI)Landroid/security/keymaster/OperationResult;
-HSPLandroid/security/IKeystoreService;->cancelConfirmationPrompt(Landroid/os/IBinder;)I
-HSPLandroid/security/IKeystoreService;->clear_uid(J)I
-HSPLandroid/security/IKeystoreService;->del(Ljava/lang/String;I)I
-HSPLandroid/security/IKeystoreService;->exist(Ljava/lang/String;I)I
-HSPLandroid/security/IKeystoreService;->exportKey(Ljava/lang/String;ILandroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;I)Landroid/security/keymaster/ExportResult;
-HSPLandroid/security/IKeystoreService;->finish(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B[B)Landroid/security/keymaster/OperationResult;
-HSPLandroid/security/IKeystoreService;->generate(Ljava/lang/String;IIIILandroid/security/KeystoreArguments;)I
-HSPLandroid/security/IKeystoreService;->generateKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BIILandroid/security/keymaster/KeyCharacteristics;)I
-HSPLandroid/security/IKeystoreService;->get(Ljava/lang/String;I)[B
-HSPLandroid/security/IKeystoreService;->getKeyCharacteristics(Ljava/lang/String;Landroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;ILandroid/security/keymaster/KeyCharacteristics;)I
-HSPLandroid/security/IKeystoreService;->getState(I)I
-HSPLandroid/security/IKeystoreService;->get_pubkey(Ljava/lang/String;)[B
-HSPLandroid/security/IKeystoreService;->getmtime(Ljava/lang/String;I)J
-HSPLandroid/security/IKeystoreService;->grant(Ljava/lang/String;I)Ljava/lang/String;
-HSPLandroid/security/IKeystoreService;->importKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;I[BIILandroid/security/keymaster/KeyCharacteristics;)I
-HSPLandroid/security/IKeystoreService;->importWrappedKey(Ljava/lang/String;[BLjava/lang/String;[BLandroid/security/keymaster/KeymasterArguments;JJLandroid/security/keymaster/KeyCharacteristics;)I
-HSPLandroid/security/IKeystoreService;->import_key(Ljava/lang/String;[BII)I
-HSPLandroid/security/IKeystoreService;->insert(Ljava/lang/String;[BII)I
-HSPLandroid/security/IKeystoreService;->isConfirmationPromptSupported()Z
-HSPLandroid/security/IKeystoreService;->isEmpty(I)I
-HSPLandroid/security/IKeystoreService;->isOperationAuthorized(Landroid/os/IBinder;)Z
-HSPLandroid/security/IKeystoreService;->is_hardware_backed(Ljava/lang/String;)I
-HSPLandroid/security/IKeystoreService;->list(Ljava/lang/String;I)[Ljava/lang/String;
-HSPLandroid/security/IKeystoreService;->lock(I)I
-HSPLandroid/security/IKeystoreService;->onDeviceOffBody()I
-HSPLandroid/security/IKeystoreService;->onKeyguardVisibilityChanged(ZI)I
-HSPLandroid/security/IKeystoreService;->onUserAdded(II)I
-HSPLandroid/security/IKeystoreService;->onUserPasswordChanged(ILjava/lang/String;)I
-HSPLandroid/security/IKeystoreService;->onUserRemoved(I)I
-HSPLandroid/security/IKeystoreService;->presentConfirmationPrompt(Landroid/os/IBinder;Ljava/lang/String;[BLjava/lang/String;I)I
-HSPLandroid/security/IKeystoreService;->reset()I
-HSPLandroid/security/IKeystoreService;->sign(Ljava/lang/String;[B)[B
-HSPLandroid/security/IKeystoreService;->ungrant(Ljava/lang/String;I)I
-HSPLandroid/security/IKeystoreService;->unlock(ILjava/lang/String;)I
-HSPLandroid/security/IKeystoreService;->update(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B)Landroid/security/keymaster/OperationResult;
-HSPLandroid/security/IKeystoreService;->verify(Ljava/lang/String;[B[B)I
-HSPLandroid/security/KeyChainAliasCallback;->alias(Ljava/lang/String;)V
+HSPLandroid/security/KeyStore$ExportKeyPromise;->onFinished(Landroid/security/keymaster/ExportResult;)V
+HSPLandroid/security/KeyStore$KeyCharacteristicsCallbackResult;->getKeyCharacteristics()Landroid/security/keymaster/KeyCharacteristics;
+HSPLandroid/security/KeyStore$KeyCharacteristicsCallbackResult;->getKeystoreResponse()Landroid/security/keystore/KeystoreResponse;
+HSPLandroid/security/KeyStore$KeyCharacteristicsPromise;->onFinished(Landroid/security/keystore/KeystoreResponse;Landroid/security/keymaster/KeyCharacteristics;)V
+HSPLandroid/security/KeyStore$KeystoreResultPromise;->onFinished(Landroid/security/keystore/KeystoreResponse;)V
+HSPLandroid/security/KeyStore$OperationPromise;->onFinished(Landroid/security/keymaster/OperationResult;)V
 HSPLandroid/security/KeyStore;->abort(Landroid/os/IBinder;)I
-HSPLandroid/security/KeyStore;->attestKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;Landroid/security/keymaster/KeymasterCertificateChain;)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;->delete(Ljava/lang/String;I)Z
+HSPLandroid/security/KeyStore;->delete2(Ljava/lang/String;I)I
 HSPLandroid/security/KeyStore;->exportKey(Ljava/lang/String;ILandroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;I)Landroid/security/keymaster/ExportResult;
 HSPLandroid/security/KeyStore;->finish(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B[B)Landroid/security/keymaster/OperationResult;
 HSPLandroid/security/KeyStore;->generateKey(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BIILandroid/security/keymaster/KeyCharacteristics;)I
+HSPLandroid/security/KeyStore;->generateKeyInternal(Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BIILandroid/security/keymaster/KeyCharacteristics;)I
 HSPLandroid/security/KeyStore;->getInstance()Landroid/security/KeyStore;
 HSPLandroid/security/KeyStore;->getKeyCharacteristics(Ljava/lang/String;Landroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;ILandroid/security/keymaster/KeyCharacteristics;)I
-HSPLandroid/security/KeyStore;->getKeyStoreException(I)Landroid/security/KeyStoreException;
 HSPLandroid/security/KeyStore;->getToken()Landroid/os/IBinder;
-HSPLandroid/security/KeyStore;->getmtime(Ljava/lang/String;I)J
 HSPLandroid/security/KeyStore;->insert(Ljava/lang/String;[BII)I
-HSPLandroid/security/KeyStore;->list(Ljava/lang/String;I)[Ljava/lang/String;
 HSPLandroid/security/KeyStore;->update(Landroid/os/IBinder;Landroid/security/keymaster/KeymasterArguments;[B)Landroid/security/keymaster/OperationResult;
 HSPLandroid/security/NetworkSecurityPolicy;-><init>()V
 HSPLandroid/security/NetworkSecurityPolicy;->getInstance()Landroid/security/NetworkSecurityPolicy;
@@ -29403,8 +25288,9 @@
 HSPLandroid/security/keymaster/ExportResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keymaster/ExportResult;
 HSPLandroid/security/keymaster/ExportResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/security/keymaster/IKeyAttestationApplicationIdProvider$Stub;-><init>()V
-HSPLandroid/security/keymaster/IKeyAttestationApplicationIdProvider;->getKeyAttestationApplicationId(I)Landroid/security/keymaster/KeyAttestationApplicationId;
 HSPLandroid/security/keymaster/KeyCharacteristics$1;-><init>()V
+HSPLandroid/security/keymaster/KeyCharacteristics$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keymaster/KeyCharacteristics;
+HSPLandroid/security/keymaster/KeyCharacteristics$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/security/keymaster/KeyCharacteristics;-><init>()V
 HSPLandroid/security/keymaster/KeyCharacteristics;->getBoolean(I)Z
 HSPLandroid/security/keymaster/KeyCharacteristics;->getDate(I)Ljava/util/Date;
@@ -29412,7 +25298,7 @@
 HSPLandroid/security/keymaster/KeyCharacteristics;->getEnums(I)Ljava/util/List;
 HSPLandroid/security/keymaster/KeyCharacteristics;->getUnsignedInt(IJ)J
 HSPLandroid/security/keymaster/KeyCharacteristics;->getUnsignedLongs(I)Ljava/util/List;
-HSPLandroid/security/keymaster/KeyCharacteristics;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/security/keymaster/KeyCharacteristics;->shallowCopyFrom(Landroid/security/keymaster/KeyCharacteristics;)V
 HSPLandroid/security/keymaster/KeymasterArgument$1;-><init>()V
 HSPLandroid/security/keymaster/KeymasterArgument$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keymaster/KeymasterArgument;
 HSPLandroid/security/keymaster/KeymasterArgument$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -29421,7 +25307,6 @@
 HSPLandroid/security/keymaster/KeymasterArguments$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keymaster/KeymasterArguments;
 HSPLandroid/security/keymaster/KeymasterArguments$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/security/keymaster/KeymasterArguments;->addBoolean(I)V
-HSPLandroid/security/keymaster/KeymasterArguments;->addBytes(I[B)V
 HSPLandroid/security/keymaster/KeymasterArguments;->addDateIfNotNull(ILjava/util/Date;)V
 HSPLandroid/security/keymaster/KeymasterArguments;->addEnum(II)V
 HSPLandroid/security/keymaster/KeymasterArguments;->addEnums(I[I)V
@@ -29438,12 +25323,8 @@
 HSPLandroid/security/keymaster/KeymasterArguments;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/security/keymaster/KeymasterBlob$1;-><init>()V
 HSPLandroid/security/keymaster/KeymasterBlob;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/security/keymaster/KeymasterBlobArgument;-><init>(I[B)V
-HSPLandroid/security/keymaster/KeymasterBlobArgument;->writeValue(Landroid/os/Parcel;)V
 HSPLandroid/security/keymaster/KeymasterBooleanArgument;-><init>(I)V
 HSPLandroid/security/keymaster/KeymasterBooleanArgument;->writeValue(Landroid/os/Parcel;)V
-HSPLandroid/security/keymaster/KeymasterCertificateChain$1;-><init>()V
-HSPLandroid/security/keymaster/KeymasterCertificateChain;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/security/keymaster/KeymasterIntArgument;-><init>(II)V
 HSPLandroid/security/keymaster/KeymasterIntArgument;->writeValue(Landroid/os/Parcel;)V
 HSPLandroid/security/keymaster/KeymasterLongArgument;-><init>(IJ)V
@@ -29475,7 +25356,7 @@
 HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi$EC;-><init>()V
 HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi$RSA;-><init>()V
 HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->addAlgorithmSpecificParameters(Landroid/security/keymaster/KeymasterArguments;)V
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->checkValidKeySize(II)V
+HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->checkValidKeySize(IIZ)V
 HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->constructKeyGenerationArguments()Landroid/security/keymaster/KeymasterArguments;
 HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->createCertificateChain(Ljava/lang/String;Ljava/security/KeyPair;)Ljava/lang/Iterable;
 HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->generateKeyPair()Ljava/security/KeyPair;
@@ -29484,7 +25365,6 @@
 HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->generateSelfSignedCertificateBytes(Ljava/security/KeyPair;)[B
 HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->generateSelfSignedCertificateWithFakeSignature(Ljava/security/PublicKey;)Ljava/security/cert/X509Certificate;
 HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->generateSelfSignedCertificateWithValidSignature(Ljava/security/PrivateKey;Ljava/security/PublicKey;Ljava/lang/String;)Ljava/security/cert/X509Certificate;
-HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->getAttestationChain(Ljava/lang/String;Ljava/security/KeyPair;Landroid/security/keymaster/KeymasterArguments;)Ljava/lang/Iterable;
 HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->getAvailableKeymasterSignatureDigests([Ljava/lang/String;[Ljava/lang/String;)Ljava/util/Set;
 HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->getCertificateSignatureAlgorithm(IILandroid/security/keystore/KeyGenParameterSpec;)Ljava/lang/String;
 HSPLandroid/security/keystore/AndroidKeyStoreKeyPairGeneratorSpi;->getDefaultKeySize(I)I
@@ -29504,28 +25384,40 @@
 HSPLandroid/security/keystore/AndroidKeyStoreRSAPublicKey;-><init>(Ljava/lang/String;ILjava/security/interfaces/RSAPublicKey;)V
 HSPLandroid/security/keystore/AndroidKeyStoreRSAPublicKey;->getModulus()Ljava/math/BigInteger;
 HSPLandroid/security/keystore/AndroidKeyStoreSecretKeyFactorySpi;->getKeyInfo(Landroid/security/KeyStore;Ljava/lang/String;Ljava/lang/String;I)Landroid/security/keystore/KeyInfo;
-HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->addAlgorithmSpecificParametersToBegin(Landroid/security/keymaster/KeymasterArguments;)V
 HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->createMainDataStreamer(Landroid/security/KeyStore;Landroid/os/IBinder;)Landroid/security/keystore/KeyStoreCryptoOperationStreamer;
 HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->engineInitSign(Ljava/security/PrivateKey;)V
 HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->engineInitSign(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
 HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->engineSign()[B
 HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->engineUpdate([BII)V
 HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->ensureKeystoreOperationInitialized()V
-HSPLandroid/security/keystore/AndroidKeyStoreSignatureSpiBase;->getAdditionalEntropyAmountForSign()I
 HSPLandroid/security/keystore/AndroidKeyStoreSpi;-><init>()V
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineAliases()Ljava/util/Enumeration;
 HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineContainsAlias(Ljava/lang/String;)Z
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineDeleteEntry(Ljava/lang/String;)V
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineGetCreationDate(Ljava/lang/String;)Ljava/util/Date;
 HSPLandroid/security/keystore/AndroidKeyStoreSpi;->engineLoad(Ljava/security/KeyStore$LoadStoreParameter;)V
-HSPLandroid/security/keystore/AndroidKeyStoreSpi;->getUniqueAliases()Ljava/util/Set;
 HSPLandroid/security/keystore/ArrayUtils;->cloneIfNotEmpty([Ljava/lang/String;)[Ljava/lang/String;
+HSPLandroid/security/keystore/IKeystoreExportKeyCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/security/keystore/IKeystoreExportKeyCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/security/keystore/IKeystoreKeyCharacteristicsCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/security/keystore/IKeystoreKeyCharacteristicsCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/security/keystore/IKeystoreOperationResultCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/security/keystore/IKeystoreOperationResultCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/security/keystore/IKeystoreResponseCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/security/keystore/IKeystoreResponseCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->abort(Landroid/security/keystore/IKeystoreResponseCallback;Landroid/os/IBinder;)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;->del(Ljava/lang/String;I)I
+HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->exist(Ljava/lang/String;I)I
+HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->exportKey(Landroid/security/keystore/IKeystoreExportKeyCallback;Ljava/lang/String;ILandroid/security/keymaster/KeymasterBlob;Landroid/security/keymaster/KeymasterBlob;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;->generateKey(Landroid/security/keystore/IKeystoreKeyCharacteristicsCallback;Ljava/lang/String;Landroid/security/keymaster/KeymasterArguments;[BII)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;->insert(Ljava/lang/String;[BII)I
+HSPLandroid/security/keystore/IKeystoreService$Stub$Proxy;->onKeyguardVisibilityChanged(ZI)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/KeyGenParameterSpec$Builder;-><init>(Ljava/lang/String;I)V
 HSPLandroid/security/keystore/KeyGenParameterSpec$Builder;->build()Landroid/security/keystore/KeyGenParameterSpec;
-HSPLandroid/security/keystore/KeyGenParameterSpec$Builder;->setAlgorithmParameterSpec(Ljava/security/spec/AlgorithmParameterSpec;)Landroid/security/keystore/KeyGenParameterSpec$Builder;
-HSPLandroid/security/keystore/KeyGenParameterSpec$Builder;->setAttestationChallenge([B)Landroid/security/keystore/KeyGenParameterSpec$Builder;
 HSPLandroid/security/keystore/KeyGenParameterSpec$Builder;->setDigests([Ljava/lang/String;)Landroid/security/keystore/KeyGenParameterSpec$Builder;
-HSPLandroid/security/keystore/KeyGenParameterSpec$Builder;->setUniqueIdIncluded(Z)Landroid/security/keystore/KeyGenParameterSpec$Builder;
 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;->getDigests()[Ljava/lang/String;
 HSPLandroid/security/keystore/KeyGenParameterSpec;->isUnlockedDeviceRequired()Z
@@ -29545,28 +25437,16 @@
 HSPLandroid/security/keystore/KeyProperties$Purpose;->fromKeymaster(I)I
 HSPLandroid/security/keystore/KeyProperties$Purpose;->toKeymaster(I)I
 HSPLandroid/security/keystore/KeyProperties;->getSetBitCount(I)I
-HSPLandroid/security/keystore/KeyStoreCryptoOperation;->getOperationHandle()J
 HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$MainDataStream;->finish([B[B)Landroid/security/keymaster/OperationResult;
 HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$MainDataStream;->update([B)Landroid/security/keymaster/OperationResult;
-HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$Stream;->finish([B[B)Landroid/security/keymaster/OperationResult;
-HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$Stream;->update([B)Landroid/security/keymaster/OperationResult;
 HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->doFinal([BII[B[B)[B
 HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->flush()[B
 HSPLandroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer;->update([BII)[B
-HSPLandroid/security/keystore/KeyStoreCryptoOperationStreamer;->doFinal([BII[B[B)[B
-HSPLandroid/security/keystore/KeyStoreCryptoOperationStreamer;->getConsumedInputSizeBytes()J
-HSPLandroid/security/keystore/KeyStoreCryptoOperationStreamer;->getProducedOutputSizeBytes()J
-HSPLandroid/security/keystore/KeyStoreCryptoOperationStreamer;->update([BII)[B
 HSPLandroid/security/keystore/KeymasterUtils;->addUserAuthArgs(Landroid/security/keymaster/KeymasterArguments;Landroid/security/keystore/UserAuthArgs;)V
 HSPLandroid/security/keystore/KeymasterUtils;->getDigestOutputSizeBits(I)I
-HSPLandroid/security/keystore/UserAuthArgs;->getBoundToSpecificSecureUserId()J
-HSPLandroid/security/keystore/UserAuthArgs;->getUserAuthenticationValidityDurationSeconds()I
-HSPLandroid/security/keystore/UserAuthArgs;->isInvalidatedByBiometricEnrollment()Z
-HSPLandroid/security/keystore/UserAuthArgs;->isUnlockedDeviceRequired()Z
-HSPLandroid/security/keystore/UserAuthArgs;->isUserAuthenticationRequired()Z
-HSPLandroid/security/keystore/UserAuthArgs;->isUserAuthenticationValidWhileOnBody()Z
-HSPLandroid/security/keystore/UserAuthArgs;->isUserConfirmationRequired()Z
-HSPLandroid/security/keystore/UserAuthArgs;->isUserPresenceRequired()Z
+HSPLandroid/security/keystore/KeystoreResponse$1;-><init>()V
+HSPLandroid/security/keystore/KeystoreResponse$1;->createFromParcel(Landroid/os/Parcel;)Landroid/security/keystore/KeystoreResponse;
+HSPLandroid/security/keystore/KeystoreResponse$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/security/keystore/Utils;->cloneIfNotNull(Ljava/util/Date;)Ljava/util/Date;
 HSPLandroid/security/keystore/Utils;->cloneIfNotNull([B)[B
 HSPLandroid/security/net/config/ApplicationConfig;->ensureInitialized()V
@@ -29574,7 +25454,6 @@
 HSPLandroid/security/net/config/ApplicationConfig;->getDefaultInstance()Landroid/security/net/config/ApplicationConfig;
 HSPLandroid/security/net/config/ApplicationConfig;->isCleartextTrafficPermitted()Z
 HSPLandroid/security/net/config/ApplicationConfig;->setDefaultInstance(Landroid/security/net/config/ApplicationConfig;)V
-HSPLandroid/security/net/config/CertificatesEntryRef;->getTrustAnchors()Ljava/util/Set;
 HSPLandroid/security/net/config/ConfigNetworkSecurityPolicy;->isCertificateTransparencyVerificationRequired(Ljava/lang/String;)Z
 HSPLandroid/security/net/config/ConfigNetworkSecurityPolicy;->isCleartextTrafficPermitted()Z
 HSPLandroid/security/net/config/ConfigNetworkSecurityPolicy;->isCleartextTrafficPermitted(Ljava/lang/String;)Z
@@ -29582,13 +25461,10 @@
 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;
 HSPLandroid/security/net/config/DirectoryCertificateSource;->findCerts(Ljavax/security/auth/x500/X500Principal;Landroid/security/net/config/DirectoryCertificateSource$CertSelector;)Ljava/util/Set;
-HSPLandroid/security/net/config/DirectoryCertificateSource;->getCertificates()Ljava/util/Set;
+HSPLandroid/security/net/config/DirectoryCertificateSource;->hashName(Ljavax/security/auth/x500/X500Principal;)I
+HSPLandroid/security/net/config/DirectoryCertificateSource;->intToHexString(II)Ljava/lang/String;
 HSPLandroid/security/net/config/DirectoryCertificateSource;->readCertificate(Ljava/lang/String;)Ljava/security/cert/X509Certificate;
 HSPLandroid/security/net/config/Domain;->hashCode()I
-HSPLandroid/security/net/config/KeyStoreCertificateSource;->ensureInitialized()V
-HSPLandroid/security/net/config/KeyStoreCertificateSource;->findAllByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-HSPLandroid/security/net/config/KeyStoreCertificateSource;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
-HSPLandroid/security/net/config/KeyStoreCertificateSource;->getCertificates()Ljava/util/Set;
 HSPLandroid/security/net/config/KeyStoreConfigSource;->getDefaultConfig()Landroid/security/net/config/NetworkSecurityConfig;
 HSPLandroid/security/net/config/KeyStoreConfigSource;->getPerDomainConfigs()Ljava/util/Set;
 HSPLandroid/security/net/config/ManifestConfigSource$DefaultConfigSource;->getDefaultConfig()Landroid/security/net/config/NetworkSecurityConfig;
@@ -29596,8 +25472,6 @@
 HSPLandroid/security/net/config/ManifestConfigSource;->getConfigSource()Landroid/security/net/config/ConfigSource;
 HSPLandroid/security/net/config/ManifestConfigSource;->getDefaultConfig()Landroid/security/net/config/NetworkSecurityConfig;
 HSPLandroid/security/net/config/ManifestConfigSource;->getPerDomainConfigs()Ljava/util/Set;
-HSPLandroid/security/net/config/NetworkSecurityConfig$1;->compare(Landroid/security/net/config/CertificatesEntryRef;Landroid/security/net/config/CertificatesEntryRef;)I
-HSPLandroid/security/net/config/NetworkSecurityConfig$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->getEffectiveCertificatesEntryRefs()Ljava/util/List;
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->getEffectiveCleartextTrafficPermitted()Z
 HSPLandroid/security/net/config/NetworkSecurityConfig$Builder;->getEffectiveHstsEnforced()Z
@@ -29605,24 +25479,16 @@
 HSPLandroid/security/net/config/NetworkSecurityConfig;-><init>(ZZLandroid/security/net/config/PinSet;Ljava/util/List;)V
 HSPLandroid/security/net/config/NetworkSecurityConfig;-><init>(ZZLandroid/security/net/config/PinSet;Ljava/util/List;Landroid/security/net/config/NetworkSecurityConfig$1;)V
 HSPLandroid/security/net/config/NetworkSecurityConfig;->getDefaultBuilder(Landroid/content/pm/ApplicationInfo;)Landroid/security/net/config/NetworkSecurityConfig$Builder;
-HSPLandroid/security/net/config/NetworkSecurityConfig;->getTrustAnchors()Ljava/util/Set;
 HSPLandroid/security/net/config/NetworkSecurityConfig;->getTrustManager()Landroid/security/net/config/NetworkSecurityTrustManager;
 HSPLandroid/security/net/config/NetworkSecurityConfigProvider;-><init>()V
 HSPLandroid/security/net/config/NetworkSecurityConfigProvider;->install(Landroid/content/Context;)V
 HSPLandroid/security/net/config/NetworkSecurityTrustManager;-><init>(Landroid/security/net/config/NetworkSecurityConfig;)V
 HSPLandroid/security/net/config/NetworkSecurityTrustManager;->checkPins(Ljava/util/List;)V
-HSPLandroid/security/net/config/NetworkSecurityTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
 HSPLandroid/security/net/config/NetworkSecurityTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
 HSPLandroid/security/net/config/NetworkSecurityTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V
-HSPLandroid/security/net/config/NetworkSecurityTrustManager;->getAcceptedIssuers()[Ljava/security/cert/X509Certificate;
 HSPLandroid/security/net/config/PinSet;-><init>(Ljava/util/Set;J)V
-HSPLandroid/security/net/config/ResourceCertificateSource;->ensureInitialized()V
-HSPLandroid/security/net/config/ResourceCertificateSource;->findAllByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-HSPLandroid/security/net/config/ResourceCertificateSource;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
-HSPLandroid/security/net/config/RootTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;)V
 HSPLandroid/security/net/config/RootTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
 HSPLandroid/security/net/config/RootTrustManager;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)V
-HSPLandroid/security/net/config/RootTrustManager;->getAcceptedIssuers()[Ljava/security/cert/X509Certificate;
 HSPLandroid/security/net/config/RootTrustManagerFactorySpi;-><init>()V
 HSPLandroid/security/net/config/RootTrustManagerFactorySpi;->engineGetTrustManagers()[Ljavax/net/ssl/TrustManager;
 HSPLandroid/security/net/config/RootTrustManagerFactorySpi;->engineInit(Ljava/security/KeyStore;)V
@@ -29630,13 +25496,10 @@
 HSPLandroid/security/net/config/SystemCertificateSource;-><init>(Landroid/security/net/config/SystemCertificateSource$1;)V
 HSPLandroid/security/net/config/SystemCertificateSource;->findAllByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
 HSPLandroid/security/net/config/SystemCertificateSource;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
-HSPLandroid/security/net/config/SystemCertificateSource;->getCertificates()Ljava/util/Set;
 HSPLandroid/security/net/config/SystemCertificateSource;->isCertMarkedAsRemoved(Ljava/lang/String;)Z
+HSPLandroid/security/net/config/TrustedCertificateStoreAdapter;-><init>(Landroid/security/net/config/NetworkSecurityConfig;)V
 HSPLandroid/security/net/config/TrustedCertificateStoreAdapter;->findAllIssuers(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
 HSPLandroid/security/net/config/TrustedCertificateStoreAdapter;->getTrustAnchor(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
-HSPLandroid/security/net/config/UserCertificateSource;-><init>(Landroid/security/net/config/UserCertificateSource$1;)V
-HSPLandroid/security/net/config/UserCertificateSource;->findAllByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-HSPLandroid/security/net/config/UserCertificateSource;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Ljava/security/cert/X509Certificate;
 HSPLandroid/security/net/config/XmlConfigSource;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
 HSPLandroid/security/net/config/XmlConfigSource;-><init>(Landroid/content/Context;ILandroid/content/pm/ApplicationInfo;)V
 HSPLandroid/security/net/config/XmlConfigSource;->ensureInitialized()V
@@ -29648,78 +25511,46 @@
 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;
 HSPLandroid/service/carrier/CarrierIdentifier$1;-><init>()V
-HSPLandroid/service/carrier/CarrierIdentifier;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/service/carrier/CarrierIdentifier;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
+HSPLandroid/service/carrier/CarrierIdentifier;-><init>([BLjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/service/carrier/CarrierIdentifier;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/service/carrier/ICarrierService$Stub$Proxy;->getCarrierConfig(Landroid/service/carrier/CarrierIdentifier;Landroid/os/ResultReceiver;)V
 HSPLandroid/service/carrier/ICarrierService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/carrier/ICarrierService;
-HSPLandroid/service/carrier/ICarrierService;->getCarrierConfig(Landroid/service/carrier/CarrierIdentifier;Landroid/os/ResultReceiver;)V
-HSPLandroid/service/dreams/DreamManagerInternal;->isDreaming()Z
-HSPLandroid/service/dreams/DreamManagerInternal;->startDream(Z)V
-HSPLandroid/service/dreams/DreamManagerInternal;->stopDream(Z)V
+HSPLandroid/service/contentcapture/IContentCaptureServiceCallback$Stub;-><init>()V
+HSPLandroid/service/dreams/IDreamManager$Stub$Proxy;->getDefaultDreamComponent()Landroid/content/ComponentName;
+HSPLandroid/service/dreams/IDreamManager$Stub$Proxy;->getDreamComponents()[Landroid/content/ComponentName;
 HSPLandroid/service/dreams/IDreamManager$Stub;-><init>()V
-HSPLandroid/service/dreams/IDreamManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/dreams/IDreamManager;->awaken()V
-HSPLandroid/service/dreams/IDreamManager;->dream()V
-HSPLandroid/service/dreams/IDreamManager;->finishSelf(Landroid/os/IBinder;Z)V
-HSPLandroid/service/dreams/IDreamManager;->getDefaultDreamComponent()Landroid/content/ComponentName;
-HSPLandroid/service/dreams/IDreamManager;->getDreamComponents()[Landroid/content/ComponentName;
-HSPLandroid/service/dreams/IDreamManager;->isDreaming()Z
-HSPLandroid/service/dreams/IDreamManager;->setDreamComponents([Landroid/content/ComponentName;)V
-HSPLandroid/service/dreams/IDreamManager;->startDozing(Landroid/os/IBinder;II)V
-HSPLandroid/service/dreams/IDreamManager;->stopDozing(Landroid/os/IBinder;)V
-HSPLandroid/service/dreams/IDreamManager;->testDream(Landroid/content/ComponentName;)V
+HSPLandroid/service/dreams/IDreamManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/dreams/IDreamManager;
 HSPLandroid/service/euicc/EuiccProfileInfo$1;-><init>()V
+HSPLandroid/service/euicc/EuiccProfileInfo$1;->newArray(I)[Landroid/service/euicc/EuiccProfileInfo;
+HSPLandroid/service/euicc/EuiccProfileInfo$1;->newArray(I)[Ljava/lang/Object;
+HSPLandroid/service/euicc/EuiccProfileInfo$Builder;-><init>(Ljava/lang/String;)V
+HSPLandroid/service/euicc/EuiccProfileInfo$Builder;->build()Landroid/service/euicc/EuiccProfileInfo;
+HSPLandroid/service/euicc/EuiccProfileInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILandroid/service/carrier/CarrierIdentifier;ILjava/util/List;)V
+HSPLandroid/service/euicc/EuiccProfileInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/service/euicc/GetEuiccProfileInfoListResult$1;-><init>()V
 HSPLandroid/service/euicc/GetEuiccProfileInfoListResult$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/euicc/GetEuiccProfileInfoListResult;
 HSPLandroid/service/euicc/GetEuiccProfileInfoListResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/service/euicc/GetEuiccProfileInfoListResult;->getProfiles()Ljava/util/List;
+HSPLandroid/service/euicc/IEuiccService$Stub$Proxy;->getEid(ILandroid/service/euicc/IGetEidCallback;)V
 HSPLandroid/service/euicc/IEuiccService$Stub$Proxy;->getEuiccProfileInfoList(ILandroid/service/euicc/IGetEuiccProfileInfoListCallback;)V
 HSPLandroid/service/euicc/IEuiccService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/euicc/IEuiccService;
-HSPLandroid/service/euicc/IEuiccService;->deleteSubscription(ILjava/lang/String;Landroid/service/euicc/IDeleteSubscriptionCallback;)V
-HSPLandroid/service/euicc/IEuiccService;->downloadSubscription(ILandroid/telephony/euicc/DownloadableSubscription;ZZLandroid/service/euicc/IDownloadSubscriptionCallback;)V
-HSPLandroid/service/euicc/IEuiccService;->eraseSubscriptions(ILandroid/service/euicc/IEraseSubscriptionsCallback;)V
-HSPLandroid/service/euicc/IEuiccService;->getDefaultDownloadableSubscriptionList(IZLandroid/service/euicc/IGetDefaultDownloadableSubscriptionListCallback;)V
-HSPLandroid/service/euicc/IEuiccService;->getDownloadableSubscriptionMetadata(ILandroid/telephony/euicc/DownloadableSubscription;ZLandroid/service/euicc/IGetDownloadableSubscriptionMetadataCallback;)V
-HSPLandroid/service/euicc/IEuiccService;->getEid(ILandroid/service/euicc/IGetEidCallback;)V
-HSPLandroid/service/euicc/IEuiccService;->getEuiccInfo(ILandroid/service/euicc/IGetEuiccInfoCallback;)V
-HSPLandroid/service/euicc/IEuiccService;->getEuiccProfileInfoList(ILandroid/service/euicc/IGetEuiccProfileInfoListCallback;)V
-HSPLandroid/service/euicc/IEuiccService;->getOtaStatus(ILandroid/service/euicc/IGetOtaStatusCallback;)V
-HSPLandroid/service/euicc/IEuiccService;->retainSubscriptionsForFactoryReset(ILandroid/service/euicc/IRetainSubscriptionsForFactoryResetCallback;)V
-HSPLandroid/service/euicc/IEuiccService;->startOtaIfNecessary(ILandroid/service/euicc/IOtaStatusChangedCallback;)V
-HSPLandroid/service/euicc/IEuiccService;->switchToSubscription(ILjava/lang/String;ZLandroid/service/euicc/ISwitchToSubscriptionCallback;)V
-HSPLandroid/service/euicc/IEuiccService;->updateSubscriptionNickname(ILjava/lang/String;Ljava/lang/String;Landroid/service/euicc/IUpdateSubscriptionNicknameCallback;)V
+HSPLandroid/service/euicc/IGetEidCallback$Stub;-><init>()V
+HSPLandroid/service/euicc/IGetEidCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/service/euicc/IGetEidCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub;-><init>()V
 HSPLandroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/euicc/IGetEuiccProfileInfoListCallback;->onComplete(Landroid/service/euicc/GetEuiccProfileInfoListResult;)V
 HSPLandroid/service/gatekeeper/IGateKeeperService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/gatekeeper/IGateKeeperService;
-HSPLandroid/service/gatekeeper/IGateKeeperService;->clearSecureUserId(I)V
-HSPLandroid/service/gatekeeper/IGateKeeperService;->enroll(I[B[B[B)Landroid/service/gatekeeper/GateKeeperResponse;
-HSPLandroid/service/gatekeeper/IGateKeeperService;->getSecureUserId(I)J
-HSPLandroid/service/gatekeeper/IGateKeeperService;->reportDeviceSetupComplete()V
-HSPLandroid/service/gatekeeper/IGateKeeperService;->verify(I[B[B)Landroid/service/gatekeeper/GateKeeperResponse;
-HSPLandroid/service/gatekeeper/IGateKeeperService;->verifyChallenge(IJ[B[B)Landroid/service/gatekeeper/GateKeeperResponse;
 HSPLandroid/service/media/IMediaBrowserService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/media/IMediaBrowserService;->addSubscription(Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/service/media/IMediaBrowserService;->addSubscriptionDeprecated(Ljava/lang/String;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/service/media/IMediaBrowserService;->connect(Ljava/lang/String;Landroid/os/Bundle;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/service/media/IMediaBrowserService;->disconnect(Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/service/media/IMediaBrowserService;->getMediaItem(Ljava/lang/String;Landroid/os/ResultReceiver;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/service/media/IMediaBrowserService;->removeSubscription(Ljava/lang/String;Landroid/os/IBinder;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
-HSPLandroid/service/media/IMediaBrowserService;->removeSubscriptionDeprecated(Ljava/lang/String;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
 HSPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub$Proxy;->onConnect(Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V
 HSPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub$Proxy;->onConnectFailed()V
-HSPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub$Proxy;->onLoadChildrenWithOptions(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;Landroid/os/Bundle;)V
-HSPLandroid/service/media/IMediaBrowserServiceCallbacks;->onConnect(Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/os/Bundle;)V
-HSPLandroid/service/media/IMediaBrowserServiceCallbacks;->onConnectFailed()V
-HSPLandroid/service/media/IMediaBrowserServiceCallbacks;->onLoadChildren(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/service/media/IMediaBrowserServiceCallbacks;->onLoadChildrenWithOptions(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;Landroid/os/Bundle;)V
+HSPLandroid/service/media/IMediaBrowserServiceCallbacks$Stub$Proxy;->onLoadChildrenWithOptions(Ljava/lang/String;Landroid/media/MediaParceledListSlice;Landroid/os/Bundle;)V
 HSPLandroid/service/media/MediaBrowserService$1;->run()V
-HSPLandroid/service/media/MediaBrowserService$2;->run()V
 HSPLandroid/service/media/MediaBrowserService$3;->onResultSent(Ljava/lang/Object;I)V
 HSPLandroid/service/media/MediaBrowserService$3;->onResultSent(Ljava/util/List;I)V
 HSPLandroid/service/media/MediaBrowserService$BrowserRoot;-><init>(Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/service/media/MediaBrowserService$Result;->detach()V
 HSPLandroid/service/media/MediaBrowserService$Result;->sendResult(Ljava/lang/Object;)V
 HSPLandroid/service/media/MediaBrowserService$ServiceBinder$1;->run()V
 HSPLandroid/service/media/MediaBrowserService$ServiceBinder$2;->run()V
@@ -29733,17 +25564,18 @@
 HSPLandroid/service/media/MediaBrowserService$ServiceBinder;->removeSubscriptionDeprecated(Ljava/lang/String;Landroid/service/media/IMediaBrowserServiceCallbacks;)V
 HSPLandroid/service/media/MediaBrowserService;-><init>()V
 HSPLandroid/service/media/MediaBrowserService;->addSubscription(Ljava/lang/String;Landroid/service/media/MediaBrowserService$ConnectionRecord;Landroid/os/IBinder;Landroid/os/Bundle;)V
-HSPLandroid/service/media/MediaBrowserService;->notifyChildrenChanged(Ljava/lang/String;)V
 HSPLandroid/service/media/MediaBrowserService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
 HSPLandroid/service/media/MediaBrowserService;->onCreate()V
-HSPLandroid/service/media/MediaBrowserService;->onGetRoot(Ljava/lang/String;ILandroid/os/Bundle;)Landroid/service/media/MediaBrowserService$BrowserRoot;
-HSPLandroid/service/media/MediaBrowserService;->onLoadChildren(Ljava/lang/String;Landroid/service/media/MediaBrowserService$Result;)V
 HSPLandroid/service/media/MediaBrowserService;->performLoadChildren(Ljava/lang/String;Landroid/service/media/MediaBrowserService$ConnectionRecord;Landroid/os/Bundle;)V
 HSPLandroid/service/media/MediaBrowserService;->removeSubscription(Ljava/lang/String;Landroid/service/media/MediaBrowserService$ConnectionRecord;Landroid/os/IBinder;)Z
 HSPLandroid/service/media/MediaBrowserService;->setSessionToken(Landroid/media/session/MediaSession$Token;)V
+HSPLandroid/service/notification/Adjustment$1;-><init>()V
+HSPLandroid/service/notification/Adjustment;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/CharSequence;I)V
+HSPLandroid/service/notification/Adjustment;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/service/notification/Condition$1;-><init>()V
 HSPLandroid/service/notification/Condition$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/Condition;
 HSPLandroid/service/notification/Condition$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/service/notification/Condition;-><init>(Landroid/net/Uri;Ljava/lang/String;I)V
 HSPLandroid/service/notification/Condition;-><init>(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V
 HSPLandroid/service/notification/Condition;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/service/notification/Condition;->equals(Ljava/lang/Object;)Z
@@ -29759,74 +25591,24 @@
 HSPLandroid/service/notification/ConditionProviderService;->notifyCondition(Landroid/service/notification/Condition;)V
 HSPLandroid/service/notification/ConditionProviderService;->notifyConditions([Landroid/service/notification/Condition;)V
 HSPLandroid/service/notification/ConditionProviderService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/service/notification/ConditionProviderService;->onConnected()V
-HSPLandroid/service/notification/ConditionProviderService;->onSubscribe(Landroid/net/Uri;)V
-HSPLandroid/service/notification/ConditionProviderService;->onUnsubscribe(Landroid/net/Uri;)V
 HSPLandroid/service/notification/IConditionProvider$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/service/notification/IConditionProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/notification/IConditionProvider;->onConnected()V
-HSPLandroid/service/notification/IConditionProvider;->onSubscribe(Landroid/net/Uri;)V
-HSPLandroid/service/notification/IConditionProvider;->onUnsubscribe(Landroid/net/Uri;)V
 HSPLandroid/service/notification/INotificationListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/service/notification/INotificationListener$Stub$Proxy;->onListenerConnected(Landroid/service/notification/NotificationRankingUpdate;)V
 HSPLandroid/service/notification/INotificationListener$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/service/notification/INotificationListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/notification/INotificationListener;
 HSPLandroid/service/notification/INotificationListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/notification/INotificationListener;->onInterruptionFilterChanged(I)V
-HSPLandroid/service/notification/INotificationListener;->onListenerConnected(Landroid/service/notification/NotificationRankingUpdate;)V
-HSPLandroid/service/notification/INotificationListener;->onListenerHintsChanged(I)V
-HSPLandroid/service/notification/INotificationListener;->onNotificationChannelGroupModification(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
-HSPLandroid/service/notification/INotificationListener;->onNotificationChannelModification(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
-HSPLandroid/service/notification/INotificationListener;->onNotificationEnqueued(Landroid/service/notification/IStatusBarNotificationHolder;)V
-HSPLandroid/service/notification/INotificationListener;->onNotificationPosted(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;)V
-HSPLandroid/service/notification/INotificationListener;->onNotificationRankingUpdate(Landroid/service/notification/NotificationRankingUpdate;)V
-HSPLandroid/service/notification/INotificationListener;->onNotificationRemoved(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
-HSPLandroid/service/notification/INotificationListener;->onNotificationSnoozedUntilContext(Landroid/service/notification/IStatusBarNotificationHolder;Ljava/lang/String;)V
 HSPLandroid/service/notification/IStatusBarNotificationHolder$Stub$Proxy;->get()Landroid/service/notification/StatusBarNotification;
-HSPLandroid/service/notification/IStatusBarNotificationHolder;->get()Landroid/service/notification/StatusBarNotification;
 HSPLandroid/service/notification/NotificationAssistantService$MyHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onNotificationEnqueued(Landroid/service/notification/IStatusBarNotificationHolder;)V
+HSPLandroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;->onNotificationEnqueuedWithChannel(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/app/NotificationChannel;)V
 HSPLandroid/service/notification/NotificationAssistantService;-><init>()V
 HSPLandroid/service/notification/NotificationAssistantService;->attachBaseContext(Landroid/content/Context;)V
 HSPLandroid/service/notification/NotificationAssistantService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/service/notification/NotificationAssistantService;->onNotificationEnqueued(Landroid/service/notification/StatusBarNotification;)Landroid/service/notification/Adjustment;
-HSPLandroid/service/notification/NotificationAssistantService;->onNotificationSnoozedUntilContext(Landroid/service/notification/StatusBarNotification;Ljava/lang/String;)V
 HSPLandroid/service/notification/NotificationListenerService$MyHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onListenerConnected(Landroid/service/notification/NotificationRankingUpdate;)V
 HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationPosted(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;)V
 HSPLandroid/service/notification/NotificationListenerService$NotificationListenerWrapper;->onNotificationRemoved(Landroid/service/notification/IStatusBarNotificationHolder;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
-HSPLandroid/service/notification/NotificationListenerService$Ranking;-><init>()V
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->canShowBadge()Z
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->getChannel()Landroid/app/NotificationChannel;
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->getImportance()I
-HSPLandroid/service/notification/NotificationListenerService$Ranking;->populate(Ljava/lang/String;IZIIILjava/lang/CharSequence;Ljava/lang/String;Landroid/app/NotificationChannel;Ljava/util/ArrayList;Ljava/util/ArrayList;ZIZ)V
 HSPLandroid/service/notification/NotificationListenerService$RankingMap$1;-><init>()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildChannelsLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildHiddenLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildImportanceExplanationLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildImportanceLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildOverrideGroupKeys()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildOverridePeopleLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildRanksLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildShowBadgeLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildSnoozeCriteriaLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildSuppressedVisualEffectsLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildUserSentimentLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->buildVisibilityOverridesLocked()V
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getChannel(Ljava/lang/String;)Landroid/app/NotificationChannel;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getHidden(Ljava/lang/String;)Z
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getImportance(Ljava/lang/String;)I
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getImportanceExplanation(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getOverrideGroupKey(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getOverridePeople(Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getRank(Ljava/lang/String;)I
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getRanking(Ljava/lang/String;Landroid/service/notification/NotificationListenerService$Ranking;)Z
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getShowBadge(Ljava/lang/String;)Z
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getSnoozeCriteria(Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLandroid/service/notification/NotificationListenerService$RankingMap;->getSuppressedVisualEffects(Ljava/lang/String;)I
-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;->attachBaseContext(Landroid/content/Context;)V
 HSPLandroid/service/notification/NotificationListenerService;->cleanUpNotificationList(Landroid/content/pm/ParceledListSlice;)[Landroid/service/notification/StatusBarNotification;
@@ -29834,70 +25616,43 @@
 HSPLandroid/service/notification/NotificationListenerService;->getActiveNotifications()[Landroid/service/notification/StatusBarNotification;
 HSPLandroid/service/notification/NotificationListenerService;->getActiveNotifications([Ljava/lang/String;I)[Landroid/service/notification/StatusBarNotification;
 HSPLandroid/service/notification/NotificationListenerService;->getContext()Landroid/content/Context;
-HSPLandroid/service/notification/NotificationListenerService;->getCurrentRanking()Landroid/service/notification/NotificationListenerService$RankingMap;
 HSPLandroid/service/notification/NotificationListenerService;->isBound()Z
 HSPLandroid/service/notification/NotificationListenerService;->maybePopulatePeople(Landroid/app/Notification;)V
 HSPLandroid/service/notification/NotificationListenerService;->maybePopulateRemoteViews(Landroid/app/Notification;)V
 HSPLandroid/service/notification/NotificationListenerService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/service/notification/NotificationListenerService;->onListenerConnected()V
+HSPLandroid/service/notification/NotificationListenerService;->onDestroy()V
 HSPLandroid/service/notification/NotificationListenerService;->onNotificationPosted(Landroid/service/notification/StatusBarNotification;)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;)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;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/NotificationListenerService;->requestRebind(Landroid/content/ComponentName;)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;
 HSPLandroid/service/notification/NotificationRankingUpdate;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/service/notification/NotificationRankingUpdate;-><init>([Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;[ILandroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;)V
-HSPLandroid/service/notification/NotificationRankingUpdate;->getChannels()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getHidden()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getImportance()[I
-HSPLandroid/service/notification/NotificationRankingUpdate;->getImportanceExplanation()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getInterceptedKeys()[Ljava/lang/String;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getOrderedKeys()[Ljava/lang/String;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getOverrideGroupKeys()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getOverridePeople()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getShowBadge()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getSnoozeCriteria()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getSuppressedVisualEffects()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getUserSentiment()Landroid/os/Bundle;
-HSPLandroid/service/notification/NotificationRankingUpdate;->getVisibilityOverrides()Landroid/os/Bundle;
+HSPLandroid/service/notification/NotificationRankingUpdate;-><init>([Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Landroid/os/Bundle;[ILandroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;Landroid/os/Bundle;[Z)V
 HSPLandroid/service/notification/NotificationRankingUpdate;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/service/notification/NotificationStats$1;-><init>()V
-HSPLandroid/service/notification/NotifyingApp$1;-><init>()V
+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
 HSPLandroid/service/notification/ScheduleCalendar;->getNextChangeTime(J)J
 HSPLandroid/service/notification/ScheduleCalendar;->getTime(JII)J
 HSPLandroid/service/notification/ScheduleCalendar;->isInSchedule(IJJJ)Z
 HSPLandroid/service/notification/ScheduleCalendar;->isInSchedule(J)Z
 HSPLandroid/service/notification/ScheduleCalendar;->maybeSetNextAlarm(JJ)V
-HSPLandroid/service/notification/ScheduleCalendar;->shouldExitForAlarm(J)Z
 HSPLandroid/service/notification/ScheduleCalendar;->toString()Ljava/lang/String;
 HSPLandroid/service/notification/ScheduleCalendar;->updateDays()V
 HSPLandroid/service/notification/StatusBarNotification$1;-><init>()V
 HSPLandroid/service/notification/StatusBarNotification$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/notification/StatusBarNotification;
 HSPLandroid/service/notification/StatusBarNotification$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/service/notification/StatusBarNotification;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/service/notification/StatusBarNotification;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;IILandroid/app/Notification;Landroid/os/UserHandle;Ljava/lang/String;J)V
-HSPLandroid/service/notification/StatusBarNotification;->getGroupKey()Ljava/lang/String;
-HSPLandroid/service/notification/StatusBarNotification;->getId()I
-HSPLandroid/service/notification/StatusBarNotification;->getInitialPid()I
 HSPLandroid/service/notification/StatusBarNotification;->getKey()Ljava/lang/String;
 HSPLandroid/service/notification/StatusBarNotification;->getNotification()Landroid/app/Notification;
-HSPLandroid/service/notification/StatusBarNotification;->getOverrideGroupKey()Ljava/lang/String;
 HSPLandroid/service/notification/StatusBarNotification;->getPackageName()Ljava/lang/String;
-HSPLandroid/service/notification/StatusBarNotification;->getPostTime()J
-HSPLandroid/service/notification/StatusBarNotification;->getTag()Ljava/lang/String;
 HSPLandroid/service/notification/StatusBarNotification;->getUid()I
 HSPLandroid/service/notification/StatusBarNotification;->getUser()Landroid/os/UserHandle;
 HSPLandroid/service/notification/StatusBarNotification;->getUserId()I
 HSPLandroid/service/notification/StatusBarNotification;->groupKey()Ljava/lang/String;
-HSPLandroid/service/notification/StatusBarNotification;->isAppGroup()Z
-HSPLandroid/service/notification/StatusBarNotification;->isGroup()Z
 HSPLandroid/service/notification/StatusBarNotification;->key()Ljava/lang/String;
-HSPLandroid/service/notification/StatusBarNotification;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/service/notification/ZenModeConfig$1;-><init>()V
 HSPLandroid/service/notification/ZenModeConfig$Diff;->addLine(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Landroid/service/notification/ZenModeConfig$Diff;
 HSPLandroid/service/notification/ZenModeConfig$Diff;->addLine(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)Landroid/service/notification/ZenModeConfig$Diff;
@@ -29910,13 +25665,15 @@
 HSPLandroid/service/notification/ZenModeConfig$ZenRule;->appendDiff(Landroid/service/notification/ZenModeConfig$Diff;Ljava/lang/String;Landroid/service/notification/ZenModeConfig$ZenRule;)V
 HSPLandroid/service/notification/ZenModeConfig$ZenRule;->equals(Ljava/lang/Object;)Z
 HSPLandroid/service/notification/ZenModeConfig$ZenRule;->hashCode()I
+HSPLandroid/service/notification/ZenModeConfig$ZenRule;->isAutomaticActive()Z
+HSPLandroid/service/notification/ZenModeConfig$ZenRule;->isTrueOrUnknown()Z
 HSPLandroid/service/notification/ZenModeConfig$ZenRule;->toString()Ljava/lang/String;
 HSPLandroid/service/notification/ZenModeConfig$ZenRule;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/service/notification/ZenModeConfig;-><init>()V
 HSPLandroid/service/notification/ZenModeConfig;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/service/notification/ZenModeConfig;->areAllPriorityOnlyNotificationZenSoundsMuted(Landroid/app/NotificationManager$Policy;)Z
 HSPLandroid/service/notification/ZenModeConfig;->areAllPriorityOnlyNotificationZenSoundsMuted(Landroid/service/notification/ZenModeConfig;)Z
-HSPLandroid/service/notification/ZenModeConfig;->areAllZenBehaviorSoundsMuted(Landroid/service/notification/ZenModeConfig;)Z
+HSPLandroid/service/notification/ZenModeConfig;->areAllZenBehaviorSoundsMuted(Landroid/app/NotificationManager$Policy;)Z
 HSPLandroid/service/notification/ZenModeConfig;->copy()Landroid/service/notification/ZenModeConfig;
 HSPLandroid/service/notification/ZenModeConfig;->diff(Landroid/service/notification/ZenModeConfig;)Landroid/service/notification/ZenModeConfig$Diff;
 HSPLandroid/service/notification/ZenModeConfig;->diff(Landroid/service/notification/ZenModeConfig;Landroid/service/notification/ZenModeConfig;)Landroid/service/notification/ZenModeConfig$Diff;
@@ -29930,12 +25687,12 @@
 HSPLandroid/service/notification/ZenModeConfig;->readConditionXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/service/notification/Condition;
 HSPLandroid/service/notification/ZenModeConfig;->readRuleXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/service/notification/ZenModeConfig$ZenRule;
 HSPLandroid/service/notification/ZenModeConfig;->readXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/service/notification/ZenModeConfig;
+HSPLandroid/service/notification/ZenModeConfig;->readZenPolicyXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/service/notification/ZenPolicy;
+HSPLandroid/service/notification/ZenModeConfig;->rulesToString()Ljava/lang/String;
 HSPLandroid/service/notification/ZenModeConfig;->sameCondition(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
-HSPLandroid/service/notification/ZenModeConfig;->toDayList([I)Ljava/lang/String;
-HSPLandroid/service/notification/ZenModeConfig;->toEventConditionId(Landroid/service/notification/ZenModeConfig$EventInfo;)Landroid/net/Uri;
 HSPLandroid/service/notification/ZenModeConfig;->toNotificationPolicy()Landroid/app/NotificationManager$Policy;
+HSPLandroid/service/notification/ZenModeConfig;->toNotificationPolicy(Landroid/service/notification/ZenPolicy;)Landroid/app/NotificationManager$Policy;
 HSPLandroid/service/notification/ZenModeConfig;->toScheduleCalendar(Landroid/net/Uri;)Landroid/service/notification/ScheduleCalendar;
-HSPLandroid/service/notification/ZenModeConfig;->toScheduleConditionId(Landroid/service/notification/ZenModeConfig$ScheduleInfo;)Landroid/net/Uri;
 HSPLandroid/service/notification/ZenModeConfig;->toString()Ljava/lang/String;
 HSPLandroid/service/notification/ZenModeConfig;->tryParseCountdownConditionId(Landroid/net/Uri;)J
 HSPLandroid/service/notification/ZenModeConfig;->tryParseDayList(Ljava/lang/String;Ljava/lang/String;)[I
@@ -29943,96 +25700,41 @@
 HSPLandroid/service/notification/ZenModeConfig;->tryParseHourAndMinute(Ljava/lang/String;)[I
 HSPLandroid/service/notification/ZenModeConfig;->tryParseInt(Ljava/lang/String;I)I
 HSPLandroid/service/notification/ZenModeConfig;->tryParseLong(Ljava/lang/String;J)J
+HSPLandroid/service/notification/ZenModeConfig;->tryParseLong(Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/Long;
 HSPLandroid/service/notification/ZenModeConfig;->tryParseScheduleConditionId(Landroid/net/Uri;)Landroid/service/notification/ZenModeConfig$ScheduleInfo;
 HSPLandroid/service/notification/ZenModeConfig;->writeConditionXml(Landroid/service/notification/Condition;Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLandroid/service/notification/ZenModeConfig;->writeRuleXml(Landroid/service/notification/ZenModeConfig$ZenRule;Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLandroid/service/notification/ZenModeConfig;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/service/notification/ZenModeConfig;->writeXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/Integer;)V
+HSPLandroid/service/notification/ZenPolicy$1;-><init>()V
+HSPLandroid/service/notification/ZenPolicy;-><init>()V
+HSPLandroid/service/notification/ZenPolicy;->apply(Landroid/service/notification/ZenPolicy;)V
+HSPLandroid/service/notification/ZenPolicy;->getZenPolicyPriorityCategoryState(I)I
+HSPLandroid/service/notification/ZenPolicy;->getZenPolicyVisualEffectState(I)I
 HSPLandroid/service/oemlock/IOemLockService$Stub;-><init>()V
-HSPLandroid/service/oemlock/IOemLockService;->isDeviceOemUnlocked()Z
-HSPLandroid/service/oemlock/IOemLockService;->isOemUnlockAllowed()Z
-HSPLandroid/service/oemlock/IOemLockService;->isOemUnlockAllowedByCarrier()Z
-HSPLandroid/service/oemlock/IOemLockService;->isOemUnlockAllowedByUser()Z
-HSPLandroid/service/oemlock/IOemLockService;->setOemUnlockAllowedByCarrier(Z[B)V
-HSPLandroid/service/oemlock/IOemLockService;->setOemUnlockAllowedByUser(Z)V
 HSPLandroid/service/persistentdata/IPersistentDataBlockService$Stub$Proxy;->getFlashLockState()I
 HSPLandroid/service/persistentdata/IPersistentDataBlockService$Stub;-><init>()V
 HSPLandroid/service/persistentdata/IPersistentDataBlockService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/persistentdata/IPersistentDataBlockService;
-HSPLandroid/service/persistentdata/IPersistentDataBlockService;->getDataBlockSize()I
-HSPLandroid/service/persistentdata/IPersistentDataBlockService;->getFlashLockState()I
-HSPLandroid/service/persistentdata/IPersistentDataBlockService;->getMaximumDataBlockSize()J
-HSPLandroid/service/persistentdata/IPersistentDataBlockService;->getOemUnlockEnabled()Z
-HSPLandroid/service/persistentdata/IPersistentDataBlockService;->hasFrpCredentialHandle()Z
-HSPLandroid/service/persistentdata/IPersistentDataBlockService;->read()[B
-HSPLandroid/service/persistentdata/IPersistentDataBlockService;->setOemUnlockEnabled(Z)V
-HSPLandroid/service/persistentdata/IPersistentDataBlockService;->wipe()V
-HSPLandroid/service/persistentdata/IPersistentDataBlockService;->write([B)I
 HSPLandroid/service/persistentdata/PersistentDataBlockManager;->getFlashLockState()I
-HSPLandroid/service/restrictions/RestrictionsReceiver;->onRequestPermission(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/PersistableBundle;)V
 HSPLandroid/service/settings/suggestions/ISuggestionService$Stub$Proxy;->getSuggestions()Ljava/util/List;
 HSPLandroid/service/settings/suggestions/ISuggestionService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/settings/suggestions/ISuggestionService;
-HSPLandroid/service/settings/suggestions/ISuggestionService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/settings/suggestions/ISuggestionService;->dismissSuggestion(Landroid/service/settings/suggestions/Suggestion;)V
-HSPLandroid/service/settings/suggestions/ISuggestionService;->getSuggestions()Ljava/util/List;
-HSPLandroid/service/settings/suggestions/ISuggestionService;->launchSuggestion(Landroid/service/settings/suggestions/Suggestion;)V
 HSPLandroid/service/settings/suggestions/Suggestion$1;-><init>()V
 HSPLandroid/service/settings/suggestions/Suggestion$1;->createFromParcel(Landroid/os/Parcel;)Landroid/service/settings/suggestions/Suggestion;
 HSPLandroid/service/settings/suggestions/Suggestion$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/service/settings/suggestions/Suggestion$Builder;-><init>(Ljava/lang/String;)V
-HSPLandroid/service/settings/suggestions/Suggestion$Builder;->build()Landroid/service/settings/suggestions/Suggestion;
-HSPLandroid/service/settings/suggestions/Suggestion$Builder;->setFlags(I)Landroid/service/settings/suggestions/Suggestion$Builder;
-HSPLandroid/service/settings/suggestions/Suggestion$Builder;->setIcon(Landroid/graphics/drawable/Icon;)Landroid/service/settings/suggestions/Suggestion$Builder;
-HSPLandroid/service/settings/suggestions/Suggestion$Builder;->setPendingIntent(Landroid/app/PendingIntent;)Landroid/service/settings/suggestions/Suggestion$Builder;
-HSPLandroid/service/settings/suggestions/Suggestion$Builder;->setSummary(Ljava/lang/CharSequence;)Landroid/service/settings/suggestions/Suggestion$Builder;
-HSPLandroid/service/settings/suggestions/Suggestion$Builder;->setTitle(Ljava/lang/CharSequence;)Landroid/service/settings/suggestions/Suggestion$Builder;
 HSPLandroid/service/settings/suggestions/Suggestion;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/service/settings/suggestions/Suggestion;-><init>(Landroid/service/settings/suggestions/Suggestion$Builder;)V
-HSPLandroid/service/settings/suggestions/Suggestion;->getFlags()I
-HSPLandroid/service/settings/suggestions/Suggestion;->getIcon()Landroid/graphics/drawable/Icon;
-HSPLandroid/service/settings/suggestions/Suggestion;->getId()Ljava/lang/String;
-HSPLandroid/service/settings/suggestions/Suggestion;->getTitle()Ljava/lang/CharSequence;
-HSPLandroid/service/settings/suggestions/Suggestion;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/service/settings/suggestions/SuggestionService$1;->getSuggestions()Ljava/util/List;
-HSPLandroid/service/settings/suggestions/SuggestionService;-><init>()V
-HSPLandroid/service/settings/suggestions/SuggestionService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/service/settings/suggestions/SuggestionService;->onGetSuggestions()Ljava/util/List;
-HSPLandroid/service/settings/suggestions/SuggestionService;->onSuggestionDismissed(Landroid/service/settings/suggestions/Suggestion;)V
-HSPLandroid/service/settings/suggestions/SuggestionService;->onSuggestionLaunched(Landroid/service/settings/suggestions/Suggestion;)V
-HSPLandroid/service/textclassifier/ITextClassificationCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/textclassifier/ITextClassificationCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/textclassifier/ITextClassificationCallback;->onFailure()V
-HSPLandroid/service/textclassifier/ITextClassificationCallback;->onSuccess(Landroid/view/textclassifier/TextClassification;)V
-HSPLandroid/service/textclassifier/ITextClassifierService$Stub$Proxy;->onClassifyText(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassification$Request;Landroid/service/textclassifier/ITextClassificationCallback;)V
 HSPLandroid/service/textclassifier/ITextClassifierService$Stub;-><init>()V
-HSPLandroid/service/textclassifier/ITextClassifierService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/textclassifier/ITextClassifierService;->onClassifyText(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassification$Request;Landroid/service/textclassifier/ITextClassificationCallback;)V
-HSPLandroid/service/textclassifier/ITextClassifierService;->onCreateTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassificationSessionId;)V
-HSPLandroid/service/textclassifier/ITextClassifierService;->onDestroyTextClassificationSession(Landroid/view/textclassifier/TextClassificationSessionId;)V
-HSPLandroid/service/textclassifier/ITextClassifierService;->onGenerateLinks(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextLinks$Request;Landroid/service/textclassifier/ITextLinksCallback;)V
-HSPLandroid/service/textclassifier/ITextClassifierService;->onSelectionEvent(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/SelectionEvent;)V
-HSPLandroid/service/textclassifier/ITextClassifierService;->onSuggestSelection(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextSelection$Request;Landroid/service/textclassifier/ITextSelectionCallback;)V
-HSPLandroid/service/textclassifier/ITextLinksCallback$Stub$Proxy;->onSuccess(Landroid/view/textclassifier/TextLinks;)V
-HSPLandroid/service/textclassifier/ITextLinksCallback;->onFailure()V
-HSPLandroid/service/textclassifier/ITextLinksCallback;->onSuccess(Landroid/view/textclassifier/TextLinks;)V
-HSPLandroid/service/textclassifier/TextClassifierService$1$3;->onSuccess(Landroid/view/textclassifier/TextLinks;)V
-HSPLandroid/service/textclassifier/TextClassifierService$1$3;->onSuccess(Ljava/lang/Object;)V
-HSPLandroid/service/textclassifier/TextClassifierService$1;->onGenerateLinks(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextLinks$Request;Landroid/service/textclassifier/ITextLinksCallback;)V
-HSPLandroid/service/textclassifier/TextClassifierService$Callback;->onFailure(Ljava/lang/CharSequence;)V
-HSPLandroid/service/textclassifier/TextClassifierService$Callback;->onSuccess(Ljava/lang/Object;)V
-HSPLandroid/service/textclassifier/TextClassifierService;-><init>()V
-HSPLandroid/service/textclassifier/TextClassifierService;->getLocalTextClassifier()Landroid/view/textclassifier/TextClassifier;
+HSPLandroid/service/textclassifier/ITextClassifierService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/textclassifier/ITextClassifierService;
 HSPLandroid/service/textclassifier/TextClassifierService;->getServiceComponentName(Landroid/content/Context;)Landroid/content/ComponentName;
-HSPLandroid/service/textclassifier/TextClassifierService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/service/textclassifier/TextClassifierService;->onClassifyText(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassification$Request;Landroid/os/CancellationSignal;Landroid/service/textclassifier/TextClassifierService$Callback;)V
-HSPLandroid/service/textclassifier/TextClassifierService;->onGenerateLinks(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextLinks$Request;Landroid/os/CancellationSignal;Landroid/service/textclassifier/TextClassifierService$Callback;)V
-HSPLandroid/service/textclassifier/TextClassifierService;->onGenerateLinks(Ljava/lang/CharSequence;Landroid/view/textclassifier/TextLinks$Options;Landroid/os/CancellationSignal;Landroid/service/textclassifier/TextClassifierService$Callback;)V
-HSPLandroid/service/textclassifier/TextClassifierService;->onSuggestSelection(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextSelection$Request;Landroid/os/CancellationSignal;Landroid/service/textclassifier/TextClassifierService$Callback;)V
+HSPLandroid/service/trust/ITrustAgentService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLandroid/service/trust/TrustAgentService$1;->handleMessage(Landroid/os/Message;)V
+HSPLandroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onConfigure(Ljava/util/List;Landroid/os/IBinder;)V
+HSPLandroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->onDeviceUnlocked()V
+HSPLandroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;->setCallback(Landroid/service/trust/ITrustAgentServiceCallback;)V
+HSPLandroid/service/trust/TrustAgentService;-><init>()V
+HSPLandroid/service/trust/TrustAgentService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
+HSPLandroid/service/voice/-$$Lambda$SpnCJ0NiI1Uo14qQ5iHFyV2F2mY;-><init>()V
+HSPLandroid/service/voice/-$$Lambda$SpnCJ0NiI1Uo14qQ5iHFyV2F2mY;->accept(Ljava/lang/Object;)V
 HSPLandroid/service/voice/AlwaysOnHotwordDetector$Callback;-><init>()V
-HSPLandroid/service/voice/AlwaysOnHotwordDetector$Callback;->onAvailabilityChanged(I)V
-HSPLandroid/service/voice/AlwaysOnHotwordDetector$Callback;->onDetected(Landroid/service/voice/AlwaysOnHotwordDetector$EventPayload;)V
-HSPLandroid/service/voice/AlwaysOnHotwordDetector$Callback;->onError()V
-HSPLandroid/service/voice/AlwaysOnHotwordDetector$Callback;->onRecognitionPaused()V
-HSPLandroid/service/voice/AlwaysOnHotwordDetector$Callback;->onRecognitionResumed()V
 HSPLandroid/service/voice/AlwaysOnHotwordDetector$MyHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/service/voice/AlwaysOnHotwordDetector$RefreshAvailabiltyTask;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/service/voice/AlwaysOnHotwordDetector$RefreshAvailabiltyTask;->doInBackground([Ljava/lang/Void;)Ljava/lang/Void;
@@ -30043,149 +25745,53 @@
 HSPLandroid/service/voice/AlwaysOnHotwordDetector;->startRecognitionLocked(I)I
 HSPLandroid/service/voice/IVoiceInteractionService$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/service/voice/IVoiceInteractionService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/voice/IVoiceInteractionService;->launchVoiceAssistFromKeyguard()V
-HSPLandroid/service/voice/IVoiceInteractionService;->ready()V
-HSPLandroid/service/voice/IVoiceInteractionService;->shutdown()V
-HSPLandroid/service/voice/IVoiceInteractionService;->soundModelsChanged()V
-HSPLandroid/service/voice/VoiceInteractionManagerInternal;->startLocalVoiceInteraction(Landroid/os/IBinder;Landroid/os/Bundle;)V
-HSPLandroid/service/voice/VoiceInteractionManagerInternal;->stopLocalVoiceInteraction(Landroid/os/IBinder;)V
-HSPLandroid/service/voice/VoiceInteractionManagerInternal;->supportsLocalVoiceInteraction()Z
 HSPLandroid/service/voice/VoiceInteractionService$1;->ready()V
-HSPLandroid/service/voice/VoiceInteractionService$MyHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/service/voice/VoiceInteractionService;-><init>()V
 HSPLandroid/service/voice/VoiceInteractionService;->createAlwaysOnHotwordDetector(Ljava/lang/String;Ljava/util/Locale;Landroid/service/voice/AlwaysOnHotwordDetector$Callback;)Landroid/service/voice/AlwaysOnHotwordDetector;
 HSPLandroid/service/voice/VoiceInteractionService;->isActiveService(Landroid/content/Context;Landroid/content/ComponentName;)Z
 HSPLandroid/service/voice/VoiceInteractionService;->isKeyphraseAndLocaleSupportedForHotword(Ljava/lang/String;Ljava/util/Locale;)Z
 HSPLandroid/service/voice/VoiceInteractionService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/service/voice/VoiceInteractionService;->onCreate()V
 HSPLandroid/service/voice/VoiceInteractionService;->onReady()V
 HSPLandroid/service/voice/VoiceInteractionService;->safelyShutdownHotwordDetector()V
+HSPLandroid/service/voice/VoiceInteractionServiceInfo;-><init>(Landroid/content/pm/PackageManager;Landroid/content/pm/ServiceInfo;)V
+HSPLandroid/service/voice/VoiceInteractionServiceInfo;->getParseError()Ljava/lang/String;
+HSPLandroid/service/voice/VoiceInteractionServiceInfo;->getRecognitionService()Ljava/lang/String;
+HSPLandroid/service/voice/VoiceInteractionServiceInfo;->getServiceInfo()Landroid/content/pm/ServiceInfo;
+HSPLandroid/service/voice/VoiceInteractionServiceInfo;->getSettingsActivity()Ljava/lang/String;
 HSPLandroid/service/vr/IPersistentVrStateCallbacks$Stub;-><init>()V
 HSPLandroid/service/vr/IPersistentVrStateCallbacks$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/vr/IVrManager$Stub$Proxy;->getVrModeState()Z
-HSPLandroid/service/vr/IVrManager$Stub$Proxy;->registerListener(Landroid/service/vr/IVrStateCallbacks;)V
 HSPLandroid/service/vr/IVrManager$Stub;-><init>()V
 HSPLandroid/service/vr/IVrManager$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/service/vr/IVrManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/vr/IVrManager;
 HSPLandroid/service/vr/IVrManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/vr/IVrManager;->getPersistentVrModeEnabled()Z
-HSPLandroid/service/vr/IVrManager;->getVr2dDisplayId()I
-HSPLandroid/service/vr/IVrManager;->getVrModeState()Z
-HSPLandroid/service/vr/IVrManager;->registerListener(Landroid/service/vr/IVrStateCallbacks;)V
-HSPLandroid/service/vr/IVrManager;->registerPersistentVrStateListener(Landroid/service/vr/IPersistentVrStateCallbacks;)V
-HSPLandroid/service/vr/IVrManager;->setAndBindCompositor(Ljava/lang/String;)V
-HSPLandroid/service/vr/IVrManager;->setPersistentVrModeEnabled(Z)V
-HSPLandroid/service/vr/IVrManager;->setStandbyEnabled(Z)V
-HSPLandroid/service/vr/IVrManager;->setVr2dDisplayProperties(Landroid/app/Vr2dDisplayProperties;)V
-HSPLandroid/service/vr/IVrManager;->setVrInputMethod(Landroid/content/ComponentName;)V
-HSPLandroid/service/vr/IVrManager;->unregisterListener(Landroid/service/vr/IVrStateCallbacks;)V
-HSPLandroid/service/vr/IVrManager;->unregisterPersistentVrStateListener(Landroid/service/vr/IPersistentVrStateCallbacks;)V
 HSPLandroid/service/vr/IVrStateCallbacks$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/service/vr/IVrStateCallbacks$Stub;-><init>()V
 HSPLandroid/service/vr/IVrStateCallbacks$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/vr/IVrStateCallbacks;->onVrStateChanged(Z)V
-HSPLandroid/service/wallpaper/-$$Lambda$87Do-TfJA3qVM7QF6F_6BpQlQTA;-><init>()V
-HSPLandroid/service/wallpaper/IWallpaperConnection$Stub$Proxy;->attachEngine(Landroid/service/wallpaper/IWallpaperEngine;)V
-HSPLandroid/service/wallpaper/IWallpaperConnection$Stub$Proxy;->engineShown(Landroid/service/wallpaper/IWallpaperEngine;)V
-HSPLandroid/service/wallpaper/IWallpaperConnection$Stub$Proxy;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;)V
 HSPLandroid/service/wallpaper/IWallpaperConnection$Stub;-><init>()V
 HSPLandroid/service/wallpaper/IWallpaperConnection$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/service/wallpaper/IWallpaperConnection$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/wallpaper/IWallpaperConnection;->attachEngine(Landroid/service/wallpaper/IWallpaperEngine;)V
-HSPLandroid/service/wallpaper/IWallpaperConnection;->engineShown(Landroid/service/wallpaper/IWallpaperEngine;)V
-HSPLandroid/service/wallpaper/IWallpaperConnection;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;)V
-HSPLandroid/service/wallpaper/IWallpaperConnection;->setWallpaper(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
 HSPLandroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->requestWallpaperColors()V
-HSPLandroid/service/wallpaper/IWallpaperEngine$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/service/wallpaper/IWallpaperEngine$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/wallpaper/IWallpaperEngine;->destroy()V
-HSPLandroid/service/wallpaper/IWallpaperEngine;->dispatchPointer(Landroid/view/MotionEvent;)V
-HSPLandroid/service/wallpaper/IWallpaperEngine;->dispatchWallpaperCommand(Ljava/lang/String;IIILandroid/os/Bundle;)V
-HSPLandroid/service/wallpaper/IWallpaperEngine;->requestWallpaperColors()V
-HSPLandroid/service/wallpaper/IWallpaperEngine;->setDesiredSize(II)V
-HSPLandroid/service/wallpaper/IWallpaperEngine;->setDisplayPadding(Landroid/graphics/Rect;)V
-HSPLandroid/service/wallpaper/IWallpaperEngine;->setInAmbientMode(ZZ)V
-HSPLandroid/service/wallpaper/IWallpaperEngine;->setVisibility(Z)V
-HSPLandroid/service/wallpaper/IWallpaperService$Stub$Proxy;->attach(Landroid/service/wallpaper/IWallpaperConnection;Landroid/os/IBinder;IZIILandroid/graphics/Rect;)V
+HSPLandroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;->setInAmbientMode(ZJ)V
+HSPLandroid/service/wallpaper/IWallpaperService$Stub$Proxy;->attach(Landroid/service/wallpaper/IWallpaperConnection;Landroid/os/IBinder;IZIILandroid/graphics/Rect;I)V
 HSPLandroid/service/wallpaper/IWallpaperService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/service/wallpaper/IWallpaperService;
-HSPLandroid/service/wallpaper/IWallpaperService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/service/wallpaper/IWallpaperService;->attach(Landroid/service/wallpaper/IWallpaperConnection;Landroid/os/IBinder;IZIILandroid/graphics/Rect;)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine$2;->dispatchAppVisibility(Z)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine$2;->dispatchWallpaperOffsets(FFFFZ)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine$2;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine$WallpaperInputEventReceiver;-><init>(Landroid/service/wallpaper/WallpaperService$Engine;Landroid/view/InputChannel;Landroid/os/Looper;)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine;-><init>(Landroid/service/wallpaper/WallpaperService;)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine;-><init>(Landroid/service/wallpaper/WallpaperService;Ljava/util/function/Supplier;Landroid/os/Handler;)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine;->attach(Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine;->doOffsetsChanged(Z)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine;->doVisibilityChanged(Z)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine;->getSurfaceHolder()Landroid/view/SurfaceHolder;
-HSPLandroid/service/wallpaper/WallpaperService$Engine;->isPreview()Z
-HSPLandroid/service/wallpaper/WallpaperService$Engine;->isVisible()Z
-HSPLandroid/service/wallpaper/WallpaperService$Engine;->onApplyWindowInsets(Landroid/view/WindowInsets;)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine;->onCreate(Landroid/view/SurfaceHolder;)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine;->onOffsetsChanged(FFFFII)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine;->onSurfaceChanged(Landroid/view/SurfaceHolder;III)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine;->onSurfaceCreated(Landroid/view/SurfaceHolder;)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine;->onSurfaceRedrawNeeded(Landroid/view/SurfaceHolder;)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine;->onVisibilityChanged(Z)V
-HSPLandroid/service/wallpaper/WallpaperService$Engine;->reportVisibility()V
-HSPLandroid/service/wallpaper/WallpaperService$Engine;->updateSurface(ZZZ)V
-HSPLandroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;-><init>(Landroid/service/wallpaper/WallpaperService;Landroid/service/wallpaper/WallpaperService;Landroid/service/wallpaper/IWallpaperConnection;Landroid/os/IBinder;IZIILandroid/graphics/Rect;)V
-HSPLandroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->executeMessage(Landroid/os/Message;)V
-HSPLandroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->reportShown()V
-HSPLandroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;->requestWallpaperColors()V
-HSPLandroid/service/wallpaper/WallpaperService$IWallpaperServiceWrapper;->attach(Landroid/service/wallpaper/IWallpaperConnection;Landroid/os/IBinder;IZIILandroid/graphics/Rect;)V
-HSPLandroid/service/wallpaper/WallpaperService;-><init>()V
-HSPLandroid/service/wallpaper/WallpaperService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/service/wallpaper/WallpaperService;->onCreate()V
-HSPLandroid/speech/SpeechRecognizer;->isRecognitionAvailable(Landroid/content/Context;)Z
-HSPLandroid/speech/tts/AudioPlaybackHandler$MessageLoop;->run()V
-HSPLandroid/speech/tts/AudioPlaybackHandler;->start()V
-HSPLandroid/speech/tts/ITextToSpeechCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/speech/tts/ITextToSpeechCallback;->onAudioAvailable(Ljava/lang/String;[B)V
-HSPLandroid/speech/tts/ITextToSpeechCallback;->onBeginSynthesis(Ljava/lang/String;III)V
-HSPLandroid/speech/tts/ITextToSpeechCallback;->onError(Ljava/lang/String;I)V
-HSPLandroid/speech/tts/ITextToSpeechCallback;->onRangeStart(Ljava/lang/String;III)V
-HSPLandroid/speech/tts/ITextToSpeechCallback;->onStart(Ljava/lang/String;)V
-HSPLandroid/speech/tts/ITextToSpeechCallback;->onStop(Ljava/lang/String;Z)V
-HSPLandroid/speech/tts/ITextToSpeechCallback;->onSuccess(Ljava/lang/String;)V
-HSPLandroid/speech/tts/ITextToSpeechService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/speech/tts/ITextToSpeechService;->getClientDefaultLanguage()[Ljava/lang/String;
-HSPLandroid/speech/tts/ITextToSpeechService;->getDefaultVoiceNameFor(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/speech/tts/ITextToSpeechService;->getFeaturesForLanguage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/speech/tts/ITextToSpeechService;->getLanguage()[Ljava/lang/String;
-HSPLandroid/speech/tts/ITextToSpeechService;->getVoices()Ljava/util/List;
-HSPLandroid/speech/tts/ITextToSpeechService;->isLanguageAvailable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/speech/tts/ITextToSpeechService;->isSpeaking()Z
-HSPLandroid/speech/tts/ITextToSpeechService;->loadLanguage(Landroid/os/IBinder;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/speech/tts/ITextToSpeechService;->loadVoice(Landroid/os/IBinder;Ljava/lang/String;)I
-HSPLandroid/speech/tts/ITextToSpeechService;->playAudio(Landroid/os/IBinder;Landroid/net/Uri;ILandroid/os/Bundle;Ljava/lang/String;)I
-HSPLandroid/speech/tts/ITextToSpeechService;->playSilence(Landroid/os/IBinder;JILjava/lang/String;)I
-HSPLandroid/speech/tts/ITextToSpeechService;->setCallback(Landroid/os/IBinder;Landroid/speech/tts/ITextToSpeechCallback;)V
-HSPLandroid/speech/tts/ITextToSpeechService;->speak(Landroid/os/IBinder;Ljava/lang/CharSequence;ILandroid/os/Bundle;Ljava/lang/String;)I
-HSPLandroid/speech/tts/ITextToSpeechService;->stop(Landroid/os/IBinder;)I
-HSPLandroid/speech/tts/ITextToSpeechService;->synthesizeToFileDescriptor(Landroid/os/IBinder;Ljava/lang/CharSequence;Landroid/os/ParcelFileDescriptor;Landroid/os/Bundle;Ljava/lang/String;)I
-HSPLandroid/speech/tts/TextToSpeech$OnInitListener;->onInit(I)V
-HSPLandroid/speech/tts/TextToSpeechService$1;->getClientDefaultLanguage()[Ljava/lang/String;
-HSPLandroid/speech/tts/TextToSpeechService$1;->getDefaultVoiceNameFor(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/speech/tts/TextToSpeechService$1;->isLanguageAvailable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/speech/tts/TextToSpeechService$1;->setCallback(Landroid/os/IBinder;Landroid/speech/tts/ITextToSpeechCallback;)V
-HSPLandroid/speech/tts/TextToSpeechService$CallbackMap;->setCallback(Landroid/os/IBinder;Landroid/speech/tts/ITextToSpeechCallback;)V
-HSPLandroid/speech/tts/TextToSpeechService$SynthThread;->onLooperPrepared()V
-HSPLandroid/speech/tts/TextToSpeechService$SynthThread;->queueIdle()Z
-HSPLandroid/speech/tts/TextToSpeechService;-><init>()V
-HSPLandroid/speech/tts/TextToSpeechService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/speech/tts/TextToSpeechService;->onCreate()V
-HSPLandroid/speech/tts/TextToSpeechService;->onGetLanguage()[Ljava/lang/String;
-HSPLandroid/speech/tts/TextToSpeechService;->onIsLanguageAvailable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/speech/tts/TextToSpeechService;->onLoadLanguage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/speech/tts/TextToSpeechService;->onStop()V
-HSPLandroid/speech/tts/TextToSpeechService;->onSynthesizeText(Landroid/speech/tts/SynthesisRequest;Landroid/speech/tts/SynthesisCallback;)V
-HSPLandroid/speech/tts/TtsEngines;->getLocalePrefForEngine(Ljava/lang/String;)Ljava/util/Locale;
-HSPLandroid/speech/tts/TtsEngines;->getLocalePrefForEngine(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Locale;
-HSPLandroid/speech/tts/TtsEngines;->parseEnginePrefFromList(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/speech/tts/TtsEngines;->toOldLocaleStringFormat(Ljava/util/Locale;)[Ljava/lang/String;
+HSPLandroid/speech/tts/TtsEngines$EngineInfoComparator;-><init>()V
+HSPLandroid/speech/tts/TtsEngines;-><init>(Landroid/content/Context;)V
+HSPLandroid/speech/tts/TtsEngines;->getEngineInfo(Landroid/content/pm/ResolveInfo;Landroid/content/pm/PackageManager;)Landroid/speech/tts/TextToSpeech$EngineInfo;
+HSPLandroid/speech/tts/TtsEngines;->getEngines()Ljava/util/List;
+HSPLandroid/sysprop/AdbProperties;->secure()Ljava/util/Optional;
+HSPLandroid/sysprop/AdbProperties;->tryParseBoolean(Ljava/lang/String;)Ljava/lang/Boolean;
+HSPLandroid/sysprop/CryptoProperties$state_values;-><init>(Ljava/lang/String;ILjava/lang/String;)V
+HSPLandroid/sysprop/CryptoProperties$state_values;->values()[Landroid/sysprop/CryptoProperties$state_values;
+HSPLandroid/sysprop/CryptoProperties$type_values;-><init>(Ljava/lang/String;ILjava/lang/String;)V
+HSPLandroid/sysprop/CryptoProperties$type_values;->values()[Landroid/sysprop/CryptoProperties$type_values;
+HSPLandroid/sysprop/CryptoProperties;->state()Ljava/util/Optional;
+HSPLandroid/sysprop/CryptoProperties;->tryParseEnum(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
+HSPLandroid/sysprop/CryptoProperties;->type()Ljava/util/Optional;
+HSPLandroid/sysprop/DisplayProperties;->debug_force_rtl(Ljava/lang/Boolean;)V
+HSPLandroid/sysprop/DisplayProperties;->debug_layout()Ljava/util/Optional;
+HSPLandroid/sysprop/DisplayProperties;->tryParseBoolean(Ljava/lang/String;)Ljava/lang/Boolean;
+HSPLandroid/sysprop/VoldProperties;->decrypt()Ljava/util/Optional;
+HSPLandroid/sysprop/VoldProperties;->encrypt_progress()Ljava/util/Optional;
 HSPLandroid/system/ErrnoException;-><init>(Ljava/lang/String;I)V
 HSPLandroid/system/ErrnoException;->getMessage()Ljava/lang/String;
 HSPLandroid/system/ErrnoException;->rethrowAsIOException()Ljava/io/IOException;
@@ -30193,12 +25799,14 @@
 HSPLandroid/system/GaiException;->rethrowAsUnknownHostException(Ljava/lang/String;)Ljava/net/UnknownHostException;
 HSPLandroid/system/Os;->accept(Ljava/io/FileDescriptor;Ljava/net/InetSocketAddress;)Ljava/io/FileDescriptor;
 HSPLandroid/system/Os;->access(Ljava/lang/String;I)Z
+HSPLandroid/system/Os;->bind(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
 HSPLandroid/system/Os;->bind(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
 HSPLandroid/system/Os;->capget(Landroid/system/StructCapUserHeader;)[Landroid/system/StructCapUserData;
 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
-HSPLandroid/system/Os;->dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
+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;->fchmod(Ljava/io/FileDescriptor;I)V
 HSPLandroid/system/Os;->fchown(Ljava/io/FileDescriptor;II)V
 HSPLandroid/system/Os;->fcntlInt(Ljava/io/FileDescriptor;II)I
@@ -30216,17 +25824,21 @@
 HSPLandroid/system/Os;->ioctlInt(Ljava/io/FileDescriptor;ILandroid/system/Int32Ref;)I
 HSPLandroid/system/Os;->listen(Ljava/io/FileDescriptor;I)V
 HSPLandroid/system/Os;->lseek(Ljava/io/FileDescriptor;JI)J
+HSPLandroid/system/Os;->lstat(Ljava/lang/String;)Landroid/system/StructStat;
 HSPLandroid/system/Os;->mkdir(Ljava/lang/String;I)V
 HSPLandroid/system/Os;->mlock(JJ)V
 HSPLandroid/system/Os;->mmap(JJIILjava/io/FileDescriptor;J)J
+HSPLandroid/system/Os;->munmap(JJ)V
 HSPLandroid/system/Os;->open(Ljava/lang/String;II)Ljava/io/FileDescriptor;
-HSPLandroid/system/Os;->pipe()[Ljava/io/FileDescriptor;
 HSPLandroid/system/Os;->poll([Landroid/system/StructPollfd;I)I
-HSPLandroid/system/Os;->posix_fallocate(Ljava/io/FileDescriptor;JJ)V
 HSPLandroid/system/Os;->prctl(IJJJJ)I
+HSPLandroid/system/Os;->read(Ljava/io/FileDescriptor;[BII)I
+HSPLandroid/system/Os;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I
 HSPLandroid/system/Os;->setpgid(II)V
 HSPLandroid/system/Os;->setregid(II)V
 HSPLandroid/system/Os;->setreuid(II)V
+HSPLandroid/system/Os;->setsockoptIfreq(Ljava/io/FileDescriptor;IILjava/lang/String;)V
+HSPLandroid/system/Os;->setsockoptInt(Ljava/io/FileDescriptor;III)V
 HSPLandroid/system/Os;->setsockoptTimeval(Ljava/io/FileDescriptor;IILandroid/system/StructTimeval;)V
 HSPLandroid/system/Os;->socket(III)Ljava/io/FileDescriptor;
 HSPLandroid/system/Os;->stat(Ljava/lang/String;)Landroid/system/StructStat;
@@ -30249,34 +25861,41 @@
 HSPLandroid/system/StructUtsname;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/system/UnixSocketAddress;-><init>([B)V
 HSPLandroid/system/UnixSocketAddress;->createFileSystem(Ljava/lang/String;)Landroid/system/UnixSocketAddress;
+HSPLandroid/telecom/-$$Lambda$cyYWqCYT05eM23eLVm4oQ5DrYjw;-><init>()V
 HSPLandroid/telecom/-$$Lambda$qa4s1Fm2YuohEunaJUJcmJXDXG0;-><init>()V
 HSPLandroid/telecom/-$$Lambda$qa4s1Fm2YuohEunaJUJcmJXDXG0;->getSessionId()Ljava/lang/String;
 HSPLandroid/telecom/AudioState$1;-><init>()V
+HSPLandroid/telecom/Call$1;->run()V
+HSPLandroid/telecom/Call$4;->run()V
 HSPLandroid/telecom/Call$Callback;-><init>()V
-HSPLandroid/telecom/Call$Details;-><init>(Ljava/lang/String;Landroid/net/Uri;ILjava/lang/String;ILandroid/telecom/PhoneAccountHandle;IILandroid/telecom/DisconnectCause;JLandroid/telecom/GatewayInfo;ILandroid/telecom/StatusHints;Landroid/os/Bundle;Landroid/os/Bundle;J)V
+HSPLandroid/telecom/Call$Callback;->onStateChanged(Landroid/telecom/Call;I)V
+HSPLandroid/telecom/Call$Details;-><init>(Ljava/lang/String;Landroid/net/Uri;ILjava/lang/String;ILandroid/telecom/PhoneAccountHandle;IILandroid/telecom/DisconnectCause;JLandroid/telecom/GatewayInfo;ILandroid/telecom/StatusHints;Landroid/os/Bundle;Landroid/os/Bundle;JLandroid/telecom/CallIdentification;I)V
 HSPLandroid/telecom/Call$Details;->can(I)Z
 HSPLandroid/telecom/Call$Details;->capabilitiesToString(I)Ljava/lang/String;
 HSPLandroid/telecom/Call$Details;->createFromParcelableCall(Landroid/telecom/ParcelableCall;)Landroid/telecom/Call$Details;
+HSPLandroid/telecom/Call$Details;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telecom/Call$Details;->getAccountHandle()Landroid/telecom/PhoneAccountHandle;
 HSPLandroid/telecom/Call$Details;->getCallCapabilities()I
 HSPLandroid/telecom/Call$Details;->getCallProperties()I
 HSPLandroid/telecom/Call$Details;->getCallerDisplayName()Ljava/lang/String;
 HSPLandroid/telecom/Call$Details;->getCallerDisplayNamePresentation()I
+HSPLandroid/telecom/Call$Details;->getConnectTimeMillis()J
 HSPLandroid/telecom/Call$Details;->getDisconnectCause()Landroid/telecom/DisconnectCause;
 HSPLandroid/telecom/Call$Details;->getExtras()Landroid/os/Bundle;
 HSPLandroid/telecom/Call$Details;->getGatewayInfo()Landroid/telecom/GatewayInfo;
 HSPLandroid/telecom/Call$Details;->getHandle()Landroid/net/Uri;
 HSPLandroid/telecom/Call$Details;->getHandlePresentation()I
 HSPLandroid/telecom/Call$Details;->getIntentExtras()Landroid/os/Bundle;
-HSPLandroid/telecom/Call$Details;->getTelecomCallId()Ljava/lang/String;
+HSPLandroid/telecom/Call$Details;->getStatusHints()Landroid/telecom/StatusHints;
 HSPLandroid/telecom/Call$Details;->getVideoState()I
 HSPLandroid/telecom/Call$Details;->hasProperty(I)Z
 HSPLandroid/telecom/Call$Details;->propertiesToString(I)Ljava/lang/String;
-HSPLandroid/telecom/Call$Details;->toString()Ljava/lang/String;
 HSPLandroid/telecom/Call;-><init>(Landroid/telecom/Phone;Ljava/lang/String;Landroid/telecom/InCallAdapter;ILjava/lang/String;I)V
+HSPLandroid/telecom/Call;->areBundlesEqual(Landroid/os/Bundle;Landroid/os/Bundle;)Z
 HSPLandroid/telecom/Call;->fireCannedTextResponsesLoaded(Ljava/util/List;)V
 HSPLandroid/telecom/Call;->fireDetailsChanged(Landroid/telecom/Call$Details;)V
-HSPLandroid/telecom/Call;->fireVideoCallChanged(Landroid/telecom/InCallService$VideoCall;)V
+HSPLandroid/telecom/Call;->fireStateChanged(I)V
+HSPLandroid/telecom/Call;->getCannedTextResponses()Ljava/util/List;
 HSPLandroid/telecom/Call;->getChildren()Ljava/util/List;
 HSPLandroid/telecom/Call;->getConferenceableCalls()Ljava/util/List;
 HSPLandroid/telecom/Call;->getDetails()Landroid/telecom/Call$Details;
@@ -30284,9 +25903,8 @@
 HSPLandroid/telecom/Call;->getState()I
 HSPLandroid/telecom/Call;->getVideoCall()Landroid/telecom/InCallService$VideoCall;
 HSPLandroid/telecom/Call;->internalUpdate(Landroid/telecom/ParcelableCall;Ljava/util/Map;)V
+HSPLandroid/telecom/Call;->isRttActive()Z
 HSPLandroid/telecom/Call;->registerCallback(Landroid/telecom/Call$Callback;)V
-HSPLandroid/telecom/Call;->stateToString(I)Ljava/lang/String;
-HSPLandroid/telecom/Call;->toString()Ljava/lang/String;
 HSPLandroid/telecom/Call;->unregisterCallback(Landroid/telecom/Call$Callback;)V
 HSPLandroid/telecom/CallAudioState$1;-><init>()V
 HSPLandroid/telecom/CallAudioState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telecom/CallAudioState;
@@ -30295,48 +25913,31 @@
 HSPLandroid/telecom/CallAudioState;->audioRouteToString(I)Ljava/lang/String;
 HSPLandroid/telecom/CallAudioState;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telecom/CallAudioState;->getRoute()I
-HSPLandroid/telecom/CallScreeningService$1;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/telecom/CallScreeningService$CallResponse$Builder;-><init>()V
-HSPLandroid/telecom/CallScreeningService$CallResponse$Builder;->build()Landroid/telecom/CallScreeningService$CallResponse;
-HSPLandroid/telecom/CallScreeningService$CallResponse$Builder;->setDisallowCall(Z)Landroid/telecom/CallScreeningService$CallResponse$Builder;
-HSPLandroid/telecom/CallScreeningService$CallResponse$Builder;->setRejectCall(Z)Landroid/telecom/CallScreeningService$CallResponse$Builder;
-HSPLandroid/telecom/CallScreeningService$CallResponse$Builder;->setSkipNotification(Z)Landroid/telecom/CallScreeningService$CallResponse$Builder;
-HSPLandroid/telecom/CallScreeningService$CallResponse;->getDisallowCall()Z
-HSPLandroid/telecom/CallScreeningService$CallScreeningBinder;->screenCall(Lcom/android/internal/telecom/ICallScreeningAdapter;Landroid/telecom/ParcelableCall;)V
-HSPLandroid/telecom/CallScreeningService;-><init>()V
-HSPLandroid/telecom/CallScreeningService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/telecom/CallScreeningService;->onScreenCall(Landroid/telecom/Call$Details;)V
-HSPLandroid/telecom/CallScreeningService;->onUnbind(Landroid/content/Intent;)Z
-HSPLandroid/telecom/CallScreeningService;->respondToCall(Landroid/telecom/Call$Details;Landroid/telecom/CallScreeningService$CallResponse;)V
+HSPLandroid/telecom/CallAudioState;->getSupportedRouteMask()I
+HSPLandroid/telecom/CallAudioState;->isMuted()Z
+HSPLandroid/telecom/CallAudioState;->toString()Ljava/lang/String;
 HSPLandroid/telecom/CallbackRecord;->getCallback()Ljava/lang/Object;
+HSPLandroid/telecom/CallbackRecord;->getHandler()Landroid/os/Handler;
 HSPLandroid/telecom/DefaultDialerManager;->filterByIntent(Landroid/content/Context;Ljava/util/List;Landroid/content/Intent;I)Ljava/util/List;
+HSPLandroid/telecom/DefaultDialerManager;->getDefaultDialerApplication(Landroid/content/Context;)Ljava/lang/String;
 HSPLandroid/telecom/DefaultDialerManager;->getDefaultDialerApplication(Landroid/content/Context;I)Ljava/lang/String;
 HSPLandroid/telecom/DefaultDialerManager;->getInstalledDialerApplications(Landroid/content/Context;I)Ljava/util/List;
+HSPLandroid/telecom/DefaultDialerManager;->requireInCallService(Ljava/util/List;ILandroid/content/Context;)Ljava/util/List;
 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
+HSPLandroid/telecom/DisconnectCause;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telecom/InCallService$1;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/telecom/InCallService$2;->onAudioStateChanged(Landroid/telecom/Phone;Landroid/telecom/AudioState;)V
 HSPLandroid/telecom/InCallService$2;->onCallAdded(Landroid/telecom/Phone;Landroid/telecom/Call;)V
 HSPLandroid/telecom/InCallService$2;->onCallAudioStateChanged(Landroid/telecom/Phone;Landroid/telecom/CallAudioState;)V
+HSPLandroid/telecom/InCallService$2;->onCanAddCallChanged(Landroid/telecom/Phone;Z)V
 HSPLandroid/telecom/InCallService$InCallServiceBinder;->addCall(Landroid/telecom/ParcelableCall;)V
 HSPLandroid/telecom/InCallService$InCallServiceBinder;->onCallAudioStateChanged(Landroid/telecom/CallAudioState;)V
 HSPLandroid/telecom/InCallService$InCallServiceBinder;->onCanAddCallChanged(Z)V
 HSPLandroid/telecom/InCallService$InCallServiceBinder;->setInCallAdapter(Lcom/android/internal/telecom/IInCallAdapter;)V
-HSPLandroid/telecom/InCallService$VideoCall;->destroy()V
-HSPLandroid/telecom/InCallService$VideoCall;->registerCallback(Landroid/telecom/InCallService$VideoCall$Callback;)V
-HSPLandroid/telecom/InCallService$VideoCall;->registerCallback(Landroid/telecom/InCallService$VideoCall$Callback;Landroid/os/Handler;)V
-HSPLandroid/telecom/InCallService$VideoCall;->requestCallDataUsage()V
-HSPLandroid/telecom/InCallService$VideoCall;->requestCameraCapabilities()V
-HSPLandroid/telecom/InCallService$VideoCall;->sendSessionModifyRequest(Landroid/telecom/VideoProfile;)V
-HSPLandroid/telecom/InCallService$VideoCall;->sendSessionModifyResponse(Landroid/telecom/VideoProfile;)V
-HSPLandroid/telecom/InCallService$VideoCall;->setCamera(Ljava/lang/String;)V
-HSPLandroid/telecom/InCallService$VideoCall;->setDeviceOrientation(I)V
-HSPLandroid/telecom/InCallService$VideoCall;->setDisplaySurface(Landroid/view/Surface;)V
-HSPLandroid/telecom/InCallService$VideoCall;->setPauseImage(Landroid/net/Uri;)V
-HSPLandroid/telecom/InCallService$VideoCall;->setPreviewSurface(Landroid/view/Surface;)V
-HSPLandroid/telecom/InCallService$VideoCall;->setZoom(F)V
-HSPLandroid/telecom/InCallService$VideoCall;->unregisterCallback(Landroid/telecom/InCallService$VideoCall$Callback;)V
+HSPLandroid/telecom/InCallService$InCallServiceBinder;->updateCall(Landroid/telecom/ParcelableCall;)V
 HSPLandroid/telecom/InCallService;-><init>()V
 HSPLandroid/telecom/InCallService;->onAudioStateChanged(Landroid/telecom/AudioState;)V
 HSPLandroid/telecom/InCallService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
@@ -30347,7 +25948,6 @@
 HSPLandroid/telecom/Log;->continueSession(Landroid/telecom/Logging/Session;Ljava/lang/String;)V
 HSPLandroid/telecom/Log;->createSubsession()Landroid/telecom/Logging/Session;
 HSPLandroid/telecom/Log;->d(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
-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;
 HSPLandroid/telecom/Log;->getSessionId()Ljava/lang/String;
@@ -30355,8 +25955,6 @@
 HSPLandroid/telecom/Log;->i(Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
 HSPLandroid/telecom/Log;->i(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
 HSPLandroid/telecom/Log;->isLoggable(I)Z
-HSPLandroid/telecom/Log;->pii(Ljava/lang/Object;)Ljava/lang/String;
-HSPLandroid/telecom/Log;->piiHandle(Ljava/lang/Object;)Ljava/lang/String;
 HSPLandroid/telecom/Log;->registerEventListener(Landroid/telecom/Logging/EventManager$EventListener;)V
 HSPLandroid/telecom/Log;->registerSessionListener(Landroid/telecom/Logging/SessionManager$ISessionListener;)V
 HSPLandroid/telecom/Log;->setSessionContext(Landroid/content/Context;)V
@@ -30366,7 +25964,6 @@
 HSPLandroid/telecom/Logging/-$$Lambda$L5F_SL2jOCUETYvgdB36aGwY50E;-><init>()V
 HSPLandroid/telecom/Logging/-$$Lambda$L5F_SL2jOCUETYvgdB36aGwY50E;->get()I
 HSPLandroid/telecom/Logging/-$$Lambda$SessionManager$hhtZwTEbvO-fLNlAvB6Do9_2gW4;->get()J
-HSPLandroid/telecom/Logging/EventManager$EventListener;->eventRecordAdded(Landroid/telecom/Logging/EventManager$EventRecord;)V
 HSPLandroid/telecom/Logging/EventManager$TimedEventPair;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/telecom/Logging/EventManager$TimedEventPair;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
 HSPLandroid/telecom/Logging/EventManager;-><init>(Landroid/telecom/Logging/SessionManager$ISessionIdQueryHandler;)V
@@ -30395,10 +25992,6 @@
 HSPLandroid/telecom/Logging/Session;->setSessionId(Ljava/lang/String;)V
 HSPLandroid/telecom/Logging/Session;->setShortMethodName(Ljava/lang/String;)V
 HSPLandroid/telecom/Logging/Session;->toString()Ljava/lang/String;
-HSPLandroid/telecom/Logging/SessionManager$ICurrentThreadId;->get()I
-HSPLandroid/telecom/Logging/SessionManager$ISessionCleanupTimeoutMs;->get()J
-HSPLandroid/telecom/Logging/SessionManager$ISessionIdQueryHandler;->getSessionId()Ljava/lang/String;
-HSPLandroid/telecom/Logging/SessionManager$ISessionListener;->sessionComplete(Ljava/lang/String;J)V
 HSPLandroid/telecom/Logging/SessionManager;-><init>()V
 HSPLandroid/telecom/Logging/SessionManager;->continueSession(Landroid/telecom/Logging/Session;Ljava/lang/String;)V
 HSPLandroid/telecom/Logging/SessionManager;->createSubsession()Landroid/telecom/Logging/Session;
@@ -30407,6 +26000,7 @@
 HSPLandroid/telecom/Logging/SessionManager;->endSession()V
 HSPLandroid/telecom/Logging/SessionManager;->getNextSessionID()Ljava/lang/String;
 HSPLandroid/telecom/Logging/SessionManager;->getSessionId()Ljava/lang/String;
+HSPLandroid/telecom/Logging/SessionManager;->lambda$new$1$SessionManager()J
 HSPLandroid/telecom/Logging/SessionManager;->registerSessionListener(Landroid/telecom/Logging/SessionManager$ISessionListener;)V
 HSPLandroid/telecom/Logging/SessionManager;->resetStaleSessionTimer()V
 HSPLandroid/telecom/Logging/SessionManager;->setContext(Landroid/content/Context;)V
@@ -30414,7 +26008,7 @@
 HSPLandroid/telecom/ParcelableCall$1;-><init>()V
 HSPLandroid/telecom/ParcelableCall$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telecom/ParcelableCall;
 HSPLandroid/telecom/ParcelableCall$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telecom/ParcelableCall;-><init>(Ljava/lang/String;ILandroid/telecom/DisconnectCause;Ljava/util/List;IIIJLandroid/net/Uri;ILjava/lang/String;ILandroid/telecom/GatewayInfo;Landroid/telecom/PhoneAccountHandle;ZLcom/android/internal/telecom/IVideoProvider;ZLandroid/telecom/ParcelableRttCall;Ljava/lang/String;Ljava/util/List;Landroid/telecom/StatusHints;ILjava/util/List;Landroid/os/Bundle;Landroid/os/Bundle;J)V
+HSPLandroid/telecom/ParcelableCall;-><init>(Ljava/lang/String;ILandroid/telecom/DisconnectCause;Ljava/util/List;IIIJLandroid/net/Uri;ILjava/lang/String;ILandroid/telecom/GatewayInfo;Landroid/telecom/PhoneAccountHandle;ZLcom/android/internal/telecom/IVideoProvider;ZLandroid/telecom/ParcelableRttCall;Ljava/lang/String;Ljava/util/List;Landroid/telecom/StatusHints;ILjava/util/List;Landroid/os/Bundle;Landroid/os/Bundle;JLandroid/telecom/CallIdentification;I)V
 HSPLandroid/telecom/ParcelableCall;->getVideoCallImpl(Ljava/lang/String;I)Landroid/telecom/VideoCallImpl;
 HSPLandroid/telecom/Phone;-><init>(Landroid/telecom/InCallAdapter;Ljava/lang/String;I)V
 HSPLandroid/telecom/Phone;->checkCallTree(Landroid/telecom/ParcelableCall;)V
@@ -30437,12 +26031,15 @@
 HSPLandroid/telecom/PhoneAccount$Builder;->setSupportedUriSchemes(Ljava/util/List;)Landroid/telecom/PhoneAccount$Builder;
 HSPLandroid/telecom/PhoneAccount;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telecom/PhoneAccount;-><init>(Landroid/telecom/PhoneAccountHandle;Landroid/net/Uri;Landroid/net/Uri;ILandroid/graphics/drawable/Icon;ILjava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/util/List;Landroid/os/Bundle;IZLjava/lang/String;)V
+HSPLandroid/telecom/PhoneAccount;->areBundlesEqual(Landroid/os/Bundle;Landroid/os/Bundle;)Z
 HSPLandroid/telecom/PhoneAccount;->audioRoutesToString()Ljava/lang/String;
 HSPLandroid/telecom/PhoneAccount;->builder(Landroid/telecom/PhoneAccountHandle;Ljava/lang/CharSequence;)Landroid/telecom/PhoneAccount$Builder;
 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;->getHighlightColor()I
+HSPLandroid/telecom/PhoneAccount;->getLabel()Ljava/lang/CharSequence;
 HSPLandroid/telecom/PhoneAccount;->hasCapabilities(I)Z
 HSPLandroid/telecom/PhoneAccount;->toString()Ljava/lang/String;
 HSPLandroid/telecom/PhoneAccount;->writeToParcel(Landroid/os/Parcel;I)V
@@ -30451,7 +26048,7 @@
 HSPLandroid/telecom/PhoneAccountHandle$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/telecom/PhoneAccountHandle;-><init>(Landroid/content/ComponentName;Ljava/lang/String;)V
 HSPLandroid/telecom/PhoneAccountHandle;-><init>(Landroid/content/ComponentName;Ljava/lang/String;Landroid/os/UserHandle;)V
-HSPLandroid/telecom/PhoneAccountHandle;->describeContents()I
+HSPLandroid/telecom/PhoneAccountHandle;->checkParameters(Landroid/content/ComponentName;Landroid/os/UserHandle;)V
 HSPLandroid/telecom/PhoneAccountHandle;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telecom/PhoneAccountHandle;->getComponentName()Landroid/content/ComponentName;
 HSPLandroid/telecom/PhoneAccountHandle;->getId()Ljava/lang/String;
@@ -30459,151 +26056,214 @@
 HSPLandroid/telecom/PhoneAccountHandle;->toString()Ljava/lang/String;
 HSPLandroid/telecom/PhoneAccountHandle;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telecom/TelecomManager;-><init>(Landroid/content/Context;)V
+HSPLandroid/telecom/TelecomManager;->cancelMissedCallsNotification()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;
 HSPLandroid/telecom/TelecomManager;->getCurrentTtyMode()I
 HSPLandroid/telecom/TelecomManager;->getDefaultDialerPackage()Ljava/lang/String;
 HSPLandroid/telecom/TelecomManager;->getDefaultOutgoingPhoneAccount(Ljava/lang/String;)Landroid/telecom/PhoneAccountHandle;
-HSPLandroid/telecom/TelecomManager;->getDefaultPhoneApp()Landroid/content/ComponentName;
 HSPLandroid/telecom/TelecomManager;->getPhoneAccount(Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/PhoneAccount;
-HSPLandroid/telecom/TelecomManager;->getSimCallManager()Landroid/telecom/PhoneAccountHandle;
 HSPLandroid/telecom/TelecomManager;->getSystemDialerPackage()Ljava/lang/String;
 HSPLandroid/telecom/TelecomManager;->getUserSelectedOutgoingPhoneAccount()Landroid/telecom/PhoneAccountHandle;
 HSPLandroid/telecom/TelecomManager;->getVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;)Ljava/lang/String;
 HSPLandroid/telecom/TelecomManager;->isInCall()Z
 HSPLandroid/telecom/TelecomManager;->isInManagedCall()Z
+HSPLandroid/telecom/TelecomManager;->isTtySupported()Z
 HSPLandroid/telecom/TelecomManager;->isVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;)Z
+HSPLandroid/telecom/TelecomManager;->placeCall(Landroid/net/Uri;Landroid/os/Bundle;)V
 HSPLandroid/telecom/TelecomManager;->registerPhoneAccount(Landroid/telecom/PhoneAccount;)V
 HSPLandroid/telecom/TelecomManager;->unregisterPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
-HSPLandroid/telecom/VideoCallImpl;-><init>(Lcom/android/internal/telecom/IVideoProvider;Ljava/lang/String;I)V
-HSPLandroid/telecom/VideoCallImpl;->setTargetSdkVersion(I)V
-HSPLandroid/telecom/VideoCallImpl;->setVideoState(I)V
 HSPLandroid/telecom/VideoProfile$1;-><init>()V
+HSPLandroid/telecom/VideoProfile;->isPaused(I)Z
 HSPLandroid/telecom/VideoProfile;->isVideo(I)Z
 HSPLandroid/telecom/VideoProfile;->videoStateToString(I)Ljava/lang/String;
+HSPLandroid/telephony/-$$Lambda$NetworkRegistrationState$MY0wf-eVvu0WTjQPhz4q6-fsftE;-><init>()V
+HSPLandroid/telephony/-$$Lambda$NetworkRegistrationState$MY0wf-eVvu0WTjQPhz4q6-fsftE;->apply(I)Ljava/lang/Object;
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$1M3m0i6211i2YjWyTDT7l0bJm3I;->runOrThrow()V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$4NHt5Shg_DHV-T1IxfcQLHP5-j0;->run()V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$6czWSGzxct0CXPVO54T0aq05qls;->run()V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$TqrkuLPlaG_ucU7VbLS4tnf8hG8;->run()V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$WYWtWHdkZDxBd9anjoxyZozPWHc;->run()V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$bELzxgwsPigyVKYkAXBO2BjcSm8;->runOrThrow()V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$nrGqSRBJrc3_EwotCDNwfKeizIo;->run()V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$oDAZqs8paeefe_3k_uRKV5plQW4;->runOrThrow()V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$okPCYOx4UxYuvUHlM2iS425QGIg;->runOrThrow()V
+HSPLandroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$uC5syhzl229gIpaK7Jfs__OCJxQ;->runOrThrow()V
+HSPLandroid/telephony/-$$Lambda$SubscriptionManager$R_uORt9bKcmEo6JnjiGP2KgjIOQ;->test(Ljava/lang/Object;)Z
+HSPLandroid/telephony/-$$Lambda$SubscriptionManager$qcglJCo4L0Y9DbgvAEAt3aTzeBA;-><init>()V
+HSPLandroid/telephony/-$$Lambda$SubscriptionManager$qcglJCo4L0Y9DbgvAEAt3aTzeBA;->test(Ljava/lang/Object;)Z
+HSPLandroid/telephony/-$$Lambda$dEMZMUrqWN6nVE0rJSGuugWWoYI;-><init>()V
+HSPLandroid/telephony/-$$Lambda$dEMZMUrqWN6nVE0rJSGuugWWoYI;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLandroid/telephony/AccessNetworkConstants$TransportType;->toString(I)Ljava/lang/String;
 HSPLandroid/telephony/AccessNetworkUtils;->getOperatingBandForEarfcn(I)I
+HSPLandroid/telephony/CallAttributes$1;-><init>()V
+HSPLandroid/telephony/CallQuality$1;-><init>()V
+HSPLandroid/telephony/CarrierConfigManager$Gps;->access$000()Landroid/os/PersistableBundle;
+HSPLandroid/telephony/CarrierConfigManager$Gps;->getDefaults()Landroid/os/PersistableBundle;
 HSPLandroid/telephony/CarrierConfigManager;->getConfig()Landroid/os/PersistableBundle;
 HSPLandroid/telephony/CarrierConfigManager;->getConfigForSubId(I)Landroid/os/PersistableBundle;
 HSPLandroid/telephony/CarrierConfigManager;->getDefaultConfig()Landroid/os/PersistableBundle;
 HSPLandroid/telephony/CarrierConfigManager;->updateConfigForPhoneId(ILjava/lang/String;)V
+HSPLandroid/telephony/CellConfigLte$1;-><init>()V
+HSPLandroid/telephony/CellConfigLte$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellConfigLte;
+HSPLandroid/telephony/CellConfigLte$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/CellConfigLte;->toString()Ljava/lang/String;
+HSPLandroid/telephony/CellConfigLte;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/CellIdentity$1;-><init>()V
 HSPLandroid/telephony/CellIdentity;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/telephony/CellIdentity;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telephony/CellIdentity;->getType()I
-HSPLandroid/telephony/CellIdentityCdma$1;-><init>()V
 HSPLandroid/telephony/CellIdentityGsm$1;-><init>()V
-HSPLandroid/telephony/CellIdentityGsm$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentityGsm;
-HSPLandroid/telephony/CellIdentityGsm$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellIdentityGsm;->getCid()I
-HSPLandroid/telephony/CellIdentityGsm;->getLac()I
-HSPLandroid/telephony/CellIdentityGsm;->getMcc()I
-HSPLandroid/telephony/CellIdentityGsm;->getMnc()I
+HSPLandroid/telephony/CellIdentityGsm;-><init>(Landroid/hardware/radio/V1_2/CellIdentityGsm;)V
 HSPLandroid/telephony/CellIdentityGsm;->toString()Ljava/lang/String;
 HSPLandroid/telephony/CellIdentityLte$1;-><init>()V
 HSPLandroid/telephony/CellIdentityLte$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentityLte;
 HSPLandroid/telephony/CellIdentityLte$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-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_2/CellIdentityLte;)V
 HSPLandroid/telephony/CellIdentityLte;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/telephony/CellIdentityLte;->asCellLocation()Landroid/telephony/CellLocation;
 HSPLandroid/telephony/CellIdentityLte;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telephony/CellIdentityLte;->getChannelNumber()I
-HSPLandroid/telephony/CellIdentityLte;->getCi()I
-HSPLandroid/telephony/CellIdentityLte;->getMcc()I
-HSPLandroid/telephony/CellIdentityLte;->getMnc()I
-HSPLandroid/telephony/CellIdentityLte;->getPci()I
-HSPLandroid/telephony/CellIdentityLte;->getTac()I
 HSPLandroid/telephony/CellIdentityLte;->toString()Ljava/lang/String;
 HSPLandroid/telephony/CellIdentityLte;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/CellIdentityWcdma$1;-><init>()V
 HSPLandroid/telephony/CellIdentityWcdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellIdentityWcdma;
 HSPLandroid/telephony/CellIdentityWcdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellIdentityWcdma;->getCid()I
-HSPLandroid/telephony/CellIdentityWcdma;->getLac()I
-HSPLandroid/telephony/CellIdentityWcdma;->getMcc()I
-HSPLandroid/telephony/CellIdentityWcdma;->getMnc()I
-HSPLandroid/telephony/CellIdentityWcdma;->getPsc()I
+HSPLandroid/telephony/CellIdentityWcdma;-><init>(Landroid/hardware/radio/V1_2/CellIdentityWcdma;)V
 HSPLandroid/telephony/CellIdentityWcdma;->toString()Ljava/lang/String;
 HSPLandroid/telephony/CellInfo$1;-><init>()V
 HSPLandroid/telephony/CellInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellInfo;
 HSPLandroid/telephony/CellInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/CellInfo;->getTimeStamp()J
+HSPLandroid/telephony/CellInfo;->create(Landroid/hardware/radio/V1_2/CellInfo;)Landroid/telephony/CellInfo;
 HSPLandroid/telephony/CellInfo;->isRegistered()Z
-HSPLandroid/telephony/CellInfo;->timeStampTypeToString(I)Ljava/lang/String;
 HSPLandroid/telephony/CellInfo;->toString()Ljava/lang/String;
-HSPLandroid/telephony/CellInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellInfoCdma$1;-><init>()V
 HSPLandroid/telephony/CellInfoGsm$1;-><init>()V
-HSPLandroid/telephony/CellInfoGsm;->getCellIdentity()Landroid/telephony/CellIdentityGsm;
-HSPLandroid/telephony/CellInfoGsm;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthGsm;
 HSPLandroid/telephony/CellInfoGsm;->toString()Ljava/lang/String;
 HSPLandroid/telephony/CellInfoGsm;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/CellInfoLte$1;-><init>()V
-HSPLandroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentityLte;
-HSPLandroid/telephony/CellInfoLte;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthLte;
+HSPLandroid/telephony/CellInfoLte;-><init>(Landroid/hardware/radio/V1_2/CellInfo;)V
+HSPLandroid/telephony/CellInfoLte;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/telephony/CellInfoLte;->getCellIdentity()Landroid/telephony/CellIdentity;
 HSPLandroid/telephony/CellInfoLte;->toString()Ljava/lang/String;
 HSPLandroid/telephony/CellInfoLte;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/CellInfoWcdma$1;-><init>()V
-HSPLandroid/telephony/CellInfoWcdma;->getCellIdentity()Landroid/telephony/CellIdentityWcdma;
-HSPLandroid/telephony/CellInfoWcdma;->getCellSignalStrength()Landroid/telephony/CellSignalStrengthWcdma;
 HSPLandroid/telephony/CellInfoWcdma;->toString()Ljava/lang/String;
 HSPLandroid/telephony/CellInfoWcdma;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/CellLocation;->fillInNotifierBundle(Landroid/os/Bundle;)V
 HSPLandroid/telephony/CellLocation;->getEmpty()Landroid/telephony/CellLocation;
-HSPLandroid/telephony/CellLocation;->isEmpty()Z
-HSPLandroid/telephony/CellLocation;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/CellLocation;
-HSPLandroid/telephony/CellLocation;->setStateInvalid()V
-HSPLandroid/telephony/CellSignalStrength;->copy()Landroid/telephony/CellSignalStrength;
-HSPLandroid/telephony/CellSignalStrength;->equals(Ljava/lang/Object;)Z
-HSPLandroid/telephony/CellSignalStrength;->getAsuLevel()I
-HSPLandroid/telephony/CellSignalStrength;->getDbm()I
-HSPLandroid/telephony/CellSignalStrength;->getLevel()I
-HSPLandroid/telephony/CellSignalStrength;->hashCode()I
-HSPLandroid/telephony/CellSignalStrength;->setDefaultValues()V
+HSPLandroid/telephony/CellSignalStrengthCdma$1;-><init>()V
+HSPLandroid/telephony/CellSignalStrengthCdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthCdma;
+HSPLandroid/telephony/CellSignalStrengthCdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/CellSignalStrengthCdma;-><init>()V
+HSPLandroid/telephony/CellSignalStrengthCdma;-><init>(IIIII)V
+HSPLandroid/telephony/CellSignalStrengthCdma;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/telephony/CellSignalStrengthCdma;->describeContents()I
+HSPLandroid/telephony/CellSignalStrengthCdma;->equals(Ljava/lang/Object;)Z
+HSPLandroid/telephony/CellSignalStrengthCdma;->getCdmaLevel()I
+HSPLandroid/telephony/CellSignalStrengthCdma;->getEvdoLevel()I
+HSPLandroid/telephony/CellSignalStrengthCdma;->toString()Ljava/lang/String;
+HSPLandroid/telephony/CellSignalStrengthCdma;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
 HSPLandroid/telephony/CellSignalStrengthGsm$1;-><init>()V
 HSPLandroid/telephony/CellSignalStrengthGsm$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthGsm;
 HSPLandroid/telephony/CellSignalStrengthGsm$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellSignalStrengthGsm;->getAsuLevel()I
-HSPLandroid/telephony/CellSignalStrengthGsm;->getDbm()I
-HSPLandroid/telephony/CellSignalStrengthGsm;->getLevel()I
+HSPLandroid/telephony/CellSignalStrengthGsm;-><init>()V
+HSPLandroid/telephony/CellSignalStrengthGsm;-><init>(III)V
+HSPLandroid/telephony/CellSignalStrengthGsm;->describeContents()I
+HSPLandroid/telephony/CellSignalStrengthGsm;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telephony/CellSignalStrengthGsm;->toString()Ljava/lang/String;
+HSPLandroid/telephony/CellSignalStrengthGsm;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
 HSPLandroid/telephony/CellSignalStrengthLte$1;-><init>()V
 HSPLandroid/telephony/CellSignalStrengthLte$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthLte;
 HSPLandroid/telephony/CellSignalStrengthLte$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/CellSignalStrengthLte;-><init>()V
+HSPLandroid/telephony/CellSignalStrengthLte;-><init>(IIIIII)V
+HSPLandroid/telephony/CellSignalStrengthLte;-><init>(Landroid/hardware/radio/V1_0/LteSignalStrength;)V
 HSPLandroid/telephony/CellSignalStrengthLte;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/CellSignalStrengthLte;->getAsuLevel()I
-HSPLandroid/telephony/CellSignalStrengthLte;->getDbm()I
-HSPLandroid/telephony/CellSignalStrengthLte;->getLevel()I
+HSPLandroid/telephony/CellSignalStrengthLte;->convertRssiAsuToDBm(I)I
+HSPLandroid/telephony/CellSignalStrengthLte;->describeContents()I
+HSPLandroid/telephony/CellSignalStrengthLte;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telephony/CellSignalStrengthLte;->toString()Ljava/lang/String;
+HSPLandroid/telephony/CellSignalStrengthLte;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
 HSPLandroid/telephony/CellSignalStrengthLte;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/telephony/CellSignalStrengthNr$1;-><init>()V
+HSPLandroid/telephony/CellSignalStrengthNr$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthNr;
+HSPLandroid/telephony/CellSignalStrengthNr$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/CellSignalStrengthNr;-><init>()V
+HSPLandroid/telephony/CellSignalStrengthNr;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/telephony/CellSignalStrengthNr;->describeContents()I
+HSPLandroid/telephony/CellSignalStrengthNr;->equals(Ljava/lang/Object;)Z
+HSPLandroid/telephony/CellSignalStrengthNr;->toString()Ljava/lang/String;
+HSPLandroid/telephony/CellSignalStrengthNr;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
+HSPLandroid/telephony/CellSignalStrengthNr;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/telephony/CellSignalStrengthTdscdma$1;-><init>()V
+HSPLandroid/telephony/CellSignalStrengthTdscdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthTdscdma;
+HSPLandroid/telephony/CellSignalStrengthTdscdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/CellSignalStrengthTdscdma;-><init>()V
+HSPLandroid/telephony/CellSignalStrengthTdscdma;-><init>(III)V
+HSPLandroid/telephony/CellSignalStrengthTdscdma;->describeContents()I
+HSPLandroid/telephony/CellSignalStrengthTdscdma;->equals(Ljava/lang/Object;)Z
+HSPLandroid/telephony/CellSignalStrengthTdscdma;->toString()Ljava/lang/String;
+HSPLandroid/telephony/CellSignalStrengthTdscdma;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
 HSPLandroid/telephony/CellSignalStrengthWcdma$1;-><init>()V
 HSPLandroid/telephony/CellSignalStrengthWcdma$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/CellSignalStrengthWcdma;
 HSPLandroid/telephony/CellSignalStrengthWcdma$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/CellSignalStrengthWcdma;->getAsuLevel()I
-HSPLandroid/telephony/CellSignalStrengthWcdma;->getDbm()I
+HSPLandroid/telephony/CellSignalStrengthWcdma;-><init>()V
+HSPLandroid/telephony/CellSignalStrengthWcdma;-><init>(IIII)V
+HSPLandroid/telephony/CellSignalStrengthWcdma;-><init>(Landroid/hardware/radio/V1_2/WcdmaSignalStrength;)V
+HSPLandroid/telephony/CellSignalStrengthWcdma;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/telephony/CellSignalStrengthWcdma;->describeContents()I
+HSPLandroid/telephony/CellSignalStrengthWcdma;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telephony/CellSignalStrengthWcdma;->getLevel()I
 HSPLandroid/telephony/CellSignalStrengthWcdma;->toString()Ljava/lang/String;
+HSPLandroid/telephony/CellSignalStrengthWcdma;->updateLevel(Landroid/os/PersistableBundle;Landroid/telephony/ServiceState;)V
 HSPLandroid/telephony/ClientRequestStats$1;-><init>()V
 HSPLandroid/telephony/ClientRequestStats;-><init>()V
 HSPLandroid/telephony/ClientRequestStats;->updateRequestHistograms(II)V
+HSPLandroid/telephony/DataFailCause$1;-><init>()V
+HSPLandroid/telephony/DataFailCause;->getFailCause(I)I
+HSPLandroid/telephony/DataFailCause;->isEventLoggable(I)Z
+HSPLandroid/telephony/DataFailCause;->isPermanentFailure(Landroid/content/Context;II)Z
+HSPLandroid/telephony/DataFailCause;->isRadioRestartFailure(Landroid/content/Context;II)Z
+HSPLandroid/telephony/DataFailCause;->toString(I)Ljava/lang/String;
 HSPLandroid/telephony/DataSpecificRegistrationStates$1;-><init>()V
 HSPLandroid/telephony/DataSpecificRegistrationStates$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/DataSpecificRegistrationStates;
 HSPLandroid/telephony/DataSpecificRegistrationStates$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/DataSpecificRegistrationStates;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/DataSpecificRegistrationStates;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telephony/DataSpecificRegistrationStates;->toString()Ljava/lang/String;
 HSPLandroid/telephony/DataSpecificRegistrationStates;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/INetworkService;->createNetworkServiceProvider(I)V
-HSPLandroid/telephony/INetworkService;->getNetworkRegistrationState(IILandroid/telephony/INetworkServiceCallback;)V
-HSPLandroid/telephony/INetworkService;->registerForNetworkRegistrationStateChanged(ILandroid/telephony/INetworkServiceCallback;)V
-HSPLandroid/telephony/INetworkService;->removeNetworkServiceProvider(I)V
-HSPLandroid/telephony/INetworkService;->unregisterForNetworkRegistrationStateChanged(ILandroid/telephony/INetworkServiceCallback;)V
+HSPLandroid/telephony/DebugEventReporter;->initialize(Landroid/content/Context;)V
+HSPLandroid/telephony/INetworkService$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/telephony/INetworkService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/INetworkService;
 HSPLandroid/telephony/INetworkServiceCallback$Stub;-><init>()V
-HSPLandroid/telephony/INetworkServiceCallback;->onGetNetworkRegistrationStateComplete(ILandroid/telephony/NetworkRegistrationState;)V
-HSPLandroid/telephony/INetworkServiceCallback;->onNetworkStateChanged()V
 HSPLandroid/telephony/IccOpenLogicalChannelResponse$1;-><init>()V
-HSPLandroid/telephony/IccOpenLogicalChannelResponse;-><init>(II[B)V
-HSPLandroid/telephony/IccOpenLogicalChannelResponse;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/telephony/IccOpenLogicalChannelResponse;->getChannel()I
+HSPLandroid/telephony/IccOpenLogicalChannelResponse;->getSelectResponse()[B
+HSPLandroid/telephony/IccOpenLogicalChannelResponse;->getStatus()I
+HSPLandroid/telephony/IccOpenLogicalChannelResponse;->toString()Ljava/lang/String;
+HSPLandroid/telephony/ImsiEncryptionInfo$1;-><init>()V
+HSPLandroid/telephony/ImsiEncryptionInfo;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;[BLjava/util/Date;)V
+HSPLandroid/telephony/ImsiEncryptionInfo;->makeKeyObject([B)Ljava/security/PublicKey;
+HSPLandroid/telephony/ImsiEncryptionInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;-><init>()V
+HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->build()Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;
+HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->setCallingPackage(Ljava/lang/String;)Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
+HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->setCallingPid(I)Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
+HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->setCallingUid(I)Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
+HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->setMethod(Ljava/lang/String;)Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
+HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->setMinSdkVersionForCoarse(I)Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
+HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;->setMinSdkVersionForFine(I)Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
+HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionResult;-><init>(Ljava/lang/String;I)V
+HSPLandroid/telephony/LocationAccessPolicy$LocationPermissionResult;->values()[Landroid/telephony/LocationAccessPolicy$LocationPermissionResult;
 HSPLandroid/telephony/LocationAccessPolicy;->canAccessCellLocation(Landroid/content/Context;Ljava/lang/String;IIZ)Z
+HSPLandroid/telephony/LocationAccessPolicy;->checkAppLocationPermissionHelper(Landroid/content/Context;Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;Ljava/lang/String;)Landroid/telephony/LocationAccessPolicy$LocationPermissionResult;
+HSPLandroid/telephony/LocationAccessPolicy;->checkLocationPermission(Landroid/content/Context;Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;)Landroid/telephony/LocationAccessPolicy$LocationPermissionResult;
+HSPLandroid/telephony/LocationAccessPolicy;->isAppAtLeastSdkVersion(Landroid/content/Context;Ljava/lang/String;I)Z
 HSPLandroid/telephony/LocationAccessPolicy;->isCurrentProfile(Landroid/content/Context;I)Z
+HSPLandroid/telephony/LteVopsSupportInfo$1;-><init>()V
+HSPLandroid/telephony/LteVopsSupportInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/LteVopsSupportInfo;
+HSPLandroid/telephony/LteVopsSupportInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/LteVopsSupportInfo;-><init>(II)V
 HSPLandroid/telephony/ModemActivityInfo$1;-><init>()V
 HSPLandroid/telephony/ModemActivityInfo;-><init>(JII[III)V
 HSPLandroid/telephony/ModemActivityInfo;->getEnergyUsed()I
@@ -30612,6 +26272,8 @@
 HSPLandroid/telephony/ModemActivityInfo;->getSleepTimeMillis()I
 HSPLandroid/telephony/ModemActivityInfo;->getTimestamp()J
 HSPLandroid/telephony/ModemActivityInfo;->getTxTimeMillis()[I
+HSPLandroid/telephony/ModemActivityInfo;->isEmpty()Z
+HSPLandroid/telephony/ModemActivityInfo;->isValid()Z
 HSPLandroid/telephony/ModemActivityInfo;->setEnergyUsed(I)V
 HSPLandroid/telephony/ModemActivityInfo;->setIdleTimeMillis(I)V
 HSPLandroid/telephony/ModemActivityInfo;->setRxTimeMillis(I)V
@@ -30620,15 +26282,15 @@
 HSPLandroid/telephony/ModemActivityInfo;->setTxTimeMillis([I)V
 HSPLandroid/telephony/ModemActivityInfo;->toString()Ljava/lang/String;
 HSPLandroid/telephony/ModemActivityInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/telephony/NeighboringCellInfo$1;-><init>()V
-HSPLandroid/telephony/NeighboringCellInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/NeighboringCellInfo;
-HSPLandroid/telephony/NeighboringCellInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/NeighboringCellInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/NeighboringCellInfo;->getCid()I
+HSPLandroid/telephony/ModemInfo$1;-><init>()V
+HSPLandroid/telephony/ModemInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/ModemInfo;
+HSPLandroid/telephony/ModemInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/ModemInfo;-><init>(IIZZ)V
+HSPLandroid/telephony/ModemInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/NetworkRegistrationState$1;-><init>()V
 HSPLandroid/telephony/NetworkRegistrationState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/NetworkRegistrationState;
 HSPLandroid/telephony/NetworkRegistrationState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/telephony/NetworkRegistrationState;-><init>(IIIIIZ[ILandroid/telephony/CellIdentity;I)V
+HSPLandroid/telephony/NetworkRegistrationState;-><init>(IIIIIZ[ILandroid/telephony/CellIdentity;IZZZLandroid/telephony/LteVopsSupportInfo;)V
 HSPLandroid/telephony/NetworkRegistrationState;-><init>(IIIIIZ[ILandroid/telephony/CellIdentity;ZIII)V
 HSPLandroid/telephony/NetworkRegistrationState;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/NetworkRegistrationState;->equals(Ljava/lang/Object;)Z
@@ -30636,12 +26298,19 @@
 HSPLandroid/telephony/NetworkRegistrationState;->getCellIdentity()Landroid/telephony/CellIdentity;
 HSPLandroid/telephony/NetworkRegistrationState;->getDataSpecificStates()Landroid/telephony/DataSpecificRegistrationStates;
 HSPLandroid/telephony/NetworkRegistrationState;->getDomain()I
-HSPLandroid/telephony/NetworkRegistrationState;->getReasonForDenial()I
+HSPLandroid/telephony/NetworkRegistrationState;->getNrStatus()I
 HSPLandroid/telephony/NetworkRegistrationState;->getRegState()I
+HSPLandroid/telephony/NetworkRegistrationState;->getRejectCause()I
+HSPLandroid/telephony/NetworkRegistrationState;->getRoamingType()I
 HSPLandroid/telephony/NetworkRegistrationState;->getTransportType()I
 HSPLandroid/telephony/NetworkRegistrationState;->getVoiceSpecificStates()Landroid/telephony/VoiceSpecificRegistrationStates;
 HSPLandroid/telephony/NetworkRegistrationState;->isEmergencyEnabled()Z
 HSPLandroid/telephony/NetworkRegistrationState;->regStateToString(I)Ljava/lang/String;
+HSPLandroid/telephony/NetworkRegistrationState;->sanitizeLocationInfo()Landroid/telephony/NetworkRegistrationState;
+HSPLandroid/telephony/NetworkRegistrationState;->serviceTypeToString(I)Ljava/lang/String;
+HSPLandroid/telephony/NetworkRegistrationState;->setAccessNetworkTechnology(I)V
+HSPLandroid/telephony/NetworkRegistrationState;->setNrStatus(I)V
+HSPLandroid/telephony/NetworkRegistrationState;->setRoamingType(I)V
 HSPLandroid/telephony/NetworkRegistrationState;->toString()Ljava/lang/String;
 HSPLandroid/telephony/NetworkRegistrationState;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/NetworkService$INetworkServiceWrapper;->createNetworkServiceProvider(I)V
@@ -30653,52 +26322,83 @@
 HSPLandroid/telephony/NetworkService$NetworkServiceProvider;->notifyStateChangedToCallbacks()V
 HSPLandroid/telephony/NetworkService$NetworkServiceProvider;->registerForStateChanged(Landroid/telephony/INetworkServiceCallback;)V
 HSPLandroid/telephony/NetworkService;-><init>()V
-HSPLandroid/telephony/NetworkService;->createNetworkServiceProvider(I)Landroid/telephony/NetworkService$NetworkServiceProvider;
 HSPLandroid/telephony/NetworkService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
 HSPLandroid/telephony/NetworkServiceCallback;->onGetNetworkRegistrationStateComplete(ILandroid/telephony/NetworkRegistrationState;)V
+HSPLandroid/telephony/PcoData$1;-><init>()V
+HSPLandroid/telephony/PcoData;->toString()Ljava/lang/String;
+HSPLandroid/telephony/PhoneCapability$1;-><init>()V
+HSPLandroid/telephony/PhoneCapability$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/PhoneCapability;
+HSPLandroid/telephony/PhoneCapability$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/PhoneCapability;-><init>(IIILjava/util/List;Z)V
+HSPLandroid/telephony/PhoneCapability;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/telephony/PhoneCapability;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/telephony/PhoneNumberFormattingTextWatcher;-><init>(Ljava/lang/String;)V
+HSPLandroid/telephony/PhoneNumberFormattingTextWatcher;->afterTextChanged(Landroid/text/Editable;)V
+HSPLandroid/telephony/PhoneNumberFormattingTextWatcher;->beforeTextChanged(Ljava/lang/CharSequence;III)V
+HSPLandroid/telephony/PhoneNumberFormattingTextWatcher;->onTextChanged(Ljava/lang/CharSequence;III)V
+HSPLandroid/telephony/PhoneNumberFormattingTextWatcher;->reformat(Ljava/lang/CharSequence;I)Ljava/lang/String;
+HSPLandroid/telephony/PhoneNumberUtils;->addTtsSpan(Landroid/text/Spannable;II)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;->extractNetworkPortionAlt(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/telephony/PhoneNumberUtils;->extractNetworkPortion(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/telephony/PhoneNumberUtils;->extractPostDialPortion(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/telephony/PhoneNumberUtils;->formatNanpNumber(Landroid/text/Editable;)V
+HSPLandroid/telephony/PhoneNumberUtils;->formatNumber(Landroid/text/Editable;I)V
+HSPLandroid/telephony/PhoneNumberUtils;->formatNumber(Ljava/lang/String;)Ljava/lang/String;
 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;
 HSPLandroid/telephony/PhoneNumberUtils;->formatNumberToE164(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/telephony/PhoneNumberUtils;->getFormatTypeFromCountryCode(Ljava/lang/String;)I
 HSPLandroid/telephony/PhoneNumberUtils;->internalCalledPartyBCDFragmentToString(Ljava/lang/StringBuilder;[BIII)V
 HSPLandroid/telephony/PhoneNumberUtils;->is12Key(C)Z
 HSPLandroid/telephony/PhoneNumberUtils;->isEmergencyNumber(Ljava/lang/String;)Z
-HSPLandroid/telephony/PhoneNumberUtils;->isEmergencyNumberInternal(ILjava/lang/String;Ljava/lang/String;Z)Z
 HSPLandroid/telephony/PhoneNumberUtils;->isGlobalPhoneNumber(Ljava/lang/String;)Z
 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
+HSPLandroid/telephony/PhoneNumberUtils;->matchIntlPrefix(Ljava/lang/String;I)Z
+HSPLandroid/telephony/PhoneNumberUtils;->matchIntlPrefixAndCC(Ljava/lang/String;I)Z
 HSPLandroid/telephony/PhoneNumberUtils;->normalizeNumber(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/telephony/PhoneNumberUtils;->replaceUnicodeDigits(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/telephony/PhoneNumberUtils;->splitAtNonNumerics(Ljava/lang/CharSequence;)Ljava/lang/String;
 HSPLandroid/telephony/PhoneNumberUtils;->stripSeparators(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/telephony/PhoneStateListener$1;->handleMessage(Landroid/os/Message;)V
+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$onMessageWaitingIndicatorChanged$5$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Z)V
+HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onPreciseCallStateChanged$23$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Landroid/telephony/PreciseCallState;)V
+HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->lambda$onServiceStateChanged$1$PhoneStateListener$IPhoneStateListenerStub(Landroid/telephony/PhoneStateListener;Landroid/telephony/ServiceState;)V
 HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCallForwardingIndicatorChanged(Z)V
 HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCallStateChanged(ILjava/lang/String;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCellInfoChanged(Ljava/util/List;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onCellLocationChanged(Landroid/os/Bundle;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onDataConnectionStateChanged(II)V
 HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onMessageWaitingIndicatorChanged(Z)V
+HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onPreciseCallStateChanged(Landroid/telephony/PreciseCallState;)V
 HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onServiceStateChanged(Landroid/telephony/ServiceState;)V
-HSPLandroid/telephony/PhoneStateListener$IPhoneStateListenerStub;->onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V
 HSPLandroid/telephony/PhoneStateListener;-><init>()V
 HSPLandroid/telephony/PhoneStateListener;-><init>(Landroid/os/Looper;)V
 HSPLandroid/telephony/PhoneStateListener;-><init>(Ljava/lang/Integer;)V
 HSPLandroid/telephony/PhoneStateListener;-><init>(Ljava/lang/Integer;Landroid/os/Looper;)V
-HSPLandroid/telephony/PhoneStateListener;->onDataConnectionStateChanged(I)V
-HSPLandroid/telephony/PhoneStateListener;->onDataConnectionStateChanged(II)V
-HSPLandroid/telephony/PhoneStateListener;->onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V
+HSPLandroid/telephony/PhysicalChannelConfig$1;-><init>()V
+HSPLandroid/telephony/PhysicalChannelConfig$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/PhysicalChannelConfig;
+HSPLandroid/telephony/PhysicalChannelConfig$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/PhysicalChannelConfig$Builder;-><init>()V
+HSPLandroid/telephony/PhysicalChannelConfig$Builder;->build()Landroid/telephony/PhysicalChannelConfig;
+HSPLandroid/telephony/PhysicalChannelConfig;-><init>(Landroid/os/Parcel;)V
+HSPLandroid/telephony/PhysicalChannelConfig;-><init>(Landroid/telephony/PhysicalChannelConfig$Builder;)V
+HSPLandroid/telephony/PhysicalChannelConfig;->getConnectionStatusString()Ljava/lang/String;
+HSPLandroid/telephony/PhysicalChannelConfig;->toString()Ljava/lang/String;
+HSPLandroid/telephony/PhysicalChannelConfig;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/PreciseCallState$1;-><init>()V
+HSPLandroid/telephony/PreciseCallState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/PreciseCallState;
+HSPLandroid/telephony/PreciseCallState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/telephony/PreciseCallState;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/PreciseDataConnectionState$1;-><init>()V
-HSPLandroid/telephony/PreciseDataConnectionState;-><init>(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Ljava/lang/String;)V
 HSPLandroid/telephony/RadioAccessFamily$1;-><init>()V
+HSPLandroid/telephony/RadioAccessFamily;->convertToNetworkTypeBitMask(I)I
 HSPLandroid/telephony/RadioAccessFamily;->getAdjustedRaf(I)I
 HSPLandroid/telephony/RadioAccessFamily;->getNetworkTypeFromRaf(I)I
 HSPLandroid/telephony/RadioAccessFamily;->getRadioAccessFamily()I
@@ -30712,6 +26412,7 @@
 HSPLandroid/telephony/Rlog;->secureHash([B)Ljava/lang/String;
 HSPLandroid/telephony/Rlog;->v(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/telephony/Rlog;->w(Ljava/lang/String;Ljava/lang/String;)I
+HSPLandroid/telephony/Rlog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
 HSPLandroid/telephony/ServiceState$1;-><init>()V
 HSPLandroid/telephony/ServiceState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/ServiceState;
 HSPLandroid/telephony/ServiceState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -30719,12 +26420,13 @@
 HSPLandroid/telephony/ServiceState;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/telephony/ServiceState;-><init>(Landroid/telephony/ServiceState;)V
 HSPLandroid/telephony/ServiceState;->addNetworkRegistrationState(Landroid/telephony/NetworkRegistrationState;)V
+HSPLandroid/telephony/ServiceState;->bearerBitmapHasCdma(I)Z
 HSPLandroid/telephony/ServiceState;->convertBearerBitmaskToNetworkTypeBitmask(I)I
 HSPLandroid/telephony/ServiceState;->convertNetworkTypeBitmaskToBearerBitmask(I)I
 HSPLandroid/telephony/ServiceState;->copyFrom(Landroid/telephony/ServiceState;)V
+HSPLandroid/telephony/ServiceState;->describeContents()I
 HSPLandroid/telephony/ServiceState;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telephony/ServiceState;->fillInNotifierBundle(Landroid/os/Bundle;)V
-HSPLandroid/telephony/ServiceState;->getBitmaskFromString(Ljava/lang/String;)I
 HSPLandroid/telephony/ServiceState;->getCdmaDefaultRoamingIndicator()I
 HSPLandroid/telephony/ServiceState;->getCdmaEriIconIndex()I
 HSPLandroid/telephony/ServiceState;->getCdmaEriIconMode()I
@@ -30744,7 +26446,10 @@
 HSPLandroid/telephony/ServiceState;->getDuplexMode()I
 HSPLandroid/telephony/ServiceState;->getIsManualSelection()Z
 HSPLandroid/telephony/ServiceState;->getLteEarfcnRsrpBoost()I
+HSPLandroid/telephony/ServiceState;->getNetworkRegistrationState(II)Landroid/telephony/NetworkRegistrationState;
+HSPLandroid/telephony/ServiceState;->getNrFrequencyRange()I
 HSPLandroid/telephony/ServiceState;->getOperatorAlpha()Ljava/lang/String;
+HSPLandroid/telephony/ServiceState;->getOperatorAlphaLong()Ljava/lang/String;
 HSPLandroid/telephony/ServiceState;->getOperatorNumeric()Ljava/lang/String;
 HSPLandroid/telephony/ServiceState;->getRilDataRadioTechnology()I
 HSPLandroid/telephony/ServiceState;->getRilVoiceRadioTechnology()I
@@ -30760,29 +26465,30 @@
 HSPLandroid/telephony/ServiceState;->isEmergencyOnly()Z
 HSPLandroid/telephony/ServiceState;->isGsm(I)Z
 HSPLandroid/telephony/ServiceState;->isUsingCarrierAggregation()Z
-HSPLandroid/telephony/ServiceState;->mergeServiceStates(Landroid/telephony/ServiceState;Landroid/telephony/ServiceState;)Landroid/telephony/ServiceState;
 HSPLandroid/telephony/ServiceState;->networkTypeToRilRadioTechnology(I)I
 HSPLandroid/telephony/ServiceState;->newFromBundle(Landroid/os/Bundle;)Landroid/telephony/ServiceState;
 HSPLandroid/telephony/ServiceState;->rilRadioTechnologyToAccessNetworkType(I)I
 HSPLandroid/telephony/ServiceState;->rilRadioTechnologyToNetworkType(I)I
 HSPLandroid/telephony/ServiceState;->rilRadioTechnologyToString(I)Ljava/lang/String;
+HSPLandroid/telephony/ServiceState;->roamingTypeToString(I)Ljava/lang/String;
+HSPLandroid/telephony/ServiceState;->sanitizeLocationInfo(Z)Landroid/telephony/ServiceState;
 HSPLandroid/telephony/ServiceState;->setCdmaDefaultRoamingIndicator(I)V
 HSPLandroid/telephony/ServiceState;->setCdmaEriIconIndex(I)V
 HSPLandroid/telephony/ServiceState;->setCdmaEriIconMode(I)V
 HSPLandroid/telephony/ServiceState;->setCdmaRoamingIndicator(I)V
 HSPLandroid/telephony/ServiceState;->setCdmaSystemAndNetworkId(II)V
+HSPLandroid/telephony/ServiceState;->setCellBandwidths([I)V
 HSPLandroid/telephony/ServiceState;->setChannelNumber(I)V
 HSPLandroid/telephony/ServiceState;->setCssIndicator(I)V
 HSPLandroid/telephony/ServiceState;->setDataOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/telephony/ServiceState;->setDataRegState(I)V
 HSPLandroid/telephony/ServiceState;->setDataRoaming(Z)V
-HSPLandroid/telephony/ServiceState;->setDataRoamingFromRegistration(Z)V
 HSPLandroid/telephony/ServiceState;->setDataRoamingType(I)V
 HSPLandroid/telephony/ServiceState;->setEmergencyOnly(Z)V
-HSPLandroid/telephony/ServiceState;->setFromNotifierBundle(Landroid/os/Bundle;)V
 HSPLandroid/telephony/ServiceState;->setIsManualSelection(Z)V
 HSPLandroid/telephony/ServiceState;->setIsUsingCarrierAggregation(Z)V
 HSPLandroid/telephony/ServiceState;->setLteEarfcnRsrpBoost(I)V
+HSPLandroid/telephony/ServiceState;->setNrFrequencyRange(I)V
 HSPLandroid/telephony/ServiceState;->setNullState(I)V
 HSPLandroid/telephony/ServiceState;->setOperatorName(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/telephony/ServiceState;->setRilDataRadioTechnology(I)V
@@ -30799,43 +26505,14 @@
 HSPLandroid/telephony/SignalStrength$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/SignalStrength;
 HSPLandroid/telephony/SignalStrength$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/telephony/SignalStrength;-><init>()V
-HSPLandroid/telephony/SignalStrength;-><init>(IIIIIIIIIIIII)V
-HSPLandroid/telephony/SignalStrength;-><init>(IIIIIIIIIIIIIIIIZZLjava/lang/String;)V
+HSPLandroid/telephony/SignalStrength;-><init>(Landroid/hardware/radio/V1_2/SignalStrength;)V
 HSPLandroid/telephony/SignalStrength;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/telephony/SignalStrength;-><init>(Landroid/telephony/SignalStrength;)V
-HSPLandroid/telephony/SignalStrength;-><init>(Z)V
-HSPLandroid/telephony/SignalStrength;->copyFrom(Landroid/telephony/SignalStrength;)V
 HSPLandroid/telephony/SignalStrength;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telephony/SignalStrength;->fillInNotifierBundle(Landroid/os/Bundle;)V
-HSPLandroid/telephony/SignalStrength;->fixType()V
-HSPLandroid/telephony/SignalStrength;->getCdmaDbm()I
-HSPLandroid/telephony/SignalStrength;->getCdmaEcio()I
-HSPLandroid/telephony/SignalStrength;->getCdmaLevel()I
-HSPLandroid/telephony/SignalStrength;->getDefaultLteRsrpThresholds()[I
-HSPLandroid/telephony/SignalStrength;->getDefaultWcdmaRscpThresholds()[I
-HSPLandroid/telephony/SignalStrength;->getEvdoDbm()I
-HSPLandroid/telephony/SignalStrength;->getEvdoLevel()I
-HSPLandroid/telephony/SignalStrength;->getEvdoSnr()I
-HSPLandroid/telephony/SignalStrength;->getGsmLevel()I
-HSPLandroid/telephony/SignalStrength;->getGsmSignalStrength()I
 HSPLandroid/telephony/SignalStrength;->getLevel()I
-HSPLandroid/telephony/SignalStrength;->getLteLevel()I
-HSPLandroid/telephony/SignalStrength;->getLteRsrp()I
-HSPLandroid/telephony/SignalStrength;->getLteRssnr()I
-HSPLandroid/telephony/SignalStrength;->getLteSignalStrength()I
-HSPLandroid/telephony/SignalStrength;->getTdScdmaDbm()I
-HSPLandroid/telephony/SignalStrength;->getTdScdmaLevel()I
-HSPLandroid/telephony/SignalStrength;->getWcdmaLevel()I
-HSPLandroid/telephony/SignalStrength;->isGsm()Z
-HSPLandroid/telephony/SignalStrength;->setGsm(Z)V
-HSPLandroid/telephony/SignalStrength;->setLteRsrpBoost(I)V
-HSPLandroid/telephony/SignalStrength;->setLteRsrpThresholds([I)V
-HSPLandroid/telephony/SignalStrength;->setUseOnlyRsrpForLteLevel(Z)V
-HSPLandroid/telephony/SignalStrength;->setWcdmaDefaultSignalMeasurement(Ljava/lang/String;)V
-HSPLandroid/telephony/SignalStrength;->setWcdmaRscpThresholds([I)V
+HSPLandroid/telephony/SignalStrength;->getPrimary()Landroid/telephony/CellSignalStrength;
 HSPLandroid/telephony/SignalStrength;->toString()Ljava/lang/String;
-HSPLandroid/telephony/SignalStrength;->useOnlyRsrpForLteLevel()Z
-HSPLandroid/telephony/SignalStrength;->validateInput()V
+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
 HSPLandroid/telephony/SmsManager;->getDefault()Landroid/telephony/SmsManager;
@@ -30843,16 +26520,20 @@
 HSPLandroid/telephony/SubscriptionInfo$1;-><init>()V
 HSPLandroid/telephony/SubscriptionInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/SubscriptionInfo;
 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;IILjava/lang/String;Z[Landroid/telephony/UiccAccessRule;Ljava/lang/String;)V
-HSPLandroid/telephony/SubscriptionInfo;->getCountryIso()Ljava/lang/String;
+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;ZZIII)V
+HSPLandroid/telephony/SubscriptionInfo;->getCarrierId()I
 HSPLandroid/telephony/SubscriptionInfo;->getDisplayName()Ljava/lang/CharSequence;
+HSPLandroid/telephony/SubscriptionInfo;->getGroupUuid()Ljava/lang/String;
 HSPLandroid/telephony/SubscriptionInfo;->getIccId()Ljava/lang/String;
 HSPLandroid/telephony/SubscriptionInfo;->getMcc()I
 HSPLandroid/telephony/SubscriptionInfo;->getMnc()I
 HSPLandroid/telephony/SubscriptionInfo;->getNameSource()I
 HSPLandroid/telephony/SubscriptionInfo;->getNumber()Ljava/lang/String;
+HSPLandroid/telephony/SubscriptionInfo;->getSimSlotIndex()I
 HSPLandroid/telephony/SubscriptionInfo;->getSubscriptionId()I
 HSPLandroid/telephony/SubscriptionInfo;->givePrintableIccid(Ljava/lang/String;)Ljava/lang/String;
+HSPLandroid/telephony/SubscriptionInfo;->isEmbedded()Z
+HSPLandroid/telephony/SubscriptionInfo;->isOpportunistic()Z
 HSPLandroid/telephony/SubscriptionInfo;->toString()Ljava/lang/String;
 HSPLandroid/telephony/SubscriptionInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener$1;->onSubscriptionsChanged()V
@@ -30861,30 +26542,40 @@
 HSPLandroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;-><init>(Landroid/os/Looper;)V
 HSPLandroid/telephony/SubscriptionManager;->addOnSubscriptionsChangedListener(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
 HSPLandroid/telephony/SubscriptionManager;->addSubscriptionInfoRecord(Ljava/lang/String;I)Landroid/net/Uri;
+HSPLandroid/telephony/SubscriptionManager;->addSubscriptionInfoRecord(Ljava/lang/String;Ljava/lang/String;II)V
 HSPLandroid/telephony/SubscriptionManager;->from(Landroid/content/Context;)Landroid/telephony/SubscriptionManager;
 HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionIdList()[I
 HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfo(I)Landroid/telephony/SubscriptionInfo;
 HSPLandroid/telephony/SubscriptionManager;->getActiveSubscriptionInfoCountMax()I
 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
 HSPLandroid/telephony/SubscriptionManager;->getDefaultVoiceSubscriptionId()I
 HSPLandroid/telephony/SubscriptionManager;->getIntegerSubscriptionProperty(ILjava/lang/String;ILandroid/content/Context;)I
 HSPLandroid/telephony/SubscriptionManager;->getPhoneId(I)I
+HSPLandroid/telephony/SubscriptionManager;->getResourcesForSubId(Landroid/content/Context;I)Landroid/content/res/Resources;
+HSPLandroid/telephony/SubscriptionManager;->getResourcesForSubId(Landroid/content/Context;IZ)Landroid/content/res/Resources;
 HSPLandroid/telephony/SubscriptionManager;->getSimStateForSlotIndex(I)I
 HSPLandroid/telephony/SubscriptionManager;->getSlotIndex(I)I
 HSPLandroid/telephony/SubscriptionManager;->getSubId(I)[I
 HSPLandroid/telephony/SubscriptionManager;->getSubscriptionProperty(ILjava/lang/String;Landroid/content/Context;)Ljava/lang/String;
+HSPLandroid/telephony/SubscriptionManager;->getUriForSubscriptionId(I)Landroid/net/Uri;
 HSPLandroid/telephony/SubscriptionManager;->isActiveSubId(I)Z
 HSPLandroid/telephony/SubscriptionManager;->isValidPhoneId(I)Z
 HSPLandroid/telephony/SubscriptionManager;->isValidSlotIndex(I)Z
 HSPLandroid/telephony/SubscriptionManager;->isValidSubscriptionId(I)Z
+HSPLandroid/telephony/SubscriptionManager;->lambda$getActiveSubscriptionInfoList$0$SubscriptionManager(Landroid/telephony/SubscriptionInfo;)Z
 HSPLandroid/telephony/SubscriptionManager;->putPhoneIdAndSubIdExtra(Landroid/content/Intent;I)V
 HSPLandroid/telephony/SubscriptionManager;->putPhoneIdAndSubIdExtra(Landroid/content/Intent;II)V
+HSPLandroid/telephony/SubscriptionManager;->removeOnSubscriptionsChangedListener(Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;)V
 HSPLandroid/telephony/SubscriptionManager;->setDefaultDataSubId(I)V
+HSPLandroid/telephony/SubscriptionManager;->shouldHideSubscription(Landroid/telephony/SubscriptionInfo;)Z
 HSPLandroid/telephony/TelephonyHistogram$1;-><init>()V
 HSPLandroid/telephony/TelephonyHistogram;-><init>(III)V
 HSPLandroid/telephony/TelephonyHistogram;->addTimeTaken(I)V
@@ -30893,46 +26584,44 @@
 HSPLandroid/telephony/TelephonyManager;-><init>()V
 HSPLandroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/telephony/TelephonyManager;-><init>(Landroid/content/Context;I)V
-HSPLandroid/telephony/TelephonyManager;->checkCarrierPrivilegesForPackage(Ljava/lang/String;)I
 HSPLandroid/telephony/TelephonyManager;->checkCarrierPrivilegesForPackageAnyPhone(Ljava/lang/String;)I
 HSPLandroid/telephony/TelephonyManager;->createForPhoneAccountHandle(Landroid/telecom/PhoneAccountHandle;)Landroid/telephony/TelephonyManager;
+HSPLandroid/telephony/TelephonyManager;->createForSubscriptionId(I)Landroid/telephony/TelephonyManager;
+HSPLandroid/telephony/TelephonyManager;->disableVisualVoicemailSmsFilter(I)V
 HSPLandroid/telephony/TelephonyManager;->enableIms(I)V
 HSPLandroid/telephony/TelephonyManager;->from(Landroid/content/Context;)Landroid/telephony/TelephonyManager;
 HSPLandroid/telephony/TelephonyManager;->getAllCellInfo()Ljava/util/List;
-HSPLandroid/telephony/TelephonyManager;->getCallState()I
+HSPLandroid/telephony/TelephonyManager;->getCardIdForDefaultEuicc()I
 HSPLandroid/telephony/TelephonyManager;->getCarrierConfig()Landroid/os/PersistableBundle;
 HSPLandroid/telephony/TelephonyManager;->getCarrierInfoForImsiEncryption(I)Landroid/telephony/ImsiEncryptionInfo;
 HSPLandroid/telephony/TelephonyManager;->getCarrierPackageNamesForIntentAndPhone(Landroid/content/Intent;I)Ljava/util/List;
-HSPLandroid/telephony/TelephonyManager;->getCellLocation()Landroid/telephony/CellLocation;
+HSPLandroid/telephony/TelephonyManager;->getCertsFromCarrierPrivilegeAccessRules()Ljava/util/List;
 HSPLandroid/telephony/TelephonyManager;->getCurrentPhoneType()I
 HSPLandroid/telephony/TelephonyManager;->getCurrentPhoneType(I)I
 HSPLandroid/telephony/TelephonyManager;->getCurrentPhoneTypeForSlot(I)I
 HSPLandroid/telephony/TelephonyManager;->getDataEnabled()Z
 HSPLandroid/telephony/TelephonyManager;->getDataEnabled(I)Z
+HSPLandroid/telephony/TelephonyManager;->getDataNetworkType()I
 HSPLandroid/telephony/TelephonyManager;->getDataNetworkType(I)I
 HSPLandroid/telephony/TelephonyManager;->getDataState()I
 HSPLandroid/telephony/TelephonyManager;->getDefault()Landroid/telephony/TelephonyManager;
 HSPLandroid/telephony/TelephonyManager;->getDeviceId()Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getGroupIdLevel1()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getImei()Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getImei(I)Ljava/lang/String;
 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;->getIsimDomain()Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getIsimImpu()[Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getIsimIst()Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getLine1AlphaTag()Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getLine1AlphaTag(I)Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getLine1Number()Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getLine1Number(I)Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getLteOnCdmaModeStatic()I
+HSPLandroid/telephony/TelephonyManager;->getMeid()Ljava/lang/String;
+HSPLandroid/telephony/TelephonyManager;->getMeid(I)Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getMergedSubscriberIds()[Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getMmsUAProfUrl()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getMmsUserAgent()Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getMultiSimConfiguration()Landroid/telephony/TelephonyManager$MultiSimVariants;
-HSPLandroid/telephony/TelephonyManager;->getNeighboringCellInfo()Ljava/util/List;
-HSPLandroid/telephony/TelephonyManager;->getNetworkClass(I)I
 HSPLandroid/telephony/TelephonyManager;->getNetworkCountryIso()Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getNetworkCountryIso(I)Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getNetworkCountryIsoForPhone(I)Ljava/lang/String;
@@ -30961,8 +26650,6 @@
 HSPLandroid/telephony/TelephonyManager;->getSimOperatorNumeric()Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getSimOperatorNumeric(I)Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getSimOperatorNumericForPhone(I)Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimSerialNumber()Ljava/lang/String;
-HSPLandroid/telephony/TelephonyManager;->getSimSerialNumber(I)Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getSimState()I
 HSPLandroid/telephony/TelephonyManager;->getSimState(I)I
 HSPLandroid/telephony/TelephonyManager;->getSimStateIncludingLoaded()I
@@ -30975,18 +26662,24 @@
 HSPLandroid/telephony/TelephonyManager;->getSubscriberId(I)Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getTelephonyProperty(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/telephony/TelephonyManager;->getTetherApnRequired()I
+HSPLandroid/telephony/TelephonyManager;->getUiccCardsInfo()Ljava/util/List;
 HSPLandroid/telephony/TelephonyManager;->getVisualVoicemailPackageName()Ljava/lang/String;
+HSPLandroid/telephony/TelephonyManager;->getVoiceNetworkType()I
 HSPLandroid/telephony/TelephonyManager;->getVoiceNetworkType(I)I
+HSPLandroid/telephony/TelephonyManager;->getVoicemailRingtoneUri(Landroid/telecom/PhoneAccountHandle;)Landroid/net/Uri;
 HSPLandroid/telephony/TelephonyManager;->getVtDataUsage(I)Landroid/net/NetworkStats;
+HSPLandroid/telephony/TelephonyManager;->hasCarrierPrivileges(I)Z
 HSPLandroid/telephony/TelephonyManager;->hasIccCard(I)Z
+HSPLandroid/telephony/TelephonyManager;->isCurrentEmergencyNumber(Ljava/lang/String;)Z
 HSPLandroid/telephony/TelephonyManager;->isDataCapable()Z
 HSPLandroid/telephony/TelephonyManager;->isDataEnabled()Z
 HSPLandroid/telephony/TelephonyManager;->isMultiSimEnabled()Z
 HSPLandroid/telephony/TelephonyManager;->isNetworkRoaming()Z
 HSPLandroid/telephony/TelephonyManager;->isNetworkRoaming(I)Z
-HSPLandroid/telephony/TelephonyManager;->isResolvingImsBinding()Z
 HSPLandroid/telephony/TelephonyManager;->isSmsCapable()Z
+HSPLandroid/telephony/TelephonyManager;->isTtyModeSupported()Z
 HSPLandroid/telephony/TelephonyManager;->isVoiceCapable()Z
+HSPLandroid/telephony/TelephonyManager;->isVoicemailVibrationEnabled(Landroid/telecom/PhoneAccountHandle;)Z
 HSPLandroid/telephony/TelephonyManager;->listen(Landroid/telephony/PhoneStateListener;I)V
 HSPLandroid/telephony/TelephonyManager;->requestModemActivityInfo(Landroid/os/ResultReceiver;)V
 HSPLandroid/telephony/TelephonyManager;->setBasebandVersionForPhone(ILjava/lang/String;)V
@@ -31000,175 +26693,231 @@
 HSPLandroid/telephony/TelephonyManager;->setSimOperatorNumericForPhone(ILjava/lang/String;)V
 HSPLandroid/telephony/TelephonyManager;->setSimStateForPhone(ILjava/lang/String;)V
 HSPLandroid/telephony/TelephonyManager;->setTelephonyProperty(ILjava/lang/String;Ljava/lang/String;)V
+HSPLandroid/telephony/TelephonyManager;->setTelephonyProperty(Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/telephony/TelephonyManager;->setVisualVoicemailSmsFilterSettings(Landroid/telephony/VisualVoicemailSmsFilterSettings;)V
 HSPLandroid/telephony/UiccAccessRule$1;-><init>()V
+HSPLandroid/telephony/UiccCardInfo$1;-><init>()V
+HSPLandroid/telephony/UiccSlotInfo$1;-><init>()V
+HSPLandroid/telephony/UiccSlotInfo;-><init>(ZZLjava/lang/String;IIZ)V
+HSPLandroid/telephony/UiccSlotInfo;-><init>(ZZLjava/lang/String;IIZZ)V
+HSPLandroid/telephony/UiccSlotInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/telephony/VisualVoicemailService$1;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/telephony/VisualVoicemailService$VisualVoicemailTask;->finish()V
 HSPLandroid/telephony/VisualVoicemailService;-><init>()V
 HSPLandroid/telephony/VisualVoicemailService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
-HSPLandroid/telephony/VisualVoicemailService;->onCellServiceConnected(Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;Landroid/telecom/PhoneAccountHandle;)V
-HSPLandroid/telephony/VisualVoicemailService;->onSimRemoved(Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;Landroid/telecom/PhoneAccountHandle;)V
-HSPLandroid/telephony/VisualVoicemailService;->onSmsReceived(Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;Landroid/telephony/VisualVoicemailSms;)V
-HSPLandroid/telephony/VisualVoicemailService;->onStopped(Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;)V
-HSPLandroid/telephony/VoLteServiceState$1;-><init>()V
 HSPLandroid/telephony/VoiceSpecificRegistrationStates$1;-><init>()V
 HSPLandroid/telephony/VoiceSpecificRegistrationStates$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/VoiceSpecificRegistrationStates;
 HSPLandroid/telephony/VoiceSpecificRegistrationStates$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/telephony/VoiceSpecificRegistrationStates;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telephony/VoiceSpecificRegistrationStates;->toString()Ljava/lang/String;
 HSPLandroid/telephony/VoiceSpecificRegistrationStates;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/telephony/cdma/CdmaCellLocation;->fillInNotifierBundle(Landroid/os/Bundle;)V
+HSPLandroid/telephony/data/ApnSetting$1;-><init>()V
+HSPLandroid/telephony/data/ApnSetting$Builder;-><init>()V
+HSPLandroid/telephony/data/ApnSetting$Builder;->access$2700(Landroid/telephony/data/ApnSetting$Builder;I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->buildWithoutCheck()Landroid/telephony/data/ApnSetting;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setApnName(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setApnSetId(I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setApnTypeBitmask(I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setAuthType(I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setCarrierEnabled(Z)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setCarrierId(I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setEntryName(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setMaxConns(I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setMaxConnsTime(I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setMmsProxyAddress(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setMmsProxyPort(I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setMmsc(Landroid/net/Uri;)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setModemCognitive(Z)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setMtu(I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setMvnoMatchData(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setMvnoType(I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setNetworkTypeBitmask(I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setOperatorNumeric(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setPassword(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setProfileId(I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setProtocol(I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setProxyAddress(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setProxyPort(I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setRoamingProtocol(I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setUser(Ljava/lang/String;)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting$Builder;->setWaitTime(I)Landroid/telephony/data/ApnSetting$Builder;
+HSPLandroid/telephony/data/ApnSetting;-><init>(Landroid/telephony/data/ApnSetting$Builder;)V
+HSPLandroid/telephony/data/ApnSetting;->UriFromString(Ljava/lang/String;)Landroid/net/Uri;
+HSPLandroid/telephony/data/ApnSetting;->canHandleType(I)Z
+HSPLandroid/telephony/data/ApnSetting;->equals(Ljava/lang/Object;)Z
+HSPLandroid/telephony/data/ApnSetting;->equals(Ljava/lang/Object;Z)Z
+HSPLandroid/telephony/data/ApnSetting;->getApnName()Ljava/lang/String;
+HSPLandroid/telephony/data/ApnSetting;->getApnTypeBitmask()I
+HSPLandroid/telephony/data/ApnSetting;->getApnTypeString(I)Ljava/lang/String;
+HSPLandroid/telephony/data/ApnSetting;->getApnTypesBitmaskFromString(Ljava/lang/String;)I
+HSPLandroid/telephony/data/ApnSetting;->getApnTypesStringFromBitmask(I)Ljava/lang/String;
+HSPLandroid/telephony/data/ApnSetting;->getAuthType()I
+HSPLandroid/telephony/data/ApnSetting;->getEntryName()Ljava/lang/String;
+HSPLandroid/telephony/data/ApnSetting;->getId()I
+HSPLandroid/telephony/data/ApnSetting;->getMaxConns()I
+HSPLandroid/telephony/data/ApnSetting;->getMaxConnsTime()I
+HSPLandroid/telephony/data/ApnSetting;->getMtu()I
+HSPLandroid/telephony/data/ApnSetting;->getMvnoTypeIntFromString(Ljava/lang/String;)I
+HSPLandroid/telephony/data/ApnSetting;->getNetworkTypeBitmask()I
+HSPLandroid/telephony/data/ApnSetting;->getOperatorNumeric()Ljava/lang/String;
+HSPLandroid/telephony/data/ApnSetting;->getPassword()Ljava/lang/String;
+HSPLandroid/telephony/data/ApnSetting;->getPermanentFailed()Z
+HSPLandroid/telephony/data/ApnSetting;->getProfileId()I
+HSPLandroid/telephony/data/ApnSetting;->getProtocol()I
+HSPLandroid/telephony/data/ApnSetting;->getProtocolIntFromString(Ljava/lang/String;)I
+HSPLandroid/telephony/data/ApnSetting;->getProtocolStringFromInt(I)Ljava/lang/String;
+HSPLandroid/telephony/data/ApnSetting;->getProxyAddressAsString()Ljava/lang/String;
+HSPLandroid/telephony/data/ApnSetting;->getProxyPort()I
+HSPLandroid/telephony/data/ApnSetting;->getRoamingProtocol()I
+HSPLandroid/telephony/data/ApnSetting;->getUser()Ljava/lang/String;
+HSPLandroid/telephony/data/ApnSetting;->getWaitTime()I
+HSPLandroid/telephony/data/ApnSetting;->isEnabled()Z
+HSPLandroid/telephony/data/ApnSetting;->isPersistent()Z
+HSPLandroid/telephony/data/ApnSetting;->makeApnSetting(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/net/Uri;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;IIIIZIIZIIIIILjava/lang/String;II)Landroid/telephony/data/ApnSetting;
+HSPLandroid/telephony/data/ApnSetting;->makeApnSetting(Landroid/database/Cursor;)Landroid/telephony/data/ApnSetting;
+HSPLandroid/telephony/data/ApnSetting;->portFromString(Ljava/lang/String;)I
+HSPLandroid/telephony/data/ApnSetting;->setPermanentFailed(Z)V
+HSPLandroid/telephony/data/ApnSetting;->similar(Landroid/telephony/data/ApnSetting;)Z
+HSPLandroid/telephony/data/ApnSetting;->toString()Ljava/lang/String;
 HSPLandroid/telephony/data/DataCallResponse$1;-><init>()V
-HSPLandroid/telephony/data/DataCallResponse;-><init>(IIIILjava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;I)V
+HSPLandroid/telephony/data/DataCallResponse;-><init>(IIIIILjava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;I)V
 HSPLandroid/telephony/data/DataCallResponse;->toString()Ljava/lang/String;
 HSPLandroid/telephony/data/DataProfile$1;-><init>()V
-HSPLandroid/telephony/data/DataProfile;-><init>(ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;IIIIZILjava/lang/String;IILjava/lang/String;Ljava/lang/String;Z)V
+HSPLandroid/telephony/data/DataProfile;-><init>(ILjava/lang/String;IILjava/lang/String;Ljava/lang/String;IIIIZIIIIZZ)V
+HSPLandroid/telephony/data/DataProfile;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telephony/data/DataProfile;->toString()Ljava/lang/String;
 HSPLandroid/telephony/data/DataService$DataServiceHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/telephony/data/DataService$DataServiceProvider;-><init>(Landroid/telephony/data/DataService;I)V
 HSPLandroid/telephony/data/DataService$DataServiceProvider;->notifyDataCallListChanged(Ljava/util/List;)V
 HSPLandroid/telephony/data/DataService$DataServiceProvider;->registerForDataCallListChanged(Landroid/telephony/data/IDataServiceCallback;)V
 HSPLandroid/telephony/data/DataService$IDataServiceWrapper;->createDataServiceProvider(I)V
+HSPLandroid/telephony/data/DataService$IDataServiceWrapper;->deactivateDataCall(IIILandroid/telephony/data/IDataServiceCallback;)V
 HSPLandroid/telephony/data/DataService$IDataServiceWrapper;->registerForDataCallListChanged(ILandroid/telephony/data/IDataServiceCallback;)V
+HSPLandroid/telephony/data/DataService$IDataServiceWrapper;->setDataProfile(ILjava/util/List;ZLandroid/telephony/data/IDataServiceCallback;)V
 HSPLandroid/telephony/data/DataService$IDataServiceWrapper;->setInitialAttachApn(ILandroid/telephony/data/DataProfile;ZLandroid/telephony/data/IDataServiceCallback;)V
 HSPLandroid/telephony/data/DataService$IDataServiceWrapper;->setupDataCall(IILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/telephony/data/IDataServiceCallback;)V
 HSPLandroid/telephony/data/DataService;-><init>()V
-HSPLandroid/telephony/data/DataService;->createDataServiceProvider(I)Landroid/telephony/data/DataService$DataServiceProvider;
 HSPLandroid/telephony/data/DataService;->onBind(Landroid/content/Intent;)Landroid/os/IBinder;
+HSPLandroid/telephony/data/DataServiceCallback;->onDeactivateDataCallComplete(I)V
 HSPLandroid/telephony/data/DataServiceCallback;->onSetupDataCallComplete(ILandroid/telephony/data/DataCallResponse;)V
 HSPLandroid/telephony/data/IDataService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/data/IDataService;
-HSPLandroid/telephony/data/IDataService;->createDataServiceProvider(I)V
-HSPLandroid/telephony/data/IDataService;->deactivateDataCall(IIILandroid/telephony/data/IDataServiceCallback;)V
-HSPLandroid/telephony/data/IDataService;->getDataCallList(ILandroid/telephony/data/IDataServiceCallback;)V
-HSPLandroid/telephony/data/IDataService;->registerForDataCallListChanged(ILandroid/telephony/data/IDataServiceCallback;)V
-HSPLandroid/telephony/data/IDataService;->removeDataServiceProvider(I)V
-HSPLandroid/telephony/data/IDataService;->setDataProfile(ILjava/util/List;ZLandroid/telephony/data/IDataServiceCallback;)V
-HSPLandroid/telephony/data/IDataService;->setInitialAttachApn(ILandroid/telephony/data/DataProfile;ZLandroid/telephony/data/IDataServiceCallback;)V
-HSPLandroid/telephony/data/IDataService;->setupDataCall(IILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/telephony/data/IDataServiceCallback;)V
-HSPLandroid/telephony/data/IDataService;->unregisterForDataCallListChanged(ILandroid/telephony/data/IDataServiceCallback;)V
 HSPLandroid/telephony/data/IDataServiceCallback$Stub;-><init>()V
-HSPLandroid/telephony/data/IDataServiceCallback;->onDataCallListChanged(Ljava/util/List;)V
-HSPLandroid/telephony/data/IDataServiceCallback;->onDeactivateDataCallComplete(I)V
-HSPLandroid/telephony/data/IDataServiceCallback;->onGetDataCallListComplete(ILjava/util/List;)V
-HSPLandroid/telephony/data/IDataServiceCallback;->onSetDataProfileComplete(I)V
-HSPLandroid/telephony/data/IDataServiceCallback;->onSetInitialAttachApnComplete(I)V
-HSPLandroid/telephony/data/IDataServiceCallback;->onSetupDataCallComplete(ILandroid/telephony/data/DataCallResponse;)V
+HSPLandroid/telephony/emergency/EmergencyNumber$1;-><init>()V
+HSPLandroid/telephony/emergency/EmergencyNumber;->areSameEmergencyNumbers(Landroid/telephony/emergency/EmergencyNumber;Landroid/telephony/emergency/EmergencyNumber;)Z
+HSPLandroid/telephony/emergency/EmergencyNumber;->compareTo(Ljava/lang/Object;)I
+HSPLandroid/telephony/emergency/EmergencyNumber;->getDisplayPriorityScore()I
+HSPLandroid/telephony/emergency/EmergencyNumber;->hashCode()I
+HSPLandroid/telephony/emergency/EmergencyNumber;->mergeSameNumbersInEmergencyNumberList(Ljava/util/List;)V
+HSPLandroid/telephony/emergency/EmergencyNumber;->toString()Ljava/lang/String;
+HSPLandroid/telephony/emergency/EmergencyNumber;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/telephony/euicc/EuiccManager;-><init>(Landroid/content/Context;)V
 HSPLandroid/telephony/euicc/EuiccManager;->isEnabled()Z
-HSPLandroid/telephony/gsm/GsmCellLocation;->equals(Ljava/lang/Object;)Z
 HSPLandroid/telephony/gsm/GsmCellLocation;->fillInNotifierBundle(Landroid/os/Bundle;)V
 HSPLandroid/telephony/gsm/GsmCellLocation;->getCid()I
-HSPLandroid/telephony/gsm/GsmCellLocation;->getLac()I
-HSPLandroid/telephony/gsm/GsmCellLocation;->getPsc()I
-HSPLandroid/telephony/gsm/GsmCellLocation;->isEmpty()Z
-HSPLandroid/telephony/gsm/GsmCellLocation;->setLacAndCid(II)V
-HSPLandroid/telephony/gsm/GsmCellLocation;->setPsc(I)V
-HSPLandroid/telephony/gsm/GsmCellLocation;->setStateInvalid()V
+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
+HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$AhnK6VJjwgpDNC1GXRrwfgtYvkM;->runOrThrow()V
+HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$F58PRHsH__07pmyvC0NTRprfEPU;->runOrThrow()V
+HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$J4VhgcUtd6SivHcdkzpurbTuyLc;->run()V
+HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$iuI3HyNU5eUABA_QRyzQ8Jw2-8g;->runOrThrow()V
+HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$jAP4lCkBQEdyrlgt5jaNPTlFXlY;->run()V
+HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$oDp7ilyKfflFThUCP4Du9EYoDoQ;->run()V
+HSPLandroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$q0Uz23ATIYan5EBJYUigIVvwE3g;->run()V
+HSPLandroid/telephony/ims/-$$Lambda$ProvisioningManager$Callback$CallbackBinder$R_8jXQuOM7aV7dIwYBzcWwV-YpM;->run()V
+HSPLandroid/telephony/ims/-$$Lambda$ProvisioningManager$Callback$CallbackBinder$rMBayJlNIko46WAqcRq_ggxbfrY;->runOrThrow()V
+HSPLandroid/telephony/ims/ImsMmTelManager$CapabilityCallback$CapabilityBinder;->lambda$onCapabilitiesStatusChanged$0$ImsMmTelManager$CapabilityCallback$CapabilityBinder(I)V
+HSPLandroid/telephony/ims/ImsMmTelManager$CapabilityCallback$CapabilityBinder;->lambda$onCapabilitiesStatusChanged$1$ImsMmTelManager$CapabilityCallback$CapabilityBinder(I)V
+HSPLandroid/telephony/ims/ImsMmTelManager$CapabilityCallback$CapabilityBinder;->onCapabilitiesStatusChanged(I)V
+HSPLandroid/telephony/ims/ImsMmTelManager$CapabilityCallback;-><init>()V
+HSPLandroid/telephony/ims/ImsMmTelManager$CapabilityCallback;->setExecutor(Ljava/util/concurrent/Executor;)V
+HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder$1;-><init>()V
+HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->getAccessType(I)I
+HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onDeregistered$4$ImsMmTelManager$RegistrationCallback$RegistrationBinder(Landroid/telephony/ims/ImsReasonInfo;)V
+HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onDeregistered$5$ImsMmTelManager$RegistrationCallback$RegistrationBinder(Landroid/telephony/ims/ImsReasonInfo;)V
+HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onRegistered$0$ImsMmTelManager$RegistrationCallback$RegistrationBinder(I)V
+HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onRegistered$1$ImsMmTelManager$RegistrationCallback$RegistrationBinder(I)V
+HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onSubscriberAssociatedUriChanged$8$ImsMmTelManager$RegistrationCallback$RegistrationBinder([Landroid/net/Uri;)V
+HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->lambda$onSubscriberAssociatedUriChanged$9$ImsMmTelManager$RegistrationCallback$RegistrationBinder([Landroid/net/Uri;)V
+HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->onDeregistered(Landroid/telephony/ims/ImsReasonInfo;)V
+HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->onRegistered(I)V
+HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->onRegistering(I)V
+HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;->onSubscriberAssociatedUriChanged([Landroid/net/Uri;)V
+HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback;-><init>()V
+HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback;->onSubscriberAssociatedUriChanged([Landroid/net/Uri;)V
+HSPLandroid/telephony/ims/ImsMmTelManager$RegistrationCallback;->setExecutor(Ljava/util/concurrent/Executor;)V
+HSPLandroid/telephony/ims/ImsMmTelManager;->createForSubscriptionId(I)Landroid/telephony/ims/ImsMmTelManager;
+HSPLandroid/telephony/ims/ImsMmTelManager;->getITelephony()Lcom/android/internal/telephony/ITelephony;
+HSPLandroid/telephony/ims/ImsMmTelManager;->registerMmTelCapabilityCallback(Ljava/util/concurrent/Executor;Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback;)V
+HSPLandroid/telephony/ims/ImsMmTelManager;->unregisterMmTelCapabilityCallback(Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback;)V
 HSPLandroid/telephony/ims/ImsReasonInfo$1;-><init>()V
 HSPLandroid/telephony/ims/ImsReasonInfo;-><init>(IILjava/lang/String;)V
 HSPLandroid/telephony/ims/ImsReasonInfo;->toString()Ljava/lang/String;
 HSPLandroid/telephony/ims/ImsReasonInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/telephony/ims/ImsService$1;->createMmTelFeature(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
+HSPLandroid/telephony/ims/ImsService$1;->enableIms(I)V
+HSPLandroid/telephony/ims/ImsService$1;->getConfig(I)Landroid/telephony/ims/aidl/IImsConfig;
+HSPLandroid/telephony/ims/ImsService$1;->getRegistration(I)Landroid/telephony/ims/aidl/IImsRegistration;
+HSPLandroid/telephony/ims/ImsService$1;->notifyImsServiceReadyForFeatureCreation()V
+HSPLandroid/telephony/ims/ImsService$1;->setListener(Landroid/telephony/ims/aidl/IImsServiceControllerListener;)V
 HSPLandroid/telephony/ims/ImsService$Listener;-><init>()V
+HSPLandroid/telephony/ims/ImsService;-><init>()V
+HSPLandroid/telephony/ims/ImsService;->addImsFeature(IILandroid/telephony/ims/feature/ImsFeature;)V
+HSPLandroid/telephony/ims/ProvisioningManager$Callback$CallbackBinder;->lambda$onIntConfigChanged$0$ProvisioningManager$Callback$CallbackBinder(II)V
+HSPLandroid/telephony/ims/ProvisioningManager$Callback$CallbackBinder;->lambda$onIntConfigChanged$1$ProvisioningManager$Callback$CallbackBinder(II)V
+HSPLandroid/telephony/ims/ProvisioningManager$Callback$CallbackBinder;->onIntConfigChanged(II)V
+HSPLandroid/telephony/ims/ProvisioningManager$Callback;-><init>()V
+HSPLandroid/telephony/ims/ProvisioningManager$Callback;->setExecutor(Ljava/util/concurrent/Executor;)V
 HSPLandroid/telephony/ims/aidl/IImsCapabilityCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/telephony/ims/aidl/IImsCapabilityCallback;->onCapabilitiesStatusChanged(I)V
-HSPLandroid/telephony/ims/aidl/IImsCapabilityCallback;->onChangeCapabilityConfigurationError(III)V
-HSPLandroid/telephony/ims/aidl/IImsCapabilityCallback;->onQueryCapabilityConfiguration(IIZ)V
+HSPLandroid/telephony/ims/aidl/IImsCapabilityCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/telephony/ims/aidl/IImsConfig$Stub$Proxy;->getConfigInt(I)I
 HSPLandroid/telephony/ims/aidl/IImsConfig$Stub$Proxy;->setConfigInt(II)I
+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;->addImsConfigCallback(Landroid/telephony/ims/aidl/IImsConfigCallback;)V
-HSPLandroid/telephony/ims/aidl/IImsConfig;->getConfigInt(I)I
-HSPLandroid/telephony/ims/aidl/IImsConfig;->getConfigString(I)Ljava/lang/String;
-HSPLandroid/telephony/ims/aidl/IImsConfig;->removeImsConfigCallback(Landroid/telephony/ims/aidl/IImsConfigCallback;)V
-HSPLandroid/telephony/ims/aidl/IImsConfig;->setConfigInt(II)I
-HSPLandroid/telephony/ims/aidl/IImsConfig;->setConfigString(ILjava/lang/String;)I
+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/IImsConfigCallback;->onIntConfigChanged(II)V
-HSPLandroid/telephony/ims/aidl/IImsConfigCallback;->onStringConfigChanged(ILjava/lang/String;)V
 HSPLandroid/telephony/ims/aidl/IImsMmTelFeature$Stub$Proxy;->addCapabilityCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
 HSPLandroid/telephony/ims/aidl/IImsMmTelFeature$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/telephony/ims/aidl/IImsMmTelFeature$Stub$Proxy;->getFeatureState()I
 HSPLandroid/telephony/ims/aidl/IImsMmTelFeature$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/telephony/ims/aidl/IImsMmTelFeature$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->acknowledgeSms(III)V
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->acknowledgeSmsReport(III)V
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->addCapabilityCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->changeCapabilitiesConfiguration(Landroid/telephony/ims/feature/CapabilityChangeRequest;Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->createCallProfile(II)Landroid/telephony/ims/ImsCallProfile;
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->createCallSession(Landroid/telephony/ims/ImsCallProfile;)Lcom/android/ims/internal/IImsCallSession;
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->getEcbmInterface()Lcom/android/ims/internal/IImsEcbm;
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->getFeatureState()I
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->getMultiEndpointInterface()Lcom/android/ims/internal/IImsMultiEndpoint;
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->getSmsFormat()Ljava/lang/String;
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->getUtInterface()Lcom/android/ims/internal/IImsUt;
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->onSmsReady()V
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->queryCapabilityConfiguration(IILandroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->queryCapabilityStatus()I
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->removeCapabilityCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->sendSms(IILjava/lang/String;Ljava/lang/String;Z[B)V
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->setListener(Landroid/telephony/ims/aidl/IImsMmTelListener;)V
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->setSmsListener(Landroid/telephony/ims/aidl/IImsSmsListener;)V
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->setUiTtyMode(ILandroid/os/Message;)V
-HSPLandroid/telephony/ims/aidl/IImsMmTelFeature;->shouldProcessCall([Ljava/lang/String;)I
+HSPLandroid/telephony/ims/aidl/IImsMmTelFeature$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLandroid/telephony/ims/aidl/IImsRegistration$Stub$Proxy;->addRegistrationCallback(Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
+HSPLandroid/telephony/ims/aidl/IImsRegistration$Stub$Proxy;->getRegistrationTechnology()I
 HSPLandroid/telephony/ims/aidl/IImsRegistration$Stub;->asInterface(Landroid/os/IBinder;)Landroid/telephony/ims/aidl/IImsRegistration;
-HSPLandroid/telephony/ims/aidl/IImsRegistration;->addRegistrationCallback(Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
-HSPLandroid/telephony/ims/aidl/IImsRegistration;->getRegistrationTechnology()I
-HSPLandroid/telephony/ims/aidl/IImsRegistration;->removeRegistrationCallback(Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
-HSPLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub;-><init>()V
 HSPLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/telephony/ims/aidl/IImsRegistrationCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/telephony/ims/aidl/IImsRegistrationCallback;->onDeregistered(Landroid/telephony/ims/ImsReasonInfo;)V
-HSPLandroid/telephony/ims/aidl/IImsRegistrationCallback;->onRegistered(I)V
-HSPLandroid/telephony/ims/aidl/IImsRegistrationCallback;->onRegistering(I)V
-HSPLandroid/telephony/ims/aidl/IImsRegistrationCallback;->onSubscriberAssociatedUriChanged([Landroid/net/Uri;)V
-HSPLandroid/telephony/ims/aidl/IImsRegistrationCallback;->onTechnologyChangeFailed(ILandroid/telephony/ims/ImsReasonInfo;)V
+HSPLandroid/telephony/ims/aidl/IImsServiceController$Stub$Proxy;->createRcsFeature(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Landroid/telephony/ims/aidl/IImsRcsFeature;
+HSPLandroid/telephony/ims/aidl/IImsServiceController$Stub$Proxy;->notifyImsServiceReadyForFeatureCreation()V
+HSPLandroid/telephony/ims/aidl/IImsServiceController$Stub$Proxy;->querySupportedImsFeatures()Landroid/telephony/ims/stub/ImsFeatureConfiguration;
+HSPLandroid/telephony/ims/aidl/IImsServiceController$Stub$Proxy;->setListener(Landroid/telephony/ims/aidl/IImsServiceControllerListener;)V
+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/IImsSmsListener;->onSendSmsResult(IIII)V
-HSPLandroid/telephony/ims/aidl/IImsSmsListener;->onSmsReceived(ILjava/lang/String;[B)V
-HSPLandroid/telephony/ims/aidl/IImsSmsListener;->onSmsStatusReportReceived(IILjava/lang/String;[B)V
-HSPLandroid/telephony/ims/compat/ImsService$1;->createMMTelFeature(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Lcom/android/ims/internal/IImsMMTelFeature;
-HSPLandroid/telephony/ims/compat/ImsService;-><init>()V
-HSPLandroid/telephony/ims/compat/ImsService;->addImsFeature(IILandroid/telephony/ims/compat/feature/ImsFeature;)V
-HSPLandroid/telephony/ims/compat/feature/ImsFeature;->addImsFeatureStatusCallback(Lcom/android/ims/internal/IImsFeatureStatusCallback;)V
-HSPLandroid/telephony/ims/compat/feature/ImsFeature;->getFeatureState()I
-HSPLandroid/telephony/ims/compat/feature/ImsFeature;->notifyFeatureState(I)V
-HSPLandroid/telephony/ims/compat/feature/ImsFeature;->sendImsServiceIntent(I)V
-HSPLandroid/telephony/ims/compat/feature/ImsFeature;->setContext(Landroid/content/Context;)V
-HSPLandroid/telephony/ims/compat/feature/ImsFeature;->setFeatureState(I)V
-HSPLandroid/telephony/ims/compat/feature/ImsFeature;->setSlotId(I)V
-HSPLandroid/telephony/ims/compat/feature/MMTelFeature$1;->addRegistrationListener(Lcom/android/ims/internal/IImsRegistrationListener;)V
-HSPLandroid/telephony/ims/compat/feature/MMTelFeature$1;->getConfigInterface()Lcom/android/ims/internal/IImsConfig;
-HSPLandroid/telephony/ims/compat/feature/MMTelFeature$1;->getEcbmInterface()Lcom/android/ims/internal/IImsEcbm;
-HSPLandroid/telephony/ims/compat/feature/MMTelFeature$1;->getFeatureStatus()I
-HSPLandroid/telephony/ims/compat/feature/MMTelFeature$1;->getMultiEndpointInterface()Lcom/android/ims/internal/IImsMultiEndpoint;
-HSPLandroid/telephony/ims/compat/feature/MMTelFeature$1;->getUtInterface()Lcom/android/ims/internal/IImsUt;
-HSPLandroid/telephony/ims/compat/feature/MMTelFeature$1;->setUiTTYMode(ILandroid/os/Message;)V
-HSPLandroid/telephony/ims/compat/feature/MMTelFeature$1;->startSession(Landroid/app/PendingIntent;Lcom/android/ims/internal/IImsRegistrationListener;)I
-HSPLandroid/telephony/ims/compat/feature/MMTelFeature$1;->turnOnIms()V
-HSPLandroid/telephony/ims/compat/feature/MMTelFeature;-><init>()V
-HSPLandroid/telephony/ims/compat/feature/MMTelFeature;->onFeatureReady()V
-HSPLandroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->getImsConfigImpl()Landroid/telephony/ims/compat/stub/ImsConfigImplBase;
-HSPLandroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->setFeatureValue(IIILcom/android/ims/ImsConfigListener;)V
-HSPLandroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->setProvisionedValue(II)I
-HSPLandroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;->updateCachedValue(IIZ)V
-HSPLandroid/telephony/ims/compat/stub/ImsConfigImplBase;-><init>(Landroid/content/Context;)V
-HSPLandroid/telephony/ims/compat/stub/ImsConfigImplBase;->getIImsConfig()Lcom/android/ims/internal/IImsConfig;
+HSPLandroid/telephony/ims/aidl/IRcs$Stub;-><init>()V
 HSPLandroid/telephony/ims/feature/CapabilityChangeRequest$1;-><init>()V
 HSPLandroid/telephony/ims/feature/CapabilityChangeRequest$CapabilityPair;->getCapability()I
 HSPLandroid/telephony/ims/feature/CapabilityChangeRequest$CapabilityPair;->getRadioTech()I
 HSPLandroid/telephony/ims/feature/CapabilityChangeRequest$CapabilityPair;->hashCode()I
+HSPLandroid/telephony/ims/feature/CapabilityChangeRequest$CapabilityPair;->toString()Ljava/lang/String;
 HSPLandroid/telephony/ims/feature/CapabilityChangeRequest;-><init>()V
 HSPLandroid/telephony/ims/feature/CapabilityChangeRequest;->addCapabilitiesToDisableForTech(II)V
 HSPLandroid/telephony/ims/feature/CapabilityChangeRequest;->addCapabilitiesToEnableForTech(II)V
 HSPLandroid/telephony/ims/feature/CapabilityChangeRequest;->getCapabilitiesToDisable()Ljava/util/List;
 HSPLandroid/telephony/ims/feature/CapabilityChangeRequest;->getCapabilitiesToEnable()Ljava/util/List;
+HSPLandroid/telephony/ims/feature/CapabilityChangeRequest;->toString()Ljava/lang/String;
 HSPLandroid/telephony/ims/feature/ImsFeature$Capabilities;->copy()Landroid/telephony/ims/feature/ImsFeature$Capabilities;
-HSPLandroid/telephony/ims/feature/ImsFeature$Capabilities;->isCapable(I)Z
-HSPLandroid/telephony/ims/feature/ImsFeature$Capabilities;->toString()Ljava/lang/String;
-HSPLandroid/telephony/ims/feature/ImsFeature$CapabilityCallback;-><init>()V
-HSPLandroid/telephony/ims/feature/ImsFeature$CapabilityCallback;->onCapabilitiesStatusChanged(I)V
 HSPLandroid/telephony/ims/feature/ImsFeature;-><init>()V
-HSPLandroid/telephony/ims/feature/ImsFeature;->getBinder()Landroid/os/IInterface;
+HSPLandroid/telephony/ims/feature/ImsFeature;->addCapabilityCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
+HSPLandroid/telephony/ims/feature/ImsFeature;->addImsFeatureStatusCallback(Lcom/android/ims/internal/IImsFeatureStatusCallback;)V
+HSPLandroid/telephony/ims/feature/ImsFeature;->getFeatureState()I
 HSPLandroid/telephony/ims/feature/ImsFeature;->notifyCapabilitiesStatusChanged(Landroid/telephony/ims/feature/ImsFeature$Capabilities;)V
+HSPLandroid/telephony/ims/feature/ImsFeature;->notifyFeatureState(I)V
+HSPLandroid/telephony/ims/feature/ImsFeature;->queryCapabilityStatus()Landroid/telephony/ims/feature/ImsFeature$Capabilities;
 HSPLandroid/telephony/ims/feature/ImsFeature;->requestChangeEnabledCapabilities(Landroid/telephony/ims/feature/CapabilityChangeRequest;Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
+HSPLandroid/telephony/ims/feature/ImsFeature;->sendImsServiceIntent(I)V
+HSPLandroid/telephony/ims/feature/ImsFeature;->setFeatureState(I)V
 HSPLandroid/telephony/ims/feature/MmTelFeature$1;->addCapabilityCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
 HSPLandroid/telephony/ims/feature/MmTelFeature$1;->changeCapabilitiesConfiguration(Landroid/telephony/ims/feature/CapabilityChangeRequest;Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
 HSPLandroid/telephony/ims/feature/MmTelFeature$1;->getEcbmInterface()Lcom/android/ims/internal/IImsEcbm;
@@ -31176,43 +26925,53 @@
 HSPLandroid/telephony/ims/feature/MmTelFeature$1;->getMultiEndpointInterface()Lcom/android/ims/internal/IImsMultiEndpoint;
 HSPLandroid/telephony/ims/feature/MmTelFeature$1;->getUtInterface()Lcom/android/ims/internal/IImsUt;
 HSPLandroid/telephony/ims/feature/MmTelFeature$1;->onSmsReady()V
+HSPLandroid/telephony/ims/feature/MmTelFeature$1;->removeCapabilityCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
 HSPLandroid/telephony/ims/feature/MmTelFeature$1;->setListener(Landroid/telephony/ims/aidl/IImsMmTelListener;)V
 HSPLandroid/telephony/ims/feature/MmTelFeature$1;->setSmsListener(Landroid/telephony/ims/aidl/IImsSmsListener;)V
 HSPLandroid/telephony/ims/feature/MmTelFeature$1;->setUiTtyMode(ILandroid/os/Message;)V
 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;->getSmsImplementation()Landroid/telephony/ims/stub/ImsSmsImplBase;
+HSPLandroid/telephony/ims/feature/MmTelFeature;->getEcbmInterface()Lcom/android/ims/internal/IImsEcbm;
+HSPLandroid/telephony/ims/feature/MmTelFeature;->getMultiEndpointInterface()Lcom/android/ims/internal/IImsMultiEndpoint;
+HSPLandroid/telephony/ims/feature/MmTelFeature;->getUtInterface()Lcom/android/ims/internal/IImsUt;
 HSPLandroid/telephony/ims/feature/MmTelFeature;->notifyCapabilitiesStatusChanged(Landroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;)V
+HSPLandroid/telephony/ims/feature/MmTelFeature;->queryCapabilityStatus()Landroid/telephony/ims/feature/ImsFeature$Capabilities;
 HSPLandroid/telephony/ims/feature/MmTelFeature;->setListener(Landroid/telephony/ims/aidl/IImsMmTelListener;)V
 HSPLandroid/telephony/ims/stub/-$$Lambda$ImsConfigImplBase$yL4863k-FoQyqg_FX2mWsLMqbyA;->accept(Ljava/lang/Object;)V
 HSPLandroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$cWwTXSDsk-bWPbsDJYI--DUBMnE;->accept(Ljava/lang/Object;)V
 HSPLandroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$s7PspXVbCf1Q_WSzodP2glP9TjI;->accept(Ljava/lang/Object;)V
 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$Callback;-><init>()V
-HSPLandroid/telephony/ims/stub/ImsConfigImplBase$Callback;->onIntConfigChanged(II)V
 HSPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->addImsConfigCallback(Landroid/telephony/ims/aidl/IImsConfigCallback;)V
 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
 HSPLandroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;->updateCachedValue(IIZ)V
-HSPLandroid/telephony/ims/stub/ImsConfigImplBase;-><init>()V
+HSPLandroid/telephony/ims/stub/ImsConfigImplBase;-><init>(Landroid/content/Context;)V
 HSPLandroid/telephony/ims/stub/ImsConfigImplBase;->getIImsConfig()Landroid/telephony/ims/aidl/IImsConfig;
 HSPLandroid/telephony/ims/stub/ImsConfigImplBase;->lambda$notifyConfigChanged$0(IILandroid/telephony/ims/aidl/IImsConfigCallback;)V
 HSPLandroid/telephony/ims/stub/ImsEcbmImplBase$1;->setListener(Lcom/android/ims/internal/IImsEcbmListener;)V
 HSPLandroid/telephony/ims/stub/ImsEcbmImplBase;-><init>()V
 HSPLandroid/telephony/ims/stub/ImsEcbmImplBase;->getImsEcbm()Lcom/android/ims/internal/IImsEcbm;
+HSPLandroid/telephony/ims/stub/ImsFeatureConfiguration$1;-><init>()V
+HSPLandroid/telephony/ims/stub/ImsFeatureConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Landroid/telephony/ims/stub/ImsFeatureConfiguration;
+HSPLandroid/telephony/ims/stub/ImsFeatureConfiguration$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 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;
 HSPLandroid/telephony/ims/stub/ImsMultiEndpointImplBase;->onImsExternalCallStateUpdate(Ljava/util/List;)V
 HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase$1;->addRegistrationCallback(Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
 HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase$1;->getRegistrationTechnology()I
-HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase$Callback;->onSubscriberAssociatedUriChanged([Landroid/net/Uri;)V
 HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;-><init>()V
 HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->getConnectionType()I
 HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->lambda$onDeregistered$2(Landroid/telephony/ims/ImsReasonInfo;Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
@@ -31226,7 +26985,7 @@
 HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->updateNewCallbackWithState(Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
 HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->updateToDisconnectedState(Landroid/telephony/ims/ImsReasonInfo;)V
 HSPLandroid/telephony/ims/stub/ImsRegistrationImplBase;->updateToState(II)V
-HSPLandroid/telephony/ims/stub/ImsSmsImplBase;->onReady()V
+HSPLandroid/telephony/ims/stub/ImsSmsImplBase;-><init>()V
 HSPLandroid/telephony/ims/stub/ImsSmsImplBase;->registerSmsListener(Landroid/telephony/ims/aidl/IImsSmsListener;)V
 HSPLandroid/telephony/ims/stub/ImsUtImplBase$1;->setListener(Lcom/android/ims/internal/IImsUtListener;)V
 HSPLandroid/telephony/ims/stub/ImsUtImplBase;-><init>()V
@@ -31235,21 +26994,15 @@
 HSPLandroid/text/AndroidBidi$EmojiBidiOverride;->classify(I)I
 HSPLandroid/text/AndroidBidi;->bidi(I[C[B)I
 HSPLandroid/text/AndroidBidi;->directions(I[BI[CII)Landroid/text/Layout$Directions;
-HSPLandroid/text/Annotation;->getSpanTypeIdInternal()I
-HSPLandroid/text/Annotation;->getValue()Ljava/lang/String;
-HSPLandroid/text/Annotation;->writeToParcelInternal(Landroid/os/Parcel;I)V
 HSPLandroid/text/AutoGrowArray$ByteArray;->clear()V
 HSPLandroid/text/AutoGrowArray$ByteArray;->clearWithReleasingLargeArray()V
 HSPLandroid/text/AutoGrowArray$ByteArray;->get(I)B
 HSPLandroid/text/AutoGrowArray$ByteArray;->getRawArray()[B
 HSPLandroid/text/AutoGrowArray$ByteArray;->resize(I)V
-HSPLandroid/text/AutoGrowArray$FloatArray;-><init>()V
 HSPLandroid/text/AutoGrowArray$FloatArray;->clear()V
 HSPLandroid/text/AutoGrowArray$FloatArray;->clearWithReleasingLargeArray()V
-HSPLandroid/text/AutoGrowArray$FloatArray;->get(I)F
 HSPLandroid/text/AutoGrowArray$FloatArray;->getRawArray()[F
 HSPLandroid/text/AutoGrowArray$FloatArray;->resize(I)V
-HSPLandroid/text/AutoGrowArray$FloatArray;->set(IF)V
 HSPLandroid/text/AutoGrowArray$IntArray;->append(I)V
 HSPLandroid/text/AutoGrowArray$IntArray;->clear()V
 HSPLandroid/text/AutoGrowArray$IntArray;->clearWithReleasingLargeArray()V
@@ -31260,7 +27013,6 @@
 HSPLandroid/text/BidiFormatter$DirectionalityEstimator;->getExitDir()I
 HSPLandroid/text/BidiFormatter;-><init>(ZILandroid/text/TextDirectionHeuristic;)V
 HSPLandroid/text/BidiFormatter;->getInstance()Landroid/text/BidiFormatter;
-HSPLandroid/text/BidiFormatter;->getInstance(Z)Landroid/text/BidiFormatter;
 HSPLandroid/text/BidiFormatter;->markAfter(Ljava/lang/CharSequence;Landroid/text/TextDirectionHeuristic;)Ljava/lang/String;
 HSPLandroid/text/BidiFormatter;->markBefore(Ljava/lang/CharSequence;Landroid/text/TextDirectionHeuristic;)Ljava/lang/String;
 HSPLandroid/text/BidiFormatter;->unicodeWrap(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
@@ -31268,11 +27020,11 @@
 HSPLandroid/text/BidiFormatter;->unicodeWrap(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/text/BidiFormatter;->unicodeWrap(Ljava/lang/String;Landroid/text/TextDirectionHeuristic;)Ljava/lang/String;
 HSPLandroid/text/BoringLayout$Metrics;-><init>()V
-HSPLandroid/text/BoringLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)V
 HSPLandroid/text/BoringLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)V
 HSPLandroid/text/BoringLayout;->draw(Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;I)V
 HSPLandroid/text/BoringLayout;->ellipsized(II)V
 HSPLandroid/text/BoringLayout;->getEllipsisCount(I)I
+HSPLandroid/text/BoringLayout;->getEllipsisStart(I)I
 HSPLandroid/text/BoringLayout;->getEllipsizedWidth()I
 HSPLandroid/text/BoringLayout;->getHeight()I
 HSPLandroid/text/BoringLayout;->getLineContainsTab(I)Z
@@ -31287,11 +27039,11 @@
 HSPLandroid/text/BoringLayout;->hasAnyInterestingChars(Ljava/lang/CharSequence;I)Z
 HSPLandroid/text/BoringLayout;->init(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/Layout$Alignment;Landroid/text/BoringLayout$Metrics;ZZ)V
 HSPLandroid/text/BoringLayout;->isBoring(Ljava/lang/CharSequence;Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;Landroid/text/BoringLayout$Metrics;)Landroid/text/BoringLayout$Metrics;
+HSPLandroid/text/BoringLayout;->make(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)Landroid/text/BoringLayout;
+HSPLandroid/text/BoringLayout;->make(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)Landroid/text/BoringLayout;
 HSPLandroid/text/BoringLayout;->replaceOrMake(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;Z)Landroid/text/BoringLayout;
 HSPLandroid/text/BoringLayout;->replaceOrMake(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFLandroid/text/BoringLayout$Metrics;ZLandroid/text/TextUtils$TruncateAt;I)Landroid/text/BoringLayout;
-HSPLandroid/text/ClipboardManager;->getText()Ljava/lang/CharSequence;
-HSPLandroid/text/ClipboardManager;->hasText()Z
-HSPLandroid/text/ClipboardManager;->setText(Ljava/lang/CharSequence;)V
+HSPLandroid/text/DynamicLayout$Builder;->build()Landroid/text/DynamicLayout;
 HSPLandroid/text/DynamicLayout$Builder;->obtain(Ljava/lang/CharSequence;Landroid/text/TextPaint;I)Landroid/text/DynamicLayout$Builder;
 HSPLandroid/text/DynamicLayout$ChangeWatcher;->afterTextChanged(Landroid/text/Editable;)V
 HSPLandroid/text/DynamicLayout$ChangeWatcher;->beforeTextChanged(Ljava/lang/CharSequence;III)V
@@ -31305,10 +27057,10 @@
 HSPLandroid/text/DynamicLayout;->createBlocks()V
 HSPLandroid/text/DynamicLayout;->generate(Landroid/text/DynamicLayout$Builder;)V
 HSPLandroid/text/DynamicLayout;->getBlockEndLines()[I
-HSPLandroid/text/DynamicLayout;->getBlockIndex(I)I
 HSPLandroid/text/DynamicLayout;->getBlockIndices()[I
 HSPLandroid/text/DynamicLayout;->getBlocksAlwaysNeedToBeRedrawn()Landroid/util/ArraySet;
 HSPLandroid/text/DynamicLayout;->getEllipsisCount(I)I
+HSPLandroid/text/DynamicLayout;->getEllipsisStart(I)I
 HSPLandroid/text/DynamicLayout;->getEllipsizedWidth()I
 HSPLandroid/text/DynamicLayout;->getHyphen(I)I
 HSPLandroid/text/DynamicLayout;->getIndexFirstChangedBlock()I
@@ -31316,7 +27068,6 @@
 HSPLandroid/text/DynamicLayout;->getLineCount()I
 HSPLandroid/text/DynamicLayout;->getLineDescent(I)I
 HSPLandroid/text/DynamicLayout;->getLineDirections(I)Landroid/text/Layout$Directions;
-HSPLandroid/text/DynamicLayout;->getLineExtra(I)I
 HSPLandroid/text/DynamicLayout;->getLineStart(I)I
 HSPLandroid/text/DynamicLayout;->getLineTop(I)I
 HSPLandroid/text/DynamicLayout;->getNumberOfBlocks()I
@@ -31328,52 +27079,28 @@
 HSPLandroid/text/Editable$Factory;-><init>()V
 HSPLandroid/text/Editable$Factory;->getInstance()Landroid/text/Editable$Factory;
 HSPLandroid/text/Editable$Factory;->newEditable(Ljava/lang/CharSequence;)Landroid/text/Editable;
-HSPLandroid/text/Editable;->append(C)Landroid/text/Editable;
-HSPLandroid/text/Editable;->append(Ljava/lang/CharSequence;)Landroid/text/Editable;
-HSPLandroid/text/Editable;->append(Ljava/lang/CharSequence;II)Landroid/text/Editable;
-HSPLandroid/text/Editable;->clear()V
-HSPLandroid/text/Editable;->clearSpans()V
-HSPLandroid/text/Editable;->delete(II)Landroid/text/Editable;
-HSPLandroid/text/Editable;->getFilters()[Landroid/text/InputFilter;
-HSPLandroid/text/Editable;->insert(ILjava/lang/CharSequence;)Landroid/text/Editable;
-HSPLandroid/text/Editable;->insert(ILjava/lang/CharSequence;II)Landroid/text/Editable;
-HSPLandroid/text/Editable;->replace(IILjava/lang/CharSequence;)Landroid/text/Editable;
-HSPLandroid/text/Editable;->replace(IILjava/lang/CharSequence;II)Landroid/text/Editable;
-HSPLandroid/text/Editable;->setFilters([Landroid/text/InputFilter;)V
 HSPLandroid/text/Emoji;->isNewEmoji(I)Z
-HSPLandroid/text/Html$TagHandler;->handleTag(ZLjava/lang/String;Landroid/text/Editable;Lorg/xml/sax/XMLReader;)V
 HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;)Landroid/text/Spanned;
-HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;I)Landroid/text/Spanned;
 HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;ILandroid/text/Html$ImageGetter;Landroid/text/Html$TagHandler;)Landroid/text/Spanned;
-HSPLandroid/text/Html;->fromHtml(Ljava/lang/String;Landroid/text/Html$ImageGetter;Landroid/text/Html$TagHandler;)Landroid/text/Spanned;
-HSPLandroid/text/HtmlToSpannedConverter;->appendNewlines(Landroid/text/Editable;I)V
 HSPLandroid/text/HtmlToSpannedConverter;->characters([CII)V
 HSPLandroid/text/HtmlToSpannedConverter;->convert()Landroid/text/Spanned;
-HSPLandroid/text/HtmlToSpannedConverter;->end(Landroid/text/Editable;Ljava/lang/Class;Ljava/lang/Object;)V
-HSPLandroid/text/HtmlToSpannedConverter;->endBlockElement(Landroid/text/Editable;)V
-HSPLandroid/text/HtmlToSpannedConverter;->endCssStyle(Landroid/text/Editable;)V
 HSPLandroid/text/HtmlToSpannedConverter;->endDocument()V
 HSPLandroid/text/HtmlToSpannedConverter;->endElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/text/HtmlToSpannedConverter;->endFont(Landroid/text/Editable;)V
 HSPLandroid/text/HtmlToSpannedConverter;->endPrefixMapping(Ljava/lang/String;)V
-HSPLandroid/text/HtmlToSpannedConverter;->getHtmlColor(Ljava/lang/String;)I
-HSPLandroid/text/HtmlToSpannedConverter;->handleBr(Landroid/text/Editable;)V
 HSPLandroid/text/HtmlToSpannedConverter;->handleEndTag(Ljava/lang/String;)V
 HSPLandroid/text/HtmlToSpannedConverter;->handleStartTag(Ljava/lang/String;Lorg/xml/sax/Attributes;)V
 HSPLandroid/text/HtmlToSpannedConverter;->setDocumentLocator(Lorg/xml/sax/Locator;)V
-HSPLandroid/text/HtmlToSpannedConverter;->startBlockElement(Landroid/text/Editable;Lorg/xml/sax/Attributes;I)V
-HSPLandroid/text/HtmlToSpannedConverter;->startCssStyle(Landroid/text/Editable;Lorg/xml/sax/Attributes;)V
 HSPLandroid/text/HtmlToSpannedConverter;->startDocument()V
 HSPLandroid/text/HtmlToSpannedConverter;->startElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/Attributes;)V
-HSPLandroid/text/HtmlToSpannedConverter;->startFont(Landroid/text/Editable;Lorg/xml/sax/Attributes;)V
 HSPLandroid/text/HtmlToSpannedConverter;->startPrefixMapping(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/text/InputFilter$LengthFilter;-><init>(I)V
-HSPLandroid/text/InputFilter$LengthFilter;->filter(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Ljava/lang/CharSequence;
-HSPLandroid/text/InputFilter$LengthFilter;->getMax()I
-HSPLandroid/text/InputFilter;->filter(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Ljava/lang/CharSequence;
+HSPLandroid/text/Hyphenator;->init()V
 HSPLandroid/text/Layout$Alignment;-><init>(Ljava/lang/String;I)V
 HSPLandroid/text/Layout$Alignment;->values()[Landroid/text/Layout$Alignment;
 HSPLandroid/text/Layout$Directions;-><init>([I)V
+HSPLandroid/text/Layout$Directions;->getRunCount()I
+HSPLandroid/text/Layout$Directions;->getRunLength(I)I
+HSPLandroid/text/Layout$Directions;->getRunStart(I)I
+HSPLandroid/text/Layout$Directions;->isRunRtl(I)Z
 HSPLandroid/text/Layout$Ellipsizer;->charAt(I)C
 HSPLandroid/text/Layout$Ellipsizer;->getChars(II[CI)V
 HSPLandroid/text/Layout$Ellipsizer;->length()I
@@ -31382,21 +27109,19 @@
 HSPLandroid/text/Layout$SpannedEllipsizer;->getSpanStart(Ljava/lang/Object;)I
 HSPLandroid/text/Layout$SpannedEllipsizer;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
 HSPLandroid/text/Layout$SpannedEllipsizer;->nextSpanTransition(IILjava/lang/Class;)I
+HSPLandroid/text/Layout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V
 HSPLandroid/text/Layout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FF)V
-HSPLandroid/text/Layout;->draw(Landroid/graphics/Canvas;)V
 HSPLandroid/text/Layout;->draw(Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;I)V
 HSPLandroid/text/Layout;->drawBackground(Landroid/graphics/Canvas;Landroid/graphics/Path;Landroid/graphics/Paint;III)V
 HSPLandroid/text/Layout;->drawText(Landroid/graphics/Canvas;II)V
 HSPLandroid/text/Layout;->ellipsize(III[CILandroid/text/TextUtils$TruncateAt;)V
-HSPLandroid/text/Layout;->getCursorPath(ILandroid/graphics/Path;Ljava/lang/CharSequence;)V
-HSPLandroid/text/Layout;->getDesiredWidth(Ljava/lang/CharSequence;Landroid/text/TextPaint;)F
 HSPLandroid/text/Layout;->getDesiredWidthWithLimit(Ljava/lang/CharSequence;IILandroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;F)F
 HSPLandroid/text/Layout;->getHeight()I
 HSPLandroid/text/Layout;->getHeight(Z)I
 HSPLandroid/text/Layout;->getHorizontal(IZIZ)F
 HSPLandroid/text/Layout;->getHyphen(I)I
 HSPLandroid/text/Layout;->getIndentAdjust(ILandroid/text/Layout$Alignment;)I
-HSPLandroid/text/Layout;->getLineAscent(I)I
+HSPLandroid/text/Layout;->getLineBaseline(I)I
 HSPLandroid/text/Layout;->getLineBottom(I)I
 HSPLandroid/text/Layout;->getLineEnd(I)I
 HSPLandroid/text/Layout;->getLineExtent(ILandroid/text/Layout$TabStops;Z)F
@@ -31411,40 +27136,32 @@
 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;->getPaint()Landroid/text/TextPaint;
 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;
 HSPLandroid/text/Layout;->getPrimaryHorizontal(I)F
 HSPLandroid/text/Layout;->getPrimaryHorizontal(IZ)F
-HSPLandroid/text/Layout;->getWidth()I
 HSPLandroid/text/Layout;->increaseWidthTo(I)V
 HSPLandroid/text/Layout;->isJustificationRequired(I)Z
-HSPLandroid/text/Layout;->isLevelBoundary(I)Z
 HSPLandroid/text/Layout;->measurePara(Landroid/text/TextPaint;Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;)F
 HSPLandroid/text/Layout;->primaryIsTrailingPrevious(I)Z
 HSPLandroid/text/Layout;->replaceWith(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FF)V
 HSPLandroid/text/Layout;->setJustificationMode(I)V
-HSPLandroid/text/Layout;->shouldClampCursor(I)Z
 HSPLandroid/text/MeasuredParagraph;-><init>()V
-HPLandroid/text/MeasuredParagraph;->getMeasuredText()Landroid/graphics/text/MeasuredText;
 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;
 HSPLandroid/text/MeasuredParagraph;->buildForMeasurement(Landroid/text/TextPaint;Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;Landroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph;
-HSPLandroid/text/MeasuredParagraph;->buildForStaticLayout(Landroid/text/TextPaint;Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;ZZLandroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph;
+HSPLandroid/text/MeasuredParagraph;->buildForStaticLayout(Landroid/text/TextPaint;Ljava/lang/CharSequence;IILandroid/text/TextDirectionHeuristic;ZZLandroid/text/MeasuredParagraph;Landroid/text/MeasuredParagraph;)Landroid/text/MeasuredParagraph;
+HSPLandroid/text/MeasuredParagraph;->getCharWidthAt(I)F
 HSPLandroid/text/MeasuredParagraph;->getChars()[C
 HSPLandroid/text/MeasuredParagraph;->getDirections(II)Landroid/text/Layout$Directions;
 HSPLandroid/text/MeasuredParagraph;->getFontMetrics()Landroid/text/AutoGrowArray$IntArray;
-HSPLandroid/text/MeasuredParagraph;->getNativePtr()J
+HSPLandroid/text/MeasuredParagraph;->getMeasuredText()Landroid/graphics/text/MeasuredText;
 HSPLandroid/text/MeasuredParagraph;->getParagraphDir()I
 HSPLandroid/text/MeasuredParagraph;->getSpanEndCache()Landroid/text/AutoGrowArray$IntArray;
 HSPLandroid/text/MeasuredParagraph;->getWholeWidth()F
-HSPLandroid/text/MeasuredParagraph;->measure(II)F
 HSPLandroid/text/MeasuredParagraph;->obtain()Landroid/text/MeasuredParagraph;
 HSPLandroid/text/MeasuredParagraph;->recycle()V
 HSPLandroid/text/MeasuredParagraph;->release()V
@@ -31467,16 +27184,14 @@
 HSPLandroid/text/PackedObjectVector;->setValue(IILjava/lang/Object;)V
 HSPLandroid/text/PackedObjectVector;->size()I
 HSPLandroid/text/PrecomputedText$Params;-><init>(Landroid/text/TextPaint;Landroid/text/TextDirectionHeuristic;II)V
-HPLandroid/text/PrecomputedText;->getCharWidthAt(I)F
 HSPLandroid/text/PrecomputedText;->createMeasuredParagraphs(Ljava/lang/CharSequence;Landroid/text/PrecomputedText$Params;IIZ)[Landroid/text/PrecomputedText$ParagraphInfo;
 HSPLandroid/text/Selection$END;-><init>(Landroid/text/Selection$1;)V
 HSPLandroid/text/Selection$MEMORY;-><init>(Landroid/text/Selection$1;)V
-HSPLandroid/text/Selection$PositionIterator;->following(I)I
-HSPLandroid/text/Selection$PositionIterator;->preceding(I)I
 HSPLandroid/text/Selection$START;-><init>(Landroid/text/Selection$1;)V
 HSPLandroid/text/Selection;->getSelectionEnd(Ljava/lang/CharSequence;)I
 HSPLandroid/text/Selection;->getSelectionStart(Ljava/lang/CharSequence;)I
 HSPLandroid/text/Selection;->setSelection(Landroid/text/Spannable;I)V
+HSPLandroid/text/Selection;->setSelection(Landroid/text/Spannable;II)V
 HSPLandroid/text/Selection;->updateMemory(Landroid/text/Spannable;I)V
 HSPLandroid/text/SpanSet;-><init>(Ljava/lang/Class;)V
 HSPLandroid/text/SpanSet;->getNextTransition(II)I
@@ -31497,27 +27212,20 @@
 HSPLandroid/text/SpannableString;->removeSpan(Ljava/lang/Object;I)V
 HSPLandroid/text/SpannableString;->setSpan(Ljava/lang/Object;III)V
 HSPLandroid/text/SpannableString;->subSequence(II)Ljava/lang/CharSequence;
-HSPLandroid/text/SpannableString;->valueOf(Ljava/lang/CharSequence;)Landroid/text/SpannableString;
 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/Editable;
 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;->append(Ljava/lang/CharSequence;II)Landroid/text/Editable;
-HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
-HSPLandroid/text/SpannableStringBuilder;->append(Ljava/lang/CharSequence;Ljava/lang/Object;I)Landroid/text/SpannableStringBuilder;
 HSPLandroid/text/SpannableStringBuilder;->calcMax(I)I
 HSPLandroid/text/SpannableStringBuilder;->change(IILjava/lang/CharSequence;II)V
 HSPLandroid/text/SpannableStringBuilder;->charAt(I)C
 HSPLandroid/text/SpannableStringBuilder;->checkRange(Ljava/lang/String;II)V
 HSPLandroid/text/SpannableStringBuilder;->clear()V
-HSPLandroid/text/SpannableStringBuilder;->clearSpans()V
 HSPLandroid/text/SpannableStringBuilder;->countSpans(IILjava/lang/Class;I)I
 HSPLandroid/text/SpannableStringBuilder;->delete(II)Landroid/text/Editable;
 HSPLandroid/text/SpannableStringBuilder;->delete(II)Landroid/text/SpannableStringBuilder;
-HSPLandroid/text/SpannableStringBuilder;->drawTextRun(Landroid/graphics/BaseCanvas;IIIIFFZLandroid/graphics/Paint;)V
 HSPLandroid/text/SpannableStringBuilder;->equals(Ljava/lang/Object;)Z
 HSPLandroid/text/SpannableStringBuilder;->getChars(II[CI)V
 HSPLandroid/text/SpannableStringBuilder;->getSpanEnd(Ljava/lang/Object;)I
@@ -31528,6 +27236,7 @@
 HSPLandroid/text/SpannableStringBuilder;->getSpansRec(IILjava/lang/Class;I[Ljava/lang/Object;[I[IIZ)I
 HSPLandroid/text/SpannableStringBuilder;->getTextWatcherDepth()I
 HSPLandroid/text/SpannableStringBuilder;->hasNonExclusiveExclusiveSpanAt(Ljava/lang/CharSequence;I)Z
+HSPLandroid/text/SpannableStringBuilder;->insert(ILjava/lang/CharSequence;)Landroid/text/Editable;
 HSPLandroid/text/SpannableStringBuilder;->insert(ILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
 HSPLandroid/text/SpannableStringBuilder;->length()I
 HSPLandroid/text/SpannableStringBuilder;->moveGapTo(I)V
@@ -31541,6 +27250,7 @@
 HSPLandroid/text/SpannableStringBuilder;->removeSpansForChange(IIZI)Z
 HSPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;)Landroid/text/Editable;
 HSPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;)Landroid/text/SpannableStringBuilder;
+HSPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;II)Landroid/text/Editable;
 HSPLandroid/text/SpannableStringBuilder;->replace(IILjava/lang/CharSequence;II)Landroid/text/SpannableStringBuilder;
 HSPLandroid/text/SpannableStringBuilder;->resizeFor(I)V
 HSPLandroid/text/SpannableStringBuilder;->restoreInvariants()V
@@ -31556,14 +27266,12 @@
 HSPLandroid/text/SpannableStringBuilder;->sort([Ljava/lang/Object;[I[I)V
 HSPLandroid/text/SpannableStringBuilder;->subSequence(II)Ljava/lang/CharSequence;
 HSPLandroid/text/SpannableStringBuilder;->toString()Ljava/lang/String;
-HSPLandroid/text/SpannableStringBuilder;->treeRoot()I
 HSPLandroid/text/SpannableStringBuilder;->updatedIntervalBound(IIIIZZ)I
 HSPLandroid/text/SpannableStringInternal;-><init>(Ljava/lang/CharSequence;IIZ)V
 HSPLandroid/text/SpannableStringInternal;->charAt(I)C
 HSPLandroid/text/SpannableStringInternal;->checkRange(Ljava/lang/String;II)V
 HSPLandroid/text/SpannableStringInternal;->copySpans(Landroid/text/SpannableStringInternal;IIZ)V
 HSPLandroid/text/SpannableStringInternal;->copySpans(Landroid/text/Spanned;IIZ)V
-HSPLandroid/text/SpannableStringInternal;->equals(Ljava/lang/Object;)Z
 HSPLandroid/text/SpannableStringInternal;->getChars(II[CI)V
 HSPLandroid/text/SpannableStringInternal;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
 HSPLandroid/text/SpannableStringInternal;->length()I
@@ -31573,7 +27281,6 @@
 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
@@ -31581,14 +27288,14 @@
 HSPLandroid/text/SpannedString;->nextSpanTransition(IILjava/lang/Class;)I
 HSPLandroid/text/StaticLayout$Builder;->access$1000(Landroid/text/StaticLayout$Builder;)F
 HSPLandroid/text/StaticLayout$Builder;->access$1100(Landroid/text/StaticLayout$Builder;)I
+HSPLandroid/text/StaticLayout$Builder;->access$1500(Landroid/text/StaticLayout$Builder;)I
+HSPLandroid/text/StaticLayout$Builder;->access$1600(Landroid/text/StaticLayout$Builder;)I
 HSPLandroid/text/StaticLayout$Builder;->access$1700(Landroid/text/StaticLayout$Builder;)I
-HSPLandroid/text/StaticLayout$Builder;->access$1800(Landroid/text/StaticLayout$Builder;)I
-HSPLandroid/text/StaticLayout$Builder;->access$1900(Landroid/text/StaticLayout$Builder;)I
-HSPLandroid/text/StaticLayout$Builder;->access$2000(Landroid/text/StaticLayout$Builder;)Z
-HSPLandroid/text/StaticLayout$Builder;->access$2100(Landroid/text/StaticLayout$Builder;)Z
-HSPLandroid/text/StaticLayout$Builder;->access$2200(Landroid/text/StaticLayout$Builder;)Landroid/graphics/Paint$FontMetricsInt;
-HSPLandroid/text/StaticLayout$Builder;->access$2300(Landroid/text/StaticLayout$Builder;)I
-HSPLandroid/text/StaticLayout$Builder;->access$2400(Landroid/text/StaticLayout$Builder;)I
+HSPLandroid/text/StaticLayout$Builder;->access$1800(Landroid/text/StaticLayout$Builder;)Z
+HSPLandroid/text/StaticLayout$Builder;->access$1900(Landroid/text/StaticLayout$Builder;)Z
+HSPLandroid/text/StaticLayout$Builder;->access$2000(Landroid/text/StaticLayout$Builder;)Landroid/graphics/Paint$FontMetricsInt;
+HSPLandroid/text/StaticLayout$Builder;->access$2100(Landroid/text/StaticLayout$Builder;)I
+HSPLandroid/text/StaticLayout$Builder;->access$2200(Landroid/text/StaticLayout$Builder;)I
 HSPLandroid/text/StaticLayout$Builder;->access$300(Landroid/text/StaticLayout$Builder;)Landroid/text/TextUtils$TruncateAt;
 HSPLandroid/text/StaticLayout$Builder;->access$400(Landroid/text/StaticLayout$Builder;)Ljava/lang/CharSequence;
 HSPLandroid/text/StaticLayout$Builder;->access$500(Landroid/text/StaticLayout$Builder;)Landroid/text/TextPaint;
@@ -31597,19 +27304,9 @@
 HSPLandroid/text/StaticLayout$Builder;->access$900(Landroid/text/StaticLayout$Builder;)F
 HSPLandroid/text/StaticLayout$Builder;->build()Landroid/text/StaticLayout;
 HSPLandroid/text/StaticLayout$Builder;->obtain(Ljava/lang/CharSequence;IILandroid/text/TextPaint;I)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/StaticLayout$Builder;->recycle(Landroid/text/StaticLayout$Builder;)V
-HSPLandroid/text/StaticLayout$Builder;->setAlignment(Landroid/text/Layout$Alignment;)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/StaticLayout$Builder;->setEllipsize(Landroid/text/TextUtils$TruncateAt;)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/StaticLayout$Builder;->setIncludePad(Z)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/StaticLayout$Builder;->setMaxLines(I)Landroid/text/StaticLayout$Builder;
-HSPLandroid/text/StaticLayout$LineBreaks;-><init>()V
 HSPLandroid/text/StaticLayout;-><init>(Landroid/text/StaticLayout$Builder;)V
-HSPLandroid/text/StaticLayout;-><init>(Landroid/text/StaticLayout$Builder;Landroid/text/StaticLayout$1;)V
 HSPLandroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;)V
-HSPLandroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;IILandroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZLandroid/text/TextUtils$TruncateAt;I)V
-HSPLandroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;IILandroid/text/TextPaint;ILandroid/text/Layout$Alignment;Landroid/text/TextDirectionHeuristic;FFZLandroid/text/TextUtils$TruncateAt;II)V
-HSPLandroid/text/StaticLayout;-><init>(Ljava/lang/CharSequence;Landroid/text/TextPaint;ILandroid/text/Layout$Alignment;FFZ)V
-HSPLandroid/text/StaticLayout;->calculateEllipsis(II[FIFLandroid/text/TextUtils$TruncateAt;IFLandroid/text/TextPaint;Z)V
+HSPLandroid/text/StaticLayout;->calculateEllipsis(IILandroid/text/MeasuredParagraph;IFLandroid/text/TextUtils$TruncateAt;IFLandroid/text/TextPaint;Z)V
 HSPLandroid/text/StaticLayout;->generate(Landroid/text/StaticLayout$Builder;ZZ)V
 HSPLandroid/text/StaticLayout;->getBottomPadding()I
 HSPLandroid/text/StaticLayout;->getEllipsisCount(I)I
@@ -31628,26 +27325,22 @@
 HSPLandroid/text/StaticLayout;->getLineTop(I)I
 HSPLandroid/text/StaticLayout;->getParagraphDirection(I)I
 HSPLandroid/text/StaticLayout;->getTopPadding()I
-HSPLandroid/text/StaticLayout;->getTotalInsets(I)F
-HSPLandroid/text/StaticLayout;->out(Ljava/lang/CharSequence;IIIIIIIFF[Landroid/text/style/LineHeightSpan;[ILandroid/graphics/Paint$FontMetricsInt;IZLandroid/text/MeasuredParagraph;IZZZ[C[FILandroid/text/TextUtils$TruncateAt;FFLandroid/text/TextPaint;Z)I
-HSPLandroid/text/TextDirectionHeuristic;->isRtl(Ljava/lang/CharSequence;II)Z
-HSPLandroid/text/TextDirectionHeuristic;->isRtl([CII)Z
+HSPLandroid/text/StaticLayout;->out(Ljava/lang/CharSequence;IIIIIIIFF[Landroid/text/style/LineHeightSpan;[ILandroid/graphics/Paint$FontMetricsInt;ZIZLandroid/text/MeasuredParagraph;IZZZ[CILandroid/text/TextUtils$TruncateAt;FFLandroid/text/TextPaint;Z)I
 HSPLandroid/text/TextDirectionHeuristics$AnyStrong;-><init>(Z)V
 HSPLandroid/text/TextDirectionHeuristics$FirstStrong;-><init>()V
 HSPLandroid/text/TextDirectionHeuristics$FirstStrong;->checkRtl(Ljava/lang/CharSequence;II)I
 HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;->isRtl(Ljava/lang/CharSequence;II)Z
-HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicImpl;->isRtl([CII)Z
 HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicInternal;-><init>(Landroid/text/TextDirectionHeuristics$TextDirectionAlgorithm;ZLandroid/text/TextDirectionHeuristics$1;)V
 HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicInternal;->defaultIsRtl()Z
 HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicLocale;-><init>()V
 HSPLandroid/text/TextDirectionHeuristics$TextDirectionHeuristicLocale;->defaultIsRtl()Z
 HSPLandroid/text/TextDirectionHeuristics;->isRtlCodePoint(I)I
-HSPLandroid/text/TextLine$DecorationInfo;->copyInfo()Landroid/text/TextLine$DecorationInfo;
 HSPLandroid/text/TextLine;-><init>()V
+HSPLandroid/text/TextLine;->adjustHyphenEdit(III)I
 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
 HSPLandroid/text/TextLine;->extractDecorationInfo(Landroid/text/TextPaint;Landroid/text/TextLine$DecorationInfo;)V
 HSPLandroid/text/TextLine;->getRunAdvance(Landroid/text/TextPaint;IIIIZI)F
@@ -31659,33 +27352,26 @@
 HSPLandroid/text/TextLine;->metrics(Landroid/graphics/Paint$FontMetricsInt;)F
 HSPLandroid/text/TextLine;->obtain()Landroid/text/TextLine;
 HSPLandroid/text/TextLine;->recycle(Landroid/text/TextLine;)Landroid/text/TextLine;
-HSPLandroid/text/TextLine;->set(Landroid/text/TextPaint;Ljava/lang/CharSequence;IIILandroid/text/Layout$Directions;ZLandroid/text/Layout$TabStops;)V
+HSPLandroid/text/TextLine;->set(Landroid/text/TextPaint;Ljava/lang/CharSequence;IIILandroid/text/Layout$Directions;ZLandroid/text/Layout$TabStops;II)V
 HSPLandroid/text/TextLine;->updateMetrics(Landroid/graphics/Paint$FontMetricsInt;IIIII)V
 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;->hasEqualAttributes(Landroid/text/TextPaint;)Z
 HSPLandroid/text/TextPaint;->set(Landroid/text/TextPaint;)V
 HSPLandroid/text/TextPaint;->setUnderlineText(IF)V
 HSPLandroid/text/TextUtils$1;-><init>()V
 HSPLandroid/text/TextUtils$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/CharSequence;
 HSPLandroid/text/TextUtils$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/text/TextUtils$EllipsizeCallback;->ellipsized(II)V
 HSPLandroid/text/TextUtils$SimpleStringSplitter;-><init>(C)V
 HSPLandroid/text/TextUtils$SimpleStringSplitter;->hasNext()Z
 HSPLandroid/text/TextUtils$SimpleStringSplitter;->iterator()Ljava/util/Iterator;
 HSPLandroid/text/TextUtils$SimpleStringSplitter;->next()Ljava/lang/Object;
 HSPLandroid/text/TextUtils$SimpleStringSplitter;->next()Ljava/lang/String;
 HSPLandroid/text/TextUtils$SimpleStringSplitter;->setString(Ljava/lang/String;)V
-HSPLandroid/text/TextUtils$StringSplitter;->setString(Ljava/lang/String;)V
+HSPLandroid/text/TextUtils$StringWithRemovedChars;->toString()Ljava/lang/String;
 HSPLandroid/text/TextUtils$TruncateAt;-><init>(Ljava/lang/String;I)V
-HSPLandroid/text/TextUtils$TruncateAt;->values()[Landroid/text/TextUtils$TruncateAt;
 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;)Ljava/lang/CharSequence;
 HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;)Ljava/lang/CharSequence;
 HSPLandroid/text/TextUtils;->ellipsize(Ljava/lang/CharSequence;Landroid/text/TextPaint;FLandroid/text/TextUtils$TruncateAt;ZLandroid/text/TextUtils$EllipsizeCallback;Landroid/text/TextDirectionHeuristic;Ljava/lang/String;)Ljava/lang/CharSequence;
 HSPLandroid/text/TextUtils;->equals(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
@@ -31694,35 +27380,32 @@
 HSPLandroid/text/TextUtils;->getChars(Ljava/lang/CharSequence;II[CI)V
 HSPLandroid/text/TextUtils;->getEllipsisString(Landroid/text/TextUtils$TruncateAt;)Ljava/lang/String;
 HSPLandroid/text/TextUtils;->getLayoutDirectionFromLocale(Ljava/util/Locale;)I
-HSPLandroid/text/TextUtils;->getTrimmedLength(Ljava/lang/CharSequence;)I
-HSPLandroid/text/TextUtils;->htmlEncode(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CI)I
 HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;CII)I
-HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)I
-HSPLandroid/text/TextUtils;->indexOf(Ljava/lang/CharSequence;Ljava/lang/CharSequence;II)I
+HSPLandroid/text/TextUtils;->isDigitsOnly(Ljava/lang/CharSequence;)Z
 HSPLandroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
 HSPLandroid/text/TextUtils;->isGraphic(Ljava/lang/CharSequence;)Z
 HSPLandroid/text/TextUtils;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
 HSPLandroid/text/TextUtils;->join(Ljava/lang/CharSequence;[Ljava/lang/Object;)Ljava/lang/String;
 HSPLandroid/text/TextUtils;->lastIndexOf(Ljava/lang/CharSequence;CI)I
 HSPLandroid/text/TextUtils;->lastIndexOf(Ljava/lang/CharSequence;CII)I
+HSPLandroid/text/TextUtils;->makeSafeForPresentation(Ljava/lang/String;IFI)Ljava/lang/CharSequence;
 HSPLandroid/text/TextUtils;->obtain(I)[C
 HSPLandroid/text/TextUtils;->recycle([C)V
-HSPLandroid/text/TextUtils;->regionMatches(Ljava/lang/CharSequence;ILjava/lang/CharSequence;II)Z
 HSPLandroid/text/TextUtils;->removeEmptySpans([Ljava/lang/Object;Landroid/text/Spanned;Ljava/lang/Class;)[Ljava/lang/Object;
 HSPLandroid/text/TextUtils;->safeIntern(Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/text/TextUtils;->split(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/text/TextUtils;->split(Ljava/lang/String;Ljava/util/regex/Pattern;)[Ljava/lang/String;
+HSPLandroid/text/TextUtils;->stringOrSpannedString(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
 HSPLandroid/text/TextUtils;->substring(Ljava/lang/CharSequence;II)Ljava/lang/String;
 HSPLandroid/text/TextUtils;->toUpperCase(Ljava/util/Locale;Ljava/lang/CharSequence;Z)Ljava/lang/CharSequence;
 HSPLandroid/text/TextUtils;->trimNoCopySpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
+HSPLandroid/text/TextUtils;->trimToParcelableSize(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
 HSPLandroid/text/TextUtils;->trimToSize(Ljava/lang/CharSequence;I)Ljava/lang/CharSequence;
 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;->getBestDateTimePattern(Ljava/util/Locale;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/text/format/DateFormat;->getDateFormat(Landroid/content/Context;)Ljava/text/DateFormat;
-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;
@@ -31731,20 +27414,16 @@
 HSPLandroid/text/format/DateFormat;->is24HourFormat(Landroid/content/Context;I)Z
 HSPLandroid/text/format/DateFormat;->is24HourLocale(Ljava/util/Locale;)Z
 HSPLandroid/text/format/DateFormat;->zeroPad(II)Ljava/lang/String;
-HSPLandroid/text/format/DateUtils;->formatDateRange(Landroid/content/Context;Ljava/util/Formatter;JJI)Ljava/util/Formatter;
 HSPLandroid/text/format/DateUtils;->formatDateRange(Landroid/content/Context;Ljava/util/Formatter;JJILjava/lang/String;)Ljava/util/Formatter;
 HSPLandroid/text/format/DateUtils;->formatDateTime(Landroid/content/Context;JI)Ljava/lang/String;
 HSPLandroid/text/format/DateUtils;->formatElapsedTime(J)Ljava/lang/String;
 HSPLandroid/text/format/DateUtils;->formatElapsedTime(Ljava/lang/StringBuilder;J)Ljava/lang/String;
 HSPLandroid/text/format/DateUtils;->getRelativeTimeSpanString(JJJI)Ljava/lang/CharSequence;
-HSPLandroid/text/format/DateUtils;->getRelativeTimeSpanString(Landroid/content/Context;J)Ljava/lang/CharSequence;
-HSPLandroid/text/format/DateUtils;->getRelativeTimeSpanString(Landroid/content/Context;JZ)Ljava/lang/CharSequence;
 HSPLandroid/text/format/DateUtils;->initFormatStrings()V
 HSPLandroid/text/format/DateUtils;->initFormatStringsLocked()V
 HSPLandroid/text/format/DateUtils;->isToday(J)Z
 HSPLandroid/text/format/Formatter;->formatBytes(Landroid/content/res/Resources;JI)Landroid/text/format/Formatter$BytesResult;
 HSPLandroid/text/format/Formatter;->formatFileSize(Landroid/content/Context;J)Ljava/lang/String;
-HSPLandroid/text/format/Formatter;->formatIpAddress(I)Ljava/lang/String;
 HSPLandroid/text/format/Time$TimeCalculator;->copyFieldsFromTime(Landroid/text/format/Time;)V
 HSPLandroid/text/format/Time$TimeCalculator;->copyFieldsToTime(Landroid/text/format/Time;)V
 HSPLandroid/text/format/Time$TimeCalculator;->format(Ljava/lang/String;)Ljava/lang/String;
@@ -31753,179 +27432,75 @@
 HSPLandroid/text/format/Time$TimeCalculator;->toMillis(Z)J
 HSPLandroid/text/format/Time;-><init>()V
 HSPLandroid/text/format/Time;-><init>(Ljava/lang/String;)V
-HSPLandroid/text/format/Time;->checkChar(Ljava/lang/String;IC)V
 HSPLandroid/text/format/Time;->format(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/text/format/Time;->getChar(Ljava/lang/String;II)I
-HSPLandroid/text/format/Time;->getCurrentTimezone()Ljava/lang/String;
 HSPLandroid/text/format/Time;->getJulianDay(JJ)I
 HSPLandroid/text/format/Time;->normalize(Z)J
-HSPLandroid/text/format/Time;->parse3339(Ljava/lang/String;)Z
-HSPLandroid/text/format/Time;->parse3339Internal(Ljava/lang/String;)Z
 HSPLandroid/text/format/Time;->set(J)V
+HSPLandroid/text/format/Time;->setJulianDay(I)J
 HSPLandroid/text/format/Time;->setToNow()V
+HSPLandroid/text/format/Time;->toMillis(Z)J
 HSPLandroid/text/format/TimeFormatter;-><init>()V
 HSPLandroid/text/format/TimeFormatter;->format(Ljava/lang/String;Llibcore/util/ZoneInfo$WallTime;Llibcore/util/ZoneInfo;)Ljava/lang/String;
 HSPLandroid/text/format/TimeFormatter;->formatInternal(Ljava/lang/String;Llibcore/util/ZoneInfo$WallTime;Llibcore/util/ZoneInfo;)V
 HSPLandroid/text/format/TimeFormatter;->handleToken(Ljava/nio/CharBuffer;Llibcore/util/ZoneInfo$WallTime;Llibcore/util/ZoneInfo;)Z
-HSPLandroid/text/format/TimeFormatter;->outputYear(IZZI)V
+HSPLandroid/text/method/AllCapsTransformationMethod;-><init>(Landroid/content/Context;)V
 HSPLandroid/text/method/AllCapsTransformationMethod;->getTransformation(Ljava/lang/CharSequence;Landroid/view/View;)Ljava/lang/CharSequence;
 HSPLandroid/text/method/AllCapsTransformationMethod;->setLengthChangesAllowed(Z)V
 HSPLandroid/text/method/ArrowKeyMovementMethod;->canSelectArbitrarily()Z
 HSPLandroid/text/method/ArrowKeyMovementMethod;->getInstance()Landroid/text/method/MovementMethod;
-HSPLandroid/text/method/ArrowKeyMovementMethod;->handleMovementKey(Landroid/widget/TextView;Landroid/text/Spannable;IILandroid/view/KeyEvent;)Z
 HSPLandroid/text/method/ArrowKeyMovementMethod;->initialize(Landroid/widget/TextView;Landroid/text/Spannable;)V
 HSPLandroid/text/method/ArrowKeyMovementMethod;->onTakeFocus(Landroid/widget/TextView;Landroid/text/Spannable;I)V
-HSPLandroid/text/method/ArrowKeyMovementMethod;->onTouchEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z
-HSPLandroid/text/method/BaseKeyListener;->makeTextContentType(Landroid/text/method/TextKeyListener$Capitalize;Z)I
-HSPLandroid/text/method/BaseKeyListener;->onKeyDown(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
-HSPLandroid/text/method/BaseMovementMethod;->getMovementMetaState(Landroid/text/Spannable;Landroid/view/KeyEvent;)I
-HSPLandroid/text/method/BaseMovementMethod;->handleMovementKey(Landroid/widget/TextView;Landroid/text/Spannable;IILandroid/view/KeyEvent;)Z
-HSPLandroid/text/method/BaseMovementMethod;->onKeyDown(Landroid/widget/TextView;Landroid/text/Spannable;ILandroid/view/KeyEvent;)Z
-HSPLandroid/text/method/BaseMovementMethod;->onKeyUp(Landroid/widget/TextView;Landroid/text/Spannable;ILandroid/view/KeyEvent;)Z
 HSPLandroid/text/method/DialerKeyListener;-><init>()V
+HSPLandroid/text/method/DialerKeyListener;->getAcceptedChars()[C
 HSPLandroid/text/method/DialerKeyListener;->getInputType()I
-HSPLandroid/text/method/DialerKeyListener;->getInstance()Landroid/text/method/DialerKeyListener;
-HSPLandroid/text/method/KeyListener;->clearMetaKeyState(Landroid/view/View;Landroid/text/Editable;I)V
-HSPLandroid/text/method/KeyListener;->getInputType()I
-HSPLandroid/text/method/KeyListener;->onKeyDown(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
-HSPLandroid/text/method/KeyListener;->onKeyOther(Landroid/view/View;Landroid/text/Editable;Landroid/view/KeyEvent;)Z
-HSPLandroid/text/method/KeyListener;->onKeyUp(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
-HSPLandroid/text/method/LinkMovementMethod;-><init>()V
-HSPLandroid/text/method/LinkMovementMethod;->getInstance()Landroid/text/method/MovementMethod;
-HSPLandroid/text/method/LinkMovementMethod;->initialize(Landroid/widget/TextView;Landroid/text/Spannable;)V
+HSPLandroid/text/method/DialerKeyListener;->lookup(Landroid/view/KeyEvent;Landroid/text/Spannable;)I
 HSPLandroid/text/method/MetaKeyKeyListener;->getMetaState(Ljava/lang/CharSequence;I)I
-HSPLandroid/text/method/MetaKeyKeyListener;->onKeyDown(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
-HSPLandroid/text/method/MetaKeyKeyListener;->onKeyUp(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
-HSPLandroid/text/method/MovementMethod;->onGenericMotionEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z
-HSPLandroid/text/method/MovementMethod;->onKeyDown(Landroid/widget/TextView;Landroid/text/Spannable;ILandroid/view/KeyEvent;)Z
-HSPLandroid/text/method/MovementMethod;->onKeyOther(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/KeyEvent;)Z
-HSPLandroid/text/method/MovementMethod;->onKeyUp(Landroid/widget/TextView;Landroid/text/Spannable;ILandroid/view/KeyEvent;)Z
-HSPLandroid/text/method/MovementMethod;->onTrackballEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z
-HSPLandroid/text/method/NumberKeyListener;->getAcceptedChars()[C
-HSPLandroid/text/method/PasswordTransformationMethod$PasswordCharSequence;->getChars(II[CI)V
-HSPLandroid/text/method/PasswordTransformationMethod$PasswordCharSequence;->length()I
-HSPLandroid/text/method/PasswordTransformationMethod;->getInstance()Landroid/text/method/PasswordTransformationMethod;
-HSPLandroid/text/method/PasswordTransformationMethod;->getTransformation(Ljava/lang/CharSequence;Landroid/view/View;)Ljava/lang/CharSequence;
-HSPLandroid/text/method/PasswordTransformationMethod;->onFocusChanged(Landroid/view/View;Ljava/lang/CharSequence;ZILandroid/graphics/Rect;)V
-HSPLandroid/text/method/QwertyKeyListener;->onKeyDown(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
+HSPLandroid/text/method/MetaKeyKeyListener;->isMetaTracker(Ljava/lang/CharSequence;Ljava/lang/Object;)Z
+HSPLandroid/text/method/MetaKeyKeyListener;->resetMetaState(Landroid/text/Spannable;)V
+HSPLandroid/text/method/NumberKeyListener;->filter(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Ljava/lang/CharSequence;
+HSPLandroid/text/method/NumberKeyListener;->onKeyDown(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
 HSPLandroid/text/method/ReplacementTransformationMethod$ReplacementCharSequence;->charAt(I)C
 HSPLandroid/text/method/ReplacementTransformationMethod$ReplacementCharSequence;->getChars(II[CI)V
 HSPLandroid/text/method/ReplacementTransformationMethod$ReplacementCharSequence;->length()I
-HSPLandroid/text/method/ReplacementTransformationMethod$ReplacementCharSequence;->toString()Ljava/lang/String;
-HSPLandroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;->getSpanEnd(Ljava/lang/Object;)I
-HSPLandroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;->getSpanFlags(Ljava/lang/Object;)I
-HSPLandroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;->getSpanStart(Ljava/lang/Object;)I
 HSPLandroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;->getSpans(IILjava/lang/Class;)[Ljava/lang/Object;
 HSPLandroid/text/method/ReplacementTransformationMethod$SpannedReplacementCharSequence;->nextSpanTransition(IILjava/lang/Class;)I
-HSPLandroid/text/method/ReplacementTransformationMethod;->getOriginal()[C
-HSPLandroid/text/method/ReplacementTransformationMethod;->getReplacement()[C
 HSPLandroid/text/method/ReplacementTransformationMethod;->getTransformation(Ljava/lang/CharSequence;Landroid/view/View;)Ljava/lang/CharSequence;
 HSPLandroid/text/method/ReplacementTransformationMethod;->onFocusChanged(Landroid/view/View;Ljava/lang/CharSequence;ZILandroid/graphics/Rect;)V
+HSPLandroid/text/method/SingleLineTransformationMethod;->getInstance()Landroid/text/method/SingleLineTransformationMethod;
 HSPLandroid/text/method/SingleLineTransformationMethod;->getOriginal()[C
 HSPLandroid/text/method/SingleLineTransformationMethod;->getReplacement()[C
 HSPLandroid/text/method/TextKeyListener$Capitalize;-><init>(Ljava/lang/String;I)V
 HSPLandroid/text/method/TextKeyListener$Capitalize;->values()[Landroid/text/method/TextKeyListener$Capitalize;
-HSPLandroid/text/method/TextKeyListener;-><init>(Landroid/text/method/TextKeyListener$Capitalize;Z)V
-HSPLandroid/text/method/TextKeyListener;->getInputType()I
 HSPLandroid/text/method/TextKeyListener;->getInstance()Landroid/text/method/TextKeyListener;
 HSPLandroid/text/method/TextKeyListener;->getInstance(ZLandroid/text/method/TextKeyListener$Capitalize;)Landroid/text/method/TextKeyListener;
-HSPLandroid/text/method/TextKeyListener;->getKeyListener(Landroid/view/KeyEvent;)Landroid/text/method/KeyListener;
-HSPLandroid/text/method/TextKeyListener;->getPrefs(Landroid/content/Context;)I
-HSPLandroid/text/method/TextKeyListener;->initPrefs(Landroid/content/Context;)V
-HSPLandroid/text/method/TextKeyListener;->onKeyDown(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
-HSPLandroid/text/method/TextKeyListener;->onKeyUp(Landroid/view/View;Landroid/text/Editable;ILandroid/view/KeyEvent;)Z
 HSPLandroid/text/method/TextKeyListener;->onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V
 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/TextKeyListener;->updatePrefs(Landroid/content/ContentResolver;)V
-HSPLandroid/text/method/Touch;->onTouchEvent(Landroid/widget/TextView;Landroid/text/Spannable;Landroid/view/MotionEvent;)Z
-HSPLandroid/text/method/TransformationMethod2;->setLengthChangesAllowed(Z)V
-HSPLandroid/text/style/BackgroundColorSpan;-><init>(I)V
-HSPLandroid/text/style/CharacterStyle;-><init>()V
 HSPLandroid/text/style/CharacterStyle;->getUnderlying()Landroid/text/style/CharacterStyle;
-HSPLandroid/text/style/CharacterStyle;->wrap(Landroid/text/style/CharacterStyle;)Landroid/text/style/CharacterStyle;
-HSPLandroid/text/style/ClickableSpan;-><init>()V
-HSPLandroid/text/style/ClickableSpan;->onClick(Landroid/view/View;)V
-HSPLandroid/text/style/ClickableSpan;->updateDrawState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/DynamicDrawableSpan;->getDrawable()Landroid/graphics/drawable/Drawable;
 HSPLandroid/text/style/DynamicDrawableSpan;->getSize(Landroid/graphics/Paint;Ljava/lang/CharSequence;IILandroid/graphics/Paint$FontMetricsInt;)I
 HSPLandroid/text/style/ForegroundColorSpan;-><init>(I)V
 HSPLandroid/text/style/ForegroundColorSpan;->getSpanTypeIdInternal()I
 HSPLandroid/text/style/ForegroundColorSpan;->updateDrawState(Landroid/text/TextPaint;)V
 HSPLandroid/text/style/ForegroundColorSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-HSPLandroid/text/style/ImageSpan;-><init>(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/text/style/ImageSpan;-><init>(Landroid/graphics/drawable/Drawable;I)V
 HSPLandroid/text/style/ImageSpan;->getDrawable()Landroid/graphics/drawable/Drawable;
-HSPLandroid/text/style/LeadingMarginSpan;->drawLeadingMargin(Landroid/graphics/Canvas;Landroid/graphics/Paint;IIIIILjava/lang/CharSequence;IIZLandroid/text/Layout;)V
-HSPLandroid/text/style/LeadingMarginSpan;->getLeadingMargin(Z)I
-HSPLandroid/text/style/LineBackgroundSpan;->drawBackground(Landroid/graphics/Canvas;Landroid/graphics/Paint;IIIIILjava/lang/CharSequence;III)V
-HSPLandroid/text/style/LineHeightSpan;->chooseHeight(Ljava/lang/CharSequence;IIIILandroid/graphics/Paint$FontMetricsInt;)V
-HSPLandroid/text/style/MetricAffectingSpan$Passthrough;->updateDrawState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/MetricAffectingSpan$Passthrough;->updateMeasureState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/MetricAffectingSpan;-><init>()V
-HSPLandroid/text/style/MetricAffectingSpan;->getUnderlying()Landroid/text/style/CharacterStyle;
-HSPLandroid/text/style/MetricAffectingSpan;->getUnderlying()Landroid/text/style/MetricAffectingSpan;
-HSPLandroid/text/style/RelativeSizeSpan;-><init>(F)V
-HSPLandroid/text/style/RelativeSizeSpan;->updateDrawState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/RelativeSizeSpan;->updateMeasureState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/ReplacementSpan;-><init>()V
-HSPLandroid/text/style/ReplacementSpan;->draw(Landroid/graphics/Canvas;Ljava/lang/CharSequence;IIFIIILandroid/graphics/Paint;)V
-HSPLandroid/text/style/ReplacementSpan;->getSize(Landroid/graphics/Paint;Ljava/lang/CharSequence;IILandroid/graphics/Paint$FontMetricsInt;)I
-HSPLandroid/text/style/StyleSpan;-><init>(I)V
 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/TextAppearanceSpan;-><init>(Landroid/content/Context;I)V
 HSPLandroid/text/style/TextAppearanceSpan;-><init>(Landroid/content/Context;II)V
-HSPLandroid/text/style/TextAppearanceSpan;-><init>(Ljava/lang/String;IILandroid/content/res/ColorStateList;Landroid/content/res/ColorStateList;)V
-HSPLandroid/text/style/TextAppearanceSpan;->getFamily()Ljava/lang/String;
-HSPLandroid/text/style/TextAppearanceSpan;->getLinkTextColor()Landroid/content/res/ColorStateList;
-HSPLandroid/text/style/TextAppearanceSpan;->getSpanTypeIdInternal()I
-HSPLandroid/text/style/TextAppearanceSpan;->getTextColor()Landroid/content/res/ColorStateList;
-HSPLandroid/text/style/TextAppearanceSpan;->getTextStyle()I
-HSPLandroid/text/style/TextAppearanceSpan;->updateDrawState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/TextAppearanceSpan;->updateMeasureState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/TextAppearanceSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-HSPLandroid/text/style/TypefaceSpan;-><init>(Ljava/lang/String;)V
-HSPLandroid/text/style/TypefaceSpan;->applyFontFamily(Landroid/graphics/Paint;Ljava/lang/String;)V
-HSPLandroid/text/style/TypefaceSpan;->getSpanTypeIdInternal()I
-HSPLandroid/text/style/TypefaceSpan;->updateDrawState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/TypefaceSpan;->updateMeasureState(Landroid/text/TextPaint;)V
-HSPLandroid/text/style/TypefaceSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-HSPLandroid/text/style/URLSpan;-><init>(Ljava/lang/String;)V
-HSPLandroid/text/style/URLSpan;->getSpanTypeIdInternal()I
-HSPLandroid/text/style/URLSpan;->getURL()Ljava/lang/String;
-HSPLandroid/text/style/URLSpan;->writeToParcelInternal(Landroid/os/Parcel;I)V
-HSPLandroid/text/style/UnderlineSpan;->updateDrawState(Landroid/text/TextPaint;)V
-HSPLandroid/text/util/Linkify$1;-><init>()V
-HSPLandroid/text/util/Linkify$1;->acceptMatch(Ljava/lang/CharSequence;II)Z
-HSPLandroid/text/util/Linkify$2;-><init>()V
-HSPLandroid/text/util/Linkify$3;-><init>()V
-HSPLandroid/text/util/Linkify$TransformFilter;->transformUrl(Ljava/util/regex/Matcher;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/text/util/Linkify;->addLinks(Landroid/text/Spannable;I)Z
-HSPLandroid/text/util/Linkify;->addLinks(Landroid/text/Spannable;ILandroid/content/Context;)Z
-HSPLandroid/text/util/Linkify;->addLinks(Landroid/text/Spannable;Ljava/util/regex/Pattern;Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;)Z
-HSPLandroid/text/util/Linkify;->addLinks(Landroid/text/Spannable;Ljava/util/regex/Pattern;Ljava/lang/String;[Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;)Z
-HSPLandroid/text/util/Linkify;->gatherLinks(Ljava/util/ArrayList;Landroid/text/Spannable;Ljava/util/regex/Pattern;[Ljava/lang/String;Landroid/text/util/Linkify$MatchFilter;Landroid/text/util/Linkify$TransformFilter;)V
-HSPLandroid/text/util/Linkify;->gatherMapLinks(Ljava/util/ArrayList;Landroid/text/Spannable;)V
-HSPLandroid/text/util/Linkify;->gatherTelLinks(Ljava/util/ArrayList;Landroid/text/Spannable;Landroid/content/Context;)V
-HSPLandroid/text/util/Linkify;->makeUrl(Ljava/lang/String;[Ljava/lang/String;Ljava/util/regex/Matcher;Landroid/text/util/Linkify$TransformFilter;)Ljava/lang/String;
-HSPLandroid/text/util/Linkify;->pruneOverlaps(Ljava/util/ArrayList;)V
-HSPLandroid/text/util/Rfc822Token;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/text/util/Rfc822Token;->getAddress()Ljava/lang/String;
-HSPLandroid/text/util/Rfc822Token;->getName()Ljava/lang/String;
-HSPLandroid/text/util/Rfc822Token;->quoteNameIfNecessary(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/text/util/Rfc822Token;->toString()Ljava/lang/String;
-HSPLandroid/text/util/Rfc822Tokenizer;-><init>()V
-HSPLandroid/text/util/Rfc822Tokenizer;->crunch(Ljava/lang/StringBuilder;)V
-HSPLandroid/text/util/Rfc822Tokenizer;->findTokenEnd(Ljava/lang/CharSequence;I)I
-HSPLandroid/text/util/Rfc822Tokenizer;->findTokenStart(Ljava/lang/CharSequence;I)I
-HSPLandroid/text/util/Rfc822Tokenizer;->terminateToken(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/text/util/Rfc822Tokenizer;->tokenize(Ljava/lang/CharSequence;)[Landroid/text/util/Rfc822Token;
-HSPLandroid/text/util/Rfc822Tokenizer;->tokenize(Ljava/lang/CharSequence;Ljava/util/Collection;)V
+HSPLandroid/text/style/TtsSpan$Builder;->build()Landroid/text/style/TtsSpan;
+HSPLandroid/text/style/TtsSpan$Builder;->setStringArgument(Ljava/lang/String;Ljava/lang/String;)Landroid/text/style/TtsSpan$Builder;
+HSPLandroid/text/style/TtsSpan$MeasureBuilder;-><init>()V
+HSPLandroid/text/style/TtsSpan$MeasureBuilder;->setNumber(J)Landroid/text/style/TtsSpan$MeasureBuilder;
+HSPLandroid/text/style/TtsSpan$MeasureBuilder;->setNumber(Ljava/lang/String;)Landroid/text/style/TtsSpan$MeasureBuilder;
+HSPLandroid/text/style/TtsSpan$MeasureBuilder;->setUnit(Ljava/lang/String;)Landroid/text/style/TtsSpan$MeasureBuilder;
+HSPLandroid/text/style/TtsSpan$TextBuilder;-><init>(Ljava/lang/String;)V
+HSPLandroid/text/style/TtsSpan$TextBuilder;->setText(Ljava/lang/String;)Landroid/text/style/TtsSpan$TextBuilder;
+HSPLandroid/text/style/TtsSpan$VerbatimBuilder;-><init>(Ljava/lang/String;)V
+HSPLandroid/text/style/TtsSpan$VerbatimBuilder;->setVerbatim(Ljava/lang/String;)Landroid/text/style/TtsSpan$VerbatimBuilder;
+HSPLandroid/text/style/UnderlineSpan;-><init>()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
@@ -31941,21 +27516,14 @@
 HSPLandroid/transition/Fade$1;->onTransitionEnd(Landroid/transition/Transition;)V
 HSPLandroid/transition/Fade$FadeAnimatorListener;->onAnimationEnd(Landroid/animation/Animator;)V
 HSPLandroid/transition/Fade$FadeAnimatorListener;->onAnimationStart(Landroid/animation/Animator;)V
-HSPLandroid/transition/Fade;-><init>()V
-HSPLandroid/transition/Fade;-><init>(I)V
 HSPLandroid/transition/Fade;->captureStartValues(Landroid/transition/TransitionValues;)V
 HSPLandroid/transition/Fade;->createAnimation(Landroid/view/View;FF)Landroid/animation/Animator;
+HSPLandroid/transition/Fade;->onAppear(Landroid/view/ViewGroup;Landroid/view/View;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;
 HSPLandroid/transition/Fade;->onDisappear(Landroid/view/ViewGroup;Landroid/view/View;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;
-HSPLandroid/transition/PathMotion;->getPath(FFFF)Landroid/graphics/Path;
-HSPLandroid/transition/Scene;->enter()V
 HSPLandroid/transition/Transition$1;-><init>()V
 HSPLandroid/transition/Transition$2;->onAnimationEnd(Landroid/animation/Animator;)V
 HSPLandroid/transition/Transition$2;->onAnimationStart(Landroid/animation/Animator;)V
 HSPLandroid/transition/Transition$3;->onAnimationEnd(Landroid/animation/Animator;)V
-HSPLandroid/transition/Transition$AnimationInfo;-><init>(Landroid/view/View;Ljava/lang/String;Landroid/transition/Transition;Landroid/view/WindowId;Landroid/transition/TransitionValues;)V
-HSPLandroid/transition/Transition$TransitionListener;->onTransitionCancel(Landroid/transition/Transition;)V
-HSPLandroid/transition/Transition$TransitionListener;->onTransitionPause(Landroid/transition/Transition;)V
-HSPLandroid/transition/Transition$TransitionListener;->onTransitionResume(Landroid/transition/Transition;)V
 HSPLandroid/transition/Transition;-><init>()V
 HSPLandroid/transition/Transition;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/transition/Transition;->addListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/Transition;
@@ -31963,7 +27531,6 @@
 HSPLandroid/transition/Transition;->addUnmatched(Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V
 HSPLandroid/transition/Transition;->addViewValues(Landroid/transition/TransitionValuesMaps;Landroid/view/View;Landroid/transition/TransitionValues;)V
 HSPLandroid/transition/Transition;->animate(Landroid/animation/Animator;)V
-HSPLandroid/transition/Transition;->captureHierarchy(Landroid/view/View;Z)V
 HSPLandroid/transition/Transition;->capturePropagationValues(Landroid/transition/TransitionValues;)V
 HSPLandroid/transition/Transition;->captureValues(Landroid/view/ViewGroup;Z)V
 HSPLandroid/transition/Transition;->clearValues(Z)V
@@ -31971,16 +27538,10 @@
 HSPLandroid/transition/Transition;->createAnimators(Landroid/view/ViewGroup;Landroid/transition/TransitionValuesMaps;Landroid/transition/TransitionValuesMaps;Ljava/util/ArrayList;Ljava/util/ArrayList;)V
 HSPLandroid/transition/Transition;->end()V
 HSPLandroid/transition/Transition;->getDuration()J
+HSPLandroid/transition/Transition;->getEpicenter()Landroid/graphics/Rect;
 HSPLandroid/transition/Transition;->getInterpolator()Landroid/animation/TimeInterpolator;
-HSPLandroid/transition/Transition;->getMatchedTransitionValues(Landroid/view/View;Z)Landroid/transition/TransitionValues;
 HSPLandroid/transition/Transition;->getName()Ljava/lang/String;
-HSPLandroid/transition/Transition;->getRunningAnimators()Landroid/util/ArrayMap;
 HSPLandroid/transition/Transition;->getStartDelay()J
-HSPLandroid/transition/Transition;->getTargetIds()Ljava/util/List;
-HSPLandroid/transition/Transition;->getTargetNames()Ljava/util/List;
-HSPLandroid/transition/Transition;->getTargetTypes()Ljava/util/List;
-HSPLandroid/transition/Transition;->getTargets()Ljava/util/List;
-HSPLandroid/transition/Transition;->getTransitionValues(Landroid/view/View;Z)Landroid/transition/TransitionValues;
 HSPLandroid/transition/Transition;->isValidTarget(Landroid/view/View;)Z
 HSPLandroid/transition/Transition;->matchIds(Landroid/util/ArrayMap;Landroid/util/ArrayMap;Landroid/util/SparseArray;Landroid/util/SparseArray;)V
 HSPLandroid/transition/Transition;->matchInstances(Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V
@@ -31989,18 +27550,21 @@
 HSPLandroid/transition/Transition;->matchStartAndEnd(Landroid/transition/TransitionValuesMaps;Landroid/transition/TransitionValuesMaps;)V
 HSPLandroid/transition/Transition;->playTransition(Landroid/view/ViewGroup;)V
 HSPLandroid/transition/Transition;->removeListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/Transition;
-HSPLandroid/transition/Transition;->removeTarget(Landroid/view/View;)Landroid/transition/Transition;
 HSPLandroid/transition/Transition;->runAnimators()V
 HSPLandroid/transition/Transition;->setDuration(J)Landroid/transition/Transition;
+HSPLandroid/transition/Transition;->setEpicenterCallback(Landroid/transition/Transition$EpicenterCallback;)V
 HSPLandroid/transition/Transition;->start()V
 HSPLandroid/transition/TransitionInflater;->createCustom(Landroid/util/AttributeSet;Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Object;
 HSPLandroid/transition/TransitionInflater;->createTransitionFromXml(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/transition/Transition;)Landroid/transition/Transition;
+HSPLandroid/transition/TransitionInflater;->from(Landroid/content/Context;)Landroid/transition/TransitionInflater;
 HSPLandroid/transition/TransitionInflater;->inflateTransition(I)Landroid/transition/Transition;
 HSPLandroid/transition/TransitionListenerAdapter;->onTransitionStart(Landroid/transition/Transition;)V
 HSPLandroid/transition/TransitionManager$MultiListener$1;->onTransitionEnd(Landroid/transition/Transition;)V
 HSPLandroid/transition/TransitionManager$MultiListener;->onPreDraw()Z
+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;->endTransitions(Landroid/view/ViewGroup;)V
 HSPLandroid/transition/TransitionManager;->getRunningTransitions()Landroid/util/ArrayMap;
 HSPLandroid/transition/TransitionManager;->sceneChangeSetup(Landroid/view/ViewGroup;Landroid/transition/Transition;)V
 HSPLandroid/transition/TransitionSet$TransitionSetListener;->onTransitionEnd(Landroid/transition/Transition;)V
@@ -32009,6 +27573,7 @@
 HSPLandroid/transition/TransitionSet;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/transition/TransitionSet;->addListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/Transition;
 HSPLandroid/transition/TransitionSet;->addListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/TransitionSet;
+HSPLandroid/transition/TransitionSet;->addTarget(Landroid/view/View;)Landroid/transition/Transition;
 HSPLandroid/transition/TransitionSet;->addTarget(Landroid/view/View;)Landroid/transition/TransitionSet;
 HSPLandroid/transition/TransitionSet;->addTransition(Landroid/transition/Transition;)Landroid/transition/TransitionSet;
 HSPLandroid/transition/TransitionSet;->captureEndValues(Landroid/transition/TransitionValues;)V
@@ -32018,25 +27583,31 @@
 HSPLandroid/transition/TransitionSet;->clone()Landroid/transition/TransitionSet;
 HSPLandroid/transition/TransitionSet;->createAnimators(Landroid/view/ViewGroup;Landroid/transition/TransitionValuesMaps;Landroid/transition/TransitionValuesMaps;Ljava/util/ArrayList;Ljava/util/ArrayList;)V
 HSPLandroid/transition/TransitionSet;->getTransitionCount()I
+HSPLandroid/transition/TransitionSet;->removeListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/Transition;
+HSPLandroid/transition/TransitionSet;->removeListener(Landroid/transition/Transition$TransitionListener;)Landroid/transition/TransitionSet;
 HSPLandroid/transition/TransitionSet;->runAnimators()V
-HSPLandroid/transition/TransitionSet;->setDuration(J)Landroid/transition/TransitionSet;
+HSPLandroid/transition/TransitionSet;->setEpicenterCallback(Landroid/transition/Transition$EpicenterCallback;)V
 HSPLandroid/transition/TransitionSet;->setOrdering(I)Landroid/transition/TransitionSet;
 HSPLandroid/transition/TransitionSet;->setupStartEndListeners()V
-HSPLandroid/transition/TransitionUtils;->copyViewImage(Landroid/view/ViewGroup;Landroid/view/View;Landroid/view/View;)Landroid/view/View;
-HSPLandroid/transition/TransitionUtils;->createViewBitmap(Landroid/view/View;Landroid/graphics/Matrix;Landroid/graphics/RectF;Landroid/view/ViewGroup;)Landroid/graphics/Bitmap;
-HSPLandroid/transition/Visibility$1;->onTransitionEnd(Landroid/transition/Transition;)V
+HSPLandroid/transition/Visibility$DisappearListener;->onAnimationEnd(Landroid/animation/Animator;)V
+HSPLandroid/transition/Visibility$DisappearListener;->onAnimationStart(Landroid/animation/Animator;)V
+HSPLandroid/transition/Visibility$DisappearListener;->onTransitionEnd(Landroid/transition/Transition;)V
 HSPLandroid/transition/Visibility;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLandroid/transition/Visibility;->captureEndValues(Landroid/transition/TransitionValues;)V
+HSPLandroid/transition/Visibility;->captureStartValues(Landroid/transition/TransitionValues;)V
 HSPLandroid/transition/Visibility;->captureValues(Landroid/transition/TransitionValues;)V
 HSPLandroid/transition/Visibility;->createAnimator(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;
+HSPLandroid/transition/Visibility;->getTransitionProperties()[Ljava/lang/String;
 HSPLandroid/transition/Visibility;->getVisibilityChangeInfo(Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/transition/Visibility$VisibilityInfo;
+HSPLandroid/transition/Visibility;->isTransitionRequired(Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Z
+HSPLandroid/transition/Visibility;->onAppear(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;ILandroid/transition/TransitionValues;I)Landroid/animation/Animator;
 HSPLandroid/transition/Visibility;->onDisappear(Landroid/view/ViewGroup;Landroid/transition/TransitionValues;ILandroid/transition/TransitionValues;I)Landroid/animation/Animator;
-HSPLandroid/transition/Visibility;->setMode(I)V
 HSPLandroid/util/AndroidException;-><init>(Ljava/lang/String;)V
 HSPLandroid/util/AndroidRuntimeException;-><init>(Ljava/lang/String;)V
 HSPLandroid/util/ArrayMap$1;->colGetEntry(II)Ljava/lang/Object;
-HSPLandroid/util/ArrayMap$1;->colGetMap()Ljava/util/Map;
 HSPLandroid/util/ArrayMap$1;->colGetSize()I
 HSPLandroid/util/ArrayMap$1;->colIndexOfKey(Ljava/lang/Object;)I
+HSPLandroid/util/ArrayMap$1;->colIndexOfValue(Ljava/lang/Object;)I
 HSPLandroid/util/ArrayMap$1;->colRemoveAt(I)V
 HSPLandroid/util/ArrayMap;-><init>()V
 HSPLandroid/util/ArrayMap;-><init>(I)V
@@ -32046,6 +27617,7 @@
 HSPLandroid/util/ArrayMap;->append(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/util/ArrayMap;->binarySearchHashes([III)I
 HSPLandroid/util/ArrayMap;->clear()V
+HSPLandroid/util/ArrayMap;->containsAll(Ljava/util/Collection;)Z
 HSPLandroid/util/ArrayMap;->containsKey(Ljava/lang/Object;)Z
 HSPLandroid/util/ArrayMap;->ensureCapacity(I)V
 HSPLandroid/util/ArrayMap;->entrySet()Ljava/util/Set;
@@ -32054,7 +27626,9 @@
 HSPLandroid/util/ArrayMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/util/ArrayMap;->hashCode()I
 HSPLandroid/util/ArrayMap;->indexOf(Ljava/lang/Object;I)I
+HSPLandroid/util/ArrayMap;->indexOfKey(Ljava/lang/Object;)I
 HSPLandroid/util/ArrayMap;->indexOfNull()I
+HSPLandroid/util/ArrayMap;->indexOfValue(Ljava/lang/Object;)I
 HSPLandroid/util/ArrayMap;->isEmpty()Z
 HSPLandroid/util/ArrayMap;->keyAt(I)Ljava/lang/Object;
 HSPLandroid/util/ArrayMap;->keySet()Ljava/util/Set;
@@ -32063,6 +27637,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;
+HSPLandroid/util/ArrayMap;->retainAll(Ljava/util/Collection;)Z
 HSPLandroid/util/ArrayMap;->size()I
 HSPLandroid/util/ArrayMap;->toString()Ljava/lang/String;
 HSPLandroid/util/ArrayMap;->validate()V
@@ -32102,7 +27677,9 @@
 HSPLandroid/util/ArraySet;->valueAt(I)Ljava/lang/Object;
 HSPLandroid/util/AtomicFile;-><init>(Ljava/io/File;)V
 HSPLandroid/util/AtomicFile;-><init>(Ljava/io/File;Ljava/lang/String;)V
+HSPLandroid/util/AtomicFile;->delete()V
 HSPLandroid/util/AtomicFile;->exists()Z
+HSPLandroid/util/AtomicFile;->failWrite(Ljava/io/FileOutputStream;)V
 HSPLandroid/util/AtomicFile;->finishWrite(Ljava/io/FileOutputStream;)V
 HSPLandroid/util/AtomicFile;->getBaseFile()Ljava/io/File;
 HSPLandroid/util/AtomicFile;->getLastModifiedTime()J
@@ -32110,29 +27687,6 @@
 HSPLandroid/util/AtomicFile;->readFully()[B
 HSPLandroid/util/AtomicFile;->startWrite()Ljava/io/FileOutputStream;
 HSPLandroid/util/AtomicFile;->startWrite(J)Ljava/io/FileOutputStream;
-HSPLandroid/util/AttributeSet;->getAttributeBooleanValue(IZ)Z
-HSPLandroid/util/AttributeSet;->getAttributeBooleanValue(Ljava/lang/String;Ljava/lang/String;Z)Z
-HSPLandroid/util/AttributeSet;->getAttributeCount()I
-HSPLandroid/util/AttributeSet;->getAttributeFloatValue(IF)F
-HSPLandroid/util/AttributeSet;->getAttributeFloatValue(Ljava/lang/String;Ljava/lang/String;F)F
-HSPLandroid/util/AttributeSet;->getAttributeIntValue(II)I
-HSPLandroid/util/AttributeSet;->getAttributeIntValue(Ljava/lang/String;Ljava/lang/String;I)I
-HSPLandroid/util/AttributeSet;->getAttributeListValue(I[Ljava/lang/String;I)I
-HSPLandroid/util/AttributeSet;->getAttributeListValue(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;I)I
-HSPLandroid/util/AttributeSet;->getAttributeName(I)Ljava/lang/String;
-HSPLandroid/util/AttributeSet;->getAttributeNameResource(I)I
-HSPLandroid/util/AttributeSet;->getAttributeResourceValue(II)I
-HSPLandroid/util/AttributeSet;->getAttributeResourceValue(Ljava/lang/String;Ljava/lang/String;I)I
-HSPLandroid/util/AttributeSet;->getAttributeUnsignedIntValue(II)I
-HSPLandroid/util/AttributeSet;->getAttributeUnsignedIntValue(Ljava/lang/String;Ljava/lang/String;I)I
-HSPLandroid/util/AttributeSet;->getAttributeValue(I)Ljava/lang/String;
-HSPLandroid/util/AttributeSet;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/util/AttributeSet;->getClassAttribute()Ljava/lang/String;
-HSPLandroid/util/AttributeSet;->getIdAttribute()Ljava/lang/String;
-HSPLandroid/util/AttributeSet;->getIdAttributeResourceValue(I)I
-HSPLandroid/util/AttributeSet;->getPositionDescription()Ljava/lang/String;
-HSPLandroid/util/AttributeSet;->getStyleAttribute()I
-HSPLandroid/util/Base64$Decoder;->maxOutputSize(I)I
 HSPLandroid/util/Base64$Decoder;->process([BIIZ)Z
 HSPLandroid/util/Base64$Encoder;-><init>(I[B)V
 HSPLandroid/util/Base64$Encoder;->process([BIIZ)Z
@@ -32143,17 +27697,13 @@
 HSPLandroid/util/Base64;->encode([BIII)[B
 HSPLandroid/util/Base64;->encodeToString([BI)Ljava/lang/String;
 HSPLandroid/util/Base64;->encodeToString([BIII)Ljava/lang/String;
-HSPLandroid/util/Base64InputStream;-><init>(Ljava/io/InputStream;I)V
-HSPLandroid/util/Base64InputStream;-><init>(Ljava/io/InputStream;IZ)V
-HSPLandroid/util/Base64InputStream;->close()V
-HSPLandroid/util/Base64InputStream;->read([BII)I
-HSPLandroid/util/Base64InputStream;->refill()V
+HSPLandroid/util/ByteStringUtils;->fromHexToByteArray(Ljava/lang/String;)[B
+HSPLandroid/util/ByteStringUtils;->toHexString([B)Ljava/lang/String;
 HSPLandroid/util/ContainerHelpers;->binarySearch([III)I
 HSPLandroid/util/DataUnit$1;-><init>(Ljava/lang/String;I)V
 HSPLandroid/util/DataUnit$2;-><init>(Ljava/lang/String;I)V
 HSPLandroid/util/DataUnit$3;-><init>(Ljava/lang/String;I)V
 HSPLandroid/util/DataUnit$4;-><init>(Ljava/lang/String;I)V
-HSPLandroid/util/DataUnit$4;->toBytes(J)J
 HSPLandroid/util/DataUnit$5;-><init>(Ljava/lang/String;I)V
 HSPLandroid/util/DataUnit$5;->toBytes(J)J
 HSPLandroid/util/DataUnit$6;-><init>(Ljava/lang/String;I)V
@@ -32162,9 +27712,6 @@
 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
-HSPLandroid/util/DisplayMetrics;->equals(Landroid/util/DisplayMetrics;)Z
-HSPLandroid/util/DisplayMetrics;->equals(Ljava/lang/Object;)Z
-HSPLandroid/util/DisplayMetrics;->equalsPhysical(Landroid/util/DisplayMetrics;)Z
 HSPLandroid/util/DisplayMetrics;->getDeviceDensity()I
 HSPLandroid/util/DisplayMetrics;->setTo(Landroid/util/DisplayMetrics;)V
 HSPLandroid/util/DisplayMetrics;->setToDefaults()V
@@ -32178,12 +27725,17 @@
 HSPLandroid/util/FastImmutableArraySet;->iterator()Ljava/util/Iterator;
 HSPLandroid/util/FeatureFlagUtils;->isEnabled(Landroid/content/Context;Ljava/lang/String;)Z
 HSPLandroid/util/FloatProperty;-><init>(Ljava/lang/String;)V
-HSPLandroid/util/FloatProperty;->set(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLandroid/util/IconDrawableFactory;->getBadgedIcon(Landroid/content/pm/ApplicationInfo;)Landroid/graphics/drawable/Drawable;
+HSPLandroid/util/IconDrawableFactory;->getBadgedIcon(Landroid/content/pm/ApplicationInfo;I)Landroid/graphics/drawable/Drawable;
+HSPLandroid/util/IconDrawableFactory;->getBadgedIcon(Landroid/content/pm/PackageItemInfo;Landroid/content/pm/ApplicationInfo;I)Landroid/graphics/drawable/Drawable;
+HSPLandroid/util/IconDrawableFactory;->getShadowedIcon(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
+HSPLandroid/util/IconDrawableFactory;->newInstance(Landroid/content/Context;)Landroid/util/IconDrawableFactory;
 HSPLandroid/util/IntArray;-><init>()V
 HSPLandroid/util/IntArray;-><init>(I)V
 HSPLandroid/util/IntArray;->add(I)V
 HSPLandroid/util/IntArray;->add(II)V
 HSPLandroid/util/IntArray;->addAll(Landroid/util/IntArray;)V
+HSPLandroid/util/IntArray;->binarySearch(I)I
 HSPLandroid/util/IntArray;->clear()V
 HSPLandroid/util/IntArray;->ensureCapacity(I)V
 HSPLandroid/util/IntArray;->get(I)I
@@ -32191,24 +27743,18 @@
 HSPLandroid/util/IntArray;->remove(I)V
 HSPLandroid/util/IntArray;->size()I
 HSPLandroid/util/IntArray;->toArray()[I
-HSPLandroid/util/IntProperty;-><init>(Ljava/lang/String;)V
-HSPLandroid/util/IntProperty;->set(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/util/JsonReader;-><init>(Ljava/io/Reader;)V
 HSPLandroid/util/JsonReader;->beginArray()V
 HSPLandroid/util/JsonReader;->beginObject()V
 HSPLandroid/util/JsonReader;->close()V
 HSPLandroid/util/JsonReader;->decodeLiteral()Landroid/util/JsonToken;
 HSPLandroid/util/JsonReader;->decodeNumber([CII)Landroid/util/JsonToken;
-HSPLandroid/util/JsonReader;->endArray()V
 HSPLandroid/util/JsonReader;->endObject()V
 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;->nextDouble()D
 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;
@@ -32225,23 +27771,9 @@
 HSPLandroid/util/JsonScope;-><init>(Ljava/lang/String;I)V
 HSPLandroid/util/JsonScope;->values()[Landroid/util/JsonScope;
 HSPLandroid/util/JsonToken;-><init>(Ljava/lang/String;I)V
-HSPLandroid/util/JsonToken;->values()[Landroid/util/JsonToken;
-HSPLandroid/util/JsonWriter;-><init>(Ljava/io/Writer;)V
-HSPLandroid/util/JsonWriter;->beforeName()V
-HSPLandroid/util/JsonWriter;->beforeValue(Z)V
-HSPLandroid/util/JsonWriter;->beginArray()Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->beginObject()Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->close(Landroid/util/JsonScope;Landroid/util/JsonScope;Ljava/lang/String;)Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->endArray()Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->endObject()Landroid/util/JsonWriter;
-HSPLandroid/util/JsonWriter;->flush()V
-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;->setLenient(Z)V
-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/JsonWriter;->value(Z)Landroid/util/JsonWriter;
+HSPLandroid/util/KeyValueListParser$IntValue;-><init>(Ljava/lang/String;I)V
+HSPLandroid/util/KeyValueListParser$IntValue;->getValue()I
+HSPLandroid/util/KeyValueListParser$IntValue;->parse(Landroid/util/KeyValueListParser;)V
 HSPLandroid/util/KeyValueListParser;-><init>(C)V
 HSPLandroid/util/KeyValueListParser;->getBoolean(Ljava/lang/String;Z)Z
 HSPLandroid/util/KeyValueListParser;->getDurationMillis(Ljava/lang/String;J)J
@@ -32252,16 +27784,20 @@
 HSPLandroid/util/KeyValueListParser;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLandroid/util/KeyValueListParser;->setString(Ljava/lang/String;)V
 HSPLandroid/util/KeyValueListParser;->size()I
+HSPLandroid/util/LauncherIcons$ShadowDrawable$MyConstantState;->newDrawable()Landroid/graphics/drawable/Drawable;
+HSPLandroid/util/LauncherIcons$ShadowDrawable;->draw(Landroid/graphics/Canvas;)V
+HSPLandroid/util/LauncherIcons$ShadowDrawable;->getConstantState()Landroid/graphics/drawable/Drawable$ConstantState;
+HSPLandroid/util/LauncherIcons;->getBadgedDrawable(Landroid/graphics/drawable/Drawable;II)Landroid/graphics/drawable/Drawable;
+HSPLandroid/util/LauncherIcons;->getShadowBitmap(Landroid/graphics/drawable/AdaptiveIconDrawable;)Landroid/graphics/Bitmap;
 HSPLandroid/util/LocalLog;-><init>(I)V
 HSPLandroid/util/LocalLog;->append(Ljava/lang/String;)V
 HSPLandroid/util/LocalLog;->log(Ljava/lang/String;)V
 HSPLandroid/util/Log$1;-><init>()V
+HSPLandroid/util/Log$1;->onTerribleFailure(Ljava/lang/String;Landroid/util/Log$TerribleFailure;Z)V
 HSPLandroid/util/Log$ImmediateLogWriter;->flush()V
 HSPLandroid/util/Log$ImmediateLogWriter;->write([CII)V
-HSPLandroid/util/Log$TerribleFailureHandler;->onTerribleFailure(Ljava/lang/String;Landroid/util/Log$TerribleFailure;Z)V
 HSPLandroid/util/Log;->access$000()I
 HSPLandroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;)I
-HSPLandroid/util/Log;->d(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
 HSPLandroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/util/Log;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
 HSPLandroid/util/Log;->getStackTraceString(Ljava/lang/Throwable;)Ljava/lang/String;
@@ -32272,7 +27808,6 @@
 HSPLandroid/util/Log;->v(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/util/Log;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
-HSPLandroid/util/Log;->w(Ljava/lang/String;Ljava/lang/Throwable;)I
 HSPLandroid/util/LogPrinter;-><init>(ILjava/lang/String;)V
 HSPLandroid/util/LongArray;-><init>()V
 HSPLandroid/util/LongArray;->add(IJ)V
@@ -32296,6 +27831,7 @@
 HSPLandroid/util/LongSparseArray;->size()I
 HSPLandroid/util/LongSparseArray;->valueAt(I)Ljava/lang/Object;
 HSPLandroid/util/LongSparseLongArray;-><init>()V
+HSPLandroid/util/LongSparseLongArray;-><init>(I)V
 HSPLandroid/util/LongSparseLongArray;->append(JJ)V
 HSPLandroid/util/LongSparseLongArray;->clear()V
 HSPLandroid/util/LongSparseLongArray;->clone()Landroid/util/LongSparseLongArray;
@@ -32324,8 +27860,6 @@
 HSPLandroid/util/MapCollections$EntrySet;->iterator()Ljava/util/Iterator;
 HSPLandroid/util/MapCollections$EntrySet;->size()I
 HSPLandroid/util/MapCollections$KeySet;->contains(Ljava/lang/Object;)Z
-HSPLandroid/util/MapCollections$KeySet;->containsAll(Ljava/util/Collection;)Z
-HSPLandroid/util/MapCollections$KeySet;->equals(Ljava/lang/Object;)Z
 HSPLandroid/util/MapCollections$KeySet;->isEmpty()Z
 HSPLandroid/util/MapCollections$KeySet;->iterator()Ljava/util/Iterator;
 HSPLandroid/util/MapCollections$KeySet;->size()I
@@ -32335,13 +27869,15 @@
 HSPLandroid/util/MapCollections$MapIterator;->getValue()Ljava/lang/Object;
 HSPLandroid/util/MapCollections$MapIterator;->hasNext()Z
 HSPLandroid/util/MapCollections$MapIterator;->next()Ljava/lang/Object;
+HSPLandroid/util/MapCollections$ValuesCollection;->contains(Ljava/lang/Object;)Z
+HSPLandroid/util/MapCollections$ValuesCollection;->isEmpty()Z
 HSPLandroid/util/MapCollections$ValuesCollection;->iterator()Ljava/util/Iterator;
 HSPLandroid/util/MapCollections$ValuesCollection;->size()I
 HSPLandroid/util/MapCollections$ValuesCollection;->toArray()[Ljava/lang/Object;
-HSPLandroid/util/MapCollections;->equalsSetHelper(Ljava/util/Set;Ljava/lang/Object;)Z
 HSPLandroid/util/MapCollections;->getEntrySet()Ljava/util/Set;
 HSPLandroid/util/MapCollections;->getKeySet()Ljava/util/Set;
 HSPLandroid/util/MapCollections;->getValues()Ljava/util/Collection;
+HSPLandroid/util/MapCollections;->retainAllHelper(Ljava/util/Map;Ljava/util/Collection;)Z
 HSPLandroid/util/MapCollections;->toArrayHelper(I)[Ljava/lang/Object;
 HSPLandroid/util/MapCollections;->toArrayHelper([Ljava/lang/Object;I)[Ljava/lang/Object;
 HSPLandroid/util/MathUtils;->addOrThrow(II)I
@@ -32373,24 +27909,19 @@
 HSPLandroid/util/MergedConfiguration;->setGlobalConfiguration(Landroid/content/res/Configuration;)V
 HSPLandroid/util/MergedConfiguration;->setTo(Landroid/util/MergedConfiguration;)V
 HSPLandroid/util/MergedConfiguration;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/util/MutableBoolean;-><init>(Z)V
-HSPLandroid/util/MutableInt;-><init>(I)V
-HSPLandroid/util/MutableLong;-><init>(J)V
 HSPLandroid/util/NtpTrustedTime;->getInstance(Landroid/content/Context;)Landroid/util/NtpTrustedTime;
 HSPLandroid/util/NtpTrustedTime;->hasCache()Z
+HSPLandroid/util/PackageUtils;->computeSha256Digest([B)Ljava/lang/String;
+HSPLandroid/util/PackageUtils;->computeSha256DigestBytes([B)[B
 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
 HSPLandroid/util/Pair;->hashCode()I
 HSPLandroid/util/Pair;->toString()Ljava/lang/String;
-HSPLandroid/util/PathParser$PathData;-><init>()V
 HSPLandroid/util/PathParser$PathData;-><init>(Landroid/util/PathParser$PathData;)V
 HSPLandroid/util/PathParser$PathData;-><init>(Ljava/lang/String;)V
 HSPLandroid/util/PathParser$PathData;->finalize()V
-HSPLandroid/util/PathParser$PathData;->getNativePtr()J
-HSPLandroid/util/PathParser;->canMorph(Landroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;)Z
 HSPLandroid/util/PathParser;->createPathFromPathData(Ljava/lang/String;)Landroid/graphics/Path;
-HSPLandroid/util/PathParser;->interpolatePathData(Landroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;Landroid/util/PathParser$PathData;F)Z
 HSPLandroid/util/Pools$SimplePool;-><init>(I)V
 HSPLandroid/util/Pools$SimplePool;->acquire()Ljava/lang/Object;
 HSPLandroid/util/Pools$SimplePool;->release(Ljava/lang/Object;)Z
@@ -32402,9 +27933,6 @@
 HSPLandroid/util/Property;->getName()Ljava/lang/String;
 HSPLandroid/util/Property;->getType()Ljava/lang/Class;
 HSPLandroid/util/Range;-><init>(Ljava/lang/Comparable;Ljava/lang/Comparable;)V
-HSPLandroid/util/Range;->clamp(Ljava/lang/Comparable;)Ljava/lang/Comparable;
-HSPLandroid/util/Range;->contains(Landroid/util/Range;)Z
-HSPLandroid/util/Range;->contains(Ljava/lang/Comparable;)Z
 HSPLandroid/util/Range;->create(Ljava/lang/Comparable;Ljava/lang/Comparable;)Landroid/util/Range;
 HSPLandroid/util/Range;->getLower()Ljava/lang/Comparable;
 HSPLandroid/util/Range;->getUpper()Ljava/lang/Comparable;
@@ -32413,8 +27941,10 @@
 HSPLandroid/util/Rational;-><init>(II)V
 HSPLandroid/util/Rational;->compareTo(Landroid/util/Rational;)I
 HSPLandroid/util/Rational;->compareTo(Ljava/lang/Object;)I
-HSPLandroid/util/Rational;->equals(Ljava/lang/Object;)Z
 HSPLandroid/util/RecurrenceRule$1;-><init>()V
+HSPLandroid/util/RecurrenceRule$1;->createFromParcel(Landroid/os/Parcel;)Landroid/util/RecurrenceRule;
+HSPLandroid/util/RecurrenceRule$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/util/RecurrenceRule;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/util/RecurrenceRule;-><init>(Ljava/time/ZonedDateTime;Ljava/time/ZonedDateTime;Ljava/time/Period;)V
 HSPLandroid/util/RecurrenceRule;->convertPeriod(Ljava/lang/String;)Ljava/time/Period;
 HSPLandroid/util/RecurrenceRule;->convertPeriod(Ljava/time/Period;)Ljava/lang/String;
@@ -32422,15 +27952,19 @@
 HSPLandroid/util/RecurrenceRule;->convertZonedDateTime(Ljava/time/ZonedDateTime;)Ljava/lang/String;
 HSPLandroid/util/Singleton;->get()Ljava/lang/Object;
 HSPLandroid/util/Size;-><init>(II)V
+HSPLandroid/util/Size;->equals(Ljava/lang/Object;)Z
 HSPLandroid/util/Size;->hashCode()I
 HSPLandroid/util/Size;->parseSize(Ljava/lang/String;)Landroid/util/Size;
 HSPLandroid/util/Slog;->d(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;)I
+HSPLandroid/util/Slog;->e(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
 HSPLandroid/util/Slog;->i(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/util/Slog;->println(ILjava/lang/String;Ljava/lang/String;)I
 HSPLandroid/util/Slog;->v(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;)I
 HSPLandroid/util/Slog;->w(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
+HSPLandroid/util/Slog;->wtf(Ljava/lang/String;Ljava/lang/String;)I
+HSPLandroid/util/Slog;->wtf(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)I
 HSPLandroid/util/SparseArray;-><init>()V
 HSPLandroid/util/SparseArray;-><init>(I)V
 HSPLandroid/util/SparseArray;->append(ILjava/lang/Object;)V
@@ -32449,7 +27983,6 @@
 HSPLandroid/util/SparseArray;->removeReturnOld(I)Ljava/lang/Object;
 HSPLandroid/util/SparseArray;->setValueAt(ILjava/lang/Object;)V
 HSPLandroid/util/SparseArray;->size()I
-HSPLandroid/util/SparseArray;->toString()Ljava/lang/String;
 HSPLandroid/util/SparseArray;->valueAt(I)Ljava/lang/Object;
 HSPLandroid/util/SparseBooleanArray;-><init>()V
 HSPLandroid/util/SparseBooleanArray;-><init>(I)V
@@ -32484,7 +28017,6 @@
 HSPLandroid/util/SparseIntArray;->valueAt(I)I
 HSPLandroid/util/SparseLongArray;-><init>()V
 HSPLandroid/util/SparseLongArray;-><init>(I)V
-HSPLandroid/util/SparseLongArray;->clear()V
 HSPLandroid/util/SparseLongArray;->get(I)J
 HSPLandroid/util/SparseLongArray;->get(IJ)J
 HSPLandroid/util/SparseLongArray;->keyAt(I)I
@@ -32498,20 +28030,22 @@
 HSPLandroid/util/Spline$MonotoneCubicSpline;-><init>([F[F)V
 HSPLandroid/util/Spline$MonotoneCubicSpline;->interpolate(F)F
 HSPLandroid/util/Spline;->createSpline([F[F)Landroid/util/Spline;
-HSPLandroid/util/Spline;->interpolate(F)F
 HSPLandroid/util/Spline;->isMonotonic([F)Z
 HSPLandroid/util/Spline;->isStrictlyIncreasing([F)Z
-HSPLandroid/util/StateSet;->containsAttribute([[II)Z
 HSPLandroid/util/StateSet;->get(I)[I
 HSPLandroid/util/StateSet;->stateSetMatches([I[I)Z
 HSPLandroid/util/StateSet;->trimStateSet([II)[I
+HSPLandroid/util/StatsLogInternal;->write(ILandroid/os/WorkSource;Ljava/lang/String;Ljava/lang/String;)V
 HSPLandroid/util/TimeUtils;->formatDuration(JJLjava/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
-HSPLandroid/util/TimeUtils;->logTimeOfDay(J)Ljava/lang/String;
+HSPLandroid/util/TimeUtils;->getTimeZoneDatabaseVersion()Ljava/lang/String;
 HSPLandroid/util/TimeUtils;->printFieldLocked([CICIZI)I
 HSPLandroid/util/TimedRemoteCaller;-><init>(J)V
+HSPLandroid/util/TimestampedValue;->readFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;Ljava/lang/Class;)Landroid/util/TimestampedValue;
+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
@@ -32522,11 +28056,6 @@
 HSPLandroid/util/TimingsTraceLog;->logDuration(Ljava/lang/String;J)V
 HSPLandroid/util/TimingsTraceLog;->traceBegin(Ljava/lang/String;)V
 HSPLandroid/util/TimingsTraceLog;->traceEnd()V
-HSPLandroid/util/TrustedTime;->currentTimeMillis()J
-HSPLandroid/util/TrustedTime;->forceRefresh()Z
-HSPLandroid/util/TrustedTime;->getCacheAge()J
-HSPLandroid/util/TrustedTime;->getCacheCertainty()J
-HSPLandroid/util/TrustedTime;->hasCache()Z
 HSPLandroid/util/TypedValue;-><init>()V
 HSPLandroid/util/TypedValue;->applyDimension(IFLandroid/util/DisplayMetrics;)F
 HSPLandroid/util/TypedValue;->coerceToString()Ljava/lang/CharSequence;
@@ -32534,71 +28063,176 @@
 HSPLandroid/util/TypedValue;->complexToDimension(ILandroid/util/DisplayMetrics;)F
 HSPLandroid/util/TypedValue;->complexToDimensionPixelOffset(ILandroid/util/DisplayMetrics;)I
 HSPLandroid/util/TypedValue;->complexToDimensionPixelSize(ILandroid/util/DisplayMetrics;)I
+HSPLandroid/util/TypedValue;->complexToFloat(I)F
 HSPLandroid/util/TypedValue;->complexToFraction(IFF)F
-HSPLandroid/util/TypedValue;->getDimension(Landroid/util/DisplayMetrics;)F
 HSPLandroid/util/TypedValue;->getFloat()F
 HSPLandroid/util/TypedValue;->getFraction(FF)F
-HSPLandroid/util/TypedValue;->toString()Ljava/lang/String;
 HSPLandroid/util/Xml$Encoding;-><init>(Ljava/lang/String;ILjava/lang/String;)V
 HSPLandroid/util/Xml;->asAttributeSet(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/AttributeSet;
 HSPLandroid/util/Xml;->newPullParser()Lorg/xmlpull/v1/XmlPullParser;
 HSPLandroid/util/Xml;->newSerializer()Lorg/xmlpull/v1/XmlSerializer;
 HSPLandroid/util/Xml;->parse(Ljava/io/InputStream;Landroid/util/Xml$Encoding;Lorg/xml/sax/ContentHandler;)V
+HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->generateApkVerityRootHash(Ljava/lang/String;)[B
+HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->isSupportedSignatureAlgorithm(I)Z
+HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->verify(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;Z)Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;
+HSPLandroid/util/apk/ApkSignatureSchemeV2Verifier;->verify(Ljava/lang/String;Z)Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;
+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
+HSPLandroid/util/apk/ApkSignatureSchemeV3Verifier;->generateApkVerityRootHash(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
+HSPLandroid/util/apk/ApkSignatureVerifier;->generateApkVerityRootHash(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;
+HSPLandroid/util/apk/ApkSignatureVerifier;->verify(Ljava/lang/String;I)Landroid/content/pm/PackageParser$SigningDetails;
+HSPLandroid/util/apk/ApkSignatureVerifier;->verifyV1Signature(Ljava/lang/String;Z)Landroid/content/pm/PackageParser$SigningDetails;
+HSPLandroid/util/apk/ApkSigningBlockUtils$1;->create(I)Ljava/nio/ByteBuffer;
+HSPLandroid/util/apk/ApkSigningBlockUtils$MultipleDigestDataDigester;->consume(Ljava/nio/ByteBuffer;)V
 HSPLandroid/util/apk/ApkSigningBlockUtils;->compareContentDigestAlgorithm(II)I
 HSPLandroid/util/apk/ApkSigningBlockUtils;->compareSignatureAlgorithm(II)I
+HSPLandroid/util/apk/ApkSigningBlockUtils;->computeContentDigestsPer1MbChunk([I[Landroid/util/apk/DataSource;)[[B
 HSPLandroid/util/apk/ApkSigningBlockUtils;->findApkSignatureSchemeBlock(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
 HSPLandroid/util/apk/ApkSigningBlockUtils;->findApkSigningBlock(Ljava/io/RandomAccessFile;J)Landroid/util/Pair;
 HSPLandroid/util/apk/ApkSigningBlockUtils;->findSignature(Ljava/io/RandomAccessFile;I)Landroid/util/apk/SignatureInfo;
 HSPLandroid/util/apk/ApkSigningBlockUtils;->getByteBuffer(Ljava/nio/ByteBuffer;I)Ljava/nio/ByteBuffer;
 HSPLandroid/util/apk/ApkSigningBlockUtils;->getCentralDirOffset(Ljava/nio/ByteBuffer;J)J
+HSPLandroid/util/apk/ApkSigningBlockUtils;->getContentDigestAlgorithmJcaDigestAlgorithm(I)Ljava/lang/String;
+HSPLandroid/util/apk/ApkSigningBlockUtils;->getContentDigestAlgorithmOutputSizeBytes(I)I
 HSPLandroid/util/apk/ApkSigningBlockUtils;->getLengthPrefixedSlice(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
 HSPLandroid/util/apk/ApkSigningBlockUtils;->getSignatureAlgorithmContentDigestAlgorithm(I)I
 HSPLandroid/util/apk/ApkSigningBlockUtils;->getSignatureAlgorithmJcaKeyAlgorithm(I)Ljava/lang/String;
 HSPLandroid/util/apk/ApkSigningBlockUtils;->getSignatureAlgorithmJcaSignatureAlgorithm(I)Landroid/util/Pair;
 HSPLandroid/util/apk/ApkSigningBlockUtils;->parseVerityDigestAndVerifySourceLength([BJLandroid/util/apk/SignatureInfo;)[B
 HSPLandroid/util/apk/ApkSigningBlockUtils;->readLengthPrefixedByteArray(Ljava/nio/ByteBuffer;)[B
+HSPLandroid/util/apk/ApkSigningBlockUtils;->setUnsignedInt32LittleEndian(I[BI)V
 HSPLandroid/util/apk/ApkSigningBlockUtils;->sliceFromTo(Ljava/nio/ByteBuffer;II)Ljava/nio/ByteBuffer;
+HSPLandroid/util/apk/ApkSigningBlockUtils;->verifyIntegrity(Ljava/util/Map;Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;)V
+HSPLandroid/util/apk/ApkSigningBlockUtils;->verifyIntegrityFor1MbChunkBasedAlgorithm(Ljava/util/Map;Ljava/io/FileDescriptor;Landroid/util/apk/SignatureInfo;)V
+HSPLandroid/util/apk/ApkSigningBlockUtils;->verifyIntegrityForVerityBasedAlgorithm([BLjava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;)V
+HSPLandroid/util/apk/ByteBufferDataSource;->feedIntoDataDigester(Landroid/util/apk/DataDigester;JI)V
+HSPLandroid/util/apk/ByteBufferDataSource;->size()J
+HSPLandroid/util/apk/MemoryMappedFileDataSource;->feedIntoDataDigester(Landroid/util/apk/DataDigester;JI)V
+HSPLandroid/util/apk/MemoryMappedFileDataSource;->size()J
 HSPLandroid/util/apk/VerbatimX509Certificate;-><init>(Ljava/security/cert/X509Certificate;[B)V
 HSPLandroid/util/apk/VerbatimX509Certificate;->getEncoded()[B
+HSPLandroid/util/apk/VerityBuilder$BufferedDigester;-><init>([BLjava/nio/ByteBuffer;)V
+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
+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;
+HSPLandroid/util/apk/VerityBuilder;->generateApkVerityRootHash(Ljava/io/RandomAccessFile;Ljava/nio/ByteBuffer;Landroid/util/apk/SignatureInfo;)[B
+HSPLandroid/util/apk/VerityBuilder;->generateVerityTreeInternal(Ljava/io/RandomAccessFile;Landroid/util/apk/ByteBufferFactory;Landroid/util/apk/SignatureInfo;Z)Landroid/util/apk/VerityBuilder$VerityResult;
+HSPLandroid/util/apk/VerityBuilder;->generateVerityTreeInternal(Ljava/io/RandomAccessFile;Landroid/util/apk/SignatureInfo;[B[ILjava/nio/ByteBuffer;Z)[B
+HSPLandroid/util/apk/WrappedX509Certificate;-><init>(Ljava/security/cert/X509Certificate;)V
 HSPLandroid/util/apk/WrappedX509Certificate;->getPublicKey()Ljava/security/PublicKey;
 HSPLandroid/util/apk/ZipUtils;->findZipEndOfCentralDirectoryRecord(Ljava/io/RandomAccessFile;I)Landroid/util/Pair;
 HSPLandroid/util/apk/ZipUtils;->findZipEndOfCentralDirectoryRecord(Ljava/nio/ByteBuffer;)I
+HSPLandroid/util/apk/ZipUtils;->setUnsignedInt32(Ljava/nio/ByteBuffer;IJ)V
+HSPLandroid/util/jar/StrictJarFile$FDStream;->read([BII)I
+HSPLandroid/util/jar/StrictJarFile$JarFileInputStream;->read([BII)I
+HSPLandroid/util/jar/StrictJarFile$ZipInflaterInputStream;->close()V
+HSPLandroid/util/jar/StrictJarFile$ZipInflaterInputStream;->read([BII)I
+HSPLandroid/util/jar/StrictJarFile;-><init>(Ljava/lang/String;Ljava/io/FileDescriptor;ZZ)V
+HSPLandroid/util/jar/StrictJarFile;->finalize()V
+HSPLandroid/util/jar/StrictJarFile;->getMetaEntries()Ljava/util/HashMap;
+HSPLandroid/util/jar/StrictJarFile;->getZipInputStream(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
+HSPLandroid/util/jar/StrictJarManifest;->getAttributes(Ljava/lang/String;)Ljava/util/jar/Attributes;
+HSPLandroid/util/jar/StrictJarManifest;->getEntries()Ljava/util/Map;
+HSPLandroid/util/jar/StrictJarManifest;->getMainAttributesEnd()I
+HSPLandroid/util/jar/StrictJarManifestReader;-><init>([BLjava/util/jar/Attributes;)V
+HSPLandroid/util/jar/StrictJarManifestReader;->readEntries(Ljava/util/Map;Ljava/util/Map;)V
+HSPLandroid/util/jar/StrictJarManifestReader;->readName()V
+HSPLandroid/util/jar/StrictJarManifestReader;->readValue()V
+HSPLandroid/util/jar/StrictJarVerifier$VerifierEntry;->verify()V
+HSPLandroid/util/jar/StrictJarVerifier$VerifierEntry;->write([BII)V
+HSPLandroid/util/jar/StrictJarVerifier;-><init>(Ljava/lang/String;Landroid/util/jar/StrictJarManifest;Ljava/util/HashMap;Z)V
+HSPLandroid/util/jar/StrictJarVerifier;->getCertificateChains(Ljava/lang/String;)[[Ljava/security/cert/Certificate;
+HSPLandroid/util/jar/StrictJarVerifier;->initEntry(Ljava/lang/String;)Landroid/util/jar/StrictJarVerifier$VerifierEntry;
+HSPLandroid/util/jar/StrictJarVerifier;->isSignedJar()Z
+HSPLandroid/util/jar/StrictJarVerifier;->readCertificates()Z
+HSPLandroid/util/jar/StrictJarVerifier;->verify(Ljava/util/jar/Attributes;Ljava/lang/String;[BIIZZ)Z
+HSPLandroid/util/jar/StrictJarVerifier;->verifyBytes([B[B)[Ljava/security/cert/Certificate;
+HSPLandroid/util/jar/StrictJarVerifier;->verifyCertificate(Ljava/lang/String;)V
+HSPLandroid/util/jar/StrictJarVerifier;->verifyMessageDigest([B[B)Z
+HSPLandroid/util/proto/EncodedBuffer;-><init>(I)V
+HSPLandroid/util/proto/EncodedBuffer;->editRawFixed32(II)V
+HSPLandroid/util/proto/EncodedBuffer;->getBytes(I)[B
+HSPLandroid/util/proto/EncodedBuffer;->getRawFixed32At(I)I
+HSPLandroid/util/proto/EncodedBuffer;->nextWriteBuffer()V
+HSPLandroid/util/proto/EncodedBuffer;->readRawByte()B
+HSPLandroid/util/proto/EncodedBuffer;->readRawFixed32()I
+HSPLandroid/util/proto/EncodedBuffer;->readRawUnsigned()J
+HSPLandroid/util/proto/EncodedBuffer;->rewindWriteTo(I)V
+HSPLandroid/util/proto/EncodedBuffer;->skipRead(I)V
+HSPLandroid/util/proto/EncodedBuffer;->startEditing()V
+HSPLandroid/util/proto/EncodedBuffer;->writeFromThisBuffer(II)V
+HSPLandroid/util/proto/EncodedBuffer;->writeRawBuffer([BII)V
+HSPLandroid/util/proto/EncodedBuffer;->writeRawByte(B)V
+HSPLandroid/util/proto/ProtoInputStream;-><init>(Ljava/io/InputStream;)V
+HSPLandroid/util/proto/ProtoInputStream;-><init>(Ljava/io/InputStream;I)V
+HSPLandroid/util/proto/ProtoInputStream;->assertFieldNumber(J)V
+HSPLandroid/util/proto/ProtoInputStream;->assertFreshData()V
+HSPLandroid/util/proto/ProtoInputStream;->assertWireType(I)V
+HSPLandroid/util/proto/ProtoInputStream;->checkPacked(J)V
+HSPLandroid/util/proto/ProtoInputStream;->end(J)V
+HSPLandroid/util/proto/ProtoInputStream;->fillBuffer()V
+HSPLandroid/util/proto/ProtoInputStream;->incOffset(I)V
+HSPLandroid/util/proto/ProtoInputStream;->isNextField(J)Z
+HSPLandroid/util/proto/ProtoInputStream;->nextField()I
+HSPLandroid/util/proto/ProtoInputStream;->readBoolean(J)Z
+HSPLandroid/util/proto/ProtoInputStream;->readFixed32()I
+HSPLandroid/util/proto/ProtoInputStream;->readFloat(J)F
+HSPLandroid/util/proto/ProtoInputStream;->readInt(J)I
+HSPLandroid/util/proto/ProtoInputStream;->readLong(J)J
+HSPLandroid/util/proto/ProtoInputStream;->readRawString(I)Ljava/lang/String;
+HSPLandroid/util/proto/ProtoInputStream;->readString(J)Ljava/lang/String;
+HSPLandroid/util/proto/ProtoInputStream;->readTag()V
+HSPLandroid/util/proto/ProtoInputStream;->readVarint()J
+HSPLandroid/util/proto/ProtoInputStream;->start(J)J
+HSPLandroid/util/proto/ProtoOutputStream;-><init>(Ljava/io/OutputStream;)V
+HSPLandroid/util/proto/ProtoOutputStream;->compactIfNecessary()V
+HSPLandroid/util/proto/ProtoOutputStream;->compactSizes(I)V
+HSPLandroid/util/proto/ProtoOutputStream;->editEncodedSize(I)I
+HSPLandroid/util/proto/ProtoOutputStream;->end(J)V
+HSPLandroid/util/proto/ProtoOutputStream;->endObjectImpl(JZ)V
+HSPLandroid/util/proto/ProtoOutputStream;->flush()V
+HSPLandroid/util/proto/ProtoOutputStream;->start(J)J
+HSPLandroid/util/proto/ProtoOutputStream;->startObjectImpl(IZ)J
+HSPLandroid/util/proto/ProtoOutputStream;->write(JF)V
+HSPLandroid/util/proto/ProtoOutputStream;->write(JI)V
+HSPLandroid/util/proto/ProtoOutputStream;->write(JJ)V
+HSPLandroid/util/proto/ProtoOutputStream;->write(JLjava/lang/String;)V
+HSPLandroid/util/proto/ProtoOutputStream;->write(JZ)V
+HSPLandroid/util/proto/ProtoOutputStream;->writeUtf8String(ILjava/lang/String;)V
+HSPLandroid/util/proto/ProtoStream;->makeToken(IZIII)J
+HSPLandroid/view/-$$Lambda$1kvF4JuyM42-wmyDVPAIYdPz1jE;->run()V
+HSPLandroid/view/-$$Lambda$9vBfnQOmNnsc9WU80IIatZHQGKc;-><init>()V
 HSPLandroid/view/-$$Lambda$FocusFinder$FocusSorter$h0f2ZYL6peSaaEeCCkAoYs_YZvU;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLandroid/view/-$$Lambda$FocusFinder$FocusSorter$kW7K1t9q7Y62V38r-7g6xRzqqq8;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLandroid/view/-$$Lambda$FocusFinder$P8rLvOJhymJH5ALAgUjGaM5gxKA;-><init>()V
 HSPLandroid/view/-$$Lambda$FocusFinder$Pgx6IETuqCkrhJYdiBes48tolG4;-><init>()V
-HSPLandroid/view/-$$Lambda$SurfaceView$Cs7TGTdA1lXf9qW8VOJAfEsMjdk;->run()V
-HSPLandroid/view/-$$Lambda$SurfaceView$SyyzxOgxKwZMRgiiTGcRYbOU5JY;->run()V
+HSPLandroid/view/-$$Lambda$InsetsController$Cj7UJrCkdHvJAZ_cYKrXuTMsjz8;-><init>()V
+HSPLandroid/view/-$$Lambda$View$bi97MYLRwqXHvsmiSsRm1NDg5cs;->run()V
+HSPLandroid/view/-$$Lambda$ViewRootImpl$8LXNw0T1oRRsSniI0IMc8JUNWLo;->onFrameComplete(J)V
+HSPLandroid/view/-$$Lambda$ViewRootImpl$SOWCXD2hcuOyPEUFjoV8YFVJB34;->onFrameComplete(J)V
+HSPLandroid/view/-$$Lambda$ViewRootImpl$x5nGsJmfMGl8jXdwWgDuOQZdxR8;->run()V
+HSPLandroid/view/-$$Lambda$cZhmLzK8aetUdx4VlP9w5jR7En0;-><init>()V
+HSPLandroid/view/-$$Lambda$cZhmLzK8aetUdx4VlP9w5jR7En0;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/view/AbsSavedState$1;-><init>()V
 HSPLandroid/view/AbsSavedState$2;-><init>()V
 HSPLandroid/view/AbsSavedState$2;->createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Landroid/view/AbsSavedState;
 HSPLandroid/view/AbsSavedState$2;->createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Ljava/lang/Object;
-HSPLandroid/view/AbsSavedState;->getSuperState()Landroid/os/Parcelable;
+HSPLandroid/view/AbsSavedState;-><init>(Landroid/os/Parcelable;)V
 HSPLandroid/view/AbsSavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/ActionMode$Callback;->onActionItemClicked(Landroid/view/ActionMode;Landroid/view/MenuItem;)Z
-HSPLandroid/view/ActionMode$Callback;->onCreateActionMode(Landroid/view/ActionMode;Landroid/view/Menu;)Z
-HSPLandroid/view/ActionMode$Callback;->onDestroyActionMode(Landroid/view/ActionMode;)V
-HSPLandroid/view/ActionMode$Callback;->onPrepareActionMode(Landroid/view/ActionMode;Landroid/view/Menu;)Z
-HSPLandroid/view/ActionMode;->finish()V
-HSPLandroid/view/ActionMode;->getCustomView()Landroid/view/View;
-HSPLandroid/view/ActionMode;->getMenu()Landroid/view/Menu;
-HSPLandroid/view/ActionMode;->getMenuInflater()Landroid/view/MenuInflater;
-HSPLandroid/view/ActionMode;->getSubtitle()Ljava/lang/CharSequence;
-HSPLandroid/view/ActionMode;->getTitle()Ljava/lang/CharSequence;
-HSPLandroid/view/ActionMode;->invalidate()V
-HSPLandroid/view/ActionMode;->setCustomView(Landroid/view/View;)V
-HSPLandroid/view/ActionMode;->setSubtitle(I)V
-HSPLandroid/view/ActionMode;->setSubtitle(Ljava/lang/CharSequence;)V
-HSPLandroid/view/ActionMode;->setTitle(I)V
-HSPLandroid/view/ActionMode;->setTitle(Ljava/lang/CharSequence;)V
-HSPLandroid/view/ActionProvider$SubUiVisibilityListener;->onSubUiVisibilityChanged(Z)V
 HSPLandroid/view/Choreographer$1;-><init>()V
 HSPLandroid/view/Choreographer$1;->initialValue()Landroid/view/Choreographer;
 HSPLandroid/view/Choreographer$1;->initialValue()Ljava/lang/Object;
@@ -32609,8 +28243,7 @@
 HSPLandroid/view/Choreographer$CallbackQueue;->addCallbackLocked(JLjava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/view/Choreographer$CallbackQueue;->extractDueCallbacksLocked(J)Landroid/view/Choreographer$CallbackRecord;
 HSPLandroid/view/Choreographer$CallbackQueue;->removeCallbacksLocked(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLandroid/view/Choreographer$FrameCallback;->doFrame(J)V
-HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;->onVsync(JII)V
+HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;->onVsync(JJI)V
 HSPLandroid/view/Choreographer$FrameDisplayEventReceiver;->run()V
 HSPLandroid/view/Choreographer$FrameHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/view/Choreographer;-><init>(Landroid/os/Looper;I)V
@@ -32627,18 +28260,14 @@
 HSPLandroid/view/Choreographer;->postCallbackDelayedInternal(ILjava/lang/Object;Ljava/lang/Object;J)V
 HSPLandroid/view/Choreographer;->postFrameCallback(Landroid/view/Choreographer$FrameCallback;)V
 HSPLandroid/view/Choreographer;->postFrameCallbackDelayed(Landroid/view/Choreographer$FrameCallback;J)V
-HSPLandroid/view/Choreographer;->removeCallbacks(ILjava/lang/Runnable;Ljava/lang/Object;)V
 HSPLandroid/view/Choreographer;->removeCallbacksInternal(ILjava/lang/Object;Ljava/lang/Object;)V
 HSPLandroid/view/Choreographer;->removeFrameCallback(Landroid/view/Choreographer$FrameCallback;)V
 HSPLandroid/view/Choreographer;->scheduleFrameLocked(J)V
-HSPLandroid/view/CollapsibleActionView;->onActionViewCollapsed()V
-HSPLandroid/view/CollapsibleActionView;->onActionViewExpanded()V
 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;->getOverrideConfiguration()Landroid/content/res/Configuration;
 HSPLandroid/view/ContextThemeWrapper;->getResources()Landroid/content/res/Resources;
+HSPLandroid/view/ContextThemeWrapper;->getResourcesInternal()Landroid/content/res/Resources;
 HSPLandroid/view/ContextThemeWrapper;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
 HSPLandroid/view/ContextThemeWrapper;->getTheme()Landroid/content/res/Resources$Theme;
 HSPLandroid/view/ContextThemeWrapper;->initializeTheme()V
@@ -32659,26 +28288,24 @@
 HSPLandroid/view/Display;-><init>(Landroid/hardware/display/DisplayManagerGlobal;ILandroid/view/DisplayInfo;Landroid/content/res/Resources;)V
 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;->getCurrentSizeRange(Landroid/graphics/Point;Landroid/graphics/Point;)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
 HSPLandroid/view/Display;->getMetrics(Landroid/util/DisplayMetrics;)V
-HSPLandroid/view/Display;->getPixelFormat()I
 HSPLandroid/view/Display;->getRealMetrics(Landroid/util/DisplayMetrics;)V
 HSPLandroid/view/Display;->getRealSize(Landroid/graphics/Point;)V
 HSPLandroid/view/Display;->getRefreshRate()F
 HSPLandroid/view/Display;->getRotation()I
-HSPLandroid/view/Display;->getSize(Landroid/graphics/Point;)V
 HSPLandroid/view/Display;->getState()I
 HSPLandroid/view/Display;->getWidth()I
 HSPLandroid/view/Display;->isValid()Z
-HSPLandroid/view/Display;->isWideColorGamut()Z
 HSPLandroid/view/Display;->stateToString(I)Ljava/lang/String;
+HSPLandroid/view/Display;->supportsSystemDecorations()Z
 HSPLandroid/view/Display;->typeToString(I)Ljava/lang/String;
 HSPLandroid/view/Display;->updateCachedAppSizeIfNeededLocked()V
+HSPLandroid/view/DisplayAddress$Physical$1;-><init>()V
+HSPLandroid/view/DisplayAddress;->fromPhysicalDisplayId(J)Landroid/view/DisplayAddress$Physical;
 HSPLandroid/view/DisplayAdjustments;-><init>()V
 HSPLandroid/view/DisplayAdjustments;-><init>(Landroid/content/res/Configuration;)V
 HSPLandroid/view/DisplayAdjustments;-><init>(Landroid/view/DisplayAdjustments;)V
@@ -32687,6 +28314,11 @@
 HSPLandroid/view/DisplayAdjustments;->getConfiguration()Landroid/content/res/Configuration;
 HSPLandroid/view/DisplayAdjustments;->hashCode()I
 HSPLandroid/view/DisplayAdjustments;->setCompatibilityInfo(Landroid/content/res/CompatibilityInfo;)V
+HSPLandroid/view/DisplayCutout$Bounds;-><init>(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Z)V
+HSPLandroid/view/DisplayCutout$Bounds;-><init>(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/view/DisplayCutout$1;)V
+HSPLandroid/view/DisplayCutout$Bounds;-><init>([Landroid/graphics/Rect;Z)V
+HSPLandroid/view/DisplayCutout$Bounds;->equals(Ljava/lang/Object;)Z
+HSPLandroid/view/DisplayCutout$Bounds;->toString()Ljava/lang/String;
 HSPLandroid/view/DisplayCutout$ParcelableWrapper$1;-><init>()V
 HSPLandroid/view/DisplayCutout$ParcelableWrapper$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayCutout$ParcelableWrapper;
 HSPLandroid/view/DisplayCutout$ParcelableWrapper$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -32694,21 +28326,28 @@
 HSPLandroid/view/DisplayCutout$ParcelableWrapper;->equals(Ljava/lang/Object;)Z
 HSPLandroid/view/DisplayCutout$ParcelableWrapper;->readCutoutFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayCutout;
 HSPLandroid/view/DisplayCutout$ParcelableWrapper;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/view/DisplayCutout$ParcelableWrapper;->set(Landroid/view/DisplayCutout$ParcelableWrapper;)V
 HSPLandroid/view/DisplayCutout$ParcelableWrapper;->writeCutoutToParcel(Landroid/view/DisplayCutout;Landroid/os/Parcel;I)V
 HSPLandroid/view/DisplayCutout$ParcelableWrapper;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/DisplayCutout;-><init>(Landroid/graphics/Rect;Landroid/graphics/Region;Z)V
+HSPLandroid/view/DisplayCutout;-><init>(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Z)V
 HSPLandroid/view/DisplayCutout;->equals(Ljava/lang/Object;)Z
-HSPLandroid/view/DisplayCutout;->fromResources(Landroid/content/res/Resources;II)Landroid/view/DisplayCutout;
+HSPLandroid/view/DisplayCutout;->fromBounds([Landroid/graphics/Rect;)Landroid/view/DisplayCutout;
+HSPLandroid/view/DisplayCutout;->fromResourcesRectApproximation(Landroid/content/res/Resources;II)Landroid/view/DisplayCutout;
+HSPLandroid/view/DisplayCutout;->getBoundingRects()Ljava/util/List;
+HSPLandroid/view/DisplayCutout;->getBoundingRectsAll()[Landroid/graphics/Rect;
 HSPLandroid/view/DisplayCutout;->getSafeInsetBottom()I
 HSPLandroid/view/DisplayCutout;->getSafeInsetLeft()I
 HSPLandroid/view/DisplayCutout;->getSafeInsetRight()I
 HSPLandroid/view/DisplayCutout;->getSafeInsetTop()I
 HSPLandroid/view/DisplayCutout;->getSafeInsets()Landroid/graphics/Rect;
 HSPLandroid/view/DisplayCutout;->inset(IIII)Landroid/view/DisplayCutout;
+HSPLandroid/view/DisplayCutout;->isBoundsEmpty()Z
 HSPLandroid/view/DisplayCutout;->isEmpty()Z
 HSPLandroid/view/DisplayCutout;->pathAndDisplayCutoutFromSpec(Ljava/lang/String;IIF)Landroid/util/Pair;
+HSPLandroid/view/DisplayCutout;->replaceSafeInsets(Landroid/graphics/Rect;)Landroid/view/DisplayCutout;
+HSPLandroid/view/DisplayCutout;->toString()Ljava/lang/String;
 HSPLandroid/view/DisplayEventReceiver;-><init>(Landroid/os/Looper;I)V
-HSPLandroid/view/DisplayEventReceiver;->dispatchVsync(JII)V
+HSPLandroid/view/DisplayEventReceiver;->dispatchVsync(JJI)V
 HSPLandroid/view/DisplayInfo$1;-><init>()V
 HSPLandroid/view/DisplayInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/DisplayInfo;
 HSPLandroid/view/DisplayInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -32721,81 +28360,42 @@
 HSPLandroid/view/DisplayInfo;->getLogicalMetrics(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;)V
 HSPLandroid/view/DisplayInfo;->getMetricsWithSize(Landroid/util/DisplayMetrics;Landroid/content/res/CompatibilityInfo;Landroid/content/res/Configuration;II)V
 HSPLandroid/view/DisplayInfo;->hasAccess(I)Z
-HSPLandroid/view/DisplayInfo;->isHdr()Z
 HSPLandroid/view/DisplayInfo;->isWideColorGamut()Z
 HSPLandroid/view/DisplayInfo;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/view/DisplayInfo;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/DisplayListCanvas;->drawCircle(Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;Landroid/graphics/CanvasProperty;)V
-HSPLandroid/view/DisplayListCanvas;->drawRenderNode(Landroid/view/RenderNode;)V
-HSPLandroid/view/DisplayListCanvas;->getHeight()I
-HSPLandroid/view/DisplayListCanvas;->getWidth()I
-HSPLandroid/view/DisplayListCanvas;->insertInorderBarrier()V
-HSPLandroid/view/DisplayListCanvas;->insertReorderBarrier()V
-HSPLandroid/view/DisplayListCanvas;->isHardwareAccelerated()Z
-HSPLandroid/view/DisplayListCanvas;->isRecordingFor(Ljava/lang/Object;)Z
-HSPLandroid/view/DisplayListCanvas;->obtain(Landroid/view/RenderNode;II)Landroid/view/DisplayListCanvas;
-HSPLandroid/view/DisplayListCanvas;->throwIfCannotDraw(Landroid/graphics/Bitmap;)V
-HSPLandroid/view/FallbackEventHandler;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
-HSPLandroid/view/FallbackEventHandler;->preDispatchKeyEvent(Landroid/view/KeyEvent;)V
-HSPLandroid/view/FallbackEventHandler;->setView(Landroid/view/View;)V
+HSPLandroid/view/DisplayListCanvas;-><init>(J)V
 HSPLandroid/view/FocusFinder$1;-><init>()V
 HSPLandroid/view/FocusFinder$1;->initialValue()Landroid/view/FocusFinder;
 HSPLandroid/view/FocusFinder$1;->initialValue()Ljava/lang/Object;
+HSPLandroid/view/FocusFinder$FocusSorter;->lambda$new$0$FocusFinder$FocusSorter(Landroid/view/View;Landroid/view/View;)I
 HSPLandroid/view/FocusFinder$FocusSorter;->lambda$new$0(Landroid/view/FocusFinder$FocusSorter;Landroid/view/View;Landroid/view/View;)I
+HSPLandroid/view/FocusFinder$FocusSorter;->lambda$new$1$FocusFinder$FocusSorter(Landroid/view/View;Landroid/view/View;)I
 HSPLandroid/view/FocusFinder$FocusSorter;->lambda$new$1(Landroid/view/FocusFinder$FocusSorter;Landroid/view/View;Landroid/view/View;)I
 HSPLandroid/view/FocusFinder$FocusSorter;->sort([Landroid/view/View;IILandroid/view/ViewGroup;Z)V
 HSPLandroid/view/FocusFinder$UserSpecifiedFocusComparator;-><init>(Landroid/view/FocusFinder$UserSpecifiedFocusComparator$NextFocusGetter;)V
 HSPLandroid/view/FocusFinder;-><init>()V
 HSPLandroid/view/FocusFinder;->beamBeats(ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
 HSPLandroid/view/FocusFinder;->beamsOverlap(ILandroid/graphics/Rect;Landroid/graphics/Rect;)Z
-HSPLandroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;I)Landroid/view/View;
 HSPLandroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;Landroid/graphics/Rect;I)Landroid/view/View;
 HSPLandroid/view/FocusFinder;->findNextFocus(Landroid/view/ViewGroup;Landroid/view/View;Landroid/graphics/Rect;ILjava/util/ArrayList;)Landroid/view/View;
 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;->getInstance()Landroid/view/FocusFinder;
+HSPLandroid/view/FocusFinder;->getWeightedDistanceFor(JJ)J
 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/FocusFinder;->isToDirectionOf(ILandroid/graphics/Rect;Landroid/graphics/Rect;)Z
 HSPLandroid/view/FocusFinder;->majorAxisDistanceRaw(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-HSPLandroid/view/FocusFinder;->majorAxisDistanceToFarEdgeRaw(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-HSPLandroid/view/FrameInfo;->addFlags(J)V
-HSPLandroid/view/FrameInfo;->setVsync(JJ)V
-HSPLandroid/view/FrameMetrics;->getMetric(I)J
-HSPLandroid/view/FrameMetricsObserver;-><init>(Landroid/view/Window;Landroid/os/Looper;Landroid/view/Window$OnFrameMetricsAvailableListener;)V
-HSPLandroid/view/FrameMetricsObserver;->notifyDataAvailable(I)V
-HSPLandroid/view/GestureDetector$GestureHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/view/GestureDetector$OnContextClickListener;->onContextClick(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/GestureDetector$OnDoubleTapListener;->onDoubleTapEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/GestureDetector$OnDoubleTapListener;->onSingleTapConfirmed(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/GestureDetector$OnGestureListener;->onDown(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/GestureDetector$OnGestureListener;->onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
-HSPLandroid/view/GestureDetector$OnGestureListener;->onLongPress(Landroid/view/MotionEvent;)V
-HSPLandroid/view/GestureDetector$OnGestureListener;->onScroll(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
-HSPLandroid/view/GestureDetector$OnGestureListener;->onShowPress(Landroid/view/MotionEvent;)V
-HSPLandroid/view/GestureDetector$OnGestureListener;->onSingleTapUp(Landroid/view/MotionEvent;)Z
+HSPLandroid/view/FocusFinder;->minorAxisDistance(ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
 HSPLandroid/view/GestureDetector$SimpleOnGestureListener;-><init>()V
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onDown(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onLongPress(Landroid/view/MotionEvent;)V
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onScroll(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onShowPress(Landroid/view/MotionEvent;)V
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onSingleTapConfirmed(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/GestureDetector$SimpleOnGestureListener;->onSingleTapUp(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/GestureDetector;-><init>(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;)V
 HSPLandroid/view/GestureDetector;-><init>(Landroid/content/Context;Landroid/view/GestureDetector$OnGestureListener;Landroid/os/Handler;)V
 HSPLandroid/view/GestureDetector;->init(Landroid/content/Context;)V
-HSPLandroid/view/GestureDetector;->onTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLandroid/view/GestureDetector;->setContextClickListener(Landroid/view/GestureDetector$OnContextClickListener;)V
-HSPLandroid/view/GestureDetector;->setIsLongpressEnabled(Z)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
-HSPLandroid/view/Gravity;->isVertical(I)Z
 HSPLandroid/view/HandlerActionQueue$HandlerAction;->matches(Ljava/lang/Runnable;)Z
 HSPLandroid/view/HandlerActionQueue;->executeActions(Landroid/os/Handler;)V
 HSPLandroid/view/HandlerActionQueue;->post(Ljava/lang/Runnable;)V
@@ -32803,31 +28403,21 @@
 HSPLandroid/view/HandlerActionQueue;->removeCallbacks(Ljava/lang/Runnable;)V
 HSPLandroid/view/IApplicationToken$Stub;-><init>()V
 HSPLandroid/view/IApplicationToken$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IApplicationToken;->getName()Ljava/lang/String;
 HSPLandroid/view/IDockedStackListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/view/IDockedStackListener$Stub$Proxy;->onAdjustedForImeChanged(ZJ)V
 HSPLandroid/view/IDockedStackListener$Stub$Proxy;->onDividerVisibilityChanged(Z)V
 HSPLandroid/view/IDockedStackListener$Stub$Proxy;->onDockedStackExistsChanged(Z)V
 HSPLandroid/view/IDockedStackListener$Stub$Proxy;->onDockedStackMinimizedChanged(ZJZ)V
 HSPLandroid/view/IDockedStackListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IDockedStackListener;
-HSPLandroid/view/IDockedStackListener;->onAdjustedForImeChanged(ZJ)V
-HSPLandroid/view/IDockedStackListener;->onDividerVisibilityChanged(Z)V
-HSPLandroid/view/IDockedStackListener;->onDockSideChanged(I)V
-HSPLandroid/view/IDockedStackListener;->onDockedStackExistsChanged(Z)V
-HSPLandroid/view/IDockedStackListener;->onDockedStackMinimizedChanged(ZJZ)V
 HSPLandroid/view/IGraphicsStats$Stub$Proxy;->requestBufferForProcess(Ljava/lang/String;Landroid/view/IGraphicsStatsCallback;)Landroid/os/ParcelFileDescriptor;
 HSPLandroid/view/IGraphicsStats$Stub;-><init>()V
+HSPLandroid/view/IGraphicsStats$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IGraphicsStats;
 HSPLandroid/view/IGraphicsStats$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/IGraphicsStats;->requestBufferForProcess(Ljava/lang/String;Landroid/view/IGraphicsStatsCallback;)Landroid/os/ParcelFileDescriptor;
 HSPLandroid/view/IGraphicsStatsCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLandroid/view/IGraphicsStatsCallback$Stub;-><init>()V
 HSPLandroid/view/IGraphicsStatsCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IGraphicsStatsCallback;->onRotateGraphicsStatsBuffer()V
 HSPLandroid/view/IPinnedStackController$Stub;-><init>()V
 HSPLandroid/view/IPinnedStackController$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IPinnedStackController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/IPinnedStackController;->getDisplayRotation()I
-HSPLandroid/view/IPinnedStackController;->setIsMinimized(Z)V
-HSPLandroid/view/IPinnedStackController;->setMinEdgeSize(I)V
 HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onActionsChanged(Landroid/content/pm/ParceledListSlice;)V
 HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onImeVisibilityChanged(ZI)V
@@ -32836,246 +28426,114 @@
 HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onMovementBoundsChanged(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZI)V
 HSPLandroid/view/IPinnedStackListener$Stub$Proxy;->onShelfVisibilityChanged(ZI)V
 HSPLandroid/view/IPinnedStackListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IPinnedStackListener;
-HSPLandroid/view/IPinnedStackListener;->onActionsChanged(Landroid/content/pm/ParceledListSlice;)V
-HSPLandroid/view/IPinnedStackListener;->onImeVisibilityChanged(ZI)V
-HSPLandroid/view/IPinnedStackListener;->onListenerRegistered(Landroid/view/IPinnedStackController;)V
-HSPLandroid/view/IPinnedStackListener;->onMinimizedStateChanged(Z)V
-HSPLandroid/view/IPinnedStackListener;->onMovementBoundsChanged(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZI)V
-HSPLandroid/view/IPinnedStackListener;->onShelfVisibilityChanged(ZI)V
-HSPLandroid/view/IRemoteAnimationRunner$Stub;-><init>()V
-HSPLandroid/view/IRemoteAnimationRunner$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IRemoteAnimationRunner;->onAnimationCancelled()V
-HSPLandroid/view/IRemoteAnimationRunner;->onAnimationStart([Landroid/view/RemoteAnimationTarget;Landroid/view/IRemoteAnimationFinishedCallback;)V
 HSPLandroid/view/IRotationWatcher$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/IRotationWatcher$Stub;-><init>()V
 HSPLandroid/view/IRotationWatcher$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IRotationWatcher;
-HSPLandroid/view/IRotationWatcher;->onRotationChanged(I)V
 HSPLandroid/view/IWallpaperVisibilityListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/view/IWallpaperVisibilityListener$Stub$Proxy;->onWallpaperVisibilityChanged(ZI)V
 HSPLandroid/view/IWallpaperVisibilityListener$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWallpaperVisibilityListener;
-HSPLandroid/view/IWallpaperVisibilityListener;->onWallpaperVisibilityChanged(ZI)V
 HSPLandroid/view/IWindow$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/view/IWindow$Stub$Proxy;->dispatchAppVisibility(Z)V
 HSPLandroid/view/IWindow$Stub$Proxy;->dispatchWallpaperOffsets(FFFFZ)V
+HSPLandroid/view/IWindow$Stub$Proxy;->insetsChanged(Landroid/view/InsetsState;)V
 HSPLandroid/view/IWindow$Stub$Proxy;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
 HSPLandroid/view/IWindow$Stub$Proxy;->windowFocusChanged(ZZ)V
-HSPLandroid/view/IWindow$Stub;-><init>()V
 HSPLandroid/view/IWindow$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/view/IWindow$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWindow;
 HSPLandroid/view/IWindow$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/IWindow;->closeSystemDialogs(Ljava/lang/String;)V
-HSPLandroid/view/IWindow;->dispatchAppVisibility(Z)V
-HSPLandroid/view/IWindow;->dispatchDragEvent(Landroid/view/DragEvent;)V
-HSPLandroid/view/IWindow;->dispatchGetNewSurface()V
-HSPLandroid/view/IWindow;->dispatchPointerCaptureChanged(Z)V
-HSPLandroid/view/IWindow;->dispatchSystemUiVisibilityChanged(IIII)V
-HSPLandroid/view/IWindow;->dispatchWallpaperCommand(Ljava/lang/String;IIILandroid/os/Bundle;Z)V
-HSPLandroid/view/IWindow;->dispatchWallpaperOffsets(FFFFZ)V
-HSPLandroid/view/IWindow;->dispatchWindowShown()V
-HSPLandroid/view/IWindow;->executeCommand(Ljava/lang/String;Ljava/lang/String;Landroid/os/ParcelFileDescriptor;)V
-HSPLandroid/view/IWindow;->moved(II)V
-HSPLandroid/view/IWindow;->requestAppKeyboardShortcuts(Lcom/android/internal/os/IResultReceiver;I)V
-HSPLandroid/view/IWindow;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
-HSPLandroid/view/IWindow;->updatePointerIcon(FF)V
-HSPLandroid/view/IWindow;->windowFocusChanged(ZZ)V
 HSPLandroid/view/IWindowId$Stub;-><init>()V
-HSPLandroid/view/IWindowId;->isFocused()Z
-HSPLandroid/view/IWindowId;->registerFocusObserver(Landroid/view/IWindowFocusObserver;)V
-HSPLandroid/view/IWindowId;->unregisterFocusObserver(Landroid/view/IWindowFocusObserver;)V
 HSPLandroid/view/IWindowManager$Stub$Proxy;->getCurrentAnimatorScale()F
-HSPLandroid/view/IWindowManager$Stub$Proxy;->hasNavigationBar()Z
+HSPLandroid/view/IWindowManager$Stub$Proxy;->hasNavigationBar(I)Z
 HSPLandroid/view/IWindowManager$Stub$Proxy;->isKeyguardLocked()Z
 HSPLandroid/view/IWindowManager$Stub$Proxy;->isKeyguardSecure()Z
-HSPLandroid/view/IWindowManager$Stub$Proxy;->openSession(Landroid/view/IWindowSessionCallback;Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;)Landroid/view/IWindowSession;
-HSPLandroid/view/IWindowManager$Stub$Proxy;->setShelfHeight(ZI)V
+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;
 HSPLandroid/view/IWindowManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/IWindowManager;->addWindowToken(Landroid/os/IBinder;II)V
-HSPLandroid/view/IWindowManager;->clearForcedDisplayDensityForUser(II)V
-HSPLandroid/view/IWindowManager;->clearForcedDisplaySize(I)V
-HSPLandroid/view/IWindowManager;->clearWindowContentFrameStats(Landroid/os/IBinder;)Z
-HSPLandroid/view/IWindowManager;->closeSystemDialogs(Ljava/lang/String;)V
-HSPLandroid/view/IWindowManager;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;)V
-HSPLandroid/view/IWindowManager;->destroyInputConsumer(Ljava/lang/String;)Z
-HSPLandroid/view/IWindowManager;->disableKeyguard(Landroid/os/IBinder;Ljava/lang/String;)V
-HSPLandroid/view/IWindowManager;->dismissKeyguard(Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-HSPLandroid/view/IWindowManager;->dontOverrideDisplayInfo(I)V
-HSPLandroid/view/IWindowManager;->enableScreenIfNeeded()V
-HSPLandroid/view/IWindowManager;->endProlongedAnimations()V
-HSPLandroid/view/IWindowManager;->executeAppTransition()V
-HSPLandroid/view/IWindowManager;->exitKeyguardSecurely(Landroid/view/IOnKeyguardExitResult;)V
-HSPLandroid/view/IWindowManager;->freezeRotation(I)V
-HSPLandroid/view/IWindowManager;->getAnimationScale(I)F
-HSPLandroid/view/IWindowManager;->getAnimationScales()[F
-HSPLandroid/view/IWindowManager;->getBaseDisplayDensity(I)I
-HSPLandroid/view/IWindowManager;->getBaseDisplaySize(ILandroid/graphics/Point;)V
-HSPLandroid/view/IWindowManager;->getCurrentAnimatorScale()F
-HSPLandroid/view/IWindowManager;->getCurrentImeTouchRegion()Landroid/graphics/Region;
-HSPLandroid/view/IWindowManager;->getDefaultDisplayRotation()I
-HSPLandroid/view/IWindowManager;->getDockedStackSide()I
-HSPLandroid/view/IWindowManager;->getInitialDisplayDensity(I)I
-HSPLandroid/view/IWindowManager;->getInitialDisplaySize(ILandroid/graphics/Point;)V
-HSPLandroid/view/IWindowManager;->getNavBarPosition()I
-HSPLandroid/view/IWindowManager;->getPendingAppTransition()I
-HSPLandroid/view/IWindowManager;->getPreferredOptionsPanelGravity()I
-HSPLandroid/view/IWindowManager;->getStableInsets(ILandroid/graphics/Rect;)V
-HSPLandroid/view/IWindowManager;->getWindowContentFrameStats(Landroid/os/IBinder;)Landroid/view/WindowContentFrameStats;
-HSPLandroid/view/IWindowManager;->hasNavigationBar()Z
-HSPLandroid/view/IWindowManager;->inputMethodClientHasFocus(Lcom/android/internal/view/IInputMethodClient;)Z
-HSPLandroid/view/IWindowManager;->isKeyguardLocked()Z
-HSPLandroid/view/IWindowManager;->isKeyguardSecure()Z
-HSPLandroid/view/IWindowManager;->isRotationFrozen()Z
-HSPLandroid/view/IWindowManager;->isSafeModeEnabled()Z
-HSPLandroid/view/IWindowManager;->isViewServerRunning()Z
-HSPLandroid/view/IWindowManager;->isWindowTraceEnabled()Z
-HSPLandroid/view/IWindowManager;->lockNow(Landroid/os/Bundle;)V
-HSPLandroid/view/IWindowManager;->openSession(Landroid/view/IWindowSessionCallback;Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;)Landroid/view/IWindowSession;
-HSPLandroid/view/IWindowManager;->overridePendingAppTransitionMultiThumbFuture(Landroid/view/IAppTransitionAnimationSpecsFuture;Landroid/os/IRemoteCallback;Z;I)V
-HSPLandroid/view/IWindowManager;->overridePendingAppTransitionRemote(Landroid/view/RemoteAnimationAdapter;I)V
-HSPLandroid/view/IWindowManager;->prepareAppTransition(IZ)V
-HSPLandroid/view/IWindowManager;->reenableKeyguard(Landroid/os/IBinder;)V
-HSPLandroid/view/IWindowManager;->refreshScreenCaptureDisabled(I)V
-HSPLandroid/view/IWindowManager;->registerDockedStackListener(Landroid/view/IDockedStackListener;)V
-HSPLandroid/view/IWindowManager;->registerPinnedStackListener(ILandroid/view/IPinnedStackListener;)V
-HSPLandroid/view/IWindowManager;->registerShortcutKey(JLcom/android/internal/policy/IShortcutService;)V
-HSPLandroid/view/IWindowManager;->registerWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)Z
-HSPLandroid/view/IWindowManager;->removeRotationWatcher(Landroid/view/IRotationWatcher;)V
-HSPLandroid/view/IWindowManager;->removeWindowToken(Landroid/os/IBinder;I)V
-HSPLandroid/view/IWindowManager;->requestAppKeyboardShortcuts(Lcom/android/internal/os/IResultReceiver;I)V
-HSPLandroid/view/IWindowManager;->requestAssistScreenshot(Landroid/app/IAssistDataReceiver;)Z
-HSPLandroid/view/IWindowManager;->requestUserActivityNotification()V
-HSPLandroid/view/IWindowManager;->screenshotWallpaper()Landroid/graphics/Bitmap;
-HSPLandroid/view/IWindowManager;->setAnimationScale(IF)V
-HSPLandroid/view/IWindowManager;->setAnimationScales([F)V
-HSPLandroid/view/IWindowManager;->setDockedStackDividerTouchRegion(Landroid/graphics/Rect;)V
-HSPLandroid/view/IWindowManager;->setEventDispatching(Z)V
-HSPLandroid/view/IWindowManager;->setFocusedApp(Landroid/os/IBinder;Z)V
-HSPLandroid/view/IWindowManager;->setForcedDisplayDensityForUser(III)V
-HSPLandroid/view/IWindowManager;->setForcedDisplayScalingMode(II)V
-HSPLandroid/view/IWindowManager;->setForcedDisplaySize(III)V
-HSPLandroid/view/IWindowManager;->setInTouchMode(Z)V
-HSPLandroid/view/IWindowManager;->setNavBarVirtualKeyHapticFeedbackEnabled(Z)V
-HSPLandroid/view/IWindowManager;->setNewDisplayOverrideConfiguration(Landroid/content/res/Configuration;I)[I
-HSPLandroid/view/IWindowManager;->setOverscan(IIIII)V
-HSPLandroid/view/IWindowManager;->setPipVisibility(Z)V
-HSPLandroid/view/IWindowManager;->setRecentsVisibility(Z)V
-HSPLandroid/view/IWindowManager;->setResizeDimLayer(ZIF)V
-HSPLandroid/view/IWindowManager;->setShelfHeight(ZI)V
-HSPLandroid/view/IWindowManager;->setStrictModeVisualIndicatorPreference(Ljava/lang/String;)V
-HSPLandroid/view/IWindowManager;->setSwitchingUser(Z)V
-HSPLandroid/view/IWindowManager;->showStrictModeViolation(Z)V
-HSPLandroid/view/IWindowManager;->startFreezingScreen(II)V
-HSPLandroid/view/IWindowManager;->startViewServer(I)Z
-HSPLandroid/view/IWindowManager;->startWindowTrace()V
-HSPLandroid/view/IWindowManager;->statusBarVisibilityChanged(I)V
-HSPLandroid/view/IWindowManager;->stopFreezingScreen()V
-HSPLandroid/view/IWindowManager;->stopViewServer()Z
-HSPLandroid/view/IWindowManager;->stopWindowTrace()V
-HSPLandroid/view/IWindowManager;->thawRotation()V
-HSPLandroid/view/IWindowManager;->unregisterWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)V
-HSPLandroid/view/IWindowManager;->updateOrientationFromAppTokens(Landroid/content/res/Configuration;Landroid/os/IBinder;I)Landroid/content/res/Configuration;
-HSPLandroid/view/IWindowManager;->updateRotation(ZZ)V
-HSPLandroid/view/IWindowManager;->watchRotation(Landroid/view/IRotationWatcher;I)I
-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;)I
+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;->getWindowId(Landroid/os/IBinder;)Landroid/view/IWindowId;
 HSPLandroid/view/IWindowSession$Stub$Proxy;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V
 HSPLandroid/view/IWindowSession$Stub$Proxy;->performHapticFeedback(IZ)Z
-HSPLandroid/view/IWindowSession$Stub$Proxy;->pokeDrawLock(Landroid/os/IBinder;)V
-HSPLandroid/view/IWindowSession$Stub$Proxy;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/Surface;)I
+HSPLandroid/view/IWindowSession$Stub$Proxy;->performHapticFeedback(Landroid/view/IWindow;IZ)Z
+HSPLandroid/view/IWindowSession$Stub$Proxy;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;)I
 HSPLandroid/view/IWindowSession$Stub$Proxy;->remove(Landroid/view/IWindow;)V
-HSPLandroid/view/IWindowSession$Stub$Proxy;->sendWallpaperCommand(Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;Z)Landroid/os/Bundle;
-HSPLandroid/view/IWindowSession$Stub$Proxy;->setTransparentRegion(Landroid/view/IWindow;Landroid/graphics/Region;)V
-HSPLandroid/view/IWindowSession$Stub$Proxy;->setWallpaperPosition(Landroid/os/IBinder;FFFF)V
+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;
 HSPLandroid/view/IWindowSession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/IWindowSession;->add(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/InputChannel;)I
-HSPLandroid/view/IWindowSession;->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;)I
-HSPLandroid/view/IWindowSession;->addToDisplayWithoutInputChannel(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-HSPLandroid/view/IWindowSession;->addWithoutInputChannel(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;ILandroid/graphics/Rect;Landroid/graphics/Rect;)I
-HSPLandroid/view/IWindowSession;->cancelDragAndDrop(Landroid/os/IBinder;)V
-HSPLandroid/view/IWindowSession;->dragRecipientEntered(Landroid/view/IWindow;)V
-HSPLandroid/view/IWindowSession;->dragRecipientExited(Landroid/view/IWindow;)V
-HSPLandroid/view/IWindowSession;->finishDrawing(Landroid/view/IWindow;)V
-HSPLandroid/view/IWindowSession;->getDisplayFrame(Landroid/view/IWindow;Landroid/graphics/Rect;)V
-HSPLandroid/view/IWindowSession;->getInTouchMode()Z
-HSPLandroid/view/IWindowSession;->getWindowId(Landroid/os/IBinder;)Landroid/view/IWindowId;
-HSPLandroid/view/IWindowSession;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V
-HSPLandroid/view/IWindowSession;->outOfMemory(Landroid/view/IWindow;)Z
-HSPLandroid/view/IWindowSession;->performDrag(Landroid/view/IWindow;ILandroid/view/SurfaceControl;IFFFFLandroid/content/ClipData;)Landroid/os/IBinder;
-HSPLandroid/view/IWindowSession;->performHapticFeedback(IZ)Z
-HSPLandroid/view/IWindowSession;->pokeDrawLock(Landroid/os/IBinder;)V
-HSPLandroid/view/IWindowSession;->prepareToReplaceWindows(Landroid/os/IBinder;Z)V
-HSPLandroid/view/IWindowSession;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/Surface;)I
-HSPLandroid/view/IWindowSession;->remove(Landroid/view/IWindow;)V
-HSPLandroid/view/IWindowSession;->reportDropResult(Landroid/view/IWindow;Z)V
-HSPLandroid/view/IWindowSession;->sendWallpaperCommand(Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;Z)Landroid/os/Bundle;
-HSPLandroid/view/IWindowSession;->setInTouchMode(Z)V
-HSPLandroid/view/IWindowSession;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
-HSPLandroid/view/IWindowSession;->setTransparentRegion(Landroid/view/IWindow;Landroid/graphics/Region;)V
-HSPLandroid/view/IWindowSession;->setWallpaperDisplayOffset(Landroid/os/IBinder;II)V
-HSPLandroid/view/IWindowSession;->setWallpaperPosition(Landroid/os/IBinder;FFFF)V
-HSPLandroid/view/IWindowSession;->startMovingTask(Landroid/view/IWindow;FF)Z
-HSPLandroid/view/IWindowSession;->updatePointerIcon(Landroid/view/IWindow;)V
-HSPLandroid/view/IWindowSession;->updateTapExcludeRegion(Landroid/view/IWindow;IIIII)V
-HSPLandroid/view/IWindowSession;->wallpaperCommandComplete(Landroid/os/IBinder;Landroid/os/Bundle;)V
-HSPLandroid/view/IWindowSession;->wallpaperOffsetsComplete(Landroid/os/IBinder;)V
+HSPLandroid/view/IWindowSessionCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLandroid/view/IWindowSessionCallback$Stub;->asBinder()Landroid/os/IBinder;
 HSPLandroid/view/IWindowSessionCallback$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/IWindowSessionCallback;
-HSPLandroid/view/IWindowSessionCallback;->onAnimatorScaleChanged(F)V
+HSPLandroid/view/ImeInsetsSourceConsumer;->onWindowFocusGained()V
+HSPLandroid/view/ImeInsetsSourceConsumer;->onWindowFocusLost()V
 HSPLandroid/view/InputChannel$1;-><init>()V
 HSPLandroid/view/InputChannel$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InputChannel;
 HSPLandroid/view/InputChannel$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/view/InputChannel;-><init>()V
 HSPLandroid/view/InputChannel;->dispose()V
 HSPLandroid/view/InputChannel;->finalize()V
+HSPLandroid/view/InputChannel;->getToken()Landroid/os/IBinder;
 HSPLandroid/view/InputChannel;->openInputChannelPair(Ljava/lang/String;)[Landroid/view/InputChannel;
 HSPLandroid/view/InputChannel;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/view/InputChannel;->setToken(Landroid/os/IBinder;)V
 HSPLandroid/view/InputChannel;->transferTo(Landroid/view/InputChannel;)V
 HSPLandroid/view/InputChannel;->writeToParcel(Landroid/os/Parcel;I)V
 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$MotionRange;->getAxis()I
-HSPLandroid/view/InputDevice$MotionRange;->getSource()I
 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
-HSPLandroid/view/InputDevice;->getDevice(I)Landroid/view/InputDevice;
-HSPLandroid/view/InputDevice;->getDeviceIds()[I
-HSPLandroid/view/InputDevice;->getId()I
-HSPLandroid/view/InputDevice;->getKeyboardType()I
-HSPLandroid/view/InputDevice;->getMotionRanges()Ljava/util/List;
-HSPLandroid/view/InputDevice;->getName()Ljava/lang/String;
-HSPLandroid/view/InputDevice;->getProductId()I
-HSPLandroid/view/InputDevice;->getSources()I
-HSPLandroid/view/InputDevice;->getVendorId()I
 HSPLandroid/view/InputDevice;->getVibrator()Landroid/os/Vibrator;
 HSPLandroid/view/InputDevice;->isVirtual()Z
-HSPLandroid/view/InputDevice;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/InputEvent$1;-><init>()V
 HSPLandroid/view/InputEvent;->getSequenceNumber()I
 HSPLandroid/view/InputEvent;->isFromSource(I)Z
 HSPLandroid/view/InputEvent;->recycle()V
 HSPLandroid/view/InputEvent;->recycleIfNeededAfterDispatch()V
+HSPLandroid/view/InputEventCompatProcessor;->processInputEventForCompatibility(Landroid/view/InputEvent;)Ljava/util/List;
 HSPLandroid/view/InputEventReceiver;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;)V
 HSPLandroid/view/InputEventReceiver;->dispatchBatchedInputEventPending()V
-HSPLandroid/view/InputEventReceiver;->dispatchInputEvent(ILandroid/view/InputEvent;I)V
+HSPLandroid/view/InputEventReceiver;->dispatchInputEvent(ILandroid/view/InputEvent;)V
+HSPLandroid/view/InputEventReceiver;->dispose()V
 HSPLandroid/view/InputEventReceiver;->dispose(Z)V
 HSPLandroid/view/InputEventReceiver;->finalize()V
 HSPLandroid/view/InputEventReceiver;->finishInputEvent(Landroid/view/InputEvent;Z)V
 HSPLandroid/view/InputEventSender;-><init>(Landroid/view/InputChannel;Landroid/os/Looper;)V
 HSPLandroid/view/InputEventSender;->dispatchInputEventFinished(IZ)V
-HSPLandroid/view/InputEventSender;->dispose(Z)V
-HSPLandroid/view/InputEventSender;->finalize()V
 HSPLandroid/view/InputEventSender;->sendInputEvent(ILandroid/view/InputEvent;)Z
-HSPLandroid/view/InputQueue$Callback;->onInputQueueCreated(Landroid/view/InputQueue;)V
-HSPLandroid/view/InputQueue$Callback;->onInputQueueDestroyed(Landroid/view/InputQueue;)V
+HSPLandroid/view/InputWindowHandle;-><init>(Landroid/view/InputApplicationHandle;Landroid/view/IWindow;I)V
+HSPLandroid/view/InsetsController;-><init>(Landroid/view/ViewRootImpl;)V
+HSPLandroid/view/InsetsController;->getSourceConsumer(I)Landroid/view/InsetsSourceConsumer;
+HSPLandroid/view/InsetsController;->getViewRoot()Landroid/view/ViewRootImpl;
+HSPLandroid/view/InsetsController;->onFrameChanged(Landroid/graphics/Rect;)V
+HSPLandroid/view/InsetsController;->onStateChanged(Landroid/view/InsetsState;)Z
+HSPLandroid/view/InsetsController;->onWindowFocusGained()V
+HSPLandroid/view/InsetsController;->onWindowFocusLost()V
+HSPLandroid/view/InsetsSource$1;-><init>()V
+HSPLandroid/view/InsetsSource$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InsetsSource;
+HSPLandroid/view/InsetsSource$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/view/InsetsSource;->equals(Ljava/lang/Object;)Z
+HSPLandroid/view/InsetsSource;->getType()I
+HSPLandroid/view/InsetsSource;->setFrame(Landroid/graphics/Rect;)V
+HSPLandroid/view/InsetsSource;->setVisible(Z)V
+HSPLandroid/view/InsetsSource;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/view/InsetsSourceConsumer;->applyLocalVisibilityOverride()Z
+HSPLandroid/view/InsetsState$1;-><init>()V
+HSPLandroid/view/InsetsState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/InsetsState;
+HSPLandroid/view/InsetsState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/view/InsetsState;-><init>()V
+HSPLandroid/view/InsetsState;->equals(Ljava/lang/Object;)Z
+HSPLandroid/view/InsetsState;->getSource(I)Landroid/view/InsetsSource;
+HSPLandroid/view/InsetsState;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/view/InsetsState;->removeSource(I)V
+HSPLandroid/view/InsetsState;->set(Landroid/view/InsetsState;)V
+HSPLandroid/view/InsetsState;->set(Landroid/view/InsetsState;Z)V
+HSPLandroid/view/InsetsState;->setDisplayFrame(Landroid/graphics/Rect;)V
+HSPLandroid/view/InsetsState;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/KeyCharacterMap$1;-><init>()V
 HSPLandroid/view/KeyCharacterMap$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/KeyCharacterMap;
 HSPLandroid/view/KeyCharacterMap$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -33087,278 +28545,98 @@
 HSPLandroid/view/KeyCharacterMap;->get(II)I
 HSPLandroid/view/KeyCharacterMap;->getKeyboardType()I
 HSPLandroid/view/KeyCharacterMap;->getModifierBehavior()I
+HSPLandroid/view/KeyCharacterMap;->getNumber(I)C
 HSPLandroid/view/KeyCharacterMap;->load(I)Landroid/view/KeyCharacterMap;
-HSPLandroid/view/KeyCharacterMap;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/KeyEvent$1;-><init>()V
 HSPLandroid/view/KeyEvent$DispatcherState;-><init>()V
 HSPLandroid/view/KeyEvent$DispatcherState;->handleUpEvent(Landroid/view/KeyEvent;)V
 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;->cancel()V
+HSPLandroid/view/KeyEvent;-><init>(II)V
+HSPLandroid/view/KeyEvent;-><init>(JJIIIIIII)V
 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;->getMaxKeyCode()I
-HSPLandroid/view/KeyEvent;->getSource()I
+HSPLandroid/view/KeyEvent;->getNumber()C
 HSPLandroid/view/KeyEvent;->getUnicodeChar()I
 HSPLandroid/view/KeyEvent;->getUnicodeChar(I)I
-HSPLandroid/view/KeyEvent;->isCtrlPressed()Z
-HSPLandroid/view/KeyEvent;->isGamepadButton(I)Z
 HSPLandroid/view/KeyEvent;->isModifierKey(I)Z
-HSPLandroid/view/KeyEvent;->isSystem()Z
-HSPLandroid/view/KeyEvent;->isSystemKey(I)Z
-HSPLandroid/view/KeyEvent;->metaStateToString(I)Ljava/lang/String;
 HSPLandroid/view/KeyEvent;->normalizeMetaState(I)I
 HSPLandroid/view/KeyEvent;->obtain()Landroid/view/KeyEvent;
-HSPLandroid/view/KeyEvent;->obtain(JJIIIIIIIILjava/lang/String;)Landroid/view/KeyEvent;
+HSPLandroid/view/KeyEvent;->obtain(JJIIIIIIIIILjava/lang/String;)Landroid/view/KeyEvent;
 HSPLandroid/view/KeyEvent;->recycleIfNeededAfterDispatch()V
-HSPLandroid/view/KeyEvent;->toString()Ljava/lang/String;
+HSPLandroid/view/KeyEvent;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/LayoutInflater$FactoryMerger;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
-HSPLandroid/view/LayoutInflater$Filter;->onLoadClass(Ljava/lang/Class;)Z
 HSPLandroid/view/LayoutInflater;-><init>(Landroid/content/Context;)V
-HSPLandroid/view/LayoutInflater;-><init>(Landroid/view/LayoutInflater;Landroid/content/Context;)V
-HSPLandroid/view/LayoutInflater;->cloneInContext(Landroid/content/Context;)Landroid/view/LayoutInflater;
+HSPLandroid/view/LayoutInflater;->advanceToRootNode(Lorg/xmlpull/v1/XmlPullParser;)V
+HSPLandroid/view/LayoutInflater;->createView(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
 HSPLandroid/view/LayoutInflater;->createView(Ljava/lang/String;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
 HSPLandroid/view/LayoutInflater;->createViewFromTag(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;Z)Landroid/view/View;
 HSPLandroid/view/LayoutInflater;->from(Landroid/content/Context;)Landroid/view/LayoutInflater;
 HSPLandroid/view/LayoutInflater;->getContext()Landroid/content/Context;
 HSPLandroid/view/LayoutInflater;->getFactory()Landroid/view/LayoutInflater$Factory;
-HSPLandroid/view/LayoutInflater;->getFactory2()Landroid/view/LayoutInflater$Factory2;
 HSPLandroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;)Landroid/view/View;
 HSPLandroid/view/LayoutInflater;->inflate(ILandroid/view/ViewGroup;Z)Landroid/view/View;
 HSPLandroid/view/LayoutInflater;->inflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/ViewGroup;Z)Landroid/view/View;
+HSPLandroid/view/LayoutInflater;->initPrecompiledViews()V
+HSPLandroid/view/LayoutInflater;->initPrecompiledViews(Z)V
+HSPLandroid/view/LayoutInflater;->onCreateView(Landroid/content/Context;Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
 HSPLandroid/view/LayoutInflater;->onCreateView(Landroid/view/View;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
-HSPLandroid/view/LayoutInflater;->onCreateView(Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
 HSPLandroid/view/LayoutInflater;->parseInclude(Lorg/xmlpull/v1/XmlPullParser;Landroid/content/Context;Landroid/view/View;Landroid/util/AttributeSet;)V
 HSPLandroid/view/LayoutInflater;->rInflate(Lorg/xmlpull/v1/XmlPullParser;Landroid/view/View;Landroid/content/Context;Landroid/util/AttributeSet;Z)V
-HSPLandroid/view/LayoutInflater;->setFactory(Landroid/view/LayoutInflater$Factory;)V
 HSPLandroid/view/LayoutInflater;->setFactory2(Landroid/view/LayoutInflater$Factory2;)V
-HSPLandroid/view/LayoutInflater;->setFilter(Landroid/view/LayoutInflater$Filter;)V
 HSPLandroid/view/LayoutInflater;->setPrivateFactory(Landroid/view/LayoutInflater$Factory2;)V
-HSPLandroid/view/Menu;->add(I)Landroid/view/MenuItem;
-HSPLandroid/view/Menu;->add(IIII)Landroid/view/MenuItem;
-HSPLandroid/view/Menu;->add(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
-HSPLandroid/view/Menu;->add(Ljava/lang/CharSequence;)Landroid/view/MenuItem;
-HSPLandroid/view/Menu;->addIntentOptions(IIILandroid/content/ComponentName;[Landroid/content/Intent;Landroid/content/Intent;I[Landroid/view/MenuItem;)I
-HSPLandroid/view/Menu;->addSubMenu(I)Landroid/view/SubMenu;
-HSPLandroid/view/Menu;->addSubMenu(IIII)Landroid/view/SubMenu;
-HSPLandroid/view/Menu;->addSubMenu(IIILjava/lang/CharSequence;)Landroid/view/SubMenu;
-HSPLandroid/view/Menu;->addSubMenu(Ljava/lang/CharSequence;)Landroid/view/SubMenu;
-HSPLandroid/view/Menu;->clear()V
-HSPLandroid/view/Menu;->close()V
-HSPLandroid/view/Menu;->findItem(I)Landroid/view/MenuItem;
-HSPLandroid/view/Menu;->getItem(I)Landroid/view/MenuItem;
-HSPLandroid/view/Menu;->hasVisibleItems()Z
-HSPLandroid/view/Menu;->isShortcutKey(ILandroid/view/KeyEvent;)Z
-HSPLandroid/view/Menu;->performIdentifierAction(II)Z
-HSPLandroid/view/Menu;->performShortcut(ILandroid/view/KeyEvent;I)Z
-HSPLandroid/view/Menu;->removeGroup(I)V
-HSPLandroid/view/Menu;->removeItem(I)V
-HSPLandroid/view/Menu;->setGroupCheckable(IZZ)V
-HSPLandroid/view/Menu;->setGroupEnabled(IZ)V
-HSPLandroid/view/Menu;->setGroupVisible(IZ)V
-HSPLandroid/view/Menu;->setQwertyMode(Z)V
-HSPLandroid/view/Menu;->size()I
+HSPLandroid/view/LayoutInflater;->tryCreateView(Landroid/view/View;Ljava/lang/String;Landroid/content/Context;Landroid/util/AttributeSet;)Landroid/view/View;
+HSPLandroid/view/LayoutInflater;->tryInflatePrecompiled(ILandroid/content/res/Resources;Landroid/view/ViewGroup;Z)Landroid/view/View;
 HSPLandroid/view/MenuInflater$MenuState;->readItem(Landroid/util/AttributeSet;)V
 HSPLandroid/view/MenuInflater$MenuState;->setItem(Landroid/view/MenuItem;)V
 HSPLandroid/view/MenuInflater;-><init>(Landroid/content/Context;)V
 HSPLandroid/view/MenuInflater;-><init>(Landroid/content/Context;Ljava/lang/Object;)V
 HSPLandroid/view/MenuInflater;->inflate(ILandroid/view/Menu;)V
 HSPLandroid/view/MenuInflater;->parseMenu(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/AttributeSet;Landroid/view/Menu;)V
-HSPLandroid/view/MenuItem$OnActionExpandListener;->onMenuItemActionCollapse(Landroid/view/MenuItem;)Z
-HSPLandroid/view/MenuItem$OnActionExpandListener;->onMenuItemActionExpand(Landroid/view/MenuItem;)Z
-HSPLandroid/view/MenuItem$OnMenuItemClickListener;->onMenuItemClick(Landroid/view/MenuItem;)Z
-HSPLandroid/view/MenuItem;->collapseActionView()Z
-HSPLandroid/view/MenuItem;->expandActionView()Z
-HSPLandroid/view/MenuItem;->getActionProvider()Landroid/view/ActionProvider;
-HSPLandroid/view/MenuItem;->getActionView()Landroid/view/View;
-HSPLandroid/view/MenuItem;->getAlphabeticShortcut()C
-HSPLandroid/view/MenuItem;->getGroupId()I
-HSPLandroid/view/MenuItem;->getIcon()Landroid/graphics/drawable/Drawable;
-HSPLandroid/view/MenuItem;->getIntent()Landroid/content/Intent;
-HSPLandroid/view/MenuItem;->getItemId()I
-HSPLandroid/view/MenuItem;->getMenuInfo()Landroid/view/ContextMenu$ContextMenuInfo;
-HSPLandroid/view/MenuItem;->getNumericShortcut()C
-HSPLandroid/view/MenuItem;->getOrder()I
-HSPLandroid/view/MenuItem;->getSubMenu()Landroid/view/SubMenu;
-HSPLandroid/view/MenuItem;->getTitle()Ljava/lang/CharSequence;
-HSPLandroid/view/MenuItem;->getTitleCondensed()Ljava/lang/CharSequence;
-HSPLandroid/view/MenuItem;->hasSubMenu()Z
-HSPLandroid/view/MenuItem;->isActionViewExpanded()Z
-HSPLandroid/view/MenuItem;->isCheckable()Z
-HSPLandroid/view/MenuItem;->isChecked()Z
-HSPLandroid/view/MenuItem;->isEnabled()Z
-HSPLandroid/view/MenuItem;->isVisible()Z
-HSPLandroid/view/MenuItem;->setActionProvider(Landroid/view/ActionProvider;)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setActionView(I)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setActionView(Landroid/view/View;)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setAlphabeticShortcut(C)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setCheckable(Z)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setChecked(Z)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setEnabled(Z)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setIcon(I)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setIntent(Landroid/content/Intent;)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setNumericShortcut(C)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setOnActionExpandListener(Landroid/view/MenuItem$OnActionExpandListener;)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setOnMenuItemClickListener(Landroid/view/MenuItem$OnMenuItemClickListener;)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setShortcut(CC)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setShowAsAction(I)V
-HSPLandroid/view/MenuItem;->setShowAsActionFlags(I)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setTitle(I)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setTitle(Ljava/lang/CharSequence;)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setTitleCondensed(Ljava/lang/CharSequence;)Landroid/view/MenuItem;
-HSPLandroid/view/MenuItem;->setVisible(Z)Landroid/view/MenuItem;
 HSPLandroid/view/MotionEvent$1;-><init>()V
-HSPLandroid/view/MotionEvent$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/MotionEvent;
-HSPLandroid/view/MotionEvent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/MotionEvent;->actionToString(I)Ljava/lang/String;
-HSPLandroid/view/MotionEvent;->buttonStateToString(I)Ljava/lang/String;
 HSPLandroid/view/MotionEvent;->ensureSharedTempPointerCapacity(I)V
+HSPLandroid/view/MotionEvent;->finalize()V
 HSPLandroid/view/MotionEvent;->findPointerIndex(I)I
 HSPLandroid/view/MotionEvent;->getAction()I
 HSPLandroid/view/MotionEvent;->getActionIndex()I
 HSPLandroid/view/MotionEvent;->getActionMasked()I
-HSPLandroid/view/MotionEvent;->getDownTime()J
-HSPLandroid/view/MotionEvent;->getEdgeFlags()I
 HSPLandroid/view/MotionEvent;->getEventTime()J
 HSPLandroid/view/MotionEvent;->getEventTimeNano()J
-HSPLandroid/view/MotionEvent;->getHistoricalEventTime(I)J
-HSPLandroid/view/MotionEvent;->getHistoricalX(II)F
-HSPLandroid/view/MotionEvent;->getHistoricalY(II)F
-HSPLandroid/view/MotionEvent;->getHistorySize()I
-HSPLandroid/view/MotionEvent;->getPointerCount()I
+HSPLandroid/view/MotionEvent;->getFlags()I
 HSPLandroid/view/MotionEvent;->getPointerId(I)I
+HSPLandroid/view/MotionEvent;->getPressure(I)F
 HSPLandroid/view/MotionEvent;->getRawX()F
 HSPLandroid/view/MotionEvent;->getRawY()F
 HSPLandroid/view/MotionEvent;->getSource()I
-HSPLandroid/view/MotionEvent;->getToolType(I)I
 HSPLandroid/view/MotionEvent;->getX()F
 HSPLandroid/view/MotionEvent;->getX(I)F
 HSPLandroid/view/MotionEvent;->getY()F
 HSPLandroid/view/MotionEvent;->getY(I)F
-HSPLandroid/view/MotionEvent;->isTargetAccessibilityFocus()Z
+HSPLandroid/view/MotionEvent;->isWithinBoundsNoHistory(FFFF)Z
 HSPLandroid/view/MotionEvent;->obtain()Landroid/view/MotionEvent;
-HSPLandroid/view/MotionEvent;->obtain(JJIFFFFIFFII)Landroid/view/MotionEvent;
+HSPLandroid/view/MotionEvent;->obtain(JJIFFFFIFFIIII)Landroid/view/MotionEvent;
 HSPLandroid/view/MotionEvent;->obtain(JJIFFI)Landroid/view/MotionEvent;
 HSPLandroid/view/MotionEvent;->obtain(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
-HSPLandroid/view/MotionEvent;->obtainNoHistory(Landroid/view/MotionEvent;)Landroid/view/MotionEvent;
 HSPLandroid/view/MotionEvent;->offsetLocation(FF)V
 HSPLandroid/view/MotionEvent;->recycle()V
 HSPLandroid/view/MotionEvent;->setAction(I)V
-HSPLandroid/view/MotionEvent;->setEdgeFlags(I)V
 HSPLandroid/view/MotionEvent;->setLocation(FF)V
-HSPLandroid/view/MotionEvent;->setTargetAccessibilityFocus(Z)V
-HSPLandroid/view/MotionEvent;->toString()Ljava/lang/String;
-HSPLandroid/view/OrientationEventListener$SensorEventListenerImpl;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
-HSPLandroid/view/OrientationEventListener$SensorEventListenerImpl;->onSensorChanged(Landroid/hardware/SensorEvent;)V
+HSPLandroid/view/MotionEvent;->setSource(I)V
+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/OrientationEventListener;->enable()V
-HSPLandroid/view/OrientationEventListener;->onOrientationChanged(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/RecordingCanvas;->drawARGB(IIII)V
-HSPLandroid/view/RecordingCanvas;->drawArc(Landroid/graphics/RectF;FFZLandroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawBitmap(Landroid/graphics/Bitmap;FFLandroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Matrix;Landroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawBitmap(Landroid/graphics/Bitmap;Landroid/graphics/Rect;Landroid/graphics/RectF;Landroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawCircle(FFFLandroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawColor(I)V
-HSPLandroid/view/RecordingCanvas;->drawColor(ILandroid/graphics/PorterDuff$Mode;)V
-HSPLandroid/view/RecordingCanvas;->drawLine(FFFFLandroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawOval(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawPatch(Landroid/graphics/NinePatch;Landroid/graphics/Rect;Landroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawPath(Landroid/graphics/Path;Landroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawPicture(Landroid/graphics/Picture;)V
-HSPLandroid/view/RecordingCanvas;->drawRect(FFFFLandroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawRect(Landroid/graphics/Rect;Landroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawRect(Landroid/graphics/RectF;Landroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawRoundRect(FFFFFFLandroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawRoundRect(Landroid/graphics/RectF;FFLandroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawText(Ljava/lang/CharSequence;IIFFLandroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawText(Ljava/lang/String;FFLandroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawText([CIIFFLandroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawTextRun(Ljava/lang/CharSequence;IIIIFFZLandroid/graphics/Paint;)V
-HSPLandroid/view/RecordingCanvas;->drawTextRun([CIIIIFFZLandroid/graphics/Paint;)V
-HSPLandroid/view/RemoteAnimationAdapter$1;-><init>()V
-HSPLandroid/view/RemoteAnimationAdapter;-><init>(Landroid/view/IRemoteAnimationRunner;JJ)V
-HSPLandroid/view/RemoteAnimationAdapter;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/RemoteAnimationDefinition$1;-><init>()V
-HSPLandroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry$1;-><init>()V
-HSPLandroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/RemoteAnimationDefinition;-><init>()V
-HSPLandroid/view/RemoteAnimationDefinition;->addRemoteAnimation(IILandroid/view/RemoteAnimationAdapter;)V
-HSPLandroid/view/RemoteAnimationDefinition;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/RenderNode;->access$000()J
-HSPLandroid/view/RenderNode;->addAnimator(Landroid/view/RenderNodeAnimator;)V
-HSPLandroid/view/RenderNode;->create(Ljava/lang/String;Landroid/view/View;)Landroid/view/RenderNode;
-HSPLandroid/view/RenderNode;->discardDisplayList()V
-HSPLandroid/view/RenderNode;->end(Landroid/view/DisplayListCanvas;)V
-HSPLandroid/view/RenderNode;->getClipToOutline()Z
-HSPLandroid/view/RenderNode;->getElevation()F
-HSPLandroid/view/RenderNode;->getInverseMatrix(Landroid/graphics/Matrix;)V
-HSPLandroid/view/RenderNode;->getMatrix(Landroid/graphics/Matrix;)V
-HSPLandroid/view/RenderNode;->getNativeDisplayList()J
-HSPLandroid/view/RenderNode;->getPivotX()F
-HSPLandroid/view/RenderNode;->getPivotY()F
-HSPLandroid/view/RenderNode;->getRotation()F
-HSPLandroid/view/RenderNode;->getRotationX()F
-HSPLandroid/view/RenderNode;->getRotationY()F
-HSPLandroid/view/RenderNode;->getScaleX()F
-HSPLandroid/view/RenderNode;->getScaleY()F
-HSPLandroid/view/RenderNode;->getTranslationX()F
-HSPLandroid/view/RenderNode;->getTranslationY()F
-HSPLandroid/view/RenderNode;->getTranslationZ()F
-HSPLandroid/view/RenderNode;->hasIdentityMatrix()Z
-HSPLandroid/view/RenderNode;->isAttached()Z
-HSPLandroid/view/RenderNode;->isPivotExplicitlySet()Z
-HSPLandroid/view/RenderNode;->isValid()Z
-HSPLandroid/view/RenderNode;->offsetLeftAndRight(I)Z
-HSPLandroid/view/RenderNode;->offsetTopAndBottom(I)Z
-HSPLandroid/view/RenderNode;->registerVectorDrawableAnimator(Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;)V
-HSPLandroid/view/RenderNode;->requestPositionUpdates(Landroid/view/SurfaceView;)V
-HSPLandroid/view/RenderNode;->setAlpha(F)Z
-HSPLandroid/view/RenderNode;->setAnimationMatrix(Landroid/graphics/Matrix;)Z
-HSPLandroid/view/RenderNode;->setBottom(I)Z
-HSPLandroid/view/RenderNode;->setClipBounds(Landroid/graphics/Rect;)Z
-HSPLandroid/view/RenderNode;->setClipToBounds(Z)Z
-HSPLandroid/view/RenderNode;->setClipToOutline(Z)Z
-HSPLandroid/view/RenderNode;->setElevation(F)Z
-HSPLandroid/view/RenderNode;->setHasOverlappingRendering(Z)Z
-HSPLandroid/view/RenderNode;->setLayerPaint(Landroid/graphics/Paint;)Z
-HSPLandroid/view/RenderNode;->setLayerType(I)Z
-HSPLandroid/view/RenderNode;->setLeft(I)Z
-HSPLandroid/view/RenderNode;->setLeftTopRightBottom(IIII)Z
-HSPLandroid/view/RenderNode;->setOutline(Landroid/graphics/Outline;)Z
-HSPLandroid/view/RenderNode;->setPivotX(F)Z
-HSPLandroid/view/RenderNode;->setPivotY(F)Z
-HSPLandroid/view/RenderNode;->setProjectBackwards(Z)Z
-HSPLandroid/view/RenderNode;->setProjectionReceiver(Z)Z
-HSPLandroid/view/RenderNode;->setRight(I)Z
-HSPLandroid/view/RenderNode;->setRotation(F)Z
-HSPLandroid/view/RenderNode;->setScaleX(F)Z
-HSPLandroid/view/RenderNode;->setScaleY(F)Z
-HSPLandroid/view/RenderNode;->setTop(I)Z
-HSPLandroid/view/RenderNode;->setTranslationX(F)Z
-HSPLandroid/view/RenderNode;->setTranslationY(F)Z
-HSPLandroid/view/RenderNode;->setTranslationZ(F)Z
-HSPLandroid/view/RenderNode;->start(II)Landroid/view/DisplayListCanvas;
 HSPLandroid/view/RenderNodeAnimator$1;-><init>(I)V
 HSPLandroid/view/RenderNodeAnimator;-><init>(Landroid/graphics/CanvasProperty;F)V
 HSPLandroid/view/RenderNodeAnimator;-><init>(Landroid/graphics/CanvasProperty;IF)V
 HSPLandroid/view/RenderNodeAnimator;->applyInterpolator()V
 HSPLandroid/view/RenderNodeAnimator;->callOnFinished(Landroid/view/RenderNodeAnimator;)V
-HSPLandroid/view/RenderNodeAnimator;->doStart()V
 HSPLandroid/view/RenderNodeAnimator;->end()V
 HSPLandroid/view/RenderNodeAnimator;->getNativeAnimator()J
 HSPLandroid/view/RenderNodeAnimator;->isRunning()Z
@@ -33367,221 +28645,125 @@
 HSPLandroid/view/RenderNodeAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)V
 HSPLandroid/view/RenderNodeAnimator;->setStartDelay(J)V
 HSPLandroid/view/RenderNodeAnimator;->setStartValue(F)V
-HSPLandroid/view/RenderNodeAnimator;->setTarget(Landroid/view/DisplayListCanvas;)V
+HSPLandroid/view/RenderNodeAnimator;->setTarget(Landroid/graphics/RecordingCanvas;)V
 HSPLandroid/view/RenderNodeAnimator;->start()V
-HSPLandroid/view/RenderNodeAnimatorSetHelper;->createNativeInterpolator(Landroid/animation/TimeInterpolator;J)J
-HSPLandroid/view/RenderNodeAnimatorSetHelper;->getTarget(Landroid/view/DisplayListCanvas;)Landroid/view/RenderNode;
-HSPLandroid/view/ScaleGestureDetector$OnScaleGestureListener;->onScale(Landroid/view/ScaleGestureDetector;)Z
-HSPLandroid/view/ScaleGestureDetector$OnScaleGestureListener;->onScaleBegin(Landroid/view/ScaleGestureDetector;)Z
-HSPLandroid/view/ScaleGestureDetector$OnScaleGestureListener;->onScaleEnd(Landroid/view/ScaleGestureDetector;)V
-HSPLandroid/view/ScaleGestureDetector$SimpleOnScaleGestureListener;-><init>()V
-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;->setQuickScaleEnabled(Z)V
-HSPLandroid/view/ScaleGestureDetector;->setStylusScaleEnabled(Z)V
-HSPLandroid/view/SubMenu;->clearHeader()V
-HSPLandroid/view/SubMenu;->getItem()Landroid/view/MenuItem;
-HSPLandroid/view/SubMenu;->setHeaderIcon(I)Landroid/view/SubMenu;
-HSPLandroid/view/SubMenu;->setHeaderIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/SubMenu;
-HSPLandroid/view/SubMenu;->setHeaderTitle(I)Landroid/view/SubMenu;
-HSPLandroid/view/SubMenu;->setHeaderTitle(Ljava/lang/CharSequence;)Landroid/view/SubMenu;
-HSPLandroid/view/SubMenu;->setHeaderView(Landroid/view/View;)Landroid/view/SubMenu;
-HSPLandroid/view/SubMenu;->setIcon(I)Landroid/view/SubMenu;
-HSPLandroid/view/SubMenu;->setIcon(Landroid/graphics/drawable/Drawable;)Landroid/view/SubMenu;
 HSPLandroid/view/Surface$1;-><init>()V
-HSPLandroid/view/Surface;-><init>()V
-HSPLandroid/view/Surface;-><init>(Landroid/graphics/SurfaceTexture;)V
-HSPLandroid/view/Surface;->allocateBuffers()V
+HSPLandroid/view/Surface$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/Surface;
+HSPLandroid/view/Surface$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/view/Surface;->checkNotReleasedLocked()V
 HSPLandroid/view/Surface;->copyFrom(Landroid/view/SurfaceControl;)V
-HSPLandroid/view/Surface;->createFrom(Landroid/view/SurfaceControl;)V
-HSPLandroid/view/Surface;->finalize()V
 HSPLandroid/view/Surface;->getGenerationId()I
 HSPLandroid/view/Surface;->getNextFrameNumber()J
 HSPLandroid/view/Surface;->isValid()Z
-HSPLandroid/view/Surface;->lockCanvas(Landroid/graphics/Rect;)Landroid/graphics/Canvas;
 HSPLandroid/view/Surface;->readFromParcel(Landroid/os/Parcel;)V
 HSPLandroid/view/Surface;->release()V
+HSPLandroid/view/Surface;->rotationToString(I)Ljava/lang/String;
 HSPLandroid/view/Surface;->setNativeObjectLocked(J)V
 HSPLandroid/view/Surface;->toString()Ljava/lang/String;
-HSPLandroid/view/Surface;->unlockCanvasAndPost(Landroid/graphics/Canvas;)V
-HSPLandroid/view/Surface;->unlockSwCanvasAndPost(Landroid/graphics/Canvas;)V
-HSPLandroid/view/Surface;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/SurfaceControl$1;-><init>()V
 HSPLandroid/view/SurfaceControl$Builder;->build()Landroid/view/SurfaceControl;
+HSPLandroid/view/SurfaceControl$Builder;->setBufferSize(II)Landroid/view/SurfaceControl$Builder;
+HSPLandroid/view/SurfaceControl$Builder;->setColorLayer()Landroid/view/SurfaceControl$Builder;
 HSPLandroid/view/SurfaceControl$Builder;->setColorLayer(Z)Landroid/view/SurfaceControl$Builder;
+HSPLandroid/view/SurfaceControl$Builder;->setContainerLayer()Landroid/view/SurfaceControl$Builder;
 HSPLandroid/view/SurfaceControl$Builder;->setFlags(I)Landroid/view/SurfaceControl$Builder;
 HSPLandroid/view/SurfaceControl$Builder;->setFormat(I)Landroid/view/SurfaceControl$Builder;
 HSPLandroid/view/SurfaceControl$Builder;->setMetadata(II)Landroid/view/SurfaceControl$Builder;
 HSPLandroid/view/SurfaceControl$Builder;->setName(Ljava/lang/String;)Landroid/view/SurfaceControl$Builder;
 HSPLandroid/view/SurfaceControl$Builder;->setOpaque(Z)Landroid/view/SurfaceControl$Builder;
 HSPLandroid/view/SurfaceControl$Builder;->setParent(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Builder;
-HSPLandroid/view/SurfaceControl$Builder;->setSize(II)Landroid/view/SurfaceControl$Builder;
 HSPLandroid/view/SurfaceControl$PhysicalDisplayInfo;-><init>()V
 HSPLandroid/view/SurfaceControl$Transaction;-><init>()V
 HSPLandroid/view/SurfaceControl$Transaction;->apply()V
 HSPLandroid/view/SurfaceControl$Transaction;->apply(Z)V
 HSPLandroid/view/SurfaceControl$Transaction;->applyResizedSurfaces()V
-HSPLandroid/view/SurfaceControl$Transaction;->deferTransactionUntilSurface(Landroid/view/SurfaceControl;Landroid/view/Surface;J)Landroid/view/SurfaceControl$Transaction;
+HSPLandroid/view/SurfaceControl$Transaction;->detachChildren(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->hide(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->merge(Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->reparent(Landroid/view/SurfaceControl;Landroid/os/IBinder;)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setAlpha(Landroid/view/SurfaceControl;F)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setDisplayLayerStack(Landroid/os/IBinder;I)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setDisplayProjection(Landroid/os/IBinder;ILandroid/graphics/Rect;Landroid/graphics/Rect;)Landroid/view/SurfaceControl$Transaction;
+HSPLandroid/view/SurfaceControl$Transaction;->setInputWindowInfo(Landroid/view/SurfaceControl;Landroid/view/InputWindowHandle;)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setLayer(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setLayerStack(Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setMatrix(Landroid/view/SurfaceControl;FFFF)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setPosition(Landroid/view/SurfaceControl;FF)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setRelativeLayer(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl;I)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setSecure(Landroid/view/SurfaceControl;Z)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl$Transaction;->setSize(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction;
+HSPLandroid/view/SurfaceControl$Transaction;->setWindowCrop(Landroid/view/SurfaceControl;II)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->setWindowCrop(Landroid/view/SurfaceControl;Landroid/graphics/Rect;)Landroid/view/SurfaceControl$Transaction;
 HSPLandroid/view/SurfaceControl$Transaction;->show(Landroid/view/SurfaceControl;)Landroid/view/SurfaceControl$Transaction;
-HSPLandroid/view/SurfaceControl;-><init>(Landroid/view/SurfaceControl;)V
-HSPLandroid/view/SurfaceControl;-><init>(Landroid/view/SurfaceSession;Ljava/lang/String;IIIILandroid/view/SurfaceControl;II)V
+HSPLandroid/view/SurfaceControl;-><init>()V
+HSPLandroid/view/SurfaceControl;-><init>(Landroid/view/SurfaceSession;Ljava/lang/String;IIIILandroid/view/SurfaceControl;Landroid/util/SparseIntArray;)V
 HSPLandroid/view/SurfaceControl;->access$200()J
 HSPLandroid/view/SurfaceControl;->closeTransaction()V
 HSPLandroid/view/SurfaceControl;->closeTransaction(Z)V
+HSPLandroid/view/SurfaceControl;->copyFrom(Landroid/view/SurfaceControl;)V
 HSPLandroid/view/SurfaceControl;->destroy()V
+HSPLandroid/view/SurfaceControl;->detachChildren()V
 HSPLandroid/view/SurfaceControl;->finalize()V
 HSPLandroid/view/SurfaceControl;->getActiveColorMode(Landroid/os/IBinder;)I
 HSPLandroid/view/SurfaceControl;->getActiveConfig(Landroid/os/IBinder;)I
+HSPLandroid/view/SurfaceControl;->getCompositionColorSpaces()[Landroid/graphics/ColorSpace;
 HSPLandroid/view/SurfaceControl;->getDisplayColorModes(Landroid/os/IBinder;)[I
 HSPLandroid/view/SurfaceControl;->getDisplayConfigs(Landroid/os/IBinder;)[Landroid/view/SurfaceControl$PhysicalDisplayInfo;
-HSPLandroid/view/SurfaceControl;->getHandle()Landroid/os/IBinder;
+HSPLandroid/view/SurfaceControl;->getDisplayedContentSamplingAttributes(Landroid/os/IBinder;)Landroid/hardware/display/DisplayedContentSamplingAttributes;
 HSPLandroid/view/SurfaceControl;->getHdrCapabilities(Landroid/os/IBinder;)Landroid/view/Display$HdrCapabilities;
-HSPLandroid/view/SurfaceControl;->hide()V
+HSPLandroid/view/SurfaceControl;->getPhysicalDisplayIds()[J
+HSPLandroid/view/SurfaceControl;->getPhysicalDisplayToken(J)Landroid/os/IBinder;
 HSPLandroid/view/SurfaceControl;->mergeToGlobalTransaction(Landroid/view/SurfaceControl$Transaction;)V
 HSPLandroid/view/SurfaceControl;->openTransaction()V
+HSPLandroid/view/SurfaceControl;->readFromParcel(Landroid/os/Parcel;)V
+HSPLandroid/view/SurfaceControl;->release()V
+HSPLandroid/view/SurfaceControl;->remove()V
 HSPLandroid/view/SurfaceControl;->setAlpha(F)V
 HSPLandroid/view/SurfaceControl;->setDisplayPowerMode(Landroid/os/IBinder;I)V
-HSPLandroid/view/SurfaceControl;->setLayer(I)V
+HSPLandroid/view/SurfaceControl;->setDisplayedContentSamplingEnabled(Landroid/os/IBinder;ZII)Z
 HSPLandroid/view/SurfaceControl;->setMatrix(FFFF)V
-HSPLandroid/view/SurfaceControl;->setPosition(FF)V
 HSPLandroid/view/SurfaceControl;->setSecure(Z)V
-HSPLandroid/view/SurfaceControl;->setSize(II)V
 HSPLandroid/view/SurfaceControl;->setWindowCrop(Landroid/graphics/Rect;)V
 HSPLandroid/view/SurfaceControl;->show()V
-HSPLandroid/view/SurfaceHolder$Callback2;->surfaceRedrawNeeded(Landroid/view/SurfaceHolder;)V
-HSPLandroid/view/SurfaceHolder$Callback;->surfaceChanged(Landroid/view/SurfaceHolder;III)V
-HSPLandroid/view/SurfaceHolder$Callback;->surfaceCreated(Landroid/view/SurfaceHolder;)V
-HSPLandroid/view/SurfaceHolder$Callback;->surfaceDestroyed(Landroid/view/SurfaceHolder;)V
-HSPLandroid/view/SurfaceHolder;->addCallback(Landroid/view/SurfaceHolder$Callback;)V
-HSPLandroid/view/SurfaceHolder;->getSurface()Landroid/view/Surface;
-HSPLandroid/view/SurfaceHolder;->getSurfaceFrame()Landroid/graphics/Rect;
-HSPLandroid/view/SurfaceHolder;->isCreating()Z
-HSPLandroid/view/SurfaceHolder;->lockCanvas()Landroid/graphics/Canvas;
-HSPLandroid/view/SurfaceHolder;->lockCanvas(Landroid/graphics/Rect;)Landroid/graphics/Canvas;
-HSPLandroid/view/SurfaceHolder;->removeCallback(Landroid/view/SurfaceHolder$Callback;)V
-HSPLandroid/view/SurfaceHolder;->setFixedSize(II)V
-HSPLandroid/view/SurfaceHolder;->setFormat(I)V
-HSPLandroid/view/SurfaceHolder;->setKeepScreenOn(Z)V
-HSPLandroid/view/SurfaceHolder;->setSizeFromLayout()V
-HSPLandroid/view/SurfaceHolder;->setType(I)V
-HSPLandroid/view/SurfaceHolder;->unlockCanvasAndPost(Landroid/graphics/Canvas;)V
+HSPLandroid/view/SurfaceControl;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/SurfaceSession;-><init>()V
-HSPLandroid/view/SurfaceView$1;->onScrollChanged()V
 HSPLandroid/view/SurfaceView$2;->onPreDraw()Z
-HSPLandroid/view/SurfaceView$3;->addCallback(Landroid/view/SurfaceHolder$Callback;)V
-HSPLandroid/view/SurfaceView$3;->getSurface()Landroid/view/Surface;
-HSPLandroid/view/SurfaceView$3;->getSurfaceFrame()Landroid/graphics/Rect;
-HSPLandroid/view/SurfaceView$3;->setFixedSize(II)V
-HSPLandroid/view/SurfaceView$3;->setFormat(I)V
-HSPLandroid/view/SurfaceView$3;->setType(I)V
-HSPLandroid/view/SurfaceView$SurfaceControlWithBackground;-><init>(Landroid/view/SurfaceView;Ljava/lang/String;ZLandroid/view/SurfaceControl$Builder;)V
-HSPLandroid/view/SurfaceView$SurfaceControlWithBackground;->setLayer(I)V
-HSPLandroid/view/SurfaceView$SurfaceControlWithBackground;->setMatrix(FFFF)V
-HSPLandroid/view/SurfaceView$SurfaceControlWithBackground;->setPosition(FF)V
-HSPLandroid/view/SurfaceView$SurfaceControlWithBackground;->setSize(II)V
-HSPLandroid/view/SurfaceView$SurfaceControlWithBackground;->show()V
-HSPLandroid/view/SurfaceView$SurfaceControlWithBackground;->updateBackgroundVisibility()V
-HSPLandroid/view/SurfaceView;-><init>(Landroid/content/Context;)V
 HSPLandroid/view/SurfaceView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/view/SurfaceView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/view/SurfaceView;->applyChildSurfaceTransaction_renderWorker(Landroid/view/SurfaceControl$Transaction;Landroid/view/Surface;J)V
-HSPLandroid/view/SurfaceView;->applySurfaceTransforms(Landroid/view/SurfaceControl;Landroid/graphics/Rect;J)V
-HSPLandroid/view/SurfaceView;->dispatchDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/view/SurfaceView;->gatherTransparentRegion(Landroid/graphics/Region;)Z
-HSPLandroid/view/SurfaceView;->getHolder()Landroid/view/SurfaceHolder;
-HSPLandroid/view/SurfaceView;->getSurfaceCallbacks()[Landroid/view/SurfaceHolder$Callback;
-HSPLandroid/view/SurfaceView;->notifyDrawFinished()V
 HSPLandroid/view/SurfaceView;->onAttachedToWindow()V
-HSPLandroid/view/SurfaceView;->onDetachedFromWindow()V
-HSPLandroid/view/SurfaceView;->onMeasure(II)V
 HSPLandroid/view/SurfaceView;->onWindowVisibilityChanged(I)V
-HSPLandroid/view/SurfaceView;->performDrawFinished()V
-HSPLandroid/view/SurfaceView;->setFrame(IIII)Z
-HSPLandroid/view/SurfaceView;->setVisibility(I)V
-HSPLandroid/view/SurfaceView;->setZOrderMediaOverlay(Z)V
-HSPLandroid/view/SurfaceView;->setZOrderOnTop(Z)V
-HSPLandroid/view/SurfaceView;->surfacePositionLost_uiRtSync(J)V
 HSPLandroid/view/SurfaceView;->updateSurface()V
-HSPLandroid/view/SurfaceView;->updateSurfacePosition_renderWorker(JIIII)V
-HSPLandroid/view/TextureLayer;-><init>(Landroid/view/ThreadedRenderer;J)V
-HSPLandroid/view/TextureView$SurfaceTextureListener;->onSurfaceTextureAvailable(Landroid/graphics/SurfaceTexture;II)V
-HSPLandroid/view/TextureView$SurfaceTextureListener;->onSurfaceTextureDestroyed(Landroid/graphics/SurfaceTexture;)Z
-HSPLandroid/view/TextureView$SurfaceTextureListener;->onSurfaceTextureSizeChanged(Landroid/graphics/SurfaceTexture;II)V
-HSPLandroid/view/TextureView$SurfaceTextureListener;->onSurfaceTextureUpdated(Landroid/graphics/SurfaceTexture;)V
-HSPLandroid/view/TextureView;-><init>(Landroid/content/Context;)V
+HSPLandroid/view/SurfaceView;->windowStopped(Z)V
 HSPLandroid/view/TextureView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/view/TextureView;->applyUpdate()V
-HSPLandroid/view/TextureView;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/view/TextureView;->getLayerType()I
-HSPLandroid/view/TextureView;->getSurfaceTexture()Landroid/graphics/SurfaceTexture;
-HSPLandroid/view/TextureView;->getTextureLayer()Landroid/view/TextureLayer;
-HSPLandroid/view/TextureView;->isOpaque()Z
+HSPLandroid/view/TextureView;->destroyHardwareResources()V
 HSPLandroid/view/TextureView;->onAttachedToWindow()V
-HSPLandroid/view/TextureView;->onDetachedFromWindowInternal()V
-HSPLandroid/view/TextureView;->onSizeChanged(IIII)V
 HSPLandroid/view/TextureView;->onVisibilityChanged(Landroid/view/View;I)V
-HSPLandroid/view/TextureView;->releaseSurfaceTexture()V
-HSPLandroid/view/TextureView;->setSurfaceTexture(Landroid/graphics/SurfaceTexture;)V
-HSPLandroid/view/TextureView;->setSurfaceTextureListener(Landroid/view/TextureView$SurfaceTextureListener;)V
-HSPLandroid/view/TextureView;->setTransform(Landroid/graphics/Matrix;)V
-HSPLandroid/view/TextureView;->updateLayer()V
-HSPLandroid/view/TextureView;->updateLayerAndInvalidate()V
-HSPLandroid/view/ThreadedRenderer$DrawCallbacks;->onPostDraw(Landroid/view/DisplayListCanvas;)V
-HSPLandroid/view/ThreadedRenderer$DrawCallbacks;->onPreDraw(Landroid/view/DisplayListCanvas;)V
-HSPLandroid/view/ThreadedRenderer$ProcessInitializer;-><init>()V
-HSPLandroid/view/ThreadedRenderer$ProcessInitializer;->init(Landroid/content/Context;J)V
-HSPLandroid/view/ThreadedRenderer$ProcessInitializer;->initGraphicsStats()V
-HSPLandroid/view/ThreadedRenderer$ProcessInitializer;->initSched(J)V
-HSPLandroid/view/ThreadedRenderer$ProcessInitializer;->requestBuffer()V
 HSPLandroid/view/ThreadedRenderer;-><init>(Landroid/content/Context;ZLjava/lang/String;)V
-HSPLandroid/view/ThreadedRenderer;->createHardwareBitmap(Landroid/view/RenderNode;II)Landroid/graphics/Bitmap;
 HSPLandroid/view/ThreadedRenderer;->draw(Landroid/view/View;Landroid/view/View$AttachInfo;Landroid/view/ThreadedRenderer$DrawCallbacks;)V
-HSPLandroid/view/ThreadedRenderer;->draw(Landroid/view/View;Landroid/view/View$AttachInfo;Landroid/view/ThreadedRenderer$DrawCallbacks;Landroid/view/ThreadedRenderer$FrameDrawingCallback;)V
 HSPLandroid/view/ThreadedRenderer;->enableForegroundTrimming()V
-HSPLandroid/view/ThreadedRenderer;->finalize()V
 HSPLandroid/view/ThreadedRenderer;->getHeight()I
 HSPLandroid/view/ThreadedRenderer;->getWidth()I
 HSPLandroid/view/ThreadedRenderer;->initialize(Landroid/view/Surface;)Z
 HSPLandroid/view/ThreadedRenderer;->isAvailable()Z
 HSPLandroid/view/ThreadedRenderer;->isEnabled()Z
-HSPLandroid/view/ThreadedRenderer;->pauseSurface(Landroid/view/Surface;)Z
-HSPLandroid/view/ThreadedRenderer;->setContextPriority(I)V
-HSPLandroid/view/ThreadedRenderer;->setDebuggingEnabled(Z)V
 HSPLandroid/view/ThreadedRenderer;->setup(IILandroid/view/View$AttachInfo;Landroid/graphics/Rect;)V
-HSPLandroid/view/ThreadedRenderer;->setupDiskCache(Ljava/io/File;)V
 HSPLandroid/view/ThreadedRenderer;->updateRootDisplayList(Landroid/view/View;Landroid/view/ThreadedRenderer$DrawCallbacks;)V
-HSPLandroid/view/ThreadedRenderer;->updateSurface(Landroid/view/Surface;)V
 HSPLandroid/view/ThreadedRenderer;->updateViewTreeDisplayList(Landroid/view/View;)V
-HSPLandroid/view/TouchDelegate;-><init>(Landroid/graphics/Rect;Landroid/view/View;)V
-HSPLandroid/view/VelocityTracker;-><init>(Ljava/lang/String;)V
 HSPLandroid/view/VelocityTracker;->addMovement(Landroid/view/MotionEvent;)V
 HSPLandroid/view/VelocityTracker;->clear()V
 HSPLandroid/view/VelocityTracker;->computeCurrentVelocity(IF)V
-HSPLandroid/view/VelocityTracker;->finalize()V
+HSPLandroid/view/VelocityTracker;->getXVelocity(I)F
 HSPLandroid/view/VelocityTracker;->getYVelocity(I)F
 HSPLandroid/view/VelocityTracker;->obtain()Landroid/view/VelocityTracker;
 HSPLandroid/view/VelocityTracker;->recycle()V
 HSPLandroid/view/View$10;-><init>(Ljava/lang/String;)V
 HSPLandroid/view/View$11;-><init>(Ljava/lang/String;)V
 HSPLandroid/view/View$12;-><init>(Ljava/lang/String;)V
+HSPLandroid/view/View$12;->get(Landroid/view/View;)Ljava/lang/Float;
+HSPLandroid/view/View$12;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/view/View$12;->setValue(Landroid/view/View;F)V
 HSPLandroid/view/View$12;->setValue(Ljava/lang/Object;F)V
 HSPLandroid/view/View$13;-><init>(Ljava/lang/String;)V
+HSPLandroid/view/View$13;->get(Landroid/view/View;)Ljava/lang/Float;
+HSPLandroid/view/View$13;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/view/View$13;->setValue(Landroid/view/View;F)V
 HSPLandroid/view/View$13;->setValue(Ljava/lang/Object;F)V
 HSPLandroid/view/View$2;-><init>(Ljava/lang/String;)V
@@ -33590,8 +28772,6 @@
 HSPLandroid/view/View$2;->setValue(Landroid/view/View;F)V
 HSPLandroid/view/View$2;->setValue(Ljava/lang/Object;F)V
 HSPLandroid/view/View$3;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/View$3;->get(Landroid/view/View;)Ljava/lang/Float;
-HSPLandroid/view/View$3;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLandroid/view/View$3;->setValue(Landroid/view/View;F)V
 HSPLandroid/view/View$3;->setValue(Ljava/lang/Object;F)V
 HSPLandroid/view/View$4;-><init>(Ljava/lang/String;)V
@@ -33613,53 +28793,41 @@
 HSPLandroid/view/View$8;-><init>(Ljava/lang/String;)V
 HSPLandroid/view/View$9;-><init>(Ljava/lang/String;)V
 HSPLandroid/view/View$AccessibilityDelegate;-><init>()V
+HSPLandroid/view/View$AccessibilityDelegate;->dispatchPopulateAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
+HSPLandroid/view/View$AccessibilityDelegate;->getAccessibilityNodeProvider(Landroid/view/View;)Landroid/view/accessibility/AccessibilityNodeProvider;
+HSPLandroid/view/View$AccessibilityDelegate;->onInitializeAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V
+HSPLandroid/view/View$AccessibilityDelegate;->onPopulateAccessibilityEvent(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V
+HSPLandroid/view/View$AccessibilityDelegate;->onRequestSendAccessibilityEvent(Landroid/view/ViewGroup;Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)Z
 HSPLandroid/view/View$AccessibilityDelegate;->sendAccessibilityEvent(Landroid/view/View;I)V
-HSPLandroid/view/View$AttachInfo$Callbacks;->performHapticFeedback(IZ)Z
-HSPLandroid/view/View$AttachInfo$Callbacks;->playSoundEffect(I)V
+HSPLandroid/view/View$AccessibilityDelegate;->sendAccessibilityEventUnchecked(Landroid/view/View;Landroid/view/accessibility/AccessibilityEvent;)V
 HSPLandroid/view/View$AttachInfo;-><init>(Landroid/view/IWindowSession;Landroid/view/IWindow;Landroid/view/Display;Landroid/view/ViewRootImpl;Landroid/os/Handler;Landroid/view/View$AttachInfo$Callbacks;Landroid/content/Context;)V
+HSPLandroid/view/View$AttachInfo;->delayNotifyContentCaptureDisappeared(Landroid/view/contentcapture/ContentCaptureSession;Landroid/view/autofill/AutofillId;)V
 HSPLandroid/view/View$BaseSavedState$1;-><init>()V
-HSPLandroid/view/View$BaseSavedState$1;->createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Landroid/view/View$BaseSavedState;
-HSPLandroid/view/View$BaseSavedState$1;->createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Ljava/lang/Object;
-HSPLandroid/view/View$BaseSavedState;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/view/View$BaseSavedState;-><init>(Landroid/os/Parcelable;)V
 HSPLandroid/view/View$BaseSavedState;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/View$CheckForTap;->run()V
-HSPLandroid/view/View$DeclaredOnClickListener;-><init>(Landroid/view/View;Ljava/lang/String;)V
 HSPLandroid/view/View$ForegroundInfo;->access$100(Landroid/view/View$ForegroundInfo;)Z
 HSPLandroid/view/View$ForegroundInfo;->access$102(Landroid/view/View$ForegroundInfo;Z)Z
-HSPLandroid/view/View$MatchIdPredicate;->test(Landroid/view/View;)Z
-HSPLandroid/view/View$MatchIdPredicate;->test(Ljava/lang/Object;)Z
 HSPLandroid/view/View$MeasureSpec;->getMode(I)I
 HSPLandroid/view/View$MeasureSpec;->getSize(I)I
 HSPLandroid/view/View$MeasureSpec;->makeMeasureSpec(II)I
 HSPLandroid/view/View$MeasureSpec;->makeSafeMeasureSpec(II)I
-HSPLandroid/view/View$OnApplyWindowInsetsListener;->onApplyWindowInsets(Landroid/view/View;Landroid/view/WindowInsets;)Landroid/view/WindowInsets;
-HSPLandroid/view/View$OnClickListener;->onClick(Landroid/view/View;)V
-HSPLandroid/view/View$OnDragListener;->onDrag(Landroid/view/View;Landroid/view/DragEvent;)Z
-HSPLandroid/view/View$OnFocusChangeListener;->onFocusChange(Landroid/view/View;Z)V
-HSPLandroid/view/View$OnGenericMotionListener;->onGenericMotion(Landroid/view/View;Landroid/view/MotionEvent;)Z
-HSPLandroid/view/View$OnHoverListener;->onHover(Landroid/view/View;Landroid/view/MotionEvent;)Z
-HSPLandroid/view/View$OnKeyListener;->onKey(Landroid/view/View;ILandroid/view/KeyEvent;)Z
-HSPLandroid/view/View$OnLayoutChangeListener;->onLayoutChange(Landroid/view/View;IIIIIIII)V
-HSPLandroid/view/View$OnLongClickListener;->onLongClick(Landroid/view/View;)Z
-HSPLandroid/view/View$OnSystemUiVisibilityChangeListener;->onSystemUiVisibilityChange(I)V
 HSPLandroid/view/View$PerformClick;->run()V
 HSPLandroid/view/View$ScrollabilityCache;-><init>(Landroid/view/ViewConfiguration;Landroid/view/View;)V
 HSPLandroid/view/View$ScrollabilityCache;->run()V
+HSPLandroid/view/View$SendViewScrolledAccessibilityEvent;->post(II)V
+HSPLandroid/view/View$SendViewScrolledAccessibilityEvent;->run()V
 HSPLandroid/view/View$UnsetPressedState;->run()V
-HSPLandroid/view/View$VisibilityChangeForAutofillHandler;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/view/View;-><init>(Landroid/content/Context;)V
 HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HSPLandroid/view/View;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/view/View;->access$2700()Z
+HSPLandroid/view/View;->access$2900()Z
 HSPLandroid/view/View;->addFocusables(Ljava/util/ArrayList;I)V
 HSPLandroid/view/View;->addFocusables(Ljava/util/ArrayList;II)V
-HSPLandroid/view/View;->addFrameMetricsListener(Landroid/view/Window;Landroid/view/Window$OnFrameMetricsAvailableListener;Landroid/os/Handler;)V
 HSPLandroid/view/View;->addOnAttachStateChangeListener(Landroid/view/View$OnAttachStateChangeListener;)V
 HSPLandroid/view/View;->addOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V
 HSPLandroid/view/View;->animate()Landroid/view/ViewPropertyAnimator;
-HSPLandroid/view/View;->announceForAccessibility(Ljava/lang/CharSequence;)V
 HSPLandroid/view/View;->applyBackgroundTint()V
 HSPLandroid/view/View;->applyForegroundTint()V
 HSPLandroid/view/View;->applyLegacyAnimation(Landroid/view/ViewGroup;JLandroid/view/animation/Animation;Z)Z
@@ -33668,9 +28836,8 @@
 HSPLandroid/view/View;->awakenScrollBars()Z
 HSPLandroid/view/View;->awakenScrollBars(IZ)Z
 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
@@ -33680,7 +28847,7 @@
 HSPLandroid/view/View;->canTakeFocus()Z
 HSPLandroid/view/View;->cancelLongPress()V
 HSPLandroid/view/View;->cancelPendingInputEvents()V
-HSPLandroid/view/View;->checkForLongClick(IFF)V
+HSPLandroid/view/View;->checkForLongClick(JFF)V
 HSPLandroid/view/View;->checkInputConnectionProxy(Landroid/view/View;)Z
 HSPLandroid/view/View;->clearAccessibilityFocus()V
 HSPLandroid/view/View;->clearAccessibilityFocusNoCallbacks(I)V
@@ -33691,14 +28858,12 @@
 HSPLandroid/view/View;->combineMeasuredStates(II)I
 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;->computeHorizontalScrollOffset()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;
 HSPLandroid/view/View;->computeVerticalScrollExtent()I
 HSPLandroid/view/View;->computeVerticalScrollOffset()I
+HSPLandroid/view/View;->computeVerticalScrollRange()I
 HSPLandroid/view/View;->damageInParent()V
 HSPLandroid/view/View;->debugDraw()Z
 HSPLandroid/view/View;->destroyDrawingCache()V
@@ -33707,24 +28872,18 @@
 HSPLandroid/view/View;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V
 HSPLandroid/view/View;->dispatchCancelPendingInputEvents()V
 HSPLandroid/view/View;->dispatchCollectViewAttributes(Landroid/view/View$AttachInfo;I)V
-HSPLandroid/view/View;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V
 HSPLandroid/view/View;->dispatchDetachedFromWindow()V
 HSPLandroid/view/View;->dispatchDraw(Landroid/graphics/Canvas;)V
 HSPLandroid/view/View;->dispatchDrawableHotspotChanged(FF)V
 HSPLandroid/view/View;->dispatchFinishTemporaryDetach()V
-HSPLandroid/view/View;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
-HSPLandroid/view/View;->dispatchKeyEventPreIme(Landroid/view/KeyEvent;)Z
-HSPLandroid/view/View;->dispatchNestedFling(FFZ)Z
-HSPLandroid/view/View;->dispatchNestedPreFling(FF)Z
-HSPLandroid/view/View;->dispatchNestedPreScroll(II[I[I)Z
-HSPLandroid/view/View;->dispatchNestedScroll(IIII[I)Z
-HSPLandroid/view/View;->dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V
-HSPLandroid/view/View;->dispatchProvideStructure(Landroid/view/ViewStructure;)V
-HSPLandroid/view/View;->dispatchProvideStructureForAssistOrAutofill(Landroid/view/ViewStructure;ZI)V
+HSPLandroid/view/View;->dispatchGetDisplayList()V
+HSPLandroid/view/View;->dispatchInitialProvideContentCaptureStructure(Landroid/view/contentcapture/ContentCaptureManager;)V
+HSPLandroid/view/View;->dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
+HSPLandroid/view/View;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
+HSPLandroid/view/View;->dispatchProvideContentCaptureStructure()V
 HSPLandroid/view/View;->dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
 HSPLandroid/view/View;->dispatchSaveInstanceState(Landroid/util/SparseArray;)V
 HSPLandroid/view/View;->dispatchScreenStateChanged(I)V
-HSPLandroid/view/View;->dispatchSetActivated(Z)V
 HSPLandroid/view/View;->dispatchSetPressed(Z)V
 HSPLandroid/view/View;->dispatchSetSelected(Z)V
 HSPLandroid/view/View;->dispatchStartTemporaryDetach()V
@@ -33745,86 +28904,69 @@
 HSPLandroid/view/View;->findFocus()Landroid/view/View;
 HSPLandroid/view/View;->findKeyboardNavigationCluster()Landroid/view/View;
 HSPLandroid/view/View;->findUserSetNextFocus(Landroid/view/View;I)Landroid/view/View;
-HSPLandroid/view/View;->findViewByAutofillIdTraversal(I)Landroid/view/View;
 HSPLandroid/view/View;->findViewById(I)Landroid/view/View;
-HSPLandroid/view/View;->findViewByPredicateTraversal(Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
-HSPLandroid/view/View;->findViewInsideOutShouldExist(Landroid/view/View;I)Landroid/view/View;
 HSPLandroid/view/View;->findViewTraversal(I)Landroid/view/View;
-HSPLandroid/view/View;->findViewWithTag(Ljava/lang/Object;)Landroid/view/View;
-HSPLandroid/view/View;->findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View;
 HSPLandroid/view/View;->fitSystemWindows(Landroid/graphics/Rect;)Z
 HSPLandroid/view/View;->fitSystemWindowsInt(Landroid/graphics/Rect;)Z
 HSPLandroid/view/View;->focusSearch(I)Landroid/view/View;
-HSPLandroid/view/View;->forceHasOverlappingRendering(Z)V
 HSPLandroid/view/View;->forceLayout()V
 HSPLandroid/view/View;->gatherTransparentRegion(Landroid/graphics/Region;)Z
 HSPLandroid/view/View;->generateViewId()I
-HSPLandroid/view/View;->getAccessibilityClassName()Ljava/lang/CharSequence;
+HSPLandroid/view/View;->getAccessibilityDelegate()Landroid/view/View$AccessibilityDelegate;
 HSPLandroid/view/View;->getAccessibilityLiveRegion()I
 HSPLandroid/view/View;->getAccessibilityNodeProvider()Landroid/view/accessibility/AccessibilityNodeProvider;
-HSPLandroid/view/View;->getAccessibilityPaneTitle()Ljava/lang/CharSequence;
+HSPLandroid/view/View;->getAccessibilityViewId()I
+HSPLandroid/view/View;->getAccessibilityWindowId()I
 HSPLandroid/view/View;->getAlpha()F
+HSPLandroid/view/View;->getAndCacheContentCaptureSession()Landroid/view/contentcapture/ContentCaptureSession;
 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
 HSPLandroid/view/View;->getBackground()Landroid/graphics/drawable/Drawable;
-HSPLandroid/view/View;->getBackgroundTintList()Landroid/content/res/ColorStateList;
-HSPLandroid/view/View;->getBackgroundTintMode()Landroid/graphics/PorterDuff$Mode;
 HSPLandroid/view/View;->getBaseline()I
 HSPLandroid/view/View;->getBottom()I
-HSPLandroid/view/View;->getBottomPaddingOffset()I
-HSPLandroid/view/View;->getBoundsOnScreen(Landroid/graphics/Rect;)V
-HSPLandroid/view/View;->getBoundsOnScreen(Landroid/graphics/Rect;Z)V
+HSPLandroid/view/View;->getClipBounds()Landroid/graphics/Rect;
+HSPLandroid/view/View;->getClipBounds(Landroid/graphics/Rect;)Z
 HSPLandroid/view/View;->getContentDescription()Ljava/lang/CharSequence;
 HSPLandroid/view/View;->getContext()Landroid/content/Context;
 HSPLandroid/view/View;->getDefaultSize(II)I
 HSPLandroid/view/View;->getDisplay()Landroid/view/Display;
-HSPLandroid/view/View;->getDrawableRenderNode(Landroid/graphics/drawable/Drawable;Landroid/view/RenderNode;)Landroid/view/RenderNode;
+HSPLandroid/view/View;->getDrawableRenderNode(Landroid/graphics/drawable/Drawable;Landroid/graphics/RenderNode;)Landroid/graphics/RenderNode;
 HSPLandroid/view/View;->getDrawableState()[I
-HSPLandroid/view/View;->getDrawingCache(Z)Landroid/graphics/Bitmap;
 HSPLandroid/view/View;->getDrawingRect(Landroid/graphics/Rect;)V
 HSPLandroid/view/View;->getDrawingTime()J
 HSPLandroid/view/View;->getElevation()F
-HSPLandroid/view/View;->getFadeHeight(Z)I
-HSPLandroid/view/View;->getFadeTop(Z)I
 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
-HSPLandroid/view/View;->getGlobalVisibleRect(Landroid/graphics/Rect;Landroid/graphics/Point;)Z
 HSPLandroid/view/View;->getHandler()Landroid/os/Handler;
 HSPLandroid/view/View;->getHeight()I
 HSPLandroid/view/View;->getHitRect(Landroid/graphics/Rect;)V
-HSPLandroid/view/View;->getHorizontalScrollBarBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLandroid/view/View;->getHorizontalScrollbarHeight()I
 HSPLandroid/view/View;->getId()I
 HSPLandroid/view/View;->getImportantForAccessibility()I
 HSPLandroid/view/View;->getImportantForAutofill()I
+HSPLandroid/view/View;->getImportantForContentCapture()I
 HSPLandroid/view/View;->getInverseMatrix()Landroid/graphics/Matrix;
 HSPLandroid/view/View;->getKeyDispatcherState()Landroid/view/KeyEvent$DispatcherState;
 HSPLandroid/view/View;->getLayerType()I
 HSPLandroid/view/View;->getLayoutDirection()I
 HSPLandroid/view/View;->getLayoutParams()Landroid/view/ViewGroup$LayoutParams;
 HSPLandroid/view/View;->getLeft()I
-HSPLandroid/view/View;->getLeftPaddingOffset()I
 HSPLandroid/view/View;->getListenerInfo()Landroid/view/View$ListenerInfo;
-HSPLandroid/view/View;->getLocalVisibleRect(Landroid/graphics/Rect;)Z
-HSPLandroid/view/View;->getLocationInSurface([I)V
 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
-HSPLandroid/view/View;->getMeasuredHeightAndState()I
 HSPLandroid/view/View;->getMeasuredState()I
 HSPLandroid/view/View;->getMeasuredWidth()I
-HSPLandroid/view/View;->getMeasuredWidthAndState()I
 HSPLandroid/view/View;->getMinimumHeight()I
 HSPLandroid/view/View;->getMinimumWidth()I
-HSPLandroid/view/View;->getOutlineProvider()Landroid/view/ViewOutlineProvider;
 HSPLandroid/view/View;->getOutsets(Landroid/graphics/Rect;)V
 HSPLandroid/view/View;->getOverScrollMode()I
 HSPLandroid/view/View;->getPaddingBottom()I
@@ -33837,25 +28979,21 @@
 HSPLandroid/view/View;->getParentForAccessibility()Landroid/view/ViewParent;
 HSPLandroid/view/View;->getPivotX()F
 HSPLandroid/view/View;->getPivotY()F
-HSPLandroid/view/View;->getPointerIcon()Landroid/view/PointerIcon;
 HSPLandroid/view/View;->getRawLayoutDirection()I
 HSPLandroid/view/View;->getRawTextAlignment()I
 HSPLandroid/view/View;->getRawTextDirection()I
 HSPLandroid/view/View;->getResources()Landroid/content/res/Resources;
 HSPLandroid/view/View;->getRight()I
-HSPLandroid/view/View;->getRightPaddingOffset()I
 HSPLandroid/view/View;->getRootView()Landroid/view/View;
 HSPLandroid/view/View;->getRootWindowInsets()Landroid/view/WindowInsets;
 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;->getScrollBarStyle()I
 HSPLandroid/view/View;->getScrollX()I
 HSPLandroid/view/View;->getScrollY()I
-HSPLandroid/view/View;->getSolidColor()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
@@ -33864,23 +29002,19 @@
 HSPLandroid/view/View;->getTag(I)Ljava/lang/Object;
 HSPLandroid/view/View;->getTextAlignment()I
 HSPLandroid/view/View;->getTextDirection()I
-HSPLandroid/view/View;->getThreadedRenderer()Landroid/view/ThreadedRenderer;
 HSPLandroid/view/View;->getTop()I
-HSPLandroid/view/View;->getTopFadingEdgeStrength()F
-HSPLandroid/view/View;->getTouchDelegate()Landroid/view/TouchDelegate;
 HSPLandroid/view/View;->getTransitionAlpha()F
 HSPLandroid/view/View;->getTransitionName()Ljava/lang/String;
 HSPLandroid/view/View;->getTranslationX()F
 HSPLandroid/view/View;->getTranslationY()F
 HSPLandroid/view/View;->getTranslationZ()F
-HSPLandroid/view/View;->getVerticalFadingEdgeLength()I
-HSPLandroid/view/View;->getVerticalScrollbarPosition()I
 HSPLandroid/view/View;->getVerticalScrollbarWidth()I
 HSPLandroid/view/View;->getViewRootImpl()Landroid/view/ViewRootImpl;
 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;->getWindowDisplayFrame(Landroid/graphics/Rect;)V
 HSPLandroid/view/View;->getWindowId()Landroid/view/WindowId;
 HSPLandroid/view/View;->getWindowSystemUiVisibility()I
 HSPLandroid/view/View;->getWindowToken()Landroid/os/IBinder;
@@ -33905,10 +29039,8 @@
 HSPLandroid/view/View;->hasTransientState()Z
 HSPLandroid/view/View;->hasUnhandledKeyListener()Z
 HSPLandroid/view/View;->hasWindowFocus()Z
-HSPLandroid/view/View;->hideTooltip()V
 HSPLandroid/view/View;->includeForAccessibility()Z
 HSPLandroid/view/View;->inflate(Landroid/content/Context;ILandroid/view/ViewGroup;)Landroid/view/View;
-HSPLandroid/view/View;->initializeScrollIndicatorsInternal()V
 HSPLandroid/view/View;->initializeScrollbarsInternal(Landroid/content/res/TypedArray;)V
 HSPLandroid/view/View;->internalSetPadding(IIII)V
 HSPLandroid/view/View;->invalidate()V
@@ -33926,28 +29058,26 @@
 HSPLandroid/view/View;->isAccessibilityFocusedViewOrHost()Z
 HSPLandroid/view/View;->isActionableForAccessibility()Z
 HSPLandroid/view/View;->isActivated()Z
-HSPLandroid/view/View;->isAssistBlocked()Z
 HSPLandroid/view/View;->isAttachedToWindow()Z
+HSPLandroid/view/View;->isAutofillable()Z
 HSPLandroid/view/View;->isAutofilled()Z
 HSPLandroid/view/View;->isClickable()Z
 HSPLandroid/view/View;->isContextClickable()Z
 HSPLandroid/view/View;->isDefaultFocusHighlightNeeded(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)Z
 HSPLandroid/view/View;->isEnabled()Z
-HSPLandroid/view/View;->isFocusable()Z
-HSPLandroid/view/View;->isFocusableInTouchMode()Z
 HSPLandroid/view/View;->isFocused()Z
 HSPLandroid/view/View;->isForegroundInsidePadding()Z
 HSPLandroid/view/View;->isHapticFeedbackEnabled()Z
 HSPLandroid/view/View;->isHardwareAccelerated()Z
 HSPLandroid/view/View;->isHorizontalFadingEdgeEnabled()Z
 HSPLandroid/view/View;->isHorizontalScrollBarEnabled()Z
+HSPLandroid/view/View;->isHovered()Z
 HSPLandroid/view/View;->isImportantForAccessibility()Z
 HSPLandroid/view/View;->isImportantForAutofill()Z
+HSPLandroid/view/View;->isImportantForContentCapture()Z
 HSPLandroid/view/View;->isInEditMode()Z
-HSPLandroid/view/View;->isInLayout()Z
 HSPLandroid/view/View;->isInScrollingContainer()Z
 HSPLandroid/view/View;->isInTouchMode()Z
-HSPLandroid/view/View;->isKeyboardNavigationCluster()Z
 HSPLandroid/view/View;->isLaidOut()Z
 HSPLandroid/view/View;->isLayoutDirectionInherited()Z
 HSPLandroid/view/View;->isLayoutDirectionResolved()Z
@@ -33957,12 +29087,10 @@
 HSPLandroid/view/View;->isLongClickable()Z
 HSPLandroid/view/View;->isNestedScrollingEnabled()Z
 HSPLandroid/view/View;->isOpaque()Z
-HSPLandroid/view/View;->isPaddingRelative()Z
 HSPLandroid/view/View;->isPaddingResolved()Z
 HSPLandroid/view/View;->isPressed()Z
 HSPLandroid/view/View;->isRootNamespace()Z
 HSPLandroid/view/View;->isRtlCompatibilityMode()Z
-HSPLandroid/view/View;->isSaveFromParentEnabled()Z
 HSPLandroid/view/View;->isSelected()Z
 HSPLandroid/view/View;->isShown()Z
 HSPLandroid/view/View;->isSoundEffectsEnabled()Z
@@ -33970,18 +29098,16 @@
 HSPLandroid/view/View;->isTextAlignmentResolved()Z
 HSPLandroid/view/View;->isTextDirectionInherited()Z
 HSPLandroid/view/View;->isTextDirectionResolved()Z
-HSPLandroid/view/View;->isVerticalFadingEdgeEnabled()Z
 HSPLandroid/view/View;->isVerticalScrollBarEnabled()Z
 HSPLandroid/view/View;->isVerticalScrollBarHidden()Z
-HSPLandroid/view/View;->isVisibleToUser()Z
-HSPLandroid/view/View;->isVisibleToUser(Landroid/graphics/Rect;)Z
 HSPLandroid/view/View;->jumpDrawablesToCurrentState()V
 HSPLandroid/view/View;->layout(IIII)V
 HSPLandroid/view/View;->makeOptionalFitsSystemWindows()V
-HSPLandroid/view/View;->mapRectFromViewToScreenCoords(Landroid/graphics/RectF;Z)V
 HSPLandroid/view/View;->measure(II)V
 HSPLandroid/view/View;->mergeDrawableStates([I[I)[I
 HSPLandroid/view/View;->needGlobalAttributesUpdate(Z)V
+HSPLandroid/view/View;->notifyAppearedOrDisappearedForContentCaptureIfNeeded(Z)V
+HSPLandroid/view/View;->notifyAppearedOrDisappearedForContentCaptureIfNeededNoTrace(Z)V
 HSPLandroid/view/View;->notifyAutofillManagerOnClick()V
 HSPLandroid/view/View;->notifyEnterOrExitForAutoFillIfNeeded(Z)V
 HSPLandroid/view/View;->notifyGlobalFocusCleared(Landroid/view/View;)V
@@ -33995,14 +29121,12 @@
 HSPLandroid/view/View;->onAttachedToWindow()V
 HSPLandroid/view/View;->onCancelPendingInputEvents()V
 HSPLandroid/view/View;->onCheckIsTextEditor()Z
-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;
 HSPLandroid/view/View;->onDetachedFromWindow()V
 HSPLandroid/view/View;->onDetachedFromWindowInternal()V
 HSPLandroid/view/View;->onDraw(Landroid/graphics/Canvas;)V
 HSPLandroid/view/View;->onDrawForeground(Landroid/graphics/Canvas;)V
-HSPLandroid/view/View;->onDrawHorizontalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V
 HSPLandroid/view/View;->onDrawScrollBars(Landroid/graphics/Canvas;)V
 HSPLandroid/view/View;->onDrawScrollIndicators(Landroid/graphics/Canvas;)V
 HSPLandroid/view/View;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V
@@ -34011,17 +29135,14 @@
 HSPLandroid/view/View;->onFinishTemporaryDetach()V
 HSPLandroid/view/View;->onFocusChanged(ZILandroid/graphics/Rect;)V
 HSPLandroid/view/View;->onFocusLost()V
-HSPLandroid/view/View;->onKeyDown(ILandroid/view/KeyEvent;)Z
-HSPLandroid/view/View;->onKeyPreIme(ILandroid/view/KeyEvent;)Z
-HSPLandroid/view/View;->onKeyUp(ILandroid/view/KeyEvent;)Z
+HSPLandroid/view/View;->onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
+HSPLandroid/view/View;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
 HSPLandroid/view/View;->onLayout(ZIIII)V
 HSPLandroid/view/View;->onMeasure(II)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;)V
-HSPLandroid/view/View;->onProvideStructureForAssistOrAutofill(Landroid/view/ViewStructure;ZI)V
-HSPLandroid/view/View;->onProvideVirtualStructure(Landroid/view/ViewStructure;)V
-HSPLandroid/view/View;->onProvideVirtualStructureCompat(Landroid/view/ViewStructure;Z)V
+HSPLandroid/view/View;->onPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
+HSPLandroid/view/View;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
+HSPLandroid/view/View;->onProvideContentCaptureStructure(Landroid/view/ViewStructure;I)V
+HSPLandroid/view/View;->onProvideStructure(Landroid/view/ViewStructure;II)V
 HSPLandroid/view/View;->onResolveDrawables(I)V
 HSPLandroid/view/View;->onRestoreInstanceState(Landroid/os/Parcelable;)V
 HSPLandroid/view/View;->onRtlPropertiesChanged(I)V
@@ -34037,7 +29158,6 @@
 HSPLandroid/view/View;->onWindowFocusChanged(Z)V
 HSPLandroid/view/View;->onWindowSystemUiVisibilityChanged(I)V
 HSPLandroid/view/View;->onWindowVisibilityChanged(I)V
-HSPLandroid/view/View;->overScrollBy(IIIIIIIIZ)Z
 HSPLandroid/view/View;->performButtonActionOnTouchDown(Landroid/view/MotionEvent;)Z
 HSPLandroid/view/View;->performClick()Z
 HSPLandroid/view/View;->performCollectViewAttributes(Landroid/view/View$AttachInfo;I)V
@@ -34057,19 +29177,16 @@
 HSPLandroid/view/View;->refreshDrawableState()V
 HSPLandroid/view/View;->registerPendingFrameMetricsObservers()V
 HSPLandroid/view/View;->removeCallbacks(Ljava/lang/Runnable;)Z
-HSPLandroid/view/View;->removeFrameMetricsListener(Landroid/view/Window$OnFrameMetricsAvailableListener;)V
 HSPLandroid/view/View;->removeOnAttachStateChangeListener(Landroid/view/View$OnAttachStateChangeListener;)V
 HSPLandroid/view/View;->removeOnLayoutChangeListener(Landroid/view/View$OnLayoutChangeListener;)V
 HSPLandroid/view/View;->requestApplyInsets()V
 HSPLandroid/view/View;->requestFitSystemWindows()V
 HSPLandroid/view/View;->requestFocus()Z
-HSPLandroid/view/View;->requestFocus(I)Z
 HSPLandroid/view/View;->requestFocus(ILandroid/graphics/Rect;)Z
 HSPLandroid/view/View;->requestFocusNoSearch(ILandroid/graphics/Rect;)Z
 HSPLandroid/view/View;->requestLayout()V
 HSPLandroid/view/View;->requestRectangleOnScreen(Landroid/graphics/Rect;)Z
 HSPLandroid/view/View;->requestRectangleOnScreen(Landroid/graphics/Rect;Z)Z
-HSPLandroid/view/View;->resetPaddingToInitialValues()V
 HSPLandroid/view/View;->resetResolvedDrawables()V
 HSPLandroid/view/View;->resetResolvedDrawablesInternal()V
 HSPLandroid/view/View;->resetResolvedLayoutDirection()V
@@ -34088,71 +29205,57 @@
 HSPLandroid/view/View;->resolveSizeAndState(III)I
 HSPLandroid/view/View;->resolveTextAlignment()Z
 HSPLandroid/view/View;->resolveTextDirection()Z
-HSPLandroid/view/View;->restoreDefaultFocus()Z
 HSPLandroid/view/View;->restoreHierarchyState(Landroid/util/SparseArray;)V
-HSPLandroid/view/View;->rootViewRequestFocus()Z
+HSPLandroid/view/View;->retrieveExplicitStyle(Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
 HSPLandroid/view/View;->sanitizeFloatPropertyValue(FLjava/lang/String;FF)F
+HSPLandroid/view/View;->saveAttributeDataForStyleable(Landroid/content/Context;[ILandroid/util/AttributeSet;Landroid/content/res/TypedArray;II)V
 HSPLandroid/view/View;->saveHierarchyState(Landroid/util/SparseArray;)V
-HSPLandroid/view/View;->scheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;J)V
 HSPLandroid/view/View;->scrollBy(II)V
 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
-HSPLandroid/view/View;->setAccessibilityPaneTitle(Ljava/lang/CharSequence;)V
 HSPLandroid/view/View;->setAccessibilityTraversalAfter(I)V
 HSPLandroid/view/View;->setAccessibilityTraversalBefore(I)V
-HSPLandroid/view/View;->setActivated(Z)V
 HSPLandroid/view/View;->setAlpha(F)V
-HSPLandroid/view/View;->setAlphaNoInvalidation(F)Z
 HSPLandroid/view/View;->setAnimation(Landroid/view/animation/Animation;)V
-HSPLandroid/view/View;->setAssistBlocked(Z)V
 HSPLandroid/view/View;->setAutofilled(Z)V
 HSPLandroid/view/View;->setBackground(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/view/View;->setBackgroundBounds()V
 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;->setBackgroundTintMode(Landroid/graphics/PorterDuff$Mode;)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;->setContextClickable(Z)V
 HSPLandroid/view/View;->setDefaultFocusHighlightEnabled(Z)V
-HSPLandroid/view/View;->setDisplayListProperties(Landroid/view/RenderNode;)V
-HSPLandroid/view/View;->setDrawingCacheBackgroundColor(I)V
+HSPLandroid/view/View;->setDisplayListProperties(Landroid/graphics/RenderNode;)V
 HSPLandroid/view/View;->setDrawingCacheEnabled(Z)V
 HSPLandroid/view/View;->setDuplicateParentStateEnabled(Z)V
 HSPLandroid/view/View;->setElevation(F)V
 HSPLandroid/view/View;->setEnabled(Z)V
-HSPLandroid/view/View;->setFadingEdgeLength(I)V
 HSPLandroid/view/View;->setFitsSystemWindows(Z)V
 HSPLandroid/view/View;->setFlags(II)V
 HSPLandroid/view/View;->setFocusable(I)V
 HSPLandroid/view/View;->setFocusable(Z)V
 HSPLandroid/view/View;->setFocusableInTouchMode(Z)V
-HSPLandroid/view/View;->setFocusedInCluster(Landroid/view/View;)V
 HSPLandroid/view/View;->setForeground(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/view/View;->setForegroundGravity(I)V
 HSPLandroid/view/View;->setFrame(IIII)Z
-HSPLandroid/view/View;->setHapticFeedbackEnabled(Z)V
 HSPLandroid/view/View;->setHasTransientState(Z)V
 HSPLandroid/view/View;->setHorizontalFadingEdgeEnabled(Z)V
-HSPLandroid/view/View;->setHorizontalScrollBarEnabled(Z)V
 HSPLandroid/view/View;->setId(I)V
 HSPLandroid/view/View;->setImportantForAccessibility(I)V
 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;->setKeyedTag(ILjava/lang/Object;)V
-HSPLandroid/view/View;->setLabelFor(I)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
@@ -34161,7 +29264,6 @@
 HSPLandroid/view/View;->setMeasuredDimension(II)V
 HSPLandroid/view/View;->setMinimumHeight(I)V
 HSPLandroid/view/View;->setMinimumWidth(I)V
-HSPLandroid/view/View;->setNestedScrollingEnabled(Z)V
 HSPLandroid/view/View;->setNextFocusDownId(I)V
 HSPLandroid/view/View;->setNextFocusForwardId(I)V
 HSPLandroid/view/View;->setNextFocusLeftId(I)V
@@ -34169,15 +29271,12 @@
 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;->setOnContextClickListener(Landroid/view/View$OnContextClickListener;)V
 HSPLandroid/view/View;->setOnCreateContextMenuListener(Landroid/view/View$OnCreateContextMenuListener;)V
-HSPLandroid/view/View;->setOnDragListener(Landroid/view/View$OnDragListener;)V
 HSPLandroid/view/View;->setOnFocusChangeListener(Landroid/view/View$OnFocusChangeListener;)V
-HSPLandroid/view/View;->setOnGenericMotionListener(Landroid/view/View$OnGenericMotionListener;)V
 HSPLandroid/view/View;->setOnHoverListener(Landroid/view/View$OnHoverListener;)V
 HSPLandroid/view/View;->setOnKeyListener(Landroid/view/View$OnKeyListener;)V
 HSPLandroid/view/View;->setOnLongClickListener(Landroid/view/View$OnLongClickListener;)V
-HSPLandroid/view/View;->setOnSystemUiVisibilityChangeListener(Landroid/view/View$OnSystemUiVisibilityChangeListener;)V
+HSPLandroid/view/View;->setOnScrollChangeListener(Landroid/view/View$OnScrollChangeListener;)V
 HSPLandroid/view/View;->setOnTouchListener(Landroid/view/View$OnTouchListener;)V
 HSPLandroid/view/View;->setOutlineProvider(Landroid/view/ViewOutlineProvider;)V
 HSPLandroid/view/View;->setOutlineProviderFromAttribute(I)V
@@ -34186,7 +29285,6 @@
 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
@@ -34197,12 +29295,9 @@
 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;->setScrollbarFadingEnabled(Z)V
 HSPLandroid/view/View;->setSelected(Z)V
-HSPLandroid/view/View;->setSoundEffectsEnabled(Z)V
 HSPLandroid/view/View;->setStateListAnimator(Landroid/animation/StateListAnimator;)V
 HSPLandroid/view/View;->setSystemUiVisibility(I)V
 HSPLandroid/view/View;->setTag(ILjava/lang/Object;)V
@@ -34212,14 +29307,11 @@
 HSPLandroid/view/View;->setTextDirection(I)V
 HSPLandroid/view/View;->setTooltipText(Ljava/lang/CharSequence;)V
 HSPLandroid/view/View;->setTop(I)V
-HSPLandroid/view/View;->setTouchDelegate(Landroid/view/TouchDelegate;)V
 HSPLandroid/view/View;->setTransitionAlpha(F)V
-HSPLandroid/view/View;->setTransitionName(Ljava/lang/String;)V
+HSPLandroid/view/View;->setTransitionVisibility(I)V
 HSPLandroid/view/View;->setTranslationX(F)V
 HSPLandroid/view/View;->setTranslationY(F)V
 HSPLandroid/view/View;->setTranslationZ(F)V
-HSPLandroid/view/View;->setVerticalFadingEdgeEnabled(Z)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
@@ -34232,28 +29324,25 @@
 HSPLandroid/view/View;->switchDefaultFocusHighlight()V
 HSPLandroid/view/View;->toString()Ljava/lang/String;
 HSPLandroid/view/View;->transformFromViewToWindowSpace([I)V
-HSPLandroid/view/View;->transformMatrixToGlobal(Landroid/graphics/Matrix;)V
-HSPLandroid/view/View;->transformMatrixToLocal(Landroid/graphics/Matrix;)V
 HSPLandroid/view/View;->unFocus(Landroid/view/View;)V
 HSPLandroid/view/View;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/view/View;->unscheduleDrawable(Landroid/graphics/drawable/Drawable;Ljava/lang/Runnable;)V
-HSPLandroid/view/View;->updateDisplayListIfDirty()Landroid/view/RenderNode;
+HSPLandroid/view/View;->updateDisplayListIfDirty()Landroid/graphics/RenderNode;
 HSPLandroid/view/View;->updateFocusedInCluster(Landroid/view/View;I)V
 HSPLandroid/view/View;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
+HSPLandroid/view/ViewAnimationHostBridge;->isAttached()Z
+HSPLandroid/view/ViewAnimationHostBridge;->registerAnimatingRenderNode(Landroid/graphics/RenderNode;)V
 HSPLandroid/view/ViewConfiguration;-><init>(Landroid/content/Context;)V
 HSPLandroid/view/ViewConfiguration;->get(Landroid/content/Context;)Landroid/view/ViewConfiguration;
 HSPLandroid/view/ViewConfiguration;->getDoubleTapMinTime()I
 HSPLandroid/view/ViewConfiguration;->getDoubleTapTimeout()I
 HSPLandroid/view/ViewConfiguration;->getKeyRepeatTimeout()I
 HSPLandroid/view/ViewConfiguration;->getLongPressTimeout()I
-HSPLandroid/view/ViewConfiguration;->getMinimumFlingVelocity()I
 HSPLandroid/view/ViewConfiguration;->getScaledDoubleTapSlop()I
 HSPLandroid/view/ViewConfiguration;->getScaledDoubleTapTouchSlop()I
-HSPLandroid/view/ViewConfiguration;->getScaledEdgeSlop()I
 HSPLandroid/view/ViewConfiguration;->getScaledFadingEdgeLength()I
 HSPLandroid/view/ViewConfiguration;->getScaledHorizontalScrollFactor()F
 HSPLandroid/view/ViewConfiguration;->getScaledHoverSlop()I
-HSPLandroid/view/ViewConfiguration;->getScaledMaximumDrawingCacheSize()I
 HSPLandroid/view/ViewConfiguration;->getScaledMaximumFlingVelocity()I
 HSPLandroid/view/ViewConfiguration;->getScaledMinScrollbarTouchTarget()I
 HSPLandroid/view/ViewConfiguration;->getScaledMinimumFlingVelocity()I
@@ -34264,22 +29353,20 @@
 HSPLandroid/view/ViewConfiguration;->getScaledTouchSlop()I
 HSPLandroid/view/ViewConfiguration;->getScaledVerticalScrollFactor()F
 HSPLandroid/view/ViewConfiguration;->getScaledWindowTouchSlop()I
-HSPLandroid/view/ViewConfiguration;->getScrollBarFadeDuration()I
-HSPLandroid/view/ViewConfiguration;->getScrollDefaultDelay()I
-HSPLandroid/view/ViewConfiguration;->getScrollFriction()F
 HSPLandroid/view/ViewConfiguration;->getTapTimeout()I
-HSPLandroid/view/ViewConfiguration;->hasPermanentMenuKey()Z
 HSPLandroid/view/ViewConfiguration;->isFadingMarqueeEnabled()Z
-HSPLandroid/view/ViewDebug$HierarchyHandler;->dumpViewHierarchyWithProperties(Ljava/io/BufferedWriter;I)V
-HSPLandroid/view/ViewDebug$HierarchyHandler;->findHierarchyView(Ljava/lang/String;I)Landroid/view/View;
 HSPLandroid/view/ViewGroup$1;-><init>()V
 HSPLandroid/view/ViewGroup$2;->run()V
 HSPLandroid/view/ViewGroup$4;->endTransition(Landroid/animation/LayoutTransition;Landroid/view/ViewGroup;Landroid/view/View;I)V
 HSPLandroid/view/ViewGroup$4;->startTransition(Landroid/animation/LayoutTransition;Landroid/view/ViewGroup;Landroid/view/View;I)V
-HSPLandroid/view/ViewGroup$ChildListForAutoFill;->recycle()V
+HSPLandroid/view/ViewGroup$ChildListForAccessibility;->getChildAt(I)Landroid/view/View;
+HSPLandroid/view/ViewGroup$ChildListForAccessibility;->getChildCount()I
+HSPLandroid/view/ViewGroup$ChildListForAccessibility;->init(Landroid/view/ViewGroup;Z)V
+HSPLandroid/view/ViewGroup$ChildListForAccessibility;->recycle()V
+HSPLandroid/view/ViewGroup$ChildListForAccessibility;->sort(Ljava/util/ArrayList;)V
+HSPLandroid/view/ViewGroup$ChildListForAutoFillOrContentCapture;->recycle()V
 HSPLandroid/view/ViewGroup$LayoutParams;-><init>(II)V
 HSPLandroid/view/ViewGroup$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/view/ViewGroup$LayoutParams;-><init>(Landroid/view/ViewGroup$LayoutParams;)V
 HSPLandroid/view/ViewGroup$LayoutParams;->resolveLayoutDirection(I)V
 HSPLandroid/view/ViewGroup$LayoutParams;->setBaseAttributes(Landroid/content/res/TypedArray;II)V
 HSPLandroid/view/ViewGroup$MarginLayoutParams;-><init>(II)V
@@ -34296,17 +29383,17 @@
 HSPLandroid/view/ViewGroup$MarginLayoutParams;->setMarginEnd(I)V
 HSPLandroid/view/ViewGroup$MarginLayoutParams;->setMarginStart(I)V
 HSPLandroid/view/ViewGroup$MarginLayoutParams;->setMargins(IIII)V
-HSPLandroid/view/ViewGroup$OnHierarchyChangeListener;->onChildViewAdded(Landroid/view/View;Landroid/view/View;)V
-HSPLandroid/view/ViewGroup$OnHierarchyChangeListener;->onChildViewRemoved(Landroid/view/View;Landroid/view/View;)V
 HSPLandroid/view/ViewGroup$TouchTarget;->obtain(Landroid/view/View;I)Landroid/view/ViewGroup$TouchTarget;
 HSPLandroid/view/ViewGroup$TouchTarget;->recycle()V
-HSPLandroid/view/ViewGroup;-><init>(Landroid/content/Context;)V
+HSPLandroid/view/ViewGroup$ViewLocationHolder;->compareBoundsOfTree(Landroid/view/ViewGroup$ViewLocationHolder;Landroid/view/ViewGroup$ViewLocationHolder;)I
+HSPLandroid/view/ViewGroup$ViewLocationHolder;->compareTo(Landroid/view/ViewGroup$ViewLocationHolder;)I
+HSPLandroid/view/ViewGroup$ViewLocationHolder;->compareTo(Ljava/lang/Object;)I
+HSPLandroid/view/ViewGroup$ViewLocationHolder;->recycle()V
 HSPLandroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HSPLandroid/view/ViewGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HSPLandroid/view/ViewGroup;->addFocusables(Ljava/util/ArrayList;II)V
 HSPLandroid/view/ViewGroup;->addInArray(Landroid/view/View;I)V
-HSPLandroid/view/ViewGroup;->addTouchTarget(Landroid/view/View;I)Landroid/view/ViewGroup$TouchTarget;
 HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;)V
 HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;I)V
 HSPLandroid/view/ViewGroup;->addView(Landroid/view/View;II)V
@@ -34321,7 +29408,6 @@
 HSPLandroid/view/ViewGroup;->buildOrderedChildList()Ljava/util/ArrayList;
 HSPLandroid/view/ViewGroup;->buildTouchDispatchChildList()Ljava/util/ArrayList;
 HSPLandroid/view/ViewGroup;->canAnimate()Z
-HSPLandroid/view/ViewGroup;->canViewReceivePointerEvents(Landroid/view/View;)Z
 HSPLandroid/view/ViewGroup;->cancelAndClearTouchTargets(Landroid/view/MotionEvent;)V
 HSPLandroid/view/ViewGroup;->cancelHoverTarget(Landroid/view/View;)V
 HSPLandroid/view/ViewGroup;->cancelTouchTarget(Landroid/view/View;)V
@@ -34333,16 +29419,14 @@
 HSPLandroid/view/ViewGroup;->clearDisappearingChildren()V
 HSPLandroid/view/ViewGroup;->clearFocus()V
 HSPLandroid/view/ViewGroup;->clearFocusedInCluster()V
-HSPLandroid/view/ViewGroup;->clearFocusedInCluster(Landroid/view/View;)V
+HSPLandroid/view/ViewGroup;->clearTouchTargets()V
 HSPLandroid/view/ViewGroup;->destroyHardwareResources()V
 HSPLandroid/view/ViewGroup;->detachAllViewsFromParent()V
 HSPLandroid/view/ViewGroup;->detachViewFromParent(I)V
-HSPLandroid/view/ViewGroup;->detachViewsFromParent(II)V
 HSPLandroid/view/ViewGroup;->dispatchApplyWindowInsets(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;
 HSPLandroid/view/ViewGroup;->dispatchAttachedToWindow(Landroid/view/View$AttachInfo;I)V
 HSPLandroid/view/ViewGroup;->dispatchCancelPendingInputEvents()V
 HSPLandroid/view/ViewGroup;->dispatchCollectViewAttributes(Landroid/view/View$AttachInfo;I)V
-HSPLandroid/view/ViewGroup;->dispatchConfigurationChanged(Landroid/content/res/Configuration;)V
 HSPLandroid/view/ViewGroup;->dispatchDetachedFromWindow()V
 HSPLandroid/view/ViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V
 HSPLandroid/view/ViewGroup;->dispatchDrawableHotspotChanged(FF)V
@@ -34351,12 +29435,11 @@
 HSPLandroid/view/ViewGroup;->dispatchGetDisplayList()V
 HSPLandroid/view/ViewGroup;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
 HSPLandroid/view/ViewGroup;->dispatchKeyEventPreIme(Landroid/view/KeyEvent;)Z
-HSPLandroid/view/ViewGroup;->dispatchProvideAutofillStructure(Landroid/view/ViewStructure;I)V
-HSPLandroid/view/ViewGroup;->dispatchProvideStructure(Landroid/view/ViewStructure;)V
+HSPLandroid/view/ViewGroup;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
+HSPLandroid/view/ViewGroup;->dispatchProvideContentCaptureStructure()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;->dispatchSetActivated(Z)V
 HSPLandroid/view/ViewGroup;->dispatchSetPressed(Z)V
 HSPLandroid/view/ViewGroup;->dispatchSetSelected(Z)V
 HSPLandroid/view/ViewGroup;->dispatchStartTemporaryDetach()V
@@ -34373,39 +29456,28 @@
 HSPLandroid/view/ViewGroup;->dispatchWindowVisibilityChanged(I)V
 HSPLandroid/view/ViewGroup;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
 HSPLandroid/view/ViewGroup;->drawableStateChanged()V
-HSPLandroid/view/ViewGroup;->endViewTransition(Landroid/view/View;)V
 HSPLandroid/view/ViewGroup;->exitHoverTargets()V
 HSPLandroid/view/ViewGroup;->exitTooltipHoverTargets()V
 HSPLandroid/view/ViewGroup;->findFocus()Landroid/view/View;
-HSPLandroid/view/ViewGroup;->findViewByAutofillIdTraversal(I)Landroid/view/View;
-HSPLandroid/view/ViewGroup;->findViewByPredicateTraversal(Ljava/util/function/Predicate;Landroid/view/View;)Landroid/view/View;
 HSPLandroid/view/ViewGroup;->findViewTraversal(I)Landroid/view/View;
-HSPLandroid/view/ViewGroup;->findViewWithTagTraversal(Ljava/lang/Object;)Landroid/view/View;
 HSPLandroid/view/ViewGroup;->finishAnimatingView(Landroid/view/View;Landroid/view/animation/Animation;)V
 HSPLandroid/view/ViewGroup;->focusSearch(Landroid/view/View;I)Landroid/view/View;
 HSPLandroid/view/ViewGroup;->focusableViewAvailable(Landroid/view/View;)V
 HSPLandroid/view/ViewGroup;->gatherTransparentRegion(Landroid/graphics/Region;)Z
 HSPLandroid/view/ViewGroup;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/view/ViewGroup;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
 HSPLandroid/view/ViewGroup;->getAccessibilityClassName()Ljava/lang/CharSequence;
 HSPLandroid/view/ViewGroup;->getAndVerifyPreorderedIndex(IIZ)I
 HSPLandroid/view/ViewGroup;->getAndVerifyPreorderedView(Ljava/util/ArrayList;[Landroid/view/View;I)Landroid/view/View;
 HSPLandroid/view/ViewGroup;->getChildAt(I)Landroid/view/View;
 HSPLandroid/view/ViewGroup;->getChildCount()I
-HSPLandroid/view/ViewGroup;->getChildDrawingOrder(II)I
 HSPLandroid/view/ViewGroup;->getChildMeasureSpec(III)I
 HSPLandroid/view/ViewGroup;->getChildTransformation()Landroid/view/animation/Transformation;
-HSPLandroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;)Z
-HSPLandroid/view/ViewGroup;->getChildVisibleRect(Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Point;Z)Z
 HSPLandroid/view/ViewGroup;->getClipChildren()Z
 HSPLandroid/view/ViewGroup;->getClipToPadding()Z
 HSPLandroid/view/ViewGroup;->getDescendantFocusability()I
 HSPLandroid/view/ViewGroup;->getFocusedChild()Landroid/view/View;
+HSPLandroid/view/ViewGroup;->getLayoutMode()I
 HSPLandroid/view/ViewGroup;->getLayoutTransition()Landroid/animation/LayoutTransition;
-HSPLandroid/view/ViewGroup;->getNestedScrollAxes()I
-HSPLandroid/view/ViewGroup;->getOverlay()Landroid/view/ViewGroupOverlay;
-HSPLandroid/view/ViewGroup;->getScrollIndicatorBounds(Landroid/graphics/Rect;)V
-HSPLandroid/view/ViewGroup;->getTouchTarget(Landroid/view/View;)Landroid/view/ViewGroup$TouchTarget;
 HSPLandroid/view/ViewGroup;->getTouchscreenBlocksFocus()Z
 HSPLandroid/view/ViewGroup;->handleFocusGainInternal(ILandroid/graphics/Rect;)V
 HSPLandroid/view/ViewGroup;->hasDefaultFocus()Z
@@ -34419,24 +29491,18 @@
 HSPLandroid/view/ViewGroup;->initViewGroup()V
 HSPLandroid/view/ViewGroup;->internalSetPadding(IIII)V
 HSPLandroid/view/ViewGroup;->invalidateChild(Landroid/view/View;Landroid/graphics/Rect;)V
-HSPLandroid/view/ViewGroup;->invalidateChildInParent([ILandroid/graphics/Rect;)Landroid/view/ViewParent;
 HSPLandroid/view/ViewGroup;->isChildrenDrawingOrderEnabled()Z
 HSPLandroid/view/ViewGroup;->isLayoutModeOptical()Z
 HSPLandroid/view/ViewGroup;->isLayoutSuppressed()Z
 HSPLandroid/view/ViewGroup;->isTransformedTouchPointInView(FFLandroid/view/View;Landroid/graphics/PointF;)Z
-HSPLandroid/view/ViewGroup;->isTransitionGroup()Z
 HSPLandroid/view/ViewGroup;->isViewTransitioning(Landroid/view/View;)Z
 HSPLandroid/view/ViewGroup;->jumpDrawablesToCurrentState()V
 HSPLandroid/view/ViewGroup;->layout(IIII)V
 HSPLandroid/view/ViewGroup;->makeOptionalFitsSystemWindows()V
-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;->offsetChildrenTopAndBottom(I)V
-HSPLandroid/view/ViewGroup;->offsetDescendantRectToMyCoords(Landroid/view/View;Landroid/graphics/Rect;)V
 HSPLandroid/view/ViewGroup;->offsetRectBetweenParentAndChild(Landroid/view/View;Landroid/graphics/Rect;ZZ)V
-HSPLandroid/view/ViewGroup;->offsetRectIntoDescendantCoords(Landroid/view/View;Landroid/graphics/Rect;)V
 HSPLandroid/view/ViewGroup;->onAttachedToWindow()V
 HSPLandroid/view/ViewGroup;->onChildVisibilityChanged(Landroid/view/View;II)V
 HSPLandroid/view/ViewGroup;->onCreateDrawableState(I)[I
@@ -34444,38 +29510,34 @@
 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;->populateChildrenForContentCapture(Ljava/util/ArrayList;)V
 HSPLandroid/view/ViewGroup;->removeAllViews()V
 HSPLandroid/view/ViewGroup;->removeAllViewsInLayout()V
 HSPLandroid/view/ViewGroup;->removeDetachedView(Landroid/view/View;Z)V
 HSPLandroid/view/ViewGroup;->removeFromArray(I)V
-HSPLandroid/view/ViewGroup;->removeFromArray(II)V
 HSPLandroid/view/ViewGroup;->removePointersFromTouchTargets(I)V
 HSPLandroid/view/ViewGroup;->removeView(Landroid/view/View;)V
 HSPLandroid/view/ViewGroup;->removeViewAt(I)V
 HSPLandroid/view/ViewGroup;->removeViewInLayout(Landroid/view/View;)V
 HSPLandroid/view/ViewGroup;->removeViewInternal(ILandroid/view/View;)V
-HSPLandroid/view/ViewGroup;->removeViews(II)V
-HSPLandroid/view/ViewGroup;->removeViewsInternal(II)V
 HSPLandroid/view/ViewGroup;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
 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;->resetCancelNextUpFlag(Landroid/view/View;)Z
 HSPLandroid/view/ViewGroup;->resetResolvedDrawables()V
 HSPLandroid/view/ViewGroup;->resetResolvedLayoutDirection()V
 HSPLandroid/view/ViewGroup;->resetResolvedPadding()V
 HSPLandroid/view/ViewGroup;->resetResolvedTextAlignment()V
 HSPLandroid/view/ViewGroup;->resetResolvedTextDirection()V
 HSPLandroid/view/ViewGroup;->resetSubtreeAccessibilityStateChanged()V
-HSPLandroid/view/ViewGroup;->resetTouchState()V
 HSPLandroid/view/ViewGroup;->resolveDrawables()V
 HSPLandroid/view/ViewGroup;->resolveLayoutDirection()Z
 HSPLandroid/view/ViewGroup;->resolveLayoutParams()V
@@ -34484,7 +29546,7 @@
 HSPLandroid/view/ViewGroup;->resolveTextAlignment()Z
 HSPLandroid/view/ViewGroup;->resolveTextDirection()Z
 HSPLandroid/view/ViewGroup;->restoreDefaultFocus()Z
-HSPLandroid/view/ViewGroup;->setAddStatesFromChildren(Z)V
+HSPLandroid/view/ViewGroup;->scheduleLayoutAnimation()V
 HSPLandroid/view/ViewGroup;->setAlwaysDrawnWithCacheEnabled(Z)V
 HSPLandroid/view/ViewGroup;->setChildrenDrawingCacheEnabled(Z)V
 HSPLandroid/view/ViewGroup;->setChildrenDrawingOrderEnabled(Z)V
@@ -34493,35 +29555,20 @@
 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
-HSPLandroid/view/ViewGroup;->setPersistentDrawingCache(I)V
 HSPLandroid/view/ViewGroup;->setTouchscreenBlocksFocus(Z)V
-HSPLandroid/view/ViewGroup;->setTransitionGroup(Z)V
 HSPLandroid/view/ViewGroup;->shouldBlockFocusForTouchscreen()Z
 HSPLandroid/view/ViewGroup;->shouldDelayChildPressedState()Z
-HSPLandroid/view/ViewGroup;->startViewTransition(Landroid/view/View;)V
+HSPLandroid/view/ViewGroup;->suppressLayout(Z)V
 HSPLandroid/view/ViewGroup;->transformPointToViewLocal([FLandroid/view/View;)V
 HSPLandroid/view/ViewGroup;->unFocus(Landroid/view/View;)V
-HSPLandroid/view/ViewGroupOverlay;->add(Landroid/view/View;)V
-HSPLandroid/view/ViewGroupOverlay;->remove(Landroid/view/View;)V
+HSPLandroid/view/ViewGroup;->updateViewLayout(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
 HSPLandroid/view/ViewOutlineProvider$1;-><init>()V
 HSPLandroid/view/ViewOutlineProvider$1;->getOutline(Landroid/view/View;Landroid/graphics/Outline;)V
 HSPLandroid/view/ViewOutlineProvider$2;-><init>()V
 HSPLandroid/view/ViewOutlineProvider$2;->getOutline(Landroid/view/View;Landroid/graphics/Outline;)V
 HSPLandroid/view/ViewOutlineProvider$3;-><init>()V
 HSPLandroid/view/ViewOutlineProvider;-><init>()V
-HSPLandroid/view/ViewOverlay$OverlayViewGroup;-><init>(Landroid/content/Context;Landroid/view/View;)V
-HSPLandroid/view/ViewOverlay$OverlayViewGroup;->add(Landroid/view/View;)V
-HSPLandroid/view/ViewOverlay$OverlayViewGroup;->dispatchDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/view/ViewOverlay$OverlayViewGroup;->invalidate(IIII)V
-HSPLandroid/view/ViewOverlay$OverlayViewGroup;->invalidate(Z)V
-HSPLandroid/view/ViewOverlay$OverlayViewGroup;->invalidateParentIfNeeded()V
-HSPLandroid/view/ViewOverlay$OverlayViewGroup;->isEmpty()Z
-HSPLandroid/view/ViewOverlay$OverlayViewGroup;->onDescendantInvalidated(Landroid/view/View;Landroid/view/View;)V
-HSPLandroid/view/ViewOverlay$OverlayViewGroup;->remove(Landroid/view/View;)V
-HSPLandroid/view/ViewOverlay;->getOverlayView()Landroid/view/ViewGroup;
-HSPLandroid/view/ViewOverlay;->isEmpty()Z
 HSPLandroid/view/ViewPropertyAnimator$1;->run()V
 HSPLandroid/view/ViewPropertyAnimator$2;->run()V
 HSPLandroid/view/ViewPropertyAnimator$3;->run()V
@@ -34535,8 +29582,6 @@
 HSPLandroid/view/ViewPropertyAnimator;->animatePropertyBy(IFF)V
 HSPLandroid/view/ViewPropertyAnimator;->cancel()V
 HSPLandroid/view/ViewPropertyAnimator;->getValue(I)F
-HSPLandroid/view/ViewPropertyAnimator;->scaleX(F)Landroid/view/ViewPropertyAnimator;
-HSPLandroid/view/ViewPropertyAnimator;->scaleY(F)Landroid/view/ViewPropertyAnimator;
 HSPLandroid/view/ViewPropertyAnimator;->setDuration(J)Landroid/view/ViewPropertyAnimator;
 HSPLandroid/view/ViewPropertyAnimator;->setInterpolator(Landroid/animation/TimeInterpolator;)Landroid/view/ViewPropertyAnimator;
 HSPLandroid/view/ViewPropertyAnimator;->setListener(Landroid/animation/Animator$AnimatorListener;)Landroid/view/ViewPropertyAnimator;
@@ -34548,23 +29593,22 @@
 HSPLandroid/view/ViewPropertyAnimator;->translationY(F)Landroid/view/ViewPropertyAnimator;
 HSPLandroid/view/ViewPropertyAnimator;->withEndAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator;
 HSPLandroid/view/ViewPropertyAnimator;->withLayer()Landroid/view/ViewPropertyAnimator;
-HSPLandroid/view/ViewPropertyAnimator;->y(F)Landroid/view/ViewPropertyAnimator;
-HSPLandroid/view/ViewPropertyAnimator;->z(F)Landroid/view/ViewPropertyAnimator;
+HSPLandroid/view/ViewPropertyAnimator;->withStartAction(Ljava/lang/Runnable;)Landroid/view/ViewPropertyAnimator;
 HSPLandroid/view/ViewRootImpl$1;->onDisplayChanged(I)V
 HSPLandroid/view/ViewRootImpl$4;->run()V
-HSPLandroid/view/ViewRootImpl$ActivityConfigCallback;->onConfigurationChanged(Landroid/content/res/Configuration;I)V
-HSPLandroid/view/ViewRootImpl$AsyncInputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;Ljava/lang/String;)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
 HSPLandroid/view/ViewRootImpl$AsyncInputStage;->forward(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
-HSPLandroid/view/ViewRootImpl$ConfigChangedCallback;->onConfigurationChanged(Landroid/content/res/Configuration;)V
 HSPLandroid/view/ViewRootImpl$ConsumeBatchedInputRunnable;->run()V
 HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
 HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processKeyEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
+HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processMotionEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
 HSPLandroid/view/ViewRootImpl$EarlyPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
 HSPLandroid/view/ViewRootImpl$ImeInputStage;->onFinishedInputEvent(Ljava/lang/Object;Z)V
 HSPLandroid/view/ViewRootImpl$ImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
+HSPLandroid/view/ViewRootImpl$InputStage;-><init>(Landroid/view/ViewRootImpl;Landroid/view/ViewRootImpl$InputStage;)V
 HSPLandroid/view/ViewRootImpl$InputStage;->apply(Landroid/view/ViewRootImpl$QueuedInputEvent;I)V
 HSPLandroid/view/ViewRootImpl$InputStage;->finish(Landroid/view/ViewRootImpl$QueuedInputEvent;Z)V
 HSPLandroid/view/ViewRootImpl$InputStage;->forward(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
@@ -34578,6 +29622,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
@@ -34587,12 +29634,11 @@
 HSPLandroid/view/ViewRootImpl$SyntheticJoystickHandler;->cancel()V
 HSPLandroid/view/ViewRootImpl$TraversalRunnable;->run()V
 HSPLandroid/view/ViewRootImpl$UnhandledKeyManager;->dispatch(Landroid/view/View;Landroid/view/KeyEvent;)Z
-HSPLandroid/view/ViewRootImpl$UnhandledKeyManager;->dispatchUnique(Landroid/view/View;Landroid/view/KeyEvent;)Z
-HSPLandroid/view/ViewRootImpl$UnhandledKeyManager;->hasFocus()Z
+HSPLandroid/view/ViewRootImpl$UnhandledKeyManager;->preDispatch(Landroid/view/KeyEvent;)V
+HSPLandroid/view/ViewRootImpl$UnhandledKeyManager;->preViewDispatch(Landroid/view/KeyEvent;)Z
 HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->maybeUpdatePointerIcon(Landroid/view/MotionEvent;)V
 HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->onDeliverToNext(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
 HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
-HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->performFocusNavigation(Landroid/view/KeyEvent;)Z
 HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processKeyEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
 HSPLandroid/view/ViewRootImpl$ViewPostImeInputStage;->processPointerEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
 HSPLandroid/view/ViewRootImpl$ViewPreImeInputStage;->onProcess(Landroid/view/ViewRootImpl$QueuedInputEvent;)I
@@ -34601,14 +29647,13 @@
 HSPLandroid/view/ViewRootImpl$W;->closeSystemDialogs(Ljava/lang/String;)V
 HSPLandroid/view/ViewRootImpl$W;->dispatchAppVisibility(Z)V
 HSPLandroid/view/ViewRootImpl$W;->dispatchWindowShown()V
-HSPLandroid/view/ViewRootImpl$W;->moved(II)V
+HSPLandroid/view/ViewRootImpl$W;->insetsChanged(Landroid/view/InsetsState;)V
 HSPLandroid/view/ViewRootImpl$W;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
 HSPLandroid/view/ViewRootImpl$W;->windowFocusChanged(ZZ)V
 HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onBatchedInputEventPending()V
-HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;I)V
-HSPLandroid/view/ViewRootImpl$WindowStoppedCallback;->windowStopped(Z)V
+HSPLandroid/view/ViewRootImpl$WindowInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;)V
 HSPLandroid/view/ViewRootImpl;-><init>(Landroid/content/Context;Landroid/view/Display;)V
-HSPLandroid/view/ViewRootImpl;->access$800(Landroid/view/ViewRootImpl;Landroid/graphics/Rect;)V
+HSPLandroid/view/ViewRootImpl;->access$900(Landroid/view/ViewRootImpl;)Landroid/view/InsetsController;
 HSPLandroid/view/ViewRootImpl;->addConfigCallback(Landroid/view/ViewRootImpl$ConfigChangedCallback;)V
 HSPLandroid/view/ViewRootImpl;->addFirstDrawHandler(Ljava/lang/Runnable;)V
 HSPLandroid/view/ViewRootImpl;->addWindowCallbacks(Landroid/view/WindowCallbacks;)V
@@ -34621,21 +29666,19 @@
 HSPLandroid/view/ViewRootImpl;->deliverInputEvent(Landroid/view/ViewRootImpl$QueuedInputEvent;)V
 HSPLandroid/view/ViewRootImpl;->destroyHardwareResources()V
 HSPLandroid/view/ViewRootImpl;->die(Z)Z
-HSPLandroid/view/ViewRootImpl;->dipToPx(I)I
 HSPLandroid/view/ViewRootImpl;->dispatchApplyInsets(Landroid/view/View;)V
 HSPLandroid/view/ViewRootImpl;->dispatchCheckFocus()V
 HSPLandroid/view/ViewRootImpl;->dispatchDetachedFromWindow()V
-HSPLandroid/view/ViewRootImpl;->dispatchMoved(II)V
 HSPLandroid/view/ViewRootImpl;->dispatchResized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
 HSPLandroid/view/ViewRootImpl;->doDie()V
 HSPLandroid/view/ViewRootImpl;->doProcessInputEvents()V
 HSPLandroid/view/ViewRootImpl;->doTraversal()V
-HSPLandroid/view/ViewRootImpl;->draw(Z)V
+HSPLandroid/view/ViewRootImpl;->draw(Z)Z
 HSPLandroid/view/ViewRootImpl;->drawAccessibilityFocusedDrawableIfNeeded(Landroid/graphics/Canvas;)V
-HSPLandroid/view/ViewRootImpl;->drawSoftware(Landroid/view/Surface;Landroid/view/View$AttachInfo;IIZLandroid/graphics/Rect;Landroid/graphics/Rect;)Z
 HSPLandroid/view/ViewRootImpl;->enableHardwareAcceleration(Landroid/view/WindowManager$LayoutParams;)V
 HSPLandroid/view/ViewRootImpl;->endDragResizing()V
 HSPLandroid/view/ViewRootImpl;->enqueueInputEvent(Landroid/view/InputEvent;Landroid/view/InputEventReceiver;IZ)V
+HSPLandroid/view/ViewRootImpl;->ensureInsetsNonNegative(Landroid/graphics/Rect;Ljava/lang/String;)Landroid/graphics/Rect;
 HSPLandroid/view/ViewRootImpl;->ensureTouchMode(Z)Z
 HSPLandroid/view/ViewRootImpl;->ensureTouchModeLocally(Z)Z
 HSPLandroid/view/ViewRootImpl;->enterTouchMode()Z
@@ -34646,37 +29689,39 @@
 HSPLandroid/view/ViewRootImpl;->getAccessibilityFocusedRect(Landroid/graphics/Rect;)Z
 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;->getDisplayId()I
+HSPLandroid/view/ViewRootImpl;->getCommonPredecessor(Landroid/view/View;Landroid/view/View;)Landroid/view/View;
 HSPLandroid/view/ViewRootImpl;->getHostVisibility()I
 HSPLandroid/view/ViewRootImpl;->getParent()Landroid/view/ViewParent;
 HSPLandroid/view/ViewRootImpl;->getRootMeasureSpec(II)I
 HSPLandroid/view/ViewRootImpl;->getRunQueue()Landroid/view/HandlerActionQueue;
 HSPLandroid/view/ViewRootImpl;->getTextDirection()I
-HSPLandroid/view/ViewRootImpl;->getTitle()Ljava/lang/CharSequence;
 HSPLandroid/view/ViewRootImpl;->getValidLayoutRequesters(Ljava/util/ArrayList;Z)Ljava/util/ArrayList;
-HSPLandroid/view/ViewRootImpl;->getWindowFlags()I
 HSPLandroid/view/ViewRootImpl;->getWindowInsets(Z)Landroid/view/WindowInsets;
+HSPLandroid/view/ViewRootImpl;->handleContentCaptureFlush()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
 HSPLandroid/view/ViewRootImpl;->invalidateChildInParent([ILandroid/graphics/Rect;)Landroid/view/ViewParent;
 HSPLandroid/view/ViewRootImpl;->invalidateRectOnScreen(Landroid/graphics/Rect;)V
+HSPLandroid/view/ViewRootImpl;->isContentCaptureEnabled()Z
 HSPLandroid/view/ViewRootImpl;->isInLocalFocusMode()Z
 HSPLandroid/view/ViewRootImpl;->isInTouchMode()Z
 HSPLandroid/view/ViewRootImpl;->isLayoutRequested()Z
 HSPLandroid/view/ViewRootImpl;->isNavigationKey(Landroid/view/KeyEvent;)Z
-HSPLandroid/view/ViewRootImpl;->isTerminalInputEvent(Landroid/view/InputEvent;)Z
 HSPLandroid/view/ViewRootImpl;->isTextDirectionResolved()Z
-HSPLandroid/view/ViewRootImpl;->isViewDescendantOf(Landroid/view/View;Landroid/view/View;)Z
 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/view/DisplayListCanvas;)V
-HSPLandroid/view/ViewRootImpl;->onPreDraw(Landroid/view/DisplayListCanvas;)V
+HSPLandroid/view/ViewRootImpl;->onPostDraw(Landroid/graphics/RecordingCanvas;)V
+HSPLandroid/view/ViewRootImpl;->onPreDraw(Landroid/graphics/RecordingCanvas;)V
 HSPLandroid/view/ViewRootImpl;->onStartNestedScroll(Landroid/view/View;Landroid/view/View;I)Z
 HSPLandroid/view/ViewRootImpl;->performConfigurationChange(Landroid/util/MergedConfiguration;ZI)V
+HSPLandroid/view/ViewRootImpl;->performContentCapture()V
+HSPLandroid/view/ViewRootImpl;->performContentCaptureInitialReport()V
 HSPLandroid/view/ViewRootImpl;->performDraw()V
 HSPLandroid/view/ViewRootImpl;->performHapticFeedback(IZ)Z
 HSPLandroid/view/ViewRootImpl;->performLayout(Landroid/view/WindowManager$LayoutParams;II)V
@@ -34685,17 +29730,14 @@
 HSPLandroid/view/ViewRootImpl;->playSoundEffect(I)V
 HSPLandroid/view/ViewRootImpl;->pokeDrawLockIfNeeded()V
 HSPLandroid/view/ViewRootImpl;->profileRendering(Z)V
-HSPLandroid/view/ViewRootImpl;->recomputeViewAttributes(Landroid/view/View;)V
-HSPLandroid/view/ViewRootImpl;->registerAnimatingRenderNode(Landroid/view/RenderNode;)V
+HSPLandroid/view/ViewRootImpl;->registerAnimatingRenderNode(Landroid/graphics/RenderNode;)V
 HSPLandroid/view/ViewRootImpl;->relayoutWindow(Landroid/view/WindowManager$LayoutParams;IZ)I
-HSPLandroid/view/ViewRootImpl;->removeWindowCallbacks(Landroid/view/WindowCallbacks;)V
 HSPLandroid/view/ViewRootImpl;->reportDrawFinished()V
 HSPLandroid/view/ViewRootImpl;->reportNextDraw()V
 HSPLandroid/view/ViewRootImpl;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
 HSPLandroid/view/ViewRootImpl;->requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
-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
@@ -34705,70 +29747,15 @@
 HSPLandroid/view/ViewRootImpl;->setView(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;Landroid/view/View;)V
 HSPLandroid/view/ViewRootImpl;->setWindowStopped(Z)V
 HSPLandroid/view/ViewRootImpl;->shouldUseDisplaySize(Landroid/view/WindowManager$LayoutParams;)Z
+HSPLandroid/view/ViewRootImpl;->updateBoundsSurface()V
 HSPLandroid/view/ViewRootImpl;->updateConfiguration(I)V
 HSPLandroid/view/ViewRootImpl;->updateContentDrawBounds()Z
+HSPLandroid/view/ViewRootImpl;->updateForceDarkMode()V
 HSPLandroid/view/ViewRootImpl;->windowFocusChanged(ZZ)V
-HSPLandroid/view/ViewStructure;->addChildCount(I)I
-HSPLandroid/view/ViewStructure;->asyncCommit()V
-HSPLandroid/view/ViewStructure;->asyncNewChild(I)Landroid/view/ViewStructure;
-HSPLandroid/view/ViewStructure;->getAutofillId()Landroid/view/autofill/AutofillId;
-HSPLandroid/view/ViewStructure;->getChildCount()I
-HSPLandroid/view/ViewStructure;->getExtras()Landroid/os/Bundle;
-HSPLandroid/view/ViewStructure;->getHint()Ljava/lang/CharSequence;
-HSPLandroid/view/ViewStructure;->getTempRect()Landroid/graphics/Rect;
-HSPLandroid/view/ViewStructure;->getText()Ljava/lang/CharSequence;
-HSPLandroid/view/ViewStructure;->getTextSelectionEnd()I
-HSPLandroid/view/ViewStructure;->getTextSelectionStart()I
-HSPLandroid/view/ViewStructure;->hasExtras()Z
-HSPLandroid/view/ViewStructure;->newChild(I)Landroid/view/ViewStructure;
-HSPLandroid/view/ViewStructure;->newHtmlInfoBuilder(Ljava/lang/String;)Landroid/view/ViewStructure$HtmlInfo$Builder;
-HSPLandroid/view/ViewStructure;->setAccessibilityFocused(Z)V
-HSPLandroid/view/ViewStructure;->setActivated(Z)V
-HSPLandroid/view/ViewStructure;->setAlpha(F)V
-HSPLandroid/view/ViewStructure;->setAssistBlocked(Z)V
-HSPLandroid/view/ViewStructure;->setAutofillHints([Ljava/lang/String;)V
-HSPLandroid/view/ViewStructure;->setAutofillId(Landroid/view/autofill/AutofillId;)V
-HSPLandroid/view/ViewStructure;->setAutofillId(Landroid/view/autofill/AutofillId;I)V
-HSPLandroid/view/ViewStructure;->setAutofillOptions([Ljava/lang/CharSequence;)V
-HSPLandroid/view/ViewStructure;->setAutofillType(I)V
-HSPLandroid/view/ViewStructure;->setAutofillValue(Landroid/view/autofill/AutofillValue;)V
-HSPLandroid/view/ViewStructure;->setCheckable(Z)V
-HSPLandroid/view/ViewStructure;->setChecked(Z)V
-HSPLandroid/view/ViewStructure;->setChildCount(I)V
-HSPLandroid/view/ViewStructure;->setClassName(Ljava/lang/String;)V
-HSPLandroid/view/ViewStructure;->setClickable(Z)V
-HSPLandroid/view/ViewStructure;->setContentDescription(Ljava/lang/CharSequence;)V
-HSPLandroid/view/ViewStructure;->setContextClickable(Z)V
-HSPLandroid/view/ViewStructure;->setDataIsSensitive(Z)V
-HSPLandroid/view/ViewStructure;->setDimens(IIIIII)V
-HSPLandroid/view/ViewStructure;->setElevation(F)V
-HSPLandroid/view/ViewStructure;->setEnabled(Z)V
-HSPLandroid/view/ViewStructure;->setFocusable(Z)V
-HSPLandroid/view/ViewStructure;->setFocused(Z)V
-HSPLandroid/view/ViewStructure;->setHint(Ljava/lang/CharSequence;)V
-HSPLandroid/view/ViewStructure;->setHtmlInfo(Landroid/view/ViewStructure$HtmlInfo;)V
-HSPLandroid/view/ViewStructure;->setId(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/view/ViewStructure;->setInputType(I)V
-HSPLandroid/view/ViewStructure;->setLocaleList(Landroid/os/LocaleList;)V
-HSPLandroid/view/ViewStructure;->setLongClickable(Z)V
-HSPLandroid/view/ViewStructure;->setOpaque(Z)V
-HSPLandroid/view/ViewStructure;->setSelected(Z)V
-HSPLandroid/view/ViewStructure;->setText(Ljava/lang/CharSequence;)V
-HSPLandroid/view/ViewStructure;->setText(Ljava/lang/CharSequence;II)V
-HSPLandroid/view/ViewStructure;->setTextLines([I[I)V
-HSPLandroid/view/ViewStructure;->setTextStyle(FIII)V
-HSPLandroid/view/ViewStructure;->setTransformation(Landroid/graphics/Matrix;)V
-HSPLandroid/view/ViewStructure;->setVisibility(I)V
-HSPLandroid/view/ViewStructure;->setWebDomain(Ljava/lang/String;)V
-HSPLandroid/view/ViewStub$OnInflateListener;->onInflate(Landroid/view/ViewStub;Landroid/view/View;)V
-HSPLandroid/view/ViewStub;-><init>(Landroid/content/Context;)V
+HSPLandroid/view/ViewStructure;->setImportantForAutofill(I)V
 HSPLandroid/view/ViewStub;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/view/ViewStub;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/view/ViewStub;->getInflatedId()I
 HSPLandroid/view/ViewStub;->inflate()Landroid/view/View;
-HSPLandroid/view/ViewStub;->setInflatedId(I)V
-HSPLandroid/view/ViewStub;->setLayoutResource(I)V
-HSPLandroid/view/ViewStub;->setOnInflateListener(Landroid/view/ViewStub$OnInflateListener;)V
 HSPLandroid/view/ViewStub;->setVisibility(I)V
 HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->get(I)Ljava/lang/Object;
 HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray$Access;->size()I
@@ -34778,16 +29765,16 @@
 HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->remove(Ljava/lang/Object;)V
 HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->size()I
 HSPLandroid/view/ViewTreeObserver$CopyOnWriteArray;->start()Landroid/view/ViewTreeObserver$CopyOnWriteArray$Access;
-HSPLandroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;->onComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
-HSPLandroid/view/ViewTreeObserver$OnDrawListener;->onDraw()V
-HSPLandroid/view/ViewTreeObserver$OnGlobalFocusChangeListener;->onGlobalFocusChanged(Landroid/view/View;Landroid/view/View;)V
-HSPLandroid/view/ViewTreeObserver$OnGlobalLayoutListener;->onGlobalLayout()V
-HSPLandroid/view/ViewTreeObserver$OnScrollChangedListener;->onScrollChanged()V
+HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->equals(Ljava/lang/Object;)Z
+HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->isEmpty()Z
+HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->reset()V
+HSPLandroid/view/ViewTreeObserver$InternalInsetsInfo;->set(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
 HSPLandroid/view/ViewTreeObserver;->addOnComputeInternalInsetsListener(Landroid/view/ViewTreeObserver$OnComputeInternalInsetsListener;)V
 HSPLandroid/view/ViewTreeObserver;->addOnDrawListener(Landroid/view/ViewTreeObserver$OnDrawListener;)V
 HSPLandroid/view/ViewTreeObserver;->addOnGlobalLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
 HSPLandroid/view/ViewTreeObserver;->addOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V
 HSPLandroid/view/ViewTreeObserver;->addOnScrollChangedListener(Landroid/view/ViewTreeObserver$OnScrollChangedListener;)V
+HSPLandroid/view/ViewTreeObserver;->dispatchOnComputeInternalInsets(Landroid/view/ViewTreeObserver$InternalInsetsInfo;)V
 HSPLandroid/view/ViewTreeObserver;->dispatchOnEnterAnimationComplete()V
 HSPLandroid/view/ViewTreeObserver;->dispatchOnGlobalLayout()V
 HSPLandroid/view/ViewTreeObserver;->dispatchOnPreDraw()Z
@@ -34802,154 +29789,71 @@
 HSPLandroid/view/ViewTreeObserver;->removeOnDrawListener(Landroid/view/ViewTreeObserver$OnDrawListener;)V
 HSPLandroid/view/ViewTreeObserver;->removeOnGlobalLayoutListener(Landroid/view/ViewTreeObserver$OnGlobalLayoutListener;)V
 HSPLandroid/view/ViewTreeObserver;->removeOnPreDrawListener(Landroid/view/ViewTreeObserver$OnPreDrawListener;)V
-HSPLandroid/view/ViewTreeObserver;->removeOnScrollChangedListener(Landroid/view/ViewTreeObserver$OnScrollChangedListener;)V
-HSPLandroid/view/Window$OnFrameMetricsAvailableListener;->onFrameMetricsAvailable(Landroid/view/Window;Landroid/view/FrameMetrics;I)V
-HSPLandroid/view/Window$OnWindowSwipeDismissedCallback;->onWindowSwipeDismissed()V
-HSPLandroid/view/Window$WindowControllerCallback;->enterPictureInPictureModeIfPossible()V
-HSPLandroid/view/Window$WindowControllerCallback;->exitFreeformMode()V
-HSPLandroid/view/Window$WindowControllerCallback;->isTaskRoot()Z
 HSPLandroid/view/Window;-><init>(Landroid/content/Context;)V
-HSPLandroid/view/Window;->addContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
 HSPLandroid/view/Window;->addFlags(I)V
-HSPLandroid/view/Window;->addOnFrameMetricsAvailableListener(Landroid/view/Window$OnFrameMetricsAvailableListener;Landroid/os/Handler;)V
+HSPLandroid/view/Window;->addPrivateFlags(I)V
+HSPLandroid/view/Window;->addSystemFlags(I)V
 HSPLandroid/view/Window;->adjustLayoutParamsForSubWindow(Landroid/view/WindowManager$LayoutParams;)V
-HSPLandroid/view/Window;->alwaysReadCloseOnTouchAttr()V
-HSPLandroid/view/Window;->clearContentView()V
 HSPLandroid/view/Window;->clearFlags(I)V
-HSPLandroid/view/Window;->closeAllPanels()V
-HSPLandroid/view/Window;->closePanel(I)V
 HSPLandroid/view/Window;->findViewById(I)Landroid/view/View;
 HSPLandroid/view/Window;->getAttributes()Landroid/view/WindowManager$LayoutParams;
 HSPLandroid/view/Window;->getCallback()Landroid/view/Window$Callback;
-HSPLandroid/view/Window;->getCurrentFocus()Landroid/view/View;
-HSPLandroid/view/Window;->getDecorView()Landroid/view/View;
-HSPLandroid/view/Window;->getLayoutInflater()Landroid/view/LayoutInflater;
-HSPLandroid/view/Window;->getNavigationBarColor()I
-HSPLandroid/view/Window;->getStatusBarColor()I
-HSPLandroid/view/Window;->getVolumeControlStream()I
 HSPLandroid/view/Window;->getWindowManager()Landroid/view/WindowManager;
 HSPLandroid/view/Window;->getWindowStyle()Landroid/content/res/TypedArray;
 HSPLandroid/view/Window;->hasFeature(I)Z
-HSPLandroid/view/Window;->haveDimAmount()Z
-HSPLandroid/view/Window;->invalidatePanelMenu(I)V
-HSPLandroid/view/Window;->isFloating()Z
 HSPLandroid/view/Window;->isOutOfBounds(Landroid/content/Context;Landroid/view/MotionEvent;)Z
-HSPLandroid/view/Window;->isShortcutKey(ILandroid/view/KeyEvent;)Z
 HSPLandroid/view/Window;->makeActive()V
-HSPLandroid/view/Window;->onActive()V
-HSPLandroid/view/Window;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLandroid/view/Window;->onMultiWindowModeChanged()V
-HSPLandroid/view/Window;->onPictureInPictureModeChanged(Z)V
-HSPLandroid/view/Window;->openPanel(ILandroid/view/KeyEvent;)V
-HSPLandroid/view/Window;->peekDecorView()Landroid/view/View;
-HSPLandroid/view/Window;->performContextMenuIdentifierAction(II)Z
-HSPLandroid/view/Window;->performPanelIdentifierAction(III)Z
-HSPLandroid/view/Window;->performPanelShortcut(IILandroid/view/KeyEvent;I)Z
-HSPLandroid/view/Window;->removeOnFrameMetricsAvailableListener(Landroid/view/Window$OnFrameMetricsAvailableListener;)V
-HSPLandroid/view/Window;->reportActivityRelaunched()V
-HSPLandroid/view/Window;->requestFeature(I)Z
-HSPLandroid/view/Window;->restoreHierarchyState(Landroid/os/Bundle;)V
-HSPLandroid/view/Window;->saveHierarchyState()Landroid/os/Bundle;
-HSPLandroid/view/Window;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/view/Window;->setCallback(Landroid/view/Window$Callback;)V
-HSPLandroid/view/Window;->setChildDrawable(ILandroid/graphics/drawable/Drawable;)V
-HSPLandroid/view/Window;->setChildInt(II)V
-HSPLandroid/view/Window;->setCloseOnTouchOutside(Z)V
-HSPLandroid/view/Window;->setCloseOnTouchOutsideIfNotSet(Z)V
 HSPLandroid/view/Window;->setColorMode(I)V
-HSPLandroid/view/Window;->setContentView(I)V
-HSPLandroid/view/Window;->setContentView(Landroid/view/View;)V
-HSPLandroid/view/Window;->setContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/view/Window;->setDecorCaptionShade(I)V
-HSPLandroid/view/Window;->setFeatureDrawable(ILandroid/graphics/drawable/Drawable;)V
-HSPLandroid/view/Window;->setFeatureDrawableAlpha(II)V
-HSPLandroid/view/Window;->setFeatureDrawableResource(II)V
-HSPLandroid/view/Window;->setFeatureDrawableUri(ILandroid/net/Uri;)V
-HSPLandroid/view/Window;->setFeatureInt(II)V
 HSPLandroid/view/Window;->setFlags(II)V
-HSPLandroid/view/Window;->setFormat(I)V
 HSPLandroid/view/Window;->setGravity(I)V
 HSPLandroid/view/Window;->setLayout(II)V
-HSPLandroid/view/Window;->setNavigationBarColor(I)V
 HSPLandroid/view/Window;->setNeedsMenuKey(I)V
-HSPLandroid/view/Window;->setResizingCaptionDrawable(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/view/Window;->setSoftInputMode(I)V
-HSPLandroid/view/Window;->setStatusBarColor(I)V
-HSPLandroid/view/Window;->setTitle(Ljava/lang/CharSequence;)V
-HSPLandroid/view/Window;->setTitleColor(I)V
-HSPLandroid/view/Window;->setVolumeControlStream(I)V
 HSPLandroid/view/Window;->setWindowManager(Landroid/view/WindowManager;Landroid/os/IBinder;Ljava/lang/String;)V
 HSPLandroid/view/Window;->setWindowManager(Landroid/view/WindowManager;Landroid/os/IBinder;Ljava/lang/String;Z)V
 HSPLandroid/view/Window;->shouldCloseOnTouch(Landroid/content/Context;Landroid/view/MotionEvent;)Z
-HSPLandroid/view/Window;->superDispatchGenericMotionEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/Window;->superDispatchKeyEvent(Landroid/view/KeyEvent;)Z
-HSPLandroid/view/Window;->superDispatchKeyShortcutEvent(Landroid/view/KeyEvent;)Z
-HSPLandroid/view/Window;->superDispatchTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/Window;->superDispatchTrackballEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/view/Window;->takeInputQueue(Landroid/view/InputQueue$Callback;)V
-HSPLandroid/view/Window;->takeKeyEvents(Z)V
-HSPLandroid/view/Window;->takeSurface(Landroid/view/SurfaceHolder$Callback2;)V
-HSPLandroid/view/Window;->togglePanel(ILandroid/view/KeyEvent;)V
 HSPLandroid/view/WindowAnimationFrameStats$1;-><init>()V
+HSPLandroid/view/WindowCallbackWrapper;->dispatchPopulateAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)Z
 HSPLandroid/view/WindowCallbackWrapper;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLandroid/view/WindowCallbackWrapper;->onAttachedToWindow()V
 HSPLandroid/view/WindowCallbackWrapper;->onCreatePanelMenu(ILandroid/view/Menu;)Z
 HSPLandroid/view/WindowCallbackWrapper;->onWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V
 HSPLandroid/view/WindowCallbackWrapper;->onWindowFocusChanged(Z)V
-HSPLandroid/view/WindowCallbacks;->onContentDrawn(IIII)Z
-HSPLandroid/view/WindowCallbacks;->onPostDraw(Landroid/view/DisplayListCanvas;)V
-HSPLandroid/view/WindowCallbacks;->onRequestDraw(Z)V
-HSPLandroid/view/WindowCallbacks;->onWindowDragResizeEnd()V
-HSPLandroid/view/WindowCallbacks;->onWindowDragResizeStart(Landroid/graphics/Rect;ZLandroid/graphics/Rect;Landroid/graphics/Rect;I)V
-HSPLandroid/view/WindowCallbacks;->onWindowSizeIsChanging(Landroid/graphics/Rect;ZLandroid/graphics/Rect;Landroid/graphics/Rect;)V
 HSPLandroid/view/WindowContentFrameStats$1;-><init>()V
 HSPLandroid/view/WindowId$1;-><init>()V
-HSPLandroid/view/WindowInsets;-><init>(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZLandroid/view/DisplayCutout;)V
-HSPLandroid/view/WindowInsets;-><init>(Landroid/view/WindowInsets;)V
-HSPLandroid/view/WindowInsets;->consumeSystemWindowInsets()Landroid/view/WindowInsets;
-HSPLandroid/view/WindowInsets;->getStableInsetBottom()I
-HSPLandroid/view/WindowInsets;->getStableInsetLeft()I
-HSPLandroid/view/WindowInsets;->getStableInsetRight()I
-HSPLandroid/view/WindowInsets;->getStableInsetTop()I
+HSPLandroid/view/WindowInsets$Type;->indexOf(I)I
+HSPLandroid/view/WindowInsets;-><init>(Landroid/graphics/Rect;Landroid/graphics/Rect;ZZLandroid/view/DisplayCutout;)V
+HSPLandroid/view/WindowInsets;-><init>([Landroid/graphics/Insets;[Landroid/graphics/Insets;[ZZZLandroid/view/DisplayCutout;)V
+HSPLandroid/view/WindowInsets;->consumeDisplayCutout()Landroid/view/WindowInsets;
+HSPLandroid/view/WindowInsets;->displayCutoutCopyConstructorArgument(Landroid/view/WindowInsets;)Landroid/view/DisplayCutout;
+HSPLandroid/view/WindowInsets;->getInsets([Landroid/graphics/Insets;I)Landroid/graphics/Insets;
 HSPLandroid/view/WindowInsets;->getSystemWindowInsetBottom()I
-HSPLandroid/view/WindowInsets;->getSystemWindowInsetLeft()I
-HSPLandroid/view/WindowInsets;->getSystemWindowInsetRight()I
 HSPLandroid/view/WindowInsets;->getSystemWindowInsetTop()I
-HSPLandroid/view/WindowInsets;->hasSystemWindowInsets()Z
 HSPLandroid/view/WindowInsets;->inset(IIII)Landroid/view/WindowInsets;
-HSPLandroid/view/WindowInsets;->insetInsets(Landroid/graphics/Rect;IIII)Landroid/graphics/Rect;
-HSPLandroid/view/WindowInsets;->isConsumed()Z
-HSPLandroid/view/WindowInsets;->replaceSystemWindowInsets(IIII)Landroid/view/WindowInsets;
+HSPLandroid/view/WindowInsets;->insetInsets(Landroid/graphics/Insets;IIII)Landroid/graphics/Insets;
 HSPLandroid/view/WindowManager$LayoutParams$1;-><init>()V
 HSPLandroid/view/WindowManager$LayoutParams$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/WindowManager$LayoutParams;
 HSPLandroid/view/WindowManager$LayoutParams$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/view/WindowManager$LayoutParams;-><init>()V
-HSPLandroid/view/WindowManager$LayoutParams;-><init>(IIIIIII)V
 HSPLandroid/view/WindowManager$LayoutParams;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/view/WindowManager$LayoutParams;->copyFrom(Landroid/view/WindowManager$LayoutParams;)I
 HSPLandroid/view/WindowManager$LayoutParams;->getColorMode()I
 HSPLandroid/view/WindowManager$LayoutParams;->isFullscreen()Z
-HSPLandroid/view/WindowManager$LayoutParams;->isSystemAlertWindowType(I)Z
 HSPLandroid/view/WindowManager$LayoutParams;->mayUseInputMethod(I)Z
 HSPLandroid/view/WindowManager$LayoutParams;->setColorMode(I)V
 HSPLandroid/view/WindowManager$LayoutParams;->setSurfaceInsets(Landroid/view/View;ZZ)V
 HSPLandroid/view/WindowManager$LayoutParams;->setTitle(Ljava/lang/CharSequence;)V
 HSPLandroid/view/WindowManager$LayoutParams;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/WindowManager;->getCurrentImeTouchRegion()Landroid/graphics/Region;
-HSPLandroid/view/WindowManager;->getDefaultDisplay()Landroid/view/Display;
-HSPLandroid/view/WindowManager;->removeViewImmediate(Landroid/view/View;)V
-HSPLandroid/view/WindowManager;->requestAppKeyboardShortcuts(Landroid/view/WindowManager$KeyboardShortcutsReceiver;I)V
 HSPLandroid/view/WindowManagerGlobal;-><init>()V
 HSPLandroid/view/WindowManagerGlobal;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;Landroid/view/Display;Landroid/view/Window;)V
-HSPLandroid/view/WindowManagerGlobal;->closeAll(Landroid/os/IBinder;Ljava/lang/String;Ljava/lang/String;)V
-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
 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;
 HSPLandroid/view/WindowManagerGlobal;->getWindowManagerService()Landroid/view/IWindowManager;
 HSPLandroid/view/WindowManagerGlobal;->getWindowSession()Landroid/view/IWindowSession;
+HSPLandroid/view/WindowManagerGlobal;->getWindowView(Landroid/os/IBinder;)Landroid/view/View;
 HSPLandroid/view/WindowManagerGlobal;->initialize()V
 HSPLandroid/view/WindowManagerGlobal;->peekWindowSession()Landroid/view/IWindowSession;
 HSPLandroid/view/WindowManagerGlobal;->removeView(Landroid/view/View;Z)V
@@ -34963,14 +29867,21 @@
 HSPLandroid/view/WindowManagerImpl;->getDefaultDisplay()Landroid/view/Display;
 HSPLandroid/view/WindowManagerImpl;->removeViewImmediate(Landroid/view/View;)V
 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/-$$Lambda$AccessibilityManager$yzw5NYY7_MfAQ9gLy3mVllchaXo;->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;->setRelevantEventTypes(I)V
 HSPLandroid/view/accessibility/AccessibilityManager$1;->setState(I)V
-HSPLandroid/view/accessibility/AccessibilityManager$AccessibilityServicesStateChangeListener;->onAccessibilityServicesStateChanged(Landroid/view/accessibility/AccessibilityManager;)V
-HSPLandroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;->onAccessibilityStateChanged(Z)V
-HSPLandroid/view/accessibility/AccessibilityManager$HighTextContrastChangeListener;->onHighTextContrastStateChanged(Z)V
 HSPLandroid/view/accessibility/AccessibilityManager$MyCallback;->handleMessage(Landroid/os/Message;)Z
-HSPLandroid/view/accessibility/AccessibilityManager$TouchExplorationStateChangeListener;->onTouchExplorationStateChanged(Z)V
 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
@@ -34985,77 +29896,52 @@
 HSPLandroid/view/accessibility/AccessibilityManager;->isHighTextContrastEnabled()Z
 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;->getInstance()Landroid/view/accessibility/AccessibilityNodeIdManager;
 HSPLandroid/view/accessibility/AccessibilityNodeInfo$1;-><init>()V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;-><init>(I)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;-><init>(ILjava/lang/CharSequence;)V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;->hashCode()I
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;-><init>()V
 HSPLandroid/view/accessibility/AccessibilityNodeInfo;->makeNodeId(II)J
-HSPLandroid/view/accessibility/AccessibilityNodeProvider;-><init>()V
+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;->setFromIndex(I)V
+HSPLandroid/view/accessibility/AccessibilityRecord;->setFullScreen(Z)V
+HSPLandroid/view/accessibility/AccessibilityRecord;->setItemCount(I)V
+HSPLandroid/view/accessibility/AccessibilityRecord;->setScrollable(Z)V
+HSPLandroid/view/accessibility/AccessibilityRecord;->setSource(Landroid/view/View;I)V
+HSPLandroid/view/accessibility/AccessibilityRecord;->setToIndex(I)V
 HSPLandroid/view/accessibility/CaptioningManager$CaptionStyle;-><init>(IIIIILjava/lang/String;)V
-HSPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->getTypeface()Landroid/graphics/Typeface;
-HSPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->hasBackgroundColor()Z
-HSPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->hasEdgeColor()Z
-HSPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->hasEdgeType()Z
-HSPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->hasForegroundColor()Z
-HSPLandroid/view/accessibility/CaptioningManager$CaptionStyle;->hasWindowColor()Z
-HSPLandroid/view/accessibility/CaptioningManager$CaptioningChangeListener;-><init>()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;->findAccessibilityNodeInfoByAccessibilityId(JLandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;Landroid/os/Bundle;)V
-HSPLandroid/view/accessibility/IAccessibilityInteractionConnection;->findAccessibilityNodeInfosByText(JLjava/lang/String;Landroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-HSPLandroid/view/accessibility/IAccessibilityInteractionConnection;->findAccessibilityNodeInfosByViewId(JLjava/lang/String;Landroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-HSPLandroid/view/accessibility/IAccessibilityInteractionConnection;->findFocus(JILandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-HSPLandroid/view/accessibility/IAccessibilityInteractionConnection;->focusSearch(JILandroid/graphics/Region;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJLandroid/view/MagnificationSpec;)V
-HSPLandroid/view/accessibility/IAccessibilityInteractionConnection;->performAccessibilityAction(JILandroid/os/Bundle;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIJ)V
-HSPLandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfoResult(Landroid/view/accessibility/AccessibilityNodeInfo;I)V
-HSPLandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setFindAccessibilityNodeInfosResult(Ljava/util/List;I)V
-HSPLandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;->setPerformAccessibilityActionResult(ZI)V
+HSPLandroid/view/accessibility/IAccessibilityInteractionConnection$Stub;->asBinder()Landroid/os/IBinder;
+HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Landroid/view/accessibility/IAccessibilityInteractionConnection;Ljava/lang/String;I)I
 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$Proxy;->removeAccessibilityInteractionConnection(Landroid/view/IWindow;)V
+HSPLandroid/view/accessibility/IAccessibilityManager$Stub$Proxy;->sendAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;I)V
 HSPLandroid/view/accessibility/IAccessibilityManager$Stub;-><init>()V
 HSPLandroid/view/accessibility/IAccessibilityManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/accessibility/IAccessibilityManager;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Landroid/view/accessibility/IAccessibilityInteractionConnection;Ljava/lang/String;I)I
-HSPLandroid/view/accessibility/IAccessibilityManager;->addClient(Landroid/view/accessibility/IAccessibilityManagerClient;I)J
-HSPLandroid/view/accessibility/IAccessibilityManager;->getEnabledAccessibilityServiceList(II)Ljava/util/List;
-HSPLandroid/view/accessibility/IAccessibilityManager;->getInstalledAccessibilityServiceList(I)Ljava/util/List;
-HSPLandroid/view/accessibility/IAccessibilityManager;->getWindowToken(II)Landroid/os/IBinder;
-HSPLandroid/view/accessibility/IAccessibilityManager;->interrupt(I)V
-HSPLandroid/view/accessibility/IAccessibilityManager;->notifyAccessibilityButtonClicked()V
-HSPLandroid/view/accessibility/IAccessibilityManager;->notifyAccessibilityButtonVisibilityChanged(Z)V
-HSPLandroid/view/accessibility/IAccessibilityManager;->performAccessibilityShortcut()V
-HSPLandroid/view/accessibility/IAccessibilityManager;->registerUiTestAutomationService(Landroid/os/IBinder;Landroid/accessibilityservice/IAccessibilityServiceClient;Landroid/accessibilityservice/AccessibilityServiceInfo;I)V
-HSPLandroid/view/accessibility/IAccessibilityManager;->removeAccessibilityInteractionConnection(Landroid/view/IWindow;)V
-HSPLandroid/view/accessibility/IAccessibilityManager;->sendAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;I)V
-HSPLandroid/view/accessibility/IAccessibilityManager;->sendFingerprintGesture(I)Z
-HSPLandroid/view/accessibility/IAccessibilityManager;->setPictureInPictureActionReplacingConnection(Landroid/view/accessibility/IAccessibilityInteractionConnection;)V
-HSPLandroid/view/accessibility/IAccessibilityManager;->temporaryEnableAccessibilityStateUntilKeyguardRemoved(Landroid/content/ComponentName;Z)V
-HSPLandroid/view/accessibility/IAccessibilityManager;->unregisterUiTestAutomationService(Landroid/accessibilityservice/IAccessibilityServiceClient;)V
 HSPLandroid/view/accessibility/IAccessibilityManagerClient$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+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/accessibility/IAccessibilityManagerClient;->notifyServicesStateChanged()V
-HSPLandroid/view/accessibility/IAccessibilityManagerClient;->setRelevantEventTypes(I)V
-HSPLandroid/view/accessibility/IAccessibilityManagerClient;->setState(I)V
 HSPLandroid/view/animation/AccelerateDecelerateInterpolator;-><init>()V
 HSPLandroid/view/animation/AccelerateDecelerateInterpolator;->getInterpolation(F)F
-HSPLandroid/view/animation/AccelerateInterpolator;-><init>()V
 HSPLandroid/view/animation/AccelerateInterpolator;-><init>(F)V
 HSPLandroid/view/animation/AccelerateInterpolator;-><init>(Landroid/content/res/Resources;Landroid/content/res/Resources$Theme;Landroid/util/AttributeSet;)V
-HSPLandroid/view/animation/AccelerateInterpolator;->getInterpolation(F)F
 HSPLandroid/view/animation/AlphaAnimation;-><init>(FF)V
 HSPLandroid/view/animation/AlphaAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
 HSPLandroid/view/animation/AlphaAnimation;->hasAlpha()Z
@@ -35063,14 +29949,13 @@
 HSPLandroid/view/animation/AlphaAnimation;->willChangeTransformationMatrix()Z
 HSPLandroid/view/animation/Animation$1;->run()V
 HSPLandroid/view/animation/Animation$3;->run()V
-HSPLandroid/view/animation/Animation$AnimationListener;->onAnimationEnd(Landroid/view/animation/Animation;)V
-HSPLandroid/view/animation/Animation$AnimationListener;->onAnimationRepeat(Landroid/view/animation/Animation;)V
-HSPLandroid/view/animation/Animation$AnimationListener;->onAnimationStart(Landroid/view/animation/Animation;)V
 HSPLandroid/view/animation/Animation$Description;->parseValue(Landroid/util/TypedValue;)Landroid/view/animation/Animation$Description;
 HSPLandroid/view/animation/Animation;-><init>()V
 HSPLandroid/view/animation/Animation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/view/animation/Animation;->clone()Landroid/view/animation/Animation;
 HSPLandroid/view/animation/Animation;->detach()V
+HSPLandroid/view/animation/Animation;->dispatchAnimationEnd()V
+HSPLandroid/view/animation/Animation;->dispatchAnimationStart()V
 HSPLandroid/view/animation/Animation;->ensureInterpolator()V
 HSPLandroid/view/animation/Animation;->finalize()V
 HSPLandroid/view/animation/Animation;->getDuration()J
@@ -35109,11 +29994,9 @@
 HSPLandroid/view/animation/Animation;->willChangeBounds()Z
 HSPLandroid/view/animation/Animation;->willChangeTransformationMatrix()Z
 HSPLandroid/view/animation/AnimationSet;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/view/animation/AnimationSet;-><init>(Z)V
 HSPLandroid/view/animation/AnimationSet;->addAnimation(Landroid/view/animation/Animation;)V
 HSPLandroid/view/animation/AnimationSet;->clone()Landroid/view/animation/Animation;
 HSPLandroid/view/animation/AnimationSet;->clone()Landroid/view/animation/AnimationSet;
-HSPLandroid/view/animation/AnimationSet;->getAnimations()Ljava/util/List;
 HSPLandroid/view/animation/AnimationSet;->getDuration()J
 HSPLandroid/view/animation/AnimationSet;->getStartTime()J
 HSPLandroid/view/animation/AnimationSet;->getTransformation(JLandroid/view/animation/Transformation;)Z
@@ -35135,48 +30018,37 @@
 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/BaseInterpolator;-><init>()V
+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
 HSPLandroid/view/animation/DecelerateInterpolator;-><init>()V
 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/view/animation/Animation;)V
+HSPLandroid/view/animation/LayoutAnimationController;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/view/animation/LayoutAnimationController;->getAnimationForView(Landroid/view/View;)Landroid/view/animation/Animation;
 HSPLandroid/view/animation/LayoutAnimationController;->getDelayForView(Landroid/view/View;)J
 HSPLandroid/view/animation/LayoutAnimationController;->getOrder()I
 HSPLandroid/view/animation/LayoutAnimationController;->getTransformedIndex(Landroid/view/animation/LayoutAnimationController$AnimationParameters;)I
 HSPLandroid/view/animation/LayoutAnimationController;->isDone()Z
+HSPLandroid/view/animation/LayoutAnimationController;->setAnimation(Landroid/content/Context;I)V
 HSPLandroid/view/animation/LayoutAnimationController;->setAnimation(Landroid/view/animation/Animation;)V
-HSPLandroid/view/animation/LayoutAnimationController;->setDelay(F)V
 HSPLandroid/view/animation/LayoutAnimationController;->start()V
 HSPLandroid/view/animation/LayoutAnimationController;->willOverlap()Z
 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/OvershootInterpolator;-><init>(F)V
-HSPLandroid/view/animation/OvershootInterpolator;->getInterpolation(F)F
 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;-><init>(Landroid/graphics/Path;)V
 HSPLandroid/view/animation/PathInterpolator;->createNativeInterpolator()J
 HSPLandroid/view/animation/PathInterpolator;->getInterpolation(F)F
-HSPLandroid/view/animation/PathInterpolator;->initCubic(FFFF)V
 HSPLandroid/view/animation/PathInterpolator;->initPath(Landroid/graphics/Path;)V
 HSPLandroid/view/animation/PathInterpolator;->parseInterpolatorFromTypeArray(Landroid/content/res/TypedArray;)V
-HSPLandroid/view/animation/ScaleAnimation;-><init>(FFFF)V
-HSPLandroid/view/animation/ScaleAnimation;-><init>(FFFFIFIF)V
-HSPLandroid/view/animation/ScaleAnimation;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/view/animation/ScaleAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
-HSPLandroid/view/animation/ScaleAnimation;->initialize(IIII)V
-HSPLandroid/view/animation/ScaleAnimation;->resolveScale(FIIII)F
-HSPLandroid/view/animation/Transformation;-><init>()V
 HSPLandroid/view/animation/Transformation;->clear()V
 HSPLandroid/view/animation/Transformation;->compose(Landroid/view/animation/Transformation;)V
 HSPLandroid/view/animation/Transformation;->getAlpha()F
@@ -35184,143 +30056,89 @@
 HSPLandroid/view/animation/Transformation;->getTransformationType()I
 HSPLandroid/view/animation/Transformation;->set(Landroid/view/animation/Transformation;)V
 HSPLandroid/view/animation/Transformation;->setAlpha(F)V
-HSPLandroid/view/animation/TranslateAnimation;-><init>(IFIFIFIF)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
-HSPLandroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$BPlC2x7GLNHFS92rPUSzbcpFhUc;->run()V
-HSPLandroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$K79QnIPRaZuikYDQdsLcIUBhqiI;->run()V
-HSPLandroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$V-s28jF4_S72cRk4llkGpwbJnmk;->run()V
-HSPLandroid/view/autofill/-$$Lambda$AutofillManager$YfpJNFodEuj5lbXfPlc77fsEvC8;->run()V
 HSPLandroid/view/autofill/AutofillId$1;-><init>()V
-HSPLandroid/view/autofill/AutofillId$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/autofill/AutofillId;
-HSPLandroid/view/autofill/AutofillId$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/autofill/AutofillId$1;->newArray(I)[Landroid/view/autofill/AutofillId;
-HSPLandroid/view/autofill/AutofillId$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/view/autofill/AutofillId;->hashCode()I
-HSPLandroid/view/autofill/AutofillId;->toString()Ljava/lang/String;
-HSPLandroid/view/autofill/AutofillId;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/autofill/AutofillManager$AutofillCallback;-><init>()V
-HSPLandroid/view/autofill/AutofillManager$AutofillCallback;->onAutofillEvent(Landroid/view/View;I)V
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientAuthenticate(ILandroid/content/IntentSender;Landroid/content/Intent;)V
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientDispatchUnhandledKey(Landroid/view/View;Landroid/view/KeyEvent;)V
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientFindViewByAccessibilityIdTraversal(II)Landroid/view/View;
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientFindViewByAutofillIdTraversal(Landroid/view/autofill/AutofillId;)Landroid/view/View;
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientFindViewsByAutofillIdTraversal([Landroid/view/autofill/AutofillId;)[Landroid/view/View;
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientGetActivityToken()Landroid/os/IBinder;
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientGetComponentName()Landroid/content/ComponentName;
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientGetNextAutofillId()Landroid/view/autofill/AutofillId;
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientGetViewVisibility([Landroid/view/autofill/AutofillId;)[Z
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientIsCompatibilityModeEnabled()Z
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientIsFillUiShowing()Z
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientIsVisibleForAutofill()Z
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientRequestHideFillUi()Z
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientRequestShowFillUi(Landroid/view/View;IILandroid/graphics/Rect;Landroid/view/autofill/IAutofillWindowPresenter;)Z
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientResetableStateAvailable()V
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->autofillClientRunOnUiThread(Ljava/lang/Runnable;)V
-HSPLandroid/view/autofill/AutofillManager$AutofillClient;->isDisablingEnterExitEventForAutofill()Z
-HSPLandroid/view/autofill/AutofillManager$AutofillManagerClient;->notifyNoFillUi(ILandroid/view/autofill/AutofillId;I)V
-HSPLandroid/view/autofill/AutofillManager$AutofillManagerClient;->setSessionFinished(I)V
-HSPLandroid/view/autofill/AutofillManager$AutofillManagerClient;->setTrackedViews(I[Landroid/view/autofill/AutofillId;ZZ[Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillId;)V
-HSPLandroid/view/autofill/AutofillManager$TrackedViews;-><init>(Landroid/view/autofill/AutofillManager;[Landroid/view/autofill/AutofillId;)V
-HSPLandroid/view/autofill/AutofillManager$TrackedViews;->notifyViewVisibilityChangedLocked(Landroid/view/autofill/AutofillId;Z)V
 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;->lambda$onVisibleForAutofill$0(Landroid/view/autofill/AutofillManager;)V
-HSPLandroid/view/autofill/AutofillManager;->notifyNoFillUi(ILandroid/view/autofill/AutofillId;I)V
+HSPLandroid/view/autofill/AutofillManager;->getSmartSuggestionModeToString(I)Ljava/lang/String;
+HSPLandroid/view/autofill/AutofillManager;->hasAutofillFeature()Z
+HSPLandroid/view/autofill/AutofillManager;->isAutofillSupported()Z
 HSPLandroid/view/autofill/AutofillManager;->notifyValueChanged(Landroid/view/View;)V
-HSPLandroid/view/autofill/AutofillManager;->notifyViewEntered(Landroid/view/View;I)V
-HSPLandroid/view/autofill/AutofillManager;->notifyViewEnteredLocked(Landroid/view/View;I)Landroid/view/autofill/AutofillManager$AutofillCallback;
-HSPLandroid/view/autofill/AutofillManager;->notifyViewExited(Landroid/view/View;)V
-HSPLandroid/view/autofill/AutofillManager;->notifyViewExitedLocked(Landroid/view/View;)V
-HSPLandroid/view/autofill/AutofillManager;->notifyViewVisibilityChangedInternal(Landroid/view/View;IZZ)V
-HSPLandroid/view/autofill/AutofillManager;->onCreate(Landroid/os/Bundle;)V
-HSPLandroid/view/autofill/AutofillManager;->onInvisibleForAutofill()V
-HSPLandroid/view/autofill/AutofillManager;->onSaveInstanceState(Landroid/os/Bundle;)V
-HSPLandroid/view/autofill/AutofillManager;->onVisibleForAutofill()V
-HSPLandroid/view/autofill/AutofillManager;->registerCallback(Landroid/view/autofill/AutofillManager$AutofillCallback;)V
 HSPLandroid/view/autofill/AutofillManager;->requestHideFillUi(Landroid/view/autofill/AutofillId;Z)V
-HSPLandroid/view/autofill/AutofillManager;->setSessionFinished(I)V
-HSPLandroid/view/autofill/AutofillManager;->setTrackedViews(I[Landroid/view/autofill/AutofillId;ZZ[Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillId;)V
-HSPLandroid/view/autofill/AutofillManager;->shouldIgnoreViewEnteredLocked(Landroid/view/autofill/AutofillId;I)Z
-HSPLandroid/view/autofill/AutofillManager;->startSessionLocked(Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;I)V
-HSPLandroid/view/autofill/AutofillManager;->unregisterCallback(Landroid/view/autofill/AutofillManager$AutofillCallback;)V
-HSPLandroid/view/autofill/AutofillManager;->updateSessionLocked(Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;II)V
-HSPLandroid/view/autofill/AutofillManagerInternal;->isCompatibilityModeRequested(Ljava/lang/String;JI)Z
-HSPLandroid/view/autofill/AutofillManagerInternal;->onBackKeyPressed()V
 HSPLandroid/view/autofill/AutofillValue$1;-><init>()V
-HSPLandroid/view/autofill/AutofillValue;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->addClient(Landroid/view/autofill/IAutoFillManagerClient;I)I
-HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->setHasCallback(IIZ)V
-HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->startSession(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;IZILandroid/content/ComponentName;Z)I
-HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->updateSession(ILandroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;III)V
+HSPLandroid/view/autofill/IAutoFillManager$Stub$Proxy;->isServiceSupported(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;
-HSPLandroid/view/autofill/IAutoFillManager;->addClient(Landroid/view/autofill/IAutoFillManagerClient;I)I
-HSPLandroid/view/autofill/IAutoFillManager;->cancelSession(II)V
-HSPLandroid/view/autofill/IAutoFillManager;->disableOwnedAutofillServices(I)V
-HSPLandroid/view/autofill/IAutoFillManager;->finishSession(II)V
-HSPLandroid/view/autofill/IAutoFillManager;->getAutofillServiceComponentName()Landroid/content/ComponentName;
-HSPLandroid/view/autofill/IAutoFillManager;->getAvailableFieldClassificationAlgorithms()[Ljava/lang/String;
-HSPLandroid/view/autofill/IAutoFillManager;->getDefaultFieldClassificationAlgorithm()Ljava/lang/String;
-HSPLandroid/view/autofill/IAutoFillManager;->getFillEventHistory()Landroid/service/autofill/FillEventHistory;
-HSPLandroid/view/autofill/IAutoFillManager;->getUserData()Landroid/service/autofill/UserData;
-HSPLandroid/view/autofill/IAutoFillManager;->getUserDataId()Ljava/lang/String;
-HSPLandroid/view/autofill/IAutoFillManager;->isFieldClassificationEnabled()Z
-HSPLandroid/view/autofill/IAutoFillManager;->isServiceEnabled(ILjava/lang/String;)Z
-HSPLandroid/view/autofill/IAutoFillManager;->isServiceSupported(I)Z
-HSPLandroid/view/autofill/IAutoFillManager;->onPendingSaveUi(ILandroid/os/IBinder;)V
-HSPLandroid/view/autofill/IAutoFillManager;->removeClient(Landroid/view/autofill/IAutoFillManagerClient;I)V
-HSPLandroid/view/autofill/IAutoFillManager;->restoreSession(ILandroid/os/IBinder;Landroid/os/IBinder;)Z
-HSPLandroid/view/autofill/IAutoFillManager;->setAuthenticationResult(Landroid/os/Bundle;III)V
-HSPLandroid/view/autofill/IAutoFillManager;->setAutofillFailure(ILjava/util/List;I)V
-HSPLandroid/view/autofill/IAutoFillManager;->setHasCallback(IIZ)V
-HSPLandroid/view/autofill/IAutoFillManager;->setUserData(Landroid/service/autofill/UserData;)V
-HSPLandroid/view/autofill/IAutoFillManager;->startSession(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;IZILandroid/content/ComponentName;Z)I
-HSPLandroid/view/autofill/IAutoFillManager;->updateOrRestartSession(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;IZILandroid/content/ComponentName;IIZ)I
-HSPLandroid/view/autofill/IAutoFillManager;->updateSession(ILandroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;III)V
-HSPLandroid/view/autofill/IAutoFillManagerClient$Stub;->asBinder()Landroid/os/IBinder;
-HSPLandroid/view/autofill/IAutoFillManagerClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/view/autofill/IAutoFillManagerClient;->authenticate(IILandroid/content/IntentSender;Landroid/content/Intent;)V
-HSPLandroid/view/autofill/IAutoFillManagerClient;->autofill(ILjava/util/List;Ljava/util/List;)V
-HSPLandroid/view/autofill/IAutoFillManagerClient;->dispatchUnhandledKey(ILandroid/view/autofill/AutofillId;Landroid/view/KeyEvent;)V
-HSPLandroid/view/autofill/IAutoFillManagerClient;->notifyNoFillUi(ILandroid/view/autofill/AutofillId;I)V
-HSPLandroid/view/autofill/IAutoFillManagerClient;->requestHideFillUi(ILandroid/view/autofill/AutofillId;)V
-HSPLandroid/view/autofill/IAutoFillManagerClient;->requestShowFillUi(ILandroid/view/autofill/AutofillId;IILandroid/graphics/Rect;Landroid/view/autofill/IAutofillWindowPresenter;)V
-HSPLandroid/view/autofill/IAutoFillManagerClient;->setSaveUiState(IZ)V
-HSPLandroid/view/autofill/IAutoFillManagerClient;->setSessionFinished(I)V
-HSPLandroid/view/autofill/IAutoFillManagerClient;->setState(I)V
-HSPLandroid/view/autofill/IAutoFillManagerClient;->setTrackedViews(I[Landroid/view/autofill/AutofillId;ZZ[Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillId;)V
-HSPLandroid/view/autofill/IAutoFillManagerClient;->startIntentSender(Landroid/content/IntentSender;Landroid/content/Intent;)V
-HSPLandroid/view/inputmethod/BaseInputConnection;-><init>(Landroid/view/View;Z)V
+HSPLandroid/view/contentcapture/ContentCaptureEvent$1;-><init>()V
+HSPLandroid/view/contentcapture/ContentCaptureEvent;->getTypeAsString(I)Ljava/lang/String;
+HSPLandroid/view/contentcapture/ContentCaptureHelper;->getDefaultLoggingLevel()I
+HSPLandroid/view/contentcapture/ContentCaptureHelper;->getIntDeviceConfigProperty(Ljava/lang/String;I)I
+HSPLandroid/view/contentcapture/ContentCaptureHelper;->getLoggingLevelAsString(I)Ljava/lang/String;
+HSPLandroid/view/contentcapture/ContentCaptureHelper;->setLoggingLevel()V
+HSPLandroid/view/contentcapture/ContentCaptureHelper;->setLoggingLevel(I)V
+HSPLandroid/view/contentcapture/ContentCaptureManager;-><init>(Landroid/content/Context;Landroid/view/contentcapture/IContentCaptureManager;)V
+HSPLandroid/view/contentcapture/ContentCaptureManager;->flush(I)V
+HSPLandroid/view/contentcapture/ContentCaptureManager;->getMainContentCaptureSession()Landroid/view/contentcapture/MainContentCaptureSession;
+HSPLandroid/view/contentcapture/ContentCaptureManager;->isContentCaptureEnabled()Z
+HSPLandroid/view/contentcapture/ContentCaptureManager;->onActivityStarted(Landroid/os/IBinder;Landroid/content/ComponentName;I)V
+HSPLandroid/view/contentcapture/ContentCaptureSession;->getId()Ljava/lang/String;
+HSPLandroid/view/contentcapture/ContentCaptureSession;->getStateAsString(I)Ljava/lang/String;
+HSPLandroid/view/contentcapture/ContentCaptureSession;->isContentCaptureEnabled()Z
+HSPLandroid/view/contentcapture/ContentCaptureSession;->notifyViewAppeared(Landroid/view/ViewStructure;)V
+HSPLandroid/view/contentcapture/IContentCaptureManager$Stub;-><init>()V
+HSPLandroid/view/contentcapture/IContentCaptureManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/view/contentcapture/IContentCaptureManager;
+HSPLandroid/view/contentcapture/MainContentCaptureSession;-><init>(Landroid/content/Context;Landroid/view/contentcapture/ContentCaptureManager;Landroid/os/Handler;Landroid/view/contentcapture/IContentCaptureManager;)V
+HSPLandroid/view/contentcapture/MainContentCaptureSession;->flush(I)V
+HSPLandroid/view/contentcapture/MainContentCaptureSession;->getActivityName()Ljava/lang/String;
+HSPLandroid/view/contentcapture/MainContentCaptureSession;->getDebugState()Ljava/lang/String;
+HSPLandroid/view/contentcapture/MainContentCaptureSession;->internalNotifyViewAppeared(Landroid/view/contentcapture/ViewNode$ViewStructureImpl;)V
+HSPLandroid/view/contentcapture/MainContentCaptureSession;->internalNotifyViewHierarchyEvent(Z)V
+HSPLandroid/view/contentcapture/MainContentCaptureSession;->isContentCaptureEnabled()Z
+HSPLandroid/view/contentcapture/MainContentCaptureSession;->notifyViewsDisappeared(Ljava/lang/String;Ljava/util/ArrayList;)V
+HSPLandroid/view/contentcapture/MainContentCaptureSession;->sendEvent(Landroid/view/contentcapture/ContentCaptureEvent;Z)V
+HSPLandroid/view/contentcapture/MainContentCaptureSession;->start(Landroid/os/IBinder;Landroid/content/ComponentName;I)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;-><init>(Landroid/view/View;)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->getText()Ljava/lang/CharSequence;
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setClassName(Ljava/lang/String;)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setClickable(Z)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setContentDescription(Ljava/lang/CharSequence;)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setDimens(IIIIII)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setEnabled(Z)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setFocusable(Z)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setFocused(Z)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setHint(Ljava/lang/CharSequence;)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setId(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setInputType(I)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setLongClickable(Z)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setMaxTextEms(I)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setMaxTextLength(I)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setMinTextEms(I)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setOpaque(Z)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setText(Ljava/lang/CharSequence;)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setText(Ljava/lang/CharSequence;II)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setTextIdEntry(Ljava/lang/String;)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setTextLines([I[I)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setTextStyle(FIII)V
+HSPLandroid/view/contentcapture/ViewNode$ViewStructureImpl;->setVisibility(I)V
 HSPLandroid/view/inputmethod/BaseInputConnection;->beginBatchEdit()Z
-HSPLandroid/view/inputmethod/BaseInputConnection;->closeConnection()V
 HSPLandroid/view/inputmethod/BaseInputConnection;->endBatchEdit()Z
-HSPLandroid/view/inputmethod/BaseInputConnection;->ensureDefaultComposingSpans()V
 HSPLandroid/view/inputmethod/BaseInputConnection;->finishComposingText()Z
-HSPLandroid/view/inputmethod/BaseInputConnection;->getCursorCapsMode(I)I
 HSPLandroid/view/inputmethod/BaseInputConnection;->getEditable()Landroid/text/Editable;
 HSPLandroid/view/inputmethod/BaseInputConnection;->getHandler()Landroid/os/Handler;
-HSPLandroid/view/inputmethod/BaseInputConnection;->getSelectedText(I)Ljava/lang/CharSequence;
-HSPLandroid/view/inputmethod/BaseInputConnection;->getTextAfterCursor(II)Ljava/lang/CharSequence;
-HSPLandroid/view/inputmethod/BaseInputConnection;->getTextBeforeCursor(II)Ljava/lang/CharSequence;
 HSPLandroid/view/inputmethod/BaseInputConnection;->removeComposingSpans(Landroid/text/Spannable;)V
-HSPLandroid/view/inputmethod/BaseInputConnection;->replaceText(Ljava/lang/CharSequence;IZ)V
 HSPLandroid/view/inputmethod/BaseInputConnection;->reportFullscreenMode(Z)Z
 HSPLandroid/view/inputmethod/BaseInputConnection;->sendCurrentText()V
-HSPLandroid/view/inputmethod/BaseInputConnection;->setComposingRegion(II)Z
-HSPLandroid/view/inputmethod/BaseInputConnection;->setComposingSpans(Landroid/text/Spannable;II)V
-HSPLandroid/view/inputmethod/BaseInputConnection;->setComposingText(Ljava/lang/CharSequence;I)Z
 HSPLandroid/view/inputmethod/ComposingText;-><init>()V
 HSPLandroid/view/inputmethod/CursorAnchorInfo$Builder;-><init>()V
 HSPLandroid/view/inputmethod/EditorInfo$1;-><init>()V
 HSPLandroid/view/inputmethod/EditorInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/inputmethod/EditorInfo;
 HSPLandroid/view/inputmethod/EditorInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/view/inputmethod/EditorInfo;-><init>()V
 HSPLandroid/view/inputmethod/EditorInfo;->makeCompatible(I)V
 HSPLandroid/view/inputmethod/EditorInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/inputmethod/ExtractedText$1;-><init>()V
-HSPLandroid/view/inputmethod/ExtractedText;-><init>()V
 HSPLandroid/view/inputmethod/ExtractedTextRequest$1;-><init>()V
 HSPLandroid/view/inputmethod/ExtractedTextRequest;-><init>()V
 HSPLandroid/view/inputmethod/InputBinding$1;-><init>()V
@@ -35328,48 +30146,7 @@
 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/InputConnection;->commitContent(Landroid/view/inputmethod/InputContentInfo;ILandroid/os/Bundle;)Z
-HSPLandroid/view/inputmethod/InputConnection;->deleteSurroundingText(II)Z
-HSPLandroid/view/inputmethod/InputConnection;->deleteSurroundingTextInCodePoints(II)Z
-HSPLandroid/view/inputmethod/InputConnection;->finishComposingText()Z
-HSPLandroid/view/inputmethod/InputConnection;->getCursorCapsMode(I)I
-HSPLandroid/view/inputmethod/InputConnection;->getHandler()Landroid/os/Handler;
-HSPLandroid/view/inputmethod/InputConnection;->getSelectedText(I)Ljava/lang/CharSequence;
-HSPLandroid/view/inputmethod/InputConnection;->getTextAfterCursor(II)Ljava/lang/CharSequence;
-HSPLandroid/view/inputmethod/InputConnection;->getTextBeforeCursor(II)Ljava/lang/CharSequence;
-HSPLandroid/view/inputmethod/InputConnection;->reportFullscreenMode(Z)Z
-HSPLandroid/view/inputmethod/InputConnection;->sendKeyEvent(Landroid/view/KeyEvent;)Z
-HSPLandroid/view/inputmethod/InputConnection;->setComposingRegion(II)Z
-HSPLandroid/view/inputmethod/InputConnection;->setComposingText(Ljava/lang/CharSequence;I)Z
-HSPLandroid/view/inputmethod/InputConnection;->setSelection(II)Z
 HSPLandroid/view/inputmethod/InputConnectionInspector;->getMissingMethodFlags(Landroid/view/inputmethod/InputConnection;)I
-HSPLandroid/view/inputmethod/InputConnectionInspector;->getMissingMethodFlagsInternal(Ljava/lang/Class;)I
-HSPLandroid/view/inputmethod/InputConnectionInspector;->hasCloseConnection(Ljava/lang/Class;)Z
-HSPLandroid/view/inputmethod/InputConnectionInspector;->hasCommitContent(Ljava/lang/Class;)Z
-HSPLandroid/view/inputmethod/InputConnectionInspector;->hasCommitCorrection(Ljava/lang/Class;)Z
-HSPLandroid/view/inputmethod/InputConnectionInspector;->hasDeleteSurroundingTextInCodePoints(Ljava/lang/Class;)Z
-HSPLandroid/view/inputmethod/InputConnectionInspector;->hasGetHandler(Ljava/lang/Class;)Z
-HSPLandroid/view/inputmethod/InputConnectionInspector;->hasGetSelectedText(Ljava/lang/Class;)Z
-HSPLandroid/view/inputmethod/InputConnectionInspector;->hasRequestCursorUpdate(Ljava/lang/Class;)Z
-HSPLandroid/view/inputmethod/InputConnectionInspector;->hasSetComposingRegion(Ljava/lang/Class;)Z
-HSPLandroid/view/inputmethod/InputConnectionWrapper;-><init>(Landroid/view/inputmethod/InputConnection;Z)V
-HSPLandroid/view/inputmethod/InputConnectionWrapper;->closeConnection()V
-HSPLandroid/view/inputmethod/InputConnectionWrapper;->finishComposingText()Z
-HSPLandroid/view/inputmethod/InputConnectionWrapper;->getHandler()Landroid/os/Handler;
-HSPLandroid/view/inputmethod/InputConnectionWrapper;->getMissingMethodFlags()I
-HSPLandroid/view/inputmethod/InputConnectionWrapper;->reportFullscreenMode(Z)Z
-HSPLandroid/view/inputmethod/InputMethod$SessionCallback;->sessionCreated(Landroid/view/inputmethod/InputMethodSession;)V
-HSPLandroid/view/inputmethod/InputMethod;->attachToken(Landroid/os/IBinder;)V
-HSPLandroid/view/inputmethod/InputMethod;->bindInput(Landroid/view/inputmethod/InputBinding;)V
-HSPLandroid/view/inputmethod/InputMethod;->changeInputMethodSubtype(Landroid/view/inputmethod/InputMethodSubtype;)V
-HSPLandroid/view/inputmethod/InputMethod;->createSession(Landroid/view/inputmethod/InputMethod$SessionCallback;)V
-HSPLandroid/view/inputmethod/InputMethod;->dispatchStartInputWithToken(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;ZLandroid/os/IBinder;)V
-HSPLandroid/view/inputmethod/InputMethod;->restartInput(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;)V
-HSPLandroid/view/inputmethod/InputMethod;->revokeSession(Landroid/view/inputmethod/InputMethodSession;)V
-HSPLandroid/view/inputmethod/InputMethod;->setSessionEnabled(Landroid/view/inputmethod/InputMethodSession;Z)V
-HSPLandroid/view/inputmethod/InputMethod;->showSoftInput(ILandroid/os/ResultReceiver;)V
-HSPLandroid/view/inputmethod/InputMethod;->startInput(Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/EditorInfo;)V
-HSPLandroid/view/inputmethod/InputMethod;->unbindInput()V
 HSPLandroid/view/inputmethod/InputMethodInfo$1;-><init>()V
 HSPLandroid/view/inputmethod/InputMethodInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/inputmethod/InputMethodInfo;
 HSPLandroid/view/inputmethod/InputMethodInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -35378,501 +30155,122 @@
 HSPLandroid/view/inputmethod/InputMethodInfo;->computeId(Landroid/content/pm/ResolveInfo;)Ljava/lang/String;
 HSPLandroid/view/inputmethod/InputMethodInfo;->equals(Ljava/lang/Object;)Z
 HSPLandroid/view/inputmethod/InputMethodInfo;->getComponent()Landroid/content/ComponentName;
+HSPLandroid/view/inputmethod/InputMethodInfo;->getId()Ljava/lang/String;
 HSPLandroid/view/inputmethod/InputMethodInfo;->getPackageName()Ljava/lang/String;
-HSPLandroid/view/inputmethod/InputMethodInfo;->getServiceInfo()Landroid/content/pm/ServiceInfo;
 HSPLandroid/view/inputmethod/InputMethodInfo;->getSubtypeAt(I)Landroid/view/inputmethod/InputMethodSubtype;
 HSPLandroid/view/inputmethod/InputMethodInfo;->getSubtypeCount()I
-HSPLandroid/view/inputmethod/InputMethodInfo;->hashCode()I
-HSPLandroid/view/inputmethod/InputMethodInfo;->isDefault(Landroid/content/Context;)Z
 HSPLandroid/view/inputmethod/InputMethodInfo;->loadLabel(Landroid/content/pm/PackageManager;)Ljava/lang/CharSequence;
-HSPLandroid/view/inputmethod/InputMethodInfo;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/view/inputmethod/InputMethodManager$1;->onBindMethod(Lcom/android/internal/view/InputBindResult;)V
 HSPLandroid/view/inputmethod/InputMethodManager$1;->onUnbindMethod(II)V
 HSPLandroid/view/inputmethod/InputMethodManager$1;->reportFullscreenMode(Z)V
 HSPLandroid/view/inputmethod/InputMethodManager$1;->setActive(ZZ)V
+HSPLandroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;-><init>(Landroid/os/Looper;Landroid/view/inputmethod/InputConnection;Landroid/view/inputmethod/InputMethodManager;)V
 HSPLandroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;->deactivate()V
-HSPLandroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;->isActive()Z
-HSPLandroid/view/inputmethod/InputMethodManager$ControlledInputConnectionWrapper;->onUserAction()V
-HSPLandroid/view/inputmethod/InputMethodManager$FinishedInputEventCallback;->onFinishedInputEvent(Ljava/lang/Object;Z)V
 HSPLandroid/view/inputmethod/InputMethodManager$H;->handleMessage(Landroid/os/Message;)V
 HSPLandroid/view/inputmethod/InputMethodManager$ImeInputEventSender;->onInputEventFinished(IZ)V
 HSPLandroid/view/inputmethod/InputMethodManager$PendingEvent;->run()V
-HSPLandroid/view/inputmethod/InputMethodManager;-><init>(Landroid/os/Looper;)V
-HSPLandroid/view/inputmethod/InputMethodManager;-><init>(Lcom/android/internal/view/IInputMethodManager;Landroid/os/Looper;)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;->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;->displayCompletions(Landroid/view/View;[Landroid/view/inputmethod/CompletionInfo;)V
-HSPLandroid/view/inputmethod/InputMethodManager;->finishInputLocked()V
 HSPLandroid/view/inputmethod/InputMethodManager;->finishedInputEvent(IZZ)V
-HSPLandroid/view/inputmethod/InputMethodManager;->flushPendingEventsLocked()V
 HSPLandroid/view/inputmethod/InputMethodManager;->focusIn(Landroid/view/View;)V
-HSPLandroid/view/inputmethod/InputMethodManager;->focusInLocked(Landroid/view/View;)V
 HSPLandroid/view/inputmethod/InputMethodManager;->focusOut(Landroid/view/View;)V
-HSPLandroid/view/inputmethod/InputMethodManager;->getCurrentInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;
+HSPLandroid/view/inputmethod/InputMethodManager;->forContext(Landroid/content/Context;)Landroid/view/inputmethod/InputMethodManager;
+HSPLandroid/view/inputmethod/InputMethodManager;->forContextInternal(ILandroid/os/Looper;)Landroid/view/inputmethod/InputMethodManager;
 HSPLandroid/view/inputmethod/InputMethodManager;->getEnabledInputMethodList()Ljava/util/List;
 HSPLandroid/view/inputmethod/InputMethodManager;->getEnabledInputMethodSubtypeList(Landroid/view/inputmethod/InputMethodInfo;Z)Ljava/util/List;
+HSPLandroid/view/inputmethod/InputMethodManager;->getFallbackInputMethodManagerIfNecessary(Landroid/view/View;)Landroid/view/inputmethod/InputMethodManager;
 HSPLandroid/view/inputmethod/InputMethodManager;->getInputMethodList()Ljava/util/List;
-HSPLandroid/view/inputmethod/InputMethodManager;->getInputMethodWindowVisibleHeight()I
-HSPLandroid/view/inputmethod/InputMethodManager;->getInstance()Landroid/view/inputmethod/InputMethodManager;
 HSPLandroid/view/inputmethod/InputMethodManager;->hideSoftInputFromWindow(Landroid/os/IBinder;I)Z
 HSPLandroid/view/inputmethod/InputMethodManager;->hideSoftInputFromWindow(Landroid/os/IBinder;ILandroid/os/ResultReceiver;)Z
-HSPLandroid/view/inputmethod/InputMethodManager;->isAcceptingText()Z
 HSPLandroid/view/inputmethod/InputMethodManager;->isActive(Landroid/view/View;)Z
 HSPLandroid/view/inputmethod/InputMethodManager;->isCursorAnchorInfoEnabled()Z
 HSPLandroid/view/inputmethod/InputMethodManager;->isFullscreenMode()Z
-HSPLandroid/view/inputmethod/InputMethodManager;->isWatchingCursor(Landroid/view/View;)Z
-HSPLandroid/view/inputmethod/InputMethodManager;->notifyUserAction()V
+HSPLandroid/view/inputmethod/InputMethodManager;->maybeCallServedViewChangedLocked(Landroid/view/inputmethod/EditorInfo;)V
 HSPLandroid/view/inputmethod/InputMethodManager;->onPostWindowFocus(Landroid/view/View;Landroid/view/View;IZI)V
 HSPLandroid/view/inputmethod/InputMethodManager;->onPreWindowFocus(Landroid/view/View;Z)V
 HSPLandroid/view/inputmethod/InputMethodManager;->onViewDetachedFromWindow(Landroid/view/View;)V
-HSPLandroid/view/inputmethod/InputMethodManager;->reportFullscreenMode(Landroid/os/IBinder;Z)V
+HSPLandroid/view/inputmethod/InputMethodManager;->registerImeConsumer(Landroid/view/ImeInsetsSourceConsumer;)V
 HSPLandroid/view/inputmethod/InputMethodManager;->restartInput(Landroid/view/View;)V
-HSPLandroid/view/inputmethod/InputMethodManager;->scheduleCheckFocusLocked(Landroid/view/View;)V
 HSPLandroid/view/inputmethod/InputMethodManager;->sendInputEventOnMainLooperLocked(Landroid/view/inputmethod/InputMethodManager$PendingEvent;)I
-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;->setInputChannelLocked(Landroid/view/InputChannel;)V
+HSPLandroid/view/inputmethod/InputMethodManager;->shouldOfferSwitchingToNextInputMethod(Landroid/os/IBinder;)Z
 HSPLandroid/view/inputmethod/InputMethodManager;->startInputInner(ILandroid/os/IBinder;III)Z
 HSPLandroid/view/inputmethod/InputMethodManager;->updateSelection(Landroid/view/View;IIII)V
 HSPLandroid/view/inputmethod/InputMethodManager;->windowDismissed(Landroid/os/IBinder;)V
-HSPLandroid/view/inputmethod/InputMethodManagerInternal;->hideCurrentInputMethod()V
-HSPLandroid/view/inputmethod/InputMethodManagerInternal;->setInteractive(Z)V
-HSPLandroid/view/inputmethod/InputMethodManagerInternal;->startVrInputMethodNoCheck(Landroid/content/ComponentName;)V
-HSPLandroid/view/inputmethod/InputMethodManagerInternal;->switchInputMethod(Z)V
-HSPLandroid/view/inputmethod/InputMethodSession$EventCallback;->finishedEvent(IZ)V
-HSPLandroid/view/inputmethod/InputMethodSession;->appPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLandroid/view/inputmethod/InputMethodSession;->dispatchGenericMotionEvent(ILandroid/view/MotionEvent;Landroid/view/inputmethod/InputMethodSession$EventCallback;)V
-HSPLandroid/view/inputmethod/InputMethodSession;->dispatchKeyEvent(ILandroid/view/KeyEvent;Landroid/view/inputmethod/InputMethodSession$EventCallback;)V
-HSPLandroid/view/inputmethod/InputMethodSession;->dispatchTrackballEvent(ILandroid/view/MotionEvent;Landroid/view/inputmethod/InputMethodSession$EventCallback;)V
-HSPLandroid/view/inputmethod/InputMethodSession;->displayCompletions([Landroid/view/inputmethod/CompletionInfo;)V
-HSPLandroid/view/inputmethod/InputMethodSession;->finishInput()V
-HSPLandroid/view/inputmethod/InputMethodSession;->toggleSoftInput(II)V
-HSPLandroid/view/inputmethod/InputMethodSession;->updateCursor(Landroid/graphics/Rect;)V
-HSPLandroid/view/inputmethod/InputMethodSession;->updateCursorAnchorInfo(Landroid/view/inputmethod/CursorAnchorInfo;)V
-HSPLandroid/view/inputmethod/InputMethodSession;->updateExtractedText(ILandroid/view/inputmethod/ExtractedText;)V
-HSPLandroid/view/inputmethod/InputMethodSession;->updateSelection(IIIIII)V
-HSPLandroid/view/inputmethod/InputMethodSession;->viewClicked(Z)V
 HSPLandroid/view/inputmethod/InputMethodSubtype$1;-><init>()V
 HSPLandroid/view/inputmethod/InputMethodSubtype$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/inputmethod/InputMethodSubtype;
 HSPLandroid/view/inputmethod/InputMethodSubtype$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/inputmethod/InputMethodSubtype$1;->newArray(I)[Landroid/view/inputmethod/InputMethodSubtype;
-HSPLandroid/view/inputmethod/InputMethodSubtype$1;->newArray(I)[Ljava/lang/Object;
-HSPLandroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;-><init>()V
 HSPLandroid/view/inputmethod/InputMethodSubtype;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/view/inputmethod/InputMethodSubtype;-><init>(Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;)V
-HSPLandroid/view/inputmethod/InputMethodSubtype;-><init>(Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;Landroid/view/inputmethod/InputMethodSubtype$1;)V
-HSPLandroid/view/inputmethod/InputMethodSubtype;->containsExtraValueKey(Ljava/lang/String;)Z
-HSPLandroid/view/inputmethod/InputMethodSubtype;->getDisplayName(Landroid/content/Context;Ljava/lang/String;Landroid/content/pm/ApplicationInfo;)Ljava/lang/CharSequence;
-HSPLandroid/view/inputmethod/InputMethodSubtype;->getExtraValueHashMap()Ljava/util/HashMap;
-HSPLandroid/view/inputmethod/InputMethodSubtype;->getLocale()Ljava/lang/String;
-HSPLandroid/view/inputmethod/InputMethodSubtype;->getLocaleObject()Ljava/util/Locale;
-HSPLandroid/view/inputmethod/InputMethodSubtype;->getMode()Ljava/lang/String;
 HSPLandroid/view/inputmethod/InputMethodSubtype;->hashCode()I
 HSPLandroid/view/inputmethod/InputMethodSubtype;->hashCodeInternal(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZZ)I
+HSPLandroid/view/inputmethod/InputMethodSubtype;->isAuxiliary()Z
 HSPLandroid/view/inputmethod/InputMethodSubtype;->sort(Landroid/content/Context;ILandroid/view/inputmethod/InputMethodInfo;Ljava/util/List;)Ljava/util/List;
-HSPLandroid/view/inputmethod/InputMethodSubtype;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/inputmethod/InputMethodSubtypeArray;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
 HSPLandroid/view/inputmethod/InputMethodSubtypeArray;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/view/inputmethod/InputMethodSubtypeArray;-><init>(Ljava/util/List;)V
-HSPLandroid/view/inputmethod/InputMethodSubtypeArray;->compress([B)[B
-HSPLandroid/view/inputmethod/InputMethodSubtypeArray;->decompress([BI)[B
 HSPLandroid/view/inputmethod/InputMethodSubtypeArray;->get(I)Landroid/view/inputmethod/InputMethodSubtype;
 HSPLandroid/view/inputmethod/InputMethodSubtypeArray;->getCount()I
-HSPLandroid/view/inputmethod/InputMethodSubtypeArray;->marshall([Landroid/view/inputmethod/InputMethodSubtype;)[B
-HSPLandroid/view/inputmethod/InputMethodSubtypeArray;->unmarshall([B)[Landroid/view/inputmethod/InputMethodSubtype;
-HSPLandroid/view/inputmethod/InputMethodSubtypeArray;->writeToParcel(Landroid/os/Parcel;)V
+HSPLandroid/view/inputmethod/InputMethodSystemProperty;->getMultiClientImeComponentName()Landroid/content/ComponentName;
+HSPLandroid/view/textclassifier/-$$Lambda$0biFK4yZBmWN1EO2wtnXskzuEcE;-><init>()V
+HSPLandroid/view/textclassifier/-$$Lambda$9N8WImc0VBjy2oxI_Gk5_Pbye_A;-><init>()V
+HSPLandroid/view/textclassifier/-$$Lambda$L_UQMPjXwBN0ch4zL2dD82nf9RI;-><init>()V
+HSPLandroid/view/textclassifier/-$$Lambda$NxwbyZSxofZ4Z5SQhfXmtLQ1nxk;-><init>()V
+HSPLandroid/view/textclassifier/-$$Lambda$TextClassifierImpl$RRbXefHgcUymI9-P95ArUyMvfbw;-><init>()V
+HSPLandroid/view/textclassifier/-$$Lambda$XeE_KI7QgMKzF9vYRSoFWAolyuA;-><init>()V
+HSPLandroid/view/textclassifier/-$$Lambda$jJq8RXuVdjYF3lPq-77PEw1NJLM;-><init>()V
+HSPLandroid/view/textclassifier/ConversationActions$1;-><init>()V
+HSPLandroid/view/textclassifier/ConversationActions;-><init>(Ljava/util/List;Ljava/lang/String;)V
+HSPLandroid/view/textclassifier/ConversationActions;->getConversationActions()Ljava/util/List;
+HSPLandroid/view/textclassifier/ConversationActions;->getId()Ljava/lang/String;
 HSPLandroid/view/textclassifier/EntityConfidence$1;-><init>()V
-HSPLandroid/view/textclassifier/EntityConfidence$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/EntityConfidence;
-HSPLandroid/view/textclassifier/EntityConfidence$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/textclassifier/EntityConfidence;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/view/textclassifier/EntityConfidence;-><init>(Ljava/util/Map;)V
 HSPLandroid/view/textclassifier/EntityConfidence;->resetSortedEntitiesFromMap()V
-HSPLandroid/view/textclassifier/GenerateLinksLogger;->logGenerateLinks(Ljava/lang/CharSequence;Landroid/view/textclassifier/TextLinks;Ljava/lang/String;J)V
-HSPLandroid/view/textclassifier/SelectionSessionLogger;->createId(Ljava/lang/String;IILandroid/content/Context;ILjava/util/List;)Ljava/lang/String;
-HSPLandroid/view/textclassifier/SystemTextClassifier$TextClassificationCallback;->onSuccess(Landroid/view/textclassifier/TextClassification;)V
+HSPLandroid/view/textclassifier/ModelFileManager$ModelFileSupplierImpl;-><init>(Ljava/io/File;Ljava/lang/String;Ljava/io/File;Ljava/util/function/Function;Ljava/util/function/Function;)V
 HSPLandroid/view/textclassifier/SystemTextClassifier;-><init>(Landroid/content/Context;Landroid/view/textclassifier/TextClassificationConstants;)V
-HSPLandroid/view/textclassifier/SystemTextClassifier;->classifyText(Landroid/view/textclassifier/TextClassification$Request;)Landroid/view/textclassifier/TextClassification;
 HSPLandroid/view/textclassifier/TextClassification$1;-><init>()V
-HSPLandroid/view/textclassifier/TextClassification$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextClassification;
-HSPLandroid/view/textclassifier/TextClassification$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLandroid/view/textclassifier/TextClassification$Builder;-><init>()V
 HSPLandroid/view/textclassifier/TextClassification$Builder;->build()Landroid/view/textclassifier/TextClassification;
-HSPLandroid/view/textclassifier/TextClassification$Request$1;-><init>()V
-HSPLandroid/view/textclassifier/TextClassification$Request;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/view/textclassifier/TextClassification;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/view/textclassifier/TextClassification;-><init>(Ljava/lang/String;Landroid/graphics/drawable/Drawable;Ljava/lang/String;Landroid/content/Intent;Landroid/view/View$OnClickListener;Ljava/util/List;Ljava/util/Map;Ljava/lang/String;Landroid/view/textclassifier/TextClassification$1;)V
+HSPLandroid/view/textclassifier/TextClassification$Builder;->buildExtras()Landroid/os/Bundle;
 HSPLandroid/view/textclassifier/TextClassificationConstants;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/textclassifier/TextClassificationManager$SettingsObserver;-><init>(Landroid/view/textclassifier/TextClassificationManager;)V
 HSPLandroid/view/textclassifier/TextClassificationManager;-><init>(Landroid/content/Context;)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;
 HSPLandroid/view/textclassifier/TextClassificationManager;->getSystemTextClassifier()Landroid/view/textclassifier/TextClassifier;
 HSPLandroid/view/textclassifier/TextClassificationManager;->getTextClassifier()Landroid/view/textclassifier/TextClassifier;
-HSPLandroid/view/textclassifier/TextClassificationSessionFactory;->createTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;)Landroid/view/textclassifier/TextClassifier;
 HSPLandroid/view/textclassifier/TextClassifier$1;-><init>()V
-HSPLandroid/view/textclassifier/TextClassifier$Utils;->checkArgument(Ljava/lang/CharSequence;II)V
-HSPLandroid/view/textclassifier/TextClassifier;->classifyText(Ljava/lang/CharSequence;IILandroid/os/LocaleList;)Landroid/view/textclassifier/TextClassification;
-HSPLandroid/view/textclassifier/TextClassifierImpl$IntentFactory;->create(Landroid/content/Context;Ljava/time/Instant;Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;Ljava/lang/String;)Ljava/util/List;
-HSPLandroid/view/textclassifier/TextClassifierImpl$ModelFile;->fromPath(Ljava/lang/String;)Landroid/view/textclassifier/TextClassifierImpl$ModelFile;
-HSPLandroid/view/textclassifier/TextClassifierImpl$ModelFile;->toString()Ljava/lang/String;
 HSPLandroid/view/textclassifier/TextClassifierImpl;-><init>(Landroid/content/Context;Landroid/view/textclassifier/TextClassificationConstants;Landroid/view/textclassifier/TextClassifier;)V
-HSPLandroid/view/textclassifier/TextClassifierImpl;->classifyText(Landroid/view/textclassifier/TextClassification$Request;)Landroid/view/textclassifier/TextClassification;
-HSPLandroid/view/textclassifier/TextClassifierImpl;->closeAndLogError(Landroid/os/ParcelFileDescriptor;)V
-HSPLandroid/view/textclassifier/TextClassifierImpl;->createClassificationResult([Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;Ljava/lang/String;IILjava/time/Instant;)Landroid/view/textclassifier/TextClassification;
-HSPLandroid/view/textclassifier/TextClassifierImpl;->createId(Ljava/lang/String;II)Ljava/lang/String;
-HSPLandroid/view/textclassifier/TextClassifierImpl;->findBestModelLocked(Landroid/os/LocaleList;)Landroid/view/textclassifier/TextClassifierImpl$ModelFile;
-HSPLandroid/view/textclassifier/TextClassifierImpl;->generateLinks(Landroid/view/textclassifier/TextLinks$Request;)Landroid/view/textclassifier/TextLinks;
-HSPLandroid/view/textclassifier/TextClassifierImpl;->getNative(Landroid/os/LocaleList;)Landroid/view/textclassifier/TextClassifierImplNative;
-HSPLandroid/view/textclassifier/TextClassifierImpl;->listAllModelsLocked()Ljava/util/List;
-HSPLandroid/view/textclassifier/TextClassifierImplNative$AnnotationOptions;->getLocale()Ljava/lang/String;
-HSPLandroid/view/textclassifier/TextClassifierImplNative$AnnotationOptions;->getReferenceTimeMsUtc()J
-HSPLandroid/view/textclassifier/TextClassifierImplNative$AnnotationOptions;->getReferenceTimezone()Ljava/lang/String;
-HSPLandroid/view/textclassifier/TextClassifierImplNative$ClassificationOptions;->getLocale()Ljava/lang/String;
-HSPLandroid/view/textclassifier/TextClassifierImplNative$ClassificationOptions;->getReferenceTimeMsUtc()J
-HSPLandroid/view/textclassifier/TextClassifierImplNative$ClassificationOptions;->getReferenceTimezone()Ljava/lang/String;
-HSPLandroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;-><init>(Ljava/lang/String;FLandroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;)V
-HSPLandroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;->getCollection()Ljava/lang/String;
-HSPLandroid/view/textclassifier/TextClassifierImplNative;-><init>(I)V
-HSPLandroid/view/textclassifier/TextLinks$1;-><init>()V
-HSPLandroid/view/textclassifier/TextLinks$Builder;-><init>(Ljava/lang/String;)V
-HSPLandroid/view/textclassifier/TextLinks$Builder;->build()Landroid/view/textclassifier/TextLinks;
-HSPLandroid/view/textclassifier/TextLinks$Request$1;-><init>()V
-HSPLandroid/view/textclassifier/TextLinks$Request$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textclassifier/TextLinks$Request;
-HSPLandroid/view/textclassifier/TextLinks$Request$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/textclassifier/TextLinks$Request;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/view/textclassifier/TextLinks$Request;->getDefaultLocales()Landroid/os/LocaleList;
-HSPLandroid/view/textclassifier/TextLinks$Request;->getText()Ljava/lang/CharSequence;
-HSPLandroid/view/textclassifier/TextLinks;->getLinks()Ljava/util/Collection;
+HSPLandroid/view/textclassifier/TextSelection$1;-><init>()V
 HSPLandroid/view/textservice/SpellCheckerInfo$1;-><init>()V
-HSPLandroid/view/textservice/SpellCheckerInfo$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textservice/SpellCheckerInfo;
-HSPLandroid/view/textservice/SpellCheckerInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/textservice/SpellCheckerInfo;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/view/textservice/SpellCheckerSession$InternalListener;->onServiceConnected(Lcom/android/internal/textservice/ISpellCheckerSession;)V
-HSPLandroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;->onGetSentenceSuggestions([Landroid/view/textservice/SentenceSuggestionsInfo;)V
-HSPLandroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;->onGetSuggestions([Landroid/view/textservice/SuggestionsInfo;)V
-HSPLandroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListenerImpl;->onServiceConnected(Lcom/android/internal/textservice/ISpellCheckerSession;)V
-HSPLandroid/view/textservice/SpellCheckerSession;-><init>(Landroid/view/textservice/SpellCheckerInfo;Lcom/android/internal/textservice/ITextServicesManager;Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;)V
 HSPLandroid/view/textservice/SpellCheckerSubtype$1;-><init>()V
-HSPLandroid/view/textservice/SpellCheckerSubtype$1;->createFromParcel(Landroid/os/Parcel;)Landroid/view/textservice/SpellCheckerSubtype;
-HSPLandroid/view/textservice/SpellCheckerSubtype$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/view/textservice/SpellCheckerSubtype;-><init>(Landroid/os/Parcel;)V
-HSPLandroid/view/textservice/TextServicesManager;-><init>()V
-HSPLandroid/view/textservice/TextServicesManager;->getCurrentSpellChecker()Landroid/view/textservice/SpellCheckerInfo;
-HSPLandroid/view/textservice/TextServicesManager;->getCurrentSpellCheckerSubtype(Z)Landroid/view/textservice/SpellCheckerSubtype;
-HSPLandroid/view/textservice/TextServicesManager;->getInstance()Landroid/view/textservice/TextServicesManager;
-HSPLandroid/view/textservice/TextServicesManager;->isSpellCheckerEnabled()Z
-HSPLandroid/view/textservice/TextServicesManager;->newSpellCheckerSession(Landroid/os/Bundle;Ljava/util/Locale;Landroid/view/textservice/SpellCheckerSession$SpellCheckerSessionListener;Z)Landroid/view/textservice/SpellCheckerSession;
+HSPLandroid/view/textservice/TextServicesManager;->createInstance(Landroid/content/Context;)Landroid/view/textservice/TextServicesManager;
 HSPLandroid/webkit/-$$Lambda$xYTrYQCPf1HcdlWzDof3mq93ihs;-><init>()V
 HSPLandroid/webkit/-$$Lambda$xYTrYQCPf1HcdlWzDof3mq93ihs;->run()V
 HSPLandroid/webkit/ConsoleMessage$MessageLevel;-><init>(Ljava/lang/String;I)V
-HSPLandroid/webkit/ConsoleMessage;-><init>(Ljava/lang/String;Ljava/lang/String;ILandroid/webkit/ConsoleMessage$MessageLevel;)V
-HSPLandroid/webkit/ConsoleMessage;->lineNumber()I
-HSPLandroid/webkit/ConsoleMessage;->message()Ljava/lang/String;
-HSPLandroid/webkit/ConsoleMessage;->messageLevel()Landroid/webkit/ConsoleMessage$MessageLevel;
-HSPLandroid/webkit/ConsoleMessage;->sourceId()Ljava/lang/String;
 HSPLandroid/webkit/CookieManager;-><init>()V
-HSPLandroid/webkit/CookieManager;->acceptCookie()Z
-HSPLandroid/webkit/CookieManager;->acceptThirdPartyCookies(Landroid/webkit/WebView;)Z
-HSPLandroid/webkit/CookieManager;->allowFileSchemeCookiesImpl()Z
-HSPLandroid/webkit/CookieManager;->flush()V
-HSPLandroid/webkit/CookieManager;->getCookie(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/webkit/CookieManager;->getCookie(Ljava/lang/String;Z)Ljava/lang/String;
 HSPLandroid/webkit/CookieManager;->getInstance()Landroid/webkit/CookieManager;
-HSPLandroid/webkit/CookieManager;->hasCookies()Z
-HSPLandroid/webkit/CookieManager;->hasCookies(Z)Z
-HSPLandroid/webkit/CookieManager;->removeAllCookie()V
-HSPLandroid/webkit/CookieManager;->removeAllCookies(Landroid/webkit/ValueCallback;)V
-HSPLandroid/webkit/CookieManager;->removeExpiredCookie()V
-HSPLandroid/webkit/CookieManager;->removeSessionCookie()V
-HSPLandroid/webkit/CookieManager;->removeSessionCookies(Landroid/webkit/ValueCallback;)V
-HSPLandroid/webkit/CookieManager;->setAcceptCookie(Z)V
-HSPLandroid/webkit/CookieManager;->setAcceptFileSchemeCookies(Z)V
-HSPLandroid/webkit/CookieManager;->setAcceptFileSchemeCookiesImpl(Z)V
-HSPLandroid/webkit/CookieManager;->setAcceptThirdPartyCookies(Landroid/webkit/WebView;Z)V
-HSPLandroid/webkit/CookieManager;->setCookie(Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/webkit/CookieManager;->setCookie(Ljava/lang/String;Ljava/lang/String;Landroid/webkit/ValueCallback;)V
 HSPLandroid/webkit/CookieSyncManager;->checkInstanceIsAllowed()V
 HSPLandroid/webkit/CookieSyncManager;->createInstance(Landroid/content/Context;)Landroid/webkit/CookieSyncManager;
 HSPLandroid/webkit/CookieSyncManager;->getInstance()Landroid/webkit/CookieSyncManager;
-HSPLandroid/webkit/CookieSyncManager;->startSync()V
-HSPLandroid/webkit/CookieSyncManager;->sync()V
-HSPLandroid/webkit/DownloadListener;->onDownloadStart(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
-HSPLandroid/webkit/FindAddress$ZipRange;-><init>(IIII)V
-HSPLandroid/webkit/FindAddress;->attemptMatch(Ljava/lang/String;Ljava/util/regex/MatchResult;)I
-HSPLandroid/webkit/FindAddress;->checkHouseNumber(Ljava/lang/String;)Z
-HSPLandroid/webkit/FindAddress;->findAddress(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/webkit/FindAddress;->matchHouseNumber(Ljava/lang/String;I)Ljava/util/regex/MatchResult;
-HSPLandroid/webkit/GeolocationPermissions;-><init>()V
+HSPLandroid/webkit/IWebViewUpdateService$Stub$Proxy;->isFallbackPackage(Ljava/lang/String;)Z
 HSPLandroid/webkit/IWebViewUpdateService$Stub$Proxy;->isMultiProcessEnabled()Z
 HSPLandroid/webkit/IWebViewUpdateService$Stub$Proxy;->waitForAndGetProvider()Landroid/webkit/WebViewProviderResponse;
 HSPLandroid/webkit/IWebViewUpdateService$Stub;-><init>()V
+HSPLandroid/webkit/IWebViewUpdateService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/webkit/IWebViewUpdateService;
 HSPLandroid/webkit/IWebViewUpdateService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLandroid/webkit/IWebViewUpdateService;->changeProviderAndSetting(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/webkit/IWebViewUpdateService;->enableFallbackLogic(Z)V
-HSPLandroid/webkit/IWebViewUpdateService;->enableMultiProcess(Z)V
-HSPLandroid/webkit/IWebViewUpdateService;->getAllWebViewPackages()[Landroid/webkit/WebViewProviderInfo;
-HSPLandroid/webkit/IWebViewUpdateService;->getCurrentWebViewPackage()Landroid/content/pm/PackageInfo;
-HSPLandroid/webkit/IWebViewUpdateService;->getCurrentWebViewPackageName()Ljava/lang/String;
-HSPLandroid/webkit/IWebViewUpdateService;->getValidWebViewPackages()[Landroid/webkit/WebViewProviderInfo;
-HSPLandroid/webkit/IWebViewUpdateService;->isFallbackPackage(Ljava/lang/String;)Z
-HSPLandroid/webkit/IWebViewUpdateService;->isMultiProcessEnabled()Z
-HSPLandroid/webkit/IWebViewUpdateService;->notifyRelroCreationCompleted()V
-HSPLandroid/webkit/IWebViewUpdateService;->waitForAndGetProvider()Landroid/webkit/WebViewProviderResponse;
-HSPLandroid/webkit/JsPromptResult;->confirm(Ljava/lang/String;)V
-HSPLandroid/webkit/JsPromptResult;->getStringResult()Ljava/lang/String;
-HSPLandroid/webkit/JsResult$ResultReceiver;->onJsResultComplete(Landroid/webkit/JsResult;)V
-HSPLandroid/webkit/MimeTypeMap;-><init>()V
-HSPLandroid/webkit/MimeTypeMap;->getFileExtensionFromUrl(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/webkit/MimeTypeMap;->getSingleton()Landroid/webkit/MimeTypeMap;
-HSPLandroid/webkit/ServiceWorkerController;-><init>()V
-HSPLandroid/webkit/ServiceWorkerController;->getServiceWorkerWebSettings()Landroid/webkit/ServiceWorkerWebSettings;
-HSPLandroid/webkit/ServiceWorkerController;->setServiceWorkerClient(Landroid/webkit/ServiceWorkerClient;)V
-HSPLandroid/webkit/URLUtil;->isHttpUrl(Ljava/lang/String;)Z
-HSPLandroid/webkit/URLUtil;->isHttpsUrl(Ljava/lang/String;)Z
 HSPLandroid/webkit/URLUtil;->isValidUrl(Ljava/lang/String;)Z
 HSPLandroid/webkit/UserPackage;->getPackageInfo()Landroid/content/pm/PackageInfo;
 HSPLandroid/webkit/UserPackage;->getPackageInfosAllUsers(Landroid/content/Context;Ljava/lang/String;I)Ljava/util/List;
 HSPLandroid/webkit/UserPackage;->hasCorrectTargetSdkVersion(Landroid/content/pm/PackageInfo;)Z
 HSPLandroid/webkit/UserPackage;->isEnabledPackage()Z
 HSPLandroid/webkit/UserPackage;->isInstalledPackage()Z
-HSPLandroid/webkit/ValueCallback;->onReceiveValue(Ljava/lang/Object;)V
-HSPLandroid/webkit/WebBackForwardList;->clone()Landroid/webkit/WebBackForwardList;
-HSPLandroid/webkit/WebBackForwardList;->getCurrentIndex()I
-HSPLandroid/webkit/WebBackForwardList;->getCurrentItem()Landroid/webkit/WebHistoryItem;
-HSPLandroid/webkit/WebBackForwardList;->getItemAtIndex(I)Landroid/webkit/WebHistoryItem;
-HSPLandroid/webkit/WebBackForwardList;->getSize()I
-HSPLandroid/webkit/WebChromeClient;-><init>()V
-HSPLandroid/webkit/WebChromeClient;->getVisitedHistory(Landroid/webkit/ValueCallback;)V
-HSPLandroid/webkit/WebChromeClient;->onConsoleMessage(Landroid/webkit/ConsoleMessage;)Z
-HSPLandroid/webkit/WebChromeClient;->onConsoleMessage(Ljava/lang/String;ILjava/lang/String;)V
-HSPLandroid/webkit/WebChromeClient;->onProgressChanged(Landroid/webkit/WebView;I)V
-HSPLandroid/webkit/WebChromeClient;->onReceivedIcon(Landroid/webkit/WebView;Landroid/graphics/Bitmap;)V
-HSPLandroid/webkit/WebChromeClient;->onReceivedTitle(Landroid/webkit/WebView;Ljava/lang/String;)V
-HSPLandroid/webkit/WebHistoryItem;->clone()Landroid/webkit/WebHistoryItem;
-HSPLandroid/webkit/WebHistoryItem;->getFavicon()Landroid/graphics/Bitmap;
-HSPLandroid/webkit/WebHistoryItem;->getId()I
-HSPLandroid/webkit/WebHistoryItem;->getOriginalUrl()Ljava/lang/String;
-HSPLandroid/webkit/WebHistoryItem;->getTitle()Ljava/lang/String;
-HSPLandroid/webkit/WebHistoryItem;->getUrl()Ljava/lang/String;
-HSPLandroid/webkit/WebResourceRequest;->getMethod()Ljava/lang/String;
-HSPLandroid/webkit/WebResourceRequest;->getRequestHeaders()Ljava/util/Map;
-HSPLandroid/webkit/WebResourceRequest;->getUrl()Landroid/net/Uri;
-HSPLandroid/webkit/WebResourceRequest;->hasGesture()Z
-HSPLandroid/webkit/WebResourceRequest;->isForMainFrame()Z
-HSPLandroid/webkit/WebResourceRequest;->isRedirect()Z
-HSPLandroid/webkit/WebResourceResponse;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/util/Map;Ljava/io/InputStream;)V
-HSPLandroid/webkit/WebResourceResponse;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/io/InputStream;)V
-HSPLandroid/webkit/WebResourceResponse;->getData()Ljava/io/InputStream;
-HSPLandroid/webkit/WebResourceResponse;->getEncoding()Ljava/lang/String;
-HSPLandroid/webkit/WebResourceResponse;->getMimeType()Ljava/lang/String;
-HSPLandroid/webkit/WebResourceResponse;->getReasonPhrase()Ljava/lang/String;
-HSPLandroid/webkit/WebResourceResponse;->getResponseHeaders()Ljava/util/Map;
-HSPLandroid/webkit/WebResourceResponse;->getStatusCode()I
-HSPLandroid/webkit/WebResourceResponse;->setData(Ljava/io/InputStream;)V
-HSPLandroid/webkit/WebResourceResponse;->setResponseHeaders(Ljava/util/Map;)V
-HSPLandroid/webkit/WebResourceResponse;->setStatusCodeAndReasonPhrase(ILjava/lang/String;)V
-HSPLandroid/webkit/WebSettings$LayoutAlgorithm;-><init>(Ljava/lang/String;I)V
-HSPLandroid/webkit/WebSettings$LayoutAlgorithm;->values()[Landroid/webkit/WebSettings$LayoutAlgorithm;
-HSPLandroid/webkit/WebSettings$PluginState;-><init>(Ljava/lang/String;I)V
-HSPLandroid/webkit/WebSettings$PluginState;->values()[Landroid/webkit/WebSettings$PluginState;
-HSPLandroid/webkit/WebSettings$ZoomDensity;-><init>(Ljava/lang/String;II)V
-HSPLandroid/webkit/WebSettings;-><init>()V
-HSPLandroid/webkit/WebSettings;->enableSmoothTransition()Z
-HSPLandroid/webkit/WebSettings;->getAcceptThirdPartyCookies()Z
-HSPLandroid/webkit/WebSettings;->getAllowContentAccess()Z
-HSPLandroid/webkit/WebSettings;->getAllowFileAccess()Z
-HSPLandroid/webkit/WebSettings;->getAllowFileAccessFromFileURLs()Z
-HSPLandroid/webkit/WebSettings;->getAllowUniversalAccessFromFileURLs()Z
-HSPLandroid/webkit/WebSettings;->getBlockNetworkImage()Z
-HSPLandroid/webkit/WebSettings;->getBlockNetworkLoads()Z
-HSPLandroid/webkit/WebSettings;->getBuiltInZoomControls()Z
-HSPLandroid/webkit/WebSettings;->getCacheMode()I
-HSPLandroid/webkit/WebSettings;->getCursiveFontFamily()Ljava/lang/String;
-HSPLandroid/webkit/WebSettings;->getDatabaseEnabled()Z
-HSPLandroid/webkit/WebSettings;->getDatabasePath()Ljava/lang/String;
-HSPLandroid/webkit/WebSettings;->getDefaultFixedFontSize()I
-HSPLandroid/webkit/WebSettings;->getDefaultFontSize()I
-HSPLandroid/webkit/WebSettings;->getDefaultTextEncodingName()Ljava/lang/String;
-HSPLandroid/webkit/WebSettings;->getDefaultUserAgent(Landroid/content/Context;)Ljava/lang/String;
-HSPLandroid/webkit/WebSettings;->getDefaultZoom()Landroid/webkit/WebSettings$ZoomDensity;
-HSPLandroid/webkit/WebSettings;->getDisabledActionModeMenuItems()I
-HSPLandroid/webkit/WebSettings;->getDisplayZoomControls()Z
-HSPLandroid/webkit/WebSettings;->getDomStorageEnabled()Z
-HSPLandroid/webkit/WebSettings;->getFantasyFontFamily()Ljava/lang/String;
-HSPLandroid/webkit/WebSettings;->getFixedFontFamily()Ljava/lang/String;
-HSPLandroid/webkit/WebSettings;->getJavaScriptCanOpenWindowsAutomatically()Z
-HSPLandroid/webkit/WebSettings;->getJavaScriptEnabled()Z
-HSPLandroid/webkit/WebSettings;->getLayoutAlgorithm()Landroid/webkit/WebSettings$LayoutAlgorithm;
-HSPLandroid/webkit/WebSettings;->getLightTouchEnabled()Z
-HSPLandroid/webkit/WebSettings;->getLoadWithOverviewMode()Z
-HSPLandroid/webkit/WebSettings;->getLoadsImagesAutomatically()Z
-HSPLandroid/webkit/WebSettings;->getMediaPlaybackRequiresUserGesture()Z
-HSPLandroid/webkit/WebSettings;->getMinimumFontSize()I
-HSPLandroid/webkit/WebSettings;->getMinimumLogicalFontSize()I
-HSPLandroid/webkit/WebSettings;->getMixedContentMode()I
-HSPLandroid/webkit/WebSettings;->getNavDump()Z
-HSPLandroid/webkit/WebSettings;->getOffscreenPreRaster()Z
-HSPLandroid/webkit/WebSettings;->getPluginState()Landroid/webkit/WebSettings$PluginState;
-HSPLandroid/webkit/WebSettings;->getPluginsEnabled()Z
-HSPLandroid/webkit/WebSettings;->getSafeBrowsingEnabled()Z
-HSPLandroid/webkit/WebSettings;->getSansSerifFontFamily()Ljava/lang/String;
-HSPLandroid/webkit/WebSettings;->getSaveFormData()Z
-HSPLandroid/webkit/WebSettings;->getSavePassword()Z
-HSPLandroid/webkit/WebSettings;->getSerifFontFamily()Ljava/lang/String;
-HSPLandroid/webkit/WebSettings;->getStandardFontFamily()Ljava/lang/String;
-HSPLandroid/webkit/WebSettings;->getTextZoom()I
-HSPLandroid/webkit/WebSettings;->getUseWebViewBackgroundForOverscrollBackground()Z
-HSPLandroid/webkit/WebSettings;->getUseWideViewPort()Z
-HSPLandroid/webkit/WebSettings;->getUserAgent()I
-HSPLandroid/webkit/WebSettings;->getUserAgentString()Ljava/lang/String;
-HSPLandroid/webkit/WebSettings;->getVideoOverlayForEmbeddedEncryptedVideoEnabled()Z
-HSPLandroid/webkit/WebSettings;->setAcceptThirdPartyCookies(Z)V
-HSPLandroid/webkit/WebSettings;->setAllowContentAccess(Z)V
-HSPLandroid/webkit/WebSettings;->setAllowFileAccess(Z)V
-HSPLandroid/webkit/WebSettings;->setAllowFileAccessFromFileURLs(Z)V
-HSPLandroid/webkit/WebSettings;->setAllowUniversalAccessFromFileURLs(Z)V
-HSPLandroid/webkit/WebSettings;->setAppCacheEnabled(Z)V
-HSPLandroid/webkit/WebSettings;->setAppCacheMaxSize(J)V
-HSPLandroid/webkit/WebSettings;->setAppCachePath(Ljava/lang/String;)V
-HSPLandroid/webkit/WebSettings;->setBlockNetworkImage(Z)V
-HSPLandroid/webkit/WebSettings;->setBlockNetworkLoads(Z)V
-HSPLandroid/webkit/WebSettings;->setBuiltInZoomControls(Z)V
-HSPLandroid/webkit/WebSettings;->setCacheMode(I)V
-HSPLandroid/webkit/WebSettings;->setCursiveFontFamily(Ljava/lang/String;)V
-HSPLandroid/webkit/WebSettings;->setDatabaseEnabled(Z)V
-HSPLandroid/webkit/WebSettings;->setDatabasePath(Ljava/lang/String;)V
-HSPLandroid/webkit/WebSettings;->setDefaultFixedFontSize(I)V
-HSPLandroid/webkit/WebSettings;->setDefaultFontSize(I)V
-HSPLandroid/webkit/WebSettings;->setDefaultTextEncodingName(Ljava/lang/String;)V
-HSPLandroid/webkit/WebSettings;->setDefaultZoom(Landroid/webkit/WebSettings$ZoomDensity;)V
-HSPLandroid/webkit/WebSettings;->setDisabledActionModeMenuItems(I)V
-HSPLandroid/webkit/WebSettings;->setDisplayZoomControls(Z)V
-HSPLandroid/webkit/WebSettings;->setDomStorageEnabled(Z)V
-HSPLandroid/webkit/WebSettings;->setEnableSmoothTransition(Z)V
-HSPLandroid/webkit/WebSettings;->setFantasyFontFamily(Ljava/lang/String;)V
-HSPLandroid/webkit/WebSettings;->setFixedFontFamily(Ljava/lang/String;)V
-HSPLandroid/webkit/WebSettings;->setGeolocationDatabasePath(Ljava/lang/String;)V
-HSPLandroid/webkit/WebSettings;->setGeolocationEnabled(Z)V
-HSPLandroid/webkit/WebSettings;->setJavaScriptCanOpenWindowsAutomatically(Z)V
-HSPLandroid/webkit/WebSettings;->setJavaScriptEnabled(Z)V
-HSPLandroid/webkit/WebSettings;->setLayoutAlgorithm(Landroid/webkit/WebSettings$LayoutAlgorithm;)V
-HSPLandroid/webkit/WebSettings;->setLightTouchEnabled(Z)V
-HSPLandroid/webkit/WebSettings;->setLoadWithOverviewMode(Z)V
-HSPLandroid/webkit/WebSettings;->setLoadsImagesAutomatically(Z)V
-HSPLandroid/webkit/WebSettings;->setMediaPlaybackRequiresUserGesture(Z)V
-HSPLandroid/webkit/WebSettings;->setMinimumFontSize(I)V
-HSPLandroid/webkit/WebSettings;->setMinimumLogicalFontSize(I)V
-HSPLandroid/webkit/WebSettings;->setMixedContentMode(I)V
-HSPLandroid/webkit/WebSettings;->setNavDump(Z)V
-HSPLandroid/webkit/WebSettings;->setNeedInitialFocus(Z)V
-HSPLandroid/webkit/WebSettings;->setOffscreenPreRaster(Z)V
-HSPLandroid/webkit/WebSettings;->setPluginState(Landroid/webkit/WebSettings$PluginState;)V
-HSPLandroid/webkit/WebSettings;->setPluginsEnabled(Z)V
-HSPLandroid/webkit/WebSettings;->setRenderPriority(Landroid/webkit/WebSettings$RenderPriority;)V
-HSPLandroid/webkit/WebSettings;->setSafeBrowsingEnabled(Z)V
-HSPLandroid/webkit/WebSettings;->setSansSerifFontFamily(Ljava/lang/String;)V
-HSPLandroid/webkit/WebSettings;->setSaveFormData(Z)V
-HSPLandroid/webkit/WebSettings;->setSavePassword(Z)V
-HSPLandroid/webkit/WebSettings;->setSerifFontFamily(Ljava/lang/String;)V
-HSPLandroid/webkit/WebSettings;->setStandardFontFamily(Ljava/lang/String;)V
-HSPLandroid/webkit/WebSettings;->setSupportMultipleWindows(Z)V
-HSPLandroid/webkit/WebSettings;->setSupportZoom(Z)V
-HSPLandroid/webkit/WebSettings;->setTextZoom(I)V
-HSPLandroid/webkit/WebSettings;->setUseWebViewBackgroundForOverscrollBackground(Z)V
-HSPLandroid/webkit/WebSettings;->setUseWideViewPort(Z)V
-HSPLandroid/webkit/WebSettings;->setUserAgent(I)V
-HSPLandroid/webkit/WebSettings;->setUserAgentString(Ljava/lang/String;)V
-HSPLandroid/webkit/WebSettings;->setVideoOverlayForEmbeddedEncryptedVideoEnabled(Z)V
-HSPLandroid/webkit/WebSettings;->supportMultipleWindows()Z
-HSPLandroid/webkit/WebSettings;->supportZoom()Z
-HSPLandroid/webkit/WebStorage;-><init>()V
-HSPLandroid/webkit/WebSyncManager;->syncFromRamToFlash()V
-HSPLandroid/webkit/WebView$HitTestResult;-><init>()V
-HSPLandroid/webkit/WebView$PrivateAccess;->setMeasuredDimension(II)V
-HSPLandroid/webkit/WebView$PrivateAccess;->super_dispatchKeyEvent(Landroid/view/KeyEvent;)Z
-HSPLandroid/webkit/WebView$PrivateAccess;->super_getScrollBarStyle()I
-HSPLandroid/webkit/WebView$PrivateAccess;->super_onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V
-HSPLandroid/webkit/WebView$PrivateAccess;->super_requestFocus(ILandroid/graphics/Rect;)Z
-HSPLandroid/webkit/WebView$PrivateAccess;->super_setFrame(IIII)Z
-HSPLandroid/webkit/WebView$PrivateAccess;->super_setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/webkit/WebView;-><init>(Landroid/content/Context;)V
-HSPLandroid/webkit/WebView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/webkit/WebView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;IILjava/util/Map;Z)V
-HSPLandroid/webkit/WebView;->addJavascriptInterface(Ljava/lang/Object;Ljava/lang/String;)V
-HSPLandroid/webkit/WebView;->checkThread()V
-HSPLandroid/webkit/WebView;->computeHorizontalScrollOffset()I
-HSPLandroid/webkit/WebView;->computeHorizontalScrollRange()I
-HSPLandroid/webkit/WebView;->computeScroll()V
-HSPLandroid/webkit/WebView;->computeVerticalScrollExtent()I
-HSPLandroid/webkit/WebView;->computeVerticalScrollOffset()I
-HSPLandroid/webkit/WebView;->computeVerticalScrollRange()I
-HSPLandroid/webkit/WebView;->copyBackForwardList()Landroid/webkit/WebBackForwardList;
-HSPLandroid/webkit/WebView;->destroy()V
-HSPLandroid/webkit/WebView;->dispatchDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/webkit/WebView;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
-HSPLandroid/webkit/WebView;->evaluateJavascript(Ljava/lang/String;Landroid/webkit/ValueCallback;)V
-HSPLandroid/webkit/WebView;->findAddress(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/webkit/WebView;->findFocus()Landroid/view/View;
-HSPLandroid/webkit/WebView;->getContentHeight()I
-HSPLandroid/webkit/WebView;->getFavicon()Landroid/graphics/Bitmap;
-HSPLandroid/webkit/WebView;->getHandler()Landroid/os/Handler;
-HSPLandroid/webkit/WebView;->getProgress()I
-HSPLandroid/webkit/WebView;->getScale()F
-HSPLandroid/webkit/WebView;->getSettings()Landroid/webkit/WebSettings;
-HSPLandroid/webkit/WebView;->getUrl()Ljava/lang/String;
-HSPLandroid/webkit/WebView;->loadData(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/webkit/WebView;->loadDataWithBaseURL(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/webkit/WebView;->loadUrl(Ljava/lang/String;)V
-HSPLandroid/webkit/WebView;->onAttachedToWindow()V
-HSPLandroid/webkit/WebView;->onCheckIsTextEditor()Z
-HSPLandroid/webkit/WebView;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection;
-HSPLandroid/webkit/WebView;->onDetachedFromWindowInternal()V
-HSPLandroid/webkit/WebView;->onDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/webkit/WebView;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V
-HSPLandroid/webkit/WebView;->onFocusChanged(ZILandroid/graphics/Rect;)V
-HSPLandroid/webkit/WebView;->onKeyDown(ILandroid/view/KeyEvent;)Z
-HSPLandroid/webkit/WebView;->onKeyUp(ILandroid/view/KeyEvent;)Z
-HSPLandroid/webkit/WebView;->onMeasure(II)V
-HSPLandroid/webkit/WebView;->onResume()V
-HSPLandroid/webkit/WebView;->onSizeChanged(IIII)V
-HSPLandroid/webkit/WebView;->onVisibilityChanged(Landroid/view/View;I)V
-HSPLandroid/webkit/WebView;->onWindowFocusChanged(Z)V
-HSPLandroid/webkit/WebView;->onWindowVisibilityChanged(I)V
-HSPLandroid/webkit/WebView;->pauseTimers()V
-HSPLandroid/webkit/WebView;->removeJavascriptInterface(Ljava/lang/String;)V
-HSPLandroid/webkit/WebView;->requestFocus(ILandroid/graphics/Rect;)Z
-HSPLandroid/webkit/WebView;->resumeTimers()V
-HSPLandroid/webkit/WebView;->saveState(Landroid/os/Bundle;)Landroid/webkit/WebBackForwardList;
-HSPLandroid/webkit/WebView;->setBackgroundColor(I)V
-HSPLandroid/webkit/WebView;->setDownloadListener(Landroid/webkit/DownloadListener;)V
-HSPLandroid/webkit/WebView;->setFrame(IIII)Z
-HSPLandroid/webkit/WebView;->setInitialScale(I)V
-HSPLandroid/webkit/WebView;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/webkit/WebView;->setOverScrollMode(I)V
-HSPLandroid/webkit/WebView;->setScrollBarStyle(I)V
-HSPLandroid/webkit/WebView;->setWebChromeClient(Landroid/webkit/WebChromeClient;)V
-HSPLandroid/webkit/WebView;->setWebViewClient(Landroid/webkit/WebViewClient;)V
-HSPLandroid/webkit/WebViewClient;-><init>()V
-HSPLandroid/webkit/WebViewClient;->doUpdateVisitedHistory(Landroid/webkit/WebView;Ljava/lang/String;Z)V
-HSPLandroid/webkit/WebViewClient;->onLoadResource(Landroid/webkit/WebView;Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewClient;->onPageCommitVisible(Landroid/webkit/WebView;Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewClient;->onPageFinished(Landroid/webkit/WebView;Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewClient;->onPageStarted(Landroid/webkit/WebView;Ljava/lang/String;Landroid/graphics/Bitmap;)V
-HSPLandroid/webkit/WebViewClient;->onScaleChanged(Landroid/webkit/WebView;FF)V
-HSPLandroid/webkit/WebViewClient;->shouldInterceptRequest(Landroid/webkit/WebView;Landroid/webkit/WebResourceRequest;)Landroid/webkit/WebResourceResponse;
-HSPLandroid/webkit/WebViewClient;->shouldInterceptRequest(Landroid/webkit/WebView;Ljava/lang/String;)Landroid/webkit/WebResourceResponse;
-HSPLandroid/webkit/WebViewClient;->shouldOverrideKeyEvent(Landroid/webkit/WebView;Landroid/view/KeyEvent;)Z
-HSPLandroid/webkit/WebViewDelegate$OnTraceEnabledChangeListener;->onTraceEnabledChange(Z)V
-HSPLandroid/webkit/WebViewDelegate;->addWebViewAssetPath(Landroid/content/Context;)V
-HSPLandroid/webkit/WebViewDelegate;->callDrawGlFunction(Landroid/graphics/Canvas;JLjava/lang/Runnable;)V
-HSPLandroid/webkit/WebViewDelegate;->detachDrawGlFunctor(Landroid/view/View;J)V
+HSPLandroid/webkit/WebView;->setDataDirectorySuffix(Ljava/lang/String;)V
 HSPLandroid/webkit/WebViewDelegate;->getApplication()Landroid/app/Application;
 HSPLandroid/webkit/WebViewDelegate;->getDataDirectorySuffix()Ljava/lang/String;
 HSPLandroid/webkit/WebViewDelegate;->getPackageId(Landroid/content/res/Resources;Ljava/lang/String;)I
-HSPLandroid/webkit/WebViewDelegate;->invokeDrawGlFunctor(Landroid/view/View;JZ)V
 HSPLandroid/webkit/WebViewDelegate;->isMultiProcessEnabled()Z
-HSPLandroid/webkit/WebViewDelegate;->isTraceTagEnabled()Z
-HSPLandroid/webkit/WebViewDelegate;->setOnTraceEnabledChangeListener(Landroid/webkit/WebViewDelegate$OnTraceEnabledChangeListener;)V
 HSPLandroid/webkit/WebViewFactory;->fixupStubApplicationInfo(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/PackageManager;)V
 HSPLandroid/webkit/WebViewFactory;->getDataDirectorySuffix()Ljava/lang/String;
 HSPLandroid/webkit/WebViewFactory;->getLoadedPackageInfo()Landroid/content/pm/PackageInfo;
@@ -35880,188 +30278,14 @@
 HSPLandroid/webkit/WebViewFactory;->getProviderClass()Ljava/lang/Class;
 HSPLandroid/webkit/WebViewFactory;->getWebViewContextAndSetProvider()Landroid/content/Context;
 HSPLandroid/webkit/WebViewFactory;->getWebViewLibrary(Landroid/content/pm/ApplicationInfo;)Ljava/lang/String;
-HSPLandroid/webkit/WebViewFactory;->loadWebViewNativeLibraryFromPackage(Ljava/lang/String;Ljava/lang/ClassLoader;)I
 HSPLandroid/webkit/WebViewFactory;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;)I
 HSPLandroid/webkit/WebViewFactory;->prepareWebViewInZygote()V
+HSPLandroid/webkit/WebViewFactory;->setDataDirectorySuffix(Ljava/lang/String;)V
 HSPLandroid/webkit/WebViewFactory;->signaturesEquals([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)Z
 HSPLandroid/webkit/WebViewFactory;->verifyPackageInfo(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;)V
-HSPLandroid/webkit/WebViewFactoryProvider$Statics;->clearClientCertPreferences(Ljava/lang/Runnable;)V
-HSPLandroid/webkit/WebViewFactoryProvider$Statics;->enableSlowWholeDocumentDraw()V
-HSPLandroid/webkit/WebViewFactoryProvider$Statics;->findAddress(Ljava/lang/String;)Ljava/lang/String;
-HSPLandroid/webkit/WebViewFactoryProvider$Statics;->freeMemoryForTests()V
-HSPLandroid/webkit/WebViewFactoryProvider$Statics;->getDefaultUserAgent(Landroid/content/Context;)Ljava/lang/String;
-HSPLandroid/webkit/WebViewFactoryProvider$Statics;->getSafeBrowsingPrivacyPolicyUrl()Landroid/net/Uri;
-HSPLandroid/webkit/WebViewFactoryProvider$Statics;->initSafeBrowsing(Landroid/content/Context;Landroid/webkit/ValueCallback;)V
-HSPLandroid/webkit/WebViewFactoryProvider$Statics;->parseFileChooserResult(ILandroid/content/Intent;)[Landroid/net/Uri;
-HSPLandroid/webkit/WebViewFactoryProvider$Statics;->setSafeBrowsingWhitelist(Ljava/util/List;Landroid/webkit/ValueCallback;)V
-HSPLandroid/webkit/WebViewFactoryProvider$Statics;->setWebContentsDebuggingEnabled(Z)V
-HSPLandroid/webkit/WebViewFactoryProvider;->createWebView(Landroid/webkit/WebView;Landroid/webkit/WebView$PrivateAccess;)Landroid/webkit/WebViewProvider;
-HSPLandroid/webkit/WebViewFactoryProvider;->getCookieManager()Landroid/webkit/CookieManager;
-HSPLandroid/webkit/WebViewFactoryProvider;->getGeolocationPermissions()Landroid/webkit/GeolocationPermissions;
-HSPLandroid/webkit/WebViewFactoryProvider;->getServiceWorkerController()Landroid/webkit/ServiceWorkerController;
-HSPLandroid/webkit/WebViewFactoryProvider;->getStatics()Landroid/webkit/WebViewFactoryProvider$Statics;
-HSPLandroid/webkit/WebViewFactoryProvider;->getTokenBindingService()Landroid/webkit/TokenBindingService;
-HSPLandroid/webkit/WebViewFactoryProvider;->getTracingController()Landroid/webkit/TracingController;
-HSPLandroid/webkit/WebViewFactoryProvider;->getWebIconDatabase()Landroid/webkit/WebIconDatabase;
-HSPLandroid/webkit/WebViewFactoryProvider;->getWebStorage()Landroid/webkit/WebStorage;
-HSPLandroid/webkit/WebViewFactoryProvider;->getWebViewClassLoader()Ljava/lang/ClassLoader;
-HSPLandroid/webkit/WebViewFactoryProvider;->getWebViewDatabase(Landroid/content/Context;)Landroid/webkit/WebViewDatabase;
-HSPLandroid/webkit/WebViewLibraryLoader;->createRelroFile(ZLandroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;)V
-HSPLandroid/webkit/WebViewLibraryLoader;->createRelros(Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;)I
-HSPLandroid/webkit/WebViewLibraryLoader;->findNativeLibrary(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;
-HSPLandroid/webkit/WebViewLibraryLoader;->getLoadFromApkPath(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;
+HSPLandroid/webkit/WebViewLibraryLoader;->createRelroFile(ZLjava/lang/String;Ljava/lang/String;)V
 HSPLandroid/webkit/WebViewLibraryLoader;->loadNativeLibrary(Ljava/lang/ClassLoader;Ljava/lang/String;)I
 HSPLandroid/webkit/WebViewLibraryLoader;->reserveAddressSpaceInZygote()V
-HSPLandroid/webkit/WebViewLibraryLoader;->updateWebViewZygoteVmSize(Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;Landroid/webkit/WebViewLibraryLoader$WebViewNativeLibrary;)V
-HSPLandroid/webkit/WebViewProvider$ScrollDelegate;->computeHorizontalScrollOffset()I
-HSPLandroid/webkit/WebViewProvider$ScrollDelegate;->computeHorizontalScrollRange()I
-HSPLandroid/webkit/WebViewProvider$ScrollDelegate;->computeScroll()V
-HSPLandroid/webkit/WebViewProvider$ScrollDelegate;->computeVerticalScrollExtent()I
-HSPLandroid/webkit/WebViewProvider$ScrollDelegate;->computeVerticalScrollOffset()I
-HSPLandroid/webkit/WebViewProvider$ScrollDelegate;->computeVerticalScrollRange()I
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->findFocus(Landroid/view/View;)Landroid/view/View;
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->getAccessibilityNodeProvider()Landroid/view/accessibility/AccessibilityNodeProvider;
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->getHandler(Landroid/os/Handler;)Landroid/os/Handler;
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onActivityResult(IILandroid/content/Intent;)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onAttachedToWindow()V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection;
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onDetachedFromWindow()V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onDragEvent(Landroid/view/DragEvent;)Z
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onDrawVerticalScrollBar(Landroid/graphics/Canvas;Landroid/graphics/drawable/Drawable;IIII)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onFinishTemporaryDetach()V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onFocusChanged(ZILandroid/graphics/Rect;)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onGenericMotionEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onHoverEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onInitializeAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onInitializeAccessibilityNodeInfo(Landroid/view/accessibility/AccessibilityNodeInfo;)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onKeyDown(ILandroid/view/KeyEvent;)Z
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onKeyMultiple(IILandroid/view/KeyEvent;)Z
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onKeyUp(ILandroid/view/KeyEvent;)Z
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onMeasure(II)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onOverScrolled(IIZZ)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onProvideVirtualStructure(Landroid/view/ViewStructure;)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onScrollChanged(IIII)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onSizeChanged(IIII)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onStartTemporaryDetach()V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onTouchEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onTrackballEvent(Landroid/view/MotionEvent;)Z
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onVisibilityChanged(Landroid/view/View;I)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onWindowFocusChanged(Z)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->onWindowVisibilityChanged(I)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->performAccessibilityAction(ILandroid/os/Bundle;)Z
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->performLongClick()Z
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->preDispatchDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->requestFocus(ILandroid/graphics/Rect;)Z
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->setBackgroundColor(I)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->setFrame(IIII)Z
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->setLayerType(ILandroid/graphics/Paint;)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->setLayoutParams(Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->setOverScrollMode(I)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->setScrollBarStyle(I)V
-HSPLandroid/webkit/WebViewProvider$ViewDelegate;->shouldDelayChildPressedState()Z
-HSPLandroid/webkit/WebViewProvider;->addJavascriptInterface(Ljava/lang/Object;Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewProvider;->canGoBack()Z
-HSPLandroid/webkit/WebViewProvider;->canGoBackOrForward(I)Z
-HSPLandroid/webkit/WebViewProvider;->canGoForward()Z
-HSPLandroid/webkit/WebViewProvider;->canZoomIn()Z
-HSPLandroid/webkit/WebViewProvider;->canZoomOut()Z
-HSPLandroid/webkit/WebViewProvider;->capturePicture()Landroid/graphics/Picture;
-HSPLandroid/webkit/WebViewProvider;->clearCache(Z)V
-HSPLandroid/webkit/WebViewProvider;->clearFormData()V
-HSPLandroid/webkit/WebViewProvider;->clearHistory()V
-HSPLandroid/webkit/WebViewProvider;->clearMatches()V
-HSPLandroid/webkit/WebViewProvider;->clearSslPreferences()V
-HSPLandroid/webkit/WebViewProvider;->clearView()V
-HSPLandroid/webkit/WebViewProvider;->copyBackForwardList()Landroid/webkit/WebBackForwardList;
-HSPLandroid/webkit/WebViewProvider;->createPrintDocumentAdapter(Ljava/lang/String;)Landroid/print/PrintDocumentAdapter;
-HSPLandroid/webkit/WebViewProvider;->createWebMessageChannel()[Landroid/webkit/WebMessagePort;
-HSPLandroid/webkit/WebViewProvider;->destroy()V
-HSPLandroid/webkit/WebViewProvider;->documentHasImages(Landroid/os/Message;)V
-HSPLandroid/webkit/WebViewProvider;->dumpViewHierarchyWithProperties(Ljava/io/BufferedWriter;I)V
-HSPLandroid/webkit/WebViewProvider;->evaluateJavaScript(Ljava/lang/String;Landroid/webkit/ValueCallback;)V
-HSPLandroid/webkit/WebViewProvider;->findAll(Ljava/lang/String;)I
-HSPLandroid/webkit/WebViewProvider;->findAllAsync(Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewProvider;->findHierarchyView(Ljava/lang/String;I)Landroid/view/View;
-HSPLandroid/webkit/WebViewProvider;->findNext(Z)V
-HSPLandroid/webkit/WebViewProvider;->flingScroll(II)V
-HSPLandroid/webkit/WebViewProvider;->freeMemory()V
-HSPLandroid/webkit/WebViewProvider;->getCertificate()Landroid/net/http/SslCertificate;
-HSPLandroid/webkit/WebViewProvider;->getContentHeight()I
-HSPLandroid/webkit/WebViewProvider;->getContentWidth()I
-HSPLandroid/webkit/WebViewProvider;->getFavicon()Landroid/graphics/Bitmap;
-HSPLandroid/webkit/WebViewProvider;->getHitTestResult()Landroid/webkit/WebView$HitTestResult;
-HSPLandroid/webkit/WebViewProvider;->getHttpAuthUsernamePassword(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-HSPLandroid/webkit/WebViewProvider;->getOriginalUrl()Ljava/lang/String;
-HSPLandroid/webkit/WebViewProvider;->getProgress()I
-HSPLandroid/webkit/WebViewProvider;->getRendererPriorityWaivedWhenNotVisible()Z
-HSPLandroid/webkit/WebViewProvider;->getRendererRequestedPriority()I
-HSPLandroid/webkit/WebViewProvider;->getScale()F
-HSPLandroid/webkit/WebViewProvider;->getScrollDelegate()Landroid/webkit/WebViewProvider$ScrollDelegate;
-HSPLandroid/webkit/WebViewProvider;->getSettings()Landroid/webkit/WebSettings;
-HSPLandroid/webkit/WebViewProvider;->getTitle()Ljava/lang/String;
-HSPLandroid/webkit/WebViewProvider;->getTouchIconUrl()Ljava/lang/String;
-HSPLandroid/webkit/WebViewProvider;->getUrl()Ljava/lang/String;
-HSPLandroid/webkit/WebViewProvider;->getViewDelegate()Landroid/webkit/WebViewProvider$ViewDelegate;
-HSPLandroid/webkit/WebViewProvider;->getVisibleTitleHeight()I
-HSPLandroid/webkit/WebViewProvider;->getWebChromeClient()Landroid/webkit/WebChromeClient;
-HSPLandroid/webkit/WebViewProvider;->getWebViewClient()Landroid/webkit/WebViewClient;
-HSPLandroid/webkit/WebViewProvider;->getZoomControls()Landroid/view/View;
-HSPLandroid/webkit/WebViewProvider;->goBack()V
-HSPLandroid/webkit/WebViewProvider;->goBackOrForward(I)V
-HSPLandroid/webkit/WebViewProvider;->goForward()V
-HSPLandroid/webkit/WebViewProvider;->init(Ljava/util/Map;Z)V
-HSPLandroid/webkit/WebViewProvider;->insertVisualStateCallback(JLandroid/webkit/WebView$VisualStateCallback;)V
-HSPLandroid/webkit/WebViewProvider;->invokeZoomPicker()V
-HSPLandroid/webkit/WebViewProvider;->isPaused()Z
-HSPLandroid/webkit/WebViewProvider;->isPrivateBrowsingEnabled()Z
-HSPLandroid/webkit/WebViewProvider;->loadData(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewProvider;->loadDataWithBaseURL(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewProvider;->loadUrl(Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewProvider;->loadUrl(Ljava/lang/String;Ljava/util/Map;)V
-HSPLandroid/webkit/WebViewProvider;->notifyFindDialogDismissed()V
-HSPLandroid/webkit/WebViewProvider;->onPause()V
-HSPLandroid/webkit/WebViewProvider;->onResume()V
-HSPLandroid/webkit/WebViewProvider;->overlayHorizontalScrollbar()Z
-HSPLandroid/webkit/WebViewProvider;->overlayVerticalScrollbar()Z
-HSPLandroid/webkit/WebViewProvider;->pageDown(Z)Z
-HSPLandroid/webkit/WebViewProvider;->pageUp(Z)Z
-HSPLandroid/webkit/WebViewProvider;->pauseTimers()V
-HSPLandroid/webkit/WebViewProvider;->postMessageToMainFrame(Landroid/webkit/WebMessage;Landroid/net/Uri;)V
-HSPLandroid/webkit/WebViewProvider;->postUrl(Ljava/lang/String;[B)V
-HSPLandroid/webkit/WebViewProvider;->reload()V
-HSPLandroid/webkit/WebViewProvider;->removeJavascriptInterface(Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewProvider;->requestFocusNodeHref(Landroid/os/Message;)V
-HSPLandroid/webkit/WebViewProvider;->requestImageRef(Landroid/os/Message;)V
-HSPLandroid/webkit/WebViewProvider;->restorePicture(Landroid/os/Bundle;Ljava/io/File;)Z
-HSPLandroid/webkit/WebViewProvider;->restoreState(Landroid/os/Bundle;)Landroid/webkit/WebBackForwardList;
-HSPLandroid/webkit/WebViewProvider;->resumeTimers()V
-HSPLandroid/webkit/WebViewProvider;->savePassword(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewProvider;->savePicture(Landroid/os/Bundle;Ljava/io/File;)Z
-HSPLandroid/webkit/WebViewProvider;->saveState(Landroid/os/Bundle;)Landroid/webkit/WebBackForwardList;
-HSPLandroid/webkit/WebViewProvider;->saveWebArchive(Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewProvider;->saveWebArchive(Ljava/lang/String;ZLandroid/webkit/ValueCallback;)V
-HSPLandroid/webkit/WebViewProvider;->setCertificate(Landroid/net/http/SslCertificate;)V
-HSPLandroid/webkit/WebViewProvider;->setDownloadListener(Landroid/webkit/DownloadListener;)V
-HSPLandroid/webkit/WebViewProvider;->setFindListener(Landroid/webkit/WebView$FindListener;)V
-HSPLandroid/webkit/WebViewProvider;->setHorizontalScrollbarOverlay(Z)V
-HSPLandroid/webkit/WebViewProvider;->setHttpAuthUsernamePassword(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLandroid/webkit/WebViewProvider;->setInitialScale(I)V
-HSPLandroid/webkit/WebViewProvider;->setMapTrackballToArrowKeys(Z)V
-HSPLandroid/webkit/WebViewProvider;->setNetworkAvailable(Z)V
-HSPLandroid/webkit/WebViewProvider;->setPictureListener(Landroid/webkit/WebView$PictureListener;)V
-HSPLandroid/webkit/WebViewProvider;->setRendererPriorityPolicy(IZ)V
-HSPLandroid/webkit/WebViewProvider;->setVerticalScrollbarOverlay(Z)V
-HSPLandroid/webkit/WebViewProvider;->setWebChromeClient(Landroid/webkit/WebChromeClient;)V
-HSPLandroid/webkit/WebViewProvider;->setWebViewClient(Landroid/webkit/WebViewClient;)V
-HSPLandroid/webkit/WebViewProvider;->showFindDialog(Ljava/lang/String;Z)Z
-HSPLandroid/webkit/WebViewProvider;->stopLoading()V
-HSPLandroid/webkit/WebViewProvider;->zoomBy(F)Z
-HSPLandroid/webkit/WebViewProvider;->zoomIn()Z
-HSPLandroid/webkit/WebViewProvider;->zoomOut()Z
 HSPLandroid/webkit/WebViewProviderInfo$1;-><init>()V
 HSPLandroid/webkit/WebViewProviderInfo;-><init>(Ljava/lang/String;Ljava/lang/String;ZZ[Ljava/lang/String;)V
 HSPLandroid/webkit/WebViewProviderResponse$1;-><init>()V
@@ -36071,38 +30295,16 @@
 HSPLandroid/webkit/WebViewZygote;->getProcess()Landroid/os/ZygoteProcess;
 HSPLandroid/webkit/WebViewZygote;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;Landroid/content/pm/ApplicationInfo;)V
 HSPLandroid/webkit/WebViewZygote;->setMultiprocessEnabled(Z)V
-HSPLandroid/widget/-$$Lambda$SearchView$SearchAutoComplete$qdPU54FiW6QTzCbsg7P4cSs3cJ8;->run()V
+HSPLandroid/widget/-$$Lambda$PopupWindow$PopupDecorView$T99WKEnQefOCXbbKvW95WY38p_I;->run()V
+HSPLandroid/widget/-$$Lambda$RemoteViews$xYCMzfQwRCAW2azHo-bWqQ9R0Wk;-><init>()V
 HSPLandroid/widget/-$$Lambda$SmartSelectSprite$c8eqlh2kO_X0luLU2BexwK921WA;-><init>()V
 HSPLandroid/widget/-$$Lambda$SmartSelectSprite$mdkXIT1_UNlJQMaziE_E815aIKE;-><init>()V
 HSPLandroid/widget/AbsListView$3;->run()V
-HSPLandroid/widget/AbsListView$4;->run()V
-HSPLandroid/widget/AbsListView$AbsPositionScroller;->start(I)V
-HSPLandroid/widget/AbsListView$AbsPositionScroller;->start(II)V
-HSPLandroid/widget/AbsListView$AbsPositionScroller;->startWithOffset(II)V
-HSPLandroid/widget/AbsListView$AbsPositionScroller;->startWithOffset(III)V
-HSPLandroid/widget/AbsListView$AbsPositionScroller;->stop()V
-HSPLandroid/widget/AbsListView$AdapterDataSetObserver;->onChanged()V
-HSPLandroid/widget/AbsListView$CheckForTap;->run()V
-HSPLandroid/widget/AbsListView$FlingRunnable$1;->run()V
-HSPLandroid/widget/AbsListView$FlingRunnable;->flywheelTouch()V
-HSPLandroid/widget/AbsListView$FlingRunnable;->run()V
-HSPLandroid/widget/AbsListView$FlingRunnable;->start(I)V
-HSPLandroid/widget/AbsListView$InputConnectionWrapper;->getHandler()Landroid/os/Handler;
-HSPLandroid/widget/AbsListView$InputConnectionWrapper;->reportFullscreenMode(Z)Z
-HSPLandroid/widget/AbsListView$LayoutParams;-><init>(II)V
-HSPLandroid/widget/AbsListView$MultiChoiceModeWrapper;->setWrapped(Landroid/widget/AbsListView$MultiChoiceModeListener;)V
-HSPLandroid/widget/AbsListView$OnScrollListener;->onScroll(Landroid/widget/AbsListView;III)V
-HSPLandroid/widget/AbsListView$OnScrollListener;->onScrollStateChanged(Landroid/widget/AbsListView;I)V
 HSPLandroid/widget/AbsListView$PerformClick;->run()V
-HSPLandroid/widget/AbsListView$PositionScroller$1;->run()V
-HSPLandroid/widget/AbsListView$PositionScroller;->scrollToVisible(III)V
-HSPLandroid/widget/AbsListView$PositionScroller;->start(I)V
-HSPLandroid/widget/AbsListView$PositionScroller;->stop()V
 HSPLandroid/widget/AbsListView$RecycleBin;->addScrapView(Landroid/view/View;I)V
 HSPLandroid/widget/AbsListView$RecycleBin;->clear()V
 HSPLandroid/widget/AbsListView$RecycleBin;->clearTransientStateViews()V
 HSPLandroid/widget/AbsListView$RecycleBin;->fillActiveViews(II)V
-HSPLandroid/widget/AbsListView$RecycleBin;->fullyDetachScrapViews()V
 HSPLandroid/widget/AbsListView$RecycleBin;->getActiveView(I)Landroid/view/View;
 HSPLandroid/widget/AbsListView$RecycleBin;->getScrapView(I)Landroid/view/View;
 HSPLandroid/widget/AbsListView$RecycleBin;->getTransientStateView(I)Landroid/view/View;
@@ -36111,100 +30313,74 @@
 HSPLandroid/widget/AbsListView$RecycleBin;->removeSkippedScrap()V
 HSPLandroid/widget/AbsListView$RecycleBin;->retrieveFromScrap(Ljava/util/ArrayList;I)Landroid/view/View;
 HSPLandroid/widget/AbsListView$RecycleBin;->scrapActiveViews()V
-HSPLandroid/widget/AbsListView$RecycleBin;->setCacheColorHint(I)V
 HSPLandroid/widget/AbsListView$RecycleBin;->setViewTypeCount(I)V
 HSPLandroid/widget/AbsListView$RecycleBin;->shouldRecycleViewType(I)Z
-HSPLandroid/widget/AbsListView$RecyclerListener;->onMovedToScrapHeap(Landroid/view/View;)V
 HSPLandroid/widget/AbsListView$SavedState$1;-><init>()V
+HSPLandroid/widget/AbsListView$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/widget/AbsListView$SavedState;
+HSPLandroid/widget/AbsListView$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLandroid/widget/AbsListView$SavedState;-><init>(Landroid/os/Parcel;)V
 HSPLandroid/widget/AbsListView$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/widget/AbsListView$WindowRunnnable;->rememberWindowAttachCount()V
 HSPLandroid/widget/AbsListView$WindowRunnnable;->sameWindow()Z
 HSPLandroid/widget/AbsListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/AbsListView;->canScrollList(I)Z
-HSPLandroid/widget/AbsListView;->checkInputConnectionProxy(Landroid/view/View;)Z
 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;->confirmCheckedPositionsById()V
-HSPLandroid/widget/AbsListView;->contentFits()Z
-HSPLandroid/widget/AbsListView;->createPositionScroller()Landroid/widget/AbsListView$AbsPositionScroller;
 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;->fillGap(Z)V
-HSPLandroid/widget/AbsListView;->findMotionRow(I)I
-HSPLandroid/widget/AbsListView;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
 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;->getDrawableStateForSelector()[I
-HSPLandroid/widget/AbsListView;->getFocusedRect(Landroid/graphics/Rect;)V
-HSPLandroid/widget/AbsListView;->getListPaddingTop()I
 HSPLandroid/widget/AbsListView;->getSelectedView()Landroid/view/View;
-HSPLandroid/widget/AbsListView;->getTextFilterInput()Landroid/widget/EditText;
-HSPLandroid/widget/AbsListView;->getTranscriptMode()I
 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;->invalidateBottomGlow()V
-HSPLandroid/widget/AbsListView;->invalidateViews()V
 HSPLandroid/widget/AbsListView;->invokeOnItemScrollListener()V
 HSPLandroid/widget/AbsListView;->isFastScrollEnabled()Z
 HSPLandroid/widget/AbsListView;->isInFilterMode()Z
-HSPLandroid/widget/AbsListView;->isItemChecked(I)Z
-HSPLandroid/widget/AbsListView;->isTextFilterEnabled()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;->onCancelPendingInputEvents()V
-HSPLandroid/widget/AbsListView;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection;
 HSPLandroid/widget/AbsListView;->onDetachedFromWindow()V
 HSPLandroid/widget/AbsListView;->onFocusChanged(ZILandroid/graphics/Rect;)V
 HSPLandroid/widget/AbsListView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLandroid/widget/AbsListView;->onLayout(ZIIII)V
 HSPLandroid/widget/AbsListView;->onMeasure(II)V
-HSPLandroid/widget/AbsListView;->onOverScrolled(IIZZ)V
+HSPLandroid/widget/AbsListView;->onRestoreInstanceState(Landroid/os/Parcelable;)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;->onTouchMove(Landroid/view/MotionEvent;Landroid/view/MotionEvent;)V
 HSPLandroid/widget/AbsListView;->onTouchUp(Landroid/view/MotionEvent;)V
 HSPLandroid/widget/AbsListView;->onWindowFocusChanged(Z)V
 HSPLandroid/widget/AbsListView;->performItemClick(Landroid/view/View;IJ)Z
 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;->reconcileSelectedPosition()I
-HSPLandroid/widget/AbsListView;->reportScrollStateChange(I)V
 HSPLandroid/widget/AbsListView;->requestLayout()V
-HSPLandroid/widget/AbsListView;->requestLayoutIfNecessary()V
 HSPLandroid/widget/AbsListView;->resetList()V
-HSPLandroid/widget/AbsListView;->scrollIfNeeded(IILandroid/view/MotionEvent;)V
+HSPLandroid/widget/AbsListView;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
 HSPLandroid/widget/AbsListView;->setAdapter(Landroid/widget/ListAdapter;)V
 HSPLandroid/widget/AbsListView;->setChoiceMode(I)V
 HSPLandroid/widget/AbsListView;->setFastScrollAlwaysVisible(Z)V
 HSPLandroid/widget/AbsListView;->setFastScrollEnabled(Z)V
 HSPLandroid/widget/AbsListView;->setFastScrollStyle(I)V
-HSPLandroid/widget/AbsListView;->setFastScrollerEnabledUiThread(Z)V
+HSPLandroid/widget/AbsListView;->setFilterText(Ljava/lang/String;)V
 HSPLandroid/widget/AbsListView;->setFrame(IIII)Z
-HSPLandroid/widget/AbsListView;->setItemChecked(IZ)V
 HSPLandroid/widget/AbsListView;->setItemViewLayoutParams(Landroid/view/View;I)V
-HSPLandroid/widget/AbsListView;->setMultiChoiceModeListener(Landroid/widget/AbsListView$MultiChoiceModeListener;)V
 HSPLandroid/widget/AbsListView;->setOnScrollListener(Landroid/widget/AbsListView$OnScrollListener;)V
 HSPLandroid/widget/AbsListView;->setOverScrollMode(I)V
-HSPLandroid/widget/AbsListView;->setRecyclerListener(Landroid/widget/AbsListView$RecyclerListener;)V
 HSPLandroid/widget/AbsListView;->setScrollingCacheEnabled(Z)V
 HSPLandroid/widget/AbsListView;->setSelectionFromTop(II)V
-HSPLandroid/widget/AbsListView;->setSelectionInt(I)V
 HSPLandroid/widget/AbsListView;->setSelector(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/widget/AbsListView;->setSmoothScrollbarEnabled(Z)V
 HSPLandroid/widget/AbsListView;->setStackFromBottom(Z)V
@@ -36212,52 +30388,48 @@
 HSPLandroid/widget/AbsListView;->setTranscriptMode(I)V
 HSPLandroid/widget/AbsListView;->setVisibleRangeHint(II)V
 HSPLandroid/widget/AbsListView;->shouldShowSelector()Z
-HSPLandroid/widget/AbsListView;->startScrollIfNeeded(IILandroid/view/MotionEvent;)Z
 HSPLandroid/widget/AbsListView;->touchModeDrawsInPressedState()Z
-HSPLandroid/widget/AbsListView;->trackMotionScroll(II)Z
 HSPLandroid/widget/AbsListView;->updateScrollIndicators()V
 HSPLandroid/widget/AbsListView;->updateSelectorState()V
 HSPLandroid/widget/AbsListView;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
-HSPLandroid/widget/AbsSpinner$RecycleBin;->clear()V
-HSPLandroid/widget/AbsSpinner$RecycleBin;->get(I)Landroid/view/View;
-HSPLandroid/widget/AbsSpinner$RecycleBin;->put(ILandroid/view/View;)V
-HSPLandroid/widget/AbsSpinner$SavedState$1;-><init>()V
-HSPLandroid/widget/AbsSpinner$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/AbsSpinner;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/AbsSpinner;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/widget/AbsSpinner;->getAdapter()Landroid/widget/Adapter;
-HSPLandroid/widget/AbsSpinner;->getAdapter()Landroid/widget/SpinnerAdapter;
-HSPLandroid/widget/AbsSpinner;->getAutofillType()I
-HSPLandroid/widget/AbsSpinner;->getAutofillValue()Landroid/view/autofill/AutofillValue;
-HSPLandroid/widget/AbsSpinner;->getChildHeight(Landroid/view/View;)I
-HSPLandroid/widget/AbsSpinner;->getChildWidth(Landroid/view/View;)I
-HSPLandroid/widget/AbsSpinner;->getSelectedView()Landroid/view/View;
-HSPLandroid/widget/AbsSpinner;->layout(IZ)V
-HSPLandroid/widget/AbsSpinner;->onMeasure(II)V
-HSPLandroid/widget/AbsSpinner;->onSaveInstanceState()Landroid/os/Parcelable;
-HSPLandroid/widget/AbsSpinner;->recycleAllViews()V
-HSPLandroid/widget/AbsSpinner;->requestLayout()V
-HSPLandroid/widget/AbsSpinner;->resetList()V
-HSPLandroid/widget/AbsSpinner;->setAdapter(Landroid/widget/SpinnerAdapter;)V
-HSPLandroid/widget/AbsSpinner;->setSelection(I)V
-HSPLandroid/widget/AbsoluteLayout;->onLayout(ZIIII)V
-HSPLandroid/widget/AbsoluteLayout;->onMeasure(II)V
-HSPLandroid/widget/ActionMenuPresenter$OverflowMenuButton;->setFrame(IIII)Z
+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
+HSPLandroid/widget/AbsSeekBar;->setMin(I)V
+HSPLandroid/widget/AbsSeekBar;->setThumb(Landroid/graphics/drawable/Drawable;)V
+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;-><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;->flagActionItems()Z
+HSPLandroid/widget/ActionMenuPresenter;->getItemView(Lcom/android/internal/view/menu/MenuItemImpl;Landroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
 HSPLandroid/widget/ActionMenuPresenter;->initForMenu(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
 HSPLandroid/widget/ActionMenuPresenter;->setExpandedActionViewsExclusive(Z)V
 HSPLandroid/widget/ActionMenuPresenter;->setMenuView(Landroid/widget/ActionMenuView;)V
 HSPLandroid/widget/ActionMenuPresenter;->setReserveOverflow(Z)V
 HSPLandroid/widget/ActionMenuPresenter;->shouldIncludeItem(ILcom/android/internal/view/menu/MenuItemImpl;)Z
 HSPLandroid/widget/ActionMenuPresenter;->updateMenuView(Z)V
-HSPLandroid/widget/ActionMenuView$ActionMenuChildView;->needsDividerAfter()Z
-HSPLandroid/widget/ActionMenuView$ActionMenuChildView;->needsDividerBefore()Z
-HSPLandroid/widget/ActionMenuView$OnMenuItemClickListener;->onMenuItemClick(Landroid/view/MenuItem;)Z
 HSPLandroid/widget/ActionMenuView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/ActionMenuView;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
-HSPLandroid/widget/ActionMenuView;->generateDefaultLayoutParams()Landroid/widget/ActionMenuView$LayoutParams;
-HSPLandroid/widget/ActionMenuView;->generateOverflowButtonLayoutParams()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;->getMenu()Landroid/view/Menu;
 HSPLandroid/widget/ActionMenuView;->hasDividerBeforeChildAt(I)Z
 HSPLandroid/widget/ActionMenuView;->initialize(Lcom/android/internal/view/menu/MenuBuilder;)V
@@ -36269,264 +30441,132 @@
 HSPLandroid/widget/ActionMenuView;->setOnMenuItemClickListener(Landroid/widget/ActionMenuView$OnMenuItemClickListener;)V
 HSPLandroid/widget/ActionMenuView;->setOverflowReserved(Z)V
 HSPLandroid/widget/ActionMenuView;->setPopupTheme(I)V
-HSPLandroid/widget/Adapter;->getCount()I
-HSPLandroid/widget/Adapter;->getItem(I)Ljava/lang/Object;
-HSPLandroid/widget/Adapter;->getItemId(I)J
-HSPLandroid/widget/Adapter;->getItemViewType(I)I
-HSPLandroid/widget/Adapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
-HSPLandroid/widget/Adapter;->getViewTypeCount()I
-HSPLandroid/widget/Adapter;->hasStableIds()Z
-HSPLandroid/widget/Adapter;->isEmpty()Z
-HSPLandroid/widget/Adapter;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
-HSPLandroid/widget/Adapter;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
-HSPLandroid/widget/AdapterView$AdapterDataSetObserver;->onChanged()V
-HSPLandroid/widget/AdapterView$OnItemClickListener;->onItemClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)V
-HSPLandroid/widget/AdapterView$OnItemLongClickListener;->onItemLongClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)Z
-HSPLandroid/widget/AdapterView$OnItemSelectedListener;->onItemSelected(Landroid/widget/AdapterView;Landroid/view/View;IJ)V
-HSPLandroid/widget/AdapterView$OnItemSelectedListener;->onNothingSelected(Landroid/widget/AdapterView;)V
-HSPLandroid/widget/AdapterView$SelectionNotifier;->run()V
 HSPLandroid/widget/AdapterView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HSPLandroid/widget/AdapterView;->checkFocus()V
 HSPLandroid/widget/AdapterView;->checkSelectionChanged()V
+HSPLandroid/widget/AdapterView;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
+HSPLandroid/widget/AdapterView;->dispatchRestoreInstanceState(Landroid/util/SparseArray;)V
 HSPLandroid/widget/AdapterView;->dispatchSaveInstanceState(Landroid/util/SparseArray;)V
-HSPLandroid/widget/AdapterView;->findSyncPosition()I
-HSPLandroid/widget/AdapterView;->fireOnSelected()V
-HSPLandroid/widget/AdapterView;->getAdapter()Landroid/widget/Adapter;
 HSPLandroid/widget/AdapterView;->getCount()I
 HSPLandroid/widget/AdapterView;->getFirstVisiblePosition()I
-HSPLandroid/widget/AdapterView;->getItemAtPosition(I)Ljava/lang/Object;
 HSPLandroid/widget/AdapterView;->getItemIdAtPosition(I)J
 HSPLandroid/widget/AdapterView;->getLastVisiblePosition()I
 HSPLandroid/widget/AdapterView;->getSelectedItemId()J
 HSPLandroid/widget/AdapterView;->getSelectedItemPosition()I
-HSPLandroid/widget/AdapterView;->getSelectedView()Landroid/view/View;
-HSPLandroid/widget/AdapterView;->handleDataChanged()V
-HSPLandroid/widget/AdapterView;->isInFilterMode()Z
-HSPLandroid/widget/AdapterView;->lookForSelectablePosition(IZ)I
-HSPLandroid/widget/AdapterView;->onProvideAutofillStructure(Landroid/view/ViewStructure;I)V
-HSPLandroid/widget/AdapterView;->rememberSyncState()V
-HSPLandroid/widget/AdapterView;->selectionChanged()V
-HSPLandroid/widget/AdapterView;->setEmptyView(Landroid/view/View;)V
+HSPLandroid/widget/AdapterView;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
 HSPLandroid/widget/AdapterView;->setFocusable(I)V
 HSPLandroid/widget/AdapterView;->setFocusableInTouchMode(Z)V
 HSPLandroid/widget/AdapterView;->setNextSelectedPositionInt(I)V
 HSPLandroid/widget/AdapterView;->setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V
-HSPLandroid/widget/AdapterView;->setOnItemLongClickListener(Landroid/widget/AdapterView$OnItemLongClickListener;)V
 HSPLandroid/widget/AdapterView;->setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)V
 HSPLandroid/widget/AdapterView;->setSelectedPositionInt(I)V
-HSPLandroid/widget/AdapterView;->setSelection(I)V
-HSPLandroid/widget/AdapterView;->updateEmptyStatus(Z)V
-HSPLandroid/widget/AlphabetIndexer;-><init>(Landroid/database/Cursor;ILjava/lang/CharSequence;)V
-HSPLandroid/widget/AlphabetIndexer;->onInvalidated()V
-HSPLandroid/widget/AlphabetIndexer;->setCursor(Landroid/database/Cursor;)V
 HSPLandroid/widget/ArrayAdapter;-><init>(Landroid/content/Context;I)V
-HSPLandroid/widget/ArrayAdapter;-><init>(Landroid/content/Context;II)V
 HSPLandroid/widget/ArrayAdapter;-><init>(Landroid/content/Context;IILjava/util/List;Z)V
-HSPLandroid/widget/ArrayAdapter;-><init>(Landroid/content/Context;ILjava/util/List;)V
-HSPLandroid/widget/ArrayAdapter;-><init>(Landroid/content/Context;I[Ljava/lang/Object;)V
-HSPLandroid/widget/ArrayAdapter;->add(Ljava/lang/Object;)V
-HSPLandroid/widget/ArrayAdapter;->addAll(Ljava/util/Collection;)V
-HSPLandroid/widget/ArrayAdapter;->clear()V
-HSPLandroid/widget/ArrayAdapter;->createViewFromResource(Landroid/view/LayoutInflater;ILandroid/view/View;Landroid/view/ViewGroup;I)Landroid/view/View;
-HSPLandroid/widget/ArrayAdapter;->getAutofillOptions()[Ljava/lang/CharSequence;
 HSPLandroid/widget/ArrayAdapter;->getContext()Landroid/content/Context;
-HSPLandroid/widget/ArrayAdapter;->getCount()I
-HSPLandroid/widget/ArrayAdapter;->getDropDownViewTheme()Landroid/content/res/Resources$Theme;
-HSPLandroid/widget/ArrayAdapter;->getItem(I)Ljava/lang/Object;
-HSPLandroid/widget/ArrayAdapter;->getItemId(I)J
-HSPLandroid/widget/ArrayAdapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
-HSPLandroid/widget/ArrayAdapter;->notifyDataSetChanged()V
-HSPLandroid/widget/ArrayAdapter;->setDropDownViewTheme(Landroid/content/res/Resources$Theme;)V
-HSPLandroid/widget/AutoCompleteTextView$MyWatcher;->afterTextChanged(Landroid/text/Editable;)V
-HSPLandroid/widget/AutoCompleteTextView$MyWatcher;->beforeTextChanged(Ljava/lang/CharSequence;III)V
-HSPLandroid/widget/AutoCompleteTextView$MyWatcher;->onTextChanged(Ljava/lang/CharSequence;III)V
-HSPLandroid/widget/AutoCompleteTextView$PopupDataSetObserver$1;->run()V
-HSPLandroid/widget/AutoCompleteTextView$PopupDataSetObserver;->onChanged()V
-HSPLandroid/widget/AutoCompleteTextView$Validator;->fixText(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/widget/AutoCompleteTextView$Validator;->isValid(Ljava/lang/CharSequence;)Z
-HSPLandroid/widget/AutoCompleteTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-HSPLandroid/widget/AutoCompleteTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;IILandroid/content/res/Resources$Theme;)V
-HSPLandroid/widget/AutoCompleteTextView;->dismissDropDown()V
-HSPLandroid/widget/AutoCompleteTextView;->doAfterTextChanged()V
-HSPLandroid/widget/AutoCompleteTextView;->doBeforeTextChanged()V
-HSPLandroid/widget/AutoCompleteTextView;->enoughToFilter()Z
-HSPLandroid/widget/AutoCompleteTextView;->getAdapter()Landroid/widget/ListAdapter;
-HSPLandroid/widget/AutoCompleteTextView;->getDropDownAnchor()I
-HSPLandroid/widget/AutoCompleteTextView;->getDropDownBackground()Landroid/graphics/drawable/Drawable;
-HSPLandroid/widget/AutoCompleteTextView;->getThreshold()I
-HSPLandroid/widget/AutoCompleteTextView;->isPopupShowing()Z
-HSPLandroid/widget/AutoCompleteTextView;->onAttachedToWindow()V
-HSPLandroid/widget/AutoCompleteTextView;->onDetachedFromWindow()V
-HSPLandroid/widget/AutoCompleteTextView;->onFilterComplete(I)V
-HSPLandroid/widget/AutoCompleteTextView;->onWindowFocusChanged(Z)V
-HSPLandroid/widget/AutoCompleteTextView;->performFiltering(Ljava/lang/CharSequence;I)V
-HSPLandroid/widget/AutoCompleteTextView;->setAdapter(Landroid/widget/ListAdapter;)V
-HSPLandroid/widget/AutoCompleteTextView;->setCompletionHint(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/AutoCompleteTextView;->setDropDownBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/AutoCompleteTextView;->setDropDownHorizontalOffset(I)V
-HSPLandroid/widget/AutoCompleteTextView;->setDropDownWidth(I)V
-HSPLandroid/widget/AutoCompleteTextView;->setFrame(IIII)Z
-HSPLandroid/widget/AutoCompleteTextView;->setOnClickListener(Landroid/view/View$OnClickListener;)V
-HSPLandroid/widget/AutoCompleteTextView;->setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V
-HSPLandroid/widget/AutoCompleteTextView;->setOnItemSelectedListener(Landroid/widget/AdapterView$OnItemSelectedListener;)V
-HSPLandroid/widget/AutoCompleteTextView;->setThreshold(I)V
-HSPLandroid/widget/AutoCompleteTextView;->setValidator(Landroid/widget/AutoCompleteTextView$Validator;)V
-HSPLandroid/widget/AutoCompleteTextView;->updateDropDownForFilter(I)V
 HSPLandroid/widget/BaseAdapter;-><init>()V
 HSPLandroid/widget/BaseAdapter;->areAllItemsEnabled()Z
-HSPLandroid/widget/BaseAdapter;->getAutofillOptions()[Ljava/lang/CharSequence;
 HSPLandroid/widget/BaseAdapter;->getItemViewType(I)I
 HSPLandroid/widget/BaseAdapter;->getViewTypeCount()I
 HSPLandroid/widget/BaseAdapter;->hasStableIds()Z
-HSPLandroid/widget/BaseAdapter;->isEmpty()Z
 HSPLandroid/widget/BaseAdapter;->isEnabled(I)Z
 HSPLandroid/widget/BaseAdapter;->notifyDataSetChanged()V
-HSPLandroid/widget/BaseAdapter;->notifyDataSetInvalidated()V
 HSPLandroid/widget/BaseAdapter;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
 HSPLandroid/widget/BaseAdapter;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
-HSPLandroid/widget/Button;-><init>(Landroid/content/Context;)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;I)V
-HSPLandroid/widget/Checkable;->isChecked()Z
-HSPLandroid/widget/Checkable;->setChecked(Z)V
-HSPLandroid/widget/Checkable;->toggle()V
-HSPLandroid/widget/CheckedTextView$SavedState$1;-><init>()V
-HSPLandroid/widget/CheckedTextView$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/CheckedTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-HSPLandroid/widget/CheckedTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/CheckedTextView;->applyCheckMarkTint()V
-HSPLandroid/widget/CheckedTextView;->drawableStateChanged()V
-HSPLandroid/widget/CheckedTextView;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HSPLandroid/widget/CheckedTextView;->internalSetPadding(IIII)V
-HSPLandroid/widget/CheckedTextView;->isChecked()Z
-HSPLandroid/widget/CheckedTextView;->jumpDrawablesToCurrentState()V
-HSPLandroid/widget/CheckedTextView;->onCreateDrawableState(I)[I
-HSPLandroid/widget/CheckedTextView;->onDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/CheckedTextView;->onRtlPropertiesChanged(I)V
-HSPLandroid/widget/CheckedTextView;->onSaveInstanceState()Landroid/os/Parcelable;
-HSPLandroid/widget/CheckedTextView;->setCheckMarkDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/CheckedTextView;->setCheckMarkDrawableInternal(Landroid/graphics/drawable/Drawable;I)V
-HSPLandroid/widget/CheckedTextView;->setChecked(Z)V
-HSPLandroid/widget/CheckedTextView;->setVisibility(I)V
-HSPLandroid/widget/CheckedTextView;->updatePadding()V
-HSPLandroid/widget/CheckedTextView;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
 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;->onVisibilityChanged(Landroid/view/View;I)V
 HSPLandroid/widget/Chronometer;->onWindowVisibilityChanged(I)V
 HSPLandroid/widget/Chronometer;->setCountDown(Z)V
 HSPLandroid/widget/Chronometer;->setFormat(Ljava/lang/String;)V
+HSPLandroid/widget/Chronometer;->stop()V
 HSPLandroid/widget/Chronometer;->updateRunning()V
 HSPLandroid/widget/Chronometer;->updateText(J)V
-HSPLandroid/widget/CompoundButton$OnCheckedChangeListener;->onCheckedChanged(Landroid/widget/CompoundButton;Z)V
-HSPLandroid/widget/CompoundButton$SavedState$1;-><init>()V
-HSPLandroid/widget/CompoundButton$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/CompoundButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HSPLandroid/widget/CompoundButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HSPLandroid/widget/CompoundButton;->applyButtonTint()V
-HSPLandroid/widget/CompoundButton;->drawableStateChanged()V
 HSPLandroid/widget/CompoundButton;->getAutofillType()I
-HSPLandroid/widget/CompoundButton;->getButtonDrawable()Landroid/graphics/drawable/Drawable;
-HSPLandroid/widget/CompoundButton;->getCompoundPaddingLeft()I
-HSPLandroid/widget/CompoundButton;->getCompoundPaddingRight()I
 HSPLandroid/widget/CompoundButton;->getHorizontalOffsetForDrawables()I
 HSPLandroid/widget/CompoundButton;->isChecked()Z
-HSPLandroid/widget/CompoundButton;->jumpDrawablesToCurrentState()V
-HSPLandroid/widget/CompoundButton;->onCreateDrawableState(I)[I
 HSPLandroid/widget/CompoundButton;->onDraw(Landroid/graphics/Canvas;)V
+HSPLandroid/widget/CompoundButton;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
 HSPLandroid/widget/CompoundButton;->onResolveDrawables(I)V
-HSPLandroid/widget/CompoundButton;->onSaveInstanceState()Landroid/os/Parcelable;
-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;->setOnCheckedChangeWidgetListener(Landroid/widget/CompoundButton$OnCheckedChangeListener;)V
-HSPLandroid/widget/CompoundButton;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
-HSPLandroid/widget/CursorAdapter;-><init>(Landroid/content/Context;Landroid/database/Cursor;Z)V
-HSPLandroid/widget/CursorAdapter;->bindView(Landroid/view/View;Landroid/content/Context;Landroid/database/Cursor;)V
-HSPLandroid/widget/CursorAdapter;->changeCursor(Landroid/database/Cursor;)V
-HSPLandroid/widget/CursorAdapter;->getCursor()Landroid/database/Cursor;
-HSPLandroid/widget/CursorAdapter;->init(Landroid/content/Context;Landroid/database/Cursor;I)V
-HSPLandroid/widget/CursorAdapter;->newView(Landroid/content/Context;Landroid/database/Cursor;Landroid/view/ViewGroup;)Landroid/view/View;
-HSPLandroid/widget/CursorAdapter;->swapCursor(Landroid/database/Cursor;)Landroid/database/Cursor;
-HSPLandroid/widget/CursorFilter$CursorFilterClient;->changeCursor(Landroid/database/Cursor;)V
-HSPLandroid/widget/CursorFilter$CursorFilterClient;->convertToString(Landroid/database/Cursor;)Ljava/lang/CharSequence;
-HSPLandroid/widget/CursorFilter$CursorFilterClient;->getCursor()Landroid/database/Cursor;
-HSPLandroid/widget/CursorFilter$CursorFilterClient;->runQueryOnBackgroundThread(Ljava/lang/CharSequence;)Landroid/database/Cursor;
+HSPLandroid/widget/DropDownListView;->drawableStateChanged()V
+HSPLandroid/widget/DropDownListView;->hasFocus()Z
+HSPLandroid/widget/DropDownListView;->hasWindowFocus()Z
+HSPLandroid/widget/DropDownListView;->isFocused()Z
+HSPLandroid/widget/DropDownListView;->isInTouchMode()Z
+HSPLandroid/widget/DropDownListView;->obtainView(I[Z)Landroid/view/View;
+HSPLandroid/widget/DropDownListView;->onTouchEvent(Landroid/view/MotionEvent;)Z
+HSPLandroid/widget/DropDownListView;->setListSelectionHidden(Z)V
+HSPLandroid/widget/DropDownListView;->shouldShowSelector()Z
+HSPLandroid/widget/DropDownListView;->touchModeDrawsInPressedState()Z
 HSPLandroid/widget/EdgeEffect;-><init>(Landroid/content/Context;)V
 HSPLandroid/widget/EdgeEffect;->draw(Landroid/graphics/Canvas;)Z
 HSPLandroid/widget/EdgeEffect;->finish()V
-HSPLandroid/widget/EdgeEffect;->getMaxHeight()I
 HSPLandroid/widget/EdgeEffect;->isFinished()Z
 HSPLandroid/widget/EdgeEffect;->onAbsorb(I)V
-HSPLandroid/widget/EdgeEffect;->onPull(FF)V
-HSPLandroid/widget/EdgeEffect;->onRelease()V
 HSPLandroid/widget/EdgeEffect;->setSize(II)V
 HSPLandroid/widget/EdgeEffect;->update()V
 HSPLandroid/widget/EditText;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/EditText;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-HSPLandroid/widget/EditText;->getAccessibilityClassName()Ljava/lang/CharSequence;
 HSPLandroid/widget/EditText;->getDefaultEditable()Z
 HSPLandroid/widget/EditText;->getDefaultMovementMethod()Landroid/text/method/MovementMethod;
 HSPLandroid/widget/EditText;->getFreezesText()Z
 HSPLandroid/widget/EditText;->getText()Landroid/text/Editable;
 HSPLandroid/widget/EditText;->getText()Ljava/lang/CharSequence;
 HSPLandroid/widget/EditText;->setEllipsize(Landroid/text/TextUtils$TruncateAt;)V
-HSPLandroid/widget/EditText;->setSelection(I)V
-HSPLandroid/widget/EditText;->setSelection(II)V
 HSPLandroid/widget/EditText;->setText(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;)V
 HSPLandroid/widget/EditText;->supportsAutoSizeText()Z
 HSPLandroid/widget/Editor$1;->run()V
 HSPLandroid/widget/Editor$2;->onDraw()V
-HSPLandroid/widget/Editor$Blink;->cancel()V
-HSPLandroid/widget/Editor$Blink;->run()V
-HSPLandroid/widget/Editor$Blink;->uncancel()V
 HSPLandroid/widget/Editor$CursorAnchorInfoNotifier;->updatePosition(IIZZ)V
 HSPLandroid/widget/Editor$EditOperation$1;-><init>()V
+HSPLandroid/widget/Editor$EditOperation$1;->createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Landroid/widget/Editor$EditOperation;
+HSPLandroid/widget/Editor$EditOperation$1;->createFromParcel(Landroid/os/Parcel;Ljava/lang/ClassLoader;)Ljava/lang/Object;
+HSPLandroid/widget/Editor$EditOperation;-><init>(Landroid/os/Parcel;Ljava/lang/ClassLoader;)V
 HSPLandroid/widget/Editor$EditOperation;-><init>(Landroid/widget/Editor;Ljava/lang/String;ILjava/lang/String;Z)V
 HSPLandroid/widget/Editor$EditOperation;->commit()V
+HSPLandroid/widget/Editor$EditOperation;->forceMergeWith(Landroid/widget/Editor$EditOperation;)V
+HSPLandroid/widget/Editor$EditOperation;->mergeDeleteWith(Landroid/widget/Editor$EditOperation;)Z
 HSPLandroid/widget/Editor$EditOperation;->mergeInsertWith(Landroid/widget/Editor$EditOperation;)Z
-HSPLandroid/widget/Editor$EditOperation;->mergeWith(Landroid/widget/Editor$EditOperation;)Z
+HSPLandroid/widget/Editor$EditOperation;->mergeReplaceWith(Landroid/widget/Editor$EditOperation;)Z
+HSPLandroid/widget/Editor$EditOperation;->modifyText(Landroid/text/Editable;IILjava/lang/CharSequence;II)V
+HSPLandroid/widget/Editor$EditOperation;->writeToParcel(Landroid/os/Parcel;I)V
 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;->getMinTouchOffset()I
-HSPLandroid/widget/Editor$SelectionModifierCursorController;->invalidateHandles()V
 HSPLandroid/widget/Editor$SelectionModifierCursorController;->isCursorBeingModified()Z
 HSPLandroid/widget/Editor$SelectionModifierCursorController;->isDragAcceleratorActive()Z
 HSPLandroid/widget/Editor$SelectionModifierCursorController;->isSelectionStartDragged()Z
-HSPLandroid/widget/Editor$SelectionModifierCursorController;->onDetached()V
-HSPLandroid/widget/Editor$SelectionModifierCursorController;->onTouchEvent(Landroid/view/MotionEvent;)V
 HSPLandroid/widget/Editor$SelectionModifierCursorController;->resetDragAcceleratorState()V
 HSPLandroid/widget/Editor$SelectionModifierCursorController;->resetTouchOffsets()V
-HSPLandroid/widget/Editor$SelectionModifierCursorController;->updateSelection(Landroid/view/MotionEvent;)V
 HSPLandroid/widget/Editor$SpanController;->hide()V
 HSPLandroid/widget/Editor$SpanController;->onSpanAdded(Landroid/text/Spannable;Ljava/lang/Object;II)V
 HSPLandroid/widget/Editor$SpanController;->onSpanChanged(Landroid/text/Spannable;Ljava/lang/Object;IIII)V
 HSPLandroid/widget/Editor$SpanController;->onSpanRemoved(Landroid/text/Spannable;Ljava/lang/Object;II)V
 HSPLandroid/widget/Editor$TextRenderNode;->needsRecord()Z
-HSPLandroid/widget/Editor$TextViewPositionListener;->updatePosition(IIZZ)V
 HSPLandroid/widget/Editor$UndoInputFilter;->beginBatchEdit()V
 HSPLandroid/widget/Editor$UndoInputFilter;->canUndoEdit(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Z
 HSPLandroid/widget/Editor$UndoInputFilter;->endBatchEdit()V
 HSPLandroid/widget/Editor$UndoInputFilter;->filter(Ljava/lang/CharSequence;IILandroid/text/Spanned;II)Ljava/lang/CharSequence;
 HSPLandroid/widget/Editor$UndoInputFilter;->handleEdit(Ljava/lang/CharSequence;IILandroid/text/Spanned;IIZ)V
 HSPLandroid/widget/Editor$UndoInputFilter;->recordEdit(Landroid/widget/Editor$EditOperation;I)V
+HSPLandroid/widget/Editor$UndoInputFilter;->restoreInstanceState(Landroid/os/Parcel;)V
 HSPLandroid/widget/Editor$UndoInputFilter;->saveInstanceState(Landroid/os/Parcel;)V
 HSPLandroid/widget/Editor;-><init>(Landroid/widget/TextView;)V
 HSPLandroid/widget/Editor;->addSpanWatchers(Landroid/text/Spannable;)V
 HSPLandroid/widget/Editor;->adjustInputType(ZZZZ)V
 HSPLandroid/widget/Editor;->beginBatchEdit()V
-HSPLandroid/widget/Editor;->clampHorizontalPosition(Landroid/graphics/drawable/Drawable;F)I
 HSPLandroid/widget/Editor;->createInputContentTypeIfNeeded()V
 HSPLandroid/widget/Editor;->createInputMethodStateIfNeeded()V
 HSPLandroid/widget/Editor;->discardTextDisplayLists()V
@@ -36543,96 +30583,35 @@
 HSPLandroid/widget/Editor;->getSelectionController()Landroid/widget/Editor$SelectionModifierCursorController;
 HSPLandroid/widget/Editor;->getTextActionMode()Landroid/view/ActionMode;
 HSPLandroid/widget/Editor;->getTextView()Landroid/widget/TextView;
-HSPLandroid/widget/Editor;->hasSelectionController()Z
 HSPLandroid/widget/Editor;->hideCursorAndSpanControllers()V
 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;->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;->onTouchEvent(Landroid/view/MotionEvent;)V
+HSPLandroid/widget/Editor;->onScrollChanged()V
 HSPLandroid/widget/Editor;->onWindowFocusChanged(Z)V
 HSPLandroid/widget/Editor;->prepareCursorControllers()V
 HSPLandroid/widget/Editor;->refreshTextActionMode()V
 HSPLandroid/widget/Editor;->reportExtractedText()Z
+HSPLandroid/widget/Editor;->restoreInstanceState(Landroid/os/ParcelableParcel;)V
 HSPLandroid/widget/Editor;->saveInstanceState()Landroid/os/ParcelableParcel;
 HSPLandroid/widget/Editor;->sendOnTextChanged(III)V
 HSPLandroid/widget/Editor;->sendUpdateSelection()V
 HSPLandroid/widget/Editor;->setFrame()V
 HSPLandroid/widget/Editor;->shouldBlink()Z
-HSPLandroid/widget/Editor;->shouldFilterOutTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLandroid/widget/Editor;->shouldRenderCursor()Z
 HSPLandroid/widget/Editor;->stopTextActionMode()V
-HSPLandroid/widget/Editor;->updateCursorPosition()V
-HSPLandroid/widget/Editor;->updateCursorPosition(IIF)V
 HSPLandroid/widget/Editor;->updateSpellCheckSpans(IIZ)V
-HSPLandroid/widget/Editor;->updateTapState(Landroid/view/MotionEvent;)V
-HSPLandroid/widget/ExpandableListView$OnChildClickListener;->onChildClick(Landroid/widget/ExpandableListView;Landroid/view/View;IIJ)Z
-HSPLandroid/widget/ExpandableListView$OnGroupClickListener;->onGroupClick(Landroid/widget/ExpandableListView;Landroid/view/View;IJ)Z
-HSPLandroid/widget/ExpandableListView$OnGroupCollapseListener;->onGroupCollapse(I)V
-HSPLandroid/widget/ExpandableListView$OnGroupExpandListener;->onGroupExpand(I)V
-HSPLandroid/widget/ExpandableListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/ExpandableListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/ExpandableListView;->getAdapter()Landroid/widget/Adapter;
-HSPLandroid/widget/ExpandableListView;->getAdapter()Landroid/widget/ListAdapter;
-HSPLandroid/widget/ExpandableListView;->onRtlPropertiesChanged(I)V
-HSPLandroid/widget/ExpandableListView;->resolveChildIndicator()V
-HSPLandroid/widget/ExpandableListView;->resolveIndicator()V
-HSPLandroid/widget/ExpandableListView;->setChildDivider(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ExpandableListView;->setOnChildClickListener(Landroid/widget/ExpandableListView$OnChildClickListener;)V
-HSPLandroid/widget/ExpandableListView;->setOnGroupClickListener(Landroid/widget/ExpandableListView$OnGroupClickListener;)V
-HSPLandroid/widget/ExpandableListView;->setOnGroupCollapseListener(Landroid/widget/ExpandableListView$OnGroupCollapseListener;)V
-HSPLandroid/widget/ExpandableListView;->setOnGroupExpandListener(Landroid/widget/ExpandableListView$OnGroupExpandListener;)V
-HSPLandroid/widget/FastScroller$3;-><init>(Ljava/lang/String;)V
-HSPLandroid/widget/FastScroller$4;-><init>(Ljava/lang/String;)V
-HSPLandroid/widget/FastScroller$5;-><init>(Ljava/lang/String;)V
-HSPLandroid/widget/FastScroller$6;-><init>(Ljava/lang/String;)V
-HSPLandroid/widget/FastScroller;-><init>(Landroid/widget/AbsListView;I)V
-HSPLandroid/widget/FastScroller;->createPreviewTextView(Landroid/content/Context;)Landroid/widget/TextView;
-HSPLandroid/widget/FastScroller;->getSectionsFromIndexer()V
-HSPLandroid/widget/FastScroller;->groupAnimatorOfFloat(Landroid/util/Property;F[Landroid/view/View;)Landroid/animation/Animator;
-HSPLandroid/widget/FastScroller;->isEnabled()Z
-HSPLandroid/widget/FastScroller;->layoutTrack()V
-HSPLandroid/widget/FastScroller;->measurePreview(Landroid/view/View;Landroid/graphics/Rect;)V
-HSPLandroid/widget/FastScroller;->measureViewToSide(Landroid/view/View;Landroid/view/View;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLandroid/widget/FastScroller;->onItemCountChanged(II)V
-HSPLandroid/widget/FastScroller;->onScroll(III)V
-HSPLandroid/widget/FastScroller;->onSectionsChanged()V
-HSPLandroid/widget/FastScroller;->onSizeChanged(IIII)V
-HSPLandroid/widget/FastScroller;->onStateDependencyChanged(Z)V
-HSPLandroid/widget/FastScroller;->setEnabled(Z)V
-HSPLandroid/widget/FastScroller;->setScrollbarPosition(I)V
-HSPLandroid/widget/FastScroller;->setState(I)V
-HSPLandroid/widget/FastScroller;->setStyle(I)V
-HSPLandroid/widget/FastScroller;->stop()V
-HSPLandroid/widget/FastScroller;->transitionToHidden()V
-HSPLandroid/widget/FastScroller;->updateAppearance()V
-HSPLandroid/widget/FastScroller;->updateContainerRect()V
-HSPLandroid/widget/FastScroller;->updateLayout()V
-HSPLandroid/widget/FastScroller;->updateOffsetAndRange()V
-HSPLandroid/widget/Filter$FilterResults;-><init>()V
-HSPLandroid/widget/Filter$RequestHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/widget/Filter$ResultsHandler;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/widget/Filter;-><init>()V
-HSPLandroid/widget/Filter;->filter(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/Filter;->filter(Ljava/lang/CharSequence;Landroid/widget/Filter$FilterListener;)V
-HSPLandroid/widget/Filter;->performFiltering(Ljava/lang/CharSequence;)Landroid/widget/Filter$FilterResults;
-HSPLandroid/widget/Filter;->publishResults(Ljava/lang/CharSequence;Landroid/widget/Filter$FilterResults;)V
-HSPLandroid/widget/Filterable;->getFilter()Landroid/widget/Filter;
 HSPLandroid/widget/ForwardingListener;-><init>(Landroid/view/View;)V
-HSPLandroid/widget/ForwardingListener;->getPopup()Lcom/android/internal/view/menu/ShowableListMenu;
+HSPLandroid/widget/ForwardingListener;->onTouch(Landroid/view/View;Landroid/view/MotionEvent;)Z
+HSPLandroid/widget/ForwardingListener;->onTouchObserved(Landroid/view/MotionEvent;)Z
 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
@@ -36657,26 +30636,82 @@
 HSPLandroid/widget/GridLayout$3;-><init>()V
 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
+HSPLandroid/widget/GridLayout$7$1;->include(II)V
+HSPLandroid/widget/GridLayout$7$1;->reset()V
+HSPLandroid/widget/GridLayout$7$1;->size(Z)I
 HSPLandroid/widget/GridLayout$7;-><init>()V
+HSPLandroid/widget/GridLayout$7;->getAlignmentValue(Landroid/view/View;II)I
+HSPLandroid/widget/GridLayout$7;->getBounds()Landroid/widget/GridLayout$Bounds;
+HSPLandroid/widget/GridLayout$7;->getGravityOffset(Landroid/view/View;I)I
 HSPLandroid/widget/GridLayout$8;-><init>()V
+HSPLandroid/widget/GridLayout$8;->getAlignmentValue(Landroid/view/View;II)I
+HSPLandroid/widget/GridLayout$8;->getGravityOffset(Landroid/view/View;I)I
+HSPLandroid/widget/GridLayout$8;->getSizeInCell(Landroid/view/View;II)I
+HSPLandroid/widget/GridLayout$Alignment;->getBounds()Landroid/widget/GridLayout$Bounds;
+HSPLandroid/widget/GridLayout$Alignment;->getSizeInCell(Landroid/view/View;II)I
+HSPLandroid/widget/GridLayout$Assoc;->pack()Landroid/widget/GridLayout$PackedMap;
+HSPLandroid/widget/GridLayout$Axis$1;-><init>(Landroid/widget/GridLayout$Axis;[Landroid/widget/GridLayout$Arc;)V
+HSPLandroid/widget/GridLayout$Axis$1;->walk(I)V
 HSPLandroid/widget/GridLayout$Axis;-><init>(Landroid/widget/GridLayout;Z)V
 HSPLandroid/widget/GridLayout$Axis;->calculateMaxIndex()I
+HSPLandroid/widget/GridLayout$Axis;->calculateTotalWeight()F
+HSPLandroid/widget/GridLayout$Axis;->computeGroupBounds()V
+HSPLandroid/widget/GridLayout$Axis;->computeHasWeights()Z
+HSPLandroid/widget/GridLayout$Axis;->computeLinks(Landroid/widget/GridLayout$PackedMap;Z)V
+HSPLandroid/widget/GridLayout$Axis;->computeLocations([I)V
+HSPLandroid/widget/GridLayout$Axis;->createArcs()[Landroid/widget/GridLayout$Arc;
+HSPLandroid/widget/GridLayout$Axis;->createGroupBounds()Landroid/widget/GridLayout$PackedMap;
+HSPLandroid/widget/GridLayout$Axis;->createLinks(Z)Landroid/widget/GridLayout$PackedMap;
+HSPLandroid/widget/GridLayout$Axis;->getGroupBounds()Landroid/widget/GridLayout$PackedMap;
+HSPLandroid/widget/GridLayout$Axis;->getLocations()[I
+HSPLandroid/widget/GridLayout$Axis;->getMeasure(I)I
+HSPLandroid/widget/GridLayout$Axis;->groupArcsByFirstVertex([Landroid/widget/GridLayout$Arc;)[[Landroid/widget/GridLayout$Arc;
+HSPLandroid/widget/GridLayout$Axis;->include(Ljava/util/List;Landroid/widget/GridLayout$Interval;Landroid/widget/GridLayout$MutableInt;Z)V
+HSPLandroid/widget/GridLayout$Axis;->layout(I)V
 HSPLandroid/widget/GridLayout$Axis;->setCount(I)V
+HSPLandroid/widget/GridLayout$Axis;->shareOutDelta(IF)V
+HSPLandroid/widget/GridLayout$Axis;->solve([Landroid/widget/GridLayout$Arc;[IZ)Z
+HSPLandroid/widget/GridLayout$Axis;->solveAndDistributeSpace([I)V
+HSPLandroid/widget/GridLayout$Bounds;->getOffset(Landroid/widget/GridLayout;Landroid/view/View;Landroid/widget/GridLayout$Alignment;IZ)I
+HSPLandroid/widget/GridLayout$Bounds;->include(II)V
+HSPLandroid/widget/GridLayout$Bounds;->reset()V
+HSPLandroid/widget/GridLayout$Bounds;->size(Z)I
 HSPLandroid/widget/GridLayout$Interval;-><init>(II)V
+HSPLandroid/widget/GridLayout$Interval;->equals(Ljava/lang/Object;)Z
+HSPLandroid/widget/GridLayout$Interval;->hashCode()I
 HSPLandroid/widget/GridLayout$Interval;->size()I
+HSPLandroid/widget/GridLayout$LayoutParams;->hashCode()I
 HSPLandroid/widget/GridLayout$LayoutParams;->init(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/GridLayout$LayoutParams;->reInitSuper(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/GridLayout$LayoutParams;->setBaseAttributes(Landroid/content/res/TypedArray;II)V
+HSPLandroid/widget/GridLayout$PackedMap;->compact([Ljava/lang/Object;[I)[Ljava/lang/Object;
+HSPLandroid/widget/GridLayout$PackedMap;->createIndex([Ljava/lang/Object;)[I
+HSPLandroid/widget/GridLayout$PackedMap;->getValue(I)Ljava/lang/Object;
 HSPLandroid/widget/GridLayout$Spec;-><init>(ZIILandroid/widget/GridLayout$Alignment;F)V
 HSPLandroid/widget/GridLayout$Spec;-><init>(ZLandroid/widget/GridLayout$Interval;Landroid/widget/GridLayout$Alignment;F)V
+HSPLandroid/widget/GridLayout$Spec;->access$100(Landroid/widget/GridLayout$Spec;Z)Landroid/widget/GridLayout$Alignment;
+HSPLandroid/widget/GridLayout$Spec;->equals(Ljava/lang/Object;)Z
+HSPLandroid/widget/GridLayout$Spec;->hashCode()I
 HSPLandroid/widget/GridLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/GridLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HSPLandroid/widget/GridLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
 HSPLandroid/widget/GridLayout;->checkLayoutParams(Landroid/widget/GridLayout$LayoutParams;Z)V
+HSPLandroid/widget/GridLayout;->computeLayoutParamsHashCode()I
+HSPLandroid/widget/GridLayout;->consistencyCheck()V
 HSPLandroid/widget/GridLayout;->createSwitchingAlignment(Landroid/widget/GridLayout$Alignment;Landroid/widget/GridLayout$Alignment;)Landroid/widget/GridLayout$Alignment;
 HSPLandroid/widget/GridLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
 HSPLandroid/widget/GridLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/GridLayout$LayoutParams;
 HSPLandroid/widget/GridLayout;->getAlignment(IZ)Landroid/widget/GridLayout$Alignment;
+HSPLandroid/widget/GridLayout;->getDefaultMargin(Landroid/view/View;Landroid/widget/GridLayout$LayoutParams;ZZ)I
+HSPLandroid/widget/GridLayout;->getLayoutParams(Landroid/view/View;)Landroid/widget/GridLayout$LayoutParams;
+HSPLandroid/widget/GridLayout;->getMargin(Landroid/view/View;ZZ)I
+HSPLandroid/widget/GridLayout;->getMargin1(Landroid/view/View;ZZ)I
+HSPLandroid/widget/GridLayout;->getMeasurement(Landroid/view/View;Z)I
+HSPLandroid/widget/GridLayout;->measureChildrenWithMargins(IIZ)V
+HSPLandroid/widget/GridLayout;->onChildVisibilityChanged(Landroid/view/View;II)V
+HSPLandroid/widget/GridLayout;->onLayout(ZIIII)V
+HSPLandroid/widget/GridLayout;->onMeasure(II)V
 HSPLandroid/widget/GridLayout;->onViewAdded(Landroid/view/View;)V
 HSPLandroid/widget/GridLayout;->requestLayout()V
 HSPLandroid/widget/GridLayout;->setAlignmentMode(I)V
@@ -36687,58 +30722,31 @@
 HSPLandroid/widget/GridLayout;->setRowOrderPreserved(Z)V
 HSPLandroid/widget/GridLayout;->setUseDefaultMargins(Z)V
 HSPLandroid/widget/GridLayout;->spec(I)Landroid/widget/GridLayout$Spec;
-HSPLandroid/widget/HeaderViewListAdapter;-><init>(Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/widget/ListAdapter;)V
-HSPLandroid/widget/HeaderViewListAdapter;->areAllItemsEnabled()Z
-HSPLandroid/widget/HeaderViewListAdapter;->getCount()I
-HSPLandroid/widget/HeaderViewListAdapter;->getFootersCount()I
-HSPLandroid/widget/HeaderViewListAdapter;->getHeadersCount()I
-HSPLandroid/widget/HeaderViewListAdapter;->getItemId(I)J
-HSPLandroid/widget/HeaderViewListAdapter;->getItemViewType(I)I
-HSPLandroid/widget/HeaderViewListAdapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
-HSPLandroid/widget/HeaderViewListAdapter;->getViewTypeCount()I
-HSPLandroid/widget/HeaderViewListAdapter;->hasStableIds()Z
-HSPLandroid/widget/HeaderViewListAdapter;->isEmpty()Z
-HSPLandroid/widget/HeaderViewListAdapter;->isEnabled(I)Z
-HSPLandroid/widget/HeaderViewListAdapter;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
-HSPLandroid/widget/HeaderViewListAdapter;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
+HSPLandroid/widget/GridLayout;->validateLayoutParams()V
 HSPLandroid/widget/HorizontalScrollView$SavedState$1;-><init>()V
-HSPLandroid/widget/HorizontalScrollView$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/widget/HorizontalScrollView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/HorizontalScrollView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HSPLandroid/widget/HorizontalScrollView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/HorizontalScrollView;->addView(Landroid/view/View;)V
-HSPLandroid/widget/HorizontalScrollView;->addView(Landroid/view/View;I)V
 HSPLandroid/widget/HorizontalScrollView;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
 HSPLandroid/widget/HorizontalScrollView;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
 HSPLandroid/widget/HorizontalScrollView;->computeScroll()V
 HSPLandroid/widget/HorizontalScrollView;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/HorizontalScrollView;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HSPLandroid/widget/HorizontalScrollView;->getScrollRange()I
-HSPLandroid/widget/HorizontalScrollView;->inChild(II)Z
 HSPLandroid/widget/HorizontalScrollView;->initScrollView()V
 HSPLandroid/widget/HorizontalScrollView;->measureChildWithMargins(Landroid/view/View;IIII)V
-HSPLandroid/widget/HorizontalScrollView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLandroid/widget/HorizontalScrollView;->onLayout(ZIIII)V
 HSPLandroid/widget/HorizontalScrollView;->onMeasure(II)V
-HSPLandroid/widget/HorizontalScrollView;->onRequestFocusInDescendants(ILandroid/graphics/Rect;)Z
-HSPLandroid/widget/HorizontalScrollView;->onRestoreInstanceState(Landroid/os/Parcelable;)V
-HSPLandroid/widget/HorizontalScrollView;->onSaveInstanceState()Landroid/os/Parcelable;
 HSPLandroid/widget/HorizontalScrollView;->onSizeChanged(IIII)V
 HSPLandroid/widget/HorizontalScrollView;->requestLayout()V
 HSPLandroid/widget/HorizontalScrollView;->scrollTo(II)V
 HSPLandroid/widget/HorizontalScrollView;->setFillViewport(Z)V
 HSPLandroid/widget/HorizontalScrollView;->setOverScrollMode(I)V
-HSPLandroid/widget/HorizontalScrollView;->smoothScrollBy(II)V
-HSPLandroid/widget/ImageButton;-><init>(Landroid/content/Context;)V
 HSPLandroid/widget/ImageButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/ImageButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroid/widget/ImageButton;->onSetAlpha(I)Z
 HSPLandroid/widget/ImageView$ScaleType;-><init>(Ljava/lang/String;II)V
-HSPLandroid/widget/ImageView$ScaleType;->values()[Landroid/widget/ImageView$ScaleType;
 HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;)V
 HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HSPLandroid/widget/ImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/ImageView;->applyColorMod()V
 HSPLandroid/widget/ImageView;->applyImageTint()V
 HSPLandroid/widget/ImageView;->clearColorFilter()V
 HSPLandroid/widget/ImageView;->configureBounds()V
@@ -36748,7 +30756,6 @@
 HSPLandroid/widget/ImageView;->getBaseline()I
 HSPLandroid/widget/ImageView;->getDrawable()Landroid/graphics/drawable/Drawable;
 HSPLandroid/widget/ImageView;->getImageMatrix()Landroid/graphics/Matrix;
-HSPLandroid/widget/ImageView;->getImageTintList()Landroid/content/res/ColorStateList;
 HSPLandroid/widget/ImageView;->getMaxHeight()I
 HSPLandroid/widget/ImageView;->getScaleType()Landroid/widget/ImageView$ScaleType;
 HSPLandroid/widget/ImageView;->hasOverlappingRendering()Z
@@ -36762,20 +30769,18 @@
 HSPLandroid/widget/ImageView;->onDetachedFromWindow()V
 HSPLandroid/widget/ImageView;->onDraw(Landroid/graphics/Canvas;)V
 HSPLandroid/widget/ImageView;->onMeasure(II)V
+HSPLandroid/widget/ImageView;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
 HSPLandroid/widget/ImageView;->onRtlPropertiesChanged(I)V
 HSPLandroid/widget/ImageView;->onVisibilityAggregated(Z)V
 HSPLandroid/widget/ImageView;->resizeFromDrawable()V
-HSPLandroid/widget/ImageView;->resolveAdjustedSize(III)I
 HSPLandroid/widget/ImageView;->resolveUri()V
 HSPLandroid/widget/ImageView;->setAdjustViewBounds(Z)V
 HSPLandroid/widget/ImageView;->setAlpha(I)V
-HSPLandroid/widget/ImageView;->setBaselineAlignBottom(Z)V
 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;->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;->setImageMatrix(Landroid/graphics/Matrix;)V
 HSPLandroid/widget/ImageView;->setImageResource(I)V
@@ -36789,34 +30794,26 @@
 HSPLandroid/widget/ImageView;->updateDrawable(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/widget/ImageView;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
 HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(II)V
-HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(IIF)V
 HSPLandroid/widget/LinearLayout$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;)V
 HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HSPLandroid/widget/LinearLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HSPLandroid/widget/LinearLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
-HSPLandroid/widget/LinearLayout;->drawDividersHorizontal(Landroid/graphics/Canvas;)V
 HSPLandroid/widget/LinearLayout;->forceUniformHeight(II)V
 HSPLandroid/widget/LinearLayout;->forceUniformWidth(II)V
 HSPLandroid/widget/LinearLayout;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
 HSPLandroid/widget/LinearLayout;->generateDefaultLayoutParams()Landroid/widget/LinearLayout$LayoutParams;
 HSPLandroid/widget/LinearLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
 HSPLandroid/widget/LinearLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/LinearLayout$LayoutParams;
-HSPLandroid/widget/LinearLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/widget/LinearLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/widget/LinearLayout$LayoutParams;
 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
 HSPLandroid/widget/LinearLayout;->getVirtualChildAt(I)Landroid/view/View;
 HSPLandroid/widget/LinearLayout;->getVirtualChildCount()I
 HSPLandroid/widget/LinearLayout;->hasDividerBeforeChildAt(I)Z
-HSPLandroid/widget/LinearLayout;->isMeasureWithLargestChildEnabled()Z
 HSPLandroid/widget/LinearLayout;->layoutHorizontal(IIII)V
 HSPLandroid/widget/LinearLayout;->layoutVertical(IIII)V
 HSPLandroid/widget/LinearLayout;->measureChildBeforeLayout(Landroid/view/View;IIIII)V
@@ -36831,47 +30828,37 @@
 HSPLandroid/widget/LinearLayout;->setDividerDrawable(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/widget/LinearLayout;->setGravity(I)V
 HSPLandroid/widget/LinearLayout;->setOrientation(I)V
-HSPLandroid/widget/LinearLayout;->setShowDividers(I)V
 HSPLandroid/widget/LinearLayout;->shouldDelayChildPressedState()Z
-HSPLandroid/widget/ListAdapter;->areAllItemsEnabled()Z
-HSPLandroid/widget/ListAdapter;->isEnabled(I)Z
-HSPLandroid/widget/ListPopupWindow$PopupDataSetObserver;->onChanged()V
-HSPLandroid/widget/ListPopupWindow;-><init>(Landroid/content/Context;)V
+HSPLandroid/widget/ListPopupWindow$PopupScrollListener;->onScroll(Landroid/widget/AbsListView;III)V
+HSPLandroid/widget/ListPopupWindow$PopupTouchInterceptor;->onTouch(Landroid/view/View;Landroid/view/MotionEvent;)Z
 HSPLandroid/widget/ListPopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HSPLandroid/widget/ListPopupWindow;->buildDropDown()I
+HSPLandroid/widget/ListPopupWindow;->clearListSelection()V
 HSPLandroid/widget/ListPopupWindow;->dismiss()V
-HSPLandroid/widget/ListPopupWindow;->getBackground()Landroid/graphics/drawable/Drawable;
-HSPLandroid/widget/ListPopupWindow;->isDropDownAlwaysVisible()Z
+HSPLandroid/widget/ListPopupWindow;->getAnchorView()Landroid/view/View;
+HSPLandroid/widget/ListPopupWindow;->getListView()Landroid/widget/ListView;
+HSPLandroid/widget/ListPopupWindow;->isInputMethodNotNeeded()Z
 HSPLandroid/widget/ListPopupWindow;->isShowing()Z
 HSPLandroid/widget/ListPopupWindow;->setAdapter(Landroid/widget/ListAdapter;)V
-HSPLandroid/widget/ListPopupWindow;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ListPopupWindow;->setHeight(I)V
-HSPLandroid/widget/ListPopupWindow;->setHorizontalOffset(I)V
-HSPLandroid/widget/ListPopupWindow;->setListSelector(Landroid/graphics/drawable/Drawable;)V
+HSPLandroid/widget/ListPopupWindow;->setAnchorView(Landroid/view/View;)V
+HSPLandroid/widget/ListPopupWindow;->setContentWidth(I)V
+HSPLandroid/widget/ListPopupWindow;->setDropDownGravity(I)V
+HSPLandroid/widget/ListPopupWindow;->setEpicenterBounds(Landroid/graphics/Rect;)V
+HSPLandroid/widget/ListPopupWindow;->setInputMethodMode(I)V
 HSPLandroid/widget/ListPopupWindow;->setModal(Z)V
 HSPLandroid/widget/ListPopupWindow;->setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V
 HSPLandroid/widget/ListPopupWindow;->setOnItemClickListener(Landroid/widget/AdapterView$OnItemClickListener;)V
-HSPLandroid/widget/ListPopupWindow;->setPromptPosition(I)V
-HSPLandroid/widget/ListPopupWindow;->setPromptView(Landroid/view/View;)V
-HSPLandroid/widget/ListPopupWindow;->setSoftInputMode(I)V
-HSPLandroid/widget/ListPopupWindow;->setWidth(I)V
-HSPLandroid/widget/ListView;-><init>(Landroid/content/Context;)V
+HSPLandroid/widget/ListPopupWindow;->show()V
 HSPLandroid/widget/ListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/ListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HSPLandroid/widget/ListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/ListView;->addFooterView(Landroid/view/View;)V
-HSPLandroid/widget/ListView;->addFooterView(Landroid/view/View;Ljava/lang/Object;Z)V
-HSPLandroid/widget/ListView;->addHeaderView(Landroid/view/View;)V
-HSPLandroid/widget/ListView;->addHeaderView(Landroid/view/View;Ljava/lang/Object;Z)V
 HSPLandroid/widget/ListView;->adjustViewsUpOrDown()V
 HSPLandroid/widget/ListView;->clearRecycledState(Ljava/util/ArrayList;)V
 HSPLandroid/widget/ListView;->correctTooHigh(I)V
-HSPLandroid/widget/ListView;->correctTooLow(I)V
 HSPLandroid/widget/ListView;->dispatchDraw(Landroid/graphics/Canvas;)V
 HSPLandroid/widget/ListView;->drawChild(Landroid/graphics/Canvas;Landroid/view/View;J)Z
 HSPLandroid/widget/ListView;->drawDivider(Landroid/graphics/Canvas;Landroid/graphics/Rect;I)V
 HSPLandroid/widget/ListView;->fillDown(II)Landroid/view/View;
 HSPLandroid/widget/ListView;->fillFromTop(I)Landroid/view/View;
-HSPLandroid/widget/ListView;->fillGap(Z)V
 HSPLandroid/widget/ListView;->fillSpecific(II)Landroid/view/View;
 HSPLandroid/widget/ListView;->fillUp(II)Landroid/view/View;
 HSPLandroid/widget/ListView;->findMotionRow(I)I
@@ -36880,7 +30867,6 @@
 HSPLandroid/widget/ListView;->getAccessibilityClassName()Ljava/lang/CharSequence;
 HSPLandroid/widget/ListView;->getAdapter()Landroid/widget/Adapter;
 HSPLandroid/widget/ListView;->getAdapter()Landroid/widget/ListAdapter;
-HSPLandroid/widget/ListView;->getFooterViewsCount()I
 HSPLandroid/widget/ListView;->getHeaderViewsCount()I
 HSPLandroid/widget/ListView;->isOpaque()Z
 HSPLandroid/widget/ListView;->layoutChildren()V
@@ -36899,40 +30885,19 @@
 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;->setDividerHeight(I)V
-HSPLandroid/widget/ListView;->setFooterDividersEnabled(Z)V
-HSPLandroid/widget/ListView;->setHeaderDividersEnabled(Z)V
 HSPLandroid/widget/ListView;->setSelection(I)V
-HSPLandroid/widget/ListView;->setSelectionAfterHeaderView()V
 HSPLandroid/widget/ListView;->setupChild(Landroid/view/View;IIZIZZ)V
-HSPLandroid/widget/ListView;->smoothScrollToPosition(I)V
-HSPLandroid/widget/ListView;->trackMotionScroll(II)Z
-HSPLandroid/widget/ListView;->wrapHeaderListAdapterInternal(Ljava/util/ArrayList;Ljava/util/ArrayList;Landroid/widget/ListAdapter;)Landroid/widget/HeaderViewListAdapter;
-HSPLandroid/widget/Magnifier;-><init>(Landroid/view/View;)V
-HSPLandroid/widget/Magnifier;->getDeviceDefaultDialogCornerRadius()F
-HSPLandroid/widget/MediaController$MediaPlayerControl;->canPause()Z
-HSPLandroid/widget/MediaController$MediaPlayerControl;->canSeekBackward()Z
-HSPLandroid/widget/MediaController$MediaPlayerControl;->canSeekForward()Z
-HSPLandroid/widget/MediaController$MediaPlayerControl;->getAudioSessionId()I
-HSPLandroid/widget/MediaController$MediaPlayerControl;->getBufferPercentage()I
-HSPLandroid/widget/MediaController$MediaPlayerControl;->getCurrentPosition()I
-HSPLandroid/widget/MediaController$MediaPlayerControl;->getDuration()I
-HSPLandroid/widget/MediaController$MediaPlayerControl;->isPlaying()Z
-HSPLandroid/widget/MediaController$MediaPlayerControl;->pause()V
-HSPLandroid/widget/MediaController$MediaPlayerControl;->seekTo(I)V
-HSPLandroid/widget/MediaController$MediaPlayerControl;->start()V
-HSPLandroid/widget/MultiAutoCompleteTextView$Tokenizer;->findTokenEnd(Ljava/lang/CharSequence;I)I
-HSPLandroid/widget/MultiAutoCompleteTextView$Tokenizer;->findTokenStart(Ljava/lang/CharSequence;I)I
-HSPLandroid/widget/MultiAutoCompleteTextView$Tokenizer;->terminateToken(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/widget/MultiAutoCompleteTextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/MultiAutoCompleteTextView;->enoughToFilter()Z
-HSPLandroid/widget/MultiAutoCompleteTextView;->setTokenizer(Landroid/widget/MultiAutoCompleteTextView$Tokenizer;)V
+HSPLandroid/widget/Magnifier$Builder;->applyDefaults()V
+HSPLandroid/widget/Magnifier$Builder;->build()Landroid/widget/Magnifier;
+HSPLandroid/widget/Magnifier;-><init>(Landroid/widget/Magnifier$Builder;)V
+HSPLandroid/widget/Magnifier;->createBuilderWithOldMagnifierDefaults(Landroid/view/View;)Landroid/widget/Magnifier$Builder;
+HSPLandroid/widget/Magnifier;->update()V
+HSPLandroid/widget/MenuPopupWindow;->createDropDownListView(Landroid/content/Context;Z)Landroid/widget/DropDownListView;
 HSPLandroid/widget/OverScroller$SplineOverScroller;-><init>(Landroid/content/Context;)V
 HSPLandroid/widget/OverScroller$SplineOverScroller;->continueWhenFinished()Z
 HSPLandroid/widget/OverScroller$SplineOverScroller;->finish()V
 HSPLandroid/widget/OverScroller$SplineOverScroller;->fling(IIIII)V
 HSPLandroid/widget/OverScroller$SplineOverScroller;->springback(III)Z
-HSPLandroid/widget/OverScroller$SplineOverScroller;->startScroll(III)V
 HSPLandroid/widget/OverScroller$SplineOverScroller;->update()Z
 HSPLandroid/widget/OverScroller;-><init>(Landroid/content/Context;)V
 HSPLandroid/widget/OverScroller;-><init>(Landroid/content/Context;Landroid/view/animation/Interpolator;)V
@@ -36946,82 +30911,93 @@
 HSPLandroid/widget/OverScroller;->getFinalX()I
 HSPLandroid/widget/OverScroller;->getFinalY()I
 HSPLandroid/widget/OverScroller;->isFinished()Z
-HSPLandroid/widget/OverScroller;->isScrollingInDirection(FF)Z
-HSPLandroid/widget/OverScroller;->setInterpolator(Landroid/view/animation/Interpolator;)V
 HSPLandroid/widget/OverScroller;->springBack(IIIIII)Z
-HSPLandroid/widget/OverScroller;->startScroll(IIII)V
-HSPLandroid/widget/OverScroller;->startScroll(IIIII)V
-HSPLandroid/widget/PopupMenu$OnMenuItemClickListener;->onMenuItemClick(Landroid/view/MenuItem;)Z
+HSPLandroid/widget/PopupMenu$1;->onMenuItemSelected(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)Z
+HSPLandroid/widget/PopupMenu$2;->onDismiss()V
 HSPLandroid/widget/PopupMenu;-><init>(Landroid/content/Context;Landroid/view/View;)V
 HSPLandroid/widget/PopupMenu;-><init>(Landroid/content/Context;Landroid/view/View;III)V
+HSPLandroid/widget/PopupMenu;->dismiss()V
 HSPLandroid/widget/PopupMenu;->getDragToOpenListener()Landroid/view/View$OnTouchListener;
 HSPLandroid/widget/PopupMenu;->getMenu()Landroid/view/Menu;
 HSPLandroid/widget/PopupMenu;->getMenuInflater()Landroid/view/MenuInflater;
 HSPLandroid/widget/PopupMenu;->inflate(I)V
-HSPLandroid/widget/PopupWindow$OnDismissListener;->onDismiss()V
-HSPLandroid/widget/PopupWindow;-><init>()V
-HSPLandroid/widget/PopupWindow;-><init>(Landroid/content/Context;)V
-HSPLandroid/widget/PopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroid/widget/PopupMenu;->setOnMenuItemClickListener(Landroid/widget/PopupMenu$OnMenuItemClickListener;)V
+HSPLandroid/widget/PopupMenu;->show()V
+HSPLandroid/widget/PopupWindow$3;->onTransitionEnd(Landroid/transition/Transition;)V
+HSPLandroid/widget/PopupWindow$PopupBackgroundView;->onCreateDrawableState(I)[I
+HSPLandroid/widget/PopupWindow$PopupDecorView$1$1;->onGetEpicenter(Landroid/transition/Transition;)Landroid/graphics/Rect;
+HSPLandroid/widget/PopupWindow$PopupDecorView$1;->onGlobalLayout()V
+HSPLandroid/widget/PopupWindow$PopupDecorView$2;->onTransitionEnd(Landroid/transition/Transition;)V
+HSPLandroid/widget/PopupWindow$PopupDecorView;->cancelTransitions()V
+HSPLandroid/widget/PopupWindow$PopupDecorView;->dispatchTouchEvent(Landroid/view/MotionEvent;)Z
+HSPLandroid/widget/PopupWindow$PopupDecorView;->lambda$startExitTransition$0$PopupWindow$PopupDecorView(Landroid/transition/Transition$TransitionListener;Landroid/transition/Transition;Landroid/view/View;)V
+HSPLandroid/widget/PopupWindow$PopupDecorView;->requestEnterTransition(Landroid/transition/Transition;)V
+HSPLandroid/widget/PopupWindow$PopupDecorView;->startEnterTransition(Landroid/transition/Transition;)V
+HSPLandroid/widget/PopupWindow$PopupDecorView;->startExitTransition(Landroid/transition/Transition;Landroid/view/View;Landroid/graphics/Rect;Landroid/transition/Transition$TransitionListener;)V
 HSPLandroid/widget/PopupWindow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/PopupWindow;-><init>(Landroid/view/View;II)V
-HSPLandroid/widget/PopupWindow;-><init>(Landroid/view/View;IIZ)V
+HSPLandroid/widget/PopupWindow;->attachToAnchor(Landroid/view/View;III)V
+HSPLandroid/widget/PopupWindow;->computeFlags(I)I
+HSPLandroid/widget/PopupWindow;->createBackgroundView(Landroid/view/View;)Landroid/widget/PopupWindow$PopupBackgroundView;
+HSPLandroid/widget/PopupWindow;->createDecorView(Landroid/view/View;)Landroid/widget/PopupWindow$PopupDecorView;
+HSPLandroid/widget/PopupWindow;->createPopupLayoutParams(Landroid/os/IBinder;)Landroid/view/WindowManager$LayoutParams;
+HSPLandroid/widget/PopupWindow;->detachFromAnchor()V
 HSPLandroid/widget/PopupWindow;->dismiss()V
+HSPLandroid/widget/PopupWindow;->findDropDownPosition(Landroid/view/View;Landroid/view/WindowManager$LayoutParams;IIIIIZ)Z
+HSPLandroid/widget/PopupWindow;->getAnchor()Landroid/view/View;
+HSPLandroid/widget/PopupWindow;->getAppRootView(Landroid/view/View;)Landroid/view/View;
 HSPLandroid/widget/PopupWindow;->getBackground()Landroid/graphics/drawable/Drawable;
+HSPLandroid/widget/PopupWindow;->getContentView()Landroid/view/View;
+HSPLandroid/widget/PopupWindow;->getHeight()I
+HSPLandroid/widget/PopupWindow;->getInputMethodMode()I
+HSPLandroid/widget/PopupWindow;->getMaxAvailableHeight(Landroid/view/View;IZ)I
 HSPLandroid/widget/PopupWindow;->getTransition(I)Landroid/transition/Transition;
+HSPLandroid/widget/PopupWindow;->getTransitionEpicenter()Landroid/graphics/Rect;
+HSPLandroid/widget/PopupWindow;->getWidth()I
+HSPLandroid/widget/PopupWindow;->hasContentView()Z
+HSPLandroid/widget/PopupWindow;->invokePopup(Landroid/view/WindowManager$LayoutParams;)V
 HSPLandroid/widget/PopupWindow;->isShowing()Z
+HSPLandroid/widget/PopupWindow;->isSplitTouchEnabled()Z
+HSPLandroid/widget/PopupWindow;->positionInDisplayHorizontal(Landroid/view/WindowManager$LayoutParams;IIIIIZ)Z
+HSPLandroid/widget/PopupWindow;->preparePopup(Landroid/view/WindowManager$LayoutParams;)V
+HSPLandroid/widget/PopupWindow;->setAllowScrollingAnchorParent(Z)V
 HSPLandroid/widget/PopupWindow;->setAttachedInDecor(Z)V
 HSPLandroid/widget/PopupWindow;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
+HSPLandroid/widget/PopupWindow;->setClipToScreenEnabled(Z)V
 HSPLandroid/widget/PopupWindow;->setContentView(Landroid/view/View;)V
-HSPLandroid/widget/PopupWindow;->setElevation(F)V
 HSPLandroid/widget/PopupWindow;->setEnterTransition(Landroid/transition/Transition;)V
+HSPLandroid/widget/PopupWindow;->setEpicenterBounds(Landroid/graphics/Rect;)V
 HSPLandroid/widget/PopupWindow;->setExitTransition(Landroid/transition/Transition;)V
 HSPLandroid/widget/PopupWindow;->setFocusable(Z)V
 HSPLandroid/widget/PopupWindow;->setHeight(I)V
 HSPLandroid/widget/PopupWindow;->setInputMethodMode(I)V
 HSPLandroid/widget/PopupWindow;->setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V
 HSPLandroid/widget/PopupWindow;->setOutsideTouchable(Z)V
-HSPLandroid/widget/PopupWindow;->setSoftInputMode(I)V
 HSPLandroid/widget/PopupWindow;->setTouchInterceptor(Landroid/view/View$OnTouchListener;)V
 HSPLandroid/widget/PopupWindow;->setWidth(I)V
-HSPLandroid/widget/PopupWindow;->setWindowLayoutMode(II)V
+HSPLandroid/widget/PopupWindow;->setWindowLayoutType(I)V
+HSPLandroid/widget/PopupWindow;->showAsDropDown(Landroid/view/View;III)V
+HSPLandroid/widget/PopupWindow;->tryFitHorizontal(Landroid/view/WindowManager$LayoutParams;IIIIIIIZ)Z
+HSPLandroid/widget/PopupWindow;->tryFitVertical(Landroid/view/WindowManager$LayoutParams;IIIIIIIZ)Z
+HSPLandroid/widget/PopupWindow;->updateAboveAnchor(Z)V
 HSPLandroid/widget/ProgressBar$SavedState$1;-><init>()V
-HSPLandroid/widget/ProgressBar$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/widget/ProgressBar$SavedState;
-HSPLandroid/widget/ProgressBar$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLandroid/widget/ProgressBar$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/ProgressBar;-><init>(Landroid/content/Context;)V
 HSPLandroid/widget/ProgressBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/ProgressBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)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;->applyProgressBackgroundTint()V
-HSPLandroid/widget/ProgressBar;->applySecondaryProgressTint()V
 HSPLandroid/widget/ProgressBar;->doRefreshProgress(IIZZZ)V
 HSPLandroid/widget/ProgressBar;->drawTrack(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/ProgressBar;->drawableHotspotChanged(FF)V
 HSPLandroid/widget/ProgressBar;->drawableStateChanged()V
-HSPLandroid/widget/ProgressBar;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HSPLandroid/widget/ProgressBar;->getIndeterminateDrawable()Landroid/graphics/drawable/Drawable;
-HSPLandroid/widget/ProgressBar;->getInterpolator()Landroid/view/animation/Interpolator;
+HSPLandroid/widget/ProgressBar;->getCurrentDrawable()Landroid/graphics/drawable/Drawable;
 HSPLandroid/widget/ProgressBar;->getMax()I
-HSPLandroid/widget/ProgressBar;->getProgress()I
+HSPLandroid/widget/ProgressBar;->getMin()I
 HSPLandroid/widget/ProgressBar;->getProgressDrawable()Landroid/graphics/drawable/Drawable;
 HSPLandroid/widget/ProgressBar;->initProgressBar()V
 HSPLandroid/widget/ProgressBar;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ProgressBar;->isIndeterminate()Z
 HSPLandroid/widget/ProgressBar;->jumpDrawablesToCurrentState()V
 HSPLandroid/widget/ProgressBar;->needsTileify(Landroid/graphics/drawable/Drawable;)Z
 HSPLandroid/widget/ProgressBar;->onAttachedToWindow()V
-HSPLandroid/widget/ProgressBar;->onDetachedFromWindow()V
 HSPLandroid/widget/ProgressBar;->onDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/ProgressBar;->onMeasure(II)V
-HSPLandroid/widget/ProgressBar;->onProgressRefresh(FZI)V
 HSPLandroid/widget/ProgressBar;->onResolveDrawables(I)V
-HSPLandroid/widget/ProgressBar;->onRestoreInstanceState(Landroid/os/Parcelable;)V
-HSPLandroid/widget/ProgressBar;->onSaveInstanceState()Landroid/os/Parcelable;
-HSPLandroid/widget/ProgressBar;->onSizeChanged(IIII)V
 HSPLandroid/widget/ProgressBar;->onVisibilityAggregated(Z)V
-HSPLandroid/widget/ProgressBar;->onVisualProgressChanged(IF)V
 HSPLandroid/widget/ProgressBar;->postInvalidate()V
 HSPLandroid/widget/ProgressBar;->refreshProgress(IIZZ)V
 HSPLandroid/widget/ProgressBar;->setIndeterminate(Z)V
@@ -37036,7 +31012,6 @@
 HSPLandroid/widget/ProgressBar;->setSecondaryProgress(I)V
 HSPLandroid/widget/ProgressBar;->setVisualProgress(IF)V
 HSPLandroid/widget/ProgressBar;->startAnimation()V
-HSPLandroid/widget/ProgressBar;->stopAnimation()V
 HSPLandroid/widget/ProgressBar;->swapCurrentDrawable(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/widget/ProgressBar;->updateDrawableBounds(II)V
 HSPLandroid/widget/ProgressBar;->updateDrawableState()V
@@ -37048,22 +31023,6 @@
 HSPLandroid/widget/QuickContactBadge;->onDraw(Landroid/graphics/Canvas;)V
 HSPLandroid/widget/QuickContactBadge;->setOverlay(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/widget/QuickContactBadge;->setPrioritizedMimeType(Ljava/lang/String;)V
-HSPLandroid/widget/RadioButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-HSPLandroid/widget/RadioGroup$CheckedStateTracker;->onCheckedChanged(Landroid/widget/CompoundButton;Z)V
-HSPLandroid/widget/RadioGroup$LayoutParams;->setBaseAttributes(Landroid/content/res/TypedArray;II)V
-HSPLandroid/widget/RadioGroup$OnCheckedChangeListener;->onCheckedChanged(Landroid/widget/RadioGroup;I)V
-HSPLandroid/widget/RadioGroup$PassThroughHierarchyChangeListener;->onChildViewAdded(Landroid/view/View;Landroid/view/View;)V
-HSPLandroid/widget/RadioGroup;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/RadioGroup;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/widget/RadioGroup;->check(I)V
-HSPLandroid/widget/RadioGroup;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
-HSPLandroid/widget/RadioGroup;->clearCheck()V
-HSPLandroid/widget/RadioGroup;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/widget/RadioGroup;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/RadioGroup$LayoutParams;
-HSPLandroid/widget/RadioGroup;->getAutofillType()I
-HSPLandroid/widget/RadioGroup;->onFinishInflate()V
-HSPLandroid/widget/RadioGroup;->setCheckedId(I)V
-HSPLandroid/widget/RadioGroup;->setOnCheckedChangeListener(Landroid/widget/RadioGroup$OnCheckedChangeListener;)V
 HSPLandroid/widget/RelativeLayout$DependencyGraph$Node;->release()V
 HSPLandroid/widget/RelativeLayout$DependencyGraph;->add(Landroid/view/View;)V
 HSPLandroid/widget/RelativeLayout$DependencyGraph;->clear()V
@@ -37072,24 +31031,20 @@
 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
 HSPLandroid/widget/RelativeLayout$LayoutParams;->getRules(I)[I
 HSPLandroid/widget/RelativeLayout$LayoutParams;->hasRelativeRules()Z
-HSPLandroid/widget/RelativeLayout$LayoutParams;->removeRule(I)V
 HSPLandroid/widget/RelativeLayout$LayoutParams;->resolveLayoutDirection(I)V
 HSPLandroid/widget/RelativeLayout$LayoutParams;->resolveRules(I)V
-HSPLandroid/widget/RelativeLayout;-><init>(Landroid/content/Context;)V
+HSPLandroid/widget/RelativeLayout$TopToBottomLeftToRightComparator;->compare(Landroid/view/View;Landroid/view/View;)I
+HSPLandroid/widget/RelativeLayout$TopToBottomLeftToRightComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLandroid/widget/RelativeLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/RelativeLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HSPLandroid/widget/RelativeLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
@@ -37099,15 +31054,15 @@
 HSPLandroid/widget/RelativeLayout;->centerVertical(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;I)V
 HSPLandroid/widget/RelativeLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
 HSPLandroid/widget/RelativeLayout;->compareLayoutPosition(Landroid/widget/RelativeLayout$LayoutParams;Landroid/widget/RelativeLayout$LayoutParams;)I
-HSPLandroid/widget/RelativeLayout;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
+HSPLandroid/widget/RelativeLayout;->dispatchPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)Z
 HSPLandroid/widget/RelativeLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
 HSPLandroid/widget/RelativeLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/RelativeLayout$LayoutParams;
-HSPLandroid/widget/RelativeLayout;->generateLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Landroid/view/ViewGroup$LayoutParams;
 HSPLandroid/widget/RelativeLayout;->getAccessibilityClassName()Ljava/lang/CharSequence;
 HSPLandroid/widget/RelativeLayout;->getBaseline()I
 HSPLandroid/widget/RelativeLayout;->getChildMeasureSpec(IIIIIIII)I
 HSPLandroid/widget/RelativeLayout;->getRelatedView([II)Landroid/view/View;
 HSPLandroid/widget/RelativeLayout;->getRelatedViewBaselineOffset([I)I
+HSPLandroid/widget/RelativeLayout;->initFromAttributes(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HSPLandroid/widget/RelativeLayout;->measureChild(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;II)V
 HSPLandroid/widget/RelativeLayout;->measureChildHorizontal(Landroid/view/View;Landroid/widget/RelativeLayout$LayoutParams;II)V
 HSPLandroid/widget/RelativeLayout;->onLayout(ZIIII)V
@@ -37116,56 +31071,34 @@
 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
 HSPLandroid/widget/RemoteViews$2;-><init>()V
 HSPLandroid/widget/RemoteViews$Action;->hasSameAppInfo(Landroid/content/pm/ApplicationInfo;)Z
-HSPLandroid/widget/RemoteViews$Action;->setBitmapCache(Landroid/widget/RemoteViews$BitmapCache;)V
 HSPLandroid/widget/RemoteViews$BitmapCache;->getBitmapId(Landroid/graphics/Bitmap;)I
 HSPLandroid/widget/RemoteViews$BitmapCache;->writeBitmapsToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/widget/RemoteViews$BitmapReflectionAction;->getActionTag()I
 HSPLandroid/widget/RemoteViews$BitmapReflectionAction;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/widget/RemoteViews$MethodKey;-><init>()V
-HSPLandroid/widget/RemoteViews$OnClickHandler;-><init>()V
-HSPLandroid/widget/RemoteViews$ReflectionAction;-><init>(Landroid/widget/RemoteViews;Landroid/os/Parcel;)V
 HSPLandroid/widget/RemoteViews$ReflectionAction;->getActionTag()I
 HSPLandroid/widget/RemoteViews$ReflectionAction;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/RemoteViews$SetOnClickPendingIntent;->getActionTag()I
-HSPLandroid/widget/RemoteViews$SetOnClickPendingIntent;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/RemoteViews$ViewPaddingAction;->getActionTag()I
-HSPLandroid/widget/RemoteViews$ViewPaddingAction;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/RemoteViews;-><init>(Landroid/widget/RemoteViews;)V
-HSPLandroid/widget/RemoteViews;-><init>(Landroid/widget/RemoteViews;Landroid/widget/RemoteViews;)V
+HSPLandroid/widget/RemoteViews$RemoteResponse;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLandroid/widget/RemoteViews$SetOnClickResponse;->getActionTag()I
+HSPLandroid/widget/RemoteViews$SetOnClickResponse;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/widget/RemoteViews;-><init>(Ljava/lang/String;I)V
-HSPLandroid/widget/RemoteViews;->clone()Landroid/widget/RemoteViews;
-HSPLandroid/widget/RemoteViews;->getActionFromParcel(Landroid/os/Parcel;I)Landroid/widget/RemoteViews$Action;
 HSPLandroid/widget/RemoteViews;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
-HSPLandroid/widget/RemoteViews;->getLayoutId()I
-HSPLandroid/widget/RemoteViews;->hasSameAppInfo(Landroid/content/pm/ApplicationInfo;)Z
-HSPLandroid/widget/RemoteViews;->reduceImageSizes(II)V
 HSPLandroid/widget/RemoteViews;->setBitmap(ILjava/lang/String;Landroid/graphics/Bitmap;)V
-HSPLandroid/widget/RemoteViews;->setBitmapCache(Landroid/widget/RemoteViews$BitmapCache;)V
-HSPLandroid/widget/RemoteViews;->setBoolean(ILjava/lang/String;Z)V
 HSPLandroid/widget/RemoteViews;->setCharSequence(ILjava/lang/String;Ljava/lang/CharSequence;)V
 HSPLandroid/widget/RemoteViews;->setContentDescription(ILjava/lang/CharSequence;)V
 HSPLandroid/widget/RemoteViews;->setImageViewBitmap(ILandroid/graphics/Bitmap;)V
-HSPLandroid/widget/RemoteViews;->setImageViewResource(II)V
 HSPLandroid/widget/RemoteViews;->setInt(ILjava/lang/String;I)V
-HSPLandroid/widget/RemoteViews;->setNotRoot()V
 HSPLandroid/widget/RemoteViews;->setOnClickPendingIntent(ILandroid/app/PendingIntent;)V
+HSPLandroid/widget/RemoteViews;->setOnClickResponse(ILandroid/widget/RemoteViews$RemoteResponse;)V
 HSPLandroid/widget/RemoteViews;->setTextViewText(ILjava/lang/CharSequence;)V
-HSPLandroid/widget/RemoteViews;->setViewPadding(IIIII)V
 HSPLandroid/widget/RemoteViews;->setViewVisibility(II)V
 HSPLandroid/widget/RemoteViews;->writeActionsToParcel(Landroid/os/Parcel;)V
 HSPLandroid/widget/RemoteViews;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;->deferNotifyDataSetChanged()V
-HSPLandroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;->onRemoteAdapterConnected()Z
-HSPLandroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;->onRemoteAdapterDisconnected()V
-HSPLandroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;->setRemoteViewsAdapter(Landroid/content/Intent;Z)V
-HSPLandroid/widget/RemoteViewsService;->onGetViewFactory(Landroid/content/Intent;)Landroid/widget/RemoteViewsService$RemoteViewsFactory;
-HSPLandroid/widget/RtlSpacingHelper;-><init>()V
 HSPLandroid/widget/RtlSpacingHelper;->getEnd()I
 HSPLandroid/widget/RtlSpacingHelper;->getStart()I
 HSPLandroid/widget/RtlSpacingHelper;->setAbsolute(II)V
@@ -37193,133 +31126,36 @@
 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;)V
-HSPLandroid/widget/ScrollView;->addView(Landroid/view/View;I)V
 HSPLandroid/widget/ScrollView;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
 HSPLandroid/widget/ScrollView;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
 HSPLandroid/widget/ScrollView;->computeScroll()V
-HSPLandroid/widget/ScrollView;->computeScrollDeltaToGetChildRectOnScreen(Landroid/graphics/Rect;)I
 HSPLandroid/widget/ScrollView;->computeVerticalScrollOffset()I
 HSPLandroid/widget/ScrollView;->computeVerticalScrollRange()I
-HSPLandroid/widget/ScrollView;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
 HSPLandroid/widget/ScrollView;->draw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/ScrollView;->executeKeyEvent(Landroid/view/KeyEvent;)Z
 HSPLandroid/widget/ScrollView;->initScrollView()V
-HSPLandroid/widget/ScrollView;->isViewDescendantOf(Landroid/view/View;Landroid/view/View;)Z
-HSPLandroid/widget/ScrollView;->isWithinDeltaOfScreen(Landroid/view/View;II)Z
 HSPLandroid/widget/ScrollView;->measureChildWithMargins(Landroid/view/View;IIII)V
-HSPLandroid/widget/ScrollView;->onDetachedFromWindow()V
 HSPLandroid/widget/ScrollView;->onLayout(ZIIII)V
 HSPLandroid/widget/ScrollView;->onMeasure(II)V
 HSPLandroid/widget/ScrollView;->onRestoreInstanceState(Landroid/os/Parcelable;)V
 HSPLandroid/widget/ScrollView;->onSaveInstanceState()Landroid/os/Parcelable;
 HSPLandroid/widget/ScrollView;->onSizeChanged(IIII)V
-HSPLandroid/widget/ScrollView;->requestChildFocus(Landroid/view/View;Landroid/view/View;)V
-HSPLandroid/widget/ScrollView;->requestChildRectangleOnScreen(Landroid/view/View;Landroid/graphics/Rect;Z)Z
 HSPLandroid/widget/ScrollView;->requestLayout()V
 HSPLandroid/widget/ScrollView;->scrollTo(II)V
 HSPLandroid/widget/ScrollView;->setFillViewport(Z)V
 HSPLandroid/widget/ScrollView;->setOverScrollMode(I)V
-HSPLandroid/widget/Scroller$ViscousFluidInterpolator;-><init>()V
 HSPLandroid/widget/Scroller$ViscousFluidInterpolator;->viscousFluid(F)F
-HSPLandroid/widget/Scroller;-><init>(Landroid/content/Context;)V
 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;->abortAnimation()V
-HSPLandroid/widget/Scroller;->computeScrollOffset()Z
-HSPLandroid/widget/Scroller;->getCurrX()I
-HSPLandroid/widget/Scroller;->getCurrY()I
-HSPLandroid/widget/Scroller;->getFinalY()I
 HSPLandroid/widget/Scroller;->isFinished()Z
-HSPLandroid/widget/Scroller;->startScroll(IIIII)V
-HSPLandroid/widget/SearchView$10;->afterTextChanged(Landroid/text/Editable;)V
-HSPLandroid/widget/SearchView$10;->beforeTextChanged(Ljava/lang/CharSequence;III)V
-HSPLandroid/widget/SearchView$10;->onTextChanged(Ljava/lang/CharSequence;III)V
-HSPLandroid/widget/SearchView$1;->run()V
-HSPLandroid/widget/SearchView$3;->onFocusChange(Landroid/view/View;Z)V
-HSPLandroid/widget/SearchView$4;->onLayoutChange(Landroid/view/View;IIIIIIII)V
-HSPLandroid/widget/SearchView$OnQueryTextListener;->onQueryTextChange(Ljava/lang/String;)Z
-HSPLandroid/widget/SearchView$OnQueryTextListener;->onQueryTextSubmit(Ljava/lang/String;)Z
-HSPLandroid/widget/SearchView$SearchAutoComplete;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/SearchView$SearchAutoComplete;->enoughToFilter()Z
-HSPLandroid/widget/SearchView$SearchAutoComplete;->getSearchViewTextMinWidthDp()I
-HSPLandroid/widget/SearchView$SearchAutoComplete;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection;
-HSPLandroid/widget/SearchView$SearchAutoComplete;->onFinishInflate()V
-HSPLandroid/widget/SearchView$SearchAutoComplete;->onFocusChanged(ZILandroid/graphics/Rect;)V
-HSPLandroid/widget/SearchView$SearchAutoComplete;->onWindowFocusChanged(Z)V
-HSPLandroid/widget/SearchView$SearchAutoComplete;->setSearchView(Landroid/widget/SearchView;)V
-HSPLandroid/widget/SearchView$UpdatableTouchDelegate;-><init>(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/View;)V
-HSPLandroid/widget/SearchView$UpdatableTouchDelegate;->setBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLandroid/widget/SearchView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/SearchView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/SearchView;->adjustDropDownSizeAndPosition()V
-HSPLandroid/widget/SearchView;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HSPLandroid/widget/SearchView;->getChildBoundsWithinSearchView(Landroid/view/View;Landroid/graphics/Rect;)V
-HSPLandroid/widget/SearchView;->getDecoratedHint(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/widget/SearchView;->getQueryHint()Ljava/lang/CharSequence;
-HSPLandroid/widget/SearchView;->isIconified()Z
-HSPLandroid/widget/SearchView;->onLayout(ZIIII)V
-HSPLandroid/widget/SearchView;->onMeasure(II)V
-HSPLandroid/widget/SearchView;->onTextChanged(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/SearchView;->onTextFocusChanged()V
-HSPLandroid/widget/SearchView;->onWindowFocusChanged(Z)V
-HSPLandroid/widget/SearchView;->requestFocus(ILandroid/graphics/Rect;)Z
-HSPLandroid/widget/SearchView;->setIconifiedByDefault(Z)V
-HSPLandroid/widget/SearchView;->setImeOptions(I)V
-HSPLandroid/widget/SearchView;->setOnQueryTextListener(Landroid/widget/SearchView$OnQueryTextListener;)V
-HSPLandroid/widget/SearchView;->setQuery(Ljava/lang/CharSequence;Z)V
-HSPLandroid/widget/SearchView;->updateCloseButton()V
-HSPLandroid/widget/SearchView;->updateFocusedState()V
-HSPLandroid/widget/SearchView;->updateViewsVisibility(Z)V
-HSPLandroid/widget/SectionIndexer;->getPositionForSection(I)I
-HSPLandroid/widget/SectionIndexer;->getSectionForPosition(I)I
-HSPLandroid/widget/SectionIndexer;->getSections()[Ljava/lang/Object;
-HSPLandroid/widget/SeekBar$OnSeekBarChangeListener;->onProgressChanged(Landroid/widget/SeekBar;IZ)V
-HSPLandroid/widget/SeekBar$OnSeekBarChangeListener;->onStartTrackingTouch(Landroid/widget/SeekBar;)V
-HSPLandroid/widget/SeekBar$OnSeekBarChangeListener;->onStopTrackingTouch(Landroid/widget/SeekBar;)V
-HSPLandroid/widget/SelectionActionModeHelper$TextClassificationHelper;-><init>(Landroid/content/Context;Ljava/util/function/Supplier;Ljava/lang/CharSequence;IILandroid/os/LocaleList;)V
+HSPLandroid/widget/SeekBar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
+HSPLandroid/widget/SeekBar;->onProgressRefresh(FZI)V
+HSPLandroid/widget/SeekBar;->setOnSeekBarChangeListener(Landroid/widget/SeekBar$OnSeekBarChangeListener;)V
 HSPLandroid/widget/SelectionActionModeHelper$TextClassificationHelper;->init(Ljava/util/function/Supplier;Ljava/lang/CharSequence;IILandroid/os/LocaleList;)V
 HSPLandroid/widget/SelectionActionModeHelper;-><init>(Landroid/widget/Editor;)V
 HSPLandroid/widget/SmartSelectSprite;-><init>(Landroid/content/Context;ILjava/lang/Runnable;)V
 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/Spinner$DropDownAdapter;-><init>(Landroid/widget/SpinnerAdapter;Landroid/content/res/Resources$Theme;)V
-HSPLandroid/widget/Spinner$DropDownAdapter;->registerDataSetObserver(Landroid/database/DataSetObserver;)V
-HSPLandroid/widget/Spinner$DropDownAdapter;->unregisterDataSetObserver(Landroid/database/DataSetObserver;)V
-HSPLandroid/widget/Spinner$DropdownPopup$1;-><init>(Landroid/widget/Spinner$DropdownPopup;Landroid/widget/Spinner;)V
-HSPLandroid/widget/Spinner$DropdownPopup;->setAdapter(Landroid/widget/ListAdapter;)V
-HSPLandroid/widget/Spinner$SavedState$1;-><init>()V
-HSPLandroid/widget/Spinner$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
-HSPLandroid/widget/Spinner$SpinnerPopup;->dismiss()V
-HSPLandroid/widget/Spinner$SpinnerPopup;->getBackground()Landroid/graphics/drawable/Drawable;
-HSPLandroid/widget/Spinner$SpinnerPopup;->getHintText()Ljava/lang/CharSequence;
-HSPLandroid/widget/Spinner$SpinnerPopup;->getHorizontalOffset()I
-HSPLandroid/widget/Spinner$SpinnerPopup;->getVerticalOffset()I
-HSPLandroid/widget/Spinner$SpinnerPopup;->isShowing()Z
-HSPLandroid/widget/Spinner$SpinnerPopup;->setAdapter(Landroid/widget/ListAdapter;)V
-HSPLandroid/widget/Spinner$SpinnerPopup;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/Spinner$SpinnerPopup;->setHorizontalOffset(I)V
-HSPLandroid/widget/Spinner$SpinnerPopup;->setPromptText(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/Spinner$SpinnerPopup;->setVerticalOffset(I)V
-HSPLandroid/widget/Spinner$SpinnerPopup;->show(II)V
-HSPLandroid/widget/Spinner;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/Spinner;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-HSPLandroid/widget/Spinner;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;IIILandroid/content/res/Resources$Theme;)V
-HSPLandroid/widget/Spinner;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HSPLandroid/widget/Spinner;->layout(IZ)V
-HSPLandroid/widget/Spinner;->measureContentWidth(Landroid/widget/SpinnerAdapter;Landroid/graphics/drawable/Drawable;)I
-HSPLandroid/widget/Spinner;->onDetachedFromWindow()V
-HSPLandroid/widget/Spinner;->onLayout(ZIIII)V
-HSPLandroid/widget/Spinner;->onMeasure(II)V
-HSPLandroid/widget/Spinner;->onSaveInstanceState()Landroid/os/Parcelable;
-HSPLandroid/widget/Spinner;->setAdapter(Landroid/widget/SpinnerAdapter;)V
-HSPLandroid/widget/Spinner;->setUpChild(Landroid/view/View;Z)V
-HSPLandroid/widget/SpinnerAdapter;->getDropDownView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
 HSPLandroid/widget/Switch$1;-><init>(Ljava/lang/String;)V
 HSPLandroid/widget/Switch$1;->get(Landroid/widget/Switch;)Ljava/lang/Float;
 HSPLandroid/widget/Switch$1;->get(Ljava/lang/Object;)Ljava/lang/Object;
@@ -37328,126 +31164,32 @@
 HSPLandroid/widget/Switch;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/Switch;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HSPLandroid/widget/Switch;->animateThumbToCheckedState(Z)V
+HSPLandroid/widget/Switch;->applyThumbTint()V
+HSPLandroid/widget/Switch;->applyTrackTint()V
+HSPLandroid/widget/Switch;->draw(Landroid/graphics/Canvas;)V
+HSPLandroid/widget/Switch;->drawableHotspotChanged(FF)V
 HSPLandroid/widget/Switch;->drawableStateChanged()V
+HSPLandroid/widget/Switch;->getAccessibilityClassName()Ljava/lang/CharSequence;
 HSPLandroid/widget/Switch;->getCompoundPaddingLeft()I
 HSPLandroid/widget/Switch;->getCompoundPaddingRight()I
+HSPLandroid/widget/Switch;->getThumbScrollRange()I
+HSPLandroid/widget/Switch;->hitThumb(FF)Z
 HSPLandroid/widget/Switch;->jumpDrawablesToCurrentState()V
 HSPLandroid/widget/Switch;->onCreateDrawableState(I)[I
+HSPLandroid/widget/Switch;->onDraw(Landroid/graphics/Canvas;)V
 HSPLandroid/widget/Switch;->onLayout(ZIIII)V
 HSPLandroid/widget/Switch;->onMeasure(II)V
+HSPLandroid/widget/Switch;->onPopulateAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
+HSPLandroid/widget/Switch;->onProvideStructure(Landroid/view/ViewStructure;II)V
+HSPLandroid/widget/Switch;->onTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLandroid/widget/Switch;->setChecked(Z)V
 HSPLandroid/widget/Switch;->setSwitchTextAppearance(Landroid/content/Context;I)V
 HSPLandroid/widget/Switch;->setSwitchTypeface(Landroid/graphics/Typeface;)V
 HSPLandroid/widget/Switch;->setSwitchTypeface(Landroid/graphics/Typeface;I)V
+HSPLandroid/widget/Switch;->setTextOff(Ljava/lang/CharSequence;)V
+HSPLandroid/widget/Switch;->setTextOn(Ljava/lang/CharSequence;)V
 HSPLandroid/widget/Switch;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
-HSPLandroid/widget/TabHost$ContentStrategy;->getContentView()Landroid/view/View;
-HSPLandroid/widget/TabHost$ContentStrategy;->tabClosed()V
-HSPLandroid/widget/TabHost$FactoryContentStrategy;->getContentView()Landroid/view/View;
-HSPLandroid/widget/TabHost$IndicatorStrategy;->createIndicatorView()Landroid/view/View;
-HSPLandroid/widget/TabHost$OnTabChangeListener;->onTabChanged(Ljava/lang/String;)V
-HSPLandroid/widget/TabHost$TabContentFactory;->createTabContent(Ljava/lang/String;)Landroid/view/View;
-HSPLandroid/widget/TabHost$TabSpec;->getTag()Ljava/lang/String;
-HSPLandroid/widget/TabHost$TabSpec;->setContent(Landroid/widget/TabHost$TabContentFactory;)Landroid/widget/TabHost$TabSpec;
-HSPLandroid/widget/TabHost$TabSpec;->setIndicator(Landroid/view/View;)Landroid/widget/TabHost$TabSpec;
-HSPLandroid/widget/TabHost$ViewIndicatorStrategy;->createIndicatorView()Landroid/view/View;
-HSPLandroid/widget/TabHost;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/TabHost;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/TabHost;->addTab(Landroid/widget/TabHost$TabSpec;)V
-HSPLandroid/widget/TabHost;->clearAllTabs()V
-HSPLandroid/widget/TabHost;->dispatchWindowFocusChanged(Z)V
-HSPLandroid/widget/TabHost;->getAccessibilityClassName()Ljava/lang/CharSequence;
-HSPLandroid/widget/TabHost;->getCurrentTabTag()Ljava/lang/String;
-HSPLandroid/widget/TabHost;->getTabWidget()Landroid/widget/TabWidget;
-HSPLandroid/widget/TabHost;->newTabSpec(Ljava/lang/String;)Landroid/widget/TabHost$TabSpec;
-HSPLandroid/widget/TabHost;->setCurrentTab(I)V
-HSPLandroid/widget/TabHost;->setOnTabChangedListener(Landroid/widget/TabHost$OnTabChangeListener;)V
-HSPLandroid/widget/TabHost;->setup()V
-HSPLandroid/widget/TabWidget$OnTabSelectionChanged;->onTabSelectionChanged(IZ)V
-HSPLandroid/widget/TabWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/TabWidget;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/TabWidget;->addView(Landroid/view/View;)V
-HSPLandroid/widget/TabWidget;->childDrawableStateChanged(Landroid/view/View;)V
-HSPLandroid/widget/TabWidget;->dispatchDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/TabWidget;->focusCurrentTab(I)V
-HSPLandroid/widget/TabWidget;->getChildDrawingOrder(II)I
-HSPLandroid/widget/TabWidget;->getChildTabViewAt(I)Landroid/view/View;
-HSPLandroid/widget/TabWidget;->getTabCount()I
-HSPLandroid/widget/TabWidget;->measureChildBeforeLayout(Landroid/view/View;IIIII)V
-HSPLandroid/widget/TabWidget;->measureHorizontal(II)V
-HSPLandroid/widget/TabWidget;->onSizeChanged(IIII)V
-HSPLandroid/widget/TabWidget;->removeAllViews()V
-HSPLandroid/widget/TabWidget;->setCurrentTab(I)V
-HSPLandroid/widget/TabWidget;->setDividerDrawable(I)V
-HSPLandroid/widget/TabWidget;->setDividerDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/TabWidget;->setLeftStripDrawable(I)V
-HSPLandroid/widget/TabWidget;->setLeftStripDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/TabWidget;->setRightStripDrawable(I)V
-HSPLandroid/widget/TabWidget;->setRightStripDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/TabWidget;->setStripEnabled(Z)V
-HSPLandroid/widget/TabWidget;->setTabSelectionListener(Landroid/widget/TabWidget$OnTabSelectionChanged;)V
-HSPLandroid/widget/TableLayout$LayoutParams;->setBaseAttributes(Landroid/content/res/TypedArray;II)V
-HSPLandroid/widget/TableLayout$PassThroughHierarchyChangeListener;->onChildViewAdded(Landroid/view/View;Landroid/view/View;)V
-HSPLandroid/widget/TableLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/TableLayout;->addView(Landroid/view/View;)V
-HSPLandroid/widget/TableLayout;->addView(Landroid/view/View;I)V
-HSPLandroid/widget/TableLayout;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/widget/TableLayout;->addView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/widget/TableLayout;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
-HSPLandroid/widget/TableLayout;->findLargestCells(II)V
-HSPLandroid/widget/TableLayout;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/widget/TableLayout;->generateDefaultLayoutParams()Landroid/widget/LinearLayout$LayoutParams;
-HSPLandroid/widget/TableLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/widget/TableLayout;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/TableLayout$LayoutParams;
-HSPLandroid/widget/TableLayout;->initTableLayout()V
-HSPLandroid/widget/TableLayout;->measureChildBeforeLayout(Landroid/view/View;IIIII)V
-HSPLandroid/widget/TableLayout;->measureVertical(II)V
-HSPLandroid/widget/TableLayout;->onLayout(ZIIII)V
-HSPLandroid/widget/TableLayout;->onMeasure(II)V
-HSPLandroid/widget/TableLayout;->requestLayout()V
-HSPLandroid/widget/TableLayout;->setColumnShrinkable(IZ)V
-HSPLandroid/widget/TableLayout;->shrinkAndStretchColumns(I)V
-HSPLandroid/widget/TableLayout;->trackCollapsedColumns(Landroid/view/View;)V
-HSPLandroid/widget/TableRow$ChildrenTracker;->onChildViewAdded(Landroid/view/View;Landroid/view/View;)V
-HSPLandroid/widget/TableRow$LayoutParams;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/TableRow$LayoutParams;->setBaseAttributes(Landroid/content/res/TypedArray;II)V
-HSPLandroid/widget/TableRow;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/TableRow;->checkLayoutParams(Landroid/view/ViewGroup$LayoutParams;)Z
-HSPLandroid/widget/TableRow;->generateDefaultLayoutParams()Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/widget/TableRow;->generateDefaultLayoutParams()Landroid/widget/LinearLayout$LayoutParams;
-HSPLandroid/widget/TableRow;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/view/ViewGroup$LayoutParams;
-HSPLandroid/widget/TableRow;->generateLayoutParams(Landroid/util/AttributeSet;)Landroid/widget/TableRow$LayoutParams;
-HSPLandroid/widget/TableRow;->getChildrenSkipCount(Landroid/view/View;I)I
-HSPLandroid/widget/TableRow;->getColumnsWidths(II)[I
-HSPLandroid/widget/TableRow;->getLocationOffset(Landroid/view/View;)I
-HSPLandroid/widget/TableRow;->getNextLocationOffset(Landroid/view/View;)I
-HSPLandroid/widget/TableRow;->getVirtualChildAt(I)Landroid/view/View;
-HSPLandroid/widget/TableRow;->getVirtualChildCount()I
-HSPLandroid/widget/TableRow;->mapIndexAndColumns()V
-HSPLandroid/widget/TableRow;->measureChildBeforeLayout(Landroid/view/View;IIIII)V
-HSPLandroid/widget/TableRow;->onLayout(ZIIII)V
-HSPLandroid/widget/TableRow;->onMeasure(II)V
-HSPLandroid/widget/TableRow;->setColumnsWidthConstraints([I)V
-HSPLandroid/widget/TextClock$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLandroid/widget/TextClock;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-HSPLandroid/widget/TextClock;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/TextClock;->chooseFormat()V
-HSPLandroid/widget/TextClock;->init()V
-HSPLandroid/widget/TextClock;->is24HourModeEnabled()Z
-HSPLandroid/widget/TextClock;->onAttachedToWindow()V
-HSPLandroid/widget/TextClock;->onDetachedFromWindow()V
-HSPLandroid/widget/TextClock;->onTimeChanged()V
-HSPLandroid/widget/TextClock;->onVisibilityAggregated(Z)V
-HSPLandroid/widget/TextClock;->registerObserver()V
-HSPLandroid/widget/TextClock;->registerReceiver()V
-HSPLandroid/widget/TextClock;->setFormat12Hour(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/TextClock;->setFormat24Hour(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/TextSwitcher;-><init>(Landroid/content/Context;)V
-HSPLandroid/widget/TextSwitcher;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/TextSwitcher;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/widget/TextSwitcher;->setCurrentText(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/TextSwitcher;->setText(Ljava/lang/CharSequence;)V
 HSPLandroid/widget/TextView$2;->run()V
-HSPLandroid/widget/TextView$3;->run()V
 HSPLandroid/widget/TextView$BufferType;-><init>(Ljava/lang/String;I)V
 HSPLandroid/widget/TextView$ChangeWatcher;->afterTextChanged(Landroid/text/Editable;)V
 HSPLandroid/widget/TextView$ChangeWatcher;->beforeTextChanged(Ljava/lang/CharSequence;III)V
@@ -37459,7 +31201,6 @@
 HSPLandroid/widget/TextView$Drawables;->applyErrorDrawableIfNeeded(I)V
 HSPLandroid/widget/TextView$Drawables;->hasMetadata()Z
 HSPLandroid/widget/TextView$Drawables;->resolveWithLayoutDirection(I)Z
-HSPLandroid/widget/TextView$OnEditorActionListener;->onEditorAction(Landroid/widget/TextView;ILandroid/view/KeyEvent;)Z
 HSPLandroid/widget/TextView$SavedState$1;-><init>()V
 HSPLandroid/widget/TextView$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Landroid/widget/TextView$SavedState;
 HSPLandroid/widget/TextView$SavedState$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
@@ -37472,8 +31213,6 @@
 HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
 HSPLandroid/widget/TextView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HSPLandroid/widget/TextView;->addTextChangedListener(Landroid/text/TextWatcher;)V
-HSPLandroid/widget/TextView;->append(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/TextView;->append(Ljava/lang/CharSequence;II)V
 HSPLandroid/widget/TextView;->applyCompoundDrawableTint()V
 HSPLandroid/widget/TextView;->applySingleLine(ZZZ)V
 HSPLandroid/widget/TextView;->applyTextAppearance(Landroid/widget/TextView$TextAppearanceAttributes;)V
@@ -37491,10 +31230,8 @@
 HSPLandroid/widget/TextView;->computeScroll()V
 HSPLandroid/widget/TextView;->computeVerticalScrollExtent()I
 HSPLandroid/widget/TextView;->computeVerticalScrollRange()I
-HSPLandroid/widget/TextView;->convertToLocalHorizontalCoordinate(F)F
 HSPLandroid/widget/TextView;->createEditorIfNeeded()V
 HSPLandroid/widget/TextView;->desired(Landroid/text/Layout;)I
-HSPLandroid/widget/TextView;->didTouchFocusSelect()Z
 HSPLandroid/widget/TextView;->doKeyDown(ILandroid/view/KeyEvent;Landroid/view/KeyEvent;)I
 HSPLandroid/widget/TextView;->drawableHotspotChanged(FF)V
 HSPLandroid/widget/TextView;->drawableStateChanged()V
@@ -37502,16 +31239,12 @@
 HSPLandroid/widget/TextView;->findLargestTextSizeWhichFits(Landroid/graphics/RectF;)I
 HSPLandroid/widget/TextView;->fixFocusableAndClickableSettings()V
 HSPLandroid/widget/TextView;->getAccessibilityClassName()Ljava/lang/CharSequence;
+HSPLandroid/widget/TextView;->getAutoSizeStepGranularity()I
 HSPLandroid/widget/TextView;->getAutofillType()I
-HSPLandroid/widget/TextView;->getAutofillValue()Landroid/view/autofill/AutofillValue;
 HSPLandroid/widget/TextView;->getBaseline()I
 HSPLandroid/widget/TextView;->getBaselineOffset()I
-HSPLandroid/widget/TextView;->getBottomVerticalOffset(Z)I
 HSPLandroid/widget/TextView;->getBoxHeight(Landroid/text/Layout;)I
 HSPLandroid/widget/TextView;->getBreakStrategy()I
-HSPLandroid/widget/TextView;->getCompoundDrawablePadding()I
-HSPLandroid/widget/TextView;->getCompoundDrawables()[Landroid/graphics/drawable/Drawable;
-HSPLandroid/widget/TextView;->getCompoundDrawablesRelative()[Landroid/graphics/drawable/Drawable;
 HSPLandroid/widget/TextView;->getCompoundPaddingBottom()I
 HSPLandroid/widget/TextView;->getCompoundPaddingLeft()I
 HSPLandroid/widget/TextView;->getCompoundPaddingRight()I
@@ -37530,7 +31263,6 @@
 HSPLandroid/widget/TextView;->getFocusedRect(Landroid/graphics/Rect;)V
 HSPLandroid/widget/TextView;->getFreezesText()Z
 HSPLandroid/widget/TextView;->getGravity()I
-HSPLandroid/widget/TextView;->getHighlightColor()I
 HSPLandroid/widget/TextView;->getHint()Ljava/lang/CharSequence;
 HSPLandroid/widget/TextView;->getHorizontalOffsetForDrawables()I
 HSPLandroid/widget/TextView;->getHorizontallyScrolling()Z
@@ -37540,48 +31272,38 @@
 HSPLandroid/widget/TextView;->getInterestingRect(Landroid/graphics/Rect;I)V
 HSPLandroid/widget/TextView;->getJustificationMode()I
 HSPLandroid/widget/TextView;->getKeyListener()Landroid/text/method/KeyListener;
-HSPLandroid/widget/TextView;->getLayout()Landroid/text/Layout;
 HSPLandroid/widget/TextView;->getLayoutAlignment()Landroid/text/Layout$Alignment;
-HSPLandroid/widget/TextView;->getLineAtCoordinate(F)I
 HSPLandroid/widget/TextView;->getLineAtCoordinateUnclamped(F)I
 HSPLandroid/widget/TextView;->getLineCount()I
 HSPLandroid/widget/TextView;->getLineHeight()I
 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;->getMovementMethod()Landroid/text/method/MovementMethod;
-HSPLandroid/widget/TextView;->getOffsetAtCoordinate(IF)I
-HSPLandroid/widget/TextView;->getOffsetForPosition(FF)I
+HSPLandroid/widget/TextView;->getMinHeight()I
 HSPLandroid/widget/TextView;->getPaint()Landroid/text/TextPaint;
-HSPLandroid/widget/TextView;->getPaintFlags()I
 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;->getTextDirectionHeuristic()Landroid/text/TextDirectionHeuristic;
 HSPLandroid/widget/TextView;->getTextLocale()Ljava/util/Locale;
 HSPLandroid/widget/TextView;->getTextLocales()Landroid/os/LocaleList;
 HSPLandroid/widget/TextView;->getTextSize()F
-HSPLandroid/widget/TextView;->getTotalPaddingBottom()I
 HSPLandroid/widget/TextView;->getTotalPaddingLeft()I
 HSPLandroid/widget/TextView;->getTotalPaddingRight()I
 HSPLandroid/widget/TextView;->getTotalPaddingTop()I
 HSPLandroid/widget/TextView;->getTransformationMethod()Landroid/text/method/TransformationMethod;
-HSPLandroid/widget/TextView;->getTypeface()Landroid/graphics/Typeface;
+HSPLandroid/widget/TextView;->getTypefaceStyle()I
 HSPLandroid/widget/TextView;->getUpdatedHighlightPath()Landroid/graphics/Path;
 HSPLandroid/widget/TextView;->getVerticalOffset(Z)I
-HSPLandroid/widget/TextView;->handleBackInTextActionModeIfNeeded(Landroid/view/KeyEvent;)Z
 HSPLandroid/widget/TextView;->handleTextChanged(Ljava/lang/CharSequence;III)V
 HSPLandroid/widget/TextView;->hasOverlappingRendering()Z
 HSPLandroid/widget/TextView;->hasPasswordTransformationMethod()Z
 HSPLandroid/widget/TextView;->hasSelection()Z
 HSPLandroid/widget/TextView;->hideErrorIfUnchanged()V
-HSPLandroid/widget/TextView;->invalidateCursor()V
-HSPLandroid/widget/TextView;->invalidateCursorPath()V
 HSPLandroid/widget/TextView;->invalidateDrawable(Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/widget/TextView;->invalidateRegion(IIZ)V
 HSPLandroid/widget/TextView;->isInExtractedMode()Z
@@ -37595,28 +31317,24 @@
 HSPLandroid/widget/TextView;->length()I
 HSPLandroid/widget/TextView;->makeNewLayout(IILandroid/text/BoringLayout$Metrics;Landroid/text/BoringLayout$Metrics;IZ)V
 HSPLandroid/widget/TextView;->makeSingleLayout(ILandroid/text/BoringLayout$Metrics;ILandroid/text/Layout$Alignment;ZLandroid/text/TextUtils$TruncateAt;Z)Landroid/text/Layout;
-HSPLandroid/widget/TextView;->notifyAutoFillManagerAfterTextChangedIfNeeded()V
+HSPLandroid/widget/TextView;->notifyListeningManagersAfterTextChanged()V
 HSPLandroid/widget/TextView;->nullLayouts()V
 HSPLandroid/widget/TextView;->onAttachedToWindow()V
 HSPLandroid/widget/TextView;->onBeginBatchEdit()V
 HSPLandroid/widget/TextView;->onCheckIsTextEditor()Z
-HSPLandroid/widget/TextView;->onConfigurationChanged(Landroid/content/res/Configuration;)V
 HSPLandroid/widget/TextView;->onCreateDrawableState(I)[I
 HSPLandroid/widget/TextView;->onCreateInputConnection(Landroid/view/inputmethod/EditorInfo;)Landroid/view/inputmethod/InputConnection;
 HSPLandroid/widget/TextView;->onDetachedFromWindowInternal()V
 HSPLandroid/widget/TextView;->onDraw(Landroid/graphics/Canvas;)V
-HSPLandroid/widget/TextView;->onEditorAction(I)V
 HSPLandroid/widget/TextView;->onEndBatchEdit()V
 HSPLandroid/widget/TextView;->onFocusChanged(ZILandroid/graphics/Rect;)V
+HSPLandroid/widget/TextView;->onInitializeAccessibilityEventInternal(Landroid/view/accessibility/AccessibilityEvent;)V
 HSPLandroid/widget/TextView;->onKeyDown(ILandroid/view/KeyEvent;)Z
-HSPLandroid/widget/TextView;->onKeyPreIme(ILandroid/view/KeyEvent;)Z
-HSPLandroid/widget/TextView;->onKeyUp(ILandroid/view/KeyEvent;)Z
 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;->onProvideAutoStructureForAssistOrAutofill(Landroid/view/ViewStructure;Z)V
-HSPLandroid/widget/TextView;->onProvideAutofillStructure(Landroid/view/ViewStructure;I)V
+HSPLandroid/widget/TextView;->onProvideStructure(Landroid/view/ViewStructure;II)V
 HSPLandroid/widget/TextView;->onResolveDrawables(I)V
 HSPLandroid/widget/TextView;->onRestoreInstanceState(Landroid/os/Parcelable;)V
 HSPLandroid/widget/TextView;->onRtlPropertiesChanged(I)V
@@ -37634,45 +31352,31 @@
 HSPLandroid/widget/TextView;->removeIntersectingNonAdjacentSpans(IILjava/lang/Class;)V
 HSPLandroid/widget/TextView;->removeMisspelledSpans(Landroid/text/Spannable;)V
 HSPLandroid/widget/TextView;->removeSuggestionSpans(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLandroid/widget/TextView;->removeTextChangedListener(Landroid/text/TextWatcher;)V
 HSPLandroid/widget/TextView;->resetErrorChangedFlag()V
 HSPLandroid/widget/TextView;->resetResolvedDrawables()V
 HSPLandroid/widget/TextView;->restartMarqueeIfNeeded()V
 HSPLandroid/widget/TextView;->sendAccessibilityEventInternal(I)V
+HSPLandroid/widget/TextView;->sendAccessibilityEventUnchecked(Landroid/view/accessibility/AccessibilityEvent;)V
 HSPLandroid/widget/TextView;->sendAfterTextChanged(Landroid/text/Editable;)V
 HSPLandroid/widget/TextView;->sendBeforeTextChanged(Ljava/lang/CharSequence;III)V
 HSPLandroid/widget/TextView;->sendOnTextChanged(Ljava/lang/CharSequence;III)V
-HSPLandroid/widget/TextView;->setAllCaps(Z)V
-HSPLandroid/widget/TextView;->setAutoSizeTextTypeUniformWithConfiguration(IIII)V
-HSPLandroid/widget/TextView;->setBreakStrategy(I)V
+HSPLandroid/widget/TextView;->setAutoSizeTextTypeUniformWithPresetSizes([II)V
 HSPLandroid/widget/TextView;->setCompoundDrawablePadding(I)V
 HSPLandroid/widget/TextView;->setCompoundDrawables(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/TextView;->setCompoundDrawablesRelative(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/TextView;->setCompoundDrawablesRelativeWithIntrinsicBounds(IIII)V
-HSPLandroid/widget/TextView;->setCompoundDrawablesRelativeWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/TextView;->setCompoundDrawablesWithIntrinsicBounds(IIII)V
 HSPLandroid/widget/TextView;->setCompoundDrawablesWithIntrinsicBounds(Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;Landroid/graphics/drawable/Drawable;)V
 HSPLandroid/widget/TextView;->setCursorVisible(Z)V
-HSPLandroid/widget/TextView;->setCustomSelectionActionModeCallback(Landroid/view/ActionMode$Callback;)V
-HSPLandroid/widget/TextView;->setEditableFactory(Landroid/text/Editable$Factory;)V
 HSPLandroid/widget/TextView;->setElegantTextHeight(Z)V
 HSPLandroid/widget/TextView;->setEllipsize(Landroid/text/TextUtils$TruncateAt;)V
 HSPLandroid/widget/TextView;->setEnabled(Z)V
 HSPLandroid/widget/TextView;->setFilters(Landroid/text/Editable;[Landroid/text/InputFilter;)V
 HSPLandroid/widget/TextView;->setFilters([Landroid/text/InputFilter;)V
-HSPLandroid/widget/TextView;->setFontFeatureSettings(Ljava/lang/String;)V
 HSPLandroid/widget/TextView;->setFrame(IIII)Z
 HSPLandroid/widget/TextView;->setGravity(I)V
-HSPLandroid/widget/TextView;->setHeight(I)V
 HSPLandroid/widget/TextView;->setHighlightColor(I)V
 HSPLandroid/widget/TextView;->setHint(I)V
 HSPLandroid/widget/TextView;->setHint(Ljava/lang/CharSequence;)V
 HSPLandroid/widget/TextView;->setHintInternal(Ljava/lang/CharSequence;)V
-HSPLandroid/widget/TextView;->setHintTextColor(I)V
-HSPLandroid/widget/TextView;->setHintTextColor(Landroid/content/res/ColorStateList;)V
 HSPLandroid/widget/TextView;->setHorizontallyScrolling(Z)V
-HSPLandroid/widget/TextView;->setImeOptions(I)V
-HSPLandroid/widget/TextView;->setIncludeFontPadding(Z)V
 HSPLandroid/widget/TextView;->setInputType(I)V
 HSPLandroid/widget/TextView;->setInputType(IZ)V
 HSPLandroid/widget/TextView;->setInputTypeFromEditor()V
@@ -37680,23 +31384,15 @@
 HSPLandroid/widget/TextView;->setKeyListener(Landroid/text/method/KeyListener;)V
 HSPLandroid/widget/TextView;->setKeyListenerOnly(Landroid/text/method/KeyListener;)V
 HSPLandroid/widget/TextView;->setLetterSpacing(F)V
-HSPLandroid/widget/TextView;->setLineSpacing(FF)V
 HSPLandroid/widget/TextView;->setLines(I)V
-HSPLandroid/widget/TextView;->setLinkTextColor(I)V
-HSPLandroid/widget/TextView;->setLinkTextColor(Landroid/content/res/ColorStateList;)V
-HSPLandroid/widget/TextView;->setLinksClickable(Z)V
-HSPLandroid/widget/TextView;->setMarqueeRepeatLimit(I)V
 HSPLandroid/widget/TextView;->setMaxEms(I)V
 HSPLandroid/widget/TextView;->setMaxLines(I)V
-HSPLandroid/widget/TextView;->setMaxWidth(I)V
 HSPLandroid/widget/TextView;->setMinHeight(I)V
 HSPLandroid/widget/TextView;->setMinLines(I)V
 HSPLandroid/widget/TextView;->setMinWidth(I)V
 HSPLandroid/widget/TextView;->setMovementMethod(Landroid/text/method/MovementMethod;)V
 HSPLandroid/widget/TextView;->setOnEditorActionListener(Landroid/widget/TextView$OnEditorActionListener;)V
 HSPLandroid/widget/TextView;->setPadding(IIII)V
-HSPLandroid/widget/TextView;->setPaddingRelative(IIII)V
-HSPLandroid/widget/TextView;->setPaintFlags(I)V
 HSPLandroid/widget/TextView;->setPrivateImeOptions(Ljava/lang/String;)V
 HSPLandroid/widget/TextView;->setRawInputType(I)V
 HSPLandroid/widget/TextView;->setRawTextSize(FZ)V
@@ -37712,7 +31408,6 @@
 HSPLandroid/widget/TextView;->setText(Ljava/lang/CharSequence;Landroid/widget/TextView$BufferType;ZI)V
 HSPLandroid/widget/TextView;->setTextAppearance(I)V
 HSPLandroid/widget/TextView;->setTextAppearance(Landroid/content/Context;I)V
-HSPLandroid/widget/TextView;->setTextClassifier(Landroid/view/textclassifier/TextClassifier;)V
 HSPLandroid/widget/TextView;->setTextColor(I)V
 HSPLandroid/widget/TextView;->setTextColor(Landroid/content/res/ColorStateList;)V
 HSPLandroid/widget/TextView;->setTextInternal(Ljava/lang/CharSequence;)V
@@ -37724,6 +31419,7 @@
 HSPLandroid/widget/TextView;->setTypeface(Landroid/graphics/Typeface;I)V
 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
@@ -37735,36 +31431,14 @@
 HSPLandroid/widget/TextView;->updateAfterEdit()V
 HSPLandroid/widget/TextView;->updateTextColors()V
 HSPLandroid/widget/TextView;->useDynamicLayout()Z
-HSPLandroid/widget/TextView;->validateAndSetAutoSizeTextTypeUniformConfiguration(FFF)V
 HSPLandroid/widget/TextView;->verifyDrawable(Landroid/graphics/drawable/Drawable;)Z
 HSPLandroid/widget/TextView;->viewportToContentHorizontalOffset()I
 HSPLandroid/widget/TextView;->viewportToContentVerticalOffset()I
-HSPLandroid/widget/ThemedSpinnerAdapter;->getDropDownViewTheme()Landroid/content/res/Resources$Theme;
-HSPLandroid/widget/ThemedSpinnerAdapter;->setDropDownViewTheme(Landroid/content/res/Resources$Theme;)V
-HSPLandroid/widget/TimePicker$OnTimeChangedListener;->onTimeChanged(Landroid/widget/TimePicker;II)V
-HSPLandroid/widget/Toast$TN$1;->handleMessage(Landroid/os/Message;)V
-HSPLandroid/widget/Toast$TN;-><init>(Ljava/lang/String;Landroid/os/Looper;)V
-HSPLandroid/widget/Toast$TN;->handleHide()V
-HSPLandroid/widget/Toast$TN;->handleShow(Landroid/os/IBinder;)V
-HSPLandroid/widget/Toast$TN;->hide()V
-HSPLandroid/widget/Toast$TN;->show(Landroid/os/IBinder;)V
-HSPLandroid/widget/Toast$TN;->trySendAccessibilityEvent()V
-HSPLandroid/widget/Toast;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-HSPLandroid/widget/Toast;->makeText(Landroid/content/Context;II)Landroid/widget/Toast;
-HSPLandroid/widget/Toast;->makeText(Landroid/content/Context;Landroid/os/Looper;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
-HSPLandroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;
-HSPLandroid/widget/Toast;->show()V
-HSPLandroid/widget/ToggleButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/ToggleButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;I)V
-HSPLandroid/widget/ToggleButton;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
-HSPLandroid/widget/ToggleButton;->drawableStateChanged()V
-HSPLandroid/widget/ToggleButton;->onFinishInflate()V
-HSPLandroid/widget/ToggleButton;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLandroid/widget/ToggleButton;->setChecked(Z)V
 HSPLandroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->flagActionItems()Z
 HSPLandroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->initForMenu(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
 HSPLandroid/widget/Toolbar$ExpandedActionViewMenuPresenter;->updateMenuView(Z)V
-HSPLandroid/widget/Toolbar$OnMenuItemClickListener;->onMenuItemClick(Landroid/view/MenuItem;)Z
+HSPLandroid/widget/Toolbar$SavedState$1;-><init>()V
+HSPLandroid/widget/Toolbar$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLandroid/widget/Toolbar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/Toolbar;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
 HSPLandroid/widget/Toolbar;->addCustomViewsWithGravity(Ljava/util/List;I)V
@@ -37790,6 +31464,7 @@
 HSPLandroid/widget/Toolbar;->getSubtitle()Ljava/lang/CharSequence;
 HSPLandroid/widget/Toolbar;->getTitle()Ljava/lang/CharSequence;
 HSPLandroid/widget/Toolbar;->getViewListMeasuredWidth(Ljava/util/List;[I)I
+HSPLandroid/widget/Toolbar;->isOverflowMenuShowing()Z
 HSPLandroid/widget/Toolbar;->layoutChildLeft(Landroid/view/View;I[II)I
 HSPLandroid/widget/Toolbar;->layoutChildRight(Landroid/view/View;I[II)I
 HSPLandroid/widget/Toolbar;->measureChildCollapseMargins(Landroid/view/View;IIII[I)I
@@ -37798,65 +31473,58 @@
 HSPLandroid/widget/Toolbar;->onLayout(ZIIII)V
 HSPLandroid/widget/Toolbar;->onMeasure(II)V
 HSPLandroid/widget/Toolbar;->onRtlPropertiesChanged(I)V
+HSPLandroid/widget/Toolbar;->onSaveInstanceState()Landroid/os/Parcelable;
+HSPLandroid/widget/Toolbar;->onTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLandroid/widget/Toolbar;->setMenuCallbacks(Lcom/android/internal/view/menu/MenuPresenter$Callback;Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
-HSPLandroid/widget/Toolbar;->setNavigationContentDescription(I)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
 HSPLandroid/widget/Toolbar;->setOnMenuItemClickListener(Landroid/widget/Toolbar$OnMenuItemClickListener;)V
 HSPLandroid/widget/Toolbar;->setPopupTheme(I)V
-HSPLandroid/widget/Toolbar;->setSubtitle(Ljava/lang/CharSequence;)V
 HSPLandroid/widget/Toolbar;->setTitle(Ljava/lang/CharSequence;)V
 HSPLandroid/widget/Toolbar;->shouldCollapse()Z
 HSPLandroid/widget/Toolbar;->shouldLayout(Landroid/view/View;)Z
-HSPLandroid/widget/ViewAnimator;-><init>(Landroid/content/Context;)V
 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;->getDisplayedChild()I
-HSPLandroid/widget/ViewAnimator;->removeAllViews()V
 HSPLandroid/widget/ViewAnimator;->setAnimateFirstView(Z)V
 HSPLandroid/widget/ViewAnimator;->setDisplayedChild(I)V
-HSPLandroid/widget/ViewAnimator;->setInAnimation(Landroid/content/Context;I)V
-HSPLandroid/widget/ViewAnimator;->setInAnimation(Landroid/view/animation/Animation;)V
-HSPLandroid/widget/ViewAnimator;->setOutAnimation(Landroid/content/Context;I)V
-HSPLandroid/widget/ViewAnimator;->setOutAnimation(Landroid/view/animation/Animation;)V
-HSPLandroid/widget/ViewAnimator;->showNext()V
 HSPLandroid/widget/ViewAnimator;->showOnly(I)V
 HSPLandroid/widget/ViewAnimator;->showOnly(IZ)V
-HSPLandroid/widget/ViewFlipper;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLandroid/widget/ViewFlipper;->onAttachedToWindow()V
-HSPLandroid/widget/ViewFlipper;->onWindowVisibilityChanged(I)V
-HSPLandroid/widget/ViewFlipper;->updateRunning(Z)V
 HSPLandroid/widget/ViewSwitcher;-><init>(Landroid/content/Context;)V
-HSPLandroid/widget/ViewSwitcher;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLandroid/widget/ViewSwitcher;->addView(Landroid/view/View;ILandroid/view/ViewGroup$LayoutParams;)V
-HSPLandroid/widget/ViewSwitcher;->getNextView()Landroid/view/View;
-HSPLandroid/widget/WrapperListAdapter;->getWrappedAdapter()Landroid/widget/ListAdapter;
+HSPLandroid/widget/ViewSwitcher;->getAccessibilityClassName()Ljava/lang/CharSequence;
 HSPLcom/android/i18n/phonenumbers/AlternateFormatsCountryCodeSet;->getCountryCodeSet()Ljava/util/Set;
-# HSPLcom/android/i18n/phonenumbers/CountryCodeToRegionCodeMap;->getCountryCodeToRegionCodeMap()Ljava/util/Map; b/76145463
-HSPLcom/android/i18n/phonenumbers/MetadataLoader;->loadMetadata(Ljava/lang/String;)Ljava/io/InputStream;
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;-><init>(Ljava/lang/String;)V
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->appendNationalNumber(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->attemptToChooseFormattingPattern()Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->attemptToExtractIdd()Z
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->attemptToFormatAccruedDigits()Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->clear()V
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->getAvailableFormats(Ljava/lang/String;)V
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->getFormattingTemplate(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->getRememberedPosition()I
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->inputAccruedNationalNumber()Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->inputDigit(C)Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->inputDigitAndRememberPosition(C)Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->inputDigitHelper(C)Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->inputDigitWithOptionToRememberPosition(CZ)Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->isDigitOrLeadingPlusSign(C)Z
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->isNanpaNumberWithNationalPrefix()Z
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->maybeCreateNewTemplate()Z
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->narrowDownPossibleFormats(Ljava/lang/String;)V
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->normalizeAndAccrueDigitsAndPlusSign(CZ)C
+HSPLcom/android/i18n/phonenumbers/AsYouTypeFormatter;->removeNationalPrefixFromNationalNumber()Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/CountryCodeToRegionCodeMap;->getCountryCodeToRegionCodeMap()Ljava/util/Map;
 HSPLcom/android/i18n/phonenumbers/MetadataManager$1;-><init>()V
 HSPLcom/android/i18n/phonenumbers/MetadataManager$1;->loadMetadata(Ljava/lang/String;)Ljava/io/InputStream;
 HSPLcom/android/i18n/phonenumbers/MetadataManager;->getMetadataFromMultiFilePrefix(Ljava/lang/Object;Ljava/util/concurrent/ConcurrentHashMap;Ljava/lang/String;Lcom/android/i18n/phonenumbers/MetadataLoader;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/MetadataManager;->getMetadataFromSingleFileName(Ljava/lang/String;Lcom/android/i18n/phonenumbers/MetadataLoader;)Ljava/util/List;
 HSPLcom/android/i18n/phonenumbers/MetadataManager;->loadMetadataAndCloseInput(Ljava/io/InputStream;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadataCollection;
-HSPLcom/android/i18n/phonenumbers/MetadataSource;->getMetadataForNonGeographicalRegion(I)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
-HSPLcom/android/i18n/phonenumbers/MetadataSource;->getMetadataForRegion(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/MultiFileMetadataSourceImpl;->getMetadataForRegion(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/NumberParseException$ErrorType;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher$State;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;-><init>(Lcom/android/i18n/phonenumbers/PhoneNumberUtil;Ljava/lang/CharSequence;Ljava/lang/String;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency;J)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->extractInnerMatch(Ljava/lang/CharSequence;I)Lcom/android/i18n/phonenumbers/PhoneNumberMatch;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->extractMatch(Ljava/lang/CharSequence;I)Lcom/android/i18n/phonenumbers/PhoneNumberMatch;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->find(I)Lcom/android/i18n/phonenumbers/PhoneNumberMatch;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->hasNext()Z
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->limit(II)Ljava/lang/String;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberMatcher;->parseAndVerify(Ljava/lang/CharSequence;I)Lcom/android/i18n/phonenumbers/PhoneNumberMatch;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$1;->iterator()Ljava/util/Iterator;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency$1;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency$1;->verify(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/PhoneNumberUtil;)Z
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency$2;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency$3;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency$4;-><init>(Ljava/lang/String;I)V
@@ -37872,12 +31540,13 @@
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->createInstance(Lcom/android/i18n/phonenumbers/MetadataLoader;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->extractCountryCode(Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;)I
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->extractPossibleNumber(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->findNumbers(Ljava/lang/CharSequence;Ljava/lang/String;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$Leniency;J)Ljava/lang/Iterable;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->format(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;)Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->format(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/StringBuilder;)V
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->formatInOriginalFormat(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->formatNsn(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/CharSequence;)Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->formatNsnUsingPattern(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/CharSequence;)Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getAsYouTypeFormatter(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;
+HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getCountryCodeForRegion(Ljava/lang/String;)I
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getCountryCodeForValidRegion(Ljava/lang/String;)I
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getInstance()Lcom/android/i18n/phonenumbers/PhoneNumberUtil;
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->getMetadataForRegion(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
@@ -37890,9 +31559,6 @@
 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
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isNumberMatchingDesc(Ljava/lang/String;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Z
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isPossibleNumber(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Z
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isPossibleNumberForTypeWithReason(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$ValidationResult;
-HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->isPossibleNumberWithReason(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$ValidationResult;
 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
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->maybeAppendFormattedExtension(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberFormat;Ljava/lang/StringBuilder;)V
@@ -37915,11 +31581,13 @@
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->setItalianLeadingZerosForPhoneNumber(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;)V
 HSPLcom/android/i18n/phonenumbers/PhoneNumberUtil;->testNumberLength(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;Lcom/android/i18n/phonenumbers/PhoneNumberUtil$PhoneNumberType;)Lcom/android/i18n/phonenumbers/PhoneNumberUtil$ValidationResult;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->getFormat()Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->getLeadingDigitsPattern(I)Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->getNationalPrefixFormattingRule()Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->getPattern()Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->leadingDigitsPatternSize()I
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->readExternal(Ljava/io/ObjectInput;)V
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->setFormat(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->setNationalPrefixFormattingRule(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->setNationalPrefixOptionalWhenFormatting(Z)Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;->setPattern(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$NumberFormat;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;-><init>()V
@@ -37928,6 +31596,7 @@
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getGeneralDesc()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getInternationalPrefix()Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getLeadingDigits()Ljava/lang/String;
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getMobile()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getNationalPrefix()Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getNationalPrefixForParsing()Ljava/lang/String;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getNationalPrefixTransformRule()Ljava/lang/String;
@@ -37941,6 +31610,7 @@
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getVoicemail()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->getVoip()Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasLeadingDigits()Z
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->hasNationalPrefixForParsing()Z
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->intlNumberFormats()Ljava/util/List;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->numberFormats()Ljava/util/List;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->readExternal(Ljava/io/ObjectInput;)V
@@ -37956,9 +31626,11 @@
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setMobileNumberPortableRegion(Z)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setNationalPrefix(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setNationalPrefixForParsing(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setNationalPrefixTransformRule(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setNoInternationalDialling(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setPager(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setPersonalNumber(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
+HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setPreferredExtnPrefix(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setPreferredInternationalPrefix(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setPremiumRate(Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
 HSPLcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;->setSameMobileAndFixedLinePattern(Z)Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneMetadata;
@@ -37979,6 +31651,7 @@
 HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->getCountryCode()I
 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;->getNumberOfLeadingZeros()I
 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
@@ -37987,59 +31660,64 @@
 HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->isItalianLeadingZero()Z
 HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setCountryCode(I)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
 HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setCountryCodeSource(Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber$CountryCodeSource;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
+HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setItalianLeadingZero(Z)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
 HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setNationalNumber(J)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
+HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setNumberOfLeadingZeros(I)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
 HSPLcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;->setRawInput(Ljava/lang/String;)Lcom/android/i18n/phonenumbers/Phonenumber$PhoneNumber;
-# HSPLcom/android/i18n/phonenumbers/ShortNumbersRegionCodeSet;->getRegionCodeSet()Ljava/util/Set; b/76145463
-HSPLcom/android/i18n/phonenumbers/internal/MatcherApi;->matchNationalNumber(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;Z)Z
+HSPLcom/android/i18n/phonenumbers/ShortNumbersRegionCodeSet;->getRegionCodeSet()Ljava/util/Set;
 HSPLcom/android/i18n/phonenumbers/internal/RegexBasedMatcher;->matchNationalNumber(Ljava/lang/CharSequence;Lcom/android/i18n/phonenumbers/Phonemetadata$PhoneNumberDesc;Z)Z
 HSPLcom/android/i18n/phonenumbers/internal/RegexCache$LRUCache$1;->removeEldestEntry(Ljava/util/Map$Entry;)Z
 HSPLcom/android/i18n/phonenumbers/internal/RegexCache$LRUCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/i18n/phonenumbers/internal/RegexCache$LRUCache;->put(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLcom/android/i18n/phonenumbers/internal/RegexCache;->getPatternForRegex(Ljava/lang/String;)Ljava/util/regex/Pattern;
-HSPLcom/android/ims/-$$Lambda$ImsManager$7h4QYewD4pT0yZmloG4PzRq2ov0;->run()V
 HSPLcom/android/ims/-$$Lambda$ImsManager$Connector$N5r1SvOgM0jfHDwKkcQbyw_uTP0;->run()V
 HSPLcom/android/ims/-$$Lambda$ImsManager$Connector$yM9scWJWjDp_h0yrkCgrjFZH5oI;->get()I
-HSPLcom/android/ims/-$$Lambda$MmTelFeatureConnection$CapabilityCallbackManager$CapabilityCallbackAdapter$Fu_TJxPrz_icRRAcE-hESmVfVRI;->accept(Ljava/lang/Object;)V
-HSPLcom/android/ims/-$$Lambda$MmTelFeatureConnection$ImsRegistrationCallbackAdapter$RegistrationCallbackAdapter$0vZ6D8L8NEmVenYChls3pkTpxsQ;->accept(Ljava/lang/Object;)V
-HSPLcom/android/ims/-$$Lambda$MmTelFeatureConnection$ImsRegistrationCallbackAdapter$RegistrationCallbackAdapter$K3hccJ541Q6pLDm26Z8TPlTWIJY;->accept(Ljava/lang/Object;)V
-HSPLcom/android/ims/-$$Lambda$MmTelFeatureConnection$ImsRegistrationCallbackAdapter$RegistrationCallbackAdapter$u4ZBOw30LePcwafim6pu64v4hNM;->accept(Ljava/lang/Object;)V
-HSPLcom/android/ims/-$$Lambda$MmTelFeatureConnection$ImsRegistrationCallbackAdapter$RegistrationCallbackAdapter$vxFS2t25rwEiTAgHUI462y3Hz90;->accept(Ljava/lang/Object;)V
-HSPLcom/android/ims/ImsConfig;->addConfigCallback(Landroid/telephony/ims/stub/ImsConfigImplBase$Callback;)V
+HSPLcom/android/ims/-$$Lambda$ImsManager$D1JuJ3ba2jMHWDKlSpm03meBR1c;->run()V
+HSPLcom/android/ims/-$$Lambda$ImsManager$Flxe43OUFnnU0pgnksvwPE6o3Mk;-><init>()V
+HSPLcom/android/ims/-$$Lambda$ImsManager$Flxe43OUFnnU0pgnksvwPE6o3Mk;->executeRunnable(Ljava/lang/Runnable;)V
+HSPLcom/android/ims/-$$Lambda$ImsManager$LiW49wt0wLMYHjgtAwL8NLIATfs;->run()V
+HSPLcom/android/ims/-$$Lambda$ImsManager$YhRaDrc3t9_7beNiU5gQcqZilOw;-><init>()V
+HSPLcom/android/ims/-$$Lambda$ImsManager$YhRaDrc3t9_7beNiU5gQcqZilOw;->test(Ljava/lang/Object;)Z
+HSPLcom/android/ims/-$$Lambda$ImsManager$_6YCQyhjHBSdrm4ZBEMUQ2AAqOY;->run()V
+HSPLcom/android/ims/-$$Lambda$szO0o3matefQqo-6NB-dzsr9eCw;-><init>()V
+HSPLcom/android/ims/-$$Lambda$szO0o3matefQqo-6NB-dzsr9eCw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+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
 HSPLcom/android/ims/ImsConnectionStateListener;-><init>()V
+HSPLcom/android/ims/ImsConnectionStateListener;->onFeatureCapabilityChangedAdapter(ILandroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;)V
 HSPLcom/android/ims/ImsConnectionStateListener;->onRegistered(I)V
 HSPLcom/android/ims/ImsEcbm;->setEcbmStateListener(Lcom/android/ims/ImsEcbmStateListener;)V
 HSPLcom/android/ims/ImsException;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/ims/ImsException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;I)V
-HSPLcom/android/ims/ImsManager$1;->run()V
+HSPLcom/android/ims/ImsManager$1;->onCapabilitiesStatusChanged(Landroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;)V
 HSPLcom/android/ims/ImsManager$Connector$1;->notifyStateChanged()V
-HSPLcom/android/ims/ImsManager$Connector$RetryTimeout;->get()I
 HSPLcom/android/ims/ImsManager$Connector;-><init>(Landroid/content/Context;ILcom/android/ims/ImsManager$Connector$Listener;)V
 HSPLcom/android/ims/ImsManager$Connector;->connect()V
 HSPLcom/android/ims/ImsManager$Connector;->getImsService()V
+HSPLcom/android/ims/ImsManager$Connector;->lambda$new$0$ImsManager$Connector()V
 HSPLcom/android/ims/ImsManager$Connector;->lambda$new$0(Lcom/android/ims/ImsManager$Connector;)V
+HSPLcom/android/ims/ImsManager$Connector;->lambda$new$1$ImsManager$Connector()I
 HSPLcom/android/ims/ImsManager$Connector;->lambda$new$1(Lcom/android/ims/ImsManager$Connector;)I
 HSPLcom/android/ims/ImsManager$Connector;->notifyReady()V
 HSPLcom/android/ims/ImsManager$Connector;->retryGetImsService()V
 HSPLcom/android/ims/ImsManager;-><init>(Landroid/content/Context;I)V
-HSPLcom/android/ims/ImsManager;->addCapabilitiesCallback(Landroid/telephony/ims/feature/ImsFeature$CapabilityCallback;)V
+HSPLcom/android/ims/ImsManager;->addCapabilitiesCallback(Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback;)V
+HSPLcom/android/ims/ImsManager;->addCapabilitiesCallbackForSubscription(Landroid/telephony/ims/aidl/IImsCapabilityCallback;I)V
 HSPLcom/android/ims/ImsManager;->addNotifyStatusChangedCallbackIfAvailable(Lcom/android/ims/MmTelFeatureConnection$IFeatureUpdate;)V
-HSPLcom/android/ims/ImsManager;->addRegistrationCallback(Landroid/telephony/ims/stub/ImsRegistrationImplBase$Callback;)V
+HSPLcom/android/ims/ImsManager;->addRegistrationCallback(Landroid/telephony/ims/ImsMmTelManager$RegistrationCallback;)V
 HSPLcom/android/ims/ImsManager;->addRegistrationListener(Lcom/android/ims/ImsConnectionStateListener;)V
-HSPLcom/android/ims/ImsManager;->changeMmTelCapability(IIZ)V
+HSPLcom/android/ims/ImsManager;->changeMmTelCapability(Landroid/telephony/ims/feature/CapabilityChangeRequest;)V
 HSPLcom/android/ims/ImsManager;->connectIfServiceIsAvailable()V
-HSPLcom/android/ims/ImsManager;->getBooleanCarrierConfig(Ljava/lang/String;)Z
 HSPLcom/android/ims/ImsManager;->getConfigInterface()Lcom/android/ims/ImsConfig;
 HSPLcom/android/ims/ImsManager;->getEcbmInterface()Lcom/android/ims/ImsEcbm;
 HSPLcom/android/ims/ImsManager;->getImsServiceState()I
 HSPLcom/android/ims/ImsManager;->getInstance(Landroid/content/Context;I)Lcom/android/ims/ImsManager;
 HSPLcom/android/ims/ImsManager;->getMultiEndpointInterface()Lcom/android/ims/ImsMultiEndpoint;
-HSPLcom/android/ims/ImsManager;->getProvisionedBool(Lcom/android/ims/ImsConfig;I)Z
-HSPLcom/android/ims/ImsManager;->getProvisionedBoolNoException(I)Z
 HSPLcom/android/ims/ImsManager;->getRegistrationTech()I
 HSPLcom/android/ims/ImsManager;->getSmsFormat()Ljava/lang/String;
 HSPLcom/android/ims/ImsManager;->getSupplementaryServiceConfiguration()Lcom/android/ims/ImsUtInterface;
@@ -38049,6 +31727,9 @@
 HSPLcom/android/ims/ImsManager;->isGbaValid()Z
 HSPLcom/android/ims/ImsManager;->isNonTtyOrTtyOnVolteEnabled()Z
 HSPLcom/android/ims/ImsManager;->isServiceAvailable()Z
+HSPLcom/android/ims/ImsManager;->isSuppServicesOverUtEnabledByPlatform()Z
+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
@@ -38060,54 +31741,48 @@
 HSPLcom/android/ims/ImsManager;->isWfcProvisionedOnDevice()Z
 HSPLcom/android/ims/ImsManager;->isWfcProvisionedOnDevice(Landroid/content/Context;)Z
 HSPLcom/android/ims/ImsManager;->isWfcRoamingEnabledByUser()Z
-HSPLcom/android/ims/ImsManager;->lambda$setWfcRoamingSettingInternal$1(Lcom/android/ims/ImsManager;I)V
+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$setWfcModeInternal$1(Lcom/android/ims/ImsManager;I)V
+HSPLcom/android/ims/ImsManager;->lambda$setWfcRoamingSettingInternal$2$ImsManager(I)V
+HSPLcom/android/ims/ImsManager;->lambda$setWfcRoamingSettingInternal$2(Lcom/android/ims/ImsManager;I)V
 HSPLcom/android/ims/ImsManager;->onSmsReady()V
 HSPLcom/android/ims/ImsManager;->open(Landroid/telephony/ims/feature/MmTelFeature$Listener;)V
+HSPLcom/android/ims/ImsManager;->removeCapabilitiesCallbackForSubscription(Landroid/telephony/ims/aidl/IImsCapabilityCallback;I)V
 HSPLcom/android/ims/ImsManager;->removeNotifyStatusChangedCallback(Lcom/android/ims/MmTelFeatureConnection$IFeatureUpdate;)V
 HSPLcom/android/ims/ImsManager;->setConfigListener(Lcom/android/ims/ImsConfigListener;)V
 HSPLcom/android/ims/ImsManager;->setSmsListener(Landroid/telephony/ims/aidl/IImsSmsListener;)V
 HSPLcom/android/ims/ImsManager;->setUiTTYMode(Landroid/content/Context;ILandroid/os/Message;)V
 HSPLcom/android/ims/ImsManager;->updateImsServiceConfig(Z)V
-HSPLcom/android/ims/ImsManager;->updateVideoCallFeatureValue()Z
-HSPLcom/android/ims/ImsManager;->updateVolteFeatureValue()Z
-HSPLcom/android/ims/ImsManager;->updateWfcFeatureAndProvisionedValues()Z
+HSPLcom/android/ims/ImsManager;->updateRttConfigValue()Z
+HSPLcom/android/ims/ImsManager;->updateUtFeatureValue(Landroid/telephony/ims/feature/CapabilityChangeRequest;)V
+HSPLcom/android/ims/ImsManager;->updateVideoCallFeatureValue(Landroid/telephony/ims/feature/CapabilityChangeRequest;)V
+HSPLcom/android/ims/ImsManager;->updateVolteFeatureValue(Landroid/telephony/ims/feature/CapabilityChangeRequest;)V
+HSPLcom/android/ims/ImsManager;->updateWfcFeatureAndProvisionedValues(Landroid/telephony/ims/feature/CapabilityChangeRequest;)V
 HSPLcom/android/ims/ImsMultiEndpoint$ImsExternalCallStateListenerProxy;->onImsExternalCallStateUpdate(Ljava/util/List;)V
 HSPLcom/android/ims/ImsMultiEndpoint;->setExternalCallStateListener(Lcom/android/ims/ImsExternalCallStateListener;)V
 HSPLcom/android/ims/ImsUt;-><init>(Lcom/android/ims/internal/IImsUt;)V
 HSPLcom/android/ims/ImsUt;->registerForSuppServiceIndication(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/ims/ImsUtInterface;->queryCLIP(Landroid/os/Message;)V
-HSPLcom/android/ims/ImsUtInterface;->queryCLIR(Landroid/os/Message;)V
-HSPLcom/android/ims/ImsUtInterface;->queryCOLP(Landroid/os/Message;)V
-HSPLcom/android/ims/ImsUtInterface;->queryCOLR(Landroid/os/Message;)V
-HSPLcom/android/ims/ImsUtInterface;->queryCallBarring(ILandroid/os/Message;)V
-HSPLcom/android/ims/ImsUtInterface;->queryCallBarring(ILandroid/os/Message;I)V
-HSPLcom/android/ims/ImsUtInterface;->queryCallForward(ILjava/lang/String;Landroid/os/Message;)V
-HSPLcom/android/ims/ImsUtInterface;->queryCallWaiting(Landroid/os/Message;)V
-HSPLcom/android/ims/ImsUtInterface;->registerForSuppServiceIndication(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/ims/ImsUtInterface;->unregisterForSuppServiceIndication(Landroid/os/Handler;)V
-HSPLcom/android/ims/ImsUtInterface;->updateCLIP(ZLandroid/os/Message;)V
-HSPLcom/android/ims/ImsUtInterface;->updateCLIR(ILandroid/os/Message;)V
-HSPLcom/android/ims/ImsUtInterface;->updateCOLP(ZLandroid/os/Message;)V
-HSPLcom/android/ims/ImsUtInterface;->updateCOLR(ILandroid/os/Message;)V
-HSPLcom/android/ims/ImsUtInterface;->updateCallBarring(IILandroid/os/Message;[Ljava/lang/String;)V
-HSPLcom/android/ims/ImsUtInterface;->updateCallBarring(IILandroid/os/Message;[Ljava/lang/String;I)V
-HSPLcom/android/ims/ImsUtInterface;->updateCallForward(IILjava/lang/String;IILandroid/os/Message;)V
-HSPLcom/android/ims/ImsUtInterface;->updateCallWaiting(ZILandroid/os/Message;)V
 HSPLcom/android/ims/MmTelFeatureConnection$1;->imsFeatureCreated(II)V
-HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;->addCallback(Ljava/lang/Object;)V
-HSPLcom/android/ims/MmTelFeatureConnection$CapabilityCallbackManager$CapabilityCallbackAdapter;->onCapabilitiesStatusChanged(Landroid/telephony/ims/feature/ImsFeature$Capabilities;)V
-HSPLcom/android/ims/MmTelFeatureConnection$CapabilityCallbackManager;->createConnection()Z
-HSPLcom/android/ims/MmTelFeatureConnection$IFeatureUpdate;->notifyStateChanged()V
-HSPLcom/android/ims/MmTelFeatureConnection$IFeatureUpdate;->notifyUnavailable()V
-HSPLcom/android/ims/MmTelFeatureConnection$ImsRegistrationCallbackAdapter$RegistrationCallbackAdapter;->onDeregistered(Landroid/telephony/ims/ImsReasonInfo;)V
-HSPLcom/android/ims/MmTelFeatureConnection$ImsRegistrationCallbackAdapter$RegistrationCallbackAdapter;->onRegistered(I)V
-HSPLcom/android/ims/MmTelFeatureConnection$ImsRegistrationCallbackAdapter$RegistrationCallbackAdapter;->onRegistering(I)V
-HSPLcom/android/ims/MmTelFeatureConnection$ImsRegistrationCallbackAdapter$RegistrationCallbackAdapter;->onSubscriberAssociatedUriChanged([Landroid/net/Uri;)V
-HSPLcom/android/ims/MmTelFeatureConnection$ImsRegistrationCallbackAdapter;->createConnection()Z
+HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager$1;->onSubscriptionsChanged()V
+HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;-><init>(Landroid/content/Context;Ljava/lang/Object;)V
+HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;->addCallback(Landroid/os/IInterface;)V
+HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;->addCallbackForSubscription(Landroid/os/IInterface;I)V
+HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;->linkCallbackToSubscription(Landroid/os/IInterface;I)V
+HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;->removeCallback(Landroid/os/IInterface;)V
+HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;->removeCallbackForSubscription(Landroid/os/IInterface;I)V
+HSPLcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;->unlinkCallbackFromSubscription(Landroid/os/IInterface;I)V
+HSPLcom/android/ims/MmTelFeatureConnection$CapabilityCallbackManager;->registerCallback(Landroid/os/IInterface;)V
+HSPLcom/android/ims/MmTelFeatureConnection$CapabilityCallbackManager;->registerCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
+HSPLcom/android/ims/MmTelFeatureConnection$CapabilityCallbackManager;->unregisterCallback(Landroid/os/IInterface;)V
+HSPLcom/android/ims/MmTelFeatureConnection$CapabilityCallbackManager;->unregisterCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
+HSPLcom/android/ims/MmTelFeatureConnection$ImsRegistrationCallbackAdapter;->registerCallback(Landroid/os/IInterface;)V
+HSPLcom/android/ims/MmTelFeatureConnection$ImsRegistrationCallbackAdapter;->registerCallback(Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
 HSPLcom/android/ims/MmTelFeatureConnection;-><init>(Landroid/content/Context;I)V
-HSPLcom/android/ims/MmTelFeatureConnection;->addCapabilityCallback(Landroid/telephony/ims/feature/ImsFeature$CapabilityCallback;)V
-HSPLcom/android/ims/MmTelFeatureConnection;->addRegistrationCallback(Landroid/telephony/ims/stub/ImsRegistrationImplBase$Callback;)V
-HSPLcom/android/ims/MmTelFeatureConnection;->changeEnabledCapabilities(Landroid/telephony/ims/feature/CapabilityChangeRequest;Landroid/telephony/ims/feature/ImsFeature$CapabilityCallback;)V
+HSPLcom/android/ims/MmTelFeatureConnection;->addCapabilityCallback(Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
+HSPLcom/android/ims/MmTelFeatureConnection;->addCapabilityCallbackForSubscription(Landroid/telephony/ims/aidl/IImsCapabilityCallback;I)V
+HSPLcom/android/ims/MmTelFeatureConnection;->addRegistrationCallback(Landroid/telephony/ims/aidl/IImsRegistrationCallback;)V
+HSPLcom/android/ims/MmTelFeatureConnection;->changeEnabledCapabilities(Landroid/telephony/ims/feature/CapabilityChangeRequest;Landroid/telephony/ims/aidl/IImsCapabilityCallback;)V
 HSPLcom/android/ims/MmTelFeatureConnection;->checkServiceIsReady()V
 HSPLcom/android/ims/MmTelFeatureConnection;->create(Landroid/content/Context;I)Lcom/android/ims/MmTelFeatureConnection;
 HSPLcom/android/ims/MmTelFeatureConnection;->getConfig()Landroid/telephony/ims/aidl/IImsConfig;
@@ -38123,103 +31798,74 @@
 HSPLcom/android/ims/MmTelFeatureConnection;->isBinderReady()Z
 HSPLcom/android/ims/MmTelFeatureConnection;->onSmsReady()V
 HSPLcom/android/ims/MmTelFeatureConnection;->openConnection(Landroid/telephony/ims/feature/MmTelFeature$Listener;)V
+HSPLcom/android/ims/MmTelFeatureConnection;->removeCapabilityCallbackForSubscription(Landroid/telephony/ims/aidl/IImsCapabilityCallback;I)V
 HSPLcom/android/ims/MmTelFeatureConnection;->retrieveFeatureState()Ljava/lang/Integer;
 HSPLcom/android/ims/MmTelFeatureConnection;->setBinder(Landroid/os/IBinder;)V
 HSPLcom/android/ims/MmTelFeatureConnection;->setSmsListener(Landroid/telephony/ims/aidl/IImsSmsListener;)V
 HSPLcom/android/ims/MmTelFeatureConnection;->setStatusCallback(Lcom/android/ims/MmTelFeatureConnection$IFeatureUpdate;)V
 HSPLcom/android/ims/MmTelFeatureConnection;->setUiTTYMode(ILandroid/os/Message;)V
-HSPLcom/android/ims/internal/IImsConfig;->getFeatureValue(IILcom/android/ims/ImsConfigListener;)V
-HSPLcom/android/ims/internal/IImsConfig;->getProvisionedStringValue(I)Ljava/lang/String;
-HSPLcom/android/ims/internal/IImsConfig;->getProvisionedValue(I)I
-HSPLcom/android/ims/internal/IImsConfig;->getVideoQuality(Lcom/android/ims/ImsConfigListener;)V
-HSPLcom/android/ims/internal/IImsConfig;->getVolteProvisioned()Z
-HSPLcom/android/ims/internal/IImsConfig;->setFeatureValue(IIILcom/android/ims/ImsConfigListener;)V
-HSPLcom/android/ims/internal/IImsConfig;->setProvisionedStringValue(ILjava/lang/String;)I
-HSPLcom/android/ims/internal/IImsConfig;->setProvisionedValue(II)I
-HSPLcom/android/ims/internal/IImsConfig;->setVideoQuality(ILcom/android/ims/ImsConfigListener;)V
-HSPLcom/android/ims/internal/IImsEcbm;->exitEmergencyCallbackMode()V
-HSPLcom/android/ims/internal/IImsEcbm;->setListener(Lcom/android/ims/internal/IImsEcbmListener;)V
+HSPLcom/android/ims/internal/IImsEcbm$Stub;-><init>()V
 HSPLcom/android/ims/internal/IImsEcbmListener$Stub;-><init>()V
-HSPLcom/android/ims/internal/IImsEcbmListener;->enteredECBM()V
-HSPLcom/android/ims/internal/IImsEcbmListener;->exitedECBM()V
 HSPLcom/android/ims/internal/IImsExternalCallStateListener$Stub;-><init>()V
-HSPLcom/android/ims/internal/IImsExternalCallStateListener;->onImsExternalCallStateUpdate(Ljava/util/List;)V
 HSPLcom/android/ims/internal/IImsFeatureStatusCallback$Stub;-><init>()V
-HSPLcom/android/ims/internal/IImsFeatureStatusCallback;->notifyImsFeatureStatus(I)V
-HSPLcom/android/ims/internal/IImsMMTelFeature$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/ims/internal/IImsMMTelFeature$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsMMTelFeature;
-HSPLcom/android/ims/internal/IImsMMTelFeature;->addRegistrationListener(Lcom/android/ims/internal/IImsRegistrationListener;)V
-HSPLcom/android/ims/internal/IImsMMTelFeature;->createCallProfile(III)Landroid/telephony/ims/ImsCallProfile;
-HSPLcom/android/ims/internal/IImsMMTelFeature;->createCallSession(ILandroid/telephony/ims/ImsCallProfile;)Lcom/android/ims/internal/IImsCallSession;
-HSPLcom/android/ims/internal/IImsMMTelFeature;->endSession(I)V
-HSPLcom/android/ims/internal/IImsMMTelFeature;->getConfigInterface()Lcom/android/ims/internal/IImsConfig;
-HSPLcom/android/ims/internal/IImsMMTelFeature;->getEcbmInterface()Lcom/android/ims/internal/IImsEcbm;
-HSPLcom/android/ims/internal/IImsMMTelFeature;->getFeatureStatus()I
-HSPLcom/android/ims/internal/IImsMMTelFeature;->getMultiEndpointInterface()Lcom/android/ims/internal/IImsMultiEndpoint;
-HSPLcom/android/ims/internal/IImsMMTelFeature;->getPendingCallSession(ILjava/lang/String;)Lcom/android/ims/internal/IImsCallSession;
-HSPLcom/android/ims/internal/IImsMMTelFeature;->getUtInterface()Lcom/android/ims/internal/IImsUt;
-HSPLcom/android/ims/internal/IImsMMTelFeature;->isConnected(II)Z
-HSPLcom/android/ims/internal/IImsMMTelFeature;->isOpened()Z
-HSPLcom/android/ims/internal/IImsMMTelFeature;->removeRegistrationListener(Lcom/android/ims/internal/IImsRegistrationListener;)V
-HSPLcom/android/ims/internal/IImsMMTelFeature;->setUiTTYMode(ILandroid/os/Message;)V
-HSPLcom/android/ims/internal/IImsMMTelFeature;->startSession(Landroid/app/PendingIntent;Lcom/android/ims/internal/IImsRegistrationListener;)I
-HSPLcom/android/ims/internal/IImsMMTelFeature;->turnOffIms()V
-HSPLcom/android/ims/internal/IImsMMTelFeature;->turnOnIms()V
-HSPLcom/android/ims/internal/IImsMultiEndpoint;->requestImsExternalCallStateInfo()V
-HSPLcom/android/ims/internal/IImsMultiEndpoint;->setListener(Lcom/android/ims/internal/IImsExternalCallStateListener;)V
-HSPLcom/android/ims/internal/IImsRegistrationListener$Stub;-><init>()V
-HSPLcom/android/ims/internal/IImsRegistrationListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/ims/internal/IImsServiceController$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsServiceController;
-HSPLcom/android/ims/internal/IImsServiceController;->createEmergencyMMTelFeature(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Lcom/android/ims/internal/IImsMMTelFeature;
-HSPLcom/android/ims/internal/IImsServiceController;->createMMTelFeature(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Lcom/android/ims/internal/IImsMMTelFeature;
-HSPLcom/android/ims/internal/IImsServiceController;->createRcsFeature(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Lcom/android/ims/internal/IImsRcsFeature;
-HSPLcom/android/ims/internal/IImsServiceController;->removeImsFeature(IILcom/android/ims/internal/IImsFeatureStatusCallback;)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
 HSPLcom/android/ims/internal/IImsServiceFeatureCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLcom/android/ims/internal/IImsServiceFeatureCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/ims/internal/IImsServiceFeatureCallback;
 HSPLcom/android/ims/internal/IImsServiceFeatureCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/ims/internal/IImsServiceFeatureCallback;->imsFeatureCreated(II)V
-HSPLcom/android/ims/internal/IImsServiceFeatureCallback;->imsFeatureRemoved(II)V
-HSPLcom/android/ims/internal/IImsServiceFeatureCallback;->imsStatusChanged(III)V
-HSPLcom/android/ims/internal/IImsUt;->close()V
-HSPLcom/android/ims/internal/IImsUt;->queryCLIP()I
-HSPLcom/android/ims/internal/IImsUt;->queryCLIR()I
-HSPLcom/android/ims/internal/IImsUt;->queryCOLP()I
-HSPLcom/android/ims/internal/IImsUt;->queryCOLR()I
-HSPLcom/android/ims/internal/IImsUt;->queryCallBarring(I)I
-HSPLcom/android/ims/internal/IImsUt;->queryCallBarringForServiceClass(II)I
-HSPLcom/android/ims/internal/IImsUt;->queryCallForward(ILjava/lang/String;)I
-HSPLcom/android/ims/internal/IImsUt;->queryCallWaiting()I
-HSPLcom/android/ims/internal/IImsUt;->setListener(Lcom/android/ims/internal/IImsUtListener;)V
-HSPLcom/android/ims/internal/IImsUt;->transact(Landroid/os/Bundle;)I
-HSPLcom/android/ims/internal/IImsUt;->updateCLIP(Z)I
-HSPLcom/android/ims/internal/IImsUt;->updateCLIR(I)I
-HSPLcom/android/ims/internal/IImsUt;->updateCOLP(Z)I
-HSPLcom/android/ims/internal/IImsUt;->updateCOLR(I)I
-HSPLcom/android/ims/internal/IImsUt;->updateCallBarring(II[Ljava/lang/String;)I
-HSPLcom/android/ims/internal/IImsUt;->updateCallBarringForServiceClass(II[Ljava/lang/String;I)I
-HSPLcom/android/ims/internal/IImsUt;->updateCallForward(IILjava/lang/String;II)I
-HSPLcom/android/ims/internal/IImsUt;->updateCallWaiting(ZI)I
+HSPLcom/android/ims/internal/IImsUt$Stub;-><init>()V
 HSPLcom/android/ims/internal/IImsUtListener$Stub;-><init>()V
-HSPLcom/android/ims/internal/IImsUtListener;->onSupplementaryServiceIndication(Landroid/telephony/ims/ImsSsData;)V
-HSPLcom/android/ims/internal/IImsUtListener;->utConfigurationCallBarringQueried(Lcom/android/ims/internal/IImsUt;I[Landroid/telephony/ims/ImsSsInfo;)V
-HSPLcom/android/ims/internal/IImsUtListener;->utConfigurationCallForwardQueried(Lcom/android/ims/internal/IImsUt;I[Landroid/telephony/ims/ImsCallForwardInfo;)V
-HSPLcom/android/ims/internal/IImsUtListener;->utConfigurationCallWaitingQueried(Lcom/android/ims/internal/IImsUt;I[Landroid/telephony/ims/ImsSsInfo;)V
-HSPLcom/android/ims/internal/IImsUtListener;->utConfigurationQueried(Lcom/android/ims/internal/IImsUt;ILandroid/os/Bundle;)V
-HSPLcom/android/ims/internal/IImsUtListener;->utConfigurationQueryFailed(Lcom/android/ims/internal/IImsUt;ILandroid/telephony/ims/ImsReasonInfo;)V
-HSPLcom/android/ims/internal/IImsUtListener;->utConfigurationUpdateFailed(Lcom/android/ims/internal/IImsUt;ILandroid/telephony/ims/ImsReasonInfo;)V
-HSPLcom/android/ims/internal/IImsUtListener;->utConfigurationUpdated(Lcom/android/ims/internal/IImsUt;I)V
+HSPLcom/android/ims/internal/uce/UceServiceBase;-><init>()V
+HSPLcom/android/ims/internal/uce/UceServiceBase;->getBinder()Lcom/android/ims/internal/uce/UceServiceBase$UceServiceBinder;
+HSPLcom/android/ims/internal/uce/common/CapInfo$1;-><init>()V
+HSPLcom/android/ims/internal/uce/common/CapInfo;-><init>()V
+HSPLcom/android/ims/internal/uce/common/CapInfo;->isIpVideoSupported()Z
+HSPLcom/android/ims/internal/uce/common/CapInfo;->isIpVoiceSupported()Z
+HSPLcom/android/ims/internal/uce/common/CapInfo;->setCdViaPresenceSupported(Z)V
+HSPLcom/android/ims/internal/uce/common/CapInfo;->setFtSupported(Z)V
+HSPLcom/android/ims/internal/uce/common/CapInfo;->setFullSnFGroupChatSupported(Z)V
+HSPLcom/android/ims/internal/uce/common/CapInfo;->setImSupported(Z)V
+HSPLcom/android/ims/internal/uce/common/CapInfo;->setIpVideoSupported(Z)V
+HSPLcom/android/ims/internal/uce/common/CapInfo;->setIpVoiceSupported(Z)V
+HSPLcom/android/ims/internal/uce/common/CapInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLcom/android/ims/internal/uce/common/StatusCode$1;-><init>()V
+HSPLcom/android/ims/internal/uce/common/StatusCode$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/ims/internal/uce/common/StatusCode;
+HSPLcom/android/ims/internal/uce/common/StatusCode$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLcom/android/ims/internal/uce/common/StatusCode;->getStatusCode()I
 HSPLcom/android/ims/internal/uce/common/UceLong$1;-><init>()V
 HSPLcom/android/ims/internal/uce/common/UceLong;-><init>()V
+HSPLcom/android/ims/internal/uce/common/UceLong;->readFromParcel(Landroid/os/Parcel;)V
+HSPLcom/android/ims/internal/uce/common/UceLong;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLcom/android/ims/internal/uce/presence/IPresenceListener$Stub;-><init>()V
-HSPLcom/android/ims/internal/uce/presence/IPresenceListener;->capInfoReceived(Ljava/lang/String;[Lcom/android/ims/internal/uce/presence/PresTupleInfo;)V
-HSPLcom/android/ims/internal/uce/presence/IPresenceListener;->cmdStatus(Lcom/android/ims/internal/uce/presence/PresCmdStatus;)V
-HSPLcom/android/ims/internal/uce/presence/IPresenceListener;->getVersionCb(Ljava/lang/String;)V
-HSPLcom/android/ims/internal/uce/presence/IPresenceListener;->listCapInfoReceived(Lcom/android/ims/internal/uce/presence/PresRlmiInfo;[Lcom/android/ims/internal/uce/presence/PresResInfo;)V
-HSPLcom/android/ims/internal/uce/presence/IPresenceListener;->publishTriggering(Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;)V
-HSPLcom/android/ims/internal/uce/presence/IPresenceListener;->serviceAvailable(Lcom/android/ims/internal/uce/common/StatusCode;)V
-HSPLcom/android/ims/internal/uce/presence/IPresenceListener;->serviceUnAvailable(Lcom/android/ims/internal/uce/common/StatusCode;)V
-HSPLcom/android/ims/internal/uce/presence/IPresenceListener;->sipResponseReceived(Lcom/android/ims/internal/uce/presence/PresSipResponse;)V
-HSPLcom/android/ims/internal/uce/presence/IPresenceListener;->unpublishMessageSent()V
+HSPLcom/android/ims/internal/uce/presence/IPresenceListener$Stub;->asBinder()Landroid/os/IBinder;
+HSPLcom/android/ims/internal/uce/presence/IPresenceListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLcom/android/ims/internal/uce/presence/IPresenceService$Stub$Proxy;->publishMyCap(ILcom/android/ims/internal/uce/presence/PresCapInfo;I)Lcom/android/ims/internal/uce/common/StatusCode;
+HSPLcom/android/ims/internal/uce/presence/PresCapInfo$1;-><init>()V
+HSPLcom/android/ims/internal/uce/presence/PresCapInfo;-><init>()V
+HSPLcom/android/ims/internal/uce/presence/PresCapInfo;->setCapInfo(Lcom/android/ims/internal/uce/common/CapInfo;)V
+HSPLcom/android/ims/internal/uce/presence/PresCapInfo;->setContactUri(Ljava/lang/String;)V
+HSPLcom/android/ims/internal/uce/presence/PresCapInfo;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLcom/android/ims/internal/uce/presence/PresCmdId$1;-><init>()V
+HSPLcom/android/ims/internal/uce/presence/PresCmdId$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/ims/internal/uce/presence/PresCmdId;
+HSPLcom/android/ims/internal/uce/presence/PresCmdId$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLcom/android/ims/internal/uce/presence/PresCmdId;->getCmdId()I
+HSPLcom/android/ims/internal/uce/presence/PresCmdStatus$1;-><init>()V
+HSPLcom/android/ims/internal/uce/presence/PresCmdStatus$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/ims/internal/uce/presence/PresCmdStatus;
+HSPLcom/android/ims/internal/uce/presence/PresCmdStatus$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLcom/android/ims/internal/uce/presence/PresCmdStatus;->getCmdId()Lcom/android/ims/internal/uce/presence/PresCmdId;
+HSPLcom/android/ims/internal/uce/presence/PresCmdStatus;->getRequestId()I
+HSPLcom/android/ims/internal/uce/presence/PresCmdStatus;->getStatus()Lcom/android/ims/internal/uce/common/StatusCode;
+HSPLcom/android/ims/internal/uce/presence/PresCmdStatus;->getUserData()I
+HSPLcom/android/ims/internal/uce/presence/PresCmdStatus;->readFromParcel(Landroid/os/Parcel;)V
+HSPLcom/android/ims/internal/uce/presence/PresPublishTriggerType$1;-><init>()V
+HSPLcom/android/ims/internal/uce/presence/PresPublishTriggerType$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;
+HSPLcom/android/ims/internal/uce/presence/PresPublishTriggerType$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLcom/android/ims/internal/uce/presence/PresPublishTriggerType;->getPublishTrigeerType()I
+HSPLcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->createPresenceService(Lcom/android/ims/internal/uce/presence/IPresenceListener;Lcom/android/ims/internal/uce/common/UceLong;)I
+HSPLcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->getPresenceService()Lcom/android/ims/internal/uce/presence/IPresenceService;
+HSPLcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;->getServiceStatus()Z
 HSPLcom/android/ims/internal/uce/uceservice/ImsUceManager;->createUceService(Z)V
 HSPLcom/android/ims/internal/uce/uceservice/ImsUceManager;->getInstance(Landroid/content/Context;I)Lcom/android/ims/internal/uce/uceservice/ImsUceManager;
 HSPLcom/android/ims/internal/uce/uceservice/ImsUceManager;->getUceServiceInstance()Lcom/android/ims/internal/uce/uceservice/IUceService;
@@ -38230,230 +31876,50 @@
 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$AlertParams$3;->onItemClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)V
-HSPLcom/android/internal/app/AlertController$AlertParams;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/app/AlertController$AlertParams;->apply(Lcom/android/internal/app/AlertController;)V
-HSPLcom/android/internal/app/AlertController$AlertParams;->createListView(Lcom/android/internal/app/AlertController;)V
-HSPLcom/android/internal/app/AlertController$CheckedItemAdapter;->getItemId(I)J
-HSPLcom/android/internal/app/AlertController$CheckedItemAdapter;->hasStableIds()Z
-HSPLcom/android/internal/app/AlertController$RecycleListView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLcom/android/internal/app/AlertController$RecycleListView;->recycleOnMeasure()Z
-HSPLcom/android/internal/app/AlertController$RecycleListView;->setHasDecor(ZZ)V
-HSPLcom/android/internal/app/AlertController;-><init>(Landroid/content/Context;Landroid/content/DialogInterface;Landroid/view/Window;)V
-HSPLcom/android/internal/app/AlertController;->canTextInput(Landroid/view/View;)Z
-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;->setTitle(Ljava/lang/CharSequence;)V
-HSPLcom/android/internal/app/AlertController;->setView(Landroid/view/View;)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;->activeServiceSupportsAssistGesture()Z
-HSPLcom/android/internal/app/AssistUtils;->getActiveServiceComponentName()Landroid/content/ComponentName;
+HSPLcom/android/internal/app/AssistUtils;->allowDisablingAssistDisclosure(Landroid/content/Context;)Z
 HSPLcom/android/internal/app/AssistUtils;->getAssistComponentForUser(I)Landroid/content/ComponentName;
+HSPLcom/android/internal/app/ColorDisplayController;-><init>(Landroid/content/Context;)V
+HSPLcom/android/internal/app/ColorDisplayController;->isActivated()Z
+HSPLcom/android/internal/app/ColorDisplayController;->setListener(Lcom/android/internal/app/ColorDisplayController$Callback;)V
 HSPLcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/app/IAppOpsActiveCallback$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IAppOpsActiveCallback;
-HSPLcom/android/internal/app/IAppOpsActiveCallback;->opActiveChanged(IILjava/lang/String;Z)V
 HSPLcom/android/internal/app/IAppOpsCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLcom/android/internal/app/IAppOpsCallback$Stub$Proxy;->opChanged(IILjava/lang/String;)V
 HSPLcom/android/internal/app/IAppOpsCallback$Stub;-><init>()V
 HSPLcom/android/internal/app/IAppOpsCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/app/IAppOpsCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/app/IAppOpsCallback;->opChanged(IILjava/lang/String;)V
+HSPLcom/android/internal/app/IAppOpsNotedCallback$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkAudioOperation(IIILjava/lang/String;)I
 HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkOperation(IILjava/lang/String;)I
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkOperationRaw(IILjava/lang/String;)I
 HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->checkPackage(ILjava/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;->getOpsForPackage(ILjava/lang/String;[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;->noteOperation(IILjava/lang/String;)I
-HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->noteProxyOperation(ILjava/lang/String;ILjava/lang/String;)I
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->noteProxyOperation(IILjava/lang/String;ILjava/lang/String;)I
 HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->setMode(IILjava/lang/String;I)V
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->setUidMode(III)V
+HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Z)I
 HSPLcom/android/internal/app/IAppOpsService$Stub$Proxy;->startWatchingMode(ILjava/lang/String;Lcom/android/internal/app/IAppOpsCallback;)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;->stopWatchingMode(Lcom/android/internal/app/IAppOpsCallback;)V
 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;
 HSPLcom/android/internal/app/IAppOpsService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/app/IAppOpsService;->checkAudioOperation(IIILjava/lang/String;)I
-HSPLcom/android/internal/app/IAppOpsService;->checkOperation(IILjava/lang/String;)I
-HSPLcom/android/internal/app/IAppOpsService;->checkPackage(ILjava/lang/String;)I
-HSPLcom/android/internal/app/IAppOpsService;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;)V
-HSPLcom/android/internal/app/IAppOpsService;->getOpsForPackage(ILjava/lang/String;[I)Ljava/util/List;
-HSPLcom/android/internal/app/IAppOpsService;->getPackagesForOps([I)Ljava/util/List;
-HSPLcom/android/internal/app/IAppOpsService;->getToken(Landroid/os/IBinder;)Landroid/os/IBinder;
-HSPLcom/android/internal/app/IAppOpsService;->getUidOps(I[I)Ljava/util/List;
-HSPLcom/android/internal/app/IAppOpsService;->isOperationActive(IILjava/lang/String;)Z
-HSPLcom/android/internal/app/IAppOpsService;->noteOperation(IILjava/lang/String;)I
-HSPLcom/android/internal/app/IAppOpsService;->noteProxyOperation(ILjava/lang/String;ILjava/lang/String;)I
-HSPLcom/android/internal/app/IAppOpsService;->permissionToOpCode(Ljava/lang/String;)I
-HSPLcom/android/internal/app/IAppOpsService;->removeUser(I)V
-HSPLcom/android/internal/app/IAppOpsService;->resetAllModes(ILjava/lang/String;)V
-HSPLcom/android/internal/app/IAppOpsService;->setAudioRestriction(IIII[Ljava/lang/String;)V
-HSPLcom/android/internal/app/IAppOpsService;->setMode(IILjava/lang/String;I)V
-HSPLcom/android/internal/app/IAppOpsService;->setUidMode(III)V
-HSPLcom/android/internal/app/IAppOpsService;->setUserRestriction(IZLandroid/os/IBinder;I[Ljava/lang/String;)V
-HSPLcom/android/internal/app/IAppOpsService;->setUserRestrictions(Landroid/os/Bundle;Landroid/os/IBinder;I)V
-HSPLcom/android/internal/app/IAppOpsService;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Z)I
-HSPLcom/android/internal/app/IAppOpsService;->startWatchingActive([ILcom/android/internal/app/IAppOpsActiveCallback;)V
-HSPLcom/android/internal/app/IAppOpsService;->startWatchingMode(ILjava/lang/String;Lcom/android/internal/app/IAppOpsCallback;)V
-HSPLcom/android/internal/app/IAppOpsService;->startWatchingModeWithFlags(ILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
-HSPLcom/android/internal/app/IAppOpsService;->stopWatchingActive(Lcom/android/internal/app/IAppOpsActiveCallback;)V
-HSPLcom/android/internal/app/IAppOpsService;->stopWatchingMode(Lcom/android/internal/app/IAppOpsCallback;)V
 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;->noteResetBleScan()V
-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;
 HSPLcom/android/internal/app/IBatteryStats$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/app/IBatteryStats;->computeBatteryTimeRemaining()J
-HSPLcom/android/internal/app/IBatteryStats;->computeChargeTimeRemaining()J
-HSPLcom/android/internal/app/IBatteryStats;->getAwakeTimeBattery()J
-HSPLcom/android/internal/app/IBatteryStats;->getAwakeTimePlugged()J
-HSPLcom/android/internal/app/IBatteryStats;->getCellularBatteryStats()Landroid/os/connectivity/CellularBatteryStats;
-HSPLcom/android/internal/app/IBatteryStats;->getGpsBatteryStats()Landroid/os/connectivity/GpsBatteryStats;
-HSPLcom/android/internal/app/IBatteryStats;->getStatistics()[B
-HSPLcom/android/internal/app/IBatteryStats;->getStatisticsStream()Landroid/os/ParcelFileDescriptor;
-HSPLcom/android/internal/app/IBatteryStats;->getWifiBatteryStats()Landroid/os/connectivity/WifiBatteryStats;
-HSPLcom/android/internal/app/IBatteryStats;->isCharging()Z
-HSPLcom/android/internal/app/IBatteryStats;->noteBleScanResults(Landroid/os/WorkSource;I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteBleScanStarted(Landroid/os/WorkSource;Z)V
-HSPLcom/android/internal/app/IBatteryStats;->noteBleScanStopped(Landroid/os/WorkSource;Z)V
-HSPLcom/android/internal/app/IBatteryStats;->noteBluetoothControllerActivity(Landroid/bluetooth/BluetoothActivityEnergyInfo;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteChangeWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
-HSPLcom/android/internal/app/IBatteryStats;->noteConnectivityChanged(ILjava/lang/String;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteDeviceIdleMode(ILjava/lang/String;I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteEvent(ILjava/lang/String;I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteFlashlightOff(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteFlashlightOn(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteFullWifiLockAcquired(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteFullWifiLockAcquiredFromSource(Landroid/os/WorkSource;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteFullWifiLockReleased(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteFullWifiLockReleasedFromSource(Landroid/os/WorkSource;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteGpsChanged(Landroid/os/WorkSource;Landroid/os/WorkSource;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteGpsSignalQuality(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteInteractive(Z)V
-HSPLcom/android/internal/app/IBatteryStats;->noteJobFinish(Ljava/lang/String;II)V
-HSPLcom/android/internal/app/IBatteryStats;->noteJobStart(Ljava/lang/String;I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteLongPartialWakelockFinish(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteLongPartialWakelockFinishFromSource(Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteLongPartialWakelockStart(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteLongPartialWakelockStartFromSource(Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteMobileRadioPowerState(IJI)V
-HSPLcom/android/internal/app/IBatteryStats;->noteModemControllerActivity(Landroid/telephony/ModemActivityInfo;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteNetworkInterfaceType(Ljava/lang/String;I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteNetworkStatsEnabled()V
-HSPLcom/android/internal/app/IBatteryStats;->notePhoneDataConnectionState(IZ)V
-HSPLcom/android/internal/app/IBatteryStats;->notePhoneOff()V
-HSPLcom/android/internal/app/IBatteryStats;->notePhoneOn()V
-HSPLcom/android/internal/app/IBatteryStats;->notePhoneSignalStrength(Landroid/telephony/SignalStrength;)V
-HSPLcom/android/internal/app/IBatteryStats;->notePhoneState(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteResetAudio()V
-HSPLcom/android/internal/app/IBatteryStats;->noteResetBleScan()V
-HSPLcom/android/internal/app/IBatteryStats;->noteResetCamera()V
-HSPLcom/android/internal/app/IBatteryStats;->noteResetFlashlight()V
-HSPLcom/android/internal/app/IBatteryStats;->noteResetVideo()V
-HSPLcom/android/internal/app/IBatteryStats;->noteScreenBrightness(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteScreenState(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteStartAudio(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteStartCamera(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteStartSensor(II)V
-HSPLcom/android/internal/app/IBatteryStats;->noteStartVideo(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteStartWakelock(IILjava/lang/String;Ljava/lang/String;IZ)V
-HSPLcom/android/internal/app/IBatteryStats;->noteStartWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
-HSPLcom/android/internal/app/IBatteryStats;->noteStopAudio(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteStopCamera(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteStopSensor(II)V
-HSPLcom/android/internal/app/IBatteryStats;->noteStopVideo(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteStopWakelock(IILjava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteStopWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteSyncFinish(Ljava/lang/String;I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteSyncStart(Ljava/lang/String;I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteUserActivity(II)V
-HSPLcom/android/internal/app/IBatteryStats;->noteVibratorOff(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteVibratorOn(IJ)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWakeUp(Ljava/lang/String;I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiBatchedScanStartedFromSource(Landroid/os/WorkSource;I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiBatchedScanStoppedFromSource(Landroid/os/WorkSource;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiControllerActivity(Landroid/net/wifi/WifiActivityEnergyInfo;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiMulticastDisabled(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiMulticastEnabled(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiOff()V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiOn()V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiRadioPowerState(IJI)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiRssiChanged(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiRunning(Landroid/os/WorkSource;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiRunningChanged(Landroid/os/WorkSource;Landroid/os/WorkSource;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiScanStarted(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiScanStartedFromSource(Landroid/os/WorkSource;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiScanStopped(I)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiScanStoppedFromSource(Landroid/os/WorkSource;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiState(ILjava/lang/String;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiStopped(Landroid/os/WorkSource;)V
-HSPLcom/android/internal/app/IBatteryStats;->noteWifiSupplicantStateChanged(IZ)V
-HSPLcom/android/internal/app/IBatteryStats;->setBatteryState(IIIIIIII)V
-HSPLcom/android/internal/app/IBatteryStats;->takeUidSnapshot(I)Landroid/os/health/HealthStatsParceler;
-HSPLcom/android/internal/app/IBatteryStats;->takeUidSnapshots([I)[Landroid/os/health/HealthStatsParceler;
 HSPLcom/android/internal/app/ISoundTriggerService$Stub;-><init>()V
-HSPLcom/android/internal/app/ISoundTriggerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/ISoundTriggerService;
-HSPLcom/android/internal/app/ISoundTriggerService;->deleteSoundModel(Landroid/os/ParcelUuid;)V
-HSPLcom/android/internal/app/ISoundTriggerService;->getSoundModel(Landroid/os/ParcelUuid;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
-HSPLcom/android/internal/app/ISoundTriggerService;->isRecognitionActive(Landroid/os/ParcelUuid;)Z
-HSPLcom/android/internal/app/ISoundTriggerService;->loadGenericSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;)I
-HSPLcom/android/internal/app/ISoundTriggerService;->loadKeyphraseSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;)I
-HSPLcom/android/internal/app/ISoundTriggerService;->startRecognition(Landroid/os/ParcelUuid;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-HSPLcom/android/internal/app/ISoundTriggerService;->startRecognitionForIntent(Landroid/os/ParcelUuid;Landroid/app/PendingIntent;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-HSPLcom/android/internal/app/ISoundTriggerService;->startRecognitionForService(Landroid/os/ParcelUuid;Landroid/os/Bundle;Landroid/content/ComponentName;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-HSPLcom/android/internal/app/ISoundTriggerService;->stopRecognition(Landroid/os/ParcelUuid;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
-HSPLcom/android/internal/app/ISoundTriggerService;->stopRecognitionForIntent(Landroid/os/ParcelUuid;)I
-HSPLcom/android/internal/app/ISoundTriggerService;->unloadSoundModel(Landroid/os/ParcelUuid;)I
-HSPLcom/android/internal/app/ISoundTriggerService;->updateSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;)V
-HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->activeServiceSupportsAssist()Z
-HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->getActiveServiceComponentName()Landroid/content/ComponentName;
 HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->getDspModuleProperties(Landroid/service/voice/IVoiceInteractionService;)Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;
 HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->isEnrolledForKeyphrase(Landroid/service/voice/IVoiceInteractionService;ILjava/lang/String;)Z
 HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub$Proxy;->startRecognition(Landroid/service/voice/IVoiceInteractionService;ILjava/lang/String;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
 HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub;-><init>()V
+HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractionManagerService;
 HSPLcom/android/internal/app/IVoiceInteractionManagerService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->activeServiceSupportsAssist()Z
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->activeServiceSupportsLaunchFromKeyguard()Z
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->closeSystemDialogs(Landroid/os/IBinder;)V
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->deleteKeyphraseSoundModel(ILjava/lang/String;)I
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->deliverNewSession(Landroid/os/IBinder;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)Z
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->finish(Landroid/os/IBinder;)V
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->getActiveServiceComponentName()Landroid/content/ComponentName;
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->getDisabledShowContext()I
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->getDspModuleProperties(Landroid/service/voice/IVoiceInteractionService;)Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->getKeyphraseSoundModel(ILjava/lang/String;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->getUserDisabledShowContext()I
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->hideCurrentSession()V
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->hideSessionFromSession(Landroid/os/IBinder;)Z
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->isEnrolledForKeyphrase(Landroid/service/voice/IVoiceInteractionService;ILjava/lang/String;)Z
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->isSessionRunning()Z
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->launchVoiceAssistFromKeyguard()V
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->onLockscreenShown()V
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->registerVoiceInteractionSessionListener(Lcom/android/internal/app/IVoiceInteractionSessionListener;)V
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->setDisabledShowContext(I)V
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->setKeepAwake(Landroid/os/IBinder;Z)V
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->showSession(Landroid/service/voice/IVoiceInteractionService;Landroid/os/Bundle;I)V
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->showSessionForActiveService(Landroid/os/Bundle;ILcom/android/internal/app/IVoiceInteractionSessionShowCallback;Landroid/os/IBinder;)Z
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->showSessionFromSession(Landroid/os/IBinder;Landroid/os/Bundle;I)Z
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->startAssistantActivity(Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;)I
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->startRecognition(Landroid/service/voice/IVoiceInteractionService;ILjava/lang/String;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->startVoiceActivity(Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;)I
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->stopRecognition(Landroid/service/voice/IVoiceInteractionService;ILandroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
-HSPLcom/android/internal/app/IVoiceInteractionManagerService;->updateKeyphraseSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;)I
 HSPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/app/IVoiceInteractionSessionListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractionSessionListener;
-HSPLcom/android/internal/app/IVoiceInteractionSessionListener;->onVoiceSessionHidden()V
-HSPLcom/android/internal/app/IVoiceInteractionSessionListener;->onVoiceSessionShown()V
-HSPLcom/android/internal/app/IVoiceInteractionSessionShowCallback;->onFailed()V
-HSPLcom/android/internal/app/IVoiceInteractionSessionShowCallback;->onShown()V
 HSPLcom/android/internal/app/IVoiceInteractor$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/IVoiceInteractor;
 HSPLcom/android/internal/app/ProcessMap;-><init>()V
 HSPLcom/android/internal/app/ProcessMap;->get(Ljava/lang/String;I)Ljava/lang/Object;
@@ -38465,39 +31931,53 @@
 HSPLcom/android/internal/app/ToolbarActionBar;-><init>(Landroid/widget/Toolbar;Ljava/lang/CharSequence;Landroid/view/Window$Callback;)V
 HSPLcom/android/internal/app/ToolbarActionBar;->getThemedContext()Landroid/content/Context;
 HSPLcom/android/internal/app/ToolbarActionBar;->invalidateOptionsMenu()Z
-HSPLcom/android/internal/app/ToolbarActionBar;->onDestroy()V
 HSPLcom/android/internal/app/ToolbarActionBar;->populateOptionsMenu()V
+HSPLcom/android/internal/app/ToolbarActionBar;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
 HSPLcom/android/internal/app/ToolbarActionBar;->setDisplayHomeAsUpEnabled(Z)V
 HSPLcom/android/internal/app/ToolbarActionBar;->setDisplayOptions(II)V
 HSPLcom/android/internal/app/ToolbarActionBar;->setDisplayShowTitleEnabled(Z)V
+HSPLcom/android/internal/app/ToolbarActionBar;->setElevation(F)V
 HSPLcom/android/internal/app/ToolbarActionBar;->setHomeButtonEnabled(Z)V
 HSPLcom/android/internal/app/ToolbarActionBar;->setShowHideAnimationEnabled(Z)V
 HSPLcom/android/internal/app/ToolbarActionBar;->setWindowTitle(Ljava/lang/CharSequence;)V
+HSPLcom/android/internal/app/procstats/AssociationState$SourceKey;->equals(Ljava/lang/Object;)Z
+HSPLcom/android/internal/app/procstats/AssociationState$SourceKey;->hashCode()I
+HSPLcom/android/internal/app/procstats/AssociationState$SourceState;->startActive(J)V
+HSPLcom/android/internal/app/procstats/AssociationState$SourceState;->stop()V
+HSPLcom/android/internal/app/procstats/AssociationState$SourceState;->stopActive(J)V
+HSPLcom/android/internal/app/procstats/AssociationState$SourceState;->stopTracking(J)V
+HSPLcom/android/internal/app/procstats/AssociationState$SourceState;->trackProcState(IIJ)V
+HSPLcom/android/internal/app/procstats/AssociationState;->startSource(ILjava/lang/String;Ljava/lang/String;)Lcom/android/internal/app/procstats/AssociationState$SourceState;
 HSPLcom/android/internal/app/procstats/DurationsTable;->addDuration(IJ)V
 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;->getCurrentMemoryState()I
-HSPLcom/android/internal/app/procstats/IProcessStats;->getCurrentStats(Ljava/util/List;)[B
-HSPLcom/android/internal/app/procstats/IProcessStats;->getStatsOverTime(J)Landroid/os/ParcelFileDescriptor;
+HSPLcom/android/internal/app/procstats/IProcessStats$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/app/procstats/IProcessStats;
 HSPLcom/android/internal/app/procstats/ProcessState$1;-><init>()V
 HSPLcom/android/internal/app/procstats/ProcessState;-><init>(Lcom/android/internal/app/procstats/ProcessState;Ljava/lang/String;IJLjava/lang/String;J)V
 HSPLcom/android/internal/app/procstats/ProcessState;-><init>(Lcom/android/internal/app/procstats/ProcessStats;Ljava/lang/String;IJLjava/lang/String;)V
 HSPLcom/android/internal/app/procstats/ProcessState;->addPss(JJJZIJLandroid/util/ArrayMap;)V
 HSPLcom/android/internal/app/procstats/ProcessState;->clone(J)Lcom/android/internal/app/procstats/ProcessState;
+HSPLcom/android/internal/app/procstats/ProcessState;->commitStateTime(J)V
 HSPLcom/android/internal/app/procstats/ProcessState;->ensureNotDead()V
 HSPLcom/android/internal/app/procstats/ProcessState;->makeActive()V
 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;->setCombinedState(IJ)V
 HSPLcom/android/internal/app/procstats/ProcessState;->setState(IIJLandroid/util/ArrayMap;)V
 HSPLcom/android/internal/app/procstats/ProcessStats$1;-><init>()V
+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;-><init>(Z)V
 HSPLcom/android/internal/app/procstats/ProcessStats;->getPackageStateLocked(Ljava/lang/String;IJ)Lcom/android/internal/app/procstats/ProcessStats$PackageState;
+HSPLcom/android/internal/app/procstats/ProcessStats;->getProcessStateLocked(Lcom/android/internal/app/procstats/ProcessStats$PackageState;Ljava/lang/String;)Lcom/android/internal/app/procstats/ProcessState;
 HSPLcom/android/internal/app/procstats/ProcessStats;->getProcessStateLocked(Ljava/lang/String;IJLjava/lang/String;)Lcom/android/internal/app/procstats/ProcessState;
 HSPLcom/android/internal/app/procstats/ProcessStats;->getServiceStateLocked(Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;)Lcom/android/internal/app/procstats/ServiceState;
 HSPLcom/android/internal/app/procstats/ProcessStats;->resetCommon()V
 HSPLcom/android/internal/app/procstats/ProcessStats;->splitAndParseNumbers(Ljava/lang/String;)[I
 HSPLcom/android/internal/app/procstats/ProcessStats;->updateFragmentation()V
+HSPLcom/android/internal/app/procstats/ProcessStats;->updateTrackingAssociationsLocked(IJ)V
 HSPLcom/android/internal/app/procstats/PssTable;->mergeStats(IIJJJJJJJJJ)V
+HSPLcom/android/internal/app/procstats/PssTable;->mergeStats([JIIJJJJJJJJJ)V
 HSPLcom/android/internal/app/procstats/ServiceState;->applyNewOwner(Ljava/lang/Object;)V
 HSPLcom/android/internal/app/procstats/ServiceState;->setBound(ZIJ)V
 HSPLcom/android/internal/app/procstats/ServiceState;->setExecuting(ZIJ)V
@@ -38507,6 +31987,7 @@
 HSPLcom/android/internal/app/procstats/ServiceState;->updateStartedState(IJ)V
 HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->binarySearch(B)I
 HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->copyFrom(Lcom/android/internal/app/procstats/SparseMappingTable$Table;I)V
+HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getArrayForKey(I)[J
 HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getKeyCount()I
 HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getOrAddKey(BI)I
 HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->getValue(I)J
@@ -38515,104 +31996,15 @@
 HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->setValue(IIJ)V
 HSPLcom/android/internal/app/procstats/SparseMappingTable$Table;->setValue(IJ)V
 HSPLcom/android/internal/app/procstats/SparseMappingTable;->reset()V
-HSPLcom/android/internal/appwidget/IAppWidgetHost$Stub;-><init>()V
-HSPLcom/android/internal/appwidget/IAppWidgetHost$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/appwidget/IAppWidgetHost;->providerChanged(ILandroid/appwidget/AppWidgetProviderInfo;)V
-HSPLcom/android/internal/appwidget/IAppWidgetHost;->providersChanged()V
-HSPLcom/android/internal/appwidget/IAppWidgetHost;->updateAppWidget(ILandroid/widget/RemoteViews;)V
-HSPLcom/android/internal/appwidget/IAppWidgetHost;->viewDataChanged(II)V
 HSPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->getAppWidgetIds(Landroid/content/ComponentName;)[I
-HSPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->getAppWidgetOptions(Ljava/lang/String;I)Landroid/os/Bundle;
-HSPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->getInstalledProvidersForProfile(IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;->partiallyUpdateAppWidgetIds(Ljava/lang/String;[ILandroid/widget/RemoteViews;)V
-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;->updateAppWidgetProvider(Landroid/content/ComponentName;Landroid/widget/RemoteViews;)V
 HSPLcom/android/internal/appwidget/IAppWidgetService$Stub;-><init>()V
 HSPLcom/android/internal/appwidget/IAppWidgetService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/appwidget/IAppWidgetService;
-HSPLcom/android/internal/appwidget/IAppWidgetService;->allocateAppWidgetId(Ljava/lang/String;I)I
-HSPLcom/android/internal/appwidget/IAppWidgetService;->bindAppWidgetId(Ljava/lang/String;IILandroid/content/ComponentName;Landroid/os/Bundle;)Z
-HSPLcom/android/internal/appwidget/IAppWidgetService;->bindRemoteViewsService(Ljava/lang/String;ILandroid/content/Intent;Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/IServiceConnection;I)Z
-HSPLcom/android/internal/appwidget/IAppWidgetService;->createAppWidgetConfigIntentSender(Ljava/lang/String;II)Landroid/content/IntentSender;
-HSPLcom/android/internal/appwidget/IAppWidgetService;->deleteAllHosts()V
-HSPLcom/android/internal/appwidget/IAppWidgetService;->deleteAppWidgetId(Ljava/lang/String;I)V
-HSPLcom/android/internal/appwidget/IAppWidgetService;->deleteHost(Ljava/lang/String;I)V
-HSPLcom/android/internal/appwidget/IAppWidgetService;->getAppWidgetIds(Landroid/content/ComponentName;)[I
-HSPLcom/android/internal/appwidget/IAppWidgetService;->getAppWidgetIdsForHost(Ljava/lang/String;I)[I
-HSPLcom/android/internal/appwidget/IAppWidgetService;->getAppWidgetInfo(Ljava/lang/String;I)Landroid/appwidget/AppWidgetProviderInfo;
-HSPLcom/android/internal/appwidget/IAppWidgetService;->getAppWidgetOptions(Ljava/lang/String;I)Landroid/os/Bundle;
-HSPLcom/android/internal/appwidget/IAppWidgetService;->getAppWidgetViews(Ljava/lang/String;I)Landroid/widget/RemoteViews;
-HSPLcom/android/internal/appwidget/IAppWidgetService;->getInstalledProvidersForProfile(IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/internal/appwidget/IAppWidgetService;->hasBindAppWidgetPermission(Ljava/lang/String;I)Z
-HSPLcom/android/internal/appwidget/IAppWidgetService;->isBoundWidgetPackage(Ljava/lang/String;I)Z
-HSPLcom/android/internal/appwidget/IAppWidgetService;->isRequestPinAppWidgetSupported()Z
-HSPLcom/android/internal/appwidget/IAppWidgetService;->notifyAppWidgetViewDataChanged(Ljava/lang/String;[II)V
-HSPLcom/android/internal/appwidget/IAppWidgetService;->partiallyUpdateAppWidgetIds(Ljava/lang/String;[ILandroid/widget/RemoteViews;)V
-HSPLcom/android/internal/appwidget/IAppWidgetService;->requestPinAppWidget(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/Bundle;Landroid/content/IntentSender;)Z
-HSPLcom/android/internal/appwidget/IAppWidgetService;->setBindAppWidgetPermission(Ljava/lang/String;IZ)V
-HSPLcom/android/internal/appwidget/IAppWidgetService;->startListening(Lcom/android/internal/appwidget/IAppWidgetHost;Ljava/lang/String;I[I)Landroid/content/pm/ParceledListSlice;
-HSPLcom/android/internal/appwidget/IAppWidgetService;->stopListening(Ljava/lang/String;I)V
-HSPLcom/android/internal/appwidget/IAppWidgetService;->updateAppWidgetIds(Ljava/lang/String;[ILandroid/widget/RemoteViews;)V
-HSPLcom/android/internal/appwidget/IAppWidgetService;->updateAppWidgetOptions(Ljava/lang/String;ILandroid/os/Bundle;)V
-HSPLcom/android/internal/appwidget/IAppWidgetService;->updateAppWidgetProvider(Landroid/content/ComponentName;Landroid/widget/RemoteViews;)V
-HSPLcom/android/internal/appwidget/IAppWidgetService;->updateAppWidgetProviderInfo(Landroid/content/ComponentName;Ljava/lang/String;)V
 HSPLcom/android/internal/backup/IBackupTransport$Stub;-><init>()V
 HSPLcom/android/internal/backup/IBackupTransport$Stub;->asBinder()Landroid/os/IBinder;
 HSPLcom/android/internal/backup/IBackupTransport$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/backup/IBackupTransport;->abortFullRestore()I
-HSPLcom/android/internal/backup/IBackupTransport;->cancelFullBackup()V
-HSPLcom/android/internal/backup/IBackupTransport;->checkFullBackupSize(J)I
-HSPLcom/android/internal/backup/IBackupTransport;->clearBackupData(Landroid/content/pm/PackageInfo;)I
-HSPLcom/android/internal/backup/IBackupTransport;->configurationIntent()Landroid/content/Intent;
-HSPLcom/android/internal/backup/IBackupTransport;->currentDestinationString()Ljava/lang/String;
-HSPLcom/android/internal/backup/IBackupTransport;->dataManagementIntent()Landroid/content/Intent;
-HSPLcom/android/internal/backup/IBackupTransport;->dataManagementLabel()Ljava/lang/String;
-HSPLcom/android/internal/backup/IBackupTransport;->finishBackup()I
-HSPLcom/android/internal/backup/IBackupTransport;->finishRestore()V
-HSPLcom/android/internal/backup/IBackupTransport;->getAvailableRestoreSets()[Landroid/app/backup/RestoreSet;
-HSPLcom/android/internal/backup/IBackupTransport;->getBackupQuota(Ljava/lang/String;Z)J
-HSPLcom/android/internal/backup/IBackupTransport;->getCurrentRestoreSet()J
-HSPLcom/android/internal/backup/IBackupTransport;->getNextFullRestoreDataChunk(Landroid/os/ParcelFileDescriptor;)I
-HSPLcom/android/internal/backup/IBackupTransport;->getRestoreData(Landroid/os/ParcelFileDescriptor;)I
-HSPLcom/android/internal/backup/IBackupTransport;->getTransportFlags()I
-HSPLcom/android/internal/backup/IBackupTransport;->initializeDevice()I
-HSPLcom/android/internal/backup/IBackupTransport;->isAppEligibleForBackup(Landroid/content/pm/PackageInfo;Z)Z
-HSPLcom/android/internal/backup/IBackupTransport;->name()Ljava/lang/String;
-HSPLcom/android/internal/backup/IBackupTransport;->nextRestorePackage()Landroid/app/backup/RestoreDescription;
-HSPLcom/android/internal/backup/IBackupTransport;->performBackup(Landroid/content/pm/PackageInfo;Landroid/os/ParcelFileDescriptor;I)I
-HSPLcom/android/internal/backup/IBackupTransport;->performFullBackup(Landroid/content/pm/PackageInfo;Landroid/os/ParcelFileDescriptor;I)I
-HSPLcom/android/internal/backup/IBackupTransport;->requestBackupTime()J
-HSPLcom/android/internal/backup/IBackupTransport;->requestFullBackupTime()J
-HSPLcom/android/internal/backup/IBackupTransport;->sendBackupData(I)I
-HSPLcom/android/internal/backup/IBackupTransport;->startRestore(J[Landroid/content/pm/PackageInfo;)I
-HSPLcom/android/internal/backup/IBackupTransport;->transportDirName()Ljava/lang/String;
-HSPLcom/android/internal/colorextraction/ColorExtractor$GradientColors;-><init>()V
-HSPLcom/android/internal/colorextraction/ColorExtractor$GradientColors;->getMainColor()I
-HSPLcom/android/internal/colorextraction/ColorExtractor$GradientColors;->getSecondaryColor()I
-HSPLcom/android/internal/colorextraction/ColorExtractor$GradientColors;->setMainColor(I)V
-HSPLcom/android/internal/colorextraction/ColorExtractor$GradientColors;->setSecondaryColor(I)V
-HSPLcom/android/internal/colorextraction/ColorExtractor$GradientColors;->setSupportsDarkText(Z)V
-HSPLcom/android/internal/colorextraction/ColorExtractor$GradientColors;->supportsDarkText()Z
-HSPLcom/android/internal/colorextraction/ColorExtractor$GradientColors;->toString()Ljava/lang/String;
-HSPLcom/android/internal/colorextraction/types/ExtractionType;->extractInto(Landroid/app/WallpaperColors;Lcom/android/internal/colorextraction/ColorExtractor$GradientColors;Lcom/android/internal/colorextraction/ColorExtractor$GradientColors;Lcom/android/internal/colorextraction/ColorExtractor$GradientColors;)V
-HSPLcom/android/internal/colorextraction/types/Tonal$ColorRange;->containsColor(FFF)Z
-HSPLcom/android/internal/colorextraction/types/Tonal$ConfigParser;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/colorextraction/types/Tonal$ConfigParser;->parseBlacklist(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/internal/colorextraction/types/Tonal$ConfigParser;->parsePalettes(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/internal/colorextraction/types/Tonal$ConfigParser;->readFloatArray(Ljava/lang/String;)[F
-HSPLcom/android/internal/colorextraction/types/Tonal$ConfigParser;->readPalette(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/internal/colorextraction/types/Tonal$TonalPalette;
-HSPLcom/android/internal/colorextraction/types/Tonal$ConfigParser;->readRange(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/internal/colorextraction/types/Tonal$ColorRange;
-HSPLcom/android/internal/colorextraction/types/Tonal$TonalPalette;-><init>([F[F[F)V
-HSPLcom/android/internal/colorextraction/types/Tonal;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/colorextraction/types/Tonal;->bestFit(Lcom/android/internal/colorextraction/types/Tonal$TonalPalette;FFF)I
-HSPLcom/android/internal/colorextraction/types/Tonal;->extractInto(Landroid/app/WallpaperColors;Lcom/android/internal/colorextraction/ColorExtractor$GradientColors;Lcom/android/internal/colorextraction/ColorExtractor$GradientColors;Lcom/android/internal/colorextraction/ColorExtractor$GradientColors;)V
-HSPLcom/android/internal/colorextraction/types/Tonal;->findTonalPalette(FF)Lcom/android/internal/colorextraction/types/Tonal$TonalPalette;
-HSPLcom/android/internal/colorextraction/types/Tonal;->getColorInt(I[F[F[F)I
-HSPLcom/android/internal/colorextraction/types/Tonal;->isBlacklisted([F)Z
-HSPLcom/android/internal/colorextraction/types/Tonal;->runTonalExtraction(Landroid/app/WallpaperColors;Lcom/android/internal/colorextraction/ColorExtractor$GradientColors;Lcom/android/internal/colorextraction/ColorExtractor$GradientColors;Lcom/android/internal/colorextraction/ColorExtractor$GradientColors;)Z
 HSPLcom/android/internal/content/FileSystemProvider;-><init>()V
-HSPLcom/android/internal/content/FileSystemProvider;->buildNotificationUri(Ljava/lang/String;)Landroid/net/Uri;
-HSPLcom/android/internal/content/FileSystemProvider;->getDocIdForFile(Ljava/io/File;)Ljava/lang/String;
-HSPLcom/android/internal/content/FileSystemProvider;->getFileForDocId(Ljava/lang/String;Z)Ljava/io/File;
+HSPLcom/android/internal/content/FileSystemProvider;->joinNewline([Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/content/FileSystemProvider;->onCreate([Ljava/lang/String;)V
 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;
@@ -38624,22 +32016,24 @@
 HSPLcom/android/internal/content/NativeLibraryHelper;->hasRenderscriptBitcode(Lcom/android/internal/content/NativeLibraryHelper$Handle;)Z
 HSPLcom/android/internal/content/PackageHelper;->getStorageManager()Landroid/os/storage/IStorageManager;
 HSPLcom/android/internal/content/PackageMonitor;-><init>()V
+HSPLcom/android/internal/content/PackageMonitor;->getChangingUserId()I
+HSPLcom/android/internal/content/PackageMonitor;->getPackageName(Landroid/content/Intent;)Ljava/lang/String;
+HSPLcom/android/internal/content/PackageMonitor;->onBeginPackageChanges()V
+HSPLcom/android/internal/content/PackageMonitor;->onFinishPackageChanges()V
+HSPLcom/android/internal/content/PackageMonitor;->onPackageAdded(Ljava/lang/String;I)V
+HSPLcom/android/internal/content/PackageMonitor;->onPackageAppeared(Ljava/lang/String;I)V
+HSPLcom/android/internal/content/PackageMonitor;->onPackageChanged(Ljava/lang/String;I[Ljava/lang/String;)Z
+HSPLcom/android/internal/content/PackageMonitor;->onPackageDisappeared(Ljava/lang/String;I)V
+HSPLcom/android/internal/content/PackageMonitor;->onPackageRemoved(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
 HSPLcom/android/internal/content/PackageMonitor;->register(Landroid/content/Context;Landroid/os/Looper;Landroid/os/UserHandle;Z)V
 HSPLcom/android/internal/content/PackageMonitor;->register(Landroid/content/Context;Landroid/os/Looper;Z)V
 HSPLcom/android/internal/content/PackageMonitor;->register(Landroid/content/Context;Landroid/os/UserHandle;ZLandroid/os/Handler;)V
 HSPLcom/android/internal/content/ReferrerIntent$1;-><init>()V
 HSPLcom/android/internal/content/ReferrerIntent$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/content/ReferrerIntent;
 HSPLcom/android/internal/content/ReferrerIntent$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
-HSPLcom/android/internal/database/SortCursor$1;->onInvalidated()V
-HSPLcom/android/internal/database/SortCursor;-><init>([Landroid/database/Cursor;Ljava/lang/String;)V
-HSPLcom/android/internal/database/SortCursor;->close()V
-HSPLcom/android/internal/database/SortCursor;->getCount()I
-HSPLcom/android/internal/database/SortCursor;->getLong(I)J
-HSPLcom/android/internal/database/SortCursor;->getString(I)Ljava/lang/String;
-HSPLcom/android/internal/database/SortCursor;->onMove(II)Z
-HSPLcom/android/internal/graphics/ColorUtils;->HSLToColor([F)I
-HSPLcom/android/internal/graphics/ColorUtils;->RGBToHSL(III[F)V
-HSPLcom/android/internal/graphics/SfVsyncFrameCallbackProvider;-><init>()V
 HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;->addDrawable(Landroid/graphics/drawable/Drawable;)I
 HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;->canApplyTheme()Z
 HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;->getCurrentDrawableIndexBasedOnScale()I
@@ -38653,8 +32047,6 @@
 HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->mutate()Landroid/graphics/drawable/Drawable;
 HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->onStateChange([I)Z
 HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->setConstantState(Landroid/graphics/drawable/DrawableContainer$DrawableContainerState;)V
-HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->start()V
-HSPLcom/android/internal/graphics/drawable/AnimationScaleListDrawable;->stop()V
 HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;-><init>(Landroid/content/Context;)V
 HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->accessibilityInversionEnabled(I)Z
 HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->alwaysOnAvailable()Z
@@ -38664,83 +32056,86 @@
 HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->ambientDisplayComponent()Ljava/lang/String;
 HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->doubleTapSensorAvailable()Z
 HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->doubleTapSensorType()Ljava/lang/String;
-HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->dozePulsePickupSensorAvailable()Z
+HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->dozePickupSensorAvailable()Z
 HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->enabled(I)Z
-HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->longPressSensorType()Ljava/lang/String;
-HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->pulseOnDoubleTapAvailable()Z
-HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->pulseOnDoubleTapEnabled(I)Z
-HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->pulseOnLongPressEnabled(I)Z
 HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->pulseOnNotificationAvailable()Z
 HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->pulseOnNotificationEnabled(I)Z
-HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->pulseOnPickupAvailable()Z
-HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->pulseOnPickupEnabled(I)Z
-HSPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->createFrom(Lcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;Ljava/util/List;)Lcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;
-HSPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->filterImeSubtypeList(Ljava/util/List;Z)Ljava/util/List;
-HSPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;-><init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/view/inputmethod/InputMethodInfo;ILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList$1;->compare(Landroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodInfo;)I
-HSPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList;-><init>(Landroid/content/Context;Lcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;)V
-HSPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList;->getSortedInputMethodAndSubtypeList(ZZ)Ljava/util/List;
-HSPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController;->createInstanceLocked(Lcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;Landroid/content/Context;)Lcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController;
-HSPLcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController;->resetCircularListLocked(Landroid/content/Context;)V
-HSPLcom/android/internal/inputmethod/InputMethodUtils$1;-><init>()V
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodListBuilder;->fillAuxiliaryImes(Ljava/util/ArrayList;Landroid/content/Context;)Lcom/android/internal/inputmethod/InputMethodUtils$InputMethodListBuilder;
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodListBuilder;->fillImes(Ljava/util/ArrayList;Landroid/content/Context;ZLjava/util/Locale;ZLjava/lang/String;)Lcom/android/internal/inputmethod/InputMethodUtils$InputMethodListBuilder;
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;-><init>(Landroid/content/res/Resources;Landroid/content/ContentResolver;Ljava/util/HashMap;Ljava/util/ArrayList;IZ)V
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->addSubtypeToHistory(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->buildInputMethodsAndSubtypeList(Ljava/lang/String;Landroid/text/TextUtils$SimpleStringSplitter;Landroid/text/TextUtils$SimpleStringSplitter;)Ljava/util/List;
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->createEnabledInputMethodListLocked(Ljava/util/List;)Ljava/util/ArrayList;
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->getCurrentUserId()I
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodListLocked()Ljava/util/ArrayList;
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodSubtypeListLocked(Landroid/content/Context;Landroid/view/inputmethod/InputMethodInfo;Z)Ljava/util/List;
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodSubtypeListLocked(Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/List;
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodsAndSubtypeListLocked()Ljava/util/List;
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodsStr()Ljava/lang/String;
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->getExplicitlyOrImplicitlyEnabledInputMethodsAndSubtypeListLocked(Landroid/content/Context;)Ljava/util/HashMap;
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->getInt(Ljava/lang/String;I)I
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->getSelectedInputMethod()Ljava/lang/String;
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->getSelectedInputMethodSubtypeId(Ljava/lang/String;)I
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->isCurrentProfile(I)Z
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->isShowImeWithHardKeyboardEnabled()Z
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->loadInputMethodAndSubtypeHistoryLocked()Ljava/util/List;
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->putSelectedInputMethod(Ljava/lang/String;)V
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->putSelectedSubtype(I)V
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->saveCurrentInputMethodAndSubtypeToHistory(Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->saveSubtypeHistory(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->setCurrentProfileIds([I)V
-HSPLcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;->switchCurrentUser(IZ)V
-HSPLcom/android/internal/inputmethod/InputMethodUtils;->constructLocaleFromString(Ljava/lang/String;)Ljava/util/Locale;
-HSPLcom/android/internal/inputmethod/InputMethodUtils;->containsSubtypeOf(Landroid/view/inputmethod/InputMethodInfo;Ljava/util/Locale;ZLjava/lang/String;)Z
-HSPLcom/android/internal/inputmethod/InputMethodUtils;->getDefaultEnabledImes(Landroid/content/Context;Ljava/util/ArrayList;)Ljava/util/ArrayList;
-HSPLcom/android/internal/inputmethod/InputMethodUtils;->getDefaultEnabledImes(Landroid/content/Context;Ljava/util/ArrayList;Z)Ljava/util/ArrayList;
-HSPLcom/android/internal/inputmethod/InputMethodUtils;->getFallbackLocaleForDefaultIme(Ljava/util/ArrayList;Landroid/content/Context;)Ljava/util/Locale;
-HSPLcom/android/internal/inputmethod/InputMethodUtils;->getImplicitlyApplicableSubtypesLocked(Landroid/content/res/Resources;Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/ArrayList;
-HSPLcom/android/internal/inputmethod/InputMethodUtils;->getImplicitlyApplicableSubtypesLockedImpl(Landroid/content/res/Resources;Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/ArrayList;
-HSPLcom/android/internal/inputmethod/InputMethodUtils;->getMinimumKeyboardSetWithSystemLocale(Ljava/util/ArrayList;Landroid/content/Context;Ljava/util/Locale;Ljava/util/Locale;)Lcom/android/internal/inputmethod/InputMethodUtils$InputMethodListBuilder;
-HSPLcom/android/internal/inputmethod/InputMethodUtils;->getSystemLocaleFromContext(Landroid/content/Context;)Ljava/util/Locale;
-HSPLcom/android/internal/inputmethod/InputMethodUtils;->isSystemAuxilialyImeThatHasAutomaticSubtype(Landroid/view/inputmethod/InputMethodInfo;Landroid/content/Context;Z)Z
-HSPLcom/android/internal/inputmethod/InputMethodUtils;->setDisabledUntilUsed(Landroid/content/pm/IPackageManager;Ljava/lang/String;ILjava/lang/String;)V
-HSPLcom/android/internal/inputmethod/InputMethodUtils;->setNonSelectedSystemImesDisabledUntilUsed(Landroid/content/pm/IPackageManager;Ljava/util/List;ILjava/lang/String;)V
-HSPLcom/android/internal/inputmethod/LocaleUtils$LocaleExtractor;->get(Ljava/lang/Object;)Ljava/util/Locale;
+HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->tapSensorAvailable()Z
+HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->tapSensorType()Ljava/lang/String;
+HSPLcom/android/internal/hardware/AmbientDisplayConfiguration;->wakeScreenGestureAvailable()Z
+HSPLcom/android/internal/infra/-$$Lambda$7-CJJfrUZBVuXZyYFEWBNh8Mky8;-><init>()V
+HSPLcom/android/internal/infra/-$$Lambda$7-CJJfrUZBVuXZyYFEWBNh8Mky8;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLcom/android/internal/infra/-$$Lambda$8VC8cCqnYnim9pDyOuWb8UErNzA;-><init>()V
+HSPLcom/android/internal/infra/-$$Lambda$8VC8cCqnYnim9pDyOuWb8UErNzA;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$6FcEKfZ-7TXLg6dcCU8EMuMNAy4;-><init>()V
+HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$6FcEKfZ-7TXLg6dcCU8EMuMNAy4;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$9IBVTCLLZgndvH7fu1P14PW1_1o;-><init>()V
+HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$MDW40b8CzodE5xRowI9wDEyXEnw;-><init>()V
+HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$YSUzqqi1Pbrg2dlwMGMtKWbGXck;-><init>()V
+HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$cqdY4I-K3gjiNpPabpvkPhvOi-M;-><init>()V
+HSPLcom/android/internal/infra/-$$Lambda$AbstractRemoteService$cqdY4I-K3gjiNpPabpvkPhvOi-M;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLcom/android/internal/infra/AbstractMultiplePendingRequestsRemoteService;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/content/ComponentName;ILcom/android/internal/infra/AbstractRemoteService$VultureCallback;ZZI)V
+HSPLcom/android/internal/infra/AbstractMultiplePendingRequestsRemoteService;->handlePendingRequestWhileUnBound(Lcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;)V
+HSPLcom/android/internal/infra/AbstractMultiplePendingRequestsRemoteService;->handlePendingRequestWhileUnBound(Lcom/android/internal/infra/AbstractRemoteService$PendingRequest;)V
+HSPLcom/android/internal/infra/AbstractMultiplePendingRequestsRemoteService;->handlePendingRequests()V
+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$PendingRequest;-><init>(Lcom/android/internal/infra/AbstractRemoteService;)V
+HSPLcom/android/internal/infra/AbstractRemoteService$PendingRequest;->finish()Z
+HSPLcom/android/internal/infra/AbstractRemoteService$PendingRequest;->getService()Lcom/android/internal/infra/AbstractRemoteService;
+HSPLcom/android/internal/infra/AbstractRemoteService$PendingRequest;->onFinished()V
+HSPLcom/android/internal/infra/AbstractRemoteService$RemoteServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HSPLcom/android/internal/infra/AbstractRemoteService;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/content/ComponentName;ILcom/android/internal/infra/AbstractRemoteService$VultureCallback;ZZ)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
+HSPLcom/android/internal/infra/AbstractRemoteService;->finishRequest(Lcom/android/internal/infra/AbstractRemoteService$PendingRequest;)V
+HSPLcom/android/internal/infra/AbstractRemoteService;->handleEnsureBound()V
+HSPLcom/android/internal/infra/AbstractRemoteService;->handleOnConnectedStateChanged(Z)V
+HSPLcom/android/internal/infra/AbstractRemoteService;->handlePendingRequest(Lcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;)V
+HSPLcom/android/internal/infra/AbstractRemoteService;->handlePendingRequest(Lcom/android/internal/infra/AbstractRemoteService$PendingRequest;)V
+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;->scheduleRequest(Lcom/android/internal/infra/AbstractRemoteService$PendingRequest;)V
+HSPLcom/android/internal/infra/AbstractRemoteService;->scheduleUnbind()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
+HSPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;->setImeWindowStatus(II)V
+HSPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;->shouldOfferSwitchingToNextInputMethod()Z
+HSPLcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;->updateStatusIcon(Ljava/lang/String;I)V
+HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations$OpsHolder;->getAndWarnIfNull()Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;
+HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations$OpsHolder;->set(Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;)V
+HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;-><init>()V
+HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;->notifyUserAction()V
+HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;->reportFullscreenMode(Z)V
+HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;->reportStartInput(Landroid/os/IBinder;)V
+HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;->set(Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;)V
+HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;->setImeWindowStatus(II)V
+HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;->shouldOfferSwitchingToNextInputMethod()Z
+HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperations;->updateStatusIcon(Ljava/lang/String;I)V
+HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperationsRegistry;->get(Landroid/os/IBinder;)Lcom/android/internal/inputmethod/InputMethodPrivilegedOperations;
+HSPLcom/android/internal/inputmethod/InputMethodPrivilegedOperationsRegistry;->put(Landroid/os/IBinder;Lcom/android/internal/inputmethod/InputMethodPrivilegedOperations;)V
 HSPLcom/android/internal/location/GpsNetInitiatedHandler$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/location/GpsNetInitiatedHandler;-><init>(Landroid/content/Context;Landroid/location/INetInitiatedListener;Z)V
-HSPLcom/android/internal/location/GpsNetInitiatedHandler;->getLocationEnabled()Z
+HSPLcom/android/internal/location/GpsNetInitiatedHandler;->setEmergencyExtensionSeconds(I)V
 HSPLcom/android/internal/location/GpsNetInitiatedHandler;->setSuplEsEnabled(Z)V
 HSPLcom/android/internal/location/GpsNetInitiatedHandler;->updateLocationMode()V
 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/ILocationProvider;->disable()V
-HSPLcom/android/internal/location/ILocationProvider;->enable()V
-HSPLcom/android/internal/location/ILocationProvider;->getProperties()Lcom/android/internal/location/ProviderProperties;
-HSPLcom/android/internal/location/ILocationProvider;->getStatus(Landroid/os/Bundle;)I
-HSPLcom/android/internal/location/ILocationProvider;->getStatusUpdateTime()J
-HSPLcom/android/internal/location/ILocationProvider;->sendExtraCommand(Ljava/lang/String;Landroid/os/Bundle;)Z
-HSPLcom/android/internal/location/ILocationProvider;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+HSPLcom/android/internal/location/ILocationProvider$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLcom/android/internal/location/ILocationProviderManager$Stub$Proxy;->onReportLocation(Landroid/location/Location;)V
+HSPLcom/android/internal/location/ILocationProviderManager$Stub$Proxy;->onSetEnabled(Z)V
+HSPLcom/android/internal/location/ILocationProviderManager$Stub$Proxy;->onSetProperties(Lcom/android/internal/location/ProviderProperties;)V
+HSPLcom/android/internal/location/ILocationProviderManager$Stub;-><init>()V
 HSPLcom/android/internal/location/ProviderProperties$1;-><init>()V
+HSPLcom/android/internal/location/ProviderProperties$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/location/ProviderProperties;
+HSPLcom/android/internal/location/ProviderProperties$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLcom/android/internal/location/ProviderProperties;-><init>(ZZZZZZZII)V
+HSPLcom/android/internal/location/ProviderProperties;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLcom/android/internal/location/ProviderRequest$1;-><init>()V
+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/location/ProviderRequest;-><init>()V
 HSPLcom/android/internal/location/gnssmetrics/GnssMetrics$Statistics;->reset()V
 HSPLcom/android/internal/location/gnssmetrics/GnssMetrics;-><init>(Lcom/android/internal/app/IBatteryStats;)V
@@ -38751,78 +32146,142 @@
 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(ILjava/lang/String;)V
-HSPLcom/android/internal/logging/MetricsLogger;->action(Landroid/content/Context;ILjava/lang/String;)V
 HSPLcom/android/internal/logging/MetricsLogger;->action(Landroid/metrics/LogMaker;)V
 HSPLcom/android/internal/logging/MetricsLogger;->count(Landroid/content/Context;Ljava/lang/String;I)V
 HSPLcom/android/internal/logging/MetricsLogger;->count(Ljava/lang/String;I)V
 HSPLcom/android/internal/logging/MetricsLogger;->hidden(I)V
+HSPLcom/android/internal/logging/MetricsLogger;->hidden(Landroid/content/Context;I)V
 HSPLcom/android/internal/logging/MetricsLogger;->histogram(Landroid/content/Context;Ljava/lang/String;I)V
 HSPLcom/android/internal/logging/MetricsLogger;->histogram(Ljava/lang/String;I)V
-HSPLcom/android/internal/logging/MetricsLogger;->saveLog([Ljava/lang/Object;)V
-HSPLcom/android/internal/logging/MetricsLogger;->visibility(IZ)V
-HSPLcom/android/internal/logging/MetricsLogger;->visible(I)V
-HSPLcom/android/internal/logging/MetricsLogger;->visible(Landroid/content/Context;I)V
+HSPLcom/android/internal/logging/MetricsLogger;->saveLog(Landroid/metrics/LogMaker;)V
 HSPLcom/android/internal/logging/MetricsLogger;->write(Landroid/metrics/LogMaker;)V
 HSPLcom/android/internal/net/INetworkWatchlistManager$Stub;-><init>()V
-HSPLcom/android/internal/net/INetworkWatchlistManager;->getWatchlistConfigHash()[B
-HSPLcom/android/internal/net/INetworkWatchlistManager;->reloadWatchlist()V
-HSPLcom/android/internal/net/INetworkWatchlistManager;->reportWatchlistIfNecessary()V
-HSPLcom/android/internal/net/INetworkWatchlistManager;->startWatchlistLogging()Z
-HSPLcom/android/internal/net/INetworkWatchlistManager;->stopWatchlistLogging()Z
 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;)V
+HSPLcom/android/internal/net/NetworkStatsFactory;->apply464xlatAdjustments(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Z)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;
 HSPLcom/android/internal/net/NetworkStatsFactory;->readNetworkStatsSummaryDev()Landroid/net/NetworkStats;
 HSPLcom/android/internal/net/NetworkStatsFactory;->readNetworkStatsSummaryXt()Landroid/net/NetworkStats;
 HSPLcom/android/internal/notification/SystemNotificationChannels;->createAll(Landroid/content/Context;)V
-HSPLcom/android/internal/os/-$$Lambda$KernelUidCpuActiveTimeReader$bd1LhtH6p3uJgMUQoWfE2Qs8bRc;->accept(Ljava/lang/Object;)V
-HSPLcom/android/internal/os/-$$Lambda$KernelUidCpuClusterTimeReader$j4vHMa0qvl5KRBiWr-LkFJbasC8;->accept(Ljava/lang/Object;)V
-HSPLcom/android/internal/os/-$$Lambda$KernelUidCpuFreqTimeReader$_LfRKir9FA4B4VL15YGHagRZaR8;->accept(Ljava/lang/Object;)V
-HSPLcom/android/internal/os/AndroidPrintStream;->log(Ljava/lang/String;)V
+HSPLcom/android/internal/os/-$$Lambda$BatteryStatsImpl$7bfIWpn8X2h-hSzLD6dcuK4Ljuw;->onUidCpuTime(ILjava/lang/Object;)V
+HSPLcom/android/internal/os/-$$Lambda$BatteryStatsImpl$B-TmZhQb712ePnuJTxvMe7P-YwQ;->onUidCpuTime(ILjava/lang/Object;)V
+HSPLcom/android/internal/os/-$$Lambda$BatteryStatsImpl$Xvt9xdVPtevMWGIjcbxXf0_mr_c;->onUidCpuTime(ILjava/lang/Object;)V
+HSPLcom/android/internal/os/-$$Lambda$BatteryStatsImpl$_l2oiaRDRhjCXI_PwXPsAhrgegI;->onUidCpuTime(ILjava/lang/Object;)V
+HSPLcom/android/internal/os/-$$Lambda$RuntimeInit$ep4ioD9YINkHI5Q1wZ0N_7VFAOg;-><init>()V
+HSPLcom/android/internal/os/-$$Lambda$RuntimeInit$ep4ioD9YINkHI5Q1wZ0N_7VFAOg;->get()Ljava/lang/Object;
+HSPLcom/android/internal/os/-$$Lambda$ZygoteConnection$03gF5FM1RhLTi9ViVQRSgLvWaJM;->run()V
+HSPLcom/android/internal/os/-$$Lambda$ZygoteConnection$xjqM7qW7vAjTqh2tR5XRF5Vn5mk;->run()V
+HSPLcom/android/internal/os/AtomicDirectory;-><init>(Ljava/io/File;)V
+HSPLcom/android/internal/os/AtomicDirectory;->getOrCreateBaseDirectory()Ljava/io/File;
+HSPLcom/android/internal/os/AtomicDirectory;->restore()V
+HSPLcom/android/internal/os/AtomicDirectory;->startRead()Ljava/io/File;
 HSPLcom/android/internal/os/AtomicFile;-><init>(Ljava/io/File;)V
+HSPLcom/android/internal/os/AtomicFile;->finishWrite(Ljava/io/FileOutputStream;)V
 HSPLcom/android/internal/os/AtomicFile;->openRead()Ljava/io/FileInputStream;
+HSPLcom/android/internal/os/AtomicFile;->readFully()[B
+HSPLcom/android/internal/os/AtomicFile;->startWrite()Ljava/io/FileOutputStream;
+HSPLcom/android/internal/os/AtomicFile;->truncate()V
 HSPLcom/android/internal/os/BackgroundThread;->ensureThreadLocked()V
 HSPLcom/android/internal/os/BackgroundThread;->get()Lcom/android/internal/os/BackgroundThread;
+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
+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
+HSPLcom/android/internal/os/BatterySipper;->computeMobilemspp()V
+HSPLcom/android/internal/os/BatterySipper;->getUid()I
+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
+HSPLcom/android/internal/os/BatteryStatsHelper;->addIdleUsage()V
+HSPLcom/android/internal/os/BatteryStatsHelper;->addMemoryUsage()V
+HSPLcom/android/internal/os/BatteryStatsHelper;->addPhoneUsage()V
+HSPLcom/android/internal/os/BatteryStatsHelper;->addRadioUsage()V
+HSPLcom/android/internal/os/BatteryStatsHelper;->addScreenUsage()V
+HSPLcom/android/internal/os/BatteryStatsHelper;->addUserUsage()V
+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
+HSPLcom/android/internal/os/BatteryStatsHelper;->clearStats()V
+HSPLcom/android/internal/os/BatteryStatsHelper;->convertMsToUs(J)J
+HSPLcom/android/internal/os/BatteryStatsHelper;->convertUsToMs(J)J
 HSPLcom/android/internal/os/BatteryStatsHelper;->create(Landroid/os/Bundle;)V
+HSPLcom/android/internal/os/BatteryStatsHelper;->getForegroundActivityTotalTimeUs(Landroid/os/BatteryStats$Uid;J)J
+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;->load()V
-HSPLcom/android/internal/os/BatteryStatsImpl$4;->run()V
-HSPLcom/android/internal/os/BatteryStatsImpl$5;-><init>()V
-HSPLcom/android/internal/os/BatteryStatsImpl$5;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/os/BatteryStatsImpl;
-HSPLcom/android/internal/os/BatteryStatsImpl$5;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+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
+HSPLcom/android/internal/os/BatteryStatsHelper;->isTypeSystem(Lcom/android/internal/os/BatterySipper;)Z
+HSPLcom/android/internal/os/BatteryStatsHelper;->processAppUsage(Landroid/util/SparseArray;)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
+HSPLcom/android/internal/os/BatteryStatsHistory$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
+HSPLcom/android/internal/os/BatteryStatsHistory;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsHistory;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Ljava/io/File;Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsHistory;->createActiveFile()V
+HSPLcom/android/internal/os/BatteryStatsHistory;->finishIteratingHistory()V
+HSPLcom/android/internal/os/BatteryStatsHistory;->getActiveFile()Lcom/android/internal/os/AtomicFile;
+HSPLcom/android/internal/os/BatteryStatsHistory;->getFilesNumbers()Ljava/util/List;
+HSPLcom/android/internal/os/BatteryStatsHistory;->getNextParcel(Landroid/os/BatteryStats$HistoryItem;)Landroid/os/Parcel;
+HSPLcom/android/internal/os/BatteryStatsHistory;->readFromParcel(Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsHistory;->resetAllFiles()V
+HSPLcom/android/internal/os/BatteryStatsHistory;->startIteratingHistory()Z
+HSPLcom/android/internal/os/BatteryStatsImpl$1;-><init>(Lcom/android/internal/os/BatteryStatsImpl;)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
+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
 HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->computeCurrentCountLocked()I
 HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->computeRunTimeLocked(J)J
-HSPLcom/android/internal/os/BatteryStatsImpl$BatteryCallback;->batteryNeedsCpuUpdate()V
-HSPLcom/android/internal/os/BatteryStatsImpl$BatteryCallback;->batteryPowerChanged(Z)V
-HSPLcom/android/internal/os/BatteryStatsImpl$BatteryCallback;->batterySendBroadcast(Landroid/content/Intent;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$BatteryCallback;->batteryStatsReset()V
+HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->onTimeStarted(JJJ)V
+HSPLcom/android/internal/os/BatteryStatsImpl$BatchTimer;->reset(Z)Z
 HSPLcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Lcom/android/internal/os/BatteryStatsImpl$1;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Clocks;->elapsedRealtime()J
-HSPLcom/android/internal/os/BatteryStatsImpl$Clocks;->uptimeMillis()J
 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
+HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getIdleTimeCounter()Landroid/os/BatteryStats$LongCounter;
+HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getIdleTimeCounter()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;
+HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getTxTimeCounters()[Landroid/os/BatteryStats$LongCounter;
+HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->getTxTimeCounters()[Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
 HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->readSummaryFromParcel(Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->reset(Z)V
 HSPLcom/android/internal/os/BatteryStatsImpl$ControllerActivityCounterImpl;->writeSummaryToParcel(Landroid/os/Parcel;)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
+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
 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
 HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$DualTimer;->reset(Z)Z
 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
@@ -38830,62 +32289,70 @@
 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
+HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->onTimeStarted(JJJ)V
+HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->onTimeStopped(JJJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->reset(Z)Z
 HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->startRunningLocked(J)V
 HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->stopRunningLocked(J)V
 HSPLcom/android/internal/os/BatteryStatsImpl$DurationTimer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V
-HSPLcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->cancelCpuSyncDueToWakelockChange()V
-HSPLcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleCopyFromAllUidsCpuTimes(ZZ)Ljava/util/concurrent/Future;
-HSPLcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleCpuSyncDueToRemovedUid(I)Ljava/util/concurrent/Future;
-HSPLcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleCpuSyncDueToScreenStateChange(ZZ)Ljava/util/concurrent/Future;
-HSPLcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleCpuSyncDueToSettingChange()Ljava/util/concurrent/Future;
-HSPLcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleCpuSyncDueToWakelockChange(J)Ljava/util/concurrent/Future;
-HSPLcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleReadProcStateCpuTimes(ZZJ)Ljava/util/concurrent/Future;
-HSPLcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleSync(Ljava/lang/String;I)Ljava/util/concurrent/Future;
-HSPLcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;->scheduleSyncDueToBatteryLevelChange(J)Ljava/util/concurrent/Future;
 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
+HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->getCountLocked(I)J
+HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->onTimeStarted(JJJ)V
+HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->onTimeStopped(JJJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->reset(Z)V
+HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->reset(Z)Z
 HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->update(JZ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;->writeSummaryFromParcelLocked(Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;-><init>(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;Lcom/android/internal/os/BatteryStatsImpl$1;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->access$1800(Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->access$2100(Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->access$2300(Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->access$2600(Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;Landroid/os/Parcel;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->addCountLocked([JZ)V
+HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->detach()V
+HSPLcom/android/internal/os/BatteryStatsImpl$LongSamplingCounterArray;->getCountsLocked(I)[J
+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
 HSPLcom/android/internal/os/BatteryStatsImpl$MyHandler;-><init>(Lcom/android/internal/os/BatteryStatsImpl;Landroid/os/Looper;)V
 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$PlatformIdleStateCallback;->fillLowPowerStats(Lcom/android/internal/os/RpmStats;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;->getPlatformLowPowerStats()Ljava/lang/String;
-HSPLcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;->getSubsystemLowPowerStats()Ljava/lang/String;
 HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->computeCurrentCountLocked()I
 HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->computeRunTimeLocked(J)J
 HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->endSample()V
 HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->getUpdateVersion()I
+HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->onTimeStarted(JJJ)V
+HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->onTimeStopped(JJJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->setUpdateVersion(I)V
 HSPLcom/android/internal/os/BatteryStatsImpl$SamplingTimer;->update(JI)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
 HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->isRunningLocked()Z
 HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->refreshTimersLocked(JLjava/util/ArrayList;Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;)J
+HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->reset(Z)Z
 HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->setTimeout(J)V
 HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->startRunningLocked(J)V
 HSPLcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;->stopRunningLocked(J)V
 HSPLcom/android/internal/os/BatteryStatsImpl$SystemClocks;->elapsedRealtime()J
 HSPLcom/android/internal/os/BatteryStatsImpl$SystemClocks;->uptimeMillis()J
-HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;-><init>()V
+HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;-><init>(Z)V
 HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->add(Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->computeRealtime(JI)J
 HSPLcom/android/internal/os/BatteryStatsImpl$TimeBase;->computeUptime(JI)J
@@ -38895,62 +32362,118 @@
 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
 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
+HSPLcom/android/internal/os/BatteryStatsImpl$Timer;->getTotalTimeLocked(JI)J
+HSPLcom/android/internal/os/BatteryStatsImpl$Timer;->onTimeStarted(JJJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Timer;->readSummaryFromParcelLocked(Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Timer;->writeSummaryFromParcelLocked(Landroid/os/Parcel;J)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$1;->instantiateObject()Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$1;->instantiateObject()Ljava/lang/Object;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$2;->instantiateObject()Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$2;->instantiateObject()Ljava/lang/Object;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$3;->instantiateObject()Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$3;->instantiateObject()Ljava/lang/Object;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->detach()V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getBatteryStats()Lcom/android/internal/os/BatteryStatsImpl;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->getStartTimeToNowLocked(J)J
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;->onTimeStarted(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;-><init>(Lcom/android/internal/os/BatteryStatsImpl;)V
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;->detach()V
+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
 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
+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
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getSystemTime(I)J
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->getUserTime(I)J
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->incStartsLocked()V
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->onTimeStarted(JJJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->readExcessivePowerFromParcelLocked(Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->readFromParcelLocked(Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid$Proc;->writeExcessivePowerToParcelLocked(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
+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;->readFromParcelLocked(Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Lcom/android/internal/os/BatteryStatsImpl$TimeBase;Landroid/os/Parcel;)V
 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
 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
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;-><init>(Lcom/android/internal/os/BatteryStatsImpl;I)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->access$1900(Lcom/android/internal/os/BatteryStatsImpl$Uid;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->access$1902(Lcom/android/internal/os/BatteryStatsImpl$Uid;Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->access$2000(Lcom/android/internal/os/BatteryStatsImpl$Uid;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->access$2002(Lcom/android/internal/os/BatteryStatsImpl$Uid;Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->access$2400(Lcom/android/internal/os/BatteryStatsImpl$Uid;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->access$2402(Lcom/android/internal/os/BatteryStatsImpl$Uid;Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->access$2500(Lcom/android/internal/os/BatteryStatsImpl$Uid;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->access$2502(Lcom/android/internal/os/BatteryStatsImpl$Uid;Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;)Lcom/android/internal/os/BatteryStatsImpl$LongSamplingCounter;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->addIsolatedUid(I)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createAggregatedPartialWakelockTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createAudioTurnedOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createBluetoothScanResultBgCounterLocked()Lcom/android/internal/os/BatteryStatsImpl$Counter;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createBluetoothScanResultCounterLocked()Lcom/android/internal/os/BatteryStatsImpl$Counter;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createBluetoothScanTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createBluetoothUnoptimizedScanTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createCameraTurnedOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createFlashlightTurnedOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createForegroundActivityTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createForegroundServiceTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createVibratorOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->createVideoTurnedOnTimerLocked()Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->detachFromTimeBase()V
+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;
+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
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getCpuClusterTimes()[J
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getFlashlightTurnedOnTimer()Landroid/os/BatteryStats$Timer;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getFlashlightTurnedOnTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundActivityTimer()Landroid/os/BatteryStats$Timer;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getForegroundActivityTimer()Lcom/android/internal/os/BatteryStatsImpl$Timer;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getMobileRadioActiveCount(I)I
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getMobileRadioActiveTime(I)J
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getNetworkActivityBytes(II)J
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getNetworkActivityPackets(II)J
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getPackageStatsLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getPidStatsLocked(I)Landroid/os/BatteryStats$Uid$Pid;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getProcessStateTime(IJI)J
+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;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getSensorStats()Landroid/util/SparseArray;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getSensorTimerLocked(IZ)Lcom/android/internal/os/BatteryStatsImpl$DualTimer;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getServiceStatsLocked(Ljava/lang/String;Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getSystemCpuTimeUs(I)J
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getTimeAtCpuSpeed(III)J
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getUid()I
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getUserCpuTimeUs(I)J
+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;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWakelockTimerLocked(Lcom/android/internal/os/BatteryStatsImpl$Uid$Wakelock;I)Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->getWifiControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->initNetworkActivityLocked()V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->initUserActivityLocked()V
+HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->isInBackground()Z
 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
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteJobsDeferredLocked(IJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartSensor(IJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStartWakeLocked(ILjava/lang/String;IJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopSensor(IJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->noteStopWakeLocked(ILjava/lang/String;IJ)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
@@ -38958,13 +32481,16 @@
 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
+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
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->updateUidProcessStateLocked(I)V
 HSPLcom/android/internal/os/BatteryStatsImpl$Uid;->writeJobCompletionsToParcelLocked(Landroid/os/Parcel;)V
-HSPLcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;->getUserIds()[I
-# HSPLcom/android/internal/os/BatteryStatsImpl;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Landroid/os/Parcel;)V b/76145463
+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>(Lcom/android/internal/os/BatteryStatsImpl$Clocks;Ljava/io/File;Landroid/os/Handler;Lcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;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;-><init>(Ljava/io/File;Landroid/os/Handler;Lcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->addHistoryBufferLocked(JBLandroid/os/BatteryStats$HistoryItem;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->addHistoryBufferLocked(JLandroid/os/BatteryStats$HistoryItem;)V
@@ -38976,38 +32502,77 @@
 HSPLcom/android/internal/os/BatteryStatsImpl;->buildStateInt(Landroid/os/BatteryStats$HistoryItem;)I
 HSPLcom/android/internal/os/BatteryStatsImpl;->clearHistoryLocked()V
 HSPLcom/android/internal/os/BatteryStatsImpl;->clearPendingRemovedUids()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->commitPendingDataToDisk()V
+HSPLcom/android/internal/os/BatteryStatsImpl;->commitPendingDataToDisk(Landroid/os/Parcel;Lcom/android/internal/os/AtomicFile;)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->computeBatteryRealtime(JI)J
+HSPLcom/android/internal/os/BatteryStatsImpl;->computeBatteryTimeRemaining(J)J
+HSPLcom/android/internal/os/BatteryStatsImpl;->computeBatteryUptime(JI)J
+HSPLcom/android/internal/os/BatteryStatsImpl;->computeChargeTimeRemaining(J)J
 HSPLcom/android/internal/os/BatteryStatsImpl;->computeHistoryStepDetails(Landroid/os/BatteryStats$HistoryStepDetails;Landroid/os/BatteryStats$HistoryStepDetails;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->computeRealtime(JI)J
 HSPLcom/android/internal/os/BatteryStatsImpl;->computeUptime(JI)J
 HSPLcom/android/internal/os/BatteryStatsImpl;->copyFromAllUidsCpuTimes()V
 HSPLcom/android/internal/os/BatteryStatsImpl;->copyFromAllUidsCpuTimes(ZZ)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->detachIfNotNull(Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->detachIfNotNull([Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->detachIfNotNull([[Lcom/android/internal/os/BatteryStatsImpl$TimeBaseObs;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->ensureStartClockTime(J)Z
-HSPLcom/android/internal/os/BatteryStatsImpl;->getAvailableUidStatsLocked(I)Lcom/android/internal/os/BatteryStatsImpl$Uid;
+HSPLcom/android/internal/os/BatteryStatsImpl;->finishAddingCpuLocked(IIIIIIII)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->finishIteratingHistoryLocked()V
+HSPLcom/android/internal/os/BatteryStatsImpl;->getBatteryRealtime(J)J
+HSPLcom/android/internal/os/BatteryStatsImpl;->getBatteryUptime(J)J
 HSPLcom/android/internal/os/BatteryStatsImpl;->getBatteryUptimeLocked()J
+HSPLcom/android/internal/os/BatteryStatsImpl;->getBluetoothControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
+HSPLcom/android/internal/os/BatteryStatsImpl;->getDischargeAmount(I)I
 HSPLcom/android/internal/os/BatteryStatsImpl;->getDischargeAmountScreenDozeSinceCharge()I
 HSPLcom/android/internal/os/BatteryStatsImpl;->getDischargeAmountScreenOffSinceCharge()I
 HSPLcom/android/internal/os/BatteryStatsImpl;->getDischargeAmountScreenOnSinceCharge()I
+HSPLcom/android/internal/os/BatteryStatsImpl;->getGpsSignalQualityTime(IJI)J
 HSPLcom/android/internal/os/BatteryStatsImpl;->getHighDischargeAmountSinceCharge()I
 HSPLcom/android/internal/os/BatteryStatsImpl;->getIsOnBattery()Z
+HSPLcom/android/internal/os/BatteryStatsImpl;->getKernelMemoryStats()Landroid/util/LongSparseArray;
 HSPLcom/android/internal/os/BatteryStatsImpl;->getKernelWakelockTimerLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;
 HSPLcom/android/internal/os/BatteryStatsImpl;->getLowDischargeAmountSinceCharge()I
+HSPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveTime(JI)J
+HSPLcom/android/internal/os/BatteryStatsImpl;->getMobileRadioActiveUnknownCount(I)I
+HSPLcom/android/internal/os/BatteryStatsImpl;->getNetworkActivityPackets(II)J
+HSPLcom/android/internal/os/BatteryStatsImpl;->getNextHistoryLocked(Landroid/os/BatteryStats$HistoryItem;)Z
+HSPLcom/android/internal/os/BatteryStatsImpl;->getPackageStatsLocked(ILjava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg;
+HSPLcom/android/internal/os/BatteryStatsImpl;->getPhoneOnTime(JI)J
+HSPLcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalScanningTime(JI)J
+HSPLcom/android/internal/os/BatteryStatsImpl;->getPhoneSignalStrengthTime(IJI)J
 HSPLcom/android/internal/os/BatteryStatsImpl;->getPowerManagerWakeLockLevel(I)I
+HSPLcom/android/internal/os/BatteryStatsImpl;->getProcessStatsLocked(ILjava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$Uid$Proc;
 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
+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
+HSPLcom/android/internal/os/BatteryStatsImpl;->getUidStats()Landroid/util/SparseArray;
 HSPLcom/android/internal/os/BatteryStatsImpl;->getUidStatsLocked(I)Lcom/android/internal/os/BatteryStatsImpl$Uid;
 HSPLcom/android/internal/os/BatteryStatsImpl;->getWakeupReasonTimerLocked(Ljava/lang/String;)Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;
+HSPLcom/android/internal/os/BatteryStatsImpl;->getWifiControllerActivity()Landroid/os/BatteryStats$ControllerActivityCounter;
+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;->initKernelSingleUidTimeReaderLocked()Z
 HSPLcom/android/internal/os/BatteryStatsImpl;->initTimes(JJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->isCharging()Z
 HSPLcom/android/internal/os/BatteryStatsImpl;->isOnBattery()Z
 HSPLcom/android/internal/os/BatteryStatsImpl;->isOnBatteryLocked()Z
 HSPLcom/android/internal/os/BatteryStatsImpl;->isOnBatteryScreenOffLocked()Z
 HSPLcom/android/internal/os/BatteryStatsImpl;->isScreenDoze(I)Z
+HSPLcom/android/internal/os/BatteryStatsImpl;->isScreenOff(I)Z
 HSPLcom/android/internal/os/BatteryStatsImpl;->isScreenOn(I)Z
+HSPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuActiveTimesLocked$2$BatteryStatsImpl(ZILjava/lang/Long;)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuActiveTimesLocked$2(Lcom/android/internal/os/BatteryStatsImpl;ZILjava/lang/Long;)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuClusterTimesLocked$3$BatteryStatsImpl(ZI[J)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuClusterTimesLocked$3(Lcom/android/internal/os/BatteryStatsImpl;ZI[J)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuFreqTimesLocked$1$BatteryStatsImpl(ZZZIII[J)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuFreqTimesLocked$1(Lcom/android/internal/os/BatteryStatsImpl;ZZZIII[J)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuTimesLocked$0$BatteryStatsImpl(IZLandroid/util/SparseLongArray;I[J)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->lambda$readKernelUidCpuTimesLocked$0(Lcom/android/internal/os/BatteryStatsImpl;IZLandroid/util/SparseLongArray;I[J)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->mapUid(I)I
 HSPLcom/android/internal/os/BatteryStatsImpl;->markPartialTimersAsEligible()V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteActivityPausedLocked(I)V
@@ -39015,10 +32580,10 @@
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteAlarmFinishLocked(Ljava/lang/String;Landroid/os/WorkSource;I)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteAlarmStartLocked(Ljava/lang/String;Landroid/os/WorkSource;I)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteAlarmStartOrFinishLocked(ILjava/lang/String;Landroid/os/WorkSource;I)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->noteCurrentTimeChangedLocked()V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteEventLocked(ILjava/lang/String;I)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteInteractiveLocked(Z)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteJobsDeferredLocked(IIJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->notePhoneDataConnectionStateLocked(IZ)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->notePackageUninstalledLocked(Ljava/lang/String;)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
@@ -39031,14 +32596,14 @@
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteStartSensorLocked(II)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteStartWakeFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteStartWakeLocked(IILandroid/os/WorkSource$WorkChain;Ljava/lang/String;Ljava/lang/String;IZJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteStopSensorLocked(II)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteStopWakeFromSourceLocked(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;I)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteStopWakeLocked(IILandroid/os/WorkSource$WorkChain;Ljava/lang/String;Ljava/lang/String;IJJ)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteUidProcessStateLocked(II)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteUsbConnectionStateLocked(Z)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteWakupAlarmLocked(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->noteWifiOffLocked()V
 HSPLcom/android/internal/os/BatteryStatsImpl;->noteWifiOnLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->noteWifiRunningLocked(Landroid/os/WorkSource;)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->noteWifiStateLocked(ILjava/lang/String;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->postBatteryNeedsCpuUpdateMsg()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
@@ -39047,193 +32612,301 @@
 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;->readHistory(Landroid/os/Parcel;Z)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
+HSPLcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuClusterTimesLocked(Z)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuFreqTimesLocked(Ljava/util/ArrayList;ZZ)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->readKernelUidCpuTimesLocked(Ljava/util/ArrayList;Landroid/util/SparseLongArray;Z)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->readLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->readNetworkStatsLocked([Ljava/lang/String;)Landroid/net/NetworkStats;
 HSPLcom/android/internal/os/BatteryStatsImpl;->readOldHistory(Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->readSummaryFromParcel(Landroid/os/Parcel;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->recordDailyStatsIfNeededLocked(Z)V
+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
+HSPLcom/android/internal/os/BatteryStatsImpl;->resetAllStatsLocked()V
 HSPLcom/android/internal/os/BatteryStatsImpl;->scheduleRemoveIsolatedUidLocked(II)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->setBatteryStateLocked(IIIIIIII)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->setCallback(Lcom/android/internal/os/BatteryStatsImpl$BatteryCallback;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->setChargingLocked(Z)Z
 HSPLcom/android/internal/os/BatteryStatsImpl;->setExternalStatsSyncLocked(Lcom/android/internal/os/BatteryStatsImpl$ExternalStatsSync;)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->setOnBatteryLocked(JJZIII)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->setPowerProfileLocked(Lcom/android/internal/os/PowerProfile;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->setRadioScanningTimeoutLocked(J)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->startAddingCpuLocked()Z
+HSPLcom/android/internal/os/BatteryStatsImpl;->startIteratingHistoryLocked()Z
 HSPLcom/android/internal/os/BatteryStatsImpl;->startRecordingHistory(JJZ)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->systemServicesReady(Landroid/content/Context;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->trackPerProcStateCpuTimes()Z
 HSPLcom/android/internal/os/BatteryStatsImpl;->updateAllPhoneStateLocked(III)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->updateBatteryPropertiesLocked()V
+HSPLcom/android/internal/os/BatteryStatsImpl;->updateClusterSpeedTimes(Landroid/util/SparseLongArray;Z)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->updateCpuTimeLocked(ZZ)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->updateDailyDeadlineLocked()V
+HSPLcom/android/internal/os/BatteryStatsImpl;->updateDischargeScreenLevelsLocked(II)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->updateKernelMemoryBandwidthLocked()V
 HSPLcom/android/internal/os/BatteryStatsImpl;->updateKernelWakelocksLocked()V
+HSPLcom/android/internal/os/BatteryStatsImpl;->updateNewDischargeScreenLevelLocked(I)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->updateOldDischargeScreenLevelLocked(I)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->updateRailStatsLocked()V
 HSPLcom/android/internal/os/BatteryStatsImpl;->updateRpmStatsLocked()V
 HSPLcom/android/internal/os/BatteryStatsImpl;->updateTimeBasesLocked(ZIJJ)V
-HSPLcom/android/internal/os/BatteryStatsImpl;->updateWifiState(Landroid/net/wifi/WifiActivityEnergyInfo;)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->writeAsyncLocked()V
-HSPLcom/android/internal/os/BatteryStatsImpl;->writeHistory(Landroid/os/Parcel;ZZ)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->writeDailyItemsLocked(Lorg/xmlpull/v1/XmlSerializer;)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->writeDailyLevelSteps(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Landroid/os/BatteryStats$LevelStepTracker;Ljava/lang/StringBuilder;)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->writeHistoryBuffer(Landroid/os/Parcel;ZZ)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->writeHistoryDelta(Landroid/os/Parcel;Landroid/os/BatteryStats$HistoryItem;Landroid/os/BatteryStats$HistoryItem;)V
+HSPLcom/android/internal/os/BatteryStatsImpl;->writeHistoryLocked(Z)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->writeHistoryTag(Landroid/os/BatteryStats$HistoryTag;)I
-HSPLcom/android/internal/os/BatteryStatsImpl;->writeLocked(Z)V
 HSPLcom/android/internal/os/BatteryStatsImpl;->writeOldHistory(Landroid/os/Parcel;)V
+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
-HSPLcom/android/internal/os/BinderCallsStats;-><init>()V
-HSPLcom/android/internal/os/BinderCallsStats;->callEnded(Lcom/android/internal/os/BinderCallsStats$CallSession;)V
-HSPLcom/android/internal/os/BinderCallsStats;->callStarted(Landroid/os/Binder;I)Lcom/android/internal/os/BinderCallsStats$CallSession;
-HSPLcom/android/internal/os/BinderInternal$BinderProxyLimitListener;->onLimitReached(I)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;
+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
+HSPLcom/android/internal/os/BinderCallsStats;->getCallingUid()I
+HSPLcom/android/internal/os/BinderCallsStats;->getElapsedRealtimeMicro()J
+HSPLcom/android/internal/os/BinderCallsStats;->getThreadTimeMicro()J
+HSPLcom/android/internal/os/BinderCallsStats;->processCallEnded(Lcom/android/internal/os/BinderInternal$CallSession;III)V
+HSPLcom/android/internal/os/BinderCallsStats;->reset()V
+HSPLcom/android/internal/os/BinderCallsStats;->setAddDebugEntries(Z)V
+HSPLcom/android/internal/os/BinderCallsStats;->setDetailedTracking(Z)V
+HSPLcom/android/internal/os/BinderCallsStats;->setDeviceState(Lcom/android/internal/os/CachedDeviceState$Readonly;)V
+HSPLcom/android/internal/os/BinderCallsStats;->setMaxBinderCallStats(I)V
+HSPLcom/android/internal/os/BinderCallsStats;->setSamplingInterval(I)V
+HSPLcom/android/internal/os/BinderCallsStats;->setTrackDirectCallerUid(Z)V
+HSPLcom/android/internal/os/BinderCallsStats;->setTrackScreenInteractive(Z)V
+HSPLcom/android/internal/os/BinderCallsStats;->shouldRecordDetailedData()Z
 HSPLcom/android/internal/os/BinderInternal$BinderProxyLimitListenerDelegate;-><init>(Lcom/android/internal/os/BinderInternal$1;)V
 HSPLcom/android/internal/os/BinderInternal$BinderProxyLimitListenerDelegate;->setListener(Lcom/android/internal/os/BinderInternal$BinderProxyLimitListener;Landroid/os/Handler;)V
 HSPLcom/android/internal/os/BinderInternal$GcWatcher;-><init>()V
 HSPLcom/android/internal/os/BinderInternal$GcWatcher;->finalize()V
 HSPLcom/android/internal/os/BinderInternal;->addGcWatcher(Ljava/lang/Runnable;)V
 HSPLcom/android/internal/os/BinderInternal;->setBinderProxyCountCallback(Lcom/android/internal/os/BinderInternal$BinderProxyLimitListener;Landroid/os/Handler;)V
-HSPLcom/android/internal/os/ClassLoaderFactory;->createClassLoader(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;)Ljava/lang/ClassLoader;
-HSPLcom/android/internal/os/ClassLoaderFactory;->createClassLoader(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;IZLjava/lang/String;)Ljava/lang/ClassLoader;
+HSPLcom/android/internal/os/BluetoothPowerCalculator;-><init>(Lcom/android/internal/os/PowerProfile;)V
+HSPLcom/android/internal/os/BluetoothPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
+HSPLcom/android/internal/os/BluetoothPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
+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
+HSPLcom/android/internal/os/CachedDeviceState$Readonly;->isScreenInteractive()Z
+HSPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->isRunning()Z
+HSPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->reset()V
+HSPLcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;->start()V
+HSPLcom/android/internal/os/CachedDeviceState;-><init>()V
+HSPLcom/android/internal/os/CachedDeviceState;->getReadonlyClient()Lcom/android/internal/os/CachedDeviceState$Readonly;
+HSPLcom/android/internal/os/CachedDeviceState;->setCharging(Z)V
+HSPLcom/android/internal/os/CachedDeviceState;->setScreenInteractive(Z)V
+HSPLcom/android/internal/os/CachedDeviceState;->updateStopwatches(Z)V
+HSPLcom/android/internal/os/CameraPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
+HSPLcom/android/internal/os/ClassLoaderFactory;->createClassLoader(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/util/List;)Ljava/lang/ClassLoader;
+HSPLcom/android/internal/os/ClassLoaderFactory;->createClassLoader(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;IZLjava/lang/String;Ljava/util/List;)Ljava/lang/ClassLoader;
+HSPLcom/android/internal/os/ClassLoaderFactory;->getPathClassLoaderName()Ljava/lang/String;
 HSPLcom/android/internal/os/ClassLoaderFactory;->isPathClassLoaderName(Ljava/lang/String;)Z
 HSPLcom/android/internal/os/ClassLoaderFactory;->isValidClassLoaderName(Ljava/lang/String;)Z
+HSPLcom/android/internal/os/CpuPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
+HSPLcom/android/internal/os/FlashlightPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
 HSPLcom/android/internal/os/FuseAppLoop$1;-><init>()V
-HSPLcom/android/internal/os/HandlerCaller$Callback;->executeMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/os/HandlerCaller$MyHandler;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/os/HandlerCaller;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/internal/os/HandlerCaller$Callback;Z)V
 HSPLcom/android/internal/os/HandlerCaller;->executeOrSendMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/os/HandlerCaller;->getHandler()Landroid/os/Handler;
 HSPLcom/android/internal/os/HandlerCaller;->obtainMessage(I)Landroid/os/Message;
-HSPLcom/android/internal/os/HandlerCaller;->obtainMessageI(II)Landroid/os/Message;
-HSPLcom/android/internal/os/HandlerCaller;->obtainMessageIIOOOO(IIILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
+HSPLcom/android/internal/os/HandlerCaller;->obtainMessageIIIIII(IIIIIII)Landroid/os/Message;
 HSPLcom/android/internal/os/HandlerCaller;->obtainMessageIO(IILjava/lang/Object;)Landroid/os/Message;
+HSPLcom/android/internal/os/HandlerCaller;->obtainMessageIOO(IILjava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
 HSPLcom/android/internal/os/HandlerCaller;->obtainMessageO(ILjava/lang/Object;)Landroid/os/Message;
 HSPLcom/android/internal/os/HandlerCaller;->obtainMessageOO(ILjava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/os/HandlerCaller;->sendMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/os/IDropBoxManagerService$Stub$Proxy;->getNextEntry(Ljava/lang/String;J)Landroid/os/DropBoxManager$Entry;
+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/IDropBoxManagerService$Stub;-><init>()V
 HSPLcom/android/internal/os/IDropBoxManagerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IDropBoxManagerService;
-HSPLcom/android/internal/os/IDropBoxManagerService;->add(Landroid/os/DropBoxManager$Entry;)V
-HSPLcom/android/internal/os/IDropBoxManagerService;->getNextEntry(Ljava/lang/String;J)Landroid/os/DropBoxManager$Entry;
-HSPLcom/android/internal/os/IDropBoxManagerService;->isTagEnabled(Ljava/lang/String;)Z
 HSPLcom/android/internal/os/IResultReceiver$Stub$Proxy;->send(ILandroid/os/Bundle;)V
+HSPLcom/android/internal/os/IResultReceiver$Stub;-><init>()V
 HSPLcom/android/internal/os/IResultReceiver$Stub;->asBinder()Landroid/os/IBinder;
+HSPLcom/android/internal/os/IResultReceiver$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IResultReceiver;
 HSPLcom/android/internal/os/IResultReceiver$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/os/IResultReceiver;->send(ILandroid/os/Bundle;)V
-HSPLcom/android/internal/os/KernelCpuProcReader;-><init>(Ljava/lang/String;)V
-HSPLcom/android/internal/os/KernelCpuProcReader;->readBytes()Ljava/nio/ByteBuffer;
+HSPLcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;->close()V
+HSPLcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;->hasNextLine()Z
+HSPLcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;->nextLine()Ljava/nio/CharBuffer;
+HSPLcom/android/internal/os/KernelCpuProcStringReader;-><init>(Ljava/lang/String;)V
+HSPLcom/android/internal/os/KernelCpuProcStringReader;->asLongs(Ljava/nio/CharBuffer;[J)I
+HSPLcom/android/internal/os/KernelCpuProcStringReader;->open(Z)Lcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;
 HSPLcom/android/internal/os/KernelCpuSpeedReader;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
 HSPLcom/android/internal/os/KernelCpuSpeedReader;-><init>(II)V
 HSPLcom/android/internal/os/KernelCpuSpeedReader;->readDelta()[J
+HSPLcom/android/internal/os/KernelCpuThreadReader$FrequencyBucketCreator;-><init>([JI)V
+HSPLcom/android/internal/os/KernelCpuThreadReader$FrequencyBucketCreator;->getBucketMinFrequencies([J)[I
+HSPLcom/android/internal/os/KernelCpuThreadReader;->create(ILjava/util/function/Predicate;)Lcom/android/internal/os/KernelCpuThreadReader;
+HSPLcom/android/internal/os/KernelCpuThreadReader;->create(ILjava/util/function/Predicate;I)Lcom/android/internal/os/KernelCpuThreadReader;
+HSPLcom/android/internal/os/KernelCpuThreadReader;->setNumBuckets(I)V
+HSPLcom/android/internal/os/KernelCpuThreadReaderSettingsObserver$UidPredicate;->fromString(Ljava/lang/String;)Lcom/android/internal/os/KernelCpuThreadReaderSettingsObserver$UidPredicate;
+HSPLcom/android/internal/os/KernelCpuThreadReaderSettingsObserver;->getSettingsModifiedReader(Landroid/content/Context;)Lcom/android/internal/os/KernelCpuThreadReader;
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader;-><init>(Z)V
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader;->checkPrecondition(Lcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;)Z
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;-><init>(Z)V
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;->checkPrecondition(Lcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;)Z
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;->sumClusterTime()V
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;-><init>(Z)V
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->checkPrecondition(Lcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;)Z
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->extractClusterInfoFromProcFileFreqs()Landroid/util/IntArray;
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->perClusterTimesAvailable()Z
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->readFreqs(Lcom/android/internal/os/PowerProfile;)[J
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;->readFreqs(Ljava/lang/String;)[J
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;-><init>(Z)V
+HSPLcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
+HSPLcom/android/internal/os/KernelCpuUidTimeReader;-><init>(Lcom/android/internal/os/KernelCpuProcStringReader;Z)V
+HSPLcom/android/internal/os/KernelCpuUidTimeReader;->readDelta(Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;)V
+HSPLcom/android/internal/os/KernelCpuUidTimeReader;->setThrottle(J)V
 HSPLcom/android/internal/os/KernelMemoryBandwidthStats;-><init>()V
 HSPLcom/android/internal/os/KernelMemoryBandwidthStats;->getBandwidthEntries()Landroid/util/LongSparseLongArray;
 HSPLcom/android/internal/os/KernelMemoryBandwidthStats;->parseStats(Ljava/io/BufferedReader;)V
 HSPLcom/android/internal/os/KernelMemoryBandwidthStats;->updateStats()V
-HSPLcom/android/internal/os/KernelSingleUidTimeReader;-><init>(ILcom/android/internal/os/KernelSingleUidTimeReader$Injector;)V
-HSPLcom/android/internal/os/KernelSingleUidTimeReader;->computeDelta(I[J)[J
-HSPLcom/android/internal/os/KernelSingleUidTimeReader;->getDeltaLocked([J[J)[J
-HSPLcom/android/internal/os/KernelSingleUidTimeReader;->hasStaleData()Z
-HSPLcom/android/internal/os/KernelSingleUidTimeReader;->singleUidCpuTimesAvailable()Z
-HSPLcom/android/internal/os/KernelUidCpuActiveTimeReader;-><init>()V
-HSPLcom/android/internal/os/KernelUidCpuActiveTimeReader;->lambda$readDeltaImpl$0(Lcom/android/internal/os/KernelUidCpuActiveTimeReader;Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;Ljava/nio/IntBuffer;)V
-HSPLcom/android/internal/os/KernelUidCpuActiveTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;)V
-HSPLcom/android/internal/os/KernelUidCpuActiveTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelUidCpuTimeReaderBase$Callback;)V
-HSPLcom/android/internal/os/KernelUidCpuActiveTimeReader;->readImpl(Ljava/util/function/Consumer;)V
-HSPLcom/android/internal/os/KernelUidCpuActiveTimeReader;->sumActiveTime(Ljava/nio/IntBuffer;)D
-HSPLcom/android/internal/os/KernelUidCpuClusterTimeReader;-><init>()V
-HSPLcom/android/internal/os/KernelUidCpuClusterTimeReader;->lambda$readDeltaImpl$0(Lcom/android/internal/os/KernelUidCpuClusterTimeReader;Lcom/android/internal/os/KernelUidCpuClusterTimeReader$Callback;Ljava/nio/IntBuffer;)V
-HSPLcom/android/internal/os/KernelUidCpuClusterTimeReader;->readCoreInfo(Ljava/nio/IntBuffer;I)Z
-HSPLcom/android/internal/os/KernelUidCpuClusterTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelUidCpuClusterTimeReader$Callback;)V
-HSPLcom/android/internal/os/KernelUidCpuClusterTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelUidCpuTimeReaderBase$Callback;)V
-HSPLcom/android/internal/os/KernelUidCpuClusterTimeReader;->readImpl(Ljava/util/function/Consumer;)V
-HSPLcom/android/internal/os/KernelUidCpuClusterTimeReader;->sumClusterTime(Ljava/nio/IntBuffer;[D)Z
-HSPLcom/android/internal/os/KernelUidCpuFreqTimeReader;-><init>()V
-HSPLcom/android/internal/os/KernelUidCpuFreqTimeReader;->allUidTimesAvailable()Z
-HSPLcom/android/internal/os/KernelUidCpuFreqTimeReader;->extractClusterInfoFromProcFileFreqs()Landroid/util/IntArray;
-HSPLcom/android/internal/os/KernelUidCpuFreqTimeReader;->getAllUidCpuFreqTimeMs()Landroid/util/SparseArray;
-HSPLcom/android/internal/os/KernelUidCpuFreqTimeReader;->getFreqTimeForUid(Ljava/nio/IntBuffer;[J)Z
-HSPLcom/android/internal/os/KernelUidCpuFreqTimeReader;->lambda$readDeltaImpl$0(Lcom/android/internal/os/KernelUidCpuFreqTimeReader;Lcom/android/internal/os/KernelUidCpuFreqTimeReader$Callback;Ljava/nio/IntBuffer;)V
-HSPLcom/android/internal/os/KernelUidCpuFreqTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelUidCpuFreqTimeReader$Callback;)V
-HSPLcom/android/internal/os/KernelUidCpuFreqTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelUidCpuTimeReaderBase$Callback;)V
-HSPLcom/android/internal/os/KernelUidCpuFreqTimeReader;->readFreqs(Lcom/android/internal/os/PowerProfile;)[J
-HSPLcom/android/internal/os/KernelUidCpuFreqTimeReader;->readFreqs(Ljava/io/BufferedReader;Lcom/android/internal/os/PowerProfile;)[J
-HSPLcom/android/internal/os/KernelUidCpuFreqTimeReader;->readImpl(Ljava/util/function/Consumer;)V
-HSPLcom/android/internal/os/KernelUidCpuTimeReader;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-HSPLcom/android/internal/os/KernelUidCpuTimeReader;-><init>()V
-HSPLcom/android/internal/os/KernelUidCpuTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelUidCpuTimeReader$Callback;)V
-HSPLcom/android/internal/os/KernelUidCpuTimeReader;->readDeltaImpl(Lcom/android/internal/os/KernelUidCpuTimeReaderBase$Callback;)V
-HSPLcom/android/internal/os/KernelUidCpuTimeReaderBase;->readDelta(Lcom/android/internal/os/KernelUidCpuTimeReaderBase$Callback;)V
-HSPLcom/android/internal/os/KernelUidCpuTimeReaderBase;->setThrottleInterval(J)V
 HSPLcom/android/internal/os/KernelWakelockReader;-><init>()V
 HSPLcom/android/internal/os/KernelWakelockReader;->parseProcWakelocks([BIZLcom/android/internal/os/KernelWakelockStats;)Lcom/android/internal/os/KernelWakelockStats;
 HSPLcom/android/internal/os/KernelWakelockReader;->readKernelWakelockStats(Lcom/android/internal/os/KernelWakelockStats;)Lcom/android/internal/os/KernelWakelockStats;
 HSPLcom/android/internal/os/KernelWakelockStats;-><init>()V
+HSPLcom/android/internal/os/LoggingPrintStream;->flush()V
 HSPLcom/android/internal/os/LoggingPrintStream;->flush(Z)V
-HSPLcom/android/internal/os/LoggingPrintStream;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/os/LoggingPrintStream;->println(Ljava/lang/Object;)V
-HSPLcom/android/internal/os/LoggingPrintStream;->println(Ljava/lang/String;)V
+HSPLcom/android/internal/os/LooperStats$DispatchSession;-><init>()V
+HSPLcom/android/internal/os/LooperStats$Entry;->idFor(Landroid/os/Message;Z)I
+HSPLcom/android/internal/os/LooperStats$Entry;->reset()V
+HSPLcom/android/internal/os/LooperStats;-><init>(II)V
+HSPLcom/android/internal/os/LooperStats;->findEntry(Landroid/os/Message;Z)Lcom/android/internal/os/LooperStats$Entry;
+HSPLcom/android/internal/os/LooperStats;->getElapsedRealtimeMicro()J
+HSPLcom/android/internal/os/LooperStats;->getSystemUptimeMillis()J
+HSPLcom/android/internal/os/LooperStats;->getThreadTimeMicro()J
+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
+HSPLcom/android/internal/os/LooperStats;->setAddDebugEntries(Z)V
+HSPLcom/android/internal/os/LooperStats;->setDeviceState(Lcom/android/internal/os/CachedDeviceState$Readonly;)V
+HSPLcom/android/internal/os/LooperStats;->setSamplingInterval(I)V
+HSPLcom/android/internal/os/LooperStats;->shouldCollectDetailedData()Z
+HSPLcom/android/internal/os/MediaPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
+HSPLcom/android/internal/os/MemoryPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
+HSPLcom/android/internal/os/MobileRadioPowerCalculator;-><init>(Lcom/android/internal/os/PowerProfile;Landroid/os/BatteryStats;)V
+HSPLcom/android/internal/os/MobileRadioPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
+HSPLcom/android/internal/os/MobileRadioPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
+HSPLcom/android/internal/os/MobileRadioPowerCalculator;->getMobilePowerPerPacket(JI)D
+HSPLcom/android/internal/os/MobileRadioPowerCalculator;->reset()V
+HSPLcom/android/internal/os/MobileRadioPowerCalculator;->reset(Landroid/os/BatteryStats;)V
+HSPLcom/android/internal/os/PowerCalculator;-><init>()V
+HSPLcom/android/internal/os/PowerCalculator;->reset()V
 HSPLcom/android/internal/os/PowerProfile;-><init>(Landroid/content/Context;)V
 HSPLcom/android/internal/os/PowerProfile;-><init>(Landroid/content/Context;Z)V
 HSPLcom/android/internal/os/PowerProfile;->getAveragePower(Ljava/lang/String;)D
+HSPLcom/android/internal/os/PowerProfile;->getAveragePower(Ljava/lang/String;I)D
+HSPLcom/android/internal/os/PowerProfile;->getAveragePowerForCpuCluster(I)D
+HSPLcom/android/internal/os/PowerProfile;->getAveragePowerForCpuCore(II)D
 HSPLcom/android/internal/os/PowerProfile;->getAveragePowerOrDefault(Ljava/lang/String;D)D
 HSPLcom/android/internal/os/PowerProfile;->getBatteryCapacity()D
 HSPLcom/android/internal/os/PowerProfile;->getNumCoresInCpuCluster(I)I
 HSPLcom/android/internal/os/PowerProfile;->getNumCpuClusters()I
+HSPLcom/android/internal/os/PowerProfile;->getNumElements(Ljava/lang/String;)I
 HSPLcom/android/internal/os/PowerProfile;->getNumSpeedStepsInCpuCluster(I)I
 HSPLcom/android/internal/os/PowerProfile;->initCpuClusters()V
 HSPLcom/android/internal/os/PowerProfile;->readPowerValuesFromXml(Landroid/content/Context;Z)V
+HSPLcom/android/internal/os/ProcStatsUtil;->readTerminatedProcFile(Ljava/lang/String;B)Ljava/lang/String;
+HSPLcom/android/internal/os/ProcTimeInStateReader;->getFrequenciesKhz()[J
+HSPLcom/android/internal/os/ProcTimeInStateReader;->initializeTimeInStateFormat(Ljava/nio/file/Path;)V
 HSPLcom/android/internal/os/ProcessCpuTracker$1;-><init>()V
-HSPLcom/android/internal/os/ProcessCpuTracker$FilterStats;->needed(Lcom/android/internal/os/ProcessCpuTracker$Stats;)Z
 HSPLcom/android/internal/os/ProcessCpuTracker$Stats;-><init>(IIZ)V
 HSPLcom/android/internal/os/ProcessCpuTracker;-><init>(Z)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
 HSPLcom/android/internal/os/ProcessCpuTracker;->getName(Lcom/android/internal/os/ProcessCpuTracker$Stats;Ljava/lang/String;)V
+HSPLcom/android/internal/os/ProcessCpuTracker;->getStats(I)Lcom/android/internal/os/ProcessCpuTracker$Stats;
 HSPLcom/android/internal/os/ProcessCpuTracker;->getStats(Lcom/android/internal/os/ProcessCpuTracker$FilterStats;)Ljava/util/List;
 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
-HSPLcom/android/internal/os/ProcessCpuTracker;->readFile(Ljava/lang/String;C)Ljava/lang/String;
 HSPLcom/android/internal/os/ProcessCpuTracker;->update()V
-HSPLcom/android/internal/os/RpmStats$PowerStatePlatformSleepState;->putVoter(Ljava/lang/String;JI)V
+HSPLcom/android/internal/os/RailStats;-><init>()V
+HSPLcom/android/internal/os/RailStats;->setRailStatsAvailability(Z)V
 HSPLcom/android/internal/os/RpmStats$PowerStateSubsystem;->putState(Ljava/lang/String;JI)V
 HSPLcom/android/internal/os/RpmStats;-><init>()V
-HSPLcom/android/internal/os/RpmStats;->getAndUpdatePlatformState(Ljava/lang/String;JI)Lcom/android/internal/os/RpmStats$PowerStatePlatformSleepState;
 HSPLcom/android/internal/os/RpmStats;->getSubsystem(Ljava/lang/String;)Lcom/android/internal/os/RpmStats$PowerStateSubsystem;
-HSPLcom/android/internal/os/RuntimeInit$1;->getId()Ljava/lang/String;
 HSPLcom/android/internal/os/RuntimeInit$Arguments;->parseArgs([Ljava/lang/String;)V
 HSPLcom/android/internal/os/RuntimeInit$MethodAndArgsCaller;->run()V
 HSPLcom/android/internal/os/RuntimeInit;->applicationInit(I[Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Runnable;
 HSPLcom/android/internal/os/RuntimeInit;->commonInit()V
 HSPLcom/android/internal/os/RuntimeInit;->findStaticMain(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Runnable;
+HSPLcom/android/internal/os/RuntimeInit;->getApplicationObject()Landroid/os/IBinder;
 HSPLcom/android/internal/os/RuntimeInit;->getDefaultUserAgent()Ljava/lang/String;
 HSPLcom/android/internal/os/RuntimeInit;->redirectLogStreams()V
 HSPLcom/android/internal/os/RuntimeInit;->setApplicationObject(Landroid/os/IBinder;)V
+HSPLcom/android/internal/os/RuntimeInit;->wtf(Ljava/lang/String;Ljava/lang/Throwable;Z)V
+HSPLcom/android/internal/os/SensorPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
+HSPLcom/android/internal/os/SensorPowerCalculator;->getAverageGpsPower(Lcom/android/internal/os/PowerProfile;Landroid/os/BatteryStats;JI)D
+HSPLcom/android/internal/os/SomeArgs;->clear()V
 HSPLcom/android/internal/os/SomeArgs;->obtain()Lcom/android/internal/os/SomeArgs;
 HSPLcom/android/internal/os/SomeArgs;->recycle()V
+HSPLcom/android/internal/os/WakelockPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
+HSPLcom/android/internal/os/WakelockPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
+HSPLcom/android/internal/os/WakelockPowerCalculator;->reset()V
+HSPLcom/android/internal/os/WifiPowerCalculator;-><init>(Lcom/android/internal/os/PowerProfile;)V
+HSPLcom/android/internal/os/WifiPowerCalculator;->calculateApp(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats$Uid;JJI)V
+HSPLcom/android/internal/os/WifiPowerCalculator;->calculateRemaining(Lcom/android/internal/os/BatterySipper;Landroid/os/BatteryStats;JJI)V
+HSPLcom/android/internal/os/WifiPowerCalculator;->reset()V
+HSPLcom/android/internal/os/Zygote;->applyDebuggerSystemProperty(Lcom/android/internal/os/ZygoteArguments;)V
+HSPLcom/android/internal/os/Zygote;->applyInvokeWithSecurityPolicy(Lcom/android/internal/os/ZygoteArguments;Landroid/net/Credentials;)V
+HSPLcom/android/internal/os/Zygote;->applyInvokeWithSystemProperty(Lcom/android/internal/os/ZygoteArguments;)V
+HSPLcom/android/internal/os/Zygote;->applyUidSecurityPolicy(Lcom/android/internal/os/ZygoteArguments;Landroid/net/Credentials;)V
 HSPLcom/android/internal/os/Zygote;->callPostForkChildHooks(IZZLjava/lang/String;)V
-HSPLcom/android/internal/os/Zygote;->forkAndSpecialize(II[II[[IILjava/lang/String;Ljava/lang/String;[I[IZLjava/lang/String;Ljava/lang/String;)I
+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
+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;Ljava/lang/String;)I
+HSPLcom/android/internal/os/Zygote;->getSystemProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/os/Zygote;->getSystemPropertyBoolean(Ljava/lang/String;Ljava/lang/Boolean;)Z
+HSPLcom/android/internal/os/Zygote;->readArgumentList(Ljava/io/BufferedReader;)[Ljava/lang/String;
 HSPLcom/android/internal/os/Zygote;->resetNicePriority()V
-HSPLcom/android/internal/os/ZygoteConnection$Arguments;->parseArgs([Ljava/lang/String;)V
+HSPLcom/android/internal/os/ZygoteArguments;-><init>([Ljava/lang/String;)V
+HSPLcom/android/internal/os/ZygoteArguments;->parseArgs([Ljava/lang/String;)V
+HSPLcom/android/internal/os/ZygoteConnection$HiddenApiUsageLogger;-><init>()V
+HSPLcom/android/internal/os/ZygoteConnection$HiddenApiUsageLogger;->hiddenApiUsed(ILjava/lang/String;Ljava/lang/String;IZ)V
+HSPLcom/android/internal/os/ZygoteConnection$HiddenApiUsageLogger;->hiddenApiUsed(Ljava/lang/String;Ljava/lang/String;IZ)V
+HSPLcom/android/internal/os/ZygoteConnection$HiddenApiUsageLogger;->logUsage(Ljava/lang/String;Ljava/lang/String;IZ)V
 HSPLcom/android/internal/os/ZygoteConnection;-><init>(Landroid/net/LocalSocket;Ljava/lang/String;)V
-HSPLcom/android/internal/os/ZygoteConnection;->applyInvokeWithSystemProperty(Lcom/android/internal/os/ZygoteConnection$Arguments;)V
-HSPLcom/android/internal/os/ZygoteConnection;->applyUidSecurityPolicy(Lcom/android/internal/os/ZygoteConnection$Arguments;Landroid/net/Credentials;)V
+HSPLcom/android/internal/os/ZygoteConnection;->canPreloadApp()Z
 HSPLcom/android/internal/os/ZygoteConnection;->closeSocket()V
-HSPLcom/android/internal/os/ZygoteConnection;->getFileDesciptor()Ljava/io/FileDescriptor;
+HSPLcom/android/internal/os/ZygoteConnection;->getFileDescriptor()Ljava/io/FileDescriptor;
 HSPLcom/android/internal/os/ZygoteConnection;->handleAbiListQuery()V
-HSPLcom/android/internal/os/ZygoteConnection;->handleChildProc(Lcom/android/internal/os/ZygoteConnection$Arguments;[Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Z)Ljava/lang/Runnable;
+HSPLcom/android/internal/os/ZygoteConnection;->handleApiBlacklistExemptions(Lcom/android/internal/os/ZygoteServer;[Ljava/lang/String;)Ljava/lang/Runnable;
+HSPLcom/android/internal/os/ZygoteConnection;->handleApiBlacklistExemptions([Ljava/lang/String;)V
+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(I)V
+HSPLcom/android/internal/os/ZygoteConnection;->handleHiddenApiAccessLogSampleRate(Lcom/android/internal/os/ZygoteServer;I)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;->readArgumentList()[Ljava/lang/String;
 HSPLcom/android/internal/os/ZygoteConnection;->setChildPgid(I)V
-HSPLcom/android/internal/os/ZygoteInit;->beginIcuCachePinning()V
+HSPLcom/android/internal/os/ZygoteConnection;->stateChangeWithBlastulaPoolReset(Lcom/android/internal/os/ZygoteServer;Ljava/lang/Runnable;)Ljava/lang/Runnable;
 HSPLcom/android/internal/os/ZygoteInit;->encodeSystemServerClassPath(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/os/ZygoteInit;->forkSystemServer(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/os/ZygoteServer;)Ljava/lang/Runnable;
-HSPLcom/android/internal/os/ZygoteInit;->handleSystemServerProcess(Lcom/android/internal/os/ZygoteConnection$Arguments;)Ljava/lang/Runnable;
+HSPLcom/android/internal/os/ZygoteInit;->handleSystemServerProcess(Lcom/android/internal/os/ZygoteArguments;)Ljava/lang/Runnable;
 HSPLcom/android/internal/os/ZygoteInit;->main([Ljava/lang/String;)V
 HSPLcom/android/internal/os/ZygoteInit;->performSystemServerDexOpt(Ljava/lang/String;)V
 HSPLcom/android/internal/os/ZygoteInit;->preload(Landroid/util/TimingsTraceLog;)V
@@ -39243,15 +32916,19 @@
 HSPLcom/android/internal/os/ZygoteInit;->preloadResources()V
 HSPLcom/android/internal/os/ZygoteInit;->prepareSystemServerProfile(Ljava/lang/String;)V
 HSPLcom/android/internal/os/ZygoteInit;->warmUpJcaProviders()V
+HSPLcom/android/internal/os/ZygoteServer;-><init>(Z)V
 HSPLcom/android/internal/os/ZygoteServer;->acceptCommandPeer(Ljava/lang/String;)Lcom/android/internal/os/ZygoteConnection;
 HSPLcom/android/internal/os/ZygoteServer;->closeServerSocket()V
 HSPLcom/android/internal/os/ZygoteServer;->createNewConnection(Landroid/net/LocalSocket;Ljava/lang/String;)Lcom/android/internal/os/ZygoteConnection;
-HSPLcom/android/internal/os/ZygoteServer;->getServerSocketFileDescriptor()Ljava/io/FileDescriptor;
-HSPLcom/android/internal/os/ZygoteServer;->registerServerSocketFromEnv(Ljava/lang/String;)V
+HSPLcom/android/internal/os/ZygoteServer;->fetchBlastulaPoolPolicyProps()V
+HSPLcom/android/internal/os/ZygoteServer;->getZygoteSocketFileDescriptor()Ljava/io/FileDescriptor;
+HSPLcom/android/internal/os/ZygoteServer;->isBlastulaPoolEnabled()Z
 HSPLcom/android/internal/os/ZygoteServer;->runSelectLoop(Ljava/lang/String;)Ljava/lang/Runnable;
 HSPLcom/android/internal/os/ZygoteServer;->setForkChild()V
+HSPLcom/android/internal/policy/DecorContext;->getContentCaptureOptions()Landroid/content/ContentCaptureOptions;
 HSPLcom/android/internal/policy/DecorContext;->getResources()Landroid/content/res/Resources;
 HSPLcom/android/internal/policy/DecorContext;->getSystemService(Ljava/lang/String;)Ljava/lang/Object;
+HSPLcom/android/internal/policy/DecorContext;->isContentCaptureSupported()Z
 HSPLcom/android/internal/policy/DecorContext;->setPhoneWindow(Lcom/android/internal/policy/PhoneWindow;)V
 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
@@ -39260,37 +32937,34 @@
 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/view/DisplayListCanvas;)V
+HSPLcom/android/internal/policy/DecorView;->drawResizingShadowIfNeeded(Landroid/graphics/RecordingCanvas;)V
 HSPLcom/android/internal/policy/DecorView;->drawableChanged()V
 HSPLcom/android/internal/policy/DecorView;->enableCaption(Z)V
 HSPLcom/android/internal/policy/DecorView;->enforceNonTranslucentBackground(Landroid/graphics/drawable/Drawable;Z)Landroid/graphics/drawable/Drawable;
 HSPLcom/android/internal/policy/DecorView;->finishChanging()V
 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;->getResizingBackgroundDrawable(Landroid/content/Context;IIZ)Landroid/graphics/drawable/Drawable;
+HSPLcom/android/internal/policy/DecorView;->getAccessibilityViewId()I
 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;
 HSPLcom/android/internal/policy/DecorView;->onAttachedToWindow()V
 HSPLcom/android/internal/policy/DecorView;->onCloseSystemDialogs(Ljava/lang/String;)V
-HSPLcom/android/internal/policy/DecorView;->onConfigurationChanged(Landroid/content/res/Configuration;)V
 HSPLcom/android/internal/policy/DecorView;->onContentDrawn(IIII)Z
-HSPLcom/android/internal/policy/DecorView;->onDetachedFromWindow()V
 HSPLcom/android/internal/policy/DecorView;->onDraw(Landroid/graphics/Canvas;)V
 HSPLcom/android/internal/policy/DecorView;->onInterceptTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLcom/android/internal/policy/DecorView;->onLayout(ZIIII)V
 HSPLcom/android/internal/policy/DecorView;->onMeasure(II)V
-HSPLcom/android/internal/policy/DecorView;->onPostDraw(Landroid/view/DisplayListCanvas;)V
+HSPLcom/android/internal/policy/DecorView;->onPostDraw(Landroid/graphics/RecordingCanvas;)V
 HSPLcom/android/internal/policy/DecorView;->onResourcesLoaded(Landroid/view/LayoutInflater;I)V
 HSPLcom/android/internal/policy/DecorView;->onRootViewScrollYChanged(I)V
 HSPLcom/android/internal/policy/DecorView;->onTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLcom/android/internal/policy/DecorView;->onWindowFocusChanged(Z)V
 HSPLcom/android/internal/policy/DecorView;->onWindowSystemUiVisibilityChanged(I)V
-HSPLcom/android/internal/policy/DecorView;->releaseThreadedRenderer()V
 HSPLcom/android/internal/policy/DecorView;->sendAccessibilityEvent(I)V
-HSPLcom/android/internal/policy/DecorView;->setBackgroundFallback(I)V
 HSPLcom/android/internal/policy/DecorView;->setColor(Landroid/view/View;IIZZ)V
 HSPLcom/android/internal/policy/DecorView;->setFrame(IIII)Z
 HSPLcom/android/internal/policy/DecorView;->setWindow(Lcom/android/internal/policy/PhoneWindow;)V
@@ -39302,6 +32976,7 @@
 HSPLcom/android/internal/policy/DecorView;->updateColorViewInt(Lcom/android/internal/policy/DecorView$ColorViewState;IIIIZZIZZ)V
 HSPLcom/android/internal/policy/DecorView;->updateColorViewTranslations()V
 HSPLcom/android/internal/policy/DecorView;->updateColorViews(Landroid/view/WindowInsets;Z)Landroid/view/WindowInsets;
+HSPLcom/android/internal/policy/DecorView;->updateDecorCaptionStatus(Landroid/content/res/Configuration;)V
 HSPLcom/android/internal/policy/DecorView;->updateElevation()V
 HSPLcom/android/internal/policy/DecorView;->updateLogTag(Landroid/view/WindowManager$LayoutParams;)V
 HSPLcom/android/internal/policy/DecorView;->updateStatusGuard(Landroid/view/WindowInsets;)Landroid/view/WindowInsets;
@@ -39313,8 +32988,6 @@
 HSPLcom/android/internal/policy/DividerSnapAlgorithm;->calculateTargets(ZI)V
 HSPLcom/android/internal/policy/IKeyguardDrawnCallback$Stub;-><init>()V
 HSPLcom/android/internal/policy/IKeyguardDrawnCallback$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/policy/IKeyguardDrawnCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/policy/IKeyguardDrawnCallback;->onDrawn()V
 HSPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->addStateMonitorCallback(Lcom/android/internal/policy/IKeyguardStateCallback;)V
 HSPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onBootCompleted()V
 HSPLcom/android/internal/policy/IKeyguardService$Stub$Proxy;->onScreenTurnedOn()V
@@ -39325,48 +32998,40 @@
 HSPLcom/android/internal/policy/IKeyguardStateCallback$Stub;-><init>()V
 HSPLcom/android/internal/policy/IKeyguardStateCallback$Stub;->asBinder()Landroid/os/IBinder;
 HSPLcom/android/internal/policy/IKeyguardStateCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/policy/IKeyguardStateCallback;->onHasLockscreenWallpaperChanged(Z)V
-HSPLcom/android/internal/policy/IKeyguardStateCallback;->onInputRestrictedStateChanged(Z)V
-HSPLcom/android/internal/policy/IKeyguardStateCallback;->onShowingStateChanged(Z)V
-HSPLcom/android/internal/policy/IKeyguardStateCallback;->onSimSecureStateChanged(Z)V
-HSPLcom/android/internal/policy/IKeyguardStateCallback;->onTrustedChanged(Z)V
 HSPLcom/android/internal/policy/IShortcutService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/policy/IShortcutService;
-HSPLcom/android/internal/policy/IShortcutService;->notifyShortcutKeyPressed(J)V
-HSPLcom/android/internal/policy/PhoneFallbackEventHandler;->dispatchKeyEvent(Landroid/view/KeyEvent;)Z
 HSPLcom/android/internal/policy/PhoneFallbackEventHandler;->getAudioManager()Landroid/media/AudioManager;
-HSPLcom/android/internal/policy/PhoneFallbackEventHandler;->onKeyDown(ILandroid/view/KeyEvent;)Z
-HSPLcom/android/internal/policy/PhoneFallbackEventHandler;->onKeyUp(ILandroid/view/KeyEvent;)Z
 HSPLcom/android/internal/policy/PhoneFallbackEventHandler;->preDispatchKeyEvent(Landroid/view/KeyEvent;)V
 HSPLcom/android/internal/policy/PhoneFallbackEventHandler;->setView(Landroid/view/View;)V
 HSPLcom/android/internal/policy/PhoneLayoutInflater;-><init>(Landroid/content/Context;)V
 HSPLcom/android/internal/policy/PhoneLayoutInflater;->cloneInContext(Landroid/content/Context;)Landroid/view/LayoutInflater;
 HSPLcom/android/internal/policy/PhoneLayoutInflater;->onCreateView(Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/view/View;
+HSPLcom/android/internal/policy/PhoneWindow$1;->run()V
+HSPLcom/android/internal/policy/PhoneWindow$PanelFeatureState$SavedState$1;-><init>()V
+HSPLcom/android/internal/policy/PhoneWindow$PanelFeatureState$SavedState;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLcom/android/internal/policy/PhoneWindow$PanelFeatureState;->onSaveInstanceState()Landroid/os/Parcelable;
 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
 HSPLcom/android/internal/policy/PhoneWindow;->dispatchWindowAttributesChanged(Landroid/view/WindowManager$LayoutParams;)V
+HSPLcom/android/internal/policy/PhoneWindow;->doInvalidatePanelMenu(I)V
 HSPLcom/android/internal/policy/PhoneWindow;->generateDecor(I)Lcom/android/internal/policy/DecorView;
 HSPLcom/android/internal/policy/PhoneWindow;->generateLayout(Lcom/android/internal/policy/DecorView;)Landroid/view/ViewGroup;
-HSPLcom/android/internal/policy/PhoneWindow;->getCurrentFocus()Landroid/view/View;
 HSPLcom/android/internal/policy/PhoneWindow;->getDecorView()Landroid/view/View;
 HSPLcom/android/internal/policy/PhoneWindow;->getLayoutInflater()Landroid/view/LayoutInflater;
 HSPLcom/android/internal/policy/PhoneWindow;->getNavigationBarColor()I
+HSPLcom/android/internal/policy/PhoneWindow;->getNavigationBarDividerColor()I
 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;->getStatusBarColor()I
 HSPLcom/android/internal/policy/PhoneWindow;->getTransition(Landroid/transition/Transition;Landroid/transition/Transition;I)Landroid/transition/Transition;
-HSPLcom/android/internal/policy/PhoneWindow;->getTransitionBackgroundFadeDuration()J
-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;->onConfigurationChanged(Landroid/content/res/Configuration;)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
@@ -39376,23 +33041,16 @@
 HSPLcom/android/internal/policy/PhoneWindow;->restoreHierarchyState(Landroid/os/Bundle;)V
 HSPLcom/android/internal/policy/PhoneWindow;->saveHierarchyState()Landroid/os/Bundle;
 HSPLcom/android/internal/policy/PhoneWindow;->setAttributes(Landroid/view/WindowManager$LayoutParams;)V
-HSPLcom/android/internal/policy/PhoneWindow;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLcom/android/internal/policy/PhoneWindow;->setCloseOnSwipeEnabled(Z)V
 HSPLcom/android/internal/policy/PhoneWindow;->setContentView(I)V
 HSPLcom/android/internal/policy/PhoneWindow;->setContentView(Landroid/view/View;)V
 HSPLcom/android/internal/policy/PhoneWindow;->setContentView(Landroid/view/View;Landroid/view/ViewGroup$LayoutParams;)V
 HSPLcom/android/internal/policy/PhoneWindow;->setDefaultWindowFormat(I)V
-HSPLcom/android/internal/policy/PhoneWindow;->setMediaController(Landroid/media/session/MediaController;)V
 HSPLcom/android/internal/policy/PhoneWindow;->setNavigationBarColor(I)V
-HSPLcom/android/internal/policy/PhoneWindow;->setNavigationBarDividerColor(I)V
-HSPLcom/android/internal/policy/PhoneWindow;->setSharedElementExitTransition(Landroid/transition/Transition;)V
-HSPLcom/android/internal/policy/PhoneWindow;->setSharedElementReenterTransition(Landroid/transition/Transition;)V
 HSPLcom/android/internal/policy/PhoneWindow;->setStatusBarColor(I)V
 HSPLcom/android/internal/policy/PhoneWindow;->setTheme(I)V
 HSPLcom/android/internal/policy/PhoneWindow;->setTitle(Ljava/lang/CharSequence;)V
 HSPLcom/android/internal/policy/PhoneWindow;->setTitle(Ljava/lang/CharSequence;Z)V
 HSPLcom/android/internal/policy/PhoneWindow;->setTitleColor(I)V
-HSPLcom/android/internal/policy/PhoneWindow;->setVolumeControlStream(I)V
 HSPLcom/android/internal/policy/PhoneWindow;->superDispatchKeyEvent(Landroid/view/KeyEvent;)Z
 HSPLcom/android/internal/policy/PhoneWindow;->superDispatchTouchEvent(Landroid/view/MotionEvent;)Z
 HSPLcom/android/internal/policy/PipSnapAlgorithm;-><init>(Landroid/content/Context;)V
@@ -39403,249 +33061,83 @@
 HSPLcom/android/internal/policy/PipSnapAlgorithm;->getSnapFraction(Landroid/graphics/Rect;Landroid/graphics/Rect;)F
 HSPLcom/android/internal/policy/PipSnapAlgorithm;->onConfigurationChanged()V
 HSPLcom/android/internal/policy/PipSnapAlgorithm;->snapRectToClosestEdge(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionStarting(JJ)V
+HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->appTransitionFinished(I)V
 HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->disable(II)V
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setSystemUiVisibility(IIIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
+HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->disable(III)V
+HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setSystemUiVisibility(IIIIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
 HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->setTopAppHidesStatusBar(Z)V
-HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->topAppWindowChanged(Z)V
-HSPLcom/android/internal/statusbar/IStatusBar;->addQsTile(Landroid/content/ComponentName;)V
-HSPLcom/android/internal/statusbar/IStatusBar;->animateCollapsePanels()V
-HSPLcom/android/internal/statusbar/IStatusBar;->animateExpandNotificationsPanel()V
-HSPLcom/android/internal/statusbar/IStatusBar;->animateExpandSettingsPanel(Ljava/lang/String;)V
-HSPLcom/android/internal/statusbar/IStatusBar;->appTransitionCancelled()V
-HSPLcom/android/internal/statusbar/IStatusBar;->appTransitionFinished()V
-HSPLcom/android/internal/statusbar/IStatusBar;->appTransitionPending()V
-HSPLcom/android/internal/statusbar/IStatusBar;->appTransitionStarting(JJ)V
-HSPLcom/android/internal/statusbar/IStatusBar;->cancelPreloadRecentApps()V
-HSPLcom/android/internal/statusbar/IStatusBar;->clickQsTile(Landroid/content/ComponentName;)V
-HSPLcom/android/internal/statusbar/IStatusBar;->disable(II)V
-HSPLcom/android/internal/statusbar/IStatusBar;->dismissKeyboardShortcutsMenu()V
-HSPLcom/android/internal/statusbar/IStatusBar;->handleSystemKey(I)V
-HSPLcom/android/internal/statusbar/IStatusBar;->hideFingerprintDialog()V
-HSPLcom/android/internal/statusbar/IStatusBar;->hideRecentApps(ZZ)V
-HSPLcom/android/internal/statusbar/IStatusBar;->onCameraLaunchGestureDetected(I)V
-HSPLcom/android/internal/statusbar/IStatusBar;->onFingerprintAuthenticated()V
-HSPLcom/android/internal/statusbar/IStatusBar;->onFingerprintError(Ljava/lang/String;)V
-HSPLcom/android/internal/statusbar/IStatusBar;->onFingerprintHelp(Ljava/lang/String;)V
-HSPLcom/android/internal/statusbar/IStatusBar;->onProposedRotationChanged(IZ)V
-HSPLcom/android/internal/statusbar/IStatusBar;->preloadRecentApps()V
-HSPLcom/android/internal/statusbar/IStatusBar;->remQsTile(Landroid/content/ComponentName;)V
-HSPLcom/android/internal/statusbar/IStatusBar;->removeIcon(Ljava/lang/String;)V
-HSPLcom/android/internal/statusbar/IStatusBar;->setIcon(Ljava/lang/String;Lcom/android/internal/statusbar/StatusBarIcon;)V
-HSPLcom/android/internal/statusbar/IStatusBar;->setImeWindowStatus(Landroid/os/IBinder;IIZ)V
-HSPLcom/android/internal/statusbar/IStatusBar;->setSystemUiVisibility(IIIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/internal/statusbar/IStatusBar;->setTopAppHidesStatusBar(Z)V
-HSPLcom/android/internal/statusbar/IStatusBar;->setWindowState(II)V
-HSPLcom/android/internal/statusbar/IStatusBar;->showAssistDisclosure()V
-HSPLcom/android/internal/statusbar/IStatusBar;->showFingerprintDialog(Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricPromptReceiver;)V
-HSPLcom/android/internal/statusbar/IStatusBar;->showGlobalActionsMenu()V
-HSPLcom/android/internal/statusbar/IStatusBar;->showPictureInPictureMenu()V
-HSPLcom/android/internal/statusbar/IStatusBar;->showPinningEnterExitToast(Z)V
-HSPLcom/android/internal/statusbar/IStatusBar;->showPinningEscapeToast()V
-HSPLcom/android/internal/statusbar/IStatusBar;->showRecentApps(Z)V
-HSPLcom/android/internal/statusbar/IStatusBar;->showScreenPinningRequest(I)V
-HSPLcom/android/internal/statusbar/IStatusBar;->showShutdownUi(ZLjava/lang/String;)V
-HSPLcom/android/internal/statusbar/IStatusBar;->showWirelessChargingAnimation(I)V
-HSPLcom/android/internal/statusbar/IStatusBar;->startAssist(Landroid/os/Bundle;)V
-HSPLcom/android/internal/statusbar/IStatusBar;->toggleKeyboardShortcutsMenu(I)V
-HSPLcom/android/internal/statusbar/IStatusBar;->togglePanel()V
-HSPLcom/android/internal/statusbar/IStatusBar;->toggleRecentApps()V
-HSPLcom/android/internal/statusbar/IStatusBar;->toggleSplitScreen()V
-HSPLcom/android/internal/statusbar/IStatusBar;->topAppWindowChanged(Z)V
+HSPLcom/android/internal/statusbar/IStatusBar$Stub$Proxy;->topAppWindowChanged(IZ)V
 HSPLcom/android/internal/statusbar/IStatusBarService$Stub;-><init>()V
 HSPLcom/android/internal/statusbar/IStatusBarService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/statusbar/IStatusBarService;
 HSPLcom/android/internal/statusbar/IStatusBarService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/statusbar/IStatusBarService;->addTile(Landroid/content/ComponentName;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->clearNotificationEffects()V
-HSPLcom/android/internal/statusbar/IStatusBarService;->clickTile(Landroid/content/ComponentName;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->collapsePanels()V
-HSPLcom/android/internal/statusbar/IStatusBarService;->disable(ILandroid/os/IBinder;Ljava/lang/String;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->disable2(ILandroid/os/IBinder;Ljava/lang/String;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->disable2ForUser(ILandroid/os/IBinder;Ljava/lang/String;I)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->disableForUser(ILandroid/os/IBinder;Ljava/lang/String;I)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->expandNotificationsPanel()V
-HSPLcom/android/internal/statusbar/IStatusBarService;->expandSettingsPanel(Ljava/lang/String;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->handleSystemKey(I)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->hideFingerprintDialog()V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onClearAllNotifications(I)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onFingerprintAuthenticated()V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onFingerprintError(Ljava/lang/String;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onFingerprintHelp(Ljava/lang/String;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onGlobalActionsHidden()V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onGlobalActionsShown()V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onNotificationActionClick(Ljava/lang/String;ILcom/android/internal/statusbar/NotificationVisibility;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onNotificationClear(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILcom/android/internal/statusbar/NotificationVisibility;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onNotificationClick(Ljava/lang/String;Lcom/android/internal/statusbar/NotificationVisibility;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onNotificationDirectReplied(Ljava/lang/String;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onNotificationError(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;I)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onNotificationExpansionChanged(Ljava/lang/String;ZZ)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onNotificationSettingsViewed(Ljava/lang/String;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onNotificationSmartRepliesAdded(Ljava/lang/String;I)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onNotificationSmartReplySent(Ljava/lang/String;I)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onNotificationVisibilityChanged([Lcom/android/internal/statusbar/NotificationVisibility;[Lcom/android/internal/statusbar/NotificationVisibility;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onPanelHidden()V
-HSPLcom/android/internal/statusbar/IStatusBarService;->onPanelRevealed(ZI)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->reboot(Z)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->registerStatusBar(Lcom/android/internal/statusbar/IStatusBar;Ljava/util/List;Ljava/util/List;[ILjava/util/List;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->remTile(Landroid/content/ComponentName;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->removeIcon(Ljava/lang/String;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->setIcon(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->setIconVisibility(Ljava/lang/String;Z)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->setImeWindowStatus(Landroid/os/IBinder;IIZ)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->setSystemUiVisibility(IILjava/lang/String;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->showFingerprintDialog(Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricPromptReceiver;)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->showPinningEnterExitToast(Z)V
-HSPLcom/android/internal/statusbar/IStatusBarService;->showPinningEscapeToast()V
-HSPLcom/android/internal/statusbar/IStatusBarService;->shutdown()V
-HSPLcom/android/internal/statusbar/IStatusBarService;->togglePanel()V
-HSPLcom/android/internal/telecom/ICallScreeningAdapter$Stub$Proxy;->allowCall(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/ICallScreeningAdapter;->allowCall(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/ICallScreeningAdapter;->disallowCall(Ljava/lang/String;ZZZ)V
-HSPLcom/android/internal/telecom/ICallScreeningService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telecom/ICallScreeningService;->screenCall(Lcom/android/internal/telecom/ICallScreeningAdapter;Landroid/telecom/ParcelableCall;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->answerCall(Ljava/lang/String;I)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->conference(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->deflectCall(Ljava/lang/String;Landroid/net/Uri;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->disconnectCall(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->handoverTo(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;ILandroid/os/Bundle;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->holdCall(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->mergeConference(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->mute(Z)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->phoneAccountSelected(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;Z)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->playDtmfTone(Ljava/lang/String;C)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->postDialContinue(Ljava/lang/String;Z)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->pullExternalCall(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->putExtras(Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->rejectCall(Ljava/lang/String;ZLjava/lang/String;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->removeExtras(Ljava/lang/String;Ljava/util/List;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->respondToRttRequest(Ljava/lang/String;IZ)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->sendCallEvent(Ljava/lang/String;Ljava/lang/String;ILandroid/os/Bundle;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->sendRttRequest(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->setAudioRoute(ILjava/lang/String;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->setRttMode(Ljava/lang/String;I)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->splitFromConference(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->stopDtmfTone(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->stopRtt(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->swapConference(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->turnOffProximitySensor(Z)V
-HSPLcom/android/internal/telecom/IInCallAdapter;->turnOnProximitySensor()V
-HSPLcom/android/internal/telecom/IInCallAdapter;->unholdCall(Ljava/lang/String;)V
+HSPLcom/android/internal/telecom/IInCallService$Stub;-><init>()V
 HSPLcom/android/internal/telecom/IInCallService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telecom/IInCallService;->addCall(Landroid/telecom/ParcelableCall;)V
-HSPLcom/android/internal/telecom/IInCallService;->bringToForeground(Z)V
-HSPLcom/android/internal/telecom/IInCallService;->onCallAudioStateChanged(Landroid/telecom/CallAudioState;)V
-HSPLcom/android/internal/telecom/IInCallService;->onCanAddCallChanged(Z)V
-HSPLcom/android/internal/telecom/IInCallService;->onConnectionEvent(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLcom/android/internal/telecom/IInCallService;->onHandoverComplete(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/IInCallService;->onHandoverFailed(Ljava/lang/String;I)V
-HSPLcom/android/internal/telecom/IInCallService;->onRttInitiationFailure(Ljava/lang/String;I)V
-HSPLcom/android/internal/telecom/IInCallService;->onRttUpgradeRequest(Ljava/lang/String;I)V
-HSPLcom/android/internal/telecom/IInCallService;->setInCallAdapter(Lcom/android/internal/telecom/IInCallAdapter;)V
-HSPLcom/android/internal/telecom/IInCallService;->setPostDial(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/IInCallService;->setPostDialWait(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/IInCallService;->silenceRinger()V
-HSPLcom/android/internal/telecom/IInCallService;->updateCall(Landroid/telecom/ParcelableCall;)V
+HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->cancelMissedCallsNotification(Ljava/lang/String;)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
 HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getDefaultDialerPackage()Ljava/lang/String;
 HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getDefaultOutgoingPhoneAccount(Ljava/lang/String;Ljava/lang/String;)Landroid/telecom/PhoneAccountHandle;
 HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getPhoneAccount(Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/PhoneAccount;
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getSimCallManager()Landroid/telecom/PhoneAccountHandle;
 HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getSystemDialerPackage()Ljava/lang/String;
-HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getUserSelectedOutgoingPhoneAccount()Landroid/telecom/PhoneAccountHandle;
+HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getUserSelectedOutgoingPhoneAccount(Ljava/lang/String;)Landroid/telecom/PhoneAccountHandle;
 HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->getVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isInCall(Ljava/lang/String;)Z
 HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isInManagedCall(Ljava/lang/String;)Z
+HSPLcom/android/internal/telecom/ITelecomService$Stub$Proxy;->isTtySupported(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;->placeCall(Landroid/net/Uri;Landroid/os/Bundle;Ljava/lang/String;)V
 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;
 HSPLcom/android/internal/telecom/ITelecomService$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telecom/ITelecomService;->acceptHandover(Landroid/net/Uri;ILandroid/telecom/PhoneAccountHandle;)V
-HSPLcom/android/internal/telecom/ITelecomService;->acceptRingingCall(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/ITelecomService;->acceptRingingCallWithVideoState(Ljava/lang/String;I)V
-HSPLcom/android/internal/telecom/ITelecomService;->addNewIncomingCall(Landroid/telecom/PhoneAccountHandle;Landroid/os/Bundle;)V
-HSPLcom/android/internal/telecom/ITelecomService;->addNewUnknownCall(Landroid/telecom/PhoneAccountHandle;Landroid/os/Bundle;)V
-HSPLcom/android/internal/telecom/ITelecomService;->cancelMissedCallsNotification(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/ITelecomService;->clearAccounts(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/ITelecomService;->createManageBlockedNumbersIntent()Landroid/content/Intent;
-HSPLcom/android/internal/telecom/ITelecomService;->dumpCallAnalytics()Landroid/telecom/TelecomAnalytics;
-HSPLcom/android/internal/telecom/ITelecomService;->enablePhoneAccount(Landroid/telecom/PhoneAccountHandle;Z)Z
-HSPLcom/android/internal/telecom/ITelecomService;->endCall(Ljava/lang/String;)Z
-HSPLcom/android/internal/telecom/ITelecomService;->getAdnUriForPhoneAccount(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;)Landroid/net/Uri;
-HSPLcom/android/internal/telecom/ITelecomService;->getAllPhoneAccountHandles()Ljava/util/List;
-HSPLcom/android/internal/telecom/ITelecomService;->getAllPhoneAccounts()Ljava/util/List;
-HSPLcom/android/internal/telecom/ITelecomService;->getAllPhoneAccountsCount()I
-HSPLcom/android/internal/telecom/ITelecomService;->getCallCapablePhoneAccounts(ZLjava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telecom/ITelecomService;->getCallState()I
-HSPLcom/android/internal/telecom/ITelecomService;->getCurrentTtyMode(Ljava/lang/String;)I
-HSPLcom/android/internal/telecom/ITelecomService;->getDefaultDialerPackage()Ljava/lang/String;
-HSPLcom/android/internal/telecom/ITelecomService;->getDefaultOutgoingPhoneAccount(Ljava/lang/String;Ljava/lang/String;)Landroid/telecom/PhoneAccountHandle;
-HSPLcom/android/internal/telecom/ITelecomService;->getDefaultPhoneApp()Landroid/content/ComponentName;
-HSPLcom/android/internal/telecom/ITelecomService;->getLine1Number(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telecom/ITelecomService;->getPhoneAccount(Landroid/telecom/PhoneAccountHandle;)Landroid/telecom/PhoneAccount;
-HSPLcom/android/internal/telecom/ITelecomService;->getPhoneAccountsForPackage(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telecom/ITelecomService;->getPhoneAccountsSupportingScheme(Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telecom/ITelecomService;->getSelfManagedPhoneAccounts(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telecom/ITelecomService;->getSimCallManager()Landroid/telecom/PhoneAccountHandle;
-HSPLcom/android/internal/telecom/ITelecomService;->getSimCallManagerForUser(I)Landroid/telecom/PhoneAccountHandle;
-HSPLcom/android/internal/telecom/ITelecomService;->getSystemDialerPackage()Ljava/lang/String;
-HSPLcom/android/internal/telecom/ITelecomService;->getUserSelectedOutgoingPhoneAccount()Landroid/telecom/PhoneAccountHandle;
-HSPLcom/android/internal/telecom/ITelecomService;->getVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telecom/ITelecomService;->handlePinMmi(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telecom/ITelecomService;->handlePinMmiForPhoneAccount(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telecom/ITelecomService;->isInCall(Ljava/lang/String;)Z
-HSPLcom/android/internal/telecom/ITelecomService;->isInManagedCall(Ljava/lang/String;)Z
-HSPLcom/android/internal/telecom/ITelecomService;->isIncomingCallPermitted(Landroid/telecom/PhoneAccountHandle;)Z
-HSPLcom/android/internal/telecom/ITelecomService;->isOutgoingCallPermitted(Landroid/telecom/PhoneAccountHandle;)Z
-HSPLcom/android/internal/telecom/ITelecomService;->isRinging(Ljava/lang/String;)Z
-HSPLcom/android/internal/telecom/ITelecomService;->isTtySupported(Ljava/lang/String;)Z
-HSPLcom/android/internal/telecom/ITelecomService;->isVoiceMailNumber(Landroid/telecom/PhoneAccountHandle;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telecom/ITelecomService;->placeCall(Landroid/net/Uri;Landroid/os/Bundle;Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/ITelecomService;->registerPhoneAccount(Landroid/telecom/PhoneAccount;)V
-HSPLcom/android/internal/telecom/ITelecomService;->setDefaultDialer(Ljava/lang/String;)Z
-HSPLcom/android/internal/telecom/ITelecomService;->setUserSelectedOutgoingPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
-HSPLcom/android/internal/telecom/ITelecomService;->showInCallScreen(ZLjava/lang/String;)V
-HSPLcom/android/internal/telecom/ITelecomService;->silenceRinger(Ljava/lang/String;)V
-HSPLcom/android/internal/telecom/ITelecomService;->unregisterPhoneAccount(Landroid/telecom/PhoneAccountHandle;)V
-HSPLcom/android/internal/telecom/ITelecomService;->waitOnHandlers()V
-HSPLcom/android/internal/telecom/IVideoCallback;->changeCallDataUsage(J)V
-HSPLcom/android/internal/telecom/IVideoCallback;->changeCameraCapabilities(Landroid/telecom/VideoProfile$CameraCapabilities;)V
-HSPLcom/android/internal/telecom/IVideoCallback;->changePeerDimensions(II)V
-HSPLcom/android/internal/telecom/IVideoCallback;->changeVideoQuality(I)V
-HSPLcom/android/internal/telecom/IVideoCallback;->handleCallSessionEvent(I)V
-HSPLcom/android/internal/telecom/IVideoCallback;->receiveSessionModifyRequest(Landroid/telecom/VideoProfile;)V
-HSPLcom/android/internal/telecom/IVideoCallback;->receiveSessionModifyResponse(ILandroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-HSPLcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->addVideoCallback(Landroid/os/IBinder;)V
-HSPLcom/android/internal/telecom/IVideoProvider$Stub$Proxy;->asBinder()Landroid/os/IBinder;
 HSPLcom/android/internal/telecom/IVideoProvider$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/IVideoProvider;
-HSPLcom/android/internal/telecom/IVideoProvider;->addVideoCallback(Landroid/os/IBinder;)V
-HSPLcom/android/internal/telecom/IVideoProvider;->removeVideoCallback(Landroid/os/IBinder;)V
-HSPLcom/android/internal/telecom/IVideoProvider;->requestCallDataUsage()V
-HSPLcom/android/internal/telecom/IVideoProvider;->requestCameraCapabilities()V
-HSPLcom/android/internal/telecom/IVideoProvider;->sendSessionModifyRequest(Landroid/telecom/VideoProfile;Landroid/telecom/VideoProfile;)V
-HSPLcom/android/internal/telecom/IVideoProvider;->sendSessionModifyResponse(Landroid/telecom/VideoProfile;)V
-HSPLcom/android/internal/telecom/IVideoProvider;->setCamera(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/internal/telecom/IVideoProvider;->setDeviceOrientation(I)V
-HSPLcom/android/internal/telecom/IVideoProvider;->setDisplaySurface(Landroid/view/Surface;)V
-HSPLcom/android/internal/telecom/IVideoProvider;->setPauseImage(Landroid/net/Uri;)V
-HSPLcom/android/internal/telecom/IVideoProvider;->setPreviewSurface(Landroid/view/Surface;)V
-HSPLcom/android/internal/telecom/IVideoProvider;->setZoom(F)V
+HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$2WGP2Bp11k7_Xwi1N4YefElOUuM;-><init>()V
+HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$2WGP2Bp11k7_Xwi1N4YefElOUuM;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$8HFbCDJDN1mrLJG980qYH5MGqMk;-><init>()V
+HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$8HFbCDJDN1mrLJG980qYH5MGqMk;->checkPermission(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$AjZFvwh3Ujx5W3fleFNksc6bLf0;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$P0j9hvO3e-UE9_1i1QM_ujl8Bpo;-><init>()V
+HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$P0j9hvO3e-UE9_1i1QM_ujl8Bpo;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$U28a_EGx2cvmQhDfRRgonMt5Zrc;-><init>()V
+HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$U28a_EGx2cvmQhDfRRgonMt5Zrc;->checkPermission(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$bWluhZvk2X-dQ0UidKfdpd0kwuw;-><init>()V
+HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$bWluhZvk2X-dQ0UidKfdpd0kwuw;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$hh4N6_N4-PPm_vWjCdCRvS8--Cw;-><init>()V
+HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$hh4N6_N4-PPm_vWjCdCRvS8--Cw;->callMethod(Lcom/android/internal/telephony/Phone;)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$qSXnUMuIwAZ0TQjtyVEfznh1w8o;-><init>()V
+HSPLcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$qSXnUMuIwAZ0TQjtyVEfznh1w8o;->checkPermission(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/-$$Lambda$RILRequest$VaC9ddQXT8qxCl7rcNKtUadFQoI;-><init>()V
+HSPLcom/android/internal/telephony/-$$Lambda$RILRequest$VaC9ddQXT8qxCl7rcNKtUadFQoI;->applyAsInt(I)I
 HSPLcom/android/internal/telephony/-$$Lambda$SubscriptionController$Nt_ojdeqo4C2mbuwymYLvwgOLGo;-><init>()V
+HSPLcom/android/internal/telephony/-$$Lambda$SubscriptionController$VCQsMNqRHpN3RyoXYzh2YUwA2yc;->test(Ljava/lang/Object;)Z
+HSPLcom/android/internal/telephony/-$$Lambda$SubscriptionController$u5xE-urXR6ElZ50305_6guo20Fc;-><init>()V
+HSPLcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$-zZXM9oMRZ3vZz7dJOG19J00Bmw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$D5yF1HbS4cvCyoAj3FESkPtA_0g;-><init>()V
+HSPLcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$D5yF1HbS4cvCyoAj3FESkPtA_0g;->test(Ljava/lang/Object;)Z
+HSPLcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$MMx9iQX0JVqqMPLTUZhdBubFSzU;->accept(Ljava/lang/Object;)V
+HSPLcom/android/internal/telephony/-$$Lambda$TelephonyComponentFactory$InjectedComponents$JvIoCy0AgfF5fVN1H6UnTpH4kxc;->accept(Ljava/lang/Object;)V
+HSPLcom/android/internal/telephony/-$$Lambda$TelephonyComponentFactory$InjectedComponents$tidvzo4mrKSDaluwYNp7qAWJEV8;->accept(Ljava/lang/Object;)V
 HSPLcom/android/internal/telephony/-$$Lambda$TelephonyPermissions$LxEEC4irBSbjD1lSC4EeVLgFY9I;-><init>()V
+HSPLcom/android/internal/telephony/-$$Lambda$UV1wDVoVlbcxpr8zevj_aMFtUGw;-><init>()V
+HSPLcom/android/internal/telephony/-$$Lambda$UV1wDVoVlbcxpr8zevj_aMFtUGw;->applyAsInt(Ljava/lang/Object;)I
+HSPLcom/android/internal/telephony/-$$Lambda$WWHOcG5P4-jgjzPPgLwm-wN15OM;-><init>()V
+HSPLcom/android/internal/telephony/-$$Lambda$WWHOcG5P4-jgjzPPgLwm-wN15OM;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/internal/telephony/AppSmsManager;-><init>(Landroid/content/Context;)V
 HSPLcom/android/internal/telephony/BaseCommands;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/BaseCommands;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
+HSPLcom/android/internal/telephony/BaseCommands;->getLteOnCdmaMode()I
+HSPLcom/android/internal/telephony/BaseCommands;->getRadioState()I
 HSPLcom/android/internal/telephony/BaseCommands;->getRilVersion()I
 HSPLcom/android/internal/telephony/BaseCommands;->registerForAvailable(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/BaseCommands;->registerForCallStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/BaseCommands;->registerForCallWaitingInfo(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/BaseCommands;->registerForCdmaOtaProvision(Landroid/os/Handler;ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/BaseCommands;->registerForCdmaPrlChanged(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/BaseCommands;->registerForCdmaSubscriptionChanged(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/BaseCommands;->registerForCellInfoList(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/BaseCommands;->registerForDataCallListChanged(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/BaseCommands;->registerForDisplayInfo(Landroid/os/Handler;ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/BaseCommands;->registerForEmergencyNumberList(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/BaseCommands;->registerForExitEmergencyCallbackMode(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/BaseCommands;->registerForHardwareConfigChanged(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/BaseCommands;->registerForIccRefresh(Landroid/os/Handler;ILjava/lang/Object;)V
@@ -39690,17 +33182,22 @@
 HSPLcom/android/internal/telephony/BaseCommands;->setOnSuppServiceNotification(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/BaseCommands;->setOnUSSD(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/BaseCommands;->setOnUnsolOemHookRaw(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/BaseCommands;->setRadioState(Lcom/android/internal/telephony/CommandsInterface$RadioState;)V
+HSPLcom/android/internal/telephony/BaseCommands;->setRadioState(IZ)V
 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
+HSPLcom/android/internal/telephony/BaseCommands;->unregisterForLceInfo(Landroid/os/Handler;)V
+HSPLcom/android/internal/telephony/BaseCommands;->unregisterForNattKeepaliveStatus(Landroid/os/Handler;)V
+HSPLcom/android/internal/telephony/Call$HoldingRequestState;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/internal/telephony/Call$SrvccState;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/internal/telephony/Call$State;-><init>(Ljava/lang/String;I)V
 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;
 HSPLcom/android/internal/telephony/Call;->getState()Lcom/android/internal/telephony/Call$State;
 HSPLcom/android/internal/telephony/Call;->isIdle()Z
 HSPLcom/android/internal/telephony/Call;->isRinging()Z
+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
 HSPLcom/android/internal/telephony/CallManager;->getInstance()Lcom/android/internal/telephony/CallManager;
@@ -39710,17 +33207,16 @@
 HSPLcom/android/internal/telephony/CallManager;->registerForInCallVoicePrivacyOn(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/CallManager;->registerForMmiComplete(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/CallManager;->registerForPhoneStates(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/CallManager;->registerForPreciseCallStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/CallManager;->registerForSignalInfo(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/CallManager;->registerForSuppServiceFailed(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/CallManager;->registerForTtyModeReceived(Landroid/os/Handler;ILjava/lang/Object;)V
 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
-HSPLcom/android/internal/telephony/CallerInfoAsyncQuery$OnQueryCompleteListener;->onQueryComplete(ILjava/lang/Object;Lcom/android/internal/telephony/CallerInfo;)V
 HSPLcom/android/internal/telephony/CarrierActionAgent$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/telephony/CarrierActionAgent;-><init>(Lcom/android/internal/telephony/Phone;)V
 HSPLcom/android/internal/telephony/CarrierActionAgent;->carrierActionReportDefaultNetworkStatus(Z)V
+HSPLcom/android/internal/telephony/CarrierActionAgent;->carrierActionReset()V
 HSPLcom/android/internal/telephony/CarrierActionAgent;->carrierActionSetMeteredApnsEnabled(Z)V
 HSPLcom/android/internal/telephony/CarrierActionAgent;->carrierActionSetRadioEnabled(Z)V
 HSPLcom/android/internal/telephony/CarrierActionAgent;->getCarrierActionEnabled(I)Ljava/lang/Boolean;
@@ -39735,30 +33231,42 @@
 HSPLcom/android/internal/telephony/CarrierAppUtils;->getApplicationInfoIfSystemApp(Landroid/content/pm/IPackageManager;ILjava/lang/String;)Landroid/content/pm/ApplicationInfo;
 HSPLcom/android/internal/telephony/CarrierAppUtils;->getDefaultCarrierAppCandidatesHelper(Landroid/content/pm/IPackageManager;ILandroid/util/ArraySet;)Ljava/util/List;
 HSPLcom/android/internal/telephony/CarrierAppUtils;->getDefaultCarrierAssociatedAppsHelper(Landroid/content/pm/IPackageManager;ILandroid/util/ArrayMap;)Ljava/util/Map;
-HSPLcom/android/internal/telephony/CarrierIdentifier$1;->onChange(ZLandroid/net/Uri;)V
-HSPLcom/android/internal/telephony/CarrierIdentifier$CarrierMatchingRule;->imsiPrefixMatch(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/CarrierIdentifier$CarrierMatchingRule;->match(Lcom/android/internal/telephony/CarrierIdentifier$CarrierMatchingRule;)V
-HSPLcom/android/internal/telephony/CarrierIdentifier$SubscriptionsChangedListener;->onSubscriptionsChanged()V
-HSPLcom/android/internal/telephony/CarrierIdentifier;-><init>(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/CarrierIdentifier;->getCarrierListVersion()I
-HSPLcom/android/internal/telephony/CarrierIdentifier;->getPreferApn()Ljava/lang/String;
-HSPLcom/android/internal/telephony/CarrierIdentifier;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/CarrierIdentifier;->loadCarrierMatchingRulesOnMccMnc()V
-HSPLcom/android/internal/telephony/CarrierIdentifier;->makeCarrierMatchingRule(Landroid/database/Cursor;)Lcom/android/internal/telephony/CarrierIdentifier$CarrierMatchingRule;
-HSPLcom/android/internal/telephony/CarrierIdentifier;->matchCarrier()V
-HSPLcom/android/internal/telephony/CarrierIdentifier;->updateCarrierIdAndName(ILjava/lang/String;)V
 HSPLcom/android/internal/telephony/CarrierInfoManager;->getCarrierInfoForImsiEncryption(ILandroid/content/Context;)Landroid/telephony/ImsiEncryptionInfo;
 HSPLcom/android/internal/telephony/CarrierKeyDownloadManager$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/telephony/CarrierKeyDownloadManager;-><init>(Lcom/android/internal/telephony/Phone;)V
+HSPLcom/android/internal/telephony/CarrierKeyDownloadManager;->areCarrierKeysAbsentOrExpiring()Z
 HSPLcom/android/internal/telephony/CarrierKeyDownloadManager;->carrierUsesKeys()Z
 HSPLcom/android/internal/telephony/CarrierKeyDownloadManager;->cleanupRenewalAlarms()V
+HSPLcom/android/internal/telephony/CarrierKeyDownloadManager;->isKeyEnabled(I)Z
+HSPLcom/android/internal/telephony/CarrierResolver$1;->onChange(ZLandroid/net/Uri;)V
+HSPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;-><init>(Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;)V
+HSPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;ILjava/lang/String;I)V
+HSPLcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;->match(Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;)V
+HSPLcom/android/internal/telephony/CarrierResolver;-><init>(Lcom/android/internal/telephony/Phone;)V
+HSPLcom/android/internal/telephony/CarrierResolver;->getCarrierId()I
+HSPLcom/android/internal/telephony/CarrierResolver;->getCarrierListVersion()I
+HSPLcom/android/internal/telephony/CarrierResolver;->getCarrierNameFromId(I)Ljava/lang/String;
+HSPLcom/android/internal/telephony/CarrierResolver;->getPreciseCarrierId()I
+HSPLcom/android/internal/telephony/CarrierResolver;->getPreferApn()Ljava/lang/String;
+HSPLcom/android/internal/telephony/CarrierResolver;->getSubscriptionMatchingRule()Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;
+HSPLcom/android/internal/telephony/CarrierResolver;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/CarrierResolver;->handleSimLoaded()V
+HSPLcom/android/internal/telephony/CarrierResolver;->loadCarrierMatchingRulesOnMccMnc()V
+HSPLcom/android/internal/telephony/CarrierResolver;->makeCarrierMatchingRule(Landroid/database/Cursor;)Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;
+HSPLcom/android/internal/telephony/CarrierResolver;->matchSubscriptionCarrier()V
+HSPLcom/android/internal/telephony/CarrierResolver;->resolveSubscriptionCarrierId(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/CarrierResolver;->updateCarrierIdAndName(ILjava/lang/String;ILjava/lang/String;I)V
+HSPLcom/android/internal/telephony/CarrierServiceBindHelper$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/telephony/CarrierServiceBindHelper$2;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/CarrierServiceBindHelper$AppBinding;->getPackage()Ljava/lang/String;
 HSPLcom/android/internal/telephony/CarrierServiceBindHelper$AppBinding;->getPhoneId()I
 HSPLcom/android/internal/telephony/CarrierServiceBindHelper$AppBinding;->rebind()V
 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;->onPackageAdded(Ljava/lang/String;I)V
+HSPLcom/android/internal/telephony/CarrierServiceBindHelper$CarrierServicePackageMonitor;->onPackageModified(Ljava/lang/String;)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;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/telephony/CarrierServiceStateTracker$1;->onSubscriptionsChanged()V
 HSPLcom/android/internal/telephony/CarrierServiceStateTracker$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/telephony/CarrierServiceStateTracker$EmergencyNetworkNotification;->getTypeId()I
@@ -39776,6 +33284,7 @@
 HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->isGlobalMode()Z
 HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->isPhoneRegisteredForWifiCalling()Z
+HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->isPhoneStillRegistered()Z
 HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->registerNotificationTypes()V
 HSPLcom/android/internal/telephony/CarrierServiceStateTracker;->registerPrefNetworkModeObserver()V
 HSPLcom/android/internal/telephony/CarrierSignalAgent$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
@@ -39788,9 +33297,10 @@
 HSPLcom/android/internal/telephony/CarrierSignalAgent;->parseAndCache([Ljava/lang/String;)Ljava/util/Map;
 HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider$1;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;-><init>(Lcom/android/internal/telephony/CellularNetworkService;I)V
-HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->convertHalCellIdentityToCellIdentity(Landroid/hardware/radio/V1_0/CellIdentity;)Landroid/telephony/CellIdentity;
+HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->convertHalCellIdentityToCellIdentity(Landroid/hardware/radio/V1_2/CellIdentity;)Landroid/telephony/CellIdentity;
 HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->createRegistrationStateFromDataRegState(Ljava/lang/Object;)Landroid/telephony/NetworkRegistrationState;
 HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->createRegistrationStateFromVoiceRegState(Ljava/lang/Object;)Landroid/telephony/NetworkRegistrationState;
+HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->getAccessNetworkTechnologyFromRat(I)I
 HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->getAvailableServices(IIZ)[I
 HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->getNetworkRegistrationState(ILandroid/telephony/NetworkServiceCallback;)V
 HSPLcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;->getRegStateFromHalRegState(I)I
@@ -39810,180 +33320,44 @@
 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;
-HSPLcom/android/internal/telephony/CommandsInterface$RadioState;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/CommandsInterface$RadioState;->values()[Lcom/android/internal/telephony/CommandsInterface$RadioState;
-HSPLcom/android/internal/telephony/CommandsInterface;->getLteOnCdmaMode()I
-HSPLcom/android/internal/telephony/CommandsInterface;->getRadioState()Lcom/android/internal/telephony/CommandsInterface$RadioState;
-HSPLcom/android/internal/telephony/CommandsInterface;->getRilVersion()I
-HSPLcom/android/internal/telephony/CommandsInterface;->registerFoT53ClirlInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForAvailable(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForCallStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForCallWaitingInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForCarrierInfoForImsiEncryption(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForCdmaOtaProvision(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForCdmaPrlChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForCdmaSubscriptionChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForCellInfoList(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForDataCallListChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForDisplayInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForExitEmergencyCallbackMode(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForHardwareConfigChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForIccRefresh(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForIccSlotStatusChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForIccStatusChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForImsNetworkStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForInCallVoicePrivacyOff(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForInCallVoicePrivacyOn(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForLceInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForLineControlInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForModemReset(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForNattKeepaliveStatus(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForNetworkScanResult(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForNetworkStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForNotAvailable(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForNumberInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForOffOrNotAvailable(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForOn(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForPcoData(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForPhysicalChannelConfiguration(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForRadioCapabilityChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForRadioStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForRedirectedNumberInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForResendIncallMute(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForRilConnected(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForRingbackTone(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForSignalInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForSrvccStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForSubscriptionStatusChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForT53AudioControlInfo(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->registerForVoiceRadioTechChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setEmergencyCallbackMode(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnCallRing(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnCatCallSetUp(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnCatCcAlphaNotify(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnCatEvent(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnCatProactiveCmd(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnCatSessionEnd(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnIccRefresh(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnIccSmsFull(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnNewCdmaSms(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnNewGsmBroadcastSms(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnNewGsmSms(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnRestrictedStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnSignalStrengthUpdate(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnSmsOnSim(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnSmsStatus(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnSs(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnSuppServiceNotification(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnUSSD(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->setOnUnsolOemHookRaw(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnCallRing(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnCatCallSetUp(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnCatCcAlphaNotify(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnCatEvent(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnCatProactiveCmd(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnCatSessionEnd(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnIccSmsFull(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnNITZTime(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnNewCdmaSms(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnNewGsmBroadcastSms(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnNewGsmSms(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnRestrictedStateChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnSignalStrengthUpdate(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnSmsOnSim(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnSmsStatus(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnSs(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnSuppServiceNotification(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnUSSD(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unSetOnUnsolOemHookRaw(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForAvailable(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForCallStateChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForCallWaitingInfo(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForCarrierInfoForImsiEncryption(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForCdmaOtaProvision(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForCdmaPrlChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForCdmaSubscriptionChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForCellInfoList(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForDataCallListChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForDisplayInfo(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForExitEmergencyCallbackMode(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForHardwareConfigChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForIccRefresh(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForIccSlotStatusChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForIccStatusChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForImsNetworkStateChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForInCallVoicePrivacyOff(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForInCallVoicePrivacyOn(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForLceInfo(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForLineControlInfo(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForModemReset(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForNattKeepaliveStatus(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForNetworkScanResult(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForNetworkStateChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForNotAvailable(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForNumberInfo(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForOffOrNotAvailable(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForOn(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForPcoData(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForPhysicalChannelConfiguration(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForRadioCapabilityChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForRadioStateChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForRedirectedNumberInfo(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForResendIncallMute(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForRilConnected(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForRingbackTone(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForSignalInfo(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForSrvccStateChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForSubscriptionStatusChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForT53AudioControlInfo(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForT53ClirInfo(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unregisterForVoiceRadioTechChanged(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/CommandsInterface;->unsetOnIccRefresh(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/Connection;->cancelPostDial()V
-HSPLcom/android/internal/telephony/Connection;->deflect(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/Connection;->getCall()Lcom/android/internal/telephony/Call;
-HSPLcom/android/internal/telephony/Connection;->getDisconnectTime()J
-HSPLcom/android/internal/telephony/Connection;->getHoldDurationMillis()J
-HSPLcom/android/internal/telephony/Connection;->getNumberPresentation()I
-HSPLcom/android/internal/telephony/Connection;->getPreciseDisconnectCause()I
-HSPLcom/android/internal/telephony/Connection;->getUUSInfo()Lcom/android/internal/telephony/UUSInfo;
-HSPLcom/android/internal/telephony/Connection;->getVendorDisconnectCause()Ljava/lang/String;
-HSPLcom/android/internal/telephony/Connection;->hangup()V
-HSPLcom/android/internal/telephony/Connection;->isMultiparty()Z
-HSPLcom/android/internal/telephony/Connection;->proceedAfterWaitChar()V
-HSPLcom/android/internal/telephony/Connection;->proceedAfterWildChar(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/Connection;->separate()V
 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
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;-><init>()V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->convertDataActivityState(Lcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;)I
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->doNotifyDataConnection(Lcom/android/internal/telephony/Phone;Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/PhoneConstants$DataState;)V
+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
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyCellLocation(Lcom/android/internal/telephony/Phone;)V
+HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyCellInfo(Lcom/android/internal/telephony/Phone;Ljava/util/List;)V
+HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyCellLocation(Lcom/android/internal/telephony/Phone;Landroid/telephony/CellLocation;)V
+HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyDataActivationStateChanged(Lcom/android/internal/telephony/Phone;I)V
 HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyDataActivity(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyDataConnection(Lcom/android/internal/telephony/Phone;Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/PhoneConstants$DataState;)V
+HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyDataConnection(Lcom/android/internal/telephony/Phone;Ljava/lang/String;Lcom/android/internal/telephony/PhoneConstants$DataState;)V
+HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyEmergencyNumberList()V
 HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyMessageWaitingChanged(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyOemHookRawEventForSubscriber(I[B)V
 HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyOtaspChanged(Lcom/android/internal/telephony/Phone;I)V
+HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyPhoneCapabilityChanged(Landroid/telephony/PhoneCapability;)V
 HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyPhoneState(Lcom/android/internal/telephony/Phone;)V
+HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyPhysicalChannelConfiguration(Lcom/android/internal/telephony/Phone;Ljava/util/List;)V
+HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyPreciseCallState(Lcom/android/internal/telephony/Phone;)V
+HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyPreciseDataConnectionFailed(Lcom/android/internal/telephony/Phone;Ljava/lang/String;Ljava/lang/String;I)V
+HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyRadioPowerStateChanged(I)V
 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$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HSPLcom/android/internal/telephony/DefaultPhoneNotifier;->notifyVoiceActivationStateChanged(Lcom/android/internal/telephony/Phone;I)V
+HSPLcom/android/internal/telephony/DeviceStateMonitor$1;->onAvailable(Landroid/net/Network;)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
+HSPLcom/android/internal/telephony/DeviceStateMonitor;->computeCellInfoMinInterval()I
 HSPLcom/android/internal/telephony/DeviceStateMonitor;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/DeviceStateMonitor;->isScreenOn()Z
-HSPLcom/android/internal/telephony/DeviceStateMonitor;->onRilConnected()V
+HSPLcom/android/internal/telephony/DeviceStateMonitor;->onReset()V
 HSPLcom/android/internal/telephony/DeviceStateMonitor;->onUpdateDeviceState(IZ)V
 HSPLcom/android/internal/telephony/DeviceStateMonitor;->sendDeviceState(IZ)V
 HSPLcom/android/internal/telephony/DeviceStateMonitor;->setLinkCapacityReportingCriteria()V
 HSPLcom/android/internal/telephony/DeviceStateMonitor;->setSignalStrengthReportingCriteria()V
 HSPLcom/android/internal/telephony/DeviceStateMonitor;->setUnsolResponseFilter(IZ)V
 HSPLcom/android/internal/telephony/ExponentialBackoff$1;->removeCallbacks(Ljava/lang/Runnable;)V
-HSPLcom/android/internal/telephony/ExponentialBackoff$HandlerAdapter;->postDelayed(Ljava/lang/Runnable;J)Z
-HSPLcom/android/internal/telephony/ExponentialBackoff$HandlerAdapter;->removeCallbacks(Ljava/lang/Runnable;)V
 HSPLcom/android/internal/telephony/ExponentialBackoff;-><init>(JJILandroid/os/Looper;Ljava/lang/Runnable;)V
 HSPLcom/android/internal/telephony/ExponentialBackoff;->stop()V
 HSPLcom/android/internal/telephony/GsmAlphabet;->enableCountrySpecificEncodings()V
@@ -39991,28 +33365,36 @@
 HSPLcom/android/internal/telephony/GsmAlphabet;->gsm8BitUnpackedToString([BIILjava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/GsmCdmaCall;->getConnections()Ljava/util/List;
 HSPLcom/android/internal/telephony/GsmCdmaCallTracker;-><init>(Lcom/android/internal/telephony/GsmCdmaPhone;)V
+HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->checkAndEnableDataCallAfterEmergencyCallDropped()V
+HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->clearDisconnected()V
+HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->dispatchCsCallRadioTech(I)V
 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
-HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->isPhoneTypeGsm()Z
+HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->isInEmergencyCall()Z
 HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->log(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->registerForCallWaiting(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->registerForVoiceCallEnded(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->registerForVoiceCallStarted(Landroid/os/Handler;ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->reset()V
 HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->unregisterForCallWaiting(Landroid/os/Handler;)V
+HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->unregisterForVoiceCallEnded(Landroid/os/Handler;)V
+HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->unregisterForVoiceCallStarted(Landroid/os/Handler;)V
 HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->updatePhoneState()V
+HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->updatePhoneType()V
 HSPLcom/android/internal/telephony/GsmCdmaCallTracker;->updatePhoneType(Z)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;IILcom/android/internal/telephony/TelephonyComponentFactory;)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneNotifier;ZIILcom/android/internal/telephony/TelephonyComponentFactory;)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getBackgroundCall()Lcom/android/internal/telephony/Call;
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getBackgroundCall()Lcom/android/internal/telephony/GsmCdmaCall;
 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;
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->getCellLocation(Landroid/os/WorkSource;)Landroid/telephony/CellLocation;
+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;
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getDataRoamingEnabled()Z
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->getEmergencyNumberTracker()Lcom/android/internal/telephony/emergency/EmergencyNumberTracker;
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getForegroundCall()Lcom/android/internal/telephony/Call;
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getForegroundCall()Lcom/android/internal/telephony/GsmCdmaCall;
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getFullIccSerialNumber()Ljava/lang/String;
@@ -40022,25 +33404,28 @@
 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;
-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;
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->getLteOnCdmaMode()I
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getOperatorNumeric()Ljava/lang/String;
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getPhoneType()I
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getPlmn()Ljava/lang/String;
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->getPreciseCarrierId()I
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getRingingCall()Lcom/android/internal/telephony/Call;
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getServiceState()Landroid/telephony/ServiceState;
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getServiceStateTracker()Lcom/android/internal/telephony/ServiceStateTracker;
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getState()Lcom/android/internal/telephony/PhoneConstants$State;
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getSubscriberId()Ljava/lang/String;
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->getTransportManager()Lcom/android/internal/telephony/dataconnection/TransportManager;
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getUiccCardApplication()Lcom/android/internal/telephony/uicc/UiccCardApplication;
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->getVmSimImsi()Ljava/lang/String;
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->handleRadioAvailable()V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->handleRadioOffOrNotAvailable()V
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->handleRadioPowerStateChange()V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->initOnce(Lcom/android/internal/telephony/CommandsInterface;)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->initRatSpecific(I)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->isDataEnabled()Z
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->isEriFileLoaded()Z
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->isInEmergencyCall()Z
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->isPhoneTypeCdma()Z
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->isPhoneTypeCdmaLte()Z
@@ -40049,9 +33434,11 @@
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->logd(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->loge(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->logi(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->mergeServiceStates(Landroid/telephony/ServiceState;Landroid/telephony/ServiceState;)Landroid/telephony/ServiceState;
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->notifyCallForwardingIndicator()V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->notifyLocationChanged()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
@@ -40059,165 +33446,69 @@
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->registerForCallWaiting(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->registerForCdmaOtaStatusChange(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->registerForEcmTimerReset(Landroid/os/Handler;ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->registerForEriFileLoaded(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->registerForIccRecordEvents()V
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->registerForSimRecordsLoaded(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->registerForSubscriptionInfoReady(Landroid/os/Handler;ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->resolveSubscriptionCarrierId(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->setBroadcastEmergencyCallStateChanges(Z)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->setLinkCapacityReportingCriteria([I[II)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->setSignalStrengthReportingCriteria([II)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->setTTYMode(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/GsmCdmaPhone;->setUiTTYMode(ILandroid/os/Message;)V
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->setVmSimImsi(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->storeVoiceMailNumber(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->switchPhoneType(I)V
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->switchVoiceRadioTech(I)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->syncClirSetting()V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->unregisterForCallWaiting(Landroid/os/Handler;)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->unregisterForEriFileLoaded(Landroid/os/Handler;)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->unregisterForSimRecordsLoaded(Landroid/os/Handler;)V
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->updateCurrentCarrierInProvider()Z
+HSPLcom/android/internal/telephony/GsmCdmaPhone;->updateCurrentCarrierInProvider(Ljava/lang/String;)Z
 HSPLcom/android/internal/telephony/GsmCdmaPhone;->updateVoiceMail()V
+HSPLcom/android/internal/telephony/HalVersion;-><init>(II)V
+HSPLcom/android/internal/telephony/HalVersion;->compareTo(Lcom/android/internal/telephony/HalVersion;)I
+HSPLcom/android/internal/telephony/HalVersion;->equals(Ljava/lang/Object;)Z
+HSPLcom/android/internal/telephony/HalVersion;->greater(Lcom/android/internal/telephony/HalVersion;)Z
+HSPLcom/android/internal/telephony/HalVersion;->greaterOrEqual(Lcom/android/internal/telephony/HalVersion;)Z
+HSPLcom/android/internal/telephony/HalVersion;->less(Lcom/android/internal/telephony/HalVersion;)Z
+HSPLcom/android/internal/telephony/HalVersion;->lessOrEqual(Lcom/android/internal/telephony/HalVersion;)Z
+HSPLcom/android/internal/telephony/HalVersion;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/HardwareConfig;-><init>(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/HardwareConfig;->assignModem(Ljava/lang/String;IIIIII)V
 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(I)Landroid/os/PersistableBundle;
+HSPLcom/android/internal/telephony/HbpcdUtils;->getIddByMcc(I)Ljava/lang/String;
+HSPLcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;->getConfigForSubId(ILjava/lang/String;)Landroid/os/PersistableBundle;
 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
-HSPLcom/android/internal/telephony/ICarrierConfigLoader;->getConfigForSubId(I)Landroid/os/PersistableBundle;
-HSPLcom/android/internal/telephony/ICarrierConfigLoader;->getDefaultCarrierServicePackageName()Ljava/lang/String;
-HSPLcom/android/internal/telephony/ICarrierConfigLoader;->notifyConfigChangedForSubId(I)V
-HSPLcom/android/internal/telephony/ICarrierConfigLoader;->updateConfigForPhoneId(ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/IIccPhoneBook;->getAdnRecordsInEf(I)Ljava/util/List;
-HSPLcom/android/internal/telephony/IIccPhoneBook;->getAdnRecordsInEfForSubscriber(II)Ljava/util/List;
-HSPLcom/android/internal/telephony/IIccPhoneBook;->getAdnRecordsSize(I)[I
-HSPLcom/android/internal/telephony/IIccPhoneBook;->getAdnRecordsSizeForSubscriber(II)[I
-HSPLcom/android/internal/telephony/IIccPhoneBook;->updateAdnRecordsInEfByIndex(ILjava/lang/String;Ljava/lang/String;ILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/IIccPhoneBook;->updateAdnRecordsInEfByIndexForSubscriber(IILjava/lang/String;Ljava/lang/String;ILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/IIccPhoneBook;->updateAdnRecordsInEfBySearch(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/IIccPhoneBook;->updateAdnRecordsInEfBySearchForSubscriber(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/internal/telephony/IMms$Stub;-><init>()V
-HSPLcom/android/internal/telephony/IMms;->addMultimediaMessageDraft(Ljava/lang/String;Landroid/net/Uri;)Landroid/net/Uri;
-HSPLcom/android/internal/telephony/IMms;->addTextMessageDraft(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/net/Uri;
-HSPLcom/android/internal/telephony/IMms;->archiveStoredConversation(Ljava/lang/String;JZ)Z
-HSPLcom/android/internal/telephony/IMms;->deleteStoredConversation(Ljava/lang/String;J)Z
-HSPLcom/android/internal/telephony/IMms;->deleteStoredMessage(Ljava/lang/String;Landroid/net/Uri;)Z
-HSPLcom/android/internal/telephony/IMms;->downloadMessage(ILjava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/IMms;->getAutoPersisting()Z
-HSPLcom/android/internal/telephony/IMms;->getCarrierConfigValues(I)Landroid/os/Bundle;
-HSPLcom/android/internal/telephony/IMms;->importMultimediaMessage(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;JZZ)Landroid/net/Uri;
-HSPLcom/android/internal/telephony/IMms;->importTextMessage(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;JZZ)Landroid/net/Uri;
-HSPLcom/android/internal/telephony/IMms;->sendMessage(ILjava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/IMms;->sendStoredMessage(ILjava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/IMms;->setAutoPersisting(Ljava/lang/String;Z)V
-HSPLcom/android/internal/telephony/IMms;->updateStoredMessageStatus(Ljava/lang/String;Landroid/net/Uri;Landroid/content/ContentValues;)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
 HSPLcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub;->asBinder()Landroid/os/IBinder;
 HSPLcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telephony/IOnSubscriptionsChangedListener;->onSubscriptionsChanged()V
 HSPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;->onServiceStateChanged(Landroid/telephony/ServiceState;)V
 HSPLcom/android/internal/telephony/IPhoneStateListener$Stub;-><init>()V
 HSPLcom/android/internal/telephony/IPhoneStateListener$Stub;->asBinder()Landroid/os/IBinder;
 HSPLcom/android/internal/telephony/IPhoneStateListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onCallForwardingIndicatorChanged(Z)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onCallStateChanged(ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onCarrierNetworkChange(Z)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onCellInfoChanged(Ljava/util/List;)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onCellLocationChanged(Landroid/os/Bundle;)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onDataActivationStateChanged(I)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onDataActivity(I)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onDataConnectionRealTimeInfoChanged(Landroid/telephony/DataConnectionRealTimeInfo;)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onDataConnectionStateChanged(II)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onMessageWaitingIndicatorChanged(Z)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onOemHookRawEvent([B)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onOtaspChanged(I)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onPhysicalChannelConfigurationChanged(Ljava/util/List;)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onPreciseCallStateChanged(Landroid/telephony/PreciseCallState;)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onPreciseDataConnectionStateChanged(Landroid/telephony/PreciseDataConnectionState;)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onServiceStateChanged(Landroid/telephony/ServiceState;)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onSignalStrengthChanged(I)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onUserMobileDataStateChanged(Z)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onVoLteServiceStateChanged(Landroid/telephony/VoLteServiceState;)V
-HSPLcom/android/internal/telephony/IPhoneStateListener;->onVoiceActivationStateChanged(I)V
 HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getGroupIdLevel1ForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIccSerialNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIsimDomain(I)Ljava/lang/String;
 HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIsimImpu(I)[Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getIsimIst(I)Ljava/lang/String;
 HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getLine1AlphaTagForSubscriber(ILjava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getLine1NumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getSubscriberIdForSubscriber(ILjava/lang/String;)Ljava/lang/String;
 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/IPhoneSubInfo;->getCarrierInfoForImsiEncryption(IILjava/lang/String;)Landroid/telephony/ImsiEncryptionInfo;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getCompleteVoiceMailNumber()Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getCompleteVoiceMailNumberForSubscriber(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getDeviceId(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getDeviceIdForPhone(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getDeviceSvn(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getDeviceSvnUsingSubId(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getGroupIdLevel1ForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getIccSerialNumber(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getIccSerialNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getIccSimChallengeResponse(IIILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getImeiForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getIsimDomain(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getIsimImpi(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getIsimImpu(I)[Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getIsimIst(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getIsimPcscf(I)[Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getLine1AlphaTag(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getLine1AlphaTagForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getLine1Number(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getLine1NumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getMsisdn(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getMsisdnForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getNaiForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getSubscriberId(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getSubscriberIdForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getVoiceMailAlphaTag(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getVoiceMailAlphaTagForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getVoiceMailNumber(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->getVoiceMailNumberForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->resetCarrierKeysForImsiEncryption(ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/IPhoneSubInfo;->setCarrierInfoForImsiEncryption(ILjava/lang/String;Landroid/telephony/ImsiEncryptionInfo;)V
 HSPLcom/android/internal/telephony/ISms$Stub$Proxy;->getPreferredSmsSubscription()I
-HSPLcom/android/internal/telephony/ISms$Stub;-><init>()V
 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/ISms;->copyMessageToIccEfForSubscriber(ILjava/lang/String;I[B[B)Z
-HSPLcom/android/internal/telephony/ISms;->createAppSpecificSmsToken(ILjava/lang/String;Landroid/app/PendingIntent;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ISms;->disableCellBroadcastForSubscriber(III)Z
-HSPLcom/android/internal/telephony/ISms;->disableCellBroadcastRangeForSubscriber(IIII)Z
-HSPLcom/android/internal/telephony/ISms;->enableCellBroadcastForSubscriber(III)Z
-HSPLcom/android/internal/telephony/ISms;->enableCellBroadcastRangeForSubscriber(IIII)Z
-HSPLcom/android/internal/telephony/ISms;->getAllMessagesFromIccEfForSubscriber(ILjava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telephony/ISms;->getImsSmsFormatForSubscriber(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ISms;->getPreferredSmsSubscription()I
-HSPLcom/android/internal/telephony/ISms;->getPremiumSmsPermission(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/ISms;->getPremiumSmsPermissionForSubscriber(ILjava/lang/String;)I
-HSPLcom/android/internal/telephony/ISms;->injectSmsPduForSubscriber(I[BLjava/lang/String;Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/ISms;->isImsSmsSupportedForSubscriber(I)Z
-HSPLcom/android/internal/telephony/ISms;->isSMSPromptEnabled()Z
-HSPLcom/android/internal/telephony/ISms;->isSmsSimPickActivityNeeded(I)Z
-HSPLcom/android/internal/telephony/ISms;->sendDataForSubscriber(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/ISms;->sendDataForSubscriberWithSelfPermissions(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/ISms;->sendMultipartTextForSubscriber(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;Z)V
-HSPLcom/android/internal/telephony/ISms;->sendMultipartTextForSubscriberWithOptions(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/util/List;ZIZI)V
-HSPLcom/android/internal/telephony/ISms;->sendStoredMultipartText(ILjava/lang/String;Landroid/net/Uri;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
-HSPLcom/android/internal/telephony/ISms;->sendStoredText(ILjava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/ISms;->sendTextForSubscriber(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
-HSPLcom/android/internal/telephony/ISms;->sendTextForSubscriberWithOptions(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;ZIZI)V
-HSPLcom/android/internal/telephony/ISms;->sendTextForSubscriberWithSelfPermissions(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;Z)V
-HSPLcom/android/internal/telephony/ISms;->setPremiumSmsPermission(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/ISms;->setPremiumSmsPermissionForSubscriber(ILjava/lang/String;I)V
-HSPLcom/android/internal/telephony/ISms;->updateMessageOnIccEfForSubscriber(ILjava/lang/String;II[B)Z
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubIdList()[I
+HSPLcom/android/internal/telephony/ISmsImplBase;-><init>()V
 HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubInfoCountMax()I
 HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubscriptionInfo(ILjava/lang/String;)Landroid/telephony/SubscriptionInfo;
 HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getActiveSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
 HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultDataSubId()I
+HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultSmsSubId()I
 HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultSubId()I
 HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getDefaultVoiceSubId()I
 HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getPhoneId(I)I
@@ -40225,48 +33516,14 @@
 HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getSlotIndex(I)I
 HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getSubId(I)[I
 HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->getSubscriptionProperty(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->isActiveSubId(I)Z
+HSPLcom/android/internal/telephony/ISub$Stub$Proxy;->isActiveSubId(ILjava/lang/String;)Z
 HSPLcom/android/internal/telephony/ISub$Stub;-><init>()V
 HSPLcom/android/internal/telephony/ISub$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ISub;
 HSPLcom/android/internal/telephony/ISub$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telephony/ISub;->addSubInfoRecord(Ljava/lang/String;I)I
-HSPLcom/android/internal/telephony/ISub;->clearDefaultsForInactiveSubIds()V
-HSPLcom/android/internal/telephony/ISub;->clearSubInfo()I
-HSPLcom/android/internal/telephony/ISub;->getAccessibleSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telephony/ISub;->getActiveSubIdList()[I
-HSPLcom/android/internal/telephony/ISub;->getActiveSubInfoCount(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/ISub;->getActiveSubInfoCountMax()I
-HSPLcom/android/internal/telephony/ISub;->getActiveSubscriptionInfo(ILjava/lang/String;)Landroid/telephony/SubscriptionInfo;
-HSPLcom/android/internal/telephony/ISub;->getActiveSubscriptionInfoForIccId(Ljava/lang/String;Ljava/lang/String;)Landroid/telephony/SubscriptionInfo;
-HSPLcom/android/internal/telephony/ISub;->getActiveSubscriptionInfoForSimSlotIndex(ILjava/lang/String;)Landroid/telephony/SubscriptionInfo;
-HSPLcom/android/internal/telephony/ISub;->getActiveSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telephony/ISub;->getAllSubInfoCount(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/ISub;->getAllSubInfoList(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telephony/ISub;->getAvailableSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telephony/ISub;->getDefaultDataSubId()I
-HSPLcom/android/internal/telephony/ISub;->getDefaultSmsSubId()I
-HSPLcom/android/internal/telephony/ISub;->getDefaultSubId()I
-HSPLcom/android/internal/telephony/ISub;->getDefaultVoiceSubId()I
-HSPLcom/android/internal/telephony/ISub;->getPhoneId(I)I
-HSPLcom/android/internal/telephony/ISub;->getSimStateForSlotIndex(I)I
-HSPLcom/android/internal/telephony/ISub;->getSlotIndex(I)I
-HSPLcom/android/internal/telephony/ISub;->getSubId(I)[I
-HSPLcom/android/internal/telephony/ISub;->getSubscriptionProperty(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ISub;->isActiveSubId(I)Z
-HSPLcom/android/internal/telephony/ISub;->requestEmbeddedSubscriptionInfoListRefresh()V
-HSPLcom/android/internal/telephony/ISub;->setDataRoaming(II)I
-HSPLcom/android/internal/telephony/ISub;->setDefaultDataSubId(I)V
-HSPLcom/android/internal/telephony/ISub;->setDefaultSmsSubId(I)V
-HSPLcom/android/internal/telephony/ISub;->setDefaultVoiceSubId(I)V
-HSPLcom/android/internal/telephony/ISub;->setDisplayName(Ljava/lang/String;I)I
-HSPLcom/android/internal/telephony/ISub;->setDisplayNameUsingSrc(Ljava/lang/String;IJ)I
-HSPLcom/android/internal/telephony/ISub;->setDisplayNumber(Ljava/lang/String;I)I
-HSPLcom/android/internal/telephony/ISub;->setIconTint(II)I
-HSPLcom/android/internal/telephony/ISub;->setSubscriptionProperty(ILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->checkCarrierPrivilegesForPackage(Ljava/lang/String;)I
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->disableVisualVoicemailSmsFilter(Ljava/lang/String;I)V
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getActivePhoneTypeForSlot(I)I
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getAllCellInfo(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCellLocation(Ljava/lang/String;)Landroid/os/Bundle;
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getCarrierPrivilegeStatus(I)I
 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;->getDeviceId(Ljava/lang/String;)Ljava/lang/String;
@@ -40275,257 +33532,50 @@
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getImsRegistration(II)Landroid/telephony/ims/aidl/IImsRegistration;
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getLine1AlphaTagForDisplay(ILjava/lang/String;)Ljava/lang/String;
 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;->getMeidForSlot(ILjava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getMmTelFeatureAndListen(ILcom/android/ims/internal/IImsServiceFeatureCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getNeighboringCellInfo(Ljava/lang/String;)Ljava/util/List;
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getNetworkCountryIsoForPhone(I)Ljava/lang/String;
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getNetworkType()I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getPackagesWithCarrierPrivileges()Ljava/util/List;
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getServiceStateForSubscriber(ILjava/lang/String;)Landroid/telephony/ServiceState;
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getSubIdForPhoneAccount(Landroid/telecom/PhoneAccount;)I
-HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getTetherApnRequired()I
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVisualVoicemailPackageName(Ljava/lang/String;I)Ljava/lang/String;
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVoiceNetworkTypeForSubscriber(ILjava/lang/String;)I
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->getVoicemailRingtoneUri(Landroid/telecom/PhoneAccountHandle;)Landroid/net/Uri;
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->hasIccCardUsingSlotIndex(I)Z
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->isCurrentEmergencyNumber(Ljava/lang/String;Z)Z
 HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->isUserDataEnabled(I)Z
+HSPLcom/android/internal/telephony/ITelephony$Stub$Proxy;->isVoicemailVibrationEnabled(Landroid/telecom/PhoneAccountHandle;)Z
 HSPLcom/android/internal/telephony/ITelephony$Stub;-><init>()V
 HSPLcom/android/internal/telephony/ITelephony$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ITelephony;
 HSPLcom/android/internal/telephony/ITelephony$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telephony/ITelephony;->answerRingingCall()V
-HSPLcom/android/internal/telephony/ITelephony;->answerRingingCallForSubscriber(I)V
-HSPLcom/android/internal/telephony/ITelephony;->call(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/ITelephony;->canChangeDtmfToneLength()Z
-HSPLcom/android/internal/telephony/ITelephony;->carrierActionReportDefaultNetworkStatus(IZ)V
-HSPLcom/android/internal/telephony/ITelephony;->carrierActionSetMeteredApnsEnabled(IZ)V
-HSPLcom/android/internal/telephony/ITelephony;->carrierActionSetRadioEnabled(IZ)V
-HSPLcom/android/internal/telephony/ITelephony;->checkCarrierPrivilegesForPackage(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->checkCarrierPrivilegesForPackageAnyPhone(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->dial(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/ITelephony;->disableDataConnectivity()Z
-HSPLcom/android/internal/telephony/ITelephony;->disableIms(I)V
-HSPLcom/android/internal/telephony/ITelephony;->disableLocationUpdates()V
-HSPLcom/android/internal/telephony/ITelephony;->disableLocationUpdatesForSubscriber(I)V
-HSPLcom/android/internal/telephony/ITelephony;->disableVisualVoicemailSmsFilter(Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/ITelephony;->enableDataConnectivity()Z
-HSPLcom/android/internal/telephony/ITelephony;->enableIms(I)V
-HSPLcom/android/internal/telephony/ITelephony;->enableLocationUpdates()V
-HSPLcom/android/internal/telephony/ITelephony;->enableLocationUpdatesForSubscriber(I)V
-HSPLcom/android/internal/telephony/ITelephony;->enableVideoCalling(Z)V
-HSPLcom/android/internal/telephony/ITelephony;->enableVisualVoicemailSmsFilter(Ljava/lang/String;ILandroid/telephony/VisualVoicemailSmsFilterSettings;)V
-HSPLcom/android/internal/telephony/ITelephony;->endCall()Z
-HSPLcom/android/internal/telephony/ITelephony;->endCallForSubscriber(I)Z
-HSPLcom/android/internal/telephony/ITelephony;->factoryReset(I)V
-HSPLcom/android/internal/telephony/ITelephony;->getActivePhoneType()I
-HSPLcom/android/internal/telephony/ITelephony;->getActivePhoneTypeForSlot(I)I
-HSPLcom/android/internal/telephony/ITelephony;->getActiveVisualVoicemailSmsFilterSettings(I)Landroid/telephony/VisualVoicemailSmsFilterSettings;
-HSPLcom/android/internal/telephony/ITelephony;->getAidForAppType(II)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getAllCellInfo(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telephony/ITelephony;->getAllowedCarriers(I)Ljava/util/List;
-HSPLcom/android/internal/telephony/ITelephony;->getCalculatedPreferredNetworkType(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->getCallState()I
-HSPLcom/android/internal/telephony/ITelephony;->getCallStateForSlot(I)I
-HSPLcom/android/internal/telephony/ITelephony;->getCarrierIdListVersion(I)I
-HSPLcom/android/internal/telephony/ITelephony;->getCarrierPackageNamesForIntentAndPhone(Landroid/content/Intent;I)Ljava/util/List;
-HSPLcom/android/internal/telephony/ITelephony;->getCarrierPrivilegeStatus(I)I
-HSPLcom/android/internal/telephony/ITelephony;->getCarrierPrivilegeStatusForUid(II)I
-HSPLcom/android/internal/telephony/ITelephony;->getCdmaEriIconIndex(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->getCdmaEriIconIndexForSubscriber(ILjava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->getCdmaEriIconMode(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->getCdmaEriIconModeForSubscriber(ILjava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->getCdmaEriText(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getCdmaEriTextForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getCdmaMdn(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getCdmaMin(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getCdmaPrlVersion(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getCellLocation(Ljava/lang/String;)Landroid/os/Bundle;
-HSPLcom/android/internal/telephony/ITelephony;->getCellNetworkScanResults(I)Lcom/android/internal/telephony/CellNetworkScanResult;
-HSPLcom/android/internal/telephony/ITelephony;->getClientRequestStats(Ljava/lang/String;I)Ljava/util/List;
-HSPLcom/android/internal/telephony/ITelephony;->getDataActivationState(ILjava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->getDataActivity()I
-HSPLcom/android/internal/telephony/ITelephony;->getDataEnabled(I)Z
-HSPLcom/android/internal/telephony/ITelephony;->getDataNetworkType(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->getDataNetworkTypeForSubscriber(ILjava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->getDataState()I
-HSPLcom/android/internal/telephony/ITelephony;->getDefaultSim()I
-HSPLcom/android/internal/telephony/ITelephony;->getDeviceId(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getDeviceSoftwareVersionForSlot(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getEmergencyCallbackMode(I)Z
-HSPLcom/android/internal/telephony/ITelephony;->getEsn(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getForbiddenPlmns(IILjava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getImeiForSlot(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getImsConfig(II)Landroid/telephony/ims/aidl/IImsConfig;
-HSPLcom/android/internal/telephony/ITelephony;->getImsRegTechnologyForMmTel(I)I
-HSPLcom/android/internal/telephony/ITelephony;->getImsRegistration(II)Landroid/telephony/ims/aidl/IImsRegistration;
-HSPLcom/android/internal/telephony/ITelephony;->getImsService(IZ)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getLine1AlphaTagForDisplay(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getLine1NumberForDisplay(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getLocaleFromDefaultSim()Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getLteOnCdmaMode(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->getLteOnCdmaModeForSubscriber(ILjava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->getMeidForSlot(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getMergedSubscriberIds(Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getMmTelFeatureAndListen(ILcom/android/ims/internal/IImsServiceFeatureCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
-HSPLcom/android/internal/telephony/ITelephony;->getNeighboringCellInfo(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/internal/telephony/ITelephony;->getNetworkCountryIsoForPhone(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getNetworkType()I
-HSPLcom/android/internal/telephony/ITelephony;->getNetworkTypeForSubscriber(ILjava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->getPackagesWithCarrierPrivileges()Ljava/util/List;
-HSPLcom/android/internal/telephony/ITelephony;->getPcscfAddress(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getPreferredNetworkType(I)I
-HSPLcom/android/internal/telephony/ITelephony;->getRadioAccessFamily(ILjava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->getRcsFeatureAndListen(ILcom/android/ims/internal/IImsServiceFeatureCallback;)Landroid/telephony/ims/aidl/IImsRcsFeature;
-HSPLcom/android/internal/telephony/ITelephony;->getServiceStateForSubscriber(ILjava/lang/String;)Landroid/telephony/ServiceState;
-HSPLcom/android/internal/telephony/ITelephony;->getSignalStrength(I)Landroid/telephony/SignalStrength;
-HSPLcom/android/internal/telephony/ITelephony;->getSubIdForPhoneAccount(Landroid/telecom/PhoneAccount;)I
-HSPLcom/android/internal/telephony/ITelephony;->getSubscriptionCarrierId(I)I
-HSPLcom/android/internal/telephony/ITelephony;->getSubscriptionCarrierName(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getTelephonyHistograms()Ljava/util/List;
-HSPLcom/android/internal/telephony/ITelephony;->getTetherApnRequired()I
-HSPLcom/android/internal/telephony/ITelephony;->getUiccSlotsInfo()[Landroid/telephony/UiccSlotInfo;
-HSPLcom/android/internal/telephony/ITelephony;->getVisualVoicemailPackageName(Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->getVisualVoicemailSettings(Ljava/lang/String;I)Landroid/os/Bundle;
-HSPLcom/android/internal/telephony/ITelephony;->getVisualVoicemailSmsFilterSettings(Ljava/lang/String;I)Landroid/telephony/VisualVoicemailSmsFilterSettings;
-HSPLcom/android/internal/telephony/ITelephony;->getVoiceActivationState(ILjava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->getVoiceMessageCount()I
-HSPLcom/android/internal/telephony/ITelephony;->getVoiceMessageCountForSubscriber(I)I
-HSPLcom/android/internal/telephony/ITelephony;->getVoiceNetworkTypeForSubscriber(ILjava/lang/String;)I
-HSPLcom/android/internal/telephony/ITelephony;->getVoicemailRingtoneUri(Landroid/telecom/PhoneAccountHandle;)Landroid/net/Uri;
-HSPLcom/android/internal/telephony/ITelephony;->getVtDataUsage(IZ)Landroid/net/NetworkStats;
-HSPLcom/android/internal/telephony/ITelephony;->handlePinMmi(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->handlePinMmiForSubscriber(ILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->handleUssdRequest(ILjava/lang/String;Landroid/os/ResultReceiver;)V
-HSPLcom/android/internal/telephony/ITelephony;->hasIccCard()Z
-HSPLcom/android/internal/telephony/ITelephony;->hasIccCardUsingSlotIndex(I)Z
-HSPLcom/android/internal/telephony/ITelephony;->iccCloseLogicalChannel(II)Z
-HSPLcom/android/internal/telephony/ITelephony;->iccExchangeSimIO(IIIIIILjava/lang/String;)[B
-HSPLcom/android/internal/telephony/ITelephony;->iccOpenLogicalChannel(ILjava/lang/String;Ljava/lang/String;I)Landroid/telephony/IccOpenLogicalChannelResponse;
-HSPLcom/android/internal/telephony/ITelephony;->iccTransmitApduBasicChannel(ILjava/lang/String;IIIIILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->iccTransmitApduLogicalChannel(IIIIIIILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->invokeOemRilRequestRaw([B[B)I
-HSPLcom/android/internal/telephony/ITelephony;->isConcurrentVoiceAndDataAllowed(I)Z
-HSPLcom/android/internal/telephony/ITelephony;->isDataConnectivityPossible(I)Z
-HSPLcom/android/internal/telephony/ITelephony;->isDataEnabled(I)Z
-HSPLcom/android/internal/telephony/ITelephony;->isHearingAidCompatibilitySupported()Z
-HSPLcom/android/internal/telephony/ITelephony;->isIdle(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->isIdleForSubscriber(ILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->isImsRegistered(I)Z
-HSPLcom/android/internal/telephony/ITelephony;->isOffhook(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->isOffhookForSubscriber(ILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->isRadioOn(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->isRadioOnForSubscriber(ILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->isResolvingImsBinding()Z
-HSPLcom/android/internal/telephony/ITelephony;->isRinging(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->isRingingForSubscriber(ILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->isTtyModeSupported()Z
-HSPLcom/android/internal/telephony/ITelephony;->isUserDataEnabled(I)Z
-HSPLcom/android/internal/telephony/ITelephony;->isVideoCallingEnabled(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->isVideoTelephonyAvailable(I)Z
-HSPLcom/android/internal/telephony/ITelephony;->isVoicemailVibrationEnabled(Landroid/telecom/PhoneAccountHandle;)Z
-HSPLcom/android/internal/telephony/ITelephony;->isVolteAvailable(I)Z
-HSPLcom/android/internal/telephony/ITelephony;->isWifiCallingAvailable(I)Z
-HSPLcom/android/internal/telephony/ITelephony;->isWorldPhone()Z
-HSPLcom/android/internal/telephony/ITelephony;->needMobileRadioShutdown()Z
-HSPLcom/android/internal/telephony/ITelephony;->needsOtaServiceProvisioning()Z
-HSPLcom/android/internal/telephony/ITelephony;->nvReadItem(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->nvResetConfig(I)Z
-HSPLcom/android/internal/telephony/ITelephony;->nvWriteCdmaPrl([B)Z
-HSPLcom/android/internal/telephony/ITelephony;->nvWriteItem(ILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->refreshUiccProfile(I)V
-HSPLcom/android/internal/telephony/ITelephony;->requestModemActivityInfo(Landroid/os/ResultReceiver;)V
-HSPLcom/android/internal/telephony/ITelephony;->requestNetworkScan(ILandroid/telephony/NetworkScanRequest;Landroid/os/Messenger;Landroid/os/IBinder;)I
-HSPLcom/android/internal/telephony/ITelephony;->sendDialerSpecialCode(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/ITelephony;->sendEnvelopeWithStatus(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/ITelephony;->sendVisualVoicemailSmsForSubscriber(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/ITelephony;->setAllowedCarriers(ILjava/util/List;)I
-HSPLcom/android/internal/telephony/ITelephony;->setCarrierTestOverride(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/ITelephony;->setCellInfoListRate(I)V
-HSPLcom/android/internal/telephony/ITelephony;->setDataActivationState(II)V
-HSPLcom/android/internal/telephony/ITelephony;->setImsRegistrationState(Z)V
-HSPLcom/android/internal/telephony/ITelephony;->setImsService(IZLjava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->setLine1NumberForDisplayForSubscriber(ILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->setNetworkSelectionModeAutomatic(I)V
-HSPLcom/android/internal/telephony/ITelephony;->setNetworkSelectionModeManual(ILjava/lang/String;Z)Z
-HSPLcom/android/internal/telephony/ITelephony;->setOperatorBrandOverride(ILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->setPolicyDataEnabled(ZI)V
-HSPLcom/android/internal/telephony/ITelephony;->setPreferredNetworkType(II)Z
-HSPLcom/android/internal/telephony/ITelephony;->setRadio(Z)Z
-HSPLcom/android/internal/telephony/ITelephony;->setRadioCapability([Landroid/telephony/RadioAccessFamily;)V
-HSPLcom/android/internal/telephony/ITelephony;->setRadioForSubscriber(IZ)Z
-HSPLcom/android/internal/telephony/ITelephony;->setRadioIndicationUpdateMode(III)V
-HSPLcom/android/internal/telephony/ITelephony;->setRadioPower(Z)Z
-HSPLcom/android/internal/telephony/ITelephony;->setRoamingOverride(ILjava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Z
-HSPLcom/android/internal/telephony/ITelephony;->setSimPowerStateForSlot(II)V
-HSPLcom/android/internal/telephony/ITelephony;->setUserDataEnabled(IZ)V
-HSPLcom/android/internal/telephony/ITelephony;->setVoiceActivationState(II)V
-HSPLcom/android/internal/telephony/ITelephony;->setVoiceMailNumber(ILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->setVoicemailRingtoneUri(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;Landroid/net/Uri;)V
-HSPLcom/android/internal/telephony/ITelephony;->setVoicemailVibrationEnabled(Ljava/lang/String;Landroid/telecom/PhoneAccountHandle;Z)V
-HSPLcom/android/internal/telephony/ITelephony;->shutdownMobileRadios()V
-HSPLcom/android/internal/telephony/ITelephony;->silenceRinger()V
-HSPLcom/android/internal/telephony/ITelephony;->stopNetworkScan(II)V
-HSPLcom/android/internal/telephony/ITelephony;->supplyPin(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->supplyPinForSubscriber(ILjava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->supplyPinReportResult(Ljava/lang/String;)[I
-HSPLcom/android/internal/telephony/ITelephony;->supplyPinReportResultForSubscriber(ILjava/lang/String;)[I
-HSPLcom/android/internal/telephony/ITelephony;->supplyPuk(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->supplyPukForSubscriber(ILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/ITelephony;->supplyPukReportResult(Ljava/lang/String;Ljava/lang/String;)[I
-HSPLcom/android/internal/telephony/ITelephony;->supplyPukReportResultForSubscriber(ILjava/lang/String;Ljava/lang/String;)[I
-HSPLcom/android/internal/telephony/ITelephony;->switchSlots([I)Z
-HSPLcom/android/internal/telephony/ITelephony;->toggleRadioOnOff()V
-HSPLcom/android/internal/telephony/ITelephony;->toggleRadioOnOffForSubscriber(I)V
-HSPLcom/android/internal/telephony/ITelephony;->updateServiceLocation()V
-HSPLcom/android/internal/telephony/ITelephony;->updateServiceLocationForSubscriber(I)V
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->addOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->listenForSubscriber(ILjava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyActiveDataSubIdChanged(I)V
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCallForwardingChangedForSubscriber(IZ)V
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCallStateForPhoneId(IIILjava/lang/String;)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCellInfoForSubscriber(ILjava/util/List;)V
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyCellLocationForSubscriber(ILandroid/os/Bundle;)V
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDataActivityForSubscriber(II)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDataConnectionForSubscriber(IIZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;IZ)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyDataConnectionForSubscriber(IIZLjava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;IZ)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyEmergencyNumberList()V
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyMessageWaitingChangedForPhoneId(IIZ)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyOemHookRawEventForSubscriber(I[B)V
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyOtaspChanged(I)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyPhoneCapabilityChanged(Landroid/telephony/PhoneCapability;)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyPhysicalChannelConfigurationForSubscriber(ILjava/util/List;)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyPreciseCallState(IIII)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyPreciseDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;I)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyRadioPowerStateChanged(I)V
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifyServiceStateForPhoneId(IILandroid/telephony/ServiceState;)V
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifySignalStrengthForPhoneId(IILandroid/telephony/SignalStrength;)V
+HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifySimActivationStateChangedForPhoneId(IIII)V
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;->notifySubscriptionInfoChanged()V
+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;
 HSPLcom/android/internal/telephony/ITelephonyRegistry$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->addOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->listen(Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->listenForSubscriber(ILjava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyCallForwardingChanged(Z)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyCallForwardingChangedForSubscriber(IZ)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyCallState(ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyCallStateForPhoneId(IIILjava/lang/String;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyCarrierNetworkChange(Z)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyCellInfo(Ljava/util/List;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyCellInfoForSubscriber(ILjava/util/List;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyCellLocation(Landroid/os/Bundle;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyCellLocationForSubscriber(ILandroid/os/Bundle;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyDataActivity(I)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyDataActivityForSubscriber(II)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyDataConnection(IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;IZ)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyDataConnectionFailedForSubscriber(ILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyDataConnectionForSubscriber(IIZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;IZ)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyDisconnectCause(II)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyMessageWaitingChangedForPhoneId(IIZ)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyOemHookRawEventForSubscriber(I[B)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyOtaspChanged(I)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyPhysicalChannelConfiguration(Ljava/util/List;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyPhysicalChannelConfigurationForSubscriber(ILjava/util/List;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyPreciseCallState(III)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyPreciseDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyServiceStateForPhoneId(IILandroid/telephony/ServiceState;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifySignalStrengthForPhoneId(IILandroid/telephony/SignalStrength;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifySimActivationStateChangedForPhoneId(IIII)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifySubscriptionInfoChanged()V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyUserMobileDataStateChangedForPhoneId(IIZ)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->notifyVoLteServiceStateChanged(Landroid/telephony/VoLteServiceState;)V
-HSPLcom/android/internal/telephony/ITelephonyRegistry;->removeOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
 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/IccCard;->unregisterForNetworkLocked(Landroid/os/Handler;)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;
 HSPLcom/android/internal/telephony/IccPhoneBookInterfaceManager;-><init>(Lcom/android/internal/telephony/Phone;)V
@@ -40549,23 +33599,27 @@
 HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->enableCellBroadcastRange(III)Z
 HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->enableGsmBroadcastRange(II)Z
 HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->log(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->setCdmaBroadcastActivation(Z)Z
 HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->setCdmaBroadcastConfig([Lcom/android/internal/telephony/cdma/CdmaSmsBroadcastConfigInfo;)Z
 HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->setCellBroadcastActivation(Z)Z
 HSPLcom/android/internal/telephony/IccSmsInterfaceManager;->setCellBroadcastConfig([Lcom/android/internal/telephony/gsm/SmsBroadcastConfigInfo;)Z
 HSPLcom/android/internal/telephony/ImsSmsDispatcher$1;->onDeregistered(Landroid/telephony/ims/ImsReasonInfo;)V
 HSPLcom/android/internal/telephony/ImsSmsDispatcher$1;->onRegistered(I)V
 HSPLcom/android/internal/telephony/ImsSmsDispatcher$1;->onRegistering(I)V
-HSPLcom/android/internal/telephony/ImsSmsDispatcher$2;->onCapabilitiesStatusChanged(Landroid/telephony/ims/feature/ImsFeature$Capabilities;)V
+HSPLcom/android/internal/telephony/ImsSmsDispatcher$2;->onCapabilitiesStatusChanged(Landroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;)V
 HSPLcom/android/internal/telephony/ImsSmsDispatcher$4;->connectionReady(Lcom/android/ims/ImsManager;)V
 HSPLcom/android/internal/telephony/ImsSmsDispatcher;-><init>(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/SmsDispatchersController;)V
 HSPLcom/android/internal/telephony/ImsSmsDispatcher;->getFormat()Ljava/lang/String;
+HSPLcom/android/internal/telephony/ImsSmsDispatcher;->getSmsListener()Landroid/telephony/ims/aidl/IImsSmsListener;
 HSPLcom/android/internal/telephony/ImsSmsDispatcher;->setListeners()V
 HSPLcom/android/internal/telephony/InboundSmsHandler$1;-><init>()V
+HSPLcom/android/internal/telephony/InboundSmsHandler$2;-><init>()V
 HSPLcom/android/internal/telephony/InboundSmsHandler$IdleState;->enter()V
 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
 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;->getPhone()Lcom/android/internal/telephony/Phone;
 HSPLcom/android/internal/telephony/InboundSmsHandler;->getWakeLockTimeout()I
 HSPLcom/android/internal/telephony/InboundSmsHandler;->log(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/IntRangeManager$ClientRange;->equals(Ljava/lang/Object;)Z
@@ -40574,23 +33628,26 @@
 HSPLcom/android/internal/telephony/IntRangeManager;->enableRange(IILjava/lang/String;)Z
 HSPLcom/android/internal/telephony/IntRangeManager;->isEmpty()Z
 HSPLcom/android/internal/telephony/IntRangeManager;->tryAddRanges(IIZ)Z
+HSPLcom/android/internal/telephony/IntentBroadcaster$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/telephony/IntentBroadcaster;->broadcastStickyIntent(Landroid/content/Intent;I)V
-HSPLcom/android/internal/telephony/IntentBroadcaster;->getInstance(Landroid/content/Context;)Lcom/android/internal/telephony/IntentBroadcaster;
+HSPLcom/android/internal/telephony/LinkCapacityEstimate;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/LocaleTracker$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/LocaleTracker;-><init>(Lcom/android/internal/telephony/Phone;Landroid/os/Looper;)V
-HSPLcom/android/internal/telephony/LocaleTracker;->getCellInfo()V
+HSPLcom/android/internal/telephony/LocaleTracker;-><init>(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/NitzStateMachine;Landroid/os/Looper;)V
 HSPLcom/android/internal/telephony/LocaleTracker;->getCurrentCountry()Ljava/lang/String;
 HSPLcom/android/internal/telephony/LocaleTracker;->getMccFromCellInfo()Ljava/lang/String;
 HSPLcom/android/internal/telephony/LocaleTracker;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/LocaleTracker;->onSimCardStateChanged(I)V
+HSPLcom/android/internal/telephony/LocaleTracker;->processCellInfo(Landroid/os/AsyncResult;)V
+HSPLcom/android/internal/telephony/LocaleTracker;->requestNextCellInfo(Z)V
 HSPLcom/android/internal/telephony/LocaleTracker;->updateLocale()V
-HSPLcom/android/internal/telephony/LocaleTracker;->updateOperatorNumericAsync(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/LocaleTracker;->updateOperatorNumericSync(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/LocaleTracker;->updateOperatorNumeric(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/LocaleTracker;->updateTrackingStatus()V
 HSPLcom/android/internal/telephony/MccTable$MccEntry;-><init>(ILjava/lang/String;I)V
 HSPLcom/android/internal/telephony/MccTable$MccEntry;->compareTo(Lcom/android/internal/telephony/MccTable$MccEntry;)I
 HSPLcom/android/internal/telephony/MccTable$MccEntry;->compareTo(Ljava/lang/Object;)I
+HSPLcom/android/internal/telephony/MccTable;->countryCodeForMcc(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/MccTable;->setTimezoneFromMccIfNeeded(Landroid/content/Context;I)V
-HSPLcom/android/internal/telephony/MccTable;->updateMccMncConfiguration(Landroid/content/Context;Ljava/lang/String;Z)V
+HSPLcom/android/internal/telephony/MccTable;->updateMccMncConfiguration(Landroid/content/Context;Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/NetworkRegistrationManager$NetworkRegStateCallback;->onGetNetworkRegistrationStateComplete(ILandroid/telephony/NetworkRegistrationState;)V
 HSPLcom/android/internal/telephony/NetworkRegistrationManager$NetworkRegStateCallback;->onNetworkStateChanged()V
 HSPLcom/android/internal/telephony/NetworkRegistrationManager$NetworkServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
@@ -40601,29 +33658,38 @@
 HSPLcom/android/internal/telephony/NetworkRegistrationManager;->isServiceConnected()Z
 HSPLcom/android/internal/telephony/NetworkRegistrationManager;->registerForNetworkRegistrationStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/NetworkScanRequestTracker;-><init>()V
+HSPLcom/android/internal/telephony/NewNitzStateMachine;-><init>(Lcom/android/internal/telephony/GsmCdmaPhone;Lcom/android/internal/telephony/NewTimeServiceHelper;Lcom/android/internal/telephony/NitzStateMachine$DeviceState;Lcom/android/internal/telephony/TimeZoneLookupHelper;)V
+HSPLcom/android/internal/telephony/NewNitzStateMachine;->handleNetworkAvailable()V
+HSPLcom/android/internal/telephony/NewNitzStateMachine;->handleNetworkCountryCodeSet(Z)V
+HSPLcom/android/internal/telephony/NewNitzStateMachine;->handleNetworkCountryCodeUnavailable()V
+HSPLcom/android/internal/telephony/NewNitzStateMachine;->handleNitzReceived(Landroid/util/TimestampedValue;)V
+HSPLcom/android/internal/telephony/NewNitzStateMachine;->isNitzSignalOffsetInfoBogus(Landroid/util/TimestampedValue;Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/NewNitzStateMachine;->setAndBroadcastNetworkSetTimeZone(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/NewNitzStateMachine;->updateTimeFromNitz()V
+HSPLcom/android/internal/telephony/NewNitzStateMachine;->updateTimeZoneFromCountryAndNitz()V
+HSPLcom/android/internal/telephony/NewNitzStateMachine;->updateTimeZoneFromNetworkCountryCode(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/NewTimeServiceHelper;->currentTimeMillis()J
+HSPLcom/android/internal/telephony/NewTimeServiceHelper;->elapsedRealtime()J
+HSPLcom/android/internal/telephony/NewTimeServiceHelper;->isTimeZoneDetectionEnabled()Z
+HSPLcom/android/internal/telephony/NewTimeServiceHelper;->isTimeZoneSettingInitialized()Z
+HSPLcom/android/internal/telephony/NewTimeServiceHelper;->setDeviceTimeZone(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/NewTimeServiceHelper;->setDeviceTimeZoneStatic(Landroid/content/Context;Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/NewTimeServiceHelper;->setListener(Lcom/android/internal/telephony/NewTimeServiceHelper$Listener;)V
+HSPLcom/android/internal/telephony/NewTimeServiceHelper;->suggestDeviceTime(Landroid/util/TimestampedValue;)V
 HSPLcom/android/internal/telephony/NitzData;-><init>(Ljava/lang/String;ILjava/lang/Integer;JLjava/util/TimeZone;)V
 HSPLcom/android/internal/telephony/NitzData;->parse(Ljava/lang/String;)Lcom/android/internal/telephony/NitzData;
 HSPLcom/android/internal/telephony/NitzData;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/NitzStateMachine$DeviceState;-><init>(Lcom/android/internal/telephony/GsmCdmaPhone;)V
 HSPLcom/android/internal/telephony/NitzStateMachine$DeviceState;->getIgnoreNitz()Z
 HSPLcom/android/internal/telephony/NitzStateMachine$DeviceState;->getNetworkCountryIsoForPhone()Ljava/lang/String;
-HSPLcom/android/internal/telephony/NitzStateMachine;-><init>(Lcom/android/internal/telephony/GsmCdmaPhone;Lcom/android/internal/telephony/TimeServiceHelper;Lcom/android/internal/telephony/NitzStateMachine$DeviceState;Lcom/android/internal/telephony/TimeZoneLookupHelper;)V
-HSPLcom/android/internal/telephony/NitzStateMachine;->handleNetworkAvailable()V
-HSPLcom/android/internal/telephony/NitzStateMachine;->handleNetworkCountryCodeSet(Z)V
-HSPLcom/android/internal/telephony/NitzStateMachine;->handleNetworkUnavailable()V
-HSPLcom/android/internal/telephony/NitzStateMachine;->handleNitzReceived(Lcom/android/internal/telephony/util/TimeStampedValue;)V
-HSPLcom/android/internal/telephony/NitzStateMachine;->handleTimeFromNitz(Lcom/android/internal/telephony/util/TimeStampedValue;)V
-HSPLcom/android/internal/telephony/NitzStateMachine;->handleTimeZoneFromNitz(Lcom/android/internal/telephony/util/TimeStampedValue;)V
-HSPLcom/android/internal/telephony/NitzStateMachine;->setAndBroadcastNetworkSetTime(Ljava/lang/String;J)V
-HSPLcom/android/internal/telephony/NitzStateMachine;->setAndBroadcastNetworkSetTimeZone(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/NitzStateMachine;->updateTimeZoneByNetworkCountryCode(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/OemHookIndication;->oemHookRaw(ILjava/util/ArrayList;)V
+HSPLcom/android/internal/telephony/NitzStateMachine$DeviceState;->getNitzUpdateDiffMillis()I
+HSPLcom/android/internal/telephony/NitzStateMachine$DeviceState;->getNitzUpdateSpacingMillis()I
 HSPLcom/android/internal/telephony/Phone;-><init>(Ljava/lang/String;Lcom/android/internal/telephony/PhoneNotifier;Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;ZILcom/android/internal/telephony/TelephonyComponentFactory;)V
 HSPLcom/android/internal/telephony/Phone;->getActionAttached()Ljava/lang/String;
 HSPLcom/android/internal/telephony/Phone;->getActionDetached()Ljava/lang/String;
 HSPLcom/android/internal/telephony/Phone;->getActiveApnHost(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/Phone;->getActiveApnTypes()[Ljava/lang/String;
-HSPLcom/android/internal/telephony/Phone;->getAllCellInfo(Landroid/os/WorkSource;)Ljava/util/List;
+HSPLcom/android/internal/telephony/Phone;->getAllCellInfo()Ljava/util/List;
 HSPLcom/android/internal/telephony/Phone;->getCallForwardingIndicator()Z
 HSPLcom/android/internal/telephony/Phone;->getCallForwardingIndicatorFromSharedPref()I
 HSPLcom/android/internal/telephony/Phone;->getCarrierActionAgent()Lcom/android/internal/telephony/CarrierActionAgent;
@@ -40631,13 +33697,15 @@
 HSPLcom/android/internal/telephony/Phone;->getCellLocation()Landroid/telephony/CellLocation;
 HSPLcom/android/internal/telephony/Phone;->getContext()Landroid/content/Context;
 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;
 HSPLcom/android/internal/telephony/Phone;->getHandler()Landroid/os/Handler;
 HSPLcom/android/internal/telephony/Phone;->getIccRecords()Lcom/android/internal/telephony/uicc/IccRecords;
 HSPLcom/android/internal/telephony/Phone;->getImsPhone()Lcom/android/internal/telephony/Phone;
 HSPLcom/android/internal/telephony/Phone;->getLinkProperties(Ljava/lang/String;)Landroid/net/LinkProperties;
 HSPLcom/android/internal/telephony/Phone;->getLocaleFromCarrierProperties(Landroid/content/Context;)Ljava/util/Locale;
 HSPLcom/android/internal/telephony/Phone;->getMessageWaitingIndicator()Z
-HSPLcom/android/internal/telephony/Phone;->getModemActivityInfo(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/Phone;->getModemActivityInfo(Landroid/os/Message;Landroid/os/WorkSource;)V
 HSPLcom/android/internal/telephony/Phone;->getNetworkCapabilities(Ljava/lang/String;)Landroid/net/NetworkCapabilities;
 HSPLcom/android/internal/telephony/Phone;->getPhoneId()I
 HSPLcom/android/internal/telephony/Phone;->getPhoneName()Ljava/lang/String;
@@ -40652,25 +33720,29 @@
 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
-HSPLcom/android/internal/telephony/Phone;->isDataAllowed()Z
-HSPLcom/android/internal/telephony/Phone;->isDataAllowed(Lcom/android/internal/telephony/dataconnection/DataConnectionReasons;)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;->isInEcm()Z
 HSPLcom/android/internal/telephony/Phone;->isShuttingDown()Z
 HSPLcom/android/internal/telephony/Phone;->isVideoEnabled()Z
 HSPLcom/android/internal/telephony/Phone;->isWifiCallingEnabled()Z
+HSPLcom/android/internal/telephony/Phone;->notifyCellInfo(Ljava/util/List;)V
+HSPLcom/android/internal/telephony/Phone;->notifyDataActivationStateChanged(I)V
 HSPLcom/android/internal/telephony/Phone;->notifyDataActivity()V
+HSPLcom/android/internal/telephony/Phone;->notifyDataConnection()V
 HSPLcom/android/internal/telephony/Phone;->notifyDataConnection(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/Phone;->notifyDataConnection(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/Phone;->notifyDataConnection(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/PhoneConstants$DataState;)V
+HSPLcom/android/internal/telephony/Phone;->notifyDataConnection(Ljava/lang/String;Lcom/android/internal/telephony/PhoneConstants$DataState;)V
+HSPLcom/android/internal/telephony/Phone;->notifyEmergencyNumberList()V
 HSPLcom/android/internal/telephony/Phone;->notifyForVideoCapabilityChanged(Z)V
 HSPLcom/android/internal/telephony/Phone;->notifyOtaspChanged(I)V
+HSPLcom/android/internal/telephony/Phone;->notifyPhysicalChannelConfiguration(Ljava/util/List;)V
+HSPLcom/android/internal/telephony/Phone;->notifyPreciseDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;I)V
 HSPLcom/android/internal/telephony/Phone;->notifySignalStrength()V
-HSPLcom/android/internal/telephony/Phone;->privatizeCellInfoList(Ljava/util/List;)Ljava/util/List;
-HSPLcom/android/internal/telephony/Phone;->queryTTYMode(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/Phone;->notifyVoiceActivationStateChanged(I)V
 HSPLcom/android/internal/telephony/Phone;->radioCapabilityUpdated(Lcom/android/internal/telephony/RadioCapability;)V
 HSPLcom/android/internal/telephony/Phone;->registerForCallWaiting(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/Phone;->registerForCdmaOtaStatusChange(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->registerForDataEnabledChanged(Landroid/os/Handler;ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/Phone;->registerForCellInfo(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/Phone;->registerForDisconnect(Landroid/os/Handler;ILjava/lang/Object;)V
 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
@@ -40693,10 +33765,12 @@
 HSPLcom/android/internal/telephony/Phone;->registerForTtyModeReceived(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/Phone;->registerForUnknownConnection(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/Phone;->registerForVideoCapabilityChanged(Landroid/os/Handler;ILjava/lang/Object;)V
+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;->setCdmaRoamingPreference(ILandroid/os/Message;)V
+HSPLcom/android/internal/telephony/Phone;->setCellInfoMinInterval(I)V
+HSPLcom/android/internal/telephony/Phone;->setGlobalSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/Phone;->setOnPostDialCharacter(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/Phone;->setPolicyDataEnabled(Z)V
+HSPLcom/android/internal/telephony/Phone;->setPhoneName(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/Phone;->setPreferredNetworkType(ILandroid/os/Message;)V
 HSPLcom/android/internal/telephony/Phone;->setPreferredNetworkTypeIfSimLoaded()V
 HSPLcom/android/internal/telephony/Phone;->setSystemProperty(Ljava/lang/String;Ljava/lang/String;)V
@@ -40708,6 +33782,10 @@
 HSPLcom/android/internal/telephony/Phone;->unregisterForVideoCapabilityChanged(Landroid/os/Handler;)V
 HSPLcom/android/internal/telephony/Phone;->updateDataConnectionTracker()V
 HSPLcom/android/internal/telephony/Phone;->updateImsPhone()V
+HSPLcom/android/internal/telephony/PhoneConfigurationManager;-><init>(Landroid/content/Context;)V
+HSPLcom/android/internal/telephony/PhoneConfigurationManager;->getInstance()Lcom/android/internal/telephony/PhoneConfigurationManager;
+HSPLcom/android/internal/telephony/PhoneConfigurationManager;->getNumberOfModemsWithSimultaneousDataConnections()I
+HSPLcom/android/internal/telephony/PhoneConfigurationManager;->init(Landroid/content/Context;)Lcom/android/internal/telephony/PhoneConfigurationManager;
 HSPLcom/android/internal/telephony/PhoneConstantConversions;->convertCallState(Lcom/android/internal/telephony/PhoneConstants$State;)I
 HSPLcom/android/internal/telephony/PhoneConstantConversions;->convertDataState(I)Lcom/android/internal/telephony/PhoneConstants$DataState;
 HSPLcom/android/internal/telephony/PhoneConstantConversions;->convertDataState(Lcom/android/internal/telephony/PhoneConstants$DataState;)I
@@ -40715,58 +33793,51 @@
 HSPLcom/android/internal/telephony/PhoneConstants$DataState;->values()[Lcom/android/internal/telephony/PhoneConstants$DataState;
 HSPLcom/android/internal/telephony/PhoneConstants$State;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/internal/telephony/PhoneConstants$State;->values()[Lcom/android/internal/telephony/PhoneConstants$State;
+HSPLcom/android/internal/telephony/PhoneFactory;->addLocalLog(Ljava/lang/String;I)V
 HSPLcom/android/internal/telephony/PhoneFactory;->calculatePreferredNetworkType(Landroid/content/Context;I)I
 HSPLcom/android/internal/telephony/PhoneFactory;->getDefaultPhone()Lcom/android/internal/telephony/Phone;
 HSPLcom/android/internal/telephony/PhoneFactory;->getImsResolver()Lcom/android/internal/telephony/ims/ImsResolver;
 HSPLcom/android/internal/telephony/PhoneFactory;->getPhone(I)Lcom/android/internal/telephony/Phone;
 HSPLcom/android/internal/telephony/PhoneFactory;->getPhones()[Lcom/android/internal/telephony/Phone;
+HSPLcom/android/internal/telephony/PhoneFactory;->localLog(Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/PhoneFactory;->makeDefaultPhone(Landroid/content/Context;)V
 HSPLcom/android/internal/telephony/PhoneFactory;->makeDefaultPhones(Landroid/content/Context;)V
 HSPLcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;->values()[Lcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyCallForwardingChanged(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyCellInfo(Lcom/android/internal/telephony/Phone;Ljava/util/List;)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyCellLocation(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyDataActivationStateChanged(Lcom/android/internal/telephony/Phone;I)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyDataActivity(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyDataConnection(Lcom/android/internal/telephony/Phone;Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/PhoneConstants$DataState;)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyDataConnectionFailed(Lcom/android/internal/telephony/Phone;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyDisconnectCause(II)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyMessageWaitingChanged(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyOemHookRawEventForSubscriber(I[B)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyOtaspChanged(Lcom/android/internal/telephony/Phone;I)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyPhoneState(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyPhysicalChannelConfiguration(Lcom/android/internal/telephony/Phone;Ljava/util/List;)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyPreciseCallState(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyPreciseDataConnectionFailed(Lcom/android/internal/telephony/Phone;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyServiceState(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifySignalStrength(Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyUserMobileDataStateChanged(Lcom/android/internal/telephony/Phone;Z)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyVoLteServiceStateChanged(Lcom/android/internal/telephony/Phone;Landroid/telephony/VoLteServiceState;)V
-HSPLcom/android/internal/telephony/PhoneNotifier;->notifyVoiceActivationStateChanged(Lcom/android/internal/telephony/Phone;I)V
 HSPLcom/android/internal/telephony/PhoneStateIntentReceiver;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
 HSPLcom/android/internal/telephony/PhoneStateIntentReceiver;->notifyServiceState(I)V
-HSPLcom/android/internal/telephony/PhoneSubInfoController;-><init>(Landroid/content/Context;[Lcom/android/internal/telephony/Phone;)V
+HSPLcom/android/internal/telephony/PhoneSubInfoController;->callPhoneMethodWithPermissionCheck(ILjava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/PhoneSubInfoController$CallPhoneMethodHelper;Lcom/android/internal/telephony/PhoneSubInfoController$PermissionCheckHelper;)Ljava/lang/Object;
 HSPLcom/android/internal/telephony/PhoneSubInfoController;->getCarrierInfoForImsiEncryption(IILjava/lang/String;)Landroid/telephony/ImsiEncryptionInfo;
 HSPLcom/android/internal/telephony/PhoneSubInfoController;->getGroupIdLevel1ForSubscriber(ILjava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/PhoneSubInfoController;->getIsimIst(I)Ljava/lang/String;
 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;
-HSPLcom/android/internal/telephony/PhoneSwitcher$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HSPLcom/android/internal/telephony/PhoneSwitcher$2;->onSubscriptionsChanged()V
+HSPLcom/android/internal/telephony/PhoneSwitcher$1;->onAvailable(Landroid/net/Network;)V
+HSPLcom/android/internal/telephony/PhoneSwitcher$3;->onPreciseCallStateChanged(Landroid/telephony/PreciseCallState;)V
+HSPLcom/android/internal/telephony/PhoneSwitcher$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HSPLcom/android/internal/telephony/PhoneSwitcher$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HSPLcom/android/internal/telephony/PhoneSwitcher$4;->onSubscriptionsChanged()V
+HSPLcom/android/internal/telephony/PhoneSwitcher$5;->onSubscriptionsChanged()V
 HSPLcom/android/internal/telephony/PhoneSwitcher$PhoneSwitcherNetworkRequestListener;->needNetworkFor(Landroid/net/NetworkRequest;I)V
+HSPLcom/android/internal/telephony/PhoneSwitcher$PhoneSwitcherNetworkRequestListener;->releaseNetworkFor(Landroid/net/NetworkRequest;)V
 HSPLcom/android/internal/telephony/PhoneSwitcher;-><init>(IILandroid/content/Context;Lcom/android/internal/telephony/SubscriptionController;Landroid/os/Looper;Lcom/android/internal/telephony/ITelephonyRegistry;[Lcom/android/internal/telephony/CommandsInterface;[Lcom/android/internal/telephony/Phone;)V
-HSPLcom/android/internal/telephony/PhoneSwitcher;->activate(I)V
-HSPLcom/android/internal/telephony/PhoneSwitcher;->deactivate(I)V
+HSPLcom/android/internal/telephony/PhoneSwitcher;->getPreferredDataPhoneId()I
+HSPLcom/android/internal/telephony/PhoneSwitcher;->getSubIdFromNetworkRequest(Landroid/net/NetworkRequest;)I
 HSPLcom/android/internal/telephony/PhoneSwitcher;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/PhoneSwitcher;->isPhoneActive(I)Z
+HSPLcom/android/internal/telephony/PhoneSwitcher;->notifyActiveDataSubIdChanged(I)V
 HSPLcom/android/internal/telephony/PhoneSwitcher;->onEvaluate(ZLjava/lang/String;)V
+HSPLcom/android/internal/telephony/PhoneSwitcher;->onRequestNetwork(Landroid/net/NetworkRequest;)V
 HSPLcom/android/internal/telephony/PhoneSwitcher;->phoneIdForRequest(Landroid/net/NetworkRequest;)I
-HSPLcom/android/internal/telephony/PhoneSwitcher;->registerForActivePhoneSwitch(ILandroid/os/Handler;ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/PhoneSwitcher;->registerDefaultNetworkChangeCallback()V
+HSPLcom/android/internal/telephony/PhoneSwitcher;->registerForActivePhoneSwitch(Landroid/os/Handler;ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/PhoneSwitcher;->removeDefaultNetworkChangeCallback()V
+HSPLcom/android/internal/telephony/PhoneSwitcher;->shouldApplyNetworkRequest(Landroid/net/NetworkRequest;I)Z
+HSPLcom/android/internal/telephony/PhoneSwitcher;->switchPhone(IZ)V
+HSPLcom/android/internal/telephony/PhoneSwitcher;->updatePhoneIdForDefaultNetworkRequests()V
+HSPLcom/android/internal/telephony/PhoneSwitcher;->validatePhoneId(I)V
 HSPLcom/android/internal/telephony/ProxyController;-><init>(Landroid/content/Context;[Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/uicc/UiccController;[Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneSwitcher;)V
 HSPLcom/android/internal/telephony/ProxyController;->clearTransaction()V
-HSPLcom/android/internal/telephony/ProxyController;->getInstance(Landroid/content/Context;[Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/uicc/UiccController;[Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/PhoneSwitcher;)Lcom/android/internal/telephony/ProxyController;
 HSPLcom/android/internal/telephony/ProxyController;->getMaxRafSupported()I
 HSPLcom/android/internal/telephony/ProxyController;->setRadioCapability([Landroid/telephony/RadioAccessFamily;)Z
 HSPLcom/android/internal/telephony/RIL$RilHandler;->handleMessage(Landroid/os/Message;)V
@@ -40775,15 +33846,16 @@
 HSPLcom/android/internal/telephony/RIL;->addRequest(Lcom/android/internal/telephony/RILRequest;)V
 HSPLcom/android/internal/telephony/RIL;->addToRilHistogram(Lcom/android/internal/telephony/RILRequest;)V
 HSPLcom/android/internal/telephony/RIL;->clearWakeLock(I)Z
-HSPLcom/android/internal/telephony/RIL;->convertHalCellInfoList(Ljava/util/ArrayList;)Ljava/util/ArrayList;
+HSPLcom/android/internal/telephony/RIL;->convertDataCallResult(Ljava/lang/Object;)Landroid/telephony/data/DataCallResponse;
+HSPLcom/android/internal/telephony/RIL;->convertHalCellInfoList_1_2(Ljava/util/ArrayList;)Ljava/util/ArrayList;
 HSPLcom/android/internal/telephony/RIL;->convertHalHwConfigList(Ljava/util/ArrayList;Lcom/android/internal/telephony/RIL;)Ljava/util/ArrayList;
 HSPLcom/android/internal/telephony/RIL;->convertHalRadioCapability(Landroid/hardware/radio/V1_0/RadioCapability;Lcom/android/internal/telephony/RIL;)Lcom/android/internal/telephony/RadioCapability;
-HSPLcom/android/internal/telephony/RIL;->convertHalSignalStrength(Landroid/hardware/radio/V1_0/SignalStrength;)Landroid/telephony/SignalStrength;
-HSPLcom/android/internal/telephony/RIL;->convertToHalDataProfile(Landroid/telephony/data/DataProfile;)Landroid/hardware/radio/V1_0/DataProfileInfo;
-HSPLcom/android/internal/telephony/RIL;->convertToHalMvnoType(Ljava/lang/String;)I
+HSPLcom/android/internal/telephony/RIL;->convertToHalDataProfile10(Landroid/telephony/data/DataProfile;)Landroid/hardware/radio/V1_0/DataProfileInfo;
+HSPLcom/android/internal/telephony/RIL;->deactivateDataCall(IILandroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->decrementWakeLock(Lcom/android/internal/telephony/RILRequest;)V
 HSPLcom/android/internal/telephony/RIL;->findAndRemoveRequestFromList(I)Lcom/android/internal/telephony/RILRequest;
 HSPLcom/android/internal/telephony/RIL;->getBasebandVersion(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/RIL;->getCDMASubscription(Landroid/os/Message;)V
 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
@@ -40793,7 +33865,8 @@
 HSPLcom/android/internal/telephony/RIL;->getIMSIForApp(Ljava/lang/String;Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->getIccCardStatus(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->getImsRegistrationState(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->getModemActivityInfo(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/RIL;->getIwlanOperationMode()I
+HSPLcom/android/internal/telephony/RIL;->getModemActivityInfo(Landroid/os/Message;Landroid/os/WorkSource;)V
 HSPLcom/android/internal/telephony/RIL;->getNetworkSelectionMode(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->getOemHookProxy(Landroid/os/Message;)Landroid/hardware/radio/deprecated/V1_0/IOemHook;
 HSPLcom/android/internal/telephony/RIL;->getOperator(Landroid/os/Message;)V
@@ -40811,7 +33884,6 @@
 HSPLcom/android/internal/telephony/RIL;->processResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)Lcom/android/internal/telephony/RILRequest;
 HSPLcom/android/internal/telephony/RIL;->processResponseDone(Lcom/android/internal/telephony/RILRequest;Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/Object;)V
 HSPLcom/android/internal/telephony/RIL;->queryFacilityLockForApp(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->queryTTYMode(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->reportStkServiceIsRunning(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->requestToString(I)Ljava/lang/String;
 HSPLcom/android/internal/telephony/RIL;->responseToString(I)Ljava/lang/String;
@@ -40821,11 +33893,12 @@
 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;->setCLIR(ILandroid/os/Message;)V
+HSPLcom/android/internal/telephony/RIL;->setCdmaBroadcastActivation(ZLandroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->setCdmaBroadcastConfig([Lcom/android/internal/telephony/cdma/CdmaSmsBroadcastConfigInfo;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setCdmaRoamingPreference(ILandroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->setCdmaSubscriptionSource(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setCellInfoListRate()V
-HSPLcom/android/internal/telephony/RIL;->setCellInfoListRate(ILandroid/os/Message;Landroid/os/WorkSource;)V
+HSPLcom/android/internal/telephony/RIL;->setDataProfile([Landroid/telephony/data/DataProfile;ZLandroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->setGsmBroadcastActivation(ZLandroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->setGsmBroadcastConfig([Lcom/android/internal/telephony/gsm/SmsBroadcastConfigInfo;Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->setInitialAttachApn(Landroid/telephony/data/DataProfile;ZLandroid/os/Message;)V
@@ -40835,7 +33908,6 @@
 HSPLcom/android/internal/telephony/RIL;->setPreferredNetworkType(ILandroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->setRadioPower(ZLandroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->setSignalStrengthReportingCriteria(II[IILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/RIL;->setTTYMode(ILandroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->setUnsolResponseFilter(ILandroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->setupDataCall(ILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/RIL;->startLceService(IZLandroid/os/Message;)V
@@ -40843,9 +33915,6 @@
 HSPLcom/android/internal/telephony/RIL;->unsljLogMore(ILjava/lang/String;)V
 HSPLcom/android/internal/telephony/RIL;->unsljLogRet(ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/RIL;->unsljLogvRet(ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/RIL;->writeToParcelForGsm(Landroid/os/Parcel;IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;III)V
-HSPLcom/android/internal/telephony/RIL;->writeToParcelForLte(Landroid/os/Parcel;IIIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIIII)V
-HSPLcom/android/internal/telephony/RIL;->writeToParcelForWcdma(Landroid/os/Parcel;IIIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;II)V
 HSPLcom/android/internal/telephony/RILRequest;->getWorkSourceClientId()Ljava/lang/String;
 HSPLcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest;
 HSPLcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;Landroid/os/WorkSource;)Lcom/android/internal/telephony/RILRequest;
@@ -40860,76 +33929,110 @@
 HSPLcom/android/internal/telephony/RadioCapability;->getVersion()I
 HSPLcom/android/internal/telephony/RadioCapability;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/RadioConfig;-><init>(Landroid/content/Context;)V
+HSPLcom/android/internal/telephony/RadioConfig;->convertHalSlotStatus(Ljava/util/ArrayList;)Ljava/util/ArrayList;
+HSPLcom/android/internal/telephony/RadioConfig;->findAndRemoveRequestFromList(I)Lcom/android/internal/telephony/RILRequest;
 HSPLcom/android/internal/telephony/RadioConfig;->getRadioConfigProxy(Landroid/os/Message;)Landroid/hardware/radio/config/V1_0/IRadioConfig;
 HSPLcom/android/internal/telephony/RadioConfig;->getSimSlotsStatus(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/RadioConfig;->isSetPreferredDataCommandSupported()Z
+HSPLcom/android/internal/telephony/RadioConfig;->obtainRequest(ILandroid/os/Message;Landroid/os/WorkSource;)Lcom/android/internal/telephony/RILRequest;
+HSPLcom/android/internal/telephony/RadioConfig;->processResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)Lcom/android/internal/telephony/RILRequest;
 HSPLcom/android/internal/telephony/RadioConfig;->registerForSimSlotStatusChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/RadioIndication;->currentSignalStrength(ILandroid/hardware/radio/V1_0/SignalStrength;)V
+HSPLcom/android/internal/telephony/RadioConfig;->setPreferredDataModem(ILandroid/os/Message;)V
+HSPLcom/android/internal/telephony/RadioConfig;->setSimSlotsMapping([ILandroid/os/Message;)V
+HSPLcom/android/internal/telephony/RadioConfig;->updateRadioConfigProxy()V
+HSPLcom/android/internal/telephony/RadioConfigIndication;->simSlotsStatusChanged(ILjava/util/ArrayList;)V
+HSPLcom/android/internal/telephony/RadioConfigResponse;->getSimSlotsStatusResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
+HSPLcom/android/internal/telephony/RadioConfigResponse;->setPreferredDataModemResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
+HSPLcom/android/internal/telephony/RadioConfigResponse;->setSimSlotsMappingResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
+HSPLcom/android/internal/telephony/RadioIndication;->cdmaPrlChanged(II)V
+HSPLcom/android/internal/telephony/RadioIndication;->convertConnectionStatusFromCellConnectionStatus(I)I
+HSPLcom/android/internal/telephony/RadioIndication;->currentLinkCapacityEstimate(ILandroid/hardware/radio/V1_2/LinkCapacityEstimate;)V
+HSPLcom/android/internal/telephony/RadioIndication;->currentPhysicalChannelConfigs(ILjava/util/ArrayList;)V
+HSPLcom/android/internal/telephony/RadioIndication;->currentSignalStrength_1_2(ILandroid/hardware/radio/V1_2/SignalStrength;)V
 HSPLcom/android/internal/telephony/RadioIndication;->dataCallListChanged(ILjava/util/ArrayList;)V
-HSPLcom/android/internal/telephony/RadioIndication;->getRadioStateFromInt(I)Lcom/android/internal/telephony/CommandsInterface$RadioState;
+HSPLcom/android/internal/telephony/RadioIndication;->getRadioStateFromInt(I)I
 HSPLcom/android/internal/telephony/RadioIndication;->imsNetworkStateChanged(I)V
 HSPLcom/android/internal/telephony/RadioIndication;->networkStateChanged(I)V
 HSPLcom/android/internal/telephony/RadioIndication;->nitzTimeReceived(ILjava/lang/String;J)V
+HSPLcom/android/internal/telephony/RadioIndication;->pcoData(ILandroid/hardware/radio/V1_0/PcoDataInfo;)V
+HSPLcom/android/internal/telephony/RadioIndication;->physicalChannelConfigsIndication(Ljava/util/List;)V
 HSPLcom/android/internal/telephony/RadioIndication;->radioStateChanged(II)V
+HSPLcom/android/internal/telephony/RadioIndication;->restrictedStateChanged(II)V
 HSPLcom/android/internal/telephony/RadioIndication;->rilConnected(I)V
+HSPLcom/android/internal/telephony/RadioIndication;->simStatusChanged(I)V
+HSPLcom/android/internal/telephony/RadioIndication;->stkProactiveCommand(ILjava/lang/String;)V
+HSPLcom/android/internal/telephony/RadioIndication;->stkSessionEnd(I)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
 HSPLcom/android/internal/telephony/RadioResponse;->getBasebandVersionResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/RadioResponse;->getCDMASubscriptionResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/RadioResponse;->getCdmaSubscriptionSourceResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)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;->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
+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
 HSPLcom/android/internal/telephony/RadioResponse;->getHardwareConfigResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
 HSPLcom/android/internal/telephony/RadioResponse;->getIMSIForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;)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;->getIccCardStatusResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_2/CardStatus;)V
 HSPLcom/android/internal/telephony/RadioResponse;->getImsRegistrationStateResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;ZI)V
 HSPLcom/android/internal/telephony/RadioResponse;->getModemActivityInfoResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/ActivityStatsInfo;)V
 HSPLcom/android/internal/telephony/RadioResponse;->getNetworkSelectionModeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Z)V
 HSPLcom/android/internal/telephony/RadioResponse;->getOperatorResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/RadioResponse;->getRadioCapabilityResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/RadioCapability;)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;->getTTYModeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)V
+HSPLcom/android/internal/telephony/RadioResponse;->getSignalStrengthResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_2/SignalStrength;)V
 HSPLcom/android/internal/telephony/RadioResponse;->getVoiceRadioTechnologyResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;I)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;->getVoiceRegistrationStateResponse_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_2/VoiceRegStateResult;)V
 HSPLcom/android/internal/telephony/RadioResponse;->iccCloseLogicalChannelResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
 HSPLcom/android/internal/telephony/RadioResponse;->iccIOForAppResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/IccIoResult;)V
 HSPLcom/android/internal/telephony/RadioResponse;->iccOpenLogicalChannelResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;ILjava/util/ArrayList;)V
 HSPLcom/android/internal/telephony/RadioResponse;->iccTransmitApduLogicalChannelResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/IccIoResult;)V
 HSPLcom/android/internal/telephony/RadioResponse;->reportStkServiceIsRunningResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
 HSPLcom/android/internal/telephony/RadioResponse;->responseActivityData(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/ActivityStatsInfo;)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;->responseCurrentCalls_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)V
+HSPLcom/android/internal/telephony/RadioResponse;->responseIccCardStatus_1_2(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_2/CardStatus;)V
 HSPLcom/android/internal/telephony/RadioResponse;->responseIccIo(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/IccIoResult;)V
 HSPLcom/android/internal/telephony/RadioResponse;->responseIntArrayList(Landroid/hardware/radio/V1_0/RadioResponseInfo;Ljava/util/ArrayList;)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;->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;->setCdmaBroadcastActivationResponse(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;->setCdmaRoamingPreferenceResponse(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;->setCellInfoListRateResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
+HSPLcom/android/internal/telephony/RadioResponse;->setClirResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
+HSPLcom/android/internal/telephony/RadioResponse;->setDataProfileResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
 HSPLcom/android/internal/telephony/RadioResponse;->setGsmBroadcastActivationResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
 HSPLcom/android/internal/telephony/RadioResponse;->setGsmBroadcastConfigResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
 HSPLcom/android/internal/telephony/RadioResponse;->setIndicationFilterResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
 HSPLcom/android/internal/telephony/RadioResponse;->setInitialAttachApnResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
+HSPLcom/android/internal/telephony/RadioResponse;->setLinkCapacityReportingCriteriaResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
 HSPLcom/android/internal/telephony/RadioResponse;->setPreferredNetworkTypeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
 HSPLcom/android/internal/telephony/RadioResponse;->setRadioPowerResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
-HSPLcom/android/internal/telephony/RadioResponse;->setTTYModeResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
+HSPLcom/android/internal/telephony/RadioResponse;->setSignalStrengthReportingCriteriaResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;)V
 HSPLcom/android/internal/telephony/RadioResponse;->setupDataCallResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/SetupDataCallResult;)V
-HSPLcom/android/internal/telephony/RadioResponse;->startLceServiceResponse(Landroid/hardware/radio/V1_0/RadioResponseInfo;Landroid/hardware/radio/V1_0/LceStatusInfo;)V
 HSPLcom/android/internal/telephony/RatRatcheter$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/telephony/RatRatcheter;-><init>(Lcom/android/internal/telephony/Phone;)V
 HSPLcom/android/internal/telephony/RatRatcheter;->isSameRatFamily(Landroid/telephony/ServiceState;Landroid/telephony/ServiceState;)Z
 HSPLcom/android/internal/telephony/RatRatcheter;->ratchet(Landroid/telephony/ServiceState;Landroid/telephony/ServiceState;Z)V
+HSPLcom/android/internal/telephony/RatRatcheter;->ratchetRat(II)I
 HSPLcom/android/internal/telephony/RatRatcheter;->resetRatFamilyMap()V
+HSPLcom/android/internal/telephony/RatRatcheter;->updateBandwidths([ILandroid/telephony/ServiceState;)Z
+HSPLcom/android/internal/telephony/RestrictedState;->isCsEmergencyRestricted()Z
+HSPLcom/android/internal/telephony/RestrictedState;->isCsNormalRestricted()Z
+HSPLcom/android/internal/telephony/RestrictedState;->isCsRestricted()Z
 HSPLcom/android/internal/telephony/RestrictedState;->isPsRestricted()Z
+HSPLcom/android/internal/telephony/RestrictedState;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/RetryManager;-><init>(Lcom/android/internal/telephony/Phone;Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/RetryManager;->configure(Ljava/lang/String;)Z
 HSPLcom/android/internal/telephony/RetryManager;->configureRetry()V
-HSPLcom/android/internal/telephony/RetryManager;->getNextApnSetting()Lcom/android/internal/telephony/dataconnection/ApnSetting;
+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;
+HSPLcom/android/internal/telephony/RetryManager;->setModemSuggestedDelay(J)V
 HSPLcom/android/internal/telephony/RetryManager;->setWaitingApns(Ljava/util/ArrayList;)V
 HSPLcom/android/internal/telephony/RilWakelockInfo;->getRilRequestSent()I
 HSPLcom/android/internal/telephony/RilWakelockInfo;->getTokenNumber()I
@@ -40943,62 +34046,85 @@
 HSPLcom/android/internal/telephony/ServiceStateTracker;-><init>(Lcom/android/internal/telephony/GsmCdmaPhone;Lcom/android/internal/telephony/CommandsInterface;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->cancelAllNotifications()V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->cancelPollState()V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->combinePsRegistrationStates(Landroid/telephony/ServiceState;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->containsEarfcnInEarfcnRange(Ljava/util/ArrayList;I)Z
 HSPLcom/android/internal/telephony/ServiceStateTracker;->convertEarfcnStringArrayToPairList([Ljava/lang/String;)Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getAllCellInfo(Landroid/os/WorkSource;)Ljava/util/List;
+HSPLcom/android/internal/telephony/ServiceStateTracker;->getAllCellInfo()Ljava/util/List;
+HSPLcom/android/internal/telephony/ServiceStateTracker;->getBandwidthsFromConfigs(Ljava/util/List;)[I
 HSPLcom/android/internal/telephony/ServiceStateTracker;->getCarrierConfig()Landroid/os/PersistableBundle;
-HSPLcom/android/internal/telephony/ServiceStateTracker;->getCellLocation(Landroid/os/WorkSource;)Landroid/telephony/CellLocation;
+HSPLcom/android/internal/telephony/ServiceStateTracker;->getCellLocation()Landroid/telephony/CellLocation;
+HSPLcom/android/internal/telephony/ServiceStateTracker;->getCellLocationFromCellInfo(Ljava/util/List;)Landroid/telephony/CellLocation;
+HSPLcom/android/internal/telephony/ServiceStateTracker;->getCidFromCellIdentity(Landroid/telephony/CellIdentity;)I
 HSPLcom/android/internal/telephony/ServiceStateTracker;->getCombinedRegState()I
 HSPLcom/android/internal/telephony/ServiceStateTracker;->getCurrentDataConnectionState()I
 HSPLcom/android/internal/telephony/ServiceStateTracker;->getDesiredPowerState()Z
 HSPLcom/android/internal/telephony/ServiceStateTracker;->getLocaleTracker()Lcom/android/internal/telephony/LocaleTracker;
+HSPLcom/android/internal/telephony/ServiceStateTracker;->getMdnNumber()Ljava/lang/String;
 HSPLcom/android/internal/telephony/ServiceStateTracker;->getOtasp()I
 HSPLcom/android/internal/telephony/ServiceStateTracker;->getPhoneId()I
 HSPLcom/android/internal/telephony/ServiceStateTracker;->getPowerStateFromCarrier()Z
 HSPLcom/android/internal/telephony/ServiceStateTracker;->getSignalStrength()Landroid/telephony/SignalStrength;
 HSPLcom/android/internal/telephony/ServiceStateTracker;->getUiccCardApplication()Lcom/android/internal/telephony/uicc/UiccCardApplication;
+HSPLcom/android/internal/telephony/ServiceStateTracker;->handleCdmaSubscriptionSource(I)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->handlePollStateResult(ILandroid/os/AsyncResult;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->handlePollStateResultMessage(ILandroid/os/AsyncResult;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->iccCardExists()Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->isCallerOnDifferentThread()Z
 HSPLcom/android/internal/telephony/ServiceStateTracker;->isConcurrentVoiceAndDataAllowed()Z
 HSPLcom/android/internal/telephony/ServiceStateTracker;->isDeviceShuttingDown()Z
-HSPLcom/android/internal/telephony/ServiceStateTracker;->isGprsConsistent(II)Z
 HSPLcom/android/internal/telephony/ServiceStateTracker;->isInvalidOperatorNumeric(Ljava/lang/String;)Z
 HSPLcom/android/internal/telephony/ServiceStateTracker;->isMinInfoReady()Z
+HSPLcom/android/internal/telephony/ServiceStateTracker;->isNrStatusChanged(Landroid/telephony/NetworkRegistrationState;Landroid/telephony/NetworkRegistrationState;)Z
 HSPLcom/android/internal/telephony/ServiceStateTracker;->isRadioOn()Z
+HSPLcom/android/internal/telephony/ServiceStateTracker;->isSidsAllZeros()Z
+HSPLcom/android/internal/telephony/ServiceStateTracker;->isSimAbsent()Z
 HSPLcom/android/internal/telephony/ServiceStateTracker;->log(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->logAttachChange()V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->logMdnChange(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->logRatChange()V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->loge(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->networkCountryIsoChanged(Ljava/lang/String;Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/ServiceStateTracker;->modemTriggeredPollState()V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->notifyCdmaSubscriptionInfoReady()V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->notifyDataRegStateRilRadioTechnologyChanged()V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->notifySignalStrength()Z
+HSPLcom/android/internal/telephony/ServiceStateTracker;->notifyVoiceRegStateRilRadioTechnologyChanged()V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->onCarrierConfigChanged()V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->onImsCapabilityChanged()V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->onImsServiceStateChanged()V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->onRestrictedStateChanged(Landroid/os/AsyncResult;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->onSignalStrengthResult(Landroid/os/AsyncResult;)Z
 HSPLcom/android/internal/telephony/ServiceStateTracker;->onUpdateIccAvailability()V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->parseSidNid(Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->pollState()V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->pollState(Z)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->pollStateDone()V
-HSPLcom/android/internal/telephony/ServiceStateTracker;->processCellLocationInfo(Landroid/telephony/CellLocation;Landroid/telephony/CellIdentity;)V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->processPendingRadioPowerOffAfterDataOff()Z
+HSPLcom/android/internal/telephony/ServiceStateTracker;->queueNextSignalStrengthPoll()V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForDataConnectionAttached(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForDataConnectionDetached(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForDataRegStateOrRatChanged(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForDataRoamingOff(Landroid/os/Handler;ILjava/lang/Object;Z)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForDataRoamingOn(Landroid/os/Handler;ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForImsCapabilityChanged(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForNetworkAttached(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForNetworkDetached(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForPsRestrictedDisabled(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->registerForPsRestrictedEnabled(Landroid/os/Handler;ILjava/lang/Object;)V
 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
 HSPLcom/android/internal/telephony/ServiceStateTracker;->resetServiceStateInIwlanMode()V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->saveCdmaSubscriptionSource(I)V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->setCellInfoMinInterval(I)V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->setOperatorIdd(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->setPhyCellInfoFromCellIdentity(Landroid/telephony/ServiceState;Landroid/telephony/CellIdentity;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->setPowerStateToDesired()V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->setRoamingType(Landroid/telephony/ServiceState;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->setTimeFromNITZString(Ljava/lang/String;J)V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->unregisterForDataRoamingOff(Landroid/os/Handler;)V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->updateLteEarfcnLists(Landroid/os/PersistableBundle;)V
+HSPLcom/android/internal/telephony/ServiceStateTracker;->updateNrFrequencyRangeFromPhysicalChannelConfigs(Ljava/util/List;Landroid/telephony/ServiceState;)Z
+HSPLcom/android/internal/telephony/ServiceStateTracker;->updateNrStatusFromPhysicalChannelConfigs(Ljava/util/List;Landroid/telephony/NetworkRegistrationState;)Z
+HSPLcom/android/internal/telephony/ServiceStateTracker;->updateOperatorNameFromCarrierConfig()V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->updateOperatorNameFromEri()V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->updateOtaspState()V
 HSPLcom/android/internal/telephony/ServiceStateTracker;->updatePhoneObject()V
@@ -41013,15 +34139,33 @@
 HSPLcom/android/internal/telephony/SettingsObserver;->unobserve()V
 HSPLcom/android/internal/telephony/SimActivationTracker$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/telephony/SimActivationTracker;-><init>(Lcom/android/internal/telephony/Phone;)V
+HSPLcom/android/internal/telephony/SimActivationTracker;->log(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/SimActivationTracker;->setDataActivationState(I)V
+HSPLcom/android/internal/telephony/SimActivationTracker;->setVoiceActivationState(I)V
 HSPLcom/android/internal/telephony/SmsApplication$SmsApplicationData;->isComplete()Z
+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
+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;
 HSPLcom/android/internal/telephony/SmsApplication;->getApplicationCollectionInternal(Landroid/content/Context;I)Ljava/util/Collection;
 HSPLcom/android/internal/telephony/SmsApplication;->getDefaultMmsApplication(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
+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
+HSPLcom/android/internal/telephony/SmsBroadcastUndelivered$ScanRawTableThread;->run()V
 HSPLcom/android/internal/telephony/SmsBroadcastUndelivered;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/gsm/GsmInboundSmsHandler;Lcom/android/internal/telephony/cdma/CdmaInboundSmsHandler;)V
+HSPLcom/android/internal/telephony/SmsBroadcastUndelivered;->scanRawTable(Landroid/content/Context;Lcom/android/internal/telephony/cdma/CdmaInboundSmsHandler;Lcom/android/internal/telephony/gsm/GsmInboundSmsHandler;J)V
+HSPLcom/android/internal/telephony/SmsDispatchersController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 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;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/SmsDispatchersController;->resetPartialSegmentWaitTimer()V
 HSPLcom/android/internal/telephony/SmsDispatchersController;->updateImsInfo(Landroid/os/AsyncResult;)V
 HSPLcom/android/internal/telephony/SmsStorageMonitor;-><init>(Lcom/android/internal/telephony/Phone;)V
 HSPLcom/android/internal/telephony/SmsStorageMonitor;->handleMessage(Landroid/os/Message;)V
@@ -41029,14 +34173,22 @@
 HSPLcom/android/internal/telephony/SmsUsageMonitor;->loadPremiumSmsPolicyDb()V
 HSPLcom/android/internal/telephony/SubscriptionController$ScLocalLog;->log(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/SubscriptionController;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/SubscriptionController;->addSubInfoRecord(Ljava/lang/String;I)I
+HSPLcom/android/internal/telephony/SubscriptionController;->addSubInfo(Ljava/lang/String;Ljava/lang/String;II)I
+HSPLcom/android/internal/telephony/SubscriptionController;->addToSubIdList(III)Z
 HSPLcom/android/internal/telephony/SubscriptionController;->broadcastDefaultDataSubIdChanged(I)V
 HSPLcom/android/internal/telephony/SubscriptionController;->broadcastDefaultSmsSubIdChanged(I)V
 HSPLcom/android/internal/telephony/SubscriptionController;->broadcastDefaultVoiceSubIdChanged(I)V
+HSPLcom/android/internal/telephony/SubscriptionController;->clearDefaultsForInactiveSubIds()V
+HSPLcom/android/internal/telephony/SubscriptionController;->clearSubInfoRecord(I)V
+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()[I
+HSPLcom/android/internal/telephony/SubscriptionController;->getActiveSubIdList(Z)[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;
 HSPLcom/android/internal/telephony/SubscriptionController;->getActiveSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
+HSPLcom/android/internal/telephony/SubscriptionController;->getAvailableSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
 HSPLcom/android/internal/telephony/SubscriptionController;->getDefaultDataSubId()I
 HSPLcom/android/internal/telephony/SubscriptionController;->getDefaultSmsSubId()I
 HSPLcom/android/internal/telephony/SubscriptionController;->getDefaultSubId()I
@@ -41050,118 +34202,202 @@
 HSPLcom/android/internal/telephony/SubscriptionController;->getSubInfo(Ljava/lang/String;Ljava/lang/Object;)Ljava/util/List;
 HSPLcom/android/internal/telephony/SubscriptionController;->getSubInfoRecord(Landroid/database/Cursor;)Landroid/telephony/SubscriptionInfo;
 HSPLcom/android/internal/telephony/SubscriptionController;->getSubInfoUsingSlotIndexPrivileged(IZ)Ljava/util/List;
-HSPLcom/android/internal/telephony/SubscriptionController;->getSubscriptionCountryIso(I)Ljava/lang/String;
 HSPLcom/android/internal/telephony/SubscriptionController;->getSubscriptionInfoListForEmbeddedSubscriptionUpdate([Ljava/lang/String;Z)Ljava/util/List;
+HSPLcom/android/internal/telephony/SubscriptionController;->getSubscriptionInfoListFromCacheHelper(Ljava/lang/String;Ljava/util/List;)Ljava/util/List;
 HSPLcom/android/internal/telephony/SubscriptionController;->getSubscriptionProperty(ILjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/SubscriptionController;->init(Landroid/content/Context;)V
 HSPLcom/android/internal/telephony/SubscriptionController;->init(Landroid/content/Context;[Lcom/android/internal/telephony/CommandsInterface;)Lcom/android/internal/telephony/SubscriptionController;
 HSPLcom/android/internal/telephony/SubscriptionController;->isActiveSubId(I)Z
+HSPLcom/android/internal/telephony/SubscriptionController;->isActiveSubId(ILjava/lang/String;)Z
+HSPLcom/android/internal/telephony/SubscriptionController;->lambda$getActiveSubIdList$3$SubscriptionController(Ljava/lang/Integer;)Z
+HSPLcom/android/internal/telephony/SubscriptionController;->logdl(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/SubscriptionController;->migrateImsSettingHelper(Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/SubscriptionController;->migrateImsSettings()V
 HSPLcom/android/internal/telephony/SubscriptionController;->notifySubscriptionInfoChanged()V
 HSPLcom/android/internal/telephony/SubscriptionController;->refreshCachedActiveSubscriptionInfoList()V
+HSPLcom/android/internal/telephony/SubscriptionController;->refreshCachedOpportunisticSubscriptionInfoList()Z
+HSPLcom/android/internal/telephony/SubscriptionController;->sendDefaultChangedBroadcast(II)V
+HSPLcom/android/internal/telephony/SubscriptionController;->setCarrierId(II)I
 HSPLcom/android/internal/telephony/SubscriptionController;->setCarrierText(Ljava/lang/String;I)I
+HSPLcom/android/internal/telephony/SubscriptionController;->setCountryIso(Ljava/lang/String;I)I
 HSPLcom/android/internal/telephony/SubscriptionController;->setDefaultDataSubId(I)V
-HSPLcom/android/internal/telephony/SubscriptionController;->setDefaultFallbackSubId(I)V
+HSPLcom/android/internal/telephony/SubscriptionController;->setDefaultFallbackSubId(II)V
 HSPLcom/android/internal/telephony/SubscriptionController;->setDefaultSmsSubId(I)V
 HSPLcom/android/internal/telephony/SubscriptionController;->setDefaultVoiceSubId(I)V
 HSPLcom/android/internal/telephony/SubscriptionController;->setDisplayName(Ljava/lang/String;I)I
 HSPLcom/android/internal/telephony/SubscriptionController;->setDisplayNameUsingSrc(Ljava/lang/String;IJ)I
 HSPLcom/android/internal/telephony/SubscriptionController;->setMccMnc(Ljava/lang/String;I)I
 HSPLcom/android/internal/telephony/SubscriptionController;->setPlmnSpn(IZLjava/lang/String;ZLjava/lang/String;)Z
+HSPLcom/android/internal/telephony/SubscriptionController;->shouldDefaultBeCleared(Ljava/util/List;I)Z
 HSPLcom/android/internal/telephony/SubscriptionController;->updateAllDataConnectionTrackers()V
+HSPLcom/android/internal/telephony/SubscriptionController;->updateDataEnabledSettings()V
 HSPLcom/android/internal/telephony/SubscriptionController;->updatePhonesAvailability([Lcom/android/internal/telephony/Phone;)V
 HSPLcom/android/internal/telephony/SubscriptionController;->validateSubId(I)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;-><init>(Landroid/os/Looper;Landroid/content/Context;[Lcom/android/internal/telephony/Phone;[Lcom/android/internal/telephony/CommandsInterface;)V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;-><init>(Landroid/os/Looper;Landroid/content/Context;[Lcom/android/internal/telephony/Phone;[Lcom/android/internal/telephony/CommandsInterface;Landroid/content/pm/IPackageManager;)V
 HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->broadcastSimApplicationStateChanged(II)V
 HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->broadcastSimCardStateChanged(II)V
 HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->broadcastSimStateChanged(ILjava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->handleSimAbsent(I)V
 HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->handleSimLoaded(I)V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->handleSimNotReady(I)V
 HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->initializeCarrierApps()V
 HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->internalIccStateToMessage(Ljava/lang/String;)I
 HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->isAllIccIdQueryDone()Z
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->isNewSim(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->lambda$updateSubscriptionInfoByIccId$2$SubscriptionInfoUpdater(Ljava/lang/Integer;)V
 HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->simStateString(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateEmbeddedSubscriptions()Z
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateEmbeddedSubscriptions(I)Z
 HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateInternalIccState(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateSubscriptionInfoByIccId()V
+HSPLcom/android/internal/telephony/SubscriptionInfoUpdater;->updateSubscriptionInfoByIccId(I)V
 HSPLcom/android/internal/telephony/SubscriptionMonitor$1;->onSubscriptionsChanged()V
 HSPLcom/android/internal/telephony/SubscriptionMonitor$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/telephony/SubscriptionMonitor;-><init>(Lcom/android/internal/telephony/ITelephonyRegistry;Landroid/content/Context;Lcom/android/internal/telephony/SubscriptionController;I)V
-HSPLcom/android/internal/telephony/SubscriptionMonitor;->registerForDefaultDataSubscriptionChanged(ILandroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/SubscriptionMonitor;->registerForSubscriptionChanged(ILandroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/TelephonyCapabilities;->supportsNetworkSelection(Lcom/android/internal/telephony/Phone;)Z
+HSPLcom/android/internal/telephony/TelephonyComponentFactory$InjectedComponents;->lambda$parseInjection$1$TelephonyComponentFactory$InjectedComponents(Lorg/xmlpull/v1/XmlPullParser;)V
+HSPLcom/android/internal/telephony/TelephonyComponentFactory$InjectedComponents;->lambda$parseXml$0$TelephonyComponentFactory$InjectedComponents(Lorg/xmlpull/v1/XmlPullParser;)V
+HSPLcom/android/internal/telephony/TelephonyComponentFactory$InjectedComponents;->makeInjectedInstance()V
+HSPLcom/android/internal/telephony/TelephonyComponentFactory$InjectedComponents;->parseXmlByTag(Lorg/xmlpull/v1/XmlPullParser;ZLjava/util/function/Consumer;Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/TelephonyComponentFactory$InjectedComponents;->setAttributes(Lorg/xmlpull/v1/XmlPullParser;)V
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->getCdmaSubscriptionSourceManagerInstance(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Landroid/os/Handler;ILjava/lang/Object;)Lcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->getIDeviceIdleController()Landroid/os/IDeviceIdleController;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->getInstance()Lcom/android/internal/telephony/TelephonyComponentFactory;
+HSPLcom/android/internal/telephony/TelephonyComponentFactory;->inject(Ljava/lang/String;)Lcom/android/internal/telephony/TelephonyComponentFactory;
+HSPLcom/android/internal/telephony/TelephonyComponentFactory;->injectTheComponentFactory(Landroid/content/res/XmlResourceParser;)V
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeAppSmsManager(Landroid/content/Context;)Lcom/android/internal/telephony/AppSmsManager;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeCarrierActionAgent(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/CarrierActionAgent;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeCarrierIdentifier(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/CarrierIdentifier;
+HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeCarrierResolver(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/CarrierResolver;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeCarrierSignalAgent(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/CarrierSignalAgent;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeDcTracker(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/dataconnection/DcTracker;
+HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeDataEnabledSettings(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/dataconnection/DataEnabledSettings;
+HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeDcTracker(Lcom/android/internal/telephony/Phone;I)Lcom/android/internal/telephony/dataconnection/DcTracker;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeDeviceStateMonitor(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/DeviceStateMonitor;
+HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeEmergencyNumberTracker(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/CommandsInterface;)Lcom/android/internal/telephony/emergency/EmergencyNumberTracker;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeEriManager(Lcom/android/internal/telephony/Phone;Landroid/content/Context;I)Lcom/android/internal/telephony/cdma/EriManager;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeGsmCdmaCallTracker(Lcom/android/internal/telephony/GsmCdmaPhone;)Lcom/android/internal/telephony/GsmCdmaCallTracker;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeIccPhoneBookInterfaceManager(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeIccSmsInterfaceManager(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/IccSmsInterfaceManager;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeImsExternalCallTracker(Lcom/android/internal/telephony/imsphone/ImsPhone;)Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeImsPhoneCallTracker(Lcom/android/internal/telephony/imsphone/ImsPhone;)Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeLocaleTracker(Lcom/android/internal/telephony/Phone;Landroid/os/Looper;)Lcom/android/internal/telephony/LocaleTracker;
+HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeLocaleTracker(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/NitzStateMachine;Landroid/os/Looper;)Lcom/android/internal/telephony/LocaleTracker;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeNitzStateMachine(Lcom/android/internal/telephony/GsmCdmaPhone;)Lcom/android/internal/telephony/NitzStateMachine;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeServiceStateTracker(Lcom/android/internal/telephony/GsmCdmaPhone;Lcom/android/internal/telephony/CommandsInterface;)Lcom/android/internal/telephony/ServiceStateTracker;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeSimActivationTracker(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/SimActivationTracker;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeSmsStorageMonitor(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/SmsStorageMonitor;
 HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeSmsUsageMonitor(Landroid/content/Context;)Lcom/android/internal/telephony/SmsUsageMonitor;
-HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeUiccProfile(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccCardStatus;ILcom/android/internal/telephony/uicc/UiccCard;)Lcom/android/internal/telephony/uicc/UiccProfile;
+HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeTransportManager(Lcom/android/internal/telephony/Phone;)Lcom/android/internal/telephony/dataconnection/TransportManager;
+HSPLcom/android/internal/telephony/TelephonyComponentFactory;->makeUiccProfile(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccCardStatus;ILcom/android/internal/telephony/uicc/UiccCard;Ljava/lang/Object;)Lcom/android/internal/telephony/uicc/UiccProfile;
 HSPLcom/android/internal/telephony/TelephonyDevController;->create()Lcom/android/internal/telephony/TelephonyDevController;
 HSPLcom/android/internal/telephony/TelephonyDevController;->getInstance()Lcom/android/internal/telephony/TelephonyDevController;
 HSPLcom/android/internal/telephony/TelephonyDevController;->initFromResource()V
 HSPLcom/android/internal/telephony/TelephonyDevController;->updateOrInsert(Lcom/android/internal/telephony/HardwareConfig;Ljava/util/ArrayList;)V
+HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCallingOrSelfReadDeviceIdentifiers(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCallingOrSelfReadDeviceIdentifiers(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCallingOrSelfReadPhoneNumber(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCallingOrSelfReadPhoneState(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/TelephonyPermissions;->checkCallingOrSelfReadSubscriberIdentifiers(Landroid/content/Context;ILjava/lang/String;Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/TelephonyPermissions;->checkReadDeviceIdentifiers(Landroid/content/Context;IILjava/lang/String;)Z
 HSPLcom/android/internal/telephony/TelephonyPermissions;->checkReadPhoneNumber(Landroid/content/Context;Ljava/util/function/Supplier;IIILjava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/internal/telephony/TelephonyPermissions;->checkReadPhoneState(Landroid/content/Context;IIILjava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/internal/telephony/TelephonyPermissions;->checkReadPhoneState(Landroid/content/Context;Ljava/util/function/Supplier;IIILjava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/TelephonyPermissions;->enforceCallingOrSelfModifyPermissionOrCarrierPrivilege(Landroid/content/Context;ILjava/lang/String;)V
 HSPLcom/android/internal/telephony/TelephonyTester;-><init>(Lcom/android/internal/telephony/Phone;)V
 HSPLcom/android/internal/telephony/TelephonyTester;->overrideServiceState(Landroid/telephony/ServiceState;)V
-HSPLcom/android/internal/telephony/TimeServiceHelper$Listener;->onTimeDetectionChange(Z)V
-HSPLcom/android/internal/telephony/TimeServiceHelper$Listener;->onTimeZoneDetectionChange(Z)V
-HSPLcom/android/internal/telephony/TimeServiceHelper;->currentTimeMillis()J
-HSPLcom/android/internal/telephony/TimeServiceHelper;->elapsedRealtime()J
-HSPLcom/android/internal/telephony/TimeServiceHelper;->isTimeDetectionEnabled()Z
-HSPLcom/android/internal/telephony/TimeServiceHelper;->isTimeZoneDetectionEnabled()Z
-HSPLcom/android/internal/telephony/TimeServiceHelper;->isTimeZoneSettingInitialized()Z
-HSPLcom/android/internal/telephony/TimeServiceHelper;->setDeviceTime(J)V
-HSPLcom/android/internal/telephony/TimeServiceHelper;->setDeviceTimeZone(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/TimeServiceHelper;->setDeviceTimeZoneStatic(Landroid/content/Context;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/TimeServiceHelper;->setListener(Lcom/android/internal/telephony/TimeServiceHelper$Listener;)V
 HSPLcom/android/internal/telephony/TimeZoneLookupHelper$CountryResult;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/TimeZoneLookupHelper$OffsetResult;->toString()Ljava/lang/String;
+HSPLcom/android/internal/telephony/TimeZoneLookupHelper;->countryUsesUtc(Ljava/lang/String;J)Z
 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;
 HSPLcom/android/internal/telephony/UiccSmsController;->disableCellBroadcastRangeForSubscriber(IIII)Z
 HSPLcom/android/internal/telephony/UiccSmsController;->enableCellBroadcastRangeForSubscriber(IIII)Z
+HSPLcom/android/internal/telephony/UiccSmsController;->getPreferredSmsSubscription()I
 HSPLcom/android/internal/telephony/UiccSmsController;->isSmsSimPickActivityNeeded(I)Z
 HSPLcom/android/internal/telephony/WakeLockStateMachine$IdleState;->enter()V
 HSPLcom/android/internal/telephony/WakeLockStateMachine$IdleState;->processMessage(Landroid/os/Message;)Z
 HSPLcom/android/internal/telephony/WakeLockStateMachine;-><init>(Ljava/lang/String;Landroid/content/Context;Lcom/android/internal/telephony/Phone;)V
 HSPLcom/android/internal/telephony/WakeLockStateMachine;->log(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/WapPushOverSms$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HSPLcom/android/internal/telephony/WapPushOverSms$BindServiceThread;->run()V
 HSPLcom/android/internal/telephony/WapPushOverSms;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/cat/AppInterface;->onCmdResponse(Lcom/android/internal/telephony/cat/CatResponseMessage;)V
+HSPLcom/android/internal/telephony/WapPushOverSms;->bindWapPushManagerService(Landroid/content/Context;)V
+HSPLcom/android/internal/telephony/cat/AppInterface$CommandType;-><init>(Ljava/lang/String;II)V
+HSPLcom/android/internal/telephony/cat/AppInterface$CommandType;->values()[Lcom/android/internal/telephony/cat/AppInterface$CommandType;
+HSPLcom/android/internal/telephony/cat/BerTlv;->decode([B)Lcom/android/internal/telephony/cat/BerTlv;
+HSPLcom/android/internal/telephony/cat/BerTlv;->getComprehensionTlvs()Ljava/util/List;
+HSPLcom/android/internal/telephony/cat/BerTlv;->getTag()I
+HSPLcom/android/internal/telephony/cat/BerTlv;->isLengthValid()Z
+HSPLcom/android/internal/telephony/cat/CatCmdMessage$1;-><init>()V
+HSPLcom/android/internal/telephony/cat/CatCmdMessage$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/telephony/cat/CatCmdMessage;
+HSPLcom/android/internal/telephony/cat/CatCmdMessage$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/cat/CatCmdMessage;-><init>(Landroid/os/Parcel;)V
+HSPLcom/android/internal/telephony/cat/CatCmdMessage;-><init>(Lcom/android/internal/telephony/cat/CommandParams;)V
+HSPLcom/android/internal/telephony/cat/CatCmdMessage;->getCmdType()Lcom/android/internal/telephony/cat/AppInterface$CommandType;
+HSPLcom/android/internal/telephony/cat/CatCmdMessage;->getMenu()Lcom/android/internal/telephony/cat/Menu;
+HSPLcom/android/internal/telephony/cat/CatCmdMessage;->writeToParcel(Landroid/os/Parcel;I)V
 HSPLcom/android/internal/telephony/cat/CatLog;->d(Ljava/lang/Object;Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/cat/CatLog;->d(Ljava/lang/String;Ljava/lang/String;)V
 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;->broadcastCatCmdIntent(Lcom/android/internal/telephony/cat/CatCmdMessage;)V
+HSPLcom/android/internal/telephony/cat/CatService;->encodeOptionalTags(Lcom/android/internal/telephony/cat/CommandDetails;Lcom/android/internal/telephony/cat/ResultCode;Lcom/android/internal/telephony/cat/Input;Ljava/io/ByteArrayOutputStream;)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;->removeMenu(Lcom/android/internal/telephony/cat/Menu;)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/CommandDetails$1;-><init>()V
+HSPLcom/android/internal/telephony/cat/CommandDetails$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/telephony/cat/CommandDetails;
+HSPLcom/android/internal/telephony/cat/CommandDetails$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/cat/CommandDetails;-><init>(Landroid/os/Parcel;)V
+HSPLcom/android/internal/telephony/cat/CommandDetails;->toString()Ljava/lang/String;
+HSPLcom/android/internal/telephony/cat/CommandDetails;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLcom/android/internal/telephony/cat/CommandParams;->getCommandType()Lcom/android/internal/telephony/cat/AppInterface$CommandType;
+HSPLcom/android/internal/telephony/cat/CommandParams;->toString()Ljava/lang/String;
 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/CommandParamsFactory;->processProvideLocalInfo(Lcom/android/internal/telephony/cat/CommandDetails;Ljava/util/List;)Z
+HSPLcom/android/internal/telephony/cat/CommandParamsFactory;->processSelectItem(Lcom/android/internal/telephony/cat/CommandDetails;Ljava/util/List;)Z
+HSPLcom/android/internal/telephony/cat/ComprehensionTlv;->decode([BI)Lcom/android/internal/telephony/cat/ComprehensionTlv;
+HSPLcom/android/internal/telephony/cat/ComprehensionTlv;->getLength()I
+HSPLcom/android/internal/telephony/cat/ComprehensionTlv;->getRawValue()[B
+HSPLcom/android/internal/telephony/cat/ComprehensionTlv;->getTag()I
+HSPLcom/android/internal/telephony/cat/ComprehensionTlv;->getValueIndex()I
+HSPLcom/android/internal/telephony/cat/ComprehensionTlv;->isComprehensionRequired()Z
+HSPLcom/android/internal/telephony/cat/ComprehensionTlvTag;-><init>(Ljava/lang/String;II)V
+HSPLcom/android/internal/telephony/cat/DTTZResponseData;->byteToBCD(I)B
+HSPLcom/android/internal/telephony/cat/DTTZResponseData;->format(Ljava/io/ByteArrayOutputStream;)V
+HSPLcom/android/internal/telephony/cat/DTTZResponseData;->getTZOffSetByte(J)B
 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/Item$1;-><init>()V
+HSPLcom/android/internal/telephony/cat/Item$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/telephony/cat/Item;
+HSPLcom/android/internal/telephony/cat/Item$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/cat/Item;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLcom/android/internal/telephony/cat/LaunchBrowserMode;-><init>(Ljava/lang/String;I)V
+HSPLcom/android/internal/telephony/cat/LaunchBrowserMode;->values()[Lcom/android/internal/telephony/cat/LaunchBrowserMode;
+HSPLcom/android/internal/telephony/cat/Menu$1;-><init>()V
+HSPLcom/android/internal/telephony/cat/Menu$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/telephony/cat/Menu;
+HSPLcom/android/internal/telephony/cat/Menu$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/cat/Menu;-><init>()V
+HSPLcom/android/internal/telephony/cat/Menu;-><init>(Landroid/os/Parcel;)V
+HSPLcom/android/internal/telephony/cat/Menu;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLcom/android/internal/telephony/cat/PresentationType;-><init>(Ljava/lang/String;I)V
+HSPLcom/android/internal/telephony/cat/ResultCode;-><init>(Ljava/lang/String;II)V
+HSPLcom/android/internal/telephony/cat/ResultCode;->values()[Lcom/android/internal/telephony/cat/ResultCode;
+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/cat/ValueParser;->retrieveAlphaId(Lcom/android/internal/telephony/cat/ComprehensionTlv;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/cat/ValueParser;->retrieveCommandDetails(Lcom/android/internal/telephony/cat/ComprehensionTlv;)Lcom/android/internal/telephony/cat/CommandDetails;
+HSPLcom/android/internal/telephony/cat/ValueParser;->retrieveItem(Lcom/android/internal/telephony/cat/ComprehensionTlv;)Lcom/android/internal/telephony/cat/Item;
 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
@@ -41169,107 +34405,136 @@
 HSPLcom/android/internal/telephony/cdma/CdmaSmsBroadcastConfigInfo;->getToServiceCategory()I
 HSPLcom/android/internal/telephony/cdma/CdmaSmsBroadcastConfigInfo;->isSelected()Z
 HSPLcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;)V
+HSPLcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;->getCdmaSubscriptionSource()I
 HSPLcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;->getDefault(Landroid/content/Context;)I
 HSPLcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;->getInstance(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Landroid/os/Handler;ILjava/lang/Object;)Lcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;
 HSPLcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;->handleGetCdmaSubscriptionSource(Landroid/os/AsyncResult;)V
 HSPLcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/cdma/EriManager$EriFile;-><init>(Lcom/android/internal/telephony/cdma/EriManager;)V
+HSPLcom/android/internal/telephony/cdma/EriManager;->getCdmaEriIconIndex(II)I
+HSPLcom/android/internal/telephony/cdma/EriManager;->getCdmaEriIconMode(II)I
+HSPLcom/android/internal/telephony/cdma/EriManager;->getEriDisplayInformation(II)Lcom/android/internal/telephony/cdma/EriManager$EriDisplayInformation;
 HSPLcom/android/internal/telephony/cdma/EriManager;->isEriFileLoaded()Z
 HSPLcom/android/internal/telephony/cdma/EriManager;->loadEriFile()V
 HSPLcom/android/internal/telephony/cdma/EriManager;->loadEriFileFromXml()V
+HSPLcom/android/internal/telephony/dataconnection/AccessNetworksManager$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HSPLcom/android/internal/telephony/dataconnection/AccessNetworksManager;-><init>(Lcom/android/internal/telephony/Phone;)V
+HSPLcom/android/internal/telephony/dataconnection/AccessNetworksManager;->bindQualifiedNetworksService()V
+HSPLcom/android/internal/telephony/dataconnection/AccessNetworksManager;->getQualifiedNetworksServicePackageName()Ljava/lang/String;
+HSPLcom/android/internal/telephony/dataconnection/AccessNetworksManager;->registerForQualifiedNetworksChanged(Landroid/os/Handler;I)V
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;-><init>(Lcom/android/internal/telephony/Phone;Ljava/lang/String;Ljava/lang/String;Landroid/net/NetworkConfig;Lcom/android/internal/telephony/dataconnection/DcTracker;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->apnIdForApnName(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->apnIdForNetworkRequest(Landroid/net/NetworkRequest;)I
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->apnIdForType(I)I
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getApnSetting()Lcom/android/internal/telephony/dataconnection/ApnSetting;
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getApnSetting()Landroid/telephony/data/ApnSetting;
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getApnType()Ljava/lang/String;
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getApnTypeBitmask()I
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getApnTypeFromNetworkRequest(Landroid/net/NetworkRequest;)I
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getApnTypeFromNetworkType(I)I
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getConnectionGeneration()I
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getDcAc()Lcom/android/internal/telephony/dataconnection/DcAsyncChannel;
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getDependencyMet()Z
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getNextApnSetting()Lcom/android/internal/telephony/dataconnection/ApnSetting;
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getDataConnection()Lcom/android/internal/telephony/dataconnection/DataConnection;
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getDelayForNextApn(Z)J
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getNetworkRequests()Ljava/util/List;
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getNextApnSetting()Landroid/telephony/data/ApnSetting;
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getReason()Ljava/lang/String;
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getReconnectIntent()Landroid/app/PendingIntent;
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getRetryAfterDisconnectDelay()J
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getState()Lcom/android/internal/telephony/DctConstants$State;
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->getWaitingApns()Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->hasNoRestrictedRequests(Z)Z
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->hasRestrictedRequests(Z)Z
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->incAndGetConnectionGeneration()I
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->isConnectable()Z
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->isDependencyMet()Z
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->isDisconnected()Z
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->isEnabled()Z
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->isProvisioningApn()Z
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->isReady()Z
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->releaseDataConnection(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->releaseNetwork(Landroid/net/NetworkRequest;ILandroid/util/LocalLog;)V
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->requestLog(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->requestNetwork(Landroid/net/NetworkRequest;Landroid/util/LocalLog;)V
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->requestNetwork(Landroid/net/NetworkRequest;ILandroid/os/Message;Landroid/util/LocalLog;)V
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->requestNetwork(Landroid/net/NetworkRequest;ILandroid/util/LocalLog;)V
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->resetErrorCodeRetries()V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setApnSetting(Lcom/android/internal/telephony/dataconnection/ApnSetting;)V
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->restartOnError(I)Z
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setApnSetting(Landroid/telephony/data/ApnSetting;)V
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setConcurrentVoiceAndDataAllowed(Z)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setDataConnectionAc(Lcom/android/internal/telephony/dataconnection/DcAsyncChannel;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setDependencyMet(Z)V
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setDataConnection(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setEnabled(Z)V
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setModemSuggestedDelay(J)V
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setReason(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setReconnectIntent(Landroid/app/PendingIntent;)V
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setState(Lcom/android/internal/telephony/DctConstants$State;)V
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->setWaitingApns(Ljava/util/ArrayList;)V
 HSPLcom/android/internal/telephony/dataconnection/ApnContext;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/ApnSetting;-><init>(ILjava/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;Ljava/lang/String;I[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZIIZIIIILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/ApnSetting;-><init>(ILjava/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;Ljava/lang/String;I[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZIIZIIIILjava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/internal/telephony/dataconnection/ApnSetting;->canHandleType(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/dataconnection/ApnSetting;->equals(Ljava/lang/Object;Z)Z
-HSPLcom/android/internal/telephony/dataconnection/ApnSetting;->fromString(Ljava/lang/String;)Lcom/android/internal/telephony/dataconnection/ApnSetting;
-HSPLcom/android/internal/telephony/dataconnection/ApnSetting;->getApnBitmask(Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/dataconnection/ApnSetting;->hasMvnoParams()Z
-HSPLcom/android/internal/telephony/dataconnection/ApnSetting;->isMetered(Lcom/android/internal/telephony/Phone;)Z
-HSPLcom/android/internal/telephony/dataconnection/ApnSetting;->isMeteredApnType(Ljava/lang/String;Lcom/android/internal/telephony/Phone;)Z
-HSPLcom/android/internal/telephony/dataconnection/ApnSetting;->mvnoMatches(Lcom/android/internal/telephony/uicc/IccRecords;Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/dataconnection/ApnSetting;->similar(Lcom/android/internal/telephony/dataconnection/ApnSetting;)Z
-HSPLcom/android/internal/telephony/dataconnection/ApnSetting;->toString()Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/ApnSetting;->typeSameAny(Lcom/android/internal/telephony/dataconnection/ApnSetting;Lcom/android/internal/telephony/dataconnection/ApnSetting;)Z
+HSPLcom/android/internal/telephony/dataconnection/ApnSettingUtils;->isMetered(Landroid/telephony/data/ApnSetting;Lcom/android/internal/telephony/Phone;)Z
+HSPLcom/android/internal/telephony/dataconnection/ApnSettingUtils;->isMeteredApnType(Ljava/lang/String;Lcom/android/internal/telephony/Phone;)Z
+HSPLcom/android/internal/telephony/dataconnection/ApnSettingUtils;->mvnoMatches(Lcom/android/internal/telephony/uicc/IccRecords;ILjava/lang/String;)Z
 HSPLcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider$1;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider;-><init>(Lcom/android/internal/telephony/dataconnection/CellularDataService;I)V
+HSPLcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider;->deactivateDataCall(IILandroid/telephony/data/DataServiceCallback;)V
+HSPLcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider;->setDataProfile(Ljava/util/List;ZLandroid/telephony/data/DataServiceCallback;)V
 HSPLcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider;->setInitialAttachApn(Landroid/telephony/data/DataProfile;ZLandroid/telephony/data/DataServiceCallback;)V
 HSPLcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider;->setupDataCall(ILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/telephony/data/DataServiceCallback;)V
 HSPLcom/android/internal/telephony/dataconnection/CellularDataService;-><init>()V
-HSPLcom/android/internal/telephony/dataconnection/CellularDataService;->convertDataCallResult(Landroid/hardware/radio/V1_0/SetupDataCallResult;)Landroid/telephony/data/DataCallResponse;
 HSPLcom/android/internal/telephony/dataconnection/CellularDataService;->createDataServiceProvider(I)Landroid/telephony/data/DataService$DataServiceProvider;
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;->enter()V
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcActivatingState;->processMessage(Landroid/os/Message;)Z
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;->enter()V
+HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;->exit()V
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcActiveState;->processMessage(Landroid/os/Message;)Z
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;->enter()V
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcDefaultState;->processMessage(Landroid/os/Message;)Z
+HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;->enter()V
+HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcDisconnectingState;->processMessage(Landroid/os/Message;)Z
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->enter()V
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->exit()V
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->processMessage(Landroid/os/Message;)Z
+HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->setEnterNotificationParams(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;I)V
+HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcInactiveState;->setEnterNotificationParams(Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;)V
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;-><init>(Lcom/android/internal/telephony/dataconnection/DataConnection;Landroid/os/Looper;Landroid/content/Context;Ljava/lang/String;Landroid/net/NetworkInfo;Landroid/net/NetworkCapabilities;Landroid/net/LinkProperties;ILandroid/net/NetworkMisc;)V
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;->networkStatus(ILjava/lang/String;)V
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;->sendNetworkCapabilities(Landroid/net/NetworkCapabilities;)V
+HSPLcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;->unwanted()V
+HSPLcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;->values()[Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
 HSPLcom/android/internal/telephony/dataconnection/DataConnection;-><init>(Lcom/android/internal/telephony/Phone;Ljava/lang/String;ILcom/android/internal/telephony/dataconnection/DcTracker;Lcom/android/internal/telephony/dataconnection/DataServiceManager;Lcom/android/internal/telephony/dataconnection/DcTesterFailBringUpAll;Lcom/android/internal/telephony/dataconnection/DcController;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->checkSetMtu(Lcom/android/internal/telephony/dataconnection/ApnSetting;Landroid/net/LinkProperties;)V
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->access$2000(Lcom/android/internal/telephony/dataconnection/DataConnection;)Lcom/android/internal/telephony/dataconnection/DataConnection$DcNetworkAgent;
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->access$4900(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->bringUp(Lcom/android/internal/telephony/dataconnection/ApnContext;IILandroid/os/Message;II)V
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->calculateScore()I
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->checkSetMtu(Landroid/telephony/data/ApnSetting;Landroid/net/LinkProperties;)V
 HSPLcom/android/internal/telephony/dataconnection/DataConnection;->clearSettings()V
 HSPLcom/android/internal/telephony/dataconnection/DataConnection;->cmdToString(I)Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getApnSetting()Lcom/android/internal/telephony/dataconnection/ApnSetting;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getCopyLinkProperties()Landroid/net/LinkProperties;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getDataConnectionId()I
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->connect(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)I
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getApnContexts()Ljava/util/List;
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getApnSetting()Landroid/telephony/data/ApnSetting;
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getCid()I
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getLinkProperties()Landroid/net/LinkProperties;
 HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getNetworkCapabilities()Landroid/net/NetworkCapabilities;
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getSuggestedRetryDelay(Landroid/telephony/data/DataCallResponse;)J
 HSPLcom/android/internal/telephony/dataconnection/DataConnection;->getWhatToString(I)Ljava/lang/String;
 HSPLcom/android/internal/telephony/dataconnection/DataConnection;->initConnection(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Z
+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;
 HSPLcom/android/internal/telephony/dataconnection/DataConnection;->msgToString(Landroid/os/Message;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/dataconnection/DataConnection;->notifyAllWithEvent(Lcom/android/internal/telephony/dataconnection/ApnContext;ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->onConnect(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)V
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->notifyConnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;IZ)V
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->notifyDisconnectCompleted(Lcom/android/internal/telephony/dataconnection/DataConnection$DisconnectParams;Z)V
 HSPLcom/android/internal/telephony/dataconnection/DataConnection;->onSetupConnectionCompleted(ILandroid/telephony/data/DataCallResponse;Lcom/android/internal/telephony/dataconnection/DataConnection$ConnectionParams;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->reevaluateDataConnectionProperties()V
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->reset()V
 HSPLcom/android/internal/telephony/dataconnection/DataConnection;->setLinkProperties(Landroid/telephony/data/DataCallResponse;Landroid/net/LinkProperties;)Lcom/android/internal/telephony/dataconnection/DataConnection$SetupResult;
-HSPLcom/android/internal/telephony/dataconnection/DataConnection;->setNetworkRestriction()V
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->shouldRestrictNetwork()Z
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->tearDown(Lcom/android/internal/telephony/dataconnection/ApnContext;Ljava/lang/String;Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->tearDownData(Ljava/lang/Object;)V
 HSPLcom/android/internal/telephony/dataconnection/DataConnection;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/dataconnection/DataConnection;->toStringSimple()Ljava/lang/String;
 HSPLcom/android/internal/telephony/dataconnection/DataConnection;->updateLinkProperty(Landroid/telephony/data/DataCallResponse;)Lcom/android/internal/telephony/dataconnection/DataConnection$UpdateLinkPropertyResult;
 HSPLcom/android/internal/telephony/dataconnection/DataConnection;->updateNetworkInfoSuspendState()V
+HSPLcom/android/internal/telephony/dataconnection/DataConnection;->updateScore()V
 HSPLcom/android/internal/telephony/dataconnection/DataConnection;->updateTcpBufferSizes(I)V
 HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons$DataAllowedReasonType;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/internal/telephony/dataconnection/DataConnectionReasons$DataDisallowedReasonType;-><init>(Ljava/lang/String;IZ)V
@@ -41282,15 +34547,21 @@
 HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->getMobileDataSettingName()Ljava/lang/String;
 HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->isDataEnabled()Z
 HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->isInternalDataEnabled()Z
-HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->isPolicyDataEnabled()Z
 HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->isProvisioning()Z
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->isProvisioningDataEnabled()Z
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->isSubOpportunistic()Z
 HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->isUserDataEnabled()Z
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->log(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->registerForDataEnabledChanged(Landroid/os/Handler;ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->setPolicyDataEnabled(Z)V
+HSPLcom/android/internal/telephony/dataconnection/DataEnabledSettings;->updateDataEnabled()V
 HSPLcom/android/internal/telephony/dataconnection/DataServiceManager$CellularDataServiceCallback;->onDataCallListChanged(Ljava/util/List;)V
+HSPLcom/android/internal/telephony/dataconnection/DataServiceManager$CellularDataServiceCallback;->onDeactivateDataCallComplete(I)V
 HSPLcom/android/internal/telephony/dataconnection/DataServiceManager$CellularDataServiceCallback;->onSetupDataCallComplete(ILandroid/telephony/data/DataCallResponse;)V
 HSPLcom/android/internal/telephony/dataconnection/DataServiceManager$CellularDataServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
 HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;-><init>(Lcom/android/internal/telephony/Phone;I)V
 HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->bindDataService()V
+HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->deactivateDataCall(IILandroid/os/Message;)V
 HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->getAllDataServicePackageNames()Ljava/util/Set;
 HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->getDataServicePackageName(I)Ljava/lang/String;
 HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->getTransportType()I
@@ -41298,29 +34569,19 @@
 HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->registerForDataCallListChanged(Landroid/os/Handler;I)V
 HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->registerForServiceBindingChanged(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->revokePermissionsFromUnusedDataServices()V
+HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->setDataProfile(Ljava/util/List;ZLandroid/os/Message;)V
 HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->setInitialAttachApn(Landroid/telephony/data/DataProfile;ZLandroid/os/Message;)V
 HSPLcom/android/internal/telephony/dataconnection/DataServiceManager;->setupDataCall(ILandroid/telephony/data/DataProfile;ZZILandroid/net/LinkProperties;Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/DcAsyncChannel;->bringUp(Lcom/android/internal/telephony/dataconnection/ApnContext;IIZLandroid/os/Message;I)V
-HSPLcom/android/internal/telephony/dataconnection/DcAsyncChannel;->getLinkPropertiesSync()Landroid/net/LinkProperties;
-HSPLcom/android/internal/telephony/dataconnection/DcAsyncChannel;->getNetworkCapabilitiesSync()Landroid/net/NetworkCapabilities;
-HSPLcom/android/internal/telephony/dataconnection/DcAsyncChannel;->isInactiveSync()Z
-HSPLcom/android/internal/telephony/dataconnection/DcAsyncChannel;->rspIsInactive(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/dataconnection/DcAsyncChannel;->rspLinkProperties(Landroid/os/Message;)Landroid/net/LinkProperties;
-HSPLcom/android/internal/telephony/dataconnection/DcAsyncChannel;->rspNetworkCapabilities(Landroid/os/Message;)Landroid/net/NetworkCapabilities;
-HSPLcom/android/internal/telephony/dataconnection/DcAsyncChannel;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/dataconnection/DcController$DccDefaultState;->enter()V
 HSPLcom/android/internal/telephony/dataconnection/DcController$DccDefaultState;->onDataStateChanged(Ljava/util/ArrayList;)V
 HSPLcom/android/internal/telephony/dataconnection/DcController$DccDefaultState;->processMessage(Landroid/os/Message;)Z
 HSPLcom/android/internal/telephony/dataconnection/DcController;-><init>(Ljava/lang/String;Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/dataconnection/DcTracker;Lcom/android/internal/telephony/dataconnection/DataServiceManager;Landroid/os/Handler;)V
 HSPLcom/android/internal/telephony/dataconnection/DcController;->addActiveDcByCid(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
 HSPLcom/android/internal/telephony/dataconnection/DcController;->addDc(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
+HSPLcom/android/internal/telephony/dataconnection/DcController;->getActiveDcByCid(I)Lcom/android/internal/telephony/dataconnection/DataConnection;
+HSPLcom/android/internal/telephony/dataconnection/DcController;->isExecutingCarrierChange()Z
 HSPLcom/android/internal/telephony/dataconnection/DcController;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DcController;->loge(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/dataconnection/DcController;->removeActiveDcByCid(Lcom/android/internal/telephony/dataconnection/DataConnection;)V
-HSPLcom/android/internal/telephony/dataconnection/DcFailCause;-><init>(Ljava/lang/String;II)V
-HSPLcom/android/internal/telephony/dataconnection/DcFailCause;->getErrorCode()I
-HSPLcom/android/internal/telephony/dataconnection/DcFailCause;->values()[Lcom/android/internal/telephony/dataconnection/DcFailCause;
-HSPLcom/android/internal/telephony/dataconnection/DcRequest;->apnIdForNetworkRequest(Landroid/net/NetworkRequest;)I
 HSPLcom/android/internal/telephony/dataconnection/DcRequest;->compareTo(Lcom/android/internal/telephony/dataconnection/DcRequest;)I
 HSPLcom/android/internal/telephony/dataconnection/DcRequest;->compareTo(Ljava/lang/Object;)I
 HSPLcom/android/internal/telephony/dataconnection/DcRequest;->equals(Ljava/lang/Object;)Z
@@ -41332,165 +34593,183 @@
 HSPLcom/android/internal/telephony/dataconnection/DcTracker$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 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$4;->onSubscriptionsChanged()V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker$ApnChangeObserver;->onChange(Z)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
+HSPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->processNetworkStatusChanged(Z)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;->reset()V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker$DctOnSubscriptionsChangedListener;->onSubscriptionsChanged()V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker$RetryFailures;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;-><init>(Lcom/android/internal/telephony/Phone;I)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->addApnContext(Ljava/lang/String;Landroid/net/NetworkConfig;)Lcom/android/internal/telephony/dataconnection/ApnContext;
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->addEmergencyApnSetting()V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->addRequestNetworkCompleteMsg(Landroid/os/Message;I)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->apnListToString(Ljava/util/ArrayList;)Ljava/lang/String;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->applyNewState(Lcom/android/internal/telephony/dataconnection/ApnContext;ZZ)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->buildWaitingApns(Ljava/lang/String;I)Ljava/util/ArrayList;
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->checkDataRoamingStatus(Z)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->checkForCompatibleConnectedApnContext(Lcom/android/internal/telephony/dataconnection/ApnContext;)Lcom/android/internal/telephony/dataconnection/DcAsyncChannel;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->cleanUpAllConnections(ZLjava/lang/String;)Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->cleanUpConnection(ZLcom/android/internal/telephony/dataconnection/ApnContext;)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->checkForCompatibleConnectedApnContext(Lcom/android/internal/telephony/dataconnection/ApnContext;)Lcom/android/internal/telephony/dataconnection/DataConnection;
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->cleanUpAllConnectionsInternal(ZLjava/lang/String;)Z
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->cleanUpConnectionInternal(ZILcom/android/internal/telephony/dataconnection/ApnContext;)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->cleanUpConnectionsOnUpdatedApns(ZLjava/lang/String;)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->completeConnection(Lcom/android/internal/telephony/dataconnection/ApnContext;)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->containsAllApns(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->createAllApnList()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->createApnList(Landroid/database/Cursor;)Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->createDataConnection()Lcom/android/internal/telephony/dataconnection/DcAsyncChannel;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->createDataProfile(Lcom/android/internal/telephony/dataconnection/ApnSetting;I)Landroid/telephony/data/DataProfile;
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->createDataConnection()Lcom/android/internal/telephony/dataconnection/DataConnection;
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->createDataProfile(Landroid/telephony/data/ApnSetting;IZ)Landroid/telephony/data/DataProfile;
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->dedupeApnSettings()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->fetchDunApn()Lcom/android/internal/telephony/dataconnection/ApnSetting;
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->disableApn(II)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->enableApn(II)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->enableApn(IILandroid/os/Message;)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->fetchDunApns()Ljava/util/ArrayList;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->findFreeDataConnection()Lcom/android/internal/telephony/dataconnection/DcAsyncChannel;
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->findFreeDataConnection()Lcom/android/internal/telephony/dataconnection/DataConnection;
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getActiveApnString(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getActiveApnTypes()[Ljava/lang/String;
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getActivity()Lcom/android/internal/telephony/DctConstants$Activity;
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getApnProfileID(Ljava/lang/String;)I
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getCellLocationId()I
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getDataRoamingEnabled()Z
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getDefaultDataRoamingEnabled()Z
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getLinkProperties(Ljava/lang/String;)Landroid/net/LinkProperties;
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getNetworkCapabilities(Ljava/lang/String;)Landroid/net/NetworkCapabilities;
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getOverallState()Lcom/android/internal/telephony/DctConstants$State;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getPreferredApn()Lcom/android/internal/telephony/dataconnection/ApnSetting;
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getPreferredApn()Landroid/telephony/data/ApnSetting;
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getState(Ljava/lang/String;)Lcom/android/internal/telephony/DctConstants$State;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->getValidApnContext(Landroid/os/AsyncResult;Ljava/lang/String;)Lcom/android/internal/telephony/dataconnection/ApnContext;
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->handlePcoData(Landroid/os/AsyncResult;)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->hasMatchedTetherApnSetting()Z
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->initApnContexts()V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->initEmergencyApnSetting()V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isConnected()Z
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isDataAllowed(Lcom/android/internal/telephony/dataconnection/ApnContext;Lcom/android/internal/telephony/dataconnection/DataConnectionReasons;)Z
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isDataAllowed(Lcom/android/internal/telephony/dataconnection/DataConnectionReasons;)Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isDataEnabled()Z
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isDataRoamingFromUserAction()Z
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isDisconnected()Z
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isEmergency()Z
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isOnlySingleDcAllowed(I)Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isUserDataEnabled()Z
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->log(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->loge(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->makeApnSetting(Landroid/database/Cursor;)Lcom/android/internal/telephony/dataconnection/ApnSetting;
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->notifyDataConnection(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->notifyDataDisconnectComplete()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->notifyOffApnsOfAvailability(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->isPermanentFailure(I)Z
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->notifyDataConnection()V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->notifyOffApnsOfAvailability()V
 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
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataRoamingOff()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataSetupComplete(Landroid/os/AsyncResult;)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
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDataSetupCompleteError(Lcom/android/internal/telephony/dataconnection/ApnContext;I)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDisableApn(II)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onDisconnectDone(Lcom/android/internal/telephony/dataconnection/ApnContext;)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onEnableApn(II)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onEnableApn(IILandroid/os/Message;)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onNetworkStatusChanged(ILjava/lang/String;)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onRadioAvailable()V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onRadioOffOrNotAvailable()V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onRecordsLoadedOrSubIdChanged()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onSetPolicyDataEnabled(Z)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->onUpdateIcc()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->parseTypes(Ljava/lang/String;)[Ljava/lang/String;
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->registerForAllEvents()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->registerForDataEnabledChanged(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->registerServiceStateTrackerEvents()V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->registerSettingsObserver()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->requestNetwork(Landroid/net/NetworkRequest;Landroid/util/LocalLog;)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->releaseNetwork(Landroid/net/NetworkRequest;ILandroid/util/LocalLog;)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->requestNetwork(Landroid/net/NetworkRequest;ILandroid/os/Message;Landroid/util/LocalLog;)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->requestNetwork(Landroid/net/NetworkRequest;ILandroid/util/LocalLog;)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->retryAfterDisconnected(Lcom/android/internal/telephony/dataconnection/ApnContext;)Z
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->sendStartNetStatPoll(Lcom/android/internal/telephony/DctConstants$Activity;)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->sendStopNetStatPoll(Lcom/android/internal/telephony/DctConstants$Activity;)V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setActivity(Lcom/android/internal/telephony/DctConstants$Activity;)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setDataProfilesAsNeeded()V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setDefaultDataRoamingEnabled()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setEnabled(IZ)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setInitialAttachApn()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setPolicyDataEnabled(Z)V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setupData(Lcom/android/internal/telephony/dataconnection/ApnContext;IZ)Z
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setupData(Lcom/android/internal/telephony/dataconnection/ApnContext;II)Z
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->setupDataOnConnectableApns(Ljava/lang/String;Lcom/android/internal/telephony/dataconnection/DcTracker$RetryFailures;)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->sortApnListByPreferred(Ljava/util/ArrayList;)Ljava/util/ArrayList;
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->startAlarmForReconnect(JLcom/android/internal/telephony/dataconnection/ApnContext;)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->startDataStallAlarm(Z)V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->startNetStatPoll()V
-HSPLcom/android/internal/telephony/dataconnection/DcTracker;->trySetupData(Lcom/android/internal/telephony/dataconnection/ApnContext;)Z
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->trySetupData(Lcom/android/internal/telephony/dataconnection/ApnContext;I)Z
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->update()V
+HSPLcom/android/internal/telephony/dataconnection/DcTracker;->updateAutoAttachOnCreation()V
 HSPLcom/android/internal/telephony/dataconnection/DcTracker;->updateDataActivity()V
 HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory$InternalHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;-><init>(Lcom/android/internal/telephony/PhoneSwitcher;Lcom/android/internal/telephony/SubscriptionController;Lcom/android/internal/telephony/SubscriptionMonitor;Landroid/os/Looper;Landroid/content/Context;ILcom/android/internal/telephony/dataconnection/DcTracker;)V
-HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->applyRequests(Ljava/util/HashMap;ZLjava/lang/String;)V
+HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;-><init>(Lcom/android/internal/telephony/SubscriptionMonitor;Landroid/os/Looper;Lcom/android/internal/telephony/Phone;)V
+HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->applyRequestsOnActivePhoneSwitch(Landroid/net/NetworkRequest;I)V
 HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->log(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->makeNetworkFilter(I)Landroid/net/NetworkCapabilities;
 HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->needNetworkFor(Landroid/net/NetworkRequest;I)V
 HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->onActivePhoneSwitch()V
-HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->onDefaultChange()V
 HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->onNeedNetworkFor(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->onReleaseNetworkFor(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->onSubIdChange()V
-HSPLcom/android/internal/telephony/dataconnection/TransportManager;->getAvailableTransports()Ljava/util/List;
+HSPLcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;->releaseNetworkFor(Landroid/net/NetworkRequest;)V
+HSPLcom/android/internal/telephony/dataconnection/TransportManager;-><init>(Lcom/android/internal/telephony/Phone;)V
+HSPLcom/android/internal/telephony/dataconnection/TransportManager;->getAvailableTransports()[I
+HSPLcom/android/internal/telephony/dataconnection/TransportManager;->getCurrentTransport(I)I
+HSPLcom/android/internal/telephony/dataconnection/TransportManager;->isInLegacyMode()Z
+HSPLcom/android/internal/telephony/dataconnection/TransportManager;->registerForHandoverNeededEvent(Landroid/os/Handler;I)V
+HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker$1;->onCountryDetected(Landroid/location/Country;)V
+HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker$2;->onCountryDetected(Landroid/location/Country;)V
+HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;-><init>(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/CommandsInterface;)V
+HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->cacheEmergencyDatabaseByCountry(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->convertEmergencyNumberFromEccInfo(Lcom/android/phone/ecc/nano/ProtobufEccData$EccInfo;Ljava/lang/String;)Landroid/telephony/emergency/EmergencyNumber;
+HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->getEmergencyNumberList()Ljava/util/List;
+HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->getEmergencyNumberListFromEccList()Ljava/util/List;
+HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->getEmergencyNumberListTestMode()Ljava/util/List;
+HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->getInitialCountryIso()Ljava/lang/String;
+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
+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
+HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->updateEmergencyNumberList()V
+HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->updateEmergencyNumberListDatabaseAndNotify(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/emergency/EmergencyNumberTracker;->updateEmergencyNumberPrefixAndNotify([Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/euicc/-$$Lambda$EuiccConnector$ConnectedState$1$wTkmDdVlxcrtbVPcCl3t7xD490o;->run()V
 HSPLcom/android/internal/telephony/euicc/-$$Lambda$EuiccConnector$ConnectedState$4$S52i3hpE3-FGho807KZ1LR5rXQM;->run()V
+HSPLcom/android/internal/telephony/euicc/EuiccCardController$1;->onResult(Ljava/lang/Object;)V
+HSPLcom/android/internal/telephony/euicc/EuiccCardController$1;->onResult([Landroid/service/euicc/EuiccProfileInfo;)V
+HSPLcom/android/internal/telephony/euicc/EuiccCardController$SimSlotStatusChangedBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/telephony/euicc/EuiccCardController;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/internal/telephony/euicc/EuiccController;Lcom/android/internal/telephony/uicc/UiccController;)V
+HSPLcom/android/internal/telephony/euicc/EuiccCardController;->checkCallingPackage(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/euicc/EuiccCardController;->getAllProfiles(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/euicc/IGetAllProfilesCallback;)V
+HSPLcom/android/internal/telephony/euicc/EuiccCardController;->getEuiccCard(Ljava/lang/String;)Lcom/android/internal/telephony/uicc/euicc/EuiccCard;
 HSPLcom/android/internal/telephony/euicc/EuiccCardController;->init(Landroid/content/Context;)Lcom/android/internal/telephony/euicc/EuiccCardController;
 HSPLcom/android/internal/telephony/euicc/EuiccCardController;->isBootUp(Landroid/content/Context;)Z
+HSPLcom/android/internal/telephony/euicc/EuiccCardController;->isEmbeddedSlotActivated()Z
+HSPLcom/android/internal/telephony/euicc/EuiccConnector$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/telephony/euicc/EuiccConnector$AvailableState;->processMessage(Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/euicc/EuiccConnector$BaseEuiccCommandCallback;->onEuiccServiceUnavailable()V
 HSPLcom/android/internal/telephony/euicc/EuiccConnector$BindingState;->enter()V
+HSPLcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$1;->onSuccess(Ljava/lang/String;)V
+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
 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$GetEuiccProfileInfoListCommandCallback;->onListComplete(Landroid/service/euicc/GetEuiccProfileInfoListResult;)V
+HSPLcom/android/internal/telephony/euicc/EuiccConnector$EuiccPackageMonitor;->onPackageAdded(Ljava/lang/String;I)V
+HSPLcom/android/internal/telephony/euicc/EuiccConnector$EuiccPackageMonitor;->onPackageModified(Ljava/lang/String;)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;)Landroid/content/pm/ComponentInfo;
 HSPLcom/android/internal/telephony/euicc/EuiccConnector;->findBestComponent(Landroid/content/pm/PackageManager;Ljava/util/List;)Landroid/content/pm/ComponentInfo;
 HSPLcom/android/internal/telephony/euicc/EuiccConnector;->getCallback(Landroid/os/Message;)Lcom/android/internal/telephony/euicc/EuiccConnector$BaseEuiccCommandCallback;
-HSPLcom/android/internal/telephony/euicc/EuiccConnector;->getEuiccProfileInfoList(Lcom/android/internal/telephony/euicc/EuiccConnector$GetEuiccProfileInfoListCommandCallback;)V
+HSPLcom/android/internal/telephony/euicc/EuiccConnector;->getEid(ILcom/android/internal/telephony/euicc/EuiccConnector$GetEidCommandCallback;)V
+HSPLcom/android/internal/telephony/euicc/EuiccConnector;->getEuiccProfileInfoList(ILcom/android/internal/telephony/euicc/EuiccConnector$GetEuiccProfileInfoListCommandCallback;)V
+HSPLcom/android/internal/telephony/euicc/EuiccConnector;->getSlotIdFromCardId(I)I
 HSPLcom/android/internal/telephony/euicc/EuiccConnector;->init(Landroid/content/Context;)V
 HSPLcom/android/internal/telephony/euicc/EuiccConnector;->isValidEuiccComponent(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;)Z
 HSPLcom/android/internal/telephony/euicc/EuiccConnector;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
 HSPLcom/android/internal/telephony/euicc/EuiccController$3;->onListComplete(Landroid/service/euicc/GetEuiccProfileInfoListResult;)V
+HSPLcom/android/internal/telephony/euicc/EuiccController$9;->onGetEidComplete(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/euicc/EuiccController;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/euicc/EuiccConnector;)V
-HSPLcom/android/internal/telephony/euicc/EuiccController;->blockingGetEuiccProfileInfoList()Landroid/service/euicc/GetEuiccProfileInfoListResult;
+HSPLcom/android/internal/telephony/euicc/EuiccController;->awaitResult(Ljava/util/concurrent/CountDownLatch;Ljava/util/concurrent/atomic/AtomicReference;)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/euicc/EuiccController;->blockingGetEuiccProfileInfoList(I)Landroid/service/euicc/GetEuiccProfileInfoListResult;
 HSPLcom/android/internal/telephony/euicc/EuiccController;->get()Lcom/android/internal/telephony/euicc/EuiccController;
+HSPLcom/android/internal/telephony/euicc/EuiccController;->getEid(ILjava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/euicc/EuiccController;->init(Landroid/content/Context;)Lcom/android/internal/telephony/euicc/EuiccController;
 HSPLcom/android/internal/telephony/euicc/IEuiccCardController$Stub;-><init>()V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->authenticateServer(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[B[B[B[BLcom/android/internal/telephony/euicc/IAuthenticateServerCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->cancelSession(Ljava/lang/String;Ljava/lang/String;[BILcom/android/internal/telephony/euicc/ICancelSessionCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->deleteProfile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/euicc/IDeleteProfileCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->disableProfile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLcom/android/internal/telephony/euicc/IDisableProfileCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->getAllProfiles(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/euicc/IGetAllProfilesCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->getDefaultSmdpAddress(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/euicc/IGetDefaultSmdpAddressCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->getEuiccChallenge(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/euicc/IGetEuiccChallengeCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->getEuiccInfo1(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/euicc/IGetEuiccInfo1Callback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->getEuiccInfo2(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/euicc/IGetEuiccInfo2Callback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->getProfile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/euicc/IGetProfileCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->getRulesAuthTable(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/euicc/IGetRulesAuthTableCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->getSmdsAddress(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/euicc/IGetSmdsAddressCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->listNotifications(Ljava/lang/String;Ljava/lang/String;ILcom/android/internal/telephony/euicc/IListNotificationsCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->loadBoundProfilePackage(Ljava/lang/String;Ljava/lang/String;[BLcom/android/internal/telephony/euicc/ILoadBoundProfilePackageCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->prepareDownload(Ljava/lang/String;Ljava/lang/String;[B[B[B[BLcom/android/internal/telephony/euicc/IPrepareDownloadCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->removeNotificationFromList(Ljava/lang/String;Ljava/lang/String;ILcom/android/internal/telephony/euicc/IRemoveNotificationFromListCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->resetMemory(Ljava/lang/String;Ljava/lang/String;ILcom/android/internal/telephony/euicc/IResetMemoryCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->retrieveNotification(Ljava/lang/String;Ljava/lang/String;ILcom/android/internal/telephony/euicc/IRetrieveNotificationCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->retrieveNotificationList(Ljava/lang/String;Ljava/lang/String;ILcom/android/internal/telephony/euicc/IRetrieveNotificationListCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->setDefaultSmdpAddress(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/euicc/ISetDefaultSmdpAddressCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->setNickname(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/telephony/euicc/ISetNicknameCallback;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccCardController;->switchToProfile(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLcom/android/internal/telephony/euicc/ISwitchToProfileCallback;)V
+HSPLcom/android/internal/telephony/euicc/IEuiccCardController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 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/euicc/IEuiccController;->continueOperation(Landroid/content/Intent;Landroid/os/Bundle;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccController;->deleteSubscription(ILjava/lang/String;Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccController;->downloadSubscription(Landroid/telephony/euicc/DownloadableSubscription;ZLjava/lang/String;Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccController;->eraseSubscriptions(Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccController;->getDefaultDownloadableSubscriptionList(Ljava/lang/String;Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccController;->getDownloadableSubscriptionMetadata(Landroid/telephony/euicc/DownloadableSubscription;Ljava/lang/String;Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccController;->getEid()Ljava/lang/String;
-HSPLcom/android/internal/telephony/euicc/IEuiccController;->getEuiccInfo()Landroid/telephony/euicc/EuiccInfo;
-HSPLcom/android/internal/telephony/euicc/IEuiccController;->getOtaStatus()I
-HSPLcom/android/internal/telephony/euicc/IEuiccController;->retainSubscriptionsForFactoryReset(Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccController;->switchToSubscription(ILjava/lang/String;Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/telephony/euicc/IEuiccController;->updateSubscriptionNickname(ILjava/lang/String;Landroid/app/PendingIntent;)V
+HSPLcom/android/internal/telephony/euicc/IEuiccController$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLcom/android/internal/telephony/euicc/IGetAllProfilesCallback$Stub$Proxy;->onComplete(I[Landroid/service/euicc/EuiccProfileInfo;)V
 HSPLcom/android/internal/telephony/gsm/GsmInboundSmsHandler;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/SmsStorageMonitor;Lcom/android/internal/telephony/Phone;)V
 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;
@@ -41505,35 +34784,33 @@
 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
 HSPLcom/android/internal/telephony/gsm/UsimPhoneBookManager;->reset()V
+HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$-jFhgP_NotuFSwzjQBXWuvls4x4;->test(Ljava/lang/Object;)Z
 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
-HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$WVd6ghNMbVDukmkxia3ZwNeZzEY;-><init>()V
-HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$WVd6ghNMbVDukmkxia3ZwNeZzEY;->get()Ljava/lang/Object;
+HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$aWLlEvfonhYSfDR8cVsM6A5pmqI;->test(Ljava/lang/Object;)Z
+HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$kF808g2NWzNL8H1SwzDc1FxiQdQ;->test(Ljava/lang/Object;)Z
 HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$pNx4XUM9FmR6cV_MCAGiEt8F4pg;->handleMessage(Landroid/os/Message;)Z
+HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$rPjfocpARQ2sab24iic4o3kTTgw;->test(Ljava/lang/Object;)Z
 HSPLcom/android/internal/telephony/ims/-$$Lambda$ImsServiceController$w3xbtqEhKr7IY81qFuw0e94p84Y;->test(Ljava/lang/Object;)Z
+HSPLcom/android/internal/telephony/ims/-$$Lambda$WVd6ghNMbVDukmkxia3ZwNeZzEY;-><init>()V
+HSPLcom/android/internal/telephony/ims/-$$Lambda$WVd6ghNMbVDukmkxia3ZwNeZzEY;->get()Ljava/lang/Object;
 HSPLcom/android/internal/telephony/ims/-$$Lambda$WamP7BPq0j01TgYE3GvUqU3b-rs;-><init>()V
 HSPLcom/android/internal/telephony/ims/-$$Lambda$WamP7BPq0j01TgYE3GvUqU3b-rs;->create(Landroid/content/Context;Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$Listener;)Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager;
-HSPLcom/android/internal/telephony/ims/ImsConfigCompatAdapter;->setConfig(II)I
-HSPLcom/android/internal/telephony/ims/ImsRegistrationCompatAdapter$1;->registrationAssociatedUriChanged([Landroid/net/Uri;)V
-HSPLcom/android/internal/telephony/ims/ImsRegistrationCompatAdapter$1;->registrationConnectedWithRadioTech(I)V
-HSPLcom/android/internal/telephony/ims/ImsRegistrationCompatAdapter$1;->registrationDisconnected(Landroid/telephony/ims/ImsReasonInfo;)V
-HSPLcom/android/internal/telephony/ims/ImsRegistrationCompatAdapter$1;->registrationFeatureCapabilityChanged(I[I[I)V
-HSPLcom/android/internal/telephony/ims/ImsRegistrationCompatAdapter$1;->registrationProgressingWithRadioTech(I)V
-HSPLcom/android/internal/telephony/ims/ImsRegistrationCompatAdapter;->getRegistrationListener()Lcom/android/ims/internal/IImsRegistrationListener;
+HSPLcom/android/internal/telephony/ims/ImsResolver$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/telephony/ims/ImsResolver$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/telephony/ims/ImsResolver$3;->getSubId(I)I
+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;->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$5;->getServiceInterface()Ljava/lang/String;
-HSPLcom/android/internal/telephony/ims/ImsResolver$ImsDynamicQueryManagerFactory;->create(Landroid/content/Context;Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$Listener;)Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager;
+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$SubscriptionManagerProxy;->getSlotIndex(I)I
-HSPLcom/android/internal/telephony/ims/ImsResolver$SubscriptionManagerProxy;->getSubId(I)I
+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;
@@ -41545,85 +34822,53 @@
 HSPLcom/android/internal/telephony/ims/ImsResolver;->getMmTelFeatureAndListen(ILcom/android/ims/internal/IImsServiceFeatureCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
 HSPLcom/android/internal/telephony/ims/ImsResolver;->imsServiceFeatureCreated(IILcom/android/internal/telephony/ims/ImsServiceController;)V
 HSPLcom/android/internal/telephony/ims/ImsResolver;->initPopulateCacheAndStartBind()V
-HSPLcom/android/internal/telephony/ims/ImsResolver;->isResolvingBinding()Z
+HSPLcom/android/internal/telephony/ims/ImsResolver;->lambda$new$0$ImsResolver(Landroid/os/Message;)Z
 HSPLcom/android/internal/telephony/ims/ImsResolver;->lambda$new$0(Lcom/android/internal/telephony/ims/ImsResolver;Landroid/os/Message;)Z
 HSPLcom/android/internal/telephony/ims/ImsResolver;->maybeAddedImsService(Ljava/lang/String;)V
+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
 HSPLcom/android/internal/telephony/ims/ImsServiceController$3;->getMaximumDelay()J
 HSPLcom/android/internal/telephony/ims/ImsServiceController$3;->getStartDelay()J
 HSPLcom/android/internal/telephony/ims/ImsServiceController$ImsFeatureContainer;->hashCode()I
 HSPLcom/android/internal/telephony/ims/ImsServiceController$ImsFeatureContainer;->resolve(Ljava/lang/Class;)Landroid/os/IInterface;
 HSPLcom/android/internal/telephony/ims/ImsServiceController$ImsFeatureStatusCallback$1;->notifyImsFeatureStatus(I)V
 HSPLcom/android/internal/telephony/ims/ImsServiceController$ImsServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-HSPLcom/android/internal/telephony/ims/ImsServiceController$ImsServiceControllerCallbacks;->imsServiceFeatureCreated(IILcom/android/internal/telephony/ims/ImsServiceController;)V
-HSPLcom/android/internal/telephony/ims/ImsServiceController$ImsServiceControllerCallbacks;->imsServiceFeatureRemoved(IILcom/android/internal/telephony/ims/ImsServiceController;)V
-HSPLcom/android/internal/telephony/ims/ImsServiceController$ImsServiceControllerCallbacks;->imsServiceFeaturesChanged(Landroid/telephony/ims/stub/ImsFeatureConfiguration;Lcom/android/internal/telephony/ims/ImsServiceController;)V
-HSPLcom/android/internal/telephony/ims/ImsServiceController$RebindRetry;->getMaximumDelay()J
-HSPLcom/android/internal/telephony/ims/ImsServiceController$RebindRetry;->getStartDelay()J
 HSPLcom/android/internal/telephony/ims/ImsServiceController;-><init>(Landroid/content/Context;Landroid/content/ComponentName;Lcom/android/internal/telephony/ims/ImsServiceController$ImsServiceControllerCallbacks;)V
 HSPLcom/android/internal/telephony/ims/ImsServiceController;->addImsServiceFeature(Landroid/telephony/ims/stub/ImsFeatureConfiguration$FeatureSlotPair;)V
 HSPLcom/android/internal/telephony/ims/ImsServiceController;->addImsServiceFeatureCallback(Lcom/android/ims/internal/IImsServiceFeatureCallback;)V
 HSPLcom/android/internal/telephony/ims/ImsServiceController;->bind(Ljava/util/HashSet;)Z
+HSPLcom/android/internal/telephony/ims/ImsServiceController;->changeImsServiceFeatures(Ljava/util/HashSet;)V
+HSPLcom/android/internal/telephony/ims/ImsServiceController;->createImsFeature(IILcom/android/ims/internal/IImsFeatureStatusCallback;)Landroid/os/IInterface;
+HSPLcom/android/internal/telephony/ims/ImsServiceController;->enableIms(I)V
 HSPLcom/android/internal/telephony/ims/ImsServiceController;->getComponentName()Landroid/content/ComponentName;
+HSPLcom/android/internal/telephony/ims/ImsServiceController;->getConfig(I)Landroid/telephony/ims/aidl/IImsConfig;
 HSPLcom/android/internal/telephony/ims/ImsServiceController;->getMmTelFeature(I)Landroid/telephony/ims/aidl/IImsMmTelFeature;
+HSPLcom/android/internal/telephony/ims/ImsServiceController;->getRegistration(I)Landroid/telephony/ims/aidl/IImsRegistration;
+HSPLcom/android/internal/telephony/ims/ImsServiceController;->getServiceInterface()Ljava/lang/String;
 HSPLcom/android/internal/telephony/ims/ImsServiceController;->grantPermissionsToService()V
+HSPLcom/android/internal/telephony/ims/ImsServiceController;->isServiceControllerAvailable()Z
+HSPLcom/android/internal/telephony/ims/ImsServiceController;->notifyImsServiceReady()V
 HSPLcom/android/internal/telephony/ims/ImsServiceController;->sendImsFeatureCreatedCallback(II)V
 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/ImsServiceControllerCompat;->createImsFeature(IILcom/android/ims/internal/IImsFeatureStatusCallback;)Landroid/os/IInterface;
-HSPLcom/android/internal/telephony/ims/ImsServiceControllerCompat;->createMMTelCompat(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Landroid/telephony/ims/aidl/IImsMmTelFeature;
-HSPLcom/android/internal/telephony/ims/ImsServiceControllerCompat;->enableIms(I)V
-HSPLcom/android/internal/telephony/ims/ImsServiceControllerCompat;->getConfig(I)Landroid/telephony/ims/aidl/IImsConfig;
-HSPLcom/android/internal/telephony/ims/ImsServiceControllerCompat;->getInterface(ILcom/android/ims/internal/IImsFeatureStatusCallback;)Lcom/android/internal/telephony/ims/MmTelInterfaceAdapter;
-HSPLcom/android/internal/telephony/ims/ImsServiceControllerCompat;->getRegistration(I)Landroid/telephony/ims/aidl/IImsRegistration;
-HSPLcom/android/internal/telephony/ims/ImsServiceControllerCompat;->getServiceInterface()Ljava/lang/String;
-HSPLcom/android/internal/telephony/ims/ImsServiceControllerCompat;->isServiceControllerAvailable()Z
-HSPLcom/android/internal/telephony/ims/ImsServiceControllerCompat;->notifyImsServiceReady()V
-HSPLcom/android/internal/telephony/ims/ImsServiceControllerCompat;->setServiceController(Landroid/os/IBinder;)V
-HSPLcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$Listener;->onComplete(Landroid/content/ComponentName;Ljava/util/Set;)V
-HSPLcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$Listener;->onError(Landroid/content/ComponentName;)V
-HSPLcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager;->isQueryInProgress()Z
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$1;->registrationAssociatedUriChanged([Landroid/net/Uri;)V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$1;->registrationConnectedWithRadioTech(I)V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$1;->registrationDisconnected(Landroid/telephony/ims/ImsReasonInfo;)V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$1;->registrationFeatureCapabilityChanged(I[I[I)V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$1;->registrationProgressingWithRadioTech(I)V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$4;->setFeatureValueReceived(I)V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$5;->setFeatureValueReceived(I)V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$ConfigListener;->onSetFeatureResponse(IIII)V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$ImsRegistrationListenerBase;->registrationAssociatedUriChanged([Landroid/net/Uri;)V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$ImsRegistrationListenerBase;->registrationConnectedWithRadioTech(I)V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$ImsRegistrationListenerBase;->registrationDisconnected(Landroid/telephony/ims/ImsReasonInfo;)V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$ImsRegistrationListenerBase;->registrationFeatureCapabilityChanged(I[I[I)V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$ImsRegistrationListenerBase;->registrationProgressingWithRadioTech(I)V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter;->changeEnabledCapabilities(Landroid/telephony/ims/feature/CapabilityChangeRequest;Landroid/telephony/ims/feature/ImsFeature$CapabilityCallbackProxy;)V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter;->convertCapabilities([I)Landroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter;->convertCapability(II)I
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter;->enableIms()V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter;->getEcbmInterface()Lcom/android/ims/internal/IImsEcbm;
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter;->getFeatureState()I
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter;->getMultiEndpointInterface()Lcom/android/ims/internal/IImsMultiEndpoint;
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter;->getOldConfigInterface()Lcom/android/ims/internal/IImsConfig;
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter;->getUtInterface()Lcom/android/ims/internal/IImsUt;
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter;->onFeatureReady()V
-HSPLcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter;->setUiTtyMode(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/ims/MmTelInterfaceAdapter;->addRegistrationListener(Lcom/android/ims/internal/IImsRegistrationListener;)V
-HSPLcom/android/internal/telephony/ims/MmTelInterfaceAdapter;->getConfigInterface()Lcom/android/ims/internal/IImsConfig;
-HSPLcom/android/internal/telephony/ims/MmTelInterfaceAdapter;->getEcbmInterface()Lcom/android/ims/internal/IImsEcbm;
-HSPLcom/android/internal/telephony/ims/MmTelInterfaceAdapter;->getFeatureState()I
-HSPLcom/android/internal/telephony/ims/MmTelInterfaceAdapter;->getMultiEndpointInterface()Lcom/android/ims/internal/IImsMultiEndpoint;
-HSPLcom/android/internal/telephony/ims/MmTelInterfaceAdapter;->getUtInterface()Lcom/android/ims/internal/IImsUt;
-HSPLcom/android/internal/telephony/ims/MmTelInterfaceAdapter;->setUiTTYMode(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/ims/MmTelInterfaceAdapter;->startSession(Landroid/app/PendingIntent;Lcom/android/ims/internal/IImsRegistrationListener;)I
-HSPLcom/android/internal/telephony/ims/MmTelInterfaceAdapter;->turnOnIms()V
+HSPLcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$ImsServiceFeatureQuery;->cleanup()V
+HSPLcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$ImsServiceFeatureQuery;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+HSPLcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$ImsServiceFeatureQuery;->queryImsFeatures(Landroid/telephony/ims/aidl/IImsServiceController;)V
+HSPLcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$ImsServiceFeatureQuery;->start()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
 HSPLcom/android/internal/telephony/imsphone/-$$Lambda$ImsPhoneCallTracker$Zw03itjXT6-LrhiYuD-9nKFg2Wg;-><init>()V
 HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker$1;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker$ExternalCallStateListener;->onImsExternalCallStateUpdate(Ljava/util/List;)V
-HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker$ImsCallNotify;->notifyPreciseCallStateChanged()V
-HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker$ImsCallNotify;->notifyUnknownConnection(Lcom/android/internal/telephony/Connection;)V
 HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker;-><init>(Lcom/android/internal/telephony/imsphone/ImsPhone;)V
 HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker;->getExternalCallStateListener()Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker$ExternalCallStateListener;
 HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker;->handleVideoCapabilitiesChanged(Landroid/os/AsyncResult;)V
@@ -41631,7 +34876,6 @@
 HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker;->refreshExternalCallState(Ljava/util/List;)V
 HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker;->registerForNotifications()V
 HSPLcom/android/internal/telephony/imsphone/ImsExternalCallTracker;->setCallPuller(Lcom/android/internal/telephony/imsphone/ImsPullCall;)V
-HSPLcom/android/internal/telephony/imsphone/ImsExternalConnection$Listener;->onPullExternalCall(Lcom/android/internal/telephony/imsphone/ImsExternalConnection;)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhone;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/PhoneNotifier;Lcom/android/internal/telephony/Phone;Z)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getBackgroundCall()Lcom/android/internal/telephony/Call;
 HSPLcom/android/internal/telephony/imsphone/ImsPhone;->getBackgroundCall()Lcom/android/internal/telephony/imsphone/ImsPhoneCall;
@@ -41653,19 +34897,16 @@
 HSPLcom/android/internal/telephony/imsphone/ImsPhone;->isVideoEnabled()Z
 HSPLcom/android/internal/telephony/imsphone/ImsPhone;->isWifiCallingEnabled()Z
 HSPLcom/android/internal/telephony/imsphone/ImsPhone;->logd(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->notifyForVideoCapabilityChanged(Z)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhone;->onFeatureCapabilityChanged()V
 HSPLcom/android/internal/telephony/imsphone/ImsPhone;->processDisconnectReason(Landroid/telephony/ims/ImsReasonInfo;)V
+HSPLcom/android/internal/telephony/imsphone/ImsPhone;->processWfcDisconnectForNotification(Landroid/telephony/ims/ImsReasonInfo;)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhone;->registerForOnHoldTone(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhone;->registerForRingbackTone(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhone;->registerForSilentRedial(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhone;->registerForTtyModeReceived(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->sendErrorResponse(Landroid/os/Message;Ljava/lang/Throwable;)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhone;->setCurrentSubscriberUris([Landroid/net/Uri;)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhone;->setImsRegistered(Z)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhone;->setServiceState(I)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->setTTYMode(ILandroid/os/Message;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhone;->setUiTTYMode(ILandroid/os/Message;)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
 HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
@@ -41674,14 +34915,13 @@
 HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$6;->onRegistered(I)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$6;->onRegistering(I)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$6;->onSubscriberAssociatedUriChanged([Landroid/net/Uri;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$7;->onCapabilitiesStatusChanged(Landroid/telephony/ims/feature/ImsFeature$Capabilities;)V
+HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$7;->onCapabilitiesStatusChanged(Landroid/telephony/ims/feature/MmTelFeature$MmTelCapabilities;)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$8;->onSetFeatureResponse(IIII)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$9;->onConfigChanged(II)V
+HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$9;->onProvisioningIntChanged(II)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$9;->sendConfigChangedIntent(ILjava/lang/String;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$PhoneNumberUtilsProxy;->isEmergencyNumber(Ljava/lang/String;)Z
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$PhoneStateListener;->onPhoneStateChanged(Lcom/android/internal/telephony/PhoneConstants$State;Lcom/android/internal/telephony/PhoneConstants$State;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$SharedPreferenceProxy;->getDefaultSharedPreferences(Landroid/content/Context;)Landroid/content/SharedPreferences;
+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;)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
@@ -41700,30 +34940,34 @@
 HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->loge(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->onDataEnabledChanged(ZI)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->registerPhoneStateListener(Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$PhoneStateListener;)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->setTtyMode(I)V
-HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->setUiTTYMode(ILandroid/os/Message;)V
 HSPLcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->startListeningForCalls()V
 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/imsphone/ImsPullCall;->pullExternalCall(Ljava/lang/String;II)V
+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
 HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->getInstance()Lcom/android/internal/telephony/metrics/TelephonyMetrics;
+HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->isDifferentSubscriptionInfo(Lcom/android/internal/telephony/nano/TelephonyProto$ActiveSubscriptionInfo;Lcom/android/internal/telephony/nano/TelephonyProto$ActiveSubscriptionInfo;)Z
 HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->reset()V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->toPdpType(Ljava/lang/String;)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
+HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeDataSwitch(Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$DataSwitch;)V
 HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeImsSetFeatureValue(IIII)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/hardware/radio/V1_0/SetupDataCallResult;)V
+HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeOnSetupDataCallResponse(IIIILandroid/telephony/data/DataCallResponse;)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
 HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeSetPreferredNetworkType(II)V
-HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeSetupDataCall(IIILjava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/metrics/TelephonyMetrics;->writeSetupDataCall(IIILjava/lang/String;I)V
 HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;->clear()Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;
 HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;->emptyArray()[Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;
 HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;->mergeFrom(Lcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;
@@ -41734,11 +34978,16 @@
 HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierList;->mergeFrom(Lcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierList;
 HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierList;->mergeFrom(Lcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;)Lcom/android/internal/telephony/protobuf/nano/MessageNano;
 HSPLcom/android/internal/telephony/nano/CarrierIdProto$CarrierList;->parseFrom([B)Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierList;
+HSPLcom/android/internal/telephony/nano/TelephonyProto$ActiveSubscriptionInfo;->emptyArray()[Lcom/android/internal/telephony/nano/TelephonyProto$ActiveSubscriptionInfo;
+HSPLcom/android/internal/telephony/nano/TelephonyProto$ImsCapabilities;->computeSerializedSize()I
+HSPLcom/android/internal/telephony/nano/TelephonyProto$ImsCapabilities;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
 HSPLcom/android/internal/telephony/nano/TelephonyProto$ImsConnectionState;->computeSerializedSize()I
 HSPLcom/android/internal/telephony/nano/TelephonyProto$ImsConnectionState;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
 HSPLcom/android/internal/telephony/nano/TelephonyProto$ImsReasonInfo;->computeSerializedSize()I
 HSPLcom/android/internal/telephony/nano/TelephonyProto$ImsReasonInfo;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
+HSPLcom/android/internal/telephony/nano/TelephonyProto$RilDataCall;->computeSerializedSize()I
 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;
 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;
@@ -41754,6 +35003,7 @@
 HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->readRawBytes(I)[B
 HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->readRawVarint32()I
 HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->readString()Ljava/lang/String;
+HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->readTag()I
 HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->rewindToPosition(I)V
 HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->skipField(I)Z
 HSPLcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;->skipRawBytes(I)V
@@ -41761,6 +35011,7 @@
 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
+HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawByte(B)V
 HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeRawVarint32(I)V
 HSPLcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;->writeStringNoTag(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/protobuf/nano/ExtendableMessageNano;->writeTo(Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;)V
@@ -41779,9 +35030,24 @@
 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
 HSPLcom/android/internal/telephony/uicc/AdnRecordLoader;->loadFromEF(IIILandroid/os/Message;)V
+HSPLcom/android/internal/telephony/uicc/AnswerToReset$HistoricalBytes;->getRawData()[B
+HSPLcom/android/internal/telephony/uicc/AnswerToReset$HistoricalBytes;->getValue(I)[B
+HSPLcom/android/internal/telephony/uicc/AnswerToReset$HistoricalBytes;->parseHistoricalBytes([BII)Lcom/android/internal/telephony/uicc/AnswerToReset$HistoricalBytes;
+HSPLcom/android/internal/telephony/uicc/AnswerToReset$HistoricalBytes;->parseLtvNode(ILandroid/util/ArrayMap;[BI)I
+HSPLcom/android/internal/telephony/uicc/AnswerToReset$InterfaceByte;->getTB()Ljava/lang/Byte;
+HSPLcom/android/internal/telephony/uicc/AnswerToReset$InterfaceByte;->getTD()Ljava/lang/Byte;
+HSPLcom/android/internal/telephony/uicc/AnswerToReset$InterfaceByte;->toString()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/AnswerToReset;->checkIsEuiccSupported()V
+HSPLcom/android/internal/telephony/uicc/AnswerToReset;->getConventionByte()B
+HSPLcom/android/internal/telephony/uicc/AnswerToReset;->isEuiccSupported()Z
+HSPLcom/android/internal/telephony/uicc/AnswerToReset;->isExtendedApduSupported()Z
 HSPLcom/android/internal/telephony/uicc/AnswerToReset;->parseAtrString(Ljava/lang/String;)Z
+HSPLcom/android/internal/telephony/uicc/AnswerToReset;->parseConventionByte([BI)I
+HSPLcom/android/internal/telephony/uicc/AnswerToReset;->parseInterfaceBytes([BI)I
+HSPLcom/android/internal/telephony/uicc/AnswerToReset;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/CarrierTestOverride;->isInTestMode()Z
 HSPLcom/android/internal/telephony/uicc/CarrierTestOverride;->loadCarrierTestOverrides()V
+HSPLcom/android/internal/telephony/uicc/CsimFileHandler;->getEFPath(I)Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;->values()[Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
 HSPLcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;-><init>(Ljava/lang/String;I)V
@@ -41793,6 +35059,7 @@
 HSPLcom/android/internal/telephony/uicc/IccCardApplicationStatus;->PinStateFromRILInt(I)Lcom/android/internal/telephony/uicc/IccCardStatus$PinState;
 HSPLcom/android/internal/telephony/uicc/IccCardApplicationStatus;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccCardStatus$CardState;-><init>(Ljava/lang/String;I)V
+HSPLcom/android/internal/telephony/uicc/IccCardStatus$CardState;->values()[Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;
 HSPLcom/android/internal/telephony/uicc/IccCardStatus$PinState;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/internal/telephony/uicc/IccCardStatus$PinState;->values()[Lcom/android/internal/telephony/uicc/IccCardStatus$PinState;
 HSPLcom/android/internal/telephony/uicc/IccCardStatus;->setCardState(I)V
@@ -41804,13 +35071,16 @@
 HSPLcom/android/internal/telephony/uicc/IccFileHandler;->loadEFLinearFixed(ILjava/lang/String;ILandroid/os/Message;)V
 HSPLcom/android/internal/telephony/uicc/IccFileHandler;->loadEFLinearFixedAll(ILandroid/os/Message;)V
 HSPLcom/android/internal/telephony/uicc/IccFileHandler;->loadEFLinearFixedAll(ILjava/lang/String;Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/uicc/IccFileHandler;->loadEFTransparent(IILandroid/os/Message;)V
 HSPLcom/android/internal/telephony/uicc/IccFileHandler;->loadEFTransparent(ILandroid/os/Message;)V
 HSPLcom/android/internal/telephony/uicc/IccFileHandler;->sendResult(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)V
+HSPLcom/android/internal/telephony/uicc/IccFileHandler;->updateEFLinearFixed(II[BLjava/lang/String;Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/uicc/IccIoResult;->getErrorString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccIoResult;->getException()Lcom/android/internal/telephony/uicc/IccException;
 HSPLcom/android/internal/telephony/uicc/IccIoResult;->success()Z
 HSPLcom/android/internal/telephony/uicc/IccIoResult;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccRecords;-><init>(Lcom/android/internal/telephony/uicc/UiccCardApplication;Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;)V
+HSPLcom/android/internal/telephony/uicc/IccRecords;->findBestLanguage([B[Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccRecords;->getAdnCache()Lcom/android/internal/telephony/uicc/AdnRecordCache;
 HSPLcom/android/internal/telephony/uicc/IccRecords;->getFullIccId()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccRecords;->getGid1()Ljava/lang/String;
@@ -41819,6 +35089,7 @@
 HSPLcom/android/internal/telephony/uicc/IccRecords;->getIccId()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccRecords;->getLockedRecordsLoaded()Z
 HSPLcom/android/internal/telephony/uicc/IccRecords;->getNetworkLockedRecordsLoaded()Z
+HSPLcom/android/internal/telephony/uicc/IccRecords;->getOperatorNumeric()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccRecords;->getPnnHomeName()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccRecords;->getRecordsLoaded()Z
 HSPLcom/android/internal/telephony/uicc/IccRecords;->getServiceProviderName()Ljava/lang/String;
@@ -41830,32 +35101,41 @@
 HSPLcom/android/internal/telephony/uicc/IccRecords;->registerForNewSms(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/uicc/IccRecords;->registerForRecordsEvents(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/uicc/IccRecords;->registerForRecordsLoaded(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/uicc/IccRecords;->registerForRecordsOverride(Landroid/os/Handler;ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/uicc/IccRecords;->setImsi(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/uicc/IccRecords;->setServiceProviderName(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/uicc/IccRecords;->setSimLanguage([B[B)V
 HSPLcom/android/internal/telephony/uicc/IccRecords;->toString()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/IccRecords;->unregisterForLockedRecordsLoaded(Landroid/os/Handler;)V
+HSPLcom/android/internal/telephony/uicc/IccRecords;->unregisterForNetworkLockedRecordsLoaded(Landroid/os/Handler;)V
+HSPLcom/android/internal/telephony/uicc/IccRecords;->unregisterForNetworkSelectionModeAutomatic(Landroid/os/Handler;)V
 HSPLcom/android/internal/telephony/uicc/IccRecords;->unregisterForRecordsEvents(Landroid/os/Handler;)V
 HSPLcom/android/internal/telephony/uicc/IccRecords;->unregisterForRecordsLoaded(Landroid/os/Handler;)V
-HSPLcom/android/internal/telephony/uicc/IccServiceTable;->getTag()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IccServiceTable;->getValues()[Ljava/lang/Object;
+HSPLcom/android/internal/telephony/uicc/IccRecords;->updateOperatorPlmn()V
 HSPLcom/android/internal/telephony/uicc/IccServiceTable;->toString()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/IccSlotStatus$SlotState;-><init>(Ljava/lang/String;I)V
+HSPLcom/android/internal/telephony/uicc/IccSlotStatus;->equals(Ljava/lang/Object;)Z
+HSPLcom/android/internal/telephony/uicc/IccSlotStatus;->setCardState(I)V
+HSPLcom/android/internal/telephony/uicc/IccSlotStatus;->setSlotState(I)V
+HSPLcom/android/internal/telephony/uicc/IccSlotStatus;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccUtils;->adnStringFieldToString([BII)Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccUtils;->bcdPlmnToString([BI)Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccUtils;->bcdToString([BII)Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccUtils;->bchToString([BII)Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/IccUtils;->byteNumForInt(IZ)I
+HSPLcom/android/internal/telephony/uicc/IccUtils;->byteToHex(B)Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccUtils;->bytesToHexString([B)Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/IccUtils;->bytesToInt([BII)I
+HSPLcom/android/internal/telephony/uicc/IccUtils;->cdmaBcdToString([BII)Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccUtils;->getDecimalSubstring(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccUtils;->hexCharToInt(C)I
 HSPLcom/android/internal/telephony/uicc/IccUtils;->hexStringToBytes(Ljava/lang/String;)[B
+HSPLcom/android/internal/telephony/uicc/IccUtils;->intToBytes(I[BIZ)I
 HSPLcom/android/internal/telephony/uicc/IccUtils;->networkNameToString([BII)Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IccUtils;->stripTrailingFs(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/IccUtils;->unsignedIntToBytes(I)[B
 HSPLcom/android/internal/telephony/uicc/InstallCarrierAppUtils;->hideAllNotifications(Landroid/content/Context;)V
 HSPLcom/android/internal/telephony/uicc/IsimFileHandler;->getEFPath(I)Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IsimFileHandler;->loge(Ljava/lang/String;)V
-HSPLcom/android/internal/telephony/uicc/IsimRecords;->getIsimDomain()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IsimRecords;->getIsimImpi()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IsimRecords;->getIsimImpu()[Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IsimRecords;->getIsimIst()Ljava/lang/String;
-HSPLcom/android/internal/telephony/uicc/IsimRecords;->getIsimPcscf()[Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimDomainLoaded;->getEfName()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimDomainLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
 HSPLcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimImpiLoaded;->getEfName()Ljava/lang/String;
@@ -41865,9 +35145,9 @@
 HSPLcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimIstLoaded;->getEfName()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimIstLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
 HSPLcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimPcscfLoaded;->getEfName()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/IsimUiccRecords$EfIsimPcscfLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
 HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;-><init>(Lcom/android/internal/telephony/uicc/UiccCardApplication;Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;)V
 HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->fetchIsimRecords()V
-HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->getIsimIst()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->isimTlvToString([B)Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/IsimUiccRecords;->log(Ljava/lang/String;)V
@@ -41881,6 +35161,41 @@
 HSPLcom/android/internal/telephony/uicc/PlmnActRecord;->accessTechString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/PlmnActRecord;->getRecords([B)[Lcom/android/internal/telephony/uicc/PlmnActRecord;
 HSPLcom/android/internal/telephony/uicc/PlmnActRecord;->toString()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfCsimCdmaHomeLoaded;->getEfName()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfCsimCdmaHomeLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfCsimEprlLoaded;->getEfName()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfCsimEprlLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfCsimImsimLoaded;->getEfName()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfCsimImsimLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfCsimLiLoaded;->getEfName()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfCsimLiLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfCsimMdnLoaded;->getEfName()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfCsimMdnLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfCsimMipUppLoaded;->checkLengthLegal(II)Z
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfCsimMipUppLoaded;->getEfName()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfCsimMipUppLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfCsimSpnLoaded;->getEfName()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfCsimSpnLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfPlLoaded;->getEfName()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/RuimRecords$EfPlLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
+HSPLcom/android/internal/telephony/uicc/RuimRecords;-><init>(Lcom/android/internal/telephony/uicc/UiccCardApplication;Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;)V
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->adjstMinDigits(I)I
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->fetchRuimRecords()V
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->getMdn()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->getMin()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->getNid()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->getPrlVersion()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->getRUIMOperatorNumeric()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->getSid()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->isProvisioned()Z
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->log(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->onAllRecordsLoaded()V
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->onGetCSimEprlDone(Landroid/os/AsyncResult;)V
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->onReady()V
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->onRecordLoaded()V
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->resetRecords()V
+HSPLcom/android/internal/telephony/uicc/RuimRecords;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/SIMRecords$EfPlLoaded;->getEfName()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/SIMRecords$EfPlLoaded;->onRecordLoaded(Landroid/os/AsyncResult;)V
 HSPLcom/android/internal/telephony/uicc/SIMRecords$EfUsimLiLoaded;->getEfName()Ljava/lang/String;
@@ -41896,17 +35211,21 @@
 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;->getVoiceMessageCount()I
+HSPLcom/android/internal/telephony/uicc/SIMRecords;->handleEfCspData([B)V
 HSPLcom/android/internal/telephony/uicc/SIMRecords;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/uicc/SIMRecords;->loadCallForwardingRecords()V
 HSPLcom/android/internal/telephony/uicc/SIMRecords;->loadEfLiAndEfPl()V
 HSPLcom/android/internal/telephony/uicc/SIMRecords;->log(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/uicc/SIMRecords;->loge(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/uicc/SIMRecords;->logw(Ljava/lang/String;Ljava/lang/Throwable;)V
 HSPLcom/android/internal/telephony/uicc/SIMRecords;->onAllRecordsLoaded()V
 HSPLcom/android/internal/telephony/uicc/SIMRecords;->onReady()V
 HSPLcom/android/internal/telephony/uicc/SIMRecords;->onRecordLoaded()V
 HSPLcom/android/internal/telephony/uicc/SIMRecords;->parseBcdPlmnList([BLjava/lang/String;)[Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/SIMRecords;->parseEfSpdi([B)V
 HSPLcom/android/internal/telephony/uicc/SIMRecords;->resetRecords()V
 HSPLcom/android/internal/telephony/uicc/SIMRecords;->setVoiceCallForwardingFlagFromSimRecords()V
+HSPLcom/android/internal/telephony/uicc/SIMRecords;->setVoiceMessageWaiting(II)V
 HSPLcom/android/internal/telephony/uicc/SIMRecords;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/SIMRecords;->validEfCfis([B)Z
 HSPLcom/android/internal/telephony/uicc/UiccCard;->getApplication(I)Lcom/android/internal/telephony/uicc/UiccCardApplication;
@@ -41914,11 +35233,11 @@
 HSPLcom/android/internal/telephony/uicc/UiccCard;->getCardState()Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;
 HSPLcom/android/internal/telephony/uicc/UiccCard;->getCarrierPackageNamesForIntent(Landroid/content/pm/PackageManager;Landroid/content/Intent;)Ljava/util/List;
 HSPLcom/android/internal/telephony/uicc/UiccCard;->getCarrierPrivilegeStatus(Landroid/content/pm/PackageManager;Ljava/lang/String;)I
+HSPLcom/android/internal/telephony/uicc/UiccCard;->getCarrierPrivilegeStatusForCurrentTransaction(Landroid/content/pm/PackageManager;)I
 HSPLcom/android/internal/telephony/uicc/UiccCard;->getIccId()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/UiccCard;->getOperatorBrandOverride()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/UiccCard;->getUiccProfile()Lcom/android/internal/telephony/uicc/UiccProfile;
 HSPLcom/android/internal/telephony/uicc/UiccCard;->hasCarrierPrivilegeRules()Z
-HSPLcom/android/internal/telephony/uicc/UiccCard;->iccOpenLogicalChannel(Ljava/lang/String;ILandroid/os/Message;)V
 HSPLcom/android/internal/telephony/uicc/UiccCard;->update(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccCardStatus;)V
 HSPLcom/android/internal/telephony/uicc/UiccCard;->updateCardId()V
 HSPLcom/android/internal/telephony/uicc/UiccCardApplication$1;->handleMessage(Landroid/os/Message;)V
@@ -41933,6 +35252,7 @@
 HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->getState()Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
 HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->getType()Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
 HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->getUiccProfile()Lcom/android/internal/telephony/uicc/UiccProfile;
+HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->isAppIgnored()Z
 HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->isReady()Z
 HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->notifyNetworkLockedRegistrantsIfNeeded(Landroid/os/Registrant;)V
 HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->notifyPinLockedRegistrantsIfNeeded(Landroid/os/Registrant;)V
@@ -41944,42 +35264,59 @@
 HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->registerForNetworkLocked(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->registerForReady(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/uicc/UiccCardApplication;->unregisterForReady(Landroid/os/Handler;)V
+HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules$TLV;->parse(Ljava/lang/String;Z)Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules$TLV;->parseLength(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;-><init>(Lcom/android/internal/telephony/uicc/UiccProfile;Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->areCarrierPriviligeRulesLoaded()Z
+HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->getAccessRules()Ljava/util/List;
 HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->getCarrierPackageNamesForIntent(Landroid/content/pm/PackageManager;Landroid/content/Intent;)Ljava/util/List;
 HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->getCarrierPrivilegeStatus(Landroid/content/pm/PackageManager;Ljava/lang/String;)I
+HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->getCarrierPrivilegeStatusForCurrentTransaction(Landroid/content/pm/PackageManager;)I
 HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->getCarrierPrivilegeStatusForUid(Landroid/content/pm/PackageManager;I)I
 HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->hasCarrierPrivilegeRules()Z
+HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->isDataComplete()Z
+HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->parseRefArdo(Ljava/lang/String;)Landroid/telephony/UiccAccessRule;
+HSPLcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->parseRules(Ljava/lang/String;)Ljava/util/List;
 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
 HSPLcom/android/internal/telephony/uicc/UiccController;->getCiIndex(Landroid/os/Message;)Ljava/lang/Integer;
 HSPLcom/android/internal/telephony/uicc/UiccController;->getIccRecords(II)Lcom/android/internal/telephony/uicc/IccRecords;
+HSPLcom/android/internal/telephony/uicc/UiccController;->getIccStateIntentString(Lcom/android/internal/telephony/IccCardConstants$State;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/UiccController;->getInstance()Lcom/android/internal/telephony/uicc/UiccController;
 HSPLcom/android/internal/telephony/uicc/UiccController;->getUiccCard(I)Lcom/android/internal/telephony/uicc/UiccCard;
 HSPLcom/android/internal/telephony/uicc/UiccController;->getUiccCardApplication(II)Lcom/android/internal/telephony/uicc/UiccCardApplication;
 HSPLcom/android/internal/telephony/uicc/UiccController;->getUiccCardForPhone(I)Lcom/android/internal/telephony/uicc/UiccCard;
+HSPLcom/android/internal/telephony/uicc/UiccController;->getUiccCardForSlot(I)Lcom/android/internal/telephony/uicc/UiccCard;
 HSPLcom/android/internal/telephony/uicc/UiccController;->getUiccProfileForPhone(I)Lcom/android/internal/telephony/uicc/UiccProfile;
+HSPLcom/android/internal/telephony/uicc/UiccController;->getUiccSlot(I)Lcom/android/internal/telephony/uicc/UiccSlot;
+HSPLcom/android/internal/telephony/uicc/UiccController;->getUiccSlotForCardId(Ljava/lang/String;)I
 HSPLcom/android/internal/telephony/uicc/UiccController;->getUiccSlotForPhone(I)Lcom/android/internal/telephony/uicc/UiccSlot;
+HSPLcom/android/internal/telephony/uicc/UiccController;->getUiccSlots()[Lcom/android/internal/telephony/uicc/UiccSlot;
 HSPLcom/android/internal/telephony/uicc/UiccController;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/uicc/UiccController;->loadCardStrings()Ljava/util/ArrayList;
 HSPLcom/android/internal/telephony/uicc/UiccController;->make(Landroid/content/Context;[Lcom/android/internal/telephony/CommandsInterface;)Lcom/android/internal/telephony/uicc/UiccController;
+HSPLcom/android/internal/telephony/uicc/UiccController;->onEidReady(Landroid/os/AsyncResult;Ljava/lang/Integer;)V
 HSPLcom/android/internal/telephony/uicc/UiccController;->onGetIccCardStatusDone(Landroid/os/AsyncResult;Ljava/lang/Integer;)V
 HSPLcom/android/internal/telephony/uicc/UiccController;->onGetSlotStatusDone(Landroid/os/AsyncResult;)V
 HSPLcom/android/internal/telephony/uicc/UiccController;->registerForIccChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-HSPLcom/android/internal/telephony/uicc/UiccPkcs15$FileHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccPkcs15$FileHandler;->loadFile(Ljava/lang/String;Landroid/os/Message;)Z
-HSPLcom/android/internal/telephony/uicc/UiccPkcs15$FileHandler;->readBinary()V
-HSPLcom/android/internal/telephony/uicc/UiccPkcs15$FileHandler;->selectFile()V
+HSPLcom/android/internal/telephony/uicc/UiccController;->slotStatusChanged(Ljava/util/ArrayList;)Z
+HSPLcom/android/internal/telephony/uicc/UiccController;->switchSlots([ILandroid/os/Message;)V
+HSPLcom/android/internal/telephony/uicc/UiccController;->updateInternalIccState(Landroid/content/Context;Lcom/android/internal/telephony/IccCardConstants$State;Ljava/lang/String;I)V
 HSPLcom/android/internal/telephony/uicc/UiccPkcs15$Pkcs15Selector;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccPkcs15;-><init>(Lcom/android/internal/telephony/uicc/UiccProfile;Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/uicc/UiccPkcs15;->getRules()Ljava/util/List;
 HSPLcom/android/internal/telephony/uicc/UiccPkcs15;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccPkcs15;->parseAcrf(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/UiccProfile$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/telephony/uicc/UiccProfile$3;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccCardStatus;ILcom/android/internal/telephony/uicc/UiccCard;)V
+HSPLcom/android/internal/telephony/uicc/UiccProfile;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccCardStatus;ILcom/android/internal/telephony/uicc/UiccCard;Ljava/lang/Object;)V
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->areAllApplicationsReady()Z
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->areAllRecordsLoaded()Z
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->areCarrierPriviligeRulesLoaded()Z
+HSPLcom/android/internal/telephony/uicc/UiccProfile;->checkAndUpdateIfAnyAppToBeIgnored()V
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->checkIndexLocked(ILcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;)I
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->createAndUpdateCatServiceLocked()V
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->getApplication(I)Lcom/android/internal/telephony/uicc/UiccCardApplication;
@@ -41987,96 +35324,188 @@
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->getCarrierPackageNamesForIntent(Landroid/content/pm/PackageManager;Landroid/content/Intent;)Ljava/util/List;
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->getCarrierPrivilegeRules()Lcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->getCarrierPrivilegeStatus(Landroid/content/pm/PackageManager;Ljava/lang/String;)I
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getCarrierPrivilegeStatusForUid(Landroid/content/pm/PackageManager;I)I
+HSPLcom/android/internal/telephony/uicc/UiccProfile;->getCarrierPrivilegeStatusForCurrentTransaction(Landroid/content/pm/PackageManager;)I
+HSPLcom/android/internal/telephony/uicc/UiccProfile;->getCertsFromCarrierPrivilegeAccessRules()Ljava/util/List;
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->getIccId()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->getIccRecords()Lcom/android/internal/telephony/uicc/IccRecords;
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->getIccRecordsLoaded()Z
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->getIccStateIntentString(Lcom/android/internal/telephony/IccCardConstants$State;)Ljava/lang/String;
 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
 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
+HSPLcom/android/internal/telephony/uicc/UiccProfile;->isEmptyProfile()Z
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->isSupportedApplication(Lcom/android/internal/telephony/uicc/UiccCardApplication;)Z
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->loglocal(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->onCarrierPrivilegesLoadedMessage()V
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->registerAllAppEvents()V
-HSPLcom/android/internal/telephony/uicc/UiccProfile;->registerForOpertorBrandOverride(Landroid/os/Handler;ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/uicc/UiccProfile;->registerForNetworkLocked(Landroid/os/Handler;ILjava/lang/Object;)V
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->resetProperties()V
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->sanitizeApplicationIndexesLocked()V
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->setCurrentAppType(Z)V
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->setExternalState(Lcom/android/internal/telephony/IccCardConstants$State;Z)V
+HSPLcom/android/internal/telephony/uicc/UiccProfile;->setVoiceRadioTech(I)V
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->unregisterAllAppEvents()V
+HSPLcom/android/internal/telephony/uicc/UiccProfile;->unregisterForNetworkLocked(Landroid/os/Handler;)V
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->update(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccCardStatus;)V
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->updateCarrierNameForSubscription(Lcom/android/internal/telephony/SubscriptionController;I)V
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->updateExternalState()V
 HSPLcom/android/internal/telephony/uicc/UiccProfile;->updateIccAvailability(Z)V
-HSPLcom/android/internal/telephony/uicc/UiccSlot;-><init>(Landroid/content/Context;Z)V
+HSPLcom/android/internal/telephony/uicc/UiccSlot;->getCardState()Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;
+HSPLcom/android/internal/telephony/uicc/UiccSlot;->getIccId()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/UiccSlot;->getPhoneId()I
 HSPLcom/android/internal/telephony/uicc/UiccSlot;->getUiccCard()Lcom/android/internal/telephony/uicc/UiccCard;
+HSPLcom/android/internal/telephony/uicc/UiccSlot;->isActive()Z
+HSPLcom/android/internal/telephony/uicc/UiccSlot;->isEuicc()Z
+HSPLcom/android/internal/telephony/uicc/UiccSlot;->isExtendedApduSupported()Z
+HSPLcom/android/internal/telephony/uicc/UiccSlot;->isRemovable()Z
+HSPLcom/android/internal/telephony/uicc/UiccSlot;->isStateUnknown()Z
 HSPLcom/android/internal/telephony/uicc/UiccSlot;->update(Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccCardStatus;I)V
+HSPLcom/android/internal/telephony/uicc/UiccSlot;->update(Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccCardStatus;II)V
+HSPLcom/android/internal/telephony/uicc/UiccSlot;->update(Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccSlotStatus;)V
+HSPLcom/android/internal/telephony/uicc/UiccSlot;->update(Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccSlotStatus;I)V
+HSPLcom/android/internal/telephony/uicc/UiccSlot;->updateCardStateAbsent()V
 HSPLcom/android/internal/telephony/uicc/UiccStateChangedLauncher;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/uicc/UiccController;)V
 HSPLcom/android/internal/telephony/uicc/UiccStateChangedLauncher;->handleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/telephony/uicc/UiccStateChangedLauncher;->notifyStateChanged()V
 HSPLcom/android/internal/telephony/uicc/UsimFileHandler;->getEFPath(I)Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/UsimFileHandler;->loge(Ljava/lang/String;)V
 HSPLcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/internal/telephony/uicc/UsimServiceTable;-><init>([B)V
 HSPLcom/android/internal/telephony/uicc/UsimServiceTable;->getTag()Ljava/lang/String;
 HSPLcom/android/internal/telephony/uicc/UsimServiceTable;->getValues()[Ljava/lang/Object;
 HSPLcom/android/internal/telephony/uicc/VoiceMailConstants;->containsCarrier(Ljava/lang/String;)Z
 HSPLcom/android/internal/telephony/uicc/VoiceMailConstants;->loadVoiceMail()V
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Decoder;-><init>([B)V
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Decoder;-><init>([BII)V
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Decoder;->nextNode()Lcom/android/internal/telephony/uicc/asn1/Asn1Node;
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Node$Builder;-><init>(I)V
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Node$Builder;->addChildAsBytes(I[B)Lcom/android/internal/telephony/uicc/asn1/Asn1Node$Builder;
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Node$Builder;->build()Lcom/android/internal/telephony/uicc/asn1/Asn1Node;
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Node;-><init>(ILjava/util/List;)V
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Node;-><init>(I[BII)V
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Node;->asBytes()[B
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Node;->asInteger()I
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Node;->asString()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Node;->getChild(I[I)Lcom/android/internal/telephony/uicc/asn1/Asn1Node;
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Node;->getChildren()Ljava/util/List;
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Node;->getChildren(I)Ljava/util/List;
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Node;->hasChild(I[I)Z
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Node;->newBuilder(I)Lcom/android/internal/telephony/uicc/asn1/Asn1Node$Builder;
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Node;->toHex()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/asn1/Asn1Node;->write([BI)I
+HSPLcom/android/internal/telephony/uicc/euicc/-$$Lambda$EuiccCard$7vWsDgJ3RMY6kHsGeBw-CxIKViI;->buildRequest([BLcom/android/internal/telephony/uicc/euicc/apdu/RequestBuilder;)V
+HSPLcom/android/internal/telephony/uicc/euicc/-$$Lambda$EuiccCard$B99bQ-FkeD9OwB8_qTcKScitlrM;-><init>()V
+HSPLcom/android/internal/telephony/uicc/euicc/-$$Lambda$EuiccCard$B99bQ-FkeD9OwB8_qTcKScitlrM;->handleResult([B)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/uicc/euicc/-$$Lambda$EuiccCard$HBn5KBGylwjLqIEm3rBhXnUU_8U;-><init>()V
+HSPLcom/android/internal/telephony/uicc/euicc/-$$Lambda$EuiccCard$HBn5KBGylwjLqIEm3rBhXnUU_8U;->build(Lcom/android/internal/telephony/uicc/euicc/apdu/RequestBuilder;)V
+HSPLcom/android/internal/telephony/uicc/euicc/-$$Lambda$EuiccCard$okradEAowCk8rNBK1OaJIA6l6eA;->handleResult([B)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/uicc/euicc/-$$Lambda$EuiccCard$toN63DWLt72dzp0WCl28UOMSmzE;-><init>()V
+HSPLcom/android/internal/telephony/uicc/euicc/-$$Lambda$EuiccCard$toN63DWLt72dzp0WCl28UOMSmzE;->build(Lcom/android/internal/telephony/uicc/euicc/apdu/RequestBuilder;)V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard$1;->onResult(Ljava/lang/Object;)V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard$1;->onResult(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard$2;->onResult(Ljava/lang/Object;)V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard$2;->onResult([B)V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccCardStatus;ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;->buildCarrierIdentifier(Lcom/android/internal/telephony/uicc/asn1/Asn1Node;)Landroid/service/carrier/CarrierIdentifier;
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;->buildProfile(Lcom/android/internal/telephony/uicc/asn1/Asn1Node;Landroid/service/euicc/EuiccProfileInfo$Builder;)V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;->getAllProfiles(Lcom/android/internal/telephony/uicc/euicc/async/AsyncResultCallback;Landroid/os/Handler;)V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;->getEid()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;->getEid(Lcom/android/internal/telephony/uicc/euicc/async/AsyncResultCallback;Landroid/os/Handler;)V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;->getOrExtractSpecVersion([B)Lcom/android/internal/telephony/uicc/euicc/EuiccSpecVersion;
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;->lambda$getAllProfiles$3([B)[Landroid/service/euicc/EuiccProfileInfo;
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;->lambda$getEid$10(Lcom/android/internal/telephony/uicc/euicc/apdu/RequestBuilder;)V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;->lambda$getEid$11(Lcom/android/internal/telephony/uicc/euicc/EuiccCard;[B)Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;->lambda$newRequestProvider$48(Lcom/android/internal/telephony/uicc/euicc/EuiccCard;Lcom/android/internal/telephony/uicc/euicc/EuiccCard$ApduRequestBuilder;[BLcom/android/internal/telephony/uicc/euicc/apdu/RequestBuilder;)V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;->loadEidAndNotifyRegistrants()V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;->registerForEidReady(Landroid/os/Handler;ILjava/lang/Object;)V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;->unregisterForEidReady(Landroid/os/Handler;)V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;->update(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Lcom/android/internal/telephony/uicc/IccCardStatus;)V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccCard;->updateCardId()V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccSpecVersion;-><init>(III)V
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccSpecVersion;->compareTo(Lcom/android/internal/telephony/uicc/euicc/EuiccSpecVersion;)I
+HSPLcom/android/internal/telephony/uicc/euicc/EuiccSpecVersion;->fromOpenChannelResponse([B)Lcom/android/internal/telephony/uicc/euicc/EuiccSpecVersion;
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/ApduCommand;->toString()Ljava/lang/String;
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$1;->onResult(Landroid/telephony/IccOpenLogicalChannelResponse;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$1;->onResult(Ljava/lang/Object;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$2$1;->onResult(Lcom/android/internal/telephony/uicc/IccIoResult;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$2$1;->onResult(Ljava/lang/Object;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$2;-><init>(Lcom/android/internal/telephony/uicc/euicc/apdu/ApduSender;Lcom/android/internal/telephony/uicc/euicc/apdu/ApduCommand;Lcom/android/internal/telephony/uicc/euicc/async/AsyncResultCallback;Landroid/os/Handler;ILjava/util/List;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$2;->onResult(Lcom/android/internal/telephony/uicc/IccIoResult;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$2;->onResult(Ljava/lang/Object;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$3;->onResult(Lcom/android/internal/telephony/uicc/IccIoResult;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$3;->onResult(Ljava/lang/Object;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$4;->onResult(Ljava/lang/Boolean;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$4;->onResult(Ljava/lang/Object;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/ApduSender;-><init>(Lcom/android/internal/telephony/CommandsInterface;Ljava/lang/String;Z)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/ApduSender;->getCompleteResponse(ILcom/android/internal/telephony/uicc/IccIoResult;Ljava/io/ByteArrayOutputStream;Lcom/android/internal/telephony/uicc/euicc/async/AsyncResultCallback;Landroid/os/Handler;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/ApduSender;->send(Lcom/android/internal/telephony/uicc/euicc/apdu/RequestProvider;Lcom/android/internal/telephony/uicc/euicc/async/AsyncResultCallback;Landroid/os/Handler;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/CloseLogicalChannelInvocation;->parseResult(Landroid/os/AsyncResult;)Ljava/lang/Boolean;
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/CloseLogicalChannelInvocation;->parseResult(Landroid/os/AsyncResult;)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/CloseLogicalChannelInvocation;->sendRequestMessage(Ljava/lang/Integer;Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/CloseLogicalChannelInvocation;->sendRequestMessage(Ljava/lang/Object;Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/OpenLogicalChannelInvocation;->parseResult(Landroid/os/AsyncResult;)Landroid/telephony/IccOpenLogicalChannelResponse;
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/OpenLogicalChannelInvocation;->parseResult(Landroid/os/AsyncResult;)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/OpenLogicalChannelInvocation;->sendRequestMessage(Ljava/lang/Object;Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/OpenLogicalChannelInvocation;->sendRequestMessage(Ljava/lang/String;Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/RequestBuilder;->addApdu(IIIILjava/lang/String;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/RequestBuilder;->addStoreData(Ljava/lang/String;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/TransmitApduLogicalChannelInvocation;->parseResult(Landroid/os/AsyncResult;)Lcom/android/internal/telephony/uicc/IccIoResult;
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/TransmitApduLogicalChannelInvocation;->parseResult(Landroid/os/AsyncResult;)Ljava/lang/Object;
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/TransmitApduLogicalChannelInvocation;->sendRequestMessage(Lcom/android/internal/telephony/uicc/euicc/apdu/ApduCommand;Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/uicc/euicc/apdu/TransmitApduLogicalChannelInvocation;->sendRequestMessage(Ljava/lang/Object;Landroid/os/Message;)V
+HSPLcom/android/internal/telephony/uicc/euicc/async/AsyncMessageInvocation;->handleMessage(Landroid/os/Message;)Z
+HSPLcom/android/internal/telephony/uicc/euicc/async/AsyncMessageInvocation;->invoke(Ljava/lang/Object;Lcom/android/internal/telephony/uicc/euicc/async/AsyncResultCallback;Landroid/os/Handler;)V
 HSPLcom/android/internal/telephony/util/NotificationChannelController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 HSPLcom/android/internal/telephony/util/NotificationChannelController;-><init>(Landroid/content/Context;)V
 HSPLcom/android/internal/telephony/util/NotificationChannelController;->createAll(Landroid/content/Context;)V
 HSPLcom/android/internal/telephony/util/NotificationChannelController;->migrateVoicemailNotificationSettings(Landroid/content/Context;)V
-HSPLcom/android/internal/telephony/util/TimeStampedValue;->toString()Ljava/lang/String;
 HSPLcom/android/internal/telephony/util/VoicemailNotificationSettingsUtil;->getRingTonePreference(Landroid/content/Context;)Landroid/net/Uri;
 HSPLcom/android/internal/telephony/util/VoicemailNotificationSettingsUtil;->migrateVoicemailRingtoneSettingsIfNeeded(Landroid/content/Context;Landroid/content/SharedPreferences;)V
 HSPLcom/android/internal/telephony/util/VoicemailNotificationSettingsUtil;->migrateVoicemailVibrationSettingsIfNeeded(Landroid/content/Context;Landroid/content/SharedPreferences;)V
-HSPLcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/textservice/ISpellCheckerSession;->onCancel()V
-HSPLcom/android/internal/textservice/ISpellCheckerSession;->onClose()V
-HSPLcom/android/internal/textservice/ISpellCheckerSession;->onGetSentenceSuggestionsMultiple([Landroid/view/textservice/TextInfo;I)V
-HSPLcom/android/internal/textservice/ISpellCheckerSession;->onGetSuggestionsMultiple([Landroid/view/textservice/TextInfo;IZ)V
-HSPLcom/android/internal/textservice/ISpellCheckerSessionListener$Stub;-><init>()V
-HSPLcom/android/internal/textservice/ISpellCheckerSessionListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/textservice/ISpellCheckerSessionListener;->onGetSentenceSuggestions([Landroid/view/textservice/SentenceSuggestionsInfo;)V
-HSPLcom/android/internal/textservice/ISpellCheckerSessionListener;->onGetSuggestions([Landroid/view/textservice/SuggestionsInfo;)V
-HSPLcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->getCurrentSpellChecker(Ljava/lang/String;)Landroid/view/textservice/SpellCheckerInfo;
-HSPLcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->getCurrentSpellCheckerSubtype(Ljava/lang/String;Z)Landroid/view/textservice/SpellCheckerSubtype;
-HSPLcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->getSpellCheckerService(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/textservice/ITextServicesSessionListener;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;)V
-HSPLcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;->isSpellCheckerEnabled()Z
 HSPLcom/android/internal/textservice/ITextServicesManager$Stub;-><init>()V
-HSPLcom/android/internal/textservice/ITextServicesManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/textservice/ITextServicesManager;
-HSPLcom/android/internal/textservice/ITextServicesManager;->finishSpellCheckerService(Lcom/android/internal/textservice/ISpellCheckerSessionListener;)V
-HSPLcom/android/internal/textservice/ITextServicesManager;->getCurrentSpellChecker(Ljava/lang/String;)Landroid/view/textservice/SpellCheckerInfo;
-HSPLcom/android/internal/textservice/ITextServicesManager;->getCurrentSpellCheckerSubtype(Ljava/lang/String;Z)Landroid/view/textservice/SpellCheckerSubtype;
-HSPLcom/android/internal/textservice/ITextServicesManager;->getEnabledSpellCheckers()[Landroid/view/textservice/SpellCheckerInfo;
-HSPLcom/android/internal/textservice/ITextServicesManager;->getSpellCheckerService(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/textservice/ITextServicesSessionListener;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;)V
-HSPLcom/android/internal/textservice/ITextServicesManager;->isSpellCheckerEnabled()Z
-HSPLcom/android/internal/textservice/ITextServicesSessionListener$Stub;-><init>()V
-HSPLcom/android/internal/textservice/ITextServicesSessionListener$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/textservice/ITextServicesSessionListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/textservice/ITextServicesSessionListener;->onServiceConnected(Lcom/android/internal/textservice/ISpellCheckerSession;)V
-HSPLcom/android/internal/textservice/LazyIntToIntMap;-><init>(Ljava/util/function/IntUnaryOperator;)V
-HSPLcom/android/internal/textservice/LazyIntToIntMap;->get(I)I
+HSPLcom/android/internal/transition/EpicenterTranslateClipReveal$1;->onAnimationEnd(Landroid/animation/Animator;)V
+HSPLcom/android/internal/transition/EpicenterTranslateClipReveal$State;-><init>()V
+HSPLcom/android/internal/transition/EpicenterTranslateClipReveal$StateEvaluator;->evaluate(FLcom/android/internal/transition/EpicenterTranslateClipReveal$State;Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;)Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;
+HSPLcom/android/internal/transition/EpicenterTranslateClipReveal$StateEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/internal/transition/EpicenterTranslateClipReveal$StateProperty;-><init>(C)V
+HSPLcom/android/internal/transition/EpicenterTranslateClipReveal$StateProperty;->set(Landroid/view/View;Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;)V
+HSPLcom/android/internal/transition/EpicenterTranslateClipReveal$StateProperty;->set(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLcom/android/internal/transition/EpicenterTranslateClipReveal;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLcom/android/internal/transition/EpicenterTranslateClipReveal;->captureEndValues(Landroid/transition/TransitionValues;)V
+HSPLcom/android/internal/transition/EpicenterTranslateClipReveal;->captureStartValues(Landroid/transition/TransitionValues;)V
+HSPLcom/android/internal/transition/EpicenterTranslateClipReveal;->captureValues(Landroid/transition/TransitionValues;)V
+HSPLcom/android/internal/transition/EpicenterTranslateClipReveal;->createRectAnimator(Landroid/view/View;Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;FLcom/android/internal/transition/EpicenterTranslateClipReveal$State;Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;FLandroid/transition/TransitionValues;Landroid/animation/TimeInterpolator;Landroid/animation/TimeInterpolator;Landroid/animation/TimeInterpolator;)Landroid/animation/Animator;
+HSPLcom/android/internal/transition/EpicenterTranslateClipReveal;->onAppear(Landroid/view/ViewGroup;Landroid/view/View;Landroid/transition/TransitionValues;Landroid/transition/TransitionValues;)Landroid/animation/Animator;
 HSPLcom/android/internal/util/-$$Lambda$ProviderAccessStats$9AhC6lKURctNKuYjVd-wu7jn6_c;-><init>()V
 HSPLcom/android/internal/util/-$$Lambda$ProviderAccessStats$9AhC6lKURctNKuYjVd-wu7jn6_c;->get()Ljava/lang/Object;
 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;
 HSPLcom/android/internal/util/ArrayUtils;->appendInt([II)[I
 HSPLcom/android/internal/util/ArrayUtils;->appendInt([IIZ)[I
+HSPLcom/android/internal/util/ArrayUtils;->appendLong([JJ)[J
+HSPLcom/android/internal/util/ArrayUtils;->appendLong([JJZ)[J
+HSPLcom/android/internal/util/ArrayUtils;->checkBounds(II)V
 HSPLcom/android/internal/util/ArrayUtils;->contains(Ljava/util/Collection;Ljava/lang/Object;)Z
 HSPLcom/android/internal/util/ArrayUtils;->contains([II)Z
 HSPLcom/android/internal/util/ArrayUtils;->contains([Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLcom/android/internal/util/ArrayUtils;->containsAll([Ljava/lang/Object;[Ljava/lang/Object;)Z
+HSPLcom/android/internal/util/ArrayUtils;->containsAny([Ljava/lang/Object;[Ljava/lang/Object;)Z
+HSPLcom/android/internal/util/ArrayUtils;->convertToIntArray(Ljava/util/List;)[I
 HSPLcom/android/internal/util/ArrayUtils;->convertToLongArray([I)[J
+HSPLcom/android/internal/util/ArrayUtils;->defeatNullable([Ljava/io/File;)[Ljava/io/File;
 HSPLcom/android/internal/util/ArrayUtils;->emptyArray(Ljava/lang/Class;)[Ljava/lang/Object;
+HSPLcom/android/internal/util/ArrayUtils;->indexOf([Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLcom/android/internal/util/ArrayUtils;->isEmpty(Ljava/util/Collection;)Z
+HSPLcom/android/internal/util/ArrayUtils;->isEmpty([Ljava/lang/Object;)Z
 HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedArray(Ljava/lang/Class;I)[Ljava/lang/Object;
 HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedByteArray(I)[B
 HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedCharArray(I)[C
@@ -42086,6 +35515,8 @@
 HSPLcom/android/internal/util/ArrayUtils;->newUnpaddedObjectArray(I)[Ljava/lang/Object;
 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;->unstableRemoveIf(Ljava/util/ArrayList;Ljava/util/function/Predicate;)I
@@ -42093,37 +35524,42 @@
 HSPLcom/android/internal/util/AsyncChannel$SyncMessenger;->obtain()Lcom/android/internal/util/AsyncChannel$SyncMessenger;
 HSPLcom/android/internal/util/AsyncChannel$SyncMessenger;->recycle()V
 HSPLcom/android/internal/util/AsyncChannel$SyncMessenger;->sendMessageSynchronously(Landroid/os/Messenger;Landroid/os/Message;)Landroid/os/Message;
-HSPLcom/android/internal/util/AsyncChannel;->cmdToString(I)Ljava/lang/String;
+HSPLcom/android/internal/util/AsyncChannel;-><init>()V
 HSPLcom/android/internal/util/AsyncChannel;->connect(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;)V
 HSPLcom/android/internal/util/AsyncChannel;->connect(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Messenger;)V
-HSPLcom/android/internal/util/AsyncChannel;->connectSync(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;)I
 HSPLcom/android/internal/util/AsyncChannel;->connectSync(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Messenger;)I
 HSPLcom/android/internal/util/AsyncChannel;->connected(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Messenger;)V
-HSPLcom/android/internal/util/AsyncChannel;->fullyConnectSync(Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;)I
 HSPLcom/android/internal/util/AsyncChannel;->linkToDeathMonitor()Z
 HSPLcom/android/internal/util/AsyncChannel;->replyToMessage(Landroid/os/Message;II)V
-HSPLcom/android/internal/util/AsyncChannel;->replyToMessage(Landroid/os/Message;IIILjava/lang/Object;)V
-HSPLcom/android/internal/util/AsyncChannel;->replyToMessage(Landroid/os/Message;ILjava/lang/Object;)V
 HSPLcom/android/internal/util/AsyncChannel;->replyToMessage(Landroid/os/Message;Landroid/os/Message;)V
 HSPLcom/android/internal/util/AsyncChannel;->sendMessage(I)V
 HSPLcom/android/internal/util/AsyncChannel;->sendMessage(III)V
 HSPLcom/android/internal/util/AsyncChannel;->sendMessage(IIILjava/lang/Object;)V
-HSPLcom/android/internal/util/AsyncChannel;->sendMessage(ILjava/lang/Object;)V
 HSPLcom/android/internal/util/AsyncChannel;->sendMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(I)Landroid/os/Message;
 HSPLcom/android/internal/util/AsyncChannel;->sendMessageSynchronously(Landroid/os/Message;)Landroid/os/Message;
 HSPLcom/android/internal/util/BitUtils;->packBits([I)J
+HSPLcom/android/internal/util/BitUtils;->toBytes(J)[B
 HSPLcom/android/internal/util/BitUtils;->unpackBits(J)[I
+HSPLcom/android/internal/util/BitwiseInputStream;-><init>([B)V
+HSPLcom/android/internal/util/BitwiseInputStream;->read(I)I
+HSPLcom/android/internal/util/BitwiseInputStream;->skip(I)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;
+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;
 HSPLcom/android/internal/util/ConcurrentUtils;->newFixedThreadPool(ILjava/lang/String;I)Ljava/util/concurrent/ExecutorService;
 HSPLcom/android/internal/util/ConcurrentUtils;->waitForCountDownNoInterrupt(Ljava/util/concurrent/CountDownLatch;JLjava/lang/String;)V
 HSPLcom/android/internal/util/ConcurrentUtils;->waitForFutureNoInterrupt(Ljava/util/concurrent/Future;Ljava/lang/String;)Ljava/lang/Object;
-HSPLcom/android/internal/util/DumpUtils$Dump;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+HSPLcom/android/internal/util/ConcurrentUtils;->wtfIfLockHeld(Ljava/lang/String;Ljava/lang/Object;)V
 HSPLcom/android/internal/util/ExponentiallyBucketedHistogram;-><init>(I)V
 HSPLcom/android/internal/util/ExponentiallyBucketedHistogram;->add(I)V
+HSPLcom/android/internal/util/ExponentiallyBucketedHistogram;->log(Ljava/lang/String;Ljava/lang/CharSequence;)V
 HSPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/OutputStream;)V
 HSPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/OutputStream;ZI)V
 HSPLcom/android/internal/util/FastPrintWriter;-><init>(Ljava/io/Writer;ZI)V
@@ -42139,7 +35575,6 @@
 HSPLcom/android/internal/util/FastPrintWriter;->println()V
 HSPLcom/android/internal/util/FastPrintWriter;->println(C)V
 HSPLcom/android/internal/util/FastPrintWriter;->println(I)V
-HSPLcom/android/internal/util/FastPrintWriter;->write(I)V
 HSPLcom/android/internal/util/FastPrintWriter;->write(Ljava/lang/String;)V
 HSPLcom/android/internal/util/FastXmlSerializer;-><init>()V
 HSPLcom/android/internal/util/FastXmlSerializer;-><init>(I)V
@@ -42155,16 +35590,12 @@
 HSPLcom/android/internal/util/FastXmlSerializer;->startTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
 HSPLcom/android/internal/util/FastXmlSerializer;->text(Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
 HSPLcom/android/internal/util/FileRotator$FileInfo;->parse(Ljava/lang/String;)Z
-HSPLcom/android/internal/util/FileRotator$Rewriter;->reset()V
-HSPLcom/android/internal/util/FileRotator$Rewriter;->shouldWrite()Z
-HSPLcom/android/internal/util/FileRotator$Writer;->write(Ljava/io/OutputStream;)V
 HSPLcom/android/internal/util/FileRotator;-><init>(Ljava/io/File;Ljava/lang/String;JJ)V
 HSPLcom/android/internal/util/FileRotator;->maybeRotate(J)V
 HSPLcom/android/internal/util/FileRotator;->readFile(Ljava/io/File;Lcom/android/internal/util/FileRotator$Reader;)V
 HSPLcom/android/internal/util/FileRotator;->readMatching(Lcom/android/internal/util/FileRotator$Reader;JJ)V
 HSPLcom/android/internal/util/FunctionalUtils$RemoteExceptionIgnoringConsumer;->accept(Ljava/lang/Object;)V
-HSPLcom/android/internal/util/FunctionalUtils$ThrowingRunnable;->runOrThrow()V
-HSPLcom/android/internal/util/FunctionalUtils$ThrowingSupplier;->getOrThrow()Ljava/lang/Object;
+HSPLcom/android/internal/util/FunctionalUtils$ThrowingConsumer;->accept(Ljava/lang/Object;)V
 HSPLcom/android/internal/util/GrowingArrayUtils;->append([FIF)[F
 HSPLcom/android/internal/util/GrowingArrayUtils;->append([III)[I
 HSPLcom/android/internal/util/GrowingArrayUtils;->append([JIJ)[J
@@ -42177,10 +35608,8 @@
 HSPLcom/android/internal/util/HexDump;->hexStringToByteArray(Ljava/lang/String;)[B
 HSPLcom/android/internal/util/HexDump;->toByte(C)I
 HSPLcom/android/internal/util/HexDump;->toHexString([B)Ljava/lang/String;
+HSPLcom/android/internal/util/HexDump;->toHexString([BII)Ljava/lang/String;
 HSPLcom/android/internal/util/HexDump;->toHexString([BIIZ)Ljava/lang/String;
-HSPLcom/android/internal/util/IState;->enter()V
-HSPLcom/android/internal/util/IState;->exit()V
-HSPLcom/android/internal/util/IState;->getName()Ljava/lang/String;
 HSPLcom/android/internal/util/IndentingPrintWriter;-><init>(Ljava/io/Writer;Ljava/lang/String;I)V
 HSPLcom/android/internal/util/IndentingPrintWriter;->decreaseIndent()Lcom/android/internal/util/IndentingPrintWriter;
 HSPLcom/android/internal/util/IndentingPrintWriter;->increaseIndent()Lcom/android/internal/util/IndentingPrintWriter;
@@ -42190,7 +35619,6 @@
 HSPLcom/android/internal/util/IndentingPrintWriter;->write(I)V
 HSPLcom/android/internal/util/IndentingPrintWriter;->write(Ljava/lang/String;II)V
 HSPLcom/android/internal/util/IndentingPrintWriter;->write([CII)V
-HSPLcom/android/internal/util/JournaledFile;-><init>(Ljava/io/File;Ljava/io/File;)V
 HSPLcom/android/internal/util/JournaledFile;->chooseForRead()Ljava/io/File;
 HSPLcom/android/internal/util/JournaledFile;->chooseForWrite()Ljava/io/File;
 HSPLcom/android/internal/util/JournaledFile;->commit()V
@@ -42211,43 +35639,40 @@
 HSPLcom/android/internal/util/MessageUtils;->findMessageNames([Ljava/lang/Class;)Landroid/util/SparseArray;
 HSPLcom/android/internal/util/MessageUtils;->findMessageNames([Ljava/lang/Class;[Ljava/lang/String;)Landroid/util/SparseArray;
 HSPLcom/android/internal/util/NotificationMessagingUtil;-><init>(Landroid/content/Context;)V
-HSPLcom/android/internal/util/NotificationMessagingUtil;->isDefaultMessagingApp(Landroid/service/notification/StatusBarNotification;)Z
-HSPLcom/android/internal/util/NotificationMessagingUtil;->isMessaging(Landroid/service/notification/StatusBarNotification;)Z
 HSPLcom/android/internal/util/ObjectUtils;->compare(Ljava/lang/Comparable;Ljava/lang/Comparable;)I
+HSPLcom/android/internal/util/ParseUtils;->parseIntWithBase(Ljava/lang/String;II)I
 HSPLcom/android/internal/util/Preconditions;->checkArgument(Z)V
 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
 HSPLcom/android/internal/util/Preconditions;->checkArrayElementsInRange([FFFLjava/lang/String;)[F
 HSPLcom/android/internal/util/Preconditions;->checkArrayElementsInRange([IIILjava/lang/String;)[I
+HSPLcom/android/internal/util/Preconditions;->checkCollectionElementsNotNull(Ljava/util/Collection;Ljava/lang/String;)Ljava/util/Collection;
+HSPLcom/android/internal/util/Preconditions;->checkFlagsArgument(II)I
 HSPLcom/android/internal/util/Preconditions;->checkNotNull(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/internal/util/Preconditions;->checkNotNull(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/internal/util/Preconditions;->checkState(Z)V
 HSPLcom/android/internal/util/Preconditions;->checkState(ZLjava/lang/String;)V
 HSPLcom/android/internal/util/Preconditions;->checkStringNotEmpty(Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
 HSPLcom/android/internal/util/Preconditions;->checkStringNotEmpty(Ljava/lang/CharSequence;Ljava/lang/Object;)Ljava/lang/CharSequence;
-HSPLcom/android/internal/util/ProcFileReader;-><init>(Ljava/io/InputStream;)V
-HSPLcom/android/internal/util/ProcFileReader;->close()V
-HSPLcom/android/internal/util/ProcFileReader;->fillBuf()I
-HSPLcom/android/internal/util/ProcFileReader;->finishLine()V
-HSPLcom/android/internal/util/ProcFileReader;->nextInt()I
-HSPLcom/android/internal/util/ProcFileReader;->nextLong()J
-HSPLcom/android/internal/util/ProcFileReader;->nextString()Ljava/lang/String;
-HSPLcom/android/internal/util/ProcFileReader;->nextTokenIndex()I
-HSPLcom/android/internal/util/ProcFileReader;->parseAndConsumeLong(I)J
 HSPLcom/android/internal/util/ProgressReporter;-><init>(I)V
 HSPLcom/android/internal/util/ProgressReporter;->addListener(Landroid/os/IProgressListener;)V
 HSPLcom/android/internal/util/ProviderAccessStats;-><init>()V
 HSPLcom/android/internal/util/ProviderAccessStats;->finishOperation(I)V
-HSPLcom/android/internal/util/ProviderAccessStats;->incrementInsertStats(IZ)V
 HSPLcom/android/internal/util/ProviderAccessStats;->incrementQueryStats(I)V
 HSPLcom/android/internal/util/ProviderAccessStats;->incrementStats(ILandroid/util/SparseLongArray;)V
 HSPLcom/android/internal/util/RingBuffer;-><init>(Ljava/lang/Class;I)V
+HSPLcom/android/internal/util/RingBuffer;->append(Ljava/lang/Object;)V
 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;
 HSPLcom/android/internal/util/RingBuffer;->size()I
+HSPLcom/android/internal/util/RingBufferIndices;-><init>(I)V
+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
 HSPLcom/android/internal/util/StatLogger;-><init>([Ljava/lang/String;)V
@@ -42259,12 +35684,14 @@
 HSPLcom/android/internal/util/State;->getName()Ljava/lang/String;
 HSPLcom/android/internal/util/State;->processMessage(Landroid/os/Message;)Z
 HSPLcom/android/internal/util/StateMachine$LogRecords;->add(Lcom/android/internal/util/StateMachine;Landroid/os/Message;Ljava/lang/String;Lcom/android/internal/util/IState;Lcom/android/internal/util/IState;Lcom/android/internal/util/IState;)V
+HSPLcom/android/internal/util/StateMachine$LogRecords;->cleanup()V
 HSPLcom/android/internal/util/StateMachine$LogRecords;->logOnlyTransitions()Z
 HSPLcom/android/internal/util/StateMachine$LogRecords;->setLogOnlyTransitions(Z)V
 HSPLcom/android/internal/util/StateMachine$LogRecords;->setSize(I)V
 HSPLcom/android/internal/util/StateMachine$SmHandler$StateInfo;->toString()Ljava/lang/String;
 HSPLcom/android/internal/util/StateMachine$SmHandler;-><init>(Landroid/os/Looper;Lcom/android/internal/util/StateMachine;)V
 HSPLcom/android/internal/util/StateMachine$SmHandler;->addState(Lcom/android/internal/util/State;Lcom/android/internal/util/State;)Lcom/android/internal/util/StateMachine$SmHandler$StateInfo;
+HSPLcom/android/internal/util/StateMachine$SmHandler;->cleanupAfterQuitting()V
 HSPLcom/android/internal/util/StateMachine$SmHandler;->completeConstruction()V
 HSPLcom/android/internal/util/StateMachine$SmHandler;->deferMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/util/StateMachine$SmHandler;->handleMessage(Landroid/os/Message;)V
@@ -42287,18 +35714,26 @@
 HSPLcom/android/internal/util/StateMachine;->deferMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/util/StateMachine;->getCurrentMessage()Landroid/os/Message;
 HSPLcom/android/internal/util/StateMachine;->getCurrentState()Lcom/android/internal/util/IState;
+HSPLcom/android/internal/util/StateMachine;->getHandler()Landroid/os/Handler;
 HSPLcom/android/internal/util/StateMachine;->getLogRecString(Landroid/os/Message;)Ljava/lang/String;
+HSPLcom/android/internal/util/StateMachine;->getName()Ljava/lang/String;
 HSPLcom/android/internal/util/StateMachine;->log(Ljava/lang/String;)V
 HSPLcom/android/internal/util/StateMachine;->logAndAddLogRec(Ljava/lang/String;)V
+HSPLcom/android/internal/util/StateMachine;->logd(Ljava/lang/String;)V
 HSPLcom/android/internal/util/StateMachine;->obtainMessage(I)Landroid/os/Message;
+HSPLcom/android/internal/util/StateMachine;->obtainMessage(IIILjava/lang/Object;)Landroid/os/Message;
 HSPLcom/android/internal/util/StateMachine;->obtainMessage(ILjava/lang/Object;)Landroid/os/Message;
 HSPLcom/android/internal/util/StateMachine;->onPostHandleMessage(Landroid/os/Message;)V
 HSPLcom/android/internal/util/StateMachine;->onPreHandleMessage(Landroid/os/Message;)V
+HSPLcom/android/internal/util/StateMachine;->onQuitting()V
+HSPLcom/android/internal/util/StateMachine;->quitNow()V
 HSPLcom/android/internal/util/StateMachine;->recordLogRec(Landroid/os/Message;)Z
 HSPLcom/android/internal/util/StateMachine;->removeDeferredMessages(I)V
 HSPLcom/android/internal/util/StateMachine;->removeMessages(I)V
 HSPLcom/android/internal/util/StateMachine;->sendMessage(I)V
+HSPLcom/android/internal/util/StateMachine;->sendMessage(II)V
 HSPLcom/android/internal/util/StateMachine;->sendMessage(III)V
+HSPLcom/android/internal/util/StateMachine;->sendMessage(IIILjava/lang/Object;)V
 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
@@ -42312,6 +35747,9 @@
 HSPLcom/android/internal/util/StateMachine;->start()V
 HSPLcom/android/internal/util/StateMachine;->toString()Ljava/lang/String;
 HSPLcom/android/internal/util/StateMachine;->transitionTo(Lcom/android/internal/util/IState;)V
+HSPLcom/android/internal/util/StateMachine;->unhandledMessage(Landroid/os/Message;)V
+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
 HSPLcom/android/internal/util/VirtualRefBasePtr;-><init>(J)V
@@ -42322,11 +35760,8 @@
 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
 HSPLcom/android/internal/util/WakeupMessage;->schedule(J)V
-HSPLcom/android/internal/util/XmlUtils$ReadMapCallback;->readThisUnknownObjectXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/Object;
-HSPLcom/android/internal/util/XmlUtils$WriteMapCallback;->writeUnknownObject(Ljava/lang/Object;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)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
-HSPLcom/android/internal/util/XmlUtils;->convertValueToInt(Ljava/lang/CharSequence;I)I
 HSPLcom/android/internal/util/XmlUtils;->nextElement(Lorg/xmlpull/v1/XmlPullParser;)V
 HSPLcom/android/internal/util/XmlUtils;->nextElementWithin(Lorg/xmlpull/v1/XmlPullParser;I)Z
 HSPLcom/android/internal/util/XmlUtils;->readBooleanAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
@@ -42346,272 +35781,174 @@
 HSPLcom/android/internal/util/XmlUtils;->readValueXml(Lorg/xmlpull/v1/XmlPullParser;[Ljava/lang/String;)Ljava/lang/Object;
 HSPLcom/android/internal/util/XmlUtils;->skipCurrentTag(Lorg/xmlpull/v1/XmlPullParser;)V
 HSPLcom/android/internal/util/XmlUtils;->writeBooleanAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Z)V
+HSPLcom/android/internal/util/XmlUtils;->writeIntArrayXml([ILjava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLcom/android/internal/util/XmlUtils;->writeIntAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;I)V
 HSPLcom/android/internal/util/XmlUtils;->writeLongAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;J)V
 HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Ljava/io/OutputStream;)V
-HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V
 HSPLcom/android/internal/util/XmlUtils;->writeMapXml(Ljava/util/Map;Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V
 HSPLcom/android/internal/util/XmlUtils;->writeSetXml(Ljava/util/Set;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLcom/android/internal/util/XmlUtils;->writeStringArrayXml([Ljava/lang/String;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLcom/android/internal/util/XmlUtils;->writeStringAttribute(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Ljava/lang/CharSequence;)V
 HSPLcom/android/internal/util/XmlUtils;->writeValueXml(Ljava/lang/Object;Ljava/lang/String;Lorg/xmlpull/v1/XmlSerializer;Lcom/android/internal/util/XmlUtils$WriteMapCallback;)V
-HSPLcom/android/internal/util/function/HexConsumer;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/internal/util/function/HexFunction;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/internal/util/function/QuadConsumer;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/internal/util/function/QuadFunction;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/internal/util/function/QuintConsumer;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/internal/util/function/QuintFunction;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/internal/util/function/TriConsumer;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLcom/android/internal/util/function/TriFunction;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLcom/android/internal/util/function/pooled/ArgumentPlaceholder;-><init>()V
-HSPLcom/android/internal/util/function/pooled/OmniFunction;->andThen(Ljava/util/function/Function;)Lcom/android/internal/util/function/pooled/OmniFunction;
-HSPLcom/android/internal/util/function/pooled/OmniFunction;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLcom/android/internal/util/function/pooled/OmniFunction;->negate()Lcom/android/internal/util/function/pooled/OmniFunction;
-HSPLcom/android/internal/util/function/pooled/OmniFunction;->recycleOnUse()Lcom/android/internal/util/function/pooled/OmniFunction;
 HSPLcom/android/internal/util/function/pooled/OmniFunction;->run()V
-HSPLcom/android/internal/util/function/pooled/PooledConsumer;->recycleOnUse()Lcom/android/internal/util/function/pooled/PooledConsumer;
-HSPLcom/android/internal/util/function/pooled/PooledFunction;->asConsumer()Lcom/android/internal/util/function/pooled/PooledConsumer;
-HSPLcom/android/internal/util/function/pooled/PooledFunction;->recycleOnUse()Lcom/android/internal/util/function/pooled/PooledFunction;
+HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/HexConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
+HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/QuadConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
+HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/QuintConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
 HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Lcom/android/internal/util/function/TriConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
 HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Ljava/util/function/BiConsumer;Ljava/lang/Object;Ljava/lang/Object;)Landroid/os/Message;
-HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainRunnable(Lcom/android/internal/util/function/TriConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/android/internal/util/function/pooled/PooledRunnable;
+HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainMessage(Ljava/util/function/Consumer;Ljava/lang/Object;)Landroid/os/Message;
+HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainRunnable(Lcom/android/internal/util/function/QuadConsumer;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/android/internal/util/function/pooled/PooledRunnable;
 HSPLcom/android/internal/util/function/pooled/PooledLambda;->obtainRunnable(Ljava/util/function/BiConsumer;Ljava/lang/Object;Ljava/lang/Object;)Lcom/android/internal/util/function/pooled/PooledRunnable;
-HSPLcom/android/internal/util/function/pooled/PooledLambda;->recycle()V
-HSPLcom/android/internal/util/function/pooled/PooledLambda;->recycleOnUse()Lcom/android/internal/util/function/pooled/PooledLambda;
-HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl$LambdaType;->toString(I)Ljava/lang/String;
 HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl$Pool;-><init>(Ljava/lang/Object;)V
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->access$000(II)I
 HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->acquire(Lcom/android/internal/util/function/pooled/PooledLambdaImpl$Pool;)Lcom/android/internal/util/function/pooled/PooledLambdaImpl;
-HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->acquire(Lcom/android/internal/util/function/pooled/PooledLambdaImpl$Pool;Ljava/lang/Object;IIILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/android/internal/util/function/pooled/PooledLambda;
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->acquire(Lcom/android/internal/util/function/pooled/PooledLambdaImpl$Pool;Ljava/lang/Object;IIILjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Lcom/android/internal/util/function/pooled/PooledLambda;
 HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->doInvoke()Ljava/lang/Object;
 HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->doRecycle()V
 HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->fillInArg(Ljava/lang/Object;)Z
-HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->getFuncTypeAsString()Ljava/lang/String;
-HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->invoke(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->mask(II)I
+HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->popArg(I)Ljava/lang/Object;
 HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->recycleOnUse()Lcom/android/internal/util/function/pooled/PooledRunnable;
-HSPLcom/android/internal/util/function/pooled/PooledLambdaImpl;->toString()Ljava/lang/String;
-HSPLcom/android/internal/util/function/pooled/PooledPredicate;->asConsumer()Lcom/android/internal/util/function/pooled/PooledConsumer;
-HSPLcom/android/internal/util/function/pooled/PooledPredicate;->recycleOnUse()Lcom/android/internal/util/function/pooled/PooledPredicate;
-HSPLcom/android/internal/util/function/pooled/PooledRunnable;->recycleOnUse()Lcom/android/internal/util/function/pooled/PooledRunnable;
-HSPLcom/android/internal/util/function/pooled/PooledSupplier$OfDouble;->recycleOnUse()Lcom/android/internal/util/function/pooled/PooledSupplier$OfDouble;
-HSPLcom/android/internal/util/function/pooled/PooledSupplier$OfInt;->recycleOnUse()Lcom/android/internal/util/function/pooled/PooledSupplier$OfInt;
-HSPLcom/android/internal/util/function/pooled/PooledSupplier$OfLong;->recycleOnUse()Lcom/android/internal/util/function/pooled/PooledSupplier$OfLong;
-HSPLcom/android/internal/util/function/pooled/PooledSupplier;->asRunnable()Lcom/android/internal/util/function/pooled/PooledRunnable;
-HSPLcom/android/internal/util/function/pooled/PooledSupplier;->recycleOnUse()Lcom/android/internal/util/function/pooled/PooledSupplier;
-HSPLcom/android/internal/view/ActionBarPolicy;->get(Landroid/content/Context;)Lcom/android/internal/view/ActionBarPolicy;
-HSPLcom/android/internal/view/ActionBarPolicy;->getEmbeddedMenuWidthLimit()I
 HSPLcom/android/internal/view/ActionBarPolicy;->getMaxActionButtons()I
-HSPLcom/android/internal/view/BaseIWindow;-><init>()V
-HSPLcom/android/internal/view/BaseIWindow;->setSession(Landroid/view/IWindowSession;)V
-HSPLcom/android/internal/view/BaseSurfaceHolder;-><init>()V
-HSPLcom/android/internal/view/BaseSurfaceHolder;->addCallback(Landroid/view/SurfaceHolder$Callback;)V
-HSPLcom/android/internal/view/BaseSurfaceHolder;->getCallbacks()[Landroid/view/SurfaceHolder$Callback;
-HSPLcom/android/internal/view/BaseSurfaceHolder;->getRequestedFormat()I
-HSPLcom/android/internal/view/BaseSurfaceHolder;->getRequestedHeight()I
-HSPLcom/android/internal/view/BaseSurfaceHolder;->getRequestedType()I
-HSPLcom/android/internal/view/BaseSurfaceHolder;->getRequestedWidth()I
-HSPLcom/android/internal/view/BaseSurfaceHolder;->getSurface()Landroid/view/Surface;
-HSPLcom/android/internal/view/BaseSurfaceHolder;->onAllowLockCanvas()Z
-HSPLcom/android/internal/view/BaseSurfaceHolder;->onRelayoutContainer()V
-HSPLcom/android/internal/view/BaseSurfaceHolder;->onUpdateSurface()V
-HSPLcom/android/internal/view/BaseSurfaceHolder;->removeCallback(Landroid/view/SurfaceHolder$Callback;)V
-HSPLcom/android/internal/view/BaseSurfaceHolder;->setSizeFromLayout()V
-HSPLcom/android/internal/view/BaseSurfaceHolder;->setSurfaceFrameSize(II)V
-HSPLcom/android/internal/view/BaseSurfaceHolder;->ungetCallbacks()V
-HSPLcom/android/internal/view/IInputConnectionWrapper$MyHandler;->handleMessage(Landroid/os/Message;)V
-HSPLcom/android/internal/view/IInputConnectionWrapper;-><init>(Landroid/os/Looper;Landroid/view/inputmethod/InputConnection;)V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->beginBatchEdit()V
 HSPLcom/android/internal/view/IInputConnectionWrapper;->closeConnection()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;
-HSPLcom/android/internal/view/IInputConnectionWrapper;->getSelectedText(IILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->getTextAfterCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->getTextBeforeCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->isActive()Z
 HSPLcom/android/internal/view/IInputConnectionWrapper;->isFinished()Z
 HSPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessage(I)Landroid/os/Message;
-HSPLcom/android/internal/view/IInputConnectionWrapper;->obtainMessageII(III)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/IInputConnectionWrapper;->onUserAction()V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->performEditorAction(I)V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->setComposingRegion(II)V
-HSPLcom/android/internal/view/IInputConnectionWrapper;->setComposingText(Ljava/lang/CharSequence;I)V
+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;->commitText(Ljava/lang/CharSequence;I)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;->performEditorAction(I)V
+HSPLcom/android/internal/view/IInputContext$Stub$Proxy;->sendKeyEvent(Landroid/view/KeyEvent;)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
-HSPLcom/android/internal/view/IInputContext;->beginBatchEdit()V
-HSPLcom/android/internal/view/IInputContext;->clearMetaKeyStates(I)V
-HSPLcom/android/internal/view/IInputContext;->commitCompletion(Landroid/view/inputmethod/CompletionInfo;)V
-HSPLcom/android/internal/view/IInputContext;->commitContent(Landroid/view/inputmethod/InputContentInfo;ILandroid/os/Bundle;ILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputContext;->commitCorrection(Landroid/view/inputmethod/CorrectionInfo;)V
-HSPLcom/android/internal/view/IInputContext;->commitText(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/IInputContext;->deleteSurroundingText(II)V
-HSPLcom/android/internal/view/IInputContext;->deleteSurroundingTextInCodePoints(II)V
-HSPLcom/android/internal/view/IInputContext;->endBatchEdit()V
-HSPLcom/android/internal/view/IInputContext;->finishComposingText()V
-HSPLcom/android/internal/view/IInputContext;->getCursorCapsMode(IILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputContext;->getExtractedText(Landroid/view/inputmethod/ExtractedTextRequest;IILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputContext;->getSelectedText(IILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputContext;->getTextAfterCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputContext;->getTextBeforeCursor(IIILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputContext;->performContextMenuAction(I)V
-HSPLcom/android/internal/view/IInputContext;->performEditorAction(I)V
-HSPLcom/android/internal/view/IInputContext;->performPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLcom/android/internal/view/IInputContext;->requestUpdateCursorAnchorInfo(IILcom/android/internal/view/IInputContextCallback;)V
-HSPLcom/android/internal/view/IInputContext;->sendKeyEvent(Landroid/view/KeyEvent;)V
-HSPLcom/android/internal/view/IInputContext;->setComposingRegion(II)V
-HSPLcom/android/internal/view/IInputContext;->setComposingText(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/IInputContext;->setSelection(II)V
-HSPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setSelectedText(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setTextAfterCursor(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/IInputContextCallback$Stub$Proxy;->setTextBeforeCursor(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/IInputContextCallback;->setCommitContentResult(ZI)V
-HSPLcom/android/internal/view/IInputContextCallback;->setCursorCapsMode(II)V
-HSPLcom/android/internal/view/IInputContextCallback;->setExtractedText(Landroid/view/inputmethod/ExtractedText;I)V
-HSPLcom/android/internal/view/IInputContextCallback;->setRequestUpdateCursorAnchorInfoResult(ZI)V
-HSPLcom/android/internal/view/IInputContextCallback;->setSelectedText(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/IInputContextCallback;->setTextAfterCursor(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/IInputContextCallback;->setTextBeforeCursor(Ljava/lang/CharSequence;I)V
-HSPLcom/android/internal/view/IInputMethod$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+HSPLcom/android/internal/view/IInputContextCallback$Stub;->asBinder()Landroid/os/IBinder;
+HSPLcom/android/internal/view/IInputContextCallback$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/view/IInputMethod$Stub;-><init>()V
-HSPLcom/android/internal/view/IInputMethod$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputMethod;
 HSPLcom/android/internal/view/IInputMethod$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/view/IInputMethod;->bindInput(Landroid/view/inputmethod/InputBinding;)V
-HSPLcom/android/internal/view/IInputMethod;->changeInputMethodSubtype(Landroid/view/inputmethod/InputMethodSubtype;)V
-HSPLcom/android/internal/view/IInputMethod;->createSession(Landroid/view/InputChannel;Lcom/android/internal/view/IInputSessionCallback;)V
-HSPLcom/android/internal/view/IInputMethod;->hideSoftInput(ILandroid/os/ResultReceiver;)V
-HSPLcom/android/internal/view/IInputMethod;->revokeSession(Lcom/android/internal/view/IInputMethodSession;)V
-HSPLcom/android/internal/view/IInputMethod;->setSessionEnabled(Lcom/android/internal/view/IInputMethodSession;Z)V
-HSPLcom/android/internal/view/IInputMethod;->showSoftInput(ILandroid/os/ResultReceiver;)V
-HSPLcom/android/internal/view/IInputMethod;->startInput(Landroid/os/IBinder;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;Z)V
-HSPLcom/android/internal/view/IInputMethod;->unbindInput()V
+HSPLcom/android/internal/view/IInputMethodClient$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 HSPLcom/android/internal/view/IInputMethodClient$Stub$Proxy;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/view/IInputMethodClient$Stub;-><init>()V
+HSPLcom/android/internal/view/IInputMethodClient$Stub$Proxy;->setActive(ZZ)V
 HSPLcom/android/internal/view/IInputMethodClient$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/view/IInputMethodClient$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputMethodClient;
 HSPLcom/android/internal/view/IInputMethodClient$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/view/IInputMethodClient;->onBindMethod(Lcom/android/internal/view/InputBindResult;)V
-HSPLcom/android/internal/view/IInputMethodClient;->onUnbindMethod(II)V
-HSPLcom/android/internal/view/IInputMethodClient;->reportFullscreenMode(Z)V
-HSPLcom/android/internal/view/IInputMethodClient;->setActive(ZZ)V
-HSPLcom/android/internal/view/IInputMethodClient;->setUserActionNotificationSequenceNumber(I)V
-HSPLcom/android/internal/view/IInputMethodClient;->setUsingInputMethod(Z)V
-HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->finishInput(Lcom/android/internal/view/IInputMethodClient;)V
-HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getCurrentInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;
-HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getEnabledInputMethodList()Ljava/util/List;
+HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->addClient(Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;I)V
+HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getEnabledInputMethodList(I)Ljava/util/List;
 HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getEnabledInputMethodSubtypeList(Ljava/lang/String;Z)Ljava/util/List;
-HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getInputMethodList()Ljava/util/List;
-HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getInputMethodWindowVisibleHeight()I
+HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->getInputMethodList(I)Ljava/util/List;
 HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->hideSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
-HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->notifyUserAction(I)V
-HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->reportFullscreenMode(Landroid/os/IBinder;Z)V
-HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->showSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
 HSPLcom/android/internal/view/IInputMethodManager$Stub$Proxy;->startInputOrWindowGainedFocus(ILcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/view/IInputContext;II)Lcom/android/internal/view/InputBindResult;
 HSPLcom/android/internal/view/IInputMethodManager$Stub;-><init>()V
-HSPLcom/android/internal/view/IInputMethodManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/view/IInputMethodManager;
 HSPLcom/android/internal/view/IInputMethodManager$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/view/IInputMethodManager;->addClient(Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;II)V
-HSPLcom/android/internal/view/IInputMethodManager;->clearLastInputMethodWindowForTransition(Landroid/os/IBinder;)V
-HSPLcom/android/internal/view/IInputMethodManager;->createInputContentUriToken(Landroid/os/IBinder;Landroid/net/Uri;Ljava/lang/String;)Lcom/android/internal/inputmethod/IInputContentUriToken;
-HSPLcom/android/internal/view/IInputMethodManager;->finishInput(Lcom/android/internal/view/IInputMethodClient;)V
-HSPLcom/android/internal/view/IInputMethodManager;->getCurrentInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;
-HSPLcom/android/internal/view/IInputMethodManager;->getEnabledInputMethodList()Ljava/util/List;
-HSPLcom/android/internal/view/IInputMethodManager;->getEnabledInputMethodSubtypeList(Ljava/lang/String;Z)Ljava/util/List;
-HSPLcom/android/internal/view/IInputMethodManager;->getInputMethodList()Ljava/util/List;
-HSPLcom/android/internal/view/IInputMethodManager;->getInputMethodWindowVisibleHeight()I
-HSPLcom/android/internal/view/IInputMethodManager;->getLastInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;
-HSPLcom/android/internal/view/IInputMethodManager;->getShortcutInputMethodsAndSubtypes()Ljava/util/List;
-HSPLcom/android/internal/view/IInputMethodManager;->getVrInputMethodList()Ljava/util/List;
-HSPLcom/android/internal/view/IInputMethodManager;->hideMySoftInput(Landroid/os/IBinder;I)V
-HSPLcom/android/internal/view/IInputMethodManager;->hideSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
-HSPLcom/android/internal/view/IInputMethodManager;->isInputMethodPickerShownForTest()Z
-HSPLcom/android/internal/view/IInputMethodManager;->notifySuggestionPicked(Landroid/text/style/SuggestionSpan;Ljava/lang/String;I)Z
-HSPLcom/android/internal/view/IInputMethodManager;->notifyUserAction(I)V
-HSPLcom/android/internal/view/IInputMethodManager;->registerSuggestionSpansForNotification([Landroid/text/style/SuggestionSpan;)V
-HSPLcom/android/internal/view/IInputMethodManager;->removeClient(Lcom/android/internal/view/IInputMethodClient;)V
-HSPLcom/android/internal/view/IInputMethodManager;->reportFullscreenMode(Landroid/os/IBinder;Z)V
-HSPLcom/android/internal/view/IInputMethodManager;->setAdditionalInputMethodSubtypes(Ljava/lang/String;[Landroid/view/inputmethod/InputMethodSubtype;)V
-HSPLcom/android/internal/view/IInputMethodManager;->setCurrentInputMethodSubtype(Landroid/view/inputmethod/InputMethodSubtype;)Z
-HSPLcom/android/internal/view/IInputMethodManager;->setImeWindowStatus(Landroid/os/IBinder;Landroid/os/IBinder;II)V
-HSPLcom/android/internal/view/IInputMethodManager;->setInputMethod(Landroid/os/IBinder;Ljava/lang/String;)V
-HSPLcom/android/internal/view/IInputMethodManager;->setInputMethodAndSubtype(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V
-HSPLcom/android/internal/view/IInputMethodManager;->shouldOfferSwitchingToNextInputMethod(Landroid/os/IBinder;)Z
-HSPLcom/android/internal/view/IInputMethodManager;->showInputMethodAndSubtypeEnablerFromClient(Lcom/android/internal/view/IInputMethodClient;Ljava/lang/String;)V
-HSPLcom/android/internal/view/IInputMethodManager;->showInputMethodPickerFromClient(Lcom/android/internal/view/IInputMethodClient;I)V
-HSPLcom/android/internal/view/IInputMethodManager;->showMySoftInput(Landroid/os/IBinder;I)V
-HSPLcom/android/internal/view/IInputMethodManager;->showSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
-HSPLcom/android/internal/view/IInputMethodManager;->startInputOrWindowGainedFocus(ILcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/view/IInputContext;II)Lcom/android/internal/view/InputBindResult;
-HSPLcom/android/internal/view/IInputMethodManager;->switchToNextInputMethod(Landroid/os/IBinder;Z)Z
-HSPLcom/android/internal/view/IInputMethodManager;->switchToPreviousInputMethod(Landroid/os/IBinder;)Z
-HSPLcom/android/internal/view/IInputMethodManager;->updateStatusIcon(Landroid/os/IBinder;Ljava/lang/String;I)V
-HSPLcom/android/internal/view/IInputMethodSession$Stub$Proxy;->displayCompletions([Landroid/view/inputmethod/CompletionInfo;)V
 HSPLcom/android/internal/view/IInputMethodSession$Stub$Proxy;->updateSelection(IIIIII)V
 HSPLcom/android/internal/view/IInputMethodSession$Stub;-><init>()V
 HSPLcom/android/internal/view/IInputMethodSession$Stub;->asBinder()Landroid/os/IBinder;
-HSPLcom/android/internal/view/IInputMethodSession;->appPrivateCommand(Ljava/lang/String;Landroid/os/Bundle;)V
-HSPLcom/android/internal/view/IInputMethodSession;->displayCompletions([Landroid/view/inputmethod/CompletionInfo;)V
-HSPLcom/android/internal/view/IInputMethodSession;->finishInput()V
-HSPLcom/android/internal/view/IInputMethodSession;->finishSession()V
-HSPLcom/android/internal/view/IInputMethodSession;->toggleSoftInput(II)V
-HSPLcom/android/internal/view/IInputMethodSession;->updateCursor(Landroid/graphics/Rect;)V
-HSPLcom/android/internal/view/IInputMethodSession;->updateCursorAnchorInfo(Landroid/view/inputmethod/CursorAnchorInfo;)V
-HSPLcom/android/internal/view/IInputMethodSession;->updateExtractedText(ILandroid/view/inputmethod/ExtractedText;)V
-HSPLcom/android/internal/view/IInputMethodSession;->updateSelection(IIIIII)V
-HSPLcom/android/internal/view/IInputMethodSession;->viewClicked(Z)V
+HSPLcom/android/internal/view/IInputMethodSession$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 HSPLcom/android/internal/view/IInputSessionCallback$Stub$Proxy;->sessionCreated(Lcom/android/internal/view/IInputMethodSession;)V
-HSPLcom/android/internal/view/IInputSessionCallback;->sessionCreated(Lcom/android/internal/view/IInputMethodSession;)V
 HSPLcom/android/internal/view/InputBindResult$1;-><init>()V
 HSPLcom/android/internal/view/InputBindResult$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/internal/view/InputBindResult;
 HSPLcom/android/internal/view/InputBindResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
 HSPLcom/android/internal/view/InputBindResult;-><init>(Landroid/os/Parcel;)V
 HSPLcom/android/internal/view/InputBindResult;->error(I)Lcom/android/internal/view/InputBindResult;
-HSPLcom/android/internal/view/RootViewSurfaceTaker;->onRootViewScrollYChanged(I)V
-HSPLcom/android/internal/view/RootViewSurfaceTaker;->setSurfaceFormat(I)V
-HSPLcom/android/internal/view/RootViewSurfaceTaker;->setSurfaceKeepScreenOn(Z)V
-HSPLcom/android/internal/view/RootViewSurfaceTaker;->setSurfaceType(I)V
-HSPLcom/android/internal/view/RootViewSurfaceTaker;->willYouTakeTheInputQueue()Landroid/view/InputQueue$Callback;
-HSPLcom/android/internal/view/RootViewSurfaceTaker;->willYouTakeTheSurface()Landroid/view/SurfaceHolder$Callback2;
+HSPLcom/android/internal/view/InputBindResult;->writeToParcel(Landroid/os/Parcel;I)V
+HSPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;-><init>()V
+HSPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->dispose()V
+HSPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->getInstance()Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
+HSPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->setSelectedText(Ljava/lang/CharSequence;I)V
+HSPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->setTextAfterCursor(Ljava/lang/CharSequence;I)V
+HSPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->setTextBeforeCursor(Ljava/lang/CharSequence;I)V
+HSPLcom/android/internal/view/InputConnectionWrapper$InputContextCallback;->waitForResultLocked()V
+HSPLcom/android/internal/view/InputConnectionWrapper;->commitText(Ljava/lang/CharSequence;I)Z
+HSPLcom/android/internal/view/InputConnectionWrapper;->getSelectedText(I)Ljava/lang/CharSequence;
+HSPLcom/android/internal/view/InputConnectionWrapper;->getTextAfterCursor(II)Ljava/lang/CharSequence;
+HSPLcom/android/internal/view/InputConnectionWrapper;->getTextBeforeCursor(II)Ljava/lang/CharSequence;
+HSPLcom/android/internal/view/InputConnectionWrapper;->performEditorAction(I)Z
+HSPLcom/android/internal/view/InputConnectionWrapper;->sendKeyEvent(Landroid/view/KeyEvent;)Z
 HSPLcom/android/internal/view/RotationPolicy;->isRotationLockToggleVisible(Landroid/content/Context;)Z
 HSPLcom/android/internal/view/RotationPolicy;->isRotationLocked(Landroid/content/Context;)Z
 HSPLcom/android/internal/view/RotationPolicy;->isRotationSupported(Landroid/content/Context;)Z
-HSPLcom/android/internal/view/SurfaceCallbackHelper$1;->run()V
-HSPLcom/android/internal/view/SurfaceCallbackHelper;-><init>(Ljava/lang/Runnable;)V
-HSPLcom/android/internal/view/SurfaceCallbackHelper;->dispatchSurfaceRedrawNeededAsync(Landroid/view/SurfaceHolder;[Landroid/view/SurfaceHolder$Callback;)V
 HSPLcom/android/internal/view/WindowManagerPolicyThread;->set(Ljava/lang/Thread;Landroid/os/Looper;)V
 HSPLcom/android/internal/view/menu/ActionMenuItem;-><init>(Landroid/content/Context;IIIILjava/lang/CharSequence;)V
-HSPLcom/android/internal/view/menu/BaseMenuPresenter;-><init>(Landroid/content/Context;II)V
-HSPLcom/android/internal/view/menu/BaseMenuPresenter;->bindItemView(Lcom/android/internal/view/menu/MenuItemImpl;Lcom/android/internal/view/menu/MenuView$ItemView;)V
-HSPLcom/android/internal/view/menu/BaseMenuPresenter;->initForMenu(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
+HSPLcom/android/internal/view/menu/ActionMenuItemView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLcom/android/internal/view/menu/ActionMenuItemView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HSPLcom/android/internal/view/menu/ActionMenuItemView;->hasText()Z
+HSPLcom/android/internal/view/menu/ActionMenuItemView;->initialize(Lcom/android/internal/view/menu/MenuItemImpl;I)V
+HSPLcom/android/internal/view/menu/ActionMenuItemView;->needsDividerAfter()Z
+HSPLcom/android/internal/view/menu/ActionMenuItemView;->needsDividerBefore()Z
+HSPLcom/android/internal/view/menu/ActionMenuItemView;->onMeasure(II)V
+HSPLcom/android/internal/view/menu/ActionMenuItemView;->prefersCondensedTitle()Z
+HSPLcom/android/internal/view/menu/ActionMenuItemView;->setIcon(Landroid/graphics/drawable/Drawable;)V
+HSPLcom/android/internal/view/menu/ActionMenuItemView;->setItemInvoker(Lcom/android/internal/view/menu/MenuBuilder$ItemInvoker;)V
+HSPLcom/android/internal/view/menu/ActionMenuItemView;->setPopupCallback(Lcom/android/internal/view/menu/ActionMenuItemView$PopupCallback;)V
+HSPLcom/android/internal/view/menu/ActionMenuItemView;->setTitle(Ljava/lang/CharSequence;)V
+HSPLcom/android/internal/view/menu/ActionMenuItemView;->shouldAllowTextWithIcon()Z
+HSPLcom/android/internal/view/menu/ActionMenuItemView;->updateTextButtonVisibility()V
+HSPLcom/android/internal/view/menu/BaseMenuPresenter;->addItemView(Landroid/view/View;I)V
+HSPLcom/android/internal/view/menu/BaseMenuPresenter;->createItemView(Landroid/view/ViewGroup;)Lcom/android/internal/view/menu/MenuView$ItemView;
 HSPLcom/android/internal/view/menu/BaseMenuPresenter;->setCallback(Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
 HSPLcom/android/internal/view/menu/BaseMenuPresenter;->updateMenuView(Z)V
-HSPLcom/android/internal/view/menu/MenuBuilder$ItemInvoker;->invokeItem(Lcom/android/internal/view/menu/MenuItemImpl;)Z
+HSPLcom/android/internal/view/menu/ListMenuItemView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
+HSPLcom/android/internal/view/menu/ListMenuItemView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;II)V
+HSPLcom/android/internal/view/menu/ListMenuItemView;->adjustListItemSelectionBounds(Landroid/graphics/Rect;)V
+HSPLcom/android/internal/view/menu/ListMenuItemView;->initialize(Lcom/android/internal/view/menu/MenuItemImpl;I)V
+HSPLcom/android/internal/view/menu/ListMenuItemView;->onFinishInflate()V
+HSPLcom/android/internal/view/menu/ListMenuItemView;->onMeasure(II)V
+HSPLcom/android/internal/view/menu/ListMenuItemView;->prefersCondensedTitle()Z
+HSPLcom/android/internal/view/menu/ListMenuItemView;->setCheckable(Z)V
+HSPLcom/android/internal/view/menu/ListMenuItemView;->setGroupDividerEnabled(Z)V
+HSPLcom/android/internal/view/menu/ListMenuItemView;->setIcon(Landroid/graphics/drawable/Drawable;)V
+HSPLcom/android/internal/view/menu/ListMenuItemView;->setShortcut(ZC)V
+HSPLcom/android/internal/view/menu/ListMenuItemView;->setTitle(Ljava/lang/CharSequence;)V
+HSPLcom/android/internal/view/menu/MenuAdapter;->findExpandedIndex()V
+HSPLcom/android/internal/view/menu/MenuAdapter;->getCount()I
+HSPLcom/android/internal/view/menu/MenuAdapter;->getItem(I)Lcom/android/internal/view/menu/MenuItemImpl;
+HSPLcom/android/internal/view/menu/MenuAdapter;->getItem(I)Ljava/lang/Object;
+HSPLcom/android/internal/view/menu/MenuAdapter;->getItemId(I)J
+HSPLcom/android/internal/view/menu/MenuAdapter;->getView(ILandroid/view/View;Landroid/view/ViewGroup;)Landroid/view/View;
+HSPLcom/android/internal/view/menu/MenuAdapter;->setForceShowIcon(Z)V
 HSPLcom/android/internal/view/menu/MenuBuilder;-><init>(Landroid/content/Context;)V
 HSPLcom/android/internal/view/menu/MenuBuilder;->add(IIII)Landroid/view/MenuItem;
 HSPLcom/android/internal/view/menu/MenuBuilder;->add(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
 HSPLcom/android/internal/view/menu/MenuBuilder;->addInternal(IIILjava/lang/CharSequence;)Landroid/view/MenuItem;
 HSPLcom/android/internal/view/menu/MenuBuilder;->addMenuPresenter(Lcom/android/internal/view/menu/MenuPresenter;Landroid/content/Context;)V
 HSPLcom/android/internal/view/menu/MenuBuilder;->clear()V
+HSPLcom/android/internal/view/menu/MenuBuilder;->close()V
+HSPLcom/android/internal/view/menu/MenuBuilder;->close(Z)V
+HSPLcom/android/internal/view/menu/MenuBuilder;->dispatchMenuItemSelected(Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/MenuItem;)Z
 HSPLcom/android/internal/view/menu/MenuBuilder;->dispatchPresenterUpdate(Z)V
 HSPLcom/android/internal/view/menu/MenuBuilder;->findItem(I)Landroid/view/MenuItem;
 HSPLcom/android/internal/view/menu/MenuBuilder;->flagActionItems()V
 HSPLcom/android/internal/view/menu/MenuBuilder;->getActionItems()Ljava/util/ArrayList;
+HSPLcom/android/internal/view/menu/MenuBuilder;->getContext()Landroid/content/Context;
+HSPLcom/android/internal/view/menu/MenuBuilder;->getExpandedItem()Lcom/android/internal/view/menu/MenuItemImpl;
 HSPLcom/android/internal/view/menu/MenuBuilder;->getNonActionItems()Ljava/util/ArrayList;
+HSPLcom/android/internal/view/menu/MenuBuilder;->getOptionalIconsVisible()Z
 HSPLcom/android/internal/view/menu/MenuBuilder;->getVisibleItems()Ljava/util/ArrayList;
 HSPLcom/android/internal/view/menu/MenuBuilder;->hasVisibleItems()Z
+HSPLcom/android/internal/view/menu/MenuBuilder;->isGroupDividerEnabled()Z
+HSPLcom/android/internal/view/menu/MenuBuilder;->isQwertyMode()Z
+HSPLcom/android/internal/view/menu/MenuBuilder;->isShortcutsVisible()Z
+HSPLcom/android/internal/view/menu/MenuBuilder;->onItemActionRequestChanged(Lcom/android/internal/view/menu/MenuItemImpl;)V
 HSPLcom/android/internal/view/menu/MenuBuilder;->onItemVisibleChanged(Lcom/android/internal/view/menu/MenuItemImpl;)V
 HSPLcom/android/internal/view/menu/MenuBuilder;->onItemsChanged(Z)V
+HSPLcom/android/internal/view/menu/MenuBuilder;->performItemAction(Landroid/view/MenuItem;I)Z
+HSPLcom/android/internal/view/menu/MenuBuilder;->performItemAction(Landroid/view/MenuItem;Lcom/android/internal/view/menu/MenuPresenter;I)Z
 HSPLcom/android/internal/view/menu/MenuBuilder;->setCallback(Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
 HSPLcom/android/internal/view/menu/MenuBuilder;->size()I
 HSPLcom/android/internal/view/menu/MenuBuilder;->startDispatchingItemsChanged()V
 HSPLcom/android/internal/view/menu/MenuBuilder;->stopDispatchingItemsChanged()V
-HSPLcom/android/internal/view/menu/MenuHelper;->dismiss()V
-HSPLcom/android/internal/view/menu/MenuHelper;->setPresenterCallback(Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
 HSPLcom/android/internal/view/menu/MenuItemImpl;-><init>(Lcom/android/internal/view/menu/MenuBuilder;IIIILjava/lang/CharSequence;I)V
+HSPLcom/android/internal/view/menu/MenuItemImpl;->applyIconTintIfNecessary(Landroid/graphics/drawable/Drawable;)Landroid/graphics/drawable/Drawable;
+HSPLcom/android/internal/view/menu/MenuItemImpl;->getActionProvider()Landroid/view/ActionProvider;
+HSPLcom/android/internal/view/menu/MenuItemImpl;->getIcon()Landroid/graphics/drawable/Drawable;
+HSPLcom/android/internal/view/menu/MenuItemImpl;->getItemId()I
+HSPLcom/android/internal/view/menu/MenuItemImpl;->invoke()Z
 HSPLcom/android/internal/view/menu/MenuItemImpl;->isVisible()Z
 HSPLcom/android/internal/view/menu/MenuItemImpl;->setAlphabeticShortcut(CI)Landroid/view/MenuItem;
 HSPLcom/android/internal/view/menu/MenuItemImpl;->setCheckable(Z)Landroid/view/MenuItem;
@@ -42621,150 +35958,48 @@
 HSPLcom/android/internal/view/menu/MenuItemImpl;->setIcon(I)Landroid/view/MenuItem;
 HSPLcom/android/internal/view/menu/MenuItemImpl;->setNumericShortcut(CI)Landroid/view/MenuItem;
 HSPLcom/android/internal/view/menu/MenuItemImpl;->setOnMenuItemClickListener(Landroid/view/MenuItem$OnMenuItemClickListener;)Landroid/view/MenuItem;
+HSPLcom/android/internal/view/menu/MenuItemImpl;->setShowAsAction(I)V
 HSPLcom/android/internal/view/menu/MenuItemImpl;->setTitleCondensed(Ljava/lang/CharSequence;)Landroid/view/MenuItem;
 HSPLcom/android/internal/view/menu/MenuItemImpl;->setTooltipText(Ljava/lang/CharSequence;)Landroid/view/MenuItem;
 HSPLcom/android/internal/view/menu/MenuItemImpl;->setVisible(Z)Landroid/view/MenuItem;
-HSPLcom/android/internal/view/menu/MenuPopupHelper;-><init>(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/View;ZII)V
+HSPLcom/android/internal/view/menu/MenuPopup;->initForMenu(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;)V
+HSPLcom/android/internal/view/menu/MenuPopup;->measureIndividualMenuWidth(Landroid/widget/ListAdapter;Landroid/view/ViewGroup;Landroid/content/Context;I)I
+HSPLcom/android/internal/view/menu/MenuPopup;->onItemClick(Landroid/widget/AdapterView;Landroid/view/View;IJ)V
+HSPLcom/android/internal/view/menu/MenuPopupHelper$1;->onDismiss()V
+HSPLcom/android/internal/view/menu/MenuPopupHelper;->createPopup()Lcom/android/internal/view/menu/MenuPopup;
+HSPLcom/android/internal/view/menu/MenuPopupHelper;->dismiss()V
+HSPLcom/android/internal/view/menu/MenuPopupHelper;->getPopup()Lcom/android/internal/view/menu/MenuPopup;
+HSPLcom/android/internal/view/menu/MenuPopupHelper;->isShowing()Z
+HSPLcom/android/internal/view/menu/MenuPopupHelper;->onDismiss()V
 HSPLcom/android/internal/view/menu/MenuPopupHelper;->setGravity(I)V
 HSPLcom/android/internal/view/menu/MenuPopupHelper;->setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V
-HSPLcom/android/internal/view/menu/MenuPresenter;->onRestoreInstanceState(Landroid/os/Parcelable;)V
-HSPLcom/android/internal/view/menu/MenuPresenter;->onSaveInstanceState()Landroid/os/Parcelable;
-HSPLcom/android/internal/view/menu/MenuView;->getWindowAnimations()I
-HSPLcom/android/internal/view/menu/MenuView;->initialize(Lcom/android/internal/view/menu/MenuBuilder;)V
-HSPLcom/android/internal/view/menu/ShowableListMenu;->dismiss()V
-HSPLcom/android/internal/view/menu/ShowableListMenu;->getListView()Landroid/widget/ListView;
-HSPLcom/android/internal/view/menu/ShowableListMenu;->isShowing()Z
-HSPLcom/android/internal/view/menu/ShowableListMenu;->show()V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout$ActionBarVisibilityCallback;->enableContentAnimations(Z)V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout$ActionBarVisibilityCallback;->hideForSystem()V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout$ActionBarVisibilityCallback;->onContentScrollStarted()V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout$ActionBarVisibilityCallback;->onContentScrollStopped()V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout$ActionBarVisibilityCallback;->onWindowVisibilityChanged(I)V
-HSPLcom/android/internal/widget/ActionBarOverlayLayout$ActionBarVisibilityCallback;->showForSystem()V
-HSPLcom/android/internal/widget/AlertDialogLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLcom/android/internal/widget/AlertDialogLayout;->forceUniformWidth(II)V
-HSPLcom/android/internal/widget/AlertDialogLayout;->onLayout(ZIIII)V
-HSPLcom/android/internal/widget/AlertDialogLayout;->onMeasure(II)V
-HSPLcom/android/internal/widget/AlertDialogLayout;->setChildFrame(Landroid/view/View;IIII)V
-HSPLcom/android/internal/widget/AlertDialogLayout;->tryOnMeasure(II)Z
+HSPLcom/android/internal/view/menu/MenuPopupHelper;->show()V
+HSPLcom/android/internal/view/menu/MenuPopupHelper;->showPopup(IIZZ)V
+HSPLcom/android/internal/view/menu/MenuPopupHelper;->tryShow()Z
+HSPLcom/android/internal/view/menu/StandardMenuPopup;-><init>(Landroid/content/Context;Lcom/android/internal/view/menu/MenuBuilder;Landroid/view/View;IIZ)V
+HSPLcom/android/internal/view/menu/StandardMenuPopup;->addMenu(Lcom/android/internal/view/menu/MenuBuilder;)V
+HSPLcom/android/internal/view/menu/StandardMenuPopup;->onCloseMenu(Lcom/android/internal/view/menu/MenuBuilder;Z)V
+HSPLcom/android/internal/view/menu/StandardMenuPopup;->onDismiss()V
+HSPLcom/android/internal/view/menu/StandardMenuPopup;->setAnchorView(Landroid/view/View;)V
+HSPLcom/android/internal/view/menu/StandardMenuPopup;->setCallback(Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
+HSPLcom/android/internal/view/menu/StandardMenuPopup;->setForceShowIcon(Z)V
+HSPLcom/android/internal/view/menu/StandardMenuPopup;->setGravity(I)V
+HSPLcom/android/internal/view/menu/StandardMenuPopup;->setOnDismissListener(Landroid/widget/PopupWindow$OnDismissListener;)V
+HSPLcom/android/internal/view/menu/StandardMenuPopup;->setShowTitle(Z)V
+HSPLcom/android/internal/view/menu/StandardMenuPopup;->show()V
+HSPLcom/android/internal/view/menu/StandardMenuPopup;->tryShow()Z
 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/ButtonBarLayout;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLcom/android/internal/widget/DecorToolbar;->animateToVisibility(I)V
-HSPLcom/android/internal/widget/DecorToolbar;->canShowOverflowMenu()Z
-HSPLcom/android/internal/widget/DecorToolbar;->canSplit()Z
-HSPLcom/android/internal/widget/DecorToolbar;->collapseActionView()V
-HSPLcom/android/internal/widget/DecorToolbar;->dismissPopupMenus()V
-HSPLcom/android/internal/widget/DecorToolbar;->getContext()Landroid/content/Context;
-HSPLcom/android/internal/widget/DecorToolbar;->getCustomView()Landroid/view/View;
-HSPLcom/android/internal/widget/DecorToolbar;->getDisplayOptions()I
-HSPLcom/android/internal/widget/DecorToolbar;->getDropdownItemCount()I
-HSPLcom/android/internal/widget/DecorToolbar;->getDropdownSelectedPosition()I
-HSPLcom/android/internal/widget/DecorToolbar;->getHeight()I
-HSPLcom/android/internal/widget/DecorToolbar;->getMenu()Landroid/view/Menu;
-HSPLcom/android/internal/widget/DecorToolbar;->getNavigationMode()I
-HSPLcom/android/internal/widget/DecorToolbar;->getSubtitle()Ljava/lang/CharSequence;
-HSPLcom/android/internal/widget/DecorToolbar;->getTitle()Ljava/lang/CharSequence;
-HSPLcom/android/internal/widget/DecorToolbar;->getViewGroup()Landroid/view/ViewGroup;
-HSPLcom/android/internal/widget/DecorToolbar;->getVisibility()I
-HSPLcom/android/internal/widget/DecorToolbar;->hasEmbeddedTabs()Z
-HSPLcom/android/internal/widget/DecorToolbar;->hasExpandedActionView()Z
-HSPLcom/android/internal/widget/DecorToolbar;->hasIcon()Z
-HSPLcom/android/internal/widget/DecorToolbar;->hasLogo()Z
-HSPLcom/android/internal/widget/DecorToolbar;->hideOverflowMenu()Z
-HSPLcom/android/internal/widget/DecorToolbar;->initIndeterminateProgress()V
-HSPLcom/android/internal/widget/DecorToolbar;->initProgress()V
-HSPLcom/android/internal/widget/DecorToolbar;->isOverflowMenuShowPending()Z
-HSPLcom/android/internal/widget/DecorToolbar;->isOverflowMenuShowing()Z
-HSPLcom/android/internal/widget/DecorToolbar;->isSplit()Z
-HSPLcom/android/internal/widget/DecorToolbar;->isTitleTruncated()Z
-HSPLcom/android/internal/widget/DecorToolbar;->restoreHierarchyState(Landroid/util/SparseArray;)V
-HSPLcom/android/internal/widget/DecorToolbar;->saveHierarchyState(Landroid/util/SparseArray;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setCollapsible(Z)V
-HSPLcom/android/internal/widget/DecorToolbar;->setCustomView(Landroid/view/View;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setDefaultNavigationContentDescription(I)V
-HSPLcom/android/internal/widget/DecorToolbar;->setDefaultNavigationIcon(Landroid/graphics/drawable/Drawable;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setDisplayOptions(I)V
-HSPLcom/android/internal/widget/DecorToolbar;->setDropdownParams(Landroid/widget/SpinnerAdapter;Landroid/widget/AdapterView$OnItemSelectedListener;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setDropdownSelectedPosition(I)V
-HSPLcom/android/internal/widget/DecorToolbar;->setEmbeddedTabView(Lcom/android/internal/widget/ScrollingTabContainerView;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setHomeButtonEnabled(Z)V
-HSPLcom/android/internal/widget/DecorToolbar;->setIcon(I)V
-HSPLcom/android/internal/widget/DecorToolbar;->setIcon(Landroid/graphics/drawable/Drawable;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setLogo(I)V
-HSPLcom/android/internal/widget/DecorToolbar;->setLogo(Landroid/graphics/drawable/Drawable;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setMenu(Landroid/view/Menu;Lcom/android/internal/view/menu/MenuPresenter$Callback;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setMenuCallbacks(Lcom/android/internal/view/menu/MenuPresenter$Callback;Lcom/android/internal/view/menu/MenuBuilder$Callback;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setMenuPrepared()V
-HSPLcom/android/internal/widget/DecorToolbar;->setNavigationContentDescription(I)V
-HSPLcom/android/internal/widget/DecorToolbar;->setNavigationContentDescription(Ljava/lang/CharSequence;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setNavigationIcon(I)V
-HSPLcom/android/internal/widget/DecorToolbar;->setNavigationIcon(Landroid/graphics/drawable/Drawable;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setNavigationMode(I)V
-HSPLcom/android/internal/widget/DecorToolbar;->setSplitToolbar(Z)V
-HSPLcom/android/internal/widget/DecorToolbar;->setSplitView(Landroid/view/ViewGroup;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setSplitWhenNarrow(Z)V
-HSPLcom/android/internal/widget/DecorToolbar;->setSubtitle(Ljava/lang/CharSequence;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setTitle(Ljava/lang/CharSequence;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setVisibility(I)V
-HSPLcom/android/internal/widget/DecorToolbar;->setWindowCallback(Landroid/view/Window$Callback;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setWindowTitle(Ljava/lang/CharSequence;)V
-HSPLcom/android/internal/widget/DecorToolbar;->setupAnimatorToVisibility(IJ)Landroid/animation/Animator;
-HSPLcom/android/internal/widget/DecorToolbar;->showOverflowMenu()Z
-HSPLcom/android/internal/widget/DialogTitle;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
-HSPLcom/android/internal/widget/DialogTitle;->onMeasure(II)V
-HSPLcom/android/internal/widget/EditableInputConnection;-><init>(Landroid/widget/TextView;)V
 HSPLcom/android/internal/widget/EditableInputConnection;->beginBatchEdit()Z
 HSPLcom/android/internal/widget/EditableInputConnection;->closeConnection()V
 HSPLcom/android/internal/widget/EditableInputConnection;->endBatchEdit()Z
 HSPLcom/android/internal/widget/EditableInputConnection;->getEditable()Landroid/text/Editable;
-HSPLcom/android/internal/widget/EditableInputConnection;->performEditorAction(I)Z
 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$Proxy;->havePassword(I)Z
+HSPLcom/android/internal/widget/ILockSettings$Stub$Proxy;->havePattern(I)Z
 HSPLcom/android/internal/widget/ILockSettings$Stub;-><init>()V
 HSPLcom/android/internal/widget/ILockSettings$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/widget/ILockSettings;
 HSPLcom/android/internal/widget/ILockSettings$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HSPLcom/android/internal/widget/ILockSettings;->checkCredential(Ljava/lang/String;IILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
-HSPLcom/android/internal/widget/ILockSettings;->checkVoldPassword(I)Z
-HSPLcom/android/internal/widget/ILockSettings;->closeSession(Ljava/lang/String;)V
-HSPLcom/android/internal/widget/ILockSettings;->generateKey(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/widget/ILockSettings;->getBoolean(Ljava/lang/String;ZI)Z
-HSPLcom/android/internal/widget/ILockSettings;->getHashFactor(Ljava/lang/String;I)[B
-HSPLcom/android/internal/widget/ILockSettings;->getKey(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/internal/widget/ILockSettings;->getKeyChainSnapshot()Landroid/security/keystore/recovery/KeyChainSnapshot;
-HSPLcom/android/internal/widget/ILockSettings;->getLong(Ljava/lang/String;JI)J
-HSPLcom/android/internal/widget/ILockSettings;->getRecoverySecretTypes()[I
-HSPLcom/android/internal/widget/ILockSettings;->getRecoveryStatus()Ljava/util/Map;
-HSPLcom/android/internal/widget/ILockSettings;->getSeparateProfileChallengeEnabled(I)Z
-HSPLcom/android/internal/widget/ILockSettings;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/internal/widget/ILockSettings;->getStrongAuthForUser(I)I
-HSPLcom/android/internal/widget/ILockSettings;->havePassword(I)Z
-HSPLcom/android/internal/widget/ILockSettings;->havePattern(I)Z
-HSPLcom/android/internal/widget/ILockSettings;->importKey(Ljava/lang/String;[B)Ljava/lang/String;
-HSPLcom/android/internal/widget/ILockSettings;->initRecoveryServiceWithSigFile(Ljava/lang/String;[B[B)V
-HSPLcom/android/internal/widget/ILockSettings;->recoverKeyChainSnapshot(Ljava/lang/String;[BLjava/util/List;)Ljava/util/Map;
-HSPLcom/android/internal/widget/ILockSettings;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
-HSPLcom/android/internal/widget/ILockSettings;->removeKey(Ljava/lang/String;)V
-HSPLcom/android/internal/widget/ILockSettings;->requireStrongAuth(II)V
-HSPLcom/android/internal/widget/ILockSettings;->resetKeyStore(I)V
-HSPLcom/android/internal/widget/ILockSettings;->setBoolean(Ljava/lang/String;ZI)V
-HSPLcom/android/internal/widget/ILockSettings;->setLockCredential(Ljava/lang/String;ILjava/lang/String;II)V
-HSPLcom/android/internal/widget/ILockSettings;->setLong(Ljava/lang/String;JI)V
-HSPLcom/android/internal/widget/ILockSettings;->setRecoverySecretTypes([I)V
-HSPLcom/android/internal/widget/ILockSettings;->setRecoveryStatus(Ljava/lang/String;I)V
-HSPLcom/android/internal/widget/ILockSettings;->setSeparateProfileChallengeEnabled(IZLjava/lang/String;)V
-HSPLcom/android/internal/widget/ILockSettings;->setServerParams([B)V
-HSPLcom/android/internal/widget/ILockSettings;->setSnapshotCreatedPendingIntent(Landroid/app/PendingIntent;)V
-HSPLcom/android/internal/widget/ILockSettings;->setString(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/internal/widget/ILockSettings;->startRecoverySessionWithCertPath(Ljava/lang/String;Ljava/lang/String;Landroid/security/keystore/recovery/RecoveryCertPath;[B[BLjava/util/List;)[B
-HSPLcom/android/internal/widget/ILockSettings;->systemReady()V
-HSPLcom/android/internal/widget/ILockSettings;->unregisterStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
-HSPLcom/android/internal/widget/ILockSettings;->userPresent(I)V
-HSPLcom/android/internal/widget/ILockSettings;->verifyCredential(Ljava/lang/String;IJI)Lcom/android/internal/widget/VerifyCredentialResponse;
-HSPLcom/android/internal/widget/ILockSettings;->verifyTiedProfileChallenge(Ljava/lang/String;IJI)Lcom/android/internal/widget/VerifyCredentialResponse;
 HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;-><init>(Landroid/content/Context;)V
 HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->getDefaultFlags(Landroid/content/Context;)I
 HSPLcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;->getStrongAuthForUser(I)I
@@ -42777,84 +36012,42 @@
 HSPLcom/android/internal/widget/LockPatternUtils;->getLockSettings()Lcom/android/internal/widget/ILockSettings;
 HSPLcom/android/internal/widget/LockPatternUtils;->getLong(Ljava/lang/String;JI)J
 HSPLcom/android/internal/widget/LockPatternUtils;->getString(Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/internal/widget/LockPatternUtils;->isLockPasswordEnabled(I)Z
+HSPLcom/android/internal/widget/LockPatternUtils;->hasSeparateChallenge(I)Z
 HSPLcom/android/internal/widget/LockPatternUtils;->isLockPasswordEnabled(II)Z
-HSPLcom/android/internal/widget/LockPatternUtils;->isLockPatternEnabled(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;->registerStrongAuthTracker(Lcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;)V
 HSPLcom/android/internal/widget/LockPatternUtils;->savedPasswordExists(I)Z
-HSPLcom/android/internal/widget/LockSettingsInternal;->addEscrowToken([BI)J
-HSPLcom/android/internal/widget/LockSettingsInternal;->isEscrowTokenActive(JI)Z
-HSPLcom/android/internal/widget/LockSettingsInternal;->removeEscrowToken(JI)Z
-HSPLcom/android/internal/widget/LockSettingsInternal;->setLockCredentialWithToken(Ljava/lang/String;IJ[BII)Z
-HSPLcom/android/internal/widget/LockSettingsInternal;->unlockUserWithToken(J[BI)Z
-HSPLcom/android/internal/widget/ScrollBarUtils;->getThumbLength(IIII)I
-HSPLcom/android/internal/widget/ScrollBarUtils;->getThumbOffset(IIIII)I
+HSPLcom/android/internal/widget/LockPatternUtils;->savedPatternExists(I)Z
+HSPLcom/android/internal/widget/PreferenceImageView;-><init>(Landroid/content/Context;Landroid/util/AttributeSet;)V
 HSPLcom/android/internal/widget/ToolbarWidgetWrapper$1;-><init>(Lcom/android/internal/widget/ToolbarWidgetWrapper;)V
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;-><init>(Landroid/widget/Toolbar;Z)V
 HSPLcom/android/internal/widget/ToolbarWidgetWrapper;-><init>(Landroid/widget/Toolbar;ZI)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;->getViewGroup()Landroid/view/ViewGroup;
+HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setBackgroundDrawable(Landroid/graphics/drawable/Drawable;)V
 HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setDefaultNavigationContentDescription(I)V
 HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setDisplayOptions(I)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;->setNavigationContentDescription(I)V
-HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setNavigationContentDescription(Ljava/lang/CharSequence;)V
 HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setWindowCallback(Landroid/view/Window$Callback;)V
 HSPLcom/android/internal/widget/ToolbarWidgetWrapper;->setWindowTitle(Ljava/lang/CharSequence;)V
 HSPLcom/android/okhttp/Address;-><init>(Ljava/lang/String;ILcom/android/okhttp/Dns;Ljavax/net/SocketFactory;Ljavax/net/ssl/SSLSocketFactory;Ljavax/net/ssl/HostnameVerifier;Lcom/android/okhttp/CertificatePinner;Lcom/android/okhttp/Authenticator;Ljava/net/Proxy;Ljava/util/List;Ljava/util/List;Ljava/net/ProxySelector;)V
 HSPLcom/android/okhttp/Address;->equals(Ljava/lang/Object;)Z
 HSPLcom/android/okhttp/Address;->hashCode()I
-HSPLcom/android/okhttp/AndroidShimResponseCache;->create(Ljava/io/File;J)Lcom/android/okhttp/AndroidShimResponseCache;
-HSPLcom/android/okhttp/AndroidShimResponseCache;->getCache()Lcom/android/okhttp/Cache;
-HSPLcom/android/okhttp/Authenticator;->authenticate(Ljava/net/Proxy;Lcom/android/okhttp/Response;)Lcom/android/okhttp/Request;
-HSPLcom/android/okhttp/Authenticator;->authenticateProxy(Ljava/net/Proxy;Lcom/android/okhttp/Response;)Lcom/android/okhttp/Request;
-HSPLcom/android/okhttp/Cache$1;->get(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Response;
-HSPLcom/android/okhttp/Cache$1;->put(Lcom/android/okhttp/Response;)Lcom/android/okhttp/internal/http/CacheRequest;
-HSPLcom/android/okhttp/Cache$1;->trackConditionalCacheHit()V
-HSPLcom/android/okhttp/Cache$1;->trackResponse(Lcom/android/okhttp/internal/http/CacheStrategy;)V
-HSPLcom/android/okhttp/Cache$1;->update(Lcom/android/okhttp/Response;Lcom/android/okhttp/Response;)V
-HSPLcom/android/okhttp/Cache$CacheRequestImpl$1;->close()V
-HSPLcom/android/okhttp/Cache$CacheRequestImpl;-><init>(Lcom/android/okhttp/Cache;Lcom/android/okhttp/internal/DiskLruCache$Editor;)V
-HSPLcom/android/okhttp/Cache$CacheRequestImpl;->body()Lcom/android/okhttp/okio/Sink;
-HSPLcom/android/okhttp/Cache$CacheResponseBody$1;->close()V
-HSPLcom/android/okhttp/Cache$CacheResponseBody;->source()Lcom/android/okhttp/okio/BufferedSource;
-HSPLcom/android/okhttp/Cache$Entry;-><init>(Lcom/android/okhttp/Response;)V
-HSPLcom/android/okhttp/Cache$Entry;-><init>(Lcom/android/okhttp/okio/Source;)V
-HSPLcom/android/okhttp/Cache$Entry;->matches(Lcom/android/okhttp/Request;Lcom/android/okhttp/Response;)Z
-HSPLcom/android/okhttp/Cache$Entry;->readCertificateList(Lcom/android/okhttp/okio/BufferedSource;)Ljava/util/List;
-HSPLcom/android/okhttp/Cache$Entry;->response(Lcom/android/okhttp/Request;Lcom/android/okhttp/internal/DiskLruCache$Snapshot;)Lcom/android/okhttp/Response;
-HSPLcom/android/okhttp/Cache$Entry;->writeCertList(Lcom/android/okhttp/okio/BufferedSink;Ljava/util/List;)V
-HSPLcom/android/okhttp/Cache$Entry;->writeTo(Lcom/android/okhttp/internal/DiskLruCache$Editor;)V
-HSPLcom/android/okhttp/Cache;->get(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Response;
-HSPLcom/android/okhttp/Cache;->put(Lcom/android/okhttp/Response;)Lcom/android/okhttp/internal/http/CacheRequest;
-HSPLcom/android/okhttp/Cache;->readInt(Lcom/android/okhttp/okio/BufferedSource;)I
-HSPLcom/android/okhttp/Cache;->trackConditionalCacheHit()V
-HSPLcom/android/okhttp/Cache;->trackResponse(Lcom/android/okhttp/internal/http/CacheStrategy;)V
-HSPLcom/android/okhttp/Cache;->update(Lcom/android/okhttp/Response;Lcom/android/okhttp/Response;)V
 HSPLcom/android/okhttp/CacheControl$Builder;-><init>()V
 HSPLcom/android/okhttp/CacheControl$Builder;->build()Lcom/android/okhttp/CacheControl;
 HSPLcom/android/okhttp/CacheControl$Builder;->maxStale(ILjava/util/concurrent/TimeUnit;)Lcom/android/okhttp/CacheControl$Builder;
 HSPLcom/android/okhttp/CacheControl$Builder;->noCache()Lcom/android/okhttp/CacheControl$Builder;
 HSPLcom/android/okhttp/CacheControl$Builder;->onlyIfCached()Lcom/android/okhttp/CacheControl$Builder;
 HSPLcom/android/okhttp/CacheControl;-><init>(Lcom/android/okhttp/CacheControl$Builder;)V
-HSPLcom/android/okhttp/CacheControl;-><init>(ZZIIZZZIIZZLjava/lang/String;)V
 HSPLcom/android/okhttp/CacheControl;->parse(Lcom/android/okhttp/Headers;)Lcom/android/okhttp/CacheControl;
 HSPLcom/android/okhttp/CertificatePinner$Builder;-><init>()V
 HSPLcom/android/okhttp/CertificatePinner$Builder;->build()Lcom/android/okhttp/CertificatePinner;
 HSPLcom/android/okhttp/CipherSuite;-><init>(Ljava/lang/String;ILjava/lang/String;IIII)V
-HSPLcom/android/okhttp/ConfigAwareConnectionPool$1;->onNetworkConfigurationChanged()V
 HSPLcom/android/okhttp/ConfigAwareConnectionPool;-><init>()V
 HSPLcom/android/okhttp/ConfigAwareConnectionPool;->get()Lcom/android/okhttp/ConnectionPool;
-HSPLcom/android/okhttp/Connection;->getHandshake()Lcom/android/okhttp/Handshake;
-HSPLcom/android/okhttp/Connection;->getProtocol()Lcom/android/okhttp/Protocol;
-HSPLcom/android/okhttp/Connection;->getRoute()Lcom/android/okhttp/Route;
-HSPLcom/android/okhttp/Connection;->getSocket()Ljava/net/Socket;
 HSPLcom/android/okhttp/ConnectionPool$1;->run()V
 HSPLcom/android/okhttp/ConnectionPool;-><init>(IJ)V
 HSPLcom/android/okhttp/ConnectionPool;-><init>(IJLjava/util/concurrent/TimeUnit;)V
@@ -42876,22 +36069,15 @@
 HSPLcom/android/okhttp/ConnectionSpecs;->builder(Z)Lcom/android/okhttp/ConnectionSpec$Builder;
 HSPLcom/android/okhttp/Dns$1;-><init>()V
 HSPLcom/android/okhttp/Dns$1;->lookup(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/okhttp/Dns;->lookup(Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/okhttp/Handshake;->get(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)Lcom/android/okhttp/Handshake;
 HSPLcom/android/okhttp/Handshake;->get(Ljavax/net/ssl/SSLSession;)Lcom/android/okhttp/Handshake;
 HSPLcom/android/okhttp/Headers$Builder;->addLenient(Ljava/lang/String;)Lcom/android/okhttp/Headers$Builder;
 HSPLcom/android/okhttp/Headers$Builder;->checkNameAndValue(Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/okhttp/Headers$Builder;->get(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/okhttp/Headers$Builder;->removeAll(Ljava/lang/String;)Lcom/android/okhttp/Headers$Builder;
-HSPLcom/android/okhttp/Headers;->name(I)Ljava/lang/String;
-HSPLcom/android/okhttp/Headers;->size()I
-HSPLcom/android/okhttp/Headers;->value(I)Ljava/lang/String;
-HSPLcom/android/okhttp/Headers;->values(Ljava/lang/String;)Ljava/util/List;
 HSPLcom/android/okhttp/HttpHandler$CleartextURLFilter;-><init>(Lcom/android/okhttp/HttpHandler$1;)V
 HSPLcom/android/okhttp/HttpHandler$CleartextURLFilter;->checkURLPermitted(Ljava/net/URL;)V
 HSPLcom/android/okhttp/HttpHandler;-><init>()V
 HSPLcom/android/okhttp/HttpHandler;->createHttpOkUrlFactory(Ljava/net/Proxy;)Lcom/android/okhttp/OkUrlFactory;
-HSPLcom/android/okhttp/HttpHandler;->newOkUrlFactory(Ljava/net/Proxy;)Lcom/android/okhttp/OkUrlFactory;
 HSPLcom/android/okhttp/HttpHandler;->openConnection(Ljava/net/URL;)Ljava/net/URLConnection;
 HSPLcom/android/okhttp/HttpUrl$Builder$ParseResult;-><init>(Ljava/lang/String;I)V
 HSPLcom/android/okhttp/HttpUrl$Builder$ParseResult;->values()[Lcom/android/okhttp/HttpUrl$Builder$ParseResult;
@@ -42901,7 +36087,6 @@
 HSPLcom/android/okhttp/HttpUrl$Builder;->host(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder;
 HSPLcom/android/okhttp/HttpUrl$Builder;->isDotDot(Ljava/lang/String;)Z
 HSPLcom/android/okhttp/HttpUrl$Builder;->parse(Lcom/android/okhttp/HttpUrl;Ljava/lang/String;)Lcom/android/okhttp/HttpUrl$Builder$ParseResult;
-HSPLcom/android/okhttp/HttpUrl$Builder;->parsePort(Ljava/lang/String;II)I
 HSPLcom/android/okhttp/HttpUrl$Builder;->port(I)Lcom/android/okhttp/HttpUrl$Builder;
 HSPLcom/android/okhttp/HttpUrl$Builder;->portColonOffset(Ljava/lang/String;II)I
 HSPLcom/android/okhttp/HttpUrl$Builder;->push(Ljava/lang/String;IIZZ)V
@@ -42927,15 +36112,12 @@
 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;->percentEncoded(Ljava/lang/String;II)Z
 HSPLcom/android/okhttp/HttpUrl;->queryStringToNamesAndValues(Ljava/lang/String;)Ljava/util/List;
 HSPLcom/android/okhttp/HttpUrl;->uri()Ljava/net/URI;
 HSPLcom/android/okhttp/HttpUrl;->url()Ljava/net/URL;
 HSPLcom/android/okhttp/HttpsHandler;-><init>()V
 HSPLcom/android/okhttp/HttpsHandler;->createHttpsOkUrlFactory(Ljava/net/Proxy;)Lcom/android/okhttp/OkUrlFactory;
-HSPLcom/android/okhttp/HttpsHandler;->getDefaultPort()I
 HSPLcom/android/okhttp/HttpsHandler;->newOkUrlFactory(Ljava/net/Proxy;)Lcom/android/okhttp/OkUrlFactory;
-HSPLcom/android/okhttp/OkCacheContainer;->getCache()Lcom/android/okhttp/Cache;
 HSPLcom/android/okhttp/OkHttpClient$1;-><init>()V
 HSPLcom/android/okhttp/OkHttpClient$1;->addLenient(Lcom/android/okhttp/Headers$Builder;Ljava/lang/String;)V
 HSPLcom/android/okhttp/OkHttpClient$1;->apply(Lcom/android/okhttp/ConnectionSpec;Ljavax/net/ssl/SSLSocket;Z)V
@@ -42947,7 +36129,6 @@
 HSPLcom/android/okhttp/OkHttpClient$1;->routeDatabase(Lcom/android/okhttp/ConnectionPool;)Lcom/android/okhttp/internal/RouteDatabase;
 HSPLcom/android/okhttp/OkHttpClient;-><init>()V
 HSPLcom/android/okhttp/OkHttpClient;-><init>(Lcom/android/okhttp/OkHttpClient;)V
-HSPLcom/android/okhttp/OkHttpClient;->clone()Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->copyWithDefaults()Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->getAuthenticator()Lcom/android/okhttp/Authenticator;
 HSPLcom/android/okhttp/OkHttpClient;->getCertificatePinner()Lcom/android/okhttp/CertificatePinner;
@@ -42957,7 +36138,6 @@
 HSPLcom/android/okhttp/OkHttpClient;->getCookieHandler()Ljava/net/CookieHandler;
 HSPLcom/android/okhttp/OkHttpClient;->getDefaultSSLSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
 HSPLcom/android/okhttp/OkHttpClient;->getDns()Lcom/android/okhttp/Dns;
-HSPLcom/android/okhttp/OkHttpClient;->getFollowRedirects()Z
 HSPLcom/android/okhttp/OkHttpClient;->getHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;
 HSPLcom/android/okhttp/OkHttpClient;->getProtocols()Ljava/util/List;
 HSPLcom/android/okhttp/OkHttpClient;->getProxy()Ljava/net/Proxy;
@@ -42968,16 +36148,17 @@
 HSPLcom/android/okhttp/OkHttpClient;->getSslSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
 HSPLcom/android/okhttp/OkHttpClient;->getWriteTimeout()I
 HSPLcom/android/okhttp/OkHttpClient;->internalCache()Lcom/android/okhttp/internal/InternalCache;
-HSPLcom/android/okhttp/OkHttpClient;->setCache(Lcom/android/okhttp/Cache;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setCertificatePinner(Lcom/android/okhttp/CertificatePinner;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setConnectTimeout(JLjava/util/concurrent/TimeUnit;)V
 HSPLcom/android/okhttp/OkHttpClient;->setConnectionPool(Lcom/android/okhttp/ConnectionPool;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setConnectionSpecs(Ljava/util/List;)Lcom/android/okhttp/OkHttpClient;
+HSPLcom/android/okhttp/OkHttpClient;->setDns(Lcom/android/okhttp/Dns;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setFollowRedirects(Z)V
 HSPLcom/android/okhttp/OkHttpClient;->setHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setProtocols(Ljava/util/List;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setProxy(Ljava/net/Proxy;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setReadTimeout(JLjava/util/concurrent/TimeUnit;)V
+HSPLcom/android/okhttp/OkHttpClient;->setSocketFactory(Ljavax/net/SocketFactory;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setSslSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)Lcom/android/okhttp/OkHttpClient;
 HSPLcom/android/okhttp/OkHttpClient;->setWriteTimeout(JLjava/util/concurrent/TimeUnit;)V
 HSPLcom/android/okhttp/OkUrlFactory;->open(Ljava/net/URL;Ljava/net/Proxy;)Ljava/net/HttpURLConnection;
@@ -42987,15 +36168,9 @@
 HSPLcom/android/okhttp/Request$Builder;->addHeader(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Request$Builder;
 HSPLcom/android/okhttp/Request$Builder;->build()Lcom/android/okhttp/Request;
 HSPLcom/android/okhttp/Request$Builder;->header(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Request$Builder;
-HSPLcom/android/okhttp/Request$Builder;->headers(Lcom/android/okhttp/Headers;)Lcom/android/okhttp/Request$Builder;
 HSPLcom/android/okhttp/Request$Builder;->method(Ljava/lang/String;Lcom/android/okhttp/RequestBody;)Lcom/android/okhttp/Request$Builder;
-HSPLcom/android/okhttp/Request$Builder;->url(Lcom/android/okhttp/HttpUrl;)Lcom/android/okhttp/Request$Builder;
-HSPLcom/android/okhttp/Request$Builder;->url(Ljava/lang/String;)Lcom/android/okhttp/Request$Builder;
 HSPLcom/android/okhttp/Request;-><init>(Lcom/android/okhttp/Request$Builder;)V
-HSPLcom/android/okhttp/Request;->uri()Ljava/net/URI;
-HSPLcom/android/okhttp/RequestBody;->contentType()Lcom/android/okhttp/MediaType;
 HSPLcom/android/okhttp/RequestBody;->create(Lcom/android/okhttp/MediaType;[B)Lcom/android/okhttp/RequestBody;
-HSPLcom/android/okhttp/RequestBody;->writeTo(Lcom/android/okhttp/okio/BufferedSink;)V
 HSPLcom/android/okhttp/Response$Builder;-><init>(Lcom/android/okhttp/Response;)V
 HSPLcom/android/okhttp/Response$Builder;->build()Lcom/android/okhttp/Response;
 HSPLcom/android/okhttp/Response$Builder;->checkSupportResponse(Ljava/lang/String;Lcom/android/okhttp/Response;)V
@@ -43003,58 +36178,12 @@
 HSPLcom/android/okhttp/Response$Builder;->header(Ljava/lang/String;Ljava/lang/String;)Lcom/android/okhttp/Response$Builder;
 HSPLcom/android/okhttp/Response$Builder;->request(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Response$Builder;
 HSPLcom/android/okhttp/Response;-><init>(Lcom/android/okhttp/Response$Builder;)V
-HSPLcom/android/okhttp/ResponseBody;->close()V
 HSPLcom/android/okhttp/Route;-><init>(Lcom/android/okhttp/Address;Ljava/net/Proxy;Ljava/net/InetSocketAddress;)V
 HSPLcom/android/okhttp/Route;->hashCode()I
 HSPLcom/android/okhttp/TlsVersion;-><init>(Ljava/lang/String;ILjava/lang/String;)V
 HSPLcom/android/okhttp/internal/ConnectionSpecSelector;->configureSecureSocket(Ljavax/net/ssl/SSLSocket;)Lcom/android/okhttp/ConnectionSpec;
-HSPLcom/android/okhttp/internal/ConnectionSpecSelector;->connectionFailed(Ljava/io/IOException;)Z
-HSPLcom/android/okhttp/internal/DiskLruCache$1;->run()V
 HSPLcom/android/okhttp/internal/DiskLruCache$4;-><init>()V
-HSPLcom/android/okhttp/internal/DiskLruCache$Editor$1;-><init>(Lcom/android/okhttp/internal/DiskLruCache$Editor;Lcom/android/okhttp/okio/Sink;)V
-HSPLcom/android/okhttp/internal/DiskLruCache$Editor;->commit()V
-HSPLcom/android/okhttp/internal/DiskLruCache$Editor;->newSink(I)Lcom/android/okhttp/okio/Sink;
-HSPLcom/android/okhttp/internal/DiskLruCache$Entry;-><init>(Lcom/android/okhttp/internal/DiskLruCache;Ljava/lang/String;)V
-HSPLcom/android/okhttp/internal/DiskLruCache$Entry;->setLengths([Ljava/lang/String;)V
-HSPLcom/android/okhttp/internal/DiskLruCache$Entry;->snapshot()Lcom/android/okhttp/internal/DiskLruCache$Snapshot;
-HSPLcom/android/okhttp/internal/DiskLruCache;-><init>(Lcom/android/okhttp/internal/io/FileSystem;Ljava/io/File;IIJLjava/util/concurrent/Executor;)V
-HSPLcom/android/okhttp/internal/DiskLruCache;->checkNotClosed()V
-HSPLcom/android/okhttp/internal/DiskLruCache;->completeEdit(Lcom/android/okhttp/internal/DiskLruCache$Editor;Z)V
-HSPLcom/android/okhttp/internal/DiskLruCache;->create(Lcom/android/okhttp/internal/io/FileSystem;Ljava/io/File;IIJ)Lcom/android/okhttp/internal/DiskLruCache;
-HSPLcom/android/okhttp/internal/DiskLruCache;->edit(Ljava/lang/String;J)Lcom/android/okhttp/internal/DiskLruCache$Editor;
-HSPLcom/android/okhttp/internal/DiskLruCache;->get(Ljava/lang/String;)Lcom/android/okhttp/internal/DiskLruCache$Snapshot;
-HSPLcom/android/okhttp/internal/DiskLruCache;->initialize()V
-HSPLcom/android/okhttp/internal/DiskLruCache;->isClosed()Z
-HSPLcom/android/okhttp/internal/DiskLruCache;->newJournalWriter()Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/internal/DiskLruCache;->processJournal()V
-HSPLcom/android/okhttp/internal/DiskLruCache;->readJournal()V
-HSPLcom/android/okhttp/internal/DiskLruCache;->readJournalLine(Ljava/lang/String;)V
-HSPLcom/android/okhttp/internal/DiskLruCache;->remove(Ljava/lang/String;)Z
-HSPLcom/android/okhttp/internal/DiskLruCache;->removeEntry(Lcom/android/okhttp/internal/DiskLruCache$Entry;)Z
-HSPLcom/android/okhttp/internal/DiskLruCache;->validateKey(Ljava/lang/String;)V
-HSPLcom/android/okhttp/internal/FaultHidingSink;->close()V
-HSPLcom/android/okhttp/internal/FaultHidingSink;->flush()V
-HSPLcom/android/okhttp/internal/FaultHidingSink;->write(Lcom/android/okhttp/okio/Buffer;J)V
-HSPLcom/android/okhttp/internal/Internal;->addLenient(Lcom/android/okhttp/Headers$Builder;Ljava/lang/String;)V
-HSPLcom/android/okhttp/internal/Internal;->addLenient(Lcom/android/okhttp/Headers$Builder;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/okhttp/internal/Internal;->apply(Lcom/android/okhttp/ConnectionSpec;Ljavax/net/ssl/SSLSocket;Z)V
-HSPLcom/android/okhttp/internal/Internal;->callEngineGetStreamAllocation(Lcom/android/okhttp/Call;)Lcom/android/okhttp/internal/http/StreamAllocation;
-HSPLcom/android/okhttp/internal/Internal;->callEnqueue(Lcom/android/okhttp/Call;Lcom/android/okhttp/Callback;Z)V
-HSPLcom/android/okhttp/internal/Internal;->connectionBecameIdle(Lcom/android/okhttp/ConnectionPool;Lcom/android/okhttp/internal/io/RealConnection;)Z
-HSPLcom/android/okhttp/internal/Internal;->get(Lcom/android/okhttp/ConnectionPool;Lcom/android/okhttp/Address;Lcom/android/okhttp/internal/http/StreamAllocation;)Lcom/android/okhttp/internal/io/RealConnection;
-HSPLcom/android/okhttp/internal/Internal;->getHttpUrlChecked(Ljava/lang/String;)Lcom/android/okhttp/HttpUrl;
-HSPLcom/android/okhttp/internal/Internal;->internalCache(Lcom/android/okhttp/OkHttpClient;)Lcom/android/okhttp/internal/InternalCache;
-HSPLcom/android/okhttp/internal/Internal;->put(Lcom/android/okhttp/ConnectionPool;Lcom/android/okhttp/internal/io/RealConnection;)V
-HSPLcom/android/okhttp/internal/Internal;->routeDatabase(Lcom/android/okhttp/ConnectionPool;)Lcom/android/okhttp/internal/RouteDatabase;
-HSPLcom/android/okhttp/internal/Internal;->setCache(Lcom/android/okhttp/OkHttpClient;Lcom/android/okhttp/internal/InternalCache;)V
-HSPLcom/android/okhttp/internal/InternalCache;->get(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Response;
-HSPLcom/android/okhttp/internal/InternalCache;->put(Lcom/android/okhttp/Response;)Lcom/android/okhttp/internal/http/CacheRequest;
-HSPLcom/android/okhttp/internal/InternalCache;->remove(Lcom/android/okhttp/Request;)V
-HSPLcom/android/okhttp/internal/InternalCache;->trackConditionalCacheHit()V
-HSPLcom/android/okhttp/internal/InternalCache;->trackResponse(Lcom/android/okhttp/internal/http/CacheStrategy;)V
-HSPLcom/android/okhttp/internal/InternalCache;->update(Lcom/android/okhttp/Response;Lcom/android/okhttp/Response;)V
 HSPLcom/android/okhttp/internal/OptionalMethod;-><init>(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)V
-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;
@@ -43070,35 +36199,15 @@
 HSPLcom/android/okhttp/internal/Platform;->getPrefix()Ljava/lang/String;
 HSPLcom/android/okhttp/internal/Platform;->getSelectedProtocol(Ljavax/net/ssl/SSLSocket;)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/RouteDatabase;->connected(Lcom/android/okhttp/Route;)V
-HSPLcom/android/okhttp/internal/RouteDatabase;->failed(Lcom/android/okhttp/Route;)V
 HSPLcom/android/okhttp/internal/RouteDatabase;->shouldPostpone(Lcom/android/okhttp/Route;)Z
-HSPLcom/android/okhttp/internal/URLFilter;->checkURLPermitted(Ljava/net/URL;)V
 HSPLcom/android/okhttp/internal/Util$1;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
-HSPLcom/android/okhttp/internal/Util;->closeQuietly(Ljava/io/Closeable;)V
-HSPLcom/android/okhttp/internal/Util;->closeQuietly(Ljava/net/Socket;)V
-HSPLcom/android/okhttp/internal/Util;->discard(Lcom/android/okhttp/okio/Source;ILjava/util/concurrent/TimeUnit;)Z
 HSPLcom/android/okhttp/internal/Util;->hostHeader(Lcom/android/okhttp/HttpUrl;Z)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/Util;->immutableList([Ljava/lang/Object;)Ljava/util/List;
-HSPLcom/android/okhttp/internal/Util;->md5Hex(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/okhttp/internal/Util;->skipAll(Lcom/android/okhttp/okio/Source;ILjava/util/concurrent/TimeUnit;)Z
 HSPLcom/android/okhttp/internal/Util;->toHumanReadableAscii(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/http/AuthenticatorAdapter;-><init>()V
-HSPLcom/android/okhttp/internal/http/CacheRequest;->abort()V
-HSPLcom/android/okhttp/internal/http/CacheRequest;->body()Lcom/android/okhttp/okio/Sink;
 HSPLcom/android/okhttp/internal/http/CacheStrategy$Factory;-><init>(JLcom/android/okhttp/Request;Lcom/android/okhttp/Response;)V
-HSPLcom/android/okhttp/internal/http/CacheStrategy$Factory;->cacheResponseAge()J
-HSPLcom/android/okhttp/internal/http/CacheStrategy$Factory;->computeFreshnessLifetime()J
 HSPLcom/android/okhttp/internal/http/CacheStrategy$Factory;->getCandidate()Lcom/android/okhttp/internal/http/CacheStrategy;
-HSPLcom/android/okhttp/internal/http/CacheStrategy;->isCacheable(Lcom/android/okhttp/Response;Lcom/android/okhttp/Request;)Z
-HSPLcom/android/okhttp/internal/http/HeaderParser;->parseSeconds(Ljava/lang/String;I)I
-HSPLcom/android/okhttp/internal/http/HeaderParser;->skipUntil(Ljava/lang/String;ILjava/lang/String;)I
-HSPLcom/android/okhttp/internal/http/HeaderParser;->skipWhitespace(Ljava/lang/String;I)I
 HSPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;->endOfInput()V
-HSPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;->timeout()Lcom/android/okhttp/okio/Timeout;
-HSPLcom/android/okhttp/internal/http/Http1xStream$AbstractSource;->unexpectedEndOfInput()V
-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;->write(Lcom/android/okhttp/okio/Buffer;J)V
 HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSource;->close()V
 HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSource;->read(Lcom/android/okhttp/okio/Buffer;J)J
 HSPLcom/android/okhttp/internal/http/Http1xStream$ChunkedSource;->readChunkSize()V
@@ -43107,18 +36216,12 @@
 HSPLcom/android/okhttp/internal/http/Http1xStream$FixedLengthSink;->write(Lcom/android/okhttp/okio/Buffer;J)V
 HSPLcom/android/okhttp/internal/http/Http1xStream$FixedLengthSource;->close()V
 HSPLcom/android/okhttp/internal/http/Http1xStream$FixedLengthSource;->read(Lcom/android/okhttp/okio/Buffer;J)J
-HSPLcom/android/okhttp/internal/http/Http1xStream$UnknownLengthSource;->close()V
-HSPLcom/android/okhttp/internal/http/Http1xStream$UnknownLengthSource;->read(Lcom/android/okhttp/okio/Buffer;J)J
-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;->cancel()V
 HSPLcom/android/okhttp/internal/http/Http1xStream;->createRequestBody(Lcom/android/okhttp/Request;J)Lcom/android/okhttp/okio/Sink;
 HSPLcom/android/okhttp/internal/http/Http1xStream;->finishRequest()V
 HSPLcom/android/okhttp/internal/http/Http1xStream;->getTransferStream(Lcom/android/okhttp/Response;)Lcom/android/okhttp/okio/Source;
-HSPLcom/android/okhttp/internal/http/Http1xStream;->newChunkedSink()Lcom/android/okhttp/okio/Sink;
 HSPLcom/android/okhttp/internal/http/Http1xStream;->newChunkedSource(Lcom/android/okhttp/internal/http/HttpEngine;)Lcom/android/okhttp/okio/Source;
 HSPLcom/android/okhttp/internal/http/Http1xStream;->newFixedLengthSink(J)Lcom/android/okhttp/okio/Sink;
 HSPLcom/android/okhttp/internal/http/Http1xStream;->newFixedLengthSource(J)Lcom/android/okhttp/okio/Source;
-HSPLcom/android/okhttp/internal/http/Http1xStream;->newUnknownLengthSource()Lcom/android/okhttp/okio/Source;
 HSPLcom/android/okhttp/internal/http/Http1xStream;->openResponseBody(Lcom/android/okhttp/Response;)Lcom/android/okhttp/ResponseBody;
 HSPLcom/android/okhttp/internal/http/Http1xStream;->readResponse()Lcom/android/okhttp/Response$Builder;
 HSPLcom/android/okhttp/internal/http/Http1xStream;->readResponseHeaders()Lcom/android/okhttp/Response$Builder;
@@ -43127,17 +36230,9 @@
 HSPLcom/android/okhttp/internal/http/Http1xStream;->writeRequestBody(Lcom/android/okhttp/internal/http/RetryableSink;)V
 HSPLcom/android/okhttp/internal/http/Http1xStream;->writeRequestHeaders(Lcom/android/okhttp/Request;)V
 HSPLcom/android/okhttp/internal/http/HttpDate$1;-><init>()V
-HSPLcom/android/okhttp/internal/http/HttpDate$1;->initialValue()Ljava/lang/Object;
-HSPLcom/android/okhttp/internal/http/HttpDate$1;->initialValue()Ljava/text/DateFormat;
-HSPLcom/android/okhttp/internal/http/HttpDate;->parse(Ljava/lang/String;)Ljava/util/Date;
 HSPLcom/android/okhttp/internal/http/HttpEngine$1;-><init>()V
-HSPLcom/android/okhttp/internal/http/HttpEngine$2;->close()V
-HSPLcom/android/okhttp/internal/http/HttpEngine$2;->read(Lcom/android/okhttp/okio/Buffer;J)J
-HSPLcom/android/okhttp/internal/http/HttpEngine$2;->timeout()Lcom/android/okhttp/okio/Timeout;
 HSPLcom/android/okhttp/internal/http/HttpEngine;-><init>(Lcom/android/okhttp/OkHttpClient;Lcom/android/okhttp/Request;ZZZLcom/android/okhttp/internal/http/StreamAllocation;Lcom/android/okhttp/internal/http/RetryableSink;Lcom/android/okhttp/Response;)V
 HSPLcom/android/okhttp/internal/http/HttpEngine;->cacheWritingResponse(Lcom/android/okhttp/internal/http/CacheRequest;Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response;
-HSPLcom/android/okhttp/internal/http/HttpEngine;->close()Lcom/android/okhttp/internal/http/StreamAllocation;
-HSPLcom/android/okhttp/internal/http/HttpEngine;->combine(Lcom/android/okhttp/Headers;Lcom/android/okhttp/Headers;)Lcom/android/okhttp/Headers;
 HSPLcom/android/okhttp/internal/http/HttpEngine;->connect()Lcom/android/okhttp/internal/http/HttpStream;
 HSPLcom/android/okhttp/internal/http/HttpEngine;->createAddress(Lcom/android/okhttp/OkHttpClient;Lcom/android/okhttp/Request;)Lcom/android/okhttp/Address;
 HSPLcom/android/okhttp/internal/http/HttpEngine;->followUpRequest()Lcom/android/okhttp/Request;
@@ -43147,32 +36242,15 @@
 HSPLcom/android/okhttp/internal/http/HttpEngine;->networkRequest(Lcom/android/okhttp/Request;)Lcom/android/okhttp/Request;
 HSPLcom/android/okhttp/internal/http/HttpEngine;->readNetworkResponse()Lcom/android/okhttp/Response;
 HSPLcom/android/okhttp/internal/http/HttpEngine;->readResponse()V
-HSPLcom/android/okhttp/internal/http/HttpEngine;->recover(Lcom/android/okhttp/internal/http/RouteException;)Lcom/android/okhttp/internal/http/HttpEngine;
 HSPLcom/android/okhttp/internal/http/HttpEngine;->sendRequest()V
 HSPLcom/android/okhttp/internal/http/HttpEngine;->unzip(Lcom/android/okhttp/Response;)Lcom/android/okhttp/Response;
-HSPLcom/android/okhttp/internal/http/HttpEngine;->validate(Lcom/android/okhttp/Response;Lcom/android/okhttp/Response;)Z
-HSPLcom/android/okhttp/internal/http/HttpMethod;->invalidatesCache(Ljava/lang/String;)Z
 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/HttpStream;->cancel()V
-HSPLcom/android/okhttp/internal/http/HttpStream;->createRequestBody(Lcom/android/okhttp/Request;J)Lcom/android/okhttp/okio/Sink;
-HSPLcom/android/okhttp/internal/http/HttpStream;->finishRequest()V
-HSPLcom/android/okhttp/internal/http/HttpStream;->openResponseBody(Lcom/android/okhttp/Response;)Lcom/android/okhttp/ResponseBody;
-HSPLcom/android/okhttp/internal/http/HttpStream;->readResponseHeaders()Lcom/android/okhttp/Response$Builder;
-HSPLcom/android/okhttp/internal/http/HttpStream;->setHttpEngine(Lcom/android/okhttp/internal/http/HttpEngine;)V
-HSPLcom/android/okhttp/internal/http/HttpStream;->writeRequestBody(Lcom/android/okhttp/internal/http/RetryableSink;)V
-HSPLcom/android/okhttp/internal/http/HttpStream;->writeRequestHeaders(Lcom/android/okhttp/Request;)V
 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;->addCookies(Lcom/android/okhttp/Request$Builder;Ljava/util/Map;)V
-HSPLcom/android/okhttp/internal/http/OkHeaders;->buildCookieHeader(Ljava/util/List;)Ljava/lang/String;
-HSPLcom/android/okhttp/internal/http/OkHeaders;->isEndToEnd(Ljava/lang/String;)Z
 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/OkHeaders;->varyFields(Lcom/android/okhttp/Headers;)Ljava/util/Set;
-HSPLcom/android/okhttp/internal/http/OkHeaders;->varyHeaders(Lcom/android/okhttp/Headers;Lcom/android/okhttp/Headers;)Lcom/android/okhttp/Headers;
-HSPLcom/android/okhttp/internal/http/OkHeaders;->varyMatches(Lcom/android/okhttp/Response;Lcom/android/okhttp/Headers;Lcom/android/okhttp/Request;)Z
 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;
@@ -43180,7 +36258,6 @@
 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;->connectFailed(Lcom/android/okhttp/Route;Ljava/io/IOException;)V
 HSPLcom/android/okhttp/internal/http/RouteSelector;->next()Lcom/android/okhttp/Route;
 HSPLcom/android/okhttp/internal/http/RouteSelector;->nextInetSocketAddress()Ljava/net/InetSocketAddress;
 HSPLcom/android/okhttp/internal/http/RouteSelector;->nextProxy()Ljava/net/Proxy;
@@ -43190,31 +36267,21 @@
 HSPLcom/android/okhttp/internal/http/StatusLine;->toString()Ljava/lang/String;
 HSPLcom/android/okhttp/internal/http/StreamAllocation;->cancel()V
 HSPLcom/android/okhttp/internal/http/StreamAllocation;->connection()Lcom/android/okhttp/internal/io/RealConnection;
-HSPLcom/android/okhttp/internal/http/StreamAllocation;->connectionFailed(Ljava/io/IOException;)V
 HSPLcom/android/okhttp/internal/http/StreamAllocation;->deallocate(ZZZ)V
 HSPLcom/android/okhttp/internal/http/StreamAllocation;->findConnection(IIIZ)Lcom/android/okhttp/internal/io/RealConnection;
 HSPLcom/android/okhttp/internal/http/StreamAllocation;->findHealthyConnection(IIIZZ)Lcom/android/okhttp/internal/io/RealConnection;
-HSPLcom/android/okhttp/internal/http/StreamAllocation;->isRecoverable(Lcom/android/okhttp/internal/http/RouteException;)Z
 HSPLcom/android/okhttp/internal/http/StreamAllocation;->newStream(IIIZZ)Lcom/android/okhttp/internal/http/HttpStream;
-HSPLcom/android/okhttp/internal/http/StreamAllocation;->recover(Lcom/android/okhttp/internal/http/RouteException;)Z
 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/DelegatingHttpsURLConnection;->handshake()Lcom/android/okhttp/Handshake;
 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
-HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getConnectTimeout()I
-HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getErrorStream()Ljava/io/InputStream;
-HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getHeaderField(I)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getHeaderField(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getHeaderFieldKey(I)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getHeaderFields()Ljava/util/Map;
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getHeaders()Lcom/android/okhttp/Headers;
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getInputStream()Ljava/io/InputStream;
-HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getInstanceFollowRedirects()Z
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getOutputStream()Ljava/io/OutputStream;
-HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->getReadTimeout()I
 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/huc/HttpURLConnectionImpl;->getResponse()Lcom/android/okhttp/internal/http/HttpEngine;
@@ -43226,7 +36293,6 @@
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setConnectTimeout(I)V
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setFixedLengthStreamingMode(I)V
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setFixedLengthStreamingMode(J)V
-HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setIfModifiedSince(J)V
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setInstanceFollowRedirects(Z)V
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setReadTimeout(I)V
 HSPLcom/android/okhttp/internal/huc/HttpURLConnectionImpl;->setRequestMethod(Ljava/lang/String;)V
@@ -43234,43 +36300,24 @@
 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;->getAllowUserInteraction()Z
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getConnectTimeout()I
-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;->getDefaultUseCaches()Z
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getDoInput()Z
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getDoOutput()Z
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getErrorStream()Ljava/io/InputStream;
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getHeaderField(I)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getHeaderField(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getHeaderFieldInt(Ljava/lang/String;I)I
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getHeaderFieldKey(I)Ljava/lang/String;
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getHeaderFields()Ljava/util/Map;
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getIfModifiedSince()J
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getInputStream()Ljava/io/InputStream;
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getInstanceFollowRedirects()Z
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getOutputStream()Ljava/io/OutputStream;
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getReadTimeout()I
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getRequestMethod()Ljava/lang/String;
 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;->getResponseCode()I
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getResponseMessage()Ljava/lang/String;
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getSSLSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getURL()Ljava/net/URL;
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->getUseCaches()Z
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setAllowUserInteraction(Z)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setChunkedStreamingMode(I)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setConnectTimeout(I)V
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setDefaultUseCaches(Z)V
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setDoInput(Z)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setDoOutput(Z)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setFixedLengthStreamingMode(I)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setHostnameVerifier(Ljavax/net/ssl/HostnameVerifier;)V
-HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setIfModifiedSince(J)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setInstanceFollowRedirects(Z)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setReadTimeout(I)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setRequestMethod(Ljava/lang/String;)V
@@ -43278,21 +36325,6 @@
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setSSLSocketFactory(Ljavax/net/ssl/SSLSocketFactory;)V
 HSPLcom/android/okhttp/internal/huc/HttpsURLConnectionImpl;->setUseCaches(Z)V
 HSPLcom/android/okhttp/internal/io/FileSystem$1;-><init>()V
-HSPLcom/android/okhttp/internal/io/FileSystem$1;->appendingSink(Ljava/io/File;)Lcom/android/okhttp/okio/Sink;
-HSPLcom/android/okhttp/internal/io/FileSystem$1;->delete(Ljava/io/File;)V
-HSPLcom/android/okhttp/internal/io/FileSystem$1;->exists(Ljava/io/File;)Z
-HSPLcom/android/okhttp/internal/io/FileSystem$1;->rename(Ljava/io/File;Ljava/io/File;)V
-HSPLcom/android/okhttp/internal/io/FileSystem$1;->sink(Ljava/io/File;)Lcom/android/okhttp/okio/Sink;
-HSPLcom/android/okhttp/internal/io/FileSystem$1;->size(Ljava/io/File;)J
-HSPLcom/android/okhttp/internal/io/FileSystem$1;->source(Ljava/io/File;)Lcom/android/okhttp/okio/Source;
-HSPLcom/android/okhttp/internal/io/FileSystem;->appendingSink(Ljava/io/File;)Lcom/android/okhttp/okio/Sink;
-HSPLcom/android/okhttp/internal/io/FileSystem;->delete(Ljava/io/File;)V
-HSPLcom/android/okhttp/internal/io/FileSystem;->deleteContents(Ljava/io/File;)V
-HSPLcom/android/okhttp/internal/io/FileSystem;->exists(Ljava/io/File;)Z
-HSPLcom/android/okhttp/internal/io/FileSystem;->rename(Ljava/io/File;Ljava/io/File;)V
-HSPLcom/android/okhttp/internal/io/FileSystem;->sink(Ljava/io/File;)Lcom/android/okhttp/okio/Sink;
-HSPLcom/android/okhttp/internal/io/FileSystem;->size(Ljava/io/File;)J
-HSPLcom/android/okhttp/internal/io/FileSystem;->source(Ljava/io/File;)Lcom/android/okhttp/okio/Source;
 HSPLcom/android/okhttp/internal/io/RealConnection;->connect(IIILjava/util/List;Z)V
 HSPLcom/android/okhttp/internal/io/RealConnection;->connectSocket(IIILcom/android/okhttp/internal/ConnectionSpecSelector;)V
 HSPLcom/android/okhttp/internal/io/RealConnection;->connectTls(IILcom/android/okhttp/internal/ConnectionSpecSelector;)V
@@ -43302,6 +36334,12 @@
 HSPLcom/android/okhttp/internal/tls/OkHostnameVerifier;->verify(Ljava/lang/String;Ljavax/net/ssl/SSLSession;)Z
 HSPLcom/android/okhttp/internal/tls/OkHostnameVerifier;->verifyHostName(Ljava/lang/String;Ljava/lang/String;)Z
 HSPLcom/android/okhttp/internal/tls/OkHostnameVerifier;->verifyHostName(Ljava/lang/String;Ljava/security/cert/X509Certificate;)Z
+HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory$DnsAdapter;->hashCode()I
+HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory$DnsAdapter;->lookup(Ljava/lang/String;)Ljava/util/List;
+HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;->internalOpenConnection(Ljava/net/URL;Ljavax/net/SocketFactory;Ljava/net/Proxy;)Ljava/net/URLConnection;
+HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;->openConnection(Ljava/net/URL;Ljavax/net/SocketFactory;Ljava/net/Proxy;)Ljava/net/URLConnection;
+HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;->setDns(Lcom/android/okhttp/internalandroidapi/Dns;)V
+HSPLcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;->setNewConnectionPool(IJLjava/util/concurrent/TimeUnit;)V
 HSPLcom/android/okhttp/okio/AsyncTimeout$1;->flush()V
 HSPLcom/android/okhttp/okio/AsyncTimeout$1;->timeout()Lcom/android/okhttp/okio/Timeout;
 HSPLcom/android/okhttp/okio/AsyncTimeout$1;->write(Lcom/android/okhttp/okio/Buffer;J)V
@@ -43312,11 +36350,7 @@
 HSPLcom/android/okhttp/okio/AsyncTimeout;->cancelScheduledTimeout(Lcom/android/okhttp/okio/AsyncTimeout;)Z
 HSPLcom/android/okhttp/okio/AsyncTimeout;->enter()V
 HSPLcom/android/okhttp/okio/AsyncTimeout;->scheduleTimeout(Lcom/android/okhttp/okio/AsyncTimeout;JZ)V
-HSPLcom/android/okhttp/okio/Base64;->decode(Ljava/lang/String;)[B
-HSPLcom/android/okhttp/okio/Base64;->encode([B[B)Ljava/lang/String;
-HSPLcom/android/okhttp/okio/Buffer$2;->read([BII)I
 HSPLcom/android/okhttp/okio/Buffer;->clear()V
-HSPLcom/android/okhttp/okio/Buffer;->completeSegmentByteCount()J
 HSPLcom/android/okhttp/okio/Buffer;->copyTo(Lcom/android/okhttp/okio/Buffer;JJ)Lcom/android/okhttp/okio/Buffer;
 HSPLcom/android/okhttp/okio/Buffer;->getByte(J)B
 HSPLcom/android/okhttp/okio/Buffer;->indexOf(BJ)J
@@ -43325,7 +36359,6 @@
 HSPLcom/android/okhttp/okio/Buffer;->readByte()B
 HSPLcom/android/okhttp/okio/Buffer;->readByteArray()[B
 HSPLcom/android/okhttp/okio/Buffer;->readByteArray(J)[B
-HSPLcom/android/okhttp/okio/Buffer;->readDecimalLong()J
 HSPLcom/android/okhttp/okio/Buffer;->readHexadecimalUnsignedLong()J
 HSPLcom/android/okhttp/okio/Buffer;->readInt()I
 HSPLcom/android/okhttp/okio/Buffer;->readShort()S
@@ -43335,82 +36368,10 @@
 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(Lcom/android/okhttp/okio/ByteString;)Lcom/android/okhttp/okio/Buffer;
 HSPLcom/android/okhttp/okio/Buffer;->write([BII)Lcom/android/okhttp/okio/Buffer;
-HSPLcom/android/okhttp/okio/Buffer;->writeDecimalLong(J)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;II)Lcom/android/okhttp/okio/Buffer;
 HSPLcom/android/okhttp/okio/Buffer;->writeUtf8CodePoint(I)Lcom/android/okhttp/okio/Buffer;
-HSPLcom/android/okhttp/okio/BufferedSink;->buffer()Lcom/android/okhttp/okio/Buffer;
-HSPLcom/android/okhttp/okio/BufferedSink;->emit()Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->emitCompleteSegments()Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->outputStream()Ljava/io/OutputStream;
-HSPLcom/android/okhttp/okio/BufferedSink;->write(Lcom/android/okhttp/okio/ByteString;)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->write(Lcom/android/okhttp/okio/Source;J)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->write([B)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->write([BII)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->writeAll(Lcom/android/okhttp/okio/Source;)J
-HSPLcom/android/okhttp/okio/BufferedSink;->writeByte(I)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->writeDecimalLong(J)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->writeHexadecimalUnsignedLong(J)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->writeInt(I)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->writeIntLe(I)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->writeLong(J)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->writeLongLe(J)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->writeShort(I)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->writeShortLe(I)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->writeString(Ljava/lang/String;IILjava/nio/charset/Charset;)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->writeString(Ljava/lang/String;Ljava/nio/charset/Charset;)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->writeUtf8(Ljava/lang/String;)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->writeUtf8(Ljava/lang/String;II)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSink;->writeUtf8CodePoint(I)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/BufferedSource;->buffer()Lcom/android/okhttp/okio/Buffer;
-HSPLcom/android/okhttp/okio/BufferedSource;->exhausted()Z
-HSPLcom/android/okhttp/okio/BufferedSource;->indexOf(B)J
-HSPLcom/android/okhttp/okio/BufferedSource;->indexOf(BJ)J
-HSPLcom/android/okhttp/okio/BufferedSource;->indexOf(Lcom/android/okhttp/okio/ByteString;)J
-HSPLcom/android/okhttp/okio/BufferedSource;->indexOf(Lcom/android/okhttp/okio/ByteString;J)J
-HSPLcom/android/okhttp/okio/BufferedSource;->indexOfElement(Lcom/android/okhttp/okio/ByteString;)J
-HSPLcom/android/okhttp/okio/BufferedSource;->indexOfElement(Lcom/android/okhttp/okio/ByteString;J)J
-HSPLcom/android/okhttp/okio/BufferedSource;->inputStream()Ljava/io/InputStream;
-HSPLcom/android/okhttp/okio/BufferedSource;->read([B)I
-HSPLcom/android/okhttp/okio/BufferedSource;->read([BII)I
-HSPLcom/android/okhttp/okio/BufferedSource;->readAll(Lcom/android/okhttp/okio/Sink;)J
-HSPLcom/android/okhttp/okio/BufferedSource;->readByte()B
-HSPLcom/android/okhttp/okio/BufferedSource;->readByteArray()[B
-HSPLcom/android/okhttp/okio/BufferedSource;->readByteArray(J)[B
-HSPLcom/android/okhttp/okio/BufferedSource;->readByteString()Lcom/android/okhttp/okio/ByteString;
-HSPLcom/android/okhttp/okio/BufferedSource;->readByteString(J)Lcom/android/okhttp/okio/ByteString;
-HSPLcom/android/okhttp/okio/BufferedSource;->readDecimalLong()J
-HSPLcom/android/okhttp/okio/BufferedSource;->readFully(Lcom/android/okhttp/okio/Buffer;J)V
-HSPLcom/android/okhttp/okio/BufferedSource;->readFully([B)V
-HSPLcom/android/okhttp/okio/BufferedSource;->readHexadecimalUnsignedLong()J
-HSPLcom/android/okhttp/okio/BufferedSource;->readInt()I
-HSPLcom/android/okhttp/okio/BufferedSource;->readIntLe()I
-HSPLcom/android/okhttp/okio/BufferedSource;->readLong()J
-HSPLcom/android/okhttp/okio/BufferedSource;->readLongLe()J
-HSPLcom/android/okhttp/okio/BufferedSource;->readShort()S
-HSPLcom/android/okhttp/okio/BufferedSource;->readShortLe()S
-HSPLcom/android/okhttp/okio/BufferedSource;->readString(JLjava/nio/charset/Charset;)Ljava/lang/String;
-HSPLcom/android/okhttp/okio/BufferedSource;->readString(Ljava/nio/charset/Charset;)Ljava/lang/String;
-HSPLcom/android/okhttp/okio/BufferedSource;->readUtf8()Ljava/lang/String;
-HSPLcom/android/okhttp/okio/BufferedSource;->readUtf8(J)Ljava/lang/String;
-HSPLcom/android/okhttp/okio/BufferedSource;->readUtf8CodePoint()I
-HSPLcom/android/okhttp/okio/BufferedSource;->readUtf8Line()Ljava/lang/String;
-HSPLcom/android/okhttp/okio/BufferedSource;->readUtf8LineStrict()Ljava/lang/String;
-HSPLcom/android/okhttp/okio/BufferedSource;->request(J)Z
-HSPLcom/android/okhttp/okio/BufferedSource;->require(J)V
-HSPLcom/android/okhttp/okio/BufferedSource;->skip(J)V
-HSPLcom/android/okhttp/okio/ByteString;->base64()Ljava/lang/String;
-HSPLcom/android/okhttp/okio/ByteString;->decodeBase64(Ljava/lang/String;)Lcom/android/okhttp/okio/ByteString;
-HSPLcom/android/okhttp/okio/ByteString;->hex()Ljava/lang/String;
 HSPLcom/android/okhttp/okio/ByteString;->of([B)Lcom/android/okhttp/okio/ByteString;
-HSPLcom/android/okhttp/okio/ByteString;->write(Lcom/android/okhttp/okio/Buffer;)V
-HSPLcom/android/okhttp/okio/ForwardingSink;->write(Lcom/android/okhttp/okio/Buffer;J)V
-HSPLcom/android/okhttp/okio/ForwardingSource;->read(Lcom/android/okhttp/okio/Buffer;J)J
-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;->hasDeadline()Z
 HSPLcom/android/okhttp/okio/GzipSource;-><init>(Lcom/android/okhttp/okio/Source;)V
 HSPLcom/android/okhttp/okio/GzipSource;->checkEqual(Ljava/lang/String;II)V
 HSPLcom/android/okhttp/okio/GzipSource;->close()V
@@ -43420,17 +36381,11 @@
 HSPLcom/android/okhttp/okio/GzipSource;->updateCrc(Lcom/android/okhttp/okio/Buffer;JJ)V
 HSPLcom/android/okhttp/okio/InflaterSource;->read(Lcom/android/okhttp/okio/Buffer;J)J
 HSPLcom/android/okhttp/okio/InflaterSource;->refill()Z
-HSPLcom/android/okhttp/okio/Okio$1;->close()V
 HSPLcom/android/okhttp/okio/Okio$1;->flush()V
 HSPLcom/android/okhttp/okio/Okio$1;->write(Lcom/android/okhttp/okio/Buffer;J)V
-HSPLcom/android/okhttp/okio/Okio$2;->close()V
 HSPLcom/android/okhttp/okio/Okio$2;->read(Lcom/android/okhttp/okio/Buffer;J)J
-HSPLcom/android/okhttp/okio/Okio$3;->newTimeoutException(Ljava/io/IOException;)Ljava/io/IOException;
-HSPLcom/android/okhttp/okio/Okio$3;->timedOut()V
-HSPLcom/android/okhttp/okio/Okio;->appendingSink(Ljava/io/File;)Lcom/android/okhttp/okio/Sink;
 HSPLcom/android/okhttp/okio/Okio;->buffer(Lcom/android/okhttp/okio/Sink;)Lcom/android/okhttp/okio/BufferedSink;
 HSPLcom/android/okhttp/okio/Okio;->buffer(Lcom/android/okhttp/okio/Source;)Lcom/android/okhttp/okio/BufferedSource;
-HSPLcom/android/okhttp/okio/Okio;->sink(Ljava/io/File;)Lcom/android/okhttp/okio/Sink;
 HSPLcom/android/okhttp/okio/Okio;->sink(Ljava/net/Socket;)Lcom/android/okhttp/okio/Sink;
 HSPLcom/android/okhttp/okio/Okio;->source(Ljava/net/Socket;)Lcom/android/okhttp/okio/Source;
 HSPLcom/android/okhttp/okio/RealBufferedSink$1;->close()V
@@ -43438,19 +36393,13 @@
 HSPLcom/android/okhttp/okio/RealBufferedSink$1;->write([BII)V
 HSPLcom/android/okhttp/okio/RealBufferedSink;->buffer()Lcom/android/okhttp/okio/Buffer;
 HSPLcom/android/okhttp/okio/RealBufferedSink;->close()V
-HSPLcom/android/okhttp/okio/RealBufferedSink;->emit()Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/RealBufferedSink;->emitCompleteSegments()Lcom/android/okhttp/okio/BufferedSink;
 HSPLcom/android/okhttp/okio/RealBufferedSink;->flush()V
 HSPLcom/android/okhttp/okio/RealBufferedSink;->outputStream()Ljava/io/OutputStream;
 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;->writeByte(I)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/RealBufferedSink;->writeDecimalLong(J)Lcom/android/okhttp/okio/BufferedSink;
-HSPLcom/android/okhttp/okio/RealBufferedSink;->writeHexadecimalUnsignedLong(J)Lcom/android/okhttp/okio/BufferedSink;
 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()I
 HSPLcom/android/okhttp/okio/RealBufferedSource$1;->read([BII)I
 HSPLcom/android/okhttp/okio/RealBufferedSource;->buffer()Lcom/android/okhttp/okio/Buffer;
 HSPLcom/android/okhttp/okio/RealBufferedSource;->close()V
@@ -43458,7 +36407,6 @@
 HSPLcom/android/okhttp/okio/RealBufferedSource;->indexOf(BJ)J
 HSPLcom/android/okhttp/okio/RealBufferedSource;->inputStream()Ljava/io/InputStream;
 HSPLcom/android/okhttp/okio/RealBufferedSource;->read(Lcom/android/okhttp/okio/Buffer;J)J
-HSPLcom/android/okhttp/okio/RealBufferedSource;->readDecimalLong()J
 HSPLcom/android/okhttp/okio/RealBufferedSource;->readHexadecimalUnsignedLong()J
 HSPLcom/android/okhttp/okio/RealBufferedSource;->readIntLe()I
 HSPLcom/android/okhttp/okio/RealBufferedSource;->readShort()S
@@ -43473,23 +36421,18 @@
 HSPLcom/android/okhttp/okio/SegmentPool;->recycle(Lcom/android/okhttp/okio/Segment;)V
 HSPLcom/android/okhttp/okio/SegmentPool;->take()Lcom/android/okhttp/okio/Segment;
 HSPLcom/android/okhttp/okio/Timeout$1;-><init>()V
-HSPLcom/android/okhttp/okio/Timeout$1;->deadlineNanoTime(J)Lcom/android/okhttp/okio/Timeout;
 HSPLcom/android/okhttp/okio/Timeout;->clearDeadline()Lcom/android/okhttp/okio/Timeout;
 HSPLcom/android/okhttp/okio/Timeout;->clearTimeout()Lcom/android/okhttp/okio/Timeout;
-HSPLcom/android/okhttp/okio/Timeout;->deadlineNanoTime()J
-HSPLcom/android/okhttp/okio/Timeout;->deadlineNanoTime(J)Lcom/android/okhttp/okio/Timeout;
 HSPLcom/android/okhttp/okio/Timeout;->hasDeadline()Z
 HSPLcom/android/okhttp/okio/Timeout;->throwIfReached()V
 HSPLcom/android/okhttp/okio/Timeout;->timeout(JLjava/util/concurrent/TimeUnit;)Lcom/android/okhttp/okio/Timeout;
 HSPLcom/android/okhttp/okio/Timeout;->timeoutNanos()J
 HSPLcom/android/okhttp/okio/Util;->checkOffsetAndCount(JJJ)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1BitString;-><init>([BI)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1BitString;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1BitString;->fromInputStream(ILjava/io/InputStream;)Lcom/android/org/bouncycastle/asn1/ASN1BitString;
 HSPLcom/android/org/bouncycastle/asn1/ASN1BitString;->getOctets()[B
 HSPLcom/android/org/bouncycastle/asn1/ASN1BitString;->getPadBits()I
 HSPLcom/android/org/bouncycastle/asn1/ASN1BitString;->toDERObject()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/asn1/ASN1Encodable;->toASN1Primitive()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
 HSPLcom/android/org/bouncycastle/asn1/ASN1EncodableVector;-><init>()V
 HSPLcom/android/org/bouncycastle/asn1/ASN1EncodableVector;->add(Lcom/android/org/bouncycastle/asn1/ASN1Encodable;)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1EncodableVector;->get(I)Lcom/android/org/bouncycastle/asn1/ASN1Encodable;
@@ -43512,9 +36455,7 @@
 HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;->getPositiveValue()Ljava/math/BigInteger;
 HSPLcom/android/org/bouncycastle/asn1/ASN1Integer;->getValue()Ljava/math/BigInteger;
 HSPLcom/android/org/bouncycastle/asn1/ASN1Null;->asn1Equals(Lcom/android/org/bouncycastle/asn1/ASN1Primitive;)Z
-HSPLcom/android/org/bouncycastle/asn1/ASN1Null;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1Object;->getEncoded(Ljava/lang/String;)[B
-HSPLcom/android/org/bouncycastle/asn1/ASN1Object;->toASN1Primitive()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
 HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier$OidHandle;->equals(Ljava/lang/Object;)Z
 HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier$OidHandle;->hashCode()I
 HSPLcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)V
@@ -43539,12 +36480,8 @@
 HSPLcom/android/org/bouncycastle/asn1/ASN1OutputStream;->writeEncoded(I[B)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1OutputStream;->writeLength(I)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1OutputStream;->writeTag(II)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;->asn1Equals(Lcom/android/org/bouncycastle/asn1/ASN1Primitive;)Z
-HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;->encodedLength()I
 HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;->equals(Ljava/lang/Object;)Z
 HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;->fromByteArray([B)Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;->isConstructed()Z
 HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;->toASN1Primitive()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
 HSPLcom/android/org/bouncycastle/asn1/ASN1Primitive;->toDERObject()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
 HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/ASN1Sequence;
@@ -43553,7 +36490,6 @@
 HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;->size()I
 HSPLcom/android/org/bouncycastle/asn1/ASN1Sequence;->toDERObject()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
 HSPLcom/android/org/bouncycastle/asn1/ASN1Set;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;Z)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1Set;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1Set;->getInstance(Ljava/lang/Object;)Lcom/android/org/bouncycastle/asn1/ASN1Set;
 HSPLcom/android/org/bouncycastle/asn1/ASN1Set;->getObjectAt(I)Lcom/android/org/bouncycastle/asn1/ASN1Encodable;
 HSPLcom/android/org/bouncycastle/asn1/ASN1Set;->getObjects()Ljava/util/Enumeration;
@@ -43563,13 +36499,9 @@
 HSPLcom/android/org/bouncycastle/asn1/ASN1StreamParser;->readObject()Lcom/android/org/bouncycastle/asn1/ASN1Encodable;
 HSPLcom/android/org/bouncycastle/asn1/ASN1StreamParser;->readTaggedObject(ZI)Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
 HSPLcom/android/org/bouncycastle/asn1/ASN1StreamParser;->readVector()Lcom/android/org/bouncycastle/asn1/ASN1EncodableVector;
-HSPLcom/android/org/bouncycastle/asn1/ASN1String;->getString()Ljava/lang/String;
 HSPLcom/android/org/bouncycastle/asn1/ASN1TaggedObject;-><init>(ZILcom/android/org/bouncycastle/asn1/ASN1Encodable;)V
-HSPLcom/android/org/bouncycastle/asn1/ASN1TaggedObject;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1TaggedObject;->getObject()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
 HSPLcom/android/org/bouncycastle/asn1/ASN1TaggedObject;->toDERObject()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/asn1/ASN1TaggedObjectParser;->getObjectParser(IZ)Lcom/android/org/bouncycastle/asn1/ASN1Encodable;
-HSPLcom/android/org/bouncycastle/asn1/ASN1TaggedObjectParser;->getTagNo()I
 HSPLcom/android/org/bouncycastle/asn1/ASN1UTCTime;-><init>(Ljava/lang/String;)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1UTCTime;->encode(Lcom/android/org/bouncycastle/asn1/ASN1OutputStream;)V
 HSPLcom/android/org/bouncycastle/asn1/ASN1UTCTime;->encodedLength()I
@@ -43602,7 +36534,6 @@
 HSPLcom/android/org/bouncycastle/asn1/DefiniteLengthInputStream;->read()I
 HSPLcom/android/org/bouncycastle/asn1/DefiniteLengthInputStream;->read([BII)I
 HSPLcom/android/org/bouncycastle/asn1/DefiniteLengthInputStream;->toByteArray()[B
-HSPLcom/android/org/bouncycastle/asn1/InMemoryRepresentable;->getLoadedObject()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
 HSPLcom/android/org/bouncycastle/asn1/LimitedInputStream;->setParentEofDetect(Z)V
 HSPLcom/android/org/bouncycastle/asn1/OIDTokenizer;->nextToken()Ljava/lang/String;
 HSPLcom/android/org/bouncycastle/asn1/StreamUtil;->calculateTagLength(I)I
@@ -43610,14 +36541,6 @@
 HSPLcom/android/org/bouncycastle/asn1/x500/RDN;->toASN1Primitive()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
 HSPLcom/android/org/bouncycastle/asn1/x500/X500Name;-><init>(Lcom/android/org/bouncycastle/asn1/x500/X500NameStyle;Lcom/android/org/bouncycastle/asn1/ASN1Sequence;)V
 HSPLcom/android/org/bouncycastle/asn1/x500/X500Name;->toASN1Primitive()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/asn1/x500/X500NameStyle;->areEqual(Lcom/android/org/bouncycastle/asn1/x500/X500Name;Lcom/android/org/bouncycastle/asn1/x500/X500Name;)Z
-HSPLcom/android/org/bouncycastle/asn1/x500/X500NameStyle;->attrNameToOID(Ljava/lang/String;)Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;
-HSPLcom/android/org/bouncycastle/asn1/x500/X500NameStyle;->calculateHashCode(Lcom/android/org/bouncycastle/asn1/x500/X500Name;)I
-HSPLcom/android/org/bouncycastle/asn1/x500/X500NameStyle;->fromString(Ljava/lang/String;)[Lcom/android/org/bouncycastle/asn1/x500/RDN;
-HSPLcom/android/org/bouncycastle/asn1/x500/X500NameStyle;->oidToAttrNames(Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;)[Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/asn1/x500/X500NameStyle;->oidToDisplayName(Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;)Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/asn1/x500/X500NameStyle;->stringToValue(Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)Lcom/android/org/bouncycastle/asn1/ASN1Encodable;
-HSPLcom/android/org/bouncycastle/asn1/x500/X500NameStyle;->toString(Lcom/android/org/bouncycastle/asn1/x500/X500Name;)Ljava/lang/String;
 HSPLcom/android/org/bouncycastle/asn1/x500/style/BCStyle;-><init>()V
 HSPLcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Lcom/android/org/bouncycastle/asn1/ASN1Encodable;)V
 HSPLcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1Sequence;)V
@@ -43654,77 +36577,15 @@
 HSPLcom/android/org/bouncycastle/asn1/x509/V3TBSCertificateGenerator;->setSubjectPublicKeyInfo(Lcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
 HSPLcom/android/org/bouncycastle/asn1/x509/X509ExtensionsGenerator;->isEmpty()Z
 HSPLcom/android/org/bouncycastle/asn1/x509/X509Name;-><init>(Lcom/android/org/bouncycastle/asn1/ASN1Sequence;)V
-HSPLcom/android/org/bouncycastle/asn1/x509/X509Name;-><init>(Ljava/lang/String;)V
-HSPLcom/android/org/bouncycastle/asn1/x509/X509Name;-><init>(ZLjava/util/Hashtable;Ljava/lang/String;Lcom/android/org/bouncycastle/asn1/x509/X509NameEntryConverter;)V
-HSPLcom/android/org/bouncycastle/asn1/x509/X509Name;->addEntry(Ljava/util/Hashtable;Ljava/lang/String;Ljava/lang/Boolean;)V
-HSPLcom/android/org/bouncycastle/asn1/x509/X509Name;->decodeOID(Ljava/lang/String;Ljava/util/Hashtable;)Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;
-HSPLcom/android/org/bouncycastle/asn1/x509/X509Name;->getOIDs()Ljava/util/Vector;
-HSPLcom/android/org/bouncycastle/asn1/x509/X509Name;->getValues()Ljava/util/Vector;
 HSPLcom/android/org/bouncycastle/asn1/x509/X509Name;->toASN1Primitive()Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/asn1/x509/X509Name;->unescape(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/asn1/x509/X509NameEntryConverter;->getConvertedValue(Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)Lcom/android/org/bouncycastle/asn1/ASN1Primitive;
-HSPLcom/android/org/bouncycastle/asn1/x509/X509NameTokenizer;->nextToken()Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/crypto/BlockCipher;->getAlgorithmName()Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/crypto/BlockCipher;->getBlockSize()I
-HSPLcom/android/org/bouncycastle/crypto/BlockCipher;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HSPLcom/android/org/bouncycastle/crypto/BlockCipher;->processBlock([BI[BI)I
-HSPLcom/android/org/bouncycastle/crypto/BlockCipher;->reset()V
 HSPLcom/android/org/bouncycastle/crypto/BufferedBlockCipher;->getBlockSize()I
-HSPLcom/android/org/bouncycastle/crypto/BufferedBlockCipher;->getUnderlyingCipher()Lcom/android/org/bouncycastle/crypto/BlockCipher;
 HSPLcom/android/org/bouncycastle/crypto/BufferedBlockCipher;->reset()V
-HSPLcom/android/org/bouncycastle/crypto/DSA;->generateSignature([B)[Ljava/math/BigInteger;
-HSPLcom/android/org/bouncycastle/crypto/DSA;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HSPLcom/android/org/bouncycastle/crypto/DSA;->verifySignature([BLjava/math/BigInteger;Ljava/math/BigInteger;)Z
-HSPLcom/android/org/bouncycastle/crypto/Digest;->doFinal([BI)I
-HSPLcom/android/org/bouncycastle/crypto/Digest;->getAlgorithmName()Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/crypto/Digest;->getDigestSize()I
-HSPLcom/android/org/bouncycastle/crypto/Digest;->reset()V
-HSPLcom/android/org/bouncycastle/crypto/Digest;->update(B)V
-HSPLcom/android/org/bouncycastle/crypto/Digest;->update([BII)V
-HSPLcom/android/org/bouncycastle/crypto/ExtendedDigest;->getByteLength()I
-HSPLcom/android/org/bouncycastle/crypto/Mac;->doFinal([BI)I
-HSPLcom/android/org/bouncycastle/crypto/Mac;->getAlgorithmName()Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/crypto/Mac;->getMacSize()I
-HSPLcom/android/org/bouncycastle/crypto/Mac;->init(Lcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HSPLcom/android/org/bouncycastle/crypto/Mac;->reset()V
-HSPLcom/android/org/bouncycastle/crypto/Mac;->update(B)V
-HSPLcom/android/org/bouncycastle/crypto/Mac;->update([BII)V
-HSPLcom/android/org/bouncycastle/crypto/PBEParametersGenerator;->PKCS12PasswordToBytes([C)[B
-HSPLcom/android/org/bouncycastle/crypto/PBEParametersGenerator;->generateDerivedMacParameters(I)Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/crypto/PBEParametersGenerator;->generateDerivedParameters(I)Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/crypto/PBEParametersGenerator;->generateDerivedParameters(II)Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/crypto/PBEParametersGenerator;->init([B[BI)V
-HSPLcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactory;->getMD5()Lcom/android/org/bouncycastle/crypto/Digest;
-HSPLcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactory;->getSHA1()Lcom/android/org/bouncycastle/crypto/Digest;
-HSPLcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactory;->getSHA256()Lcom/android/org/bouncycastle/crypto/Digest;
+HSPLcom/android/org/bouncycastle/crypto/CryptoServicesPermission;-><init>(Ljava/lang/String;)V
+HSPLcom/android/org/bouncycastle/crypto/CryptoServicesRegistrar$Property;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
+HSPLcom/android/org/bouncycastle/crypto/CryptoServicesRegistrar;->localSetGlobalProperty(Lcom/android/org/bouncycastle/crypto/CryptoServicesRegistrar$Property;[Ljava/lang/Object;)V
+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/AndroidDigestFactoryOpenSSL;->getMD5()Lcom/android/org/bouncycastle/crypto/Digest;
-HSPLcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactoryOpenSSL;->getSHA1()Lcom/android/org/bouncycastle/crypto/Digest;
-HSPLcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactoryOpenSSL;->getSHA256()Lcom/android/org/bouncycastle/crypto/Digest;
-HSPLcom/android/org/bouncycastle/crypto/digests/EncodableDigest;->getEncodedState()[B
-HSPLcom/android/org/bouncycastle/crypto/digests/GeneralDigest;->finish()V
-HSPLcom/android/org/bouncycastle/crypto/digests/GeneralDigest;->getByteLength()I
-HSPLcom/android/org/bouncycastle/crypto/digests/GeneralDigest;->processBlock()V
-HSPLcom/android/org/bouncycastle/crypto/digests/GeneralDigest;->processLength(J)V
-HSPLcom/android/org/bouncycastle/crypto/digests/GeneralDigest;->processWord([BI)V
-HSPLcom/android/org/bouncycastle/crypto/digests/GeneralDigest;->update(B)V
-HSPLcom/android/org/bouncycastle/crypto/digests/GeneralDigest;->update([BII)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;->getByteLength()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/digests/SHA1Digest;->copy()Lcom/android/org/bouncycastle/util/Memoable;
-HSPLcom/android/org/bouncycastle/crypto/digests/SHA1Digest;->copyIn(Lcom/android/org/bouncycastle/crypto/digests/SHA1Digest;)V
-HSPLcom/android/org/bouncycastle/crypto/digests/SHA1Digest;->doFinal([BI)I
-HSPLcom/android/org/bouncycastle/crypto/digests/SHA1Digest;->getDigestSize()I
-HSPLcom/android/org/bouncycastle/crypto/digests/SHA1Digest;->processBlock()V
-HSPLcom/android/org/bouncycastle/crypto/digests/SHA1Digest;->processLength(J)V
-HSPLcom/android/org/bouncycastle/crypto/digests/SHA1Digest;->processWord([BI)V
-HSPLcom/android/org/bouncycastle/crypto/digests/SHA1Digest;->reset()V
-HSPLcom/android/org/bouncycastle/crypto/digests/SHA1Digest;->reset(Lcom/android/org/bouncycastle/util/Memoable;)V
 HSPLcom/android/org/bouncycastle/crypto/engines/AESEngine;->decryptBlock([[I)V
 HSPLcom/android/org/bouncycastle/crypto/engines/AESEngine;->generateWorkingKey([BZ)[[I
 HSPLcom/android/org/bouncycastle/crypto/engines/AESEngine;->getAlgorithmName()Ljava/lang/String;
@@ -43736,55 +36597,6 @@
 HSPLcom/android/org/bouncycastle/crypto/engines/AESEngine;->reset()V
 HSPLcom/android/org/bouncycastle/crypto/engines/AESEngine;->subWord(I)I
 HSPLcom/android/org/bouncycastle/crypto/engines/AESEngine;->unpackBlock([BI)V
-HSPLcom/android/org/bouncycastle/crypto/engines/BlowfishEngine;-><init>()V
-HSPLcom/android/org/bouncycastle/crypto/engines/BlowfishEngine;->decryptBlock([BI[BI)V
-HSPLcom/android/org/bouncycastle/crypto/engines/BlowfishEngine;->encryptBlock([BI[BI)V
-HSPLcom/android/org/bouncycastle/crypto/engines/BlowfishEngine;->getAlgorithmName()Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/crypto/engines/BlowfishEngine;->getBlockSize()I
-HSPLcom/android/org/bouncycastle/crypto/engines/BlowfishEngine;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HSPLcom/android/org/bouncycastle/crypto/engines/BlowfishEngine;->processBlock([BI[BI)I
-HSPLcom/android/org/bouncycastle/crypto/engines/BlowfishEngine;->processTable(II[I)V
-HSPLcom/android/org/bouncycastle/crypto/engines/BlowfishEngine;->reset()V
-HSPLcom/android/org/bouncycastle/crypto/engines/BlowfishEngine;->setKey([B)V
-HSPLcom/android/org/bouncycastle/crypto/engines/DESEngine;->desFunc([I[BI[BI)V
-HSPLcom/android/org/bouncycastle/crypto/engines/DESEngine;->generateWorkingKey(Z[B)[I
-HSPLcom/android/org/bouncycastle/crypto/engines/DESEngine;->getAlgorithmName()Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/crypto/engines/DESEngine;->getBlockSize()I
-HSPLcom/android/org/bouncycastle/crypto/engines/DESEngine;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HSPLcom/android/org/bouncycastle/crypto/engines/DESEngine;->processBlock([BI[BI)I
-HSPLcom/android/org/bouncycastle/crypto/engines/DESEngine;->reset()V
-HSPLcom/android/org/bouncycastle/crypto/generators/OpenSSLPBEParametersGenerator;->generateDerivedKey(I)[B
-HSPLcom/android/org/bouncycastle/crypto/generators/OpenSSLPBEParametersGenerator;->generateDerivedParameters(II)Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/crypto/generators/PKCS12ParametersGenerator;-><init>(Lcom/android/org/bouncycastle/crypto/Digest;)V
-HSPLcom/android/org/bouncycastle/crypto/generators/PKCS12ParametersGenerator;->adjust([BI[B)V
-HSPLcom/android/org/bouncycastle/crypto/generators/PKCS12ParametersGenerator;->generateDerivedKey(II)[B
-HSPLcom/android/org/bouncycastle/crypto/generators/PKCS12ParametersGenerator;->generateDerivedParameters(II)Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/crypto/generators/PKCS5S1ParametersGenerator;->generateDerivedKey()[B
-HSPLcom/android/org/bouncycastle/crypto/generators/PKCS5S1ParametersGenerator;->generateDerivedParameters(II)Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/crypto/generators/PKCS5S2ParametersGenerator;->F([BI[B[BI)V
-HSPLcom/android/org/bouncycastle/crypto/generators/PKCS5S2ParametersGenerator;->generateDerivedKey(I)[B
-HSPLcom/android/org/bouncycastle/crypto/generators/PKCS5S2ParametersGenerator;->generateDerivedMacParameters(I)Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/crypto/generators/PKCS5S2ParametersGenerator;->generateDerivedParameters(I)Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/crypto/io/MacInputStream;->read()I
-HSPLcom/android/org/bouncycastle/crypto/io/MacInputStream;->read([BII)I
-HSPLcom/android/org/bouncycastle/crypto/macs/HMac;->doFinal([BI)I
-HSPLcom/android/org/bouncycastle/crypto/macs/HMac;->getByteLength(Lcom/android/org/bouncycastle/crypto/Digest;)I
-HSPLcom/android/org/bouncycastle/crypto/macs/HMac;->getMacSize()I
-HSPLcom/android/org/bouncycastle/crypto/macs/HMac;->init(Lcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HSPLcom/android/org/bouncycastle/crypto/macs/HMac;->update(B)V
-HSPLcom/android/org/bouncycastle/crypto/macs/HMac;->update([BII)V
-HSPLcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher;-><init>(Lcom/android/org/bouncycastle/crypto/BlockCipher;)V
-HSPLcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher;->decryptBlock([BI[BI)I
-HSPLcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher;->getAlgorithmName()Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher;->getBlockSize()I
-HSPLcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HSPLcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher;->processBlock([BI[BI)I
-HSPLcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher;->reset()V
-HSPLcom/android/org/bouncycastle/crypto/paddings/BlockCipherPadding;->addPadding([BI)I
-HSPLcom/android/org/bouncycastle/crypto/paddings/BlockCipherPadding;->getPaddingName()Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/crypto/paddings/BlockCipherPadding;->init(Ljava/security/SecureRandom;)V
-HSPLcom/android/org/bouncycastle/crypto/paddings/BlockCipherPadding;->padCount([B)I
-HSPLcom/android/org/bouncycastle/crypto/paddings/PKCS7Padding;->addPadding([BI)I
 HSPLcom/android/org/bouncycastle/crypto/paddings/PKCS7Padding;->init(Ljava/security/SecureRandom;)V
 HSPLcom/android/org/bouncycastle/crypto/paddings/PKCS7Padding;->padCount([B)I
 HSPLcom/android/org/bouncycastle/crypto/paddings/PaddedBufferedBlockCipher;->doFinal([BI)I
@@ -43792,26 +36604,17 @@
 HSPLcom/android/org/bouncycastle/crypto/paddings/PaddedBufferedBlockCipher;->getUpdateOutputSize(I)I
 HSPLcom/android/org/bouncycastle/crypto/paddings/PaddedBufferedBlockCipher;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
 HSPLcom/android/org/bouncycastle/crypto/paddings/PaddedBufferedBlockCipher;->processBytes([BII[BI)I
-HSPLcom/android/org/bouncycastle/crypto/params/DESParameters;->setOddParity([B)V
-HSPLcom/android/org/bouncycastle/crypto/params/DSAKeyParameters;->getParameters()Lcom/android/org/bouncycastle/crypto/params/DSAParameters;
+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;
 HSPLcom/android/org/bouncycastle/crypto/params/DSAParameters;->getP()Ljava/math/BigInteger;
 HSPLcom/android/org/bouncycastle/crypto/params/DSAParameters;->getQ()Ljava/math/BigInteger;
-HSPLcom/android/org/bouncycastle/crypto/params/DSAPublicKeyParameters;->getY()Ljava/math/BigInteger;
+HSPLcom/android/org/bouncycastle/crypto/params/DSAParameters;->getValidationParameters()Lcom/android/org/bouncycastle/crypto/params/DSAValidationParameters;
 HSPLcom/android/org/bouncycastle/crypto/params/DSAPublicKeyParameters;->validate(Ljava/math/BigInteger;Lcom/android/org/bouncycastle/crypto/params/DSAParameters;)Ljava/math/BigInteger;
+HSPLcom/android/org/bouncycastle/crypto/params/DSAValidationParameters;-><init>([BI)V
+HSPLcom/android/org/bouncycastle/crypto/params/DSAValidationParameters;->getCounter()I
+HSPLcom/android/org/bouncycastle/crypto/params/DSAValidationParameters;->getSeed()[B
 HSPLcom/android/org/bouncycastle/crypto/params/KeyParameter;->getKey()[B
-HSPLcom/android/org/bouncycastle/crypto/params/ParametersWithIV;->getIV()[B
-HSPLcom/android/org/bouncycastle/crypto/params/ParametersWithIV;->getParameters()Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/crypto/params/ParametersWithRandom;->getParameters()Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/crypto/params/ParametersWithRandom;->getRandom()Ljava/security/SecureRandom;
-HSPLcom/android/org/bouncycastle/crypto/signers/DSAKCalculator;->init(Ljava/math/BigInteger;Ljava/math/BigInteger;[B)V
-HSPLcom/android/org/bouncycastle/crypto/signers/DSAKCalculator;->init(Ljava/math/BigInteger;Ljava/security/SecureRandom;)V
-HSPLcom/android/org/bouncycastle/crypto/signers/DSAKCalculator;->isDeterministic()Z
-HSPLcom/android/org/bouncycastle/crypto/signers/DSAKCalculator;->nextK()Ljava/math/BigInteger;
-HSPLcom/android/org/bouncycastle/crypto/signers/DSASigner;->calculateE(Ljava/math/BigInteger;[B)Ljava/math/BigInteger;
-HSPLcom/android/org/bouncycastle/crypto/signers/DSASigner;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
-HSPLcom/android/org/bouncycastle/crypto/signers/DSASigner;->initSecureRandom(ZLjava/security/SecureRandom;)Ljava/security/SecureRandom;
-HSPLcom/android/org/bouncycastle/crypto/signers/DSASigner;->verifySignature([BLjava/math/BigInteger;Ljava/math/BigInteger;)Z
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/DH$Mappings;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/DH$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/DSA$Mappings;-><init>()V
@@ -43823,22 +36626,12 @@
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/RSA$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/X509$Mappings;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/X509$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/AlgorithmParametersSpi;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/AlgorithmParametersSpi;->engineInit([B)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;-><init>(Lcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->engineGetKeyParameters()Lcom/android/org/bouncycastle/crypto/params/DSAPublicKeyParameters;
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->getAlgorithm()Ljava/lang/String;
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->getEncoded()[B
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->getParams()Ljava/security/interfaces/DSAParams;
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->getY()Ljava/math/BigInteger;
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;->hashCode()I
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner$dsa256;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner;->derDecode([B)[Ljava/math/BigInteger;
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner;->engineInitVerify(Ljava/security/PublicKey;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner;->engineUpdate([BII)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner;->engineVerify([B)Z
-HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSAUtil;->generatePublicKeyParameter(Ljava/security/PublicKey;)Lcom/android/org/bouncycastle/crypto/params/AsymmetricKeyParameter;
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/KeyFactorySpi;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/KeyFactorySpi;->engineGeneratePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/KeyFactorySpi;->generatePublic(Lcom/android/org/bouncycastle/asn1/x509/SubjectPublicKeyInfo;)Ljava/security/PublicKey;
@@ -43857,16 +36650,6 @@
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/x509/X509CertificateObject;-><init>(Lcom/android/org/bouncycastle/jcajce/util/JcaJceHelper;Lcom/android/org/bouncycastle/asn1/x509/Certificate;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/x509/X509CertificateObject;->getEncoded()[B
 HSPLcom/android/org/bouncycastle/jcajce/provider/asymmetric/x509/X509CertificateObject;->getExtensionBytes(Ljava/lang/String;)[B
-HSPLcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;->addAlgorithm(Ljava/lang/String;Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;->addAlgorithm(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;->addAttributes(Ljava/lang/String;Ljava/util/Map;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;->addKeyInfoConverter(Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Lcom/android/org/bouncycastle/jcajce/provider/util/AsymmetricKeyInfoConverter;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;->hasAlgorithm(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;->setParameter(Ljava/lang/String;Ljava/lang/Object;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/config/ProviderConfiguration;->getAcceptableNamedCurves()Ljava/util/Set;
-HSPLcom/android/org/bouncycastle/jcajce/provider/config/ProviderConfiguration;->getAdditionalECParameters()Ljava/util/Map;
-HSPLcom/android/org/bouncycastle/jcajce/provider/config/ProviderConfiguration;->getDHDefaultParameters(I)Ljavax/crypto/spec/DHParameterSpec;
-HSPLcom/android/org/bouncycastle/jcajce/provider/config/ProviderConfiguration;->getEcImplicitlyCa()Lcom/android/org/bouncycastle/jce/spec/ECParameterSpec;
 HSPLcom/android/org/bouncycastle/jcajce/provider/config/ProviderConfigurationPermission;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/config/ProviderConfigurationPermission;->calculateMask(Ljava/lang/String;)I
 HSPLcom/android/org/bouncycastle/jcajce/provider/digest/DigestAlgorithmProvider;->addHMACAlgorithm(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
@@ -43888,42 +36671,28 @@
 HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/PKCS12$Mappings;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/PKCS12$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi$Std;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi$StoreEntry;->getCertificateChain()[Ljava/security/cert/Certificate;
 HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi$StoreEntry;->getObject()Ljava/lang/Object;
 HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi$StoreEntry;->getType()I
-HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->decodeCertificate(Ljava/io/DataInputStream;)Ljava/security/cert/Certificate;
 HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->engineAliases()Ljava/util/Enumeration;
 HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->engineGetCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;
-HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->engineIsCertificateEntry(Ljava/lang/String;)Z
 HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->engineLoad(Ljava/io/InputStream;[C)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->engineSetCertificateEntry(Ljava/lang/String;Ljava/security/cert/Certificate;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->engineSize()I
-HSPLcom/android/org/bouncycastle/jcajce/provider/keystore/bc/BcKeyStoreSpi;->loadStore(Ljava/io/InputStream;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$ECB$1;->get()Lcom/android/org/bouncycastle/crypto/BlockCipher;
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$ECB;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$Mappings;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$PBEWithMD5And128BitAESCBCOpenSSL;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$PBEWithSHA256AESCBC256;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$PBEWithSHA256And256BitAESBC;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$PBEWithSHAAnd256BitAESBC;-><init>()V
+HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES;->access$000()Ljava/util/Map;
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/AES;->lookup(Ljava/lang/String;)Ljava/lang/Class;
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/ARC4$Mappings;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/ARC4$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/Blowfish$ECB;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/Blowfish$Mappings;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/Blowfish$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/DES$DESPBEKeyFactory;->engineGenerateSecret(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/DES$Mappings;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/DES$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/DES$PBEWithMD5;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/DES$PBEWithMD5KeyFactory;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/DESede$Mappings;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/DESede$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$BasePBKDF2;->engineGenerateSecret(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$Mappings;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$PBKDF2WithHmacSHA1UTF8;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPKCS12$Mappings;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPKCS12$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/PBES2AlgorithmParameters$Mappings;-><init>()V
@@ -43932,60 +36701,25 @@
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/RC2$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/Twofish$Mappings;-><init>()V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/Twofish$Mappings;->configure(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey;->getAlgorithm()Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey;->getDigest()I
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey;->getEncoded()[B
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey;->getIvSize()I
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey;->getKeySize()I
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey;->getOID()Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey;->getParam()Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey;->getPassword()[C
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey;->getType()I
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey;->shouldTryWrongPKCS12()Z
+HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$AEADGenericBlockCipher;->findExceptionConstructor(Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$BufferedGenericBlockCipher;->doFinal([BI)I
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$BufferedGenericBlockCipher;->getOutputSize(I)I
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$BufferedGenericBlockCipher;->getUnderlyingCipher()Lcom/android/org/bouncycastle/crypto/BlockCipher;
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$BufferedGenericBlockCipher;->init(ZLcom/android/org/bouncycastle/crypto/CipherParameters;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher$BufferedGenericBlockCipher;->processBytes([BII[BI)I
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;-><init>(Lcom/android/org/bouncycastle/crypto/BlockCipher;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;-><init>(Lcom/android/org/bouncycastle/crypto/BlockCipher;IIII)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;-><init>(Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BlockCipherProvider;)V
+HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->access$100(Ljava/lang/String;)Ljava/lang/Class;
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->engineDoFinal([BII)[B
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->engineGetOutputSize(I)I
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->engineInit(ILjava/security/Key;Ljava/security/SecureRandom;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->engineInit(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->engineSetMode(Ljava/lang/String;)V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->engineSetPadding(Ljava/lang/String;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseBlockCipher;->lookup(Ljava/lang/String;)Ljava/lang/Class;
 HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseWrapCipher;-><init>()V
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BlockCipherProvider;->get()Lcom/android/org/bouncycastle/crypto/BlockCipher;
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/PBE$Util;->convertPassword(ILjavax/crypto/spec/PBEKeySpec;)[B
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/PBE$Util;->getParameterSpecFromPBEParameterSpec(Ljavax/crypto/spec/PBEParameterSpec;)Ljava/security/spec/AlgorithmParameterSpec;
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/PBE$Util;->makePBEGenerator(II)Lcom/android/org/bouncycastle/crypto/PBEParametersGenerator;
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/PBE$Util;->makePBEMacParameters(Ljavax/crypto/spec/PBEKeySpec;III)Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/PBE$Util;->makePBEParameters(Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BCPBEKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/lang/String;)Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/PBE$Util;->makePBEParameters(Ljavax/crypto/spec/PBEKeySpec;IIII)Lcom/android/org/bouncycastle/crypto/CipherParameters;
-HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/PBESecretKeyFactory;->engineGenerateSecret(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
+HSPLcom/android/org/bouncycastle/jcajce/provider/symmetric/util/ClassUtil;->loadClass(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Class;
 HSPLcom/android/org/bouncycastle/jcajce/provider/util/AsymmetricAlgorithmProvider;->addSignatureAlgorithm(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/util/AsymmetricAlgorithmProvider;->registerOid(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;Lcom/android/org/bouncycastle/jcajce/provider/util/AsymmetricKeyInfoConverter;)V
 HSPLcom/android/org/bouncycastle/jcajce/provider/util/AsymmetricAlgorithmProvider;->registerOidAlgorithmParameterGenerator(Lcom/android/org/bouncycastle/jcajce/provider/config/ConfigurableProvider;Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)V
-HSPLcom/android/org/bouncycastle/jcajce/util/DefaultJcaJceHelper;->createCertificateFactory(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
-HSPLcom/android/org/bouncycastle/jcajce/util/JcaJceHelper;->createAlgorithmParameterGenerator(Ljava/lang/String;)Ljava/security/AlgorithmParameterGenerator;
-HSPLcom/android/org/bouncycastle/jcajce/util/JcaJceHelper;->createAlgorithmParameters(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
-HSPLcom/android/org/bouncycastle/jcajce/util/JcaJceHelper;->createCertificateFactory(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
-HSPLcom/android/org/bouncycastle/jcajce/util/JcaJceHelper;->createCipher(Ljava/lang/String;)Ljavax/crypto/Cipher;
-HSPLcom/android/org/bouncycastle/jcajce/util/JcaJceHelper;->createDigest(Ljava/lang/String;)Ljava/security/MessageDigest;
-HSPLcom/android/org/bouncycastle/jcajce/util/JcaJceHelper;->createKeyAgreement(Ljava/lang/String;)Ljavax/crypto/KeyAgreement;
-HSPLcom/android/org/bouncycastle/jcajce/util/JcaJceHelper;->createKeyFactory(Ljava/lang/String;)Ljava/security/KeyFactory;
-HSPLcom/android/org/bouncycastle/jcajce/util/JcaJceHelper;->createKeyGenerator(Ljava/lang/String;)Ljavax/crypto/KeyGenerator;
-HSPLcom/android/org/bouncycastle/jcajce/util/JcaJceHelper;->createKeyPairGenerator(Ljava/lang/String;)Ljava/security/KeyPairGenerator;
-HSPLcom/android/org/bouncycastle/jcajce/util/JcaJceHelper;->createMac(Ljava/lang/String;)Ljavax/crypto/Mac;
-HSPLcom/android/org/bouncycastle/jcajce/util/JcaJceHelper;->createSecretKeyFactory(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
-HSPLcom/android/org/bouncycastle/jcajce/util/JcaJceHelper;->createSecureRandom(Ljava/lang/String;)Ljava/security/SecureRandom;
-HSPLcom/android/org/bouncycastle/jcajce/util/JcaJceHelper;->createSignature(Ljava/lang/String;)Ljava/security/Signature;
 HSPLcom/android/org/bouncycastle/jce/X509Principal;-><init>([B)V
 HSPLcom/android/org/bouncycastle/jce/X509Principal;->readSequence(Lcom/android/org/bouncycastle/asn1/ASN1InputStream;)Lcom/android/org/bouncycastle/asn1/ASN1Sequence;
-HSPLcom/android/org/bouncycastle/jce/interfaces/BCKeyStore;->setRandom(Ljava/security/SecureRandom;)V
 HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider$1;->run()Ljava/lang/Object;
 HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider;-><init>()V
 HSPLcom/android/org/bouncycastle/jce/provider/BouncyCastleProvider;->addAlgorithm(Ljava/lang/String;Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)V
@@ -44000,19 +36734,18 @@
 HSPLcom/android/org/bouncycastle/jce/provider/X509CertificateObject;-><init>(Lcom/android/org/bouncycastle/asn1/x509/Certificate;)V
 HSPLcom/android/org/bouncycastle/jce/provider/X509CertificateObject;->getEncoded()[B
 HSPLcom/android/org/bouncycastle/jce/provider/X509CertificateObject;->getExtensionBytes(Ljava/lang/String;)[B
-HSPLcom/android/org/bouncycastle/util/Arrays;->constantTimeAreEqual([B[B)Z
-HSPLcom/android/org/bouncycastle/util/Encodable;->getEncoded()[B
 HSPLcom/android/org/bouncycastle/util/Integers;->valueOf(I)Ljava/lang/Integer;
-HSPLcom/android/org/bouncycastle/util/Memoable;->copy()Lcom/android/org/bouncycastle/util/Memoable;
-HSPLcom/android/org/bouncycastle/util/Memoable;->reset(Lcom/android/org/bouncycastle/util/Memoable;)V
-HSPLcom/android/org/bouncycastle/util/Pack;->littleEndianToInt([BI)I
+HSPLcom/android/org/bouncycastle/util/Properties$1;->run()Ljava/lang/Object;
+HSPLcom/android/org/bouncycastle/util/Properties;->isOverrideSet(Ljava/lang/String;)Z
 HSPLcom/android/org/bouncycastle/util/Strings$1;-><init>()V
 HSPLcom/android/org/bouncycastle/util/Strings$1;->run()Ljava/lang/Object;
 HSPLcom/android/org/bouncycastle/util/Strings$1;->run()Ljava/lang/String;
 HSPLcom/android/org/bouncycastle/util/Strings;->toLowerCase(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/org/bouncycastle/util/Strings;->toUTF8ByteArray([C)[B
-HSPLcom/android/org/bouncycastle/util/Strings;->toUTF8ByteArray([CLjava/io/OutputStream;)V
 HSPLcom/android/org/bouncycastle/util/Strings;->toUpperCase(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/org/bouncycastle/util/encoders/Hex;->decode(Ljava/lang/String;)[B
+HSPLcom/android/org/bouncycastle/util/encoders/HexEncoder;-><init>()V
+HSPLcom/android/org/bouncycastle/util/encoders/HexEncoder;->decode(Ljava/lang/String;Ljava/io/OutputStream;)I
+HSPLcom/android/org/bouncycastle/util/encoders/HexEncoder;->initialiseDecodingTable()V
 HSPLcom/android/org/bouncycastle/x509/X509Util;->calculateSignature(Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;Ljava/security/PrivateKey;Ljava/security/SecureRandom;Lcom/android/org/bouncycastle/asn1/ASN1Encodable;)[B
 HSPLcom/android/org/bouncycastle/x509/X509Util;->creatPSSParams(Lcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;I)Lcom/android/org/bouncycastle/asn1/pkcs/RSASSAPSSparams;
 HSPLcom/android/org/bouncycastle/x509/X509Util;->getSigAlgID(Lcom/android/org/bouncycastle/asn1/ASN1ObjectIdentifier;Ljava/lang/String;)Lcom/android/org/bouncycastle/asn1/x509/AlgorithmIdentifier;
@@ -44027,493 +36760,76 @@
 HSPLcom/android/org/bouncycastle/x509/X509V3CertificateGenerator;->setSerialNumber(Ljava/math/BigInteger;)V
 HSPLcom/android/org/bouncycastle/x509/X509V3CertificateGenerator;->setSignatureAlgorithm(Ljava/lang/String;)V
 HSPLcom/android/org/bouncycastle/x509/X509V3CertificateGenerator;->setSubjectDN(Ljavax/security/auth/x500/X500Principal;)V
-HSPLcom/android/org/conscrypt/AbstractConscryptSocket;->getAlpnSelectedProtocol()[B
-HSPLcom/android/org/conscrypt/AbstractConscryptSocket;->getApplicationProtocol()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/AbstractConscryptSocket;->getApplicationProtocols()[Ljava/lang/String;
-HSPLcom/android/org/conscrypt/AbstractConscryptSocket;->getHandshakeApplicationProtocol()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/AbstractConscryptSocket;->getTlsUnique()[B
-HSPLcom/android/org/conscrypt/AbstractConscryptSocket;->peerInfoProvider()Lcom/android/org/conscrypt/PeerInfoProvider;
-HSPLcom/android/org/conscrypt/AbstractConscryptSocket;->setAlpnProtocols([B)V
-HSPLcom/android/org/conscrypt/AbstractConscryptSocket;->setAlpnProtocols([Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/AbstractConscryptSocket;->setApplicationProtocolSelector(Lcom/android/org/conscrypt/ApplicationProtocolSelector;)V
-HSPLcom/android/org/conscrypt/AbstractConscryptSocket;->setApplicationProtocols([Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/AbstractSessionContext$1;->removeEldestEntry(Ljava/util/Map$Entry;)Z
-HSPLcom/android/org/conscrypt/AbstractSessionContext;->cacheSession(Lcom/android/org/conscrypt/NativeSslSession;)V
-HSPLcom/android/org/conscrypt/AbstractSessionContext;->finalize()V
-HSPLcom/android/org/conscrypt/AbstractSessionContext;->setSessionCacheSize(I)V
-HSPLcom/android/org/conscrypt/AbstractSessionContext;->setSessionTimeout(I)V
-HSPLcom/android/org/conscrypt/ActiveSession;->configurePeer(Ljava/lang/String;I[Ljava/security/cert/X509Certificate;)V
-HSPLcom/android/org/conscrypt/ActiveSession;->getCipherSuite()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/ActiveSession;->getCreationTime()J
-HSPLcom/android/org/conscrypt/ActiveSession;->getId()[B
-HSPLcom/android/org/conscrypt/ActiveSession;->getLastAccessedTime()J
-HSPLcom/android/org/conscrypt/ActiveSession;->getLocalCertificates()[Ljava/security/cert/Certificate;
-HSPLcom/android/org/conscrypt/ActiveSession;->getLocalPrincipal()Ljava/security/Principal;
-HSPLcom/android/org/conscrypt/ActiveSession;->getPeerCertificates()[Ljava/security/cert/X509Certificate;
-HSPLcom/android/org/conscrypt/ActiveSession;->getPeerHost()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/ActiveSession;->getPeerPort()I
-HSPLcom/android/org/conscrypt/ActiveSession;->getPeerSignedCertificateTimestamp()[B
-HSPLcom/android/org/conscrypt/ActiveSession;->getProtocol()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/ActiveSession;->getRequestedServerName()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/ActiveSession;->getSessionContext()Ljavax/net/ssl/SSLSessionContext;
-HSPLcom/android/org/conscrypt/ActiveSession;->getStatusResponses()Ljava/util/List;
-HSPLcom/android/org/conscrypt/ActiveSession;->isValid()Z
-HSPLcom/android/org/conscrypt/ActiveSession;->onPeerCertificateAvailable(Ljava/lang/String;I)V
-HSPLcom/android/org/conscrypt/ArrayUtils;->checkOffsetAndCount(III)V
-HSPLcom/android/org/conscrypt/ByteArray;->hashCode()I
-HSPLcom/android/org/conscrypt/CertBlacklist;->closeQuietly(Ljava/io/Closeable;)V
-HSPLcom/android/org/conscrypt/CertBlacklist;->getDefault()Lcom/android/org/conscrypt/CertBlacklist;
-HSPLcom/android/org/conscrypt/CertBlacklist;->isHex(Ljava/lang/String;)Z
-HSPLcom/android/org/conscrypt/CertBlacklist;->isPubkeyHash(Ljava/lang/String;)Z
-HSPLcom/android/org/conscrypt/CertBlacklist;->isPublicKeyBlackListed(Ljava/security/PublicKey;)Z
-HSPLcom/android/org/conscrypt/CertBlacklist;->readBlacklist(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/org/conscrypt/CertBlacklist;->readFileAsBytes(Ljava/lang/String;)Ljava/io/ByteArrayOutputStream;
-HSPLcom/android/org/conscrypt/CertBlacklist;->readPublicKeyBlackList(Ljava/lang/String;)Ljava/util/Set;
-HSPLcom/android/org/conscrypt/CertBlacklist;->readSerialBlackList(Ljava/lang/String;)Ljava/util/Set;
-HSPLcom/android/org/conscrypt/CertBlacklist;->toHex([B)[B
-HSPLcom/android/org/conscrypt/CertificatePriorityComparator;-><init>()V
-HSPLcom/android/org/conscrypt/ChainStrengthAnalyzer;->check(Ljava/util/List;)V
-HSPLcom/android/org/conscrypt/ChainStrengthAnalyzer;->checkKeyLength(Ljava/security/cert/X509Certificate;)V
-HSPLcom/android/org/conscrypt/ChainStrengthAnalyzer;->checkSignatureAlgorithm(Ljava/security/cert/X509Certificate;)V
-HSPLcom/android/org/conscrypt/ClientSessionContext$HostAndPort;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/org/conscrypt/ClientSessionContext$HostAndPort;->hashCode()I
-HSPLcom/android/org/conscrypt/ClientSessionContext;->getCachedSession(Ljava/lang/String;ILcom/android/org/conscrypt/SSLParametersImpl;)Lcom/android/org/conscrypt/NativeSslSession;
-HSPLcom/android/org/conscrypt/ClientSessionContext;->getSession(Ljava/lang/String;I)Lcom/android/org/conscrypt/NativeSslSession;
-HSPLcom/android/org/conscrypt/ClientSessionContext;->onBeforeAddSession(Lcom/android/org/conscrypt/NativeSslSession;)V
-HSPLcom/android/org/conscrypt/ClientSessionContext;->onBeforeRemoveSession(Lcom/android/org/conscrypt/NativeSslSession;)V
-HSPLcom/android/org/conscrypt/ClientSessionContext;->setPersistentCache(Lcom/android/org/conscrypt/SSLClientSessionCache;)V
-HSPLcom/android/org/conscrypt/Conscrypt;->newPreferredSSLContextSpi()Ljavax/net/ssl/SSLContextSpi;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket$1;->provideSession()Lcom/android/org/conscrypt/ConscryptSession;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket$2;->provideSession()Lcom/android/org/conscrypt/ConscryptSession;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket$SSLInputStream;->awaitPendingOps()V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket$SSLInputStream;->read()I
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket$SSLInputStream;->read([BII)I
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket$SSLOutputStream;->awaitPendingOps()V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket$SSLOutputStream;->write([BII)V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;-><init>(Ljava/lang/String;ILcom/android/org/conscrypt/SSLParametersImpl;)V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;-><init>(Ljava/net/Socket;Ljava/lang/String;IZLcom/android/org/conscrypt/SSLParametersImpl;)V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->chooseClientAlias(Ljavax/net/ssl/X509KeyManager;[Ljavax/security/auth/x500/X500Principal;[Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->clientCertificateRequested([B[[B)V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->close()V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->finalize()V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->getActiveSession()Ljavax/net/ssl/SSLSession;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->getApplicationProtocol()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->getEnabledCipherSuites()[Ljava/lang/String;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->getEnabledProtocols()[Ljava/lang/String;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->getHandshakeSession()Ljavax/net/ssl/SSLSession;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->getInputStream()Ljava/io/InputStream;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->getNeedClientAuth()Z
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->getOutputStream()Ljava/io/OutputStream;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->getSSLParameters()Ljavax/net/ssl/SSLParameters;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->getSession()Ljavax/net/ssl/SSLSession;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->getSupportedCipherSuites()[Ljava/lang/String;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->getSupportedProtocols()[Ljava/lang/String;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->getWantClientAuth()Z
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->onNewSessionEstablished(J)V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->onSSLStateChange(II)V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->provideHandshakeSession()Lcom/android/org/conscrypt/ConscryptSession;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->provideSession()Lcom/android/org/conscrypt/ConscryptSession;
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->setApplicationProtocols([Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->setChannelIdPrivateKey(Ljava/security/PrivateKey;)V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->setEnabledCipherSuites([Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->setEnabledProtocols([Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->setHandshakeTimeout(I)V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->setHostname(Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->setUseSessionTickets(Z)V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->shutdownAndFreeSslNative()V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->startHandshake()V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->transitionTo(I)V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->verifyCertificateChain([[BLjava/lang/String;)V
-HSPLcom/android/org/conscrypt/ConscryptFileDescriptorSocket;->waitForHandshake()V
-HSPLcom/android/org/conscrypt/ConscryptSession;->getPeerCertificates()[Ljava/security/cert/X509Certificate;
-HSPLcom/android/org/conscrypt/ConscryptSession;->getPeerSignedCertificateTimestamp()[B
-HSPLcom/android/org/conscrypt/ConscryptSession;->getRequestedServerName()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/ConscryptSession;->getStatusResponses()Ljava/util/List;
-HSPLcom/android/org/conscrypt/ConscryptSocketBase;-><init>(Ljava/net/Socket;Ljava/lang/String;IZ)V
-HSPLcom/android/org/conscrypt/ConscryptSocketBase;->close()V
-HSPLcom/android/org/conscrypt/ConscryptSocketBase;->connect(Ljava/net/SocketAddress;)V
-HSPLcom/android/org/conscrypt/ConscryptSocketBase;->connect(Ljava/net/SocketAddress;I)V
-HSPLcom/android/org/conscrypt/ConscryptSocketBase;->getActiveSession()Ljavax/net/ssl/SSLSession;
-HSPLcom/android/org/conscrypt/ConscryptSocketBase;->getPort()I
-HSPLcom/android/org/conscrypt/ConscryptSocketBase;->getSoTimeout()I
-HSPLcom/android/org/conscrypt/ConscryptSocketBase;->notifyHandshakeCompletedListeners()V
-HSPLcom/android/org/conscrypt/ConscryptSocketBase;->setApplicationProtocolSelector(Lcom/android/org/conscrypt/ApplicationProtocolSelectorAdapter;)V
-HSPLcom/android/org/conscrypt/ConscryptSocketBase;->setSoTimeout(I)V
-HSPLcom/android/org/conscrypt/DefaultSSLContextImpl;-><init>()V
-HSPLcom/android/org/conscrypt/DefaultSSLContextImpl;->getKeyManagers()[Ljavax/net/ssl/KeyManager;
-HSPLcom/android/org/conscrypt/DefaultSSLContextImpl;->getTrustManagers()[Ljavax/net/ssl/TrustManager;
-HSPLcom/android/org/conscrypt/ExternalSession$Provider;->provideSession()Lcom/android/org/conscrypt/ConscryptSession;
-HSPLcom/android/org/conscrypt/ExternalSession;->getCipherSuite()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/ExternalSession;->getLocalCertificates()[Ljava/security/cert/Certificate;
-HSPLcom/android/org/conscrypt/ExternalSession;->getLocalPrincipal()Ljava/security/Principal;
-HSPLcom/android/org/conscrypt/ExternalSession;->getPeerCertificates()[Ljava/security/cert/X509Certificate;
-HSPLcom/android/org/conscrypt/ExternalSession;->getPeerHost()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/ExternalSession;->getPeerSignedCertificateTimestamp()[B
-HSPLcom/android/org/conscrypt/ExternalSession;->getProtocol()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/ExternalSession;->getStatusResponses()Ljava/util/List;
-HSPLcom/android/org/conscrypt/FileClientSessionCache$Impl;-><init>(Ljava/io/File;)V
-HSPLcom/android/org/conscrypt/FileClientSessionCache$Impl;->fileName(Ljava/lang/String;I)Ljava/lang/String;
-HSPLcom/android/org/conscrypt/FileClientSessionCache$Impl;->getSessionData(Ljava/lang/String;I)[B
-HSPLcom/android/org/conscrypt/FileClientSessionCache$Impl;->putSessionData(Ljavax/net/ssl/SSLSession;[B)V
-HSPLcom/android/org/conscrypt/FileClientSessionCache;->usingDirectory(Ljava/io/File;)Lcom/android/org/conscrypt/SSLClientSessionCache;
-HSPLcom/android/org/conscrypt/Hex;->intToHexString(II)Ljava/lang/String;
-HSPLcom/android/org/conscrypt/InternalUtil;->logKeyToPublicKey([B)Ljava/security/PublicKey;
-HSPLcom/android/org/conscrypt/JSSEProvider;-><init>()V
-HSPLcom/android/org/conscrypt/Java7ExtendedSSLSession;->getCipherSuite()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/Java7ExtendedSSLSession;->getLocalCertificates()[Ljava/security/cert/Certificate;
-HSPLcom/android/org/conscrypt/Java7ExtendedSSLSession;->getLocalPrincipal()Ljava/security/Principal;
-HSPLcom/android/org/conscrypt/Java7ExtendedSSLSession;->getPeerCertificates()[Ljava/security/cert/Certificate;
-HSPLcom/android/org/conscrypt/Java7ExtendedSSLSession;->getPeerCertificates()[Ljava/security/cert/X509Certificate;
-HSPLcom/android/org/conscrypt/Java7ExtendedSSLSession;->getPeerHost()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/Java7ExtendedSSLSession;->getPeerSignedCertificateTimestamp()[B
-HSPLcom/android/org/conscrypt/Java7ExtendedSSLSession;->getProtocol()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/Java7ExtendedSSLSession;->getStatusResponses()Ljava/util/List;
-HSPLcom/android/org/conscrypt/KeyGeneratorImpl$AES;-><init>()V
-HSPLcom/android/org/conscrypt/KeyGeneratorImpl$HmacSHA1;-><init>()V
-HSPLcom/android/org/conscrypt/KeyGeneratorImpl;->doKeyGeneration(I)[B
-HSPLcom/android/org/conscrypt/KeyGeneratorImpl;->engineGenerateKey()Ljavax/crypto/SecretKey;
-HSPLcom/android/org/conscrypt/KeyManagerFactoryImpl;-><init>()V
-HSPLcom/android/org/conscrypt/KeyManagerFactoryImpl;->engineGetKeyManagers()[Ljavax/net/ssl/KeyManager;
-HSPLcom/android/org/conscrypt/KeyManagerFactoryImpl;->engineInit(Ljava/security/KeyStore;[C)V
-HSPLcom/android/org/conscrypt/KeyManagerImpl;-><init>(Ljava/security/KeyStore;[C)V
-HSPLcom/android/org/conscrypt/KeyManagerImpl;->chooseAlias([Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;
-HSPLcom/android/org/conscrypt/KeyManagerImpl;->chooseClientAlias([Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;
-HSPLcom/android/org/conscrypt/NativeCrypto$SSLHandshakeCallbacks;->clientCertificateRequested([B[[B)V
-HSPLcom/android/org/conscrypt/NativeCrypto$SSLHandshakeCallbacks;->clientPSKKeyRequested(Ljava/lang/String;[B[B)I
-HSPLcom/android/org/conscrypt/NativeCrypto$SSLHandshakeCallbacks;->onNewSessionEstablished(J)V
-HSPLcom/android/org/conscrypt/NativeCrypto$SSLHandshakeCallbacks;->onSSLStateChange(II)V
-HSPLcom/android/org/conscrypt/NativeCrypto$SSLHandshakeCallbacks;->serverPSKKeyRequested(Ljava/lang/String;Ljava/lang/String;[B)I
-HSPLcom/android/org/conscrypt/NativeCrypto$SSLHandshakeCallbacks;->serverSessionRequested([B)J
-HSPLcom/android/org/conscrypt/NativeCrypto$SSLHandshakeCallbacks;->verifyCertificateChain([[BLjava/lang/String;)V
-HSPLcom/android/org/conscrypt/NativeCrypto;->X509_NAME_hash(Ljavax/security/auth/x500/X500Principal;Ljava/lang/String;)I
-HSPLcom/android/org/conscrypt/NativeCrypto;->X509_NAME_hash_old(Ljavax/security/auth/x500/X500Principal;)I
-HSPLcom/android/org/conscrypt/NativeCrypto;->checkAvailability()V
-HSPLcom/android/org/conscrypt/NativeCrypto;->checkEnabledCipherSuites([Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/org/conscrypt/NativeCrypto;->checkEnabledProtocols([Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/org/conscrypt/NativeCrypto;->cipherSuiteToJava(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/org/conscrypt/NativeCrypto;->setEnabledCipherSuites(JLcom/android/org/conscrypt/NativeSsl;[Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/NativeCrypto;->setEnabledProtocols(JLcom/android/org/conscrypt/NativeSsl;[Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/NativeCryptoJni;->init()V
-HSPLcom/android/org/conscrypt/NativeRef$EC_GROUP;->doFree(J)V
-HSPLcom/android/org/conscrypt/NativeRef$EC_POINT;->doFree(J)V
-HSPLcom/android/org/conscrypt/NativeRef$EVP_CIPHER_CTX;->doFree(J)V
-HSPLcom/android/org/conscrypt/NativeRef$EVP_MD_CTX;->doFree(J)V
-HSPLcom/android/org/conscrypt/NativeRef$EVP_PKEY;->doFree(J)V
-HSPLcom/android/org/conscrypt/NativeRef$HMAC_CTX;->doFree(J)V
-HSPLcom/android/org/conscrypt/NativeRef$SSL_SESSION;-><init>(J)V
-HSPLcom/android/org/conscrypt/NativeRef$SSL_SESSION;->doFree(J)V
-HSPLcom/android/org/conscrypt/NativeRef;->finalize()V
-HSPLcom/android/org/conscrypt/NativeSsl;->chooseClientCertificate([B[[B)V
-HSPLcom/android/org/conscrypt/NativeSsl;->close()V
-HSPLcom/android/org/conscrypt/NativeSsl;->doHandshake(Ljava/io/FileDescriptor;I)V
-HSPLcom/android/org/conscrypt/NativeSsl;->enablePSKKeyManagerIfRequested()V
-HSPLcom/android/org/conscrypt/NativeSsl;->finalize()V
-HSPLcom/android/org/conscrypt/NativeSsl;->initialize(Ljava/lang/String;Lcom/android/org/conscrypt/OpenSSLKey;)V
-HSPLcom/android/org/conscrypt/NativeSsl;->read(Ljava/io/FileDescriptor;[BIII)I
-HSPLcom/android/org/conscrypt/NativeSsl;->setCertificate(Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/NativeSsl;->setCertificateValidation()V
-HSPLcom/android/org/conscrypt/NativeSsl;->setTlsChannelId(Lcom/android/org/conscrypt/OpenSSLKey;)V
-HSPLcom/android/org/conscrypt/NativeSsl;->write(Ljava/io/FileDescriptor;[BIII)V
-HSPLcom/android/org/conscrypt/NativeSslSession$Impl$1;->getPeerHost()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/NativeSslSession$Impl$1;->getPeerPort()I
-HSPLcom/android/org/conscrypt/NativeSslSession$Impl;-><init>(Lcom/android/org/conscrypt/AbstractSessionContext;Lcom/android/org/conscrypt/NativeRef$SSL_SESSION;Ljava/lang/String;I[Ljava/security/cert/X509Certificate;[B[B)V
-HSPLcom/android/org/conscrypt/NativeSslSession$Impl;->getCipherSuite()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/NativeSslSession$Impl;->getId()[B
-HSPLcom/android/org/conscrypt/NativeSslSession$Impl;->getPeerHost()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/NativeSslSession$Impl;->getPeerPort()I
-HSPLcom/android/org/conscrypt/NativeSslSession$Impl;->getProtocol()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/NativeSslSession$Impl;->isValid()Z
-HSPLcom/android/org/conscrypt/NativeSslSession$Impl;->offerToResume(Lcom/android/org/conscrypt/NativeSsl;)V
-HSPLcom/android/org/conscrypt/NativeSslSession$Impl;->toBytes()[B
-HSPLcom/android/org/conscrypt/NativeSslSession$Impl;->toSSLSession()Ljavax/net/ssl/SSLSession;
-HSPLcom/android/org/conscrypt/NativeSslSession;->checkRemaining(Ljava/nio/ByteBuffer;I)V
-HSPLcom/android/org/conscrypt/NativeSslSession;->getCipherSuite()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/NativeSslSession;->getId()[B
-HSPLcom/android/org/conscrypt/NativeSslSession;->getPeerHost()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/NativeSslSession;->getPeerOcspStapledResponse()[B
-HSPLcom/android/org/conscrypt/NativeSslSession;->getPeerPort()I
-HSPLcom/android/org/conscrypt/NativeSslSession;->getPeerSignedCertificateTimestamp()[B
-HSPLcom/android/org/conscrypt/NativeSslSession;->getProtocol()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/NativeSslSession;->isValid()Z
-HSPLcom/android/org/conscrypt/NativeSslSession;->newInstance(Lcom/android/org/conscrypt/AbstractSessionContext;[BLjava/lang/String;I)Lcom/android/org/conscrypt/NativeSslSession;
-HSPLcom/android/org/conscrypt/NativeSslSession;->newInstance(Lcom/android/org/conscrypt/NativeRef$SSL_SESSION;Lcom/android/org/conscrypt/ConscryptSession;)Lcom/android/org/conscrypt/NativeSslSession;
-HSPLcom/android/org/conscrypt/NativeSslSession;->offerToResume(Lcom/android/org/conscrypt/NativeSsl;)V
-HSPLcom/android/org/conscrypt/NativeSslSession;->toBytes()[B
-HSPLcom/android/org/conscrypt/NativeSslSession;->toSSLSession()Ljavax/net/ssl/SSLSession;
-HSPLcom/android/org/conscrypt/OpenSSLBIOInputStream;->gets([B)I
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_AEAD$AES$GCM;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_AEAD$AES$GCM;->getEVP_AEAD(I)J
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_AEAD$AES;->checkSupportedKeySize(I)V
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_AEAD$AES;->getCipherBlockSize()I
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_AEAD;->doFinalInternal([BII)I
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_AEAD;->engineInitInternal([BLjava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_AEAD;->getEVP_AEAD(I)J
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_AEAD;->getOutputSizeForFinal(I)I
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_AEAD;->reset()V
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_AEAD;->updateInternal([BII[BII)I
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER$AES$CBC$NoPadding;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER$AES$CBC$PKCS5Padding;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER$AES$CTR;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER$AES$ECB$PKCS5Padding;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER$AES;->checkSupportedKeySize(I)V
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER$AES_BASE;->getCipherBlockSize()I
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER$AES_BASE;->getCipherName(ILcom/android/org/conscrypt/OpenSSLCipher$Mode;)Ljava/lang/String;
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER;->doFinalInternal([BII)I
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER;->engineInitInternal([BLjava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER;->getCipherName(ILcom/android/org/conscrypt/OpenSSLCipher$Mode;)Ljava/lang/String;
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER;->getOutputSizeForFinal(I)I
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER;->getOutputSizeForUpdate(I)I
-HSPLcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER;->updateInternal([BII[BII)I
-HSPLcom/android/org/conscrypt/OpenSSLCipher$Mode;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/org/conscrypt/OpenSSLCipher$Padding;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->checkAndSetEncodedKey(ILjava/security/Key;)[B
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->checkSupportedKeySize(I)V
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->checkSupportedMode(Lcom/android/org/conscrypt/OpenSSLCipher$Mode;)V
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->checkSupportedPadding(Lcom/android/org/conscrypt/OpenSSLCipher$Padding;)V
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->doFinalInternal([BII)I
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->engineDoFinal([BII)[B
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->engineDoFinal([BII[BI)I
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->engineGetBlockSize()I
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->engineGetIV()[B
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->engineGetOutputSize(I)I
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->engineInit(ILjava/security/Key;Ljava/security/SecureRandom;)V
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->engineInit(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->engineInitInternal([BLjava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->engineUpdate([BII)[B
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->engineUpdate([BII[BI)I
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->getBaseCipherName()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->getCipherBlockSize()I
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->getOutputSizeForFinal(I)I
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->getOutputSizeForUpdate(I)I
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->getPadding()Lcom/android/org/conscrypt/OpenSSLCipher$Padding;
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->isEncrypting()Z
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->supportsVariableSizeKey()Z
-HSPLcom/android/org/conscrypt/OpenSSLCipher;->updateInternal([BII[BII)I
-HSPLcom/android/org/conscrypt/OpenSSLContextImpl$TLSv12;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLContextImpl$TLSv1;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLContextImpl;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLContextImpl;->engineGetClientSessionContext()Lcom/android/org/conscrypt/ClientSessionContext;
-HSPLcom/android/org/conscrypt/OpenSSLContextImpl;->engineGetClientSessionContext()Ljavax/net/ssl/SSLSessionContext;
-HSPLcom/android/org/conscrypt/OpenSSLContextImpl;->engineGetSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
-HSPLcom/android/org/conscrypt/OpenSSLContextImpl;->engineInit([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
-HSPLcom/android/org/conscrypt/OpenSSLECGroupContext;->getECParameterSpec()Ljava/security/spec/ECParameterSpec;
-HSPLcom/android/org/conscrypt/OpenSSLECKeyFactory;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLECKeyFactory;->engineGeneratePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
-HSPLcom/android/org/conscrypt/OpenSSLECPointContext;->getECPoint()Ljava/security/spec/ECPoint;
-HSPLcom/android/org/conscrypt/OpenSSLECPublicKey;->getAlgorithm()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/OpenSSLECPublicKey;->getEncoded()[B
-HSPLcom/android/org/conscrypt/OpenSSLECPublicKey;->getParams()Ljava/security/spec/ECParameterSpec;
-HSPLcom/android/org/conscrypt/OpenSSLKey;-><init>(J)V
-HSPLcom/android/org/conscrypt/OpenSSLKey;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/org/conscrypt/OpenSSLKey;->fromPrivateKey(Ljava/security/PrivateKey;)Lcom/android/org/conscrypt/OpenSSLKey;
-HSPLcom/android/org/conscrypt/OpenSSLKey;->fromPublicKey(Ljava/security/PublicKey;)Lcom/android/org/conscrypt/OpenSSLKey;
-HSPLcom/android/org/conscrypt/OpenSSLKey;->getPrivateKey()Ljava/security/PrivateKey;
-HSPLcom/android/org/conscrypt/OpenSSLKey;->getPrivateKey(Ljava/security/spec/PKCS8EncodedKeySpec;I)Ljava/security/PrivateKey;
-HSPLcom/android/org/conscrypt/OpenSSLKey;->getPublicKey()Ljava/security/PublicKey;
-HSPLcom/android/org/conscrypt/OpenSSLKey;->getPublicKey(Ljava/security/spec/X509EncodedKeySpec;I)Ljava/security/PublicKey;
-HSPLcom/android/org/conscrypt/OpenSSLMac$HmacMD5;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLMac$HmacSHA1;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLMac$HmacSHA256;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLMac;->engineDoFinal()[B
-HSPLcom/android/org/conscrypt/OpenSSLMac;->engineGetMacLength()I
-HSPLcom/android/org/conscrypt/OpenSSLMac;->engineInit(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
-HSPLcom/android/org/conscrypt/OpenSSLMac;->engineReset()V
-HSPLcom/android/org/conscrypt/OpenSSLMac;->engineUpdate([BII)V
-HSPLcom/android/org/conscrypt/OpenSSLMessageDigestJDK$MD5;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLMessageDigestJDK$SHA1;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLMessageDigestJDK$SHA256;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLMessageDigestJDK;->clone()Ljava/lang/Object;
-HSPLcom/android/org/conscrypt/OpenSSLMessageDigestJDK;->engineDigest()[B
-HSPLcom/android/org/conscrypt/OpenSSLMessageDigestJDK;->engineGetDigestLength()I
-HSPLcom/android/org/conscrypt/OpenSSLMessageDigestJDK;->engineReset()V
-HSPLcom/android/org/conscrypt/OpenSSLMessageDigestJDK;->engineUpdate(B)V
-HSPLcom/android/org/conscrypt/OpenSSLMessageDigestJDK;->engineUpdate([BII)V
-HSPLcom/android/org/conscrypt/OpenSSLProvider;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLProvider;-><init>(Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/OpenSSLProvider;->putECDHKeyAgreementImplClass(Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/OpenSSLProvider;->putImplClassWithKeyConstraints(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/OpenSSLProvider;->putMacImplClass(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/OpenSSLProvider;->putRAWRSASignatureImplClass(Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/OpenSSLProvider;->putRSACipherImplClass(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/OpenSSLProvider;->putSignatureImplClass(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/OpenSSLProvider;->putSymmetricCipherImplClass(Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/OpenSSLRSAKeyFactory;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLRSAKeyFactory;->engineGeneratePrivate(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
-HSPLcom/android/org/conscrypt/OpenSSLRSAKeyFactory;->engineGeneratePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
-HSPLcom/android/org/conscrypt/OpenSSLRSAKeyPairGenerator;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLRSAKeyPairGenerator;->generateKeyPair()Ljava/security/KeyPair;
-HSPLcom/android/org/conscrypt/OpenSSLRSAKeyPairGenerator;->initialize(ILjava/security/SecureRandom;)V
-HSPLcom/android/org/conscrypt/OpenSSLRSAPrivateCrtKey;->readParams([[B)V
-HSPLcom/android/org/conscrypt/OpenSSLRSAPrivateKey;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/org/conscrypt/OpenSSLRSAPrivateKey;->getEncoded()[B
-HSPLcom/android/org/conscrypt/OpenSSLRSAPrivateKey;->getFormat()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/OpenSSLRSAPrivateKey;->getOpenSSLKey()Lcom/android/org/conscrypt/OpenSSLKey;
-HSPLcom/android/org/conscrypt/OpenSSLRSAPrivateKey;->readParams([[B)V
-HSPLcom/android/org/conscrypt/OpenSSLRSAPublicKey;->ensureReadParams()V
-HSPLcom/android/org/conscrypt/OpenSSLRSAPublicKey;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/org/conscrypt/OpenSSLRSAPublicKey;->getAlgorithm()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/OpenSSLRSAPublicKey;->getEncoded()[B
-HSPLcom/android/org/conscrypt/OpenSSLRSAPublicKey;->getFormat()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/OpenSSLRSAPublicKey;->getModulus()Ljava/math/BigInteger;
-HSPLcom/android/org/conscrypt/OpenSSLRSAPublicKey;->getOpenSSLKey()Lcom/android/org/conscrypt/OpenSSLKey;
-HSPLcom/android/org/conscrypt/OpenSSLRSAPublicKey;->hashCode()I
-HSPLcom/android/org/conscrypt/OpenSSLRandom;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLRandom;->engineNextBytes([B)V
-HSPLcom/android/org/conscrypt/OpenSSLSignature$EngineType;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/org/conscrypt/OpenSSLSignature$EngineType;->values()[Lcom/android/org/conscrypt/OpenSSLSignature$EngineType;
-HSPLcom/android/org/conscrypt/OpenSSLSignature$RSAPKCS1Padding;->configureEVP_PKEY_CTX(J)V
-HSPLcom/android/org/conscrypt/OpenSSLSignature$SHA1RSA;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLSignature$SHA256RSA;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLSignature;->checkEngineType(Lcom/android/org/conscrypt/OpenSSLKey;)V
-HSPLcom/android/org/conscrypt/OpenSSLSignature;->engineInitSign(Ljava/security/PrivateKey;)V
-HSPLcom/android/org/conscrypt/OpenSSLSignature;->engineInitVerify(Ljava/security/PublicKey;)V
-HSPLcom/android/org/conscrypt/OpenSSLSignature;->engineSign()[B
-HSPLcom/android/org/conscrypt/OpenSSLSignature;->engineUpdate(Ljava/nio/ByteBuffer;)V
-HSPLcom/android/org/conscrypt/OpenSSLSignature;->engineUpdate([BII)V
-HSPLcom/android/org/conscrypt/OpenSSLSignature;->engineVerify([B)Z
-HSPLcom/android/org/conscrypt/OpenSSLSignature;->initInternal(Lcom/android/org/conscrypt/OpenSSLKey;Z)V
-HSPLcom/android/org/conscrypt/OpenSSLSignature;->resetContext()V
-HSPLcom/android/org/conscrypt/OpenSSLSocketFactoryImpl;->createSocket(Ljava/lang/String;I)Ljava/net/Socket;
-HSPLcom/android/org/conscrypt/OpenSSLSocketFactoryImpl;->createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;
-HSPLcom/android/org/conscrypt/OpenSSLSocketFactoryImpl;->hasFileDescriptor(Ljava/net/Socket;)Z
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->addHandshakeCompletedListener(Ljavax/net/ssl/HandshakeCompletedListener;)V
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->getAlpnSelectedProtocol()[B
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->getChannelId()[B
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->getFileDescriptor$()Ljava/io/FileDescriptor;
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->getHandshakeSession()Ljavax/net/ssl/SSLSession;
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->getHostname()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->getHostnameOrIP()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->getNpnSelectedProtocol()[B
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->getRemoteSocketAddress()Ljava/net/SocketAddress;
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->isBound()Z
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->isClosed()Z
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->isConnected()Z
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->isInputShutdown()Z
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->isOutputShutdown()Z
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->setAlpnProtocols([B)V
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->setChannelIdEnabled(Z)V
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->setChannelIdPrivateKey(Ljava/security/PrivateKey;)V
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->setNpnProtocols([B)V
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->setTcpNoDelay(Z)V
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->setUseSessionTickets(Z)V
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->shutdownInput()V
-HSPLcom/android/org/conscrypt/OpenSSLSocketImpl;->shutdownOutput()V
-HSPLcom/android/org/conscrypt/OpenSSLX509CertPath$Encoding;-><init>(Ljava/lang/String;ILjava/lang/String;)V
-HSPLcom/android/org/conscrypt/OpenSSLX509CertPath$Encoding;->access$000(Lcom/android/org/conscrypt/OpenSSLX509CertPath$Encoding;)Ljava/lang/String;
-HSPLcom/android/org/conscrypt/OpenSSLX509CertPath;->getCertificates()Ljava/util/List;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->alternativeNameArrayToList([[Ljava/lang/Object;)Ljava/util/Collection;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->checkValidity()V
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->checkValidity(Ljava/util/Date;)V
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->equals(Ljava/lang/Object;)Z
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->finalize()V
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->fromX509Der([B)Lcom/android/org/conscrypt/OpenSSLX509Certificate;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->fromX509DerInputStream(Ljava/io/InputStream;)Lcom/android/org/conscrypt/OpenSSLX509Certificate;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->fromX509PemInputStream(Ljava/io/InputStream;)Lcom/android/org/conscrypt/OpenSSLX509Certificate;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getBasicConstraints()I
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getCriticalExtensionOIDs()Ljava/util/Set;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getEncoded()[B
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getExtendedKeyUsage()Ljava/util/List;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getExtensionValue(Ljava/lang/String;)[B
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getIssuerDN()Ljava/security/Principal;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getIssuerX500Principal()Ljavax/security/auth/x500/X500Principal;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getKeyUsage()[Z
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getNotAfter()Ljava/util/Date;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getNotBefore()Ljava/util/Date;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getPublicKey()Ljava/security/PublicKey;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getSerialNumber()Ljava/math/BigInteger;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getSigAlgName()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getSigAlgOID()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getSubjectAlternativeNames()Ljava/util/Collection;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getSubjectDN()Ljava/security/Principal;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getSubjectX500Principal()Ljavax/security/auth/x500/X500Principal;
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getTBSCertificate()[B
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->getVersion()I
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->hasUnsupportedCriticalExtension()Z
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->hashCode()I
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->verify(Ljava/security/PublicKey;)V
-HSPLcom/android/org/conscrypt/OpenSSLX509Certificate;->verifyOpenSSL(Lcom/android/org/conscrypt/OpenSSLKey;)V
-HSPLcom/android/org/conscrypt/OpenSSLX509CertificateFactory$1;->fromX509DerInputStream(Ljava/io/InputStream;)Lcom/android/org/conscrypt/OpenSSLX509Certificate;
-HSPLcom/android/org/conscrypt/OpenSSLX509CertificateFactory$1;->fromX509DerInputStream(Ljava/io/InputStream;)Ljava/lang/Object;
-HSPLcom/android/org/conscrypt/OpenSSLX509CertificateFactory$1;->fromX509PemInputStream(Ljava/io/InputStream;)Lcom/android/org/conscrypt/OpenSSLX509Certificate;
-HSPLcom/android/org/conscrypt/OpenSSLX509CertificateFactory$1;->fromX509PemInputStream(Ljava/io/InputStream;)Ljava/lang/Object;
-HSPLcom/android/org/conscrypt/OpenSSLX509CertificateFactory$Parser;->generateItem(Ljava/io/InputStream;)Ljava/lang/Object;
-HSPLcom/android/org/conscrypt/OpenSSLX509CertificateFactory$Parser;->generateItems(Ljava/io/InputStream;)Ljava/util/Collection;
-HSPLcom/android/org/conscrypt/OpenSSLX509CertificateFactory;-><init>()V
-HSPLcom/android/org/conscrypt/OpenSSLX509CertificateFactory;->engineGenerateCertPath(Ljava/util/List;)Ljava/security/cert/CertPath;
-HSPLcom/android/org/conscrypt/OpenSSLX509CertificateFactory;->engineGenerateCertificate(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
-HSPLcom/android/org/conscrypt/OpenSSLX509CertificateFactory;->engineGenerateCertificates(Ljava/io/InputStream;)Ljava/util/Collection;
-HSPLcom/android/org/conscrypt/PeerInfoProvider$1;-><init>()V
-HSPLcom/android/org/conscrypt/PeerInfoProvider;->getHostname()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/PeerInfoProvider;->getHostnameOrIP()Ljava/lang/String;
-HSPLcom/android/org/conscrypt/PeerInfoProvider;->getPort()I
-HSPLcom/android/org/conscrypt/Platform;-><init>(Lcom/android/org/conscrypt/Platform$1;)V
-HSPLcom/android/org/conscrypt/Platform;->checkServerTrusted(Ljavax/net/ssl/X509TrustManager;[Ljava/security/cert/X509Certificate;Ljava/lang/String;Lcom/android/org/conscrypt/AbstractConscryptSocket;)V
-HSPLcom/android/org/conscrypt/Platform;->checkTrusted(Ljava/lang/String;Ljavax/net/ssl/X509TrustManager;[Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Object;)Z
-HSPLcom/android/org/conscrypt/Platform;->getFileDescriptorFromSSLSocket(Lcom/android/org/conscrypt/AbstractConscryptSocket;)Ljava/io/FileDescriptor;
-HSPLcom/android/org/conscrypt/Platform;->getSSLParameters(Ljavax/net/ssl/SSLParameters;Lcom/android/org/conscrypt/SSLParametersImpl;Lcom/android/org/conscrypt/AbstractConscryptSocket;)V
-HSPLcom/android/org/conscrypt/Platform;->oidToAlgorithmName(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/org/conscrypt/Platform;->setSocketWriteTimeout(Ljava/net/Socket;J)V
-HSPLcom/android/org/conscrypt/Platform;->setup()V
-HSPLcom/android/org/conscrypt/SSLClientSessionCache;->getSessionData(Ljava/lang/String;I)[B
-HSPLcom/android/org/conscrypt/SSLClientSessionCache;->putSessionData(Ljavax/net/ssl/SSLSession;[B)V
-HSPLcom/android/org/conscrypt/SSLParametersImpl$AliasChooser;->chooseClientAlias(Ljavax/net/ssl/X509KeyManager;[Ljavax/security/auth/x500/X500Principal;[Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/org/conscrypt/SSLParametersImpl$AliasChooser;->chooseServerAlias(Ljavax/net/ssl/X509KeyManager;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/org/conscrypt/SSLParametersImpl$PSKCallbacks;->chooseClientPSKIdentity(Lcom/android/org/conscrypt/PSKKeyManager;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/org/conscrypt/SSLParametersImpl$PSKCallbacks;->chooseServerPSKIdentityHint(Lcom/android/org/conscrypt/PSKKeyManager;)Ljava/lang/String;
-HSPLcom/android/org/conscrypt/SSLParametersImpl$PSKCallbacks;->getPSKKey(Lcom/android/org/conscrypt/PSKKeyManager;Ljava/lang/String;Ljava/lang/String;)Ljavax/crypto/SecretKey;
-HSPLcom/android/org/conscrypt/SSLParametersImpl;-><init>([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;Lcom/android/org/conscrypt/ClientSessionContext;Lcom/android/org/conscrypt/ServerSessionContext;[Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/SSLParametersImpl;->clone()Ljava/lang/Object;
-HSPLcom/android/org/conscrypt/SSLParametersImpl;->concat([[Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/org/conscrypt/SSLParametersImpl;->createDefaultX509KeyManager()Ljavax/net/ssl/X509KeyManager;
-HSPLcom/android/org/conscrypt/SSLParametersImpl;->createDefaultX509TrustManager()Ljavax/net/ssl/X509TrustManager;
-HSPLcom/android/org/conscrypt/SSLParametersImpl;->filterFromProtocols([Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/org/conscrypt/SSLParametersImpl;->getDefaultCipherSuites(ZZ)[Ljava/lang/String;
-HSPLcom/android/org/conscrypt/SSLParametersImpl;->isSniEnabledByDefault()Z
-HSPLcom/android/org/conscrypt/SSLParametersImpl;->setEnabledProtocols([Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/SSLUtils$SessionType;-><init>(Ljava/lang/String;II)V
-HSPLcom/android/org/conscrypt/SSLUtils;->decodeProtocols([B)[Ljava/lang/String;
-HSPLcom/android/org/conscrypt/SSLUtils;->encodeProtocols([Ljava/lang/String;)[B
-HSPLcom/android/org/conscrypt/SSLUtils;->getCertificateFactory()Ljava/security/cert/CertificateFactory;
-HSPLcom/android/org/conscrypt/SessionSnapshot;-><init>(Lcom/android/org/conscrypt/ConscryptSession;)V
-HSPLcom/android/org/conscrypt/TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker;->check(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
-HSPLcom/android/org/conscrypt/TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker;->init(Z)V
-HSPLcom/android/org/conscrypt/TrustManagerImpl$TrustAnchorComparator;-><init>(Lcom/android/org/conscrypt/TrustManagerImpl$1;)V
-HSPLcom/android/org/conscrypt/TrustManagerImpl;-><init>(Ljava/security/KeyStore;)V
-HSPLcom/android/org/conscrypt/TrustManagerImpl;-><init>(Ljava/security/KeyStore;Lcom/android/org/conscrypt/CertPinManager;Lcom/android/org/conscrypt/TrustedCertificateStore;)V
-HSPLcom/android/org/conscrypt/TrustManagerImpl;-><init>(Ljava/security/KeyStore;Lcom/android/org/conscrypt/CertPinManager;Lcom/android/org/conscrypt/TrustedCertificateStore;Lcom/android/org/conscrypt/CertBlacklist;Lcom/android/org/conscrypt/ct/CTLogStore;Lcom/android/org/conscrypt/ct/CTVerifier;Lcom/android/org/conscrypt/ct/CTPolicy;)V
-HSPLcom/android/org/conscrypt/TrustManagerImpl;->acceptedIssuers(Ljava/security/KeyStore;)[Ljava/security/cert/X509Certificate;
-HSPLcom/android/org/conscrypt/TrustManagerImpl;->checkBlacklist(Ljava/security/cert/X509Certificate;)V
-HSPLcom/android/org/conscrypt/TrustManagerImpl;->checkServerTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/org/conscrypt/TrustManagerImpl;->checkTrusted([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljavax/net/ssl/SSLSession;Ljavax/net/ssl/SSLParameters;Z)Ljava/util/List;
-HSPLcom/android/org/conscrypt/TrustManagerImpl;->checkTrusted([Ljava/security/cert/X509Certificate;[B[BLjava/lang/String;Ljava/lang/String;Z)Ljava/util/List;
-HSPLcom/android/org/conscrypt/TrustManagerImpl;->checkTrustedRecursive([Ljava/security/cert/X509Certificate;[B[BLjava/lang/String;ZLjava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/Set;)Ljava/util/List;
-HSPLcom/android/org/conscrypt/TrustManagerImpl;->findAllTrustAnchorsByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-HSPLcom/android/org/conscrypt/TrustManagerImpl;->getOcspDataFromSession(Ljavax/net/ssl/SSLSession;)[B
-HSPLcom/android/org/conscrypt/TrustManagerImpl;->getTlsSctDataFromSession(Ljavax/net/ssl/SSLSession;)[B
-HSPLcom/android/org/conscrypt/TrustManagerImpl;->getTrustedChainForServer([Ljava/security/cert/X509Certificate;Ljava/lang/String;Ljava/net/Socket;)Ljava/util/List;
-HSPLcom/android/org/conscrypt/TrustManagerImpl;->setOcspResponses(Ljava/security/cert/PKIXParameters;Ljava/security/cert/X509Certificate;[B)V
-HSPLcom/android/org/conscrypt/TrustManagerImpl;->verifyChain(Ljava/util/List;Ljava/util/List;Ljava/lang/String;Z[B[B)Ljava/util/List;
-HSPLcom/android/org/conscrypt/TrustedCertificateIndex;-><init>()V
-HSPLcom/android/org/conscrypt/TrustedCertificateIndex;->findAllByIssuerAndSignature(Ljava/security/cert/X509Certificate;)Ljava/util/Set;
-HSPLcom/android/org/conscrypt/TrustedCertificateIndex;->findBySubjectAndPublicKey(Ljava/security/cert/X509Certificate;)Ljava/security/cert/TrustAnchor;
-HSPLcom/android/org/conscrypt/TrustedCertificateIndex;->index(Ljava/security/cert/TrustAnchor;)V
-HSPLcom/android/org/conscrypt/TrustedCertificateIndex;->index(Ljava/security/cert/X509Certificate;)Ljava/security/cert/TrustAnchor;
-HSPLcom/android/org/conscrypt/TrustedCertificateKeyStoreSpi;-><init>()V
-HSPLcom/android/org/conscrypt/TrustedCertificateKeyStoreSpi;->engineGetCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;
-HSPLcom/android/org/conscrypt/TrustedCertificateKeyStoreSpi;->engineLoad(Ljava/io/InputStream;[C)V
-HSPLcom/android/org/conscrypt/TrustedCertificateStore$CertSelector;->match(Ljava/security/cert/X509Certificate;)Z
-HSPLcom/android/org/conscrypt/TrustedCertificateStore;-><init>()V
-HSPLcom/android/org/conscrypt/TrustedCertificateStore;->fileForAlias(Ljava/lang/String;)Ljava/io/File;
-HSPLcom/android/org/conscrypt/TrustedCertificateStore;->findCert(Ljava/io/File;Ljavax/security/auth/x500/X500Principal;Lcom/android/org/conscrypt/TrustedCertificateStore$CertSelector;Ljava/lang/Class;)Ljava/lang/Object;
-HSPLcom/android/org/conscrypt/TrustedCertificateStore;->getCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;
-HSPLcom/android/org/conscrypt/TrustedCertificateStore;->getCertificate(Ljava/lang/String;Z)Ljava/security/cert/Certificate;
-HSPLcom/android/org/conscrypt/TrustedCertificateStore;->getCertificateFile(Ljava/io/File;Ljava/security/cert/X509Certificate;)Ljava/io/File;
-HSPLcom/android/org/conscrypt/TrustedCertificateStore;->readCertificate(Ljava/io/File;)Ljava/security/cert/X509Certificate;
-HSPLcom/android/org/conscrypt/TrustedCertificateStore;->setDefaultUserDirectory(Ljava/io/File;)V
-HSPLcom/android/org/conscrypt/ct/CTLogInfo;-><init>(Ljava/security/PublicKey;Ljava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/org/conscrypt/ct/CTLogStore;->getKnownLog([B)Lcom/android/org/conscrypt/ct/CTLogInfo;
-HSPLcom/android/org/conscrypt/ct/CTLogStoreImpl;->createDefaultFallbackLogs()[Lcom/android/org/conscrypt/ct/CTLogInfo;
-HSPLcom/android/org/conscrypt/ct/CTPolicy;->doesResultConformToPolicy(Lcom/android/org/conscrypt/ct/CTVerificationResult;Ljava/lang/String;[Ljava/security/cert/X509Certificate;)Z
+HSPLcom/android/org/kxml2/io/KXmlParser$ValueContext;-><init>(Ljava/lang/String;I)V
+HSPLcom/android/org/kxml2/io/KXmlParser;-><init>()V
+HSPLcom/android/org/kxml2/io/KXmlParser;->adjustNsp()Z
+HSPLcom/android/org/kxml2/io/KXmlParser;->close()V
+HSPLcom/android/org/kxml2/io/KXmlParser;->fillBuffer(I)Z
+HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeCount()I
+HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeName(I)Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeNamespace(I)Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributePrefix(I)Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeValue(I)Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->getColumnNumber()I
+HSPLcom/android/org/kxml2/io/KXmlParser;->getDepth()I
+HSPLcom/android/org/kxml2/io/KXmlParser;->getEventType()I
+HSPLcom/android/org/kxml2/io/KXmlParser;->getLineNumber()I
+HSPLcom/android/org/kxml2/io/KXmlParser;->getName()Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->getNamespace()Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->getNamespace(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->getNamespaceCount(I)I
+HSPLcom/android/org/kxml2/io/KXmlParser;->getPositionDescription()Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->getPrefix()Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->getText()Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->next()I
+HSPLcom/android/org/kxml2/io/KXmlParser;->next(Z)I
+HSPLcom/android/org/kxml2/io/KXmlParser;->nextTag()I
+HSPLcom/android/org/kxml2/io/KXmlParser;->nextText()Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->nextToken()I
+HSPLcom/android/org/kxml2/io/KXmlParser;->parseStartTag(ZZ)V
+HSPLcom/android/org/kxml2/io/KXmlParser;->peekType(Z)I
+HSPLcom/android/org/kxml2/io/KXmlParser;->read(C)V
+HSPLcom/android/org/kxml2/io/KXmlParser;->read([C)V
+HSPLcom/android/org/kxml2/io/KXmlParser;->readComment(Z)Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->readEndTag()V
+HSPLcom/android/org/kxml2/io/KXmlParser;->readEntity(Ljava/lang/StringBuilder;ZZLcom/android/org/kxml2/io/KXmlParser$ValueContext;)V
+HSPLcom/android/org/kxml2/io/KXmlParser;->readName()Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->readUntil([CZ)Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->readValue(CZZLcom/android/org/kxml2/io/KXmlParser$ValueContext;)Ljava/lang/String;
+HSPLcom/android/org/kxml2/io/KXmlParser;->readXmlDeclaration()V
+HSPLcom/android/org/kxml2/io/KXmlParser;->require(ILjava/lang/String;Ljava/lang/String;)V
+HSPLcom/android/org/kxml2/io/KXmlParser;->setFeature(Ljava/lang/String;Z)V
+HSPLcom/android/org/kxml2/io/KXmlParser;->setInput(Ljava/io/InputStream;Ljava/lang/String;)V
+HSPLcom/android/org/kxml2/io/KXmlParser;->setInput(Ljava/io/Reader;)V
+HSPLcom/android/org/kxml2/io/KXmlSerializer;->append(Ljava/lang/String;II)V
+HSPLcom/android/org/kxml2/io/KXmlSerializer;->attribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
+HSPLcom/android/org/kxml2/io/KXmlSerializer;->check(Z)V
+HSPLcom/android/org/kxml2/io/KXmlSerializer;->endDocument()V
+HSPLcom/android/org/kxml2/io/KXmlSerializer;->endTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
+HSPLcom/android/org/kxml2/io/KXmlSerializer;->flush()V
+HSPLcom/android/org/kxml2/io/KXmlSerializer;->setFeature(Ljava/lang/String;Z)V
+HSPLcom/android/org/kxml2/io/KXmlSerializer;->setOutput(Ljava/io/OutputStream;Ljava/lang/String;)V
+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;
+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
+HSPLcom/android/phone/ecc/nano/CodedInputByteBufferNano;->readRawVarint32()I
+HSPLcom/android/phone/ecc/nano/CodedInputByteBufferNano;->readString()Ljava/lang/String;
+HSPLcom/android/phone/ecc/nano/CodedInputByteBufferNano;->rewindToPosition(I)V
+HSPLcom/android/phone/ecc/nano/CodedInputByteBufferNano;->skipField(I)Z
+HSPLcom/android/phone/ecc/nano/CodedInputByteBufferNano;->skipRawBytes(I)V
+HSPLcom/android/phone/ecc/nano/MessageNano;->mergeFrom(Lcom/android/phone/ecc/nano/MessageNano;[BII)Lcom/android/phone/ecc/nano/MessageNano;
+HSPLcom/android/phone/ecc/nano/ProtobufEccData$AllInfo;->mergeFrom(Lcom/android/phone/ecc/nano/CodedInputByteBufferNano;)Lcom/android/phone/ecc/nano/MessageNano;
+HSPLcom/android/phone/ecc/nano/ProtobufEccData$AllInfo;->mergeFrom(Lcom/android/phone/ecc/nano/CodedInputByteBufferNano;)Lcom/android/phone/ecc/nano/ProtobufEccData$AllInfo;
+HSPLcom/android/phone/ecc/nano/ProtobufEccData$CountryInfo;->emptyArray()[Lcom/android/phone/ecc/nano/ProtobufEccData$CountryInfo;
+HSPLcom/android/phone/ecc/nano/ProtobufEccData$CountryInfo;->mergeFrom(Lcom/android/phone/ecc/nano/CodedInputByteBufferNano;)Lcom/android/phone/ecc/nano/MessageNano;
+HSPLcom/android/phone/ecc/nano/ProtobufEccData$CountryInfo;->mergeFrom(Lcom/android/phone/ecc/nano/CodedInputByteBufferNano;)Lcom/android/phone/ecc/nano/ProtobufEccData$CountryInfo;
+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;
 HSPLcom/android/server/AppWidgetBackupBridge;->register(Lcom/android/server/WidgetBackupProvider;)V
 HSPLcom/android/server/LocalServices;->addService(Ljava/lang/Class;Ljava/lang/Object;)V
 HSPLcom/android/server/LocalServices;->getService(Ljava/lang/Class;)Ljava/lang/Object;
@@ -44521,7 +36837,6 @@
 HSPLcom/android/server/NetworkManagementSocketTagger$1;->initialValue()Lcom/android/server/NetworkManagementSocketTagger$SocketTags;
 HSPLcom/android/server/NetworkManagementSocketTagger$1;->initialValue()Ljava/lang/Object;
 HSPLcom/android/server/NetworkManagementSocketTagger;->getThreadSocketStatsTag()I
-HSPLcom/android/server/NetworkManagementSocketTagger;->install()V
 HSPLcom/android/server/NetworkManagementSocketTagger;->setKernelCounterSet(II)V
 HSPLcom/android/server/NetworkManagementSocketTagger;->setThreadSocketStatsTag(I)I
 HSPLcom/android/server/NetworkManagementSocketTagger;->setThreadSocketStatsUid(I)I
@@ -44529,13 +36844,16 @@
 HSPLcom/android/server/NetworkManagementSocketTagger;->tagSocketFd(Ljava/io/FileDescriptor;II)V
 HSPLcom/android/server/NetworkManagementSocketTagger;->unTagSocketFd(Ljava/io/FileDescriptor;)V
 HSPLcom/android/server/NetworkManagementSocketTagger;->untag(Ljava/io/FileDescriptor;)V
+HSPLcom/android/server/SystemConfig$SharedLibraryEntry;-><init>(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
 HSPLcom/android/server/SystemConfig;-><init>()V
 HSPLcom/android/server/SystemConfig;->addFeature(Ljava/lang/String;I)V
+HSPLcom/android/server/SystemConfig;->getAllowIgnoreLocationSettings()Landroid/util/ArraySet;
 HSPLcom/android/server/SystemConfig;->getAllowImplicitBroadcasts()Landroid/util/ArraySet;
 HSPLcom/android/server/SystemConfig;->getAllowInDataUsageSave()Landroid/util/ArraySet;
 HSPLcom/android/server/SystemConfig;->getAllowInPowerSave()Landroid/util/ArraySet;
 HSPLcom/android/server/SystemConfig;->getAllowInPowerSaveExceptIdle()Landroid/util/ArraySet;
 HSPLcom/android/server/SystemConfig;->getAllowUnthrottledLocation()Landroid/util/ArraySet;
+HSPLcom/android/server/SystemConfig;->getAllowedAssociations()Landroid/util/ArrayMap;
 HSPLcom/android/server/SystemConfig;->getAvailableFeatures()Landroid/util/ArrayMap;
 HSPLcom/android/server/SystemConfig;->getDefaultVrComponents()Landroid/util/ArraySet;
 HSPLcom/android/server/SystemConfig;->getDisabledUntilUsedPreinstalledCarrierApps()Landroid/util/ArraySet;
@@ -44544,68 +36862,74 @@
 HSPLcom/android/server/SystemConfig;->getHiddenApiWhitelistedApps()Landroid/util/ArraySet;
 HSPLcom/android/server/SystemConfig;->getInstance()Lcom/android/server/SystemConfig;
 HSPLcom/android/server/SystemConfig;->getPermissions()Landroid/util/ArrayMap;
-HSPLcom/android/server/SystemConfig;->getPrivAppDenyPermissions(Ljava/lang/String;)Landroid/util/ArraySet;
 HSPLcom/android/server/SystemConfig;->getPrivAppPermissions(Ljava/lang/String;)Landroid/util/ArraySet;
+HSPLcom/android/server/SystemConfig;->getProductPrivAppDenyPermissions(Ljava/lang/String;)Landroid/util/ArraySet;
+HSPLcom/android/server/SystemConfig;->getProductPrivAppPermissions(Ljava/lang/String;)Landroid/util/ArraySet;
 HSPLcom/android/server/SystemConfig;->getSharedLibraries()Landroid/util/ArrayMap;
+HSPLcom/android/server/SystemConfig;->getSplitPermissions()Ljava/util/ArrayList;
 HSPLcom/android/server/SystemConfig;->getSystemPermissions()Landroid/util/SparseArray;
 HSPLcom/android/server/SystemConfig;->readPermission(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)V
 HSPLcom/android/server/SystemConfig;->readPermissions(Ljava/io/File;I)V
 HSPLcom/android/server/SystemConfig;->readPermissionsFromXml(Ljava/io/File;I)V
 HSPLcom/android/server/SystemConfig;->readPrivAppPermissions(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/ArrayMap;Landroid/util/ArrayMap;)V
-HSPLcom/android/server/WidgetBackupProvider;->getWidgetParticipants(I)Ljava/util/List;
-HSPLcom/android/server/WidgetBackupProvider;->getWidgetState(Ljava/lang/String;I)[B
-HSPLcom/android/server/WidgetBackupProvider;->restoreFinished(I)V
-HSPLcom/android/server/WidgetBackupProvider;->restoreStarting(I)V
-HSPLcom/android/server/WidgetBackupProvider;->restoreWidgetState(Ljava/lang/String;[BI)V
+HSPLcom/android/server/SystemConfig;->readSplitPermission(Lorg/xmlpull/v1/XmlPullParser;Ljava/io/File;)V
 HSPLcom/android/server/net/BaseNetdEventCallback;-><init>()V
 HSPLcom/android/server/net/BaseNetworkObserver;-><init>()V
 HSPLcom/android/server/net/BaseNetworkObserver;->addressRemoved(Ljava/lang/String;Landroid/net/LinkAddress;)V
+HSPLcom/android/server/net/BaseNetworkObserver;->addressUpdated(Ljava/lang/String;Landroid/net/LinkAddress;)V
+HSPLcom/android/server/net/BaseNetworkObserver;->interfaceAdded(Ljava/lang/String;)V
 HSPLcom/android/server/net/BaseNetworkObserver;->interfaceLinkStateChanged(Ljava/lang/String;Z)V
 HSPLcom/android/server/net/BaseNetworkObserver;->routeRemoved(Landroid/net/RouteInfo;)V
-HSPLcom/android/server/net/NetlinkTracker$Callback;->update()V
-HSPLcom/android/server/net/NetlinkTracker;-><init>(Ljava/lang/String;Lcom/android/server/net/NetlinkTracker$Callback;)V
-HSPLcom/android/server/net/NetlinkTracker;->addressRemoved(Ljava/lang/String;Landroid/net/LinkAddress;)V
-HSPLcom/android/server/net/NetlinkTracker;->clearLinkProperties()V
-HSPLcom/android/server/net/NetlinkTracker;->routeRemoved(Landroid/net/RouteInfo;)V
+HSPLcom/android/server/net/BaseNetworkObserver;->routeUpdated(Landroid/net/RouteInfo;)V
+HSPLcom/android/server/wifi/BaseWifiService;-><init>()V
 HSPLcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;
 HSPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;
 HSPLcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;
+HSPLcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;
+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;
+HSPLcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;
+HSPLcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;
 HSPLcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;
+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$RssiPollCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$RssiPollCount;
 HSPLcom/android/server/wifi/nano/WifiMetricsProto$SoftApConnectedClientsEvent;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$SoftApConnectedClientsEvent;
 HSPLcom/android/server/wifi/nano/WifiMetricsProto$SoftApDurationBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$SoftApDurationBucket;
 HSPLcom/android/server/wifi/nano/WifiMetricsProto$SoftApReturnCodeCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$SoftApReturnCodeCount;
 HSPLcom/android/server/wifi/nano/WifiMetricsProto$StaEvent;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$StaEvent;
+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$HistogramBucket;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$HistogramBucket;
+HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog;-><init>()V
+HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;
 HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;
 HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;
 HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;-><init>()V
 HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;->clear()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;
+HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;-><init>()V
 HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;
+HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityScoreCount;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityScoreCount;
+HSPLcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;->emptyArray()[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;
 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;->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/EGLContextImpl;->equals(Ljava/lang/Object;)Z
-HSPLcom/google/android/gles_jni/EGLContextImpl;->getGL()Ljavax/microedition/khronos/opengles/GL;
 HSPLcom/google/android/gles_jni/EGLDisplayImpl;-><init>(J)V
 HSPLcom/google/android/gles_jni/EGLDisplayImpl;->equals(Ljava/lang/Object;)Z
 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;->eglCreatePbufferSurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;[I)Ljavax/microedition/khronos/egl/EGLSurface;
-HSPLcom/google/android/gles_jni/EGLImpl;->eglCreateWindowSurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljava/lang/Object;[I)Ljavax/microedition/khronos/egl/EGLSurface;
-HSPLcom/google/android/gles_jni/EGLImpl;->eglGetCurrentContext()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
 HSPLcom/google/android/gles_jni/EGLSurfaceImpl;->equals(Ljava/lang/Object;)Z
-HSPLcom/google/android/gles_jni/GLImpl;->glGetString(I)Ljava/lang/String;
-HSPLcom/google/vr/platform/DeviceInfo;->getVrBoot()Z
-HSPLcom/sun/security/cert/internal/x509/X509V1CertImpl;-><init>([B)V
-HSPLcom/sun/security/cert/internal/x509/X509V1CertImpl;->getFactory()Ljava/security/cert/CertificateFactory;
-HSPLcom/sun/security/cert/internal/x509/X509V1CertImpl;->getPublicKey()Ljava/security/PublicKey;
+HSPLdalvik/system/BaseDexClassLoader;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;[Ljava/lang/ClassLoader;Z)V
 HSPLdalvik/system/BaseDexClassLoader;->addNativePath(Ljava/util/Collection;)V
 HSPLdalvik/system/BaseDexClassLoader;->findClass(Ljava/lang/String;)Ljava/lang/Class;
 HSPLdalvik/system/BaseDexClassLoader;->findLibrary(Ljava/lang/String;)Ljava/lang/String;
@@ -44614,19 +36938,18 @@
 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;->setReporter(Ldalvik/system/BaseDexClassLoader$Reporter;)V
 HSPLdalvik/system/BaseDexClassLoader;->toString()Ljava/lang/String;
-HSPLdalvik/system/BlockGuard$1;-><init>()V
-HSPLdalvik/system/BlockGuard$1;->getPolicyMask()I
+HSPLdalvik/system/BlockGuard$1;->onExplicitGc()V
 HSPLdalvik/system/BlockGuard$1;->onNetwork()V
 HSPLdalvik/system/BlockGuard$1;->onReadFromDisk()V
 HSPLdalvik/system/BlockGuard$1;->onUnbufferedIO()V
 HSPLdalvik/system/BlockGuard$1;->onWriteToDisk()V
-HSPLdalvik/system/BlockGuard$2;-><init>()V
-HSPLdalvik/system/BlockGuard$2;->initialValue()Ldalvik/system/BlockGuard$Policy;
-HSPLdalvik/system/BlockGuard$2;->initialValue()Ljava/lang/Object;
+HSPLdalvik/system/BlockGuard$2;->onPathAccess(Ljava/lang/String;)V
+HSPLdalvik/system/BlockGuard$3;->initialValue()Ldalvik/system/BlockGuard$Policy;
+HSPLdalvik/system/BlockGuard$3;->initialValue()Ljava/lang/Object;
 HSPLdalvik/system/BlockGuard;->getThreadPolicy()Ldalvik/system/BlockGuard$Policy;
 HSPLdalvik/system/BlockGuard;->setThreadPolicy(Ldalvik/system/BlockGuard$Policy;)V
+HSPLdalvik/system/BlockGuard;->setVmPolicy(Ldalvik/system/BlockGuard$VmPolicy;)V
 HSPLdalvik/system/CloseGuard$DefaultReporter;-><init>(Ldalvik/system/CloseGuard$1;)V
 HSPLdalvik/system/CloseGuard$DefaultReporter;->report(Ljava/lang/String;Ljava/lang/Throwable;)V
 HSPLdalvik/system/CloseGuard;->close()V
@@ -44636,61 +36959,57 @@
 HSPLdalvik/system/CloseGuard;->setEnabled(Z)V
 HSPLdalvik/system/CloseGuard;->setReporter(Ldalvik/system/CloseGuard$Reporter;)V
 HSPLdalvik/system/CloseGuard;->warnIfOpen()V
-HSPLdalvik/system/DalvikLogHandler;->publish(Ljava/util/logging/Logger;Ljava/lang/String;Ljava/util/logging/Level;Ljava/lang/String;)V
 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$DFEnum;->hasMoreElements()Z
-HSPLdalvik/system/DexFile$DFEnum;->nextElement()Ljava/lang/Object;
-HSPLdalvik/system/DexFile$DFEnum;->nextElement()Ljava/lang/String;
-HSPLdalvik/system/DexFile;-><init>(Ljava/lang/String;)V
-HSPLdalvik/system/DexFile;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/ClassLoader;[Ldalvik/system/DexPathList$Element;)V
-HSPLdalvik/system/DexFile;->close()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;->entries()Ljava/util/Enumeration;
 HSPLdalvik/system/DexFile;->finalize()V
-HSPLdalvik/system/DexFile;->getName()Ljava/lang/String;
-HSPLdalvik/system/DexFile;->loadClass(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/Class;
-HSPLdalvik/system/DexFile;->loadClassBinaryName(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/List;)Ljava/lang/Class;
-HSPLdalvik/system/DexFile;->loadDex(Ljava/lang/String;Ljava/lang/String;I)Ldalvik/system/DexFile;
 HSPLdalvik/system/DexFile;->openDexFile(Ljava/lang/String;Ljava/lang/String;ILjava/lang/ClassLoader;[Ldalvik/system/DexPathList$Element;)Ljava/lang/Object;
+HSPLdalvik/system/DexPathList$Element;-><init>(Ldalvik/system/DexFile;Ljava/io/File;)V
 HSPLdalvik/system/DexPathList$Element;->findClass(Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/util/List;)Ljava/lang/Class;
 HSPLdalvik/system/DexPathList$Element;->findResource(Ljava/lang/String;)Ljava/net/URL;
-HSPLdalvik/system/DexPathList$Element;->getDexPath()Ljava/lang/String;
 HSPLdalvik/system/DexPathList$Element;->maybeInit()V
 HSPLdalvik/system/DexPathList$Element;->toString()Ljava/lang/String;
 HSPLdalvik/system/DexPathList$NativeLibraryElement;->equals(Ljava/lang/Object;)Z
 HSPLdalvik/system/DexPathList$NativeLibraryElement;->findNativeLibrary(Ljava/lang/String;)Ljava/lang/String;
 HSPLdalvik/system/DexPathList$NativeLibraryElement;->maybeInit()V
-HSPLdalvik/system/DexPathList;-><init>(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)V
 HSPLdalvik/system/DexPathList;-><init>(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Z)V
 HSPLdalvik/system/DexPathList;->addNativePath(Ljava/util/Collection;)V
 HSPLdalvik/system/DexPathList;->findClass(Ljava/lang/String;Ljava/util/List;)Ljava/lang/Class;
-HSPLdalvik/system/DexPathList;->makeDexElements(Ljava/util/List;Ljava/io/File;Ljava/util/List;Ljava/lang/ClassLoader;)[Ldalvik/system/DexPathList$Element;
 HSPLdalvik/system/DexPathList;->makeDexElements(Ljava/util/List;Ljava/io/File;Ljava/util/List;Ljava/lang/ClassLoader;Z)[Ldalvik/system/DexPathList$Element;
 HSPLdalvik/system/DexPathList;->makePathElements(Ljava/util/List;)[Ldalvik/system/DexPathList$NativeLibraryElement;
 HSPLdalvik/system/DexPathList;->splitPaths(Ljava/lang/String;Z)Ljava/util/List;
 HSPLdalvik/system/DexPathList;->toString()Ljava/lang/String;
 HSPLdalvik/system/PathClassLoader;-><init>(Ljava/lang/String;Ljava/lang/ClassLoader;)V
 HSPLdalvik/system/PathClassLoader;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;)V
+HSPLdalvik/system/PathClassLoader;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/ClassLoader;[Ljava/lang/ClassLoader;)V
+HSPLdalvik/system/RuntimeHooks;->getTimeZoneIdSupplier()Ljava/util/function/Supplier;
+HSPLdalvik/system/RuntimeHooks;->setTimeZoneIdSupplier(Ljava/util/function/Supplier;)V
+HSPLdalvik/system/RuntimeHooks;->setUncaughtExceptionPreHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V
 HSPLdalvik/system/SocketTagger$1;-><init>()V
 HSPLdalvik/system/SocketTagger;->get()Ldalvik/system/SocketTagger;
 HSPLdalvik/system/SocketTagger;->set(Ldalvik/system/SocketTagger;)V
 HSPLdalvik/system/SocketTagger;->tag(Ljava/net/Socket;)V
 HSPLdalvik/system/SocketTagger;->untag(Ljava/net/Socket;)V
-HSPLdalvik/system/VMDebug;->getRuntimeStats()Ljava/util/Map;
 HSPLdalvik/system/VMRuntime;->getInstructionSet(Ljava/lang/String;)Ljava/lang/String;
 HSPLdalvik/system/VMRuntime;->getRuntime()Ldalvik/system/VMRuntime;
 HSPLdalvik/system/VMRuntime;->getTargetSdkVersion()I
+HSPLdalvik/system/VMRuntime;->hiddenApiUsed(ILjava/lang/String;Ljava/lang/String;IZ)V
+HSPLdalvik/system/VMRuntime;->hiddenApiUsed(Ljava/lang/String;Ljava/lang/String;IZ)V
 HSPLdalvik/system/VMRuntime;->is64BitAbi(Ljava/lang/String;)Z
 HSPLdalvik/system/VMRuntime;->is64BitInstructionSet(Ljava/lang/String;)Z
+HSPLdalvik/system/VMRuntime;->registerNativeAllocation(I)V
+HSPLdalvik/system/VMRuntime;->registerNativeFree(I)V
 HSPLdalvik/system/VMRuntime;->runFinalization(J)V
-HSPLdalvik/system/VMRuntime;->runFinalizationSync()V
 HSPLdalvik/system/VMRuntime;->setTargetHeapUtilization(F)F
 HSPLdalvik/system/VMRuntime;->setTargetSdkVersion(I)V
-HSPLdalvik/system/VMStack;->getStackClass1()Ljava/lang/Class;
-HSPLdalvik/system/ZygoteHooks;-><init>()V
+HSPLdalvik/system/ZygoteHooks;->gcAndFinalize()V
+HSPLdalvik/system/ZygoteHooks;->onBeginPreload()V
+HSPLdalvik/system/ZygoteHooks;->onEndPreload()V
 HSPLdalvik/system/ZygoteHooks;->postForkChild(IZZLjava/lang/String;)V
 HSPLdalvik/system/ZygoteHooks;->postForkCommon()V
+HSPLdalvik/system/ZygoteHooks;->postForkSystemServer()V
 HSPLdalvik/system/ZygoteHooks;->preFork()V
 HSPLjava/io/Bits;->getLong([BI)J
 HSPLjava/io/Bits;->putLong([BIJ)V
@@ -44732,9 +37051,7 @@
 HSPLjava/io/BufferedWriter;->newLine()V
 HSPLjava/io/BufferedWriter;->write(I)V
 HSPLjava/io/BufferedWriter;->write(Ljava/lang/String;II)V
-HSPLjava/io/BufferedWriter;->write([CII)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
@@ -44750,7 +37067,6 @@
 HSPLjava/io/ByteArrayOutputStream;->reset()V
 HSPLjava/io/ByteArrayOutputStream;->size()I
 HSPLjava/io/ByteArrayOutputStream;->toByteArray()[B
-HSPLjava/io/ByteArrayOutputStream;->toString()Ljava/lang/String;
 HSPLjava/io/ByteArrayOutputStream;->toString(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/io/ByteArrayOutputStream;->write(I)V
 HSPLjava/io/ByteArrayOutputStream;->write([BII)V
@@ -44761,14 +37077,12 @@
 HSPLjava/io/CharArrayWriter;->toString()Ljava/lang/String;
 HSPLjava/io/CharArrayWriter;->write(I)V
 HSPLjava/io/CharArrayWriter;->write([CII)V
-HSPLjava/io/Closeable;->close()V
 HSPLjava/io/DataInputStream;-><init>(Ljava/io/InputStream;)V
 HSPLjava/io/DataInputStream;->read([B)I
 HSPLjava/io/DataInputStream;->read([BII)I
 HSPLjava/io/DataInputStream;->readBoolean()Z
 HSPLjava/io/DataInputStream;->readByte()B
 HSPLjava/io/DataInputStream;->readDouble()D
-HSPLjava/io/DataInputStream;->readFloat()F
 HSPLjava/io/DataInputStream;->readFully([B)V
 HSPLjava/io/DataInputStream;->readFully([BII)V
 HSPLjava/io/DataInputStream;->readInt()I
@@ -44781,12 +37095,9 @@
 HSPLjava/io/DataInputStream;->skipBytes(I)I
 HSPLjava/io/DataOutputStream;-><init>(Ljava/io/OutputStream;)V
 HSPLjava/io/DataOutputStream;->flush()V
-HSPLjava/io/DataOutputStream;->size()I
-HSPLjava/io/DataOutputStream;->write(I)V
 HSPLjava/io/DataOutputStream;->write([BII)V
 HSPLjava/io/DataOutputStream;->writeBoolean(Z)V
 HSPLjava/io/DataOutputStream;->writeByte(I)V
-HSPLjava/io/DataOutputStream;->writeDouble(D)V
 HSPLjava/io/DataOutputStream;->writeInt(I)V
 HSPLjava/io/DataOutputStream;->writeLong(J)V
 HSPLjava/io/DataOutputStream;->writeShort(I)V
@@ -44801,8 +37112,6 @@
 HSPLjava/io/File;-><init>(Ljava/io/File;Ljava/lang/String;)V
 HSPLjava/io/File;-><init>(Ljava/lang/String;)V
 HSPLjava/io/File;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/io/File;-><init>(Ljava/net/URI;)V
-HSPLjava/io/File;->canExecute()Z
 HSPLjava/io/File;->canRead()Z
 HSPLjava/io/File;->canWrite()Z
 HSPLjava/io/File;->compareTo(Ljava/io/File;)I
@@ -44836,12 +37145,10 @@
 HSPLjava/io/File;->listFiles(Ljava/io/FilenameFilter;)[Ljava/io/File;
 HSPLjava/io/File;->mkdir()Z
 HSPLjava/io/File;->mkdirs()Z
-HSPLjava/io/File;->readObject(Ljava/io/ObjectInputStream;)V
 HSPLjava/io/File;->renameTo(Ljava/io/File;)Z
 HSPLjava/io/File;->setExecutable(ZZ)Z
 HSPLjava/io/File;->setLastModified(J)Z
 HSPLjava/io/File;->setReadable(ZZ)Z
-HSPLjava/io/File;->setWritable(ZZ)Z
 HSPLjava/io/File;->slashify(Ljava/lang/String;Z)Ljava/lang/String;
 HSPLjava/io/File;->toPath()Ljava/nio/file/Path;
 HSPLjava/io/File;->toString()Ljava/lang/String;
@@ -44851,8 +37158,8 @@
 HSPLjava/io/FileDescriptor;-><init>()V
 HSPLjava/io/FileDescriptor;->dupFd(I)Ljava/io/FileDescriptor;
 HSPLjava/io/FileDescriptor;->isSocket$()Z
+HSPLjava/io/FileDescriptor;->release$()Ljava/io/FileDescriptor;
 HSPLjava/io/FileDescriptor;->valid()Z
-HSPLjava/io/FileFilter;->accept(Ljava/io/File;)Z
 HSPLjava/io/FileInputStream;-><init>(Ljava/io/File;)V
 HSPLjava/io/FileInputStream;-><init>(Ljava/io/FileDescriptor;)V
 HSPLjava/io/FileInputStream;-><init>(Ljava/io/FileDescriptor;Z)V
@@ -44867,7 +37174,6 @@
 HSPLjava/io/FileInputStream;->read([BII)I
 HSPLjava/io/FileInputStream;->skip(J)J
 HSPLjava/io/FileNotFoundException;-><init>(Ljava/lang/String;)V
-HSPLjava/io/FileNotFoundException;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/io/FileOutputStream;-><init>(Ljava/io/File;)V
 HSPLjava/io/FileOutputStream;-><init>(Ljava/io/File;Z)V
 HSPLjava/io/FileOutputStream;-><init>(Ljava/io/FileDescriptor;)V
@@ -44882,41 +37188,14 @@
 HSPLjava/io/FileOutputStream;->write([BII)V
 HSPLjava/io/FileReader;-><init>(Ljava/io/File;)V
 HSPLjava/io/FileReader;-><init>(Ljava/lang/String;)V
-HSPLjava/io/FileSystem;->canonicalize(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/io/FileSystem;->checkAccess(Ljava/io/File;I)Z
-HSPLjava/io/FileSystem;->compare(Ljava/io/File;Ljava/io/File;)I
-HSPLjava/io/FileSystem;->createDirectory(Ljava/io/File;)Z
-HSPLjava/io/FileSystem;->createFileExclusively(Ljava/lang/String;)Z
-HSPLjava/io/FileSystem;->delete(Ljava/io/File;)Z
-HSPLjava/io/FileSystem;->fromURIPath(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/io/FileSystem;->getBooleanAttributes(Ljava/io/File;)I
 HSPLjava/io/FileSystem;->getBooleanProperty(Ljava/lang/String;Z)Z
-HSPLjava/io/FileSystem;->getDefaultParent()Ljava/lang/String;
-HSPLjava/io/FileSystem;->getLastModifiedTime(Ljava/io/File;)J
-HSPLjava/io/FileSystem;->getLength(Ljava/io/File;)J
-HSPLjava/io/FileSystem;->getPathSeparator()C
-HSPLjava/io/FileSystem;->getSeparator()C
-HSPLjava/io/FileSystem;->getSpace(Ljava/io/File;I)J
-HSPLjava/io/FileSystem;->hashCode(Ljava/io/File;)I
-HSPLjava/io/FileSystem;->isAbsolute(Ljava/io/File;)Z
-HSPLjava/io/FileSystem;->list(Ljava/io/File;)[Ljava/lang/String;
-HSPLjava/io/FileSystem;->listRoots()[Ljava/io/File;
-HSPLjava/io/FileSystem;->normalize(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/io/FileSystem;->prefixLength(Ljava/lang/String;)I
-HSPLjava/io/FileSystem;->rename(Ljava/io/File;Ljava/io/File;)Z
-HSPLjava/io/FileSystem;->resolve(Ljava/io/File;)Ljava/lang/String;
-HSPLjava/io/FileSystem;->resolve(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/io/FileSystem;->setLastModifiedTime(Ljava/io/File;J)Z
-HSPLjava/io/FileSystem;->setPermission(Ljava/io/File;IZZ)Z
-HSPLjava/io/FileSystem;->setReadOnly(Ljava/io/File;)Z
 HSPLjava/io/FileWriter;-><init>(Ljava/io/File;)V
 HSPLjava/io/FileWriter;-><init>(Ljava/io/File;Z)V
-HSPLjava/io/FileWriter;-><init>(Ljava/lang/String;Z)V
-HSPLjava/io/FilenameFilter;->accept(Ljava/io/File;Ljava/lang/String;)Z
 HSPLjava/io/FilterInputStream;-><init>(Ljava/io/InputStream;)V
 HSPLjava/io/FilterInputStream;->available()I
 HSPLjava/io/FilterInputStream;->close()V
 HSPLjava/io/FilterInputStream;->mark(I)V
+HSPLjava/io/FilterInputStream;->markSupported()Z
 HSPLjava/io/FilterInputStream;->read()I
 HSPLjava/io/FilterInputStream;->read([B)I
 HSPLjava/io/FilterInputStream;->read([BII)I
@@ -44926,13 +37205,9 @@
 HSPLjava/io/FilterOutputStream;->close()V
 HSPLjava/io/FilterOutputStream;->flush()V
 HSPLjava/io/FilterOutputStream;->write([B)V
-HSPLjava/io/Flushable;->flush()V
-HSPLjava/io/IOException;-><init>()V
 HSPLjava/io/IOException;-><init>(Ljava/lang/String;)V
-HSPLjava/io/IOException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
 HSPLjava/io/IOException;-><init>(Ljava/lang/Throwable;)V
 HSPLjava/io/InputStream;-><init>()V
-HSPLjava/io/InputStream;->available()I
 HSPLjava/io/InputStream;->close()V
 HSPLjava/io/InputStream;->markSupported()Z
 HSPLjava/io/InputStream;->read([B)I
@@ -44944,8 +37219,6 @@
 HSPLjava/io/InputStreamReader;->read()I
 HSPLjava/io/InputStreamReader;->read([CII)I
 HSPLjava/io/InputStreamReader;->ready()Z
-HSPLjava/io/InterruptedIOException;-><init>()V
-HSPLjava/io/InterruptedIOException;-><init>(Ljava/lang/String;)V
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;-><init>(Ljava/io/ObjectInputStream;Ljava/io/InputStream;)V
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->close()V
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->currentBlockRemaining()I
@@ -44958,9 +37231,6 @@
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readBlockHeader(Z)I
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readBoolean()Z
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readByte()B
-HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readChar()C
-HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readFloat()F
-HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readFloats([FII)V
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readFully([BIIZ)V
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readInt()I
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->readLong()J
@@ -44973,24 +37243,6 @@
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->refill()V
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->setBlockDataMode(Z)Z
 HSPLjava/io/ObjectInputStream$BlockDataInputStream;->skipBlockData()V
-HSPLjava/io/ObjectInputStream$GetField;->defaulted(Ljava/lang/String;)Z
-HSPLjava/io/ObjectInputStream$GetField;->get(Ljava/lang/String;B)B
-HSPLjava/io/ObjectInputStream$GetField;->get(Ljava/lang/String;C)C
-HSPLjava/io/ObjectInputStream$GetField;->get(Ljava/lang/String;D)D
-HSPLjava/io/ObjectInputStream$GetField;->get(Ljava/lang/String;F)F
-HSPLjava/io/ObjectInputStream$GetField;->get(Ljava/lang/String;I)I
-HSPLjava/io/ObjectInputStream$GetField;->get(Ljava/lang/String;J)J
-HSPLjava/io/ObjectInputStream$GetField;->get(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/io/ObjectInputStream$GetField;->get(Ljava/lang/String;S)S
-HSPLjava/io/ObjectInputStream$GetField;->get(Ljava/lang/String;Z)Z
-HSPLjava/io/ObjectInputStream$GetField;->getObjectStreamClass()Ljava/io/ObjectStreamClass;
-HSPLjava/io/ObjectInputStream$GetFieldImpl;->get(Ljava/lang/String;I)I
-HSPLjava/io/ObjectInputStream$GetFieldImpl;->get(Ljava/lang/String;J)J
-HSPLjava/io/ObjectInputStream$GetFieldImpl;->get(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/io/ObjectInputStream$GetFieldImpl;->get(Ljava/lang/String;Z)Z
-HSPLjava/io/ObjectInputStream$GetFieldImpl;->getFieldOffset(Ljava/lang/String;Ljava/lang/Class;)I
-HSPLjava/io/ObjectInputStream$GetFieldImpl;->readFields()V
-HSPLjava/io/ObjectInputStream$HandleTable$HandleList;->add(I)V
 HSPLjava/io/ObjectInputStream$HandleTable;->assign(Ljava/lang/Object;)I
 HSPLjava/io/ObjectInputStream$HandleTable;->clear()V
 HSPLjava/io/ObjectInputStream$HandleTable;->finish(I)V
@@ -44998,8 +37250,6 @@
 HSPLjava/io/ObjectInputStream$HandleTable;->lookupException(I)Ljava/lang/ClassNotFoundException;
 HSPLjava/io/ObjectInputStream$HandleTable;->lookupObject(I)Ljava/lang/Object;
 HSPLjava/io/ObjectInputStream$HandleTable;->markDependency(II)V
-HSPLjava/io/ObjectInputStream$HandleTable;->markException(ILjava/lang/ClassNotFoundException;)V
-HSPLjava/io/ObjectInputStream$HandleTable;->setObject(ILjava/lang/Object;)V
 HSPLjava/io/ObjectInputStream$HandleTable;->size()I
 HSPLjava/io/ObjectInputStream$PeekInputStream;->close()V
 HSPLjava/io/ObjectInputStream$PeekInputStream;->peek()I
@@ -45012,25 +37262,15 @@
 HSPLjava/io/ObjectInputStream;->close()V
 HSPLjava/io/ObjectInputStream;->defaultReadFields(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
 HSPLjava/io/ObjectInputStream;->defaultReadObject()V
-HSPLjava/io/ObjectInputStream;->enableResolveObject(Z)Z
-HSPLjava/io/ObjectInputStream;->read()I
-HSPLjava/io/ObjectInputStream;->read([BII)I
 HSPLjava/io/ObjectInputStream;->readArray(Z)Ljava/lang/Object;
 HSPLjava/io/ObjectInputStream;->readBoolean()Z
 HSPLjava/io/ObjectInputStream;->readByte()B
-HSPLjava/io/ObjectInputStream;->readChar()C
-HSPLjava/io/ObjectInputStream;->readClass(Z)Ljava/lang/Class;
 HSPLjava/io/ObjectInputStream;->readClassDesc(Z)Ljava/io/ObjectStreamClass;
 HSPLjava/io/ObjectInputStream;->readClassDescriptor()Ljava/io/ObjectStreamClass;
-HSPLjava/io/ObjectInputStream;->readEnum(Z)Ljava/lang/Enum;
-HSPLjava/io/ObjectInputStream;->readFields()Ljava/io/ObjectInputStream$GetField;
-HSPLjava/io/ObjectInputStream;->readFloat()F
-HSPLjava/io/ObjectInputStream;->readFully([B)V
 HSPLjava/io/ObjectInputStream;->readHandle(Z)Ljava/lang/Object;
 HSPLjava/io/ObjectInputStream;->readInt()I
 HSPLjava/io/ObjectInputStream;->readLong()J
 HSPLjava/io/ObjectInputStream;->readNonProxyDesc(Z)Ljava/io/ObjectStreamClass;
-HSPLjava/io/ObjectInputStream;->readNull()Ljava/lang/Object;
 HSPLjava/io/ObjectInputStream;->readObject()Ljava/lang/Object;
 HSPLjava/io/ObjectInputStream;->readObject0(Z)Ljava/lang/Object;
 HSPLjava/io/ObjectInputStream;->readOrdinaryObject(Z)Ljava/lang/Object;
@@ -45051,36 +37291,27 @@
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->setBlockDataMode(Z)Z
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->write([BIIZ)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeBlockHeader(I)V
-HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeBoolean(Z)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeByte(I)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeBytes(Ljava/lang/String;)V
-HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeFloat(F)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeInt(I)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeLong(J)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeShort(I)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeUTF(Ljava/lang/String;)V
 HSPLjava/io/ObjectOutputStream$BlockDataOutputStream;->writeUTF(Ljava/lang/String;J)V
 HSPLjava/io/ObjectOutputStream$HandleTable;->assign(Ljava/lang/Object;)I
-HSPLjava/io/ObjectOutputStream$HandleTable;->growSpine()V
 HSPLjava/io/ObjectOutputStream$HandleTable;->lookup(Ljava/lang/Object;)I
-HSPLjava/io/ObjectOutputStream$ReplaceTable;->assign(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLjava/io/ObjectOutputStream$ReplaceTable;->lookup(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/io/ObjectOutputStream;-><init>(Ljava/io/OutputStream;)V
 HSPLjava/io/ObjectOutputStream;->annotateClass(Ljava/lang/Class;)V
 HSPLjava/io/ObjectOutputStream;->close()V
 HSPLjava/io/ObjectOutputStream;->defaultWriteFields(Ljava/lang/Object;Ljava/io/ObjectStreamClass;)V
 HSPLjava/io/ObjectOutputStream;->defaultWriteObject()V
-HSPLjava/io/ObjectOutputStream;->enableReplaceObject(Z)Z
 HSPLjava/io/ObjectOutputStream;->flush()V
 HSPLjava/io/ObjectOutputStream;->verifySubclass()V
-HSPLjava/io/ObjectOutputStream;->write([B)V
-HSPLjava/io/ObjectOutputStream;->writeArray(Ljava/lang/Object;Ljava/io/ObjectStreamClass;Z)V
-HSPLjava/io/ObjectOutputStream;->writeBoolean(Z)V
 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;->writeFloat(F)V
 HSPLjava/io/ObjectOutputStream;->writeInt(I)V
 HSPLjava/io/ObjectOutputStream;->writeLong(J)V
 HSPLjava/io/ObjectOutputStream;->writeNonProxyDesc(Ljava/io/ObjectStreamClass;Z)V
@@ -45091,15 +37322,8 @@
 HSPLjava/io/ObjectOutputStream;->writeShort(I)V
 HSPLjava/io/ObjectOutputStream;->writeStreamHeader()V
 HSPLjava/io/ObjectOutputStream;->writeString(Ljava/lang/String;Z)V
-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$4;->compare(Ljava/io/ObjectStreamClass$MemberSignature;Ljava/io/ObjectStreamClass$MemberSignature;)I
-HSPLjava/io/ObjectStreamClass$4;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLjava/io/ObjectStreamClass$5;->compare(Ljava/io/ObjectStreamClass$MemberSignature;Ljava/io/ObjectStreamClass$MemberSignature;)I
-HSPLjava/io/ObjectStreamClass$5;->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
@@ -45112,30 +37336,24 @@
 HSPLjava/io/ObjectStreamClass$FieldReflectorKey;-><init>(Ljava/lang/Class;[Ljava/io/ObjectStreamField;Ljava/lang/ref/ReferenceQueue;)V
 HSPLjava/io/ObjectStreamClass$FieldReflectorKey;->equals(Ljava/lang/Object;)Z
 HSPLjava/io/ObjectStreamClass$FieldReflectorKey;->hashCode()I
-HSPLjava/io/ObjectStreamClass$MemberSignature;-><init>(Ljava/lang/reflect/Field;)V
 HSPLjava/io/ObjectStreamClass$WeakClassKey;->equals(Ljava/lang/Object;)Z
 HSPLjava/io/ObjectStreamClass$WeakClassKey;->hashCode()I
 HSPLjava/io/ObjectStreamClass;-><init>(Ljava/lang/Class;)V
 HSPLjava/io/ObjectStreamClass;->checkDefaultSerialize()V
 HSPLjava/io/ObjectStreamClass;->checkDeserialize()V
 HSPLjava/io/ObjectStreamClass;->checkSerialize()V
-HSPLjava/io/ObjectStreamClass;->computeDefaultSUID(Ljava/lang/Class;)J
 HSPLjava/io/ObjectStreamClass;->computeFieldOffsets()V
 HSPLjava/io/ObjectStreamClass;->forClass()Ljava/lang/Class;
 HSPLjava/io/ObjectStreamClass;->getClassDataLayout()[Ljava/io/ObjectStreamClass$ClassDataSlot;
 HSPLjava/io/ObjectStreamClass;->getClassDataLayout0()[Ljava/io/ObjectStreamClass$ClassDataSlot;
-HSPLjava/io/ObjectStreamClass;->getClassSignature(Ljava/lang/Class;)Ljava/lang/String;
 HSPLjava/io/ObjectStreamClass;->getDeclaredSUID(Ljava/lang/Class;)Ljava/lang/Long;
 HSPLjava/io/ObjectStreamClass;->getDeclaredSerialFields(Ljava/lang/Class;)[Ljava/io/ObjectStreamField;
 HSPLjava/io/ObjectStreamClass;->getDefaultSerialFields(Ljava/lang/Class;)[Ljava/io/ObjectStreamField;
-HSPLjava/io/ObjectStreamClass;->getField(Ljava/lang/String;Ljava/lang/Class;)Ljava/io/ObjectStreamField;
 HSPLjava/io/ObjectStreamClass;->getFields(Z)[Ljava/io/ObjectStreamField;
 HSPLjava/io/ObjectStreamClass;->getInheritableMethod(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
-HSPLjava/io/ObjectStreamClass;->getMethodSignature([Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/String;
 HSPLjava/io/ObjectStreamClass;->getName()Ljava/lang/String;
 HSPLjava/io/ObjectStreamClass;->getNumObjFields()I
 HSPLjava/io/ObjectStreamClass;->getObjFieldValues(Ljava/lang/Object;[Ljava/lang/Object;)V
-HSPLjava/io/ObjectStreamClass;->getPackageName(Ljava/lang/Class;)Ljava/lang/String;
 HSPLjava/io/ObjectStreamClass;->getPrimDataSize()I
 HSPLjava/io/ObjectStreamClass;->getPrimFieldValues(Ljava/lang/Object;[B)V
 HSPLjava/io/ObjectStreamClass;->getPrivateMethod(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/reflect/Method;
@@ -45152,14 +37370,10 @@
 HSPLjava/io/ObjectStreamClass;->hasWriteReplaceMethod()Z
 HSPLjava/io/ObjectStreamClass;->initNonProxy(Ljava/io/ObjectStreamClass;Ljava/lang/Class;Ljava/lang/ClassNotFoundException;Ljava/io/ObjectStreamClass;)V
 HSPLjava/io/ObjectStreamClass;->invokeReadObject(Ljava/lang/Object;Ljava/io/ObjectInputStream;)V
-HSPLjava/io/ObjectStreamClass;->invokeReadResolve(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/io/ObjectStreamClass;->invokeWriteObject(Ljava/lang/Object;Ljava/io/ObjectOutputStream;)V
-HSPLjava/io/ObjectStreamClass;->invokeWriteReplace(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/io/ObjectStreamClass;->isEnum()Z
 HSPLjava/io/ObjectStreamClass;->isExternalizable()Z
 HSPLjava/io/ObjectStreamClass;->isInstantiable()Z
 HSPLjava/io/ObjectStreamClass;->isProxy()Z
-HSPLjava/io/ObjectStreamClass;->lookup(Ljava/lang/Class;)Ljava/io/ObjectStreamClass;
 HSPLjava/io/ObjectStreamClass;->lookup(Ljava/lang/Class;Z)Ljava/io/ObjectStreamClass;
 HSPLjava/io/ObjectStreamClass;->matchFields([Ljava/io/ObjectStreamField;Ljava/io/ObjectStreamClass;)[Ljava/io/ObjectStreamField;
 HSPLjava/io/ObjectStreamClass;->newInstance()Ljava/lang/Object;
@@ -45177,9 +37391,7 @@
 HSPLjava/io/ObjectStreamField;->getName()Ljava/lang/String;
 HSPLjava/io/ObjectStreamField;->getOffset()I
 HSPLjava/io/ObjectStreamField;->getSignature()Ljava/lang/String;
-HSPLjava/io/ObjectStreamField;->getType()Ljava/lang/Class;
 HSPLjava/io/ObjectStreamField;->getTypeCode()C
-HSPLjava/io/ObjectStreamField;->getTypeString()Ljava/lang/String;
 HSPLjava/io/ObjectStreamField;->isPrimitive()Z
 HSPLjava/io/ObjectStreamField;->isUnshared()Z
 HSPLjava/io/ObjectStreamField;->setOffset(I)V
@@ -45192,8 +37404,6 @@
 HSPLjava/io/OutputStreamWriter;-><init>(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
 HSPLjava/io/OutputStreamWriter;->close()V
 HSPLjava/io/OutputStreamWriter;->flush()V
-HSPLjava/io/OutputStreamWriter;->flushBuffer()V
-HSPLjava/io/OutputStreamWriter;->write(I)V
 HSPLjava/io/OutputStreamWriter;->write(Ljava/lang/String;II)V
 HSPLjava/io/OutputStreamWriter;->write([CII)V
 HSPLjava/io/PrintStream;-><init>(Ljava/io/OutputStream;)V
@@ -45201,32 +37411,21 @@
 HSPLjava/io/PrintStream;-><init>(Ljava/io/OutputStream;ZLjava/lang/String;)V
 HSPLjava/io/PrintStream;->close()V
 HSPLjava/io/PrintStream;->ensureOpen()V
-HSPLjava/io/PrintStream;->flush()V
-HSPLjava/io/PrintStream;->getTextOut()Ljava/io/BufferedWriter;
-HSPLjava/io/PrintStream;->print(J)V
-HSPLjava/io/PrintStream;->print(Ljava/lang/String;)V
 HSPLjava/io/PrintStream;->toCharset(Ljava/lang/String;)Ljava/nio/charset/Charset;
-HSPLjava/io/PrintStream;->write(Ljava/lang/String;)V
 HSPLjava/io/PrintStream;->write([BII)V
 HSPLjava/io/PrintWriter;-><init>(Ljava/io/OutputStream;)V
 HSPLjava/io/PrintWriter;-><init>(Ljava/io/Writer;)V
 HSPLjava/io/PrintWriter;-><init>(Ljava/io/Writer;Z)V
-HSPLjava/io/PrintWriter;->append(C)Ljava/io/PrintWriter;
 HSPLjava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/io/PrintWriter;
-HSPLjava/io/PrintWriter;->append(Ljava/lang/CharSequence;)Ljava/lang/Appendable;
-HSPLjava/io/PrintWriter;->append(Ljava/lang/CharSequence;II)Ljava/io/PrintWriter;
 HSPLjava/io/PrintWriter;->close()V
 HSPLjava/io/PrintWriter;->ensureOpen()V
 HSPLjava/io/PrintWriter;->flush()V
-HSPLjava/io/PrintWriter;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
 HSPLjava/io/PrintWriter;->newLine()V
-HSPLjava/io/PrintWriter;->print(C)V
 HSPLjava/io/PrintWriter;->print(I)V
 HSPLjava/io/PrintWriter;->print(J)V
 HSPLjava/io/PrintWriter;->print(Ljava/lang/Object;)V
 HSPLjava/io/PrintWriter;->print(Ljava/lang/String;)V
 HSPLjava/io/PrintWriter;->print(Z)V
-HSPLjava/io/PrintWriter;->printf(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
 HSPLjava/io/PrintWriter;->println()V
 HSPLjava/io/PrintWriter;->println(I)V
 HSPLjava/io/PrintWriter;->println(J)V
@@ -45237,12 +37436,9 @@
 HSPLjava/io/PrintWriter;->write(Ljava/lang/String;)V
 HSPLjava/io/PrintWriter;->write(Ljava/lang/String;II)V
 HSPLjava/io/PrintWriter;->write([CII)V
-HSPLjava/io/PushbackInputStream;-><init>(Ljava/io/InputStream;)V
 HSPLjava/io/PushbackInputStream;-><init>(Ljava/io/InputStream;I)V
-HSPLjava/io/PushbackInputStream;->markSupported()Z
 HSPLjava/io/PushbackInputStream;->read()I
 HSPLjava/io/PushbackInputStream;->read([BII)I
-HSPLjava/io/PushbackInputStream;->unread(I)V
 HSPLjava/io/PushbackInputStream;->unread([BII)V
 HSPLjava/io/PushbackReader;-><init>(Ljava/io/Reader;I)V
 HSPLjava/io/PushbackReader;->ensureOpen()V
@@ -45260,57 +37456,35 @@
 HSPLjava/io/RandomAccessFile;->read()I
 HSPLjava/io/RandomAccessFile;->read([B)I
 HSPLjava/io/RandomAccessFile;->read([BII)I
-HSPLjava/io/RandomAccessFile;->readByte()B
 HSPLjava/io/RandomAccessFile;->readFully([B)V
 HSPLjava/io/RandomAccessFile;->readFully([BII)V
 HSPLjava/io/RandomAccessFile;->readInt()I
-HSPLjava/io/RandomAccessFile;->readLine()Ljava/lang/String;
-HSPLjava/io/RandomAccessFile;->readLong()J
-HSPLjava/io/RandomAccessFile;->readShort()S
-HSPLjava/io/RandomAccessFile;->readUTF()Ljava/lang/String;
-HSPLjava/io/RandomAccessFile;->readUnsignedShort()I
 HSPLjava/io/RandomAccessFile;->seek(J)V
 HSPLjava/io/RandomAccessFile;->setLength(J)V
-HSPLjava/io/RandomAccessFile;->skipBytes(I)I
-HSPLjava/io/RandomAccessFile;->write(I)V
 HSPLjava/io/RandomAccessFile;->write([B)V
 HSPLjava/io/RandomAccessFile;->write([BII)V
-HSPLjava/io/RandomAccessFile;->writeByte(I)V
-HSPLjava/io/RandomAccessFile;->writeInt(I)V
-HSPLjava/io/RandomAccessFile;->writeLong(J)V
-HSPLjava/io/RandomAccessFile;->writeUTF(Ljava/lang/String;)V
-HSPLjava/io/Reader;-><init>()V
-HSPLjava/io/Reader;->markSupported()Z
 HSPLjava/io/Reader;->read(Ljava/nio/CharBuffer;)I
 HSPLjava/io/Reader;->read([C)I
 HSPLjava/io/SequenceInputStream;-><init>(Ljava/io/InputStream;Ljava/io/InputStream;)V
-HSPLjava/io/SequenceInputStream;->available()I
-HSPLjava/io/SequenceInputStream;->close()V
 HSPLjava/io/SequenceInputStream;->nextStream()V
 HSPLjava/io/SequenceInputStream;->read()I
-HSPLjava/io/SequenceInputStream;->read([BII)I
 HSPLjava/io/SerialCallbackContext;->check()V
 HSPLjava/io/StringReader;-><init>(Ljava/lang/String;)V
 HSPLjava/io/StringReader;->close()V
 HSPLjava/io/StringReader;->ensureOpen()V
-HSPLjava/io/StringReader;->markSupported()Z
 HSPLjava/io/StringReader;->read()I
 HSPLjava/io/StringReader;->read([CII)I
 HSPLjava/io/StringWriter;-><init>()V
 HSPLjava/io/StringWriter;-><init>(I)V
-HSPLjava/io/StringWriter;->append(C)Ljava/io/StringWriter;
-HSPLjava/io/StringWriter;->append(C)Ljava/io/Writer;
 HSPLjava/io/StringWriter;->append(Ljava/lang/CharSequence;)Ljava/io/StringWriter;
 HSPLjava/io/StringWriter;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
 HSPLjava/io/StringWriter;->close()V
 HSPLjava/io/StringWriter;->flush()V
-HSPLjava/io/StringWriter;->getBuffer()Ljava/lang/StringBuffer;
 HSPLjava/io/StringWriter;->toString()Ljava/lang/String;
 HSPLjava/io/StringWriter;->write(I)V
 HSPLjava/io/StringWriter;->write(Ljava/lang/String;)V
 HSPLjava/io/StringWriter;->write(Ljava/lang/String;II)V
 HSPLjava/io/StringWriter;->write([CII)V
-HSPLjava/io/SyncFailedException;-><init>(Ljava/lang/String;)V
 HSPLjava/io/UnixFileSystem;-><init>()V
 HSPLjava/io/UnixFileSystem;->canonicalize(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/io/UnixFileSystem;->checkAccess(Ljava/io/File;I)Z
@@ -45318,7 +37492,6 @@
 HSPLjava/io/UnixFileSystem;->createDirectory(Ljava/io/File;)Z
 HSPLjava/io/UnixFileSystem;->createFileExclusively(Ljava/lang/String;)Z
 HSPLjava/io/UnixFileSystem;->delete(Ljava/io/File;)Z
-HSPLjava/io/UnixFileSystem;->fromURIPath(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/io/UnixFileSystem;->getBooleanAttributes(Ljava/io/File;)I
 HSPLjava/io/UnixFileSystem;->getDefaultParent()Ljava/lang/String;
 HSPLjava/io/UnixFileSystem;->getLastModifiedTime(Ljava/io/File;)J
@@ -45336,12 +37509,9 @@
 HSPLjava/io/UnixFileSystem;->resolve(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/io/UnixFileSystem;->setLastModifiedTime(Ljava/io/File;J)Z
 HSPLjava/io/UnixFileSystem;->setPermission(Ljava/io/File;IZZ)Z
-HSPLjava/io/Writer;-><init>()V
 HSPLjava/io/Writer;->append(C)Ljava/io/Writer;
 HSPLjava/io/Writer;->append(Ljava/lang/CharSequence;)Ljava/io/Writer;
 HSPLjava/io/Writer;->write(Ljava/lang/String;)V
-HSPLjava/io/Writer;->write([C)V
-HSPLjava/lang/AbstractStringBuilder;-><init>(I)V
 HSPLjava/lang/AbstractStringBuilder;->append(C)Ljava/lang/AbstractStringBuilder;
 HSPLjava/lang/AbstractStringBuilder;->append(I)Ljava/lang/AbstractStringBuilder;
 HSPLjava/lang/AbstractStringBuilder;->append(J)Ljava/lang/AbstractStringBuilder;
@@ -45356,18 +37526,14 @@
 HSPLjava/lang/AbstractStringBuilder;->appendNull()Ljava/lang/AbstractStringBuilder;
 HSPLjava/lang/AbstractStringBuilder;->codePointAt(I)I
 HSPLjava/lang/AbstractStringBuilder;->delete(II)Ljava/lang/AbstractStringBuilder;
-HSPLjava/lang/AbstractStringBuilder;->deleteCharAt(I)Ljava/lang/AbstractStringBuilder;
 HSPLjava/lang/AbstractStringBuilder;->ensureCapacityInternal(I)V
 HSPLjava/lang/AbstractStringBuilder;->getChars(II[CI)V
 HSPLjava/lang/AbstractStringBuilder;->insert(ILjava/lang/String;)Ljava/lang/AbstractStringBuilder;
 HSPLjava/lang/AbstractStringBuilder;->newCapacity(I)I
 HSPLjava/lang/AbstractStringBuilder;->replace(IILjava/lang/String;)Ljava/lang/AbstractStringBuilder;
-HSPLjava/lang/AbstractStringBuilder;->reverse()Ljava/lang/AbstractStringBuilder;
 HSPLjava/lang/AbstractStringBuilder;->setLength(I)V
 HSPLjava/lang/AbstractStringBuilder;->substring(II)Ljava/lang/String;
-HSPLjava/lang/Boolean;-><init>(Z)V
 HSPLjava/lang/Boolean;->booleanValue()Z
-HSPLjava/lang/Boolean;->compareTo(Ljava/lang/Boolean;)I
 HSPLjava/lang/Boolean;->equals(Ljava/lang/Object;)Z
 HSPLjava/lang/Boolean;->getBoolean(Ljava/lang/String;)Z
 HSPLjava/lang/Boolean;->hashCode()I
@@ -45387,13 +37553,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;->doubleValue()D
-HSPLjava/lang/Byte;->equals(Ljava/lang/Object;)Z
 HSPLjava/lang/Byte;->hashCode()I
-HSPLjava/lang/Byte;->parseByte(Ljava/lang/String;)B
-HSPLjava/lang/Byte;->parseByte(Ljava/lang/String;I)B
-HSPLjava/lang/Byte;->toHexString(BZ)Ljava/lang/String;
-HSPLjava/lang/Byte;->toString()Ljava/lang/String;
 HSPLjava/lang/Byte;->toUnsignedInt(B)I
 HSPLjava/lang/Byte;->valueOf(B)Ljava/lang/Byte;
 HSPLjava/lang/CaseMapper;->toLowerCase(Ljava/util/Locale;Ljava/lang/String;)Ljava/lang/String;
@@ -45401,7 +37561,6 @@
 HSPLjava/lang/CaseMapper;->upperIndex(I)I
 HSPLjava/lang/Character$Subset;->equals(Ljava/lang/Object;)Z
 HSPLjava/lang/Character$Subset;->hashCode()I
-HSPLjava/lang/Character;-><init>(C)V
 HSPLjava/lang/Character;->charCount(I)I
 HSPLjava/lang/Character;->charValue()C
 HSPLjava/lang/Character;->codePointAt(Ljava/lang/CharSequence;I)I
@@ -45414,52 +37573,36 @@
 HSPLjava/lang/Character;->getDirectionality(I)B
 HSPLjava/lang/Character;->getNumericValue(C)I
 HSPLjava/lang/Character;->getNumericValue(I)I
-HSPLjava/lang/Character;->getType(C)I
 HSPLjava/lang/Character;->getType(I)I
 HSPLjava/lang/Character;->hashCode()I
 HSPLjava/lang/Character;->isAlphabetic(I)Z
-HSPLjava/lang/Character;->isDefined(C)Z
 HSPLjava/lang/Character;->isDigit(C)Z
 HSPLjava/lang/Character;->isDigit(I)Z
 HSPLjava/lang/Character;->isHighSurrogate(C)Z
-HSPLjava/lang/Character;->isISOControl(C)Z
-HSPLjava/lang/Character;->isISOControl(I)Z
-HSPLjava/lang/Character;->isIdentifierIgnorable(I)Z
-HSPLjava/lang/Character;->isJavaIdentifierPart(C)Z
-HSPLjava/lang/Character;->isJavaIdentifierPart(I)Z
-HSPLjava/lang/Character;->isJavaIdentifierStart(C)Z
-HSPLjava/lang/Character;->isJavaIdentifierStart(I)Z
 HSPLjava/lang/Character;->isLetter(C)Z
 HSPLjava/lang/Character;->isLetter(I)Z
 HSPLjava/lang/Character;->isLetterOrDigit(C)Z
 HSPLjava/lang/Character;->isLetterOrDigit(I)Z
 HSPLjava/lang/Character;->isLowSurrogate(C)Z
-HSPLjava/lang/Character;->isLowerCase(C)Z
-HSPLjava/lang/Character;->isSpaceChar(C)Z
-HSPLjava/lang/Character;->isSpaceChar(I)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;->offsetByCodePoints(Ljava/lang/CharSequence;II)I
+HSPLjava/lang/Character;->toChars(I)[C
 HSPLjava/lang/Character;->toChars(I[CI)I
-HSPLjava/lang/Character;->toCodePoint(CC)I
 HSPLjava/lang/Character;->toLowerCase(C)C
+HSPLjava/lang/Character;->toLowerCase(I)I
 HSPLjava/lang/Character;->toString()Ljava/lang/String;
 HSPLjava/lang/Character;->toString(C)Ljava/lang/String;
-HSPLjava/lang/Character;->toTitleCase(C)C
-HSPLjava/lang/Character;->toTitleCase(I)I
 HSPLjava/lang/Character;->toUpperCase(C)C
 HSPLjava/lang/Character;->valueOf(C)Ljava/lang/Character;
 HSPLjava/lang/Class;->asSubclass(Ljava/lang/Class;)Ljava/lang/Class;
 HSPLjava/lang/Class;->cast(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/lang/Class;->desiredAssertionStatus()Z
 HSPLjava/lang/Class;->findInterfaceMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
 HSPLjava/lang/Class;->forName(Ljava/lang/String;)Ljava/lang/Class;
 HSPLjava/lang/Class;->forName(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
 HSPLjava/lang/Class;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
-HSPLjava/lang/Class;->getAnnotations()[Ljava/lang/annotation/Annotation;
 HSPLjava/lang/Class;->getCanonicalName()Ljava/lang/String;
 HSPLjava/lang/Class;->getClassLoader()Ljava/lang/ClassLoader;
 HSPLjava/lang/Class;->getComponentType()Ljava/lang/Class;
@@ -45467,15 +37610,11 @@
 HSPLjava/lang/Class;->getConstructor0([Ljava/lang/Class;I)Ljava/lang/reflect/Constructor;
 HSPLjava/lang/Class;->getConstructors()[Ljava/lang/reflect/Constructor;
 HSPLjava/lang/Class;->getDeclaredConstructor([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
-HSPLjava/lang/Class;->getDeclaredConstructors()[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;->getEnclosingConstructor()Ljava/lang/reflect/Constructor;
-HSPLjava/lang/Class;->getEnclosingMethod()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;->getGenericInterfaces()[Ljava/lang/reflect/Type;
 HSPLjava/lang/Class;->getGenericSuperclass()Ljava/lang/reflect/Type;
 HSPLjava/lang/Class;->getInterfaces()[Ljava/lang/Class;
 HSPLjava/lang/Class;->getMethod(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
@@ -45484,7 +37623,6 @@
 HSPLjava/lang/Class;->getModifiers()I
 HSPLjava/lang/Class;->getName()Ljava/lang/String;
 HSPLjava/lang/Class;->getPackage()Ljava/lang/Package;
-HSPLjava/lang/Class;->getPackageName$()Ljava/lang/String;
 HSPLjava/lang/Class;->getPublicFieldsRecursive(Ljava/util/List;)V
 HSPLjava/lang/Class;->getPublicMethodsInternal(Ljava/util/List;)V
 HSPLjava/lang/Class;->getResourceAsStream(Ljava/lang/String;)Ljava/io/InputStream;
@@ -45509,6 +37647,7 @@
 HSPLjava/lang/ClassLoader;-><init>(Ljava/lang/ClassLoader;)V
 HSPLjava/lang/ClassLoader;->access$000()Ljava/lang/ClassLoader;
 HSPLjava/lang/ClassLoader;->definePackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;)Ljava/lang/Package;
+HSPLjava/lang/ClassLoader;->findLoadedClass(Ljava/lang/String;)Ljava/lang/Class;
 HSPLjava/lang/ClassLoader;->getPackage(Ljava/lang/String;)Ljava/lang/Package;
 HSPLjava/lang/ClassLoader;->getParent()Ljava/lang/ClassLoader;
 HSPLjava/lang/ClassLoader;->getResource(Ljava/lang/String;)Ljava/net/URL;
@@ -45540,21 +37679,16 @@
 HSPLjava/lang/Daemons$HeapTaskDaemon;->runInternal()V
 HSPLjava/lang/Daemons$ReferenceQueueDaemon;->runInternal()V
 HSPLjava/lang/Daemons;->start()V
-HSPLjava/lang/Double;-><init>(D)V
 HSPLjava/lang/Double;->compare(DD)I
-HSPLjava/lang/Double;->compareTo(Ljava/lang/Double;)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;->floatValue()F
 HSPLjava/lang/Double;->hashCode()I
-HSPLjava/lang/Double;->intValue()I
 HSPLjava/lang/Double;->isInfinite(D)Z
 HSPLjava/lang/Double;->isNaN(D)Z
-HSPLjava/lang/Double;->longValue()J
 HSPLjava/lang/Double;->parseDouble(Ljava/lang/String;)D
-HSPLjava/lang/Double;->toString()Ljava/lang/String;
 HSPLjava/lang/Double;->toString(D)Ljava/lang/String;
 HSPLjava/lang/Double;->valueOf(D)Ljava/lang/Double;
 HSPLjava/lang/Double;->valueOf(Ljava/lang/String;)Ljava/lang/Double;
@@ -45563,6 +37697,7 @@
 HSPLjava/lang/Enum;-><init>(Ljava/lang/String;I)V
 HSPLjava/lang/Enum;->compareTo(Ljava/lang/Enum;)I
 HSPLjava/lang/Enum;->compareTo(Ljava/lang/Object;)I
+HSPLjava/lang/Enum;->enumValues(Ljava/lang/Class;)[Ljava/lang/Object;
 HSPLjava/lang/Enum;->equals(Ljava/lang/Object;)Z
 HSPLjava/lang/Enum;->getDeclaringClass()Ljava/lang/Class;
 HSPLjava/lang/Enum;->hashCode()I
@@ -45570,7 +37705,6 @@
 HSPLjava/lang/Enum;->ordinal()I
 HSPLjava/lang/Enum;->toString()Ljava/lang/String;
 HSPLjava/lang/Enum;->valueOf(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/Enum;
-HSPLjava/lang/Error;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/Exception;-><init>()V
 HSPLjava/lang/Exception;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/Exception;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
@@ -45579,40 +37713,37 @@
 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;->compareTo(Ljava/lang/Float;)I
 HSPLjava/lang/Float;->doubleValue()D
 HSPLjava/lang/Float;->equals(Ljava/lang/Object;)Z
 HSPLjava/lang/Float;->floatToIntBits(F)I
 HSPLjava/lang/Float;->floatValue()F
 HSPLjava/lang/Float;->hashCode()I
+HSPLjava/lang/Float;->isFinite(F)Z
 HSPLjava/lang/Float;->isInfinite(F)Z
 HSPLjava/lang/Float;->isNaN(F)Z
-HSPLjava/lang/Float;->longValue()J
 HSPLjava/lang/Float;->parseFloat(Ljava/lang/String;)F
 HSPLjava/lang/Float;->toString()Ljava/lang/String;
 HSPLjava/lang/Float;->toString(F)Ljava/lang/String;
 HSPLjava/lang/Float;->valueOf(F)Ljava/lang/Float;
-HSPLjava/lang/Float;->valueOf(Ljava/lang/String;)Ljava/lang/Float;
 HSPLjava/lang/IllegalAccessException;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/IllegalArgumentException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-HSPLjava/lang/IllegalStateException;-><init>()V
 HSPLjava/lang/IllegalStateException;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/IllegalStateException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
-HSPLjava/lang/IndexOutOfBoundsException;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/InheritableThreadLocal;-><init>()V
 HSPLjava/lang/InheritableThreadLocal;->childValue(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/lang/InheritableThreadLocal;->createMap(Ljava/lang/Thread;Ljava/lang/Object;)V
 HSPLjava/lang/InheritableThreadLocal;->getMap(Ljava/lang/Thread;)Ljava/lang/ThreadLocal$ThreadLocalMap;
 HSPLjava/lang/Integer;-><init>(I)V
 HSPLjava/lang/Integer;->bitCount(I)I
+HSPLjava/lang/Integer;->byteValue()B
 HSPLjava/lang/Integer;->compare(II)I
 HSPLjava/lang/Integer;->compareTo(Ljava/lang/Integer;)I
 HSPLjava/lang/Integer;->compareTo(Ljava/lang/Object;)I
 HSPLjava/lang/Integer;->decode(Ljava/lang/String;)Ljava/lang/Integer;
 HSPLjava/lang/Integer;->doubleValue()D
 HSPLjava/lang/Integer;->equals(Ljava/lang/Object;)Z
-HSPLjava/lang/Integer;->floatValue()F
 HSPLjava/lang/Integer;->getChars(II[C)V
 HSPLjava/lang/Integer;->getInteger(Ljava/lang/String;)Ljava/lang/Integer;
 HSPLjava/lang/Integer;->getInteger(Ljava/lang/String;I)Ljava/lang/Integer;
@@ -45622,6 +37753,8 @@
 HSPLjava/lang/Integer;->intValue()I
 HSPLjava/lang/Integer;->longValue()J
 HSPLjava/lang/Integer;->lowestOneBit(I)I
+HSPLjava/lang/Integer;->max(II)I
+HSPLjava/lang/Integer;->min(II)I
 HSPLjava/lang/Integer;->numberOfLeadingZeros(I)I
 HSPLjava/lang/Integer;->numberOfTrailingZeros(I)I
 HSPLjava/lang/Integer;->parseInt(Ljava/lang/String;)I
@@ -45634,26 +37767,23 @@
 HSPLjava/lang/Integer;->signum(I)I
 HSPLjava/lang/Integer;->toBinaryString(I)Ljava/lang/String;
 HSPLjava/lang/Integer;->toHexString(I)Ljava/lang/String;
-HSPLjava/lang/Integer;->toOctalString(I)Ljava/lang/String;
 HSPLjava/lang/Integer;->toString()Ljava/lang/String;
 HSPLjava/lang/Integer;->toString(I)Ljava/lang/String;
 HSPLjava/lang/Integer;->toString(II)Ljava/lang/String;
+HSPLjava/lang/Integer;->toUnsignedLong(I)J
 HSPLjava/lang/Integer;->valueOf(I)Ljava/lang/Integer;
 HSPLjava/lang/Integer;->valueOf(Ljava/lang/String;)Ljava/lang/Integer;
 HSPLjava/lang/Integer;->valueOf(Ljava/lang/String;I)Ljava/lang/Integer;
 HSPLjava/lang/InterruptedException;-><init>()V
-HSPLjava/lang/Iterable;->iterator()Ljava/util/Iterator;
+HSPLjava/lang/Iterable;->forEach(Ljava/util/function/Consumer;)V
 HSPLjava/lang/Long;-><init>(J)V
-HSPLjava/lang/Long;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/Long;->bitCount(J)I
 HSPLjava/lang/Long;->compare(JJ)I
-HSPLjava/lang/Long;->compareTo(Ljava/lang/Long;)I
 HSPLjava/lang/Long;->compareTo(Ljava/lang/Object;)I
 HSPLjava/lang/Long;->compareUnsigned(JJ)I
 HSPLjava/lang/Long;->decode(Ljava/lang/String;)Ljava/lang/Long;
 HSPLjava/lang/Long;->doubleValue()D
 HSPLjava/lang/Long;->equals(Ljava/lang/Object;)Z
-HSPLjava/lang/Long;->floatValue()F
 HSPLjava/lang/Long;->getChars(JI[C)V
 HSPLjava/lang/Long;->getLong(Ljava/lang/String;J)Ljava/lang/Long;
 HSPLjava/lang/Long;->getLong(Ljava/lang/String;Ljava/lang/Long;)Ljava/lang/Long;
@@ -45662,6 +37792,7 @@
 HSPLjava/lang/Long;->intValue()I
 HSPLjava/lang/Long;->longValue()J
 HSPLjava/lang/Long;->lowestOneBit(J)J
+HSPLjava/lang/Long;->max(JJ)J
 HSPLjava/lang/Long;->numberOfLeadingZeros(J)I
 HSPLjava/lang/Long;->numberOfTrailingZeros(J)I
 HSPLjava/lang/Long;->parseLong(Ljava/lang/String;)J
@@ -45682,10 +37813,8 @@
 HSPLjava/lang/Math;->abs(I)I
 HSPLjava/lang/Math;->abs(J)J
 HSPLjava/lang/Math;->addExact(II)I
-HSPLjava/lang/Math;->copySign(DD)D
+HSPLjava/lang/Math;->addExact(JJ)J
 HSPLjava/lang/Math;->floorMod(II)I
-HSPLjava/lang/Math;->floorMod(JJ)J
-HSPLjava/lang/Math;->getExponent(D)I
 HSPLjava/lang/Math;->max(DD)D
 HSPLjava/lang/Math;->max(FF)F
 HSPLjava/lang/Math;->max(II)I
@@ -45707,11 +37836,9 @@
 HSPLjava/lang/Math;->toRadians(D)D
 HSPLjava/lang/Math;->ulp(F)F
 HSPLjava/lang/NoClassDefFoundError;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/NoSuchFieldError;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/NoSuchFieldException;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/NoSuchMethodError;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/NoSuchMethodException;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/NullPointerException;-><init>()V
 HSPLjava/lang/NullPointerException;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/Number;-><init>()V
 HSPLjava/lang/Object;-><init>()V
@@ -45720,21 +37847,13 @@
 HSPLjava/lang/Object;->finalize()V
 HSPLjava/lang/Object;->getClass()Ljava/lang/Class;
 HSPLjava/lang/Object;->hashCode()I
-HSPLjava/lang/Object;->identityHashCode(Ljava/lang/Object;)I
 HSPLjava/lang/Object;->toString()Ljava/lang/String;
+HSPLjava/lang/Object;->wait()V
 HSPLjava/lang/Object;->wait(J)V
-HSPLjava/lang/Package;->getImplementationVersion()Ljava/lang/String;
 HSPLjava/lang/Package;->getName()Ljava/lang/String;
-HSPLjava/lang/Package;->getSpecificationVersion()Ljava/lang/String;
-HSPLjava/lang/Package;->hashCode()I
 HSPLjava/lang/ProcessBuilder$NullInputStream;-><init>()V
-HSPLjava/lang/ProcessBuilder$NullInputStream;->available()I
-HSPLjava/lang/ProcessBuilder$NullInputStream;->read()I
 HSPLjava/lang/ProcessBuilder$NullOutputStream;-><init>()V
 HSPLjava/lang/ProcessBuilder;-><init>([Ljava/lang/String;)V
-HSPLjava/lang/ProcessBuilder;->command([Ljava/lang/String;)Ljava/lang/ProcessBuilder;
-HSPLjava/lang/ProcessBuilder;->environment([Ljava/lang/String;)Ljava/lang/ProcessBuilder;
-HSPLjava/lang/ProcessBuilder;->redirectErrorStream(Z)Ljava/lang/ProcessBuilder;
 HSPLjava/lang/ProcessBuilder;->start()Ljava/lang/Process;
 HSPLjava/lang/ProcessEnvironment$ExternalData;->getBytes()[B
 HSPLjava/lang/ProcessEnvironment$ExternalData;->hashCode()I
@@ -45742,18 +37861,15 @@
 HSPLjava/lang/ProcessEnvironment$Value;->valueOf([B)Ljava/lang/ProcessEnvironment$Value;
 HSPLjava/lang/ProcessEnvironment$Variable;->valueOf([B)Ljava/lang/ProcessEnvironment$Variable;
 HSPLjava/lang/ProcessImpl;->start([Ljava/lang/String;Ljava/util/Map;Ljava/lang/String;[Ljava/lang/ProcessBuilder$Redirect;Z)Ljava/lang/Process;
-HSPLjava/lang/Runnable;->run()V
 HSPLjava/lang/Runtime;->addShutdownHook(Ljava/lang/Thread;)V
 HSPLjava/lang/Runtime;->availableProcessors()I
-HSPLjava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
-HSPLjava/lang/Runtime;->exec(Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;
-HSPLjava/lang/Runtime;->exec([Ljava/lang/String;)Ljava/lang/Process;
-HSPLjava/lang/Runtime;->exec([Ljava/lang/String;[Ljava/lang/String;Ljava/io/File;)Ljava/lang/Process;
+HSPLjava/lang/Runtime;->gc()V
 HSPLjava/lang/Runtime;->getLibPaths()[Ljava/lang/String;
 HSPLjava/lang/Runtime;->getRuntime()Ljava/lang/Runtime;
 HSPLjava/lang/Runtime;->initLibPaths()[Ljava/lang/String;
 HSPLjava/lang/Runtime;->load0(Ljava/lang/Class;Ljava/lang/String;)V
-HSPLjava/lang/Runtime;->loadLibrary0(Ljava/lang/ClassLoader;Ljava/lang/String;)V
+HSPLjava/lang/Runtime;->loadLibrary0(Ljava/lang/Class;Ljava/lang/String;)V
+HSPLjava/lang/Runtime;->loadLibrary0(Ljava/lang/ClassLoader;Ljava/lang/Class;Ljava/lang/String;)V
 HSPLjava/lang/Runtime;->runFinalization()V
 HSPLjava/lang/RuntimeException;-><init>()V
 HSPLjava/lang/RuntimeException;-><init>(Ljava/lang/String;)V
@@ -45761,16 +37877,11 @@
 HSPLjava/lang/RuntimeException;-><init>(Ljava/lang/Throwable;)V
 HSPLjava/lang/RuntimePermission;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/SecurityException;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/SecurityManager;-><init>()V
-HSPLjava/lang/Short;-><init>(S)V
-HSPLjava/lang/Short;->doubleValue()D
 HSPLjava/lang/Short;->hashCode()I
-HSPLjava/lang/Short;->parseShort(Ljava/lang/String;)S
-HSPLjava/lang/Short;->parseShort(Ljava/lang/String;I)S
 HSPLjava/lang/Short;->reverseBytes(S)S
 HSPLjava/lang/Short;->shortValue()S
-HSPLjava/lang/Short;->toString()Ljava/lang/String;
 HSPLjava/lang/Short;->valueOf(S)Ljava/lang/Short;
+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;->getFileName()Ljava/lang/String;
@@ -45792,7 +37903,6 @@
 HSPLjava/lang/String;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
 HSPLjava/lang/String;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
 HSPLjava/lang/String;->getBytes()[B
-HSPLjava/lang/String;->getBytes(II[BI)V
 HSPLjava/lang/String;->getBytes(Ljava/lang/String;)[B
 HSPLjava/lang/String;->getBytes(Ljava/nio/charset/Charset;)[B
 HSPLjava/lang/String;->getChars(II[CI)V
@@ -45805,15 +37915,14 @@
 HSPLjava/lang/String;->indexOf([CII[CIII)I
 HSPLjava/lang/String;->isEmpty()Z
 HSPLjava/lang/String;->join(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
+HSPLjava/lang/String;->join(Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;
 HSPLjava/lang/String;->lastIndexOf(I)I
 HSPLjava/lang/String;->lastIndexOf(II)I
 HSPLjava/lang/String;->lastIndexOf(Ljava/lang/String;)I
-HSPLjava/lang/String;->lastIndexOf(Ljava/lang/String;I)I
 HSPLjava/lang/String;->lastIndexOf(Ljava/lang/String;Ljava/lang/String;I)I
 HSPLjava/lang/String;->lastIndexOf([CII[CIII)I
 HSPLjava/lang/String;->length()I
 HSPLjava/lang/String;->matches(Ljava/lang/String;)Z
-HSPLjava/lang/String;->offsetByCodePoints(II)I
 HSPLjava/lang/String;->regionMatches(ILjava/lang/String;II)Z
 HSPLjava/lang/String;->regionMatches(ZILjava/lang/String;II)Z
 HSPLjava/lang/String;->replace(CC)Ljava/lang/String;
@@ -45834,17 +37943,14 @@
 HSPLjava/lang/String;->toUpperCase(Ljava/util/Locale;)Ljava/lang/String;
 HSPLjava/lang/String;->trim()Ljava/lang/String;
 HSPLjava/lang/String;->valueOf(C)Ljava/lang/String;
-HSPLjava/lang/String;->valueOf(D)Ljava/lang/String;
 HSPLjava/lang/String;->valueOf(F)Ljava/lang/String;
 HSPLjava/lang/String;->valueOf(I)Ljava/lang/String;
 HSPLjava/lang/String;->valueOf(J)Ljava/lang/String;
 HSPLjava/lang/String;->valueOf(Ljava/lang/Object;)Ljava/lang/String;
 HSPLjava/lang/String;->valueOf(Z)Ljava/lang/String;
-HSPLjava/lang/String;->valueOf([C)Ljava/lang/String;
 HSPLjava/lang/StringBuffer;-><init>()V
 HSPLjava/lang/StringBuffer;-><init>(I)V
 HSPLjava/lang/StringBuffer;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/StringBuffer;->append(C)Ljava/lang/Appendable;
 HSPLjava/lang/StringBuffer;->append(C)Ljava/lang/StringBuffer;
 HSPLjava/lang/StringBuffer;->append(I)Ljava/lang/StringBuffer;
 HSPLjava/lang/StringBuffer;->append(J)Ljava/lang/StringBuffer;
@@ -45860,12 +37966,10 @@
 HSPLjava/lang/StringBuffer;->charAt(I)C
 HSPLjava/lang/StringBuffer;->codePointAt(I)I
 HSPLjava/lang/StringBuffer;->getChars(II[CI)V
-HSPLjava/lang/StringBuffer;->indexOf(Ljava/lang/String;)I
-HSPLjava/lang/StringBuffer;->indexOf(Ljava/lang/String;I)I
 HSPLjava/lang/StringBuffer;->length()I
-HSPLjava/lang/StringBuffer;->reverse()Ljava/lang/StringBuffer;
-HSPLjava/lang/StringBuffer;->setCharAt(IC)V
 HSPLjava/lang/StringBuffer;->setLength(I)V
+HSPLjava/lang/StringBuffer;->substring(I)Ljava/lang/String;
+HSPLjava/lang/StringBuffer;->substring(II)Ljava/lang/String;
 HSPLjava/lang/StringBuffer;->toString()Ljava/lang/String;
 HSPLjava/lang/StringBuilder;-><init>()V
 HSPLjava/lang/StringBuilder;-><init>(I)V
@@ -45880,40 +37984,33 @@
 HSPLjava/lang/StringBuilder;->append(Ljava/lang/CharSequence;)Ljava/lang/Appendable;
 HSPLjava/lang/StringBuilder;->append(Ljava/lang/CharSequence;)Ljava/lang/StringBuilder;
 HSPLjava/lang/StringBuilder;->append(Ljava/lang/CharSequence;II)Ljava/lang/AbstractStringBuilder;
+HSPLjava/lang/StringBuilder;->append(Ljava/lang/CharSequence;II)Ljava/lang/Appendable;
 HSPLjava/lang/StringBuilder;->append(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
 HSPLjava/lang/StringBuilder;->append(Ljava/lang/Object;)Ljava/lang/StringBuilder;
 HSPLjava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/AbstractStringBuilder;
 HSPLjava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
-HSPLjava/lang/StringBuilder;->append(Ljava/lang/StringBuffer;)Ljava/lang/StringBuilder;
 HSPLjava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;
 HSPLjava/lang/StringBuilder;->append([CII)Ljava/lang/StringBuilder;
 HSPLjava/lang/StringBuilder;->appendCodePoint(I)Ljava/lang/StringBuilder;
-HSPLjava/lang/StringBuilder;->capacity()I
 HSPLjava/lang/StringBuilder;->charAt(I)C
-HSPLjava/lang/StringBuilder;->codePointBefore(I)I
 HSPLjava/lang/StringBuilder;->delete(II)Ljava/lang/StringBuilder;
 HSPLjava/lang/StringBuilder;->deleteCharAt(I)Ljava/lang/StringBuilder;
 HSPLjava/lang/StringBuilder;->ensureCapacity(I)V
 HSPLjava/lang/StringBuilder;->getChars(II[CI)V
 HSPLjava/lang/StringBuilder;->indexOf(Ljava/lang/String;)I
-HSPLjava/lang/StringBuilder;->indexOf(Ljava/lang/String;I)I
 HSPLjava/lang/StringBuilder;->insert(IC)Ljava/lang/StringBuilder;
 HSPLjava/lang/StringBuilder;->insert(II)Ljava/lang/StringBuilder;
 HSPLjava/lang/StringBuilder;->insert(ILjava/lang/String;)Ljava/lang/StringBuilder;
-HSPLjava/lang/StringBuilder;->lastIndexOf(Ljava/lang/String;)I
 HSPLjava/lang/StringBuilder;->lastIndexOf(Ljava/lang/String;I)I
 HSPLjava/lang/StringBuilder;->length()I
 HSPLjava/lang/StringBuilder;->replace(IILjava/lang/String;)Ljava/lang/StringBuilder;
-HSPLjava/lang/StringBuilder;->reverse()Ljava/lang/StringBuilder;
 HSPLjava/lang/StringBuilder;->setCharAt(IC)V
 HSPLjava/lang/StringBuilder;->setLength(I)V
 HSPLjava/lang/StringBuilder;->substring(I)Ljava/lang/String;
 HSPLjava/lang/StringBuilder;->substring(II)Ljava/lang/String;
 HSPLjava/lang/StringBuilder;->toString()Ljava/lang/String;
-HSPLjava/lang/StringBuilder;->trimToSize()V
 HSPLjava/lang/StringFactory;->newEmptyString()Ljava/lang/String;
 HSPLjava/lang/StringFactory;->newStringFromBytes([B)Ljava/lang/String;
-HSPLjava/lang/StringFactory;->newStringFromBytes([BI)Ljava/lang/String;
 HSPLjava/lang/StringFactory;->newStringFromBytes([BII)Ljava/lang/String;
 HSPLjava/lang/StringFactory;->newStringFromBytes([BIILjava/lang/String;)Ljava/lang/String;
 HSPLjava/lang/StringFactory;->newStringFromBytes([BIILjava/nio/charset/Charset;)Ljava/lang/String;
@@ -45926,7 +38023,6 @@
 HSPLjava/lang/System;->addLegacyLocaleSystemProperties()V
 HSPLjava/lang/System;->arraycopy([BI[BII)V
 HSPLjava/lang/System;->arraycopy([CI[CII)V
-HSPLjava/lang/System;->arraycopy([DI[DII)V
 HSPLjava/lang/System;->arraycopy([FI[FII)V
 HSPLjava/lang/System;->arraycopy([II[III)V
 HSPLjava/lang/System;->arraycopy([JI[JII)V
@@ -45936,7 +38032,6 @@
 HSPLjava/lang/System;->getProperties()Ljava/util/Properties;
 HSPLjava/lang/System;->getProperty(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/lang/System;->getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/lang/System;->getSecurityManager()Ljava/lang/SecurityManager;
 HSPLjava/lang/System;->getenv(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/lang/System;->identityHashCode(Ljava/lang/Object;)I
 HSPLjava/lang/System;->initProperties()Ljava/util/Properties;
@@ -45944,13 +38039,10 @@
 HSPLjava/lang/System;->lineSeparator()Ljava/lang/String;
 HSPLjava/lang/System;->load(Ljava/lang/String;)V
 HSPLjava/lang/System;->loadLibrary(Ljava/lang/String;)V
-HSPLjava/lang/System;->logE(Ljava/lang/String;Ljava/lang/Throwable;)V
-HSPLjava/lang/System;->logI(Ljava/lang/String;)V
 HSPLjava/lang/System;->logW(Ljava/lang/String;)V
 HSPLjava/lang/System;->logW(Ljava/lang/String;Ljava/lang/Throwable;)V
 HSPLjava/lang/System;->newPrintStream(Ljava/io/FileOutputStream;Ljava/lang/String;)Ljava/io/PrintStream;
 HSPLjava/lang/System;->runFinalization()V
-HSPLjava/lang/System;->setDefaultChangeableProperties(Ljava/util/Properties;)Ljava/util/Properties;
 HSPLjava/lang/System;->setErr(Ljava/io/PrintStream;)V
 HSPLjava/lang/System;->setOut(Ljava/io/PrintStream;)V
 HSPLjava/lang/System;->setProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
@@ -45958,13 +38050,11 @@
 HSPLjava/lang/Thread;-><init>(Ljava/lang/Runnable;)V
 HSPLjava/lang/Thread;-><init>(Ljava/lang/Runnable;Ljava/lang/String;)V
 HSPLjava/lang/Thread;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/Thread;-><init>(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;)V
 HSPLjava/lang/Thread;-><init>(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;)V
 HSPLjava/lang/Thread;-><init>(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
 HSPLjava/lang/Thread;-><init>(Ljava/lang/ThreadGroup;Ljava/lang/String;IZ)V
 HSPLjava/lang/Thread;->activeCount()I
 HSPLjava/lang/Thread;->blockedOn(Lsun/nio/ch/Interruptible;)V
-HSPLjava/lang/Thread;->getAllStackTraces()Ljava/util/Map;
 HSPLjava/lang/Thread;->getContextClassLoader()Ljava/lang/ClassLoader;
 HSPLjava/lang/Thread;->getDefaultUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;
 HSPLjava/lang/Thread;->getId()J
@@ -45972,10 +38062,8 @@
 HSPLjava/lang/Thread;->getPriority()I
 HSPLjava/lang/Thread;->getStackTrace()[Ljava/lang/StackTraceElement;
 HSPLjava/lang/Thread;->getState()Ljava/lang/Thread$State;
-HSPLjava/lang/Thread;->getThreadGroup()Ljava/lang/ThreadGroup;
 HSPLjava/lang/Thread;->getUncaughtExceptionHandler()Ljava/lang/Thread$UncaughtExceptionHandler;
-HSPLjava/lang/Thread;->holdsLock(Ljava/lang/Object;)Z
-HSPLjava/lang/Thread;->init(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;J)V
+HSPLjava/lang/Thread;->init(Ljava/lang/ThreadGroup;Ljava/lang/Runnable;Ljava/lang/String;JLjava/security/AccessControlContext;)V
 HSPLjava/lang/Thread;->interrupt()V
 HSPLjava/lang/Thread;->isAlive()Z
 HSPLjava/lang/Thread;->isDaemon()Z
@@ -45983,28 +38071,21 @@
 HSPLjava/lang/Thread;->join(J)V
 HSPLjava/lang/Thread;->nextThreadID()J
 HSPLjava/lang/Thread;->nextThreadNum()I
-HSPLjava/lang/Thread;->parkFor$(J)V
 HSPLjava/lang/Thread;->run()V
 HSPLjava/lang/Thread;->setContextClassLoader(Ljava/lang/ClassLoader;)V
 HSPLjava/lang/Thread;->setDaemon(Z)V
 HSPLjava/lang/Thread;->setDefaultUncaughtExceptionHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V
 HSPLjava/lang/Thread;->setName(Ljava/lang/String;)V
 HSPLjava/lang/Thread;->setPriority(I)V
+HSPLjava/lang/Thread;->setSystemDaemon(Z)V
 HSPLjava/lang/Thread;->setUncaughtExceptionHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V
 HSPLjava/lang/Thread;->setUncaughtExceptionPreHandler(Ljava/lang/Thread$UncaughtExceptionHandler;)V
 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/Thread;->unpark$()V
-HSPLjava/lang/ThreadGroup;-><init>(Ljava/lang/String;)V
-HSPLjava/lang/ThreadGroup;-><init>(Ljava/lang/ThreadGroup;Ljava/lang/String;)V
 HSPLjava/lang/ThreadGroup;->activeCount()I
 HSPLjava/lang/ThreadGroup;->add(Ljava/lang/Thread;)V
-HSPLjava/lang/ThreadGroup;->add(Ljava/lang/ThreadGroup;)V
 HSPLjava/lang/ThreadGroup;->addUnstarted()V
-HSPLjava/lang/ThreadGroup;->enumerate([Ljava/lang/Thread;)I
-HSPLjava/lang/ThreadGroup;->enumerate([Ljava/lang/Thread;IZ)I
 HSPLjava/lang/ThreadGroup;->remove(Ljava/lang/Thread;)V
 HSPLjava/lang/ThreadGroup;->threadTerminated(Ljava/lang/Thread;)V
 HSPLjava/lang/ThreadLocal$SuppliedThreadLocal;->initialValue()Ljava/lang/Object;
@@ -46012,7 +38093,6 @@
 HSPLjava/lang/ThreadLocal$ThreadLocalMap;-><init>(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
 HSPLjava/lang/ThreadLocal$ThreadLocalMap;->access$000(Ljava/lang/ThreadLocal$ThreadLocalMap;Ljava/lang/ThreadLocal;)Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;
 HSPLjava/lang/ThreadLocal$ThreadLocalMap;->expungeStaleEntry(I)I
-HSPLjava/lang/ThreadLocal$ThreadLocalMap;->getEntry(Ljava/lang/ThreadLocal;)Ljava/lang/ThreadLocal$ThreadLocalMap$Entry;
 HSPLjava/lang/ThreadLocal$ThreadLocalMap;->remove(Ljava/lang/ThreadLocal;)V
 HSPLjava/lang/ThreadLocal$ThreadLocalMap;->resize()V
 HSPLjava/lang/ThreadLocal$ThreadLocalMap;->set(Ljava/lang/ThreadLocal;Ljava/lang/Object;)V
@@ -46024,13 +38104,12 @@
 HSPLjava/lang/ThreadLocal;->remove()V
 HSPLjava/lang/ThreadLocal;->set(Ljava/lang/Object;)V
 HSPLjava/lang/ThreadLocal;->withInitial(Ljava/util/function/Supplier;)Ljava/lang/ThreadLocal;
-HSPLjava/lang/Throwable$WrappedPrintStream;->lock()Ljava/lang/Object;
-HSPLjava/lang/Throwable$WrappedPrintStream;->println(Ljava/lang/Object;)V
 HSPLjava/lang/Throwable$WrappedPrintWriter;->lock()Ljava/lang/Object;
 HSPLjava/lang/Throwable$WrappedPrintWriter;->println(Ljava/lang/Object;)V
 HSPLjava/lang/Throwable;-><init>()V
 HSPLjava/lang/Throwable;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/Throwable;-><init>(Ljava/lang/String;Ljava/lang/Throwable;ZZ)V
+HSPLjava/lang/Throwable;->addSuppressed(Ljava/lang/Throwable;)V
 HSPLjava/lang/Throwable;->fillInStackTrace()Ljava/lang/Throwable;
 HSPLjava/lang/Throwable;->getCause()Ljava/lang/Throwable;
 HSPLjava/lang/Throwable;->getLocalizedMessage()Ljava/lang/String;
@@ -46040,43 +38119,31 @@
 HSPLjava/lang/Throwable;->getSuppressed()[Ljava/lang/Throwable;
 HSPLjava/lang/Throwable;->initCause(Ljava/lang/Throwable;)Ljava/lang/Throwable;
 HSPLjava/lang/Throwable;->printEnclosedStackTrace(Ljava/lang/Throwable$PrintStreamOrWriter;[Ljava/lang/StackTraceElement;Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)V
-HSPLjava/lang/Throwable;->printStackTrace()V
-HSPLjava/lang/Throwable;->printStackTrace(Ljava/io/PrintStream;)V
 HSPLjava/lang/Throwable;->printStackTrace(Ljava/io/PrintWriter;)V
 HSPLjava/lang/Throwable;->printStackTrace(Ljava/lang/Throwable$PrintStreamOrWriter;)V
-HSPLjava/lang/Throwable;->readObject(Ljava/io/ObjectInputStream;)V
 HSPLjava/lang/Throwable;->setStackTrace([Ljava/lang/StackTraceElement;)V
 HSPLjava/lang/Throwable;->toString()Ljava/lang/String;
-HSPLjava/lang/Throwable;->writeObject(Ljava/io/ObjectOutputStream;)V
 HSPLjava/lang/UNIXProcess$1;-><init>()V
 HSPLjava/lang/UNIXProcess$1;->run()Ljava/lang/Object;
 HSPLjava/lang/UNIXProcess$1;->run()Ljava/util/concurrent/Executor;
 HSPLjava/lang/UNIXProcess$2;->run()Ljava/lang/Object;
 HSPLjava/lang/UNIXProcess$2;->run()Ljava/lang/Void;
 HSPLjava/lang/UNIXProcess$3;->run()V
-HSPLjava/lang/UNIXProcess$ProcessPipeInputStream;->drainInputStream(Ljava/io/InputStream;)[B
 HSPLjava/lang/UNIXProcess$ProcessPipeInputStream;->processExited()V
 HSPLjava/lang/UNIXProcess$ProcessPipeOutputStream;->processExited()V
 HSPLjava/lang/UNIXProcess$ProcessReaperThreadFactory;->getRootThreadGroup()Ljava/lang/ThreadGroup;
 HSPLjava/lang/UNIXProcess$ProcessReaperThreadFactory;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
 HSPLjava/lang/UNIXProcess;-><init>([B[BI[BI[B[IZ)V
-HSPLjava/lang/UNIXProcess;->destroy()V
-HSPLjava/lang/UNIXProcess;->exitValue()I
 HSPLjava/lang/UNIXProcess;->getErrorStream()Ljava/io/InputStream;
 HSPLjava/lang/UNIXProcess;->getInputStream()Ljava/io/InputStream;
 HSPLjava/lang/UNIXProcess;->getOutputStream()Ljava/io/OutputStream;
 HSPLjava/lang/UNIXProcess;->initStreams([I)V
 HSPLjava/lang/UNIXProcess;->processExited(I)V
-HSPLjava/lang/UNIXProcess;->waitFor()I
-HSPLjava/lang/UnsupportedOperationException;-><init>()V
+HSPLjava/lang/UnsatisfiedLinkError;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/UnsupportedOperationException;-><init>(Ljava/lang/String;)V
 HSPLjava/lang/VMClassLoader;->createBootClassPathUrlHandlers()[Llibcore/io/ClassPathURLStreamHandler;
 HSPLjava/lang/VMClassLoader;->getResource(Ljava/lang/String;)Ljava/net/URL;
 HSPLjava/lang/VMClassLoader;->getResources(Ljava/lang/String;)Ljava/util/List;
-HSPLjava/lang/annotation/ElementType;-><init>(Ljava/lang/String;I)V
-HSPLjava/lang/annotation/Retention;->value()Ljava/lang/annotation/RetentionPolicy;
-HSPLjava/lang/annotation/RetentionPolicy;-><init>(Ljava/lang/String;I)V
-HSPLjava/lang/annotation/Target;->value()[Ljava/lang/annotation/ElementType;
 HSPLjava/lang/invoke/VarHandle;->acquireFence()V
 HSPLjava/lang/invoke/VarHandle;->fullFence()V
 HSPLjava/lang/invoke/VarHandle;->loadLoadFence()V
@@ -46089,9 +38156,9 @@
 HSPLjava/lang/ref/FinalizerReference;->remove(Ljava/lang/ref/FinalizerReference;)V
 HSPLjava/lang/ref/PhantomReference;-><init>(Ljava/lang/Object;Ljava/lang/ref/ReferenceQueue;)V
 HSPLjava/lang/ref/Reference$SinkHolder$1;-><init>()V
+HSPLjava/lang/ref/Reference;-><init>(Ljava/lang/Object;)V
 HSPLjava/lang/ref/Reference;->clear()V
 HSPLjava/lang/ref/Reference;->get()Ljava/lang/Object;
-HSPLjava/lang/ref/Reference;->isEnqueued()Z
 HSPLjava/lang/ref/Reference;->reachabilityFence(Ljava/lang/Object;)V
 HSPLjava/lang/ref/ReferenceQueue;-><init>()V
 HSPLjava/lang/ref/ReferenceQueue;->add(Ljava/lang/ref/Reference;)V
@@ -46115,45 +38182,23 @@
 HSPLjava/lang/reflect/Array;->newInstance(Ljava/lang/Class;I)Ljava/lang/Object;
 HSPLjava/lang/reflect/Array;->newInstance(Ljava/lang/Class;[I)Ljava/lang/Object;
 HSPLjava/lang/reflect/Array;->set(Ljava/lang/Object;ILjava/lang/Object;)V
-HSPLjava/lang/reflect/Array;->setByte(Ljava/lang/Object;IB)V
-HSPLjava/lang/reflect/Array;->setInt(Ljava/lang/Object;II)V
-HSPLjava/lang/reflect/Array;->setLong(Ljava/lang/Object;IJ)V
-HSPLjava/lang/reflect/Constructor;->equals(Ljava/lang/Object;)Z
-HSPLjava/lang/reflect/Constructor;->getDeclaredAnnotations()[Ljava/lang/annotation/Annotation;
 HSPLjava/lang/reflect/Constructor;->getDeclaringClass()Ljava/lang/Class;
-HSPLjava/lang/reflect/Constructor;->getGenericParameterTypes()[Ljava/lang/reflect/Type;
-HSPLjava/lang/reflect/Constructor;->getModifiers()I
-HSPLjava/lang/reflect/Constructor;->getName()Ljava/lang/String;
-HSPLjava/lang/reflect/Constructor;->getParameterAnnotations()[[Ljava/lang/annotation/Annotation;
 HSPLjava/lang/reflect/Constructor;->getParameterTypes()[Ljava/lang/Class;
-HSPLjava/lang/reflect/Constructor;->getTypeParameters()[Ljava/lang/reflect/TypeVariable;
-HSPLjava/lang/reflect/Constructor;->hashCode()I
-HSPLjava/lang/reflect/Constructor;->isSynthetic()Z
 HSPLjava/lang/reflect/Constructor;->newInstance([Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/lang/reflect/Executable;->getMethodOrConstructorGenericInfoInternal()Ljava/lang/reflect/Executable$GenericInfo;
-HSPLjava/lang/reflect/Executable;->getParameters()[Ljava/lang/reflect/Parameter;
 HSPLjava/lang/reflect/Executable;->isAnnotationPresent(Ljava/lang/Class;)Z
 HSPLjava/lang/reflect/Executable;->printModifiersIfNonzero(Ljava/lang/StringBuilder;IZ)V
-HSPLjava/lang/reflect/Executable;->privateGetParameters()[Ljava/lang/reflect/Parameter;
 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/Executable;->synthesizeAllParams()[Ljava/lang/reflect/Parameter;
 HSPLjava/lang/reflect/Field;->getAnnotation(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
-HSPLjava/lang/reflect/Field;->getDeclaringClass()Ljava/lang/Class;
 HSPLjava/lang/reflect/Field;->getGenericType()Ljava/lang/reflect/Type;
 HSPLjava/lang/reflect/Field;->getModifiers()I
 HSPLjava/lang/reflect/Field;->getName()Ljava/lang/String;
-HSPLjava/lang/reflect/Field;->getSignatureAttribute()Ljava/lang/String;
 HSPLjava/lang/reflect/Field;->getType()Ljava/lang/Class;
-HSPLjava/lang/reflect/Field;->hashCode()I
 HSPLjava/lang/reflect/Field;->isAnnotationPresent(Ljava/lang/Class;)Z
-HSPLjava/lang/reflect/Field;->isEnumConstant()Z
 HSPLjava/lang/reflect/Field;->isSynthetic()Z
-HSPLjava/lang/reflect/GenericArrayType;->getGenericComponentType()Ljava/lang/reflect/Type;
-HSPLjava/lang/reflect/InvocationHandler;->invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/lang/reflect/InvocationTargetException;-><init>(Ljava/lang/Throwable;)V
 HSPLjava/lang/reflect/InvocationTargetException;->getCause()Ljava/lang/Throwable;
-HSPLjava/lang/reflect/InvocationTargetException;->getTargetException()Ljava/lang/Throwable;
 HSPLjava/lang/reflect/Method$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLjava/lang/reflect/Method$1;->compare(Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)I
 HSPLjava/lang/reflect/Method;->equals(Ljava/lang/Object;)Z
@@ -46165,89 +38210,45 @@
 HSPLjava/lang/reflect/Method;->getModifiers()I
 HSPLjava/lang/reflect/Method;->getName()Ljava/lang/String;
 HSPLjava/lang/reflect/Method;->getParameterAnnotations()[[Ljava/lang/annotation/Annotation;
-HSPLjava/lang/reflect/Method;->getParameterCount()I
 HSPLjava/lang/reflect/Method;->getParameterTypes()[Ljava/lang/Class;
 HSPLjava/lang/reflect/Method;->getReturnType()Ljava/lang/Class;
-HSPLjava/lang/reflect/Method;->getTypeParameters()[Ljava/lang/reflect/TypeVariable;
-HSPLjava/lang/reflect/Method;->hashCode()I
-HSPLjava/lang/reflect/Method;->isBridge()Z
-HSPLjava/lang/reflect/Method;->isDefault()Z
 HSPLjava/lang/reflect/Method;->isSynthetic()Z
-HSPLjava/lang/reflect/Method;->isVarArgs()Z
 HSPLjava/lang/reflect/Method;->specificToStringHeader(Ljava/lang/StringBuilder;)V
 HSPLjava/lang/reflect/Method;->toString()Ljava/lang/String;
 HSPLjava/lang/reflect/Modifier;->isAbstract(I)Z
 HSPLjava/lang/reflect/Modifier;->isFinal(I)Z
-HSPLjava/lang/reflect/Modifier;->isInterface(I)Z
-HSPLjava/lang/reflect/Modifier;->isPrivate(I)Z
-HSPLjava/lang/reflect/Modifier;->isProtected(I)Z
 HSPLjava/lang/reflect/Modifier;->isPublic(I)Z
 HSPLjava/lang/reflect/Modifier;->isStatic(I)Z
-HSPLjava/lang/reflect/Modifier;->isTransient(I)Z
 HSPLjava/lang/reflect/Modifier;->toString(I)Ljava/lang/String;
-HSPLjava/lang/reflect/Parameter;->getName()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
 HSPLjava/lang/reflect/Proxy$Key1;->hashCode()I
-HSPLjava/lang/reflect/Proxy$Key2;->equals(Ljava/lang/Object;)Z
-HSPLjava/lang/reflect/Proxy$Key2;->hashCode()I
 HSPLjava/lang/reflect/Proxy$KeyFactory;->apply(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Object;
 HSPLjava/lang/reflect/Proxy$KeyFactory;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/lang/reflect/Proxy$ProxyClassFactory;->apply(Ljava/lang/ClassLoader;[Ljava/lang/Class;)Ljava/lang/Class;
 HSPLjava/lang/reflect/Proxy$ProxyClassFactory;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/lang/reflect/Proxy;->deduplicateAndGetExceptions(Ljava/util/List;)Ljava/util/List;
-HSPLjava/lang/reflect/Proxy;->getInvocationHandler(Ljava/lang/Object;)Ljava/lang/reflect/InvocationHandler;
 HSPLjava/lang/reflect/Proxy;->getMethods([Ljava/lang/Class;)Ljava/util/List;
 HSPLjava/lang/reflect/Proxy;->intersectExceptions([Ljava/lang/Class;[Ljava/lang/Class;)[Ljava/lang/Class;
 HSPLjava/lang/reflect/Proxy;->invoke(Ljava/lang/reflect/Proxy;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/lang/reflect/Proxy;->isProxyClass(Ljava/lang/Class;)Z
 HSPLjava/lang/reflect/Proxy;->newProxyInstance(Ljava/lang/ClassLoader;[Ljava/lang/Class;Ljava/lang/reflect/InvocationHandler;)Ljava/lang/Object;
 HSPLjava/lang/reflect/Proxy;->validateReturnTypes(Ljava/util/List;)V
 HSPLjava/lang/reflect/WeakCache$CacheKey;->equals(Ljava/lang/Object;)Z
 HSPLjava/lang/reflect/WeakCache$CacheKey;->hashCode()I
 HSPLjava/lang/reflect/WeakCache$CacheValue;->hashCode()I
 HSPLjava/lang/reflect/WeakCache$Factory;->get()Ljava/lang/Object;
-HSPLjava/lang/reflect/WeakCache$LookupValue;->equals(Ljava/lang/Object;)Z
-HSPLjava/lang/reflect/WeakCache$LookupValue;->hashCode()I
-HSPLjava/lang/reflect/WeakCache;->containsValue(Ljava/lang/Object;)Z
 HSPLjava/lang/reflect/WeakCache;->get(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/lang/reflect/WildcardType;->getLowerBounds()[Ljava/lang/reflect/Type;
-HSPLjava/lang/reflect/WildcardType;->getUpperBounds()[Ljava/lang/reflect/Type;
-HSPLjava/math/BigDecimal;-><init>(D)V
 HSPLjava/math/BigDecimal;-><init>(I)V
 HSPLjava/math/BigDecimal;-><init>(II)V
-HSPLjava/math/BigDecimal;-><init>(J)V
-HSPLjava/math/BigDecimal;-><init>(Ljava/lang/String;)V
-HSPLjava/math/BigDecimal;-><init>(Ljava/math/BigInteger;)V
 HSPLjava/math/BigDecimal;-><init>([CII)V
-HSPLjava/math/BigDecimal;->add(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->addAndMult10(Ljava/math/BigDecimal;Ljava/math/BigDecimal;I)Ljava/math/BigDecimal;
 HSPLjava/math/BigDecimal;->bitLength(J)I
-HSPLjava/math/BigDecimal;->divide(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->divide(Ljava/math/BigDecimal;ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->divide(Ljava/math/BigDecimal;Ljava/math/RoundingMode;)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->dividePrimitiveLongs(JJILjava/math/RoundingMode;)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->equals(Ljava/lang/Object;)Z
-HSPLjava/math/BigDecimal;->intValue()I
-HSPLjava/math/BigDecimal;->longValueExact()J
-HSPLjava/math/BigDecimal;->movePoint(J)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->movePointLeft(I)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->movePointRight(I)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->multiply(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->roundingBehavior(IILjava/math/RoundingMode;)I
-HSPLjava/math/BigDecimal;->safeLongToInt(J)I
-HSPLjava/math/BigDecimal;->setScale(ILjava/math/RoundingMode;)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->subtract(Ljava/math/BigDecimal;)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->toBigInteger()Ljava/math/BigInteger;
-HSPLjava/math/BigDecimal;->toBigIntegerExact()Ljava/math/BigInteger;
-HSPLjava/math/BigDecimal;->toString()Ljava/lang/String;
+HSPLjava/math/BigDecimal;->doubleValue()D
+HSPLjava/math/BigDecimal;->floatValue()F
+HSPLjava/math/BigDecimal;->signum()I
 HSPLjava/math/BigDecimal;->valueOf(D)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->valueOf(J)Ljava/math/BigDecimal;
-HSPLjava/math/BigDecimal;->valueOf(JI)Ljava/math/BigDecimal;
 HSPLjava/math/BigInt;->checkString(Ljava/lang/String;I)Ljava/lang/String;
 HSPLjava/math/BigInteger;-><init>(IJ)V
-HSPLjava/math/BigInteger;-><init>(ILjava/util/Random;)V
 HSPLjava/math/BigInteger;-><init>(I[B)V
 HSPLjava/math/BigInteger;-><init>(Ljava/lang/String;)V
 HSPLjava/math/BigInteger;-><init>(Ljava/lang/String;I)V
@@ -46259,7 +38260,6 @@
 HSPLjava/math/BigInteger;->divide(Ljava/math/BigInteger;)Ljava/math/BigInteger;
 HSPLjava/math/BigInteger;->divideAndRemainder(Ljava/math/BigInteger;)[Ljava/math/BigInteger;
 HSPLjava/math/BigInteger;->equals(Ljava/lang/Object;)Z
-HSPLjava/math/BigInteger;->gcd(Ljava/math/BigInteger;)Ljava/math/BigInteger;
 HSPLjava/math/BigInteger;->getBigInt()Ljava/math/BigInt;
 HSPLjava/math/BigInteger;->getFirstNonzeroDigit()I
 HSPLjava/math/BigInteger;->getLowestSetBit()I
@@ -46267,12 +38267,13 @@
 HSPLjava/math/BigInteger;->intValue()I
 HSPLjava/math/BigInteger;->longValue()J
 HSPLjava/math/BigInteger;->mod(Ljava/math/BigInteger;)Ljava/math/BigInteger;
-HSPLjava/math/BigInteger;->modInverse(Ljava/math/BigInteger;)Ljava/math/BigInteger;
 HSPLjava/math/BigInteger;->modPow(Ljava/math/BigInteger;Ljava/math/BigInteger;)Ljava/math/BigInteger;
 HSPLjava/math/BigInteger;->multiply(Ljava/math/BigInteger;)Ljava/math/BigInteger;
 HSPLjava/math/BigInteger;->pow(I)Ljava/math/BigInteger;
 HSPLjava/math/BigInteger;->prepareJavaRepresentation()V
+HSPLjava/math/BigInteger;->readObject(Ljava/io/ObjectInputStream;)V
 HSPLjava/math/BigInteger;->shiftLeft(I)Ljava/math/BigInteger;
+HSPLjava/math/BigInteger;->shiftLeftOneBit()Ljava/math/BigInteger;
 HSPLjava/math/BigInteger;->shiftRight(I)Ljava/math/BigInteger;
 HSPLjava/math/BigInteger;->signum()I
 HSPLjava/math/BigInteger;->subtract(Ljava/math/BigInteger;)Ljava/math/BigInteger;
@@ -46282,45 +38283,24 @@
 HSPLjava/math/BigInteger;->twosComplement()[B
 HSPLjava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;
 HSPLjava/math/Conversion;->bigInteger2String(Ljava/math/BigInteger;I)Ljava/lang/String;
-HSPLjava/math/Conversion;->toDecimalScaledString(JI)Ljava/lang/String;
 HSPLjava/math/MathContext;-><init>(I)V
 HSPLjava/math/MathContext;-><init>(ILjava/math/RoundingMode;)V
 HSPLjava/math/MathContext;->checkValid()V
-HSPLjava/math/Multiplication;->multiplyByFivePow(Ljava/math/BigInteger;I)Ljava/math/BigInteger;
 HSPLjava/math/Multiplication;->powerOf10(J)Ljava/math/BigInteger;
-HSPLjava/math/NativeBN;->size()J
 HSPLjava/math/RoundingMode;-><init>(Ljava/lang/String;II)V
 HSPLjava/math/RoundingMode;->valueOf(I)Ljava/math/RoundingMode;
 HSPLjava/math/RoundingMode;->values()[Ljava/math/RoundingMode;
 HSPLjava/net/AbstractPlainDatagramSocketImpl;->bind(ILjava/net/InetAddress;)V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->bind0(ILjava/net/InetAddress;)V
 HSPLjava/net/AbstractPlainDatagramSocketImpl;->close()V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->connect0(Ljava/net/InetAddress;I)V
 HSPLjava/net/AbstractPlainDatagramSocketImpl;->create()V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->datagramSocketClose()V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->datagramSocketCreate()V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->disconnect0(I)V
 HSPLjava/net/AbstractPlainDatagramSocketImpl;->finalize()V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->getTTL()B
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->getTimeToLive()I
 HSPLjava/net/AbstractPlainDatagramSocketImpl;->isClosed()Z
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->join(Ljava/net/InetAddress;)V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->join(Ljava/net/InetAddress;Ljava/net/NetworkInterface;)V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->leave(Ljava/net/InetAddress;Ljava/net/NetworkInterface;)V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->peek(Ljava/net/InetAddress;)I
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->peekData(Ljava/net/DatagramPacket;)I
+HSPLjava/net/AbstractPlainDatagramSocketImpl;->joinGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V
 HSPLjava/net/AbstractPlainDatagramSocketImpl;->receive(Ljava/net/DatagramPacket;)V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->receive0(Ljava/net/DatagramPacket;)V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->send(Ljava/net/DatagramPacket;)V
 HSPLjava/net/AbstractPlainDatagramSocketImpl;->setOption(ILjava/lang/Object;)V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->setTTL(B)V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->setTimeToLive(I)V
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->socketGetOption(I)Ljava/lang/Object;
-HSPLjava/net/AbstractPlainDatagramSocketImpl;->socketSetOption(ILjava/lang/Object;)V
 HSPLjava/net/AbstractPlainSocketImpl;-><init>()V
 HSPLjava/net/AbstractPlainSocketImpl;->accept(Ljava/net/SocketImpl;)V
 HSPLjava/net/AbstractPlainSocketImpl;->acquireFD()Ljava/io/FileDescriptor;
-HSPLjava/net/AbstractPlainSocketImpl;->available()I
 HSPLjava/net/AbstractPlainSocketImpl;->bind(Ljava/net/InetAddress;I)V
 HSPLjava/net/AbstractPlainSocketImpl;->close()V
 HSPLjava/net/AbstractPlainSocketImpl;->connect(Ljava/net/SocketAddress;I)V
@@ -46333,24 +38313,10 @@
 HSPLjava/net/AbstractPlainSocketImpl;->getTimeout()I
 HSPLjava/net/AbstractPlainSocketImpl;->isClosedOrPending()Z
 HSPLjava/net/AbstractPlainSocketImpl;->isConnectionReset()Z
-HSPLjava/net/AbstractPlainSocketImpl;->isConnectionResetPending()Z
 HSPLjava/net/AbstractPlainSocketImpl;->listen(I)V
 HSPLjava/net/AbstractPlainSocketImpl;->releaseFD()V
 HSPLjava/net/AbstractPlainSocketImpl;->setOption(ILjava/lang/Object;)V
-HSPLjava/net/AbstractPlainSocketImpl;->shutdownInput()V
-HSPLjava/net/AbstractPlainSocketImpl;->shutdownOutput()V
-HSPLjava/net/AbstractPlainSocketImpl;->socketAccept(Ljava/net/SocketImpl;)V
-HSPLjava/net/AbstractPlainSocketImpl;->socketAvailable()I
-HSPLjava/net/AbstractPlainSocketImpl;->socketBind(Ljava/net/InetAddress;I)V
 HSPLjava/net/AbstractPlainSocketImpl;->socketClose()V
-HSPLjava/net/AbstractPlainSocketImpl;->socketClose0(Z)V
-HSPLjava/net/AbstractPlainSocketImpl;->socketConnect(Ljava/net/InetAddress;II)V
-HSPLjava/net/AbstractPlainSocketImpl;->socketCreate(Z)V
-HSPLjava/net/AbstractPlainSocketImpl;->socketGetOption(I)Ljava/lang/Object;
-HSPLjava/net/AbstractPlainSocketImpl;->socketListen(I)V
-HSPLjava/net/AbstractPlainSocketImpl;->socketSendUrgentData(I)V
-HSPLjava/net/AbstractPlainSocketImpl;->socketSetOption(ILjava/lang/Object;)V
-HSPLjava/net/AbstractPlainSocketImpl;->socketShutdown(I)V
 HSPLjava/net/AddressCache$AddressCacheKey;->equals(Ljava/lang/Object;)Z
 HSPLjava/net/AddressCache$AddressCacheKey;->hashCode()I
 HSPLjava/net/AddressCache;-><init>()V
@@ -46358,31 +38324,13 @@
 HSPLjava/net/AddressCache;->get(Ljava/lang/String;I)Ljava/lang/Object;
 HSPLjava/net/AddressCache;->put(Ljava/lang/String;I[Ljava/net/InetAddress;)V
 HSPLjava/net/AddressCache;->putUnknownHost(Ljava/lang/String;ILjava/lang/String;)V
-HSPLjava/net/CookieHandler;-><init>()V
-HSPLjava/net/CookieHandler;->get(Ljava/net/URI;Ljava/util/Map;)Ljava/util/Map;
+HSPLjava/net/Authenticator;-><init>()V
+HSPLjava/net/Authenticator;->setDefault(Ljava/net/Authenticator;)V
 HSPLjava/net/CookieHandler;->getDefault()Ljava/net/CookieHandler;
-HSPLjava/net/CookieHandler;->put(Ljava/net/URI;Ljava/util/Map;)V
-HSPLjava/net/CookieHandler;->setDefault(Ljava/net/CookieHandler;)V
-HSPLjava/net/CookieManager$CookiePathComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLjava/net/CookieManager$CookiePathComparator;->compare(Ljava/net/HttpCookie;Ljava/net/HttpCookie;)I
 HSPLjava/net/CookieManager;-><init>()V
-HSPLjava/net/CookieManager;-><init>(Ljava/net/CookieStore;Ljava/net/CookiePolicy;)V
-HSPLjava/net/CookieManager;->get(Ljava/net/URI;Ljava/util/Map;)Ljava/util/Map;
-HSPLjava/net/CookieManager;->put(Ljava/net/URI;Ljava/util/Map;)V
-HSPLjava/net/CookieManager;->setCookiePolicy(Ljava/net/CookiePolicy;)V
-HSPLjava/net/CookieManager;->shouldAcceptInternal(Ljava/net/URI;Ljava/net/HttpCookie;)Z
-HSPLjava/net/CookieManager;->sortByPath(Ljava/util/List;)Ljava/util/List;
 HSPLjava/net/CookiePolicy$1;-><init>()V
-HSPLjava/net/CookiePolicy$1;->shouldAccept(Ljava/net/URI;Ljava/net/HttpCookie;)Z
 HSPLjava/net/CookiePolicy$2;-><init>()V
 HSPLjava/net/CookiePolicy$3;-><init>()V
-HSPLjava/net/CookiePolicy$3;->shouldAccept(Ljava/net/URI;Ljava/net/HttpCookie;)Z
-HSPLjava/net/CookieStore;->add(Ljava/net/URI;Ljava/net/HttpCookie;)V
-HSPLjava/net/CookieStore;->get(Ljava/net/URI;)Ljava/util/List;
-HSPLjava/net/CookieStore;->getCookies()Ljava/util/List;
-HSPLjava/net/CookieStore;->getURIs()Ljava/util/List;
-HSPLjava/net/CookieStore;->remove(Ljava/net/URI;Ljava/net/HttpCookie;)Z
-HSPLjava/net/CookieStore;->removeAll()Z
 HSPLjava/net/DatagramPacket;-><init>([BI)V
 HSPLjava/net/DatagramPacket;-><init>([BILjava/net/InetAddress;I)V
 HSPLjava/net/DatagramPacket;-><init>([BILjava/net/SocketAddress;)V
@@ -46398,7 +38346,6 @@
 HSPLjava/net/DatagramSocket$1;->run()Ljava/lang/Object;
 HSPLjava/net/DatagramSocket$1;->run()Ljava/lang/Void;
 HSPLjava/net/DatagramSocket;-><init>()V
-HSPLjava/net/DatagramSocket;-><init>(Ljava/net/DatagramSocketImpl;)V
 HSPLjava/net/DatagramSocket;-><init>(Ljava/net/SocketAddress;)V
 HSPLjava/net/DatagramSocket;->bind(Ljava/net/SocketAddress;)V
 HSPLjava/net/DatagramSocket;->checkAddress(Ljava/net/InetAddress;Ljava/lang/String;)V
@@ -46414,19 +38361,9 @@
 HSPLjava/net/DatagramSocket;->setReceiveBufferSize(I)V
 HSPLjava/net/DatagramSocket;->setReuseAddress(Z)V
 HSPLjava/net/DatagramSocket;->setSoTimeout(I)V
-HSPLjava/net/DatagramSocketImpl;->bind(ILjava/net/InetAddress;)V
-HSPLjava/net/DatagramSocketImpl;->close()V
-HSPLjava/net/DatagramSocketImpl;->create()V
-HSPLjava/net/DatagramSocketImpl;->join(Ljava/net/InetAddress;)V
-HSPLjava/net/DatagramSocketImpl;->joinGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V
-HSPLjava/net/DatagramSocketImpl;->leave(Ljava/net/InetAddress;)V
-HSPLjava/net/DatagramSocketImpl;->leaveGroup(Ljava/net/SocketAddress;Ljava/net/NetworkInterface;)V
-HSPLjava/net/DatagramSocketImpl;->receive(Ljava/net/DatagramPacket;)V
 HSPLjava/net/DatagramSocketImpl;->setDatagramSocket(Ljava/net/DatagramSocket;)V
 HSPLjava/net/DefaultDatagramSocketImplFactory;->createDatagramSocketImpl(Z)Ljava/net/DatagramSocketImpl;
-HSPLjava/net/DefaultFileNameMap;->getContentTypeFor(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/net/DefaultInterface;->getDefault()Ljava/net/NetworkInterface;
-HSPLjava/net/FileNameMap;->getContentTypeFor(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/net/HttpCookie$10;-><init>()V
 HSPLjava/net/HttpCookie$11;-><init>()V
 HSPLjava/net/HttpCookie$11;->assign(Ljava/net/HttpCookie;Ljava/lang/String;Ljava/lang/String;)V
@@ -46440,44 +38377,18 @@
 HSPLjava/net/HttpCookie$6;->assign(Ljava/net/HttpCookie;Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/net/HttpCookie$7;-><init>()V
 HSPLjava/net/HttpCookie$8;-><init>()V
-HSPLjava/net/HttpCookie$8;->assign(Ljava/net/HttpCookie;Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/net/HttpCookie$9;-><init>()V
 HSPLjava/net/HttpCookie$9;->assign(Ljava/net/HttpCookie;Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/net/HttpCookie;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/net/HttpCookie;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/net/HttpCookie;->domainMatches(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLjava/net/HttpCookie;->equals(Ljava/lang/Object;)Z
-HSPLjava/net/HttpCookie;->getComment()Ljava/lang/String;
-HSPLjava/net/HttpCookie;->getCommentURL()Ljava/lang/String;
-HSPLjava/net/HttpCookie;->getDiscard()Z
-HSPLjava/net/HttpCookie;->getDomain()Ljava/lang/String;
-HSPLjava/net/HttpCookie;->getMaxAge()J
 HSPLjava/net/HttpCookie;->getName()Ljava/lang/String;
-HSPLjava/net/HttpCookie;->getPath()Ljava/lang/String;
-HSPLjava/net/HttpCookie;->getPortlist()Ljava/lang/String;
-HSPLjava/net/HttpCookie;->getSecure()Z
-HSPLjava/net/HttpCookie;->getValue()Ljava/lang/String;
-HSPLjava/net/HttpCookie;->getVersion()I
 HSPLjava/net/HttpCookie;->guessCookieVersion(Ljava/lang/String;)I
 HSPLjava/net/HttpCookie;->hasExpired()Z
-HSPLjava/net/HttpCookie;->hashCode()I
-HSPLjava/net/HttpCookie;->isHttpOnly()Z
 HSPLjava/net/HttpCookie;->isToken(Ljava/lang/String;)Z
 HSPLjava/net/HttpCookie;->parse(Ljava/lang/String;)Ljava/util/List;
 HSPLjava/net/HttpCookie;->parse(Ljava/lang/String;Z)Ljava/util/List;
 HSPLjava/net/HttpCookie;->parseInternal(Ljava/lang/String;Z)Ljava/net/HttpCookie;
-HSPLjava/net/HttpCookie;->setComment(Ljava/lang/String;)V
-HSPLjava/net/HttpCookie;->setCommentURL(Ljava/lang/String;)V
-HSPLjava/net/HttpCookie;->setDiscard(Z)V
-HSPLjava/net/HttpCookie;->setDomain(Ljava/lang/String;)V
-HSPLjava/net/HttpCookie;->setMaxAge(J)V
-HSPLjava/net/HttpCookie;->setPath(Ljava/lang/String;)V
-HSPLjava/net/HttpCookie;->setPortlist(Ljava/lang/String;)V
-HSPLjava/net/HttpCookie;->setSecure(Z)V
-HSPLjava/net/HttpCookie;->setVersion(I)V
 HSPLjava/net/HttpCookie;->startsWithIgnoreCase(Ljava/lang/String;Ljava/lang/String;)Z
 HSPLjava/net/HttpCookie;->stripOffSurroundingQuote(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/net/HttpCookie;->toRFC2965HeaderString()Ljava/lang/String;
 HSPLjava/net/HttpCookie;->toString()Ljava/lang/String;
 HSPLjava/net/HttpURLConnection;-><init>(Ljava/net/URL;)V
 HSPLjava/net/HttpURLConnection;->getFollowRedirects()Z
@@ -46490,13 +38401,6 @@
 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/InMemoryCookieStore;->add(Ljava/net/URI;Ljava/net/HttpCookie;)V
-HSPLjava/net/InMemoryCookieStore;->addIndex(Ljava/util/Map;Ljava/lang/Object;Ljava/net/HttpCookie;)V
-HSPLjava/net/InMemoryCookieStore;->get(Ljava/net/URI;)Ljava/util/List;
-HSPLjava/net/InMemoryCookieStore;->getEffectiveURI(Ljava/net/URI;)Ljava/net/URI;
-HSPLjava/net/InMemoryCookieStore;->getInternal1(Ljava/util/List;Ljava/util/Map;Ljava/lang/String;)V
-HSPLjava/net/InMemoryCookieStore;->getInternal2(Ljava/util/List;Ljava/util/Map;Ljava/lang/Comparable;)V
-HSPLjava/net/InMemoryCookieStore;->netscapeDomainMatches(Ljava/lang/String;Ljava/lang/String;)Z
 HSPLjava/net/Inet4Address;-><init>()V
 HSPLjava/net/Inet4Address;-><init>(Ljava/lang/String;[B)V
 HSPLjava/net/Inet4Address;->equals(Ljava/lang/Object;)Z
@@ -46517,7 +38421,6 @@
 HSPLjava/net/Inet6Address$Inet6AddressHolder;->isMulticastAddress()Z
 HSPLjava/net/Inet6Address$Inet6AddressHolder;->isSiteLocalAddress()Z
 HSPLjava/net/Inet6Address$Inet6AddressHolder;->setAddr([B)V
-HSPLjava/net/Inet6Address;-><init>()V
 HSPLjava/net/Inet6Address;-><init>(Ljava/lang/String;[BI)V
 HSPLjava/net/Inet6Address;->equals(Ljava/lang/Object;)Z
 HSPLjava/net/Inet6Address;->getAddress()[B
@@ -46539,56 +38442,55 @@
 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;
-HSPLjava/net/InetAddress;->getHostName()Ljava/lang/String;
+HSPLjava/net/InetAddress;->getLocalHost()Ljava/net/InetAddress;
 HSPLjava/net/InetAddress;->holder()Ljava/net/InetAddress$InetAddressHolder;
-HSPLjava/net/InetAddress;->isNumeric(Ljava/lang/String;)Z
 HSPLjava/net/InetAddress;->parseNumericAddress(Ljava/lang/String;)Ljava/net/InetAddress;
-HSPLjava/net/InetAddress;->parseNumericAddressNoThrow(Ljava/lang/String;)Ljava/net/InetAddress;
 HSPLjava/net/InetAddress;->toString()Ljava/lang/String;
-HSPLjava/net/InetAddressImpl;->anyLocalAddress()Ljava/net/InetAddress;
-HSPLjava/net/InetAddressImpl;->clearAddressCache()V
-HSPLjava/net/InetAddressImpl;->getHostByAddr([B)Ljava/lang/String;
-HSPLjava/net/InetAddressImpl;->isReachable(Ljava/net/InetAddress;ILjava/net/NetworkInterface;I)Z
-HSPLjava/net/InetAddressImpl;->lookupAllHostAddr(Ljava/lang/String;I)[Ljava/net/InetAddress;
-HSPLjava/net/InetAddressImpl;->loopbackAddresses()[Ljava/net/InetAddress;
 HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->equals(Ljava/lang/Object;)Z
 HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->getHostString()Ljava/lang/String;
-HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->hashCode()I
 HSPLjava/net/InetSocketAddress$InetSocketAddressHolder;->toString()Ljava/lang/String;
 HSPLjava/net/InetSocketAddress;-><init>()V
-HSPLjava/net/InetSocketAddress;-><init>(I)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;->getHostName()Ljava/lang/String;
 HSPLjava/net/InetSocketAddress;->getHostString()Ljava/lang/String;
 HSPLjava/net/InetSocketAddress;->getPort()I
 HSPLjava/net/InetSocketAddress;->hashCode()I
 HSPLjava/net/InetSocketAddress;->toString()Ljava/lang/String;
+HSPLjava/net/InterfaceAddress;->getAddress()Ljava/net/InetAddress;
 HSPLjava/net/JarURLConnection;-><init>(Ljava/net/URL;)V
 HSPLjava/net/JarURLConnection;->getEntryName()Ljava/lang/String;
-HSPLjava/net/JarURLConnection;->getJarFile()Ljava/util/jar/JarFile;
 HSPLjava/net/JarURLConnection;->parseSpecs(Ljava/net/URL;)V
 HSPLjava/net/MulticastSocket;-><init>()V
+HSPLjava/net/MulticastSocket;-><init>(I)V
 HSPLjava/net/MulticastSocket;-><init>(Ljava/net/SocketAddress;)V
-HSPLjava/net/MulticastSocket;->joinGroup(Ljava/net/InetAddress;)V
+HSPLjava/net/MulticastSocket;->joinGroup(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;-><init>(Ljava/net/NetworkInterface;)V
 HSPLjava/net/NetworkInterface$1checkedAddresses;->hasMoreElements()Z
 HSPLjava/net/NetworkInterface$1checkedAddresses;->nextElement()Ljava/lang/Object;
 HSPLjava/net/NetworkInterface$1checkedAddresses;->nextElement()Ljava/net/InetAddress;
 HSPLjava/net/NetworkInterface;->getAll()[Ljava/net/NetworkInterface;
+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;->getNetworkInterfaces()Ljava/util/Enumeration;
 HSPLjava/net/NetworkInterface;->isLoopback()Z
 HSPLjava/net/NetworkInterface;->isPointToPoint()Z
+HSPLjava/net/NetworkInterface;->isUp()Z
+HSPLjava/net/NetworkInterface;->supportsMulticast()Z
 HSPLjava/net/Parts;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/net/PlainDatagramSocketImpl;->bind0(ILjava/net/InetAddress;)V
 HSPLjava/net/PlainDatagramSocketImpl;->datagramSocketClose()V
@@ -46597,11 +38499,11 @@
 HSPLjava/net/PlainDatagramSocketImpl;->join(Ljava/net/InetAddress;Ljava/net/NetworkInterface;)V
 HSPLjava/net/PlainDatagramSocketImpl;->receive0(Ljava/net/DatagramPacket;)V
 HSPLjava/net/PlainDatagramSocketImpl;->send(Ljava/net/DatagramPacket;)V
+HSPLjava/net/PlainDatagramSocketImpl;->setTimeToLive(I)V
 HSPLjava/net/PlainDatagramSocketImpl;->socketSetOption(ILjava/lang/Object;)V
 HSPLjava/net/PlainDatagramSocketImpl;->socketSetOption0(ILjava/lang/Object;)V
 HSPLjava/net/PlainSocketImpl;->getMarkerFD()Ljava/io/FileDescriptor;
 HSPLjava/net/PlainSocketImpl;->socketAccept(Ljava/net/SocketImpl;)V
-HSPLjava/net/PlainSocketImpl;->socketAvailable()I
 HSPLjava/net/PlainSocketImpl;->socketBind(Ljava/net/InetAddress;I)V
 HSPLjava/net/PlainSocketImpl;->socketClose0(Z)V
 HSPLjava/net/PlainSocketImpl;->socketConnect(Ljava/net/InetAddress;II)V
@@ -46610,41 +38512,34 @@
 HSPLjava/net/PlainSocketImpl;->socketListen(I)V
 HSPLjava/net/PlainSocketImpl;->socketSetOption(ILjava/lang/Object;)V
 HSPLjava/net/PlainSocketImpl;->socketSetOption0(ILjava/lang/Object;)V
-HSPLjava/net/PlainSocketImpl;->socketShutdown(I)V
-HSPLjava/net/ProtocolException;-><init>(Ljava/lang/String;)V
-HSPLjava/net/ProtocolFamily;->name()Ljava/lang/String;
 HSPLjava/net/Proxy$Type;-><init>(Ljava/lang/String;I)V
-HSPLjava/net/Proxy$Type;->values()[Ljava/net/Proxy$Type;
 HSPLjava/net/Proxy;-><init>()V
 HSPLjava/net/Proxy;->address()Ljava/net/SocketAddress;
 HSPLjava/net/Proxy;->equals(Ljava/lang/Object;)Z
 HSPLjava/net/Proxy;->hashCode()I
 HSPLjava/net/Proxy;->type()Ljava/net/Proxy$Type;
-HSPLjava/net/ProxySelector;->connectFailed(Ljava/net/URI;Ljava/net/SocketAddress;Ljava/io/IOException;)V
 HSPLjava/net/ProxySelector;->getDefault()Ljava/net/ProxySelector;
-HSPLjava/net/ProxySelector;->select(Ljava/net/URI;)Ljava/util/List;
 HSPLjava/net/ProxySelector;->setDefault(Ljava/net/ProxySelector;)V
 HSPLjava/net/ResponseCache;->getDefault()Ljava/net/ResponseCache;
-HSPLjava/net/ResponseCache;->setDefault(Ljava/net/ResponseCache;)V
 HSPLjava/net/ServerSocket;-><init>()V
+HSPLjava/net/ServerSocket;-><init>(IILjava/net/InetAddress;)V
 HSPLjava/net/ServerSocket;->accept()Ljava/net/Socket;
 HSPLjava/net/ServerSocket;->bind(Ljava/net/SocketAddress;)V
 HSPLjava/net/ServerSocket;->bind(Ljava/net/SocketAddress;I)V
 HSPLjava/net/ServerSocket;->createImpl()V
 HSPLjava/net/ServerSocket;->getImpl()Ljava/net/SocketImpl;
+HSPLjava/net/ServerSocket;->getLocalPort()I
 HSPLjava/net/ServerSocket;->implAccept(Ljava/net/Socket;)V
 HSPLjava/net/ServerSocket;->isBound()Z
 HSPLjava/net/ServerSocket;->isClosed()Z
 HSPLjava/net/ServerSocket;->setBound()V
 HSPLjava/net/ServerSocket;->setCreated()V
-HSPLjava/net/ServerSocket;->setImpl()V
 HSPLjava/net/Socket$1;->run()Ljava/lang/Boolean;
 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/lang/String;I)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
@@ -46657,6 +38552,9 @@
 HSPLjava/net/Socket;->getImpl()Ljava/net/SocketImpl;
 HSPLjava/net/Socket;->getInetAddress()Ljava/net/InetAddress;
 HSPLjava/net/Socket;->getInputStream()Ljava/io/InputStream;
+HSPLjava/net/Socket;->getLocalAddress()Ljava/net/InetAddress;
+HSPLjava/net/Socket;->getLocalPort()I
+HSPLjava/net/Socket;->getLocalSocketAddress()Ljava/net/SocketAddress;
 HSPLjava/net/Socket;->getOutputStream()Ljava/io/OutputStream;
 HSPLjava/net/Socket;->getPort()I
 HSPLjava/net/Socket;->getRemoteSocketAddress()Ljava/net/SocketAddress;
@@ -46673,46 +38571,25 @@
 HSPLjava/net/Socket;->setImpl()V
 HSPLjava/net/Socket;->setSoTimeout(I)V
 HSPLjava/net/Socket;->setTcpNoDelay(Z)V
-HSPLjava/net/Socket;->shutdownInput()V
-HSPLjava/net/Socket;->shutdownOutput()V
 HSPLjava/net/SocketException;-><init>(Ljava/lang/String;)V
-HSPLjava/net/SocketImpl;->accept(Ljava/net/SocketImpl;)V
-HSPLjava/net/SocketImpl;->available()I
-HSPLjava/net/SocketImpl;->bind(Ljava/net/InetAddress;I)V
-HSPLjava/net/SocketImpl;->close()V
-HSPLjava/net/SocketImpl;->connect(Ljava/lang/String;I)V
-HSPLjava/net/SocketImpl;->connect(Ljava/net/InetAddress;I)V
-HSPLjava/net/SocketImpl;->connect(Ljava/net/SocketAddress;I)V
-HSPLjava/net/SocketImpl;->create(Z)V
 HSPLjava/net/SocketImpl;->getFileDescriptor()Ljava/io/FileDescriptor;
-HSPLjava/net/SocketImpl;->getInputStream()Ljava/io/InputStream;
-HSPLjava/net/SocketImpl;->getOutputStream()Ljava/io/OutputStream;
 HSPLjava/net/SocketImpl;->getSocket()Ljava/net/Socket;
-HSPLjava/net/SocketImpl;->listen(I)V
-HSPLjava/net/SocketImpl;->sendUrgentData(I)V
 HSPLjava/net/SocketImpl;->setServerSocket(Ljava/net/ServerSocket;)V
 HSPLjava/net/SocketImpl;->setSocket(Ljava/net/Socket;)V
-HSPLjava/net/SocketInputStream;->available()I
-HSPLjava/net/SocketInputStream;->close()V
-HSPLjava/net/SocketInputStream;->finalize()V
 HSPLjava/net/SocketInputStream;->read([BII)I
 HSPLjava/net/SocketInputStream;->read([BIII)I
-HSPLjava/net/SocketOptions;->getOption(I)Ljava/lang/Object;
-HSPLjava/net/SocketOptions;->setOption(ILjava/lang/Object;)V
-HSPLjava/net/SocketOutputStream;->finalize()V
 HSPLjava/net/SocketOutputStream;->socketWrite([BII)V
 HSPLjava/net/SocketOutputStream;->write([B)V
 HSPLjava/net/SocketOutputStream;->write([BII)V
-HSPLjava/net/SocketTimeoutException;-><init>()V
 HSPLjava/net/SocketTimeoutException;-><init>(Ljava/lang/String;)V
 HSPLjava/net/SocksSocketImpl;->close()V
 HSPLjava/net/SocksSocketImpl;->connect(Ljava/net/SocketAddress;I)V
 HSPLjava/net/SocksSocketImpl;->getInetAddress()Ljava/net/InetAddress;
+HSPLjava/net/SocksSocketImpl;->getLocalPort()I
 HSPLjava/net/SocksSocketImpl;->getPort()I
 HSPLjava/net/StandardProtocolFamily;-><init>(Ljava/lang/String;I)V
 HSPLjava/net/StandardSocketOptions$StdSocketOption;-><init>(Ljava/lang/String;Ljava/lang/Class;)V
 HSPLjava/net/StandardSocketOptions$StdSocketOption;->type()Ljava/lang/Class;
-HSPLjava/net/URI$Parser;->fail(Ljava/lang/String;I)V
 HSPLjava/net/URI$Parser;->parse(Z)V
 HSPLjava/net/URI$Parser;->parseAuthority(II)I
 HSPLjava/net/URI$Parser;->parseHierarchical(II)I
@@ -46720,7 +38597,6 @@
 HSPLjava/net/URI$Parser;->parseIPv4Address(II)I
 HSPLjava/net/URI$Parser;->parseServer(II)I
 HSPLjava/net/URI$Parser;->scan(IIJJ)I
-HSPLjava/net/URI$Parser;->scanEscape(IIC)I
 HSPLjava/net/URI$Parser;->scanIPv4Address(IIZ)I
 HSPLjava/net/URI;-><init>(Ljava/lang/String;)V
 HSPLjava/net/URI;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
@@ -46728,33 +38604,16 @@
 HSPLjava/net/URI;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/net/URI;->appendAuthority(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
 HSPLjava/net/URI;->appendSchemeSpecificPart(Ljava/lang/StringBuffer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
-HSPLjava/net/URI;->compareIgnoringCase(Ljava/lang/String;Ljava/lang/String;)I
-HSPLjava/net/URI;->compareTo(Ljava/lang/Object;)I
-HSPLjava/net/URI;->compareTo(Ljava/net/URI;)I
 HSPLjava/net/URI;->create(Ljava/lang/String;)Ljava/net/URI;
-HSPLjava/net/URI;->decode(C)I
 HSPLjava/net/URI;->decode(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/net/URI;->defineString()V
 HSPLjava/net/URI;->encode(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/net/URI;->equal(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLjava/net/URI;->equalIgnoringCase(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLjava/net/URI;->equals(Ljava/lang/Object;)Z
 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;->getRawFragment()Ljava/lang/String;
-HSPLjava/net/URI;->getRawPath()Ljava/lang/String;
-HSPLjava/net/URI;->getRawQuery()Ljava/lang/String;
-HSPLjava/net/URI;->getRawUserInfo()Ljava/lang/String;
 HSPLjava/net/URI;->getScheme()Ljava/lang/String;
-HSPLjava/net/URI;->getUserInfo()Ljava/lang/String;
-HSPLjava/net/URI;->hashCode()I
-HSPLjava/net/URI;->isAbsolute()Z
 HSPLjava/net/URI;->match(CJJ)Z
-HSPLjava/net/URI;->normalizedHash(ILjava/lang/String;)I
 HSPLjava/net/URI;->quote(Ljava/lang/String;JJ)Ljava/lang/String;
 HSPLjava/net/URI;->toASCIIString()Ljava/lang/String;
 HSPLjava/net/URI;->toString()Ljava/lang/String;
@@ -46763,61 +38622,39 @@
 HSPLjava/net/URL;-><init>(Ljava/lang/String;)V
 HSPLjava/net/URL;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
 HSPLjava/net/URL;-><init>(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/net/URLStreamHandler;)V
-HSPLjava/net/URL;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/net/URL;-><init>(Ljava/net/URL;Ljava/lang/String;)V
 HSPLjava/net/URL;-><init>(Ljava/net/URL;Ljava/lang/String;Ljava/net/URLStreamHandler;)V
 HSPLjava/net/URL;->createBuiltinHandler(Ljava/lang/String;)Ljava/net/URLStreamHandler;
-HSPLjava/net/URL;->getAuthority()Ljava/lang/String;
-HSPLjava/net/URL;->getDefaultPort()I
 HSPLjava/net/URL;->getFile()Ljava/lang/String;
 HSPLjava/net/URL;->getHost()Ljava/lang/String;
 HSPLjava/net/URL;->getPath()Ljava/lang/String;
 HSPLjava/net/URL;->getPort()I
 HSPLjava/net/URL;->getProtocol()Ljava/lang/String;
 HSPLjava/net/URL;->getQuery()Ljava/lang/String;
-HSPLjava/net/URL;->getRef()Ljava/lang/String;
 HSPLjava/net/URL;->getURLStreamHandler(Ljava/lang/String;)Ljava/net/URLStreamHandler;
-HSPLjava/net/URL;->getUserInfo()Ljava/lang/String;
 HSPLjava/net/URL;->isValidProtocol(Ljava/lang/String;)Z
 HSPLjava/net/URL;->openConnection()Ljava/net/URLConnection;
 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;->setURLStreamHandlerFactory(Ljava/net/URLStreamHandlerFactory;)V
 HSPLjava/net/URL;->toExternalForm()Ljava/lang/String;
 HSPLjava/net/URL;->toString()Ljava/lang/String;
-HSPLjava/net/URLConnection;->getAllowUserInteraction()Z
 HSPLjava/net/URLConnection;->getContentEncoding()Ljava/lang/String;
 HSPLjava/net/URLConnection;->getContentLength()I
 HSPLjava/net/URLConnection;->getContentLengthLong()J
 HSPLjava/net/URLConnection;->getContentType()Ljava/lang/String;
-HSPLjava/net/URLConnection;->getDefaultUseCaches()Z
-HSPLjava/net/URLConnection;->getDoInput()Z
-HSPLjava/net/URLConnection;->getDoOutput()Z
-HSPLjava/net/URLConnection;->getFileNameMap()Ljava/net/FileNameMap;
 HSPLjava/net/URLConnection;->getHeaderFieldInt(Ljava/lang/String;I)I
 HSPLjava/net/URLConnection;->getHeaderFieldLong(Ljava/lang/String;J)J
-HSPLjava/net/URLConnection;->getIfModifiedSince()J
-HSPLjava/net/URLConnection;->getReadTimeout()I
 HSPLjava/net/URLConnection;->getURL()Ljava/net/URL;
 HSPLjava/net/URLConnection;->getUseCaches()Z
-HSPLjava/net/URLConnection;->guessContentTypeFromName(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/net/URLConnection;->guessContentTypeFromStream(Ljava/io/InputStream;)Ljava/lang/String;
-HSPLjava/net/URLConnection;->setAllowUserInteraction(Z)V
-HSPLjava/net/URLConnection;->setDefaultUseCaches(Z)V
 HSPLjava/net/URLConnection;->setDoInput(Z)V
 HSPLjava/net/URLConnection;->setDoOutput(Z)V
-HSPLjava/net/URLConnection;->setIfModifiedSince(J)V
 HSPLjava/net/URLConnection;->setReadTimeout(I)V
 HSPLjava/net/URLConnection;->setUseCaches(Z)V
-HSPLjava/net/URLDecoder;->decode(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/net/URLDecoder;->decode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/net/URLEncoder;->encode(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/net/URLEncoder;->encode(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/net/URLStreamHandler;-><init>()V
 HSPLjava/net/URLStreamHandler;->parseURL(Ljava/net/URL;Ljava/lang/String;II)V
 HSPLjava/net/URLStreamHandler;->setURL(Ljava/net/URL;Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/net/URLStreamHandler;->toExternalForm(Ljava/net/URL;)Ljava/lang/String;
-HSPLjava/net/URLStreamHandlerFactory;->createURLStreamHandler(Ljava/lang/String;)Ljava/net/URLStreamHandler;
-HSPLjava/net/UnknownHostException;-><init>()V
 HSPLjava/net/UnknownHostException;-><init>(Ljava/lang/String;)V
 HSPLjava/nio/Bits;->getLongB(Ljava/nio/ByteBuffer;I)J
 HSPLjava/nio/Bits;->getLongL(Ljava/nio/ByteBuffer;I)J
@@ -46831,34 +38668,33 @@
 HSPLjava/nio/Buffer;->checkBounds(III)V
 HSPLjava/nio/Buffer;->checkIndex(I)I
 HSPLjava/nio/Buffer;->checkIndex(II)I
-HSPLjava/nio/Buffer;->clear()Ljava/nio/Buffer;
-HSPLjava/nio/Buffer;->flip()Ljava/nio/Buffer;
 HSPLjava/nio/Buffer;->hasRemaining()Z
 HSPLjava/nio/Buffer;->limit()I
-HSPLjava/nio/Buffer;->limit(I)Ljava/nio/Buffer;
-HSPLjava/nio/Buffer;->mark()Ljava/nio/Buffer;
 HSPLjava/nio/Buffer;->position()I
 HSPLjava/nio/Buffer;->position(I)Ljava/nio/Buffer;
 HSPLjava/nio/Buffer;->remaining()I
-HSPLjava/nio/Buffer;->reset()Ljava/nio/Buffer;
-HSPLjava/nio/Buffer;->rewind()Ljava/nio/Buffer;
 HSPLjava/nio/ByteBuffer;-><init>(IIII[BI)V
 HSPLjava/nio/ByteBuffer;->allocate(I)Ljava/nio/ByteBuffer;
 HSPLjava/nio/ByteBuffer;->allocateDirect(I)Ljava/nio/ByteBuffer;
-HSPLjava/nio/ByteBuffer;->array()Ljava/lang/Object;
 HSPLjava/nio/ByteBuffer;->array()[B
 HSPLjava/nio/ByteBuffer;->arrayOffset()I
+HSPLjava/nio/ByteBuffer;->clear()Ljava/nio/Buffer;
 HSPLjava/nio/ByteBuffer;->compareTo(Ljava/lang/Object;)I
 HSPLjava/nio/ByteBuffer;->compareTo(Ljava/nio/ByteBuffer;)I
 HSPLjava/nio/ByteBuffer;->equals(Ljava/lang/Object;)Z
+HSPLjava/nio/ByteBuffer;->flip()Ljava/nio/Buffer;
 HSPLjava/nio/ByteBuffer;->get([B)Ljava/nio/ByteBuffer;
 HSPLjava/nio/ByteBuffer;->hasArray()Z
 HSPLjava/nio/ByteBuffer;->hashCode()I
-HSPLjava/nio/ByteBuffer;->isAccessible()Z
+HSPLjava/nio/ByteBuffer;->limit(I)Ljava/nio/Buffer;
+HSPLjava/nio/ByteBuffer;->mark()Ljava/nio/Buffer;
 HSPLjava/nio/ByteBuffer;->order()Ljava/nio/ByteOrder;
 HSPLjava/nio/ByteBuffer;->order(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
+HSPLjava/nio/ByteBuffer;->position(I)Ljava/nio/Buffer;
 HSPLjava/nio/ByteBuffer;->put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
 HSPLjava/nio/ByteBuffer;->put([B)Ljava/nio/ByteBuffer;
+HSPLjava/nio/ByteBuffer;->reset()Ljava/nio/Buffer;
+HSPLjava/nio/ByteBuffer;->rewind()Ljava/nio/Buffer;
 HSPLjava/nio/ByteBuffer;->wrap([B)Ljava/nio/ByteBuffer;
 HSPLjava/nio/ByteBuffer;->wrap([BII)Ljava/nio/ByteBuffer;
 HSPLjava/nio/ByteBufferAsCharBuffer;-><init>(Ljava/nio/ByteBuffer;IIIIILjava/nio/ByteOrder;)V
@@ -46872,25 +38708,18 @@
 HSPLjava/nio/ByteBufferAsCharBuffer;->subSequence(II)Ljava/nio/CharBuffer;
 HSPLjava/nio/ByteBufferAsCharBuffer;->toString(II)Ljava/lang/String;
 HSPLjava/nio/ByteBufferAsFloatBuffer;-><init>(Ljava/nio/ByteBuffer;IIIIILjava/nio/ByteOrder;)V
-HSPLjava/nio/ByteBufferAsFloatBuffer;->get(I)F
 HSPLjava/nio/ByteBufferAsFloatBuffer;->ix(I)I
 HSPLjava/nio/ByteBufferAsFloatBuffer;->put(F)Ljava/nio/FloatBuffer;
 HSPLjava/nio/ByteBufferAsFloatBuffer;->put(IF)Ljava/nio/FloatBuffer;
-HSPLjava/nio/ByteBufferAsFloatBuffer;->put([FII)Ljava/nio/FloatBuffer;
 HSPLjava/nio/ByteBufferAsIntBuffer;-><init>(Ljava/nio/ByteBuffer;IIIIILjava/nio/ByteOrder;)V
-HSPLjava/nio/ByteBufferAsIntBuffer;->get()I
-HSPLjava/nio/ByteBufferAsIntBuffer;->get(I)I
 HSPLjava/nio/ByteBufferAsIntBuffer;->get([III)Ljava/nio/IntBuffer;
 HSPLjava/nio/ByteBufferAsIntBuffer;->ix(I)I
-HSPLjava/nio/ByteBufferAsIntBuffer;->put(I)Ljava/nio/IntBuffer;
-HSPLjava/nio/ByteBufferAsIntBuffer;->put(II)Ljava/nio/IntBuffer;
 HSPLjava/nio/ByteBufferAsIntBuffer;->put([III)Ljava/nio/IntBuffer;
 HSPLjava/nio/ByteBufferAsLongBuffer;-><init>(Ljava/nio/ByteBuffer;IIIIILjava/nio/ByteOrder;)V
 HSPLjava/nio/ByteBufferAsLongBuffer;->get([JII)Ljava/nio/LongBuffer;
 HSPLjava/nio/ByteBufferAsLongBuffer;->ix(I)I
-HSPLjava/nio/ByteBufferAsLongBuffer;->put(IJ)Ljava/nio/LongBuffer;
+HSPLjava/nio/ByteBufferAsLongBuffer;->put([JII)Ljava/nio/LongBuffer;
 HSPLjava/nio/ByteBufferAsShortBuffer;-><init>(Ljava/nio/ByteBuffer;IIIIILjava/nio/ByteOrder;)V
-HSPLjava/nio/ByteBufferAsShortBuffer;->get(I)S
 HSPLjava/nio/ByteBufferAsShortBuffer;->get([SII)Ljava/nio/ShortBuffer;
 HSPLjava/nio/ByteBufferAsShortBuffer;->ix(I)I
 HSPLjava/nio/ByteBufferAsShortBuffer;->put([SII)Ljava/nio/ShortBuffer;
@@ -46899,17 +38728,19 @@
 HSPLjava/nio/CharBuffer;->array()[C
 HSPLjava/nio/CharBuffer;->arrayOffset()I
 HSPLjava/nio/CharBuffer;->charAt(I)C
+HSPLjava/nio/CharBuffer;->clear()Ljava/nio/Buffer;
+HSPLjava/nio/CharBuffer;->flip()Ljava/nio/Buffer;
 HSPLjava/nio/CharBuffer;->get([C)Ljava/nio/CharBuffer;
 HSPLjava/nio/CharBuffer;->get([CII)Ljava/nio/CharBuffer;
 HSPLjava/nio/CharBuffer;->hasArray()Z
 HSPLjava/nio/CharBuffer;->length()I
+HSPLjava/nio/CharBuffer;->limit(I)Ljava/nio/Buffer;
+HSPLjava/nio/CharBuffer;->position(I)Ljava/nio/Buffer;
 HSPLjava/nio/CharBuffer;->toString()Ljava/lang/String;
 HSPLjava/nio/CharBuffer;->wrap(Ljava/lang/CharSequence;)Ljava/nio/CharBuffer;
 HSPLjava/nio/CharBuffer;->wrap(Ljava/lang/CharSequence;II)Ljava/nio/CharBuffer;
-HSPLjava/nio/CharBuffer;->wrap([C)Ljava/nio/CharBuffer;
 HSPLjava/nio/CharBuffer;->wrap([CII)Ljava/nio/CharBuffer;
 HSPLjava/nio/DirectByteBuffer$MemoryRef;-><init>(I)V
-HSPLjava/nio/DirectByteBuffer$MemoryRef;->free()V
 HSPLjava/nio/DirectByteBuffer;-><init>(IJLjava/io/FileDescriptor;Ljava/lang/Runnable;Z)V
 HSPLjava/nio/DirectByteBuffer;-><init>(JI)V
 HSPLjava/nio/DirectByteBuffer;->address()J
@@ -46927,44 +38758,39 @@
 HSPLjava/nio/DirectByteBuffer;->getChar()C
 HSPLjava/nio/DirectByteBuffer;->getChar(I)C
 HSPLjava/nio/DirectByteBuffer;->getCharUnchecked(I)C
-HSPLjava/nio/DirectByteBuffer;->getFloatUnchecked(I)F
+HSPLjava/nio/DirectByteBuffer;->getFloat()F
 HSPLjava/nio/DirectByteBuffer;->getInt()I
 HSPLjava/nio/DirectByteBuffer;->getInt(I)I
-HSPLjava/nio/DirectByteBuffer;->getIntUnchecked(I)I
+HSPLjava/nio/DirectByteBuffer;->getLong()J
 HSPLjava/nio/DirectByteBuffer;->getLong(I)J
 HSPLjava/nio/DirectByteBuffer;->getShort()S
 HSPLjava/nio/DirectByteBuffer;->getShort(I)S
-HSPLjava/nio/DirectByteBuffer;->getShortUnchecked(I)S
 HSPLjava/nio/DirectByteBuffer;->getUnchecked(I[CII)V
 HSPLjava/nio/DirectByteBuffer;->getUnchecked(I[III)V
 HSPLjava/nio/DirectByteBuffer;->getUnchecked(I[JII)V
 HSPLjava/nio/DirectByteBuffer;->getUnchecked(I[SII)V
-HSPLjava/nio/DirectByteBuffer;->isAccessible()Z
 HSPLjava/nio/DirectByteBuffer;->isDirect()Z
 HSPLjava/nio/DirectByteBuffer;->isReadOnly()Z
-HSPLjava/nio/DirectByteBuffer;->put(B)Ljava/nio/ByteBuffer;
+HSPLjava/nio/DirectByteBuffer;->put(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
 HSPLjava/nio/DirectByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
 HSPLjava/nio/DirectByteBuffer;->putFloatUnchecked(IF)V
-HSPLjava/nio/DirectByteBuffer;->putInt(II)Ljava/nio/ByteBuffer;
-HSPLjava/nio/DirectByteBuffer;->putIntUnchecked(II)V
-HSPLjava/nio/DirectByteBuffer;->putUnchecked(I[FII)V
-HSPLjava/nio/DirectByteBuffer;->putUnchecked(I[III)V
-HSPLjava/nio/DirectByteBuffer;->putUnchecked(I[SII)V
+HSPLjava/nio/DirectByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
 HSPLjava/nio/DirectByteBuffer;->setAccessible(Z)V
 HSPLjava/nio/DirectByteBuffer;->slice()Ljava/nio/ByteBuffer;
-HSPLjava/nio/FloatBuffer;->put([F)Ljava/nio/FloatBuffer;
+HSPLjava/nio/FloatBuffer;->clear()Ljava/nio/Buffer;
+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;->asFloatBuffer()Ljava/nio/FloatBuffer;
 HSPLjava/nio/HeapByteBuffer;->asIntBuffer()Ljava/nio/IntBuffer;
 HSPLjava/nio/HeapByteBuffer;->asLongBuffer()Ljava/nio/LongBuffer;
 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
 HSPLjava/nio/HeapByteBuffer;->get(I)B
 HSPLjava/nio/HeapByteBuffer;->get([BII)Ljava/nio/ByteBuffer;
-HSPLjava/nio/HeapByteBuffer;->getDouble()D
 HSPLjava/nio/HeapByteBuffer;->getFloat()F
 HSPLjava/nio/HeapByteBuffer;->getFloat(I)F
 HSPLjava/nio/HeapByteBuffer;->getInt()I
@@ -46974,24 +38800,26 @@
 HSPLjava/nio/HeapByteBuffer;->getShort()S
 HSPLjava/nio/HeapByteBuffer;->getShort(I)S
 HSPLjava/nio/HeapByteBuffer;->getUnchecked(I[III)V
+HSPLjava/nio/HeapByteBuffer;->getUnchecked(I[JII)V
+HSPLjava/nio/HeapByteBuffer;->getUnchecked(I[SII)V
 HSPLjava/nio/HeapByteBuffer;->isDirect()Z
 HSPLjava/nio/HeapByteBuffer;->isReadOnly()Z
 HSPLjava/nio/HeapByteBuffer;->put(B)Ljava/nio/ByteBuffer;
 HSPLjava/nio/HeapByteBuffer;->put(IB)Ljava/nio/ByteBuffer;
 HSPLjava/nio/HeapByteBuffer;->put([BII)Ljava/nio/ByteBuffer;
 HSPLjava/nio/HeapByteBuffer;->putChar(C)Ljava/nio/ByteBuffer;
-HSPLjava/nio/HeapByteBuffer;->putDouble(D)Ljava/nio/ByteBuffer;
 HSPLjava/nio/HeapByteBuffer;->putFloat(F)Ljava/nio/ByteBuffer;
 HSPLjava/nio/HeapByteBuffer;->putInt(I)Ljava/nio/ByteBuffer;
 HSPLjava/nio/HeapByteBuffer;->putInt(II)Ljava/nio/ByteBuffer;
-HSPLjava/nio/HeapByteBuffer;->putIntUnchecked(II)V
 HSPLjava/nio/HeapByteBuffer;->putLong(IJ)Ljava/nio/ByteBuffer;
 HSPLjava/nio/HeapByteBuffer;->putLong(J)Ljava/nio/ByteBuffer;
-HSPLjava/nio/HeapByteBuffer;->putLongUnchecked(IJ)V
 HSPLjava/nio/HeapByteBuffer;->putShort(IS)Ljava/nio/ByteBuffer;
 HSPLjava/nio/HeapByteBuffer;->putShort(S)Ljava/nio/ByteBuffer;
-HSPLjava/nio/HeapByteBuffer;->putUnchecked(I[FII)V
+HSPLjava/nio/HeapByteBuffer;->putUnchecked(I[III)V
+HSPLjava/nio/HeapByteBuffer;->putUnchecked(I[JII)V
+HSPLjava/nio/HeapByteBuffer;->putUnchecked(I[SII)V
 HSPLjava/nio/HeapByteBuffer;->slice()Ljava/nio/ByteBuffer;
+HSPLjava/nio/HeapCharBuffer;->get()C
 HSPLjava/nio/HeapCharBuffer;->get(I)C
 HSPLjava/nio/HeapCharBuffer;->ix(I)I
 HSPLjava/nio/HeapCharBuffer;->put(Ljava/nio/CharBuffer;)Ljava/nio/CharBuffer;
@@ -47003,132 +38831,45 @@
 HSPLjava/nio/IntBuffer;->allocate(I)Ljava/nio/IntBuffer;
 HSPLjava/nio/IntBuffer;->array()Ljava/lang/Object;
 HSPLjava/nio/IntBuffer;->arrayOffset()I
+HSPLjava/nio/IntBuffer;->clear()Ljava/nio/Buffer;
 HSPLjava/nio/IntBuffer;->get([I)Ljava/nio/IntBuffer;
 HSPLjava/nio/IntBuffer;->hasArray()Z
+HSPLjava/nio/IntBuffer;->limit(I)Ljava/nio/Buffer;
+HSPLjava/nio/IntBuffer;->position(I)Ljava/nio/Buffer;
+HSPLjava/nio/IntBuffer;->put([I)Ljava/nio/IntBuffer;
 HSPLjava/nio/LongBuffer;->get([J)Ljava/nio/LongBuffer;
+HSPLjava/nio/LongBuffer;->limit(I)Ljava/nio/Buffer;
+HSPLjava/nio/LongBuffer;->position(I)Ljava/nio/Buffer;
+HSPLjava/nio/LongBuffer;->put([J)Ljava/nio/LongBuffer;
 HSPLjava/nio/MappedByteBuffer;->load()Ljava/nio/MappedByteBuffer;
 HSPLjava/nio/NIOAccess;->getBaseArray(Ljava/nio/Buffer;)Ljava/lang/Object;
 HSPLjava/nio/NIOAccess;->getBaseArrayOffset(Ljava/nio/Buffer;)I
 HSPLjava/nio/NIOAccess;->getBasePointer(Ljava/nio/Buffer;)J
-HSPLjava/nio/NioUtils;->freeDirectBuffer(Ljava/nio/ByteBuffer;)V
 HSPLjava/nio/ShortBuffer;->get([S)Ljava/nio/ShortBuffer;
+HSPLjava/nio/ShortBuffer;->limit(I)Ljava/nio/Buffer;
+HSPLjava/nio/ShortBuffer;->position(I)Ljava/nio/Buffer;
 HSPLjava/nio/ShortBuffer;->put([S)Ljava/nio/ShortBuffer;
 HSPLjava/nio/StringCharBuffer;-><init>(Ljava/lang/CharSequence;II)V
 HSPLjava/nio/StringCharBuffer;->get()C
 HSPLjava/nio/StringCharBuffer;->get(I)C
-HSPLjava/nio/channels/Channel;->close()V
-HSPLjava/nio/channels/Channel;->isOpen()Z
-HSPLjava/nio/channels/Channels$WritableByteChannelImpl;->implCloseChannel()V
 HSPLjava/nio/channels/Channels$WritableByteChannelImpl;->write(Ljava/nio/ByteBuffer;)I
 HSPLjava/nio/channels/Channels;->newChannel(Ljava/io/OutputStream;)Ljava/nio/channels/WritableByteChannel;
 HSPLjava/nio/channels/Channels;->newInputStream(Ljava/nio/channels/ReadableByteChannel;)Ljava/io/InputStream;
 HSPLjava/nio/channels/Channels;->newOutputStream(Ljava/nio/channels/WritableByteChannel;)Ljava/io/OutputStream;
-HSPLjava/nio/channels/DatagramChannel;->bind(Ljava/net/SocketAddress;)Ljava/nio/channels/DatagramChannel;
-HSPLjava/nio/channels/DatagramChannel;->connect(Ljava/net/SocketAddress;)Ljava/nio/channels/DatagramChannel;
-HSPLjava/nio/channels/DatagramChannel;->disconnect()Ljava/nio/channels/DatagramChannel;
-HSPLjava/nio/channels/DatagramChannel;->getLocalAddress()Ljava/net/SocketAddress;
-HSPLjava/nio/channels/DatagramChannel;->getRemoteAddress()Ljava/net/SocketAddress;
-HSPLjava/nio/channels/DatagramChannel;->isConnected()Z
-HSPLjava/nio/channels/DatagramChannel;->open()Ljava/nio/channels/DatagramChannel;
-HSPLjava/nio/channels/DatagramChannel;->read(Ljava/nio/ByteBuffer;)I
-HSPLjava/nio/channels/DatagramChannel;->read([Ljava/nio/ByteBuffer;II)J
-HSPLjava/nio/channels/DatagramChannel;->receive(Ljava/nio/ByteBuffer;)Ljava/net/SocketAddress;
-HSPLjava/nio/channels/DatagramChannel;->send(Ljava/nio/ByteBuffer;Ljava/net/SocketAddress;)I
-HSPLjava/nio/channels/DatagramChannel;->setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/DatagramChannel;
-HSPLjava/nio/channels/DatagramChannel;->socket()Ljava/net/DatagramSocket;
-HSPLjava/nio/channels/DatagramChannel;->validOps()I
-HSPLjava/nio/channels/DatagramChannel;->write(Ljava/nio/ByteBuffer;)I
-HSPLjava/nio/channels/DatagramChannel;->write([Ljava/nio/ByteBuffer;II)J
 HSPLjava/nio/channels/FileChannel$MapMode;-><init>(Ljava/lang/String;)V
-HSPLjava/nio/channels/FileChannel;->force(Z)V
 HSPLjava/nio/channels/FileChannel;->lock()Ljava/nio/channels/FileLock;
-HSPLjava/nio/channels/FileChannel;->lock(JJZ)Ljava/nio/channels/FileLock;
-HSPLjava/nio/channels/FileChannel;->map(Ljava/nio/channels/FileChannel$MapMode;JJ)Ljava/nio/MappedByteBuffer;
-HSPLjava/nio/channels/FileChannel;->open(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/FileChannel;
-HSPLjava/nio/channels/FileChannel;->position()J
-HSPLjava/nio/channels/FileChannel;->position(J)Ljava/nio/channels/FileChannel;
-HSPLjava/nio/channels/FileChannel;->read(Ljava/nio/ByteBuffer;)I
-HSPLjava/nio/channels/FileChannel;->read(Ljava/nio/ByteBuffer;J)I
-HSPLjava/nio/channels/FileChannel;->read([Ljava/nio/ByteBuffer;II)J
-HSPLjava/nio/channels/FileChannel;->size()J
-HSPLjava/nio/channels/FileChannel;->transferFrom(Ljava/nio/channels/ReadableByteChannel;JJ)J
-HSPLjava/nio/channels/FileChannel;->transferTo(JJLjava/nio/channels/WritableByteChannel;)J
-HSPLjava/nio/channels/FileChannel;->truncate(J)Ljava/nio/channels/FileChannel;
-HSPLjava/nio/channels/FileChannel;->tryLock()Ljava/nio/channels/FileLock;
-HSPLjava/nio/channels/FileChannel;->tryLock(JJZ)Ljava/nio/channels/FileLock;
-HSPLjava/nio/channels/FileChannel;->write(Ljava/nio/ByteBuffer;)I
-HSPLjava/nio/channels/FileChannel;->write(Ljava/nio/ByteBuffer;J)I
-HSPLjava/nio/channels/FileChannel;->write([Ljava/nio/ByteBuffer;II)J
 HSPLjava/nio/channels/FileLock;-><init>(Ljava/nio/channels/FileChannel;JJZ)V
 HSPLjava/nio/channels/FileLock;->acquiredBy()Ljava/nio/channels/Channel;
-HSPLjava/nio/channels/FileLock;->close()V
-HSPLjava/nio/channels/FileLock;->isValid()Z
-HSPLjava/nio/channels/FileLock;->release()V
-HSPLjava/nio/channels/InterruptibleChannel;->close()V
-HSPLjava/nio/channels/MulticastChannel;->close()V
-HSPLjava/nio/channels/MulticastChannel;->join(Ljava/net/InetAddress;Ljava/net/NetworkInterface;)Ljava/nio/channels/MembershipKey;
-HSPLjava/nio/channels/MulticastChannel;->join(Ljava/net/InetAddress;Ljava/net/NetworkInterface;Ljava/net/InetAddress;)Ljava/nio/channels/MembershipKey;
-HSPLjava/nio/channels/NetworkChannel;->getOption(Ljava/net/SocketOption;)Ljava/lang/Object;
-HSPLjava/nio/channels/NetworkChannel;->supportedOptions()Ljava/util/Set;
-HSPLjava/nio/channels/SeekableByteChannel;->position()J
-HSPLjava/nio/channels/SeekableByteChannel;->position(J)Ljava/nio/channels/SeekableByteChannel;
-HSPLjava/nio/channels/SeekableByteChannel;->read(Ljava/nio/ByteBuffer;)I
-HSPLjava/nio/channels/SeekableByteChannel;->size()J
-HSPLjava/nio/channels/SeekableByteChannel;->truncate(J)Ljava/nio/channels/SeekableByteChannel;
-HSPLjava/nio/channels/SeekableByteChannel;->write(Ljava/nio/ByteBuffer;)I
 HSPLjava/nio/channels/SelectableChannel;-><init>()V
-HSPLjava/nio/channels/SelectableChannel;->blockingLock()Ljava/lang/Object;
-HSPLjava/nio/channels/SelectableChannel;->configureBlocking(Z)Ljava/nio/channels/SelectableChannel;
-HSPLjava/nio/channels/SelectableChannel;->isBlocking()Z
-HSPLjava/nio/channels/SelectableChannel;->isRegistered()Z
-HSPLjava/nio/channels/SelectableChannel;->keyFor(Ljava/nio/channels/Selector;)Ljava/nio/channels/SelectionKey;
-HSPLjava/nio/channels/SelectableChannel;->provider()Ljava/nio/channels/spi/SelectorProvider;
 HSPLjava/nio/channels/SelectableChannel;->register(Ljava/nio/channels/Selector;I)Ljava/nio/channels/SelectionKey;
-HSPLjava/nio/channels/SelectableChannel;->register(Ljava/nio/channels/Selector;ILjava/lang/Object;)Ljava/nio/channels/SelectionKey;
 HSPLjava/nio/channels/SelectionKey;->attach(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/nio/channels/SelectionKey;->attachment()Ljava/lang/Object;
-HSPLjava/nio/channels/SelectionKey;->cancel()V
-HSPLjava/nio/channels/SelectionKey;->channel()Ljava/nio/channels/SelectableChannel;
-HSPLjava/nio/channels/SelectionKey;->interestOps()I
-HSPLjava/nio/channels/SelectionKey;->interestOps(I)Ljava/nio/channels/SelectionKey;
 HSPLjava/nio/channels/SelectionKey;->isAcceptable()Z
 HSPLjava/nio/channels/SelectionKey;->isConnectable()Z
 HSPLjava/nio/channels/SelectionKey;->isReadable()Z
-HSPLjava/nio/channels/SelectionKey;->isValid()Z
 HSPLjava/nio/channels/SelectionKey;->isWritable()Z
-HSPLjava/nio/channels/SelectionKey;->readyOps()I
-HSPLjava/nio/channels/SelectionKey;->selector()Ljava/nio/channels/Selector;
-HSPLjava/nio/channels/Selector;->close()V
-HSPLjava/nio/channels/Selector;->isOpen()Z
-HSPLjava/nio/channels/Selector;->keys()Ljava/util/Set;
 HSPLjava/nio/channels/Selector;->open()Ljava/nio/channels/Selector;
-HSPLjava/nio/channels/Selector;->provider()Ljava/nio/channels/spi/SelectorProvider;
-HSPLjava/nio/channels/Selector;->select()I
-HSPLjava/nio/channels/Selector;->select(J)I
-HSPLjava/nio/channels/Selector;->selectNow()I
-HSPLjava/nio/channels/Selector;->selectedKeys()Ljava/util/Set;
-HSPLjava/nio/channels/ServerSocketChannel;->accept()Ljava/nio/channels/SocketChannel;
-HSPLjava/nio/channels/ServerSocketChannel;->bind(Ljava/net/SocketAddress;I)Ljava/nio/channels/ServerSocketChannel;
-HSPLjava/nio/channels/ServerSocketChannel;->getLocalAddress()Ljava/net/SocketAddress;
-HSPLjava/nio/channels/ServerSocketChannel;->setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/ServerSocketChannel;
-HSPLjava/nio/channels/ServerSocketChannel;->socket()Ljava/net/ServerSocket;
-HSPLjava/nio/channels/SocketChannel;->bind(Ljava/net/SocketAddress;)Ljava/nio/channels/SocketChannel;
-HSPLjava/nio/channels/SocketChannel;->connect(Ljava/net/SocketAddress;)Z
-HSPLjava/nio/channels/SocketChannel;->finishConnect()Z
-HSPLjava/nio/channels/SocketChannel;->getLocalAddress()Ljava/net/SocketAddress;
-HSPLjava/nio/channels/SocketChannel;->getRemoteAddress()Ljava/net/SocketAddress;
-HSPLjava/nio/channels/SocketChannel;->isConnected()Z
-HSPLjava/nio/channels/SocketChannel;->isConnectionPending()Z
 HSPLjava/nio/channels/SocketChannel;->open()Ljava/nio/channels/SocketChannel;
-HSPLjava/nio/channels/SocketChannel;->read(Ljava/nio/ByteBuffer;)I
-HSPLjava/nio/channels/SocketChannel;->read([Ljava/nio/ByteBuffer;II)J
-HSPLjava/nio/channels/SocketChannel;->setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/SocketChannel;
-HSPLjava/nio/channels/SocketChannel;->shutdownInput()Ljava/nio/channels/SocketChannel;
-HSPLjava/nio/channels/SocketChannel;->shutdownOutput()Ljava/nio/channels/SocketChannel;
-HSPLjava/nio/channels/SocketChannel;->socket()Ljava/net/Socket;
 HSPLjava/nio/channels/SocketChannel;->validOps()I
-HSPLjava/nio/channels/SocketChannel;->write(Ljava/nio/ByteBuffer;)I
-HSPLjava/nio/channels/SocketChannel;->write([Ljava/nio/ByteBuffer;II)J
 HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->begin()V
 HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->close()V
 HSPLjava/nio/channels/spi/AbstractInterruptibleChannel;->end(Z)V
@@ -47136,7 +38877,6 @@
 HSPLjava/nio/channels/spi/AbstractSelectableChannel;->addKey(Ljava/nio/channels/SelectionKey;)V
 HSPLjava/nio/channels/spi/AbstractSelectableChannel;->configureBlocking(Z)Ljava/nio/channels/SelectableChannel;
 HSPLjava/nio/channels/spi/AbstractSelectableChannel;->findKey(Ljava/nio/channels/Selector;)Ljava/nio/channels/SelectionKey;
-HSPLjava/nio/channels/spi/AbstractSelectableChannel;->haveValidKeys()Z
 HSPLjava/nio/channels/spi/AbstractSelectableChannel;->implCloseChannel()V
 HSPLjava/nio/channels/spi/AbstractSelectableChannel;->isBlocking()Z
 HSPLjava/nio/channels/spi/AbstractSelectableChannel;->isRegistered()Z
@@ -47148,25 +38888,16 @@
 HSPLjava/nio/channels/spi/AbstractSelectionKey;->isValid()Z
 HSPLjava/nio/channels/spi/AbstractSelector;->cancel(Ljava/nio/channels/SelectionKey;)V
 HSPLjava/nio/channels/spi/AbstractSelector;->close()V
-HSPLjava/nio/channels/spi/AbstractSelector;->implCloseSelector()V
-HSPLjava/nio/channels/spi/AbstractSelector;->register(Ljava/nio/channels/spi/AbstractSelectableChannel;ILjava/lang/Object;)Ljava/nio/channels/SelectionKey;
 HSPLjava/nio/channels/spi/SelectorProvider$1;->run()Ljava/nio/channels/spi/SelectorProvider;
 HSPLjava/nio/channels/spi/SelectorProvider;->loadProviderAsService()Z
 HSPLjava/nio/channels/spi/SelectorProvider;->loadProviderFromProperty()Z
-HSPLjava/nio/channels/spi/SelectorProvider;->openDatagramChannel()Ljava/nio/channels/DatagramChannel;
-HSPLjava/nio/channels/spi/SelectorProvider;->openDatagramChannel(Ljava/net/ProtocolFamily;)Ljava/nio/channels/DatagramChannel;
-HSPLjava/nio/channels/spi/SelectorProvider;->openPipe()Ljava/nio/channels/Pipe;
-HSPLjava/nio/channels/spi/SelectorProvider;->openServerSocketChannel()Ljava/nio/channels/ServerSocketChannel;
-HSPLjava/nio/channels/spi/SelectorProvider;->openSocketChannel()Ljava/nio/channels/SocketChannel;
 HSPLjava/nio/channels/spi/SelectorProvider;->provider()Ljava/nio/channels/spi/SelectorProvider;
 HSPLjava/nio/charset/Charset;-><init>(Ljava/lang/String;[Ljava/lang/String;)V
 HSPLjava/nio/charset/Charset;->aliases()Ljava/util/Set;
 HSPLjava/nio/charset/Charset;->atBugLevel(Ljava/lang/String;)Z
 HSPLjava/nio/charset/Charset;->cache(Ljava/lang/String;Ljava/nio/charset/Charset;)V
 HSPLjava/nio/charset/Charset;->checkName(Ljava/lang/String;)V
-HSPLjava/nio/charset/Charset;->decode(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
 HSPLjava/nio/charset/Charset;->defaultCharset()Ljava/nio/charset/Charset;
-HSPLjava/nio/charset/Charset;->encode(Ljava/lang/String;)Ljava/nio/ByteBuffer;
 HSPLjava/nio/charset/Charset;->encode(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;
 HSPLjava/nio/charset/Charset;->equals(Ljava/lang/Object;)Z
 HSPLjava/nio/charset/Charset;->forName(Ljava/lang/String;)Ljava/nio/charset/Charset;
@@ -47178,7 +38909,6 @@
 HSPLjava/nio/charset/CharsetDecoder;-><init>(Ljava/nio/charset/Charset;FFLjava/lang/String;)V
 HSPLjava/nio/charset/CharsetDecoder;->decode(Ljava/nio/ByteBuffer;)Ljava/nio/CharBuffer;
 HSPLjava/nio/charset/CharsetDecoder;->decode(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Z)Ljava/nio/charset/CoderResult;
-HSPLjava/nio/charset/CharsetDecoder;->decodeLoop(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
 HSPLjava/nio/charset/CharsetDecoder;->maxCharsPerByte()F
 HSPLjava/nio/charset/CharsetDecoder;->onMalformedInput(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
 HSPLjava/nio/charset/CharsetDecoder;->onUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetDecoder;
@@ -47195,18 +38925,13 @@
 HSPLjava/nio/charset/CharsetDecoderICU;->newInstance(Ljava/nio/charset/Charset;Ljava/lang/String;)Ljava/nio/charset/CharsetDecoderICU;
 HSPLjava/nio/charset/CharsetDecoderICU;->setPosition(Ljava/nio/CharBuffer;)V
 HSPLjava/nio/charset/CharsetEncoder;-><init>(Ljava/nio/charset/Charset;FF[BZ)V
-HSPLjava/nio/charset/CharsetEncoder;->canEncode(Ljava/lang/CharSequence;)Z
-HSPLjava/nio/charset/CharsetEncoder;->canEncode(Ljava/nio/CharBuffer;)Z
 HSPLjava/nio/charset/CharsetEncoder;->encode(Ljava/nio/CharBuffer;)Ljava/nio/ByteBuffer;
 HSPLjava/nio/charset/CharsetEncoder;->encode(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;Z)Ljava/nio/charset/CoderResult;
-HSPLjava/nio/charset/CharsetEncoder;->encodeLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
-HSPLjava/nio/charset/CharsetEncoder;->malformedInputAction()Ljava/nio/charset/CodingErrorAction;
 HSPLjava/nio/charset/CharsetEncoder;->maxBytesPerChar()F
 HSPLjava/nio/charset/CharsetEncoder;->onMalformedInput(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
 HSPLjava/nio/charset/CharsetEncoder;->onUnmappableCharacter(Ljava/nio/charset/CodingErrorAction;)Ljava/nio/charset/CharsetEncoder;
 HSPLjava/nio/charset/CharsetEncoder;->replacement()[B
 HSPLjava/nio/charset/CharsetEncoder;->reset()Ljava/nio/charset/CharsetEncoder;
-HSPLjava/nio/charset/CharsetEncoder;->unmappableCharacterAction()Ljava/nio/charset/CodingErrorAction;
 HSPLjava/nio/charset/CharsetEncoderICU;->encodeLoop(Ljava/nio/CharBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/charset/CoderResult;
 HSPLjava/nio/charset/CharsetEncoderICU;->getArray(Ljava/nio/ByteBuffer;)I
 HSPLjava/nio/charset/CharsetEncoderICU;->getArray(Ljava/nio/CharBuffer;)I
@@ -47228,118 +38953,34 @@
 HSPLjava/nio/charset/CodingErrorAction;-><init>(Ljava/lang/String;)V
 HSPLjava/nio/file/AccessMode;-><init>(Ljava/lang/String;I)V
 HSPLjava/nio/file/AccessMode;->values()[Ljava/nio/file/AccessMode;
-HSPLjava/nio/file/FileSystem;->close()V
-HSPLjava/nio/file/FileSystem;->getFileStores()Ljava/lang/Iterable;
-HSPLjava/nio/file/FileSystem;->getPath(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
-HSPLjava/nio/file/FileSystem;->getPathMatcher(Ljava/lang/String;)Ljava/nio/file/PathMatcher;
-HSPLjava/nio/file/FileSystem;->getRootDirectories()Ljava/lang/Iterable;
-HSPLjava/nio/file/FileSystem;->getSeparator()Ljava/lang/String;
-HSPLjava/nio/file/FileSystem;->getUserPrincipalLookupService()Ljava/nio/file/attribute/UserPrincipalLookupService;
-HSPLjava/nio/file/FileSystem;->isOpen()Z
-HSPLjava/nio/file/FileSystem;->isReadOnly()Z
-HSPLjava/nio/file/FileSystem;->newWatchService()Ljava/nio/file/WatchService;
-HSPLjava/nio/file/FileSystem;->provider()Ljava/nio/file/spi/FileSystemProvider;
-HSPLjava/nio/file/FileSystem;->supportedFileAttributeViews()Ljava/util/Set;
 HSPLjava/nio/file/FileSystems$DefaultFileSystemHolder;->defaultFileSystem()Ljava/nio/file/FileSystem;
 HSPLjava/nio/file/FileSystems$DefaultFileSystemHolder;->getDefaultProvider()Ljava/nio/file/spi/FileSystemProvider;
+HSPLjava/nio/file/Files;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
 HSPLjava/nio/file/Files;->exists(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
 HSPLjava/nio/file/Files;->followLinks([Ljava/nio/file/LinkOption;)Z
 HSPLjava/nio/file/Files;->isAccessible(Ljava/nio/file/Path;[Ljava/nio/file/AccessMode;)Z
 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;
+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
-HSPLjava/nio/file/Path;->compareTo(Ljava/nio/file/Path;)I
-HSPLjava/nio/file/Path;->endsWith(Ljava/lang/String;)Z
-HSPLjava/nio/file/Path;->endsWith(Ljava/nio/file/Path;)Z
-HSPLjava/nio/file/Path;->equals(Ljava/lang/Object;)Z
-HSPLjava/nio/file/Path;->getFileName()Ljava/nio/file/Path;
-HSPLjava/nio/file/Path;->getFileSystem()Ljava/nio/file/FileSystem;
-HSPLjava/nio/file/Path;->getName(I)Ljava/nio/file/Path;
-HSPLjava/nio/file/Path;->getNameCount()I
-HSPLjava/nio/file/Path;->getParent()Ljava/nio/file/Path;
-HSPLjava/nio/file/Path;->getRoot()Ljava/nio/file/Path;
-HSPLjava/nio/file/Path;->hashCode()I
-HSPLjava/nio/file/Path;->isAbsolute()Z
-HSPLjava/nio/file/Path;->iterator()Ljava/util/Iterator;
-HSPLjava/nio/file/Path;->normalize()Ljava/nio/file/Path;
-HSPLjava/nio/file/Path;->register(Ljava/nio/file/WatchService;[Ljava/nio/file/WatchEvent$Kind;)Ljava/nio/file/WatchKey;
-HSPLjava/nio/file/Path;->register(Ljava/nio/file/WatchService;[Ljava/nio/file/WatchEvent$Kind;[Ljava/nio/file/WatchEvent$Modifier;)Ljava/nio/file/WatchKey;
-HSPLjava/nio/file/Path;->relativize(Ljava/nio/file/Path;)Ljava/nio/file/Path;
-HSPLjava/nio/file/Path;->resolve(Ljava/lang/String;)Ljava/nio/file/Path;
-HSPLjava/nio/file/Path;->resolve(Ljava/nio/file/Path;)Ljava/nio/file/Path;
-HSPLjava/nio/file/Path;->resolveSibling(Ljava/lang/String;)Ljava/nio/file/Path;
-HSPLjava/nio/file/Path;->resolveSibling(Ljava/nio/file/Path;)Ljava/nio/file/Path;
-HSPLjava/nio/file/Path;->startsWith(Ljava/lang/String;)Z
-HSPLjava/nio/file/Path;->startsWith(Ljava/nio/file/Path;)Z
-HSPLjava/nio/file/Path;->subpath(II)Ljava/nio/file/Path;
-HSPLjava/nio/file/Path;->toAbsolutePath()Ljava/nio/file/Path;
-HSPLjava/nio/file/Path;->toFile()Ljava/io/File;
-HSPLjava/nio/file/Path;->toRealPath([Ljava/nio/file/LinkOption;)Ljava/nio/file/Path;
-HSPLjava/nio/file/Path;->toString()Ljava/lang/String;
-HSPLjava/nio/file/Path;->toUri()Ljava/net/URI;
 HSPLjava/nio/file/Paths;->get(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
 HSPLjava/nio/file/StandardOpenOption;-><init>(Ljava/lang/String;I)V
 HSPLjava/nio/file/StandardOpenOption;->values()[Ljava/nio/file/StandardOpenOption;
-HSPLjava/nio/file/Watchable;->register(Ljava/nio/file/WatchService;[Ljava/nio/file/WatchEvent$Kind;)Ljava/nio/file/WatchKey;
-HSPLjava/nio/file/Watchable;->register(Ljava/nio/file/WatchService;[Ljava/nio/file/WatchEvent$Kind;[Ljava/nio/file/WatchEvent$Modifier;)Ljava/nio/file/WatchKey;
-HSPLjava/nio/file/attribute/AttributeView;->name()Ljava/lang/String;
-HSPLjava/nio/file/attribute/BasicFileAttributeView;->name()Ljava/lang/String;
-HSPLjava/nio/file/attribute/BasicFileAttributeView;->readAttributes()Ljava/nio/file/attribute/BasicFileAttributes;
-HSPLjava/nio/file/attribute/BasicFileAttributeView;->setTimes(Ljava/nio/file/attribute/FileTime;Ljava/nio/file/attribute/FileTime;Ljava/nio/file/attribute/FileTime;)V
-HSPLjava/nio/file/attribute/BasicFileAttributes;->creationTime()Ljava/nio/file/attribute/FileTime;
-HSPLjava/nio/file/attribute/BasicFileAttributes;->fileKey()Ljava/lang/Object;
-HSPLjava/nio/file/attribute/BasicFileAttributes;->isDirectory()Z
-HSPLjava/nio/file/attribute/BasicFileAttributes;->isOther()Z
-HSPLjava/nio/file/attribute/BasicFileAttributes;->isRegularFile()Z
-HSPLjava/nio/file/attribute/BasicFileAttributes;->isSymbolicLink()Z
-HSPLjava/nio/file/attribute/BasicFileAttributes;->lastAccessTime()Ljava/nio/file/attribute/FileTime;
-HSPLjava/nio/file/attribute/BasicFileAttributes;->lastModifiedTime()Ljava/nio/file/attribute/FileTime;
-HSPLjava/nio/file/attribute/BasicFileAttributes;->size()J
-HSPLjava/nio/file/attribute/PosixFileAttributes;->group()Ljava/nio/file/attribute/GroupPrincipal;
-HSPLjava/nio/file/attribute/PosixFileAttributes;->owner()Ljava/nio/file/attribute/UserPrincipal;
-HSPLjava/nio/file/attribute/PosixFileAttributes;->permissions()Ljava/util/Set;
-HSPLjava/nio/file/spi/FileSystemProvider;->checkAccess(Ljava/nio/file/Path;[Ljava/nio/file/AccessMode;)V
-HSPLjava/nio/file/spi/FileSystemProvider;->copy(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V
-HSPLjava/nio/file/spi/FileSystemProvider;->createDirectory(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)V
-HSPLjava/nio/file/spi/FileSystemProvider;->delete(Ljava/nio/file/Path;)V
-HSPLjava/nio/file/spi/FileSystemProvider;->getFileStore(Ljava/nio/file/Path;)Ljava/nio/file/FileStore;
-HSPLjava/nio/file/spi/FileSystemProvider;->getFileSystem(Ljava/net/URI;)Ljava/nio/file/FileSystem;
-HSPLjava/nio/file/spi/FileSystemProvider;->getPath(Ljava/net/URI;)Ljava/nio/file/Path;
-HSPLjava/nio/file/spi/FileSystemProvider;->getScheme()Ljava/lang/String;
-HSPLjava/nio/file/spi/FileSystemProvider;->isHidden(Ljava/nio/file/Path;)Z
-HSPLjava/nio/file/spi/FileSystemProvider;->isSameFile(Ljava/nio/file/Path;Ljava/nio/file/Path;)Z
-HSPLjava/nio/file/spi/FileSystemProvider;->move(Ljava/nio/file/Path;Ljava/nio/file/Path;[Ljava/nio/file/CopyOption;)V
-HSPLjava/nio/file/spi/FileSystemProvider;->newByteChannel(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
-HSPLjava/nio/file/spi/FileSystemProvider;->newDirectoryStream(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;
-HSPLjava/nio/file/spi/FileSystemProvider;->newFileSystem(Ljava/net/URI;Ljava/util/Map;)Ljava/nio/file/FileSystem;
 HSPLjava/nio/file/spi/FileSystemProvider;->newInputStream(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/io/InputStream;
-HSPLjava/nio/file/spi/FileSystemProvider;->readAttributes(Ljava/nio/file/Path;Ljava/lang/String;[Ljava/nio/file/LinkOption;)Ljava/util/Map;
-HSPLjava/nio/file/spi/FileSystemProvider;->setAttribute(Ljava/nio/file/Path;Ljava/lang/String;Ljava/lang/Object;[Ljava/nio/file/LinkOption;)V
-HSPLjava/security/AccessController;->checkPermission(Ljava/security/Permission;)V
 HSPLjava/security/AccessController;->doPrivileged(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
 HSPLjava/security/AccessController;->doPrivileged(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
-HSPLjava/security/AlgorithmConstraints;->permits(Ljava/util/Set;Ljava/lang/String;Ljava/security/AlgorithmParameters;)Z
-HSPLjava/security/AlgorithmConstraints;->permits(Ljava/util/Set;Ljava/lang/String;Ljava/security/Key;Ljava/security/AlgorithmParameters;)Z
-HSPLjava/security/AlgorithmConstraints;->permits(Ljava/util/Set;Ljava/security/Key;)Z
 HSPLjava/security/AlgorithmParameters;->getInstance(Ljava/lang/String;)Ljava/security/AlgorithmParameters;
-HSPLjava/security/AlgorithmParametersSpi;->engineGetEncoded()[B
-HSPLjava/security/AlgorithmParametersSpi;->engineGetEncoded(Ljava/lang/String;)[B
-HSPLjava/security/AlgorithmParametersSpi;->engineGetParameterSpec(Ljava/lang/Class;)Ljava/security/spec/AlgorithmParameterSpec;
-HSPLjava/security/AlgorithmParametersSpi;->engineInit(Ljava/security/spec/AlgorithmParameterSpec;)V
-HSPLjava/security/AlgorithmParametersSpi;->engineInit([B)V
-HSPLjava/security/AlgorithmParametersSpi;->engineInit([BLjava/lang/String;)V
-HSPLjava/security/AlgorithmParametersSpi;->engineToString()Ljava/lang/String;
 HSPLjava/security/BasicPermission;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/security/CryptoPrimitive;-><init>(Ljava/lang/String;I)V
 HSPLjava/security/CryptoPrimitive;->values()[Ljava/security/CryptoPrimitive;
-HSPLjava/security/DigestOutputStream;-><init>(Ljava/io/OutputStream;Ljava/security/MessageDigest;)V
-HSPLjava/security/DigestOutputStream;->setMessageDigest(Ljava/security/MessageDigest;)V
-HSPLjava/security/DigestOutputStream;->write([BII)V
 HSPLjava/security/KeyFactory;-><init>(Ljava/lang/String;)V
 HSPLjava/security/KeyFactory;->generatePrivate(Ljava/security/spec/KeySpec;)Ljava/security/PrivateKey;
 HSPLjava/security/KeyFactory;->generatePublic(Ljava/security/spec/KeySpec;)Ljava/security/PublicKey;
 HSPLjava/security/KeyFactory;->getInstance(Ljava/lang/String;)Ljava/security/KeyFactory;
 HSPLjava/security/KeyFactory;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyFactory;
+HSPLjava/security/KeyFactory;->getInstance(Ljava/lang/String;Ljava/security/Provider;)Ljava/security/KeyFactory;
 HSPLjava/security/KeyFactory;->getKeySpec(Ljava/security/Key;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
 HSPLjava/security/KeyFactory;->nextSpi(Ljava/security/KeyFactorySpi;)Ljava/security/KeyFactorySpi;
 HSPLjava/security/KeyFactorySpi;-><init>()V
@@ -47347,29 +38988,22 @@
 HSPLjava/security/KeyPair;->getPrivate()Ljava/security/PrivateKey;
 HSPLjava/security/KeyPair;->getPublic()Ljava/security/PublicKey;
 HSPLjava/security/KeyPairGenerator$Delegate;->generateKeyPair()Ljava/security/KeyPair;
-HSPLjava/security/KeyPairGenerator$Delegate;->initialize(ILjava/security/SecureRandom;)V
 HSPLjava/security/KeyPairGenerator$Delegate;->initialize(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
-HSPLjava/security/KeyPairGenerator;->getInstance(Ljava/lang/String;)Ljava/security/KeyPairGenerator;
 HSPLjava/security/KeyPairGenerator;->getInstance(Ljava/lang/String;Ljava/lang/String;)Ljava/security/KeyPairGenerator;
-HSPLjava/security/KeyPairGenerator;->initialize(I)V
 HSPLjava/security/KeyPairGenerator;->initialize(Ljava/security/spec/AlgorithmParameterSpec;)V
 HSPLjava/security/KeyStore;->aliases()Ljava/util/Enumeration;
 HSPLjava/security/KeyStore;->containsAlias(Ljava/lang/String;)Z
-HSPLjava/security/KeyStore;->deleteEntry(Ljava/lang/String;)V
 HSPLjava/security/KeyStore;->getCertificate(Ljava/lang/String;)Ljava/security/cert/Certificate;
-HSPLjava/security/KeyStore;->getCreationDate(Ljava/lang/String;)Ljava/util/Date;
 HSPLjava/security/KeyStore;->getDefaultType()Ljava/lang/String;
 HSPLjava/security/KeyStore;->getInstance(Ljava/lang/String;)Ljava/security/KeyStore;
+HSPLjava/security/KeyStore;->getType()Ljava/lang/String;
 HSPLjava/security/KeyStore;->load(Ljava/io/InputStream;[C)V
 HSPLjava/security/KeyStore;->load(Ljava/security/KeyStore$LoadStoreParameter;)V
 HSPLjava/security/KeyStore;->setCertificateEntry(Ljava/lang/String;Ljava/security/cert/Certificate;)V
-HSPLjava/security/KeyStore;->size()I
 HSPLjava/security/KeyStoreSpi;-><init>()V
 HSPLjava/security/KeyStoreSpi;->engineLoad(Ljava/security/KeyStore$LoadStoreParameter;)V
-HSPLjava/security/MessageDigest$Delegate;->clone()Ljava/lang/Object;
 HSPLjava/security/MessageDigest$Delegate;->engineDigest()[B
 HSPLjava/security/MessageDigest$Delegate;->engineDigest([BII)I
-HSPLjava/security/MessageDigest$Delegate;->engineGetDigestLength()I
 HSPLjava/security/MessageDigest$Delegate;->engineReset()V
 HSPLjava/security/MessageDigest$Delegate;->engineUpdate(B)V
 HSPLjava/security/MessageDigest$Delegate;->engineUpdate(Ljava/nio/ByteBuffer;)V
@@ -47379,9 +39013,7 @@
 HSPLjava/security/MessageDigest;->digest([B)[B
 HSPLjava/security/MessageDigest;->digest([BII)I
 HSPLjava/security/MessageDigest;->getAlgorithm()Ljava/lang/String;
-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
@@ -47395,11 +39027,8 @@
 HSPLjava/security/NoSuchAlgorithmException;-><init>(Ljava/lang/String;)V
 HSPLjava/security/Provider$EngineDescription;->getConstructorParameterClass()Ljava/lang/Class;
 HSPLjava/security/Provider$Service;->addAttribute(Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/security/Provider$Service;->getAlgorithm()Ljava/lang/String;
 HSPLjava/security/Provider$Service;->getImplClass()Ljava/lang/Class;
 HSPLjava/security/Provider$Service;->getKeyClass(Ljava/lang/String;)Ljava/lang/Class;
-HSPLjava/security/Provider$Service;->getProvider()Ljava/security/Provider;
-HSPLjava/security/Provider$Service;->getType()Ljava/lang/String;
 HSPLjava/security/Provider$Service;->hasKeyAttributes()Z
 HSPLjava/security/Provider$Service;->newInstance(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/security/Provider$Service;->supportsKeyFormat(Ljava/security/Key;)Z
@@ -47425,7 +39054,6 @@
 HSPLjava/security/Provider;->putId()V
 HSPLjava/security/Provider;->removeInvalidServices(Ljava/util/Map;)V
 HSPLjava/security/Provider;->warmUpServiceProvision()V
-HSPLjava/security/ProviderException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
 HSPLjava/security/SecureRandom;-><init>()V
 HSPLjava/security/SecureRandom;->getDefaultPRNG(Z[B)V
 HSPLjava/security/SecureRandom;->getInstance(Ljava/lang/String;)Ljava/security/SecureRandom;
@@ -47434,9 +39062,6 @@
 HSPLjava/security/SecureRandom;->nextBytes([B)V
 HSPLjava/security/SecureRandom;->setSeed(J)V
 HSPLjava/security/SecureRandomSpi;-><init>()V
-HSPLjava/security/SecureRandomSpi;->engineGenerateSeed(I)[B
-HSPLjava/security/SecureRandomSpi;->engineNextBytes([B)V
-HSPLjava/security/SecureRandomSpi;->engineSetSeed([B)V
 HSPLjava/security/Security;->addProvider(Ljava/security/Provider;)I
 HSPLjava/security/Security;->getProperty(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/security/Security;->getProvider(Ljava/lang/String;)Ljava/security/Provider;
@@ -47457,7 +39082,6 @@
 HSPLjava/security/Signature;->getInstance(Ljava/lang/String;)Ljava/security/Signature;
 HSPLjava/security/Signature;->initSign(Ljava/security/PrivateKey;)V
 HSPLjava/security/Signature;->initVerify(Ljava/security/PublicKey;)V
-HSPLjava/security/Signature;->initVerify(Ljava/security/cert/Certificate;)V
 HSPLjava/security/Signature;->isSpi(Ljava/security/Provider$Service;)Z
 HSPLjava/security/Signature;->sign()[B
 HSPLjava/security/Signature;->update(Ljava/nio/ByteBuffer;)V
@@ -47465,53 +39089,27 @@
 HSPLjava/security/Signature;->update([BII)V
 HSPLjava/security/Signature;->verify([B)Z
 HSPLjava/security/SignatureSpi;-><init>()V
-HSPLjava/security/SignatureSpi;->engineGetParameter(Ljava/lang/String;)Ljava/lang/Object;
-HSPLjava/security/SignatureSpi;->engineInitSign(Ljava/security/PrivateKey;)V
-HSPLjava/security/SignatureSpi;->engineInitVerify(Ljava/security/PublicKey;)V
-HSPLjava/security/SignatureSpi;->engineSetParameter(Ljava/lang/String;Ljava/lang/Object;)V
-HSPLjava/security/SignatureSpi;->engineSign()[B
-HSPLjava/security/SignatureSpi;->engineUpdate(B)V
 HSPLjava/security/SignatureSpi;->engineUpdate(Ljava/nio/ByteBuffer;)V
-HSPLjava/security/SignatureSpi;->engineUpdate([BII)V
-HSPLjava/security/SignatureSpi;->engineVerify([B)Z
 HSPLjava/security/cert/CRLReason;-><init>(Ljava/lang/String;I)V
 HSPLjava/security/cert/CRLReason;->values()[Ljava/security/cert/CRLReason;
 HSPLjava/security/cert/CertPath;-><init>(Ljava/lang/String;)V
-HSPLjava/security/cert/CertPath;->getCertificates()Ljava/util/List;
-HSPLjava/security/cert/CertPath;->getEncoded()[B
-HSPLjava/security/cert/CertPath;->getEncoded(Ljava/lang/String;)[B
-HSPLjava/security/cert/CertPath;->getEncodings()Ljava/util/Iterator;
 HSPLjava/security/cert/CertPath;->getType()Ljava/lang/String;
-HSPLjava/security/cert/CertPathChecker;->check(Ljava/security/cert/Certificate;)V
 HSPLjava/security/cert/CertPathHelperImpl;->initialize()V
-HSPLjava/security/cert/CertPathParameters;->clone()Ljava/lang/Object;
 HSPLjava/security/cert/CertPathValidator;->getInstance(Ljava/lang/String;)Ljava/security/cert/CertPathValidator;
 HSPLjava/security/cert/CertPathValidator;->getRevocationChecker()Ljava/security/cert/CertPathChecker;
 HSPLjava/security/cert/CertPathValidator;->validate(Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathValidatorResult;
-HSPLjava/security/cert/CertPathValidatorResult;->clone()Ljava/lang/Object;
-HSPLjava/security/cert/CertPathValidatorSpi;->engineValidate(Ljava/security/cert/CertPath;Ljava/security/cert/CertPathParameters;)Ljava/security/cert/CertPathValidatorResult;
 HSPLjava/security/cert/CertStore;->getInstance(Ljava/lang/String;Ljava/security/cert/CertStoreParameters;)Ljava/security/cert/CertStore;
-HSPLjava/security/cert/CertStoreParameters;->clone()Ljava/lang/Object;
-HSPLjava/security/cert/CertStoreSpi;->engineGetCRLs(Ljava/security/cert/CRLSelector;)Ljava/util/Collection;
-HSPLjava/security/cert/CertStoreSpi;->engineGetCertificates(Ljava/security/cert/CertSelector;)Ljava/util/Collection;
-HSPLjava/security/cert/Certificate;->equals(Ljava/lang/Object;)Z
 HSPLjava/security/cert/Certificate;->hashCode()I
 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;->generateCertificates(Ljava/io/InputStream;)Ljava/util/Collection;
 HSPLjava/security/cert/CertificateFactory;->getInstance(Ljava/lang/String;)Ljava/security/cert/CertificateFactory;
 HSPLjava/security/cert/CertificateFactorySpi;-><init>()V
-HSPLjava/security/cert/CertificateFactorySpi;->engineGenerateCRL(Ljava/io/InputStream;)Ljava/security/cert/CRL;
-HSPLjava/security/cert/CertificateFactorySpi;->engineGenerateCRLs(Ljava/io/InputStream;)Ljava/util/Collection;
-HSPLjava/security/cert/CertificateFactorySpi;->engineGenerateCertificate(Ljava/io/InputStream;)Ljava/security/cert/Certificate;
-HSPLjava/security/cert/CertificateFactorySpi;->engineGenerateCertificates(Ljava/io/InputStream;)Ljava/util/Collection;
 HSPLjava/security/cert/CollectionCertStoreParameters;-><init>(Ljava/util/Collection;)V
 HSPLjava/security/cert/CollectionCertStoreParameters;->clone()Ljava/lang/Object;
-HSPLjava/security/cert/Extension;->getId()Ljava/lang/String;
-HSPLjava/security/cert/Extension;->getValue()[B
-HSPLjava/security/cert/Extension;->isCritical()Z
+HSPLjava/security/cert/PKIXCertPathChecker;-><init>()V
 HSPLjava/security/cert/PKIXCertPathChecker;->clone()Ljava/lang/Object;
-HSPLjava/security/cert/PKIXParameters;-><init>(Ljava/security/KeyStore;)V
+HSPLjava/security/cert/PKIXCertPathValidatorResult;->getPublicKey()Ljava/security/PublicKey;
+HSPLjava/security/cert/PKIXCertPathValidatorResult;->getTrustAnchor()Ljava/security/cert/TrustAnchor;
 HSPLjava/security/cert/PKIXParameters;-><init>(Ljava/util/Set;)V
 HSPLjava/security/cert/PKIXParameters;->addCertPathChecker(Ljava/security/cert/PKIXCertPathChecker;)V
 HSPLjava/security/cert/PKIXParameters;->getCertPathCheckers()Ljava/util/List;
@@ -47537,18 +39135,11 @@
 HSPLjava/security/cert/PKIXRevocationChecker;->getOcspResponderCert()Ljava/security/cert/X509Certificate;
 HSPLjava/security/cert/PKIXRevocationChecker;->getOcspResponses()Ljava/util/Map;
 HSPLjava/security/cert/PKIXRevocationChecker;->getOptions()Ljava/util/Set;
-HSPLjava/security/cert/PKIXRevocationChecker;->getSoftFailExceptions()Ljava/util/List;
 HSPLjava/security/cert/PKIXRevocationChecker;->setOcspResponses(Ljava/util/Map;)V
 HSPLjava/security/cert/PKIXRevocationChecker;->setOptions(Ljava/util/Set;)V
-HSPLjava/security/cert/PolicyNode;->getChildren()Ljava/util/Iterator;
-HSPLjava/security/cert/PolicyNode;->getDepth()I
-HSPLjava/security/cert/PolicyNode;->getExpectedPolicies()Ljava/util/Set;
-HSPLjava/security/cert/PolicyNode;->getParent()Ljava/security/cert/PolicyNode;
-HSPLjava/security/cert/PolicyNode;->getPolicyQualifiers()Ljava/util/Set;
-HSPLjava/security/cert/PolicyNode;->getValidPolicy()Ljava/lang/String;
-HSPLjava/security/cert/PolicyNode;->isCritical()Z
 HSPLjava/security/cert/PolicyQualifierInfo;-><init>([B)V
 HSPLjava/security/cert/TrustAnchor;-><init>(Ljava/security/cert/X509Certificate;[B)V
+HSPLjava/security/cert/TrustAnchor;->getTrustedCert()Ljava/security/cert/X509Certificate;
 HSPLjava/security/cert/TrustAnchor;->setNameConstraints([B)V
 HSPLjava/security/cert/X509CertSelector;->match(Ljava/security/cert/Certificate;)Z
 HSPLjava/security/cert/X509CertSelector;->matchAuthorityKeyID(Ljava/security/cert/X509Certificate;)Z
@@ -47563,42 +39154,33 @@
 HSPLjava/security/cert/X509CertSelector;->matchSubjectKeyID(Ljava/security/cert/X509Certificate;)Z
 HSPLjava/security/cert/X509CertSelector;->matchSubjectPublicKeyAlgID(Ljava/security/cert/X509Certificate;)Z
 HSPLjava/security/cert/X509Certificate;-><init>()V
-HSPLjava/security/interfaces/DSAKey;->getParams()Ljava/security/interfaces/DSAParams;
-HSPLjava/security/interfaces/DSAParams;->getG()Ljava/math/BigInteger;
-HSPLjava/security/interfaces/DSAParams;->getP()Ljava/math/BigInteger;
-HSPLjava/security/interfaces/DSAParams;->getQ()Ljava/math/BigInteger;
-HSPLjava/security/interfaces/DSAPublicKey;->getY()Ljava/math/BigInteger;
-HSPLjava/security/interfaces/ECKey;->getParams()Ljava/security/spec/ECParameterSpec;
-HSPLjava/security/interfaces/ECPublicKey;->getW()Ljava/security/spec/ECPoint;
-HSPLjava/security/interfaces/RSAKey;->getModulus()Ljava/math/BigInteger;
-HSPLjava/security/interfaces/RSAPrivateCrtKey;->getCrtCoefficient()Ljava/math/BigInteger;
-HSPLjava/security/interfaces/RSAPrivateCrtKey;->getPrimeExponentP()Ljava/math/BigInteger;
-HSPLjava/security/interfaces/RSAPrivateCrtKey;->getPrimeExponentQ()Ljava/math/BigInteger;
-HSPLjava/security/interfaces/RSAPrivateCrtKey;->getPrimeP()Ljava/math/BigInteger;
-HSPLjava/security/interfaces/RSAPrivateCrtKey;->getPrimeQ()Ljava/math/BigInteger;
-HSPLjava/security/interfaces/RSAPrivateCrtKey;->getPublicExponent()Ljava/math/BigInteger;
-HSPLjava/security/interfaces/RSAPrivateKey;->getPrivateExponent()Ljava/math/BigInteger;
-HSPLjava/security/interfaces/RSAPublicKey;->getPublicExponent()Ljava/math/BigInteger;
 HSPLjava/security/spec/DSAParameterSpec;->getG()Ljava/math/BigInteger;
 HSPLjava/security/spec/DSAParameterSpec;->getP()Ljava/math/BigInteger;
 HSPLjava/security/spec/DSAParameterSpec;->getQ()Ljava/math/BigInteger;
-HSPLjava/security/spec/ECField;->getFieldSize()I
 HSPLjava/security/spec/ECFieldFp;-><init>(Ljava/math/BigInteger;)V
 HSPLjava/security/spec/ECFieldFp;->getFieldSize()I
 HSPLjava/security/spec/ECFieldFp;->getP()Ljava/math/BigInteger;
-HSPLjava/security/spec/ECGenParameterSpec;-><init>(Ljava/lang/String;)V
-HSPLjava/security/spec/ECGenParameterSpec;->getName()Ljava/lang/String;
 HSPLjava/security/spec/ECParameterSpec;-><init>(Ljava/security/spec/EllipticCurve;Ljava/security/spec/ECPoint;Ljava/math/BigInteger;I)V
 HSPLjava/security/spec/ECParameterSpec;->getCurve()Ljava/security/spec/EllipticCurve;
+HSPLjava/security/spec/ECParameterSpec;->getCurveName()Ljava/lang/String;
+HSPLjava/security/spec/ECParameterSpec;->getGenerator()Ljava/security/spec/ECPoint;
 HSPLjava/security/spec/ECParameterSpec;->getOrder()Ljava/math/BigInteger;
 HSPLjava/security/spec/ECParameterSpec;->setCurveName(Ljava/lang/String;)V
 HSPLjava/security/spec/ECPoint;-><init>()V
 HSPLjava/security/spec/ECPoint;-><init>(Ljava/math/BigInteger;Ljava/math/BigInteger;)V
+HSPLjava/security/spec/ECPoint;->getAffineX()Ljava/math/BigInteger;
+HSPLjava/security/spec/ECPoint;->getAffineY()Ljava/math/BigInteger;
+HSPLjava/security/spec/ECPublicKeySpec;-><init>(Ljava/security/spec/ECPoint;Ljava/security/spec/ECParameterSpec;)V
+HSPLjava/security/spec/ECPublicKeySpec;->getParams()Ljava/security/spec/ECParameterSpec;
+HSPLjava/security/spec/ECPublicKeySpec;->getW()Ljava/security/spec/ECPoint;
 HSPLjava/security/spec/EllipticCurve;-><init>(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/math/BigInteger;)V
 HSPLjava/security/spec/EllipticCurve;-><init>(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/math/BigInteger;[B)V
 HSPLjava/security/spec/EllipticCurve;->checkValidity(Ljava/security/spec/ECField;Ljava/math/BigInteger;Ljava/lang/String;)V
+HSPLjava/security/spec/EllipticCurve;->getA()Ljava/math/BigInteger;
+HSPLjava/security/spec/EllipticCurve;->getB()Ljava/math/BigInteger;
 HSPLjava/security/spec/EllipticCurve;->getField()Ljava/security/spec/ECField;
 HSPLjava/security/spec/InvalidKeySpecException;-><init>(Ljava/lang/String;)V
+HSPLjava/security/spec/MGF1ParameterSpec;-><init>(Ljava/lang/String;)V
 HSPLjava/security/spec/PKCS8EncodedKeySpec;-><init>([B)V
 HSPLjava/security/spec/PKCS8EncodedKeySpec;->getEncoded()[B
 HSPLjava/security/spec/X509EncodedKeySpec;-><init>([B)V
@@ -47607,94 +39189,42 @@
 HSPLjava/sql/Timestamp;->toString()Ljava/lang/String;
 HSPLjava/text/AttributedCharacterIterator$Attribute;-><init>(Ljava/lang/String;)V
 HSPLjava/text/AttributedCharacterIterator$Attribute;->hashCode()I
-HSPLjava/text/Bidi;->requiresBidi([CII)Z
-HSPLjava/text/BreakIterator;->current()I
-HSPLjava/text/BreakIterator;->first()I
-HSPLjava/text/BreakIterator;->following(I)I
-HSPLjava/text/BreakIterator;->getLineInstance(Ljava/util/Locale;)Ljava/text/BreakIterator;
-HSPLjava/text/BreakIterator;->getText()Ljava/text/CharacterIterator;
-HSPLjava/text/BreakIterator;->getWordInstance()Ljava/text/BreakIterator;
 HSPLjava/text/BreakIterator;->getWordInstance(Ljava/util/Locale;)Ljava/text/BreakIterator;
-HSPLjava/text/BreakIterator;->last()I
-HSPLjava/text/BreakIterator;->next()I
-HSPLjava/text/BreakIterator;->next(I)I
-HSPLjava/text/BreakIterator;->previous()I
-HSPLjava/text/BreakIterator;->setText(Ljava/text/CharacterIterator;)V
 HSPLjava/text/CalendarBuilder;->establish(Ljava/util/Calendar;)Ljava/util/Calendar;
 HSPLjava/text/CalendarBuilder;->isSet(I)Z
 HSPLjava/text/CalendarBuilder;->set(II)Ljava/text/CalendarBuilder;
-HSPLjava/text/CharacterIterator;->clone()Ljava/lang/Object;
-HSPLjava/text/CharacterIterator;->current()C
-HSPLjava/text/CharacterIterator;->first()C
-HSPLjava/text/CharacterIterator;->getBeginIndex()I
-HSPLjava/text/CharacterIterator;->getEndIndex()I
-HSPLjava/text/CharacterIterator;->getIndex()I
-HSPLjava/text/CharacterIterator;->last()C
-HSPLjava/text/CharacterIterator;->next()C
-HSPLjava/text/CharacterIterator;->previous()C
-HSPLjava/text/CharacterIterator;->setIndex(I)C
 HSPLjava/text/Collator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLjava/text/Collator;->compare(Ljava/lang/String;Ljava/lang/String;)I
-HSPLjava/text/Collator;->decompositionMode_Java_ICU(I)I
-HSPLjava/text/Collator;->getCollationKey(Ljava/lang/String;)Ljava/text/CollationKey;
 HSPLjava/text/Collator;->getInstance()Ljava/text/Collator;
 HSPLjava/text/Collator;->getInstance(Ljava/util/Locale;)Ljava/text/Collator;
-HSPLjava/text/Collator;->hashCode()I
-HSPLjava/text/Collator;->setDecomposition(I)V
 HSPLjava/text/Collator;->setStrength(I)V
 HSPLjava/text/DateFormat$Field;-><init>(Ljava/lang/String;I)V
-HSPLjava/text/DateFormat;-><init>()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;
-HSPLjava/text/DateFormat;->format(Ljava/util/Date;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
 HSPLjava/text/DateFormat;->get(IIILjava/util/Locale;)Ljava/text/DateFormat;
 HSPLjava/text/DateFormat;->getDateInstance(ILjava/util/Locale;)Ljava/text/DateFormat;
 HSPLjava/text/DateFormat;->getDateTimeInstance()Ljava/text/DateFormat;
-HSPLjava/text/DateFormat;->getDateTimeInstance(II)Ljava/text/DateFormat;
-HSPLjava/text/DateFormat;->getDateTimeInstance(IILjava/util/Locale;)Ljava/text/DateFormat;
-HSPLjava/text/DateFormat;->getTimeInstance(I)Ljava/text/DateFormat;
+HSPLjava/text/DateFormat;->getTimeInstance()Ljava/text/DateFormat;
 HSPLjava/text/DateFormat;->getTimeInstance(ILjava/util/Locale;)Ljava/text/DateFormat;
 HSPLjava/text/DateFormat;->getTimeZone()Ljava/util/TimeZone;
-HSPLjava/text/DateFormat;->isLenient()Z
 HSPLjava/text/DateFormat;->parse(Ljava/lang/String;)Ljava/util/Date;
-HSPLjava/text/DateFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;
 HSPLjava/text/DateFormat;->set24HourTimePref(Ljava/lang/Boolean;)V
-HSPLjava/text/DateFormat;->setCalendar(Ljava/util/Calendar;)V
 HSPLjava/text/DateFormat;->setLenient(Z)V
 HSPLjava/text/DateFormat;->setTimeZone(Ljava/util/TimeZone;)V
-HSPLjava/text/DateFormatSymbols;-><init>()V
 HSPLjava/text/DateFormatSymbols;-><init>(Ljava/util/Locale;)V
-HSPLjava/text/DateFormatSymbols;->clone()Ljava/lang/Object;
-HSPLjava/text/DateFormatSymbols;->copyMembers(Ljava/text/DateFormatSymbols;Ljava/text/DateFormatSymbols;)V
 HSPLjava/text/DateFormatSymbols;->getAmPmStrings()[Ljava/lang/String;
 HSPLjava/text/DateFormatSymbols;->getCachedInstance(Ljava/util/Locale;)Ljava/text/DateFormatSymbols;
-HSPLjava/text/DateFormatSymbols;->getEras()[Ljava/lang/String;
-HSPLjava/text/DateFormatSymbols;->getInstance(Ljava/util/Locale;)Ljava/text/DateFormatSymbols;
-HSPLjava/text/DateFormatSymbols;->getLocalPatternChars()Ljava/lang/String;
 HSPLjava/text/DateFormatSymbols;->getMonths()[Ljava/lang/String;
 HSPLjava/text/DateFormatSymbols;->getShortMonths()[Ljava/lang/String;
 HSPLjava/text/DateFormatSymbols;->getShortWeekdays()[Ljava/lang/String;
 HSPLjava/text/DateFormatSymbols;->getWeekdays()[Ljava/lang/String;
-HSPLjava/text/DateFormatSymbols;->getZoneStrings()[[Ljava/lang/String;
 HSPLjava/text/DateFormatSymbols;->initializeData(Ljava/util/Locale;)V
 HSPLjava/text/DateFormatSymbols;->initializeSupplementaryData(Llibcore/icu/LocaleData;)V
-HSPLjava/text/DateFormatSymbols;->internalZoneStrings()[[Ljava/lang/String;
-HSPLjava/text/DateFormatSymbols;->setAmPmStrings([Ljava/lang/String;)V
-HSPLjava/text/DateFormatSymbols;->setEras([Ljava/lang/String;)V
-HSPLjava/text/DateFormatSymbols;->setMonths([Ljava/lang/String;)V
-HSPLjava/text/DateFormatSymbols;->setShortMonths([Ljava/lang/String;)V
-HSPLjava/text/DateFormatSymbols;->setShortWeekdays([Ljava/lang/String;)V
-HSPLjava/text/DateFormatSymbols;->setWeekdays([Ljava/lang/String;)V
-HSPLjava/text/DecimalFormat;-><init>()V
 HSPLjava/text/DecimalFormat;-><init>(Ljava/lang/String;)V
 HSPLjava/text/DecimalFormat;-><init>(Ljava/lang/String;Ljava/text/DecimalFormatSymbols;)V
-HSPLjava/text/DecimalFormat;->adjustForCurrencyDefaultFractionDigits()V
 HSPLjava/text/DecimalFormat;->clone()Ljava/lang/Object;
-HSPLjava/text/DecimalFormat;->convertRoundingMode(Ljava/math/RoundingMode;)I
 HSPLjava/text/DecimalFormat;->equals(Ljava/lang/Object;)Z
 HSPLjava/text/DecimalFormat;->format(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
 HSPLjava/text/DecimalFormat;->format(JLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-HSPLjava/text/DecimalFormat;->format(Ljava/lang/Object;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
 HSPLjava/text/DecimalFormat;->getDecimalFormatSymbols()Ljava/text/DecimalFormatSymbols;
 HSPLjava/text/DecimalFormat;->getGroupingSize()I
 HSPLjava/text/DecimalFormat;->getIcuFieldPosition(Ljava/text/FieldPosition;)Ljava/text/FieldPosition;
@@ -47710,21 +39240,16 @@
 HSPLjava/text/DecimalFormat;->isParseBigDecimal()Z
 HSPLjava/text/DecimalFormat;->isParseIntegerOnly()Z
 HSPLjava/text/DecimalFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number;
-HSPLjava/text/DecimalFormat;->setCurrency(Ljava/util/Currency;)V
-HSPLjava/text/DecimalFormat;->setDecimalSeparatorAlwaysShown(Z)V
 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;->setRoundingMode(Ljava/math/RoundingMode;)V
 HSPLjava/text/DecimalFormat;->toPattern()Ljava/lang/String;
 HSPLjava/text/DecimalFormat;->updateFieldsFromIcu()V
 HSPLjava/text/DecimalFormatSymbols;-><init>(Ljava/util/Locale;)V
 HSPLjava/text/DecimalFormatSymbols;->clone()Ljava/lang/Object;
 HSPLjava/text/DecimalFormatSymbols;->fromIcuInstance(Landroid/icu/text/DecimalFormatSymbols;)Ljava/text/DecimalFormatSymbols;
-HSPLjava/text/DecimalFormatSymbols;->getCurrency()Ljava/util/Currency;
-HSPLjava/text/DecimalFormatSymbols;->getCurrencySymbol()Ljava/lang/String;
 HSPLjava/text/DecimalFormatSymbols;->getIcuDecimalFormatSymbols()Landroid/icu/text/DecimalFormatSymbols;
 HSPLjava/text/DecimalFormatSymbols;->getZeroDigit()C
 HSPLjava/text/DecimalFormatSymbols;->initialize(Ljava/util/Locale;)V
@@ -47735,6 +39260,7 @@
 HSPLjava/text/DontCareFieldPosition;-><init>()V
 HSPLjava/text/DontCareFieldPosition;->getFieldDelegate()Ljava/text/Format$FieldDelegate;
 HSPLjava/text/FieldPosition$Delegate;->formatted(ILjava/text/Format$Field;Ljava/lang/Object;IILjava/lang/StringBuffer;)V
+HSPLjava/text/FieldPosition;-><init>(I)V
 HSPLjava/text/FieldPosition;->getBeginIndex()I
 HSPLjava/text/FieldPosition;->getEndIndex()I
 HSPLjava/text/FieldPosition;->getField()I
@@ -47745,9 +39271,6 @@
 HSPLjava/text/Format$Field;-><init>(Ljava/lang/String;)V
 HSPLjava/text/Format;->clone()Ljava/lang/Object;
 HSPLjava/text/Format;->format(Ljava/lang/Object;)Ljava/lang/String;
-HSPLjava/text/IcuIteratorWrapper;->first()I
-HSPLjava/text/IcuIteratorWrapper;->next()I
-HSPLjava/text/IcuIteratorWrapper;->setText(Ljava/lang/String;)V
 HSPLjava/text/MessageFormat$Field;-><init>(Ljava/lang/String;)V
 HSPLjava/text/MessageFormat;-><init>(Ljava/lang/String;)V
 HSPLjava/text/MessageFormat;->applyPattern(Ljava/lang/String;)V
@@ -47758,38 +39281,28 @@
 HSPLjava/text/Normalizer$Form;-><init>(Ljava/lang/String;ILandroid/icu/text/Normalizer$Mode;)V
 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(DLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
 HSPLjava/text/NumberFormat;->format(J)Ljava/lang/String;
-HSPLjava/text/NumberFormat;->format(JLjava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
-HSPLjava/text/NumberFormat;->getCurrencyInstance()Ljava/text/NumberFormat;
-HSPLjava/text/NumberFormat;->getInstance()Ljava/text/NumberFormat;
 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;
-HSPLjava/text/NumberFormat;->getNumberInstance()Ljava/text/NumberFormat;
-HSPLjava/text/NumberFormat;->getNumberInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;
 HSPLjava/text/NumberFormat;->getPercentInstance()Ljava/text/NumberFormat;
-HSPLjava/text/NumberFormat;->parse(Ljava/lang/String;)Ljava/lang/Number;
-HSPLjava/text/NumberFormat;->parse(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/lang/Number;
+HSPLjava/text/NumberFormat;->getPercentInstance(Ljava/util/Locale;)Ljava/text/NumberFormat;
 HSPLjava/text/ParsePosition;-><init>(I)V
 HSPLjava/text/ParsePosition;->getErrorIndex()I
 HSPLjava/text/ParsePosition;->getIndex()I
-HSPLjava/text/ParsePosition;->setErrorIndex(I)V
 HSPLjava/text/ParsePosition;->setIndex(I)V
-HSPLjava/text/RuleBasedCollator;-><init>(Ljava/lang/String;)V
 HSPLjava/text/RuleBasedCollator;->compare(Ljava/lang/String;Ljava/lang/String;)I
-HSPLjava/text/RuleBasedCollator;->getRules()Ljava/lang/String;
+HSPLjava/text/RuleBasedCollator;->getCollationKey(Ljava/lang/String;)Ljava/text/CollationKey;
 HSPLjava/text/SimpleDateFormat;-><init>()V
 HSPLjava/text/SimpleDateFormat;-><init>(Ljava/lang/String;)V
 HSPLjava/text/SimpleDateFormat;-><init>(Ljava/lang/String;Ljava/util/Locale;)V
 HSPLjava/text/SimpleDateFormat;->checkNegativeNumberExpression()V
-HSPLjava/text/SimpleDateFormat;->clone()Ljava/lang/Object;
 HSPLjava/text/SimpleDateFormat;->compile(Ljava/lang/String;)[C
 HSPLjava/text/SimpleDateFormat;->encode(IILjava/lang/StringBuilder;)V
 HSPLjava/text/SimpleDateFormat;->format(Ljava/util/Date;Ljava/lang/StringBuffer;Ljava/text/FieldPosition;)Ljava/lang/StringBuffer;
 HSPLjava/text/SimpleDateFormat;->format(Ljava/util/Date;Ljava/lang/StringBuffer;Ljava/text/Format$FieldDelegate;)Ljava/lang/StringBuffer;
-HSPLjava/text/SimpleDateFormat;->formatMonth(IIILjava/lang/StringBuffer;ZZ)Ljava/lang/String;
+HSPLjava/text/SimpleDateFormat;->formatMonth(IIILjava/lang/StringBuffer;ZZII)Ljava/lang/String;
 HSPLjava/text/SimpleDateFormat;->formatWeekday(IIZZ)Ljava/lang/String;
 HSPLjava/text/SimpleDateFormat;->getDateTimeFormat(IILjava/util/Locale;)Ljava/lang/String;
 HSPLjava/text/SimpleDateFormat;->initialize(Ljava/util/Locale;)V
@@ -47798,13 +39311,10 @@
 HSPLjava/text/SimpleDateFormat;->parseInternal(Ljava/lang/String;Ljava/text/ParsePosition;)Ljava/util/Date;
 HSPLjava/text/SimpleDateFormat;->parseMonth(Ljava/lang/String;IIIILjava/text/ParsePosition;ZZLjava/text/CalendarBuilder;)I
 HSPLjava/text/SimpleDateFormat;->parseWeekday(Ljava/lang/String;IIZZLjava/text/CalendarBuilder;)I
-HSPLjava/text/SimpleDateFormat;->set2DigitYearStart(Ljava/util/Date;)V
 HSPLjava/text/SimpleDateFormat;->subFormat(IILjava/text/Format$FieldDelegate;Ljava/lang/StringBuffer;Z)V
 HSPLjava/text/SimpleDateFormat;->subParse(Ljava/lang/String;IIIZ[ZLjava/text/ParsePosition;ZLjava/text/CalendarBuilder;)I
 HSPLjava/text/SimpleDateFormat;->subParseNumericZone(Ljava/lang/String;IIIZLjava/text/CalendarBuilder;)I
-HSPLjava/text/SimpleDateFormat;->toLocalizedPattern()Ljava/lang/String;
 HSPLjava/text/SimpleDateFormat;->toPattern()Ljava/lang/String;
-HSPLjava/text/SimpleDateFormat;->translatePattern(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/text/SimpleDateFormat;->useDateFormatSymbols()Z
 HSPLjava/text/SimpleDateFormat;->zeroPaddingNumber(IIILjava/lang/StringBuffer;)V
 HSPLjava/text/StringCharacterIterator;-><init>(Ljava/lang/String;)V
@@ -47824,67 +39334,43 @@
 HSPLjava/time/Clock$SystemClock;->getZone()Ljava/time/ZoneId;
 HSPLjava/time/Clock$SystemClock;->instant()Ljava/time/Instant;
 HSPLjava/time/Clock$SystemClock;->millis()J
-HSPLjava/time/Clock;->getZone()Ljava/time/ZoneId;
-HSPLjava/time/Clock;->instant()Ljava/time/Instant;
 HSPLjava/time/Clock;->systemDefaultZone()Ljava/time/Clock;
 HSPLjava/time/Clock;->systemUTC()Ljava/time/Clock;
-HSPLjava/time/Clock;->withZone(Ljava/time/ZoneId;)Ljava/time/Clock;
 HSPLjava/time/DateTimeException;-><init>(Ljava/lang/String;)V
 HSPLjava/time/DayOfWeek;-><init>(Ljava/lang/String;I)V
 HSPLjava/time/DayOfWeek;->of(I)Ljava/time/DayOfWeek;
 HSPLjava/time/DayOfWeek;->values()[Ljava/time/DayOfWeek;
 HSPLjava/time/Duration;-><init>(JI)V
-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;->create(Ljava/math/BigDecimal;)Ljava/time/Duration;
-HSPLjava/time/Duration;->dividedBy(J)Ljava/time/Duration;
-HSPLjava/time/Duration;->multipliedBy(J)Ljava/time/Duration;
-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;
-HSPLjava/time/Duration;->subtractFrom(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
 HSPLjava/time/Duration;->toMillis()J
-HSPLjava/time/Duration;->toNanos()J
 HSPLjava/time/Instant;-><init>(JI)V
-HSPLjava/time/Instant;->atZone(Ljava/time/ZoneId;)Ljava/time/ZonedDateTime;
 HSPLjava/time/Instant;->create(JI)Ljava/time/Instant;
-HSPLjava/time/Instant;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/Instant;
-HSPLjava/time/Instant;->isAfter(Ljava/time/Instant;)Z
-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;->minusMillis(J)Ljava/time/Instant;
 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;->plus(JJ)Ljava/time/Instant;
-HSPLjava/time/Instant;->plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/Instant;
 HSPLjava/time/Instant;->toEpochMilli()J
-HSPLjava/time/Instant;->until(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J
 HSPLjava/time/LocalDate;->atTime(Ljava/time/LocalTime;)Ljava/time/chrono/ChronoLocalDateTime;
 HSPLjava/time/LocalDate;->create(III)Ljava/time/LocalDate;
+HSPLjava/time/LocalDate;->equals(Ljava/lang/Object;)Z
 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;
 HSPLjava/time/LocalDate;->isAfter(Ljava/time/chrono/ChronoLocalDate;)Z
-HSPLjava/time/LocalDate;->isBefore(Ljava/time/chrono/ChronoLocalDate;)Z
 HSPLjava/time/LocalDate;->isSupported(Ljava/time/temporal/TemporalField;)Z
 HSPLjava/time/LocalDate;->minusDays(J)Ljava/time/LocalDate;
 HSPLjava/time/LocalDate;->now()Ljava/time/LocalDate;
 HSPLjava/time/LocalDate;->now(Ljava/time/Clock;)Ljava/time/LocalDate;
-HSPLjava/time/LocalDate;->now(Ljava/time/ZoneId;)Ljava/time/LocalDate;
 HSPLjava/time/LocalDate;->of(III)Ljava/time/LocalDate;
 HSPLjava/time/LocalDate;->ofEpochDay(J)Ljava/time/LocalDate;
 HSPLjava/time/LocalDate;->parse(Ljava/lang/CharSequence;)Ljava/time/LocalDate;
 HSPLjava/time/LocalDate;->plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/LocalDate;
-HSPLjava/time/LocalDate;->plusDays(J)Ljava/time/LocalDate;
 HSPLjava/time/LocalDate;->query(Ljava/time/temporal/TemporalQuery;)Ljava/lang/Object;
 HSPLjava/time/LocalDate;->toEpochDay()J
 HSPLjava/time/LocalDate;->toString()Ljava/lang/String;
-HSPLjava/time/LocalDateTime;->atOffset(Ljava/time/ZoneOffset;)Ljava/time/OffsetDateTime;
+HSPLjava/time/LocalDateTime;-><init>(Ljava/time/LocalDate;Ljava/time/LocalTime;)V
 HSPLjava/time/LocalDateTime;->atZone(Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;
 HSPLjava/time/LocalDateTime;->isSupported(Ljava/time/temporal/TemporalField;)Z
 HSPLjava/time/LocalDateTime;->now()Ljava/time/LocalDateTime;
@@ -47895,31 +39381,27 @@
 HSPLjava/time/LocalDateTime;->toLocalDate()Ljava/time/chrono/ChronoLocalDate;
 HSPLjava/time/LocalDateTime;->toLocalTime()Ljava/time/LocalTime;
 HSPLjava/time/LocalDateTime;->toString()Ljava/lang/String;
-HSPLjava/time/LocalDateTime;->with(Ljava/time/LocalDate;Ljava/time/LocalTime;)Ljava/time/LocalDateTime;
 HSPLjava/time/LocalTime;-><init>(IIII)V
-HSPLjava/time/LocalTime;->atOffset(Ljava/time/ZoneOffset;)Ljava/time/OffsetTime;
 HSPLjava/time/LocalTime;->get0(Ljava/time/temporal/TemporalField;)I
+HSPLjava/time/LocalTime;->getHour()I
 HSPLjava/time/LocalTime;->getLong(Ljava/time/temporal/TemporalField;)J
+HSPLjava/time/LocalTime;->getMinute()I
 HSPLjava/time/LocalTime;->isSupported(Ljava/time/temporal/TemporalField;)Z
+HSPLjava/time/LocalTime;->of(IIII)Ljava/time/LocalTime;
 HSPLjava/time/LocalTime;->ofNanoOfDay(J)Ljava/time/LocalTime;
 HSPLjava/time/LocalTime;->toString()Ljava/lang/String;
 HSPLjava/time/Month;-><init>(Ljava/lang/String;I)V
 HSPLjava/time/Month;->length(Z)I
-HSPLjava/time/Month;->maxLength()I
 HSPLjava/time/Month;->values()[Ljava/time/Month;
 HSPLjava/time/Period;-><init>(III)V
 HSPLjava/time/Period;->parse(Ljava/lang/CharSequence;)Ljava/time/Period;
 HSPLjava/time/Period;->parseNumber(Ljava/lang/CharSequence;Ljava/lang/String;I)I
 HSPLjava/time/Period;->toString()Ljava/lang/String;
-HSPLjava/time/ZoneId;->equals(Ljava/lang/Object;)Z
 HSPLjava/time/ZoneId;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZoneId;
-HSPLjava/time/ZoneId;->getId()Ljava/lang/String;
-HSPLjava/time/ZoneId;->getRules()Ljava/time/zone/ZoneRules;
-HSPLjava/time/ZoneId;->of(Ljava/lang/String;)Ljava/time/ZoneId;
 HSPLjava/time/ZoneId;->of(Ljava/lang/String;Z)Ljava/time/ZoneId;
-HSPLjava/time/ZoneId;->systemDefault()Ljava/time/ZoneId;
+HSPLjava/time/ZoneId;->ofOffset(Ljava/lang/String;Ljava/time/ZoneOffset;)Ljava/time/ZoneId;
+HSPLjava/time/ZoneId;->ofWithPrefix(Ljava/lang/String;IZ)Ljava/time/ZoneId;
 HSPLjava/time/ZoneId;->toString()Ljava/lang/String;
-HSPLjava/time/ZoneId;->write(Ljava/io/DataOutput;)V
 HSPLjava/time/ZoneOffset;->buildId(I)Ljava/lang/String;
 HSPLjava/time/ZoneOffset;->equals(Ljava/lang/Object;)Z
 HSPLjava/time/ZoneOffset;->ofTotalSeconds(I)Ljava/time/ZoneOffset;
@@ -47927,16 +39409,10 @@
 HSPLjava/time/ZoneRegion;->getId()Ljava/lang/String;
 HSPLjava/time/ZoneRegion;->getRules()Ljava/time/zone/ZoneRules;
 HSPLjava/time/ZoneRegion;->ofId(Ljava/lang/String;Z)Ljava/time/ZoneRegion;
-HSPLjava/time/ZonedDateTime;-><init>(Ljava/time/LocalDateTime;Ljava/time/ZoneOffset;Ljava/time/ZoneId;)V
 HSPLjava/time/ZonedDateTime;->create(JILjava/time/ZoneId;)Ljava/time/ZonedDateTime;
 HSPLjava/time/ZonedDateTime;->from(Ljava/time/temporal/TemporalAccessor;)Ljava/time/ZonedDateTime;
-HSPLjava/time/ZonedDateTime;->getHour()I
 HSPLjava/time/ZonedDateTime;->getLong(Ljava/time/temporal/TemporalField;)J
-HSPLjava/time/ZonedDateTime;->getMinute()I
-HSPLjava/time/ZonedDateTime;->getNano()I
 HSPLjava/time/ZonedDateTime;->getOffset()Ljava/time/ZoneOffset;
-HSPLjava/time/ZonedDateTime;->getSecond()I
-HSPLjava/time/ZonedDateTime;->now()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;
 HSPLjava/time/ZonedDateTime;->toLocalDate()Ljava/time/chrono/ChronoLocalDate;
@@ -47947,66 +39423,8 @@
 HSPLjava/time/chrono/-$$Lambda$AbstractChronology$onW9aZyLFliH5Gg1qLodD_GoPfA;-><init>()V
 HSPLjava/time/chrono/AbstractChronology;->equals(Ljava/lang/Object;)Z
 HSPLjava/time/chrono/AbstractChronology;->resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-HSPLjava/time/chrono/ChronoLocalDate;->equals(Ljava/lang/Object;)Z
-HSPLjava/time/chrono/ChronoLocalDate;->getChronology()Ljava/time/chrono/Chronology;
-HSPLjava/time/chrono/ChronoLocalDate;->hashCode()I
-HSPLjava/time/chrono/ChronoLocalDate;->lengthOfMonth()I
-HSPLjava/time/chrono/ChronoLocalDate;->toString()Ljava/lang/String;
-HSPLjava/time/chrono/ChronoLocalDate;->until(Ljava/time/chrono/ChronoLocalDate;)Ljava/time/chrono/ChronoPeriod;
-HSPLjava/time/chrono/ChronoLocalDate;->until(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J
-HSPLjava/time/chrono/ChronoLocalDateTime;->atZone(Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;
-HSPLjava/time/chrono/ChronoLocalDateTime;->equals(Ljava/lang/Object;)Z
-HSPLjava/time/chrono/ChronoLocalDateTime;->hashCode()I
-HSPLjava/time/chrono/ChronoLocalDateTime;->isSupported(Ljava/time/temporal/TemporalField;)Z
-HSPLjava/time/chrono/ChronoLocalDateTime;->plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ChronoLocalDateTime;
 HSPLjava/time/chrono/ChronoLocalDateTime;->toEpochSecond(Ljava/time/ZoneOffset;)J
-HSPLjava/time/chrono/ChronoLocalDateTime;->toLocalDate()Ljava/time/chrono/ChronoLocalDate;
-HSPLjava/time/chrono/ChronoLocalDateTime;->toLocalTime()Ljava/time/LocalTime;
-HSPLjava/time/chrono/ChronoLocalDateTime;->toString()Ljava/lang/String;
-HSPLjava/time/chrono/ChronoLocalDateTime;->with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/ChronoLocalDateTime;
-HSPLjava/time/chrono/ChronoPeriod;->addTo(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
-HSPLjava/time/chrono/ChronoPeriod;->equals(Ljava/lang/Object;)Z
-HSPLjava/time/chrono/ChronoPeriod;->get(Ljava/time/temporal/TemporalUnit;)J
-HSPLjava/time/chrono/ChronoPeriod;->getChronology()Ljava/time/chrono/Chronology;
-HSPLjava/time/chrono/ChronoPeriod;->getUnits()Ljava/util/List;
-HSPLjava/time/chrono/ChronoPeriod;->hashCode()I
-HSPLjava/time/chrono/ChronoPeriod;->minus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoPeriod;
-HSPLjava/time/chrono/ChronoPeriod;->multipliedBy(I)Ljava/time/chrono/ChronoPeriod;
-HSPLjava/time/chrono/ChronoPeriod;->normalized()Ljava/time/chrono/ChronoPeriod;
-HSPLjava/time/chrono/ChronoPeriod;->plus(Ljava/time/temporal/TemporalAmount;)Ljava/time/chrono/ChronoPeriod;
-HSPLjava/time/chrono/ChronoPeriod;->subtractFrom(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
-HSPLjava/time/chrono/ChronoPeriod;->toString()Ljava/lang/String;
-HSPLjava/time/chrono/ChronoZonedDateTime;->equals(Ljava/lang/Object;)Z
-HSPLjava/time/chrono/ChronoZonedDateTime;->getOffset()Ljava/time/ZoneOffset;
-HSPLjava/time/chrono/ChronoZonedDateTime;->getZone()Ljava/time/ZoneId;
-HSPLjava/time/chrono/ChronoZonedDateTime;->hashCode()I
-HSPLjava/time/chrono/ChronoZonedDateTime;->isSupported(Ljava/time/temporal/TemporalField;)Z
-HSPLjava/time/chrono/ChronoZonedDateTime;->plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/chrono/ChronoZonedDateTime;
 HSPLjava/time/chrono/ChronoZonedDateTime;->toEpochSecond()J
-HSPLjava/time/chrono/ChronoZonedDateTime;->toInstant()Ljava/time/Instant;
-HSPLjava/time/chrono/ChronoZonedDateTime;->toLocalDateTime()Ljava/time/chrono/ChronoLocalDateTime;
-HSPLjava/time/chrono/ChronoZonedDateTime;->toString()Ljava/lang/String;
-HSPLjava/time/chrono/ChronoZonedDateTime;->with(Ljava/time/temporal/TemporalField;J)Ljava/time/chrono/ChronoZonedDateTime;
-HSPLjava/time/chrono/ChronoZonedDateTime;->withEarlierOffsetAtOverlap()Ljava/time/chrono/ChronoZonedDateTime;
-HSPLjava/time/chrono/ChronoZonedDateTime;->withLaterOffsetAtOverlap()Ljava/time/chrono/ChronoZonedDateTime;
-HSPLjava/time/chrono/ChronoZonedDateTime;->withZoneSameInstant(Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;
-HSPLjava/time/chrono/ChronoZonedDateTime;->withZoneSameLocal(Ljava/time/ZoneId;)Ljava/time/chrono/ChronoZonedDateTime;
-HSPLjava/time/chrono/Chronology;->compareTo(Ljava/time/chrono/Chronology;)I
-HSPLjava/time/chrono/Chronology;->date(III)Ljava/time/chrono/ChronoLocalDate;
-HSPLjava/time/chrono/Chronology;->date(Ljava/time/temporal/TemporalAccessor;)Ljava/time/chrono/ChronoLocalDate;
-HSPLjava/time/chrono/Chronology;->dateEpochDay(J)Ljava/time/chrono/ChronoLocalDate;
-HSPLjava/time/chrono/Chronology;->dateYearDay(II)Ljava/time/chrono/ChronoLocalDate;
-HSPLjava/time/chrono/Chronology;->equals(Ljava/lang/Object;)Z
-HSPLjava/time/chrono/Chronology;->eraOf(I)Ljava/time/chrono/Era;
-HSPLjava/time/chrono/Chronology;->eras()Ljava/util/List;
-HSPLjava/time/chrono/Chronology;->getCalendarType()Ljava/lang/String;
-HSPLjava/time/chrono/Chronology;->getId()Ljava/lang/String;
-HSPLjava/time/chrono/Chronology;->hashCode()I
-HSPLjava/time/chrono/Chronology;->isLeapYear(J)Z
-HSPLjava/time/chrono/Chronology;->prolepticYear(Ljava/time/chrono/Era;I)I
-HSPLjava/time/chrono/Chronology;->range(Ljava/time/temporal/ChronoField;)Ljava/time/temporal/ValueRange;
-HSPLjava/time/chrono/Chronology;->resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
-HSPLjava/time/chrono/Chronology;->toString()Ljava/lang/String;
 HSPLjava/time/chrono/IsoChronology;-><init>()V
 HSPLjava/time/chrono/IsoChronology;->resolveDate(Ljava/util/Map;Ljava/time/format/ResolverStyle;)Ljava/time/chrono/ChronoLocalDate;
 HSPLjava/time/chrono/IsoChronology;->resolveProlepticMonth(Ljava/util/Map;Ljava/time/format/ResolverStyle;)V
@@ -48066,7 +39484,6 @@
 HSPLjava/time/format/DateTimeFormatterBuilder;->parseField(CILjava/time/temporal/TemporalField;)V
 HSPLjava/time/format/DateTimeFormatterBuilder;->parseLenient()Ljava/time/format/DateTimeFormatterBuilder;
 HSPLjava/time/format/DateTimeFormatterBuilder;->parsePattern(Ljava/lang/String;)V
-HSPLjava/time/format/DateTimeFormatterBuilder;->toFormatter()Ljava/time/format/DateTimeFormatter;
 HSPLjava/time/format/DateTimeFormatterBuilder;->toFormatter(Ljava/time/format/ResolverStyle;Ljava/time/chrono/Chronology;)Ljava/time/format/DateTimeFormatter;
 HSPLjava/time/format/DateTimeFormatterBuilder;->toFormatter(Ljava/util/Locale;Ljava/time/format/ResolverStyle;Ljava/time/chrono/Chronology;)Ljava/time/format/DateTimeFormatter;
 HSPLjava/time/format/DateTimeParseContext;->setParsedField(Ljava/time/temporal/TemporalField;JII)I
@@ -48112,37 +39529,10 @@
 HSPLjava/time/temporal/IsoFields$Field$3;-><init>(Ljava/lang/String;I)V
 HSPLjava/time/temporal/IsoFields$Field$4;-><init>(Ljava/lang/String;I)V
 HSPLjava/time/temporal/IsoFields$Unit;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/time/Duration;)V
-HSPLjava/time/temporal/Temporal;->isSupported(Ljava/time/temporal/TemporalUnit;)Z
-HSPLjava/time/temporal/Temporal;->plus(JLjava/time/temporal/TemporalUnit;)Ljava/time/temporal/Temporal;
-HSPLjava/time/temporal/Temporal;->until(Ljava/time/temporal/Temporal;Ljava/time/temporal/TemporalUnit;)J
-HSPLjava/time/temporal/Temporal;->with(Ljava/time/temporal/TemporalField;J)Ljava/time/temporal/Temporal;
 HSPLjava/time/temporal/TemporalAccessor;->get(Ljava/time/temporal/TemporalField;)I
-HSPLjava/time/temporal/TemporalAccessor;->getLong(Ljava/time/temporal/TemporalField;)J
-HSPLjava/time/temporal/TemporalAccessor;->isSupported(Ljava/time/temporal/TemporalField;)Z
 HSPLjava/time/temporal/TemporalAccessor;->range(Ljava/time/temporal/TemporalField;)Ljava/time/temporal/ValueRange;
-HSPLjava/time/temporal/TemporalAdjuster;->adjustInto(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
-HSPLjava/time/temporal/TemporalAmount;->addTo(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
-HSPLjava/time/temporal/TemporalAmount;->get(Ljava/time/temporal/TemporalUnit;)J
-HSPLjava/time/temporal/TemporalAmount;->getUnits()Ljava/util/List;
-HSPLjava/time/temporal/TemporalAmount;->subtractFrom(Ljava/time/temporal/Temporal;)Ljava/time/temporal/Temporal;
-HSPLjava/time/temporal/TemporalField;->adjustInto(Ljava/time/temporal/Temporal;J)Ljava/time/temporal/Temporal;
-HSPLjava/time/temporal/TemporalField;->getBaseUnit()Ljava/time/temporal/TemporalUnit;
-HSPLjava/time/temporal/TemporalField;->getFrom(Ljava/time/temporal/TemporalAccessor;)J
-HSPLjava/time/temporal/TemporalField;->getRangeUnit()Ljava/time/temporal/TemporalUnit;
-HSPLjava/time/temporal/TemporalField;->isDateBased()Z
-HSPLjava/time/temporal/TemporalField;->isSupportedBy(Ljava/time/temporal/TemporalAccessor;)Z
-HSPLjava/time/temporal/TemporalField;->isTimeBased()Z
-HSPLjava/time/temporal/TemporalField;->range()Ljava/time/temporal/ValueRange;
-HSPLjava/time/temporal/TemporalField;->rangeRefinedBy(Ljava/time/temporal/TemporalAccessor;)Ljava/time/temporal/ValueRange;
 HSPLjava/time/temporal/TemporalField;->resolve(Ljava/util/Map;Ljava/time/temporal/TemporalAccessor;Ljava/time/format/ResolverStyle;)Ljava/time/temporal/TemporalAccessor;
-HSPLjava/time/temporal/TemporalField;->toString()Ljava/lang/String;
-HSPLjava/time/temporal/TemporalUnit;->addTo(Ljava/time/temporal/Temporal;J)Ljava/time/temporal/Temporal;
-HSPLjava/time/temporal/TemporalUnit;->between(Ljava/time/temporal/Temporal;Ljava/time/temporal/Temporal;)J
-HSPLjava/time/temporal/TemporalUnit;->getDuration()Ljava/time/Duration;
-HSPLjava/time/temporal/TemporalUnit;->isDateBased()Z
-HSPLjava/time/temporal/TemporalUnit;->isDurationEstimated()Z
-HSPLjava/time/temporal/TemporalUnit;->isTimeBased()Z
-HSPLjava/time/temporal/TemporalUnit;->toString()Ljava/lang/String;
+HSPLjava/time/temporal/ValueRange;->checkValidValue(JLjava/time/temporal/TemporalField;)J
 HSPLjava/time/temporal/ValueRange;->isValidIntValue(J)Z
 HSPLjava/time/temporal/ValueRange;->isValidValue(J)Z
 HSPLjava/time/temporal/ValueRange;->of(JJ)Ljava/time/temporal/ValueRange;
@@ -48160,6 +39550,7 @@
 HSPLjava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;->values()[Ljava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;
 HSPLjava/time/zone/ZoneOffsetTransitionRule;->createTransition(I)Ljava/time/zone/ZoneOffsetTransition;
 HSPLjava/time/zone/ZoneOffsetTransitionRule;->of(Ljava/time/Month;ILjava/time/DayOfWeek;Ljava/time/LocalTime;ZLjava/time/zone/ZoneOffsetTransitionRule$TimeDefinition;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;)Ljava/time/zone/ZoneOffsetTransitionRule;
+HSPLjava/time/zone/ZoneRules;-><init>(Ljava/time/ZoneOffset;)V
 HSPLjava/time/zone/ZoneRules;-><init>(Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List;Ljava/util/List;Ljava/util/List;)V
 HSPLjava/time/zone/ZoneRules;->findOffsetInfo(Ljava/time/LocalDateTime;Ljava/time/zone/ZoneOffsetTransition;)Ljava/lang/Object;
 HSPLjava/time/zone/ZoneRules;->findTransitionArray(I)[Ljava/time/zone/ZoneOffsetTransition;
@@ -48168,18 +39559,17 @@
 HSPLjava/time/zone/ZoneRules;->of(Ljava/time/ZoneOffset;Ljava/time/ZoneOffset;Ljava/util/List;Ljava/util/List;Ljava/util/List;)Ljava/time/zone/ZoneRules;
 HSPLjava/time/zone/ZoneRulesProvider;->getProvider(Ljava/lang/String;)Ljava/time/zone/ZoneRulesProvider;
 HSPLjava/time/zone/ZoneRulesProvider;->getRules(Ljava/lang/String;Z)Ljava/time/zone/ZoneRules;
-HSPLjava/time/zone/ZoneRulesProvider;->provideRules(Ljava/lang/String;Z)Ljava/time/zone/ZoneRules;
-HSPLjava/time/zone/ZoneRulesProvider;->provideVersions(Ljava/lang/String;)Ljava/util/NavigableMap;
-HSPLjava/time/zone/ZoneRulesProvider;->provideZoneIds()Ljava/util/Set;
 HSPLjava/time/zone/ZoneRulesProvider;->registerProvider(Ljava/time/zone/ZoneRulesProvider;)V
 HSPLjava/time/zone/ZoneRulesProvider;->registerProvider0(Ljava/time/zone/ZoneRulesProvider;)V
+HSPLjava/util/-$$Lambda$Comparator$4V5k8aLimtS0VsEILEAqQ9UGZYo;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLjava/util/-$$Lambda$Comparator$BZSVCoA8i87ehjxxZ1weEounfDQ;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLjava/util/-$$Lambda$Comparator$DNgpxUFZqmT4lOBzlVyPjWwvEvw;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+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;->contains(Ljava/lang/Object;)Z
 HSPLjava/util/AbstractCollection;->containsAll(Ljava/util/Collection;)Z
 HSPLjava/util/AbstractCollection;->isEmpty()Z
-HSPLjava/util/AbstractCollection;->remove(Ljava/lang/Object;)Z
 HSPLjava/util/AbstractCollection;->removeAll(Ljava/util/Collection;)Z
 HSPLjava/util/AbstractCollection;->retainAll(Ljava/util/Collection;)Z
 HSPLjava/util/AbstractCollection;->toArray()[Ljava/lang/Object;
@@ -48188,22 +39578,20 @@
 HSPLjava/util/AbstractList$Itr;-><init>(Ljava/util/AbstractList;Ljava/util/AbstractList$1;)V
 HSPLjava/util/AbstractList$Itr;->hasNext()Z
 HSPLjava/util/AbstractList$Itr;->next()Ljava/lang/Object;
+HSPLjava/util/AbstractList$ListItr;->hasPrevious()Z
 HSPLjava/util/AbstractList$ListItr;->nextIndex()I
-HSPLjava/util/AbstractList$ListItr;->set(Ljava/lang/Object;)V
+HSPLjava/util/AbstractList$ListItr;->previous()Ljava/lang/Object;
+HSPLjava/util/AbstractList$ListItr;->previousIndex()I
 HSPLjava/util/AbstractList;-><init>()V
 HSPLjava/util/AbstractList;->add(Ljava/lang/Object;)Z
 HSPLjava/util/AbstractList;->clear()V
 HSPLjava/util/AbstractList;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/AbstractList;->hashCode()I
+HSPLjava/util/AbstractList;->indexOf(Ljava/lang/Object;)I
 HSPLjava/util/AbstractList;->iterator()Ljava/util/Iterator;
 HSPLjava/util/AbstractList;->listIterator()Ljava/util/ListIterator;
 HSPLjava/util/AbstractList;->listIterator(I)Ljava/util/ListIterator;
-HSPLjava/util/AbstractList;->removeRange(II)V
 HSPLjava/util/AbstractList;->subList(II)Ljava/util/List;
-HSPLjava/util/AbstractMap$SimpleEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLjava/util/AbstractMap$SimpleEntry;->getKey()Ljava/lang/Object;
-HSPLjava/util/AbstractMap$SimpleEntry;->getValue()Ljava/lang/Object;
-HSPLjava/util/AbstractMap$SimpleEntry;->hashCode()I
 HSPLjava/util/AbstractMap$SimpleImmutableEntry;-><init>(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLjava/util/AbstractMap$SimpleImmutableEntry;-><init>(Ljava/util/Map$Entry;)V
 HSPLjava/util/AbstractMap$SimpleImmutableEntry;->equals(Ljava/lang/Object;)Z
@@ -48211,20 +39599,16 @@
 HSPLjava/util/AbstractMap$SimpleImmutableEntry;->getValue()Ljava/lang/Object;
 HSPLjava/util/AbstractMap$SimpleImmutableEntry;->hashCode()I
 HSPLjava/util/AbstractMap;-><init>()V
-HSPLjava/util/AbstractMap;->clear()V
 HSPLjava/util/AbstractMap;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/AbstractMap;->hashCode()I
 HSPLjava/util/AbstractMap;->isEmpty()Z
-HSPLjava/util/AbstractMap;->putAll(Ljava/util/Map;)V
 HSPLjava/util/AbstractMap;->toString()Ljava/lang/String;
 HSPLjava/util/AbstractQueue;-><init>()V
 HSPLjava/util/AbstractQueue;->add(Ljava/lang/Object;)Z
 HSPLjava/util/AbstractQueue;->addAll(Ljava/util/Collection;)Z
 HSPLjava/util/AbstractQueue;->clear()V
 HSPLjava/util/AbstractQueue;->remove()Ljava/lang/Object;
-HSPLjava/util/AbstractSequentialList;-><init>()V
 HSPLjava/util/AbstractSequentialList;->iterator()Ljava/util/Iterator;
-HSPLjava/util/AbstractSequentialList;->listIterator(I)Ljava/util/ListIterator;
 HSPLjava/util/AbstractSet;-><init>()V
 HSPLjava/util/AbstractSet;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/AbstractSet;->hashCode()I
@@ -48237,11 +39621,12 @@
 HSPLjava/util/ArrayDeque;->add(Ljava/lang/Object;)Z
 HSPLjava/util/ArrayDeque;->addFirst(Ljava/lang/Object;)V
 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;->doubleCapacity()V
 HSPLjava/util/ArrayDeque;->getFirst()Ljava/lang/Object;
+HSPLjava/util/ArrayDeque;->getLast()Ljava/lang/Object;
 HSPLjava/util/ArrayDeque;->isEmpty()Z
 HSPLjava/util/ArrayDeque;->iterator()Ljava/util/Iterator;
 HSPLjava/util/ArrayDeque;->offer(Ljava/lang/Object;)Z
@@ -48270,19 +39655,12 @@
 HSPLjava/util/ArrayList$Itr;->next()Ljava/lang/Object;
 HSPLjava/util/ArrayList$Itr;->remove()V
 HSPLjava/util/ArrayList$ListItr;->hasPrevious()Z
-HSPLjava/util/ArrayList$ListItr;->nextIndex()I
-HSPLjava/util/ArrayList$ListItr;->previous()Ljava/lang/Object;
-HSPLjava/util/ArrayList$ListItr;->set(Ljava/lang/Object;)V
 HSPLjava/util/ArrayList$SubList$1;->hasNext()Z
 HSPLjava/util/ArrayList$SubList$1;->next()Ljava/lang/Object;
-HSPLjava/util/ArrayList$SubList;->add(ILjava/lang/Object;)V
-HSPLjava/util/ArrayList$SubList;->get(I)Ljava/lang/Object;
 HSPLjava/util/ArrayList$SubList;->iterator()Ljava/util/Iterator;
 HSPLjava/util/ArrayList$SubList;->listIterator(I)Ljava/util/ListIterator;
 HSPLjava/util/ArrayList$SubList;->removeRange(II)V
-HSPLjava/util/ArrayList$SubList;->set(ILjava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/ArrayList$SubList;->size()I
-HSPLjava/util/ArrayList$SubList;->subList(II)Ljava/util/List;
 HSPLjava/util/ArrayList;-><init>()V
 HSPLjava/util/ArrayList;-><init>(I)V
 HSPLjava/util/ArrayList;-><init>(Ljava/util/Collection;)V
@@ -48298,7 +39676,6 @@
 HSPLjava/util/ArrayList;->ensureCapacity(I)V
 HSPLjava/util/ArrayList;->ensureCapacityInternal(I)V
 HSPLjava/util/ArrayList;->ensureExplicitCapacity(I)V
-HSPLjava/util/ArrayList;->fastRemove(I)V
 HSPLjava/util/ArrayList;->forEach(Ljava/util/function/Consumer;)V
 HSPLjava/util/ArrayList;->get(I)Ljava/lang/Object;
 HSPLjava/util/ArrayList;->grow(I)V
@@ -48308,7 +39685,6 @@
 HSPLjava/util/ArrayList;->lastIndexOf(Ljava/lang/Object;)I
 HSPLjava/util/ArrayList;->listIterator()Ljava/util/ListIterator;
 HSPLjava/util/ArrayList;->listIterator(I)Ljava/util/ListIterator;
-HSPLjava/util/ArrayList;->readObject(Ljava/io/ObjectInputStream;)V
 HSPLjava/util/ArrayList;->remove(I)Ljava/lang/Object;
 HSPLjava/util/ArrayList;->remove(Ljava/lang/Object;)Z
 HSPLjava/util/ArrayList;->removeAll(Ljava/util/Collection;)Z
@@ -48324,19 +39700,15 @@
 HSPLjava/util/ArrayList;->toArray()[Ljava/lang/Object;
 HSPLjava/util/ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
 HSPLjava/util/ArrayList;->trimToSize()V
-HSPLjava/util/ArrayList;->writeObject(Ljava/io/ObjectOutputStream;)V
-HSPLjava/util/Arrays$ArrayList;-><init>([Ljava/lang/Object;)V
 HSPLjava/util/Arrays$ArrayList;->contains(Ljava/lang/Object;)Z
 HSPLjava/util/Arrays$ArrayList;->get(I)Ljava/lang/Object;
 HSPLjava/util/Arrays$ArrayList;->indexOf(Ljava/lang/Object;)I
 HSPLjava/util/Arrays$ArrayList;->set(ILjava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/Arrays$ArrayList;->size()I
 HSPLjava/util/Arrays$ArrayList;->sort(Ljava/util/Comparator;)V
-HSPLjava/util/Arrays$ArrayList;->spliterator()Ljava/util/Spliterator;
 HSPLjava/util/Arrays$ArrayList;->toArray()[Ljava/lang/Object;
 HSPLjava/util/Arrays$ArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
 HSPLjava/util/Arrays;->asList([Ljava/lang/Object;)Ljava/util/List;
-HSPLjava/util/Arrays;->binarySearch([CC)I
 HSPLjava/util/Arrays;->binarySearch([II)I
 HSPLjava/util/Arrays;->binarySearch([IIII)I
 HSPLjava/util/Arrays;->binarySearch([JIIJ)I
@@ -48344,52 +39716,43 @@
 HSPLjava/util/Arrays;->binarySearch([Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLjava/util/Arrays;->binarySearch([Ljava/lang/Object;Ljava/lang/Object;Ljava/util/Comparator;)I
 HSPLjava/util/Arrays;->binarySearch0([Ljava/lang/Object;IILjava/lang/Object;Ljava/util/Comparator;)I
-HSPLjava/util/Arrays;->checkOffsetAndCount(III)V
 HSPLjava/util/Arrays;->copyOf([BI)[B
 HSPLjava/util/Arrays;->copyOf([CI)[C
-HSPLjava/util/Arrays;->copyOf([DI)[D
 HSPLjava/util/Arrays;->copyOf([FI)[F
 HSPLjava/util/Arrays;->copyOf([II)[I
 HSPLjava/util/Arrays;->copyOf([JI)[J
 HSPLjava/util/Arrays;->copyOf([Ljava/lang/Object;I)[Ljava/lang/Object;
 HSPLjava/util/Arrays;->copyOf([Ljava/lang/Object;ILjava/lang/Class;)[Ljava/lang/Object;
-HSPLjava/util/Arrays;->copyOf([SI)[S
-HSPLjava/util/Arrays;->copyOf([ZI)[Z
 HSPLjava/util/Arrays;->copyOfRange([BII)[B
 HSPLjava/util/Arrays;->copyOfRange([CII)[C
-HSPLjava/util/Arrays;->copyOfRange([III)[I
 HSPLjava/util/Arrays;->copyOfRange([Ljava/lang/Object;II)[Ljava/lang/Object;
 HSPLjava/util/Arrays;->copyOfRange([Ljava/lang/Object;IILjava/lang/Class;)[Ljava/lang/Object;
 HSPLjava/util/Arrays;->deepEquals([Ljava/lang/Object;[Ljava/lang/Object;)Z
 HSPLjava/util/Arrays;->deepEquals0(Ljava/lang/Object;Ljava/lang/Object;)Z
-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;->deepHashCode([Ljava/lang/Object;)I
 HSPLjava/util/Arrays;->equals([B[B)Z
+HSPLjava/util/Arrays;->equals([C[C)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([S[S)Z
 HSPLjava/util/Arrays;->fill([BB)V
 HSPLjava/util/Arrays;->fill([CC)V
-HSPLjava/util/Arrays;->fill([CIIC)V
-HSPLjava/util/Arrays;->fill([DD)V
 HSPLjava/util/Arrays;->fill([FF)V
-HSPLjava/util/Arrays;->fill([FIIF)V
 HSPLjava/util/Arrays;->fill([II)V
 HSPLjava/util/Arrays;->fill([IIII)V
 HSPLjava/util/Arrays;->fill([JIIJ)V
 HSPLjava/util/Arrays;->fill([JJ)V
 HSPLjava/util/Arrays;->fill([Ljava/lang/Object;IILjava/lang/Object;)V
 HSPLjava/util/Arrays;->fill([Ljava/lang/Object;Ljava/lang/Object;)V
+HSPLjava/util/Arrays;->fill([SS)V
+HSPLjava/util/Arrays;->fill([ZIIZ)V
 HSPLjava/util/Arrays;->fill([ZZ)V
 HSPLjava/util/Arrays;->hashCode([B)I
-HSPLjava/util/Arrays;->hashCode([F)I
 HSPLjava/util/Arrays;->hashCode([I)I
 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([I)V
 HSPLjava/util/Arrays;->sort([III)V
 HSPLjava/util/Arrays;->sort([J)V
@@ -48397,12 +39760,10 @@
 HSPLjava/util/Arrays;->sort([Ljava/lang/Object;II)V
 HSPLjava/util/Arrays;->sort([Ljava/lang/Object;IILjava/util/Comparator;)V
 HSPLjava/util/Arrays;->sort([Ljava/lang/Object;Ljava/util/Comparator;)V
-HSPLjava/util/Arrays;->sort([S)V
 HSPLjava/util/Arrays;->stream([I)Ljava/util/stream/IntStream;
 HSPLjava/util/Arrays;->stream([Ljava/lang/Object;)Ljava/util/stream/Stream;
 HSPLjava/util/Arrays;->toString([B)Ljava/lang/String;
 HSPLjava/util/Arrays;->toString([I)Ljava/lang/String;
-HSPLjava/util/Arrays;->toString([J)Ljava/lang/String;
 HSPLjava/util/Arrays;->toString([Ljava/lang/Object;)Ljava/lang/String;
 HSPLjava/util/Base64$Decoder;-><init>(ZZ)V
 HSPLjava/util/Base64$Decoder;->decode(Ljava/lang/String;)[B
@@ -48412,58 +39773,50 @@
 HSPLjava/util/Base64$Encoder;-><init>(Z[BIZ)V
 HSPLjava/util/Base64$Encoder;->access$200()[C
 HSPLjava/util/Base64$Encoder;->access$300()[C
+HSPLjava/util/Base64$Encoder;->encode([B)[B
+HSPLjava/util/Base64$Encoder;->encode0([BII[B)I
+HSPLjava/util/Base64$Encoder;->encodeToString([B)Ljava/lang/String;
+HSPLjava/util/Base64$Encoder;->outLength(I)I
+HSPLjava/util/Base64;->getDecoder()Ljava/util/Base64$Decoder;
+HSPLjava/util/Base64;->getEncoder()Ljava/util/Base64$Encoder;
 HSPLjava/util/BitSet;-><init>()V
 HSPLjava/util/BitSet;-><init>(I)V
 HSPLjava/util/BitSet;->cardinality()I
 HSPLjava/util/BitSet;->checkRange(II)V
 HSPLjava/util/BitSet;->clear()V
 HSPLjava/util/BitSet;->clear(I)V
-HSPLjava/util/BitSet;->clear(II)V
 HSPLjava/util/BitSet;->clone()Ljava/lang/Object;
 HSPLjava/util/BitSet;->get(I)Z
 HSPLjava/util/BitSet;->intersects(Ljava/util/BitSet;)Z
 HSPLjava/util/BitSet;->isEmpty()Z
-HSPLjava/util/BitSet;->length()I
 HSPLjava/util/BitSet;->nextClearBit(I)I
 HSPLjava/util/BitSet;->nextSetBit(I)I
 HSPLjava/util/BitSet;->or(Ljava/util/BitSet;)V
 HSPLjava/util/BitSet;->set(I)V
 HSPLjava/util/BitSet;->set(II)V
-HSPLjava/util/BitSet;->set(IIZ)V
 HSPLjava/util/BitSet;->set(IZ)V
 HSPLjava/util/BitSet;->toString()Ljava/lang/String;
 HSPLjava/util/Calendar;-><init>(Ljava/util/TimeZone;Ljava/util/Locale;)V
-HSPLjava/util/Calendar;->add(II)V
 HSPLjava/util/Calendar;->after(Ljava/lang/Object;)Z
 HSPLjava/util/Calendar;->before(Ljava/lang/Object;)Z
 HSPLjava/util/Calendar;->clear()V
 HSPLjava/util/Calendar;->clone()Ljava/lang/Object;
 HSPLjava/util/Calendar;->compareTo(Ljava/util/Calendar;)I
 HSPLjava/util/Calendar;->complete()V
-HSPLjava/util/Calendar;->computeFields()V
-HSPLjava/util/Calendar;->computeTime()V
 HSPLjava/util/Calendar;->get(I)I
 HSPLjava/util/Calendar;->getFirstDayOfWeek()I
-HSPLjava/util/Calendar;->getGreatestMinimum(I)I
 HSPLjava/util/Calendar;->getInstance()Ljava/util/Calendar;
-HSPLjava/util/Calendar;->getInstance(Ljava/util/Locale;)Ljava/util/Calendar;
 HSPLjava/util/Calendar;->getInstance(Ljava/util/TimeZone;)Ljava/util/Calendar;
 HSPLjava/util/Calendar;->getInstance(Ljava/util/TimeZone;Ljava/util/Locale;)Ljava/util/Calendar;
-HSPLjava/util/Calendar;->getLeastMaximum(I)I
-HSPLjava/util/Calendar;->getMaximum(I)I
 HSPLjava/util/Calendar;->getMinimalDaysInFirstWeek()I
-HSPLjava/util/Calendar;->getMinimum(I)I
 HSPLjava/util/Calendar;->getTime()Ljava/util/Date;
 HSPLjava/util/Calendar;->getTimeInMillis()J
 HSPLjava/util/Calendar;->getZone()Ljava/util/TimeZone;
 HSPLjava/util/Calendar;->internalGet(I)I
 HSPLjava/util/Calendar;->internalSet(II)V
 HSPLjava/util/Calendar;->isLenient()Z
-HSPLjava/util/Calendar;->isSet(I)Z
-HSPLjava/util/Calendar;->roll(IZ)V
 HSPLjava/util/Calendar;->selectFields()I
 HSPLjava/util/Calendar;->set(II)V
-HSPLjava/util/Calendar;->set(III)V
 HSPLjava/util/Calendar;->set(IIIIII)V
 HSPLjava/util/Calendar;->setFieldsComputed(I)V
 HSPLjava/util/Calendar;->setFieldsNormalized(I)V
@@ -48472,16 +39825,8 @@
 HSPLjava/util/Calendar;->setTimeInMillis(J)V
 HSPLjava/util/Calendar;->setWeekCountData(Ljava/util/Locale;)V
 HSPLjava/util/Calendar;->setZoneShared(Z)V
-HSPLjava/util/Collection;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/Collection;->containsAll(Ljava/util/Collection;)Z
-HSPLjava/util/Collection;->isEmpty()Z
-HSPLjava/util/Collection;->iterator()Ljava/util/Iterator;
-HSPLjava/util/Collection;->remove(Ljava/lang/Object;)Z
-HSPLjava/util/Collection;->removeAll(Ljava/util/Collection;)Z
-HSPLjava/util/Collection;->size()I
+HSPLjava/util/Collection;->spliterator()Ljava/util/Spliterator;
 HSPLjava/util/Collection;->stream()Ljava/util/stream/Stream;
-HSPLjava/util/Collection;->toArray()[Ljava/lang/Object;
-HSPLjava/util/Collection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
 HSPLjava/util/Collections$1;->hasNext()Z
 HSPLjava/util/Collections$1;->next()Ljava/lang/Object;
 HSPLjava/util/Collections$3;->hasMoreElements()Z
@@ -48497,21 +39842,17 @@
 HSPLjava/util/Collections$EmptyList;->isEmpty()Z
 HSPLjava/util/Collections$EmptyList;->iterator()Ljava/util/Iterator;
 HSPLjava/util/Collections$EmptyList;->listIterator()Ljava/util/ListIterator;
-HSPLjava/util/Collections$EmptyList;->readResolve()Ljava/lang/Object;
 HSPLjava/util/Collections$EmptyList;->size()I
+HSPLjava/util/Collections$EmptyList;->spliterator()Ljava/util/Spliterator;
 HSPLjava/util/Collections$EmptyList;->toArray()[Ljava/lang/Object;
 HSPLjava/util/Collections$EmptyList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
-HSPLjava/util/Collections$EmptyMap;->containsKey(Ljava/lang/Object;)Z
 HSPLjava/util/Collections$EmptyMap;->entrySet()Ljava/util/Set;
-HSPLjava/util/Collections$EmptyMap;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/Collections$EmptyMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/Collections$EmptyMap;->hashCode()I
 HSPLjava/util/Collections$EmptyMap;->isEmpty()Z
 HSPLjava/util/Collections$EmptyMap;->keySet()Ljava/util/Set;
 HSPLjava/util/Collections$EmptyMap;->size()I
 HSPLjava/util/Collections$EmptyMap;->values()Ljava/util/Collection;
 HSPLjava/util/Collections$EmptySet;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/Collections$EmptySet;->containsAll(Ljava/util/Collection;)Z
 HSPLjava/util/Collections$EmptySet;->isEmpty()Z
 HSPLjava/util/Collections$EmptySet;->iterator()Ljava/util/Iterator;
 HSPLjava/util/Collections$EmptySet;->size()I
@@ -48523,20 +39864,15 @@
 HSPLjava/util/Collections$SetFromMap;->add(Ljava/lang/Object;)Z
 HSPLjava/util/Collections$SetFromMap;->clear()V
 HSPLjava/util/Collections$SetFromMap;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/Collections$SetFromMap;->forEach(Ljava/util/function/Consumer;)V
 HSPLjava/util/Collections$SetFromMap;->isEmpty()Z
 HSPLjava/util/Collections$SetFromMap;->iterator()Ljava/util/Iterator;
 HSPLjava/util/Collections$SetFromMap;->remove(Ljava/lang/Object;)Z
-HSPLjava/util/Collections$SetFromMap;->removeAll(Ljava/util/Collection;)Z
 HSPLjava/util/Collections$SetFromMap;->size()I
-HSPLjava/util/Collections$SetFromMap;->stream()Ljava/util/stream/Stream;
 HSPLjava/util/Collections$SetFromMap;->toArray()[Ljava/lang/Object;
 HSPLjava/util/Collections$SetFromMap;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
-HSPLjava/util/Collections$SingletonList;->contains(Ljava/lang/Object;)Z
 HSPLjava/util/Collections$SingletonList;->get(I)Ljava/lang/Object;
 HSPLjava/util/Collections$SingletonList;->iterator()Ljava/util/Iterator;
 HSPLjava/util/Collections$SingletonList;->size()I
-HSPLjava/util/Collections$SingletonMap;->containsKey(Ljava/lang/Object;)Z
 HSPLjava/util/Collections$SingletonMap;->entrySet()Ljava/util/Set;
 HSPLjava/util/Collections$SingletonMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/Collections$SingletonMap;->isEmpty()Z
@@ -48547,34 +39883,23 @@
 HSPLjava/util/Collections$SingletonSet;->size()I
 HSPLjava/util/Collections$SynchronizedCollection;-><init>(Ljava/util/Collection;Ljava/lang/Object;)V
 HSPLjava/util/Collections$SynchronizedCollection;->add(Ljava/lang/Object;)Z
-HSPLjava/util/Collections$SynchronizedCollection;->addAll(Ljava/util/Collection;)Z
-HSPLjava/util/Collections$SynchronizedCollection;->clear()V
 HSPLjava/util/Collections$SynchronizedCollection;->contains(Ljava/lang/Object;)Z
 HSPLjava/util/Collections$SynchronizedCollection;->isEmpty()Z
 HSPLjava/util/Collections$SynchronizedCollection;->iterator()Ljava/util/Iterator;
 HSPLjava/util/Collections$SynchronizedCollection;->remove(Ljava/lang/Object;)Z
-HSPLjava/util/Collections$SynchronizedCollection;->removeAll(Ljava/util/Collection;)Z
 HSPLjava/util/Collections$SynchronizedCollection;->size()I
 HSPLjava/util/Collections$SynchronizedCollection;->toArray()[Ljava/lang/Object;
 HSPLjava/util/Collections$SynchronizedCollection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
-HSPLjava/util/Collections$SynchronizedList;->add(ILjava/lang/Object;)V
-HSPLjava/util/Collections$SynchronizedList;->addAll(ILjava/util/Collection;)Z
-HSPLjava/util/Collections$SynchronizedList;->get(I)Ljava/lang/Object;
-HSPLjava/util/Collections$SynchronizedList;->remove(I)Ljava/lang/Object;
 HSPLjava/util/Collections$SynchronizedMap;->clear()V
 HSPLjava/util/Collections$SynchronizedMap;->containsKey(Ljava/lang/Object;)Z
-HSPLjava/util/Collections$SynchronizedMap;->entrySet()Ljava/util/Set;
 HSPLjava/util/Collections$SynchronizedMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/Collections$SynchronizedMap;->isEmpty()Z
 HSPLjava/util/Collections$SynchronizedMap;->keySet()Ljava/util/Set;
 HSPLjava/util/Collections$SynchronizedMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/Collections$SynchronizedMap;->putAll(Ljava/util/Map;)V
 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$SynchronizedSortedMap;->comparator()Ljava/util/Comparator;
 HSPLjava/util/Collections$UnmodifiableCollection$1;->hasNext()Z
 HSPLjava/util/Collections$UnmodifiableCollection$1;->next()Ljava/lang/Object;
 HSPLjava/util/Collections$UnmodifiableCollection;->contains(Ljava/lang/Object;)Z
@@ -48582,17 +39907,16 @@
 HSPLjava/util/Collections$UnmodifiableCollection;->isEmpty()Z
 HSPLjava/util/Collections$UnmodifiableCollection;->iterator()Ljava/util/Iterator;
 HSPLjava/util/Collections$UnmodifiableCollection;->size()I
+HSPLjava/util/Collections$UnmodifiableCollection;->stream()Ljava/util/stream/Stream;
 HSPLjava/util/Collections$UnmodifiableCollection;->toArray()[Ljava/lang/Object;
 HSPLjava/util/Collections$UnmodifiableCollection;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
 HSPLjava/util/Collections$UnmodifiableCollection;->toString()Ljava/lang/String;
 HSPLjava/util/Collections$UnmodifiableList$1;->hasNext()Z
 HSPLjava/util/Collections$UnmodifiableList$1;->next()Ljava/lang/Object;
-HSPLjava/util/Collections$UnmodifiableList$1;->nextIndex()I
 HSPLjava/util/Collections$UnmodifiableList;-><init>(Ljava/util/List;)V
 HSPLjava/util/Collections$UnmodifiableList;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/Collections$UnmodifiableList;->get(I)Ljava/lang/Object;
 HSPLjava/util/Collections$UnmodifiableList;->hashCode()I
-HSPLjava/util/Collections$UnmodifiableList;->indexOf(Ljava/lang/Object;)I
 HSPLjava/util/Collections$UnmodifiableList;->listIterator()Ljava/util/ListIterator;
 HSPLjava/util/Collections$UnmodifiableList;->listIterator(I)Ljava/util/ListIterator;
 HSPLjava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$1;->hasNext()Z
@@ -48600,7 +39924,6 @@
 HSPLjava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$1;->next()Ljava/util/Map$Entry;
 HSPLjava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry;->getKey()Ljava/lang/Object;
 HSPLjava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry;->getValue()Ljava/lang/Object;
-HSPLjava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry;->hashCode()I
 HSPLjava/util/Collections$UnmodifiableMap$UnmodifiableEntrySet;->iterator()Ljava/util/Iterator;
 HSPLjava/util/Collections$UnmodifiableMap;->containsKey(Ljava/lang/Object;)Z
 HSPLjava/util/Collections$UnmodifiableMap;->entrySet()Ljava/util/Set;
@@ -48612,26 +39935,18 @@
 HSPLjava/util/Collections$UnmodifiableMap;->size()I
 HSPLjava/util/Collections$UnmodifiableMap;->toString()Ljava/lang/String;
 HSPLjava/util/Collections$UnmodifiableMap;->values()Ljava/util/Collection;
-HSPLjava/util/Collections$UnmodifiableRandomAccessList;-><init>(Ljava/util/List;)V
 HSPLjava/util/Collections$UnmodifiableRandomAccessList;->subList(II)Ljava/util/List;
 HSPLjava/util/Collections$UnmodifiableSet;->equals(Ljava/lang/Object;)Z
-HSPLjava/util/Collections$UnmodifiableSet;->hashCode()I
 HSPLjava/util/Collections;->addAll(Ljava/util/Collection;[Ljava/lang/Object;)Z
 HSPLjava/util/Collections;->binarySearch(Ljava/util/List;Ljava/lang/Object;)I
 HSPLjava/util/Collections;->binarySearch(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I
 HSPLjava/util/Collections;->disjoint(Ljava/util/Collection;Ljava/util/Collection;)Z
-HSPLjava/util/Collections;->emptyIterator()Ljava/util/Iterator;
 HSPLjava/util/Collections;->emptyList()Ljava/util/List;
 HSPLjava/util/Collections;->emptyMap()Ljava/util/Map;
 HSPLjava/util/Collections;->emptySet()Ljava/util/Set;
 HSPLjava/util/Collections;->enumeration(Ljava/util/Collection;)Ljava/util/Enumeration;
 HSPLjava/util/Collections;->indexedBinarySearch(Ljava/util/List;Ljava/lang/Object;)I
 HSPLjava/util/Collections;->indexedBinarySearch(Ljava/util/List;Ljava/lang/Object;Ljava/util/Comparator;)I
-HSPLjava/util/Collections;->list(Ljava/util/Enumeration;)Ljava/util/ArrayList;
-HSPLjava/util/Collections;->max(Ljava/util/Collection;)Ljava/lang/Object;
-HSPLjava/util/Collections;->max(Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object;
-HSPLjava/util/Collections;->min(Ljava/util/Collection;)Ljava/lang/Object;
-HSPLjava/util/Collections;->min(Ljava/util/Collection;Ljava/util/Comparator;)Ljava/lang/Object;
 HSPLjava/util/Collections;->nCopies(ILjava/lang/Object;)Ljava/util/List;
 HSPLjava/util/Collections;->newSetFromMap(Ljava/util/Map;)Ljava/util/Set;
 HSPLjava/util/Collections;->reverse(Ljava/util/List;)V
@@ -48645,12 +39960,10 @@
 HSPLjava/util/Collections;->sort(Ljava/util/List;)V
 HSPLjava/util/Collections;->sort(Ljava/util/List;Ljava/util/Comparator;)V
 HSPLjava/util/Collections;->swap(Ljava/util/List;II)V
-HSPLjava/util/Collections;->synchronizedCollection(Ljava/util/Collection;)Ljava/util/Collection;
 HSPLjava/util/Collections;->synchronizedList(Ljava/util/List;)Ljava/util/List;
 HSPLjava/util/Collections;->synchronizedMap(Ljava/util/Map;)Ljava/util/Map;
 HSPLjava/util/Collections;->synchronizedSet(Ljava/util/Set;)Ljava/util/Set;
 HSPLjava/util/Collections;->synchronizedSortedMap(Ljava/util/SortedMap;)Ljava/util/SortedMap;
-HSPLjava/util/Collections;->synchronizedSortedSet(Ljava/util/SortedSet;)Ljava/util/SortedSet;
 HSPLjava/util/Collections;->unmodifiableCollection(Ljava/util/Collection;)Ljava/util/Collection;
 HSPLjava/util/Collections;->unmodifiableList(Ljava/util/List;)Ljava/util/List;
 HSPLjava/util/Collections;->unmodifiableMap(Ljava/util/Map;)Ljava/util/Map;
@@ -48668,50 +39981,35 @@
 HSPLjava/util/ComparableTimSort;->mergeHi(IIII)V
 HSPLjava/util/ComparableTimSort;->mergeLo(IIII)V
 HSPLjava/util/ComparableTimSort;->sort([Ljava/lang/Object;II[Ljava/lang/Object;II)V
-HSPLjava/util/Comparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLjava/util/Comparator;->comparing(Ljava/util/function/Function;)Ljava/util/Comparator;
 HSPLjava/util/Comparator;->comparingDouble(Ljava/util/function/ToDoubleFunction;)Ljava/util/Comparator;
-HSPLjava/util/Comparator;->nullsLast(Ljava/util/Comparator;)Ljava/util/Comparator;
+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;->naturalOrder()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;
-HSPLjava/util/Comparators$NullComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLjava/util/Currency;->getCurrencyCode()Ljava/lang/String;
+HSPLjava/util/Comparator;->thenComparingInt(Ljava/util/function/ToIntFunction;)Ljava/util/Comparator;
 HSPLjava/util/Currency;->getInstance(Ljava/lang/String;)Ljava/util/Currency;
 HSPLjava/util/Currency;->getInstance(Ljava/util/Locale;)Ljava/util/Currency;
 HSPLjava/util/Currency;->getSymbol(Ljava/util/Locale;)Ljava/lang/String;
-HSPLjava/util/Currency;->toString()Ljava/lang/String;
 HSPLjava/util/Date;-><init>()V
-HSPLjava/util/Date;-><init>(III)V
-HSPLjava/util/Date;-><init>(IIIIII)V
 HSPLjava/util/Date;-><init>(J)V
 HSPLjava/util/Date;->after(Ljava/util/Date;)Z
 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;->equals(Ljava/lang/Object;)Z
 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;->getYear()I
-HSPLjava/util/Date;->hashCode()I
 HSPLjava/util/Date;->normalize()Lsun/util/calendar/BaseCalendar$Date;
-HSPLjava/util/Date;->normalize(Lsun/util/calendar/BaseCalendar$Date;)Lsun/util/calendar/BaseCalendar$Date;
-HSPLjava/util/Date;->readObject(Ljava/io/ObjectInputStream;)V
 HSPLjava/util/Date;->setTime(J)V
-HSPLjava/util/Date;->toGMTString()Ljava/lang/String;
 HSPLjava/util/Date;->toString()Ljava/lang/String;
-HSPLjava/util/Date;->writeObject(Ljava/io/ObjectOutputStream;)V
-HSPLjava/util/DualPivotQuicksort;->doSort([CII[CII)V
-HSPLjava/util/DualPivotQuicksort;->doSort([SII[SII)V
-HSPLjava/util/DualPivotQuicksort;->sort([CIIZ)V
-HSPLjava/util/DualPivotQuicksort;->sort([CII[CII)V
 HSPLjava/util/DualPivotQuicksort;->sort([IIIZ)V
 HSPLjava/util/DualPivotQuicksort;->sort([III[III)V
 HSPLjava/util/DualPivotQuicksort;->sort([JIIZ)V
 HSPLjava/util/DualPivotQuicksort;->sort([JII[JII)V
-HSPLjava/util/DualPivotQuicksort;->sort([SIIZ)V
-HSPLjava/util/DualPivotQuicksort;->sort([SII[SII)V
 HSPLjava/util/EnumMap$1;-><init>()V
-HSPLjava/util/EnumMap$1;->hashCode()I
 HSPLjava/util/EnumMap$EntryIterator$Entry;->getKey()Ljava/lang/Enum;
 HSPLjava/util/EnumMap$EntryIterator$Entry;->getKey()Ljava/lang/Object;
 HSPLjava/util/EnumMap$EntryIterator$Entry;->getValue()Ljava/lang/Object;
@@ -48722,33 +40020,27 @@
 HSPLjava/util/EnumMap$EnumMapIterator;->hasNext()Z
 HSPLjava/util/EnumMap$KeyIterator;->next()Ljava/lang/Enum;
 HSPLjava/util/EnumMap$KeyIterator;->next()Ljava/lang/Object;
+HSPLjava/util/EnumMap$KeySet;->contains(Ljava/lang/Object;)Z
 HSPLjava/util/EnumMap$KeySet;->iterator()Ljava/util/Iterator;
 HSPLjava/util/EnumMap$KeySet;->size()I
 HSPLjava/util/EnumMap$ValueIterator;->next()Ljava/lang/Object;
 HSPLjava/util/EnumMap$Values;->iterator()Ljava/util/Iterator;
 HSPLjava/util/EnumMap;-><init>(Ljava/lang/Class;)V
-HSPLjava/util/EnumMap;-><init>(Ljava/util/EnumMap;)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;
-HSPLjava/util/EnumMap;->equals(Ljava/lang/Object;)Z
-HSPLjava/util/EnumMap;->equals(Ljava/util/EnumMap;)Z
 HSPLjava/util/EnumMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/EnumMap;->hashCode()I
 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/EnumMap;->values()Ljava/util/Collection;
-HSPLjava/util/EnumSet$SerializationProxy;->readResolve()Ljava/lang/Object;
 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;->copyOf(Ljava/util/EnumSet;)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;
@@ -48756,9 +40048,7 @@
 HSPLjava/util/EnumSet;->of(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
 HSPLjava/util/EnumSet;->of(Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
 HSPLjava/util/EnumSet;->of(Ljava/lang/Enum;[Ljava/lang/Enum;)Ljava/util/EnumSet;
-HSPLjava/util/EnumSet;->range(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
 HSPLjava/util/EnumSet;->typeCheck(Ljava/lang/Enum;)V
-HSPLjava/util/EventObject;-><init>(Ljava/lang/Object;)V
 HSPLjava/util/Formatter$Conversion;->isFloat(C)Z
 HSPLjava/util/Formatter$Conversion;->isValid(C)Z
 HSPLjava/util/Formatter$DateTime;->isValid(C)Z
@@ -48771,7 +40061,6 @@
 HSPLjava/util/Formatter$Flags;->valueOf()I
 HSPLjava/util/Formatter$FormatSpecifier;-><init>(Ljava/util/Formatter;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/util/Formatter$FormatSpecifier;->addZeros([CI)[C
-HSPLjava/util/Formatter$FormatSpecifier;->adjustWidth(ILjava/util/Formatter$Flags;Z)I
 HSPLjava/util/Formatter$FormatSpecifier;->checkCharacter()V
 HSPLjava/util/Formatter$FormatSpecifier;->checkDateTime()V
 HSPLjava/util/Formatter$FormatSpecifier;->checkFloat()V
@@ -48802,16 +40091,10 @@
 HSPLjava/util/Formatter$FormatSpecifier;->printString(Ljava/lang/Object;Ljava/util/Locale;)V
 HSPLjava/util/Formatter$FormatSpecifier;->width(Ljava/lang/String;)I
 HSPLjava/util/Formatter$FormatSpecifierParser;-><init>(Ljava/util/Formatter;Ljava/lang/String;I)V
-HSPLjava/util/Formatter;-><init>()V
 HSPLjava/util/Formatter;-><init>(Ljava/lang/Appendable;)V
 HSPLjava/util/Formatter;-><init>(Ljava/lang/Appendable;Ljava/util/Locale;)V
-HSPLjava/util/Formatter;-><init>(Ljava/util/Locale;)V
-HSPLjava/util/Formatter;-><init>(Ljava/util/Locale;Ljava/lang/Appendable;)V
-HSPLjava/util/Formatter;->close()V
-HSPLjava/util/Formatter;->ensureOpen()V
 HSPLjava/util/Formatter;->format(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
 HSPLjava/util/Formatter;->format(Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
-HSPLjava/util/Formatter;->getZero(Ljava/util/Locale;)C
 HSPLjava/util/Formatter;->out()Ljava/lang/Appendable;
 HSPLjava/util/Formatter;->parse(Ljava/lang/String;)[Ljava/util/Formatter$FormatString;
 HSPLjava/util/Formatter;->toString()Ljava/lang/String;
@@ -48828,18 +40111,12 @@
 HSPLjava/util/GregorianCalendar;->computeFields(II)I
 HSPLjava/util/GregorianCalendar;->computeTime()V
 HSPLjava/util/GregorianCalendar;->getFixedDate(Lsun/util/calendar/BaseCalendar;II)J
-HSPLjava/util/GregorianCalendar;->getJulianCalendarSystem()Lsun/util/calendar/BaseCalendar;
-HSPLjava/util/GregorianCalendar;->getLeastMaximum(I)I
 HSPLjava/util/GregorianCalendar;->getMaximum(I)I
 HSPLjava/util/GregorianCalendar;->getMinimum(I)I
-HSPLjava/util/GregorianCalendar;->getRolledValue(IIII)I
 HSPLjava/util/GregorianCalendar;->getTimeZone()Ljava/util/TimeZone;
 HSPLjava/util/GregorianCalendar;->getWeekNumber(JJ)I
 HSPLjava/util/GregorianCalendar;->isLeapYear(I)Z
 HSPLjava/util/GregorianCalendar;->pinDayOfMonth()V
-HSPLjava/util/GregorianCalendar;->roll(II)V
-HSPLjava/util/GregorianCalendar;->setGregorianChange(J)V
-HSPLjava/util/GregorianCalendar;->setGregorianChange(Ljava/util/Date;)V
 HSPLjava/util/GregorianCalendar;->setTimeZone(Ljava/util/TimeZone;)V
 HSPLjava/util/HashMap$EntryIterator;->next()Ljava/lang/Object;
 HSPLjava/util/HashMap$EntrySet;->iterator()Ljava/util/Iterator;
@@ -48857,24 +40134,25 @@
 HSPLjava/util/HashMap$KeySpliterator;->characteristics()I
 HSPLjava/util/HashMap$KeySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
 HSPLjava/util/HashMap$KeySpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-HSPLjava/util/HashMap$Node;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/HashMap$Node;->getKey()Ljava/lang/Object;
 HSPLjava/util/HashMap$Node;->getValue()Ljava/lang/Object;
 HSPLjava/util/HashMap$Node;->hashCode()I
 HSPLjava/util/HashMap$Node;->setValue(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/HashMap$TreeNode;->balanceDeletion(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
 HSPLjava/util/HashMap$TreeNode;->balanceInsertion(Ljava/util/HashMap$TreeNode;Ljava/util/HashMap$TreeNode;)Ljava/util/HashMap$TreeNode;
 HSPLjava/util/HashMap$TreeNode;->find(ILjava/lang/Object;Ljava/lang/Class;)Ljava/util/HashMap$TreeNode;
 HSPLjava/util/HashMap$TreeNode;->moveRootToFront([Ljava/util/HashMap$Node;Ljava/util/HashMap$TreeNode;)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$TreeNode;->removeTreeNode(Ljava/util/HashMap;[Ljava/util/HashMap$Node;Z)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;->tieBreakOrder(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLjava/util/HashMap$TreeNode;->treeify([Ljava/util/HashMap$Node;)V
 HSPLjava/util/HashMap$ValueIterator;->next()Ljava/lang/Object;
 HSPLjava/util/HashMap$ValueSpliterator;->characteristics()I
 HSPLjava/util/HashMap$ValueSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
 HSPLjava/util/HashMap$ValueSpliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
+HSPLjava/util/HashMap$Values;->forEach(Ljava/util/function/Consumer;)V
 HSPLjava/util/HashMap$Values;->iterator()Ljava/util/Iterator;
 HSPLjava/util/HashMap$Values;->size()I
 HSPLjava/util/HashMap$Values;->spliterator()Ljava/util/Spliterator;
@@ -48887,17 +40165,18 @@
 HSPLjava/util/HashMap;->afterNodeRemoval(Ljava/util/HashMap$Node;)V
 HSPLjava/util/HashMap;->clear()V
 HSPLjava/util/HashMap;->clone()Ljava/lang/Object;
-HSPLjava/util/HashMap;->comparableClassFor(Ljava/lang/Object;)Ljava/lang/Class;
+HSPLjava/util/HashMap;->computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
 HSPLjava/util/HashMap;->containsKey(Ljava/lang/Object;)Z
 HSPLjava/util/HashMap;->containsValue(Ljava/lang/Object;)Z
 HSPLjava/util/HashMap;->entrySet()Ljava/util/Set;
+HSPLjava/util/HashMap;->forEach(Ljava/util/function/BiConsumer;)V
 HSPLjava/util/HashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/HashMap;->getNode(ILjava/lang/Object;)Ljava/util/HashMap$Node;
 HSPLjava/util/HashMap;->getOrDefault(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/HashMap;->hash(Ljava/lang/Object;)I
 HSPLjava/util/HashMap;->internalWriteEntries(Ljava/io/ObjectOutputStream;)V
 HSPLjava/util/HashMap;->isEmpty()Z
 HSPLjava/util/HashMap;->keySet()Ljava/util/Set;
+HSPLjava/util/HashMap;->merge(Ljava/lang/Object;Ljava/lang/Object;Ljava/util/function/BiFunction;)Ljava/lang/Object;
 HSPLjava/util/HashMap;->newNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$Node;
 HSPLjava/util/HashMap;->newTreeNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$TreeNode;
 HSPLjava/util/HashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
@@ -48926,11 +40205,9 @@
 HSPLjava/util/HashSet;->contains(Ljava/lang/Object;)Z
 HSPLjava/util/HashSet;->isEmpty()Z
 HSPLjava/util/HashSet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/HashSet;->readObject(Ljava/io/ObjectInputStream;)V
 HSPLjava/util/HashSet;->remove(Ljava/lang/Object;)Z
 HSPLjava/util/HashSet;->size()I
 HSPLjava/util/HashSet;->spliterator()Ljava/util/Spliterator;
-HSPLjava/util/HashSet;->writeObject(Ljava/io/ObjectOutputStream;)V
 HSPLjava/util/Hashtable$EntrySet;->iterator()Ljava/util/Iterator;
 HSPLjava/util/Hashtable$Enumerator;->hasMoreElements()Z
 HSPLjava/util/Hashtable$Enumerator;->hasNext()Z
@@ -48946,19 +40223,16 @@
 HSPLjava/util/Hashtable;-><init>()V
 HSPLjava/util/Hashtable;-><init>(I)V
 HSPLjava/util/Hashtable;-><init>(IF)V
-HSPLjava/util/Hashtable;-><init>(Ljava/util/Map;)V
 HSPLjava/util/Hashtable;->addEntry(ILjava/lang/Object;Ljava/lang/Object;I)V
 HSPLjava/util/Hashtable;->clear()V
 HSPLjava/util/Hashtable;->clone()Ljava/lang/Object;
 HSPLjava/util/Hashtable;->containsKey(Ljava/lang/Object;)Z
-HSPLjava/util/Hashtable;->elements()Ljava/util/Enumeration;
 HSPLjava/util/Hashtable;->entrySet()Ljava/util/Set;
 HSPLjava/util/Hashtable;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/Hashtable;->isEmpty()Z
 HSPLjava/util/Hashtable;->keySet()Ljava/util/Set;
 HSPLjava/util/Hashtable;->keys()Ljava/util/Enumeration;
 HSPLjava/util/Hashtable;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/Hashtable;->putAll(Ljava/util/Map;)V
 HSPLjava/util/Hashtable;->rehash()V
 HSPLjava/util/Hashtable;->remove(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/Hashtable;->remove(Ljava/lang/Object;Ljava/lang/Object;)Z
@@ -48969,24 +40243,12 @@
 HSPLjava/util/IdentityHashMap$EntryIterator;->next()Ljava/lang/Object;
 HSPLjava/util/IdentityHashMap$EntryIterator;->next()Ljava/util/Map$Entry;
 HSPLjava/util/IdentityHashMap$EntrySet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/IdentityHashMap$EntrySet;->size()I
-HSPLjava/util/IdentityHashMap$EntrySet;->toArray()[Ljava/lang/Object;
-HSPLjava/util/IdentityHashMap$EntrySet;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
 HSPLjava/util/IdentityHashMap$IdentityHashMapIterator;-><init>(Ljava/util/IdentityHashMap;)V
 HSPLjava/util/IdentityHashMap$IdentityHashMapIterator;->hasNext()Z
 HSPLjava/util/IdentityHashMap$IdentityHashMapIterator;->nextIndex()I
-HSPLjava/util/IdentityHashMap$IdentityHashMapIterator;->remove()V
 HSPLjava/util/IdentityHashMap$KeyIterator;->next()Ljava/lang/Object;
 HSPLjava/util/IdentityHashMap$KeySet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/IdentityHashMap$KeySet;->removeAll(Ljava/util/Collection;)Z
 HSPLjava/util/IdentityHashMap$KeySet;->size()I
-HSPLjava/util/IdentityHashMap$KeySet;->toArray()[Ljava/lang/Object;
-HSPLjava/util/IdentityHashMap$KeySet;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
-HSPLjava/util/IdentityHashMap$ValueIterator;->next()Ljava/lang/Object;
-HSPLjava/util/IdentityHashMap$Values;->iterator()Ljava/util/Iterator;
-HSPLjava/util/IdentityHashMap$Values;->size()I
-HSPLjava/util/IdentityHashMap$Values;->toArray()[Ljava/lang/Object;
-HSPLjava/util/IdentityHashMap$Values;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
 HSPLjava/util/IdentityHashMap;-><init>()V
 HSPLjava/util/IdentityHashMap;-><init>(I)V
 HSPLjava/util/IdentityHashMap;->clear()V
@@ -48994,7 +40256,6 @@
 HSPLjava/util/IdentityHashMap;->containsKey(Ljava/lang/Object;)Z
 HSPLjava/util/IdentityHashMap;->entrySet()Ljava/util/Set;
 HSPLjava/util/IdentityHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/IdentityHashMap;->hash(Ljava/lang/Object;I)I
 HSPLjava/util/IdentityHashMap;->isEmpty()Z
 HSPLjava/util/IdentityHashMap;->keySet()Ljava/util/Set;
 HSPLjava/util/IdentityHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
@@ -49002,18 +40263,18 @@
 HSPLjava/util/IdentityHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/IdentityHashMap;->resize(I)Z
 HSPLjava/util/IdentityHashMap;->size()I
-HSPLjava/util/IdentityHashMap;->values()Ljava/util/Collection;
 HSPLjava/util/Iterator;->forEachRemaining(Ljava/util/function/Consumer;)V
-HSPLjava/util/Iterator;->hasNext()Z
-HSPLjava/util/Iterator;->next()Ljava/lang/Object;
 HSPLjava/util/JumboEnumSet$EnumSetIterator;->hasNext()Z
 HSPLjava/util/JumboEnumSet$EnumSetIterator;->next()Ljava/lang/Enum;
 HSPLjava/util/JumboEnumSet$EnumSetIterator;->next()Ljava/lang/Object;
+HSPLjava/util/JumboEnumSet$EnumSetIterator;->remove()V
 HSPLjava/util/JumboEnumSet;->add(Ljava/lang/Enum;)Z
 HSPLjava/util/JumboEnumSet;->add(Ljava/lang/Object;)Z
-HSPLjava/util/JumboEnumSet;->addAll()V
-HSPLjava/util/JumboEnumSet;->addRange(Ljava/lang/Enum;Ljava/lang/Enum;)V
+HSPLjava/util/JumboEnumSet;->addAll(Ljava/util/Collection;)Z
+HSPLjava/util/JumboEnumSet;->contains(Ljava/lang/Object;)Z
+HSPLjava/util/JumboEnumSet;->isEmpty()Z
 HSPLjava/util/JumboEnumSet;->iterator()Ljava/util/Iterator;
+HSPLjava/util/JumboEnumSet;->removeAll(Ljava/util/Collection;)Z
 HSPLjava/util/JumboEnumSet;->size()I
 HSPLjava/util/LinkedHashMap$LinkedEntryIterator;->next()Ljava/lang/Object;
 HSPLjava/util/LinkedHashMap$LinkedEntrySet;->iterator()Ljava/util/Iterator;
@@ -49021,7 +40282,6 @@
 HSPLjava/util/LinkedHashMap$LinkedHashIterator;->hasNext()Z
 HSPLjava/util/LinkedHashMap$LinkedHashIterator;->remove()V
 HSPLjava/util/LinkedHashMap$LinkedKeyIterator;->next()Ljava/lang/Object;
-HSPLjava/util/LinkedHashMap$LinkedKeySet;->contains(Ljava/lang/Object;)Z
 HSPLjava/util/LinkedHashMap$LinkedKeySet;->iterator()Ljava/util/Iterator;
 HSPLjava/util/LinkedHashMap$LinkedKeySet;->size()I
 HSPLjava/util/LinkedHashMap$LinkedValueIterator;->next()Ljava/lang/Object;
@@ -49029,7 +40289,6 @@
 HSPLjava/util/LinkedHashMap$LinkedValues;->size()I
 HSPLjava/util/LinkedHashMap;-><init>()V
 HSPLjava/util/LinkedHashMap;-><init>(I)V
-HSPLjava/util/LinkedHashMap;-><init>(IF)V
 HSPLjava/util/LinkedHashMap;-><init>(IFZ)V
 HSPLjava/util/LinkedHashMap;-><init>(Ljava/util/Map;)V
 HSPLjava/util/LinkedHashMap;->afterNodeAccess(Ljava/util/HashMap$Node;)V
@@ -49039,11 +40298,12 @@
 HSPLjava/util/LinkedHashMap;->eldest()Ljava/util/Map$Entry;
 HSPLjava/util/LinkedHashMap;->entrySet()Ljava/util/Set;
 HSPLjava/util/LinkedHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/LinkedHashMap;->internalWriteEntries(Ljava/io/ObjectOutputStream;)V
 HSPLjava/util/LinkedHashMap;->keySet()Ljava/util/Set;
 HSPLjava/util/LinkedHashMap;->newNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$Node;
+HSPLjava/util/LinkedHashMap;->newTreeNode(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/HashMap$Node;)Ljava/util/HashMap$TreeNode;
 HSPLjava/util/LinkedHashMap;->reinitialize()V
 HSPLjava/util/LinkedHashMap;->removeEldestEntry(Ljava/util/Map$Entry;)Z
+HSPLjava/util/LinkedHashMap;->replacementTreeNode(Ljava/util/HashMap$Node;Ljava/util/HashMap$Node;)Ljava/util/HashMap$TreeNode;
 HSPLjava/util/LinkedHashMap;->values()Ljava/util/Collection;
 HSPLjava/util/LinkedHashSet;-><init>()V
 HSPLjava/util/LinkedHashSet;-><init>(I)V
@@ -49054,10 +40314,8 @@
 HSPLjava/util/LinkedList$ListItr;->next()Ljava/lang/Object;
 HSPLjava/util/LinkedList$ListItr;->previous()Ljava/lang/Object;
 HSPLjava/util/LinkedList$ListItr;->remove()V
-HSPLjava/util/LinkedList$ListItr;->set(Ljava/lang/Object;)V
 HSPLjava/util/LinkedList;-><init>()V
 HSPLjava/util/LinkedList;-><init>(Ljava/util/Collection;)V
-HSPLjava/util/LinkedList;->add(ILjava/lang/Object;)V
 HSPLjava/util/LinkedList;->add(Ljava/lang/Object;)Z
 HSPLjava/util/LinkedList;->addAll(ILjava/util/Collection;)Z
 HSPLjava/util/LinkedList;->addAll(Ljava/util/Collection;)Z
@@ -49075,50 +40333,26 @@
 HSPLjava/util/LinkedList;->listIterator(I)Ljava/util/ListIterator;
 HSPLjava/util/LinkedList;->node(I)Ljava/util/LinkedList$Node;
 HSPLjava/util/LinkedList;->offer(Ljava/lang/Object;)Z
-HSPLjava/util/LinkedList;->offerFirst(Ljava/lang/Object;)Z
 HSPLjava/util/LinkedList;->peek()Ljava/lang/Object;
-HSPLjava/util/LinkedList;->peekFirst()Ljava/lang/Object;
-HSPLjava/util/LinkedList;->peekLast()Ljava/lang/Object;
 HSPLjava/util/LinkedList;->poll()Ljava/lang/Object;
-HSPLjava/util/LinkedList;->pollFirst()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
 HSPLjava/util/LinkedList;->removeFirst()Ljava/lang/Object;
-HSPLjava/util/LinkedList;->set(ILjava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/LinkedList;->removeLast()Ljava/lang/Object;
 HSPLjava/util/LinkedList;->size()I
 HSPLjava/util/LinkedList;->superClone()Ljava/util/LinkedList;
 HSPLjava/util/LinkedList;->toArray()[Ljava/lang/Object;
 HSPLjava/util/LinkedList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
 HSPLjava/util/LinkedList;->unlink(Ljava/util/LinkedList$Node;)Ljava/lang/Object;
-HSPLjava/util/LinkedList;->writeObject(Ljava/io/ObjectOutputStream;)V
-HSPLjava/util/List;->get(I)Ljava/lang/Object;
-HSPLjava/util/List;->sort(Ljava/util/Comparator;)V
 HSPLjava/util/List;->spliterator()Ljava/util/Spliterator;
-HSPLjava/util/ListIterator;->hasPrevious()Z
-HSPLjava/util/ListIterator;->nextIndex()I
-HSPLjava/util/ListIterator;->previous()Ljava/lang/Object;
-HSPLjava/util/ListIterator;->previousIndex()I
-HSPLjava/util/ListResourceBundle;-><init>()V
-HSPLjava/util/ListResourceBundle;->getContents()[[Ljava/lang/Object;
-HSPLjava/util/ListResourceBundle;->handleGetObject(Ljava/lang/String;)Ljava/lang/Object;
-HSPLjava/util/ListResourceBundle;->loadLookup()V
-HSPLjava/util/Locale$Builder;-><init>()V
-HSPLjava/util/Locale$Builder;->build()Ljava/util/Locale;
-HSPLjava/util/Locale$Builder;->setLanguage(Ljava/lang/String;)Ljava/util/Locale$Builder;
-HSPLjava/util/Locale$Builder;->setRegion(Ljava/lang/String;)Ljava/util/Locale$Builder;
-HSPLjava/util/Locale$Builder;->setScript(Ljava/lang/String;)Ljava/util/Locale$Builder;
-HSPLjava/util/Locale$Builder;->setVariant(Ljava/lang/String;)Ljava/util/Locale$Builder;
 HSPLjava/util/Locale$Cache;->createObject(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/Locale$Cache;->createObject(Ljava/util/Locale$LocaleKey;)Ljava/util/Locale;
 HSPLjava/util/Locale$Category;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/util/Locale$Category;->values()[Ljava/util/Locale$Category;
 HSPLjava/util/Locale$FilteringMode;-><init>(Ljava/lang/String;I)V
-HSPLjava/util/Locale$LanguageRange;-><init>(Ljava/lang/String;D)V
-HSPLjava/util/Locale$LanguageRange;->isSubtagIllFormed(Ljava/lang/String;Z)Z
-HSPLjava/util/Locale$LanguageRange;->parse(Ljava/lang/String;)Ljava/util/List;
 HSPLjava/util/Locale$LocaleKey;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/Locale$LocaleKey;->hashCode()I
 HSPLjava/util/Locale;-><init>(Ljava/lang/String;)V
@@ -49128,12 +40362,10 @@
 HSPLjava/util/Locale;->clone()Ljava/lang/Object;
 HSPLjava/util/Locale;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/Locale;->forLanguageTag(Ljava/lang/String;)Ljava/util/Locale;
-HSPLjava/util/Locale;->getAvailableLocales()[Ljava/util/Locale;
 HSPLjava/util/Locale;->getCompatibilityExtensions(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lsun/util/locale/LocaleExtensions;
 HSPLjava/util/Locale;->getCountry()Ljava/lang/String;
 HSPLjava/util/Locale;->getDefault()Ljava/util/Locale;
 HSPLjava/util/Locale;->getDefault(Ljava/util/Locale$Category;)Ljava/util/Locale;
-HSPLjava/util/Locale;->getDisplayLanguage()Ljava/lang/String;
 HSPLjava/util/Locale;->getDisplayLanguage(Ljava/util/Locale;)Ljava/lang/String;
 HSPLjava/util/Locale;->getExtensionKeys()Ljava/util/Set;
 HSPLjava/util/Locale;->getISO3Country()Ljava/lang/String;
@@ -49147,33 +40379,23 @@
 HSPLjava/util/Locale;->initDefault()Ljava/util/Locale;
 HSPLjava/util/Locale;->initDefault(Ljava/util/Locale$Category;)Ljava/util/Locale;
 HSPLjava/util/Locale;->isValidBcp47Alpha(Ljava/lang/String;II)Z
-HSPLjava/util/Locale;->lookup(Ljava/util/List;Ljava/util/Collection;)Ljava/util/Locale;
 HSPLjava/util/Locale;->normalizeAndValidateLanguage(Ljava/lang/String;Z)Ljava/lang/String;
-HSPLjava/util/Locale;->readObject(Ljava/io/ObjectInputStream;)V
-HSPLjava/util/Locale;->readResolve()Ljava/lang/Object;
 HSPLjava/util/Locale;->setDefault(Ljava/util/Locale$Category;Ljava/util/Locale;)V
 HSPLjava/util/Locale;->setDefault(Ljava/util/Locale;)V
 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;->get(Ljava/lang/Object;)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/Map;->size()I
 HSPLjava/util/MissingResourceException;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/util/NavigableMap;->descendingMap()Ljava/util/NavigableMap;
-HSPLjava/util/NavigableMap;->headMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;
-HSPLjava/util/NavigableMap;->subMap(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/NavigableMap;
-HSPLjava/util/NavigableMap;->tailMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;
 HSPLjava/util/NoSuchElementException;-><init>()V
 HSPLjava/util/Objects;->equals(Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLjava/util/Objects;->hash([Ljava/lang/Object;)I
 HSPLjava/util/Objects;->hashCode(Ljava/lang/Object;)I
-HSPLjava/util/Objects;->nonNull(Ljava/lang/Object;)Z
 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
@@ -49182,28 +40404,27 @@
 HSPLjava/util/Observable;->notifyObservers()V
 HSPLjava/util/Observable;->notifyObservers(Ljava/lang/Object;)V
 HSPLjava/util/Observable;->setChanged()V
-HSPLjava/util/Observer;->update(Ljava/util/Observable;Ljava/lang/Object;)V
 HSPLjava/util/Optional;-><init>()V
 HSPLjava/util/Optional;->empty()Ljava/util/Optional;
-HSPLjava/util/Optional;->flatMap(Ljava/util/function/Function;)Ljava/util/Optional;
 HSPLjava/util/Optional;->get()Ljava/lang/Object;
+HSPLjava/util/Optional;->ifPresent(Ljava/util/function/Consumer;)V
 HSPLjava/util/Optional;->isPresent()Z
 HSPLjava/util/Optional;->map(Ljava/util/function/Function;)Ljava/util/Optional;
 HSPLjava/util/Optional;->of(Ljava/lang/Object;)Ljava/util/Optional;
 HSPLjava/util/Optional;->ofNullable(Ljava/lang/Object;)Ljava/util/Optional;
 HSPLjava/util/Optional;->orElse(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/OptionalDouble;-><init>()V
 HSPLjava/util/OptionalInt;-><init>()V
-HSPLjava/util/OptionalLong;-><init>()V
+HSPLjava/util/OptionalInt;->getAsInt()I
+HSPLjava/util/OptionalInt;->isPresent()Z
+HSPLjava/util/OptionalInt;->of(I)Ljava/util/OptionalInt;
 HSPLjava/util/PriorityQueue$Itr;->hasNext()Z
 HSPLjava/util/PriorityQueue$Itr;->next()Ljava/lang/Object;
 HSPLjava/util/PriorityQueue$Itr;->remove()V
 HSPLjava/util/PriorityQueue;-><init>()V
-HSPLjava/util/PriorityQueue;-><init>(I)V
 HSPLjava/util/PriorityQueue;-><init>(ILjava/util/Comparator;)V
 HSPLjava/util/PriorityQueue;-><init>(Ljava/util/Collection;)V
 HSPLjava/util/PriorityQueue;->add(Ljava/lang/Object;)Z
-HSPLjava/util/PriorityQueue;->contains(Ljava/lang/Object;)Z
+HSPLjava/util/PriorityQueue;->clear()V
 HSPLjava/util/PriorityQueue;->grow(I)V
 HSPLjava/util/PriorityQueue;->initElementsFromCollection(Ljava/util/Collection;)V
 HSPLjava/util/PriorityQueue;->iterator()Ljava/util/Iterator;
@@ -49215,14 +40436,12 @@
 HSPLjava/util/PriorityQueue;->siftDownComparable(ILjava/lang/Object;)V
 HSPLjava/util/PriorityQueue;->siftDownUsingComparator(ILjava/lang/Object;)V
 HSPLjava/util/PriorityQueue;->size()I
-HSPLjava/util/PriorityQueue;->toArray()[Ljava/lang/Object;
 HSPLjava/util/Properties$LineReader;->readLine()I
 HSPLjava/util/Properties;-><init>()V
 HSPLjava/util/Properties;->enumerate(Ljava/util/Hashtable;)V
 HSPLjava/util/Properties;->getProperty(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/util/Properties;->getProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/util/Properties;->load(Ljava/io/InputStream;)V
-HSPLjava/util/Properties;->load(Ljava/io/Reader;)V
 HSPLjava/util/Properties;->load0(Ljava/util/Properties$LineReader;)V
 HSPLjava/util/Properties;->loadConvert([CII[C)Ljava/lang/String;
 HSPLjava/util/Properties;->propertyNames()Ljava/util/Enumeration;
@@ -49245,57 +40464,21 @@
 HSPLjava/util/RegularEnumSet;->add(Ljava/lang/Enum;)Z
 HSPLjava/util/RegularEnumSet;->add(Ljava/lang/Object;)Z
 HSPLjava/util/RegularEnumSet;->addAll()V
-HSPLjava/util/RegularEnumSet;->addAll(Ljava/util/Collection;)Z
 HSPLjava/util/RegularEnumSet;->clear()V
+HSPLjava/util/RegularEnumSet;->complement()V
 HSPLjava/util/RegularEnumSet;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/RegularEnumSet;->containsAll(Ljava/util/Collection;)Z
 HSPLjava/util/RegularEnumSet;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/RegularEnumSet;->isEmpty()Z
 HSPLjava/util/RegularEnumSet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/RegularEnumSet;->remove(Ljava/lang/Object;)Z
 HSPLjava/util/RegularEnumSet;->size()I
 HSPLjava/util/ResourceBundle$1;-><init>()V
-HSPLjava/util/ResourceBundle$BundleReference;->getCacheKey()Ljava/util/ResourceBundle$CacheKey;
-HSPLjava/util/ResourceBundle$CacheKey;->calculateHashCode()V
-HSPLjava/util/ResourceBundle$CacheKey;->clone()Ljava/lang/Object;
-HSPLjava/util/ResourceBundle$CacheKey;->equals(Ljava/lang/Object;)Z
-HSPLjava/util/ResourceBundle$CacheKey;->getLoader()Ljava/lang/ClassLoader;
-HSPLjava/util/ResourceBundle$CacheKey;->getLocale()Ljava/util/Locale;
-HSPLjava/util/ResourceBundle$CacheKey;->getName()Ljava/lang/String;
-HSPLjava/util/ResourceBundle$CacheKey;->hashCode()I
-HSPLjava/util/ResourceBundle$CacheKey;->setFormat(Ljava/lang/String;)V
-HSPLjava/util/ResourceBundle$CacheKey;->setLocale(Ljava/util/Locale;)Ljava/util/ResourceBundle$CacheKey;
-HSPLjava/util/ResourceBundle$Control$1;->run()Ljava/io/InputStream;
-HSPLjava/util/ResourceBundle$Control$1;->run()Ljava/lang/Object;
-HSPLjava/util/ResourceBundle$Control$CandidateListCache;-><init>(Ljava/util/ResourceBundle$1;)V
-HSPLjava/util/ResourceBundle$Control$CandidateListCache;->createObject(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/ResourceBundle$Control$CandidateListCache;->createObject(Lsun/util/locale/BaseLocale;)Ljava/util/List;
-HSPLjava/util/ResourceBundle$Control$CandidateListCache;->getDefaultList(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-HSPLjava/util/ResourceBundle$Control;-><init>()V
-HSPLjava/util/ResourceBundle$Control;->getCandidateLocales(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/List;
-HSPLjava/util/ResourceBundle$Control;->getFallbackLocale(Ljava/lang/String;Ljava/util/Locale;)Ljava/util/Locale;
-HSPLjava/util/ResourceBundle$Control;->getFormats(Ljava/lang/String;)Ljava/util/List;
-HSPLjava/util/ResourceBundle$Control;->getTimeToLive(Ljava/lang/String;Ljava/util/Locale;)J
-HSPLjava/util/ResourceBundle$Control;->newBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;Ljava/lang/ClassLoader;Z)Ljava/util/ResourceBundle;
-HSPLjava/util/ResourceBundle$Control;->toBundleName(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
-HSPLjava/util/ResourceBundle$Control;->toResourceName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/util/ResourceBundle;->findBundle(Ljava/util/ResourceBundle$CacheKey;Ljava/util/List;Ljava/util/List;ILjava/util/ResourceBundle$Control;Ljava/util/ResourceBundle;)Ljava/util/ResourceBundle;
-HSPLjava/util/ResourceBundle;->findBundleInCache(Ljava/util/ResourceBundle$CacheKey;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;
-HSPLjava/util/ResourceBundle;->getBundle(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;)Ljava/util/ResourceBundle;
-HSPLjava/util/ResourceBundle;->getBundleImpl(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/ClassLoader;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;
 HSPLjava/util/ResourceBundle;->getObject(Ljava/lang/String;)Ljava/lang/Object;
 HSPLjava/util/ResourceBundle;->getString(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/util/ResourceBundle;->getStringArray(Ljava/lang/String;)[Ljava/lang/String;
-HSPLjava/util/ResourceBundle;->loadBundle(Ljava/util/ResourceBundle$CacheKey;Ljava/util/List;Ljava/util/ResourceBundle$Control;Z)Ljava/util/ResourceBundle;
-HSPLjava/util/ResourceBundle;->putBundleInCache(Ljava/util/ResourceBundle$CacheKey;Ljava/util/ResourceBundle;Ljava/util/ResourceBundle$Control;)Ljava/util/ResourceBundle;
-HSPLjava/util/ResourceBundle;->setExpirationTime(Ljava/util/ResourceBundle$CacheKey;Ljava/util/ResourceBundle$Control;)V
-HSPLjava/util/ResourceBundle;->setParent(Ljava/util/ResourceBundle;)V
 HSPLjava/util/Scanner$1;->create(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/Scanner$1;->create(Ljava/lang/String;)Ljava/util/regex/Pattern;
 HSPLjava/util/Scanner;-><init>(Ljava/io/File;)V
-HSPLjava/util/Scanner;-><init>(Ljava/io/File;Ljava/lang/String;)V
 HSPLjava/util/Scanner;-><init>(Ljava/io/InputStream;)V
-HSPLjava/util/Scanner;-><init>(Ljava/io/InputStream;Ljava/lang/String;)V
 HSPLjava/util/Scanner;-><init>(Ljava/lang/Readable;Ljava/util/regex/Pattern;)V
 HSPLjava/util/Scanner;-><init>(Ljava/lang/String;)V
 HSPLjava/util/Scanner;->buildIntegerPatternString()Ljava/lang/String;
@@ -49314,45 +40497,31 @@
 HSPLjava/util/Scanner;->nextLong(I)J
 HSPLjava/util/Scanner;->readInput()V
 HSPLjava/util/Scanner;->setRadix(I)V
-HSPLjava/util/Scanner;->throwFor()V
-HSPLjava/util/Scanner;->toCharset(Ljava/lang/String;)Ljava/nio/charset/Charset;
-HSPLjava/util/Scanner;->toDecoder(Ljava/lang/String;)Ljava/nio/charset/CharsetDecoder;
 HSPLjava/util/Scanner;->useDelimiter(Ljava/lang/String;)Ljava/util/Scanner;
 HSPLjava/util/Scanner;->useLocale(Ljava/util/Locale;)Ljava/util/Scanner;
-HSPLjava/util/ServiceLoader$1;->hasNext()Z
 HSPLjava/util/ServiceLoader$LazyIterator;->hasNext()Z
 HSPLjava/util/ServiceLoader$LazyIterator;->hasNextService()Z
 HSPLjava/util/ServiceLoader;-><init>(Ljava/lang/Class;Ljava/lang/ClassLoader;)V
-HSPLjava/util/ServiceLoader;->iterator()Ljava/util/Iterator;
-HSPLjava/util/ServiceLoader;->load(Ljava/lang/Class;Ljava/lang/ClassLoader;)Ljava/util/ServiceLoader;
 HSPLjava/util/ServiceLoader;->loadFromSystemProperty(Ljava/lang/Class;)Ljava/lang/Object;
 HSPLjava/util/Set;->spliterator()Ljava/util/Spliterator;
 HSPLjava/util/SimpleTimeZone;-><init>(ILjava/lang/String;)V
 HSPLjava/util/SimpleTimeZone;->clone()Ljava/lang/Object;
-HSPLjava/util/SimpleTimeZone;->getDSTSavings()I
 HSPLjava/util/SimpleTimeZone;->getOffset(J)I
 HSPLjava/util/SimpleTimeZone;->getOffsets(J[I)I
 HSPLjava/util/SimpleTimeZone;->getRawOffset()I
-HSPLjava/util/SimpleTimeZone;->hasSameRules(Ljava/util/TimeZone;)Z
-HSPLjava/util/SimpleTimeZone;->hashCode()I
-HSPLjava/util/SimpleTimeZone;->inDaylightTime(Ljava/util/Date;)Z
-HSPLjava/util/SortedMap;->comparator()Ljava/util/Comparator;
-HSPLjava/util/SortedMap;->firstKey()Ljava/lang/Object;
-HSPLjava/util/SortedMap;->headMap(Ljava/lang/Object;)Ljava/util/SortedMap;
-HSPLjava/util/SortedMap;->lastKey()Ljava/lang/Object;
-HSPLjava/util/SortedMap;->subMap(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/SortedMap;
-HSPLjava/util/SortedMap;->tailMap(Ljava/lang/Object;)Ljava/util/SortedMap;
 HSPLjava/util/Spliterator$OfInt;->forEachRemaining(Ljava/util/function/Consumer;)V
 HSPLjava/util/Spliterator;->getExactSizeIfKnown()J
-HSPLjava/util/Spliterator;->tryAdvance(Ljava/util/function/Consumer;)Z
-HSPLjava/util/Spliterator;->trySplit()Ljava/util/Spliterator;
 HSPLjava/util/Spliterators$ArraySpliterator;->characteristics()I
 HSPLjava/util/Spliterators$ArraySpliterator;->estimateSize()J
 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
+HSPLjava/util/Spliterators$EmptySpliterator;->characteristics()I
+HSPLjava/util/Spliterators$EmptySpliterator;->estimateSize()J
 HSPLjava/util/Spliterators$IntArraySpliterator;->characteristics()I
 HSPLjava/util/Spliterators$IntArraySpliterator;->estimateSize()J
 HSPLjava/util/Spliterators$IntArraySpliterator;->forEachRemaining(Ljava/util/function/IntConsumer;)V
+HSPLjava/util/Spliterators$IntArraySpliterator;->tryAdvance(Ljava/util/function/IntConsumer;)Z
 HSPLjava/util/Spliterators$IteratorSpliterator;->characteristics()I
 HSPLjava/util/Spliterators$IteratorSpliterator;->estimateSize()J
 HSPLjava/util/Spliterators$IteratorSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
@@ -49367,13 +40536,10 @@
 HSPLjava/util/StringJoiner;-><init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)V
 HSPLjava/util/StringJoiner;->add(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
 HSPLjava/util/StringJoiner;->toString()Ljava/lang/String;
-HSPLjava/util/StringTokenizer;-><init>(Ljava/lang/String;)V
 HSPLjava/util/StringTokenizer;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/util/StringTokenizer;->countTokens()I
-HSPLjava/util/StringTokenizer;->hasMoreElements()Z
 HSPLjava/util/StringTokenizer;->hasMoreTokens()Z
 HSPLjava/util/StringTokenizer;->nextToken()Ljava/lang/String;
-HSPLjava/util/StringTokenizer;->nextToken(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/util/StringTokenizer;->scanToken(I)I
 HSPLjava/util/StringTokenizer;->setMaxDelimCodePoint()V
 HSPLjava/util/StringTokenizer;->skipDelimiters(I)I
@@ -49381,19 +40547,13 @@
 HSPLjava/util/SubList$1;->next()Ljava/lang/Object;
 HSPLjava/util/SubList$1;->nextIndex()I
 HSPLjava/util/SubList;-><init>(Ljava/util/AbstractList;II)V
-HSPLjava/util/SubList;->get(I)Ljava/lang/Object;
 HSPLjava/util/SubList;->iterator()Ljava/util/Iterator;
 HSPLjava/util/SubList;->listIterator(I)Ljava/util/ListIterator;
 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
-HSPLjava/util/TaskQueue;->removeMin()V
-HSPLjava/util/TaskQueue;->rescheduleMin(J)V
-HSPLjava/util/TaskQueue;->size()I
 HSPLjava/util/TimSort;-><init>([Ljava/lang/Object;Ljava/util/Comparator;[Ljava/lang/Object;II)V
 HSPLjava/util/TimSort;->binarySort([Ljava/lang/Object;IIILjava/util/Comparator;)V
 HSPLjava/util/TimSort;->countRunAndMakeAscending([Ljava/lang/Object;IILjava/util/Comparator;)I
@@ -49408,143 +40568,113 @@
 HSPLjava/util/TimeZone;->clone()Ljava/lang/Object;
 HSPLjava/util/TimeZone;->createGmtOffsetString(ZZI)Ljava/lang/String;
 HSPLjava/util/TimeZone;->getAvailableIDs()[Ljava/lang/String;
-HSPLjava/util/TimeZone;->getCustomTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
 HSPLjava/util/TimeZone;->getDefault()Ljava/util/TimeZone;
 HSPLjava/util/TimeZone;->getDefaultRef()Ljava/util/TimeZone;
-HSPLjava/util/TimeZone;->getDisplayName(Ljava/util/Locale;)Ljava/lang/String;
-HSPLjava/util/TimeZone;->getDisplayName(ZI)Ljava/lang/String;
 HSPLjava/util/TimeZone;->getDisplayName(ZILjava/util/Locale;)Ljava/lang/String;
 HSPLjava/util/TimeZone;->getID()Ljava/lang/String;
 HSPLjava/util/TimeZone;->getTimeZone(Ljava/lang/String;)Ljava/util/TimeZone;
 HSPLjava/util/TimeZone;->setDefault(Ljava/util/TimeZone;)V
 HSPLjava/util/TimeZone;->setID(Ljava/lang/String;)V
 HSPLjava/util/TimeZone;->toZoneId()Ljava/time/ZoneId;
-HSPLjava/util/Timer$1;->finalize()V
 HSPLjava/util/Timer;-><init>()V
 HSPLjava/util/Timer;-><init>(Ljava/lang/String;)V
 HSPLjava/util/Timer;-><init>(Ljava/lang/String;Z)V
-HSPLjava/util/Timer;-><init>(Z)V
-HSPLjava/util/Timer;->cancel()V
-HSPLjava/util/Timer;->purge()I
 HSPLjava/util/Timer;->sched(Ljava/util/TimerTask;JJ)V
 HSPLjava/util/Timer;->schedule(Ljava/util/TimerTask;J)V
-HSPLjava/util/Timer;->schedule(Ljava/util/TimerTask;JJ)V
 HSPLjava/util/Timer;->scheduleAtFixedRate(Ljava/util/TimerTask;JJ)V
 HSPLjava/util/TimerTask;-><init>()V
-HSPLjava/util/TimerTask;->run()V
 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$DescendingSubMap$DescendingEntrySetView;->iterator()Ljava/util/Iterator;
-HSPLjava/util/TreeMap$DescendingSubMap;->entrySet()Ljava/util/Set;
-HSPLjava/util/TreeMap$DescendingSubMap;->tailMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;
+HSPLjava/util/TreeMap$AscendingSubMap;->subHighest()Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap$EntryIterator;->next()Ljava/lang/Object;
 HSPLjava/util/TreeMap$EntrySet;->iterator()Ljava/util/Iterator;
 HSPLjava/util/TreeMap$EntrySet;->size()I
 HSPLjava/util/TreeMap$KeyIterator;->next()Ljava/lang/Object;
-HSPLjava/util/TreeMap$KeySet;->comparator()Ljava/util/Comparator;
 HSPLjava/util/TreeMap$KeySet;->isEmpty()Z
 HSPLjava/util/TreeMap$KeySet;->iterator()Ljava/util/Iterator;
 HSPLjava/util/TreeMap$KeySet;->size()I
-HSPLjava/util/TreeMap$NavigableSubMap$DescendingSubMapEntryIterator;->next()Ljava/lang/Object;
+HSPLjava/util/TreeMap$KeySpliterator;->characteristics()I
+HSPLjava/util/TreeMap$KeySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
+HSPLjava/util/TreeMap$KeySpliterator;->getComparator()Ljava/util/Comparator;
 HSPLjava/util/TreeMap$NavigableSubMap$EntrySetView;->isEmpty()Z
 HSPLjava/util/TreeMap$NavigableSubMap$EntrySetView;->size()I
 HSPLjava/util/TreeMap$NavigableSubMap$SubMapEntryIterator;->next()Ljava/lang/Object;
 HSPLjava/util/TreeMap$NavigableSubMap$SubMapIterator;->hasNext()Z
 HSPLjava/util/TreeMap$NavigableSubMap$SubMapIterator;->nextEntry()Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap$NavigableSubMap$SubMapIterator;->prevEntry()Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap$NavigableSubMap$SubMapKeyIterator;->next()Ljava/lang/Object;
 HSPLjava/util/TreeMap$NavigableSubMap;-><init>(Ljava/util/TreeMap;ZLjava/lang/Object;ZZLjava/lang/Object;Z)V
 HSPLjava/util/TreeMap$NavigableSubMap;->absHighest()Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap$NavigableSubMap;->absLowest()Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap$NavigableSubMap;->descendingKeyIterator()Ljava/util/Iterator;
 HSPLjava/util/TreeMap$NavigableSubMap;->isEmpty()Z
-HSPLjava/util/TreeMap$NavigableSubMap;->keyIterator()Ljava/util/Iterator;
-HSPLjava/util/TreeMap$NavigableSubMap;->keySpliterator()Ljava/util/Spliterator;
+HSPLjava/util/TreeMap$NavigableSubMap;->lastKey()Ljava/lang/Object;
 HSPLjava/util/TreeMap$NavigableSubMap;->navigableKeySet()Ljava/util/NavigableSet;
 HSPLjava/util/TreeMap$NavigableSubMap;->size()I
-HSPLjava/util/TreeMap$NavigableSubMap;->subCeiling(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap$NavigableSubMap;->subFloor(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap$NavigableSubMap;->subHigher(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap$NavigableSubMap;->subHighest()Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap$NavigableSubMap;->subLower(Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
-HSPLjava/util/TreeMap$NavigableSubMap;->subLowest()Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap$PrivateEntryIterator;->hasNext()Z
 HSPLjava/util/TreeMap$PrivateEntryIterator;->nextEntry()Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap$PrivateEntryIterator;->remove()V
 HSPLjava/util/TreeMap$TreeMapEntry;->getKey()Ljava/lang/Object;
 HSPLjava/util/TreeMap$TreeMapEntry;->getValue()Ljava/lang/Object;
+HSPLjava/util/TreeMap$TreeMapSpliterator;->estimateSize()J
+HSPLjava/util/TreeMap$TreeMapSpliterator;->getEstimate()I
 HSPLjava/util/TreeMap$ValueIterator;->next()Ljava/lang/Object;
 HSPLjava/util/TreeMap$Values;->iterator()Ljava/util/Iterator;
 HSPLjava/util/TreeMap$Values;->size()I
 HSPLjava/util/TreeMap;-><init>()V
 HSPLjava/util/TreeMap;-><init>(Ljava/util/Comparator;)V
-HSPLjava/util/TreeMap;-><init>(Ljava/util/Map;)V
-HSPLjava/util/TreeMap;-><init>(Ljava/util/SortedMap;)V
-HSPLjava/util/TreeMap;->addAllForTreeSet(Ljava/util/SortedSet;Ljava/lang/Object;)V
 HSPLjava/util/TreeMap;->buildFromSorted(IIIILjava/util/Iterator;Ljava/io/ObjectInputStream;Ljava/lang/Object;)Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap;->ceilingEntry(Ljava/lang/Object;)Ljava/util/Map$Entry;
 HSPLjava/util/TreeMap;->ceilingKey(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/TreeMap;->clear()V
 HSPLjava/util/TreeMap;->clone()Ljava/lang/Object;
-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;->firstEntry()Ljava/util/Map$Entry;
 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;->floorEntry(Ljava/lang/Object;)Ljava/util/Map$Entry;
 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;->higherEntry(Ljava/lang/Object;)Ljava/util/Map$Entry;
-HSPLjava/util/TreeMap;->higherKey(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/TreeMap;->headMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;
 HSPLjava/util/TreeMap;->keyIterator()Ljava/util/Iterator;
 HSPLjava/util/TreeMap;->keySet()Ljava/util/Set;
+HSPLjava/util/TreeMap;->keySpliteratorFor(Ljava/util/NavigableMap;)Ljava/util/Spliterator;
 HSPLjava/util/TreeMap;->lastKey()Ljava/lang/Object;
-HSPLjava/util/TreeMap;->lowerEntry(Ljava/lang/Object;)Ljava/util/Map$Entry;
 HSPLjava/util/TreeMap;->navigableKeySet()Ljava/util/NavigableSet;
-HSPLjava/util/TreeMap;->pollFirstEntry()Ljava/util/Map$Entry;
-HSPLjava/util/TreeMap;->predecessor(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/TreeMap;->putAll(Ljava/util/Map;)V
 HSPLjava/util/TreeMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/TreeMap;->rotateLeft(Ljava/util/TreeMap$TreeMapEntry;)V
 HSPLjava/util/TreeMap;->rotateRight(Ljava/util/TreeMap$TreeMapEntry;)V
 HSPLjava/util/TreeMap;->size()I
+HSPLjava/util/TreeMap;->subMap(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/SortedMap;
 HSPLjava/util/TreeMap;->subMap(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/NavigableMap;
-HSPLjava/util/TreeMap;->successor(Ljava/util/TreeMap$TreeMapEntry;)Ljava/util/TreeMap$TreeMapEntry;
 HSPLjava/util/TreeMap;->tailMap(Ljava/lang/Object;Z)Ljava/util/NavigableMap;
 HSPLjava/util/TreeMap;->values()Ljava/util/Collection;
 HSPLjava/util/TreeSet;-><init>()V
 HSPLjava/util/TreeSet;-><init>(Ljava/util/Collection;)V
 HSPLjava/util/TreeSet;-><init>(Ljava/util/Comparator;)V
-HSPLjava/util/TreeSet;-><init>(Ljava/util/SortedSet;)V
 HSPLjava/util/TreeSet;->add(Ljava/lang/Object;)Z
 HSPLjava/util/TreeSet;->addAll(Ljava/util/Collection;)Z
 HSPLjava/util/TreeSet;->ceiling(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/TreeSet;->clear()V
-HSPLjava/util/TreeSet;->comparator()Ljava/util/Comparator;
 HSPLjava/util/TreeSet;->contains(Ljava/lang/Object;)Z
 HSPLjava/util/TreeSet;->first()Ljava/lang/Object;
 HSPLjava/util/TreeSet;->floor(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/TreeSet;->higher(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/TreeSet;->headSet(Ljava/lang/Object;)Ljava/util/SortedSet;
+HSPLjava/util/TreeSet;->headSet(Ljava/lang/Object;Z)Ljava/util/NavigableSet;
 HSPLjava/util/TreeSet;->isEmpty()Z
 HSPLjava/util/TreeSet;->iterator()Ljava/util/Iterator;
 HSPLjava/util/TreeSet;->last()Ljava/lang/Object;
-HSPLjava/util/TreeSet;->pollFirst()Ljava/lang/Object;
 HSPLjava/util/TreeSet;->remove(Ljava/lang/Object;)Z
 HSPLjava/util/TreeSet;->size()I
+HSPLjava/util/TreeSet;->spliterator()Ljava/util/Spliterator;
 HSPLjava/util/TreeSet;->subSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/SortedSet;
 HSPLjava/util/TreeSet;->subSet(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/NavigableSet;
 HSPLjava/util/TreeSet;->tailSet(Ljava/lang/Object;)Ljava/util/SortedSet;
@@ -49565,11 +40695,8 @@
 HSPLjava/util/Vector$Itr;->hasNext()Z
 HSPLjava/util/Vector$Itr;->next()Ljava/lang/Object;
 HSPLjava/util/Vector;-><init>()V
-HSPLjava/util/Vector;-><init>(I)V
 HSPLjava/util/Vector;-><init>(II)V
-HSPLjava/util/Vector;->add(ILjava/lang/Object;)V
 HSPLjava/util/Vector;->add(Ljava/lang/Object;)Z
-HSPLjava/util/Vector;->addAll(Ljava/util/Collection;)Z
 HSPLjava/util/Vector;->addElement(Ljava/lang/Object;)V
 HSPLjava/util/Vector;->clear()V
 HSPLjava/util/Vector;->contains(Ljava/lang/Object;)Z
@@ -49581,16 +40708,14 @@
 HSPLjava/util/Vector;->grow(I)V
 HSPLjava/util/Vector;->indexOf(Ljava/lang/Object;)I
 HSPLjava/util/Vector;->indexOf(Ljava/lang/Object;I)I
-HSPLjava/util/Vector;->insertElementAt(Ljava/lang/Object;I)V
 HSPLjava/util/Vector;->isEmpty()Z
 HSPLjava/util/Vector;->iterator()Ljava/util/Iterator;
+HSPLjava/util/Vector;->remove(Ljava/lang/Object;)Z
 HSPLjava/util/Vector;->removeAllElements()V
 HSPLjava/util/Vector;->removeElement(Ljava/lang/Object;)Z
 HSPLjava/util/Vector;->removeElementAt(I)V
-HSPLjava/util/Vector;->set(ILjava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/Vector;->setElementAt(Ljava/lang/Object;I)V
-HSPLjava/util/Vector;->setSize(I)V
 HSPLjava/util/Vector;->size()I
+HSPLjava/util/Vector;->sort(Ljava/util/Comparator;)V
 HSPLjava/util/Vector;->toArray()[Ljava/lang/Object;
 HSPLjava/util/Vector;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
 HSPLjava/util/WeakHashMap$Entry;->getKey()Ljava/lang/Object;
@@ -49601,8 +40726,6 @@
 HSPLjava/util/WeakHashMap$HashIterator;->hasNext()Z
 HSPLjava/util/WeakHashMap$HashIterator;->nextEntry()Ljava/util/WeakHashMap$Entry;
 HSPLjava/util/WeakHashMap$KeyIterator;->next()Ljava/lang/Object;
-HSPLjava/util/WeakHashMap$KeySet;-><init>(Ljava/util/WeakHashMap;)V
-HSPLjava/util/WeakHashMap$KeySet;-><init>(Ljava/util/WeakHashMap;Ljava/util/WeakHashMap$1;)V
 HSPLjava/util/WeakHashMap$KeySet;->iterator()Ljava/util/Iterator;
 HSPLjava/util/WeakHashMap$KeySet;->size()I
 HSPLjava/util/WeakHashMap$ValueIterator;->next()Ljava/lang/Object;
@@ -49610,10 +40733,8 @@
 HSPLjava/util/WeakHashMap;-><init>()V
 HSPLjava/util/WeakHashMap;-><init>(I)V
 HSPLjava/util/WeakHashMap;-><init>(IF)V
-HSPLjava/util/WeakHashMap;-><init>(Ljava/util/Map;)V
 HSPLjava/util/WeakHashMap;->clear()V
 HSPLjava/util/WeakHashMap;->containsKey(Ljava/lang/Object;)Z
-HSPLjava/util/WeakHashMap;->containsValue(Ljava/lang/Object;)Z
 HSPLjava/util/WeakHashMap;->entrySet()Ljava/util/Set;
 HSPLjava/util/WeakHashMap;->expungeStaleEntries()V
 HSPLjava/util/WeakHashMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
@@ -49621,14 +40742,12 @@
 HSPLjava/util/WeakHashMap;->isEmpty()Z
 HSPLjava/util/WeakHashMap;->keySet()Ljava/util/Set;
 HSPLjava/util/WeakHashMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/WeakHashMap;->putAll(Ljava/util/Map;)V
 HSPLjava/util/WeakHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/WeakHashMap;->resize(I)V
 HSPLjava/util/WeakHashMap;->size()I
 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;)Ljava/util/List;
 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;
@@ -49639,94 +40758,29 @@
 HSPLjava/util/concurrent/ArrayBlockingQueue;-><init>(IZ)V
 HSPLjava/util/concurrent/ArrayBlockingQueue;->add(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/ArrayBlockingQueue;->dequeue()Ljava/lang/Object;
-HSPLjava/util/concurrent/ArrayBlockingQueue;->drainTo(Ljava/util/Collection;)I
-HSPLjava/util/concurrent/ArrayBlockingQueue;->drainTo(Ljava/util/Collection;I)I
 HSPLjava/util/concurrent/ArrayBlockingQueue;->offer(Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/ArrayBlockingQueue;->offer(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z
 HSPLjava/util/concurrent/ArrayBlockingQueue;->poll()Ljava/lang/Object;
 HSPLjava/util/concurrent/ArrayBlockingQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
 HSPLjava/util/concurrent/ArrayBlockingQueue;->put(Ljava/lang/Object;)V
 HSPLjava/util/concurrent/ArrayBlockingQueue;->remainingCapacity()I
-HSPLjava/util/concurrent/ArrayBlockingQueue;->size()I
 HSPLjava/util/concurrent/ArrayBlockingQueue;->take()Ljava/lang/Object;
-HSPLjava/util/concurrent/BlockingDeque;->add(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/BlockingDeque;->addFirst(Ljava/lang/Object;)V
-HSPLjava/util/concurrent/BlockingDeque;->addLast(Ljava/lang/Object;)V
-HSPLjava/util/concurrent/BlockingDeque;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/BlockingDeque;->element()Ljava/lang/Object;
-HSPLjava/util/concurrent/BlockingDeque;->iterator()Ljava/util/Iterator;
-HSPLjava/util/concurrent/BlockingDeque;->offer(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/BlockingDeque;->offer(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z
-HSPLjava/util/concurrent/BlockingDeque;->offerFirst(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/BlockingDeque;->offerFirst(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z
-HSPLjava/util/concurrent/BlockingDeque;->offerLast(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/BlockingDeque;->offerLast(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z
-HSPLjava/util/concurrent/BlockingDeque;->peek()Ljava/lang/Object;
-HSPLjava/util/concurrent/BlockingDeque;->poll()Ljava/lang/Object;
-HSPLjava/util/concurrent/BlockingDeque;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
-HSPLjava/util/concurrent/BlockingDeque;->pollFirst(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
-HSPLjava/util/concurrent/BlockingDeque;->pollLast(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
-HSPLjava/util/concurrent/BlockingDeque;->push(Ljava/lang/Object;)V
-HSPLjava/util/concurrent/BlockingDeque;->put(Ljava/lang/Object;)V
-HSPLjava/util/concurrent/BlockingDeque;->putFirst(Ljava/lang/Object;)V
-HSPLjava/util/concurrent/BlockingDeque;->putLast(Ljava/lang/Object;)V
-HSPLjava/util/concurrent/BlockingDeque;->remove()Ljava/lang/Object;
-HSPLjava/util/concurrent/BlockingDeque;->remove(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/BlockingDeque;->removeFirstOccurrence(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/BlockingDeque;->removeLastOccurrence(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/BlockingDeque;->size()I
-HSPLjava/util/concurrent/BlockingDeque;->take()Ljava/lang/Object;
-HSPLjava/util/concurrent/BlockingDeque;->takeFirst()Ljava/lang/Object;
-HSPLjava/util/concurrent/BlockingDeque;->takeLast()Ljava/lang/Object;
-HSPLjava/util/concurrent/Callable;->call()Ljava/lang/Object;
-HSPLjava/util/concurrent/CancellationException;-><init>()V
 HSPLjava/util/concurrent/CancellationException;-><init>(Ljava/lang/String;)V
 HSPLjava/util/concurrent/CompletableFuture$AltResult;-><init>(Ljava/lang/Throwable;)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;->get()Ljava/lang/Object;
 HSPLjava/util/concurrent/CompletableFuture;->get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
 HSPLjava/util/concurrent/CompletableFuture;->postComplete()V
 HSPLjava/util/concurrent/CompletableFuture;->reportGet(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/concurrent/CompletionStage;->acceptEither(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->acceptEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->acceptEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->applyToEither(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->applyToEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->applyToEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->exceptionally(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->handle(Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->handleAsync(Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->handleAsync(Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->runAfterBoth(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->runAfterBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->runAfterBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->runAfterEither(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->runAfterEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->runAfterEitherAsync(Ljava/util/concurrent/CompletionStage;Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenAccept(Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenAcceptAsync(Ljava/util/function/Consumer;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenAcceptAsync(Ljava/util/function/Consumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenAcceptBoth(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenAcceptBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenAcceptBothAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenApply(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenApplyAsync(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenApplyAsync(Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenCombine(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenCombineAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenCombineAsync(Ljava/util/concurrent/CompletionStage;Ljava/util/function/BiFunction;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenCompose(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenComposeAsync(Ljava/util/function/Function;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenComposeAsync(Ljava/util/function/Function;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenRun(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenRunAsync(Ljava/lang/Runnable;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->thenRunAsync(Ljava/lang/Runnable;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->toCompletableFuture()Ljava/util/concurrent/CompletableFuture;
-HSPLjava/util/concurrent/CompletionStage;->whenComplete(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->whenCompleteAsync(Ljava/util/function/BiConsumer;)Ljava/util/concurrent/CompletionStage;
-HSPLjava/util/concurrent/CompletionStage;->whenCompleteAsync(Ljava/util/function/BiConsumer;Ljava/util/concurrent/Executor;)Ljava/util/concurrent/CompletionStage;
+HSPLjava/util/concurrent/CompletableFuture;->timedGet(J)Ljava/lang/Object;
+HSPLjava/util/concurrent/CompletableFuture;->waitingGet(Z)Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentHashMap$BaseIterator;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;IIILjava/util/concurrent/ConcurrentHashMap;)V
 HSPLjava/util/concurrent/ConcurrentHashMap$BaseIterator;->hasNext()Z
 HSPLjava/util/concurrent/ConcurrentHashMap$BaseIterator;->remove()V
-HSPLjava/util/concurrent/ConcurrentHashMap$CollectionView;->isEmpty()Z
 HSPLjava/util/concurrent/ConcurrentHashMap$CollectionView;->size()I
 HSPLjava/util/concurrent/ConcurrentHashMap$CollectionView;->toArray()[Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentHashMap$EntryIterator;->next()Ljava/lang/Object;
@@ -49735,16 +40789,10 @@
 HSPLjava/util/concurrent/ConcurrentHashMap$ForwardingNode;->find(ILjava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$Node;
 HSPLjava/util/concurrent/ConcurrentHashMap$KeyIterator;->next()Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentHashMap$KeySetView;->add(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/ConcurrentHashMap$KeySetView;->forEach(Ljava/util/function/Consumer;)V
 HSPLjava/util/concurrent/ConcurrentHashMap$KeySetView;->iterator()Ljava/util/Iterator;
-HSPLjava/util/concurrent/ConcurrentHashMap$KeySetView;->spliterator()Ljava/util/Spliterator;
-HSPLjava/util/concurrent/ConcurrentHashMap$KeySpliterator;->characteristics()I
-HSPLjava/util/concurrent/ConcurrentHashMap$KeySpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
 HSPLjava/util/concurrent/ConcurrentHashMap$MapEntry;->getKey()Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentHashMap$MapEntry;->getValue()Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentHashMap$MapEntry;->hashCode()I
 HSPLjava/util/concurrent/ConcurrentHashMap$Node;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/ConcurrentHashMap$Node;)V
-HSPLjava/util/concurrent/ConcurrentHashMap$Traverser;-><init>([Ljava/util/concurrent/ConcurrentHashMap$Node;III)V
 HSPLjava/util/concurrent/ConcurrentHashMap$Traverser;->advance()Ljava/util/concurrent/ConcurrentHashMap$Node;
 HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;-><init>(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)V
 HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->balanceInsertion(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
@@ -49752,25 +40800,21 @@
 HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->putTreeVal(ILjava/lang/Object;Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
 HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->rotateLeft(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
 HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->rotateRight(Ljava/util/concurrent/ConcurrentHashMap$TreeNode;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeBin;->tieBreakOrder(Ljava/lang/Object;Ljava/lang/Object;)I
-HSPLjava/util/concurrent/ConcurrentHashMap$TreeNode;-><init>(ILjava/lang/Object;Ljava/lang/Object;Ljava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$TreeNode;)V
 HSPLjava/util/concurrent/ConcurrentHashMap$TreeNode;->findTreeNode(ILjava/lang/Object;Ljava/lang/Class;)Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
 HSPLjava/util/concurrent/ConcurrentHashMap$ValueIterator;->next()Ljava/lang/Object;
+HSPLjava/util/concurrent/ConcurrentHashMap$ValueSpliterator;->characteristics()I
+HSPLjava/util/concurrent/ConcurrentHashMap$ValueSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
 HSPLjava/util/concurrent/ConcurrentHashMap$ValuesView;->iterator()Ljava/util/Iterator;
-HSPLjava/util/concurrent/ConcurrentHashMap$ValuesView;->remove(Ljava/lang/Object;)Z
+HSPLjava/util/concurrent/ConcurrentHashMap$ValuesView;->spliterator()Ljava/util/Spliterator;
 HSPLjava/util/concurrent/ConcurrentHashMap;-><init>()V
 HSPLjava/util/concurrent/ConcurrentHashMap;-><init>(I)V
-HSPLjava/util/concurrent/ConcurrentHashMap;-><init>(IF)V
 HSPLjava/util/concurrent/ConcurrentHashMap;-><init>(IFI)V
 HSPLjava/util/concurrent/ConcurrentHashMap;-><init>(Ljava/util/Map;)V
 HSPLjava/util/concurrent/ConcurrentHashMap;->addCount(JI)V
 HSPLjava/util/concurrent/ConcurrentHashMap;->casTabAt([Ljava/util/concurrent/ConcurrentHashMap$Node;ILjava/util/concurrent/ConcurrentHashMap$Node;Ljava/util/concurrent/ConcurrentHashMap$Node;)Z
 HSPLjava/util/concurrent/ConcurrentHashMap;->clear()V
-HSPLjava/util/concurrent/ConcurrentHashMap;->comparableClassFor(Ljava/lang/Object;)Ljava/lang/Class;
 HSPLjava/util/concurrent/ConcurrentHashMap;->computeIfAbsent(Ljava/lang/Object;Ljava/util/function/Function;)Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentHashMap;->contains(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/ConcurrentHashMap;->containsKey(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/ConcurrentHashMap;->containsValue(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;
@@ -49786,110 +40830,69 @@
 HSPLjava/util/concurrent/ConcurrentHashMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentHashMap;->putVal(Ljava/lang/Object;Ljava/lang/Object;Z)Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentHashMap;->remove(Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/ConcurrentHashMap;->replace(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/ConcurrentHashMap;->replaceNode(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentHashMap;->resizeStamp(I)I
 HSPLjava/util/concurrent/ConcurrentHashMap;->setTabAt([Ljava/util/concurrent/ConcurrentHashMap$Node;ILjava/util/concurrent/ConcurrentHashMap$Node;)V
 HSPLjava/util/concurrent/ConcurrentHashMap;->size()I
+HSPLjava/util/concurrent/ConcurrentHashMap;->sumCount()J
 HSPLjava/util/concurrent/ConcurrentHashMap;->tabAt([Ljava/util/concurrent/ConcurrentHashMap$Node;I)Ljava/util/concurrent/ConcurrentHashMap$Node;
+HSPLjava/util/concurrent/ConcurrentHashMap;->toString()Ljava/lang/String;
 HSPLjava/util/concurrent/ConcurrentHashMap;->transfer([Ljava/util/concurrent/ConcurrentHashMap$Node;[Ljava/util/concurrent/ConcurrentHashMap$Node;)V
 HSPLjava/util/concurrent/ConcurrentHashMap;->treeifyBin([Ljava/util/concurrent/ConcurrentHashMap$Node;I)V
 HSPLjava/util/concurrent/ConcurrentHashMap;->tryPresize(I)V
-HSPLjava/util/concurrent/ConcurrentHashMap;->untreeify(Ljava/util/concurrent/ConcurrentHashMap$Node;)Ljava/util/concurrent/ConcurrentHashMap$Node;
 HSPLjava/util/concurrent/ConcurrentHashMap;->values()Ljava/util/Collection;
 HSPLjava/util/concurrent/ConcurrentLinkedDeque$Node;-><init>()V
 HSPLjava/util/concurrent/ConcurrentLinkedDeque;-><init>()V
 HSPLjava/util/concurrent/ConcurrentLinkedDeque;->add(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/ConcurrentLinkedDeque;->first()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
 HSPLjava/util/concurrent/ConcurrentLinkedDeque;->linkLast(Ljava/lang/Object;)V
 HSPLjava/util/concurrent/ConcurrentLinkedDeque;->offerLast(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/ConcurrentLinkedDeque;->poll()Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentLinkedDeque;->pollFirst()Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentLinkedDeque;->prevTerminator()Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
-HSPLjava/util/concurrent/ConcurrentLinkedDeque;->skipDeletedPredecessors(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
-HSPLjava/util/concurrent/ConcurrentLinkedDeque;->skipDeletedSuccessors(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
-HSPLjava/util/concurrent/ConcurrentLinkedDeque;->unlink(Ljava/util/concurrent/ConcurrentLinkedDeque$Node;)V
-HSPLjava/util/concurrent/ConcurrentLinkedDeque;->updateHead()V
-HSPLjava/util/concurrent/ConcurrentLinkedDeque;->updateTail()V
 HSPLjava/util/concurrent/ConcurrentLinkedQueue$Itr;-><init>(Ljava/util/concurrent/ConcurrentLinkedQueue;)V
 HSPLjava/util/concurrent/ConcurrentLinkedQueue$Itr;->hasNext()Z
 HSPLjava/util/concurrent/ConcurrentLinkedQueue$Itr;->next()Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentLinkedQueue;-><init>()V
-HSPLjava/util/concurrent/ConcurrentLinkedQueue;-><init>(Ljava/util/Collection;)V
 HSPLjava/util/concurrent/ConcurrentLinkedQueue;->add(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/ConcurrentLinkedQueue;->contains(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/ConcurrentLinkedQueue;->first()Ljava/util/concurrent/ConcurrentLinkedQueue$Node;
 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
-HSPLjava/util/concurrent/ConcurrentLinkedQueue;->toArray()[Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentLinkedQueue;->toArrayInternal([Ljava/lang/Object;)[Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentNavigableMap;->descendingKeySet()Ljava/util/NavigableSet;
-HSPLjava/util/concurrent/ConcurrentNavigableMap;->descendingMap()Ljava/util/concurrent/ConcurrentNavigableMap;
-HSPLjava/util/concurrent/ConcurrentNavigableMap;->headMap(Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentNavigableMap;
-HSPLjava/util/concurrent/ConcurrentNavigableMap;->headMap(Ljava/lang/Object;Z)Ljava/util/concurrent/ConcurrentNavigableMap;
-HSPLjava/util/concurrent/ConcurrentNavigableMap;->keySet()Ljava/util/NavigableSet;
-HSPLjava/util/concurrent/ConcurrentNavigableMap;->navigableKeySet()Ljava/util/NavigableSet;
-HSPLjava/util/concurrent/ConcurrentNavigableMap;->subMap(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentNavigableMap;
-HSPLjava/util/concurrent/ConcurrentNavigableMap;->subMap(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/concurrent/ConcurrentNavigableMap;
-HSPLjava/util/concurrent/ConcurrentNavigableMap;->tailMap(Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentNavigableMap;
-HSPLjava/util/concurrent/ConcurrentNavigableMap;->tailMap(Ljava/lang/Object;Z)Ljava/util/concurrent/ConcurrentNavigableMap;
 HSPLjava/util/concurrent/ConcurrentSkipListMap$Iter;->advance()V
 HSPLjava/util/concurrent/ConcurrentSkipListMap$Iter;->hasNext()Z
-HSPLjava/util/concurrent/ConcurrentSkipListMap$KeyIterator;->next()Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentSkipListMap$KeySet;->first()Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentSkipListMap$KeySet;->isEmpty()Z
-HSPLjava/util/concurrent/ConcurrentSkipListMap$KeySet;->iterator()Ljava/util/Iterator;
-HSPLjava/util/concurrent/ConcurrentSkipListMap$KeySet;->subSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/SortedSet;
-HSPLjava/util/concurrent/ConcurrentSkipListMap$SubMap;-><init>(Ljava/util/concurrent/ConcurrentSkipListMap;Ljava/lang/Object;ZLjava/lang/Object;ZZ)V
-HSPLjava/util/concurrent/ConcurrentSkipListMap$SubMap;->firstKey()Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentSkipListMap$SubMap;->isEmpty()Z
-HSPLjava/util/concurrent/ConcurrentSkipListMap$SubMap;->loNode(Ljava/util/Comparator;)Ljava/util/concurrent/ConcurrentSkipListMap$Node;
 HSPLjava/util/concurrent/ConcurrentSkipListMap$ValueIterator;->next()Ljava/lang/Object;
 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;->containsKey(Ljava/lang/Object;)Z
 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;
-HSPLjava/util/concurrent/ConcurrentSkipListMap;->findNear(Ljava/lang/Object;ILjava/util/Comparator;)Ljava/util/concurrent/ConcurrentSkipListMap$Node;
+HSPLjava/util/concurrent/ConcurrentSkipListMap;->findLast()Ljava/util/concurrent/ConcurrentSkipListMap$Node;
+HSPLjava/util/concurrent/ConcurrentSkipListMap;->findNode(Ljava/lang/Object;)Ljava/util/concurrent/ConcurrentSkipListMap$Node;
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->findPredecessor(Ljava/lang/Object;Ljava/util/Comparator;)Ljava/util/concurrent/ConcurrentSkipListMap$Node;
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentSkipListMap;->navigableKeySet()Ljava/util/NavigableSet;
+HSPLjava/util/concurrent/ConcurrentSkipListMap;->lastEntry()Ljava/util/Map$Entry;
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->putIfAbsent(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->remove(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/concurrent/ConcurrentSkipListMap;->subMap(Ljava/lang/Object;ZLjava/lang/Object;Z)Ljava/util/concurrent/ConcurrentNavigableMap;
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->tryReduceLevel()V
 HSPLjava/util/concurrent/ConcurrentSkipListMap;->values()Ljava/util/Collection;
 HSPLjava/util/concurrent/ConcurrentSkipListSet;-><init>()V
-HSPLjava/util/concurrent/ConcurrentSkipListSet;-><init>(Ljava/util/Collection;)V
-HSPLjava/util/concurrent/ConcurrentSkipListSet;-><init>(Ljava/util/Comparator;)V
 HSPLjava/util/concurrent/ConcurrentSkipListSet;->add(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/ConcurrentSkipListSet;->clear()V
 HSPLjava/util/concurrent/ConcurrentSkipListSet;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/ConcurrentSkipListSet;->iterator()Ljava/util/Iterator;
 HSPLjava/util/concurrent/CopyOnWriteArrayList$COWIterator;->hasNext()Z
 HSPLjava/util/concurrent/CopyOnWriteArrayList$COWIterator;->next()Ljava/lang/Object;
 HSPLjava/util/concurrent/CopyOnWriteArrayList;-><init>()V
 HSPLjava/util/concurrent/CopyOnWriteArrayList;-><init>(Ljava/util/Collection;)V
-HSPLjava/util/concurrent/CopyOnWriteArrayList;-><init>([Ljava/lang/Object;)V
 HSPLjava/util/concurrent/CopyOnWriteArrayList;->add(ILjava/lang/Object;)V
 HSPLjava/util/concurrent/CopyOnWriteArrayList;->add(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/CopyOnWriteArrayList;->addAll(Ljava/util/Collection;)Z
-HSPLjava/util/concurrent/CopyOnWriteArrayList;->addAllAbsent(Ljava/util/Collection;)I
 HSPLjava/util/concurrent/CopyOnWriteArrayList;->addIfAbsent(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/CopyOnWriteArrayList;->addIfAbsent(Ljava/lang/Object;[Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/CopyOnWriteArrayList;->clear()V
 HSPLjava/util/concurrent/CopyOnWriteArrayList;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/CopyOnWriteArrayList;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/CopyOnWriteArrayList;->get(I)Ljava/lang/Object;
 HSPLjava/util/concurrent/CopyOnWriteArrayList;->isEmpty()Z
 HSPLjava/util/concurrent/CopyOnWriteArrayList;->iterator()Ljava/util/Iterator;
@@ -49898,54 +40901,31 @@
 HSPLjava/util/concurrent/CopyOnWriteArrayList;->remove(Ljava/lang/Object;[Ljava/lang/Object;I)Z
 HSPLjava/util/concurrent/CopyOnWriteArrayList;->removeAll(Ljava/util/Collection;)Z
 HSPLjava/util/concurrent/CopyOnWriteArrayList;->size()I
-HSPLjava/util/concurrent/CopyOnWriteArrayList;->sort(Ljava/util/Comparator;)V
 HSPLjava/util/concurrent/CopyOnWriteArrayList;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
 HSPLjava/util/concurrent/CopyOnWriteArraySet;-><init>()V
 HSPLjava/util/concurrent/CopyOnWriteArraySet;->add(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/CopyOnWriteArraySet;->addAll(Ljava/util/Collection;)Z
-HSPLjava/util/concurrent/CopyOnWriteArraySet;->clear()V
-HSPLjava/util/concurrent/CopyOnWriteArraySet;->compareSets([Ljava/lang/Object;Ljava/util/Set;)I
-HSPLjava/util/concurrent/CopyOnWriteArraySet;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/CopyOnWriteArraySet;->containsAll(Ljava/util/Collection;)Z
-HSPLjava/util/concurrent/CopyOnWriteArraySet;->isEmpty()Z
 HSPLjava/util/concurrent/CopyOnWriteArraySet;->iterator()Ljava/util/Iterator;
 HSPLjava/util/concurrent/CopyOnWriteArraySet;->remove(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/CopyOnWriteArraySet;->removeAll(Ljava/util/Collection;)Z
-HSPLjava/util/concurrent/CopyOnWriteArraySet;->size()I
 HSPLjava/util/concurrent/CountDownLatch$Sync;->tryAcquireShared(I)I
 HSPLjava/util/concurrent/CountDownLatch;-><init>(I)V
 HSPLjava/util/concurrent/CountDownLatch;->await()V
 HSPLjava/util/concurrent/CountDownLatch;->await(JLjava/util/concurrent/TimeUnit;)Z
 HSPLjava/util/concurrent/CountDownLatch;->countDown()V
 HSPLjava/util/concurrent/CountDownLatch;->getCount()J
-HSPLjava/util/concurrent/CyclicBarrier;-><init>(I)V
-HSPLjava/util/concurrent/CyclicBarrier;-><init>(ILjava/lang/Runnable;)V
-HSPLjava/util/concurrent/DelayQueue;-><init>()V
-HSPLjava/util/concurrent/DelayQueue;->add(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/DelayQueue;->add(Ljava/util/concurrent/Delayed;)Z
-HSPLjava/util/concurrent/DelayQueue;->offer(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/DelayQueue;->offer(Ljava/util/concurrent/Delayed;)Z
-HSPLjava/util/concurrent/DelayQueue;->take()Ljava/lang/Object;
-HSPLjava/util/concurrent/DelayQueue;->take()Ljava/util/concurrent/Delayed;
-HSPLjava/util/concurrent/Delayed;->getDelay(Ljava/util/concurrent/TimeUnit;)J
-HSPLjava/util/concurrent/ExecutionException;-><init>()V
-HSPLjava/util/concurrent/ExecutionException;-><init>(Ljava/lang/String;Ljava/lang/Throwable;)V
 HSPLjava/util/concurrent/ExecutionException;-><init>(Ljava/lang/Throwable;)V
 HSPLjava/util/concurrent/Executors$DefaultThreadFactory;-><init>()V
 HSPLjava/util/concurrent/Executors$DefaultThreadFactory;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
 HSPLjava/util/concurrent/Executors$DelegatedExecutorService;->execute(Ljava/lang/Runnable;)V
 HSPLjava/util/concurrent/Executors$DelegatedExecutorService;->isShutdown()Z
-HSPLjava/util/concurrent/Executors$DelegatedExecutorService;->isTerminated()Z
 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/lang/Runnable;Ljava/lang/Object;)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$DelegatedScheduledExecutorService;->schedule(Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
 HSPLjava/util/concurrent/Executors$DelegatedScheduledExecutorService;->scheduleAtFixedRate(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
 HSPLjava/util/concurrent/Executors$DelegatedScheduledExecutorService;->scheduleWithFixedDelay(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
 HSPLjava/util/concurrent/Executors$FinalizableDelegatedExecutorService;->finalize()V
+HSPLjava/util/concurrent/Executors$RunnableAdapter;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;)V
 HSPLjava/util/concurrent/Executors$RunnableAdapter;->call()Ljava/lang/Object;
 HSPLjava/util/concurrent/Executors;->callable(Ljava/lang/Runnable;Ljava/lang/Object;)Ljava/util/concurrent/Callable;
 HSPLjava/util/concurrent/Executors;->defaultThreadFactory()Ljava/util/concurrent/ThreadFactory;
@@ -49959,21 +40939,20 @@
 HSPLjava/util/concurrent/Executors;->newSingleThreadExecutor(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ExecutorService;
 HSPLjava/util/concurrent/Executors;->newSingleThreadScheduledExecutor()Ljava/util/concurrent/ScheduledExecutorService;
 HSPLjava/util/concurrent/Executors;->newSingleThreadScheduledExecutor(Ljava/util/concurrent/ThreadFactory;)Ljava/util/concurrent/ScheduledExecutorService;
+HSPLjava/util/concurrent/Executors;->newWorkStealingPool(I)Ljava/util/concurrent/ExecutorService;
+HSPLjava/util/concurrent/Executors;->unconfigurableExecutorService(Ljava/util/concurrent/ExecutorService;)Ljava/util/concurrent/ExecutorService;
 HSPLjava/util/concurrent/Executors;->unconfigurableScheduledExecutorService(Ljava/util/concurrent/ScheduledExecutorService;)Ljava/util/concurrent/ScheduledExecutorService;
 HSPLjava/util/concurrent/ForkJoinPool$1;-><init>()V
 HSPLjava/util/concurrent/ForkJoinPool$1;->run()Ljava/lang/Object;
 HSPLjava/util/concurrent/ForkJoinPool$1;->run()Ljava/util/concurrent/ForkJoinPool;
 HSPLjava/util/concurrent/ForkJoinPool$DefaultForkJoinWorkerThreadFactory;-><init>(Ljava/util/concurrent/ForkJoinPool$1;)V
-HSPLjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;->newThread(Ljava/util/concurrent/ForkJoinPool;)Ljava/util/concurrent/ForkJoinWorkerThread;
 HSPLjava/util/concurrent/ForkJoinPool;-><init>(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;ILjava/lang/String;)V
+HSPLjava/util/concurrent/ForkJoinPool;-><init>(ILjava/util/concurrent/ForkJoinPool$ForkJoinWorkerThreadFactory;Ljava/lang/Thread$UncaughtExceptionHandler;Z)V
 HSPLjava/util/concurrent/ForkJoinPool;->commonPool()Ljava/util/concurrent/ForkJoinPool;
 HSPLjava/util/concurrent/ForkJoinPool;->getCommonPoolParallelism()I
 HSPLjava/util/concurrent/ForkJoinPool;->makeCommonPool()Ljava/util/concurrent/ForkJoinPool;
-HSPLjava/util/concurrent/Future;->cancel(Z)Z
-HSPLjava/util/concurrent/Future;->get()Ljava/lang/Object;
-HSPLjava/util/concurrent/Future;->get(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
-HSPLjava/util/concurrent/Future;->isCancelled()Z
-HSPLjava/util/concurrent/Future;->isDone()Z
+HSPLjava/util/concurrent/ForkJoinPool;->managedBlock(Ljava/util/concurrent/ForkJoinPool$ManagedBlocker;)V
+HSPLjava/util/concurrent/ForkJoinPool;->nextPoolId()I
 HSPLjava/util/concurrent/FutureTask;-><init>(Ljava/lang/Runnable;Ljava/lang/Object;)V
 HSPLjava/util/concurrent/FutureTask;-><init>(Ljava/util/concurrent/Callable;)V
 HSPLjava/util/concurrent/FutureTask;->awaitDone(ZJ)I
@@ -49989,26 +40968,13 @@
 HSPLjava/util/concurrent/FutureTask;->runAndReset()Z
 HSPLjava/util/concurrent/FutureTask;->set(Ljava/lang/Object;)V
 HSPLjava/util/concurrent/FutureTask;->setException(Ljava/lang/Throwable;)V
-HSPLjava/util/concurrent/LinkedBlockingDeque$AbstractItr;-><init>(Ljava/util/concurrent/LinkedBlockingDeque;)V
-HSPLjava/util/concurrent/LinkedBlockingDeque$AbstractItr;->advance()V
-HSPLjava/util/concurrent/LinkedBlockingDeque$AbstractItr;->firstNode()Ljava/util/concurrent/LinkedBlockingDeque$Node;
-HSPLjava/util/concurrent/LinkedBlockingDeque$AbstractItr;->hasNext()Z
-HSPLjava/util/concurrent/LinkedBlockingDeque$AbstractItr;->next()Ljava/lang/Object;
-HSPLjava/util/concurrent/LinkedBlockingDeque$AbstractItr;->nextNode(Ljava/util/concurrent/LinkedBlockingDeque$Node;)Ljava/util/concurrent/LinkedBlockingDeque$Node;
-HSPLjava/util/concurrent/LinkedBlockingDeque$Itr;->firstNode()Ljava/util/concurrent/LinkedBlockingDeque$Node;
-HSPLjava/util/concurrent/LinkedBlockingDeque$Itr;->nextNode(Ljava/util/concurrent/LinkedBlockingDeque$Node;)Ljava/util/concurrent/LinkedBlockingDeque$Node;
 HSPLjava/util/concurrent/LinkedBlockingDeque;-><init>()V
 HSPLjava/util/concurrent/LinkedBlockingDeque;-><init>(I)V
 HSPLjava/util/concurrent/LinkedBlockingDeque;->add(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/LinkedBlockingDeque;->addLast(Ljava/lang/Object;)V
 HSPLjava/util/concurrent/LinkedBlockingDeque;->clear()V
-HSPLjava/util/concurrent/LinkedBlockingDeque;->drainTo(Ljava/util/Collection;)I
-HSPLjava/util/concurrent/LinkedBlockingDeque;->drainTo(Ljava/util/Collection;I)I
-HSPLjava/util/concurrent/LinkedBlockingDeque;->iterator()Ljava/util/Iterator;
-HSPLjava/util/concurrent/LinkedBlockingDeque;->linkFirst(Ljava/util/concurrent/LinkedBlockingDeque$Node;)Z
 HSPLjava/util/concurrent/LinkedBlockingDeque;->linkLast(Ljava/util/concurrent/LinkedBlockingDeque$Node;)Z
 HSPLjava/util/concurrent/LinkedBlockingDeque;->offer(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/LinkedBlockingDeque;->offerFirst(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/LinkedBlockingDeque;->offerLast(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/LinkedBlockingDeque;->peek()Ljava/lang/Object;
 HSPLjava/util/concurrent/LinkedBlockingDeque;->peekFirst()Ljava/lang/Object;
@@ -50021,13 +40987,8 @@
 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;->takeLast()Ljava/lang/Object;
 HSPLjava/util/concurrent/LinkedBlockingDeque;->toArray([Ljava/lang/Object;)[Ljava/lang/Object;
 HSPLjava/util/concurrent/LinkedBlockingDeque;->unlinkFirst()Ljava/lang/Object;
-HSPLjava/util/concurrent/LinkedBlockingDeque;->unlinkLast()Ljava/lang/Object;
-HSPLjava/util/concurrent/LinkedBlockingQueue$Itr;-><init>(Ljava/util/concurrent/LinkedBlockingQueue;)V
-HSPLjava/util/concurrent/LinkedBlockingQueue$Itr;->hasNext()Z
-HSPLjava/util/concurrent/LinkedBlockingQueue$Itr;->next()Ljava/lang/Object;
 HSPLjava/util/concurrent/LinkedBlockingQueue;-><init>()V
 HSPLjava/util/concurrent/LinkedBlockingQueue;-><init>(I)V
 HSPLjava/util/concurrent/LinkedBlockingQueue;->clear()V
@@ -50035,51 +40996,27 @@
 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;->iterator()Ljava/util/Iterator;
 HSPLjava/util/concurrent/LinkedBlockingQueue;->offer(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/LinkedBlockingQueue;->offer(Ljava/lang/Object;JLjava/util/concurrent/TimeUnit;)Z
-HSPLjava/util/concurrent/LinkedBlockingQueue;->peek()Ljava/lang/Object;
 HSPLjava/util/concurrent/LinkedBlockingQueue;->poll()Ljava/lang/Object;
 HSPLjava/util/concurrent/LinkedBlockingQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
 HSPLjava/util/concurrent/LinkedBlockingQueue;->put(Ljava/lang/Object;)V
-HSPLjava/util/concurrent/LinkedBlockingQueue;->remainingCapacity()I
-HSPLjava/util/concurrent/LinkedBlockingQueue;->remove(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/LinkedBlockingQueue;->signalNotEmpty()V
-HSPLjava/util/concurrent/LinkedBlockingQueue;->signalNotFull()V
 HSPLjava/util/concurrent/LinkedBlockingQueue;->size()I
 HSPLjava/util/concurrent/LinkedBlockingQueue;->take()Ljava/lang/Object;
-HSPLjava/util/concurrent/LinkedBlockingQueue;->unlink(Ljava/util/concurrent/LinkedBlockingQueue$Node;Ljava/util/concurrent/LinkedBlockingQueue$Node;)V
-HSPLjava/util/concurrent/PriorityBlockingQueue$Itr;->hasNext()Z
-HSPLjava/util/concurrent/PriorityBlockingQueue$Itr;->next()Ljava/lang/Object;
 HSPLjava/util/concurrent/PriorityBlockingQueue;-><init>()V
-HSPLjava/util/concurrent/PriorityBlockingQueue;-><init>(I)V
 HSPLjava/util/concurrent/PriorityBlockingQueue;-><init>(ILjava/util/Comparator;)V
 HSPLjava/util/concurrent/PriorityBlockingQueue;->add(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/PriorityBlockingQueue;->clear()V
 HSPLjava/util/concurrent/PriorityBlockingQueue;->contains(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/PriorityBlockingQueue;->iterator()Ljava/util/Iterator;
 HSPLjava/util/concurrent/PriorityBlockingQueue;->offer(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/PriorityBlockingQueue;->peek()Ljava/lang/Object;
 HSPLjava/util/concurrent/PriorityBlockingQueue;->poll()Ljava/lang/Object;
-HSPLjava/util/concurrent/PriorityBlockingQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
-HSPLjava/util/concurrent/PriorityBlockingQueue;->put(Ljava/lang/Object;)V
-HSPLjava/util/concurrent/PriorityBlockingQueue;->remove(Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/PriorityBlockingQueue;->removeAt(I)V
 HSPLjava/util/concurrent/PriorityBlockingQueue;->siftDownComparable(ILjava/lang/Object;[Ljava/lang/Object;I)V
 HSPLjava/util/concurrent/PriorityBlockingQueue;->siftDownUsingComparator(ILjava/lang/Object;[Ljava/lang/Object;ILjava/util/Comparator;)V
 HSPLjava/util/concurrent/PriorityBlockingQueue;->size()I
 HSPLjava/util/concurrent/PriorityBlockingQueue;->take()Ljava/lang/Object;
-HSPLjava/util/concurrent/PriorityBlockingQueue;->toArray()[Ljava/lang/Object;
-HSPLjava/util/concurrent/PriorityBlockingQueue;->tryGrow([Ljava/lang/Object;I)V
-HSPLjava/util/concurrent/RejectedExecutionHandler;->rejectedExecution(Ljava/lang/Runnable;Ljava/util/concurrent/ThreadPoolExecutor;)V
-HSPLjava/util/concurrent/RunnableScheduledFuture;->isPeriodic()Z
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr;->hasNext()Z
-HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr;->next()Ljava/lang/Object;
-HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr;->next()Ljava/lang/Runnable;
-HSPLjava/util/concurrent/ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr;->remove()V
 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;->clear()V
 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
@@ -50111,21 +41048,18 @@
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->getContinueExistingPeriodicTasksAfterShutdownPolicy()Z
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->getExecuteExistingDelayedTasksAfterShutdownPolicy()Z
-HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->getQueue()Ljava/util/concurrent/BlockingQueue;
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->onShutdown()V
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->reExecutePeriodic(Ljava/util/concurrent/RunnableScheduledFuture;)V
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->schedule(Ljava/lang/Runnable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->schedule(Ljava/util/concurrent/Callable;JLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->scheduleAtFixedRate(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->scheduleWithFixedDelay(Ljava/lang/Runnable;JJLjava/util/concurrent/TimeUnit;)Ljava/util/concurrent/ScheduledFuture;
-HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->setExecuteExistingDelayedTasksAfterShutdownPolicy(Z)V
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->setRemoveOnCancelPolicy(Z)V
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->shutdown()V
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->shutdownNow()Ljava/util/List;
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->submit(Ljava/lang/Runnable;)Ljava/util/concurrent/Future;
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->submit(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
 HSPLjava/util/concurrent/ScheduledThreadPoolExecutor;->triggerTime(J)J
-HSPLjava/util/concurrent/Semaphore$FairSync;->tryAcquireShared(I)I
 HSPLjava/util/concurrent/Semaphore$NonfairSync;->tryAcquireShared(I)I
 HSPLjava/util/concurrent/Semaphore$Sync;->tryReleaseShared(I)Z
 HSPLjava/util/concurrent/Semaphore;-><init>(I)V
@@ -50134,16 +41068,13 @@
 HSPLjava/util/concurrent/Semaphore;->acquireUninterruptibly()V
 HSPLjava/util/concurrent/Semaphore;->availablePermits()I
 HSPLjava/util/concurrent/Semaphore;->release()V
-HSPLjava/util/concurrent/Semaphore;->release(I)V
-HSPLjava/util/concurrent/Semaphore;->tryAcquire()Z
-HSPLjava/util/concurrent/Semaphore;->tryAcquire(I)Z
+HSPLjava/util/concurrent/Semaphore;->tryAcquire(IJLjava/util/concurrent/TimeUnit;)Z
+HSPLjava/util/concurrent/Semaphore;->tryAcquire(JLjava/util/concurrent/TimeUnit;)Z
 HSPLjava/util/concurrent/SynchronousQueue$TransferStack$SNode;->tryMatch(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;)Z
 HSPLjava/util/concurrent/SynchronousQueue$TransferStack;->awaitFulfill(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;ZJ)Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;
 HSPLjava/util/concurrent/SynchronousQueue$TransferStack;->clean(Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;)V
 HSPLjava/util/concurrent/SynchronousQueue$TransferStack;->transfer(Ljava/lang/Object;ZJ)Ljava/lang/Object;
-HSPLjava/util/concurrent/SynchronousQueue$Transferer;->transfer(Ljava/lang/Object;ZJ)Ljava/lang/Object;
 HSPLjava/util/concurrent/SynchronousQueue;-><init>()V
-HSPLjava/util/concurrent/SynchronousQueue;-><init>(Z)V
 HSPLjava/util/concurrent/SynchronousQueue;->isEmpty()Z
 HSPLjava/util/concurrent/SynchronousQueue;->offer(Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/SynchronousQueue;->poll(JLjava/util/concurrent/TimeUnit;)Ljava/lang/Object;
@@ -50159,9 +41090,7 @@
 HSPLjava/util/concurrent/ThreadLocalRandom;->nextSecondarySeed()I
 HSPLjava/util/concurrent/ThreadLocalRandom;->setSeed(J)V
 HSPLjava/util/concurrent/ThreadPoolExecutor$AbortPolicy;-><init>()V
-HSPLjava/util/concurrent/ThreadPoolExecutor$DiscardOldestPolicy;-><init>()V
 HSPLjava/util/concurrent/ThreadPoolExecutor$DiscardPolicy;-><init>()V
-HSPLjava/util/concurrent/ThreadPoolExecutor$DiscardPolicy;->rejectedExecution(Ljava/lang/Runnable;Ljava/util/concurrent/ThreadPoolExecutor;)V
 HSPLjava/util/concurrent/ThreadPoolExecutor$Worker;->interruptIfStarted()V
 HSPLjava/util/concurrent/ThreadPoolExecutor$Worker;->run()V
 HSPLjava/util/concurrent/ThreadPoolExecutor;-><init>(IIJLjava/util/concurrent/TimeUnit;Ljava/util/concurrent/BlockingQueue;)V
@@ -50178,49 +41107,37 @@
 HSPLjava/util/concurrent/ThreadPoolExecutor;->ensurePrestart()V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->execute(Ljava/lang/Runnable;)V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->finalize()V
-HSPLjava/util/concurrent/ThreadPoolExecutor;->getActiveCount()I
-HSPLjava/util/concurrent/ThreadPoolExecutor;->getCorePoolSize()I
 HSPLjava/util/concurrent/ThreadPoolExecutor;->getMaximumPoolSize()I
-HSPLjava/util/concurrent/ThreadPoolExecutor;->getPoolSize()I
 HSPLjava/util/concurrent/ThreadPoolExecutor;->getQueue()Ljava/util/concurrent/BlockingQueue;
-HSPLjava/util/concurrent/ThreadPoolExecutor;->getRejectedExecutionHandler()Ljava/util/concurrent/RejectedExecutionHandler;
 HSPLjava/util/concurrent/ThreadPoolExecutor;->getTask()Ljava/lang/Runnable;
-HSPLjava/util/concurrent/ThreadPoolExecutor;->getTaskCount()J
 HSPLjava/util/concurrent/ThreadPoolExecutor;->getThreadFactory()Ljava/util/concurrent/ThreadFactory;
 HSPLjava/util/concurrent/ThreadPoolExecutor;->interruptIdleWorkers(Z)V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->interruptWorkers()V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->isShutdown()Z
-HSPLjava/util/concurrent/ThreadPoolExecutor;->isTerminated()Z
 HSPLjava/util/concurrent/ThreadPoolExecutor;->onShutdown()V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->prestartAllCoreThreads()I
-HSPLjava/util/concurrent/ThreadPoolExecutor;->prestartCoreThread()Z
 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;->setCorePoolSize(I)V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->setKeepAliveTime(JLjava/util/concurrent/TimeUnit;)V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->setMaximumPoolSize(I)V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->setRejectedExecutionHandler(Ljava/util/concurrent/RejectedExecutionHandler;)V
-HSPLjava/util/concurrent/ThreadPoolExecutor;->setThreadFactory(Ljava/util/concurrent/ThreadFactory;)V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->shutdown()V
 HSPLjava/util/concurrent/ThreadPoolExecutor;->shutdownNow()Ljava/util/List;
 HSPLjava/util/concurrent/ThreadPoolExecutor;->terminated()V
-HSPLjava/util/concurrent/ThreadPoolExecutor;->toString()Ljava/lang/String;
 HSPLjava/util/concurrent/ThreadPoolExecutor;->tryTerminate()V
 HSPLjava/util/concurrent/TimeUnit$1;-><init>(Ljava/lang/String;I)V
 HSPLjava/util/concurrent/TimeUnit$1;->convert(JLjava/util/concurrent/TimeUnit;)J
-HSPLjava/util/concurrent/TimeUnit$1;->excessNanos(JJ)I
 HSPLjava/util/concurrent/TimeUnit$1;->toMicros(J)J
 HSPLjava/util/concurrent/TimeUnit$1;->toMillis(J)J
 HSPLjava/util/concurrent/TimeUnit$1;->toNanos(J)J
-HSPLjava/util/concurrent/TimeUnit$1;->toSeconds(J)J
 HSPLjava/util/concurrent/TimeUnit$2;-><init>(Ljava/lang/String;I)V
 HSPLjava/util/concurrent/TimeUnit$2;->convert(JLjava/util/concurrent/TimeUnit;)J
 HSPLjava/util/concurrent/TimeUnit$2;->toMillis(J)J
-HSPLjava/util/concurrent/TimeUnit$2;->toNanos(J)J
 HSPLjava/util/concurrent/TimeUnit$3;-><init>(Ljava/lang/String;I)V
 HSPLjava/util/concurrent/TimeUnit$3;->convert(JLjava/util/concurrent/TimeUnit;)J
+HSPLjava/util/concurrent/TimeUnit$3;->excessNanos(JJ)I
 HSPLjava/util/concurrent/TimeUnit$3;->toDays(J)J
 HSPLjava/util/concurrent/TimeUnit$3;->toHours(J)J
 HSPLjava/util/concurrent/TimeUnit$3;->toMicros(J)J
@@ -50230,11 +41147,8 @@
 HSPLjava/util/concurrent/TimeUnit$3;->toSeconds(J)J
 HSPLjava/util/concurrent/TimeUnit$4;-><init>(Ljava/lang/String;I)V
 HSPLjava/util/concurrent/TimeUnit$4;->convert(JLjava/util/concurrent/TimeUnit;)J
-HSPLjava/util/concurrent/TimeUnit$4;->excessNanos(JJ)I
-HSPLjava/util/concurrent/TimeUnit$4;->toHours(J)J
 HSPLjava/util/concurrent/TimeUnit$4;->toMicros(J)J
 HSPLjava/util/concurrent/TimeUnit$4;->toMillis(J)J
-HSPLjava/util/concurrent/TimeUnit$4;->toMinutes(J)J
 HSPLjava/util/concurrent/TimeUnit$4;->toNanos(J)J
 HSPLjava/util/concurrent/TimeUnit$4;->toSeconds(J)J
 HSPLjava/util/concurrent/TimeUnit$5;-><init>(Ljava/lang/String;I)V
@@ -50250,17 +41164,12 @@
 HSPLjava/util/concurrent/TimeUnit$6;->toNanos(J)J
 HSPLjava/util/concurrent/TimeUnit$6;->toSeconds(J)J
 HSPLjava/util/concurrent/TimeUnit$7;-><init>(Ljava/lang/String;I)V
-HSPLjava/util/concurrent/TimeUnit$7;->convert(JLjava/util/concurrent/TimeUnit;)J
 HSPLjava/util/concurrent/TimeUnit$7;->toHours(J)J
-HSPLjava/util/concurrent/TimeUnit$7;->toMicros(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
 HSPLjava/util/concurrent/TimeUnit$7;->toSeconds(J)J
 HSPLjava/util/concurrent/TimeUnit;->sleep(J)V
-HSPLjava/util/concurrent/TimeUnit;->timedWait(Ljava/lang/Object;J)V
-HSPLjava/util/concurrent/TimeUnit;->values()[Ljava/util/concurrent/TimeUnit;
-HSPLjava/util/concurrent/TimeoutException;-><init>()V
 HSPLjava/util/concurrent/TimeoutException;-><init>(Ljava/lang/String;)V
 HSPLjava/util/concurrent/atomic/AtomicBoolean;-><init>()V
 HSPLjava/util/concurrent/atomic/AtomicBoolean;-><init>(Z)V
@@ -50275,43 +41184,25 @@
 HSPLjava/util/concurrent/atomic/AtomicInteger;->addAndGet(I)I
 HSPLjava/util/concurrent/atomic/AtomicInteger;->compareAndSet(II)Z
 HSPLjava/util/concurrent/atomic/AtomicInteger;->decrementAndGet()I
-HSPLjava/util/concurrent/atomic/AtomicInteger;->doubleValue()D
 HSPLjava/util/concurrent/atomic/AtomicInteger;->get()I
 HSPLjava/util/concurrent/atomic/AtomicInteger;->getAndAdd(I)I
 HSPLjava/util/concurrent/atomic/AtomicInteger;->getAndDecrement()I
 HSPLjava/util/concurrent/atomic/AtomicInteger;->getAndIncrement()I
 HSPLjava/util/concurrent/atomic/AtomicInteger;->getAndSet(I)I
+HSPLjava/util/concurrent/atomic/AtomicInteger;->getAndUpdate(Ljava/util/function/IntUnaryOperator;)I
 HSPLjava/util/concurrent/atomic/AtomicInteger;->incrementAndGet()I
-HSPLjava/util/concurrent/atomic/AtomicInteger;->intValue()I
 HSPLjava/util/concurrent/atomic/AtomicInteger;->lazySet(I)V
-HSPLjava/util/concurrent/atomic/AtomicInteger;->longValue()J
 HSPLjava/util/concurrent/atomic/AtomicInteger;->set(I)V
-HSPLjava/util/concurrent/atomic/AtomicInteger;->toString()Ljava/lang/String;
-HSPLjava/util/concurrent/atomic/AtomicIntegerArray;-><init>(I)V
-HSPLjava/util/concurrent/atomic/AtomicIntegerArray;->addAndGet(II)I
-HSPLjava/util/concurrent/atomic/AtomicIntegerArray;->checkedByteOffset(I)J
-HSPLjava/util/concurrent/atomic/AtomicIntegerArray;->compareAndSet(III)Z
-HSPLjava/util/concurrent/atomic/AtomicIntegerArray;->length()I
-HSPLjava/util/concurrent/atomic/AtomicIntegerArray;->set(II)V
-HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl$1;->run()Ljava/lang/Object;
-HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl$1;->run()Ljava/lang/reflect/Field;
 HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;-><init>(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
 HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->compareAndSet(Ljava/lang/Object;II)Z
 HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->decrementAndGet(Ljava/lang/Object;)I
 HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->getAndSet(Ljava/lang/Object;I)I
 HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;->set(Ljava/lang/Object;I)V
-HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->compareAndSet(Ljava/lang/Object;II)Z
-HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->get(Ljava/lang/Object;)I
-HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->lazySet(Ljava/lang/Object;I)V
 HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
-HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->set(Ljava/lang/Object;I)V
-HSPLjava/util/concurrent/atomic/AtomicIntegerFieldUpdater;->weakCompareAndSet(Ljava/lang/Object;II)Z
 HSPLjava/util/concurrent/atomic/AtomicLong;-><init>()V
 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;->decrementAndGet()J
-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
@@ -50319,19 +41210,12 @@
 HSPLjava/util/concurrent/atomic/AtomicLong;->getAndSet(J)J
 HSPLjava/util/concurrent/atomic/AtomicLong;->incrementAndGet()J
 HSPLjava/util/concurrent/atomic/AtomicLong;->lazySet(J)V
-HSPLjava/util/concurrent/atomic/AtomicLong;->longValue()J
 HSPLjava/util/concurrent/atomic/AtomicLong;->set(J)V
-HSPLjava/util/concurrent/atomic/AtomicLong;->toString()Ljava/lang/String;
 HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;-><init>(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
 HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->getAndAdd(Ljava/lang/Object;J)J
 HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->getAndIncrement(Ljava/lang/Object;)J
 HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater$CASUpdater;->incrementAndGet(Ljava/lang/Object;)J
-HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater;->compareAndSet(Ljava/lang/Object;JJ)Z
-HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater;->get(Ljava/lang/Object;)J
-HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater;->lazySet(Ljava/lang/Object;J)V
 HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicLongFieldUpdater;
-HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater;->set(Ljava/lang/Object;J)V
-HSPLjava/util/concurrent/atomic/AtomicLongFieldUpdater;->weakCompareAndSet(Ljava/lang/Object;JJ)Z
 HSPLjava/util/concurrent/atomic/AtomicReference;-><init>()V
 HSPLjava/util/concurrent/atomic/AtomicReference;-><init>(Ljava/lang/Object;)V
 HSPLjava/util/concurrent/atomic/AtomicReference;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;)Z
@@ -50350,15 +41234,9 @@
 HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;-><init>(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;)V
 HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;->getAndSet(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->compareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
-HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->get(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->lazySet(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->newUpdater(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;)Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
-HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->set(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLjava/util/concurrent/atomic/AtomicReferenceFieldUpdater;->weakCompareAndSet(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLjava/util/concurrent/atomic/LongAdder;-><init>()V
 HSPLjava/util/concurrent/atomic/LongAdder;->add(J)V
-HSPLjava/util/concurrent/atomic/Striped64;->longAccumulate(JLjava/util/function/LongBinaryOperator;Z)V
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->await()V
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->awaitNanos(J)J
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;->signal()V
@@ -50367,7 +41245,6 @@
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;->predecessor()Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->acquireQueued(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;I)Z
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->cancelAcquire(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
-HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->compareAndSetState(II)Z
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->doAcquireInterruptibly(I)V
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->doAcquireShared(I)V
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->doAcquireSharedInterruptibly(I)V
@@ -50375,20 +41252,10 @@
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->doReleaseShared()V
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->fullyRelease(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)I
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->setHeadAndPropagate(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;I)V
-HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->toString()Ljava/lang/String;
 HSPLjava/util/concurrent/locks/AbstractQueuedSynchronizer;->unparkSuccessor(Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$Node;)V
-HSPLjava/util/concurrent/locks/Condition;->await()V
-HSPLjava/util/concurrent/locks/Condition;->await(JLjava/util/concurrent/TimeUnit;)Z
-HSPLjava/util/concurrent/locks/Condition;->awaitNanos(J)J
-HSPLjava/util/concurrent/locks/Condition;->awaitUninterruptibly()V
-HSPLjava/util/concurrent/locks/Condition;->awaitUntil(Ljava/util/Date;)Z
-HSPLjava/util/concurrent/locks/Condition;->signal()V
-HSPLjava/util/concurrent/locks/Condition;->signalAll()V
 HSPLjava/util/concurrent/locks/LockSupport;->park(Ljava/lang/Object;)V
 HSPLjava/util/concurrent/locks/LockSupport;->parkNanos(Ljava/lang/Object;J)V
 HSPLjava/util/concurrent/locks/LockSupport;->unpark(Ljava/lang/Thread;)V
-HSPLjava/util/concurrent/locks/ReadWriteLock;->readLock()Ljava/util/concurrent/locks/Lock;
-HSPLjava/util/concurrent/locks/ReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
 HSPLjava/util/concurrent/locks/ReentrantLock$FairSync;->lock()V
 HSPLjava/util/concurrent/locks/ReentrantLock$FairSync;->tryAcquire(I)Z
 HSPLjava/util/concurrent/locks/ReentrantLock$NonfairSync;->lock()V
@@ -50398,32 +41265,24 @@
 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;->getHoldCount()I
-HSPLjava/util/concurrent/locks/ReentrantLock;->hasWaiters(Ljava/util/concurrent/locks/Condition;)Z
 HSPLjava/util/concurrent/locks/ReentrantLock;->isHeldByCurrentThread()Z
 HSPLjava/util/concurrent/locks/ReentrantLock;->lock()V
 HSPLjava/util/concurrent/locks/ReentrantLock;->lockInterruptibly()V
 HSPLjava/util/concurrent/locks/ReentrantLock;->newCondition()Ljava/util/concurrent/locks/Condition;
 HSPLjava/util/concurrent/locks/ReentrantLock;->tryLock()Z
-HSPLjava/util/concurrent/locks/ReentrantLock;->tryLock(JLjava/util/concurrent/TimeUnit;)Z
 HSPLjava/util/concurrent/locks/ReentrantLock;->unlock()V
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$FairSync;->readerShouldBlock()Z
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$FairSync;->writerShouldBlock()Z
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync;->readerShouldBlock()Z
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$NonfairSync;->writerShouldBlock()Z
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;->lock()V
-HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;->lockInterruptibly()V
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$ReadLock;->unlock()V
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->fullTryAcquireShared(Ljava/lang/Thread;)I
-HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->readerShouldBlock()Z
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->tryAcquire(I)Z
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->tryAcquireShared(I)I
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->tryRelease(I)Z
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->tryReleaseShared(I)Z
-HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$Sync;->writerShouldBlock()Z
-HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->isHeldByCurrentThread()Z
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->lock()V
-HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->lockInterruptibly()V
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;->unlock()V
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock;-><init>()V
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock;-><init>(Z)V
@@ -50432,27 +41291,22 @@
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/Lock;
 HSPLjava/util/concurrent/locks/ReentrantReadWriteLock;->writeLock()Ljava/util/concurrent/locks/ReentrantReadWriteLock$WriteLock;
 HSPLjava/util/function/-$$Lambda$BinaryOperator$V_WUclL0kAOZvMw9EtWtwAvmNJc;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-HSPLjava/util/function/-$$Lambda$BinaryOperator$WKN0kahVeFfmJEk_tKszY8tRayo;->apply(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/function/-$$Lambda$DoubleUnaryOperator$i7wtM_8Ous-CB32HCfZ4usZ4zaQ;-><init>()V
 HSPLjava/util/function/-$$Lambda$DoubleUnaryOperator$i7wtM_8Ous-CB32HCfZ4usZ4zaQ;->applyAsDouble(D)D
-HSPLjava/util/function/-$$Lambda$Function$T8wYIfMRq5hbW0Q4qNkHIIrI-BA;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/function/-$$Lambda$Function$1mm3dZ9IMG2T6zAULCCEh3eoHSY;-><init>()V
+HSPLjava/util/function/-$$Lambda$Function$1mm3dZ9IMG2T6zAULCCEh3eoHSY;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/function/-$$Lambda$Predicate$17UUIF1CH_K9duk0ChtjSwOycuM;->test(Ljava/lang/Object;)Z
-HSPLjava/util/function/BiPredicate;->test(Ljava/lang/Object;Ljava/lang/Object;)Z
-HSPLjava/util/function/Consumer;->accept(Ljava/lang/Object;)V
-HSPLjava/util/function/DoubleSupplier;->getAsDouble()D
 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;->andThen(Ljava/util/function/Function;)Ljava/util/function/Function;
-HSPLjava/util/function/IntSupplier;->getAsInt()I
-HSPLjava/util/function/LongConsumer;->accept(J)V
-HSPLjava/util/function/LongSupplier;->getAsLong()J
-HSPLjava/util/function/Predicate;->and(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
+HSPLjava/util/function/Function;->identity()Ljava/util/function/Function;
+HSPLjava/util/function/Predicate;->negate()Ljava/util/function/Predicate;
 HSPLjava/util/function/Predicate;->or(Ljava/util/function/Predicate;)Ljava/util/function/Predicate;
-HSPLjava/util/function/Supplier;->get()Ljava/lang/Object;
 HSPLjava/util/jar/Attributes$Name;-><init>(Ljava/lang/String;)V
 HSPLjava/util/jar/Attributes$Name;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/jar/Attributes$Name;->hashCode()I
 HSPLjava/util/jar/Attributes$Name;->toString()Ljava/lang/String;
+HSPLjava/util/jar/Attributes;-><init>()V
+HSPLjava/util/jar/Attributes;-><init>(I)V
 HSPLjava/util/jar/Attributes;->entrySet()Ljava/util/Set;
 HSPLjava/util/jar/Attributes;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/jar/Attributes;->getValue(Ljava/lang/String;)Ljava/lang/String;
@@ -50461,11 +41315,7 @@
 HSPLjava/util/jar/Attributes;->putValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/util/jar/Attributes;->read(Ljava/util/jar/Manifest$FastInputStream;[B)V
 HSPLjava/util/jar/Attributes;->size()I
-HSPLjava/util/jar/JarFile$JarEntryIterator;->hasMoreElements()Z
-HSPLjava/util/jar/JarFile$JarEntryIterator;->hasNext()Z
-HSPLjava/util/jar/JarFile;-><init>(Ljava/io/File;)V
 HSPLjava/util/jar/JarFile;-><init>(Ljava/lang/String;)V
-HSPLjava/util/jar/JarFile;->entries()Ljava/util/Enumeration;
 HSPLjava/util/jar/JarFile;->getBytes(Ljava/util/zip/ZipEntry;)[B
 HSPLjava/util/jar/JarFile;->getEntry(Ljava/lang/String;)Ljava/util/zip/ZipEntry;
 HSPLjava/util/jar/JarFile;->getInputStream(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
@@ -50496,6 +41346,7 @@
 HSPLjava/util/jar/Manifest;->getMainAttributes()Ljava/util/jar/Attributes;
 HSPLjava/util/jar/Manifest;->parseName([BI)Ljava/lang/String;
 HSPLjava/util/jar/Manifest;->read(Ljava/io/InputStream;)V
+HSPLjava/util/logging/ErrorManager;-><init>()V
 HSPLjava/util/logging/FileHandler$MeteredStream;->flush()V
 HSPLjava/util/logging/FileHandler$MeteredStream;->write([BII)V
 HSPLjava/util/logging/FileHandler;-><init>(Ljava/lang/String;IIZ)V
@@ -50505,19 +41356,15 @@
 HSPLjava/util/logging/FileHandler;->openFiles()V
 HSPLjava/util/logging/FileHandler;->publish(Ljava/util/logging/LogRecord;)V
 HSPLjava/util/logging/Formatter;-><init>()V
-HSPLjava/util/logging/Formatter;->format(Ljava/util/logging/LogRecord;)Ljava/lang/String;
 HSPLjava/util/logging/Formatter;->formatMessage(Ljava/util/logging/LogRecord;)Ljava/lang/String;
 HSPLjava/util/logging/Formatter;->getHead(Ljava/util/logging/Handler;)Ljava/lang/String;
 HSPLjava/util/logging/Handler;-><init>()V
 HSPLjava/util/logging/Handler;->checkPermission()V
-HSPLjava/util/logging/Handler;->close()V
-HSPLjava/util/logging/Handler;->flush()V
 HSPLjava/util/logging/Handler;->getEncoding()Ljava/lang/String;
 HSPLjava/util/logging/Handler;->getFilter()Ljava/util/logging/Filter;
 HSPLjava/util/logging/Handler;->getFormatter()Ljava/util/logging/Formatter;
 HSPLjava/util/logging/Handler;->getLevel()Ljava/util/logging/Level;
 HSPLjava/util/logging/Handler;->isLoggable(Ljava/util/logging/LogRecord;)Z
-HSPLjava/util/logging/Handler;->publish(Ljava/util/logging/LogRecord;)V
 HSPLjava/util/logging/Handler;->setEncoding(Ljava/lang/String;)V
 HSPLjava/util/logging/Handler;->setErrorManager(Ljava/util/logging/ErrorManager;)V
 HSPLjava/util/logging/Handler;->setFilter(Ljava/util/logging/Filter;)V
@@ -50530,7 +41377,6 @@
 HSPLjava/util/logging/Level;-><init>(Ljava/lang/String;ILjava/lang/String;Z)V
 HSPLjava/util/logging/Level;->equals(Ljava/lang/Object;)Z
 HSPLjava/util/logging/Level;->findLevel(Ljava/lang/String;)Ljava/util/logging/Level;
-HSPLjava/util/logging/Level;->hashCode()I
 HSPLjava/util/logging/Level;->intValue()I
 HSPLjava/util/logging/LogManager$1;-><init>()V
 HSPLjava/util/logging/LogManager$1;->run()Ljava/lang/Object;
@@ -50541,9 +41387,8 @@
 HSPLjava/util/logging/LogManager$5;->run()Ljava/lang/Object;
 HSPLjava/util/logging/LogManager$LogNode;->walkAndSetParent(Ljava/util/logging/Logger;)V
 HSPLjava/util/logging/LogManager$LoggerContext$1;->run()Ljava/lang/Void;
-HSPLjava/util/logging/LogManager$LoggerContext;->addLocalLogger(Ljava/util/logging/Logger;Ljava/util/logging/LogManager;)Z
+HSPLjava/util/logging/LogManager$LoggerContext;->addLocalLogger(Ljava/util/logging/Logger;)Z
 HSPLjava/util/logging/LogManager$LoggerContext;->addLocalLogger(Ljava/util/logging/Logger;Z)Z
-HSPLjava/util/logging/LogManager$LoggerContext;->addLocalLogger(Ljava/util/logging/Logger;ZLjava/util/logging/LogManager;)Z
 HSPLjava/util/logging/LogManager$LoggerContext;->ensureAllDefaultLoggers(Ljava/util/logging/Logger;)V
 HSPLjava/util/logging/LogManager$LoggerContext;->ensureDefaultLogger(Ljava/util/logging/Logger;)V
 HSPLjava/util/logging/LogManager$LoggerContext;->findLogger(Ljava/lang/String;)Ljava/util/logging/Logger;
@@ -50554,14 +41399,11 @@
 HSPLjava/util/logging/LogManager$LoggerWeakRef;->dispose()V
 HSPLjava/util/logging/LogManager$RootLogger;->accessCheckedHandlers()[Ljava/util/logging/Handler;
 HSPLjava/util/logging/LogManager$RootLogger;->addHandler(Ljava/util/logging/Handler;)V
-HSPLjava/util/logging/LogManager$RootLogger;->removeHandler(Ljava/util/logging/Handler;)V
-HSPLjava/util/logging/LogManager$SystemLoggerContext;->demandLogger(Ljava/lang/String;Ljava/lang/String;)Ljava/util/logging/Logger;
 HSPLjava/util/logging/LogManager;-><init>(Ljava/lang/Void;)V
 HSPLjava/util/logging/LogManager;->addLogger(Ljava/util/logging/Logger;)Z
 HSPLjava/util/logging/LogManager;->checkPermission()V
 HSPLjava/util/logging/LogManager;->contexts()Ljava/util/List;
 HSPLjava/util/logging/LogManager;->demandLogger(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;)Ljava/util/logging/Logger;
-HSPLjava/util/logging/LogManager;->demandSystemLogger(Ljava/lang/String;Ljava/lang/String;)Ljava/util/logging/Logger;
 HSPLjava/util/logging/LogManager;->ensureLogManagerInitialized()V
 HSPLjava/util/logging/LogManager;->getBooleanProperty(Ljava/lang/String;Z)Z
 HSPLjava/util/logging/LogManager;->getFilterProperty(Ljava/lang/String;Ljava/util/logging/Filter;)Ljava/util/logging/Filter;
@@ -50594,12 +41436,10 @@
 HSPLjava/util/logging/LogRecord;->setMessage(Ljava/lang/String;)V
 HSPLjava/util/logging/LogRecord;->setMillis(J)V
 HSPLjava/util/logging/LogRecord;->setThrown(Ljava/lang/Throwable;)V
-HSPLjava/util/logging/Logger$1;->run()Ljava/util/ResourceBundle;
 HSPLjava/util/logging/Logger$LoggerBundle;-><init>(Ljava/lang/String;Ljava/util/ResourceBundle;Ljava/util/logging/Logger$1;)V
 HSPLjava/util/logging/Logger;-><init>(Ljava/lang/String;)V
 HSPLjava/util/logging/Logger;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Class;Ljava/util/logging/LogManager;Z)V
 HSPLjava/util/logging/Logger;->accessCheckedHandlers()[Ljava/util/logging/Handler;
-HSPLjava/util/logging/Logger;->addHandler(Ljava/util/logging/Handler;)V
 HSPLjava/util/logging/Logger;->doSetParent(Ljava/util/logging/Logger;)V
 HSPLjava/util/logging/Logger;->findResourceBundle(Ljava/lang/String;Z)Ljava/util/ResourceBundle;
 HSPLjava/util/logging/Logger;->getEffectiveLoggerBundle()Ljava/util/logging/Logger$LoggerBundle;
@@ -50611,8 +41451,8 @@
 HSPLjava/util/logging/Logger;->getResourceBundleName()Ljava/lang/String;
 HSPLjava/util/logging/Logger;->getUseParentHandlers()Z
 HSPLjava/util/logging/Logger;->isLoggable(Ljava/util/logging/Level;)Z
-HSPLjava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;)V
-HSPLjava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
+HSPLjava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Object;)V
+HSPLjava/util/logging/Logger;->log(Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
 HSPLjava/util/logging/Logger;->log(Ljava/util/logging/LogRecord;)V
 HSPLjava/util/logging/Logger;->logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLjava/util/logging/Logger;->logp(Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;)V
@@ -50622,14 +41462,10 @@
 HSPLjava/util/logging/Logger;->setLevel(Ljava/util/logging/Level;)V
 HSPLjava/util/logging/Logger;->setLogManager(Ljava/util/logging/LogManager;)V
 HSPLjava/util/logging/Logger;->setParent(Ljava/util/logging/Logger;)V
-HSPLjava/util/logging/Logger;->setUseParentHandlers(Z)V
 HSPLjava/util/logging/Logger;->setupResourceInfo(Ljava/lang/String;Ljava/lang/Class;)V
 HSPLjava/util/logging/Logger;->updateEffectiveLevel()V
-HSPLjava/util/logging/Logger;->warning(Ljava/lang/String;)V
 HSPLjava/util/logging/LoggingProxyImpl;-><init>()V
-HSPLjava/util/logging/LoggingProxyImpl;->getLogger(Ljava/lang/String;)Ljava/lang/Object;
 HSPLjava/util/logging/LoggingProxyImpl;->getProperty(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/util/logging/LoggingProxyImpl;->parseLevel(Ljava/lang/String;)Ljava/lang/Object;
 HSPLjava/util/logging/StreamHandler;->configure()V
 HSPLjava/util/logging/StreamHandler;->flush()V
 HSPLjava/util/logging/StreamHandler;->flushAndClose()V
@@ -50637,52 +41473,9 @@
 HSPLjava/util/logging/StreamHandler;->publish(Ljava/util/logging/LogRecord;)V
 HSPLjava/util/logging/StreamHandler;->setEncoding(Ljava/lang/String;)V
 HSPLjava/util/logging/StreamHandler;->setOutputStream(Ljava/io/OutputStream;)V
-HSPLjava/util/prefs/AbstractPreferences;->childSpi(Ljava/lang/String;)Ljava/util/prefs/AbstractPreferences;
-HSPLjava/util/prefs/AbstractPreferences;->childrenNamesSpi()[Ljava/lang/String;
-HSPLjava/util/prefs/AbstractPreferences;->flushSpi()V
-HSPLjava/util/prefs/AbstractPreferences;->getSpi(Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/util/prefs/AbstractPreferences;->keysSpi()[Ljava/lang/String;
-HSPLjava/util/prefs/AbstractPreferences;->putSpi(Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/util/prefs/AbstractPreferences;->removeNodeSpi()V
-HSPLjava/util/prefs/AbstractPreferences;->removeSpi(Ljava/lang/String;)V
-HSPLjava/util/prefs/AbstractPreferences;->syncSpi()V
 HSPLjava/util/prefs/FileSystemPreferences$3;-><init>()V
-HSPLjava/util/prefs/Preferences;->absolutePath()Ljava/lang/String;
-HSPLjava/util/prefs/Preferences;->addNodeChangeListener(Ljava/util/prefs/NodeChangeListener;)V
-HSPLjava/util/prefs/Preferences;->addPreferenceChangeListener(Ljava/util/prefs/PreferenceChangeListener;)V
-HSPLjava/util/prefs/Preferences;->childrenNames()[Ljava/lang/String;
-HSPLjava/util/prefs/Preferences;->clear()V
-HSPLjava/util/prefs/Preferences;->exportNode(Ljava/io/OutputStream;)V
-HSPLjava/util/prefs/Preferences;->exportSubtree(Ljava/io/OutputStream;)V
-HSPLjava/util/prefs/Preferences;->findPreferencesFactory()Ljava/util/prefs/PreferencesFactory;
-HSPLjava/util/prefs/Preferences;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLjava/util/prefs/Preferences;->getBoolean(Ljava/lang/String;Z)Z
-HSPLjava/util/prefs/Preferences;->getByteArray(Ljava/lang/String;[B)[B
-HSPLjava/util/prefs/Preferences;->getDouble(Ljava/lang/String;D)D
-HSPLjava/util/prefs/Preferences;->getFloat(Ljava/lang/String;F)F
-HSPLjava/util/prefs/Preferences;->getInt(Ljava/lang/String;I)I
-HSPLjava/util/prefs/Preferences;->getLong(Ljava/lang/String;J)J
-HSPLjava/util/prefs/Preferences;->keys()[Ljava/lang/String;
-HSPLjava/util/prefs/Preferences;->name()Ljava/lang/String;
-HSPLjava/util/prefs/Preferences;->node(Ljava/lang/String;)Ljava/util/prefs/Preferences;
-HSPLjava/util/prefs/Preferences;->nodeExists(Ljava/lang/String;)Z
-HSPLjava/util/prefs/Preferences;->parent()Ljava/util/prefs/Preferences;
-HSPLjava/util/prefs/Preferences;->put(Ljava/lang/String;Ljava/lang/String;)V
-HSPLjava/util/prefs/Preferences;->putBoolean(Ljava/lang/String;Z)V
-HSPLjava/util/prefs/Preferences;->putByteArray(Ljava/lang/String;[B)V
-HSPLjava/util/prefs/Preferences;->putDouble(Ljava/lang/String;D)V
-HSPLjava/util/prefs/Preferences;->putFloat(Ljava/lang/String;F)V
-HSPLjava/util/prefs/Preferences;->putInt(Ljava/lang/String;I)V
-HSPLjava/util/prefs/Preferences;->putLong(Ljava/lang/String;J)V
-HSPLjava/util/prefs/Preferences;->remove(Ljava/lang/String;)V
-HSPLjava/util/prefs/Preferences;->removeNodeChangeListener(Ljava/util/prefs/NodeChangeListener;)V
-HSPLjava/util/prefs/Preferences;->removePreferenceChangeListener(Ljava/util/prefs/PreferenceChangeListener;)V
-HSPLjava/util/prefs/Preferences;->toString()Ljava/lang/String;
-HSPLjava/util/prefs/PreferencesFactory;->systemRoot()Ljava/util/prefs/Preferences;
-HSPLjava/util/prefs/PreferencesFactory;->userRoot()Ljava/util/prefs/Preferences;
+HSPLjava/util/prefs/Preferences;->factory()Ljava/util/prefs/PreferencesFactory;
 HSPLjava/util/regex/Matcher;->appendEvaluated(Ljava/lang/StringBuffer;Ljava/lang/String;)V
-HSPLjava/util/regex/Matcher;->appendReplacement(Ljava/lang/StringBuffer;Ljava/lang/String;)Ljava/util/regex/Matcher;
-HSPLjava/util/regex/Matcher;->appendTail(Ljava/lang/StringBuffer;)Ljava/lang/StringBuffer;
 HSPLjava/util/regex/Matcher;->end()I
 HSPLjava/util/regex/Matcher;->end(I)I
 HSPLjava/util/regex/Matcher;->find()Z
@@ -50693,11 +41486,8 @@
 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;->requireEnd()Z
-HSPLjava/util/regex/Matcher;->reset()Ljava/util/regex/Matcher;
 HSPLjava/util/regex/Matcher;->reset(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
 HSPLjava/util/regex/Matcher;->reset(Ljava/lang/CharSequence;II)Ljava/util/regex/Matcher;
 HSPLjava/util/regex/Matcher;->resetForInput()V
@@ -50713,23 +41503,26 @@
 HSPLjava/util/regex/Pattern;->fastSplit(Ljava/lang/String;Ljava/lang/String;I)[Ljava/lang/String;
 HSPLjava/util/regex/Pattern;->matcher(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
 HSPLjava/util/regex/Pattern;->matches(Ljava/lang/String;Ljava/lang/CharSequence;)Z
-HSPLjava/util/regex/Pattern;->pattern()Ljava/lang/String;
 HSPLjava/util/regex/Pattern;->quote(Ljava/lang/String;)Ljava/lang/String;
 HSPLjava/util/regex/Pattern;->split(Ljava/lang/CharSequence;)[Ljava/lang/String;
 HSPLjava/util/regex/Pattern;->split(Ljava/lang/CharSequence;I)[Ljava/lang/String;
-HSPLjava/util/regex/Pattern;->toString()Ljava/lang/String;
+HSPLjava/util/stream/-$$Lambda$Abl7XfE0Z4AgkViLas9vhsO9mjw;->accept(Ljava/lang/Object;)V
 HSPLjava/util/stream/-$$Lambda$Collectors$0y_EMl863H_U7B4kxyGscB4vAag;-><init>()V
 HSPLjava/util/stream/-$$Lambda$Collectors$F7-we3W7I2plNaGHqh_d2lzmvho;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLjava/util/stream/-$$Lambda$Collectors$SMVdf7W0ks2OOmS3zJw7DHc-Nhc;-><init>()V
 HSPLjava/util/stream/-$$Lambda$Collectors$f0IPpRuyw9HZC8FIP30mNjUUUhw;-><init>()V
-HSPLjava/util/stream/-$$Lambda$Collectors$f0IPpRuyw9HZC8FIP30mNjUUUhw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/stream/-$$Lambda$Collectors$f68RHYk8qNU7alEHPPrPoFuCJO4;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+HSPLjava/util/stream/-$$Lambda$Collectors$iab6bVO3ydceISRiUEq_MRHYzoU;-><init>()V
+HSPLjava/util/stream/-$$Lambda$Collectors$kXZFmh6iM6xf9lJWimhd2Ef6NEs;-><init>()V
+HSPLjava/util/stream/-$$Lambda$Collectors$nKlT6uFghrTzWO44dlFAJFeRr34;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLjava/util/stream/-$$Lambda$Collectors$pzPeDl3rCgtNVSeZPHZk5f2se60;->get()Ljava/lang/Object;
 HSPLjava/util/stream/-$$Lambda$Drw47GGUtPrz9CklhlT0v26u-5c;-><init>()V
 HSPLjava/util/stream/-$$Lambda$Drw47GGUtPrz9CklhlT0v26u-5c;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLjava/util/stream/-$$Lambda$IntPipeline$R-E7oGjPWog3HR9X-8MdhU1ZGRE;-><init>()V
 HSPLjava/util/stream/-$$Lambda$IntPipeline$R-E7oGjPWog3HR9X-8MdhU1ZGRE;->applyAsInt(Ljava/lang/Object;)I
 HSPLjava/util/stream/-$$Lambda$IntPipeline$ozedusDMANE_B8aDthWCd1L-na4;-><init>()V
+HSPLjava/util/stream/-$$Lambda$MatchOps$_LtFSpSMfVwoPv-8p_1cMGGcaHA;->get()Ljava/lang/Object;
+HSPLjava/util/stream/-$$Lambda$MatchOps$emK14UX33I4-nqH2o5l7hLEVAy8;->get()Ljava/lang/Object;
 HSPLjava/util/stream/-$$Lambda$ReferencePipeline$mk6xSsLZAKvG89IyN8pzBoM6otw;-><init>()V
 HSPLjava/util/stream/-$$Lambda$ReferencePipeline$mk6xSsLZAKvG89IyN8pzBoM6otw;->applyAsLong(Ljava/lang/Object;)J
 HSPLjava/util/stream/-$$Lambda$bjSXRjZ5UYwAzkW-XPKwqbJ9BRQ;-><init>()V
@@ -50741,50 +41534,47 @@
 HSPLjava/util/stream/-$$Lambda$okJigbB9kSn__oCZ5Do9uFNyF6A;-><init>()V
 HSPLjava/util/stream/-$$Lambda$okJigbB9kSn__oCZ5Do9uFNyF6A;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLjava/util/stream/-$$Lambda$ono9Bp0lMrKbIRfAAYdycY0_qag;-><init>()V
+HSPLjava/util/stream/-$$Lambda$ono9Bp0lMrKbIRfAAYdycY0_qag;->applyAsInt(II)I
 HSPLjava/util/stream/-$$Lambda$opQ7JxjVCJzqzgTxGU3LVtqC7is;-><init>()V
 HSPLjava/util/stream/-$$Lambda$opQ7JxjVCJzqzgTxGU3LVtqC7is;->get()Ljava/lang/Object;
 HSPLjava/util/stream/-$$Lambda$r-8H_R_mZJjp9wd0XTLoEAHMNQ0;-><init>()V
 HSPLjava/util/stream/-$$Lambda$r-8H_R_mZJjp9wd0XTLoEAHMNQ0;->get()Ljava/lang/Object;
+HSPLjava/util/stream/-$$Lambda$ry7iWszBr7beYy31SdRxibDyciQ;-><init>()V
+HSPLjava/util/stream/-$$Lambda$ry7iWszBr7beYy31SdRxibDyciQ;->get()Ljava/lang/Object;
+HSPLjava/util/stream/-$$Lambda$sKPaOkcQePGTRevrwmKVVhCTmTo;-><init>()V
+HSPLjava/util/stream/-$$Lambda$sKPaOkcQePGTRevrwmKVVhCTmTo;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLjava/util/stream/-$$Lambda$uJ6CkL42Bk73jN5EzP0Fx7o1eVA;-><init>()V
 HSPLjava/util/stream/-$$Lambda$uJ6CkL42Bk73jN5EzP0Fx7o1eVA;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 HSPLjava/util/stream/-$$Lambda$wFoiz-RiPqYBPe0X4aSzbj2iL3g;-><init>()V
 HSPLjava/util/stream/-$$Lambda$wFoiz-RiPqYBPe0X4aSzbj2iL3g;->apply(I)Ljava/lang/Object;
 HSPLjava/util/stream/-$$Lambda$yTqQxkqu88ZhKI6fWaTTLwOLF60;-><init>()V
 HSPLjava/util/stream/-$$Lambda$yTqQxkqu88ZhKI6fWaTTLwOLF60;->get()Ljava/lang/Object;
+HSPLjava/util/stream/AbstractPipeline;-><init>(Ljava/util/Spliterator;IZ)V
 HSPLjava/util/stream/AbstractPipeline;-><init>(Ljava/util/stream/AbstractPipeline;I)V
 HSPLjava/util/stream/AbstractPipeline;->close()V
 HSPLjava/util/stream/AbstractPipeline;->copyInto(Ljava/util/stream/Sink;Ljava/util/Spliterator;)V
 HSPLjava/util/stream/AbstractPipeline;->evaluate(Ljava/util/stream/TerminalOp;)Ljava/lang/Object;
 HSPLjava/util/stream/AbstractPipeline;->evaluateToArrayNode(Ljava/util/function/IntFunction;)Ljava/util/stream/Node;
-HSPLjava/util/stream/AbstractPipeline;->evaluateToNode(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;ZLjava/util/function/IntFunction;)Ljava/util/stream/Node;
-HSPLjava/util/stream/AbstractPipeline;->forEachWithCancel(Ljava/util/Spliterator;Ljava/util/stream/Sink;)V
-HSPLjava/util/stream/AbstractPipeline;->getOutputShape()Ljava/util/stream/StreamShape;
-HSPLjava/util/stream/AbstractPipeline;->lazySpliterator(Ljava/util/function/Supplier;)Ljava/util/Spliterator;
-HSPLjava/util/stream/AbstractPipeline;->makeNodeBuilder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
+HSPLjava/util/stream/AbstractPipeline;->isParallel()Z
 HSPLjava/util/stream/AbstractPipeline;->sequential()Ljava/util/stream/BaseStream;
 HSPLjava/util/stream/AbstractPipeline;->sourceSpliterator(I)Ljava/util/Spliterator;
 HSPLjava/util/stream/AbstractPipeline;->sourceStageSpliterator()Ljava/util/Spliterator;
-HSPLjava/util/stream/AbstractPipeline;->wrap(Ljava/util/stream/PipelineHelper;Ljava/util/function/Supplier;Z)Ljava/util/Spliterator;
+HSPLjava/util/stream/AbstractPipeline;->spliterator()Ljava/util/Spliterator;
 HSPLjava/util/stream/AbstractPipeline;->wrapAndCopyInto(Ljava/util/stream/Sink;Ljava/util/Spliterator;)Ljava/util/stream/Sink;
-HSPLjava/util/stream/AbstractSpinedBuffer;->clear()V
-HSPLjava/util/stream/BaseStream;->iterator()Ljava/util/Iterator;
-HSPLjava/util/stream/BaseStream;->unordered()Ljava/util/stream/BaseStream;
 HSPLjava/util/stream/Collector$Characteristics;-><init>(Ljava/lang/String;I)V
 HSPLjava/util/stream/Collector$Characteristics;->values()[Ljava/util/stream/Collector$Characteristics;
-HSPLjava/util/stream/Collector;->accumulator()Ljava/util/function/BiConsumer;
-HSPLjava/util/stream/Collector;->characteristics()Ljava/util/Set;
-HSPLjava/util/stream/Collector;->combiner()Ljava/util/function/BinaryOperator;
-HSPLjava/util/stream/Collector;->finisher()Ljava/util/function/Function;
-HSPLjava/util/stream/Collector;->supplier()Ljava/util/function/Supplier;
+HSPLjava/util/stream/Collector;->of(Ljava/util/function/Supplier;Ljava/util/function/BiConsumer;Ljava/util/function/BinaryOperator;Ljava/util/function/Function;[Ljava/util/stream/Collector$Characteristics;)Ljava/util/stream/Collector;
 HSPLjava/util/stream/Collectors$CollectorImpl;->accumulator()Ljava/util/function/BiConsumer;
 HSPLjava/util/stream/Collectors$CollectorImpl;->characteristics()Ljava/util/Set;
 HSPLjava/util/stream/Collectors$CollectorImpl;->combiner()Ljava/util/function/BinaryOperator;
 HSPLjava/util/stream/Collectors$CollectorImpl;->finisher()Ljava/util/function/Function;
 HSPLjava/util/stream/Collectors$CollectorImpl;->supplier()Ljava/util/function/Supplier;
-HSPLjava/util/stream/Collectors;->collectingAndThen(Ljava/util/stream/Collector;Ljava/util/function/Function;)Ljava/util/stream/Collector;
+HSPLjava/util/stream/Collectors;->groupingBy(Ljava/util/function/Function;)Ljava/util/stream/Collector;
 HSPLjava/util/stream/Collectors;->groupingBy(Ljava/util/function/Function;Ljava/util/function/Supplier;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;
 HSPLjava/util/stream/Collectors;->joining(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
+HSPLjava/util/stream/Collectors;->toCollection(Ljava/util/function/Supplier;)Ljava/util/stream/Collector;
 HSPLjava/util/stream/Collectors;->toList()Ljava/util/stream/Collector;
+HSPLjava/util/stream/Collectors;->toMap(Ljava/util/function/Function;Ljava/util/function/Function;)Ljava/util/stream/Collector;
 HSPLjava/util/stream/Collectors;->toSet()Ljava/util/stream/Collector;
 HSPLjava/util/stream/DistinctOps$1$2;->accept(Ljava/lang/Object;)V
 HSPLjava/util/stream/DistinctOps$1$2;->begin(J)V
@@ -50795,36 +41585,52 @@
 HSPLjava/util/stream/FindOps$FindSink$OfRef;->get()Ljava/lang/Object;
 HSPLjava/util/stream/FindOps$FindSink;->accept(Ljava/lang/Object;)V
 HSPLjava/util/stream/FindOps$FindSink;->cancellationRequested()Z
+HSPLjava/util/stream/ForEachOps$ForEachOp$OfRef;->accept(Ljava/lang/Object;)V
+HSPLjava/util/stream/ForEachOps$ForEachOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Object;
+HSPLjava/util/stream/ForEachOps$ForEachOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Void;
+HSPLjava/util/stream/ForEachOps$ForEachOp;->get()Ljava/lang/Void;
+HSPLjava/util/stream/ForEachOps$ForEachOp;->getOpFlags()I
 HSPLjava/util/stream/IntPipeline$4$1;->accept(I)V
 HSPLjava/util/stream/IntPipeline$4;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
 HSPLjava/util/stream/IntPipeline$StatelessOp;->opIsStateful()Z
-HSPLjava/util/stream/IntPipeline;->boxed()Ljava/util/stream/Stream;
+HSPLjava/util/stream/IntPipeline;->anyMatch(Ljava/util/function/IntPredicate;)Z
 HSPLjava/util/stream/IntPipeline;->distinct()Ljava/util/stream/IntStream;
+HSPLjava/util/stream/IntPipeline;->forEachWithCancel(Ljava/util/Spliterator;Ljava/util/stream/Sink;)V
 HSPLjava/util/stream/IntPipeline;->makeNodeBuilder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
+HSPLjava/util/stream/IntPipeline;->mapToObj(Ljava/util/function/IntFunction;)Ljava/util/stream/Stream;
 HSPLjava/util/stream/IntPipeline;->sum()I
 HSPLjava/util/stream/IntPipeline;->toArray()[I
-HSPLjava/util/stream/IntStream;->of([I)Ljava/util/stream/IntStream;
 HSPLjava/util/stream/LongPipeline$StatelessOp;->opIsStateful()Z
+HSPLjava/util/stream/MatchOps$1MatchSink;->accept(Ljava/lang/Object;)V
+HSPLjava/util/stream/MatchOps$BooleanTerminalSink;->cancellationRequested()Z
+HSPLjava/util/stream/MatchOps$BooleanTerminalSink;->getAndClearState()Z
+HSPLjava/util/stream/MatchOps$MatchKind;-><init>(Ljava/lang/String;IZZ)V
+HSPLjava/util/stream/MatchOps$MatchOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Object;
+HSPLjava/util/stream/MatchOps$MatchOp;->getOpFlags()I
 HSPLjava/util/stream/Node;->getChildCount()I
+HSPLjava/util/stream/Nodes$ArrayNode;->asArray(Ljava/util/function/IntFunction;)[Ljava/lang/Object;
 HSPLjava/util/stream/Nodes$EmptyNode$OfDouble;-><init>()V
 HSPLjava/util/stream/Nodes$EmptyNode$OfInt;-><init>()V
 HSPLjava/util/stream/Nodes$EmptyNode$OfLong;-><init>()V
 HSPLjava/util/stream/Nodes$EmptyNode$OfRef;-><init>(Ljava/util/stream/Nodes$1;)V
+HSPLjava/util/stream/Nodes$FixedNodeBuilder;->accept(Ljava/lang/Object;)V
+HSPLjava/util/stream/Nodes$FixedNodeBuilder;->begin(J)V
+HSPLjava/util/stream/Nodes$FixedNodeBuilder;->build()Ljava/util/stream/Node;
+HSPLjava/util/stream/Nodes$FixedNodeBuilder;->end()V
+HSPLjava/util/stream/Nodes$IntArrayNode;->asPrimitiveArray()Ljava/lang/Object;
+HSPLjava/util/stream/Nodes$IntArrayNode;->asPrimitiveArray()[I
+HSPLjava/util/stream/Nodes$IntFixedNodeBuilder;->accept(I)V
+HSPLjava/util/stream/Nodes$IntFixedNodeBuilder;->begin(J)V
+HSPLjava/util/stream/Nodes$IntFixedNodeBuilder;->build()Ljava/util/stream/Node$OfInt;
+HSPLjava/util/stream/Nodes$IntFixedNodeBuilder;->build()Ljava/util/stream/Node;
+HSPLjava/util/stream/Nodes$IntFixedNodeBuilder;->end()V
 HSPLjava/util/stream/Nodes$IntSpinedNodeBuilder;->accept(I)V
 HSPLjava/util/stream/Nodes$IntSpinedNodeBuilder;->asPrimitiveArray()Ljava/lang/Object;
 HSPLjava/util/stream/Nodes$IntSpinedNodeBuilder;->begin(J)V
 HSPLjava/util/stream/Nodes$IntSpinedNodeBuilder;->build()Ljava/util/stream/Node;
 HSPLjava/util/stream/Nodes$IntSpinedNodeBuilder;->end()V
+HSPLjava/util/stream/Nodes;->flatten(Ljava/util/stream/Node;Ljava/util/function/IntFunction;)Ljava/util/stream/Node;
 HSPLjava/util/stream/Nodes;->flattenInt(Ljava/util/stream/Node$OfInt;)Ljava/util/stream/Node$OfInt;
-HSPLjava/util/stream/PipelineHelper;->copyInto(Ljava/util/stream/Sink;Ljava/util/Spliterator;)V
-HSPLjava/util/stream/PipelineHelper;->copyIntoWithCancel(Ljava/util/stream/Sink;Ljava/util/Spliterator;)V
-HSPLjava/util/stream/PipelineHelper;->evaluate(Ljava/util/Spliterator;ZLjava/util/function/IntFunction;)Ljava/util/stream/Node;
-HSPLjava/util/stream/PipelineHelper;->exactOutputSizeIfKnown(Ljava/util/Spliterator;)J
-HSPLjava/util/stream/PipelineHelper;->getSourceShape()Ljava/util/stream/StreamShape;
-HSPLjava/util/stream/PipelineHelper;->getStreamAndOpFlags()I
-HSPLjava/util/stream/PipelineHelper;->wrapAndCopyInto(Ljava/util/stream/Sink;Ljava/util/Spliterator;)Ljava/util/stream/Sink;
-HSPLjava/util/stream/PipelineHelper;->wrapSink(Ljava/util/stream/Sink;)Ljava/util/stream/Sink;
-HSPLjava/util/stream/PipelineHelper;->wrapSpliterator(Ljava/util/Spliterator;)Ljava/util/Spliterator;
 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
@@ -50841,6 +41647,7 @@
 HSPLjava/util/stream/ReduceOps$3ReducingSink;->begin(J)V
 HSPLjava/util/stream/ReduceOps$5;->makeSink()Ljava/util/stream/ReduceOps$5ReducingSink;
 HSPLjava/util/stream/ReduceOps$5;->makeSink()Ljava/util/stream/ReduceOps$AccumulatingSink;
+HSPLjava/util/stream/ReduceOps$5ReducingSink;->accept(I)V
 HSPLjava/util/stream/ReduceOps$5ReducingSink;->begin(J)V
 HSPLjava/util/stream/ReduceOps$5ReducingSink;->get()Ljava/lang/Integer;
 HSPLjava/util/stream/ReduceOps$5ReducingSink;->get()Ljava/lang/Object;
@@ -50850,10 +41657,9 @@
 HSPLjava/util/stream/ReduceOps$8ReducingSink;->begin(J)V
 HSPLjava/util/stream/ReduceOps$8ReducingSink;->get()Ljava/lang/Long;
 HSPLjava/util/stream/ReduceOps$8ReducingSink;->get()Ljava/lang/Object;
-HSPLjava/util/stream/ReduceOps$AccumulatingSink;->combine(Ljava/util/stream/ReduceOps$AccumulatingSink;)V
 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/ReduceOps$ReduceOp;->makeSink()Ljava/util/stream/ReduceOps$AccumulatingSink;
 HSPLjava/util/stream/ReferencePipeline$2$1;->accept(Ljava/lang/Object;)V
 HSPLjava/util/stream/ReferencePipeline$2$1;->begin(J)V
 HSPLjava/util/stream/ReferencePipeline$2;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
@@ -50869,27 +41675,30 @@
 HSPLjava/util/stream/ReferencePipeline$Head;->forEach(Ljava/util/function/Consumer;)V
 HSPLjava/util/stream/ReferencePipeline$StatefulOp;->opIsStateful()Z
 HSPLjava/util/stream/ReferencePipeline$StatelessOp;->opIsStateful()Z
+HSPLjava/util/stream/ReferencePipeline;-><init>(Ljava/util/Spliterator;IZ)V
+HSPLjava/util/stream/ReferencePipeline;->anyMatch(Ljava/util/function/Predicate;)Z
 HSPLjava/util/stream/ReferencePipeline;->collect(Ljava/util/stream/Collector;)Ljava/lang/Object;
 HSPLjava/util/stream/ReferencePipeline;->count()J
-HSPLjava/util/stream/ReferencePipeline;->distinct()Ljava/util/stream/Stream;
 HSPLjava/util/stream/ReferencePipeline;->filter(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
-HSPLjava/util/stream/ReferencePipeline;->findAny()Ljava/util/Optional;
 HSPLjava/util/stream/ReferencePipeline;->findFirst()Ljava/util/Optional;
 HSPLjava/util/stream/ReferencePipeline;->flatMap(Ljava/util/function/Function;)Ljava/util/stream/Stream;
+HSPLjava/util/stream/ReferencePipeline;->forEach(Ljava/util/function/Consumer;)V
 HSPLjava/util/stream/ReferencePipeline;->forEachWithCancel(Ljava/util/Spliterator;Ljava/util/stream/Sink;)V
 HSPLjava/util/stream/ReferencePipeline;->limit(J)Ljava/util/stream/Stream;
+HSPLjava/util/stream/ReferencePipeline;->makeNodeBuilder(JLjava/util/function/IntFunction;)Ljava/util/stream/Node$Builder;
 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;->min(Ljava/util/Comparator;)Ljava/util/Optional;
+HSPLjava/util/stream/ReferencePipeline;->noneMatch(Ljava/util/function/Predicate;)Z
 HSPLjava/util/stream/ReferencePipeline;->reduce(Ljava/lang/Object;Ljava/util/function/BinaryOperator;)Ljava/lang/Object;
+HSPLjava/util/stream/ReferencePipeline;->reduce(Ljava/util/function/BinaryOperator;)Ljava/util/Optional;
+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
 HSPLjava/util/stream/Sink$ChainedInt;->end()V
 HSPLjava/util/stream/Sink$ChainedReference;->begin(J)V
 HSPLjava/util/stream/Sink$ChainedReference;->cancellationRequested()Z
 HSPLjava/util/stream/Sink$ChainedReference;->end()V
-HSPLjava/util/stream/Sink$OfInt;->accept(I)V
-HSPLjava/util/stream/Sink$OfLong;->accept(J)V
 HSPLjava/util/stream/Sink;->begin(J)V
 HSPLjava/util/stream/Sink;->cancellationRequested()Z
 HSPLjava/util/stream/Sink;->end()V
@@ -50899,20 +41708,23 @@
 HSPLjava/util/stream/SliceOps$1$1;->cancellationRequested()Z
 HSPLjava/util/stream/SliceOps$1;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
 HSPLjava/util/stream/SliceOps;->makeRef(Ljava/util/stream/AbstractPipeline;JJ)Ljava/util/stream/Stream;
+HSPLjava/util/stream/SortedOps$OfRef;->opWrapSink(ILjava/util/stream/Sink;)Ljava/util/stream/Sink;
+HSPLjava/util/stream/SortedOps$RefSortingSink;->accept(Ljava/lang/Object;)V
+HSPLjava/util/stream/SortedOps$RefSortingSink;->begin(J)V
+HSPLjava/util/stream/SortedOps$RefSortingSink;->end()V
+HSPLjava/util/stream/SortedOps$SizedRefSortingSink;->accept(Ljava/lang/Object;)V
+HSPLjava/util/stream/SortedOps$SizedRefSortingSink;->begin(J)V
+HSPLjava/util/stream/SortedOps$SizedRefSortingSink;->end()V
 HSPLjava/util/stream/SpinedBuffer$OfInt;->arrayLength(Ljava/lang/Object;)I
 HSPLjava/util/stream/SpinedBuffer$OfInt;->arrayLength([I)I
-HSPLjava/util/stream/SpinedBuffer$OfPrimitive;->arrayForEach(Ljava/lang/Object;IILjava/lang/Object;)V
-HSPLjava/util/stream/SpinedBuffer$OfPrimitive;->arrayLength(Ljava/lang/Object;)I
+HSPLjava/util/stream/SpinedBuffer$OfInt;->count()J
 HSPLjava/util/stream/SpinedBuffer$OfPrimitive;->capacity()J
 HSPLjava/util/stream/SpinedBuffer$OfPrimitive;->copyInto(Ljava/lang/Object;I)V
-HSPLjava/util/stream/SpinedBuffer$OfPrimitive;->count()J
 HSPLjava/util/stream/SpinedBuffer$OfPrimitive;->ensureCapacity(J)V
-HSPLjava/util/stream/SpinedBuffer$OfPrimitive;->forEach(Ljava/util/function/Consumer;)V
-HSPLjava/util/stream/SpinedBuffer$OfPrimitive;->iterator()Ljava/util/Iterator;
-HSPLjava/util/stream/SpinedBuffer$OfPrimitive;->newArray(I)Ljava/lang/Object;
-HSPLjava/util/stream/SpinedBuffer$OfPrimitive;->newArrayArray(I)[Ljava/lang/Object;
 HSPLjava/util/stream/SpinedBuffer$OfPrimitive;->preAccept()V
+HSPLjava/util/stream/Stream;->concat(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)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;
 HSPLjava/util/stream/StreamOpFlag$MaskBuilder;->clear(Ljava/util/stream/StreamOpFlag$Type;)Ljava/util/stream/StreamOpFlag$MaskBuilder;
 HSPLjava/util/stream/StreamOpFlag$MaskBuilder;->mask(Ljava/util/stream/StreamOpFlag$Type;Ljava/lang/Integer;)Ljava/util/stream/StreamOpFlag$MaskBuilder;
@@ -50927,11 +41739,14 @@
 HSPLjava/util/stream/StreamShape;-><init>(Ljava/lang/String;I)V
 HSPLjava/util/stream/StreamSpliterators$InfiniteSupplyingSpliterator$OfRef;->tryAdvance(Ljava/util/function/Consumer;)Z
 HSPLjava/util/stream/StreamSpliterators$InfiniteSupplyingSpliterator;->characteristics()I
-HSPLjava/util/stream/TerminalOp;->evaluateSequential(Ljava/util/stream/PipelineHelper;Ljava/util/Spliterator;)Ljava/lang/Object;
+HSPLjava/util/stream/Streams$ConcatSpliterator;->characteristics()I
+HSPLjava/util/stream/Streams$ConcatSpliterator;->estimateSize()J
+HSPLjava/util/stream/Streams$ConcatSpliterator;->forEachRemaining(Ljava/util/function/Consumer;)V
 HSPLjava/util/stream/TerminalOp;->getOpFlags()I
 HSPLjava/util/zip/Adler32;-><init>()V
 HSPLjava/util/zip/Adler32;->getValue()J
 HSPLjava/util/zip/Adler32;->reset()V
+HSPLjava/util/zip/Adler32;->update(I)V
 HSPLjava/util/zip/Adler32;->update([B)V
 HSPLjava/util/zip/Adler32;->update([BII)V
 HSPLjava/util/zip/CRC32;-><init>()V
@@ -50941,9 +41756,7 @@
 HSPLjava/util/zip/CRC32;->update([B)V
 HSPLjava/util/zip/CRC32;->update([BII)V
 HSPLjava/util/zip/CheckedInputStream;->read()I
-HSPLjava/util/zip/Deflater;-><init>()V
 HSPLjava/util/zip/Deflater;-><init>(IZ)V
-HSPLjava/util/zip/Deflater;->deflate([B)I
 HSPLjava/util/zip/Deflater;->deflate([BII)I
 HSPLjava/util/zip/Deflater;->deflate([BIII)I
 HSPLjava/util/zip/Deflater;->end()V
@@ -50954,14 +41767,10 @@
 HSPLjava/util/zip/Deflater;->getBytesRead()J
 HSPLjava/util/zip/Deflater;->getTotalIn()I
 HSPLjava/util/zip/Deflater;->needsInput()Z
-HSPLjava/util/zip/Deflater;->setInput([B)V
 HSPLjava/util/zip/Deflater;->setInput([BII)V
-HSPLjava/util/zip/DeflaterOutputStream;-><init>(Ljava/io/OutputStream;)V
-HSPLjava/util/zip/DeflaterOutputStream;-><init>(Ljava/io/OutputStream;Ljava/util/zip/Deflater;)V
 HSPLjava/util/zip/DeflaterOutputStream;-><init>(Ljava/io/OutputStream;Ljava/util/zip/Deflater;IZ)V
 HSPLjava/util/zip/DeflaterOutputStream;->close()V
 HSPLjava/util/zip/DeflaterOutputStream;->deflate()V
-HSPLjava/util/zip/DeflaterOutputStream;->finish()V
 HSPLjava/util/zip/DeflaterOutputStream;->flush()V
 HSPLjava/util/zip/DeflaterOutputStream;->write([BII)V
 HSPLjava/util/zip/GZIPInputStream;-><init>(Ljava/io/InputStream;)V
@@ -50972,10 +41781,8 @@
 HSPLjava/util/zip/GZIPInputStream;->readTrailer()Z
 HSPLjava/util/zip/GZIPInputStream;->readUByte(Ljava/io/InputStream;)I
 HSPLjava/util/zip/GZIPOutputStream;-><init>(Ljava/io/OutputStream;)V
-HSPLjava/util/zip/GZIPOutputStream;-><init>(Ljava/io/OutputStream;I)V
 HSPLjava/util/zip/GZIPOutputStream;->finish()V
 HSPLjava/util/zip/GZIPOutputStream;->write([BII)V
-HSPLjava/util/zip/Inflater;-><init>()V
 HSPLjava/util/zip/Inflater;-><init>(Z)V
 HSPLjava/util/zip/Inflater;->end()V
 HSPLjava/util/zip/Inflater;->ended()Z
@@ -50985,30 +41792,26 @@
 HSPLjava/util/zip/Inflater;->getBytesWritten()J
 HSPLjava/util/zip/Inflater;->getRemaining()I
 HSPLjava/util/zip/Inflater;->getTotalOut()I
-HSPLjava/util/zip/Inflater;->inflate([B)I
 HSPLjava/util/zip/Inflater;->inflate([BII)I
 HSPLjava/util/zip/Inflater;->needsDictionary()Z
 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;)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
 HSPLjava/util/zip/InflaterInputStream;->read([BII)I
-HSPLjava/util/zip/InflaterInputStream;->skip(J)J
 HSPLjava/util/zip/ZStreamRef;->address()J
 HSPLjava/util/zip/ZStreamRef;->clear()V
 HSPLjava/util/zip/ZipCoder;->getBytes(Ljava/lang/String;)[B
 HSPLjava/util/zip/ZipCoder;->toString([BI)Ljava/lang/String;
+HSPLjava/util/zip/ZipEntry;-><init>(Ljava/lang/String;Ljava/lang/String;JJJII[BJ)V
 HSPLjava/util/zip/ZipEntry;-><init>(Ljava/util/zip/ZipEntry;)V
 HSPLjava/util/zip/ZipEntry;->getCompressedSize()J
-HSPLjava/util/zip/ZipEntry;->getCrc()J
+HSPLjava/util/zip/ZipEntry;->getDataOffset()J
 HSPLjava/util/zip/ZipEntry;->getMethod()I
 HSPLjava/util/zip/ZipEntry;->getName()Ljava/lang/String;
 HSPLjava/util/zip/ZipEntry;->getSize()J
-HSPLjava/util/zip/ZipEntry;->getTime()J
 HSPLjava/util/zip/ZipEntry;->isDirectory()Z
 HSPLjava/util/zip/ZipEntry;->setExtra0([BZ)V
 HSPLjava/util/zip/ZipFile$ZipEntryIterator;->hasMoreElements()Z
@@ -51026,7 +41829,6 @@
 HSPLjava/util/zip/ZipFile$ZipFileInputStream;->read()I
 HSPLjava/util/zip/ZipFile$ZipFileInputStream;->read([BII)I
 HSPLjava/util/zip/ZipFile$ZipFileInputStream;->size()J
-HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;)V
 HSPLjava/util/zip/ZipFile;-><init>(Ljava/io/File;ILjava/nio/charset/Charset;)V
 HSPLjava/util/zip/ZipFile;-><init>(Ljava/lang/String;)V
 HSPLjava/util/zip/ZipFile;->access$200(Ljava/util/zip/ZipFile;)V
@@ -51039,8 +41841,6 @@
 HSPLjava/util/zip/ZipFile;->getInputStream(Ljava/util/zip/ZipEntry;)Ljava/io/InputStream;
 HSPLjava/util/zip/ZipFile;->getZipEntry(Ljava/lang/String;J)Ljava/util/zip/ZipEntry;
 HSPLjava/util/zip/ZipFile;->releaseInflater(Ljava/util/zip/Inflater;)V
-HSPLjava/util/zip/ZipFile;->size()I
-HSPLjava/util/zip/ZipUtils;->dosToJavaTime(J)J
 HSPLjavax/crypto/Cipher$InitType;-><init>(Ljava/lang/String;I)V
 HSPLjavax/crypto/Cipher$InitType;->values()[Ljavax/crypto/Cipher$InitType;
 HSPLjavax/crypto/Cipher$NeedToSet;-><init>(Ljava/lang/String;I)V
@@ -51049,14 +41849,10 @@
 HSPLjavax/crypto/Cipher;->checkCipherState()V
 HSPLjavax/crypto/Cipher;->chooseProvider(Ljavax/crypto/Cipher$InitType;ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V
 HSPLjavax/crypto/Cipher;->createCipher(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Cipher;
-HSPLjavax/crypto/Cipher;->doFinal()[B
 HSPLjavax/crypto/Cipher;->doFinal([B)[B
 HSPLjavax/crypto/Cipher;->doFinal([BI)I
 HSPLjavax/crypto/Cipher;->doFinal([BII)[B
 HSPLjavax/crypto/Cipher;->doFinal([BII[BI)I
-HSPLjavax/crypto/Cipher;->getAlgorithm()Ljava/lang/String;
-HSPLjavax/crypto/Cipher;->getBlockSize()I
-HSPLjavax/crypto/Cipher;->getIV()[B
 HSPLjavax/crypto/Cipher;->getInstance(Ljava/lang/String;)Ljavax/crypto/Cipher;
 HSPLjavax/crypto/Cipher;->getOutputSize(I)I
 HSPLjavax/crypto/Cipher;->init(ILjava/security/Key;)V
@@ -51065,8 +41861,6 @@
 HSPLjavax/crypto/Cipher;->tokenizeTransformation(Ljava/lang/String;)[Ljava/lang/String;
 HSPLjavax/crypto/Cipher;->tryCombinations(Ljavax/crypto/Cipher$InitParams;Ljava/security/Provider;[Ljava/lang/String;)Ljavax/crypto/Cipher$CipherSpiAndProvider;
 HSPLjavax/crypto/Cipher;->tryTransformWithProvider(Ljavax/crypto/Cipher$InitParams;[Ljava/lang/String;Ljavax/crypto/Cipher$NeedToSet;Ljava/security/Provider$Service;)Ljavax/crypto/Cipher$CipherSpiAndProvider;
-HSPLjavax/crypto/Cipher;->update([B)[B
-HSPLjavax/crypto/Cipher;->update([BII)[B
 HSPLjavax/crypto/Cipher;->update([BII[BI)I
 HSPLjavax/crypto/Cipher;->updateProviderIfNeeded()V
 HSPLjavax/crypto/CipherInputStream;-><init>(Ljava/io/InputStream;Ljavax/crypto/Cipher;)V
@@ -51074,41 +41868,17 @@
 HSPLjavax/crypto/CipherInputStream;->getMoreData()I
 HSPLjavax/crypto/CipherInputStream;->read()I
 HSPLjavax/crypto/CipherInputStream;->read([BII)I
-HSPLjavax/crypto/CipherOutputStream;-><init>(Ljava/io/OutputStream;Ljavax/crypto/Cipher;)V
-HSPLjavax/crypto/CipherOutputStream;->close()V
-HSPLjavax/crypto/CipherOutputStream;->flush()V
-HSPLjavax/crypto/CipherOutputStream;->write(I)V
-HSPLjavax/crypto/CipherOutputStream;->write([BII)V
 HSPLjavax/crypto/CipherSpi;-><init>()V
-HSPLjavax/crypto/CipherSpi;->engineDoFinal([BII)[B
-HSPLjavax/crypto/CipherSpi;->engineDoFinal([BII[BI)I
-HSPLjavax/crypto/CipherSpi;->engineGetBlockSize()I
-HSPLjavax/crypto/CipherSpi;->engineGetIV()[B
-HSPLjavax/crypto/CipherSpi;->engineGetOutputSize(I)I
-HSPLjavax/crypto/CipherSpi;->engineGetParameters()Ljava/security/AlgorithmParameters;
-HSPLjavax/crypto/CipherSpi;->engineInit(ILjava/security/Key;Ljava/security/AlgorithmParameters;Ljava/security/SecureRandom;)V
-HSPLjavax/crypto/CipherSpi;->engineInit(ILjava/security/Key;Ljava/security/SecureRandom;)V
-HSPLjavax/crypto/CipherSpi;->engineInit(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
-HSPLjavax/crypto/CipherSpi;->engineSetMode(Ljava/lang/String;)V
-HSPLjavax/crypto/CipherSpi;->engineSetPadding(Ljava/lang/String;)V
-HSPLjavax/crypto/CipherSpi;->engineUpdate([BII)[B
-HSPLjavax/crypto/CipherSpi;->engineUpdate([BII[BI)I
 HSPLjavax/crypto/KeyGenerator;-><init>(Ljava/lang/String;)V
 HSPLjavax/crypto/KeyGenerator;->generateKey()Ljavax/crypto/SecretKey;
 HSPLjavax/crypto/KeyGenerator;->getInstance(Ljava/lang/String;)Ljavax/crypto/KeyGenerator;
-HSPLjavax/crypto/KeyGenerator;->init(ILjava/security/SecureRandom;)V
 HSPLjavax/crypto/KeyGenerator;->nextSpi(Ljavax/crypto/KeyGeneratorSpi;Z)Ljavax/crypto/KeyGeneratorSpi;
 HSPLjavax/crypto/KeyGeneratorSpi;-><init>()V
-HSPLjavax/crypto/KeyGeneratorSpi;->engineGenerateKey()Ljavax/crypto/SecretKey;
-HSPLjavax/crypto/KeyGeneratorSpi;->engineInit(ILjava/security/SecureRandom;)V
-HSPLjavax/crypto/KeyGeneratorSpi;->engineInit(Ljava/security/SecureRandom;)V
-HSPLjavax/crypto/KeyGeneratorSpi;->engineInit(Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
 HSPLjavax/crypto/Mac;->chooseFirstProvider()V
 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;->getAlgorithm()Ljava/lang/String;
 HSPLjavax/crypto/Mac;->getInstance(Ljava/lang/String;)Ljavax/crypto/Mac;
 HSPLjavax/crypto/Mac;->getMacLength()I
 HSPLjavax/crypto/Mac;->init(Ljava/security/Key;)V
@@ -51116,354 +41886,30 @@
 HSPLjavax/crypto/Mac;->update(B)V
 HSPLjavax/crypto/Mac;->update([B)V
 HSPLjavax/crypto/MacSpi;-><init>()V
-HSPLjavax/crypto/MacSpi;->engineDoFinal()[B
-HSPLjavax/crypto/MacSpi;->engineGetMacLength()I
-HSPLjavax/crypto/MacSpi;->engineInit(Ljava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;)V
-HSPLjavax/crypto/MacSpi;->engineReset()V
-HSPLjavax/crypto/MacSpi;->engineUpdate(B)V
-HSPLjavax/crypto/MacSpi;->engineUpdate([BII)V
 HSPLjavax/crypto/SecretKeyFactory;-><init>(Ljava/lang/String;)V
 HSPLjavax/crypto/SecretKeyFactory;->generateSecret(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
 HSPLjavax/crypto/SecretKeyFactory;->getInstance(Ljava/lang/String;)Ljavax/crypto/SecretKeyFactory;
 HSPLjavax/crypto/SecretKeyFactory;->nextSpi(Ljavax/crypto/SecretKeyFactorySpi;)Ljavax/crypto/SecretKeyFactorySpi;
 HSPLjavax/crypto/SecretKeyFactorySpi;-><init>()V
-HSPLjavax/crypto/SecretKeyFactorySpi;->engineGenerateSecret(Ljava/security/spec/KeySpec;)Ljavax/crypto/SecretKey;
-HSPLjavax/crypto/SecretKeyFactorySpi;->engineGetKeySpec(Ljavax/crypto/SecretKey;Ljava/lang/Class;)Ljava/security/spec/KeySpec;
-HSPLjavax/crypto/SecretKeyFactorySpi;->engineTranslateKey(Ljavax/crypto/SecretKey;)Ljavax/crypto/SecretKey;
-HSPLjavax/crypto/interfaces/PBEKey;->getIterationCount()I
-HSPLjavax/crypto/interfaces/PBEKey;->getPassword()[C
-HSPLjavax/crypto/interfaces/PBEKey;->getSalt()[B
-HSPLjavax/crypto/spec/GCMParameterSpec;-><init>(I[B)V
-HSPLjavax/crypto/spec/GCMParameterSpec;->getIV()[B
-HSPLjavax/crypto/spec/GCMParameterSpec;->getTLen()I
-HSPLjavax/crypto/spec/GCMParameterSpec;->init(I[BII)V
 HSPLjavax/crypto/spec/IvParameterSpec;-><init>([B)V
 HSPLjavax/crypto/spec/IvParameterSpec;-><init>([BII)V
 HSPLjavax/crypto/spec/IvParameterSpec;->getIV()[B
-HSPLjavax/crypto/spec/PBEKeySpec;-><init>([C)V
+HSPLjavax/crypto/spec/OAEPParameterSpec;-><init>()V
 HSPLjavax/crypto/spec/PBEKeySpec;-><init>([C[BII)V
 HSPLjavax/crypto/spec/PBEKeySpec;->getIterationCount()I
 HSPLjavax/crypto/spec/PBEKeySpec;->getKeyLength()I
 HSPLjavax/crypto/spec/PBEKeySpec;->getPassword()[C
 HSPLjavax/crypto/spec/PBEKeySpec;->getSalt()[B
-HSPLjavax/crypto/spec/PBEParameterSpec;-><init>([BI)V
-HSPLjavax/crypto/spec/PBEParameterSpec;->getIterationCount()I
-HSPLjavax/crypto/spec/PBEParameterSpec;->getParameterSpec()Ljava/security/spec/AlgorithmParameterSpec;
-HSPLjavax/crypto/spec/PBEParameterSpec;->getSalt()[B
-HSPLjavax/crypto/spec/SecretKeySpec;-><init>([BIILjava/lang/String;)V
+HSPLjavax/crypto/spec/PSource$PSpecified;-><init>([B)V
 HSPLjavax/crypto/spec/SecretKeySpec;-><init>([BLjava/lang/String;)V
 HSPLjavax/crypto/spec/SecretKeySpec;->getAlgorithm()Ljava/lang/String;
 HSPLjavax/crypto/spec/SecretKeySpec;->getEncoded()[B
 HSPLjavax/crypto/spec/SecretKeySpec;->getFormat()Ljava/lang/String;
-HSPLjavax/microedition/khronos/egl/EGL10;->eglChooseConfig(Ljavax/microedition/khronos/egl/EGLDisplay;[I[Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z
-HSPLjavax/microedition/khronos/egl/EGL10;->eglCopyBuffers(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;Ljava/lang/Object;)Z
-HSPLjavax/microedition/khronos/egl/EGL10;->eglCreateContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljavax/microedition/khronos/egl/EGLContext;[I)Ljavax/microedition/khronos/egl/EGLContext;
-HSPLjavax/microedition/khronos/egl/EGL10;->eglCreatePbufferSurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;[I)Ljavax/microedition/khronos/egl/EGLSurface;
-HSPLjavax/microedition/khronos/egl/EGL10;->eglCreatePixmapSurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljava/lang/Object;[I)Ljavax/microedition/khronos/egl/EGLSurface;
-HSPLjavax/microedition/khronos/egl/EGL10;->eglCreateWindowSurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;Ljava/lang/Object;[I)Ljavax/microedition/khronos/egl/EGLSurface;
-HSPLjavax/microedition/khronos/egl/EGL10;->eglDestroyContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLContext;)Z
-HSPLjavax/microedition/khronos/egl/EGL10;->eglDestroySurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)Z
-HSPLjavax/microedition/khronos/egl/EGL10;->eglGetConfigAttrib(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z
-HSPLjavax/microedition/khronos/egl/EGL10;->eglGetConfigs(Ljavax/microedition/khronos/egl/EGLDisplay;[Ljavax/microedition/khronos/egl/EGLConfig;I[I)Z
-HSPLjavax/microedition/khronos/egl/EGL10;->eglGetCurrentContext()Ljavax/microedition/khronos/egl/EGLContext;
-HSPLjavax/microedition/khronos/egl/EGL10;->eglGetCurrentDisplay()Ljavax/microedition/khronos/egl/EGLDisplay;
-HSPLjavax/microedition/khronos/egl/EGL10;->eglGetCurrentSurface(I)Ljavax/microedition/khronos/egl/EGLSurface;
-HSPLjavax/microedition/khronos/egl/EGL10;->eglGetDisplay(Ljava/lang/Object;)Ljavax/microedition/khronos/egl/EGLDisplay;
-HSPLjavax/microedition/khronos/egl/EGL10;->eglGetError()I
-HSPLjavax/microedition/khronos/egl/EGL10;->eglInitialize(Ljavax/microedition/khronos/egl/EGLDisplay;[I)Z
-HSPLjavax/microedition/khronos/egl/EGL10;->eglMakeCurrent(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;Ljavax/microedition/khronos/egl/EGLSurface;Ljavax/microedition/khronos/egl/EGLContext;)Z
-HSPLjavax/microedition/khronos/egl/EGL10;->eglQueryContext(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLContext;I[I)Z
-HSPLjavax/microedition/khronos/egl/EGL10;->eglQueryString(Ljavax/microedition/khronos/egl/EGLDisplay;I)Ljava/lang/String;
-HSPLjavax/microedition/khronos/egl/EGL10;->eglQuerySurface(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;I[I)Z
-HSPLjavax/microedition/khronos/egl/EGL10;->eglReleaseThread()Z
-HSPLjavax/microedition/khronos/egl/EGL10;->eglSwapBuffers(Ljavax/microedition/khronos/egl/EGLDisplay;Ljavax/microedition/khronos/egl/EGLSurface;)Z
-HSPLjavax/microedition/khronos/egl/EGL10;->eglTerminate(Ljavax/microedition/khronos/egl/EGLDisplay;)Z
-HSPLjavax/microedition/khronos/egl/EGL10;->eglWaitGL()Z
-HSPLjavax/microedition/khronos/egl/EGL10;->eglWaitNative(ILjava/lang/Object;)Z
 HSPLjavax/microedition/khronos/egl/EGLContext;->getEGL()Ljavax/microedition/khronos/egl/EGL;
-HSPLjavax/microedition/khronos/egl/EGLContext;->getGL()Ljavax/microedition/khronos/opengles/GL;
-HSPLjavax/microedition/khronos/opengles/GL10;->glActiveTexture(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glAlphaFunc(IF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glAlphaFuncx(II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glBindTexture(II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glBlendFunc(II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glClear(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glClearColor(FFFF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glClearColorx(IIII)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glClearDepthf(F)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glClearDepthx(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glClearStencil(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glClientActiveTexture(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glColor4f(FFFF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glColor4x(IIII)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glColorMask(ZZZZ)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glColorPointer(IIILjava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glCompressedTexImage2D(IIIIIIILjava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glCompressedTexSubImage2D(IIIIIIIILjava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glCopyTexImage2D(IIIIIIII)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glCopyTexSubImage2D(IIIIIIII)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glCullFace(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glDeleteTextures(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glDeleteTextures(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glDepthFunc(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glDepthMask(Z)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glDepthRangef(FF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glDepthRangex(II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glDisable(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glDisableClientState(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glDrawArrays(III)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glDrawElements(IIILjava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glEnable(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glEnableClientState(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glFinish()V
-HSPLjavax/microedition/khronos/opengles/GL10;->glFlush()V
-HSPLjavax/microedition/khronos/opengles/GL10;->glFogf(IF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glFogfv(ILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glFogfv(I[FI)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glFogx(II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glFogxv(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glFogxv(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glFrontFace(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glFrustumf(FFFFFF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glFrustumx(IIIIII)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glGenTextures(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glGenTextures(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glGetError()I
-HSPLjavax/microedition/khronos/opengles/GL10;->glGetIntegerv(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glGetIntegerv(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glGetString(I)Ljava/lang/String;
-HSPLjavax/microedition/khronos/opengles/GL10;->glHint(II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLightModelf(IF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLightModelfv(ILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLightModelfv(I[FI)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLightModelx(II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLightModelxv(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLightModelxv(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLightf(IIF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLightfv(IILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLightfv(II[FI)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLightx(III)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLightxv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLightxv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLineWidth(F)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLineWidthx(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLoadIdentity()V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLoadMatrixf(Ljava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLoadMatrixf([FI)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLoadMatrixx(Ljava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLoadMatrixx([II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glLogicOp(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glMaterialf(IIF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glMaterialfv(IILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glMaterialfv(II[FI)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glMaterialx(III)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glMaterialxv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glMaterialxv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glMatrixMode(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glMultMatrixf(Ljava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glMultMatrixf([FI)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glMultMatrixx(Ljava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glMultMatrixx([II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glMultiTexCoord4f(IFFFF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glMultiTexCoord4x(IIIII)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glNormal3f(FFF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glNormal3x(III)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glNormalPointer(IILjava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glOrthof(FFFFFF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glOrthox(IIIIII)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glPixelStorei(II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glPointSize(F)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glPointSizex(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glPolygonOffset(FF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glPolygonOffsetx(II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glPopMatrix()V
-HSPLjavax/microedition/khronos/opengles/GL10;->glPushMatrix()V
-HSPLjavax/microedition/khronos/opengles/GL10;->glReadPixels(IIIIIILjava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glRotatef(FFFF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glRotatex(IIII)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glSampleCoverage(FZ)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glSampleCoveragex(IZ)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glScalef(FFF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glScalex(III)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glScissor(IIII)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glShadeModel(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glStencilFunc(III)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glStencilMask(I)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glStencilOp(III)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glTexCoordPointer(IIILjava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glTexEnvf(IIF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glTexEnvfv(IILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glTexEnvfv(II[FI)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glTexEnvx(III)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glTexEnvxv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glTexEnvxv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glTexImage2D(IIIIIIIILjava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glTexParameterf(IIF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glTexParameterx(III)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glTexSubImage2D(IIIIIIIILjava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glTranslatef(FFF)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glTranslatex(III)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glVertexPointer(IIILjava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL10;->glViewport(IIII)V
-HSPLjavax/microedition/khronos/opengles/GL10Ext;->glQueryMatrixxOES(Ljava/nio/IntBuffer;Ljava/nio/IntBuffer;)I
-HSPLjavax/microedition/khronos/opengles/GL10Ext;->glQueryMatrixxOES([II[II)I
-HSPLjavax/microedition/khronos/opengles/GL11;->glBindBuffer(II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glBufferData(IILjava/nio/Buffer;I)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glBufferSubData(IIILjava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glClipPlanef(ILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glClipPlanef(I[FI)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glClipPlanex(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glClipPlanex(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glColor4ub(BBBB)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glColorPointer(IIII)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glDeleteBuffers(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glDeleteBuffers(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glDrawElements(IIII)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGenBuffers(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGenBuffers(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetBooleanv(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetBooleanv(I[ZI)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetBufferParameteriv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetBufferParameteriv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetClipPlanef(ILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetClipPlanef(I[FI)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetClipPlanex(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetClipPlanex(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetFixedv(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetFixedv(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetFloatv(ILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetFloatv(I[FI)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetLightfv(IILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetLightfv(II[FI)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetLightxv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetLightxv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetMaterialfv(IILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetMaterialfv(II[FI)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetMaterialxv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetMaterialxv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetPointerv(I[Ljava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetTexEnviv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetTexEnviv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetTexEnvxv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetTexEnvxv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetTexParameterfv(IILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetTexParameterfv(II[FI)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetTexParameteriv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetTexParameteriv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetTexParameterxv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glGetTexParameterxv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glIsBuffer(I)Z
-HSPLjavax/microedition/khronos/opengles/GL11;->glIsEnabled(I)Z
-HSPLjavax/microedition/khronos/opengles/GL11;->glIsTexture(I)Z
-HSPLjavax/microedition/khronos/opengles/GL11;->glNormalPointer(III)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glPointParameterf(IF)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glPointParameterfv(ILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glPointParameterfv(I[FI)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glPointParameterx(II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glPointParameterxv(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glPointParameterxv(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glPointSizePointerOES(IILjava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glTexCoordPointer(IIII)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glTexEnvi(III)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glTexEnviv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glTexEnviv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glTexParameterfv(IILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glTexParameterfv(II[FI)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glTexParameteri(III)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glTexParameteriv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glTexParameteriv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glTexParameterxv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glTexParameterxv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11;->glVertexPointer(IIII)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glCurrentPaletteMatrixOES(I)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glDrawTexfOES(FFFFF)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glDrawTexfvOES(Ljava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glDrawTexfvOES([FI)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glDrawTexiOES(IIIII)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glDrawTexivOES(Ljava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glDrawTexivOES([II)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glDrawTexsOES(SSSSS)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glDrawTexsvOES(Ljava/nio/ShortBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glDrawTexsvOES([SI)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glDrawTexxOES(IIIII)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glDrawTexxvOES(Ljava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glDrawTexxvOES([II)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glEnable(I)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glEnableClientState(I)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glLoadPaletteFromModelViewMatrixOES()V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glMatrixIndexPointerOES(IIII)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glMatrixIndexPointerOES(IIILjava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glTexParameterfv(II[FI)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glWeightPointerOES(IIII)V
-HSPLjavax/microedition/khronos/opengles/GL11Ext;->glWeightPointerOES(IIILjava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glBindFramebufferOES(II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glBindRenderbufferOES(II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glBindTexture(II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glBlendEquation(I)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glBlendEquationSeparate(II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glBlendFuncSeparate(IIII)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glCheckFramebufferStatusOES(I)I
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glCompressedTexImage2D(IIIIIIILjava/nio/Buffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glCopyTexImage2D(IIIIIIII)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glDeleteFramebuffersOES(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glDeleteFramebuffersOES(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glDeleteRenderbuffersOES(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glDeleteRenderbuffersOES(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glEnable(I)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glFramebufferRenderbufferOES(IIII)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glFramebufferTexture2DOES(IIIII)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGenFramebuffersOES(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGenFramebuffersOES(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGenRenderbuffersOES(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGenRenderbuffersOES(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGenerateMipmapOES(I)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGetFramebufferAttachmentParameterivOES(IIILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGetFramebufferAttachmentParameterivOES(III[II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGetIntegerv(ILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGetIntegerv(I[II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGetRenderbufferParameterivOES(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGetRenderbufferParameterivOES(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGetTexGenfv(IILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGetTexGenfv(II[FI)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGetTexGeniv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGetTexGeniv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGetTexGenxv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glGetTexGenxv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glIsFramebufferOES(I)Z
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glIsRenderbufferOES(I)Z
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glRenderbufferStorageOES(IIII)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glStencilOp(III)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexEnvf(IIF)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexEnvfv(IILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexEnvfv(II[FI)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexEnvx(III)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexEnvxv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexEnvxv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexGenf(IIF)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexGenfv(IILjava/nio/FloatBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexGenfv(II[FI)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexGeni(III)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexGeniv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexGeniv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexGenx(III)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexGenxv(IILjava/nio/IntBuffer;)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexGenxv(II[II)V
-HSPLjavax/microedition/khronos/opengles/GL11ExtensionPack;->glTexParameterf(IIF)V
 HSPLjavax/net/DefaultSocketFactory;->createSocket()Ljava/net/Socket;
-HSPLjavax/net/ServerSocketFactory;->createServerSocket(I)Ljava/net/ServerSocket;
-HSPLjavax/net/ServerSocketFactory;->createServerSocket(II)Ljava/net/ServerSocket;
-HSPLjavax/net/ServerSocketFactory;->createServerSocket(IILjava/net/InetAddress;)Ljava/net/ServerSocket;
-HSPLjavax/net/SocketFactory;->createSocket(Ljava/lang/String;I)Ljava/net/Socket;
-HSPLjavax/net/SocketFactory;->createSocket(Ljava/lang/String;ILjava/net/InetAddress;I)Ljava/net/Socket;
-HSPLjavax/net/SocketFactory;->createSocket(Ljava/net/InetAddress;I)Ljava/net/Socket;
-HSPLjavax/net/SocketFactory;->createSocket(Ljava/net/InetAddress;ILjava/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/ExtendedSSLSession;->getLocalSupportedSignatureAlgorithms()[Ljava/lang/String;
-HSPLjavax/net/ssl/ExtendedSSLSession;->getPeerSupportedSignatureAlgorithms()[Ljava/lang/String;
-HSPLjavax/net/ssl/HandshakeCompletedEvent;-><init>(Ljavax/net/ssl/SSLSocket;Ljavax/net/ssl/SSLSession;)V
-HSPLjavax/net/ssl/HandshakeCompletedEvent;->getSession()Ljavax/net/ssl/SSLSession;
-HSPLjavax/net/ssl/HandshakeCompletedListener;->handshakeCompleted(Ljavax/net/ssl/HandshakeCompletedEvent;)V
 HSPLjavax/net/ssl/HttpsURLConnection;-><init>(Ljava/net/URL;)V
 HSPLjavax/net/ssl/HttpsURLConnection;->getDefaultHostnameVerifier()Ljavax/net/ssl/HostnameVerifier;
 HSPLjavax/net/ssl/HttpsURLConnection;->getDefaultSSLSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
@@ -51473,9 +41919,7 @@
 HSPLjavax/net/ssl/KeyManagerFactory;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/KeyManagerFactory;
 HSPLjavax/net/ssl/KeyManagerFactory;->getKeyManagers()[Ljavax/net/ssl/KeyManager;
 HSPLjavax/net/ssl/KeyManagerFactory;->init(Ljava/security/KeyStore;[C)V
-HSPLjavax/net/ssl/KeyManagerFactorySpi;->engineGetKeyManagers()[Ljavax/net/ssl/KeyManager;
-HSPLjavax/net/ssl/KeyManagerFactorySpi;->engineInit(Ljava/security/KeyStore;[C)V
-HSPLjavax/net/ssl/KeyManagerFactorySpi;->engineInit(Ljavax/net/ssl/ManagerFactoryParameters;)V
+HSPLjavax/net/ssl/KeyManagerFactorySpi;-><init>()V
 HSPLjavax/net/ssl/SNIHostName;-><init>(Ljava/lang/String;)V
 HSPLjavax/net/ssl/SNIHostName;->checkHostName()V
 HSPLjavax/net/ssl/SNIServerName;-><init>(I[B)V
@@ -51489,116 +41933,27 @@
 HSPLjavax/net/ssl/SSLContext;->init([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
 HSPLjavax/net/ssl/SSLContext;->setDefault(Ljavax/net/ssl/SSLContext;)V
 HSPLjavax/net/ssl/SSLContextSpi;-><init>()V
-HSPLjavax/net/ssl/SSLContextSpi;->engineCreateSSLEngine()Ljavax/net/ssl/SSLEngine;
-HSPLjavax/net/ssl/SSLContextSpi;->engineCreateSSLEngine(Ljava/lang/String;I)Ljavax/net/ssl/SSLEngine;
-HSPLjavax/net/ssl/SSLContextSpi;->engineGetClientSessionContext()Ljavax/net/ssl/SSLSessionContext;
-HSPLjavax/net/ssl/SSLContextSpi;->engineGetServerSessionContext()Ljavax/net/ssl/SSLSessionContext;
-HSPLjavax/net/ssl/SSLContextSpi;->engineGetServerSocketFactory()Ljavax/net/ssl/SSLServerSocketFactory;
-HSPLjavax/net/ssl/SSLContextSpi;->engineGetSocketFactory()Ljavax/net/ssl/SSLSocketFactory;
-HSPLjavax/net/ssl/SSLContextSpi;->engineInit([Ljavax/net/ssl/KeyManager;[Ljavax/net/ssl/TrustManager;Ljava/security/SecureRandom;)V
-HSPLjavax/net/ssl/SSLEngine;-><init>()V
-HSPLjavax/net/ssl/SSLEngine;->beginHandshake()V
-HSPLjavax/net/ssl/SSLEngine;->closeInbound()V
-HSPLjavax/net/ssl/SSLEngine;->closeOutbound()V
-HSPLjavax/net/ssl/SSLEngine;->getDelegatedTask()Ljava/lang/Runnable;
-HSPLjavax/net/ssl/SSLEngine;->getEnableSessionCreation()Z
-HSPLjavax/net/ssl/SSLEngine;->getEnabledCipherSuites()[Ljava/lang/String;
-HSPLjavax/net/ssl/SSLEngine;->getEnabledProtocols()[Ljava/lang/String;
-HSPLjavax/net/ssl/SSLEngine;->getHandshakeStatus()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
-HSPLjavax/net/ssl/SSLEngine;->getNeedClientAuth()Z
-HSPLjavax/net/ssl/SSLEngine;->getSession()Ljavax/net/ssl/SSLSession;
-HSPLjavax/net/ssl/SSLEngine;->getSupportedCipherSuites()[Ljava/lang/String;
-HSPLjavax/net/ssl/SSLEngine;->getSupportedProtocols()[Ljava/lang/String;
-HSPLjavax/net/ssl/SSLEngine;->getUseClientMode()Z
-HSPLjavax/net/ssl/SSLEngine;->getWantClientAuth()Z
-HSPLjavax/net/ssl/SSLEngine;->isInboundDone()Z
-HSPLjavax/net/ssl/SSLEngine;->isOutboundDone()Z
-HSPLjavax/net/ssl/SSLEngine;->setEnableSessionCreation(Z)V
-HSPLjavax/net/ssl/SSLEngine;->setEnabledCipherSuites([Ljava/lang/String;)V
-HSPLjavax/net/ssl/SSLEngine;->setEnabledProtocols([Ljava/lang/String;)V
-HSPLjavax/net/ssl/SSLEngine;->setNeedClientAuth(Z)V
-HSPLjavax/net/ssl/SSLEngine;->setUseClientMode(Z)V
-HSPLjavax/net/ssl/SSLEngine;->setWantClientAuth(Z)V
 HSPLjavax/net/ssl/SSLEngine;->wrap([Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljavax/net/ssl/SSLEngineResult;
 HSPLjavax/net/ssl/SSLEngineResult$HandshakeStatus;-><init>(Ljava/lang/String;I)V
 HSPLjavax/net/ssl/SSLEngineResult$HandshakeStatus;->values()[Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
 HSPLjavax/net/ssl/SSLEngineResult$Status;-><init>(Ljava/lang/String;I)V
 HSPLjavax/net/ssl/SSLEngineResult$Status;->values()[Ljavax/net/ssl/SSLEngineResult$Status;
 HSPLjavax/net/ssl/SSLEngineResult;-><init>(Ljavax/net/ssl/SSLEngineResult$Status;Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;II)V
-HSPLjavax/net/ssl/SSLEngineResult;->bytesConsumed()I
-HSPLjavax/net/ssl/SSLEngineResult;->bytesProduced()I
-HSPLjavax/net/ssl/SSLEngineResult;->getHandshakeStatus()Ljavax/net/ssl/SSLEngineResult$HandshakeStatus;
-HSPLjavax/net/ssl/SSLEngineResult;->getStatus()Ljavax/net/ssl/SSLEngineResult$Status;
-HSPLjavax/net/ssl/SSLException;-><init>(Ljava/lang/String;)V
 HSPLjavax/net/ssl/SSLParameters;->getEndpointIdentificationAlgorithm()Ljava/lang/String;
 HSPLjavax/net/ssl/SSLParameters;->setEndpointIdentificationAlgorithm(Ljava/lang/String;)V
 HSPLjavax/net/ssl/SSLParameters;->setServerNames(Ljava/util/List;)V
 HSPLjavax/net/ssl/SSLParameters;->setUseCipherSuitesOrder(Z)V
 HSPLjavax/net/ssl/SSLServerSocketFactory;-><init>()V
-HSPLjavax/net/ssl/SSLServerSocketFactory;->getDefaultCipherSuites()[Ljava/lang/String;
-HSPLjavax/net/ssl/SSLServerSocketFactory;->getSupportedCipherSuites()[Ljava/lang/String;
-HSPLjavax/net/ssl/SSLSession;->getApplicationBufferSize()I
-HSPLjavax/net/ssl/SSLSession;->getCipherSuite()Ljava/lang/String;
-HSPLjavax/net/ssl/SSLSession;->getCreationTime()J
-HSPLjavax/net/ssl/SSLSession;->getId()[B
-HSPLjavax/net/ssl/SSLSession;->getLastAccessedTime()J
-HSPLjavax/net/ssl/SSLSession;->getLocalCertificates()[Ljava/security/cert/Certificate;
-HSPLjavax/net/ssl/SSLSession;->getLocalPrincipal()Ljava/security/Principal;
-HSPLjavax/net/ssl/SSLSession;->getPacketBufferSize()I
-HSPLjavax/net/ssl/SSLSession;->getPeerCertificateChain()[Ljavax/security/cert/X509Certificate;
-HSPLjavax/net/ssl/SSLSession;->getPeerCertificates()[Ljava/security/cert/Certificate;
-HSPLjavax/net/ssl/SSLSession;->getPeerHost()Ljava/lang/String;
-HSPLjavax/net/ssl/SSLSession;->getPeerPort()I
-HSPLjavax/net/ssl/SSLSession;->getPeerPrincipal()Ljava/security/Principal;
-HSPLjavax/net/ssl/SSLSession;->getProtocol()Ljava/lang/String;
-HSPLjavax/net/ssl/SSLSession;->getSessionContext()Ljavax/net/ssl/SSLSessionContext;
-HSPLjavax/net/ssl/SSLSession;->getValue(Ljava/lang/String;)Ljava/lang/Object;
-HSPLjavax/net/ssl/SSLSession;->getValueNames()[Ljava/lang/String;
-HSPLjavax/net/ssl/SSLSession;->invalidate()V
-HSPLjavax/net/ssl/SSLSession;->isValid()Z
-HSPLjavax/net/ssl/SSLSession;->putValue(Ljava/lang/String;Ljava/lang/Object;)V
-HSPLjavax/net/ssl/SSLSession;->removeValue(Ljava/lang/String;)V
-HSPLjavax/net/ssl/SSLSessionContext;->getIds()Ljava/util/Enumeration;
-HSPLjavax/net/ssl/SSLSessionContext;->getSession([B)Ljavax/net/ssl/SSLSession;
-HSPLjavax/net/ssl/SSLSessionContext;->getSessionCacheSize()I
-HSPLjavax/net/ssl/SSLSessionContext;->getSessionTimeout()I
-HSPLjavax/net/ssl/SSLSessionContext;->setSessionCacheSize(I)V
-HSPLjavax/net/ssl/SSLSessionContext;->setSessionTimeout(I)V
 HSPLjavax/net/ssl/SSLSocket;-><init>()V
-HSPLjavax/net/ssl/SSLSocket;-><init>(Ljava/lang/String;I)V
-HSPLjavax/net/ssl/SSLSocket;->getEnableSessionCreation()Z
-HSPLjavax/net/ssl/SSLSocket;->getEnabledCipherSuites()[Ljava/lang/String;
-HSPLjavax/net/ssl/SSLSocket;->getEnabledProtocols()[Ljava/lang/String;
-HSPLjavax/net/ssl/SSLSocket;->getNeedClientAuth()Z
 HSPLjavax/net/ssl/SSLSocket;->getSSLParameters()Ljavax/net/ssl/SSLParameters;
-HSPLjavax/net/ssl/SSLSocket;->getSession()Ljavax/net/ssl/SSLSession;
-HSPLjavax/net/ssl/SSLSocket;->getSupportedCipherSuites()[Ljava/lang/String;
-HSPLjavax/net/ssl/SSLSocket;->getSupportedProtocols()[Ljava/lang/String;
-HSPLjavax/net/ssl/SSLSocket;->getUseClientMode()Z
-HSPLjavax/net/ssl/SSLSocket;->getWantClientAuth()Z
-HSPLjavax/net/ssl/SSLSocket;->setEnableSessionCreation(Z)V
-HSPLjavax/net/ssl/SSLSocket;->setEnabledCipherSuites([Ljava/lang/String;)V
-HSPLjavax/net/ssl/SSLSocket;->setEnabledProtocols([Ljava/lang/String;)V
-HSPLjavax/net/ssl/SSLSocket;->setNeedClientAuth(Z)V
-HSPLjavax/net/ssl/SSLSocket;->setUseClientMode(Z)V
-HSPLjavax/net/ssl/SSLSocket;->setWantClientAuth(Z)V
-HSPLjavax/net/ssl/SSLSocket;->startHandshake()V
 HSPLjavax/net/ssl/SSLSocketFactory;-><init>()V
-HSPLjavax/net/ssl/SSLSocketFactory;->createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;
 HSPLjavax/net/ssl/SSLSocketFactory;->getDefault()Ljavax/net/SocketFactory;
-HSPLjavax/net/ssl/SSLSocketFactory;->getDefaultCipherSuites()[Ljava/lang/String;
-HSPLjavax/net/ssl/SSLSocketFactory;->getSupportedCipherSuites()[Ljava/lang/String;
 HSPLjavax/net/ssl/TrustManagerFactory;->getDefaultAlgorithm()Ljava/lang/String;
 HSPLjavax/net/ssl/TrustManagerFactory;->getInstance(Ljava/lang/String;)Ljavax/net/ssl/TrustManagerFactory;
 HSPLjavax/net/ssl/TrustManagerFactory;->getTrustManagers()[Ljavax/net/ssl/TrustManager;
 HSPLjavax/net/ssl/TrustManagerFactory;->init(Ljava/security/KeyStore;)V
 HSPLjavax/net/ssl/X509ExtendedKeyManager;-><init>()V
-HSPLjavax/net/ssl/X509KeyManager;->chooseClientAlias([Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;
-HSPLjavax/net/ssl/X509KeyManager;->chooseServerAlias(Ljava/lang/String;[Ljava/security/Principal;Ljava/net/Socket;)Ljava/lang/String;
-HSPLjavax/net/ssl/X509KeyManager;->getCertificateChain(Ljava/lang/String;)[Ljava/security/cert/X509Certificate;
-HSPLjavax/net/ssl/X509KeyManager;->getClientAliases(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;
-HSPLjavax/net/ssl/X509KeyManager;->getPrivateKey(Ljava/lang/String;)Ljava/security/PrivateKey;
-HSPLjavax/net/ssl/X509KeyManager;->getServerAliases(Ljava/lang/String;[Ljava/security/Principal;)[Ljava/lang/String;
+HSPLjavax/net/ssl/X509ExtendedTrustManager;-><init>()V
 HSPLjavax/security/auth/x500/X500Principal;-><init>(Ljava/lang/String;)V
 HSPLjavax/security/auth/x500/X500Principal;-><init>(Ljava/lang/String;Ljava/util/Map;)V
 HSPLjavax/security/auth/x500/X500Principal;-><init>(Lsun/security/x509/X500Name;)V
@@ -51608,61 +41963,19 @@
 HSPLjavax/security/auth/x500/X500Principal;->getName()Ljava/lang/String;
 HSPLjavax/security/auth/x500/X500Principal;->getName(Ljava/lang/String;)Ljava/lang/String;
 HSPLjavax/security/auth/x500/X500Principal;->hashCode()I
-HSPLjavax/security/cert/Certificate;->getEncoded()[B
-HSPLjavax/security/cert/Certificate;->getPublicKey()Ljava/security/PublicKey;
-HSPLjavax/security/cert/Certificate;->toString()Ljava/lang/String;
-HSPLjavax/security/cert/Certificate;->verify(Ljava/security/PublicKey;)V
-HSPLjavax/security/cert/Certificate;->verify(Ljava/security/PublicKey;Ljava/lang/String;)V
 HSPLjavax/security/cert/X509Certificate$1;-><init>()V
 HSPLjavax/security/cert/X509Certificate$1;->run()Ljava/lang/Object;
 HSPLjavax/security/cert/X509Certificate$1;->run()Ljava/lang/String;
-HSPLjavax/security/cert/X509Certificate;->checkValidity()V
-HSPLjavax/security/cert/X509Certificate;->checkValidity(Ljava/util/Date;)V
-HSPLjavax/security/cert/X509Certificate;->getInst(Ljava/lang/Object;)Ljavax/security/cert/X509Certificate;
-HSPLjavax/security/cert/X509Certificate;->getInstance([B)Ljavax/security/cert/X509Certificate;
-HSPLjavax/security/cert/X509Certificate;->getIssuerDN()Ljava/security/Principal;
-HSPLjavax/security/cert/X509Certificate;->getNotAfter()Ljava/util/Date;
-HSPLjavax/security/cert/X509Certificate;->getNotBefore()Ljava/util/Date;
-HSPLjavax/security/cert/X509Certificate;->getSerialNumber()Ljava/math/BigInteger;
-HSPLjavax/security/cert/X509Certificate;->getSigAlgName()Ljava/lang/String;
-HSPLjavax/security/cert/X509Certificate;->getSigAlgOID()Ljava/lang/String;
-HSPLjavax/security/cert/X509Certificate;->getSigAlgParams()[B
-HSPLjavax/security/cert/X509Certificate;->getSubjectDN()Ljava/security/Principal;
-HSPLjavax/security/cert/X509Certificate;->getVersion()I
-HSPLjavax/xml/parsers/DocumentBuilder;->getDOMImplementation()Lorg/w3c/dom/DOMImplementation;
-HSPLjavax/xml/parsers/DocumentBuilder;->isNamespaceAware()Z
-HSPLjavax/xml/parsers/DocumentBuilder;->isValidating()Z
-HSPLjavax/xml/parsers/DocumentBuilder;->newDocument()Lorg/w3c/dom/Document;
 HSPLjavax/xml/parsers/DocumentBuilder;->parse(Ljava/io/InputStream;)Lorg/w3c/dom/Document;
-HSPLjavax/xml/parsers/DocumentBuilder;->parse(Lorg/xml/sax/InputSource;)Lorg/w3c/dom/Document;
-HSPLjavax/xml/parsers/DocumentBuilder;->setEntityResolver(Lorg/xml/sax/EntityResolver;)V
-HSPLjavax/xml/parsers/DocumentBuilder;->setErrorHandler(Lorg/xml/sax/ErrorHandler;)V
-HSPLjavax/xml/parsers/DocumentBuilderFactory;->getAttribute(Ljava/lang/String;)Ljava/lang/Object;
-HSPLjavax/xml/parsers/DocumentBuilderFactory;->getFeature(Ljava/lang/String;)Z
 HSPLjavax/xml/parsers/DocumentBuilderFactory;->isCoalescing()Z
 HSPLjavax/xml/parsers/DocumentBuilderFactory;->isIgnoringComments()Z
 HSPLjavax/xml/parsers/DocumentBuilderFactory;->isIgnoringElementContentWhitespace()Z
 HSPLjavax/xml/parsers/DocumentBuilderFactory;->isNamespaceAware()Z
 HSPLjavax/xml/parsers/DocumentBuilderFactory;->isValidating()Z
-HSPLjavax/xml/parsers/DocumentBuilderFactory;->newDocumentBuilder()Ljavax/xml/parsers/DocumentBuilder;
 HSPLjavax/xml/parsers/DocumentBuilderFactory;->newInstance()Ljavax/xml/parsers/DocumentBuilderFactory;
-HSPLjavax/xml/parsers/DocumentBuilderFactory;->setAttribute(Ljava/lang/String;Ljava/lang/Object;)V
-HSPLjavax/xml/parsers/DocumentBuilderFactory;->setFeature(Ljava/lang/String;Z)V
 HSPLjavax/xml/parsers/DocumentBuilderFactory;->setNamespaceAware(Z)V
-HSPLjavax/xml/parsers/SAXParser;->getParser()Lorg/xml/sax/Parser;
-HSPLjavax/xml/parsers/SAXParser;->getProperty(Ljava/lang/String;)Ljava/lang/Object;
-HSPLjavax/xml/parsers/SAXParser;->getXMLReader()Lorg/xml/sax/XMLReader;
-HSPLjavax/xml/parsers/SAXParser;->isNamespaceAware()Z
-HSPLjavax/xml/parsers/SAXParser;->isValidating()Z
-HSPLjavax/xml/parsers/SAXParser;->parse(Ljava/io/InputStream;Lorg/xml/sax/helpers/DefaultHandler;)V
-HSPLjavax/xml/parsers/SAXParser;->parse(Lorg/xml/sax/InputSource;Lorg/xml/sax/helpers/DefaultHandler;)V
-HSPLjavax/xml/parsers/SAXParser;->setProperty(Ljava/lang/String;Ljava/lang/Object;)V
-HSPLjavax/xml/parsers/SAXParserFactory;->getFeature(Ljava/lang/String;)Z
 HSPLjavax/xml/parsers/SAXParserFactory;->newInstance()Ljavax/xml/parsers/SAXParserFactory;
-HSPLjavax/xml/parsers/SAXParserFactory;->newSAXParser()Ljavax/xml/parsers/SAXParser;
-HSPLjavax/xml/parsers/SAXParserFactory;->setFeature(Ljava/lang/String;Z)V
-HSPLjunit/framework/Assert;->assertNotNull(Ljava/lang/Object;)V
-HSPLjunit/framework/Assert;->assertTrue(Z)V
+HSPLlibcore/icu/CollationKeyICU;->toByteArray()[B
 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;
@@ -51672,18 +41985,16 @@
 HSPLlibcore/icu/DateUtilsBridge;->createIcuCalendar(Landroid/icu/util/TimeZone;Landroid/icu/util/ULocale;J)Landroid/icu/util/Calendar;
 HSPLlibcore/icu/DateUtilsBridge;->fallOnDifferentDates(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;)Z
 HSPLlibcore/icu/DateUtilsBridge;->toSkeleton(Landroid/icu/util/Calendar;Landroid/icu/util/Calendar;I)Ljava/lang/String;
-HSPLlibcore/icu/ICU;->getAvailableLocales()[Ljava/util/Locale;
+HSPLlibcore/icu/ICU;->addLikelySubtags(Ljava/util/Locale;)Ljava/util/Locale;
 HSPLlibcore/icu/ICU;->getBestDateTimePattern(Ljava/lang/String;Ljava/util/Locale;)Ljava/lang/String;
 HSPLlibcore/icu/ICU;->getDisplayLanguage(Ljava/util/Locale;Ljava/util/Locale;)Ljava/lang/String;
 HSPLlibcore/icu/ICU;->getISOCountries()[Ljava/lang/String;
 HSPLlibcore/icu/ICU;->getISOLanguages()[Ljava/lang/String;
-HSPLlibcore/icu/ICU;->localeFromIcuLocaleId(Ljava/lang/String;)Ljava/util/Locale;
-HSPLlibcore/icu/ICU;->localesFromStrings([Ljava/lang/String;)[Ljava/util/Locale;
-HSPLlibcore/icu/ICU;->parseLangScriptRegionAndVariants(Ljava/lang/String;[Ljava/lang/String;)V
 HSPLlibcore/icu/LocaleData;->get(Ljava/util/Locale;)Llibcore/icu/LocaleData;
 HSPLlibcore/icu/LocaleData;->getDateFormat(I)Ljava/lang/String;
 HSPLlibcore/icu/LocaleData;->getTimeFormat(I)Ljava/lang/String;
 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/RelativeDateTimeFormatter;->dayDistance(Landroid/icu/util/TimeZone;JJ)I
@@ -51693,11 +42004,6 @@
 HSPLlibcore/icu/RelativeDateTimeFormatter;->getRelativeTimeSpanString(Ljava/util/Locale;Ljava/util/TimeZone;JJJILandroid/icu/text/DisplayContext;)Ljava/lang/String;
 HSPLlibcore/icu/TimeZoneNames$1;-><init>()V
 HSPLlibcore/icu/TimeZoneNames$ZoneStringsCache;-><init>()V
-HSPLlibcore/icu/TimeZoneNames$ZoneStringsCache;->addOffsetStrings([[Ljava/lang/String;)V
-HSPLlibcore/icu/TimeZoneNames$ZoneStringsCache;->create(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLlibcore/icu/TimeZoneNames$ZoneStringsCache;->create(Ljava/util/Locale;)[[Ljava/lang/String;
-HSPLlibcore/icu/TimeZoneNames$ZoneStringsCache;->internStrings([[Ljava/lang/String;)V
-HSPLlibcore/icu/TimeZoneNames;->getZoneStrings(Ljava/util/Locale;)[[Ljava/lang/String;
 HSPLlibcore/internal/StringPool;-><init>()V
 HSPLlibcore/internal/StringPool;->get([CII)Ljava/lang/String;
 HSPLlibcore/io/BlockGuardOs;->accept(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)Ljava/io/FileDescriptor;
@@ -51707,6 +42013,7 @@
 HSPLlibcore/io/BlockGuardOs;->chown(Ljava/lang/String;II)V
 HSPLlibcore/io/BlockGuardOs;->close(Ljava/io/FileDescriptor;)V
 HSPLlibcore/io/BlockGuardOs;->connect(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
+HSPLlibcore/io/BlockGuardOs;->connect(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)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
@@ -51714,45 +42021,41 @@
 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
+HSPLlibcore/io/BlockGuardOs;->lstat(Ljava/lang/String;)Landroid/system/StructStat;
 HSPLlibcore/io/BlockGuardOs;->mkdir(Ljava/lang/String;I)V
 HSPLlibcore/io/BlockGuardOs;->open(Ljava/lang/String;II)Ljava/io/FileDescriptor;
 HSPLlibcore/io/BlockGuardOs;->poll([Landroid/system/StructPollfd;I)I
-HSPLlibcore/io/BlockGuardOs;->posix_fallocate(Ljava/io/FileDescriptor;JJ)V
 HSPLlibcore/io/BlockGuardOs;->read(Ljava/io/FileDescriptor;[BII)I
 HSPLlibcore/io/BlockGuardOs;->recvfrom(Ljava/io/FileDescriptor;[BIIILjava/net/InetSocketAddress;)I
 HSPLlibcore/io/BlockGuardOs;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/InetAddress;I)I
+HSPLlibcore/io/BlockGuardOs;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I
 HSPLlibcore/io/BlockGuardOs;->socket(III)Ljava/io/FileDescriptor;
 HSPLlibcore/io/BlockGuardOs;->socketpair(IIILjava/io/FileDescriptor;Ljava/io/FileDescriptor;)V
 HSPLlibcore/io/BlockGuardOs;->stat(Ljava/lang/String;)Landroid/system/StructStat;
 HSPLlibcore/io/BlockGuardOs;->statvfs(Ljava/lang/String;)Landroid/system/StructStatVfs;
 HSPLlibcore/io/BlockGuardOs;->tagSocket(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
 HSPLlibcore/io/BlockGuardOs;->write(Ljava/io/FileDescriptor;[BII)I
-HSPLlibcore/io/BufferIterator;->pos()I
-HSPLlibcore/io/BufferIterator;->readByte()B
-HSPLlibcore/io/BufferIterator;->readByteArray([BII)V
-HSPLlibcore/io/BufferIterator;->readInt()I
-HSPLlibcore/io/BufferIterator;->readIntArray([III)V
-HSPLlibcore/io/BufferIterator;->readShort()S
-HSPLlibcore/io/BufferIterator;->seek(I)V
-HSPLlibcore/io/BufferIterator;->skip(I)V
 HSPLlibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection$1;->close()V
 HSPLlibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection;->connect()V
 HSPLlibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection;->getInputStream()Ljava/io/InputStream;
-HSPLlibcore/io/ClassPathURLStreamHandler;->findEntryWithDirectoryFallback(Ljava/util/jar/JarFile;Ljava/lang/String;)Ljava/util/zip/ZipEntry;
 HSPLlibcore/io/ClassPathURLStreamHandler;->getEntryUrlOrNull(Ljava/lang/String;)Ljava/net/URL;
 HSPLlibcore/io/ClassPathURLStreamHandler;->isEntryStored(Ljava/lang/String;)Z
 HSPLlibcore/io/ClassPathURLStreamHandler;->openConnection(Ljava/net/URL;)Ljava/net/URLConnection;
-HSPLlibcore/io/DropBox$DefaultReporter;-><init>(Llibcore/io/DropBox$1;)V
-HSPLlibcore/io/DropBox;->setReporter(Llibcore/io/DropBox$Reporter;)V
-HSPLlibcore/io/EventLogger$DefaultReporter;-><init>(Llibcore/io/EventLogger$1;)V
-HSPLlibcore/io/EventLogger;->setReporter(Llibcore/io/EventLogger$Reporter;)V
+HSPLlibcore/io/ForwardingOs;-><init>(Llibcore/io/Os;)V
+HSPLlibcore/io/ForwardingOs;->android_fdsan_exchange_owner_tag(Ljava/io/FileDescriptor;JJ)V
+HSPLlibcore/io/ForwardingOs;->android_getaddrinfo(Ljava/lang/String;Landroid/system/StructAddrinfo;I)[Ljava/net/InetAddress;
 HSPLlibcore/io/ForwardingOs;->bind(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
 HSPLlibcore/io/ForwardingOs;->bind(Ljava/io/FileDescriptor;Ljava/net/SocketAddress;)V
 HSPLlibcore/io/ForwardingOs;->capget(Landroid/system/StructCapUserHeader;)[Landroid/system/StructCapUserData;
-HSPLlibcore/io/ForwardingOs;->dup(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
+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
 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
+HSPLlibcore/io/ForwardingOs;->fdatasync(Ljava/io/FileDescriptor;)V
+HSPLlibcore/io/ForwardingOs;->fstat(Ljava/io/FileDescriptor;)Landroid/system/StructStat;
+HSPLlibcore/io/ForwardingOs;->ftruncate(Ljava/io/FileDescriptor;J)V
 HSPLlibcore/io/ForwardingOs;->gai_strerror(I)Ljava/lang/String;
 HSPLlibcore/io/ForwardingOs;->getenv(Ljava/lang/String;)Ljava/lang/String;
 HSPLlibcore/io/ForwardingOs;->getgid()I
@@ -51769,32 +42072,42 @@
 HSPLlibcore/io/ForwardingOs;->gettid()I
 HSPLlibcore/io/ForwardingOs;->getuid()I
 HSPLlibcore/io/ForwardingOs;->if_nametoindex(Ljava/lang/String;)I
-HSPLlibcore/io/ForwardingOs;->inet_pton(ILjava/lang/String;)Ljava/net/InetAddress;
 HSPLlibcore/io/ForwardingOs;->ioctlInt(Ljava/io/FileDescriptor;ILandroid/system/Int32Ref;)I
 HSPLlibcore/io/ForwardingOs;->listen(Ljava/io/FileDescriptor;I)V
+HSPLlibcore/io/ForwardingOs;->lseek(Ljava/io/FileDescriptor;JI)J
+HSPLlibcore/io/ForwardingOs;->mkdir(Ljava/lang/String;I)V
 HSPLlibcore/io/ForwardingOs;->mlock(JJ)V
 HSPLlibcore/io/ForwardingOs;->mmap(JJIILjava/io/FileDescriptor;J)J
-HSPLlibcore/io/ForwardingOs;->pipe2(I)[Ljava/io/FileDescriptor;
+HSPLlibcore/io/ForwardingOs;->munmap(JJ)V
+HSPLlibcore/io/ForwardingOs;->open(Ljava/lang/String;II)Ljava/io/FileDescriptor;
+HSPLlibcore/io/ForwardingOs;->poll([Landroid/system/StructPollfd;I)I
 HSPLlibcore/io/ForwardingOs;->prctl(IJJJJ)I
-HSPLlibcore/io/ForwardingOs;->setenv(Ljava/lang/String;Ljava/lang/String;Z)V
+HSPLlibcore/io/ForwardingOs;->read(Ljava/io/FileDescriptor;[BII)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;->setpgid(II)V
 HSPLlibcore/io/ForwardingOs;->setregid(II)V
 HSPLlibcore/io/ForwardingOs;->setreuid(II)V
+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;->setsockoptInt(Ljava/io/FileDescriptor;III)V
 HSPLlibcore/io/ForwardingOs;->setsockoptIpMreqn(Ljava/io/FileDescriptor;III)V
 HSPLlibcore/io/ForwardingOs;->setsockoptTimeval(Ljava/io/FileDescriptor;IILandroid/system/StructTimeval;)V
 HSPLlibcore/io/ForwardingOs;->shutdown(Ljava/io/FileDescriptor;I)V
+HSPLlibcore/io/ForwardingOs;->socket(III)Ljava/io/FileDescriptor;
+HSPLlibcore/io/ForwardingOs;->socketpair(IIILjava/io/FileDescriptor;Ljava/io/FileDescriptor;)V
+HSPLlibcore/io/ForwardingOs;->stat(Ljava/lang/String;)Landroid/system/StructStat;
+HSPLlibcore/io/ForwardingOs;->statvfs(Ljava/lang/String;)Landroid/system/StructStatVfs;
 HSPLlibcore/io/ForwardingOs;->strerror(I)Ljava/lang/String;
 HSPLlibcore/io/ForwardingOs;->sysconf(I)J
 HSPLlibcore/io/ForwardingOs;->umask(I)I
 HSPLlibcore/io/ForwardingOs;->uname()Landroid/system/StructUtsname;
-HSPLlibcore/io/IoBridge;->available(Ljava/io/FileDescriptor;)I
+HSPLlibcore/io/ForwardingOs;->write(Ljava/io/FileDescriptor;[BII)I
 HSPLlibcore/io/IoBridge;->bind(Ljava/io/FileDescriptor;Ljava/net/InetAddress;I)V
 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;
@@ -51816,18 +42129,22 @@
 HSPLlibcore/io/IoUtils$FileReader;-><init>(Ljava/lang/String;)V
 HSPLlibcore/io/IoUtils$FileReader;->readFully()Llibcore/io/IoUtils$FileReader;
 HSPLlibcore/io/IoUtils$FileReader;->toByteArray()[B
+HSPLlibcore/io/IoUtils$FileReader;->toString(Ljava/nio/charset/Charset;)Ljava/lang/String;
 HSPLlibcore/io/IoUtils;->acquireRawFd(Ljava/io/FileDescriptor;)I
 HSPLlibcore/io/IoUtils;->canOpenReadOnly(Ljava/lang/String;)Z
-HSPLlibcore/io/IoUtils;->close(Ljava/io/FileDescriptor;)V
 HSPLlibcore/io/IoUtils;->closeQuietly(Ljava/io/FileDescriptor;)V
 HSPLlibcore/io/IoUtils;->closeQuietly(Ljava/lang/AutoCloseable;)V
+HSPLlibcore/io/IoUtils;->generateFdOwnerId(Ljava/lang/Object;)J
+HSPLlibcore/io/IoUtils;->isParcelFileDescriptor(Ljava/lang/Object;)Z
 HSPLlibcore/io/IoUtils;->readFileAsByteArray(Ljava/lang/String;)[B
 HSPLlibcore/io/IoUtils;->readFileAsString(Ljava/lang/String;)Ljava/lang/String;
 HSPLlibcore/io/IoUtils;->setBlocking(Ljava/io/FileDescriptor;Z)V
 HSPLlibcore/io/IoUtils;->setFdOwner(Ljava/io/FileDescriptor;Ljava/lang/Object;)V
+HSPLlibcore/io/Libcore;->compareAndSetOs(Llibcore/io/Os;Llibcore/io/Os;)Z
 HSPLlibcore/io/Linux;->read(Ljava/io/FileDescriptor;[BII)I
 HSPLlibcore/io/Linux;->recvfrom(Ljava/io/FileDescriptor;[BIIILjava/net/InetSocketAddress;)I
 HSPLlibcore/io/Linux;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/InetAddress;I)I
+HSPLlibcore/io/Linux;->sendto(Ljava/io/FileDescriptor;[BIIILjava/net/SocketAddress;)I
 HSPLlibcore/io/Linux;->umask(I)I
 HSPLlibcore/io/Linux;->write(Ljava/io/FileDescriptor;[BII)I
 HSPLlibcore/io/Memory;->peekInt(JZ)I
@@ -51836,7 +42153,6 @@
 HSPLlibcore/io/Memory;->peekShort(JZ)S
 HSPLlibcore/io/Memory;->peekShort([BILjava/nio/ByteOrder;)S
 HSPLlibcore/io/Memory;->pokeInt(JIZ)V
-HSPLlibcore/io/Memory;->pokeLong(JJZ)V
 HSPLlibcore/io/MemoryMappedFile;-><init>(JJ)V
 HSPLlibcore/io/MemoryMappedFile;->mmapRO(Ljava/lang/String;)Llibcore/io/MemoryMappedFile;
 HSPLlibcore/io/MemoryMappedFile;->size()I
@@ -51849,15 +42165,17 @@
 HSPLlibcore/io/NioBufferIterator;->readIntArray([III)V
 HSPLlibcore/io/NioBufferIterator;->seek(I)V
 HSPLlibcore/io/NioBufferIterator;->skip(I)V
-HSPLlibcore/net/MimeUtils;->add(Ljava/lang/String;Ljava/lang/String;)V
+HSPLlibcore/io/Os;->compareAndSetDefault(Llibcore/io/Os;Llibcore/io/Os;)Z
+HSPLlibcore/io/Streams;->readFully(Ljava/io/InputStream;)[B
+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;
+HSPLlibcore/net/MimeUtils;->guessExtensionFromMimeType(Ljava/lang/String;)Ljava/lang/String;
+HSPLlibcore/net/MimeUtils;->guessMimeTypeFromExtension(Ljava/lang/String;)Ljava/lang/String;
+HSPLlibcore/net/MimeUtils;->parseTypes(Ljava/lang/String;)V
 HSPLlibcore/net/NetworkSecurityPolicy$DefaultNetworkSecurityPolicy;-><init>()V
 HSPLlibcore/net/NetworkSecurityPolicy;->getInstance()Llibcore/net/NetworkSecurityPolicy;
 HSPLlibcore/net/NetworkSecurityPolicy;->setInstance(Llibcore/net/NetworkSecurityPolicy;)V
-HSPLlibcore/net/UriCodec;->appendDecoded(Ljava/lang/StringBuilder;Ljava/lang/String;ZLjava/nio/charset/Charset;Z)V
-HSPLlibcore/net/UriCodec;->decode(Ljava/lang/String;ZLjava/nio/charset/Charset;Z)Ljava/lang/String;
-HSPLlibcore/net/UriCodec;->flushDecodingByteAccumulator(Ljava/lang/StringBuilder;Ljava/nio/charset/CharsetDecoder;Ljava/nio/ByteBuffer;Z)V
-HSPLlibcore/net/UriCodec;->getNextCharacter(Ljava/lang/String;IILjava/lang/String;)C
-HSPLlibcore/net/UriCodec;->hexCharToValue(C)I
 HSPLlibcore/net/event/NetworkEventDispatcher;-><init>()V
 HSPLlibcore/net/event/NetworkEventDispatcher;->addListener(Llibcore/net/event/NetworkEventListener;)V
 HSPLlibcore/net/event/NetworkEventDispatcher;->getInstance()Llibcore/net/event/NetworkEventDispatcher;
@@ -51870,62 +42188,43 @@
 HSPLlibcore/reflect/AnnotationFactory;->createAnnotation(Ljava/lang/Class;[Llibcore/reflect/AnnotationMember;)Ljava/lang/annotation/Annotation;
 HSPLlibcore/reflect/AnnotationFactory;->getElementsDescription(Ljava/lang/Class;)[Llibcore/reflect/AnnotationMember;
 HSPLlibcore/reflect/AnnotationFactory;->invoke(Ljava/lang/Object;Ljava/lang/reflect/Method;[Ljava/lang/Object;)Ljava/lang/Object;
-HSPLlibcore/reflect/AnnotationFactory;->toString()Ljava/lang/String;
 HSPLlibcore/reflect/AnnotationMember;-><init>(Ljava/lang/String;Ljava/lang/Object;)V
 HSPLlibcore/reflect/AnnotationMember;-><init>(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Class;Ljava/lang/reflect/Method;)V
 HSPLlibcore/reflect/AnnotationMember;->copyValue()Ljava/lang/Object;
-HSPLlibcore/reflect/AnnotationMember;->toString()Ljava/lang/String;
 HSPLlibcore/reflect/AnnotationMember;->validateValue()Ljava/lang/Object;
 HSPLlibcore/reflect/GenericArrayTypeImpl;->getGenericComponentType()Ljava/lang/reflect/Type;
 HSPLlibcore/reflect/GenericArrayTypeImpl;->hashCode()I
-HSPLlibcore/reflect/GenericSignatureParser;-><init>(Ljava/lang/ClassLoader;)V
 HSPLlibcore/reflect/GenericSignatureParser;->parseClassSignature()V
 HSPLlibcore/reflect/GenericSignatureParser;->parseClassTypeSignature()Ljava/lang/reflect/Type;
 HSPLlibcore/reflect/GenericSignatureParser;->parseFieldTypeSignature()Ljava/lang/reflect/Type;
 HSPLlibcore/reflect/GenericSignatureParser;->parseForClass(Ljava/lang/reflect/GenericDeclaration;Ljava/lang/String;)V
-HSPLlibcore/reflect/GenericSignatureParser;->parseForConstructor(Ljava/lang/reflect/GenericDeclaration;Ljava/lang/String;[Ljava/lang/Class;)V
 HSPLlibcore/reflect/GenericSignatureParser;->parseForField(Ljava/lang/reflect/GenericDeclaration;Ljava/lang/String;)V
 HSPLlibcore/reflect/GenericSignatureParser;->parseForMethod(Ljava/lang/reflect/GenericDeclaration;Ljava/lang/String;[Ljava/lang/Class;)V
-HSPLlibcore/reflect/GenericSignatureParser;->parseFormalTypeParameter()Llibcore/reflect/TypeVariableImpl;
 HSPLlibcore/reflect/GenericSignatureParser;->parseMethodTypeSignature([Ljava/lang/Class;)V
 HSPLlibcore/reflect/GenericSignatureParser;->parseOptFormalTypeParameters()V
 HSPLlibcore/reflect/GenericSignatureParser;->parseOptTypeArguments()Llibcore/reflect/ListOfTypes;
 HSPLlibcore/reflect/GenericSignatureParser;->parseTypeArgument()Ljava/lang/reflect/Type;
 HSPLlibcore/reflect/GenericSignatureParser;->parseTypeSignature()Ljava/lang/reflect/Type;
 HSPLlibcore/reflect/GenericSignatureParser;->scanIdentifier()V
-HSPLlibcore/reflect/GenericSignatureParser;->scanSymbol()V
-HSPLlibcore/reflect/GenericSignatureParser;->setInput(Ljava/lang/reflect/GenericDeclaration;Ljava/lang/String;)V
-HSPLlibcore/reflect/ListOfTypes;->getResolvedTypes()[Ljava/lang/reflect/Type;
-HSPLlibcore/reflect/ListOfTypes;->length()I
 HSPLlibcore/reflect/ListOfTypes;->resolveTypes(Ljava/util/List;)[Ljava/lang/reflect/Type;
-HSPLlibcore/reflect/ParameterizedTypeImpl;->equals(Ljava/lang/Object;)Z
 HSPLlibcore/reflect/ParameterizedTypeImpl;->getActualTypeArguments()[Ljava/lang/reflect/Type;
 HSPLlibcore/reflect/ParameterizedTypeImpl;->getOwnerType()Ljava/lang/reflect/Type;
 HSPLlibcore/reflect/ParameterizedTypeImpl;->getRawType()Ljava/lang/Class;
 HSPLlibcore/reflect/ParameterizedTypeImpl;->getRawType()Ljava/lang/reflect/Type;
 HSPLlibcore/reflect/ParameterizedTypeImpl;->hashCode()I
-HSPLlibcore/reflect/TypeVariableImpl;->equals(Ljava/lang/Object;)Z
-HSPLlibcore/reflect/TypeVariableImpl;->getBounds()[Ljava/lang/reflect/Type;
-HSPLlibcore/reflect/TypeVariableImpl;->getGenericDeclaration()Ljava/lang/reflect/GenericDeclaration;
-HSPLlibcore/reflect/TypeVariableImpl;->getName()Ljava/lang/String;
-HSPLlibcore/reflect/TypeVariableImpl;->hashCode()I
-HSPLlibcore/reflect/TypeVariableImpl;->nextLayer(Ljava/lang/reflect/GenericDeclaration;)Ljava/lang/reflect/GenericDeclaration;
-HSPLlibcore/reflect/TypeVariableImpl;->resolve()V
 HSPLlibcore/reflect/Types;->getType(Ljava/lang/reflect/Type;)Ljava/lang/reflect/Type;
 HSPLlibcore/reflect/Types;->getTypeArray(Llibcore/reflect/ListOfTypes;Z)[Ljava/lang/reflect/Type;
-HSPLlibcore/reflect/WildcardTypeImpl;->getLowerBounds()[Ljava/lang/reflect/Type;
-HSPLlibcore/reflect/WildcardTypeImpl;->getUpperBounds()[Ljava/lang/reflect/Type;
-HSPLlibcore/timezone/-$$Lambda$TimeZoneFinder$ReaderSupplier$IAVNuAYizGfcsPtGXEBkDPhlBF0;->get()Ljava/io/Reader;
+HSPLlibcore/timezone/-$$Lambda$TimeZoneFinder$ReaderSupplier$gDAfECMWS_ohJ_Rfk1HN7JyDSJA;->get()Ljava/io/Reader;
 HSPLlibcore/timezone/CountryTimeZones;->createValidated(Ljava/lang/String;Ljava/lang/String;ZLjava/util/List;Ljava/lang/String;)Llibcore/timezone/CountryTimeZones;
 HSPLlibcore/timezone/CountryTimeZones;->getDefaultTimeZone()Landroid/icu/util/TimeZone;
 HSPLlibcore/timezone/CountryTimeZones;->getIcuTimeZones()Ljava/util/List;
+HSPLlibcore/timezone/CountryTimeZones;->hasUtcZone(J)Z
 HSPLlibcore/timezone/CountryTimeZones;->isDefaultOkForCountryTimeZoneDetection(J)Z
 HSPLlibcore/timezone/CountryTimeZones;->isForCountryCode(Ljava/lang/String;)Z
 HSPLlibcore/timezone/CountryTimeZones;->lookupByOffsetWithBias(IZJLandroid/icu/util/TimeZone;)Llibcore/timezone/CountryTimeZones$OffsetResult;
 HSPLlibcore/timezone/TimeZoneDataFiles;->generateIcuDataPath()Ljava/lang/String;
 HSPLlibcore/timezone/TimeZoneDataFiles;->getTimeZoneFilePaths(Ljava/lang/String;)[Ljava/lang/String;
 HSPLlibcore/timezone/TimeZoneFinder$ReaderSupplier;->forFile(Ljava/lang/String;Ljava/nio/charset/Charset;)Llibcore/timezone/TimeZoneFinder$ReaderSupplier;
-HSPLlibcore/timezone/TimeZoneFinder$ReaderSupplier;->get()Ljava/io/Reader;
 HSPLlibcore/timezone/TimeZoneFinder$SelectiveCountryTimeZonesExtractor;->processCountryZones(Ljava/lang/String;Ljava/lang/String;ZLjava/util/List;Ljava/lang/String;)Z
 HSPLlibcore/timezone/TimeZoneFinder$TimeZonesProcessor;->processHeader(Ljava/lang/String;)Z
 HSPLlibcore/timezone/TimeZoneFinder;->checkOnEndTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)V
@@ -51945,6 +42244,7 @@
 HSPLlibcore/timezone/ZoneInfoDB$TzData;->finalize()V
 HSPLlibcore/timezone/ZoneInfoDB$TzData;->getAvailableIDs()[Ljava/lang/String;
 HSPLlibcore/timezone/ZoneInfoDB$TzData;->getBufferIterator(Ljava/lang/String;)Llibcore/io/BufferIterator;
+HSPLlibcore/timezone/ZoneInfoDB$TzData;->getVersion()Ljava/lang/String;
 HSPLlibcore/timezone/ZoneInfoDB$TzData;->hasTimeZone(Ljava/lang/String;)Z
 HSPLlibcore/timezone/ZoneInfoDB$TzData;->loadData(Ljava/lang/String;)Z
 HSPLlibcore/timezone/ZoneInfoDB$TzData;->loadTzDataWithFallback([Ljava/lang/String;)Llibcore/timezone/ZoneInfoDB$TzData;
@@ -51955,6 +42255,7 @@
 HSPLlibcore/timezone/ZoneInfoDB$TzData;->readZoneTab(Llibcore/io/BufferIterator;II)V
 HSPLlibcore/timezone/ZoneInfoDB$TzData;->validateOffset(II)V
 HSPLlibcore/timezone/ZoneInfoDB;->getInstance()Llibcore/timezone/ZoneInfoDB$TzData;
+HSPLlibcore/util/ArrayUtils;->throwsIfOutOfBounds(III)V
 HSPLlibcore/util/BasicLruCache;-><init>(I)V
 HSPLlibcore/util/BasicLruCache;->create(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLlibcore/util/BasicLruCache;->entryEvicted(Ljava/lang/Object;Ljava/lang/Object;)V
@@ -51962,16 +42263,27 @@
 HSPLlibcore/util/BasicLruCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLlibcore/util/BasicLruCache;->put(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 HSPLlibcore/util/CollectionUtils;->removeDuplicates(Ljava/util/List;Ljava/util/Comparator;)V
+HSPLlibcore/util/HexEncoding;->decode([CZ)[B
 HSPLlibcore/util/HexEncoding;->encode([BII)[C
+HSPLlibcore/util/HexEncoding;->encodeToString([B)Ljava/lang/String;
 HSPLlibcore/util/NativeAllocationRegistry$CleanerRunner;->run()V
 HSPLlibcore/util/NativeAllocationRegistry$CleanerThunk;->run()V
+HSPLlibcore/util/NativeAllocationRegistry;-><init>(Ljava/lang/ClassLoader;J)V
 HSPLlibcore/util/NativeAllocationRegistry;-><init>(Ljava/lang/ClassLoader;JJ)V
 HSPLlibcore/util/NativeAllocationRegistry;->registerNativeAllocation(Ljava/lang/Object;J)Ljava/lang/Runnable;
 HSPLlibcore/util/SneakyThrow;->sneakyThrow(Ljava/lang/Throwable;)V
 HSPLlibcore/util/SneakyThrow;->sneakyThrow_(Ljava/lang/Throwable;)V
+HSPLlibcore/util/XmlObjectFactory;->newXMLReader()Lorg/xml/sax/XMLReader;
+HSPLlibcore/util/XmlObjectFactory;->newXmlPullParser()Lorg/xmlpull/v1/XmlPullParser;
+HSPLlibcore/util/XmlObjectFactory;->newXmlSerializer()Lorg/xmlpull/v1/XmlSerializer;
+HSPLlibcore/util/ZoneInfo$OffsetInterval;->containsWallTime(J)Z
+HSPLlibcore/util/ZoneInfo$OffsetInterval;->create(Llibcore/util/ZoneInfo;I)Llibcore/util/ZoneInfo$OffsetInterval;
+HSPLlibcore/util/ZoneInfo$OffsetInterval;->getIsDst()I
+HSPLlibcore/util/ZoneInfo$OffsetInterval;->getTotalOffsetSeconds()I
 HSPLlibcore/util/ZoneInfo$WallTime;-><init>()V
 HSPLlibcore/util/ZoneInfo$WallTime;->copyFieldsFromCalendar()V
 HSPLlibcore/util/ZoneInfo$WallTime;->copyFieldsToCalendar()V
+HSPLlibcore/util/ZoneInfo$WallTime;->doWallTimeSearch(Llibcore/util/ZoneInfo;IIZ)Ljava/lang/Integer;
 HSPLlibcore/util/ZoneInfo$WallTime;->getGmtOffset()I
 HSPLlibcore/util/ZoneInfo$WallTime;->getHour()I
 HSPLlibcore/util/ZoneInfo$WallTime;->getIsDst()I
@@ -52000,7 +42312,6 @@
 HSPLlibcore/util/ZoneInfo;->clone()Ljava/lang/Object;
 HSPLlibcore/util/ZoneInfo;->equals(Ljava/lang/Object;)Z
 HSPLlibcore/util/ZoneInfo;->getDSTSavings()I
-HSPLlibcore/util/ZoneInfo;->getOffset(IIIIII)I
 HSPLlibcore/util/ZoneInfo;->getOffset(J)I
 HSPLlibcore/util/ZoneInfo;->getOffsetsByUtcTime(J[I)I
 HSPLlibcore/util/ZoneInfo;->getRawOffset()I
@@ -52011,27 +42322,15 @@
 HSPLorg/apache/harmony/dalvik/ddmc/Chunk;-><init>(ILjava/nio/ByteBuffer;)V
 HSPLorg/apache/harmony/dalvik/ddmc/ChunkHandler;->putString(Ljava/nio/ByteBuffer;Ljava/lang/String;)V
 HSPLorg/apache/harmony/dalvik/ddmc/ChunkHandler;->type(Ljava/lang/String;)I
+HSPLorg/apache/harmony/dalvik/ddmc/ChunkHandler;->wrapChunk(Lorg/apache/harmony/dalvik/ddmc/Chunk;)Ljava/nio/ByteBuffer;
+HSPLorg/apache/harmony/dalvik/ddmc/DdmServer;->broadcast(I)V
+HSPLorg/apache/harmony/dalvik/ddmc/DdmServer;->dispatch(I[BII)Lorg/apache/harmony/dalvik/ddmc/Chunk;
 HSPLorg/apache/harmony/dalvik/ddmc/DdmServer;->registerHandler(ILorg/apache/harmony/dalvik/ddmc/ChunkHandler;)V
 HSPLorg/apache/harmony/dalvik/ddmc/DdmServer;->registrationComplete()V
 HSPLorg/apache/harmony/dalvik/ddmc/DdmServer;->sendChunk(Lorg/apache/harmony/dalvik/ddmc/Chunk;)V
-HSPLorg/apache/harmony/luni/internal/util/TimezoneGetter;->getId()Ljava/lang/String;
-HSPLorg/apache/harmony/luni/internal/util/TimezoneGetter;->getInstance()Lorg/apache/harmony/luni/internal/util/TimezoneGetter;
-HSPLorg/apache/harmony/luni/internal/util/TimezoneGetter;->setInstance(Lorg/apache/harmony/luni/internal/util/TimezoneGetter;)V
-HSPLorg/apache/harmony/xml/ExpatAttributes;->getLength()I
-HSPLorg/apache/harmony/xml/ExpatAttributes;->getLocalName(I)Ljava/lang/String;
-HSPLorg/apache/harmony/xml/ExpatAttributes;->getParserPointer()J
-HSPLorg/apache/harmony/xml/ExpatAttributes;->getPointer()J
-HSPLorg/apache/harmony/xml/ExpatAttributes;->getQName(I)Ljava/lang/String;
-HSPLorg/apache/harmony/xml/ExpatAttributes;->getType(I)Ljava/lang/String;
-HSPLorg/apache/harmony/xml/ExpatAttributes;->getURI(I)Ljava/lang/String;
-HSPLorg/apache/harmony/xml/ExpatAttributes;->getValue(I)Ljava/lang/String;
-HSPLorg/apache/harmony/xml/ExpatAttributes;->getValue(Ljava/lang/String;)Ljava/lang/String;
 HSPLorg/apache/harmony/xml/ExpatAttributes;->getValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLorg/apache/harmony/xml/ExpatParser$CurrentAttributes;->getLength()I
-HSPLorg/apache/harmony/xml/ExpatParser$CurrentAttributes;->getParserPointer()J
 HSPLorg/apache/harmony/xml/ExpatParser$CurrentAttributes;->getPointer()J
 HSPLorg/apache/harmony/xml/ExpatParser;-><init>(Ljava/lang/String;Lorg/apache/harmony/xml/ExpatReader;ZLjava/lang/String;Ljava/lang/String;)V
-HSPLorg/apache/harmony/xml/ExpatParser;->comment([CI)V
 HSPLorg/apache/harmony/xml/ExpatParser;->endElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLorg/apache/harmony/xml/ExpatParser;->endNamespace(Ljava/lang/String;)V
 HSPLorg/apache/harmony/xml/ExpatParser;->finalize()V
@@ -52042,11 +42341,6 @@
 HSPLorg/apache/harmony/xml/ExpatParser;->text([CI)V
 HSPLorg/apache/harmony/xml/ExpatReader;->parse(Lorg/xml/sax/InputSource;)V
 HSPLorg/apache/harmony/xml/ExpatReader;->setContentHandler(Lorg/xml/sax/ContentHandler;)V
-HSPLorg/apache/harmony/xml/ExpatReader;->setDTDHandler(Lorg/xml/sax/DTDHandler;)V
-HSPLorg/apache/harmony/xml/ExpatReader;->setEntityResolver(Lorg/xml/sax/EntityResolver;)V
-HSPLorg/apache/harmony/xml/ExpatReader;->setErrorHandler(Lorg/xml/sax/ErrorHandler;)V
-HSPLorg/apache/harmony/xml/ExpatReader;->setFeature(Ljava/lang/String;Z)V
-HSPLorg/apache/harmony/xml/ExpatReader;->setProperty(Ljava/lang/String;Ljava/lang/Object;)V
 HSPLorg/apache/harmony/xml/dom/AttrImpl;->getLocalName()Ljava/lang/String;
 HSPLorg/apache/harmony/xml/dom/AttrImpl;->getNamespaceURI()Ljava/lang/String;
 HSPLorg/apache/harmony/xml/dom/AttrImpl;->getNodeType()S
@@ -52089,72 +42383,12 @@
 HSPLorg/apache/harmony/xml/parsers/DocumentBuilderImpl;->appendText(Lorg/apache/harmony/xml/dom/DocumentImpl;Lorg/w3c/dom/Node;ILjava/lang/String;)V
 HSPLorg/apache/harmony/xml/parsers/DocumentBuilderImpl;->parse(Lcom/android/org/kxml2/io/KXmlParser;Lorg/apache/harmony/xml/dom/DocumentImpl;Lorg/w3c/dom/Node;I)V
 HSPLorg/apache/harmony/xml/parsers/DocumentBuilderImpl;->parse(Lorg/xml/sax/InputSource;)Lorg/w3c/dom/Document;
-HSPLorg/apache/harmony/xml/parsers/SAXParserFactoryImpl;->getFeature(Ljava/lang/String;)Z
-HSPLorg/apache/harmony/xml/parsers/SAXParserFactoryImpl;->isValidating()Z
-HSPLorg/apache/harmony/xml/parsers/SAXParserFactoryImpl;->newSAXParser()Ljavax/xml/parsers/SAXParser;
 HSPLorg/apache/harmony/xml/parsers/SAXParserFactoryImpl;->setFeature(Ljava/lang/String;Z)V
-HSPLorg/apache/harmony/xml/parsers/SAXParserFactoryImpl;->setNamespaceAware(Z)V
-HSPLorg/apache/harmony/xml/parsers/SAXParserImpl;->getXMLReader()Lorg/xml/sax/XMLReader;
-HSPLorg/apache/harmony/xml/parsers/SAXParserImpl;->resetInternal()V
-HSPLorg/apache/http/conn/scheme/LayeredSocketFactory;->createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;
-HSPLorg/apache/http/conn/scheme/SocketFactory;->connectSocket(Ljava/net/Socket;Ljava/lang/String;ILjava/net/InetAddress;ILorg/apache/http/params/HttpParams;)Ljava/net/Socket;
-HSPLorg/apache/http/conn/scheme/SocketFactory;->createSocket()Ljava/net/Socket;
-HSPLorg/apache/http/conn/scheme/SocketFactory;->isSecure(Ljava/net/Socket;)Z
-HSPLorg/apache/http/conn/ssl/AbstractVerifier;->acceptableCountryWildcard(Ljava/lang/String;)Z
-HSPLorg/apache/http/conn/ssl/AbstractVerifier;->getCNs(Ljava/security/cert/X509Certificate;)[Ljava/lang/String;
-HSPLorg/apache/http/conn/ssl/AbstractVerifier;->getDNSSubjectAlts(Ljava/security/cert/X509Certificate;)[Ljava/lang/String;
-HSPLorg/apache/http/conn/ssl/AbstractVerifier;->verify(Ljava/lang/String;Ljava/security/cert/X509Certificate;)V
-HSPLorg/apache/http/conn/ssl/AbstractVerifier;->verify(Ljava/lang/String;Ljavax/net/ssl/SSLSession;)Z
-HSPLorg/apache/http/conn/ssl/AbstractVerifier;->verify(Ljava/lang/String;Ljavax/net/ssl/SSLSocket;)V
-HSPLorg/apache/http/conn/ssl/AbstractVerifier;->verify(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;Z)V
 HSPLorg/apache/http/conn/ssl/AllowAllHostnameVerifier;-><init>()V
-HSPLorg/apache/http/conn/ssl/AllowAllHostnameVerifier;->verify(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
-HSPLorg/apache/http/conn/ssl/AndroidDistinguishedNameParser;->escapedAV()Ljava/lang/String;
-HSPLorg/apache/http/conn/ssl/AndroidDistinguishedNameParser;->getAllMostSpecificFirst(Ljava/lang/String;)Ljava/util/List;
-HSPLorg/apache/http/conn/ssl/AndroidDistinguishedNameParser;->getByte(I)I
-HSPLorg/apache/http/conn/ssl/AndroidDistinguishedNameParser;->getEscaped()C
-HSPLorg/apache/http/conn/ssl/AndroidDistinguishedNameParser;->hexAV()Ljava/lang/String;
-HSPLorg/apache/http/conn/ssl/AndroidDistinguishedNameParser;->nextAT()Ljava/lang/String;
 HSPLorg/apache/http/conn/ssl/BrowserCompatHostnameVerifier;-><init>()V
-HSPLorg/apache/http/conn/ssl/BrowserCompatHostnameVerifier;->verify(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
-HSPLorg/apache/http/conn/ssl/SSLSocketFactory;-><init>(Ljava/lang/String;Ljava/security/KeyStore;Ljava/lang/String;Ljava/security/KeyStore;Ljava/security/SecureRandom;Lorg/apache/http/conn/scheme/HostNameResolver;)V
-HSPLorg/apache/http/conn/ssl/SSLSocketFactory;-><init>(Ljava/security/KeyStore;)V
-HSPLorg/apache/http/conn/ssl/SSLSocketFactory;-><init>(Ljavax/net/ssl/SSLSocketFactory;)V
-HSPLorg/apache/http/conn/ssl/SSLSocketFactory;-><init>(Lorg/apache/http/conn/ssl/SSLSocketFactory$1;)V
-HSPLorg/apache/http/conn/ssl/SSLSocketFactory;->createSocket(Ljava/net/Socket;Ljava/lang/String;IZ)Ljava/net/Socket;
-HSPLorg/apache/http/conn/ssl/SSLSocketFactory;->getSocketFactory()Lorg/apache/http/conn/ssl/SSLSocketFactory;
-HSPLorg/apache/http/conn/ssl/SSLSocketFactory;->isSecure(Ljava/net/Socket;)Z
-HSPLorg/apache/http/conn/ssl/SSLSocketFactory;->setHostnameVerifier(Lorg/apache/http/conn/ssl/X509HostnameVerifier;)V
 HSPLorg/apache/http/conn/ssl/StrictHostnameVerifier;-><init>()V
-HSPLorg/apache/http/conn/ssl/StrictHostnameVerifier;->verify(Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
-HSPLorg/apache/http/conn/ssl/X509HostnameVerifier;->verify(Ljava/lang/String;Ljava/security/cert/X509Certificate;)V
-HSPLorg/apache/http/conn/ssl/X509HostnameVerifier;->verify(Ljava/lang/String;Ljavax/net/ssl/SSLSession;)Z
-HSPLorg/apache/http/conn/ssl/X509HostnameVerifier;->verify(Ljava/lang/String;Ljavax/net/ssl/SSLSocket;)V
-HSPLorg/apache/http/params/HttpConnectionParams;->getConnectionTimeout(Lorg/apache/http/params/HttpParams;)I
-HSPLorg/apache/http/params/HttpConnectionParams;->getLinger(Lorg/apache/http/params/HttpParams;)I
-HSPLorg/apache/http/params/HttpConnectionParams;->getSoTimeout(Lorg/apache/http/params/HttpParams;)I
-HSPLorg/apache/http/params/HttpConnectionParams;->getSocketBufferSize(Lorg/apache/http/params/HttpParams;)I
-HSPLorg/apache/http/params/HttpConnectionParams;->getTcpNoDelay(Lorg/apache/http/params/HttpParams;)Z
-HSPLorg/apache/http/params/HttpConnectionParams;->isStaleCheckingEnabled(Lorg/apache/http/params/HttpParams;)Z
 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/apache/http/params/HttpConnectionParams;->setSocketBufferSize(Lorg/apache/http/params/HttpParams;I)V
-HSPLorg/apache/http/params/HttpConnectionParams;->setStaleCheckingEnabled(Lorg/apache/http/params/HttpParams;Z)V
-HSPLorg/apache/http/params/HttpConnectionParams;->setTcpNoDelay(Lorg/apache/http/params/HttpParams;Z)V
-HSPLorg/apache/http/params/HttpParams;->copy()Lorg/apache/http/params/HttpParams;
-HSPLorg/apache/http/params/HttpParams;->getBooleanParameter(Ljava/lang/String;Z)Z
-HSPLorg/apache/http/params/HttpParams;->getDoubleParameter(Ljava/lang/String;D)D
-HSPLorg/apache/http/params/HttpParams;->getIntParameter(Ljava/lang/String;I)I
-HSPLorg/apache/http/params/HttpParams;->getLongParameter(Ljava/lang/String;J)J
-HSPLorg/apache/http/params/HttpParams;->getParameter(Ljava/lang/String;)Ljava/lang/Object;
-HSPLorg/apache/http/params/HttpParams;->isParameterFalse(Ljava/lang/String;)Z
-HSPLorg/apache/http/params/HttpParams;->isParameterTrue(Ljava/lang/String;)Z
-HSPLorg/apache/http/params/HttpParams;->removeParameter(Ljava/lang/String;)Z
-HSPLorg/apache/http/params/HttpParams;->setBooleanParameter(Ljava/lang/String;Z)Lorg/apache/http/params/HttpParams;
-HSPLorg/apache/http/params/HttpParams;->setDoubleParameter(Ljava/lang/String;D)Lorg/apache/http/params/HttpParams;
-HSPLorg/apache/http/params/HttpParams;->setIntParameter(Ljava/lang/String;I)Lorg/apache/http/params/HttpParams;
-HSPLorg/apache/http/params/HttpParams;->setLongParameter(Ljava/lang/String;J)Lorg/apache/http/params/HttpParams;
-HSPLorg/apache/http/params/HttpParams;->setParameter(Ljava/lang/String;Ljava/lang/Object;)Lorg/apache/http/params/HttpParams;
 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
@@ -52165,23 +42399,18 @@
 HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getType(I)Ljava/lang/String;
 HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getURI(I)Ljava/lang/String;
 HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getValue(I)Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->getValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->removeAttribute(I)V
 HSPLorg/ccil/cowan/tagsoup/AttributesImpl;->setAttributes(Lorg/xml/sax/Attributes;)V
-HSPLorg/ccil/cowan/tagsoup/AutoDetector;->autoDetectingReader(Ljava/io/InputStream;)Ljava/io/Reader;
 HSPLorg/ccil/cowan/tagsoup/Element;-><init>(Lorg/ccil/cowan/tagsoup/ElementType;Z)V
 HSPLorg/ccil/cowan/tagsoup/Element;->atts()Lorg/ccil/cowan/tagsoup/AttributesImpl;
 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;
 HSPLorg/ccil/cowan/tagsoup/Element;->parent()Lorg/ccil/cowan/tagsoup/ElementType;
-HSPLorg/ccil/cowan/tagsoup/Element;->setAttribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLorg/ccil/cowan/tagsoup/Element;->setNext(Lorg/ccil/cowan/tagsoup/Element;)V
 HSPLorg/ccil/cowan/tagsoup/ElementType;-><init>(Ljava/lang/String;IIILorg/ccil/cowan/tagsoup/Schema;)V
 HSPLorg/ccil/cowan/tagsoup/ElementType;->atts()Lorg/ccil/cowan/tagsoup/AttributesImpl;
@@ -52189,7 +42418,6 @@
 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;
@@ -52202,21 +42430,13 @@
 HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->resetDocumentLocator(Ljava/lang/String;Ljava/lang/String;)V
 HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->save(ILorg/ccil/cowan/tagsoup/ScanHandler;)V
 HSPLorg/ccil/cowan/tagsoup/HTMLScanner;->scan(Ljava/io/Reader;Lorg/ccil/cowan/tagsoup/ScanHandler;)V
+HSPLorg/ccil/cowan/tagsoup/HTMLSchema;-><init>()V
 HSPLorg/ccil/cowan/tagsoup/Parser;-><init>()V
-HSPLorg/ccil/cowan/tagsoup/Parser;->aname([CII)V
-HSPLorg/ccil/cowan/tagsoup/Parser;->aval([CII)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;->expandEntities(Ljava/lang/String;)Ljava/lang/String;
-HSPLorg/ccil/cowan/tagsoup/Parser;->getContentHandler()Lorg/xml/sax/ContentHandler;
 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
@@ -52226,33 +42446,11 @@
 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/Parser;->stage([CII)V
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->adup([CII)V
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->aname([CII)V
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->aval([CII)V
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->cdsect([CII)V
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->cmnt([CII)V
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->decl([CII)V
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->entity([CII)V
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->eof([CII)V
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->etag([CII)V
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->getEntity()I
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->gi([CII)V
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->pcdata([CII)V
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->pi([CII)V
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->pitarget([CII)V
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->stagc([CII)V
-HSPLorg/ccil/cowan/tagsoup/ScanHandler;->stage([CII)V
-HSPLorg/ccil/cowan/tagsoup/Scanner;->resetDocumentLocator(Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/ccil/cowan/tagsoup/Scanner;->scan(Ljava/io/Reader;Lorg/ccil/cowan/tagsoup/ScanHandler;)V
-HSPLorg/ccil/cowan/tagsoup/Scanner;->startCDATA()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
 HSPLorg/ccil/cowan/tagsoup/Schema;->entity(Ljava/lang/String;I)V
 HSPLorg/ccil/cowan/tagsoup/Schema;->getElementType(Ljava/lang/String;)Lorg/ccil/cowan/tagsoup/ElementType;
-HSPLorg/ccil/cowan/tagsoup/Schema;->getEntity(Ljava/lang/String;)I
 HSPLorg/ccil/cowan/tagsoup/Schema;->getPrefix()Ljava/lang/String;
 HSPLorg/ccil/cowan/tagsoup/Schema;->getURI()Ljava/lang/String;
 HSPLorg/ccil/cowan/tagsoup/Schema;->parent(Ljava/lang/String;Ljava/lang/String;)V
@@ -52263,45 +42461,27 @@
 HSPLorg/json/JSON;->toDouble(Ljava/lang/Object;)Ljava/lang/Double;
 HSPLorg/json/JSON;->toInteger(Ljava/lang/Object;)Ljava/lang/Integer;
 HSPLorg/json/JSON;->toLong(Ljava/lang/Object;)Ljava/lang/Long;
-HSPLorg/json/JSON;->typeMismatch(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)Lorg/json/JSONException;
-HSPLorg/json/JSON;->typeMismatch(Ljava/lang/Object;Ljava/lang/String;)Lorg/json/JSONException;
 HSPLorg/json/JSONArray;-><init>()V
-HSPLorg/json/JSONArray;-><init>(Ljava/lang/Object;)V
 HSPLorg/json/JSONArray;-><init>(Ljava/lang/String;)V
 HSPLorg/json/JSONArray;-><init>(Ljava/util/Collection;)V
 HSPLorg/json/JSONArray;->get(I)Ljava/lang/Object;
-HSPLorg/json/JSONArray;->getDouble(I)D
 HSPLorg/json/JSONArray;->getInt(I)I
 HSPLorg/json/JSONArray;->getJSONArray(I)Lorg/json/JSONArray;
 HSPLorg/json/JSONArray;->getJSONObject(I)Lorg/json/JSONObject;
-HSPLorg/json/JSONArray;->getLong(I)J
 HSPLorg/json/JSONArray;->getString(I)Ljava/lang/String;
-HSPLorg/json/JSONArray;->isNull(I)Z
 HSPLorg/json/JSONArray;->length()I
 HSPLorg/json/JSONArray;->opt(I)Ljava/lang/Object;
 HSPLorg/json/JSONArray;->optInt(I)I
 HSPLorg/json/JSONArray;->optInt(II)I
 HSPLorg/json/JSONArray;->optJSONArray(I)Lorg/json/JSONArray;
 HSPLorg/json/JSONArray;->optJSONObject(I)Lorg/json/JSONObject;
-HSPLorg/json/JSONArray;->optLong(I)J
-HSPLorg/json/JSONArray;->optLong(IJ)J
-HSPLorg/json/JSONArray;->optString(I)Ljava/lang/String;
-HSPLorg/json/JSONArray;->optString(ILjava/lang/String;)Ljava/lang/String;
-HSPLorg/json/JSONArray;->put(I)Lorg/json/JSONArray;
-HSPLorg/json/JSONArray;->put(II)Lorg/json/JSONArray;
-HSPLorg/json/JSONArray;->put(ILjava/lang/Object;)Lorg/json/JSONArray;
-HSPLorg/json/JSONArray;->put(IZ)Lorg/json/JSONArray;
-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;
 HSPLorg/json/JSONArray;->writeTo(Lorg/json/JSONStringer;)V
 HSPLorg/json/JSONObject$1;-><init>()V
-HSPLorg/json/JSONObject$1;->equals(Ljava/lang/Object;)Z
-HSPLorg/json/JSONObject$1;->toString()Ljava/lang/String;
 HSPLorg/json/JSONObject;-><init>()V
 HSPLorg/json/JSONObject;-><init>(Ljava/lang/String;)V
 HSPLorg/json/JSONObject;-><init>(Ljava/util/Map;)V
-HSPLorg/json/JSONObject;-><init>(Lorg/json/JSONTokener;)V
 HSPLorg/json/JSONObject;->checkName(Ljava/lang/String;)Ljava/lang/String;
 HSPLorg/json/JSONObject;->get(Ljava/lang/String;)Ljava/lang/Object;
 HSPLorg/json/JSONObject;->getBoolean(Ljava/lang/String;)Z
@@ -52312,15 +42492,12 @@
 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;->isNull(Ljava/lang/String;)Z
 HSPLorg/json/JSONObject;->keys()Ljava/util/Iterator;
 HSPLorg/json/JSONObject;->length()I
-HSPLorg/json/JSONObject;->names()Lorg/json/JSONArray;
 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
 HSPLorg/json/JSONObject;->optInt(Ljava/lang/String;I)I
@@ -52330,20 +42507,15 @@
 HSPLorg/json/JSONObject;->optLong(Ljava/lang/String;J)J
 HSPLorg/json/JSONObject;->optString(Ljava/lang/String;)Ljava/lang/String;
 HSPLorg/json/JSONObject;->optString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLorg/json/JSONObject;->put(Ljava/lang/String;D)Lorg/json/JSONObject;
 HSPLorg/json/JSONObject;->put(Ljava/lang/String;I)Lorg/json/JSONObject;
 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;->quote(Ljava/lang/String;)Ljava/lang/String;
-HSPLorg/json/JSONObject;->remove(Ljava/lang/String;)Ljava/lang/Object;
 HSPLorg/json/JSONObject;->toString()Ljava/lang/String;
-HSPLorg/json/JSONObject;->toString(I)Ljava/lang/String;
 HSPLorg/json/JSONObject;->wrap(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLorg/json/JSONObject;->writeTo(Lorg/json/JSONStringer;)V
 HSPLorg/json/JSONStringer$Scope;-><init>(Ljava/lang/String;I)V
-HSPLorg/json/JSONStringer;-><init>()V
 HSPLorg/json/JSONStringer;->array()Lorg/json/JSONStringer;
 HSPLorg/json/JSONStringer;->beforeKey()V
 HSPLorg/json/JSONStringer;->beforeValue()V
@@ -52353,9 +42525,7 @@
 HSPLorg/json/JSONStringer;->key(Ljava/lang/String;)Lorg/json/JSONStringer;
 HSPLorg/json/JSONStringer;->object()Lorg/json/JSONStringer;
 HSPLorg/json/JSONStringer;->open(Lorg/json/JSONStringer$Scope;Ljava/lang/String;)Lorg/json/JSONStringer;
-HSPLorg/json/JSONStringer;->peek()Lorg/json/JSONStringer$Scope;
 HSPLorg/json/JSONStringer;->string(Ljava/lang/String;)V
-HSPLorg/json/JSONStringer;->toString()Ljava/lang/String;
 HSPLorg/json/JSONStringer;->value(Ljava/lang/Object;)Lorg/json/JSONStringer;
 HSPLorg/json/JSONTokener;-><init>(Ljava/lang/String;)V
 HSPLorg/json/JSONTokener;->nextCleanInternal()I
@@ -52366,280 +42536,21 @@
 HSPLorg/json/JSONTokener;->readEscapeCharacter()C
 HSPLorg/json/JSONTokener;->readLiteral()Ljava/lang/Object;
 HSPLorg/json/JSONTokener;->readObject()Lorg/json/JSONObject;
-HSPLorg/json/JSONTokener;->skipToEndOfLine()V
-HSPLcom/android/org/kxml2/io/KXmlParser$ValueContext;-><init>(Ljava/lang/String;I)V
-HSPLcom/android/org/kxml2/io/KXmlParser;-><init>()V
-HSPLcom/android/org/kxml2/io/KXmlParser;->adjustNsp()Z
-HSPLcom/android/org/kxml2/io/KXmlParser;->close()V
-HSPLcom/android/org/kxml2/io/KXmlParser;->fillBuffer(I)Z
-HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeCount()I
-HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeName(I)Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeNamespace(I)Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributePrefix(I)Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeType(I)Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeValue(I)Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getColumnNumber()I
-HSPLcom/android/org/kxml2/io/KXmlParser;->getDepth()I
-HSPLcom/android/org/kxml2/io/KXmlParser;->getEventType()I
-HSPLcom/android/org/kxml2/io/KXmlParser;->getFeature(Ljava/lang/String;)Z
-HSPLcom/android/org/kxml2/io/KXmlParser;->getLineNumber()I
-HSPLcom/android/org/kxml2/io/KXmlParser;->getName()Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getNamespace()Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getNamespace(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getNamespaceCount(I)I
-HSPLcom/android/org/kxml2/io/KXmlParser;->getPositionDescription()Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getPrefix()Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getText()Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->getTextCharacters([I)[C
-HSPLcom/android/org/kxml2/io/KXmlParser;->next()I
-HSPLcom/android/org/kxml2/io/KXmlParser;->next(Z)I
-HSPLcom/android/org/kxml2/io/KXmlParser;->nextTag()I
-HSPLcom/android/org/kxml2/io/KXmlParser;->nextText()Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->nextToken()I
-HSPLcom/android/org/kxml2/io/KXmlParser;->parseStartTag(ZZ)V
-HSPLcom/android/org/kxml2/io/KXmlParser;->peekType(Z)I
-HSPLcom/android/org/kxml2/io/KXmlParser;->read(C)V
-HSPLcom/android/org/kxml2/io/KXmlParser;->read([C)V
-HSPLcom/android/org/kxml2/io/KXmlParser;->readComment(Z)Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->readEndTag()V
-HSPLcom/android/org/kxml2/io/KXmlParser;->readEntity(Ljava/lang/StringBuilder;ZZLcom/android/org/kxml2/io/KXmlParser$ValueContext;)V
-HSPLcom/android/org/kxml2/io/KXmlParser;->readName()Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->readUntil([CZ)Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->readValue(CZZLcom/android/org/kxml2/io/KXmlParser$ValueContext;)Ljava/lang/String;
-HSPLcom/android/org/kxml2/io/KXmlParser;->readXmlDeclaration()V
-HSPLcom/android/org/kxml2/io/KXmlParser;->require(ILjava/lang/String;Ljava/lang/String;)V
-HSPLcom/android/org/kxml2/io/KXmlParser;->setFeature(Ljava/lang/String;Z)V
-HSPLcom/android/org/kxml2/io/KXmlParser;->setInput(Ljava/io/InputStream;Ljava/lang/String;)V
-HSPLcom/android/org/kxml2/io/KXmlParser;->setInput(Ljava/io/Reader;)V
-HSPLcom/android/org/kxml2/io/KXmlSerializer;-><init>()V
-HSPLcom/android/org/kxml2/io/KXmlSerializer;->append(Ljava/lang/String;II)V
-HSPLcom/android/org/kxml2/io/KXmlSerializer;->attribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
-HSPLcom/android/org/kxml2/io/KXmlSerializer;->check(Z)V
-HSPLcom/android/org/kxml2/io/KXmlSerializer;->endDocument()V
-HSPLcom/android/org/kxml2/io/KXmlSerializer;->endTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
-HSPLcom/android/org/kxml2/io/KXmlSerializer;->flush()V
-HSPLcom/android/org/kxml2/io/KXmlSerializer;->setFeature(Ljava/lang/String;Z)V
-HSPLcom/android/org/kxml2/io/KXmlSerializer;->setOutput(Ljava/io/OutputStream;Ljava/lang/String;)V
-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;
-HSPLcom/android/org/kxml2/io/KXmlSerializer;->writeEscaped(Ljava/lang/String;I)V
-HSPLorg/w3c/dom/Attr;->getName()Ljava/lang/String;
-HSPLorg/w3c/dom/Attr;->getOwnerElement()Lorg/w3c/dom/Element;
-HSPLorg/w3c/dom/Attr;->getSchemaTypeInfo()Lorg/w3c/dom/TypeInfo;
-HSPLorg/w3c/dom/Attr;->getSpecified()Z
-HSPLorg/w3c/dom/Attr;->getValue()Ljava/lang/String;
-HSPLorg/w3c/dom/Attr;->isId()Z
-HSPLorg/w3c/dom/Attr;->setValue(Ljava/lang/String;)V
-HSPLorg/w3c/dom/CharacterData;->appendData(Ljava/lang/String;)V
-HSPLorg/w3c/dom/CharacterData;->deleteData(II)V
-HSPLorg/w3c/dom/CharacterData;->getData()Ljava/lang/String;
-HSPLorg/w3c/dom/CharacterData;->getLength()I
-HSPLorg/w3c/dom/CharacterData;->insertData(ILjava/lang/String;)V
-HSPLorg/w3c/dom/CharacterData;->replaceData(IILjava/lang/String;)V
-HSPLorg/w3c/dom/CharacterData;->setData(Ljava/lang/String;)V
-HSPLorg/w3c/dom/CharacterData;->substringData(II)Ljava/lang/String;
-HSPLorg/w3c/dom/DOMImplementation;->createDocument(Ljava/lang/String;Ljava/lang/String;Lorg/w3c/dom/DocumentType;)Lorg/w3c/dom/Document;
-HSPLorg/w3c/dom/DOMImplementation;->createDocumentType(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/DocumentType;
-HSPLorg/w3c/dom/DOMImplementation;->getFeature(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
-HSPLorg/w3c/dom/DOMImplementation;->hasFeature(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLorg/w3c/dom/Document;->adoptNode(Lorg/w3c/dom/Node;)Lorg/w3c/dom/Node;
-HSPLorg/w3c/dom/Document;->createAttribute(Ljava/lang/String;)Lorg/w3c/dom/Attr;
-HSPLorg/w3c/dom/Document;->createAttributeNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Attr;
-HSPLorg/w3c/dom/Document;->createCDATASection(Ljava/lang/String;)Lorg/w3c/dom/CDATASection;
-HSPLorg/w3c/dom/Document;->createComment(Ljava/lang/String;)Lorg/w3c/dom/Comment;
-HSPLorg/w3c/dom/Document;->createDocumentFragment()Lorg/w3c/dom/DocumentFragment;
-HSPLorg/w3c/dom/Document;->createElement(Ljava/lang/String;)Lorg/w3c/dom/Element;
-HSPLorg/w3c/dom/Document;->createElementNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
-HSPLorg/w3c/dom/Document;->createEntityReference(Ljava/lang/String;)Lorg/w3c/dom/EntityReference;
-HSPLorg/w3c/dom/Document;->createProcessingInstruction(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/ProcessingInstruction;
-HSPLorg/w3c/dom/Document;->createTextNode(Ljava/lang/String;)Lorg/w3c/dom/Text;
-HSPLorg/w3c/dom/Document;->getDoctype()Lorg/w3c/dom/DocumentType;
-HSPLorg/w3c/dom/Document;->getDocumentElement()Lorg/w3c/dom/Element;
-HSPLorg/w3c/dom/Document;->getDocumentURI()Ljava/lang/String;
-HSPLorg/w3c/dom/Document;->getDomConfig()Lorg/w3c/dom/DOMConfiguration;
-HSPLorg/w3c/dom/Document;->getElementById(Ljava/lang/String;)Lorg/w3c/dom/Element;
-HSPLorg/w3c/dom/Document;->getElementsByTagName(Ljava/lang/String;)Lorg/w3c/dom/NodeList;
-HSPLorg/w3c/dom/Document;->getElementsByTagNameNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/NodeList;
-HSPLorg/w3c/dom/Document;->getImplementation()Lorg/w3c/dom/DOMImplementation;
-HSPLorg/w3c/dom/Document;->getInputEncoding()Ljava/lang/String;
-HSPLorg/w3c/dom/Document;->getStrictErrorChecking()Z
-HSPLorg/w3c/dom/Document;->getXmlEncoding()Ljava/lang/String;
-HSPLorg/w3c/dom/Document;->getXmlStandalone()Z
-HSPLorg/w3c/dom/Document;->getXmlVersion()Ljava/lang/String;
-HSPLorg/w3c/dom/Document;->importNode(Lorg/w3c/dom/Node;Z)Lorg/w3c/dom/Node;
-HSPLorg/w3c/dom/Document;->normalizeDocument()V
-HSPLorg/w3c/dom/Document;->renameNode(Lorg/w3c/dom/Node;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Node;
-HSPLorg/w3c/dom/Document;->setDocumentURI(Ljava/lang/String;)V
-HSPLorg/w3c/dom/Document;->setStrictErrorChecking(Z)V
-HSPLorg/w3c/dom/Document;->setXmlStandalone(Z)V
-HSPLorg/w3c/dom/Document;->setXmlVersion(Ljava/lang/String;)V
-HSPLorg/w3c/dom/Element;->getAttribute(Ljava/lang/String;)Ljava/lang/String;
-HSPLorg/w3c/dom/Element;->getAttributeNS(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HSPLorg/w3c/dom/Element;->getAttributeNode(Ljava/lang/String;)Lorg/w3c/dom/Attr;
-HSPLorg/w3c/dom/Element;->getAttributeNodeNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Attr;
-HSPLorg/w3c/dom/Element;->getElementsByTagName(Ljava/lang/String;)Lorg/w3c/dom/NodeList;
-HSPLorg/w3c/dom/Element;->getElementsByTagNameNS(Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/NodeList;
-HSPLorg/w3c/dom/Element;->getSchemaTypeInfo()Lorg/w3c/dom/TypeInfo;
-HSPLorg/w3c/dom/Element;->getTagName()Ljava/lang/String;
-HSPLorg/w3c/dom/Element;->hasAttribute(Ljava/lang/String;)Z
-HSPLorg/w3c/dom/Element;->hasAttributeNS(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLorg/w3c/dom/Element;->removeAttribute(Ljava/lang/String;)V
-HSPLorg/w3c/dom/Element;->removeAttributeNS(Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/w3c/dom/Element;->removeAttributeNode(Lorg/w3c/dom/Attr;)Lorg/w3c/dom/Attr;
-HSPLorg/w3c/dom/Element;->setAttribute(Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/w3c/dom/Element;->setAttributeNS(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/w3c/dom/Element;->setAttributeNode(Lorg/w3c/dom/Attr;)Lorg/w3c/dom/Attr;
-HSPLorg/w3c/dom/Element;->setAttributeNodeNS(Lorg/w3c/dom/Attr;)Lorg/w3c/dom/Attr;
-HSPLorg/w3c/dom/Element;->setIdAttribute(Ljava/lang/String;Z)V
-HSPLorg/w3c/dom/Element;->setIdAttributeNS(Ljava/lang/String;Ljava/lang/String;Z)V
-HSPLorg/w3c/dom/Element;->setIdAttributeNode(Lorg/w3c/dom/Attr;Z)V
-HSPLorg/w3c/dom/Node;->cloneNode(Z)Lorg/w3c/dom/Node;
-HSPLorg/w3c/dom/Node;->compareDocumentPosition(Lorg/w3c/dom/Node;)S
-HSPLorg/w3c/dom/Node;->getBaseURI()Ljava/lang/String;
-HSPLorg/w3c/dom/Node;->getFeature(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
-HSPLorg/w3c/dom/Node;->getOwnerDocument()Lorg/w3c/dom/Document;
-HSPLorg/w3c/dom/Node;->getParentNode()Lorg/w3c/dom/Node;
-HSPLorg/w3c/dom/Node;->getPreviousSibling()Lorg/w3c/dom/Node;
-HSPLorg/w3c/dom/Node;->getUserData(Ljava/lang/String;)Ljava/lang/Object;
-HSPLorg/w3c/dom/Node;->isDefaultNamespace(Ljava/lang/String;)Z
-HSPLorg/w3c/dom/Node;->isEqualNode(Lorg/w3c/dom/Node;)Z
-HSPLorg/w3c/dom/Node;->isSameNode(Lorg/w3c/dom/Node;)Z
-HSPLorg/w3c/dom/Node;->isSupported(Ljava/lang/String;Ljava/lang/String;)Z
-HSPLorg/w3c/dom/Node;->lookupNamespaceURI(Ljava/lang/String;)Ljava/lang/String;
-HSPLorg/w3c/dom/Node;->lookupPrefix(Ljava/lang/String;)Ljava/lang/String;
-HSPLorg/w3c/dom/Node;->setNodeValue(Ljava/lang/String;)V
-HSPLorg/w3c/dom/Node;->setTextContent(Ljava/lang/String;)V
-HSPLorg/w3c/dom/Node;->setUserData(Ljava/lang/String;Ljava/lang/Object;Lorg/w3c/dom/UserDataHandler;)Ljava/lang/Object;
-HSPLorg/w3c/dom/NodeList;->getLength()I
-HSPLorg/w3c/dom/NodeList;->item(I)Lorg/w3c/dom/Node;
-HSPLorg/w3c/dom/Text;->getWholeText()Ljava/lang/String;
-HSPLorg/w3c/dom/Text;->isElementContentWhitespace()Z
-HSPLorg/w3c/dom/Text;->replaceWholeText(Ljava/lang/String;)Lorg/w3c/dom/Text;
-HSPLorg/w3c/dom/Text;->splitText(I)Lorg/w3c/dom/Text;
-HSPLorg/w3c/dom/TypeInfo;->getTypeName()Ljava/lang/String;
-HSPLorg/w3c/dom/TypeInfo;->getTypeNamespace()Ljava/lang/String;
-HSPLorg/w3c/dom/TypeInfo;->isDerivedFrom(Ljava/lang/String;Ljava/lang/String;I)Z
-HSPLorg/xml/sax/ContentHandler;->characters([CII)V
-HSPLorg/xml/sax/ContentHandler;->endDocument()V
-HSPLorg/xml/sax/ContentHandler;->endElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/xml/sax/ContentHandler;->endPrefixMapping(Ljava/lang/String;)V
-HSPLorg/xml/sax/ContentHandler;->ignorableWhitespace([CII)V
-HSPLorg/xml/sax/ContentHandler;->processingInstruction(Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/xml/sax/ContentHandler;->setDocumentLocator(Lorg/xml/sax/Locator;)V
-HSPLorg/xml/sax/ContentHandler;->skippedEntity(Ljava/lang/String;)V
-HSPLorg/xml/sax/ContentHandler;->startDocument()V
-HSPLorg/xml/sax/ContentHandler;->startElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lorg/xml/sax/Attributes;)V
-HSPLorg/xml/sax/ContentHandler;->startPrefixMapping(Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/xml/sax/DTDHandler;->notationDecl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/xml/sax/DTDHandler;->unparsedEntityDecl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/xml/sax/EntityResolver;->resolveEntity(Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;
-HSPLorg/xml/sax/ErrorHandler;->error(Lorg/xml/sax/SAXParseException;)V
-HSPLorg/xml/sax/ErrorHandler;->fatalError(Lorg/xml/sax/SAXParseException;)V
-HSPLorg/xml/sax/ErrorHandler;->warning(Lorg/xml/sax/SAXParseException;)V
-HSPLorg/xml/sax/InputSource;-><init>(Ljava/io/InputStream;)V
 HSPLorg/xml/sax/InputSource;->getByteStream()Ljava/io/InputStream;
 HSPLorg/xml/sax/InputSource;->getCharacterStream()Ljava/io/Reader;
 HSPLorg/xml/sax/InputSource;->getEncoding()Ljava/lang/String;
 HSPLorg/xml/sax/InputSource;->getPublicId()Ljava/lang/String;
 HSPLorg/xml/sax/InputSource;->getSystemId()Ljava/lang/String;
-HSPLorg/xml/sax/InputSource;->setByteStream(Ljava/io/InputStream;)V
-HSPLorg/xml/sax/XMLReader;->getContentHandler()Lorg/xml/sax/ContentHandler;
-HSPLorg/xml/sax/XMLReader;->getDTDHandler()Lorg/xml/sax/DTDHandler;
-HSPLorg/xml/sax/XMLReader;->getEntityResolver()Lorg/xml/sax/EntityResolver;
-HSPLorg/xml/sax/XMLReader;->getErrorHandler()Lorg/xml/sax/ErrorHandler;
-HSPLorg/xml/sax/XMLReader;->getFeature(Ljava/lang/String;)Z
-HSPLorg/xml/sax/XMLReader;->getProperty(Ljava/lang/String;)Ljava/lang/Object;
-HSPLorg/xml/sax/XMLReader;->parse(Ljava/lang/String;)V
-HSPLorg/xml/sax/XMLReader;->parse(Lorg/xml/sax/InputSource;)V
-HSPLorg/xml/sax/XMLReader;->setContentHandler(Lorg/xml/sax/ContentHandler;)V
-HSPLorg/xml/sax/XMLReader;->setDTDHandler(Lorg/xml/sax/DTDHandler;)V
-HSPLorg/xml/sax/XMLReader;->setEntityResolver(Lorg/xml/sax/EntityResolver;)V
-HSPLorg/xml/sax/XMLReader;->setErrorHandler(Lorg/xml/sax/ErrorHandler;)V
-HSPLorg/xml/sax/XMLReader;->setFeature(Ljava/lang/String;Z)V
-HSPLorg/xml/sax/XMLReader;->setProperty(Ljava/lang/String;Ljava/lang/Object;)V
-HSPLorg/xml/sax/ext/DeclHandler;->attributeDecl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/xml/sax/ext/DeclHandler;->elementDecl(Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/xml/sax/ext/DeclHandler;->externalEntityDecl(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/xml/sax/ext/DeclHandler;->internalEntityDecl(Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/xml/sax/ext/DefaultHandler2;-><init>()V
-HSPLorg/xml/sax/ext/EntityResolver2;->getExternalSubset(Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;
-HSPLorg/xml/sax/ext/EntityResolver2;->resolveEntity(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xml/sax/InputSource;
-HSPLorg/xml/sax/ext/LexicalHandler;->comment([CII)V
-HSPLorg/xml/sax/ext/LexicalHandler;->endCDATA()V
-HSPLorg/xml/sax/ext/LexicalHandler;->endDTD()V
-HSPLorg/xml/sax/ext/LexicalHandler;->endEntity(Ljava/lang/String;)V
-HSPLorg/xml/sax/ext/LexicalHandler;->startCDATA()V
-HSPLorg/xml/sax/ext/LexicalHandler;->startDTD(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/xml/sax/ext/LexicalHandler;->startEntity(Ljava/lang/String;)V
-HSPLorg/xml/sax/helpers/AttributesImpl;-><init>(Lorg/xml/sax/Attributes;)V
-HSPLorg/xml/sax/helpers/AttributesImpl;->clear()V
-HSPLorg/xml/sax/helpers/AttributesImpl;->getValue(Ljava/lang/String;)Ljava/lang/String;
-HSPLorg/xml/sax/helpers/AttributesImpl;->setAttributes(Lorg/xml/sax/Attributes;)V
 HSPLorg/xml/sax/helpers/DefaultHandler;-><init>()V
-HSPLorg/xml/sax/helpers/DefaultHandler;->characters([CII)V
 HSPLorg/xml/sax/helpers/DefaultHandler;->endDocument()V
 HSPLorg/xml/sax/helpers/DefaultHandler;->endPrefixMapping(Ljava/lang/String;)V
 HSPLorg/xml/sax/helpers/DefaultHandler;->setDocumentLocator(Lorg/xml/sax/Locator;)V
-HSPLorg/xml/sax/helpers/DefaultHandler;->startDocument()V
 HSPLorg/xml/sax/helpers/DefaultHandler;->startPrefixMapping(Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/xml/sax/helpers/LocatorImpl;-><init>(Lorg/xml/sax/Locator;)V
-HSPLorg/xml/sax/helpers/LocatorImpl;->setColumnNumber(I)V
-HSPLorg/xml/sax/helpers/LocatorImpl;->setLineNumber(I)V
-HSPLorg/xml/sax/helpers/LocatorImpl;->setPublicId(Ljava/lang/String;)V
-HSPLorg/xml/sax/helpers/LocatorImpl;->setSystemId(Ljava/lang/String;)V
-HSPLorg/xmlpull/v1/XmlPullParserException;-><init>(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/Throwable;)V
+HSPLorg/xmlpull/v1/XmlPullParserException;-><init>(Ljava/lang/String;)V
 HSPLorg/xmlpull/v1/XmlPullParserFactory;-><init>()V
 HSPLorg/xmlpull/v1/XmlPullParserFactory;->getParserInstance()Lorg/xmlpull/v1/XmlPullParser;
-HSPLorg/xmlpull/v1/XmlPullParserFactory;->getSerializerInstance()Lorg/xmlpull/v1/XmlSerializer;
 HSPLorg/xmlpull/v1/XmlPullParserFactory;->newInstance()Lorg/xmlpull/v1/XmlPullParserFactory;
-HSPLorg/xmlpull/v1/XmlPullParserFactory;->newInstance(Ljava/lang/String;Ljava/lang/Class;)Lorg/xmlpull/v1/XmlPullParserFactory;
 HSPLorg/xmlpull/v1/XmlPullParserFactory;->newPullParser()Lorg/xmlpull/v1/XmlPullParser;
-HSPLorg/xmlpull/v1/XmlPullParserFactory;->newSerializer()Lorg/xmlpull/v1/XmlSerializer;
-HSPLorg/xmlpull/v1/XmlPullParserFactory;->setNamespaceAware(Z)V
-HSPLorg/xmlpull/v1/XmlSerializer;->attribute(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
-HSPLorg/xmlpull/v1/XmlSerializer;->cdsect(Ljava/lang/String;)V
-HSPLorg/xmlpull/v1/XmlSerializer;->comment(Ljava/lang/String;)V
-HSPLorg/xmlpull/v1/XmlSerializer;->docdecl(Ljava/lang/String;)V
-HSPLorg/xmlpull/v1/XmlSerializer;->endDocument()V
-HSPLorg/xmlpull/v1/XmlSerializer;->endTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
-HSPLorg/xmlpull/v1/XmlSerializer;->entityRef(Ljava/lang/String;)V
-HSPLorg/xmlpull/v1/XmlSerializer;->flush()V
-HSPLorg/xmlpull/v1/XmlSerializer;->getDepth()I
-HSPLorg/xmlpull/v1/XmlSerializer;->getFeature(Ljava/lang/String;)Z
-HSPLorg/xmlpull/v1/XmlSerializer;->getName()Ljava/lang/String;
-HSPLorg/xmlpull/v1/XmlSerializer;->getNamespace()Ljava/lang/String;
-HSPLorg/xmlpull/v1/XmlSerializer;->getPrefix(Ljava/lang/String;Z)Ljava/lang/String;
-HSPLorg/xmlpull/v1/XmlSerializer;->getProperty(Ljava/lang/String;)Ljava/lang/Object;
-HSPLorg/xmlpull/v1/XmlSerializer;->ignorableWhitespace(Ljava/lang/String;)V
-HSPLorg/xmlpull/v1/XmlSerializer;->processingInstruction(Ljava/lang/String;)V
-HSPLorg/xmlpull/v1/XmlSerializer;->setFeature(Ljava/lang/String;Z)V
-HSPLorg/xmlpull/v1/XmlSerializer;->setOutput(Ljava/io/OutputStream;Ljava/lang/String;)V
-HSPLorg/xmlpull/v1/XmlSerializer;->setOutput(Ljava/io/Writer;)V
-HSPLorg/xmlpull/v1/XmlSerializer;->setPrefix(Ljava/lang/String;Ljava/lang/String;)V
-HSPLorg/xmlpull/v1/XmlSerializer;->setProperty(Ljava/lang/String;Ljava/lang/Object;)V
-HSPLorg/xmlpull/v1/XmlSerializer;->startDocument(Ljava/lang/String;Ljava/lang/Boolean;)V
-HSPLorg/xmlpull/v1/XmlSerializer;->startTag(Ljava/lang/String;Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
-HSPLorg/xmlpull/v1/XmlSerializer;->text(Ljava/lang/String;)Lorg/xmlpull/v1/XmlSerializer;
-HSPLorg/xmlpull/v1/XmlSerializer;->text([CII)Lorg/xmlpull/v1/XmlSerializer;
-HSPLorg/xmlpull/v1/sax2/Driver;-><init>()V
-HSPLorg/xmlpull/v1/sax2/Driver;->getColumnNumber()I
-HSPLorg/xmlpull/v1/sax2/Driver;->getLength()I
-HSPLorg/xmlpull/v1/sax2/Driver;->getLineNumber()I
-HSPLorg/xmlpull/v1/sax2/Driver;->getLocalName(I)Ljava/lang/String;
-HSPLorg/xmlpull/v1/sax2/Driver;->getPublicId()Ljava/lang/String;
-HSPLorg/xmlpull/v1/sax2/Driver;->getQName(I)Ljava/lang/String;
-HSPLorg/xmlpull/v1/sax2/Driver;->getSystemId()Ljava/lang/String;
-HSPLorg/xmlpull/v1/sax2/Driver;->getType(I)Ljava/lang/String;
-HSPLorg/xmlpull/v1/sax2/Driver;->getURI(I)Ljava/lang/String;
-HSPLorg/xmlpull/v1/sax2/Driver;->getValue(I)Ljava/lang/String;
-HSPLorg/xmlpull/v1/sax2/Driver;->parse(Lorg/xml/sax/InputSource;)V
-HSPLorg/xmlpull/v1/sax2/Driver;->parseSubTree(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLorg/xmlpull/v1/sax2/Driver;->setContentHandler(Lorg/xml/sax/ContentHandler;)V
-HSPLorg/xmlpull/v1/sax2/Driver;->setErrorHandler(Lorg/xml/sax/ErrorHandler;)V
-HSPLorg/xmlpull/v1/sax2/Driver;->setFeature(Ljava/lang/String;Z)V
-HSPLorg/xmlpull/v1/sax2/Driver;->startElement(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 HSPLsun/misc/ASCIICaseInsensitiveComparator;-><init>()V
 HSPLsun/misc/ASCIICaseInsensitiveComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
 HSPLsun/misc/ASCIICaseInsensitiveComparator;->compare(Ljava/lang/String;Ljava/lang/String;)I
@@ -52648,9 +42559,9 @@
 HSPLsun/misc/Cleaner;->create(Ljava/lang/Object;Ljava/lang/Runnable;)Lsun/misc/Cleaner;
 HSPLsun/misc/Cleaner;->remove(Lsun/misc/Cleaner;)Z
 HSPLsun/misc/CompoundEnumeration;->hasMoreElements()Z
-HSPLsun/misc/CompoundEnumeration;->next()Z
 HSPLsun/misc/FDBigInteger;-><init>(J[CII)V
 HSPLsun/misc/FDBigInteger;-><init>([II)V
+HSPLsun/misc/FDBigInteger;->add(Lsun/misc/FDBigInteger;)Lsun/misc/FDBigInteger;
 HSPLsun/misc/FDBigInteger;->addAndCmp(Lsun/misc/FDBigInteger;Lsun/misc/FDBigInteger;)I
 HSPLsun/misc/FDBigInteger;->cmp(Lsun/misc/FDBigInteger;)I
 HSPLsun/misc/FDBigInteger;->cmpPow52(II)I
@@ -52684,14 +42595,12 @@
 HSPLsun/misc/FloatingDecimal$BinaryToASCIIBuffer;->isNegative()Z
 HSPLsun/misc/FloatingDecimal$BinaryToASCIIBuffer;->roundup()V
 HSPLsun/misc/FloatingDecimal$BinaryToASCIIBuffer;->toJavaFormatString()Ljava/lang/String;
-HSPLsun/misc/FloatingDecimal$ExceptionalBinaryToASCIIBuffer;->appendTo(Ljava/lang/Appendable;)V
 HSPLsun/misc/FloatingDecimal$PreparedASCIIToBinaryBuffer;->doubleValue()D
 HSPLsun/misc/FloatingDecimal$PreparedASCIIToBinaryBuffer;->floatValue()F
 HSPLsun/misc/FloatingDecimal;->appendTo(DLjava/lang/Appendable;)V
 HSPLsun/misc/FloatingDecimal;->appendTo(FLjava/lang/Appendable;)V
 HSPLsun/misc/FloatingDecimal;->getBinaryToASCIIConverter(DZ)Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
 HSPLsun/misc/FloatingDecimal;->getBinaryToASCIIConverter(F)Lsun/misc/FloatingDecimal$BinaryToASCIIConverter;
-HSPLsun/misc/FloatingDecimal;->parseDouble(Ljava/lang/String;)D
 HSPLsun/misc/FloatingDecimal;->parseFloat(Ljava/lang/String;)F
 HSPLsun/misc/FloatingDecimal;->readJavaFormatString(Ljava/lang/String;)Lsun/misc/FloatingDecimal$ASCIIToBinaryConverter;
 HSPLsun/misc/FloatingDecimal;->toJavaFormatString(D)Ljava/lang/String;
@@ -52705,13 +42614,7 @@
 HSPLsun/misc/FormattedFloatingDecimal;->getMantissa()[C
 HSPLsun/misc/FormattedFloatingDecimal;->valueOf(DILsun/misc/FormattedFloatingDecimal$Form;)Lsun/misc/FormattedFloatingDecimal;
 HSPLsun/misc/IOUtils;->readFully(Ljava/io/InputStream;IZ)[B
-HSPLsun/misc/JavaIOFileDescriptorAccess;->get(Ljava/io/FileDescriptor;)I
-HSPLsun/misc/JavaIOFileDescriptorAccess;->getHandle(Ljava/io/FileDescriptor;)J
-HSPLsun/misc/JavaIOFileDescriptorAccess;->set(Ljava/io/FileDescriptor;I)V
-HSPLsun/misc/JavaIOFileDescriptorAccess;->setHandle(Ljava/io/FileDescriptor;J)V
-HSPLsun/misc/LRUCache;->create(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLsun/misc/LRUCache;->forName(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLsun/misc/LRUCache;->hasName(Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLsun/misc/SharedSecrets;->getJavaIOFileDescriptorAccess()Lsun/misc/JavaIOFileDescriptorAccess;
 HSPLsun/misc/SharedSecrets;->setJavaIOFileDescriptorAccess(Lsun/misc/JavaIOFileDescriptorAccess;)V
 HSPLsun/misc/Unsafe;->arrayBaseOffset(Ljava/lang/Class;)I
@@ -52736,8 +42639,6 @@
 HSPLsun/net/spi/DefaultProxySelector$NonProxyInfo;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/util/regex/Pattern;Ljava/lang/String;)V
 HSPLsun/net/spi/DefaultProxySelector;-><init>()V
 HSPLsun/net/spi/DefaultProxySelector;->select(Ljava/net/URI;)Ljava/util/List;
-HSPLsun/net/spi/nameservice/NameService;->getHostByAddr([B)Ljava/lang/String;
-HSPLsun/net/spi/nameservice/NameService;->lookupAllHostAddr(Ljava/lang/String;I)[Ljava/net/InetAddress;
 HSPLsun/net/util/IPAddressUtil;->isIPv4MappedAddress([B)Z
 HSPLsun/net/www/ParseUtil;->decode(Ljava/lang/String;)Ljava/lang/String;
 HSPLsun/net/www/ParseUtil;->encodePath(Ljava/lang/String;Z)Ljava/lang/String;
@@ -52750,9 +42651,7 @@
 HSPLsun/nio/ch/AbstractPollArrayWrapper;->putDescriptor(II)V
 HSPLsun/nio/ch/AbstractPollArrayWrapper;->putEventOps(II)V
 HSPLsun/nio/ch/AbstractPollArrayWrapper;->putReventOps(II)V
-HSPLsun/nio/ch/AbstractPollSelectorImpl;->doSelect(J)I
 HSPLsun/nio/ch/AbstractPollSelectorImpl;->implClose()V
-HSPLsun/nio/ch/AbstractPollSelectorImpl;->implCloseInterrupt()V
 HSPLsun/nio/ch/AbstractPollSelectorImpl;->implDereg(Lsun/nio/ch/SelectionKeyImpl;)V
 HSPLsun/nio/ch/AbstractPollSelectorImpl;->implRegister(Lsun/nio/ch/SelectionKeyImpl;)V
 HSPLsun/nio/ch/AbstractPollSelectorImpl;->putEventOps(Lsun/nio/ch/SelectionKeyImpl;I)V
@@ -52760,36 +42659,11 @@
 HSPLsun/nio/ch/AllocatedNativeObject;->free()V
 HSPLsun/nio/ch/ChannelInputStream;->available()I
 HSPLsun/nio/ch/ChannelInputStream;->close()V
+HSPLsun/nio/ch/ChannelInputStream;->read()I
 HSPLsun/nio/ch/ChannelInputStream;->read(Ljava/nio/ByteBuffer;)I
-HSPLsun/nio/ch/ChannelInputStream;->read(Ljava/nio/channels/ReadableByteChannel;Ljava/nio/ByteBuffer;)I
+HSPLsun/nio/ch/ChannelInputStream;->read(Ljava/nio/channels/ReadableByteChannel;Ljava/nio/ByteBuffer;Z)I
 HSPLsun/nio/ch/ChannelInputStream;->read([BII)I
-HSPLsun/nio/ch/DatagramChannelImpl;-><init>(Ljava/nio/channels/spi/SelectorProvider;)V
-HSPLsun/nio/ch/DatagramChannelImpl;->bind(Ljava/net/SocketAddress;)Ljava/nio/channels/DatagramChannel;
-HSPLsun/nio/ch/DatagramChannelImpl;->connect(Ljava/net/SocketAddress;)Ljava/nio/channels/DatagramChannel;
-HSPLsun/nio/ch/DatagramChannelImpl;->ensureOpen()V
-HSPLsun/nio/ch/DatagramChannelImpl;->ensureOpenAndUnconnected()V
-HSPLsun/nio/ch/DatagramChannelImpl;->finalize()V
-HSPLsun/nio/ch/DatagramChannelImpl;->getFD()Ljava/io/FileDescriptor;
-HSPLsun/nio/ch/DatagramChannelImpl;->implCloseSelectableChannel()V
-HSPLsun/nio/ch/DatagramChannelImpl;->implConfigureBlocking(Z)V
-HSPLsun/nio/ch/DatagramChannelImpl;->isConnected()Z
-HSPLsun/nio/ch/DatagramChannelImpl;->kill()V
-HSPLsun/nio/ch/DatagramChannelImpl;->read(Ljava/nio/ByteBuffer;)I
-HSPLsun/nio/ch/DatagramChannelImpl;->receive(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;)I
-HSPLsun/nio/ch/DatagramChannelImpl;->receive(Ljava/nio/ByteBuffer;)Ljava/net/SocketAddress;
-HSPLsun/nio/ch/DatagramChannelImpl;->socket()Ljava/net/DatagramSocket;
-HSPLsun/nio/ch/DatagramChannelImpl;->translateAndSetInterestOps(ILsun/nio/ch/SelectionKeyImpl;)V
-HSPLsun/nio/ch/DatagramChannelImpl;->translateAndSetReadyOps(ILsun/nio/ch/SelectionKeyImpl;)Z
-HSPLsun/nio/ch/DatagramChannelImpl;->translateReadyOps(IILsun/nio/ch/SelectionKeyImpl;)Z
-HSPLsun/nio/ch/DatagramChannelImpl;->write(Ljava/nio/ByteBuffer;)I
 HSPLsun/nio/ch/DatagramDispatcher;-><init>()V
-HSPLsun/nio/ch/DatagramDispatcher;->close(Ljava/io/FileDescriptor;)V
-HSPLsun/nio/ch/DatagramDispatcher;->preClose(Ljava/io/FileDescriptor;)V
-HSPLsun/nio/ch/DatagramDispatcher;->read(Ljava/io/FileDescriptor;JI)I
-HSPLsun/nio/ch/DatagramDispatcher;->write(Ljava/io/FileDescriptor;JI)I
-HSPLsun/nio/ch/DatagramSocketAdaptor$1;-><init>()V
-HSPLsun/nio/ch/DatagramSocketAdaptor;->bind(Ljava/net/SocketAddress;)V
-HSPLsun/nio/ch/DatagramSocketAdaptor;->create(Lsun/nio/ch/DatagramChannelImpl;)Ljava/net/DatagramSocket;
 HSPLsun/nio/ch/ExtendedSocketOption$1;-><init>()V
 HSPLsun/nio/ch/FileChannelImpl$Unmapper;-><init>(JJILjava/io/FileDescriptor;)V
 HSPLsun/nio/ch/FileChannelImpl$Unmapper;-><init>(JJILjava/io/FileDescriptor;Lsun/nio/ch/FileChannelImpl$1;)V
@@ -52806,45 +42680,28 @@
 HSPLsun/nio/ch/FileChannelImpl;->position()J
 HSPLsun/nio/ch/FileChannelImpl;->position(J)Ljava/nio/channels/FileChannel;
 HSPLsun/nio/ch/FileChannelImpl;->read(Ljava/nio/ByteBuffer;)I
-HSPLsun/nio/ch/FileChannelImpl;->read(Ljava/nio/ByteBuffer;J)I
-HSPLsun/nio/ch/FileChannelImpl;->readInternal(Ljava/nio/ByteBuffer;J)I
 HSPLsun/nio/ch/FileChannelImpl;->release(Lsun/nio/ch/FileLockImpl;)V
 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/FileDispatcher;->canTransferToDirectly(Ljava/nio/channels/SelectableChannel;)Z
-HSPLsun/nio/ch/FileDispatcher;->duplicateForMapping(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
-HSPLsun/nio/ch/FileDispatcher;->force(Ljava/io/FileDescriptor;Z)I
-HSPLsun/nio/ch/FileDispatcher;->lock(Ljava/io/FileDescriptor;ZJJZ)I
-HSPLsun/nio/ch/FileDispatcher;->release(Ljava/io/FileDescriptor;JJ)V
-HSPLsun/nio/ch/FileDispatcher;->size(Ljava/io/FileDescriptor;)J
-HSPLsun/nio/ch/FileDispatcher;->transferToDirectlyNeedsPositionLock()Z
-HSPLsun/nio/ch/FileDispatcher;->truncate(Ljava/io/FileDescriptor;J)I
 HSPLsun/nio/ch/FileDispatcherImpl;-><init>()V
 HSPLsun/nio/ch/FileDispatcherImpl;->close(Ljava/io/FileDescriptor;)V
 HSPLsun/nio/ch/FileDispatcherImpl;->duplicateForMapping(Ljava/io/FileDescriptor;)Ljava/io/FileDescriptor;
 HSPLsun/nio/ch/FileDispatcherImpl;->force(Ljava/io/FileDescriptor;Z)I
 HSPLsun/nio/ch/FileDispatcherImpl;->lock(Ljava/io/FileDescriptor;ZJJZ)I
-HSPLsun/nio/ch/FileDispatcherImpl;->pread(Ljava/io/FileDescriptor;JIJ)I
 HSPLsun/nio/ch/FileDispatcherImpl;->read(Ljava/io/FileDescriptor;JI)I
 HSPLsun/nio/ch/FileDispatcherImpl;->release(Ljava/io/FileDescriptor;JJ)V
 HSPLsun/nio/ch/FileDispatcherImpl;->size(Ljava/io/FileDescriptor;)J
-HSPLsun/nio/ch/FileDispatcherImpl;->truncate(Ljava/io/FileDescriptor;J)I
 HSPLsun/nio/ch/FileDispatcherImpl;->write(Ljava/io/FileDescriptor;JI)I
 HSPLsun/nio/ch/FileKey;->create(Ljava/io/FileDescriptor;)Lsun/nio/ch/FileKey;
 HSPLsun/nio/ch/FileKey;->hashCode()I
 HSPLsun/nio/ch/FileLockImpl;->invalidate()V
 HSPLsun/nio/ch/FileLockImpl;->isValid()Z
 HSPLsun/nio/ch/FileLockImpl;->release()V
-HSPLsun/nio/ch/FileLockTable;->add(Ljava/nio/channels/FileLock;)V
-HSPLsun/nio/ch/FileLockTable;->remove(Ljava/nio/channels/FileLock;)V
-HSPLsun/nio/ch/FileLockTable;->removeAll()Ljava/util/List;
-HSPLsun/nio/ch/FileLockTable;->replace(Ljava/nio/channels/FileLock;Ljava/nio/channels/FileLock;)V
 HSPLsun/nio/ch/IOUtil;->read(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I
 HSPLsun/nio/ch/IOUtil;->readIntoNativeBuffer(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I
 HSPLsun/nio/ch/IOUtil;->write(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I
 HSPLsun/nio/ch/IOUtil;->writeFromNativeBuffer(Ljava/io/FileDescriptor;Ljava/nio/ByteBuffer;JLsun/nio/ch/NativeDispatcher;)I
-HSPLsun/nio/ch/NativeDispatcher;->needsPositionLock()Z
 HSPLsun/nio/ch/NativeObject;-><init>(IZ)V
 HSPLsun/nio/ch/NativeObject;->address()J
 HSPLsun/nio/ch/NativeThreadSet;->add()I
@@ -52879,42 +42736,23 @@
 HSPLsun/nio/ch/SelectionKeyImpl;->selector()Ljava/nio/channels/Selector;
 HSPLsun/nio/ch/SelectionKeyImpl;->setIndex(I)V
 HSPLsun/nio/ch/SelectorImpl;-><init>(Ljava/nio/channels/spi/SelectorProvider;)V
-HSPLsun/nio/ch/SelectorImpl;->implClose()V
 HSPLsun/nio/ch/SelectorImpl;->implCloseSelector()V
-HSPLsun/nio/ch/SelectorImpl;->implDereg(Lsun/nio/ch/SelectionKeyImpl;)V
-HSPLsun/nio/ch/SelectorImpl;->implRegister(Lsun/nio/ch/SelectionKeyImpl;)V
 HSPLsun/nio/ch/SelectorImpl;->lockAndDoSelect(J)I
 HSPLsun/nio/ch/SelectorImpl;->processDeregisterQueue()V
 HSPLsun/nio/ch/SelectorImpl;->register(Ljava/nio/channels/spi/AbstractSelectableChannel;ILjava/lang/Object;)Ljava/nio/channels/SelectionKey;
 HSPLsun/nio/ch/SelectorImpl;->select(J)I
 HSPLsun/nio/ch/SelectorImpl;->selectedKeys()Ljava/util/Set;
-HSPLsun/nio/ch/SelectorProviderImpl;->openDatagramChannel()Ljava/nio/channels/DatagramChannel;
-HSPLsun/nio/ch/SelectorProviderImpl;->openSelector()Ljava/nio/channels/spi/AbstractSelector;
 HSPLsun/nio/ch/SelectorProviderImpl;->openSocketChannel()Ljava/nio/channels/SocketChannel;
 HSPLsun/nio/ch/SharedFileLockTable;->add(Ljava/nio/channels/FileLock;)V
-HSPLsun/nio/ch/SharedFileLockTable;->checkList(Ljava/util/List;JJ)V
 HSPLsun/nio/ch/SharedFileLockTable;->remove(Ljava/nio/channels/FileLock;)V
 HSPLsun/nio/ch/SharedFileLockTable;->removeAll()Ljava/util/List;
 HSPLsun/nio/ch/SharedFileLockTable;->removeStaleEntries()V
-HSPLsun/nio/ch/SocketAdaptor$1;->run()Ljava/io/InputStream;
-HSPLsun/nio/ch/SocketAdaptor$1;->run()Ljava/lang/Object;
-HSPLsun/nio/ch/SocketAdaptor$2;->run()Ljava/io/OutputStream;
-HSPLsun/nio/ch/SocketAdaptor$2;->run()Ljava/lang/Object;
 HSPLsun/nio/ch/SocketAdaptor;->create(Lsun/nio/ch/SocketChannelImpl;)Ljava/net/Socket;
 HSPLsun/nio/ch/SocketAdaptor;->getFileDescriptor$()Ljava/io/FileDescriptor;
-HSPLsun/nio/ch/SocketAdaptor;->getInetAddress()Ljava/net/InetAddress;
-HSPLsun/nio/ch/SocketAdaptor;->getInputStream()Ljava/io/InputStream;
-HSPLsun/nio/ch/SocketAdaptor;->getOutputStream()Ljava/io/OutputStream;
-HSPLsun/nio/ch/SocketAdaptor;->getPort()I
-HSPLsun/nio/ch/SocketAdaptor;->getSoTimeout()I
 HSPLsun/nio/ch/SocketAdaptor;->isClosed()Z
-HSPLsun/nio/ch/SocketAdaptor;->isConnected()Z
-HSPLsun/nio/ch/SocketAdaptor;->isInputShutdown()Z
-HSPLsun/nio/ch/SocketAdaptor;->isOutputShutdown()Z
 HSPLsun/nio/ch/SocketAdaptor;->setBooleanOption(Ljava/net/SocketOption;Z)V
 HSPLsun/nio/ch/SocketAdaptor;->setIntOption(Ljava/net/SocketOption;I)V
 HSPLsun/nio/ch/SocketAdaptor;->setSoLinger(ZI)V
-HSPLsun/nio/ch/SocketAdaptor;->setSoTimeout(I)V
 HSPLsun/nio/ch/SocketAdaptor;->setTcpNoDelay(Z)V
 HSPLsun/nio/ch/SocketAdaptor;->shutdownOutput()V
 HSPLsun/nio/ch/SocketChannelImpl$DefaultOptionsHolder;->defaultOptions()Ljava/util/Set;
@@ -52923,18 +42761,14 @@
 HSPLsun/nio/ch/SocketChannelImpl;->ensureOpenAndUnconnected()V
 HSPLsun/nio/ch/SocketChannelImpl;->ensureReadOpen()Z
 HSPLsun/nio/ch/SocketChannelImpl;->ensureWriteOpen()V
-HSPLsun/nio/ch/SocketChannelImpl;->finalize()V
 HSPLsun/nio/ch/SocketChannelImpl;->finishConnect()Z
 HSPLsun/nio/ch/SocketChannelImpl;->getFD()Ljava/io/FileDescriptor;
 HSPLsun/nio/ch/SocketChannelImpl;->implCloseSelectableChannel()V
 HSPLsun/nio/ch/SocketChannelImpl;->implConfigureBlocking(Z)V
 HSPLsun/nio/ch/SocketChannelImpl;->isConnected()Z
-HSPLsun/nio/ch/SocketChannelImpl;->isInputOpen()Z
-HSPLsun/nio/ch/SocketChannelImpl;->isOutputOpen()Z
 HSPLsun/nio/ch/SocketChannelImpl;->kill()V
 HSPLsun/nio/ch/SocketChannelImpl;->read(Ljava/nio/ByteBuffer;)I
 HSPLsun/nio/ch/SocketChannelImpl;->readerCleanup()V
-HSPLsun/nio/ch/SocketChannelImpl;->remoteAddress()Ljava/net/SocketAddress;
 HSPLsun/nio/ch/SocketChannelImpl;->setOption(Ljava/net/SocketOption;Ljava/lang/Object;)Ljava/nio/channels/SocketChannel;
 HSPLsun/nio/ch/SocketChannelImpl;->shutdownOutput()Ljava/nio/channels/SocketChannel;
 HSPLsun/nio/ch/SocketChannelImpl;->socket()Ljava/net/Socket;
@@ -52954,14 +42788,15 @@
 HSPLsun/nio/ch/Util$1;-><init>()V
 HSPLsun/nio/ch/Util$1;->initialValue()Ljava/lang/Object;
 HSPLsun/nio/ch/Util$1;->initialValue()Lsun/nio/ch/Util$BufferCache;
-HSPLsun/nio/ch/Util$2;->clear()V
-HSPLsun/nio/ch/Util$2;->iterator()Ljava/util/Iterator;
-HSPLsun/nio/ch/Util$2;->size()I
+HSPLsun/nio/ch/Util$3;->clear()V
+HSPLsun/nio/ch/Util$3;->iterator()Ljava/util/Iterator;
+HSPLsun/nio/ch/Util$3;->size()I
 HSPLsun/nio/ch/Util$BufferCache;->get(I)Ljava/nio/ByteBuffer;
 HSPLsun/nio/ch/Util$BufferCache;->isEmpty()Z
 HSPLsun/nio/ch/Util$BufferCache;->offerFirst(Ljava/nio/ByteBuffer;)Z
 HSPLsun/nio/ch/Util$BufferCache;->removeFirst()Ljava/nio/ByteBuffer;
 HSPLsun/nio/ch/Util;->atBugLevel(Ljava/lang/String;)Z
+HSPLsun/nio/ch/Util;->getMaxCachedBufferSize()J
 HSPLsun/nio/ch/Util;->getTemporaryDirectBuffer(I)Ljava/nio/ByteBuffer;
 HSPLsun/nio/cs/StreamDecoder;-><init>(Ljava/io/InputStream;Ljava/lang/Object;Ljava/nio/charset/Charset;)V
 HSPLsun/nio/cs/StreamDecoder;-><init>(Ljava/io/InputStream;Ljava/lang/Object;Ljava/nio/charset/CharsetDecoder;)V
@@ -52983,29 +42818,25 @@
 HSPLsun/nio/cs/StreamEncoder;->close()V
 HSPLsun/nio/cs/StreamEncoder;->ensureOpen()V
 HSPLsun/nio/cs/StreamEncoder;->flush()V
-HSPLsun/nio/cs/StreamEncoder;->flushBuffer()V
 HSPLsun/nio/cs/StreamEncoder;->flushLeftoverChar(Ljava/nio/CharBuffer;Z)V
 HSPLsun/nio/cs/StreamEncoder;->forOutputStreamWriter(Ljava/io/OutputStream;Ljava/lang/Object;Ljava/lang/String;)Lsun/nio/cs/StreamEncoder;
 HSPLsun/nio/cs/StreamEncoder;->implClose()V
 HSPLsun/nio/cs/StreamEncoder;->implFlush()V
 HSPLsun/nio/cs/StreamEncoder;->implFlushBuffer()V
 HSPLsun/nio/cs/StreamEncoder;->implWrite([CII)V
-HSPLsun/nio/cs/StreamEncoder;->write(I)V
 HSPLsun/nio/cs/StreamEncoder;->write(Ljava/lang/String;II)V
 HSPLsun/nio/cs/StreamEncoder;->write([CII)V
 HSPLsun/nio/cs/StreamEncoder;->writeBytes()V
 HSPLsun/nio/cs/ThreadLocalCoders$1;-><init>(I)V
-HSPLsun/nio/cs/ThreadLocalCoders$1;->create(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLsun/nio/cs/ThreadLocalCoders$1;->hasName(Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLsun/nio/cs/ThreadLocalCoders$2;-><init>(I)V
 HSPLsun/nio/cs/ThreadLocalCoders$2;->create(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLsun/nio/cs/ThreadLocalCoders$2;->hasName(Ljava/lang/Object;Ljava/lang/Object;)Z
 HSPLsun/nio/cs/ThreadLocalCoders$Cache;->forName(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLsun/nio/fs/AbstractFileSystemProvider;->implDelete(Ljava/nio/file/Path;Z)Z
+HSPLsun/nio/fs/AbstractPath;->resolve(Ljava/lang/String;)Ljava/nio/file/Path;
+HSPLsun/nio/fs/AbstractPath;->startsWith(Ljava/lang/String;)Z
+HSPLsun/nio/fs/AbstractPath;->toFile()Ljava/io/File;
 HSPLsun/nio/fs/DefaultFileSystemProvider;->create()Ljava/nio/file/spi/FileSystemProvider;
 HSPLsun/nio/fs/DefaultFileSystemProvider;->createProvider(Ljava/lang/String;)Ljava/nio/file/spi/FileSystemProvider;
-HSPLsun/nio/fs/DynamicFileAttributeView;->readAttributes([Ljava/lang/String;)Ljava/util/Map;
-HSPLsun/nio/fs/DynamicFileAttributeView;->setAttribute(Ljava/lang/String;Ljava/lang/Object;)V
 HSPLsun/nio/fs/LinuxFileSystemProvider;-><init>()V
 HSPLsun/nio/fs/LinuxFileSystemProvider;->getFileAttributeView(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;
 HSPLsun/nio/fs/LinuxFileSystemProvider;->newFileSystem(Ljava/lang/String;)Lsun/nio/fs/LinuxFileSystem;
@@ -53032,8 +42863,6 @@
 HSPLsun/nio/fs/UnixFileAttributes;->isRegularFile()Z
 HSPLsun/nio/fs/UnixFileModeAttribute;->toUnixMode(I[Ljava/nio/file/attribute/FileAttribute;)I
 HSPLsun/nio/fs/UnixFileSystem;-><init>(Lsun/nio/fs/UnixFileSystemProvider;Ljava/lang/String;)V
-HSPLsun/nio/fs/UnixFileSystem;->getFileStore(Lsun/nio/fs/UnixMountEntry;)Ljava/nio/file/FileStore;
-HSPLsun/nio/fs/UnixFileSystem;->getMountEntries()Ljava/lang/Iterable;
 HSPLsun/nio/fs/UnixFileSystem;->getPath(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
 HSPLsun/nio/fs/UnixFileSystem;->needToResolveAgainstDefaultDirectory()Z
 HSPLsun/nio/fs/UnixFileSystem;->normalizeJavaPath(Ljava/lang/String;)Ljava/lang/String;
@@ -53043,11 +42872,9 @@
 HSPLsun/nio/fs/UnixFileSystemProvider;->checkPath(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
 HSPLsun/nio/fs/UnixFileSystemProvider;->checkUri(Ljava/net/URI;)V
 HSPLsun/nio/fs/UnixFileSystemProvider;->getFileAttributeView(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileAttributeView;
-HSPLsun/nio/fs/UnixFileSystemProvider;->getFileStore(Lsun/nio/fs/UnixPath;)Ljava/nio/file/FileStore;
 HSPLsun/nio/fs/UnixFileSystemProvider;->getFileSystem(Ljava/net/URI;)Ljava/nio/file/FileSystem;
 HSPLsun/nio/fs/UnixFileSystemProvider;->newByteChannel(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/SeekableByteChannel;
 HSPLsun/nio/fs/UnixFileSystemProvider;->newFileChannel(Ljava/nio/file/Path;Ljava/util/Set;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/channels/FileChannel;
-HSPLsun/nio/fs/UnixFileSystemProvider;->newFileSystem(Ljava/lang/String;)Lsun/nio/fs/UnixFileSystem;
 HSPLsun/nio/fs/UnixFileSystemProvider;->readAttributes(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
 HSPLsun/nio/fs/UnixNativeDispatcher;->access(Lsun/nio/fs/UnixPath;I)V
 HSPLsun/nio/fs/UnixNativeDispatcher;->lstat(Lsun/nio/fs/UnixPath;Lsun/nio/fs/UnixFileAttributes;)V
@@ -53067,10 +42894,17 @@
 HSPLsun/nio/fs/UnixPath;->initOffsets()V
 HSPLsun/nio/fs/UnixPath;->normalize(Ljava/lang/String;II)Ljava/lang/String;
 HSPLsun/nio/fs/UnixPath;->normalizeAndCheck(Ljava/lang/String;)Ljava/lang/String;
+HSPLsun/nio/fs/UnixPath;->resolve(Ljava/nio/file/Path;)Ljava/nio/file/Path;
+HSPLsun/nio/fs/UnixPath;->resolve(Ljava/nio/file/Path;)Lsun/nio/fs/UnixPath;
+HSPLsun/nio/fs/UnixPath;->resolve([B[B)[B
 HSPLsun/nio/fs/UnixPath;->startsWith(Ljava/nio/file/Path;)Z
 HSPLsun/nio/fs/UnixPath;->toString()Ljava/lang/String;
 HSPLsun/nio/fs/Util;->newSet([Ljava/lang/Object;)Ljava/util/Set;
+HSPLsun/reflect/Reflection;->ensureMemberAccess(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Object;I)V
+HSPLsun/reflect/Reflection;->isSameClassPackage(Ljava/lang/ClassLoader;Ljava/lang/String;Ljava/lang/ClassLoader;Ljava/lang/String;)Z
+HSPLsun/reflect/Reflection;->verifyMemberAccess(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Object;I)Z
 HSPLsun/reflect/misc/ReflectUtil;->checkPackageAccess(Ljava/lang/String;)V
+HSPLsun/reflect/misc/ReflectUtil;->ensureMemberAccess(Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/Object;I)V
 HSPLsun/reflect/misc/ReflectUtil;->isNonPublicProxyClass(Ljava/lang/Class;)Z
 HSPLsun/security/action/GetBooleanAction;-><init>(Ljava/lang/String;)V
 HSPLsun/security/action/GetBooleanAction;->run()Ljava/lang/Boolean;
@@ -53111,10 +42945,13 @@
 HSPLsun/security/jca/Providers;->endThreadProviderList(Lsun/security/jca/ProviderList;)V
 HSPLsun/security/jca/Providers;->getFullProviderList()Lsun/security/jca/ProviderList;
 HSPLsun/security/jca/Providers;->getSunProvider()Ljava/security/Provider;
+HSPLsun/security/jca/Providers;->startJarVerification()Ljava/lang/Object;
+HSPLsun/security/jca/Providers;->stopJarVerification(Ljava/lang/Object;)V
 HSPLsun/security/jca/ServiceId;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLsun/security/pkcs/ContentInfo;-><init>(Lsun/security/util/DerInputStream;Z)V
 HSPLsun/security/pkcs/ContentInfo;->getContent()Lsun/security/util/DerValue;
 HSPLsun/security/pkcs/ContentInfo;->getData()[B
+HSPLsun/security/pkcs/PKCS7$VerbatimX509Certificate;->getEncoded()[B
 HSPLsun/security/pkcs/PKCS7$WrappedX509Certificate;->getIssuerDN()Ljava/security/Principal;
 HSPLsun/security/pkcs/PKCS7$WrappedX509Certificate;->getKeyUsage()[Z
 HSPLsun/security/pkcs/PKCS7$WrappedX509Certificate;->getPublicKey()Ljava/security/PublicKey;
@@ -53148,7 +42985,6 @@
 HSPLsun/security/provider/certpath/AdaptableX509CertSelector;->match(Ljava/security/cert/Certificate;)Z
 HSPLsun/security/provider/certpath/AdaptableX509CertSelector;->matchSubjectKeyID(Ljava/security/cert/X509Certificate;)Z
 HSPLsun/security/provider/certpath/AlgorithmChecker;-><init>(Ljava/security/cert/TrustAnchor;Ljava/security/AlgorithmConstraints;)V
-HSPLsun/security/provider/certpath/AlgorithmChecker;->check(Ljava/security/PublicKey;Lsun/security/x509/AlgorithmId;)V
 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
@@ -53159,16 +42995,6 @@
 HSPLsun/security/provider/certpath/BasicChecker;->verifyNameChaining(Ljava/security/cert/X509Certificate;)V
 HSPLsun/security/provider/certpath/BasicChecker;->verifySignature(Ljava/security/cert/X509Certificate;)V
 HSPLsun/security/provider/certpath/BasicChecker;->verifyTimestamp(Ljava/security/cert/X509Certificate;)V
-HSPLsun/security/provider/certpath/CertId;-><init>(Ljavax/security/auth/x500/X500Principal;Ljava/security/PublicKey;Lsun/security/x509/SerialNumber;)V
-HSPLsun/security/provider/certpath/CertId;-><init>(Lsun/security/util/DerInputStream;)V
-HSPLsun/security/provider/certpath/CertId;->equals(Ljava/lang/Object;)Z
-HSPLsun/security/provider/certpath/CertId;->getHashAlgorithm()Lsun/security/x509/AlgorithmId;
-HSPLsun/security/provider/certpath/CertId;->getIssuerKeyHash()[B
-HSPLsun/security/provider/certpath/CertId;->getIssuerNameHash()[B
-HSPLsun/security/provider/certpath/CertId;->getSerialNumber()Ljava/math/BigInteger;
-HSPLsun/security/provider/certpath/CertId;->hashCode()I
-HSPLsun/security/provider/certpath/CertPathHelper;->implSetDateAndTime(Ljava/security/cert/X509CRLSelector;Ljava/util/Date;J)V
-HSPLsun/security/provider/certpath/CertPathHelper;->implSetPathToNames(Ljava/security/cert/X509CertSelector;Ljava/util/Set;)V
 HSPLsun/security/provider/certpath/ConstraintsChecker;->check(Ljava/security/cert/Certificate;Ljava/util/Collection;)V
 HSPLsun/security/provider/certpath/ConstraintsChecker;->checkBasicConstraints(Ljava/security/cert/X509Certificate;)V
 HSPLsun/security/provider/certpath/ConstraintsChecker;->init(Z)V
@@ -53178,19 +43004,9 @@
 HSPLsun/security/provider/certpath/KeyChecker;->init(Z)V
 HSPLsun/security/provider/certpath/KeyChecker;->verifyCAKeyUsage(Ljava/security/cert/X509Certificate;)V
 HSPLsun/security/provider/certpath/OCSP$RevocationStatus$CertStatus;-><init>(Ljava/lang/String;I)V
-HSPLsun/security/provider/certpath/OCSP$RevocationStatus;->getCertStatus()Lsun/security/provider/certpath/OCSP$RevocationStatus$CertStatus;
-HSPLsun/security/provider/certpath/OCSP$RevocationStatus;->getRevocationReason()Ljava/security/cert/CRLReason;
-HSPLsun/security/provider/certpath/OCSP$RevocationStatus;->getRevocationTime()Ljava/util/Date;
-HSPLsun/security/provider/certpath/OCSP$RevocationStatus;->getSingleExtensions()Ljava/util/Map;
 HSPLsun/security/provider/certpath/OCSPResponse$ResponseStatus;-><init>(Ljava/lang/String;I)V
 HSPLsun/security/provider/certpath/OCSPResponse$ResponseStatus;->values()[Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
-HSPLsun/security/provider/certpath/OCSPResponse$SingleResponse;-><init>(Lsun/security/util/DerValue;)V
-HSPLsun/security/provider/certpath/OCSPResponse$SingleResponse;-><init>(Lsun/security/util/DerValue;Lsun/security/provider/certpath/OCSPResponse$1;)V
-HSPLsun/security/provider/certpath/OCSPResponse$SingleResponse;->access$100(Lsun/security/provider/certpath/OCSPResponse$SingleResponse;)Lsun/security/provider/certpath/CertId;
-HSPLsun/security/provider/certpath/OCSPResponse;-><init>([B)V
 HSPLsun/security/provider/certpath/OCSPResponse;->initializeClockSkew()I
-HSPLsun/security/provider/certpath/OCSPResponse;->verify(Ljava/util/List;Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;Ljava/util/Date;[B)V
-HSPLsun/security/provider/certpath/OCSPResponse;->verifySignature(Ljava/security/cert/X509Certificate;)Z
 HSPLsun/security/provider/certpath/PKIX$ValidatorParams;-><init>(Ljava/security/cert/CertPath;Ljava/security/cert/PKIXParameters;)V
 HSPLsun/security/provider/certpath/PKIX$ValidatorParams;-><init>(Ljava/security/cert/PKIXParameters;)V
 HSPLsun/security/provider/certpath/PKIX$ValidatorParams;->anyPolicyInhibited()Z
@@ -53257,15 +43073,7 @@
 HSPLsun/security/util/ByteArrayTagOrder;-><init>()V
 HSPLsun/security/util/Cache$EqualByteArray;->equals(Ljava/lang/Object;)Z
 HSPLsun/security/util/Cache$EqualByteArray;->hashCode()I
-HSPLsun/security/util/Cache;->accept(Lsun/security/util/Cache$CacheVisitor;)V
-HSPLsun/security/util/Cache;->clear()V
-HSPLsun/security/util/Cache;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLsun/security/util/Cache;->newSoftMemoryCache(I)Lsun/security/util/Cache;
-HSPLsun/security/util/Cache;->put(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLsun/security/util/Cache;->remove(Ljava/lang/Object;)V
-HSPLsun/security/util/Cache;->setCapacity(I)V
-HSPLsun/security/util/Cache;->setTimeout(I)V
-HSPLsun/security/util/Cache;->size()I
 HSPLsun/security/util/CertConstraintParameters;->getCertificate()Ljava/security/cert/X509Certificate;
 HSPLsun/security/util/Debug;->getInstance(Ljava/lang/String;)Lsun/security/util/Debug;
 HSPLsun/security/util/Debug;->getInstance(Ljava/lang/String;Ljava/lang/String;)Lsun/security/util/Debug;
@@ -53288,7 +43096,6 @@
 HSPLsun/security/util/DerInputStream;->getByte()I
 HSPLsun/security/util/DerInputStream;->getBytes([B)V
 HSPLsun/security/util/DerInputStream;->getDerValue()Lsun/security/util/DerValue;
-HSPLsun/security/util/DerInputStream;->getEnumerated()I
 HSPLsun/security/util/DerInputStream;->getGeneralizedTime()Ljava/util/Date;
 HSPLsun/security/util/DerInputStream;->getLength()I
 HSPLsun/security/util/DerInputStream;->getLength(ILjava/io/InputStream;)I
@@ -53341,7 +43148,6 @@
 HSPLsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;-><init>(Ljava/lang/String;I)V
 HSPLsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;->of(Ljava/lang/String;)Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;
 HSPLsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;->values()[Lsun/security/util/DisabledAlgorithmConstraints$Constraint$Operator;
-HSPLsun/security/util/DisabledAlgorithmConstraints$Constraint;->permits(Lsun/security/util/CertConstraintParameters;)V
 HSPLsun/security/util/DisabledAlgorithmConstraints$Constraints;-><init>([Ljava/lang/String;)V
 HSPLsun/security/util/DisabledAlgorithmConstraints$Constraints;->permits(Ljava/security/Key;)Z
 HSPLsun/security/util/DisabledAlgorithmConstraints$Constraints;->permits(Lsun/security/util/CertConstraintParameters;)V
@@ -53366,10 +43172,6 @@
 HSPLsun/security/util/ManifestEntryVerifier;->update(B)V
 HSPLsun/security/util/ManifestEntryVerifier;->update([BII)V
 HSPLsun/security/util/ManifestEntryVerifier;->verify(Ljava/util/Hashtable;Ljava/util/Hashtable;)[Ljava/security/CodeSigner;
-HSPLsun/security/util/MemoryCache$CacheEntry;->getKey()Ljava/lang/Object;
-HSPLsun/security/util/MemoryCache$CacheEntry;->getValue()Ljava/lang/Object;
-HSPLsun/security/util/MemoryCache$CacheEntry;->invalidate()V
-HSPLsun/security/util/MemoryCache$CacheEntry;->isValid(J)Z
 HSPLsun/security/util/MemoryCache$SoftCacheEntry;->getValue()Ljava/lang/Object;
 HSPLsun/security/util/MemoryCache$SoftCacheEntry;->isValid(J)Z
 HSPLsun/security/util/MemoryCache;-><init>(ZII)V
@@ -53398,10 +43200,8 @@
 HSPLsun/security/util/SignatureFileVerifier;->getSigners([Lsun/security/pkcs/SignerInfo;Lsun/security/pkcs/PKCS7;)[Ljava/security/CodeSigner;
 HSPLsun/security/util/SignatureFileVerifier;->isBlockOrSF(Ljava/lang/String;)Z
 HSPLsun/security/util/SignatureFileVerifier;->matches([Ljava/security/CodeSigner;[Ljava/security/CodeSigner;[Ljava/security/CodeSigner;)Z
-HSPLsun/security/util/SignatureFileVerifier;->needSignatureFile(Ljava/lang/String;)Z
 HSPLsun/security/util/SignatureFileVerifier;->process(Ljava/util/Hashtable;Ljava/util/List;)V
 HSPLsun/security/util/SignatureFileVerifier;->processImpl(Ljava/util/Hashtable;Ljava/util/List;)V
-HSPLsun/security/util/SignatureFileVerifier;->setSignatureFile([B)V
 HSPLsun/security/util/SignatureFileVerifier;->updateSigners([Ljava/security/CodeSigner;Ljava/util/Hashtable;Ljava/lang/String;)V
 HSPLsun/security/util/SignatureFileVerifier;->verifyManifestHash(Ljava/util/jar/Manifest;Lsun/security/util/ManifestDigester;Ljava/util/List;)Z
 HSPLsun/security/x509/AVA;-><init>(Ljava/io/Reader;ILjava/util/Map;)V
@@ -53424,10 +43224,8 @@
 HSPLsun/security/x509/AlgorithmId;->getEncAlgFromSigAlg(Ljava/lang/String;)Ljava/lang/String;
 HSPLsun/security/x509/AlgorithmId;->getName()Ljava/lang/String;
 HSPLsun/security/x509/AlgorithmId;->getParameters()Ljava/security/AlgorithmParameters;
-HSPLsun/security/x509/AlgorithmId;->hashCode()I
 HSPLsun/security/x509/AlgorithmId;->makeSigAlg(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 HSPLsun/security/x509/AlgorithmId;->oid([I)Lsun/security/util/ObjectIdentifier;
-HSPLsun/security/x509/AlgorithmId;->paramsToString()Ljava/lang/String;
 HSPLsun/security/x509/AlgorithmId;->parse(Lsun/security/util/DerValue;)Lsun/security/x509/AlgorithmId;
 HSPLsun/security/x509/AuthorityInfoAccessExtension;-><init>(Ljava/lang/Boolean;Ljava/lang/Object;)V
 HSPLsun/security/x509/AuthorityInfoAccessExtension;->getName()Ljava/lang/String;
@@ -53441,7 +43239,6 @@
 HSPLsun/security/x509/CRLDistributionPointsExtension;-><init>(Lsun/security/util/ObjectIdentifier;Ljava/lang/Boolean;Ljava/lang/Object;Ljava/lang/String;)V
 HSPLsun/security/x509/CRLDistributionPointsExtension;->getName()Ljava/lang/String;
 HSPLsun/security/x509/CertificateAlgorithmId;->get(Ljava/lang/String;)Lsun/security/x509/AlgorithmId;
-HSPLsun/security/x509/CertificateExtensions;->get(Ljava/lang/String;)Lsun/security/x509/Extension;
 HSPLsun/security/x509/CertificateExtensions;->getAllExtensions()Ljava/util/Collection;
 HSPLsun/security/x509/CertificateExtensions;->getExtension(Ljava/lang/String;)Lsun/security/x509/Extension;
 HSPLsun/security/x509/CertificateExtensions;->parseExtension(Lsun/security/x509/Extension;)V
@@ -53449,16 +43246,12 @@
 HSPLsun/security/x509/CertificatePoliciesExtension;->get(Ljava/lang/String;)Ljava/util/List;
 HSPLsun/security/x509/CertificatePoliciesExtension;->getName()Ljava/lang/String;
 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
-HSPLsun/security/x509/CertificateValidity;->valid(Ljava/util/Date;)V
 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;
 HSPLsun/security/x509/DNSName;-><init>(Ljava/lang/String;)V
 HSPLsun/security/x509/DistributionPoint;-><init>(Lsun/security/util/DerValue;)V
 HSPLsun/security/x509/ExtendedKeyUsageExtension;-><init>(Ljava/lang/Boolean;Ljava/lang/Object;)V
-HSPLsun/security/x509/ExtendedKeyUsageExtension;->getExtendedKeyUsage()Ljava/util/List;
 HSPLsun/security/x509/ExtendedKeyUsageExtension;->getName()Ljava/lang/String;
 HSPLsun/security/x509/Extension;-><init>(Lsun/security/util/DerValue;)V
 HSPLsun/security/x509/Extension;->getExtensionId()Lsun/security/util/ObjectIdentifier;
@@ -53468,13 +43261,9 @@
 HSPLsun/security/x509/GeneralNames;-><init>(Lsun/security/util/DerValue;)V
 HSPLsun/security/x509/GeneralNames;->add(Lsun/security/x509/GeneralName;)Lsun/security/x509/GeneralNames;
 HSPLsun/security/x509/KeyIdentifier;->encode(Lsun/security/util/DerOutputStream;)V
-HSPLsun/security/x509/KeyIdentifier;->equals(Ljava/lang/Object;)Z
 HSPLsun/security/x509/KeyUsageExtension;-><init>(Ljava/lang/Boolean;Ljava/lang/Object;)V
-HSPLsun/security/x509/KeyUsageExtension;->getBits()[Z
 HSPLsun/security/x509/KeyUsageExtension;->getName()Ljava/lang/String;
 HSPLsun/security/x509/NetscapeCertTypeExtension$MapEntry;-><init>(Ljava/lang/String;I)V
-HSPLsun/security/x509/OCSPNoCheckExtension;-><init>(Ljava/lang/Boolean;Ljava/lang/Object;)V
-HSPLsun/security/x509/OCSPNoCheckExtension;->getName()Ljava/lang/String;
 HSPLsun/security/x509/OIDMap$OIDInfo;->getClazz()Ljava/lang/Class;
 HSPLsun/security/x509/OIDMap;->addInternal(Ljava/lang/String;Lsun/security/util/ObjectIdentifier;Ljava/lang/Class;)V
 HSPLsun/security/x509/PolicyInformation;-><init>(Lsun/security/util/DerValue;)V
@@ -53486,11 +43275,9 @@
 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;
 HSPLsun/security/x509/SubjectAlternativeNameExtension;-><init>(Ljava/lang/Boolean;Ljava/lang/Object;)V
 HSPLsun/security/x509/SubjectAlternativeNameExtension;->getName()Ljava/lang/String;
 HSPLsun/security/x509/SubjectKeyIdentifierExtension;-><init>(Ljava/lang/Boolean;Ljava/lang/Object;)V
-HSPLsun/security/x509/SubjectKeyIdentifierExtension;->get(Ljava/lang/String;)Lsun/security/x509/KeyIdentifier;
 HSPLsun/security/x509/SubjectKeyIdentifierExtension;->getName()Ljava/lang/String;
 HSPLsun/security/x509/URIName;-><init>(Ljava/lang/String;)V
 HSPLsun/security/x509/X500Name$1;-><init>()V
@@ -53515,32 +43302,21 @@
 HSPLsun/security/x509/X500Name;->parseDN(Ljava/lang/String;Ljava/util/Map;)V
 HSPLsun/security/x509/X509AttributeName;-><init>(Ljava/lang/String;)V
 HSPLsun/security/x509/X509CertImpl;-><init>([B)V
-HSPLsun/security/x509/X509CertImpl;->checkValidity(Ljava/util/Date;)V
 HSPLsun/security/x509/X509CertImpl;->get(Ljava/lang/String;)Ljava/lang/Object;
 HSPLsun/security/x509/X509CertImpl;->getAuthorityKeyIdentifierExtension()Lsun/security/x509/AuthorityKeyIdentifierExtension;
 HSPLsun/security/x509/X509CertImpl;->getCertificatePoliciesExtension()Lsun/security/x509/CertificatePoliciesExtension;
 HSPLsun/security/x509/X509CertImpl;->getEncodedInternal()[B
-HSPLsun/security/x509/X509CertImpl;->getExtendedKeyUsage()Ljava/util/List;
-HSPLsun/security/x509/X509CertImpl;->getExtendedKeyUsageExtension()Lsun/security/x509/ExtendedKeyUsageExtension;
 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;->getKeyUsage()[Z
 HSPLsun/security/x509/X509CertImpl;->getNameConstraintsExtension()Lsun/security/x509/NameConstraintsExtension;
 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;
-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;
 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
 HSPLsun/security/x509/X509CertInfo;-><init>(Lsun/security/util/DerValue;)V
 HSPLsun/security/x509/X509CertInfo;-><init>([B)V
 HSPLsun/security/x509/X509CertInfo;->get(Ljava/lang/String;)Ljava/lang/Object;
-HSPLsun/security/x509/X509CertInfo;->getEncodedInfo()[B
 HSPLsun/security/x509/X509CertInfo;->getX500Name(Ljava/lang/String;Z)Ljava/lang/Object;
 HSPLsun/security/x509/X509CertInfo;->parse(Lsun/security/util/DerValue;)V
 HSPLsun/security/x509/X509CertInfo;->verifyCert(Lsun/security/x509/X500Name;Lsun/security/x509/CertificateExtensions;)V
@@ -53548,30 +43324,23 @@
 HSPLsun/security/x509/X509Key;->parse(Lsun/security/util/DerValue;)Ljava/security/PublicKey;
 HSPLsun/util/calendar/AbstractCalendar;->getCalendarDate(JLsun/util/calendar/CalendarDate;)Lsun/util/calendar/CalendarDate;
 HSPLsun/util/calendar/AbstractCalendar;->getDayOfWeekDateOnOrBefore(JI)J
-HSPLsun/util/calendar/AbstractCalendar;->getEras()[Lsun/util/calendar/Era;
-HSPLsun/util/calendar/AbstractCalendar;->getFixedDate(Lsun/util/calendar/CalendarDate;)J
 HSPLsun/util/calendar/AbstractCalendar;->getTime(Lsun/util/calendar/CalendarDate;)J
 HSPLsun/util/calendar/AbstractCalendar;->getTimeOfDay(Lsun/util/calendar/CalendarDate;)J
 HSPLsun/util/calendar/AbstractCalendar;->getTimeOfDayValue(Lsun/util/calendar/CalendarDate;)J
-HSPLsun/util/calendar/AbstractCalendar;->isLeapYear(Lsun/util/calendar/CalendarDate;)Z
-HSPLsun/util/calendar/AbstractCalendar;->setEras([Lsun/util/calendar/Era;)V
 HSPLsun/util/calendar/AbstractCalendar;->setTimeOfDay(Lsun/util/calendar/CalendarDate;I)Lsun/util/calendar/CalendarDate;
 HSPLsun/util/calendar/BaseCalendar$Date;->getCachedJan1()J
 HSPLsun/util/calendar/BaseCalendar$Date;->getCachedYear()I
 HSPLsun/util/calendar/BaseCalendar$Date;->setCache(IJI)V
-HSPLsun/util/calendar/BaseCalendar$Date;->setNormalizedDate(III)Lsun/util/calendar/BaseCalendar$Date;
 HSPLsun/util/calendar/BaseCalendar;->getCalendarDateFromFixedDate(Lsun/util/calendar/CalendarDate;J)V
 HSPLsun/util/calendar/BaseCalendar;->getFixedDate(IIILsun/util/calendar/BaseCalendar$Date;)J
 HSPLsun/util/calendar/BaseCalendar;->getFixedDate(Lsun/util/calendar/CalendarDate;)J
 HSPLsun/util/calendar/BaseCalendar;->getGregorianYearFromFixedDate(J)I
-HSPLsun/util/calendar/BaseCalendar;->getMonthLength(Lsun/util/calendar/CalendarDate;)I
 HSPLsun/util/calendar/BaseCalendar;->isLeapYear(I)Z
 HSPLsun/util/calendar/BaseCalendar;->isLeapYear(Lsun/util/calendar/CalendarDate;)Z
 HSPLsun/util/calendar/BaseCalendar;->normalizeMonth(Lsun/util/calendar/CalendarDate;)V
 HSPLsun/util/calendar/CalendarDate;->clone()Ljava/lang/Object;
 HSPLsun/util/calendar/CalendarDate;->getDayOfMonth()I
 HSPLsun/util/calendar/CalendarDate;->getDayOfWeek()I
-HSPLsun/util/calendar/CalendarDate;->getEra()Lsun/util/calendar/Era;
 HSPLsun/util/calendar/CalendarDate;->getHours()I
 HSPLsun/util/calendar/CalendarDate;->getMillis()I
 HSPLsun/util/calendar/CalendarDate;->getMinutes()I
@@ -53600,18 +43369,7 @@
 HSPLsun/util/calendar/CalendarDate;->setYear(I)Lsun/util/calendar/CalendarDate;
 HSPLsun/util/calendar/CalendarDate;->setZone(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
 HSPLsun/util/calendar/CalendarDate;->setZoneOffset(I)V
-HSPLsun/util/calendar/CalendarSystem;->forName(Ljava/lang/String;)Lsun/util/calendar/CalendarSystem;
-HSPLsun/util/calendar/CalendarSystem;->getEra(Ljava/lang/String;)Lsun/util/calendar/Era;
-HSPLsun/util/calendar/CalendarSystem;->getEras()[Lsun/util/calendar/Era;
 HSPLsun/util/calendar/CalendarSystem;->getGregorianCalendar()Lsun/util/calendar/Gregorian;
-HSPLsun/util/calendar/CalendarSystem;->getMonthLength(Lsun/util/calendar/CalendarDate;)I
-HSPLsun/util/calendar/CalendarSystem;->getNthDayOfWeek(IILsun/util/calendar/CalendarDate;)Lsun/util/calendar/CalendarDate;
-HSPLsun/util/calendar/CalendarSystem;->getTime(Lsun/util/calendar/CalendarDate;)J
-HSPLsun/util/calendar/CalendarSystem;->getWeekLength()I
-HSPLsun/util/calendar/CalendarSystem;->getYearLength(Lsun/util/calendar/CalendarDate;)I
-HSPLsun/util/calendar/CalendarSystem;->getYearLengthInMonths(Lsun/util/calendar/CalendarDate;)I
-HSPLsun/util/calendar/CalendarSystem;->setEra(Lsun/util/calendar/CalendarDate;Ljava/lang/String;)V
-HSPLsun/util/calendar/CalendarSystem;->setTimeOfDay(Lsun/util/calendar/CalendarDate;I)Lsun/util/calendar/CalendarDate;
 HSPLsun/util/calendar/CalendarUtils;->sprintf0d(Ljava/lang/StringBuilder;II)Ljava/lang/StringBuilder;
 HSPLsun/util/calendar/Era;-><init>(Ljava/lang/String;Ljava/lang/String;JZ)V
 HSPLsun/util/calendar/Gregorian$Date;->getNormalizedYear()I
@@ -53623,15 +43381,6 @@
 HSPLsun/util/calendar/Gregorian;->getCalendarDate(JLsun/util/calendar/CalendarDate;)Lsun/util/calendar/Gregorian$Date;
 HSPLsun/util/calendar/Gregorian;->newCalendarDate(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
 HSPLsun/util/calendar/Gregorian;->newCalendarDate(Ljava/util/TimeZone;)Lsun/util/calendar/Gregorian$Date;
-HSPLsun/util/calendar/JulianCalendar$Date;->getNormalizedYear()I
-HSPLsun/util/calendar/JulianCalendar$Date;->setKnownEra(Lsun/util/calendar/Era;)V
-HSPLsun/util/calendar/JulianCalendar$Date;->setNormalizedYear(I)V
-HSPLsun/util/calendar/JulianCalendar;-><init>()V
-HSPLsun/util/calendar/JulianCalendar;->getCalendarDateFromFixedDate(Lsun/util/calendar/CalendarDate;J)V
-HSPLsun/util/calendar/JulianCalendar;->getFixedDate(IIILsun/util/calendar/BaseCalendar$Date;)J
-HSPLsun/util/calendar/JulianCalendar;->isLeapYear(I)Z
-HSPLsun/util/calendar/JulianCalendar;->newCalendarDate(Ljava/util/TimeZone;)Lsun/util/calendar/CalendarDate;
-HSPLsun/util/calendar/JulianCalendar;->newCalendarDate(Ljava/util/TimeZone;)Lsun/util/calendar/JulianCalendar$Date;
 HSPLsun/util/locale/BaseLocale$Cache;->createObject(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLsun/util/locale/BaseLocale$Cache;->createObject(Lsun/util/locale/BaseLocale$Key;)Lsun/util/locale/BaseLocale;
 HSPLsun/util/locale/BaseLocale$Cache;->normalizeKey(Ljava/lang/Object;)Ljava/lang/Object;
@@ -53644,16 +43393,12 @@
 HSPLsun/util/locale/BaseLocale;->equals(Ljava/lang/Object;)Z
 HSPLsun/util/locale/BaseLocale;->getInstance(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lsun/util/locale/BaseLocale;
 HSPLsun/util/locale/BaseLocale;->hashCode()I
+HSPLsun/util/locale/Extension;->setValue(Ljava/lang/String;)V
 HSPLsun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar;-><init>(Ljava/lang/String;Lsun/util/locale/InternalLocaleBuilder$1;)V
 HSPLsun/util/locale/InternalLocaleBuilder;->getBaseLocale()Lsun/util/locale/BaseLocale;
 HSPLsun/util/locale/InternalLocaleBuilder;->getLocaleExtensions()Lsun/util/locale/LocaleExtensions;
 HSPLsun/util/locale/InternalLocaleBuilder;->setExtensions(Ljava/util/List;Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder;
-HSPLsun/util/locale/InternalLocaleBuilder;->setLanguage(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder;
 HSPLsun/util/locale/InternalLocaleBuilder;->setLanguageTag(Lsun/util/locale/LanguageTag;)Lsun/util/locale/InternalLocaleBuilder;
-HSPLsun/util/locale/InternalLocaleBuilder;->setRegion(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder;
-HSPLsun/util/locale/InternalLocaleBuilder;->setScript(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder;
-HSPLsun/util/locale/InternalLocaleBuilder;->setVariant(Ljava/lang/String;)Lsun/util/locale/InternalLocaleBuilder;
-HSPLsun/util/locale/LanguageTag;-><init>()V
 HSPLsun/util/locale/LanguageTag;->getExtensions()Ljava/util/List;
 HSPLsun/util/locale/LanguageTag;->getExtlangs()Ljava/util/List;
 HSPLsun/util/locale/LanguageTag;->getLanguage()Ljava/lang/String;
@@ -53661,7 +43406,6 @@
 HSPLsun/util/locale/LanguageTag;->getRegion()Ljava/lang/String;
 HSPLsun/util/locale/LanguageTag;->getScript()Ljava/lang/String;
 HSPLsun/util/locale/LanguageTag;->getVariants()Ljava/util/List;
-HSPLsun/util/locale/LanguageTag;->isVariant(Ljava/lang/String;)Z
 HSPLsun/util/locale/LanguageTag;->parse(Ljava/lang/String;Lsun/util/locale/ParseStatus;)Lsun/util/locale/LanguageTag;
 HSPLsun/util/locale/LanguageTag;->parseExtensions(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
 HSPLsun/util/locale/LanguageTag;->parseExtlangs(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
@@ -53671,11 +43415,8 @@
 HSPLsun/util/locale/LanguageTag;->parseRegion(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
 HSPLsun/util/locale/LanguageTag;->parseScript(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
 HSPLsun/util/locale/LanguageTag;->parseVariants(Lsun/util/locale/StringTokenIterator;Lsun/util/locale/ParseStatus;)Z
-HSPLsun/util/locale/LocaleMatcher;->getEquivalentForRegionAndVariant(Ljava/lang/String;)Ljava/lang/String;
-HSPLsun/util/locale/LocaleMatcher;->getEquivalentsForLanguage(Ljava/lang/String;)[Ljava/lang/String;
-HSPLsun/util/locale/LocaleMatcher;->lookup(Ljava/util/List;Ljava/util/Collection;)Ljava/util/Locale;
-HSPLsun/util/locale/LocaleMatcher;->lookupTag(Ljava/util/List;Ljava/util/Collection;)Ljava/lang/String;
-HSPLsun/util/locale/LocaleMatcher;->parse(Ljava/lang/String;)Ljava/util/List;
+HSPLsun/util/locale/LocaleExtensions;-><init>(Ljava/lang/String;Ljava/lang/Character;Lsun/util/locale/Extension;)V
+HSPLsun/util/locale/LocaleObjectCache$CacheEntry;->getKey()Ljava/lang/Object;
 HSPLsun/util/locale/LocaleObjectCache;->get(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLsun/util/locale/LocaleObjectCache;->normalizeKey(Ljava/lang/Object;)Ljava/lang/Object;
 HSPLsun/util/locale/LocaleUtils;->caseIgnoreMatch(Ljava/lang/String;Ljava/lang/String;)Z
@@ -53690,45 +43431,24 @@
 HSPLsun/util/locale/StringTokenIterator;->next()Ljava/lang/String;
 HSPLsun/util/locale/StringTokenIterator;->nextDelimiter(I)I
 HSPLsun/util/locale/StringTokenIterator;->setStart(I)Lsun/util/locale/StringTokenIterator;
-HSPLsun/util/logging/LoggingProxy;->getLevel(Ljava/lang/Object;)Ljava/lang/Object;
-HSPLsun/util/logging/LoggingProxy;->getLevelName(Ljava/lang/Object;)Ljava/lang/String;
-HSPLsun/util/logging/LoggingProxy;->getLevelValue(Ljava/lang/Object;)I
-HSPLsun/util/logging/LoggingProxy;->getLogger(Ljava/lang/String;)Ljava/lang/Object;
-HSPLsun/util/logging/LoggingProxy;->getLoggerLevel(Ljava/lang/String;)Ljava/lang/String;
-HSPLsun/util/logging/LoggingProxy;->getLoggerNames()Ljava/util/List;
-HSPLsun/util/logging/LoggingProxy;->getParentLoggerName(Ljava/lang/String;)Ljava/lang/String;
-HSPLsun/util/logging/LoggingProxy;->getProperty(Ljava/lang/String;)Ljava/lang/String;
-HSPLsun/util/logging/LoggingProxy;->isLoggable(Ljava/lang/Object;Ljava/lang/Object;)Z
-HSPLsun/util/logging/LoggingProxy;->log(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)V
-HSPLsun/util/logging/LoggingProxy;->log(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Throwable;)V
-HSPLsun/util/logging/LoggingProxy;->log(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;[Ljava/lang/Object;)V
-HSPLsun/util/logging/LoggingProxy;->parseLevel(Ljava/lang/String;)Ljava/lang/Object;
-HSPLsun/util/logging/LoggingProxy;->setLevel(Ljava/lang/Object;Ljava/lang/Object;)V
-HSPLsun/util/logging/LoggingProxy;->setLoggerLevel(Ljava/lang/String;Ljava/lang/String;)V
+HSPLsun/util/locale/UnicodeLocaleExtension;-><init>(Ljava/lang/String;Ljava/lang/String;)V
 HSPLsun/util/logging/LoggingSupport$1;-><init>()V
 HSPLsun/util/logging/LoggingSupport$1;->run()Ljava/lang/Object;
 HSPLsun/util/logging/LoggingSupport$1;->run()Lsun/util/logging/LoggingProxy;
 HSPLsun/util/logging/LoggingSupport;->getSimpleFormat()Ljava/lang/String;
 HSPLsun/util/logging/LoggingSupport;->getSimpleFormat(Z)Ljava/lang/String;
-HSPLsun/util/logging/LoggingSupport;->parseLevel(Ljava/lang/String;)Ljava/lang/Object;
 HSPLsun/util/logging/PlatformLogger$1;-><init>()V
 HSPLsun/util/logging/PlatformLogger$1;->run()Ljava/lang/Boolean;
 HSPLsun/util/logging/PlatformLogger$1;->run()Ljava/lang/Object;
 HSPLsun/util/logging/PlatformLogger$Level;-><init>(Ljava/lang/String;I)V
-HSPLsun/util/logging/PlatformLogger$Level;->values()[Lsun/util/logging/PlatformLogger$Level;
-HSPLsun/util/logging/PlatformLogger$LoggerProxy;->doLog(Lsun/util/logging/PlatformLogger$Level;Ljava/lang/String;)V
-HSPLsun/util/logging/PlatformLogger$LoggerProxy;->doLog(Lsun/util/logging/PlatformLogger$Level;Ljava/lang/String;Ljava/lang/Throwable;)V
-HSPLsun/util/logging/PlatformLogger$LoggerProxy;->doLog(Lsun/util/logging/PlatformLogger$Level;Ljava/lang/String;[Ljava/lang/Object;)V
-HSPLsun/util/logging/PlatformLogger$LoggerProxy;->getLevel()Lsun/util/logging/PlatformLogger$Level;
-HSPLsun/util/logging/PlatformLogger$LoggerProxy;->isEnabled()Z
-HSPLsun/util/logging/PlatformLogger$LoggerProxy;->isLoggable(Lsun/util/logging/PlatformLogger$Level;)Z
-HSPLsun/util/logging/PlatformLogger$LoggerProxy;->setLevel(Lsun/util/logging/PlatformLogger$Level;)V
-HSPLsun/util/logging/PlatformLogger;-><init>(Ljava/lang/String;)V
-HSPLsun/util/logging/PlatformLogger;->getLogger(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
 HSPLsun/util/logging/PlatformLogger;->redirectPlatformLoggers()V
+Landroid/R$id;
 Landroid/R$styleable;
 Landroid/accessibilityservice/AccessibilityServiceInfo$1;
 Landroid/accessibilityservice/AccessibilityServiceInfo;
+Landroid/accessibilityservice/IAccessibilityServiceClient$Stub$Proxy;
+Landroid/accessibilityservice/IAccessibilityServiceClient$Stub;
+Landroid/accessibilityservice/IAccessibilityServiceConnection$Stub;
 Landroid/accessibilityservice/IAccessibilityServiceConnection;
 Landroid/accounts/AbstractAccountAuthenticator$Transport;
 Landroid/accounts/AbstractAccountAuthenticator;
@@ -53736,15 +43456,16 @@
 Landroid/accounts/Account;
 Landroid/accounts/AccountAndUser;
 Landroid/accounts/AccountAuthenticatorResponse$1;
-Landroid/accounts/AccountAuthenticatorResponse;
 Landroid/accounts/AccountManager$10;
 Landroid/accounts/AccountManager$11;
+Landroid/accounts/AccountManager$12;
+Landroid/accounts/AccountManager$17;
 Landroid/accounts/AccountManager$18;
 Landroid/accounts/AccountManager$1;
 Landroid/accounts/AccountManager$20;
 Landroid/accounts/AccountManager$2;
 Landroid/accounts/AccountManager$3;
-Landroid/accounts/AccountManager$9;
+Landroid/accounts/AccountManager$5;
 Landroid/accounts/AccountManager$AmsTask$1;
 Landroid/accounts/AccountManager$AmsTask$Response;
 Landroid/accounts/AccountManager$AmsTask;
@@ -53764,10 +43485,8 @@
 Landroid/accounts/AuthenticatorException;
 Landroid/accounts/IAccountAuthenticator$Stub$Proxy;
 Landroid/accounts/IAccountAuthenticator$Stub;
-Landroid/accounts/IAccountAuthenticator;
 Landroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;
 Landroid/accounts/IAccountAuthenticatorResponse$Stub;
-Landroid/accounts/IAccountAuthenticatorResponse;
 Landroid/accounts/IAccountManager$Stub$Proxy;
 Landroid/accounts/IAccountManager$Stub;
 Landroid/accounts/IAccountManager;
@@ -53797,7 +43516,6 @@
 Landroid/animation/AnimatorSet$SeekState;
 Landroid/animation/AnimatorSet;
 Landroid/animation/ArgbEvaluator;
-Landroid/animation/FloatArrayEvaluator;
 Landroid/animation/FloatEvaluator;
 Landroid/animation/FloatKeyframeSet;
 Landroid/animation/IntEvaluator;
@@ -53828,11 +43546,9 @@
 Landroid/animation/PropertyValuesHolder$1;
 Landroid/animation/PropertyValuesHolder$FloatPropertyValuesHolder;
 Landroid/animation/PropertyValuesHolder$IntPropertyValuesHolder;
-Landroid/animation/PropertyValuesHolder$PropertyValues$DataSource;
 Landroid/animation/PropertyValuesHolder$PropertyValues;
 Landroid/animation/PropertyValuesHolder;
 Landroid/animation/RectEvaluator;
-Landroid/animation/RevealAnimator;
 Landroid/animation/StateListAnimator$1;
 Landroid/animation/StateListAnimator$StateListAnimatorConstantState;
 Landroid/animation/StateListAnimator$Tuple;
@@ -53843,27 +43559,24 @@
 Landroid/animation/TypeEvaluator;
 Landroid/animation/ValueAnimator$AnimatorUpdateListener;
 Landroid/animation/ValueAnimator;
-Landroid/annotation/SuppressLint;
-Landroid/annotation/SystemApi;
+Landroid/apex/ApexInfo$1;
+Landroid/apex/ApexInfo;
+Landroid/apex/IApexService$Stub$Proxy;
+Landroid/apex/IApexService$Stub;
+Landroid/apex/IApexService;
 Landroid/app/-$$Lambda$ActivityThread$ActivityClientRecord$HOrG1qglSjSUHSjKBn2rXtX0gGg;
 Landroid/app/-$$Lambda$ActivityThread$ApplicationThread$tUGFX7CUhzB4Pg5wFd5yeqOnu38;
 Landroid/app/-$$Lambda$ActivityThread$ZXDWm3IBeFmLnFVblhB-IOZCr9o;
-Landroid/app/-$$Lambda$ActivityTransitionCoordinator$_HMo0E-15AzCK9fwQ8WHzdz8ZIw;
-Landroid/app/-$$Lambda$ActivityTransitionCoordinator$fkaPvc8GCghP2GMwEgS_J5m_T_4;
 Landroid/app/-$$Lambda$Dialog$zXRzrq3I7H1_zmZ8d_W7t2CQN0I;
-Landroid/app/-$$Lambda$EnterTransitionCoordinator$3$I_t9rJUkrW7bwRLQtTrE8DgvPZs;
-Landroid/app/-$$Lambda$EnterTransitionCoordinator$3$bzpzcEqxdHzyaWu6Gq6AOD9dFMo;
 Landroid/app/-$$Lambda$LoadedApk$ReceiverDispatcher$Args$_BumDX2UKsnxLVrE6UJsJZkotuA;
 Landroid/app/-$$Lambda$Notification$hOCsSZH8tWalFSbIzQ9x9IcPa9M;
 Landroid/app/-$$Lambda$ResourcesManager$QJ7UiVk_XS90KuXAsIjIEym1DnM;
 Landroid/app/-$$Lambda$SharedPreferencesImpl$EditorImpl$3CAjkhzA131V3V-sLfP2uy0FWZ0;
-Landroid/app/-$$Lambda$YTMEV7TmbMrzjIag59qAffcsEUw;
 Landroid/app/-$$Lambda$oslF4K8Uk6v-6nTRoaEpCmfAptE;
 Landroid/app/ActionBar$LayoutParams;
 Landroid/app/ActionBar;
 Landroid/app/Activity$HostCallbacks;
 Landroid/app/Activity$NonConfigurationInstances;
-Landroid/app/Activity$TranslucentConversionListener;
 Landroid/app/Activity;
 Landroid/app/ActivityManager$1;
 Landroid/app/ActivityManager$AppTask;
@@ -53879,7 +43592,6 @@
 Landroid/app/ActivityManager$RunningServiceInfo;
 Landroid/app/ActivityManager$RunningTaskInfo$1;
 Landroid/app/ActivityManager$RunningTaskInfo;
-Landroid/app/ActivityManager$StackId;
 Landroid/app/ActivityManager$StackInfo$1;
 Landroid/app/ActivityManager$StackInfo;
 Landroid/app/ActivityManager$TaskDescription$1;
@@ -53888,21 +43600,24 @@
 Landroid/app/ActivityManager$TaskSnapshot;
 Landroid/app/ActivityManager$UidObserver;
 Landroid/app/ActivityManager;
-Landroid/app/ActivityManagerInternal$ScreenObserver;
-Landroid/app/ActivityManagerInternal$SleepToken;
 Landroid/app/ActivityManagerInternal;
+Landroid/app/ActivityManagerNative;
 Landroid/app/ActivityOptions;
+Landroid/app/ActivityTaskManager$1;
+Landroid/app/ActivityTaskManager;
 Landroid/app/ActivityThread$1;
 Landroid/app/ActivityThread$2;
 Landroid/app/ActivityThread$ActivityClientRecord;
+Landroid/app/ActivityThread$AndroidOs;
 Landroid/app/ActivityThread$AppBindData;
+Landroid/app/ActivityThread$ApplicationThread$1;
 Landroid/app/ActivityThread$ApplicationThread;
 Landroid/app/ActivityThread$BindServiceData;
 Landroid/app/ActivityThread$ContextCleanupInfo;
 Landroid/app/ActivityThread$CreateBackupAgentData;
 Landroid/app/ActivityThread$CreateServiceData;
-Landroid/app/ActivityThread$DropBoxReporter;
-Landroid/app/ActivityThread$EventLoggingReporter;
+Landroid/app/ActivityThread$DumpComponentInfo;
+Landroid/app/ActivityThread$DumpHeapData;
 Landroid/app/ActivityThread$GcIdler;
 Landroid/app/ActivityThread$H;
 Landroid/app/ActivityThread$Idler;
@@ -53910,14 +43625,12 @@
 Landroid/app/ActivityThread$ProviderClientRecord;
 Landroid/app/ActivityThread$ProviderKey;
 Landroid/app/ActivityThread$ProviderRefCount;
+Landroid/app/ActivityThread$PurgeIdler;
 Landroid/app/ActivityThread$ReceiverData;
 Landroid/app/ActivityThread$RequestAssistContextExtras;
 Landroid/app/ActivityThread$ServiceArgsData;
+Landroid/app/ActivityThread$UpdateCompatibilityData;
 Landroid/app/ActivityThread;
-Landroid/app/ActivityTransitionCoordinator$ContinueTransitionListener;
-Landroid/app/ActivityTransitionCoordinator$FixedEpicenterCallback;
-Landroid/app/ActivityTransitionCoordinator$GhostViewListeners;
-Landroid/app/ActivityTransitionCoordinator;
 Landroid/app/ActivityTransitionState;
 Landroid/app/AlarmManager$AlarmClockInfo$1;
 Landroid/app/AlarmManager$AlarmClockInfo;
@@ -53927,8 +43640,17 @@
 Landroid/app/AlertDialog$Builder;
 Landroid/app/AlertDialog;
 Landroid/app/AppComponentFactory;
+Landroid/app/AppDetailsActivity;
 Landroid/app/AppGlobals;
-Landroid/app/AppOpsManager$1;
+Landroid/app/AppOpsManager$2;
+Landroid/app/AppOpsManager$HistoricalOp$1;
+Landroid/app/AppOpsManager$HistoricalOp;
+Landroid/app/AppOpsManager$HistoricalOps$1;
+Landroid/app/AppOpsManager$HistoricalOps;
+Landroid/app/AppOpsManager$HistoricalPackageOps$1;
+Landroid/app/AppOpsManager$HistoricalPackageOps;
+Landroid/app/AppOpsManager$HistoricalUidOps$1;
+Landroid/app/AppOpsManager$HistoricalUidOps;
 Landroid/app/AppOpsManager$OnOpChangedInternalListener;
 Landroid/app/AppOpsManager$OnOpChangedListener;
 Landroid/app/AppOpsManager$OpEntry$1;
@@ -53961,7 +43683,6 @@
 Landroid/app/ContextImpl$1;
 Landroid/app/ContextImpl$ApplicationContentResolver;
 Landroid/app/ContextImpl;
-Landroid/app/DatePickerDialog$OnDateSetListener;
 Landroid/app/DexLoadReporter;
 Landroid/app/Dialog$ListenersHandler;
 Landroid/app/Dialog;
@@ -53970,18 +43691,6 @@
 Landroid/app/DownloadManager$Query;
 Landroid/app/DownloadManager$Request;
 Landroid/app/DownloadManager;
-Landroid/app/EnterTransitionCoordinator$1;
-Landroid/app/EnterTransitionCoordinator$2;
-Landroid/app/EnterTransitionCoordinator$3;
-Landroid/app/EnterTransitionCoordinator$4;
-Landroid/app/EnterTransitionCoordinator$5;
-Landroid/app/EnterTransitionCoordinator$6;
-Landroid/app/EnterTransitionCoordinator;
-Landroid/app/ExitTransitionCoordinator$10;
-Landroid/app/ExitTransitionCoordinator$3;
-Landroid/app/ExitTransitionCoordinator$8;
-Landroid/app/ExitTransitionCoordinator$9;
-Landroid/app/ExitTransitionCoordinator;
 Landroid/app/Fragment$1;
 Landroid/app/Fragment$AnimationInfo;
 Landroid/app/Fragment$OnStartEnterTransitionListener;
@@ -53990,12 +43699,13 @@
 Landroid/app/FragmentController;
 Landroid/app/FragmentHostCallback;
 Landroid/app/FragmentManager$BackStackEntry;
-Landroid/app/FragmentManager$OnBackStackChangedListener;
 Landroid/app/FragmentManager;
 Landroid/app/FragmentManagerImpl$1;
+Landroid/app/FragmentManagerImpl$2;
 Landroid/app/FragmentManagerImpl$AnimateOnHWLayerIfNeededListener;
 Landroid/app/FragmentManagerImpl$OpGenerator;
 Landroid/app/FragmentManagerImpl;
+Landroid/app/FragmentManagerNonConfig;
 Landroid/app/FragmentManagerState$1;
 Landroid/app/FragmentManagerState;
 Landroid/app/FragmentState$1;
@@ -54006,6 +43716,9 @@
 Landroid/app/IActivityManager$Stub$Proxy;
 Landroid/app/IActivityManager$Stub;
 Landroid/app/IActivityManager;
+Landroid/app/IActivityTaskManager$Stub$Proxy;
+Landroid/app/IActivityTaskManager$Stub;
+Landroid/app/IActivityTaskManager;
 Landroid/app/IAlarmCompleteListener$Stub$Proxy;
 Landroid/app/IAlarmCompleteListener$Stub;
 Landroid/app/IAlarmCompleteListener;
@@ -54021,15 +43734,12 @@
 Landroid/app/IApplicationThread$Stub$Proxy;
 Landroid/app/IApplicationThread$Stub;
 Landroid/app/IApplicationThread;
-Landroid/app/IAssistDataReceiver$Stub$Proxy;
 Landroid/app/IAssistDataReceiver$Stub;
-Landroid/app/IAssistDataReceiver;
 Landroid/app/IBackupAgent$Stub$Proxy;
 Landroid/app/IBackupAgent$Stub;
 Landroid/app/IBackupAgent;
 Landroid/app/IInstantAppResolver$Stub$Proxy;
 Landroid/app/IInstantAppResolver$Stub;
-Landroid/app/IInstantAppResolver;
 Landroid/app/IInstrumentationWatcher$Stub;
 Landroid/app/IInstrumentationWatcher;
 Landroid/app/INotificationManager$Stub$Proxy;
@@ -54058,6 +43768,8 @@
 Landroid/app/IUidObserver$Stub$Proxy;
 Landroid/app/IUidObserver$Stub;
 Landroid/app/IUidObserver;
+Landroid/app/IUriGrantsManager$Stub;
+Landroid/app/IUriGrantsManager;
 Landroid/app/IUserSwitchObserver$Stub$Proxy;
 Landroid/app/IUserSwitchObserver$Stub;
 Landroid/app/IUserSwitchObserver;
@@ -54067,6 +43779,10 @@
 Landroid/app/IWallpaperManagerCallback$Stub$Proxy;
 Landroid/app/IWallpaperManagerCallback$Stub;
 Landroid/app/IWallpaperManagerCallback;
+Landroid/app/InstantAppResolverService$1;
+Landroid/app/InstantAppResolverService$InstantAppResolutionCallback;
+Landroid/app/InstantAppResolverService$ServiceHandler;
+Landroid/app/InstantAppResolverService;
 Landroid/app/Instrumentation;
 Landroid/app/IntentReceiverLeaked;
 Landroid/app/IntentService$ServiceHandler;
@@ -54075,10 +43791,7 @@
 Landroid/app/KeyguardManager$1;
 Landroid/app/KeyguardManager$KeyguardDismissCallback;
 Landroid/app/KeyguardManager;
-Landroid/app/ListActivity$1;
 Landroid/app/ListActivity;
-Landroid/app/ListFragment$1;
-Landroid/app/ListFragment;
 Landroid/app/LoadedApk$ReceiverDispatcher$Args;
 Landroid/app/LoadedApk$ReceiverDispatcher$InnerReceiver;
 Landroid/app/LoadedApk$ReceiverDispatcher;
@@ -54104,14 +43817,12 @@
 Landroid/app/Notification$BuilderRemoteViews;
 Landroid/app/Notification$DecoratedCustomViewStyle;
 Landroid/app/Notification$DecoratedMediaCustomViewStyle;
-Landroid/app/Notification$Extender;
 Landroid/app/Notification$InboxStyle;
 Landroid/app/Notification$MediaStyle;
 Landroid/app/Notification$MessagingStyle$Message;
 Landroid/app/Notification$MessagingStyle;
 Landroid/app/Notification$StandardTemplateParams;
 Landroid/app/Notification$Style;
-Landroid/app/Notification$TemplateBindResult;
 Landroid/app/Notification$TvExtender;
 Landroid/app/Notification;
 Landroid/app/NotificationChannel$1;
@@ -54122,6 +43833,8 @@
 Landroid/app/NotificationManager$Policy;
 Landroid/app/NotificationManager;
 Landroid/app/OnActivityPausedListener;
+Landroid/app/PackageDeleteObserver$1;
+Landroid/app/PackageDeleteObserver;
 Landroid/app/PackageInstallObserver$1;
 Landroid/app/PackageInstallObserver;
 Landroid/app/PendingIntent$1;
@@ -54137,17 +43850,19 @@
 Landroid/app/PictureInPictureParams$1;
 Landroid/app/PictureInPictureParams$Builder;
 Landroid/app/PictureInPictureParams;
+Landroid/app/ProcessMemoryHighWaterMark$1;
 Landroid/app/ProcessMemoryState$1;
+Landroid/app/ProcessMemoryState;
 Landroid/app/ProfilerInfo$1;
 Landroid/app/ProfilerInfo;
 Landroid/app/ProgressDialog;
 Landroid/app/QueuedWork$QueuedWorkHandler;
 Landroid/app/QueuedWork;
 Landroid/app/ReceiverRestrictedContext;
+Landroid/app/RecoverableSecurityException;
 Landroid/app/RemoteAction$1;
 Landroid/app/RemoteAction;
 Landroid/app/RemoteInput$1;
-Landroid/app/RemoteInput$Builder;
 Landroid/app/RemoteInput;
 Landroid/app/ResourcesManager$1;
 Landroid/app/ResourcesManager$ActivityResources;
@@ -54155,8 +43870,6 @@
 Landroid/app/ResourcesManager;
 Landroid/app/ResultInfo$1;
 Landroid/app/ResultInfo;
-Landroid/app/SearchManager$OnCancelListener;
-Landroid/app/SearchManager$OnDismissListener;
 Landroid/app/SearchManager;
 Landroid/app/SearchableInfo$1;
 Landroid/app/SearchableInfo;
@@ -54177,7 +43890,24 @@
 Landroid/app/StatsManager;
 Landroid/app/StatusBarManager;
 Landroid/app/SynchronousUserSwitchObserver;
+Landroid/app/SystemServiceRegistry$100;
+Landroid/app/SystemServiceRegistry$101;
+Landroid/app/SystemServiceRegistry$102;
+Landroid/app/SystemServiceRegistry$103;
+Landroid/app/SystemServiceRegistry$104;
+Landroid/app/SystemServiceRegistry$105;
+Landroid/app/SystemServiceRegistry$106;
+Landroid/app/SystemServiceRegistry$107;
+Landroid/app/SystemServiceRegistry$108;
+Landroid/app/SystemServiceRegistry$109;
 Landroid/app/SystemServiceRegistry$10;
+Landroid/app/SystemServiceRegistry$110;
+Landroid/app/SystemServiceRegistry$111;
+Landroid/app/SystemServiceRegistry$112;
+Landroid/app/SystemServiceRegistry$113;
+Landroid/app/SystemServiceRegistry$114;
+Landroid/app/SystemServiceRegistry$115;
+Landroid/app/SystemServiceRegistry$116;
 Landroid/app/SystemServiceRegistry$11;
 Landroid/app/SystemServiceRegistry$12;
 Landroid/app/SystemServiceRegistry$13;
@@ -54269,32 +43999,49 @@
 Landroid/app/SystemServiceRegistry$91;
 Landroid/app/SystemServiceRegistry$92;
 Landroid/app/SystemServiceRegistry$93;
+Landroid/app/SystemServiceRegistry$94;
+Landroid/app/SystemServiceRegistry$95;
+Landroid/app/SystemServiceRegistry$96;
+Landroid/app/SystemServiceRegistry$97;
+Landroid/app/SystemServiceRegistry$98;
+Landroid/app/SystemServiceRegistry$99;
 Landroid/app/SystemServiceRegistry$9;
 Landroid/app/SystemServiceRegistry$CachedServiceFetcher;
 Landroid/app/SystemServiceRegistry$ServiceFetcher;
 Landroid/app/SystemServiceRegistry$StaticApplicationContextServiceFetcher;
 Landroid/app/SystemServiceRegistry$StaticServiceFetcher;
 Landroid/app/SystemServiceRegistry;
+Landroid/app/TaskInfo;
+Landroid/app/TaskStackBuilder;
 Landroid/app/TaskStackListener;
-Landroid/app/TimePickerDialog$OnTimeSetListener;
-Landroid/app/UiAutomation;
 Landroid/app/UiModeManager;
+Landroid/app/UriGrantsManager$1;
+Landroid/app/UriGrantsManager;
 Landroid/app/UserSwitchObserver;
-Landroid/app/VoiceInteractor;
 Landroid/app/VrManager;
 Landroid/app/WallpaperColors$1;
 Landroid/app/WallpaperColors;
 Landroid/app/WallpaperInfo$1;
+Landroid/app/WallpaperInfo;
 Landroid/app/WallpaperManager$Globals;
 Landroid/app/WallpaperManager$OnColorsChangedListener;
 Landroid/app/WallpaperManager;
 Landroid/app/WindowConfiguration$1;
 Landroid/app/WindowConfiguration;
+Landroid/app/admin/-$$Lambda$DevicePolicyManager$aBAov4sAc4DWENs1-hCXh31NAg0;
+Landroid/app/admin/-$$Lambda$DevicePolicyManager$cNhfqhNaSGRTlni2hjugxAo-POs;
+Landroid/app/admin/-$$Lambda$DevicePolicyManager$mKMXxEJIVN_LMurs53qx3Q4fFKI;
+Landroid/app/admin/-$$Lambda$DevicePolicyManager$w2TynM9H41ejac4JVpNbnemNVWk;
 Landroid/app/admin/DeviceAdminInfo$1;
 Landroid/app/admin/DeviceAdminInfo$PolicyInfo;
 Landroid/app/admin/DeviceAdminInfo;
-Landroid/app/admin/DeviceAdminReceiver;
 Landroid/app/admin/DevicePolicyCache;
+Landroid/app/admin/DevicePolicyEventLogger;
+Landroid/app/admin/DevicePolicyManager$1;
+Landroid/app/admin/DevicePolicyManager$2;
+Landroid/app/admin/DevicePolicyManager$InstallSystemUpdateCallback;
+Landroid/app/admin/DevicePolicyManager$InstallUpdateCallback;
+Landroid/app/admin/DevicePolicyManager$OnClearApplicationUserDataListener;
 Landroid/app/admin/DevicePolicyManager;
 Landroid/app/admin/DevicePolicyManagerInternal$OnCrossProfileWidgetProvidersChangeListener;
 Landroid/app/admin/DevicePolicyManagerInternal;
@@ -54303,10 +44050,13 @@
 Landroid/app/admin/IDevicePolicyManager$Stub;
 Landroid/app/admin/IDevicePolicyManager;
 Landroid/app/admin/PasswordMetrics$1;
+Landroid/app/admin/PasswordMetrics$PasswordComplexityBucket;
 Landroid/app/admin/PasswordMetrics;
 Landroid/app/admin/SecurityLog$SecurityEvent$1;
 Landroid/app/admin/SecurityLog$SecurityEvent;
 Landroid/app/admin/SecurityLog;
+Landroid/app/admin/StartInstallingUpdateCallback$Stub;
+Landroid/app/admin/StartInstallingUpdateCallback;
 Landroid/app/admin/SystemUpdateInfo$1;
 Landroid/app/admin/SystemUpdateInfo;
 Landroid/app/admin/SystemUpdatePolicy$1;
@@ -54333,25 +44083,38 @@
 Landroid/app/backup/BackupHelper;
 Landroid/app/backup/BackupHelperDispatcher$Header;
 Landroid/app/backup/BackupHelperDispatcher;
+Landroid/app/backup/BackupManager$BackupManagerMonitorWrapper;
+Landroid/app/backup/BackupManager$BackupObserverWrapper$1;
+Landroid/app/backup/BackupManager$BackupObserverWrapper;
 Landroid/app/backup/BackupManager;
+Landroid/app/backup/BackupManagerMonitor;
+Landroid/app/backup/BackupObserver;
 Landroid/app/backup/BackupProgress$1;
 Landroid/app/backup/BackupProgress;
 Landroid/app/backup/BackupTransport$TransportImpl;
 Landroid/app/backup/BackupTransport;
+Landroid/app/backup/BackupUtils;
 Landroid/app/backup/BlobBackupHelper;
 Landroid/app/backup/FileBackupHelperBase;
+Landroid/app/backup/FullBackup$BackupScheme;
 Landroid/app/backup/FullBackup;
 Landroid/app/backup/FullBackupDataOutput;
+Landroid/app/backup/IBackupCallback$Stub$Proxy;
+Landroid/app/backup/IBackupCallback$Stub;
 Landroid/app/backup/IBackupManager$Stub$Proxy;
 Landroid/app/backup/IBackupManager$Stub;
 Landroid/app/backup/IBackupManager;
 Landroid/app/backup/IBackupManagerMonitor$Stub$Proxy;
-Landroid/app/backup/IBackupManagerMonitor;
+Landroid/app/backup/IBackupManagerMonitor$Stub;
 Landroid/app/backup/IBackupObserver$Stub$Proxy;
-Landroid/app/backup/IBackupObserver;
+Landroid/app/backup/IBackupObserver$Stub;
+Landroid/app/backup/ISelectBackupTransportCallback$Stub$Proxy;
 Landroid/app/backup/RestoreDescription$1;
 Landroid/app/backup/RestoreDescription;
 Landroid/app/backup/SharedPreferencesBackupHelper;
+Landroid/app/contentsuggestions/ContentSuggestionsManager;
+Landroid/app/contentsuggestions/IContentSuggestionsManager$Stub;
+Landroid/app/contentsuggestions/IContentSuggestionsManager;
 Landroid/app/job/IJobCallback$Stub$Proxy;
 Landroid/app/job/IJobCallback$Stub;
 Landroid/app/job/IJobCallback;
@@ -54376,6 +44139,22 @@
 Landroid/app/job/JobServiceEngine;
 Landroid/app/job/JobWorkItem$1;
 Landroid/app/job/JobWorkItem;
+Landroid/app/prediction/AppPredictionManager;
+Landroid/app/prediction/IPredictionManager$Stub;
+Landroid/app/prediction/IPredictionManager;
+Landroid/app/role/-$$Lambda$o94o2jK_ei-IVw-3oY_QJ49zpAA;
+Landroid/app/role/IOnRoleHoldersChangedListener$Stub;
+Landroid/app/role/IOnRoleHoldersChangedListener;
+Landroid/app/role/IRoleManager$Stub$Proxy;
+Landroid/app/role/IRoleManager$Stub;
+Landroid/app/role/IRoleManager;
+Landroid/app/role/IRoleManagerCallback$Stub$Proxy;
+Landroid/app/role/IRoleManagerCallback$Stub;
+Landroid/app/role/IRoleManagerCallback;
+Landroid/app/role/OnRoleHoldersChangedListener;
+Landroid/app/role/RoleManager$OnRoleHoldersChangedListenerDelegate;
+Landroid/app/role/RoleManager;
+Landroid/app/role/RoleManagerCallback;
 Landroid/app/servertransaction/ActivityConfigurationChangeItem$1;
 Landroid/app/servertransaction/ActivityConfigurationChangeItem;
 Landroid/app/servertransaction/ActivityLifecycleItem;
@@ -54393,6 +44172,8 @@
 Landroid/app/servertransaction/DestroyActivityItem;
 Landroid/app/servertransaction/LaunchActivityItem$1;
 Landroid/app/servertransaction/LaunchActivityItem;
+Landroid/app/servertransaction/MultiWindowModeChangeItem$1;
+Landroid/app/servertransaction/MultiWindowModeChangeItem;
 Landroid/app/servertransaction/NewIntentItem$1;
 Landroid/app/servertransaction/NewIntentItem;
 Landroid/app/servertransaction/ObjectPool;
@@ -54401,10 +44182,14 @@
 Landroid/app/servertransaction/PauseActivityItem;
 Landroid/app/servertransaction/PendingTransactionActions$StopInfo;
 Landroid/app/servertransaction/PendingTransactionActions;
+Landroid/app/servertransaction/PipModeChangeItem$1;
+Landroid/app/servertransaction/PipModeChangeItem;
 Landroid/app/servertransaction/ResumeActivityItem$1;
 Landroid/app/servertransaction/ResumeActivityItem;
 Landroid/app/servertransaction/StopActivityItem$1;
 Landroid/app/servertransaction/StopActivityItem;
+Landroid/app/servertransaction/TopResumedActivityChangeItem$1;
+Landroid/app/servertransaction/TopResumedActivityChangeItem;
 Landroid/app/servertransaction/TransactionExecutor;
 Landroid/app/servertransaction/TransactionExecutorHelper;
 Landroid/app/servertransaction/WindowVisibilityItem$1;
@@ -54419,32 +44204,36 @@
 Landroid/app/slice/SliceItem$1;
 Landroid/app/slice/SliceItem;
 Landroid/app/slice/SliceManager;
+Landroid/app/slice/SliceMetrics;
 Landroid/app/slice/SliceProvider;
 Landroid/app/slice/SliceSpec$1;
 Landroid/app/slice/SliceSpec;
-Landroid/app/timezone/DistroFormatVersion$1;
-Landroid/app/timezone/DistroFormatVersion;
-Landroid/app/timezone/ICallback$Stub$Proxy;
-Landroid/app/timezone/ICallback;
-Landroid/app/timezone/IRulesManager$Stub;
-Landroid/app/timezone/IRulesManager;
+Landroid/app/timedetector/ITimeDetectorService$Stub$Proxy;
+Landroid/app/timedetector/ITimeDetectorService$Stub;
+Landroid/app/timedetector/ITimeDetectorService;
+Landroid/app/timedetector/TimeDetector;
+Landroid/app/timedetector/TimeSignal$1;
+Landroid/app/timedetector/TimeSignal;
 Landroid/app/timezone/RulesManager;
-Landroid/app/timezone/RulesUpdaterContract;
-Landroid/app/timezone/Utils;
 Landroid/app/trust/IStrongAuthTracker$Stub$Proxy;
 Landroid/app/trust/IStrongAuthTracker$Stub;
 Landroid/app/trust/IStrongAuthTracker;
 Landroid/app/trust/ITrustListener$Stub$Proxy;
+Landroid/app/trust/ITrustListener$Stub;
 Landroid/app/trust/ITrustListener;
 Landroid/app/trust/ITrustManager$Stub$Proxy;
 Landroid/app/trust/ITrustManager$Stub;
 Landroid/app/trust/ITrustManager;
+Landroid/app/trust/TrustManager$2;
 Landroid/app/trust/TrustManager;
 Landroid/app/usage/AppStandbyInfo$1;
 Landroid/app/usage/AppStandbyInfo;
 Landroid/app/usage/CacheQuotaHint$1;
 Landroid/app/usage/CacheQuotaHint$Builder;
 Landroid/app/usage/CacheQuotaHint;
+Landroid/app/usage/CacheQuotaService$CacheQuotaServiceWrapper;
+Landroid/app/usage/CacheQuotaService$ServiceHandler;
+Landroid/app/usage/CacheQuotaService;
 Landroid/app/usage/ConfigurationStats$1;
 Landroid/app/usage/ConfigurationStats;
 Landroid/app/usage/EventList;
@@ -54458,8 +44247,9 @@
 Landroid/app/usage/IUsageStatsManager$Stub$Proxy;
 Landroid/app/usage/IUsageStatsManager$Stub;
 Landroid/app/usage/IUsageStatsManager;
+Landroid/app/usage/NetworkStats$Bucket;
+Landroid/app/usage/NetworkStats;
 Landroid/app/usage/NetworkStatsManager$CallbackHandler;
-Landroid/app/usage/NetworkStatsManager$UsageCallback;
 Landroid/app/usage/NetworkStatsManager;
 Landroid/app/usage/StorageStats$1;
 Landroid/app/usage/StorageStats;
@@ -54473,22 +44263,23 @@
 Landroid/app/usage/UsageStatsManager;
 Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;
 Landroid/app/usage/UsageStatsManagerInternal;
-Landroid/appwidget/-$$Lambda$AppWidgetHostView$AzPWN1sIsRb7M-0Ss1rK2mksT-o;
-Landroid/appwidget/AppWidgetHost$Callbacks;
-Landroid/appwidget/AppWidgetHost$UpdateHandler;
-Landroid/appwidget/AppWidgetHost;
-Landroid/appwidget/AppWidgetHostView;
 Landroid/appwidget/AppWidgetManager;
 Landroid/appwidget/AppWidgetManagerInternal;
 Landroid/appwidget/AppWidgetProvider;
 Landroid/appwidget/AppWidgetProviderInfo$1;
 Landroid/appwidget/AppWidgetProviderInfo;
+Landroid/appwidget/PendingHostUpdate$1;
+Landroid/appwidget/PendingHostUpdate;
+Landroid/attention/AttentionManagerInternal$AttentionCallbackInternal;
+Landroid/attention/AttentionManagerInternal;
+Landroid/bluetooth/-$$Lambda$BluetoothAdapter$2$INSd_aND-SGWhhPZUtIqya_Uxw4;
 Landroid/bluetooth/BluetoothA2dp$1;
 Landroid/bluetooth/BluetoothA2dp$2;
 Landroid/bluetooth/BluetoothA2dp;
 Landroid/bluetooth/BluetoothActivityEnergyInfo$1;
 Landroid/bluetooth/BluetoothActivityEnergyInfo;
 Landroid/bluetooth/BluetoothAdapter$1;
+Landroid/bluetooth/BluetoothAdapter$2;
 Landroid/bluetooth/BluetoothAdapter;
 Landroid/bluetooth/BluetoothClass$1;
 Landroid/bluetooth/BluetoothClass;
@@ -54499,11 +44290,18 @@
 Landroid/bluetooth/BluetoothDevice$1;
 Landroid/bluetooth/BluetoothDevice$2;
 Landroid/bluetooth/BluetoothDevice;
+Landroid/bluetooth/BluetoothGatt$1$4;
+Landroid/bluetooth/BluetoothGatt$1;
+Landroid/bluetooth/BluetoothGatt;
+Landroid/bluetooth/BluetoothGattCallback;
 Landroid/bluetooth/BluetoothGattCharacteristic$1;
 Landroid/bluetooth/BluetoothGattCharacteristic;
 Landroid/bluetooth/BluetoothGattDescriptor$1;
 Landroid/bluetooth/BluetoothGattDescriptor;
 Landroid/bluetooth/BluetoothGattIncludedService$1;
+Landroid/bluetooth/BluetoothGattServer$1;
+Landroid/bluetooth/BluetoothGattServer;
+Landroid/bluetooth/BluetoothGattServerCallback;
 Landroid/bluetooth/BluetoothGattService$1;
 Landroid/bluetooth/BluetoothGattService;
 Landroid/bluetooth/BluetoothHeadset$1;
@@ -54516,6 +44314,8 @@
 Landroid/bluetooth/BluetoothHidDevice$1;
 Landroid/bluetooth/BluetoothHidDevice$2;
 Landroid/bluetooth/BluetoothHidDevice;
+Landroid/bluetooth/BluetoothHidDeviceAppQosSettings;
+Landroid/bluetooth/BluetoothHidDeviceAppSdpSettings;
 Landroid/bluetooth/BluetoothHidHost$1;
 Landroid/bluetooth/BluetoothHidHost$2;
 Landroid/bluetooth/BluetoothHidHost;
@@ -54534,6 +44334,9 @@
 Landroid/bluetooth/BluetoothPbap;
 Landroid/bluetooth/BluetoothProfile$ServiceListener;
 Landroid/bluetooth/BluetoothProfile;
+Landroid/bluetooth/BluetoothSap$1;
+Landroid/bluetooth/BluetoothSap$2;
+Landroid/bluetooth/BluetoothSap;
 Landroid/bluetooth/BluetoothServerSocket;
 Landroid/bluetooth/BluetoothSocket$SocketState;
 Landroid/bluetooth/BluetoothSocket;
@@ -54552,7 +44355,8 @@
 Landroid/bluetooth/IBluetoothGatt$Stub$Proxy;
 Landroid/bluetooth/IBluetoothGatt$Stub;
 Landroid/bluetooth/IBluetoothGatt;
-Landroid/bluetooth/IBluetoothGattServerCallback$Stub$Proxy;
+Landroid/bluetooth/IBluetoothGattCallback$Stub;
+Landroid/bluetooth/IBluetoothGattCallback;
 Landroid/bluetooth/IBluetoothGattServerCallback$Stub;
 Landroid/bluetooth/IBluetoothGattServerCallback;
 Landroid/bluetooth/IBluetoothHeadset$Stub$Proxy;
@@ -54561,14 +44365,13 @@
 Landroid/bluetooth/IBluetoothHeadsetPhone$Stub$Proxy;
 Landroid/bluetooth/IBluetoothHeadsetPhone$Stub;
 Landroid/bluetooth/IBluetoothHeadsetPhone;
-Landroid/bluetooth/IBluetoothHealth$Stub;
-Landroid/bluetooth/IBluetoothHealth;
 Landroid/bluetooth/IBluetoothHearingAid$Stub$Proxy;
 Landroid/bluetooth/IBluetoothHearingAid$Stub;
 Landroid/bluetooth/IBluetoothHearingAid;
 Landroid/bluetooth/IBluetoothHidDevice$Stub$Proxy;
 Landroid/bluetooth/IBluetoothHidDevice$Stub;
 Landroid/bluetooth/IBluetoothHidDevice;
+Landroid/bluetooth/IBluetoothHidDeviceCallback;
 Landroid/bluetooth/IBluetoothHidHost$Stub$Proxy;
 Landroid/bluetooth/IBluetoothHidHost$Stub;
 Landroid/bluetooth/IBluetoothHidHost;
@@ -54581,6 +44384,8 @@
 Landroid/bluetooth/IBluetoothMap$Stub$Proxy;
 Landroid/bluetooth/IBluetoothMap$Stub;
 Landroid/bluetooth/IBluetoothMap;
+Landroid/bluetooth/IBluetoothMetadataListener$Stub;
+Landroid/bluetooth/IBluetoothMetadataListener;
 Landroid/bluetooth/IBluetoothPan$Stub$Proxy;
 Landroid/bluetooth/IBluetoothPan$Stub;
 Landroid/bluetooth/IBluetoothPan;
@@ -54590,6 +44395,7 @@
 Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub$Proxy;
 Landroid/bluetooth/IBluetoothProfileServiceConnection$Stub;
 Landroid/bluetooth/IBluetoothProfileServiceConnection;
+Landroid/bluetooth/IBluetoothSap$Stub$Proxy;
 Landroid/bluetooth/IBluetoothSap$Stub;
 Landroid/bluetooth/IBluetoothSap;
 Landroid/bluetooth/IBluetoothSocketManager$Stub$Proxy;
@@ -54598,20 +44404,44 @@
 Landroid/bluetooth/IBluetoothStateChangeCallback$Stub$Proxy;
 Landroid/bluetooth/IBluetoothStateChangeCallback$Stub;
 Landroid/bluetooth/IBluetoothStateChangeCallback;
+Landroid/bluetooth/OobData;
+Landroid/bluetooth/SdpMasRecord;
+Landroid/bluetooth/SdpMnsRecord;
+Landroid/bluetooth/SdpOppOpsRecord;
+Landroid/bluetooth/SdpPseRecord;
+Landroid/bluetooth/SdpRecord;
+Landroid/bluetooth/SdpSapsRecord;
 Landroid/bluetooth/UidTraffic$1;
 Landroid/bluetooth/UidTraffic;
+Landroid/bluetooth/le/AdvertiseCallback;
 Landroid/bluetooth/le/AdvertiseData$1;
+Landroid/bluetooth/le/AdvertiseData$Builder;
 Landroid/bluetooth/le/AdvertiseData;
+Landroid/bluetooth/le/AdvertiseSettings$1;
+Landroid/bluetooth/le/AdvertiseSettings$Builder;
+Landroid/bluetooth/le/AdvertisingSet;
+Landroid/bluetooth/le/AdvertisingSetCallback;
 Landroid/bluetooth/le/AdvertisingSetParameters$1;
+Landroid/bluetooth/le/AdvertisingSetParameters$Builder;
 Landroid/bluetooth/le/AdvertisingSetParameters;
+Landroid/bluetooth/le/BluetoothLeAdvertiser$1;
+Landroid/bluetooth/le/BluetoothLeAdvertiser$2$1;
+Landroid/bluetooth/le/BluetoothLeAdvertiser$2$3;
+Landroid/bluetooth/le/BluetoothLeAdvertiser$2;
+Landroid/bluetooth/le/BluetoothLeAdvertiser$5;
+Landroid/bluetooth/le/BluetoothLeAdvertiser;
+Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper$1;
 Landroid/bluetooth/le/BluetoothLeScanner$BleScanCallbackWrapper;
 Landroid/bluetooth/le/BluetoothLeScanner;
-Landroid/bluetooth/le/IAdvertisingSetCallback$Stub$Proxy;
+Landroid/bluetooth/le/BluetoothLeUtils;
 Landroid/bluetooth/le/IAdvertisingSetCallback$Stub;
 Landroid/bluetooth/le/IAdvertisingSetCallback;
+Landroid/bluetooth/le/IPeriodicAdvertisingCallback;
 Landroid/bluetooth/le/IScannerCallback$Stub$Proxy;
 Landroid/bluetooth/le/IScannerCallback$Stub;
 Landroid/bluetooth/le/IScannerCallback;
+Landroid/bluetooth/le/PeriodicAdvertisingParameters;
+Landroid/bluetooth/le/PeriodicAdvertisingReport;
 Landroid/bluetooth/le/ScanCallback;
 Landroid/bluetooth/le/ScanFilter$1;
 Landroid/bluetooth/le/ScanFilter$Builder;
@@ -54623,9 +44453,13 @@
 Landroid/bluetooth/le/ScanSettings$Builder;
 Landroid/bluetooth/le/ScanSettings;
 Landroid/companion/CompanionDeviceManager;
+Landroid/companion/ICompanionDeviceManager$Stub$Proxy;
 Landroid/companion/ICompanionDeviceManager$Stub;
 Landroid/companion/ICompanionDeviceManager;
 Landroid/content/-$$Lambda$AbstractThreadedSyncAdapter$ISyncAdapterImpl$L6ZtOCe8gjKwJj0908ytPlrD8Rc;
+Landroid/content/-$$Lambda$ClipboardManager$1$hQk8olbGAgUi4WWNG4ZuDZsM39s;
+Landroid/content/-$$Lambda$ContentResolver$RVw7W0M7r0cGmbYi8rAG5GKxq4M;
+Landroid/content/-$$Lambda$ContentResolver$aVylWmQ_Wi8AYCAi3pzy5h1ck3c;
 Landroid/content/AbstractThreadedSyncAdapter$ISyncAdapterImpl;
 Landroid/content/AbstractThreadedSyncAdapter$SyncThread;
 Landroid/content/AbstractThreadedSyncAdapter;
@@ -54635,6 +44469,8 @@
 Landroid/content/AsyncQueryHandler;
 Landroid/content/AsyncTaskLoader$LoadTask;
 Landroid/content/AsyncTaskLoader;
+Landroid/content/AutofillOptions$1;
+Landroid/content/AutofillOptions;
 Landroid/content/BroadcastReceiver$PendingResult$1;
 Landroid/content/BroadcastReceiver$PendingResult;
 Landroid/content/BroadcastReceiver;
@@ -54651,10 +44487,15 @@
 Landroid/content/ComponentName$1;
 Landroid/content/ComponentName$WithComponentName;
 Landroid/content/ComponentName;
+Landroid/content/ContentCaptureOptions$1;
+Landroid/content/ContentCaptureOptions;
+Landroid/content/ContentInterface;
+Landroid/content/ContentProvider$CallingIdentity;
 Landroid/content/ContentProvider$PipeDataWriter;
 Landroid/content/ContentProvider$Transport;
 Landroid/content/ContentProvider;
 Landroid/content/ContentProviderClient$CursorWrapperInner;
+Landroid/content/ContentProviderClient$NotRespondingRunnable;
 Landroid/content/ContentProviderClient;
 Landroid/content/ContentProviderNative;
 Landroid/content/ContentProviderOperation$1;
@@ -54665,7 +44506,6 @@
 Landroid/content/ContentProviderResult;
 Landroid/content/ContentResolver$1;
 Landroid/content/ContentResolver$CursorWrapperInner;
-Landroid/content/ContentResolver$OpenResourceIdResult;
 Landroid/content/ContentResolver$ParcelFileDescriptorInner;
 Landroid/content/ContentResolver;
 Landroid/content/ContentUris;
@@ -54673,17 +44513,13 @@
 Landroid/content/ContentValues;
 Landroid/content/Context;
 Landroid/content/ContextWrapper;
-Landroid/content/CursorEntityIterator;
 Landroid/content/CursorLoader;
 Landroid/content/DialogInterface$OnCancelListener;
 Landroid/content/DialogInterface$OnClickListener;
 Landroid/content/DialogInterface$OnDismissListener;
 Landroid/content/DialogInterface$OnKeyListener;
-Landroid/content/DialogInterface$OnMultiChoiceClickListener;
 Landroid/content/DialogInterface$OnShowListener;
 Landroid/content/DialogInterface;
-Landroid/content/Entity;
-Landroid/content/EntityIterator;
 Landroid/content/IClipboard$Stub$Proxy;
 Landroid/content/IClipboard$Stub;
 Landroid/content/IClipboard;
@@ -54729,12 +44565,11 @@
 Landroid/content/Loader$OnLoadCanceledListener;
 Landroid/content/Loader$OnLoadCompleteListener;
 Landroid/content/Loader;
-Landroid/content/MutableContextWrapper;
+Landroid/content/MimeTypeFilter;
 Landroid/content/OperationApplicationException;
 Landroid/content/PeriodicSync$1;
 Landroid/content/PeriodicSync;
 Landroid/content/ReceiverCallNotAllowedException;
-Landroid/content/RestrictionEntry$1;
 Landroid/content/RestrictionsManager;
 Landroid/content/SearchRecentSuggestionsProvider$DatabaseHelper;
 Landroid/content/SearchRecentSuggestionsProvider;
@@ -54769,15 +44604,21 @@
 Landroid/content/om/IOverlayManager;
 Landroid/content/om/OverlayInfo$1;
 Landroid/content/om/OverlayInfo;
-Landroid/content/pm/-$$Lambda$FMztmpMwSp3D3ge8Zxr31di8ZBg;
+Landroid/content/om/OverlayManager;
+Landroid/content/pm/-$$Lambda$PackageParser$0aobsT7Zf7WVZCqMZ5z2clAuQf4;
+Landroid/content/pm/-$$Lambda$RegisteredServicesCache$lDXmLhKoG7lZpIyDOuPYOrjzDYY;
+Landroid/content/pm/-$$Lambda$T1UQAuePWRRmVQ1KzTyMAktZUPM;
+Landroid/content/pm/-$$Lambda$ciir_QAmv6RwJro4I58t77dPnxU;
 Landroid/content/pm/-$$Lambda$jpya2qgMDDEok2GAoKRDqPM5lIE;
+Landroid/content/pm/-$$Lambda$n3uXeb1v-YRmq_BWTfosEqUUr9g;
+Landroid/content/pm/-$$Lambda$zO9HBUVgPeroyDQPLJE-MNMvSqc;
 Landroid/content/pm/ActivityInfo$1;
 Landroid/content/pm/ActivityInfo$WindowLayout;
 Landroid/content/pm/ActivityInfo;
+Landroid/content/pm/AndroidHidlUpdater;
 Landroid/content/pm/ApplicationInfo$1;
 Landroid/content/pm/ApplicationInfo;
 Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;
-Landroid/content/pm/AuxiliaryResolveInfo;
 Landroid/content/pm/BaseParceledListSlice$1;
 Landroid/content/pm/BaseParceledListSlice;
 Landroid/content/pm/ChangedPackages$1;
@@ -54807,7 +44648,8 @@
 Landroid/content/pm/IPackageDataObserver$Stub$Proxy;
 Landroid/content/pm/IPackageDataObserver$Stub;
 Landroid/content/pm/IPackageDataObserver;
-Landroid/content/pm/IPackageDeleteObserver$Stub;
+Landroid/content/pm/IPackageDeleteObserver2$Stub;
+Landroid/content/pm/IPackageDeleteObserver2;
 Landroid/content/pm/IPackageDeleteObserver;
 Landroid/content/pm/IPackageInstallObserver2$Stub;
 Landroid/content/pm/IPackageInstaller$Stub$Proxy;
@@ -54832,8 +44674,8 @@
 Landroid/content/pm/IShortcutService$Stub$Proxy;
 Landroid/content/pm/IShortcutService$Stub;
 Landroid/content/pm/IShortcutService;
-Landroid/content/pm/InstantAppInfo;
 Landroid/content/pm/InstantAppIntentFilter$1;
+Landroid/content/pm/InstantAppIntentFilter;
 Landroid/content/pm/InstantAppRequest;
 Landroid/content/pm/InstantAppResolveInfo$1;
 Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest$1;
@@ -54846,10 +44688,11 @@
 Landroid/content/pm/LauncherActivityInfo;
 Landroid/content/pm/LauncherApps$1;
 Landroid/content/pm/LauncherApps$Callback;
-Landroid/content/pm/LauncherApps$CallbackMessageHandler$CallbackInfo;
 Landroid/content/pm/LauncherApps$CallbackMessageHandler;
 Landroid/content/pm/LauncherApps$ShortcutQuery;
 Landroid/content/pm/LauncherApps;
+Landroid/content/pm/ModuleInfo$1;
+Landroid/content/pm/ModuleInfo;
 Landroid/content/pm/OrgApacheHttpLegacyUpdater;
 Landroid/content/pm/PackageBackwardCompatibility$AndroidTestRunnerSplitUpdater;
 Landroid/content/pm/PackageBackwardCompatibility$RemoveUnnecessaryAndroidTestBaseLibrary;
@@ -54868,14 +44711,20 @@
 Landroid/content/pm/PackageInstaller;
 Landroid/content/pm/PackageItemInfo;
 Landroid/content/pm/PackageList;
+Landroid/content/pm/PackageManager$LegacyPackageDeleteObserver;
 Landroid/content/pm/PackageManager$NameNotFoundException;
 Landroid/content/pm/PackageManager$OnPermissionsChangedListener;
 Landroid/content/pm/PackageManager;
+Landroid/content/pm/PackageManagerInternal$DefaultBrowserProvider;
+Landroid/content/pm/PackageManagerInternal$DefaultHomeProvider;
 Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;
 Landroid/content/pm/PackageManagerInternal$PackageListObserver;
 Landroid/content/pm/PackageManagerInternal$PackagesProvider;
 Landroid/content/pm/PackageManagerInternal$SyncAdapterPackagesProvider;
 Landroid/content/pm/PackageManagerInternal;
+Landroid/content/pm/PackageParser$1;
+Landroid/content/pm/PackageParser$2;
+Landroid/content/pm/PackageParser$AbstractVersionsAccessor;
 Landroid/content/pm/PackageParser$Activity$1;
 Landroid/content/pm/PackageParser$Activity;
 Landroid/content/pm/PackageParser$ActivityIntentInfo;
@@ -54908,7 +44757,6 @@
 Landroid/content/pm/PackageParser$SigningDetails$Builder;
 Landroid/content/pm/PackageParser$SigningDetails;
 Landroid/content/pm/PackageParser$SplitNameComparator;
-Landroid/content/pm/PackageParser$SplitPermissionInfo;
 Landroid/content/pm/PackageParser;
 Landroid/content/pm/PackageParserCacheHelper$ReadHelper;
 Landroid/content/pm/PackageParserCacheHelper$WriteHelper;
@@ -54929,7 +44777,8 @@
 Landroid/content/pm/RegisteredServicesCache$1;
 Landroid/content/pm/RegisteredServicesCache$2;
 Landroid/content/pm/RegisteredServicesCache$3;
-Landroid/content/pm/RegisteredServicesCache$4;
+Landroid/content/pm/RegisteredServicesCache$ServiceInfo;
+Landroid/content/pm/RegisteredServicesCache$UserServices;
 Landroid/content/pm/RegisteredServicesCache;
 Landroid/content/pm/RegisteredServicesCacheListener;
 Landroid/content/pm/ResolveInfo$1;
@@ -54953,22 +44802,19 @@
 Landroid/content/pm/StringParceledListSlice;
 Landroid/content/pm/UserInfo$1;
 Landroid/content/pm/UserInfo;
+Landroid/content/pm/UsesPermissionInfo$1;
+Landroid/content/pm/UsesPermissionInfo;
 Landroid/content/pm/VerifierInfo;
 Landroid/content/pm/VersionedPackage$1;
 Landroid/content/pm/VersionedPackage;
 Landroid/content/pm/XmlSerializerAndParser;
-Landroid/content/pm/dex/-$$Lambda$ArtManager$SnapshotRuntimeProfileCallbackDelegate$OOdGv4iFxuVpH2kzFMr8KwX3X8s;
-Landroid/content/pm/dex/ArtManager$SnapshotRuntimeProfileCallback;
-Landroid/content/pm/dex/ArtManager$SnapshotRuntimeProfileCallbackDelegate;
 Landroid/content/pm/dex/ArtManager;
 Landroid/content/pm/dex/ArtManagerInternal;
 Landroid/content/pm/dex/DexMetadataHelper;
-Landroid/content/pm/dex/IArtManager$Stub$Proxy;
 Landroid/content/pm/dex/IArtManager$Stub;
 Landroid/content/pm/dex/IArtManager;
 Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub$Proxy;
 Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback$Stub;
-Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;
 Landroid/content/pm/dex/PackageOptimizationInfo;
 Landroid/content/pm/split/DefaultSplitAssetLoader;
 Landroid/content/pm/split/SplitAssetLoader;
@@ -54997,8 +44843,6 @@
 Landroid/content/res/ConstantState;
 Landroid/content/res/DrawableCache;
 Landroid/content/res/FontResourcesParser$FamilyResourceEntry;
-Landroid/content/res/FontResourcesParser$FontFamilyFilesResourceEntry;
-Landroid/content/res/FontResourcesParser$FontFileResourceEntry;
 Landroid/content/res/FontResourcesParser$ProviderResourceEntry;
 Landroid/content/res/FontResourcesParser;
 Landroid/content/res/GradientColor$GradientColorFactory;
@@ -55022,6 +44866,9 @@
 Landroid/content/res/XmlBlock$Parser;
 Landroid/content/res/XmlBlock;
 Landroid/content/res/XmlResourceParser;
+Landroid/content/rollback/IRollbackManager$Stub;
+Landroid/content/rollback/IRollbackManager;
+Landroid/content/rollback/RollbackManager;
 Landroid/database/AbstractCursor$SelfContentObserver;
 Landroid/database/AbstractCursor;
 Landroid/database/AbstractWindowedCursor;
@@ -55043,11 +44890,11 @@
 Landroid/database/CursorToBulkCursorAdaptor;
 Landroid/database/CursorWindow$1;
 Landroid/database/CursorWindow;
-Landroid/database/CursorWindowAllocationException;
 Landroid/database/CursorWrapper;
 Landroid/database/DataSetObservable;
 Landroid/database/DataSetObserver;
 Landroid/database/DatabaseErrorHandler;
+Landroid/database/DatabaseUtils$InsertHelper;
 Landroid/database/DatabaseUtils;
 Landroid/database/DefaultDatabaseErrorHandler;
 Landroid/database/IBulkCursor;
@@ -55061,8 +44908,13 @@
 Landroid/database/Observable;
 Landroid/database/SQLException;
 Landroid/database/StaleDataException;
+Landroid/database/TranslatingCursor$Config;
+Landroid/database/TranslatingCursor$Translator;
+Landroid/database/TranslatingCursor;
 Landroid/database/sqlite/-$$Lambda$RBWjWVyGrOTsQrLCYzJ_G8Uk25Q;
+Landroid/database/sqlite/-$$Lambda$SQLiteDatabase$1FsSJH2q7x3eeDFXCAu9l4piDsE;
 Landroid/database/sqlite/DatabaseObjectNotClosedException;
+Landroid/database/sqlite/SQLiteAbortException;
 Landroid/database/sqlite/SQLiteCantOpenDatabaseException;
 Landroid/database/sqlite/SQLiteClosable;
 Landroid/database/sqlite/SQLiteCompatibilityWalFlags;
@@ -55071,7 +44923,6 @@
 Landroid/database/sqlite/SQLiteConnection$PreparedStatement;
 Landroid/database/sqlite/SQLiteConnection$PreparedStatementCache;
 Landroid/database/sqlite/SQLiteConnection;
-Landroid/database/sqlite/SQLiteConnectionPool$1;
 Landroid/database/sqlite/SQLiteConnectionPool$AcquiredConnectionStatus;
 Landroid/database/sqlite/SQLiteConnectionPool$ConnectionWaiter;
 Landroid/database/sqlite/SQLiteConnectionPool$IdleConnectionHandler;
@@ -55082,12 +44933,15 @@
 Landroid/database/sqlite/SQLiteCustomFunction;
 Landroid/database/sqlite/SQLiteDatabase$1;
 Landroid/database/sqlite/SQLiteDatabase$CursorFactory;
+Landroid/database/sqlite/SQLiteDatabase$CustomFunction;
 Landroid/database/sqlite/SQLiteDatabase$OpenParams$Builder;
 Landroid/database/sqlite/SQLiteDatabase$OpenParams;
 Landroid/database/sqlite/SQLiteDatabase;
 Landroid/database/sqlite/SQLiteDatabaseConfiguration;
 Landroid/database/sqlite/SQLiteDatabaseCorruptException;
 Landroid/database/sqlite/SQLiteDatabaseLockedException;
+Landroid/database/sqlite/SQLiteDebug$Consts;
+Landroid/database/sqlite/SQLiteDebug$DbStats;
 Landroid/database/sqlite/SQLiteDebug$PagerStats;
 Landroid/database/sqlite/SQLiteDebug;
 Landroid/database/sqlite/SQLiteDirectCursorDriver;
@@ -55097,11 +44951,9 @@
 Landroid/database/sqlite/SQLiteFullException;
 Landroid/database/sqlite/SQLiteGlobal;
 Landroid/database/sqlite/SQLiteOpenHelper;
-Landroid/database/sqlite/SQLiteOutOfMemoryException;
 Landroid/database/sqlite/SQLiteProgram;
 Landroid/database/sqlite/SQLiteQuery;
 Landroid/database/sqlite/SQLiteQueryBuilder;
-Landroid/database/sqlite/SQLiteReadOnlyDatabaseException;
 Landroid/database/sqlite/SQLiteSession$Transaction;
 Landroid/database/sqlite/SQLiteSession;
 Landroid/database/sqlite/SQLiteStatement;
@@ -55117,8 +44969,12 @@
 Landroid/ddm/DdmHandleThread;
 Landroid/ddm/DdmHandleViewDebug;
 Landroid/ddm/DdmRegister;
-Landroid/drm/DrmManagerClient;
-Landroid/drm/DrmSupportInfo;
+Landroid/debug/AdbManager;
+Landroid/debug/AdbManagerInternal;
+Landroid/debug/IAdbManager$Stub;
+Landroid/debug/IAdbManager;
+Landroid/debug/IAdbTransport$Stub;
+Landroid/debug/IAdbTransport;
 Landroid/graphics/-$$Lambda$ColorSpace$BNp-1CyCzsQzfE-Ads9uc4rJDfw;
 Landroid/graphics/-$$Lambda$ColorSpace$Rgb$8EkhO2jIf14tuA3BvrmYJMa7YXM;
 Landroid/graphics/-$$Lambda$ColorSpace$Rgb$CqKld6797g7__JnuY0NeFz5q4_E;
@@ -55127,6 +44983,7 @@
 Landroid/graphics/-$$Lambda$ColorSpace$Rgb$bWzafC8vMHNuVmRuTUPEFUMlfuY;
 Landroid/graphics/-$$Lambda$ColorSpace$S2rlqJvkXGTpUF6mZhvkElds8JE;
 Landroid/graphics/BaseCanvas;
+Landroid/graphics/BaseRecordingCanvas;
 Landroid/graphics/Bitmap$1;
 Landroid/graphics/Bitmap$2;
 Landroid/graphics/Bitmap$CompressFormat;
@@ -55136,6 +44993,8 @@
 Landroid/graphics/BitmapFactory;
 Landroid/graphics/BitmapRegionDecoder;
 Landroid/graphics/BitmapShader;
+Landroid/graphics/BlendMode;
+Landroid/graphics/BlendModeColorFilter;
 Landroid/graphics/BlurMaskFilter$Blur;
 Landroid/graphics/BlurMaskFilter;
 Landroid/graphics/Camera;
@@ -55152,6 +45011,7 @@
 Landroid/graphics/ColorSpace$Lab;
 Landroid/graphics/ColorSpace$Model;
 Landroid/graphics/ColorSpace$Named;
+Landroid/graphics/ColorSpace$Rgb$NoImagePreloadHolder;
 Landroid/graphics/ColorSpace$Rgb$TransferParameters;
 Landroid/graphics/ColorSpace$Rgb;
 Landroid/graphics/ColorSpace$Xyz;
@@ -55165,16 +45025,26 @@
 Landroid/graphics/EmbossMaskFilter;
 Landroid/graphics/FontFamily;
 Landroid/graphics/FontListParser;
+Landroid/graphics/FrameInfo;
 Landroid/graphics/GraphicBuffer$1;
 Landroid/graphics/GraphicBuffer;
+Landroid/graphics/HardwareRenderer$DestroyContextRunnable;
+Landroid/graphics/HardwareRenderer$FrameCompleteCallback;
+Landroid/graphics/HardwareRenderer$FrameDrawingCallback;
+Landroid/graphics/HardwareRenderer$FrameRenderRequest;
+Landroid/graphics/HardwareRenderer$ProcessInitializer$1;
+Landroid/graphics/HardwareRenderer$ProcessInitializer;
+Landroid/graphics/HardwareRenderer;
 Landroid/graphics/ImageDecoder$AssetInputStreamSource;
+Landroid/graphics/ImageDecoder$CallableSource;
 Landroid/graphics/ImageDecoder$DecodeException;
 Landroid/graphics/ImageDecoder$ImageInfo;
 Landroid/graphics/ImageDecoder$InputStreamSource;
 Landroid/graphics/ImageDecoder$OnHeaderDecodedListener;
+Landroid/graphics/ImageDecoder$OnPartialImageListener;
 Landroid/graphics/ImageDecoder$Source;
 Landroid/graphics/ImageDecoder;
-Landroid/graphics/ImageFormat;
+Landroid/graphics/Insets$1;
 Landroid/graphics/Insets;
 Landroid/graphics/Interpolator$Result;
 Landroid/graphics/Interpolator;
@@ -55201,13 +45071,10 @@
 Landroid/graphics/PaintFlagsDrawFilter;
 Landroid/graphics/Path$Direction;
 Landroid/graphics/Path$FillType;
-Landroid/graphics/Path$Op;
 Landroid/graphics/Path;
-Landroid/graphics/PathDashPathEffect$Style;
 Landroid/graphics/PathDashPathEffect;
 Landroid/graphics/PathEffect;
 Landroid/graphics/PathMeasure;
-Landroid/graphics/Picture$PictureCanvas;
 Landroid/graphics/Picture;
 Landroid/graphics/PixelFormat;
 Landroid/graphics/Point$1;
@@ -55219,8 +45086,8 @@
 Landroid/graphics/PorterDuffColorFilter;
 Landroid/graphics/PorterDuffXfermode;
 Landroid/graphics/RadialGradient;
+Landroid/graphics/RecordingCanvas;
 Landroid/graphics/Rect$1;
-Landroid/graphics/Rect$UnflattenHelper;
 Landroid/graphics/Rect;
 Landroid/graphics/RectF$1;
 Landroid/graphics/RectF;
@@ -55228,6 +45095,10 @@
 Landroid/graphics/Region$Op;
 Landroid/graphics/Region;
 Landroid/graphics/RegionIterator;
+Landroid/graphics/RenderNode$AnimationHost;
+Landroid/graphics/RenderNode$NoImagePreloadHolder;
+Landroid/graphics/RenderNode$PositionUpdateListener;
+Landroid/graphics/RenderNode;
 Landroid/graphics/Shader$NoImagePreloadHolder;
 Landroid/graphics/Shader$TileMode;
 Landroid/graphics/Shader;
@@ -55239,19 +45110,22 @@
 Landroid/graphics/TableMaskFilter;
 Landroid/graphics/TemporaryBuffer;
 Landroid/graphics/Typeface$Builder;
+Landroid/graphics/Typeface$CustomFallbackBuilder;
 Landroid/graphics/Typeface;
 Landroid/graphics/Xfermode;
 Landroid/graphics/YuvImage;
+Landroid/graphics/drawable/-$$Lambda$AnimatedVectorDrawable$VectorDrawableAnimatorRT$PzjgSeyQweoFjbEZJP80UteZqm8;
 Landroid/graphics/drawable/-$$Lambda$BitmapDrawable$LMqt8JvxZ4giSOIRAtlCKDg39Jw;
-Landroid/graphics/drawable/-$$Lambda$Drawable$wmqxcnFJRLY7tFDmv2eEGR5vtvU;
+Landroid/graphics/drawable/-$$Lambda$Drawable$KZt6g0-IxKV2yrq1V3HrWrb1kXg;
+Landroid/graphics/drawable/-$$Lambda$Drawable$bbJz2VgQAwkXlE27mR8nPMYacEw;
 Landroid/graphics/drawable/-$$Lambda$NinePatchDrawable$yQvfm7FAkslD5wdGFysjgwt8cLE;
 Landroid/graphics/drawable/AdaptiveIconDrawable$ChildDrawable;
 Landroid/graphics/drawable/AdaptiveIconDrawable$LayerState;
 Landroid/graphics/drawable/AdaptiveIconDrawable;
+Landroid/graphics/drawable/Animatable2$AnimationCallback;
 Landroid/graphics/drawable/Animatable2;
 Landroid/graphics/drawable/Animatable;
 Landroid/graphics/drawable/AnimatedImageDrawable;
-Landroid/graphics/drawable/AnimatedRotateDrawable$1;
 Landroid/graphics/drawable/AnimatedRotateDrawable$AnimatedRotateState;
 Landroid/graphics/drawable/AnimatedRotateDrawable;
 Landroid/graphics/drawable/AnimatedStateListDrawable$AnimatedStateListState;
@@ -55261,11 +45135,11 @@
 Landroid/graphics/drawable/AnimatedStateListDrawable$Transition;
 Landroid/graphics/drawable/AnimatedStateListDrawable;
 Landroid/graphics/drawable/AnimatedVectorDrawable$1;
+Landroid/graphics/drawable/AnimatedVectorDrawable$2;
 Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator;
 Landroid/graphics/drawable/AnimatedVectorDrawable$AnimatedVectorDrawableState;
 Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimator;
 Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorRT;
-Landroid/graphics/drawable/AnimatedVectorDrawable$VectorDrawableAnimatorUI;
 Landroid/graphics/drawable/AnimatedVectorDrawable;
 Landroid/graphics/drawable/AnimationDrawable$AnimationState;
 Landroid/graphics/drawable/AnimationDrawable;
@@ -55297,12 +45171,9 @@
 Landroid/graphics/drawable/LayerDrawable$ChildDrawable;
 Landroid/graphics/drawable/LayerDrawable$LayerState;
 Landroid/graphics/drawable/LayerDrawable;
-Landroid/graphics/drawable/LevelListDrawable$LevelListState;
-Landroid/graphics/drawable/LevelListDrawable;
 Landroid/graphics/drawable/NinePatchDrawable$NinePatchState;
 Landroid/graphics/drawable/NinePatchDrawable;
 Landroid/graphics/drawable/PaintDrawable;
-Landroid/graphics/drawable/PictureDrawable;
 Landroid/graphics/drawable/RippleBackground$1;
 Landroid/graphics/drawable/RippleBackground$BackgroundProperty;
 Landroid/graphics/drawable/RippleBackground;
@@ -55318,7 +45189,6 @@
 Landroid/graphics/drawable/RotateDrawable;
 Landroid/graphics/drawable/ScaleDrawable$ScaleState;
 Landroid/graphics/drawable/ScaleDrawable;
-Landroid/graphics/drawable/ShapeDrawable$ShaderFactory;
 Landroid/graphics/drawable/ShapeDrawable$ShapeState;
 Landroid/graphics/drawable/ShapeDrawable;
 Landroid/graphics/drawable/StateListDrawable$StateListState;
@@ -55354,24 +45224,36 @@
 Landroid/graphics/drawable/VectorDrawable$VectorDrawableState;
 Landroid/graphics/drawable/VectorDrawable;
 Landroid/graphics/drawable/shapes/OvalShape;
+Landroid/graphics/drawable/shapes/PathShape;
 Landroid/graphics/drawable/shapes/RectShape;
 Landroid/graphics/drawable/shapes/RoundRectShape;
 Landroid/graphics/drawable/shapes/Shape;
+Landroid/graphics/fonts/Font$Builder;
+Landroid/graphics/fonts/Font;
+Landroid/graphics/fonts/FontCustomizationParser$Result;
+Landroid/graphics/fonts/FontCustomizationParser;
+Landroid/graphics/fonts/FontFamily$Builder;
+Landroid/graphics/fonts/FontFamily;
+Landroid/graphics/fonts/FontFileUtil;
+Landroid/graphics/fonts/FontStyle;
 Landroid/graphics/fonts/FontVariationAxis;
+Landroid/graphics/fonts/SystemFonts;
 Landroid/graphics/pdf/PdfDocument;
 Landroid/graphics/pdf/PdfEditor;
 Landroid/graphics/pdf/PdfRenderer;
-Landroid/hardware/Camera$AutoFocusCallback;
+Landroid/graphics/text/LineBreaker$Builder;
+Landroid/graphics/text/LineBreaker$ParagraphConstraints;
+Landroid/graphics/text/LineBreaker$Result;
+Landroid/graphics/text/LineBreaker;
+Landroid/graphics/text/MeasuredText$Builder;
+Landroid/graphics/text/MeasuredText;
+Landroid/gsi/IGsiService$Stub$Proxy;
+Landroid/gsi/IGsiService$Stub;
 Landroid/hardware/Camera$CameraInfo;
-Landroid/hardware/Camera$ErrorCallback;
-Landroid/hardware/Camera$EventHandler;
 Landroid/hardware/Camera$Face;
-Landroid/hardware/Camera$IAppOpsCallbackWrapper;
-Landroid/hardware/Camera$Parameters;
-Landroid/hardware/Camera$PreviewCallback;
-Landroid/hardware/Camera$Size;
 Landroid/hardware/Camera;
 Landroid/hardware/CameraStatus$1;
+Landroid/hardware/CameraStatus;
 Landroid/hardware/ConsumerIrManager;
 Landroid/hardware/GeomagneticField$LegendreTable;
 Landroid/hardware/GeomagneticField;
@@ -55386,6 +45268,11 @@
 Landroid/hardware/ICameraServiceProxy;
 Landroid/hardware/IConsumerIrService$Stub;
 Landroid/hardware/IConsumerIrService;
+Landroid/hardware/ISensorPrivacyListener$Stub$Proxy;
+Landroid/hardware/ISensorPrivacyListener$Stub;
+Landroid/hardware/ISensorPrivacyListener;
+Landroid/hardware/ISensorPrivacyManager$Stub;
+Landroid/hardware/ISensorPrivacyManager;
 Landroid/hardware/ISerialManager$Stub;
 Landroid/hardware/ISerialManager;
 Landroid/hardware/Sensor;
@@ -55393,6 +45280,7 @@
 Landroid/hardware/SensorEvent;
 Landroid/hardware/SensorEventListener;
 Landroid/hardware/SensorManager;
+Landroid/hardware/SensorPrivacyManager;
 Landroid/hardware/SerialManager;
 Landroid/hardware/SerialPort;
 Landroid/hardware/SystemSensorManager$BaseEventQueue;
@@ -55400,14 +45288,33 @@
 Landroid/hardware/SystemSensorManager$TriggerEventQueue;
 Landroid/hardware/SystemSensorManager;
 Landroid/hardware/TriggerEventListener;
-Landroid/hardware/biometrics/BiometricAuthenticator$BiometricIdentifier;
+Landroid/hardware/biometrics/-$$Lambda$BiometricPrompt$1$_p2Kb7GLaNe_mSDlUdJIRLMJ5kQ;
+Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;
+Landroid/hardware/biometrics/BiometricAuthenticator;
+Landroid/hardware/biometrics/BiometricFaceConstants;
 Landroid/hardware/biometrics/BiometricFingerprintConstants;
-Landroid/hardware/biometrics/IBiometricPromptReceiver$Stub;
-Landroid/hardware/biometrics/IBiometricPromptReceiver;
+Landroid/hardware/biometrics/BiometricManager;
+Landroid/hardware/biometrics/BiometricPrompt$1;
+Landroid/hardware/biometrics/BiometricPrompt$AuthenticationCallback;
+Landroid/hardware/biometrics/BiometricPrompt$Builder;
+Landroid/hardware/biometrics/BiometricPrompt$OnAuthenticationCancelListener;
+Landroid/hardware/biometrics/BiometricPrompt;
+Landroid/hardware/biometrics/BiometricSourceType$1;
+Landroid/hardware/biometrics/BiometricSourceType;
+Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub$Proxy;
+Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback$Stub;
+Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback;
+Landroid/hardware/biometrics/IBiometricService$Stub$Proxy;
+Landroid/hardware/biometrics/IBiometricService$Stub;
+Landroid/hardware/biometrics/IBiometricService;
+Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub$Proxy;
+Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback$Stub;
+Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;
+Landroid/hardware/biometrics/IBiometricServiceReceiver$Stub$Proxy;
+Landroid/hardware/biometrics/IBiometricServiceReceiver$Stub;
+Landroid/hardware/biometrics/IBiometricServiceReceiverInternal$Stub;
+Landroid/hardware/biometrics/IBiometricServiceReceiverInternal;
 Landroid/hardware/camera2/CameraAccessException;
-Landroid/hardware/camera2/CameraCaptureSession$CaptureCallback;
-Landroid/hardware/camera2/CameraCaptureSession$StateCallback;
-Landroid/hardware/camera2/CameraCaptureSession;
 Landroid/hardware/camera2/CameraCharacteristics$1;
 Landroid/hardware/camera2/CameraCharacteristics$2;
 Landroid/hardware/camera2/CameraCharacteristics$3;
@@ -55415,15 +45322,12 @@
 Landroid/hardware/camera2/CameraCharacteristics$5;
 Landroid/hardware/camera2/CameraCharacteristics$Key;
 Landroid/hardware/camera2/CameraCharacteristics;
-Landroid/hardware/camera2/CameraDevice$StateCallback;
-Landroid/hardware/camera2/CameraDevice;
 Landroid/hardware/camera2/CameraManager$CameraManagerGlobal$1;
 Landroid/hardware/camera2/CameraManager$CameraManagerGlobal;
 Landroid/hardware/camera2/CameraManager;
 Landroid/hardware/camera2/CameraMetadata;
 Landroid/hardware/camera2/CaptureRequest$1;
 Landroid/hardware/camera2/CaptureRequest$2;
-Landroid/hardware/camera2/CaptureRequest$Builder;
 Landroid/hardware/camera2/CaptureRequest$Key;
 Landroid/hardware/camera2/CaptureRequest;
 Landroid/hardware/camera2/CaptureResult$1;
@@ -55432,43 +45336,6 @@
 Landroid/hardware/camera2/CaptureResult$Key;
 Landroid/hardware/camera2/CaptureResult;
 Landroid/hardware/camera2/DngCreator;
-Landroid/hardware/camera2/ICameraDeviceCallbacks$Stub;
-Landroid/hardware/camera2/ICameraDeviceCallbacks;
-Landroid/hardware/camera2/ICameraDeviceUser$Stub$Proxy;
-Landroid/hardware/camera2/ICameraDeviceUser;
-Landroid/hardware/camera2/TotalCaptureResult;
-Landroid/hardware/camera2/impl/-$$Lambda$CallbackProxies$SessionStateCallbackProxy$Hoz-iT1tD_pl7sCGu4flyo-xB90;
-Landroid/hardware/camera2/impl/-$$Lambda$CallbackProxies$SessionStateCallbackProxy$ISQyEhLUI1khcOCin3OIsRyTUoU;
-Landroid/hardware/camera2/impl/-$$Lambda$CallbackProxies$SessionStateCallbackProxy$soW0qC12Osypoky6AfL3P2-TeDw;
-Landroid/hardware/camera2/impl/-$$Lambda$CameraCaptureSessionImpl$1$7mSdNTTAoYA0D3ITDxzDJKGykz0;
-Landroid/hardware/camera2/impl/-$$Lambda$CameraCaptureSessionImpl$1$KZ4tthx5TnA5BizPVljsPqqdHck;
-Landroid/hardware/camera2/impl/-$$Lambda$CameraCaptureSessionImpl$1$OA1Yz_YgzMO8qcV8esRjyt7ykp4;
-Landroid/hardware/camera2/impl/-$$Lambda$CameraCaptureSessionImpl$1$TIJELOXvjSbPh6mpBLfBJ5ciNic;
-Landroid/hardware/camera2/impl/-$$Lambda$CameraCaptureSessionImpl$1$uPVvNnGFdZcxxscdYQ5erNgaRWA;
-Landroid/hardware/camera2/impl/CallbackProxies$SessionStateCallbackProxy;
-Landroid/hardware/camera2/impl/CameraCaptureSessionCore;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl$1;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl$2;
-Landroid/hardware/camera2/impl/CameraCaptureSessionImpl;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$10;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$1;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$2;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$3;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$4;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$5;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$6;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$7;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$9;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks$1;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks$2;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks$3;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraDeviceCallbacks;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CameraHandlerExecutor;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallback;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$CaptureCallbackHolder;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$FrameNumberTracker;
-Landroid/hardware/camera2/impl/CameraDeviceImpl$RequestLastFrameNumbersHolder;
-Landroid/hardware/camera2/impl/CameraDeviceImpl;
 Landroid/hardware/camera2/impl/CameraMetadataNative$10;
 Landroid/hardware/camera2/impl/CameraMetadataNative$11;
 Landroid/hardware/camera2/impl/CameraMetadataNative$12;
@@ -55481,6 +45348,7 @@
 Landroid/hardware/camera2/impl/CameraMetadataNative$19;
 Landroid/hardware/camera2/impl/CameraMetadataNative$1;
 Landroid/hardware/camera2/impl/CameraMetadataNative$20;
+Landroid/hardware/camera2/impl/CameraMetadataNative$21;
 Landroid/hardware/camera2/impl/CameraMetadataNative$2;
 Landroid/hardware/camera2/impl/CameraMetadataNative$3;
 Landroid/hardware/camera2/impl/CameraMetadataNative$4;
@@ -55491,50 +45359,36 @@
 Landroid/hardware/camera2/impl/CameraMetadataNative$9;
 Landroid/hardware/camera2/impl/CameraMetadataNative$Key;
 Landroid/hardware/camera2/impl/CameraMetadataNative;
-Landroid/hardware/camera2/impl/CaptureResultExtras$1;
-Landroid/hardware/camera2/impl/CaptureResultExtras;
 Landroid/hardware/camera2/impl/GetCommand;
-Landroid/hardware/camera2/impl/ICameraDeviceUserWrapper;
-Landroid/hardware/camera2/impl/PhysicalCaptureResultInfo$1;
 Landroid/hardware/camera2/impl/SetCommand;
 Landroid/hardware/camera2/legacy/LegacyCameraDevice;
 Landroid/hardware/camera2/legacy/LegacyExceptionUtils$BufferQueueAbandonedException;
-Landroid/hardware/camera2/legacy/LegacyExceptionUtils;
 Landroid/hardware/camera2/legacy/PerfMeasurement;
 Landroid/hardware/camera2/marshal/MarshalHelpers;
 Landroid/hardware/camera2/marshal/MarshalQueryable;
 Landroid/hardware/camera2/marshal/MarshalRegistry$MarshalToken;
 Landroid/hardware/camera2/marshal/MarshalRegistry;
 Landroid/hardware/camera2/marshal/Marshaler;
-Landroid/hardware/camera2/marshal/impl/MarshalQueryableArray$MarshalerArray;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableArray;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableBlackLevelPattern;
-Landroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean$MarshalerBoolean;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableBoolean;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableColorSpaceTransform;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableEnum;
-Landroid/hardware/camera2/marshal/impl/MarshalQueryableHighSpeedVideoConfiguration$MarshalerHighSpeedVideoConfiguration;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableHighSpeedVideoConfiguration;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableMeteringRectangle;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger$MarshalerNativeByteToInteger;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableNativeByteToInteger;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryablePair;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableParcelable;
-Landroid/hardware/camera2/marshal/impl/MarshalQueryablePrimitive$MarshalerPrimitive;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryablePrimitive;
-Landroid/hardware/camera2/marshal/impl/MarshalQueryableRange$MarshalerRange;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableRange;
-Landroid/hardware/camera2/marshal/impl/MarshalQueryableRect$MarshalerRect;
+Landroid/hardware/camera2/marshal/impl/MarshalQueryableRecommendedStreamConfiguration;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableRect;
-Landroid/hardware/camera2/marshal/impl/MarshalQueryableReprocessFormatsMap$MarshalerReprocessFormatsMap;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableReprocessFormatsMap;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableRggbChannelVector;
-Landroid/hardware/camera2/marshal/impl/MarshalQueryableSize$MarshalerSize;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableSize;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableSizeF;
-Landroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfiguration$MarshalerStreamConfiguration;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfiguration;
-Landroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfigurationDuration$MarshalerStreamConfigurationDuration;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableStreamConfigurationDuration;
 Landroid/hardware/camera2/marshal/impl/MarshalQueryableString;
 Landroid/hardware/camera2/params/BlackLevelPattern;
@@ -55542,10 +45396,10 @@
 Landroid/hardware/camera2/params/Face;
 Landroid/hardware/camera2/params/HighSpeedVideoConfiguration;
 Landroid/hardware/camera2/params/LensShadingMap;
+Landroid/hardware/camera2/params/MandatoryStreamCombination;
 Landroid/hardware/camera2/params/MeteringRectangle;
 Landroid/hardware/camera2/params/OisSample;
-Landroid/hardware/camera2/params/OutputConfiguration$1;
-Landroid/hardware/camera2/params/OutputConfiguration;
+Landroid/hardware/camera2/params/RecommendedStreamConfiguration;
 Landroid/hardware/camera2/params/ReprocessFormatsMap;
 Landroid/hardware/camera2/params/RggbChannelVector;
 Landroid/hardware/camera2/params/StreamConfiguration;
@@ -55553,12 +45407,6 @@
 Landroid/hardware/camera2/params/StreamConfigurationMap;
 Landroid/hardware/camera2/params/TonemapCurve;
 Landroid/hardware/camera2/utils/ArrayUtils;
-Landroid/hardware/camera2/utils/HashCodeHelpers;
-Landroid/hardware/camera2/utils/SubmitInfo$1;
-Landroid/hardware/camera2/utils/SubmitInfo;
-Landroid/hardware/camera2/utils/SurfaceUtils;
-Landroid/hardware/camera2/utils/TaskDrainer;
-Landroid/hardware/camera2/utils/TaskSingleDrainer;
 Landroid/hardware/camera2/utils/TypeReference$SpecializedTypeReference;
 Landroid/hardware/camera2/utils/TypeReference;
 Landroid/hardware/contexthub/V1_0/ContextHub;
@@ -55571,12 +45419,19 @@
 Landroid/hardware/contexthub/V1_0/NanoAppBinary;
 Landroid/hardware/display/AmbientBrightnessDayStats$1;
 Landroid/hardware/display/AmbientBrightnessDayStats;
+Landroid/hardware/display/AmbientDisplayConfiguration;
 Landroid/hardware/display/BrightnessChangeEvent$1;
 Landroid/hardware/display/BrightnessChangeEvent$Builder;
 Landroid/hardware/display/BrightnessChangeEvent;
 Landroid/hardware/display/BrightnessConfiguration$1;
 Landroid/hardware/display/BrightnessConfiguration$Builder;
 Landroid/hardware/display/BrightnessConfiguration;
+Landroid/hardware/display/BrightnessCorrection$1;
+Landroid/hardware/display/BrightnessCorrection$BrightnessCorrectionImplementation;
+Landroid/hardware/display/BrightnessCorrection$ScaleAndTranslateLog;
+Landroid/hardware/display/BrightnessCorrection;
+Landroid/hardware/display/ColorDisplayManager$ColorDisplayManagerInternal;
+Landroid/hardware/display/ColorDisplayManager;
 Landroid/hardware/display/Curve$1;
 Landroid/hardware/display/Curve;
 Landroid/hardware/display/DisplayManager$DisplayListener;
@@ -55586,33 +45441,42 @@
 Landroid/hardware/display/DisplayManagerGlobal;
 Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;
 Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;
-Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;
 Landroid/hardware/display/DisplayManagerInternal;
 Landroid/hardware/display/DisplayViewport;
+Landroid/hardware/display/DisplayedContentSample;
+Landroid/hardware/display/DisplayedContentSamplingAttributes;
+Landroid/hardware/display/IColorDisplayManager$Stub$Proxy;
+Landroid/hardware/display/IColorDisplayManager$Stub;
+Landroid/hardware/display/IColorDisplayManager;
 Landroid/hardware/display/IDisplayManager$Stub$Proxy;
 Landroid/hardware/display/IDisplayManager$Stub;
 Landroid/hardware/display/IDisplayManager;
 Landroid/hardware/display/IDisplayManagerCallback$Stub$Proxy;
 Landroid/hardware/display/IDisplayManagerCallback$Stub;
 Landroid/hardware/display/IDisplayManagerCallback;
+Landroid/hardware/display/IVirtualDisplayCallback$Stub$Proxy;
+Landroid/hardware/display/NightDisplayListener$Callback;
+Landroid/hardware/display/NightDisplayListener;
+Landroid/hardware/display/Time$1;
+Landroid/hardware/display/Time;
 Landroid/hardware/display/WifiDisplay$1;
 Landroid/hardware/display/WifiDisplay;
 Landroid/hardware/display/WifiDisplaySessionInfo$1;
 Landroid/hardware/display/WifiDisplaySessionInfo;
 Landroid/hardware/display/WifiDisplayStatus$1;
 Landroid/hardware/display/WifiDisplayStatus;
+Landroid/hardware/face/FaceManager;
 Landroid/hardware/fingerprint/Fingerprint$1;
 Landroid/hardware/fingerprint/Fingerprint;
 Landroid/hardware/fingerprint/FingerprintManager$1;
 Landroid/hardware/fingerprint/FingerprintManager$2;
+Landroid/hardware/fingerprint/FingerprintManager$EnrollmentCallback;
 Landroid/hardware/fingerprint/FingerprintManager$MyHandler;
+Landroid/hardware/fingerprint/FingerprintManager$OnEnrollCancelListener;
 Landroid/hardware/fingerprint/FingerprintManager;
 Landroid/hardware/fingerprint/IFingerprintService$Stub$Proxy;
 Landroid/hardware/fingerprint/IFingerprintService$Stub;
 Landroid/hardware/fingerprint/IFingerprintService;
-Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback$Stub$Proxy;
-Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback$Stub;
-Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback;
 Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub$Proxy;
 Landroid/hardware/fingerprint/IFingerprintServiceReceiver$Stub;
 Landroid/hardware/fingerprint/IFingerprintServiceReceiver;
@@ -55632,45 +45496,71 @@
 Landroid/hardware/input/InputManager;
 Landroid/hardware/input/InputManagerInternal;
 Landroid/hardware/input/KeyboardLayout$1;
+Landroid/hardware/input/KeyboardLayout;
 Landroid/hardware/input/TouchCalibration$1;
 Landroid/hardware/input/TouchCalibration;
+Landroid/hardware/iris/IrisManager;
+Landroid/hardware/location/-$$Lambda$ContextHubManager$4$sylEfC1Rx_cxuQRnKuthZXmV8KI;
+Landroid/hardware/location/-$$Lambda$ContextHubTransaction$RNVGnle3xCUm9u68syzn6-2znnU;
 Landroid/hardware/location/ActivityRecognitionHardware;
+Landroid/hardware/location/ContextHubClient;
+Landroid/hardware/location/ContextHubClientCallback;
 Landroid/hardware/location/ContextHubInfo$1;
 Landroid/hardware/location/ContextHubInfo;
+Landroid/hardware/location/ContextHubManager$2;
+Landroid/hardware/location/ContextHubManager$4;
+Landroid/hardware/location/ContextHubManager$Callback;
 Landroid/hardware/location/ContextHubManager;
 Landroid/hardware/location/ContextHubMessage$1;
 Landroid/hardware/location/ContextHubMessage;
+Landroid/hardware/location/ContextHubTransaction$Response;
+Landroid/hardware/location/ContextHubTransaction;
+Landroid/hardware/location/GeofenceHardware$GeofenceHardwareCallbackWrapper;
+Landroid/hardware/location/GeofenceHardware$GeofenceHardwareMonitorCallbackWrapper;
+Landroid/hardware/location/GeofenceHardware;
+Landroid/hardware/location/GeofenceHardwareCallback;
 Landroid/hardware/location/GeofenceHardwareImpl$1;
 Landroid/hardware/location/GeofenceHardwareImpl$2;
 Landroid/hardware/location/GeofenceHardwareImpl$3;
 Landroid/hardware/location/GeofenceHardwareImpl$Reaper;
 Landroid/hardware/location/GeofenceHardwareImpl;
+Landroid/hardware/location/GeofenceHardwareMonitorCallback;
 Landroid/hardware/location/GeofenceHardwareMonitorEvent$1;
 Landroid/hardware/location/GeofenceHardwareMonitorEvent;
+Landroid/hardware/location/GeofenceHardwareRequest;
 Landroid/hardware/location/GeofenceHardwareRequestParcelable$1;
+Landroid/hardware/location/GeofenceHardwareRequestParcelable;
 Landroid/hardware/location/GeofenceHardwareService$1;
 Landroid/hardware/location/GeofenceHardwareService;
 Landroid/hardware/location/IActivityRecognitionHardware$Stub;
 Landroid/hardware/location/IActivityRecognitionHardware;
 Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub$Proxy;
 Landroid/hardware/location/IActivityRecognitionHardwareClient$Stub;
-Landroid/hardware/location/IActivityRecognitionHardwareClient;
 Landroid/hardware/location/IContextHubCallback$Stub$Proxy;
+Landroid/hardware/location/IContextHubCallback$Stub;
 Landroid/hardware/location/IContextHubCallback;
+Landroid/hardware/location/IContextHubClient$Stub$Proxy;
 Landroid/hardware/location/IContextHubClient$Stub;
 Landroid/hardware/location/IContextHubClient;
+Landroid/hardware/location/IContextHubClientCallback$Stub$Proxy;
 Landroid/hardware/location/IContextHubClientCallback$Stub;
 Landroid/hardware/location/IContextHubClientCallback;
+Landroid/hardware/location/IContextHubService$Stub$Proxy;
 Landroid/hardware/location/IContextHubService$Stub;
 Landroid/hardware/location/IContextHubService;
+Landroid/hardware/location/IContextHubTransactionCallback$Stub$Proxy;
 Landroid/hardware/location/IContextHubTransactionCallback$Stub;
 Landroid/hardware/location/IContextHubTransactionCallback;
+Landroid/hardware/location/IGeofenceHardware$Stub$Proxy;
 Landroid/hardware/location/IGeofenceHardware$Stub;
 Landroid/hardware/location/IGeofenceHardware;
 Landroid/hardware/location/IGeofenceHardwareCallback$Stub$Proxy;
-Landroid/hardware/location/IGeofenceHardwareCallback;
+Landroid/hardware/location/IGeofenceHardwareCallback$Stub;
 Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub$Proxy;
+Landroid/hardware/location/IGeofenceHardwareMonitorCallback$Stub;
 Landroid/hardware/location/IGeofenceHardwareMonitorCallback;
+Landroid/hardware/location/MemoryRegion$1;
+Landroid/hardware/location/MemoryRegion;
 Landroid/hardware/location/NanoApp$1;
 Landroid/hardware/location/NanoApp;
 Landroid/hardware/location/NanoAppBinary$1;
@@ -55682,6 +45572,7 @@
 Landroid/hardware/location/NanoAppMessage$1;
 Landroid/hardware/location/NanoAppMessage;
 Landroid/hardware/location/NanoAppState$1;
+Landroid/hardware/location/NanoAppState;
 Landroid/hardware/radio/ITuner$Stub;
 Landroid/hardware/radio/ITuner;
 Landroid/hardware/radio/ITunerCallback;
@@ -55710,42 +45601,32 @@
 Landroid/hardware/radio/RadioMetadata;
 Landroid/hardware/radio/V1_0/ActivityStatsInfo;
 Landroid/hardware/radio/V1_0/AppStatus;
-Landroid/hardware/radio/V1_0/Call;
 Landroid/hardware/radio/V1_0/CardStatus;
+Landroid/hardware/radio/V1_0/CarrierRestrictions;
 Landroid/hardware/radio/V1_0/CdmaBroadcastSmsConfigInfo;
 Landroid/hardware/radio/V1_0/CdmaSignalStrength;
-Landroid/hardware/radio/V1_0/CellIdentity;
 Landroid/hardware/radio/V1_0/CellIdentityGsm;
 Landroid/hardware/radio/V1_0/CellIdentityLte;
 Landroid/hardware/radio/V1_0/CellIdentityWcdma;
-Landroid/hardware/radio/V1_0/CellInfo;
-Landroid/hardware/radio/V1_0/CellInfoGsm;
-Landroid/hardware/radio/V1_0/CellInfoLte;
 Landroid/hardware/radio/V1_0/CellInfoType;
-Landroid/hardware/radio/V1_0/CellInfoWcdma;
 Landroid/hardware/radio/V1_0/DataCallFailCause;
 Landroid/hardware/radio/V1_0/DataProfileInfo;
 Landroid/hardware/radio/V1_0/DataRegStateResult;
 Landroid/hardware/radio/V1_0/EvdoSignalStrength;
 Landroid/hardware/radio/V1_0/GsmBroadcastSmsConfigInfo;
 Landroid/hardware/radio/V1_0/GsmSignalStrength;
-Landroid/hardware/radio/V1_0/GsmSmsMessage;
 Landroid/hardware/radio/V1_0/HardwareConfig;
-Landroid/hardware/radio/V1_0/IRadio$Proxy;
 Landroid/hardware/radio/V1_0/IRadio;
 Landroid/hardware/radio/V1_0/IRadioIndication;
 Landroid/hardware/radio/V1_0/IRadioResponse;
 Landroid/hardware/radio/V1_0/IccIo;
 Landroid/hardware/radio/V1_0/IccIoResult;
-Landroid/hardware/radio/V1_0/ImsSmsMessage;
-Landroid/hardware/radio/V1_0/LceStatusInfo;
 Landroid/hardware/radio/V1_0/LteSignalStrength;
+Landroid/hardware/radio/V1_0/PcoDataInfo;
 Landroid/hardware/radio/V1_0/RadioCapability;
 Landroid/hardware/radio/V1_0/RadioResponseInfo;
 Landroid/hardware/radio/V1_0/RegState;
-Landroid/hardware/radio/V1_0/SendSmsResult;
 Landroid/hardware/radio/V1_0/SetupDataCallResult;
-Landroid/hardware/radio/V1_0/SignalStrength;
 Landroid/hardware/radio/V1_0/SimApdu;
 Landroid/hardware/radio/V1_0/TdScdmaSignalStrength;
 Landroid/hardware/radio/V1_0/VoiceRegStateResult;
@@ -55753,18 +45634,48 @@
 Landroid/hardware/radio/V1_1/IRadio;
 Landroid/hardware/radio/V1_1/IRadioIndication;
 Landroid/hardware/radio/V1_1/IRadioResponse;
-Landroid/hardware/radio/V1_2/IRadio$Proxy;
+Landroid/hardware/radio/V1_2/Call;
+Landroid/hardware/radio/V1_2/CardStatus;
+Landroid/hardware/radio/V1_2/CellIdentity;
+Landroid/hardware/radio/V1_2/CellIdentityGsm;
+Landroid/hardware/radio/V1_2/CellIdentityLte;
+Landroid/hardware/radio/V1_2/CellIdentityOperatorNames;
+Landroid/hardware/radio/V1_2/CellIdentityWcdma;
+Landroid/hardware/radio/V1_2/CellInfo;
+Landroid/hardware/radio/V1_2/CellInfoGsm;
+Landroid/hardware/radio/V1_2/CellInfoLte;
+Landroid/hardware/radio/V1_2/CellInfoWcdma;
+Landroid/hardware/radio/V1_2/DataRegStateResult;
 Landroid/hardware/radio/V1_2/IRadio;
-Landroid/hardware/radio/V1_2/IRadioIndication$Stub;
 Landroid/hardware/radio/V1_2/IRadioIndication;
-Landroid/hardware/radio/V1_2/IRadioResponse$Stub;
 Landroid/hardware/radio/V1_2/IRadioResponse;
+Landroid/hardware/radio/V1_2/LinkCapacityEstimate;
+Landroid/hardware/radio/V1_2/PhysicalChannelConfig;
+Landroid/hardware/radio/V1_2/SignalStrength;
+Landroid/hardware/radio/V1_2/VoiceRegStateResult;
+Landroid/hardware/radio/V1_2/WcdmaSignalStrength;
+Landroid/hardware/radio/V1_3/IRadio$Proxy;
+Landroid/hardware/radio/V1_3/IRadio;
+Landroid/hardware/radio/V1_3/IRadioIndication;
+Landroid/hardware/radio/V1_3/IRadioResponse;
+Landroid/hardware/radio/V1_4/CarrierRestrictionsWithPriority;
+Landroid/hardware/radio/V1_4/IRadio;
+Landroid/hardware/radio/V1_4/IRadioIndication$Stub;
+Landroid/hardware/radio/V1_4/IRadioIndication;
+Landroid/hardware/radio/V1_4/IRadioResponse$Stub;
+Landroid/hardware/radio/V1_4/IRadioResponse;
 Landroid/hardware/radio/config/V1_0/IRadioConfig;
-Landroid/hardware/radio/config/V1_0/IRadioConfigIndication$Stub;
 Landroid/hardware/radio/config/V1_0/IRadioConfigIndication;
-Landroid/hardware/radio/config/V1_0/IRadioConfigResponse$Stub;
 Landroid/hardware/radio/config/V1_0/IRadioConfigResponse;
-Landroid/hardware/radio/deprecated/V1_0/IOemHook$Proxy;
+Landroid/hardware/radio/config/V1_0/SimSlotStatus;
+Landroid/hardware/radio/config/V1_1/IRadioConfig$Proxy;
+Landroid/hardware/radio/config/V1_1/IRadioConfig;
+Landroid/hardware/radio/config/V1_1/IRadioConfigIndication;
+Landroid/hardware/radio/config/V1_1/IRadioConfigResponse;
+Landroid/hardware/radio/config/V1_2/IRadioConfigIndication$Stub;
+Landroid/hardware/radio/config/V1_2/IRadioConfigIndication;
+Landroid/hardware/radio/config/V1_2/IRadioConfigResponse$Stub;
+Landroid/hardware/radio/config/V1_2/IRadioConfigResponse;
 Landroid/hardware/radio/deprecated/V1_0/IOemHook;
 Landroid/hardware/radio/deprecated/V1_0/IOemHookIndication$Stub;
 Landroid/hardware/radio/deprecated/V1_0/IOemHookIndication;
@@ -55804,17 +45715,36 @@
 Landroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate$1;
 Landroid/hardware/soundtrigger/SoundTriggerModule$NativeEventHandlerDelegate;
 Landroid/hardware/soundtrigger/SoundTriggerModule;
+Landroid/hardware/thermal/V1_0/IThermal;
+Landroid/hardware/thermal/V1_0/ThermalStatus;
+Landroid/hardware/thermal/V2_0/IThermal$Proxy;
+Landroid/hardware/thermal/V2_0/IThermal$getCurrentTemperaturesCallback;
+Landroid/hardware/thermal/V2_0/IThermal;
+Landroid/hardware/thermal/V2_0/IThermalChangedCallback$Stub;
+Landroid/hardware/thermal/V2_0/IThermalChangedCallback;
+Landroid/hardware/thermal/V2_0/Temperature;
+Landroid/hardware/usb/AccessoryFilter;
 Landroid/hardware/usb/DeviceFilter;
 Landroid/hardware/usb/IUsbManager$Stub$Proxy;
 Landroid/hardware/usb/IUsbManager$Stub;
 Landroid/hardware/usb/IUsbManager;
-Landroid/hardware/usb/UsbAccessory$1;
+Landroid/hardware/usb/IUsbSerialReader$Stub$Proxy;
+Landroid/hardware/usb/IUsbSerialReader$Stub;
+Landroid/hardware/usb/ParcelableUsbPort$1;
+Landroid/hardware/usb/ParcelableUsbPort;
+Landroid/hardware/usb/UsbAccessory$2;
 Landroid/hardware/usb/UsbAccessory;
+Landroid/hardware/usb/UsbConfiguration$1;
+Landroid/hardware/usb/UsbConfiguration;
 Landroid/hardware/usb/UsbDevice$1;
+Landroid/hardware/usb/UsbDevice$Builder;
 Landroid/hardware/usb/UsbDevice;
 Landroid/hardware/usb/UsbDeviceConnection;
+Landroid/hardware/usb/UsbEndpoint$1;
+Landroid/hardware/usb/UsbEndpoint;
+Landroid/hardware/usb/UsbInterface$1;
+Landroid/hardware/usb/UsbInterface;
 Landroid/hardware/usb/UsbManager;
-Landroid/hardware/usb/UsbPort$1;
 Landroid/hardware/usb/UsbPort;
 Landroid/hardware/usb/UsbPortStatus$1;
 Landroid/hardware/usb/UsbPortStatus;
@@ -55823,24 +45753,20 @@
 Landroid/hardware/usb/gadget/V1_0/IUsbGadget;
 Landroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback$Stub;
 Landroid/hardware/usb/gadget/V1_0/IUsbGadgetCallback;
-Landroid/hidl/base/V1_0/DebugInfo;
-Landroid/hidl/base/V1_0/IBase;
-Landroid/hidl/manager/V1_0/IServiceManager$Proxy;
-Landroid/hidl/manager/V1_0/IServiceManager;
-Landroid/hidl/manager/V1_0/IServiceNotification$Stub;
-Landroid/hidl/manager/V1_0/IServiceNotification;
 Landroid/icu/impl/BMPSet;
 Landroid/icu/impl/CacheBase;
 Landroid/icu/impl/CacheValue$NullValue;
 Landroid/icu/impl/CacheValue$SoftValue;
 Landroid/icu/impl/CacheValue$Strength;
 Landroid/icu/impl/CacheValue;
+Landroid/icu/impl/CalType;
 Landroid/icu/impl/CalendarUtil$CalendarPreferences;
 Landroid/icu/impl/CalendarUtil;
 Landroid/icu/impl/CaseMapImpl$StringContextIterator;
 Landroid/icu/impl/CaseMapImpl;
 Landroid/icu/impl/CharTrie;
 Landroid/icu/impl/CharacterIteration;
+Landroid/icu/impl/CharacterPropertiesImpl;
 Landroid/icu/impl/ClassLoaderUtil;
 Landroid/icu/impl/CurrencyData$CurrencyDisplayInfo;
 Landroid/icu/impl/CurrencyData$CurrencyDisplayInfoProvider;
@@ -55871,14 +45797,12 @@
 Landroid/icu/impl/ICUCurrencyMetaInfo;
 Landroid/icu/impl/ICUData;
 Landroid/icu/impl/ICUDebug;
-Landroid/icu/impl/ICULangDataTables;
 Landroid/icu/impl/ICULocaleService$ICUResourceBundleFactory;
 Landroid/icu/impl/ICULocaleService$LocaleKey;
 Landroid/icu/impl/ICULocaleService$LocaleKeyFactory;
 Landroid/icu/impl/ICULocaleService;
 Landroid/icu/impl/ICUNotifier;
 Landroid/icu/impl/ICURWLock;
-Landroid/icu/impl/ICURegionDataTables;
 Landroid/icu/impl/ICUResourceBundle$1;
 Landroid/icu/impl/ICUResourceBundle$2$1;
 Landroid/icu/impl/ICUResourceBundle$2;
@@ -55911,25 +45835,12 @@
 Landroid/icu/impl/ICUResourceBundleReader$Table16;
 Landroid/icu/impl/ICUResourceBundleReader$Table;
 Landroid/icu/impl/ICUResourceBundleReader;
-Landroid/icu/impl/ICUResourceTableAccess;
 Landroid/icu/impl/ICUService$CacheEntry;
 Landroid/icu/impl/ICUService$Factory;
 Landroid/icu/impl/ICUService$Key;
 Landroid/icu/impl/ICUService;
 Landroid/icu/impl/IDNA2003;
 Landroid/icu/impl/JavaTimeZone;
-Landroid/icu/impl/LocaleDisplayNamesImpl$1;
-Landroid/icu/impl/LocaleDisplayNamesImpl$Cache;
-Landroid/icu/impl/LocaleDisplayNamesImpl$CapitalizationContextSink;
-Landroid/icu/impl/LocaleDisplayNamesImpl$CapitalizationContextUsage;
-Landroid/icu/impl/LocaleDisplayNamesImpl$DataTable;
-Landroid/icu/impl/LocaleDisplayNamesImpl$DataTableType;
-Landroid/icu/impl/LocaleDisplayNamesImpl$DataTables;
-Landroid/icu/impl/LocaleDisplayNamesImpl$ICUDataTable;
-Landroid/icu/impl/LocaleDisplayNamesImpl$ICUDataTables;
-Landroid/icu/impl/LocaleDisplayNamesImpl$LangDataTables;
-Landroid/icu/impl/LocaleDisplayNamesImpl$RegionDataTables;
-Landroid/icu/impl/LocaleDisplayNamesImpl;
 Landroid/icu/impl/LocaleIDParser;
 Landroid/icu/impl/LocaleIDs;
 Landroid/icu/impl/Norm2AllModes$1;
@@ -55944,13 +45855,17 @@
 Landroid/icu/impl/Norm2AllModes;
 Landroid/icu/impl/Normalizer2Impl$1;
 Landroid/icu/impl/Normalizer2Impl$IsAcceptable;
-Landroid/icu/impl/Normalizer2Impl$ReorderingBuffer;
+Landroid/icu/impl/Normalizer2Impl$UTF16Plus;
 Landroid/icu/impl/Normalizer2Impl;
 Landroid/icu/impl/OlsonTimeZone;
 Landroid/icu/impl/Pair;
 Landroid/icu/impl/PatternProps;
 Landroid/icu/impl/PatternTokenizer;
 Landroid/icu/impl/PluralRulesLoader;
+Landroid/icu/impl/RBBIDataWrapper$IsAcceptable;
+Landroid/icu/impl/RBBIDataWrapper$RBBIDataHeader;
+Landroid/icu/impl/RBBIDataWrapper$RBBIStateTable;
+Landroid/icu/impl/RBBIDataWrapper;
 Landroid/icu/impl/ReplaceableUCharacterIterator;
 Landroid/icu/impl/RuleCharacterIterator;
 Landroid/icu/impl/SimpleCache;
@@ -55960,6 +45875,7 @@
 Landroid/icu/impl/StringPrepDataReader;
 Landroid/icu/impl/TextTrieMap$Node;
 Landroid/icu/impl/TextTrieMap;
+Landroid/icu/impl/TimeZoneGenericNames$GenericNameType;
 Landroid/icu/impl/TimeZoneNamesFactoryImpl;
 Landroid/icu/impl/TimeZoneNamesImpl$1;
 Landroid/icu/impl/TimeZoneNamesImpl$MZ2TZsCache;
@@ -55979,7 +45895,6 @@
 Landroid/icu/impl/Trie2$ValueMapper;
 Landroid/icu/impl/Trie2$ValueWidth;
 Landroid/icu/impl/Trie2;
-Landroid/icu/impl/Trie2Writable;
 Landroid/icu/impl/Trie2_16;
 Landroid/icu/impl/Trie2_32;
 Landroid/icu/impl/Trie;
@@ -55987,6 +45902,7 @@
 Landroid/icu/impl/UBiDiProps;
 Landroid/icu/impl/UCaseProps$ContextIterator;
 Landroid/icu/impl/UCaseProps$IsAcceptable;
+Landroid/icu/impl/UCaseProps$LatinCase;
 Landroid/icu/impl/UCaseProps;
 Landroid/icu/impl/UCharacterProperty$10;
 Landroid/icu/impl/UCharacterProperty$11;
@@ -56004,6 +45920,9 @@
 Landroid/icu/impl/UCharacterProperty$22;
 Landroid/icu/impl/UCharacterProperty$23;
 Landroid/icu/impl/UCharacterProperty$24;
+Landroid/icu/impl/UCharacterProperty$25;
+Landroid/icu/impl/UCharacterProperty$26;
+Landroid/icu/impl/UCharacterProperty$27;
 Landroid/icu/impl/UCharacterProperty$2;
 Landroid/icu/impl/UCharacterProperty$3;
 Landroid/icu/impl/UCharacterProperty$4;
@@ -56038,10 +45957,8 @@
 Landroid/icu/impl/ZoneMeta$SystemTimeZoneCache;
 Landroid/icu/impl/ZoneMeta;
 Landroid/icu/impl/coll/Collation;
-Landroid/icu/impl/coll/CollationBuilder;
 Landroid/icu/impl/coll/CollationCompare;
 Landroid/icu/impl/coll/CollationData;
-Landroid/icu/impl/coll/CollationDataBuilder;
 Landroid/icu/impl/coll/CollationDataReader$IsAcceptable;
 Landroid/icu/impl/coll/CollationDataReader;
 Landroid/icu/impl/coll/CollationFastLatin;
@@ -56052,25 +45969,28 @@
 Landroid/icu/impl/coll/CollationKeys;
 Landroid/icu/impl/coll/CollationLoader;
 Landroid/icu/impl/coll/CollationRoot;
-Landroid/icu/impl/coll/CollationRuleParser$Importer;
-Landroid/icu/impl/coll/CollationRuleParser$Position;
-Landroid/icu/impl/coll/CollationRuleParser$Sink;
-Landroid/icu/impl/coll/CollationRuleParser;
 Landroid/icu/impl/coll/CollationSettings;
 Landroid/icu/impl/coll/CollationTailoring;
-Landroid/icu/impl/coll/ContractionsAndExpansions;
 Landroid/icu/impl/coll/FCDUTF16CollationIterator;
 Landroid/icu/impl/coll/SharedObject$Reference;
 Landroid/icu/impl/coll/SharedObject;
 Landroid/icu/impl/coll/UTF16CollationIterator;
-Landroid/icu/impl/coll/UVector32;
+Landroid/icu/impl/locale/AsciiUtil$CaseInsensitiveKey;
 Landroid/icu/impl/locale/AsciiUtil;
 Landroid/icu/impl/locale/BaseLocale$Cache;
 Landroid/icu/impl/locale/BaseLocale$Key;
 Landroid/icu/impl/locale/BaseLocale;
+Landroid/icu/impl/locale/InternalLocaleBuilder$CaseInsensitiveChar;
+Landroid/icu/impl/locale/InternalLocaleBuilder;
+Landroid/icu/impl/locale/LanguageTag;
+Landroid/icu/impl/locale/LocaleExtensions;
 Landroid/icu/impl/locale/LocaleObjectCache$CacheEntry;
 Landroid/icu/impl/locale/LocaleObjectCache;
 Landroid/icu/impl/locale/LocaleSyntaxException;
+Landroid/icu/impl/locale/ParseStatus;
+Landroid/icu/impl/locale/StringTokenIterator;
+Landroid/icu/impl/locale/UnicodeLocaleExtension;
+Landroid/icu/impl/number/AdoptingModifierStore;
 Landroid/icu/impl/number/AffixPatternProvider;
 Landroid/icu/impl/number/AffixUtils$SymbolProvider;
 Landroid/icu/impl/number/AffixUtils;
@@ -56083,37 +46003,40 @@
 Landroid/icu/impl/number/DecimalQuantity_AbstractBCD$1;
 Landroid/icu/impl/number/DecimalQuantity_AbstractBCD;
 Landroid/icu/impl/number/DecimalQuantity_DualStorageBCD;
+Landroid/icu/impl/number/Grouper;
+Landroid/icu/impl/number/LongNameHandler$PluralTableSink;
+Landroid/icu/impl/number/LongNameHandler;
 Landroid/icu/impl/number/MacroProps;
 Landroid/icu/impl/number/MicroProps;
 Landroid/icu/impl/number/MicroPropsGenerator;
 Landroid/icu/impl/number/Modifier;
+Landroid/icu/impl/number/ModifierStore;
 Landroid/icu/impl/number/MutablePatternModifier$ImmutablePatternModifier;
 Landroid/icu/impl/number/MutablePatternModifier;
 Landroid/icu/impl/number/NumberStringBuilder;
 Landroid/icu/impl/number/Padder$PadPosition;
 Landroid/icu/impl/number/Padder;
-Landroid/icu/impl/number/ParameterizedModifier;
-Landroid/icu/impl/number/Parse$1;
-Landroid/icu/impl/number/Parse$2;
-Landroid/icu/impl/number/Parse;
 Landroid/icu/impl/number/PatternStringParser$ParsedPatternInfo;
 Landroid/icu/impl/number/PatternStringParser$ParsedSubpatternInfo;
 Landroid/icu/impl/number/PatternStringParser$ParserState;
 Landroid/icu/impl/number/PatternStringParser;
+Landroid/icu/impl/number/PatternStringUtils;
+Landroid/icu/impl/number/PropertiesAffixPatternProvider;
 Landroid/icu/impl/number/RoundingUtils;
+Landroid/icu/impl/number/SimpleModifier;
 Landroid/icu/lang/UCharacter;
 Landroid/icu/lang/UCharacterEnums$ECharacterCategory;
 Landroid/icu/lang/UCharacterEnums$ECharacterDirection;
-Landroid/icu/lang/UScript$ScriptMetadata;
 Landroid/icu/lang/UScript$ScriptUsage;
 Landroid/icu/lang/UScript;
 Landroid/icu/math/BigDecimal;
 Landroid/icu/math/MathContext;
 Landroid/icu/number/CompactNotation;
+Landroid/icu/number/CurrencyPrecision;
 Landroid/icu/number/CurrencyRounder;
 Landroid/icu/number/FormattedNumber;
+Landroid/icu/number/FractionPrecision;
 Landroid/icu/number/FractionRounder;
-Landroid/icu/number/Grouper;
 Landroid/icu/number/IntegerWidth;
 Landroid/icu/number/LocalizedNumberFormatter;
 Landroid/icu/number/Notation;
@@ -56123,24 +46046,22 @@
 Landroid/icu/number/NumberFormatter;
 Landroid/icu/number/NumberFormatterImpl;
 Landroid/icu/number/NumberFormatterSettings;
-Landroid/icu/number/NumberPropertyMapper$PropertiesAffixPatternProvider;
 Landroid/icu/number/NumberPropertyMapper;
-Landroid/icu/number/Rounder$CurrencyRounderImpl;
-Landroid/icu/number/Rounder$FracSigRounderImpl;
-Landroid/icu/number/Rounder$FractionRounderImpl;
-Landroid/icu/number/Rounder$IncrementRounderImpl;
-Landroid/icu/number/Rounder$InfiniteRounderImpl;
-Landroid/icu/number/Rounder$PassThroughRounderImpl;
-Landroid/icu/number/Rounder$SignificantRounderImpl;
+Landroid/icu/number/Precision$CurrencyRounderImpl;
+Landroid/icu/number/Precision$FracSigRounderImpl;
+Landroid/icu/number/Precision$FractionRounderImpl;
+Landroid/icu/number/Precision$IncrementRounderImpl;
+Landroid/icu/number/Precision$InfiniteRounderImpl;
+Landroid/icu/number/Precision$PassThroughRounderImpl;
+Landroid/icu/number/Precision$SignificantRounderImpl;
+Landroid/icu/number/Precision;
 Landroid/icu/number/Rounder;
 Landroid/icu/number/ScientificNotation;
 Landroid/icu/number/UnlocalizedNumberFormatter;
 Landroid/icu/text/AlphabeticIndex$1;
-Landroid/icu/text/AlphabeticIndex$Bucket$LabelType;
 Landroid/icu/text/AlphabeticIndex$Bucket;
 Landroid/icu/text/AlphabeticIndex$BucketList;
 Landroid/icu/text/AlphabeticIndex$ImmutableIndex;
-Landroid/icu/text/AlphabeticIndex;
 Landroid/icu/text/Bidi$ImpTabPair;
 Landroid/icu/text/Bidi$InsertPoints;
 Landroid/icu/text/Bidi$Point;
@@ -56157,6 +46078,7 @@
 Landroid/icu/text/CaseMap$Title;
 Landroid/icu/text/CaseMap$Upper;
 Landroid/icu/text/CaseMap;
+Landroid/icu/text/CollationKey;
 Landroid/icu/text/Collator$ServiceShim;
 Landroid/icu/text/Collator;
 Landroid/icu/text/CollatorServiceShim$CService$1CollatorFactory;
@@ -56175,6 +46097,7 @@
 Landroid/icu/text/DateFormatSymbols$CapitalizationContextUsage;
 Landroid/icu/text/DateFormatSymbols;
 Landroid/icu/text/DateIntervalFormat$BestMatchInfo;
+Landroid/icu/text/DateIntervalFormat$SkeletonAndItsBestMatch;
 Landroid/icu/text/DateIntervalFormat;
 Landroid/icu/text/DateIntervalInfo$DateIntervalSink;
 Landroid/icu/text/DateIntervalInfo$PatternInfo;
@@ -56185,6 +46108,7 @@
 Landroid/icu/text/DateTimePatternGenerator$DTPGflags;
 Landroid/icu/text/DateTimePatternGenerator$DateTimeMatcher;
 Landroid/icu/text/DateTimePatternGenerator$DayPeriodAllowedHoursSink;
+Landroid/icu/text/DateTimePatternGenerator$DisplayWidth;
 Landroid/icu/text/DateTimePatternGenerator$DistanceInfo;
 Landroid/icu/text/DateTimePatternGenerator$FormatParser;
 Landroid/icu/text/DateTimePatternGenerator$PatternInfo;
@@ -56193,7 +46117,6 @@
 Landroid/icu/text/DateTimePatternGenerator$SkeletonFields;
 Landroid/icu/text/DateTimePatternGenerator$VariableField;
 Landroid/icu/text/DateTimePatternGenerator;
-Landroid/icu/text/DecimalFormat$1;
 Landroid/icu/text/DecimalFormat;
 Landroid/icu/text/DecimalFormatSymbols$1;
 Landroid/icu/text/DecimalFormatSymbols$CacheData;
@@ -56216,19 +46139,22 @@
 Landroid/icu/text/ListFormatter$FormattedListBuilder;
 Landroid/icu/text/ListFormatter$Style;
 Landroid/icu/text/ListFormatter;
-Landroid/icu/text/LocaleDisplayNames$DialectHandling;
-Landroid/icu/text/LocaleDisplayNames;
 Landroid/icu/text/MeasureFormat$FormatWidth;
-Landroid/icu/text/MeasureFormat$ImmutableNumberFormat;
-Landroid/icu/text/MeasureFormat$MeasureFormatData;
-Landroid/icu/text/MeasureFormat$UnitDataSink;
 Landroid/icu/text/MeasureFormat;
+Landroid/icu/text/MessageFormat$AppendableWrapper;
+Landroid/icu/text/MessageFormat$Field;
+Landroid/icu/text/MessageFormat;
+Landroid/icu/text/MessagePattern$ApostropheMode;
+Landroid/icu/text/MessagePattern$ArgType;
+Landroid/icu/text/MessagePattern$Part$Type;
+Landroid/icu/text/MessagePattern$Part;
+Landroid/icu/text/MessagePattern;
 Landroid/icu/text/Normalizer$FCDMode;
 Landroid/icu/text/Normalizer$Mode;
 Landroid/icu/text/Normalizer$ModeImpl;
 Landroid/icu/text/Normalizer$NFCMode;
+Landroid/icu/text/Normalizer$NFCModeImpl;
 Landroid/icu/text/Normalizer$NFDMode;
-Landroid/icu/text/Normalizer$NFDModeImpl;
 Landroid/icu/text/Normalizer$NFKCMode;
 Landroid/icu/text/Normalizer$NFKDMode;
 Landroid/icu/text/Normalizer$NFKDModeImpl;
@@ -56268,9 +46194,7 @@
 Landroid/icu/text/PluralRules$SimpleTokenizer;
 Landroid/icu/text/PluralRules;
 Landroid/icu/text/QuantityFormatter;
-Landroid/icu/text/RBBIDataWrapper$IsAcceptable;
-Landroid/icu/text/RBBIDataWrapper$RBBIDataHeader;
-Landroid/icu/text/RBBIDataWrapper;
+Landroid/icu/text/RawCollationKey;
 Landroid/icu/text/RelativeDateTimeFormatter$1;
 Landroid/icu/text/RelativeDateTimeFormatter$AbsoluteUnit;
 Landroid/icu/text/RelativeDateTimeFormatter$Cache$1;
@@ -56291,6 +46215,7 @@
 Landroid/icu/text/RuleBasedBreakIterator$LookAheadResults;
 Landroid/icu/text/RuleBasedBreakIterator;
 Landroid/icu/text/RuleBasedCollator$CollationBuffer;
+Landroid/icu/text/RuleBasedCollator$CollationKeyByteSink;
 Landroid/icu/text/RuleBasedCollator$FCDUTF16NFDIterator;
 Landroid/icu/text/RuleBasedCollator$NFDIterator;
 Landroid/icu/text/RuleBasedCollator$UTF16NFDIterator;
@@ -56299,6 +46224,10 @@
 Landroid/icu/text/SimpleDateFormat;
 Landroid/icu/text/StringPrep;
 Landroid/icu/text/StringPrepParseException;
+Landroid/icu/text/TimeZoneFormat$GMTOffsetField;
+Landroid/icu/text/TimeZoneFormat$GMTOffsetPatternType;
+Landroid/icu/text/TimeZoneFormat$TimeZoneFormatCache;
+Landroid/icu/text/TimeZoneFormat;
 Landroid/icu/text/TimeZoneNames$Cache;
 Landroid/icu/text/TimeZoneNames$Factory;
 Landroid/icu/text/TimeZoneNames$NameType;
@@ -56319,10 +46248,10 @@
 Landroid/icu/text/UnicodeSet;
 Landroid/icu/util/AnnualTimeZoneRule;
 Landroid/icu/util/BasicTimeZone;
+Landroid/icu/util/ByteArrayWrapper;
 Landroid/icu/util/BytesTrie$Result;
 Landroid/icu/util/BytesTrie;
 Landroid/icu/util/Calendar$1;
-Landroid/icu/util/Calendar$CalType;
 Landroid/icu/util/Calendar$FormatConfiguration;
 Landroid/icu/util/Calendar$PatternData;
 Landroid/icu/util/Calendar$WeekData;
@@ -56330,17 +46259,26 @@
 Landroid/icu/util/Calendar;
 Landroid/icu/util/CharsTrie$Entry;
 Landroid/icu/util/CharsTrie$Iterator;
-Landroid/icu/util/CharsTrie;
+Landroid/icu/util/CodePointMap$Range;
+Landroid/icu/util/CodePointMap$RangeOption;
+Landroid/icu/util/CodePointMap$ValueFilter;
+Landroid/icu/util/CodePointMap;
+Landroid/icu/util/CodePointTrie$1;
+Landroid/icu/util/CodePointTrie$Data16;
+Landroid/icu/util/CodePointTrie$Data;
+Landroid/icu/util/CodePointTrie$Fast16;
+Landroid/icu/util/CodePointTrie$Fast;
+Landroid/icu/util/CodePointTrie$Type;
+Landroid/icu/util/CodePointTrie$ValueWidth;
+Landroid/icu/util/CodePointTrie;
 Landroid/icu/util/Currency$1;
 Landroid/icu/util/Currency$CurrencyUsage;
-Landroid/icu/util/Currency$EquivalenceRelation;
 Landroid/icu/util/Currency;
 Landroid/icu/util/CurrencyAmount;
 Landroid/icu/util/DateTimeRule;
 Landroid/icu/util/Freezable;
 Landroid/icu/util/GregorianCalendar;
 Landroid/icu/util/InitialTimeZoneRule;
-Landroid/icu/util/LocaleData;
 Landroid/icu/util/Measure;
 Landroid/icu/util/MeasureUnit$1;
 Landroid/icu/util/MeasureUnit$2;
@@ -56385,15 +46323,18 @@
 Landroid/inputmethodservice/InputMethodService$Insets;
 Landroid/inputmethodservice/InputMethodService$SettingsObserver;
 Landroid/inputmethodservice/InputMethodService;
-Landroid/inputmethodservice/SoftInputWindow$Callback;
 Landroid/inputmethodservice/SoftInputWindow;
+Landroid/internal/hidl/base/V1_0/IBase;
 Landroid/location/Address$1;
 Landroid/location/Address;
 Landroid/location/BatchedLocationCallbackTransport$CallbackTransport;
 Landroid/location/BatchedLocationCallbackTransport;
 Landroid/location/Country$1;
 Landroid/location/Country;
+Landroid/location/CountryDetector$ListenerTransport$1;
+Landroid/location/CountryDetector$ListenerTransport;
 Landroid/location/CountryDetector;
+Landroid/location/CountryListener;
 Landroid/location/Criteria$1;
 Landroid/location/Criteria;
 Landroid/location/Geocoder;
@@ -56403,6 +46344,8 @@
 Landroid/location/GnssClock;
 Landroid/location/GnssMeasurement$1;
 Landroid/location/GnssMeasurement;
+Landroid/location/GnssMeasurementCallbackTransport$ListenerTransport$1;
+Landroid/location/GnssMeasurementCallbackTransport$ListenerTransport$2;
 Landroid/location/GnssMeasurementCallbackTransport$ListenerTransport;
 Landroid/location/GnssMeasurementCallbackTransport;
 Landroid/location/GnssMeasurementsEvent$1;
@@ -56410,11 +46353,9 @@
 Landroid/location/GnssNavigationMessageCallbackTransport$ListenerTransport;
 Landroid/location/GnssNavigationMessageCallbackTransport;
 Landroid/location/GnssStatus$Callback;
-Landroid/location/GnssStatus;
 Landroid/location/GpsSatellite;
 Landroid/location/GpsStatus$1;
 Landroid/location/GpsStatus$Listener;
-Landroid/location/GpsStatus$NmeaListener;
 Landroid/location/GpsStatus$SatelliteIterator;
 Landroid/location/GpsStatus;
 Landroid/location/IBatchedLocationCallback$Stub;
@@ -56439,8 +46380,6 @@
 Landroid/location/IGnssStatusListener$Stub$Proxy;
 Landroid/location/IGnssStatusListener$Stub;
 Landroid/location/IGnssStatusListener;
-Landroid/location/IGnssStatusProvider$Stub;
-Landroid/location/IGnssStatusProvider;
 Landroid/location/IGpsGeofenceHardware$Stub;
 Landroid/location/IGpsGeofenceHardware;
 Landroid/location/ILocationListener$Stub$Proxy;
@@ -56458,9 +46397,7 @@
 Landroid/location/Location;
 Landroid/location/LocationListener;
 Landroid/location/LocationManager$GnssStatusListenerTransport$1;
-Landroid/location/LocationManager$GnssStatusListenerTransport$2;
 Landroid/location/LocationManager$GnssStatusListenerTransport$GnssHandler;
-Landroid/location/LocationManager$GnssStatusListenerTransport$Nmea;
 Landroid/location/LocationManager$GnssStatusListenerTransport;
 Landroid/location/LocationManager$ListenerTransport$1;
 Landroid/location/LocationManager$ListenerTransport$2;
@@ -56469,7 +46406,7 @@
 Landroid/location/LocationProvider;
 Landroid/location/LocationRequest$1;
 Landroid/location/LocationRequest;
-Landroid/location/OnNmeaMessageListener;
+Landroid/media/-$$Lambda$MediaCodecInfo$VideoCapabilities$DpgwEn-gVFZT9EtP3qcxpiA2G0M;
 Landroid/media/AudioAttributes$1;
 Landroid/media/AudioAttributes$Builder;
 Landroid/media/AudioAttributes;
@@ -56480,7 +46417,6 @@
 Landroid/media/AudioFocusInfo$1;
 Landroid/media/AudioFocusInfo;
 Landroid/media/AudioFocusRequest$Builder;
-Landroid/media/AudioFocusRequest;
 Landroid/media/AudioFormat$1;
 Landroid/media/AudioFormat$Builder;
 Landroid/media/AudioFormat;
@@ -56493,6 +46429,7 @@
 Landroid/media/AudioManager$4;
 Landroid/media/AudioManager$AudioPlaybackCallback;
 Landroid/media/AudioManager$AudioPlaybackCallbackInfo;
+Landroid/media/AudioManager$AudioRecordingCallback;
 Landroid/media/AudioManager$FocusRequestInfo;
 Landroid/media/AudioManager$NativeEventHandlerDelegate$1;
 Landroid/media/AudioManager$NativeEventHandlerDelegate;
@@ -56515,9 +46452,13 @@
 Landroid/media/AudioPortConfig;
 Landroid/media/AudioPortEventHandler$1;
 Landroid/media/AudioPortEventHandler;
+Landroid/media/AudioPresentation;
 Landroid/media/AudioRecord;
+Landroid/media/AudioRecordRoutingProxy;
 Landroid/media/AudioRecordingConfiguration$1;
 Landroid/media/AudioRecordingConfiguration;
+Landroid/media/AudioRecordingMonitor;
+Landroid/media/AudioRecordingMonitorClient;
 Landroid/media/AudioRoutesInfo$1;
 Landroid/media/AudioRoutesInfo;
 Landroid/media/AudioRouting;
@@ -56526,26 +46467,24 @@
 Landroid/media/AudioSystem$ErrorCallback;
 Landroid/media/AudioSystem;
 Landroid/media/AudioTimestamp;
-Landroid/media/AudioTrack$OnPlaybackPositionUpdateListener;
 Landroid/media/AudioTrack;
-Landroid/media/BufferingParams$1;
-Landroid/media/BufferingParams;
+Landroid/media/AudioTrackRoutingProxy;
 Landroid/media/CamcorderProfile;
 Landroid/media/CameraProfile;
 Landroid/media/DecoderCapabilities;
+Landroid/media/DeniedByServerException;
 Landroid/media/EncoderCapabilities;
 Landroid/media/ExifInterface$ByteOrderedDataInputStream;
 Landroid/media/ExifInterface$ExifAttribute;
 Landroid/media/ExifInterface$ExifTag;
-Landroid/media/ExifInterface$Rational;
 Landroid/media/ExifInterface;
-Landroid/media/FaceDetector;
 Landroid/media/IAudioFocusDispatcher$Stub$Proxy;
 Landroid/media/IAudioFocusDispatcher$Stub;
 Landroid/media/IAudioFocusDispatcher;
 Landroid/media/IAudioRoutesObserver$Stub$Proxy;
 Landroid/media/IAudioRoutesObserver$Stub;
 Landroid/media/IAudioRoutesObserver;
+Landroid/media/IAudioServerStateDispatcher$Stub$Proxy;
 Landroid/media/IAudioServerStateDispatcher$Stub;
 Landroid/media/IAudioServerStateDispatcher;
 Landroid/media/IAudioService$Stub$Proxy;
@@ -56553,7 +46492,6 @@
 Landroid/media/IAudioService;
 Landroid/media/IMediaHTTPConnection$Stub;
 Landroid/media/IMediaHTTPConnection;
-Landroid/media/IMediaHTTPService;
 Landroid/media/IMediaResourceMonitor$Stub;
 Landroid/media/IMediaResourceMonitor;
 Landroid/media/IMediaRouterClient$Stub$Proxy;
@@ -56562,6 +46500,8 @@
 Landroid/media/IMediaRouterService$Stub$Proxy;
 Landroid/media/IMediaRouterService$Stub;
 Landroid/media/IMediaRouterService;
+Landroid/media/IMediaScannerListener$Stub$Proxy;
+Landroid/media/IMediaScannerService$Stub;
 Landroid/media/IPlaybackConfigDispatcher$Stub$Proxy;
 Landroid/media/IPlaybackConfigDispatcher$Stub;
 Landroid/media/IPlaybackConfigDispatcher;
@@ -56570,12 +46510,8 @@
 Landroid/media/IPlayer;
 Landroid/media/IRecordingConfigDispatcher$Stub;
 Landroid/media/IRecordingConfigDispatcher;
-Landroid/media/IRemoteDisplayCallback$Stub;
-Landroid/media/IRemoteDisplayCallback;
-Landroid/media/IRemoteDisplayProvider$Stub$Proxy;
-Landroid/media/IRemoteDisplayProvider$Stub;
-Landroid/media/IRemoteDisplayProvider;
 Landroid/media/IRemoteVolumeController$Stub$Proxy;
+Landroid/media/IRemoteVolumeController$Stub;
 Landroid/media/IRemoteVolumeController;
 Landroid/media/IRemoteVolumeObserver$Stub;
 Landroid/media/IRemoteVolumeObserver;
@@ -56609,10 +46545,12 @@
 Landroid/media/MediaCodecInfo$CodecProfileLevel;
 Landroid/media/MediaCodecInfo$EncoderCapabilities;
 Landroid/media/MediaCodecInfo$Feature;
+Landroid/media/MediaCodecInfo$VideoCapabilities$PerformancePoint;
 Landroid/media/MediaCodecInfo$VideoCapabilities;
 Landroid/media/MediaCodecInfo;
 Landroid/media/MediaCodecList;
 Landroid/media/MediaCrypto;
+Landroid/media/MediaCryptoException;
 Landroid/media/MediaDescrambler;
 Landroid/media/MediaDescription$1;
 Landroid/media/MediaDescription$Builder;
@@ -56621,34 +46559,35 @@
 Landroid/media/MediaDrm$EventHandler;
 Landroid/media/MediaDrm$KeyRequest;
 Landroid/media/MediaDrm$MediaDrmStateException;
-Landroid/media/MediaDrm$OnEventListener;
 Landroid/media/MediaDrm$ProvisionRequest;
+Landroid/media/MediaDrm$SessionException;
 Landroid/media/MediaDrm;
 Landroid/media/MediaDrmException;
 Landroid/media/MediaExtractor;
+Landroid/media/MediaFile;
 Landroid/media/MediaFormat;
 Landroid/media/MediaHTTPConnection;
 Landroid/media/MediaHTTPService;
+Landroid/media/MediaInserter;
 Landroid/media/MediaMetadata$1;
 Landroid/media/MediaMetadata$Builder;
 Landroid/media/MediaMetadata;
 Landroid/media/MediaMetadataRetriever$BitmapParams;
 Landroid/media/MediaMetadataRetriever;
 Landroid/media/MediaMuxer;
+Landroid/media/MediaParceledListSlice$2;
+Landroid/media/MediaParceledListSlice;
 Landroid/media/MediaPlayer$1;
 Landroid/media/MediaPlayer$2$1;
 Landroid/media/MediaPlayer$2;
 Landroid/media/MediaPlayer$3;
 Landroid/media/MediaPlayer$7;
 Landroid/media/MediaPlayer$EventHandler;
-Landroid/media/MediaPlayer$OnBufferingUpdateListener;
 Landroid/media/MediaPlayer$OnCompletionListener;
 Landroid/media/MediaPlayer$OnErrorListener;
-Landroid/media/MediaPlayer$OnInfoListener;
 Landroid/media/MediaPlayer$OnPreparedListener;
 Landroid/media/MediaPlayer$OnSeekCompleteListener;
 Landroid/media/MediaPlayer$OnSubtitleDataListener;
-Landroid/media/MediaPlayer$OnVideoSizeChangedListener;
 Landroid/media/MediaPlayer$TimeProvider$EventHandler;
 Landroid/media/MediaPlayer$TimeProvider;
 Landroid/media/MediaPlayer$TrackInfo$1;
@@ -56678,16 +46617,20 @@
 Landroid/media/MediaRouterClientState$RouteInfo$1;
 Landroid/media/MediaRouterClientState$RouteInfo;
 Landroid/media/MediaRouterClientState;
+Landroid/media/MediaScanner$FileEntry;
+Landroid/media/MediaScanner$MediaBulkDeleter;
+Landroid/media/MediaScanner$MyMediaScannerClient;
 Landroid/media/MediaScanner;
+Landroid/media/MediaScannerClient;
 Landroid/media/MediaScannerConnection$MediaScannerConnectionClient;
 Landroid/media/MediaScannerConnection$OnScanCompletedListener;
 Landroid/media/MediaSync;
 Landroid/media/MediaTimeProvider$OnMediaTimeListener;
 Landroid/media/MediaTimeProvider;
 Landroid/media/MediaTimestamp;
+Landroid/media/MicrophoneDirection;
 Landroid/media/MicrophoneInfo$Coordinate3F;
 Landroid/media/MicrophoneInfo;
-Landroid/media/MiniThumbFile;
 Landroid/media/NotProvisionedException;
 Landroid/media/PlaybackParams$1;
 Landroid/media/PlaybackParams;
@@ -56696,13 +46639,10 @@
 Landroid/media/PlayerBase$PlayerIdCard$1;
 Landroid/media/PlayerBase$PlayerIdCard;
 Landroid/media/PlayerBase;
+Landroid/media/PlayerProxy;
 Landroid/media/Rating$1;
 Landroid/media/Rating;
 Landroid/media/RemoteDisplay;
-Landroid/media/RemoteDisplayState$1;
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo$1;
-Landroid/media/RemoteDisplayState$RemoteDisplayInfo;
-Landroid/media/RemoteDisplayState;
 Landroid/media/ResampleInputStream;
 Landroid/media/Ringtone$MyOnCompletionListener;
 Landroid/media/Ringtone;
@@ -56724,7 +46664,6 @@
 Landroid/media/VolumeAutomation;
 Landroid/media/VolumePolicy$1;
 Landroid/media/VolumePolicy;
-Landroid/media/VolumeProvider;
 Landroid/media/VolumeShaper$Configuration$1;
 Landroid/media/VolumeShaper$Configuration$Builder;
 Landroid/media/VolumeShaper$Configuration;
@@ -56734,11 +46673,25 @@
 Landroid/media/VolumeShaper$State$1;
 Landroid/media/VolumeShaper$State;
 Landroid/media/audiofx/AudioEffect$Descriptor;
-Landroid/media/audiofx/AudioEffect;
-Landroid/media/audiofx/Visualizer;
+Landroid/media/audiopolicy/AudioMix$Builder;
 Landroid/media/audiopolicy/AudioMix;
 Landroid/media/audiopolicy/AudioMixingRule$AudioMixMatchCriterion;
+Landroid/media/audiopolicy/AudioMixingRule$Builder;
 Landroid/media/audiopolicy/AudioMixingRule;
+Landroid/media/audiopolicy/AudioPolicyConfig$1;
+Landroid/media/audiopolicy/AudioPolicyConfig;
+Landroid/media/audiopolicy/AudioProductStrategies$1;
+Landroid/media/audiopolicy/AudioProductStrategies;
+Landroid/media/audiopolicy/AudioProductStrategy$1;
+Landroid/media/audiopolicy/AudioProductStrategy$AudioAttributesGroup$1;
+Landroid/media/audiopolicy/AudioProductStrategy$AudioAttributesGroup;
+Landroid/media/audiopolicy/AudioProductStrategy;
+Landroid/media/audiopolicy/AudioVolumeGroup$1;
+Landroid/media/audiopolicy/AudioVolumeGroup;
+Landroid/media/audiopolicy/AudioVolumeGroupChangeHandler;
+Landroid/media/audiopolicy/AudioVolumeGroups$1;
+Landroid/media/audiopolicy/AudioVolumeGroups;
+Landroid/media/audiopolicy/IAudioPolicyCallback$Stub$Proxy;
 Landroid/media/audiopolicy/IAudioPolicyCallback$Stub;
 Landroid/media/browse/MediaBrowser$1;
 Landroid/media/browse/MediaBrowser$2;
@@ -56757,20 +46710,41 @@
 Landroid/media/browse/MediaBrowserUtils;
 Landroid/media/midi/IMidiManager$Stub;
 Landroid/media/midi/IMidiManager;
+Landroid/media/midi/MidiDevice;
+Landroid/media/midi/MidiDeviceInfo$1;
+Landroid/media/midi/MidiDeviceInfo;
 Landroid/media/midi/MidiManager;
+Landroid/media/projection/IMediaProjection$Stub;
 Landroid/media/projection/IMediaProjectionManager$Stub;
 Landroid/media/projection/IMediaProjectionManager;
 Landroid/media/projection/IMediaProjectionWatcherCallback$Stub$Proxy;
+Landroid/media/projection/IMediaProjectionWatcherCallback$Stub;
 Landroid/media/projection/IMediaProjectionWatcherCallback;
 Landroid/media/projection/MediaProjectionManager;
+Landroid/media/session/ControllerCallbackLink$1;
+Landroid/media/session/ControllerCallbackLink$CallbackStub;
+Landroid/media/session/ControllerCallbackLink$CallbackStubProxy;
+Landroid/media/session/ControllerCallbackLink;
+Landroid/media/session/ControllerLink$1;
+Landroid/media/session/ControllerLink$ControllerStub;
+Landroid/media/session/ControllerLink$StubProxy;
+Landroid/media/session/ControllerLink;
 Landroid/media/session/IActiveSessionsListener$Stub$Proxy;
 Landroid/media/session/IActiveSessionsListener$Stub;
 Landroid/media/session/IActiveSessionsListener;
 Landroid/media/session/ICallback$Stub$Proxy;
 Landroid/media/session/ICallback$Stub;
 Landroid/media/session/ICallback;
+Landroid/media/session/IOnMediaKeyListener$Stub$Proxy;
+Landroid/media/session/IOnMediaKeyListener$Stub;
+Landroid/media/session/IOnMediaKeyListener;
+Landroid/media/session/IOnVolumeKeyLongPressListener$Stub$Proxy;
+Landroid/media/session/IOnVolumeKeyLongPressListener$Stub;
+Landroid/media/session/IOnVolumeKeyLongPressListener;
 Landroid/media/session/ISession$Stub$Proxy;
 Landroid/media/session/ISession$Stub;
+Landroid/media/session/ISession2TokensListener$Stub;
+Landroid/media/session/ISession2TokensListener;
 Landroid/media/session/ISession;
 Landroid/media/session/ISessionCallback$Stub$Proxy;
 Landroid/media/session/ISessionCallback$Stub;
@@ -56787,51 +46761,58 @@
 Landroid/media/session/MediaController$Callback;
 Landroid/media/session/MediaController$CallbackStub;
 Landroid/media/session/MediaController$MessageHandler;
+Landroid/media/session/MediaController$PlaybackInfo$1;
+Landroid/media/session/MediaController$PlaybackInfo;
 Landroid/media/session/MediaController$TransportControls;
 Landroid/media/session/MediaController;
 Landroid/media/session/MediaSession$Callback;
-Landroid/media/session/MediaSession$CallbackMessageHandler;
-Landroid/media/session/MediaSession$CallbackStub;
-Landroid/media/session/MediaSession$Command;
 Landroid/media/session/MediaSession$QueueItem$1;
 Landroid/media/session/MediaSession$QueueItem;
 Landroid/media/session/MediaSession$Token$1;
 Landroid/media/session/MediaSession$Token;
 Landroid/media/session/MediaSession;
+Landroid/media/session/MediaSessionEngine$CallbackMessageHandler;
+Landroid/media/session/MediaSessionEngine$CallbackWrapper;
+Landroid/media/session/MediaSessionEngine$MediaButtonEventDelegate;
+Landroid/media/session/MediaSessionEngine;
 Landroid/media/session/MediaSessionLegacyHelper;
 Landroid/media/session/MediaSessionManager$Callback;
-Landroid/media/session/MediaSessionManager$CallbackImpl$3;
 Landroid/media/session/MediaSessionManager$CallbackImpl$4;
 Landroid/media/session/MediaSessionManager$CallbackImpl;
 Landroid/media/session/MediaSessionManager$OnActiveSessionsChangedListener;
+Landroid/media/session/MediaSessionManager$OnMediaKeyListener;
+Landroid/media/session/MediaSessionManager$OnMediaKeyListenerImpl;
+Landroid/media/session/MediaSessionManager$OnSession2TokensChangedListener;
+Landroid/media/session/MediaSessionManager$OnVolumeKeyLongPressListener;
+Landroid/media/session/MediaSessionManager$OnVolumeKeyLongPressListenerImpl;
 Landroid/media/session/MediaSessionManager$RemoteUserInfo;
+Landroid/media/session/MediaSessionManager$Session2TokensChangedWrapper;
 Landroid/media/session/MediaSessionManager$SessionsChangedWrapper$1$1;
 Landroid/media/session/MediaSessionManager$SessionsChangedWrapper$1;
 Landroid/media/session/MediaSessionManager$SessionsChangedWrapper;
 Landroid/media/session/MediaSessionManager;
-Landroid/media/session/ParcelableVolumeInfo$1;
-Landroid/media/session/ParcelableVolumeInfo;
 Landroid/media/session/PlaybackState$1;
 Landroid/media/session/PlaybackState$Builder;
 Landroid/media/session/PlaybackState$CustomAction$1;
-Landroid/media/session/PlaybackState$CustomAction$Builder;
 Landroid/media/session/PlaybackState$CustomAction;
 Landroid/media/session/PlaybackState;
-Landroid/media/soundtrigger/-$$Lambda$ISQYIYPBRBIOLBUJy7rrJW-SiJg;
-Landroid/media/soundtrigger/-$$Lambda$SoundTriggerDetectionService$1$LlOo7TiZplZCgGhS07DqYHocFcw;
-Landroid/media/soundtrigger/-$$Lambda$SoundTriggerDetectionService$1$pKR4r0FzOzoVczcnvLQIZNjkZZw;
+Landroid/media/session/SessionCallbackLink$1;
+Landroid/media/session/SessionCallbackLink$CallbackStub;
+Landroid/media/session/SessionCallbackLink;
+Landroid/media/session/SessionLink$1;
+Landroid/media/session/SessionLink$SessionStub;
+Landroid/media/session/SessionLink$StubProxy;
+Landroid/media/session/SessionLink;
+Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub$Proxy;
 Landroid/media/soundtrigger/ISoundTriggerDetectionService$Stub;
-Landroid/media/soundtrigger/ISoundTriggerDetectionService;
-Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub$Proxy;
-Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient;
-Landroid/media/soundtrigger/SoundTriggerDetectionService$1;
-Landroid/media/soundtrigger/SoundTriggerDetectionService;
+Landroid/media/soundtrigger/ISoundTriggerDetectionServiceClient$Stub;
 Landroid/media/soundtrigger/SoundTriggerManager;
 Landroid/media/tv/TvInputHardwareInfo$Builder;
 Landroid/media/tv/TvInputManager;
 Landroid/media/tv/TvStreamConfig$Builder;
 Landroid/media/tv/TvStreamConfig;
 Landroid/metrics/LogMaker;
+Landroid/mtp/MtpConstants;
 Landroid/mtp/MtpDatabase;
 Landroid/mtp/MtpDevice;
 Landroid/mtp/MtpDeviceInfo;
@@ -56844,10 +46825,21 @@
 Landroid/mtp/MtpStorageInfo;
 Landroid/net/-$$Lambda$FpGXkd3pLxeXY58eJ_84mi1PLWQ;
 Landroid/net/-$$Lambda$Network$KD6DxaMRJIcajhj36TU1K7lJnHQ;
+Landroid/net/-$$Lambda$NetworkFactory$HfslgqyaKc_n0wXX5_qRYVZoGfI;
+Landroid/net/-$$Lambda$NetworkStack$gD-9DsQDrNGMc71UYFcTRBoHuk8;
+Landroid/net/-$$Lambda$NetworkStack$iCcZ8iO7kZV7t2m-2R8UX6euZ8U;
 Landroid/net/-$$Lambda$p1_56lwnt1xBuY1muPblbN1Dtkw;
+Landroid/net/ApfCapabilitiesParcelable$1;
+Landroid/net/ApfCapabilitiesParcelable;
+Landroid/net/CaptivePortal;
+Landroid/net/ConnectivityManager$1;
+Landroid/net/ConnectivityManager$2;
 Landroid/net/ConnectivityManager$CallbackHandler;
 Landroid/net/ConnectivityManager$NetworkCallback;
 Landroid/net/ConnectivityManager$OnNetworkActiveListener;
+Landroid/net/ConnectivityManager$OnStartTetheringCallback;
+Landroid/net/ConnectivityManager$PacketKeepalive$1;
+Landroid/net/ConnectivityManager$PacketKeepalive;
 Landroid/net/ConnectivityManager$PacketKeepaliveCallback;
 Landroid/net/ConnectivityManager;
 Landroid/net/ConnectivityMetricsEvent$1;
@@ -56860,15 +46852,22 @@
 Landroid/net/DhcpInfo;
 Landroid/net/DhcpResults$1;
 Landroid/net/DhcpResults;
+Landroid/net/DhcpResultsParcelable$1;
+Landroid/net/DhcpResultsParcelable;
 Landroid/net/EthernetManager;
 Landroid/net/EventLogTags;
+Landroid/net/ICaptivePortal$Stub;
+Landroid/net/ICaptivePortal;
 Landroid/net/IConnectivityManager$Stub$Proxy;
 Landroid/net/IConnectivityManager$Stub;
 Landroid/net/IConnectivityManager;
 Landroid/net/IEthernetManager$Stub;
 Landroid/net/IEthernetManager;
+Landroid/net/IIpConnectivityMetrics$Stub$Proxy;
 Landroid/net/IIpConnectivityMetrics$Stub;
 Landroid/net/IIpConnectivityMetrics;
+Landroid/net/IIpMemoryStore$Stub;
+Landroid/net/IIpMemoryStore;
 Landroid/net/IIpSecService$Stub;
 Landroid/net/IIpSecService;
 Landroid/net/INetd$Stub$Proxy;
@@ -56876,7 +46875,16 @@
 Landroid/net/INetd;
 Landroid/net/INetdEventCallback$Stub;
 Landroid/net/INetdEventCallback;
+Landroid/net/INetdUnsolicitedEventListener$Stub;
+Landroid/net/INetdUnsolicitedEventListener;
 Landroid/net/INetworkManagementEventObserver$Stub;
+Landroid/net/INetworkManagementEventObserver;
+Landroid/net/INetworkMonitor$Stub$Proxy;
+Landroid/net/INetworkMonitor$Stub;
+Landroid/net/INetworkMonitor;
+Landroid/net/INetworkMonitorCallbacks$Stub$Proxy;
+Landroid/net/INetworkMonitorCallbacks$Stub;
+Landroid/net/INetworkMonitorCallbacks;
 Landroid/net/INetworkPolicyListener$Stub$Proxy;
 Landroid/net/INetworkPolicyListener$Stub;
 Landroid/net/INetworkPolicyListener;
@@ -56892,6 +46900,9 @@
 Landroid/net/INetworkScoreService$Stub$Proxy;
 Landroid/net/INetworkScoreService$Stub;
 Landroid/net/INetworkScoreService;
+Landroid/net/INetworkStackConnector$Stub$Proxy;
+Landroid/net/INetworkStackConnector$Stub;
+Landroid/net/INetworkStackConnector;
 Landroid/net/INetworkStatsService$Stub$Proxy;
 Landroid/net/INetworkStatsService$Stub;
 Landroid/net/INetworkStatsService;
@@ -56899,23 +46910,36 @@
 Landroid/net/INetworkStatsSession$Stub;
 Landroid/net/INetworkStatsSession;
 Landroid/net/ITetheringStatsProvider$Stub;
+Landroid/net/ITetheringStatsProvider;
+Landroid/net/InetAddresses;
+Landroid/net/InitialConfigurationParcelable;
 Landroid/net/InterfaceConfiguration$1;
 Landroid/net/InterfaceConfiguration;
+Landroid/net/InterfaceConfigurationParcel$1;
+Landroid/net/InterfaceConfigurationParcel;
 Landroid/net/IpConfiguration$1;
 Landroid/net/IpConfiguration$IpAssignment;
 Landroid/net/IpConfiguration$ProxySettings;
 Landroid/net/IpConfiguration;
+Landroid/net/IpMemoryStore;
 Landroid/net/IpPrefix$1;
 Landroid/net/IpPrefix$2;
 Landroid/net/IpPrefix;
+Landroid/net/IpPrefixParcelable$1;
+Landroid/net/IpPrefixParcelable;
 Landroid/net/IpSecManager$SpiUnavailableException;
 Landroid/net/IpSecManager;
+Landroid/net/KeepalivePacketData$1;
+Landroid/net/KeepalivePacketData;
 Landroid/net/LinkAddress$1;
 Landroid/net/LinkAddress;
+Landroid/net/LinkAddressParcelable$1;
+Landroid/net/LinkAddressParcelable;
 Landroid/net/LinkProperties$1;
 Landroid/net/LinkProperties$CompareResult;
-Landroid/net/LinkProperties$ProvisioningChange;
 Landroid/net/LinkProperties;
+Landroid/net/LinkPropertiesParcelable$1;
+Landroid/net/LinkPropertiesParcelable;
 Landroid/net/LocalServerSocket;
 Landroid/net/LocalSocket;
 Landroid/net/LocalSocketAddress$Namespace;
@@ -56927,6 +46951,7 @@
 Landroid/net/MacAddress;
 Landroid/net/MatchAllNetworkSpecifier$1;
 Landroid/net/MatchAllNetworkSpecifier;
+Landroid/net/NattKeepalivePacketData;
 Landroid/net/Network$1;
 Landroid/net/Network$NetworkBoundSocketFactory;
 Landroid/net/Network;
@@ -56936,6 +46961,7 @@
 Landroid/net/NetworkCapabilities;
 Landroid/net/NetworkConfig;
 Landroid/net/NetworkFactory$NetworkRequestInfo;
+Landroid/net/NetworkFactory$SerialNumber;
 Landroid/net/NetworkFactory;
 Landroid/net/NetworkIdentity;
 Landroid/net/NetworkInfo$1;
@@ -56946,11 +46972,16 @@
 Landroid/net/NetworkKey;
 Landroid/net/NetworkMisc$1;
 Landroid/net/NetworkMisc;
+Landroid/net/NetworkParcelable$1;
+Landroid/net/NetworkParcelable;
 Landroid/net/NetworkPolicy$1;
 Landroid/net/NetworkPolicy;
 Landroid/net/NetworkPolicyManager$1;
 Landroid/net/NetworkPolicyManager$Listener;
 Landroid/net/NetworkPolicyManager;
+Landroid/net/NetworkRecommendationProvider$ServiceWrapper$1;
+Landroid/net/NetworkRecommendationProvider$ServiceWrapper;
+Landroid/net/NetworkRecommendationProvider;
 Landroid/net/NetworkRequest$1;
 Landroid/net/NetworkRequest$Builder;
 Landroid/net/NetworkRequest$Type;
@@ -56959,6 +46990,9 @@
 Landroid/net/NetworkScorerAppData$1;
 Landroid/net/NetworkScorerAppData;
 Landroid/net/NetworkSpecifier;
+Landroid/net/NetworkStack$NetworkStackCallback;
+Landroid/net/NetworkStack$NetworkStackConnection;
+Landroid/net/NetworkStack;
 Landroid/net/NetworkState$1;
 Landroid/net/NetworkState;
 Landroid/net/NetworkStats$1;
@@ -56967,6 +47001,7 @@
 Landroid/net/NetworkStats;
 Landroid/net/NetworkStatsHistory$1;
 Landroid/net/NetworkStatsHistory$DataStreamUtils;
+Landroid/net/NetworkStatsHistory$Entry;
 Landroid/net/NetworkStatsHistory$ParcelUtils;
 Landroid/net/NetworkStatsHistory;
 Landroid/net/NetworkTemplate$1;
@@ -56974,11 +47009,19 @@
 Landroid/net/NetworkUtils;
 Landroid/net/NetworkWatchlistManager;
 Landroid/net/ParseException;
+Landroid/net/PrivateDnsConfigParcel$1;
+Landroid/net/PrivateDnsConfigParcel;
+Landroid/net/PrivateDnsConnectivityChecker;
+Landroid/net/ProvisioningConfigurationParcelable$1;
+Landroid/net/ProvisioningConfigurationParcelable;
 Landroid/net/Proxy;
 Landroid/net/ProxyInfo$1;
 Landroid/net/ProxyInfo;
+Landroid/net/ProxyInfoParcelable;
 Landroid/net/RouteInfo$1;
 Landroid/net/RouteInfo;
+Landroid/net/RouteInfoParcelable$1;
+Landroid/net/RouteInfoParcelable;
 Landroid/net/RssiCurve$1;
 Landroid/net/RssiCurve;
 Landroid/net/SSLCertificateSocketFactory$1;
@@ -56987,13 +47030,25 @@
 Landroid/net/ScoredNetwork$1;
 Landroid/net/ScoredNetwork;
 Landroid/net/SntpClient;
+Landroid/net/SocketKeepalive$ErrorCodeException;
+Landroid/net/SocketKeepalive$InvalidPacketException;
+Landroid/net/SocketKeepalive$InvalidSocketException;
 Landroid/net/StaticIpConfiguration$1;
 Landroid/net/StaticIpConfiguration;
+Landroid/net/StaticIpConfigurationParcelable$1;
+Landroid/net/StaticIpConfigurationParcelable;
 Landroid/net/StringNetworkSpecifier$1;
 Landroid/net/StringNetworkSpecifier;
+Landroid/net/TcpKeepalivePacketData;
+Landroid/net/TcpKeepalivePacketDataParcelable;
+Landroid/net/TetherStatsParcel$1;
+Landroid/net/TetherStatsParcel;
 Landroid/net/TrafficStats;
+Landroid/net/TransportInfo;
 Landroid/net/UidRange$1;
 Landroid/net/UidRange;
+Landroid/net/UidRangeParcel$1;
+Landroid/net/UidRangeParcel;
 Landroid/net/Uri$1;
 Landroid/net/Uri$AbstractHierarchicalUri;
 Landroid/net/Uri$AbstractPart;
@@ -57007,51 +47062,96 @@
 Landroid/net/Uri$PathSegmentsBuilder;
 Landroid/net/Uri$StringUri;
 Landroid/net/Uri;
-Landroid/net/UrlQuerySanitizer$IllegalCharacterValueSanitizer;
-Landroid/net/UrlQuerySanitizer$ParameterValuePair;
-Landroid/net/UrlQuerySanitizer$ValueSanitizer;
-Landroid/net/UrlQuerySanitizer;
+Landroid/net/UriCodec;
 Landroid/net/WebAddress;
 Landroid/net/WifiKey$1;
 Landroid/net/WifiKey;
+Landroid/net/apf/ApfCapabilities;
+Landroid/net/captiveportal/CaptivePortalProbeResult;
+Landroid/net/captiveportal/CaptivePortalProbeSpec;
+Landroid/net/dhcp/DhcpServingParamsParcel;
+Landroid/net/dhcp/IDhcpServer$Stub;
+Landroid/net/dhcp/IDhcpServer;
+Landroid/net/dhcp/IDhcpServerCallbacks;
 Landroid/net/http/HttpResponseCache;
-Landroid/net/http/SslCertificate$DName;
-Landroid/net/http/SslCertificate;
-Landroid/net/http/SslError;
 Landroid/net/http/X509TrustManagerExtensions;
+Landroid/net/ip/IIpClient$Stub$Proxy;
+Landroid/net/ip/IIpClient$Stub;
+Landroid/net/ip/IIpClient;
+Landroid/net/ip/IIpClientCallbacks$Stub$Proxy;
+Landroid/net/ip/IIpClientCallbacks$Stub;
+Landroid/net/ip/IIpClientCallbacks;
+Landroid/net/ip/IpClientCallbacks;
 Landroid/net/lowpan/LowpanManager;
 Landroid/net/metrics/ApfProgramEvent$1;
+Landroid/net/metrics/ApfProgramEvent$Builder;
 Landroid/net/metrics/ApfProgramEvent;
 Landroid/net/metrics/ApfStats$1;
+Landroid/net/metrics/ApfStats$Builder;
+Landroid/net/metrics/ApfStats;
 Landroid/net/metrics/ConnectStats;
 Landroid/net/metrics/DefaultNetworkEvent;
 Landroid/net/metrics/DhcpClientEvent$1;
+Landroid/net/metrics/DhcpClientEvent$Builder;
+Landroid/net/metrics/DhcpClientEvent;
+Landroid/net/metrics/DhcpErrorEvent$1;
+Landroid/net/metrics/DhcpErrorEvent;
 Landroid/net/metrics/DnsEvent;
+Landroid/net/metrics/IpConnectivityLog$Event;
 Landroid/net/metrics/IpConnectivityLog;
 Landroid/net/metrics/IpManagerEvent$1;
+Landroid/net/metrics/IpManagerEvent;
 Landroid/net/metrics/IpReachabilityEvent$1;
+Landroid/net/metrics/IpReachabilityEvent;
 Landroid/net/metrics/NetworkEvent$1;
+Landroid/net/metrics/NetworkEvent;
 Landroid/net/metrics/NetworkMetrics$Metrics;
 Landroid/net/metrics/NetworkMetrics$Summary;
 Landroid/net/metrics/NetworkMetrics;
 Landroid/net/metrics/RaEvent$1;
 Landroid/net/metrics/RaEvent$Builder;
+Landroid/net/metrics/RaEvent;
 Landroid/net/metrics/ValidationProbeEvent$1;
+Landroid/net/metrics/ValidationProbeEvent$Builder;
+Landroid/net/metrics/ValidationProbeEvent$Decoder;
 Landroid/net/metrics/ValidationProbeEvent;
+Landroid/net/metrics/WakeupEvent;
 Landroid/net/metrics/WakeupStats;
 Landroid/net/nsd/INsdManager$Stub;
 Landroid/net/nsd/INsdManager;
 Landroid/net/nsd/NsdManager;
-Landroid/net/sip/ISipService;
+Landroid/net/nsd/NsdServiceInfo$1;
+Landroid/net/nsd/NsdServiceInfo;
+Landroid/net/shared/-$$Lambda$FdEventsReader$JMDLI8zzPKEcGIINWmoWVahp5hA;
+Landroid/net/shared/FdEventsReader;
+Landroid/net/shared/Inet4AddressUtils;
+Landroid/net/shared/InetAddressUtils;
+Landroid/net/sip/ISipService$Stub;
 Landroid/net/sip/SipManager;
+Landroid/net/util/-$$Lambda$MultinetworkPolicyTracker$0siHK6f4lHJz8hbdHbT6G4Kp-V4;
+Landroid/net/util/IpUtils;
+Landroid/net/util/MultinetworkPolicyTracker$1;
+Landroid/net/util/MultinetworkPolicyTracker$SettingObserver;
+Landroid/net/util/MultinetworkPolicyTracker;
+Landroid/net/util/SocketUtils;
+Landroid/net/wifi/-$$Lambda$WifiManager$SoftApCallbackProxy$f44R8L0UcqgnIaD5lXMmeuRHCWI;
+Landroid/net/wifi/-$$Lambda$WifiManager$SoftApCallbackProxy$vmSW5veUpC52oRINBy419US5snk;
+Landroid/net/wifi/INetworkRequestMatchCallback;
 Landroid/net/wifi/ISoftApCallback$Stub$Proxy;
+Landroid/net/wifi/ISoftApCallback$Stub;
 Landroid/net/wifi/ISoftApCallback;
+Landroid/net/wifi/ITrafficStateCallback$Stub$Proxy;
+Landroid/net/wifi/ITrafficStateCallback$Stub;
+Landroid/net/wifi/ITrafficStateCallback;
 Landroid/net/wifi/IWifiManager$Stub$Proxy;
 Landroid/net/wifi/IWifiManager$Stub;
 Landroid/net/wifi/IWifiManager;
+Landroid/net/wifi/IWifiScanner$Stub$Proxy;
 Landroid/net/wifi/IWifiScanner$Stub;
 Landroid/net/wifi/IWifiScanner;
 Landroid/net/wifi/ParcelUtil;
+Landroid/net/wifi/RssiPacketCountInfo;
+Landroid/net/wifi/RttManager$RttCapabilities$1;
 Landroid/net/wifi/RttManager;
 Landroid/net/wifi/ScanResult$1;
 Landroid/net/wifi/ScanResult$InformationElement;
@@ -57070,11 +47170,18 @@
 Landroid/net/wifi/WifiInfo$1;
 Landroid/net/wifi/WifiInfo;
 Landroid/net/wifi/WifiManager$MulticastLock;
+Landroid/net/wifi/WifiManager$ServiceHandler;
 Landroid/net/wifi/WifiManager$SoftApCallback;
+Landroid/net/wifi/WifiManager$SoftApCallbackProxy;
 Landroid/net/wifi/WifiManager$WifiLock;
 Landroid/net/wifi/WifiManager;
+Landroid/net/wifi/WifiNetworkAgentSpecifier$1;
+Landroid/net/wifi/WifiNetworkAgentSpecifier;
+Landroid/net/wifi/WifiNetworkScoreCache$CacheListener$1;
 Landroid/net/wifi/WifiNetworkScoreCache$CacheListener;
 Landroid/net/wifi/WifiNetworkScoreCache;
+Landroid/net/wifi/WifiScanner$ActionListener;
+Landroid/net/wifi/WifiScanner$ChannelSpec;
 Landroid/net/wifi/WifiScanner$OperationResult$1;
 Landroid/net/wifi/WifiScanner$OperationResult;
 Landroid/net/wifi/WifiScanner$ParcelableScanData$1;
@@ -57083,35 +47190,55 @@
 Landroid/net/wifi/WifiScanner$ParcelableScanResults;
 Landroid/net/wifi/WifiScanner$PnoScanListener;
 Landroid/net/wifi/WifiScanner$PnoSettings$1;
+Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;
 Landroid/net/wifi/WifiScanner$ScanData$1;
 Landroid/net/wifi/WifiScanner$ScanData;
+Landroid/net/wifi/WifiScanner$ScanListener;
 Landroid/net/wifi/WifiScanner$ScanSettings$1;
 Landroid/net/wifi/WifiScanner$ScanSettings;
 Landroid/net/wifi/WifiScanner$ServiceHandler;
 Landroid/net/wifi/WifiScanner;
 Landroid/net/wifi/WifiSsid$1;
 Landroid/net/wifi/WifiSsid;
+Landroid/net/wifi/WifiUsabilityStatsEntry$1;
+Landroid/net/wifi/WifiUsabilityStatsEntry;
 Landroid/net/wifi/WpsInfo$1;
+Landroid/net/wifi/WpsInfo;
+Landroid/net/wifi/aware/Characteristics;
+Landroid/net/wifi/aware/ConfigRequest;
 Landroid/net/wifi/aware/IWifiAwareManager$Stub;
 Landroid/net/wifi/aware/IWifiAwareManager;
 Landroid/net/wifi/aware/WifiAwareManager;
+Landroid/net/wifi/hotspot2/IProvisioningCallback;
+Landroid/net/wifi/hotspot2/OsuProvider$1;
+Landroid/net/wifi/hotspot2/OsuProvider;
+Landroid/net/wifi/hotspot2/PasspointConfiguration$1;
+Landroid/net/wifi/hotspot2/PasspointConfiguration;
+Landroid/net/wifi/hotspot2/pps/HomeSp;
 Landroid/net/wifi/p2p/IWifiP2pManager$Stub$Proxy;
 Landroid/net/wifi/p2p/IWifiP2pManager$Stub;
 Landroid/net/wifi/p2p/IWifiP2pManager;
 Landroid/net/wifi/p2p/WifiP2pConfig$1;
 Landroid/net/wifi/p2p/WifiP2pConfig;
 Landroid/net/wifi/p2p/WifiP2pDevice$1;
+Landroid/net/wifi/p2p/WifiP2pDevice;
 Landroid/net/wifi/p2p/WifiP2pDeviceList$1;
 Landroid/net/wifi/p2p/WifiP2pDeviceList;
+Landroid/net/wifi/p2p/WifiP2pGroup;
+Landroid/net/wifi/p2p/WifiP2pGroupList$1;
 Landroid/net/wifi/p2p/WifiP2pGroupList$2;
 Landroid/net/wifi/p2p/WifiP2pGroupList$GroupDeleteListener;
 Landroid/net/wifi/p2p/WifiP2pGroupList;
 Landroid/net/wifi/p2p/WifiP2pInfo$1;
+Landroid/net/wifi/p2p/WifiP2pInfo;
 Landroid/net/wifi/p2p/WifiP2pManager$PeerListListener;
 Landroid/net/wifi/p2p/WifiP2pManager$PersistentGroupInfoListener;
 Landroid/net/wifi/p2p/WifiP2pManager;
+Landroid/net/wifi/p2p/WifiP2pProvDiscEvent;
+Landroid/net/wifi/p2p/nsd/WifiP2pServiceInfo;
+Landroid/net/wifi/rtt/CivicLocation$1;
+Landroid/net/wifi/rtt/CivicLocation;
 Landroid/net/wifi/rtt/IRttCallback$Stub$Proxy;
-Landroid/net/wifi/rtt/IRttCallback;
 Landroid/net/wifi/rtt/IWifiRttManager$Stub;
 Landroid/net/wifi/rtt/IWifiRttManager;
 Landroid/net/wifi/rtt/RangingRequest$1;
@@ -57120,8 +47247,9 @@
 Landroid/net/wifi/rtt/RangingResult;
 Landroid/net/wifi/rtt/ResponderConfig$1;
 Landroid/net/wifi/rtt/ResponderConfig;
+Landroid/net/wifi/rtt/ResponderLocation$1;
+Landroid/net/wifi/rtt/ResponderLocation;
 Landroid/net/wifi/rtt/WifiRttManager;
-Landroid/nfc/FormatException;
 Landroid/nfc/IAppCallback$Stub;
 Landroid/nfc/IAppCallback;
 Landroid/nfc/INfcAdapter$Stub$Proxy;
@@ -57141,6 +47269,7 @@
 Landroid/nfc/NfcActivityManager;
 Landroid/nfc/NfcAdapter$1;
 Landroid/nfc/NfcAdapter$CreateNdefMessageCallback;
+Landroid/nfc/NfcAdapter$NfcUnlockHandler;
 Landroid/nfc/NfcAdapter;
 Landroid/nfc/NfcManager;
 Landroid/nfc/cardemulation/AidGroup$1;
@@ -57148,13 +47277,17 @@
 Landroid/nfc/cardemulation/ApduServiceInfo$1;
 Landroid/nfc/cardemulation/ApduServiceInfo;
 Landroid/nfc/cardemulation/CardEmulation;
+Landroid/nfc/cardemulation/HostApduService;
 Landroid/opengl/EGL14;
+Landroid/opengl/EGL15;
 Landroid/opengl/EGLConfig;
 Landroid/opengl/EGLContext;
 Landroid/opengl/EGLDisplay;
 Landroid/opengl/EGLExt;
+Landroid/opengl/EGLImage;
 Landroid/opengl/EGLObjectHandle;
 Landroid/opengl/EGLSurface;
+Landroid/opengl/EGLSync;
 Landroid/opengl/ETC1;
 Landroid/opengl/GLES10;
 Landroid/opengl/GLES10Ext;
@@ -57164,34 +47297,27 @@
 Landroid/opengl/GLES30;
 Landroid/opengl/GLES31;
 Landroid/opengl/GLES31Ext;
-Landroid/opengl/GLES32$DebugProc;
 Landroid/opengl/GLES32;
-Landroid/opengl/GLSurfaceView$DefaultWindowSurfaceFactory;
-Landroid/opengl/GLSurfaceView$EGLConfigChooser;
-Landroid/opengl/GLSurfaceView$EGLContextFactory;
 Landroid/opengl/GLSurfaceView$EGLWindowSurfaceFactory;
-Landroid/opengl/GLSurfaceView$EglHelper;
-Landroid/opengl/GLSurfaceView$GLThread;
-Landroid/opengl/GLSurfaceView$GLThreadManager;
-Landroid/opengl/GLSurfaceView$Renderer;
-Landroid/opengl/GLSurfaceView;
 Landroid/opengl/GLUtils;
 Landroid/opengl/Matrix;
 Landroid/opengl/Visibility;
-Landroid/os/-$$Lambda$BatteryStats$q1UvBdLgHRZVzc68BxdksTmbuCw;
+Landroid/os/-$$Lambda$Binder$IYUHVkWouPK_9CG2s8VwyWBt5_I;
 Landroid/os/-$$Lambda$GraphicsEnvironment$U4RqBlx5-Js31-71IFOgvpvoAFg;
 Landroid/os/-$$Lambda$IyvVQC-0mKtsfXbnO0kDL64hrk0;
 Landroid/os/-$$Lambda$PowerManager$WakeLock$VvFzmRZ4ZGlXx7u3lSAJ_T-YUjw;
 Landroid/os/-$$Lambda$StrictMode$1yH8AK0bTwVwZOb9x8HoiSBdzr0;
 Landroid/os/-$$Lambda$StrictMode$AndroidBlockGuardPolicy$9nBulCQKaMajrWr41SB7f7YRT1I;
-Landroid/os/-$$Lambda$StrictMode$AndroidBlockGuardPolicy$FxZGA9KtfTewqdcxlUwvIe5Nx9I;
 Landroid/os/-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ;
 Landroid/os/-$$Lambda$StrictMode$yZJXPvy2veRNA-xL_SWdXzX_OLg;
+Landroid/os/-$$Lambda$ThreadLocalWorkSource$IP9vRFCDG5YwbWbXAEGHH52B9IE;
 Landroid/os/-$$Lambda$Trace$2zLZ-Lc2kAXsVjw_nLYeNhqmGq0;
+Landroid/os/-$$Lambda$q1UvBdLgHRZVzc68BxdksTmbuCw;
 Landroid/os/AsyncResult;
 Landroid/os/AsyncTask$1;
 Landroid/os/AsyncTask$2;
 Landroid/os/AsyncTask$3;
+Landroid/os/AsyncTask$4;
 Landroid/os/AsyncTask$AsyncTaskResult;
 Landroid/os/AsyncTask$InternalHandler;
 Landroid/os/AsyncTask$SerialExecutor$1;
@@ -57221,8 +47347,10 @@
 Landroid/os/BatteryStats$LongCounterArray;
 Landroid/os/BatteryStats$PackageChange;
 Landroid/os/BatteryStats$Timer;
+Landroid/os/BatteryStats$Uid$Pid;
 Landroid/os/BatteryStats$Uid$Pkg$Serv;
 Landroid/os/BatteryStats$Uid$Pkg;
+Landroid/os/BatteryStats$Uid$Proc$ExcessivePower;
 Landroid/os/BatteryStats$Uid$Proc;
 Landroid/os/BatteryStats$Uid$Sensor;
 Landroid/os/BatteryStats$Uid$Wakelock;
@@ -57231,22 +47359,22 @@
 Landroid/os/BatteryStatsInternal;
 Landroid/os/BestClock;
 Landroid/os/Binder$NoImagePreloadHolder;
+Landroid/os/Binder$PropagateWorkSourceTransactListener;
+Landroid/os/Binder$ProxyTransactListener;
 Landroid/os/Binder;
 Landroid/os/BinderProxy$NoImagePreloadHolder;
 Landroid/os/BinderProxy$ProxyMap;
 Landroid/os/BinderProxy;
+Landroid/os/BugreportManager;
 Landroid/os/Build$VERSION;
-Landroid/os/Build$VERSION_CODES;
 Landroid/os/Build;
 Landroid/os/Bundle$1;
 Landroid/os/Bundle;
 Landroid/os/CancellationSignal$OnCancelListener;
 Landroid/os/CancellationSignal$Transport;
 Landroid/os/CancellationSignal;
-Landroid/os/CommonTimeConfig$OnServerDiedListener;
+Landroid/os/ChildZygoteProcess;
 Landroid/os/ConditionVariable;
-Landroid/os/CountDownTimer$1;
-Landroid/os/CountDownTimer;
 Landroid/os/CpuUsageInfo$1;
 Landroid/os/CpuUsageInfo;
 Landroid/os/DeadObjectException;
@@ -57258,6 +47386,7 @@
 Landroid/os/DropBoxManager$Entry$1;
 Landroid/os/DropBoxManager$Entry;
 Landroid/os/DropBoxManager;
+Landroid/os/DynamicAndroidManager;
 Landroid/os/Environment$UserEnvironment;
 Landroid/os/Environment;
 Landroid/os/EventLogTags;
@@ -57268,6 +47397,7 @@
 Landroid/os/FileObserver;
 Landroid/os/FileUtils$1;
 Landroid/os/FileUtils;
+Landroid/os/GraphicsEnvironment$OpenGlDriverChoice;
 Landroid/os/GraphicsEnvironment;
 Landroid/os/Handler$BlockingRunnable;
 Landroid/os/Handler$Callback;
@@ -57296,12 +47426,19 @@
 Landroid/os/IDeviceIdleController$Stub$Proxy;
 Landroid/os/IDeviceIdleController$Stub;
 Landroid/os/IDeviceIdleController;
-Landroid/os/IHardwarePropertiesManager$Stub$Proxy;
+Landroid/os/IDumpstate$Stub;
+Landroid/os/IDumpstate;
+Landroid/os/IDynamicAndroidService$Stub;
+Landroid/os/IDynamicAndroidService;
+Landroid/os/IExternalVibratorService$Stub;
+Landroid/os/IExternalVibratorService;
 Landroid/os/IHardwarePropertiesManager$Stub;
 Landroid/os/IHardwarePropertiesManager;
 Landroid/os/IHwBinder$DeathRecipient;
 Landroid/os/IHwBinder;
 Landroid/os/IHwInterface;
+Landroid/os/IIncidentCompanion$Stub;
+Landroid/os/IIncidentCompanion;
 Landroid/os/IIncidentManager$Stub$Proxy;
 Landroid/os/IIncidentManager$Stub;
 Landroid/os/IIncidentManager;
@@ -57314,7 +47451,6 @@
 Landroid/os/IMessenger;
 Landroid/os/INetworkActivityListener$Stub$Proxy;
 Landroid/os/INetworkActivityListener$Stub;
-Landroid/os/INetworkActivityListener;
 Landroid/os/INetworkManagementService$Stub$Proxy;
 Landroid/os/INetworkManagementService$Stub;
 Landroid/os/INetworkManagementService;
@@ -57329,6 +47465,7 @@
 Landroid/os/IProgressListener;
 Landroid/os/IRecoverySystem$Stub;
 Landroid/os/IRecoverySystem;
+Landroid/os/IRemoteCallback$Stub$Proxy;
 Landroid/os/IRemoteCallback$Stub;
 Landroid/os/IRemoteCallback;
 Landroid/os/ISchedulingPolicyService$Stub;
@@ -57345,10 +47482,15 @@
 Landroid/os/ISystemUpdateManager$Stub$Proxy;
 Landroid/os/ISystemUpdateManager$Stub;
 Landroid/os/ISystemUpdateManager;
+Landroid/os/IThermalEventListener$Stub$Proxy;
+Landroid/os/IThermalEventListener$Stub;
+Landroid/os/IThermalEventListener;
+Landroid/os/IThermalService$Stub;
+Landroid/os/IThermalService;
+Landroid/os/IThermalStatusListener$Stub;
+Landroid/os/IThermalStatusListener;
 Landroid/os/IUpdateEngine$Stub$Proxy;
-Landroid/os/IUpdateEngine;
 Landroid/os/IUpdateEngineCallback$Stub;
-Landroid/os/IUpdateEngineCallback;
 Landroid/os/IUpdateLock$Stub;
 Landroid/os/IUpdateLock;
 Landroid/os/IUserManager$Stub$Proxy;
@@ -57367,15 +47509,18 @@
 Landroid/os/IncidentManager;
 Landroid/os/LocaleList$1;
 Landroid/os/LocaleList;
+Landroid/os/Looper$Observer;
 Landroid/os/Looper;
 Landroid/os/MemoryFile;
 Landroid/os/Message$1;
 Landroid/os/Message;
+Landroid/os/MessageQueue$FileDescriptorRecord;
 Landroid/os/MessageQueue$IdleHandler;
 Landroid/os/MessageQueue$OnFileDescriptorEventListener;
 Landroid/os/MessageQueue;
 Landroid/os/Messenger$1;
 Landroid/os/Messenger;
+Landroid/os/NativeHandle;
 Landroid/os/NetworkOnMainThreadException;
 Landroid/os/NullVibrator;
 Landroid/os/OperationCanceledException;
@@ -57402,7 +47547,6 @@
 Landroid/os/ParcelableParcel;
 Landroid/os/PatternMatcher$1;
 Landroid/os/PatternMatcher;
-Landroid/os/PerformanceCollector;
 Landroid/os/PersistableBundle$1;
 Landroid/os/PersistableBundle$MyReadMapCallback;
 Landroid/os/PersistableBundle;
@@ -57411,15 +47555,21 @@
 Landroid/os/PowerManager$WakeLock$1;
 Landroid/os/PowerManager$WakeLock;
 Landroid/os/PowerManager;
+Landroid/os/PowerManagerInternal$1;
 Landroid/os/PowerManagerInternal$LowPowerModeListener;
 Landroid/os/PowerManagerInternal;
 Landroid/os/PowerSaveState$1;
 Landroid/os/PowerSaveState$Builder;
 Landroid/os/PowerSaveState;
+Landroid/os/Process$ProcessStartResult;
 Landroid/os/Process;
 Landroid/os/RecoverySystem;
+Landroid/os/RedactingFileDescriptor$1;
+Landroid/os/RedactingFileDescriptor;
 Landroid/os/Registrant;
 Landroid/os/RegistrantList;
+Landroid/os/RemoteCallback$1;
+Landroid/os/RemoteCallback$2;
 Landroid/os/RemoteCallback$3;
 Landroid/os/RemoteCallback$OnResultListener;
 Landroid/os/RemoteCallback;
@@ -57446,8 +47596,6 @@
 Landroid/os/ShellCommand;
 Landroid/os/SimpleClock;
 Landroid/os/StatFs;
-Landroid/os/StatsDimensionsValue$1;
-Landroid/os/StatsDimensionsValue;
 Landroid/os/StatsLogEventWrapper$1;
 Landroid/os/StatsLogEventWrapper;
 Landroid/os/StrictMode$1;
@@ -57458,6 +47606,7 @@
 Landroid/os/StrictMode$6;
 Landroid/os/StrictMode$7;
 Landroid/os/StrictMode$8;
+Landroid/os/StrictMode$9;
 Landroid/os/StrictMode$AndroidBlockGuardPolicy;
 Landroid/os/StrictMode$AndroidCloseGuardReporter;
 Landroid/os/StrictMode$InstanceTracker;
@@ -57484,9 +47633,14 @@
 Landroid/os/SystemService;
 Landroid/os/SystemUpdateManager;
 Landroid/os/SystemVibrator;
+Landroid/os/Temperature$1;
+Landroid/os/Temperature;
+Landroid/os/ThreadLocalWorkSource;
+Landroid/os/TokenWatcher$1;
 Landroid/os/TokenWatcher;
 Landroid/os/Trace;
 Landroid/os/TransactionTooLargeException;
+Landroid/os/TransactionTracker;
 Landroid/os/UEventObserver$UEvent;
 Landroid/os/UEventObserver$UEventThread;
 Landroid/os/UEventObserver;
@@ -57498,6 +47652,7 @@
 Landroid/os/UserHandle;
 Landroid/os/UserManager$EnforcingUser$1;
 Landroid/os/UserManager$EnforcingUser;
+Landroid/os/UserManager$UserOperationException;
 Landroid/os/UserManager;
 Landroid/os/UserManagerInternal$UserRestrictionsListener;
 Landroid/os/UserManagerInternal;
@@ -57525,7 +47680,6 @@
 Landroid/os/connectivity/GpsBatteryStats;
 Landroid/os/connectivity/WifiBatteryStats$1;
 Landroid/os/connectivity/WifiBatteryStats;
-Landroid/os/health/HealthKeys$Constant;
 Landroid/os/health/HealthKeys$Constants;
 Landroid/os/health/HealthKeys$SortedIntArray;
 Landroid/os/health/HealthStats;
@@ -57535,6 +47689,7 @@
 Landroid/os/health/SystemHealthManager;
 Landroid/os/health/TimerStat$1;
 Landroid/os/health/TimerStat;
+Landroid/os/storage/DiskInfo;
 Landroid/os/storage/IObbActionListener$Stub;
 Landroid/os/storage/IObbActionListener;
 Landroid/os/storage/IStorageEventListener$Stub$Proxy;
@@ -57547,33 +47702,66 @@
 Landroid/os/storage/StorageManager$ObbActionListener;
 Landroid/os/storage/StorageManager$StorageEventListenerDelegate;
 Landroid/os/storage/StorageManager;
+Landroid/os/storage/StorageManagerInternal$ExternalStorageMountPolicy;
 Landroid/os/storage/StorageManagerInternal;
 Landroid/os/storage/StorageVolume$1;
 Landroid/os/storage/StorageVolume;
 Landroid/os/storage/VolumeInfo$1;
 Landroid/os/storage/VolumeInfo$2;
 Landroid/os/storage/VolumeInfo;
-Landroid/os/strictmode/CustomViolation;
+Landroid/os/storage/VolumeRecord;
 Landroid/os/strictmode/DiskReadViolation;
 Landroid/os/strictmode/DiskWriteViolation;
 Landroid/os/strictmode/InstanceCountViolation;
-Landroid/os/strictmode/LeakedClosableViolation;
 Landroid/os/strictmode/Violation;
-Landroid/preference/CheckBoxPreference;
+Landroid/permission/-$$Lambda$PermissionControllerManager$PendingCountPermissionAppsRequest$5yk4p2I96nUHJ1QRErjoF1iiLLY;
+Landroid/permission/-$$Lambda$PermissionControllerManager$PendingGetAppPermissionRequest$7R0rGbvqPEHrjxlrMX66LMgfTj4;
+Landroid/permission/-$$Lambda$PermissionControllerManager$PendingGetRuntimePermissionBackup$TnLX6gxZCMF3D0czwj_XwNhPIgE;
+Landroid/permission/-$$Lambda$PermissionControllerManager$PendingIsApplicationQualifiedForRoleRequest$5m96NgC_Fent3VV2pxpA7ixJS64;
+Landroid/permission/-$$Lambda$PermissionControllerManager$PendingIsApplicationQualifiedForRoleRequest$lH6N6lj4veN_1C9hTpBgf9c4o40;
+Landroid/permission/-$$Lambda$PermissionControllerManager$RemoteService$L8N-TbqIPWKu7tyiOxbu_00YKss;
+Landroid/permission/-$$Lambda$PermissionControllerService$1$BmAaUPuQtKhO2xdoQs4gItIlso4;
+Landroid/permission/-$$Lambda$PermissionControllerService$1$Wdjw6f4bVabM9A8dMSxKws5HauY;
+Landroid/permission/-$$Lambda$PermissionControllerService$1$b-_24rx9VpQtKWFPivfPWNjKn2U;
+Landroid/permission/-$$Lambda$PermissionControllerService$1$zy1LW9MMFpSW2olw3pLcrg-t6OI;
+Landroid/permission/IPermissionController$Stub$Proxy;
+Landroid/permission/IPermissionController$Stub;
+Landroid/permission/IPermissionController;
+Landroid/permission/PermissionControllerManager$FileReaderTask;
+Landroid/permission/PermissionControllerManager$OnCountPermissionAppsResultCallback;
+Landroid/permission/PermissionControllerManager$OnGetAppPermissionResultCallback;
+Landroid/permission/PermissionControllerManager$OnPermissionUsageResultCallback;
+Landroid/permission/PermissionControllerManager$PendingCountPermissionAppsRequest;
+Landroid/permission/PermissionControllerManager$PendingGetAppPermissionRequest;
+Landroid/permission/PermissionControllerManager$PendingGetRuntimePermissionBackup;
+Landroid/permission/PermissionControllerManager$PendingIsApplicationQualifiedForRoleRequest;
+Landroid/permission/PermissionControllerManager$RemoteService;
+Landroid/permission/PermissionControllerManager;
+Landroid/permission/PermissionControllerService$1;
+Landroid/permission/PermissionControllerService;
+Landroid/permission/PermissionManager$SplitPermissionInfo;
+Landroid/permission/PermissionManager;
+Landroid/permission/PermissionManagerInternal;
+Landroid/permission/RuntimePermissionPresentationInfo$1;
+Landroid/permission/RuntimePermissionPresentationInfo;
+Landroid/preference/DialogPreference$1;
 Landroid/preference/DialogPreference;
 Landroid/preference/GenericInflater$Parent;
 Landroid/preference/GenericInflater;
 Landroid/preference/ListPreference;
-Landroid/preference/Preference$BaseSavedState$1;
 Landroid/preference/Preference$OnPreferenceChangeInternalListener;
 Landroid/preference/Preference$OnPreferenceChangeListener;
+Landroid/preference/Preference$OnPreferenceClickListener;
 Landroid/preference/Preference;
-Landroid/preference/PreferenceActivity$1;
 Landroid/preference/PreferenceActivity;
+Landroid/preference/PreferenceCategory;
+Landroid/preference/PreferenceFragment$1;
+Landroid/preference/PreferenceFragment$2;
+Landroid/preference/PreferenceFragment$3;
 Landroid/preference/PreferenceFragment$OnPreferenceStartFragmentCallback;
 Landroid/preference/PreferenceFragment;
-Landroid/preference/PreferenceFrameLayout;
 Landroid/preference/PreferenceGroup;
+Landroid/preference/PreferenceGroupAdapter$1;
 Landroid/preference/PreferenceGroupAdapter$PreferenceLayout;
 Landroid/preference/PreferenceGroupAdapter;
 Landroid/preference/PreferenceInflater;
@@ -57581,22 +47769,21 @@
 Landroid/preference/PreferenceManager$OnPreferenceTreeClickListener;
 Landroid/preference/PreferenceManager;
 Landroid/preference/PreferenceScreen;
-Landroid/preference/TwoStatePreference$SavedState$1;
+Landroid/preference/SwitchPreference$Listener;
+Landroid/preference/SwitchPreference;
 Landroid/preference/TwoStatePreference;
+Landroid/print/IPrintManager$Stub$Proxy;
 Landroid/print/IPrintManager$Stub;
 Landroid/print/IPrintManager;
 Landroid/print/IPrintSpooler$Stub$Proxy;
 Landroid/print/IPrintSpooler$Stub;
-Landroid/print/IPrintSpooler;
 Landroid/print/IPrintSpoolerCallbacks$Stub;
-Landroid/print/IPrintSpoolerCallbacks;
 Landroid/print/IPrintSpoolerClient$Stub;
-Landroid/print/IPrintSpoolerClient;
 Landroid/print/PrintDocumentAdapter;
+Landroid/print/PrintManager$1;
 Landroid/print/PrintManager$PrintJobStateChangeListener;
 Landroid/print/PrintManager;
 Landroid/printservice/IPrintServiceClient$Stub;
-Landroid/printservice/IPrintServiceClient;
 Landroid/printservice/PrintServiceInfo$1;
 Landroid/printservice/PrintServiceInfo;
 Landroid/privacy/internal/longitudinalreporting/LongitudinalReportingConfig;
@@ -57604,6 +47791,7 @@
 Landroid/privacy/internal/rappor/RapporConfig;
 Landroid/privacy/internal/rappor/RapporEncoder;
 Landroid/provider/-$$Lambda$FontsContract$3FDNQd-WsglsyDhif-aHVbzkfrA;
+Landroid/provider/-$$Lambda$FontsContract$rqfIZKvP1frnI9vP1hVA8jQN_RE;
 Landroid/provider/-$$Lambda$Settings$NameValueCache$qSyMM6rUAHCa-5rsP-atfAqR3sA;
 Landroid/provider/BaseColumns;
 Landroid/provider/BlockedNumberContract$BlockedNumbers;
@@ -57611,25 +47799,31 @@
 Landroid/provider/BlockedNumberContract;
 Landroid/provider/CalendarContract$Attendees;
 Landroid/provider/CalendarContract$AttendeesColumns;
+Landroid/provider/CalendarContract$CalendarAlerts;
+Landroid/provider/CalendarContract$CalendarAlertsColumns;
 Landroid/provider/CalendarContract$CalendarColumns;
-Landroid/provider/CalendarContract$CalendarEntity;
 Landroid/provider/CalendarContract$CalendarSyncColumns;
 Landroid/provider/CalendarContract$Calendars;
 Landroid/provider/CalendarContract$Events;
 Landroid/provider/CalendarContract$EventsColumns;
-Landroid/provider/CalendarContract$EventsEntity$EntityIteratorImpl;
-Landroid/provider/CalendarContract$EventsEntity;
 Landroid/provider/CalendarContract$Instances;
 Landroid/provider/CalendarContract$SyncColumns;
 Landroid/provider/CalendarContract;
 Landroid/provider/CallLog$Calls;
 Landroid/provider/CallLog;
+Landroid/provider/Column;
+Landroid/provider/Contacts$PeopleColumns;
+Landroid/provider/Contacts$Phones;
+Landroid/provider/Contacts$PhonesColumns;
 Landroid/provider/ContactsContract$BaseSyncColumns;
 Landroid/provider/ContactsContract$CommonDataKinds$BaseTypes;
 Landroid/provider/ContactsContract$CommonDataKinds$Callable;
 Landroid/provider/ContactsContract$CommonDataKinds$CommonColumns;
 Landroid/provider/ContactsContract$CommonDataKinds$Email;
+Landroid/provider/ContactsContract$CommonDataKinds$Event;
+Landroid/provider/ContactsContract$CommonDataKinds$Im;
 Landroid/provider/ContactsContract$CommonDataKinds$Phone;
+Landroid/provider/ContactsContract$CommonDataKinds$Relation;
 Landroid/provider/ContactsContract$CommonDataKinds$StructuredPostal;
 Landroid/provider/ContactsContract$ContactCounts;
 Landroid/provider/ContactsContract$ContactNameColumns;
@@ -57644,22 +47838,57 @@
 Landroid/provider/ContactsContract$DeletedContacts;
 Landroid/provider/ContactsContract$DeletedContactsColumns;
 Landroid/provider/ContactsContract$Directory;
+Landroid/provider/ContactsContract$DisplayPhoto;
+Landroid/provider/ContactsContract$Groups;
+Landroid/provider/ContactsContract$GroupsColumns;
 Landroid/provider/ContactsContract$PhoneLookup;
 Landroid/provider/ContactsContract$PhoneLookupColumns;
+Landroid/provider/ContactsContract$PinnedPositions;
+Landroid/provider/ContactsContract$Profile;
+Landroid/provider/ContactsContract$ProviderStatus;
+Landroid/provider/ContactsContract$QuickContact;
 Landroid/provider/ContactsContract$RawContacts;
 Landroid/provider/ContactsContract$RawContactsColumns;
+Landroid/provider/ContactsContract$RawContactsEntity;
+Landroid/provider/ContactsContract$Settings;
+Landroid/provider/ContactsContract$SettingsColumns;
 Landroid/provider/ContactsContract$StatusColumns;
 Landroid/provider/ContactsContract$SyncColumns;
+Landroid/provider/ContactsContract$SyncState;
 Landroid/provider/ContactsContract;
+Landroid/provider/ContactsInternal;
+Landroid/provider/DeviceConfig$1;
+Landroid/provider/DeviceConfig$2;
+Landroid/provider/DeviceConfig$OnPropertyChangedListener;
+Landroid/provider/DeviceConfig;
+Landroid/provider/DocumentsContract$Path;
 Landroid/provider/DocumentsContract;
 Landroid/provider/DocumentsProvider;
 Landroid/provider/Downloads$Impl;
 Landroid/provider/Downloads;
+Landroid/provider/FontRequest;
 Landroid/provider/FontsContract$1;
+Landroid/provider/FontsContract$FontFamilyResult;
+Landroid/provider/FontsContract$FontInfo;
 Landroid/provider/FontsContract;
+Landroid/provider/MediaStore$Audio$AlbumColumns;
+Landroid/provider/MediaStore$Audio$Albums;
+Landroid/provider/MediaStore$Audio$ArtistColumns;
+Landroid/provider/MediaStore$Audio$Artists$Albums;
+Landroid/provider/MediaStore$Audio$Artists;
 Landroid/provider/MediaStore$Audio$AudioColumns;
+Landroid/provider/MediaStore$Audio$Genres$Members;
+Landroid/provider/MediaStore$Audio$Genres;
+Landroid/provider/MediaStore$Audio$GenresColumns;
 Landroid/provider/MediaStore$Audio$Media;
+Landroid/provider/MediaStore$Audio$Playlists$Members;
 Landroid/provider/MediaStore$Audio$Playlists;
+Landroid/provider/MediaStore$Audio$PlaylistsColumns;
+Landroid/provider/MediaStore$Audio$Thumbnails;
+Landroid/provider/MediaStore$Audio;
+Landroid/provider/MediaStore$DownloadColumns;
+Landroid/provider/MediaStore$Downloads;
+Landroid/provider/MediaStore$Files$FileColumns;
 Landroid/provider/MediaStore$Files;
 Landroid/provider/MediaStore$Images$ImageColumns;
 Landroid/provider/MediaStore$Images$Media;
@@ -57670,13 +47899,14 @@
 Landroid/provider/MediaStore$Video$Thumbnails;
 Landroid/provider/MediaStore$Video$VideoColumns;
 Landroid/provider/MediaStore;
+Landroid/provider/MetadataReader;
 Landroid/provider/OpenableColumns;
 Landroid/provider/SearchIndexableData;
 Landroid/provider/SearchIndexableResource;
 Landroid/provider/SearchIndexablesContract;
 Landroid/provider/SearchIndexablesProvider;
-Landroid/provider/SearchRecentSuggestions$1;
 Landroid/provider/SearchRecentSuggestions;
+Landroid/provider/Settings$Config;
 Landroid/provider/Settings$ContentProviderHolder;
 Landroid/provider/Settings$GenerationTracker;
 Landroid/provider/Settings$Global$1;
@@ -57715,45 +47945,56 @@
 Landroid/provider/SettingsValidators$PackageNameListValidator;
 Landroid/provider/SettingsValidators$Validator;
 Landroid/provider/SettingsValidators;
-Landroid/provider/SyncStateContract$Helpers;
+Landroid/provider/SyncStateContract$Columns;
 Landroid/provider/Telephony$BaseMmsColumns;
 Landroid/provider/Telephony$CarrierColumns;
 Landroid/provider/Telephony$CarrierId$All;
 Landroid/provider/Telephony$CarrierId;
 Landroid/provider/Telephony$Carriers;
+Landroid/provider/Telephony$Mms$Inbox;
 Landroid/provider/Telephony$Mms;
 Landroid/provider/Telephony$MmsSms;
+Landroid/provider/Telephony$RcsColumns;
 Landroid/provider/Telephony$ServiceStateTable;
+Landroid/provider/Telephony$Sms$Inbox;
+Landroid/provider/Telephony$Sms$Intents;
+Landroid/provider/Telephony$Sms$Sent;
 Landroid/provider/Telephony$Sms;
 Landroid/provider/Telephony$TextBasedSmsColumns;
 Landroid/provider/Telephony$Threads;
+Landroid/provider/Telephony$ThreadsColumns;
 Landroid/provider/UserDictionary$Words;
 Landroid/provider/VoicemailContract$Status;
 Landroid/provider/VoicemailContract$Voicemails;
-Landroid/renderscript/Allocation;
-Landroid/renderscript/BaseObj;
-Landroid/renderscript/Element;
+Landroid/renderscript/RSDriverException;
 Landroid/renderscript/RSRuntimeException;
-Landroid/renderscript/RenderScript;
 Landroid/renderscript/RenderScriptCacheDir;
-Landroid/renderscript/Script;
-Landroid/renderscript/ScriptIntrinsic;
-Landroid/renderscript/ScriptIntrinsicBlur;
-Landroid/se/omapi/ISecureElementService$Stub$Proxy;
+Landroid/rolecontrollerservice/IRoleControllerService$Stub$Proxy;
+Landroid/rolecontrollerservice/IRoleControllerService$Stub;
+Landroid/rolecontrollerservice/IRoleControllerService;
+Landroid/rolecontrollerservice/RoleControllerService$1;
+Landroid/rolecontrollerservice/RoleControllerService$RoleManagerCallbackDelegate;
+Landroid/rolecontrollerservice/RoleControllerService;
 Landroid/se/omapi/ISecureElementService$Stub;
-Landroid/se/omapi/ISecureElementService;
+Landroid/security/AttestedKeyPair;
 Landroid/security/Credentials;
-Landroid/security/GateKeeper;
+Landroid/security/IKeyChainAliasCallback$Stub;
+Landroid/security/IKeyChainAliasCallback;
 Landroid/security/IKeyChainService$Stub$Proxy;
 Landroid/security/IKeyChainService;
-Landroid/security/IKeystoreService$Stub$Proxy;
-Landroid/security/IKeystoreService$Stub;
-Landroid/security/IKeystoreService;
 Landroid/security/KeyChain$1;
+Landroid/security/KeyChain$AliasResponse;
 Landroid/security/KeyChain$KeyChainConnection;
 Landroid/security/KeyChain;
 Landroid/security/KeyChainAliasCallback;
 Landroid/security/KeyChainException;
+Landroid/security/KeyStore$CertificateChainPromise;
+Landroid/security/KeyStore$ExportKeyPromise;
+Landroid/security/KeyStore$KeyAttestationCallbackResult;
+Landroid/security/KeyStore$KeyCharacteristicsCallbackResult;
+Landroid/security/KeyStore$KeyCharacteristicsPromise;
+Landroid/security/KeyStore$KeystoreResultPromise;
+Landroid/security/KeyStore$OperationPromise;
 Landroid/security/KeyStore$State;
 Landroid/security/KeyStore;
 Landroid/security/KeyStoreException;
@@ -57777,6 +48018,8 @@
 Landroid/security/keymaster/KeymasterBlob;
 Landroid/security/keymaster/KeymasterBlobArgument;
 Landroid/security/keymaster/KeymasterBooleanArgument;
+Landroid/security/keymaster/KeymasterCertificateChain$1;
+Landroid/security/keymaster/KeymasterCertificateChain;
 Landroid/security/keymaster/KeymasterDateArgument;
 Landroid/security/keymaster/KeymasterDefs;
 Landroid/security/keymaster/KeymasterIntArgument;
@@ -57810,10 +48053,25 @@
 Landroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi$CBC$PKCS7Padding;
 Landroid/security/keystore/AndroidKeyStoreUnauthenticatedAESCipherSpi;
 Landroid/security/keystore/ArrayUtils;
+Landroid/security/keystore/AttestationUtils;
+Landroid/security/keystore/DelegatingX509Certificate;
+Landroid/security/keystore/IKeystoreCertificateChainCallback$Stub;
+Landroid/security/keystore/IKeystoreExportKeyCallback$Stub;
+Landroid/security/keystore/IKeystoreExportKeyCallback;
+Landroid/security/keystore/IKeystoreKeyCharacteristicsCallback$Stub;
+Landroid/security/keystore/IKeystoreKeyCharacteristicsCallback;
+Landroid/security/keystore/IKeystoreOperationResultCallback$Stub;
+Landroid/security/keystore/IKeystoreOperationResultCallback;
+Landroid/security/keystore/IKeystoreResponseCallback$Stub;
+Landroid/security/keystore/IKeystoreResponseCallback;
+Landroid/security/keystore/IKeystoreService$Stub$Proxy;
+Landroid/security/keystore/IKeystoreService$Stub;
+Landroid/security/keystore/IKeystoreService;
 Landroid/security/keystore/KeyAttestationException;
 Landroid/security/keystore/KeyGenParameterSpec$Builder;
 Landroid/security/keystore/KeyGenParameterSpec;
 Landroid/security/keystore/KeyInfo;
+Landroid/security/keystore/KeyPermanentlyInvalidatedException;
 Landroid/security/keystore/KeyProperties$BlockMode;
 Landroid/security/keystore/KeyProperties$Digest;
 Landroid/security/keystore/KeyProperties$EncryptionPadding;
@@ -57822,8 +48080,6 @@
 Landroid/security/keystore/KeyProperties$Purpose;
 Landroid/security/keystore/KeyProperties$SignaturePadding;
 Landroid/security/keystore/KeyProperties;
-Landroid/security/keystore/KeyProtection$Builder;
-Landroid/security/keystore/KeyProtection;
 Landroid/security/keystore/KeyStoreCryptoOperation;
 Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$MainDataStream;
 Landroid/security/keystore/KeyStoreCryptoOperationChunkedStreamer$Stream;
@@ -57831,6 +48087,10 @@
 Landroid/security/keystore/KeyStoreCryptoOperationStreamer;
 Landroid/security/keystore/KeyStoreCryptoOperationUtils;
 Landroid/security/keystore/KeymasterUtils;
+Landroid/security/keystore/KeystoreResponse$1;
+Landroid/security/keystore/KeystoreResponse;
+Landroid/security/keystore/ParcelableKeyGenParameterSpec;
+Landroid/security/keystore/StrongBoxUnavailableException;
 Landroid/security/keystore/UserAuthArgs;
 Landroid/security/keystore/Utils;
 Landroid/security/keystore/recovery/InternalRecoveryServiceException;
@@ -57869,6 +48129,7 @@
 Landroid/security/net/config/NetworkSecurityConfig;
 Landroid/security/net/config/NetworkSecurityConfigProvider;
 Landroid/security/net/config/NetworkSecurityTrustManager;
+Landroid/security/net/config/Pin;
 Landroid/security/net/config/PinSet;
 Landroid/security/net/config/RootTrustManager;
 Landroid/security/net/config/RootTrustManagerFactorySpi;
@@ -57876,50 +48137,103 @@
 Landroid/security/net/config/SystemCertificateSource;
 Landroid/security/net/config/TrustAnchor;
 Landroid/security/net/config/TrustedCertificateStoreAdapter;
-Landroid/security/net/config/UserCertificateSource$NoPreloadHolder;
 Landroid/security/net/config/UserCertificateSource;
 Landroid/security/net/config/XmlConfigSource$ParserException;
 Landroid/security/net/config/XmlConfigSource;
+Landroid/service/autofill/-$$Lambda$AutofillFieldClassificationService$AutofillFieldClassificationServiceWrapper$mUalgFt87R5lup2LhB9vW49Xixs;
+Landroid/service/autofill/-$$Lambda$I0gCKFrBTO70VZfSZTq2fj-wyG8;
+Landroid/service/autofill/-$$Lambda$amIBeR2CTPTUHkT8htLcarZmUYc;
+Landroid/service/autofill/-$$Lambda$eWz26esczusoIA84WEwFlxQuDGQ;
+Landroid/service/autofill/AutofillFieldClassificationService$AutofillFieldClassificationServiceWrapper;
+Landroid/service/autofill/AutofillFieldClassificationService$Scores$1;
+Landroid/service/autofill/AutofillFieldClassificationService$Scores;
+Landroid/service/autofill/AutofillFieldClassificationService;
+Landroid/service/autofill/AutofillService$1;
+Landroid/service/autofill/AutofillService;
+Landroid/service/autofill/AutofillServiceHelper;
 Landroid/service/autofill/AutofillServiceInfo;
+Landroid/service/autofill/CharSequenceTransformation$1;
+Landroid/service/autofill/CharSequenceTransformation;
+Landroid/service/autofill/CustomDescription$1;
+Landroid/service/autofill/CustomDescription$Builder;
+Landroid/service/autofill/Dataset$1;
+Landroid/service/autofill/Dataset$Builder;
+Landroid/service/autofill/Dataset$DatasetFieldFilter$1;
+Landroid/service/autofill/Dataset;
+Landroid/service/autofill/FillCallback;
 Landroid/service/autofill/FillContext$1;
 Landroid/service/autofill/FillContext;
+Landroid/service/autofill/FillEventHistory$1;
+Landroid/service/autofill/FillEventHistory;
 Landroid/service/autofill/FillRequest$1;
 Landroid/service/autofill/FillRequest;
+Landroid/service/autofill/FillResponse$1;
+Landroid/service/autofill/FillResponse$Builder;
+Landroid/service/autofill/FillResponse;
 Landroid/service/autofill/IAutoFillService$Stub$Proxy;
 Landroid/service/autofill/IAutoFillService$Stub;
-Landroid/service/autofill/IAutoFillService;
+Landroid/service/autofill/IAutofillFieldClassificationService$Stub;
+Landroid/service/autofill/IFillCallback$Stub$Proxy;
 Landroid/service/autofill/IFillCallback$Stub;
-Landroid/service/autofill/IFillCallback;
-Landroid/service/autofill/ValueFinder;
+Landroid/service/autofill/RegexValidator$1;
+Landroid/service/autofill/RequiredValidators$1;
+Landroid/service/autofill/RequiredValidators;
+Landroid/service/autofill/SaveInfo$1;
+Landroid/service/autofill/SaveInfo$Builder;
+Landroid/service/autofill/SaveInfo;
+Landroid/service/autofill/TextValueSanitizer$1;
+Landroid/service/autofill/TextValueSanitizer;
+Landroid/service/autofill/augmented/-$$Lambda$AugmentedAutofillService$1$LSvI4QN2NxJLegcZI0BFIvKwp6o;
+Landroid/service/autofill/augmented/-$$Lambda$AugmentedAutofillService$1$o3HroNkBmbmfvaMQzpU1LF_dvS8;
+Landroid/service/autofill/augmented/AugmentedAutofillService$1;
+Landroid/service/autofill/augmented/AugmentedAutofillService;
+Landroid/service/autofill/augmented/IAugmentedAutofillService$Stub$Proxy;
+Landroid/service/autofill/augmented/IAugmentedAutofillService$Stub;
+Landroid/service/autofill/augmented/IFillCallback$Stub;
 Landroid/service/carrier/CarrierIdentifier$1;
 Landroid/service/carrier/CarrierIdentifier;
-Landroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper$1;
-Landroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper$2;
-Landroid/service/carrier/CarrierMessagingService$ICarrierMessagingWrapper;
-Landroid/service/carrier/CarrierMessagingService;
-Landroid/service/carrier/ICarrierMessagingCallback$Stub$Proxy;
-Landroid/service/carrier/ICarrierMessagingCallback;
+Landroid/service/carrier/CarrierMessagingClientService;
+Landroid/service/carrier/ICarrierMessagingCallback$Stub;
+Landroid/service/carrier/ICarrierMessagingService$Stub$Proxy;
 Landroid/service/carrier/ICarrierMessagingService$Stub;
-Landroid/service/carrier/ICarrierMessagingService;
 Landroid/service/carrier/ICarrierService$Stub$Proxy;
 Landroid/service/carrier/ICarrierService$Stub;
 Landroid/service/carrier/ICarrierService;
 Landroid/service/carrier/MessagePdu$1;
 Landroid/service/carrier/MessagePdu;
+Landroid/service/contentcapture/-$$Lambda$ContentCaptureService$1$1VlB_m4tVjwVi8ALZkCay724HtA;
+Landroid/service/contentcapture/-$$Lambda$ContentCaptureService$1$P_V9qhyARCfgqknD3r9utXvZtic;
+Landroid/service/contentcapture/-$$Lambda$ContentCaptureService$1$iP7RXM_Va9lafd6bT9eXRx_D47Q;
+Landroid/service/contentcapture/-$$Lambda$ContentCaptureService$1$rMXqlTfg7_GsJ2P6N3IE4GK3puA;
+Landroid/service/contentcapture/-$$Lambda$ContentCaptureService$1$wPMOb7AM5r-kHmuyl3SBSylaH1A;
+Landroid/service/contentcapture/-$$Lambda$ContentCaptureService$2$1DWAbwSaijT9KE0xBaUSC4IAb20;
+Landroid/service/contentcapture/ContentCaptureService$1;
+Landroid/service/contentcapture/ContentCaptureService$2;
+Landroid/service/contentcapture/ContentCaptureService;
+Landroid/service/contentcapture/IContentCaptureService$Stub$Proxy;
+Landroid/service/contentcapture/IContentCaptureService$Stub;
+Landroid/service/contentcapture/IContentCaptureServiceCallback$Stub$Proxy;
+Landroid/service/contentcapture/IContentCaptureServiceCallback$Stub;
+Landroid/service/contentcapture/IContentCaptureServiceCallback;
+Landroid/service/contentcapture/SnapshotData$1;
+Landroid/service/contentcapture/SnapshotData;
 Landroid/service/dreams/DreamManagerInternal;
 Landroid/service/dreams/IDreamManager$Stub$Proxy;
 Landroid/service/dreams/IDreamManager$Stub;
 Landroid/service/dreams/IDreamManager;
 Landroid/service/dreams/IDreamService$Stub$Proxy;
 Landroid/service/dreams/IDreamService$Stub;
-Landroid/service/dreams/IDreamService;
+Landroid/service/dreams/Sandman;
 Landroid/service/euicc/EuiccProfileInfo$1;
+Landroid/service/euicc/EuiccProfileInfo$Builder;
 Landroid/service/euicc/EuiccProfileInfo;
 Landroid/service/euicc/GetEuiccProfileInfoListResult$1;
 Landroid/service/euicc/GetEuiccProfileInfoListResult;
 Landroid/service/euicc/IEuiccService$Stub$Proxy;
 Landroid/service/euicc/IEuiccService$Stub;
 Landroid/service/euicc/IEuiccService;
+Landroid/service/euicc/IGetEidCallback$Stub;
+Landroid/service/euicc/IGetEidCallback;
 Landroid/service/euicc/IGetEuiccProfileInfoListCallback$Stub;
 Landroid/service/euicc/IGetEuiccProfileInfoListCallback;
 Landroid/service/gatekeeper/GateKeeperResponse$1;
@@ -57933,7 +48247,6 @@
 Landroid/service/media/IMediaBrowserServiceCallbacks$Stub;
 Landroid/service/media/IMediaBrowserServiceCallbacks;
 Landroid/service/media/MediaBrowserService$1;
-Landroid/service/media/MediaBrowserService$2;
 Landroid/service/media/MediaBrowserService$3;
 Landroid/service/media/MediaBrowserService$BrowserRoot;
 Landroid/service/media/MediaBrowserService$ConnectionRecord;
@@ -57960,6 +48273,9 @@
 Landroid/service/notification/IStatusBarNotificationHolder$Stub$Proxy;
 Landroid/service/notification/IStatusBarNotificationHolder$Stub;
 Landroid/service/notification/IStatusBarNotificationHolder;
+Landroid/service/notification/NotificationAssistantService$MyHandler;
+Landroid/service/notification/NotificationAssistantService$NotificationAssistantServiceWrapper;
+Landroid/service/notification/NotificationAssistantService;
 Landroid/service/notification/NotificationListenerService$MyHandler;
 Landroid/service/notification/NotificationListenerService$NotificationListenerWrapper;
 Landroid/service/notification/NotificationListenerService$Ranking;
@@ -57976,10 +48292,15 @@
 Landroid/service/notification/StatusBarNotification;
 Landroid/service/notification/ZenModeConfig$1;
 Landroid/service/notification/ZenModeConfig$Diff;
+Landroid/service/notification/ZenModeConfig$EventInfo;
 Landroid/service/notification/ZenModeConfig$ScheduleInfo;
 Landroid/service/notification/ZenModeConfig$ZenRule$1;
 Landroid/service/notification/ZenModeConfig$ZenRule;
 Landroid/service/notification/ZenModeConfig;
+Landroid/service/notification/ZenPolicy$1;
+Landroid/service/notification/ZenPolicy$Builder;
+Landroid/service/notification/ZenPolicy;
+Landroid/service/oemlock/IOemLockService$Stub$Proxy;
 Landroid/service/oemlock/IOemLockService$Stub;
 Landroid/service/oemlock/IOemLockService;
 Landroid/service/oemlock/OemLockManager;
@@ -57989,45 +48310,50 @@
 Landroid/service/persistentdata/PersistentDataBlockManager;
 Landroid/service/quicksettings/TileService;
 Landroid/service/resolver/IResolverRankerResult$Stub$Proxy;
-Landroid/service/resolver/IResolverRankerResult;
 Landroid/service/resolver/IResolverRankerService$Stub;
-Landroid/service/resolver/IResolverRankerService;
 Landroid/service/resolver/ResolverRankerService$ResolverRankerServiceWrapper$1;
+Landroid/service/resolver/ResolverRankerService$ResolverRankerServiceWrapper$2;
 Landroid/service/resolver/ResolverRankerService$ResolverRankerServiceWrapper;
 Landroid/service/resolver/ResolverRankerService;
 Landroid/service/resolver/ResolverTarget$1;
 Landroid/service/resolver/ResolverTarget;
-Landroid/service/restrictions/RestrictionsReceiver;
 Landroid/service/settings/suggestions/ISuggestionService$Stub$Proxy;
 Landroid/service/settings/suggestions/ISuggestionService$Stub;
 Landroid/service/settings/suggestions/ISuggestionService;
 Landroid/service/settings/suggestions/Suggestion$1;
-Landroid/service/settings/suggestions/Suggestion$Builder;
 Landroid/service/settings/suggestions/Suggestion;
-Landroid/service/settings/suggestions/SuggestionService$1;
-Landroid/service/settings/suggestions/SuggestionService;
+Landroid/service/textclassifier/IConversationActionsCallback$Stub$Proxy;
+Landroid/service/textclassifier/IConversationActionsCallback$Stub;
 Landroid/service/textclassifier/ITextClassificationCallback$Stub$Proxy;
 Landroid/service/textclassifier/ITextClassificationCallback$Stub;
-Landroid/service/textclassifier/ITextClassificationCallback;
 Landroid/service/textclassifier/ITextClassifierService$Stub$Proxy;
 Landroid/service/textclassifier/ITextClassifierService$Stub;
 Landroid/service/textclassifier/ITextClassifierService;
 Landroid/service/textclassifier/ITextLinksCallback$Stub$Proxy;
 Landroid/service/textclassifier/ITextLinksCallback$Stub;
-Landroid/service/textclassifier/ITextLinksCallback;
 Landroid/service/textclassifier/ITextSelectionCallback$Stub$Proxy;
-Landroid/service/textclassifier/ITextSelectionCallback;
+Landroid/service/textclassifier/ITextSelectionCallback$Stub;
 Landroid/service/textclassifier/TextClassifierService$1$1;
 Landroid/service/textclassifier/TextClassifierService$1$2;
 Landroid/service/textclassifier/TextClassifierService$1$3;
 Landroid/service/textclassifier/TextClassifierService$1;
-Landroid/service/textclassifier/TextClassifierService$Callback;
 Landroid/service/textclassifier/TextClassifierService;
+Landroid/service/textservice/SpellCheckerService$InternalISpellCheckerSession;
+Landroid/service/textservice/SpellCheckerService$SentenceLevelAdapter;
+Landroid/service/textservice/SpellCheckerService$Session;
+Landroid/service/textservice/SpellCheckerService$SpellCheckerServiceBinder;
+Landroid/service/textservice/SpellCheckerService;
 Landroid/service/trust/ITrustAgentService$Stub$Proxy;
 Landroid/service/trust/ITrustAgentService$Stub;
 Landroid/service/trust/ITrustAgentService;
+Landroid/service/trust/ITrustAgentServiceCallback$Stub$Proxy;
 Landroid/service/trust/ITrustAgentServiceCallback$Stub;
 Landroid/service/trust/ITrustAgentServiceCallback;
+Landroid/service/trust/TrustAgentService$1;
+Landroid/service/trust/TrustAgentService$ConfigurationData;
+Landroid/service/trust/TrustAgentService$TrustAgentServiceWrapper;
+Landroid/service/trust/TrustAgentService;
+Landroid/service/voice/-$$Lambda$SpnCJ0NiI1Uo14qQ5iHFyV2F2mY;
 Landroid/service/voice/AlwaysOnHotwordDetector$Callback;
 Landroid/service/voice/AlwaysOnHotwordDetector$EventPayload;
 Landroid/service/voice/AlwaysOnHotwordDetector$MyHandler;
@@ -58045,7 +48371,6 @@
 Landroid/service/voice/IVoiceInteractionSessionService;
 Landroid/service/voice/VoiceInteractionManagerInternal;
 Landroid/service/voice/VoiceInteractionService$1;
-Landroid/service/voice/VoiceInteractionService$MyHandler;
 Landroid/service/voice/VoiceInteractionService;
 Landroid/service/voice/VoiceInteractionServiceInfo;
 Landroid/service/voice/VoiceInteractionSession$2$1;
@@ -58055,7 +48380,6 @@
 Landroid/service/voice/VoiceInteractionSessionService$1;
 Landroid/service/voice/VoiceInteractionSessionService$2;
 Landroid/service/voice/VoiceInteractionSessionService;
-Landroid/service/vr/IPersistentVrStateCallbacks$Stub$Proxy;
 Landroid/service/vr/IPersistentVrStateCallbacks$Stub;
 Landroid/service/vr/IPersistentVrStateCallbacks;
 Landroid/service/vr/IVrManager$Stub$Proxy;
@@ -58064,9 +48388,6 @@
 Landroid/service/vr/IVrStateCallbacks$Stub$Proxy;
 Landroid/service/vr/IVrStateCallbacks$Stub;
 Landroid/service/vr/IVrStateCallbacks;
-Landroid/service/wallpaper/-$$Lambda$87Do-TfJA3qVM7QF6F_6BpQlQTA;
-Landroid/service/wallpaper/-$$Lambda$vsWBQpiXExY07tlrSzTqh4pNQAQ;
-Landroid/service/wallpaper/IWallpaperConnection$Stub$Proxy;
 Landroid/service/wallpaper/IWallpaperConnection$Stub;
 Landroid/service/wallpaper/IWallpaperConnection;
 Landroid/service/wallpaper/IWallpaperEngine$Stub$Proxy;
@@ -58075,45 +48396,29 @@
 Landroid/service/wallpaper/IWallpaperService$Stub$Proxy;
 Landroid/service/wallpaper/IWallpaperService$Stub;
 Landroid/service/wallpaper/IWallpaperService;
-Landroid/service/wallpaper/WallpaperService$Engine$1;
-Landroid/service/wallpaper/WallpaperService$Engine$2;
-Landroid/service/wallpaper/WallpaperService$Engine$3;
-Landroid/service/wallpaper/WallpaperService$Engine$WallpaperInputEventReceiver;
-Landroid/service/wallpaper/WallpaperService$Engine;
-Landroid/service/wallpaper/WallpaperService$IWallpaperEngineWrapper;
-Landroid/service/wallpaper/WallpaperService$IWallpaperServiceWrapper;
-Landroid/service/wallpaper/WallpaperService;
-Landroid/speech/tts/AudioPlaybackHandler$MessageLoop;
-Landroid/speech/tts/AudioPlaybackHandler;
-Landroid/speech/tts/ITextToSpeechCallback$Stub$Proxy;
 Landroid/speech/tts/ITextToSpeechCallback$Stub;
 Landroid/speech/tts/ITextToSpeechCallback;
 Landroid/speech/tts/ITextToSpeechService$Stub$Proxy;
-Landroid/speech/tts/ITextToSpeechService$Stub;
 Landroid/speech/tts/ITextToSpeechService;
-Landroid/speech/tts/TextToSpeech$10;
-Landroid/speech/tts/TextToSpeech$16;
 Landroid/speech/tts/TextToSpeech$1;
-Landroid/speech/tts/TextToSpeech$9;
 Landroid/speech/tts/TextToSpeech$Action;
 Landroid/speech/tts/TextToSpeech$Connection$SetupConnectionAsyncTask;
 Landroid/speech/tts/TextToSpeech$Connection;
+Landroid/speech/tts/TextToSpeech$EngineInfo;
 Landroid/speech/tts/TextToSpeech$OnInitListener;
 Landroid/speech/tts/TextToSpeech;
-Landroid/speech/tts/TextToSpeechService$1;
-Landroid/speech/tts/TextToSpeechService$CallbackMap;
-Landroid/speech/tts/TextToSpeechService$LoadVoiceItem;
-Landroid/speech/tts/TextToSpeechService$SpeechItem;
-Landroid/speech/tts/TextToSpeechService$SynthHandler$1;
-Landroid/speech/tts/TextToSpeechService$SynthHandler$2;
-Landroid/speech/tts/TextToSpeechService$SynthHandler;
-Landroid/speech/tts/TextToSpeechService$SynthThread;
-Landroid/speech/tts/TextToSpeechService;
 Landroid/speech/tts/TtsEngines$EngineInfoComparator;
 Landroid/speech/tts/TtsEngines;
 Landroid/speech/tts/UtteranceProgressListener;
-Landroid/speech/tts/Voice$1;
-Landroid/speech/tts/Voice;
+Landroid/stats/devicepolicy/nano/StringList;
+Landroid/sysprop/-$$Lambda$SetupWizardProperties$0Kz3pPj1bN4LsGiOMvxPbgDHtMI;
+Landroid/sysprop/AdbProperties;
+Landroid/sysprop/CryptoProperties$state_values;
+Landroid/sysprop/CryptoProperties$type_values;
+Landroid/sysprop/CryptoProperties;
+Landroid/sysprop/DisplayProperties;
+Landroid/sysprop/SetupWizardProperties;
+Landroid/sysprop/VoldProperties;
 Landroid/system/ErrnoException;
 Landroid/system/GaiException;
 Landroid/system/Int32Ref;
@@ -58142,21 +48447,23 @@
 Landroid/telecom/-$$Lambda$cyYWqCYT05eM23eLVm4oQ5DrYjw;
 Landroid/telecom/-$$Lambda$qa4s1Fm2YuohEunaJUJcmJXDXG0;
 Landroid/telecom/AudioState$1;
+Landroid/telecom/AudioState;
+Landroid/telecom/Call$10;
 Landroid/telecom/Call$1;
 Landroid/telecom/Call$4;
-Landroid/telecom/Call$6;
+Landroid/telecom/Call$5;
 Landroid/telecom/Call$8;
+Landroid/telecom/Call$9;
 Landroid/telecom/Call$Callback;
 Landroid/telecom/Call$Details;
 Landroid/telecom/Call;
 Landroid/telecom/CallAudioState$1;
 Landroid/telecom/CallAudioState;
+Landroid/telecom/CallIdentification;
 Landroid/telecom/CallbackRecord;
 Landroid/telecom/Conference$Listener;
+Landroid/telecom/Conferenceable;
 Landroid/telecom/Connection$Listener;
-Landroid/telecom/Connection$VideoProvider$VideoProviderBinder;
-Landroid/telecom/Connection$VideoProvider$VideoProviderHandler;
-Landroid/telecom/Connection$VideoProvider;
 Landroid/telecom/Connection;
 Landroid/telecom/ConnectionRequest$1;
 Landroid/telecom/ConnectionRequest$Builder;
@@ -58172,13 +48479,11 @@
 Landroid/telecom/DefaultDialerManager;
 Landroid/telecom/DisconnectCause$1;
 Landroid/telecom/DisconnectCause;
-Landroid/telecom/GatewayInfo$1;
 Landroid/telecom/GatewayInfo;
 Landroid/telecom/InCallAdapter;
 Landroid/telecom/InCallService$1;
 Landroid/telecom/InCallService$2;
 Landroid/telecom/InCallService$InCallServiceBinder;
-Landroid/telecom/InCallService$VideoCall;
 Landroid/telecom/InCallService;
 Landroid/telecom/Log;
 Landroid/telecom/Logging/-$$Lambda$L5F_SL2jOCUETYvgdB36aGwY50E;
@@ -58187,7 +48492,6 @@
 Landroid/telecom/Logging/EventManager$Event;
 Landroid/telecom/Logging/EventManager$EventListener;
 Landroid/telecom/Logging/EventManager$EventRecord;
-Landroid/telecom/Logging/EventManager$Loggable;
 Landroid/telecom/Logging/EventManager$TimedEventPair;
 Landroid/telecom/Logging/EventManager;
 Landroid/telecom/Logging/Runnable$1;
@@ -58200,30 +48504,67 @@
 Landroid/telecom/Logging/SessionManager$ISessionIdQueryHandler;
 Landroid/telecom/Logging/SessionManager$ISessionListener;
 Landroid/telecom/Logging/SessionManager;
-Landroid/telecom/Logging/TimedEvent;
 Landroid/telecom/ParcelableCall$1;
 Landroid/telecom/ParcelableCall;
 Landroid/telecom/ParcelableConnection$1;
 Landroid/telecom/ParcelableConnection;
+Landroid/telecom/ParcelableRttCall;
+Landroid/telecom/Phone$Listener;
 Landroid/telecom/Phone;
 Landroid/telecom/PhoneAccount$1;
 Landroid/telecom/PhoneAccount$Builder;
 Landroid/telecom/PhoneAccount;
 Landroid/telecom/PhoneAccountHandle$1;
 Landroid/telecom/PhoneAccountHandle;
-Landroid/telecom/Response;
+Landroid/telecom/PhoneAccountSuggestion$1;
+Landroid/telecom/StatusHints;
 Landroid/telecom/TelecomAnalytics$SessionTiming$1;
 Landroid/telecom/TelecomAnalytics$SessionTiming;
 Landroid/telecom/TelecomManager;
-Landroid/telecom/TimedEvent;
-Landroid/telecom/VideoCallImpl;
 Landroid/telecom/VideoProfile$1;
 Landroid/telecom/VideoProfile;
+Landroid/telephony/-$$Lambda$DataFailCause$djkZSxdG-s-w2L5rQKiGu6OudyY;
+Landroid/telephony/-$$Lambda$NetworkRegistrationState$MY0wf-eVvu0WTjQPhz4q6-fsftE;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$0s34qsuHFsa43jUHrTkD62ni6Ds;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$1M3m0i6211i2YjWyTDT7l0bJm3I;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2VMO21pFQN-JN3kpn6vQN1zPFEU;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$2cMrwdqnKBpixpApeIX38rmRLak;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$4NHt5Shg_DHV-T1IxfcQLHP5-j0;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$6czWSGzxct0CXPVO54T0aq05qls;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Hbn6-eZxY2p3rjOfStodI04A8E8;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$JalixlMNdjktPsNntP_JT9pymhs;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$Q2A8FgYlU8_D6PD78tThGut_rTc;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$TqrkuLPlaG_ucU7VbLS4tnf8hG8;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$WYWtWHdkZDxBd9anjoxyZozPWHc;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$XyayAGWQZC2dNjwr697SfSGBBOc;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$aysbwPqxcLV_5w6LP0TzZu2D-ew;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$bELzxgwsPigyVKYkAXBO2BjcSm8;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$dUc3j82sK9P9Zpaq-91n9bk_Rpc;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$nrGqSRBJrc3_EwotCDNwfKeizIo;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$oDAZqs8paeefe_3k_uRKV5plQW4;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$okPCYOx4UxYuvUHlM2iS425QGIg;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$uC5syhzl229gIpaK7Jfs__OCJxQ;
+Landroid/telephony/-$$Lambda$PhoneStateListener$IPhoneStateListenerStub$yvQnAlFGg5EWDG2vcA9X-4xnalA;
+Landroid/telephony/-$$Lambda$SubscriptionManager$R_uORt9bKcmEo6JnjiGP2KgjIOQ;
+Landroid/telephony/-$$Lambda$SubscriptionManager$qcglJCo4L0Y9DbgvAEAt3aTzeBA;
+Landroid/telephony/-$$Lambda$dEMZMUrqWN6nVE0rJSGuugWWoYI;
+Landroid/telephony/AccessNetworkConstants$TransportType;
 Landroid/telephony/AccessNetworkUtils;
+Landroid/telephony/CallAttributes$1;
+Landroid/telephony/CallAttributes;
+Landroid/telephony/CallQuality$1;
+Landroid/telephony/CallQuality;
+Landroid/telephony/CarrierConfigManager$Gps;
 Landroid/telephony/CarrierConfigManager;
+Landroid/telephony/CarrierMessagingServiceManager$CarrierMessagingServiceConnection;
+Landroid/telephony/CarrierMessagingServiceManager;
+Landroid/telephony/CarrierRestrictionRules$1;
+Landroid/telephony/CarrierRestrictionRules$Builder;
+Landroid/telephony/CarrierRestrictionRules;
+Landroid/telephony/CellConfigLte$1;
+Landroid/telephony/CellConfigLte;
 Landroid/telephony/CellIdentity$1;
 Landroid/telephony/CellIdentity;
-Landroid/telephony/CellIdentityCdma$1;
 Landroid/telephony/CellIdentityCdma;
 Landroid/telephony/CellIdentityGsm$1;
 Landroid/telephony/CellIdentityGsm;
@@ -58233,7 +48574,6 @@
 Landroid/telephony/CellIdentityWcdma;
 Landroid/telephony/CellInfo$1;
 Landroid/telephony/CellInfo;
-Landroid/telephony/CellInfoCdma$1;
 Landroid/telephony/CellInfoCdma;
 Landroid/telephony/CellInfoGsm$1;
 Landroid/telephony/CellInfoGsm;
@@ -58249,22 +48589,41 @@
 Landroid/telephony/CellSignalStrengthGsm;
 Landroid/telephony/CellSignalStrengthLte$1;
 Landroid/telephony/CellSignalStrengthLte;
+Landroid/telephony/CellSignalStrengthNr$1;
+Landroid/telephony/CellSignalStrengthNr;
+Landroid/telephony/CellSignalStrengthTdscdma$1;
+Landroid/telephony/CellSignalStrengthTdscdma;
 Landroid/telephony/CellSignalStrengthWcdma$1;
 Landroid/telephony/CellSignalStrengthWcdma;
 Landroid/telephony/ClientRequestStats$1;
 Landroid/telephony/ClientRequestStats;
+Landroid/telephony/DataFailCause$1;
+Landroid/telephony/DataFailCause;
 Landroid/telephony/DataSpecificRegistrationStates$1;
 Landroid/telephony/DataSpecificRegistrationStates;
+Landroid/telephony/DebugEventReporter;
 Landroid/telephony/DisconnectCause;
+Landroid/telephony/ICellInfoCallback;
 Landroid/telephony/INetworkService$Stub;
 Landroid/telephony/INetworkService;
 Landroid/telephony/INetworkServiceCallback$Stub;
 Landroid/telephony/INetworkServiceCallback;
 Landroid/telephony/IccOpenLogicalChannelResponse$1;
 Landroid/telephony/IccOpenLogicalChannelResponse;
+Landroid/telephony/ImsiEncryptionInfo$1;
+Landroid/telephony/ImsiEncryptionInfo;
+Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery$Builder;
+Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;
+Landroid/telephony/LocationAccessPolicy$LocationPermissionResult;
 Landroid/telephony/LocationAccessPolicy;
+Landroid/telephony/LteVopsSupportInfo$1;
+Landroid/telephony/LteVopsSupportInfo;
 Landroid/telephony/ModemActivityInfo$1;
 Landroid/telephony/ModemActivityInfo;
+Landroid/telephony/ModemInfo$1;
+Landroid/telephony/ModemInfo;
+Landroid/telephony/NeighboringCellInfo$1;
+Landroid/telephony/NeighboringCellInfo;
 Landroid/telephony/NetworkRegistrationState$1;
 Landroid/telephony/NetworkRegistrationState;
 Landroid/telephony/NetworkScanRequest;
@@ -58273,11 +48632,18 @@
 Landroid/telephony/NetworkService$NetworkServiceProvider;
 Landroid/telephony/NetworkService;
 Landroid/telephony/NetworkServiceCallback;
+Landroid/telephony/PcoData$1;
+Landroid/telephony/PcoData;
+Landroid/telephony/PhoneCapability$1;
+Landroid/telephony/PhoneCapability;
 Landroid/telephony/PhoneNumberFormattingTextWatcher;
+Landroid/telephony/PhoneNumberRange;
 Landroid/telephony/PhoneNumberUtils;
-Landroid/telephony/PhoneStateListener$1;
 Landroid/telephony/PhoneStateListener$IPhoneStateListenerStub;
 Landroid/telephony/PhoneStateListener;
+Landroid/telephony/PhysicalChannelConfig$1;
+Landroid/telephony/PhysicalChannelConfig$Builder;
+Landroid/telephony/PhysicalChannelConfig;
 Landroid/telephony/PreciseCallState$1;
 Landroid/telephony/PreciseCallState;
 Landroid/telephony/PreciseDataConnectionState$1;
@@ -58289,10 +48655,18 @@
 Landroid/telephony/ServiceState;
 Landroid/telephony/SignalStrength$1;
 Landroid/telephony/SignalStrength;
+Landroid/telephony/SmsCbCmasInfo$1;
+Landroid/telephony/SmsCbCmasInfo;
+Landroid/telephony/SmsCbLocation$1;
+Landroid/telephony/SmsCbLocation;
+Landroid/telephony/SmsCbMessage$1;
+Landroid/telephony/SmsCbMessage;
 Landroid/telephony/SmsManager;
+Landroid/telephony/SmsMessage$MessageClass;
 Landroid/telephony/SmsMessage;
 Landroid/telephony/SubscriptionInfo$1;
 Landroid/telephony/SubscriptionInfo;
+Landroid/telephony/SubscriptionManager$OnOpportunisticSubscriptionsChangedListener;
 Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener$1;
 Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener$OnSubscriptionsChangedListenerHandler;
 Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;
@@ -58300,23 +48674,32 @@
 Landroid/telephony/SubscriptionPlan$1;
 Landroid/telephony/TelephonyHistogram$1;
 Landroid/telephony/TelephonyHistogram;
-Landroid/telephony/TelephonyManager$2;
+Landroid/telephony/TelephonyManager$5;
 Landroid/telephony/TelephonyManager$MultiSimVariants;
 Landroid/telephony/TelephonyManager;
+Landroid/telephony/TelephonyScanManager$NetworkScanCallback;
 Landroid/telephony/UiccAccessRule$1;
 Landroid/telephony/UiccAccessRule;
+Landroid/telephony/UiccCardInfo$1;
+Landroid/telephony/UiccCardInfo;
+Landroid/telephony/UiccSlotInfo$1;
 Landroid/telephony/UiccSlotInfo;
+Landroid/telephony/UssdResponse;
+Landroid/telephony/VisualVoicemailService$1;
+Landroid/telephony/VisualVoicemailService$VisualVoicemailTask;
+Landroid/telephony/VisualVoicemailService;
 Landroid/telephony/VisualVoicemailSms$1;
 Landroid/telephony/VisualVoicemailSms$Builder;
 Landroid/telephony/VisualVoicemailSms;
 Landroid/telephony/VisualVoicemailSmsFilterSettings$1;
 Landroid/telephony/VisualVoicemailSmsFilterSettings$Builder;
 Landroid/telephony/VisualVoicemailSmsFilterSettings;
-Landroid/telephony/VoLteServiceState$1;
-Landroid/telephony/VoLteServiceState;
 Landroid/telephony/VoiceSpecificRegistrationStates$1;
 Landroid/telephony/VoiceSpecificRegistrationStates;
 Landroid/telephony/cdma/CdmaCellLocation;
+Landroid/telephony/data/ApnSetting$1;
+Landroid/telephony/data/ApnSetting$Builder;
+Landroid/telephony/data/ApnSetting;
 Landroid/telephony/data/DataCallResponse$1;
 Landroid/telephony/data/DataCallResponse;
 Landroid/telephony/data/DataProfile$1;
@@ -58324,7 +48707,9 @@
 Landroid/telephony/data/DataService$DataCallListChangedIndication;
 Landroid/telephony/data/DataService$DataServiceHandler;
 Landroid/telephony/data/DataService$DataServiceProvider;
+Landroid/telephony/data/DataService$DeactivateDataCallRequest;
 Landroid/telephony/data/DataService$IDataServiceWrapper;
+Landroid/telephony/data/DataService$SetDataProfileRequest;
 Landroid/telephony/data/DataService$SetInitialAttachApnRequest;
 Landroid/telephony/data/DataService$SetupDataCallRequest;
 Landroid/telephony/data/DataService;
@@ -58333,24 +48718,64 @@
 Landroid/telephony/data/IDataService;
 Landroid/telephony/data/IDataServiceCallback$Stub;
 Landroid/telephony/data/IDataServiceCallback;
+Landroid/telephony/emergency/EmergencyNumber$1;
+Landroid/telephony/emergency/EmergencyNumber;
 Landroid/telephony/euicc/EuiccCardManager;
 Landroid/telephony/euicc/EuiccManager;
 Landroid/telephony/gsm/GsmCellLocation;
+Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$CapabilityCallback$CapabilityBinder$4YNlUy9HsD02E7Sbv2VeVtbao08;
+Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$CapabilityCallback$CapabilityBinder$gK2iK9ZQ3GDeuMTfhRd7yjiYlO8;
+Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$8xq93ap6i0L56Aegaj-ZEUt9ISc;
+Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$AhnK6VJjwgpDNC1GXRrwfgtYvkM;
+Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$F58PRHsH__07pmyvC0NTRprfEPU;
+Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$J4VhgcUtd6SivHcdkzpurbTuyLc;
+Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$iuI3HyNU5eUABA_QRyzQ8Jw2-8g;
+Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$jAP4lCkBQEdyrlgt5jaNPTlFXlY;
+Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$oDp7ilyKfflFThUCP4Du9EYoDoQ;
+Landroid/telephony/ims/-$$Lambda$ImsMmTelManager$RegistrationCallback$RegistrationBinder$q0Uz23ATIYan5EBJYUigIVvwE3g;
+Landroid/telephony/ims/-$$Lambda$ProvisioningManager$Callback$CallbackBinder$R_8jXQuOM7aV7dIwYBzcWwV-YpM;
+Landroid/telephony/ims/-$$Lambda$ProvisioningManager$Callback$CallbackBinder$rMBayJlNIko46WAqcRq_ggxbfrY;
 Landroid/telephony/ims/ImsCallProfile$1;
 Landroid/telephony/ims/ImsCallProfile;
 Landroid/telephony/ims/ImsCallSession$IImsCallSessionListenerProxy;
 Landroid/telephony/ims/ImsCallSession$State;
 Landroid/telephony/ims/ImsCallSession;
+Landroid/telephony/ims/ImsCallSessionListener;
+Landroid/telephony/ims/ImsException;
+Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback$CapabilityBinder;
+Landroid/telephony/ims/ImsMmTelManager$CapabilityCallback;
+Landroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder$1;
+Landroid/telephony/ims/ImsMmTelManager$RegistrationCallback$RegistrationBinder;
+Landroid/telephony/ims/ImsMmTelManager$RegistrationCallback;
+Landroid/telephony/ims/ImsMmTelManager;
 Landroid/telephony/ims/ImsReasonInfo$1;
 Landroid/telephony/ims/ImsReasonInfo;
+Landroid/telephony/ims/ImsService$1;
 Landroid/telephony/ims/ImsService$Listener;
+Landroid/telephony/ims/ImsService;
 Landroid/telephony/ims/ImsStreamMediaProfile$1;
 Landroid/telephony/ims/ImsStreamMediaProfile;
 Landroid/telephony/ims/ImsUtListener;
-Landroid/telephony/ims/ImsVideoCallProvider$1;
-Landroid/telephony/ims/ImsVideoCallProvider$ImsVideoCallProviderBinder;
-Landroid/telephony/ims/ImsVideoCallProvider;
-Landroid/telephony/ims/aidl/IImsCallSessionListener;
+Landroid/telephony/ims/ProvisioningManager$Callback$CallbackBinder;
+Landroid/telephony/ims/ProvisioningManager$Callback;
+Landroid/telephony/ims/RcsEventQueryParameters$Builder;
+Landroid/telephony/ims/RcsEventQueryParameters;
+Landroid/telephony/ims/RcsEventQueryParams$Builder;
+Landroid/telephony/ims/RcsEventQueryParams;
+Landroid/telephony/ims/RcsManager;
+Landroid/telephony/ims/RcsMessageQueryParameters$Builder;
+Landroid/telephony/ims/RcsMessageQueryParameters;
+Landroid/telephony/ims/RcsMessageQueryParams$Builder;
+Landroid/telephony/ims/RcsMessageQueryParams;
+Landroid/telephony/ims/RcsParticipantQueryParameters$Builder;
+Landroid/telephony/ims/RcsParticipantQueryParameters;
+Landroid/telephony/ims/RcsParticipantQueryParams$Builder;
+Landroid/telephony/ims/RcsParticipantQueryParams;
+Landroid/telephony/ims/RcsQueryContinuationToken;
+Landroid/telephony/ims/RcsThreadQueryParameters$Builder;
+Landroid/telephony/ims/RcsThreadQueryParameters;
+Landroid/telephony/ims/RcsThreadQueryParams$Builder;
+Landroid/telephony/ims/RcsThreadQueryParams;
 Landroid/telephony/ims/aidl/IImsCapabilityCallback$Stub$Proxy;
 Landroid/telephony/ims/aidl/IImsCapabilityCallback$Stub;
 Landroid/telephony/ims/aidl/IImsCapabilityCallback;
@@ -58364,6 +48789,7 @@
 Landroid/telephony/ims/aidl/IImsMmTelFeature;
 Landroid/telephony/ims/aidl/IImsMmTelListener$Stub;
 Landroid/telephony/ims/aidl/IImsMmTelListener;
+Landroid/telephony/ims/aidl/IImsRcsFeature$Stub;
 Landroid/telephony/ims/aidl/IImsRcsFeature;
 Landroid/telephony/ims/aidl/IImsRegistration$Stub$Proxy;
 Landroid/telephony/ims/aidl/IImsRegistration$Stub;
@@ -58371,25 +48797,19 @@
 Landroid/telephony/ims/aidl/IImsRegistrationCallback$Stub$Proxy;
 Landroid/telephony/ims/aidl/IImsRegistrationCallback$Stub;
 Landroid/telephony/ims/aidl/IImsRegistrationCallback;
+Landroid/telephony/ims/aidl/IImsServiceController$Stub$Proxy;
+Landroid/telephony/ims/aidl/IImsServiceController$Stub;
+Landroid/telephony/ims/aidl/IImsServiceController;
 Landroid/telephony/ims/aidl/IImsServiceControllerListener$Stub;
 Landroid/telephony/ims/aidl/IImsServiceControllerListener;
 Landroid/telephony/ims/aidl/IImsSmsListener$Stub;
 Landroid/telephony/ims/aidl/IImsSmsListener;
-Landroid/telephony/ims/compat/ImsService$1;
-Landroid/telephony/ims/compat/ImsService;
-Landroid/telephony/ims/compat/feature/ImsFeature;
-Landroid/telephony/ims/compat/feature/MMTelFeature$1;
-Landroid/telephony/ims/compat/feature/MMTelFeature;
-Landroid/telephony/ims/compat/feature/RcsFeature;
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase$ImsCallSessionListenerConverter;
-Landroid/telephony/ims/compat/stub/ImsCallSessionImplBase;
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase$ImsConfigStub;
-Landroid/telephony/ims/compat/stub/ImsConfigImplBase;
+Landroid/telephony/ims/aidl/IRcs$Stub;
+Landroid/telephony/ims/aidl/IRcs;
 Landroid/telephony/ims/feature/CapabilityChangeRequest$1;
 Landroid/telephony/ims/feature/CapabilityChangeRequest$CapabilityPair;
 Landroid/telephony/ims/feature/CapabilityChangeRequest;
 Landroid/telephony/ims/feature/ImsFeature$Capabilities;
-Landroid/telephony/ims/feature/ImsFeature$CapabilityCallback;
 Landroid/telephony/ims/feature/ImsFeature$CapabilityCallbackProxy;
 Landroid/telephony/ims/feature/ImsFeature;
 Landroid/telephony/ims/feature/MmTelFeature$1;
@@ -58401,21 +48821,22 @@
 Landroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$s7PspXVbCf1Q_WSzodP2glP9TjI;
 Landroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$sbjuTvW-brOSWMR74UInSZEIQB0;
 Landroid/telephony/ims/stub/-$$Lambda$ImsRegistrationImplBase$wwtkoeOtGwMjG5I0-ZTfjNpGU-s;
-Landroid/telephony/ims/stub/ImsConfigImplBase$Callback;
+Landroid/telephony/ims/stub/ImsCallSessionImplBase$1;
+Landroid/telephony/ims/stub/ImsCallSessionImplBase;
 Landroid/telephony/ims/stub/ImsConfigImplBase$ImsConfigStub;
 Landroid/telephony/ims/stub/ImsConfigImplBase;
 Landroid/telephony/ims/stub/ImsEcbmImplBase$1;
 Landroid/telephony/ims/stub/ImsEcbmImplBase;
+Landroid/telephony/ims/stub/ImsFeatureConfiguration$1;
 Landroid/telephony/ims/stub/ImsFeatureConfiguration$FeatureSlotPair;
+Landroid/telephony/ims/stub/ImsFeatureConfiguration;
 Landroid/telephony/ims/stub/ImsMultiEndpointImplBase$1;
 Landroid/telephony/ims/stub/ImsMultiEndpointImplBase;
 Landroid/telephony/ims/stub/ImsRegistrationImplBase$1;
-Landroid/telephony/ims/stub/ImsRegistrationImplBase$Callback;
 Landroid/telephony/ims/stub/ImsRegistrationImplBase;
 Landroid/telephony/ims/stub/ImsSmsImplBase;
 Landroid/telephony/ims/stub/ImsUtImplBase$1;
 Landroid/telephony/ims/stub/ImsUtImplBase;
-Landroid/text/-$$Lambda$Layout$MzjK2UE2G8VG0asK8_KWY3gHAmY;
 Landroid/text/AndroidBidi$EmojiBidiOverride;
 Landroid/text/AndroidBidi;
 Landroid/text/AndroidCharacter;
@@ -58445,11 +48866,7 @@
 Landroid/text/Html$HtmlParser;
 Landroid/text/Html$TagHandler;
 Landroid/text/Html;
-Landroid/text/HtmlToSpannedConverter$Background;
-Landroid/text/HtmlToSpannedConverter$Bold;
-Landroid/text/HtmlToSpannedConverter$Foreground;
 Landroid/text/HtmlToSpannedConverter$Href;
-Landroid/text/HtmlToSpannedConverter$Strikethrough;
 Landroid/text/HtmlToSpannedConverter;
 Landroid/text/Hyphenator;
 Landroid/text/InputFilter$LengthFilter;
@@ -58459,9 +48876,8 @@
 Landroid/text/Layout$Alignment;
 Landroid/text/Layout$Directions;
 Landroid/text/Layout$Ellipsizer;
-Landroid/text/Layout$SelectionRectangleConsumer;
+Landroid/text/Layout$HorizontalMeasurementProvider;
 Landroid/text/Layout$SpannedEllipsizer;
-Landroid/text/Layout$TabStops;
 Landroid/text/Layout;
 Landroid/text/MeasuredParagraph;
 Landroid/text/NoCopySpan$Concrete;
@@ -58505,6 +48921,7 @@
 Landroid/text/TextUtils$EllipsizeCallback;
 Landroid/text/TextUtils$SimpleStringSplitter;
 Landroid/text/TextUtils$StringSplitter;
+Landroid/text/TextUtils$StringWithRemovedChars;
 Landroid/text/TextUtils$TruncateAt;
 Landroid/text/TextUtils;
 Landroid/text/TextWatcher;
@@ -58517,7 +48934,6 @@
 Landroid/text/format/TimeFormatter;
 Landroid/text/method/AllCapsTransformationMethod;
 Landroid/text/method/ArrowKeyMovementMethod;
-Landroid/text/method/BaseKeyListener$1;
 Landroid/text/method/BaseKeyListener;
 Landroid/text/method/BaseMovementMethod;
 Landroid/text/method/DialerKeyListener;
@@ -58528,7 +48944,6 @@
 Landroid/text/method/MovementMethod;
 Landroid/text/method/NumberKeyListener;
 Landroid/text/method/PasswordTransformationMethod$PasswordCharSequence;
-Landroid/text/method/PasswordTransformationMethod$ViewReference;
 Landroid/text/method/PasswordTransformationMethod$Visible;
 Landroid/text/method/PasswordTransformationMethod;
 Landroid/text/method/QwertyKeyListener;
@@ -58545,10 +48960,8 @@
 Landroid/text/method/TransformationMethod;
 Landroid/text/method/WordIterator;
 Landroid/text/style/AbsoluteSizeSpan;
-Landroid/text/style/AlignmentSpan$Standard;
 Landroid/text/style/AlignmentSpan;
 Landroid/text/style/BackgroundColorSpan;
-Landroid/text/style/CharacterStyle$Passthrough;
 Landroid/text/style/CharacterStyle;
 Landroid/text/style/ClickableSpan;
 Landroid/text/style/DynamicDrawableSpan;
@@ -58558,13 +48971,13 @@
 Landroid/text/style/LeadingMarginSpan;
 Landroid/text/style/LineBackgroundSpan;
 Landroid/text/style/LineHeightSpan;
-Landroid/text/style/MetricAffectingSpan$Passthrough;
+Landroid/text/style/LocaleSpan;
 Landroid/text/style/MetricAffectingSpan;
 Landroid/text/style/ParagraphStyle;
 Landroid/text/style/RelativeSizeSpan;
 Landroid/text/style/ReplacementSpan;
+Landroid/text/style/ScaleXSpan;
 Landroid/text/style/SpellCheckSpan;
-Landroid/text/style/StrikethroughSpan;
 Landroid/text/style/StyleSpan;
 Landroid/text/style/SuggestionSpan$1;
 Landroid/text/style/SuggestionSpan;
@@ -58572,26 +48985,26 @@
 Landroid/text/style/TabStopSpan;
 Landroid/text/style/TextAppearanceSpan;
 Landroid/text/style/TtsSpan$Builder;
+Landroid/text/style/TtsSpan$MeasureBuilder;
 Landroid/text/style/TtsSpan$SemioticClassBuilder;
 Landroid/text/style/TtsSpan$TelephoneBuilder;
+Landroid/text/style/TtsSpan$TextBuilder;
 Landroid/text/style/TtsSpan$VerbatimBuilder;
 Landroid/text/style/TtsSpan;
-Landroid/text/style/TypefaceSpan;
 Landroid/text/style/URLSpan;
 Landroid/text/style/UnderlineSpan;
 Landroid/text/style/UpdateAppearance;
 Landroid/text/style/UpdateLayout;
 Landroid/text/style/WrapTogetherSpan;
+Landroid/text/util/-$$Lambda$Linkify$7J_-cMhIF2bcttjkxA2jDFP8sKw;
 Landroid/text/util/Linkify$1;
 Landroid/text/util/Linkify$2;
 Landroid/text/util/Linkify$3;
-Landroid/text/util/Linkify$4;
 Landroid/text/util/Linkify$MatchFilter;
 Landroid/text/util/Linkify$TransformFilter;
 Landroid/text/util/Linkify;
 Landroid/text/util/Rfc822Token;
 Landroid/text/util/Rfc822Tokenizer;
-Landroid/transition/ArcMotion;
 Landroid/transition/AutoTransition;
 Landroid/transition/ChangeBounds$1;
 Landroid/transition/ChangeBounds$2;
@@ -58599,9 +49012,6 @@
 Landroid/transition/ChangeBounds$4;
 Landroid/transition/ChangeBounds$5;
 Landroid/transition/ChangeBounds$6;
-Landroid/transition/ChangeBounds$7;
-Landroid/transition/ChangeBounds$8;
-Landroid/transition/ChangeBounds$ViewBounds;
 Landroid/transition/ChangeBounds;
 Landroid/transition/ChangeClipBounds;
 Landroid/transition/ChangeImageTransform$1;
@@ -58609,13 +49019,7 @@
 Landroid/transition/ChangeImageTransform;
 Landroid/transition/ChangeTransform$1;
 Landroid/transition/ChangeTransform$2;
-Landroid/transition/ChangeTransform$3;
-Landroid/transition/ChangeTransform$GhostListener;
-Landroid/transition/ChangeTransform$PathAnimatorMatrix;
-Landroid/transition/ChangeTransform$Transforms;
 Landroid/transition/ChangeTransform;
-Landroid/transition/CircularPropagation;
-Landroid/transition/Explode;
 Landroid/transition/Fade$1;
 Landroid/transition/Fade$FadeAnimatorListener;
 Landroid/transition/Fade;
@@ -58633,20 +49037,14 @@
 Landroid/transition/TransitionManager$MultiListener$1;
 Landroid/transition/TransitionManager$MultiListener;
 Landroid/transition/TransitionManager;
-Landroid/transition/TransitionPropagation;
 Landroid/transition/TransitionSet$TransitionSetListener;
 Landroid/transition/TransitionSet;
-Landroid/transition/TransitionUtils$MatrixEvaluator;
 Landroid/transition/TransitionUtils;
 Landroid/transition/TransitionValues;
 Landroid/transition/TransitionValuesMaps;
-Landroid/transition/TranslationAnimationCreator$TransitionPositionListener;
-Landroid/transition/TranslationAnimationCreator;
-Landroid/transition/Visibility$1;
 Landroid/transition/Visibility$DisappearListener;
 Landroid/transition/Visibility$VisibilityInfo;
 Landroid/transition/Visibility;
-Landroid/transition/VisibilityPropagation;
 Landroid/util/AndroidException;
 Landroid/util/AndroidRuntimeException;
 Landroid/util/ArrayMap$1;
@@ -58655,12 +49053,11 @@
 Landroid/util/ArraySet;
 Landroid/util/AtomicFile;
 Landroid/util/AttributeSet;
-Landroid/util/BackupUtils;
 Landroid/util/Base64$Coder;
 Landroid/util/Base64$Decoder;
 Landroid/util/Base64$Encoder;
 Landroid/util/Base64;
-Landroid/util/Base64InputStream;
+Landroid/util/Base64OutputStream;
 Landroid/util/ByteStringUtils;
 Landroid/util/ContainerHelpers;
 Landroid/util/DataUnit$1;
@@ -58686,10 +49083,14 @@
 Landroid/util/JsonReader;
 Landroid/util/JsonScope;
 Landroid/util/JsonToken;
-Landroid/util/JsonWriter$1;
 Landroid/util/JsonWriter;
+Landroid/util/KeyValueListParser$IntValue;
 Landroid/util/KeyValueListParser;
 Landroid/util/KeyValueSettingObserver;
+Landroid/util/LauncherIcons$ShadowDrawable$MyConstantState;
+Landroid/util/LauncherIcons$ShadowDrawable;
+Landroid/util/LauncherIcons;
+Landroid/util/LocalLog$ReadOnlyLocalLog;
 Landroid/util/LocalLog;
 Landroid/util/Log$1;
 Landroid/util/Log$ImmediateLogWriter;
@@ -58699,6 +49100,7 @@
 Landroid/util/Log;
 Landroid/util/LogPrinter;
 Landroid/util/LongArray;
+Landroid/util/LongArrayQueue;
 Landroid/util/LongSparseArray;
 Landroid/util/LongSparseLongArray;
 Landroid/util/LruCache;
@@ -58725,6 +49127,8 @@
 Landroid/util/Pools$Pool;
 Landroid/util/Pools$SimplePool;
 Landroid/util/Pools$SynchronizedPool;
+Landroid/util/PrefixPrinter;
+Landroid/util/PrintWriterPrinter;
 Landroid/util/Printer;
 Landroid/util/Property;
 Landroid/util/Range;
@@ -58751,14 +49155,15 @@
 Landroid/util/TimeFormatException;
 Landroid/util/TimeUtils;
 Landroid/util/TimedRemoteCaller;
+Landroid/util/TimestampedValue;
 Landroid/util/TimingLogger;
 Landroid/util/TimingsTraceLog;
 Landroid/util/TrustedTime;
 Landroid/util/TypedValue;
 Landroid/util/Xml$Encoding;
-Landroid/util/Xml$XmlSerializerFactory;
 Landroid/util/Xml;
 Landroid/util/XmlPullAttributes;
+Landroid/util/apk/ApkSignatureSchemeV2Verifier$VerifiedSigner;
 Landroid/util/apk/ApkSignatureSchemeV2Verifier;
 Landroid/util/apk/ApkSignatureSchemeV3Verifier$PlatformNotSupportedException;
 Landroid/util/apk/ApkSignatureSchemeV3Verifier$VerifiedSigner;
@@ -58767,29 +49172,55 @@
 Landroid/util/apk/ApkSigningBlockUtils$1;
 Landroid/util/apk/ApkSigningBlockUtils$MultipleDigestDataDigester;
 Landroid/util/apk/ApkSigningBlockUtils;
-Landroid/util/apk/ApkVerityBuilder$BufferedDigester;
-Landroid/util/apk/ApkVerityBuilder;
 Landroid/util/apk/ByteBufferDataSource;
 Landroid/util/apk/ByteBufferFactory;
 Landroid/util/apk/DataDigester;
+Landroid/util/apk/DataSource;
 Landroid/util/apk/MemoryMappedFileDataSource;
 Landroid/util/apk/SignatureInfo;
 Landroid/util/apk/SignatureNotFoundException;
 Landroid/util/apk/VerbatimX509Certificate;
+Landroid/util/apk/VerityBuilder$BufferedDigester;
+Landroid/util/apk/VerityBuilder$VerityResult;
+Landroid/util/apk/VerityBuilder;
 Landroid/util/apk/WrappedX509Certificate;
 Landroid/util/apk/ZipUtils;
+Landroid/util/jar/StrictJarFile$EntryIterator;
+Landroid/util/jar/StrictJarFile$FDStream;
+Landroid/util/jar/StrictJarFile$JarFileInputStream;
+Landroid/util/jar/StrictJarFile$ZipInflaterInputStream;
 Landroid/util/jar/StrictJarFile;
+Landroid/util/jar/StrictJarManifest$Chunk;
+Landroid/util/jar/StrictJarManifest;
+Landroid/util/jar/StrictJarManifestReader;
+Landroid/util/jar/StrictJarVerifier$VerifierEntry;
+Landroid/util/jar/StrictJarVerifier;
 Landroid/util/proto/EncodedBuffer;
 Landroid/util/proto/ProtoInputStream;
 Landroid/util/proto/ProtoOutputStream;
+Landroid/util/proto/ProtoParseException;
+Landroid/util/proto/ProtoStream;
+Landroid/util/proto/WireTypeMismatchException;
+Landroid/view/-$$Lambda$1kvF4JuyM42-wmyDVPAIYdPz1jE;
+Landroid/view/-$$Lambda$9vBfnQOmNnsc9WU80IIatZHQGKc;
 Landroid/view/-$$Lambda$FocusFinder$FocusSorter$h0f2ZYL6peSaaEeCCkAoYs_YZvU;
 Landroid/view/-$$Lambda$FocusFinder$FocusSorter$kW7K1t9q7Y62V38r-7g6xRzqqq8;
 Landroid/view/-$$Lambda$FocusFinder$P8rLvOJhymJH5ALAgUjGaM5gxKA;
 Landroid/view/-$$Lambda$FocusFinder$Pgx6IETuqCkrhJYdiBes48tolG4;
+Landroid/view/-$$Lambda$InsetsController$Cj7UJrCkdHvJAZ_cYKrXuTMsjz8;
+Landroid/view/-$$Lambda$InsetsController$HI9QZ2HvGm6iykc-WONz2KPG61Q;
 Landroid/view/-$$Lambda$QI1s392qW8l6mC24bcy9050SkuY;
 Landroid/view/-$$Lambda$SurfaceView$Cs7TGTdA1lXf9qW8VOJAfEsMjdk;
 Landroid/view/-$$Lambda$SurfaceView$SyyzxOgxKwZMRgiiTGcRYbOU5JY;
+Landroid/view/-$$Lambda$View$A0LekHe1fit5nWjyiKYSPIDnz5s;
+Landroid/view/-$$Lambda$View$bi97MYLRwqXHvsmiSsRm1NDg5cs;
 Landroid/view/-$$Lambda$View$llq76MkPXP4bNcb9oJt_msw0fnQ;
+Landroid/view/-$$Lambda$ViewGroup$ViewLocationHolder$AjKvqdj7SGGIzA5qrlZUuu71jl8;
+Landroid/view/-$$Lambda$ViewGroup$ViewLocationHolder$QbO7cM0ULKe25a7bfXG3VH6DB0c;
+Landroid/view/-$$Lambda$ViewRootImpl$8LXNw0T1oRRsSniI0IMc8JUNWLo;
+Landroid/view/-$$Lambda$ViewRootImpl$SOWCXD2hcuOyPEUFjoV8YFVJB34;
+Landroid/view/-$$Lambda$ViewRootImpl$x5nGsJmfMGl8jXdwWgDuOQZdxR8;
+Landroid/view/-$$Lambda$cZhmLzK8aetUdx4VlP9w5jR7En0;
 Landroid/view/AbsSavedState$1;
 Landroid/view/AbsSavedState$2;
 Landroid/view/AbsSavedState;
@@ -58800,10 +49231,8 @@
 Landroid/view/ActionMode$Callback;
 Landroid/view/ActionMode;
 Landroid/view/ActionProvider$SubUiVisibilityListener;
-Landroid/view/ActionProvider$VisibilityListener;
 Landroid/view/ActionProvider;
 Landroid/view/AppTransitionAnimationSpec$1;
-Landroid/view/BatchedInputEventReceiver;
 Landroid/view/Choreographer$1;
 Landroid/view/Choreographer$2;
 Landroid/view/Choreographer$3;
@@ -58813,7 +49242,7 @@
 Landroid/view/Choreographer$FrameDisplayEventReceiver;
 Landroid/view/Choreographer$FrameHandler;
 Landroid/view/Choreographer;
-Landroid/view/CollapsibleActionView;
+Landroid/view/CompositionSamplingListener;
 Landroid/view/ContextMenu$ContextMenuInfo;
 Landroid/view/ContextMenu;
 Landroid/view/ContextThemeWrapper;
@@ -58822,7 +49251,11 @@
 Landroid/view/Display$Mode$1;
 Landroid/view/Display$Mode;
 Landroid/view/Display;
+Landroid/view/DisplayAddress$Physical$1;
+Landroid/view/DisplayAddress$Physical;
+Landroid/view/DisplayAddress;
 Landroid/view/DisplayAdjustments;
+Landroid/view/DisplayCutout$Bounds;
 Landroid/view/DisplayCutout$ParcelableWrapper$1;
 Landroid/view/DisplayCutout$ParcelableWrapper;
 Landroid/view/DisplayCutout;
@@ -58830,6 +49263,7 @@
 Landroid/view/DisplayInfo$1;
 Landroid/view/DisplayInfo;
 Landroid/view/DisplayListCanvas;
+Landroid/view/DragEvent$1;
 Landroid/view/DragEvent;
 Landroid/view/FallbackEventHandler;
 Landroid/view/FocusFinder$1;
@@ -58837,7 +49271,6 @@
 Landroid/view/FocusFinder$UserSpecifiedFocusComparator$NextFocusGetter;
 Landroid/view/FocusFinder$UserSpecifiedFocusComparator;
 Landroid/view/FocusFinder;
-Landroid/view/FrameInfo;
 Landroid/view/FrameMetrics;
 Landroid/view/FrameMetricsObserver;
 Landroid/view/FrameStats;
@@ -58847,7 +49280,6 @@
 Landroid/view/GestureDetector$OnGestureListener;
 Landroid/view/GestureDetector$SimpleOnGestureListener;
 Landroid/view/GestureDetector;
-Landroid/view/GhostView;
 Landroid/view/Gravity;
 Landroid/view/HandlerActionQueue$HandlerAction;
 Landroid/view/HandlerActionQueue;
@@ -58868,16 +49300,10 @@
 Landroid/view/IPinnedStackListener$Stub;
 Landroid/view/IPinnedStackListener;
 Landroid/view/IRecentsAnimationController$Stub;
-Landroid/view/IRecentsAnimationController;
 Landroid/view/IRecentsAnimationRunner$Stub$Proxy;
 Landroid/view/IRecentsAnimationRunner$Stub;
-Landroid/view/IRecentsAnimationRunner;
-Landroid/view/IRemoteAnimationFinishedCallback$Stub$Proxy;
 Landroid/view/IRemoteAnimationFinishedCallback$Stub;
-Landroid/view/IRemoteAnimationFinishedCallback;
 Landroid/view/IRemoteAnimationRunner$Stub$Proxy;
-Landroid/view/IRemoteAnimationRunner$Stub;
-Landroid/view/IRemoteAnimationRunner;
 Landroid/view/IRotationWatcher$Stub$Proxy;
 Landroid/view/IRotationWatcher$Stub;
 Landroid/view/IRotationWatcher;
@@ -58896,9 +49322,12 @@
 Landroid/view/IWindowSession$Stub$Proxy;
 Landroid/view/IWindowSession$Stub;
 Landroid/view/IWindowSession;
+Landroid/view/IWindowSessionCallback$Stub$Proxy;
 Landroid/view/IWindowSessionCallback$Stub;
 Landroid/view/IWindowSessionCallback;
+Landroid/view/ImeInsetsSourceConsumer;
 Landroid/view/InflateException;
+Landroid/view/InputApplicationHandle;
 Landroid/view/InputChannel$1;
 Landroid/view/InputChannel;
 Landroid/view/InputDevice$1;
@@ -58906,12 +49335,20 @@
 Landroid/view/InputDevice;
 Landroid/view/InputEvent$1;
 Landroid/view/InputEvent;
+Landroid/view/InputEventCompatProcessor;
 Landroid/view/InputEventConsistencyVerifier;
 Landroid/view/InputEventReceiver;
 Landroid/view/InputEventSender;
 Landroid/view/InputQueue$Callback;
 Landroid/view/InputQueue$FinishedInputEventCallback;
 Landroid/view/InputQueue;
+Landroid/view/InputWindowHandle;
+Landroid/view/InsetsController;
+Landroid/view/InsetsSource$1;
+Landroid/view/InsetsSource;
+Landroid/view/InsetsSourceConsumer;
+Landroid/view/InsetsState$1;
+Landroid/view/InsetsState;
 Landroid/view/KeyCharacterMap$1;
 Landroid/view/KeyCharacterMap$FallbackAction;
 Landroid/view/KeyCharacterMap;
@@ -58934,25 +49371,24 @@
 Landroid/view/MotionEvent$PointerCoords;
 Landroid/view/MotionEvent$PointerProperties;
 Landroid/view/MotionEvent;
+Landroid/view/NativeVectorDrawableAnimator;
 Landroid/view/OrientationEventListener$SensorEventListenerImpl;
 Landroid/view/OrientationEventListener;
+Landroid/view/PixelCopy$1;
+Landroid/view/PixelCopy;
 Landroid/view/PointerIcon$1;
+Landroid/view/PointerIcon$2;
 Landroid/view/PointerIcon;
-Landroid/view/RecordingCanvas;
 Landroid/view/RemoteAnimationAdapter$1;
 Landroid/view/RemoteAnimationAdapter;
 Landroid/view/RemoteAnimationDefinition$1;
 Landroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry$1;
-Landroid/view/RemoteAnimationDefinition$RemoteAnimationAdapterEntry;
 Landroid/view/RemoteAnimationDefinition;
 Landroid/view/RemoteAnimationTarget$1;
 Landroid/view/RemoteAnimationTarget;
-Landroid/view/RenderNode$NoImagePreloadHolder;
-Landroid/view/RenderNode;
 Landroid/view/RenderNodeAnimator$1;
 Landroid/view/RenderNodeAnimator;
 Landroid/view/RenderNodeAnimatorSetHelper;
-Landroid/view/RoundScrollbarRenderer;
 Landroid/view/ScaleGestureDetector$1;
 Landroid/view/ScaleGestureDetector$OnScaleGestureListener;
 Landroid/view/ScaleGestureDetector$SimpleOnScaleGestureListener;
@@ -58965,6 +49401,8 @@
 Landroid/view/Surface;
 Landroid/view/SurfaceControl$1;
 Landroid/view/SurfaceControl$Builder;
+Landroid/view/SurfaceControl$CieXyz;
+Landroid/view/SurfaceControl$DisplayPrimaries;
 Landroid/view/SurfaceControl$PhysicalDisplayInfo;
 Landroid/view/SurfaceControl$Transaction;
 Landroid/view/SurfaceControl;
@@ -58975,16 +49413,14 @@
 Landroid/view/SurfaceView$1;
 Landroid/view/SurfaceView$2;
 Landroid/view/SurfaceView$3;
-Landroid/view/SurfaceView$SurfaceControlWithBackground;
+Landroid/view/SurfaceView$4;
 Landroid/view/SurfaceView;
 Landroid/view/TextureLayer;
 Landroid/view/TextureView$1;
 Landroid/view/TextureView$SurfaceTextureListener;
 Landroid/view/TextureView;
 Landroid/view/ThreadedRenderer$DrawCallbacks;
-Landroid/view/ThreadedRenderer$FrameDrawingCallback;
-Landroid/view/ThreadedRenderer$ProcessInitializer$1;
-Landroid/view/ThreadedRenderer$ProcessInitializer;
+Landroid/view/ThreadedRenderer$SimpleRenderer;
 Landroid/view/ThreadedRenderer;
 Landroid/view/TouchDelegate;
 Landroid/view/VelocityTracker$Estimator;
@@ -59004,13 +49440,11 @@
 Landroid/view/View$9;
 Landroid/view/View$AccessibilityDelegate;
 Landroid/view/View$AttachInfo$Callbacks;
-Landroid/view/View$AttachInfo$InvalidateInfo;
 Landroid/view/View$AttachInfo;
 Landroid/view/View$BaseSavedState$1;
 Landroid/view/View$BaseSavedState;
 Landroid/view/View$CheckForLongPress;
 Landroid/view/View$CheckForTap;
-Landroid/view/View$DeclaredOnClickListener;
 Landroid/view/View$ForegroundInfo;
 Landroid/view/View$ListenerInfo;
 Landroid/view/View$MatchIdPredicate;
@@ -59019,15 +49453,14 @@
 Landroid/view/View$OnApplyWindowInsetsListener;
 Landroid/view/View$OnAttachStateChangeListener;
 Landroid/view/View$OnClickListener;
-Landroid/view/View$OnContextClickListener;
 Landroid/view/View$OnCreateContextMenuListener;
 Landroid/view/View$OnDragListener;
 Landroid/view/View$OnFocusChangeListener;
-Landroid/view/View$OnGenericMotionListener;
 Landroid/view/View$OnHoverListener;
 Landroid/view/View$OnKeyListener;
 Landroid/view/View$OnLayoutChangeListener;
 Landroid/view/View$OnLongClickListener;
+Landroid/view/View$OnScrollChangeListener;
 Landroid/view/View$OnSystemUiVisibilityChangeListener;
 Landroid/view/View$OnTouchListener;
 Landroid/view/View$PerformClick;
@@ -59039,19 +49472,20 @@
 Landroid/view/View$UnsetPressedState;
 Landroid/view/View$VisibilityChangeForAutofillHandler;
 Landroid/view/View;
-Landroid/view/ViewAnimationUtils;
+Landroid/view/ViewAnimationHostBridge;
 Landroid/view/ViewConfiguration;
-Landroid/view/ViewDebug$ExportedProperty;
 Landroid/view/ViewDebug$HierarchyHandler;
+Landroid/view/ViewDebug;
 Landroid/view/ViewGroup$1;
 Landroid/view/ViewGroup$2;
 Landroid/view/ViewGroup$4;
-Landroid/view/ViewGroup$ChildListForAutoFill;
-Landroid/view/ViewGroup$HoverTarget;
+Landroid/view/ViewGroup$ChildListForAccessibility;
+Landroid/view/ViewGroup$ChildListForAutoFillOrContentCapture;
 Landroid/view/ViewGroup$LayoutParams;
 Landroid/view/ViewGroup$MarginLayoutParams;
 Landroid/view/ViewGroup$OnHierarchyChangeListener;
 Landroid/view/ViewGroup$TouchTarget;
+Landroid/view/ViewGroup$ViewLocationHolder;
 Landroid/view/ViewGroup;
 Landroid/view/ViewGroupOverlay;
 Landroid/view/ViewManager;
@@ -59134,7 +49568,12 @@
 Landroid/view/WindowContentFrameStats;
 Landroid/view/WindowId$1;
 Landroid/view/WindowId;
+Landroid/view/WindowInfo$1;
+Landroid/view/WindowInfo;
+Landroid/view/WindowInsets$Builder;
+Landroid/view/WindowInsets$Type;
 Landroid/view/WindowInsets;
+Landroid/view/WindowInsetsController;
 Landroid/view/WindowLeaked;
 Landroid/view/WindowManager$BadTokenException;
 Landroid/view/WindowManager$LayoutParams$1;
@@ -59146,21 +49585,30 @@
 Landroid/view/WindowManagerImpl;
 Landroid/view/WindowManagerPolicyConstants$PointerEventListener;
 Landroid/view/WindowManagerPolicyConstants;
+Landroid/view/accessibility/-$$Lambda$AccessibilityManager$1$o7fCplskH9NlBwJvkl6NoZ0L_BA;
+Landroid/view/accessibility/-$$Lambda$AccessibilityManager$yzw5NYY7_MfAQ9gLy3mVllchaXo;
+Landroid/view/accessibility/AccessibilityCache$AccessibilityNodeRefresher;
+Landroid/view/accessibility/AccessibilityCache;
 Landroid/view/accessibility/AccessibilityEvent$1;
 Landroid/view/accessibility/AccessibilityEvent;
 Landroid/view/accessibility/AccessibilityEventSource;
+Landroid/view/accessibility/AccessibilityInteractionClient;
 Landroid/view/accessibility/AccessibilityManager$1;
+Landroid/view/accessibility/AccessibilityManager$AccessibilityPolicy;
 Landroid/view/accessibility/AccessibilityManager$AccessibilityServicesStateChangeListener;
 Landroid/view/accessibility/AccessibilityManager$AccessibilityStateChangeListener;
 Landroid/view/accessibility/AccessibilityManager$HighTextContrastChangeListener;
 Landroid/view/accessibility/AccessibilityManager$MyCallback;
 Landroid/view/accessibility/AccessibilityManager$TouchExplorationStateChangeListener;
 Landroid/view/accessibility/AccessibilityManager;
+Landroid/view/accessibility/AccessibilityNodeIdManager;
 Landroid/view/accessibility/AccessibilityNodeInfo$1;
 Landroid/view/accessibility/AccessibilityNodeInfo$AccessibilityAction;
 Landroid/view/accessibility/AccessibilityNodeInfo;
 Landroid/view/accessibility/AccessibilityNodeProvider;
 Landroid/view/accessibility/AccessibilityRecord;
+Landroid/view/accessibility/AccessibilityWindowInfo$1;
+Landroid/view/accessibility/AccessibilityWindowInfo;
 Landroid/view/accessibility/CaptioningManager$1;
 Landroid/view/accessibility/CaptioningManager$CaptionStyle;
 Landroid/view/accessibility/CaptioningManager$CaptioningChangeListener;
@@ -59192,6 +49640,7 @@
 Landroid/view/animation/AnimationUtils$1;
 Landroid/view/animation/AnimationUtils$AnimationState;
 Landroid/view/animation/AnimationUtils;
+Landroid/view/animation/AnticipateInterpolator;
 Landroid/view/animation/BaseInterpolator;
 Landroid/view/animation/ClipRectAnimation;
 Landroid/view/animation/DecelerateInterpolator;
@@ -59205,12 +49654,9 @@
 Landroid/view/animation/ScaleAnimation;
 Landroid/view/animation/Transformation;
 Landroid/view/animation/TranslateAnimation;
-Landroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$1jAzMluMSJksx55SMUQn4BKB2Ng;
 Landroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$BPlC2x7GLNHFS92rPUSzbcpFhUc;
-Landroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$QIW-100CKwHzdHffwaus9KOEHCA;
 Landroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$V-s28jF4_S72cRk4llkGpwbJnmk;
-Landroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$dCTetwfU0gT1ZrSzZGZiGStXlOY;
-Landroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$kRL9XILLc2XNr90gxVDACLzcyqc;
+Landroid/view/autofill/-$$Lambda$AutofillManager$AutofillManagerClient$qH36EJk2Hkdja9ZZmTxqYPyr0YA;
 Landroid/view/autofill/-$$Lambda$AutofillManager$V76JiQu509LCUz3-ckpb-nB3JhA;
 Landroid/view/autofill/-$$Lambda$AutofillManager$YfpJNFodEuj5lbXfPlc77fsEvC8;
 Landroid/view/autofill/AutofillId$1;
@@ -59218,25 +49664,47 @@
 Landroid/view/autofill/AutofillManager$AutofillCallback;
 Landroid/view/autofill/AutofillManager$AutofillClient;
 Landroid/view/autofill/AutofillManager$AutofillManagerClient;
+Landroid/view/autofill/AutofillManager$CompatibilityBridge;
 Landroid/view/autofill/AutofillManager$TrackedViews;
 Landroid/view/autofill/AutofillManager;
 Landroid/view/autofill/AutofillManagerInternal;
-Landroid/view/autofill/AutofillPopupWindow$WindowPresenter;
-Landroid/view/autofill/AutofillPopupWindow;
 Landroid/view/autofill/AutofillValue$1;
 Landroid/view/autofill/AutofillValue;
 Landroid/view/autofill/Helper;
+Landroid/view/autofill/IAugmentedAutofillManagerClient;
 Landroid/view/autofill/IAutoFillManager$Stub$Proxy;
 Landroid/view/autofill/IAutoFillManager$Stub;
 Landroid/view/autofill/IAutoFillManager;
 Landroid/view/autofill/IAutoFillManagerClient$Stub$Proxy;
 Landroid/view/autofill/IAutoFillManagerClient$Stub;
 Landroid/view/autofill/IAutoFillManagerClient;
-Landroid/view/autofill/IAutofillWindowPresenter$Stub$Proxy;
+Landroid/view/autofill/IAutofillWindowPresenter$Stub;
 Landroid/view/autofill/IAutofillWindowPresenter;
-Landroid/view/autofill/ParcelableMap$1;
 Landroid/view/autofill/ParcelableMap;
+Landroid/view/contentcapture/-$$Lambda$MainContentCaptureSession$1$Xhq3WJibbalS1G_W3PRC2m7muhM;
+Landroid/view/contentcapture/-$$Lambda$MainContentCaptureSession$49zT7C2BXrEdkyggyGk1Qs4d46k;
+Landroid/view/contentcapture/-$$Lambda$MainContentCaptureSession$HTmdDf687TPcaTnLyPp3wo0gI60;
+Landroid/view/contentcapture/ContentCaptureContext$1;
+Landroid/view/contentcapture/ContentCaptureContext;
+Landroid/view/contentcapture/ContentCaptureEvent$1;
+Landroid/view/contentcapture/ContentCaptureEvent;
+Landroid/view/contentcapture/ContentCaptureHelper;
+Landroid/view/contentcapture/ContentCaptureManager;
+Landroid/view/contentcapture/ContentCaptureSession;
+Landroid/view/contentcapture/ContentCaptureSessionId$1;
+Landroid/view/contentcapture/ContentCaptureSessionId;
+Landroid/view/contentcapture/IContentCaptureDirectManager$Stub$Proxy;
+Landroid/view/contentcapture/IContentCaptureDirectManager$Stub;
+Landroid/view/contentcapture/IContentCaptureManager$Stub$Proxy;
+Landroid/view/contentcapture/IContentCaptureManager$Stub;
+Landroid/view/contentcapture/IContentCaptureManager;
+Landroid/view/contentcapture/MainContentCaptureSession$1;
+Landroid/view/contentcapture/MainContentCaptureSession;
+Landroid/view/contentcapture/ViewNode$ViewNodeText;
+Landroid/view/contentcapture/ViewNode$ViewStructureImpl;
+Landroid/view/contentcapture/ViewNode;
 Landroid/view/inputmethod/BaseInputConnection;
+Landroid/view/inputmethod/CompletionInfo$1;
 Landroid/view/inputmethod/CompletionInfo;
 Landroid/view/inputmethod/ComposingText;
 Landroid/view/inputmethod/CorrectionInfo$1;
@@ -59254,6 +49722,7 @@
 Landroid/view/inputmethod/InputConnection;
 Landroid/view/inputmethod/InputConnectionInspector;
 Landroid/view/inputmethod/InputConnectionWrapper;
+Landroid/view/inputmethod/InputContentInfo$1;
 Landroid/view/inputmethod/InputContentInfo;
 Landroid/view/inputmethod/InputMethod$SessionCallback;
 Landroid/view/inputmethod/InputMethod;
@@ -59266,26 +49735,64 @@
 Landroid/view/inputmethod/InputMethodManager$ImeInputEventSender;
 Landroid/view/inputmethod/InputMethodManager$PendingEvent;
 Landroid/view/inputmethod/InputMethodManager;
-Landroid/view/inputmethod/InputMethodManagerInternal;
 Landroid/view/inputmethod/InputMethodSession$EventCallback;
 Landroid/view/inputmethod/InputMethodSession;
 Landroid/view/inputmethod/InputMethodSubtype$1;
 Landroid/view/inputmethod/InputMethodSubtype$InputMethodSubtypeBuilder;
 Landroid/view/inputmethod/InputMethodSubtype;
 Landroid/view/inputmethod/InputMethodSubtypeArray;
+Landroid/view/inputmethod/InputMethodSystemProperty;
+Landroid/view/textclassifier/-$$Lambda$0biFK4yZBmWN1EO2wtnXskzuEcE;
+Landroid/view/textclassifier/-$$Lambda$9N8WImc0VBjy2oxI_Gk5_Pbye_A;
+Landroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$6oTtcn9bDE-u-8FbiyGdntqoQG0;
+Landroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$NVG8-MEQ9Wtr5jbSeAcfVMN4oG8;
+Landroid/view/textclassifier/-$$Lambda$ActionsSuggestionsHelper$YTQv8oPvlmJL4tITUFD4z4JWKRk;
 Landroid/view/textclassifier/-$$Lambda$EntityConfidence$YPh8hwgSYYK8OyQ1kFlQngc71Q0;
+Landroid/view/textclassifier/-$$Lambda$L_UQMPjXwBN0ch4zL2dD82nf9RI;
+Landroid/view/textclassifier/-$$Lambda$LabeledIntent$dgQZZ-klKGvWgkI6aDkzhYZpgWY;
+Landroid/view/textclassifier/-$$Lambda$LegacyIntentFactory$OyqHBYawV-UcHMgpg_imepviTxE;
+Landroid/view/textclassifier/-$$Lambda$NxwbyZSxofZ4Z5SQhfXmtLQ1nxk;
+Landroid/view/textclassifier/-$$Lambda$OGSS2qx6njxlnp0dnKb4lA3jnw8;
+Landroid/view/textclassifier/-$$Lambda$TemplateIntentFactory$VTUKP3Los7Pxo0ZqqZs02JcFdIk;
+Landroid/view/textclassifier/-$$Lambda$TemplateIntentFactory$cRcp0XmdHAiBGYjV6OQ9ufKf_Yc;
 Landroid/view/textclassifier/-$$Lambda$TextClassificationManager$JIaezIJbMig_-kVzN6oArzkTsJE;
+Landroid/view/textclassifier/-$$Lambda$TextClassifierImpl$RFwUv7sZWa526ulnXC0BiokXqlo;
+Landroid/view/textclassifier/-$$Lambda$TextClassifierImpl$RRbXefHgcUymI9-P95ArUyMvfbw;
+Landroid/view/textclassifier/-$$Lambda$TextClassifierImpl$ftq-sQqJYwUdrdbbr9jz3p4AWos;
+Landroid/view/textclassifier/-$$Lambda$XeE_KI7QgMKzF9vYRSoFWAolyuA;
+Landroid/view/textclassifier/-$$Lambda$jJq8RXuVdjYF3lPq-77PEw1NJLM;
+Landroid/view/textclassifier/ActionsSuggestionsHelper$PersonEncoder;
+Landroid/view/textclassifier/ActionsSuggestionsHelper;
+Landroid/view/textclassifier/ConversationAction$1;
+Landroid/view/textclassifier/ConversationAction;
+Landroid/view/textclassifier/ConversationActions$1;
+Landroid/view/textclassifier/ConversationActions$Message$1;
+Landroid/view/textclassifier/ConversationActions$Message$Builder;
+Landroid/view/textclassifier/ConversationActions$Message;
+Landroid/view/textclassifier/ConversationActions$Request$1;
+Landroid/view/textclassifier/ConversationActions$Request$Builder;
+Landroid/view/textclassifier/ConversationActions$Request;
+Landroid/view/textclassifier/ConversationActions;
 Landroid/view/textclassifier/EntityConfidence$1;
 Landroid/view/textclassifier/EntityConfidence;
 Landroid/view/textclassifier/GenerateLinksLogger;
+Landroid/view/textclassifier/IntentFactory;
+Landroid/view/textclassifier/LabeledIntent;
+Landroid/view/textclassifier/LegacyIntentFactory;
 Landroid/view/textclassifier/Log;
+Landroid/view/textclassifier/ModelFileManager$ModelFile;
+Landroid/view/textclassifier/ModelFileManager$ModelFileSupplierImpl;
+Landroid/view/textclassifier/ModelFileManager;
 Landroid/view/textclassifier/SelectionEvent$1;
 Landroid/view/textclassifier/SelectionEvent;
-Landroid/view/textclassifier/SelectionSessionLogger$SignatureParser;
 Landroid/view/textclassifier/SelectionSessionLogger;
 Landroid/view/textclassifier/SystemTextClassifier$ResponseReceiver;
 Landroid/view/textclassifier/SystemTextClassifier$TextClassificationCallback;
+Landroid/view/textclassifier/SystemTextClassifier$TextLinksCallback;
+Landroid/view/textclassifier/SystemTextClassifier$TextSelectionCallback;
 Landroid/view/textclassifier/SystemTextClassifier;
+Landroid/view/textclassifier/TemplateClassificationIntentFactory;
+Landroid/view/textclassifier/TemplateIntentFactory;
 Landroid/view/textclassifier/TextClassification$1;
 Landroid/view/textclassifier/TextClassification$Builder;
 Landroid/view/textclassifier/TextClassification$Request$1;
@@ -59294,28 +49801,32 @@
 Landroid/view/textclassifier/TextClassification;
 Landroid/view/textclassifier/TextClassificationConstants;
 Landroid/view/textclassifier/TextClassificationContext$1;
+Landroid/view/textclassifier/TextClassificationContext$Builder;
+Landroid/view/textclassifier/TextClassificationContext;
 Landroid/view/textclassifier/TextClassificationManager$SettingsObserver;
 Landroid/view/textclassifier/TextClassificationManager;
 Landroid/view/textclassifier/TextClassificationSessionFactory;
 Landroid/view/textclassifier/TextClassificationSessionId$1;
+Landroid/view/textclassifier/TextClassificationSessionId;
 Landroid/view/textclassifier/TextClassifier$1;
+Landroid/view/textclassifier/TextClassifier$EntityConfig$1;
+Landroid/view/textclassifier/TextClassifier$EntityConfig$Builder;
+Landroid/view/textclassifier/TextClassifier$EntityConfig;
 Landroid/view/textclassifier/TextClassifier$Utils;
 Landroid/view/textclassifier/TextClassifier;
-Landroid/view/textclassifier/TextClassifierImpl$IntentFactory;
+Landroid/view/textclassifier/TextClassifierEvent$1;
+Landroid/view/textclassifier/TextClassifierEvent$Builder;
+Landroid/view/textclassifier/TextClassifierEvent;
+Landroid/view/textclassifier/TextClassifierEventTronLogger;
 Landroid/view/textclassifier/TextClassifierImpl$LabeledIntent;
-Landroid/view/textclassifier/TextClassifierImpl$ModelFile;
 Landroid/view/textclassifier/TextClassifierImpl;
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotatedSpan;
-Landroid/view/textclassifier/TextClassifierImplNative$AnnotationOptions;
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationOptions;
-Landroid/view/textclassifier/TextClassifierImplNative$ClassificationResult;
-Landroid/view/textclassifier/TextClassifierImplNative$DatetimeResult;
-Landroid/view/textclassifier/TextClassifierImplNative$SelectionOptions;
-Landroid/view/textclassifier/TextClassifierImplNative;
+Landroid/view/textclassifier/TextLanguage$1;
+Landroid/view/textclassifier/TextLanguage$Builder;
+Landroid/view/textclassifier/TextLanguage$Request$1;
 Landroid/view/textclassifier/TextLinks$1;
 Landroid/view/textclassifier/TextLinks$Builder;
-Landroid/view/textclassifier/TextLinks$Options;
 Landroid/view/textclassifier/TextLinks$Request$1;
+Landroid/view/textclassifier/TextLinks$Request$Builder;
 Landroid/view/textclassifier/TextLinks$Request;
 Landroid/view/textclassifier/TextLinks$TextLink$1;
 Landroid/view/textclassifier/TextLinks$TextLink;
@@ -59323,6 +49834,7 @@
 Landroid/view/textclassifier/TextSelection$1;
 Landroid/view/textclassifier/TextSelection$Builder;
 Landroid/view/textclassifier/TextSelection$Request$1;
+Landroid/view/textclassifier/TextSelection$Request$Builder;
 Landroid/view/textclassifier/TextSelection$Request;
 Landroid/view/textclassifier/TextSelection;
 Landroid/view/textclassifier/logging/SmartSelectionEventTracker$SelectionEvent;
@@ -59349,23 +49861,15 @@
 Landroid/webkit/CookieManager;
 Landroid/webkit/CookieSyncManager;
 Landroid/webkit/DownloadListener;
-Landroid/webkit/FindAddress$ZipRange;
-Landroid/webkit/FindAddress;
-Landroid/webkit/GeolocationPermissions$Callback;
 Landroid/webkit/GeolocationPermissions;
 Landroid/webkit/IWebViewUpdateService$Stub$Proxy;
 Landroid/webkit/IWebViewUpdateService$Stub;
 Landroid/webkit/IWebViewUpdateService;
 Landroid/webkit/JavascriptInterface;
-Landroid/webkit/JsPromptResult;
-Landroid/webkit/JsResult$ResultReceiver;
-Landroid/webkit/JsResult;
 Landroid/webkit/MimeTypeMap;
-Landroid/webkit/PermissionRequest;
 Landroid/webkit/ServiceWorkerClient;
 Landroid/webkit/ServiceWorkerController;
 Landroid/webkit/ServiceWorkerWebSettings;
-Landroid/webkit/SslErrorHandler;
 Landroid/webkit/TokenBindingService;
 Landroid/webkit/TracingController;
 Landroid/webkit/URLUtil;
@@ -59381,11 +49885,8 @@
 Landroid/webkit/WebResourceError;
 Landroid/webkit/WebResourceRequest;
 Landroid/webkit/WebResourceResponse;
-Landroid/webkit/WebSettings$LayoutAlgorithm;
 Landroid/webkit/WebSettings$PluginState;
-Landroid/webkit/WebSettings$ZoomDensity;
 Landroid/webkit/WebSettings;
-Landroid/webkit/WebStorage$QuotaUpdater;
 Landroid/webkit/WebStorage;
 Landroid/webkit/WebSyncManager;
 Landroid/webkit/WebView$FindListener;
@@ -59393,7 +49894,6 @@
 Landroid/webkit/WebView$PictureListener;
 Landroid/webkit/WebView$PrivateAccess;
 Landroid/webkit/WebView$VisualStateCallback;
-Landroid/webkit/WebView$WebViewTransport;
 Landroid/webkit/WebView;
 Landroid/webkit/WebViewClient;
 Landroid/webkit/WebViewDatabase;
@@ -59404,6 +49904,8 @@
 Landroid/webkit/WebViewFactory;
 Landroid/webkit/WebViewFactoryProvider$Statics;
 Landroid/webkit/WebViewFactoryProvider;
+Landroid/webkit/WebViewLibraryLoader$1;
+Landroid/webkit/WebViewLibraryLoader$RelroFileCreator;
 Landroid/webkit/WebViewLibraryLoader;
 Landroid/webkit/WebViewProvider$ScrollDelegate;
 Landroid/webkit/WebViewProvider$ViewDelegate;
@@ -59415,29 +49917,25 @@
 Landroid/webkit/WebViewZygote;
 Landroid/widget/-$$Lambda$Editor$MagnifierMotionAnimator$E-RaelOMgCHAzvKgSSZE-hDYeIg;
 Landroid/widget/-$$Lambda$IfzAW5fP9thoftErKAjo9SLZufw;
+Landroid/widget/-$$Lambda$Magnifier$InternalPopupWindow$qfjMrDJVvOQUv9_kKVdpLzbaJ-A;
+Landroid/widget/-$$Lambda$Magnifier$InternalPopupWindow$t9Cn2sIi2LBUhAVikvRPKKoAwIU;
+Landroid/widget/-$$Lambda$Magnifier$K0um0QSTAb4wXwua60CgJIIwGaI;
 Landroid/widget/-$$Lambda$PopupWindow$8Gc2stI5cSJZbuKX7X4Qr_vU2nI;
 Landroid/widget/-$$Lambda$PopupWindow$PopupDecorView$T99WKEnQefOCXbbKvW95WY38p_I;
 Landroid/widget/-$$Lambda$PopupWindow$nV1HS3Nc6Ck5JRIbIHe3mkyHWzc;
-Landroid/widget/-$$Lambda$SearchView$SearchAutoComplete$qdPU54FiW6QTzCbsg7P4cSs3cJ8;
+Landroid/widget/-$$Lambda$RemoteViews$xYCMzfQwRCAW2azHo-bWqQ9R0Wk;
 Landroid/widget/-$$Lambda$SmartSelectSprite$c8eqlh2kO_X0luLU2BexwK921WA;
 Landroid/widget/-$$Lambda$SmartSelectSprite$mdkXIT1_UNlJQMaziE_E815aIKE;
-Landroid/widget/-$$Lambda$TimePicker$2FhAB9WgnLgn4zn4f9rRT7DNfjw;
 Landroid/widget/-$$Lambda$yIdmBO6ZxaY03PGN08RySVVQXuE;
 Landroid/widget/AbsListView$3;
-Landroid/widget/AbsListView$4;
-Landroid/widget/AbsListView$AbsPositionScroller;
 Landroid/widget/AbsListView$AdapterDataSetObserver;
 Landroid/widget/AbsListView$CheckForTap;
 Landroid/widget/AbsListView$FlingRunnable$1;
 Landroid/widget/AbsListView$FlingRunnable;
-Landroid/widget/AbsListView$InputConnectionWrapper;
 Landroid/widget/AbsListView$LayoutParams;
-Landroid/widget/AbsListView$MultiChoiceModeListener;
-Landroid/widget/AbsListView$MultiChoiceModeWrapper;
+Landroid/widget/AbsListView$ListItemAccessibilityDelegate;
 Landroid/widget/AbsListView$OnScrollListener;
 Landroid/widget/AbsListView$PerformClick;
-Landroid/widget/AbsListView$PositionScroller$1;
-Landroid/widget/AbsListView$PositionScroller;
 Landroid/widget/AbsListView$RecycleBin;
 Landroid/widget/AbsListView$RecyclerListener;
 Landroid/widget/AbsListView$SavedState$1;
@@ -59453,6 +49951,7 @@
 Landroid/widget/AbsoluteLayout;
 Landroid/widget/ActionMenuPresenter$1;
 Landroid/widget/ActionMenuPresenter$2;
+Landroid/widget/ActionMenuPresenter$ActionMenuPopupCallback;
 Landroid/widget/ActionMenuPresenter$OverflowMenuButton$1;
 Landroid/widget/ActionMenuPresenter$OverflowMenuButton;
 Landroid/widget/ActionMenuPresenter$PopupPresenterCallback;
@@ -59465,39 +49964,25 @@
 Landroid/widget/Adapter;
 Landroid/widget/AdapterView$AdapterDataSetObserver;
 Landroid/widget/AdapterView$OnItemClickListener;
-Landroid/widget/AdapterView$OnItemLongClickListener;
 Landroid/widget/AdapterView$OnItemSelectedListener;
 Landroid/widget/AdapterView$SelectionNotifier;
 Landroid/widget/AdapterView;
-Landroid/widget/AdapterViewAnimator;
-Landroid/widget/Advanceable;
-Landroid/widget/AlphabetIndexer;
-Landroid/widget/ArrayAdapter$ArrayFilter;
+Landroid/widget/AppSecurityPermissions;
 Landroid/widget/ArrayAdapter;
 Landroid/widget/AutoCompleteTextView$DropDownItemClickListener;
 Landroid/widget/AutoCompleteTextView$MyWatcher;
 Landroid/widget/AutoCompleteTextView$PassThroughClickListener;
-Landroid/widget/AutoCompleteTextView$PopupDataSetObserver$1;
-Landroid/widget/AutoCompleteTextView$PopupDataSetObserver;
 Landroid/widget/AutoCompleteTextView;
 Landroid/widget/BaseAdapter;
-Landroid/widget/BaseExpandableListAdapter;
 Landroid/widget/Button;
 Landroid/widget/CheckBox;
 Landroid/widget/Checkable;
-Landroid/widget/CheckedTextView$SavedState$1;
-Landroid/widget/CheckedTextView$SavedState;
 Landroid/widget/CheckedTextView;
 Landroid/widget/Chronometer$1;
+Landroid/widget/Chronometer$OnChronometerTickListener;
 Landroid/widget/Chronometer;
 Landroid/widget/CompoundButton$OnCheckedChangeListener;
-Landroid/widget/CompoundButton$SavedState$1;
-Landroid/widget/CompoundButton$SavedState;
 Landroid/widget/CompoundButton;
-Landroid/widget/CursorAdapter$ChangeObserver;
-Landroid/widget/CursorAdapter$MyDataSetObserver;
-Landroid/widget/CursorAdapter;
-Landroid/widget/CursorFilter$CursorFilterClient;
 Landroid/widget/DropDownListView;
 Landroid/widget/EdgeEffect;
 Landroid/widget/EditText;
@@ -59506,7 +49991,6 @@
 Landroid/widget/Editor$3;
 Landroid/widget/Editor$5;
 Landroid/widget/Editor$Blink;
-Landroid/widget/Editor$CorrectionHighlighter;
 Landroid/widget/Editor$CursorAnchorInfoNotifier;
 Landroid/widget/Editor$CursorController;
 Landroid/widget/Editor$EditOperation$1;
@@ -59527,32 +50011,20 @@
 Landroid/widget/Editor$TextViewPositionListener;
 Landroid/widget/Editor$UndoInputFilter;
 Landroid/widget/Editor;
-Landroid/widget/ExpandableListAdapter;
-Landroid/widget/ExpandableListConnector$MyDataSetObserver;
-Landroid/widget/ExpandableListConnector;
-Landroid/widget/ExpandableListView$OnChildClickListener;
-Landroid/widget/ExpandableListView$OnGroupClickListener;
-Landroid/widget/ExpandableListView$OnGroupCollapseListener;
-Landroid/widget/ExpandableListView$OnGroupExpandListener;
-Landroid/widget/ExpandableListView;
 Landroid/widget/FastScroller$1;
 Landroid/widget/FastScroller$2;
 Landroid/widget/FastScroller$3;
 Landroid/widget/FastScroller$4;
 Landroid/widget/FastScroller$5;
 Landroid/widget/FastScroller$6;
-Landroid/widget/FastScroller;
 Landroid/widget/Filter$FilterListener;
-Landroid/widget/Filter$FilterResults;
-Landroid/widget/Filter$RequestArguments;
-Landroid/widget/Filter$RequestHandler;
-Landroid/widget/Filter$ResultsHandler;
 Landroid/widget/Filter;
 Landroid/widget/Filterable;
+Landroid/widget/ForwardingListener$DisallowIntercept;
+Landroid/widget/ForwardingListener$TriggerLongPress;
 Landroid/widget/ForwardingListener;
 Landroid/widget/FrameLayout$LayoutParams;
 Landroid/widget/FrameLayout;
-Landroid/widget/Gallery;
 Landroid/widget/GridLayout$1;
 Landroid/widget/GridLayout$2;
 Landroid/widget/GridLayout$3;
@@ -59574,9 +50046,7 @@
 Landroid/widget/GridLayout$PackedMap;
 Landroid/widget/GridLayout$Spec;
 Landroid/widget/GridLayout;
-Landroid/widget/GridView;
 Landroid/widget/HeaderViewListAdapter;
-Landroid/widget/HeterogeneousExpandableList;
 Landroid/widget/HorizontalScrollView$SavedState$1;
 Landroid/widget/HorizontalScrollView$SavedState;
 Landroid/widget/HorizontalScrollView;
@@ -59586,6 +50056,8 @@
 Landroid/widget/LinearLayout$LayoutParams;
 Landroid/widget/LinearLayout;
 Landroid/widget/ListAdapter;
+Landroid/widget/ListPopupWindow$2;
+Landroid/widget/ListPopupWindow$3;
 Landroid/widget/ListPopupWindow$ListSelectorHider;
 Landroid/widget/ListPopupWindow$PopupDataSetObserver;
 Landroid/widget/ListPopupWindow$PopupScrollListener;
@@ -59595,27 +50067,21 @@
 Landroid/widget/ListView$ArrowScrollFocusResult;
 Landroid/widget/ListView$FixedViewInfo;
 Landroid/widget/ListView;
-Landroid/widget/Magnifier$Callback;
+Landroid/widget/Magnifier$Builder;
+Landroid/widget/Magnifier$InternalPopupWindow;
+Landroid/widget/Magnifier$SurfaceInfo;
 Landroid/widget/Magnifier;
 Landroid/widget/MediaController$MediaPlayerControl;
 Landroid/widget/MenuItemHoverListener;
+Landroid/widget/MenuPopupWindow$MenuDropDownListView;
 Landroid/widget/MenuPopupWindow;
 Landroid/widget/MultiAutoCompleteTextView$Tokenizer;
 Landroid/widget/MultiAutoCompleteTextView;
-Landroid/widget/NumberPicker$CustomEditText;
-Landroid/widget/NumberPicker$Formatter;
-Landroid/widget/NumberPicker$InputTextFilter;
-Landroid/widget/NumberPicker$OnValueChangeListener;
-Landroid/widget/NumberPicker$PressedStateHelper;
-Landroid/widget/NumberPicker$SetSelectionCommand;
-Landroid/widget/NumberPicker$TwoDigitFormatter;
-Landroid/widget/NumberPicker;
 Landroid/widget/OverScroller$SplineOverScroller;
 Landroid/widget/OverScroller;
 Landroid/widget/PopupMenu$1;
 Landroid/widget/PopupMenu$2;
 Landroid/widget/PopupMenu$3;
-Landroid/widget/PopupMenu$OnDismissListener;
 Landroid/widget/PopupMenu$OnMenuItemClickListener;
 Landroid/widget/PopupMenu;
 Landroid/widget/PopupWindow$1;
@@ -59626,22 +50092,19 @@
 Landroid/widget/PopupWindow$PopupDecorView$1$1;
 Landroid/widget/PopupWindow$PopupDecorView$1;
 Landroid/widget/PopupWindow$PopupDecorView$2;
+Landroid/widget/PopupWindow$PopupDecorView$3;
+Landroid/widget/PopupWindow$PopupDecorView$4;
 Landroid/widget/PopupWindow$PopupDecorView;
 Landroid/widget/PopupWindow;
 Landroid/widget/ProgressBar$1;
 Landroid/widget/ProgressBar$AccessibilityEventSender;
-Landroid/widget/ProgressBar$ProgressTintInfo;
 Landroid/widget/ProgressBar$SavedState$1;
 Landroid/widget/ProgressBar$SavedState;
 Landroid/widget/ProgressBar;
 Landroid/widget/QuickContactBadge$QueryHandler;
 Landroid/widget/QuickContactBadge;
 Landroid/widget/RadioButton;
-Landroid/widget/RadioGroup$CheckedStateTracker;
-Landroid/widget/RadioGroup$LayoutParams;
 Landroid/widget/RadioGroup$OnCheckedChangeListener;
-Landroid/widget/RadioGroup$PassThroughHierarchyChangeListener;
-Landroid/widget/RadioGroup;
 Landroid/widget/RatingBar;
 Landroid/widget/RelativeLayout$DependencyGraph$Node;
 Landroid/widget/RelativeLayout$DependencyGraph;
@@ -59657,17 +50120,18 @@
 Landroid/widget/RemoteViews$MethodKey;
 Landroid/widget/RemoteViews$OnClickHandler;
 Landroid/widget/RemoteViews$ReflectionAction;
+Landroid/widget/RemoteViews$RemoteResponse;
 Landroid/widget/RemoteViews$RemoteView;
+Landroid/widget/RemoteViews$RemoteViewsContextWrapper;
 Landroid/widget/RemoteViews$RuntimeAction;
 Landroid/widget/RemoteViews$SetDrawableTint;
-Landroid/widget/RemoteViews$SetOnClickPendingIntent;
-Landroid/widget/RemoteViews$SetRemoteInputsAction;
+Landroid/widget/RemoteViews$SetOnClickResponse;
+Landroid/widget/RemoteViews$TextViewSizeAction;
 Landroid/widget/RemoteViews$ViewGroupActionAdd;
 Landroid/widget/RemoteViews$ViewGroupActionRemove;
 Landroid/widget/RemoteViews$ViewPaddingAction;
 Landroid/widget/RemoteViews;
 Landroid/widget/RemoteViewsAdapter$RemoteAdapterConnectionCallback;
-Landroid/widget/RemoteViewsService;
 Landroid/widget/RtlSpacingHelper;
 Landroid/widget/ScrollBarDrawable;
 Landroid/widget/ScrollView$SavedState$1;
@@ -59675,21 +50139,8 @@
 Landroid/widget/ScrollView;
 Landroid/widget/Scroller$ViscousFluidInterpolator;
 Landroid/widget/Scroller;
-Landroid/widget/SearchView$10;
-Landroid/widget/SearchView$1;
-Landroid/widget/SearchView$2;
-Landroid/widget/SearchView$3;
-Landroid/widget/SearchView$4;
-Landroid/widget/SearchView$5;
-Landroid/widget/SearchView$6;
-Landroid/widget/SearchView$7;
-Landroid/widget/SearchView$8;
-Landroid/widget/SearchView$9;
 Landroid/widget/SearchView$OnQueryTextListener;
-Landroid/widget/SearchView$SavedState$1;
-Landroid/widget/SearchView$SavedState;
 Landroid/widget/SearchView$SearchAutoComplete;
-Landroid/widget/SearchView$UpdatableTouchDelegate;
 Landroid/widget/SearchView;
 Landroid/widget/SectionIndexer;
 Landroid/widget/SeekBar$OnSeekBarChangeListener;
@@ -59715,19 +50166,6 @@
 Landroid/widget/SpinnerAdapter;
 Landroid/widget/Switch$1;
 Landroid/widget/Switch;
-Landroid/widget/TabHost$1;
-Landroid/widget/TabHost$2;
-Landroid/widget/TabHost$ContentStrategy;
-Landroid/widget/TabHost$FactoryContentStrategy;
-Landroid/widget/TabHost$IndicatorStrategy;
-Landroid/widget/TabHost$OnTabChangeListener;
-Landroid/widget/TabHost$TabContentFactory;
-Landroid/widget/TabHost$TabSpec;
-Landroid/widget/TabHost$ViewIndicatorStrategy;
-Landroid/widget/TabHost;
-Landroid/widget/TabWidget$OnTabSelectionChanged;
-Landroid/widget/TabWidget$TabClickListener;
-Landroid/widget/TabWidget;
 Landroid/widget/TableLayout$LayoutParams;
 Landroid/widget/TableLayout$PassThroughHierarchyChangeListener;
 Landroid/widget/TableLayout;
@@ -59742,23 +50180,12 @@
 Landroid/widget/TextView$ChangeWatcher;
 Landroid/widget/TextView$CharWrapper;
 Landroid/widget/TextView$Drawables;
-Landroid/widget/TextView$Marquee$1;
-Landroid/widget/TextView$Marquee$2;
-Landroid/widget/TextView$Marquee$3;
-Landroid/widget/TextView$Marquee;
 Landroid/widget/TextView$OnEditorActionListener;
 Landroid/widget/TextView$SavedState$1;
 Landroid/widget/TextView$SavedState;
 Landroid/widget/TextView$TextAppearanceAttributes;
 Landroid/widget/TextView;
 Landroid/widget/ThemedSpinnerAdapter;
-Landroid/widget/TimePicker$AbstractTimePickerDelegate;
-Landroid/widget/TimePicker$OnTimeChangedListener;
-Landroid/widget/TimePicker$TimePickerDelegate;
-Landroid/widget/TimePicker;
-Landroid/widget/TimePickerSpinnerDelegate$1;
-Landroid/widget/TimePickerSpinnerDelegate$2;
-Landroid/widget/TimePickerSpinnerDelegate;
 Landroid/widget/Toast$TN$1;
 Landroid/widget/Toast$TN;
 Landroid/widget/Toast;
@@ -59773,12 +50200,14 @@
 Landroid/widget/Toolbar;
 Landroid/widget/ViewAnimator;
 Landroid/widget/ViewFlipper$1;
-Landroid/widget/ViewFlipper$2;
 Landroid/widget/ViewFlipper;
 Landroid/widget/ViewSwitcher;
 Landroid/widget/WrapperListAdapter;
+Lcom/android/framework/protobuf/InvalidProtocolBufferException;
 Lcom/android/framework/protobuf/nano/CodedInputByteBufferNano;
 Lcom/android/framework/protobuf/nano/CodedOutputByteBufferNano;
+Lcom/android/framework/protobuf/nano/InternalNano;
+Lcom/android/framework/protobuf/nano/InvalidProtocolBufferNanoException;
 Lcom/android/framework/protobuf/nano/MessageNano;
 Lcom/android/i18n/phonenumbers/AlternateFormatsCountryCodeSet;
 Lcom/android/i18n/phonenumbers/AsYouTypeFormatter;
@@ -59821,15 +50250,15 @@
 Lcom/android/i18n/phonenumbers/prefixmapper/PhonePrefixMap;
 Lcom/android/i18n/phonenumbers/prefixmapper/PhonePrefixMapStorageStrategy;
 Lcom/android/i18n/phonenumbers/prefixmapper/PrefixFileReader;
-Lcom/android/ims/-$$Lambda$ImsManager$7h4QYewD4pT0yZmloG4PzRq2ov0;
 Lcom/android/ims/-$$Lambda$ImsManager$Connector$N5r1SvOgM0jfHDwKkcQbyw_uTP0;
 Lcom/android/ims/-$$Lambda$ImsManager$Connector$yM9scWJWjDp_h0yrkCgrjFZH5oI;
-Lcom/android/ims/-$$Lambda$MmTelFeatureConnection$CapabilityCallbackManager$CapabilityCallbackAdapter$Fu_TJxPrz_icRRAcE-hESmVfVRI;
-Lcom/android/ims/-$$Lambda$MmTelFeatureConnection$ImsRegistrationCallbackAdapter$RegistrationCallbackAdapter$0vZ6D8L8NEmVenYChls3pkTpxsQ;
-Lcom/android/ims/-$$Lambda$MmTelFeatureConnection$ImsRegistrationCallbackAdapter$RegistrationCallbackAdapter$K3hccJ541Q6pLDm26Z8TPlTWIJY;
-Lcom/android/ims/-$$Lambda$MmTelFeatureConnection$ImsRegistrationCallbackAdapter$RegistrationCallbackAdapter$u4ZBOw30LePcwafim6pu64v4hNM;
-Lcom/android/ims/-$$Lambda$MmTelFeatureConnection$ImsRegistrationCallbackAdapter$RegistrationCallbackAdapter$vxFS2t25rwEiTAgHUI462y3Hz90;
+Lcom/android/ims/-$$Lambda$ImsManager$D1JuJ3ba2jMHWDKlSpm03meBR1c;
+Lcom/android/ims/-$$Lambda$ImsManager$Flxe43OUFnnU0pgnksvwPE6o3Mk;
+Lcom/android/ims/-$$Lambda$ImsManager$LiW49wt0wLMYHjgtAwL8NLIATfs;
+Lcom/android/ims/-$$Lambda$ImsManager$YhRaDrc3t9_7beNiU5gQcqZilOw;
+Lcom/android/ims/-$$Lambda$ImsManager$_6YCQyhjHBSdrm4ZBEMUQ2AAqOY;
 Lcom/android/ims/-$$Lambda$MmTelFeatureConnection$ij8S4RNRiQPHfppwkejp36BG78I;
+Lcom/android/ims/-$$Lambda$szO0o3matefQqo-6NB-dzsr9eCw;
 Lcom/android/ims/ImsCall$ImsCallSessionListenerProxy;
 Lcom/android/ims/ImsCall$Listener;
 Lcom/android/ims/ImsCall;
@@ -59843,12 +50272,12 @@
 Lcom/android/ims/ImsException;
 Lcom/android/ims/ImsExternalCallStateListener;
 Lcom/android/ims/ImsManager$1;
-Lcom/android/ims/ImsManager$2;
 Lcom/android/ims/ImsManager$3;
 Lcom/android/ims/ImsManager$Connector$1;
 Lcom/android/ims/ImsManager$Connector$Listener;
 Lcom/android/ims/ImsManager$Connector$RetryTimeout;
 Lcom/android/ims/ImsManager$Connector;
+Lcom/android/ims/ImsManager$ExecutorFactory;
 Lcom/android/ims/ImsManager;
 Lcom/android/ims/ImsMultiEndpoint$ImsExternalCallStateListenerProxy;
 Lcom/android/ims/ImsMultiEndpoint;
@@ -59856,18 +50285,14 @@
 Lcom/android/ims/ImsUt;
 Lcom/android/ims/ImsUtInterface;
 Lcom/android/ims/MmTelFeatureConnection$1;
+Lcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager$1;
 Lcom/android/ims/MmTelFeatureConnection$CallbackAdapterManager;
-Lcom/android/ims/MmTelFeatureConnection$CapabilityCallbackManager$CapabilityCallbackAdapter;
 Lcom/android/ims/MmTelFeatureConnection$CapabilityCallbackManager;
 Lcom/android/ims/MmTelFeatureConnection$IFeatureUpdate;
-Lcom/android/ims/MmTelFeatureConnection$ImsRegistrationCallbackAdapter$RegistrationCallbackAdapter;
 Lcom/android/ims/MmTelFeatureConnection$ImsRegistrationCallbackAdapter;
+Lcom/android/ims/MmTelFeatureConnection$ProvisioningCallbackManager;
 Lcom/android/ims/MmTelFeatureConnection;
-Lcom/android/ims/internal/ICall;
-Lcom/android/ims/internal/IImsCallSession;
-Lcom/android/ims/internal/IImsCallSessionListener;
-Lcom/android/ims/internal/IImsConfig$Stub;
-Lcom/android/ims/internal/IImsConfig;
+Lcom/android/ims/internal/IImsCallSession$Stub;
 Lcom/android/ims/internal/IImsEcbm$Stub;
 Lcom/android/ims/internal/IImsEcbm;
 Lcom/android/ims/internal/IImsEcbmListener$Stub;
@@ -59876,14 +50301,8 @@
 Lcom/android/ims/internal/IImsExternalCallStateListener;
 Lcom/android/ims/internal/IImsFeatureStatusCallback$Stub;
 Lcom/android/ims/internal/IImsFeatureStatusCallback;
-Lcom/android/ims/internal/IImsMMTelFeature$Stub;
-Lcom/android/ims/internal/IImsMMTelFeature;
 Lcom/android/ims/internal/IImsMultiEndpoint$Stub;
 Lcom/android/ims/internal/IImsMultiEndpoint;
-Lcom/android/ims/internal/IImsRegistrationListener$Stub;
-Lcom/android/ims/internal/IImsRegistrationListener;
-Lcom/android/ims/internal/IImsServiceController$Stub;
-Lcom/android/ims/internal/IImsServiceController;
 Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub$Proxy;
 Lcom/android/ims/internal/IImsServiceFeatureCallback$Stub;
 Lcom/android/ims/internal/IImsServiceFeatureCallback;
@@ -59891,14 +50310,7 @@
 Lcom/android/ims/internal/IImsUt;
 Lcom/android/ims/internal/IImsUtListener$Stub;
 Lcom/android/ims/internal/IImsUtListener;
-Lcom/android/ims/internal/IImsVideoCallCallback$Stub;
-Lcom/android/ims/internal/IImsVideoCallCallback;
-Lcom/android/ims/internal/IImsVideoCallProvider$Stub;
-Lcom/android/ims/internal/IImsVideoCallProvider;
-Lcom/android/ims/internal/ImsVideoCallProviderWrapper$2;
-Lcom/android/ims/internal/ImsVideoCallProviderWrapper$ImsVideoCallCallback;
 Lcom/android/ims/internal/ImsVideoCallProviderWrapper$ImsVideoProviderWrapperCallback;
-Lcom/android/ims/internal/ImsVideoCallProviderWrapper;
 Lcom/android/ims/internal/uce/UceServiceBase$UceServiceBinder;
 Lcom/android/ims/internal/uce/UceServiceBase;
 Lcom/android/ims/internal/uce/common/CapInfo$1;
@@ -59907,7 +50319,7 @@
 Lcom/android/ims/internal/uce/common/StatusCode;
 Lcom/android/ims/internal/uce/common/UceLong$1;
 Lcom/android/ims/internal/uce/common/UceLong;
-Lcom/android/ims/internal/uce/options/IOptionsService$Stub;
+Lcom/android/ims/internal/uce/options/IOptionsListener;
 Lcom/android/ims/internal/uce/options/IOptionsService;
 Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub$Proxy;
 Lcom/android/ims/internal/uce/presence/IPresenceListener$Stub;
@@ -59923,43 +50335,47 @@
 Lcom/android/ims/internal/uce/presence/PresCmdStatus;
 Lcom/android/ims/internal/uce/presence/PresPublishTriggerType$1;
 Lcom/android/ims/internal/uce/presence/PresPublishTriggerType;
-Lcom/android/ims/internal/uce/presence/PresSipResponse$1;
+Lcom/android/ims/internal/uce/presence/PresResInfo;
+Lcom/android/ims/internal/uce/presence/PresRlmiInfo;
 Lcom/android/ims/internal/uce/presence/PresSipResponse;
+Lcom/android/ims/internal/uce/presence/PresTupleInfo;
 Lcom/android/ims/internal/uce/uceservice/IUceService$Stub$Proxy;
 Lcom/android/ims/internal/uce/uceservice/IUceService$Stub;
 Lcom/android/ims/internal/uce/uceservice/IUceService;
+Lcom/android/ims/internal/uce/uceservice/ImsUceManager$UceServiceDeathRecipient;
 Lcom/android/ims/internal/uce/uceservice/ImsUceManager;
 Lcom/android/internal/R$styleable;
 Lcom/android/internal/accessibility/AccessibilityShortcutController$1;
 Lcom/android/internal/accessibility/AccessibilityShortcutController$FrameworkObjectProvider;
+Lcom/android/internal/accessibility/AccessibilityShortcutController$ToggleableFrameworkFeatureInfo;
 Lcom/android/internal/accessibility/AccessibilityShortcutController;
+Lcom/android/internal/alsa/AlsaCardsParser$AlsaCardRecord;
 Lcom/android/internal/alsa/AlsaCardsParser;
 Lcom/android/internal/alsa/LineTokenizer;
+Lcom/android/internal/app/AlertActivity;
 Lcom/android/internal/app/AlertController$1;
-Lcom/android/internal/app/AlertController$AlertParams$1;
-Lcom/android/internal/app/AlertController$AlertParams$3;
-Lcom/android/internal/app/AlertController$AlertParams$4;
 Lcom/android/internal/app/AlertController$AlertParams;
 Lcom/android/internal/app/AlertController$ButtonHandler;
-Lcom/android/internal/app/AlertController$CheckedItemAdapter;
-Lcom/android/internal/app/AlertController$RecycleListView;
 Lcom/android/internal/app/AlertController;
 Lcom/android/internal/app/AssistUtils;
+Lcom/android/internal/app/ColorDisplayController$1;
+Lcom/android/internal/app/ColorDisplayController$Callback;
+Lcom/android/internal/app/ColorDisplayController;
 Lcom/android/internal/app/IAppOpsActiveCallback$Stub$Proxy;
 Lcom/android/internal/app/IAppOpsActiveCallback$Stub;
 Lcom/android/internal/app/IAppOpsActiveCallback;
 Lcom/android/internal/app/IAppOpsCallback$Stub$Proxy;
 Lcom/android/internal/app/IAppOpsCallback$Stub;
 Lcom/android/internal/app/IAppOpsCallback;
+Lcom/android/internal/app/IAppOpsNotedCallback$Stub$Proxy;
+Lcom/android/internal/app/IAppOpsNotedCallback$Stub;
+Lcom/android/internal/app/IAppOpsNotedCallback;
 Lcom/android/internal/app/IAppOpsService$Stub$Proxy;
 Lcom/android/internal/app/IAppOpsService$Stub;
 Lcom/android/internal/app/IAppOpsService;
 Lcom/android/internal/app/IBatteryStats$Stub$Proxy;
 Lcom/android/internal/app/IBatteryStats$Stub;
 Lcom/android/internal/app/IBatteryStats;
-Lcom/android/internal/app/IMediaContainerService$Stub$Proxy;
-Lcom/android/internal/app/IMediaContainerService$Stub;
-Lcom/android/internal/app/IMediaContainerService;
 Lcom/android/internal/app/ISoundTriggerService$Stub$Proxy;
 Lcom/android/internal/app/ISoundTriggerService$Stub;
 Lcom/android/internal/app/ISoundTriggerService;
@@ -59974,7 +50390,6 @@
 Lcom/android/internal/app/IVoiceInteractionSessionShowCallback;
 Lcom/android/internal/app/IVoiceInteractor$Stub;
 Lcom/android/internal/app/IVoiceInteractor;
-Lcom/android/internal/app/LocalePickerWithRegion$LocaleSelectedListener;
 Lcom/android/internal/app/ProcessMap;
 Lcom/android/internal/app/ResolverActivity$ActionTitle;
 Lcom/android/internal/app/ResolverActivity;
@@ -59986,8 +50401,12 @@
 Lcom/android/internal/app/ToolbarActionBar;
 Lcom/android/internal/app/WindowDecorActionBar$1;
 Lcom/android/internal/app/WindowDecorActionBar;
+Lcom/android/internal/app/procstats/AssociationState$SourceKey;
+Lcom/android/internal/app/procstats/AssociationState$SourceState;
+Lcom/android/internal/app/procstats/AssociationState;
 Lcom/android/internal/app/procstats/DumpUtils;
 Lcom/android/internal/app/procstats/DurationsTable;
+Lcom/android/internal/app/procstats/IProcessStats$Stub$Proxy;
 Lcom/android/internal/app/procstats/IProcessStats$Stub;
 Lcom/android/internal/app/procstats/IProcessStats;
 Lcom/android/internal/app/procstats/ProcessState$1;
@@ -59995,6 +50414,7 @@
 Lcom/android/internal/app/procstats/ProcessState;
 Lcom/android/internal/app/procstats/ProcessStats$1;
 Lcom/android/internal/app/procstats/ProcessStats$PackageState;
+Lcom/android/internal/app/procstats/ProcessStats$ProcessDataCollection;
 Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;
 Lcom/android/internal/app/procstats/ProcessStats$TotalMemoryUseCollection;
 Lcom/android/internal/app/procstats/ProcessStats;
@@ -60004,56 +50424,62 @@
 Lcom/android/internal/app/procstats/SparseMappingTable;
 Lcom/android/internal/app/procstats/SysMemUsageTable;
 Lcom/android/internal/appwidget/IAppWidgetHost$Stub$Proxy;
-Lcom/android/internal/appwidget/IAppWidgetHost$Stub;
-Lcom/android/internal/appwidget/IAppWidgetHost;
 Lcom/android/internal/appwidget/IAppWidgetService$Stub$Proxy;
 Lcom/android/internal/appwidget/IAppWidgetService$Stub;
 Lcom/android/internal/appwidget/IAppWidgetService;
 Lcom/android/internal/backup/IBackupTransport$Stub$Proxy;
 Lcom/android/internal/backup/IBackupTransport$Stub;
 Lcom/android/internal/backup/IBackupTransport;
-Lcom/android/internal/backup/LocalTransport;
-Lcom/android/internal/backup/LocalTransportParameters;
-Lcom/android/internal/backup/LocalTransportService;
-Lcom/android/internal/colorextraction/ColorExtractor$GradientColors;
-Lcom/android/internal/colorextraction/types/ExtractionType;
-Lcom/android/internal/colorextraction/types/Tonal$ColorRange;
-Lcom/android/internal/colorextraction/types/Tonal$ConfigParser;
-Lcom/android/internal/colorextraction/types/Tonal$TonalPalette;
-Lcom/android/internal/colorextraction/types/Tonal;
+Lcom/android/internal/content/FileSystemProvider;
 Lcom/android/internal/content/NativeLibraryHelper$Handle;
 Lcom/android/internal/content/NativeLibraryHelper;
 Lcom/android/internal/content/PackageHelper$1;
-Lcom/android/internal/content/PackageHelper$TestableInterface;
 Lcom/android/internal/content/PackageHelper;
 Lcom/android/internal/content/PackageMonitor;
 Lcom/android/internal/content/ReferrerIntent$1;
 Lcom/android/internal/content/ReferrerIntent;
-Lcom/android/internal/graphics/ColorUtils;
+Lcom/android/internal/database/SortCursor$1;
+Lcom/android/internal/database/SortCursor;
 Lcom/android/internal/graphics/SfVsyncFrameCallbackProvider;
 Lcom/android/internal/graphics/drawable/AnimationScaleListDrawable$AnimationScaleListState;
 Lcom/android/internal/graphics/drawable/AnimationScaleListDrawable;
 Lcom/android/internal/hardware/AmbientDisplayConfiguration;
+Lcom/android/internal/infra/-$$Lambda$7-CJJfrUZBVuXZyYFEWBNh8Mky8;
+Lcom/android/internal/infra/-$$Lambda$8VC8cCqnYnim9pDyOuWb8UErNzA;
+Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$6FcEKfZ-7TXLg6dcCU8EMuMNAy4;
+Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$9IBVTCLLZgndvH7fu1P14PW1_1o;
+Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$MDW40b8CzodE5xRowI9wDEyXEnw;
+Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$PendingRequest$IBoaBGXZQEXJr69u3aJF-LCJ42Y;
+Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$YSUzqqi1Pbrg2dlwMGMtKWbGXck;
+Lcom/android/internal/infra/-$$Lambda$AbstractRemoteService$cqdY4I-K3gjiNpPabpvkPhvOi-M;
+Lcom/android/internal/infra/-$$Lambda$EbzSql2RHkXox5Myj8A-7kLC4_A;
+Lcom/android/internal/infra/-$$Lambda$sVbq7HpLlYQ6nWwdkTYY11HLc_w;
+Lcom/android/internal/infra/AbstractMultiplePendingRequestsRemoteService;
+Lcom/android/internal/infra/AbstractRemoteService$BasePendingRequest;
+Lcom/android/internal/infra/AbstractRemoteService$MyAsyncPendingRequest;
+Lcom/android/internal/infra/AbstractRemoteService$PendingRequest;
+Lcom/android/internal/infra/AbstractRemoteService$RemoteServiceConnection;
+Lcom/android/internal/infra/AbstractRemoteService$VultureCallback;
+Lcom/android/internal/infra/AbstractRemoteService;
+Lcom/android/internal/infra/AbstractSinglePendingRequestRemoteService;
+Lcom/android/internal/inputmethod/IInputContentUriToken$Stub$Proxy;
 Lcom/android/internal/inputmethod/IInputContentUriToken$Stub;
-Lcom/android/internal/inputmethod/IInputContentUriToken;
-Lcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;
-Lcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;
-Lcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;
-Lcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList$1;
-Lcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList;
-Lcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController$StaticRotationList;
-Lcom/android/internal/inputmethod/InputMethodSubtypeSwitchingController;
-Lcom/android/internal/inputmethod/InputMethodUtils$1;
-Lcom/android/internal/inputmethod/InputMethodUtils$InputMethodListBuilder;
-Lcom/android/internal/inputmethod/InputMethodUtils$InputMethodSettings;
-Lcom/android/internal/inputmethod/InputMethodUtils;
-Lcom/android/internal/inputmethod/LocaleUtils$LocaleExtractor;
+Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub$Proxy;
+Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations$Stub;
+Lcom/android/internal/inputmethod/IInputMethodPrivilegedOperations;
+Lcom/android/internal/inputmethod/InputMethodPrivilegedOperations$OpsHolder;
+Lcom/android/internal/inputmethod/InputMethodPrivilegedOperations;
+Lcom/android/internal/inputmethod/InputMethodPrivilegedOperationsRegistry;
+Lcom/android/internal/inputmethod/SubtypeLocaleUtils;
 Lcom/android/internal/location/GpsNetInitiatedHandler$1;
 Lcom/android/internal/location/GpsNetInitiatedHandler$2;
 Lcom/android/internal/location/GpsNetInitiatedHandler;
 Lcom/android/internal/location/ILocationProvider$Stub$Proxy;
 Lcom/android/internal/location/ILocationProvider$Stub;
 Lcom/android/internal/location/ILocationProvider;
+Lcom/android/internal/location/ILocationProviderManager$Stub$Proxy;
+Lcom/android/internal/location/ILocationProviderManager$Stub;
+Lcom/android/internal/location/ILocationProviderManager;
 Lcom/android/internal/location/ProviderProperties$1;
 Lcom/android/internal/location/ProviderProperties;
 Lcom/android/internal/location/ProviderRequest$1;
@@ -60071,28 +50497,35 @@
 Lcom/android/internal/net/INetworkWatchlistManager$Stub;
 Lcom/android/internal/net/INetworkWatchlistManager;
 Lcom/android/internal/net/NetworkStatsFactory;
+Lcom/android/internal/net/VpnInfo;
 Lcom/android/internal/notification/SystemNotificationChannels;
-Lcom/android/internal/os/-$$Lambda$BatteryStatsImpl$WJBQdQHGlhcwV7yfM8vNEWWvVp0;
-Lcom/android/internal/os/-$$Lambda$BatteryStatsImpl$cVkGM5pv4uMLFgnMwqPRDhEl5a0;
-Lcom/android/internal/os/-$$Lambda$BatteryStatsImpl$mMCK0IbpOZu45KINuNCoRayjoDU;
-Lcom/android/internal/os/-$$Lambda$BatteryStatsImpl$qYIdEyLMO9XI4FHBl_g5LWknDZQ;
-Lcom/android/internal/os/-$$Lambda$KernelUidCpuActiveTimeReader$bd1LhtH6p3uJgMUQoWfE2Qs8bRc;
-Lcom/android/internal/os/-$$Lambda$KernelUidCpuActiveTimeReader$uXm3GBhF7PBpo0hLrva14EQYjPA;
-Lcom/android/internal/os/-$$Lambda$KernelUidCpuClusterTimeReader$SvNbuRWT162Eb4ur1GVE0r4GiDo;
-Lcom/android/internal/os/-$$Lambda$KernelUidCpuClusterTimeReader$j4vHMa0qvl5KRBiWr-LkFJbasC8;
-Lcom/android/internal/os/-$$Lambda$KernelUidCpuFreqTimeReader$_LfRKir9FA4B4VL15YGHagRZaR8;
+Lcom/android/internal/os/-$$Lambda$BatteryStatsImpl$7bfIWpn8X2h-hSzLD6dcuK4Ljuw;
+Lcom/android/internal/os/-$$Lambda$BatteryStatsImpl$B-TmZhQb712ePnuJTxvMe7P-YwQ;
+Lcom/android/internal/os/-$$Lambda$BatteryStatsImpl$Xvt9xdVPtevMWGIjcbxXf0_mr_c;
+Lcom/android/internal/os/-$$Lambda$BatteryStatsImpl$_l2oiaRDRhjCXI_PwXPsAhrgegI;
+Lcom/android/internal/os/-$$Lambda$BinderCallsStats$sqXweH5BoxhmZvI188ctqYiACRk;
+Lcom/android/internal/os/-$$Lambda$FuseAppLoop$e9Yru2f_btesWlxIgerkPnHibpg;
+Lcom/android/internal/os/-$$Lambda$RuntimeInit$ep4ioD9YINkHI5Q1wZ0N_7VFAOg;
+Lcom/android/internal/os/-$$Lambda$ZygoteConnection$03gF5FM1RhLTi9ViVQRSgLvWaJM;
+Lcom/android/internal/os/-$$Lambda$ZygoteConnection$xjqM7qW7vAjTqh2tR5XRF5Vn5mk;
 Lcom/android/internal/os/AndroidPrintStream;
+Lcom/android/internal/os/AppFuseMount$1;
+Lcom/android/internal/os/AppFuseMount;
+Lcom/android/internal/os/AtomicDirectory;
 Lcom/android/internal/os/AtomicFile;
 Lcom/android/internal/os/BackgroundThread;
 Lcom/android/internal/os/BatterySipper$DrainType;
 Lcom/android/internal/os/BatterySipper;
 Lcom/android/internal/os/BatteryStatsHelper$1;
 Lcom/android/internal/os/BatteryStatsHelper;
+Lcom/android/internal/os/BatteryStatsHistory$1;
+Lcom/android/internal/os/BatteryStatsHistory;
 Lcom/android/internal/os/BatteryStatsImpl$1;
 Lcom/android/internal/os/BatteryStatsImpl$2;
 Lcom/android/internal/os/BatteryStatsImpl$3;
 Lcom/android/internal/os/BatteryStatsImpl$4;
 Lcom/android/internal/os/BatteryStatsImpl$5;
+Lcom/android/internal/os/BatteryStatsImpl$6;
 Lcom/android/internal/os/BatteryStatsImpl$BatchTimer;
 Lcom/android/internal/os/BatteryStatsImpl$BatteryCallback;
 Lcom/android/internal/os/BatteryStatsImpl$BluetoothActivityInfoCache;
@@ -60108,6 +50541,7 @@
 Lcom/android/internal/os/BatteryStatsImpl$MyHandler;
 Lcom/android/internal/os/BatteryStatsImpl$OverflowArrayMap;
 Lcom/android/internal/os/BatteryStatsImpl$PlatformIdleStateCallback;
+Lcom/android/internal/os/BatteryStatsImpl$RailEnergyDataCallback;
 Lcom/android/internal/os/BatteryStatsImpl$SamplingTimer;
 Lcom/android/internal/os/BatteryStatsImpl$StopwatchTimer;
 Lcom/android/internal/os/BatteryStatsImpl$SystemClocks;
@@ -60126,20 +50560,30 @@
 Lcom/android/internal/os/BatteryStatsImpl$UidToRemove;
 Lcom/android/internal/os/BatteryStatsImpl$UserInfoProvider;
 Lcom/android/internal/os/BatteryStatsImpl;
-Lcom/android/internal/os/BinderCallsStats$CallSession;
 Lcom/android/internal/os/BinderCallsStats$CallStat;
+Lcom/android/internal/os/BinderCallsStats$CallStatKey;
+Lcom/android/internal/os/BinderCallsStats$Injector;
+Lcom/android/internal/os/BinderCallsStats$OverflowBinder;
 Lcom/android/internal/os/BinderCallsStats$UidEntry;
 Lcom/android/internal/os/BinderCallsStats;
 Lcom/android/internal/os/BinderInternal$BinderProxyLimitListener;
 Lcom/android/internal/os/BinderInternal$BinderProxyLimitListenerDelegate;
+Lcom/android/internal/os/BinderInternal$CallSession;
 Lcom/android/internal/os/BinderInternal$GcWatcher;
+Lcom/android/internal/os/BinderInternal$Observer;
+Lcom/android/internal/os/BinderInternal$WorkSourceProvider;
 Lcom/android/internal/os/BinderInternal;
 Lcom/android/internal/os/BluetoothPowerCalculator;
+Lcom/android/internal/os/CachedDeviceState$Readonly;
+Lcom/android/internal/os/CachedDeviceState$TimeInStateStopwatch;
+Lcom/android/internal/os/CachedDeviceState;
 Lcom/android/internal/os/CameraPowerCalculator;
 Lcom/android/internal/os/ClassLoaderFactory;
 Lcom/android/internal/os/CpuPowerCalculator;
 Lcom/android/internal/os/FlashlightPowerCalculator;
 Lcom/android/internal/os/FuseAppLoop$1;
+Lcom/android/internal/os/FuseAppLoop$BytesMap;
+Lcom/android/internal/os/FuseAppLoop$CallbackEntry;
 Lcom/android/internal/os/FuseAppLoop;
 Lcom/android/internal/os/FuseUnavailableMountException;
 Lcom/android/internal/os/HandlerCaller$Callback;
@@ -60152,37 +50596,44 @@
 Lcom/android/internal/os/IResultReceiver$Stub;
 Lcom/android/internal/os/IResultReceiver;
 Lcom/android/internal/os/IShellCallback$Stub$Proxy;
-Lcom/android/internal/os/IShellCallback;
-Lcom/android/internal/os/KernelCpuProcReader;
+Lcom/android/internal/os/IShellCallback$Stub;
+Lcom/android/internal/os/KernelCpuProcStringReader$ProcFileIterator;
+Lcom/android/internal/os/KernelCpuProcStringReader;
 Lcom/android/internal/os/KernelCpuSpeedReader;
+Lcom/android/internal/os/KernelCpuThreadReader$FrequencyBucketCreator;
+Lcom/android/internal/os/KernelCpuThreadReader$Injector;
+Lcom/android/internal/os/KernelCpuThreadReader;
+Lcom/android/internal/os/KernelCpuThreadReaderSettingsObserver$UidPredicate;
+Lcom/android/internal/os/KernelCpuThreadReaderSettingsObserver;
+Lcom/android/internal/os/KernelCpuUidTimeReader$Callback;
+Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader;
+Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader;
+Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader;
+Lcom/android/internal/os/KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader;
+Lcom/android/internal/os/KernelCpuUidTimeReader;
 Lcom/android/internal/os/KernelMemoryBandwidthStats;
-Lcom/android/internal/os/KernelSingleUidTimeReader$Injector;
-Lcom/android/internal/os/KernelSingleUidTimeReader;
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader$Callback;
-Lcom/android/internal/os/KernelUidCpuActiveTimeReader;
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader$Callback;
-Lcom/android/internal/os/KernelUidCpuClusterTimeReader;
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader$Callback;
-Lcom/android/internal/os/KernelUidCpuFreqTimeReader;
-Lcom/android/internal/os/KernelUidCpuTimeReader$Callback;
-Lcom/android/internal/os/KernelUidCpuTimeReader;
-Lcom/android/internal/os/KernelUidCpuTimeReaderBase$Callback;
-Lcom/android/internal/os/KernelUidCpuTimeReaderBase;
 Lcom/android/internal/os/KernelWakelockReader;
 Lcom/android/internal/os/KernelWakelockStats$Entry;
 Lcom/android/internal/os/KernelWakelockStats;
 Lcom/android/internal/os/LoggingPrintStream$1;
 Lcom/android/internal/os/LoggingPrintStream;
+Lcom/android/internal/os/LooperStats$DispatchSession;
+Lcom/android/internal/os/LooperStats$Entry;
+Lcom/android/internal/os/LooperStats$ExportedEntry;
+Lcom/android/internal/os/LooperStats;
 Lcom/android/internal/os/MediaPowerCalculator;
 Lcom/android/internal/os/MemoryPowerCalculator;
 Lcom/android/internal/os/MobileRadioPowerCalculator;
 Lcom/android/internal/os/PowerCalculator;
 Lcom/android/internal/os/PowerProfile$CpuClusterKey;
 Lcom/android/internal/os/PowerProfile;
+Lcom/android/internal/os/ProcStatsUtil;
+Lcom/android/internal/os/ProcTimeInStateReader;
 Lcom/android/internal/os/ProcessCpuTracker$1;
 Lcom/android/internal/os/ProcessCpuTracker$FilterStats;
 Lcom/android/internal/os/ProcessCpuTracker$Stats;
 Lcom/android/internal/os/ProcessCpuTracker;
+Lcom/android/internal/os/RailStats;
 Lcom/android/internal/os/RoSystemProperties;
 Lcom/android/internal/os/RpmStats$PowerStateElement;
 Lcom/android/internal/os/RpmStats$PowerStatePlatformSleepState;
@@ -60196,11 +50647,14 @@
 Lcom/android/internal/os/RuntimeInit;
 Lcom/android/internal/os/SensorPowerCalculator;
 Lcom/android/internal/os/SomeArgs;
+Lcom/android/internal/os/StoragedUidIoStatsReader;
 Lcom/android/internal/os/TransferPipe;
 Lcom/android/internal/os/WakelockPowerCalculator;
 Lcom/android/internal/os/WifiPowerCalculator;
+Lcom/android/internal/os/WifiPowerEstimator;
 Lcom/android/internal/os/Zygote;
-Lcom/android/internal/os/ZygoteConnection$Arguments;
+Lcom/android/internal/os/ZygoteArguments;
+Lcom/android/internal/os/ZygoteConnection$HiddenApiUsageLogger;
 Lcom/android/internal/os/ZygoteConnection;
 Lcom/android/internal/os/ZygoteInit;
 Lcom/android/internal/os/ZygoteServer;
@@ -60216,21 +50670,21 @@
 Lcom/android/internal/policy/DividerSnapAlgorithm$SnapTarget;
 Lcom/android/internal/policy/DividerSnapAlgorithm;
 Lcom/android/internal/policy/DockedDividerUtils;
-Lcom/android/internal/policy/IKeyguardDismissCallback$Stub$Proxy;
 Lcom/android/internal/policy/IKeyguardDismissCallback$Stub;
-Lcom/android/internal/policy/IKeyguardDismissCallback;
 Lcom/android/internal/policy/IKeyguardDrawnCallback$Stub;
 Lcom/android/internal/policy/IKeyguardDrawnCallback;
 Lcom/android/internal/policy/IKeyguardService$Stub$Proxy;
 Lcom/android/internal/policy/IKeyguardService$Stub;
+Lcom/android/internal/policy/IKeyguardService;
 Lcom/android/internal/policy/IKeyguardStateCallback$Stub;
 Lcom/android/internal/policy/IKeyguardStateCallback;
+Lcom/android/internal/policy/IShortcutService$Stub$Proxy;
 Lcom/android/internal/policy/IShortcutService$Stub;
 Lcom/android/internal/policy/IShortcutService;
-Lcom/android/internal/policy/KeyguardDismissCallback;
 Lcom/android/internal/policy/PhoneFallbackEventHandler;
 Lcom/android/internal/policy/PhoneLayoutInflater;
 Lcom/android/internal/policy/PhoneWindow$1;
+Lcom/android/internal/policy/PhoneWindow$ActionMenuPresenterCallback;
 Lcom/android/internal/policy/PhoneWindow$PanelFeatureState$SavedState$1;
 Lcom/android/internal/policy/PhoneWindow$PanelFeatureState$SavedState;
 Lcom/android/internal/policy/PhoneWindow$PanelFeatureState;
@@ -60240,24 +50694,19 @@
 Lcom/android/internal/policy/PhoneWindow;
 Lcom/android/internal/policy/PipSnapAlgorithm;
 Lcom/android/internal/statusbar/IStatusBar$Stub$Proxy;
+Lcom/android/internal/statusbar/IStatusBar$Stub;
 Lcom/android/internal/statusbar/IStatusBar;
 Lcom/android/internal/statusbar/IStatusBarService$Stub;
 Lcom/android/internal/statusbar/IStatusBarService;
 Lcom/android/internal/statusbar/NotificationVisibility$1;
+Lcom/android/internal/statusbar/NotificationVisibility$NotificationLocation;
 Lcom/android/internal/statusbar/NotificationVisibility;
 Lcom/android/internal/statusbar/StatusBarIcon$1;
 Lcom/android/internal/statusbar/StatusBarIcon;
-Lcom/android/internal/telecom/ICallScreeningAdapter$Stub;
-Lcom/android/internal/telecom/ICallScreeningAdapter;
-Lcom/android/internal/telecom/ICallScreeningService$Stub$Proxy;
-Lcom/android/internal/telecom/ICallScreeningService$Stub;
-Lcom/android/internal/telecom/ICallScreeningService;
 Lcom/android/internal/telecom/IConnectionService$Stub$Proxy;
 Lcom/android/internal/telecom/IConnectionService$Stub;
-Lcom/android/internal/telecom/IConnectionService;
 Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub$Proxy;
 Lcom/android/internal/telecom/IConnectionServiceAdapter$Stub;
-Lcom/android/internal/telecom/IConnectionServiceAdapter;
 Lcom/android/internal/telecom/IInCallAdapter$Stub$Proxy;
 Lcom/android/internal/telecom/IInCallAdapter$Stub;
 Lcom/android/internal/telecom/IInCallAdapter;
@@ -60267,20 +50716,47 @@
 Lcom/android/internal/telecom/ITelecomService$Stub$Proxy;
 Lcom/android/internal/telecom/ITelecomService$Stub;
 Lcom/android/internal/telecom/ITelecomService;
-Lcom/android/internal/telecom/IVideoCallback$Stub$Proxy;
-Lcom/android/internal/telecom/IVideoCallback$Stub;
 Lcom/android/internal/telecom/IVideoCallback;
-Lcom/android/internal/telecom/IVideoProvider$Stub$Proxy;
 Lcom/android/internal/telecom/IVideoProvider$Stub;
 Lcom/android/internal/telecom/IVideoProvider;
 Lcom/android/internal/telecom/RemoteServiceCallback$Stub$Proxy;
 Lcom/android/internal/telecom/RemoteServiceCallback$Stub;
-Lcom/android/internal/telecom/RemoteServiceCallback;
+Lcom/android/internal/telephony/-$$Lambda$ImsSmsDispatcher$3$q7JFSZBuWsj-jBm5R51WxdJYNxc;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$1-6zFa-5X-_-HsO5oSaupKDtHL0;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$1zkPy06BwndFkKrGCUI1ORIPJcI;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$2WGP2Bp11k7_Xwi1N4YefElOUuM;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$2xgrYNleR8FFzFT8hEQx3mDtZ8g;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$8HFbCDJDN1mrLJG980qYH5MGqMk;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$AjZFvwh3Ujx5W3fleFNksc6bLf0;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$FHid4fId_8FGzS_VkQR6V_NuxrY;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$Ja9yTBcEYPqTRBIP-hL0otixVeE;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$LX6rN0XZFTVXkDiHGVCozgs8kHU;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$NO5-HxAafVP54fe9chLZKTACeyU;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$P0j9hvO3e-UE9_1i1QM_ujl8Bpo;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$U28a_EGx2cvmQhDfRRgonMt5Zrc;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$ZOtVAnuhxrXl2L906I6eTOentP0;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$bWluhZvk2X-dQ0UidKfdpd0kwuw;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$hh4N6_N4-PPm_vWjCdCRvS8--Cw;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$oLIrumQtrxqYONQeIeqNtbJdJMU;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSubInfoController$qSXnUMuIwAZ0TQjtyVEfznh1w8o;
+Lcom/android/internal/telephony/-$$Lambda$PhoneSwitcher$WfAxZbJDpCUxBytiUchQ87aGijQ;
+Lcom/android/internal/telephony/-$$Lambda$RILRequest$VaC9ddQXT8qxCl7rcNKtUadFQoI;
 Lcom/android/internal/telephony/-$$Lambda$SubscriptionController$Nt_ojdeqo4C2mbuwymYLvwgOLGo;
+Lcom/android/internal/telephony/-$$Lambda$SubscriptionController$VCQsMNqRHpN3RyoXYzh2YUwA2yc;
+Lcom/android/internal/telephony/-$$Lambda$SubscriptionController$u5xE-urXR6ElZ50305_6guo20Fc;
+Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$-zZXM9oMRZ3vZz7dJOG19J00Bmw;
+Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$D5yF1HbS4cvCyoAj3FESkPtA_0g;
+Lcom/android/internal/telephony/-$$Lambda$SubscriptionInfoUpdater$MMx9iQX0JVqqMPLTUZhdBubFSzU;
+Lcom/android/internal/telephony/-$$Lambda$TelephonyComponentFactory$InjectedComponents$JvIoCy0AgfF5fVN1H6UnTpH4kxc;
+Lcom/android/internal/telephony/-$$Lambda$TelephonyComponentFactory$InjectedComponents$lPb9esCECA9I6VLqv3Aq2ZDh9Iw;
+Lcom/android/internal/telephony/-$$Lambda$TelephonyComponentFactory$InjectedComponents$tidvzo4mrKSDaluwYNp7qAWJEV8;
 Lcom/android/internal/telephony/-$$Lambda$TelephonyPermissions$LxEEC4irBSbjD1lSC4EeVLgFY9I;
+Lcom/android/internal/telephony/-$$Lambda$UV1wDVoVlbcxpr8zevj_aMFtUGw;
+Lcom/android/internal/telephony/-$$Lambda$WWHOcG5P4-jgjzPPgLwm-wN15OM;
 Lcom/android/internal/telephony/AppSmsManager;
 Lcom/android/internal/telephony/BaseCommands;
 Lcom/android/internal/telephony/BlockChecker;
+Lcom/android/internal/telephony/Call$HoldingRequestState;
 Lcom/android/internal/telephony/Call$SrvccState;
 Lcom/android/internal/telephony/Call$State;
 Lcom/android/internal/telephony/Call;
@@ -60297,13 +50773,12 @@
 Lcom/android/internal/telephony/CarrierActionAgent$1;
 Lcom/android/internal/telephony/CarrierActionAgent;
 Lcom/android/internal/telephony/CarrierAppUtils;
-Lcom/android/internal/telephony/CarrierIdentifier$1;
-Lcom/android/internal/telephony/CarrierIdentifier$CarrierMatchingRule;
-Lcom/android/internal/telephony/CarrierIdentifier$SubscriptionsChangedListener;
-Lcom/android/internal/telephony/CarrierIdentifier;
 Lcom/android/internal/telephony/CarrierInfoManager;
 Lcom/android/internal/telephony/CarrierKeyDownloadManager$1;
 Lcom/android/internal/telephony/CarrierKeyDownloadManager;
+Lcom/android/internal/telephony/CarrierResolver$1;
+Lcom/android/internal/telephony/CarrierResolver$CarrierMatchingRule;
+Lcom/android/internal/telephony/CarrierResolver;
 Lcom/android/internal/telephony/CarrierServiceBindHelper$1;
 Lcom/android/internal/telephony/CarrierServiceBindHelper$2;
 Lcom/android/internal/telephony/CarrierServiceBindHelper$AppBinding;
@@ -60316,7 +50791,10 @@
 Lcom/android/internal/telephony/CarrierServiceStateTracker$NotificationType;
 Lcom/android/internal/telephony/CarrierServiceStateTracker$PrefNetworkNotification;
 Lcom/android/internal/telephony/CarrierServiceStateTracker;
-Lcom/android/internal/telephony/CarrierServicesSmsFilter$CarrierServicesSmsFilterCallbackInterface;
+Lcom/android/internal/telephony/CarrierServicesSmsFilter$CallbackTimeoutHandler;
+Lcom/android/internal/telephony/CarrierServicesSmsFilter$CarrierSmsFilter;
+Lcom/android/internal/telephony/CarrierServicesSmsFilter$CarrierSmsFilterCallback;
+Lcom/android/internal/telephony/CarrierServicesSmsFilter$FilterAggregator;
 Lcom/android/internal/telephony/CarrierServicesSmsFilter;
 Lcom/android/internal/telephony/CarrierSignalAgent$1;
 Lcom/android/internal/telephony/CarrierSignalAgent;
@@ -60326,15 +50804,14 @@
 Lcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider$1;
 Lcom/android/internal/telephony/CellularNetworkService$CellularNetworkServiceProvider;
 Lcom/android/internal/telephony/CellularNetworkService;
+Lcom/android/internal/telephony/CellularNetworkValidator$ValidationCallback;
+Lcom/android/internal/telephony/CellularNetworkValidator;
 Lcom/android/internal/telephony/ClientWakelockAccountant;
 Lcom/android/internal/telephony/ClientWakelockTracker;
 Lcom/android/internal/telephony/CommandException$Error;
 Lcom/android/internal/telephony/CommandException;
-Lcom/android/internal/telephony/CommandsInterface$RadioState;
 Lcom/android/internal/telephony/CommandsInterface;
-Lcom/android/internal/telephony/Connection$Listener;
 Lcom/android/internal/telephony/Connection$ListenerBase;
-Lcom/android/internal/telephony/Connection$PostDialListener;
 Lcom/android/internal/telephony/Connection$PostDialState;
 Lcom/android/internal/telephony/Connection;
 Lcom/android/internal/telephony/DctConstants$Activity;
@@ -60344,6 +50821,7 @@
 Lcom/android/internal/telephony/DefaultPhoneNotifier;
 Lcom/android/internal/telephony/DeviceStateMonitor$1;
 Lcom/android/internal/telephony/DeviceStateMonitor$2;
+Lcom/android/internal/telephony/DeviceStateMonitor$3;
 Lcom/android/internal/telephony/DeviceStateMonitor$AccessNetworkThresholds;
 Lcom/android/internal/telephony/DeviceStateMonitor;
 Lcom/android/internal/telephony/DriverCall;
@@ -60360,17 +50838,24 @@
 Lcom/android/internal/telephony/GsmCdmaPhone$2;
 Lcom/android/internal/telephony/GsmCdmaPhone$3;
 Lcom/android/internal/telephony/GsmCdmaPhone;
+Lcom/android/internal/telephony/HalVersion;
 Lcom/android/internal/telephony/HardwareConfig;
+Lcom/android/internal/telephony/HbpcdLookup$MccIdd;
+Lcom/android/internal/telephony/HbpcdUtils;
+Lcom/android/internal/telephony/IApnSourceService;
 Lcom/android/internal/telephony/ICarrierConfigLoader$Stub$Proxy;
 Lcom/android/internal/telephony/ICarrierConfigLoader$Stub;
 Lcom/android/internal/telephony/ICarrierConfigLoader;
 Lcom/android/internal/telephony/IIccPhoneBook$Stub;
 Lcom/android/internal/telephony/IIccPhoneBook;
+Lcom/android/internal/telephony/IMms$Stub$Proxy;
 Lcom/android/internal/telephony/IMms$Stub;
 Lcom/android/internal/telephony/IMms;
+Lcom/android/internal/telephony/INumberVerificationCallback;
 Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub$Proxy;
 Lcom/android/internal/telephony/IOnSubscriptionsChangedListener$Stub;
 Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;
+Lcom/android/internal/telephony/IOns$Stub;
 Lcom/android/internal/telephony/IPhoneStateListener$Stub$Proxy;
 Lcom/android/internal/telephony/IPhoneStateListener$Stub;
 Lcom/android/internal/telephony/IPhoneStateListener;
@@ -60380,6 +50865,7 @@
 Lcom/android/internal/telephony/ISms$Stub$Proxy;
 Lcom/android/internal/telephony/ISms$Stub;
 Lcom/android/internal/telephony/ISms;
+Lcom/android/internal/telephony/ISmsImplBase;
 Lcom/android/internal/telephony/ISub$Stub$Proxy;
 Lcom/android/internal/telephony/ISub$Stub;
 Lcom/android/internal/telephony/ISub;
@@ -60389,6 +50875,7 @@
 Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;
 Lcom/android/internal/telephony/ITelephonyRegistry$Stub;
 Lcom/android/internal/telephony/ITelephonyRegistry;
+Lcom/android/internal/telephony/IWapPushManager;
 Lcom/android/internal/telephony/IccCard;
 Lcom/android/internal/telephony/IccCardConstants$State;
 Lcom/android/internal/telephony/IccPhoneBookInterfaceManager$1;
@@ -60404,10 +50891,13 @@
 Lcom/android/internal/telephony/ImsSmsDispatcher$4;
 Lcom/android/internal/telephony/ImsSmsDispatcher;
 Lcom/android/internal/telephony/InboundSmsHandler$1;
+Lcom/android/internal/telephony/InboundSmsHandler$2;
+Lcom/android/internal/telephony/InboundSmsHandler$CarrierServicesSmsFilterCallback;
 Lcom/android/internal/telephony/InboundSmsHandler$DefaultState;
 Lcom/android/internal/telephony/InboundSmsHandler$DeliveringState;
 Lcom/android/internal/telephony/InboundSmsHandler$IdleState;
 Lcom/android/internal/telephony/InboundSmsHandler$NewMessageNotificationActionReceiver;
+Lcom/android/internal/telephony/InboundSmsHandler$SmsBroadcastReceiver;
 Lcom/android/internal/telephony/InboundSmsHandler$StartupState;
 Lcom/android/internal/telephony/InboundSmsHandler$WaitingState;
 Lcom/android/internal/telephony/InboundSmsHandler;
@@ -60417,10 +50907,12 @@
 Lcom/android/internal/telephony/IntRangeManager;
 Lcom/android/internal/telephony/IntentBroadcaster$1;
 Lcom/android/internal/telephony/IntentBroadcaster;
+Lcom/android/internal/telephony/LinkCapacityEstimate;
 Lcom/android/internal/telephony/LocaleTracker$1;
 Lcom/android/internal/telephony/LocaleTracker;
 Lcom/android/internal/telephony/MccTable$MccEntry;
 Lcom/android/internal/telephony/MccTable;
+Lcom/android/internal/telephony/MmiCode$State;
 Lcom/android/internal/telephony/MmiCode;
 Lcom/android/internal/telephony/NetworkRegistrationManager$NetworkRegStateCallback;
 Lcom/android/internal/telephony/NetworkRegistrationManager$NetworkServiceConnection;
@@ -60429,14 +50921,22 @@
 Lcom/android/internal/telephony/NetworkScanRequestTracker$1;
 Lcom/android/internal/telephony/NetworkScanRequestTracker$NetworkScanRequestScheduler;
 Lcom/android/internal/telephony/NetworkScanRequestTracker;
+Lcom/android/internal/telephony/NewNitzStateMachine$1;
+Lcom/android/internal/telephony/NewNitzStateMachine;
+Lcom/android/internal/telephony/NewTimeServiceHelper$1;
+Lcom/android/internal/telephony/NewTimeServiceHelper$Listener;
+Lcom/android/internal/telephony/NewTimeServiceHelper;
 Lcom/android/internal/telephony/NitzData;
-Lcom/android/internal/telephony/NitzStateMachine$1;
 Lcom/android/internal/telephony/NitzStateMachine$DeviceState;
 Lcom/android/internal/telephony/NitzStateMachine;
 Lcom/android/internal/telephony/OemHookIndication;
 Lcom/android/internal/telephony/OemHookResponse;
+Lcom/android/internal/telephony/OperatorInfo;
 Lcom/android/internal/telephony/Phone$1;
 Lcom/android/internal/telephony/Phone;
+Lcom/android/internal/telephony/PhoneConfigurationManager$MainThreadHandler;
+Lcom/android/internal/telephony/PhoneConfigurationManager;
+Lcom/android/internal/telephony/PhoneConfigurationModels;
 Lcom/android/internal/telephony/PhoneConstantConversions$1;
 Lcom/android/internal/telephony/PhoneConstantConversions;
 Lcom/android/internal/telephony/PhoneConstants$DataState;
@@ -60444,12 +50944,18 @@
 Lcom/android/internal/telephony/PhoneFactory;
 Lcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;
 Lcom/android/internal/telephony/PhoneInternalInterface$DialArgs$Builder;
+Lcom/android/internal/telephony/PhoneInternalInterface$SuppService;
 Lcom/android/internal/telephony/PhoneInternalInterface;
 Lcom/android/internal/telephony/PhoneNotifier;
 Lcom/android/internal/telephony/PhoneStateIntentReceiver;
+Lcom/android/internal/telephony/PhoneSubInfoController$CallPhoneMethodHelper;
+Lcom/android/internal/telephony/PhoneSubInfoController$PermissionCheckHelper;
 Lcom/android/internal/telephony/PhoneSubInfoController;
 Lcom/android/internal/telephony/PhoneSwitcher$1;
 Lcom/android/internal/telephony/PhoneSwitcher$2;
+Lcom/android/internal/telephony/PhoneSwitcher$3;
+Lcom/android/internal/telephony/PhoneSwitcher$4;
+Lcom/android/internal/telephony/PhoneSwitcher$5;
 Lcom/android/internal/telephony/PhoneSwitcher$PhoneState;
 Lcom/android/internal/telephony/PhoneSwitcher$PhoneSwitcherNetworkRequestListener;
 Lcom/android/internal/telephony/PhoneSwitcher;
@@ -60473,12 +50979,14 @@
 Lcom/android/internal/telephony/RetryManager$RetryRec;
 Lcom/android/internal/telephony/RetryManager;
 Lcom/android/internal/telephony/RilWakelockInfo;
+Lcom/android/internal/telephony/SMSDispatcher$ConfirmDialogListener;
 Lcom/android/internal/telephony/SMSDispatcher$SettingsObserver;
+Lcom/android/internal/telephony/SMSDispatcher$SmsSender;
+Lcom/android/internal/telephony/SMSDispatcher$SmsSenderCallback;
 Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;
+Lcom/android/internal/telephony/SMSDispatcher$TextSmsSender;
 Lcom/android/internal/telephony/SMSDispatcher;
 Lcom/android/internal/telephony/ServiceStateTracker$1;
-Lcom/android/internal/telephony/ServiceStateTracker$2;
-Lcom/android/internal/telephony/ServiceStateTracker$CellInfoResult;
 Lcom/android/internal/telephony/ServiceStateTracker$SstSubscriptionsChangedListener;
 Lcom/android/internal/telephony/ServiceStateTracker;
 Lcom/android/internal/telephony/SettingsObserver;
@@ -60492,13 +51000,15 @@
 Lcom/android/internal/telephony/SmsBroadcastUndelivered$ScanRawTableThread;
 Lcom/android/internal/telephony/SmsBroadcastUndelivered;
 Lcom/android/internal/telephony/SmsConstants$MessageClass;
+Lcom/android/internal/telephony/SmsDispatchersController$1;
 Lcom/android/internal/telephony/SmsDispatchersController;
+Lcom/android/internal/telephony/SmsHeader$ConcatRef;
 Lcom/android/internal/telephony/SmsHeader;
 Lcom/android/internal/telephony/SmsMessageBase;
 Lcom/android/internal/telephony/SmsNumberUtils;
-Lcom/android/internal/telephony/SmsResponse;
 Lcom/android/internal/telephony/SmsStorageMonitor$1;
 Lcom/android/internal/telephony/SmsStorageMonitor;
+Lcom/android/internal/telephony/SmsUsageMonitor$1;
 Lcom/android/internal/telephony/SmsUsageMonitor$SettingsObserver;
 Lcom/android/internal/telephony/SmsUsageMonitor$SettingsObserverHandler;
 Lcom/android/internal/telephony/SmsUsageMonitor$ShortCodePatternMatcher;
@@ -60511,22 +51021,18 @@
 Lcom/android/internal/telephony/SubscriptionMonitor$2;
 Lcom/android/internal/telephony/SubscriptionMonitor;
 Lcom/android/internal/telephony/TelephonyCapabilities;
+Lcom/android/internal/telephony/TelephonyComponentFactory$InjectedComponents;
 Lcom/android/internal/telephony/TelephonyComponentFactory;
 Lcom/android/internal/telephony/TelephonyDevController;
 Lcom/android/internal/telephony/TelephonyPermissions;
 Lcom/android/internal/telephony/TelephonyTester$1;
 Lcom/android/internal/telephony/TelephonyTester;
-Lcom/android/internal/telephony/TimeServiceHelper$1;
-Lcom/android/internal/telephony/TimeServiceHelper$2;
-Lcom/android/internal/telephony/TimeServiceHelper$Listener;
-Lcom/android/internal/telephony/TimeServiceHelper;
 Lcom/android/internal/telephony/TimeZoneLookupHelper$CountryResult;
 Lcom/android/internal/telephony/TimeZoneLookupHelper$OffsetResult;
 Lcom/android/internal/telephony/TimeZoneLookupHelper;
 Lcom/android/internal/telephony/UiccPhoneBookController;
 Lcom/android/internal/telephony/UiccSmsController;
 Lcom/android/internal/telephony/VisualVoicemailSmsFilter$1;
-Lcom/android/internal/telephony/VisualVoicemailSmsFilter$PhoneAccountHandleConverter;
 Lcom/android/internal/telephony/VisualVoicemailSmsFilter;
 Lcom/android/internal/telephony/VisualVoicemailSmsParser;
 Lcom/android/internal/telephony/WakeLockStateMachine$1;
@@ -60537,30 +51043,67 @@
 Lcom/android/internal/telephony/WapPushOverSms$1;
 Lcom/android/internal/telephony/WapPushOverSms$BindServiceThread;
 Lcom/android/internal/telephony/WapPushOverSms;
+Lcom/android/internal/telephony/WspTypeDecoder;
+Lcom/android/internal/telephony/cat/AppInterface$CommandType;
 Lcom/android/internal/telephony/cat/AppInterface;
+Lcom/android/internal/telephony/cat/BerTlv;
+Lcom/android/internal/telephony/cat/CatCmdMessage$1;
+Lcom/android/internal/telephony/cat/CatCmdMessage$2;
+Lcom/android/internal/telephony/cat/CatCmdMessage;
 Lcom/android/internal/telephony/cat/CatException;
 Lcom/android/internal/telephony/cat/CatLog;
+Lcom/android/internal/telephony/cat/CatService$1;
 Lcom/android/internal/telephony/cat/CatService;
+Lcom/android/internal/telephony/cat/CommandDetails$1;
+Lcom/android/internal/telephony/cat/CommandDetails;
+Lcom/android/internal/telephony/cat/CommandParams;
+Lcom/android/internal/telephony/cat/CommandParamsFactory$1;
 Lcom/android/internal/telephony/cat/CommandParamsFactory;
+Lcom/android/internal/telephony/cat/ComprehensionTlv;
+Lcom/android/internal/telephony/cat/ComprehensionTlvTag;
+Lcom/android/internal/telephony/cat/DTTZResponseData;
 Lcom/android/internal/telephony/cat/IconLoader;
+Lcom/android/internal/telephony/cat/Input;
+Lcom/android/internal/telephony/cat/Item$1;
+Lcom/android/internal/telephony/cat/Item;
+Lcom/android/internal/telephony/cat/LaunchBrowserMode;
+Lcom/android/internal/telephony/cat/Menu$1;
+Lcom/android/internal/telephony/cat/Menu;
+Lcom/android/internal/telephony/cat/PresentationType;
+Lcom/android/internal/telephony/cat/ResponseData;
+Lcom/android/internal/telephony/cat/ResultCode;
 Lcom/android/internal/telephony/cat/ResultException;
+Lcom/android/internal/telephony/cat/RilMessage;
 Lcom/android/internal/telephony/cat/RilMessageDecoder$StateCmdParamsReady;
 Lcom/android/internal/telephony/cat/RilMessageDecoder$StateStart;
 Lcom/android/internal/telephony/cat/RilMessageDecoder;
+Lcom/android/internal/telephony/cat/SelectItemParams;
+Lcom/android/internal/telephony/cat/TextMessage;
+Lcom/android/internal/telephony/cat/ValueObject;
+Lcom/android/internal/telephony/cat/ValueParser;
+Lcom/android/internal/telephony/cdma/CdmaCallWaitingNotification;
 Lcom/android/internal/telephony/cdma/CdmaInboundSmsHandler;
+Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaDisplayInfoRec;
+Lcom/android/internal/telephony/cdma/CdmaInformationRecords$CdmaSignalInfoRec;
 Lcom/android/internal/telephony/cdma/CdmaSMSDispatcher;
 Lcom/android/internal/telephony/cdma/CdmaServiceCategoryProgramHandler$1;
 Lcom/android/internal/telephony/cdma/CdmaServiceCategoryProgramHandler;
 Lcom/android/internal/telephony/cdma/CdmaSmsBroadcastConfigInfo;
 Lcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;
 Lcom/android/internal/telephony/cdma/EriInfo;
+Lcom/android/internal/telephony/cdma/EriManager$EriDisplayInformation;
 Lcom/android/internal/telephony/cdma/EriManager$EriFile;
 Lcom/android/internal/telephony/cdma/EriManager;
+Lcom/android/internal/telephony/cdma/SignalToneUtil;
 Lcom/android/internal/telephony/cdma/SmsMessage;
 Lcom/android/internal/telephony/cdma/sms/BearerData$TimeStamp;
 Lcom/android/internal/telephony/cdma/sms/BearerData;
+Lcom/android/internal/telephony/cdma/sms/CdmaSmsAddress;
+Lcom/android/internal/telephony/dataconnection/-$$Lambda$TransportManager$Q8noshws1IklpLPH3S17G9mmuFA;
+Lcom/android/internal/telephony/dataconnection/AccessNetworksManager$1;
+Lcom/android/internal/telephony/dataconnection/AccessNetworksManager;
 Lcom/android/internal/telephony/dataconnection/ApnContext;
-Lcom/android/internal/telephony/dataconnection/ApnSetting;
+Lcom/android/internal/telephony/dataconnection/ApnSettingUtils;
 Lcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider$1;
 Lcom/android/internal/telephony/dataconnection/CellularDataService$CellularDataServiceProvider;
 Lcom/android/internal/telephony/dataconnection/CellularDataService;
@@ -60586,14 +51129,11 @@
 Lcom/android/internal/telephony/dataconnection/DataServiceManager$CellularDataServiceConnection;
 Lcom/android/internal/telephony/dataconnection/DataServiceManager$DataServiceManagerDeathRecipient;
 Lcom/android/internal/telephony/dataconnection/DataServiceManager;
-Lcom/android/internal/telephony/dataconnection/DcAsyncChannel;
 Lcom/android/internal/telephony/dataconnection/DcController$1;
 Lcom/android/internal/telephony/dataconnection/DcController$2;
 Lcom/android/internal/telephony/dataconnection/DcController$DccDefaultState;
 Lcom/android/internal/telephony/dataconnection/DcController;
 Lcom/android/internal/telephony/dataconnection/DcFailBringUp;
-Lcom/android/internal/telephony/dataconnection/DcFailCause$1;
-Lcom/android/internal/telephony/dataconnection/DcFailCause;
 Lcom/android/internal/telephony/dataconnection/DcRequest;
 Lcom/android/internal/telephony/dataconnection/DcTesterDeactivateAll$1;
 Lcom/android/internal/telephony/dataconnection/DcTesterDeactivateAll;
@@ -60602,58 +51142,71 @@
 Lcom/android/internal/telephony/dataconnection/DcTracker$1;
 Lcom/android/internal/telephony/dataconnection/DcTracker$2;
 Lcom/android/internal/telephony/dataconnection/DcTracker$3;
-Lcom/android/internal/telephony/dataconnection/DcTracker$4;
-Lcom/android/internal/telephony/dataconnection/DcTracker$6;
+Lcom/android/internal/telephony/dataconnection/DcTracker$5;
 Lcom/android/internal/telephony/dataconnection/DcTracker$ApnChangeObserver;
+Lcom/android/internal/telephony/dataconnection/DcTracker$DataStallRecoveryHandler;
+Lcom/android/internal/telephony/dataconnection/DcTracker$DctOnSubscriptionsChangedListener;
 Lcom/android/internal/telephony/dataconnection/DcTracker$RetryFailures;
 Lcom/android/internal/telephony/dataconnection/DcTracker$TxRxSum;
 Lcom/android/internal/telephony/dataconnection/DcTracker;
 Lcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory$InternalHandler;
 Lcom/android/internal/telephony/dataconnection/TelephonyNetworkFactory;
 Lcom/android/internal/telephony/dataconnection/TransportManager;
+Lcom/android/internal/telephony/emergency/EmergencyNumberTracker$1;
+Lcom/android/internal/telephony/emergency/EmergencyNumberTracker$2;
+Lcom/android/internal/telephony/emergency/EmergencyNumberTracker;
+Lcom/android/internal/telephony/euicc/-$$Lambda$EuiccConnector$ConnectedState$1$wTkmDdVlxcrtbVPcCl3t7xD490o;
 Lcom/android/internal/telephony/euicc/-$$Lambda$EuiccConnector$ConnectedState$4$S52i3hpE3-FGho807KZ1LR5rXQM;
+Lcom/android/internal/telephony/euicc/EuiccCardController$1;
 Lcom/android/internal/telephony/euicc/EuiccCardController$SimSlotStatusChangedBroadcastReceiver;
 Lcom/android/internal/telephony/euicc/EuiccCardController;
 Lcom/android/internal/telephony/euicc/EuiccConnector$1;
 Lcom/android/internal/telephony/euicc/EuiccConnector$AvailableState;
 Lcom/android/internal/telephony/euicc/EuiccConnector$BaseEuiccCommandCallback;
 Lcom/android/internal/telephony/euicc/EuiccConnector$BindingState;
+Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$1;
 Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState$4;
 Lcom/android/internal/telephony/euicc/EuiccConnector$ConnectedState;
 Lcom/android/internal/telephony/euicc/EuiccConnector$DisconnectedState;
 Lcom/android/internal/telephony/euicc/EuiccConnector$EuiccPackageMonitor;
+Lcom/android/internal/telephony/euicc/EuiccConnector$GetEidCommandCallback;
 Lcom/android/internal/telephony/euicc/EuiccConnector$GetEuiccProfileInfoListCommandCallback;
 Lcom/android/internal/telephony/euicc/EuiccConnector$UnavailableState;
 Lcom/android/internal/telephony/euicc/EuiccConnector;
 Lcom/android/internal/telephony/euicc/EuiccController$3;
+Lcom/android/internal/telephony/euicc/EuiccController$9;
 Lcom/android/internal/telephony/euicc/EuiccController;
 Lcom/android/internal/telephony/euicc/IEuiccCardController$Stub;
 Lcom/android/internal/telephony/euicc/IEuiccCardController;
 Lcom/android/internal/telephony/euicc/IEuiccController$Stub;
 Lcom/android/internal/telephony/euicc/IEuiccController;
+Lcom/android/internal/telephony/euicc/IGetAllProfilesCallback$Stub$Proxy;
+Lcom/android/internal/telephony/euicc/IGetAllProfilesCallback$Stub;
+Lcom/android/internal/telephony/euicc/IGetAllProfilesCallback;
 Lcom/android/internal/telephony/gsm/GsmCellBroadcastHandler;
 Lcom/android/internal/telephony/gsm/GsmInboundSmsHandler;
 Lcom/android/internal/telephony/gsm/GsmSMSDispatcher;
 Lcom/android/internal/telephony/gsm/GsmSmsAddress;
+Lcom/android/internal/telephony/gsm/GsmSmsCbMessage;
 Lcom/android/internal/telephony/gsm/SimTlv;
 Lcom/android/internal/telephony/gsm/SmsBroadcastConfigInfo;
+Lcom/android/internal/telephony/gsm/SmsCbHeader;
 Lcom/android/internal/telephony/gsm/SmsMessage$PduParser;
 Lcom/android/internal/telephony/gsm/SmsMessage;
 Lcom/android/internal/telephony/gsm/UsimDataDownloadHandler;
 Lcom/android/internal/telephony/gsm/UsimPhoneBookManager$File;
 Lcom/android/internal/telephony/gsm/UsimPhoneBookManager$PbrRecord;
 Lcom/android/internal/telephony/gsm/UsimPhoneBookManager;
+Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$-jFhgP_NotuFSwzjQBXWuvls4x4;
 Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$SIkPixr-qGLIK-usUJIKu6S5BBs;
 Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$VfY5To_kbbTJevLzywTg-_S1JhA;
-Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$WVd6ghNMbVDukmkxia3ZwNeZzEY;
 Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$aWLlEvfonhYSfDR8cVsM6A5pmqI;
+Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$kF808g2NWzNL8H1SwzDc1FxiQdQ;
 Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$pNx4XUM9FmR6cV_MCAGiEt8F4pg;
 Lcom/android/internal/telephony/ims/-$$Lambda$ImsResolver$rPjfocpARQ2sab24iic4o3kTTgw;
 Lcom/android/internal/telephony/ims/-$$Lambda$ImsServiceController$w3xbtqEhKr7IY81qFuw0e94p84Y;
+Lcom/android/internal/telephony/ims/-$$Lambda$WVd6ghNMbVDukmkxia3ZwNeZzEY;
 Lcom/android/internal/telephony/ims/-$$Lambda$WamP7BPq0j01TgYE3GvUqU3b-rs;
-Lcom/android/internal/telephony/ims/ImsConfigCompatAdapter;
-Lcom/android/internal/telephony/ims/ImsRegistrationCompatAdapter$1;
-Lcom/android/internal/telephony/ims/ImsRegistrationCompatAdapter;
 Lcom/android/internal/telephony/ims/ImsResolver$1;
 Lcom/android/internal/telephony/ims/ImsResolver$2;
 Lcom/android/internal/telephony/ims/ImsResolver$3;
@@ -60677,17 +51230,15 @@
 Lcom/android/internal/telephony/ims/ImsServiceController$ImsServiceControllerCallbacks;
 Lcom/android/internal/telephony/ims/ImsServiceController$RebindRetry;
 Lcom/android/internal/telephony/ims/ImsServiceController;
-Lcom/android/internal/telephony/ims/ImsServiceControllerCompat;
+Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$ImsServiceFeatureQuery;
 Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager$Listener;
 Lcom/android/internal/telephony/ims/ImsServiceFeatureQueryManager;
-Lcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$1;
-Lcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$2;
-Lcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$4;
-Lcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$5;
-Lcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$ConfigListener;
-Lcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter$ImsRegistrationListenerBase;
-Lcom/android/internal/telephony/ims/MmTelFeatureCompatAdapter;
-Lcom/android/internal/telephony/ims/MmTelInterfaceAdapter;
+Lcom/android/internal/telephony/ims/RcsEventQueryHelper;
+Lcom/android/internal/telephony/ims/RcsMessageQueryHelper;
+Lcom/android/internal/telephony/ims/RcsMessageStoreController;
+Lcom/android/internal/telephony/ims/RcsMessageStoreUtil;
+Lcom/android/internal/telephony/ims/RcsParticipantQueryHelper;
+Lcom/android/internal/telephony/ims/RcsThreadQueryHelper;
 Lcom/android/internal/telephony/imsphone/-$$Lambda$ImsPhoneCallTracker$QlPVd_3u4_verjHUDnkn6zaSe54;
 Lcom/android/internal/telephony/imsphone/-$$Lambda$ImsPhoneCallTracker$Zw03itjXT6-LrhiYuD-9nKFg2Wg;
 Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker$1;
@@ -60697,6 +51248,7 @@
 Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker$ImsCallNotify;
 Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker;
 Lcom/android/internal/telephony/imsphone/ImsExternalConnection$Listener;
+Lcom/android/internal/telephony/imsphone/ImsExternalConnection;
 Lcom/android/internal/telephony/imsphone/ImsPhone$1;
 Lcom/android/internal/telephony/imsphone/ImsPhone$2;
 Lcom/android/internal/telephony/imsphone/ImsPhone$3;
@@ -60713,6 +51265,7 @@
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$7;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$8;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$9;
+Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$HoldSwapState;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$MmTelFeatureListener;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$PhoneNumberUtilsProxy;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker$PhoneStateListener;
@@ -60723,6 +51276,7 @@
 Lcom/android/internal/telephony/imsphone/ImsPhoneFactory;
 Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;
 Lcom/android/internal/telephony/imsphone/ImsPullCall;
+Lcom/android/internal/telephony/metrics/-$$Lambda$TelephonyMetrics$tQOsX1lKb2eTuPp-1rpkeIAEOoY;
 Lcom/android/internal/telephony/metrics/CallSessionEventBuilder;
 Lcom/android/internal/telephony/metrics/InProgressCallSession;
 Lcom/android/internal/telephony/metrics/InProgressSmsSession;
@@ -60733,11 +51287,13 @@
 Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierAttribute;
 Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierId;
 Lcom/android/internal/telephony/nano/CarrierIdProto$CarrierList;
+Lcom/android/internal/telephony/nano/TelephonyProto$ActiveSubscriptionInfo;
 Lcom/android/internal/telephony/nano/TelephonyProto$ImsCapabilities;
 Lcom/android/internal/telephony/nano/TelephonyProto$ImsConnectionState;
 Lcom/android/internal/telephony/nano/TelephonyProto$ImsReasonInfo;
 Lcom/android/internal/telephony/nano/TelephonyProto$ModemPowerStats;
 Lcom/android/internal/telephony/nano/TelephonyProto$RilDataCall;
+Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event$CBMessage;
 Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession$Event;
 Lcom/android/internal/telephony/nano/TelephonyProto$SmsSession;
 Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession$Event$RilCall;
@@ -60745,6 +51301,7 @@
 Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyCallSession;
 Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatching;
 Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$CarrierIdMatchingResult;
+Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$DataSwitch;
 Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilDeactivateDataCall;
 Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCall;
 Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyEvent$RilSetupDataCallResponse;
@@ -60754,7 +51311,6 @@
 Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyServiceState$TelephonyOperator;
 Lcom/android/internal/telephony/nano/TelephonyProto$TelephonyServiceState;
 Lcom/android/internal/telephony/nano/TelephonyProto$TelephonySettings;
-Lcom/android/internal/telephony/nano/TelephonyProto$Time;
 Lcom/android/internal/telephony/protobuf/nano/CodedInputByteBufferNano;
 Lcom/android/internal/telephony/protobuf/nano/CodedOutputByteBufferNano;
 Lcom/android/internal/telephony/protobuf/nano/ExtendableMessageNano;
@@ -60767,8 +51323,11 @@
 Lcom/android/internal/telephony/uicc/AdnRecord;
 Lcom/android/internal/telephony/uicc/AdnRecordCache;
 Lcom/android/internal/telephony/uicc/AdnRecordLoader;
+Lcom/android/internal/telephony/uicc/AnswerToReset$HistoricalBytes;
+Lcom/android/internal/telephony/uicc/AnswerToReset$InterfaceByte;
 Lcom/android/internal/telephony/uicc/AnswerToReset;
 Lcom/android/internal/telephony/uicc/CarrierTestOverride;
+Lcom/android/internal/telephony/uicc/CsimFileHandler;
 Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
 Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
 Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;
@@ -60783,6 +51342,8 @@
 Lcom/android/internal/telephony/uicc/IccRecords$IccRecordLoaded;
 Lcom/android/internal/telephony/uicc/IccRecords;
 Lcom/android/internal/telephony/uicc/IccServiceTable;
+Lcom/android/internal/telephony/uicc/IccSlotStatus$SlotState;
+Lcom/android/internal/telephony/uicc/IccSlotStatus;
 Lcom/android/internal/telephony/uicc/IccUtils;
 Lcom/android/internal/telephony/uicc/InstallCarrierAppUtils;
 Lcom/android/internal/telephony/uicc/IsimFileHandler;
@@ -60795,6 +51356,15 @@
 Lcom/android/internal/telephony/uicc/IsimUiccRecords;
 Lcom/android/internal/telephony/uicc/PlmnActRecord$1;
 Lcom/android/internal/telephony/uicc/PlmnActRecord;
+Lcom/android/internal/telephony/uicc/RuimRecords$EfCsimCdmaHomeLoaded;
+Lcom/android/internal/telephony/uicc/RuimRecords$EfCsimEprlLoaded;
+Lcom/android/internal/telephony/uicc/RuimRecords$EfCsimImsimLoaded;
+Lcom/android/internal/telephony/uicc/RuimRecords$EfCsimLiLoaded;
+Lcom/android/internal/telephony/uicc/RuimRecords$EfCsimMdnLoaded;
+Lcom/android/internal/telephony/uicc/RuimRecords$EfCsimMipUppLoaded;
+Lcom/android/internal/telephony/uicc/RuimRecords$EfCsimSpnLoaded;
+Lcom/android/internal/telephony/uicc/RuimRecords$EfPlLoaded;
+Lcom/android/internal/telephony/uicc/RuimRecords;
 Lcom/android/internal/telephony/uicc/SIMRecords$1;
 Lcom/android/internal/telephony/uicc/SIMRecords$EfPlLoaded;
 Lcom/android/internal/telephony/uicc/SIMRecords$EfUsimLiLoaded;
@@ -60805,9 +51375,10 @@
 Lcom/android/internal/telephony/uicc/UiccCardApplication$2;
 Lcom/android/internal/telephony/uicc/UiccCardApplication;
 Lcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules$1;
+Lcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules$TLV;
 Lcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;
+Lcom/android/internal/telephony/uicc/UiccController$1;
 Lcom/android/internal/telephony/uicc/UiccController;
-Lcom/android/internal/telephony/uicc/UiccPkcs15$FileHandler;
 Lcom/android/internal/telephony/uicc/UiccPkcs15$Pkcs15Selector;
 Lcom/android/internal/telephony/uicc/UiccPkcs15;
 Lcom/android/internal/telephony/uicc/UiccProfile$1;
@@ -60821,16 +51392,47 @@
 Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
 Lcom/android/internal/telephony/uicc/UsimServiceTable;
 Lcom/android/internal/telephony/uicc/VoiceMailConstants;
+Lcom/android/internal/telephony/uicc/asn1/Asn1Decoder;
+Lcom/android/internal/telephony/uicc/asn1/Asn1Node$Builder;
+Lcom/android/internal/telephony/uicc/asn1/Asn1Node;
+Lcom/android/internal/telephony/uicc/asn1/InvalidAsn1DataException;
+Lcom/android/internal/telephony/uicc/asn1/TagNotFoundException;
+Lcom/android/internal/telephony/uicc/euicc/-$$Lambda$EuiccCard$7vWsDgJ3RMY6kHsGeBw-CxIKViI;
+Lcom/android/internal/telephony/uicc/euicc/-$$Lambda$EuiccCard$B99bQ-FkeD9OwB8_qTcKScitlrM;
+Lcom/android/internal/telephony/uicc/euicc/-$$Lambda$EuiccCard$HBn5KBGylwjLqIEm3rBhXnUU_8U;
+Lcom/android/internal/telephony/uicc/euicc/-$$Lambda$EuiccCard$L4YPgLjdI8c0_VHmXQ199X1DICE;
+Lcom/android/internal/telephony/uicc/euicc/-$$Lambda$EuiccCard$okradEAowCk8rNBK1OaJIA6l6eA;
+Lcom/android/internal/telephony/uicc/euicc/-$$Lambda$EuiccCard$toN63DWLt72dzp0WCl28UOMSmzE;
+Lcom/android/internal/telephony/uicc/euicc/EuiccCard$1;
+Lcom/android/internal/telephony/uicc/euicc/EuiccCard$2;
+Lcom/android/internal/telephony/uicc/euicc/EuiccCard$ApduExceptionHandler;
+Lcom/android/internal/telephony/uicc/euicc/EuiccCard$ApduRequestBuilder;
+Lcom/android/internal/telephony/uicc/euicc/EuiccCard$ApduResponseHandler;
 Lcom/android/internal/telephony/uicc/euicc/EuiccCard;
+Lcom/android/internal/telephony/uicc/euicc/EuiccCardException;
+Lcom/android/internal/telephony/uicc/euicc/EuiccSpecVersion;
+Lcom/android/internal/telephony/uicc/euicc/Tags;
+Lcom/android/internal/telephony/uicc/euicc/apdu/ApduCommand;
+Lcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$1;
+Lcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$2$1;
+Lcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$2;
+Lcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$3;
+Lcom/android/internal/telephony/uicc/euicc/apdu/ApduSender$4;
+Lcom/android/internal/telephony/uicc/euicc/apdu/ApduSender;
+Lcom/android/internal/telephony/uicc/euicc/apdu/CloseLogicalChannelInvocation;
+Lcom/android/internal/telephony/uicc/euicc/apdu/OpenLogicalChannelInvocation;
+Lcom/android/internal/telephony/uicc/euicc/apdu/RequestBuilder;
+Lcom/android/internal/telephony/uicc/euicc/apdu/RequestProvider;
+Lcom/android/internal/telephony/uicc/euicc/apdu/TransmitApduLogicalChannelInvocation;
+Lcom/android/internal/telephony/uicc/euicc/async/AsyncMessageInvocation;
+Lcom/android/internal/telephony/uicc/euicc/async/AsyncResultCallback;
 Lcom/android/internal/telephony/util/NotificationChannelController$1;
 Lcom/android/internal/telephony/util/NotificationChannelController;
-Lcom/android/internal/telephony/util/TimeStampedValue;
 Lcom/android/internal/telephony/util/VoicemailNotificationSettingsUtil;
 Lcom/android/internal/textservice/ISpellCheckerService$Stub$Proxy;
 Lcom/android/internal/textservice/ISpellCheckerService$Stub;
-Lcom/android/internal/textservice/ISpellCheckerService;
+Lcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub$Proxy;
 Lcom/android/internal/textservice/ISpellCheckerServiceCallback$Stub;
-Lcom/android/internal/textservice/ISpellCheckerServiceCallback;
 Lcom/android/internal/textservice/ISpellCheckerSession$Stub$Proxy;
 Lcom/android/internal/textservice/ISpellCheckerSession$Stub;
 Lcom/android/internal/textservice/ISpellCheckerSession;
@@ -60843,8 +51445,8 @@
 Lcom/android/internal/textservice/ITextServicesSessionListener$Stub$Proxy;
 Lcom/android/internal/textservice/ITextServicesSessionListener$Stub;
 Lcom/android/internal/textservice/ITextServicesSessionListener;
-Lcom/android/internal/textservice/LazyIntToIntMap;
 Lcom/android/internal/transition/EpicenterTranslateClipReveal$1;
+Lcom/android/internal/transition/EpicenterTranslateClipReveal$State;
 Lcom/android/internal/transition/EpicenterTranslateClipReveal$StateEvaluator;
 Lcom/android/internal/transition/EpicenterTranslateClipReveal$StateProperty;
 Lcom/android/internal/transition/EpicenterTranslateClipReveal;
@@ -60852,12 +51454,18 @@
 Lcom/android/internal/util/-$$Lambda$DumpUtils$X8irOs5hfloCKy89_l1HRA1QeG0;
 Lcom/android/internal/util/-$$Lambda$DumpUtils$vCLO_0ezRxkpSERUWCFrJ0ph5jg;
 Lcom/android/internal/util/-$$Lambda$FunctionalUtils$koCSI8D7Nu5vOJTVTEj0m3leo_U;
+Lcom/android/internal/util/-$$Lambda$ProviderAccessStats$9AhC6lKURctNKuYjVd-wu7jn6_c;
+Lcom/android/internal/util/-$$Lambda$StateMachine$SmHandler$KkPO7NIVuI9r_FPEGrY6ux6a5Ks;
 Lcom/android/internal/util/ArrayUtils;
+Lcom/android/internal/util/AsyncChannel$AsyncChannelConnection;
+Lcom/android/internal/util/AsyncChannel$DeathMonitor;
 Lcom/android/internal/util/AsyncChannel$SyncMessenger$SyncHandler;
 Lcom/android/internal/util/AsyncChannel$SyncMessenger;
 Lcom/android/internal/util/AsyncChannel;
 Lcom/android/internal/util/BitUtils;
 Lcom/android/internal/util/BitwiseInputStream;
+Lcom/android/internal/util/BitwiseOutputStream;
+Lcom/android/internal/util/CharSequences;
 Lcom/android/internal/util/CollectionUtils;
 Lcom/android/internal/util/ConcurrentUtils$1$1;
 Lcom/android/internal/util/ConcurrentUtils$1;
@@ -60870,10 +51478,12 @@
 Lcom/android/internal/util/FastPrintWriter;
 Lcom/android/internal/util/FastXmlSerializer;
 Lcom/android/internal/util/FileRotator$FileInfo;
+Lcom/android/internal/util/FileRotator$Reader;
 Lcom/android/internal/util/FileRotator$Rewriter;
 Lcom/android/internal/util/FileRotator$Writer;
 Lcom/android/internal/util/FileRotator;
 Lcom/android/internal/util/FunctionalUtils$RemoteExceptionIgnoringConsumer;
+Lcom/android/internal/util/FunctionalUtils$ThrowingConsumer;
 Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;
 Lcom/android/internal/util/FunctionalUtils$ThrowingSupplier;
 Lcom/android/internal/util/FunctionalUtils;
@@ -60889,17 +51499,19 @@
 Lcom/android/internal/util/LocalLog;
 Lcom/android/internal/util/MemInfoReader;
 Lcom/android/internal/util/MessageUtils;
-Lcom/android/internal/util/NotificationColorUtil$ColorUtilsFromCompat;
-Lcom/android/internal/util/NotificationColorUtil;
+Lcom/android/internal/util/NotificationMessagingUtil$1;
 Lcom/android/internal/util/NotificationMessagingUtil;
 Lcom/android/internal/util/ObjectUtils;
 Lcom/android/internal/util/ParseUtils;
 Lcom/android/internal/util/Preconditions;
-Lcom/android/internal/util/ProcFileReader;
 Lcom/android/internal/util/ProgressReporter;
+Lcom/android/internal/util/ProviderAccessStats$PerThreadData;
+Lcom/android/internal/util/ProviderAccessStats;
 Lcom/android/internal/util/RingBuffer;
 Lcom/android/internal/util/RingBufferIndices;
 Lcom/android/internal/util/ScreenShapeHelper;
+Lcom/android/internal/util/ScreenshotHelper$2$1;
+Lcom/android/internal/util/ScreenshotHelper$2;
 Lcom/android/internal/util/ScreenshotHelper;
 Lcom/android/internal/util/StatLogger;
 Lcom/android/internal/util/State;
@@ -60910,15 +51522,23 @@
 Lcom/android/internal/util/StateMachine$SmHandler$StateInfo;
 Lcom/android/internal/util/StateMachine$SmHandler;
 Lcom/android/internal/util/StateMachine;
+Lcom/android/internal/util/SyncResultReceiver;
 Lcom/android/internal/util/ToBooleanFunction;
 Lcom/android/internal/util/TokenBucket;
+Lcom/android/internal/util/UserIcons;
 Lcom/android/internal/util/VirtualRefBasePtr;
 Lcom/android/internal/util/WakeupMessage;
 Lcom/android/internal/util/XmlUtils$ReadMapCallback;
 Lcom/android/internal/util/XmlUtils$WriteMapCallback;
 Lcom/android/internal/util/XmlUtils;
+Lcom/android/internal/util/function/HeptConsumer;
+Lcom/android/internal/util/function/HeptFunction;
 Lcom/android/internal/util/function/HexConsumer;
 Lcom/android/internal/util/function/HexFunction;
+Lcom/android/internal/util/function/NonaConsumer;
+Lcom/android/internal/util/function/NonaFunction;
+Lcom/android/internal/util/function/OctConsumer;
+Lcom/android/internal/util/function/OctFunction;
 Lcom/android/internal/util/function/QuadConsumer;
 Lcom/android/internal/util/function/QuadFunction;
 Lcom/android/internal/util/function/QuintConsumer;
@@ -60939,10 +51559,11 @@
 Lcom/android/internal/util/function/pooled/PooledSupplier$OfInt;
 Lcom/android/internal/util/function/pooled/PooledSupplier$OfLong;
 Lcom/android/internal/util/function/pooled/PooledSupplier;
+Lcom/android/internal/view/-$$Lambda$FloatingActionMode$LU5MpPuKYDtwlFAuYhXYfzgLNLE;
 Lcom/android/internal/view/ActionBarPolicy;
 Lcom/android/internal/view/BaseIWindow;
-Lcom/android/internal/view/BaseSurfaceHolder;
 Lcom/android/internal/view/FloatingActionMode$1;
+Lcom/android/internal/view/FloatingActionMode$3;
 Lcom/android/internal/view/FloatingActionMode$FloatingToolbarVisibilityHelper;
 Lcom/android/internal/view/FloatingActionMode;
 Lcom/android/internal/view/IInputConnectionWrapper$MyHandler;
@@ -60972,7 +51593,6 @@
 Lcom/android/internal/view/InputBindResult;
 Lcom/android/internal/view/InputConnectionWrapper$InputContextCallback;
 Lcom/android/internal/view/InputConnectionWrapper;
-Lcom/android/internal/view/OneShotPreDrawListener;
 Lcom/android/internal/view/RootViewSurfaceTaker;
 Lcom/android/internal/view/RotationPolicy;
 Lcom/android/internal/view/SurfaceCallbackHelper$1;
@@ -60986,6 +51606,7 @@
 Lcom/android/internal/view/menu/ActionMenuItemView$PopupCallback;
 Lcom/android/internal/view/menu/ActionMenuItemView;
 Lcom/android/internal/view/menu/BaseMenuPresenter;
+Lcom/android/internal/view/menu/ContextMenuBuilder;
 Lcom/android/internal/view/menu/ListMenuItemView;
 Lcom/android/internal/view/menu/MenuAdapter;
 Lcom/android/internal/view/menu/MenuBuilder$Callback;
@@ -61002,6 +51623,7 @@
 Lcom/android/internal/view/menu/MenuView;
 Lcom/android/internal/view/menu/ShowableListMenu;
 Lcom/android/internal/view/menu/StandardMenuPopup$1;
+Lcom/android/internal/view/menu/StandardMenuPopup$2;
 Lcom/android/internal/view/menu/StandardMenuPopup;
 Lcom/android/internal/widget/-$$Lambda$FloatingToolbar$7-enOzxeypZYfdFYr1HzBLfj47k;
 Lcom/android/internal/widget/-$$Lambda$FloatingToolbar$FloatingToolbarPopup$77YZy6kisO5OnjlgtKp0Zi1V8EY;
@@ -61019,6 +51641,8 @@
 Lcom/android/internal/widget/ActionBarOverlayLayout$ActionBarVisibilityCallback;
 Lcom/android/internal/widget/ActionBarOverlayLayout$LayoutParams;
 Lcom/android/internal/widget/ActionBarOverlayLayout;
+Lcom/android/internal/widget/ActionBarView$HomeView;
+Lcom/android/internal/widget/ActionBarView;
 Lcom/android/internal/widget/AlertDialogLayout;
 Lcom/android/internal/widget/BackgroundFallback;
 Lcom/android/internal/widget/ButtonBarLayout;
@@ -61026,36 +51650,50 @@
 Lcom/android/internal/widget/DecorToolbar;
 Lcom/android/internal/widget/DialogTitle;
 Lcom/android/internal/widget/EditableInputConnection;
-Lcom/android/internal/widget/FloatingToolbar$1;
+Lcom/android/internal/widget/ExploreByTouchHelper;
 Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$11;
+Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$12;
+Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$2;
 Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$3;
+Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$4;
 Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$LogAccelerateInterpolator;
+Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanel;
 Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup$OverflowPanelViewHelper;
 Lcom/android/internal/widget/FloatingToolbar$FloatingToolbarPopup;
 Lcom/android/internal/widget/FloatingToolbar;
 Lcom/android/internal/widget/ICheckCredentialProgressCallback$Stub$Proxy;
-Lcom/android/internal/widget/ICheckCredentialProgressCallback;
 Lcom/android/internal/widget/ILockSettings$Stub$Proxy;
 Lcom/android/internal/widget/ILockSettings$Stub;
 Lcom/android/internal/widget/ILockSettings;
+Lcom/android/internal/widget/LinearLayoutWithDefaultTouchRecepient;
+Lcom/android/internal/widget/LockPatternChecker$4;
+Lcom/android/internal/widget/LockPatternChecker;
+Lcom/android/internal/widget/LockPatternUtils$1;
 Lcom/android/internal/widget/LockPatternUtils$StrongAuthTracker$1;
 Lcom/android/internal/widget/LockPatternUtils$StrongAuthTracker$H;
 Lcom/android/internal/widget/LockPatternUtils$StrongAuthTracker;
 Lcom/android/internal/widget/LockPatternUtils;
+Lcom/android/internal/widget/LockPatternView$4;
+Lcom/android/internal/widget/LockPatternView$5;
+Lcom/android/internal/widget/LockPatternView$6;
+Lcom/android/internal/widget/LockPatternView$7;
+Lcom/android/internal/widget/LockPatternView$8;
+Lcom/android/internal/widget/LockPatternView$Cell;
+Lcom/android/internal/widget/LockPatternView$DisplayMode;
+Lcom/android/internal/widget/LockPatternView$PatternExploreByTouchHelper;
+Lcom/android/internal/widget/LockPatternView;
 Lcom/android/internal/widget/LockSettingsInternal;
 Lcom/android/internal/widget/PreferenceImageView;
 Lcom/android/internal/widget/ScrollBarUtils;
+Lcom/android/internal/widget/TextViewInputDisabler;
 Lcom/android/internal/widget/ToolbarWidgetWrapper$1;
 Lcom/android/internal/widget/ToolbarWidgetWrapper;
 Lcom/android/internal/widget/VerifyCredentialResponse$1;
 Lcom/android/internal/widget/VerifyCredentialResponse;
 Lcom/android/okhttp/Address;
-Lcom/android/okhttp/AndroidInternal;
 Lcom/android/okhttp/AndroidShimResponseCache;
 Lcom/android/okhttp/Authenticator;
 Lcom/android/okhttp/Cache$1;
-Lcom/android/okhttp/Cache$CacheRequestImpl$1;
-Lcom/android/okhttp/Cache$CacheRequestImpl;
 Lcom/android/okhttp/Cache$CacheResponseBody$1;
 Lcom/android/okhttp/Cache$CacheResponseBody;
 Lcom/android/okhttp/Cache$Entry;
@@ -61103,12 +51741,9 @@
 Lcom/android/okhttp/TlsVersion;
 Lcom/android/okhttp/internal/ConnectionSpecSelector;
 Lcom/android/okhttp/internal/DiskLruCache$1;
-Lcom/android/okhttp/internal/DiskLruCache$2;
 Lcom/android/okhttp/internal/DiskLruCache$4;
-Lcom/android/okhttp/internal/DiskLruCache$Editor$1;
 Lcom/android/okhttp/internal/DiskLruCache$Editor;
 Lcom/android/okhttp/internal/DiskLruCache$Entry;
-Lcom/android/okhttp/internal/DiskLruCache$Snapshot;
 Lcom/android/okhttp/internal/DiskLruCache;
 Lcom/android/okhttp/internal/FaultHidingSink;
 Lcom/android/okhttp/internal/Internal;
@@ -61120,7 +51755,6 @@
 Lcom/android/okhttp/internal/Util$1;
 Lcom/android/okhttp/internal/Util;
 Lcom/android/okhttp/internal/http/AuthenticatorAdapter;
-Lcom/android/okhttp/internal/http/CacheRequest;
 Lcom/android/okhttp/internal/http/CacheStrategy$Factory;
 Lcom/android/okhttp/internal/http/CacheStrategy;
 Lcom/android/okhttp/internal/http/HeaderParser;
@@ -61129,12 +51763,10 @@
 Lcom/android/okhttp/internal/http/Http1xStream$ChunkedSource;
 Lcom/android/okhttp/internal/http/Http1xStream$FixedLengthSink;
 Lcom/android/okhttp/internal/http/Http1xStream$FixedLengthSource;
-Lcom/android/okhttp/internal/http/Http1xStream$UnknownLengthSource;
 Lcom/android/okhttp/internal/http/Http1xStream;
 Lcom/android/okhttp/internal/http/HttpDate$1;
 Lcom/android/okhttp/internal/http/HttpDate;
 Lcom/android/okhttp/internal/http/HttpEngine$1;
-Lcom/android/okhttp/internal/http/HttpEngine$2;
 Lcom/android/okhttp/internal/http/HttpEngine;
 Lcom/android/okhttp/internal/http/HttpMethod;
 Lcom/android/okhttp/internal/http/HttpStream;
@@ -61156,14 +51788,13 @@
 Lcom/android/okhttp/internal/io/RealConnection;
 Lcom/android/okhttp/internal/tls/OkHostnameVerifier;
 Lcom/android/okhttp/internalandroidapi/Dns;
+Lcom/android/okhttp/internalandroidapi/HasCacheHolder;
 Lcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory$DnsAdapter;
 Lcom/android/okhttp/internalandroidapi/HttpURLConnectionFactory;
 Lcom/android/okhttp/okio/AsyncTimeout$1;
 Lcom/android/okhttp/okio/AsyncTimeout$2;
 Lcom/android/okhttp/okio/AsyncTimeout$Watchdog;
 Lcom/android/okhttp/okio/AsyncTimeout;
-Lcom/android/okhttp/okio/Base64;
-Lcom/android/okhttp/okio/Buffer$2;
 Lcom/android/okhttp/okio/Buffer;
 Lcom/android/okhttp/okio/BufferedSink;
 Lcom/android/okhttp/okio/BufferedSource;
@@ -61246,22 +51877,22 @@
 Lcom/android/org/bouncycastle/asn1/x509/TBSCertificate;
 Lcom/android/org/bouncycastle/asn1/x509/Time;
 Lcom/android/org/bouncycastle/asn1/x509/V3TBSCertificateGenerator;
-Lcom/android/org/bouncycastle/asn1/x509/X509DefaultEntryConverter;
 Lcom/android/org/bouncycastle/asn1/x509/X509ExtensionsGenerator;
 Lcom/android/org/bouncycastle/asn1/x509/X509Name;
-Lcom/android/org/bouncycastle/asn1/x509/X509NameEntryConverter;
-Lcom/android/org/bouncycastle/asn1/x509/X509NameTokenizer;
 Lcom/android/org/bouncycastle/asn1/x509/X509ObjectIdentifiers;
+Lcom/android/org/bouncycastle/asn1/x9/X9ECParameters;
 Lcom/android/org/bouncycastle/asn1/x9/X9ObjectIdentifiers;
 Lcom/android/org/bouncycastle/crypto/BlockCipher;
 Lcom/android/org/bouncycastle/crypto/BufferedBlockCipher;
 Lcom/android/org/bouncycastle/crypto/CipherParameters;
 Lcom/android/org/bouncycastle/crypto/CryptoException;
+Lcom/android/org/bouncycastle/crypto/CryptoServicesPermission;
+Lcom/android/org/bouncycastle/crypto/CryptoServicesRegistrar$Property;
+Lcom/android/org/bouncycastle/crypto/CryptoServicesRegistrar;
 Lcom/android/org/bouncycastle/crypto/DataLengthException;
 Lcom/android/org/bouncycastle/crypto/Digest;
 Lcom/android/org/bouncycastle/crypto/ExtendedDigest;
 Lcom/android/org/bouncycastle/crypto/InvalidCipherTextException;
-Lcom/android/org/bouncycastle/crypto/Mac;
 Lcom/android/org/bouncycastle/crypto/OutputLengthException;
 Lcom/android/org/bouncycastle/crypto/PBEParametersGenerator;
 Lcom/android/org/bouncycastle/crypto/RuntimeCryptoException;
@@ -61269,34 +51900,24 @@
 Lcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactoryBouncyCastle;
 Lcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactoryInterface;
 Lcom/android/org/bouncycastle/crypto/digests/AndroidDigestFactoryOpenSSL;
-Lcom/android/org/bouncycastle/crypto/digests/EncodableDigest;
-Lcom/android/org/bouncycastle/crypto/digests/GeneralDigest;
 Lcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest$MD5;
-Lcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest$SHA1;
-Lcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest$SHA256;
 Lcom/android/org/bouncycastle/crypto/digests/OpenSSLDigest;
-Lcom/android/org/bouncycastle/crypto/digests/SHA1Digest;
 Lcom/android/org/bouncycastle/crypto/engines/AESEngine;
-Lcom/android/org/bouncycastle/crypto/engines/BlowfishEngine;
-Lcom/android/org/bouncycastle/crypto/engines/DESEngine;
-Lcom/android/org/bouncycastle/crypto/generators/OpenSSLPBEParametersGenerator;
-Lcom/android/org/bouncycastle/crypto/generators/PKCS12ParametersGenerator;
-Lcom/android/org/bouncycastle/crypto/generators/PKCS5S1ParametersGenerator;
-Lcom/android/org/bouncycastle/crypto/generators/PKCS5S2ParametersGenerator;
-Lcom/android/org/bouncycastle/crypto/io/MacInputStream;
-Lcom/android/org/bouncycastle/crypto/macs/HMac;
-Lcom/android/org/bouncycastle/crypto/modes/CBCBlockCipher;
 Lcom/android/org/bouncycastle/crypto/paddings/BlockCipherPadding;
 Lcom/android/org/bouncycastle/crypto/paddings/PKCS7Padding;
 Lcom/android/org/bouncycastle/crypto/paddings/PaddedBufferedBlockCipher;
 Lcom/android/org/bouncycastle/crypto/params/AsymmetricKeyParameter;
-Lcom/android/org/bouncycastle/crypto/params/DESParameters;
+Lcom/android/org/bouncycastle/crypto/params/DHParameters;
+Lcom/android/org/bouncycastle/crypto/params/DHValidationParameters;
 Lcom/android/org/bouncycastle/crypto/params/DSAKeyParameters;
 Lcom/android/org/bouncycastle/crypto/params/DSAParameters;
 Lcom/android/org/bouncycastle/crypto/params/DSAPublicKeyParameters;
+Lcom/android/org/bouncycastle/crypto/params/DSAValidationParameters;
 Lcom/android/org/bouncycastle/crypto/params/KeyParameter;
 Lcom/android/org/bouncycastle/crypto/params/ParametersWithIV;
 Lcom/android/org/bouncycastle/crypto/params/ParametersWithRandom;
+Lcom/android/org/bouncycastle/crypto/signers/DSASigner;
+Lcom/android/org/bouncycastle/crypto/signers/StandardDSAEncoding;
 Lcom/android/org/bouncycastle/jcajce/PBKDFKey;
 Lcom/android/org/bouncycastle/jcajce/PKCS12Key;
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/DH$Mappings;
@@ -61308,7 +51929,11 @@
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/RSA;
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/X509$Mappings;
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dh/KeyFactorySpi;
+Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/AlgorithmParametersSpi;
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/BCDSAPublicKey;
+Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner$dsa256;
+Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner$stdDSA;
+Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSASigner;
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/DSAUtil;
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/dsa/KeyFactorySpi;
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/ec/KeyFactorySpi$EC;
@@ -61317,6 +51942,7 @@
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/rsa/CipherSpi;
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/rsa/KeyFactorySpi;
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/rsa/RSAUtil;
+Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/BaseCipherSpi;
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/BaseKeyFactorySpi;
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/KeyUtil;
 Lcom/android/org/bouncycastle/jcajce/provider/asymmetric/util/PKCS12BagAttributeCarrierImpl;
@@ -61347,26 +51973,16 @@
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$ECB$1;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$ECB;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$Mappings;
-Lcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$PBEWithMD5And128BitAESCBCOpenSSL;
-Lcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$PBEWithSHA256AESCBC256;
-Lcom/android/org/bouncycastle/jcajce/provider/symmetric/AES$PBEWithSHA256And256BitAESBC;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/AES;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/ARC4$Mappings;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/ARC4;
-Lcom/android/org/bouncycastle/jcajce/provider/symmetric/Blowfish$ECB;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/Blowfish$Mappings;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/Blowfish;
-Lcom/android/org/bouncycastle/jcajce/provider/symmetric/DES$DESPBEKeyFactory;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/DES$Mappings;
-Lcom/android/org/bouncycastle/jcajce/provider/symmetric/DES$PBEWithMD5;
-Lcom/android/org/bouncycastle/jcajce/provider/symmetric/DES$PBEWithMD5KeyFactory;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/DES;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/DESede$Mappings;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/DESede;
-Lcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$BasePBKDF2;
-Lcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$BasePBKDF2WithHmacSHA1;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$Mappings;
-Lcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2$PBKDF2WithHmacSHA1UTF8;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPBKDF2;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPKCS12$Mappings;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/PBEPKCS12;
@@ -61385,15 +52001,14 @@
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseSecretKeyFactory;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BaseWrapCipher;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/BlockCipherProvider;
+Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/ClassUtil;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/PBE$Util;
 Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/PBE;
-Lcom/android/org/bouncycastle/jcajce/provider/symmetric/util/PBESecretKeyFactory;
 Lcom/android/org/bouncycastle/jcajce/provider/util/AlgorithmProvider;
 Lcom/android/org/bouncycastle/jcajce/provider/util/AsymmetricAlgorithmProvider;
 Lcom/android/org/bouncycastle/jcajce/provider/util/AsymmetricKeyInfoConverter;
 Lcom/android/org/bouncycastle/jcajce/provider/util/DigestFactory;
 Lcom/android/org/bouncycastle/jcajce/spec/AEADParameterSpec;
-Lcom/android/org/bouncycastle/jcajce/spec/PBKDF2KeySpec;
 Lcom/android/org/bouncycastle/jcajce/util/BCJcaJceHelper;
 Lcom/android/org/bouncycastle/jcajce/util/DefaultJcaJceHelper;
 Lcom/android/org/bouncycastle/jcajce/util/JcaJceHelper;
@@ -61412,161 +52027,29 @@
 Lcom/android/org/bouncycastle/util/Encodable;
 Lcom/android/org/bouncycastle/util/Integers;
 Lcom/android/org/bouncycastle/util/Iterable;
-Lcom/android/org/bouncycastle/util/Memoable;
 Lcom/android/org/bouncycastle/util/Pack;
+Lcom/android/org/bouncycastle/util/Properties$1;
+Lcom/android/org/bouncycastle/util/Properties;
 Lcom/android/org/bouncycastle/util/Strings$1;
 Lcom/android/org/bouncycastle/util/Strings;
+Lcom/android/org/bouncycastle/util/encoders/Encoder;
+Lcom/android/org/bouncycastle/util/encoders/Hex;
+Lcom/android/org/bouncycastle/util/encoders/HexEncoder;
 Lcom/android/org/bouncycastle/util/io/Streams;
 Lcom/android/org/bouncycastle/x509/X509Util;
 Lcom/android/org/bouncycastle/x509/X509V3CertificateGenerator;
-Lcom/android/org/conscrypt/AbstractConscryptSocket;
-Lcom/android/org/conscrypt/AbstractSessionContext$1;
-Lcom/android/org/conscrypt/AbstractSessionContext;
-Lcom/android/org/conscrypt/ActiveSession;
-Lcom/android/org/conscrypt/AddressUtils;
-Lcom/android/org/conscrypt/ArrayUtils;
-Lcom/android/org/conscrypt/ByteArray;
-Lcom/android/org/conscrypt/CertBlacklist;
-Lcom/android/org/conscrypt/CertificatePriorityComparator;
-Lcom/android/org/conscrypt/ChainStrengthAnalyzer;
-Lcom/android/org/conscrypt/ClientSessionContext$HostAndPort;
-Lcom/android/org/conscrypt/ClientSessionContext;
-Lcom/android/org/conscrypt/Conscrypt;
-Lcom/android/org/conscrypt/ConscryptFileDescriptorSocket$1;
-Lcom/android/org/conscrypt/ConscryptFileDescriptorSocket$2;
-Lcom/android/org/conscrypt/ConscryptFileDescriptorSocket$SSLInputStream;
-Lcom/android/org/conscrypt/ConscryptFileDescriptorSocket$SSLOutputStream;
-Lcom/android/org/conscrypt/ConscryptFileDescriptorSocket;
-Lcom/android/org/conscrypt/ConscryptSession;
-Lcom/android/org/conscrypt/ConscryptSocketBase$1;
-Lcom/android/org/conscrypt/ConscryptSocketBase;
-Lcom/android/org/conscrypt/CryptoUpcalls;
-Lcom/android/org/conscrypt/DefaultSSLContextImpl;
-Lcom/android/org/conscrypt/EmptyArray;
-Lcom/android/org/conscrypt/EvpMdRef$MD5;
-Lcom/android/org/conscrypt/EvpMdRef$SHA1;
-Lcom/android/org/conscrypt/EvpMdRef$SHA256;
-Lcom/android/org/conscrypt/ExternalSession$Provider;
-Lcom/android/org/conscrypt/ExternalSession;
-Lcom/android/org/conscrypt/FileClientSessionCache$Impl;
-Lcom/android/org/conscrypt/FileClientSessionCache;
-Lcom/android/org/conscrypt/Hex;
-Lcom/android/org/conscrypt/InternalUtil;
-Lcom/android/org/conscrypt/JSSEProvider;
-Lcom/android/org/conscrypt/Java7ExtendedSSLSession;
-Lcom/android/org/conscrypt/Java8ExtendedSSLSession;
-Lcom/android/org/conscrypt/Java8FileDescriptorSocket;
-Lcom/android/org/conscrypt/KeyGeneratorImpl$AES;
-Lcom/android/org/conscrypt/KeyGeneratorImpl;
-Lcom/android/org/conscrypt/KeyManagerFactoryImpl;
-Lcom/android/org/conscrypt/KeyManagerImpl;
-Lcom/android/org/conscrypt/NativeCrypto$SSLHandshakeCallbacks;
-Lcom/android/org/conscrypt/NativeCrypto;
-Lcom/android/org/conscrypt/NativeCryptoJni;
-Lcom/android/org/conscrypt/NativeRef$EC_GROUP;
-Lcom/android/org/conscrypt/NativeRef$EC_POINT;
-Lcom/android/org/conscrypt/NativeRef$EVP_CIPHER_CTX;
-Lcom/android/org/conscrypt/NativeRef$EVP_MD_CTX;
-Lcom/android/org/conscrypt/NativeRef$EVP_PKEY;
-Lcom/android/org/conscrypt/NativeRef$HMAC_CTX;
-Lcom/android/org/conscrypt/NativeRef$SSL_SESSION;
-Lcom/android/org/conscrypt/NativeRef;
-Lcom/android/org/conscrypt/NativeSsl;
-Lcom/android/org/conscrypt/NativeSslSession$Impl$1;
-Lcom/android/org/conscrypt/NativeSslSession$Impl;
-Lcom/android/org/conscrypt/NativeSslSession;
-Lcom/android/org/conscrypt/OpenSSLBIOInputStream;
-Lcom/android/org/conscrypt/OpenSSLCipher$EVP_AEAD$AES$GCM;
-Lcom/android/org/conscrypt/OpenSSLCipher$EVP_AEAD$AES;
-Lcom/android/org/conscrypt/OpenSSLCipher$EVP_AEAD;
-Lcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER$AES$CBC$NoPadding;
-Lcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER$AES$CBC$PKCS5Padding;
-Lcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER$AES$CBC;
-Lcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER$AES;
-Lcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER$AES_BASE;
-Lcom/android/org/conscrypt/OpenSSLCipher$EVP_CIPHER;
-Lcom/android/org/conscrypt/OpenSSLCipher$Mode;
-Lcom/android/org/conscrypt/OpenSSLCipher$Padding;
-Lcom/android/org/conscrypt/OpenSSLCipher;
-Lcom/android/org/conscrypt/OpenSSLContextImpl$TLSv12;
-Lcom/android/org/conscrypt/OpenSSLContextImpl$TLSv1;
-Lcom/android/org/conscrypt/OpenSSLContextImpl;
-Lcom/android/org/conscrypt/OpenSSLECDHKeyAgreement;
-Lcom/android/org/conscrypt/OpenSSLECGroupContext;
-Lcom/android/org/conscrypt/OpenSSLECKeyFactory;
-Lcom/android/org/conscrypt/OpenSSLECKeyPairGenerator;
-Lcom/android/org/conscrypt/OpenSSLECPointContext;
-Lcom/android/org/conscrypt/OpenSSLECPrivateKey;
-Lcom/android/org/conscrypt/OpenSSLECPublicKey;
-Lcom/android/org/conscrypt/OpenSSLKey;
-Lcom/android/org/conscrypt/OpenSSLKeyHolder;
-Lcom/android/org/conscrypt/OpenSSLMac$HmacMD5;
-Lcom/android/org/conscrypt/OpenSSLMac$HmacSHA1;
-Lcom/android/org/conscrypt/OpenSSLMac$HmacSHA256;
-Lcom/android/org/conscrypt/OpenSSLMac;
-Lcom/android/org/conscrypt/OpenSSLMessageDigestJDK$MD5;
-Lcom/android/org/conscrypt/OpenSSLMessageDigestJDK$SHA1;
-Lcom/android/org/conscrypt/OpenSSLMessageDigestJDK$SHA256;
-Lcom/android/org/conscrypt/OpenSSLMessageDigestJDK$SHA512;
-Lcom/android/org/conscrypt/OpenSSLMessageDigestJDK;
-Lcom/android/org/conscrypt/OpenSSLProvider;
-Lcom/android/org/conscrypt/OpenSSLRSAKeyFactory;
-Lcom/android/org/conscrypt/OpenSSLRSAKeyPairGenerator;
-Lcom/android/org/conscrypt/OpenSSLRSAPrivateCrtKey;
-Lcom/android/org/conscrypt/OpenSSLRSAPrivateKey;
-Lcom/android/org/conscrypt/OpenSSLRSAPublicKey;
-Lcom/android/org/conscrypt/OpenSSLRandom;
-Lcom/android/org/conscrypt/OpenSSLSignature$1;
-Lcom/android/org/conscrypt/OpenSSLSignature$EngineType;
-Lcom/android/org/conscrypt/OpenSSLSignature$RSAPKCS1Padding;
-Lcom/android/org/conscrypt/OpenSSLSignature$SHA1RSA;
-Lcom/android/org/conscrypt/OpenSSLSignature$SHA256RSA;
-Lcom/android/org/conscrypt/OpenSSLSignature$SHA384ECDSA;
-Lcom/android/org/conscrypt/OpenSSLSignature;
-Lcom/android/org/conscrypt/OpenSSLSocketFactoryImpl;
-Lcom/android/org/conscrypt/OpenSSLSocketImpl;
-Lcom/android/org/conscrypt/OpenSSLX509CertPath$Encoding;
-Lcom/android/org/conscrypt/OpenSSLX509CertPath;
-Lcom/android/org/conscrypt/OpenSSLX509Certificate;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$1;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$2;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$Parser;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory$ParsingException;
-Lcom/android/org/conscrypt/OpenSSLX509CertificateFactory;
-Lcom/android/org/conscrypt/PeerInfoProvider$1;
-Lcom/android/org/conscrypt/PeerInfoProvider;
-Lcom/android/org/conscrypt/Platform$NoPreloadHolder;
-Lcom/android/org/conscrypt/Platform;
-Lcom/android/org/conscrypt/Preconditions;
-Lcom/android/org/conscrypt/SSLClientSessionCache;
-Lcom/android/org/conscrypt/SSLParametersImpl$AliasChooser;
-Lcom/android/org/conscrypt/SSLParametersImpl$PSKCallbacks;
-Lcom/android/org/conscrypt/SSLParametersImpl;
-Lcom/android/org/conscrypt/SSLUtils$SessionType;
-Lcom/android/org/conscrypt/SSLUtils;
-Lcom/android/org/conscrypt/ServerSessionContext;
-Lcom/android/org/conscrypt/SessionDecorator;
-Lcom/android/org/conscrypt/SessionSnapshot;
-Lcom/android/org/conscrypt/TrustManagerFactoryImpl;
-Lcom/android/org/conscrypt/TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker;
-Lcom/android/org/conscrypt/TrustManagerImpl$TrustAnchorComparator;
-Lcom/android/org/conscrypt/TrustManagerImpl;
-Lcom/android/org/conscrypt/TrustedCertificateIndex;
-Lcom/android/org/conscrypt/TrustedCertificateKeyStoreSpi;
-Lcom/android/org/conscrypt/TrustedCertificateStore$1;
-Lcom/android/org/conscrypt/TrustedCertificateStore$5;
-Lcom/android/org/conscrypt/TrustedCertificateStore$CertSelector;
-Lcom/android/org/conscrypt/TrustedCertificateStore$PreloadHolder;
-Lcom/android/org/conscrypt/TrustedCertificateStore;
-Lcom/android/org/conscrypt/ct/CTLogInfo;
-Lcom/android/org/conscrypt/ct/CTLogStore;
-Lcom/android/org/conscrypt/ct/CTLogStoreImpl$InvalidLogFileException;
-Lcom/android/org/conscrypt/ct/CTLogStoreImpl;
-Lcom/android/org/conscrypt/ct/CTPolicy;
-Lcom/android/org/conscrypt/ct/CTPolicyImpl;
-Lcom/android/org/conscrypt/ct/CTVerifier;
-Lcom/android/org/conscrypt/ct/KnownLogs;
-Lcom/android/org/conscrypt/ct/SerializationException;
+Lcom/android/org/kxml2/io/KXmlParser$ValueContext;
+Lcom/android/org/kxml2/io/KXmlParser;
+Lcom/android/org/kxml2/io/KXmlSerializer;
+Lcom/android/phone/ecc/nano/CodedInputByteBufferNano;
+Lcom/android/phone/ecc/nano/ExtendableMessageNano;
+Lcom/android/phone/ecc/nano/InternalNano;
+Lcom/android/phone/ecc/nano/InvalidProtocolBufferNanoException;
+Lcom/android/phone/ecc/nano/MessageNano;
+Lcom/android/phone/ecc/nano/ProtobufEccData$AllInfo;
+Lcom/android/phone/ecc/nano/ProtobufEccData$CountryInfo;
+Lcom/android/phone/ecc/nano/ProtobufEccData$EccInfo;
+Lcom/android/phone/ecc/nano/WireFormatNano;
 Lcom/android/server/AppWidgetBackupBridge;
 Lcom/android/server/BootReceiver$1;
 Lcom/android/server/BootReceiver;
@@ -61575,6 +52058,7 @@
 Lcom/android/server/NetworkManagementSocketTagger$SocketTags;
 Lcom/android/server/NetworkManagementSocketTagger;
 Lcom/android/server/SystemConfig$PermissionEntry;
+Lcom/android/server/SystemConfig$SharedLibraryEntry;
 Lcom/android/server/SystemConfig;
 Lcom/android/server/WidgetBackupProvider;
 Lcom/android/server/backup/AccountManagerBackupHelper;
@@ -61603,16 +52087,24 @@
 Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$WakeupStats;
 Lcom/android/server/net/BaseNetdEventCallback;
 Lcom/android/server/net/BaseNetworkObserver;
-Lcom/android/server/net/DnsServerEntry;
-Lcom/android/server/net/DnsServerRepository;
-Lcom/android/server/net/NetlinkTracker$Callback;
-Lcom/android/server/net/NetlinkTracker;
 Lcom/android/server/sip/SipService;
 Lcom/android/server/sip/SipWakeupTimer;
+Lcom/android/server/wifi/BaseWifiService;
 Lcom/android/server/wifi/nano/WifiMetricsProto$AlertReasonCount;
 Lcom/android/server/wifi/nano/WifiMetricsProto$ConnectToNetworkNotificationAndActionCount;
 Lcom/android/server/wifi/nano/WifiMetricsProto$ConnectionEvent;
+Lcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;
+Lcom/android/server/wifi/nano/WifiMetricsProto$ExperimentValues;
+Lcom/android/server/wifi/nano/WifiMetricsProto$GroupEvent;
+Lcom/android/server/wifi/nano/WifiMetricsProto$HistogramBucketInt32;
+Lcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats$LinkProbeFailureReasonCount;
+Lcom/android/server/wifi/nano/WifiMetricsProto$LinkProbeStats;
+Lcom/android/server/wifi/nano/WifiMetricsProto$LinkSpeedCount;
+Lcom/android/server/wifi/nano/WifiMetricsProto$MapEntryInt32Int32;
+Lcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;
 Lcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;
+Lcom/android/server/wifi/nano/WifiMetricsProto$P2pConnectionEvent;
+Lcom/android/server/wifi/nano/WifiMetricsProto$PasspointProfileTypeCount;
 Lcom/android/server/wifi/nano/WifiMetricsProto$PnoScanMetrics;
 Lcom/android/server/wifi/nano/WifiMetricsProto$RouterFingerPrint;
 Lcom/android/server/wifi/nano/WifiMetricsProto$RssiPollCount;
@@ -61624,16 +52116,30 @@
 Lcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog$HistogramBucket;
 Lcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog$NanStatusHistogramBucket;
 Lcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog;
+Lcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO$DurationBucket;
+Lcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO;
+Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppConfiguratorSuccessStatusHistogramBucket;
+Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppFailureStatusHistogramBucket;
+Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$HistogramBucket;
+Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog;
+Lcom/android/server/wifi/nano/WifiMetricsProto$WifiIsUnusableEvent;
+Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLinkLayerUsageStats;
 Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$ScanReturnEntry;
 Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog$WifiSystemStateEntry;
 Lcom/android/server/wifi/nano/WifiMetricsProto$WifiLog;
+Lcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;
 Lcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;
+Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRadioUsage;
 Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$HistogramBucket;
 Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttIndividualStatusHistogramBucket;
 Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttOverallStatusHistogramBucket;
 Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttToPeerLog;
 Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog;
 Lcom/android/server/wifi/nano/WifiMetricsProto$WifiScoreCount;
+Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityScoreCount;
+Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;
+Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;
+Lcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats$Session$Event;
 Lcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats$Session;
 Lcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats;
 Lcom/android/server/wifi/nano/WifiMetricsProto$WpsMetrics;
@@ -61648,9 +52154,32 @@
 Lcom/google/android/gles_jni/EGLSurfaceImpl;
 Lcom/google/android/gles_jni/GLImpl;
 Lcom/google/android/mms/MmsException;
+Lcom/google/android/mms/pdu/CharacterSets;
+Lcom/google/android/mms/pdu/EncodedStringValue;
+Lcom/google/android/mms/pdu/GenericPdu;
+Lcom/google/android/mms/pdu/NotificationInd;
+Lcom/google/android/mms/pdu/PduComposer;
+Lcom/google/android/mms/pdu/PduHeaders;
+Lcom/google/android/mms/pdu/PduParser;
+Lcom/google/android/mms/pdu/PduPersister;
+Lcom/google/android/mms/util/DownloadDrmHelper;
 Lcom/google/android/rappor/Encoder;
 Lcom/google/android/rappor/HmacDrbg;
-Lcom/google/vr/platform/DeviceInfo;
+Lcom/google/android/textclassifier/ActionsSuggestionsModel$ActionSuggestion;
+Lcom/google/android/textclassifier/ActionsSuggestionsModel$Conversation;
+Lcom/google/android/textclassifier/ActionsSuggestionsModel$ConversationMessage;
+Lcom/google/android/textclassifier/ActionsSuggestionsModel;
+Lcom/google/android/textclassifier/AnnotatorModel$AnnotatedSpan;
+Lcom/google/android/textclassifier/AnnotatorModel$AnnotationOptions;
+Lcom/google/android/textclassifier/AnnotatorModel$ClassificationOptions;
+Lcom/google/android/textclassifier/AnnotatorModel$ClassificationResult;
+Lcom/google/android/textclassifier/AnnotatorModel$DatetimeResult;
+Lcom/google/android/textclassifier/AnnotatorModel$SelectionOptions;
+Lcom/google/android/textclassifier/AnnotatorModel;
+Lcom/google/android/textclassifier/LangIdModel$LanguageResult;
+Lcom/google/android/textclassifier/LangIdModel;
+Lcom/google/android/textclassifier/NamedVariant;
+Lcom/google/android/textclassifier/RemoteActionTemplate;
 Lcom/sun/security/cert/internal/x509/X509V1CertImpl;
 Ldalvik/annotation/optimization/CriticalNative;
 Ldalvik/annotation/optimization/FastNative;
@@ -61659,8 +52188,10 @@
 Ldalvik/system/BaseDexClassLoader;
 Ldalvik/system/BlockGuard$1;
 Ldalvik/system/BlockGuard$2;
+Ldalvik/system/BlockGuard$3;
 Ldalvik/system/BlockGuard$BlockGuardPolicyException;
 Ldalvik/system/BlockGuard$Policy;
+Ldalvik/system/BlockGuard$VmPolicy;
 Ldalvik/system/BlockGuard;
 Ldalvik/system/ClassExt;
 Ldalvik/system/CloseGuard$DefaultReporter;
@@ -61680,10 +52211,13 @@
 Ldalvik/system/DexPathList;
 Ldalvik/system/EmulatedStackFrame$Range;
 Ldalvik/system/EmulatedStackFrame;
+Ldalvik/system/InMemoryDexClassLoader;
 Ldalvik/system/PathClassLoader;
+Ldalvik/system/RuntimeHooks;
 Ldalvik/system/SocketTagger$1;
 Ldalvik/system/SocketTagger;
 Ldalvik/system/VMDebug;
+Ldalvik/system/VMRuntime$HiddenApiUsageLogger;
 Ldalvik/system/VMRuntime;
 Ldalvik/system/VMStack;
 Ldalvik/system/ZygoteHooks;
@@ -61732,12 +52266,9 @@
 Ljava/io/InterruptedIOException;
 Ljava/io/InvalidClassException;
 Ljava/io/InvalidObjectException;
-Ljava/io/LineNumberReader;
 Ljava/io/NotSerializableException;
 Ljava/io/ObjectInput;
 Ljava/io/ObjectInputStream$BlockDataInputStream;
-Ljava/io/ObjectInputStream$GetField;
-Ljava/io/ObjectInputStream$GetFieldImpl;
 Ljava/io/ObjectInputStream$HandleTable$HandleList;
 Ljava/io/ObjectInputStream$HandleTable;
 Ljava/io/ObjectInputStream$PeekInputStream;
@@ -61747,7 +52278,6 @@
 Ljava/io/ObjectOutputStream$BlockDataOutputStream;
 Ljava/io/ObjectOutputStream$HandleTable;
 Ljava/io/ObjectOutputStream$PutField;
-Ljava/io/ObjectOutputStream$PutFieldImpl;
 Ljava/io/ObjectOutputStream$ReplaceTable;
 Ljava/io/ObjectOutputStream;
 Ljava/io/ObjectStreamClass$1;
@@ -61767,7 +52297,6 @@
 Ljava/io/ObjectStreamConstants;
 Ljava/io/ObjectStreamException;
 Ljava/io/ObjectStreamField;
-Ljava/io/OptionalDataException;
 Ljava/io/OutputStream;
 Ljava/io/OutputStreamWriter;
 Ljava/io/PipedInputStream;
@@ -61783,10 +52312,8 @@
 Ljava/io/Serializable;
 Ljava/io/SerializablePermission;
 Ljava/io/StreamCorruptedException;
-Ljava/io/StringBufferInputStream;
 Ljava/io/StringReader;
 Ljava/io/StringWriter;
-Ljava/io/SyncFailedException;
 Ljava/io/UnixFileSystem;
 Ljava/io/UnsupportedEncodingException;
 Ljava/io/Writer;
@@ -61842,12 +52369,12 @@
 Ljava/lang/IllegalAccessError;
 Ljava/lang/IllegalAccessException;
 Ljava/lang/IllegalArgumentException;
+Ljava/lang/IllegalMonitorStateException;
 Ljava/lang/IllegalStateException;
 Ljava/lang/IllegalThreadStateException;
 Ljava/lang/IncompatibleClassChangeError;
 Ljava/lang/IndexOutOfBoundsException;
 Ljava/lang/InheritableThreadLocal;
-Ljava/lang/InstantiationError;
 Ljava/lang/InstantiationException;
 Ljava/lang/Integer$IntegerCache;
 Ljava/lang/Integer;
@@ -61887,7 +52414,6 @@
 Ljava/lang/Runtime;
 Ljava/lang/RuntimeException;
 Ljava/lang/RuntimePermission;
-Ljava/lang/SafeVarargs;
 Ljava/lang/SecurityException;
 Ljava/lang/SecurityManager;
 Ljava/lang/Short$ShortCache;
@@ -61939,11 +52465,9 @@
 Ljava/lang/annotation/Annotation;
 Ljava/lang/annotation/AnnotationTypeMismatchException;
 Ljava/lang/annotation/Documented;
-Ljava/lang/annotation/ElementType;
 Ljava/lang/annotation/IncompleteAnnotationException;
 Ljava/lang/annotation/Inherited;
 Ljava/lang/annotation/Retention;
-Ljava/lang/annotation/RetentionPolicy;
 Ljava/lang/annotation/Target;
 Ljava/lang/invoke/ArrayElementVarHandle;
 Ljava/lang/invoke/ByteArrayViewVarHandle;
@@ -61962,6 +52486,7 @@
 Ljava/lang/invoke/MethodType$ConcurrentWeakInternSet;
 Ljava/lang/invoke/MethodType;
 Ljava/lang/invoke/MethodTypeForm;
+Ljava/lang/invoke/SerializedLambda;
 Ljava/lang/invoke/Transformers$AlwaysThrow;
 Ljava/lang/invoke/Transformers$BindTo;
 Ljava/lang/invoke/Transformers$CatchException;
@@ -62038,8 +52563,8 @@
 Ljava/math/BigDecimal;
 Ljava/math/BigInt;
 Ljava/math/BigInteger;
+Ljava/math/BitLevel;
 Ljava/math/Conversion;
-Ljava/math/Division;
 Ljava/math/MathContext;
 Ljava/math/Multiplication;
 Ljava/math/NativeBN;
@@ -62049,9 +52574,7 @@
 Ljava/net/AddressCache$AddressCacheEntry;
 Ljava/net/AddressCache$AddressCacheKey;
 Ljava/net/AddressCache;
-Ljava/net/Authenticator$RequestorType;
 Ljava/net/Authenticator;
-Ljava/net/BindException;
 Ljava/net/ConnectException;
 Ljava/net/CookieHandler;
 Ljava/net/CookieManager$CookiePathComparator;
@@ -62066,9 +52589,7 @@
 Ljava/net/DatagramSocket;
 Ljava/net/DatagramSocketImpl;
 Ljava/net/DefaultDatagramSocketImplFactory;
-Ljava/net/DefaultFileNameMap;
 Ljava/net/DefaultInterface;
-Ljava/net/FileNameMap;
 Ljava/net/HttpCookie$10;
 Ljava/net/HttpCookie$11;
 Ljava/net/HttpCookie$1;
@@ -62082,7 +52603,6 @@
 Ljava/net/HttpCookie$9;
 Ljava/net/HttpCookie$CookieAttributeAssignor;
 Ljava/net/HttpCookie;
-Ljava/net/HttpRetryException;
 Ljava/net/HttpURLConnection;
 Ljava/net/IDN;
 Ljava/net/InMemoryCookieStore;
@@ -62104,7 +52624,6 @@
 Ljava/net/NetworkInterface;
 Ljava/net/NoRouteToHostException;
 Ljava/net/Parts;
-Ljava/net/PasswordAuthentication;
 Ljava/net/PlainDatagramSocketImpl;
 Ljava/net/PlainSocketImpl;
 Ljava/net/PortUnreachableException;
@@ -62123,6 +52642,7 @@
 Ljava/net/SocketException;
 Ljava/net/SocketImpl;
 Ljava/net/SocketInputStream;
+Ljava/net/SocketOption;
 Ljava/net/SocketOptions;
 Ljava/net/SocketOutputStream;
 Ljava/net/SocketTimeoutException;
@@ -62130,6 +52650,7 @@
 Ljava/net/SocksSocketImpl;
 Ljava/net/StandardProtocolFamily;
 Ljava/net/StandardSocketOptions$StdSocketOption;
+Ljava/net/StandardSocketOptions;
 Ljava/net/URI$Parser;
 Ljava/net/URI;
 Ljava/net/URISyntaxException;
@@ -62160,6 +52681,7 @@
 Ljava/nio/FloatBuffer;
 Ljava/nio/HeapByteBuffer;
 Ljava/nio/HeapCharBuffer;
+Ljava/nio/HeapIntBuffer;
 Ljava/nio/IntBuffer;
 Ljava/nio/InvalidMarkException;
 Ljava/nio/LongBuffer;
@@ -62174,7 +52696,6 @@
 Ljava/nio/channels/CancelledKeyException;
 Ljava/nio/channels/Channel;
 Ljava/nio/channels/Channels$1;
-Ljava/nio/channels/Channels$ReadableByteChannelImpl;
 Ljava/nio/channels/Channels$WritableByteChannelImpl;
 Ljava/nio/channels/Channels;
 Ljava/nio/channels/ClosedByInterruptException;
@@ -62187,7 +52708,6 @@
 Ljava/nio/channels/InterruptibleChannel;
 Ljava/nio/channels/MulticastChannel;
 Ljava/nio/channels/NetworkChannel;
-Ljava/nio/channels/NonWritableChannelException;
 Ljava/nio/channels/OverlappingFileLockException;
 Ljava/nio/channels/ReadableByteChannel;
 Ljava/nio/channels/ScatteringByteChannel;
@@ -62229,6 +52749,8 @@
 Ljava/nio/file/FileSystems$DefaultFileSystemHolder$1;
 Ljava/nio/file/FileSystems$DefaultFileSystemHolder;
 Ljava/nio/file/FileSystems;
+Ljava/nio/file/Files$1;
+Ljava/nio/file/Files$AcceptAllFilter;
 Ljava/nio/file/Files;
 Ljava/nio/file/LinkOption;
 Ljava/nio/file/NoSuchFileException;
@@ -62256,7 +52778,6 @@
 Ljava/security/CryptoPrimitive;
 Ljava/security/DigestException;
 Ljava/security/DigestInputStream;
-Ljava/security/DigestOutputStream;
 Ljava/security/GeneralSecurityException;
 Ljava/security/Guard;
 Ljava/security/InvalidAlgorithmParameterException;
@@ -62272,8 +52793,11 @@
 Ljava/security/KeyPairGenerator;
 Ljava/security/KeyPairGeneratorSpi;
 Ljava/security/KeyStore$1;
+Ljava/security/KeyStore$Entry;
 Ljava/security/KeyStore$LoadStoreParameter;
-Ljava/security/KeyStore$SecretKeyEntry;
+Ljava/security/KeyStore$PasswordProtection;
+Ljava/security/KeyStore$PrivateKeyEntry;
+Ljava/security/KeyStore$ProtectionParameter;
 Ljava/security/KeyStore;
 Ljava/security/KeyStoreException;
 Ljava/security/KeyStoreSpi;
@@ -62313,8 +52837,6 @@
 Ljava/security/cert/CertPath;
 Ljava/security/cert/CertPathBuilder;
 Ljava/security/cert/CertPathBuilderException;
-Ljava/security/cert/CertPathBuilderResult;
-Ljava/security/cert/CertPathBuilderSpi;
 Ljava/security/cert/CertPathChecker;
 Ljava/security/cert/CertPathHelperImpl;
 Ljava/security/cert/CertPathParameters;
@@ -62347,6 +52869,7 @@
 Ljava/security/cert/PolicyNode;
 Ljava/security/cert/PolicyQualifierInfo;
 Ljava/security/cert/TrustAnchor;
+Ljava/security/cert/X509CRL;
 Ljava/security/cert/X509CertSelector;
 Ljava/security/cert/X509Certificate;
 Ljava/security/cert/X509Extension;
@@ -62368,6 +52891,7 @@
 Ljava/security/spec/ECGenParameterSpec;
 Ljava/security/spec/ECParameterSpec;
 Ljava/security/spec/ECPoint;
+Ljava/security/spec/ECPrivateKeySpec;
 Ljava/security/spec/ECPublicKeySpec;
 Ljava/security/spec/EllipticCurve;
 Ljava/security/spec/EncodedKeySpec;
@@ -62382,9 +52906,7 @@
 Ljava/security/spec/RSAPublicKeySpec;
 Ljava/security/spec/X509EncodedKeySpec;
 Ljava/sql/Date;
-Ljava/sql/Driver;
 Ljava/sql/SQLException;
-Ljava/sql/Savepoint;
 Ljava/sql/Time;
 Ljava/sql/Timestamp;
 Ljava/text/AttributedCharacterIterator$Attribute;
@@ -62398,7 +52920,6 @@
 Ljava/text/DateFormat$Field;
 Ljava/text/DateFormat;
 Ljava/text/DateFormatSymbols;
-Ljava/text/DecimalFormat$1;
 Ljava/text/DecimalFormat;
 Ljava/text/DecimalFormatSymbols;
 Ljava/text/DontCareFieldPosition$1;
@@ -62420,6 +52941,8 @@
 Ljava/text/SimpleDateFormat;
 Ljava/text/StringCharacterIterator;
 Ljava/time/-$$Lambda$Bq8PKq1YWr8nyVk9SSfRYKrOu4A;
+Ljava/time/-$$Lambda$JBWLm7jbzHiLhHxYdB_IuO_vFO8;
+Ljava/time/-$$Lambda$PTL8WkLA4o-1z4zIUBjrvwi808w;
 Ljava/time/-$$Lambda$up1HpCqucM_DXyY-rpDOyCcdmIA;
 Ljava/time/Clock$SystemClock;
 Ljava/time/Clock;
@@ -62431,17 +52954,15 @@
 Ljava/time/LocalDate$1;
 Ljava/time/LocalDate;
 Ljava/time/LocalDateTime;
+Ljava/time/LocalTime$1;
 Ljava/time/LocalTime;
+Ljava/time/Month$1;
 Ljava/time/Month;
-Ljava/time/MonthDay;
-Ljava/time/OffsetDateTime;
-Ljava/time/OffsetTime;
 Ljava/time/Period;
-Ljava/time/Year;
-Ljava/time/YearMonth;
 Ljava/time/ZoneId;
 Ljava/time/ZoneOffset;
 Ljava/time/ZoneRegion;
+Ljava/time/ZonedDateTime$1;
 Ljava/time/ZonedDateTime;
 Ljava/time/chrono/-$$Lambda$AbstractChronology$5b0W7uLeaWkn0HLPDKwPXzJ7HPo;
 Ljava/time/chrono/-$$Lambda$AbstractChronology$j22w8kHhJoqCd56hhLQK1G0VLFw;
@@ -62484,6 +53005,7 @@
 Ljava/time/format/SignStyle;
 Ljava/time/format/TextStyle;
 Ljava/time/temporal/-$$Lambda$TemporalAdjusters$A9OZwfMlHD1vy7-nYt5NssACu7Q;
+Ljava/time/temporal/-$$Lambda$TemporalAdjusters$TKkfUVRu_GUECdXqtmzzXrayVY8;
 Ljava/time/temporal/-$$Lambda$TemporalQueries$IZUinmsZUz98YXPe0ftAd27ByiE;
 Ljava/time/temporal/-$$Lambda$TemporalQueries$JPrXwgedeqexYxypO8VpPKV4l3c;
 Ljava/time/temporal/-$$Lambda$TemporalQueries$PBpYKRiwkxqQNlcU-BOJfaQoONg;
@@ -62535,8 +53057,8 @@
 Ljava/util/AbstractList$Itr;
 Ljava/util/AbstractList$ListItr;
 Ljava/util/AbstractList;
-Ljava/util/AbstractMap$1$1;
 Ljava/util/AbstractMap$1;
+Ljava/util/AbstractMap$2$1;
 Ljava/util/AbstractMap$2;
 Ljava/util/AbstractMap$SimpleEntry;
 Ljava/util/AbstractMap$SimpleImmutableEntry;
@@ -62638,7 +53160,6 @@
 Ljava/util/Deque;
 Ljava/util/Dictionary;
 Ljava/util/DualPivotQuicksort;
-Ljava/util/EmptyStackException;
 Ljava/util/EnumMap$1;
 Ljava/util/EnumMap$EntryIterator$Entry;
 Ljava/util/EnumMap$EntryIterator;
@@ -62655,12 +53176,10 @@
 Ljava/util/EventListener;
 Ljava/util/EventObject;
 Ljava/util/Formattable;
-Ljava/util/Formatter$BigDecimalLayoutForm;
 Ljava/util/Formatter$Conversion;
 Ljava/util/Formatter$DateTime;
 Ljava/util/Formatter$FixedString;
 Ljava/util/Formatter$Flags;
-Ljava/util/Formatter$FormatSpecifier$BigDecimalLayout;
 Ljava/util/Formatter$FormatSpecifier;
 Ljava/util/Formatter$FormatSpecifierParser;
 Ljava/util/Formatter$FormatString;
@@ -62669,6 +53188,7 @@
 Ljava/util/GregorianCalendar;
 Ljava/util/HashMap$EntryIterator;
 Ljava/util/HashMap$EntrySet;
+Ljava/util/HashMap$EntrySpliterator;
 Ljava/util/HashMap$HashIterator;
 Ljava/util/HashMap$HashMapSpliterator;
 Ljava/util/HashMap$KeyIterator;
@@ -62699,7 +53219,6 @@
 Ljava/util/IllegalFormatConversionException;
 Ljava/util/IllegalFormatException;
 Ljava/util/IllformedLocaleException;
-Ljava/util/InputMismatchException;
 Ljava/util/Iterator;
 Ljava/util/JumboEnumSet$EnumSetIterator;
 Ljava/util/JumboEnumSet;
@@ -62713,13 +53232,13 @@
 Ljava/util/LinkedHashMap$LinkedValues;
 Ljava/util/LinkedHashMap;
 Ljava/util/LinkedHashSet;
+Ljava/util/LinkedList$DescendingIterator;
 Ljava/util/LinkedList$LLSpliterator;
 Ljava/util/LinkedList$ListItr;
 Ljava/util/LinkedList$Node;
 Ljava/util/LinkedList;
 Ljava/util/List;
 Ljava/util/ListIterator;
-Ljava/util/ListResourceBundle;
 Ljava/util/Locale$1;
 Ljava/util/Locale$Builder;
 Ljava/util/Locale$Cache;
@@ -62740,9 +53259,7 @@
 Ljava/util/Observable;
 Ljava/util/Observer;
 Ljava/util/Optional;
-Ljava/util/OptionalDouble;
 Ljava/util/OptionalInt;
-Ljava/util/OptionalLong;
 Ljava/util/PrimitiveIterator$OfInt;
 Ljava/util/PrimitiveIterator;
 Ljava/util/PriorityQueue$Itr;
@@ -62762,7 +53279,6 @@
 Ljava/util/ResourceBundle$CacheKeyReference;
 Ljava/util/ResourceBundle$Control$1;
 Ljava/util/ResourceBundle$Control$CandidateListCache;
-Ljava/util/ResourceBundle$Control;
 Ljava/util/ResourceBundle$LoaderReference;
 Ljava/util/ResourceBundle;
 Ljava/util/Scanner$1;
@@ -62780,6 +53296,7 @@
 Ljava/util/Spliterator$OfLong;
 Ljava/util/Spliterator$OfPrimitive;
 Ljava/util/Spliterator;
+Ljava/util/Spliterators$1Adapter;
 Ljava/util/Spliterators$ArraySpliterator;
 Ljava/util/Spliterators$EmptySpliterator$OfDouble;
 Ljava/util/Spliterators$EmptySpliterator$OfInt;
@@ -62809,6 +53326,7 @@
 Ljava/util/TreeMap$EntrySet;
 Ljava/util/TreeMap$KeyIterator;
 Ljava/util/TreeMap$KeySet;
+Ljava/util/TreeMap$KeySpliterator;
 Ljava/util/TreeMap$NavigableSubMap$DescendingSubMapEntryIterator;
 Ljava/util/TreeMap$NavigableSubMap$DescendingSubMapKeyIterator;
 Ljava/util/TreeMap$NavigableSubMap$EntrySetView;
@@ -62818,13 +53336,13 @@
 Ljava/util/TreeMap$NavigableSubMap;
 Ljava/util/TreeMap$PrivateEntryIterator;
 Ljava/util/TreeMap$TreeMapEntry;
+Ljava/util/TreeMap$TreeMapSpliterator;
 Ljava/util/TreeMap$ValueIterator;
 Ljava/util/TreeMap$Values;
 Ljava/util/TreeMap;
 Ljava/util/TreeSet;
 Ljava/util/UUID$Holder;
 Ljava/util/UUID;
-Ljava/util/UnknownFormatConversionException;
 Ljava/util/Vector$1;
 Ljava/util/Vector$Itr;
 Ljava/util/Vector;
@@ -62840,6 +53358,8 @@
 Ljava/util/WeakHashMap;
 Ljava/util/concurrent/-$$Lambda$ConcurrentMap$T12JRbgGLhxGbYCuTfff6_dTrMk;
 Ljava/util/concurrent/AbstractExecutorService;
+Ljava/util/concurrent/ArrayBlockingQueue$Itr;
+Ljava/util/concurrent/ArrayBlockingQueue$Itrs;
 Ljava/util/concurrent/ArrayBlockingQueue;
 Ljava/util/concurrent/BlockingDeque;
 Ljava/util/concurrent/BlockingQueue;
@@ -62847,8 +53367,14 @@
 Ljava/util/concurrent/CancellationException;
 Ljava/util/concurrent/CompletableFuture$AltResult;
 Ljava/util/concurrent/CompletableFuture$AsynchronousCompletionTask;
+Ljava/util/concurrent/CompletableFuture$BiAccept;
+Ljava/util/concurrent/CompletableFuture$BiApply;
+Ljava/util/concurrent/CompletableFuture$CoCompletion;
 Ljava/util/concurrent/CompletableFuture$Completion;
 Ljava/util/concurrent/CompletableFuture$Signaller;
+Ljava/util/concurrent/CompletableFuture$UniAccept;
+Ljava/util/concurrent/CompletableFuture$UniCompose;
+Ljava/util/concurrent/CompletableFuture$UniWhenComplete;
 Ljava/util/concurrent/CompletableFuture;
 Ljava/util/concurrent/CompletionStage;
 Ljava/util/concurrent/ConcurrentHashMap$BaseIterator;
@@ -62900,8 +53426,11 @@
 Ljava/util/concurrent/ConcurrentHashMap$TreeBin;
 Ljava/util/concurrent/ConcurrentHashMap$TreeNode;
 Ljava/util/concurrent/ConcurrentHashMap$ValueIterator;
+Ljava/util/concurrent/ConcurrentHashMap$ValueSpliterator;
 Ljava/util/concurrent/ConcurrentHashMap$ValuesView;
 Ljava/util/concurrent/ConcurrentHashMap;
+Ljava/util/concurrent/ConcurrentLinkedDeque$AbstractItr;
+Ljava/util/concurrent/ConcurrentLinkedDeque$Itr;
 Ljava/util/concurrent/ConcurrentLinkedDeque$Node;
 Ljava/util/concurrent/ConcurrentLinkedDeque;
 Ljava/util/concurrent/ConcurrentLinkedQueue$Itr;
@@ -62912,7 +53441,6 @@
 Ljava/util/concurrent/ConcurrentSkipListMap$HeadIndex;
 Ljava/util/concurrent/ConcurrentSkipListMap$Index;
 Ljava/util/concurrent/ConcurrentSkipListMap$Iter;
-Ljava/util/concurrent/ConcurrentSkipListMap$KeyIterator;
 Ljava/util/concurrent/ConcurrentSkipListMap$KeySet;
 Ljava/util/concurrent/ConcurrentSkipListMap$Node;
 Ljava/util/concurrent/ConcurrentSkipListMap$ValueIterator;
@@ -62925,12 +53453,12 @@
 Ljava/util/concurrent/CountDownLatch$Sync;
 Ljava/util/concurrent/CountDownLatch;
 Ljava/util/concurrent/CountedCompleter;
-Ljava/util/concurrent/CyclicBarrier$Generation;
-Ljava/util/concurrent/CyclicBarrier;
 Ljava/util/concurrent/DelayQueue;
 Ljava/util/concurrent/Delayed;
 Ljava/util/concurrent/ExecutionException;
 Ljava/util/concurrent/Executor;
+Ljava/util/concurrent/ExecutorCompletionService$QueueingFuture;
+Ljava/util/concurrent/ExecutorCompletionService;
 Ljava/util/concurrent/ExecutorService;
 Ljava/util/concurrent/Executors$DefaultThreadFactory;
 Ljava/util/concurrent/Executors$DelegatedExecutorService;
@@ -62945,16 +53473,17 @@
 Ljava/util/concurrent/ForkJoinPool;
 Ljava/util/concurrent/ForkJoinTask$ExceptionNode;
 Ljava/util/concurrent/ForkJoinTask;
+Ljava/util/concurrent/ForkJoinWorkerThread;
 Ljava/util/concurrent/Future;
 Ljava/util/concurrent/FutureTask$WaitNode;
 Ljava/util/concurrent/FutureTask;
-Ljava/util/concurrent/LinkedBlockingDeque$AbstractItr;
-Ljava/util/concurrent/LinkedBlockingDeque$Itr;
+Ljava/util/concurrent/Helpers;
 Ljava/util/concurrent/LinkedBlockingDeque$Node;
 Ljava/util/concurrent/LinkedBlockingDeque;
 Ljava/util/concurrent/LinkedBlockingQueue$Itr;
 Ljava/util/concurrent/LinkedBlockingQueue$Node;
 Ljava/util/concurrent/LinkedBlockingQueue;
+Ljava/util/concurrent/Phaser;
 Ljava/util/concurrent/PriorityBlockingQueue$Itr;
 Ljava/util/concurrent/PriorityBlockingQueue;
 Ljava/util/concurrent/RejectedExecutionException;
@@ -62971,7 +53500,6 @@
 Ljava/util/concurrent/Semaphore$NonfairSync;
 Ljava/util/concurrent/Semaphore$Sync;
 Ljava/util/concurrent/Semaphore;
-Ljava/util/concurrent/SynchronousQueue$TransferQueue$QNode;
 Ljava/util/concurrent/SynchronousQueue$TransferQueue;
 Ljava/util/concurrent/SynchronousQueue$TransferStack$SNode;
 Ljava/util/concurrent/SynchronousQueue$TransferStack;
@@ -62996,7 +53524,6 @@
 Ljava/util/concurrent/atomic/AtomicBoolean;
 Ljava/util/concurrent/atomic/AtomicInteger;
 Ljava/util/concurrent/atomic/AtomicIntegerArray;
-Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl$1;
 Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl;
 Ljava/util/concurrent/atomic/AtomicIntegerFieldUpdater;
 Ljava/util/concurrent/atomic/AtomicLong;
@@ -63008,7 +53535,6 @@
 Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl;
 Ljava/util/concurrent/atomic/AtomicReferenceFieldUpdater;
 Ljava/util/concurrent/atomic/LongAdder;
-Ljava/util/concurrent/atomic/Striped64$Cell;
 Ljava/util/concurrent/atomic/Striped64;
 Ljava/util/concurrent/locks/AbstractOwnableSynchronizer;
 Ljava/util/concurrent/locks/AbstractQueuedSynchronizer$ConditionObject;
@@ -63032,17 +53558,18 @@
 Ljava/util/concurrent/locks/ReentrantReadWriteLock;
 Ljava/util/function/-$$Lambda$BiFunction$q-2HhQ1fzCu6oYNirKhp1W_vpSM;
 Ljava/util/function/-$$Lambda$BinaryOperator$V_WUclL0kAOZvMw9EtWtwAvmNJc;
-Ljava/util/function/-$$Lambda$BinaryOperator$WKN0kahVeFfmJEk_tKszY8tRayo;
 Ljava/util/function/-$$Lambda$Consumer$fZIgy_f2Fa5seBa8ztxXTExq2p4;
 Ljava/util/function/-$$Lambda$DoubleUnaryOperator$EzzlhUGRoL66wVBCG-_euZgC-CA;
 Ljava/util/function/-$$Lambda$DoubleUnaryOperator$i7wtM_8Ous-CB32HCfZ4usZ4zaQ;
-Ljava/util/function/-$$Lambda$Function$T8wYIfMRq5hbW0Q4qNkHIIrI-BA;
+Ljava/util/function/-$$Lambda$Function$1mm3dZ9IMG2T6zAULCCEh3eoHSY;
 Ljava/util/function/-$$Lambda$Predicate$17UUIF1CH_K9duk0ChtjSwOycuM;
 Ljava/util/function/-$$Lambda$Predicate$GyIVQ08CWbeMZxHDkkrN-5apRkc;
+Ljava/util/function/-$$Lambda$Predicate$L51YwfosqnYQ8QKStSMYaDgSslA;
 Ljava/util/function/BiConsumer;
 Ljava/util/function/BiFunction;
 Ljava/util/function/BiPredicate;
 Ljava/util/function/BinaryOperator;
+Ljava/util/function/BooleanSupplier;
 Ljava/util/function/Consumer;
 Ljava/util/function/DoubleBinaryOperator;
 Ljava/util/function/DoubleSupplier;
@@ -63051,6 +53578,7 @@
 Ljava/util/function/IntBinaryOperator;
 Ljava/util/function/IntConsumer;
 Ljava/util/function/IntFunction;
+Ljava/util/function/IntPredicate;
 Ljava/util/function/IntSupplier;
 Ljava/util/function/IntToDoubleFunction;
 Ljava/util/function/IntToLongFunction;
@@ -63083,6 +53611,7 @@
 Ljava/util/logging/FileHandler$InitializationErrorManager;
 Ljava/util/logging/FileHandler$MeteredStream;
 Ljava/util/logging/FileHandler;
+Ljava/util/logging/Filter;
 Ljava/util/logging/Formatter;
 Ljava/util/logging/Handler;
 Ljava/util/logging/Level$KnownLevel;
@@ -63120,18 +53649,26 @@
 Ljava/util/regex/Matcher;
 Ljava/util/regex/Pattern;
 Ljava/util/regex/PatternSyntaxException;
+Ljava/util/stream/-$$Lambda$Abl7XfE0Z4AgkViLas9vhsO9mjw;
+Ljava/util/stream/-$$Lambda$AbstractPipeline$ImXhRLJT29W8lJFXpTT_PieAotg;
 Ljava/util/stream/-$$Lambda$Collectors$0y_EMl863H_U7B4kxyGscB4vAag;
 Ljava/util/stream/-$$Lambda$Collectors$F7-we3W7I2plNaGHqh_d2lzmvho;
 Ljava/util/stream/-$$Lambda$Collectors$SMVdf7W0ks2OOmS3zJw7DHc-Nhc;
 Ljava/util/stream/-$$Lambda$Collectors$TzSZZBK0laNSWMge_uuxANwkkMo;
 Ljava/util/stream/-$$Lambda$Collectors$f0IPpRuyw9HZC8FIP30mNjUUUhw;
 Ljava/util/stream/-$$Lambda$Collectors$f68RHYk8qNU7alEHPPrPoFuCJO4;
+Ljava/util/stream/-$$Lambda$Collectors$iab6bVO3ydceISRiUEq_MRHYzoU;
+Ljava/util/stream/-$$Lambda$Collectors$kXZFmh6iM6xf9lJWimhd2Ef6NEs;
+Ljava/util/stream/-$$Lambda$Collectors$nKlT6uFghrTzWO44dlFAJFeRr34;
 Ljava/util/stream/-$$Lambda$Collectors$pzPeDl3rCgtNVSeZPHZk5f2se60;
 Ljava/util/stream/-$$Lambda$Drw47GGUtPrz9CklhlT0v26u-5c;
+Ljava/util/stream/-$$Lambda$GF-s38TgrG6hfxe__ZFdhGp-wPw;
 Ljava/util/stream/-$$Lambda$IntPipeline$R-E7oGjPWog3HR9X-8MdhU1ZGRE;
 Ljava/util/stream/-$$Lambda$IntPipeline$ozedusDMANE_B8aDthWCd1L-na4;
 Ljava/util/stream/-$$Lambda$MatchOps$_LtFSpSMfVwoPv-8p_1cMGGcaHA;
+Ljava/util/stream/-$$Lambda$MatchOps$emK14UX33I4-nqH2o5l7hLEVAy8;
 Ljava/util/stream/-$$Lambda$ReferencePipeline$mk6xSsLZAKvG89IyN8pzBoM6otw;
+Ljava/util/stream/-$$Lambda$StreamSpliterators$WrappingSpliterator$Ky6g3CKkCccuRWAvbAL1cAsdkNk;
 Ljava/util/stream/-$$Lambda$bjSXRjZ5UYwAzkW-XPKwqbJ9BRQ;
 Ljava/util/stream/-$$Lambda$dplkPhACWDPIy18ogwdupEQaN40;
 Ljava/util/stream/-$$Lambda$i0Jl5dMkfWphZviqg6QdkkWPWRI;
@@ -63140,6 +53677,8 @@
 Ljava/util/stream/-$$Lambda$ono9Bp0lMrKbIRfAAYdycY0_qag;
 Ljava/util/stream/-$$Lambda$opQ7JxjVCJzqzgTxGU3LVtqC7is;
 Ljava/util/stream/-$$Lambda$r-8H_R_mZJjp9wd0XTLoEAHMNQ0;
+Ljava/util/stream/-$$Lambda$ry7iWszBr7beYy31SdRxibDyciQ;
+Ljava/util/stream/-$$Lambda$sKPaOkcQePGTRevrwmKVVhCTmTo;
 Ljava/util/stream/-$$Lambda$uJ6CkL42Bk73jN5EzP0Fx7o1eVA;
 Ljava/util/stream/-$$Lambda$wFoiz-RiPqYBPe0X4aSzbj2iL3g;
 Ljava/util/stream/-$$Lambda$yTqQxkqu88ZhKI6fWaTTLwOLF60;
@@ -63160,6 +53699,7 @@
 Ljava/util/stream/FindOps;
 Ljava/util/stream/ForEachOps$ForEachOp$OfRef;
 Ljava/util/stream/ForEachOps$ForEachOp;
+Ljava/util/stream/ForEachOps;
 Ljava/util/stream/IntPipeline$4$1;
 Ljava/util/stream/IntPipeline$4;
 Ljava/util/stream/IntPipeline$Head;
@@ -63170,9 +53710,11 @@
 Ljava/util/stream/LongPipeline;
 Ljava/util/stream/LongStream;
 Ljava/util/stream/MatchOps$1MatchSink;
+Ljava/util/stream/MatchOps$2MatchSink;
 Ljava/util/stream/MatchOps$BooleanTerminalSink;
 Ljava/util/stream/MatchOps$MatchKind;
 Ljava/util/stream/MatchOps$MatchOp;
+Ljava/util/stream/MatchOps;
 Ljava/util/stream/Node$Builder$OfInt;
 Ljava/util/stream/Node$Builder;
 Ljava/util/stream/Node$OfDouble;
@@ -63229,6 +53771,11 @@
 Ljava/util/stream/SliceOps$1$1;
 Ljava/util/stream/SliceOps$1;
 Ljava/util/stream/SliceOps;
+Ljava/util/stream/SortedOps$AbstractRefSortingSink;
+Ljava/util/stream/SortedOps$OfRef;
+Ljava/util/stream/SortedOps$RefSortingSink;
+Ljava/util/stream/SortedOps$SizedRefSortingSink;
+Ljava/util/stream/SortedOps;
 Ljava/util/stream/SpinedBuffer$OfInt;
 Ljava/util/stream/SpinedBuffer$OfPrimitive;
 Ljava/util/stream/SpinedBuffer;
@@ -63237,9 +53784,15 @@
 Ljava/util/stream/StreamOpFlag$Type;
 Ljava/util/stream/StreamOpFlag;
 Ljava/util/stream/StreamShape;
+Ljava/util/stream/StreamSpliterators$AbstractWrappingSpliterator;
 Ljava/util/stream/StreamSpliterators$InfiniteSupplyingSpliterator$OfRef;
 Ljava/util/stream/StreamSpliterators$InfiniteSupplyingSpliterator;
+Ljava/util/stream/StreamSpliterators$WrappingSpliterator;
 Ljava/util/stream/StreamSupport;
+Ljava/util/stream/Streams$2;
+Ljava/util/stream/Streams$ConcatSpliterator$OfRef;
+Ljava/util/stream/Streams$ConcatSpliterator;
+Ljava/util/stream/Streams;
 Ljava/util/stream/TerminalOp;
 Ljava/util/stream/TerminalSink;
 Ljava/util/zip/Adler32;
@@ -63248,6 +53801,7 @@
 Ljava/util/zip/Checksum;
 Ljava/util/zip/DataFormatException;
 Ljava/util/zip/Deflater;
+Ljava/util/zip/DeflaterInputStream;
 Ljava/util/zip/DeflaterOutputStream;
 Ljava/util/zip/GZIPInputStream$1;
 Ljava/util/zip/GZIPInputStream;
@@ -63264,8 +53818,8 @@
 Ljava/util/zip/ZipFile$ZipFileInputStream;
 Ljava/util/zip/ZipFile;
 Ljava/util/zip/ZipInputStream;
-Ljava/util/zip/ZipOutputStream;
 Ljava/util/zip/ZipUtils;
+Ljavax/crypto/AEADBadTagException;
 Ljavax/crypto/BadPaddingException;
 Ljavax/crypto/Cipher$1;
 Ljavax/crypto/Cipher$CipherSpiAndProvider;
@@ -63279,9 +53833,8 @@
 Ljavax/crypto/CipherOutputStream;
 Ljavax/crypto/CipherSpi;
 Ljavax/crypto/IllegalBlockSizeException;
+Ljavax/crypto/JarVerifier;
 Ljavax/crypto/JceSecurity;
-Ljavax/crypto/KeyAgreement;
-Ljavax/crypto/KeyAgreementSpi;
 Ljavax/crypto/KeyGenerator;
 Ljavax/crypto/KeyGeneratorSpi;
 Ljavax/crypto/Mac;
@@ -63293,13 +53846,13 @@
 Ljavax/crypto/SecretKeyFactorySpi;
 Ljavax/crypto/ShortBufferException;
 Ljavax/crypto/interfaces/PBEKey;
-Ljavax/crypto/spec/DESKeySpec;
 Ljavax/crypto/spec/GCMParameterSpec;
 Ljavax/crypto/spec/IvParameterSpec;
 Ljavax/crypto/spec/OAEPParameterSpec;
 Ljavax/crypto/spec/PBEKeySpec;
 Ljavax/crypto/spec/PBEParameterSpec;
 Ljavax/crypto/spec/PSource$PSpecified;
+Ljavax/crypto/spec/PSource;
 Ljavax/crypto/spec/RC2ParameterSpec;
 Ljavax/crypto/spec/RC5ParameterSpec;
 Ljavax/crypto/spec/SecretKeySpec;
@@ -63328,6 +53881,7 @@
 Ljavax/net/ssl/KeyManagerFactory$1;
 Ljavax/net/ssl/KeyManagerFactory;
 Ljavax/net/ssl/KeyManagerFactorySpi;
+Ljavax/net/ssl/ManagerFactoryParameters;
 Ljavax/net/ssl/SNIHostName;
 Ljavax/net/ssl/SNIServerName;
 Ljavax/net/ssl/SSLContext;
@@ -63343,6 +53897,8 @@
 Ljavax/net/ssl/SSLProtocolException;
 Ljavax/net/ssl/SSLServerSocketFactory;
 Ljavax/net/ssl/SSLSession;
+Ljavax/net/ssl/SSLSessionBindingEvent;
+Ljavax/net/ssl/SSLSessionBindingListener;
 Ljavax/net/ssl/SSLSessionContext;
 Ljavax/net/ssl/SSLSocket;
 Ljavax/net/ssl/SSLSocketFactory$1;
@@ -63359,24 +53915,18 @@
 Ljavax/security/auth/callback/UnsupportedCallbackException;
 Ljavax/security/auth/x500/X500Principal;
 Ljavax/security/cert/Certificate;
+Ljavax/security/cert/CertificateEncodingException;
 Ljavax/security/cert/CertificateException;
 Ljavax/security/cert/X509Certificate$1;
 Ljavax/security/cert/X509Certificate;
-Ljavax/xml/namespace/QName;
 Ljavax/xml/parsers/DocumentBuilder;
 Ljavax/xml/parsers/DocumentBuilderFactory;
 Ljavax/xml/parsers/ParserConfigurationException;
 Ljavax/xml/parsers/SAXParser;
 Ljavax/xml/parsers/SAXParserFactory;
-Ljavax/xml/transform/ErrorListener;
-Ljavax/xml/transform/Source;
-Ljavax/xml/transform/SourceLocator;
-Ljavax/xml/transform/dom/DOMSource;
-Ljavax/xml/xpath/XPath;
-Ljavax/xml/xpath/XPathExpression;
-Ljavax/xml/xpath/XPathFactory;
-Ljavax/xml/xpath/XPathFactoryFinder;
-Ljunit/framework/Assert;
+Ljavax/xml/transform/TransformerConfigurationException;
+Ljavax/xml/transform/TransformerException;
+Ljdk/net/SocketFlow;
 Llibcore/icu/CollationKeyICU;
 Llibcore/icu/DateIntervalFormat;
 Llibcore/icu/DateTimeFormat$FormatterCache;
@@ -63397,12 +53947,6 @@
 Llibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection$1;
 Llibcore/io/ClassPathURLStreamHandler$ClassPathURLConnection;
 Llibcore/io/ClassPathURLStreamHandler;
-Llibcore/io/DropBox$DefaultReporter;
-Llibcore/io/DropBox$Reporter;
-Llibcore/io/DropBox;
-Llibcore/io/EventLogger$DefaultReporter;
-Llibcore/io/EventLogger$Reporter;
-Llibcore/io/EventLogger;
 Llibcore/io/ForwardingOs;
 Llibcore/io/IoBridge;
 Llibcore/io/IoTracker$Mode;
@@ -63417,10 +53961,10 @@
 Llibcore/io/Os;
 Llibcore/io/Streams;
 Llibcore/math/MathUtils;
+Llibcore/net/InetAddressUtils;
 Llibcore/net/MimeUtils;
 Llibcore/net/NetworkSecurityPolicy$DefaultNetworkSecurityPolicy;
 Llibcore/net/NetworkSecurityPolicy;
-Llibcore/net/UriCodec;
 Llibcore/net/event/NetworkEventDispatcher;
 Llibcore/net/event/NetworkEventListener;
 Llibcore/net/http/HttpDate$1;
@@ -63437,7 +53981,7 @@
 Llibcore/reflect/TypeVariableImpl;
 Llibcore/reflect/Types;
 Llibcore/reflect/WildcardTypeImpl;
-Llibcore/timezone/-$$Lambda$TimeZoneFinder$ReaderSupplier$IAVNuAYizGfcsPtGXEBkDPhlBF0;
+Llibcore/timezone/-$$Lambda$TimeZoneFinder$ReaderSupplier$gDAfECMWS_ohJ_Rfk1HN7JyDSJA;
 Llibcore/timezone/CountryTimeZones$OffsetResult;
 Llibcore/timezone/CountryTimeZones$TimeZoneMapping;
 Llibcore/timezone/CountryTimeZones;
@@ -63449,6 +53993,7 @@
 Llibcore/timezone/ZoneInfoDB$TzData$1;
 Llibcore/timezone/ZoneInfoDB$TzData;
 Llibcore/timezone/ZoneInfoDB;
+Llibcore/util/ArrayUtils;
 Llibcore/util/BasicLruCache;
 Llibcore/util/CharsetUtils;
 Llibcore/util/CollectionUtils;
@@ -63459,6 +54004,7 @@
 Llibcore/util/NativeAllocationRegistry;
 Llibcore/util/Objects;
 Llibcore/util/SneakyThrow;
+Llibcore/util/XmlObjectFactory;
 Llibcore/util/ZoneInfo$CheckedArithmeticException;
 Llibcore/util/ZoneInfo$OffsetInterval;
 Llibcore/util/ZoneInfo$WallTime;
@@ -63468,17 +54014,16 @@
 Lorg/apache/harmony/dalvik/ddmc/ChunkHandler;
 Lorg/apache/harmony/dalvik/ddmc/DdmServer;
 Lorg/apache/harmony/dalvik/ddmc/DdmVmInternal;
-Lorg/apache/harmony/luni/internal/util/TimezoneGetter;
 Lorg/apache/harmony/xml/ExpatAttributes;
 Lorg/apache/harmony/xml/ExpatException;
 Lorg/apache/harmony/xml/ExpatParser$CurrentAttributes;
 Lorg/apache/harmony/xml/ExpatParser$ExpatLocator;
 Lorg/apache/harmony/xml/ExpatParser;
 Lorg/apache/harmony/xml/ExpatReader;
+Lorg/apache/harmony/xml/dom/AttrImpl;
 Lorg/apache/harmony/xml/dom/CharacterDataImpl;
 Lorg/apache/harmony/xml/dom/DOMImplementationImpl;
 Lorg/apache/harmony/xml/dom/DocumentImpl;
-Lorg/apache/harmony/xml/dom/ElementImpl$ElementAttrNamedNodeMapImpl;
 Lorg/apache/harmony/xml/dom/ElementImpl;
 Lorg/apache/harmony/xml/dom/InnerNodeImpl;
 Lorg/apache/harmony/xml/dom/LeafNodeImpl;
@@ -63491,81 +54036,18 @@
 Lorg/apache/harmony/xml/parsers/SAXParserFactoryImpl;
 Lorg/apache/harmony/xml/parsers/SAXParserImpl;
 Lorg/apache/http/conn/ConnectTimeoutException;
-Lorg/apache/http/conn/scheme/HostNameResolver;
 Lorg/apache/http/conn/scheme/LayeredSocketFactory;
 Lorg/apache/http/conn/scheme/SocketFactory;
 Lorg/apache/http/conn/ssl/AbstractVerifier;
 Lorg/apache/http/conn/ssl/AllowAllHostnameVerifier;
 Lorg/apache/http/conn/ssl/AndroidDistinguishedNameParser;
 Lorg/apache/http/conn/ssl/BrowserCompatHostnameVerifier;
-Lorg/apache/http/conn/ssl/SSLSocketFactory$NoPreloadHolder;
 Lorg/apache/http/conn/ssl/SSLSocketFactory;
 Lorg/apache/http/conn/ssl/StrictHostnameVerifier;
 Lorg/apache/http/conn/ssl/X509HostnameVerifier;
 Lorg/apache/http/params/CoreConnectionPNames;
 Lorg/apache/http/params/HttpConnectionParams;
 Lorg/apache/http/params/HttpParams;
-Lorg/apache/xalan/extensions/ExpressionContext;
-Lorg/apache/xml/dtm/DTM;
-Lorg/apache/xml/dtm/DTMAxisTraverser;
-Lorg/apache/xml/dtm/DTMManager;
-Lorg/apache/xml/dtm/ObjectFactory;
-Lorg/apache/xml/dtm/SecuritySupport12$1;
-Lorg/apache/xml/dtm/SecuritySupport12$2;
-Lorg/apache/xml/dtm/SecuritySupport12$3;
-Lorg/apache/xml/dtm/SecuritySupport12$4;
-Lorg/apache/xml/dtm/SecuritySupport12$6;
-Lorg/apache/xml/dtm/SecuritySupport12$7;
-Lorg/apache/xml/dtm/SecuritySupport12;
-Lorg/apache/xml/dtm/ref/DTMDefaultBase;
-Lorg/apache/xml/dtm/ref/DTMDefaultBaseTraversers$ChildTraverser;
-Lorg/apache/xml/dtm/ref/DTMDefaultBaseTraversers;
-Lorg/apache/xml/dtm/ref/DTMManagerDefault;
-Lorg/apache/xml/dtm/ref/DTMNodeList;
-Lorg/apache/xml/dtm/ref/ExpandedNameTable;
-Lorg/apache/xml/dtm/ref/ExtendedType;
-Lorg/apache/xml/dtm/ref/dom2dtm/DOM2DTM;
-Lorg/apache/xml/dtm/ref/dom2dtm/DOM2DTMdefaultNamespaceDeclarationNode;
-Lorg/apache/xml/utils/IntStack;
-Lorg/apache/xml/utils/NSInfo;
-Lorg/apache/xml/utils/NodeVector;
-Lorg/apache/xml/utils/ObjectStack;
-Lorg/apache/xml/utils/ObjectVector;
-Lorg/apache/xml/utils/SuballocatedIntVector;
-Lorg/apache/xml/utils/TreeWalker;
-Lorg/apache/xml/utils/XMLStringFactory;
-Lorg/apache/xpath/Expression;
-Lorg/apache/xpath/ExpressionNode;
-Lorg/apache/xpath/VariableStack;
-Lorg/apache/xpath/XPath;
-Lorg/apache/xpath/XPathContext;
-Lorg/apache/xpath/axes/AxesWalker;
-Lorg/apache/xpath/axes/BasicTestIterator;
-Lorg/apache/xpath/axes/ChildTestIterator;
-Lorg/apache/xpath/axes/IteratorPool;
-Lorg/apache/xpath/axes/LocPathIterator;
-Lorg/apache/xpath/axes/NodeSequence;
-Lorg/apache/xpath/axes/PredicatedNodeTest;
-Lorg/apache/xpath/axes/SubContextList;
-Lorg/apache/xpath/axes/WalkerFactory;
-Lorg/apache/xpath/axes/WalkingIterator;
-Lorg/apache/xpath/compiler/Compiler;
-Lorg/apache/xpath/compiler/Lexer;
-Lorg/apache/xpath/compiler/OpMap;
-Lorg/apache/xpath/compiler/XPathParser;
-Lorg/apache/xpath/jaxp/XPathExpressionImpl;
-Lorg/apache/xpath/jaxp/XPathFactoryImpl;
-Lorg/apache/xpath/jaxp/XPathImpl;
-Lorg/apache/xpath/objects/EqualComparator;
-Lorg/apache/xpath/objects/GreaterThanComparator;
-Lorg/apache/xpath/objects/GreaterThanOrEqualComparator;
-Lorg/apache/xpath/objects/LessThanComparator;
-Lorg/apache/xpath/objects/LessThanOrEqualComparator;
-Lorg/apache/xpath/objects/NotEqualComparator;
-Lorg/apache/xpath/objects/XMLStringFactoryImpl;
-Lorg/apache/xpath/objects/XNodeSet;
-Lorg/apache/xpath/objects/XNumber;
-Lorg/apache/xpath/patterns/NodeTest;
 Lorg/ccil/cowan/tagsoup/AttributesImpl;
 Lorg/ccil/cowan/tagsoup/AutoDetector;
 Lorg/ccil/cowan/tagsoup/Element;
@@ -63586,17 +54068,15 @@
 Lorg/json/JSONStringer$Scope;
 Lorg/json/JSONStringer;
 Lorg/json/JSONTokener;
-Lcom/android/org/kxml2/io/KXmlParser$ValueContext;
-Lcom/android/org/kxml2/io/KXmlParser;
-Lcom/android/org/kxml2/io/KXmlSerializer;
+Lorg/w3c/dom/Attr;
 Lorg/w3c/dom/CharacterData;
 Lorg/w3c/dom/DOMImplementation;
 Lorg/w3c/dom/Document;
+Lorg/w3c/dom/DocumentFragment;
+Lorg/w3c/dom/DocumentType;
 Lorg/w3c/dom/Element;
-Lorg/w3c/dom/NamedNodeMap;
 Lorg/w3c/dom/Node;
 Lorg/w3c/dom/NodeList;
-Lorg/w3c/dom/ProcessingInstruction;
 Lorg/w3c/dom/Text;
 Lorg/w3c/dom/TypeInfo;
 Lorg/xml/sax/Attributes;
@@ -63609,6 +54089,7 @@
 Lorg/xml/sax/SAXException;
 Lorg/xml/sax/SAXNotRecognizedException;
 Lorg/xml/sax/SAXNotSupportedException;
+Lorg/xml/sax/SAXParseException;
 Lorg/xml/sax/XMLReader;
 Lorg/xml/sax/ext/DeclHandler;
 Lorg/xml/sax/ext/DefaultHandler2;
@@ -63616,12 +54097,10 @@
 Lorg/xml/sax/ext/LexicalHandler;
 Lorg/xml/sax/helpers/AttributesImpl;
 Lorg/xml/sax/helpers/DefaultHandler;
-Lorg/xml/sax/helpers/LocatorImpl;
 Lorg/xmlpull/v1/XmlPullParser;
 Lorg/xmlpull/v1/XmlPullParserException;
 Lorg/xmlpull/v1/XmlPullParserFactory;
 Lorg/xmlpull/v1/XmlSerializer;
-Lorg/xmlpull/v1/sax2/Driver;
 Lsun/invoke/util/BytecodeDescriptor;
 Lsun/invoke/util/VerifyAccess;
 Lsun/invoke/util/Wrapper$Format;
@@ -63650,6 +54129,7 @@
 Lsun/misc/VM;
 Lsun/misc/Version;
 Lsun/net/ConnectionResetException;
+Lsun/net/ExtendedOptionsImpl;
 Lsun/net/NetHooks;
 Lsun/net/NetProperties$1;
 Lsun/net/NetProperties;
@@ -63668,11 +54148,10 @@
 Lsun/nio/ch/ChannelInputStream;
 Lsun/nio/ch/DatagramChannelImpl;
 Lsun/nio/ch/DatagramDispatcher;
-Lsun/nio/ch/DatagramSocketAdaptor$1;
-Lsun/nio/ch/DatagramSocketAdaptor;
 Lsun/nio/ch/DefaultSelectorProvider;
 Lsun/nio/ch/DirectBuffer;
 Lsun/nio/ch/ExtendedSocketOption$1;
+Lsun/nio/ch/ExtendedSocketOption;
 Lsun/nio/ch/FileChannelImpl$Unmapper;
 Lsun/nio/ch/FileChannelImpl;
 Lsun/nio/ch/FileDescriptorHolderSocketImpl;
@@ -63711,8 +54190,10 @@
 Lsun/nio/ch/SocketDispatcher;
 Lsun/nio/ch/SocketOptionRegistry$LazyInitialization;
 Lsun/nio/ch/SocketOptionRegistry$RegistryKey;
+Lsun/nio/ch/SocketOptionRegistry;
 Lsun/nio/ch/Util$1;
 Lsun/nio/ch/Util$2;
+Lsun/nio/ch/Util$3;
 Lsun/nio/ch/Util$BufferCache;
 Lsun/nio/ch/Util;
 Lsun/nio/cs/ArrayDecoder;
@@ -63728,13 +54209,18 @@
 Lsun/nio/fs/AbstractPath;
 Lsun/nio/fs/DefaultFileSystemProvider;
 Lsun/nio/fs/DynamicFileAttributeView;
+Lsun/nio/fs/Globs;
 Lsun/nio/fs/LinuxFileSystem;
 Lsun/nio/fs/LinuxFileSystemProvider;
 Lsun/nio/fs/NativeBuffer$Deallocator;
 Lsun/nio/fs/NativeBuffer;
 Lsun/nio/fs/NativeBuffers;
+Lsun/nio/fs/UnixChannelFactory$1;
 Lsun/nio/fs/UnixChannelFactory$Flags;
+Lsun/nio/fs/UnixChannelFactory;
 Lsun/nio/fs/UnixConstants;
+Lsun/nio/fs/UnixDirectoryStream$UnixDirectoryIterator;
+Lsun/nio/fs/UnixDirectoryStream;
 Lsun/nio/fs/UnixException;
 Lsun/nio/fs/UnixFileAttributeViews$Basic;
 Lsun/nio/fs/UnixFileAttributeViews;
@@ -63742,13 +54228,16 @@
 Lsun/nio/fs/UnixFileAttributes;
 Lsun/nio/fs/UnixFileModeAttribute;
 Lsun/nio/fs/UnixFileStoreAttributes;
+Lsun/nio/fs/UnixFileSystem$3;
 Lsun/nio/fs/UnixFileSystem;
 Lsun/nio/fs/UnixFileSystemProvider$3;
 Lsun/nio/fs/UnixFileSystemProvider;
 Lsun/nio/fs/UnixMountEntry;
 Lsun/nio/fs/UnixNativeDispatcher;
 Lsun/nio/fs/UnixPath;
+Lsun/nio/fs/UnixSecureDirectoryStream;
 Lsun/nio/fs/Util;
+Lsun/reflect/Reflection;
 Lsun/reflect/misc/ReflectUtil;
 Lsun/security/action/GetBooleanAction;
 Lsun/security/action/GetIntegerAction;
@@ -63772,6 +54261,7 @@
 Lsun/security/pkcs/PKCS7$WrappedX509Certificate;
 Lsun/security/pkcs/PKCS7;
 Lsun/security/pkcs/PKCS9Attribute;
+Lsun/security/pkcs/PKCS9Attributes;
 Lsun/security/pkcs/SignerInfo;
 Lsun/security/provider/CertPathProvider;
 Lsun/security/provider/X509Factory;
@@ -63789,7 +54279,6 @@
 Lsun/security/provider/certpath/KeyChecker;
 Lsun/security/provider/certpath/OCSP$RevocationStatus$CertStatus;
 Lsun/security/provider/certpath/OCSP$RevocationStatus;
-Lsun/security/provider/certpath/OCSPResponse$1;
 Lsun/security/provider/certpath/OCSPResponse$ResponseStatus;
 Lsun/security/provider/certpath/OCSPResponse$SingleResponse;
 Lsun/security/provider/certpath/OCSPResponse;
@@ -63805,7 +54294,6 @@
 Lsun/security/provider/certpath/RevocationChecker$Mode;
 Lsun/security/provider/certpath/RevocationChecker$RevocationProperties;
 Lsun/security/provider/certpath/RevocationChecker;
-Lsun/security/provider/certpath/State;
 Lsun/security/provider/certpath/SunCertPathBuilder;
 Lsun/security/provider/certpath/SunCertPathBuilderResult;
 Lsun/security/provider/certpath/Vertex;
@@ -63911,16 +54399,15 @@
 Lsun/util/calendar/Gregorian$Date;
 Lsun/util/calendar/Gregorian;
 Lsun/util/calendar/ImmutableGregorianDate;
-Lsun/util/calendar/JulianCalendar$Date;
 Lsun/util/calendar/JulianCalendar;
 Lsun/util/calendar/LocalGregorianCalendar;
 Lsun/util/locale/BaseLocale$Cache;
 Lsun/util/locale/BaseLocale$Key;
 Lsun/util/locale/BaseLocale;
+Lsun/util/locale/Extension;
 Lsun/util/locale/InternalLocaleBuilder$CaseInsensitiveChar;
 Lsun/util/locale/InternalLocaleBuilder;
 Lsun/util/locale/LanguageTag;
-Lsun/util/locale/LocaleEquivalentMaps;
 Lsun/util/locale/LocaleExtensions;
 Lsun/util/locale/LocaleMatcher;
 Lsun/util/locale/LocaleObjectCache$CacheEntry;
@@ -63929,12 +54416,12 @@
 Lsun/util/locale/LocaleUtils;
 Lsun/util/locale/ParseStatus;
 Lsun/util/locale/StringTokenIterator;
+Lsun/util/locale/UnicodeLocaleExtension;
 Lsun/util/logging/LoggingProxy;
 Lsun/util/logging/LoggingSupport$1;
 Lsun/util/logging/LoggingSupport$2;
 Lsun/util/logging/LoggingSupport;
 Lsun/util/logging/PlatformLogger$1;
-Lsun/util/logging/PlatformLogger$JavaLoggerProxy;
 Lsun/util/logging/PlatformLogger$Level;
 Lsun/util/logging/PlatformLogger$LoggerProxy;
 Lsun/util/logging/PlatformLogger;
diff --git a/config/hiddenapi-greylist.txt b/config/hiddenapi-greylist.txt
index 9b0e657..b3f0037 100644
--- a/config/hiddenapi-greylist.txt
+++ b/config/hiddenapi-greylist.txt
@@ -5,21 +5,10 @@
 Landroid/accounts/IAccountAuthenticator$Stub$Proxy;->mRemote:Landroid/os/IBinder;
 Landroid/accounts/IAccountAuthenticator$Stub;-><init>()V
 Landroid/accounts/IAccountAuthenticator$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountAuthenticator;
-Landroid/accounts/IAccountAuthenticator;->addAccount(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticator;->confirmCredentials(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticator;->editProperties(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;)V
-Landroid/accounts/IAccountAuthenticator;->getAccountRemovalAllowed(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;)V
-Landroid/accounts/IAccountAuthenticator;->getAuthToken(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
-Landroid/accounts/IAccountAuthenticator;->getAuthTokenLabel(Landroid/accounts/IAccountAuthenticatorResponse;Ljava/lang/String;)V
-Landroid/accounts/IAccountAuthenticator;->hasFeatures(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;[Ljava/lang/String;)V
-Landroid/accounts/IAccountAuthenticator;->updateCredentials(Landroid/accounts/IAccountAuthenticatorResponse;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
 Landroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Landroid/accounts/IAccountAuthenticatorResponse$Stub$Proxy;->mRemote:Landroid/os/IBinder;
 Landroid/accounts/IAccountAuthenticatorResponse$Stub;-><init>()V
 Landroid/accounts/IAccountAuthenticatorResponse$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountAuthenticatorResponse;
-Landroid/accounts/IAccountAuthenticatorResponse;->onError(ILjava/lang/String;)V
-Landroid/accounts/IAccountAuthenticatorResponse;->onRequestContinued()V
-Landroid/accounts/IAccountAuthenticatorResponse;->onResult(Landroid/os/Bundle;)V
 Landroid/accounts/IAccountManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Landroid/accounts/IAccountManager$Stub;-><init>()V
 Landroid/accounts/IAccountManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountManager;
@@ -27,8 +16,6 @@
 Landroid/accounts/IAccountManagerResponse$Stub$Proxy;->mRemote:Landroid/os/IBinder;
 Landroid/accounts/IAccountManagerResponse$Stub;-><init>()V
 Landroid/accounts/IAccountManagerResponse$Stub;->asInterface(Landroid/os/IBinder;)Landroid/accounts/IAccountManagerResponse;
-Landroid/accounts/IAccountManagerResponse;->onError(ILjava/lang/String;)V
-Landroid/accounts/IAccountManagerResponse;->onResult(Landroid/os/Bundle;)V
 Landroid/app/ActivityManagerNative;-><init>()V
 Landroid/app/ActivityThread$AppBindData;-><init>()V
 Landroid/app/ActivityThread$CreateServiceData;-><init>()V
@@ -39,7 +26,6 @@
 Landroid/app/backup/IBackupManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/backup/IBackupManager;
 Landroid/app/backup/IFullBackupRestoreObserver$Stub;-><init>()V
 Landroid/app/backup/IRestoreObserver$Stub;-><init>()V
-Landroid/app/DownloadManager;->restartDownload([J)V
 Landroid/app/IActivityController$Stub;-><init>()V
 Landroid/app/IActivityManager$Stub$Proxy;->getConfiguration()Landroid/content/res/Configuration;
 Landroid/app/IActivityManager$Stub$Proxy;->getLaunchedFromUid(Landroid/os/IBinder;)I
@@ -49,156 +35,33 @@
 Landroid/app/IActivityManager$Stub$Proxy;->setActivityController(Landroid/app/IActivityController;Z)V
 Landroid/app/IActivityManager$Stub$Proxy;->updatePersistentConfiguration(Landroid/content/res/Configuration;)V
 Landroid/app/IActivityManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IActivityManager;
-Landroid/app/IActivityManager;->bindService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;I)I
-Landroid/app/IActivityManager;->broadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I
-Landroid/app/IActivityManager;->cancelRecentsAnimation(Z)V
-Landroid/app/IActivityManager;->cancelTaskWindowTransition(I)V
-Landroid/app/IActivityManager;->checkPermission(Ljava/lang/String;II)I
-Landroid/app/IActivityManager;->closeSystemDialogs(Ljava/lang/String;)V
-Landroid/app/IActivityManager;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z
-Landroid/app/IActivityManager;->finishHeavyWeightApp()V
 Landroid/app/IActivityManager;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V
-Landroid/app/IActivityManager;->forceStopPackage(Ljava/lang/String;I)V
-Landroid/app/IActivityManager;->getAllStackInfos()Ljava/util/List;
-Landroid/app/IActivityManager;->getConfiguration()Landroid/content/res/Configuration;
-Landroid/app/IActivityManager;->getCurrentUser()Landroid/content/pm/UserInfo;
-Landroid/app/IActivityManager;->getFilteredTasks(III)Ljava/util/List;
-Landroid/app/IActivityManager;->getIntentForIntentSender(Landroid/content/IIntentSender;)Landroid/content/Intent;
-Landroid/app/IActivityManager;->getIntentSender(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;I)Landroid/content/IIntentSender;
-Landroid/app/IActivityManager;->getLaunchedFromPackage(Landroid/os/IBinder;)Ljava/lang/String;
-Landroid/app/IActivityManager;->getLaunchedFromUid(Landroid/os/IBinder;)I
-Landroid/app/IActivityManager;->getLockTaskModeState()I
-Landroid/app/IActivityManager;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
-Landroid/app/IActivityManager;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I
-Landroid/app/IActivityManager;->getProcessLimit()I
-Landroid/app/IActivityManager;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;
-Landroid/app/IActivityManager;->getProcessPss([I)[J
-Landroid/app/IActivityManager;->getProviderMimeType(Landroid/net/Uri;I)Ljava/lang/String;
-Landroid/app/IActivityManager;->getRecentTasks(III)Landroid/content/pm/ParceledListSlice;
-Landroid/app/IActivityManager;->getRunningAppProcesses()Ljava/util/List;
-Landroid/app/IActivityManager;->getServices(II)Ljava/util/List;
-Landroid/app/IActivityManager;->getTaskBounds(I)Landroid/graphics/Rect;
-Landroid/app/IActivityManager;->getTaskForActivity(Landroid/os/IBinder;Z)I
-Landroid/app/IActivityManager;->getTaskSnapshot(IZ)Landroid/app/ActivityManager$TaskSnapshot;
-Landroid/app/IActivityManager;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
-Landroid/app/IActivityManager;->hang(Landroid/os/IBinder;Z)V
-Landroid/app/IActivityManager;->isInLockTaskMode()Z
-Landroid/app/IActivityManager;->isIntentSenderAnActivity(Landroid/content/IIntentSender;)Z
-Landroid/app/IActivityManager;->isTopOfTask(Landroid/os/IBinder;)Z
-Landroid/app/IActivityManager;->isUserRunning(II)Z
-Landroid/app/IActivityManager;->killAllBackgroundProcesses()V
-Landroid/app/IActivityManager;->killBackgroundProcesses(Ljava/lang/String;I)V
-Landroid/app/IActivityManager;->moveActivityTaskToBack(Landroid/os/IBinder;Z)Z
-Landroid/app/IActivityManager;->moveTaskToFront(IILandroid/os/Bundle;)V
-Landroid/app/IActivityManager;->moveTaskToStack(IIZ)V
-Landroid/app/IActivityManager;->moveTopActivityToPinnedStack(ILandroid/graphics/Rect;)Z
-Landroid/app/IActivityManager;->positionTaskInStack(III)V
-Landroid/app/IActivityManager;->profileControl(Ljava/lang/String;IZLandroid/app/ProfilerInfo;I)Z
-Landroid/app/IActivityManager;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V
-Landroid/app/IActivityManager;->registerProcessObserver(Landroid/app/IProcessObserver;)V
-Landroid/app/IActivityManager;->registerReceiver(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;
-Landroid/app/IActivityManager;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
-Landroid/app/IActivityManager;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
-Landroid/app/IActivityManager;->removeContentProviderExternal(Ljava/lang/String;Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->removeStack(I)V
-Landroid/app/IActivityManager;->removeTask(I)Z
-Landroid/app/IActivityManager;->requestBugReport(I)V
-Landroid/app/IActivityManager;->resizeDockedStack(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-Landroid/app/IActivityManager;->resizeStack(ILandroid/graphics/Rect;ZZZI)V
-Landroid/app/IActivityManager;->resizeTask(ILandroid/graphics/Rect;I)V
-Landroid/app/IActivityManager;->restart()V
-Landroid/app/IActivityManager;->resumeAppSwitches()V
-Landroid/app/IActivityManager;->sendIdleJobTrigger()V
 Landroid/app/IActivityManager;->serviceDoneExecuting(Landroid/os/IBinder;III)V
-Landroid/app/IActivityManager;->setActivityController(Landroid/app/IActivityController;Z)V
-Landroid/app/IActivityManager;->setAlwaysFinish(Z)V
-Landroid/app/IActivityManager;->setDebugApp(Ljava/lang/String;ZZ)V
-Landroid/app/IActivityManager;->setDumpHeapDebugLimit(Ljava/lang/String;IJLjava/lang/String;)V
-Landroid/app/IActivityManager;->setPackageScreenCompatMode(Ljava/lang/String;I)V
-Landroid/app/IActivityManager;->setProcessImportant(Landroid/os/IBinder;IZLjava/lang/String;)V
-Landroid/app/IActivityManager;->setProcessLimit(I)V
-Landroid/app/IActivityManager;->setProcessMemoryTrimLevel(Ljava/lang/String;II)Z
-Landroid/app/IActivityManager;->setRequestedOrientation(Landroid/os/IBinder;I)V
-Landroid/app/IActivityManager;->setTaskResizeable(II)V
-Landroid/app/IActivityManager;->shutdown(I)Z
-Landroid/app/IActivityManager;->startActivity(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;)I
-Landroid/app/IActivityManager;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)I
-Landroid/app/IActivityManager;->startActivityFromRecents(ILandroid/os/Bundle;)I
-Landroid/app/IActivityManager;->startBinderTracking()Z
-Landroid/app/IActivityManager;->startInstrumentation(Landroid/content/ComponentName;Ljava/lang/String;ILandroid/os/Bundle;Landroid/app/IInstrumentationWatcher;Landroid/app/IUiAutomationConnection;ILjava/lang/String;)Z
-Landroid/app/IActivityManager;->startRecentsActivity(Landroid/content/Intent;Landroid/app/IAssistDataReceiver;Landroid/view/IRecentsAnimationRunner;)V
-Landroid/app/IActivityManager;->startSystemLockTaskMode(I)V
-Landroid/app/IActivityManager;->startUserInBackground(I)Z
-Landroid/app/IActivityManager;->stopAppSwitches()V
-Landroid/app/IActivityManager;->stopBinderTrackingAndDump(Landroid/os/ParcelFileDescriptor;)Z
-Landroid/app/IActivityManager;->stopService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)I
-Landroid/app/IActivityManager;->stopUser(IZLandroid/app/IStopUserCallback;)I
-Landroid/app/IActivityManager;->suppressResizeConfigChanges(Z)V
-Landroid/app/IActivityManager;->switchUser(I)Z
-Landroid/app/IActivityManager;->unbindService(Landroid/app/IServiceConnection;)Z
-Landroid/app/IActivityManager;->unhandledBack()V
-Landroid/app/IActivityManager;->unlockUser(I[B[BLandroid/os/IProgressListener;)Z
-Landroid/app/IActivityManager;->unregisterProcessObserver(Landroid/app/IProcessObserver;)V
-Landroid/app/IActivityManager;->unregisterReceiver(Landroid/content/IIntentReceiver;)V
-Landroid/app/IActivityManager;->unstableProviderDied(Landroid/os/IBinder;)V
-Landroid/app/IActivityManager;->updateConfiguration(Landroid/content/res/Configuration;)Z
-Landroid/app/IActivityManager;->updatePersistentConfiguration(Landroid/content/res/Configuration;)V
 Landroid/app/IAlarmManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Landroid/app/IAlarmManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IAlarmManager;
 Landroid/app/IAlarmManager$Stub;->TRANSACTION_remove:I
 Landroid/app/IAlarmManager$Stub;->TRANSACTION_set:I
-Landroid/app/IAlarmManager;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
-Landroid/app/IAlarmManager;->set(Ljava/lang/String;IJJJILandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
-Landroid/app/IAlarmManager;->setTime(J)Z
-Landroid/app/IApplicationThread;->scheduleBindService(Landroid/os/IBinder;Landroid/content/Intent;ZI)V
-Landroid/app/IApplicationThread;->scheduleCreateService(Landroid/os/IBinder;Landroid/content/pm/ServiceInfo;Landroid/content/res/CompatibilityInfo;I)V
-Landroid/app/IApplicationThread;->scheduleStopService(Landroid/os/IBinder;)V
-Landroid/app/IApplicationThread;->scheduleTrimMemory(I)V
-Landroid/app/IApplicationThread;->scheduleUnbindService(Landroid/os/IBinder;Landroid/content/Intent;)V
-Landroid/app/IAppTask;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;
 Landroid/app/IAssistDataReceiver$Stub;-><init>()V
-Landroid/app/IAssistDataReceiver;->onHandleAssistData(Landroid/os/Bundle;)V
-Landroid/app/IAssistDataReceiver;->onHandleAssistScreenshot(Landroid/graphics/Bitmap;)V
 Landroid/app/IInstrumentationWatcher$Stub;-><init>()V
-Landroid/app/IInstrumentationWatcher;->instrumentationStatus(Landroid/content/ComponentName;ILandroid/os/Bundle;)V
 Landroid/app/INotificationManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Landroid/app/INotificationManager$Stub$Proxy;->areNotificationsEnabledForPackage(Ljava/lang/String;I)Z
 Landroid/app/INotificationManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/INotificationManager;
 Landroid/app/INotificationManager$Stub;->TRANSACTION_enqueueNotificationWithTag:I
-Landroid/app/INotificationManager;->areNotificationsEnabledForPackage(Ljava/lang/String;I)Z
-Landroid/app/INotificationManager;->cancelAllNotifications(Ljava/lang/String;I)V
-Landroid/app/INotificationManager;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;II)V
-Landroid/app/INotificationManager;->cancelToast(Ljava/lang/String;Landroid/app/ITransientNotification;)V
-Landroid/app/INotificationManager;->enqueueToast(Ljava/lang/String;Landroid/app/ITransientNotification;II)V
-Landroid/app/INotificationManager;->getActiveNotifications(Ljava/lang/String;)[Landroid/service/notification/StatusBarNotification;
-Landroid/app/INotificationManager;->getHistoricalNotifications(Ljava/lang/String;I)[Landroid/service/notification/StatusBarNotification;
-Landroid/app/INotificationManager;->getZenMode()I
-Landroid/app/INotificationManager;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
 Landroid/app/IProcessObserver$Stub;-><init>()V
 Landroid/app/ISearchManager$Stub$Proxy;->getGlobalSearchActivity()Landroid/content/ComponentName;
 Landroid/app/ISearchManager$Stub$Proxy;->getWebSearchActivity()Landroid/content/ComponentName;
 Landroid/app/ISearchManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/ISearchManager;
-Landroid/app/ISearchManager;->getGlobalSearchActivity()Landroid/content/ComponentName;
 Landroid/app/IServiceConnection$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Landroid/app/IServiceConnection$Stub$Proxy;->mRemote:Landroid/os/IBinder;
 Landroid/app/IServiceConnection$Stub;-><init>()V
 Landroid/app/IServiceConnection$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IServiceConnection;
-Landroid/app/IServiceConnection;->connected(Landroid/content/ComponentName;Landroid/os/IBinder;Z)V
 Landroid/app/IStopUserCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Landroid/app/IStopUserCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
 Landroid/app/IStopUserCallback$Stub;-><init>()V
-Landroid/app/IStopUserCallback;->userStopped(I)V
 Landroid/app/ITransientNotification$Stub;-><init>()V
-Landroid/app/ITransientNotification;->show(Landroid/os/IBinder;)V
 Landroid/app/IUiModeManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Landroid/app/IUserSwitchObserver$Stub;-><init>()V
 Landroid/app/IWallpaperManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/IWallpaperManager;
-Landroid/app/IWallpaperManager;->getHeightHint(I)I
-Landroid/app/IWallpaperManager;->getWallpaper(Ljava/lang/String;Landroid/app/IWallpaperManagerCallback;ILandroid/os/Bundle;I)Landroid/os/ParcelFileDescriptor;
-Landroid/app/IWallpaperManager;->getWallpaperInfo(I)Landroid/app/WallpaperInfo;
-Landroid/app/IWallpaperManager;->getWidthHint(I)I
-Landroid/app/IWallpaperManager;->hasNamedWallpaper(Ljava/lang/String;)Z
-Landroid/app/IWallpaperManager;->setWallpaperComponent(Landroid/content/ComponentName;)V
 Landroid/app/IWallpaperManagerCallback$Stub;-><init>()V
 Landroid/app/job/IJobCallback$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Landroid/app/job/IJobCallback$Stub$Proxy;->mRemote:Landroid/os/IBinder;
@@ -212,7 +75,6 @@
 Landroid/app/job/IJobService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/app/job/IJobService;
 Landroid/app/PackageDeleteObserver;-><init>()V
 Landroid/app/PackageInstallObserver;-><init>()V
-Landroid/app/ReceiverRestrictedContext;-><init>(Landroid/content/Context;)V
 Landroid/app/ResourcesManager$ActivityResources;-><init>()V
 Landroid/app/ResourcesManager;-><init>()V
 Landroid/app/TaskStackListener;-><init>()V
@@ -416,227 +278,16 @@
 Landroid/net/wifi/IWifiScanner$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/IWifiScanner;
 Landroid/net/wifi/p2p/IWifiP2pManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/wifi/p2p/IWifiP2pManager;
 Landroid/nfc/INfcAdapter$Stub;->TRANSACTION_enable:I
-Landroid/os/AsyncResult;-><init>(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Throwable;)V
-Landroid/os/AsyncResult;->exception:Ljava/lang/Throwable;
-Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;)Landroid/os/AsyncResult;
-Landroid/os/AsyncResult;->forMessage(Landroid/os/Message;Ljava/lang/Object;Ljava/lang/Throwable;)Landroid/os/AsyncResult;
-Landroid/os/AsyncResult;->result:Ljava/lang/Object;
-Landroid/os/AsyncResult;->userObj:Ljava/lang/Object;
-Landroid/os/AsyncTask;->mFuture:Ljava/util/concurrent/FutureTask;
-Landroid/os/AsyncTask;->mStatus:Landroid/os/AsyncTask$Status;
-Landroid/os/AsyncTask;->mTaskInvoked:Ljava/util/concurrent/atomic/AtomicBoolean;
-Landroid/os/AsyncTask;->mWorker:Landroid/os/AsyncTask$WorkerRunnable;
-Landroid/os/AsyncTask;->sDefaultExecutor:Ljava/util/concurrent/Executor;
-Landroid/os/AsyncTask;->setDefaultExecutor(Ljava/util/concurrent/Executor;)V
-Landroid/os/BaseBundle;->isParcelled()Z
-Landroid/os/BaseBundle;->mMap:Landroid/util/ArrayMap;
-Landroid/os/BaseBundle;->mParcelledData:Landroid/os/Parcel;
-Landroid/os/BaseBundle;->unparcel()V
-Landroid/os/BatteryManager;->EXTRA_CHARGE_COUNTER:Ljava/lang/String;
-Landroid/os/BatteryManager;->EXTRA_INVALID_CHARGER:Ljava/lang/String;
-Landroid/os/BatteryManager;->EXTRA_MAX_CHARGING_CURRENT:Ljava/lang/String;
-Landroid/os/BatteryManager;->EXTRA_MAX_CHARGING_VOLTAGE:Ljava/lang/String;
-Landroid/os/BatteryStats$Counter;->getCountLocked(I)I
-Landroid/os/BatteryStats$HistoryItem;-><init>()V
-Landroid/os/BatteryStats$HistoryItem;->batteryHealth:B
-Landroid/os/BatteryStats$HistoryItem;->batteryLevel:B
-Landroid/os/BatteryStats$HistoryItem;->batteryPlugType:B
-Landroid/os/BatteryStats$HistoryItem;->batteryStatus:B
-Landroid/os/BatteryStats$HistoryItem;->batteryVoltage:C
-Landroid/os/BatteryStats$HistoryItem;->cmd:B
-Landroid/os/BatteryStats$HistoryItem;->CMD_UPDATE:B
-Landroid/os/BatteryStats$HistoryItem;->states2:I
-Landroid/os/BatteryStats$HistoryItem;->states:I
-Landroid/os/BatteryStats$HistoryItem;->time:J
-Landroid/os/BatteryStats$Timer;->getCountLocked(I)I
-Landroid/os/BatteryStats$Timer;->getTotalTimeLocked(JI)J
-Landroid/os/BatteryStats$Uid$Pkg$Serv;->getLaunches(I)I
-Landroid/os/BatteryStats$Uid$Pkg$Serv;->getStarts(I)I
-Landroid/os/BatteryStats$Uid$Pkg$Serv;->getStartTime(JI)J
-Landroid/os/BatteryStats$Uid$Pkg;->getServiceStats()Landroid/util/ArrayMap;
-Landroid/os/BatteryStats$Uid$Pkg;->getWakeupAlarmStats()Landroid/util/ArrayMap;
 Landroid/os/BatteryStats$Uid$Proc$ExcessivePower;-><init>()V
-Landroid/os/BatteryStats$Uid$Proc$ExcessivePower;->overTime:J
-Landroid/os/BatteryStats$Uid$Proc$ExcessivePower;->type:I
-Landroid/os/BatteryStats$Uid$Proc$ExcessivePower;->usedTime:J
-Landroid/os/BatteryStats$Uid$Proc;->countExcessivePowers()I
-Landroid/os/BatteryStats$Uid$Proc;->getExcessivePower(I)Landroid/os/BatteryStats$Uid$Proc$ExcessivePower;
-Landroid/os/BatteryStats$Uid$Proc;->getForegroundTime(I)J
-Landroid/os/BatteryStats$Uid$Proc;->getStarts(I)I
-Landroid/os/BatteryStats$Uid$Proc;->getSystemTime(I)J
-Landroid/os/BatteryStats$Uid$Proc;->getUserTime(I)J
-Landroid/os/BatteryStats$Uid$Sensor;->getHandle()I
-Landroid/os/BatteryStats$Uid$Sensor;->getSensorTime()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid$Sensor;->GPS:I
-Landroid/os/BatteryStats$Uid$Wakelock;->getWakeTime(I)Landroid/os/BatteryStats$Timer;
 Landroid/os/BatteryStats$Uid;-><init>()V
-Landroid/os/BatteryStats$Uid;->getAudioTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->getFullWifiLockTime(JI)J
-Landroid/os/BatteryStats$Uid;->getMobileRadioActiveTime(I)J
-Landroid/os/BatteryStats$Uid;->getNetworkActivityBytes(II)J
-Landroid/os/BatteryStats$Uid;->getPackageStats()Landroid/util/ArrayMap;
-Landroid/os/BatteryStats$Uid;->getProcessStats()Landroid/util/ArrayMap;
-Landroid/os/BatteryStats$Uid;->getSensorStats()Landroid/util/SparseArray;
-Landroid/os/BatteryStats$Uid;->getUid()I
-Landroid/os/BatteryStats$Uid;->getVideoTurnedOnTimer()Landroid/os/BatteryStats$Timer;
-Landroid/os/BatteryStats$Uid;->getWakelockStats()Landroid/util/ArrayMap;
-Landroid/os/BatteryStats$Uid;->getWifiBatchedScanTime(IJI)J
-Landroid/os/BatteryStats$Uid;->getWifiMulticastTime(JI)J
-Landroid/os/BatteryStats$Uid;->getWifiRunningTime(JI)J
-Landroid/os/BatteryStats$Uid;->getWifiScanTime(JI)J
-Landroid/os/BatteryStats;->computeBatteryRealtime(JI)J
-Landroid/os/BatteryStats;->computeBatteryTimeRemaining(J)J
-Landroid/os/BatteryStats;->computeBatteryUptime(JI)J
-Landroid/os/BatteryStats;->computeChargeTimeRemaining(J)J
-Landroid/os/BatteryStats;->dumpLine(Ljava/io/PrintWriter;ILjava/lang/String;Ljava/lang/String;[Ljava/lang/Object;)V
-Landroid/os/BatteryStats;->getBatteryUptime(J)J
-Landroid/os/BatteryStats;->getGlobalWifiRunningTime(JI)J
-Landroid/os/BatteryStats;->getNextHistoryLocked(Landroid/os/BatteryStats$HistoryItem;)Z
-Landroid/os/BatteryStats;->getPhoneOnTime(JI)J
-Landroid/os/BatteryStats;->getPhoneSignalStrengthTime(IJI)J
-Landroid/os/BatteryStats;->getScreenBrightnessTime(IJI)J
-Landroid/os/BatteryStats;->getScreenOnTime(JI)J
-Landroid/os/BatteryStats;->getUidStats()Landroid/util/SparseArray;
-Landroid/os/BatteryStats;->getWifiOnTime(JI)J
-Landroid/os/BatteryStats;->NUM_DATA_CONNECTION_TYPES:I
-Landroid/os/BatteryStats;->NUM_SCREEN_BRIGHTNESS_BINS:I
-Landroid/os/BatteryStats;->startIteratingHistoryLocked()Z
-Landroid/os/BatteryStats;->STATS_CURRENT:I
-Landroid/os/BatteryStats;->WAKE_TYPE_PARTIAL:I
-Landroid/os/Binder;->execTransact(IJJI)Z
-Landroid/os/Binder;->mObject:J
-Landroid/os/Broadcaster;-><init>()V
-Landroid/os/Broadcaster;->broadcast(Landroid/os/Message;)V
-Landroid/os/Broadcaster;->cancelRequest(ILandroid/os/Handler;I)V
-Landroid/os/Broadcaster;->request(ILandroid/os/Handler;I)V
-Landroid/os/Build$VERSION;->ACTIVE_CODENAMES:[Ljava/lang/String;
-Landroid/os/Build;->getLong(Ljava/lang/String;)J
-Landroid/os/Build;->getString(Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/Build;->IS_DEBUGGABLE:Z
-Landroid/os/Bundle;->filterValues()Landroid/os/Bundle;
-Landroid/os/Bundle;->forPair(Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;
-Landroid/os/Bundle;->getIBinder(Ljava/lang/String;)Landroid/os/IBinder;
-Landroid/os/Bundle;->getSize()I
-Landroid/os/Bundle;->putIBinder(Ljava/lang/String;Landroid/os/IBinder;)V
-Landroid/os/Bundle;->putParcelableList(Ljava/lang/String;Ljava/util/List;)V
-Landroid/os/Bundle;->setDefusable(Landroid/os/Bundle;Z)Landroid/os/Bundle;
-Landroid/os/Debug$MemoryInfo;->dalvikPrivateClean:I
-Landroid/os/Debug$MemoryInfo;->dalvikRss:I
-Landroid/os/Debug$MemoryInfo;->dalvikSharedClean:I
-Landroid/os/Debug$MemoryInfo;->dalvikSwappablePss:I
-Landroid/os/Debug$MemoryInfo;->dalvikSwappedOut:I
-Landroid/os/Debug$MemoryInfo;->dalvikSwappedOutPss:I
-Landroid/os/Debug$MemoryInfo;->getOtherLabel(I)Ljava/lang/String;
-Landroid/os/Debug$MemoryInfo;->getOtherPrivate(I)I
-Landroid/os/Debug$MemoryInfo;->getOtherPrivateDirty(I)I
-Landroid/os/Debug$MemoryInfo;->getOtherPss(I)I
-Landroid/os/Debug$MemoryInfo;->getOtherSharedDirty(I)I
-Landroid/os/Debug$MemoryInfo;->getSummaryCode()I
-Landroid/os/Debug$MemoryInfo;->getSummaryGraphics()I
-Landroid/os/Debug$MemoryInfo;->getSummaryJavaHeap()I
-Landroid/os/Debug$MemoryInfo;->getSummaryNativeHeap()I
-Landroid/os/Debug$MemoryInfo;->getSummaryPrivateOther()I
-Landroid/os/Debug$MemoryInfo;->getSummaryStack()I
-Landroid/os/Debug$MemoryInfo;->getSummarySystem()I
-Landroid/os/Debug$MemoryInfo;->getTotalUss()I
-Landroid/os/Debug$MemoryInfo;->hasSwappedOutPss:Z
-Landroid/os/Debug$MemoryInfo;->nativePrivateClean:I
-Landroid/os/Debug$MemoryInfo;->nativeRss:I
-Landroid/os/Debug$MemoryInfo;->nativeSharedClean:I
-Landroid/os/Debug$MemoryInfo;->nativeSwappablePss:I
-Landroid/os/Debug$MemoryInfo;->nativeSwappedOut:I
-Landroid/os/Debug$MemoryInfo;->nativeSwappedOutPss:I
-Landroid/os/Debug$MemoryInfo;->NUM_DVK_STATS:I
-Landroid/os/Debug$MemoryInfo;->NUM_OTHER_STATS:I
-Landroid/os/Debug$MemoryInfo;->otherPrivateClean:I
-Landroid/os/Debug$MemoryInfo;->otherRss:I
-Landroid/os/Debug$MemoryInfo;->otherSharedClean:I
-Landroid/os/Debug$MemoryInfo;->otherStats:[I
-Landroid/os/Debug$MemoryInfo;->otherSwappablePss:I
-Landroid/os/Debug$MemoryInfo;->otherSwappedOut:I
-Landroid/os/Debug$MemoryInfo;->otherSwappedOutPss:I
-Landroid/os/Debug;-><init>()V
-Landroid/os/Debug;->countInstancesOfClass(Ljava/lang/Class;)J
-Landroid/os/Debug;->dumpNativeHeap(Ljava/io/FileDescriptor;)V
-Landroid/os/Debug;->dumpReferenceTables()V
-Landroid/os/Debug;->getCaller()Ljava/lang/String;
-Landroid/os/Debug;->getCallers(I)Ljava/lang/String;
-Landroid/os/Debug;->getMemInfo([J)V
-Landroid/os/Debug;->getMemoryInfo(ILandroid/os/Debug$MemoryInfo;)V
-Landroid/os/DropBoxManager;->mService:Lcom/android/internal/os/IDropBoxManagerService;
-Landroid/os/Environment$UserEnvironment;-><init>(I)V
-Landroid/os/Environment$UserEnvironment;->getExternalDirs()[Ljava/io/File;
-Landroid/os/Environment$UserEnvironment;->getExternalStorageDirectory()Ljava/io/File;
-Landroid/os/Environment$UserEnvironment;->getExternalStoragePublicDirectory(Ljava/lang/String;)Ljava/io/File;
-Landroid/os/Environment;->buildExternalStorageAndroidDataDirs()[Ljava/io/File;
-Landroid/os/Environment;->buildExternalStorageAppCacheDirs(Ljava/lang/String;)[Ljava/io/File;
-Landroid/os/Environment;->buildExternalStorageAppDataDirs(Ljava/lang/String;)[Ljava/io/File;
-Landroid/os/Environment;->buildExternalStorageAppFilesDirs(Ljava/lang/String;)[Ljava/io/File;
-Landroid/os/Environment;->buildExternalStorageAppMediaDirs(Ljava/lang/String;)[Ljava/io/File;
-Landroid/os/Environment;->buildExternalStorageAppObbDirs(Ljava/lang/String;)[Ljava/io/File;
-Landroid/os/Environment;->buildPaths([Ljava/io/File;[Ljava/lang/String;)[Ljava/io/File;
-Landroid/os/Environment;->getDataSystemDirectory()Ljava/io/File;
-Landroid/os/Environment;->getLegacyExternalStorageDirectory()Ljava/io/File;
-Landroid/os/Environment;->getLegacyExternalStorageObbDirectory()Ljava/io/File;
-Landroid/os/Environment;->initForCurrentUser()V
-Landroid/os/Environment;->maybeTranslateEmulatedPathToInternal(Ljava/io/File;)Ljava/io/File;
-Landroid/os/Environment;->sCurrentUser:Landroid/os/Environment$UserEnvironment;
-Landroid/os/FileObserver$ObserverThread;->onEvent(IILjava/lang/String;)V
-Landroid/os/FileObserver;->s_observerThread:Landroid/os/FileObserver$ObserverThread;
-Landroid/os/FileUtils;-><init>()V
-Landroid/os/FileUtils;->checksumCrc32(Ljava/io/File;)J
-Landroid/os/FileUtils;->copyFile(Ljava/io/File;Ljava/io/File;)Z
-Landroid/os/FileUtils;->copyToFile(Ljava/io/InputStream;Ljava/io/File;)Z
-Landroid/os/FileUtils;->deleteContents(Ljava/io/File;)Z
-Landroid/os/FileUtils;->deleteOlderFiles(Ljava/io/File;IJ)Z
-Landroid/os/FileUtils;->isFilenameSafe(Ljava/io/File;)Z
-Landroid/os/FileUtils;->readTextFile(Ljava/io/File;ILjava/lang/String;)Ljava/lang/String;
-Landroid/os/FileUtils;->setPermissions(Ljava/io/File;III)I
-Landroid/os/FileUtils;->setPermissions(Ljava/io/FileDescriptor;III)I
-Landroid/os/FileUtils;->setPermissions(Ljava/lang/String;III)I
-Landroid/os/FileUtils;->stringToFile(Ljava/io/File;Ljava/lang/String;)V
-Landroid/os/FileUtils;->stringToFile(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/FileUtils;->sync(Ljava/io/FileOutputStream;)Z
-Landroid/os/Handler;-><init>(Landroid/os/Looper;Landroid/os/Handler$Callback;Z)V
-Landroid/os/Handler;-><init>(Z)V
-Landroid/os/Handler;->getIMessenger()Landroid/os/IMessenger;
-Landroid/os/Handler;->getMain()Landroid/os/Handler;
-Landroid/os/Handler;->getPostMessage(Ljava/lang/Runnable;Ljava/lang/Object;)Landroid/os/Message;
-Landroid/os/Handler;->mCallback:Landroid/os/Handler$Callback;
-Landroid/os/Handler;->mLooper:Landroid/os/Looper;
-Landroid/os/Handler;->mMessenger:Landroid/os/IMessenger;
-Landroid/os/HwBinder;->reportSyspropChanged()V
-Landroid/os/HwParcel;-><init>(Z)V
-Landroid/os/HwRemoteBinder;-><init>()V
 Landroid/os/IBatteryPropertiesRegistrar$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-Landroid/os/IBinder;->SYSPROPS_TRANSACTION:I
 Landroid/os/IDeviceIdentifiersPolicyService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IDeviceIdentifiersPolicyService;
 Landroid/os/IDeviceIdleController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IDeviceIdleController;
-Landroid/os/IDeviceIdleController;->addPowerSaveTempWhitelistApp(Ljava/lang/String;JILjava/lang/String;)V
 Landroid/os/IDeviceIdleController;->getAppIdTempWhitelist()[I
 Landroid/os/IDeviceIdleController;->getFullPowerWhitelistExceptIdle()[Ljava/lang/String;
 Landroid/os/INetworkManagementService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Landroid/os/INetworkManagementService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/INetworkManagementService;
-Landroid/os/INetworkManagementService;->clearInterfaceAddresses(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->disableIpv6(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->disableNat(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->enableIpv6(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->enableNat(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->getInterfaceConfig(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;
-Landroid/os/INetworkManagementService;->getIpForwardingEnabled()Z
-Landroid/os/INetworkManagementService;->isBandwidthControlEnabled()Z
-Landroid/os/INetworkManagementService;->isTetheringStarted()Z
 Landroid/os/INetworkManagementService;->listTetheredInterfaces()[Ljava/lang/String;
-Landroid/os/INetworkManagementService;->registerObserver(Landroid/net/INetworkManagementEventObserver;)V
-Landroid/os/INetworkManagementService;->setInterfaceConfig(Ljava/lang/String;Landroid/net/InterfaceConfiguration;)V
-Landroid/os/INetworkManagementService;->setInterfaceIpv6PrivacyExtensions(Ljava/lang/String;Z)V
-Landroid/os/INetworkManagementService;->setIpForwardingEnabled(Z)V
-Landroid/os/INetworkManagementService;->setIPv6AddrGenMode(Ljava/lang/String;I)V
-Landroid/os/INetworkManagementService;->startTethering([Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->stopTethering()V
-Landroid/os/INetworkManagementService;->tetherInterface(Ljava/lang/String;)V
-Landroid/os/INetworkManagementService;->unregisterObserver(Landroid/net/INetworkManagementEventObserver;)V
-Landroid/os/INetworkManagementService;->untetherInterface(Ljava/lang/String;)V
 Landroid/os/IPermissionController$Stub$Proxy;->checkPermission(Ljava/lang/String;II)Z
 Landroid/os/IPermissionController$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IPermissionController;
 Landroid/os/IPowerManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
@@ -644,282 +295,21 @@
 Landroid/os/IPowerManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IPowerManager;
 Landroid/os/IPowerManager$Stub;->TRANSACTION_acquireWakeLock:I
 Landroid/os/IPowerManager$Stub;->TRANSACTION_goToSleep:I
-Landroid/os/IPowerManager;->goToSleep(JII)V
-Landroid/os/IPowerManager;->isInteractive()Z
-Landroid/os/IPowerManager;->reboot(ZLjava/lang/String;Z)V
 Landroid/os/IPowerManager;->releaseWakeLock(Landroid/os/IBinder;I)V
-Landroid/os/IPowerManager;->userActivity(JII)V
 Landroid/os/IRecoverySystem$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IRecoverySystem;
 Landroid/os/IRemoteCallback$Stub;-><init>()V
-Landroid/os/IRemoteCallback;->sendResult(Landroid/os/Bundle;)V
-Landroid/os/IServiceManager;->checkService(Ljava/lang/String;)Landroid/os/IBinder;
-Landroid/os/IServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
 Landroid/os/IUpdateEngine$Stub;-><init>()V
 Landroid/os/IUpdateEngineCallback;->onStatusUpdate(IF)V
 Landroid/os/IUserManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Landroid/os/IUserManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IUserManager;
-Landroid/os/IUserManager;->getUserInfo(I)Landroid/content/pm/UserInfo;
 Landroid/os/IVibratorService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/IVibratorService;
-Landroid/os/LocaleList;->setDefault(Landroid/os/LocaleList;I)V
-Landroid/os/Looper;->mLogging:Landroid/util/Printer;
-Landroid/os/Looper;->mQueue:Landroid/os/MessageQueue;
-Landroid/os/Looper;->setTraceTag(J)V
-Landroid/os/Looper;->sMainLooper:Landroid/os/Looper;
-Landroid/os/Looper;->sThreadLocal:Ljava/lang/ThreadLocal;
-Landroid/os/MemoryFile;->deactivate()V
-Landroid/os/MemoryFile;->getFileDescriptor()Ljava/io/FileDescriptor;
-Landroid/os/MemoryFile;->getSize(Ljava/io/FileDescriptor;)I
-Landroid/os/MemoryFile;->native_get_size(Ljava/io/FileDescriptor;)I
-Landroid/os/MemoryFile;->native_pin(Ljava/io/FileDescriptor;Z)Z
-Landroid/os/Message;->callback:Ljava/lang/Runnable;
-Landroid/os/Message;->flags:I
-Landroid/os/Message;->markInUse()V
-Landroid/os/Message;->next:Landroid/os/Message;
-Landroid/os/Message;->recycleUnchecked()V
-Landroid/os/Message;->setCallback(Ljava/lang/Runnable;)Landroid/os/Message;
-Landroid/os/Message;->target:Landroid/os/Handler;
-Landroid/os/Message;->toString(J)Ljava/lang/String;
-Landroid/os/Message;->when:J
-Landroid/os/MessageQueue;->dispatchEvents(II)I
-Landroid/os/MessageQueue;->hasMessages(Landroid/os/Handler;Ljava/lang/Runnable;Ljava/lang/Object;)Z
-Landroid/os/MessageQueue;->mIdleHandlers:Ljava/util/ArrayList;
-Landroid/os/MessageQueue;->mMessages:Landroid/os/Message;
-Landroid/os/MessageQueue;->mNextBarrierToken:I
-Landroid/os/MessageQueue;->mPtr:J
-Landroid/os/MessageQueue;->mQuitAllowed:Z
-Landroid/os/MessageQueue;->nativePollOnce(JI)V
-Landroid/os/MessageQueue;->next()Landroid/os/Message;
 Landroid/os/Parcel$ReadWriteHelper;-><init>()V
-Landroid/os/Parcel;->getGlobalAllocCount()J
-Landroid/os/Parcel;->getGlobalAllocSize()J
-Landroid/os/Parcel;->mNativePtr:J
-Landroid/os/Parcel;->readArrayMap(Landroid/util/ArrayMap;Ljava/lang/ClassLoader;)V
-Landroid/os/Parcel;->readArraySet(Ljava/lang/ClassLoader;)Landroid/util/ArraySet;
-Landroid/os/Parcel;->readBlob()[B
-Landroid/os/Parcel;->readCharSequence()Ljava/lang/CharSequence;
-Landroid/os/Parcel;->readCreator(Landroid/os/Parcelable$Creator;Ljava/lang/ClassLoader;)Landroid/os/Parcelable;
-Landroid/os/Parcel;->readExceptionCode()I
-Landroid/os/Parcel;->readParcelableCreator(Ljava/lang/ClassLoader;)Landroid/os/Parcelable$Creator;
-Landroid/os/Parcel;->readRawFileDescriptor()Ljava/io/FileDescriptor;
-Landroid/os/Parcel;->readStringArray()[Ljava/lang/String;
-Landroid/os/Parcel;->writeArrayMap(Landroid/util/ArrayMap;)V
-Landroid/os/Parcel;->writeArraySet(Landroid/util/ArraySet;)V
-Landroid/os/Parcel;->writeBlob([B)V
-Landroid/os/Parcel;->writeCharSequence(Ljava/lang/CharSequence;)V
-Landroid/os/Parcel;->writeParcelableCreator(Landroid/os/Parcelable;)V
-Landroid/os/ParcelableParcel;-><init>(Ljava/lang/ClassLoader;)V
-Landroid/os/ParcelableParcel;->CREATOR:Landroid/os/Parcelable$ClassLoaderCreator;
-Landroid/os/ParcelableParcel;->getClassLoader()Ljava/lang/ClassLoader;
-Landroid/os/ParcelableParcel;->getParcel()Landroid/os/Parcel;
-Landroid/os/ParcelFileDescriptor;-><init>(Ljava/io/FileDescriptor;)V
-Landroid/os/ParcelFileDescriptor;->fromData([BLjava/lang/String;)Landroid/os/ParcelFileDescriptor;
-Landroid/os/ParcelFileDescriptor;->seekTo(J)J
-Landroid/os/PerformanceCollector;-><init>()V
-Landroid/os/PerformanceCollector;->beginSnapshot(Ljava/lang/String;)V
-Landroid/os/PerformanceCollector;->endSnapshot()Landroid/os/Bundle;
-Landroid/os/PerformanceCollector;->startTiming(Ljava/lang/String;)V
-Landroid/os/PerformanceCollector;->stopTiming(Ljava/lang/String;)Landroid/os/Bundle;
-Landroid/os/PowerManager$WakeLock;->mFlags:I
-Landroid/os/PowerManager$WakeLock;->mTag:Ljava/lang/String;
-Landroid/os/PowerManager;->ACTION_LIGHT_DEVICE_IDLE_MODE_CHANGED:Ljava/lang/String;
-Landroid/os/PowerManager;->ACTION_POWER_SAVE_MODE_CHANGING:Ljava/lang/String;
-Landroid/os/PowerManager;->BRIGHTNESS_ON:I
-Landroid/os/PowerManager;->EXTRA_POWER_SAVE_MODE:Ljava/lang/String;
-Landroid/os/PowerManager;->getDefaultScreenBrightnessSetting()I
-Landroid/os/PowerManager;->getMaximumScreenBrightnessSetting()I
-Landroid/os/PowerManager;->getMinimumScreenBrightnessSetting()I
-Landroid/os/PowerManager;->goToSleep(JII)V
-Landroid/os/PowerManager;->GO_TO_SLEEP_REASON_TIMEOUT:I
-Landroid/os/PowerManager;->isLightDeviceIdleMode()Z
-Landroid/os/PowerManager;->mService:Landroid/os/IPowerManager;
-Landroid/os/PowerManager;->validateWakeLockParameters(ILjava/lang/String;)V
-Landroid/os/PowerManager;->wakeUp(JLjava/lang/String;)V
-Landroid/os/Process;->DRM_UID:I
-Landroid/os/Process;->getFreeMemory()J
-Landroid/os/Process;->getParentPid(I)I
-Landroid/os/Process;->getPids(Ljava/lang/String;[I)[I
-Landroid/os/Process;->getPidsForCommands([Ljava/lang/String;)[I
-Landroid/os/Process;->getPss(I)J
-Landroid/os/Process;->getTotalMemory()J
-Landroid/os/Process;->getUidForPid(I)I
-Landroid/os/Process;->isIsolated(I)Z
-Landroid/os/Process;->LOG_UID:I
-Landroid/os/Process;->MEDIA_UID:I
-Landroid/os/Process;->myPpid()I
-Landroid/os/Process;->NFC_UID:I
-Landroid/os/Process;->parseProcLine([BII[I[Ljava/lang/String;[J[F)Z
-Landroid/os/Process;->PROC_COMBINE:I
-Landroid/os/Process;->PROC_OUT_FLOAT:I
-Landroid/os/Process;->PROC_OUT_LONG:I
-Landroid/os/Process;->PROC_OUT_STRING:I
-Landroid/os/Process;->PROC_PARENS:I
-Landroid/os/Process;->PROC_QUOTES:I
-Landroid/os/Process;->PROC_SPACE_TERM:I
-Landroid/os/Process;->PROC_TAB_TERM:I
-Landroid/os/Process;->PROC_TERM_MASK:I
-Landroid/os/Process;->PROC_ZERO_TERM:I
-Landroid/os/Process;->readProcFile(Ljava/lang/String;[I[Ljava/lang/String;[J[F)Z
-Landroid/os/Process;->readProcLines(Ljava/lang/String;[Ljava/lang/String;[J)V
-Landroid/os/Process;->setArgV0(Ljava/lang/String;)V
-Landroid/os/Process;->setProcessGroup(II)V
-Landroid/os/Process;->VPN_UID:I
-Landroid/os/Process;->WIFI_UID:I
-Landroid/os/RecoverySystem;->verifyPackageCompatibility(Ljava/io/InputStream;)Z
-Landroid/os/Registrant;-><init>(Landroid/os/Handler;ILjava/lang/Object;)V
-Landroid/os/Registrant;->clear()V
-Landroid/os/Registrant;->messageForRegistrant()Landroid/os/Message;
-Landroid/os/Registrant;->notifyRegistrant()V
-Landroid/os/Registrant;->notifyRegistrant(Landroid/os/AsyncResult;)V
-Landroid/os/Registrant;->notifyResult(Ljava/lang/Object;)V
 Landroid/os/RegistrantList;-><init>()V
-Landroid/os/RegistrantList;->add(Landroid/os/Handler;ILjava/lang/Object;)V
-Landroid/os/RegistrantList;->add(Landroid/os/Registrant;)V
-Landroid/os/RegistrantList;->addUnique(Landroid/os/Handler;ILjava/lang/Object;)V
-Landroid/os/RegistrantList;->notifyRegistrants()V
-Landroid/os/RegistrantList;->notifyRegistrants(Landroid/os/AsyncResult;)V
-Landroid/os/RegistrantList;->notifyResult(Ljava/lang/Object;)V
-Landroid/os/RegistrantList;->remove(Landroid/os/Handler;)V
-Landroid/os/RegistrantList;->removeCleared()V
-Landroid/os/RegistrantList;->size()I
-Landroid/os/RemoteCallbackList;->mCallbacks:Landroid/util/ArrayMap;
-Landroid/os/RemoteException;->rethrowFromSystemServer()Ljava/lang/RuntimeException;
-Landroid/os/SELinux;->checkSELinuxAccess(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-Landroid/os/SELinux;->getContext()Ljava/lang/String;
-Landroid/os/SELinux;->getFileContext(Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/SELinux;->getPidContext(I)Ljava/lang/String;
-Landroid/os/SELinux;->isSELinuxEnabled()Z
-Landroid/os/SELinux;->isSELinuxEnforced()Z
-Landroid/os/SELinux;->restoreconRecursive(Ljava/io/File;)Z
 Landroid/os/ServiceManager;-><init>()V
-Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;)V
-Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;Z)V
-Landroid/os/ServiceManager;->addService(Ljava/lang/String;Landroid/os/IBinder;ZI)V
-Landroid/os/ServiceManager;->checkService(Ljava/lang/String;)Landroid/os/IBinder;
-Landroid/os/ServiceManager;->getIServiceManager()Landroid/os/IServiceManager;
-Landroid/os/ServiceManager;->getService(Ljava/lang/String;)Landroid/os/IBinder;
-Landroid/os/ServiceManager;->listServices()[Ljava/lang/String;
-Landroid/os/ServiceManager;->sCache:Ljava/util/Map;
-Landroid/os/ServiceManager;->sServiceManager:Landroid/os/IServiceManager;
-Landroid/os/ServiceManagerNative;->asInterface(Landroid/os/IBinder;)Landroid/os/IServiceManager;
-Landroid/os/ServiceManagerProxy;->getService(Ljava/lang/String;)Landroid/os/IBinder;
-Landroid/os/ServiceManagerProxy;->mRemote:Landroid/os/IBinder;
-Landroid/os/SharedMemory;->getFd()I
-Landroid/os/ShellCommand;->peekNextArg()Ljava/lang/String;
-Landroid/os/StatFs;->mStat:Landroid/system/StructStatVfs;
 Landroid/os/storage/IObbActionListener$Stub;-><init>()V
 Landroid/os/storage/IStorageManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Landroid/os/storage/IStorageManager$Stub;->asInterface(Landroid/os/IBinder;)Landroid/os/storage/IStorageManager;
 Landroid/os/storage/StorageEventListener;-><init>()V
-Landroid/os/StrictMode$Span;->finish()V
-Landroid/os/StrictMode$ThreadPolicy;->mask:I
-Landroid/os/StrictMode$VmPolicy$Builder;->mMask:I
-Landroid/os/StrictMode$VmPolicy;->mask:I
-Landroid/os/StrictMode;->disableDeathOnFileUriExposure()V
-Landroid/os/StrictMode;->enableDeathOnFileUriExposure()V
-Landroid/os/StrictMode;->enterCriticalSpan(Ljava/lang/String;)Landroid/os/StrictMode$Span;
-Landroid/os/StrictMode;->getThreadPolicyMask()I
-Landroid/os/StrictMode;->incrementExpectedActivityCount(Ljava/lang/Class;)V
-Landroid/os/StrictMode;->onBinderStrictModePolicyChange(I)V
-Landroid/os/StrictMode;->onWebViewMethodCalledOnWrongThread(Ljava/lang/Throwable;)V
-Landroid/os/StrictMode;->sLastVmViolationTime:Ljava/util/HashMap;
-Landroid/os/StrictMode;->sWindowManager:Landroid/util/Singleton;
-Landroid/os/StrictMode;->violationsBeingTimed:Ljava/lang/ThreadLocal;
-Landroid/os/SystemClock;-><init>()V
-Landroid/os/SystemClock;->currentThreadTimeMicro()J
-Landroid/os/SystemClock;->currentTimeMicro()J
-Landroid/os/SystemProperties;-><init>()V
-Landroid/os/SystemProperties;->addChangeCallback(Ljava/lang/Runnable;)V
-Landroid/os/SystemProperties;->native_get(Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/SystemProperties;->native_get_long(Ljava/lang/String;J)J
-Landroid/os/SystemProperties;->PROP_NAME_MAX:I
-Landroid/os/SystemProperties;->reportSyspropChanged()V
-Landroid/os/SystemProperties;->sChangeCallbacks:Ljava/util/ArrayList;
-Landroid/os/SystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
-Landroid/os/SystemService;->start(Ljava/lang/String;)V
-Landroid/os/SystemService;->stop(Ljava/lang/String;)V
-Landroid/os/SystemVibrator;-><init>()V
-Landroid/os/SystemVibrator;-><init>(Landroid/content/Context;)V
-Landroid/os/Trace;->asyncTraceBegin(JLjava/lang/String;I)V
-Landroid/os/Trace;->asyncTraceEnd(JLjava/lang/String;I)V
-Landroid/os/Trace;->isTagEnabled(J)Z
-Landroid/os/Trace;->nativeGetEnabledTags()J
-Landroid/os/Trace;->sEnabledTags:J
-Landroid/os/Trace;->setAppTracingAllowed(Z)V
-Landroid/os/Trace;->traceBegin(JLjava/lang/String;)V
-Landroid/os/Trace;->traceCounter(JLjava/lang/String;I)V
-Landroid/os/Trace;->traceEnd(J)V
-Landroid/os/Trace;->TRACE_TAG_APP:J
-Landroid/os/Trace;->TRACE_TAG_VIEW:J
-Landroid/os/UEventObserver$UEvent;->get(Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/UEventObserver$UEvent;->get(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Landroid/os/UEventObserver;-><init>()V
-Landroid/os/UEventObserver;->onUEvent(Landroid/os/UEventObserver$UEvent;)V
-Landroid/os/UEventObserver;->startObserving(Ljava/lang/String;)V
-Landroid/os/UEventObserver;->stopObserving()V
-Landroid/os/UpdateLock;->acquire()V
-Landroid/os/UpdateLock;->isHeld()Z
-Landroid/os/UpdateLock;->NOW_IS_CONVENIENT:Ljava/lang/String;
-Landroid/os/UpdateLock;->release()V
-Landroid/os/UpdateLock;->TIMESTAMP:Ljava/lang/String;
-Landroid/os/UpdateLock;->UPDATE_LOCK_CHANGED:Ljava/lang/String;
-Landroid/os/UserHandle;-><init>(I)V
-Landroid/os/UserHandle;->AID_APP_END:I
-Landroid/os/UserHandle;->AID_APP_START:I
-Landroid/os/UserHandle;->AID_CACHE_GID_START:I
-Landroid/os/UserHandle;->AID_ROOT:I
-Landroid/os/UserHandle;->AID_SHARED_GID_START:I
-Landroid/os/UserHandle;->CURRENT_OR_SELF:Landroid/os/UserHandle;
-Landroid/os/UserHandle;->ERR_GID:I
-Landroid/os/UserHandle;->getAppIdFromSharedAppGid(I)I
-Landroid/os/UserHandle;->getCallingUserId()I
-Landroid/os/UserHandle;->getUid(II)I
-Landroid/os/UserHandle;->getUserId(I)I
-Landroid/os/UserHandle;->isIsolated(I)Z
-Landroid/os/UserHandle;->isSameApp(II)Z
-Landroid/os/UserHandle;->mHandle:I
-Landroid/os/UserHandle;->MU_ENABLED:Z
-Landroid/os/UserHandle;->OWNER:Landroid/os/UserHandle;
-Landroid/os/UserHandle;->PER_USER_RANGE:I
-Landroid/os/UserHandle;->USER_ALL:I
-Landroid/os/UserHandle;->USER_CURRENT:I
-Landroid/os/UserHandle;->USER_CURRENT_OR_SELF:I
-Landroid/os/UserHandle;->USER_OWNER:I
-Landroid/os/UserHandle;->USER_SERIAL_SYSTEM:I
-Landroid/os/UserHandle;->USER_SYSTEM:I
-Landroid/os/UserManager;->createProfileForUser(Ljava/lang/String;II)Landroid/content/pm/UserInfo;
-Landroid/os/UserManager;->createUser(Ljava/lang/String;I)Landroid/content/pm/UserInfo;
-Landroid/os/UserManager;->DISALLOW_RECORD_AUDIO:Ljava/lang/String;
-Landroid/os/UserManager;->get(Landroid/content/Context;)Landroid/os/UserManager;
-Landroid/os/UserManager;->getEnabledProfiles(I)Ljava/util/List;
-Landroid/os/UserManager;->getMaxSupportedUsers()I
-Landroid/os/UserManager;->getProfileIdsWithDisabled(I)[I
-Landroid/os/UserManager;->getProfileParent(I)Landroid/content/pm/UserInfo;
-Landroid/os/UserManager;->getProfiles(I)Ljava/util/List;
-Landroid/os/UserManager;->getUserHandle()I
-Landroid/os/UserManager;->getUserHandle(I)I
-Landroid/os/UserManager;->getUserIcon(I)Landroid/graphics/Bitmap;
-Landroid/os/UserManager;->getUserInfo(I)Landroid/content/pm/UserInfo;
-Landroid/os/UserManager;->getUsers()Ljava/util/List;
-Landroid/os/UserManager;->getUsers(Z)Ljava/util/List;
-Landroid/os/UserManager;->getUserSerialNumber(I)I
-Landroid/os/UserManager;->getUserStartRealtime()J
-Landroid/os/UserManager;->getUserUnlockRealtime()J
-Landroid/os/UserManager;->hasBaseUserRestriction(Ljava/lang/String;Landroid/os/UserHandle;)Z
-Landroid/os/UserManager;->hasUserRestriction(Ljava/lang/String;Landroid/os/UserHandle;)Z
-Landroid/os/UserManager;->isDeviceInDemoMode(Landroid/content/Context;)Z
-Landroid/os/UserManager;->isGuestUser(I)Z
-Landroid/os/UserManager;->isLinkedUser()Z
-Landroid/os/UserManager;->isUserAdmin(I)Z
-Landroid/os/UserManager;->isUserUnlocked(I)Z
-Landroid/os/UserManager;->mService:Landroid/os/IUserManager;
-Landroid/os/UserManager;->removeUser(I)Z
-Landroid/os/Vibrator;-><init>()V
-Landroid/os/WorkSource;-><init>(Landroid/os/Parcel;)V
-Landroid/os/WorkSource;->mNames:[Ljava/lang/String;
-Landroid/os/WorkSource;->mNum:I
-Landroid/os/WorkSource;->mUids:[I
-Landroid/os/ZygoteStartFailedEx;-><init>(Ljava/lang/String;)V
-Landroid/os/ZygoteStartFailedEx;-><init>(Ljava/lang/Throwable;)V
 Landroid/preference/PreferenceGroupAdapter;->getItem(I)Landroid/preference/Preference;
 Landroid/R$styleable;->ActionBar:[I
 Landroid/R$styleable;->ActionBar_background:I
@@ -1413,7 +803,7 @@
 Lcom/android/internal/os/BatterySipper$DrainType;->values()[Lcom/android/internal/os/BatterySipper$DrainType;
 Lcom/android/internal/os/BinderInternal;->getContextObject()Landroid/os/IBinder;
 Lcom/android/internal/os/BinderInternal;->handleGc()V
-Lcom/android/internal/os/ClassLoaderFactory;->createClassloaderNamespace(Ljava/lang/ClassLoader;ILjava/lang/String;Ljava/lang/String;ZZ)Ljava/lang/String;
+Lcom/android/internal/os/ClassLoaderFactory;->createClassloaderNamespace(Ljava/lang/ClassLoader;ILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String;
 Lcom/android/internal/os/IDropBoxManagerService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/os/IDropBoxManagerService;
 Lcom/android/internal/os/ProcessCpuTracker$Stats;->name:Ljava/lang/String;
 Lcom/android/internal/os/ProcessCpuTracker$Stats;->rel_stime:I
@@ -1894,48 +1284,6 @@
 Lcom/android/internal/statusbar/IStatusBarService$Stub;-><init>()V
 Lcom/android/internal/statusbar/IStatusBarService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/statusbar/IStatusBarService;
 Lcom/android/internal/telecom/ITelecomService$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telecom/ITelecomService;
-Lcom/android/internal/telephony/BaseCommands;->mCallStateRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mCallWaitingInfoRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mCatCallSetUpRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mCatCcAlphaRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mCatEventRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mCatProCmdRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mCatSessionEndRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mCdmaPrlChangedRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mCdmaSmsRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mCdmaSubscriptionChangedRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/BaseCommands;->mEmergencyCallbackModeRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mExitEmergencyCallbackModeRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mGsmBroadcastSmsRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mGsmSmsRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mHardwareConfigChangeRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mIccRefreshRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mIccSmsFullRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mIccStatusChangedRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mImsNetworkStateChangedRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mNITZTimeRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mOtaProvisionRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mPhoneRadioCapabilityChangedRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mPhoneType:I
-Lcom/android/internal/telephony/BaseCommands;->mPreferredNetworkType:I
-Lcom/android/internal/telephony/BaseCommands;->mResendIncallMuteRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mRestrictedStateRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mRilCellInfoListRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mRingbackToneRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mRingRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mSignalStrengthRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mSmsOnSimRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mSmsStatusRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mSrvccStateRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mSsnRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mSsRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mStateMonitor:Ljava/lang/Object;
-Lcom/android/internal/telephony/BaseCommands;->mSubscriptionStatusRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/BaseCommands;->mUnsolOemHookRawRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mUSSDRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/BaseCommands;->mVoiceRadioTechChangedRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/Call$State;->ACTIVE:Lcom/android/internal/telephony/Call$State;
 Lcom/android/internal/telephony/Call$State;->ALERTING:Lcom/android/internal/telephony/Call$State;
 Lcom/android/internal/telephony/Call$State;->DIALING:Lcom/android/internal/telephony/Call$State;
 Lcom/android/internal/telephony/Call$State;->DISCONNECTED:Lcom/android/internal/telephony/Call$State;
@@ -1943,232 +1291,22 @@
 Lcom/android/internal/telephony/Call$State;->HOLDING:Lcom/android/internal/telephony/Call$State;
 Lcom/android/internal/telephony/Call$State;->IDLE:Lcom/android/internal/telephony/Call$State;
 Lcom/android/internal/telephony/Call$State;->INCOMING:Lcom/android/internal/telephony/Call$State;
-Lcom/android/internal/telephony/Call$State;->isAlive()Z
-Lcom/android/internal/telephony/Call$State;->isRinging()Z
 Lcom/android/internal/telephony/Call$State;->values()[Lcom/android/internal/telephony/Call$State;
 Lcom/android/internal/telephony/Call$State;->WAITING:Lcom/android/internal/telephony/Call$State;
 Lcom/android/internal/telephony/Call;-><init>()V
-Lcom/android/internal/telephony/Call;->getConnections()Ljava/util/List;
-Lcom/android/internal/telephony/Call;->getEarliestConnection()Lcom/android/internal/telephony/Connection;
-Lcom/android/internal/telephony/Call;->getLatestConnection()Lcom/android/internal/telephony/Connection;
-Lcom/android/internal/telephony/Call;->getPhone()Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/Call;->getState()Lcom/android/internal/telephony/Call$State;
-Lcom/android/internal/telephony/Call;->hangup()V
-Lcom/android/internal/telephony/Call;->isIdle()Z
-Lcom/android/internal/telephony/Call;->isMultiparty()Z
-Lcom/android/internal/telephony/Call;->mConnections:Ljava/util/ArrayList;
-Lcom/android/internal/telephony/Call;->mState:Lcom/android/internal/telephony/Call$State;
 Lcom/android/internal/telephony/CallerInfoAsyncQuery$CallerInfoAsyncQueryHandler;-><init>(Lcom/android/internal/telephony/CallerInfoAsyncQuery;Landroid/content/Context;)V
 Lcom/android/internal/telephony/CallerInfoAsyncQuery$CookieWrapper;-><init>()V
 Lcom/android/internal/telephony/CallerInfoAsyncQuery;->release()V
 Lcom/android/internal/telephony/CallForwardInfo;-><init>()V
-Lcom/android/internal/telephony/CallForwardInfo;->number:Ljava/lang/String;
-Lcom/android/internal/telephony/CallForwardInfo;->reason:I
-Lcom/android/internal/telephony/CallForwardInfo;->serviceClass:I
-Lcom/android/internal/telephony/CallForwardInfo;->status:I
-Lcom/android/internal/telephony/CallForwardInfo;->timeSeconds:I
-Lcom/android/internal/telephony/CallForwardInfo;->toa:I
-Lcom/android/internal/telephony/CallManager;->canConference(Lcom/android/internal/telephony/Call;I)Z
-Lcom/android/internal/telephony/CallManager;->canDial(Lcom/android/internal/telephony/Phone;)Z
-Lcom/android/internal/telephony/CallManager;->conference(Lcom/android/internal/telephony/Call;)V
-Lcom/android/internal/telephony/CallManager;->getActiveFgCall(I)Lcom/android/internal/telephony/Call;
-Lcom/android/internal/telephony/CallManager;->getActiveFgCallState(I)Lcom/android/internal/telephony/Call$State;
-Lcom/android/internal/telephony/CallManager;->getBackgroundCalls()Ljava/util/List;
-Lcom/android/internal/telephony/CallManager;->getBgCallConnections()Ljava/util/List;
-Lcom/android/internal/telephony/CallManager;->getBgPhone()Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/CallManager;->getContext()Landroid/content/Context;
-Lcom/android/internal/telephony/CallManager;->getDefaultPhone()Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/CallManager;->getFgCallConnections()Ljava/util/List;
-Lcom/android/internal/telephony/CallManager;->getFgPhone()Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/CallManager;->getFgPhone(I)Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/CallManager;->getFirstActiveBgCall()Lcom/android/internal/telephony/Call;
-Lcom/android/internal/telephony/CallManager;->getFirstActiveBgCall(I)Lcom/android/internal/telephony/Call;
-Lcom/android/internal/telephony/CallManager;->getFirstActiveRingingCall()Lcom/android/internal/telephony/Call;
-Lcom/android/internal/telephony/CallManager;->getFirstActiveRingingCall(I)Lcom/android/internal/telephony/Call;
-Lcom/android/internal/telephony/CallManager;->getInstance()Lcom/android/internal/telephony/CallManager;
-Lcom/android/internal/telephony/CallManager;->getPhoneInCall()Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/CallManager;->getRingingCalls()Ljava/util/List;
-Lcom/android/internal/telephony/CallManager;->getRingingPhone()Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/CallManager;->getState()Lcom/android/internal/telephony/PhoneConstants$State;
-Lcom/android/internal/telephony/CallManager;->getState(I)Lcom/android/internal/telephony/PhoneConstants$State;
-Lcom/android/internal/telephony/CallManager;->hasActiveBgCall()Z
-Lcom/android/internal/telephony/CallManager;->hasActiveBgCall(I)Z
-Lcom/android/internal/telephony/CallManager;->hasActiveFgCall()Z
-Lcom/android/internal/telephony/CallManager;->hasActiveFgCall(I)Z
-Lcom/android/internal/telephony/CallManager;->hasActiveRingingCall(I)Z
-Lcom/android/internal/telephony/CallManager;->hasMoreThanOneRingingCall()Z
-Lcom/android/internal/telephony/CallManager;->hasMoreThanOneRingingCall(I)Z
-Lcom/android/internal/telephony/CallManager;->mBackgroundCalls:Ljava/util/ArrayList;
-Lcom/android/internal/telephony/CallManager;->mEmptyConnections:Ljava/util/ArrayList;
-Lcom/android/internal/telephony/CallManager;->mForegroundCalls:Ljava/util/ArrayList;
-Lcom/android/internal/telephony/CallManager;->mPhones:Ljava/util/ArrayList;
-Lcom/android/internal/telephony/CallManager;->mRingingCalls:Ljava/util/ArrayList;
-Lcom/android/internal/telephony/CallManager;->registerForDisconnect(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CallManager;->registerForNewRingingConnection(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CallManager;->registerForPreciseCallStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CallManager;->registerPhone(Lcom/android/internal/telephony/Phone;)Z
-Lcom/android/internal/telephony/CallManager;->unregisterForDisconnect(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/CallManager;->unregisterForNewRingingConnection(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/CallManager;->unregisterForPreciseCallStateChanged(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/CallManager;->unregisterPhone(Lcom/android/internal/telephony/Phone;)V
-Lcom/android/internal/telephony/CallStateException;-><init>(Ljava/lang/String;)V
 Lcom/android/internal/telephony/CallTracker;-><init>()V
-Lcom/android/internal/telephony/CallTracker;->getState()Lcom/android/internal/telephony/PhoneConstants$State;
-Lcom/android/internal/telephony/CallTracker;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/CallTracker;->mCi:Lcom/android/internal/telephony/CommandsInterface;
-Lcom/android/internal/telephony/CallTracker;->mNeedsPoll:Z
-Lcom/android/internal/telephony/CallTracker;->mNumberConverted:Z
-Lcom/android/internal/telephony/CallTracker;->mPendingOperations:I
-Lcom/android/internal/telephony/CallTracker;->registerForVoiceCallEnded(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CarrierServiceBindHelper;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/CarrierServiceBindHelper;->mHandler:Landroid/os/Handler;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->CLOSE_CHANNEL:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->DISPLAY_TEXT:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->fromInt(I)Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->GET_CHANNEL_STATUS:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->GET_INKEY:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->GET_INPUT:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->LANGUAGE_NOTIFICATION:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->LAUNCH_BROWSER:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->OPEN_CHANNEL:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->PLAY_TONE:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->PROVIDE_LOCAL_INFORMATION:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->RECEIVE_DATA:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->REFRESH:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->SELECT_ITEM:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->SEND_DATA:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->SEND_DTMF:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->SEND_SMS:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->SEND_SS:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->SEND_USSD:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->SET_UP_CALL:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->SET_UP_EVENT_LIST:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->SET_UP_IDLE_MODE_TEXT:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/AppInterface$CommandType;->SET_UP_MENU:Lcom/android/internal/telephony/cat/AppInterface$CommandType;
 Lcom/android/internal/telephony/cat/AppInterface$CommandType;->values()[Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/CatCmdMessage$CallSettings;->callMsg:Lcom/android/internal/telephony/cat/TextMessage;
-Lcom/android/internal/telephony/cat/CatCmdMessage$CallSettings;->confirmMsg:Lcom/android/internal/telephony/cat/TextMessage;
-Lcom/android/internal/telephony/cat/CatCmdMessage$SetupEventListSettings;->eventList:[I
-Lcom/android/internal/telephony/cat/CatCmdMessage;->getCallSettings()Lcom/android/internal/telephony/cat/CatCmdMessage$CallSettings;
-Lcom/android/internal/telephony/cat/CatCmdMessage;->getCmdType()Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/CatCmdMessage;->geTextMessage()Lcom/android/internal/telephony/cat/TextMessage;
-Lcom/android/internal/telephony/cat/CatCmdMessage;->getSetEventList()Lcom/android/internal/telephony/cat/CatCmdMessage$SetupEventListSettings;
-Lcom/android/internal/telephony/cat/CatCmdMessage;->hasIconLoadFailed()Z
-Lcom/android/internal/telephony/cat/CatCmdMessage;->mCallSettings:Lcom/android/internal/telephony/cat/CatCmdMessage$CallSettings;
-Lcom/android/internal/telephony/cat/CatCmdMessage;->mCmdDet:Lcom/android/internal/telephony/cat/CommandDetails;
-Lcom/android/internal/telephony/cat/CatCmdMessage;->mInput:Lcom/android/internal/telephony/cat/Input;
-Lcom/android/internal/telephony/cat/CatCmdMessage;->mMenu:Lcom/android/internal/telephony/cat/Menu;
-Lcom/android/internal/telephony/cat/CatCmdMessage;->mTextMsg:Lcom/android/internal/telephony/cat/TextMessage;
-Lcom/android/internal/telephony/cat/CatLog;->d(Ljava/lang/Object;Ljava/lang/String;)V
-Lcom/android/internal/telephony/cat/CatLog;->d(Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/cat/CatLog;->e(Ljava/lang/Object;Ljava/lang/String;)V
-Lcom/android/internal/telephony/cat/CatResponseMessage;->setEventDownload(I[B)V
-Lcom/android/internal/telephony/cat/CatService;->dispose()V
-Lcom/android/internal/telephony/cat/CatService;->isStkAppInstalled()Z
-Lcom/android/internal/telephony/cat/CatService;->mCmdIf:Lcom/android/internal/telephony/CommandsInterface;
-Lcom/android/internal/telephony/cat/CatService;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/cat/CatService;->mCurrntCmd:Lcom/android/internal/telephony/cat/CatCmdMessage;
-Lcom/android/internal/telephony/cat/CatService;->mMenuCmd:Lcom/android/internal/telephony/cat/CatCmdMessage;
-Lcom/android/internal/telephony/cat/CatService;->mMsgDecoder:Lcom/android/internal/telephony/cat/RilMessageDecoder;
-Lcom/android/internal/telephony/cat/CatService;->mSlotId:I
-Lcom/android/internal/telephony/cat/CatService;->mStkAppInstalled:Z
-Lcom/android/internal/telephony/cat/CatService;->mUiccController:Lcom/android/internal/telephony/uicc/UiccController;
-Lcom/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
-Lcom/android/internal/telephony/cat/CatService;->sInstance:[Lcom/android/internal/telephony/cat/CatService;
-Lcom/android/internal/telephony/cat/CatService;->sInstanceLock:Ljava/lang/Object;
-Lcom/android/internal/telephony/cat/CommandDetails;->commandNumber:I
-Lcom/android/internal/telephony/cat/CommandDetails;->commandQualifier:I
-Lcom/android/internal/telephony/cat/CommandDetails;->compRequired:Z
-Lcom/android/internal/telephony/cat/CommandDetails;->typeOfCommand:I
-Lcom/android/internal/telephony/cat/CommandParams;-><init>(Lcom/android/internal/telephony/cat/CommandDetails;)V
-Lcom/android/internal/telephony/cat/CommandParams;->getCommandType()Lcom/android/internal/telephony/cat/AppInterface$CommandType;
-Lcom/android/internal/telephony/cat/CommandParams;->mCmdDet:Lcom/android/internal/telephony/cat/CommandDetails;
-Lcom/android/internal/telephony/cat/CommandParamsFactory;->dispose()V
-Lcom/android/internal/telephony/cat/CommandParamsFactory;->mIconLoader:Lcom/android/internal/telephony/cat/IconLoader;
-Lcom/android/internal/telephony/cat/CommandParamsFactory;->searchForNextTag(Lcom/android/internal/telephony/cat/ComprehensionTlvTag;Ljava/util/Iterator;)Lcom/android/internal/telephony/cat/ComprehensionTlv;
-Lcom/android/internal/telephony/cat/CommandParamsFactory;->searchForTag(Lcom/android/internal/telephony/cat/ComprehensionTlvTag;Ljava/util/List;)Lcom/android/internal/telephony/cat/ComprehensionTlv;
-Lcom/android/internal/telephony/cat/ComprehensionTlv;->getLength()I
-Lcom/android/internal/telephony/cat/ComprehensionTlv;->getRawValue()[B
-Lcom/android/internal/telephony/cat/ComprehensionTlv;->getTag()I
-Lcom/android/internal/telephony/cat/ComprehensionTlv;->getValueIndex()I
-Lcom/android/internal/telephony/cat/ComprehensionTlvTag;->ADDRESS:Lcom/android/internal/telephony/cat/ComprehensionTlvTag;
-Lcom/android/internal/telephony/cat/ComprehensionTlvTag;->ALPHA_ID:Lcom/android/internal/telephony/cat/ComprehensionTlvTag;
-Lcom/android/internal/telephony/cat/ComprehensionTlvTag;->COMMAND_DETAILS:Lcom/android/internal/telephony/cat/ComprehensionTlvTag;
-Lcom/android/internal/telephony/cat/ComprehensionTlvTag;->DEVICE_IDENTITIES:Lcom/android/internal/telephony/cat/ComprehensionTlvTag;
-Lcom/android/internal/telephony/cat/ComprehensionTlvTag;->ICON_ID:Lcom/android/internal/telephony/cat/ComprehensionTlvTag;
-Lcom/android/internal/telephony/cat/ComprehensionTlvTag;->RESULT:Lcom/android/internal/telephony/cat/ComprehensionTlvTag;
-Lcom/android/internal/telephony/cat/ComprehensionTlvTag;->SMS_TPDU:Lcom/android/internal/telephony/cat/ComprehensionTlvTag;
-Lcom/android/internal/telephony/cat/ComprehensionTlvTag;->TEXT_ATTRIBUTE:Lcom/android/internal/telephony/cat/ComprehensionTlvTag;
-Lcom/android/internal/telephony/cat/ComprehensionTlvTag;->TEXT_STRING:Lcom/android/internal/telephony/cat/ComprehensionTlvTag;
-Lcom/android/internal/telephony/cat/ComprehensionTlvTag;->USSD_STRING:Lcom/android/internal/telephony/cat/ComprehensionTlvTag;
-Lcom/android/internal/telephony/cat/ComprehensionTlvTag;->value()I
-Lcom/android/internal/telephony/cat/DeviceIdentities;->destinationId:I
-Lcom/android/internal/telephony/cat/DisplayTextParams;-><init>(Lcom/android/internal/telephony/cat/CommandDetails;Lcom/android/internal/telephony/cat/TextMessage;)V
-Lcom/android/internal/telephony/cat/DisplayTextParams;->mTextMsg:Lcom/android/internal/telephony/cat/TextMessage;
-Lcom/android/internal/telephony/cat/Duration$TimeUnit;->value()I
-Lcom/android/internal/telephony/cat/Duration;->timeInterval:I
-Lcom/android/internal/telephony/cat/Duration;->timeUnit:Lcom/android/internal/telephony/cat/Duration$TimeUnit;
-Lcom/android/internal/telephony/cat/GetInputParams;-><init>(Lcom/android/internal/telephony/cat/CommandDetails;Lcom/android/internal/telephony/cat/Input;)V
-Lcom/android/internal/telephony/cat/IconId;->recordNumber:I
-Lcom/android/internal/telephony/cat/IconLoader;->loadIcon(ILandroid/os/Message;)V
-Lcom/android/internal/telephony/cat/Menu;->titleAttrs:Ljava/util/List;
-Lcom/android/internal/telephony/cat/PlayToneParams;-><init>(Lcom/android/internal/telephony/cat/CommandDetails;Lcom/android/internal/telephony/cat/TextMessage;Lcom/android/internal/telephony/cat/Tone;Lcom/android/internal/telephony/cat/Duration;Z)V
 Lcom/android/internal/telephony/cat/ResponseData;-><init>()V
-Lcom/android/internal/telephony/cat/ResponseData;->format(Ljava/io/ByteArrayOutputStream;)V
-Lcom/android/internal/telephony/cat/ResultCode;->BACKWARD_MOVE_BY_USER:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->BEYOND_TERMINAL_CAPABILITY:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->BIP_ERROR:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->CMD_DATA_NOT_UNDERSTOOD:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->HELP_INFO_REQUIRED:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->LAUNCH_BROWSER_ERROR:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->NETWORK_CRNTLY_UNABLE_TO_PROCESS:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->NO_RESPONSE_FROM_USER:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->OK:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->PRFRMD_ICON_NOT_DISPLAYED:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->PRFRMD_LIMITED_SERVICE:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->PRFRMD_MODIFIED_BY_NAA:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->PRFRMD_NAA_NOT_ACTIVE:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->PRFRMD_TONE_NOT_PLAYED:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->PRFRMD_WITH_ADDITIONAL_EFS_READ:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->PRFRMD_WITH_MISSING_INFO:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->PRFRMD_WITH_MODIFICATION:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->PRFRMD_WITH_PARTIAL_COMPREHENSION:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->REQUIRED_VALUES_MISSING:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->TERMINAL_CRNTLY_UNABLE_TO_PROCESS:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->UICC_SESSION_TERM_BY_USER:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->USER_NOT_ACCEPT:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->USIM_CALL_CONTROL_PERMANENT:Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultCode;->value()I
 Lcom/android/internal/telephony/cat/ResultCode;->values()[Lcom/android/internal/telephony/cat/ResultCode;
-Lcom/android/internal/telephony/cat/ResultException;-><init>(Lcom/android/internal/telephony/cat/ResultCode;)V
-Lcom/android/internal/telephony/cat/RilMessage;-><init>(ILjava/lang/String;)V
-Lcom/android/internal/telephony/cat/RilMessage;->mData:Ljava/lang/Object;
-Lcom/android/internal/telephony/cat/RilMessage;->mId:I
-Lcom/android/internal/telephony/cat/RilMessageDecoder;->getInstance(Landroid/os/Handler;Lcom/android/internal/telephony/uicc/IccFileHandler;I)Lcom/android/internal/telephony/cat/RilMessageDecoder;
-Lcom/android/internal/telephony/cat/RilMessageDecoder;->mCmdParamsFactory:Lcom/android/internal/telephony/cat/CommandParamsFactory;
 Lcom/android/internal/telephony/cat/RilMessageDecoder;->mCurrentRilMessage:Lcom/android/internal/telephony/cat/RilMessage;
-Lcom/android/internal/telephony/cat/RilMessageDecoder;->mInstance:[Lcom/android/internal/telephony/cat/RilMessageDecoder;
-Lcom/android/internal/telephony/cat/RilMessageDecoder;->mStateStart:Lcom/android/internal/telephony/cat/RilMessageDecoder$StateStart;
 Lcom/android/internal/telephony/cat/RilMessageDecoder;->sendCmdForExecution(Lcom/android/internal/telephony/cat/RilMessage;)V
 Lcom/android/internal/telephony/cat/RilMessageDecoder;->sendStartDecodingMessageParams(Lcom/android/internal/telephony/cat/RilMessage;)V
-Lcom/android/internal/telephony/cat/SelectItemParams;-><init>(Lcom/android/internal/telephony/cat/CommandDetails;Lcom/android/internal/telephony/cat/Menu;Z)V
-Lcom/android/internal/telephony/cat/TextMessage;-><init>()V
-Lcom/android/internal/telephony/cat/TextMessage;->iconSelfExplanatory:Z
-Lcom/android/internal/telephony/cat/TextMessage;->text:Ljava/lang/String;
 Lcom/android/internal/telephony/cat/ValueObject;-><init>()V
-Lcom/android/internal/telephony/cat/ValueParser;->retrieveAlphaId(Lcom/android/internal/telephony/cat/ComprehensionTlv;)Ljava/lang/String;
 Lcom/android/internal/telephony/cat/ValueParser;->retrieveDeviceIdentities(Lcom/android/internal/telephony/cat/ComprehensionTlv;)Lcom/android/internal/telephony/cat/DeviceIdentities;
-Lcom/android/internal/telephony/cat/ValueParser;->retrieveTextAttribute(Lcom/android/internal/telephony/cat/ComprehensionTlv;)Ljava/util/List;
-Lcom/android/internal/telephony/cat/ValueParser;->retrieveTextString(Lcom/android/internal/telephony/cat/ComprehensionTlv;)Ljava/lang/String;
-Lcom/android/internal/telephony/cdma/CdmaCallWaitingNotification;->number:Ljava/lang/String;
-Lcom/android/internal/telephony/cdma/CdmaMmiCode;->makeEmptyNull(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/cdma/CdmaMmiCode;->mSc:Ljava/lang/String;
-Lcom/android/internal/telephony/cdma/CdmaSMSDispatcher;->getFormat()Ljava/lang/String;
-Lcom/android/internal/telephony/cdma/CdmaSMSDispatcher;->handleCdmaStatusReport(Lcom/android/internal/telephony/cdma/SmsMessage;)V
-Lcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;->getCdmaSubscriptionSource()I
-Lcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;->getInstance(Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;Landroid/os/Handler;ILjava/lang/Object;)Lcom/android/internal/telephony/cdma/CdmaSubscriptionSourceManager;
-Lcom/android/internal/telephony/cdma/EriManager$EriDisplayInformation;->mEriIconText:Ljava/lang/String;
-Lcom/android/internal/telephony/cdma/EriManager;->getEriDisplayInformation(II)Lcom/android/internal/telephony/cdma/EriManager$EriDisplayInformation;
 Lcom/android/internal/telephony/cdma/sms/BearerData$CodingException;-><init>(Ljava/lang/String;)V
 Lcom/android/internal/telephony/cdma/sms/BearerData$TimeStamp;-><init>()V
 Lcom/android/internal/telephony/cdma/sms/BearerData;-><init>()V
@@ -2222,130 +1360,6 @@
 Lcom/android/internal/telephony/cdma/SmsMessage;->mEnvelope:Lcom/android/internal/telephony/cdma/sms/SmsEnvelope;
 Lcom/android/internal/telephony/cdma/SmsMessage;->parseSms()V
 Lcom/android/internal/telephony/cdma/SmsMessage;->privateGetSubmitPdu(Ljava/lang/String;ZLcom/android/internal/telephony/cdma/sms/UserData;)Lcom/android/internal/telephony/cdma/SmsMessage$SubmitPdu;
-Lcom/android/internal/telephony/CommandException$Error;->GENERIC_FAILURE:Lcom/android/internal/telephony/CommandException$Error;
-Lcom/android/internal/telephony/CommandException$Error;->PASSWORD_INCORRECT:Lcom/android/internal/telephony/CommandException$Error;
-Lcom/android/internal/telephony/CommandException$Error;->RADIO_NOT_AVAILABLE:Lcom/android/internal/telephony/CommandException$Error;
-Lcom/android/internal/telephony/CommandException$Error;->REQUEST_NOT_SUPPORTED:Lcom/android/internal/telephony/CommandException$Error;
-Lcom/android/internal/telephony/CommandException$Error;->SIM_PUK2:Lcom/android/internal/telephony/CommandException$Error;
-Lcom/android/internal/telephony/CommandException$Error;->SMS_FAIL_RETRY:Lcom/android/internal/telephony/CommandException$Error;
-Lcom/android/internal/telephony/CommandException;-><init>(Lcom/android/internal/telephony/CommandException$Error;)V
-Lcom/android/internal/telephony/CommandException;->fromRilErrno(I)Lcom/android/internal/telephony/CommandException;
-Lcom/android/internal/telephony/CommandException;->getCommandError()Lcom/android/internal/telephony/CommandException$Error;
-Lcom/android/internal/telephony/CommandException;->mError:Lcom/android/internal/telephony/CommandException$Error;
-Lcom/android/internal/telephony/CommandsInterface;->acceptCall(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->acknowledgeLastIncomingCdmaSms(ZILandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->acknowledgeLastIncomingGsmSms(ZILandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->changeBarringPassword(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->deleteSmsOnRuim(ILandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->deleteSmsOnSim(ILandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->exitEmergencyCallbackMode(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getBasebandVersion(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getCdmaBroadcastConfig(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getCDMASubscription(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getDataCallList(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getIccCardStatus(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getIMEISV(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getIMSI(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getLastDataCallFailCause(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getLastPdpFailCause(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getNetworkSelectionMode(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getOperator(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getPDPContextList(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getPreferredNetworkType(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getSignalStrength(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getSmscAddress(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->getVoiceRegistrationState(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->handleCallSetupRequestFromSim(ZLandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->iccIO(IILjava/lang/String;IIILjava/lang/String;Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->iccIOForApp(IILjava/lang/String;IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->invokeOemRilRequestRaw([BLandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->queryCallForwardStatus(IILjava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->queryCallWaiting(ILandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->queryFacilityLock(Ljava/lang/String;Ljava/lang/String;ILandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->queryTTYMode(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->registerForAvailable(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->registerForCdmaOtaProvision(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->registerForCellInfoList(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->registerForIccRefresh(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->registerForImsNetworkStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->registerForNotAvailable(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->registerForOffOrNotAvailable(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->registerForOn(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->registerForRadioStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->registerForRilConnected(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->reportSmsMemoryStatus(ZLandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->reportStkServiceIsRunning(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->requestIccSimAuthentication(ILjava/lang/String;Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->requestShutdown(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->sendDtmf(CLandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->sendEnvelope(Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->sendTerminalResponse(Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->setCallForward(IIILjava/lang/String;ILandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->setCallWaiting(ZILandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->setCdmaBroadcastActivation(ZLandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->setDataAllowed(ZLandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->setEmergencyCallbackMode(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->setFacilityLock(Ljava/lang/String;ZLjava/lang/String;ILandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->setNetworkSelectionModeAutomatic(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->setNetworkSelectionModeManual(Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->setOnCallRing(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->setOnCatCallSetUp(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->setOnCatCcAlphaNotify(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->setOnCatEvent(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->setOnCatProactiveCmd(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->setOnCatSessionEnd(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->setOnIccRefresh(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->setOnIccSmsFull(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->setOnNewGsmBroadcastSms(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->setOnNITZTime(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->setOnSignalStrengthUpdate(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->setOnSmsOnSim(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->setOnSmsStatus(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->setOnSuppServiceNotification(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/CommandsInterface;->setPhoneType(I)V
-Lcom/android/internal/telephony/CommandsInterface;->setPreferredNetworkType(ILandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->setRadioPower(ZLandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->setSmscAddress(Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->setTTYMode(ILandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->setUiccSubscription(IIIILandroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->supplyIccPin(Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->switchWaitingOrHoldingAndActive(Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->unregisterForAvailable(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/CommandsInterface;->unregisterForCdmaOtaProvision(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/CommandsInterface;->unregisterForOffOrNotAvailable(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/CommandsInterface;->unregisterForOn(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/CommandsInterface;->unregisterForRilConnected(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/CommandsInterface;->unregisterForVoiceRadioTechChanged(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/CommandsInterface;->writeSmsToRuim(ILjava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/CommandsInterface;->writeSmsToSim(ILjava/lang/String;Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/Connection$PostDialState;->CANCELLED:Lcom/android/internal/telephony/Connection$PostDialState;
-Lcom/android/internal/telephony/Connection$PostDialState;->COMPLETE:Lcom/android/internal/telephony/Connection$PostDialState;
-Lcom/android/internal/telephony/Connection$PostDialState;->NOT_STARTED:Lcom/android/internal/telephony/Connection$PostDialState;
-Lcom/android/internal/telephony/Connection$PostDialState;->STARTED:Lcom/android/internal/telephony/Connection$PostDialState;
-Lcom/android/internal/telephony/Connection$PostDialState;->WAIT:Lcom/android/internal/telephony/Connection$PostDialState;
-Lcom/android/internal/telephony/Connection$PostDialState;->WILD:Lcom/android/internal/telephony/Connection$PostDialState;
-Lcom/android/internal/telephony/Connection;-><init>(I)V
-Lcom/android/internal/telephony/Connection;->getAddress()Ljava/lang/String;
-Lcom/android/internal/telephony/Connection;->getCall()Lcom/android/internal/telephony/Call;
-Lcom/android/internal/telephony/Connection;->getConnectTime()J
-Lcom/android/internal/telephony/Connection;->getCreateTime()J
-Lcom/android/internal/telephony/Connection;->getDisconnectCause()I
-Lcom/android/internal/telephony/Connection;->getDisconnectTime()J
-Lcom/android/internal/telephony/Connection;->getDurationMillis()J
-Lcom/android/internal/telephony/Connection;->getState()Lcom/android/internal/telephony/Call$State;
-Lcom/android/internal/telephony/Connection;->getUserData()Ljava/lang/Object;
-Lcom/android/internal/telephony/Connection;->hangup()V
-Lcom/android/internal/telephony/Connection;->isAlive()Z
-Lcom/android/internal/telephony/Connection;->isIncoming()Z
-Lcom/android/internal/telephony/Connection;->LOG_TAG:Ljava/lang/String;
-Lcom/android/internal/telephony/Connection;->mAddress:Ljava/lang/String;
-Lcom/android/internal/telephony/Connection;->mCnapName:Ljava/lang/String;
-Lcom/android/internal/telephony/Connection;->mCnapNamePresentation:I
-Lcom/android/internal/telephony/Connection;->mDialString:Ljava/lang/String;
-Lcom/android/internal/telephony/Connection;->mDuration:J
-Lcom/android/internal/telephony/Connection;->mIsIncoming:Z
-Lcom/android/internal/telephony/Connection;->mNumberPresentation:I
-Lcom/android/internal/telephony/Connection;->setVideoState(I)V
 Lcom/android/internal/telephony/DctConstants$Activity;->DATAIN:Lcom/android/internal/telephony/DctConstants$Activity;
 Lcom/android/internal/telephony/DctConstants$Activity;->DATAINANDOUT:Lcom/android/internal/telephony/DctConstants$Activity;
 Lcom/android/internal/telephony/DctConstants$Activity;->DATAOUT:Lcom/android/internal/telephony/DctConstants$Activity;
@@ -2358,22 +1372,7 @@
 Lcom/android/internal/telephony/DctConstants$State;->IDLE:Lcom/android/internal/telephony/DctConstants$State;
 Lcom/android/internal/telephony/DctConstants$State;->RETRYING:Lcom/android/internal/telephony/DctConstants$State;
 Lcom/android/internal/telephony/DctConstants$State;->values()[Lcom/android/internal/telephony/DctConstants$State;
-Lcom/android/internal/telephony/DefaultPhoneNotifier;->mRegistry:Lcom/android/internal/telephony/ITelephonyRegistry;
-Lcom/android/internal/telephony/DriverCall$State;->ACTIVE:Lcom/android/internal/telephony/DriverCall$State;
-Lcom/android/internal/telephony/DriverCall$State;->ALERTING:Lcom/android/internal/telephony/DriverCall$State;
-Lcom/android/internal/telephony/DriverCall$State;->DIALING:Lcom/android/internal/telephony/DriverCall$State;
-Lcom/android/internal/telephony/DriverCall$State;->HOLDING:Lcom/android/internal/telephony/DriverCall$State;
-Lcom/android/internal/telephony/DriverCall$State;->INCOMING:Lcom/android/internal/telephony/DriverCall$State;
 Lcom/android/internal/telephony/DriverCall$State;->values()[Lcom/android/internal/telephony/DriverCall$State;
-Lcom/android/internal/telephony/DriverCall$State;->WAITING:Lcom/android/internal/telephony/DriverCall$State;
-Lcom/android/internal/telephony/DriverCall;-><init>()V
-Lcom/android/internal/telephony/DriverCall;->index:I
-Lcom/android/internal/telephony/DriverCall;->isMT:Z
-Lcom/android/internal/telephony/DriverCall;->isVoice:Z
-Lcom/android/internal/telephony/DriverCall;->name:Ljava/lang/String;
-Lcom/android/internal/telephony/DriverCall;->number:Ljava/lang/String;
-Lcom/android/internal/telephony/DriverCall;->numberPresentation:I
-Lcom/android/internal/telephony/DriverCall;->state:Lcom/android/internal/telephony/DriverCall$State;
 Lcom/android/internal/telephony/gsm/GsmCellBroadcastHandler$SmsCbConcatInfo;-><init>(Lcom/android/internal/telephony/gsm/SmsCbHeader;Landroid/telephony/SmsCbLocation;)V
 Lcom/android/internal/telephony/gsm/GsmCellBroadcastHandler$SmsCbConcatInfo;->matchesLocation(Ljava/lang/String;II)Z
 Lcom/android/internal/telephony/gsm/GsmCellBroadcastHandler;->mSmsCbPageMap:Ljava/util/HashMap;
@@ -2452,79 +1451,7 @@
 Lcom/android/internal/telephony/gsm/UsimPhoneBookManager;->mPhoneBookRecords:Ljava/util/ArrayList;
 Lcom/android/internal/telephony/gsm/UsimPhoneBookManager;->reset()V
 Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;-><init>()V
-Lcom/android/internal/telephony/GsmCdmaCall;->attachFake(Lcom/android/internal/telephony/Connection;Lcom/android/internal/telephony/Call$State;)V
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->clearDisconnected()V
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->disableDataCallInEmergencyCall(Ljava/lang/String;)V
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->fakeHoldForegroundBeforeDial()V
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->getPhone()Lcom/android/internal/telephony/GsmCdmaPhone;
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->handleEcmTimer(I)V
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->isPhoneTypeGsm()Z
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->mBackgroundCall:Lcom/android/internal/telephony/GsmCdmaCall;
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->mForegroundCall:Lcom/android/internal/telephony/GsmCdmaCall;
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->mPendingMO:Lcom/android/internal/telephony/GsmCdmaConnection;
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->mPhone:Lcom/android/internal/telephony/GsmCdmaPhone;
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->mRingingCall:Lcom/android/internal/telephony/GsmCdmaCall;
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->mState:Lcom/android/internal/telephony/PhoneConstants$State;
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->obtainCompleteMessage()Landroid/os/Message;
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->obtainCompleteMessage(I)Landroid/os/Message;
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->setMute(Z)V
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->switchWaitingOrHoldingAndActive()V
-Lcom/android/internal/telephony/GsmCdmaCallTracker;->updatePhoneState()V
 Lcom/android/internal/telephony/GsmCdmaConnection$MyHandler;-><init>(Lcom/android/internal/telephony/GsmCdmaConnection;Landroid/os/Looper;)V
-Lcom/android/internal/telephony/GsmCdmaConnection;->acquireWakeLock()V
-Lcom/android/internal/telephony/GsmCdmaConnection;->createWakeLock(Landroid/content/Context;)V
-Lcom/android/internal/telephony/GsmCdmaConnection;->disconnectCauseFromCode(I)I
-Lcom/android/internal/telephony/GsmCdmaConnection;->fetchDtmfToneDelay(Lcom/android/internal/telephony/GsmCdmaPhone;)V
-Lcom/android/internal/telephony/GsmCdmaConnection;->findNextPCharOrNonPOrNonWCharIndex(Ljava/lang/String;I)I
-Lcom/android/internal/telephony/GsmCdmaConnection;->findPOrWCharToAppend(Ljava/lang/String;II)C
-Lcom/android/internal/telephony/GsmCdmaConnection;->formatDialString(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/GsmCdmaConnection;->getState()Lcom/android/internal/telephony/Call$State;
-Lcom/android/internal/telephony/GsmCdmaConnection;->isPause(C)Z
-Lcom/android/internal/telephony/GsmCdmaConnection;->isPhoneTypeGsm()Z
-Lcom/android/internal/telephony/GsmCdmaConnection;->isWait(C)Z
-Lcom/android/internal/telephony/GsmCdmaConnection;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/GsmCdmaConnection;->maskDialString(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/GsmCdmaConnection;->mIndex:I
-Lcom/android/internal/telephony/GsmCdmaConnection;->mOwner:Lcom/android/internal/telephony/GsmCdmaCallTracker;
-Lcom/android/internal/telephony/GsmCdmaConnection;->onConnectedInOrOut()V
-Lcom/android/internal/telephony/GsmCdmaConnection;->updateParent(Lcom/android/internal/telephony/GsmCdmaCall;Lcom/android/internal/telephony/GsmCdmaCall;)V
-Lcom/android/internal/telephony/GsmCdmaPhone$Cfu;-><init>(Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/GsmCdmaPhone;->exitEmergencyCallbackMode()V
-Lcom/android/internal/telephony/GsmCdmaPhone;->getCallTracker()Lcom/android/internal/telephony/CallTracker;
-Lcom/android/internal/telephony/GsmCdmaPhone;->getCdmaEriText()Ljava/lang/String;
-Lcom/android/internal/telephony/GsmCdmaPhone;->getEsn()Ljava/lang/String;
-Lcom/android/internal/telephony/GsmCdmaPhone;->getLine1Number()Ljava/lang/String;
-Lcom/android/internal/telephony/GsmCdmaPhone;->getPhoneType()I
-Lcom/android/internal/telephony/GsmCdmaPhone;->getServiceState()Landroid/telephony/ServiceState;
-Lcom/android/internal/telephony/GsmCdmaPhone;->getState()Lcom/android/internal/telephony/PhoneConstants$State;
-Lcom/android/internal/telephony/GsmCdmaPhone;->getSystemProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/GsmCdmaPhone;->handleInCallMmiCommands(Ljava/lang/String;)Z
-Lcom/android/internal/telephony/GsmCdmaPhone;->isCfEnable(I)Z
-Lcom/android/internal/telephony/GsmCdmaPhone;->isEriFileLoaded()Z
-Lcom/android/internal/telephony/GsmCdmaPhone;->isInCall()Z
-Lcom/android/internal/telephony/GsmCdmaPhone;->isManualSelProhibitedInGlobalMode()Z
-Lcom/android/internal/telephony/GsmCdmaPhone;->isPhoneTypeGsm()Z
-Lcom/android/internal/telephony/GsmCdmaPhone;->isValidCommandInterfaceCFAction(I)Z
-Lcom/android/internal/telephony/GsmCdmaPhone;->isValidCommandInterfaceCFReason(I)Z
-Lcom/android/internal/telephony/GsmCdmaPhone;->logd(Ljava/lang/String;)V
-Lcom/android/internal/telephony/GsmCdmaPhone;->loge(Ljava/lang/String;)V
-Lcom/android/internal/telephony/GsmCdmaPhone;->mCT:Lcom/android/internal/telephony/GsmCdmaCallTracker;
-Lcom/android/internal/telephony/GsmCdmaPhone;->mEcmExitRespRegistrant:Landroid/os/Registrant;
-Lcom/android/internal/telephony/GsmCdmaPhone;->mEriManager:Lcom/android/internal/telephony/cdma/EriManager;
-Lcom/android/internal/telephony/GsmCdmaPhone;->mIccSmsInterfaceManager:Lcom/android/internal/telephony/IccSmsInterfaceManager;
-Lcom/android/internal/telephony/GsmCdmaPhone;->mIsimUiccRecords:Lcom/android/internal/telephony/uicc/IsimUiccRecords;
-Lcom/android/internal/telephony/GsmCdmaPhone;->mPendingMMIs:Ljava/util/ArrayList;
-Lcom/android/internal/telephony/GsmCdmaPhone;->mSST:Lcom/android/internal/telephony/ServiceStateTracker;
-Lcom/android/internal/telephony/GsmCdmaPhone;->notifyPreciseCallStateChanged()V
-Lcom/android/internal/telephony/GsmCdmaPhone;->notifyServiceStateChanged(Landroid/telephony/ServiceState;)V
-Lcom/android/internal/telephony/GsmCdmaPhone;->setOnEcbModeExitResponse(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/GsmCdmaPhone;->syncClirSetting()V
-Lcom/android/internal/telephony/IccCard;->getState()Lcom/android/internal/telephony/IccCardConstants$State;
-Lcom/android/internal/telephony/IccCard;->registerForNetworkLocked(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/IccCard;->supplyNetworkDepersonalization(Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/IccCard;->supplyPin(Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/IccCard;->supplyPuk(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V
 Lcom/android/internal/telephony/IccCardConstants$State;->ABSENT:Lcom/android/internal/telephony/IccCardConstants$State;
 Lcom/android/internal/telephony/IccCardConstants$State;->CARD_IO_ERROR:Lcom/android/internal/telephony/IccCardConstants$State;
 Lcom/android/internal/telephony/IccCardConstants$State;->NETWORK_LOCKED:Lcom/android/internal/telephony/IccCardConstants$State;
@@ -2535,47 +1462,7 @@
 Lcom/android/internal/telephony/IccCardConstants$State;->READY:Lcom/android/internal/telephony/IccCardConstants$State;
 Lcom/android/internal/telephony/IccCardConstants$State;->UNKNOWN:Lcom/android/internal/telephony/IccCardConstants$State;
 Lcom/android/internal/telephony/IccCardConstants$State;->values()[Lcom/android/internal/telephony/IccCardConstants$State;
-Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->checkThread()V
-Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->DBG:Z
-Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->logd(Ljava/lang/String;)V
-Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->loge(Ljava/lang/String;)V
-Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->mAdnCache:Lcom/android/internal/telephony/uicc/AdnRecordCache;
-Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->mBaseHandler:Landroid/os/Handler;
-Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->mPhone:Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;->updateEfForIccType(I)I
 Lcom/android/internal/telephony/IccProvider;-><init>()V
-Lcom/android/internal/telephony/IccProvider;->ADDRESS_BOOK_COLUMN_NAMES:[Ljava/lang/String;
-Lcom/android/internal/telephony/IccProvider;->DBG:Z
-Lcom/android/internal/telephony/IccProvider;->loadRecord(Lcom/android/internal/telephony/uicc/AdnRecord;Landroid/database/MatrixCursor;I)V
-Lcom/android/internal/telephony/IccProvider;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->copyMessageToIccEf(Ljava/lang/String;I[B[B)Z
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->disableCdmaBroadcastRange(II)Z
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->disableGsmBroadcastRange(II)Z
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->enableCdmaBroadcastRange(II)Z
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->enableGsmBroadcastRange(II)Z
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->enforceReceiveAndSend(Ljava/lang/String;)V
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->filterDestAddress(Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->getAllMessagesFromIccEf(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->getImsSmsFormat()Ljava/lang/String;
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->getPremiumSmsPermission(Ljava/lang/String;)I
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->injectSmsPdu([BLjava/lang/String;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->isImsSmsSupported()Z
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->mAppOps:Landroid/app/AppOpsManager;
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->mCellBroadcastRangeManager:Lcom/android/internal/telephony/IccSmsInterfaceManager$CellBroadcastRangeManager;
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->mHandler:Landroid/os/Handler;
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->mLock:Ljava/lang/Object;
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->mPhone:Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->mSms:Ljava/util/List;
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->mSuccess:Z
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->sendData(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->sendStoredMultipartText(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->sendStoredText(Ljava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->setCdmaBroadcastConfig([Lcom/android/internal/telephony/cdma/CdmaSmsBroadcastConfigInfo;)Z
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->setCellBroadcastConfig([Lcom/android/internal/telephony/gsm/SmsBroadcastConfigInfo;)Z
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->setPremiumSmsPermission(Ljava/lang/String;I)V
-Lcom/android/internal/telephony/IccSmsInterfaceManager;->updateMessageOnIccEf(Ljava/lang/String;II[B)Z
 Lcom/android/internal/telephony/IIccPhoneBook$Stub$Proxy;->mRemote:Landroid/os/IBinder;
 Lcom/android/internal/telephony/IIccPhoneBook$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IIccPhoneBook;
 Lcom/android/internal/telephony/IIccPhoneBook;->getAdnRecordsInEf(I)Ljava/util/List;
@@ -2584,142 +1471,24 @@
 Lcom/android/internal/telephony/IIccPhoneBook;->getAdnRecordsSizeForSubscriber(II)[I
 Lcom/android/internal/telephony/IIccPhoneBook;->updateAdnRecordsInEfBySearch(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
 Lcom/android/internal/telephony/IMms$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IMms;
-Lcom/android/internal/telephony/imsphone/ImsExternalCall;-><init>(Lcom/android/internal/telephony/Phone;Lcom/android/internal/telephony/imsphone/ImsExternalConnection;)V
 Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker$ExternalCallStateListener;-><init>(Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker;)V
 Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker$ExternalConnectionListener;-><init>(Lcom/android/internal/telephony/imsphone/ImsExternalCallTracker;)V
-Lcom/android/internal/telephony/imsphone/ImsExternalConnection;->rebuildCapabilities()V
-Lcom/android/internal/telephony/imsphone/ImsExternalConnection;->setActive()V
-Lcom/android/internal/telephony/imsphone/ImsPhone$Cf;-><init>(Ljava/lang/String;ZLandroid/os/Message;)V
-Lcom/android/internal/telephony/imsphone/ImsPhone;->getActionFromCFAction(I)I
-Lcom/android/internal/telephony/imsphone/ImsPhone;->getBackgroundCall()Lcom/android/internal/telephony/imsphone/ImsPhoneCall;
-Lcom/android/internal/telephony/imsphone/ImsPhone;->getCallForwardingOption(ILandroid/os/Message;)V
-Lcom/android/internal/telephony/imsphone/ImsPhone;->getCallWaiting(Landroid/os/Message;)V
-Lcom/android/internal/telephony/imsphone/ImsPhone;->getConditionFromCFReason(I)I
-Lcom/android/internal/telephony/imsphone/ImsPhone;->getForegroundCall()Lcom/android/internal/telephony/imsphone/ImsPhoneCall;
-Lcom/android/internal/telephony/imsphone/ImsPhone;->getRingingCall()Lcom/android/internal/telephony/imsphone/ImsPhoneCall;
-Lcom/android/internal/telephony/imsphone/ImsPhone;->getServiceState()Landroid/telephony/ServiceState;
-Lcom/android/internal/telephony/imsphone/ImsPhone;->getState()Lcom/android/internal/telephony/PhoneConstants$State;
-Lcom/android/internal/telephony/imsphone/ImsPhone;->handleEnterEmergencyCallbackMode()V
-Lcom/android/internal/telephony/imsphone/ImsPhone;->handleExitEmergencyCallbackMode()V
-Lcom/android/internal/telephony/imsphone/ImsPhone;->handleInCallMmiCommands(Ljava/lang/String;)Z
-Lcom/android/internal/telephony/imsphone/ImsPhone;->isCfEnable(I)Z
-Lcom/android/internal/telephony/imsphone/ImsPhone;->isUtEnabled()Z
-Lcom/android/internal/telephony/imsphone/ImsPhone;->isValidCommandInterfaceCFAction(I)Z
-Lcom/android/internal/telephony/imsphone/ImsPhone;->isValidCommandInterfaceCFReason(I)Z
-Lcom/android/internal/telephony/imsphone/ImsPhone;->isVolteEnabled()Z
-Lcom/android/internal/telephony/imsphone/ImsPhone;->mCT:Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;
-Lcom/android/internal/telephony/imsphone/ImsPhone;->mPendingMMIs:Ljava/util/ArrayList;
-Lcom/android/internal/telephony/imsphone/ImsPhone;->mSS:Landroid/telephony/ServiceState;
 Lcom/android/internal/telephony/imsphone/ImsPhone;->notifyCallForwardingIndicator()V
 Lcom/android/internal/telephony/imsphone/ImsPhone;->notifyPreciseCallStateChanged()V
-Lcom/android/internal/telephony/imsphone/ImsPhone;->notifyUnknownConnection(Lcom/android/internal/telephony/Connection;)V
-Lcom/android/internal/telephony/imsphone/ImsPhone;->onMMIDone(Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;)V
-Lcom/android/internal/telephony/imsphone/ImsPhone;->sendErrorResponse(Landroid/os/Message;)V
-Lcom/android/internal/telephony/imsphone/ImsPhone;->sendErrorResponse(Landroid/os/Message;Ljava/lang/Throwable;)V
-Lcom/android/internal/telephony/imsphone/ImsPhone;->setCallForwardingOption(IILjava/lang/String;IILandroid/os/Message;)V
-Lcom/android/internal/telephony/imsphone/ImsPhone;->setCallWaiting(ZLandroid/os/Message;)V
-Lcom/android/internal/telephony/imsphone/ImsPhone;->setImsRegistered(Z)V
-Lcom/android/internal/telephony/imsphone/ImsPhone;->setOnEcbModeExitResponse(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/imsphone/ImsPhone;->setServiceState(I)V
-Lcom/android/internal/telephony/imsphone/ImsPhoneCall;->attach(Lcom/android/internal/telephony/Connection;Lcom/android/internal/telephony/Call$State;)V
-Lcom/android/internal/telephony/imsphone/ImsPhoneCall;->attachFake(Lcom/android/internal/telephony/Connection;Lcom/android/internal/telephony/Call$State;)V
-Lcom/android/internal/telephony/imsphone/ImsPhoneCall;->getConnections()Ljava/util/List;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCall;->getImsCall()Lcom/android/ims/ImsCall;
-Lcom/android/internal/telephony/imsphone/ImsPhoneCall;->hangup()V
-Lcom/android/internal/telephony/imsphone/ImsPhoneCall;->merge(Lcom/android/internal/telephony/imsphone/ImsPhoneCall;Lcom/android/internal/telephony/Call$State;)V
-Lcom/android/internal/telephony/imsphone/ImsPhoneCall;->onHangupLocal()V
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->addConnection(Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;)V
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->clearDisconnected()V
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->dial(Ljava/lang/String;ILandroid/os/Bundle;)Lcom/android/internal/telephony/Connection;
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->dialPendingMO()V
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->findConnection(Lcom/android/ims/ImsCall;)Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getEcbmInterface()Lcom/android/ims/ImsEcbm;
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->getUtInterface()Lcom/android/ims/ImsUtInterface;
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->handleEcmTimer(I)V
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->loge(Ljava/lang/String;)V
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mAllowEmergencyVideoCalls:Z
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mBackgroundCall:Lcom/android/internal/telephony/imsphone/ImsPhoneCall;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mCallExpectedToResume:Lcom/android/ims/ImsCall;
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mConnections:Ljava/util/ArrayList;
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mForegroundCall:Lcom/android/internal/telephony/imsphone/ImsPhoneCall;
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mHandoverCall:Lcom/android/internal/telephony/imsphone/ImsPhoneCall;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mImsCallListener:Lcom/android/ims/ImsCall$Listener;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mImsManager:Lcom/android/ims/ImsManager;
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mOnHoldToneId:I
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mOnHoldToneStarted:Z
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mPendingMO:Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mPendingUssd:Landroid/os/Message;
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mPhone:Lcom/android/internal/telephony/imsphone/ImsPhone;
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mRingingCall:Lcom/android/internal/telephony/imsphone/ImsPhoneCall;
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mSwitchingFgAndBgCalls:Z
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mSyncHold:Ljava/lang/Object;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->mUssdSession:Lcom/android/ims/ImsCall;
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->processCallStateChange(Lcom/android/ims/ImsCall;Lcom/android/internal/telephony/Call$State;I)V
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->processCallStateChange(Lcom/android/ims/ImsCall;Lcom/android/internal/telephony/Call$State;IZ)V
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->removeConnection(Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;)V
 Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->setVideoCallProvider(Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;Lcom/android/ims/ImsCall;)V
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->switchAfterConferenceSuccess()V
-Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;->updatePhoneState()V
 Lcom/android/internal/telephony/imsphone/ImsPhoneConnection$MyHandler;-><init>(Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;Landroid/os/Looper;)V
-Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;->acquireWakeLock()V
-Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;->createWakeLock(Landroid/content/Context;)V
-Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;->getCall()Lcom/android/internal/telephony/imsphone/ImsPhoneCall;
-Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;->getOwner()Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;
-Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;->isMultiparty()Z
-Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;->mDisconnected:Z
 Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;->mImsCall:Lcom/android/ims/ImsCall;
-Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;->mOwner:Lcom/android/internal/telephony/imsphone/ImsPhoneCallTracker;
-Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;->mParent:Lcom/android/internal/telephony/imsphone/ImsPhoneCall;
-Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;->onDisconnect()Z
 Lcom/android/internal/telephony/imsphone/ImsPhoneConnection;->update(Lcom/android/ims/ImsCall;Lcom/android/internal/telephony/Call$State;)Z
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->getCLIRMode()I
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->getDialingNumber()Ljava/lang/String;
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->getErrorMessage(Landroid/os/AsyncResult;)Ljava/lang/CharSequence;
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->getScString()Ljava/lang/CharSequence;
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->isActivate()Z
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->isDeactivate()Z
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->isEmptyOrNull(Ljava/lang/CharSequence;)Z
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->isErasure()Z
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->isRegister()Z
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->isSupportedOverImsPhone()Z
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->isTemporaryModeCLIR()Z
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->mPhone:Lcom/android/internal/telephony/imsphone/ImsPhone;
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->newFromDialString(Ljava/lang/String;Lcom/android/internal/telephony/imsphone/ImsPhone;)Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->processCode()V
-Lcom/android/internal/telephony/imsphone/ImsPhoneMmiCode;->serviceClassToCFString(I)Ljava/lang/CharSequence;
 Lcom/android/internal/telephony/InboundSmsHandler$SmsBroadcastReceiver;-><init>(Lcom/android/internal/telephony/InboundSmsHandler;Lcom/android/internal/telephony/InboundSmsTracker;)V
-Lcom/android/internal/telephony/InboundSmsHandler$SmsBroadcastReceiver;->mDeleteWhere:Ljava/lang/String;
-Lcom/android/internal/telephony/InboundSmsHandler$SmsBroadcastReceiver;->mDeleteWhereArgs:[Ljava/lang/String;
-Lcom/android/internal/telephony/InboundSmsHandler;->acknowledgeLastIncomingSms(ZILandroid/os/Message;)V
-Lcom/android/internal/telephony/InboundSmsHandler;->deleteFromRawTable(Ljava/lang/String;[Ljava/lang/String;I)V
-Lcom/android/internal/telephony/InboundSmsHandler;->dispatchIntent(Landroid/content/Intent;Ljava/lang/String;ILandroid/os/Bundle;Landroid/content/BroadcastReceiver;Landroid/os/UserHandle;)V
-Lcom/android/internal/telephony/InboundSmsHandler;->dispatchNormalMessage(Lcom/android/internal/telephony/SmsMessageBase;)I
-Lcom/android/internal/telephony/InboundSmsHandler;->getPhone()Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/InboundSmsHandler;->handleInjectSms(Landroid/os/AsyncResult;)V
-Lcom/android/internal/telephony/InboundSmsHandler;->handleNewSms(Landroid/os/AsyncResult;)V
-Lcom/android/internal/telephony/InboundSmsHandler;->handleSmsWhitelisting(Landroid/content/ComponentName;)Landroid/os/Bundle;
-Lcom/android/internal/telephony/InboundSmsHandler;->isSkipNotifyFlagSet(I)Z
-Lcom/android/internal/telephony/InboundSmsHandler;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/InboundSmsHandler;->loge(Ljava/lang/String;)V
-Lcom/android/internal/telephony/InboundSmsHandler;->mCellBroadcastHandler:Lcom/android/internal/telephony/CellBroadcastHandler;
-Lcom/android/internal/telephony/InboundSmsHandler;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/InboundSmsHandler;->mDeliveringState:Lcom/android/internal/telephony/InboundSmsHandler$DeliveringState;
-Lcom/android/internal/telephony/InboundSmsHandler;->mDeviceIdleController:Landroid/os/IDeviceIdleController;
-Lcom/android/internal/telephony/InboundSmsHandler;->mIdleState:Lcom/android/internal/telephony/InboundSmsHandler$IdleState;
-Lcom/android/internal/telephony/InboundSmsHandler;->mPhone:Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/InboundSmsHandler;->mResolver:Landroid/content/ContentResolver;
-Lcom/android/internal/telephony/InboundSmsHandler;->mUserManager:Landroid/os/UserManager;
-Lcom/android/internal/telephony/InboundSmsHandler;->mWaitingState:Lcom/android/internal/telephony/InboundSmsHandler$WaitingState;
-Lcom/android/internal/telephony/InboundSmsHandler;->mWakeLock:Landroid/os/PowerManager$WakeLock;
-Lcom/android/internal/telephony/InboundSmsHandler;->mWapPush:Lcom/android/internal/telephony/WapPushOverSms;
-Lcom/android/internal/telephony/InboundSmsHandler;->processMessagePart(Lcom/android/internal/telephony/InboundSmsTracker;)Z
-Lcom/android/internal/telephony/InboundSmsHandler;->showNewMessageNotification()V
-Lcom/android/internal/telephony/InboundSmsHandler;->writeInboxMessage(Landroid/content/Intent;)Landroid/net/Uri;
-Lcom/android/internal/telephony/InboundSmsTracker;->getFormat()Ljava/lang/String;
-Lcom/android/internal/telephony/InboundSmsTracker;->getIndexOffset()I
-Lcom/android/internal/telephony/IntRangeManager;->mRanges:Ljava/util/ArrayList;
 Lcom/android/internal/telephony/IPhoneStateListener$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IPhoneStateListener;
 Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Lcom/android/internal/telephony/IPhoneSubInfo$Stub$Proxy;->getDeviceId(Ljava/lang/String;)Ljava/lang/String;
@@ -2741,91 +1510,6 @@
 Lcom/android/internal/telephony/ITelephonyRegistry$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Lcom/android/internal/telephony/ITelephonyRegistry$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/ITelephonyRegistry;
 Lcom/android/internal/telephony/IWapPushManager$Stub;->asInterface(Landroid/os/IBinder;)Lcom/android/internal/telephony/IWapPushManager;
-Lcom/android/internal/telephony/MccTable$MccEntry;->mIso:Ljava/lang/String;
-Lcom/android/internal/telephony/MccTable;->countryCodeForMcc(I)Ljava/lang/String;
-Lcom/android/internal/telephony/MccTable;->defaultLanguageForMcc(I)Ljava/lang/String;
-Lcom/android/internal/telephony/MccTable;->defaultTimeZoneForMcc(I)Ljava/lang/String;
-Lcom/android/internal/telephony/MccTable;->entryForMcc(I)Lcom/android/internal/telephony/MccTable$MccEntry;
-Lcom/android/internal/telephony/MccTable;->getLocaleForLanguageCountry(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/util/Locale;
-Lcom/android/internal/telephony/MccTable;->smallestDigitsMccForMnc(I)I
-Lcom/android/internal/telephony/MmiCode$State;->CANCELLED:Lcom/android/internal/telephony/MmiCode$State;
-Lcom/android/internal/telephony/MmiCode$State;->COMPLETE:Lcom/android/internal/telephony/MmiCode$State;
-Lcom/android/internal/telephony/MmiCode$State;->FAILED:Lcom/android/internal/telephony/MmiCode$State;
-Lcom/android/internal/telephony/MmiCode$State;->PENDING:Lcom/android/internal/telephony/MmiCode$State;
-Lcom/android/internal/telephony/MmiCode;->getPhone()Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/Phone;->dispose()V
-Lcom/android/internal/telephony/Phone;->exitEmergencyCallbackMode()V
-Lcom/android/internal/telephony/Phone;->getActiveApnTypes()[Ljava/lang/String;
-Lcom/android/internal/telephony/Phone;->getCallTracker()Lcom/android/internal/telephony/CallTracker;
-Lcom/android/internal/telephony/Phone;->getCellLocation()Landroid/telephony/CellLocation;
-Lcom/android/internal/telephony/Phone;->getContext()Landroid/content/Context;
-Lcom/android/internal/telephony/Phone;->getDataConnectionState()Lcom/android/internal/telephony/PhoneConstants$DataState;
-Lcom/android/internal/telephony/Phone;->getIccCard()Lcom/android/internal/telephony/IccCard;
-Lcom/android/internal/telephony/Phone;->getIccFileHandler()Lcom/android/internal/telephony/uicc/IccFileHandler;
-Lcom/android/internal/telephony/Phone;->getIccSerialNumber()Ljava/lang/String;
-Lcom/android/internal/telephony/Phone;->getIccSmsInterfaceManager()Lcom/android/internal/telephony/IccSmsInterfaceManager;
-Lcom/android/internal/telephony/Phone;->getImsPhone()Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/Phone;->getIsimRecords()Lcom/android/internal/telephony/uicc/IsimRecords;
-Lcom/android/internal/telephony/Phone;->getMsisdn()Ljava/lang/String;
-Lcom/android/internal/telephony/Phone;->getNai()Ljava/lang/String;
-Lcom/android/internal/telephony/Phone;->getPhoneId()I
-Lcom/android/internal/telephony/Phone;->getPhoneName()Ljava/lang/String;
-Lcom/android/internal/telephony/Phone;->getPhoneType()I
-Lcom/android/internal/telephony/Phone;->getServiceStateTracker()Lcom/android/internal/telephony/ServiceStateTracker;
-Lcom/android/internal/telephony/Phone;->getSmscAddress(Landroid/os/Message;)V
-Lcom/android/internal/telephony/Phone;->getState()Lcom/android/internal/telephony/PhoneConstants$State;
-Lcom/android/internal/telephony/Phone;->getSubId()I
-Lcom/android/internal/telephony/Phone;->getSystemProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/Phone;->getUiccCard()Lcom/android/internal/telephony/uicc/UiccCard;
-Lcom/android/internal/telephony/Phone;->getVideoState(Lcom/android/internal/telephony/Call;)I
-Lcom/android/internal/telephony/Phone;->invokeOemRilRequestRaw([BLandroid/os/Message;)V
-Lcom/android/internal/telephony/Phone;->invokeOemRilRequestStrings([Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/Phone;->isCspPlmnEnabled()Z
-Lcom/android/internal/telephony/Phone;->isUtEnabled()Z
-Lcom/android/internal/telephony/Phone;->isVideoEnabled()Z
-Lcom/android/internal/telephony/Phone;->isVolteEnabled()Z
-Lcom/android/internal/telephony/Phone;->isWifiCallingEnabled()Z
-Lcom/android/internal/telephony/Phone;->mCi:Lcom/android/internal/telephony/CommandsInterface;
-Lcom/android/internal/telephony/Phone;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/Phone;->mIccRecords:Ljava/util/concurrent/atomic/AtomicReference;
-Lcom/android/internal/telephony/Phone;->mImsPhone:Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/Phone;->mMmiRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/Phone;->mNotifier:Lcom/android/internal/telephony/PhoneNotifier;
-Lcom/android/internal/telephony/Phone;->mPhoneId:I
-Lcom/android/internal/telephony/Phone;->mSmsStorageMonitor:Lcom/android/internal/telephony/SmsStorageMonitor;
-Lcom/android/internal/telephony/Phone;->mUiccApplication:Ljava/util/concurrent/atomic/AtomicReference;
-Lcom/android/internal/telephony/Phone;->mUiccController:Lcom/android/internal/telephony/uicc/UiccController;
-Lcom/android/internal/telephony/Phone;->needsOtaServiceProvisioning()Z
-Lcom/android/internal/telephony/Phone;->notifyOtaspChanged(I)V
-Lcom/android/internal/telephony/Phone;->registerForDisconnect(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/Phone;->registerForEcmTimerReset(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/Phone;->registerForIncomingRing(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/Phone;->registerForMmiComplete(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/Phone;->registerForMmiInitiate(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/Phone;->registerForNewRingingConnection(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/Phone;->registerForPreciseCallStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/Phone;->registerForRingbackTone(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/Phone;->registerForServiceStateChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/Phone;->registerForSimRecordsLoaded(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/Phone;->registerForUnknownConnection(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/Phone;->selectNetworkManually(Lcom/android/internal/telephony/OperatorInfo;ZLandroid/os/Message;)V
-Lcom/android/internal/telephony/Phone;->setNetworkSelectionModeAutomatic(Landroid/os/Message;)V
-Lcom/android/internal/telephony/Phone;->setOnEcbModeExitResponse(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/Phone;->setOnPostDialCharacter(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/Phone;->setPreferredNetworkType(ILandroid/os/Message;)V
-Lcom/android/internal/telephony/Phone;->setSmscAddress(Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/Phone;->unregisterForDisconnect(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/Phone;->unregisterForEcmTimerReset(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/Phone;->unregisterForIncomingRing(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/Phone;->unregisterForMmiComplete(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/Phone;->unregisterForMmiInitiate(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/Phone;->unregisterForNewRingingConnection(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/Phone;->unregisterForPreciseCallStateChanged(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/Phone;->unregisterForRingbackTone(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/Phone;->unregisterForServiceStateChanged(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/Phone;->unregisterForSimRecordsLoaded(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/Phone;->unregisterForUnknownConnection(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/Phone;->unsetOnEcbModeExitResponse(Landroid/os/Handler;)V
 Lcom/android/internal/telephony/PhoneConstants$DataState;->CONNECTED:Lcom/android/internal/telephony/PhoneConstants$DataState;
 Lcom/android/internal/telephony/PhoneConstants$DataState;->CONNECTING:Lcom/android/internal/telephony/PhoneConstants$DataState;
 Lcom/android/internal/telephony/PhoneConstants$DataState;->DISCONNECTED:Lcom/android/internal/telephony/PhoneConstants$DataState;
@@ -2839,152 +1523,7 @@
 Lcom/android/internal/telephony/PhoneConstants;->PRESENTATION_PAYPHONE:I
 Lcom/android/internal/telephony/PhoneConstants;->PRESENTATION_RESTRICTED:I
 Lcom/android/internal/telephony/PhoneConstants;->PRESENTATION_UNKNOWN:I
-Lcom/android/internal/telephony/PhoneFactory;->calculatePreferredNetworkType(Landroid/content/Context;I)I
-Lcom/android/internal/telephony/PhoneFactory;->getDefaultPhone()Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/PhoneFactory;->getDefaultSubscription()I
-Lcom/android/internal/telephony/PhoneFactory;->getPhone(I)Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/PhoneFactory;->getPhones()[Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/PhoneFactory;->makeDefaultPhone(Landroid/content/Context;)V
-Lcom/android/internal/telephony/PhoneFactory;->sCommandsInterface:Lcom/android/internal/telephony/CommandsInterface;
-Lcom/android/internal/telephony/PhoneFactory;->sContext:Landroid/content/Context;
-Lcom/android/internal/telephony/PhoneFactory;->sMadeDefaults:Z
-Lcom/android/internal/telephony/PhoneFactory;->sPhoneNotifier:Lcom/android/internal/telephony/PhoneNotifier;
-Lcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;->NONE:Lcom/android/internal/telephony/PhoneInternalInterface$DataActivityState;
-Lcom/android/internal/telephony/PhoneInternalInterface;->PREFERRED_NT_MODE:I
-Lcom/android/internal/telephony/PhoneNotifier;->notifyMessageWaitingChanged(Lcom/android/internal/telephony/Phone;)V
-Lcom/android/internal/telephony/PhoneNotifier;->notifySignalStrength(Lcom/android/internal/telephony/Phone;)V
-Lcom/android/internal/telephony/PhoneStateIntentReceiver;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-Lcom/android/internal/telephony/PhoneStateIntentReceiver;->getSignalStrengthDbm()I
-Lcom/android/internal/telephony/PhoneStateIntentReceiver;->mSignalStrength:Landroid/telephony/SignalStrength;
-Lcom/android/internal/telephony/PhoneStateIntentReceiver;->mWants:I
-Lcom/android/internal/telephony/PhoneStateIntentReceiver;->notifyServiceState(I)V
-Lcom/android/internal/telephony/PhoneStateIntentReceiver;->notifySignalStrength(I)V
-Lcom/android/internal/telephony/PhoneStateIntentReceiver;->registerIntent()V
-Lcom/android/internal/telephony/PhoneStateIntentReceiver;->unregisterIntent()V
-Lcom/android/internal/telephony/PhoneSubInfoController;->getDefaultSubscription()I
-Lcom/android/internal/telephony/PhoneSubInfoController;->getPhone(I)Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/PhoneSubInfoController;->loge(Ljava/lang/String;)V
-Lcom/android/internal/telephony/PhoneSubInfoController;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/PhoneSubInfoController;->mPhone:[Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/PhoneSwitcher;->activate(I)V
-Lcom/android/internal/telephony/PhoneSwitcher;->deactivate(I)V
-Lcom/android/internal/telephony/PhoneSwitcher;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/PhoneSwitcher;->mMaxActivePhones:I
-Lcom/android/internal/telephony/PhoneSwitcher;->mNumPhones:I
-Lcom/android/internal/telephony/PhoneSwitcher;->mPhones:[Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/ProxyController;->completeRadioCapabilityTransaction()V
-Lcom/android/internal/telephony/ProxyController;->getInstance()Lcom/android/internal/telephony/ProxyController;
-Lcom/android/internal/telephony/ProxyController;->logd(Ljava/lang/String;)V
-Lcom/android/internal/telephony/ProxyController;->mOldRadioAccessFamily:[I
-Lcom/android/internal/telephony/ProxyController;->mRadioCapabilitySessionId:I
-Lcom/android/internal/telephony/ProxyController;->mSetRadioAccessFamilyStatus:[I
-Lcom/android/internal/telephony/ProxyController;->mUniqueIdGenerator:Ljava/util/concurrent/atomic/AtomicInteger;
-Lcom/android/internal/telephony/ProxyController;->sendRadioCapabilityRequest(IIIILjava/lang/String;II)V
-Lcom/android/internal/telephony/ProxyController;->sProxyController:Lcom/android/internal/telephony/ProxyController;
-Lcom/android/internal/telephony/RadioCapability;->getRadioAccessFamily()I
-Lcom/android/internal/telephony/RetryManager;->configure(Ljava/lang/String;)Z
-Lcom/android/internal/telephony/RetryManager;->getRetryTimer()I
-Lcom/android/internal/telephony/RetryManager;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/RetryManager;->mApnType:Ljava/lang/String;
-Lcom/android/internal/telephony/RetryManager;->mFailFastInterApnDelay:J
-Lcom/android/internal/telephony/RetryManager;->mInterApnDelay:J
-Lcom/android/internal/telephony/RetryManager;->mPhone:Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/RIL;-><init>(Landroid/content/Context;II)V
-Lcom/android/internal/telephony/RIL;-><init>(Landroid/content/Context;IILjava/lang/Integer;)V
-Lcom/android/internal/telephony/RIL;->acquireWakeLock(Lcom/android/internal/telephony/RILRequest;I)V
-Lcom/android/internal/telephony/RIL;->clearRequestList(IZ)V
-Lcom/android/internal/telephony/RIL;->clearWakeLock(I)Z
-Lcom/android/internal/telephony/RIL;->decrementWakeLock(Lcom/android/internal/telephony/RILRequest;)V
-Lcom/android/internal/telephony/RIL;->findAndRemoveRequestFromList(I)Lcom/android/internal/telephony/RILRequest;
-Lcom/android/internal/telephony/RIL;->getResponseForTimedOutRILRequest(Lcom/android/internal/telephony/RILRequest;)Ljava/lang/Object;
-Lcom/android/internal/telephony/RIL;->hangupForegroundResumeBackground(Landroid/os/Message;)V
-Lcom/android/internal/telephony/RIL;->hangupWaitingOrBackground(Landroid/os/Message;)V
-Lcom/android/internal/telephony/RIL;->invokeOemRilRequestRaw([BLandroid/os/Message;)V
-Lcom/android/internal/telephony/RIL;->makeStaticRadioCapability()Lcom/android/internal/telephony/RadioCapability;
-Lcom/android/internal/telephony/RIL;->mRequestList:Landroid/util/SparseArray;
-Lcom/android/internal/telephony/RIL;->mTestingEmergencyCall:Ljava/util/concurrent/atomic/AtomicBoolean;
-Lcom/android/internal/telephony/RIL;->mWakeLock:Landroid/os/PowerManager$WakeLock;
-Lcom/android/internal/telephony/RIL;->notifyRegistrantsCdmaInfoRec(Lcom/android/internal/telephony/cdma/CdmaInformationRecords;)V
-Lcom/android/internal/telephony/RIL;->notifyRegistrantsRilConnectionChanged(I)V
-Lcom/android/internal/telephony/RIL;->requestToString(I)Ljava/lang/String;
-Lcom/android/internal/telephony/RIL;->responseToString(I)Ljava/lang/String;
-Lcom/android/internal/telephony/RIL;->retToString(ILjava/lang/Object;)Ljava/lang/String;
-Lcom/android/internal/telephony/RIL;->riljLog(Ljava/lang/String;)V
-Lcom/android/internal/telephony/RIL;->setRadioPower(ZLandroid/os/Message;)V
-Lcom/android/internal/telephony/RIL;->unsljLog(I)V
-Lcom/android/internal/telephony/RIL;->unsljLogMore(ILjava/lang/String;)V
-Lcom/android/internal/telephony/RIL;->unsljLogRet(ILjava/lang/Object;)V
-Lcom/android/internal/telephony/RIL;->unsljLogvRet(ILjava/lang/Object;)V
 Lcom/android/internal/telephony/RILConstants;->PREFERRED_NETWORK_MODE:I
-Lcom/android/internal/telephony/RILRequest;->mRequest:I
-Lcom/android/internal/telephony/RILRequest;->mResult:Landroid/os/Message;
-Lcom/android/internal/telephony/RILRequest;->mSerial:I
-Lcom/android/internal/telephony/RILRequest;->obtain(ILandroid/os/Message;)Lcom/android/internal/telephony/RILRequest;
-Lcom/android/internal/telephony/RILRequest;->onError(ILjava/lang/Object;)V
-Lcom/android/internal/telephony/RILRequest;->release()V
-Lcom/android/internal/telephony/RILRequest;->serialString()Ljava/lang/String;
-Lcom/android/internal/telephony/ServiceStateTracker;->fixUnknownMcc(Ljava/lang/String;I)Ljava/lang/String;
-Lcom/android/internal/telephony/ServiceStateTracker;->getCurrentDataConnectionState()I
-Lcom/android/internal/telephony/ServiceStateTracker;->getDesiredPowerState()Z
-Lcom/android/internal/telephony/ServiceStateTracker;->getPhoneId()I
-Lcom/android/internal/telephony/ServiceStateTracker;->getSystemProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/ServiceStateTracker;->isConcurrentVoiceAndDataAllowed()Z
-Lcom/android/internal/telephony/ServiceStateTracker;->isGprsConsistent(II)Z
-Lcom/android/internal/telephony/ServiceStateTracker;->isImsRegistered()Z
-Lcom/android/internal/telephony/ServiceStateTracker;->isInHomeSidNid(II)Z
-Lcom/android/internal/telephony/ServiceStateTracker;->isInvalidOperatorNumeric(Ljava/lang/String;)Z
-Lcom/android/internal/telephony/ServiceStateTracker;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/ServiceStateTracker;->loge(Ljava/lang/String;)V
-Lcom/android/internal/telephony/ServiceStateTracker;->mCi:Lcom/android/internal/telephony/CommandsInterface;
-Lcom/android/internal/telephony/ServiceStateTracker;->mCr:Landroid/content/ContentResolver;
-Lcom/android/internal/telephony/ServiceStateTracker;->mCurDataSpn:Ljava/lang/String;
-Lcom/android/internal/telephony/ServiceStateTracker;->mCurPlmn:Ljava/lang/String;
-Lcom/android/internal/telephony/ServiceStateTracker;->mCurShowPlmn:Z
-Lcom/android/internal/telephony/ServiceStateTracker;->mCurShowSpn:Z
-Lcom/android/internal/telephony/ServiceStateTracker;->mCurSpn:Ljava/lang/String;
-Lcom/android/internal/telephony/ServiceStateTracker;->mDataRoamingOffRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/ServiceStateTracker;->mDataRoamingOnRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/ServiceStateTracker;->mDefaultRoamingIndicator:I
-Lcom/android/internal/telephony/ServiceStateTracker;->mDesiredPowerState:Z
-Lcom/android/internal/telephony/ServiceStateTracker;->mDeviceShuttingDown:Z
-Lcom/android/internal/telephony/ServiceStateTracker;->mEmergencyOnly:Z
-Lcom/android/internal/telephony/ServiceStateTracker;->mIccRecords:Lcom/android/internal/telephony/uicc/IccRecords;
-Lcom/android/internal/telephony/ServiceStateTracker;->mIntentReceiver:Landroid/content/BroadcastReceiver;
-Lcom/android/internal/telephony/ServiceStateTracker;->mIsSubscriptionFromRuim:Z
-Lcom/android/internal/telephony/ServiceStateTracker;->mMaxDataCalls:I
-Lcom/android/internal/telephony/ServiceStateTracker;->mNetworkAttachedRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/ServiceStateTracker;->mNewMaxDataCalls:I
-Lcom/android/internal/telephony/ServiceStateTracker;->mNewReasonDataDenied:I
-Lcom/android/internal/telephony/ServiceStateTracker;->mNewSS:Landroid/telephony/ServiceState;
-Lcom/android/internal/telephony/ServiceStateTracker;->mOnSubscriptionsChangedListener:Lcom/android/internal/telephony/ServiceStateTracker$SstSubscriptionsChangedListener;
-Lcom/android/internal/telephony/ServiceStateTracker;->mPhone:Lcom/android/internal/telephony/GsmCdmaPhone;
-Lcom/android/internal/telephony/ServiceStateTracker;->mPreferredNetworkType:I
-Lcom/android/internal/telephony/ServiceStateTracker;->mReasonDataDenied:I
-Lcom/android/internal/telephony/ServiceStateTracker;->mReportedGprsNoReg:Z
-Lcom/android/internal/telephony/ServiceStateTracker;->mRoamingIndicator:I
-Lcom/android/internal/telephony/ServiceStateTracker;->mSignalStrength:Landroid/telephony/SignalStrength;
-Lcom/android/internal/telephony/ServiceStateTracker;->mSpnUpdatePending:Z
-Lcom/android/internal/telephony/ServiceStateTracker;->mSS:Landroid/telephony/ServiceState;
-Lcom/android/internal/telephony/ServiceStateTracker;->mStartedGprsRegCheck:Z
-Lcom/android/internal/telephony/ServiceStateTracker;->mSubId:I
-Lcom/android/internal/telephony/ServiceStateTracker;->mSubscriptionController:Lcom/android/internal/telephony/SubscriptionController;
-Lcom/android/internal/telephony/ServiceStateTracker;->mSubscriptionManager:Landroid/telephony/SubscriptionManager;
-Lcom/android/internal/telephony/ServiceStateTracker;->mUiccApplcation:Lcom/android/internal/telephony/uicc/UiccCardApplication;
-Lcom/android/internal/telephony/ServiceStateTracker;->mUiccController:Lcom/android/internal/telephony/uicc/UiccController;
-Lcom/android/internal/telephony/ServiceStateTracker;->mVoiceRoamingOffRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/ServiceStateTracker;->mVoiceRoamingOnRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/ServiceStateTracker;->notifySignalStrength()Z
-Lcom/android/internal/telephony/ServiceStateTracker;->pollState()V
-Lcom/android/internal/telephony/ServiceStateTracker;->reRegisterNetwork(Landroid/os/Message;)V
-Lcom/android/internal/telephony/ServiceStateTracker;->resetServiceStateInIwlanMode()V
-Lcom/android/internal/telephony/ServiceStateTracker;->setOperatorIdd(Ljava/lang/String;)V
-Lcom/android/internal/telephony/ServiceStateTracker;->setRoamingType(Landroid/telephony/ServiceState;)V
-Lcom/android/internal/telephony/ServiceStateTracker;->setSignalStrengthDefaultValues()V
-Lcom/android/internal/telephony/ServiceStateTracker;->updateOtaspState()V
-Lcom/android/internal/telephony/ServiceStateTracker;->updatePhoneObject()V
-Lcom/android/internal/telephony/ServiceStateTracker;->updateRoamingState()V
-Lcom/android/internal/telephony/ServiceStateTracker;->updateSpnDisplay()V
-Lcom/android/internal/telephony/ServiceStateTracker;->useDataRegStateForDataOnlyDevices()V
 Lcom/android/internal/telephony/sip/SipPhone$SipCall;->hold()V
 Lcom/android/internal/telephony/sip/SipPhone$SipCall;->switchWith(Lcom/android/internal/telephony/sip/SipPhone$SipCall;)V
 Lcom/android/internal/telephony/sip/SipPhone$SipCall;->unhold()V
@@ -3008,100 +1547,14 @@
 Lcom/android/internal/telephony/SmsApplication;->isDefaultSmsApplication(Landroid/content/Context;Ljava/lang/String;)Z
 Lcom/android/internal/telephony/SmsApplication;->setDefaultApplication(Ljava/lang/String;Landroid/content/Context;)V
 Lcom/android/internal/telephony/SmsApplication;->shouldWriteMessageForPackage(Ljava/lang/String;Landroid/content/Context;)Z
-Lcom/android/internal/telephony/SmsBroadcastUndelivered;-><init>(Landroid/content/Context;Lcom/android/internal/telephony/gsm/GsmInboundSmsHandler;Lcom/android/internal/telephony/cdma/CdmaInboundSmsHandler;)V
-Lcom/android/internal/telephony/SMSDispatcher$ConfirmDialogListener;->mNegativeButton:Landroid/widget/Button;
-Lcom/android/internal/telephony/SMSDispatcher$ConfirmDialogListener;->mPositiveButton:Landroid/widget/Button;
-Lcom/android/internal/telephony/SMSDispatcher$ConfirmDialogListener;->mRememberUndoInstruction:Landroid/widget/TextView;
 Lcom/android/internal/telephony/SMSDispatcher$DataSmsSender;-><init>(Lcom/android/internal/telephony/SMSDispatcher;Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
 Lcom/android/internal/telephony/SMSDispatcher$MultipartSmsSender;-><init>(Lcom/android/internal/telephony/SMSDispatcher;Ljava/util/ArrayList;[Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
-Lcom/android/internal/telephony/SMSDispatcher$MultipartSmsSender;->sendSmsByCarrierApp(Ljava/lang/String;Lcom/android/internal/telephony/SMSDispatcher$MultipartSmsSenderCallback;)V
 Lcom/android/internal/telephony/SMSDispatcher$MultipartSmsSenderCallback;-><init>(Lcom/android/internal/telephony/SMSDispatcher;Lcom/android/internal/telephony/SMSDispatcher$MultipartSmsSender;)V
 Lcom/android/internal/telephony/SMSDispatcher$SmsSenderCallback;-><init>(Lcom/android/internal/telephony/SMSDispatcher;Lcom/android/internal/telephony/SMSDispatcher$SmsSender;)V
-Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;->isMultipart()Z
-Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;->mAppInfo:Landroid/content/pm/PackageInfo;
-Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;->mData:Ljava/util/HashMap;
-Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;->mDeliveryIntent:Landroid/app/PendingIntent;
-Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;->mDestAddress:Ljava/lang/String;
-Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;->mMessageRef:I
-Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;->mMessageUri:Landroid/net/Uri;
-Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;->mPersistMessage:Z
-Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;->mSentIntent:Landroid/app/PendingIntent;
-Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;->mTimestamp:J
-Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;->onFailed(Landroid/content/Context;II)V
-Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;->onSent(Landroid/content/Context;)V
-Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;->updateSentMessageStatus(Landroid/content/Context;I)V
 Lcom/android/internal/telephony/SMSDispatcher$TextSmsSender;-><init>(Lcom/android/internal/telephony/SMSDispatcher;Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
-Lcom/android/internal/telephony/SMSDispatcher;->calculateLength(Ljava/lang/CharSequence;Z)Lcom/android/internal/telephony/GsmAlphabet$TextEncodingDetails;
-Lcom/android/internal/telephony/SMSDispatcher;->checkCallerIsPhoneOrCarrierApp()V
-Lcom/android/internal/telephony/SMSDispatcher;->deliveryPendingList:Ljava/util/ArrayList;
-Lcom/android/internal/telephony/SMSDispatcher;->dispose()V
-Lcom/android/internal/telephony/SMSDispatcher;->getCarrierAppPackageName()Ljava/lang/String;
-Lcom/android/internal/telephony/SMSDispatcher;->getMultipartMessageText(Ljava/util/ArrayList;)Ljava/lang/String;
-Lcom/android/internal/telephony/SMSDispatcher;->getNextConcatenatedRef()I
-Lcom/android/internal/telephony/SMSDispatcher;->getSubId()I
-Lcom/android/internal/telephony/SMSDispatcher;->handleConfirmShortCode(ZLcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
-Lcom/android/internal/telephony/SMSDispatcher;->mCi:Lcom/android/internal/telephony/CommandsInterface;
-Lcom/android/internal/telephony/SMSDispatcher;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/SMSDispatcher;->mPhone:Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/SMSDispatcher;->mResolver:Landroid/content/ContentResolver;
-Lcom/android/internal/telephony/SMSDispatcher;->mTelephonyManager:Landroid/telephony/TelephonyManager;
-Lcom/android/internal/telephony/SMSDispatcher;->processSendSmsResponse(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;II)V
-Lcom/android/internal/telephony/SMSDispatcher;->sendData(Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/SMSDispatcher;->sendMultipartSms(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
-Lcom/android/internal/telephony/SMSDispatcher;->sendSms(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
-Lcom/android/internal/telephony/SMSDispatcher;->sendSubmitPdu(Lcom/android/internal/telephony/SMSDispatcher$SmsTracker;)V
 Lcom/android/internal/telephony/SmsHeader$ConcatRef;-><init>()V
 Lcom/android/internal/telephony/SmsHeader$PortAddrs;-><init>()V
 Lcom/android/internal/telephony/SmsMessageBase;-><init>()V
-Lcom/android/internal/telephony/SmsResponse;-><init>(ILjava/lang/String;I)V
-Lcom/android/internal/telephony/SmsResponse;->mAckPdu:Ljava/lang/String;
-Lcom/android/internal/telephony/SmsResponse;->mErrorCode:I
-Lcom/android/internal/telephony/SmsResponse;->mMessageRef:I
-Lcom/android/internal/telephony/SmsStorageMonitor;->mCi:Lcom/android/internal/telephony/CommandsInterface;
-Lcom/android/internal/telephony/SmsUsageMonitor;-><init>(Landroid/content/Context;)V
-Lcom/android/internal/telephony/SmsUsageMonitor;->check(Ljava/lang/String;I)Z
-Lcom/android/internal/telephony/SubscriptionController;->broadcastDefaultDataSubIdChanged(I)V
-Lcom/android/internal/telephony/SubscriptionController;->colorArr:[I
-Lcom/android/internal/telephony/SubscriptionController;->enforceModifyPhoneState(Ljava/lang/String;)V
-Lcom/android/internal/telephony/SubscriptionController;->getActiveSubInfoCount(Ljava/lang/String;)I
-Lcom/android/internal/telephony/SubscriptionController;->getActiveSubscriptionInfo(ILjava/lang/String;)Landroid/telephony/SubscriptionInfo;
-Lcom/android/internal/telephony/SubscriptionController;->getActiveSubscriptionInfoList(Ljava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/SubscriptionController;->getDefaultDataSubId()I
-Lcom/android/internal/telephony/SubscriptionController;->getDefaultSmsSubId()I
-Lcom/android/internal/telephony/SubscriptionController;->getDefaultSubId()I
-Lcom/android/internal/telephony/SubscriptionController;->getDefaultVoiceSubId()I
-Lcom/android/internal/telephony/SubscriptionController;->getInstance()Lcom/android/internal/telephony/SubscriptionController;
-Lcom/android/internal/telephony/SubscriptionController;->getPhoneId(I)I
-Lcom/android/internal/telephony/SubscriptionController;->getSubId(I)[I
-Lcom/android/internal/telephony/SubscriptionController;->getSubIdUsingPhoneId(I)I
-Lcom/android/internal/telephony/SubscriptionController;->getSubInfo(Ljava/lang/String;Ljava/lang/Object;)Ljava/util/List;
-Lcom/android/internal/telephony/SubscriptionController;->getSubInfoRecord(Landroid/database/Cursor;)Landroid/telephony/SubscriptionInfo;
-Lcom/android/internal/telephony/SubscriptionController;->isActiveSubId(I)Z
-Lcom/android/internal/telephony/SubscriptionController;->isSubInfoReady()Z
-Lcom/android/internal/telephony/SubscriptionController;->logd(Ljava/lang/String;)V
-Lcom/android/internal/telephony/SubscriptionController;->logdl(Ljava/lang/String;)V
-Lcom/android/internal/telephony/SubscriptionController;->loge(Ljava/lang/String;)V
-Lcom/android/internal/telephony/SubscriptionController;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/SubscriptionController;->mDefaultPhoneId:I
-Lcom/android/internal/telephony/SubscriptionController;->mLock:Ljava/lang/Object;
-Lcom/android/internal/telephony/SubscriptionController;->notifySubscriptionInfoChanged()V
-Lcom/android/internal/telephony/SubscriptionController;->setDefaultDataSubId(I)V
-Lcom/android/internal/telephony/SubscriptionController;->setDefaultFallbackSubId(II)V
-Lcom/android/internal/telephony/SubscriptionController;->setDefaultSmsSubId(I)V
-Lcom/android/internal/telephony/SubscriptionController;->setDefaultVoiceSubId(I)V
-Lcom/android/internal/telephony/SubscriptionController;->setPlmnSpn(IZLjava/lang/String;ZLjava/lang/String;)Z
-Lcom/android/internal/telephony/SubscriptionController;->updateAllDataConnectionTrackers()V
-Lcom/android/internal/telephony/SubscriptionController;->validateSubId(I)V
-Lcom/android/internal/telephony/SubscriptionInfoUpdater;->broadcastSimStateChanged(ILjava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/SubscriptionInfoUpdater;->isAllIccIdQueryDone()Z
-Lcom/android/internal/telephony/SubscriptionInfoUpdater;->logd(Ljava/lang/String;)V
-Lcom/android/internal/telephony/SubscriptionInfoUpdater;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/SubscriptionInfoUpdater;->mCurrentlyActiveUserId:I
-Lcom/android/internal/telephony/SubscriptionInfoUpdater;->mIccId:[Ljava/lang/String;
-Lcom/android/internal/telephony/SubscriptionInfoUpdater;->mPackageManager:Landroid/content/pm/IPackageManager;
-Lcom/android/internal/telephony/SubscriptionInfoUpdater;->mPhone:[Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/SubscriptionInfoUpdater;->PROJECT_SIM_NUM:I
-Lcom/android/internal/telephony/TelephonyCapabilities;->supportsAdn(I)Z
 Lcom/android/internal/telephony/TelephonyProperties;->PROPERTY_ICC_OPERATOR_NUMERIC:Ljava/lang/String;
 Lcom/android/internal/telephony/test/InterpreterEx;-><init>(Ljava/lang/String;)V
 Lcom/android/internal/telephony/test/SimulatedCommands;->acceptCall(Landroid/os/Message;)V
@@ -3118,143 +1571,11 @@
 Lcom/android/internal/telephony/test/SimulatedGsmCallState;->releaseHeldOrUDUB()Z
 Lcom/android/internal/telephony/test/SimulatedGsmCallState;->separateCall(I)Z
 Lcom/android/internal/telephony/test/SimulatedGsmCallState;->switchActiveAndHeldOrWaiting()Z
-Lcom/android/internal/telephony/uicc/AdnRecord;-><init>(IILjava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/AdnRecord;-><init>(IILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/AdnRecord;-><init>(II[B)V
-Lcom/android/internal/telephony/uicc/AdnRecord;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/AdnRecord;-><init>(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/AdnRecord;-><init>([B)V
-Lcom/android/internal/telephony/uicc/AdnRecord;->buildAdnString(I)[B
-Lcom/android/internal/telephony/uicc/AdnRecord;->CREATOR:Landroid/os/Parcelable$Creator;
-Lcom/android/internal/telephony/uicc/AdnRecord;->getEmails()[Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/AdnRecord;->getNumber()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/AdnRecord;->isEmpty()Z
-Lcom/android/internal/telephony/uicc/AdnRecord;->mAlphaTag:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/AdnRecord;->mEfid:I
-Lcom/android/internal/telephony/uicc/AdnRecord;->mEmails:[Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/AdnRecord;->mExtRecord:I
-Lcom/android/internal/telephony/uicc/AdnRecord;->mNumber:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/AdnRecord;->mRecordNumber:I
-Lcom/android/internal/telephony/uicc/AdnRecord;->setEmails([Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/AdnRecordCache;->extensionEfForEf(I)I
-Lcom/android/internal/telephony/uicc/AdnRecordCache;->getRecordsIfLoaded(I)Ljava/util/ArrayList;
-Lcom/android/internal/telephony/uicc/AdnRecordCache;->mAdnLikeWaiters:Landroid/util/SparseArray;
-Lcom/android/internal/telephony/uicc/AdnRecordCache;->mFh:Lcom/android/internal/telephony/uicc/IccFileHandler;
-Lcom/android/internal/telephony/uicc/AdnRecordCache;->mUserWriteResponse:Landroid/util/SparseArray;
-Lcom/android/internal/telephony/uicc/AdnRecordCache;->mUsimPhoneBookManager:Lcom/android/internal/telephony/gsm/UsimPhoneBookManager;
-Lcom/android/internal/telephony/uicc/AdnRecordCache;->reset()V
-Lcom/android/internal/telephony/uicc/AdnRecordCache;->sendErrorResponse(Landroid/os/Message;Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/AdnRecordCache;->updateAdnByIndex(ILcom/android/internal/telephony/uicc/AdnRecord;ILjava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/uicc/AdnRecordLoader;-><init>(Lcom/android/internal/telephony/uicc/IccFileHandler;)V
-Lcom/android/internal/telephony/uicc/AdnRecordLoader;->getEFPath(I)Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/AdnRecordLoader;->loadFromEF(IIILandroid/os/Message;)V
-Lcom/android/internal/telephony/uicc/AdnRecordLoader;->mFh:Lcom/android/internal/telephony/uicc/IccFileHandler;
-Lcom/android/internal/telephony/uicc/AdnRecordLoader;->updateEF(Lcom/android/internal/telephony/uicc/AdnRecord;IIILjava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;->APPSTATE_DETECTED:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;->APPSTATE_PIN:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;->APPSTATE_PUK:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;->APPSTATE_READY:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;->APPSTATE_SUBSCRIPTION_PERSO:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;->APPSTATE_UNKNOWN:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
 Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;->values()[Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;->APPTYPE_CSIM:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;->APPTYPE_ISIM:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;->APPTYPE_RUIM:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;->APPTYPE_SIM:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;->APPTYPE_UNKNOWN:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;->APPTYPE_USIM:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
 Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;->values()[Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;->PERSOSUBSTATE_SIM_NETWORK:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;->PERSOSUBSTATE_SIM_NETWORK_SUBSET:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;->PERSOSUBSTATE_SIM_NETWORK_SUBSET_PUK:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;->PERSOSUBSTATE_SIM_SERVICE_PROVIDER:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;->PERSOSUBSTATE_SIM_SERVICE_PROVIDER_PUK:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;->PERSOSUBSTATE_UNKNOWN:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;
 Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;->values()[Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;
 Lcom/android/internal/telephony/uicc/IccCardApplicationStatus;-><init>()V
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus;->AppTypeFromRILInt(I)Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
-Lcom/android/internal/telephony/uicc/IccCardApplicationStatus;->app_type:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
-Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;->CARDSTATE_ABSENT:Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;
-Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;->CARDSTATE_ERROR:Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;
-Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;->CARDSTATE_PRESENT:Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;
-Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;->isCardPresent()Z
-Lcom/android/internal/telephony/uicc/IccCardStatus$PinState;->PINSTATE_DISABLED:Lcom/android/internal/telephony/uicc/IccCardStatus$PinState;
-Lcom/android/internal/telephony/uicc/IccCardStatus$PinState;->PINSTATE_ENABLED_BLOCKED:Lcom/android/internal/telephony/uicc/IccCardStatus$PinState;
-Lcom/android/internal/telephony/uicc/IccCardStatus$PinState;->PINSTATE_ENABLED_PERM_BLOCKED:Lcom/android/internal/telephony/uicc/IccCardStatus$PinState;
-Lcom/android/internal/telephony/uicc/IccCardStatus;->mApplications:[Lcom/android/internal/telephony/uicc/IccCardApplicationStatus;
-Lcom/android/internal/telephony/uicc/IccCardStatus;->mCardState:Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;
-Lcom/android/internal/telephony/uicc/IccCardStatus;->mCdmaSubscriptionAppIndex:I
-Lcom/android/internal/telephony/uicc/IccCardStatus;->mGsmUmtsSubscriptionAppIndex:I
-Lcom/android/internal/telephony/uicc/IccCardStatus;->mImsSubscriptionAppIndex:I
-Lcom/android/internal/telephony/uicc/IccCardStatus;->mUniversalPinState:Lcom/android/internal/telephony/uicc/IccCardStatus$PinState;
-Lcom/android/internal/telephony/uicc/IccFileHandler$LoadLinearFixedContext;-><init>(IILandroid/os/Message;)V
-Lcom/android/internal/telephony/uicc/IccFileHandler$LoadLinearFixedContext;->mRecordSize:I
-Lcom/android/internal/telephony/uicc/IccFileHandler$LoadLinearFixedContext;->results:Ljava/util/ArrayList;
-Lcom/android/internal/telephony/uicc/IccFileHandler;->getEFLinearRecordSize(ILandroid/os/Message;)V
-Lcom/android/internal/telephony/uicc/IccFileHandler;->getEFLinearRecordSize(ILjava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/uicc/IccFileHandler;->getEFPath(I)Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccFileHandler;->loadEFLinearFixed(IILandroid/os/Message;)V
-Lcom/android/internal/telephony/uicc/IccFileHandler;->loadEFLinearFixed(ILjava/lang/String;ILandroid/os/Message;)V
-Lcom/android/internal/telephony/uicc/IccFileHandler;->loadEFLinearFixedAll(ILandroid/os/Message;)V
-Lcom/android/internal/telephony/uicc/IccFileHandler;->loadEFLinearFixedAll(ILjava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/uicc/IccFileHandler;->loadEFTransparent(ILandroid/os/Message;)V
-Lcom/android/internal/telephony/uicc/IccFileHandler;->mAid:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccFileHandler;->mCi:Lcom/android/internal/telephony/CommandsInterface;
-Lcom/android/internal/telephony/uicc/IccFileHandler;->mParentApp:Lcom/android/internal/telephony/uicc/UiccCardApplication;
-Lcom/android/internal/telephony/uicc/IccFileHandler;->updateEFLinearFixed(II[BLjava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/uicc/IccFileHandler;->updateEFLinearFixed(ILjava/lang/String;I[BLjava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/uicc/IccFileHandler;->updateEFTransparent(I[BLandroid/os/Message;)V
-Lcom/android/internal/telephony/uicc/IccIoResult;-><init>(IILjava/lang/String;)V
-Lcom/android/internal/telephony/uicc/IccIoResult;-><init>(II[B)V
-Lcom/android/internal/telephony/uicc/IccIoResult;->payload:[B
-Lcom/android/internal/telephony/uicc/IccIoResult;->success()Z
-Lcom/android/internal/telephony/uicc/IccIoResult;->sw1:I
-Lcom/android/internal/telephony/uicc/IccIoResult;->sw2:I
-Lcom/android/internal/telephony/uicc/IccRecords;->auth_rsp:Lcom/android/internal/telephony/uicc/IccIoResult;
-Lcom/android/internal/telephony/uicc/IccRecords;->getGid1()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccRecords;->getIccId()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccRecords;->getIccSimChallengeResponse(ILjava/lang/String;)Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccRecords;->getIMSI()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccRecords;->getMsisdnNumber()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccRecords;->getOperatorNumeric()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccRecords;->getRecordsLoaded()Z
-Lcom/android/internal/telephony/uicc/IccRecords;->getServiceProviderName()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccRecords;->getUsimServiceTable()Lcom/android/internal/telephony/uicc/UsimServiceTable;
-Lcom/android/internal/telephony/uicc/IccRecords;->handleRefresh(Lcom/android/internal/telephony/uicc/IccRefreshResponse;)V
-Lcom/android/internal/telephony/uicc/IccRecords;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/IccRecords;->mAdnCache:Lcom/android/internal/telephony/uicc/AdnRecordCache;
-Lcom/android/internal/telephony/uicc/IccRecords;->mCi:Lcom/android/internal/telephony/CommandsInterface;
-Lcom/android/internal/telephony/uicc/IccRecords;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/uicc/IccRecords;->mDestroyed:Ljava/util/concurrent/atomic/AtomicBoolean;
-Lcom/android/internal/telephony/uicc/IccRecords;->mFh:Lcom/android/internal/telephony/uicc/IccFileHandler;
-Lcom/android/internal/telephony/uicc/IccRecords;->mGid1:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccRecords;->mIccId:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccRecords;->mImsi:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccRecords;->mIsVoiceMailFixed:Z
-Lcom/android/internal/telephony/uicc/IccRecords;->mLock:Ljava/lang/Object;
-Lcom/android/internal/telephony/uicc/IccRecords;->mMncLength:I
-Lcom/android/internal/telephony/uicc/IccRecords;->mParentApp:Lcom/android/internal/telephony/uicc/UiccCardApplication;
-Lcom/android/internal/telephony/uicc/IccRecords;->mRecordsEventsRegistrants:Landroid/os/RegistrantList;
-Lcom/android/internal/telephony/uicc/IccRecords;->mRecordsToLoad:I
-Lcom/android/internal/telephony/uicc/IccRecords;->mSpn:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccRecords;->mTelephonyManager:Landroid/telephony/TelephonyManager;
-Lcom/android/internal/telephony/uicc/IccRecords;->mVoiceMailNum:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccRecords;->registerForNetworkSelectionModeAutomatic(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/uicc/IccRecords;->registerForNewSms(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/uicc/IccRecords;->registerForRecordsEvents(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/uicc/IccRecords;->registerForRecordsLoaded(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/uicc/IccRecords;->setMsisdnNumber(Ljava/lang/String;Ljava/lang/String;Landroid/os/Message;)V
-Lcom/android/internal/telephony/uicc/IccRecords;->setVoiceCallForwardingFlag(IZLjava/lang/String;)V
-Lcom/android/internal/telephony/uicc/IccRecords;->unregisterForNetworkSelectionModeAutomatic(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/uicc/IccRecords;->unregisterForNewSms(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/uicc/IccRecords;->unregisterForRecordsEvents(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/uicc/IccRecords;->unregisterForRecordsLoaded(Landroid/os/Handler;)V
 Lcom/android/internal/telephony/uicc/IccRefreshResponse;-><init>()V
-Lcom/android/internal/telephony/uicc/IccRefreshResponse;->aid:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccRefreshResponse;->efId:I
-Lcom/android/internal/telephony/uicc/IccRefreshResponse;->refreshResult:I
-Lcom/android/internal/telephony/uicc/IccServiceTable;->getTag()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IccServiceTable;->mServiceTable:[B
 Lcom/android/internal/telephony/uicc/IccUtils;->adnStringFieldToString([BII)Ljava/lang/String;
 Lcom/android/internal/telephony/uicc/IccUtils;->bcdToString([BII)Ljava/lang/String;
 Lcom/android/internal/telephony/uicc/IccUtils;->bytesToHexString([B)Ljava/lang/String;
@@ -3266,175 +1587,7 @@
 Lcom/android/internal/telephony/uicc/IccUtils;->networkNameToString([BII)Ljava/lang/String;
 Lcom/android/internal/telephony/uicc/IccUtils;->parseToBnW([BI)Landroid/graphics/Bitmap;
 Lcom/android/internal/telephony/uicc/IccUtils;->parseToRGB([BIZ)Landroid/graphics/Bitmap;
-Lcom/android/internal/telephony/uicc/IsimRecords;->getIsimDomain()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IsimRecords;->getIsimImpi()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IsimRecords;->getIsimImpu()[Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IsimUiccRecords;->auth_rsp:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IsimUiccRecords;->fetchIsimRecords()V
-Lcom/android/internal/telephony/uicc/IsimUiccRecords;->isimTlvToString([B)Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IsimUiccRecords;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/IsimUiccRecords;->mIsimDomain:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IsimUiccRecords;->mIsimImpi:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IsimUiccRecords;->mIsimImpu:[Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IsimUiccRecords;->mIsimIst:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IsimUiccRecords;->mIsimPcscf:[Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/IsimUiccRecords;->mLock:Ljava/lang/Object;
-Lcom/android/internal/telephony/uicc/RuimRecords;->adjstMinDigits(I)I
-Lcom/android/internal/telephony/uicc/RuimRecords;->fetchRuimRecords()V
-Lcom/android/internal/telephony/uicc/RuimRecords;->getAssetLanguages(Landroid/content/Context;)[Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/RuimRecords;->getCsimSpnDisplayCondition()Z
-Lcom/android/internal/telephony/uicc/RuimRecords;->getMdn()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/RuimRecords;->getMdnNumber()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/RuimRecords;->getRUIMOperatorNumeric()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/RuimRecords;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/RuimRecords;->loge(Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/RuimRecords;->mEFli:[B
-Lcom/android/internal/telephony/uicc/RuimRecords;->mEFpl:[B
-Lcom/android/internal/telephony/uicc/RuimRecords;->mMin:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/RuimRecords;->mNai:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/RuimRecords;->onGetCSimEprlDone(Landroid/os/AsyncResult;)V
-Lcom/android/internal/telephony/uicc/SIMRecords$GetSpnFsmState;->INIT:Lcom/android/internal/telephony/uicc/SIMRecords$GetSpnFsmState;
-Lcom/android/internal/telephony/uicc/SIMRecords$GetSpnFsmState;->READ_SPN_3GPP:Lcom/android/internal/telephony/uicc/SIMRecords$GetSpnFsmState;
-Lcom/android/internal/telephony/uicc/SIMRecords$GetSpnFsmState;->READ_SPN_CPHS:Lcom/android/internal/telephony/uicc/SIMRecords$GetSpnFsmState;
-Lcom/android/internal/telephony/uicc/SIMRecords$GetSpnFsmState;->READ_SPN_SHORT_CPHS:Lcom/android/internal/telephony/uicc/SIMRecords$GetSpnFsmState;
 Lcom/android/internal/telephony/uicc/SIMRecords$GetSpnFsmState;->values()[Lcom/android/internal/telephony/uicc/SIMRecords$GetSpnFsmState;
-Lcom/android/internal/telephony/uicc/SIMRecords;->fetchSimRecords()V
-Lcom/android/internal/telephony/uicc/SIMRecords;->getExtFromEf(I)I
-Lcom/android/internal/telephony/uicc/SIMRecords;->getMsisdnNumber()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/SIMRecords;->getOperatorNumeric()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/SIMRecords;->getSpnFsm(ZLandroid/os/AsyncResult;)V
-Lcom/android/internal/telephony/uicc/SIMRecords;->getVoiceMailNumber()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/SIMRecords;->isCphsMailboxEnabled()Z
-Lcom/android/internal/telephony/uicc/SIMRecords;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/SIMRecords;->loge(Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/SIMRecords;->logv(Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/SIMRecords;->mEfCff:[B
-Lcom/android/internal/telephony/uicc/SIMRecords;->mEfCfis:[B
-Lcom/android/internal/telephony/uicc/SIMRecords;->mEfCPHS_MWI:[B
-Lcom/android/internal/telephony/uicc/SIMRecords;->mEfLi:[B
-Lcom/android/internal/telephony/uicc/SIMRecords;->mEfMWIS:[B
-Lcom/android/internal/telephony/uicc/SIMRecords;->mEfPl:[B
-Lcom/android/internal/telephony/uicc/SIMRecords;->mSpnDisplayCondition:I
-Lcom/android/internal/telephony/uicc/SIMRecords;->mUsimServiceTable:Lcom/android/internal/telephony/uicc/UsimServiceTable;
-Lcom/android/internal/telephony/uicc/SIMRecords;->mVmConfig:Lcom/android/internal/telephony/uicc/VoiceMailConstants;
-Lcom/android/internal/telephony/uicc/SIMRecords;->setVoiceCallForwardingFlag(IZLjava/lang/String;)V
-Lcom/android/internal/telephony/uicc/UiccCard;->getApplication(I)Lcom/android/internal/telephony/uicc/UiccCardApplication;
-Lcom/android/internal/telephony/uicc/UiccCard;->getApplicationByType(I)Lcom/android/internal/telephony/uicc/UiccCardApplication;
-Lcom/android/internal/telephony/uicc/UiccCard;->getApplicationIndex(I)Lcom/android/internal/telephony/uicc/UiccCardApplication;
-Lcom/android/internal/telephony/uicc/UiccCard;->getCardState()Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;
-Lcom/android/internal/telephony/uicc/UiccCard;->getCarrierPackageNamesForIntent(Landroid/content/pm/PackageManager;Landroid/content/Intent;)Ljava/util/List;
-Lcom/android/internal/telephony/uicc/UiccCard;->getIccId()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/UiccCard;->getNumApplications()I
-Lcom/android/internal/telephony/uicc/UiccCard;->getOperatorBrandOverride()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/UiccCard;->isApplicationOnIcc(Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;)Z
-Lcom/android/internal/telephony/uicc/UiccCard;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/UiccCard;->loge(Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/UiccCard;->mCardState:Lcom/android/internal/telephony/uicc/IccCardStatus$CardState;
-Lcom/android/internal/telephony/uicc/UiccCard;->mCi:Lcom/android/internal/telephony/CommandsInterface;
-Lcom/android/internal/telephony/uicc/UiccCard;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/uicc/UiccCard;->mLock:Ljava/lang/Object;
-Lcom/android/internal/telephony/uicc/UiccCard;->mPhoneId:I
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->dispose()V
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->getAid()Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->getAuthContext()I
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->getIccFileHandler()Lcom/android/internal/telephony/uicc/IccFileHandler;
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->getIccRecords()Lcom/android/internal/telephony/uicc/IccRecords;
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->getPersoSubState()Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->getPhoneId()I
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->getPin1State()Lcom/android/internal/telephony/uicc/IccCardStatus$PinState;
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->getState()Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->getType()Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->loge(Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->mAid:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->mAppState:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppState;
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->mAppType:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$AppType;
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->mCi:Lcom/android/internal/telephony/CommandsInterface;
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->mDestroyed:Z
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->mLock:Ljava/lang/Object;
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->mPersoSubState:Lcom/android/internal/telephony/uicc/IccCardApplicationStatus$PersoSubState;
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->mPin1State:Lcom/android/internal/telephony/uicc/IccCardStatus$PinState;
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->registerForReady(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->unregisterForReady(Landroid/os/Handler;)V
-Lcom/android/internal/telephony/uicc/UiccCardApplication;->update(Lcom/android/internal/telephony/uicc/IccCardApplicationStatus;Landroid/content/Context;Lcom/android/internal/telephony/CommandsInterface;)V
-Lcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules$TLV;->length:Ljava/lang/Integer;
-Lcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules$TLV;->value:Ljava/lang/String;
-Lcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->mLoadedCallback:Landroid/os/Message;
-Lcom/android/internal/telephony/uicc/UiccCarrierPrivilegeRules;->mState:Ljava/util/concurrent/atomic/AtomicInteger;
-Lcom/android/internal/telephony/uicc/UiccController;->getIccFileHandler(II)Lcom/android/internal/telephony/uicc/IccFileHandler;
-Lcom/android/internal/telephony/uicc/UiccController;->getIccRecords(II)Lcom/android/internal/telephony/uicc/IccRecords;
-Lcom/android/internal/telephony/uicc/UiccController;->getInstance()Lcom/android/internal/telephony/uicc/UiccController;
-Lcom/android/internal/telephony/uicc/UiccController;->getUiccCard(I)Lcom/android/internal/telephony/uicc/UiccCard;
-Lcom/android/internal/telephony/uicc/UiccController;->getUiccCardApplication(II)Lcom/android/internal/telephony/uicc/UiccCardApplication;
-Lcom/android/internal/telephony/uicc/UiccController;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/uicc/UiccController;->mCis:[Lcom/android/internal/telephony/CommandsInterface;
-Lcom/android/internal/telephony/uicc/UiccController;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/uicc/UiccController;->mInstance:Lcom/android/internal/telephony/uicc/UiccController;
-Lcom/android/internal/telephony/uicc/UiccController;->mLock:Ljava/lang/Object;
-Lcom/android/internal/telephony/uicc/UiccController;->registerForIccChanged(Landroid/os/Handler;ILjava/lang/Object;)V
-Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;->ALLOWED_CSG_LISTS_AND_INDICATIONS:Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
-Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;->CFI_STATUS:Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
-Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;->CSG_DISPLAY_CONTROL:Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
-Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;->FDN:Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
-Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;->MBDN:Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
-Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;->MSISDN:Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
-Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;->MWI_STATUS:Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
-Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;->OPERATOR_CSG_LISTS_AND_INDICATIONS:Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
-Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;->OPERATOR_PLMN_LIST:Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
-Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;->PLMN_NETWORK_NAME:Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
-Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;->SDN:Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
-Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;->SM_OVER_IP:Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
-Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;->SM_SERVICE_PARAMS:Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
-Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;->SM_STORAGE:Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
-Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;->SPN:Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;
-Lcom/android/internal/telephony/uicc/UsimServiceTable;->isAvailable(Lcom/android/internal/telephony/uicc/UsimServiceTable$UsimService;)Z
-Lcom/android/internal/telephony/uicc/VoiceMailConstants;-><init>()V
-Lcom/android/internal/telephony/UiccPhoneBookController;-><init>([Lcom/android/internal/telephony/Phone;)V
-Lcom/android/internal/telephony/UiccPhoneBookController;->getDefaultSubscription()I
-Lcom/android/internal/telephony/UiccPhoneBookController;->getIccPhoneBookInterfaceManager(I)Lcom/android/internal/telephony/IccPhoneBookInterfaceManager;
-Lcom/android/internal/telephony/UiccPhoneBookController;->mPhone:[Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/UiccSmsController;->copyMessageToIccEfForSubscriber(ILjava/lang/String;I[B[B)Z
-Lcom/android/internal/telephony/UiccSmsController;->disableCellBroadcastForSubscriber(III)Z
-Lcom/android/internal/telephony/UiccSmsController;->disableCellBroadcastRangeForSubscriber(IIII)Z
-Lcom/android/internal/telephony/UiccSmsController;->enableCellBroadcastForSubscriber(III)Z
-Lcom/android/internal/telephony/UiccSmsController;->enableCellBroadcastRangeForSubscriber(IIII)Z
-Lcom/android/internal/telephony/UiccSmsController;->getAllMessagesFromIccEfForSubscriber(ILjava/lang/String;)Ljava/util/List;
-Lcom/android/internal/telephony/UiccSmsController;->getIccSmsInterfaceManager(I)Lcom/android/internal/telephony/IccSmsInterfaceManager;
-Lcom/android/internal/telephony/UiccSmsController;->getImsSmsFormatForSubscriber(I)Ljava/lang/String;
-Lcom/android/internal/telephony/UiccSmsController;->getPreferredSmsSubscription()I
-Lcom/android/internal/telephony/UiccSmsController;->isImsSmsSupportedForSubscriber(I)Z
-Lcom/android/internal/telephony/UiccSmsController;->sendDataForSubscriber(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I[BLandroid/app/PendingIntent;Landroid/app/PendingIntent;)V
-Lcom/android/internal/telephony/UiccSmsController;->sendErrorInPendingIntent(Landroid/app/PendingIntent;I)V
-Lcom/android/internal/telephony/UiccSmsController;->sendErrorInPendingIntents(Ljava/util/List;I)V
-Lcom/android/internal/telephony/UiccSmsController;->updateMessageOnIccEfForSubscriber(ILjava/lang/String;II[B)Z
-Lcom/android/internal/telephony/UUSInfo;->getDcs()I
-Lcom/android/internal/telephony/UUSInfo;->getType()I
-Lcom/android/internal/telephony/UUSInfo;->getUserData()[B
-Lcom/android/internal/telephony/WakeLockStateMachine;->log(Ljava/lang/String;)V
-Lcom/android/internal/telephony/WakeLockStateMachine;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/WakeLockStateMachine;->mIdleState:Lcom/android/internal/telephony/WakeLockStateMachine$IdleState;
-Lcom/android/internal/telephony/WakeLockStateMachine;->mPhone:Lcom/android/internal/telephony/Phone;
-Lcom/android/internal/telephony/WapPushOverSms;->dispatchWapPdu([BLandroid/content/BroadcastReceiver;Lcom/android/internal/telephony/InboundSmsHandler;)I
-Lcom/android/internal/telephony/WapPushOverSms;->getDeliveryOrReadReportThreadId(Landroid/content/Context;Lcom/google/android/mms/pdu/GenericPdu;)J
-Lcom/android/internal/telephony/WapPushOverSms;->isDuplicateNotification(Landroid/content/Context;Lcom/google/android/mms/pdu/NotificationInd;)Z
-Lcom/android/internal/telephony/WapPushOverSms;->isWapPushForMms([BLcom/android/internal/telephony/InboundSmsHandler;)Z
-Lcom/android/internal/telephony/WapPushOverSms;->mContext:Landroid/content/Context;
-Lcom/android/internal/telephony/WapPushOverSms;->mDeviceIdleController:Landroid/os/IDeviceIdleController;
-Lcom/android/internal/telephony/WapPushOverSms;->mWapPushManager:Lcom/android/internal/telephony/IWapPushManager;
-Lcom/android/internal/telephony/WspTypeDecoder;-><init>([B)V
-Lcom/android/internal/telephony/WspTypeDecoder;->decodeContentType(I)Z
-Lcom/android/internal/telephony/WspTypeDecoder;->decodeIntegerValue(I)Z
-Lcom/android/internal/telephony/WspTypeDecoder;->decodeShortInteger(I)Z
-Lcom/android/internal/telephony/WspTypeDecoder;->decodeTextString(I)Z
-Lcom/android/internal/telephony/WspTypeDecoder;->decodeUintvarInteger(I)Z
-Lcom/android/internal/telephony/WspTypeDecoder;->decodeValueLength(I)Z
-Lcom/android/internal/telephony/WspTypeDecoder;->decodeXWapApplicationId(I)Z
-Lcom/android/internal/telephony/WspTypeDecoder;->getContentParameters()Ljava/util/HashMap;
-Lcom/android/internal/telephony/WspTypeDecoder;->getDecodedDataLength()I
-Lcom/android/internal/telephony/WspTypeDecoder;->getValue32()J
-Lcom/android/internal/telephony/WspTypeDecoder;->getValueString()Ljava/lang/String;
-Lcom/android/internal/telephony/WspTypeDecoder;->mWspData:[B
-Lcom/android/internal/telephony/WspTypeDecoder;->seekXWapApplicationId(II)Z
 Lcom/android/internal/textservice/ITextServicesManager$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
 Lcom/android/internal/util/ArrayUtils;->appendElement(Ljava/lang/Class;[Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
 Lcom/android/internal/util/ArrayUtils;->appendInt([II)[I
diff --git a/config/preloaded-classes b/config/preloaded-classes
index 3804aa6..fda028d 100644
--- a/config/preloaded-classes
+++ b/config/preloaded-classes
@@ -22,51 +22,50 @@
 # This file has been derived for mainline phone (and tablet) usage.
 #
 android.R$styleable
-android.accessibilityservice.AccessibilityServiceInfo
 android.accessibilityservice.AccessibilityServiceInfo$1
-android.accounts.Account
+android.accessibilityservice.AccessibilityServiceInfo
 android.accounts.Account$1
-android.accounts.AccountManager
-android.accounts.AccountManager$1
+android.accounts.Account
 android.accounts.AccountManager$10
 android.accounts.AccountManager$11
 android.accounts.AccountManager$18
-android.accounts.AccountManager$2
+android.accounts.AccountManager$1
 android.accounts.AccountManager$20
-android.accounts.AccountManager$AmsTask
+android.accounts.AccountManager$2
 android.accounts.AccountManager$AmsTask$1
 android.accounts.AccountManager$AmsTask$Response
-android.accounts.AccountManager$BaseFutureTask
+android.accounts.AccountManager$AmsTask
 android.accounts.AccountManager$BaseFutureTask$1
 android.accounts.AccountManager$BaseFutureTask$Response
-android.accounts.AccountManager$Future2Task
+android.accounts.AccountManager$BaseFutureTask
 android.accounts.AccountManager$Future2Task$1
+android.accounts.AccountManager$Future2Task
+android.accounts.AccountManager
 android.accounts.AccountManagerCallback
 android.accounts.AccountManagerFuture
 android.accounts.AccountsException
-android.accounts.AuthenticatorDescription
 android.accounts.AuthenticatorDescription$1
+android.accounts.AuthenticatorDescription
 android.accounts.AuthenticatorException
-android.accounts.IAccountManager
-android.accounts.IAccountManager$Stub
 android.accounts.IAccountManager$Stub$Proxy
-android.accounts.IAccountManagerResponse
+android.accounts.IAccountManager$Stub
+android.accounts.IAccountManager
 android.accounts.IAccountManagerResponse$Stub
+android.accounts.IAccountManagerResponse
 android.accounts.OnAccountsUpdateListener
 android.accounts.OperationCanceledException
-android.animation.AnimationHandler
 android.animation.AnimationHandler$1
 android.animation.AnimationHandler$AnimationFrameCallback
 android.animation.AnimationHandler$AnimationFrameCallbackProvider
 android.animation.AnimationHandler$MyFrameCallbackProvider
-android.animation.Animator
+android.animation.AnimationHandler
 android.animation.Animator$AnimatorConstantState
 android.animation.Animator$AnimatorListener
 android.animation.Animator$AnimatorPauseListener
-android.animation.AnimatorInflater
+android.animation.Animator
 android.animation.AnimatorInflater$PathDataEvaluator
+android.animation.AnimatorInflater
 android.animation.AnimatorListenerAdapter
-android.animation.AnimatorSet
 android.animation.AnimatorSet$1
 android.animation.AnimatorSet$2
 android.animation.AnimatorSet$3
@@ -74,48 +73,49 @@
 android.animation.AnimatorSet$Builder
 android.animation.AnimatorSet$Node
 android.animation.AnimatorSet$SeekState
+android.animation.AnimatorSet
 android.animation.ArgbEvaluator
 android.animation.FloatEvaluator
 android.animation.FloatKeyframeSet
 android.animation.IntEvaluator
 android.animation.IntKeyframeSet
-android.animation.Keyframe
 android.animation.Keyframe$FloatKeyframe
 android.animation.Keyframe$IntKeyframe
 android.animation.Keyframe$ObjectKeyframe
+android.animation.Keyframe
 android.animation.KeyframeSet
-android.animation.Keyframes
 android.animation.Keyframes$FloatKeyframes
 android.animation.Keyframes$IntKeyframes
-android.animation.LayoutTransition
+android.animation.Keyframes
 android.animation.LayoutTransition$1
 android.animation.LayoutTransition$2
 android.animation.LayoutTransition$4
 android.animation.LayoutTransition$5
 android.animation.LayoutTransition$CleanupCallback
 android.animation.LayoutTransition$TransitionListener
+android.animation.LayoutTransition
 android.animation.ObjectAnimator
-android.animation.PathKeyframes
 android.animation.PathKeyframes$1
 android.animation.PathKeyframes$2
 android.animation.PathKeyframes$FloatKeyframesBase
 android.animation.PathKeyframes$IntKeyframesBase
 android.animation.PathKeyframes$SimpleKeyframes
-android.animation.PropertyValuesHolder
+android.animation.PathKeyframes
 android.animation.PropertyValuesHolder$FloatPropertyValuesHolder
 android.animation.PropertyValuesHolder$IntPropertyValuesHolder
 android.animation.PropertyValuesHolder$PropertyValues
+android.animation.PropertyValuesHolder
 android.animation.RectEvaluator
-android.animation.StateListAnimator
 android.animation.StateListAnimator$1
 android.animation.StateListAnimator$StateListAnimatorConstantState
 android.animation.StateListAnimator$Tuple
-android.animation.TimeAnimator
+android.animation.StateListAnimator
 android.animation.TimeAnimator$TimeListener
+android.animation.TimeAnimator
 android.animation.TimeInterpolator
 android.animation.TypeEvaluator
-android.animation.ValueAnimator
 android.animation.ValueAnimator$AnimatorUpdateListener
+android.animation.ValueAnimator
 android.app.-$$Lambda$ActivityThread$ActivityClientRecord$HOrG1qglSjSUHSjKBn2rXtX0gGg
 android.app.-$$Lambda$ActivityThread$ApplicationThread$tUGFX7CUhzB4Pg5wFd5yeqOnu38
 android.app.-$$Lambda$ActivityThread$ZXDWm3IBeFmLnFVblhB-IOZCr9o
@@ -125,41 +125,44 @@
 android.app.-$$Lambda$ResourcesManager$QJ7UiVk_XS90KuXAsIjIEym1DnM
 android.app.-$$Lambda$SharedPreferencesImpl$EditorImpl$3CAjkhzA131V3V-sLfP2uy0FWZ0
 android.app.-$$Lambda$oslF4K8Uk6v-6nTRoaEpCmfAptE
-android.app.ActionBar
 android.app.ActionBar$LayoutParams
-android.app.Activity
+android.app.ActionBar
 android.app.Activity$HostCallbacks
-android.app.ActivityManager
+android.app.Activity$NonConfigurationInstances
+android.app.Activity
 android.app.ActivityManager$1
 android.app.ActivityManager$AppTask
-android.app.ActivityManager$MemoryInfo
 android.app.ActivityManager$MemoryInfo$1
+android.app.ActivityManager$MemoryInfo
 android.app.ActivityManager$OnUidImportanceListener
-android.app.ActivityManager$RecentTaskInfo
 android.app.ActivityManager$RecentTaskInfo$1
-android.app.ActivityManager$RunningAppProcessInfo
+android.app.ActivityManager$RecentTaskInfo
 android.app.ActivityManager$RunningAppProcessInfo$1
-android.app.ActivityManager$RunningServiceInfo
+android.app.ActivityManager$RunningAppProcessInfo
 android.app.ActivityManager$RunningServiceInfo$1
-android.app.ActivityManager$RunningTaskInfo
+android.app.ActivityManager$RunningServiceInfo
 android.app.ActivityManager$RunningTaskInfo$1
-android.app.ActivityManager$StackId
-android.app.ActivityManager$TaskDescription
+android.app.ActivityManager$RunningTaskInfo
 android.app.ActivityManager$TaskDescription$1
+android.app.ActivityManager$TaskDescription
 android.app.ActivityManager$UidObserver
+android.app.ActivityManager
 android.app.ActivityOptions
-android.app.ActivityThread
+android.app.ActivityTaskManager$1
+android.app.ActivityTaskManager
 android.app.ActivityThread$1
 android.app.ActivityThread$2
 android.app.ActivityThread$ActivityClientRecord
+android.app.ActivityThread$AndroidOs
 android.app.ActivityThread$AppBindData
+android.app.ActivityThread$ApplicationThread$1
 android.app.ActivityThread$ApplicationThread
 android.app.ActivityThread$BindServiceData
 android.app.ActivityThread$ContextCleanupInfo
 android.app.ActivityThread$CreateBackupAgentData
 android.app.ActivityThread$CreateServiceData
-android.app.ActivityThread$DropBoxReporter
-android.app.ActivityThread$EventLoggingReporter
+android.app.ActivityThread$DumpComponentInfo
+android.app.ActivityThread$DumpHeapData
 android.app.ActivityThread$GcIdler
 android.app.ActivityThread$H
 android.app.ActivityThread$Idler
@@ -167,127 +170,133 @@
 android.app.ActivityThread$ProviderClientRecord
 android.app.ActivityThread$ProviderKey
 android.app.ActivityThread$ProviderRefCount
+android.app.ActivityThread$PurgeIdler
 android.app.ActivityThread$ReceiverData
 android.app.ActivityThread$RequestAssistContextExtras
 android.app.ActivityThread$ServiceArgsData
+android.app.ActivityThread$UpdateCompatibilityData
+android.app.ActivityThread
 android.app.ActivityTransitionState
-android.app.AlarmManager
 android.app.AlarmManager$ListenerWrapper
-android.app.AlertDialog
+android.app.AlarmManager
 android.app.AlertDialog$Builder
+android.app.AlertDialog
 android.app.AppComponentFactory
+android.app.AppDetailsActivity
 android.app.AppGlobals
-android.app.AppOpsManager
 android.app.AppOpsManager$OnOpChangedListener
-android.app.Application
+android.app.AppOpsManager
 android.app.Application$ActivityLifecycleCallbacks
+android.app.Application
 android.app.ApplicationErrorReport$CrashInfo
 android.app.ApplicationLoaders
-android.app.ApplicationPackageManager
 android.app.ApplicationPackageManager$OnPermissionsChangeListenerDelegate
 android.app.ApplicationPackageManager$ResourceName
-android.app.BackStackRecord
+android.app.ApplicationPackageManager
 android.app.BackStackRecord$Op
+android.app.BackStackRecord
 android.app.ClientTransactionHandler
-android.app.ContentProviderHolder
 android.app.ContentProviderHolder$1
-android.app.ContextImpl
+android.app.ContentProviderHolder
 android.app.ContextImpl$1
 android.app.ContextImpl$ApplicationContentResolver
+android.app.ContextImpl
 android.app.DexLoadReporter
-android.app.Dialog
 android.app.Dialog$ListenersHandler
+android.app.Dialog
 android.app.DialogFragment
 android.app.DownloadManager
-android.app.Fragment
 android.app.Fragment$1
 android.app.Fragment$AnimationInfo
 android.app.Fragment$OnStartEnterTransitionListener
+android.app.Fragment
 android.app.FragmentContainer
 android.app.FragmentController
 android.app.FragmentHostCallback
-android.app.FragmentManager
 android.app.FragmentManager$BackStackEntry
-android.app.FragmentManagerImpl
+android.app.FragmentManager
 android.app.FragmentManagerImpl$1
 android.app.FragmentManagerImpl$OpGenerator
-android.app.FragmentManagerState
+android.app.FragmentManagerImpl
 android.app.FragmentManagerState$1
-android.app.FragmentState
+android.app.FragmentManagerState
 android.app.FragmentState$1
+android.app.FragmentState
 android.app.FragmentTransaction
-android.app.FragmentTransition
 android.app.FragmentTransition$FragmentContainerTransition
-android.app.IActivityManager
-android.app.IActivityManager$Stub
+android.app.FragmentTransition
 android.app.IActivityManager$Stub$Proxy
+android.app.IActivityManager$Stub
+android.app.IActivityManager
+android.app.IActivityTaskManager$Stub$Proxy
+android.app.IActivityTaskManager$Stub
+android.app.IActivityTaskManager
 android.app.IAlarmCompleteListener
-android.app.IAlarmListener
 android.app.IAlarmListener$Stub
-android.app.IAlarmManager
-android.app.IAlarmManager$Stub
+android.app.IAlarmListener
 android.app.IAlarmManager$Stub$Proxy
-android.app.IAppTask
-android.app.IAppTask$Stub
+android.app.IAlarmManager$Stub
+android.app.IAlarmManager
 android.app.IAppTask$Stub$Proxy
-android.app.IApplicationThread
+android.app.IAppTask$Stub
+android.app.IAppTask
 android.app.IApplicationThread$Stub
-android.app.IBackupAgent
+android.app.IApplicationThread
 android.app.IBackupAgent$Stub
-android.app.IInstrumentationWatcher
+android.app.IBackupAgent
 android.app.IInstrumentationWatcher$Stub
-android.app.INotificationManager
-android.app.INotificationManager$Stub
+android.app.IInstrumentationWatcher
 android.app.INotificationManager$Stub$Proxy
-android.app.IProcessObserver
+android.app.INotificationManager$Stub
+android.app.INotificationManager
 android.app.IProcessObserver$Stub
-android.app.ISearchManager
+android.app.IProcessObserver
 android.app.ISearchManager$Stub
-android.app.IServiceConnection
+android.app.ISearchManager
 android.app.IServiceConnection$Stub
-android.app.ITransientNotification
+android.app.IServiceConnection
 android.app.ITransientNotification$Stub
-android.app.IUiAutomationConnection
+android.app.ITransientNotification
 android.app.IUiAutomationConnection$Stub
-android.app.IUiModeManager
-android.app.IUiModeManager$Stub
+android.app.IUiAutomationConnection
 android.app.IUiModeManager$Stub$Proxy
-android.app.IUidObserver
+android.app.IUiModeManager$Stub
+android.app.IUiModeManager
 android.app.IUidObserver$Stub
-android.app.IUserSwitchObserver
+android.app.IUidObserver
 android.app.IUserSwitchObserver$Stub
-android.app.IWallpaperManager
-android.app.IWallpaperManager$Stub
+android.app.IUserSwitchObserver
 android.app.IWallpaperManager$Stub$Proxy
-android.app.IWallpaperManagerCallback
+android.app.IWallpaperManager$Stub
+android.app.IWallpaperManager
 android.app.IWallpaperManagerCallback$Stub
+android.app.IWallpaperManagerCallback
 android.app.Instrumentation
 android.app.IntentReceiverLeaked
-android.app.IntentService
 android.app.IntentService$ServiceHandler
+android.app.IntentService
 android.app.JobSchedulerImpl
 android.app.KeyguardManager
 android.app.ListActivity
-android.app.LoadedApk
-android.app.LoadedApk$ReceiverDispatcher
 android.app.LoadedApk$ReceiverDispatcher$Args
 android.app.LoadedApk$ReceiverDispatcher$InnerReceiver
-android.app.LoadedApk$ServiceDispatcher
+android.app.LoadedApk$ReceiverDispatcher
 android.app.LoadedApk$ServiceDispatcher$ConnectionInfo
 android.app.LoadedApk$ServiceDispatcher$DeathMonitor
 android.app.LoadedApk$ServiceDispatcher$InnerConnection
 android.app.LoadedApk$ServiceDispatcher$RunConnection
+android.app.LoadedApk$ServiceDispatcher
 android.app.LoadedApk$WarningContextClassLoader
-android.app.LoaderManager
+android.app.LoadedApk
 android.app.LoaderManager$LoaderCallbacks
-android.app.LoaderManagerImpl
+android.app.LoaderManager
 android.app.LoaderManagerImpl$LoaderInfo
+android.app.LoaderManagerImpl
 android.app.NativeActivity
-android.app.Notification
 android.app.Notification$1
-android.app.Notification$Action
 android.app.Notification$Action$1
 android.app.Notification$Action$Builder
+android.app.Notification$Action
 android.app.Notification$BigPictureStyle
 android.app.Notification$BigTextStyle
 android.app.Notification$Builder
@@ -296,58 +305,75 @@
 android.app.Notification$DecoratedMediaCustomViewStyle
 android.app.Notification$InboxStyle
 android.app.Notification$MediaStyle
-android.app.Notification$MessagingStyle
 android.app.Notification$MessagingStyle$Message
+android.app.Notification$MessagingStyle
 android.app.Notification$StandardTemplateParams
 android.app.Notification$Style
-android.app.NotificationChannel
+android.app.Notification
 android.app.NotificationChannel$1
-android.app.NotificationChannelGroup
+android.app.NotificationChannel
 android.app.NotificationChannelGroup$1
+android.app.NotificationChannelGroup
+android.app.NotificationManager$Policy$1
+android.app.NotificationManager$Policy
 android.app.NotificationManager
 android.app.OnActivityPausedListener
-android.app.PendingIntent
 android.app.PendingIntent$1
 android.app.PendingIntent$2
 android.app.PendingIntent$CanceledException
 android.app.PendingIntent$OnMarshaledListener
-android.app.Person
+android.app.PendingIntent
 android.app.Person$1
 android.app.Person$Builder
-android.app.ProfilerInfo
+android.app.Person
 android.app.ProfilerInfo$1
-android.app.QueuedWork
+android.app.ProfilerInfo
 android.app.QueuedWork$QueuedWorkHandler
+android.app.QueuedWork
 android.app.ReceiverRestrictedContext
 android.app.RemoteAction$1
-android.app.RemoteInput
 android.app.RemoteInput$1
-android.app.ResourcesManager
+android.app.RemoteInput
 android.app.ResourcesManager$1
 android.app.ResourcesManager$ActivityResources
 android.app.ResourcesManager$ApkKey
-android.app.ResultInfo
+android.app.ResourcesManager
 android.app.ResultInfo$1
+android.app.ResultInfo
 android.app.SearchManager
 android.app.Service
 android.app.ServiceConnectionLeaked
-android.app.ServiceStartArgs
 android.app.ServiceStartArgs$1
-android.app.SharedElementCallback
+android.app.ServiceStartArgs
 android.app.SharedElementCallback$1
-android.app.SharedPreferencesImpl
+android.app.SharedElementCallback
 android.app.SharedPreferencesImpl$1
 android.app.SharedPreferencesImpl$2
-android.app.SharedPreferencesImpl$EditorImpl
 android.app.SharedPreferencesImpl$EditorImpl$1
 android.app.SharedPreferencesImpl$EditorImpl$2
+android.app.SharedPreferencesImpl$EditorImpl
 android.app.SharedPreferencesImpl$MemoryCommitResult
-android.app.StatsManager
+android.app.SharedPreferencesImpl
 android.app.StatsManager$StatsUnavailableException
+android.app.StatsManager
 android.app.StatusBarManager
-android.app.SystemServiceRegistry
-android.app.SystemServiceRegistry$1
+android.app.SystemServiceRegistry$100
+android.app.SystemServiceRegistry$101
+android.app.SystemServiceRegistry$102
+android.app.SystemServiceRegistry$103
+android.app.SystemServiceRegistry$104
+android.app.SystemServiceRegistry$105
+android.app.SystemServiceRegistry$106
+android.app.SystemServiceRegistry$107
+android.app.SystemServiceRegistry$108
+android.app.SystemServiceRegistry$109
 android.app.SystemServiceRegistry$10
+android.app.SystemServiceRegistry$110
+android.app.SystemServiceRegistry$111
+android.app.SystemServiceRegistry$112
+android.app.SystemServiceRegistry$113
+android.app.SystemServiceRegistry$114
+android.app.SystemServiceRegistry$115
 android.app.SystemServiceRegistry$11
 android.app.SystemServiceRegistry$12
 android.app.SystemServiceRegistry$13
@@ -357,7 +383,7 @@
 android.app.SystemServiceRegistry$17
 android.app.SystemServiceRegistry$18
 android.app.SystemServiceRegistry$19
-android.app.SystemServiceRegistry$2
+android.app.SystemServiceRegistry$1
 android.app.SystemServiceRegistry$20
 android.app.SystemServiceRegistry$21
 android.app.SystemServiceRegistry$22
@@ -368,7 +394,7 @@
 android.app.SystemServiceRegistry$27
 android.app.SystemServiceRegistry$28
 android.app.SystemServiceRegistry$29
-android.app.SystemServiceRegistry$3
+android.app.SystemServiceRegistry$2
 android.app.SystemServiceRegistry$30
 android.app.SystemServiceRegistry$31
 android.app.SystemServiceRegistry$32
@@ -379,7 +405,7 @@
 android.app.SystemServiceRegistry$37
 android.app.SystemServiceRegistry$38
 android.app.SystemServiceRegistry$39
-android.app.SystemServiceRegistry$4
+android.app.SystemServiceRegistry$3
 android.app.SystemServiceRegistry$40
 android.app.SystemServiceRegistry$41
 android.app.SystemServiceRegistry$42
@@ -390,7 +416,7 @@
 android.app.SystemServiceRegistry$47
 android.app.SystemServiceRegistry$48
 android.app.SystemServiceRegistry$49
-android.app.SystemServiceRegistry$5
+android.app.SystemServiceRegistry$4
 android.app.SystemServiceRegistry$50
 android.app.SystemServiceRegistry$51
 android.app.SystemServiceRegistry$52
@@ -401,7 +427,7 @@
 android.app.SystemServiceRegistry$57
 android.app.SystemServiceRegistry$58
 android.app.SystemServiceRegistry$59
-android.app.SystemServiceRegistry$6
+android.app.SystemServiceRegistry$5
 android.app.SystemServiceRegistry$60
 android.app.SystemServiceRegistry$61
 android.app.SystemServiceRegistry$62
@@ -412,7 +438,7 @@
 android.app.SystemServiceRegistry$67
 android.app.SystemServiceRegistry$68
 android.app.SystemServiceRegistry$69
-android.app.SystemServiceRegistry$7
+android.app.SystemServiceRegistry$6
 android.app.SystemServiceRegistry$70
 android.app.SystemServiceRegistry$71
 android.app.SystemServiceRegistry$72
@@ -423,7 +449,7 @@
 android.app.SystemServiceRegistry$77
 android.app.SystemServiceRegistry$78
 android.app.SystemServiceRegistry$79
-android.app.SystemServiceRegistry$8
+android.app.SystemServiceRegistry$7
 android.app.SystemServiceRegistry$80
 android.app.SystemServiceRegistry$81
 android.app.SystemServiceRegistry$82
@@ -434,36 +460,56 @@
 android.app.SystemServiceRegistry$87
 android.app.SystemServiceRegistry$88
 android.app.SystemServiceRegistry$89
-android.app.SystemServiceRegistry$9
+android.app.SystemServiceRegistry$8
 android.app.SystemServiceRegistry$90
 android.app.SystemServiceRegistry$91
 android.app.SystemServiceRegistry$92
 android.app.SystemServiceRegistry$93
+android.app.SystemServiceRegistry$94
+android.app.SystemServiceRegistry$95
+android.app.SystemServiceRegistry$96
+android.app.SystemServiceRegistry$97
+android.app.SystemServiceRegistry$98
+android.app.SystemServiceRegistry$99
+android.app.SystemServiceRegistry$9
 android.app.SystemServiceRegistry$CachedServiceFetcher
 android.app.SystemServiceRegistry$ServiceFetcher
 android.app.SystemServiceRegistry$StaticApplicationContextServiceFetcher
 android.app.SystemServiceRegistry$StaticServiceFetcher
+android.app.SystemServiceRegistry
+android.app.TaskInfo
 android.app.UiModeManager
+android.app.UriGrantsManager
 android.app.UserSwitchObserver
 android.app.VrManager
-android.app.WallpaperColors
 android.app.WallpaperColors$1
+android.app.WallpaperColors
 android.app.WallpaperInfo$1
-android.app.WallpaperManager
 android.app.WallpaperManager$Globals
-android.app.WindowConfiguration
+android.app.WallpaperManager
 android.app.WindowConfiguration$1
+android.app.WindowConfiguration
+android.app.admin.DeviceAdminInfo$1
+android.app.admin.DeviceAdminInfo$PolicyInfo
+android.app.admin.DeviceAdminInfo
+android.app.admin.DevicePolicyManager$1
+android.app.admin.DevicePolicyManager$2
+android.app.admin.DevicePolicyManager$OnClearApplicationUserDataListener
 android.app.admin.DevicePolicyManager
-android.app.admin.IDevicePolicyManager
-android.app.admin.IDevicePolicyManager$Stub
 android.app.admin.IDevicePolicyManager$Stub$Proxy
-android.app.admin.SecurityLog
-android.app.admin.SecurityLog$SecurityEvent
+android.app.admin.IDevicePolicyManager$Stub
+android.app.admin.IDevicePolicyManager
+android.app.admin.PasswordMetrics
 android.app.admin.SecurityLog$SecurityEvent$1
+android.app.admin.SecurityLog$SecurityEvent
+android.app.admin.SecurityLog
+android.app.admin.StartInstallingUpdateCallback$Stub
+android.app.admin.StartInstallingUpdateCallback
+android.app.admin.SystemUpdateInfo
 android.app.admin.SystemUpdatePolicy$1
-android.app.assist.AssistContent
+android.app.admin.SystemUpdatePolicy
 android.app.assist.AssistContent$1
-android.app.assist.AssistStructure
+android.app.assist.AssistContent
 android.app.assist.AssistStructure$1
 android.app.assist.AssistStructure$ParcelTransferReader
 android.app.assist.AssistStructure$ParcelTransferWriter
@@ -473,480 +519,540 @@
 android.app.assist.AssistStructure$ViewNodeText
 android.app.assist.AssistStructure$ViewStackEntry
 android.app.assist.AssistStructure$WindowNode
-android.app.backup.BackupAgent
+android.app.assist.AssistStructure
 android.app.backup.BackupAgent$BackupServiceBinder
 android.app.backup.BackupAgent$SharedPrefsSynchronizer
+android.app.backup.BackupAgent
 android.app.backup.BackupAgentHelper
-android.app.backup.BackupDataInput
 android.app.backup.BackupDataInput$EntityHeader
+android.app.backup.BackupDataInput
 android.app.backup.BackupDataOutput
 android.app.backup.BackupHelper
-android.app.backup.BackupHelperDispatcher
 android.app.backup.BackupHelperDispatcher$Header
+android.app.backup.BackupHelperDispatcher
 android.app.backup.BackupManager
-android.app.backup.BackupTransport
 android.app.backup.BackupTransport$TransportImpl
+android.app.backup.BackupTransport
 android.app.backup.FileBackupHelperBase
 android.app.backup.FullBackup
 android.app.backup.FullBackupDataOutput
-android.app.backup.IBackupManager
-android.app.backup.IBackupManager$Stub
 android.app.backup.IBackupManager$Stub$Proxy
+android.app.backup.IBackupManager$Stub
+android.app.backup.IBackupManager
 android.app.backup.SharedPreferencesBackupHelper
-android.app.job.IJobCallback
-android.app.job.IJobCallback$Stub
+android.app.contentsuggestions.ContentSuggestionsManager
 android.app.job.IJobCallback$Stub$Proxy
-android.app.job.IJobScheduler
-android.app.job.IJobScheduler$Stub
+android.app.job.IJobCallback$Stub
+android.app.job.IJobCallback
 android.app.job.IJobScheduler$Stub$Proxy
-android.app.job.IJobService
+android.app.job.IJobScheduler$Stub
+android.app.job.IJobScheduler
 android.app.job.IJobService$Stub
-android.app.job.JobInfo
+android.app.job.IJobService
 android.app.job.JobInfo$1
 android.app.job.JobInfo$Builder
-android.app.job.JobInfo$TriggerContentUri
 android.app.job.JobInfo$TriggerContentUri$1
-android.app.job.JobParameters
+android.app.job.JobInfo$TriggerContentUri
+android.app.job.JobInfo
 android.app.job.JobParameters$1
+android.app.job.JobParameters
 android.app.job.JobScheduler
-android.app.job.JobService
 android.app.job.JobService$1
-android.app.job.JobServiceEngine
+android.app.job.JobService
 android.app.job.JobServiceEngine$JobHandler
 android.app.job.JobServiceEngine$JobInterface
-android.app.job.JobWorkItem
+android.app.job.JobServiceEngine
 android.app.job.JobWorkItem$1
+android.app.job.JobWorkItem
+android.app.prediction.AppPredictionManager
+android.app.role.IRoleManager$Stub$Proxy
+android.app.role.IRoleManager$Stub
+android.app.role.IRoleManager
+android.app.role.IRoleManagerCallback$Stub
+android.app.role.IRoleManagerCallback
+android.app.role.RoleManager
 android.app.servertransaction.ActivityLifecycleItem
-android.app.servertransaction.ActivityResultItem
+android.app.servertransaction.ActivityRelaunchItem
 android.app.servertransaction.ActivityResultItem$1
+android.app.servertransaction.ActivityResultItem
 android.app.servertransaction.BaseClientRequest
-android.app.servertransaction.ClientTransaction
 android.app.servertransaction.ClientTransaction$1
+android.app.servertransaction.ClientTransaction
 android.app.servertransaction.ClientTransactionItem
-android.app.servertransaction.ConfigurationChangeItem
 android.app.servertransaction.ConfigurationChangeItem$1
-android.app.servertransaction.DestroyActivityItem
+android.app.servertransaction.ConfigurationChangeItem
 android.app.servertransaction.DestroyActivityItem$1
-android.app.servertransaction.LaunchActivityItem
+android.app.servertransaction.DestroyActivityItem
 android.app.servertransaction.LaunchActivityItem$1
-android.app.servertransaction.NewIntentItem
+android.app.servertransaction.LaunchActivityItem
 android.app.servertransaction.NewIntentItem$1
+android.app.servertransaction.NewIntentItem
 android.app.servertransaction.ObjectPoolItem
-android.app.servertransaction.PauseActivityItem
 android.app.servertransaction.PauseActivityItem$1
-android.app.servertransaction.PendingTransactionActions
+android.app.servertransaction.PauseActivityItem
 android.app.servertransaction.PendingTransactionActions$StopInfo
-android.app.servertransaction.ResumeActivityItem
+android.app.servertransaction.PendingTransactionActions
 android.app.servertransaction.ResumeActivityItem$1
-android.app.servertransaction.StopActivityItem
+android.app.servertransaction.ResumeActivityItem
 android.app.servertransaction.StopActivityItem$1
+android.app.servertransaction.StopActivityItem
+android.app.servertransaction.TopResumedActivityChangeItem$1
+android.app.servertransaction.TopResumedActivityChangeItem
 android.app.servertransaction.TransactionExecutor
 android.app.servertransaction.TransactionExecutorHelper
-android.app.servertransaction.WindowVisibilityItem
 android.app.servertransaction.WindowVisibilityItem$1
-android.app.slice.ISliceManager
-android.app.slice.ISliceManager$Stub
+android.app.servertransaction.WindowVisibilityItem
+android.app.slice.-$$Lambda$SliceProvider$bIgM5f4PsMvz_YYWEeFTjvTqevw
 android.app.slice.ISliceManager$Stub$Proxy
+android.app.slice.ISliceManager$Stub
+android.app.slice.ISliceManager
+android.app.slice.Slice$1
+android.app.slice.Slice$Builder
+android.app.slice.Slice
+android.app.slice.SliceItem$1
+android.app.slice.SliceItem
 android.app.slice.SliceManager
-android.app.slice.SliceSpec
+android.app.slice.SliceProvider
 android.app.slice.SliceSpec$1
+android.app.slice.SliceSpec
+android.app.timedetector.ITimeDetectorService$Stub$Proxy
+android.app.timedetector.ITimeDetectorService$Stub
+android.app.timedetector.ITimeDetectorService
+android.app.timedetector.TimeDetector
 android.app.timezone.RulesManager
-android.app.trust.ITrustManager
-android.app.trust.ITrustManager$Stub
 android.app.trust.ITrustManager$Stub$Proxy
+android.app.trust.ITrustManager$Stub
+android.app.trust.ITrustManager
 android.app.trust.TrustManager
-android.app.usage.AppStandbyInfo
 android.app.usage.AppStandbyInfo$1
-android.app.usage.IStorageStatsManager
-android.app.usage.IStorageStatsManager$Stub
+android.app.usage.AppStandbyInfo
+android.app.usage.CacheQuotaHint$1
+android.app.usage.CacheQuotaHint$Builder
+android.app.usage.CacheQuotaHint
+android.app.usage.CacheQuotaService$CacheQuotaServiceWrapper
+android.app.usage.CacheQuotaService$ServiceHandler
+android.app.usage.CacheQuotaService
+android.app.usage.ICacheQuotaService$Stub
 android.app.usage.IStorageStatsManager$Stub$Proxy
-android.app.usage.IUsageStatsManager
-android.app.usage.IUsageStatsManager$Stub
+android.app.usage.IStorageStatsManager$Stub
+android.app.usage.IStorageStatsManager
 android.app.usage.IUsageStatsManager$Stub$Proxy
+android.app.usage.IUsageStatsManager$Stub
+android.app.usage.IUsageStatsManager
 android.app.usage.NetworkStatsManager
-android.app.usage.StorageStats
 android.app.usage.StorageStats$1
+android.app.usage.StorageStats
 android.app.usage.StorageStatsManager
-android.app.usage.UsageEvents
 android.app.usage.UsageEvents$1
 android.app.usage.UsageEvents$Event
-android.app.usage.UsageStats
+android.app.usage.UsageEvents
 android.app.usage.UsageStats$1
+android.app.usage.UsageStats
 android.app.usage.UsageStatsManager
 android.appwidget.AppWidgetManager
 android.appwidget.AppWidgetProvider
-android.bluetooth.BluetoothA2dp
 android.bluetooth.BluetoothA2dp$1
 android.bluetooth.BluetoothA2dp$2
-android.bluetooth.BluetoothActivityEnergyInfo
+android.bluetooth.BluetoothA2dp
 android.bluetooth.BluetoothActivityEnergyInfo$1
-android.bluetooth.BluetoothAdapter
+android.bluetooth.BluetoothActivityEnergyInfo
 android.bluetooth.BluetoothAdapter$1
-android.bluetooth.BluetoothClass
+android.bluetooth.BluetoothAdapter$2
+android.bluetooth.BluetoothAdapter
 android.bluetooth.BluetoothClass$1
-android.bluetooth.BluetoothCodecConfig
+android.bluetooth.BluetoothClass
 android.bluetooth.BluetoothCodecConfig$1
-android.bluetooth.BluetoothDevice
+android.bluetooth.BluetoothCodecConfig
 android.bluetooth.BluetoothDevice$1
 android.bluetooth.BluetoothDevice$2
-android.bluetooth.BluetoothHeadset
+android.bluetooth.BluetoothDevice
 android.bluetooth.BluetoothHeadset$1
 android.bluetooth.BluetoothHeadset$2
 android.bluetooth.BluetoothHeadset$3
+android.bluetooth.BluetoothHeadset
+android.bluetooth.BluetoothHearingAid
+android.bluetooth.BluetoothHidDevice
+android.bluetooth.BluetoothHidHost
 android.bluetooth.BluetoothInputStream
 android.bluetooth.BluetoothManager
+android.bluetooth.BluetoothMap
 android.bluetooth.BluetoothOutputStream
-android.bluetooth.BluetoothProfile
+android.bluetooth.BluetoothPan
+android.bluetooth.BluetoothPbap
 android.bluetooth.BluetoothProfile$ServiceListener
+android.bluetooth.BluetoothProfile
+android.bluetooth.BluetoothSap
 android.bluetooth.BluetoothServerSocket
-android.bluetooth.BluetoothSocket
 android.bluetooth.BluetoothSocket$SocketState
+android.bluetooth.BluetoothSocket
 android.bluetooth.BluetoothUuid
-android.bluetooth.IBluetooth
-android.bluetooth.IBluetooth$Stub
 android.bluetooth.IBluetooth$Stub$Proxy
-android.bluetooth.IBluetoothA2dp
-android.bluetooth.IBluetoothA2dp$Stub
+android.bluetooth.IBluetooth$Stub
+android.bluetooth.IBluetooth
 android.bluetooth.IBluetoothA2dp$Stub$Proxy
-android.bluetooth.IBluetoothAvrcpTarget
+android.bluetooth.IBluetoothA2dp$Stub
+android.bluetooth.IBluetoothA2dp
 android.bluetooth.IBluetoothAvrcpTarget$Stub
-android.bluetooth.IBluetoothCallback
-android.bluetooth.IBluetoothCallback$Stub
+android.bluetooth.IBluetoothAvrcpTarget
 android.bluetooth.IBluetoothCallback$Stub$Proxy
-android.bluetooth.IBluetoothGatt
-android.bluetooth.IBluetoothGatt$Stub
+android.bluetooth.IBluetoothCallback$Stub
+android.bluetooth.IBluetoothCallback
 android.bluetooth.IBluetoothGatt$Stub$Proxy
-android.bluetooth.IBluetoothHeadset
-android.bluetooth.IBluetoothHeadset$Stub
+android.bluetooth.IBluetoothGatt$Stub
+android.bluetooth.IBluetoothGatt
 android.bluetooth.IBluetoothHeadset$Stub$Proxy
-android.bluetooth.IBluetoothHeadsetPhone
-android.bluetooth.IBluetoothHeadsetPhone$Stub
+android.bluetooth.IBluetoothHeadset$Stub
+android.bluetooth.IBluetoothHeadset
 android.bluetooth.IBluetoothHeadsetPhone$Stub$Proxy
-android.bluetooth.IBluetoothHealth
-android.bluetooth.IBluetoothHealth$Stub
-android.bluetooth.IBluetoothHearingAid
+android.bluetooth.IBluetoothHeadsetPhone$Stub
+android.bluetooth.IBluetoothHeadsetPhone
 android.bluetooth.IBluetoothHearingAid$Stub
-android.bluetooth.IBluetoothHidDevice
+android.bluetooth.IBluetoothHearingAid
 android.bluetooth.IBluetoothHidDevice$Stub
-android.bluetooth.IBluetoothHidHost
+android.bluetooth.IBluetoothHidDevice
 android.bluetooth.IBluetoothHidHost$Stub
-android.bluetooth.IBluetoothManager
-android.bluetooth.IBluetoothManager$Stub
+android.bluetooth.IBluetoothHidHost
 android.bluetooth.IBluetoothManager$Stub$Proxy
-android.bluetooth.IBluetoothManagerCallback
+android.bluetooth.IBluetoothManager$Stub
+android.bluetooth.IBluetoothManager
 android.bluetooth.IBluetoothManagerCallback$Stub
-android.bluetooth.IBluetoothMap
+android.bluetooth.IBluetoothManagerCallback
 android.bluetooth.IBluetoothMap$Stub
-android.bluetooth.IBluetoothPan
+android.bluetooth.IBluetoothMap
+android.bluetooth.IBluetoothMetadataListener$Stub
+android.bluetooth.IBluetoothMetadataListener
 android.bluetooth.IBluetoothPan$Stub
-android.bluetooth.IBluetoothPbap
+android.bluetooth.IBluetoothPan
 android.bluetooth.IBluetoothPbap$Stub
-android.bluetooth.IBluetoothProfileServiceConnection
+android.bluetooth.IBluetoothPbap
 android.bluetooth.IBluetoothProfileServiceConnection$Stub
-android.bluetooth.IBluetoothSap
+android.bluetooth.IBluetoothProfileServiceConnection
 android.bluetooth.IBluetoothSap$Stub
-android.bluetooth.IBluetoothSocketManager
-android.bluetooth.IBluetoothSocketManager$Stub
+android.bluetooth.IBluetoothSap
 android.bluetooth.IBluetoothSocketManager$Stub$Proxy
-android.bluetooth.IBluetoothStateChangeCallback
+android.bluetooth.IBluetoothSocketManager$Stub
+android.bluetooth.IBluetoothSocketManager
 android.bluetooth.IBluetoothStateChangeCallback$Stub
-android.bluetooth.UidTraffic
+android.bluetooth.IBluetoothStateChangeCallback
 android.bluetooth.UidTraffic$1
-android.bluetooth.le.IScannerCallback
+android.bluetooth.UidTraffic
 android.bluetooth.le.IScannerCallback$Stub$Proxy
-android.bluetooth.le.ScanFilter
+android.bluetooth.le.IScannerCallback
 android.bluetooth.le.ScanFilter$1
 android.bluetooth.le.ScanFilter$Builder
+android.bluetooth.le.ScanFilter
 android.bluetooth.le.ScanRecord
-android.bluetooth.le.ScanResult
 android.bluetooth.le.ScanResult$1
-android.bluetooth.le.ScanSettings
+android.bluetooth.le.ScanResult
 android.bluetooth.le.ScanSettings$1
 android.bluetooth.le.ScanSettings$Builder
+android.bluetooth.le.ScanSettings
 android.companion.CompanionDeviceManager
 android.content.-$$Lambda$AbstractThreadedSyncAdapter$ISyncAdapterImpl$L6ZtOCe8gjKwJj0908ytPlrD8Rc
-android.content.AbstractThreadedSyncAdapter
 android.content.AbstractThreadedSyncAdapter$ISyncAdapterImpl
 android.content.AbstractThreadedSyncAdapter$SyncThread
+android.content.AbstractThreadedSyncAdapter
 android.content.ActivityNotFoundException
-android.content.AsyncQueryHandler
 android.content.AsyncQueryHandler$WorkerArgs
 android.content.AsyncQueryHandler$WorkerHandler
-android.content.AsyncTaskLoader
+android.content.AsyncQueryHandler
 android.content.AsyncTaskLoader$LoadTask
-android.content.BroadcastReceiver
-android.content.BroadcastReceiver$PendingResult
+android.content.AsyncTaskLoader
 android.content.BroadcastReceiver$PendingResult$1
-android.content.ClipboardManager
+android.content.BroadcastReceiver$PendingResult
+android.content.BroadcastReceiver
 android.content.ClipboardManager$1
-android.content.ComponentCallbacks
+android.content.ClipboardManager
 android.content.ComponentCallbacks2
-android.content.ComponentName
+android.content.ComponentCallbacks
 android.content.ComponentName$1
-android.content.ContentProvider
+android.content.ComponentName
+android.content.ContentInterface
 android.content.ContentProvider$PipeDataWriter
 android.content.ContentProvider$Transport
-android.content.ContentProviderClient
+android.content.ContentProvider
 android.content.ContentProviderClient$CursorWrapperInner
+android.content.ContentProviderClient
 android.content.ContentProviderNative
-android.content.ContentProviderOperation
 android.content.ContentProviderOperation$1
 android.content.ContentProviderOperation$Builder
+android.content.ContentProviderOperation
 android.content.ContentProviderProxy
-android.content.ContentProviderResult
 android.content.ContentProviderResult$1
-android.content.ContentResolver
+android.content.ContentProviderResult
 android.content.ContentResolver$1
 android.content.ContentResolver$CursorWrapperInner
 android.content.ContentResolver$ParcelFileDescriptorInner
+android.content.ContentResolver
 android.content.ContentUris
-android.content.ContentValues
 android.content.ContentValues$1
+android.content.ContentValues
 android.content.Context
 android.content.ContextWrapper
 android.content.CursorLoader
-android.content.DialogInterface
 android.content.DialogInterface$OnCancelListener
 android.content.DialogInterface$OnClickListener
 android.content.DialogInterface$OnDismissListener
 android.content.DialogInterface$OnKeyListener
 android.content.DialogInterface$OnShowListener
-android.content.IClipboard
-android.content.IClipboard$Stub
+android.content.DialogInterface
 android.content.IClipboard$Stub$Proxy
+android.content.IClipboard$Stub
+android.content.IClipboard
 android.content.IContentProvider
-android.content.IContentService
-android.content.IContentService$Stub
 android.content.IContentService$Stub$Proxy
-android.content.IIntentReceiver
+android.content.IContentService$Stub
+android.content.IContentService
 android.content.IIntentReceiver$Stub
-android.content.IIntentSender
-android.content.IIntentSender$Stub
+android.content.IIntentReceiver
 android.content.IIntentSender$Stub$Proxy
-android.content.IOnPrimaryClipChangedListener
+android.content.IIntentSender$Stub
+android.content.IIntentSender
 android.content.IOnPrimaryClipChangedListener$Stub
-android.content.IRestrictionsManager
+android.content.IOnPrimaryClipChangedListener
 android.content.IRestrictionsManager$Stub
-android.content.ISyncAdapter
+android.content.IRestrictionsManager
 android.content.ISyncAdapter$Stub
-android.content.ISyncAdapterUnsyncableAccountCallback
-android.content.ISyncAdapterUnsyncableAccountCallback$Stub
+android.content.ISyncAdapter
 android.content.ISyncAdapterUnsyncableAccountCallback$Stub$Proxy
-android.content.ISyncContext
-android.content.ISyncContext$Stub
+android.content.ISyncAdapterUnsyncableAccountCallback$Stub
+android.content.ISyncAdapterUnsyncableAccountCallback
 android.content.ISyncContext$Stub$Proxy
-android.content.ISyncStatusObserver
+android.content.ISyncContext$Stub
+android.content.ISyncContext
 android.content.ISyncStatusObserver$Stub
-android.content.Intent
+android.content.ISyncStatusObserver
 android.content.Intent$1
-android.content.IntentFilter
+android.content.Intent
 android.content.IntentFilter$1
 android.content.IntentFilter$AuthorityEntry
 android.content.IntentFilter$MalformedMimeTypeException
-android.content.IntentSender
+android.content.IntentFilter
 android.content.IntentSender$1
 android.content.IntentSender$SendIntentException
-android.content.Loader
+android.content.IntentSender
 android.content.Loader$ForceLoadContentObserver
 android.content.Loader$OnLoadCanceledListener
 android.content.Loader$OnLoadCompleteListener
+android.content.Loader
 android.content.OperationApplicationException
 android.content.PeriodicSync$1
 android.content.ReceiverCallNotAllowedException
 android.content.RestrictionsManager
-android.content.SearchRecentSuggestionsProvider
 android.content.SearchRecentSuggestionsProvider$DatabaseHelper
+android.content.SearchRecentSuggestionsProvider
 android.content.ServiceConnection
-android.content.SharedPreferences
 android.content.SharedPreferences$Editor
 android.content.SharedPreferences$OnSharedPreferenceChangeListener
-android.content.SyncAdapterType
+android.content.SharedPreferences
 android.content.SyncAdapterType$1
+android.content.SyncAdapterType
 android.content.SyncContext
-android.content.SyncRequest
 android.content.SyncRequest$1
 android.content.SyncRequest$Builder
-android.content.SyncResult
+android.content.SyncRequest
 android.content.SyncResult$1
-android.content.SyncStats
+android.content.SyncResult
 android.content.SyncStats$1
+android.content.SyncStats
 android.content.SyncStatusObserver
-android.content.UndoManager
 android.content.UndoManager$UndoState
+android.content.UndoManager
 android.content.UndoOperation
 android.content.UndoOwner
 android.content.UriMatcher
-android.content.pm.-$$Lambda$FMztmpMwSp3D3ge8Zxr31di8ZBg
+android.content.om.OverlayManager
 android.content.pm.-$$Lambda$jpya2qgMDDEok2GAoKRDqPM5lIE
-android.content.pm.ActivityInfo
 android.content.pm.ActivityInfo$1
 android.content.pm.ActivityInfo$WindowLayout
-android.content.pm.ApplicationInfo
+android.content.pm.ActivityInfo
+android.content.pm.AndroidHidlUpdater
 android.content.pm.ApplicationInfo$1
+android.content.pm.ApplicationInfo
 android.content.pm.BaseParceledListSlice
 android.content.pm.ComponentInfo
-android.content.pm.ConfigurationInfo
 android.content.pm.ConfigurationInfo$1
+android.content.pm.ConfigurationInfo
 android.content.pm.CrossProfileApps
-android.content.pm.FeatureGroupInfo
+android.content.pm.FallbackCategoryProvider
 android.content.pm.FeatureGroupInfo$1
-android.content.pm.FeatureInfo
+android.content.pm.FeatureGroupInfo
 android.content.pm.FeatureInfo$1
-android.content.pm.ILauncherApps
-android.content.pm.ILauncherApps$Stub
+android.content.pm.FeatureInfo
 android.content.pm.ILauncherApps$Stub$Proxy
-android.content.pm.IOnAppsChangedListener
+android.content.pm.ILauncherApps$Stub
+android.content.pm.ILauncherApps
 android.content.pm.IOnAppsChangedListener$Stub
-android.content.pm.IOnPermissionsChangeListener
+android.content.pm.IOnAppsChangedListener
 android.content.pm.IOnPermissionsChangeListener$Stub
-android.content.pm.IPackageDataObserver
+android.content.pm.IOnPermissionsChangeListener
 android.content.pm.IPackageDataObserver$Stub
+android.content.pm.IPackageDataObserver
 android.content.pm.IPackageDeleteObserver
-android.content.pm.IPackageInstaller
-android.content.pm.IPackageInstaller$Stub
 android.content.pm.IPackageInstaller$Stub$Proxy
-android.content.pm.IPackageInstallerCallback
+android.content.pm.IPackageInstaller$Stub
+android.content.pm.IPackageInstaller
 android.content.pm.IPackageInstallerCallback$Stub
-android.content.pm.IPackageInstallerSession
+android.content.pm.IPackageInstallerCallback
 android.content.pm.IPackageInstallerSession$Stub$Proxy
-android.content.pm.IPackageManager
-android.content.pm.IPackageManager$Stub
+android.content.pm.IPackageInstallerSession
 android.content.pm.IPackageManager$Stub$Proxy
-android.content.pm.IShortcutService
-android.content.pm.IShortcutService$Stub
+android.content.pm.IPackageManager$Stub
+android.content.pm.IPackageManager
+android.content.pm.IPackageStatsObserver$Stub
 android.content.pm.IShortcutService$Stub$Proxy
-android.content.pm.InstrumentationInfo
+android.content.pm.IShortcutService$Stub
+android.content.pm.IShortcutService
 android.content.pm.InstrumentationInfo$1
-android.content.pm.LauncherApps
+android.content.pm.InstrumentationInfo
 android.content.pm.LauncherApps$1
+android.content.pm.LauncherApps
+android.content.pm.ModuleInfo$1
+android.content.pm.ModuleInfo
 android.content.pm.OrgApacheHttpLegacyUpdater
-android.content.pm.PackageBackwardCompatibility
 android.content.pm.PackageBackwardCompatibility$AndroidTestRunnerSplitUpdater
 android.content.pm.PackageBackwardCompatibility$RemoveUnnecessaryAndroidTestBaseLibrary
-android.content.pm.PackageInfo
+android.content.pm.PackageBackwardCompatibility
 android.content.pm.PackageInfo$1
-android.content.pm.PackageInstaller
+android.content.pm.PackageInfo
 android.content.pm.PackageInstaller$Session
 android.content.pm.PackageInstaller$SessionCallback
-android.content.pm.PackageInstaller$SessionInfo
 android.content.pm.PackageInstaller$SessionInfo$1
-android.content.pm.PackageInstaller$SessionParams
+android.content.pm.PackageInstaller$SessionInfo
 android.content.pm.PackageInstaller$SessionParams$1
+android.content.pm.PackageInstaller$SessionParams
+android.content.pm.PackageInstaller
 android.content.pm.PackageItemInfo
-android.content.pm.PackageManager
 android.content.pm.PackageManager$NameNotFoundException
 android.content.pm.PackageManager$OnPermissionsChangedListener
-android.content.pm.PackageParser
-android.content.pm.PackageParser$Activity
+android.content.pm.PackageManager
+android.content.pm.PackageParser$1
+android.content.pm.PackageParser$2
+android.content.pm.PackageParser$AbstractVersionsAccessor
 android.content.pm.PackageParser$Activity$1
+android.content.pm.PackageParser$Activity
 android.content.pm.PackageParser$ActivityIntentInfo
 android.content.pm.PackageParser$ApkLite
 android.content.pm.PackageParser$CachedComponentArgs
 android.content.pm.PackageParser$Callback
 android.content.pm.PackageParser$CallbackImpl
 android.content.pm.PackageParser$Component
+android.content.pm.PackageParser$IntentInfo
 android.content.pm.PackageParser$NewPermissionInfo
-android.content.pm.PackageParser$Package
 android.content.pm.PackageParser$Package$1
+android.content.pm.PackageParser$Package
 android.content.pm.PackageParser$PackageLite
 android.content.pm.PackageParser$PackageParserException
 android.content.pm.PackageParser$ParseComponentArgs
-android.content.pm.PackageParser$SigningDetails
+android.content.pm.PackageParser$ParsePackageItemArgs
 android.content.pm.PackageParser$SigningDetails$1
+android.content.pm.PackageParser$SigningDetails
 android.content.pm.PackageParser$SplitNameComparator
-android.content.pm.PackageParser$SplitPermissionInfo
+android.content.pm.PackageParser
 android.content.pm.PackageSharedLibraryUpdater
-android.content.pm.PackageStats
 android.content.pm.PackageStats$1
+android.content.pm.PackageStats
 android.content.pm.PackageUserState
-android.content.pm.ParceledListSlice
 android.content.pm.ParceledListSlice$1
-android.content.pm.PathPermission
+android.content.pm.ParceledListSlice
 android.content.pm.PathPermission$1
-android.content.pm.PermissionInfo
+android.content.pm.PathPermission
+android.content.pm.PermissionGroupInfo$1
+android.content.pm.PermissionGroupInfo
 android.content.pm.PermissionInfo$1
-android.content.pm.ProviderInfo
+android.content.pm.PermissionInfo
 android.content.pm.ProviderInfo$1
-android.content.pm.ResolveInfo
+android.content.pm.ProviderInfo
 android.content.pm.ResolveInfo$1
-android.content.pm.ServiceInfo
+android.content.pm.ResolveInfo
+android.content.pm.SELinuxUtil
 android.content.pm.ServiceInfo$1
-android.content.pm.ShortcutInfo
+android.content.pm.ServiceInfo
+android.content.pm.SharedLibraryInfo$1
+android.content.pm.SharedLibraryInfo
 android.content.pm.ShortcutInfo$1
 android.content.pm.ShortcutInfo$Builder
+android.content.pm.ShortcutInfo
 android.content.pm.ShortcutManager
-android.content.pm.Signature
 android.content.pm.Signature$1
+android.content.pm.Signature
 android.content.pm.SigningInfo$1
-android.content.pm.UserInfo
+android.content.pm.StringParceledListSlice
 android.content.pm.UserInfo$1
+android.content.pm.UserInfo
+android.content.pm.VerifierInfo
+android.content.pm.VersionedPackage$1
+android.content.pm.VersionedPackage
 android.content.pm.dex.ArtManager
 android.content.pm.dex.IArtManager
 android.content.pm.split.DefaultSplitAssetLoader
 android.content.pm.split.SplitAssetLoader
+android.content.pm.split.SplitDependencyLoader$IllegalDependencyException
 android.content.res.-$$Lambda$Resources$4msWUw7LKsgLexLZjIfWa4oguq4
 android.content.res.-$$Lambda$ResourcesImpl$99dm2ENnzo9b0SIUjUj2Kl3pi90
 android.content.res.-$$Lambda$ResourcesImpl$h3PTRX185BeQl8SVC2_w9arp5Og
 android.content.res.ApkAssets
-android.content.res.AssetFileDescriptor
 android.content.res.AssetFileDescriptor$1
-android.content.res.AssetManager
+android.content.res.AssetFileDescriptor
 android.content.res.AssetManager$AssetInputStream
 android.content.res.AssetManager$Builder
-android.content.res.ColorStateList
+android.content.res.AssetManager
 android.content.res.ColorStateList$1
 android.content.res.ColorStateList$ColorStateListFactory
+android.content.res.ColorStateList
 android.content.res.CompatResources
-android.content.res.CompatibilityInfo
 android.content.res.CompatibilityInfo$1
 android.content.res.CompatibilityInfo$2
+android.content.res.CompatibilityInfo
 android.content.res.ComplexColor
-android.content.res.Configuration
 android.content.res.Configuration$1
+android.content.res.Configuration
 android.content.res.ConfigurationBoundResourceCache
 android.content.res.ConstantState
 android.content.res.DrawableCache
+android.content.res.FontResourcesParser
 android.content.res.GradientColor
-android.content.res.ObbInfo
 android.content.res.ObbInfo$1
+android.content.res.ObbInfo
 android.content.res.ObbScanner
 android.content.res.ResourceId
-android.content.res.Resources
 android.content.res.Resources$NotFoundException
 android.content.res.Resources$Theme
 android.content.res.Resources$ThemeKey
-android.content.res.ResourcesImpl
+android.content.res.Resources
 android.content.res.ResourcesImpl$LookupStack
 android.content.res.ResourcesImpl$ThemeImpl
+android.content.res.ResourcesImpl
 android.content.res.ResourcesKey
-android.content.res.StringBlock
 android.content.res.StringBlock$StyleIDs
+android.content.res.StringBlock
 android.content.res.ThemedResourceCache
 android.content.res.TypedArray
-android.content.res.XmlBlock
 android.content.res.XmlBlock$Parser
+android.content.res.XmlBlock
 android.content.res.XmlResourceParser
-android.database.AbstractCursor
+android.content.rollback.RollbackManager
 android.database.AbstractCursor$SelfContentObserver
+android.database.AbstractCursor
 android.database.AbstractWindowedCursor
-android.database.BulkCursorDescriptor
 android.database.BulkCursorDescriptor$1
+android.database.BulkCursorDescriptor
 android.database.BulkCursorNative
 android.database.BulkCursorProxy
 android.database.BulkCursorToCursorAdaptor
 android.database.CharArrayBuffer
 android.database.ContentObservable
-android.database.ContentObserver
 android.database.ContentObserver$NotificationRunnable
 android.database.ContentObserver$Transport
+android.database.ContentObserver
 android.database.CrossProcessCursor
 android.database.CrossProcessCursorWrapper
 android.database.Cursor
 android.database.CursorIndexOutOfBoundsException
-android.database.CursorToBulkCursorAdaptor
 android.database.CursorToBulkCursorAdaptor$ContentObserverProxy
-android.database.CursorWindow
+android.database.CursorToBulkCursorAdaptor
 android.database.CursorWindow$1
+android.database.CursorWindow
 android.database.CursorWrapper
 android.database.DataSetObservable
 android.database.DataSetObserver
@@ -954,13 +1060,13 @@
 android.database.DatabaseUtils
 android.database.DefaultDatabaseErrorHandler
 android.database.IBulkCursor
-android.database.IContentObserver
-android.database.IContentObserver$Stub
 android.database.IContentObserver$Stub$Proxy
-android.database.MatrixCursor
+android.database.IContentObserver$Stub
+android.database.IContentObserver
 android.database.MatrixCursor$RowBuilder
-android.database.MergeCursor
+android.database.MatrixCursor
 android.database.MergeCursor$1
+android.database.MergeCursor
 android.database.Observable
 android.database.SQLException
 android.database.sqlite.-$$Lambda$RBWjWVyGrOTsQrLCYzJ_G8Uk25Q
@@ -968,29 +1074,31 @@
 android.database.sqlite.SQLiteCantOpenDatabaseException
 android.database.sqlite.SQLiteClosable
 android.database.sqlite.SQLiteCompatibilityWalFlags
-android.database.sqlite.SQLiteConnection
 android.database.sqlite.SQLiteConnection$Operation
 android.database.sqlite.SQLiteConnection$OperationLog
 android.database.sqlite.SQLiteConnection$PreparedStatement
 android.database.sqlite.SQLiteConnection$PreparedStatementCache
-android.database.sqlite.SQLiteConnectionPool
+android.database.sqlite.SQLiteConnection
 android.database.sqlite.SQLiteConnectionPool$AcquiredConnectionStatus
 android.database.sqlite.SQLiteConnectionPool$ConnectionWaiter
 android.database.sqlite.SQLiteConnectionPool$IdleConnectionHandler
+android.database.sqlite.SQLiteConnectionPool
 android.database.sqlite.SQLiteConstraintException
 android.database.sqlite.SQLiteCursor
 android.database.sqlite.SQLiteCursorDriver
 android.database.sqlite.SQLiteCustomFunction
-android.database.sqlite.SQLiteDatabase
 android.database.sqlite.SQLiteDatabase$1
 android.database.sqlite.SQLiteDatabase$CursorFactory
-android.database.sqlite.SQLiteDatabase$OpenParams
 android.database.sqlite.SQLiteDatabase$OpenParams$Builder
+android.database.sqlite.SQLiteDatabase$OpenParams
+android.database.sqlite.SQLiteDatabase
 android.database.sqlite.SQLiteDatabaseConfiguration
 android.database.sqlite.SQLiteDatabaseCorruptException
 android.database.sqlite.SQLiteDatabaseLockedException
-android.database.sqlite.SQLiteDebug
+android.database.sqlite.SQLiteDebug$Consts
+android.database.sqlite.SQLiteDebug$DbStats
 android.database.sqlite.SQLiteDebug$PagerStats
+android.database.sqlite.SQLiteDebug
 android.database.sqlite.SQLiteDirectCursorDriver
 android.database.sqlite.SQLiteDoneException
 android.database.sqlite.SQLiteException
@@ -1000,8 +1108,8 @@
 android.database.sqlite.SQLiteProgram
 android.database.sqlite.SQLiteQuery
 android.database.sqlite.SQLiteQueryBuilder
-android.database.sqlite.SQLiteSession
 android.database.sqlite.SQLiteSession$Transaction
+android.database.sqlite.SQLiteSession
 android.database.sqlite.SQLiteStatement
 android.database.sqlite.SQLiteStatementInfo
 android.database.sqlite.SQLiteTransactionListener
@@ -1014,6 +1122,7 @@
 android.ddm.DdmHandleThread
 android.ddm.DdmHandleViewDebug
 android.ddm.DdmRegister
+android.debug.AdbManager
 android.graphics.-$$Lambda$ColorSpace$BNp-1CyCzsQzfE-Ads9uc4rJDfw
 android.graphics.-$$Lambda$ColorSpace$Rgb$8EkhO2jIf14tuA3BvrmYJMa7YXM
 android.graphics.-$$Lambda$ColorSpace$Rgb$CqKld6797g7__JnuY0NeFz5q4_E
@@ -1023,34 +1132,37 @@
 android.graphics.-$$Lambda$ColorSpace$S2rlqJvkXGTpUF6mZhvkElds8JE
 android.graphics.BaseCanvas
 android.graphics.BaseRecordingCanvas
-android.graphics.Bitmap
 android.graphics.Bitmap$1
 android.graphics.Bitmap$2
 android.graphics.Bitmap$CompressFormat
 android.graphics.Bitmap$Config
-android.graphics.BitmapFactory
+android.graphics.Bitmap
 android.graphics.BitmapFactory$Options
+android.graphics.BitmapFactory
 android.graphics.BitmapRegionDecoder
 android.graphics.BitmapShader
-android.graphics.BlurMaskFilter
+android.graphics.BlendModeColorFilter
 android.graphics.BlurMaskFilter$Blur
+android.graphics.BlurMaskFilter
 android.graphics.Camera
-android.graphics.Canvas
 android.graphics.Canvas$EdgeType
 android.graphics.Canvas$NoImagePreloadHolder
+android.graphics.Canvas
 android.graphics.CanvasProperty
 android.graphics.Color
-android.graphics.ColorFilter
 android.graphics.ColorFilter$NoImagePreloadHolder
+android.graphics.ColorFilter
 android.graphics.ColorMatrix
 android.graphics.ColorMatrixColorFilter
-android.graphics.ColorSpace
+android.graphics.ColorSpace$Adaptation
 android.graphics.ColorSpace$Lab
 android.graphics.ColorSpace$Model
 android.graphics.ColorSpace$Named
-android.graphics.ColorSpace$Rgb
+android.graphics.ColorSpace$Rgb$NoImagePreloadHolder
 android.graphics.ColorSpace$Rgb$TransferParameters
+android.graphics.ColorSpace$Rgb
 android.graphics.ColorSpace$Xyz
+android.graphics.ColorSpace
 android.graphics.ComposePathEffect
 android.graphics.ComposeShader
 android.graphics.CornerPathEffect
@@ -1060,30 +1172,36 @@
 android.graphics.EmbossMaskFilter
 android.graphics.FontFamily
 android.graphics.FontListParser
-android.graphics.GraphicBuffer
+android.graphics.FrameInfo
 android.graphics.GraphicBuffer$1
-android.graphics.ImageDecoder
+android.graphics.GraphicBuffer
+android.graphics.HardwareRenderer$DestroyContextRunnable
+android.graphics.HardwareRenderer$FrameCompleteCallback
+android.graphics.HardwareRenderer$FrameDrawingCallback
+android.graphics.HardwareRenderer$ProcessInitializer$1
+android.graphics.HardwareRenderer$ProcessInitializer
+android.graphics.HardwareRenderer
 android.graphics.ImageDecoder$AssetInputStreamSource
 android.graphics.ImageDecoder$DecodeException
 android.graphics.ImageDecoder$ImageInfo
 android.graphics.ImageDecoder$InputStreamSource
 android.graphics.ImageDecoder$OnHeaderDecodedListener
 android.graphics.ImageDecoder$Source
+android.graphics.ImageDecoder
 android.graphics.Insets
-android.graphics.Interpolator
 android.graphics.Interpolator$Result
+android.graphics.Interpolator
 android.graphics.LightingColorFilter
 android.graphics.LinearGradient
 android.graphics.MaskFilter
-android.graphics.Matrix
 android.graphics.Matrix$1
 android.graphics.Matrix$NoImagePreloadHolder
 android.graphics.Matrix$ScaleToFit
+android.graphics.Matrix
 android.graphics.Movie
-android.graphics.NinePatch
 android.graphics.NinePatch$InsetStruct
+android.graphics.NinePatch
 android.graphics.Outline
-android.graphics.Paint
 android.graphics.Paint$Align
 android.graphics.Paint$Cap
 android.graphics.Paint$FontMetrics
@@ -1091,124 +1209,128 @@
 android.graphics.Paint$Join
 android.graphics.Paint$NoImagePreloadHolder
 android.graphics.Paint$Style
+android.graphics.Paint
 android.graphics.PaintFlagsDrawFilter
-android.graphics.Path
 android.graphics.Path$Direction
 android.graphics.Path$FillType
+android.graphics.Path
 android.graphics.PathDashPathEffect
 android.graphics.PathEffect
 android.graphics.PathMeasure
 android.graphics.Picture
 android.graphics.PixelFormat
-android.graphics.Point
 android.graphics.Point$1
-android.graphics.PointF
+android.graphics.Point
 android.graphics.PointF$1
-android.graphics.PorterDuff
+android.graphics.PointF
 android.graphics.PorterDuff$Mode
+android.graphics.PorterDuff
 android.graphics.PorterDuffColorFilter
 android.graphics.PorterDuffXfermode
 android.graphics.RadialGradient
-android.graphics.Rect
+android.graphics.RecordingCanvas
 android.graphics.Rect$1
-android.graphics.RectF
+android.graphics.Rect
 android.graphics.RectF$1
-android.graphics.Region
+android.graphics.RectF
 android.graphics.Region$1
 android.graphics.Region$Op
+android.graphics.Region
 android.graphics.RegionIterator
-android.graphics.Shader
+android.graphics.RenderNode$NoImagePreloadHolder
+android.graphics.RenderNode$PositionUpdateListener
+android.graphics.RenderNode
 android.graphics.Shader$NoImagePreloadHolder
 android.graphics.Shader$TileMode
+android.graphics.Shader
 android.graphics.SumPathEffect
-android.graphics.SurfaceTexture
 android.graphics.SurfaceTexture$1
 android.graphics.SurfaceTexture$OnFrameAvailableListener
+android.graphics.SurfaceTexture
 android.graphics.SweepGradient
 android.graphics.TableMaskFilter
 android.graphics.TemporaryBuffer
-android.graphics.Typeface
 android.graphics.Typeface$Builder
+android.graphics.Typeface$CustomFallbackBuilder
+android.graphics.Typeface
 android.graphics.Xfermode
 android.graphics.YuvImage
 android.graphics.drawable.-$$Lambda$BitmapDrawable$LMqt8JvxZ4giSOIRAtlCKDg39Jw
 android.graphics.drawable.-$$Lambda$NinePatchDrawable$yQvfm7FAkslD5wdGFysjgwt8cLE
-android.graphics.drawable.AdaptiveIconDrawable
 android.graphics.drawable.AdaptiveIconDrawable$ChildDrawable
 android.graphics.drawable.AdaptiveIconDrawable$LayerState
-android.graphics.drawable.Animatable
+android.graphics.drawable.AdaptiveIconDrawable
 android.graphics.drawable.Animatable2
+android.graphics.drawable.Animatable
 android.graphics.drawable.AnimatedImageDrawable
-android.graphics.drawable.AnimatedRotateDrawable
 android.graphics.drawable.AnimatedRotateDrawable$AnimatedRotateState
-android.graphics.drawable.AnimatedStateListDrawable
+android.graphics.drawable.AnimatedRotateDrawable
 android.graphics.drawable.AnimatedStateListDrawable$AnimatedStateListState
 android.graphics.drawable.AnimatedStateListDrawable$AnimatedVectorDrawableTransition
 android.graphics.drawable.AnimatedStateListDrawable$Transition
-android.graphics.drawable.AnimatedVectorDrawable
+android.graphics.drawable.AnimatedStateListDrawable
 android.graphics.drawable.AnimatedVectorDrawable$1
-android.graphics.drawable.AnimatedVectorDrawable$AnimatedVectorDrawableState
 android.graphics.drawable.AnimatedVectorDrawable$AnimatedVectorDrawableState$PendingAnimator
+android.graphics.drawable.AnimatedVectorDrawable$AnimatedVectorDrawableState
 android.graphics.drawable.AnimatedVectorDrawable$VectorDrawableAnimator
 android.graphics.drawable.AnimatedVectorDrawable$VectorDrawableAnimatorRT
-android.graphics.drawable.AnimationDrawable
+android.graphics.drawable.AnimatedVectorDrawable
 android.graphics.drawable.AnimationDrawable$AnimationState
-android.graphics.drawable.BitmapDrawable
+android.graphics.drawable.AnimationDrawable
 android.graphics.drawable.BitmapDrawable$BitmapState
-android.graphics.drawable.ClipDrawable
+android.graphics.drawable.BitmapDrawable
 android.graphics.drawable.ClipDrawable$ClipState
-android.graphics.drawable.ColorDrawable
+android.graphics.drawable.ClipDrawable
 android.graphics.drawable.ColorDrawable$ColorState
-android.graphics.drawable.Drawable
+android.graphics.drawable.ColorDrawable
 android.graphics.drawable.Drawable$Callback
 android.graphics.drawable.Drawable$ConstantState
-android.graphics.drawable.DrawableContainer
+android.graphics.drawable.Drawable
 android.graphics.drawable.DrawableContainer$BlockInvalidateCallback
 android.graphics.drawable.DrawableContainer$DrawableContainerState
+android.graphics.drawable.DrawableContainer
 android.graphics.drawable.DrawableInflater
-android.graphics.drawable.DrawableWrapper
 android.graphics.drawable.DrawableWrapper$DrawableWrapperState
-android.graphics.drawable.GradientDrawable
+android.graphics.drawable.DrawableWrapper
 android.graphics.drawable.GradientDrawable$1
 android.graphics.drawable.GradientDrawable$GradientState
 android.graphics.drawable.GradientDrawable$Orientation
-android.graphics.drawable.Icon
+android.graphics.drawable.GradientDrawable
 android.graphics.drawable.Icon$1
-android.graphics.drawable.InsetDrawable
+android.graphics.drawable.Icon
 android.graphics.drawable.InsetDrawable$InsetState
 android.graphics.drawable.InsetDrawable$InsetValue
-android.graphics.drawable.LayerDrawable
+android.graphics.drawable.InsetDrawable
 android.graphics.drawable.LayerDrawable$ChildDrawable
 android.graphics.drawable.LayerDrawable$LayerState
-android.graphics.drawable.NinePatchDrawable
+android.graphics.drawable.LayerDrawable
 android.graphics.drawable.NinePatchDrawable$NinePatchState
+android.graphics.drawable.NinePatchDrawable
 android.graphics.drawable.PaintDrawable
-android.graphics.drawable.RippleBackground
 android.graphics.drawable.RippleBackground$1
 android.graphics.drawable.RippleBackground$BackgroundProperty
+android.graphics.drawable.RippleBackground
 android.graphics.drawable.RippleComponent
-android.graphics.drawable.RippleDrawable
 android.graphics.drawable.RippleDrawable$RippleState
-android.graphics.drawable.RippleForeground
+android.graphics.drawable.RippleDrawable
 android.graphics.drawable.RippleForeground$1
 android.graphics.drawable.RippleForeground$2
 android.graphics.drawable.RippleForeground$3
 android.graphics.drawable.RippleForeground$4
-android.graphics.drawable.RotateDrawable
+android.graphics.drawable.RippleForeground
 android.graphics.drawable.RotateDrawable$RotateState
-android.graphics.drawable.ScaleDrawable
+android.graphics.drawable.RotateDrawable
 android.graphics.drawable.ScaleDrawable$ScaleState
-android.graphics.drawable.ShapeDrawable
+android.graphics.drawable.ScaleDrawable
 android.graphics.drawable.ShapeDrawable$ShapeState
-android.graphics.drawable.StateListDrawable
+android.graphics.drawable.ShapeDrawable
 android.graphics.drawable.StateListDrawable$StateListState
-android.graphics.drawable.TransitionDrawable
+android.graphics.drawable.StateListDrawable
 android.graphics.drawable.TransitionDrawable$TransitionState
-android.graphics.drawable.VectorDrawable
+android.graphics.drawable.TransitionDrawable
 android.graphics.drawable.VectorDrawable$VClipPath
-android.graphics.drawable.VectorDrawable$VFullPath
-android.graphics.drawable.VectorDrawable$VFullPath$1
 android.graphics.drawable.VectorDrawable$VFullPath$10
+android.graphics.drawable.VectorDrawable$VFullPath$1
 android.graphics.drawable.VectorDrawable$VFullPath$2
 android.graphics.drawable.VectorDrawable$VFullPath$3
 android.graphics.drawable.VectorDrawable$VFullPath$4
@@ -1217,7 +1339,7 @@
 android.graphics.drawable.VectorDrawable$VFullPath$7
 android.graphics.drawable.VectorDrawable$VFullPath$8
 android.graphics.drawable.VectorDrawable$VFullPath$9
-android.graphics.drawable.VectorDrawable$VGroup
+android.graphics.drawable.VectorDrawable$VFullPath
 android.graphics.drawable.VectorDrawable$VGroup$1
 android.graphics.drawable.VectorDrawable$VGroup$2
 android.graphics.drawable.VectorDrawable$VGroup$3
@@ -1227,73 +1349,87 @@
 android.graphics.drawable.VectorDrawable$VGroup$7
 android.graphics.drawable.VectorDrawable$VGroup$8
 android.graphics.drawable.VectorDrawable$VGroup$9
+android.graphics.drawable.VectorDrawable$VGroup
 android.graphics.drawable.VectorDrawable$VObject
-android.graphics.drawable.VectorDrawable$VPath
 android.graphics.drawable.VectorDrawable$VPath$1
-android.graphics.drawable.VectorDrawable$VectorDrawableState
+android.graphics.drawable.VectorDrawable$VPath
 android.graphics.drawable.VectorDrawable$VectorDrawableState$1
+android.graphics.drawable.VectorDrawable$VectorDrawableState
+android.graphics.drawable.VectorDrawable
 android.graphics.drawable.shapes.OvalShape
 android.graphics.drawable.shapes.RectShape
 android.graphics.drawable.shapes.RoundRectShape
 android.graphics.drawable.shapes.Shape
+android.graphics.fonts.Font$Builder
+android.graphics.fonts.Font
+android.graphics.fonts.FontCustomizationParser$Result
+android.graphics.fonts.FontCustomizationParser
+android.graphics.fonts.FontFamily$Builder
+android.graphics.fonts.FontFamily
+android.graphics.fonts.FontStyle
 android.graphics.fonts.FontVariationAxis
+android.graphics.fonts.SystemFonts
 android.graphics.pdf.PdfDocument
 android.graphics.pdf.PdfEditor
 android.graphics.pdf.PdfRenderer
-android.graphics.text.LineBreaker
 android.graphics.text.LineBreaker$Builder
 android.graphics.text.LineBreaker$ParagraphConstraints
 android.graphics.text.LineBreaker$Result
-android.graphics.text.MeasuredText
+android.graphics.text.LineBreaker
 android.graphics.text.MeasuredText$Builder
-android.hardware.Camera
+android.graphics.text.MeasuredText
 android.hardware.Camera$CameraInfo
 android.hardware.Camera$Face
+android.hardware.Camera
 android.hardware.CameraStatus$1
 android.hardware.ConsumerIrManager
-android.hardware.GeomagneticField
 android.hardware.GeomagneticField$LegendreTable
-android.hardware.HardwareBuffer
+android.hardware.GeomagneticField
 android.hardware.HardwareBuffer$1
-android.hardware.ICameraService
-android.hardware.ICameraService$Stub
+android.hardware.HardwareBuffer
 android.hardware.ICameraService$Stub$Proxy
-android.hardware.ICameraServiceListener
+android.hardware.ICameraService$Stub
+android.hardware.ICameraService
 android.hardware.ICameraServiceListener$Stub
+android.hardware.ICameraServiceListener
 android.hardware.Sensor
 android.hardware.SensorEvent
 android.hardware.SensorEventListener
 android.hardware.SensorManager
+android.hardware.SensorPrivacyManager
 android.hardware.SerialManager
 android.hardware.SerialPort
-android.hardware.SystemSensorManager
 android.hardware.SystemSensorManager$BaseEventQueue
 android.hardware.SystemSensorManager$SensorEventQueue
+android.hardware.SystemSensorManager
 android.hardware.TriggerEventListener
+android.hardware.biometrics.BiometricAuthenticator
+android.hardware.biometrics.BiometricFaceConstants
 android.hardware.biometrics.BiometricFingerprintConstants
+android.hardware.biometrics.BiometricManager
+android.hardware.biometrics.IBiometricServiceLockoutResetCallback$Stub
+android.hardware.biometrics.IBiometricServiceLockoutResetCallback
 android.hardware.camera2.CameraAccessException
-android.hardware.camera2.CameraCharacteristics
 android.hardware.camera2.CameraCharacteristics$1
 android.hardware.camera2.CameraCharacteristics$2
 android.hardware.camera2.CameraCharacteristics$3
 android.hardware.camera2.CameraCharacteristics$4
 android.hardware.camera2.CameraCharacteristics$5
 android.hardware.camera2.CameraCharacteristics$Key
-android.hardware.camera2.CameraManager
+android.hardware.camera2.CameraCharacteristics
 android.hardware.camera2.CameraManager$CameraManagerGlobal$1
+android.hardware.camera2.CameraManager
 android.hardware.camera2.CameraMetadata
-android.hardware.camera2.CaptureRequest
 android.hardware.camera2.CaptureRequest$1
 android.hardware.camera2.CaptureRequest$2
 android.hardware.camera2.CaptureRequest$Key
-android.hardware.camera2.CaptureResult
+android.hardware.camera2.CaptureRequest
 android.hardware.camera2.CaptureResult$1
 android.hardware.camera2.CaptureResult$2
 android.hardware.camera2.CaptureResult$3
 android.hardware.camera2.CaptureResult$Key
+android.hardware.camera2.CaptureResult
 android.hardware.camera2.DngCreator
-android.hardware.camera2.impl.CameraMetadataNative
-android.hardware.camera2.impl.CameraMetadataNative$1
 android.hardware.camera2.impl.CameraMetadataNative$10
 android.hardware.camera2.impl.CameraMetadataNative$11
 android.hardware.camera2.impl.CameraMetadataNative$12
@@ -1304,8 +1440,10 @@
 android.hardware.camera2.impl.CameraMetadataNative$17
 android.hardware.camera2.impl.CameraMetadataNative$18
 android.hardware.camera2.impl.CameraMetadataNative$19
-android.hardware.camera2.impl.CameraMetadataNative$2
+android.hardware.camera2.impl.CameraMetadataNative$1
 android.hardware.camera2.impl.CameraMetadataNative$20
+android.hardware.camera2.impl.CameraMetadataNative$21
+android.hardware.camera2.impl.CameraMetadataNative$2
 android.hardware.camera2.impl.CameraMetadataNative$3
 android.hardware.camera2.impl.CameraMetadataNative$4
 android.hardware.camera2.impl.CameraMetadataNative$5
@@ -1314,6 +1452,7 @@
 android.hardware.camera2.impl.CameraMetadataNative$8
 android.hardware.camera2.impl.CameraMetadataNative$9
 android.hardware.camera2.impl.CameraMetadataNative$Key
+android.hardware.camera2.impl.CameraMetadataNative
 android.hardware.camera2.impl.GetCommand
 android.hardware.camera2.impl.SetCommand
 android.hardware.camera2.legacy.LegacyCameraDevice
@@ -1321,8 +1460,8 @@
 android.hardware.camera2.legacy.PerfMeasurement
 android.hardware.camera2.marshal.MarshalHelpers
 android.hardware.camera2.marshal.MarshalQueryable
-android.hardware.camera2.marshal.MarshalRegistry
 android.hardware.camera2.marshal.MarshalRegistry$MarshalToken
+android.hardware.camera2.marshal.MarshalRegistry
 android.hardware.camera2.marshal.Marshaler
 android.hardware.camera2.marshal.impl.MarshalQueryableArray
 android.hardware.camera2.marshal.impl.MarshalQueryableBlackLevelPattern
@@ -1331,12 +1470,13 @@
 android.hardware.camera2.marshal.impl.MarshalQueryableEnum
 android.hardware.camera2.marshal.impl.MarshalQueryableHighSpeedVideoConfiguration
 android.hardware.camera2.marshal.impl.MarshalQueryableMeteringRectangle
-android.hardware.camera2.marshal.impl.MarshalQueryableNativeByteToInteger
 android.hardware.camera2.marshal.impl.MarshalQueryableNativeByteToInteger$MarshalerNativeByteToInteger
+android.hardware.camera2.marshal.impl.MarshalQueryableNativeByteToInteger
 android.hardware.camera2.marshal.impl.MarshalQueryablePair
 android.hardware.camera2.marshal.impl.MarshalQueryableParcelable
 android.hardware.camera2.marshal.impl.MarshalQueryablePrimitive
 android.hardware.camera2.marshal.impl.MarshalQueryableRange
+android.hardware.camera2.marshal.impl.MarshalQueryableRecommendedStreamConfiguration
 android.hardware.camera2.marshal.impl.MarshalQueryableRect
 android.hardware.camera2.marshal.impl.MarshalQueryableReprocessFormatsMap
 android.hardware.camera2.marshal.impl.MarshalQueryableRggbChannelVector
@@ -1350,163 +1490,232 @@
 android.hardware.camera2.params.Face
 android.hardware.camera2.params.HighSpeedVideoConfiguration
 android.hardware.camera2.params.LensShadingMap
+android.hardware.camera2.params.MandatoryStreamCombination
 android.hardware.camera2.params.MeteringRectangle
 android.hardware.camera2.params.OisSample
+android.hardware.camera2.params.RecommendedStreamConfiguration
 android.hardware.camera2.params.ReprocessFormatsMap
 android.hardware.camera2.params.RggbChannelVector
 android.hardware.camera2.params.StreamConfiguration
 android.hardware.camera2.params.StreamConfigurationDuration
 android.hardware.camera2.params.StreamConfigurationMap
 android.hardware.camera2.params.TonemapCurve
-android.hardware.camera2.utils.TypeReference
 android.hardware.camera2.utils.TypeReference$SpecializedTypeReference
-android.hardware.display.AmbientBrightnessDayStats
+android.hardware.camera2.utils.TypeReference
 android.hardware.display.AmbientBrightnessDayStats$1
-android.hardware.display.BrightnessChangeEvent
+android.hardware.display.AmbientBrightnessDayStats
 android.hardware.display.BrightnessChangeEvent$1
-android.hardware.display.BrightnessConfiguration
+android.hardware.display.BrightnessChangeEvent
 android.hardware.display.BrightnessConfiguration$1
 android.hardware.display.BrightnessConfiguration$Builder
-android.hardware.display.DisplayManager
+android.hardware.display.BrightnessConfiguration
+android.hardware.display.ColorDisplayManager$ColorDisplayManagerInternal
+android.hardware.display.ColorDisplayManager
 android.hardware.display.DisplayManager$DisplayListener
-android.hardware.display.DisplayManagerGlobal
+android.hardware.display.DisplayManager
 android.hardware.display.DisplayManagerGlobal$DisplayListenerDelegate
 android.hardware.display.DisplayManagerGlobal$DisplayManagerCallback
-android.hardware.display.IDisplayManager
-android.hardware.display.IDisplayManager$Stub
+android.hardware.display.DisplayManagerGlobal
+android.hardware.display.DisplayedContentSample
+android.hardware.display.DisplayedContentSamplingAttributes
+android.hardware.display.IColorDisplayManager$Stub$Proxy
 android.hardware.display.IDisplayManager$Stub$Proxy
-android.hardware.display.IDisplayManagerCallback
+android.hardware.display.IDisplayManager$Stub
+android.hardware.display.IDisplayManager
 android.hardware.display.IDisplayManagerCallback$Stub
-android.hardware.display.WifiDisplay
+android.hardware.display.IDisplayManagerCallback
 android.hardware.display.WifiDisplay$1
-android.hardware.display.WifiDisplaySessionInfo
+android.hardware.display.WifiDisplay
 android.hardware.display.WifiDisplaySessionInfo$1
-android.hardware.display.WifiDisplayStatus
+android.hardware.display.WifiDisplaySessionInfo
 android.hardware.display.WifiDisplayStatus$1
-android.hardware.fingerprint.FingerprintManager
+android.hardware.display.WifiDisplayStatus
+android.hardware.face.FaceManager
+android.hardware.fingerprint.Fingerprint$1
 android.hardware.fingerprint.FingerprintManager$1
 android.hardware.fingerprint.FingerprintManager$MyHandler
-android.hardware.fingerprint.IFingerprintService
-android.hardware.fingerprint.IFingerprintService$Stub
+android.hardware.fingerprint.FingerprintManager
 android.hardware.fingerprint.IFingerprintService$Stub$Proxy
-android.hardware.fingerprint.IFingerprintServiceLockoutResetCallback
-android.hardware.fingerprint.IFingerprintServiceLockoutResetCallback$Stub
-android.hardware.fingerprint.IFingerprintServiceReceiver
+android.hardware.fingerprint.IFingerprintService$Stub
+android.hardware.fingerprint.IFingerprintService
 android.hardware.fingerprint.IFingerprintServiceReceiver$Stub
+android.hardware.fingerprint.IFingerprintServiceReceiver
 android.hardware.hdmi.HdmiControlManager
-android.hardware.input.IInputDevicesChangedListener
 android.hardware.input.IInputDevicesChangedListener$Stub
-android.hardware.input.IInputManager
-android.hardware.input.IInputManager$Stub
+android.hardware.input.IInputDevicesChangedListener
 android.hardware.input.IInputManager$Stub$Proxy
-android.hardware.input.InputDeviceIdentifier
+android.hardware.input.IInputManager$Stub
+android.hardware.input.IInputManager
 android.hardware.input.InputDeviceIdentifier$1
-android.hardware.input.InputManager
+android.hardware.input.InputDeviceIdentifier
 android.hardware.input.InputManager$InputDeviceListener
 android.hardware.input.InputManager$InputDeviceListenerDelegate
 android.hardware.input.InputManager$InputDevicesChangedListener
+android.hardware.input.InputManager
+android.hardware.iris.IrisManager
 android.hardware.location.ActivityRecognitionHardware
 android.hardware.location.ContextHubManager
-android.hardware.location.IActivityRecognitionHardware
 android.hardware.location.IActivityRecognitionHardware$Stub
+android.hardware.location.IActivityRecognitionHardware
 android.hardware.radio.RadioManager
-android.hardware.soundtrigger.SoundTrigger
-android.hardware.soundtrigger.SoundTrigger$ConfidenceLevel
+android.hardware.radio.V1_0.ActivityStatsInfo
+android.hardware.radio.V1_0.CardStatus
+android.hardware.radio.V1_0.CdmaBroadcastSmsConfigInfo
+android.hardware.radio.V1_0.CdmaSignalStrength
+android.hardware.radio.V1_0.CellInfoType
+android.hardware.radio.V1_0.DataRegStateResult
+android.hardware.radio.V1_0.EvdoSignalStrength
+android.hardware.radio.V1_0.GsmBroadcastSmsConfigInfo
+android.hardware.radio.V1_0.GsmSignalStrength
+android.hardware.radio.V1_0.HardwareConfig
+android.hardware.radio.V1_0.IRadio
+android.hardware.radio.V1_0.IRadioIndication
+android.hardware.radio.V1_0.IRadioResponse
+android.hardware.radio.V1_0.IccIoResult
+android.hardware.radio.V1_0.LteSignalStrength
+android.hardware.radio.V1_0.RadioCapability
+android.hardware.radio.V1_0.RadioResponseInfo
+android.hardware.radio.V1_0.RegState
+android.hardware.radio.V1_0.TdScdmaSignalStrength
+android.hardware.radio.V1_0.VoiceRegStateResult
+android.hardware.radio.V1_0.WcdmaSignalStrength
+android.hardware.radio.V1_1.IRadio
+android.hardware.radio.V1_1.IRadioIndication
+android.hardware.radio.V1_1.IRadioResponse
+android.hardware.radio.V1_2.Call
+android.hardware.radio.V1_2.CardStatus
+android.hardware.radio.V1_2.CellIdentity
+android.hardware.radio.V1_2.CellIdentityOperatorNames
+android.hardware.radio.V1_2.CellInfo
+android.hardware.radio.V1_2.DataRegStateResult
+android.hardware.radio.V1_2.IRadio
+android.hardware.radio.V1_2.IRadioIndication
+android.hardware.radio.V1_2.IRadioResponse
+android.hardware.radio.V1_2.SignalStrength
+android.hardware.radio.V1_2.VoiceRegStateResult
+android.hardware.radio.V1_2.WcdmaSignalStrength
+android.hardware.radio.V1_3.IRadio$Proxy
+android.hardware.radio.V1_3.IRadio
+android.hardware.radio.V1_3.IRadioIndication
+android.hardware.radio.V1_3.IRadioResponse
+android.hardware.radio.V1_4.IRadio
+android.hardware.radio.V1_4.IRadioIndication$Stub
+android.hardware.radio.V1_4.IRadioIndication
+android.hardware.radio.V1_4.IRadioResponse$Stub
+android.hardware.radio.V1_4.IRadioResponse
+android.hardware.radio.config.V1_0.IRadioConfig
+android.hardware.radio.config.V1_0.IRadioConfigIndication
+android.hardware.radio.config.V1_0.IRadioConfigResponse
+android.hardware.radio.config.V1_0.SimSlotStatus
+android.hardware.radio.config.V1_1.IRadioConfig$Proxy
+android.hardware.radio.config.V1_1.IRadioConfig
+android.hardware.radio.config.V1_1.IRadioConfigIndication
+android.hardware.radio.config.V1_1.IRadioConfigResponse
+android.hardware.radio.config.V1_2.IRadioConfigIndication$Stub
+android.hardware.radio.config.V1_2.IRadioConfigIndication
+android.hardware.radio.config.V1_2.IRadioConfigResponse$Stub
+android.hardware.radio.config.V1_2.IRadioConfigResponse
+android.hardware.radio.deprecated.V1_0.IOemHook
+android.hardware.radio.deprecated.V1_0.IOemHookIndication$Stub
+android.hardware.radio.deprecated.V1_0.IOemHookIndication
+android.hardware.radio.deprecated.V1_0.IOemHookResponse$Stub
+android.hardware.radio.deprecated.V1_0.IOemHookResponse
 android.hardware.soundtrigger.SoundTrigger$ConfidenceLevel$1
-android.hardware.soundtrigger.SoundTrigger$GenericRecognitionEvent
+android.hardware.soundtrigger.SoundTrigger$ConfidenceLevel
 android.hardware.soundtrigger.SoundTrigger$GenericRecognitionEvent$1
-android.hardware.soundtrigger.SoundTrigger$GenericSoundModel
+android.hardware.soundtrigger.SoundTrigger$GenericRecognitionEvent
 android.hardware.soundtrigger.SoundTrigger$GenericSoundModel$1
-android.hardware.soundtrigger.SoundTrigger$Keyphrase
+android.hardware.soundtrigger.SoundTrigger$GenericSoundModel
 android.hardware.soundtrigger.SoundTrigger$Keyphrase$1
-android.hardware.soundtrigger.SoundTrigger$KeyphraseRecognitionEvent
+android.hardware.soundtrigger.SoundTrigger$Keyphrase
 android.hardware.soundtrigger.SoundTrigger$KeyphraseRecognitionEvent$1
-android.hardware.soundtrigger.SoundTrigger$KeyphraseRecognitionExtra
+android.hardware.soundtrigger.SoundTrigger$KeyphraseRecognitionEvent
 android.hardware.soundtrigger.SoundTrigger$KeyphraseRecognitionExtra$1
-android.hardware.soundtrigger.SoundTrigger$KeyphraseSoundModel
+android.hardware.soundtrigger.SoundTrigger$KeyphraseRecognitionExtra
 android.hardware.soundtrigger.SoundTrigger$KeyphraseSoundModel$1
-android.hardware.soundtrigger.SoundTrigger$ModuleProperties
+android.hardware.soundtrigger.SoundTrigger$KeyphraseSoundModel
 android.hardware.soundtrigger.SoundTrigger$ModuleProperties$1
-android.hardware.soundtrigger.SoundTrigger$RecognitionConfig
+android.hardware.soundtrigger.SoundTrigger$ModuleProperties
 android.hardware.soundtrigger.SoundTrigger$RecognitionConfig$1
-android.hardware.soundtrigger.SoundTrigger$RecognitionEvent
+android.hardware.soundtrigger.SoundTrigger$RecognitionConfig
 android.hardware.soundtrigger.SoundTrigger$RecognitionEvent$1
+android.hardware.soundtrigger.SoundTrigger$RecognitionEvent
 android.hardware.soundtrigger.SoundTrigger$SoundModel
-android.hardware.soundtrigger.SoundTrigger$SoundModelEvent
 android.hardware.soundtrigger.SoundTrigger$SoundModelEvent$1
+android.hardware.soundtrigger.SoundTrigger$SoundModelEvent
+android.hardware.soundtrigger.SoundTrigger
 android.hardware.soundtrigger.SoundTriggerModule
-android.hardware.usb.IUsbManager
-android.hardware.usb.IUsbManager$Stub
 android.hardware.usb.IUsbManager$Stub$Proxy
-android.hardware.usb.UsbDevice
+android.hardware.usb.IUsbManager$Stub
+android.hardware.usb.IUsbManager
+android.hardware.usb.ParcelableUsbPort$1
 android.hardware.usb.UsbDevice$1
+android.hardware.usb.UsbDevice
 android.hardware.usb.UsbDeviceConnection
 android.hardware.usb.UsbManager
+android.hardware.usb.UsbPort
+android.hardware.usb.UsbPortStatus$1
+android.hardware.usb.UsbPortStatus
 android.hardware.usb.UsbRequest
-android.hidl.base.V1_0.DebugInfo
-android.hidl.base.V1_0.IBase
-android.hidl.manager.V1_0.IServiceManager
-android.hidl.manager.V1_0.IServiceManager$Proxy
-android.hidl.manager.V1_0.IServiceNotification
-android.hidl.manager.V1_0.IServiceNotification$Stub
 android.icu.impl.BMPSet
 android.icu.impl.CacheBase
-android.icu.impl.CacheValue
 android.icu.impl.CacheValue$NullValue
 android.icu.impl.CacheValue$SoftValue
 android.icu.impl.CacheValue$Strength
-android.icu.impl.CalendarUtil
+android.icu.impl.CacheValue
+android.icu.impl.CalType
 android.icu.impl.CalendarUtil$CalendarPreferences
-android.icu.impl.CaseMapImpl
+android.icu.impl.CalendarUtil
 android.icu.impl.CaseMapImpl$StringContextIterator
+android.icu.impl.CaseMapImpl
 android.icu.impl.CharTrie
 android.icu.impl.CharacterIteration
+android.icu.impl.CharacterPropertiesImpl
 android.icu.impl.ClassLoaderUtil
-android.icu.impl.CurrencyData
 android.icu.impl.CurrencyData$CurrencyDisplayInfo
 android.icu.impl.CurrencyData$CurrencyDisplayInfoProvider
-android.icu.impl.CurrencyData$CurrencySpacingInfo
 android.icu.impl.CurrencyData$CurrencySpacingInfo$SpacingPattern
 android.icu.impl.CurrencyData$CurrencySpacingInfo$SpacingType
+android.icu.impl.CurrencyData$CurrencySpacingInfo
+android.icu.impl.CurrencyData
 android.icu.impl.DateNumberFormat
 android.icu.impl.Grego
-android.icu.impl.ICUBinary
 android.icu.impl.ICUBinary$Authenticate
-android.icu.impl.ICUBinary$DatPackageReader
 android.icu.impl.ICUBinary$DatPackageReader$IsAcceptable
+android.icu.impl.ICUBinary$DatPackageReader
 android.icu.impl.ICUBinary$DataFile
 android.icu.impl.ICUBinary$PackageDataFile
+android.icu.impl.ICUBinary
 android.icu.impl.ICUCache
 android.icu.impl.ICUConfig
-android.icu.impl.ICUCurrencyDisplayInfoProvider
 android.icu.impl.ICUCurrencyDisplayInfoProvider$1
-android.icu.impl.ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo
-android.icu.impl.ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$CurrencySink
 android.icu.impl.ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$CurrencySink$EntrypointTable
+android.icu.impl.ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$CurrencySink
 android.icu.impl.ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo$FormattingData
-android.icu.impl.ICUCurrencyMetaInfo
+android.icu.impl.ICUCurrencyDisplayInfoProvider$ICUCurrencyDisplayInfo
+android.icu.impl.ICUCurrencyDisplayInfoProvider
 android.icu.impl.ICUCurrencyMetaInfo$Collector
 android.icu.impl.ICUCurrencyMetaInfo$CurrencyCollector
 android.icu.impl.ICUCurrencyMetaInfo$UniqueList
+android.icu.impl.ICUCurrencyMetaInfo
 android.icu.impl.ICUData
 android.icu.impl.ICUDebug
-android.icu.impl.ICULocaleService
 android.icu.impl.ICULocaleService$ICUResourceBundleFactory
 android.icu.impl.ICULocaleService$LocaleKey
 android.icu.impl.ICULocaleService$LocaleKeyFactory
+android.icu.impl.ICULocaleService
 android.icu.impl.ICUNotifier
 android.icu.impl.ICURWLock
-android.icu.impl.ICUResourceBundle
 android.icu.impl.ICUResourceBundle$1
-android.icu.impl.ICUResourceBundle$2
 android.icu.impl.ICUResourceBundle$2$1
+android.icu.impl.ICUResourceBundle$2
 android.icu.impl.ICUResourceBundle$3
 android.icu.impl.ICUResourceBundle$4
 android.icu.impl.ICUResourceBundle$AvailEntry
 android.icu.impl.ICUResourceBundle$Loader
 android.icu.impl.ICUResourceBundle$OpenType
 android.icu.impl.ICUResourceBundle$WholeBundle
-android.icu.impl.ICUResourceBundleImpl
+android.icu.impl.ICUResourceBundle
 android.icu.impl.ICUResourceBundleImpl$ResourceArray
 android.icu.impl.ICUResourceBundleImpl$ResourceBinary
 android.icu.impl.ICUResourceBundleImpl$ResourceContainer
@@ -1514,29 +1723,29 @@
 android.icu.impl.ICUResourceBundleImpl$ResourceIntVector
 android.icu.impl.ICUResourceBundleImpl$ResourceString
 android.icu.impl.ICUResourceBundleImpl$ResourceTable
-android.icu.impl.ICUResourceBundleReader
-android.icu.impl.ICUResourceBundleReader$Array
+android.icu.impl.ICUResourceBundleImpl
 android.icu.impl.ICUResourceBundleReader$Array16
 android.icu.impl.ICUResourceBundleReader$Array32
+android.icu.impl.ICUResourceBundleReader$Array
 android.icu.impl.ICUResourceBundleReader$Container
 android.icu.impl.ICUResourceBundleReader$IsAcceptable
 android.icu.impl.ICUResourceBundleReader$ReaderCache
 android.icu.impl.ICUResourceBundleReader$ReaderCacheKey
 android.icu.impl.ICUResourceBundleReader$ReaderValue
-android.icu.impl.ICUResourceBundleReader$ResourceCache
 android.icu.impl.ICUResourceBundleReader$ResourceCache$Level
-android.icu.impl.ICUResourceBundleReader$Table
-android.icu.impl.ICUResourceBundleReader$Table16
+android.icu.impl.ICUResourceBundleReader$ResourceCache
 android.icu.impl.ICUResourceBundleReader$Table1632
-android.icu.impl.ICUService
+android.icu.impl.ICUResourceBundleReader$Table16
+android.icu.impl.ICUResourceBundleReader$Table
+android.icu.impl.ICUResourceBundleReader
 android.icu.impl.ICUService$CacheEntry
 android.icu.impl.ICUService$Factory
 android.icu.impl.ICUService$Key
+android.icu.impl.ICUService
 android.icu.impl.IDNA2003
 android.icu.impl.JavaTimeZone
 android.icu.impl.LocaleIDParser
 android.icu.impl.LocaleIDs
-android.icu.impl.Norm2AllModes
 android.icu.impl.Norm2AllModes$1
 android.icu.impl.Norm2AllModes$ComposeNormalizer2
 android.icu.impl.Norm2AllModes$DecomposeNormalizer2
@@ -1546,14 +1755,19 @@
 android.icu.impl.Norm2AllModes$NoopNormalizer2
 android.icu.impl.Norm2AllModes$Norm2AllModesSingleton
 android.icu.impl.Norm2AllModes$Normalizer2WithImpl
-android.icu.impl.Normalizer2Impl
+android.icu.impl.Norm2AllModes
 android.icu.impl.Normalizer2Impl$1
 android.icu.impl.Normalizer2Impl$IsAcceptable
+android.icu.impl.Normalizer2Impl$UTF16Plus
+android.icu.impl.Normalizer2Impl
 android.icu.impl.OlsonTimeZone
 android.icu.impl.Pair
 android.icu.impl.PatternProps
 android.icu.impl.PatternTokenizer
 android.icu.impl.PluralRulesLoader
+android.icu.impl.RBBIDataWrapper$IsAcceptable
+android.icu.impl.RBBIDataWrapper$RBBIStateTable
+android.icu.impl.RBBIDataWrapper
 android.icu.impl.ReplaceableUCharacterIterator
 android.icu.impl.RuleCharacterIterator
 android.icu.impl.SimpleCache
@@ -1561,21 +1775,19 @@
 android.icu.impl.SoftCache
 android.icu.impl.StandardPlural
 android.icu.impl.StringPrepDataReader
-android.icu.impl.TextTrieMap
 android.icu.impl.TextTrieMap$Node
+android.icu.impl.TextTrieMap
 android.icu.impl.TimeZoneNamesFactoryImpl
-android.icu.impl.TimeZoneNamesImpl
 android.icu.impl.TimeZoneNamesImpl$1
 android.icu.impl.TimeZoneNamesImpl$MZ2TZsCache
 android.icu.impl.TimeZoneNamesImpl$MZMapEntry
 android.icu.impl.TimeZoneNamesImpl$TZ2MZsCache
-android.icu.impl.TimeZoneNamesImpl$ZNames
 android.icu.impl.TimeZoneNamesImpl$ZNames$NameTypeIndex
+android.icu.impl.TimeZoneNamesImpl$ZNames
 android.icu.impl.TimeZoneNamesImpl$ZNamesLoader
-android.icu.impl.Trie
+android.icu.impl.TimeZoneNamesImpl
 android.icu.impl.Trie$DataManipulate
 android.icu.impl.Trie$DefaultGetFoldingOffset
-android.icu.impl.Trie2
 android.icu.impl.Trie2$1
 android.icu.impl.Trie2$2
 android.icu.impl.Trie2$Range
@@ -1583,15 +1795,15 @@
 android.icu.impl.Trie2$UTrie2Header
 android.icu.impl.Trie2$ValueMapper
 android.icu.impl.Trie2$ValueWidth
+android.icu.impl.Trie2
 android.icu.impl.Trie2_16
 android.icu.impl.Trie2_32
-android.icu.impl.UBiDiProps
+android.icu.impl.Trie
 android.icu.impl.UBiDiProps$IsAcceptable
-android.icu.impl.UCaseProps
+android.icu.impl.UBiDiProps
 android.icu.impl.UCaseProps$ContextIterator
 android.icu.impl.UCaseProps$IsAcceptable
-android.icu.impl.UCharacterProperty
-android.icu.impl.UCharacterProperty$1
+android.icu.impl.UCaseProps
 android.icu.impl.UCharacterProperty$10
 android.icu.impl.UCharacterProperty$11
 android.icu.impl.UCharacterProperty$12
@@ -1602,12 +1814,16 @@
 android.icu.impl.UCharacterProperty$17
 android.icu.impl.UCharacterProperty$18
 android.icu.impl.UCharacterProperty$19
-android.icu.impl.UCharacterProperty$2
+android.icu.impl.UCharacterProperty$1
 android.icu.impl.UCharacterProperty$20
 android.icu.impl.UCharacterProperty$21
 android.icu.impl.UCharacterProperty$22
 android.icu.impl.UCharacterProperty$23
 android.icu.impl.UCharacterProperty$24
+android.icu.impl.UCharacterProperty$25
+android.icu.impl.UCharacterProperty$26
+android.icu.impl.UCharacterProperty$27
+android.icu.impl.UCharacterProperty$2
 android.icu.impl.UCharacterProperty$3
 android.icu.impl.UCharacterProperty$4
 android.icu.impl.UCharacterProperty$5
@@ -1623,38 +1839,39 @@
 android.icu.impl.UCharacterProperty$IsAcceptable
 android.icu.impl.UCharacterProperty$NormInertBinaryProperty
 android.icu.impl.UCharacterProperty$NormQuickCheckIntProperty
-android.icu.impl.UPropertyAliases
+android.icu.impl.UCharacterProperty
 android.icu.impl.UPropertyAliases$IsAcceptable
+android.icu.impl.UPropertyAliases
 android.icu.impl.URLHandler$URLVisitor
-android.icu.impl.UResource
 android.icu.impl.UResource$Array
 android.icu.impl.UResource$Key
 android.icu.impl.UResource$Sink
 android.icu.impl.UResource$Table
 android.icu.impl.UResource$Value
+android.icu.impl.UResource
 android.icu.impl.USerializedSet
 android.icu.impl.Utility
-android.icu.impl.ZoneMeta
 android.icu.impl.ZoneMeta$1
 android.icu.impl.ZoneMeta$CustomTimeZoneCache
 android.icu.impl.ZoneMeta$SystemTimeZoneCache
+android.icu.impl.ZoneMeta
 android.icu.impl.coll.CollationData
-android.icu.impl.coll.CollationDataReader
 android.icu.impl.coll.CollationDataReader$IsAcceptable
+android.icu.impl.coll.CollationDataReader
 android.icu.impl.coll.CollationFastLatin
 android.icu.impl.coll.CollationIterator$CEBuffer
 android.icu.impl.coll.CollationLoader
 android.icu.impl.coll.CollationRoot
 android.icu.impl.coll.CollationSettings
 android.icu.impl.coll.CollationTailoring
-android.icu.impl.coll.SharedObject
 android.icu.impl.coll.SharedObject$Reference
+android.icu.impl.coll.SharedObject
 android.icu.impl.locale.AsciiUtil
-android.icu.impl.locale.BaseLocale
 android.icu.impl.locale.BaseLocale$Cache
 android.icu.impl.locale.BaseLocale$Key
-android.icu.impl.locale.LocaleObjectCache
+android.icu.impl.locale.BaseLocale
 android.icu.impl.locale.LocaleObjectCache$CacheEntry
+android.icu.impl.locale.LocaleObjectCache
 android.icu.impl.locale.LocaleSyntaxException
 android.icu.impl.number.AffixPatternProvider
 android.icu.impl.number.AffixUtils$SymbolProvider
@@ -1666,9 +1883,6 @@
 android.icu.impl.number.MicroPropsGenerator
 android.icu.impl.number.Modifier
 android.icu.impl.number.MutablePatternModifier$ImmutablePatternModifier
-android.icu.impl.number.Parse
-android.icu.impl.number.Parse$1
-android.icu.impl.number.Parse$2
 android.icu.impl.number.PatternStringParser$ParsedPatternInfo
 android.icu.impl.number.PatternStringParser$ParsedSubpatternInfo
 android.icu.impl.number.PatternStringParser$ParserState
@@ -1676,69 +1890,71 @@
 android.icu.lang.UCharacter
 android.icu.lang.UCharacterEnums$ECharacterCategory
 android.icu.lang.UCharacterEnums$ECharacterDirection
-android.icu.lang.UScript
 android.icu.lang.UScript$ScriptUsage
+android.icu.lang.UScript
 android.icu.math.BigDecimal
 android.icu.math.MathContext
+android.icu.number.CurrencyPrecision
 android.icu.number.CurrencyRounder
 android.icu.number.FormattedNumber
+android.icu.number.FractionPrecision
 android.icu.number.FractionRounder
 android.icu.number.NumberFormatterSettings
-android.icu.number.NumberPropertyMapper$PropertiesAffixPatternProvider
+android.icu.number.Precision$CurrencyRounderImpl
+android.icu.number.Precision$FracSigRounderImpl
+android.icu.number.Precision$FractionRounderImpl
+android.icu.number.Precision$IncrementRounderImpl
+android.icu.number.Precision$InfiniteRounderImpl
+android.icu.number.Precision$PassThroughRounderImpl
+android.icu.number.Precision$SignificantRounderImpl
+android.icu.number.Precision
 android.icu.number.Rounder
-android.icu.number.Rounder$CurrencyRounderImpl
-android.icu.number.Rounder$FracSigRounderImpl
-android.icu.number.Rounder$FractionRounderImpl
-android.icu.number.Rounder$IncrementRounderImpl
-android.icu.number.Rounder$InfiniteRounderImpl
-android.icu.number.Rounder$PassThroughRounderImpl
-android.icu.number.Rounder$SignificantRounderImpl
 android.icu.number.UnlocalizedNumberFormatter
 android.icu.text.AlphabeticIndex$1
 android.icu.text.AlphabeticIndex$Bucket
 android.icu.text.AlphabeticIndex$BucketList
 android.icu.text.AlphabeticIndex$ImmutableIndex
-android.icu.text.Bidi
 android.icu.text.Bidi$ImpTabPair
+android.icu.text.Bidi
 android.icu.text.BidiClassifier
-android.icu.text.BreakIterator
 android.icu.text.BreakIterator$BreakIteratorCache
 android.icu.text.BreakIterator$BreakIteratorServiceShim
-android.icu.text.BreakIteratorFactory
-android.icu.text.BreakIteratorFactory$BFService
+android.icu.text.BreakIterator
 android.icu.text.BreakIteratorFactory$BFService$1RBBreakIteratorFactory
-android.icu.text.CaseMap
+android.icu.text.BreakIteratorFactory$BFService
+android.icu.text.BreakIteratorFactory
 android.icu.text.CaseMap$Title
 android.icu.text.CaseMap$Upper
-android.icu.text.Collator
+android.icu.text.CaseMap
 android.icu.text.Collator$ServiceShim
-android.icu.text.CollatorServiceShim
-android.icu.text.CollatorServiceShim$CService
+android.icu.text.Collator
 android.icu.text.CollatorServiceShim$CService$1CollatorFactory
+android.icu.text.CollatorServiceShim$CService
+android.icu.text.CollatorServiceShim
 android.icu.text.CurrencyDisplayNames
-android.icu.text.CurrencyMetaInfo
 android.icu.text.CurrencyMetaInfo$CurrencyDigits
 android.icu.text.CurrencyMetaInfo$CurrencyFilter
-android.icu.text.DateFormat
+android.icu.text.CurrencyMetaInfo
 android.icu.text.DateFormat$BooleanAttribute
 android.icu.text.DateFormat$Field
-android.icu.text.DateFormatSymbols
+android.icu.text.DateFormat
 android.icu.text.DateFormatSymbols$1
-android.icu.text.DateFormatSymbols$CalendarDataSink
 android.icu.text.DateFormatSymbols$CalendarDataSink$AliasType
+android.icu.text.DateFormatSymbols$CalendarDataSink
 android.icu.text.DateFormatSymbols$CapitalizationContextUsage
-android.icu.text.DateIntervalFormat
+android.icu.text.DateFormatSymbols
 android.icu.text.DateIntervalFormat$BestMatchInfo
-android.icu.text.DateIntervalInfo
+android.icu.text.DateIntervalFormat
 android.icu.text.DateIntervalInfo$DateIntervalSink
 android.icu.text.DateIntervalInfo$PatternInfo
-android.icu.text.DateTimePatternGenerator
+android.icu.text.DateIntervalInfo
 android.icu.text.DateTimePatternGenerator$AppendItemFormatsSink
 android.icu.text.DateTimePatternGenerator$AppendItemNamesSink
 android.icu.text.DateTimePatternGenerator$AvailableFormatsSink
 android.icu.text.DateTimePatternGenerator$DTPGflags
 android.icu.text.DateTimePatternGenerator$DateTimeMatcher
 android.icu.text.DateTimePatternGenerator$DayPeriodAllowedHoursSink
+android.icu.text.DateTimePatternGenerator$DisplayWidth
 android.icu.text.DateTimePatternGenerator$DistanceInfo
 android.icu.text.DateTimePatternGenerator$FormatParser
 android.icu.text.DateTimePatternGenerator$PatternInfo
@@ -1746,23 +1962,22 @@
 android.icu.text.DateTimePatternGenerator$PatternWithSkeletonFlag
 android.icu.text.DateTimePatternGenerator$SkeletonFields
 android.icu.text.DateTimePatternGenerator$VariableField
+android.icu.text.DateTimePatternGenerator
 android.icu.text.DecimalFormat
-android.icu.text.DecimalFormat$1
-android.icu.text.DecimalFormatSymbols
 android.icu.text.DecimalFormatSymbols$1
 android.icu.text.DecimalFormatSymbols$CacheData
 android.icu.text.DecimalFormatSymbols$DecFmtDataSink
-android.icu.text.DecimalFormat_ICU58_Android
+android.icu.text.DecimalFormatSymbols
 android.icu.text.DecimalFormat_ICU58_Android$Unit
-android.icu.text.DictionaryBreakEngine
+android.icu.text.DecimalFormat_ICU58_Android
 android.icu.text.DictionaryBreakEngine$DequeI
+android.icu.text.DictionaryBreakEngine
 android.icu.text.DigitList_Android
-android.icu.text.DisplayContext
 android.icu.text.DisplayContext$Type
+android.icu.text.DisplayContext
 android.icu.text.Edits
 android.icu.text.IDNA
 android.icu.text.LanguageBreakEngine
-android.icu.text.Normalizer
 android.icu.text.Normalizer$FCDMode
 android.icu.text.Normalizer$Mode
 android.icu.text.Normalizer$ModeImpl
@@ -1774,18 +1989,18 @@
 android.icu.text.Normalizer$NONEMode
 android.icu.text.Normalizer$QuickCheckResult
 android.icu.text.Normalizer2
-android.icu.text.NumberFormat
+android.icu.text.Normalizer
 android.icu.text.NumberFormat$Field
 android.icu.text.NumberFormat$NumberFormatShim
-android.icu.text.NumberFormatServiceShim$NFService
+android.icu.text.NumberFormat
 android.icu.text.NumberFormatServiceShim$NFService$1RBNumberFormatFactory
-android.icu.text.NumberingSystem
+android.icu.text.NumberFormatServiceShim$NFService
 android.icu.text.NumberingSystem$1
 android.icu.text.NumberingSystem$2
 android.icu.text.NumberingSystem$LocaleLookupData
-android.icu.text.PluralRanges
+android.icu.text.NumberingSystem
 android.icu.text.PluralRanges$Matrix
-android.icu.text.PluralRules
+android.icu.text.PluralRanges
 android.icu.text.PluralRules$1
 android.icu.text.PluralRules$2
 android.icu.text.PluralRules$AndConstraint
@@ -1803,158 +2018,166 @@
 android.icu.text.PluralRules$RuleList
 android.icu.text.PluralRules$SampleType
 android.icu.text.PluralRules$SimpleTokenizer
-android.icu.text.RBBIDataWrapper
-android.icu.text.RBBIDataWrapper$IsAcceptable
-android.icu.text.RBBIDataWrapper$RBBIDataHeader
-android.icu.text.RelativeDateTimeFormatter$Cache
+android.icu.text.PluralRules
 android.icu.text.RelativeDateTimeFormatter$Cache$1
+android.icu.text.RelativeDateTimeFormatter$Cache
 android.icu.text.RelativeDateTimeFormatter$Loader
 android.icu.text.RelativeDateTimeFormatter$RelDateTimeDataSink
 android.icu.text.Replaceable
 android.icu.text.ReplaceableString
-android.icu.text.RuleBasedBreakIterator
 android.icu.text.RuleBasedBreakIterator$BreakCache
 android.icu.text.RuleBasedBreakIterator$DictionaryCache
 android.icu.text.RuleBasedBreakIterator$LookAheadResults
-android.icu.text.RuleBasedCollator
+android.icu.text.RuleBasedBreakIterator
 android.icu.text.RuleBasedCollator$CollationBuffer
 android.icu.text.RuleBasedCollator$FCDUTF16NFDIterator
 android.icu.text.RuleBasedCollator$NFDIterator
 android.icu.text.RuleBasedCollator$UTF16NFDIterator
-android.icu.text.SimpleDateFormat
+android.icu.text.RuleBasedCollator
 android.icu.text.SimpleDateFormat$PatternItem
+android.icu.text.SimpleDateFormat
 android.icu.text.StringPrep
 android.icu.text.StringPrepParseException
-android.icu.text.TimeZoneNames
 android.icu.text.TimeZoneNames$Cache
 android.icu.text.TimeZoneNames$Factory
 android.icu.text.TimeZoneNames$NameType
+android.icu.text.TimeZoneNames
 android.icu.text.UCharacterIterator
 android.icu.text.UFieldPosition
 android.icu.text.UFormat
 android.icu.text.UForwardCharacterIterator
-android.icu.text.UTF16
 android.icu.text.UTF16$StringComparator
+android.icu.text.UTF16
 android.icu.text.UnhandledBreakEngine
 android.icu.text.UnicodeFilter
 android.icu.text.UnicodeMatcher
-android.icu.text.UnicodeSet
 android.icu.text.UnicodeSet$Filter
 android.icu.text.UnicodeSet$GeneralCategoryMaskFilter
 android.icu.text.UnicodeSet$IntPropertyFilter
 android.icu.text.UnicodeSet$UnicodeSetIterator2
+android.icu.text.UnicodeSet
 android.icu.util.AnnualTimeZoneRule
 android.icu.util.BasicTimeZone
-android.icu.util.BytesTrie
 android.icu.util.BytesTrie$Result
-android.icu.util.Calendar
+android.icu.util.BytesTrie
 android.icu.util.Calendar$1
-android.icu.util.Calendar$CalType
 android.icu.util.Calendar$FormatConfiguration
 android.icu.util.Calendar$PatternData
 android.icu.util.Calendar$WeekData
 android.icu.util.Calendar$WeekDataCache
+android.icu.util.Calendar
 android.icu.util.CharsTrie$Entry
 android.icu.util.CharsTrie$Iterator
-android.icu.util.Currency
+android.icu.util.CodePointMap$Range
+android.icu.util.CodePointMap$RangeOption
+android.icu.util.CodePointMap$ValueFilter
+android.icu.util.CodePointMap
+android.icu.util.CodePointTrie$1
+android.icu.util.CodePointTrie$Data16
+android.icu.util.CodePointTrie$Data
+android.icu.util.CodePointTrie$Fast16
+android.icu.util.CodePointTrie$Fast
+android.icu.util.CodePointTrie$Type
+android.icu.util.CodePointTrie$ValueWidth
+android.icu.util.CodePointTrie
 android.icu.util.Currency$1
 android.icu.util.Currency$CurrencyUsage
-android.icu.util.Currency$EquivalenceRelation
+android.icu.util.Currency
 android.icu.util.DateTimeRule
 android.icu.util.Freezable
 android.icu.util.GregorianCalendar
 android.icu.util.InitialTimeZoneRule
-android.icu.util.MeasureUnit
 android.icu.util.MeasureUnit$1
 android.icu.util.MeasureUnit$2
 android.icu.util.MeasureUnit$3
 android.icu.util.MeasureUnit$4
 android.icu.util.MeasureUnit$Factory
+android.icu.util.MeasureUnit
 android.icu.util.Output
 android.icu.util.STZInfo
 android.icu.util.SimpleTimeZone
 android.icu.util.TimeArrayTimeZoneRule
 android.icu.util.TimeUnit
-android.icu.util.TimeZone
 android.icu.util.TimeZone$ConstantZone
 android.icu.util.TimeZone$SystemTimeZoneType
+android.icu.util.TimeZone
 android.icu.util.TimeZoneRule
 android.icu.util.TimeZoneTransition
-android.icu.util.ULocale
 android.icu.util.ULocale$1
 android.icu.util.ULocale$2
 android.icu.util.ULocale$3
 android.icu.util.ULocale$Category
 android.icu.util.ULocale$JDKLocaleHelper
 android.icu.util.ULocale$Type
-android.icu.util.UResourceBundle
+android.icu.util.ULocale
 android.icu.util.UResourceBundle$1
 android.icu.util.UResourceBundle$RootType
+android.icu.util.UResourceBundle
 android.icu.util.UResourceBundleIterator
 android.icu.util.UResourceTypeMismatchException
 android.icu.util.VersionInfo
 android.inputmethodservice.SoftInputWindow
-android.location.Address
+android.internal.hidl.base.V1_0.IBase
 android.location.Address$1
-android.location.BatchedLocationCallbackTransport
+android.location.Address
 android.location.BatchedLocationCallbackTransport$CallbackTransport
+android.location.BatchedLocationCallbackTransport
 android.location.Country$1
 android.location.CountryDetector
 android.location.Criteria$1
 android.location.Geocoder
-android.location.GeocoderParams
 android.location.GeocoderParams$1
-android.location.GnssMeasurementCallbackTransport
+android.location.GeocoderParams
 android.location.GnssMeasurementCallbackTransport$ListenerTransport
-android.location.GnssNavigationMessageCallbackTransport
+android.location.GnssMeasurementCallbackTransport
 android.location.GnssNavigationMessageCallbackTransport$ListenerTransport
+android.location.GnssNavigationMessageCallbackTransport
 android.location.GpsStatus$Listener
-android.location.IBatchedLocationCallback
 android.location.IBatchedLocationCallback$Stub
-android.location.ICountryDetector
-android.location.ICountryDetector$Stub
+android.location.IBatchedLocationCallback
 android.location.ICountryDetector$Stub$Proxy
-android.location.IGnssMeasurementsListener
+android.location.ICountryDetector$Stub
+android.location.ICountryDetector
 android.location.IGnssMeasurementsListener$Stub
-android.location.IGnssNavigationMessageListener
+android.location.IGnssMeasurementsListener
 android.location.IGnssNavigationMessageListener$Stub
-android.location.IGnssStatusListener
+android.location.IGnssNavigationMessageListener
 android.location.IGnssStatusListener$Stub
-android.location.ILocationListener
+android.location.IGnssStatusListener
 android.location.ILocationListener$Stub
-android.location.ILocationManager
-android.location.ILocationManager$Stub
+android.location.ILocationListener
 android.location.ILocationManager$Stub$Proxy
+android.location.ILocationManager$Stub
+android.location.ILocationManager
 android.location.LocalListenerHelper
-android.location.Location
 android.location.Location$1
 android.location.Location$2
 android.location.Location$BearingDistanceCache
+android.location.Location
 android.location.LocationListener
-android.location.LocationManager
-android.location.LocationManager$GnssStatusListenerTransport
 android.location.LocationManager$GnssStatusListenerTransport$GnssHandler
-android.location.LocationManager$ListenerTransport
+android.location.LocationManager$GnssStatusListenerTransport
 android.location.LocationManager$ListenerTransport$1
 android.location.LocationManager$ListenerTransport$2
+android.location.LocationManager$ListenerTransport
+android.location.LocationManager
 android.location.LocationProvider
-android.location.LocationRequest
 android.location.LocationRequest$1
-android.media.AudioAttributes
+android.location.LocationRequest
 android.media.AudioAttributes$1
 android.media.AudioAttributes$Builder
+android.media.AudioAttributes
 android.media.AudioDeviceCallback
 android.media.AudioDeviceInfo
 android.media.AudioDevicePort
 android.media.AudioDevicePortConfig
 android.media.AudioFocusRequest$Builder
-android.media.AudioFormat
 android.media.AudioFormat$1
 android.media.AudioFormat$Builder
+android.media.AudioFormat
 android.media.AudioGain
 android.media.AudioGainConfig
 android.media.AudioHandle
-android.media.AudioManager
 android.media.AudioManager$1
 android.media.AudioManager$2
 android.media.AudioManager$3
@@ -1962,115 +2185,121 @@
 android.media.AudioManager$AudioPlaybackCallback
 android.media.AudioManager$AudioPlaybackCallbackInfo
 android.media.AudioManager$FocusRequestInfo
-android.media.AudioManager$NativeEventHandlerDelegate
 android.media.AudioManager$NativeEventHandlerDelegate$1
+android.media.AudioManager$NativeEventHandlerDelegate
 android.media.AudioManager$OnAmPortUpdateListener
 android.media.AudioManager$OnAudioFocusChangeListener
 android.media.AudioManager$OnAudioPortUpdateListener
-android.media.AudioManager$ServiceEventHandlerDelegate
 android.media.AudioManager$ServiceEventHandlerDelegate$1
+android.media.AudioManager$ServiceEventHandlerDelegate
+android.media.AudioManager
 android.media.AudioMixPort
 android.media.AudioMixPortConfig
 android.media.AudioPatch
-android.media.AudioPlaybackConfiguration
 android.media.AudioPlaybackConfiguration$1
+android.media.AudioPlaybackConfiguration
 android.media.AudioPort
 android.media.AudioPortConfig
-android.media.AudioPortEventHandler
 android.media.AudioPortEventHandler$1
+android.media.AudioPortEventHandler
+android.media.AudioPresentation
 android.media.AudioRecord
-android.media.AudioRoutesInfo
+android.media.AudioRecordRoutingProxy
+android.media.AudioRecordingMonitor
+android.media.AudioRecordingMonitorClient
 android.media.AudioRoutesInfo$1
+android.media.AudioRoutesInfo
 android.media.AudioRouting
 android.media.AudioSystem
 android.media.AudioTimestamp
 android.media.AudioTrack
-android.media.BufferingParams
-android.media.BufferingParams$1
+android.media.AudioTrackRoutingProxy
 android.media.CamcorderProfile
 android.media.CameraProfile
 android.media.DecoderCapabilities
 android.media.EncoderCapabilities
-android.media.ExifInterface
 android.media.ExifInterface$ByteOrderedDataInputStream
 android.media.ExifInterface$ExifAttribute
 android.media.ExifInterface$ExifTag
-android.media.IAudioFocusDispatcher
+android.media.ExifInterface
 android.media.IAudioFocusDispatcher$Stub
-android.media.IAudioRoutesObserver
+android.media.IAudioFocusDispatcher
 android.media.IAudioRoutesObserver$Stub
-android.media.IAudioServerStateDispatcher
+android.media.IAudioRoutesObserver
 android.media.IAudioServerStateDispatcher$Stub
-android.media.IAudioService
-android.media.IAudioService$Stub
+android.media.IAudioServerStateDispatcher
 android.media.IAudioService$Stub$Proxy
-android.media.IMediaHTTPConnection
+android.media.IAudioService$Stub
+android.media.IAudioService
 android.media.IMediaHTTPConnection$Stub
-android.media.IMediaRouterClient
+android.media.IMediaHTTPConnection
 android.media.IMediaRouterClient$Stub
-android.media.IMediaRouterService
-android.media.IMediaRouterService$Stub
+android.media.IMediaRouterClient
 android.media.IMediaRouterService$Stub$Proxy
-android.media.IPlaybackConfigDispatcher
+android.media.IMediaRouterService$Stub
+android.media.IMediaRouterService
 android.media.IPlaybackConfigDispatcher$Stub
-android.media.IPlayer
+android.media.IPlaybackConfigDispatcher
 android.media.IPlayer$Stub
-android.media.IRecordingConfigDispatcher
+android.media.IPlayer
 android.media.IRecordingConfigDispatcher$Stub
-android.media.IRemoteVolumeObserver
+android.media.IRecordingConfigDispatcher
+android.media.IRemoteVolumeController$Stub
+android.media.IRemoteVolumeController
 android.media.IRemoteVolumeObserver$Stub
-android.media.IRingtonePlayer
-android.media.IRingtonePlayer$Stub
+android.media.IRemoteVolumeObserver
 android.media.IRingtonePlayer$Stub$Proxy
-android.media.Image
+android.media.IRingtonePlayer$Stub
+android.media.IRingtonePlayer
 android.media.Image$Plane
-android.media.ImageReader
-android.media.ImageReader$SurfaceImage
+android.media.Image
 android.media.ImageReader$SurfaceImage$SurfacePlane
-android.media.ImageWriter
-android.media.ImageWriter$WriterSurfaceImage
+android.media.ImageReader$SurfaceImage
+android.media.ImageReader
 android.media.ImageWriter$WriterSurfaceImage$SurfacePlane
+android.media.ImageWriter$WriterSurfaceImage
+android.media.ImageWriter
 android.media.JetPlayer
-android.media.MediaCodec
 android.media.MediaCodec$BufferInfo
 android.media.MediaCodec$BufferMap
 android.media.MediaCodec$CodecException
 android.media.MediaCodec$CryptoException
-android.media.MediaCodec$CryptoInfo
 android.media.MediaCodec$CryptoInfo$Pattern
+android.media.MediaCodec$CryptoInfo
 android.media.MediaCodec$EventHandler
 android.media.MediaCodec$PersistentSurface
-android.media.MediaCodecInfo
+android.media.MediaCodec
 android.media.MediaCodecInfo$AudioCapabilities
 android.media.MediaCodecInfo$CodecCapabilities
 android.media.MediaCodecInfo$CodecProfileLevel
 android.media.MediaCodecInfo$EncoderCapabilities
 android.media.MediaCodecInfo$Feature
 android.media.MediaCodecInfo$VideoCapabilities
+android.media.MediaCodecInfo
 android.media.MediaCodecList
 android.media.MediaCrypto
 android.media.MediaDescrambler
-android.media.MediaDescription
 android.media.MediaDescription$1
-android.media.MediaDrm
+android.media.MediaDescription
 android.media.MediaDrm$Certificate
 android.media.MediaDrm$KeyRequest
 android.media.MediaDrm$MediaDrmStateException
 android.media.MediaDrm$ProvisionRequest
+android.media.MediaDrm$SessionException
+android.media.MediaDrm
 android.media.MediaDrmException
 android.media.MediaExtractor
 android.media.MediaFormat
 android.media.MediaHTTPConnection
-android.media.MediaMetadata
 android.media.MediaMetadata$1
 android.media.MediaMetadata$Builder
-android.media.MediaMetadataRetriever
+android.media.MediaMetadata
 android.media.MediaMetadataRetriever$BitmapParams
+android.media.MediaMetadataRetriever
 android.media.MediaMuxer
-android.media.MediaPlayer
 android.media.MediaPlayer$1
-android.media.MediaPlayer$2
 android.media.MediaPlayer$2$1
+android.media.MediaPlayer$2
 android.media.MediaPlayer$3
 android.media.MediaPlayer$7
 android.media.MediaPlayer$EventHandler
@@ -2079,43 +2308,46 @@
 android.media.MediaPlayer$OnPreparedListener
 android.media.MediaPlayer$OnSeekCompleteListener
 android.media.MediaPlayer$OnSubtitleDataListener
-android.media.MediaPlayer$TimeProvider
 android.media.MediaPlayer$TimeProvider$EventHandler
+android.media.MediaPlayer$TimeProvider
 android.media.MediaPlayer$TrackInfo$1
+android.media.MediaPlayer
 android.media.MediaRecorder
-android.media.MediaRouter
 android.media.MediaRouter$Callback
 android.media.MediaRouter$CallbackInfo
 android.media.MediaRouter$RouteCategory
-android.media.MediaRouter$RouteInfo
 android.media.MediaRouter$RouteInfo$1
-android.media.MediaRouter$Static
-android.media.MediaRouter$Static$1
+android.media.MediaRouter$RouteInfo
 android.media.MediaRouter$Static$1$1
-android.media.MediaRouter$Static$Client
+android.media.MediaRouter$Static$1
 android.media.MediaRouter$Static$Client$1
 android.media.MediaRouter$Static$Client$2
+android.media.MediaRouter$Static$Client
+android.media.MediaRouter$Static
 android.media.MediaRouter$UserRouteInfo
 android.media.MediaRouter$VolumeCallback
 android.media.MediaRouter$VolumeChangeReceiver
 android.media.MediaRouter$WifiDisplayStatusChangedReceiver
+android.media.MediaRouter
+android.media.MediaRouterClientState$1
 android.media.MediaScanner
 android.media.MediaScannerConnection$MediaScannerConnectionClient
 android.media.MediaScannerConnection$OnScanCompletedListener
 android.media.MediaSync
-android.media.MediaTimeProvider
 android.media.MediaTimeProvider$OnMediaTimeListener
+android.media.MediaTimeProvider
 android.media.MediaTimestamp
-android.media.MicrophoneInfo
+android.media.MicrophoneDirection
 android.media.MicrophoneInfo$Coordinate3F
+android.media.MicrophoneInfo
 android.media.NotProvisionedException
-android.media.PlaybackParams
 android.media.PlaybackParams$1
-android.media.PlayerBase
+android.media.PlaybackParams
 android.media.PlayerBase$IAppOpsCallbackWrapper
 android.media.PlayerBase$IPlayerWrapper
-android.media.PlayerBase$PlayerIdCard
 android.media.PlayerBase$PlayerIdCard$1
+android.media.PlayerBase$PlayerIdCard
+android.media.PlayerBase
 android.media.Rating$1
 android.media.RemoteDisplay
 android.media.ResampleInputStream
@@ -2127,81 +2359,99 @@
 android.media.SubtitleController$Listener
 android.media.SyncParams
 android.media.ToneGenerator
-android.media.Utils
 android.media.Utils$1
 android.media.Utils$2
+android.media.Utils
 android.media.VolumeAutomation
-android.media.VolumeShaper$Configuration
 android.media.VolumeShaper$Configuration$1
 android.media.VolumeShaper$Configuration$Builder
-android.media.VolumeShaper$Operation
+android.media.VolumeShaper$Configuration
 android.media.VolumeShaper$Operation$1
 android.media.VolumeShaper$Operation$Builder
-android.media.VolumeShaper$State
+android.media.VolumeShaper$Operation
 android.media.VolumeShaper$State$1
+android.media.VolumeShaper$State
+android.media.audiofx.AudioEffect$Descriptor
 android.media.audiopolicy.AudioMix
-android.media.audiopolicy.AudioMixingRule
 android.media.audiopolicy.AudioMixingRule$AudioMixMatchCriterion
-android.media.browse.MediaBrowser
+android.media.audiopolicy.AudioMixingRule
 android.media.browse.MediaBrowser$1
 android.media.browse.MediaBrowser$2
 android.media.browse.MediaBrowser$6
 android.media.browse.MediaBrowser$7
 android.media.browse.MediaBrowser$8
 android.media.browse.MediaBrowser$ConnectionCallback
-android.media.browse.MediaBrowser$MediaItem
 android.media.browse.MediaBrowser$MediaItem$1
-android.media.browse.MediaBrowser$MediaServiceConnection
+android.media.browse.MediaBrowser$MediaItem
 android.media.browse.MediaBrowser$MediaServiceConnection$1
+android.media.browse.MediaBrowser$MediaServiceConnection
 android.media.browse.MediaBrowser$ServiceCallbacks
 android.media.browse.MediaBrowser$Subscription
 android.media.browse.MediaBrowser$SubscriptionCallback
+android.media.browse.MediaBrowser
 android.media.browse.MediaBrowserUtils
+android.media.midi.MidiDevice
+android.media.midi.MidiDeviceInfo$1
+android.media.midi.MidiDeviceInfo
 android.media.midi.MidiManager
 android.media.projection.MediaProjectionManager
-android.media.session.IActiveSessionsListener
+android.media.session.ControllerCallbackLink$CallbackStub
 android.media.session.IActiveSessionsListener$Stub
-android.media.session.ICallback
+android.media.session.IActiveSessionsListener
 android.media.session.ICallback$Stub
-android.media.session.ISession
-android.media.session.ISession$Stub
+android.media.session.ICallback
+android.media.session.IOnMediaKeyListener$Stub
+android.media.session.IOnMediaKeyListener
+android.media.session.IOnVolumeKeyLongPressListener$Stub
+android.media.session.IOnVolumeKeyLongPressListener
 android.media.session.ISession$Stub$Proxy
-android.media.session.ISessionCallback
+android.media.session.ISession$Stub
+android.media.session.ISession2TokensListener$Stub
+android.media.session.ISession2TokensListener
+android.media.session.ISession
 android.media.session.ISessionCallback$Stub
-android.media.session.ISessionController
-android.media.session.ISessionController$Stub
+android.media.session.ISessionCallback
 android.media.session.ISessionController$Stub$Proxy
-android.media.session.ISessionControllerCallback
+android.media.session.ISessionController$Stub
+android.media.session.ISessionController
 android.media.session.ISessionControllerCallback$Stub
-android.media.session.ISessionManager
-android.media.session.ISessionManager$Stub
+android.media.session.ISessionControllerCallback
 android.media.session.ISessionManager$Stub$Proxy
-android.media.session.MediaController
+android.media.session.ISessionManager$Stub
+android.media.session.ISessionManager
 android.media.session.MediaController$Callback
 android.media.session.MediaController$CallbackStub
 android.media.session.MediaController$MessageHandler
 android.media.session.MediaController$TransportControls
-android.media.session.MediaSession
+android.media.session.MediaController
 android.media.session.MediaSession$Callback
-android.media.session.MediaSession$CallbackMessageHandler
-android.media.session.MediaSession$CallbackStub
-android.media.session.MediaSession$QueueItem
 android.media.session.MediaSession$QueueItem$1
-android.media.session.MediaSession$Token
+android.media.session.MediaSession$QueueItem
 android.media.session.MediaSession$Token$1
-android.media.session.MediaSessionManager
+android.media.session.MediaSession$Token
+android.media.session.MediaSession
 android.media.session.MediaSessionManager$Callback
-android.media.session.MediaSessionManager$CallbackImpl
 android.media.session.MediaSessionManager$CallbackImpl$4
+android.media.session.MediaSessionManager$CallbackImpl
 android.media.session.MediaSessionManager$OnActiveSessionsChangedListener
-android.media.session.MediaSessionManager$SessionsChangedWrapper
-android.media.session.MediaSessionManager$SessionsChangedWrapper$1
+android.media.session.MediaSessionManager$OnMediaKeyListener
+android.media.session.MediaSessionManager$OnMediaKeyListenerImpl
+android.media.session.MediaSessionManager$OnSession2TokensChangedListener
+android.media.session.MediaSessionManager$OnVolumeKeyLongPressListener
+android.media.session.MediaSessionManager$OnVolumeKeyLongPressListenerImpl
+android.media.session.MediaSessionManager$RemoteUserInfo
+android.media.session.MediaSessionManager$Session2TokensChangedWrapper
 android.media.session.MediaSessionManager$SessionsChangedWrapper$1$1
-android.media.session.PlaybackState
+android.media.session.MediaSessionManager$SessionsChangedWrapper$1
+android.media.session.MediaSessionManager$SessionsChangedWrapper
+android.media.session.MediaSessionManager
 android.media.session.PlaybackState$1
 android.media.session.PlaybackState$Builder
-android.media.session.PlaybackState$CustomAction
 android.media.session.PlaybackState$CustomAction$1
+android.media.session.PlaybackState$CustomAction
+android.media.session.PlaybackState
+android.media.session.SessionCallbackLink
+android.media.session.SessionLink
 android.media.soundtrigger.SoundTriggerManager
 android.media.tv.TvInputManager
 android.metrics.LogMaker
@@ -2215,149 +2465,175 @@
 android.mtp.MtpServer
 android.mtp.MtpStorage
 android.mtp.MtpStorageInfo
-android.net.ConnectivityManager
+android.net.-$$Lambda$FpGXkd3pLxeXY58eJ_84mi1PLWQ
+android.net.-$$Lambda$p1_56lwnt1xBuY1muPblbN1Dtkw
 android.net.ConnectivityManager$CallbackHandler
 android.net.ConnectivityManager$NetworkCallback
+android.net.ConnectivityManager
 android.net.ConnectivityThread
 android.net.Credentials
 android.net.DhcpInfo$1
 android.net.EthernetManager
-android.net.IConnectivityManager
-android.net.IConnectivityManager$Stub
 android.net.IConnectivityManager$Stub$Proxy
-android.net.INetworkPolicyManager
-android.net.INetworkPolicyManager$Stub
+android.net.IConnectivityManager$Stub
+android.net.IConnectivityManager
+android.net.INetworkPolicyListener$Stub
+android.net.INetworkPolicyListener
 android.net.INetworkPolicyManager$Stub$Proxy
-android.net.INetworkScoreService
+android.net.INetworkPolicyManager$Stub
+android.net.INetworkPolicyManager
+android.net.INetworkScoreService$Stub$Proxy
 android.net.INetworkScoreService$Stub
-android.net.INetworkStatsService
-android.net.INetworkStatsService$Stub
+android.net.INetworkScoreService
 android.net.INetworkStatsService$Stub$Proxy
-android.net.IpConfiguration
+android.net.INetworkStatsService$Stub
+android.net.INetworkStatsService
 android.net.IpConfiguration$1
 android.net.IpConfiguration$IpAssignment
 android.net.IpConfiguration$ProxySettings
-android.net.IpPrefix
+android.net.IpConfiguration
+android.net.IpMemoryStore
 android.net.IpPrefix$1
 android.net.IpPrefix$2
-android.net.IpSecManager
+android.net.IpPrefix
 android.net.IpSecManager$SpiUnavailableException
-android.net.LinkAddress
+android.net.IpSecManager
 android.net.LinkAddress$1
-android.net.LinkProperties
+android.net.LinkAddress
 android.net.LinkProperties$1
+android.net.LinkProperties
 android.net.LocalServerSocket
 android.net.LocalSocket
-android.net.LocalSocketAddress
 android.net.LocalSocketAddress$Namespace
-android.net.LocalSocketImpl
+android.net.LocalSocketAddress
 android.net.LocalSocketImpl$SocketInputStream
 android.net.LocalSocketImpl$SocketOutputStream
-android.net.MacAddress
+android.net.LocalSocketImpl
 android.net.MacAddress$1
+android.net.MacAddress
 android.net.MatchAllNetworkSpecifier$1
-android.net.Network
+android.net.MatchAllNetworkSpecifier
 android.net.Network$1
 android.net.Network$NetworkBoundSocketFactory
-android.net.NetworkCapabilities
+android.net.Network
 android.net.NetworkCapabilities$1
+android.net.NetworkCapabilities$NameOf
+android.net.NetworkCapabilities
+android.net.NetworkConfig
+android.net.NetworkFactory$NetworkRequestInfo
 android.net.NetworkFactory
-android.net.NetworkInfo
 android.net.NetworkInfo$1
 android.net.NetworkInfo$DetailedState
 android.net.NetworkInfo$State
+android.net.NetworkInfo
+android.net.NetworkKey$1
+android.net.NetworkKey
+android.net.NetworkPolicyManager$Listener
 android.net.NetworkPolicyManager
-android.net.NetworkRequest
 android.net.NetworkRequest$1
 android.net.NetworkRequest$Builder
 android.net.NetworkRequest$Type
+android.net.NetworkRequest
 android.net.NetworkScoreManager
 android.net.NetworkSpecifier
-android.net.NetworkStats
 android.net.NetworkStats$1
+android.net.NetworkStats
 android.net.NetworkUtils
 android.net.NetworkWatchlistManager
 android.net.ParseException
+android.net.PrivateDnsConnectivityChecker
 android.net.Proxy
-android.net.ProxyInfo
 android.net.ProxyInfo$1
-android.net.RouteInfo
+android.net.ProxyInfo
 android.net.RouteInfo$1
-android.net.SSLCertificateSocketFactory
+android.net.RouteInfo
 android.net.SSLCertificateSocketFactory$1
+android.net.SSLCertificateSocketFactory
 android.net.SSLSessionCache
-android.net.StaticIpConfiguration
+android.net.ScoredNetwork$1
+android.net.ScoredNetwork
 android.net.StaticIpConfiguration$1
-android.net.StringNetworkSpecifier
+android.net.StaticIpConfiguration
 android.net.StringNetworkSpecifier$1
+android.net.StringNetworkSpecifier
 android.net.TrafficStats
-android.net.UidRange
+android.net.TransportInfo
 android.net.UidRange$1
-android.net.Uri
+android.net.UidRange
+android.net.UidRangeParcel$1
+android.net.UidRangeParcel
 android.net.Uri$1
 android.net.Uri$AbstractHierarchicalUri
 android.net.Uri$AbstractPart
 android.net.Uri$Builder
 android.net.Uri$HierarchicalUri
 android.net.Uri$OpaqueUri
-android.net.Uri$Part
 android.net.Uri$Part$EmptyPart
+android.net.Uri$Part
 android.net.Uri$PathPart
 android.net.Uri$PathSegments
 android.net.Uri$PathSegmentsBuilder
 android.net.Uri$StringUri
+android.net.Uri
+android.net.UriCodec
 android.net.WebAddress
+android.net.WifiKey$1
+android.net.WifiKey
 android.net.http.HttpResponseCache
 android.net.http.X509TrustManagerExtensions
 android.net.lowpan.LowpanManager
 android.net.nsd.NsdManager
-android.net.wifi.IWifiManager
-android.net.wifi.IWifiManager$Stub
+android.net.sip.SipManager
 android.net.wifi.IWifiManager$Stub$Proxy
+android.net.wifi.IWifiManager$Stub
+android.net.wifi.IWifiManager
 android.net.wifi.ParcelUtil
 android.net.wifi.RttManager
-android.net.wifi.ScanResult
 android.net.wifi.ScanResult$1
 android.net.wifi.ScanResult$InformationElement
 android.net.wifi.ScanResult$RadioChainInfo
-android.net.wifi.SupplicantState
+android.net.wifi.ScanResult
 android.net.wifi.SupplicantState$1
-android.net.wifi.WifiConfiguration
+android.net.wifi.SupplicantState
 android.net.wifi.WifiConfiguration$1
 android.net.wifi.WifiConfiguration$NetworkSelectionStatus
 android.net.wifi.WifiConfiguration$RecentFailure
-android.net.wifi.WifiEnterpriseConfig
+android.net.wifi.WifiConfiguration
 android.net.wifi.WifiEnterpriseConfig$1
-android.net.wifi.WifiInfo
+android.net.wifi.WifiEnterpriseConfig
 android.net.wifi.WifiInfo$1
-android.net.wifi.WifiManager
+android.net.wifi.WifiInfo
 android.net.wifi.WifiManager$WifiLock
+android.net.wifi.WifiManager
+android.net.wifi.WifiNetworkScoreCache$CacheListener
+android.net.wifi.WifiNetworkScoreCache
 android.net.wifi.WifiScanner
-android.net.wifi.WifiSsid
 android.net.wifi.WifiSsid$1
+android.net.wifi.WifiSsid
 android.net.wifi.aware.WifiAwareManager
+android.net.wifi.p2p.IWifiP2pManager$Stub
 android.net.wifi.p2p.WifiP2pManager
 android.net.wifi.rtt.WifiRttManager
-android.nfc.IAppCallback
 android.nfc.IAppCallback$Stub
-android.nfc.INfcAdapter
-android.nfc.INfcAdapter$Stub
+android.nfc.IAppCallback
 android.nfc.INfcAdapter$Stub$Proxy
-android.nfc.INfcCardEmulation
-android.nfc.INfcCardEmulation$Stub
+android.nfc.INfcAdapter$Stub
+android.nfc.INfcAdapter
 android.nfc.INfcCardEmulation$Stub$Proxy
-android.nfc.INfcFCardEmulation
-android.nfc.INfcFCardEmulation$Stub
+android.nfc.INfcCardEmulation$Stub
+android.nfc.INfcCardEmulation
 android.nfc.INfcFCardEmulation$Stub$Proxy
-android.nfc.INfcTag
-android.nfc.INfcTag$Stub
+android.nfc.INfcFCardEmulation$Stub
+android.nfc.INfcFCardEmulation
 android.nfc.INfcTag$Stub$Proxy
-android.nfc.NfcActivityManager
+android.nfc.INfcTag$Stub
+android.nfc.INfcTag
 android.nfc.NfcActivityManager$NfcActivityState
 android.nfc.NfcActivityManager$NfcApplicationState
-android.nfc.NfcAdapter
+android.nfc.NfcActivityManager
 android.nfc.NfcAdapter$1
 android.nfc.NfcAdapter$CreateNdefMessageCallback
+android.nfc.NfcAdapter
 android.nfc.NfcManager
 android.opengl.EGL14
 android.opengl.EGL15
@@ -2365,8 +2641,10 @@
 android.opengl.EGLContext
 android.opengl.EGLDisplay
 android.opengl.EGLExt
+android.opengl.EGLImage
 android.opengl.EGLObjectHandle
 android.opengl.EGLSurface
+android.opengl.EGLSync
 android.opengl.ETC1
 android.opengl.GLES10
 android.opengl.GLES10Ext
@@ -2381,29 +2659,29 @@
 android.opengl.GLUtils
 android.opengl.Matrix
 android.opengl.Visibility
-android.os.-$$Lambda$BatteryStats$q1UvBdLgHRZVzc68BxdksTmbuCw
-android.os.-$$Lambda$GraphicsEnvironment$U4RqBlx5-Js31-71IFOgvpvoAFg
+android.os.-$$Lambda$Binder$IYUHVkWouPK_9CG2s8VwyWBt5_I
 android.os.-$$Lambda$IyvVQC-0mKtsfXbnO0kDL64hrk0
 android.os.-$$Lambda$StrictMode$1yH8AK0bTwVwZOb9x8HoiSBdzr0
 android.os.-$$Lambda$StrictMode$lu9ekkHJ2HMz0jd3F8K8MnhenxQ
 android.os.-$$Lambda$StrictMode$yZJXPvy2veRNA-xL_SWdXzX_OLg
+android.os.-$$Lambda$ThreadLocalWorkSource$IP9vRFCDG5YwbWbXAEGHH52B9IE
 android.os.-$$Lambda$Trace$2zLZ-Lc2kAXsVjw_nLYeNhqmGq0
+android.os.-$$Lambda$q1UvBdLgHRZVzc68BxdksTmbuCw
 android.os.AsyncResult
 android.os.AsyncTask$1
 android.os.AsyncTask$2
 android.os.AsyncTask$3
 android.os.AsyncTask$AsyncTaskResult
 android.os.AsyncTask$InternalHandler
-android.os.AsyncTask$SerialExecutor
 android.os.AsyncTask$SerialExecutor$1
+android.os.AsyncTask$SerialExecutor
 android.os.AsyncTask$Status
 android.os.AsyncTask$WorkerRunnable
 android.os.BadParcelableException
-android.os.BaseBundle
 android.os.BaseBundle$NoImagePreloadHolder
+android.os.BaseBundle
 android.os.BatteryManager
 android.os.BatteryProperty$1
-android.os.BatteryStats
 android.os.BatteryStats$BitDescription
 android.os.BatteryStats$ControllerActivityCounter
 android.os.BatteryStats$Counter
@@ -2416,45 +2694,49 @@
 android.os.BatteryStats$LongCounter
 android.os.BatteryStats$LongCounterArray
 android.os.BatteryStats$Timer
-android.os.BatteryStats$Uid
-android.os.BatteryStats$Uid$Pkg
 android.os.BatteryStats$Uid$Pkg$Serv
+android.os.BatteryStats$Uid$Pkg
 android.os.BatteryStats$Uid$Proc
 android.os.BatteryStats$Uid$Sensor
 android.os.BatteryStats$Uid$Wakelock
-android.os.Binder
+android.os.BatteryStats$Uid
+android.os.BatteryStats
 android.os.Binder$NoImagePreloadHolder
-android.os.BinderProxy
+android.os.Binder
 android.os.BinderProxy$NoImagePreloadHolder
 android.os.BinderProxy$ProxyMap
-android.os.Build
+android.os.BinderProxy
+android.os.BugreportManager
 android.os.Build$VERSION
-android.os.Bundle
+android.os.Build
 android.os.Bundle$1
-android.os.CancellationSignal
+android.os.Bundle
 android.os.CancellationSignal$OnCancelListener
 android.os.CancellationSignal$Transport
+android.os.CancellationSignal
 android.os.ConditionVariable
 android.os.DeadObjectException
 android.os.DeadSystemException
-android.os.Debug
-android.os.Debug$MemoryInfo
 android.os.Debug$MemoryInfo$1
+android.os.Debug$MemoryInfo
+android.os.Debug
 android.os.DeviceIdleManager
-android.os.DropBoxManager
-android.os.DropBoxManager$Entry
 android.os.DropBoxManager$Entry$1
-android.os.Environment
+android.os.DropBoxManager$Entry
+android.os.DropBoxManager
+android.os.DynamicAndroidManager
 android.os.Environment$UserEnvironment
+android.os.Environment
 android.os.EventLogTags
 android.os.FactoryTest
 android.os.FileBridge$FileBridgeOutputStream
 android.os.FileObserver$ObserverThread
 android.os.FileUtils
+android.os.GraphicsEnvironment$OpenGlDriverChoice
 android.os.GraphicsEnvironment
-android.os.Handler
 android.os.Handler$Callback
 android.os.Handler$MessengerImpl
+android.os.Handler
 android.os.HandlerExecutor
 android.os.HandlerThread
 android.os.HardwarePropertiesManager
@@ -2463,111 +2745,114 @@
 android.os.HwBlob
 android.os.HwParcel
 android.os.HwRemoteBinder
-android.os.IBatteryPropertiesRegistrar
-android.os.IBatteryPropertiesRegistrar$Stub
 android.os.IBatteryPropertiesRegistrar$Stub$Proxy
-android.os.IBinder
+android.os.IBatteryPropertiesRegistrar$Stub
+android.os.IBatteryPropertiesRegistrar
 android.os.IBinder$DeathRecipient
-android.os.ICancellationSignal
-android.os.ICancellationSignal$Stub
+android.os.IBinder
 android.os.ICancellationSignal$Stub$Proxy
-android.os.IDeviceIdentifiersPolicyService
+android.os.ICancellationSignal$Stub
+android.os.ICancellationSignal
 android.os.IDeviceIdentifiersPolicyService$Stub
-android.os.IDeviceIdleController
-android.os.IDeviceIdleController$Stub
+android.os.IDeviceIdentifiersPolicyService
 android.os.IDeviceIdleController$Stub$Proxy
-android.os.IHardwarePropertiesManager
+android.os.IDeviceIdleController$Stub
+android.os.IDeviceIdleController
 android.os.IHardwarePropertiesManager$Stub
-android.os.IHwBinder
+android.os.IHardwarePropertiesManager
 android.os.IHwBinder$DeathRecipient
+android.os.IHwBinder
 android.os.IHwInterface
 android.os.IInterface
-android.os.IMessenger
-android.os.IMessenger$Stub
 android.os.IMessenger$Stub$Proxy
-android.os.INetworkManagementService
-android.os.INetworkManagementService$Stub
+android.os.IMessenger$Stub
+android.os.IMessenger
 android.os.INetworkManagementService$Stub$Proxy
-android.os.IPowerManager
-android.os.IPowerManager$Stub
+android.os.INetworkManagementService$Stub
+android.os.INetworkManagementService
 android.os.IPowerManager$Stub$Proxy
-android.os.IRemoteCallback
+android.os.IPowerManager$Stub
+android.os.IPowerManager
 android.os.IRemoteCallback$Stub
+android.os.IRemoteCallback
 android.os.IServiceManager
-android.os.IStatsManager
-android.os.IStatsManager$Stub
 android.os.IStatsManager$Stub$Proxy
-android.os.ISystemUpdateManager
-android.os.ISystemUpdateManager$Stub
+android.os.IStatsManager$Stub
+android.os.IStatsManager
 android.os.ISystemUpdateManager$Stub$Proxy
-android.os.IUserManager
-android.os.IUserManager$Stub
+android.os.ISystemUpdateManager$Stub
+android.os.ISystemUpdateManager
 android.os.IUserManager$Stub$Proxy
-android.os.IVibratorService
-android.os.IVibratorService$Stub
+android.os.IUserManager$Stub
+android.os.IUserManager
 android.os.IVibratorService$Stub$Proxy
+android.os.IVibratorService$Stub
+android.os.IVibratorService
 android.os.IncidentManager
-android.os.LocaleList
 android.os.LocaleList$1
+android.os.LocaleList
 android.os.Looper
 android.os.MemoryFile
-android.os.Message
 android.os.Message$1
-android.os.MessageQueue
+android.os.Message
 android.os.MessageQueue$IdleHandler
 android.os.MessageQueue$OnFileDescriptorEventListener
-android.os.Messenger
+android.os.MessageQueue
 android.os.Messenger$1
+android.os.Messenger
+android.os.NativeHandle
 android.os.OperationCanceledException
-android.os.Parcel
 android.os.Parcel$1
 android.os.Parcel$2
 android.os.Parcel$ReadWriteHelper
-android.os.ParcelFileDescriptor
+android.os.Parcel
 android.os.ParcelFileDescriptor$1
 android.os.ParcelFileDescriptor$2
 android.os.ParcelFileDescriptor$AutoCloseInputStream
 android.os.ParcelFileDescriptor$AutoCloseOutputStream
-android.os.ParcelUuid
+android.os.ParcelFileDescriptor
 android.os.ParcelUuid$1
-android.os.Parcelable
+android.os.ParcelUuid
 android.os.Parcelable$ClassLoaderCreator
 android.os.Parcelable$Creator
-android.os.ParcelableException
+android.os.Parcelable
 android.os.ParcelableException$1
-android.os.ParcelableParcel
+android.os.ParcelableException
 android.os.ParcelableParcel$1
-android.os.PatternMatcher
+android.os.ParcelableParcel
 android.os.PatternMatcher$1
-android.os.PersistableBundle
+android.os.PatternMatcher
 android.os.PersistableBundle$1
+android.os.PersistableBundle
 android.os.PooledStringReader
 android.os.PooledStringWriter
-android.os.PowerManager
-android.os.PowerManager$WakeLock
 android.os.PowerManager$WakeLock$1
+android.os.PowerManager$WakeLock
+android.os.PowerManager
 android.os.Process
 android.os.RecoverySystem
 android.os.Registrant
-android.os.RemoteCallbackList
+android.os.RegistrantList
+android.os.RemoteCallback$3
+android.os.RemoteCallback
 android.os.RemoteCallbackList$Callback
+android.os.RemoteCallbackList
 android.os.RemoteException
-android.os.ResultReceiver
 android.os.ResultReceiver$1
 android.os.ResultReceiver$MyResultReceiver
 android.os.ResultReceiver$MyRunnable
+android.os.ResultReceiver
 android.os.SELinux
-android.os.ServiceManager
 android.os.ServiceManager$ServiceNotFoundException
+android.os.ServiceManager
 android.os.ServiceManagerNative
 android.os.ServiceManagerProxy
 android.os.ServiceSpecificException
-android.os.SharedMemory
 android.os.SharedMemory$1
-android.os.ShellCallback
+android.os.SharedMemory
 android.os.ShellCallback$1
+android.os.ShellCallback
 android.os.StatFs
-android.os.StrictMode
 android.os.StrictMode$1
 android.os.StrictMode$2
 android.os.StrictMode$3
@@ -2576,71 +2861,84 @@
 android.os.StrictMode$6
 android.os.StrictMode$7
 android.os.StrictMode$8
+android.os.StrictMode$9
 android.os.StrictMode$AndroidBlockGuardPolicy
 android.os.StrictMode$AndroidCloseGuardReporter
 android.os.StrictMode$InstanceTracker
 android.os.StrictMode$OnThreadViolationListener
 android.os.StrictMode$Span
-android.os.StrictMode$ThreadPolicy
 android.os.StrictMode$ThreadPolicy$Builder
+android.os.StrictMode$ThreadPolicy
 android.os.StrictMode$ThreadSpanState
-android.os.StrictMode$ViolationInfo
 android.os.StrictMode$ViolationInfo$1
+android.os.StrictMode$ViolationInfo
 android.os.StrictMode$ViolationLogger
-android.os.StrictMode$VmPolicy
 android.os.StrictMode$VmPolicy$Builder
+android.os.StrictMode$VmPolicy
+android.os.StrictMode
 android.os.SystemClock
 android.os.SystemProperties
 android.os.SystemUpdateManager
 android.os.SystemVibrator
+android.os.ThreadLocalWorkSource
 android.os.Trace
+android.os.TransactionTracker
 android.os.UEventObserver
-android.os.UserHandle
+android.os.UpdateLock
 android.os.UserHandle$1
+android.os.UserHandle
+android.os.UserManager$EnforcingUser$1
+android.os.UserManager$UserOperationException
 android.os.UserManager
-android.os.VibrationEffect
 android.os.VibrationEffect$1
-android.os.VibrationEffect$OneShot
 android.os.VibrationEffect$OneShot$1
+android.os.VibrationEffect$OneShot
+android.os.VibrationEffect
 android.os.Vibrator
 android.os.VintfObject
 android.os.VintfRuntimeInfo
-android.os.WorkSource
 android.os.WorkSource$1
-android.os.WorkSource$WorkChain
 android.os.WorkSource$WorkChain$1
+android.os.WorkSource$WorkChain
+android.os.WorkSource
 android.os.ZygoteProcess
 android.os.ZygoteStartFailedEx
 android.os.health.HealthStats
-android.os.health.HealthStatsParceler
 android.os.health.HealthStatsParceler$1
+android.os.health.HealthStatsParceler
 android.os.health.SystemHealthManager
-android.os.health.TimerStat
 android.os.health.TimerStat$1
-android.os.storage.IObbActionListener
+android.os.health.TimerStat
 android.os.storage.IObbActionListener$Stub
-android.os.storage.IStorageManager
-android.os.storage.IStorageManager$Stub
+android.os.storage.IObbActionListener
 android.os.storage.IStorageManager$Stub$Proxy
-android.os.storage.StorageManager
+android.os.storage.IStorageManager$Stub
+android.os.storage.IStorageManager
 android.os.storage.StorageManager$ObbActionListener
-android.os.storage.StorageVolume
+android.os.storage.StorageManager
 android.os.storage.StorageVolume$1
+android.os.storage.StorageVolume
 android.os.storage.VolumeInfo$1
 android.os.storage.VolumeInfo$2
+android.os.storage.VolumeInfo
 android.os.strictmode.DiskReadViolation
 android.os.strictmode.InstanceCountViolation
 android.os.strictmode.Violation
-android.preference.Preference
+android.permission.-$$Lambda$PermissionControllerManager$RemoteService$L8N-TbqIPWKu7tyiOxbu_00YKss
+android.permission.IPermissionController$Stub$Proxy
+android.permission.PermissionControllerManager$RemoteService
+android.permission.PermissionControllerManager
 android.preference.Preference$OnPreferenceChangeListener
+android.preference.Preference
 android.preference.PreferenceActivity
-android.preference.PreferenceFragment
 android.preference.PreferenceFragment$OnPreferenceStartFragmentCallback
-android.preference.PreferenceManager
+android.preference.PreferenceFragment
 android.preference.PreferenceManager$OnPreferenceTreeClickListener
+android.preference.PreferenceManager
 android.print.PrintDocumentAdapter
 android.print.PrintManager
 android.provider.-$$Lambda$FontsContract$3FDNQd-WsglsyDhif-aHVbzkfrA
+android.provider.-$$Lambda$FontsContract$rqfIZKvP1frnI9vP1hVA8jQN_RE
 android.provider.-$$Lambda$Settings$NameValueCache$qSyMM6rUAHCa-5rsP-atfAqR3sA
 android.provider.BaseColumns
 android.provider.CalendarContract$CalendarColumns
@@ -2649,8 +2947,8 @@
 android.provider.CalendarContract$EventsColumns
 android.provider.CalendarContract$Instances
 android.provider.CalendarContract$SyncColumns
-android.provider.ContactsContract
 android.provider.ContactsContract$CommonDataKinds$BaseTypes
+android.provider.ContactsContract$CommonDataKinds$Callable
 android.provider.ContactsContract$CommonDataKinds$CommonColumns
 android.provider.ContactsContract$CommonDataKinds$Email
 android.provider.ContactsContract$CommonDataKinds$Phone
@@ -2666,9 +2964,16 @@
 android.provider.ContactsContract$DataUsageStatColumns
 android.provider.ContactsContract$RawContactsColumns
 android.provider.ContactsContract$StatusColumns
+android.provider.ContactsContract
+android.provider.DeviceConfig$1
+android.provider.DeviceConfig$OnPropertyChangedListener
+android.provider.DeviceConfig
 android.provider.Downloads$Impl
-android.provider.FontsContract
+android.provider.FontRequest
 android.provider.FontsContract$1
+android.provider.FontsContract$FontFamilyResult
+android.provider.FontsContract$FontInfo
+android.provider.FontsContract
 android.provider.MediaStore$Audio$AudioColumns
 android.provider.MediaStore$Audio$Media
 android.provider.MediaStore$Files
@@ -2677,31 +2982,34 @@
 android.provider.MediaStore$MediaColumns
 android.provider.MediaStore$Video$Media
 android.provider.MediaStore$Video$VideoColumns
+android.provider.MediaStore
+android.provider.SearchIndexableData
+android.provider.SearchIndexableResource
 android.provider.SearchIndexablesProvider
 android.provider.SearchRecentSuggestions
-android.provider.Settings
+android.provider.Settings$Config
 android.provider.Settings$ContentProviderHolder
 android.provider.Settings$GenerationTracker
-android.provider.Settings$Global
 android.provider.Settings$Global$1
 android.provider.Settings$Global$2
 android.provider.Settings$Global$3
+android.provider.Settings$Global
 android.provider.Settings$NameValueCache
 android.provider.Settings$NameValueTable
-android.provider.Settings$Secure
 android.provider.Settings$Secure$1
 android.provider.Settings$Secure$2
 android.provider.Settings$Secure$3
 android.provider.Settings$Secure$4
+android.provider.Settings$Secure
 android.provider.Settings$SettingNotFoundException
-android.provider.Settings$System
 android.provider.Settings$System$1
 android.provider.Settings$System$2
 android.provider.Settings$System$3
 android.provider.Settings$System$4
 android.provider.Settings$System$5
 android.provider.Settings$System$6
-android.provider.SettingsValidators
+android.provider.Settings$System
+android.provider.Settings
 android.provider.SettingsValidators$1
 android.provider.SettingsValidators$2
 android.provider.SettingsValidators$3
@@ -2710,134 +3018,181 @@
 android.provider.SettingsValidators$6
 android.provider.SettingsValidators$7
 android.provider.SettingsValidators$8
+android.provider.SettingsValidators$9
 android.provider.SettingsValidators$ComponentNameListValidator
 android.provider.SettingsValidators$DiscreteValueValidator
 android.provider.SettingsValidators$InclusiveFloatRangeValidator
 android.provider.SettingsValidators$InclusiveIntegerRangeValidator
 android.provider.SettingsValidators$PackageNameListValidator
 android.provider.SettingsValidators$Validator
+android.provider.SettingsValidators
+android.provider.Telephony$CarrierId$All
+android.provider.Telephony$Carriers
+android.provider.Telephony$ServiceStateTable
 android.provider.Telephony$Sms
 android.provider.Telephony$TextBasedSmsColumns
 android.renderscript.RenderScriptCacheDir
-android.security.IKeystoreService
-android.security.IKeystoreService$Stub
-android.security.IKeystoreService$Stub$Proxy
+android.rolecontrollerservice.IRoleControllerService$Stub
+android.rolecontrollerservice.IRoleControllerService
+android.security.AttestedKeyPair
+android.security.Credentials
+android.security.IKeyChainAliasCallback$Stub
+android.security.IKeyChainAliasCallback
+android.security.IKeyChainService
+android.security.KeyChain$1
+android.security.KeyChain$AliasResponse
+android.security.KeyChain$KeyChainConnection
 android.security.KeyChain
+android.security.KeyChainAliasCallback
 android.security.KeyChainException
 android.security.KeyStore
+android.security.KeyStoreException
 android.security.NetworkSecurityPolicy
 android.security.Scrypt
-android.security.keymaster.KeyCharacteristics
 android.security.keymaster.KeyCharacteristics$1
-android.security.keymaster.KeymasterArgument
+android.security.keymaster.KeyCharacteristics
 android.security.keymaster.KeymasterArgument$1
-android.security.keymaster.KeymasterArguments
+android.security.keymaster.KeymasterArgument
 android.security.keymaster.KeymasterArguments$1
-android.security.keymaster.KeymasterBlob
+android.security.keymaster.KeymasterArguments
 android.security.keymaster.KeymasterBlob$1
+android.security.keymaster.KeymasterBlob
 android.security.keymaster.KeymasterBlobArgument
+android.security.keymaster.KeymasterCertificateChain
 android.security.keymaster.KeymasterIntArgument
-android.security.keymaster.OperationResult
 android.security.keymaster.OperationResult$1
-android.security.keystore.AndroidKeyStoreAuthenticatedAESCipherSpi
+android.security.keymaster.OperationResult
 android.security.keystore.AndroidKeyStoreAuthenticatedAESCipherSpi$AdditionalAuthenticationDataStream
 android.security.keystore.AndroidKeyStoreAuthenticatedAESCipherSpi$BufferAllOutputUntilDoFinalStreamer
-android.security.keystore.AndroidKeyStoreAuthenticatedAESCipherSpi$GCM
 android.security.keystore.AndroidKeyStoreAuthenticatedAESCipherSpi$GCM$NoPadding
+android.security.keystore.AndroidKeyStoreAuthenticatedAESCipherSpi$GCM
+android.security.keystore.AndroidKeyStoreAuthenticatedAESCipherSpi
 android.security.keystore.AndroidKeyStoreBCWorkaroundProvider
 android.security.keystore.AndroidKeyStoreCipherSpiBase
 android.security.keystore.AndroidKeyStoreKey
+android.security.keystore.AndroidKeyStoreKeyFactorySpi
 android.security.keystore.AndroidKeyStoreProvider
 android.security.keystore.AndroidKeyStoreSpi
+android.security.keystore.AttestationUtils
+android.security.keystore.IKeystoreService$Stub$Proxy
+android.security.keystore.IKeystoreService$Stub
+android.security.keystore.IKeystoreService
 android.security.keystore.KeyAttestationException
+android.security.keystore.KeyGenParameterSpec
 android.security.keystore.KeyProperties$KeyAlgorithm
 android.security.keystore.KeyStoreCryptoOperation
-android.security.keystore.KeyStoreCryptoOperationChunkedStreamer
 android.security.keystore.KeyStoreCryptoOperationChunkedStreamer$MainDataStream
+android.security.keystore.KeyStoreCryptoOperationChunkedStreamer$Stream
+android.security.keystore.KeyStoreCryptoOperationChunkedStreamer
+android.security.keystore.KeyStoreCryptoOperationStreamer
 android.security.keystore.KeyStoreCryptoOperationUtils
+android.security.keystore.ParcelableKeyGenParameterSpec
+android.security.keystore.StrongBoxUnavailableException
+android.security.keystore.UserAuthArgs
 android.security.keystore.recovery.RecoveryController
 android.security.net.config.ApplicationConfig
 android.security.net.config.CertificateSource
 android.security.net.config.CertificatesEntryRef
 android.security.net.config.ConfigNetworkSecurityPolicy
 android.security.net.config.ConfigSource
-android.security.net.config.DirectoryCertificateSource
 android.security.net.config.DirectoryCertificateSource$1
 android.security.net.config.DirectoryCertificateSource$3
 android.security.net.config.DirectoryCertificateSource$CertSelector
+android.security.net.config.DirectoryCertificateSource
 android.security.net.config.KeyStoreCertificateSource
 android.security.net.config.KeyStoreConfigSource
-android.security.net.config.ManifestConfigSource
 android.security.net.config.ManifestConfigSource$DefaultConfigSource
-android.security.net.config.NetworkSecurityConfig
+android.security.net.config.ManifestConfigSource
 android.security.net.config.NetworkSecurityConfig$1
 android.security.net.config.NetworkSecurityConfig$Builder
+android.security.net.config.NetworkSecurityConfig
 android.security.net.config.NetworkSecurityConfigProvider
 android.security.net.config.NetworkSecurityTrustManager
+android.security.net.config.Pin
 android.security.net.config.PinSet
 android.security.net.config.RootTrustManager
 android.security.net.config.RootTrustManagerFactorySpi
 android.security.net.config.SystemCertificateSource
+android.security.net.config.TrustAnchor
 android.security.net.config.TrustedCertificateStoreAdapter
 android.security.net.config.UserCertificateSource
-android.security.net.config.XmlConfigSource
 android.security.net.config.XmlConfigSource$ParserException
-android.service.media.IMediaBrowserService
-android.service.media.IMediaBrowserService$Stub
+android.security.net.config.XmlConfigSource
+android.service.carrier.CarrierIdentifier$1
+android.service.carrier.CarrierIdentifier
+android.service.dreams.IDreamManager$Stub$Proxy
+android.service.dreams.IDreamManager$Stub
 android.service.media.IMediaBrowserService$Stub$Proxy
-android.service.media.IMediaBrowserServiceCallbacks
-android.service.media.IMediaBrowserServiceCallbacks$Stub
+android.service.media.IMediaBrowserService$Stub
+android.service.media.IMediaBrowserService
 android.service.media.IMediaBrowserServiceCallbacks$Stub$Proxy
-android.service.media.MediaBrowserService
+android.service.media.IMediaBrowserServiceCallbacks$Stub
+android.service.media.IMediaBrowserServiceCallbacks
 android.service.media.MediaBrowserService$1
 android.service.media.MediaBrowserService$3
 android.service.media.MediaBrowserService$BrowserRoot
 android.service.media.MediaBrowserService$ConnectionRecord
 android.service.media.MediaBrowserService$Result
-android.service.media.MediaBrowserService$ServiceBinder
 android.service.media.MediaBrowserService$ServiceBinder$1
 android.service.media.MediaBrowserService$ServiceBinder$2
 android.service.media.MediaBrowserService$ServiceBinder$3
 android.service.media.MediaBrowserService$ServiceBinder$4
+android.service.media.MediaBrowserService$ServiceBinder
+android.service.media.MediaBrowserService
+android.service.notification.Adjustment$1
+android.service.notification.Adjustment
 android.service.notification.Condition$1
-android.service.notification.INotificationListener
 android.service.notification.INotificationListener$Stub
-android.service.notification.IStatusBarNotificationHolder
+android.service.notification.INotificationListener
+android.service.notification.IStatusBarNotificationHolder$Stub$Proxy
 android.service.notification.IStatusBarNotificationHolder$Stub
-android.service.notification.NotificationListenerService
+android.service.notification.IStatusBarNotificationHolder
+android.service.notification.NotificationAssistantService$MyHandler
+android.service.notification.NotificationAssistantService$NotificationAssistantServiceWrapper
+android.service.notification.NotificationAssistantService
 android.service.notification.NotificationListenerService$MyHandler
 android.service.notification.NotificationListenerService$NotificationListenerWrapper
 android.service.notification.NotificationListenerService$Ranking
 android.service.notification.NotificationListenerService$RankingMap$1
+android.service.notification.NotificationListenerService$RankingMap
+android.service.notification.NotificationListenerService
 android.service.notification.NotificationRankingUpdate$1
-android.service.notification.StatusBarNotification
+android.service.notification.NotificationRankingUpdate
+android.service.notification.NotificationStats$1
+android.service.notification.NotificationStats
 android.service.notification.StatusBarNotification$1
+android.service.notification.StatusBarNotification
 android.service.notification.ZenModeConfig$ZenRule$1
 android.service.oemlock.OemLockManager
-android.service.persistentdata.IPersistentDataBlockService
 android.service.persistentdata.IPersistentDataBlockService$Stub
+android.service.persistentdata.IPersistentDataBlockService
 android.service.persistentdata.PersistentDataBlockManager
-android.service.textclassifier.ITextClassifierService
+android.service.textclassifier.ITextClassifierService$Stub$Proxy
 android.service.textclassifier.ITextClassifierService$Stub
-android.service.voice.IVoiceInteractionService
+android.service.textclassifier.ITextClassifierService
+android.service.textclassifier.TextClassifierService
 android.service.voice.IVoiceInteractionService$Stub
+android.service.voice.IVoiceInteractionService
 android.service.voice.IVoiceInteractionSession
-android.service.voice.IVoiceInteractionSessionService
 android.service.voice.IVoiceInteractionSessionService$Stub
-android.service.vr.IVrManager
+android.service.voice.IVoiceInteractionSessionService
 android.service.vr.IVrManager$Stub
-android.service.vr.IVrStateCallbacks
+android.service.vr.IVrManager
 android.service.vr.IVrStateCallbacks$Stub
-android.speech.tts.ITextToSpeechCallback
+android.service.vr.IVrStateCallbacks
 android.speech.tts.ITextToSpeechCallback$Stub
-android.speech.tts.ITextToSpeechService
+android.speech.tts.ITextToSpeechCallback
 android.speech.tts.ITextToSpeechService$Stub$Proxy
-android.speech.tts.TextToSpeech
+android.speech.tts.ITextToSpeechService
 android.speech.tts.TextToSpeech$Action
-android.speech.tts.TextToSpeech$Connection
 android.speech.tts.TextToSpeech$Connection$SetupConnectionAsyncTask
+android.speech.tts.TextToSpeech$Connection
 android.speech.tts.TextToSpeech$OnInitListener
+android.speech.tts.TextToSpeech
 android.speech.tts.TtsEngines
+android.sysprop.CryptoProperties
+android.sysprop.DisplayProperties
+android.sysprop.VoldProperties
 android.system.ErrnoException
 android.system.GaiException
 android.system.Int32Ref
@@ -2865,150 +3220,257 @@
 android.telecom.CallAudioState$1
 android.telecom.DefaultDialerManager
 android.telecom.DisconnectCause$1
+android.telecom.Log
 android.telecom.PhoneAccount$1
-android.telecom.PhoneAccountHandle
+android.telecom.PhoneAccount$Builder
+android.telecom.PhoneAccount
 android.telecom.PhoneAccountHandle$1
+android.telecom.PhoneAccountHandle
 android.telecom.TelecomManager
 android.telecom.VideoProfile$1
+android.telephony.AccessNetworkConstants$TransportType
+android.telephony.CarrierConfigManager$Gps
 android.telephony.CarrierConfigManager
-android.telephony.CellIdentity
 android.telephony.CellIdentity$1
+android.telephony.CellIdentity
 android.telephony.CellIdentityGsm$1
-android.telephony.CellIdentityLte
 android.telephony.CellIdentityLte$1
-android.telephony.CellIdentityWcdma
+android.telephony.CellIdentityLte
 android.telephony.CellIdentityWcdma$1
-android.telephony.CellInfo
+android.telephony.CellIdentityWcdma
 android.telephony.CellInfo$1
+android.telephony.CellInfo
 android.telephony.CellInfoGsm$1
-android.telephony.CellInfoLte
 android.telephony.CellInfoLte$1
+android.telephony.CellInfoLte
 android.telephony.CellInfoWcdma$1
 android.telephony.CellLocation
 android.telephony.CellSignalStrength
+android.telephony.CellSignalStrengthCdma$1
+android.telephony.CellSignalStrengthCdma
 android.telephony.CellSignalStrengthGsm$1
-android.telephony.CellSignalStrengthLte
+android.telephony.CellSignalStrengthGsm
 android.telephony.CellSignalStrengthLte$1
+android.telephony.CellSignalStrengthLte
+android.telephony.CellSignalStrengthNr$1
+android.telephony.CellSignalStrengthNr
+android.telephony.CellSignalStrengthTdscdma$1
+android.telephony.CellSignalStrengthTdscdma
 android.telephony.CellSignalStrengthWcdma$1
+android.telephony.CellSignalStrengthWcdma
+android.telephony.ClientRequestStats$1
+android.telephony.ClientRequestStats
 android.telephony.DataSpecificRegistrationStates$1
-android.telephony.ModemActivityInfo
+android.telephony.DataSpecificRegistrationStates
+android.telephony.DebugEventReporter
+android.telephony.INetworkService$Stub
+android.telephony.INetworkService
+android.telephony.INetworkServiceCallback$Stub
+android.telephony.INetworkServiceCallback
+android.telephony.LocationAccessPolicy
+android.telephony.LteVopsSupportInfo$1
+android.telephony.LteVopsSupportInfo
 android.telephony.ModemActivityInfo$1
-android.telephony.NetworkRegistrationState
+android.telephony.ModemActivityInfo
+android.telephony.ModemInfo$1
+android.telephony.ModemInfo
 android.telephony.NetworkRegistrationState$1
+android.telephony.NetworkRegistrationState
+android.telephony.NetworkService$INetworkServiceWrapper
+android.telephony.NetworkService$NetworkServiceHandler
+android.telephony.NetworkService$NetworkServiceProvider
+android.telephony.NetworkService
+android.telephony.NetworkServiceCallback
+android.telephony.PhoneCapability$1
+android.telephony.PhoneCapability
 android.telephony.PhoneNumberUtils
-android.telephony.PhoneStateListener
-android.telephony.PhoneStateListener$1
 android.telephony.PhoneStateListener$IPhoneStateListenerStub
+android.telephony.PhoneStateListener
+android.telephony.RadioAccessFamily$1
+android.telephony.RadioAccessFamily
 android.telephony.Rlog
-android.telephony.ServiceState
 android.telephony.ServiceState$1
-android.telephony.SignalStrength
+android.telephony.ServiceState
 android.telephony.SignalStrength$1
+android.telephony.SignalStrength
 android.telephony.SmsManager
-android.telephony.SubscriptionInfo
 android.telephony.SubscriptionInfo$1
-android.telephony.SubscriptionManager
-android.telephony.SubscriptionManager$OnSubscriptionsChangedListener
+android.telephony.SubscriptionInfo
 android.telephony.SubscriptionManager$OnSubscriptionsChangedListener$1
 android.telephony.SubscriptionManager$OnSubscriptionsChangedListener$OnSubscriptionsChangedListenerHandler
+android.telephony.SubscriptionManager$OnSubscriptionsChangedListener
+android.telephony.SubscriptionManager
+android.telephony.TelephonyHistogram$1
+android.telephony.TelephonyHistogram
+android.telephony.TelephonyManager$5
+android.telephony.TelephonyManager$MultiSimVariants
 android.telephony.TelephonyManager
 android.telephony.UiccAccessRule$1
+android.telephony.UiccSlotInfo$1
+android.telephony.UiccSlotInfo
 android.telephony.VoiceSpecificRegistrationStates$1
+android.telephony.VoiceSpecificRegistrationStates
+android.telephony.data.ApnSetting$1
+android.telephony.data.ApnSetting
+android.telephony.data.DataService$DataServiceHandler
+android.telephony.data.DataService$DataServiceProvider
+android.telephony.data.DataService$IDataServiceWrapper
+android.telephony.data.DataService
+android.telephony.data.IDataService$Stub
+android.telephony.data.IDataService
+android.telephony.data.IDataServiceCallback$Stub
+android.telephony.data.IDataServiceCallback
+android.telephony.emergency.EmergencyNumber$1
+android.telephony.emergency.EmergencyNumber
 android.telephony.euicc.EuiccCardManager
 android.telephony.euicc.EuiccManager
 android.telephony.gsm.GsmCellLocation
-android.telephony.ims.aidl.IImsCapabilityCallback
+android.telephony.ims.-$$Lambda$ImsMmTelManager$CapabilityCallback$CapabilityBinder$4YNlUy9HsD02E7Sbv2VeVtbao08
+android.telephony.ims.-$$Lambda$ImsMmTelManager$CapabilityCallback$CapabilityBinder$gK2iK9ZQ3GDeuMTfhRd7yjiYlO8
+android.telephony.ims.-$$Lambda$ProvisioningManager$Callback$CallbackBinder$R_8jXQuOM7aV7dIwYBzcWwV-YpM
+android.telephony.ims.-$$Lambda$ProvisioningManager$Callback$CallbackBinder$rMBayJlNIko46WAqcRq_ggxbfrY
+android.telephony.ims.ImsMmTelManager$CapabilityCallback$CapabilityBinder
+android.telephony.ims.ImsMmTelManager$CapabilityCallback
+android.telephony.ims.ImsMmTelManager$RegistrationCallback$RegistrationBinder$1
+android.telephony.ims.ImsMmTelManager$RegistrationCallback$RegistrationBinder
+android.telephony.ims.ImsMmTelManager$RegistrationCallback
+android.telephony.ims.ImsReasonInfo$1
+android.telephony.ims.ImsReasonInfo
+android.telephony.ims.ImsService$1
+android.telephony.ims.ImsService$Listener
+android.telephony.ims.ImsService
+android.telephony.ims.ImsUtListener
+android.telephony.ims.ProvisioningManager$Callback$CallbackBinder
+android.telephony.ims.ProvisioningManager$Callback
+android.telephony.ims.RcsManager
 android.telephony.ims.aidl.IImsCapabilityCallback$Stub
-android.telephony.ims.aidl.IImsRegistrationCallback
+android.telephony.ims.aidl.IImsCapabilityCallback
+android.telephony.ims.aidl.IImsConfig$Stub
+android.telephony.ims.aidl.IImsConfig
+android.telephony.ims.aidl.IImsConfigCallback$Stub
+android.telephony.ims.aidl.IImsConfigCallback
+android.telephony.ims.aidl.IImsMmTelFeature$Stub
+android.telephony.ims.aidl.IImsMmTelFeature
+android.telephony.ims.aidl.IImsMmTelListener$Stub
+android.telephony.ims.aidl.IImsMmTelListener
+android.telephony.ims.aidl.IImsRegistration$Stub
+android.telephony.ims.aidl.IImsRegistration
 android.telephony.ims.aidl.IImsRegistrationCallback$Stub
-android.telephony.ims.feature.ImsFeature$CapabilityCallback
-android.text.AndroidBidi
+android.telephony.ims.aidl.IImsRegistrationCallback
+android.telephony.ims.aidl.IImsServiceController$Stub
+android.telephony.ims.aidl.IImsServiceController
+android.telephony.ims.aidl.IImsServiceControllerListener$Stub
+android.telephony.ims.aidl.IImsServiceControllerListener
+android.telephony.ims.aidl.IImsSmsListener$Stub
+android.telephony.ims.aidl.IImsSmsListener
+android.telephony.ims.feature.ImsFeature$Capabilities
+android.telephony.ims.feature.ImsFeature
+android.telephony.ims.feature.MmTelFeature$1
+android.telephony.ims.feature.MmTelFeature$Listener
+android.telephony.ims.feature.MmTelFeature$MmTelCapabilities
+android.telephony.ims.feature.MmTelFeature
+android.telephony.ims.stub.-$$Lambda$ImsConfigImplBase$yL4863k-FoQyqg_FX2mWsLMqbyA
+android.telephony.ims.stub.ImsConfigImplBase$ImsConfigStub
+android.telephony.ims.stub.ImsConfigImplBase
+android.telephony.ims.stub.ImsEcbmImplBase$1
+android.telephony.ims.stub.ImsEcbmImplBase
+android.telephony.ims.stub.ImsFeatureConfiguration$FeatureSlotPair
+android.telephony.ims.stub.ImsMultiEndpointImplBase$1
+android.telephony.ims.stub.ImsMultiEndpointImplBase
+android.telephony.ims.stub.ImsRegistrationImplBase$1
+android.telephony.ims.stub.ImsRegistrationImplBase
+android.telephony.ims.stub.ImsSmsImplBase
+android.telephony.ims.stub.ImsUtImplBase$1
+android.telephony.ims.stub.ImsUtImplBase
 android.text.AndroidBidi$EmojiBidiOverride
+android.text.AndroidBidi
 android.text.AndroidCharacter
 android.text.Annotation
-android.text.AutoGrowArray
 android.text.AutoGrowArray$ByteArray
 android.text.AutoGrowArray$FloatArray
 android.text.AutoGrowArray$IntArray
-android.text.BoringLayout
+android.text.AutoGrowArray
+android.text.BidiFormatter$DirectionalityEstimator
+android.text.BidiFormatter
 android.text.BoringLayout$Metrics
+android.text.BoringLayout
 android.text.ClipboardManager
-android.text.DynamicLayout
 android.text.DynamicLayout$Builder
 android.text.DynamicLayout$ChangeWatcher
-android.text.Editable
+android.text.DynamicLayout
 android.text.Editable$Factory
+android.text.Editable
 android.text.Emoji
-android.text.FontConfig
 android.text.FontConfig$Alias
 android.text.FontConfig$Family
 android.text.FontConfig$Font
+android.text.FontConfig
 android.text.GetChars
 android.text.GraphicsOperations
-android.text.Html
 android.text.Html$HtmlParser
 android.text.Html$TagHandler
-android.text.HtmlToSpannedConverter
+android.text.Html
 android.text.HtmlToSpannedConverter$Href
+android.text.HtmlToSpannedConverter
 android.text.Hyphenator
-android.text.InputFilter
 android.text.InputFilter$LengthFilter
+android.text.InputFilter
 android.text.InputType
-android.text.Layout
 android.text.Layout$Alignment
 android.text.Layout$Directions
 android.text.Layout$Ellipsizer
 android.text.Layout$SpannedEllipsizer
+android.text.Layout
 android.text.MeasuredParagraph
-android.text.NoCopySpan
 android.text.NoCopySpan$Concrete
+android.text.NoCopySpan
 android.text.PackedIntVector
 android.text.PackedObjectVector
 android.text.ParcelableSpan
-android.text.PrecomputedText
 android.text.PrecomputedText$ParagraphInfo
 android.text.PrecomputedText$Params
-android.text.Selection
+android.text.PrecomputedText
 android.text.Selection$END
 android.text.Selection$MEMORY
 android.text.Selection$MemoryTextWatcher
 android.text.Selection$PositionIterator
 android.text.Selection$START
+android.text.Selection
 android.text.SpanSet
 android.text.SpanWatcher
-android.text.Spannable
 android.text.Spannable$Factory
+android.text.Spannable
 android.text.SpannableString
 android.text.SpannableStringBuilder
 android.text.SpannableStringInternal
 android.text.Spanned
 android.text.SpannedString
-android.text.StaticLayout
 android.text.StaticLayout$Builder
 android.text.StaticLayout$LineBreaks
+android.text.StaticLayout
 android.text.TextDirectionHeuristic
-android.text.TextDirectionHeuristics
 android.text.TextDirectionHeuristics$AnyStrong
 android.text.TextDirectionHeuristics$FirstStrong
 android.text.TextDirectionHeuristics$TextDirectionAlgorithm
 android.text.TextDirectionHeuristics$TextDirectionHeuristicImpl
 android.text.TextDirectionHeuristics$TextDirectionHeuristicInternal
 android.text.TextDirectionHeuristics$TextDirectionHeuristicLocale
-android.text.TextLine
+android.text.TextDirectionHeuristics
 android.text.TextLine$DecorationInfo
+android.text.TextLine
 android.text.TextPaint
-android.text.TextUtils
 android.text.TextUtils$1
 android.text.TextUtils$EllipsizeCallback
 android.text.TextUtils$SimpleStringSplitter
 android.text.TextUtils$StringSplitter
 android.text.TextUtils$TruncateAt
+android.text.TextUtils
 android.text.TextWatcher
 android.text.format.DateFormat
 android.text.format.DateUtils
 android.text.format.Formatter
-android.text.format.Time
 android.text.format.Time$TimeCalculator
+android.text.format.Time
 android.text.format.TimeFormatter
 android.text.method.AllCapsTransformationMethod
 android.text.method.ArrowKeyMovementMethod
@@ -3021,17 +3483,17 @@
 android.text.method.NumberKeyListener
 android.text.method.PasswordTransformationMethod
 android.text.method.QwertyKeyListener
-android.text.method.ReplacementTransformationMethod
 android.text.method.ReplacementTransformationMethod$ReplacementCharSequence
 android.text.method.ReplacementTransformationMethod$SpannedReplacementCharSequence
+android.text.method.ReplacementTransformationMethod
 android.text.method.ScrollingMovementMethod
 android.text.method.SingleLineTransformationMethod
-android.text.method.TextKeyListener
 android.text.method.TextKeyListener$Capitalize
 android.text.method.TextKeyListener$SettingsObserver
+android.text.method.TextKeyListener
 android.text.method.Touch
-android.text.method.TransformationMethod
 android.text.method.TransformationMethod2
+android.text.method.TransformationMethod
 android.text.method.WordIterator
 android.text.style.AbsoluteSizeSpan
 android.text.style.AlignmentSpan
@@ -3051,8 +3513,8 @@
 android.text.style.ReplacementSpan
 android.text.style.SpellCheckSpan
 android.text.style.StyleSpan
-android.text.style.SuggestionSpan
 android.text.style.SuggestionSpan$1
+android.text.style.SuggestionSpan
 android.text.style.TabStopSpan
 android.text.style.TextAppearanceSpan
 android.text.style.URLSpan
@@ -3068,106 +3530,110 @@
 android.text.util.Rfc822Token
 android.text.util.Rfc822Tokenizer
 android.transition.AutoTransition
-android.transition.ChangeBounds
 android.transition.ChangeBounds$1
 android.transition.ChangeBounds$2
 android.transition.ChangeBounds$3
 android.transition.ChangeBounds$4
 android.transition.ChangeBounds$5
 android.transition.ChangeBounds$6
+android.transition.ChangeBounds
 android.transition.ChangeClipBounds
-android.transition.ChangeImageTransform
 android.transition.ChangeImageTransform$1
 android.transition.ChangeImageTransform$2
-android.transition.ChangeTransform
+android.transition.ChangeImageTransform
 android.transition.ChangeTransform$1
 android.transition.ChangeTransform$2
-android.transition.Fade
+android.transition.ChangeTransform
 android.transition.Fade$1
 android.transition.Fade$FadeAnimatorListener
+android.transition.Fade
 android.transition.PathMotion
 android.transition.Scene
-android.transition.Transition
 android.transition.Transition$1
 android.transition.Transition$2
 android.transition.Transition$3
 android.transition.Transition$AnimationInfo
 android.transition.Transition$TransitionListener
+android.transition.Transition
 android.transition.TransitionInflater
 android.transition.TransitionListenerAdapter
-android.transition.TransitionManager
-android.transition.TransitionManager$MultiListener
 android.transition.TransitionManager$MultiListener$1
-android.transition.TransitionSet
+android.transition.TransitionManager$MultiListener
+android.transition.TransitionManager
 android.transition.TransitionSet$TransitionSetListener
+android.transition.TransitionSet
 android.transition.TransitionUtils
 android.transition.TransitionValues
 android.transition.TransitionValuesMaps
 android.transition.Visibility
 android.util.AndroidException
 android.util.AndroidRuntimeException
-android.util.ArrayMap
 android.util.ArrayMap$1
-android.util.ArraySet
+android.util.ArrayMap
 android.util.ArraySet$1
+android.util.ArraySet
 android.util.AtomicFile
 android.util.AttributeSet
-android.util.Base64
 android.util.Base64$Coder
 android.util.Base64$Decoder
 android.util.Base64$Encoder
+android.util.Base64
 android.util.ContainerHelpers
-android.util.DataUnit
 android.util.DataUnit$1
 android.util.DataUnit$2
 android.util.DataUnit$3
 android.util.DataUnit$4
 android.util.DataUnit$5
 android.util.DataUnit$6
+android.util.DataUnit
 android.util.DebugUtils
 android.util.DisplayMetrics
-android.util.EventLog
 android.util.EventLog$Event
+android.util.EventLog
 android.util.ExceptionUtils
+android.util.FeatureFlagUtils
 android.util.FloatProperty
+android.util.IconDrawableFactory
 android.util.IntArray
 android.util.IntProperty
-android.util.JsonReader
 android.util.JsonReader$1
+android.util.JsonReader
 android.util.JsonScope
 android.util.JsonToken
 android.util.JsonWriter
 android.util.KeyValueListParser
-android.util.Log
+android.util.LocalLog
 android.util.Log$1
 android.util.Log$ImmediateLogWriter
 android.util.Log$PreloadHolder
 android.util.Log$TerribleFailure
 android.util.Log$TerribleFailureHandler
+android.util.Log
 android.util.LogPrinter
 android.util.LongArray
 android.util.LongSparseArray
 android.util.LongSparseLongArray
 android.util.LruCache
-android.util.MapCollections
 android.util.MapCollections$ArrayIterator
 android.util.MapCollections$EntrySet
 android.util.MapCollections$KeySet
 android.util.MapCollections$MapIterator
 android.util.MapCollections$ValuesCollection
+android.util.MapCollections
 android.util.MathUtils
-android.util.MemoryIntArray
 android.util.MemoryIntArray$1
-android.util.MergedConfiguration
+android.util.MemoryIntArray
 android.util.MergedConfiguration$1
+android.util.MergedConfiguration
 android.util.MutableInt
 android.util.MutableLong
 android.util.Pair
-android.util.PathParser
 android.util.PathParser$PathData
+android.util.PathParser
 android.util.Pools$Pool
 android.util.Pools$SimplePool
 android.util.Pools$SynchronizedPool
+android.util.PrintWriterPrinter
 android.util.Printer
 android.util.Property
 android.util.Range
@@ -3191,25 +3657,30 @@
 android.util.Xml
 android.util.XmlPullAttributes
 android.util.jar.StrictJarFile
+android.util.proto.ProtoOutputStream
+android.util.proto.ProtoParseException
+android.util.proto.ProtoStream
+android.util.proto.WireTypeMismatchException
+android.view.-$$Lambda$9vBfnQOmNnsc9WU80IIatZHQGKc
 android.view.-$$Lambda$FocusFinder$FocusSorter$h0f2ZYL6peSaaEeCCkAoYs_YZvU
 android.view.-$$Lambda$FocusFinder$FocusSorter$kW7K1t9q7Y62V38r-7g6xRzqqq8
 android.view.-$$Lambda$FocusFinder$P8rLvOJhymJH5ALAgUjGaM5gxKA
 android.view.-$$Lambda$FocusFinder$Pgx6IETuqCkrhJYdiBes48tolG4
+android.view.-$$Lambda$InsetsController$Cj7UJrCkdHvJAZ_cYKrXuTMsjz8
 android.view.-$$Lambda$QI1s392qW8l6mC24bcy9050SkuY
 android.view.-$$Lambda$SurfaceView$Cs7TGTdA1lXf9qW8VOJAfEsMjdk
 android.view.-$$Lambda$SurfaceView$SyyzxOgxKwZMRgiiTGcRYbOU5JY
 android.view.-$$Lambda$View$llq76MkPXP4bNcb9oJt_msw0fnQ
-android.view.AbsSavedState
 android.view.AbsSavedState$1
 android.view.AbsSavedState$2
-android.view.AccessibilityInteractionController
+android.view.AbsSavedState
 android.view.AccessibilityInteractionController$AccessibilityNodePrefetcher
 android.view.AccessibilityInteractionController$PrivateHandler
-android.view.ActionMode
+android.view.AccessibilityInteractionController
 android.view.ActionMode$Callback
-android.view.ActionProvider
+android.view.ActionMode
 android.view.ActionProvider$SubUiVisibilityListener
-android.view.Choreographer
+android.view.ActionProvider
 android.view.Choreographer$1
 android.view.Choreographer$2
 android.view.Choreographer$3
@@ -3218,146 +3689,153 @@
 android.view.Choreographer$FrameCallback
 android.view.Choreographer$FrameDisplayEventReceiver
 android.view.Choreographer$FrameHandler
-android.view.ContextMenu
+android.view.Choreographer
 android.view.ContextMenu$ContextMenuInfo
+android.view.ContextMenu
 android.view.ContextThemeWrapper
-android.view.Display
-android.view.Display$HdrCapabilities
 android.view.Display$HdrCapabilities$1
-android.view.Display$Mode
+android.view.Display$HdrCapabilities
 android.view.Display$Mode$1
+android.view.Display$Mode
+android.view.Display
 android.view.DisplayAdjustments
-android.view.DisplayCutout
-android.view.DisplayCutout$ParcelableWrapper
+android.view.DisplayCutout$Bounds
 android.view.DisplayCutout$ParcelableWrapper$1
+android.view.DisplayCutout$ParcelableWrapper
+android.view.DisplayCutout
 android.view.DisplayEventReceiver
-android.view.DisplayInfo
 android.view.DisplayInfo$1
-android.graphics.RecordingCanvas
+android.view.DisplayInfo
+android.view.DisplayListCanvas
 android.view.FallbackEventHandler
-android.view.FocusFinder
 android.view.FocusFinder$1
 android.view.FocusFinder$FocusSorter
-android.view.FocusFinder$UserSpecifiedFocusComparator
 android.view.FocusFinder$UserSpecifiedFocusComparator$NextFocusGetter
-android.graphics.FrameInfo
+android.view.FocusFinder$UserSpecifiedFocusComparator
+android.view.FocusFinder
 android.view.FrameMetrics
 android.view.FrameMetricsObserver
 android.view.FrameStats
-android.view.GestureDetector
 android.view.GestureDetector$GestureHandler
 android.view.GestureDetector$OnContextClickListener
 android.view.GestureDetector$OnDoubleTapListener
 android.view.GestureDetector$OnGestureListener
 android.view.GestureDetector$SimpleOnGestureListener
+android.view.GestureDetector
 android.view.Gravity
-android.view.HandlerActionQueue
 android.view.HandlerActionQueue$HandlerAction
-android.view.IGraphicsStats
-android.view.IGraphicsStats$Stub
+android.view.HandlerActionQueue
 android.view.IGraphicsStats$Stub$Proxy
-android.view.IGraphicsStatsCallback
+android.view.IGraphicsStats$Stub
+android.view.IGraphicsStats
 android.view.IGraphicsStatsCallback$Stub
-android.view.IRotationWatcher
+android.view.IGraphicsStatsCallback
 android.view.IRotationWatcher$Stub
-android.view.IWindow
+android.view.IRotationWatcher
 android.view.IWindow$Stub
+android.view.IWindow
 android.view.IWindowId
-android.view.IWindowManager
-android.view.IWindowManager$Stub
 android.view.IWindowManager$Stub$Proxy
-android.view.IWindowSession
-android.view.IWindowSession$Stub
+android.view.IWindowManager$Stub
+android.view.IWindowManager
 android.view.IWindowSession$Stub$Proxy
-android.view.IWindowSessionCallback
+android.view.IWindowSession$Stub
+android.view.IWindowSession
 android.view.IWindowSessionCallback$Stub
+android.view.IWindowSessionCallback
+android.view.ImeInsetsSourceConsumer
 android.view.InflateException
-android.view.InputChannel
+android.view.InputApplicationHandle
 android.view.InputChannel$1
-android.view.InputDevice
+android.view.InputChannel
 android.view.InputDevice$1
 android.view.InputDevice$MotionRange
-android.view.InputEvent
+android.view.InputDevice
 android.view.InputEvent$1
+android.view.InputEvent
+android.view.InputEventCompatProcessor
 android.view.InputEventConsistencyVerifier
 android.view.InputEventReceiver
 android.view.InputEventSender
-android.view.InputQueue
 android.view.InputQueue$Callback
 android.view.InputQueue$FinishedInputEventCallback
-android.view.KeyCharacterMap
+android.view.InputQueue
+android.view.InputWindowHandle
+android.view.InsetsController
+android.view.InsetsSource$1
+android.view.InsetsSource
+android.view.InsetsSourceConsumer
+android.view.InsetsState$1
+android.view.InsetsState
 android.view.KeyCharacterMap$1
 android.view.KeyCharacterMap$FallbackAction
-android.view.KeyEvent
+android.view.KeyCharacterMap
 android.view.KeyEvent$1
 android.view.KeyEvent$Callback
 android.view.KeyEvent$DispatcherState
-android.view.LayoutInflater
-android.view.LayoutInflater$Factory
+android.view.KeyEvent
 android.view.LayoutInflater$Factory2
+android.view.LayoutInflater$Factory
 android.view.LayoutInflater$FactoryMerger
 android.view.LayoutInflater$Filter
+android.view.LayoutInflater
 android.view.Menu
-android.view.MenuInflater
 android.view.MenuInflater$MenuState
-android.view.MenuItem
+android.view.MenuInflater
 android.view.MenuItem$OnActionExpandListener
 android.view.MenuItem$OnMenuItemClickListener
-android.view.MotionEvent
+android.view.MenuItem
 android.view.MotionEvent$1
 android.view.MotionEvent$PointerCoords
 android.view.MotionEvent$PointerProperties
-android.view.OrientationEventListener
+android.view.MotionEvent
+android.view.NativeVectorDrawableAnimator
 android.view.OrientationEventListener$SensorEventListenerImpl
-android.view.PointerIcon
+android.view.OrientationEventListener
 android.view.PointerIcon$1
-android.graphics.RenderNode
-android.graphics.RenderNode$NoImagePreloadHolder
-android.view.RenderNodeAnimator
+android.view.PointerIcon
 android.view.RenderNodeAnimator$1
+android.view.RenderNodeAnimator
 android.view.RenderNodeAnimatorSetHelper
-android.view.ScaleGestureDetector
 android.view.ScaleGestureDetector$1
 android.view.ScaleGestureDetector$OnScaleGestureListener
 android.view.ScaleGestureDetector$SimpleOnScaleGestureListener
+android.view.ScaleGestureDetector
 android.view.SearchEvent
 android.view.SubMenu
-android.view.Surface
 android.view.Surface$1
 android.view.Surface$CompatibleCanvas
 android.view.Surface$OutOfResourcesException
-android.view.SurfaceControl
+android.view.Surface
 android.view.SurfaceControl$1
 android.view.SurfaceControl$Builder
+android.view.SurfaceControl$CieXyz
+android.view.SurfaceControl$DisplayPrimaries
 android.view.SurfaceControl$PhysicalDisplayInfo
 android.view.SurfaceControl$Transaction
-android.view.SurfaceHolder
-android.view.SurfaceHolder$Callback
+android.view.SurfaceControl
 android.view.SurfaceHolder$Callback2
+android.view.SurfaceHolder$Callback
+android.view.SurfaceHolder
 android.view.SurfaceSession
-android.view.SurfaceView
 android.view.SurfaceView$1
 android.view.SurfaceView$2
 android.view.SurfaceView$3
-android.view.SurfaceView$SurfaceControlWithBackground
+android.view.SurfaceView
 android.view.TextureLayer
-android.view.TextureView
 android.view.TextureView$1
 android.view.TextureView$SurfaceTextureListener
-android.view.ThreadedRenderer
+android.view.TextureView
 android.view.ThreadedRenderer$DrawCallbacks
-android.view.ThreadedRenderer$FrameDrawingCallback
-android.view.ThreadedRenderer$ProcessInitializer
-android.view.ThreadedRenderer$ProcessInitializer$1
+android.view.ThreadedRenderer
 android.view.TouchDelegate
-android.view.VelocityTracker
 android.view.VelocityTracker$Estimator
-android.view.View
-android.view.View$1
+android.view.VelocityTracker
 android.view.View$10
 android.view.View$11
 android.view.View$12
 android.view.View$13
+android.view.View$1
 android.view.View$2
 android.view.View$3
 android.view.View$4
@@ -3367,10 +3845,10 @@
 android.view.View$8
 android.view.View$9
 android.view.View$AccessibilityDelegate
-android.view.View$AttachInfo
 android.view.View$AttachInfo$Callbacks
-android.view.View$BaseSavedState
+android.view.View$AttachInfo
 android.view.View$BaseSavedState$1
+android.view.View$BaseSavedState
 android.view.View$CheckForTap
 android.view.View$ForegroundInfo
 android.view.View$ListenerInfo
@@ -3397,32 +3875,33 @@
 android.view.View$TransformationInfo
 android.view.View$UnsetPressedState
 android.view.View$VisibilityChangeForAutofillHandler
+android.view.View
+android.view.ViewAnimationHostBridge
 android.view.ViewConfiguration
 android.view.ViewDebug$HierarchyHandler
-android.view.ViewGroup
+android.view.ViewDebug
 android.view.ViewGroup$1
 android.view.ViewGroup$2
 android.view.ViewGroup$4
-android.view.ViewGroup$ChildListForAutoFill
 android.view.ViewGroup$LayoutParams
 android.view.ViewGroup$MarginLayoutParams
 android.view.ViewGroup$OnHierarchyChangeListener
 android.view.ViewGroup$TouchTarget
+android.view.ViewGroup
 android.view.ViewGroupOverlay
 android.view.ViewManager
-android.view.ViewOutlineProvider
 android.view.ViewOutlineProvider$1
 android.view.ViewOutlineProvider$2
 android.view.ViewOutlineProvider$3
-android.view.ViewOverlay
+android.view.ViewOutlineProvider
 android.view.ViewOverlay$OverlayViewGroup
+android.view.ViewOverlay
 android.view.ViewParent
-android.view.ViewPropertyAnimator
 android.view.ViewPropertyAnimator$1
 android.view.ViewPropertyAnimator$AnimatorEventListener
 android.view.ViewPropertyAnimator$NameValuesHolder
 android.view.ViewPropertyAnimator$PropertyBundle
-android.view.ViewRootImpl
+android.view.ViewPropertyAnimator
 android.view.ViewRootImpl$1
 android.view.ViewRootImpl$4
 android.view.ViewRootImpl$AccessibilityInteractionConnection
@@ -3442,11 +3921,11 @@
 android.view.ViewRootImpl$QueuedInputEvent
 android.view.ViewRootImpl$SendWindowContentChangedAccessibilityEvent
 android.view.ViewRootImpl$SyntheticInputStage
-android.view.ViewRootImpl$SyntheticJoystickHandler
 android.view.ViewRootImpl$SyntheticJoystickHandler$JoystickAxesState
+android.view.ViewRootImpl$SyntheticJoystickHandler
 android.view.ViewRootImpl$SyntheticKeyboardHandler
-android.view.ViewRootImpl$SyntheticTouchNavigationHandler
 android.view.ViewRootImpl$SyntheticTouchNavigationHandler$1
+android.view.ViewRootImpl$SyntheticTouchNavigationHandler
 android.view.ViewRootImpl$SyntheticTrackballHandler
 android.view.ViewRootImpl$SystemUiVisibilityInfo
 android.view.ViewRootImpl$TrackballAxis
@@ -3458,12 +3937,12 @@
 android.view.ViewRootImpl$W
 android.view.ViewRootImpl$WindowInputEventReceiver
 android.view.ViewRootImpl$WindowStoppedCallback
+android.view.ViewRootImpl
 android.view.ViewStructure
-android.view.ViewStub
 android.view.ViewStub$OnInflateListener
-android.view.ViewTreeObserver
-android.view.ViewTreeObserver$CopyOnWriteArray
+android.view.ViewStub
 android.view.ViewTreeObserver$CopyOnWriteArray$Access
+android.view.ViewTreeObserver$CopyOnWriteArray
 android.view.ViewTreeObserver$InternalInsetsInfo
 android.view.ViewTreeObserver$OnComputeInternalInsetsListener
 android.view.ViewTreeObserver$OnDrawListener
@@ -3472,71 +3951,74 @@
 android.view.ViewTreeObserver$OnPreDrawListener
 android.view.ViewTreeObserver$OnScrollChangedListener
 android.view.ViewTreeObserver$OnTouchModeChangeListener
-android.view.Window
+android.view.ViewTreeObserver
 android.view.Window$Callback
 android.view.Window$OnFrameMetricsAvailableListener
 android.view.Window$OnWindowDismissedCallback
 android.view.Window$OnWindowSwipeDismissedCallback
 android.view.Window$WindowControllerCallback
-android.view.WindowAnimationFrameStats
+android.view.Window
 android.view.WindowAnimationFrameStats$1
+android.view.WindowAnimationFrameStats
 android.view.WindowCallbacks
-android.view.WindowContentFrameStats
 android.view.WindowContentFrameStats$1
+android.view.WindowContentFrameStats
 android.view.WindowId$1
+android.view.WindowInsets$Type
 android.view.WindowInsets
 android.view.WindowLeaked
-android.view.WindowManager
 android.view.WindowManager$BadTokenException
-android.view.WindowManager$LayoutParams
 android.view.WindowManager$LayoutParams$1
-android.view.WindowManagerGlobal
+android.view.WindowManager$LayoutParams
+android.view.WindowManager
 android.view.WindowManagerGlobal$1
 android.view.WindowManagerGlobal$2
+android.view.WindowManagerGlobal
 android.view.WindowManagerImpl
-android.view.accessibility.AccessibilityEvent
 android.view.accessibility.AccessibilityEvent$1
+android.view.accessibility.AccessibilityEvent
 android.view.accessibility.AccessibilityEventSource
-android.view.accessibility.AccessibilityManager
 android.view.accessibility.AccessibilityManager$1
 android.view.accessibility.AccessibilityManager$AccessibilityStateChangeListener
 android.view.accessibility.AccessibilityManager$HighTextContrastChangeListener
 android.view.accessibility.AccessibilityManager$MyCallback
 android.view.accessibility.AccessibilityManager$TouchExplorationStateChangeListener
-android.view.accessibility.AccessibilityNodeInfo
+android.view.accessibility.AccessibilityManager
+android.view.accessibility.AccessibilityNodeIdManager
 android.view.accessibility.AccessibilityNodeInfo$1
 android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction
+android.view.accessibility.AccessibilityNodeInfo
 android.view.accessibility.AccessibilityNodeProvider
 android.view.accessibility.AccessibilityRecord
-android.view.accessibility.CaptioningManager
 android.view.accessibility.CaptioningManager$1
 android.view.accessibility.CaptioningManager$CaptionStyle
 android.view.accessibility.CaptioningManager$CaptioningChangeListener
 android.view.accessibility.CaptioningManager$MyContentObserver
-android.view.accessibility.IAccessibilityInteractionConnection
+android.view.accessibility.CaptioningManager
 android.view.accessibility.IAccessibilityInteractionConnection$Stub
-android.view.accessibility.IAccessibilityInteractionConnectionCallback
-android.view.accessibility.IAccessibilityInteractionConnectionCallback$Stub
+android.view.accessibility.IAccessibilityInteractionConnection
 android.view.accessibility.IAccessibilityInteractionConnectionCallback$Stub$Proxy
-android.view.accessibility.IAccessibilityManager
-android.view.accessibility.IAccessibilityManager$Stub
+android.view.accessibility.IAccessibilityInteractionConnectionCallback$Stub
+android.view.accessibility.IAccessibilityInteractionConnectionCallback
 android.view.accessibility.IAccessibilityManager$Stub$Proxy
-android.view.accessibility.IAccessibilityManagerClient
+android.view.accessibility.IAccessibilityManager$Stub
+android.view.accessibility.IAccessibilityManager
 android.view.accessibility.IAccessibilityManagerClient$Stub
+android.view.accessibility.IAccessibilityManagerClient
 android.view.animation.AccelerateDecelerateInterpolator
 android.view.animation.AccelerateInterpolator
 android.view.animation.AlphaAnimation
-android.view.animation.Animation
 android.view.animation.Animation$1
 android.view.animation.Animation$2
 android.view.animation.Animation$3
 android.view.animation.Animation$AnimationListener
 android.view.animation.Animation$Description
 android.view.animation.Animation$NoImagePreloadHolder
+android.view.animation.Animation
 android.view.animation.AnimationSet
-android.view.animation.AnimationUtils
 android.view.animation.AnimationUtils$1
 android.view.animation.AnimationUtils$AnimationState
+android.view.animation.AnimationUtils
 android.view.animation.BaseInterpolator
 android.view.animation.DecelerateInterpolator
 android.view.animation.Interpolator
@@ -3550,73 +4032,98 @@
 android.view.autofill.-$$Lambda$AutofillManager$AutofillManagerClient$V-s28jF4_S72cRk4llkGpwbJnmk
 android.view.autofill.-$$Lambda$AutofillManager$V76JiQu509LCUz3-ckpb-nB3JhA
 android.view.autofill.-$$Lambda$AutofillManager$YfpJNFodEuj5lbXfPlc77fsEvC8
-android.view.autofill.AutofillId
 android.view.autofill.AutofillId$1
-android.view.autofill.AutofillManager
+android.view.autofill.AutofillId
 android.view.autofill.AutofillManager$AutofillCallback
 android.view.autofill.AutofillManager$AutofillClient
 android.view.autofill.AutofillManager$AutofillManagerClient
-android.view.autofill.AutofillValue
+android.view.autofill.AutofillManager
 android.view.autofill.AutofillValue$1
+android.view.autofill.AutofillValue
 android.view.autofill.Helper
-android.view.autofill.IAutoFillManager
-android.view.autofill.IAutoFillManager$Stub
 android.view.autofill.IAutoFillManager$Stub$Proxy
-android.view.autofill.IAutoFillManagerClient
+android.view.autofill.IAutoFillManager$Stub
+android.view.autofill.IAutoFillManager
 android.view.autofill.IAutoFillManagerClient$Stub
+android.view.autofill.IAutoFillManagerClient
 android.view.autofill.IAutofillWindowPresenter
+android.view.contentcapture.ContentCaptureManager
 android.view.inputmethod.BaseInputConnection
 android.view.inputmethod.ComposingText
 android.view.inputmethod.CursorAnchorInfo$Builder
-android.view.inputmethod.EditorInfo
 android.view.inputmethod.EditorInfo$1
-android.view.inputmethod.ExtractedText
+android.view.inputmethod.EditorInfo
 android.view.inputmethod.ExtractedText$1
+android.view.inputmethod.ExtractedText
 android.view.inputmethod.InputConnection
 android.view.inputmethod.InputConnectionInspector
 android.view.inputmethod.InputConnectionWrapper
-android.view.inputmethod.InputMethodInfo
 android.view.inputmethod.InputMethodInfo$1
-android.view.inputmethod.InputMethodManager
+android.view.inputmethod.InputMethodInfo
 android.view.inputmethod.InputMethodManager$1
 android.view.inputmethod.InputMethodManager$ControlledInputConnectionWrapper
 android.view.inputmethod.InputMethodManager$FinishedInputEventCallback
 android.view.inputmethod.InputMethodManager$H
 android.view.inputmethod.InputMethodManager$ImeInputEventSender
 android.view.inputmethod.InputMethodManager$PendingEvent
-android.view.inputmethod.InputMethodSubtype
+android.view.inputmethod.InputMethodManager
 android.view.inputmethod.InputMethodSubtype$1
+android.view.inputmethod.InputMethodSubtype
 android.view.inputmethod.InputMethodSubtypeArray
+android.view.inputmethod.InputMethodSystemProperty
+android.view.textclassifier.-$$Lambda$0biFK4yZBmWN1EO2wtnXskzuEcE
+android.view.textclassifier.-$$Lambda$9N8WImc0VBjy2oxI_Gk5_Pbye_A
+android.view.textclassifier.-$$Lambda$EntityConfidence$YPh8hwgSYYK8OyQ1kFlQngc71Q0
+android.view.textclassifier.-$$Lambda$NxwbyZSxofZ4Z5SQhfXmtLQ1nxk
 android.view.textclassifier.-$$Lambda$TextClassificationManager$JIaezIJbMig_-kVzN6oArzkTsJE
+android.view.textclassifier.-$$Lambda$TextClassifierImpl$RRbXefHgcUymI9-P95ArUyMvfbw
+android.view.textclassifier.-$$Lambda$XeE_KI7QgMKzF9vYRSoFWAolyuA
+android.view.textclassifier.-$$Lambda$jJq8RXuVdjYF3lPq-77PEw1NJLM
+android.view.textclassifier.EntityConfidence$1
+android.view.textclassifier.EntityConfidence
+android.view.textclassifier.GenerateLinksLogger
+android.view.textclassifier.IntentFactory
+android.view.textclassifier.LegacyIntentFactory
+android.view.textclassifier.ModelFileManager$ModelFileSupplierImpl
+android.view.textclassifier.ModelFileManager
 android.view.textclassifier.SelectionSessionLogger
+android.view.textclassifier.SystemTextClassifier
+android.view.textclassifier.TemplateClassificationIntentFactory
+android.view.textclassifier.TemplateIntentFactory
+android.view.textclassifier.TextClassification$1
+android.view.textclassifier.TextClassification$Builder
 android.view.textclassifier.TextClassification
 android.view.textclassifier.TextClassificationConstants
-android.view.textclassifier.TextClassificationManager
 android.view.textclassifier.TextClassificationManager$SettingsObserver
+android.view.textclassifier.TextClassificationManager
 android.view.textclassifier.TextClassificationSessionFactory
+android.view.textclassifier.TextClassifier$1
 android.view.textclassifier.TextClassifier
+android.view.textclassifier.TextClassifierEventTronLogger
+android.view.textclassifier.TextClassifierImpl
+android.view.textclassifier.TextSelection$1
 android.view.textclassifier.TextSelection
-android.view.textclassifier.logging.SmartSelectionEventTracker
 android.view.textclassifier.logging.SmartSelectionEventTracker$SelectionEvent
-android.view.textservice.SpellCheckerInfo
+android.view.textclassifier.logging.SmartSelectionEventTracker
 android.view.textservice.SpellCheckerInfo$1
-android.view.textservice.SpellCheckerSession
+android.view.textservice.SpellCheckerInfo
 android.view.textservice.SpellCheckerSession$1
 android.view.textservice.SpellCheckerSession$InternalListener
 android.view.textservice.SpellCheckerSession$SpellCheckerSessionListener
 android.view.textservice.SpellCheckerSession$SpellCheckerSessionListenerImpl
-android.view.textservice.SpellCheckerSubtype
+android.view.textservice.SpellCheckerSession
 android.view.textservice.SpellCheckerSubtype$1
+android.view.textservice.SpellCheckerSubtype
 android.view.textservice.TextServicesManager
-android.webkit.ConsoleMessage
 android.webkit.ConsoleMessage$MessageLevel
+android.webkit.ConsoleMessage
 android.webkit.CookieManager
 android.webkit.CookieSyncManager
 android.webkit.DownloadListener
 android.webkit.GeolocationPermissions
-android.webkit.IWebViewUpdateService
-android.webkit.IWebViewUpdateService$Stub
 android.webkit.IWebViewUpdateService$Stub$Proxy
+android.webkit.IWebViewUpdateService$Stub
+android.webkit.IWebViewUpdateService
 android.webkit.JavascriptInterface
 android.webkit.ServiceWorkerClient
 android.webkit.ServiceWorkerController
@@ -3626,8 +4133,8 @@
 android.webkit.URLUtil
 android.webkit.ValueCallback
 android.webkit.WebBackForwardList
-android.webkit.WebChromeClient
 android.webkit.WebChromeClient$CustomViewCallback
+android.webkit.WebChromeClient
 android.webkit.WebIconDatabase
 android.webkit.WebMessage
 android.webkit.WebMessagePort
@@ -3635,83 +4142,83 @@
 android.webkit.WebSettings
 android.webkit.WebStorage
 android.webkit.WebSyncManager
-android.webkit.WebView
 android.webkit.WebView$FindListener
 android.webkit.WebView$HitTestResult
 android.webkit.WebView$PictureListener
 android.webkit.WebView$PrivateAccess
 android.webkit.WebView$VisualStateCallback
+android.webkit.WebView
 android.webkit.WebViewClient
 android.webkit.WebViewDatabase
-android.webkit.WebViewDelegate
 android.webkit.WebViewDelegate$1
 android.webkit.WebViewDelegate$OnTraceEnabledChangeListener
-android.webkit.WebViewFactory
+android.webkit.WebViewDelegate
 android.webkit.WebViewFactory$MissingWebViewPackageException
-android.webkit.WebViewFactoryProvider
+android.webkit.WebViewFactory
 android.webkit.WebViewFactoryProvider$Statics
+android.webkit.WebViewFactoryProvider
 android.webkit.WebViewLibraryLoader
-android.webkit.WebViewProvider
 android.webkit.WebViewProvider$ScrollDelegate
 android.webkit.WebViewProvider$ViewDelegate
-android.webkit.WebViewProviderResponse
+android.webkit.WebViewProvider
 android.webkit.WebViewProviderResponse$1
+android.webkit.WebViewProviderResponse
 android.widget.-$$Lambda$Editor$MagnifierMotionAnimator$E-RaelOMgCHAzvKgSSZE-hDYeIg
 android.widget.-$$Lambda$IfzAW5fP9thoftErKAjo9SLZufw
 android.widget.-$$Lambda$PopupWindow$8Gc2stI5cSJZbuKX7X4Qr_vU2nI
 android.widget.-$$Lambda$PopupWindow$nV1HS3Nc6Ck5JRIbIHe3mkyHWzc
+android.widget.-$$Lambda$RemoteViews$xYCMzfQwRCAW2azHo-bWqQ9R0Wk
 android.widget.-$$Lambda$SmartSelectSprite$c8eqlh2kO_X0luLU2BexwK921WA
 android.widget.-$$Lambda$SmartSelectSprite$mdkXIT1_UNlJQMaziE_E815aIKE
 android.widget.-$$Lambda$yIdmBO6ZxaY03PGN08RySVVQXuE
-android.widget.AbsListView
 android.widget.AbsListView$3
 android.widget.AbsListView$AdapterDataSetObserver
-android.widget.AbsListView$FlingRunnable
 android.widget.AbsListView$FlingRunnable$1
+android.widget.AbsListView$FlingRunnable
 android.widget.AbsListView$LayoutParams
 android.widget.AbsListView$OnScrollListener
 android.widget.AbsListView$PerformClick
 android.widget.AbsListView$RecycleBin
 android.widget.AbsListView$RecyclerListener
-android.widget.AbsListView$SavedState
 android.widget.AbsListView$SavedState$1
+android.widget.AbsListView$SavedState
 android.widget.AbsListView$WindowRunnnable
+android.widget.AbsListView
 android.widget.AbsSeekBar
-android.widget.AbsSpinner
 android.widget.AbsSpinner$RecycleBin
 android.widget.AbsSpinner$SavedState$1
+android.widget.AbsSpinner
 android.widget.AbsoluteLayout
-android.widget.ActionMenuPresenter
 android.widget.ActionMenuPresenter$1
 android.widget.ActionMenuPresenter$2
-android.widget.ActionMenuPresenter$OverflowMenuButton
 android.widget.ActionMenuPresenter$OverflowMenuButton$1
+android.widget.ActionMenuPresenter$OverflowMenuButton
 android.widget.ActionMenuPresenter$PopupPresenterCallback
-android.widget.ActionMenuView
+android.widget.ActionMenuPresenter
 android.widget.ActionMenuView$ActionMenuChildView
 android.widget.ActionMenuView$LayoutParams
 android.widget.ActionMenuView$MenuBuilderCallback
 android.widget.ActionMenuView$OnMenuItemClickListener
+android.widget.ActionMenuView
 android.widget.Adapter
-android.widget.AdapterView
 android.widget.AdapterView$AdapterDataSetObserver
 android.widget.AdapterView$OnItemClickListener
 android.widget.AdapterView$OnItemSelectedListener
+android.widget.AdapterView
 android.widget.ArrayAdapter
-android.widget.AutoCompleteTextView
 android.widget.AutoCompleteTextView$DropDownItemClickListener
 android.widget.AutoCompleteTextView$MyWatcher
 android.widget.AutoCompleteTextView$PassThroughClickListener
+android.widget.AutoCompleteTextView
 android.widget.BaseAdapter
 android.widget.Button
 android.widget.CheckBox
 android.widget.Checkable
 android.widget.CheckedTextView
-android.widget.CompoundButton
 android.widget.CompoundButton$OnCheckedChangeListener
+android.widget.CompoundButton
 android.widget.EdgeEffect
 android.widget.EditText
-android.widget.Editor
 android.widget.Editor$1
 android.widget.Editor$2
 android.widget.Editor$3
@@ -3719,8 +4226,8 @@
 android.widget.Editor$Blink
 android.widget.Editor$CursorAnchorInfoNotifier
 android.widget.Editor$CursorController
-android.widget.Editor$EditOperation
 android.widget.Editor$EditOperation$1
+android.widget.Editor$EditOperation
 android.widget.Editor$InputContentType
 android.widget.Editor$InputMethodState
 android.widget.Editor$InsertionPointCursorController
@@ -3729,23 +4236,24 @@
 android.widget.Editor$ProcessTextIntentActionsHandler
 android.widget.Editor$SelectionModifierCursorController
 android.widget.Editor$SpanController
-android.widget.Editor$SuggestionHelper
 android.widget.Editor$SuggestionHelper$SuggestionSpanComparator
+android.widget.Editor$SuggestionHelper
 android.widget.Editor$TextRenderNode
 android.widget.Editor$TextViewPositionListener
 android.widget.Editor$UndoInputFilter
+android.widget.Editor
 android.widget.FastScroller$1
 android.widget.FastScroller$2
 android.widget.FastScroller$3
 android.widget.FastScroller$4
 android.widget.FastScroller$5
 android.widget.FastScroller$6
-android.widget.Filter
 android.widget.Filter$FilterListener
+android.widget.Filter
 android.widget.Filterable
 android.widget.ForwardingListener
-android.widget.FrameLayout
 android.widget.FrameLayout$LayoutParams
+android.widget.FrameLayout
 android.widget.GridLayout$1
 android.widget.GridLayout$2
 android.widget.GridLayout$3
@@ -3762,50 +4270,50 @@
 android.widget.GridLayout$MutableInt
 android.widget.GridLayout$PackedMap
 android.widget.HeaderViewListAdapter
-android.widget.HorizontalScrollView
-android.widget.HorizontalScrollView$SavedState
 android.widget.HorizontalScrollView$SavedState$1
+android.widget.HorizontalScrollView$SavedState
+android.widget.HorizontalScrollView
 android.widget.ImageButton
-android.widget.ImageView
 android.widget.ImageView$ScaleType
-android.widget.LinearLayout
+android.widget.ImageView
 android.widget.LinearLayout$LayoutParams
+android.widget.LinearLayout
 android.widget.ListAdapter
-android.widget.ListPopupWindow
 android.widget.ListPopupWindow$ListSelectorHider
 android.widget.ListPopupWindow$PopupDataSetObserver
 android.widget.ListPopupWindow$PopupScrollListener
 android.widget.ListPopupWindow$PopupTouchInterceptor
 android.widget.ListPopupWindow$ResizePopupRunnable
-android.widget.ListView
+android.widget.ListPopupWindow
 android.widget.ListView$ArrowScrollFocusResult
 android.widget.ListView$FixedViewInfo
+android.widget.ListView
+android.widget.Magnifier$Builder
 android.widget.MediaController$MediaPlayerControl
-android.widget.MultiAutoCompleteTextView
 android.widget.MultiAutoCompleteTextView$Tokenizer
-android.widget.OverScroller
+android.widget.MultiAutoCompleteTextView
 android.widget.OverScroller$SplineOverScroller
-android.widget.PopupMenu
+android.widget.OverScroller
 android.widget.PopupMenu$OnMenuItemClickListener
-android.widget.PopupWindow
+android.widget.PopupMenu
 android.widget.PopupWindow$1
 android.widget.PopupWindow$2
 android.widget.PopupWindow$OnDismissListener
 android.widget.PopupWindow$PopupDecorView
-android.widget.ProgressBar
+android.widget.PopupWindow
 android.widget.ProgressBar$1
 android.widget.ProgressBar$AccessibilityEventSender
-android.widget.ProgressBar$SavedState
 android.widget.ProgressBar$SavedState$1
+android.widget.ProgressBar$SavedState
+android.widget.ProgressBar
 android.widget.RadioButton
 android.widget.RadioGroup$OnCheckedChangeListener
 android.widget.RatingBar
-android.widget.RelativeLayout
-android.widget.RelativeLayout$DependencyGraph
 android.widget.RelativeLayout$DependencyGraph$Node
+android.widget.RelativeLayout$DependencyGraph
 android.widget.RelativeLayout$LayoutParams
 android.widget.RelativeLayout$TopToBottomLeftToRightComparator
-android.widget.RemoteViews
+android.widget.RelativeLayout
 android.widget.RemoteViews$1
 android.widget.RemoteViews$2
 android.widget.RemoteViews$Action
@@ -3815,45 +4323,46 @@
 android.widget.RemoteViews$MethodKey
 android.widget.RemoteViews$OnClickHandler
 android.widget.RemoteViews$ReflectionAction
+android.widget.RemoteViews$RemoteResponse
 android.widget.RemoteViews$RemoteView
 android.widget.RemoteViews$RuntimeAction
 android.widget.RemoteViews$SetDrawableTint
-android.widget.RemoteViews$SetOnClickPendingIntent
+android.widget.RemoteViews$SetOnClickResponse
 android.widget.RemoteViews$ViewPaddingAction
+android.widget.RemoteViews
 android.widget.RemoteViewsAdapter$RemoteAdapterConnectionCallback
 android.widget.RtlSpacingHelper
 android.widget.ScrollBarDrawable
-android.widget.ScrollView
-android.widget.ScrollView$SavedState
 android.widget.ScrollView$SavedState$1
-android.widget.Scroller
+android.widget.ScrollView$SavedState
+android.widget.ScrollView
 android.widget.Scroller$ViscousFluidInterpolator
+android.widget.Scroller
 android.widget.SectionIndexer
-android.widget.SeekBar
 android.widget.SeekBar$OnSeekBarChangeListener
-android.widget.SelectionActionModeHelper
+android.widget.SeekBar
 android.widget.SelectionActionModeHelper$SelectionMetricsLogger
-android.widget.SelectionActionModeHelper$SelectionTracker
 android.widget.SelectionActionModeHelper$SelectionTracker$LogAbandonRunnable
+android.widget.SelectionActionModeHelper$SelectionTracker
 android.widget.SelectionActionModeHelper$TextClassificationHelper
+android.widget.SelectionActionModeHelper
 android.widget.SmartSelectSprite
 android.widget.Space
-android.widget.SpellChecker
 android.widget.SpellChecker$SpellParser
-android.widget.Spinner
+android.widget.SpellChecker
 android.widget.Spinner$1
 android.widget.Spinner$DropDownAdapter
-android.widget.Spinner$DropdownPopup
 android.widget.Spinner$DropdownPopup$1
+android.widget.Spinner$DropdownPopup
 android.widget.Spinner$SavedState$1
 android.widget.Spinner$SpinnerPopup
+android.widget.Spinner
 android.widget.SpinnerAdapter
 android.widget.Switch$1
-android.widget.TableLayout
 android.widget.TableLayout$PassThroughHierarchyChangeListener
-android.widget.TableRow
+android.widget.TableLayout
 android.widget.TableRow$ChildrenTracker
-android.widget.TextView
+android.widget.TableRow
 android.widget.TextView$2
 android.widget.TextView$3
 android.widget.TextView$4
@@ -3862,106 +4371,155 @@
 android.widget.TextView$CharWrapper
 android.widget.TextView$Drawables
 android.widget.TextView$OnEditorActionListener
-android.widget.TextView$SavedState
 android.widget.TextView$SavedState$1
+android.widget.TextView$SavedState
 android.widget.TextView$TextAppearanceAttributes
+android.widget.TextView
 android.widget.ThemedSpinnerAdapter
 android.widget.Toast
 android.widget.ToggleButton
-android.widget.Toolbar
 android.widget.Toolbar$1
 android.widget.Toolbar$2
 android.widget.Toolbar$ExpandedActionViewMenuPresenter
 android.widget.Toolbar$LayoutParams
 android.widget.Toolbar$OnMenuItemClickListener
 android.widget.Toolbar$SavedState$1
+android.widget.Toolbar
 android.widget.ViewAnimator
 android.widget.ViewSwitcher
 android.widget.WrapperListAdapter
 com.android.i18n.phonenumbers.AlternateFormatsCountryCodeSet
 com.android.i18n.phonenumbers.CountryCodeToRegionCodeMap
 com.android.i18n.phonenumbers.MetadataLoader
-com.android.i18n.phonenumbers.MetadataManager
 com.android.i18n.phonenumbers.MetadataManager$1
+com.android.i18n.phonenumbers.MetadataManager
 com.android.i18n.phonenumbers.MetadataSource
 com.android.i18n.phonenumbers.MultiFileMetadataSourceImpl
 com.android.i18n.phonenumbers.NumberParseException
-com.android.i18n.phonenumbers.PhoneNumberUtil
 com.android.i18n.phonenumbers.PhoneNumberUtil$1
-com.android.i18n.phonenumbers.PhoneNumberUtil$Leniency
 com.android.i18n.phonenumbers.PhoneNumberUtil$Leniency$1
 com.android.i18n.phonenumbers.PhoneNumberUtil$Leniency$2
 com.android.i18n.phonenumbers.PhoneNumberUtil$Leniency$3
 com.android.i18n.phonenumbers.PhoneNumberUtil$Leniency$4
+com.android.i18n.phonenumbers.PhoneNumberUtil$Leniency
 com.android.i18n.phonenumbers.PhoneNumberUtil$PhoneNumberFormat
 com.android.i18n.phonenumbers.PhoneNumberUtil$PhoneNumberType
 com.android.i18n.phonenumbers.PhoneNumberUtil$ValidationResult
+com.android.i18n.phonenumbers.PhoneNumberUtil
 com.android.i18n.phonenumbers.Phonemetadata$NumberFormat
 com.android.i18n.phonenumbers.Phonemetadata$PhoneMetadata
 com.android.i18n.phonenumbers.Phonemetadata$PhoneMetadataCollection
 com.android.i18n.phonenumbers.Phonemetadata$PhoneNumberDesc
-com.android.i18n.phonenumbers.Phonenumber$PhoneNumber
 com.android.i18n.phonenumbers.Phonenumber$PhoneNumber$CountryCodeSource
+com.android.i18n.phonenumbers.Phonenumber$PhoneNumber
 com.android.i18n.phonenumbers.ShortNumbersRegionCodeSet
 com.android.i18n.phonenumbers.internal.MatcherApi
 com.android.i18n.phonenumbers.internal.RegexBasedMatcher
-com.android.i18n.phonenumbers.internal.RegexCache
-com.android.i18n.phonenumbers.internal.RegexCache$LRUCache
 com.android.i18n.phonenumbers.internal.RegexCache$LRUCache$1
+com.android.i18n.phonenumbers.internal.RegexCache$LRUCache
+com.android.i18n.phonenumbers.internal.RegexCache
+com.android.ims.-$$Lambda$ImsManager$Connector$N5r1SvOgM0jfHDwKkcQbyw_uTP0
+com.android.ims.-$$Lambda$ImsManager$Connector$yM9scWJWjDp_h0yrkCgrjFZH5oI
+com.android.ims.-$$Lambda$ImsManager$Flxe43OUFnnU0pgnksvwPE6o3Mk
 com.android.ims.-$$Lambda$MmTelFeatureConnection$ij8S4RNRiQPHfppwkejp36BG78I
+com.android.ims.ImsCall$Listener
+com.android.ims.ImsConfig
+com.android.ims.ImsConfigListener$Stub
+com.android.ims.ImsConfigListener
+com.android.ims.ImsEcbm$ImsEcbmListenerProxy
+com.android.ims.ImsEcbm
+com.android.ims.ImsEcbmStateListener
 com.android.ims.ImsException
-com.android.ims.MmTelFeatureConnection
+com.android.ims.ImsExternalCallStateListener
+com.android.ims.ImsManager$3
+com.android.ims.ImsManager$Connector$1
+com.android.ims.ImsManager$Connector$Listener
+com.android.ims.ImsManager$Connector$RetryTimeout
+com.android.ims.ImsManager$Connector
+com.android.ims.ImsManager$ExecutorFactory
+com.android.ims.ImsManager
+com.android.ims.ImsMultiEndpoint$ImsExternalCallStateListenerProxy
+com.android.ims.ImsMultiEndpoint
+com.android.ims.ImsUt$IImsUtListenerProxy
+com.android.ims.ImsUt
+com.android.ims.ImsUtInterface
 com.android.ims.MmTelFeatureConnection$1
+com.android.ims.MmTelFeatureConnection$CallbackAdapterManager$1
 com.android.ims.MmTelFeatureConnection$CallbackAdapterManager
 com.android.ims.MmTelFeatureConnection$CapabilityCallbackManager
-com.android.ims.MmTelFeatureConnection$CapabilityCallbackManager$CapabilityCallbackAdapter
 com.android.ims.MmTelFeatureConnection$IFeatureUpdate
 com.android.ims.MmTelFeatureConnection$ImsRegistrationCallbackAdapter
-com.android.ims.MmTelFeatureConnection$ImsRegistrationCallbackAdapter$RegistrationCallbackAdapter
-com.android.ims.internal.IImsServiceFeatureCallback
+com.android.ims.MmTelFeatureConnection$ProvisioningCallbackManager
+com.android.ims.MmTelFeatureConnection
+com.android.ims.internal.IImsEcbm$Stub
+com.android.ims.internal.IImsEcbm
+com.android.ims.internal.IImsEcbmListener$Stub
+com.android.ims.internal.IImsEcbmListener
+com.android.ims.internal.IImsExternalCallStateListener$Stub
+com.android.ims.internal.IImsExternalCallStateListener
+com.android.ims.internal.IImsFeatureStatusCallback$Stub
+com.android.ims.internal.IImsFeatureStatusCallback
+com.android.ims.internal.IImsMultiEndpoint$Stub
+com.android.ims.internal.IImsMultiEndpoint
+com.android.ims.internal.IImsServiceFeatureCallback$Stub$Proxy
 com.android.ims.internal.IImsServiceFeatureCallback$Stub
+com.android.ims.internal.IImsServiceFeatureCallback
+com.android.ims.internal.IImsUt$Stub
+com.android.ims.internal.IImsUt
+com.android.ims.internal.IImsUtListener$Stub
+com.android.ims.internal.IImsUtListener
 com.android.internal.R$styleable
-com.android.internal.app.AlertController
 com.android.internal.app.AlertController$AlertParams
-com.android.internal.app.IAppOpsCallback
+com.android.internal.app.AlertController
+com.android.internal.app.AssistUtils
 com.android.internal.app.IAppOpsCallback$Stub
-com.android.internal.app.IAppOpsService
-com.android.internal.app.IAppOpsService$Stub
+com.android.internal.app.IAppOpsCallback
 com.android.internal.app.IAppOpsService$Stub$Proxy
-com.android.internal.app.IBatteryStats
-com.android.internal.app.IBatteryStats$Stub
+com.android.internal.app.IAppOpsService$Stub
+com.android.internal.app.IAppOpsService
 com.android.internal.app.IBatteryStats$Stub$Proxy
-com.android.internal.app.IVoiceInteractionManagerService
-com.android.internal.app.IVoiceInteractionManagerService$Stub
+com.android.internal.app.IBatteryStats$Stub
+com.android.internal.app.IBatteryStats
 com.android.internal.app.IVoiceInteractionManagerService$Stub$Proxy
-com.android.internal.app.IVoiceInteractionSessionShowCallback
+com.android.internal.app.IVoiceInteractionManagerService$Stub
+com.android.internal.app.IVoiceInteractionManagerService
 com.android.internal.app.IVoiceInteractionSessionShowCallback$Stub$Proxy
-com.android.internal.app.IVoiceInteractor
+com.android.internal.app.IVoiceInteractionSessionShowCallback
 com.android.internal.app.IVoiceInteractor$Stub
-com.android.internal.appwidget.IAppWidgetService
-com.android.internal.appwidget.IAppWidgetService$Stub
+com.android.internal.app.IVoiceInteractor
 com.android.internal.appwidget.IAppWidgetService$Stub$Proxy
-com.android.internal.backup.IBackupTransport
+com.android.internal.appwidget.IAppWidgetService$Stub
+com.android.internal.appwidget.IAppWidgetService
 com.android.internal.backup.IBackupTransport$Stub
+com.android.internal.backup.IBackupTransport
 com.android.internal.content.NativeLibraryHelper
-com.android.internal.content.ReferrerIntent
+com.android.internal.content.PackageMonitor
 com.android.internal.content.ReferrerIntent$1
-com.android.internal.graphics.drawable.AnimationScaleListDrawable
+com.android.internal.content.ReferrerIntent
 com.android.internal.graphics.drawable.AnimationScaleListDrawable$AnimationScaleListState
-com.android.internal.inputmethod.InputMethodUtils
-com.android.internal.inputmethod.InputMethodUtils$1
-com.android.internal.inputmethod.LocaleUtils$LocaleExtractor
+com.android.internal.graphics.drawable.AnimationScaleListDrawable
+com.android.internal.infra.-$$Lambda$AbstractRemoteService$MDW40b8CzodE5xRowI9wDEyXEnw
+com.android.internal.infra.AbstractMultiplePendingRequestsRemoteService
+com.android.internal.infra.AbstractRemoteService$PendingRequest
+com.android.internal.infra.AbstractRemoteService$RemoteServiceConnection
+com.android.internal.infra.AbstractRemoteService
 com.android.internal.logging.AndroidConfig
-com.android.internal.logging.AndroidHandler
 com.android.internal.logging.AndroidHandler$1
+com.android.internal.logging.AndroidHandler
 com.android.internal.logging.EventLogTags
 com.android.internal.logging.MetricsLogger
 com.android.internal.net.NetworkStatsFactory
+com.android.internal.os.-$$Lambda$RuntimeInit$ep4ioD9YINkHI5Q1wZ0N_7VFAOg
 com.android.internal.os.AndroidPrintStream
+com.android.internal.os.AtomicDirectory
 com.android.internal.os.BackgroundThread
-com.android.internal.os.BatteryStatsImpl
+com.android.internal.os.BatterySipper$DrainType
+com.android.internal.os.BatterySipper
+com.android.internal.os.BatteryStatsHelper
+com.android.internal.os.BatteryStatsHistory
 com.android.internal.os.BatteryStatsImpl$1
 com.android.internal.os.BatteryStatsImpl$5
+com.android.internal.os.BatteryStatsImpl$6
 com.android.internal.os.BatteryStatsImpl$BatchTimer
 com.android.internal.os.BatteryStatsImpl$BluetoothActivityInfoCache
 com.android.internal.os.BatteryStatsImpl$Clocks
@@ -3979,122 +4537,547 @@
 com.android.internal.os.BatteryStatsImpl$TimeBase
 com.android.internal.os.BatteryStatsImpl$TimeBaseObs
 com.android.internal.os.BatteryStatsImpl$Timer
-com.android.internal.os.BatteryStatsImpl$Uid
 com.android.internal.os.BatteryStatsImpl$Uid$1
 com.android.internal.os.BatteryStatsImpl$Uid$2
 com.android.internal.os.BatteryStatsImpl$Uid$3
-com.android.internal.os.BatteryStatsImpl$Uid$Pkg
 com.android.internal.os.BatteryStatsImpl$Uid$Pkg$Serv
+com.android.internal.os.BatteryStatsImpl$Uid$Pkg
 com.android.internal.os.BatteryStatsImpl$Uid$Proc
 com.android.internal.os.BatteryStatsImpl$Uid$Sensor
 com.android.internal.os.BatteryStatsImpl$Uid$Wakelock
-com.android.internal.os.BinderCallsStats
-com.android.internal.os.BinderCallsStats$CallSession
+com.android.internal.os.BatteryStatsImpl$Uid
+com.android.internal.os.BatteryStatsImpl
 com.android.internal.os.BinderCallsStats$CallStat
+com.android.internal.os.BinderCallsStats$OverflowBinder
 com.android.internal.os.BinderCallsStats$UidEntry
-com.android.internal.os.BinderInternal
+com.android.internal.os.BinderCallsStats
 com.android.internal.os.BinderInternal$BinderProxyLimitListenerDelegate
 com.android.internal.os.BinderInternal$GcWatcher
+com.android.internal.os.BinderInternal$Observer
+com.android.internal.os.BinderInternal$WorkSourceProvider
+com.android.internal.os.BinderInternal
+com.android.internal.os.BluetoothPowerCalculator
+com.android.internal.os.CameraPowerCalculator
 com.android.internal.os.ClassLoaderFactory
-com.android.internal.os.FuseAppLoop
+com.android.internal.os.CpuPowerCalculator
+com.android.internal.os.FlashlightPowerCalculator
 com.android.internal.os.FuseAppLoop$1
+com.android.internal.os.FuseAppLoop
 com.android.internal.os.FuseUnavailableMountException
-com.android.internal.os.HandlerCaller
 com.android.internal.os.HandlerCaller$Callback
 com.android.internal.os.HandlerCaller$MyHandler
-com.android.internal.os.IDropBoxManagerService
-com.android.internal.os.IDropBoxManagerService$Stub
+com.android.internal.os.HandlerCaller
 com.android.internal.os.IDropBoxManagerService$Stub$Proxy
-com.android.internal.os.IResultReceiver
-com.android.internal.os.IResultReceiver$Stub
+com.android.internal.os.IDropBoxManagerService$Stub
+com.android.internal.os.IDropBoxManagerService
 com.android.internal.os.IResultReceiver$Stub$Proxy
-com.android.internal.os.KernelCpuProcReader
+com.android.internal.os.IResultReceiver$Stub
+com.android.internal.os.IResultReceiver
+com.android.internal.os.KernelCpuProcStringReader
+com.android.internal.os.KernelCpuUidTimeReader$KernelCpuUidActiveTimeReader
+com.android.internal.os.KernelCpuUidTimeReader$KernelCpuUidClusterTimeReader
+com.android.internal.os.KernelCpuUidTimeReader$KernelCpuUidFreqTimeReader
+com.android.internal.os.KernelCpuUidTimeReader$KernelCpuUidUserSysTimeReader
+com.android.internal.os.KernelCpuUidTimeReader
 com.android.internal.os.KernelMemoryBandwidthStats
-com.android.internal.os.KernelUidCpuActiveTimeReader
-com.android.internal.os.KernelUidCpuClusterTimeReader
-com.android.internal.os.KernelUidCpuFreqTimeReader
-com.android.internal.os.KernelUidCpuTimeReader
-com.android.internal.os.KernelUidCpuTimeReaderBase
 com.android.internal.os.KernelWakelockReader
 com.android.internal.os.KernelWakelockStats
-com.android.internal.os.LoggingPrintStream
 com.android.internal.os.LoggingPrintStream$1
-com.android.internal.os.PowerProfile
+com.android.internal.os.LoggingPrintStream
+com.android.internal.os.MediaPowerCalculator
+com.android.internal.os.MemoryPowerCalculator
+com.android.internal.os.MobileRadioPowerCalculator
+com.android.internal.os.PowerCalculator
 com.android.internal.os.PowerProfile$CpuClusterKey
+com.android.internal.os.PowerProfile
 com.android.internal.os.RoSystemProperties
 com.android.internal.os.RpmStats
-com.android.internal.os.RuntimeInit
 com.android.internal.os.RuntimeInit$1
 com.android.internal.os.RuntimeInit$Arguments
 com.android.internal.os.RuntimeInit$KillApplicationHandler
 com.android.internal.os.RuntimeInit$LoggingHandler
 com.android.internal.os.RuntimeInit$MethodAndArgsCaller
+com.android.internal.os.RuntimeInit
+com.android.internal.os.SensorPowerCalculator
 com.android.internal.os.SomeArgs
+com.android.internal.os.WakelockPowerCalculator
+com.android.internal.os.WifiPowerCalculator
 com.android.internal.os.Zygote
+com.android.internal.os.ZygoteArguments
+com.android.internal.os.ZygoteConnection$HiddenApiUsageLogger
 com.android.internal.os.ZygoteConnection
-com.android.internal.os.ZygoteConnection$Arguments
 com.android.internal.os.ZygoteInit
 com.android.internal.os.ZygoteServer
 com.android.internal.policy.DecorContext
-com.android.internal.policy.DecorView
 com.android.internal.policy.DecorView$1
 com.android.internal.policy.DecorView$ColorViewAttributes
 com.android.internal.policy.DecorView$ColorViewState
+com.android.internal.policy.DecorView
 com.android.internal.policy.PhoneFallbackEventHandler
 com.android.internal.policy.PhoneLayoutInflater
-com.android.internal.policy.PhoneWindow
 com.android.internal.policy.PhoneWindow$1
-com.android.internal.policy.PhoneWindow$PanelFeatureState
 com.android.internal.policy.PhoneWindow$PanelFeatureState$SavedState$1
+com.android.internal.policy.PhoneWindow$PanelFeatureState
 com.android.internal.policy.PhoneWindow$PhoneWindowMenuCallback
-com.android.internal.policy.PhoneWindow$RotationWatcher
 com.android.internal.policy.PhoneWindow$RotationWatcher$1
-com.android.internal.telecom.ITelecomService
-com.android.internal.telecom.ITelecomService$Stub
+com.android.internal.policy.PhoneWindow$RotationWatcher
+com.android.internal.policy.PhoneWindow
 com.android.internal.telecom.ITelecomService$Stub$Proxy
+com.android.internal.telecom.ITelecomService$Stub
+com.android.internal.telecom.ITelecomService
 com.android.internal.telecom.IVideoCallback
-com.android.internal.telecom.IVideoProvider
 com.android.internal.telecom.IVideoProvider$Stub
-com.android.internal.telephony.ICarrierConfigLoader
-com.android.internal.telephony.ICarrierConfigLoader$Stub
+com.android.internal.telecom.IVideoProvider
+com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$1zkPy06BwndFkKrGCUI1ORIPJcI
+com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$2WGP2Bp11k7_Xwi1N4YefElOUuM
+com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$8HFbCDJDN1mrLJG980qYH5MGqMk
+com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$P0j9hvO3e-UE9_1i1QM_ujl8Bpo
+com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$U28a_EGx2cvmQhDfRRgonMt5Zrc
+com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$bWluhZvk2X-dQ0UidKfdpd0kwuw
+com.android.internal.telephony.-$$Lambda$PhoneSubInfoController$qSXnUMuIwAZ0TQjtyVEfznh1w8o
+com.android.internal.telephony.-$$Lambda$PhoneSwitcher$WfAxZbJDpCUxBytiUchQ87aGijQ
+com.android.internal.telephony.-$$Lambda$RILRequest$VaC9ddQXT8qxCl7rcNKtUadFQoI
+com.android.internal.telephony.-$$Lambda$SubscriptionController$Nt_ojdeqo4C2mbuwymYLvwgOLGo
+com.android.internal.telephony.-$$Lambda$SubscriptionController$u5xE-urXR6ElZ50305_6guo20Fc
+com.android.internal.telephony.-$$Lambda$SubscriptionInfoUpdater$-zZXM9oMRZ3vZz7dJOG19J00Bmw
+com.android.internal.telephony.-$$Lambda$SubscriptionInfoUpdater$D5yF1HbS4cvCyoAj3FESkPtA_0g
+com.android.internal.telephony.-$$Lambda$SubscriptionInfoUpdater$MMx9iQX0JVqqMPLTUZhdBubFSzU
+com.android.internal.telephony.-$$Lambda$TelephonyComponentFactory$InjectedComponents$JvIoCy0AgfF5fVN1H6UnTpH4kxc
+com.android.internal.telephony.-$$Lambda$TelephonyComponentFactory$InjectedComponents$lPb9esCECA9I6VLqv3Aq2ZDh9Iw
+com.android.internal.telephony.-$$Lambda$TelephonyComponentFactory$InjectedComponents$tidvzo4mrKSDaluwYNp7qAWJEV8
+com.android.internal.telephony.-$$Lambda$TelephonyPermissions$LxEEC4irBSbjD1lSC4EeVLgFY9I
+com.android.internal.telephony.AppSmsManager
+com.android.internal.telephony.BaseCommands
+com.android.internal.telephony.Call$SrvccState
+com.android.internal.telephony.Call$State
+com.android.internal.telephony.Call
+com.android.internal.telephony.CallManager$CallManagerHandler
+com.android.internal.telephony.CallManager
+com.android.internal.telephony.CallStateException
+com.android.internal.telephony.CallTracker
+com.android.internal.telephony.CallerInfoAsyncQuery$OnQueryCompleteListener
+com.android.internal.telephony.CarrierActionAgent$1
+com.android.internal.telephony.CarrierActionAgent
+com.android.internal.telephony.CarrierAppUtils
+com.android.internal.telephony.CarrierInfoManager
+com.android.internal.telephony.CarrierKeyDownloadManager$1
+com.android.internal.telephony.CarrierKeyDownloadManager
+com.android.internal.telephony.CarrierResolver$1
+com.android.internal.telephony.CarrierResolver
+com.android.internal.telephony.CarrierServiceBindHelper$1
+com.android.internal.telephony.CarrierServiceBindHelper$2
+com.android.internal.telephony.CarrierServiceBindHelper$AppBinding
+com.android.internal.telephony.CarrierServiceBindHelper$CarrierServicePackageMonitor
+com.android.internal.telephony.CarrierServiceBindHelper
+com.android.internal.telephony.CarrierServiceStateTracker$1
+com.android.internal.telephony.CarrierServiceStateTracker$2
+com.android.internal.telephony.CarrierServiceStateTracker$3
+com.android.internal.telephony.CarrierServiceStateTracker$EmergencyNetworkNotification
+com.android.internal.telephony.CarrierServiceStateTracker$NotificationType
+com.android.internal.telephony.CarrierServiceStateTracker$PrefNetworkNotification
+com.android.internal.telephony.CarrierServiceStateTracker
+com.android.internal.telephony.CarrierSignalAgent$1
+com.android.internal.telephony.CarrierSignalAgent
+com.android.internal.telephony.CellBroadcastHandler
+com.android.internal.telephony.CellularNetworkService$CellularNetworkServiceProvider$1
+com.android.internal.telephony.CellularNetworkService$CellularNetworkServiceProvider
+com.android.internal.telephony.CellularNetworkService
+com.android.internal.telephony.CellularNetworkValidator$ValidationCallback
+com.android.internal.telephony.CellularNetworkValidator
+com.android.internal.telephony.ClientWakelockAccountant
+com.android.internal.telephony.ClientWakelockTracker
+com.android.internal.telephony.CommandException$Error
+com.android.internal.telephony.CommandException
+com.android.internal.telephony.CommandsInterface
+com.android.internal.telephony.Connection
+com.android.internal.telephony.DctConstants$Activity
+com.android.internal.telephony.DctConstants$State
+com.android.internal.telephony.DebugService
+com.android.internal.telephony.DefaultPhoneNotifier$1
+com.android.internal.telephony.DefaultPhoneNotifier
+com.android.internal.telephony.DeviceStateMonitor$1
+com.android.internal.telephony.DeviceStateMonitor$2
+com.android.internal.telephony.DeviceStateMonitor$3
+com.android.internal.telephony.DeviceStateMonitor$AccessNetworkThresholds
+com.android.internal.telephony.DeviceStateMonitor
+com.android.internal.telephony.ExponentialBackoff$1
+com.android.internal.telephony.ExponentialBackoff$HandlerAdapter
+com.android.internal.telephony.ExponentialBackoff
+com.android.internal.telephony.GsmCdmaCall
+com.android.internal.telephony.GsmCdmaCallTracker$1
+com.android.internal.telephony.GsmCdmaCallTracker
+com.android.internal.telephony.GsmCdmaConnection
+com.android.internal.telephony.GsmCdmaPhone$1
+com.android.internal.telephony.GsmCdmaPhone$2
+com.android.internal.telephony.GsmCdmaPhone$3
+com.android.internal.telephony.GsmCdmaPhone
+com.android.internal.telephony.HalVersion
+com.android.internal.telephony.HardwareConfig
 com.android.internal.telephony.ICarrierConfigLoader$Stub$Proxy
-com.android.internal.telephony.IOnSubscriptionsChangedListener
+com.android.internal.telephony.ICarrierConfigLoader$Stub
+com.android.internal.telephony.ICarrierConfigLoader
+com.android.internal.telephony.IIccPhoneBook$Stub
+com.android.internal.telephony.IIccPhoneBook
 com.android.internal.telephony.IOnSubscriptionsChangedListener$Stub
-com.android.internal.telephony.IPhoneStateListener
+com.android.internal.telephony.IOnSubscriptionsChangedListener
 com.android.internal.telephony.IPhoneStateListener$Stub
-com.android.internal.telephony.IPhoneSubInfo
-com.android.internal.telephony.IPhoneSubInfo$Stub
+com.android.internal.telephony.IPhoneStateListener
 com.android.internal.telephony.IPhoneSubInfo$Stub$Proxy
-com.android.internal.telephony.ISms
+com.android.internal.telephony.IPhoneSubInfo$Stub
+com.android.internal.telephony.IPhoneSubInfo
 com.android.internal.telephony.ISms$Stub
-com.android.internal.telephony.ISub
-com.android.internal.telephony.ISub$Stub
+com.android.internal.telephony.ISms
+com.android.internal.telephony.ISmsImplBase
 com.android.internal.telephony.ISub$Stub$Proxy
-com.android.internal.telephony.ITelephony
-com.android.internal.telephony.ITelephony$Stub
+com.android.internal.telephony.ISub$Stub
+com.android.internal.telephony.ISub
 com.android.internal.telephony.ITelephony$Stub$Proxy
-com.android.internal.telephony.ITelephonyRegistry
-com.android.internal.telephony.ITelephonyRegistry$Stub
+com.android.internal.telephony.ITelephony$Stub
+com.android.internal.telephony.ITelephony
 com.android.internal.telephony.ITelephonyRegistry$Stub$Proxy
+com.android.internal.telephony.ITelephonyRegistry$Stub
+com.android.internal.telephony.ITelephonyRegistry
+com.android.internal.telephony.IccCard
+com.android.internal.telephony.IccCardConstants$State
+com.android.internal.telephony.IccPhoneBookInterfaceManager$1
+com.android.internal.telephony.IccPhoneBookInterfaceManager
+com.android.internal.telephony.IccProvider
+com.android.internal.telephony.IccSmsInterfaceManager$1
+com.android.internal.telephony.IccSmsInterfaceManager$CdmaBroadcastRangeManager
+com.android.internal.telephony.IccSmsInterfaceManager$CellBroadcastRangeManager
+com.android.internal.telephony.IccSmsInterfaceManager
+com.android.internal.telephony.ImsSmsDispatcher$1
+com.android.internal.telephony.ImsSmsDispatcher$2
+com.android.internal.telephony.ImsSmsDispatcher$3
+com.android.internal.telephony.ImsSmsDispatcher$4
+com.android.internal.telephony.ImsSmsDispatcher
+com.android.internal.telephony.InboundSmsHandler$1
+com.android.internal.telephony.InboundSmsHandler$2
+com.android.internal.telephony.InboundSmsHandler$DefaultState
+com.android.internal.telephony.InboundSmsHandler$DeliveringState
+com.android.internal.telephony.InboundSmsHandler$IdleState
+com.android.internal.telephony.InboundSmsHandler$NewMessageNotificationActionReceiver
+com.android.internal.telephony.InboundSmsHandler$StartupState
+com.android.internal.telephony.InboundSmsHandler$WaitingState
+com.android.internal.telephony.InboundSmsHandler
+com.android.internal.telephony.IntRangeManager
+com.android.internal.telephony.IntentBroadcaster$1
+com.android.internal.telephony.IntentBroadcaster
+com.android.internal.telephony.LocaleTracker$1
+com.android.internal.telephony.LocaleTracker
+com.android.internal.telephony.MccTable$MccEntry
+com.android.internal.telephony.MccTable
+com.android.internal.telephony.NetworkRegistrationManager$NetworkRegStateCallback
+com.android.internal.telephony.NetworkRegistrationManager$NetworkServiceConnection
+com.android.internal.telephony.NetworkRegistrationManager$RegManagerDeathRecipient
+com.android.internal.telephony.NetworkRegistrationManager
+com.android.internal.telephony.NetworkScanRequestTracker$1
+com.android.internal.telephony.NetworkScanRequestTracker$NetworkScanRequestScheduler
+com.android.internal.telephony.NetworkScanRequestTracker
+com.android.internal.telephony.NewNitzStateMachine$1
+com.android.internal.telephony.NewNitzStateMachine
+com.android.internal.telephony.NewTimeServiceHelper$1
+com.android.internal.telephony.NewTimeServiceHelper$Listener
+com.android.internal.telephony.NewTimeServiceHelper
+com.android.internal.telephony.NitzStateMachine$DeviceState
+com.android.internal.telephony.NitzStateMachine
+com.android.internal.telephony.OemHookIndication
+com.android.internal.telephony.OemHookResponse
+com.android.internal.telephony.Phone$1
+com.android.internal.telephony.Phone
+com.android.internal.telephony.PhoneConfigurationManager$MainThreadHandler
+com.android.internal.telephony.PhoneConfigurationManager
+com.android.internal.telephony.PhoneConfigurationModels
+com.android.internal.telephony.PhoneConstantConversions$1
+com.android.internal.telephony.PhoneConstantConversions
+com.android.internal.telephony.PhoneConstants$DataState
 com.android.internal.telephony.PhoneConstants$State
-com.android.internal.telephony.SmsApplication
+com.android.internal.telephony.PhoneFactory
+com.android.internal.telephony.PhoneInternalInterface$DataActivityState
+com.android.internal.telephony.PhoneInternalInterface
+com.android.internal.telephony.PhoneNotifier
+com.android.internal.telephony.PhoneStateIntentReceiver
+com.android.internal.telephony.PhoneSubInfoController$CallPhoneMethodHelper
+com.android.internal.telephony.PhoneSubInfoController$PermissionCheckHelper
+com.android.internal.telephony.PhoneSubInfoController
+com.android.internal.telephony.PhoneSwitcher$3
+com.android.internal.telephony.PhoneSwitcher$4
+com.android.internal.telephony.PhoneSwitcher$PhoneState
+com.android.internal.telephony.PhoneSwitcher$PhoneSwitcherNetworkRequestListener
+com.android.internal.telephony.PhoneSwitcher
+com.android.internal.telephony.ProxyController$1
+com.android.internal.telephony.ProxyController
+com.android.internal.telephony.RIL$RadioProxyDeathRecipient
+com.android.internal.telephony.RIL$RilHandler
+com.android.internal.telephony.RIL
+com.android.internal.telephony.RILConstants
+com.android.internal.telephony.RILRequest
+com.android.internal.telephony.RadioCapability
+com.android.internal.telephony.RadioConfig$ServiceDeathRecipient
+com.android.internal.telephony.RadioConfig
+com.android.internal.telephony.RadioConfigIndication
+com.android.internal.telephony.RadioConfigResponse
+com.android.internal.telephony.RadioIndication
+com.android.internal.telephony.RadioResponse
+com.android.internal.telephony.RatRatcheter$1
+com.android.internal.telephony.RatRatcheter
+com.android.internal.telephony.RestrictedState
+com.android.internal.telephony.RetryManager
+com.android.internal.telephony.RilWakelockInfo
+com.android.internal.telephony.SMSDispatcher$SettingsObserver
+com.android.internal.telephony.SMSDispatcher
+com.android.internal.telephony.ServiceStateTracker$1
+com.android.internal.telephony.ServiceStateTracker$SstSubscriptionsChangedListener
+com.android.internal.telephony.ServiceStateTracker
+com.android.internal.telephony.SettingsObserver
+com.android.internal.telephony.SimActivationTracker$1
+com.android.internal.telephony.SimActivationTracker
 com.android.internal.telephony.SmsApplication$SmsApplicationData
-com.android.internal.textservice.ISpellCheckerSession
+com.android.internal.telephony.SmsApplication$SmsPackageMonitor
+com.android.internal.telephony.SmsApplication
+com.android.internal.telephony.SmsBroadcastUndelivered$1
+com.android.internal.telephony.SmsBroadcastUndelivered$ScanRawTableThread
+com.android.internal.telephony.SmsBroadcastUndelivered
+com.android.internal.telephony.SmsDispatchersController$1
+com.android.internal.telephony.SmsDispatchersController
+com.android.internal.telephony.SmsStorageMonitor$1
+com.android.internal.telephony.SmsStorageMonitor
+com.android.internal.telephony.SmsUsageMonitor$SettingsObserver
+com.android.internal.telephony.SmsUsageMonitor$SettingsObserverHandler
+com.android.internal.telephony.SmsUsageMonitor
+com.android.internal.telephony.SubscriptionController$ScLocalLog
+com.android.internal.telephony.SubscriptionController
+com.android.internal.telephony.SubscriptionInfoUpdater$1
+com.android.internal.telephony.SubscriptionInfoUpdater
+com.android.internal.telephony.SubscriptionMonitor$1
+com.android.internal.telephony.SubscriptionMonitor$2
+com.android.internal.telephony.SubscriptionMonitor
+com.android.internal.telephony.TelephonyCapabilities
+com.android.internal.telephony.TelephonyComponentFactory$InjectedComponents
+com.android.internal.telephony.TelephonyComponentFactory
+com.android.internal.telephony.TelephonyDevController
+com.android.internal.telephony.TelephonyPermissions
+com.android.internal.telephony.TelephonyTester$1
+com.android.internal.telephony.TelephonyTester
+com.android.internal.telephony.TimeZoneLookupHelper$CountryResult
+com.android.internal.telephony.TimeZoneLookupHelper
+com.android.internal.telephony.UiccPhoneBookController
+com.android.internal.telephony.UiccSmsController
+com.android.internal.telephony.WakeLockStateMachine$1
+com.android.internal.telephony.WakeLockStateMachine$DefaultState
+com.android.internal.telephony.WakeLockStateMachine$IdleState
+com.android.internal.telephony.WakeLockStateMachine$WaitingState
+com.android.internal.telephony.WakeLockStateMachine
+com.android.internal.telephony.WapPushOverSms$1
+com.android.internal.telephony.WapPushOverSms$BindServiceThread
+com.android.internal.telephony.WapPushOverSms
+com.android.internal.telephony.cat.CatLog
+com.android.internal.telephony.cat.CatService
+com.android.internal.telephony.cdma.CdmaInboundSmsHandler
+com.android.internal.telephony.cdma.CdmaSMSDispatcher
+com.android.internal.telephony.cdma.CdmaServiceCategoryProgramHandler$1
+com.android.internal.telephony.cdma.CdmaServiceCategoryProgramHandler
+com.android.internal.telephony.cdma.CdmaSmsBroadcastConfigInfo
+com.android.internal.telephony.cdma.CdmaSubscriptionSourceManager
+com.android.internal.telephony.cdma.EriManager$EriFile
+com.android.internal.telephony.cdma.EriManager
+com.android.internal.telephony.dataconnection.AccessNetworksManager$1
+com.android.internal.telephony.dataconnection.AccessNetworksManager
+com.android.internal.telephony.dataconnection.ApnContext
+com.android.internal.telephony.dataconnection.CellularDataService$CellularDataServiceProvider$1
+com.android.internal.telephony.dataconnection.CellularDataService$CellularDataServiceProvider
+com.android.internal.telephony.dataconnection.CellularDataService
+com.android.internal.telephony.dataconnection.DataConnection
+com.android.internal.telephony.dataconnection.DataConnectionReasons$DataAllowedReasonType
+com.android.internal.telephony.dataconnection.DataConnectionReasons$DataDisallowedReasonType
+com.android.internal.telephony.dataconnection.DataConnectionReasons
+com.android.internal.telephony.dataconnection.DataEnabledSettings
+com.android.internal.telephony.dataconnection.DataServiceManager$CellularDataServiceCallback
+com.android.internal.telephony.dataconnection.DataServiceManager$CellularDataServiceConnection
+com.android.internal.telephony.dataconnection.DataServiceManager$DataServiceManagerDeathRecipient
+com.android.internal.telephony.dataconnection.DataServiceManager
+com.android.internal.telephony.dataconnection.DcController$1
+com.android.internal.telephony.dataconnection.DcController$2
+com.android.internal.telephony.dataconnection.DcController$DccDefaultState
+com.android.internal.telephony.dataconnection.DcController
+com.android.internal.telephony.dataconnection.DcFailBringUp
+com.android.internal.telephony.dataconnection.DcRequest
+com.android.internal.telephony.dataconnection.DcTesterDeactivateAll$1
+com.android.internal.telephony.dataconnection.DcTesterDeactivateAll
+com.android.internal.telephony.dataconnection.DcTesterFailBringUpAll$1
+com.android.internal.telephony.dataconnection.DcTesterFailBringUpAll
+com.android.internal.telephony.dataconnection.DcTracker$1
+com.android.internal.telephony.dataconnection.DcTracker$2
+com.android.internal.telephony.dataconnection.DcTracker$3
+com.android.internal.telephony.dataconnection.DcTracker$ApnChangeObserver
+com.android.internal.telephony.dataconnection.DcTracker$DataStallRecoveryHandler
+com.android.internal.telephony.dataconnection.DcTracker$DctOnSubscriptionsChangedListener
+com.android.internal.telephony.dataconnection.DcTracker$RetryFailures
+com.android.internal.telephony.dataconnection.DcTracker$TxRxSum
+com.android.internal.telephony.dataconnection.DcTracker
+com.android.internal.telephony.dataconnection.TelephonyNetworkFactory$InternalHandler
+com.android.internal.telephony.dataconnection.TelephonyNetworkFactory
+com.android.internal.telephony.dataconnection.TransportManager
+com.android.internal.telephony.emergency.EmergencyNumberTracker
+com.android.internal.telephony.euicc.EuiccCardController$SimSlotStatusChangedBroadcastReceiver
+com.android.internal.telephony.euicc.EuiccCardController
+com.android.internal.telephony.euicc.EuiccConnector$1
+com.android.internal.telephony.euicc.EuiccConnector$AvailableState
+com.android.internal.telephony.euicc.EuiccConnector$BindingState
+com.android.internal.telephony.euicc.EuiccConnector$ConnectedState
+com.android.internal.telephony.euicc.EuiccConnector$DisconnectedState
+com.android.internal.telephony.euicc.EuiccConnector$EuiccPackageMonitor
+com.android.internal.telephony.euicc.EuiccConnector$UnavailableState
+com.android.internal.telephony.euicc.EuiccConnector
+com.android.internal.telephony.euicc.EuiccController
+com.android.internal.telephony.euicc.IEuiccCardController$Stub
+com.android.internal.telephony.euicc.IEuiccCardController
+com.android.internal.telephony.euicc.IEuiccController$Stub
+com.android.internal.telephony.euicc.IEuiccController
+com.android.internal.telephony.gsm.GsmCellBroadcastHandler
+com.android.internal.telephony.gsm.GsmInboundSmsHandler
+com.android.internal.telephony.gsm.GsmSMSDispatcher
+com.android.internal.telephony.gsm.SmsBroadcastConfigInfo
+com.android.internal.telephony.gsm.UsimDataDownloadHandler
+com.android.internal.telephony.ims.-$$Lambda$ImsResolver$SIkPixr-qGLIK-usUJIKu6S5BBs
+com.android.internal.telephony.ims.-$$Lambda$ImsResolver$VfY5To_kbbTJevLzywTg-_S1JhA
+com.android.internal.telephony.ims.-$$Lambda$ImsResolver$aWLlEvfonhYSfDR8cVsM6A5pmqI
+com.android.internal.telephony.ims.-$$Lambda$ImsResolver$pNx4XUM9FmR6cV_MCAGiEt8F4pg
+com.android.internal.telephony.ims.-$$Lambda$ImsServiceController$w3xbtqEhKr7IY81qFuw0e94p84Y
+com.android.internal.telephony.ims.-$$Lambda$WVd6ghNMbVDukmkxia3ZwNeZzEY
+com.android.internal.telephony.ims.-$$Lambda$WamP7BPq0j01TgYE3GvUqU3b-rs
+com.android.internal.telephony.ims.ImsResolver$1
+com.android.internal.telephony.ims.ImsResolver$2
+com.android.internal.telephony.ims.ImsResolver$3
+com.android.internal.telephony.ims.ImsResolver$4
+com.android.internal.telephony.ims.ImsResolver$5
+com.android.internal.telephony.ims.ImsResolver$6
+com.android.internal.telephony.ims.ImsResolver$7
+com.android.internal.telephony.ims.ImsResolver$ImsDynamicQueryManagerFactory
+com.android.internal.telephony.ims.ImsResolver$ImsServiceControllerFactory
+com.android.internal.telephony.ims.ImsResolver$ImsServiceInfo
+com.android.internal.telephony.ims.ImsResolver$SubscriptionManagerProxy
+com.android.internal.telephony.ims.ImsResolver
+com.android.internal.telephony.ims.ImsServiceController$1
+com.android.internal.telephony.ims.ImsServiceController$2
+com.android.internal.telephony.ims.ImsServiceController$3
+com.android.internal.telephony.ims.ImsServiceController$ImsFeatureContainer
+com.android.internal.telephony.ims.ImsServiceController$ImsFeatureStatusCallback$1
+com.android.internal.telephony.ims.ImsServiceController$ImsFeatureStatusCallback
+com.android.internal.telephony.ims.ImsServiceController$ImsServiceConnection
+com.android.internal.telephony.ims.ImsServiceController$ImsServiceControllerCallbacks
+com.android.internal.telephony.ims.ImsServiceController$RebindRetry
+com.android.internal.telephony.ims.ImsServiceController
+com.android.internal.telephony.ims.ImsServiceFeatureQueryManager$Listener
+com.android.internal.telephony.ims.ImsServiceFeatureQueryManager
+com.android.internal.telephony.imsphone.-$$Lambda$ImsPhoneCallTracker$QlPVd_3u4_verjHUDnkn6zaSe54
+com.android.internal.telephony.imsphone.-$$Lambda$ImsPhoneCallTracker$Zw03itjXT6-LrhiYuD-9nKFg2Wg
+com.android.internal.telephony.imsphone.ImsExternalCallTracker$1
+com.android.internal.telephony.imsphone.ImsExternalCallTracker$2
+com.android.internal.telephony.imsphone.ImsExternalCallTracker$ExternalCallStateListener
+com.android.internal.telephony.imsphone.ImsExternalCallTracker$ExternalConnectionListener
+com.android.internal.telephony.imsphone.ImsExternalCallTracker$ImsCallNotify
+com.android.internal.telephony.imsphone.ImsExternalCallTracker
+com.android.internal.telephony.imsphone.ImsExternalConnection$Listener
+com.android.internal.telephony.imsphone.ImsPhone$1
+com.android.internal.telephony.imsphone.ImsPhone$2
+com.android.internal.telephony.imsphone.ImsPhone$3
+com.android.internal.telephony.imsphone.ImsPhone
+com.android.internal.telephony.imsphone.ImsPhoneBase
+com.android.internal.telephony.imsphone.ImsPhoneCall
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$1
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$2
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$3
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$4
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$5
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$6
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$7
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$8
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$9
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$HoldSwapState
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$MmTelFeatureListener
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$PhoneNumberUtilsProxy
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$PhoneStateListener
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker$SharedPreferenceProxy
+com.android.internal.telephony.imsphone.ImsPhoneCallTracker
+com.android.internal.telephony.imsphone.ImsPhoneCommandInterface
+com.android.internal.telephony.imsphone.ImsPhoneFactory
+com.android.internal.telephony.imsphone.ImsPullCall
+com.android.internal.telephony.metrics.CallSessionEventBuilder
+com.android.internal.telephony.metrics.InProgressCallSession
+com.android.internal.telephony.metrics.InProgressSmsSession
+com.android.internal.telephony.metrics.SmsSessionEventBuilder
+com.android.internal.telephony.metrics.TelephonyEventBuilder
+com.android.internal.telephony.metrics.TelephonyMetrics
+com.android.internal.telephony.nano.CarrierIdProto$CarrierAttribute
+com.android.internal.telephony.nano.CarrierIdProto$CarrierId
+com.android.internal.telephony.nano.CarrierIdProto$CarrierList
+com.android.internal.telephony.nano.TelephonyProto$ActiveSubscriptionInfo
+com.android.internal.telephony.nano.TelephonyProto$ImsCapabilities
+com.android.internal.telephony.nano.TelephonyProto$ImsConnectionState
+com.android.internal.telephony.nano.TelephonyProto$ImsReasonInfo
+com.android.internal.telephony.nano.TelephonyProto$RilDataCall
+com.android.internal.telephony.nano.TelephonyProto$SmsSession$Event
+com.android.internal.telephony.nano.TelephonyProto$TelephonyCallSession$Event$RilCall
+com.android.internal.telephony.nano.TelephonyProto$TelephonyCallSession$Event
+com.android.internal.telephony.nano.TelephonyProto$TelephonyEvent
+com.android.internal.telephony.nano.TelephonyProto$TelephonyServiceState$TelephonyOperator
+com.android.internal.telephony.nano.TelephonyProto$TelephonyServiceState
+com.android.internal.telephony.protobuf.nano.CodedInputByteBufferNano
+com.android.internal.telephony.protobuf.nano.CodedOutputByteBufferNano
+com.android.internal.telephony.protobuf.nano.ExtendableMessageNano
+com.android.internal.telephony.protobuf.nano.InternalNano
+com.android.internal.telephony.protobuf.nano.InvalidProtocolBufferNanoException
+com.android.internal.telephony.protobuf.nano.MessageNano
+com.android.internal.telephony.protobuf.nano.WireFormatNano
+com.android.internal.telephony.test.SimulatedRadioControl
+com.android.internal.telephony.uicc.AnswerToReset$HistoricalBytes
+com.android.internal.telephony.uicc.AnswerToReset$InterfaceByte
+com.android.internal.telephony.uicc.AnswerToReset
+com.android.internal.telephony.uicc.IccCardApplicationStatus$AppState
+com.android.internal.telephony.uicc.IccCardApplicationStatus$AppType
+com.android.internal.telephony.uicc.IccCardApplicationStatus
+com.android.internal.telephony.uicc.IccCardStatus$CardState
+com.android.internal.telephony.uicc.IccCardStatus$PinState
+com.android.internal.telephony.uicc.IccCardStatus
+com.android.internal.telephony.uicc.IccConstants
+com.android.internal.telephony.uicc.IccIoResult
+com.android.internal.telephony.uicc.IccRecords
+com.android.internal.telephony.uicc.IccSlotStatus$SlotState
+com.android.internal.telephony.uicc.IccSlotStatus
+com.android.internal.telephony.uicc.IccUtils
+com.android.internal.telephony.uicc.InstallCarrierAppUtils
+com.android.internal.telephony.uicc.UiccCard
+com.android.internal.telephony.uicc.UiccCardApplication
+com.android.internal.telephony.uicc.UiccCarrierPrivilegeRules
+com.android.internal.telephony.uicc.UiccController$1
+com.android.internal.telephony.uicc.UiccController
+com.android.internal.telephony.uicc.UiccProfile$2
+com.android.internal.telephony.uicc.UiccProfile$3
+com.android.internal.telephony.uicc.UiccProfile
+com.android.internal.telephony.uicc.UiccSlot
+com.android.internal.telephony.uicc.UiccStateChangedLauncher
+com.android.internal.telephony.util.NotificationChannelController$1
+com.android.internal.telephony.util.NotificationChannelController
+com.android.internal.telephony.util.VoicemailNotificationSettingsUtil
 com.android.internal.textservice.ISpellCheckerSession$Stub$Proxy
-com.android.internal.textservice.ISpellCheckerSessionListener
+com.android.internal.textservice.ISpellCheckerSession
 com.android.internal.textservice.ISpellCheckerSessionListener$Stub
-com.android.internal.textservice.ITextServicesManager
-com.android.internal.textservice.ITextServicesManager$Stub
+com.android.internal.textservice.ISpellCheckerSessionListener
 com.android.internal.textservice.ITextServicesManager$Stub$Proxy
-com.android.internal.textservice.ITextServicesSessionListener
+com.android.internal.textservice.ITextServicesManager$Stub
+com.android.internal.textservice.ITextServicesManager
 com.android.internal.textservice.ITextServicesSessionListener$Stub
+com.android.internal.textservice.ITextServicesSessionListener
 com.android.internal.transition.EpicenterTranslateClipReveal
 com.android.internal.util.ArrayUtils
+com.android.internal.util.AsyncChannel
 com.android.internal.util.BitUtils
+com.android.internal.util.CollectionUtils
 com.android.internal.util.ExponentiallyBucketedHistogram
 com.android.internal.util.FastMath
-com.android.internal.util.FastPrintWriter
 com.android.internal.util.FastPrintWriter$DummyWriter
+com.android.internal.util.FastPrintWriter
 com.android.internal.util.FastXmlSerializer
 com.android.internal.util.FunctionalUtils$ThrowingRunnable
 com.android.internal.util.FunctionalUtils$ThrowingSupplier
@@ -4106,24 +5089,25 @@
 com.android.internal.util.Preconditions
 com.android.internal.util.StatLogger
 com.android.internal.util.State
-com.android.internal.util.StateMachine
 com.android.internal.util.StateMachine$LogRec
 com.android.internal.util.StateMachine$LogRecords
-com.android.internal.util.StateMachine$SmHandler
 com.android.internal.util.StateMachine$SmHandler$HaltingState
 com.android.internal.util.StateMachine$SmHandler$QuittingState
 com.android.internal.util.StateMachine$SmHandler$StateInfo
+com.android.internal.util.StateMachine$SmHandler
+com.android.internal.util.StateMachine
+com.android.internal.util.SyncResultReceiver
 com.android.internal.util.VirtualRefBasePtr
-com.android.internal.util.XmlUtils
 com.android.internal.util.XmlUtils$WriteMapCallback
-com.android.internal.util.function.NonaConsumer
-com.android.internal.util.function.NonaFunction
-com.android.internal.util.function.OctConsumer
-com.android.internal.util.function.OctFunction
+com.android.internal.util.XmlUtils
 com.android.internal.util.function.HeptConsumer
 com.android.internal.util.function.HeptFunction
 com.android.internal.util.function.HexConsumer
 com.android.internal.util.function.HexFunction
+com.android.internal.util.function.NonaConsumer
+com.android.internal.util.function.NonaFunction
+com.android.internal.util.function.OctConsumer
+com.android.internal.util.function.OctFunction
 com.android.internal.util.function.QuadConsumer
 com.android.internal.util.function.QuadFunction
 com.android.internal.util.function.QuintConsumer
@@ -4135,56 +5119,57 @@
 com.android.internal.util.function.pooled.PooledConsumer
 com.android.internal.util.function.pooled.PooledFunction
 com.android.internal.util.function.pooled.PooledLambda
-com.android.internal.util.function.pooled.PooledLambdaImpl
 com.android.internal.util.function.pooled.PooledLambdaImpl$LambdaType
 com.android.internal.util.function.pooled.PooledLambdaImpl$Pool
+com.android.internal.util.function.pooled.PooledLambdaImpl
 com.android.internal.util.function.pooled.PooledPredicate
 com.android.internal.util.function.pooled.PooledRunnable
-com.android.internal.util.function.pooled.PooledSupplier
 com.android.internal.util.function.pooled.PooledSupplier$OfDouble
 com.android.internal.util.function.pooled.PooledSupplier$OfInt
 com.android.internal.util.function.pooled.PooledSupplier$OfLong
+com.android.internal.util.function.pooled.PooledSupplier
 com.android.internal.view.ActionBarPolicy
-com.android.internal.view.IInputConnectionWrapper
 com.android.internal.view.IInputConnectionWrapper$MyHandler
-com.android.internal.view.IInputContext
+com.android.internal.view.IInputConnectionWrapper
 com.android.internal.view.IInputContext$Stub
-com.android.internal.view.IInputContextCallback
-com.android.internal.view.IInputContextCallback$Stub
+com.android.internal.view.IInputContext
 com.android.internal.view.IInputContextCallback$Stub$Proxy
-com.android.internal.view.IInputMethodClient
+com.android.internal.view.IInputContextCallback$Stub
+com.android.internal.view.IInputContextCallback
 com.android.internal.view.IInputMethodClient$Stub
-com.android.internal.view.IInputMethodManager
-com.android.internal.view.IInputMethodManager$Stub
+com.android.internal.view.IInputMethodClient
 com.android.internal.view.IInputMethodManager$Stub$Proxy
-com.android.internal.view.IInputMethodSession
-com.android.internal.view.IInputMethodSession$Stub
+com.android.internal.view.IInputMethodManager$Stub
+com.android.internal.view.IInputMethodManager
 com.android.internal.view.IInputMethodSession$Stub$Proxy
-com.android.internal.view.InputBindResult
+com.android.internal.view.IInputMethodSession$Stub
+com.android.internal.view.IInputMethodSession
 com.android.internal.view.InputBindResult$1
+com.android.internal.view.InputBindResult
 com.android.internal.view.RootViewSurfaceTaker
-com.android.internal.view.SurfaceCallbackHelper
+com.android.internal.view.RotationPolicy
 com.android.internal.view.SurfaceCallbackHelper$1
+com.android.internal.view.SurfaceCallbackHelper
 com.android.internal.view.animation.FallbackLUTInterpolator
 com.android.internal.view.animation.HasNativeInterpolator
 com.android.internal.view.animation.NativeInterpolatorFactory
 com.android.internal.view.animation.NativeInterpolatorFactoryHelper
 com.android.internal.view.menu.ActionMenuItem
 com.android.internal.view.menu.BaseMenuPresenter
-com.android.internal.view.menu.MenuBuilder
 com.android.internal.view.menu.MenuBuilder$Callback
 com.android.internal.view.menu.MenuBuilder$ItemInvoker
+com.android.internal.view.menu.MenuBuilder
 com.android.internal.view.menu.MenuHelper
 com.android.internal.view.menu.MenuItemImpl
 com.android.internal.view.menu.MenuPopupHelper
-com.android.internal.view.menu.MenuPresenter
 com.android.internal.view.menu.MenuPresenter$Callback
+com.android.internal.view.menu.MenuPresenter
 com.android.internal.view.menu.MenuView
 com.android.internal.view.menu.ShowableListMenu
-com.android.internal.widget.AbsActionBarView
 com.android.internal.widget.AbsActionBarView$VisibilityAnimListener
-com.android.internal.widget.ActionBarContainer
+com.android.internal.widget.AbsActionBarView
 com.android.internal.widget.ActionBarContainer$ActionBarBackgroundDrawable
+com.android.internal.widget.ActionBarContainer
 com.android.internal.widget.ActionBarContextView
 com.android.internal.widget.ActionBarOverlayLayout$1
 com.android.internal.widget.ActionBarOverlayLayout$2
@@ -4198,68 +5183,68 @@
 com.android.internal.widget.DecorToolbar
 com.android.internal.widget.DialogTitle
 com.android.internal.widget.EditableInputConnection
-com.android.internal.widget.ILockSettings
-com.android.internal.widget.ILockSettings$Stub
 com.android.internal.widget.ILockSettings$Stub$Proxy
+com.android.internal.widget.ILockSettings$Stub
+com.android.internal.widget.ILockSettings
 com.android.internal.widget.LockPatternUtils
 com.android.internal.widget.ScrollBarUtils
-com.android.internal.widget.ToolbarWidgetWrapper
 com.android.internal.widget.ToolbarWidgetWrapper$1
+com.android.internal.widget.ToolbarWidgetWrapper
 com.android.okhttp.Address
 com.android.okhttp.AndroidShimResponseCache
 com.android.okhttp.Authenticator
-com.android.okhttp.Cache
 com.android.okhttp.Cache$1
-com.android.okhttp.Cache$CacheResponseBody
 com.android.okhttp.Cache$CacheResponseBody$1
+com.android.okhttp.Cache$CacheResponseBody
 com.android.okhttp.Cache$Entry
-com.android.okhttp.CacheControl
+com.android.okhttp.Cache
 com.android.okhttp.CacheControl$Builder
-com.android.okhttp.CertificatePinner
+com.android.okhttp.CacheControl
 com.android.okhttp.CertificatePinner$Builder
+com.android.okhttp.CertificatePinner
 com.android.okhttp.CipherSuite
-com.android.okhttp.ConfigAwareConnectionPool
 com.android.okhttp.ConfigAwareConnectionPool$1
+com.android.okhttp.ConfigAwareConnectionPool
 com.android.okhttp.Connection
-com.android.okhttp.ConnectionPool
 com.android.okhttp.ConnectionPool$1
-com.android.okhttp.ConnectionSpec
+com.android.okhttp.ConnectionPool
 com.android.okhttp.ConnectionSpec$Builder
+com.android.okhttp.ConnectionSpec
 com.android.okhttp.ConnectionSpecs
 com.android.okhttp.Dispatcher
-com.android.okhttp.Dns
 com.android.okhttp.Dns$1
+com.android.okhttp.Dns
 com.android.okhttp.Handshake
-com.android.okhttp.Headers
 com.android.okhttp.Headers$Builder
-com.android.okhttp.HttpHandler
+com.android.okhttp.Headers
 com.android.okhttp.HttpHandler$CleartextURLFilter
-com.android.okhttp.HttpUrl
+com.android.okhttp.HttpHandler
 com.android.okhttp.HttpUrl$1
-com.android.okhttp.HttpUrl$Builder
 com.android.okhttp.HttpUrl$Builder$ParseResult
+com.android.okhttp.HttpUrl$Builder
+com.android.okhttp.HttpUrl
 com.android.okhttp.HttpsHandler
 com.android.okhttp.OkCacheContainer
-com.android.okhttp.OkHttpClient
 com.android.okhttp.OkHttpClient$1
+com.android.okhttp.OkHttpClient
 com.android.okhttp.OkUrlFactories
 com.android.okhttp.OkUrlFactory
 com.android.okhttp.Protocol
-com.android.okhttp.Request
 com.android.okhttp.Request$Builder
-com.android.okhttp.RequestBody
+com.android.okhttp.Request
 com.android.okhttp.RequestBody$2
-com.android.okhttp.Response
+com.android.okhttp.RequestBody
 com.android.okhttp.Response$Builder
+com.android.okhttp.Response
 com.android.okhttp.ResponseBody
 com.android.okhttp.Route
 com.android.okhttp.TlsVersion
 com.android.okhttp.internal.ConnectionSpecSelector
-com.android.okhttp.internal.DiskLruCache
 com.android.okhttp.internal.DiskLruCache$1
 com.android.okhttp.internal.DiskLruCache$4
 com.android.okhttp.internal.DiskLruCache$Editor
 com.android.okhttp.internal.DiskLruCache$Entry
+com.android.okhttp.internal.DiskLruCache
 com.android.okhttp.internal.FaultHidingSink
 com.android.okhttp.internal.Internal
 com.android.okhttp.internal.InternalCache
@@ -4267,26 +5252,26 @@
 com.android.okhttp.internal.Platform
 com.android.okhttp.internal.RouteDatabase
 com.android.okhttp.internal.URLFilter
-com.android.okhttp.internal.Util
 com.android.okhttp.internal.Util$1
+com.android.okhttp.internal.Util
 com.android.okhttp.internal.http.AuthenticatorAdapter
-com.android.okhttp.internal.http.CacheStrategy
 com.android.okhttp.internal.http.CacheStrategy$Factory
+com.android.okhttp.internal.http.CacheStrategy
 com.android.okhttp.internal.http.HeaderParser
-com.android.okhttp.internal.http.Http1xStream
 com.android.okhttp.internal.http.Http1xStream$AbstractSource
 com.android.okhttp.internal.http.Http1xStream$ChunkedSink
 com.android.okhttp.internal.http.Http1xStream$ChunkedSource
 com.android.okhttp.internal.http.Http1xStream$FixedLengthSink
 com.android.okhttp.internal.http.Http1xStream$FixedLengthSource
-com.android.okhttp.internal.http.HttpDate
+com.android.okhttp.internal.http.Http1xStream
 com.android.okhttp.internal.http.HttpDate$1
-com.android.okhttp.internal.http.HttpEngine
+com.android.okhttp.internal.http.HttpDate
 com.android.okhttp.internal.http.HttpEngine$1
+com.android.okhttp.internal.http.HttpEngine
 com.android.okhttp.internal.http.HttpMethod
 com.android.okhttp.internal.http.HttpStream
-com.android.okhttp.internal.http.OkHeaders
 com.android.okhttp.internal.http.OkHeaders$1
+com.android.okhttp.internal.http.OkHeaders
 com.android.okhttp.internal.http.RealResponseBody
 com.android.okhttp.internal.http.RequestException
 com.android.okhttp.internal.http.RequestLine
@@ -4298,14 +5283,15 @@
 com.android.okhttp.internal.huc.DelegatingHttpsURLConnection
 com.android.okhttp.internal.huc.HttpURLConnectionImpl
 com.android.okhttp.internal.huc.HttpsURLConnectionImpl
-com.android.okhttp.internal.io.FileSystem
 com.android.okhttp.internal.io.FileSystem$1
+com.android.okhttp.internal.io.FileSystem
 com.android.okhttp.internal.io.RealConnection
 com.android.okhttp.internal.tls.OkHostnameVerifier
-com.android.okhttp.okio.AsyncTimeout
+com.android.okhttp.internalandroidapi.HasCacheHolder
 com.android.okhttp.okio.AsyncTimeout$1
 com.android.okhttp.okio.AsyncTimeout$2
 com.android.okhttp.okio.AsyncTimeout$Watchdog
+com.android.okhttp.okio.AsyncTimeout
 com.android.okhttp.okio.Buffer
 com.android.okhttp.okio.BufferedSink
 com.android.okhttp.okio.BufferedSource
@@ -4315,33 +5301,58 @@
 com.android.okhttp.okio.ForwardingTimeout
 com.android.okhttp.okio.GzipSource
 com.android.okhttp.okio.InflaterSource
-com.android.okhttp.okio.Okio
 com.android.okhttp.okio.Okio$1
 com.android.okhttp.okio.Okio$2
 com.android.okhttp.okio.Okio$3
-com.android.okhttp.okio.RealBufferedSink
+com.android.okhttp.okio.Okio
 com.android.okhttp.okio.RealBufferedSink$1
-com.android.okhttp.okio.RealBufferedSource
+com.android.okhttp.okio.RealBufferedSink
 com.android.okhttp.okio.RealBufferedSource$1
+com.android.okhttp.okio.RealBufferedSource
 com.android.okhttp.okio.Segment
 com.android.okhttp.okio.SegmentPool
 com.android.okhttp.okio.Sink
 com.android.okhttp.okio.Source
-com.android.okhttp.okio.Timeout
 com.android.okhttp.okio.Timeout$1
+com.android.okhttp.okio.Timeout
 com.android.okhttp.okio.Util
+com.android.org.bouncycastle.asn1.ASN1BitString
 com.android.org.bouncycastle.asn1.ASN1Encodable
+com.android.org.bouncycastle.asn1.ASN1EncodableVector
+com.android.org.bouncycastle.asn1.ASN1InputStream
+com.android.org.bouncycastle.asn1.ASN1Integer
+com.android.org.bouncycastle.asn1.ASN1Null
 com.android.org.bouncycastle.asn1.ASN1Object
-com.android.org.bouncycastle.asn1.ASN1ObjectIdentifier
 com.android.org.bouncycastle.asn1.ASN1ObjectIdentifier$OidHandle
+com.android.org.bouncycastle.asn1.ASN1ObjectIdentifier
+com.android.org.bouncycastle.asn1.ASN1OutputStream
 com.android.org.bouncycastle.asn1.ASN1Primitive
+com.android.org.bouncycastle.asn1.ASN1Sequence
+com.android.org.bouncycastle.asn1.ASN1SequenceParser
+com.android.org.bouncycastle.asn1.ASN1Set
+com.android.org.bouncycastle.asn1.ASN1String
+com.android.org.bouncycastle.asn1.BERTags
+com.android.org.bouncycastle.asn1.DERBitString
+com.android.org.bouncycastle.asn1.DERFactory
+com.android.org.bouncycastle.asn1.DERNull
+com.android.org.bouncycastle.asn1.DEROutputStream
+com.android.org.bouncycastle.asn1.DERSequence
+com.android.org.bouncycastle.asn1.DERSet
+com.android.org.bouncycastle.asn1.DLSequence
+com.android.org.bouncycastle.asn1.DefiniteLengthInputStream
+com.android.org.bouncycastle.asn1.InMemoryRepresentable
+com.android.org.bouncycastle.asn1.IndefiniteLengthInputStream
+com.android.org.bouncycastle.asn1.LimitedInputStream
 com.android.org.bouncycastle.asn1.OIDTokenizer
+com.android.org.bouncycastle.asn1.StreamUtil
 com.android.org.bouncycastle.asn1.bc.BCObjectIdentifiers
 com.android.org.bouncycastle.asn1.iana.IANAObjectIdentifiers
 com.android.org.bouncycastle.asn1.misc.MiscObjectIdentifiers
 com.android.org.bouncycastle.asn1.nist.NISTObjectIdentifiers
 com.android.org.bouncycastle.asn1.oiw.OIWObjectIdentifiers
 com.android.org.bouncycastle.asn1.pkcs.PKCSObjectIdentifiers
+com.android.org.bouncycastle.asn1.x509.AlgorithmIdentifier
+com.android.org.bouncycastle.asn1.x509.SubjectPublicKeyInfo
 com.android.org.bouncycastle.asn1.x509.X509ObjectIdentifiers
 com.android.org.bouncycastle.asn1.x9.X9ObjectIdentifiers
 com.android.org.bouncycastle.crypto.BlockCipher
@@ -4359,88 +5370,92 @@
 com.android.org.bouncycastle.crypto.digests.AndroidDigestFactoryBouncyCastle
 com.android.org.bouncycastle.crypto.digests.AndroidDigestFactoryInterface
 com.android.org.bouncycastle.crypto.digests.AndroidDigestFactoryOpenSSL
-com.android.org.bouncycastle.crypto.digests.OpenSSLDigest
 com.android.org.bouncycastle.crypto.digests.OpenSSLDigest$MD5
+com.android.org.bouncycastle.crypto.digests.OpenSSLDigest
 com.android.org.bouncycastle.crypto.engines.AESEngine
 com.android.org.bouncycastle.crypto.paddings.BlockCipherPadding
 com.android.org.bouncycastle.crypto.paddings.PKCS7Padding
 com.android.org.bouncycastle.crypto.paddings.PaddedBufferedBlockCipher
+com.android.org.bouncycastle.crypto.params.DSAParameters
+com.android.org.bouncycastle.crypto.params.DSAPublicKeyParameters
 com.android.org.bouncycastle.crypto.params.KeyParameter
 com.android.org.bouncycastle.crypto.params.ParametersWithIV
 com.android.org.bouncycastle.crypto.params.ParametersWithRandom
 com.android.org.bouncycastle.jcajce.PBKDFKey
 com.android.org.bouncycastle.jcajce.PKCS12Key
-com.android.org.bouncycastle.jcajce.provider.asymmetric.DH
 com.android.org.bouncycastle.jcajce.provider.asymmetric.DH$Mappings
+com.android.org.bouncycastle.jcajce.provider.asymmetric.DH
 com.android.org.bouncycastle.jcajce.provider.asymmetric.DSA$Mappings
-com.android.org.bouncycastle.jcajce.provider.asymmetric.EC
 com.android.org.bouncycastle.jcajce.provider.asymmetric.EC$Mappings
-com.android.org.bouncycastle.jcajce.provider.asymmetric.RSA
+com.android.org.bouncycastle.jcajce.provider.asymmetric.EC
 com.android.org.bouncycastle.jcajce.provider.asymmetric.RSA$Mappings
+com.android.org.bouncycastle.jcajce.provider.asymmetric.RSA
 com.android.org.bouncycastle.jcajce.provider.asymmetric.X509$Mappings
 com.android.org.bouncycastle.jcajce.provider.asymmetric.dh.KeyFactorySpi
+com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.BCDSAPublicKey
 com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.DSAUtil
 com.android.org.bouncycastle.jcajce.provider.asymmetric.dsa.KeyFactorySpi
-com.android.org.bouncycastle.jcajce.provider.asymmetric.ec.KeyFactorySpi
 com.android.org.bouncycastle.jcajce.provider.asymmetric.ec.KeyFactorySpi$EC
-com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi
+com.android.org.bouncycastle.jcajce.provider.asymmetric.ec.KeyFactorySpi
 com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi$NoPadding
+com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.CipherSpi
 com.android.org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyFactorySpi
+com.android.org.bouncycastle.jcajce.provider.asymmetric.util.BaseCipherSpi
 com.android.org.bouncycastle.jcajce.provider.asymmetric.util.BaseKeyFactorySpi
 com.android.org.bouncycastle.jcajce.provider.config.ConfigurableProvider
 com.android.org.bouncycastle.jcajce.provider.config.ProviderConfiguration
 com.android.org.bouncycastle.jcajce.provider.config.ProviderConfigurationPermission
 com.android.org.bouncycastle.jcajce.provider.digest.DigestAlgorithmProvider
-com.android.org.bouncycastle.jcajce.provider.digest.MD5
 com.android.org.bouncycastle.jcajce.provider.digest.MD5$Mappings
-com.android.org.bouncycastle.jcajce.provider.digest.SHA1
+com.android.org.bouncycastle.jcajce.provider.digest.MD5
 com.android.org.bouncycastle.jcajce.provider.digest.SHA1$Mappings
-com.android.org.bouncycastle.jcajce.provider.digest.SHA224
+com.android.org.bouncycastle.jcajce.provider.digest.SHA1
 com.android.org.bouncycastle.jcajce.provider.digest.SHA224$Mappings
-com.android.org.bouncycastle.jcajce.provider.digest.SHA256
+com.android.org.bouncycastle.jcajce.provider.digest.SHA224
 com.android.org.bouncycastle.jcajce.provider.digest.SHA256$Mappings
-com.android.org.bouncycastle.jcajce.provider.digest.SHA384
+com.android.org.bouncycastle.jcajce.provider.digest.SHA256
 com.android.org.bouncycastle.jcajce.provider.digest.SHA384$Mappings
-com.android.org.bouncycastle.jcajce.provider.digest.SHA512
+com.android.org.bouncycastle.jcajce.provider.digest.SHA384
 com.android.org.bouncycastle.jcajce.provider.digest.SHA512$Mappings
+com.android.org.bouncycastle.jcajce.provider.digest.SHA512
 com.android.org.bouncycastle.jcajce.provider.keystore.BC$Mappings
 com.android.org.bouncycastle.jcajce.provider.keystore.PKCS12$Mappings
-com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi
 com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$Std
 com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi$StoreEntry
-com.android.org.bouncycastle.jcajce.provider.symmetric.AES
-com.android.org.bouncycastle.jcajce.provider.symmetric.AES$ECB
+com.android.org.bouncycastle.jcajce.provider.keystore.bc.BcKeyStoreSpi
 com.android.org.bouncycastle.jcajce.provider.symmetric.AES$ECB$1
+com.android.org.bouncycastle.jcajce.provider.symmetric.AES$ECB
 com.android.org.bouncycastle.jcajce.provider.symmetric.AES$Mappings
-com.android.org.bouncycastle.jcajce.provider.symmetric.ARC4
+com.android.org.bouncycastle.jcajce.provider.symmetric.AES
 com.android.org.bouncycastle.jcajce.provider.symmetric.ARC4$Mappings
-com.android.org.bouncycastle.jcajce.provider.symmetric.Blowfish
+com.android.org.bouncycastle.jcajce.provider.symmetric.ARC4
 com.android.org.bouncycastle.jcajce.provider.symmetric.Blowfish$Mappings
-com.android.org.bouncycastle.jcajce.provider.symmetric.DES
+com.android.org.bouncycastle.jcajce.provider.symmetric.Blowfish
 com.android.org.bouncycastle.jcajce.provider.symmetric.DES$Mappings
-com.android.org.bouncycastle.jcajce.provider.symmetric.DESede
+com.android.org.bouncycastle.jcajce.provider.symmetric.DES
 com.android.org.bouncycastle.jcajce.provider.symmetric.DESede$Mappings
-com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2
+com.android.org.bouncycastle.jcajce.provider.symmetric.DESede
 com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2$Mappings
-com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPKCS12
+com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPBKDF2
 com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPKCS12$Mappings
-com.android.org.bouncycastle.jcajce.provider.symmetric.PBES2AlgorithmParameters
+com.android.org.bouncycastle.jcajce.provider.symmetric.PBEPKCS12
 com.android.org.bouncycastle.jcajce.provider.symmetric.PBES2AlgorithmParameters$Mappings
-com.android.org.bouncycastle.jcajce.provider.symmetric.RC2
+com.android.org.bouncycastle.jcajce.provider.symmetric.PBES2AlgorithmParameters
 com.android.org.bouncycastle.jcajce.provider.symmetric.RC2$Mappings
+com.android.org.bouncycastle.jcajce.provider.symmetric.RC2
 com.android.org.bouncycastle.jcajce.provider.symmetric.SymmetricAlgorithmProvider
-com.android.org.bouncycastle.jcajce.provider.symmetric.Twofish
 com.android.org.bouncycastle.jcajce.provider.symmetric.Twofish$Mappings
+com.android.org.bouncycastle.jcajce.provider.symmetric.Twofish
 com.android.org.bouncycastle.jcajce.provider.symmetric.util.BCPBEKey
-com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher
 com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$AEADGenericBlockCipher
 com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$BufferedGenericBlockCipher
 com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher$GenericBlockCipher
+com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseBlockCipher
 com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseSecretKeyFactory
 com.android.org.bouncycastle.jcajce.provider.symmetric.util.BaseWrapCipher
 com.android.org.bouncycastle.jcajce.provider.symmetric.util.BlockCipherProvider
-com.android.org.bouncycastle.jcajce.provider.symmetric.util.PBE
 com.android.org.bouncycastle.jcajce.provider.symmetric.util.PBE$Util
+com.android.org.bouncycastle.jcajce.provider.symmetric.util.PBE
 com.android.org.bouncycastle.jcajce.provider.util.AlgorithmProvider
 com.android.org.bouncycastle.jcajce.provider.util.AsymmetricAlgorithmProvider
 com.android.org.bouncycastle.jcajce.provider.util.AsymmetricKeyInfoConverter
@@ -4451,152 +5466,34 @@
 com.android.org.bouncycastle.jcajce.util.JcaJceHelper
 com.android.org.bouncycastle.jcajce.util.ProviderJcaJceHelper
 com.android.org.bouncycastle.jce.interfaces.BCKeyStore
-com.android.org.bouncycastle.jce.provider.BouncyCastleProvider
 com.android.org.bouncycastle.jce.provider.BouncyCastleProvider$1
+com.android.org.bouncycastle.jce.provider.BouncyCastleProvider
 com.android.org.bouncycastle.jce.provider.BouncyCastleProviderConfiguration
 com.android.org.bouncycastle.jce.provider.CertStoreCollectionSpi
 com.android.org.bouncycastle.util.Arrays
 com.android.org.bouncycastle.util.Encodable
+com.android.org.bouncycastle.util.Iterable
 com.android.org.bouncycastle.util.Pack
-com.android.org.bouncycastle.util.Strings
 com.android.org.bouncycastle.util.Strings$1
-com.android.org.conscrypt.AbstractConscryptSocket
-com.android.org.conscrypt.AbstractSessionContext
-com.android.org.conscrypt.AbstractSessionContext$1
-com.android.org.conscrypt.ActiveSession
-com.android.org.conscrypt.AddressUtils
-com.android.org.conscrypt.ArrayUtils
-com.android.org.conscrypt.ByteArray
-com.android.org.conscrypt.CertBlacklist
-com.android.org.conscrypt.CertificatePriorityComparator
-com.android.org.conscrypt.ChainStrengthAnalyzer
-com.android.org.conscrypt.ClientSessionContext
-com.android.org.conscrypt.ClientSessionContext$HostAndPort
-com.android.org.conscrypt.Conscrypt
-com.android.org.conscrypt.ConscryptFileDescriptorSocket
-com.android.org.conscrypt.ConscryptFileDescriptorSocket$1
-com.android.org.conscrypt.ConscryptFileDescriptorSocket$2
-com.android.org.conscrypt.ConscryptFileDescriptorSocket$SSLInputStream
-com.android.org.conscrypt.ConscryptFileDescriptorSocket$SSLOutputStream
-com.android.org.conscrypt.ConscryptSession
-com.android.org.conscrypt.ConscryptSocketBase
-com.android.org.conscrypt.ConscryptSocketBase$1
-com.android.org.conscrypt.CryptoUpcalls
-com.android.org.conscrypt.DefaultSSLContextImpl
-com.android.org.conscrypt.EmptyArray
-com.android.org.conscrypt.EvpMdRef$MD5
-com.android.org.conscrypt.EvpMdRef$SHA1
-com.android.org.conscrypt.EvpMdRef$SHA256
-com.android.org.conscrypt.ExternalSession
-com.android.org.conscrypt.ExternalSession$Provider
-com.android.org.conscrypt.FileClientSessionCache
-com.android.org.conscrypt.FileClientSessionCache$Impl
-com.android.org.conscrypt.Hex
-com.android.org.conscrypt.InternalUtil
-com.android.org.conscrypt.JSSEProvider
-com.android.org.conscrypt.Java7ExtendedSSLSession
-com.android.org.conscrypt.Java8ExtendedSSLSession
-com.android.org.conscrypt.Java8FileDescriptorSocket
-com.android.org.conscrypt.KeyGeneratorImpl
-com.android.org.conscrypt.KeyGeneratorImpl$AES
-com.android.org.conscrypt.KeyManagerFactoryImpl
-com.android.org.conscrypt.KeyManagerImpl
-com.android.org.conscrypt.NativeCrypto
-com.android.org.conscrypt.NativeCrypto$SSLHandshakeCallbacks
-com.android.org.conscrypt.NativeCryptoJni
-com.android.org.conscrypt.NativeRef
-com.android.org.conscrypt.NativeRef$EC_GROUP
-com.android.org.conscrypt.NativeRef$EC_POINT
-com.android.org.conscrypt.NativeRef$EVP_CIPHER_CTX
-com.android.org.conscrypt.NativeRef$EVP_MD_CTX
-com.android.org.conscrypt.NativeRef$EVP_PKEY
-com.android.org.conscrypt.NativeRef$HMAC_CTX
-com.android.org.conscrypt.NativeRef$SSL_SESSION
-com.android.org.conscrypt.NativeSsl
-com.android.org.conscrypt.NativeSslSession
-com.android.org.conscrypt.NativeSslSession$Impl
-com.android.org.conscrypt.NativeSslSession$Impl$1
-com.android.org.conscrypt.OpenSSLBIOInputStream
-com.android.org.conscrypt.OpenSSLCipher
-com.android.org.conscrypt.OpenSSLCipher$EVP_CIPHER
-com.android.org.conscrypt.OpenSSLCipher$EVP_CIPHER$AES
-com.android.org.conscrypt.OpenSSLCipher$EVP_CIPHER$AES$CBC
-com.android.org.conscrypt.OpenSSLCipher$EVP_CIPHER$AES$CBC$PKCS5Padding
-com.android.org.conscrypt.OpenSSLCipher$EVP_CIPHER$AES_BASE
-com.android.org.conscrypt.OpenSSLCipher$Mode
-com.android.org.conscrypt.OpenSSLCipher$Padding
-com.android.org.conscrypt.OpenSSLContextImpl
-com.android.org.conscrypt.OpenSSLContextImpl$TLSv12
-com.android.org.conscrypt.OpenSSLECGroupContext
-com.android.org.conscrypt.OpenSSLECKeyFactory
-com.android.org.conscrypt.OpenSSLECPointContext
-com.android.org.conscrypt.OpenSSLECPublicKey
-com.android.org.conscrypt.OpenSSLKey
-com.android.org.conscrypt.OpenSSLKeyHolder
-com.android.org.conscrypt.OpenSSLMac
-com.android.org.conscrypt.OpenSSLMac$HmacSHA1
-com.android.org.conscrypt.OpenSSLMac$HmacSHA256
-com.android.org.conscrypt.OpenSSLMessageDigestJDK
-com.android.org.conscrypt.OpenSSLMessageDigestJDK$MD5
-com.android.org.conscrypt.OpenSSLMessageDigestJDK$SHA1
-com.android.org.conscrypt.OpenSSLMessageDigestJDK$SHA256
-com.android.org.conscrypt.OpenSSLMessageDigestJDK$SHA512
-com.android.org.conscrypt.OpenSSLProvider
-com.android.org.conscrypt.OpenSSLRSAKeyFactory
-com.android.org.conscrypt.OpenSSLRSAPrivateKey
-com.android.org.conscrypt.OpenSSLRSAPublicKey
-com.android.org.conscrypt.OpenSSLRandom
-com.android.org.conscrypt.OpenSSLSignature
-com.android.org.conscrypt.OpenSSLSignature$1
-com.android.org.conscrypt.OpenSSLSignature$EngineType
-com.android.org.conscrypt.OpenSSLSignature$RSAPKCS1Padding
-com.android.org.conscrypt.OpenSSLSignature$SHA1RSA
-com.android.org.conscrypt.OpenSSLSignature$SHA256RSA
-com.android.org.conscrypt.OpenSSLSocketFactoryImpl
-com.android.org.conscrypt.OpenSSLSocketImpl
-com.android.org.conscrypt.OpenSSLX509CertPath
-com.android.org.conscrypt.OpenSSLX509CertPath$Encoding
-com.android.org.conscrypt.OpenSSLX509Certificate
-com.android.org.conscrypt.OpenSSLX509CertificateFactory
-com.android.org.conscrypt.OpenSSLX509CertificateFactory$1
-com.android.org.conscrypt.OpenSSLX509CertificateFactory$2
-com.android.org.conscrypt.OpenSSLX509CertificateFactory$Parser
-com.android.org.conscrypt.OpenSSLX509CertificateFactory$ParsingException
-com.android.org.conscrypt.PeerInfoProvider
-com.android.org.conscrypt.PeerInfoProvider$1
-com.android.org.conscrypt.Platform
-com.android.org.conscrypt.Preconditions
-com.android.org.conscrypt.SSLClientSessionCache
-com.android.org.conscrypt.SSLParametersImpl
-com.android.org.conscrypt.SSLParametersImpl$AliasChooser
-com.android.org.conscrypt.SSLParametersImpl$PSKCallbacks
-com.android.org.conscrypt.SSLUtils
-com.android.org.conscrypt.SSLUtils$SessionType
-com.android.org.conscrypt.ServerSessionContext
-com.android.org.conscrypt.SessionDecorator
-com.android.org.conscrypt.SessionSnapshot
-com.android.org.conscrypt.TrustManagerFactoryImpl
-com.android.org.conscrypt.TrustManagerImpl
-com.android.org.conscrypt.TrustManagerImpl$ExtendedKeyUsagePKIXCertPathChecker
-com.android.org.conscrypt.TrustManagerImpl$TrustAnchorComparator
-com.android.org.conscrypt.TrustedCertificateIndex
-com.android.org.conscrypt.TrustedCertificateKeyStoreSpi
-com.android.org.conscrypt.TrustedCertificateStore
-com.android.org.conscrypt.TrustedCertificateStore$1
-com.android.org.conscrypt.TrustedCertificateStore$CertSelector
-com.android.org.conscrypt.TrustedCertificateStore$PreloadHolder
-com.android.org.conscrypt.ct.CTLogInfo
-com.android.org.conscrypt.ct.CTLogStore
-com.android.org.conscrypt.ct.CTLogStoreImpl
-com.android.org.conscrypt.ct.CTLogStoreImpl$InvalidLogFileException
-com.android.org.conscrypt.ct.CTPolicy
-com.android.org.conscrypt.ct.CTPolicyImpl
-com.android.org.conscrypt.ct.CTVerifier
-com.android.org.conscrypt.ct.KnownLogs
-com.android.org.conscrypt.ct.SerializationException
-com.android.server.NetworkManagementSocketTagger
+com.android.org.bouncycastle.util.Strings
+com.android.org.bouncycastle.util.io.Streams
+com.android.org.kxml2.io.KXmlParser$ValueContext
+com.android.org.kxml2.io.KXmlParser
+com.android.org.kxml2.io.KXmlSerializer
+com.android.phone.ecc.nano.CodedInputByteBufferNano
+com.android.phone.ecc.nano.ExtendableMessageNano
+com.android.phone.ecc.nano.InternalNano
+com.android.phone.ecc.nano.InvalidProtocolBufferNanoException
+com.android.phone.ecc.nano.MessageNano
+com.android.phone.ecc.nano.ProtobufEccData$AllInfo
+com.android.phone.ecc.nano.ProtobufEccData$CountryInfo
+com.android.phone.ecc.nano.ProtobufEccData$EccInfo
+com.android.phone.ecc.nano.WireFormatNano
 com.android.server.NetworkManagementSocketTagger$1
 com.android.server.NetworkManagementSocketTagger$SocketTags
+com.android.server.NetworkManagementSocketTagger
+com.android.server.sip.SipService
+com.android.server.sip.SipWakeupTimer
 com.google.android.collect.Lists
 com.google.android.collect.Maps
 com.google.android.collect.Sets
@@ -4611,35 +5508,40 @@
 dalvik.annotation.optimization.CriticalNative
 dalvik.annotation.optimization.FastNative
 dalvik.system.-$$Lambda$DexPathList$8b_maZ6RkV67r03QVmaVjC7Wj6M
-dalvik.system.BaseDexClassLoader
 dalvik.system.BaseDexClassLoader$Reporter
-dalvik.system.BlockGuard
+dalvik.system.BaseDexClassLoader
 dalvik.system.BlockGuard$1
 dalvik.system.BlockGuard$2
+dalvik.system.BlockGuard$3
 dalvik.system.BlockGuard$BlockGuardPolicyException
 dalvik.system.BlockGuard$Policy
+dalvik.system.BlockGuard$VmPolicy
+dalvik.system.BlockGuard
 dalvik.system.ClassExt
-dalvik.system.CloseGuard
 dalvik.system.CloseGuard$DefaultReporter
 dalvik.system.CloseGuard$Reporter
 dalvik.system.CloseGuard$Tracker
+dalvik.system.CloseGuard
 dalvik.system.DalvikLogHandler
 dalvik.system.DalvikLogging
 dalvik.system.DelegateLastClassLoader
 dalvik.system.DexClassLoader
-dalvik.system.DexFile
 dalvik.system.DexFile$1
 dalvik.system.DexFile$DFEnum
 dalvik.system.DexFile$OptimizationInfo
-dalvik.system.DexPathList
+dalvik.system.DexFile
 dalvik.system.DexPathList$Element
 dalvik.system.DexPathList$NativeLibraryElement
-dalvik.system.EmulatedStackFrame
+dalvik.system.DexPathList
 dalvik.system.EmulatedStackFrame$Range
+dalvik.system.EmulatedStackFrame
+dalvik.system.InMemoryDexClassLoader
 dalvik.system.PathClassLoader
-dalvik.system.SocketTagger
+dalvik.system.RuntimeHooks
 dalvik.system.SocketTagger$1
+dalvik.system.SocketTagger
 dalvik.system.VMDebug
+dalvik.system.VMRuntime$HiddenApiUsageLogger
 dalvik.system.VMRuntime
 dalvik.system.VMStack
 dalvik.system.ZygoteHooks
@@ -4659,17 +5561,17 @@
 java.io.DataOutputStream
 java.io.DefaultFileSystem
 java.io.EOFException
-java.io.ExpiringCache
 java.io.ExpiringCache$1
+java.io.ExpiringCache
 java.io.Externalizable
-java.io.File
 java.io.File$PathStatus
 java.io.File$TempDirectory
-java.io.FileDescriptor
+java.io.File
 java.io.FileDescriptor$1
+java.io.FileDescriptor
 java.io.FileFilter
-java.io.FileInputStream
 java.io.FileInputStream$UseManualSkipException
+java.io.FileInputStream
 java.io.FileNotFoundException
 java.io.FileOutputStream
 java.io.FileReader
@@ -4688,19 +5590,18 @@
 java.io.InvalidObjectException
 java.io.NotSerializableException
 java.io.ObjectInput
-java.io.ObjectInputStream
 java.io.ObjectInputStream$BlockDataInputStream
-java.io.ObjectInputStream$HandleTable
 java.io.ObjectInputStream$HandleTable$HandleList
+java.io.ObjectInputStream$HandleTable
 java.io.ObjectInputStream$PeekInputStream
 java.io.ObjectInputStream$ValidationList
+java.io.ObjectInputStream
 java.io.ObjectOutput
-java.io.ObjectOutputStream
 java.io.ObjectOutputStream$BlockDataOutputStream
 java.io.ObjectOutputStream$HandleTable
 java.io.ObjectOutputStream$PutField
 java.io.ObjectOutputStream$ReplaceTable
-java.io.ObjectStreamClass
+java.io.ObjectOutputStream
 java.io.ObjectStreamClass$1
 java.io.ObjectStreamClass$2
 java.io.ObjectStreamClass$3
@@ -4714,6 +5615,7 @@
 java.io.ObjectStreamClass$FieldReflectorKey
 java.io.ObjectStreamClass$MemberSignature
 java.io.ObjectStreamClass$WeakClassKey
+java.io.ObjectStreamClass
 java.io.ObjectStreamConstants
 java.io.ObjectStreamException
 java.io.ObjectStreamField
@@ -4748,37 +5650,37 @@
 java.lang.AutoCloseable
 java.lang.Boolean
 java.lang.BootClassLoader
-java.lang.Byte
 java.lang.Byte$ByteCache
-java.lang.CaseMapper
+java.lang.Byte
 java.lang.CaseMapper$1
-java.lang.CharSequence
+java.lang.CaseMapper
 java.lang.CharSequence$1CharIterator
 java.lang.CharSequence$1CodePointIterator
-java.lang.Character
+java.lang.CharSequence
 java.lang.Character$CharacterCache
 java.lang.Character$Subset
 java.lang.Character$UnicodeBlock
-java.lang.Class
+java.lang.Character
 java.lang.Class$Caches
+java.lang.Class
 java.lang.ClassCastException
-java.lang.ClassLoader
 java.lang.ClassLoader$SystemClassLoader
+java.lang.ClassLoader
 java.lang.ClassNotFoundException
 java.lang.CloneNotSupportedException
 java.lang.Cloneable
 java.lang.Comparable
-java.lang.Daemons
 java.lang.Daemons$Daemon
 java.lang.Daemons$FinalizerDaemon
 java.lang.Daemons$FinalizerWatchdogDaemon
 java.lang.Daemons$HeapTaskDaemon
 java.lang.Daemons$ReferenceQueueDaemon
+java.lang.Daemons
 java.lang.Deprecated
 java.lang.DexCache
 java.lang.Double
-java.lang.Enum
 java.lang.Enum$1
+java.lang.Enum
 java.lang.EnumConstantNotPresentException
 java.lang.Error
 java.lang.Exception
@@ -4787,22 +5689,23 @@
 java.lang.IllegalAccessError
 java.lang.IllegalAccessException
 java.lang.IllegalArgumentException
+java.lang.IllegalMonitorStateException
 java.lang.IllegalStateException
 java.lang.IllegalThreadStateException
 java.lang.IncompatibleClassChangeError
 java.lang.IndexOutOfBoundsException
 java.lang.InheritableThreadLocal
 java.lang.InstantiationException
-java.lang.Integer
 java.lang.Integer$IntegerCache
+java.lang.Integer
 java.lang.InternalError
 java.lang.InterruptedException
 java.lang.Iterable
 java.lang.LinkageError
-java.lang.Long
 java.lang.Long$LongCache
-java.lang.Math
+java.lang.Long
 java.lang.Math$RandomNumberGeneratorHolder
+java.lang.Math
 java.lang.NegativeArraySizeException
 java.lang.NoClassDefFoundError
 java.lang.NoSuchFieldError
@@ -4816,14 +5719,14 @@
 java.lang.OutOfMemoryError
 java.lang.Package
 java.lang.Process
-java.lang.ProcessBuilder
 java.lang.ProcessBuilder$NullInputStream
 java.lang.ProcessBuilder$NullOutputStream
-java.lang.ProcessEnvironment
+java.lang.ProcessBuilder
 java.lang.ProcessEnvironment$ExternalData
 java.lang.ProcessEnvironment$StringEnvironment
 java.lang.ProcessEnvironment$Value
 java.lang.ProcessEnvironment$Variable
+java.lang.ProcessEnvironment
 java.lang.ProcessImpl
 java.lang.Readable
 java.lang.ReflectiveOperationException
@@ -4833,46 +5736,46 @@
 java.lang.RuntimePermission
 java.lang.SecurityException
 java.lang.SecurityManager
-java.lang.Short
 java.lang.Short$ShortCache
+java.lang.Short
 java.lang.StackOverflowError
 java.lang.StackTraceElement
 java.lang.StrictMath
-java.lang.String
 java.lang.String$1
 java.lang.String$CaseInsensitiveComparator
+java.lang.String
 java.lang.StringBuffer
 java.lang.StringBuilder
 java.lang.StringFactory
 java.lang.StringIndexOutOfBoundsException
-java.lang.System
 java.lang.System$PropertiesWithNonOverrideableDefaults
-java.lang.Thread
+java.lang.System
 java.lang.Thread$1
 java.lang.Thread$Caches
 java.lang.Thread$State
 java.lang.Thread$UncaughtExceptionHandler
 java.lang.Thread$WeakClassKey
+java.lang.Thread
 java.lang.ThreadDeath
 java.lang.ThreadGroup
-java.lang.ThreadLocal
 java.lang.ThreadLocal$SuppliedThreadLocal
-java.lang.ThreadLocal$ThreadLocalMap
 java.lang.ThreadLocal$ThreadLocalMap$Entry
-java.lang.Throwable
+java.lang.ThreadLocal$ThreadLocalMap
+java.lang.ThreadLocal
 java.lang.Throwable$PrintStreamOrWriter
 java.lang.Throwable$SentinelHolder
 java.lang.Throwable$WrappedPrintStream
 java.lang.Throwable$WrappedPrintWriter
+java.lang.Throwable
 java.lang.TypeNotPresentException
-java.lang.UNIXProcess
 java.lang.UNIXProcess$1
 java.lang.UNIXProcess$2
 java.lang.UNIXProcess$3
 java.lang.UNIXProcess$ProcessPipeInputStream
 java.lang.UNIXProcess$ProcessPipeOutputStream
-java.lang.UNIXProcess$ProcessReaperThreadFactory
 java.lang.UNIXProcess$ProcessReaperThreadFactory$1
+java.lang.UNIXProcess$ProcessReaperThreadFactory
+java.lang.UNIXProcess
 java.lang.UnsatisfiedLinkError
 java.lang.UnsupportedOperationException
 java.lang.VMClassLoader
@@ -4893,15 +5796,15 @@
 java.lang.invoke.ConstantCallSite
 java.lang.invoke.FieldVarHandle
 java.lang.invoke.MethodHandle
-java.lang.invoke.MethodHandleImpl
 java.lang.invoke.MethodHandleImpl$HandleInfo
+java.lang.invoke.MethodHandleImpl
 java.lang.invoke.MethodHandleInfo
 java.lang.invoke.MethodHandleStatics
-java.lang.invoke.MethodHandles
 java.lang.invoke.MethodHandles$Lookup
-java.lang.invoke.MethodType
-java.lang.invoke.MethodType$ConcurrentWeakInternSet
+java.lang.invoke.MethodHandles
 java.lang.invoke.MethodType$ConcurrentWeakInternSet$WeakEntry
+java.lang.invoke.MethodType$ConcurrentWeakInternSet
+java.lang.invoke.MethodType
 java.lang.invoke.MethodTypeForm
 java.lang.invoke.Transformers$AlwaysThrow
 java.lang.invoke.Transformers$BindTo
@@ -4925,18 +5828,18 @@
 java.lang.invoke.Transformers$Spreader
 java.lang.invoke.Transformers$Transformer
 java.lang.invoke.Transformers$VarargsCollector
-java.lang.invoke.VarHandle
 java.lang.invoke.VarHandle$1
 java.lang.invoke.VarHandle$AccessMode
 java.lang.invoke.VarHandle$AccessType
+java.lang.invoke.VarHandle
 java.lang.invoke.WrongMethodTypeException
-java.lang.ref.FinalizerReference
 java.lang.ref.FinalizerReference$1
 java.lang.ref.FinalizerReference$Sentinel
+java.lang.ref.FinalizerReference
 java.lang.ref.PhantomReference
-java.lang.ref.Reference
-java.lang.ref.Reference$SinkHolder
 java.lang.ref.Reference$SinkHolder$1
+java.lang.ref.Reference$SinkHolder
+java.lang.ref.Reference
 java.lang.ref.ReferenceQueue
 java.lang.ref.SoftReference
 java.lang.ref.WeakReference
@@ -4944,8 +5847,8 @@
 java.lang.reflect.AnnotatedElement
 java.lang.reflect.Array
 java.lang.reflect.Constructor
-java.lang.reflect.Executable
 java.lang.reflect.Executable$GenericInfo
+java.lang.reflect.Executable
 java.lang.reflect.Field
 java.lang.reflect.GenericArrayType
 java.lang.reflect.GenericDeclaration
@@ -4953,30 +5856,30 @@
 java.lang.reflect.InvocationTargetException
 java.lang.reflect.MalformedParametersException
 java.lang.reflect.Member
-java.lang.reflect.Method
 java.lang.reflect.Method$1
+java.lang.reflect.Method
 java.lang.reflect.Modifier
 java.lang.reflect.Parameter
 java.lang.reflect.ParameterizedType
-java.lang.reflect.Proxy
 java.lang.reflect.Proxy$1
 java.lang.reflect.Proxy$Key1
 java.lang.reflect.Proxy$Key2
 java.lang.reflect.Proxy$KeyFactory
 java.lang.reflect.Proxy$KeyX
 java.lang.reflect.Proxy$ProxyClassFactory
+java.lang.reflect.Proxy
 java.lang.reflect.Type
 java.lang.reflect.TypeVariable
 java.lang.reflect.UndeclaredThrowableException
-java.lang.reflect.WeakCache
 java.lang.reflect.WeakCache$CacheKey
 java.lang.reflect.WeakCache$CacheValue
 java.lang.reflect.WeakCache$Factory
 java.lang.reflect.WeakCache$LookupValue
 java.lang.reflect.WeakCache$Value
+java.lang.reflect.WeakCache
 java.lang.reflect.WildcardType
-java.math.BigDecimal
 java.math.BigDecimal$1
+java.math.BigDecimal
 java.math.BigInt
 java.math.BigInteger
 java.math.Conversion
@@ -4986,28 +5889,27 @@
 java.math.RoundingMode
 java.net.AbstractPlainDatagramSocketImpl
 java.net.AbstractPlainSocketImpl
-java.net.AddressCache
 java.net.AddressCache$AddressCacheEntry
 java.net.AddressCache$AddressCacheKey
+java.net.AddressCache
 java.net.ConnectException
 java.net.CookieHandler
-java.net.CookieManager
 java.net.CookieManager$CookiePathComparator
-java.net.CookiePolicy
+java.net.CookieManager
 java.net.CookiePolicy$1
 java.net.CookiePolicy$2
 java.net.CookiePolicy$3
+java.net.CookiePolicy
 java.net.CookieStore
 java.net.DatagramPacket
-java.net.DatagramSocket
 java.net.DatagramSocket$1
+java.net.DatagramSocket
 java.net.DatagramSocketImpl
 java.net.DefaultDatagramSocketImplFactory
 java.net.DefaultInterface
-java.net.HttpCookie
-java.net.HttpCookie$1
 java.net.HttpCookie$10
 java.net.HttpCookie$11
+java.net.HttpCookie$1
 java.net.HttpCookie$2
 java.net.HttpCookie$3
 java.net.HttpCookie$4
@@ -5017,25 +5919,26 @@
 java.net.HttpCookie$8
 java.net.HttpCookie$9
 java.net.HttpCookie$CookieAttributeAssignor
+java.net.HttpCookie
 java.net.HttpURLConnection
 java.net.IDN
 java.net.InMemoryCookieStore
 java.net.Inet4Address
-java.net.Inet6Address
 java.net.Inet6Address$Inet6AddressHolder
+java.net.Inet6Address
 java.net.Inet6AddressImpl
-java.net.InetAddress
 java.net.InetAddress$1
 java.net.InetAddress$InetAddressHolder
+java.net.InetAddress
 java.net.InetAddressImpl
-java.net.InetSocketAddress
 java.net.InetSocketAddress$InetSocketAddressHolder
+java.net.InetSocketAddress
 java.net.InterfaceAddress
 java.net.JarURLConnection
 java.net.MalformedURLException
 java.net.MulticastSocket
-java.net.NetworkInterface
 java.net.NetworkInterface$1checkedAddresses
+java.net.NetworkInterface
 java.net.NoRouteToHostException
 java.net.Parts
 java.net.PlainDatagramSocketImpl
@@ -5043,15 +5946,15 @@
 java.net.PortUnreachableException
 java.net.ProtocolException
 java.net.ProtocolFamily
-java.net.Proxy
 java.net.Proxy$Type
+java.net.Proxy
 java.net.ProxySelector
 java.net.ResponseCache
 java.net.ServerSocket
-java.net.Socket
 java.net.Socket$1
 java.net.Socket$2
 java.net.Socket$3
+java.net.Socket
 java.net.SocketAddress
 java.net.SocketException
 java.net.SocketImpl
@@ -5062,8 +5965,8 @@
 java.net.SocksConsts
 java.net.SocksSocketImpl
 java.net.StandardProtocolFamily
-java.net.URI
 java.net.URI$Parser
+java.net.URI
 java.net.URISyntaxException
 java.net.URL
 java.net.URLConnection
@@ -5086,8 +5989,8 @@
 java.nio.ByteBufferAsShortBuffer
 java.nio.ByteOrder
 java.nio.CharBuffer
-java.nio.DirectByteBuffer
 java.nio.DirectByteBuffer$MemoryRef
+java.nio.DirectByteBuffer
 java.nio.DoubleBuffer
 java.nio.FloatBuffer
 java.nio.HeapByteBuffer
@@ -5104,13 +6007,13 @@
 java.nio.channels.AsynchronousCloseException
 java.nio.channels.ByteChannel
 java.nio.channels.Channel
-java.nio.channels.Channels
 java.nio.channels.Channels$1
+java.nio.channels.Channels
 java.nio.channels.ClosedByInterruptException
 java.nio.channels.ClosedChannelException
 java.nio.channels.DatagramChannel
-java.nio.channels.FileChannel
 java.nio.channels.FileChannel$MapMode
+java.nio.channels.FileChannel
 java.nio.channels.FileLock
 java.nio.channels.GatheringByteChannel
 java.nio.channels.InterruptibleChannel
@@ -5126,14 +6029,14 @@
 java.nio.channels.ServerSocketChannel
 java.nio.channels.SocketChannel
 java.nio.channels.WritableByteChannel
-java.nio.channels.spi.AbstractInterruptibleChannel
 java.nio.channels.spi.AbstractInterruptibleChannel$1
+java.nio.channels.spi.AbstractInterruptibleChannel
 java.nio.channels.spi.AbstractSelectableChannel
 java.nio.channels.spi.AbstractSelectionKey
-java.nio.channels.spi.AbstractSelector
 java.nio.channels.spi.AbstractSelector$1
-java.nio.channels.spi.SelectorProvider
+java.nio.channels.spi.AbstractSelector
 java.nio.channels.spi.SelectorProvider$1
+java.nio.channels.spi.SelectorProvider
 java.nio.charset.CharacterCodingException
 java.nio.charset.Charset
 java.nio.charset.CharsetDecoder
@@ -5141,22 +6044,24 @@
 java.nio.charset.CharsetEncoder
 java.nio.charset.CharsetEncoderICU
 java.nio.charset.CharsetICU
-java.nio.charset.CoderResult
 java.nio.charset.CoderResult$1
 java.nio.charset.CoderResult$2
 java.nio.charset.CoderResult$Cache
+java.nio.charset.CoderResult
 java.nio.charset.CodingErrorAction
 java.nio.charset.IllegalCharsetNameException
 java.nio.charset.StandardCharsets
 java.nio.charset.UnsupportedCharsetException
+java.nio.file.AccessMode
 java.nio.file.CopyOption
 java.nio.file.FileAlreadyExistsException
 java.nio.file.FileSystem
 java.nio.file.FileSystemException
-java.nio.file.FileSystems
-java.nio.file.FileSystems$DefaultFileSystemHolder
 java.nio.file.FileSystems$DefaultFileSystemHolder$1
+java.nio.file.FileSystems$DefaultFileSystemHolder
+java.nio.file.FileSystems
 java.nio.file.Files
+java.nio.file.LinkOption
 java.nio.file.NoSuchFileException
 java.nio.file.OpenOption
 java.nio.file.Path
@@ -5192,15 +6097,20 @@
 java.security.KeyFactorySpi
 java.security.KeyManagementException
 java.security.KeyPair
-java.security.KeyPairGenerator
 java.security.KeyPairGenerator$Delegate
+java.security.KeyPairGenerator
 java.security.KeyPairGeneratorSpi
-java.security.KeyStore
 java.security.KeyStore$1
+java.security.KeyStore$Entry
+java.security.KeyStore$LoadStoreParameter
+java.security.KeyStore$PasswordProtection
+java.security.KeyStore$PrivateKeyEntry
+java.security.KeyStore$ProtectionParameter
+java.security.KeyStore
 java.security.KeyStoreException
 java.security.KeyStoreSpi
-java.security.MessageDigest
 java.security.MessageDigest$Delegate
+java.security.MessageDigest
 java.security.MessageDigestSpi
 java.security.NoSuchAlgorithmException
 java.security.NoSuchProviderException
@@ -5213,17 +6123,18 @@
 java.security.PrivilegedActionException
 java.security.PrivilegedExceptionAction
 java.security.ProtectionDomain
-java.security.Provider
 java.security.Provider$EngineDescription
 java.security.Provider$Service
 java.security.Provider$ServiceKey
 java.security.Provider$UString
+java.security.Provider
+java.security.ProviderException
 java.security.PublicKey
 java.security.SecureRandom
 java.security.SecureRandomSpi
 java.security.Security
-java.security.Signature
 java.security.Signature$Delegate
+java.security.Signature
 java.security.SignatureException
 java.security.SignatureSpi
 java.security.UnrecoverableEntryException
@@ -5258,27 +6169,32 @@
 java.security.cert.PKIXCertPathChecker
 java.security.cert.PKIXCertPathValidatorResult
 java.security.cert.PKIXParameters
-java.security.cert.PKIXRevocationChecker
 java.security.cert.PKIXRevocationChecker$Option
+java.security.cert.PKIXRevocationChecker
 java.security.cert.PolicyNode
 java.security.cert.PolicyQualifierInfo
 java.security.cert.TrustAnchor
+java.security.cert.X509CRL
 java.security.cert.X509CertSelector
 java.security.cert.X509Certificate
 java.security.cert.X509Extension
 java.security.interfaces.DSAKey
+java.security.interfaces.DSAParams
 java.security.interfaces.DSAPublicKey
 java.security.interfaces.ECKey
 java.security.interfaces.ECPrivateKey
 java.security.interfaces.ECPublicKey
 java.security.interfaces.RSAKey
+java.security.interfaces.RSAPrivateCrtKey
 java.security.interfaces.RSAPrivateKey
 java.security.interfaces.RSAPublicKey
 java.security.spec.AlgorithmParameterSpec
+java.security.spec.DSAParameterSpec
 java.security.spec.ECField
 java.security.spec.ECFieldFp
 java.security.spec.ECParameterSpec
 java.security.spec.ECPoint
+java.security.spec.ECPrivateKeySpec
 java.security.spec.ECPublicKeySpec
 java.security.spec.EllipticCurve
 java.security.spec.EncodedKeySpec
@@ -5301,23 +6217,23 @@
 java.text.CalendarBuilder
 java.text.CharacterIterator
 java.text.Collator
-java.text.DateFormat
 java.text.DateFormat$Field
+java.text.DateFormat
 java.text.DateFormatSymbols
 java.text.DecimalFormat
 java.text.DecimalFormatSymbols
-java.text.DontCareFieldPosition
 java.text.DontCareFieldPosition$1
-java.text.FieldPosition
+java.text.DontCareFieldPosition
 java.text.FieldPosition$Delegate
-java.text.Format
+java.text.FieldPosition
 java.text.Format$Field
 java.text.Format$FieldDelegate
+java.text.Format
 java.text.IcuIteratorWrapper
-java.text.MessageFormat
 java.text.MessageFormat$Field
-java.text.Normalizer
+java.text.MessageFormat
 java.text.Normalizer$Form
+java.text.Normalizer
 java.text.NumberFormat
 java.text.ParseException
 java.text.ParsePosition
@@ -5325,15 +6241,15 @@
 java.text.SimpleDateFormat
 java.text.StringCharacterIterator
 java.time.-$$Lambda$Bq8PKq1YWr8nyVk9SSfRYKrOu4A
-java.time.Clock
 java.time.Clock$SystemClock
+java.time.Clock
 java.time.DateTimeException
 java.time.DayOfWeek
 java.time.Duration
-java.time.Instant
 java.time.Instant$1
-java.time.LocalDate
+java.time.Instant
 java.time.LocalDate$1
+java.time.LocalDate
 java.time.LocalDateTime
 java.time.LocalTime
 java.time.Month
@@ -5356,19 +6272,25 @@
 java.time.format.-$$Lambda$DateTimeFormatter$QqeEAMXK7Qf5gsmaSCLmrVwQ1Ns
 java.time.format.-$$Lambda$DateTimeFormatterBuilder$M-GACNxm6552EiylPRPw4dyNXKo
 java.time.format.DateTimeFormatter
-java.time.format.DateTimeFormatterBuilder
+java.time.format.DateTimeFormatterBuilder$1
 java.time.format.DateTimeFormatterBuilder$2
 java.time.format.DateTimeFormatterBuilder$CharLiteralPrinterParser
 java.time.format.DateTimeFormatterBuilder$CompositePrinterParser
+java.time.format.DateTimeFormatterBuilder$DateTimePrinterParser
 java.time.format.DateTimeFormatterBuilder$FractionPrinterParser
+java.time.format.DateTimeFormatterBuilder$InstantPrinterParser
 java.time.format.DateTimeFormatterBuilder$NumberPrinterParser
 java.time.format.DateTimeFormatterBuilder$OffsetIdPrinterParser
 java.time.format.DateTimeFormatterBuilder$SettingsParser
+java.time.format.DateTimeFormatterBuilder$StringLiteralPrinterParser
+java.time.format.DateTimeFormatterBuilder$TextPrinterParser
 java.time.format.DateTimeFormatterBuilder$ZoneIdPrinterParser
+java.time.format.DateTimeFormatterBuilder
 java.time.format.DateTimeParseContext
 java.time.format.DateTimeParseException
 java.time.format.DateTimeTextProvider$1
 java.time.format.DateTimeTextProvider$LocaleStore
+java.time.format.DateTimeTextProvider
 java.time.format.DecimalStyle
 java.time.format.Parsed
 java.time.format.ResolverStyle
@@ -5388,22 +6310,25 @@
 java.time.temporal.IsoFields$Field$2
 java.time.temporal.IsoFields$Field$3
 java.time.temporal.IsoFields$Field$4
+java.time.temporal.IsoFields$Field
 java.time.temporal.IsoFields$Unit
+java.time.temporal.IsoFields
 java.time.temporal.Temporal
 java.time.temporal.TemporalAccessor
 java.time.temporal.TemporalAdjuster
 java.time.temporal.TemporalAdjusters
 java.time.temporal.TemporalAmount
 java.time.temporal.TemporalField
+java.time.temporal.TemporalQuery
 java.time.temporal.TemporalUnit
 java.time.temporal.UnsupportedTemporalTypeException
 java.time.temporal.ValueRange
-java.time.zone.IcuZoneRulesProvider
 java.time.zone.IcuZoneRulesProvider$ZoneRulesCache
+java.time.zone.IcuZoneRulesProvider
 java.time.zone.ZoneOffsetTransition
-java.time.zone.ZoneOffsetTransitionRule
 java.time.zone.ZoneOffsetTransitionRule$1
 java.time.zone.ZoneOffsetTransitionRule$TimeDefinition
+java.time.zone.ZoneOffsetTransitionRule
 java.time.zone.ZoneRules
 java.time.zone.ZoneRulesException
 java.time.zone.ZoneRulesProvider
@@ -5418,34 +6343,34 @@
 java.util.-$$Lambda$Comparator$SPB8K9Yj7Pw1mljm7LpasV7zxWw
 java.util.-$$Lambda$Comparator$edSxqANnwdmzeJ1aMMcwJWE2wII
 java.util.AbstractCollection
-java.util.AbstractList
 java.util.AbstractList$1
 java.util.AbstractList$Itr
 java.util.AbstractList$ListItr
-java.util.AbstractMap
+java.util.AbstractList
 java.util.AbstractMap$1
 java.util.AbstractMap$2
 java.util.AbstractMap$SimpleEntry
 java.util.AbstractMap$SimpleImmutableEntry
+java.util.AbstractMap
 java.util.AbstractQueue
 java.util.AbstractSequentialList
 java.util.AbstractSet
-java.util.ArrayDeque
 java.util.ArrayDeque$DeqIterator
-java.util.ArrayList
+java.util.ArrayDeque
 java.util.ArrayList$1
 java.util.ArrayList$ArrayListSpliterator
 java.util.ArrayList$Itr
 java.util.ArrayList$ListItr
-java.util.ArrayList$SubList
 java.util.ArrayList$SubList$1
+java.util.ArrayList$SubList
+java.util.ArrayList
 java.util.ArrayPrefixHelpers$CumulateTask
 java.util.ArrayPrefixHelpers$DoubleCumulateTask
 java.util.ArrayPrefixHelpers$IntCumulateTask
 java.util.ArrayPrefixHelpers$LongCumulateTask
-java.util.Arrays
 java.util.Arrays$ArrayList
 java.util.Arrays$NaturalOrder
+java.util.Arrays
 java.util.ArraysParallelSortHelpers$FJByte$Sorter
 java.util.ArraysParallelSortHelpers$FJChar$Sorter
 java.util.ArraysParallelSortHelpers$FJDouble$Sorter
@@ -5454,13 +6379,12 @@
 java.util.ArraysParallelSortHelpers$FJLong$Sorter
 java.util.ArraysParallelSortHelpers$FJObject$Sorter
 java.util.ArraysParallelSortHelpers$FJShort$Sorter
-java.util.Base64
 java.util.Base64$Decoder
 java.util.Base64$Encoder
+java.util.Base64
 java.util.BitSet
 java.util.Calendar
 java.util.Collection
-java.util.Collections
 java.util.Collections$1
 java.util.Collections$2
 java.util.Collections$3
@@ -5482,8 +6406,8 @@
 java.util.Collections$EmptyListIterator
 java.util.Collections$EmptyMap
 java.util.Collections$EmptySet
-java.util.Collections$ReverseComparator
 java.util.Collections$ReverseComparator2
+java.util.Collections$ReverseComparator
 java.util.Collections$SetFromMap
 java.util.Collections$SingletonList
 java.util.Collections$SingletonMap
@@ -5497,22 +6421,23 @@
 java.util.Collections$SynchronizedSet
 java.util.Collections$SynchronizedSortedMap
 java.util.Collections$SynchronizedSortedSet
-java.util.Collections$UnmodifiableCollection
 java.util.Collections$UnmodifiableCollection$1
-java.util.Collections$UnmodifiableList
+java.util.Collections$UnmodifiableCollection
 java.util.Collections$UnmodifiableList$1
-java.util.Collections$UnmodifiableMap
-java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet
+java.util.Collections$UnmodifiableList
 java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$1
 java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet$UnmodifiableEntry
-java.util.Collections$UnmodifiableNavigableMap
+java.util.Collections$UnmodifiableMap$UnmodifiableEntrySet
+java.util.Collections$UnmodifiableMap
 java.util.Collections$UnmodifiableNavigableMap$EmptyNavigableMap
-java.util.Collections$UnmodifiableNavigableSet
+java.util.Collections$UnmodifiableNavigableMap
 java.util.Collections$UnmodifiableNavigableSet$EmptyNavigableSet
+java.util.Collections$UnmodifiableNavigableSet
 java.util.Collections$UnmodifiableRandomAccessList
 java.util.Collections$UnmodifiableSet
 java.util.Collections$UnmodifiableSortedMap
 java.util.Collections$UnmodifiableSortedSet
+java.util.Collections
 java.util.ComparableTimSort
 java.util.Comparator
 java.util.Comparators$NaturalOrderComparator
@@ -5523,23 +6448,22 @@
 java.util.Deque
 java.util.Dictionary
 java.util.DualPivotQuicksort
-java.util.EnumMap
 java.util.EnumMap$1
-java.util.EnumMap$EntryIterator
 java.util.EnumMap$EntryIterator$Entry
+java.util.EnumMap$EntryIterator
 java.util.EnumMap$EntrySet
 java.util.EnumMap$EnumMapIterator
 java.util.EnumMap$KeyIterator
 java.util.EnumMap$KeySet
 java.util.EnumMap$ValueIterator
 java.util.EnumMap$Values
-java.util.EnumSet
+java.util.EnumMap
 java.util.EnumSet$SerializationProxy
+java.util.EnumSet
 java.util.Enumeration
 java.util.EventListener
 java.util.EventObject
 java.util.Formattable
-java.util.Formatter
 java.util.Formatter$Conversion
 java.util.Formatter$DateTime
 java.util.Formatter$FixedString
@@ -5547,42 +6471,43 @@
 java.util.Formatter$FormatSpecifier
 java.util.Formatter$FormatSpecifierParser
 java.util.Formatter$FormatString
+java.util.Formatter
 java.util.FormatterClosedException
 java.util.GregorianCalendar
-java.util.HashMap
 java.util.HashMap$EntryIterator
 java.util.HashMap$EntrySet
 java.util.HashMap$HashIterator
 java.util.HashMap$HashMapSpliterator
 java.util.HashMap$KeyIterator
 java.util.HashMap$KeySet
+java.util.HashMap$KeySpliterator
 java.util.HashMap$Node
 java.util.HashMap$TreeNode
 java.util.HashMap$ValueIterator
 java.util.HashMap$ValueSpliterator
 java.util.HashMap$Values
+java.util.HashMap
 java.util.HashSet
-java.util.Hashtable
 java.util.Hashtable$EntrySet
 java.util.Hashtable$Enumerator
 java.util.Hashtable$HashtableEntry
 java.util.Hashtable$KeySet
 java.util.Hashtable$ValueCollection
-java.util.IdentityHashMap
-java.util.IdentityHashMap$EntryIterator
+java.util.Hashtable
 java.util.IdentityHashMap$EntryIterator$Entry
+java.util.IdentityHashMap$EntryIterator
 java.util.IdentityHashMap$EntrySet
 java.util.IdentityHashMap$IdentityHashMapIterator
 java.util.IdentityHashMap$KeyIterator
 java.util.IdentityHashMap$KeySet
 java.util.IdentityHashMap$ValueIterator
 java.util.IdentityHashMap$Values
+java.util.IdentityHashMap
 java.util.IllegalFormatException
 java.util.IllformedLocaleException
 java.util.Iterator
-java.util.JumboEnumSet
 java.util.JumboEnumSet$EnumSetIterator
-java.util.LinkedHashMap
+java.util.JumboEnumSet
 java.util.LinkedHashMap$LinkedEntryIterator
 java.util.LinkedHashMap$LinkedEntrySet
 java.util.LinkedHashMap$LinkedHashIterator
@@ -5591,13 +6516,13 @@
 java.util.LinkedHashMap$LinkedKeySet
 java.util.LinkedHashMap$LinkedValueIterator
 java.util.LinkedHashMap$LinkedValues
+java.util.LinkedHashMap
 java.util.LinkedHashSet
-java.util.LinkedList
 java.util.LinkedList$ListItr
 java.util.LinkedList$Node
+java.util.LinkedList
 java.util.List
 java.util.ListIterator
-java.util.Locale
 java.util.Locale$1
 java.util.Locale$Builder
 java.util.Locale$Cache
@@ -5606,8 +6531,9 @@
 java.util.Locale$LanguageRange
 java.util.Locale$LocaleKey
 java.util.Locale$NoImagePreloadHolder
-java.util.Map
+java.util.Locale
 java.util.Map$Entry
+java.util.Map
 java.util.MissingFormatArgumentException
 java.util.MissingResourceException
 java.util.NavigableMap
@@ -5617,20 +6543,19 @@
 java.util.Observable
 java.util.Observer
 java.util.Optional
-java.util.PrimitiveIterator
 java.util.PrimitiveIterator$OfInt
-java.util.PriorityQueue
+java.util.PrimitiveIterator
 java.util.PriorityQueue$Itr
-java.util.Properties
+java.util.PriorityQueue
 java.util.Properties$LineReader
+java.util.Properties
 java.util.PropertyResourceBundle
 java.util.Queue
 java.util.Random
 java.util.RandomAccess
 java.util.RandomAccessSubList
-java.util.RegularEnumSet
 java.util.RegularEnumSet$EnumSetIterator
-java.util.ResourceBundle
+java.util.RegularEnumSet
 java.util.ResourceBundle$1
 java.util.ResourceBundle$BundleReference
 java.util.ResourceBundle$CacheKey
@@ -5638,65 +6563,66 @@
 java.util.ResourceBundle$Control$1
 java.util.ResourceBundle$Control$CandidateListCache
 java.util.ResourceBundle$LoaderReference
-java.util.Scanner
+java.util.ResourceBundle
 java.util.Scanner$1
+java.util.Scanner
 java.util.ServiceConfigurationError
-java.util.ServiceLoader
 java.util.ServiceLoader$1
 java.util.ServiceLoader$LazyIterator
+java.util.ServiceLoader
 java.util.Set
 java.util.SimpleTimeZone
 java.util.SortedMap
 java.util.SortedSet
-java.util.Spliterator
 java.util.Spliterator$OfDouble
 java.util.Spliterator$OfInt
 java.util.Spliterator$OfLong
 java.util.Spliterator$OfPrimitive
-java.util.Spliterators
+java.util.Spliterator
 java.util.Spliterators$ArraySpliterator
-java.util.Spliterators$EmptySpliterator
 java.util.Spliterators$EmptySpliterator$OfDouble
 java.util.Spliterators$EmptySpliterator$OfInt
 java.util.Spliterators$EmptySpliterator$OfLong
 java.util.Spliterators$EmptySpliterator$OfRef
+java.util.Spliterators$EmptySpliterator
+java.util.Spliterators$IntArraySpliterator
 java.util.Spliterators$IteratorSpliterator
+java.util.Spliterators
 java.util.Stack
 java.util.StringJoiner
 java.util.StringTokenizer
-java.util.SubList
 java.util.SubList$1
+java.util.SubList
 java.util.TaskQueue
 java.util.TimSort
 java.util.TimeZone
-java.util.Timer
 java.util.Timer$1
+java.util.Timer
 java.util.TimerTask
 java.util.TimerThread
-java.util.TreeMap
-java.util.TreeMap$AscendingSubMap
 java.util.TreeMap$AscendingSubMap$AscendingEntrySetView
+java.util.TreeMap$AscendingSubMap
 java.util.TreeMap$DescendingSubMap
 java.util.TreeMap$EntryIterator
 java.util.TreeMap$EntrySet
 java.util.TreeMap$KeyIterator
 java.util.TreeMap$KeySet
-java.util.TreeMap$NavigableSubMap
 java.util.TreeMap$NavigableSubMap$EntrySetView
 java.util.TreeMap$NavigableSubMap$SubMapEntryIterator
 java.util.TreeMap$NavigableSubMap$SubMapIterator
 java.util.TreeMap$NavigableSubMap$SubMapKeyIterator
+java.util.TreeMap$NavigableSubMap
 java.util.TreeMap$PrivateEntryIterator
 java.util.TreeMap$TreeMapEntry
 java.util.TreeMap$ValueIterator
 java.util.TreeMap$Values
+java.util.TreeMap
 java.util.TreeSet
-java.util.UUID
 java.util.UUID$Holder
-java.util.Vector
+java.util.UUID
 java.util.Vector$1
 java.util.Vector$Itr
-java.util.WeakHashMap
+java.util.Vector
 java.util.WeakHashMap$1
 java.util.WeakHashMap$Entry
 java.util.WeakHashMap$EntryIterator
@@ -5706,6 +6632,7 @@
 java.util.WeakHashMap$KeySet
 java.util.WeakHashMap$ValueIterator
 java.util.WeakHashMap$Values
+java.util.WeakHashMap
 java.util.concurrent.-$$Lambda$ConcurrentMap$T12JRbgGLhxGbYCuTfff6_dTrMk
 java.util.concurrent.AbstractExecutorService
 java.util.concurrent.ArrayBlockingQueue
@@ -5713,7 +6640,11 @@
 java.util.concurrent.BlockingQueue
 java.util.concurrent.Callable
 java.util.concurrent.CancellationException
-java.util.concurrent.ConcurrentHashMap
+java.util.concurrent.CompletableFuture$AltResult
+java.util.concurrent.CompletableFuture$AsynchronousCompletionTask
+java.util.concurrent.CompletableFuture$Completion
+java.util.concurrent.CompletableFuture
+java.util.concurrent.CompletionStage
 java.util.concurrent.ConcurrentHashMap$BaseIterator
 java.util.concurrent.ConcurrentHashMap$BulkTask
 java.util.concurrent.ConcurrentHashMap$CollectionView
@@ -5763,14 +6694,14 @@
 java.util.concurrent.ConcurrentHashMap$TreeNode
 java.util.concurrent.ConcurrentHashMap$ValueIterator
 java.util.concurrent.ConcurrentHashMap$ValuesView
-java.util.concurrent.ConcurrentLinkedDeque
+java.util.concurrent.ConcurrentHashMap
 java.util.concurrent.ConcurrentLinkedDeque$Node
-java.util.concurrent.ConcurrentLinkedQueue
+java.util.concurrent.ConcurrentLinkedDeque
 java.util.concurrent.ConcurrentLinkedQueue$Itr
 java.util.concurrent.ConcurrentLinkedQueue$Node
+java.util.concurrent.ConcurrentLinkedQueue
 java.util.concurrent.ConcurrentMap
 java.util.concurrent.ConcurrentNavigableMap
-java.util.concurrent.ConcurrentSkipListMap
 java.util.concurrent.ConcurrentSkipListMap$HeadIndex
 java.util.concurrent.ConcurrentSkipListMap$Index
 java.util.concurrent.ConcurrentSkipListMap$Iter
@@ -5778,39 +6709,40 @@
 java.util.concurrent.ConcurrentSkipListMap$Node
 java.util.concurrent.ConcurrentSkipListMap$ValueIterator
 java.util.concurrent.ConcurrentSkipListMap$Values
+java.util.concurrent.ConcurrentSkipListMap
 java.util.concurrent.ConcurrentSkipListSet
-java.util.concurrent.CopyOnWriteArrayList
 java.util.concurrent.CopyOnWriteArrayList$COWIterator
+java.util.concurrent.CopyOnWriteArrayList
 java.util.concurrent.CopyOnWriteArraySet
-java.util.concurrent.CountDownLatch
 java.util.concurrent.CountDownLatch$Sync
+java.util.concurrent.CountDownLatch
 java.util.concurrent.CountedCompleter
 java.util.concurrent.DelayQueue
 java.util.concurrent.Delayed
 java.util.concurrent.ExecutionException
 java.util.concurrent.Executor
 java.util.concurrent.ExecutorService
-java.util.concurrent.Executors
 java.util.concurrent.Executors$DefaultThreadFactory
 java.util.concurrent.Executors$DelegatedExecutorService
 java.util.concurrent.Executors$DelegatedScheduledExecutorService
 java.util.concurrent.Executors$FinalizableDelegatedExecutorService
 java.util.concurrent.Executors$RunnableAdapter
-java.util.concurrent.ForkJoinPool
+java.util.concurrent.Executors
 java.util.concurrent.ForkJoinPool$1
 java.util.concurrent.ForkJoinPool$DefaultForkJoinWorkerThreadFactory
 java.util.concurrent.ForkJoinPool$ForkJoinWorkerThreadFactory
 java.util.concurrent.ForkJoinPool$ManagedBlocker
-java.util.concurrent.ForkJoinTask
+java.util.concurrent.ForkJoinPool
 java.util.concurrent.ForkJoinTask$ExceptionNode
+java.util.concurrent.ForkJoinTask
 java.util.concurrent.Future
-java.util.concurrent.FutureTask
 java.util.concurrent.FutureTask$WaitNode
-java.util.concurrent.LinkedBlockingDeque
+java.util.concurrent.FutureTask
 java.util.concurrent.LinkedBlockingDeque$Node
-java.util.concurrent.LinkedBlockingQueue
+java.util.concurrent.LinkedBlockingDeque
 java.util.concurrent.LinkedBlockingQueue$Itr
 java.util.concurrent.LinkedBlockingQueue$Node
+java.util.concurrent.LinkedBlockingQueue
 java.util.concurrent.PriorityBlockingQueue
 java.util.concurrent.RejectedExecutionException
 java.util.concurrent.RejectedExecutionHandler
@@ -5818,26 +6750,25 @@
 java.util.concurrent.RunnableScheduledFuture
 java.util.concurrent.ScheduledExecutorService
 java.util.concurrent.ScheduledFuture
-java.util.concurrent.ScheduledThreadPoolExecutor
-java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue
 java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue$Itr
+java.util.concurrent.ScheduledThreadPoolExecutor$DelayedWorkQueue
 java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask
-java.util.concurrent.Semaphore
+java.util.concurrent.ScheduledThreadPoolExecutor
 java.util.concurrent.Semaphore$FairSync
 java.util.concurrent.Semaphore$NonfairSync
 java.util.concurrent.Semaphore$Sync
-java.util.concurrent.SynchronousQueue
-java.util.concurrent.SynchronousQueue$TransferStack
+java.util.concurrent.Semaphore
 java.util.concurrent.SynchronousQueue$TransferStack$SNode
+java.util.concurrent.SynchronousQueue$TransferStack
 java.util.concurrent.SynchronousQueue$Transferer
+java.util.concurrent.SynchronousQueue
 java.util.concurrent.ThreadFactory
-java.util.concurrent.ThreadLocalRandom
 java.util.concurrent.ThreadLocalRandom$1
-java.util.concurrent.ThreadPoolExecutor
+java.util.concurrent.ThreadLocalRandom
 java.util.concurrent.ThreadPoolExecutor$AbortPolicy
 java.util.concurrent.ThreadPoolExecutor$DiscardPolicy
 java.util.concurrent.ThreadPoolExecutor$Worker
-java.util.concurrent.TimeUnit
+java.util.concurrent.ThreadPoolExecutor
 java.util.concurrent.TimeUnit$1
 java.util.concurrent.TimeUnit$2
 java.util.concurrent.TimeUnit$3
@@ -5845,43 +6776,43 @@
 java.util.concurrent.TimeUnit$5
 java.util.concurrent.TimeUnit$6
 java.util.concurrent.TimeUnit$7
+java.util.concurrent.TimeUnit
 java.util.concurrent.TimeoutException
 java.util.concurrent.atomic.AtomicBoolean
 java.util.concurrent.atomic.AtomicInteger
 java.util.concurrent.atomic.AtomicIntegerArray
-java.util.concurrent.atomic.AtomicIntegerFieldUpdater
 java.util.concurrent.atomic.AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl
-java.util.concurrent.atomic.AtomicIntegerFieldUpdater$AtomicIntegerFieldUpdaterImpl$1
+java.util.concurrent.atomic.AtomicIntegerFieldUpdater
 java.util.concurrent.atomic.AtomicLong
 java.util.concurrent.atomic.AtomicLongArray
-java.util.concurrent.atomic.AtomicLongFieldUpdater
 java.util.concurrent.atomic.AtomicLongFieldUpdater$CASUpdater
+java.util.concurrent.atomic.AtomicLongFieldUpdater
 java.util.concurrent.atomic.AtomicReference
 java.util.concurrent.atomic.AtomicReferenceArray
-java.util.concurrent.atomic.AtomicReferenceFieldUpdater
 java.util.concurrent.atomic.AtomicReferenceFieldUpdater$AtomicReferenceFieldUpdaterImpl
+java.util.concurrent.atomic.AtomicReferenceFieldUpdater
 java.util.concurrent.atomic.LongAdder
 java.util.concurrent.atomic.Striped64
 java.util.concurrent.locks.AbstractOwnableSynchronizer
-java.util.concurrent.locks.AbstractQueuedSynchronizer
 java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject
 java.util.concurrent.locks.AbstractQueuedSynchronizer$Node
+java.util.concurrent.locks.AbstractQueuedSynchronizer
 java.util.concurrent.locks.Condition
 java.util.concurrent.locks.Lock
 java.util.concurrent.locks.LockSupport
 java.util.concurrent.locks.ReadWriteLock
-java.util.concurrent.locks.ReentrantLock
 java.util.concurrent.locks.ReentrantLock$FairSync
 java.util.concurrent.locks.ReentrantLock$NonfairSync
 java.util.concurrent.locks.ReentrantLock$Sync
-java.util.concurrent.locks.ReentrantReadWriteLock
+java.util.concurrent.locks.ReentrantLock
 java.util.concurrent.locks.ReentrantReadWriteLock$FairSync
 java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync
 java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock
-java.util.concurrent.locks.ReentrantReadWriteLock$Sync
 java.util.concurrent.locks.ReentrantReadWriteLock$Sync$HoldCounter
 java.util.concurrent.locks.ReentrantReadWriteLock$Sync$ThreadLocalHoldCounter
+java.util.concurrent.locks.ReentrantReadWriteLock$Sync
 java.util.concurrent.locks.ReentrantReadWriteLock$WriteLock
+java.util.concurrent.locks.ReentrantReadWriteLock
 java.util.function.-$$Lambda$BiFunction$q-2HhQ1fzCu6oYNirKhp1W_vpSM
 java.util.function.-$$Lambda$Consumer$fZIgy_f2Fa5seBa8ztxXTExq2p4
 java.util.function.-$$Lambda$DoubleUnaryOperator$EzzlhUGRoL66wVBCG-_euZgC-CA
@@ -5903,6 +6834,7 @@
 java.util.function.IntToLongFunction
 java.util.function.IntUnaryOperator
 java.util.function.LongBinaryOperator
+java.util.function.LongConsumer
 java.util.function.LongSupplier
 java.util.function.LongUnaryOperator
 java.util.function.Predicate
@@ -5914,46 +6846,46 @@
 java.util.function.ToLongBiFunction
 java.util.function.ToLongFunction
 java.util.function.UnaryOperator
-java.util.jar.Attributes
 java.util.jar.Attributes$Name
+java.util.jar.Attributes
 java.util.jar.JarEntry
-java.util.jar.JarFile
 java.util.jar.JarFile$JarEntryIterator
 java.util.jar.JarFile$JarFileEntry
-java.util.jar.JarVerifier
+java.util.jar.JarFile
 java.util.jar.JarVerifier$3
 java.util.jar.JarVerifier$VerifierStream
-java.util.jar.Manifest
+java.util.jar.JarVerifier
 java.util.jar.Manifest$FastInputStream
+java.util.jar.Manifest
 java.util.logging.ErrorManager
 java.util.logging.FileHandler$MeteredStream
 java.util.logging.Formatter
 java.util.logging.Handler
-java.util.logging.Level
 java.util.logging.Level$KnownLevel
-java.util.logging.LogManager
+java.util.logging.Level
 java.util.logging.LogManager$1
 java.util.logging.LogManager$2
 java.util.logging.LogManager$3
 java.util.logging.LogManager$5
 java.util.logging.LogManager$Cleaner
 java.util.logging.LogManager$LogNode
-java.util.logging.LogManager$LoggerContext
 java.util.logging.LogManager$LoggerContext$1
+java.util.logging.LogManager$LoggerContext
 java.util.logging.LogManager$LoggerWeakRef
 java.util.logging.LogManager$RootLogger
 java.util.logging.LogManager$SystemLoggerContext
+java.util.logging.LogManager
 java.util.logging.LogRecord
-java.util.logging.Logger
 java.util.logging.Logger$1
 java.util.logging.Logger$LoggerBundle
+java.util.logging.Logger
 java.util.logging.LoggingPermission
 java.util.logging.LoggingProxyImpl
 java.util.logging.StreamHandler
 java.util.prefs.AbstractPreferences
 java.util.prefs.BackingStoreException
-java.util.prefs.FileSystemPreferences
 java.util.prefs.FileSystemPreferences$3
+java.util.prefs.FileSystemPreferences
 java.util.prefs.FileSystemPreferencesFactory
 java.util.prefs.Preferences
 java.util.prefs.PreferencesFactory
@@ -5962,50 +6894,81 @@
 java.util.regex.Pattern
 java.util.regex.PatternSyntaxException
 java.util.stream.-$$Lambda$Collectors$0y_EMl863H_U7B4kxyGscB4vAag
+java.util.stream.-$$Lambda$Collectors$F7-we3W7I2plNaGHqh_d2lzmvho
+java.util.stream.-$$Lambda$Collectors$TzSZZBK0laNSWMge_uuxANwkkMo
 java.util.stream.-$$Lambda$Collectors$f0IPpRuyw9HZC8FIP30mNjUUUhw
+java.util.stream.-$$Lambda$Collectors$f68RHYk8qNU7alEHPPrPoFuCJO4
+java.util.stream.-$$Lambda$Collectors$iab6bVO3ydceISRiUEq_MRHYzoU
+java.util.stream.-$$Lambda$Collectors$pzPeDl3rCgtNVSeZPHZk5f2se60
+java.util.stream.-$$Lambda$Drw47GGUtPrz9CklhlT0v26u-5c
+java.util.stream.-$$Lambda$ReferencePipeline$mk6xSsLZAKvG89IyN8pzBoM6otw
 java.util.stream.-$$Lambda$bjSXRjZ5UYwAzkW-XPKwqbJ9BRQ
+java.util.stream.-$$Lambda$dplkPhACWDPIy18ogwdupEQaN40
+java.util.stream.-$$Lambda$i0Jl5dMkfWphZviqg6QdkkWPWRI
 java.util.stream.-$$Lambda$ihOtgw0eLCrsEBOphyN7SwoAlDg
+java.util.stream.-$$Lambda$okJigbB9kSn__oCZ5Do9uFNyF6A
 java.util.stream.-$$Lambda$opQ7JxjVCJzqzgTxGU3LVtqC7is
+java.util.stream.-$$Lambda$ry7iWszBr7beYy31SdRxibDyciQ
+java.util.stream.-$$Lambda$sKPaOkcQePGTRevrwmKVVhCTmTo
 java.util.stream.-$$Lambda$yTqQxkqu88ZhKI6fWaTTLwOLF60
 java.util.stream.AbstractPipeline
 java.util.stream.BaseStream
-java.util.stream.Collector
 java.util.stream.Collector$Characteristics
-java.util.stream.Collectors
+java.util.stream.Collector
 java.util.stream.Collectors$CollectorImpl
-java.util.stream.DistinctOps$1
+java.util.stream.Collectors
 java.util.stream.DistinctOps$1$2
+java.util.stream.DistinctOps$1
 java.util.stream.DoubleStream
-java.util.stream.FindOps
 java.util.stream.FindOps$FindOp
-java.util.stream.FindOps$FindSink
 java.util.stream.FindOps$FindSink$OfRef
+java.util.stream.FindOps$FindSink
+java.util.stream.FindOps
+java.util.stream.ForEachOps$ForEachOp$OfRef
+java.util.stream.ForEachOps$ForEachOp
+java.util.stream.ForEachOps
+java.util.stream.IntPipeline$4$1
+java.util.stream.IntPipeline$4
+java.util.stream.IntPipeline
 java.util.stream.IntStream
+java.util.stream.LongPipeline$StatelessOp
+java.util.stream.LongPipeline
 java.util.stream.LongStream
 java.util.stream.PipelineHelper
-java.util.stream.ReduceOps
 java.util.stream.ReduceOps$1
 java.util.stream.ReduceOps$1ReducingSink
 java.util.stream.ReduceOps$3
 java.util.stream.ReduceOps$3ReducingSink
+java.util.stream.ReduceOps$8
+java.util.stream.ReduceOps$8ReducingSink
 java.util.stream.ReduceOps$AccumulatingSink
 java.util.stream.ReduceOps$Box
 java.util.stream.ReduceOps$ReduceOp
-java.util.stream.ReferencePipeline
-java.util.stream.ReferencePipeline$2
+java.util.stream.ReduceOps
 java.util.stream.ReferencePipeline$2$1
-java.util.stream.ReferencePipeline$3
+java.util.stream.ReferencePipeline$2
 java.util.stream.ReferencePipeline$3$1
+java.util.stream.ReferencePipeline$3
+java.util.stream.ReferencePipeline$5$1
+java.util.stream.ReferencePipeline$5
 java.util.stream.ReferencePipeline$Head
 java.util.stream.ReferencePipeline$StatefulOp
 java.util.stream.ReferencePipeline$StatelessOp
-java.util.stream.Sink
+java.util.stream.ReferencePipeline
+java.util.stream.Sink$ChainedInt
 java.util.stream.Sink$ChainedReference
+java.util.stream.Sink$OfLong
+java.util.stream.Sink
+java.util.stream.SliceOps$1$1
+java.util.stream.SliceOps$1
+java.util.stream.SliceOps
 java.util.stream.Stream
-java.util.stream.StreamOpFlag
 java.util.stream.StreamOpFlag$MaskBuilder
 java.util.stream.StreamOpFlag$Type
+java.util.stream.StreamOpFlag
 java.util.stream.StreamShape
+java.util.stream.StreamSpliterators$InfiniteSupplyingSpliterator$OfRef
+java.util.stream.StreamSpliterators$InfiniteSupplyingSpliterator
 java.util.stream.StreamSupport
 java.util.stream.TerminalOp
 java.util.stream.TerminalSink
@@ -6016,8 +6979,8 @@
 java.util.zip.DataFormatException
 java.util.zip.Deflater
 java.util.zip.DeflaterOutputStream
-java.util.zip.GZIPInputStream
 java.util.zip.GZIPInputStream$1
+java.util.zip.GZIPInputStream
 java.util.zip.GZIPOutputStream
 java.util.zip.Inflater
 java.util.zip.InflaterInputStream
@@ -6026,13 +6989,13 @@
 java.util.zip.ZipConstants
 java.util.zip.ZipEntry
 java.util.zip.ZipException
-java.util.zip.ZipFile
 java.util.zip.ZipFile$ZipEntryIterator
 java.util.zip.ZipFile$ZipFileInflaterInputStream
 java.util.zip.ZipFile$ZipFileInputStream
+java.util.zip.ZipFile
 java.util.zip.ZipUtils
+javax.crypto.AEADBadTagException
 javax.crypto.BadPaddingException
-javax.crypto.Cipher
 javax.crypto.Cipher$1
 javax.crypto.Cipher$CipherSpiAndProvider
 javax.crypto.Cipher$InitParams
@@ -6040,6 +7003,7 @@
 javax.crypto.Cipher$NeedToSet
 javax.crypto.Cipher$SpiAndProviderUpdater
 javax.crypto.Cipher$Transform
+javax.crypto.Cipher
 javax.crypto.CipherSpi
 javax.crypto.IllegalBlockSizeException
 javax.crypto.JceSecurity
@@ -6060,35 +7024,39 @@
 javax.crypto.spec.PBEKeySpec
 javax.crypto.spec.PBEParameterSpec
 javax.crypto.spec.PSource$PSpecified
+javax.crypto.spec.PSource
 javax.crypto.spec.SecretKeySpec
-javax.microedition.khronos.egl.EGL
 javax.microedition.khronos.egl.EGL10
+javax.microedition.khronos.egl.EGL
 javax.microedition.khronos.egl.EGLConfig
 javax.microedition.khronos.egl.EGLContext
 javax.microedition.khronos.egl.EGLDisplay
 javax.microedition.khronos.egl.EGLSurface
-javax.microedition.khronos.opengles.GL
 javax.microedition.khronos.opengles.GL10
 javax.microedition.khronos.opengles.GL10Ext
 javax.microedition.khronos.opengles.GL11
 javax.microedition.khronos.opengles.GL11Ext
 javax.microedition.khronos.opengles.GL11ExtensionPack
+javax.microedition.khronos.opengles.GL
 javax.net.DefaultSocketFactory
 javax.net.ServerSocketFactory
 javax.net.SocketFactory
 javax.net.ssl.ExtendedSSLSession
+javax.net.ssl.HandshakeCompletedEvent
 javax.net.ssl.HandshakeCompletedListener
 javax.net.ssl.HostnameVerifier
 javax.net.ssl.HttpsURLConnection
 javax.net.ssl.KeyManager
-javax.net.ssl.KeyManagerFactory
 javax.net.ssl.KeyManagerFactory$1
+javax.net.ssl.KeyManagerFactory
 javax.net.ssl.KeyManagerFactorySpi
+javax.net.ssl.ManagerFactoryParameters
 javax.net.ssl.SNIHostName
 javax.net.ssl.SNIServerName
 javax.net.ssl.SSLContext
 javax.net.ssl.SSLContextSpi
 javax.net.ssl.SSLEngine
+javax.net.ssl.SSLEngineResult
 javax.net.ssl.SSLException
 javax.net.ssl.SSLHandshakeException
 javax.net.ssl.SSLParameters
@@ -6096,13 +7064,15 @@
 javax.net.ssl.SSLProtocolException
 javax.net.ssl.SSLServerSocketFactory
 javax.net.ssl.SSLSession
+javax.net.ssl.SSLSessionBindingEvent
+javax.net.ssl.SSLSessionBindingListener
 javax.net.ssl.SSLSessionContext
 javax.net.ssl.SSLSocket
-javax.net.ssl.SSLSocketFactory
 javax.net.ssl.SSLSocketFactory$1
+javax.net.ssl.SSLSocketFactory
 javax.net.ssl.TrustManager
-javax.net.ssl.TrustManagerFactory
 javax.net.ssl.TrustManagerFactory$1
+javax.net.ssl.TrustManagerFactory
 javax.net.ssl.TrustManagerFactorySpi
 javax.net.ssl.X509ExtendedKeyManager
 javax.net.ssl.X509ExtendedTrustManager
@@ -6112,9 +7082,10 @@
 javax.security.auth.callback.UnsupportedCallbackException
 javax.security.auth.x500.X500Principal
 javax.security.cert.Certificate
+javax.security.cert.CertificateEncodingException
 javax.security.cert.CertificateException
-javax.security.cert.X509Certificate
 javax.security.cert.X509Certificate$1
+javax.security.cert.X509Certificate
 javax.xml.parsers.DocumentBuilder
 javax.xml.parsers.DocumentBuilderFactory
 javax.xml.parsers.ParserConfigurationException
@@ -6126,22 +7097,22 @@
 libcore.icu.LocaleData
 libcore.icu.NativeConverter
 libcore.icu.RelativeDateTimeFormatter$FormatterCache
-libcore.icu.TimeZoneNames
 libcore.icu.TimeZoneNames$1
 libcore.icu.TimeZoneNames$ZoneStringsCache
+libcore.icu.TimeZoneNames
 libcore.internal.StringPool
 libcore.io.AsynchronousCloseMonitor
 libcore.io.BlockGuardOs
 libcore.io.BufferIterator
-libcore.io.ClassPathURLStreamHandler
-libcore.io.ClassPathURLStreamHandler$ClassPathURLConnection
 libcore.io.ClassPathURLStreamHandler$ClassPathURLConnection$1
+libcore.io.ClassPathURLStreamHandler$ClassPathURLConnection
+libcore.io.ClassPathURLStreamHandler
 libcore.io.ForwardingOs
 libcore.io.IoBridge
-libcore.io.IoTracker
 libcore.io.IoTracker$Mode
-libcore.io.IoUtils
+libcore.io.IoTracker
 libcore.io.IoUtils$FileReader
+libcore.io.IoUtils
 libcore.io.Libcore
 libcore.io.Linux
 libcore.io.Memory
@@ -6149,17 +7120,17 @@
 libcore.io.NioBufferIterator
 libcore.io.Os
 libcore.math.MathUtils
-libcore.net.NetworkSecurityPolicy
+libcore.net.InetAddressUtils
 libcore.net.NetworkSecurityPolicy$DefaultNetworkSecurityPolicy
-libcore.net.UriCodec
+libcore.net.NetworkSecurityPolicy
 libcore.net.event.NetworkEventDispatcher
 libcore.net.event.NetworkEventListener
-libcore.net.http.HttpDate
 libcore.net.http.HttpDate$1
+libcore.net.http.HttpDate
 libcore.reflect.AnnotatedElements
 libcore.reflect.AnnotationFactory
-libcore.reflect.AnnotationMember
 libcore.reflect.AnnotationMember$DefaultValues
+libcore.reflect.AnnotationMember
 libcore.reflect.GenericArrayTypeImpl
 libcore.reflect.GenericSignatureParser
 libcore.reflect.ListOfTypes
@@ -6168,41 +7139,49 @@
 libcore.reflect.TypeVariableImpl
 libcore.reflect.Types
 libcore.reflect.WildcardTypeImpl
+libcore.timezone.-$$Lambda$TimeZoneFinder$ReaderSupplier$gDAfECMWS_ohJ_Rfk1HN7JyDSJA
+libcore.timezone.CountryTimeZones$TimeZoneMapping
+libcore.timezone.CountryTimeZones
 libcore.timezone.TimeZoneDataFiles
-libcore.timezone.ZoneInfoDB
-libcore.timezone.ZoneInfoDB$TzData
+libcore.timezone.TimeZoneFinder$ReaderSupplier
+libcore.timezone.TimeZoneFinder$SelectiveCountryTimeZonesExtractor
+libcore.timezone.TimeZoneFinder$TimeZonesProcessor
+libcore.timezone.TimeZoneFinder
 libcore.timezone.ZoneInfoDB$TzData$1
+libcore.timezone.ZoneInfoDB$TzData
+libcore.timezone.ZoneInfoDB
+libcore.util.ArrayUtils
 libcore.util.BasicLruCache
 libcore.util.CharsetUtils
 libcore.util.CollectionUtils
 libcore.util.EmptyArray
-libcore.util.NativeAllocationRegistry
 libcore.util.NativeAllocationRegistry$CleanerRunner
 libcore.util.NativeAllocationRegistry$CleanerThunk
+libcore.util.NativeAllocationRegistry
 libcore.util.Objects
 libcore.util.SneakyThrow
-libcore.util.ZoneInfo
+libcore.util.XmlObjectFactory
 libcore.util.ZoneInfo$CheckedArithmeticException
 libcore.util.ZoneInfo$WallTime
+libcore.util.ZoneInfo
 org.apache.harmony.dalvik.NativeTestTarget
 org.apache.harmony.dalvik.ddmc.Chunk
 org.apache.harmony.dalvik.ddmc.ChunkHandler
 org.apache.harmony.dalvik.ddmc.DdmServer
 org.apache.harmony.dalvik.ddmc.DdmVmInternal
-org.apache.harmony.luni.internal.util.TimezoneGetter
 org.apache.harmony.xml.ExpatAttributes
 org.apache.harmony.xml.ExpatException
-org.apache.harmony.xml.ExpatParser
 org.apache.harmony.xml.ExpatParser$CurrentAttributes
 org.apache.harmony.xml.ExpatParser$ExpatLocator
+org.apache.harmony.xml.ExpatParser
 org.apache.harmony.xml.ExpatReader
 org.apache.harmony.xml.dom.CharacterDataImpl
 org.apache.harmony.xml.dom.DocumentImpl
 org.apache.harmony.xml.dom.ElementImpl
 org.apache.harmony.xml.dom.InnerNodeImpl
 org.apache.harmony.xml.dom.LeafNodeImpl
-org.apache.harmony.xml.dom.NodeImpl
 org.apache.harmony.xml.dom.NodeImpl$1
+org.apache.harmony.xml.dom.NodeImpl
 org.apache.harmony.xml.dom.NodeListImpl
 org.apache.harmony.xml.dom.TextImpl
 org.apache.harmony.xml.parsers.DocumentBuilderFactoryImpl
@@ -6228,22 +7207,19 @@
 org.ccil.cowan.tagsoup.HTMLModels
 org.ccil.cowan.tagsoup.HTMLScanner
 org.ccil.cowan.tagsoup.HTMLSchema
-org.ccil.cowan.tagsoup.Parser
 org.ccil.cowan.tagsoup.Parser$1
+org.ccil.cowan.tagsoup.Parser
 org.ccil.cowan.tagsoup.ScanHandler
 org.ccil.cowan.tagsoup.Scanner
 org.ccil.cowan.tagsoup.Schema
 org.json.JSON
 org.json.JSONArray
 org.json.JSONException
-org.json.JSONObject
 org.json.JSONObject$1
-org.json.JSONStringer
+org.json.JSONObject
 org.json.JSONStringer$Scope
+org.json.JSONStringer
 org.json.JSONTokener
-com.android.org.kxml2.io.KXmlParser
-com.android.org.kxml2.io.KXmlParser$ValueContext
-com.android.org.kxml2.io.KXmlSerializer
 org.w3c.dom.CharacterData
 org.w3c.dom.DOMImplementation
 org.w3c.dom.Document
@@ -6274,13 +7250,12 @@
 org.xmlpull.v1.XmlSerializer
 sun.invoke.util.BytecodeDescriptor
 sun.invoke.util.VerifyAccess
-sun.invoke.util.Wrapper
 sun.invoke.util.Wrapper$Format
+sun.invoke.util.Wrapper
 sun.misc.ASCIICaseInsensitiveComparator
 sun.misc.Cleaner
 sun.misc.CompoundEnumeration
 sun.misc.FDBigInteger
-sun.misc.FloatingDecimal
 sun.misc.FloatingDecimal$1
 sun.misc.FloatingDecimal$ASCIIToBinaryBuffer
 sun.misc.FloatingDecimal$ASCIIToBinaryConverter
@@ -6288,10 +7263,11 @@
 sun.misc.FloatingDecimal$BinaryToASCIIConverter
 sun.misc.FloatingDecimal$ExceptionalBinaryToASCIIBuffer
 sun.misc.FloatingDecimal$PreparedASCIIToBinaryBuffer
-sun.misc.FormattedFloatingDecimal
+sun.misc.FloatingDecimal
 sun.misc.FormattedFloatingDecimal$1
 sun.misc.FormattedFloatingDecimal$2
 sun.misc.FormattedFloatingDecimal$Form
+sun.misc.FormattedFloatingDecimal
 sun.misc.IOUtils
 sun.misc.JavaIOFileDescriptorAccess
 sun.misc.LRUCache
@@ -6301,12 +7277,12 @@
 sun.misc.Version
 sun.net.ConnectionResetException
 sun.net.NetHooks
-sun.net.NetProperties
 sun.net.NetProperties$1
+sun.net.NetProperties
 sun.net.ResourceManager
-sun.net.spi.DefaultProxySelector
 sun.net.spi.DefaultProxySelector$1
 sun.net.spi.DefaultProxySelector$NonProxyInfo
+sun.net.spi.DefaultProxySelector
 sun.net.spi.nameservice.NameService
 sun.net.util.IPAddressUtil
 sun.net.www.ParseUtil
@@ -6320,8 +7296,8 @@
 sun.nio.ch.DatagramDispatcher
 sun.nio.ch.DefaultSelectorProvider
 sun.nio.ch.DirectBuffer
-sun.nio.ch.FileChannelImpl
 sun.nio.ch.FileChannelImpl$Unmapper
+sun.nio.ch.FileChannelImpl
 sun.nio.ch.FileDescriptorHolderSocketImpl
 sun.nio.ch.FileDispatcher
 sun.nio.ch.FileDispatcherImpl
@@ -6335,9 +7311,9 @@
 sun.nio.ch.NativeObject
 sun.nio.ch.NativeThread
 sun.nio.ch.NativeThreadSet
-sun.nio.ch.Net
 sun.nio.ch.Net$1
 sun.nio.ch.Net$3
+sun.nio.ch.Net
 sun.nio.ch.PollArrayWrapper
 sun.nio.ch.PollSelectorImpl
 sun.nio.ch.PollSelectorProvider
@@ -6346,26 +7322,26 @@
 sun.nio.ch.SelectorImpl
 sun.nio.ch.SelectorProviderImpl
 sun.nio.ch.ServerSocketChannelImpl
-sun.nio.ch.SharedFileLockTable
 sun.nio.ch.SharedFileLockTable$FileLockReference
-sun.nio.ch.SocketAdaptor
+sun.nio.ch.SharedFileLockTable
 sun.nio.ch.SocketAdaptor$1
 sun.nio.ch.SocketAdaptor$2
 sun.nio.ch.SocketAdaptor$SocketInputStream
+sun.nio.ch.SocketAdaptor
 sun.nio.ch.SocketChannelImpl
 sun.nio.ch.SocketDispatcher
-sun.nio.ch.Util
 sun.nio.ch.Util$1
 sun.nio.ch.Util$2
 sun.nio.ch.Util$BufferCache
+sun.nio.ch.Util
 sun.nio.cs.ArrayDecoder
 sun.nio.cs.ArrayEncoder
 sun.nio.cs.StreamDecoder
 sun.nio.cs.StreamEncoder
-sun.nio.cs.ThreadLocalCoders
 sun.nio.cs.ThreadLocalCoders$1
 sun.nio.cs.ThreadLocalCoders$2
 sun.nio.cs.ThreadLocalCoders$Cache
+sun.nio.cs.ThreadLocalCoders
 sun.nio.fs.AbstractBasicFileAttributeView
 sun.nio.fs.AbstractFileSystemProvider
 sun.nio.fs.AbstractPath
@@ -6373,16 +7349,16 @@
 sun.nio.fs.DynamicFileAttributeView
 sun.nio.fs.LinuxFileSystem
 sun.nio.fs.LinuxFileSystemProvider
-sun.nio.fs.NativeBuffer
 sun.nio.fs.NativeBuffer$Deallocator
+sun.nio.fs.NativeBuffer
 sun.nio.fs.NativeBuffers
 sun.nio.fs.UnixChannelFactory$Flags
 sun.nio.fs.UnixConstants
 sun.nio.fs.UnixException
-sun.nio.fs.UnixFileAttributeViews
 sun.nio.fs.UnixFileAttributeViews$Basic
-sun.nio.fs.UnixFileAttributes
+sun.nio.fs.UnixFileAttributeViews
 sun.nio.fs.UnixFileAttributes$UnixAsBasicFileAttributes
+sun.nio.fs.UnixFileAttributes
 sun.nio.fs.UnixFileModeAttribute
 sun.nio.fs.UnixFileStoreAttributes
 sun.nio.fs.UnixFileSystem
@@ -6391,28 +7367,29 @@
 sun.nio.fs.UnixNativeDispatcher
 sun.nio.fs.UnixPath
 sun.nio.fs.Util
+sun.reflect.Reflection
 sun.reflect.misc.ReflectUtil
 sun.security.action.GetBooleanAction
 sun.security.action.GetIntegerAction
 sun.security.action.GetPropertyAction
-sun.security.jca.GetInstance
 sun.security.jca.GetInstance$Instance
-sun.security.jca.JCAUtil
+sun.security.jca.GetInstance
 sun.security.jca.JCAUtil$CachedSecureRandomHolder
-sun.security.jca.ProviderConfig
+sun.security.jca.JCAUtil
 sun.security.jca.ProviderConfig$2
-sun.security.jca.ProviderList
+sun.security.jca.ProviderConfig
 sun.security.jca.ProviderList$1
 sun.security.jca.ProviderList$2
 sun.security.jca.ProviderList$3
-sun.security.jca.ProviderList$ServiceList
 sun.security.jca.ProviderList$ServiceList$1
+sun.security.jca.ProviderList$ServiceList
+sun.security.jca.ProviderList
 sun.security.jca.Providers
 sun.security.jca.ServiceId
 sun.security.pkcs.ContentInfo
-sun.security.pkcs.PKCS7
 sun.security.pkcs.PKCS7$VerbatimX509Certificate
 sun.security.pkcs.PKCS7$WrappedX509Certificate
+sun.security.pkcs.PKCS7
 sun.security.pkcs.PKCS9Attribute
 sun.security.pkcs.SignerInfo
 sun.security.provider.CertPathProvider
@@ -6424,29 +7401,29 @@
 sun.security.provider.certpath.CertPathHelper
 sun.security.provider.certpath.ConstraintsChecker
 sun.security.provider.certpath.KeyChecker
-sun.security.provider.certpath.OCSP$RevocationStatus
 sun.security.provider.certpath.OCSP$RevocationStatus$CertStatus
-sun.security.provider.certpath.OCSPResponse
+sun.security.provider.certpath.OCSP$RevocationStatus
 sun.security.provider.certpath.OCSPResponse$ResponseStatus
 sun.security.provider.certpath.OCSPResponse$SingleResponse
-sun.security.provider.certpath.PKIX
+sun.security.provider.certpath.OCSPResponse
 sun.security.provider.certpath.PKIX$ValidatorParams
+sun.security.provider.certpath.PKIX
 sun.security.provider.certpath.PKIXCertPathValidator
 sun.security.provider.certpath.PKIXMasterCertPathValidator
 sun.security.provider.certpath.PolicyChecker
 sun.security.provider.certpath.PolicyNodeImpl
-sun.security.provider.certpath.RevocationChecker
 sun.security.provider.certpath.RevocationChecker$1
 sun.security.provider.certpath.RevocationChecker$Mode
 sun.security.provider.certpath.RevocationChecker$RevocationProperties
-sun.security.util.AbstractAlgorithmConstraints
+sun.security.provider.certpath.RevocationChecker
 sun.security.util.AbstractAlgorithmConstraints$1
+sun.security.util.AbstractAlgorithmConstraints
 sun.security.util.AlgorithmDecomposer
 sun.security.util.BitArray
 sun.security.util.ByteArrayLexOrder
 sun.security.util.ByteArrayTagOrder
-sun.security.util.Cache
 sun.security.util.Cache$EqualByteArray
+sun.security.util.Cache
 sun.security.util.CertConstraintParameters
 sun.security.util.Debug
 sun.security.util.DerEncoder
@@ -6455,22 +7432,22 @@
 sun.security.util.DerInputStream
 sun.security.util.DerOutputStream
 sun.security.util.DerValue
-sun.security.util.DisabledAlgorithmConstraints
 sun.security.util.DisabledAlgorithmConstraints$1
-sun.security.util.DisabledAlgorithmConstraints$Constraint
 sun.security.util.DisabledAlgorithmConstraints$Constraint$Operator
+sun.security.util.DisabledAlgorithmConstraints$Constraint
 sun.security.util.DisabledAlgorithmConstraints$Constraints
 sun.security.util.DisabledAlgorithmConstraints$KeySizeConstraint
+sun.security.util.DisabledAlgorithmConstraints
 sun.security.util.KeyUtil
 sun.security.util.Length
-sun.security.util.ManifestDigester
 sun.security.util.ManifestDigester$Entry
 sun.security.util.ManifestDigester$Position
-sun.security.util.ManifestEntryVerifier
+sun.security.util.ManifestDigester
 sun.security.util.ManifestEntryVerifier$SunProviderHolder
-sun.security.util.MemoryCache
+sun.security.util.ManifestEntryVerifier
 sun.security.util.MemoryCache$CacheEntry
 sun.security.util.MemoryCache$SoftCacheEntry
+sun.security.util.MemoryCache
 sun.security.util.ObjectIdentifier
 sun.security.util.SignatureFileVerifier
 sun.security.x509.AVA
@@ -6508,11 +7485,11 @@
 sun.security.x509.KeyIdentifier
 sun.security.x509.KeyUsageExtension
 sun.security.x509.NameConstraintsExtension
-sun.security.x509.NetscapeCertTypeExtension
 sun.security.x509.NetscapeCertTypeExtension$MapEntry
+sun.security.x509.NetscapeCertTypeExtension
 sun.security.x509.OCSPNoCheckExtension
-sun.security.x509.OIDMap
 sun.security.x509.OIDMap$OIDInfo
+sun.security.x509.OIDMap
 sun.security.x509.PKIXExtensions
 sun.security.x509.PolicyConstraintsExtension
 sun.security.x509.PolicyInformation
@@ -6524,40 +7501,40 @@
 sun.security.x509.SubjectInfoAccessExtension
 sun.security.x509.SubjectKeyIdentifierExtension
 sun.security.x509.URIName
-sun.security.x509.X500Name
 sun.security.x509.X500Name$1
+sun.security.x509.X500Name
 sun.security.x509.X509AttributeName
 sun.security.x509.X509CertImpl
 sun.security.x509.X509CertInfo
 sun.security.x509.X509Key
 sun.util.calendar.AbstractCalendar
-sun.util.calendar.BaseCalendar
 sun.util.calendar.BaseCalendar$Date
+sun.util.calendar.BaseCalendar
 sun.util.calendar.CalendarDate
 sun.util.calendar.CalendarSystem
 sun.util.calendar.CalendarUtils
 sun.util.calendar.Era
-sun.util.calendar.Gregorian
 sun.util.calendar.Gregorian$Date
+sun.util.calendar.Gregorian
 sun.util.calendar.ImmutableGregorianDate
 sun.util.calendar.JulianCalendar
 sun.util.calendar.LocalGregorianCalendar
-sun.util.locale.BaseLocale
 sun.util.locale.BaseLocale$Cache
 sun.util.locale.BaseLocale$Key
-sun.util.locale.InternalLocaleBuilder
+sun.util.locale.BaseLocale
 sun.util.locale.InternalLocaleBuilder$CaseInsensitiveChar
+sun.util.locale.InternalLocaleBuilder
 sun.util.locale.LanguageTag
-sun.util.locale.LocaleObjectCache
 sun.util.locale.LocaleObjectCache$CacheEntry
+sun.util.locale.LocaleObjectCache
 sun.util.locale.LocaleSyntaxException
 sun.util.locale.LocaleUtils
 sun.util.locale.ParseStatus
 sun.util.locale.StringTokenIterator
 sun.util.logging.LoggingProxy
-sun.util.logging.LoggingSupport
 sun.util.logging.LoggingSupport$1
-sun.util.logging.PlatformLogger
+sun.util.logging.LoggingSupport
 sun.util.logging.PlatformLogger$1
 sun.util.logging.PlatformLogger$Level
 sun.util.logging.PlatformLogger$LoggerProxy
+sun.util.logging.PlatformLogger
diff --git a/config/preloaded-classes-blacklist b/config/preloaded-classes-blacklist
index eca3bf3..59f605d 100644
--- a/config/preloaded-classes-blacklist
+++ b/config/preloaded-classes-blacklist
@@ -3,3 +3,8 @@
 android.os.FileObserver
 android.widget.Magnifier
 sun.nio.fs.UnixChannelFactory
+com.android.server.SystemConfig$PermissionEntry
+com.android.server.SystemConfig$SharedLibraryEntry
+com.android.server.SystemConfig
+android.permission.PermissionManager$SplitPermissionInfo
+android.permission.PermissionManager
diff --git a/core/java/android/accounts/IAccountAuthenticator.aidl b/core/java/android/accounts/IAccountAuthenticator.aidl
index 8b98ca2..701cecf 100644
--- a/core/java/android/accounts/IAccountAuthenticator.aidl
+++ b/core/java/android/accounts/IAccountAuthenticator.aidl
@@ -28,47 +28,55 @@
     /**
      * prompts the user for account information and adds the result to the IAccountManager
      */
+    @UnsupportedAppUsage
     void addAccount(in IAccountAuthenticatorResponse response, String accountType,
         String authTokenType, in String[] requiredFeatures, in Bundle options);
 
     /**
      * prompts the user for the credentials of the account
      */
+    @UnsupportedAppUsage
     void confirmCredentials(in IAccountAuthenticatorResponse response, in Account account,
         in Bundle options);
 
     /**
      * gets the password by either prompting the user or querying the IAccountManager
      */
+    @UnsupportedAppUsage
     void getAuthToken(in IAccountAuthenticatorResponse response, in Account account,
         String authTokenType, in Bundle options);
 
     /**
      * Gets the user-visible label of the given authtoken type.
      */
+    @UnsupportedAppUsage
     void getAuthTokenLabel(in IAccountAuthenticatorResponse response, String authTokenType);
 
     /**
      * prompts the user for a new password and writes it to the IAccountManager
      */
+    @UnsupportedAppUsage
     void updateCredentials(in IAccountAuthenticatorResponse response, in Account account,
         String authTokenType, in Bundle options);
 
     /**
      * launches an activity that lets the user edit and set the properties for an authenticator
      */
+    @UnsupportedAppUsage
     void editProperties(in IAccountAuthenticatorResponse response, String accountType);
 
     /**
      * returns a Bundle where the boolean value BOOLEAN_RESULT_KEY is set if the account has the
      * specified features
      */
+    @UnsupportedAppUsage
     void hasFeatures(in IAccountAuthenticatorResponse response, in Account account, 
         in String[] features);
 
     /**
      * Gets whether or not the account is allowed to be removed.
      */
+    @UnsupportedAppUsage
     void getAccountRemovalAllowed(in IAccountAuthenticatorResponse response, in Account account);
 
     /**
diff --git a/core/java/android/accounts/IAccountAuthenticatorResponse.aidl b/core/java/android/accounts/IAccountAuthenticatorResponse.aidl
index 0c75e50..fbc8e5d 100644
--- a/core/java/android/accounts/IAccountAuthenticatorResponse.aidl
+++ b/core/java/android/accounts/IAccountAuthenticatorResponse.aidl
@@ -22,7 +22,10 @@
  * @hide
  */
 oneway interface IAccountAuthenticatorResponse {
+    @UnsupportedAppUsage
     void onResult(in Bundle value);
+    @UnsupportedAppUsage
     void onRequestContinued();
+    @UnsupportedAppUsage
     void onError(int errorCode, String errorMessage);
 }
diff --git a/core/java/android/accounts/IAccountManagerResponse.aidl b/core/java/android/accounts/IAccountManagerResponse.aidl
index ca1203d..11d0c02 100644
--- a/core/java/android/accounts/IAccountManagerResponse.aidl
+++ b/core/java/android/accounts/IAccountManagerResponse.aidl
@@ -22,6 +22,8 @@
  * @hide
  */
 oneway interface IAccountManagerResponse {
+    @UnsupportedAppUsage
     void onResult(in Bundle value);
+    @UnsupportedAppUsage
     void onError(int errorCode, String errorMessage);
 }
diff --git a/core/java/android/app/ActionBar.java b/core/java/android/app/ActionBar.java
index 831cac2..e573279 100644
--- a/core/java/android/app/ActionBar.java
+++ b/core/java/android/app/ActionBar.java
@@ -36,6 +36,7 @@
 import android.view.ViewGroup;
 import android.view.ViewHierarchyEncoder;
 import android.view.Window;
+import android.view.inspector.InspectableProperty;
 import android.widget.SpinnerAdapter;
 
 import java.lang.annotation.Retention;
@@ -1374,6 +1375,9 @@
                 @ViewDebug.IntToString(from = Gravity.CENTER,            to = "CENTER"),
                 @ViewDebug.IntToString(from = Gravity.FILL,              to = "FILL")
         })
+        @InspectableProperty(
+                name = "layout_gravity",
+                valueType = InspectableProperty.ValueType.GRAVITY)
         public int gravity = Gravity.NO_GRAVITY;
 
         public LayoutParams(@NonNull Context c, AttributeSet attrs) {
diff --git a/core/java/android/app/Activity.java b/core/java/android/app/Activity.java
index 68b2de4..b039a60 100644
--- a/core/java/android/app/Activity.java
+++ b/core/java/android/app/Activity.java
@@ -127,6 +127,7 @@
 import android.view.autofill.IAutofillWindowPresenter;
 import android.view.contentcapture.ContentCaptureContext;
 import android.view.contentcapture.ContentCaptureManager;
+import android.view.contentcapture.ContentCaptureManager.ContentCaptureClient;
 import android.widget.AdapterView;
 import android.widget.Toast;
 import android.widget.Toolbar;
@@ -138,6 +139,8 @@
 import com.android.internal.app.WindowDecorActionBar;
 import com.android.internal.policy.PhoneWindow;
 
+import dalvik.system.VMRuntime;
+
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 import java.lang.annotation.Retention;
@@ -717,7 +720,7 @@
         Window.Callback, KeyEvent.Callback,
         OnCreateContextMenuListener, ComponentCallbacks2,
         Window.OnWindowDismissedCallback, WindowControllerCallback,
-        AutofillManager.AutofillClient {
+        AutofillManager.AutofillClient, ContentCaptureManager.ContentCaptureClient {
     private static final String TAG = "Activity";
     private static final boolean DEBUG_LIFECYCLE = false;
 
@@ -1119,6 +1122,12 @@
         return this;
     }
 
+    /** @hide */
+    @Override
+    public final ContentCaptureClient getContentCaptureClient() {
+        return this;
+    }
+
     /**
      * Register an {@link Application.ActivityLifecycleCallbacks} instance that receives
      * lifecycle callbacks for only this Activity.
@@ -2484,6 +2493,7 @@
             try {
                 ActivityTaskManager.getService().reportActivityFullyDrawn(
                         mToken, mRestoredFromBundle);
+                VMRuntime.getRuntime().notifyStartupCompleted();
             } catch (RemoteException e) {
             }
         }
@@ -6464,6 +6474,12 @@
         return getComponentName();
     }
 
+    /** @hide */
+    @Override
+    public final ComponentName contentCaptureClientGetComponentName() {
+        return getComponentName();
+    }
+
     /**
      * Retrieve a {@link SharedPreferences} object for accessing preferences
      * that are private to this activity.  This simply calls the underlying
@@ -8328,7 +8344,7 @@
         try {
             ActivityTaskManager.getService().setDisablePreviewScreenshots(mToken, disable);
         } catch (RemoteException e) {
-            Log.e(TAG, "Failed to call setDisablePreviewScreenshots", e);
+            throw e.rethrowFromSystemServer();
         }
     }
 
@@ -8349,7 +8365,7 @@
         try {
             ActivityTaskManager.getService().setShowWhenLocked(mToken, showWhenLocked);
         } catch (RemoteException e) {
-            Log.e(TAG, "Failed to call setShowWhenLocked", e);
+            throw e.rethrowFromSystemServer();
         }
     }
 
@@ -8366,17 +8382,14 @@
      *                              screen when this activity has another activity behind it with
      *                              the showWhenLock attribute set; {@code false} otherwise.
      * @see #setShowWhenLocked(boolean)
-     * See android.R.attr#inheritShowWhenLocked
-     * @hide
+     * @see android.R.attr#inheritShowWhenLocked
      */
-    @SystemApi
-    @TestApi
     public void setInheritShowWhenLocked(boolean inheritShowWhenLocked) {
         try {
             ActivityTaskManager.getService().setInheritShowWhenLocked(
                     mToken, inheritShowWhenLocked);
         } catch (RemoteException e) {
-            Log.e(TAG, "Failed to call setInheritShowWhenLocked", e);
+            throw e.rethrowFromSystemServer();
         }
     }
 
@@ -8402,7 +8415,7 @@
         try {
             ActivityTaskManager.getService().setTurnScreenOn(mToken, turnScreenOn);
         } catch (RemoteException e) {
-            Log.e(TAG, "Failed to call setTurnScreenOn", e);
+            throw e.rethrowFromSystemServer();
         }
     }
 
@@ -8419,7 +8432,7 @@
         try {
             ActivityTaskManager.getService().registerRemoteAnimations(mToken, definition);
         } catch (RemoteException e) {
-            Log.e(TAG, "Failed to call registerRemoteAnimations", e);
+            throw e.rethrowFromSystemServer();
         }
     }
 
diff --git a/core/java/android/app/ActivityManager.java b/core/java/android/app/ActivityManager.java
index c067f9d..023371d 100644
--- a/core/java/android/app/ActivityManager.java
+++ b/core/java/android/app/ActivityManager.java
@@ -2018,7 +2018,8 @@
      * @return {@code true} if a call to start an activity on the target display is allowed for the
      * provided context and no {@link SecurityException} will be thrown, {@code false} otherwise.
      */
-    public boolean isActivityStartAllowedOnDisplay(Context context, int displayId, Intent intent) {
+    public boolean isActivityStartAllowedOnDisplay(@NonNull Context context, int displayId,
+            @NonNull Intent intent) {
         try {
             return getTaskService().isActivityStartAllowedOnDisplay(displayId, intent,
                     intent.resolveTypeIfNeeded(context.getContentResolver()), context.getUserId());
diff --git a/core/java/android/app/ActivityManagerInternal.java b/core/java/android/app/ActivityManagerInternal.java
index 7d828d8..f6cfe48 100644
--- a/core/java/android/app/ActivityManagerInternal.java
+++ b/core/java/android/app/ActivityManagerInternal.java
@@ -196,6 +196,9 @@
     /** Kill the processes in the list due to their tasks been removed. */
     public abstract void killProcessesForRemovedTask(ArrayList<Object> procsToKill);
 
+    /** Kill the process immediately. */
+    public abstract void killProcess(String processName, int uid, String reason);
+
     /**
      * Returns {@code true} if {@code uid} is running an activity from {@code packageName}.
      */
@@ -276,6 +279,7 @@
     public abstract boolean isActivityStartsLoggingEnabled();
     /** Returns true if the background activity starts is enabled. */
     public abstract boolean isBackgroundActivityStartsEnabled();
+    public abstract boolean isPackageNameWhitelistedForBgActivityStarts(String packageName);
     public abstract void reportCurKeyguardUsageEvent(boolean keyguardShowing);
 
     /** Input dispatch timeout to a window, start the ANR process. */
@@ -325,6 +329,9 @@
     /** Returns true if the given uid is the app in the foreground. */
     public abstract boolean isAppForeground(int uid);
 
+    /** Returns true if the given uid is currently marked 'bad' */
+    public abstract boolean isAppBad(ApplicationInfo info);
+
     /** Remove pending backup for the given userId. */
     public abstract void clearPendingBackup(int userId);
 
diff --git a/core/java/android/app/ActivityOptions.java b/core/java/android/app/ActivityOptions.java
index e2d868f..da9ea83 100644
--- a/core/java/android/app/ActivityOptions.java
+++ b/core/java/android/app/ActivityOptions.java
@@ -222,6 +222,13 @@
     private static final String KEY_AVOID_MOVE_TO_FRONT = "android.activity.avoidMoveToFront";
 
     /**
+     * See {@link #setFreezeRecentTasksReordering()}.
+     * @hide
+     */
+    private static final String KEY_FREEZE_RECENT_TASKS_REORDERING =
+            "android.activity.freezeRecentTasksReordering";
+
+    /**
      * Where the split-screen-primary stack should be positioned.
      * @hide
      */
@@ -324,6 +331,7 @@
     private boolean mTaskOverlay;
     private boolean mTaskOverlayCanResume;
     private boolean mAvoidMoveToFront;
+    private boolean mFreezeRecentTasksReordering;
     private AppTransitionAnimationSpec mAnimSpecs[];
     private int mRotationAnimationHint = -1;
     private Bundle mAppVerificationBundle;
@@ -946,6 +954,7 @@
         mTaskOverlay = opts.getBoolean(KEY_TASK_OVERLAY, false);
         mTaskOverlayCanResume = opts.getBoolean(KEY_TASK_OVERLAY_CAN_RESUME, false);
         mAvoidMoveToFront = opts.getBoolean(KEY_AVOID_MOVE_TO_FRONT, false);
+        mFreezeRecentTasksReordering = opts.getBoolean(KEY_FREEZE_RECENT_TASKS_REORDERING, false);
         mSplitScreenCreateMode = opts.getInt(KEY_SPLIT_SCREEN_CREATE_MODE,
                 SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT);
         mDisallowEnterPictureInPictureWhileLaunching = opts.getBoolean(
@@ -1304,6 +1313,24 @@
         return mAvoidMoveToFront;
     }
 
+    /**
+     * Sets whether the launch of this activity should freeze the recent task list reordering until
+     * the next user interaction or timeout. This flag is only applied when starting an activity
+     * in recents.
+     * @hide
+     */
+    public void setFreezeRecentTasksReordering() {
+        mFreezeRecentTasksReordering = true;
+    }
+
+    /**
+     * @return whether the launch of this activity should freeze the recent task list reordering
+     * @hide
+     */
+    public boolean freezeRecentTasksReordering() {
+        return mFreezeRecentTasksReordering;
+    }
+
     /** @hide */
     public int getSplitScreenCreateMode() {
         return mSplitScreenCreateMode;
@@ -1502,6 +1529,9 @@
         if (mAvoidMoveToFront) {
             b.putBoolean(KEY_AVOID_MOVE_TO_FRONT, mAvoidMoveToFront);
         }
+        if (mFreezeRecentTasksReordering) {
+            b.putBoolean(KEY_FREEZE_RECENT_TASKS_REORDERING, mFreezeRecentTasksReordering);
+        }
         if (mSplitScreenCreateMode != SPLIT_SCREEN_CREATE_MODE_TOP_OR_LEFT) {
             b.putInt(KEY_SPLIT_SCREEN_CREATE_MODE, mSplitScreenCreateMode);
         }
diff --git a/core/java/android/app/ActivityThread.java b/core/java/android/app/ActivityThread.java
index b654258..08239a1 100644
--- a/core/java/android/app/ActivityThread.java
+++ b/core/java/android/app/ActivityThread.java
@@ -332,7 +332,6 @@
     String[] mInstrumentedSplitAppDirs = null;
     String mInstrumentedLibDir = null;
     boolean mSystemThread = false;
-    boolean mJitEnabled = false;
     boolean mSomeActivitiesChanged = false;
     boolean mUpdatingSystemConfig = false;
     /* package */ boolean mHiddenApiWarningShown = false;
@@ -1696,7 +1695,6 @@
         public static final int SUICIDE                 = 130;
         @UnsupportedAppUsage
         public static final int REMOVE_PROVIDER         = 131;
-        public static final int ENABLE_JIT              = 132;
         public static final int DISPATCH_PACKAGE_BROADCAST = 133;
         @UnsupportedAppUsage
         public static final int SCHEDULE_CRASH          = 134;
@@ -1746,7 +1744,6 @@
                     case DESTROY_BACKUP_AGENT: return "DESTROY_BACKUP_AGENT";
                     case SUICIDE: return "SUICIDE";
                     case REMOVE_PROVIDER: return "REMOVE_PROVIDER";
-                    case ENABLE_JIT: return "ENABLE_JIT";
                     case DISPATCH_PACKAGE_BROADCAST: return "DISPATCH_PACKAGE_BROADCAST";
                     case SCHEDULE_CRASH: return "SCHEDULE_CRASH";
                     case DUMP_HEAP: return "DUMP_HEAP";
@@ -1858,9 +1855,6 @@
                     completeRemoveProvider((ProviderRefCount)msg.obj);
                     Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
                     break;
-                case ENABLE_JIT:
-                    ensureJitEnabled();
-                    break;
                 case DISPATCH_PACKAGE_BROADCAST:
                     Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "broadcastPackage");
                     handleDispatchPackageBroadcast(msg.arg1, (String[])msg.obj);
@@ -1996,7 +1990,6 @@
             if (stopProfiling) {
                 mProfiler.stopProfiling();
             }
-            ensureJitEnabled();
             return false;
         }
     }
@@ -2330,13 +2323,6 @@
         }
     }
 
-    void ensureJitEnabled() {
-        if (!mJitEnabled) {
-            mJitEnabled = true;
-            dalvik.system.VMRuntime.getRuntime().startJitCompilation();
-        }
-    }
-
     @UnsupportedAppUsage
     void scheduleGcIdler() {
         if (!mGcIdlerScheduled) {
@@ -3782,7 +3768,6 @@
                         ActivityManager.getService().serviceDoneExecuting(
                                 data.token, SERVICE_DONE_EXECUTING_ANON, 0, 0);
                     }
-                    ensureJitEnabled();
                 } catch (RemoteException ex) {
                     throw ex.rethrowFromSystemServer();
                 }
@@ -3896,7 +3881,6 @@
                 } catch (RemoteException e) {
                     throw e.rethrowFromSystemServer();
                 }
-                ensureJitEnabled();
             } catch (Exception e) {
                 if (!mInstrumentation.onException(s, e)) {
                     throw new RuntimeException(
@@ -6177,9 +6161,6 @@
             if (!data.restrictedBackupMode) {
                 if (!ArrayUtils.isEmpty(data.providers)) {
                     installContentProviders(app, data.providers);
-                    // For process that contains content providers, we want to
-                    // ensure that the JIT is enabled "at some point".
-                    mH.sendEmptyMessageDelayed(H.ENABLE_JIT, 10*1000);
                 }
             }
 
@@ -6812,12 +6793,6 @@
         sCurrentActivityThread = this;
         mSystemThread = system;
         if (!system) {
-            ViewRootImpl.addFirstDrawHandler(new Runnable() {
-                @Override
-                public void run() {
-                    ensureJitEnabled();
-                }
-            });
             android.ddm.DdmHandleAppName.setAppName("<pre-initialized>",
                                                     UserHandle.myUserId());
             RuntimeInit.setApplicationObject(mAppThread.asBinder());
diff --git a/core/java/android/app/AppOpsManager.java b/core/java/android/app/AppOpsManager.java
index 91df05f..1066fc7 100644
--- a/core/java/android/app/AppOpsManager.java
+++ b/core/java/android/app/AppOpsManager.java
@@ -2214,7 +2214,7 @@
         /**
          * @return The ops of the package.
          */
-        public List<OpEntry> getOps() {
+        public @NonNull List<OpEntry> getOps() {
             return mEntries;
         }
 
@@ -4371,7 +4371,8 @@
     @Deprecated
     @SystemApi
     @RequiresPermission(android.Manifest.permission.GET_APP_OPS_STATS)
-    public List<PackageOps> getOpsForPackage(int uid, String packageName, int[] ops) {
+    public @NonNull List<PackageOps> getOpsForPackage(int uid, @NonNull String packageName,
+            @Nullable int[] ops) {
         try {
             return mService.getOpsForPackage(uid, packageName, ops);
         } catch (RemoteException e) {
@@ -4639,8 +4640,8 @@
      * @param packageName The name of the application to monitor.
      * @param callback Where to report changes.
      */
-    public void startWatchingMode(String op, String packageName,
-            final OnOpChangedListener callback) {
+    public void startWatchingMode(@NonNull String op, @Nullable String packageName,
+            @NonNull final OnOpChangedListener callback) {
         startWatchingMode(strOpToOp(op), packageName, callback);
     }
 
@@ -4653,8 +4654,8 @@
      * @param flags Option flags: any combination of {@link #WATCH_FOREGROUND_CHANGES} or 0.
      * @param callback Where to report changes.
      */
-    public void startWatchingMode(String op, String packageName, int flags,
-            final OnOpChangedListener callback) {
+    public void startWatchingMode(@NonNull String op, @Nullable String packageName, int flags,
+            @NonNull final OnOpChangedListener callback) {
         startWatchingMode(strOpToOp(op), packageName, flags, callback);
     }
 
@@ -4716,7 +4717,7 @@
      * Stop monitoring that was previously started with {@link #startWatchingMode}.  All
      * monitoring associated with this callback will be removed.
      */
-    public void stopWatchingMode(OnOpChangedListener callback) {
+    public void stopWatchingMode(@NonNull OnOpChangedListener callback) {
         synchronized (mModeWatchers) {
             IAppOpsCallback cb = mModeWatchers.remove(callback);
             if (cb != null) {
@@ -4875,7 +4876,7 @@
      * {@hide}
      */
     @TestApi
-    public static int strOpToOp(String op) {
+    public static int strOpToOp(@NonNull String op) {
         Integer val = sOpStrToOp.get(op);
         if (val == null) {
             throw new IllegalArgumentException("Unknown operation string: " + op);
@@ -4910,7 +4911,7 @@
      * causing the app to crash).
      * @throws SecurityException If the app has been configured to crash on this op.
      */
-    public int unsafeCheckOp(String op, int uid, String packageName) {
+    public int unsafeCheckOp(@NonNull String op, int uid, @NonNull String packageName) {
         return checkOp(strOpToOp(op), uid, packageName);
     }
 
@@ -4918,7 +4919,7 @@
      * @deprecated Renamed to {@link #unsafeCheckOp(String, int, String)}.
      */
     @Deprecated
-    public int checkOp(String op, int uid, String packageName) {
+    public int checkOp(@NonNull String op, int uid, @NonNull String packageName) {
         return checkOp(strOpToOp(op), uid, packageName);
     }
 
@@ -4926,7 +4927,7 @@
      * Like {@link #checkOp} but instead of throwing a {@link SecurityException} it
      * returns {@link #MODE_ERRORED}.
      */
-    public int unsafeCheckOpNoThrow(String op, int uid, String packageName) {
+    public int unsafeCheckOpNoThrow(@NonNull String op, int uid, @NonNull String packageName) {
         return checkOpNoThrow(strOpToOp(op), uid, packageName);
     }
 
@@ -4934,7 +4935,7 @@
      * @deprecated Renamed to {@link #unsafeCheckOpNoThrow(String, int, String)}.
      */
     @Deprecated
-    public int checkOpNoThrow(String op, int uid, String packageName) {
+    public int checkOpNoThrow(@NonNull String op, int uid, @NonNull String packageName) {
         return checkOpNoThrow(strOpToOp(op), uid, packageName);
     }
 
@@ -4942,7 +4943,7 @@
      * Like {@link #checkOp} but returns the <em>raw</em> mode associated with the op.
      * Does not throw a security exception, does not translate {@link #MODE_FOREGROUND}.
      */
-    public int unsafeCheckOpRaw(@NonNull String op, int uid, String packageName) {
+    public int unsafeCheckOpRaw(@NonNull String op, int uid, @NonNull String packageName) {
         try {
             return mService.checkOperationRaw(strOpToOp(op), uid, packageName);
         } catch (RemoteException e) {
@@ -4977,7 +4978,7 @@
      * causing the app to crash).
      * @throws SecurityException If the app has been configured to crash on this op.
      */
-    public int noteOp(String op, int uid, String packageName) {
+    public int noteOp(@NonNull String op, int uid, @NonNull String packageName) {
         return noteOp(strOpToOp(op), uid, packageName);
     }
 
@@ -4985,7 +4986,7 @@
      * Like {@link #noteOp} but instead of throwing a {@link SecurityException} it
      * returns {@link #MODE_ERRORED}.
      */
-    public int noteOpNoThrow(String op, int uid, String packageName) {
+    public int noteOpNoThrow(@NonNull String op, int uid, @NonNull String packageName) {
         return noteOpNoThrow(strOpToOp(op), uid, packageName);
     }
 
@@ -5004,7 +5005,7 @@
      * causing the app to crash).
      * @throws SecurityException If the app has been configured to crash on this op.
      */
-    public int noteProxyOp(String op, String proxiedPackageName) {
+    public int noteProxyOp(@NonNull String op, @NonNull String proxiedPackageName) {
         return noteProxyOp(strOpToOp(op), proxiedPackageName);
     }
 
@@ -5015,7 +5016,7 @@
      * <p>This API requires the package with the {@code proxiedPackageName} to belongs to
      * {@link Binder#getCallingUid()}.
      */
-    public int noteProxyOpNoThrow(String op, String proxiedPackageName) {
+    public int noteProxyOpNoThrow(@NonNull String op, @NonNull String proxiedPackageName) {
         return noteProxyOpNoThrow(strOpToOp(op), proxiedPackageName);
     }
 
@@ -5051,7 +5052,7 @@
      * causing the app to crash).
      * @throws SecurityException If the app has been configured to crash on this op.
      */
-    public int startOp(String op, int uid, String packageName) {
+    public int startOp(@NonNull String op, int uid, @NonNull String packageName) {
         return startOp(strOpToOp(op), uid, packageName);
     }
 
@@ -5059,7 +5060,7 @@
      * Like {@link #startOp} but instead of throwing a {@link SecurityException} it
      * returns {@link #MODE_ERRORED}.
      */
-    public int startOpNoThrow(String op, int uid, String packageName) {
+    public int startOpNoThrow(@NonNull String op, int uid, @NonNull String packageName) {
         return startOpNoThrow(strOpToOp(op), uid, packageName);
     }
 
@@ -5069,7 +5070,7 @@
      * or result; the parameters supplied here must be the exact same ones previously passed
      * in when starting the operation.
      */
-    public void finishOp(String op, int uid, String packageName) {
+    public void finishOp(@NonNull String op, int uid, @NonNull String packageName) {
         finishOp(strOpToOp(op), uid, packageName);
     }
 
@@ -5135,7 +5136,7 @@
      * @throws SecurityException if the package name doesn't belong to the given
      *             UID, or if ownership cannot be verified.
      */
-    public void checkPackage(int uid, String packageName) {
+    public void checkPackage(int uid, @NonNull String packageName) {
         try {
             if (mService.checkPackage(uid, packageName) != MODE_ALLOWED) {
                 throw new SecurityException(
diff --git a/core/java/android/app/AppOpsManagerInternal.java b/core/java/android/app/AppOpsManagerInternal.java
index da45054..08cad04 100644
--- a/core/java/android/app/AppOpsManagerInternal.java
+++ b/core/java/android/app/AppOpsManagerInternal.java
@@ -16,6 +16,7 @@
 
 package android.app;
 
+import android.annotation.NonNull;
 import android.util.SparseIntArray;
 
 import com.android.internal.util.function.QuadFunction;
@@ -96,4 +97,18 @@
      * @param uid The uid
      */
     public abstract void setAllPkgModesToDefault(int code, int uid);
+
+    /**
+     * Get the (raw) mode of an app-op.
+     *
+     * <p>Does <u>not</u> verify that package belongs to uid. The caller needs to do that.
+     *
+     * @param code The code of the op
+     * @param uid The uid of the package the op belongs to
+     * @param packageName The package the op belongs to
+     *
+     * @return The mode of the op
+     */
+    public abstract @AppOpsManager.Mode int checkOperationUnchecked(int code, int uid,
+            @NonNull String packageName);
 }
diff --git a/core/java/android/app/ApplicationPackageManager.java b/core/java/android/app/ApplicationPackageManager.java
index d3e3507..a226062 100644
--- a/core/java/android/app/ApplicationPackageManager.java
+++ b/core/java/android/app/ApplicationPackageManager.java
@@ -1301,8 +1301,7 @@
     }
 
     @Override public Drawable getDefaultActivityIcon() {
-        return Resources.getSystem().getDrawable(
-            com.android.internal.R.drawable.sym_def_app_icon);
+        return mContext.getDrawable(com.android.internal.R.drawable.sym_def_app_icon);
     }
 
     @Override public Drawable getApplicationIcon(ApplicationInfo info) {
@@ -1440,7 +1439,7 @@
         if (density <= 0) {
             density = mContext.getResources().getDisplayMetrics().densityDpi;
         }
-        return Resources.getSystem().getDrawableForDensity(drawableId, density);
+        return mContext.getResources().getDrawableForDensity(drawableId, density);
     }
 
     private Drawable getManagedProfileIconForDensity(UserHandle user, int drawableId, int density) {
@@ -2469,7 +2468,7 @@
     }
 
     @Override
-    public void setAppDetailsActivityEnabled(String packageName, boolean enabled) {
+    public void setSyntheticAppDetailsActivityEnabled(String packageName, boolean enabled) {
         try {
             ComponentName componentName = new ComponentName(packageName,
                     PackageManager.APP_DETAILS_ACTIVITY_CLASS_NAME);
@@ -2483,7 +2482,7 @@
     }
 
     @Override
-    public boolean getAppDetailsActivityEnabled(String packageName) {
+    public boolean getSyntheticAppDetailsActivityEnabled(String packageName) {
         try {
             ComponentName componentName = new ComponentName(packageName,
                     PackageManager.APP_DETAILS_ACTIVITY_CLASS_NAME);
diff --git a/core/java/android/app/AutomaticZenRule.java b/core/java/android/app/AutomaticZenRule.java
index 4a826d1..ec2825e 100644
--- a/core/java/android/app/AutomaticZenRule.java
+++ b/core/java/android/app/AutomaticZenRule.java
@@ -16,18 +16,15 @@
 
 package android.app;
 
-import static android.app.NotificationManager.INTERRUPTION_FILTER_PRIORITY;
-
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.app.NotificationManager.InterruptionFilter;
 import android.content.ComponentName;
-import android.content.Intent;
 import android.net.Uri;
 import android.os.Parcel;
 import android.os.Parcelable;
-import android.service.notification.ZenPolicy;
 import android.service.notification.Condition;
-
-import com.android.internal.util.Preconditions;
+import android.service.notification.ZenPolicy;
 
 import java.util.Objects;
 
@@ -92,8 +89,9 @@
      *               action ({@link Condition#STATE_TRUE}).
      * @param enabled Whether the rule is enabled.
      */
-    public AutomaticZenRule(String name, ComponentName owner, ComponentName configurationActivity,
-            Uri conditionId, ZenPolicy policy, int interruptionFilter, boolean enabled) {
+    public AutomaticZenRule(@NonNull String name, @Nullable ComponentName owner,
+            @Nullable ComponentName configurationActivity, @NonNull Uri conditionId,
+            @Nullable ZenPolicy policy, int interruptionFilter, boolean enabled) {
         this.name = name;
         this.owner = owner;
         this.configurationActivity = configurationActivity;
@@ -138,7 +136,7 @@
      * Returns the {@link ComponentName} of the activity that shows configuration options
      * for this rule.
      */
-    public ComponentName getConfigurationActivity() {
+    public @Nullable ComponentName getConfigurationActivity() {
         return configurationActivity;
     }
 
@@ -239,9 +237,10 @@
     /**
      * Sets the configuration activity - an activity that handles
      * {@link NotificationManager#ACTION_AUTOMATIC_ZEN_RULE} that shows the user more information
-     * about this rule and/or allows them to configure it.
+     * about this rule and/or allows them to configure it. This is required to be non-null for rules
+     * that are not backed by {@link android.service.notification.ConditionProviderService}.
      */
-    public void setConfigurationActivity(ComponentName componentName) {
+    public void setConfigurationActivity(@Nullable ComponentName componentName) {
         this.configurationActivity = componentName;
     }
 
diff --git a/core/java/android/app/BroadcastOptions.java b/core/java/android/app/BroadcastOptions.java
index 062a462..161e2ad 100644
--- a/core/java/android/app/BroadcastOptions.java
+++ b/core/java/android/app/BroadcastOptions.java
@@ -61,7 +61,7 @@
             "android:broadcast.dontSendToRestrictedApps";
 
     /**
-     * Corresponds to {@link #setAllowBackgroundActivityStarts}.
+     * Corresponds to {@link #setBackgroundActivityStartsAllowed}.
      */
     static final String KEY_ALLOW_BACKGROUND_ACTIVITY_STARTS =
             "android:broadcast.allowBackgroundActivityStarts";
@@ -161,7 +161,7 @@
      * the broadcast dispatch. Default value is {@code false}
      */
     @RequiresPermission(android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND)
-    public void setAllowBackgroundActivityStarts(boolean allowBackgroundActivityStarts) {
+    public void setBackgroundActivityStartsAllowed(boolean allowBackgroundActivityStarts) {
         mAllowBackgroundActivityStarts = allowBackgroundActivityStarts;
     }
 
diff --git a/core/java/android/app/ContextImpl.java b/core/java/android/app/ContextImpl.java
index b607f9a..5945eef 100644
--- a/core/java/android/app/ContextImpl.java
+++ b/core/java/android/app/ContextImpl.java
@@ -102,6 +102,7 @@
 import java.util.concurrent.Executor;
 
 class ReceiverRestrictedContext extends ContextWrapper {
+    @UnsupportedAppUsage
     ReceiverRestrictedContext(Context base) {
         super(base);
     }
@@ -144,10 +145,17 @@
     }
 
     @Override
-    public boolean bindIsolatedService(Intent service, ServiceConnection conn, int flags,
-            String instanceName) {
+    public boolean bindService(
+          Intent service, int flags, Executor executor, ServiceConnection conn) {
         throw new ReceiverCallNotAllowedException(
-                "BroadcastReceiver components are not allowed to bind to services");
+            "BroadcastReceiver components are not allowed to bind to services");
+    }
+
+    @Override
+    public boolean bindIsolatedService(Intent service, int flags, String instanceName,
+            Executor executor, ServiceConnection conn) {
+        throw new ReceiverCallNotAllowedException(
+            "BroadcastReceiver components are not allowed to bind to services");
     }
 }
 
@@ -1638,28 +1646,34 @@
     }
 
     @Override
-    public boolean bindService(Intent service, ServiceConnection conn,
-            int flags) {
+    public boolean bindService(Intent service, ServiceConnection conn, int flags) {
         warnIfCallingFromSystemProcess();
-        return bindServiceCommon(service, conn, flags, null, mMainThread.getHandler(), getUser());
+        return bindServiceCommon(service, conn, flags, null, mMainThread.getHandler(), null,
+                getUser());
     }
 
     @Override
-    public boolean bindIsolatedService(Intent service, ServiceConnection conn,
-            int flags, String instanceName) {
+    public boolean bindService(
+            Intent service, int flags, Executor executor, ServiceConnection conn) {
+        warnIfCallingFromSystemProcess();
+        return bindServiceCommon(service, conn, flags, null, null, executor, getUser());
+    }
+
+    @Override
+    public boolean bindIsolatedService(Intent service, int flags, String instanceName,
+            Executor executor, ServiceConnection conn) {
         warnIfCallingFromSystemProcess();
         if (instanceName == null) {
             throw new NullPointerException("null instanceName");
         }
-        return bindServiceCommon(service, conn, flags, instanceName, mMainThread.getHandler(),
-                getUser());
+        return bindServiceCommon(service, conn, flags, instanceName, null, executor, getUser());
     }
 
     /** @hide */
     @Override
     public boolean bindServiceAsUser(Intent service, ServiceConnection conn, int flags,
             UserHandle user) {
-        return bindServiceCommon(service, conn, flags, null, mMainThread.getHandler(), user);
+        return bindServiceCommon(service, conn, flags, null, mMainThread.getHandler(), null, user);
     }
 
     /** @hide */
@@ -1669,7 +1683,7 @@
         if (handler == null) {
             throw new IllegalArgumentException("handler must not be null.");
         }
-        return bindServiceCommon(service, conn, flags, null, handler, user);
+        return bindServiceCommon(service, conn, flags, null, handler, null, user);
     }
 
     /** @hide */
@@ -1692,15 +1706,21 @@
     }
 
     private boolean bindServiceCommon(Intent service, ServiceConnection conn, int flags,
-            String instanceName, Handler
-            handler, UserHandle user) {
+            String instanceName, Handler handler, Executor executor, UserHandle user) {
         // Keep this in sync with DevicePolicyManager.bindDeviceAdminServiceAsUser.
         IServiceConnection sd;
         if (conn == null) {
             throw new IllegalArgumentException("connection is null");
         }
+        if (handler != null && executor != null) {
+            throw new IllegalArgumentException("Handler and Executor both supplied");
+        }
         if (mPackageInfo != null) {
-            sd = mPackageInfo.getServiceDispatcher(conn, getOuterContext(), handler, flags);
+            if (executor != null) {
+                sd = mPackageInfo.getServiceDispatcher(conn, getOuterContext(), executor, flags);
+            } else {
+                sd = mPackageInfo.getServiceDispatcher(conn, getOuterContext(), handler, flags);
+            }
         } else {
             throw new RuntimeException("Not supported in system context");
         }
diff --git a/core/java/android/app/DownloadManager.java b/core/java/android/app/DownloadManager.java
index e20c490..7ae88fd 100644
--- a/core/java/android/app/DownloadManager.java
+++ b/core/java/android/app/DownloadManager.java
@@ -1158,6 +1158,7 @@
      * @param ids the IDs of the downloads
      * @hide
      */
+    @UnsupportedAppUsage
     public void restartDownload(long... ids) {
         Cursor cursor = query(new Query().setFilterById(ids));
         try {
diff --git a/core/java/android/app/IActivityManager.aidl b/core/java/android/app/IActivityManager.aidl
index 5cbb599..16fe7db 100644
--- a/core/java/android/app/IActivityManager.aidl
+++ b/core/java/android/app/IActivityManager.aidl
@@ -102,15 +102,21 @@
     // Special low-level communication with activity manager.
     void handleApplicationCrash(in IBinder app,
             in ApplicationErrorReport.ParcelableCrashInfo crashInfo);
+    @UnsupportedAppUsage
     int startActivity(in IApplicationThread caller, in String callingPackage, in Intent intent,
             in String resolvedType, in IBinder resultTo, in String resultWho, int requestCode,
             int flags, in ProfilerInfo profilerInfo, in Bundle options);
+    @UnsupportedAppUsage
     void unhandledBack();
+    @UnsupportedAppUsage
     boolean finishActivity(in IBinder token, int code, in Intent data, int finishTask);
+    @UnsupportedAppUsage
     Intent registerReceiver(in IApplicationThread caller, in String callerPackage,
             in IIntentReceiver receiver, in IntentFilter filter,
             in String requiredPermission, int userId, int flags);
+    @UnsupportedAppUsage
     void unregisterReceiver(in IIntentReceiver receiver);
+    @UnsupportedAppUsage
     int broadcastIntent(in IApplicationThread caller, in Intent intent,
             in String resolvedType, in IIntentReceiver resultTo, int resultCode,
             in String resultData, in Bundle map, in String[] requiredPermissions,
@@ -120,21 +126,27 @@
             boolean abortBroadcast, int flags);
     void attachApplication(in IApplicationThread app, long startSeq);
     List<ActivityManager.RunningTaskInfo> getTasks(int maxNum);
+    @UnsupportedAppUsage
     List<ActivityManager.RunningTaskInfo> getFilteredTasks(int maxNum, int ignoreActivityType,
             int ignoreWindowingMode);
+    @UnsupportedAppUsage
     void moveTaskToFront(int task, int flags, in Bundle options);
+    @UnsupportedAppUsage
     int getTaskForActivity(in IBinder token, in boolean onlyRoot);
     ContentProviderHolder getContentProvider(in IApplicationThread caller, in String callingPackage,
             in String name, int userId, boolean stable);
+    @UnsupportedAppUsage
     void publishContentProviders(in IApplicationThread caller,
             in List<ContentProviderHolder> providers);
     boolean refContentProvider(in IBinder connection, int stableDelta, int unstableDelta);
     PendingIntent getRunningServiceControlPanel(in ComponentName service);
     ComponentName startService(in IApplicationThread caller, in Intent service,
             in String resolvedType, boolean requireForeground, in String callingPackage, int userId);
+    @UnsupportedAppUsage
     int stopService(in IApplicationThread caller, in Intent service,
             in String resolvedType, int userId);
     // Currently keeping old bindService because it is on the greylist
+    @UnsupportedAppUsage
     int bindService(in IApplicationThread caller, in IBinder token, in Intent service,
             in String resolvedType, in IServiceConnection connection, int flags,
             in String callingPackage, int userId);
@@ -142,11 +154,15 @@
             in String resolvedType, in IServiceConnection connection, int flags,
             in String instanceName, in String callingPackage, int userId);
     void updateServiceGroup(in IServiceConnection connection, int group, int importance);
+    @UnsupportedAppUsage
     boolean unbindService(in IServiceConnection connection);
     void publishService(in IBinder token, in Intent intent, in IBinder service);
+    @UnsupportedAppUsage
     void setDebugApp(in String packageName, boolean waitForDebugger, boolean persistent);
     void setAgentApp(in String packageName, @nullable String agent);
+    @UnsupportedAppUsage
     void setAlwaysFinish(boolean enabled);
+    @UnsupportedAppUsage
     boolean startInstrumentation(in ComponentName className, in String profileFile,
             int flags, in Bundle arguments, in IInstrumentationWatcher watcher,
             in IUiAutomationConnection connection, int userId,
@@ -159,6 +175,7 @@
      *         system. Corresponds to the configuration of the default display.
      * @throws RemoteException
      */
+    @UnsupportedAppUsage
     Configuration getConfiguration();
     /**
      * Updates global configuration and applies changes to the entire system.
@@ -167,10 +184,14 @@
      * @throws RemoteException
      * @return Returns true if the configuration was updated.
      */
+    @UnsupportedAppUsage
     boolean updateConfiguration(in Configuration values);
     boolean stopServiceToken(in ComponentName className, in IBinder token, int startId);
+    @UnsupportedAppUsage
     void setProcessLimit(int max);
+    @UnsupportedAppUsage
     int getProcessLimit();
+    @UnsupportedAppUsage
     int checkPermission(in String permission, int pid, int uid);
     int checkUriPermission(in Uri uri, int pid, int uid, int mode, int userId,
             in IBinder callerToken);
@@ -178,6 +199,7 @@
             int mode, int userId);
     void revokeUriPermission(in IApplicationThread caller, in String targetPkg, in Uri uri,
             int mode, int userId);
+    @UnsupportedAppUsage
     void setActivityController(in IActivityController watcher, boolean imAMonkey);
     void showWaitingForDebugger(in IApplicationThread who, boolean waiting);
     /*
@@ -186,8 +208,10 @@
      */
     void signalPersistentProcesses(int signal);
 
+    @UnsupportedAppUsage
     ParceledListSlice getRecentTasks(int maxNum, int flags, int userId);
     oneway void serviceDoneExecuting(in IBinder token, int type, int startId, int res);
+    @UnsupportedAppUsage
     IIntentSender getIntentSender(int type, in String packageName, in IBinder token,
             in String resultWho, int requestCode, in Intent[] intents, in String[] resolvedTypes,
             int flags, in Bundle options, int userId);
@@ -199,28 +223,39 @@
     void noteWakeupAlarm(in IIntentSender sender, in WorkSource workSource, int sourceUid,
             in String sourcePkg, in String tag);
     void removeContentProvider(in IBinder connection, boolean stable);
+    @UnsupportedAppUsage
     void setRequestedOrientation(in IBinder token, int requestedOrientation);
     void unbindFinished(in IBinder token, in Intent service, boolean doRebind);
+    @UnsupportedAppUsage
     void setProcessImportant(in IBinder token, int pid, boolean isForeground, String reason);
     void setServiceForeground(in ComponentName className, in IBinder token,
             int id, in Notification notification, int flags, int foregroundServiceType);
     int getForegroundServiceType(in ComponentName className, in IBinder token);
+    @UnsupportedAppUsage
     boolean moveActivityTaskToBack(in IBinder token, boolean nonRoot);
+    @UnsupportedAppUsage
     void getMemoryInfo(out ActivityManager.MemoryInfo outInfo);
     List<ActivityManager.ProcessErrorStateInfo> getProcessesInErrorState();
     boolean clearApplicationUserData(in String packageName, boolean keepState,
             in IPackageDataObserver observer, int userId);
+    @UnsupportedAppUsage
     void forceStopPackage(in String packageName, int userId);
     boolean killPids(in int[] pids, in String reason, boolean secure);
+    @UnsupportedAppUsage
     List<ActivityManager.RunningServiceInfo> getServices(int maxNum, int flags);
     // Retrieve running application processes in the system
+    @UnsupportedAppUsage
     List<ActivityManager.RunningAppProcessInfo> getRunningAppProcesses();
     IBinder peekService(in Intent service, in String resolvedType, in String callingPackage);
     // Turn on/off profiling in a particular process.
+    @UnsupportedAppUsage
     boolean profileControl(in String process, int userId, boolean start,
             in ProfilerInfo profilerInfo, int profileType);
+    @UnsupportedAppUsage
     boolean shutdown(int timeout);
+    @UnsupportedAppUsage
     void stopAppSwitches();
+    @UnsupportedAppUsage
     void resumeAppSwitches();
     boolean bindBackupAgent(in String packageName, int backupRestoreMode, int targetUserId);
     void backupAgentCreated(in String packageName, in IBinder agent, int userId);
@@ -230,60 +265,83 @@
             boolean requireFull, in String name, in String callerPackage);
     void addPackageDependency(in String packageName);
     void killApplication(in String pkg, int appId, int userId, in String reason);
+    @UnsupportedAppUsage
     void closeSystemDialogs(in String reason);
+    @UnsupportedAppUsage
     Debug.MemoryInfo[] getProcessMemoryInfo(in int[] pids);
     void killApplicationProcess(in String processName, int uid);
     // Special low-level communication with activity manager.
     boolean handleApplicationWtf(in IBinder app, in String tag, boolean system,
             in ApplicationErrorReport.ParcelableCrashInfo crashInfo);
+    @UnsupportedAppUsage
     void killBackgroundProcesses(in String packageName, int userId);
     boolean isUserAMonkey();
     // Retrieve info of applications installed on external media that are currently
     // running.
     List<ApplicationInfo> getRunningExternalApplications();
+    @UnsupportedAppUsage
     void finishHeavyWeightApp();
     // A StrictMode violation to be handled.
+    @UnsupportedAppUsage
     void handleApplicationStrictModeViolation(in IBinder app, int penaltyMask,
             in StrictMode.ViolationInfo crashInfo);
     boolean isTopActivityImmersive();
     void crashApplication(int uid, int initialPid, in String packageName, int userId, in String message);
+    @UnsupportedAppUsage
     String getProviderMimeType(in Uri uri, int userId);
     // Cause the specified process to dump the specified heap.
     boolean dumpHeap(in String process, int userId, boolean managed, boolean mallocInfo,
             boolean runGc, in String path, in ParcelFileDescriptor fd,
             in RemoteCallback finishCallback);
+    @UnsupportedAppUsage
     boolean isUserRunning(int userid, int flags);
+    @UnsupportedAppUsage
     void setPackageScreenCompatMode(in String packageName, int mode);
+    @UnsupportedAppUsage
     boolean switchUser(int userid);
+    @UnsupportedAppUsage
     boolean removeTask(int taskId);
+    @UnsupportedAppUsage
     void registerProcessObserver(in IProcessObserver observer);
+    @UnsupportedAppUsage
     void unregisterProcessObserver(in IProcessObserver observer);
     boolean isIntentSenderTargetedToPackage(in IIntentSender sender);
+    @UnsupportedAppUsage
     void updatePersistentConfiguration(in Configuration values);
+    @UnsupportedAppUsage
     long[] getProcessPss(in int[] pids);
     void showBootMessage(in CharSequence msg, boolean always);
+    @UnsupportedAppUsage
     void killAllBackgroundProcesses();
     ContentProviderHolder getContentProviderExternal(in String name, int userId,
             in IBinder token, String tag);
     /** @deprecated - Use {@link #removeContentProviderExternalAsUser} which takes a user ID. */
+    @UnsupportedAppUsage
     void removeContentProviderExternal(in String name, in IBinder token);
     void removeContentProviderExternalAsUser(in String name, in IBinder token, int userId);
     // Get memory information about the calling process.
     void getMyMemoryState(out ActivityManager.RunningAppProcessInfo outInfo);
     boolean killProcessesBelowForeground(in String reason);
+    @UnsupportedAppUsage
     UserInfo getCurrentUser();
     // This is not public because you need to be very careful in how you
     // manage your activity to make sure it is always the uid you expect.
+    @UnsupportedAppUsage
     int getLaunchedFromUid(in IBinder activityToken);
+    @UnsupportedAppUsage
     void unstableProviderDied(in IBinder connection);
+    @UnsupportedAppUsage
     boolean isIntentSenderAnActivity(in IIntentSender sender);
     boolean isIntentSenderAForegroundService(in IIntentSender sender);
     boolean isIntentSenderABroadcast(in IIntentSender sender);
+    @UnsupportedAppUsage
     int startActivityAsUser(in IApplicationThread caller, in String callingPackage,
             in Intent intent, in String resolvedType, in IBinder resultTo, in String resultWho,
             int requestCode, int flags, in ProfilerInfo profilerInfo,
             in Bundle options, int userId);
+    @UnsupportedAppUsage
     int stopUser(int userid, boolean force, in IStopUserCallback callback);
+    @UnsupportedAppUsage
     void registerUserSwitchObserver(in IUserSwitchObserver observer, in String name);
     void unregisterUserSwitchObserver(in IUserSwitchObserver observer);
     int[] getRunningUserIds();
@@ -291,6 +349,7 @@
     // Deprecated - This method is only used by a few internal components and it will soon be
     // replaced by a proper bug report API (which will be restricted to a few, pre-defined apps).
     // No new code should be calling it.
+    @UnsupportedAppUsage
     void requestBugReport(int bugreportType);
 
     /**
@@ -319,15 +378,20 @@
      */
     void requestWifiBugReport(in String shareTitle, in String shareDescription);
 
+    @UnsupportedAppUsage
     Intent getIntentForIntentSender(in IIntentSender sender);
     // This is not public because you need to be very careful in how you
     // manage your activity to make sure it is always the uid you expect.
+    @UnsupportedAppUsage
     String getLaunchedFromPackage(in IBinder activityToken);
     void killUid(int appId, int userId, in String reason);
     void setUserIsMonkey(boolean monkey);
+    @UnsupportedAppUsage
     void hang(in IBinder who, boolean allowRestart);
 
+    @UnsupportedAppUsage
     List<ActivityManager.StackInfo> getAllStackInfos();
+    @UnsupportedAppUsage
     void moveTaskToStack(int taskId, int stackId, boolean toTop);
     /**
      * Resizes the input stack id to the given bounds.
@@ -343,60 +407,83 @@
      *                          default animation duration should be used.
      * @throws RemoteException
      */
+    @UnsupportedAppUsage
     void resizeStack(int stackId, in Rect bounds, boolean allowResizeInDockedMode,
             boolean preserveWindows, boolean animate, int animationDuration);
     void setFocusedStack(int stackId);
     ActivityManager.StackInfo getFocusedStackInfo();
+    @UnsupportedAppUsage
     void restart();
     void performIdleMaintenance();
     void appNotRespondingViaProvider(in IBinder connection);
+    @UnsupportedAppUsage
     Rect getTaskBounds(int taskId);
+    @UnsupportedAppUsage
     boolean setProcessMemoryTrimLevel(in String process, int uid, int level);
 
 
     // Start of L transactions
     String getTagForIntentSender(in IIntentSender sender, in String prefix);
+    @UnsupportedAppUsage
     boolean startUserInBackground(int userid);
+    @UnsupportedAppUsage
     boolean isInLockTaskMode();
+    @UnsupportedAppUsage
     void startRecentsActivity(in Intent intent, in IAssistDataReceiver assistDataReceiver,
             in IRecentsAnimationRunner recentsAnimationRunner);
+    @UnsupportedAppUsage
     void cancelRecentsAnimation(boolean restoreHomeStackPosition);
+    @UnsupportedAppUsage
     int startActivityFromRecents(int taskId, in Bundle options);
+    @UnsupportedAppUsage
     void startSystemLockTaskMode(int taskId);
+    @UnsupportedAppUsage
     boolean isTopOfTask(in IBinder token);
     void bootAnimationComplete();
     int checkPermissionWithToken(in String permission, int pid, int uid,
             in IBinder callerToken);
+    @UnsupportedAppUsage
     void registerTaskStackListener(in ITaskStackListener listener);
     void unregisterTaskStackListener(in ITaskStackListener listener);
     void notifyCleartextNetwork(int uid, in byte[] firstPacket);
+    @UnsupportedAppUsage
     void setTaskResizeable(int taskId, int resizeableMode);
+    @UnsupportedAppUsage
     void resizeTask(int taskId, in Rect bounds, int resizeMode);
+    @UnsupportedAppUsage
     int getLockTaskModeState();
+    @UnsupportedAppUsage
     void setDumpHeapDebugLimit(in String processName, int uid, long maxMemSize,
             in String reportPackage);
     void dumpHeapFinished(in String path);
     void updateLockTaskPackages(int userId, in String[] packages);
     void noteAlarmStart(in IIntentSender sender, in WorkSource workSource, int sourceUid, in String tag);
     void noteAlarmFinish(in IIntentSender sender, in WorkSource workSource, int sourceUid, in String tag);
+    @UnsupportedAppUsage
     int getPackageProcessState(in String packageName, in String callingPackage);
     void updateDeviceOwner(in String packageName);
 
     // Start of N transactions
     // Start Binder transaction tracking for all applications.
+    @UnsupportedAppUsage
     boolean startBinderTracking();
     // Stop Binder transaction tracking for all applications and dump trace data to the given file
     // descriptor.
+    @UnsupportedAppUsage
     boolean stopBinderTrackingAndDump(in ParcelFileDescriptor fd);
     /**
      * Try to place task to provided position. The final position might be different depending on
      * current user and stacks state. The task will be moved to target stack if it's currently in
      * different stack.
      */
+    @UnsupportedAppUsage
     void positionTaskInStack(int taskId, int stackId, int position);
+    @UnsupportedAppUsage
     void suppressResizeConfigChanges(boolean suppress);
+    @UnsupportedAppUsage
     boolean moveTopActivityToPinnedStack(int stackId, in Rect bounds);
     boolean isAppStartModeDisabled(int uid, in String packageName);
+    @UnsupportedAppUsage
     boolean unlockUser(int userid, in byte[] token, in byte[] secret,
             in IProgressListener listener);
     void killPackageDependents(in String packageName, int userId);
@@ -419,15 +506,18 @@
      *                                 stacks.
      * @throws RemoteException
      */
+    @UnsupportedAppUsage
     void resizeDockedStack(in Rect dockedBounds, in Rect tempDockedTaskBounds,
             in Rect tempDockedTaskInsetBounds,
             in Rect tempOtherTaskBounds, in Rect tempOtherTaskInsetBounds);
+    @UnsupportedAppUsage
     void removeStack(int stackId);
     void makePackageIdle(String packageName, int userId);
     int getMemoryTrimLevel();
     boolean isVrModePackageEnabled(in ComponentName packageName);
     void notifyLockedProfile(int userId);
     void startConfirmDeviceCredentialIntent(in Intent intent, in Bundle options);
+    @UnsupportedAppUsage
     void sendIdleJobTrigger();
     int sendIntentSender(in IIntentSender target, in IBinder whitelistToken, int code,
             in Intent intent, in String resolvedType, in IIntentReceiver finishedReceiver,
@@ -449,6 +539,7 @@
     // Start of O transactions
     int restartUserInBackground(int userId);
     /** Cancels the window transitions for the given task. */
+    @UnsupportedAppUsage
     void cancelTaskWindowTransition(int taskId);
     /**
      * @param taskId the id of the task to retrieve the sAutoapshots for
@@ -456,6 +547,7 @@
      *                          a reduced resolution of it, which is much faster
      * @return a graphic buffer representing a screenshot of a task
      */
+    @UnsupportedAppUsage
     ActivityManager.TaskSnapshot getTaskSnapshot(int taskId, boolean reducedResolution);
     void scheduleApplicationInfoChanged(in List<String> packageNames, int userId);
     void setPersistentVrThread(int tid);
diff --git a/core/java/android/app/IActivityTaskManager.aidl b/core/java/android/app/IActivityTaskManager.aidl
index b16188f..a6b76cb 100644
--- a/core/java/android/app/IActivityTaskManager.aidl
+++ b/core/java/android/app/IActivityTaskManager.aidl
@@ -473,4 +473,14 @@
      * contain one task.
      */
     void setDisplayToSingleTaskInstance(int displayId);
+
+    /**
+     * Restarts the activity by killing its process if it is visible. If the activity is not
+     * visible, the activity will not be restarted immediately and just keep the activity record in
+     * the stack. It also resets the current override configuration so the activity will use the
+     * configuration according to the latest state.
+     *
+     * @param activityToken The token of the target activity to restart.
+     */
+    void restartActivityProcessIfVisible(in IBinder activityToken);
 }
diff --git a/core/java/android/app/IAlarmManager.aidl b/core/java/android/app/IAlarmManager.aidl
index ded4c49..6f624ee 100644
--- a/core/java/android/app/IAlarmManager.aidl
+++ b/core/java/android/app/IAlarmManager.aidl
@@ -29,13 +29,16 @@
  */
 interface IAlarmManager {
 	/** windowLength == 0 means exact; windowLength < 0 means the let the OS decide */
+    @UnsupportedAppUsage
     void set(String callingPackage, int type, long triggerAtTime, long windowLength,
             long interval, int flags, in PendingIntent operation, in IAlarmListener listener,
             String listenerTag, in WorkSource workSource, in AlarmManager.AlarmClockInfo alarmClock);
+    @UnsupportedAppUsage
     boolean setTime(long millis);
     void setTimeZone(String zone);
     void remove(in PendingIntent operation, in IAlarmListener listener);
     long getNextWakeFromIdleTime();
+    @UnsupportedAppUsage
     AlarmManager.AlarmClockInfo getNextAlarmClock(int userId);
     long currentNetworkTimeMillis();
 }
diff --git a/core/java/android/app/IAppTask.aidl b/core/java/android/app/IAppTask.aidl
index 37fead9..61f6264 100644
--- a/core/java/android/app/IAppTask.aidl
+++ b/core/java/android/app/IAppTask.aidl
@@ -23,6 +23,7 @@
 /** @hide */
 interface IAppTask {
     void finishAndRemoveTask();
+    @UnsupportedAppUsage
     ActivityManager.RecentTaskInfo getTaskInfo();
     void moveToFront();
     int startActivity(IBinder whoThread, String callingPackage,
diff --git a/core/java/android/app/IApplicationThread.aidl b/core/java/android/app/IApplicationThread.aidl
index b8af898..3a09c4c 100644
--- a/core/java/android/app/IApplicationThread.aidl
+++ b/core/java/android/app/IApplicationThread.aidl
@@ -60,8 +60,10 @@
             in CompatibilityInfo compatInfo,
             int resultCode, in String data, in Bundle extras, boolean sync,
             int sendingUser, int processState);
+    @UnsupportedAppUsage
     void scheduleCreateService(IBinder token, in ServiceInfo info,
             in CompatibilityInfo compatInfo, int processState);
+    @UnsupportedAppUsage
     void scheduleStopService(IBinder token);
     void bindApplication(in String packageName, in ApplicationInfo info,
             in List<ProviderInfo> providers, in ComponentName testName,
@@ -77,8 +79,10 @@
     void scheduleServiceArgs(IBinder token, in ParceledListSlice args);
     void updateTimeZone();
     void processInBackground();
+    @UnsupportedAppUsage
     void scheduleBindService(IBinder token,
             in Intent intent, boolean rebind, int processState);
+    @UnsupportedAppUsage
     void scheduleUnbindService(IBinder token,
             in Intent intent);
     void dumpService(in ParcelFileDescriptor fd, IBinder servicetoken,
@@ -106,6 +110,7 @@
     void updateHttpProxy();
     void setCoreSettings(in Bundle coreSettings);
     void updatePackageCompatibilityInfo(in String pkg, in CompatibilityInfo info);
+    @UnsupportedAppUsage
     void scheduleTrimMemory(int level);
     void dumpMemInfo(in ParcelFileDescriptor fd, in Debug.MemoryInfo mem, boolean checkin,
             boolean dumpInfo, boolean dumpDalvik, boolean dumpSummaryOnly, boolean dumpUnreachable,
diff --git a/core/java/android/app/IAssistDataReceiver.aidl b/core/java/android/app/IAssistDataReceiver.aidl
index 2d5daf9..0d69838 100644
--- a/core/java/android/app/IAssistDataReceiver.aidl
+++ b/core/java/android/app/IAssistDataReceiver.aidl
@@ -21,6 +21,8 @@
 
 /** @hide */
 oneway interface IAssistDataReceiver {
+    @UnsupportedAppUsage
     void onHandleAssistData(in Bundle resultData);
+    @UnsupportedAppUsage
     void onHandleAssistScreenshot(in Bitmap screenshot);
 }
diff --git a/core/java/android/app/IInstrumentationWatcher.aidl b/core/java/android/app/IInstrumentationWatcher.aidl
index 6c8c4d6..df42dec 100644
--- a/core/java/android/app/IInstrumentationWatcher.aidl
+++ b/core/java/android/app/IInstrumentationWatcher.aidl
@@ -23,6 +23,7 @@
 /** @hide */
 interface IInstrumentationWatcher
 {
+    @UnsupportedAppUsage
     void instrumentationStatus(in ComponentName name, int resultCode,
             in Bundle results);
     void instrumentationFinished(in ComponentName name, int resultCode,
diff --git a/core/java/android/app/INotificationManager.aidl b/core/java/android/app/INotificationManager.aidl
index df04a6b..15084de 100644
--- a/core/java/android/app/INotificationManager.aidl
+++ b/core/java/android/app/INotificationManager.aidl
@@ -40,15 +40,19 @@
 /** {@hide} */
 interface INotificationManager
 {
+    @UnsupportedAppUsage
     void cancelAllNotifications(String pkg, int userId);
 
     void clearData(String pkg, int uid, boolean fromApp);
+    @UnsupportedAppUsage
     void enqueueToast(String pkg, ITransientNotification callback, int duration, int displayId);
+    @UnsupportedAppUsage
     void cancelToast(String pkg, ITransientNotification callback);
     void finishToken(String pkg, ITransientNotification callback);
 
     void enqueueNotificationWithTag(String pkg, String opPkg, String tag, int id,
             in Notification notification, int userId);
+    @UnsupportedAppUsage
     void cancelNotificationWithTag(String pkg, String tag, int id, int userId);
 
     void setShowBadge(String pkg, int uid, boolean showBadge);
@@ -61,6 +65,7 @@
      */
     void setNotificationsEnabledWithImportanceLockForPackage(String pkg, int uid, boolean enabled);
 
+    @UnsupportedAppUsage
     boolean areNotificationsEnabledForPackage(String pkg, int uid);
     boolean areNotificationsEnabled(String pkg);
     int getPackageImportance(String pkg);
@@ -102,7 +107,9 @@
 
     // TODO: Remove this when callers have been migrated to the equivalent
     // INotificationListener method.
+    @UnsupportedAppUsage
     StatusBarNotification[] getActiveNotifications(String callingPkg);
+    @UnsupportedAppUsage
     StatusBarNotification[] getHistoricalNotifications(String callingPkg, int count);
 
     void registerListener(in INotificationListener listener, in ComponentName component, int userid);
@@ -157,7 +164,9 @@
     ComponentName getAllowedNotificationAssistantForUser(int userId);
     ComponentName getAllowedNotificationAssistant();
 
+    @UnsupportedAppUsage
     int getZenMode();
+    @UnsupportedAppUsage
     ZenModeConfig getZenModeConfig();
     NotificationManager.Policy getConsolidatedNotificationPolicy();
     oneway void setZenMode(int mode, in Uri conditionId, String reason);
@@ -183,9 +192,8 @@
     ParceledListSlice getAppActiveNotifications(String callingPkg, int userId);
 
     void setNotificationDelegate(String callingPkg, String delegate);
-    void revokeNotificationDelegate(String callingPkg);
     String getNotificationDelegate(String callingPkg);
-    boolean canNotifyAsPackage(String callingPkg, String targetPkg);
+    boolean canNotifyAsPackage(String callingPkg, String targetPkg, int userId);
 
     void setPrivateNotificationsAllowed(boolean allow);
     boolean getPrivateNotificationsAllowed();
diff --git a/core/java/android/app/ISearchManager.aidl b/core/java/android/app/ISearchManager.aidl
index 0d09e4a..53f1a46 100644
--- a/core/java/android/app/ISearchManager.aidl
+++ b/core/java/android/app/ISearchManager.aidl
@@ -28,6 +28,7 @@
    SearchableInfo getSearchableInfo(in ComponentName launchActivity);
    List<SearchableInfo> getSearchablesInGlobalSearch();
    List<ResolveInfo> getGlobalSearchActivities();
+   @UnsupportedAppUsage
    ComponentName getGlobalSearchActivity();
    ComponentName getWebSearchActivity();
    void launchAssist(in Bundle args);
diff --git a/core/java/android/app/IServiceConnection.aidl b/core/java/android/app/IServiceConnection.aidl
index 97042aa..0115bcf 100644
--- a/core/java/android/app/IServiceConnection.aidl
+++ b/core/java/android/app/IServiceConnection.aidl
@@ -21,6 +21,7 @@
 
 /** @hide */
 oneway interface IServiceConnection {
+    @UnsupportedAppUsage
     void connected(in ComponentName name, IBinder service, boolean dead);
 }
 
diff --git a/core/java/android/app/IStopUserCallback.aidl b/core/java/android/app/IStopUserCallback.aidl
index 19ac1d5..d3c2ff7 100644
--- a/core/java/android/app/IStopUserCallback.aidl
+++ b/core/java/android/app/IStopUserCallback.aidl
@@ -22,6 +22,7 @@
  */
 interface IStopUserCallback
 {
+    @UnsupportedAppUsage
     void userStopped(int userId);
     void userStopAborted(int userId);
 }
diff --git a/core/java/android/app/ITaskStackListener.aidl b/core/java/android/app/ITaskStackListener.aidl
index 8c85ad1..841ff6a 100644
--- a/core/java/android/app/ITaskStackListener.aidl
+++ b/core/java/android/app/ITaskStackListener.aidl
@@ -149,4 +149,16 @@
      * Called when a task snapshot got updated.
      */
     void onTaskSnapshotChanged(int taskId, in ActivityManager.TaskSnapshot snapshot);
+
+    /**
+     * Called when the resumed activity is in size compatibility mode and its override configuration
+     * is different from the current one of system.
+     *
+     * @param displayId Id of the display where the activity resides.
+     * @param activityToken Token of the size compatibility mode activity. It will be null when
+     *                      switching to a activity that is not in size compatibility mode or the
+     *                      configuration of the activity.
+     * @see com.android.server.wm.AppWindowToken#inSizeCompatMode
+     */
+    void onSizeCompatModeActivityChanged(int displayId, in IBinder activityToken);
 }
diff --git a/core/java/android/app/ITransientNotification.aidl b/core/java/android/app/ITransientNotification.aidl
index d5b3ed0..09a3ba0 100644
--- a/core/java/android/app/ITransientNotification.aidl
+++ b/core/java/android/app/ITransientNotification.aidl
@@ -19,6 +19,7 @@
 
 /** @hide */
 oneway interface ITransientNotification {
+    @UnsupportedAppUsage
     void show(IBinder windowToken);
     void hide();
 }
diff --git a/core/java/android/app/IWallpaperManager.aidl b/core/java/android/app/IWallpaperManager.aidl
index 666f721..7f5350d 100644
--- a/core/java/android/app/IWallpaperManager.aidl
+++ b/core/java/android/app/IWallpaperManager.aidl
@@ -55,11 +55,13 @@
     /**
      * Set the live wallpaper. This only affects the system wallpaper.
      */
+    @UnsupportedAppUsage
     void setWallpaperComponent(in ComponentName name);
 
     /**
      * Get the wallpaper for a given user.
      */
+    @UnsupportedAppUsage
     ParcelFileDescriptor getWallpaper(String callingPkg, IWallpaperManagerCallback cb, int which,
             out Bundle outParams, int userId);
 
@@ -73,6 +75,7 @@
      * information about that wallpaper.  Otherwise, if it is a static image,
      * simply return null.
      */
+    @UnsupportedAppUsage
     WallpaperInfo getWallpaperInfo(int userId);
 
     /**
@@ -83,6 +86,7 @@
     /**
      * Return whether the current system wallpaper has the given name.
      */
+    @UnsupportedAppUsage
     boolean hasNamedWallpaper(String name);
 
     /**
@@ -94,11 +98,13 @@
     /**
      * Returns the desired minimum width for the wallpaper in a particular display.
      */
+    @UnsupportedAppUsage
     int getWidthHint(int displayId);
 
     /**
      * Returns the desired minimum height for the wallpaper in a particular display.
      */
+    @UnsupportedAppUsage
     int getHeightHint(int displayId);
 
     /**
diff --git a/core/java/android/app/KeyguardManager.java b/core/java/android/app/KeyguardManager.java
index 17f645d..bcd43a2 100644
--- a/core/java/android/app/KeyguardManager.java
+++ b/core/java/android/app/KeyguardManager.java
@@ -125,7 +125,7 @@
     public static final int RESULT_ALTERNATE = 1;
 
     /**
-     * @deprecated see {@link BiometricPrompt.Builder#setAllowDeviceCredential(boolean)}
+     * @deprecated see {@link BiometricPrompt.Builder#setDeviceCredentialAllowed(boolean)}
      *
      * Get an intent to prompt the user to confirm credentials (pin, pattern, password or biometrics
      * if enrolled) for the current user of the device. The caller is expected to launch this
@@ -440,7 +440,7 @@
      */
     public boolean isKeyguardSecure() {
         try {
-            return mWM.isKeyguardSecure();
+            return mWM.isKeyguardSecure(mContext.getUserId());
         } catch (RemoteException ex) {
             return false;
         }
diff --git a/core/java/android/app/LoadedApk.java b/core/java/android/app/LoadedApk.java
index 5d186a2..41a9921 100644
--- a/core/java/android/app/LoadedApk.java
+++ b/core/java/android/app/LoadedApk.java
@@ -76,6 +76,7 @@
 import java.util.List;
 import java.util.Objects;
 import java.util.Set;
+import java.util.concurrent.Executor;
 
 final class IntentReceiverLeaked extends AndroidRuntimeException {
     @UnsupportedAppUsage
@@ -780,6 +781,16 @@
             isBundledApp = false;
         }
 
+        // Similar to vendor apks, we should add /product/lib for apks from product partition
+        // and not having /product/lib in the default search path
+        final boolean treatProductApkAsUnbundled = !defaultSearchPaths.contains("/product/lib");
+        if (mApplicationInfo.getCodePath() != null
+                && mApplicationInfo.isProduct() && treatProductApkAsUnbundled
+                // TODO(b/128557860): Change target SDK version when version code R is available.
+                && getTargetSdkVersion() == Build.VERSION_CODES.CUR_DEVELOPMENT) {
+            isBundledApp = false;
+        }
+
         makePaths(mActivityThread, isBundledApp, mApplicationInfo, zipPaths, libPaths);
 
         String libraryPermittedPath = mDataDir;
@@ -1651,6 +1662,16 @@
     @UnsupportedAppUsage
     public final IServiceConnection getServiceDispatcher(ServiceConnection c,
             Context context, Handler handler, int flags) {
+        return getServiceDispatcherCommon(c, context, handler, null, flags);
+    }
+
+    public final IServiceConnection getServiceDispatcher(ServiceConnection c,
+            Context context, Executor executor, int flags) {
+        return getServiceDispatcherCommon(c, context, null, executor, flags);
+    }
+
+    private IServiceConnection getServiceDispatcherCommon(ServiceConnection c,
+            Context context, Handler handler, Executor executor, int flags) {
         synchronized (mServices) {
             LoadedApk.ServiceDispatcher sd = null;
             ArrayMap<ServiceConnection, LoadedApk.ServiceDispatcher> map = mServices.get(context);
@@ -1659,7 +1680,11 @@
                 sd = map.get(c);
             }
             if (sd == null) {
-                sd = new ServiceDispatcher(c, context, handler, flags);
+                if (executor != null) {
+                    sd = new ServiceDispatcher(c, context, executor, flags);
+                } else {
+                    sd = new ServiceDispatcher(c, context, handler, flags);
+                }
                 if (DEBUG) Slog.d(TAG, "Creating new dispatcher " + sd + " for conn " + c);
                 if (map == null) {
                     map = new ArrayMap<>();
@@ -1667,7 +1692,7 @@
                 }
                 map.put(c, sd);
             } else {
-                sd.validate(context, handler);
+                sd.validate(context, handler, executor);
             }
             return sd.getIServiceConnection();
         }
@@ -1744,6 +1769,7 @@
         @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
         private final Context mContext;
         private final Handler mActivityThread;
+        private final Executor mActivityExecutor;
         private final ServiceConnectionLeaked mLocation;
         private final int mFlags;
 
@@ -1783,12 +1809,25 @@
             mConnection = conn;
             mContext = context;
             mActivityThread = activityThread;
+            mActivityExecutor = null;
             mLocation = new ServiceConnectionLeaked(null);
             mLocation.fillInStackTrace();
             mFlags = flags;
         }
 
-        void validate(Context context, Handler activityThread) {
+        ServiceDispatcher(ServiceConnection conn,
+                Context context, Executor activityExecutor, int flags) {
+            mIServiceConnection = new InnerConnection(this);
+            mConnection = conn;
+            mContext = context;
+            mActivityThread = null;
+            mActivityExecutor = activityExecutor;
+            mLocation = new ServiceConnectionLeaked(null);
+            mLocation.fillInStackTrace();
+            mFlags = flags;
+        }
+
+        void validate(Context context, Handler activityThread, Executor activityExecutor) {
             if (mContext != context) {
                 throw new RuntimeException(
                     "ServiceConnection " + mConnection +
@@ -1801,6 +1840,12 @@
                     " registered with differing handler (was " +
                     mActivityThread + " now " + activityThread + ")");
             }
+            if (mActivityExecutor != activityExecutor) {
+                throw new RuntimeException(
+                    "ServiceConnection " + mConnection +
+                    " registered with differing executor (was " +
+                    mActivityExecutor + " now " + activityExecutor + ")");
+            }
         }
 
         void doForget() {
@@ -1840,7 +1885,9 @@
         }
 
         public void connected(ComponentName name, IBinder service, boolean dead) {
-            if (mActivityThread != null) {
+            if (mActivityExecutor != null) {
+                mActivityExecutor.execute(new RunConnection(name, service, 0, dead));
+            } else if (mActivityThread != null) {
                 mActivityThread.post(new RunConnection(name, service, 0, dead));
             } else {
                 doConnected(name, service, dead);
@@ -1848,7 +1895,9 @@
         }
 
         public void death(ComponentName name, IBinder service) {
-            if (mActivityThread != null) {
+            if (mActivityExecutor != null) {
+                mActivityExecutor.execute(new RunConnection(name, service, 1, false));
+            } else if (mActivityThread != null) {
                 mActivityThread.post(new RunConnection(name, service, 1, false));
             } else {
                 doDeath(name, service);
diff --git a/core/java/android/app/Notification.java b/core/java/android/app/Notification.java
index e0cf561..523b200 100644
--- a/core/java/android/app/Notification.java
+++ b/core/java/android/app/Notification.java
@@ -31,6 +31,7 @@
 import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.Intent;
+import android.content.LocusId;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
@@ -77,6 +78,7 @@
 import android.view.NotificationHeaderView;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.contentcapture.ContentCaptureContext;
 import android.widget.ProgressBar;
 import android.widget.RemoteViews;
 
@@ -1201,7 +1203,7 @@
 
     /**
      * {@link #extras} key: whether the notification should be colorized as
-     * supplied to {@link Builder#setColorized(boolean)}}.
+     * supplied to {@link Builder#setColorized(boolean)}.
      */
     public static final String EXTRA_COLORIZED = "android.colorized";
 
@@ -1271,6 +1273,7 @@
     private long mTimeout;
 
     private String mShortcutId;
+    private LocusId mLocusId;
     private CharSequence mSettingsText;
 
     private BubbleMetadata mBubbleMetadata;
@@ -1355,7 +1358,7 @@
          *
          * This is intended for {@link RemoteInput}s that only accept data, meaning
          * {@link RemoteInput#getAllowFreeFormInput} is false, {@link RemoteInput#getChoices}
-         * is null or empty, and {@link RemoteInput#getAllowedDataTypes is non-null and not
+         * is null or empty, and {@link RemoteInput#getAllowedDataTypes} is non-null and not
          * empty. These {@link RemoteInput}s will be ignored by devices that do not
          * support non-text-based {@link RemoteInput}s. See {@link Builder#build}.
          *
@@ -1566,12 +1569,12 @@
          * Builder class for {@link Action} objects.
          */
         public static final class Builder {
-            private final Icon mIcon;
-            private final CharSequence mTitle;
-            private final PendingIntent mIntent;
+            @Nullable private final Icon mIcon;
+            @Nullable private final CharSequence mTitle;
+            @Nullable private final PendingIntent mIntent;
             private boolean mAllowGeneratedReplies = true;
-            private final Bundle mExtras;
-            private ArrayList<RemoteInput> mRemoteInputs;
+            @NonNull private final Bundle mExtras;
+            @Nullable private ArrayList<RemoteInput> mRemoteInputs;
             private @SemanticAction int mSemanticAction;
             private boolean mIsContextual;
 
@@ -1607,9 +1610,10 @@
                         action.getAllowGeneratedReplies(), action.getSemanticAction());
             }
 
-            private Builder(Icon icon, CharSequence title, PendingIntent intent, Bundle extras,
-                    RemoteInput[] remoteInputs, boolean allowGeneratedReplies,
-                            @SemanticAction int semanticAction) {
+            private Builder(@Nullable Icon icon, @Nullable CharSequence title,
+                    @Nullable PendingIntent intent, @NonNull Bundle extras,
+                    @Nullable RemoteInput[] remoteInputs, boolean allowGeneratedReplies,
+                    @SemanticAction int semanticAction) {
                 mIcon = icon;
                 mTitle = title;
                 mIntent = intent;
@@ -1629,6 +1633,7 @@
              *
              * @see Notification.Action#extras
              */
+            @NonNull
             public Builder addExtras(Bundle extras) {
                 if (extras != null) {
                     mExtras.putAll(extras);
@@ -1641,6 +1646,7 @@
              *
              * <p>The returned Bundle is shared with this Builder.
              */
+            @NonNull
             public Bundle getExtras() {
                 return mExtras;
             }
@@ -1652,6 +1658,7 @@
              * @param remoteInput a {@link RemoteInput} to add to the action
              * @return this object for method chaining
              */
+            @NonNull
             public Builder addRemoteInput(RemoteInput remoteInput) {
                 if (mRemoteInputs == null) {
                     mRemoteInputs = new ArrayList<RemoteInput>();
@@ -1669,6 +1676,7 @@
              * @return this object for method chaining
              * The default value is {@code true}
              */
+            @NonNull
             public Builder setAllowGeneratedReplies(boolean allowGeneratedReplies) {
                 mAllowGeneratedReplies = allowGeneratedReplies;
                 return this;
@@ -1682,6 +1690,7 @@
              * {@code SEMANTIC_ACTION_} prefixes
              * @return this object for method chaining
              */
+            @NonNull
             public Builder setSemanticAction(@SemanticAction int semanticAction) {
                 mSemanticAction = semanticAction;
                 return this;
@@ -1692,6 +1701,7 @@
              * dependent on the notification message body. An example of a contextual action could
              * be an action opening a map application with an address shown in the notification.
              */
+            @NonNull
             public Builder setContextual(boolean isContextual) {
                 mIsContextual = isContextual;
                 return this;
@@ -1701,6 +1711,7 @@
              * Apply an extender to this action builder. Extenders may be used to add
              * metadata or change options on this builder.
              */
+            @NonNull
             public Builder extend(Extender extender) {
                 extender.extend(this);
                 return this;
@@ -1728,6 +1739,7 @@
              * object.
              * @return the built action
              */
+            @NonNull
             public Action build() {
                 checkContextualActionNullFields();
 
@@ -2267,6 +2279,10 @@
             mShortcutId = parcel.readString();
         }
 
+        if (parcel.readInt() != 0) {
+            mLocusId = LocusId.CREATOR.createFromParcel(parcel);
+        }
+
         mBadgeIcon = parcel.readInt();
 
         if (parcel.readInt() != 0) {
@@ -2390,6 +2406,7 @@
         that.mChannelId = this.mChannelId;
         that.mTimeout = this.mTimeout;
         that.mShortcutId = this.mShortcutId;
+        that.mLocusId = this.mLocusId;
         that.mBadgeIcon = this.mBadgeIcon;
         that.mSettingsText = this.mSettingsText;
         that.mGroupAlertBehavior = this.mGroupAlertBehavior;
@@ -2705,6 +2722,13 @@
             parcel.writeInt(0);
         }
 
+        if (mLocusId != null) {
+            parcel.writeInt(1);
+            mLocusId.writeToParcel(parcel, 0);
+        } else {
+            parcel.writeInt(0);
+        }
+
         parcel.writeInt(mBadgeIcon);
 
         if (mSettingsText != null) {
@@ -3018,6 +3042,10 @@
             sb.append(" publicVersion=");
             sb.append(publicVersion.toString());
         }
+        if (this.mLocusId != null) {
+            sb.append(" locusId=");
+            sb.append(this.mLocusId); // LocusId.toString() is PII safe.
+        }
         sb.append(")");
         return sb.toString();
     }
@@ -3120,6 +3148,16 @@
         return mShortcutId;
     }
 
+    /**
+     * Gets the {@link LocusId} associated with this notification.
+     *
+     * <p>Used by the device's intelligence services to correlate objects (such as
+     * {@link ShortcutInfo} and {@link ContentCaptureContext}) that are correlated.
+     */
+    @Nullable
+    public LocusId getLocusId() {
+        return mLocusId;
+    }
 
     /**
      * Returns the settings text provided to {@link Builder#setSettingsText(CharSequence)}.
@@ -3141,6 +3179,7 @@
      * Returns the bubble metadata that will be used to display app content in a floating window
      * over the existing foreground activity.
      */
+    @Nullable
     public BubbleMetadata getBubbleMetadata() {
         return mBubbleMetadata;
     }
@@ -3478,6 +3517,19 @@
         }
 
         /**
+         * Sets the {@link LocusId} associated with this notification.
+         *
+         * <p>This method should be called when the {@link LocusId} is used in other places (such
+         * as {@link ShortcutInfo} and {@link ContentCaptureContext}) so the device's intelligence
+         * services can correlate them.
+         */
+        @NonNull
+        public Builder setLocusId(@Nullable LocusId locusId) {
+            mN.mLocusId = locusId;
+            return this;
+        }
+
+        /**
          * Sets which icon to display as a badge for this notification.
          *
          * Must be one of {@link #BADGE_ICON_NONE}, {@link #BADGE_ICON_SMALL},
@@ -3519,7 +3571,7 @@
          * collapsed state, the bubble intent will be invoked and displayed.</b>
          */
         @NonNull
-        public Builder setBubbleMetadata(BubbleMetadata data) {
+        public Builder setBubbleMetadata(@Nullable BubbleMetadata data) {
             mN.mBubbleMetadata = data;
             return this;
         }
@@ -8513,6 +8565,7 @@
         /**
          * @return the pending intent used to populate the floating window for this bubble.
          */
+        @NonNull
         public PendingIntent getIntent() {
             return mPendingIntent;
         }
@@ -8520,6 +8573,7 @@
         /**
          * @return the pending intent to send when the bubble is dismissed by a user, if one exists.
          */
+        @Nullable
         public PendingIntent getDeleteIntent() {
             return mDeleteIntent;
         }
@@ -8534,9 +8588,11 @@
         public CharSequence getTitle() {
             return "";
         }
+
         /**
          * @return the icon that will be displayed for this bubble when it is collapsed.
          */
+        @NonNull
         public Icon getIcon() {
             return mIcon;
         }
@@ -8605,7 +8661,7 @@
         /**
          * Builder to construct a {@link BubbleMetadata} object.
          */
-        public static class Builder {
+        public static final class Builder {
 
             private PendingIntent mPendingIntent;
             private Icon mIcon;
@@ -8623,7 +8679,8 @@
              * Sets the intent that will be used when the bubble is expanded. This will display the
              * app content in a floating window over the existing foreground activity.
              */
-            public BubbleMetadata.Builder setIntent(PendingIntent intent) {
+            @NonNull
+            public BubbleMetadata.Builder setIntent(@NonNull PendingIntent intent) {
                 if (intent == null) {
                     throw new IllegalArgumentException("Bubble requires non-null pending intent");
                 }
@@ -8651,7 +8708,8 @@
              * If your app produces multiple bubbles, the image should be unique for each of them.
              * </p>
              */
-            public BubbleMetadata.Builder setIcon(Icon icon) {
+            @NonNull
+            public BubbleMetadata.Builder setIcon(@NonNull Icon icon) {
                 if (icon == null) {
                     throw new IllegalArgumentException("Bubbles require non-null icon");
                 }
@@ -8664,6 +8722,7 @@
              * {@link #setIntent(PendingIntent)}, this height may not be respected if there is not
              * enough space on the screen or if the provided height is too small to be useful.
              */
+            @NonNull
             public BubbleMetadata.Builder setDesiredHeight(int height) {
                 mDesiredHeight = Math.max(height, 0);
                 return this;
@@ -8680,6 +8739,7 @@
              * <p>Generally this flag should only be set if the user has performed an action to
              * request or create a bubble.</p>
              */
+            @NonNull
             public BubbleMetadata.Builder setAutoExpandBubble(boolean shouldExpand) {
                 setFlag(FLAG_AUTO_EXPAND_BUBBLE, shouldExpand);
                 return this;
@@ -8696,6 +8756,7 @@
              * <p>Generally this flag should only be set if the user has performed an action to
              * request or create a bubble.</p>
              */
+            @NonNull
             public BubbleMetadata.Builder setSuppressInitialNotification(
                     boolean shouldSupressNotif) {
                 setFlag(FLAG_SUPPRESS_INITIAL_NOTIFICATION, shouldSupressNotif);
@@ -8705,7 +8766,8 @@
             /**
              * Sets an optional intent to send when this bubble is explicitly removed by the user.
              */
-            public BubbleMetadata.Builder setDeleteIntent(PendingIntent deleteIntent) {
+            @NonNull
+            public BubbleMetadata.Builder setDeleteIntent(@Nullable PendingIntent deleteIntent) {
                 mDeleteIntent = deleteIntent;
                 return this;
             }
@@ -8715,6 +8777,7 @@
              * <p>Will throw {@link IllegalStateException} if required fields have not been set
              * on this builder.</p>
              */
+            @NonNull
             public BubbleMetadata build() {
                 if (mPendingIntent == null) {
                     throw new IllegalStateException("Must supply pending intent to bubble");
diff --git a/core/java/android/app/NotificationManager.java b/core/java/android/app/NotificationManager.java
index 6ad6e38..6a301c9 100644
--- a/core/java/android/app/NotificationManager.java
+++ b/core/java/android/app/NotificationManager.java
@@ -589,11 +589,11 @@
      * received on your behalf from the cloud, without your process having to wake up.
      *
      * You can check if you have an allowed delegate with {@link #getNotificationDelegate()} and
-     * revoke your delegate with {@link #revokeNotificationDelegate()}.
+     * revoke your delegate by passing null to this method.
      *
      * @param delegate Package name of the app which can send notifications on your behalf.
      */
-    public void setNotificationDelegate(@NonNull String delegate) {
+    public void setNotificationDelegate(@Nullable String delegate) {
         INotificationManager service = getService();
         String pkg = mContext.getPackageName();
         if (localLOGV) Log.v(TAG, pkg + ": cancelAll()");
@@ -605,20 +605,6 @@
     }
 
     /**
-     * Revokes permission for your {@link #setNotificationDelegate(String) notification delegate}
-     * to post notifications on your behalf.
-     */
-    public void revokeNotificationDelegate() {
-        INotificationManager service = getService();
-        String pkg = mContext.getPackageName();
-        try {
-            service.revokeNotificationDelegate(pkg);
-        } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
-        }
-    }
-
-    /**
      * Returns the {@link #setNotificationDelegate(String) delegate} that can post notifications on
      * your behalf, if there currently is one.
      */
@@ -641,7 +627,7 @@
     public boolean canNotifyAsPackage(@NonNull String pkg) {
         INotificationManager service = getService();
         try {
-            return service.canNotifyAsPackage(mContext.getPackageName(), pkg);
+            return service.canNotifyAsPackage(mContext.getPackageName(), pkg, mContext.getUserId());
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -1168,7 +1154,9 @@
      * matches the system intent action
      * TODO: STOPSHIP: Add correct intent
      * {@link android.provider.Settings#ACTION_MANAGE_DEFAULT_APPS_SETTINGS}.
+     * @hide
      */
+    @SystemApi
     public boolean isNotificationAssistantAccessGranted(@NonNull ComponentName assistant) {
         INotificationManager service = getService();
         try {
@@ -1282,6 +1270,8 @@
 
     /**
      * Grants/revokes Notification Assistant access to {@code assistant} for current user.
+     * To grant access for a particular user, obtain this service by using the {@link Context}
+     * provided by {@link Context#createPackageContextAsUser}
      *
      * @param assistant Name of component to grant/revoke access or {@code null} to revoke access to
      *                  current assistant
@@ -1289,7 +1279,8 @@
      * @hide
      */
     @SystemApi
-    public void setNotificationAssistantAccessGranted(ComponentName assistant, boolean granted) {
+    public void setNotificationAssistantAccessGranted(@Nullable ComponentName assistant,
+            boolean granted) {
         INotificationManager service = getService();
         try {
             service.setNotificationAssistantAccessGranted(assistant, granted);
@@ -1298,27 +1289,6 @@
         }
     }
 
-    /**
-     * Grants/revokes Notification Assistant access to {@code assistant} for given user.
-     *
-     * @param assistant Name of component to grant/revoke access or {@code null} to revoke access to
-     *                  current assistant
-     * @param user handle to associate assistant with
-     * @param granted Grant/revoke access
-     * @hide
-     */
-    @SystemApi
-    public void setNotificationAssistantAccessGrantedForUser(ComponentName assistant,
-            UserHandle user, boolean granted) {
-        INotificationManager service = getService();
-        try {
-            service.setNotificationAssistantAccessGrantedForUser(assistant, user.getIdentifier(),
-                    granted);
-        } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
-        }
-    }
-
     /** @hide */
     public List<ComponentName> getEnabledNotificationListeners(int userId) {
         INotificationManager service = getService();
@@ -1331,17 +1301,6 @@
 
     /** @hide */
     @SystemApi
-    public @Nullable ComponentName getAllowedNotificationAssistantForUser(UserHandle user) {
-        INotificationManager service = getService();
-        try {
-            return service.getAllowedNotificationAssistantForUser(user.getIdentifier());
-        } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
-        }
-    }
-
-    /** @hide */
-    @SystemApi
     public @Nullable ComponentName getAllowedNotificationAssistant() {
         INotificationManager service = getService();
         try {
diff --git a/core/java/android/app/ResourcesManager.java b/core/java/android/app/ResourcesManager.java
index 2d9fbf9..35658fb 100644
--- a/core/java/android/app/ResourcesManager.java
+++ b/core/java/android/app/ResourcesManager.java
@@ -1091,6 +1091,16 @@
      */
     @UnsupportedAppUsage
     public void appendLibAssetForMainAssetPath(String assetPath, String libAsset) {
+        appendLibAssetsForMainAssetPath(assetPath, new String[] { libAsset });
+    }
+
+    /**
+     * Appends the library asset paths to any ResourcesImpl object that contains the main
+     * assetPath.
+     * @param assetPath The main asset path for which to add the library asset path.
+     * @param libAssets The library asset paths to add.
+     */
+    public void appendLibAssetsForMainAssetPath(String assetPath, String[] libAssets) {
         synchronized (this) {
             // Record which ResourcesImpl need updating
             // (and what ResourcesKey they should update to).
@@ -1102,15 +1112,13 @@
                 final WeakReference<ResourcesImpl> weakImplRef = mResourceImpls.valueAt(i);
                 final ResourcesImpl impl = weakImplRef != null ? weakImplRef.get() : null;
                 if (impl != null && Objects.equals(key.mResDir, assetPath)) {
-                    if (!ArrayUtils.contains(key.mLibDirs, libAsset)) {
-                        final int newLibAssetCount = 1 +
-                                (key.mLibDirs != null ? key.mLibDirs.length : 0);
-                        final String[] newLibAssets = new String[newLibAssetCount];
-                        if (key.mLibDirs != null) {
-                            System.arraycopy(key.mLibDirs, 0, newLibAssets, 0, key.mLibDirs.length);
-                        }
-                        newLibAssets[newLibAssetCount - 1] = libAsset;
+                    String[] newLibAssets = key.mLibDirs;
+                    for (String libAsset : libAssets) {
+                        newLibAssets =
+                                ArrayUtils.appendElement(String.class, newLibAssets, libAsset);
+                    }
 
+                    if (newLibAssets != key.mLibDirs) {
                         updatedResourceKeys.put(impl, new ResourcesKey(
                                 key.mResDir,
                                 key.mSplitResDirs,
diff --git a/core/java/android/app/SystemServiceRegistry.java b/core/java/android/app/SystemServiceRegistry.java
index 1faa2ac..4d280b7 100644
--- a/core/java/android/app/SystemServiceRegistry.java
+++ b/core/java/android/app/SystemServiceRegistry.java
@@ -26,6 +26,7 @@
 import android.app.job.IJobScheduler;
 import android.app.job.JobScheduler;
 import android.app.prediction.AppPredictionManager;
+import android.app.role.RoleControllerManager;
 import android.app.role.RoleManager;
 import android.app.slice.SliceManager;
 import android.app.timedetector.TimeDetector;
@@ -100,14 +101,14 @@
 import android.net.EthernetManager;
 import android.net.IConnectivityManager;
 import android.net.IEthernetManager;
-import android.net.IIpMemoryStore;
 import android.net.IIpSecService;
 import android.net.INetworkPolicyManager;
-import android.net.IpMemoryStore;
+import android.net.ITestNetworkManager;
 import android.net.IpSecManager;
 import android.net.NetworkPolicyManager;
 import android.net.NetworkScoreManager;
 import android.net.NetworkWatchlistManager;
+import android.net.TestNetworkManager;
 import android.net.lowpan.ILowpanManager;
 import android.net.lowpan.LowpanManager;
 import android.net.nsd.INsdManager;
@@ -145,6 +146,7 @@
 import android.os.IncidentManager;
 import android.os.PowerManager;
 import android.os.RecoverySystem;
+import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.ServiceManager.ServiceNotFoundException;
 import android.os.SystemUpdateManager;
@@ -336,17 +338,6 @@
             }
         });
 
-        registerService(Context.IP_MEMORY_STORE_SERVICE, IpMemoryStore.class,
-                new CachedServiceFetcher<IpMemoryStore>() {
-                    @Override
-                    public IpMemoryStore createService(final ContextImpl ctx)
-                            throws ServiceNotFoundException {
-                        IBinder b = ServiceManager.getServiceOrThrow(
-                                Context.IP_MEMORY_STORE_SERVICE);
-                        IIpMemoryStore service = IIpMemoryStore.Stub.asInterface(b);
-                        return new IpMemoryStore(ctx, service);
-                    }});
-
         registerService(Context.IPSEC_SERVICE, IpSecManager.class,
                 new CachedServiceFetcher<IpSecManager>() {
             @Override
@@ -356,6 +347,29 @@
                 return new IpSecManager(ctx, service);
             }});
 
+        registerService(
+                Context.TEST_NETWORK_SERVICE,
+                TestNetworkManager.class,
+                new StaticApplicationContextServiceFetcher<TestNetworkManager>() {
+                    @Override
+                    public TestNetworkManager createService(Context context)
+                            throws ServiceNotFoundException {
+                        IBinder csBinder =
+                                ServiceManager.getServiceOrThrow(Context.CONNECTIVITY_SERVICE);
+                        IConnectivityManager csMgr =
+                                IConnectivityManager.Stub.asInterface(csBinder);
+
+                        final IBinder tnBinder;
+                        try {
+                            tnBinder = csMgr.startOrGetTestNetworkService();
+                        } catch (RemoteException e) {
+                            throw new ServiceNotFoundException(Context.TEST_NETWORK_SERVICE);
+                        }
+                        ITestNetworkManager tnMgr = ITestNetworkManager.Stub.asInterface(tnBinder);
+                        return new TestNetworkManager(context, tnMgr);
+                    }
+                });
+
         registerService(Context.COUNTRY_DETECTOR, CountryDetector.class,
                 new StaticServiceFetcher<CountryDetector>() {
             @Override
@@ -1161,7 +1175,7 @@
                                 Context.CONTENT_SUGGESTIONS_SERVICE);
                         IContentSuggestionsManager service =
                                 IContentSuggestionsManager.Stub.asInterface(b);
-                        return new ContentSuggestionsManager(service);
+                        return new ContentSuggestionsManager(ctx.getUserId(), service);
                     }
                 });
 
@@ -1243,6 +1257,14 @@
                         return new RoleManager(ctx.getOuterContext());
                     }});
 
+        registerService(Context.ROLE_CONTROLLER_SERVICE, RoleControllerManager.class,
+                new CachedServiceFetcher<RoleControllerManager>() {
+                    @Override
+                    public RoleControllerManager createService(ContextImpl ctx)
+                            throws ServiceNotFoundException {
+                        return new RoleControllerManager(ctx.getOuterContext());
+                    }});
+
         registerService(Context.ROLLBACK_SERVICE, RollbackManager.class,
                 new CachedServiceFetcher<RollbackManager>() {
                     @Override
diff --git a/core/java/android/app/TEST_MAPPING b/core/java/android/app/TEST_MAPPING
index ad614b1..14c58e7 100644
--- a/core/java/android/app/TEST_MAPPING
+++ b/core/java/android/app/TEST_MAPPING
@@ -23,13 +23,7 @@
             "name": "FrameworksServicesTests",
             "options": [
                 {
-                    "include-filter": "com.android.server.appop.AppOpsUpgradeTest"
-                },
-                {
-                    "include-filter": "com.android.server.appop.AppOpsServiceTest"
-                },
-                {
-                    "include-filter": "com.android.server.appop.AppOpsActiveWatcherTest"
+                    "include-filter": "com.android.server.appop"
                 }
             ]
         }
diff --git a/core/java/android/app/TaskStackListener.java b/core/java/android/app/TaskStackListener.java
index 47ad6d7..97b9176 100644
--- a/core/java/android/app/TaskStackListener.java
+++ b/core/java/android/app/TaskStackListener.java
@@ -19,6 +19,7 @@
 import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityManager.TaskSnapshot;
 import android.content.ComponentName;
+import android.os.IBinder;
 import android.os.RemoteException;
 
 /**
@@ -155,4 +156,10 @@
     @UnsupportedAppUsage
     public void onTaskSnapshotChanged(int taskId, TaskSnapshot snapshot) throws RemoteException {
     }
+
+    @Override
+    @UnsupportedAppUsage
+    public void onSizeCompatModeActivityChanged(int displayId, IBinder activityToken)
+            throws RemoteException {
+    }
 }
diff --git a/core/java/android/app/WallpaperInfo.java b/core/java/android/app/WallpaperInfo.java
index c2be4b0..e9b0175 100644
--- a/core/java/android/app/WallpaperInfo.java
+++ b/core/java/android/app/WallpaperInfo.java
@@ -16,6 +16,7 @@
 
 package android.app;
 
+import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.app.slice.Slice;
 import android.content.ComponentName;
@@ -354,12 +355,17 @@
     
     /**
      * Returns an URI that provides a settings {@link Slice} for this wallpaper.
+     * The wallpaper should implement a SliceProvider associated with this URI.
+     * The system will display the Slice in the customization section while previewing the live
+     * wallpaper. Because this URI is accessible to other apps, it is recommended to protect it
+     * with the android.permission.BIND_WALLPAPER permission.
      *
      * <p>{@code null} will be returned if there is no settings Slice URI associated
      * with the wallpaper.
      *
      * @return The URI.
      */
+    @Nullable
     public Uri getSettingsSliceUri() {
         if (mSettingsSliceUri == null) {
             return null;
diff --git a/core/java/android/app/ZygotePreload.java b/core/java/android/app/ZygotePreload.java
index a295af3..eaaeb54 100644
--- a/core/java/android/app/ZygotePreload.java
+++ b/core/java/android/app/ZygotePreload.java
@@ -15,6 +15,7 @@
  */
 package android.app;
 
+import android.annotation.NonNull;
 import android.content.pm.ApplicationInfo;
 
 /**
@@ -27,8 +28,7 @@
  * {@link android.R.styleable#AndroidManifestService_useAppZygote android:useAppZygote} attribute
  * of the &lt;service&gt; tag set to <code>true</code>.
  *
- * Note that this implementations of this class must provide a default constructor with no
- * arguments.
+ * Note that implementations of this class must provide a default constructor with no arguments.
  */
 public interface ZygotePreload {
     /**
@@ -38,5 +38,5 @@
      *
      * @param appInfo The ApplicationInfo object belonging to the application
      */
-    void doPreload(ApplicationInfo appInfo);
+    void doPreload(@NonNull ApplicationInfo appInfo);
 }
diff --git a/core/java/android/app/admin/DelegatedAdminReceiver.java b/core/java/android/app/admin/DelegatedAdminReceiver.java
index 9605382..f66de8d 100644
--- a/core/java/android/app/admin/DelegatedAdminReceiver.java
+++ b/core/java/android/app/admin/DelegatedAdminReceiver.java
@@ -24,6 +24,9 @@
 import static android.app.admin.DeviceAdminReceiver.EXTRA_NETWORK_LOGS_COUNT;
 import static android.app.admin.DeviceAdminReceiver.EXTRA_NETWORK_LOGS_TOKEN;
 
+import android.annotation.IntRange;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.app.Service;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -63,20 +66,21 @@
      *
      * <p> This callback is only applicable if the delegated app has
      * {@link DevicePolicyManager#DELEGATION_CERT_SELECTION} capability. Additionally, it must
-     * declare an intent fitler for {@link DeviceAdminReceiver#ACTION_CHOOSE_PRIVATE_KEY_ALIAS}
-     * in the receiver's manifest in order to receive this callback.
+     * declare an intent filter for {@link DeviceAdminReceiver#ACTION_CHOOSE_PRIVATE_KEY_ALIAS}
+     * in the receiver's manifest in order to receive this callback. The default implementation
+     * simply throws {@link UnsupportedOperationException}.
      *
      * @param context The running context as per {@link #onReceive}.
      * @param intent The received intent as per {@link #onReceive}.
-     * @param uid The uid asking for the private key and certificate pair.
+     * @param uid The uid of the app asking for the private key and certificate pair.
      * @param uri The URI to authenticate, may be null.
      * @param alias The alias preselected by the client, or null.
      * @return The private key alias to return and grant access to.
      * @see KeyChain#choosePrivateKeyAlias
      */
-    public String onChoosePrivateKeyAlias(Context context, Intent intent, int uid, Uri uri,
-            String alias) {
-        return null;
+    public @Nullable String onChoosePrivateKeyAlias(@NonNull Context context,
+            @NonNull Intent intent, int uid, @Nullable Uri uri, @Nullable String alias) {
+        throw new UnsupportedOperationException("onChoosePrivateKeyAlias should be implemented");
     }
 
     /**
@@ -91,8 +95,9 @@
      *
      * <p> This callback is only applicable if the delegated app has
      * {@link DevicePolicyManager#DELEGATION_NETWORK_LOGGING} capability. Additionally, it must
-     * declare an intent fitler for {@link DeviceAdminReceiver#ACTION_NETWORK_LOGS_AVAILABLE} in the
-     * receiver's manifest in order to receive this callback.
+     * declare an intent filter for {@link DeviceAdminReceiver#ACTION_NETWORK_LOGS_AVAILABLE} in the
+     * receiver's manifest in order to receive this callback. The default implementation
+     * simply throws {@link UnsupportedOperationException}.
      *
      * @param context The running context as per {@link #onReceive}.
      * @param intent The received intent as per {@link #onReceive}.
@@ -100,8 +105,9 @@
      * @param networkLogsCount The total count of events in the current batch of network logs.
      * @see DevicePolicyManager#retrieveNetworkLogs
      */
-    public void onNetworkLogsAvailable(Context context, Intent intent, long batchToken,
-            int networkLogsCount) {
+    public void onNetworkLogsAvailable(@NonNull Context context, @NonNull Intent intent,
+            long batchToken, @IntRange(from = 1) int networkLogsCount) {
+        throw new UnsupportedOperationException("onNetworkLogsAvailable should be implemented");
     }
 
     /**
@@ -109,7 +115,7 @@
      * this method; implement the convenience callbacks for each action instead.
      */
     @Override
-    public void onReceive(Context context, Intent intent) {
+    public final void onReceive(@NonNull Context context, @NonNull Intent intent) {
         String action = intent.getAction();
 
         if (ACTION_CHOOSE_PRIVATE_KEY_ALIAS.equals(action)) {
diff --git a/core/java/android/app/admin/DeviceAdminReceiver.java b/core/java/android/app/admin/DeviceAdminReceiver.java
index 5a7124e..4771fd8 100644
--- a/core/java/android/app/admin/DeviceAdminReceiver.java
+++ b/core/java/android/app/admin/DeviceAdminReceiver.java
@@ -19,6 +19,7 @@
 import android.accounts.AccountManager;
 import android.annotation.BroadcastBehavior;
 import android.annotation.IntDef;
+import android.annotation.IntRange;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SdkConstant;
@@ -515,7 +516,7 @@
      * Retrieve the DevicePolicyManager interface for this administrator to work
      * with the system.
      */
-    public DevicePolicyManager getManager(Context context) {
+    public @NonNull DevicePolicyManager getManager(@NonNull Context context) {
         if (mManager != null) {
             return mManager;
         }
@@ -529,7 +530,7 @@
      * use in {@link DevicePolicyManager} APIs that require the administrator to
      * identify itself.
      */
-    public ComponentName getWho(Context context) {
+    public @NonNull ComponentName getWho(@NonNull Context context) {
         if (mWho != null) {
             return mWho;
         }
@@ -550,7 +551,7 @@
      * @param context The running context as per {@link #onReceive}.
      * @param intent The received intent as per {@link #onReceive}.
      */
-    public void onEnabled(Context context, Intent intent) {
+    public void onEnabled(@NonNull Context context, @NonNull Intent intent) {
     }
 
     /**
@@ -564,7 +565,8 @@
      * @return Return the warning message to display to the user before
      * being disabled; if null is returned, no message is displayed.
      */
-    public CharSequence onDisableRequested(Context context, Intent intent) {
+    public @Nullable CharSequence onDisableRequested(@NonNull Context context,
+            @NonNull Intent intent) {
         return null;
     }
 
@@ -576,7 +578,7 @@
      * @param context The running context as per {@link #onReceive}.
      * @param intent The received intent as per {@link #onReceive}.
      */
-    public void onDisabled(Context context, Intent intent) {
+    public void onDisabled(@NonNull Context context, @NonNull Intent intent) {
     }
 
     /**
@@ -591,7 +593,7 @@
      *             {@link #onPasswordChanged(Context, Intent, UserHandle)} instead.
      */
     @Deprecated
-    public void onPasswordChanged(Context context, Intent intent) {
+    public void onPasswordChanged(@NonNull Context context, @NonNull Intent intent) {
     }
 
     /**
@@ -605,7 +607,8 @@
      *        user is the current profile or a parent user, check for equality with
      *        {@link Process#myUserHandle}.
      */
-    public void onPasswordChanged(Context context, Intent intent, UserHandle user) {
+    public void onPasswordChanged(@NonNull Context context, @NonNull Intent intent,
+            @NonNull UserHandle user) {
         onPasswordChanged(context, intent);
     }
 
@@ -621,7 +624,7 @@
      *             {@link #onPasswordFailed(Context, Intent, UserHandle)} instead.
      */
     @Deprecated
-    public void onPasswordFailed(Context context, Intent intent) {
+    public void onPasswordFailed(@NonNull Context context, @NonNull Intent intent) {
     }
 
     /**
@@ -635,7 +638,8 @@
      *        user is the current profile or a parent user, check for equality with
      *        {@link Process#myUserHandle}.
      */
-    public void onPasswordFailed(Context context, Intent intent, UserHandle user) {
+    public void onPasswordFailed(@NonNull Context context, @NonNull Intent intent,
+            @NonNull UserHandle user) {
         onPasswordFailed(context, intent);
     }
 
@@ -651,7 +655,7 @@
      *             {@link #onPasswordSucceeded(Context, Intent, UserHandle)} instead.
      */
     @Deprecated
-    public void onPasswordSucceeded(Context context, Intent intent) {
+    public void onPasswordSucceeded(@NonNull Context context, @NonNull Intent intent) {
     }
 
     /**
@@ -665,7 +669,8 @@
      *        user is the current profile or a parent user, check for equality with
      *        {@link Process#myUserHandle}.
      */
-    public void onPasswordSucceeded(Context context, Intent intent, UserHandle user) {
+    public void onPasswordSucceeded(@NonNull Context context, @NonNull Intent intent,
+            @NonNull UserHandle user) {
         onPasswordSucceeded(context, intent);
     }
 
@@ -691,7 +696,7 @@
      *             {@link #onPasswordExpiring(Context, Intent, UserHandle)} instead.
      */
     @Deprecated
-    public void onPasswordExpiring(Context context, Intent intent) {
+    public void onPasswordExpiring(@NonNull Context context, @NonNull Intent intent) {
     }
 
     /**
@@ -715,7 +720,8 @@
      *        user is the current profile or a parent user, check for equality with
      *        {@link Process#myUserHandle}.
      */
-    public void onPasswordExpiring(Context context, Intent intent, UserHandle user) {
+    public void onPasswordExpiring(@NonNull Context context, @NonNull Intent intent,
+            @NonNull UserHandle user) {
         onPasswordExpiring(context, intent);
     }
 
@@ -746,7 +752,7 @@
      * @param context The running context as per {@link #onReceive}.
      * @param intent The received intent as per {@link #onReceive}.
      */
-    public void onProfileProvisioningComplete(Context context, Intent intent) {
+    public void onProfileProvisioningComplete(@NonNull Context context, @NonNull Intent intent) {
     }
 
     /**
@@ -758,7 +764,7 @@
      * @deprecated Do not use
      */
     @Deprecated
-    public void onReadyForUserInitialization(Context context, Intent intent) {
+    public void onReadyForUserInitialization(@NonNull Context context, @NonNull Intent intent) {
     }
 
     /**
@@ -766,9 +772,10 @@
      *
      * @param context The running context as per {@link #onReceive}.
      * @param intent The received intent as per {@link #onReceive}.
-     * @param pkg If entering, the authorized package using lock task mode, otherwise null.
+     * @param pkg The authorized package using lock task mode.
      */
-    public void onLockTaskModeEntering(Context context, Intent intent, String pkg) {
+    public void onLockTaskModeEntering(@NonNull Context context, @NonNull Intent intent,
+            @NonNull String pkg) {
     }
 
     /**
@@ -777,7 +784,7 @@
      * @param context The running context as per {@link #onReceive}.
      * @param intent The received intent as per {@link #onReceive}.
      */
-    public void onLockTaskModeExiting(Context context, Intent intent) {
+    public void onLockTaskModeExiting(@NonNull Context context, @NonNull Intent intent) {
     }
 
     /**
@@ -787,14 +794,14 @@
      *
      * @param context The running context as per {@link #onReceive}.
      * @param intent The received intent as per {@link #onReceive}.
-     * @param uid The uid asking for the private key and certificate pair.
+     * @param uid The uid of the app asking for the private key and certificate pair.
      * @param uri The URI to authenticate, may be null.
      * @param alias The alias preselected by the client, or null.
      * @return The private key alias to return and grant access to.
      * @see KeyChain#choosePrivateKeyAlias
      */
-    public String onChoosePrivateKeyAlias(Context context, Intent intent, int uid, Uri uri,
-            String alias) {
+    public @Nullable String onChoosePrivateKeyAlias(@NonNull Context context,
+            @NonNull Intent intent, int uid, @Nullable Uri uri, @Nullable String alias) {
         return null;
     }
 
@@ -818,7 +825,8 @@
      *        the current pending update was first available. -1 if no pending update is available.
      * @see DevicePolicyManager#getPendingSystemUpdate
      */
-    public void onSystemUpdatePending(Context context, Intent intent, long receivedTime) {
+    public void onSystemUpdatePending(@NonNull Context context, @NonNull Intent intent,
+            long receivedTime) {
     }
 
     /**
@@ -830,7 +838,7 @@
      * @param intent The received intent as per {@link #onReceive}.
      * @see DevicePolicyManager#requestBugreport
      */
-    public void onBugreportSharingDeclined(Context context, Intent intent) {
+    public void onBugreportSharingDeclined(@NonNull Context context, @NonNull Intent intent) {
     }
 
     /**
@@ -845,7 +853,8 @@
      * @param bugreportHash SHA-256 hash of the bugreport file.
      * @see DevicePolicyManager#requestBugreport
      */
-    public void onBugreportShared(Context context, Intent intent, String bugreportHash) {
+    public void onBugreportShared(@NonNull Context context, @NonNull Intent intent,
+            @NonNull String bugreportHash) {
     }
 
     /**
@@ -860,7 +869,7 @@
      * or {@link #BUGREPORT_FAILURE_FILE_NO_LONGER_AVAILABLE}
      * @see DevicePolicyManager#requestBugreport
      */
-    public void onBugreportFailed(Context context, Intent intent,
+    public void onBugreportFailed(@NonNull Context context, @NonNull Intent intent,
             @BugreportFailureCode int failureCode) {
     }
 
@@ -879,7 +888,7 @@
      * @param intent The received intent as per {@link #onReceive}.
      * @see DevicePolicyManager#retrieveSecurityLogs(ComponentName)
      */
-    public void onSecurityLogsAvailable(Context context, Intent intent) {
+    public void onSecurityLogsAvailable(@NonNull Context context, @NonNull Intent intent) {
     }
 
     /**
@@ -900,8 +909,8 @@
      * @param networkLogsCount The total count of events in the current batch of network logs.
      * @see DevicePolicyManager#retrieveNetworkLogs
      */
-    public void onNetworkLogsAvailable(Context context, Intent intent, long batchToken,
-            int networkLogsCount) {
+    public void onNetworkLogsAvailable(@NonNull Context context, @NonNull Intent intent,
+            long batchToken, @IntRange(from = 1) int networkLogsCount) {
     }
 
     /**
@@ -913,7 +922,8 @@
      * @param intent The received intent as per {@link #onReceive}.
      * @param newUser The {@link UserHandle} of the user that has just been added.
      */
-    public void onUserAdded(Context context, Intent intent, @NonNull UserHandle newUser) {
+    public void onUserAdded(@NonNull Context context, @NonNull Intent intent,
+            @NonNull UserHandle newUser) {
     }
 
     /**
@@ -925,7 +935,8 @@
      * @param intent The received intent as per {@link #onReceive}.
      * @param removedUser The {@link UserHandle} of the user that has just been removed.
      */
-    public void onUserRemoved(Context context, Intent intent, @NonNull UserHandle removedUser) {
+    public void onUserRemoved(@NonNull Context context, @NonNull Intent intent,
+            @NonNull UserHandle removedUser) {
     }
 
     /**
@@ -937,7 +948,8 @@
      * @param intent The received intent as per {@link #onReceive}.
      * @param startedUser The {@link UserHandle} of the user that has just been started.
      */
-    public void onUserStarted(Context context, Intent intent, @NonNull UserHandle startedUser) {
+    public void onUserStarted(@NonNull Context context, @NonNull Intent intent,
+            @NonNull UserHandle startedUser) {
     }
 
     /**
@@ -949,7 +961,8 @@
      * @param intent The received intent as per {@link #onReceive}.
      * @param stoppedUser The {@link UserHandle} of the user that has just been stopped.
      */
-    public void onUserStopped(Context context, Intent intent, @NonNull UserHandle stoppedUser) {
+    public void onUserStopped(@NonNull Context context, @NonNull Intent intent,
+            @NonNull UserHandle stoppedUser) {
     }
 
     /**
@@ -961,7 +974,8 @@
      * @param intent The received intent as per {@link #onReceive}.
      * @param switchedUser The {@link UserHandle} of the user that has just been switched to.
      */
-    public void onUserSwitched(Context context, Intent intent, @NonNull UserHandle switchedUser) {
+    public void onUserSwitched(@NonNull Context context, @NonNull Intent intent,
+            @NonNull UserHandle switchedUser) {
     }
 
     /**
@@ -995,7 +1009,8 @@
      * @param user the {@link UserHandle} of the affiliated user
      * @see DevicePolicyManager#transferOwnership(ComponentName, ComponentName, PersistableBundle)
      */
-    public void onTransferAffiliatedProfileOwnershipComplete(Context context, UserHandle user) {
+    public void onTransferAffiliatedProfileOwnershipComplete(@NonNull Context context,
+            @NonNull UserHandle user) {
     }
 
     /**
@@ -1004,7 +1019,7 @@
      * convenience callbacks for each action.
      */
     @Override
-    public void onReceive(Context context, Intent intent) {
+    public void onReceive(@NonNull Context context, @NonNull Intent intent) {
         String action = intent.getAction();
 
         if (ACTION_PASSWORD_CHANGED.equals(action)) {
diff --git a/core/java/android/app/admin/DevicePolicyEventLogger.java b/core/java/android/app/admin/DevicePolicyEventLogger.java
index c89d868..44ea218 100644
--- a/core/java/android/app/admin/DevicePolicyEventLogger.java
+++ b/core/java/android/app/admin/DevicePolicyEventLogger.java
@@ -178,7 +178,7 @@
     }
 
     /**
-     * Retrieves the package name of the admin application from the {@link ComponentName}.
+     * Sets the package name of the admin application from the {@link ComponentName}.
      */
     public DevicePolicyEventLogger setAdmin(@Nullable ComponentName componentName) {
         mAdminPackageName = (componentName != null ? componentName.getPackageName() : null);
diff --git a/core/java/android/app/admin/DevicePolicyManager.java b/core/java/android/app/admin/DevicePolicyManager.java
index efbd098..20e85e6 100644
--- a/core/java/android/app/admin/DevicePolicyManager.java
+++ b/core/java/android/app/admin/DevicePolicyManager.java
@@ -84,7 +84,6 @@
 import android.service.restrictions.RestrictionsReceiver;
 import android.telephony.TelephonyManager;
 import android.telephony.data.ApnSetting;
-import android.text.TextUtils;
 import android.util.ArraySet;
 import android.util.Log;
 
@@ -113,6 +112,7 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.CompletableFuture;
@@ -1378,7 +1378,7 @@
      * complexity, and use this activity with extra {@link #EXTRA_PASSWORD_COMPLEXITY} to suggest
      * to users how complex the app wants the new screen lock to be. Note that both {@link
      * #getPasswordComplexity()} and the extra {@link #EXTRA_PASSWORD_COMPLEXITY} require the
-     * calling app to have the permission {@link permission#REQUEST_SCREEN_LOCK_COMPLEXITY}.
+     * calling app to have the permission {@link permission#REQUEST_PASSWORD_COMPLEXITY}.
      *
      * <p>If the intent is launched from within a managed profile with a profile
      * owner built against {@link android.os.Build.VERSION_CODES#M} or before,
@@ -1406,7 +1406,7 @@
      *
      * <p>If an invalid value is used, it will be treated as {@link #PASSWORD_COMPLEXITY_NONE}.
      */
-    @RequiresPermission(android.Manifest.permission.REQUEST_SCREEN_LOCK_COMPLEXITY)
+    @RequiresPermission(android.Manifest.permission.REQUEST_PASSWORD_COMPLEXITY)
     public static final String EXTRA_PASSWORD_COMPLEXITY =
             "android.app.extra.PASSWORD_COMPLEXITY";
 
@@ -2188,7 +2188,7 @@
      * {@code PRIVATE_DNS_MODE_PROVIDER_HOSTNAME} then it implies the supplied host is valid
      * and reachable.
      */
-    public static final int PRIVATE_DNS_SET_SUCCESS = 0;
+    public static final int PRIVATE_DNS_SET_NO_ERROR = 0;
 
     /**
      * If the {@code privateDnsHost} provided was of a valid hostname but that host was found
@@ -2205,12 +2205,12 @@
      * @hide
      */
     @IntDef(prefix = {"PRIVATE_DNS_SET_"}, value = {
-            PRIVATE_DNS_SET_SUCCESS,
+            PRIVATE_DNS_SET_NO_ERROR,
             PRIVATE_DNS_SET_ERROR_HOST_NOT_SERVING,
             PRIVATE_DNS_SET_ERROR_FAILURE_SETTING
     })
     @Retention(RetentionPolicy.SOURCE)
-    public @interface SetPrivateDnsModeResultConstants {}
+    public @interface PrivateDnsModeErrorCodes {}
 
     /**
      * Activity action: Starts the administrator to get the mode for the provisioning.
@@ -3332,27 +3332,48 @@
     }
 
     /**
-     * Determine whether the current password the user has set is sufficient to meet the policy
-     * requirements (e.g. quality, minimum length) that have been requested by the admins of this
-     * user and its participating profiles. Restrictions on profiles that have a separate challenge
-     * are not taken into account. The user must be unlocked in order to perform the check.
-     * <p>
-     * On devices not supporting {@link PackageManager#FEATURE_SECURE_LOCK_SCREEN} feature, the
-     * password is always treated as empty - i.e. this method will always return false on such
-     * devices, provided any password requirements were set.
-     * <p>
-     * The calling device admin must have requested
-     * {@link DeviceAdminInfo#USES_POLICY_LIMIT_PASSWORD} to be able to call this method; if it has
-     * not, a security exception will be thrown.
-     * <p>
-     * This method can be called on the {@link DevicePolicyManager} instance returned by
+     * Determines whether the calling user's current password meets policy requirements
+     * (e.g. quality, minimum length). The user must be unlocked to perform this check.
+     *
+     * <p>Policy requirements which affect this check can be set by admins of the user, but also
+     * by the admin of a managed profile associated with the calling user (when the managed profile
+     * doesn't have a separate work challenge). When a managed profile has a separate work
+     * challenge, its policy requirements only affect the managed profile.
+     *
+     * <p>Depending on the user, this method checks the policy requirement against one of the
+     * following passwords:
+     * <ul>
+     * <li>For the primary user or secondary users: the personal keyguard password.
+     * <li>For managed profiles: a work challenge if set, otherwise the parent user's personal
+     *     keyguard password.
+     * <ul/>
+     * In other words, it's always checking the requirement against the password that is protecting
+     * the calling user.
+     *
+     * <p>Note that this method considers all policy requirements targeting the password in
+     * question. For example a profile owner might set a requirement on the parent profile i.e.
+     * personal keyguard but not on the profile itself. When the device has a weak personal keyguard
+     * password and no separate work challenge, calling this method will return {@code false}
+     * despite the profile owner not setting a policy on the profile itself. This is because the
+     * profile's current password is the personal keyguard password, and it does not meet all policy
+     * requirements.
+     *
+     * <p>Device admins must request {@link DeviceAdminInfo#USES_POLICY_LIMIT_PASSWORD} before
+     * calling this method. Note, this policy type is deprecated for device admins in Android 9.0
+     * (API level 28) or higher.
+     *
+     * <p>This method can be called on the {@link DevicePolicyManager} instance returned by
      * {@link #getParentProfileInstance(ComponentName)} in order to determine if the password set on
      * the parent profile is sufficient.
      *
-     * @return Returns true if the password meets the current requirements, else false.
-     * @throws SecurityException if the calling application does not own an active administrator
-     *             that uses {@link DeviceAdminInfo#USES_POLICY_LIMIT_PASSWORD}
-     * @throws IllegalStateException if the user is not unlocked.
+     * <p>On devices not supporting {@link PackageManager#FEATURE_SECURE_LOCK_SCREEN} feature, the
+     * password is always treated as empty - i.e. this method will always return false on such
+     * devices, provided any password requirements were set.
+     *
+     * @return {@code true} if the password meets the policy requirements, {@code false} otherwise
+     * @throws SecurityException if the calling application isn't an active admin that uses
+     *     {@link DeviceAdminInfo#USES_POLICY_LIMIT_PASSWORD}
+     * @throws IllegalStateException if the user isn't unlocked
      */
     public boolean isActivePasswordSufficient() {
         if (mService != null) {
@@ -3373,15 +3394,12 @@
      * explicitly querying the parent profile screen lock complexity via {@link
      * #getParentProfileInstance}.
      *
-     * <p>On devices not supporting {@link PackageManager#FEATURE_SECURE_LOCK_SCREEN} feature, the
-     * password is always empty and this method returns {@link #PASSWORD_COMPLEXITY_NONE}.
-     *
      * @throws IllegalStateException if the user is not unlocked.
      * @throws SecurityException if the calling application does not have the permission
-     *                           {@link permission#REQUEST_SCREEN_LOCK_COMPLEXITY}
+     *                           {@link permission#REQUEST_PASSWORD_COMPLEXITY}
      */
     @PasswordComplexity
-    @RequiresPermission(android.Manifest.permission.REQUEST_SCREEN_LOCK_COMPLEXITY)
+    @RequiresPermission(android.Manifest.permission.REQUEST_PASSWORD_COMPLEXITY)
     public int getPasswordComplexity() {
         throwIfParentInstance("getPasswordComplexity");
         if (mService == null) {
@@ -5154,7 +5172,8 @@
      * </ul>
      * The call will fail if called with the package name of an unsupported VPN app.
      * <p> Enabling lockdown via {@code lockdownEnabled} argument carries the risk that any failure
-     * of the VPN provider could break networking for all apps.
+     * of the VPN provider could break networking for all apps. This method clears any lockdown
+     * whitelist set by {@link #setAlwaysOnVpnPackage(ComponentName, String, boolean, Set)}.
      *
      * @param vpnPackage The package name for an installed VPN app on the device, or {@code null} to
      *        remove an existing always-on VPN configuration.
@@ -5164,11 +5183,11 @@
      * @throws NameNotFoundException if {@code vpnPackage} is not installed.
      * @throws UnsupportedOperationException if {@code vpnPackage} exists but does not support being
      *         set as always-on, or if always-on VPN is not available.
-     * @see #setAlwaysOnVpnPackage(ComponentName, String, boolean, List)
+     * @see #setAlwaysOnVpnPackage(ComponentName, String, boolean, Set)
      */
     public void setAlwaysOnVpnPackage(@NonNull ComponentName admin, @Nullable String vpnPackage,
             boolean lockdownEnabled) throws NameNotFoundException {
-        setAlwaysOnVpnPackage(admin, vpnPackage, lockdownEnabled, Collections.emptyList());
+        setAlwaysOnVpnPackage(admin, vpnPackage, lockdownEnabled, Collections.emptySet());
     }
 
     /**
@@ -5178,6 +5197,11 @@
      * System apps can always bypass VPN.
      * <p> Note that the system doesn't update the whitelist when packages are installed or
      * uninstalled, the admin app must call this method to keep the list up to date.
+     * <p> When {@code lockdownEnabled} is false {@code lockdownWhitelist} is ignored . When
+     * {@code lockdownEnabled} is {@code true} and {@code lockdownWhitelist} is {@code null} or
+     * empty, only system apps can bypass VPN.
+     * <p> Setting always-on VPN package to {@code null} or using
+     * {@link #setAlwaysOnVpnPackage(ComponentName, String, boolean)} clears lockdown whitelist.
      *
      * @param vpnPackage package name for an installed VPN app on the device, or {@code null}
      *         to remove an existing always-on VPN configuration
@@ -5194,13 +5218,13 @@
      *         available.
      */
     public void setAlwaysOnVpnPackage(@NonNull ComponentName admin, @Nullable String vpnPackage,
-            boolean lockdownEnabled, @Nullable List<String> lockdownWhitelist)
+            boolean lockdownEnabled, @Nullable Set<String> lockdownWhitelist)
             throws NameNotFoundException {
         throwIfParentInstance("setAlwaysOnVpnPackage");
         if (mService != null) {
             try {
-                mService.setAlwaysOnVpnPackage(
-                        admin, vpnPackage, lockdownEnabled, lockdownWhitelist);
+                mService.setAlwaysOnVpnPackage(admin, vpnPackage, lockdownEnabled,
+                        lockdownWhitelist == null ? null : new ArrayList<>(lockdownWhitelist));
             } catch (ServiceSpecificException e) {
                 switch (e.errorCode) {
                     case ERROR_VPN_PACKAGE_NOT_FOUND:
@@ -5238,7 +5262,7 @@
     }
 
     /**
-     * Called by device or profile owner to query the list of packages that are allowed to access
+     * Called by device or profile owner to query the set of packages that are allowed to access
      * the network directly when always-on VPN is in lockdown mode but not connected. Returns
      * {@code null} when always-on VPN is not active or not in lockdown mode.
      *
@@ -5246,13 +5270,15 @@
      *
      * @throws SecurityException if {@code admin} is not a device or a profile owner.
      *
-     * @see #setAlwaysOnVpnPackage(ComponentName, String, boolean, List)
+     * @see #setAlwaysOnVpnPackage(ComponentName, String, boolean, Set)
      */
-    public @Nullable List<String> getAlwaysOnVpnLockdownWhitelist(@NonNull ComponentName admin) {
+    public @Nullable Set<String> getAlwaysOnVpnLockdownWhitelist(@NonNull ComponentName admin) {
         throwIfParentInstance("getAlwaysOnVpnLockdownWhitelist");
         if (mService != null) {
             try {
-                return mService.getAlwaysOnVpnLockdownWhitelist(admin);
+                final List<String> whitelist =
+                        mService.getAlwaysOnVpnLockdownWhitelist(admin);
+                return whitelist == null ? null : new HashSet<>(whitelist);
             } catch (RemoteException e) {
                 throw e.rethrowFromSystemServer();
             }
@@ -6322,7 +6348,6 @@
      */
     @RequiresPermission(value = android.Manifest.permission.INTERACT_ACROSS_USERS,
             conditional = true)
-    @SystemApi
     public @Nullable ComponentName getProfileOwnerAsUser(@NonNull UserHandle user) {
         if (mService != null) {
             try {
@@ -10450,13 +10475,41 @@
     }
 
     /**
-     * Sets the global Private DNS mode and host to be used.
+     * Sets the global Private DNS mode to opportunistic.
      * May only be called by the device owner.
      *
-     * <p>Note that in case a Private DNS resolver is specified, the method is blocking as it
-     * will perform a connectivity check to the resolver, to ensure it is valid. Because of that,
-     * the method should not be called on any thread that relates to user interaction, such as the
-     * UI thread.
+     * <p>In this mode, the DNS subsystem will attempt a TLS handshake to the network-supplied
+     * resolver prior to attempting name resolution in cleartext.
+     *
+     * @param admin which {@link DeviceAdminReceiver} this request is associated with.
+     *
+     * @return {@code PRIVATE_DNS_SET_NO_ERROR} if the mode was set successfully, or
+     *         {@code PRIVATE_DNS_SET_ERROR_FAILURE_SETTING} if it could not be set.
+     *
+     * @throws SecurityException if the caller is not the device owner.
+     */
+    public @PrivateDnsModeErrorCodes int setGlobalPrivateDnsModeOpportunistic(
+            @NonNull ComponentName admin) {
+        throwIfParentInstance("setGlobalPrivateDnsModeOpportunistic");
+
+        if (mService == null) {
+            return PRIVATE_DNS_SET_ERROR_FAILURE_SETTING;
+        }
+
+        try {
+            return mService.setGlobalPrivateDns(admin, PRIVATE_DNS_MODE_OPPORTUNISTIC, null);
+        } catch (RemoteException re) {
+            throw re.rethrowFromSystemServer();
+        }
+    }
+
+    /**
+     * Sets the global Private DNS host to be used.
+     * May only be called by the device owner.
+     *
+     * <p>Note that the method is blocking as it will perform a connectivity check to the resolver,
+     * to ensure it is valid. Because of that, the method should not be called on any thread that
+     * relates to user interaction, such as the UI thread.
      *
      * <p>In case a VPN is used in conjunction with Private DNS resolver, the Private DNS resolver
      * must be reachable both from within and outside the VPN. Otherwise, the device may lose
@@ -10464,41 +10517,35 @@
      * VPN.
      *
      * @param admin which {@link DeviceAdminReceiver} this request is associated with.
-     * @param mode Which mode to set - either {@code PRIVATE_DNS_MODE_OPPORTUNISTIC} or
-     *             {@code PRIVATE_DNS_MODE_PROVIDER_HOSTNAME}.
-     *             Since the opportunistic mode defaults to ordinary DNS lookups, the
-     *             option to turn it completely off is not available, so this method
-     *             may not be called with {@code PRIVATE_DNS_MODE_OFF}.
-     * @param privateDnsHost The hostname of a server that implements DNS over TLS (RFC7858), if
-     *                       {@code PRIVATE_DNS_MODE_PROVIDER_HOSTNAME} was specified as the mode,
-     *                       null otherwise.
+     * @param privateDnsHost The hostname of a server that implements DNS over TLS (RFC7858).
      *
-     * @return One of the values in {@link SetPrivateDnsModeResultConstants}.
+     * @return {@code PRIVATE_DNS_SET_NO_ERROR} if the mode was set successfully,
+     *         {@code PRIVATE_DNS_SET_ERROR_FAILURE_SETTING} if it could not be set or
+     *         {@code PRIVATE_DNS_SET_ERROR_HOST_NOT_SERVING} if the specified host does not
+     *         implement RFC7858.
      *
-     * @throws IllegalArgumentException in the following cases: if a {@code privateDnsHost} was
-     * provided but the mode was not {@code PRIVATE_DNS_MODE_PROVIDER_HOSTNAME}, if the mode
-     * specified was {@code PRIVATE_DNS_MODE_PROVIDER_HOSTNAME} but {@code privateDnsHost} does
-     * not look like a valid hostname, or if the mode specified is not one of the two valid modes.
+     * @throws IllegalArgumentException if the {@code privateDnsHost} is not a valid hostname.
      *
      * @throws SecurityException if the caller is not the device owner.
      */
-    public int setGlobalPrivateDns(@NonNull ComponentName admin,
-            @PrivateDnsMode int mode, @Nullable String privateDnsHost) {
-        throwIfParentInstance("setGlobalPrivateDns");
+    @WorkerThread public @PrivateDnsModeErrorCodes int setGlobalPrivateDnsModeSpecifiedHost(
+            @NonNull ComponentName admin, @NonNull String privateDnsHost) {
+        throwIfParentInstance("setGlobalPrivateDnsModeSpecifiedHost");
+        Preconditions.checkNotNull(privateDnsHost, "dns resolver is null");
 
         if (mService == null) {
             return PRIVATE_DNS_SET_ERROR_FAILURE_SETTING;
         }
 
-        if (mode == PRIVATE_DNS_MODE_PROVIDER_HOSTNAME && !TextUtils.isEmpty(privateDnsHost)
-                && NetworkUtils.isWeaklyValidatedHostname(privateDnsHost)) {
+        if (NetworkUtils.isWeaklyValidatedHostname(privateDnsHost)) {
             if (!PrivateDnsConnectivityChecker.canConnectToPrivateDnsServer(privateDnsHost)) {
                 return PRIVATE_DNS_SET_ERROR_HOST_NOT_SERVING;
             }
         }
 
         try {
-            return mService.setGlobalPrivateDns(admin, mode, privateDnsHost);
+            return mService.setGlobalPrivateDns(
+                    admin, PRIVATE_DNS_MODE_PROVIDER_HOSTNAME, privateDnsHost);
         } catch (RemoteException re) {
             throw re.rethrowFromSystemServer();
         }
@@ -10586,10 +10633,10 @@
      * Returns the system-wide Private DNS host.
      *
      * @param admin which {@link DeviceAdminReceiver} this request is associated with.
-     * @return The hostname used for Private DNS queries.
+     * @return The hostname used for Private DNS queries, null if none is set.
      * @throws SecurityException if the caller is not the device owner.
      */
-    public String getGlobalPrivateDnsHost(@NonNull ComponentName admin) {
+    public @Nullable String getGlobalPrivateDnsHost(@NonNull ComponentName admin) {
         throwIfParentInstance("setGlobalPrivateDns");
         if (mService == null) {
             return null;
@@ -10619,31 +10666,30 @@
     @SystemApi
     @RequiresPermission(value = android.Manifest.permission.GRANT_PROFILE_OWNER_DEVICE_IDS_ACCESS,
             conditional = true)
-    public void setProfileOwnerCanAccessDeviceIdsForUser(
-            @NonNull ComponentName who, @NonNull UserHandle userHandle) {
+    public void setProfileOwnerCanAccessDeviceIds(@NonNull ComponentName who) {
         if (mService == null) {
             return;
         }
         try {
-            mService.grantDeviceIdsAccessToProfileOwner(who, userHandle.getIdentifier());
+            mService.grantDeviceIdsAccessToProfileOwner(who, myUserId());
         } catch (RemoteException re) {
             throw re.rethrowFromSystemServer();
         }
     }
 
     /**
-     * Whitelists a set of packages that are allowed to access cross-profile calendar APIs.
+     * Allows a set of packages to access cross-profile calendar APIs.
      *
      * <p>Called by a profile owner of a managed profile.
      *
-     * <p>Calling with a null value for the set disables the restriction so that all packages
-     * are allowed to access cross-profile calendar APIs. Calling with an empty set disallows
-     * all packages from accessing cross-profile calendar APIs. If this method isn't called,
-     * no package will be allowed to access cross-profile calendar APIs by default.
+     * <p>Calling with a {@code null} value for the set disables the restriction so that all
+     * packages are allowed to access cross-profile calendar APIs. Calling with an empty set
+     * disallows all packages from accessing cross-profile calendar APIs. If this method isn't
+     * called, no package is allowed to access cross-profile calendar APIs by default.
      *
-     * @param admin which {@link DeviceAdminReceiver} this request is associated with.
-     * @param packageNames set of packages to be whitelisted.
-     * @throws SecurityException if {@code admin} is not a profile owner.
+     * @param admin which {@link DeviceAdminReceiver} this request is associated with
+     * @param packageNames set of packages to be whitelisted
+     * @throws SecurityException if {@code admin} is not a profile owner
      *
      * @see #getCrossProfileCalendarPackages(ComponentName)
      */
@@ -10661,15 +10707,15 @@
     }
 
     /**
-     * Gets a set of package names that are whitelisted to access cross-profile calendar APIs.
+     * Gets a set of package names that are allowed to access cross-profile calendar APIs.
      *
      * <p>Called by a profile owner of a managed profile.
      *
-     * @param admin which {@link DeviceAdminReceiver} this request is associated with.
-     * @return the set of names of packages that were previously whitelisted via
+     * @param admin which {@link DeviceAdminReceiver} this request is associated with
+     * @return the set of names of packages that were previously allowed via
      * {@link #setCrossProfileCalendarPackages(ComponentName, Set)}, or an
-     * empty set if none have been whitelisted.
-     * @throws SecurityException if {@code admin} is not a profile owner.
+     * empty set if none have been allowed
+     * @throws SecurityException if {@code admin} is not a profile owner
      *
      * @see #setCrossProfileCalendarPackages(ComponentName, Set)
      */
@@ -10699,8 +10745,8 @@
      * that user, and get a {@link DevicePolicyManager} from this context.
      *
      * @param packageName the name of the package
-     * @return {@code true} if the package is allowed to access cross-profile calendar APIs.
-     * {@code false} otherwise.
+     * @return {@code true} if the package is allowed to access cross-profile calendar APIs,
+     * {@code false} otherwise
      *
      * @see #setCrossProfileCalendarPackages(ComponentName, Set)
      * @see #getCrossProfileCalendarPackages(ComponentName)
@@ -10720,15 +10766,15 @@
     }
 
     /**
-     * Gets a set of package names that are whitelisted to access cross-profile calendar APIs.
+     * Gets a set of package names that are allowed to access cross-profile calendar APIs.
      *
      * <p>To query for a specific user, use
      * {@link Context#createPackageContextAsUser(String, int, UserHandle)} to create a context for
      * that user, and get a {@link DevicePolicyManager} from this context.
      *
-     * @return the set of names of packages that were previously whitelisted via
+     * @return the set of names of packages that were previously allowed via
      * {@link #setCrossProfileCalendarPackages(ComponentName, Set)}, or an
-     * empty set if none have been whitelisted.
+     * empty set if none have been allowed
      *
      * @see #setCrossProfileCalendarPackages(ComponentName, Set)
      * @see #getCrossProfileCalendarPackages(ComponentName)
@@ -10820,12 +10866,12 @@
     /**
      * Starts an activity to view calendar events in the managed profile.
      *
-     * @param eventId the id of the event to be viewed.
-     * @param start the start time of the event.
-     * @param end the end time of the event.
-     * @param allDay if the event is an all-day event.
+     * @param eventId the id of the event to be viewed
+     * @param start the start time of the event
+     * @param end the end time of the event
+     * @param allDay if the event is an all-day event
      * @param flags flags to be set for the intent
-     * @return {@code true} if the activity is started successfully. {@code false} otherwise.
+     * @return {@code true} if the activity is started successfully, {@code false} otherwise
      *
      * @see CalendarContract#startViewCalendarEventInManagedProfile(Context, String, long, long,
      * long, boolean, int)
diff --git a/core/java/android/app/backup/IRestoreSession.aidl b/core/java/android/app/backup/IRestoreSession.aidl
index b9e9485..c3a298b 100644
--- a/core/java/android/app/backup/IRestoreSession.aidl
+++ b/core/java/android/app/backup/IRestoreSession.aidl
@@ -71,8 +71,8 @@
      *   applications mentioned in this list will have their data restored.
      * @param monitor If non null the binder will send important events to this monitor.
      */
-    int restoreSome(long token, IRestoreObserver observer, IBackupManagerMonitor monitor,
-            in String[] packages);
+    int restorePackages(long token, IRestoreObserver observer, in String[] packages,
+            IBackupManagerMonitor monitor);
 
     /**
      * Restore a single application from backup.  The data will be restored from the
diff --git a/core/java/android/app/backup/RestoreSession.java b/core/java/android/app/backup/RestoreSession.java
index 79925ec..084b13b 100644
--- a/core/java/android/app/backup/RestoreSession.java
+++ b/core/java/android/app/backup/RestoreSession.java
@@ -16,6 +16,8 @@
 
 package android.app.backup;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.content.Context;
 import android.os.Bundle;
@@ -24,6 +26,10 @@
 import android.os.RemoteException;
 import android.util.Log;
 
+import java.util.Arrays;
+import java.util.HashSet;
+import java.util.Set;
+
 /**
  * Interface for managing a restore session.
  * @hide
@@ -138,14 +144,15 @@
      *   the restore set that should be used.
      * @param observer If non-null, this binder points to an object that will receive
      *   progress callbacks during the restore operation.
-     * @param monitor If non-null, this binder points to an object that will receive
-     *   progress callbacks during the restore operation.
      * @param packages The set of packages for which to attempt a restore.  Regardless of
      *   the contents of the actual back-end dataset named by {@code token}, only
      *   applications mentioned in this list will have their data restored.
+     * @param monitor If non-null, this binder points to an object that will receive
+     *   progress callbacks during the restore operation containing detailed information on any
+     *   failures or important decisions made by {@link BackupManager}.
      */
-    public int restoreSome(long token, RestoreObserver observer, BackupManagerMonitor monitor,
-            String[] packages) {
+    public int restorePackages(long token, @Nullable RestoreObserver observer,
+            @NonNull Set<String> packages, @Nullable BackupManagerMonitor monitor) {
         int err = -1;
         if (mObserver != null) {
             Log.d(TAG, "restoreAll() called during active restore");
@@ -156,7 +163,8 @@
                 ? null
                 : new BackupManagerMonitorWrapper(monitor);
         try {
-            err = mBinder.restoreSome(token, mObserver, monitorWrapper, packages);
+            err = mBinder.restorePackages(token, mObserver, packages.toArray(new String[] {}),
+                    monitorWrapper);
         } catch (RemoteException e) {
             Log.d(TAG, "Can't contact server to restore packages");
         }
@@ -180,6 +188,60 @@
      *   the contents of the actual back-end dataset named by {@code token}, only
      *   applications mentioned in this list will have their data restored.
      */
+    public int restorePackages(long token, @Nullable RestoreObserver observer,
+            @NonNull Set<String> packages) {
+        return restorePackages(token, observer, packages, null);
+    }
+
+    /**
+     * Restore select packages from the given set onto the device, replacing the
+     * current data of any app contained in the set with the data previously
+     * backed up.
+     *
+     * <p>Callers must hold the android.permission.BACKUP permission to use this method.
+     *
+     * @return Zero on success, nonzero on error. The observer will only receive
+     *   progress callbacks if this method returned zero.
+     * @param token The token from {@link getAvailableRestoreSets()} corresponding to
+     *   the restore set that should be used.
+     * @param observer If non-null, this binder points to an object that will receive
+     *   progress callbacks during the restore operation.
+     * @param monitor If non-null, this binder points to an object that will receive
+     *   progress callbacks during the restore operation.
+     * @param packages The set of packages for which to attempt a restore.  Regardless of
+     *   the contents of the actual back-end dataset named by {@code token}, only
+     *   applications mentioned in this list will have their data restored.
+     *
+     * @deprecated use {@link RestoreSession#restorePackages(long, RestoreObserver,
+     *   BackupManagerMonitor, Set)} instead.
+     */
+    @Deprecated
+    public int restoreSome(long token, RestoreObserver observer, BackupManagerMonitor monitor,
+            String[] packages) {
+        return restorePackages(token, observer, new HashSet<>(Arrays.asList(packages)), monitor);
+    }
+
+    /**
+     * Restore select packages from the given set onto the device, replacing the
+     * current data of any app contained in the set with the data previously
+     * backed up.
+     *
+     * <p>Callers must hold the android.permission.BACKUP permission to use this method.
+     *
+     * @return Zero on success, nonzero on error. The observer will only receive
+     *   progress callbacks if this method returned zero.
+     * @param token The token from {@link getAvailableRestoreSets()} corresponding to
+     *   the restore set that should be used.
+     * @param observer If non-null, this binder points to an object that will receive
+     *   progress callbacks during the restore operation.
+     * @param packages The set of packages for which to attempt a restore.  Regardless of
+     *   the contents of the actual back-end dataset named by {@code token}, only
+     *   applications mentioned in this list will have their data restored.
+     *
+     * @deprecated use {@link RestoreSession#restorePackages(long, RestoreObserver, Set)}
+     *   instead.
+     */
+    @Deprecated
     public int restoreSome(long token, RestoreObserver observer, String[] packages) {
         return restoreSome(token, observer, null, packages);
     }
diff --git a/core/java/android/app/contentsuggestions/ContentSuggestionsManager.java b/core/java/android/app/contentsuggestions/ContentSuggestionsManager.java
index b4d8977..1bb81b1 100644
--- a/core/java/android/app/contentsuggestions/ContentSuggestionsManager.java
+++ b/core/java/android/app/contentsuggestions/ContentSuggestionsManager.java
@@ -20,11 +20,14 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
+import android.annotation.UserIdInt;
 import android.os.Binder;
 import android.os.Bundle;
 import android.os.RemoteException;
 import android.util.Log;
 
+import com.android.internal.util.SyncResultReceiver;
+
 import java.util.List;
 import java.util.concurrent.Executor;
 
@@ -44,12 +47,22 @@
 public final class ContentSuggestionsManager {
     private static final String TAG = ContentSuggestionsManager.class.getSimpleName();
 
+    /**
+     * Timeout for calls to system_server.
+     */
+    private static final int SYNC_CALLS_TIMEOUT_MS = 5000;
+
     @Nullable
     private final IContentSuggestionsManager mService;
 
+    @NonNull
+    private final int mUser;
+
     /** @hide */
-    public ContentSuggestionsManager(@Nullable IContentSuggestionsManager service) {
+    public ContentSuggestionsManager(
+            @UserIdInt int userId, @Nullable IContentSuggestionsManager service) {
         mService = service;
+        mUser = userId;
     }
 
     /**
@@ -60,14 +73,15 @@
      * @param imageContextRequestExtras sent with with request to provide implementation specific
      *                                  extra information.
      */
-    public void provideContextImage(int taskId, @NonNull Bundle imageContextRequestExtras) {
+    public void provideContextImage(
+            int taskId, @NonNull Bundle imageContextRequestExtras) {
         if (mService == null) {
             Log.e(TAG, "provideContextImage called, but no ContentSuggestionsManager configured");
             return;
         }
 
         try {
-            mService.provideContextImage(taskId, imageContextRequestExtras);
+            mService.provideContextImage(mUser, taskId, imageContextRequestExtras);
         } catch (RemoteException e) {
             e.rethrowFromSystemServer();
         }
@@ -96,7 +110,7 @@
 
         try {
             mService.suggestContentSelections(
-                    request, new SelectionsCallbackWrapper(callback, callbackExecutor));
+                    mUser, request, new SelectionsCallbackWrapper(callback, callbackExecutor));
         } catch (RemoteException e) {
             e.rethrowFromSystemServer();
         }
@@ -123,7 +137,7 @@
 
         try {
             mService.classifyContentSelections(
-                    request, new ClassificationsCallbackWrapper(callback, callbackExecutor));
+                    mUser, request, new ClassificationsCallbackWrapper(callback, callbackExecutor));
         } catch (RemoteException e) {
             e.rethrowFromSystemServer();
         }
@@ -135,20 +149,42 @@
      * @param requestId the id for the associated interaction
      * @param interaction to report back to the system content suggestions service.
      */
-    public void notifyInteraction(@NonNull String requestId, @NonNull Bundle interaction) {
+    public void notifyInteraction(
+            @NonNull String requestId, @NonNull Bundle interaction) {
         if (mService == null) {
             Log.e(TAG, "notifyInteraction called, but no ContentSuggestionsManager configured");
             return;
         }
 
         try {
-            mService.notifyInteraction(requestId, interaction);
+            mService.notifyInteraction(mUser, requestId, interaction);
         } catch (RemoteException e) {
             e.rethrowFromSystemServer();
         }
     }
 
     /**
+     * Indicates that Content Suggestions is available and enabled for the provided user. That is,
+     * has an implementation and not disabled through device management.
+     *
+     * @return {@code true} if Content Suggestions is enabled and available for the provided user.
+     */
+    public boolean isEnabled() {
+        if (mService == null) {
+            return false;
+        }
+
+        SyncResultReceiver receiver = new SyncResultReceiver(SYNC_CALLS_TIMEOUT_MS);
+        try {
+            mService.isEnabled(mUser, receiver);
+            return receiver.getIntResult() != 0;
+        } catch (RemoteException e) {
+            e.rethrowFromSystemServer();
+        }
+        return false;
+    }
+
+    /**
      * Callback to receive content selections from
      *  {@link #suggestContentSelections(SelectionsRequest, Executor, SelectionsCallback)}.
      */
diff --git a/core/java/android/app/contentsuggestions/IContentSuggestionsManager.aidl b/core/java/android/app/contentsuggestions/IContentSuggestionsManager.aidl
index 24f5ad8..b18a758 100644
--- a/core/java/android/app/contentsuggestions/IContentSuggestionsManager.aidl
+++ b/core/java/android/app/contentsuggestions/IContentSuggestionsManager.aidl
@@ -21,17 +21,23 @@
 import android.app.contentsuggestions.ClassificationsRequest;
 import android.app.contentsuggestions.SelectionsRequest;
 import android.os.Bundle;
+import android.os.UserHandle;
+import com.android.internal.os.IResultReceiver;
 
 /** @hide */
 oneway interface IContentSuggestionsManager {
     void provideContextImage(
+            int userId,
             int taskId,
             in Bundle imageContextRequestExtras);
     void suggestContentSelections(
+            int userId,
             in SelectionsRequest request,
             in ISelectionsCallback callback);
     void classifyContentSelections(
+            int userId,
             in ClassificationsRequest request,
             in IClassificationsCallback callback);
-    void notifyInteraction(in String requestId, in Bundle interaction);
+    void notifyInteraction(int userId, in String requestId, in Bundle interaction);
+    void isEnabled(int userId, in IResultReceiver receiver);
 }
diff --git a/core/java/android/app/prediction/AppPredictionContext.java b/core/java/android/app/prediction/AppPredictionContext.java
index 2da4671..298b003 100644
--- a/core/java/android/app/prediction/AppPredictionContext.java
+++ b/core/java/android/app/prediction/AppPredictionContext.java
@@ -15,6 +15,7 @@
  */
 package android.app.prediction;
 
+import android.annotation.IntRange;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
@@ -25,7 +26,8 @@
 import android.os.Parcelable;
 
 /**
- * TODO(b/111701043): Add java docs
+ * Class that provides contextual information about the environment in which the app prediction is
+ * used, such as package name, UI in which the app targets are shown, and number of targets.
  *
  * @hide
  */
@@ -49,26 +51,39 @@
         mExtras = extras;
     }
 
-    private AppPredictionContext(Parcel parcel) {
+    private AppPredictionContext(@NonNull Parcel parcel) {
         mUiSurface = parcel.readString();
         mPredictedTargetCount = parcel.readInt();
         mPackageName = parcel.readString();
         mExtras = parcel.readBundle();
     }
 
+    /**
+     * Returns the UI surface of the prediction context.
+     */
+    @NonNull
     public String getUiSurface() {
         return mUiSurface;
     }
 
-    public int getPredictedTargetCount() {
+    /**
+     * Returns the predicted target count
+     */
+    public @IntRange(from = 0) int getPredictedTargetCount() {
         return mPredictedTargetCount;
     }
 
+    /**
+     * Returns the package name of the prediction context.
+     */
     @NonNull
     public String getPackageName() {
         return mPackageName;
     }
 
+    /**
+     * Returns the extras of the prediction context.
+     */
     @Nullable
     public Bundle getExtras() {
         return mExtras;
@@ -91,16 +106,13 @@
     }
 
     @Override
-    public void writeToParcel(Parcel dest, int flags) {
+    public void writeToParcel(@NonNull Parcel dest, int flags) {
         dest.writeString(mUiSurface);
         dest.writeInt(mPredictedTargetCount);
         dest.writeString(mPackageName);
         dest.writeBundle(mExtras);
     }
 
-    /**
-     * @see Parcelable.Creator
-     */
     public static final @android.annotation.NonNull Parcelable.Creator<AppPredictionContext> CREATOR =
             new Parcelable.Creator<AppPredictionContext>() {
                 public AppPredictionContext createFromParcel(Parcel parcel) {
@@ -130,7 +142,7 @@
         private Bundle mExtras;
 
         /**
-         * TODO(b/123591863): Add java docs
+         * @param context The {@link Context} of the prediction client.
          *
          * @hide
          */
@@ -144,7 +156,8 @@
         /**
          * Sets the number of prediction targets as a hint.
          */
-        public Builder setPredictedTargetCount(int predictedTargetCount) {
+        @NonNull
+        public Builder setPredictedTargetCount(@IntRange(from = 0) int predictedTargetCount) {
             mPredictedTargetCount = predictedTargetCount;
             return this;
         }
@@ -152,7 +165,8 @@
         /**
          * Sets the UI surface.
          */
-        public Builder setUiSurface(@Nullable String uiSurface) {
+        @NonNull
+        public Builder setUiSurface(@NonNull String uiSurface) {
             mUiSurface = uiSurface;
             return this;
         }
@@ -160,6 +174,7 @@
         /**
          * Sets the extras.
          */
+        @NonNull
         public Builder setExtras(@Nullable Bundle extras) {
             mExtras = extras;
             return this;
@@ -168,6 +183,7 @@
         /**
          * Builds a new context instance.
          */
+        @NonNull
         public AppPredictionContext build() {
             return new AppPredictionContext(mUiSurface, mPredictedTargetCount, mPackageName,
                     mExtras);
diff --git a/core/java/android/app/prediction/AppPredictionManager.java b/core/java/android/app/prediction/AppPredictionManager.java
index 99f78f1..cb5b7e7 100644
--- a/core/java/android/app/prediction/AppPredictionManager.java
+++ b/core/java/android/app/prediction/AppPredictionManager.java
@@ -23,7 +23,8 @@
 import com.android.internal.util.Preconditions;
 
 /**
- * TODO (b/111701043) : Add java doc
+ * Class that provides methods to create prediction clients.
+ *
  * @hide
  */
 @SystemApi
@@ -42,6 +43,7 @@
     /**
      * Creates a new app prediction session.
      */
+    @NonNull
     public AppPredictor createAppPredictionSession(
             @NonNull AppPredictionContext predictionContext) {
         return new AppPredictor(mContext, predictionContext);
diff --git a/core/java/android/app/prediction/AppPredictionSessionId.java b/core/java/android/app/prediction/AppPredictionSessionId.java
index 1c5d8b4..281a16f 100644
--- a/core/java/android/app/prediction/AppPredictionSessionId.java
+++ b/core/java/android/app/prediction/AppPredictionSessionId.java
@@ -22,7 +22,7 @@
 import android.os.Parcelable;
 
 /**
- * TODO (b/111701043) : Add java doc
+ * The id for an app prediction session. See {@link AppPredictor}.
  *
  * @hide
  */
@@ -33,6 +33,8 @@
     private final String mId;
 
     /**
+     * Creates a new id for a prediction session.
+     *
      * @hide
      */
     public AppPredictionSessionId(@NonNull String id) {
@@ -58,7 +60,6 @@
 
     @Override
     public int hashCode() {
-        // Ensure that the id has a consistent hash
         return mId.hashCode();
     }
 
@@ -72,9 +73,6 @@
         dest.writeString(mId);
     }
 
-    /**
-     * @see Parcelable.Creator
-     */
     public static final @android.annotation.NonNull Parcelable.Creator<AppPredictionSessionId> CREATOR =
             new Parcelable.Creator<AppPredictionSessionId>() {
                 public AppPredictionSessionId createFromParcel(Parcel parcel) {
diff --git a/core/java/android/app/prediction/AppPredictor.java b/core/java/android/app/prediction/AppPredictor.java
index 12d6ce3..3e4e8dc 100644
--- a/core/java/android/app/prediction/AppPredictor.java
+++ b/core/java/android/app/prediction/AppPredictor.java
@@ -39,7 +39,7 @@
 import java.util.function.Consumer;
 
 /**
- * TODO (b/111701043) : Add java doc
+ * Class that represents an App Prediction client.
  *
  * <p>
  * Usage: <pre> {@code
@@ -49,14 +49,20 @@
  *
  *    void onCreate() {
  *         mClient = new AppPredictor(...)
+ *         mClient.registerPredictionUpdates(...)
  *    }
  *
  *    void onStart() {
- *        mClient.requestPredictionUpdate();
+ *        mClient.requestPredictionUpdate()
+ *    }
+ *
+ *    void onClick(...) {
+ *        mClient.notifyAppTargetEvent(...)
  *    }
  *
  *    void onDestroy() {
- *        mClient.close();
+ *        mClient.unregisterPredictionUpdates()
+ *        mClient.close()
  *    }
  *
  * }</pre>
@@ -83,7 +89,8 @@
      * The caller should call {@link AppPredictor#destroy()} to dispose the client once it
      * no longer used.
      *
-     * @param predictionContext The prediction context
+     * @param context The {@link Context} of the user of this {@link AppPredictor}.
+     * @param predictionContext The prediction context.
      */
     AppPredictor(@NonNull Context context, @NonNull AppPredictionContext predictionContext) {
         IBinder b = ServiceManager.getService(Context.APP_PREDICTION_SERVICE);
@@ -94,7 +101,7 @@
             mPredictionManager.createPredictionSession(predictionContext, mSessionId);
         } catch (RemoteException e) {
             Log.e(TAG, "Failed to create predictor", e);
-            return;
+            e.rethrowAsRuntimeException();
         }
 
         mCloseGuard.open("close");
@@ -102,6 +109,8 @@
 
     /**
      * Notifies the prediction service of an app target event.
+     *
+     * @param event The {@link AppTargetEvent} that represents the app target event.
      */
     public void notifyAppTargetEvent(@NonNull AppTargetEvent event) {
         if (mIsClosed.get()) {
@@ -112,11 +121,15 @@
             mPredictionManager.notifyAppTargetEvent(mSessionId, event);
         } catch (RemoteException e) {
             Log.e(TAG, "Failed to notify app target event", e);
+            e.rethrowAsRuntimeException();
         }
     }
 
     /**
      * Notifies the prediction service when the targets in a launch location are shown to the user.
+     *
+     * @param launchLocation The launch location where the targets are shown to the user.
+     * @param targetIds List of {@link AppTargetId}s that are shown to the user.
      */
     public void notifyLocationShown(@NonNull String launchLocation,
             @NonNull List<AppTargetId> targetIds) {
@@ -129,6 +142,7 @@
                     new ParceledListSlice<>(targetIds));
         } catch (RemoteException e) {
             Log.e(TAG, "Failed to notify location shown event", e);
+            e.rethrowAsRuntimeException();
         }
     }
 
@@ -136,7 +150,10 @@
      * Requests the prediction service provide continuous updates of App predictions via the
      * provided callback, until the given callback is unregistered.
      *
-     * @see Callback#onTargetsAvailable(List)
+     * @see Callback#onTargetsAvailable(List).
+     *
+     * @param callbackExecutor The callback executor to use when calling the callback.
+     * @param callback The Callback to be called when updates of App predictions are available.
      */
     public void registerPredictionUpdates(@NonNull @CallbackExecutor Executor callbackExecutor,
             @NonNull AppPredictor.Callback callback) {
@@ -155,12 +172,17 @@
             mRegisteredCallbacks.put(callback, callbackWrapper);
         } catch (RemoteException e) {
             Log.e(TAG, "Failed to register for prediction updates", e);
+            e.rethrowAsRuntimeException();
         }
     }
 
     /**
      * Requests the prediction service to stop providing continuous updates to the provided
      * callback until the callback is re-registered.
+     *
+     * @see {@link AppPredictor#registerPredictionUpdates(Executor, Callback)}.
+     *
+     * @param callback The callback to be unregistered.
      */
     public void unregisterPredictionUpdates(@NonNull AppPredictor.Callback callback) {
         if (mIsClosed.get()) {
@@ -176,6 +198,7 @@
             mPredictionManager.unregisterPredictionUpdates(mSessionId, callbackWrapper);
         } catch (RemoteException e) {
             Log.e(TAG, "Failed to unregister for prediction updates", e);
+            e.rethrowAsRuntimeException();
         }
     }
 
@@ -183,7 +206,7 @@
      * Requests the prediction service to dispatch a new set of App predictions via the provided
      * callback.
      *
-     * @see Callback#onTargetsAvailable(List)
+     * @see Callback#onTargetsAvailable(List).
      */
     public void requestPredictionUpdate() {
         if (mIsClosed.get()) {
@@ -194,12 +217,17 @@
             mPredictionManager.requestPredictionUpdate(mSessionId);
         } catch (RemoteException e) {
             Log.e(TAG, "Failed to request prediction update", e);
+            e.rethrowAsRuntimeException();
         }
     }
 
     /**
      * Returns a new list of AppTargets sorted based on prediction rank or {@code null} if the
      * ranker is not available.
+     *
+     * @param targets List of app targets to be sorted.
+     * @param callbackExecutor The callback executor to use when calling the callback.
+     * @param callback The callback to return the sorted list of app targets.
      */
     @Nullable
     public void sortTargets(@NonNull List<AppTarget> targets,
@@ -213,14 +241,13 @@
                     new CallbackWrapper(callbackExecutor, callback));
         } catch (RemoteException e) {
             Log.e(TAG, "Failed to sort targets", e);
+            e.rethrowAsRuntimeException();
         }
     }
 
     /**
      * Destroys the client and unregisters the callback. Any method on this class after this call
      * with throw {@link IllegalStateException}.
-     *
-     * TODO(b/111701043): Add state check in other methods.
      */
     public void destroy() {
         if (!mIsClosed.getAndSet(true)) {
@@ -231,6 +258,7 @@
                 mPredictionManager.onDestroyPredictionSession(mSessionId);
             } catch (RemoteException e) {
                 Log.e(TAG, "Failed to notify app target event", e);
+                e.rethrowAsRuntimeException();
             }
         } else {
             throw new IllegalStateException("This client has already been destroyed.");
@@ -250,7 +278,7 @@
     }
 
     /**
-     * TODO(b/123591863): Add java docs
+     * Returns the id of this prediction session.
      *
      * @hide
      */
@@ -266,7 +294,7 @@
 
         /**
          * Called when a new set of predicted app targets are available.
-         * @param targets Sorted list of predicted targets
+         * @param targets Sorted list of predicted targets.
          */
         void onTargetsAvailable(@NonNull List<AppTarget> targets);
     }
diff --git a/core/java/android/app/prediction/AppTarget.java b/core/java/android/app/prediction/AppTarget.java
index 752c92b..bb1b96c 100644
--- a/core/java/android/app/prediction/AppTarget.java
+++ b/core/java/android/app/prediction/AppTarget.java
@@ -15,6 +15,7 @@
  */
 package android.app.prediction;
 
+import android.annotation.IntRange;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
@@ -28,6 +29,7 @@
 
 /**
  * A representation of a launchable target.
+ *
  * @hide
  */
 @SystemApi
@@ -44,7 +46,12 @@
     private int mRank;
 
     /**
-     * TODO(b/123591863): Add java docs
+     * Creates an instance of AppTarget that represent a launchable component.
+     *
+     * @param id A unique id for this launchable target.
+     * @param packageName Package name of the target.
+     * @param className Class name of the target.
+     * @param user The UserHandle of the user which this target belongs to.
      *
      * @hide
      */
@@ -61,7 +68,11 @@
     }
 
     /**
-     * TODO(b/123591863): Add java docs
+     * Creates an instance of AppTarget that represent a launchable shortcut.
+     *
+     * @param id A unique id for this launchable target.
+     * @param shortcutInfo The {@link ShortcutInfo} that is represented with this target.
+     * @param className Class name fo the target.
      *
      * @hide
      */
@@ -134,14 +145,19 @@
      * Sets the rank of the for the target.
      * @hide
      */
-    public void setRank(int rank) {
+    public void setRank(@IntRange(from = 0) int rank) {
+        if (rank < 0) {
+            throw new IllegalArgumentException("rank cannot be a negative value");
+        }
         mRank = rank;
     }
 
     /**
-     * Returns the rank for the target.
+     * Returns the rank for the target. Rank of an AppTarget is a non-negative integer that
+     * represents the importance of this target compared to other candidate targets. A smaller value
+     * means higher importance in the list.
      */
-    public int getRank() {
+    public @IntRange(from = 0) int getRank() {
         return mRank;
     }
 
@@ -180,9 +196,6 @@
         dest.writeInt(mRank);
     }
 
-    /**
-     * @see Parcelable.Creator
-     */
     public static final @android.annotation.NonNull Parcelable.Creator<AppTarget> CREATOR =
             new Parcelable.Creator<AppTarget>() {
                 public AppTarget createFromParcel(Parcel parcel) {
diff --git a/core/java/android/app/prediction/AppTargetEvent.java b/core/java/android/app/prediction/AppTargetEvent.java
index 01452df..54b9563 100644
--- a/core/java/android/app/prediction/AppTargetEvent.java
+++ b/core/java/android/app/prediction/AppTargetEvent.java
@@ -28,6 +28,7 @@
 
 /**
  * A representation of an app target event.
+ *
  * @hide
  */
 @SystemApi
@@ -84,7 +85,7 @@
     /**
      * Returns the launch location.
      */
-    @NonNull
+    @Nullable
     public String getLaunchLocation() {
         return mLocation;
     }
@@ -92,8 +93,7 @@
     /**
      * Returns the action type.
      */
-    @NonNull
-    public int getAction() {
+    public @ActionType int getAction() {
         return mAction;
     }
 
@@ -119,9 +119,6 @@
         dest.writeInt(mAction);
     }
 
-    /**
-     * @see Creator
-     */
     public static final @android.annotation.NonNull Creator<AppTargetEvent> CREATOR =
             new Creator<AppTargetEvent>() {
                 public AppTargetEvent createFromParcel(Parcel parcel) {
@@ -135,6 +132,7 @@
 
     /**
      * A builder for app target events.
+     *
      * @hide
      */
     @SystemApi
@@ -144,6 +142,10 @@
         private String mLocation;
         private @ActionType int mAction;
 
+        /**
+         * @param target The app target that is associated with this event.
+         * @param actionType The event type, which is one of the values in {@link ActionType}.
+         */
         public Builder(@Nullable AppTarget target, @ActionType int actionType) {
             mTarget = target;
             mAction = actionType;
@@ -152,7 +154,8 @@
         /**
          * Sets the launch location.
          */
-        public Builder setLaunchLocation(String location) {
+        @NonNull
+        public Builder setLaunchLocation(@Nullable String location) {
             mLocation = location;
             return this;
         }
@@ -160,6 +163,7 @@
         /**
          * Builds a new event instance.
          */
+        @NonNull
         public AppTargetEvent build() {
             return new AppTargetEvent(mTarget, mLocation, mAction);
         }
diff --git a/core/java/android/app/prediction/AppTargetId.java b/core/java/android/app/prediction/AppTargetId.java
index aa2ec1f..3603f5f 100644
--- a/core/java/android/app/prediction/AppTargetId.java
+++ b/core/java/android/app/prediction/AppTargetId.java
@@ -22,7 +22,8 @@
 import android.os.Parcelable;
 
 /**
- * The id for a prediction target.
+ * The id for a prediction target. See {@link AppTarget}.
+ *
  * @hide
  */
 @SystemApi
@@ -33,7 +34,7 @@
     private final String mId;
 
     /**
-     * TODO(b/123591863): Add java docs
+     * Creates a new id for a prediction target.
      *
      * @hide
      */
@@ -49,6 +50,7 @@
 
     /**
      * Returns the id.
+     *
      * @hide
      */
     @NonNull
@@ -66,7 +68,6 @@
 
     @Override
     public int hashCode() {
-        // Ensure that the id has a consistent hash
         return mId.hashCode();
     }
 
@@ -80,9 +81,6 @@
         dest.writeString(mId);
     }
 
-    /**
-     * @see Creator
-     */
     public static final @android.annotation.NonNull Creator<AppTargetId> CREATOR =
             new Creator<AppTargetId>() {
                 public AppTargetId createFromParcel(Parcel parcel) {
diff --git a/core/java/android/app/role/IRoleController.aidl b/core/java/android/app/role/IRoleController.aidl
new file mode 100644
index 0000000..a472eac
--- /dev/null
+++ b/core/java/android/app/role/IRoleController.aidl
@@ -0,0 +1,42 @@
+/*
+ * 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.role;
+
+import android.os.RemoteCallback;
+
+/**
+ * @hide
+ */
+oneway interface IRoleController {
+
+    void grantDefaultRoles(in RemoteCallback callback);
+
+    void onAddRoleHolder(in String roleName, in String packageName, int flags,
+            in RemoteCallback callback);
+
+    void onRemoveRoleHolder(in String roleName, in String packageName, int flags,
+            in RemoteCallback callback);
+
+    void onClearRoleHolders(in String roleName, int flags, in RemoteCallback callback);
+
+    void onSmsKillSwitchToggled(boolean enabled);
+
+    void isApplicationQualifiedForRole(in String roleName, in String packageName,
+            in RemoteCallback callback);
+
+    void isRoleVisible(in String roleName, in RemoteCallback callback);
+}
diff --git a/core/java/android/app/role/IRoleManager.aidl b/core/java/android/app/role/IRoleManager.aidl
index 76dbf7e..d8cea28 100644
--- a/core/java/android/app/role/IRoleManager.aidl
+++ b/core/java/android/app/role/IRoleManager.aidl
@@ -17,8 +17,8 @@
 package android.app.role;
 
 import android.app.role.IOnRoleHoldersChangedListener;
-import android.app.role.IRoleManagerCallback;
 import android.os.Bundle;
+import android.os.RemoteCallback;
 import android.telephony.IFinancialSmsCallback;
 
 /**
@@ -33,13 +33,13 @@
     List<String> getRoleHoldersAsUser(in String roleName, int userId);
 
     void addRoleHolderAsUser(in String roleName, in String packageName, int flags, int userId,
-            in IRoleManagerCallback callback);
+            in RemoteCallback callback);
 
     void removeRoleHolderAsUser(in String roleName, in String packageName, int flags, int userId,
-            in IRoleManagerCallback callback);
+            in RemoteCallback callback);
 
     void clearRoleHoldersAsUser(in String roleName, int flags, int userId,
-            in IRoleManagerCallback callback);
+            in RemoteCallback callback);
 
     void addOnRoleHoldersChangedListenerAsUser(IOnRoleHoldersChangedListener listener, int userId);
 
@@ -55,6 +55,7 @@
     List<String> getHeldRolesFromController(in String packageName);
 
     String getDefaultSmsPackage(int userId);
+
     /**
      * Get filtered SMS messages for financial app.
      */
diff --git a/core/java/android/app/role/IRoleManagerCallback.aidl b/core/java/android/app/role/IRoleManagerCallback.aidl
deleted file mode 100644
index c0f8eea..0000000
--- a/core/java/android/app/role/IRoleManagerCallback.aidl
+++ /dev/null
@@ -1,27 +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.role;
-
-/**
- * @hide
- */
-oneway interface IRoleManagerCallback {
-
-    void onSuccess();
-
-    void onFailure();
-}
diff --git a/core/java/android/app/role/RoleControllerManager.java b/core/java/android/app/role/RoleControllerManager.java
new file mode 100644
index 0000000..e96c9a5
--- /dev/null
+++ b/core/java/android/app/role/RoleControllerManager.java
@@ -0,0 +1,546 @@
+/*
+ * 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 android.app.role;
+
+import android.Manifest;
+import android.annotation.CallbackExecutor;
+import android.annotation.NonNull;
+import android.annotation.RequiresPermission;
+import android.annotation.SystemService;
+import android.annotation.UserIdInt;
+import android.content.ComponentName;
+import android.content.Context;
+import android.content.Intent;
+import android.content.pm.PackageManager;
+import android.content.pm.ResolveInfo;
+import android.os.Binder;
+import android.os.Handler;
+import android.os.IBinder;
+import android.os.RemoteCallback;
+import android.os.RemoteException;
+import android.util.Log;
+import android.util.SparseArray;
+
+import com.android.internal.annotations.GuardedBy;
+import com.android.internal.infra.AbstractMultiplePendingRequestsRemoteService;
+import com.android.internal.infra.AbstractRemoteService;
+
+import java.util.concurrent.Executor;
+import java.util.function.Consumer;
+
+/**
+ * Interface for communicating with the role controller.
+ *
+ * @hide
+ */
+@SystemService(Context.ROLE_CONTROLLER_SERVICE)
+public class RoleControllerManager {
+
+    private static final String LOG_TAG = RoleControllerManager.class.getSimpleName();
+
+    private static final Object sRemoteServicesLock = new Object();
+    /**
+     * Global remote services (per user) used by all {@link RoleControllerManager managers}.
+     */
+    @GuardedBy("sRemoteServicesLock")
+    private static final SparseArray<RemoteService> sRemoteServices = new SparseArray<>();
+
+    @NonNull
+    private final RemoteService mRemoteService;
+
+    public RoleControllerManager(@NonNull Context context, @NonNull Handler handler) {
+        synchronized (sRemoteServicesLock) {
+            int userId = context.getUserId();
+            RemoteService remoteService = sRemoteServices.get(userId);
+            if (remoteService == null) {
+                Intent intent = new Intent(RoleControllerService.SERVICE_INTERFACE);
+                PackageManager packageManager = context.getPackageManager();
+                intent.setPackage(packageManager.getPermissionControllerPackageName());
+                ResolveInfo resolveInfo = packageManager.resolveService(intent, 0);
+
+                remoteService = new RemoteService(context.getApplicationContext(),
+                        resolveInfo.getComponentInfo().getComponentName(), handler, userId);
+                sRemoteServices.put(userId, remoteService);
+            }
+            mRemoteService = remoteService;
+        }
+    }
+
+    public RoleControllerManager(@NonNull Context context) {
+        this(context, context.getMainThreadHandler());
+    }
+
+    /**
+     * @see RoleControllerService#onGrantDefaultRoles()
+     */
+    public void grantDefaultRoles(@NonNull @CallbackExecutor Executor executor,
+            @NonNull Consumer<Boolean> callback) {
+        mRemoteService.scheduleRequest(new GrantDefaultRolesRequest(mRemoteService, executor,
+                callback));
+    }
+
+    /**
+     * @see RoleControllerService#onAddRoleHolder(String, String, int)
+     */
+    public void onAddRoleHolder(@NonNull String roleName, @NonNull String packageName,
+            @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) {
+        mRemoteService.scheduleRequest(new OnAddRoleHolderRequest(mRemoteService, roleName,
+                packageName, flags, callback));
+    }
+
+    /**
+     * @see RoleControllerService#onRemoveRoleHolder(String, String, int)
+     */
+    public void onRemoveRoleHolder(@NonNull String roleName, @NonNull String packageName,
+            @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) {
+        mRemoteService.scheduleRequest(new OnRemoveRoleHolderRequest(mRemoteService, roleName,
+                packageName, flags, callback));
+    }
+
+    /**
+     * @see RoleControllerService#onClearRoleHolders(String, int)
+     */
+    public void onClearRoleHolders(@NonNull String roleName,
+            @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) {
+        mRemoteService.scheduleRequest(new OnClearRoleHoldersRequest(mRemoteService, roleName,
+                flags, callback));
+    }
+
+    /**
+     * @see RoleControllerService#onSmsKillSwitchToggled(boolean)
+     */
+    public void onSmsKillSwitchToggled(boolean enabled) {
+        mRemoteService.scheduleAsyncRequest(new OnSmsKillSwitchToggledRequest(enabled));
+    }
+
+    /**
+     * @see RoleControllerService#onIsApplicationQualifiedForRole(String, String)
+     */
+    @RequiresPermission(Manifest.permission.MANAGE_ROLE_HOLDERS)
+    public void isApplicationQualifiedForRole(@NonNull String roleName, @NonNull String packageName,
+            @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) {
+        mRemoteService.scheduleRequest(new IsApplicationQualifiedForRoleRequest(mRemoteService,
+                roleName, packageName, executor, callback));
+    }
+
+    /**
+     * @see RoleControllerService#onIsRoleVisible(String)
+     */
+    @RequiresPermission(Manifest.permission.MANAGE_ROLE_HOLDERS)
+    public void isRoleVisible(@NonNull String roleName,
+            @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) {
+        mRemoteService.scheduleRequest(new IsRoleVisibleRequest(mRemoteService, roleName, executor,
+                callback));
+    }
+
+    /**
+     * Connection to the remote service.
+     */
+    private static final class RemoteService extends AbstractMultiplePendingRequestsRemoteService<
+            RemoteService, IRoleController> {
+
+        private static final long UNBIND_DELAY_MILLIS = 15 * 1000;
+        private static final long REQUEST_TIMEOUT_MILLIS = 15 * 1000;
+
+        /**
+         * Create a connection to the remote service
+         *
+         * @param context the context to use
+         * @param componentName the component of the service to connect to
+         * @param handler the handler for binding service and callbacks
+         * @param userId the user whom remote service should be connected as
+         */
+        RemoteService(@NonNull Context context, @NonNull ComponentName componentName,
+                @NonNull Handler handler, @UserIdInt int userId) {
+            super(context, RoleControllerService.SERVICE_INTERFACE, componentName, userId,
+                    service -> Log.e(LOG_TAG, "RemoteService " + service + " died"), handler, false,
+                    false, 1);
+        }
+
+        /**
+         * @return The default handler used by this service.
+         */
+        @NonNull
+        public Handler getHandler() {
+            return mHandler;
+        }
+
+        @Override
+        protected @NonNull IRoleController getServiceInterface(@NonNull IBinder binder) {
+            return IRoleController.Stub.asInterface(binder);
+        }
+
+        @Override
+        protected long getTimeoutIdleBindMillis() {
+            return UNBIND_DELAY_MILLIS;
+        }
+
+        @Override
+        protected long getRemoteRequestMillis() {
+            return REQUEST_TIMEOUT_MILLIS;
+        }
+
+        @Override
+        public void scheduleRequest(
+                @NonNull BasePendingRequest<RemoteService, IRoleController> pendingRequest) {
+            super.scheduleRequest(pendingRequest);
+        }
+
+        @Override
+        public void scheduleAsyncRequest(@NonNull AsyncRequest<IRoleController> request) {
+            super.scheduleAsyncRequest(request);
+        }
+    }
+
+    /**
+     * Request for {@link #grantDefaultRoles(Executor, Consumer)}.
+     */
+    private static final class GrantDefaultRolesRequest
+            extends AbstractRemoteService.PendingRequest<RemoteService, IRoleController> {
+
+        @NonNull
+        private final Executor mExecutor;
+        @NonNull
+        private final Consumer<Boolean> mCallback;
+
+        @NonNull
+        private final RemoteCallback mRemoteCallback;
+
+        private GrantDefaultRolesRequest(@NonNull RemoteService service,
+                @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) {
+            super(service);
+
+            mExecutor = executor;
+            mCallback = callback;
+
+            mRemoteCallback = new RemoteCallback(result -> mExecutor.execute(() -> {
+                long token = Binder.clearCallingIdentity();
+                try {
+                    boolean successful = result != null;
+                    mCallback.accept(successful);
+                } finally {
+                    Binder.restoreCallingIdentity(token);
+                    finish();
+                }
+            }));
+        }
+
+        @Override
+        protected void onTimeout(@NonNull RemoteService remoteService) {
+            mExecutor.execute(() -> mCallback.accept(false));
+        }
+
+        @Override
+        public void run() {
+            try {
+                getService().getServiceInterface().grantDefaultRoles(mRemoteCallback);
+            } catch (RemoteException e) {
+                Log.e(LOG_TAG, "Error calling grantDefaultRoles()", e);
+            }
+        }
+    }
+
+    /**
+     * Request for {@link #onAddRoleHolder(String, String, int, RemoteCallback)}.
+     */
+    private static final class OnAddRoleHolderRequest
+            extends AbstractRemoteService.PendingRequest<RemoteService, IRoleController> {
+
+        @NonNull
+        private final String mRoleName;
+        @NonNull
+        private final String mPackageName;
+        @RoleManager.ManageHoldersFlags
+        private final int mFlags;
+        @NonNull
+        private final RemoteCallback mCallback;
+
+        @NonNull
+        private final RemoteCallback mRemoteCallback;
+
+        private OnAddRoleHolderRequest(@NonNull RemoteService service, @NonNull String roleName,
+                @NonNull String packageName, @RoleManager.ManageHoldersFlags int flags,
+                @NonNull RemoteCallback callback) {
+            super(service);
+
+            mRoleName = roleName;
+            mPackageName = packageName;
+            mFlags = flags;
+            mCallback = callback;
+
+            mRemoteCallback = new RemoteCallback(result -> {
+                long token = Binder.clearCallingIdentity();
+                try {
+                    mCallback.sendResult(result);
+                } finally {
+                    Binder.restoreCallingIdentity(token);
+                    finish();
+                }
+            });
+        }
+
+        @Override
+        protected void onTimeout(@NonNull RemoteService remoteService) {
+            mCallback.sendResult(null);
+        }
+
+        @Override
+        public void run() {
+            try {
+                getService().getServiceInterface().onAddRoleHolder(mRoleName, mPackageName, mFlags,
+                        mRemoteCallback);
+            } catch (RemoteException e) {
+                Log.e(LOG_TAG, "Error calling onAddRoleHolder()", e);
+            }
+        }
+    }
+
+    /**
+     * Request for {@link #onRemoveRoleHolder(String, String, int, RemoteCallback)}.
+     */
+    private static final class OnRemoveRoleHolderRequest
+            extends AbstractRemoteService.PendingRequest<RemoteService, IRoleController> {
+
+        @NonNull
+        private final String mRoleName;
+        @NonNull
+        private final String mPackageName;
+        @RoleManager.ManageHoldersFlags
+        private final int mFlags;
+        @NonNull
+        private final RemoteCallback mCallback;
+
+        @NonNull
+        private final RemoteCallback mRemoteCallback;
+
+        private OnRemoveRoleHolderRequest(@NonNull RemoteService service, @NonNull String roleName,
+                @NonNull String packageName, @RoleManager.ManageHoldersFlags int flags,
+                @NonNull RemoteCallback callback) {
+            super(service);
+
+            mRoleName = roleName;
+            mPackageName = packageName;
+            mFlags = flags;
+            mCallback = callback;
+
+            mRemoteCallback = new RemoteCallback(result -> {
+                long token = Binder.clearCallingIdentity();
+                try {
+                    mCallback.sendResult(result);
+                } finally {
+                    Binder.restoreCallingIdentity(token);
+                    finish();
+                }
+            });
+        }
+
+        @Override
+        protected void onTimeout(@NonNull RemoteService remoteService) {
+            mCallback.sendResult(null);
+        }
+
+        @Override
+        public void run() {
+            try {
+                getService().getServiceInterface().onRemoveRoleHolder(mRoleName, mPackageName,
+                        mFlags, mRemoteCallback);
+            } catch (RemoteException e) {
+                Log.e(LOG_TAG, "Error calling onRemoveRoleHolder()", e);
+            }
+        }
+    }
+
+    /**
+     * Request for {@link #onClearRoleHolders(String, int, RemoteCallback)}.
+     */
+    private static final class OnClearRoleHoldersRequest
+            extends AbstractRemoteService.PendingRequest<RemoteService, IRoleController> {
+
+        @NonNull
+        private final String mRoleName;
+        @RoleManager.ManageHoldersFlags
+        private final int mFlags;
+        @NonNull
+        private final RemoteCallback mCallback;
+
+        @NonNull
+        private final RemoteCallback mRemoteCallback;
+
+        private OnClearRoleHoldersRequest(@NonNull RemoteService service, @NonNull String roleName,
+                @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) {
+            super(service);
+
+            mRoleName = roleName;
+            mFlags = flags;
+            mCallback = callback;
+
+            mRemoteCallback = new RemoteCallback(result -> {
+                long token = Binder.clearCallingIdentity();
+                try {
+                    mCallback.sendResult(result);
+                } finally {
+                    Binder.restoreCallingIdentity(token);
+                    finish();
+                }
+            });
+        }
+
+        @Override
+        protected void onTimeout(@NonNull RemoteService remoteService) {
+            mCallback.sendResult(null);
+        }
+
+        @Override
+        public void run() {
+            try {
+                getService().getServiceInterface().onClearRoleHolders(mRoleName, mFlags,
+                        mRemoteCallback);
+            } catch (RemoteException e) {
+                Log.e(LOG_TAG, "Error calling onClearRoleHolders()", e);
+            }
+        }
+    }
+
+    /**
+     * Request for {@link #onSmsKillSwitchToggled(boolean)}
+     */
+    private static final class OnSmsKillSwitchToggledRequest
+            implements AbstractRemoteService.AsyncRequest<IRoleController> {
+
+        private final boolean mEnabled;
+
+        private OnSmsKillSwitchToggledRequest(boolean enabled) {
+            mEnabled = enabled;
+        }
+
+        @Override
+        public void run(@NonNull IRoleController service) {
+            try {
+                service.onSmsKillSwitchToggled(mEnabled);
+            } catch (RemoteException e) {
+                Log.e(LOG_TAG, "Error calling onSmsKillSwitchToggled()", e);
+            }
+        }
+    }
+
+    /**
+     * Request for {@link #isApplicationQualifiedForRole(String, String, Executor, Consumer)}
+     */
+    private static final class IsApplicationQualifiedForRoleRequest extends
+            AbstractRemoteService.PendingRequest<RemoteService, IRoleController> {
+
+        @NonNull
+        private final String mRoleName;
+        @NonNull
+        private final String mPackageName;
+        @NonNull
+        private final Executor mExecutor;
+        @NonNull
+        private final Consumer<Boolean> mCallback;
+
+        @NonNull
+        private final RemoteCallback mRemoteCallback;
+
+        private IsApplicationQualifiedForRoleRequest(@NonNull RemoteService service,
+                @NonNull String roleName, @NonNull String packageName,
+                @CallbackExecutor @NonNull Executor executor, @NonNull Consumer<Boolean> callback) {
+            super(service);
+
+            mRoleName = roleName;
+            mPackageName = packageName;
+            mExecutor = executor;
+            mCallback = callback;
+
+            mRemoteCallback = new RemoteCallback(result -> mExecutor.execute(() -> {
+                long token = Binder.clearCallingIdentity();
+                try {
+                    boolean qualified = result != null;
+                    mCallback.accept(qualified);
+                } finally {
+                    Binder.restoreCallingIdentity(token);
+                    finish();
+                }
+            }));
+        }
+
+        @Override
+        protected void onTimeout(RemoteService remoteService) {
+            mExecutor.execute(() -> mCallback.accept(false));
+        }
+
+        @Override
+        public void run() {
+            try {
+                getService().getServiceInterface().isApplicationQualifiedForRole(mRoleName,
+                        mPackageName, mRemoteCallback);
+            } catch (RemoteException e) {
+                Log.e(LOG_TAG, "Error calling isApplicationQualifiedForRole()", e);
+            }
+        }
+    }
+
+    /**
+     * Request for {@link #isRoleVisible(String, Executor, Consumer)}
+     */
+    private static final class IsRoleVisibleRequest
+            extends AbstractRemoteService.PendingRequest<RemoteService, IRoleController> {
+
+        @NonNull
+        private final String mRoleName;
+        @NonNull
+        private final Executor mExecutor;
+        @NonNull
+        private final Consumer<Boolean> mCallback;
+
+        @NonNull
+        private final RemoteCallback mRemoteCallback;
+
+        private IsRoleVisibleRequest(@NonNull RemoteService service, @NonNull String roleName,
+                @CallbackExecutor @NonNull Executor executor, @NonNull Consumer<Boolean> callback) {
+            super(service);
+
+            mRoleName = roleName;
+            mExecutor = executor;
+            mCallback = callback;
+
+            mRemoteCallback = new RemoteCallback(result -> mExecutor.execute(() -> {
+                long token = Binder.clearCallingIdentity();
+                try {
+                    boolean visible = result != null;
+                    mCallback.accept(visible);
+                } finally {
+                    Binder.restoreCallingIdentity(token);
+                    finish();
+                }
+            }));
+        }
+
+        @Override
+        protected void onTimeout(RemoteService remoteService) {
+            mExecutor.execute(() -> mCallback.accept(false));
+        }
+
+        @Override
+        public void run() {
+            try {
+                getService().getServiceInterface().isRoleVisible(mRoleName, mRemoteCallback);
+            } catch (RemoteException e) {
+                Log.e(LOG_TAG, "Error calling isRoleVisible()", e);
+            }
+        }
+    }
+}
diff --git a/core/java/android/app/role/RoleControllerService.java b/core/java/android/app/role/RoleControllerService.java
new file mode 100644
index 0000000..312761d
--- /dev/null
+++ b/core/java/android/app/role/RoleControllerService.java
@@ -0,0 +1,291 @@
+/*
+ * 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 android.app.role;
+
+import android.Manifest;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.annotation.SystemApi;
+import android.annotation.WorkerThread;
+import android.app.Service;
+import android.content.Intent;
+import android.os.Binder;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.IBinder;
+import android.os.Process;
+import android.os.RemoteCallback;
+import android.os.UserHandle;
+
+import com.android.internal.util.Preconditions;
+import com.android.internal.util.function.pooled.PooledLambda;
+
+import java.util.concurrent.Executor;
+
+/**
+ * Abstract base class for the role controller service.
+ * <p>
+ * Subclass should implement the business logic for role management, including enforcing role
+ * requirements and granting or revoking relevant privileges of roles. This class can only be
+ * implemented by the permission controller app which is registered in {@code PackageManager}.
+ *
+ * @hide
+ */
+@SystemApi
+public abstract class RoleControllerService extends Service {
+
+    /**
+     * The {@link Intent} that must be declared as handled by the service.
+     */
+    public static final String SERVICE_INTERFACE = "android.app.role.RoleControllerService";
+
+    private HandlerThread mWorkerThread;
+    private Handler mWorkerHandler;
+
+    @Override
+    public void onCreate() {
+        super.onCreate();
+
+        mWorkerThread = new HandlerThread(RoleControllerService.class.getSimpleName());
+        mWorkerThread.start();
+        mWorkerHandler = new Handler(mWorkerThread.getLooper());
+    }
+
+    @Override
+    public void onDestroy() {
+        super.onDestroy();
+
+        mWorkerThread.quitSafely();
+    }
+
+    @Nullable
+    @Override
+    public final IBinder onBind(@Nullable Intent intent) {
+        return new IRoleController.Stub() {
+
+            @Override
+            public void grantDefaultRoles(RemoteCallback callback) {
+                enforceCallerSystemUid("grantDefaultRoles");
+
+                Preconditions.checkNotNull(callback, "callback cannot be null");
+
+                mWorkerHandler.sendMessage(PooledLambda.obtainMessage(
+                        RoleControllerService::grantDefaultRoles, RoleControllerService.this,
+                        callback));
+            }
+
+            @Override
+            public void onAddRoleHolder(String roleName, String packageName, int flags,
+                    RemoteCallback callback) {
+                enforceCallerSystemUid("onAddRoleHolder");
+
+                Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
+                Preconditions.checkStringNotEmpty(packageName,
+                        "packageName cannot be null or empty");
+                Preconditions.checkNotNull(callback, "callback cannot be null");
+
+                mWorkerHandler.sendMessage(PooledLambda.obtainMessage(
+                        RoleControllerService::onAddRoleHolder, RoleControllerService.this,
+                        roleName, packageName, flags, callback));
+            }
+
+            @Override
+            public void onRemoveRoleHolder(String roleName, String packageName, int flags,
+                    RemoteCallback callback) {
+                enforceCallerSystemUid("onRemoveRoleHolder");
+
+                Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
+                Preconditions.checkStringNotEmpty(packageName,
+                        "packageName cannot be null or empty");
+                Preconditions.checkNotNull(callback, "callback cannot be null");
+
+                mWorkerHandler.sendMessage(PooledLambda.obtainMessage(
+                        RoleControllerService::onRemoveRoleHolder, RoleControllerService.this,
+                        roleName, packageName, flags, callback));
+            }
+
+            @Override
+            public void onClearRoleHolders(String roleName, int flags, RemoteCallback callback) {
+                enforceCallerSystemUid("onClearRoleHolders");
+
+                Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
+                Preconditions.checkNotNull(callback, "callback cannot be null");
+
+                mWorkerHandler.sendMessage(PooledLambda.obtainMessage(
+                        RoleControllerService::onClearRoleHolders, RoleControllerService.this,
+                        roleName, flags, callback));
+            }
+
+            @Override
+            public void onSmsKillSwitchToggled(boolean enabled) {
+                enforceCallerSystemUid("onSmsKillSwitchToggled");
+
+                mWorkerHandler.sendMessage(PooledLambda.obtainMessage(
+                        RoleControllerService::onSmsKillSwitchToggled, RoleControllerService.this,
+                        enabled));
+            }
+
+            private void enforceCallerSystemUid(@NonNull String methodName) {
+                if (Binder.getCallingUid() != Process.SYSTEM_UID) {
+                    throw new SecurityException("Only the system process can call " + methodName
+                            + "()");
+                }
+            }
+
+            @Override
+            public void isApplicationQualifiedForRole(String roleName, String packageName,
+                    RemoteCallback callback) {
+                enforceCallingPermission(Manifest.permission.MANAGE_ROLE_HOLDERS, null);
+
+                Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
+                Preconditions.checkStringNotEmpty(packageName,
+                        "packageName cannot be null or empty");
+                Preconditions.checkNotNull(callback, "callback cannot be null");
+
+                boolean qualified = onIsApplicationQualifiedForRole(roleName, packageName);
+                callback.sendResult(qualified ? Bundle.EMPTY : null);
+            }
+
+            @Override
+            public void isRoleVisible(String roleName, RemoteCallback callback) {
+                enforceCallingPermission(Manifest.permission.MANAGE_ROLE_HOLDERS, null);
+
+                Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
+                Preconditions.checkNotNull(callback, "callback cannot be null");
+
+                boolean visible = onIsRoleVisible(roleName);
+                callback.sendResult(visible ? Bundle.EMPTY : null);
+            }
+        };
+    }
+
+    private void grantDefaultRoles(@NonNull RemoteCallback callback) {
+        boolean successful = onGrantDefaultRoles();
+        callback.sendResult(successful ? Bundle.EMPTY : null);
+    }
+
+    private void onAddRoleHolder(@NonNull String roleName, @NonNull String packageName,
+            @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) {
+        boolean successful = onAddRoleHolder(roleName, packageName, flags);
+        callback.sendResult(successful ? Bundle.EMPTY : null);
+    }
+
+    private void onRemoveRoleHolder(@NonNull String roleName, @NonNull String packageName,
+            @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) {
+        boolean successful = onRemoveRoleHolder(roleName, packageName, flags);
+        callback.sendResult(successful ? Bundle.EMPTY : null);
+    }
+
+    private void onClearRoleHolders(@NonNull String roleName,
+            @RoleManager.ManageHoldersFlags int flags, @NonNull RemoteCallback callback) {
+        boolean successful = onClearRoleHolders(roleName, flags);
+        callback.sendResult(successful ? Bundle.EMPTY : null);
+    }
+
+    /**
+     * Called by system to grant default permissions and roles.
+     * <p>
+     * This is typically when creating a new user or upgrading either system or
+     * permission controller package
+     *
+     * @return whether this call was successful
+     */
+    @WorkerThread
+    public abstract boolean onGrantDefaultRoles();
+
+    /**
+     * Add a specific application to the holders of a role. If the role is exclusive, the previous
+     * holder will be replaced.
+     * <p>
+     * Implementation should enforce the role requirements and grant or revoke the relevant
+     * privileges of roles.
+     *
+     * @param roleName the name of the role to add the role holder for
+     * @param packageName the package name of the application to add to the role holders
+     * @param flags optional behavior flags
+     *
+     * @return whether this call was successful
+     *
+     * @see RoleManager#addRoleHolderAsUser(String, String, int, UserHandle, Executor,
+     *      RemoteCallback)
+     */
+    @WorkerThread
+    public abstract boolean onAddRoleHolder(@NonNull String roleName, @NonNull String packageName,
+            @RoleManager.ManageHoldersFlags int flags);
+
+    /**
+     * Remove a specific application from the holders of a role.
+     *
+     * @param roleName the name of the role to remove the role holder for
+     * @param packageName the package name of the application to remove from the role holders
+     * @param flags optional behavior flags
+     *
+     * @return whether this call was successful
+     *
+     * @see RoleManager#removeRoleHolderAsUser(String, String, int, UserHandle, Executor,
+     *      RemoteCallback)
+     */
+    @WorkerThread
+    public abstract boolean onRemoveRoleHolder(@NonNull String roleName,
+            @NonNull String packageName, @RoleManager.ManageHoldersFlags int flags);
+
+    /**
+     * Remove all holders of a role.
+     *
+     * @param roleName the name of the role to remove role holders for
+     * @param flags optional behavior flags
+     *
+     * @return whether this call was successful
+     *
+     * @see RoleManager#clearRoleHoldersAsUser(String, int, UserHandle, Executor, RemoteCallback)
+     */
+    @WorkerThread
+    public abstract boolean onClearRoleHolders(@NonNull String roleName,
+            @RoleManager.ManageHoldersFlags int flags);
+
+    /**
+     * Cleanup appop/permissions state in response to sms kill switch toggle
+     *
+     * @param enabled whether kill switch was turned on
+     *
+     * @hide
+     */
+    //STOPSHIP: remove this api before shipping a final version
+    @WorkerThread
+    public abstract void onSmsKillSwitchToggled(boolean enabled);
+
+    /**
+     * Check whether an application is qualified for a role.
+     *
+     * @param roleName name of the role to check for
+     * @param packageName package name of the application to check for
+     *
+     * @return whether the application is qualified for the role
+     */
+    public abstract boolean onIsApplicationQualifiedForRole(@NonNull String roleName,
+            @NonNull String packageName);
+
+    /**
+     * Check whether a role should be visible to user.
+     *
+     * @param roleName name of the role to check for
+     *
+     * @return whether the role should be visible to user
+     */
+    public abstract boolean onIsRoleVisible(@NonNull String roleName);
+}
diff --git a/core/java/android/app/role/RoleManager.java b/core/java/android/app/role/RoleManager.java
index c665cb23..d1f8ed2 100644
--- a/core/java/android/app/role/RoleManager.java
+++ b/core/java/android/app/role/RoleManager.java
@@ -30,6 +30,7 @@
 import android.content.Intent;
 import android.os.Binder;
 import android.os.Process;
+import android.os.RemoteCallback;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.UserHandle;
@@ -42,6 +43,7 @@
 
 import java.util.List;
 import java.util.concurrent.Executor;
+import java.util.function.Consumer;
 
 /**
  * This class provides information about and manages roles.
@@ -187,6 +189,7 @@
      * @hide
      */
     @SystemApi
+    @TestApi
     public static final int MANAGE_HOLDERS_FLAG_DONT_KILL_APP = 1;
 
     /**
@@ -314,9 +317,9 @@
      *
      * @return a list of package names of the role holders, or an empty list if none.
      *
-     * @see #addRoleHolderAsUser(String, String, int, UserHandle, Executor, RoleManagerCallback)
-     * @see #removeRoleHolderAsUser(String, String, int, UserHandle, Executor, RoleManagerCallback)
-     * @see #clearRoleHoldersAsUser(String, int, UserHandle, Executor, RoleManagerCallback)
+     * @see #addRoleHolderAsUser(String, String, int, UserHandle, Executor, Consumer)
+     * @see #removeRoleHolderAsUser(String, String, int, UserHandle, Executor, Consumer)
+     * @see #clearRoleHoldersAsUser(String, int, UserHandle, Executor, Consumer)
      *
      * @hide
      */
@@ -350,8 +353,8 @@
      * @param callback the callback for whether this call is successful
      *
      * @see #getRoleHoldersAsUser(String, UserHandle)
-     * @see #removeRoleHolderAsUser(String, String, int, UserHandle, Executor, RoleManagerCallback)
-     * @see #clearRoleHoldersAsUser(String, int, UserHandle, Executor, RoleManagerCallback)
+     * @see #removeRoleHolderAsUser(String, String, int, UserHandle, Executor, Consumer)
+     * @see #clearRoleHoldersAsUser(String, int, UserHandle, Executor, Consumer)
      *
      * @hide
      */
@@ -360,7 +363,7 @@
     @TestApi
     public void addRoleHolderAsUser(@NonNull String roleName, @NonNull String packageName,
             @ManageHoldersFlags int flags, @NonNull UserHandle user,
-            @CallbackExecutor @NonNull Executor executor, @NonNull RoleManagerCallback callback) {
+            @CallbackExecutor @NonNull Executor executor, @NonNull Consumer<Boolean> callback) {
         Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
         Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty");
         Preconditions.checkNotNull(user, "user cannot be null");
@@ -368,7 +371,7 @@
         Preconditions.checkNotNull(callback, "callback cannot be null");
         try {
             mService.addRoleHolderAsUser(roleName, packageName, flags, user.getIdentifier(),
-                    new RoleManagerCallbackDelegate(executor, callback));
+                    createRemoteCallback(executor, callback));
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -389,8 +392,8 @@
      * @param callback the callback for whether this call is successful
      *
      * @see #getRoleHoldersAsUser(String, UserHandle)
-     * @see #addRoleHolderAsUser(String, String, int, UserHandle, Executor, RoleManagerCallback)
-     * @see #clearRoleHoldersAsUser(String, int, UserHandle, Executor, RoleManagerCallback)
+     * @see #addRoleHolderAsUser(String, String, int, UserHandle, Executor, Consumer)
+     * @see #clearRoleHoldersAsUser(String, int, UserHandle, Executor, Consumer)
      *
      * @hide
      */
@@ -399,7 +402,7 @@
     @TestApi
     public void removeRoleHolderAsUser(@NonNull String roleName, @NonNull String packageName,
             @ManageHoldersFlags int flags, @NonNull UserHandle user,
-            @CallbackExecutor @NonNull Executor executor, @NonNull RoleManagerCallback callback) {
+            @CallbackExecutor @NonNull Executor executor, @NonNull Consumer<Boolean> callback) {
         Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
         Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty");
         Preconditions.checkNotNull(user, "user cannot be null");
@@ -407,7 +410,7 @@
         Preconditions.checkNotNull(callback, "callback cannot be null");
         try {
             mService.removeRoleHolderAsUser(roleName, packageName, flags, user.getIdentifier(),
-                    new RoleManagerCallbackDelegate(executor, callback));
+                    createRemoteCallback(executor, callback));
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -427,8 +430,8 @@
      * @param callback the callback for whether this call is successful
      *
      * @see #getRoleHoldersAsUser(String, UserHandle)
-     * @see #addRoleHolderAsUser(String, String, int, UserHandle, Executor, RoleManagerCallback)
-     * @see #removeRoleHolderAsUser(String, String, int, UserHandle, Executor, RoleManagerCallback)
+     * @see #addRoleHolderAsUser(String, String, int, UserHandle, Executor, Consumer)
+     * @see #removeRoleHolderAsUser(String, String, int, UserHandle, Executor, Consumer)
      *
      * @hide
      */
@@ -437,19 +440,33 @@
     @TestApi
     public void clearRoleHoldersAsUser(@NonNull String roleName, @ManageHoldersFlags int flags,
             @NonNull UserHandle user, @CallbackExecutor @NonNull Executor executor,
-            @NonNull RoleManagerCallback callback) {
+            @NonNull Consumer<Boolean> callback) {
         Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
         Preconditions.checkNotNull(user, "user cannot be null");
         Preconditions.checkNotNull(executor, "executor cannot be null");
         Preconditions.checkNotNull(callback, "callback cannot be null");
         try {
             mService.clearRoleHoldersAsUser(roleName, flags, user.getIdentifier(),
-                    new RoleManagerCallbackDelegate(executor, callback));
+                    createRemoteCallback(executor, callback));
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
     }
 
+    @NonNull
+    private static RemoteCallback createRemoteCallback(@NonNull Executor executor,
+            @NonNull Consumer<Boolean> callback) {
+        return new RemoteCallback(result -> executor.execute(() -> {
+            boolean successful = result != null;
+            long token = Binder.clearCallingIdentity();
+            try {
+                callback.accept(successful);
+            } finally {
+                Binder.restoreCallingIdentity(token);
+            }
+        }));
+    }
+
     /**
      * Add a listener to observe role holder changes
      * <p>
@@ -544,7 +561,7 @@
 
     /**
      * Set the names of all the available roles. Should only be called from
-     * {@link android.rolecontrollerservice.RoleControllerService}.
+     * {@link android.app.role.RoleControllerService}.
      * <p>
      * <strong>Note:</strong> Using this API requires holding
      * {@link #PERMISSION_MANAGE_ROLES_FROM_CONTROLLER}.
@@ -568,7 +585,7 @@
     /**
      * Add a specific application to the holders of a role, only modifying records inside
      * {@link RoleManager}. Should only be called from
-     * {@link android.rolecontrollerservice.RoleControllerService}.
+     * {@link android.app.role.RoleControllerService}.
      * <p>
      * <strong>Note:</strong> Using this API requires holding
      * {@link #PERMISSION_MANAGE_ROLES_FROM_CONTROLLER}.
@@ -601,7 +618,7 @@
     /**
      * Remove a specific application from the holders of a role, only modifying records inside
      * {@link RoleManager}. Should only be called from
-     * {@link android.rolecontrollerservice.RoleControllerService}.
+     * {@link android.app.role.RoleControllerService}.
      * <p>
      * <strong>Note:</strong> Using this API requires holding
      * {@link #PERMISSION_MANAGE_ROLES_FROM_CONTROLLER}.
@@ -668,40 +685,6 @@
         }
     }
 
-    private static class RoleManagerCallbackDelegate extends IRoleManagerCallback.Stub {
-
-        @NonNull
-        private final Executor mExecutor;
-        @NonNull
-        private final RoleManagerCallback mCallback;
-
-        RoleManagerCallbackDelegate(@NonNull Executor executor,
-                @NonNull RoleManagerCallback callback) {
-            mExecutor = executor;
-            mCallback = callback;
-        }
-
-        @Override
-        public void onSuccess() {
-            long token = Binder.clearCallingIdentity();
-            try {
-                mExecutor.execute(mCallback::onSuccess);
-            } finally {
-                Binder.restoreCallingIdentity(token);
-            }
-        }
-
-        @Override
-        public void onFailure() {
-            long token = Binder.clearCallingIdentity();
-            try {
-                mExecutor.execute(mCallback::onFailure);
-            } finally {
-                Binder.restoreCallingIdentity(token);
-            }
-        }
-    }
-
     private static class OnRoleHoldersChangedListenerDelegate
             extends IOnRoleHoldersChangedListener.Stub {
 
diff --git a/core/java/android/app/role/RoleManagerCallback.java b/core/java/android/app/role/RoleManagerCallback.java
deleted file mode 100644
index a92ef32..0000000
--- a/core/java/android/app/role/RoleManagerCallback.java
+++ /dev/null
@@ -1,56 +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.role;
-
-import android.annotation.SystemApi;
-import android.annotation.TestApi;
-
-import java.util.concurrent.CompletableFuture;
-
-/**
- * Callback for a {@link RoleManager} request.
- *
- * @hide
- */
-@SystemApi
-@TestApi
-public interface RoleManagerCallback {
-
-    /**
-     * Signals a success.
-     */
-    void onSuccess();
-
-    /**
-     * Signals a failure.
-     */
-    void onFailure();
-
-    /** @hide */
-    class Future extends CompletableFuture<Void> implements RoleManagerCallback {
-
-        @Override
-        public void onSuccess() {
-            complete(null);
-        }
-
-        @Override
-        public void onFailure() {
-            completeExceptionally(new RuntimeException());
-        }
-    }
-}
diff --git a/core/java/android/app/usage/IUsageStatsManager.aidl b/core/java/android/app/usage/IUsageStatsManager.aidl
index 62b24e9..83c1d61 100644
--- a/core/java/android/app/usage/IUsageStatsManager.aidl
+++ b/core/java/android/app/usage/IUsageStatsManager.aidl
@@ -60,7 +60,7 @@
             in PendingIntent sessionEndCallbackIntent, String callingPackage);
     void unregisterUsageSessionObserver(int sessionObserverId, String callingPackage);
     void registerAppUsageLimitObserver(int observerId, in String[] packages, long timeLimitMs,
-            long timeRemainingMs, in PendingIntent callback, String callingPackage);
+            long timeUsedMs, in PendingIntent callback, String callingPackage);
     void unregisterAppUsageLimitObserver(int observerId, String callingPackage);
     void reportUsageStart(in IBinder activity, String token, String callingPackage);
     void reportPastUsageStart(in IBinder activity, String token, long timeAgoMs,
diff --git a/core/java/android/app/usage/UsageEvents.java b/core/java/android/app/usage/UsageEvents.java
index 0d0e466..b564c31 100644
--- a/core/java/android/app/usage/UsageEvents.java
+++ b/core/java/android/app/usage/UsageEvents.java
@@ -254,18 +254,32 @@
         public static final int FLUSH_TO_DISK = 25;
 
         /**
-         * An event type denoting that the device underwent a shutdown process.
+         * An event type denoting that the Android runtime underwent a shutdown process.
          * A DEVICE_SHUTDOWN event should be treated as if all started activities and foreground
          * services are now stopped and no explicit {@link #ACTIVITY_STOPPED} and
          * {@link #FOREGROUND_SERVICE_STOP} events will be generated for them.
+         *
+         * <p>The DEVICE_SHUTDOWN timestamp is actually the last time UsageStats database is
+         * persisted before the actual shutdown. Events (if there are any) between this timestamp
+         * and the actual shutdown is not persisted in the database. So any open events without
+         * matching close events between DEVICE_SHUTDOWN and {@link #DEVICE_STARTUP} should be
+         * ignored because the closing time is unknown.</p>
          */
         public static final int DEVICE_SHUTDOWN = 26;
 
         /**
+         * An event type denoting that the Android runtime started up. This could be after a
+         * shutdown or a runtime restart. Any open events without matching close events between
+         * {@link #DEVICE_SHUTDOWN} and DEVICE_STARTUP should be ignored because the closing time is
+         * unknown.
+         */
+        public static final int DEVICE_STARTUP = 27;
+
+        /**
          * Keep in sync with the greatest event type value.
          * @hide
          */
-        public static final int MAX_EVENT_TYPE = 26;
+        public static final int MAX_EVENT_TYPE = 27;
 
         /** @hide */
         public static final int FLAG_IS_PACKAGE_INSTANT_APP = 1 << 0;
@@ -414,7 +428,6 @@
 
         /**
          * Indicates whether it is an instant app.
-         * STOPSHIP b/111407095: Add GTS tests for the newly added API method.
          * @hide
          */
         @SystemApi
diff --git a/core/java/android/app/usage/UsageStatsManager.java b/core/java/android/app/usage/UsageStatsManager.java
index cee6b87..a6ceeb1 100644
--- a/core/java/android/app/usage/UsageStatsManager.java
+++ b/core/java/android/app/usage/UsageStatsManager.java
@@ -660,6 +660,29 @@
         }
     }
 
+
+    /**
+     * @deprecated use {@link #registerUsageSessionObserver(int, String[], Duration, Duration,
+     *                                                      PendingIntent, PendingIntent)}.
+     *
+     * @hide
+     */
+    @Deprecated
+    @SystemApi
+    @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE)
+    // STOPSHIP b/128455269: remove this method
+    public void registerUsageSessionObserver(int sessionObserverId,
+            @NonNull String[] observedEntities, long timeLimit, @NonNull TimeUnit timeUnit,
+            long sessionThresholdTime,  @NonNull TimeUnit sessionThresholdTimeUnit,
+            @NonNull PendingIntent limitReachedCallbackIntent,
+            @Nullable PendingIntent sessionEndCallbackIntent) {
+        final Duration timeLimitDuration = Duration.ofMillis(timeUnit.toMillis(timeLimit));
+        final Duration sessionThresholdDuration =
+                Duration.ofMillis(sessionThresholdTimeUnit.toMillis(sessionThresholdTime));
+        registerUsageSessionObserver(sessionObserverId, observedEntities, timeLimitDuration,
+                sessionThresholdDuration, limitReachedCallbackIntent, sessionEndCallbackIntent);
+    }
+
     /**
      * Register a usage session observer that receives a callback on the provided {@code
      * limitReachedCallbackIntent} when the sum of usages of apps and tokens in the {@code
@@ -679,11 +702,8 @@
      *                         null and must include at least one package or token.
      * @param timeLimit The total time the set of apps can be used continuously before the {@code
      *                  limitReachedCallbackIntent} is delivered. Must be at least one minute.
-     * @param timeUnit The unit for time specified in {@code timeLimit}. Cannot be null.
      * @param sessionThresholdTime The time that can take place between usage sessions before the
      *                             next session is considered a new session. Must be non-negative.
-     * @param sessionThresholdTimeUnit The unit for time specified in {@code sessionThreshold}.
-     *                                 Cannot be null.
      * @param limitReachedCallbackIntent The {@link PendingIntent} that will be dispatched when the
      *                                   usage limit is exceeded by the group of apps. The
      *                                   delivered Intent will also contain the extras {@link
@@ -703,14 +723,13 @@
     @SystemApi
     @RequiresPermission(android.Manifest.permission.OBSERVE_APP_USAGE)
     public void registerUsageSessionObserver(int sessionObserverId,
-            @NonNull String[] observedEntities, long timeLimit, @NonNull TimeUnit timeUnit,
-            long sessionThresholdTime,  @NonNull TimeUnit sessionThresholdTimeUnit,
+            @NonNull String[] observedEntities, @NonNull Duration timeLimit,
+            @NonNull Duration sessionThresholdTime,
             @NonNull PendingIntent limitReachedCallbackIntent,
             @Nullable PendingIntent sessionEndCallbackIntent) {
         try {
             mService.registerUsageSessionObserver(sessionObserverId, observedEntities,
-                    timeUnit.toMillis(timeLimit),
-                    sessionThresholdTimeUnit.toMillis(sessionThresholdTime),
+                    timeLimit.toMillis(), sessionThresholdTime.toMillis(),
                     limitReachedCallbackIntent, sessionEndCallbackIntent,
                     mContext.getOpPackageName());
         } catch (RemoteException e) {
@@ -747,7 +766,7 @@
      */
     @Deprecated
     @UnsupportedAppUsage
-    // STOPSHIP b/126917290: remove this method once ag/6591106 is merged and it's not being used.
+    // STOPSHIP b/126917290: remove this method once b/126926550 is fixed.
     public void registerAppUsageLimitObserver(int observerId, @NonNull String[] observedEntities,
             long timeLimit, @NonNull TimeUnit timeUnit, @Nullable PendingIntent callbackIntent) {
         final Duration timeLimitDuration = Duration.ofMillis(timeUnit.toMillis(timeLimit));
@@ -782,16 +801,17 @@
      *                         null and must include at least one package or token.
      * @param timeLimit The total time the set of apps can be in the foreground before the
      *                  {@code callbackIntent} is delivered. Must be at least one minute.
-     * @param timeRemaining The remaining time the set of apps can be in the foreground before the
-     *                      {@code callbackIntent} is delivered. Must be greater than
-     *                      {@code timeLimit}. Note: a limit of 0 can be set to indicate that the
-     *                      user has already exhausted the limit for a group, in which case,
-     *                      the given {@code callbackIntent} will be ignored.
+     * @param timeUsed The time that has already been used by the set of apps in
+     *                 {@code observedEntities}. Note: a time used equal to or greater than
+     *                 {@code timeLimit} can be set to indicate that the user has already exhausted
+     *                 the limit for a group, in which case, the given {@code callbackIntent} will
+     *                 be ignored.
      * @param callbackIntent The PendingIntent that will be dispatched when the usage limit is
      *                       exceeded by the group of apps. The delivered Intent will also contain
      *                       the extras {@link #EXTRA_OBSERVER_ID}, {@link #EXTRA_TIME_LIMIT} and
      *                       {@link #EXTRA_TIME_USED}. Cannot be {@code null} unless the observer is
-     *                       being registered with a {@code timeRemaining} of 0.
+     *                       being registered with a {@code timeUsed} equal to or greater than
+     *                       {@code timeLimit}.
      * @throws SecurityException if the caller doesn't have both SUSPEND_APPS and OBSERVE_APP_USAGE
      *                           permissions.
      * @hide
@@ -801,11 +821,11 @@
             android.Manifest.permission.SUSPEND_APPS,
             android.Manifest.permission.OBSERVE_APP_USAGE})
     public void registerAppUsageLimitObserver(int observerId, @NonNull String[] observedEntities,
-            @NonNull Duration timeLimit, @NonNull Duration timeRemaining,
+            @NonNull Duration timeLimit, @NonNull Duration timeUsed,
             @Nullable PendingIntent callbackIntent) {
         try {
             mService.registerAppUsageLimitObserver(observerId, observedEntities,
-                    timeLimit.toMillis(), timeRemaining.toMillis(), callbackIntent,
+                    timeLimit.toMillis(), timeUsed.toMillis(), callbackIntent,
                     mContext.getOpPackageName());
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
diff --git a/core/java/android/bluetooth/BluetoothA2dp.java b/core/java/android/bluetooth/BluetoothA2dp.java
index c4bf1eb..442b239 100644
--- a/core/java/android/bluetooth/BluetoothA2dp.java
+++ b/core/java/android/bluetooth/BluetoothA2dp.java
@@ -224,8 +224,10 @@
                         if (VDBG) Log.d(TAG, "Unbinding service...");
                         try {
                             mServiceLock.writeLock().lock();
-                            mService = null;
-                            mContext.unbindService(mConnection);
+                            if (mService != null) {
+                                mService = null;
+                                mContext.unbindService(mConnection);
+                            }
                         } catch (Exception re) {
                             Log.e(TAG, "", re);
                         } finally {
diff --git a/core/java/android/bluetooth/BluetoothAdapter.java b/core/java/android/bluetooth/BluetoothAdapter.java
index ab8c196..b8a741a 100644
--- a/core/java/android/bluetooth/BluetoothAdapter.java
+++ b/core/java/android/bluetooth/BluetoothAdapter.java
@@ -19,6 +19,7 @@
 
 import android.Manifest;
 import android.annotation.IntDef;
+import android.annotation.NonNull;
 import android.annotation.RequiresPermission;
 import android.annotation.SdkConstant;
 import android.annotation.SdkConstant.SdkConstantType;
@@ -3057,7 +3058,7 @@
      * permissions, or unable to start this CoC
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH)
-    public BluetoothServerSocket listenUsingL2capChannel()
+    public @NonNull BluetoothServerSocket listenUsingL2capChannel()
             throws IOException {
         BluetoothServerSocket socket =
                             new BluetoothServerSocket(BluetoothSocket.TYPE_L2CAP_LE, true, true,
@@ -3115,7 +3116,7 @@
      * permissions, or unable to start this CoC
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH)
-    public BluetoothServerSocket listenUsingInsecureL2capChannel()
+    public @NonNull BluetoothServerSocket listenUsingInsecureL2capChannel()
             throws IOException {
         BluetoothServerSocket socket =
                             new BluetoothServerSocket(BluetoothSocket.TYPE_L2CAP_LE, false, false,
diff --git a/core/java/android/bluetooth/BluetoothCodecStatus.java b/core/java/android/bluetooth/BluetoothCodecStatus.java
index 8eae2b4..58b6aea 100644
--- a/core/java/android/bluetooth/BluetoothCodecStatus.java
+++ b/core/java/android/bluetooth/BluetoothCodecStatus.java
@@ -75,8 +75,8 @@
      * @param c2 the second array of capabilities to compare
      * @return true if both arrays contain same capabilities
      */
-    private static boolean sameCapabilities(BluetoothCodecConfig[] c1,
-                                            BluetoothCodecConfig[] c2) {
+    public static boolean sameCapabilities(BluetoothCodecConfig[] c1,
+                                           BluetoothCodecConfig[] c2) {
         if (c1 == null) {
             return (c2 == null);
         }
diff --git a/core/java/android/bluetooth/BluetoothDevice.java b/core/java/android/bluetooth/BluetoothDevice.java
index f718415..fa2c9f8 100644
--- a/core/java/android/bluetooth/BluetoothDevice.java
+++ b/core/java/android/bluetooth/BluetoothDevice.java
@@ -17,6 +17,7 @@
 package android.bluetooth;
 
 import android.Manifest;
+import android.annotation.NonNull;
 import android.annotation.RequiresPermission;
 import android.annotation.SdkConstant;
 import android.annotation.SdkConstant.SdkConstantType;
@@ -2182,7 +2183,7 @@
      * permissions
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH)
-    public BluetoothSocket createL2capChannel(int psm) throws IOException {
+    public @NonNull BluetoothSocket createL2capChannel(int psm) throws IOException {
         if (!isBluetoothEnabled()) {
             Log.e(TAG, "createL2capChannel: Bluetooth is not enabled");
             throw new IOException();
@@ -2221,7 +2222,7 @@
      * permissions
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH)
-    public BluetoothSocket createInsecureL2capChannel(int psm) throws IOException {
+    public @NonNull BluetoothSocket createInsecureL2capChannel(int psm) throws IOException {
         if (!isBluetoothEnabled()) {
             Log.e(TAG, "createInsecureL2capChannel: Bluetooth is not enabled");
             throw new IOException();
diff --git a/core/java/android/bluetooth/BluetoothHearingAid.java b/core/java/android/bluetooth/BluetoothHearingAid.java
index 82cc1bc..d6edb90 100644
--- a/core/java/android/bluetooth/BluetoothHearingAid.java
+++ b/core/java/android/bluetooth/BluetoothHearingAid.java
@@ -17,11 +17,11 @@
 package android.bluetooth;
 
 import android.Manifest;
+import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.RequiresPermission;
 import android.annotation.SdkConstant;
 import android.annotation.SdkConstant.SdkConstantType;
-import android.annotation.UnsupportedAppUsage;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -91,7 +91,6 @@
      * @hide
      */
     @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
-    @UnsupportedAppUsage
     public static final String ACTION_ACTIVE_DEVICE_CHANGED =
             "android.bluetooth.hearingaid.profile.action.ACTIVE_DEVICE_CHANGED";
 
@@ -303,7 +302,7 @@
      * {@inheritDoc}
      */
     @Override
-    public List<BluetoothDevice> getConnectedDevices() {
+    public @NonNull List<BluetoothDevice> getConnectedDevices() {
         if (VDBG) log("getConnectedDevices()");
         try {
             mServiceLock.readLock().lock();
@@ -324,7 +323,8 @@
      * {@inheritDoc}
      */
     @Override
-    public List<BluetoothDevice> getDevicesMatchingConnectionStates(int[] states) {
+    public @NonNull List<BluetoothDevice> getDevicesMatchingConnectionStates(
+    @NonNull int[] states) {
         if (VDBG) log("getDevicesMatchingStates()");
         try {
             mServiceLock.readLock().lock();
@@ -345,7 +345,8 @@
      * {@inheritDoc}
      */
     @Override
-    public int getConnectionState(BluetoothDevice device) {
+    public @BluetoothProfile.BtProfileState int getConnectionState(
+    @NonNull BluetoothDevice device) {
         if (VDBG) log("getState(" + device + ")");
         try {
             mServiceLock.readLock().lock();
@@ -385,7 +386,6 @@
      * @return false on immediate error, true otherwise
      * @hide
      */
-    @UnsupportedAppUsage
     public boolean setActiveDevice(@Nullable BluetoothDevice device) {
         if (DBG) log("setActiveDevice(" + device + ")");
         try {
@@ -417,7 +417,6 @@
      * @hide
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH)
-    @UnsupportedAppUsage
     public List<BluetoothDevice> getActiveDevices() {
         if (VDBG) log("getActiveDevices()");
         try {
diff --git a/core/java/android/bluetooth/BluetoothHidHost.java b/core/java/android/bluetooth/BluetoothHidHost.java
index 58a2522..7c925a1 100644
--- a/core/java/android/bluetooth/BluetoothHidHost.java
+++ b/core/java/android/bluetooth/BluetoothHidHost.java
@@ -233,8 +233,10 @@
                         if (VDBG) Log.d(TAG, "Unbinding service...");
                         synchronized (mConnection) {
                             try {
-                                mService = null;
-                                mContext.unbindService(mConnection);
+                                if (mService != null) {
+                                    mService = null;
+                                    mContext.unbindService(mConnection);
+                                }
                             } catch (Exception re) {
                                 Log.e(TAG, "", re);
                             }
diff --git a/core/java/android/bluetooth/BluetoothPbap.java b/core/java/android/bluetooth/BluetoothPbap.java
index a601df0..359bec6 100644
--- a/core/java/android/bluetooth/BluetoothPbap.java
+++ b/core/java/android/bluetooth/BluetoothPbap.java
@@ -121,8 +121,10 @@
                         log("Unbinding service...");
                         synchronized (mConnection) {
                             try {
-                                mService = null;
-                                mContext.unbindService(mConnection);
+                                if (mService != null) {
+                                    mService = null;
+                                    mContext.unbindService(mConnection);
+                                }
                             } catch (Exception re) {
                                 Log.e(TAG, "", re);
                             }
diff --git a/core/java/android/bluetooth/BluetoothProfile.java b/core/java/android/bluetooth/BluetoothProfile.java
index ef77596..dabe0fd 100644
--- a/core/java/android/bluetooth/BluetoothProfile.java
+++ b/core/java/android/bluetooth/BluetoothProfile.java
@@ -276,7 +276,7 @@
      * #STATE_CONNECTING}, {@link #STATE_DISCONNECTED}, {@link #STATE_DISCONNECTING}
      */
     @RequiresPermission(Manifest.permission.BLUETOOTH)
-    public int getConnectionState(BluetoothDevice device);
+    @BtProfileState int getConnectionState(BluetoothDevice device);
 
     /**
      * An interface for notifying BluetoothProfile IPC clients when they have
diff --git a/core/java/android/content/AutofillOptions.java b/core/java/android/content/AutofillOptions.java
index 0d25f4d..f59bc98 100644
--- a/core/java/android/content/AutofillOptions.java
+++ b/core/java/android/content/AutofillOptions.java
@@ -16,12 +16,15 @@
 package android.content;
 
 import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.TestApi;
 import android.app.ActivityThread;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.util.ArraySet;
 import android.util.Log;
 import android.view.autofill.AutofillManager;
+import android.view.contentcapture.ContentCaptureManager.ContentCaptureClient;
 
 import java.io.PrintWriter;
 
@@ -51,8 +54,13 @@
     /**
      * Whether package is whitelisted for augmented autofill.
      */
-    public boolean augmentedEnabled;
-    // TODO(b/123100824): add (optional) list of activities
+    public boolean augmentedAutofillEnabled;
+
+    /**
+     * List of whitelisted activities.
+     */
+    @Nullable
+    public ArraySet<ComponentName> whitelistedActivitiesForAugmentedAutofill;
 
     public AutofillOptions(int loggingLevel, boolean compatModeEnabled) {
         this.loggingLevel = loggingLevel;
@@ -60,6 +68,20 @@
     }
 
     /**
+     * Returns whether activity is whitelisted for augmented autofill.
+     */
+    public boolean isAugmentedAutofillEnabled(@NonNull Context context) {
+        if (!augmentedAutofillEnabled) return false;
+
+        final ContentCaptureClient contentCaptureClient = context.getContentCaptureClient();
+        if (contentCaptureClient == null) return false;
+
+        final ComponentName component = contentCaptureClient.contentCaptureClientGetComponentName();
+        return whitelistedActivitiesForAugmentedAutofill == null
+                || whitelistedActivitiesForAugmentedAutofill.contains(component);
+    }
+
+    /**
      * @hide
      */
     @TestApi
@@ -78,7 +100,7 @@
 
         final AutofillOptions options = new AutofillOptions(
                 AutofillManager.FLAG_ADD_CLIENT_VERBOSE, /* compatModeAllowed= */ true);
-        options.augmentedEnabled = true;
+        options.augmentedAutofillEnabled = true;
         // Always log, as it's used by test only
         Log.i(TAG, "forWhitelistingItself(" + packageName + "): " + options);
 
@@ -87,15 +109,19 @@
 
     @Override
     public String toString() {
-        return "AutofillOptions [loggingLevel=" + loggingLevel + ", compatMode="
-                + compatModeEnabled + ", augmentedEnabled=" + augmentedEnabled + "]";
+        return "AutofillOptions [loggingLevel=" + loggingLevel + ", compatMode=" + compatModeEnabled
+                + ", augmentedAutofillEnabled=" + augmentedAutofillEnabled + "]";
     }
 
     /** @hide */
     public void dumpShort(@NonNull PrintWriter pw) {
         pw.print("logLvl="); pw.print(loggingLevel);
         pw.print(", compatMode="); pw.print(compatModeEnabled);
-        pw.print(", augmented="); pw.print(augmentedEnabled);
+        pw.print(", augmented="); pw.print(augmentedAutofillEnabled);
+        if (whitelistedActivitiesForAugmentedAutofill != null) {
+            pw.print(", whitelistedActivitiesForAugmentedAutofill=");
+            pw.print(whitelistedActivitiesForAugmentedAutofill);
+        }
     }
 
     @Override
@@ -107,7 +133,8 @@
     public void writeToParcel(Parcel parcel, int flags) {
         parcel.writeInt(loggingLevel);
         parcel.writeBoolean(compatModeEnabled);
-        parcel.writeBoolean(augmentedEnabled);
+        parcel.writeBoolean(augmentedAutofillEnabled);
+        parcel.writeArraySet(whitelistedActivitiesForAugmentedAutofill);
     }
 
     public static final @android.annotation.NonNull Parcelable.Creator<AutofillOptions> CREATOR =
@@ -118,7 +145,9 @@
                     final int loggingLevel = parcel.readInt();
                     final boolean compatMode = parcel.readBoolean();
                     final AutofillOptions options = new AutofillOptions(loggingLevel, compatMode);
-                    options.augmentedEnabled = parcel.readBoolean();
+                    options.augmentedAutofillEnabled = parcel.readBoolean();
+                    options.whitelistedActivitiesForAugmentedAutofill =
+                            (ArraySet<ComponentName>) parcel.readArraySet(null);
                     return options;
                 }
 
diff --git a/core/java/android/content/ContentResolver.java b/core/java/android/content/ContentResolver.java
index 1e4b1e7..fa85f0a 100644
--- a/core/java/android/content/ContentResolver.java
+++ b/core/java/android/content/ContentResolver.java
@@ -623,7 +623,7 @@
     }
 
     /** {@hide} */
-    public static ContentResolver wrap(@NonNull ContentInterface wrapped) {
+    public static @NonNull ContentResolver wrap(@NonNull ContentInterface wrapped) {
         Preconditions.checkNotNull(wrapped);
 
         return new ContentResolver(null, wrapped) {
@@ -654,7 +654,7 @@
      * Create a {@link ContentResolver} instance that redirects all its methods
      * to the given {@link ContentProvider}.
      */
-    public static ContentResolver wrap(@NonNull ContentProvider wrapped) {
+    public static @NonNull ContentResolver wrap(@NonNull ContentProvider wrapped) {
         return wrap((ContentInterface) wrapped);
     }
 
@@ -662,7 +662,7 @@
      * Create a {@link ContentResolver} instance that redirects all its methods
      * to the given {@link ContentProviderClient}.
      */
-    public static ContentResolver wrap(@NonNull ContentProviderClient wrapped) {
+    public static @NonNull ContentResolver wrap(@NonNull ContentProviderClient wrapped) {
         return wrap((ContentInterface) wrapped);
     }
 
diff --git a/core/java/android/content/Context.java b/core/java/android/content/Context.java
index beb1fb6..fb933b1 100644
--- a/core/java/android/content/Context.java
+++ b/core/java/android/content/Context.java
@@ -17,6 +17,7 @@
 package android.content;
 
 import android.annotation.AttrRes;
+import android.annotation.CallbackExecutor;
 import android.annotation.CheckResult;
 import android.annotation.ColorInt;
 import android.annotation.ColorRes;
@@ -69,6 +70,7 @@
 import android.view.ViewDebug;
 import android.view.WindowManager;
 import android.view.autofill.AutofillManager.AutofillClient;
+import android.view.contentcapture.ContentCaptureManager.ContentCaptureClient;
 import android.view.textclassifier.TextClassificationManager;
 
 import java.io.File;
@@ -336,6 +338,25 @@
     public static final int BIND_ADJUST_BELOW_PERCEPTIBLE = 0x0100;
 
     /**
+     * Flag for {@link #bindService}: This flag is intended to be used only by the system to adjust
+     * the scheduling policy for IMEs (and any other out-of-process user-visible components that
+     * work closely with the top app) so that UI hosted in such services can have the same
+     * scheduling policy (e.g. SCHED_FIFO when it is enabled and TOP_APP_PRIORITY_BOOST otherwise)
+     * as the actual top-app.
+     * @hide
+     */
+    public static final int BIND_SCHEDULE_LIKE_TOP_APP = 0x00080000;
+
+    /**
+     * Flag for {@link #bindService}: allow background activity starts from the bound service's
+     * process.
+     * This flag is only respected if the caller is holding
+     * {@link android.Manifest.permission#START_ACTIVITIES_FROM_BACKGROUND}.
+     * @hide
+     */
+    public static final int BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS = 0x00100000;
+
+    /**
      * @hide Flag for {@link #bindService}: the service being bound to represents a
      * protected system component, so must have association restrictions applied to it.
      * That is, a system config must have one or more allow-association tags limiting
@@ -2966,26 +2987,40 @@
             @NonNull ServiceConnection conn, @BindServiceFlags int flags);
 
     /**
+     * Same as {@link #bindService(Intent, ServiceConnection, int)} with executor to control
+     * ServiceConnection callbacks.
+     * @param executor Callbacks on ServiceConnection will be called on executor. Must use same
+     *      instance for the same instance of ServiceConnection.
+     */
+    public boolean bindService(@RequiresPermission @NonNull Intent service,
+            @BindServiceFlags int flags, @NonNull @CallbackExecutor Executor executor,
+            @NonNull ServiceConnection conn) {
+        throw new RuntimeException("Not implemented. Must override in a subclass.");
+    }
+
+    /**
      * Variation of {@link #bindService} that, in the specific case of isolated
      * services, allows the caller to generate multiple instances of a service
      * from a single component declaration.
      *
      * @param service Identifies the service to connect to.  The Intent must
      *      specify an explicit component name.
-     * @param conn Receives information as the service is started and stopped.
-     *      This must be a valid ServiceConnection object; it must not be null.
      * @param flags Operation options for the binding as per {@link #bindService}.
      * @param instanceName Unique identifier for the service instance.  Each unique
      *      name here will result in a different service instance being created.
      * @return Returns success of binding as per {@link #bindService}.
+     * @param executor Callbacks on ServiceConnection will be called on executor.
+     *      Must use same instance for the same instance of ServiceConnection.
+     * @param conn Receives information as the service is started and stopped.
+     *      This must be a valid ServiceConnection object; it must not be null.
      *
      * @throws SecurityException If the caller does not have permission to access the service
      *
      * @see #bindService
      */
     public boolean bindIsolatedService(@RequiresPermission @NonNull Intent service,
-            @NonNull ServiceConnection conn, @BindServiceFlags int flags,
-            @NonNull String instanceName) {
+            @BindServiceFlags int flags, @NonNull String instanceName,
+            @NonNull @CallbackExecutor Executor executor, @NonNull ServiceConnection conn) {
         throw new RuntimeException("Not implemented. Must override in a subclass.");
     }
 
@@ -3111,6 +3146,7 @@
             CONNECTIVITY_SERVICE,
             //@hide: IP_MEMORY_STORE_SERVICE,
             IPSEC_SERVICE,
+            TEST_NETWORK_SERVICE,
             //@hide: UPDATE_LOCK_SERVICE,
             //@hide: NETWORKMANAGEMENT_SERVICE,
             NETWORK_STATS_SERVICE,
@@ -3160,6 +3196,7 @@
             RESTRICTIONS_SERVICE,
             APP_OPS_SERVICE,
             ROLE_SERVICE,
+            //@hide ROLE_CONTROLLER_SERVICE,
             CAMERA_SERVICE,
             PRINT_SERVICE,
             CONSUMER_IR_SERVICE,
@@ -3272,11 +3309,16 @@
      * {@link #USB_SERVICE}, {@link #WALLPAPER_SERVICE}, {@link #WIFI_P2P_SERVICE},
      * {@link #WIFI_SERVICE}, {@link #WIFI_AWARE_SERVICE}. For these services this method will
      * return <code>null</code>.  Generally, if you are running as an instant app you should always
-     * check whether the result of this method is null.
+     * check whether the result of this method is {@code null}.
+     *
+     * <p>Note: When implementing this method, keep in mind that new services can be added on newer
+     * Android releases, so if you're looking for just the explicit names mentioned above, make sure
+     * to return {@code null} when you don't recognize the name &mdash; if you throw a
+     * {@link RuntimeException} exception instead, you're app might break on new Android releases.
      *
      * @param name The name of the desired service.
      *
-     * @return The service or null if the name does not exist.
+     * @return The service or {@code null} if the name does not exist.
      *
      * @see #WINDOW_SERVICE
      * @see android.view.WindowManager
@@ -3350,7 +3392,9 @@
      * {@link android.app.UiModeManager}, {@link android.app.DownloadManager},
      * {@link android.os.BatteryManager}, {@link android.app.job.JobScheduler},
      * {@link android.app.usage.NetworkStatsManager}.
-     * </p><p>
+     * </p>
+     *
+     * <p>
      * Note: System services obtained via this API may be closely associated with
      * the Context in which they are obtained from.  In general, do not share the
      * service objects between various different contexts (Activities, Applications,
@@ -3362,11 +3406,13 @@
      * {@link #FINGERPRINT_SERVICE}, {@link #KEYGUARD_SERVICE}, {@link #SHORTCUT_SERVICE},
      * {@link #USB_SERVICE}, {@link #WALLPAPER_SERVICE}, {@link #WIFI_P2P_SERVICE},
      * {@link #WIFI_SERVICE}, {@link #WIFI_AWARE_SERVICE}. For these services this method will
-     * return <code>null</code>.  Generally, if you are running as an instant app you should always
-     * check whether the result of this method is null.
+     * return {@code null}. Generally, if you are running as an instant app you should always
+     * check whether the result of this method is {@code null}.
+     * </p>
      *
      * @param serviceClass The class of the desired service.
-     * @return The service or null if the class is not a supported system service.
+     * @return The service or {@code null} if the class is not a supported system service. Note:
+     * <b>never</b> throw a {@link RuntimeException} if the name is not supported.
      */
     @SuppressWarnings("unchecked")
     public final @Nullable <T> T getSystemService(@NonNull Class<T> serviceClass) {
@@ -3657,14 +3703,6 @@
 
     /**
      * Use with {@link #getSystemService(String)} to retrieve a
-     * {@link android.net.IpMemoryStore} to store and read information about
-     * known networks.
-     * @hide
-     */
-    public static final String IP_MEMORY_STORE_SERVICE = "ipmemorystore";
-
-    /**
-     * Use with {@link #getSystemService(String)} to retrieve a
      * {@link android.net.IpSecManager} for encrypting Sockets or Networks with
      * IPSec.
      *
@@ -3674,6 +3712,15 @@
 
     /**
      * Use with {@link #getSystemService(String)} to retrieve a {@link
+     * android.net.TestNetworkManager} for building TUNs and limited-use Networks
+     *
+     * @see #getSystemService(String)
+     * @hide
+     */
+    @TestApi public static final String TEST_NETWORK_SERVICE = "test_network";
+
+    /**
+     * Use with {@link #getSystemService(String)} to retrieve a {@link
      * android.os.IUpdateLock} for managing runtime sequences that
      * must not be interrupted by headless OTA application or similar.
      *
@@ -3961,6 +4008,16 @@
 
     /**
      * Use with {@link #getSystemService(String)} to retrieve a
+     * {@link com.android.server.attention.AttentionManagerService} for attention services.
+     *
+     * @see #getSystemService(String)
+     * @see android.server.attention.AttentionManagerService
+     * @hide
+     */
+    public static final String ATTENTION_SERVICE = "attention";
+
+    /**
+     * Use with {@link #getSystemService(String)} to retrieve a
      * {@link android.view.inputmethod.InputMethodManager} for accessing input
      * methods.
      *
@@ -4072,7 +4129,7 @@
      * @see #getSystemService(String)
      * @hide
      */
-    @SystemApi
+    @SystemApi @TestApi
     public static final String ROLLBACK_SERVICE = "rollback";
 
     /**
@@ -4269,6 +4326,16 @@
     public static final String ROLE_SERVICE = "role";
 
     /**
+     * Official published name of the (internal) role controller service.
+     *
+     * @see #getSystemService(String)
+     * @see android.app.role.RoleControllerService
+     *
+     * @hide
+     */
+    public static final String ROLE_CONTROLLER_SERVICE = "role_controller";
+
+    /**
      * Use with {@link #getSystemService(String)} to retrieve a
      * {@link android.hardware.camera2.CameraManager} for interacting with
      * camera devices.
@@ -5343,6 +5410,14 @@
     /**
      * @hide
      */
+    @Nullable
+    public ContentCaptureClient getContentCaptureClient() {
+        return null;
+    }
+
+    /**
+     * @hide
+     */
     public final boolean isAutofillCompatibilityEnabled() {
         final AutofillOptions options = getAutofillOptions();
         return options != null && options.compatModeEnabled;
diff --git a/core/java/android/content/ContextWrapper.java b/core/java/android/content/ContextWrapper.java
index 40559d3..0859f97 100644
--- a/core/java/android/content/ContextWrapper.java
+++ b/core/java/android/content/ContextWrapper.java
@@ -706,9 +706,15 @@
     }
 
     @Override
-    public boolean bindIsolatedService(Intent service, ServiceConnection conn,
-            int flags, String instanceName) {
-        return mBase.bindIsolatedService(service, conn, flags, instanceName);
+    public boolean bindService(Intent service, int flags, Executor executor,
+            ServiceConnection conn) {
+        return mBase.bindService(service, flags, executor, conn);
+    }
+
+    @Override
+    public boolean bindIsolatedService(Intent service, int flags, String instanceName,
+            Executor executor, ServiceConnection conn) {
+        return mBase.bindIsolatedService(service, flags, instanceName, executor, conn);
     }
 
     /** @hide */
diff --git a/core/java/android/content/Intent.java b/core/java/android/content/Intent.java
index d3b8e29..efd9990 100644
--- a/core/java/android/content/Intent.java
+++ b/core/java/android/content/Intent.java
@@ -1997,7 +1997,8 @@
     public static final String EXTRA_LAUNCHER_EXTRAS = "android.intent.extra.LAUNCHER_EXTRAS";
 
     /**
-     * Intent extra: ID of the shortcut used to send the share intent.
+     * Intent extra: ID of the shortcut used to send the share intent. Will be sent with
+     * {@link #ACTION_SEND}.
      *
      * @see ShortcutInfo#getId()
      *
@@ -2124,6 +2125,7 @@
      * @hide
      */
     @SystemApi
+    @RequiresPermission(android.Manifest.permission.REVIEW_ACCESSIBILITY_SERVICES)
     @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
     public static final String ACTION_REVIEW_ACCESSIBILITY_SERVICES =
             "android.intent.action.REVIEW_ACCESSIBILITY_SERVICES";
@@ -2440,7 +2442,7 @@
      *
      * @hide
      */
-    @SystemApi
+    @SystemApi @TestApi
     @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
     public static final String ACTION_ROLLBACK_COMMITTED =
             "android.intent.action.ROLLBACK_COMMITTED";
diff --git a/core/java/android/content/LocusId.java b/core/java/android/content/LocusId.java
index 3d1ddc3..c67ff7c 100644
--- a/core/java/android/content/LocusId.java
+++ b/core/java/android/content/LocusId.java
@@ -37,9 +37,11 @@
 
     /**
      * Default constructor.
+     *
+     * @throws IllegalArgumentException if {@code id} is empty or {@code null}.
      */
     public LocusId(@NonNull String id) {
-        mId = Preconditions.checkNotNull(id);
+        mId = Preconditions.checkStringNotEmpty(id, "id cannot be empty");
     }
 
     /**
diff --git a/core/java/android/content/LoggingContentInterface.java b/core/java/android/content/LoggingContentInterface.java
index 26d01b9..6e12a57 100644
--- a/core/java/android/content/LoggingContentInterface.java
+++ b/core/java/android/content/LoggingContentInterface.java
@@ -66,7 +66,12 @@
         } else {
             sb.append(" = ").append(deepToString(res));
         }
-        Log.v(tag, sb.toString());
+
+        if (res instanceof Exception) {
+            Log.e(tag, sb.toString());
+        } else {
+            Log.v(tag, sb.toString());
+        }
     }
 
     private String deepToString(Object value) {
@@ -81,119 +86,194 @@
     public @Nullable Cursor query(@NonNull Uri uri, @Nullable String[] projection,
             @Nullable Bundle queryArgs, @Nullable CancellationSignal cancellationSignal)
             throws RemoteException {
-        final Cursor res = delegate.query(uri, projection, queryArgs, cancellationSignal);
-        log("query", res, uri, projection, queryArgs, cancellationSignal);
-        return res;
+        try {
+            final Cursor res = delegate.query(uri, projection, queryArgs, cancellationSignal);
+            log("query", res, uri, projection, queryArgs, cancellationSignal);
+            return res;
+        } catch (Exception res) {
+            log("query", res, uri, projection, queryArgs, cancellationSignal);
+            throw res;
+        }
     }
 
     @Override
     public @Nullable String getType(@NonNull Uri uri) throws RemoteException {
-        final String res = delegate.getType(uri);
-        log("getType", res, uri);
-        return res;
+        try {
+            final String res = delegate.getType(uri);
+            log("getType", res, uri);
+            return res;
+        } catch (Exception res) {
+            log("getType", res, uri);
+            throw res;
+        }
     }
 
     @Override
     public @Nullable String[] getStreamTypes(@NonNull Uri uri, @NonNull String mimeTypeFilter)
             throws RemoteException {
-        final String[] res = delegate.getStreamTypes(uri, mimeTypeFilter);
-        log("getStreamTypes", res, uri, mimeTypeFilter);
-        return res;
+        try {
+            final String[] res = delegate.getStreamTypes(uri, mimeTypeFilter);
+            log("getStreamTypes", res, uri, mimeTypeFilter);
+            return res;
+        } catch (Exception res) {
+            log("getStreamTypes", res, uri, mimeTypeFilter);
+            throw res;
+        }
     }
 
     @Override
     public @Nullable Uri canonicalize(@NonNull Uri uri) throws RemoteException {
-        final Uri res = delegate.canonicalize(uri);
-        log("canonicalize", res, uri);
-        return res;
+        try {
+            final Uri res = delegate.canonicalize(uri);
+            log("canonicalize", res, uri);
+            return res;
+        } catch (Exception res) {
+            log("canonicalize", res, uri);
+            throw res;
+        }
     }
 
     @Override
     public @Nullable Uri uncanonicalize(@NonNull Uri uri) throws RemoteException {
-        final Uri res = delegate.uncanonicalize(uri);
-        log("uncanonicalize", res, uri);
-        return res;
+        try {
+            final Uri res = delegate.uncanonicalize(uri);
+            log("uncanonicalize", res, uri);
+            return res;
+        } catch (Exception res) {
+            log("uncanonicalize", res, uri);
+            throw res;
+        }
     }
 
     @Override
     public boolean refresh(@NonNull Uri uri, @Nullable Bundle args,
             @Nullable CancellationSignal cancellationSignal) throws RemoteException {
-        final boolean res = delegate.refresh(uri, args, cancellationSignal);
-        log("refresh", res, uri, args, cancellationSignal);
-        return res;
+        try {
+            final boolean res = delegate.refresh(uri, args, cancellationSignal);
+            log("refresh", res, uri, args, cancellationSignal);
+            return res;
+        } catch (Exception res) {
+            log("refresh", res, uri, args, cancellationSignal);
+            throw res;
+        }
     }
 
     @Override
     public @Nullable Uri insert(@NonNull Uri uri, @Nullable ContentValues initialValues)
             throws RemoteException {
-        final Uri res = delegate.insert(uri, initialValues);
-        log("insert", res, uri, initialValues);
-        return res;
+        try {
+            final Uri res = delegate.insert(uri, initialValues);
+            log("insert", res, uri, initialValues);
+            return res;
+        } catch (Exception res) {
+            log("insert", res, uri, initialValues);
+            throw res;
+        }
     }
 
     @Override
     public int bulkInsert(@NonNull Uri uri, @NonNull ContentValues[] initialValues)
             throws RemoteException {
-        final int res = delegate.bulkInsert(uri, initialValues);
-        log("bulkInsert", res, uri, initialValues);
-        return res;
+        try {
+            final int res = delegate.bulkInsert(uri, initialValues);
+            log("bulkInsert", res, uri, initialValues);
+            return res;
+        } catch (Exception res) {
+            log("bulkInsert", res, uri, initialValues);
+            throw res;
+        }
     }
 
     @Override
     public int delete(@NonNull Uri uri, @Nullable String selection,
             @Nullable String[] selectionArgs) throws RemoteException {
-        final int res = delegate.delete(uri, selection, selectionArgs);
-        log("delete", res, uri, selection, selectionArgs);
-        return res;
+        try {
+            final int res = delegate.delete(uri, selection, selectionArgs);
+            log("delete", res, uri, selection, selectionArgs);
+            return res;
+        } catch (Exception res) {
+            log("delete", res, uri, selection, selectionArgs);
+            throw res;
+        }
     }
 
     @Override
     public int update(@NonNull Uri uri, @Nullable ContentValues values, @Nullable String selection,
             @Nullable String[] selectionArgs) throws RemoteException {
-        final int res = delegate.update(uri, values, selection, selectionArgs);
-        log("update", res, uri, values, selection, selectionArgs);
-        return res;
+        try {
+            final int res = delegate.update(uri, values, selection, selectionArgs);
+            log("update", res, uri, values, selection, selectionArgs);
+            return res;
+        } catch (Exception res) {
+            log("update", res, uri, values, selection, selectionArgs);
+            throw res;
+        }
     }
 
     @Override
     public @Nullable ParcelFileDescriptor openFile(@NonNull Uri uri, @NonNull String mode,
             @Nullable CancellationSignal signal) throws RemoteException, FileNotFoundException {
-        final ParcelFileDescriptor res = delegate.openFile(uri, mode, signal);
-        log("openFile", res, uri, mode, signal);
-        return res;
+        try {
+            final ParcelFileDescriptor res = delegate.openFile(uri, mode, signal);
+            log("openFile", res, uri, mode, signal);
+            return res;
+        } catch (Exception res) {
+            log("openFile", res, uri, mode, signal);
+            throw res;
+        }
     }
 
     @Override
     public @Nullable AssetFileDescriptor openAssetFile(@NonNull Uri uri, @NonNull String mode,
             @Nullable CancellationSignal signal) throws RemoteException, FileNotFoundException {
-        final AssetFileDescriptor res = delegate.openAssetFile(uri, mode, signal);
-        log("openAssetFile", res, uri, mode, signal);
-        return res;
+        try {
+            final AssetFileDescriptor res = delegate.openAssetFile(uri, mode, signal);
+            log("openAssetFile", res, uri, mode, signal);
+            return res;
+        } catch (Exception res) {
+            log("openAssetFile", res, uri, mode, signal);
+            throw res;
+        }
     }
 
     @Override
     public @Nullable AssetFileDescriptor openTypedAssetFile(@NonNull Uri uri,
             @NonNull String mimeTypeFilter, @Nullable Bundle opts,
             @Nullable CancellationSignal signal) throws RemoteException, FileNotFoundException {
-        final AssetFileDescriptor res = delegate.openTypedAssetFile(uri, mimeTypeFilter, opts, signal);
-        log("openTypedAssetFile", res, uri, mimeTypeFilter, opts, signal);
-        return res;
+        try {
+            final AssetFileDescriptor res = delegate.openTypedAssetFile(uri, mimeTypeFilter, opts, signal);
+            log("openTypedAssetFile", res, uri, mimeTypeFilter, opts, signal);
+            return res;
+        } catch (Exception res) {
+            log("openTypedAssetFile", res, uri, mimeTypeFilter, opts, signal);
+            throw res;
+        }
     }
 
     @Override
     public @NonNull ContentProviderResult[] applyBatch(@NonNull String authority,
             @NonNull ArrayList<ContentProviderOperation> operations)
             throws RemoteException, OperationApplicationException {
-        final ContentProviderResult[] res = delegate.applyBatch(authority, operations);
-        log("applyBatch", res, authority, operations);
-        return res;
+        try {
+            final ContentProviderResult[] res = delegate.applyBatch(authority, operations);
+            log("applyBatch", res, authority, operations);
+            return res;
+        } catch (Exception res) {
+            log("applyBatch", res, authority, operations);
+            throw res;
+        }
     }
 
     @Override
     public @Nullable Bundle call(@NonNull String authority, @NonNull String method,
             @Nullable String arg, @Nullable Bundle extras) throws RemoteException {
-        final Bundle res = delegate.call(authority, method, arg, extras);
-        log("call", res, authority, method, arg, extras);
-        return res;
+        try {
+            final Bundle res = delegate.call(authority, method, arg, extras);
+            log("call", res, authority, method, arg, extras);
+            return res;
+        } catch (Exception res) {
+            log("call", res, authority, method, arg, extras);
+            throw res;
+        }
     }
 }
diff --git a/core/java/android/content/pm/AndroidHidlUpdater.java b/core/java/android/content/pm/AndroidHidlUpdater.java
index b7ae8f4..d0657e5 100644
--- a/core/java/android/content/pm/AndroidHidlUpdater.java
+++ b/core/java/android/content/pm/AndroidHidlUpdater.java
@@ -34,8 +34,14 @@
 
     @Override
     public void updatePackage(Package pkg) {
+        ApplicationInfo info = pkg.applicationInfo;
+
         // This was the default <= P and is maintained for backwards compatibility.
-        if (pkg.applicationInfo.targetSdkVersion <= Build.VERSION_CODES.P) {
+        boolean isLegacy = info.targetSdkVersion <= Build.VERSION_CODES.P;
+        // Only system apps use these libraries
+        boolean isSystem = info.isSystemApp() || info.isUpdatedSystemApp();
+
+        if (isLegacy && isSystem) {
             prefixRequiredLibrary(pkg, ANDROID_HIDL_BASE);
             prefixRequiredLibrary(pkg, ANDROID_HIDL_MANAGER);
         } else {
diff --git a/core/java/android/content/pm/ApplicationInfo.java b/core/java/android/content/pm/ApplicationInfo.java
index 4f09d5a..706cbbf 100644
--- a/core/java/android/content/pm/ApplicationInfo.java
+++ b/core/java/android/content/pm/ApplicationInfo.java
@@ -43,6 +43,7 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 import java.text.Collator;
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Comparator;
 import java.util.List;
@@ -2028,6 +2029,27 @@
         return this;
     }
 
+    /**
+     * Return all the APK paths that may be required to load this application, including all
+     * splits, shared libraries, and resource overlays.
+     * @hide
+     */
+    public String[] getAllApkPaths() {
+        final String[][] inputLists = { splitSourceDirs, sharedLibraryFiles, resourceDirs };
+        final List<String> output = new ArrayList<>(10);
+        if (sourceDir != null) {
+            output.add(sourceDir);
+        }
+        for (String[] inputList : inputLists) {
+            if (inputList != null) {
+                for (String input : inputList) {
+                    output.add(input);
+                }
+            }
+        }
+        return output.toArray(new String[output.size()]);
+    }
+
     /** {@hide} */ public void setCodePath(String codePath) { scanSourceDir = codePath; }
     /** {@hide} */ public void setBaseCodePath(String baseCodePath) { sourceDir = baseCodePath; }
     /** {@hide} */ public void setSplitCodePaths(String[] splitCodePaths) { splitSourceDirs = splitCodePaths; }
diff --git a/core/java/android/content/pm/LauncherApps.java b/core/java/android/content/pm/LauncherApps.java
index 38ea43e..954deac 100644
--- a/core/java/android/content/pm/LauncherApps.java
+++ b/core/java/android/content/pm/LauncherApps.java
@@ -142,17 +142,6 @@
     public static final String EXTRA_PIN_ITEM_REQUEST =
             "android.content.pm.extra.PIN_ITEM_REQUEST";
 
-    /**
-     * Metadata key that specifies vouched certs, so any apps signed by a cert in vouched certs
-     * will not show hidden icon in launcher even it does not have a launcher visible activity.
-     *
-     * If an app has this metadata in manifest, it won't be eligible to hide its icon even if its
-     * cert is in vouched certs list.
-     *
-     * @hide
-     */
-    public static final String VOUCHED_CERTS_KEY = "vouched_certs";
-
     private final Context mContext;
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final ILauncherApps mService;
@@ -585,8 +574,8 @@
      * @param sourceBounds The Rect containing the source bounds of the clicked icon
      * @param opts Options to pass to startActivity
      */
-    public void startPackageInstallerSessionDetailsActivity(SessionInfo sessionInfo,
-            Rect sourceBounds, Bundle opts) {
+    public void startPackageInstallerSessionDetailsActivity(@NonNull SessionInfo sessionInfo,
+            @Nullable Rect sourceBounds, @Nullable Bundle opts) {
         try {
             mService.startSessionDetailsActivityAsUser(mContext.getIApplicationThread(),
                     mContext.getPackageName(), sessionInfo, sourceBounds, opts,
@@ -792,7 +781,7 @@
      *
      * @return an {@link AppUsageLimit} object describing the app time limit containing
      * the given package with the smallest time remaining, or {@code null} if none exist.
-     * @throws SecurityException when the caller is not the active launcher.
+     * @throws SecurityException when the caller is not the recents app.
      */
     @Nullable
     public LauncherApps.AppUsageLimit getAppUsageLimit(@NonNull String packageName,
@@ -1503,7 +1492,7 @@
      * @param callback The callback to unregister.
      * @see #registerPackageInstallerSessionCallback(Executor, SessionCallback)
      */
-    public void unregisterPackageInstallerSessionCallback(SessionCallback callback) {
+    public void unregisterPackageInstallerSessionCallback(@NonNull SessionCallback callback) {
         synchronized (mDelegates) {
             for (Iterator<SessionCallbackDelegate> i = mDelegates.iterator(); i.hasNext();) {
                 final SessionCallbackDelegate delegate = i.next();
diff --git a/core/java/android/content/pm/PackageInstaller.java b/core/java/android/content/pm/PackageInstaller.java
index b20cce9..33b9c72 100644
--- a/core/java/android/content/pm/PackageInstaller.java
+++ b/core/java/android/content/pm/PackageInstaller.java
@@ -24,6 +24,7 @@
 import android.annotation.SdkConstant;
 import android.annotation.SdkConstant.SdkConstantType;
 import android.annotation.SystemApi;
+import android.annotation.TestApi;
 import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityManager;
 import android.app.AppGlobals;
@@ -1342,8 +1343,8 @@
          * @hide
          */
         public boolean areHiddenOptionsSet() {
-            return (installFlags & (PackageManager.INSTALL_ALLOW_DOWNGRADE
-                    | PackageManager.INSTALL_RESPECT_ALLOW_DOWNGRADE
+            return (installFlags & (PackageManager.INSTALL_REQUEST_DOWNGRADE
+                    | PackageManager.INSTALL_ALLOW_DOWNGRADE
                     | PackageManager.INSTALL_DONT_KILL_APP
                     | PackageManager.INSTALL_INSTANT_APP
                     | PackageManager.INSTALL_FULL_APP
@@ -1448,20 +1449,49 @@
 
         /**
          * Request that rollbacks be enabled for the given upgrade.
+         *
+         * @removed
+         * @deprecated use {@link #setEnableRollback(boolean)} instead.
          * @hide
          */
+        @Deprecated
         @SystemApi
         public void setEnableRollback() {
             installFlags |= PackageManager.INSTALL_ENABLE_ROLLBACK;
         }
 
+        /**
+         * Request that rollbacks be enabled or disabled for the given upgrade.
+         *
+         * @param enable set to {@code true} to enable, {@code false} to disable
+         * @hide
+         */
+        @SystemApi @TestApi
+        public void setEnableRollback(boolean enable) {
+            if (enable) {
+                installFlags |= PackageManager.INSTALL_ENABLE_ROLLBACK;
+            } else {
+                installFlags &= ~PackageManager.INSTALL_ENABLE_ROLLBACK;
+            }
+        }
+
+        /**
+         * @deprecated use {@link #setRequestDowngrade(boolean)}.
+         * {@hide}
+         */
+        @SystemApi
+        @Deprecated
+        public void setAllowDowngrade(boolean allowDowngrade) {
+            setRequestDowngrade(allowDowngrade);
+        }
+
         /** {@hide} */
         @SystemApi
-        public void setAllowDowngrade(boolean allowDowngrade) {
-            if (allowDowngrade) {
-                installFlags |= PackageManager.INSTALL_ALLOW_DOWNGRADE;
+        public void setRequestDowngrade(boolean requestDowngrade) {
+            if (requestDowngrade) {
+                installFlags |= PackageManager.INSTALL_REQUEST_DOWNGRADE;
             } else {
-                installFlags &= ~PackageManager.INSTALL_ALLOW_DOWNGRADE;
+                installFlags &= ~PackageManager.INSTALL_REQUEST_DOWNGRADE;
             }
         }
 
@@ -1562,7 +1592,7 @@
          *
          * {@hide}
          */
-        @SystemApi
+        @SystemApi @TestApi
         @RequiresPermission(Manifest.permission.INSTALL_PACKAGES)
         public void setStaged() {
             this.isStaged = true;
@@ -1573,7 +1603,7 @@
          *
          * {@hide}
          */
-        @SystemApi
+        @SystemApi @TestApi
         @RequiresPermission(Manifest.permission.INSTALL_PACKAGES)
         public void setInstallAsApex() {
             installFlags |= PackageManager.INSTALL_APEX;
@@ -1804,7 +1834,7 @@
         /**
          * Return the user associated with this session.
          */
-        public UserHandle getUser() {
+        public @NonNull UserHandle getUser() {
             return new UserHandle(userId);
         }
 
@@ -1982,11 +2012,23 @@
         /**
          * Get the value set in {@link SessionParams#setAllowDowngrade(boolean)}.
          *
+         * @deprecated use {@link #getRequestDowngrade()}.
          * @hide
          */
         @SystemApi
+        @Deprecated
         public boolean getAllowDowngrade() {
-            return (installFlags & PackageManager.INSTALL_ALLOW_DOWNGRADE) != 0;
+            return getRequestDowngrade();
+        }
+
+        /**
+         * Get the value set in {@link SessionParams#setRequestDowngrade(boolean)}.
+         *
+         * @hide
+         */
+        @SystemApi
+        public boolean getRequestDowngrade() {
+            return (installFlags & PackageManager.INSTALL_REQUEST_DOWNGRADE) != 0;
         }
 
         /**
@@ -2036,6 +2078,16 @@
         }
 
         /**
+         * Return whether rollback is enabled or disabled for the given upgrade.
+         *
+         * @hide
+         */
+        @SystemApi
+        public boolean getEnableRollback() {
+            return (installFlags & PackageManager.INSTALL_ENABLE_ROLLBACK) != 0;
+        }
+
+        /**
          * Get the value set in {@link SessionParams#setAllocateAggressive(boolean)}.
          *
          * @hide
@@ -2130,7 +2182,7 @@
          * Text description of the error code returned by {@code getStagedSessionErrorCode}, or
          * empty string if no error was encountered.
          */
-        public String getStagedSessionErrorMessage() {
+        public @NonNull String getStagedSessionErrorMessage() {
             checkSessionIsStaged();
             return mStagedSessionErrorMessage;
         }
diff --git a/core/java/android/content/pm/PackageList.java b/core/java/android/content/pm/PackageList.java
index cfd99ab..f781758 100644
--- a/core/java/android/content/pm/PackageList.java
+++ b/core/java/android/content/pm/PackageList.java
@@ -45,16 +45,16 @@
     }
 
     @Override
-    public void onPackageAdded(String packageName) {
+    public void onPackageAdded(String packageName, int uid) {
         if (mWrappedObserver != null) {
-            mWrappedObserver.onPackageAdded(packageName);
+            mWrappedObserver.onPackageAdded(packageName, uid);
         }
     }
 
     @Override
-    public void onPackageRemoved(String packageName) {
+    public void onPackageRemoved(String packageName, int uid) {
         if (mWrappedObserver != null) {
-            mWrappedObserver.onPackageRemoved(packageName);
+            mWrappedObserver.onPackageRemoved(packageName, uid);
         }
     }
 
diff --git a/core/java/android/content/pm/PackageManager.java b/core/java/android/content/pm/PackageManager.java
index c133fba..99324ba 100644
--- a/core/java/android/content/pm/PackageManager.java
+++ b/core/java/android/content/pm/PackageManager.java
@@ -710,7 +710,7 @@
             INSTALL_INTERNAL,
             INSTALL_FROM_ADB,
             INSTALL_ALL_USERS,
-            INSTALL_ALLOW_DOWNGRADE,
+            INSTALL_REQUEST_DOWNGRADE,
             INSTALL_GRANT_RUNTIME_PERMISSIONS,
             INSTALL_FORCE_VOLUME_UUID,
             INSTALL_FORCE_PERMISSION_PROMPT,
@@ -721,7 +721,7 @@
             INSTALL_VIRTUAL_PRELOAD,
             INSTALL_APEX,
             INSTALL_ENABLE_ROLLBACK,
-            INSTALL_RESPECT_ALLOW_DOWNGRADE,
+            INSTALL_ALLOW_DOWNGRADE,
     })
     @Retention(RetentionPolicy.SOURCE)
     public @interface InstallFlags {}
@@ -768,14 +768,21 @@
     public static final int INSTALL_ALL_USERS = 0x00000040;
 
     /**
-     * Flag parameter for {@link #installPackage} to indicate that it is okay
-     * to install an update to an app where the newly installed app has a lower
-     * version code than the currently installed app. This is permitted only if
-     * the currently installed app is marked debuggable.
+     * Flag parameter for {@link #installPackage} to indicate that an upgrade to a lower version
+     * of a package than currently installed has been requested.
+     *
+     * <p>Note that this flag doesn't guarantee that downgrade will be performed. That decision
+     * depends
+     * on whenever:
+     * <ul>
+     * <li>An app is debuggable.
+     * <li>Or a build is debuggable.
+     * <li>Or {@link #INSTALL_ALLOW_DOWNGRADE} is set.
+     * </ul>
      *
      * @hide
      */
-    public static final int INSTALL_ALLOW_DOWNGRADE = 0x00000080;
+    public static final int INSTALL_REQUEST_DOWNGRADE = 0x00000080;
 
     /**
      * Flag parameter for {@link #installPackage} to indicate that all runtime
@@ -868,12 +875,11 @@
 
     /**
      * Flag parameter for {@link #installPackage} to indicate that
-     * {@link #INSTALL_ALLOW_DOWNGRADE} should be respected.
+     * {@link #INSTALL_REQUEST_DOWNGRADE} should be allowed.
      *
      * @hide
      */
-    // TODO(b/127322579): rename
-    public static final int INSTALL_RESPECT_ALLOW_DOWNGRADE = 0x00100000;
+    public static final int INSTALL_ALLOW_DOWNGRADE = 0x00100000;
 
     /** @hide */
     @IntDef(flag = true, prefix = { "DONT_KILL_APP" }, value = {
@@ -1383,6 +1389,14 @@
      */
     public static final int INSTALL_FAILED_BAD_SIGNATURE = -118;
 
+    /**
+     * Installation failed return code: a new staged session was attempted to be committed while
+     * there is already one in-progress.
+     *
+     * @hide
+     */
+    public static final int INSTALL_FAILED_OTHER_STAGED_SESSION_IN_PROGRESS = -119;
+
     /** @hide */
     @IntDef(flag = true, prefix = { "DELETE_" }, value = {
             DELETE_KEEP_DATA,
@@ -3041,14 +3055,44 @@
     public static final int FLAG_PERMISSION_REVOKE_WHEN_REQUESTED =  1 << 7;
 
     /**
-     * Mask for all permission flags.
+     * Permission flag: The permission's usage should be made highly visible to the user
+     * when granted.
      *
      * @hide
      */
     @SystemApi
+    public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED =  1 << 8;
+
+    /**
+     * Permission flag: The permission's usage should be made highly visible to the user
+     * when denied.
+     *
+     * @hide
+     */
+    @SystemApi
+    public static final int FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED =  1 << 9;
+
+    /**
+     * Mask for all permission flags present in Android P
+     *
+     * @deprecated This constant does not contain useful information and should never have been
+     * exposed. When checking permission flags always flag each flag explicitly and ignore all
+     * flags that do not matter for this particular code.
+     *
+     * @hide
+     */
+    @Deprecated
+    @SystemApi
     public static final int MASK_PERMISSION_FLAGS = 0xFF;
 
     /**
+     * Mask for all permission flags.
+     *
+     * @hide
+     */
+    public static final int MASK_PERMISSION_FLAGS_ALL = 0x3FF;
+
+    /**
      * Injected activity in app that forwards user to setting activity of that app.
      *
      * @hide
@@ -3755,6 +3799,8 @@
             FLAG_PERMISSION_REVOKE_ON_UPGRADE,
             FLAG_PERMISSION_SYSTEM_FIXED,
             FLAG_PERMISSION_GRANTED_BY_DEFAULT,
+            FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED,
+            FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED,
             /*
             FLAG_PERMISSION_REVOKE_WHEN_REQUESED
             */
@@ -3829,7 +3875,8 @@
     @TestApi
     @RequiresPermission(anyOf = {
             android.Manifest.permission.GRANT_RUNTIME_PERMISSIONS,
-            android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS
+            android.Manifest.permission.REVOKE_RUNTIME_PERMISSIONS,
+            android.Manifest.permission.GET_RUNTIME_PERMISSIONS
     })
     public abstract @PermissionFlags int getPermissionFlags(String permissionName,
             String packageName, @NonNull UserHandle user);
@@ -5827,34 +5874,37 @@
             @NonNull ComponentName componentName);
 
     /**
-     * Set the enabled setting for a package app settings activity.
+     * Set whether a synthetic app details activity will be generated if the app has no enabled
+     * launcher activity. Disabling this allows the app to have no launcher icon.
      *
      * @param packageName The package name of the app
-     * @param enabled The new enabled state for app details activity
+     * @param enabled The new enabled state for the synthetic app details activity.
      *
      * @hide
      */
     @RequiresPermission(value = android.Manifest.permission.CHANGE_COMPONENT_ENABLED_STATE,
             conditional = true)
     @SystemApi
-    public void setAppDetailsActivityEnabled(@NonNull String packageName, boolean enabled) {
+    public void setSyntheticAppDetailsActivityEnabled(@NonNull String packageName,
+            boolean enabled) {
         throw new UnsupportedOperationException(
-                "setAppDetailsActivityEnabled not implemented");
+                "setSyntheticAppDetailsActivityEnabled not implemented");
     }
 
 
     /**
-     * Return the enabled setting for a package app settings activity.
+     * Return whether a synthetic app details activity will be generated if the app has no enabled
+     * launcher activity.
      *
      * @param packageName The package name of the app
-     * @return Returns the current enabled state for app settings activity.
+     * @return Returns the enabled state for the synthetic app details activity.
      *
      * @hide
      */
     @SystemApi
-    public boolean getAppDetailsActivityEnabled(@NonNull String packageName) {
+    public boolean getSyntheticAppDetailsActivityEnabled(@NonNull String packageName) {
         throw new UnsupportedOperationException(
-                "getAppDetailsActivityEnabled not implemented");
+                "getSyntheticAppDetailsActivityEnabled not implemented");
     }
 
     /**
@@ -6542,6 +6592,8 @@
             case FLAG_PERMISSION_USER_FIXED: return "USER_FIXED";
             case FLAG_PERMISSION_REVIEW_REQUIRED: return "REVIEW_REQUIRED";
             case FLAG_PERMISSION_REVOKE_WHEN_REQUESTED: return "REVOKE_WHEN_REQUESTED";
+            case FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED: return "USER_SENSITIVE_WHEN_GRANTED";
+            case FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED: return "USER_SENSITIVE_WHEN_DENIED";
             default: return Integer.toString(flag);
         }
     }
diff --git a/core/java/android/content/pm/PackageManagerInternal.java b/core/java/android/content/pm/PackageManagerInternal.java
index 2c1842c..b3cc627 100644
--- a/core/java/android/content/pm/PackageManagerInternal.java
+++ b/core/java/android/content/pm/PackageManagerInternal.java
@@ -22,6 +22,7 @@
 import android.annotation.UserIdInt;
 import android.content.ComponentName;
 import android.content.Intent;
+import android.content.IntentSender;
 import android.content.pm.PackageManager.ApplicationInfoFlags;
 import android.content.pm.PackageManager.ComponentInfoFlags;
 import android.content.pm.PackageManager.PackageInfoFlags;
@@ -78,9 +79,9 @@
     /** Observer called whenever the list of packages changes */
     public interface PackageListObserver {
         /** A package was added to the system. */
-        void onPackageAdded(@NonNull String packageName);
+        void onPackageAdded(@NonNull String packageName, int uid);
         /** A package was removed from the system. */
-        void onPackageRemoved(@NonNull String packageName);
+        void onPackageRemoved(@NonNull String packageName, int uid);
     }
 
     /** Interface to override permission checks via composition */
@@ -925,4 +926,21 @@
      * @param provider the provider
      */
     public abstract void setDefaultHomeProvider(@NonNull DefaultHomeProvider provider);
+
+    /**
+     * Returns {@code true} if given {@code packageName} is an apex package.
+     */
+    public abstract boolean isApexPackage(String packageName);
+
+    /**
+     * Uninstalls given {@code packageName}.
+     *
+     * @param packageName apex package to uninstall.
+     * @param versionCode version of a package to uninstall.
+     * @param userId user to uninstall apex package for. Must be
+     *               {@link android.os.UserHandle#USER_ALL}, otherwise failure will be reported.
+     * @param intentSender a {@link IntentSender} to send result of an uninstall to.
+     */
+    public abstract void uninstallApex(String packageName, long versionCode, int userId,
+            IntentSender intentSender);
 }
diff --git a/core/java/android/content/pm/PackageParser.java b/core/java/android/content/pm/PackageParser.java
index a006f23..9d0ece0 100644
--- a/core/java/android/content/pm/PackageParser.java
+++ b/core/java/android/content/pm/PackageParser.java
@@ -45,6 +45,7 @@
 import android.annotation.IntRange;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.StringRes;
 import android.annotation.TestApi;
 import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityTaskManager;
@@ -1617,7 +1618,7 @@
             }
 
             final AttributeSet attrs = parser;
-            return parseApkLite(apkPath, parser, attrs, signingDetails, flags);
+            return parseApkLite(apkPath, parser, attrs, signingDetails);
 
         } catch (XmlPullParserException | IOException | RuntimeException e) {
             Slog.w(TAG, "Failed to parse " + apkPath, e);
@@ -1704,7 +1705,7 @@
     }
 
     private static ApkLite parseApkLite(String codePath, XmlPullParser parser, AttributeSet attrs,
-            SigningDetails signingDetails, int flags)
+            SigningDetails signingDetails)
             throws IOException, XmlPullParserException, PackageParserException {
         final Pair<String, String> packageSplit = parsePackageSplitNames(parser, attrs);
 
@@ -1712,12 +1713,11 @@
         int versionCode = 0;
         int versionCodeMajor = 0;
         int revisionCode = 0;
-        int targetSdkVersion = 0;
         boolean coreApp = false;
         boolean debuggable = false;
         boolean multiArch = false;
         boolean use32bitAbi = false;
-        Boolean extractNativeLibsProvided = null;
+        boolean extractNativeLibs = true;
         boolean isolatedSplits = false;
         boolean isFeatureSplit = false;
         boolean isSplitRequired = false;
@@ -1782,8 +1782,7 @@
                         use32bitAbi = attrs.getAttributeBooleanValue(i, false);
                     }
                     if ("extractNativeLibs".equals(attr)) {
-                        extractNativeLibsProvided = Boolean.valueOf(
-                                attrs.getAttributeBooleanValue(i, true));
+                        extractNativeLibs = attrs.getAttributeBooleanValue(i, true);
                     }
                     if ("useEmbeddedDex".equals(attr)) {
                         useEmbeddedDex = attrs.getAttributeBooleanValue(i, false);
@@ -1801,51 +1800,9 @@
                             PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED,
                             "<uses-split> tag requires 'android:name' attribute");
                 }
-            } else if (TAG_USES_SDK.equals(parser.getName())) {
-                final String[] errorMsg = new String[1];
-                Pair<Integer, Integer> versions = deriveSdkVersions(new AbstractVersionsAccessor() {
-                    @Override public String getMinSdkVersionCode() {
-                        return getAttributeAsString("minSdkVersion");
-                    }
-
-                    @Override public int getMinSdkVersion() {
-                        return getAttributeAsInt("minSdkVersion");
-                    }
-
-                    @Override public String getTargetSdkVersionCode() {
-                        return getAttributeAsString("targetSdkVersion");
-                    }
-
-                    @Override public int getTargetSdkVersion() {
-                        return getAttributeAsInt("targetSdkVersion");
-                    }
-
-                    private String getAttributeAsString(String name) {
-                        return attrs.getAttributeValue(ANDROID_RESOURCES, name);
-                    }
-
-                    private int getAttributeAsInt(String name) {
-                        try {
-                            return attrs.getAttributeIntValue(ANDROID_RESOURCES, name, -1);
-                        } catch (NumberFormatException e) {
-                            return -1;
-                        }
-                    }
-                }, flags, errorMsg);
-
-                if (versions == null) {
-                    throw new PackageParserException(
-                            PackageManager.INSTALL_PARSE_FAILED_MANIFEST_MALFORMED, errorMsg[0]);
-                }
-
-                targetSdkVersion = versions.second;
             }
         }
 
-        final boolean extractNativeLibsDefault = targetSdkVersion < Build.VERSION_CODES.Q;
-        final boolean extractNativeLibs = (extractNativeLibsProvided != null)
-                ? extractNativeLibsProvided : extractNativeLibsDefault;
-
         return new ApkLite(codePath, packageSplit.first, packageSplit.second, isFeatureSplit,
                 configForSplit, usesSplitName, isSplitRequired, versionCode, versionCodeMajor,
                 revisionCode, installLocation, verifiers, signingDetails, coreApp, debuggable,
@@ -2251,60 +2208,64 @@
 
             } else if (tagName.equals(TAG_USES_SDK)) {
                 if (SDK_VERSION > 0) {
-                    sa = res.obtainAttributes(parser, R.styleable.AndroidManifestUsesSdk);
-                    final TypedArray saFinal = sa;
-                    Pair<Integer, Integer> versions = deriveSdkVersions(
-                            new AbstractVersionsAccessor() {
-                                @Override public String getMinSdkVersionCode() {
-                                    return getAttributeAsString(
-                                            R.styleable.AndroidManifestUsesSdk_minSdkVersion);
-                                }
+                    sa = res.obtainAttributes(parser,
+                            com.android.internal.R.styleable.AndroidManifestUsesSdk);
 
-                                @Override public int getMinSdkVersion() {
-                                    return getAttributeAsInt(
-                                            R.styleable.AndroidManifestUsesSdk_minSdkVersion);
-                                }
+                    int minVers = 1;
+                    String minCode = null;
+                    int targetVers = 0;
+                    String targetCode = null;
 
-                                @Override public String getTargetSdkVersionCode() {
-                                    return getAttributeAsString(
-                                            R.styleable.AndroidManifestUsesSdk_targetSdkVersion);
-                                }
+                    TypedValue val = sa.peekValue(
+                            com.android.internal.R.styleable.AndroidManifestUsesSdk_minSdkVersion);
+                    if (val != null) {
+                        if (val.type == TypedValue.TYPE_STRING && val.string != null) {
+                            minCode = val.string.toString();
+                        } else {
+                            // If it's not a string, it's an integer.
+                            minVers = val.data;
+                        }
+                    }
 
-                                @Override public int getTargetSdkVersion() {
-                                    return getAttributeAsInt(
-                                            R.styleable.AndroidManifestUsesSdk_targetSdkVersion);
-                                }
+                    val = sa.peekValue(
+                            com.android.internal.R.styleable.AndroidManifestUsesSdk_targetSdkVersion);
+                    if (val != null) {
+                        if (val.type == TypedValue.TYPE_STRING && val.string != null) {
+                            targetCode = val.string.toString();
+                            if (minCode == null) {
+                                minCode = targetCode;
+                            }
+                        } else {
+                            // If it's not a string, it's an integer.
+                            targetVers = val.data;
+                        }
+                    } else {
+                        targetVers = minVers;
+                        targetCode = minCode;
+                    }
 
-                                private String getAttributeAsString(int index) {
-                                    TypedValue val = saFinal.peekValue(index);
-                                    if (val != null && val.type == TypedValue.TYPE_STRING
-                                            && val.string != null) {
-                                        return val.string.toString();
-                                    }
-                                    return null;
-                                }
+                    sa.recycle();
 
-                                private int getAttributeAsInt(int index) {
-                                    TypedValue val = saFinal.peekValue(index);
-                                    if (val != null && val.type != TypedValue.TYPE_STRING) {
-                                        // If it's not a string, it's an integer.
-                                        return val.data;
-                                    }
-                                    return -1;
-                                }
-                            }, flags, outError);
-
-                    if (versions == null) {
+                    final int minSdkVersion = PackageParser.computeMinSdkVersion(minVers, minCode,
+                            SDK_VERSION, SDK_CODENAMES, outError);
+                    if (minSdkVersion < 0) {
                         mParseError = PackageManager.INSTALL_FAILED_OLDER_SDK;
                         return null;
                     }
 
-                    pkg.applicationInfo.minSdkVersion = versions.first;
-                    pkg.applicationInfo.targetSdkVersion = versions.second;
+                    final int targetSdkVersion = PackageParser.computeTargetSdkVersion(targetVers,
+                            targetCode, SDK_CODENAMES, outError);
+                    if (targetSdkVersion < 0) {
+                        mParseError = PackageManager.INSTALL_FAILED_OLDER_SDK;
+                        return null;
+                    }
 
-                    sa.recycle();
+                    pkg.applicationInfo.minSdkVersion = minSdkVersion;
+                    pkg.applicationInfo.targetSdkVersion = targetSdkVersion;
                 }
+
                 XmlUtils.skipCurrentTag(parser);
+
             } else if (tagName.equals(TAG_SUPPORT_SCREENS)) {
                 sa = res.obtainAttributes(parser,
                         com.android.internal.R.styleable.AndroidManifestSupportsScreens);
@@ -2715,66 +2676,6 @@
         return -1;
     }
 
-    private interface AbstractVersionsAccessor {
-        /** Returns minimum SDK version code string, or null if absent. */
-        String getMinSdkVersionCode();
-
-        /** Returns minimum SDK version code, or -1 if absent. */
-        int getMinSdkVersion();
-
-        /** Returns target SDK version code string, or null if absent. */
-        String getTargetSdkVersionCode();
-
-        /** Returns target SDK version code, or -1 if absent. */
-        int getTargetSdkVersion();
-    }
-
-    private static @Nullable Pair<Integer, Integer> deriveSdkVersions(
-            @NonNull AbstractVersionsAccessor accessor, int flags, String[] outError) {
-        int minVers = 1;
-        String minCode = null;
-        int targetVers = 0;
-        String targetCode = null;
-
-        String code = accessor.getMinSdkVersionCode();
-        int version = accessor.getMinSdkVersion();
-        // Check integer first since code is almost never a null string (e.g. "28").
-        if (version >= 0) {
-            minVers = version;
-        } else if (code != null) {
-            minCode = code;
-        }
-
-        code = accessor.getTargetSdkVersionCode();
-        version = accessor.getTargetSdkVersion();
-        // Check integer first since code is almost never a null string (e.g. "28").
-        if (version >= 0) {
-            targetVers = version;
-        } else if (code != null) {
-            targetCode = code;
-            if (minCode == null) {
-                minCode = targetCode;
-            }
-        } else {
-            targetVers = minVers;
-            targetCode = minCode;
-        }
-
-        final int minSdkVersion = computeMinSdkVersion(minVers, minCode,
-                SDK_VERSION, SDK_CODENAMES, outError);
-        if (minSdkVersion < 0) {
-            return null;
-        }
-
-        final int targetSdkVersion = computeTargetSdkVersion(targetVers,
-                targetCode, SDK_CODENAMES, outError);
-        if (targetSdkVersion < 0) {
-            return null;
-        }
-
-        return Pair.create(minSdkVersion, targetSdkVersion);
-    }
-
     /**
      * Computes the minSdkVersion to use at runtime. If the package is not
      * compatible with this platform, populates {@code outError[0]} with an
@@ -3260,10 +3161,21 @@
     private boolean parsePermissionGroup(Package owner, int flags, Resources res,
             XmlResourceParser parser, String[] outError)
             throws XmlPullParserException, IOException {
-        PermissionGroup perm = new PermissionGroup(owner);
-
         TypedArray sa = res.obtainAttributes(parser,
                 com.android.internal.R.styleable.AndroidManifestPermissionGroup);
+
+        int requestDetailResourceId = sa.getResourceId(
+                com.android.internal.R.styleable.AndroidManifestPermissionGroup_requestDetail, 0);
+        int backgroundRequestResourceId = sa.getResourceId(
+                com.android.internal.R.styleable.AndroidManifestPermissionGroup_backgroundRequest,
+                0);
+        int backgroundRequestDetailResourceId = sa.getResourceId(
+                com.android.internal.R.styleable
+                        .AndroidManifestPermissionGroup_backgroundRequestDetail, 0);
+
+        PermissionGroup perm = new PermissionGroup(owner, requestDetailResourceId,
+                backgroundRequestResourceId, backgroundRequestDetailResourceId);
+
         if (!parsePackageItemInfo(owner, perm.info, outError,
                 "<permission-group>", sa, true /*nameRequired*/,
                 com.android.internal.R.styleable.AndroidManifestPermissionGroup_name,
@@ -3282,14 +3194,6 @@
                 0);
         perm.info.requestRes = sa.getResourceId(
                 com.android.internal.R.styleable.AndroidManifestPermissionGroup_request, 0);
-        perm.info.requestDetailResourceId = sa.getResourceId(
-                com.android.internal.R.styleable.AndroidManifestPermissionGroup_requestDetail, 0);
-        perm.info.backgroundRequestResourceId = sa.getResourceId(
-                com.android.internal.R.styleable.AndroidManifestPermissionGroup_backgroundRequest,
-                0);
-        perm.info.backgroundRequestDetailResourceId = sa.getResourceId(
-                com.android.internal.R.styleable
-                        .AndroidManifestPermissionGroup_backgroundRequestDetail, 0);
         perm.info.flags = sa.getInt(
                 com.android.internal.R.styleable.AndroidManifestPermissionGroup_permissionGroupFlags, 0);
         perm.info.priority = sa.getInt(
@@ -3315,7 +3219,20 @@
         TypedArray sa = res.obtainAttributes(parser,
                 com.android.internal.R.styleable.AndroidManifestPermission);
 
-        Permission perm = new Permission(owner);
+        String backgroundPermission = null;
+        if (sa.hasValue(
+                com.android.internal.R.styleable.AndroidManifestPermission_backgroundPermission)) {
+            if ("android".equals(owner.packageName)) {
+                backgroundPermission = sa.getNonResourceString(
+                        com.android.internal.R.styleable
+                                .AndroidManifestPermission_backgroundPermission);
+            } else {
+                Slog.w(TAG, owner.packageName + " defines a background permission. Only the "
+                        + "'android' package can do that.");
+            }
+        }
+
+        Permission perm = new Permission(owner, backgroundPermission);
         if (!parsePackageItemInfo(owner, perm.info, outError,
                 "<permission>", sa, true /*nameRequired*/,
                 com.android.internal.R.styleable.AndroidManifestPermission_name,
@@ -3344,19 +3261,6 @@
         perm.info.requestRes = sa.getResourceId(
                 com.android.internal.R.styleable.AndroidManifestPermission_request, 0);
 
-        if (sa.hasValue(
-                com.android.internal.R.styleable.AndroidManifestPermission_backgroundPermission)) {
-            if ("android".equals(owner.packageName)) {
-                perm.info.backgroundPermission = sa.getNonResourceString(
-                        com.android.internal.R.styleable
-                                .AndroidManifestPermission_backgroundPermission);
-            } else {
-                Slog.w(TAG, owner.packageName + " defines permission '" + perm.info.name
-                        + "' with a background permission. Only the 'android' package can do "
-                        + "that.");
-            }
-        }
-
         perm.info.protectionLevel = sa.getInt(
                 com.android.internal.R.styleable.AndroidManifestPermission_protectionLevel,
                 PermissionInfo.PROTECTION_NORMAL);
@@ -3399,7 +3303,7 @@
     private boolean parsePermissionTree(Package owner, Resources res,
             XmlResourceParser parser, String[] outError)
         throws XmlPullParserException, IOException {
-        Permission perm = new Permission(owner);
+        Permission perm = new Permission(owner, (String) null);
 
         TypedArray sa = res.obtainAttributes(parser,
                 com.android.internal.R.styleable.AndroidManifestPermissionTree);
@@ -3714,11 +3618,9 @@
             ai.flags |= ApplicationInfo.FLAG_MULTIARCH;
         }
 
-        final boolean extractNativeLibsDefault =
-                owner.applicationInfo.targetSdkVersion < Build.VERSION_CODES.Q;
         if (sa.getBoolean(
                 com.android.internal.R.styleable.AndroidManifestApplication_extractNativeLibs,
-                extractNativeLibsDefault)) {
+                true)) {
             ai.flags |= ApplicationInfo.FLAG_EXTRACT_NATIVE_LIBS;
         }
 
@@ -4091,8 +3993,6 @@
         setMaxAspectRatio(owner);
         setMinAspectRatio(owner);
 
-        PackageBackwardCompatibility.modifySharedLibraries(owner);
-
         if (hasDomainURLs(owner)) {
             owner.applicationInfo.privateFlags |= ApplicationInfo.PRIVATE_FLAG_HAS_DOMAIN_URLS;
         } else {
@@ -7609,9 +7509,12 @@
         @UnsupportedAppUsage
         public PermissionGroup group;
 
-        public Permission(Package _owner) {
-            super(_owner);
-            info = new PermissionInfo();
+        /**
+         * @hide
+         */
+        public Permission(Package owner, @Nullable String backgroundPermission) {
+            super(owner);
+            info = new PermissionInfo(backgroundPermission);
         }
 
         @UnsupportedAppUsage
@@ -7676,9 +7579,12 @@
         @UnsupportedAppUsage
         public final PermissionGroupInfo info;
 
-        public PermissionGroup(Package _owner) {
-            super(_owner);
-            info = new PermissionGroupInfo();
+        public PermissionGroup(Package owner, @StringRes int requestDetailResourceId,
+                @StringRes int backgroundRequestResourceId,
+                @StringRes int backgroundRequestDetailResourceId) {
+            super(owner);
+            info = new PermissionGroupInfo(requestDetailResourceId, backgroundRequestResourceId,
+                    backgroundRequestDetailResourceId);
         }
 
         public PermissionGroup(Package _owner, PermissionGroupInfo _info) {
diff --git a/core/java/android/content/pm/PermissionGroupInfo.java b/core/java/android/content/pm/PermissionGroupInfo.java
index 3a87eca..e65e742 100644
--- a/core/java/android/content/pm/PermissionGroupInfo.java
+++ b/core/java/android/content/pm/PermissionGroupInfo.java
@@ -16,12 +16,20 @@
 
 package android.content.pm;
 
+import static android.content.res.Resources.ID_NULL;
+
+import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.StringRes;
 import android.annotation.SystemApi;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.TextUtils;
 
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
 /**
  * Information you can retrieve about a particular security permission
  * group known to the system.  This corresponds to information collected from the
@@ -33,7 +41,7 @@
      * permission's description.  From the "description" attribute or,
      * if not set, 0.
      */
-    public int descriptionRes;
+    public @StringRes int descriptionRes;
 
     /**
      * A string resource identifier (in the package's resources) used to request the permissions.
@@ -54,7 +62,7 @@
      * @hide
      */
     @SystemApi
-    public @StringRes int requestDetailResourceId;
+    public final @StringRes int requestDetailResourceId;
 
     /**
      * A string resource identifier (in the package's resources) used when requesting background
@@ -66,7 +74,7 @@
      * @hide
      */
     @SystemApi
-    public @StringRes int backgroundRequestResourceId;
+    public final @StringRes int backgroundRequestResourceId;
 
     /**
      * A string resource identifier (in the package's resources) used as subtitle when requesting
@@ -78,7 +86,7 @@
      * @hide
      */
     @SystemApi
-    public @StringRes int backgroundRequestDetailResourceId;
+    public final @StringRes int backgroundRequestDetailResourceId;
 
     /**
      * The description string provided in the AndroidManifest file, if any.  You
@@ -86,7 +94,7 @@
      * is in a resource.  You probably want
      * {@link PermissionInfo#loadDescription} instead.
      */
-    public CharSequence nonLocalizedDescription;
+    public @Nullable CharSequence nonLocalizedDescription;
 
     /**
      * Flag for {@link #flags}, corresponding to <code>personalInfo</code>
@@ -94,21 +102,48 @@
      */
     public static final int FLAG_PERSONAL_INFO = 1<<0;
 
+    /** @hide */
+    @IntDef(flag = true, prefix = { "FLAG_" }, value = {
+            FLAG_PERSONAL_INFO,
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface Flags {}
+
     /**
      * Additional flags about this group as given by
      * {@link android.R.attr#permissionGroupFlags}.
      */
-    public int flags;
+    public @Flags int flags;
 
     /**
      * Prioritization of this group, for visually sorting with other groups.
      */
     public int priority;
 
-    public PermissionGroupInfo() {
+    /**
+     * @hide
+     */
+    public PermissionGroupInfo(@StringRes int requestDetailResourceId,
+            @StringRes int backgroundRequestResourceId,
+            @StringRes int backgroundRequestDetailResourceId) {
+        this.requestDetailResourceId = requestDetailResourceId;
+        this.backgroundRequestResourceId = backgroundRequestResourceId;
+        this.backgroundRequestDetailResourceId = backgroundRequestDetailResourceId;
     }
 
-    public PermissionGroupInfo(PermissionGroupInfo orig) {
+    /**
+     * @deprecated Should only be created by the system.
+     */
+    @Deprecated
+    public PermissionGroupInfo() {
+        this(ID_NULL, ID_NULL, ID_NULL);
+    }
+
+    /**
+     * @deprecated Should only be created by the system.
+     */
+    @Deprecated
+    public PermissionGroupInfo(@NonNull PermissionGroupInfo orig) {
         super(orig);
         descriptionRes = orig.descriptionRes;
         requestRes = orig.requestRes;
@@ -131,7 +166,7 @@
      * @return Returns a CharSequence containing the permission's description.
      * If there is no description, null is returned.
      */
-    public CharSequence loadDescription(PackageManager pm) {
+    public @Nullable CharSequence loadDescription(@NonNull PackageManager pm) {
         if (nonLocalizedDescription != null) {
             return nonLocalizedDescription;
         }
@@ -166,7 +201,7 @@
         dest.writeInt(priority);
     }
 
-    public static final @android.annotation.NonNull Creator<PermissionGroupInfo> CREATOR =
+    public static final @NonNull Creator<PermissionGroupInfo> CREATOR =
             new Creator<PermissionGroupInfo>() {
         public PermissionGroupInfo createFromParcel(Parcel source) {
             return new PermissionGroupInfo(source);
diff --git a/core/java/android/content/pm/PermissionInfo.java b/core/java/android/content/pm/PermissionInfo.java
index b093867..6a41f33 100644
--- a/core/java/android/content/pm/PermissionInfo.java
+++ b/core/java/android/content/pm/PermissionInfo.java
@@ -17,6 +17,9 @@
 package android.content.pm;
 
 import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.annotation.StringRes;
 import android.annotation.SystemApi;
 import android.annotation.TestApi;
 import android.annotation.UnsupportedAppUsage;
@@ -300,7 +303,7 @@
      * The group this permission is a part of, as per
      * {@link android.R.attr#permissionGroup}.
      */
-    public String group;
+    public @Nullable String group;
 
     /**
      * Flag for {@link #flags}, corresponding to <code>costsMoney</code>
@@ -322,18 +325,27 @@
      */
     public static final int FLAG_INSTALLED = 1<<30;
 
+    /** @hide */
+    @IntDef(flag = true, prefix = { "FLAG_" }, value = {
+            FLAG_COSTS_MONEY,
+            FLAG_INSTALLED,
+            FLAG_REMOVED
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface Flags {}
+
     /**
      * Additional flags about this permission as given by
      * {@link android.R.attr#permissionFlags}.
      */
-    public int flags;
+    public @Flags int flags;
 
     /**
      * A string resource identifier (in the package's resources) of this
      * permission's description.  From the "description" attribute or,
      * if not set, 0.
      */
-    public int descriptionRes;
+    public @StringRes int descriptionRes;
 
     /**
      * A string resource identifier (in the package's resources) used to request the permissions.
@@ -342,7 +354,7 @@
      * @hide
      */
     @SystemApi
-    public int requestRes;
+    public @StringRes int requestRes;
 
     /**
      * Some permissions only grant access while the app is in foreground. Some of these permissions
@@ -357,7 +369,7 @@
      */
     @SystemApi
     @TestApi
-    public String backgroundPermission;
+    public final @Nullable String backgroundPermission;
 
     /**
      * The description string provided in the AndroidManifest file, if any.  You
@@ -365,7 +377,7 @@
      * is in a resource.  You probably want
      * {@link PermissionInfo#loadDescription} instead.
      */
-    public CharSequence nonLocalizedDescription;
+    public @Nullable CharSequence nonLocalizedDescription;
 
     /** @hide */
     public static int fixProtectionLevel(int level) {
@@ -383,7 +395,7 @@
 
     /** @hide */
     @UnsupportedAppUsage
-    public static String protectionToString(int level) {
+    public static @NonNull String protectionToString(int level) {
         String protLevel = "????";
         switch (level & PROTECTION_MASK_BASE) {
             case PermissionInfo.PROTECTION_DANGEROUS:
@@ -456,10 +468,26 @@
         return protLevel;
     }
 
-    public PermissionInfo() {
+    /**
+     * @hide
+     */
+    public PermissionInfo(@Nullable String backgroundPermission) {
+        this.backgroundPermission = backgroundPermission;
     }
 
-    public PermissionInfo(PermissionInfo orig) {
+    /**
+     * @deprecated Should only be created by the system.
+     */
+    @Deprecated
+    public PermissionInfo() {
+        this((String) null);
+    }
+
+    /**
+     * @deprecated Should only be created by the system.
+     */
+    @Deprecated
+    public PermissionInfo(@NonNull PermissionInfo orig) {
         super(orig);
         protectionLevel = orig.protectionLevel;
         flags = orig.flags;
@@ -481,7 +509,7 @@
      * @return Returns a CharSequence containing the permission's description.
      * If there is no description, null is returned.
      */
-    public CharSequence loadDescription(PackageManager pm) {
+    public @Nullable CharSequence loadDescription(@NonNull PackageManager pm) {
         if (nonLocalizedDescription != null) {
             return nonLocalizedDescription;
         }
@@ -551,7 +579,7 @@
         return (protectionLevel & PermissionInfo.PROTECTION_FLAG_APPOP) != 0;
     }
 
-    public static final @android.annotation.NonNull Creator<PermissionInfo> CREATOR =
+    public static final @NonNull Creator<PermissionInfo> CREATOR =
         new Creator<PermissionInfo>() {
         @Override
         public PermissionInfo createFromParcel(Parcel source) {
diff --git a/core/java/android/content/pm/ServiceInfo.java b/core/java/android/content/pm/ServiceInfo.java
index cd40c95..00507e1 100644
--- a/core/java/android/content/pm/ServiceInfo.java
+++ b/core/java/android/content/pm/ServiceInfo.java
@@ -140,6 +140,13 @@
     public static final int FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE = 1 << 4;
 
     /**
+     * Constant corresponding to {@code mediaProjection} in
+     * the {@link android.R.attr#foregroundServiceType} attribute.
+     * Managing a media projection session, e.g for screen recording or taking screenshots.
+     */
+    public static final int FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION = 1 << 5;
+
+    /**
      * A special value indicates to use all types set in manifest file.
      */
     public static final int FOREGROUND_SERVICE_TYPE_MANIFEST = -1;
@@ -158,6 +165,7 @@
             FOREGROUND_SERVICE_TYPE_PHONE_CALL,
             FOREGROUND_SERVICE_TYPE_LOCATION,
             FOREGROUND_SERVICE_TYPE_CONNECTED_DEVICE,
+            FOREGROUND_SERVICE_TYPE_MEDIA_PROJECTION,
     })
     @Retention(RetentionPolicy.SOURCE)
     public @interface ForegroundServiceType {}
diff --git a/core/java/android/content/pm/ShortcutInfo.java b/core/java/android/content/pm/ShortcutInfo.java
index d5273db..1f82fa6 100644
--- a/core/java/android/content/pm/ShortcutInfo.java
+++ b/core/java/android/content/pm/ShortcutInfo.java
@@ -22,11 +22,13 @@
 import android.annotation.TestApi;
 import android.annotation.UnsupportedAppUsage;
 import android.annotation.UserIdInt;
+import android.app.Notification;
 import android.app.Person;
 import android.app.TaskStackBuilder;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
+import android.content.LocusId;
 import android.content.pm.LauncherApps.ShortcutQuery;
 import android.content.res.Resources;
 import android.content.res.Resources.NotFoundException;
@@ -41,6 +43,7 @@
 import android.text.TextUtils;
 import android.util.ArraySet;
 import android.util.Log;
+import android.view.contentcapture.ContentCaptureContext;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.Preconditions;
@@ -354,6 +357,9 @@
     @Nullable
     private Person[] mPersons;
 
+    @Nullable
+    private LocusId mLocusId;
+
     private int mRank;
 
     /**
@@ -415,6 +421,8 @@
         }
         mRank = b.mRank;
         mExtras = b.mExtras;
+        mLocusId = b.mLocusId;
+
         updateTimestamp();
     }
 
@@ -521,6 +529,7 @@
         mFlags = source.mFlags;
         mLastChangedTimestamp = source.mLastChangedTimestamp;
         mDisabledReason = source.mDisabledReason;
+        mLocusId = source.mLocusId;
 
         // Just always keep it since it's cheep.
         mIconResId = source.mIconResId;
@@ -876,6 +885,10 @@
         if (source.mExtras != null) {
             mExtras = source.mExtras;
         }
+
+        if (source.mLocusId != null) {
+            mLocusId = source.mLocusId;
+        }
     }
 
     /**
@@ -941,6 +954,8 @@
 
         private PersistableBundle mExtras;
 
+        private LocusId mLocusId;
+
         /**
          * Old style constructor.
          * @hide
@@ -973,6 +988,19 @@
         }
 
         /**
+         * Sets the {@link LocusId} associated with this shortcut.
+         *
+         * <p>This method should be called when the {@link LocusId} is used in other places (such
+         * as {@link Notification} and {@link ContentCaptureContext}) so the device's intelligence
+         * services can correlate them.
+         */
+        @NonNull
+        public Builder setLocusId(@NonNull LocusId locusId) {
+            mLocusId = Preconditions.checkNotNull(locusId, "locusId cannot be null");
+            return this;
+        }
+
+        /**
          * Sets the target activity.  A shortcut will be shown along with this activity's icon
          * on the launcher.
          *
@@ -1242,8 +1270,8 @@
          * system services even after it has been unpublished as a dynamic shortcut.
          */
         @NonNull
-        public Builder setLongLived() {
-            mIsLongLived = true;
+        public Builder setLongLived(boolean londLived) {
+            mIsLongLived = londLived;
             return this;
         }
 
@@ -1295,6 +1323,17 @@
     }
 
     /**
+     * Gets the {@link LocusId} associated with this shortcut.
+     *
+     * <p>Used by the device's intelligence services to correlate objects (such as
+     * {@link Notification} and {@link ContentCaptureContext}) that are correlated.
+     */
+    @Nullable
+    public LocusId getLocusId() {
+        return mLocusId;
+    }
+
+    /**
      * Return the package name of the publisher app.
      */
     @NonNull
@@ -1999,6 +2038,7 @@
         }
 
         mPersons = source.readParcelableArray(cl, Person.class);
+        mLocusId = source.readParcelable(cl);
     }
 
     @Override
@@ -2048,6 +2088,7 @@
         }
 
         dest.writeParcelableArray(mPersons, flags);
+        dest.writeParcelable(mLocusId, flags);
     }
 
     public static final @android.annotation.NonNull Creator<ShortcutInfo> CREATOR =
@@ -2263,6 +2304,10 @@
             sb.append(mBitmapPath);
         }
 
+        if (mLocusId != null) {
+            sb.append("locusId="); sb.append(mLocusId); // LocusId.toString() is PII-safe.
+        }
+
         sb.append("}");
         return sb.toString();
     }
@@ -2276,7 +2321,7 @@
             Set<String> categories, Intent[] intentsWithExtras, int rank, PersistableBundle extras,
             long lastChangedTimestamp,
             int flags, int iconResId, String iconResName, String bitmapPath, int disabledReason,
-            Person[] persons) {
+            Person[] persons, LocusId locusId) {
         mUserId = userId;
         mId = id;
         mPackageName = packageName;
@@ -2303,5 +2348,6 @@
         mBitmapPath = bitmapPath;
         mDisabledReason = disabledReason;
         mPersons = persons;
+        mLocusId = locusId;
     }
 }
diff --git a/core/java/android/content/pm/ShortcutManager.java b/core/java/android/content/pm/ShortcutManager.java
index 2287243..df67117 100644
--- a/core/java/android/content/pm/ShortcutManager.java
+++ b/core/java/android/content/pm/ShortcutManager.java
@@ -600,15 +600,17 @@
             mTargetComponent = targetComponent;
         }
 
-        private ShareShortcutInfo(Parcel in) {
+        private ShareShortcutInfo(@NonNull Parcel in) {
             mShortcutInfo = in.readParcelable(ShortcutInfo.class.getClassLoader());
             mTargetComponent = in.readParcelable(ComponentName.class.getClassLoader());
         }
 
+        @NonNull
         public ShortcutInfo getShortcutInfo() {
             return mShortcutInfo;
         }
 
+        @NonNull
         public ComponentName getTargetComponent() {
             return mTargetComponent;
         }
@@ -619,12 +621,12 @@
         }
 
         @Override
-        public void writeToParcel(Parcel dest, int flags) {
+        public void writeToParcel(@NonNull Parcel dest, int flags) {
             dest.writeParcelable(mShortcutInfo, flags);
             dest.writeParcelable(mTargetComponent, flags);
         }
 
-        public static final @android.annotation.NonNull Parcelable.Creator<ShareShortcutInfo> CREATOR =
+        public static final @NonNull Parcelable.Creator<ShareShortcutInfo> CREATOR =
                 new Parcelable.Creator<ShareShortcutInfo>() {
                     public ShareShortcutInfo createFromParcel(Parcel in) {
                         return new ShareShortcutInfo(in);
diff --git a/core/java/android/content/pm/TEST_MAPPING b/core/java/android/content/pm/TEST_MAPPING
index a2e98cc..df4ae09 100644
--- a/core/java/android/content/pm/TEST_MAPPING
+++ b/core/java/android/content/pm/TEST_MAPPING
@@ -1,6 +1,12 @@
 {
   "imports": [
     {
+      "path": "cts/tests/tests/packageinstaller"
+    },
+    {
+      "path": "cts/hostsidetests/stagedinstall"
+    },
+    {
       "path": "system/apex/tests"
     }
   ]
diff --git a/core/java/android/content/res/Resources.java b/core/java/android/content/res/Resources.java
index c855d45..6729242 100644
--- a/core/java/android/content/res/Resources.java
+++ b/core/java/android/content/res/Resources.java
@@ -1396,9 +1396,11 @@
 
 
     /**
+     * Returns the resource ID of the resource that was used to create this AttributeSet.
+     *
      * @param set AttributeSet for which we want to find the source.
-     * @return The resource id for the source that is backing the given AttributeSet
-     * @hide
+     * @return The resource ID for the source that is backing the given AttributeSet or
+     * {@link Resources#ID_NULL} if the AttributeSet is {@code null}.
      */
     @AnyRes
     public static int getAttributeSetSourceResId(@Nullable AttributeSet set) {
diff --git a/core/java/android/content/res/ResourcesImpl.java b/core/java/android/content/res/ResourcesImpl.java
index 565cd33..633966c 100644
--- a/core/java/android/content/res/ResourcesImpl.java
+++ b/core/java/android/content/res/ResourcesImpl.java
@@ -1303,7 +1303,7 @@
 
     @AnyRes
     static int getAttributeSetSourceResId(@Nullable AttributeSet set) {
-        if (set == null) {
+        if (set == null || !(set instanceof XmlBlock.Parser)) {
             return ID_NULL;
         }
         return ((XmlBlock.Parser) set).getSourceResId();
diff --git a/core/java/android/content/res/TypedArray.java b/core/java/android/content/res/TypedArray.java
index d36e076..b79cf65 100644
--- a/core/java/android/content/res/TypedArray.java
+++ b/core/java/android/content/res/TypedArray.java
@@ -19,7 +19,6 @@
 import android.annotation.AnyRes;
 import android.annotation.ColorInt;
 import android.annotation.Nullable;
-import android.annotation.StyleRes;
 import android.annotation.StyleableRes;
 import android.annotation.UnsupportedAppUsage;
 import android.content.pm.ActivityInfo;
@@ -72,7 +71,7 @@
     static final int STYLE_RESOURCE_ID = 3;
     static final int STYLE_CHANGING_CONFIGURATIONS = 4;
     static final int STYLE_DENSITY = 5;
-    static final int SYTLE_SOURCE_RESOURCE_ID = 6;
+    static final int STYLE_SOURCE_RESOURCE_ID = 6;
 
     @UnsupportedAppUsage
     private final Resources mResources;
@@ -1134,14 +1133,14 @@
      * resolved in a style or layout.
      * @throws RuntimeException if the TypedArray has already been recycled.
      */
-    @StyleRes
-    public int getSourceResourceId(@StyleableRes int index, @StyleRes int defaultValue) {
+    @AnyRes
+    public int getSourceResourceId(@StyleableRes int index, @AnyRes int defaultValue) {
         if (mRecycled) {
             throw new RuntimeException("Cannot make calls to a recycled instance!");
         }
 
         index *= STYLE_NUM_ENTRIES;
-        final int resid = mData[index + SYTLE_SOURCE_RESOURCE_ID];
+        final int resid = mData[index + STYLE_SOURCE_RESOURCE_ID];
         if (resid != 0) {
             return resid;
         }
@@ -1360,7 +1359,7 @@
                 data[index + STYLE_CHANGING_CONFIGURATIONS]);
         outValue.density = data[index + STYLE_DENSITY];
         outValue.string = (type == TypedValue.TYPE_STRING) ? loadStringValueAt(index) : null;
-        outValue.sourceResourceId = data[index + SYTLE_SOURCE_RESOURCE_ID];
+        outValue.sourceResourceId = data[index + STYLE_SOURCE_RESOURCE_ID];
         return true;
     }
 
diff --git a/core/java/android/content/rollback/PackageRollbackInfo.java b/core/java/android/content/rollback/PackageRollbackInfo.java
index 03810f5..2014751 100644
--- a/core/java/android/content/rollback/PackageRollbackInfo.java
+++ b/core/java/android/content/rollback/PackageRollbackInfo.java
@@ -18,6 +18,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
+import android.annotation.TestApi;
 import android.content.pm.VersionedPackage;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -31,7 +32,7 @@
  *
  * @hide
  */
-@SystemApi
+@SystemApi @TestApi
 public final class PackageRollbackInfo implements Parcelable {
 
     private final VersionedPackage mVersionRolledBackFrom;
@@ -89,6 +90,7 @@
     /**
      * Returns the name of the package to roll back from.
      */
+    @NonNull
     public String getPackageName() {
         return mVersionRolledBackFrom.getPackageName();
     }
@@ -96,6 +98,7 @@
     /**
      * Returns the version of the package rolled back from.
      */
+    @NonNull
     public VersionedPackage getVersionRolledBackFrom() {
         return mVersionRolledBackFrom;
     }
@@ -103,6 +106,7 @@
     /**
      * Returns the version of the package rolled back to.
      */
+    @NonNull
     public VersionedPackage getVersionRolledBackTo() {
         return mVersionRolledBackTo;
     }
@@ -208,7 +212,7 @@
         out.writeBoolean(mIsApex);
     }
 
-    public static final @android.annotation.NonNull Parcelable.Creator<PackageRollbackInfo> CREATOR =
+    public static final @NonNull Parcelable.Creator<PackageRollbackInfo> CREATOR =
             new Parcelable.Creator<PackageRollbackInfo>() {
         public PackageRollbackInfo createFromParcel(Parcel in) {
             return new PackageRollbackInfo(in);
diff --git a/core/java/android/content/rollback/RollbackInfo.java b/core/java/android/content/rollback/RollbackInfo.java
index 29b99e0..c09cfd5 100644
--- a/core/java/android/content/rollback/RollbackInfo.java
+++ b/core/java/android/content/rollback/RollbackInfo.java
@@ -16,7 +16,9 @@
 
 package android.content.rollback;
 
+import android.annotation.NonNull;
 import android.annotation.SystemApi;
+import android.annotation.TestApi;
 import android.content.pm.VersionedPackage;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -29,7 +31,7 @@
  *
  * @hide
  */
-@SystemApi
+@SystemApi @TestApi
 public final class RollbackInfo implements Parcelable {
 
     /**
@@ -72,6 +74,7 @@
     /**
      * Returns the list of package that are rolled back.
      */
+    @NonNull
     public List<PackageRollbackInfo> getPackages() {
         return mPackages;
     }
@@ -105,6 +108,7 @@
      * As provided to {@link #commitRollback} when the rollback was committed.
      * This is only applicable for rollbacks that have been committed.
      */
+    @NonNull
     public List<VersionedPackage> getCausePackages() {
         return mCausePackages;
     }
diff --git a/core/java/android/content/rollback/RollbackManager.java b/core/java/android/content/rollback/RollbackManager.java
index c043491..293c1e4 100644
--- a/core/java/android/content/rollback/RollbackManager.java
+++ b/core/java/android/content/rollback/RollbackManager.java
@@ -16,16 +16,21 @@
 
 package android.content.rollback;
 
+import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.RequiresPermission;
 import android.annotation.SystemApi;
 import android.annotation.SystemService;
+import android.annotation.TestApi;
 import android.content.Context;
 import android.content.IntentSender;
+import android.content.pm.PackageInstaller;
 import android.content.pm.ParceledListSlice;
 import android.content.pm.VersionedPackage;
 import android.os.RemoteException;
 
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
 import java.util.List;
 
 /**
@@ -38,12 +43,30 @@
  * @see PackageInstaller.SessionParams#setEnableRollback()
  * @hide
  */
-@SystemApi
+@SystemApi @TestApi
 @SystemService(Context.ROLLBACK_SERVICE)
 public final class RollbackManager {
     private final String mCallerPackageName;
     private final IRollbackManager mBinder;
 
+    /**
+     * Lifetime duration of rollback packages in millis. A rollback will be available for
+     * at most that duration of time after a package is installed with
+     * {@link PackageInstaller.SessionParams#setEnableRollback()}.
+     *
+     * <p>If flag value is negative, the default value will be assigned.
+     *
+     * @see RollbackManager
+     *
+     * Flag type: {@code long}
+     * Namespace: NAMESPACE_ROLLBACK_BOOT
+     *
+     * @hide
+     */
+    @TestApi
+    public static final String PROPERTY_ROLLBACK_LIFETIME_MILLIS =
+            "rollback_lifetime_in_millis";
+
     /** {@hide} */
     public RollbackManager(Context context, IRollbackManager binder) {
         mCallerPackageName = context.getPackageName();
@@ -57,6 +80,7 @@
      *            MANAGE_ROLLBACKS permission.
      */
     @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS)
+    @NonNull
     public List<RollbackInfo> getAvailableRollbacks() {
         try {
             return mBinder.getAvailableRollbacks().getList();
@@ -111,6 +135,20 @@
             "android.content.rollback.extra.STATUS_MESSAGE";
 
     /**
+     * Status result of committing a rollback.
+     *
+     * @hide
+     */
+    @IntDef(prefix = "STATUS_", value = {
+            STATUS_SUCCESS,
+            STATUS_FAILURE,
+            STATUS_FAILURE_ROLLBACK_UNAVAILABLE,
+            STATUS_FAILURE_INSTALL,
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface Status {};
+
+    /**
      * The rollback was successfully committed.
      */
     public static final int STATUS_SUCCESS = 0;
@@ -174,8 +212,11 @@
      *
      * @throws SecurityException if the caller does not have the
      *            MANAGE_ROLLBACKS permission.
+     *
+     * @hide
      */
     @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS)
+    @TestApi
     public void reloadPersistedData() {
         try {
             mBinder.reloadPersistedData();
@@ -193,8 +234,11 @@
      * @param packageName the name of the package to expire data for.
      * @throws SecurityException if the caller does not have the
      *            MANAGE_ROLLBACKS permission.
+     *
+     * @hide
      */
     @RequiresPermission(android.Manifest.permission.MANAGE_ROLLBACKS)
+    @TestApi
     public void expireRollbackForPackage(@NonNull String packageName) {
         try {
             mBinder.expireRollbackForPackage(packageName);
diff --git a/core/java/android/hardware/Camera.java b/core/java/android/hardware/Camera.java
index ac863b2..81abdea0 100644
--- a/core/java/android/hardware/Camera.java
+++ b/core/java/android/hardware/Camera.java
@@ -1174,6 +1174,7 @@
     {
         private final Camera mCamera;
 
+        @UnsupportedAppUsage
         public EventHandler(Camera c, Looper looper) {
             super(looper);
             mCamera = c;
diff --git a/core/java/android/hardware/OWNERS b/core/java/android/hardware/OWNERS
index 29a339a..47dbf2d 100644
--- a/core/java/android/hardware/OWNERS
+++ b/core/java/android/hardware/OWNERS
@@ -1,2 +1,2 @@
 # Camera
-per-file *Camera* = cychen@google.com,epeev@google.com,etalvala@google.com,shuzhenwang@google.com,yinchiayeh@google.com,zhijunhe@google.com
+per-file *Camera*=cychen@google.com,epeev@google.com,etalvala@google.com,shuzhenwang@google.com,yinchiayeh@google.com,zhijunhe@google.com,jchowdhary@google.com
diff --git a/core/java/android/hardware/biometrics/BiometricConstants.java b/core/java/android/hardware/biometrics/BiometricConstants.java
index 1cb7eb0..27c04b4 100644
--- a/core/java/android/hardware/biometrics/BiometricConstants.java
+++ b/core/java/android/hardware/biometrics/BiometricConstants.java
@@ -128,7 +128,7 @@
 
     /**
      * The device does not have pin, pattern, or password set up. See
-     * {@link BiometricPrompt.Builder#setAllowDeviceCredential(boolean)} and
+     * {@link BiometricPrompt.Builder#setDeviceCredentialAllowed(boolean)} and
      * {@link KeyguardManager#isDeviceSecure()}
      */
     int BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL = 14;
diff --git a/core/java/android/hardware/biometrics/BiometricFaceConstants.java b/core/java/android/hardware/biometrics/BiometricFaceConstants.java
index 459ec62..bae0fd3 100644
--- a/core/java/android/hardware/biometrics/BiometricFaceConstants.java
+++ b/core/java/android/hardware/biometrics/BiometricFaceConstants.java
@@ -136,7 +136,7 @@
 
     /**
      * The device does not have pin, pattern, or password set up. See
-     * {@link BiometricPrompt.Builder#setAllowDeviceCredential(boolean)} and
+     * {@link BiometricPrompt.Builder#setDeviceCredentialAllowed(boolean)} and
      * {@link KeyguardManager#isDeviceSecure()}
      */
     public static final int BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL = 14;
@@ -313,12 +313,17 @@
     public static final int FACE_ACQUIRED_START = 20;
 
     /**
+     * The sensor is dirty. The user should be informed to clean the sensor.
+     */
+    public static final int FACE_ACQUIRED_SENSOR_DIRTY = 21;
+
+    /**
      * Hardware vendors may extend this list if there are conditions that do not fall under one of
      * the above categories. Vendors are responsible for providing error strings for these errors.
      *
      * @hide
      */
-    public static final int FACE_ACQUIRED_VENDOR = 21;
+    public static final int FACE_ACQUIRED_VENDOR = 22;
 
     /**
      * @hide
diff --git a/core/java/android/hardware/biometrics/BiometricFingerprintConstants.java b/core/java/android/hardware/biometrics/BiometricFingerprintConstants.java
index 6cbab47..b025508 100644
--- a/core/java/android/hardware/biometrics/BiometricFingerprintConstants.java
+++ b/core/java/android/hardware/biometrics/BiometricFingerprintConstants.java
@@ -121,7 +121,7 @@
 
     /**
      * The device does not have pin, pattern, or password set up. See
-     * {@link BiometricPrompt.Builder#setAllowDeviceCredential(boolean)} and
+     * {@link BiometricPrompt.Builder#setDeviceCredentialAllowed(boolean)} and
      * {@link KeyguardManager#isDeviceSecure()}
      * @hide
      */
diff --git a/core/java/android/hardware/biometrics/BiometricPrompt.java b/core/java/android/hardware/biometrics/BiometricPrompt.java
index c64e48f..08035972 100644
--- a/core/java/android/hardware/biometrics/BiometricPrompt.java
+++ b/core/java/android/hardware/biometrics/BiometricPrompt.java
@@ -204,7 +204,7 @@
          * "Cancel" button, but may be also used to show an alternative method for authentication,
          * such as screen that asks for a backup password.
          *
-         * Note that this should not be set if {@link #setAllowDeviceCredential(boolean)
+         * Note that this should not be set if {@link #setDeviceCredentialAllowed(boolean)}(boolean)
          * is set to true.
          *
          * @param text
@@ -245,7 +245,7 @@
          *
          * @param requireConfirmation
          */
-        @NonNull public Builder setRequireConfirmation(boolean requireConfirmation) {
+        @NonNull public Builder setConfirmationRequired(boolean requireConfirmation) {
             mBundle.putBoolean(KEY_REQUIRE_CONFIRMATION, requireConfirmation);
             return this;
         }
@@ -261,12 +261,12 @@
          * Note that {@link #setNegativeButton(CharSequence, Executor,
          * DialogInterface.OnClickListener)} should not be set if this is set to true.
          *
-         * @param enable When true, the prompt will fall back to ask for the user's device
+         * @param allowed When true, the prompt will fall back to ask for the user's device
          *               credentials (PIN, pattern, or password).
          * @return
          */
-        @NonNull public Builder setAllowDeviceCredential(boolean enable) {
-            mBundle.putBoolean(KEY_ALLOW_DEVICE_CREDENTIAL, enable);
+        @NonNull public Builder setDeviceCredentialAllowed(boolean allowed) {
+            mBundle.putBoolean(KEY_ALLOW_DEVICE_CREDENTIAL, allowed);
             return this;
         }
 
@@ -523,6 +523,11 @@
      * cancelled notification through {@link AuthenticationCallback#onAuthenticationError(int,
      * CharSequence)}.
      *
+     * Note: Applications generally should not cancel and start authentication in quick succession.
+     * For example, to properly handle authentication across configuration changes, it's recommended
+     * to use BiometricPrompt in a fragment with setRetainInstance(true). By doing so, the
+     * application will not need to cancel/restart authentication during the configuration change.
+     *
      * @throws IllegalArgumentException If any of the arguments are null
      *
      * @param crypto Object associated with the call
@@ -568,6 +573,11 @@
      * authentication. The interrupted client will receive a cancelled notification through {@link
      * AuthenticationCallback#onAuthenticationError(int, CharSequence)}.
      *
+     * Note: Applications generally should not cancel and start authentication in quick succession.
+     * For example, to properly handle authentication across configuration changes, it's recommended
+     * to use BiometricPrompt in a fragment with setRetainInstance(true). By doing so, the
+     * application will not need to cancel/restart authentication during the configuration change.
+     *
      * @throws IllegalArgumentException If any of the arguments are null
      *
      * @param cancel An object that can be used to cancel authentication
diff --git a/core/java/android/hardware/camera2/CameraCharacteristics.java b/core/java/android/hardware/camera2/CameraCharacteristics.java
index 9da8e4e..c39796b 100644
--- a/core/java/android/hardware/camera2/CameraCharacteristics.java
+++ b/core/java/android/hardware/camera2/CameraCharacteristics.java
@@ -85,8 +85,7 @@
          *
          * @hide
          */
-        @UnsupportedAppUsage
-        public Key(@NonNull String name, @NonNull String fallbackName, @NonNull Class<T> type) {
+        public Key(String name, String fallbackName, Class<T> type) {
             mKey = new CameraMetadataNative.Key<T>(name,  fallbackName, type);
         }
 
@@ -98,7 +97,7 @@
          * they may be useful for testing purposes and for defining custom camera
          * characteristics.</p>
          */
-        public Key(String name, Class<T> type) {
+        public Key(@NonNull String name, @NonNull Class<T> type) {
             mKey = new CameraMetadataNative.Key<T>(name,  type);
         }
 
@@ -337,6 +336,7 @@
      * <li>{@link RecommendedStreamConfigurationMap#USECASE_SNAPSHOT}</li>
      * <li>{@link RecommendedStreamConfigurationMap#USECASE_RAW}</li>
      * <li>{@link RecommendedStreamConfigurationMap#USECASE_ZSL}</li>
+     * <li>{@link RecommendedStreamConfigurationMap#USECASE_LOW_LATENCY_SNAPSHOT}</li>
      * </ul>
      * </p>
      *
@@ -401,7 +401,7 @@
     public @Nullable RecommendedStreamConfigurationMap getRecommendedStreamConfigurationMap(
             @RecommendedStreamConfigurationMap.RecommendedUsecase int usecase) {
         if (((usecase >= RecommendedStreamConfigurationMap.USECASE_PREVIEW) &&
-                (usecase <= RecommendedStreamConfigurationMap.USECASE_RAW)) ||
+                (usecase <= RecommendedStreamConfigurationMap.USECASE_LOW_LATENCY_SNAPSHOT)) ||
                 ((usecase >= RecommendedStreamConfigurationMap.USECASE_VENDOR_START) &&
                 (usecase < RecommendedStreamConfigurationMap.MAX_USECASE_COUNT))) {
             if (mRecommendedConfigurations == null) {
diff --git a/core/java/android/hardware/camera2/CameraManager.java b/core/java/android/hardware/camera2/CameraManager.java
index 23401432..d5d25c5 100644
--- a/core/java/android/hardware/camera2/CameraManager.java
+++ b/core/java/android/hardware/camera2/CameraManager.java
@@ -680,7 +680,7 @@
         }
 
         /**
-         * Notify registered clients about a change in the camera access priorities.
+         * Called whenever camera access priorities change.
          *
          * <p>Notification that camera access priorities have changed and the camera may
          * now be openable. An application that was previously denied camera access due to
diff --git a/core/java/android/hardware/camera2/CaptureRequest.java b/core/java/android/hardware/camera2/CaptureRequest.java
index da1bfe4..eddfd7d 100644
--- a/core/java/android/hardware/camera2/CaptureRequest.java
+++ b/core/java/android/hardware/camera2/CaptureRequest.java
@@ -120,7 +120,7 @@
          * {@link CaptureRequest}, and not need to construct their own Key objects. However, they
          * may be useful for testing purposes and for defining custom capture request fields.</p>
          */
-        public Key(String name, Class<T> type) {
+        public Key(@NonNull String name, @NonNull Class<T> type) {
             mKey = new CameraMetadataNative.Key<T>(name, type);
         }
 
diff --git a/core/java/android/hardware/camera2/CaptureResult.java b/core/java/android/hardware/camera2/CaptureResult.java
index bb0987d..ba451e5 100644
--- a/core/java/android/hardware/camera2/CaptureResult.java
+++ b/core/java/android/hardware/camera2/CaptureResult.java
@@ -89,8 +89,7 @@
          *
          * @hide
          */
-        @UnsupportedAppUsage
-        public Key(@NonNull String name, @NonNull String fallbackName, @NonNull Class<T> type) {
+        public Key(String name, String fallbackName, Class<T> type) {
             mKey = new CameraMetadataNative.Key<T>(name, fallbackName, type);
         }
 
@@ -101,7 +100,7 @@
          * {@link CaptureResult}, and not need to construct their own Key objects. However, they may
          * be useful for testing purposes and for defining custom capture result fields.</p>
          */
-        public Key(String name, Class<T> type) {
+        public Key(@NonNull String name, @NonNull Class<T> type) {
             mKey = new CameraMetadataNative.Key<T>(name, type);
         }
 
@@ -4252,7 +4251,6 @@
      * @see CaptureResult#SENSOR_TIMESTAMP
      * @hide
      */
-    @UnsupportedAppUsage
     public static final Key<long[]> STATISTICS_OIS_TIMESTAMPS =
             new Key<long[]>("android.statistics.oisTimestamps", long[].class);
 
@@ -4272,7 +4270,6 @@
      * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
      * @hide
      */
-    @UnsupportedAppUsage
     public static final Key<float[]> STATISTICS_OIS_X_SHIFTS =
             new Key<float[]>("android.statistics.oisXShifts", float[].class);
 
@@ -4292,7 +4289,6 @@
      * <p><b>Optional</b> - The value for this key may be {@code null} on some devices.</p>
      * @hide
      */
-    @UnsupportedAppUsage
     public static final Key<float[]> STATISTICS_OIS_Y_SHIFTS =
             new Key<float[]>("android.statistics.oisYShifts", float[].class);
 
diff --git a/core/java/android/hardware/camera2/OWNERS b/core/java/android/hardware/camera2/OWNERS
index 18acfee..f48a95c 100644
--- a/core/java/android/hardware/camera2/OWNERS
+++ b/core/java/android/hardware/camera2/OWNERS
@@ -1,6 +1 @@
-cychen@google.com
-epeev@google.com
-etalvala@google.com
-shuzhenwang@google.com
-yinchiayeh@google.com
-zhijunhe@google.com
+include platform/frameworks/av:/camera/OWNERS
diff --git a/core/java/android/hardware/camera2/impl/CameraMetadataNative.java b/core/java/android/hardware/camera2/impl/CameraMetadataNative.java
index 1cdf235..e909c00 100644
--- a/core/java/android/hardware/camera2/impl/CameraMetadataNative.java
+++ b/core/java/android/hardware/camera2/impl/CameraMetadataNative.java
@@ -1113,8 +1113,10 @@
                         depthStreamDurationList.get(i), depthStreamStallList.get(i), depthScData);
             }
 
-            if ((scData.streamConfigurationArray == null) &&
-                    (depthScData.streamConfigurationArray == null)) {
+            if ((scData.streamConfigurationArray == null ||
+                    scData.streamConfigurationArray.length == 0) &&
+                    (depthScData.streamConfigurationArray == null ||
+                     depthScData.streamConfigurationArray.length == 0)) {
                 recommendedConfigurations.add(null);
                 continue;
             }
@@ -1125,6 +1127,7 @@
             switch (i) {
                 case RecommendedStreamConfigurationMap.USECASE_PREVIEW:
                 case RecommendedStreamConfigurationMap.USECASE_RAW:
+                case RecommendedStreamConfigurationMap.USECASE_LOW_LATENCY_SNAPSHOT:
                 case RecommendedStreamConfigurationMap.USECASE_VIDEO_SNAPSHOT:
                     map = new StreamConfigurationMap(scData.streamConfigurationArray,
                             scData.minDurationArray, scData.stallDurationArray,
diff --git a/core/java/android/hardware/camera2/params/RecommendedStreamConfigurationMap.java b/core/java/android/hardware/camera2/params/RecommendedStreamConfigurationMap.java
index 068c0ce..2d72598 100644
--- a/core/java/android/hardware/camera2/params/RecommendedStreamConfigurationMap.java
+++ b/core/java/android/hardware/camera2/params/RecommendedStreamConfigurationMap.java
@@ -21,6 +21,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.graphics.ImageFormat;
+import android.graphics.ImageFormat.Format;
 import android.graphics.PixelFormat;
 import android.hardware.camera2.CameraCharacteristics;
 import android.hardware.camera2.CameraDevice;
@@ -137,6 +138,17 @@
     public static final int USECASE_RAW = 0x5;
 
     /**
+     * The recommended stream configuration map for use case low latency snapshot must contain
+     * subset of configurations with end-to-end latency that does not exceed 200 ms. under standard
+     * operating conditions (reasonable light levels, not loaded system). The expected output format
+     * will be primarily {@link android.graphics.ImageFormat#JPEG} however other image formats can
+     * be present as well.  Even if available for the camera device, high speed and input
+     * configurations will be absent. This suggested configuration map may be absent on some devices
+     * that can not support any low latency requests.
+     */
+    public static final int USECASE_LOW_LATENCY_SNAPSHOT = 0x6;
+
+    /**
      * Device specific use cases.
      * @hide
      */
@@ -150,7 +162,8 @@
         USECASE_VIDEO_SNAPSHOT,
         USECASE_SNAPSHOT,
         USECASE_ZSL,
-        USECASE_RAW })
+        USECASE_RAW,
+        USECASE_LOW_LATENCY_SNAPSHOT})
      public @interface RecommendedUsecase {};
 
     /**
@@ -214,7 +227,7 @@
      *
      * @return a non-modifiable set of Integer formats
      */
-    public @Nullable Set<Integer> getValidOutputFormatsForInput(int inputFormat) {
+    public @Nullable Set<Integer> getValidOutputFormatsForInput(@Format int inputFormat) {
         return getUnmodifiableIntegerSet(mRecommendedMap.getValidOutputFormatsForInput(
                     inputFormat));
     }
@@ -250,7 +263,7 @@
      * @param format a format from {@link #getInputFormats}
      * @return a non-modifiable set of sizes, or {@code null} if the format was not available.
      */
-    public @Nullable Set<Size> getInputSizes(int format) {
+    public @Nullable Set<Size> getInputSizes(@Format int format) {
         return getUnmodifiableSizeSet(mRecommendedMap.getInputSizes(format));
     }
 
@@ -272,7 +285,7 @@
      *          if the image format was not a defined named constant
      *          from either {@link ImageFormat} or {@link PixelFormat}
      */
-    public boolean isOutputSupportedFor(int format) {
+    public boolean isOutputSupportedFor(@Format int format) {
         return mRecommendedMap.isOutputSupportedFor(format);
     }
 
@@ -288,7 +301,7 @@
      * @return  a non-modifiable set of supported sizes,
      *          or {@code null} if the {@code format} is not a supported output
      */
-    public @Nullable Set<Size> getOutputSizes(int format) {
+    public @Nullable Set<Size> getOutputSizes(@Format int format) {
         return getUnmodifiableSizeSet(mRecommendedMap.getOutputSizes(format));
     }
 
@@ -372,7 +385,7 @@
      * @return a non-modifiable set of supported slower high-resolution sizes, or {@code null} if
      *         the BURST_CAPTURE capability is not supported
      */
-    public @Nullable Set<Size> getHighResolutionOutputSizes(int format) {
+    public @Nullable Set<Size> getHighResolutionOutputSizes(@Format int format) {
         return getUnmodifiableSizeSet(mRecommendedMap.getHighResolutionOutputSizes(format));
     }
 
@@ -392,7 +405,8 @@
      *
      * @throws IllegalArgumentException if {@code format} or {@code size} was not supported
      */
-    public @IntRange(from = 0) long getOutputMinFrameDuration(int format, @NonNull Size size) {
+    public @IntRange(from = 0) long getOutputMinFrameDuration(@Format int format,
+            @NonNull Size size) {
         return mRecommendedMap.getOutputMinFrameDuration(format, size);
     }
 
@@ -409,7 +423,7 @@
      *
      * @throws IllegalArgumentException if {@code format} or {@code size} was not supported
      */
-    public @IntRange(from = 0) long getOutputStallDuration(int format, @NonNull Size size) {
+    public @IntRange(from = 0) long getOutputStallDuration(@Format int format, @NonNull Size size) {
         return mRecommendedMap.getOutputStallDuration(format, size);
     }
 
@@ -425,7 +439,7 @@
      *          a non-modifiable set of supported sizes for {@link ImageFormat#PRIVATE} format,
      *          or {@code null} if the {@code klass} is not a supported output.
      */
-    public <T> @Nullable Set<Size> getOutputSizes(@NonNull Class<T> klass) {
+    public @Nullable <T> Set<Size> getOutputSizes(@NonNull Class<T> klass) {
         if (mSupportsPrivate) {
             return getUnmodifiableSizeSet(mRecommendedMap.getOutputSizes(klass));
         }
@@ -448,7 +462,7 @@
      *
      * @throws IllegalArgumentException if {@code klass} or {@code size} was not supported
      */
-    public <T> @IntRange(from = 0) long getOutputMinFrameDuration(@NonNull final Class<T> klass,
+    public @IntRange(from = 0) <T> long getOutputMinFrameDuration(@NonNull final Class<T> klass,
             @NonNull final Size size) {
         if (mSupportsPrivate) {
             return mRecommendedMap.getOutputMinFrameDuration(klass, size);
@@ -471,7 +485,7 @@
      *
      * @throws IllegalArgumentException if {@code klass} or {@code size} was not supported
      */
-    public <T> @IntRange(from = 0) long getOutputStallDuration(@NonNull final Class<T> klass,
+    public @IntRange(from = 0) <T> long getOutputStallDuration(@NonNull final Class<T> klass,
             @NonNull final Size size) {
         if (mSupportsPrivate) {
             return mRecommendedMap.getOutputStallDuration(klass, size);
diff --git a/core/java/android/hardware/display/BrightnessChangeEvent.java b/core/java/android/hardware/display/BrightnessChangeEvent.java
index 7fa1cfb..21fcc63 100644
--- a/core/java/android/hardware/display/BrightnessChangeEvent.java
+++ b/core/java/android/hardware/display/BrightnessChangeEvent.java
@@ -80,15 +80,23 @@
      * Histogram counting how many times a pixel of a given value was displayed onscreen for the
      * Value component of HSV if the device supports color sampling, if the device does not support
      * color sampling the value will be null.
+     *
      * The buckets of the histogram are evenly weighted, the number of buckets is device specific.
-     * For example if we had {10, 6, 4, 1} this means that 10 pixels were in the range
-     * [0x00,0x3f], 6 pixels were in the range [0x40,0x7f] etc.
+     * The units are in pixels * milliseconds, with 1 pixel millisecond being 1 pixel displayed
+     * for 1 millisecond.
+     * For example if we had {100, 50, 30, 20}, value component was onscreen for 100 pixel
+     * milliseconds in range 0x00->0x3F, 30 pixel milliseconds in range 0x40->0x7F, etc.
+     *
+     * {@see #colorSampleDuration}
      */
     @Nullable
     public final long[] colorValueBuckets;
 
     /**
-     * How many milliseconds of data are contained in the colorValueBuckets.
+     * How many milliseconds of data are contained in the colorValueBuckets, if the device does
+     * not support color sampling the value will be 0L.
+     *
+     * {@see #colorValueBuckets}
      */
     public final long colorSampleDuration;
 
@@ -283,7 +291,8 @@
             return this;
         }
 
-        /** {@see BrightnessChangeEvent#valueBuckets} */
+        /** {@see BrightnessChangeEvent#colorValueBuckets}
+         *  {@see BrightnessChangeEvent#colorSampleDuration} */
         public Builder setColorValues(@NonNull long[] colorValueBuckets, long colorSampleDuration) {
             Objects.requireNonNull(colorValueBuckets);
             mColorValueBuckets = colorValueBuckets;
diff --git a/core/java/android/hardware/display/DisplayedContentSample.java b/core/java/android/hardware/display/DisplayedContentSample.java
index 0610377..4a429bb 100644
--- a/core/java/android/hardware/display/DisplayedContentSample.java
+++ b/core/java/android/hardware/display/DisplayedContentSample.java
@@ -30,12 +30,14 @@
      * Construct an object representing a color histogram of pixels that were displayed on screen.
      *
      * @param numFrames The number of frames represented by this sample.
-     * @param mSamplesComponent0 is a histogram counting how many times a pixel of a given value
-     * was displayed onscreen for FORMAT_COMPONENT_0. The buckets of the histogram are evenly
-     * weighted, the number of buckets is device specific.
-     * eg, for RGBA_8888, if sampleComponent0 is {10, 6, 4, 1} this means that 10 red pixels were
-     * displayed onscreen in range 0x00->0x3F, 6 red pixels were displayed onscreen in range
-     * 0x40->0x7F, etc.
+     * @param mSamplesComponent0 is a histogram counting how many times and for how long a pixel
+     * of a given value was displayed onscreen for FORMAT_COMPONENT_0. The buckets of the
+     * histogram are evenly weighted, the number of buckets is device specific.
+     * The units are in pixels * milliseconds, with 1 pixel millisecond being 1 pixel displayed
+     * onscreen for 1ms.
+     * eg, for RGBA_8888, if sampleComponent0 is {100, 50, 30, 20},  then red component was
+     * onscreen for 100 pixel milliseconds in range 0x00->0x3F, 30 pixel milliseconds in
+     * range 0x40->0x7F, etc.
      * @param mSamplesComponent1 is the same sample definition as sampleComponent0, but for the
      * second component of format.
      * @param mSamplesComponent2 is the same sample definition as sampleComponent0, but for the
diff --git a/core/java/android/hardware/face/FaceManager.java b/core/java/android/hardware/face/FaceManager.java
index 55b340f..3e8c334 100644
--- a/core/java/android/hardware/face/FaceManager.java
+++ b/core/java/android/hardware/face/FaceManager.java
@@ -286,14 +286,15 @@
      * @hide
      */
     @RequiresPermission(MANAGE_BIOMETRIC)
-    public void setFeature(int feature, boolean enabled, byte[] token) {
+    public boolean setFeature(int feature, boolean enabled, byte[] token) {
         if (mService != null) {
             try {
-                mService.setFeature(feature, enabled, token);
+                return mService.setFeature(feature, enabled, token);
             } catch (RemoteException e) {
                 throw e.rethrowFromSystemServer();
             }
         }
+        return false;
     }
 
     /**
@@ -633,6 +634,8 @@
                 return context.getString(R.string.face_acquired_obscured);
             case FACE_ACQUIRED_START:
                 return null;
+            case FACE_ACQUIRED_SENSOR_DIRTY:
+                return context.getString(R.string.face_acquired_sensor_dirty);
             case FACE_ACQUIRED_VENDOR: {
                 String[] msgArray = context.getResources().getStringArray(
                         R.array.face_acquired_vendor);
diff --git a/core/java/android/hardware/face/IFaceService.aidl b/core/java/android/hardware/face/IFaceService.aidl
index 9609e99..5043d4c 100644
--- a/core/java/android/hardware/face/IFaceService.aidl
+++ b/core/java/android/hardware/face/IFaceService.aidl
@@ -98,7 +98,7 @@
     // Enumerate all faces
     void enumerate(IBinder token, int userId, IFaceServiceReceiver receiver);
 
-    int setFeature(int feature, boolean enabled, in byte [] token);
+    boolean setFeature(int feature, boolean enabled, in byte [] token);
 
     boolean getFeature(int feature);
 
diff --git a/core/java/android/hardware/radio/RadioManager.java b/core/java/android/hardware/radio/RadioManager.java
index 92653d18..a7ff644 100644
--- a/core/java/android/hardware/radio/RadioManager.java
+++ b/core/java/android/hardware/radio/RadioManager.java
@@ -1761,7 +1761,7 @@
         TunerCallbackAdapter halCallback = new TunerCallbackAdapter(callback, handler);
         try {
             tuner = mService.openTuner(moduleId, config, withAudio, halCallback);
-        } catch (RemoteException | IllegalArgumentException ex) {
+        } catch (RemoteException | IllegalArgumentException | IllegalStateException ex) {
             Log.e(TAG, "Failed to open tuner", ex);
             return null;
         }
diff --git a/core/java/android/net/ConnectivityManager.java b/core/java/android/net/ConnectivityManager.java
index 1312f18..e5802c2 100644
--- a/core/java/android/net/ConnectivityManager.java
+++ b/core/java/android/net/ConnectivityManager.java
@@ -38,7 +38,6 @@
 import android.os.Build.VERSION_CODES;
 import android.os.Bundle;
 import android.os.Handler;
-import android.os.HandlerThread;
 import android.os.IBinder;
 import android.os.INetworkActivityListener;
 import android.os.INetworkManagementService;
@@ -56,6 +55,7 @@
 import android.util.Log;
 import android.util.SparseIntArray;
 
+import com.android.internal.annotations.GuardedBy;
 import com.android.internal.telephony.ITelephony;
 import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.util.Preconditions;
@@ -74,6 +74,9 @@
 import java.util.List;
 import java.util.Map;
 import java.util.concurrent.Executor;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.RejectedExecutionException;
 
 /**
  * Class that answers queries about the state of network connectivity. It also
@@ -426,6 +429,16 @@
             "android.net.conn.PROMPT_LOST_VALIDATION";
 
     /**
+     * Action used to display a dialog that asks the user whether to stay connected to a network
+     * that has not validated. This intent is used to start the dialog in settings via
+     * startActivity.
+     *
+     * @hide
+     */
+    public static final String ACTION_PROMPT_PARTIAL_CONNECTIVITY =
+            "android.net.conn.PROMPT_PARTIAL_CONNECTIVITY";
+
+    /**
      * Invalid tethering type.
      * @see #startTethering(int, boolean, OnStartTetheringCallback)
      * @hide
@@ -1802,23 +1815,26 @@
         public static final int MIN_INTERVAL = 10;
 
         private final Network mNetwork;
-        private final PacketKeepaliveCallback mCallback;
-        private final Looper mLooper;
-        private final Messenger mMessenger;
+        private final ISocketKeepaliveCallback mCallback;
+        private final ExecutorService mExecutor;
 
         private volatile Integer mSlot;
 
-        void stopLooper() {
-            mLooper.quit();
-        }
-
         @UnsupportedAppUsage
         public void stop() {
             try {
-                mService.stopKeepalive(mNetwork, mSlot);
-            } catch (RemoteException e) {
-                Log.e(TAG, "Error stopping packet keepalive: ", e);
-                stopLooper();
+                mExecutor.execute(() -> {
+                    try {
+                        if (mSlot != null) {
+                            mService.stopKeepalive(mNetwork, mSlot);
+                        }
+                    } catch (RemoteException e) {
+                        Log.e(TAG, "Error stopping packet keepalive: ", e);
+                        throw e.rethrowFromSystemServer();
+                    }
+                });
+            } catch (RejectedExecutionException e) {
+                // The internal executor has already stopped due to previous event.
             }
         }
 
@@ -1826,40 +1842,43 @@
             Preconditions.checkNotNull(network, "network cannot be null");
             Preconditions.checkNotNull(callback, "callback cannot be null");
             mNetwork = network;
-            mCallback = callback;
-            HandlerThread thread = new HandlerThread(TAG);
-            thread.start();
-            mLooper = thread.getLooper();
-            mMessenger = new Messenger(new Handler(mLooper) {
+            mExecutor = Executors.newSingleThreadExecutor();
+            mCallback = new ISocketKeepaliveCallback.Stub() {
                 @Override
-                public void handleMessage(Message message) {
-                    switch (message.what) {
-                        case NetworkAgent.EVENT_SOCKET_KEEPALIVE:
-                            int error = message.arg2;
-                            try {
-                                if (error == SUCCESS) {
-                                    if (mSlot == null) {
-                                        mSlot = message.arg1;
-                                        mCallback.onStarted();
-                                    } else {
-                                        mSlot = null;
-                                        stopLooper();
-                                        mCallback.onStopped();
-                                    }
-                                } else {
-                                    stopLooper();
-                                    mCallback.onError(error);
-                                }
-                            } catch (Exception e) {
-                                Log.e(TAG, "Exception in keepalive callback(" + error + ")", e);
-                            }
-                            break;
-                        default:
-                            Log.e(TAG, "Unhandled message " + Integer.toHexString(message.what));
-                            break;
-                    }
+                public void onStarted(int slot) {
+                    Binder.withCleanCallingIdentity(() ->
+                            mExecutor.execute(() -> {
+                                mSlot = slot;
+                                callback.onStarted();
+                            }));
                 }
-            });
+
+                @Override
+                public void onStopped() {
+                    Binder.withCleanCallingIdentity(() ->
+                            mExecutor.execute(() -> {
+                                mSlot = null;
+                                callback.onStopped();
+                            }));
+                    mExecutor.shutdown();
+                }
+
+                @Override
+                public void onError(int error) {
+                    Binder.withCleanCallingIdentity(() ->
+                            mExecutor.execute(() -> {
+                                mSlot = null;
+                                callback.onError(error);
+                            }));
+                    mExecutor.shutdown();
+                }
+
+                @Override
+                public void onDataReceived() {
+                    // PacketKeepalive is only used for Nat-T keepalive and as such does not invoke
+                    // this callback when data is received.
+                }
+            };
         }
     }
 
@@ -1876,12 +1895,11 @@
             InetAddress srcAddr, int srcPort, InetAddress dstAddr) {
         final PacketKeepalive k = new PacketKeepalive(network, callback);
         try {
-            mService.startNattKeepalive(network, intervalSeconds, k.mMessenger, new Binder(),
+            mService.startNattKeepalive(network, intervalSeconds, k.mCallback,
                     srcAddr.getHostAddress(), srcPort, dstAddr.getHostAddress());
         } catch (RemoteException e) {
             Log.e(TAG, "Error starting packet keepalive: ", e);
-            k.stopLooper();
-            return null;
+            throw e.rethrowFromSystemServer();
         }
         return k;
     }
@@ -2542,6 +2560,94 @@
     }
 
     /**
+     * Callback for use with {@link registerTetheringEventCallback} to find out tethering
+     * upstream status.
+     *
+     *@hide
+     */
+    @SystemApi
+    public abstract static class OnTetheringEventCallback {
+
+        /**
+         * Called when tethering upstream changed. This can be called multiple times and can be
+         * called any time.
+         *
+         * @param network the {@link Network} of tethering upstream. Null means tethering doesn't
+         * have any upstream.
+         */
+        public void onUpstreamChanged(@Nullable Network network) {}
+    }
+
+    @GuardedBy("mTetheringEventCallbacks")
+    private final ArrayMap<OnTetheringEventCallback, ITetheringEventCallback>
+            mTetheringEventCallbacks = new ArrayMap<>();
+
+    /**
+     * Start listening to tethering change events. Any new added callback will receive the last
+     * tethering status right away. If callback is registered when tethering loses its upstream or
+     * disabled, {@link OnTetheringEventCallback#onUpstreamChanged} will immediately be called
+     * with a null argument. The same callback object cannot be registered twice.
+     *
+     * @param executor the executor on which callback will be invoked.
+     * @param callback the callback to be called when tethering has change events.
+     * @hide
+     */
+    @SystemApi
+    @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)
+    public void registerTetheringEventCallback(
+            @NonNull @CallbackExecutor Executor executor,
+            @NonNull final OnTetheringEventCallback callback) {
+        Preconditions.checkNotNull(callback, "OnTetheringEventCallback cannot be null.");
+
+        synchronized (mTetheringEventCallbacks) {
+            Preconditions.checkArgument(!mTetheringEventCallbacks.containsKey(callback),
+                    "callback was already registered.");
+            ITetheringEventCallback remoteCallback = new ITetheringEventCallback.Stub() {
+                @Override
+                public void onUpstreamChanged(Network network) throws RemoteException {
+                    Binder.withCleanCallingIdentity(() ->
+                            executor.execute(() -> {
+                                callback.onUpstreamChanged(network);
+                            }));
+                }
+            };
+            try {
+                String pkgName = mContext.getOpPackageName();
+                Log.i(TAG, "registerTetheringUpstreamCallback:" + pkgName);
+                mService.registerTetheringEventCallback(remoteCallback, pkgName);
+                mTetheringEventCallbacks.put(callback, remoteCallback);
+            } catch (RemoteException e) {
+                throw e.rethrowFromSystemServer();
+            }
+        }
+    }
+
+    /**
+     * Remove tethering event callback previously registered with
+     * {@link #registerTetheringEventCallback}.
+     *
+     * @param callback previously registered callback.
+     * @hide
+     */
+    @SystemApi
+    @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)
+    public void unregisterTetheringEventCallback(
+            @NonNull final OnTetheringEventCallback callback) {
+        synchronized (mTetheringEventCallbacks) {
+            ITetheringEventCallback remoteCallback = mTetheringEventCallbacks.remove(callback);
+            Preconditions.checkNotNull(remoteCallback, "callback was not registered.");
+            try {
+                String pkgName = mContext.getOpPackageName();
+                Log.i(TAG, "unregisterTetheringEventCallback:" + pkgName);
+                mService.unregisterTetheringEventCallback(remoteCallback, pkgName);
+            } catch (RemoteException e) {
+                throw e.rethrowFromSystemServer();
+            }
+        }
+    }
+
+
+    /**
      * Get the list of regular expressions that define any tetherable
      * USB network interfaces.  If USB tethering is not supported by the
      * device, this list should be empty.
@@ -2681,22 +2787,32 @@
         }
     }
 
+    /** @hide */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef(value = {
+            TETHER_ERROR_NO_ERROR,
+            TETHER_ERROR_PROVISION_FAILED,
+            TETHER_ERROR_ENTITLEMENT_UNKONWN,
+    })
+    public @interface EntitlementResultCode {
+    }
+
     /**
-     * Callback for use with {@link #getLatestTetheringEntitlementValue} to find out whether
+     * Callback for use with {@link #getLatestTetheringEntitlementResult} to find out whether
      * entitlement succeeded.
      * @hide
      */
     @SystemApi
-    public abstract static class TetheringEntitlementValueListener  {
+    public interface OnTetheringEntitlementResultListener  {
         /**
          * Called to notify entitlement result.
          *
-         * @param resultCode a int value of entitlement result. It may be one of
+         * @param resultCode an int value of entitlement result. It may be one of
          *         {@link #TETHER_ERROR_NO_ERROR},
          *         {@link #TETHER_ERROR_PROVISION_FAILED}, or
          *         {@link #TETHER_ERROR_ENTITLEMENT_UNKONWN}.
          */
-        public void onEntitlementResult(int resultCode) {}
+        void onTetheringEntitlementResult(@EntitlementResultCode int resultCode);
     }
 
     /**
@@ -2712,28 +2828,32 @@
      *         {@link #TETHERING_USB}, or
      *         {@link #TETHERING_BLUETOOTH}.
      * @param showEntitlementUi a boolean indicating whether to run UI-based entitlement check.
-     * @param listener an {@link TetheringEntitlementValueListener} which will be called to notify
-     *         the caller of the result of entitlement check. The listener may be called zero or
-     *         one time.
-     * @param handler {@link Handler} to specify the thread upon which the listener will be invoked.
+     * @param executor the executor on which callback will be invoked.
+     * @param listener an {@link OnTetheringEntitlementResultListener} which will be called to
+     *         notify the caller of the result of entitlement check. The listener may be called zero
+     *         or one time.
      * {@hide}
      */
     @SystemApi
     @RequiresPermission(android.Manifest.permission.TETHER_PRIVILEGED)
-    public void getLatestTetheringEntitlementValue(int type, boolean showEntitlementUi,
-            @NonNull final TetheringEntitlementValueListener listener, @Nullable Handler handler) {
-        Preconditions.checkNotNull(listener, "TetheringEntitlementValueListener cannot be null.");
-        ResultReceiver wrappedListener = new ResultReceiver(handler) {
+    public void getLatestTetheringEntitlementResult(int type, boolean showEntitlementUi,
+            @NonNull @CallbackExecutor Executor executor,
+            @NonNull final OnTetheringEntitlementResultListener listener) {
+        Preconditions.checkNotNull(listener, "TetheringEntitlementResultListener cannot be null.");
+        ResultReceiver wrappedListener = new ResultReceiver(null) {
             @Override
             protected void onReceiveResult(int resultCode, Bundle resultData) {
-                listener.onEntitlementResult(resultCode);
+                Binder.withCleanCallingIdentity(() ->
+                            executor.execute(() -> {
+                                listener.onTetheringEntitlementResult(resultCode);
+                            }));
             }
         };
 
         try {
             String pkgName = mContext.getOpPackageName();
-            Log.i(TAG, "getLatestTetheringEntitlementValue:" + pkgName);
-            mService.getLatestTetheringEntitlementValue(type, wrappedListener,
+            Log.i(TAG, "getLatestTetheringEntitlementResult:" + pkgName);
+            mService.getLatestTetheringEntitlementResult(type, wrappedListener,
                     showEntitlementUi, pkgName);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
@@ -3889,7 +4009,7 @@
      *
      * @hide
      */
-    @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL)
+    @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
     public void setAcceptUnvalidated(Network network, boolean accept, boolean always) {
         try {
             mService.setAcceptUnvalidated(network, accept, always);
@@ -3899,6 +4019,29 @@
     }
 
     /**
+     * Informs the system whether it should consider the network as validated even if it only has
+     * partial connectivity. If {@code accept} is true, then the network will be considered as
+     * validated even if connectivity is only partial. If {@code always} is true, then the choice
+     * is remembered, so that the next time the user connects to this network, the system will
+     * switch to it.
+     *
+     * @param network The network to accept.
+     * @param accept Whether to consider the network as validated even if it has partial
+     *               connectivity.
+     * @param always Whether to remember this choice in the future.
+     *
+     * @hide
+     */
+    @RequiresPermission(android.Manifest.permission.NETWORK_STACK)
+    public void setAcceptPartialConnectivity(Network network, boolean accept, boolean always) {
+        try {
+            mService.setAcceptPartialConnectivity(network, accept, always);
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
+    }
+
+    /**
      * Informs the system to penalize {@code network}'s score when it becomes unvalidated. This is
      * only meaningful if the system is configured not to penalize such networks, e.g., if the
      * {@code config_networkAvoidBadWifi} configuration variable is set to 0 and the {@code
@@ -3908,7 +4051,7 @@
      *
      * @hide
      */
-    @RequiresPermission(android.Manifest.permission.CONNECTIVITY_INTERNAL)
+    @RequiresPermission(android.Manifest.permission.NETWORK_SETTINGS)
     public void setAvoidUnvalidated(Network network) {
         try {
             mService.setAvoidUnvalidated(network);
diff --git a/core/java/android/net/DnsPacket.java b/core/java/android/net/DnsPacket.java
index 458fb34..83e57e0 100644
--- a/core/java/android/net/DnsPacket.java
+++ b/core/java/android/net/DnsPacket.java
@@ -28,7 +28,6 @@
 import java.text.FieldPosition;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.StringJoiner;
 
 /**
  * Defines basic data for DNS protocol based on RFC 1035.
@@ -42,7 +41,7 @@
         public final int id;
         public final int flags;
         public final int rcode;
-        private final int[] mSectionCount;
+        private final int[] mRecordCount;
 
         /**
          * Create a new DnsHeader from a positioned ByteBuffer.
@@ -52,27 +51,32 @@
          * When this constructor returns, the reading position of the ByteBuffer has been
          * advanced to the end of the DNS header record.
          * This is meant to chain with other methods reading a DNS response in sequence.
-         *
          */
         DnsHeader(@NonNull ByteBuffer buf) throws BufferUnderflowException {
             id = BitUtils.uint16(buf.getShort());
             flags = BitUtils.uint16(buf.getShort());
             rcode = flags & 0xF;
-            mSectionCount = new int[NUM_SECTIONS];
+            mRecordCount = new int[NUM_SECTIONS];
             for (int i = 0; i < NUM_SECTIONS; ++i) {
-                mSectionCount[i] = BitUtils.uint16(buf.getShort());
+                mRecordCount[i] = BitUtils.uint16(buf.getShort());
             }
         }
 
         /**
-         * Get section count by section type.
+         * Get record count by type.
          */
-        public int getSectionCount(int sectionType) {
-            return mSectionCount[sectionType];
+        public int getRecordCount(int type) {
+            return mRecordCount[type];
         }
     }
 
-    public class DnsSection {
+    /**
+     * Superclass for DNS questions and DNS resource records.
+     *
+     * DNS questions (No TTL/RDATA)
+     * DNS resource records (With TTL/RDATA)
+     */
+    public class DnsRecord {
         private static final int MAXNAMESIZE = 255;
         private static final int MAXLABELSIZE = 63;
         private static final int MAXLABELCOUNT = 128;
@@ -81,57 +85,58 @@
         private final DecimalFormat byteFormat = new DecimalFormat();
         private final FieldPosition pos = new FieldPosition(0);
 
-        private static final String TAG = "DnsSection";
+        private static final String TAG = "DnsRecord";
 
         public final String dName;
         public final int nsType;
         public final int nsClass;
         public final long ttl;
-        private final byte[] mRR;
+        private final byte[] mRdata;
 
         /**
-         * Create a new DnsSection from a positioned ByteBuffer.
+         * Create a new DnsRecord from a positioned ByteBuffer.
          *
-         * The ByteBuffer must be in network byte order (which is the default).
-         * Reads the passed ByteBuffer from its current position and decodes a DNS section.
+         * Reads the passed ByteBuffer from its current position and decodes a DNS record.
          * When this constructor returns, the reading position of the ByteBuffer has been
          * advanced to the end of the DNS header record.
          * This is meant to chain with other methods reading a DNS response in sequence.
          *
+         * @param ByteBuffer input of record, must be in network byte order
+         *         (which is the default).
          */
-        DnsSection(int sectionType, @NonNull ByteBuffer buf)
+        DnsRecord(int recordType, @NonNull ByteBuffer buf)
                 throws BufferUnderflowException, ParseException {
             dName = parseName(buf, 0 /* Parse depth */);
             if (dName.length() > MAXNAMESIZE) {
-                throw new ParseException("Parse name fail, name size is too long");
+                throw new ParseException(
+                        "Parse name fail, name size is too long: " + dName.length());
             }
             nsType = BitUtils.uint16(buf.getShort());
             nsClass = BitUtils.uint16(buf.getShort());
 
-            if (sectionType != QDSECTION) {
+            if (recordType != QDSECTION) {
                 ttl = BitUtils.uint32(buf.getInt());
                 final int length = BitUtils.uint16(buf.getShort());
-                mRR = new byte[length];
-                buf.get(mRR);
+                mRdata = new byte[length];
+                buf.get(mRdata);
             } else {
                 ttl = 0;
-                mRR = null;
+                mRdata = null;
             }
         }
 
         /**
-         * Get a copy of rr.
+         * Get a copy of rdata.
          */
-        @Nullable public byte[] getRR() {
-            return (mRR == null) ? null : mRR.clone();
+        @Nullable
+        public byte[] getRR() {
+            return (mRdata == null) ? null : mRdata.clone();
         }
 
         /**
          * Convert label from {@code byte[]} to {@code String}
          *
-         * It follows the same converting rule as native layer.
-         * (See ns_name.c in libc)
-         *
+         * Follows the same conversion rules of the native code (ns_name.c in libc)
          */
         private String labelToString(@NonNull byte[] label) {
             final StringBuffer sb = new StringBuffer();
@@ -139,13 +144,16 @@
                 int b = BitUtils.uint8(label[i]);
                 // Control characters and non-ASCII characters.
                 if (b <= 0x20 || b >= 0x7f) {
+                    // Append the byte as an escaped decimal number, e.g., "\19" for 0x13.
                     sb.append('\\');
                     byteFormat.format(b, sb, pos);
                 } else if (b == '"' || b == '.' || b == ';' || b == '\\'
                         || b == '(' || b == ')' || b == '@' || b == '$') {
+                    // Append the byte as an escaped character, e.g., "\:" for 0x3a.
                     sb.append('\\');
                     sb.append((char) b);
                 } else {
+                    // Append the byte as a character, e.g., "a" for 0x61.
                     sb.append((char) b);
                 }
             }
@@ -154,7 +162,9 @@
 
         private String parseName(@NonNull ByteBuffer buf, int depth) throws
                 BufferUnderflowException, ParseException {
-            if (depth > MAXLABELCOUNT) throw new ParseException("Parse name fails, too many labels");
+            if (depth > MAXLABELCOUNT) {
+                throw new ParseException("Failed to parse name, too many labels");
+            }
             final int len = BitUtils.uint8(buf.get());
             final int mask = len & NAME_COMPRESSION;
             if (0 == len) {
@@ -194,17 +204,7 @@
     private static final String TAG = DnsPacket.class.getSimpleName();
 
     protected final DnsHeader mHeader;
-    protected final List<DnsSection>[] mSections;
-
-    public static class ParseException extends Exception {
-        public ParseException(String msg) {
-            super(msg);
-        }
-
-        public ParseException(String msg, Throwable cause) {
-            super(msg, cause);
-        }
-    }
+    protected final List<DnsRecord>[] mRecords;
 
     protected DnsPacket(@NonNull byte[] data) throws ParseException {
         if (null == data) throw new ParseException("Parse header failed, null input data");
@@ -216,18 +216,18 @@
             throw new ParseException("Parse Header fail, bad input data", e);
         }
 
-        mSections = new ArrayList[NUM_SECTIONS];
+        mRecords = new ArrayList[NUM_SECTIONS];
 
         for (int i = 0; i < NUM_SECTIONS; ++i) {
-            final int count = mHeader.getSectionCount(i);
+            final int count = mHeader.getRecordCount(i);
             if (count > 0) {
-                mSections[i] = new ArrayList(count);
+                mRecords[i] = new ArrayList(count);
             }
             for (int j = 0; j < count; ++j) {
                 try {
-                    mSections[i].add(new DnsSection(i, buffer));
+                    mRecords[i].add(new DnsRecord(i, buffer));
                 } catch (BufferUnderflowException e) {
-                    throw new ParseException("Parse section fail", e);
+                    throw new ParseException("Parse record fail", e);
                 }
             }
         }
diff --git a/core/java/android/net/DnsResolver.java b/core/java/android/net/DnsResolver.java
index 6d54264..93b8cf8 100644
--- a/core/java/android/net/DnsResolver.java
+++ b/core/java/android/net/DnsResolver.java
@@ -22,11 +22,11 @@
 import static android.os.MessageQueue.OnFileDescriptorEventListener.EVENT_ERROR;
 import static android.os.MessageQueue.OnFileDescriptorEventListener.EVENT_INPUT;
 
+import android.annotation.CallbackExecutor;
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
-import android.os.Handler;
-import android.os.MessageQueue;
+import android.os.Looper;
 import android.system.ErrnoException;
 import android.util.Log;
 
@@ -37,12 +37,14 @@
 import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.List;
-import java.util.function.Consumer;
-
+import java.util.concurrent.Executor;
 
 /**
  * Dns resolver class for asynchronous dns querying
  *
+ * Note that if a client sends a query with more than 1 record in the question section but
+ * the remote dns server does not support this, it may not respond at all, leading to a timeout.
+ *
  */
 public final class DnsResolver {
     private static final String TAG = "DnsResolver";
@@ -78,66 +80,137 @@
     public static final int FLAG_NO_CACHE_STORE = 1 << 1;
     public static final int FLAG_NO_CACHE_LOOKUP = 1 << 2;
 
-    private static final int DNS_RAW_RESPONSE = 1;
-
     private static final int NETID_UNSET = 0;
 
     private static final DnsResolver sInstance = new DnsResolver();
 
     /**
-     * listener for receiving raw answers
-     */
-    public interface RawAnswerListener {
-        /**
-         * {@code byte[]} is {@code null} if query timed out
-         */
-        void onAnswer(@Nullable byte[] answer);
-    }
-
-    /**
-     * listener for receiving parsed answers
-     */
-    public interface InetAddressAnswerListener {
-        /**
-         * Will be called exactly once with all the answers to the query.
-         * size of addresses will be zero if no available answer could be parsed.
-         */
-        void onAnswer(@NonNull List<InetAddress> addresses);
-    }
-
-    /**
      * Get instance for DnsResolver
      */
-    public static DnsResolver getInstance() {
+    public static @NonNull DnsResolver getInstance() {
         return sInstance;
     }
 
     private DnsResolver() {}
 
     /**
-     * Pass in a blob and corresponding setting,
-     * get a blob back asynchronously with the entire raw answer.
+     * Answer parser for parsing raw answers
+     *
+     * @param <T> The type of the parsed answer
+     */
+    public interface AnswerParser<T> {
+        /**
+         * Creates a <T> answer by parsing the given raw answer.
+         *
+         * @param rawAnswer the raw answer to be parsed
+         * @return a parsed <T> answer
+         * @throws ParseException if parsing failed
+         */
+        @NonNull T parse(@NonNull byte[] rawAnswer) throws ParseException;
+    }
+
+    /**
+     * Base class for answer callbacks
+     *
+     * @param <T> The type of the parsed answer
+     */
+    public abstract static class AnswerCallback<T> {
+        /** @hide */
+        public final AnswerParser<T> parser;
+
+        public AnswerCallback(@NonNull AnswerParser<T> parser) {
+            this.parser = parser;
+        };
+
+        /**
+         * Success response to
+         * {@link android.net.DnsResolver#query query()}.
+         *
+         * Invoked when the answer to a query was successfully parsed.
+         *
+         * @param answer parsed answer to the query.
+         *
+         * {@see android.net.DnsResolver#query query()}
+         */
+        public abstract void onAnswer(@NonNull T answer);
+
+        /**
+         * Error response to
+         * {@link android.net.DnsResolver#query query()}.
+         *
+         * Invoked when there is no valid answer to
+         * {@link android.net.DnsResolver#query query()}
+         *
+         * @param exception a {@link ParseException} object with additional
+         *    detail regarding the failure
+         */
+        public abstract void onParseException(@NonNull ParseException exception);
+
+        /**
+         * Error response to
+         * {@link android.net.DnsResolver#query query()}.
+         *
+         * Invoked if an error happens when
+         * issuing the DNS query or receiving the result.
+         * {@link android.net.DnsResolver#query query()}
+         *
+         * @param exception an {@link ErrnoException} object with additional detail
+         *    regarding the failure
+         */
+        public abstract void onQueryException(@NonNull ErrnoException exception);
+    }
+
+    /**
+     * Callback for receiving raw answers
+     */
+    public abstract static class RawAnswerCallback extends AnswerCallback<byte[]> {
+        public RawAnswerCallback() {
+            super(rawAnswer -> rawAnswer);
+        }
+    }
+
+    /**
+     * Callback for receiving parsed {@link InetAddress} answers
+     *
+     * Note that if the answer does not contain any IP addresses,
+     * onAnswer will be called with an empty list.
+     */
+    public abstract static class InetAddressAnswerCallback
+            extends AnswerCallback<List<InetAddress>> {
+        public InetAddressAnswerCallback() {
+            super(rawAnswer -> new DnsAddressAnswer(rawAnswer).getAddresses());
+        }
+    }
+
+    /**
+     * Send a raw DNS query.
+     * The answer will be provided asynchronously through the provided {@link AnswerCallback}.
      *
      * @param network {@link Network} specifying which network for querying.
      *         {@code null} for query on default network.
      * @param query blob message
      * @param flags flags as a combination of the FLAGS_* constants
-     * @param handler {@link Handler} to specify the thread
-     *         upon which the {@link RawAnswerListener} will be invoked.
-     * @param listener a {@link RawAnswerListener} which will be called to notify the caller
+     * @param executor The {@link Executor} that the callback should be executed on.
+     * @param callback an {@link AnswerCallback} which will be called to notify the caller
      *         of the result of dns query.
      */
-    public void query(@Nullable Network network, @NonNull byte[] query, @QueryFlag int flags,
-            @NonNull Handler handler, @NonNull RawAnswerListener listener) throws ErrnoException {
-        final FileDescriptor queryfd = resNetworkSend((network != null
+    public <T> void query(@Nullable Network network, @NonNull byte[] query, @QueryFlag int flags,
+            @NonNull @CallbackExecutor Executor executor, @NonNull AnswerCallback<T> callback) {
+        final FileDescriptor queryfd;
+        try {
+            queryfd = resNetworkSend((network != null
                 ? network.netId : NETID_UNSET), query, query.length, flags);
-        registerFDListener(handler.getLooper().getQueue(), queryfd,
-                answerbuf -> listener.onAnswer(answerbuf));
+        } catch (ErrnoException e) {
+            callback.onQueryException(e);
+            return;
+        }
+
+        registerFDListener(executor, queryfd, callback);
     }
 
     /**
-     * Pass in a domain name and corresponding setting,
-     * get a blob back asynchronously with the entire raw answer.
+     * Send a DNS query with the specified name, class and query type.
+     * The answer will be provided asynchronously through the provided {@link AnswerCallback}.
      *
      * @param network {@link Network} specifying which network for querying.
      *         {@code null} for query on default network.
@@ -145,74 +218,53 @@
      * @param nsClass dns class as one of the CLASS_* constants
      * @param nsType dns resource record (RR) type as one of the TYPE_* constants
      * @param flags flags as a combination of the FLAGS_* constants
-     * @param handler {@link Handler} to specify the thread
-     *         upon which the {@link RawAnswerListener} will be invoked.
-     * @param listener a {@link RawAnswerListener} which will be called to notify the caller
+     * @param executor The {@link Executor} that the callback should be executed on.
+     * @param callback an {@link AnswerCallback} which will be called to notify the caller
      *         of the result of dns query.
      */
-    public void query(@Nullable Network network, @NonNull String domain, @QueryClass int nsClass,
-            @QueryType int nsType, @QueryFlag int flags,
-            @NonNull Handler handler, @NonNull RawAnswerListener listener) throws ErrnoException {
-        final FileDescriptor queryfd = resNetworkQuery((network != null
-                ? network.netId : NETID_UNSET), domain, nsClass, nsType, flags);
-        registerFDListener(handler.getLooper().getQueue(), queryfd,
-                answerbuf -> listener.onAnswer(answerbuf));
+    public <T> void query(@Nullable Network network, @NonNull String domain,
+            @QueryClass int nsClass, @QueryType int nsType, @QueryFlag int flags,
+            @NonNull @CallbackExecutor Executor executor, @NonNull AnswerCallback<T> callback) {
+        final FileDescriptor queryfd;
+        try {
+            queryfd = resNetworkQuery((network != null
+                    ? network.netId : NETID_UNSET), domain, nsClass, nsType, flags);
+        } catch (ErrnoException e) {
+            callback.onQueryException(e);
+            return;
+        }
+        registerFDListener(executor, queryfd, callback);
     }
 
-    /**
-     * Pass in a domain name and corresponding setting,
-     * get back a set of InetAddresses asynchronously.
-     *
-     * @param network {@link Network} specifying which network for querying.
-     *         {@code null} for query on default network.
-     * @param domain domain name for querying
-     * @param flags flags as a combination of the FLAGS_* constants
-     * @param handler {@link Handler} to specify the thread
-     *         upon which the {@link InetAddressAnswerListener} will be invoked.
-     * @param listener an {@link InetAddressAnswerListener} which will be called to
-     *         notify the caller of the result of dns query.
-     *
-     */
-    public void query(@Nullable Network network, @NonNull String domain, @QueryFlag int flags,
-            @NonNull Handler handler, @NonNull InetAddressAnswerListener listener)
-            throws ErrnoException {
-        final FileDescriptor v4fd = resNetworkQuery((network != null
-                ? network.netId : NETID_UNSET), domain, CLASS_IN, TYPE_A, flags);
-        final FileDescriptor v6fd = resNetworkQuery((network != null
-                ? network.netId : NETID_UNSET), domain, CLASS_IN, TYPE_AAAA, flags);
-
-        final InetAddressAnswerAccumulator accmulator =
-                new InetAddressAnswerAccumulator(2, listener);
-        final Consumer<byte[]> consumer = answerbuf ->
-                accmulator.accumulate(parseAnswers(answerbuf));
-
-        registerFDListener(handler.getLooper().getQueue(), v4fd, consumer);
-        registerFDListener(handler.getLooper().getQueue(), v6fd, consumer);
-    }
-
-    private void registerFDListener(@NonNull MessageQueue queue,
-            @NonNull FileDescriptor queryfd, @NonNull Consumer<byte[]> answerConsumer) {
-        queue.addOnFileDescriptorEventListener(
+    private <T> void registerFDListener(@NonNull Executor executor,
+            @NonNull FileDescriptor queryfd, @NonNull AnswerCallback<T> answerCallback) {
+        Looper.getMainLooper().getQueue().addOnFileDescriptorEventListener(
                 queryfd,
                 FD_EVENTS,
                 (fd, events) -> {
-                    byte[] answerbuf = null;
-                    try {
-                    // TODO: Implement result function in Java side instead of using JNI
-                    //       Because JNI method close fd prior than unregistering fd on
-                    //       event listener.
-                        answerbuf = resNetworkResult(fd);
-                    } catch (ErrnoException e) {
-                        Log.e(TAG, "resNetworkResult:" + e.toString());
-                    }
-                    answerConsumer.accept(answerbuf);
+                    executor.execute(() -> {
+                        byte[] answerbuf = null;
+                        try {
+                            answerbuf = resNetworkResult(fd);
+                        } catch (ErrnoException e) {
+                            Log.e(TAG, "resNetworkResult:" + e.toString());
+                            answerCallback.onQueryException(e);
+                            return;
+                        }
 
+                        try {
+                            answerCallback.onAnswer(
+                                    answerCallback.parser.parse(answerbuf));
+                        } catch (ParseException e) {
+                            answerCallback.onParseException(e);
+                        }
+                    });
                     // Unregister this fd listener
                     return 0;
                 });
     }
 
-    private class DnsAddressAnswer extends DnsPacket {
+    private static class DnsAddressAnswer extends DnsPacket {
         private static final String TAG = "DnsResolver.DnsAddressAnswer";
         private static final boolean DBG = false;
 
@@ -223,22 +275,18 @@
             if ((mHeader.flags & (1 << 15)) == 0) {
                 throw new ParseException("Not an answer packet");
             }
-            if (mHeader.rcode != 0) {
-                throw new ParseException("Response error, rcode:" + mHeader.rcode);
-            }
-            if (mHeader.getSectionCount(ANSECTION) == 0) {
-                throw new ParseException("No available answer");
-            }
-            if (mHeader.getSectionCount(QDSECTION) == 0) {
+            if (mHeader.getRecordCount(QDSECTION) == 0) {
                 throw new ParseException("No question found");
             }
-            // Assume only one question per answer packet. (RFC1035)
-            mQueryType = mSections[QDSECTION].get(0).nsType;
+            // Expect only one question in question section.
+            mQueryType = mRecords[QDSECTION].get(0).nsType;
         }
 
         public @NonNull List<InetAddress> getAddresses() {
             final List<InetAddress> results = new ArrayList<InetAddress>();
-            for (final DnsSection ansSec : mSections[ANSECTION]) {
+            if (mHeader.getRecordCount(ANSECTION) == 0) return results;
+
+            for (final DnsRecord ansSec : mRecords[ANSECTION]) {
                 // Only support A and AAAA, also ignore answers if query type != answer type.
                 int nsType = ansSec.nsType;
                 if (nsType != mQueryType || (nsType != TYPE_A && nsType != TYPE_AAAA)) {
@@ -256,34 +304,4 @@
         }
     }
 
-    private @Nullable List<InetAddress> parseAnswers(@Nullable byte[] data) {
-        try {
-            return (data == null) ? null : new DnsAddressAnswer(data).getAddresses();
-        } catch (DnsPacket.ParseException e) {
-            Log.e(TAG, "Parse answer fail " + e.getMessage());
-            return null;
-        }
-    }
-
-    private class InetAddressAnswerAccumulator {
-        private final List<InetAddress> mAllAnswers;
-        private final InetAddressAnswerListener mAnswerListener;
-        private final int mTargetAnswerCount;
-        private int mReceivedAnswerCount = 0;
-
-        InetAddressAnswerAccumulator(int size, @NonNull InetAddressAnswerListener listener) {
-            mTargetAnswerCount = size;
-            mAllAnswers = new ArrayList<>();
-            mAnswerListener = listener;
-        }
-
-        public void accumulate(@Nullable List<InetAddress> answer) {
-            if (null != answer) {
-                mAllAnswers.addAll(answer);
-            }
-            if (++mReceivedAnswerCount == mTargetAnswerCount) {
-                mAnswerListener.onAnswer(mAllAnswers);
-            }
-        }
-    }
 }
diff --git a/core/java/android/net/IConnectivityManager.aidl b/core/java/android/net/IConnectivityManager.aidl
index 6728712..24e6a85 100644
--- a/core/java/android/net/IConnectivityManager.aidl
+++ b/core/java/android/net/IConnectivityManager.aidl
@@ -19,6 +19,7 @@
 import android.app.PendingIntent;
 import android.net.ConnectionInfo;
 import android.net.LinkProperties;
+import android.net.ITetheringEventCallback;
 import android.net.Network;
 import android.net.NetworkCapabilities;
 import android.net.NetworkInfo;
@@ -26,6 +27,7 @@
 import android.net.NetworkQuotaInfo;
 import android.net.NetworkRequest;
 import android.net.NetworkState;
+import android.net.ISocketKeepaliveCallback;
 import android.net.ProxyInfo;
 import android.os.Bundle;
 import android.os.IBinder;
@@ -175,6 +177,7 @@
     void releaseNetworkRequest(in NetworkRequest networkRequest);
 
     void setAcceptUnvalidated(in Network network, boolean accept, boolean always);
+    void setAcceptPartialConnectivity(in Network network, boolean accept, boolean always);
     void setAvoidUnvalidated(in Network network);
     void startCaptivePortalApp(in Network network);
     void startCaptivePortalAppInternal(in Network network, in Bundle appExtras);
@@ -192,15 +195,15 @@
 
     void factoryReset();
 
-    void startNattKeepalive(in Network network, int intervalSeconds, in Messenger messenger,
-            in IBinder binder, String srcAddr, int srcPort, String dstAddr);
+    void startNattKeepalive(in Network network, int intervalSeconds,
+            in ISocketKeepaliveCallback cb, String srcAddr, int srcPort, String dstAddr);
 
     void startNattKeepaliveWithFd(in Network network, in FileDescriptor fd, int resourceId,
-            int intervalSeconds, in Messenger messenger, in IBinder binder, String srcAddr,
+            int intervalSeconds, in ISocketKeepaliveCallback cb, String srcAddr,
             String dstAddr);
 
     void startTcpKeepalive(in Network network, in FileDescriptor fd, int intervalSeconds,
-            in Messenger messenger, in IBinder binder);
+            in ISocketKeepaliveCallback cb);
 
     void stopKeepalive(in Network network, int slot);
 
@@ -212,6 +215,11 @@
     boolean isCallerCurrentAlwaysOnVpnApp();
     boolean isCallerCurrentAlwaysOnVpnLockdownApp();
 
-    void getLatestTetheringEntitlementValue(int type, in ResultReceiver receiver,
+    void getLatestTetheringEntitlementResult(int type, in ResultReceiver receiver,
             boolean showEntitlementUi, String callerPkg);
+
+    void registerTetheringEventCallback(ITetheringEventCallback callback, String callerPkg);
+    void unregisterTetheringEventCallback(ITetheringEventCallback callback, String callerPkg);
+
+    IBinder startOrGetTestNetworkService();
 }
diff --git a/core/java/android/net/LinkAddressParcelable.aidl b/core/java/android/net/IIpMemoryStoreCallbacks.aidl
similarity index 73%
copy from core/java/android/net/LinkAddressParcelable.aidl
copy to core/java/android/net/IIpMemoryStoreCallbacks.aidl
index af8e79b..53108db 100644
--- a/core/java/android/net/LinkAddressParcelable.aidl
+++ b/core/java/android/net/IIpMemoryStoreCallbacks.aidl
@@ -5,20 +5,20 @@
  * 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
+ *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
-*/
+ */
 
 package android.net;
 
-parcelable LinkAddressParcelable {
-    String address;
-    int prefixLength;
-    int flags;
-    int scope;
-}
\ No newline at end of file
+import android.net.IIpMemoryStore;
+
+/** {@hide} */
+oneway interface IIpMemoryStoreCallbacks {
+    void onIpMemoryStoreFetched(in IIpMemoryStore ipMemoryStore);
+}
diff --git a/core/java/android/net/INetworkMonitor.aidl b/core/java/android/net/INetworkMonitor.aidl
index c94cdde..5d1ab98 100644
--- a/core/java/android/net/INetworkMonitor.aidl
+++ b/core/java/android/net/INetworkMonitor.aidl
@@ -32,9 +32,16 @@
     // 3. a broken network (e.g. DNS failed, connect failed, HTTP request failed).
     const int NETWORK_TEST_RESULT_INVALID = 1;
 
+    // After a network has been tested, this result can be sent with EVENT_NETWORK_TESTED.
+    // The network may be used as a default internet connection, but it was found to be a partial
+    // connectivity network which can get the pass result for http probe but get the failed result
+    // for https probe.
+    const int NETWORK_TEST_RESULT_PARTIAL_CONNECTIVITY = 2;
+
     void start();
     void launchCaptivePortalApp();
     void notifyCaptivePortalAppFinished(int response);
+    void notifyAcceptPartialConnectivity();
     void forceReevaluation(int uid);
     void notifyPrivateDnsChanged(in PrivateDnsConfigParcel config);
     void notifyDnsResponse(int returnCode);
diff --git a/core/java/android/net/INetworkStackConnector.aidl b/core/java/android/net/INetworkStackConnector.aidl
index e052488..3751c36 100644
--- a/core/java/android/net/INetworkStackConnector.aidl
+++ b/core/java/android/net/INetworkStackConnector.aidl
@@ -15,8 +15,9 @@
  */
 package android.net;
 
+import android.net.IIpMemoryStoreCallbacks;
 import android.net.INetworkMonitorCallbacks;
-import android.net.NetworkParcelable;
+import android.net.Network;
 import android.net.dhcp.DhcpServingParamsParcel;
 import android.net.dhcp.IDhcpServerCallbacks;
 import android.net.ip.IIpClientCallbacks;
@@ -25,7 +26,7 @@
 oneway interface INetworkStackConnector {
     void makeDhcpServer(in String ifName, in DhcpServingParamsParcel params,
         in IDhcpServerCallbacks cb);
-    void makeNetworkMonitor(in NetworkParcelable network, String name,
-        in INetworkMonitorCallbacks cb);
+    void makeNetworkMonitor(in Network network, String name, in INetworkMonitorCallbacks cb);
     void makeIpClient(in String ifName, in IIpClientCallbacks callbacks);
-}
\ No newline at end of file
+    void fetchIpMemoryStore(in IIpMemoryStoreCallbacks cb);
+}
diff --git a/core/java/android/net/ISocketKeepaliveCallback.aidl b/core/java/android/net/ISocketKeepaliveCallback.aidl
new file mode 100644
index 0000000..020fbca
--- /dev/null
+++ b/core/java/android/net/ISocketKeepaliveCallback.aidl
@@ -0,0 +1,34 @@
+/**
+ * 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 android.net;
+
+/**
+ * Callback to provide status changes of keepalive offload.
+ *
+ * @hide
+ */
+oneway interface ISocketKeepaliveCallback
+{
+    /** The keepalive was successfully started. */
+    void onStarted(int slot);
+    /** The keepalive was successfully stopped. */
+    void onStopped();
+    /** The keepalive was stopped because of an error. */
+    void onError(int error);
+    /** The keepalive on a TCP socket was stopped because the socket received data. */
+    void onDataReceived();
+}
diff --git a/core/java/android/net/ITestNetworkManager.aidl b/core/java/android/net/ITestNetworkManager.aidl
new file mode 100644
index 0000000..119a30c
--- /dev/null
+++ b/core/java/android/net/ITestNetworkManager.aidl
@@ -0,0 +1,36 @@
+/**
+ * Copyright (c) 2018, The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.net;
+
+import android.net.LinkAddress;
+import android.net.TestNetworkInterface;
+import android.os.IBinder;
+import android.os.ParcelFileDescriptor;
+
+/**
+ * Interface that allows for creation and management of test-only networks.
+ *
+ * @hide
+ */
+interface ITestNetworkManager
+{
+    TestNetworkInterface createTunInterface(in LinkAddress[] linkAddrs);
+
+    void setupTestNetwork(in String iface, in IBinder binder);
+
+    void teardownTestNetwork(int netId);
+}
diff --git a/core/java/android/net/LinkAddressParcelable.aidl b/core/java/android/net/ITetheringEventCallback.aidl
similarity index 70%
copy from core/java/android/net/LinkAddressParcelable.aidl
copy to core/java/android/net/ITetheringEventCallback.aidl
index af8e79b..d502088 100644
--- a/core/java/android/net/LinkAddressParcelable.aidl
+++ b/core/java/android/net/ITetheringEventCallback.aidl
@@ -5,20 +5,24 @@
  * 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
+ *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
-*/
+ */
 
 package android.net;
 
-parcelable LinkAddressParcelable {
-    String address;
-    int prefixLength;
-    int flags;
-    int scope;
-}
\ No newline at end of file
+import android.net.Network;
+
+/**
+ * Callback class for receiving tethering changed events
+ * @hide
+ */
+oneway interface ITetheringEventCallback
+{
+    void onUpstreamChanged(in Network network);
+}
diff --git a/core/java/android/net/InitialConfigurationParcelable.aidl b/core/java/android/net/InitialConfigurationParcelable.aidl
index bdda355..3fa88c3 100644
--- a/core/java/android/net/InitialConfigurationParcelable.aidl
+++ b/core/java/android/net/InitialConfigurationParcelable.aidl
@@ -16,12 +16,12 @@
 
 package android.net;
 
-import android.net.IpPrefixParcelable;
-import android.net.LinkAddressParcelable;
+import android.net.IpPrefix;
+import android.net.LinkAddress;
 
 parcelable InitialConfigurationParcelable {
-    LinkAddressParcelable[] ipAddresses;
-    IpPrefixParcelable[] directlyConnectedRoutes;
+    LinkAddress[] ipAddresses;
+    IpPrefix[] directlyConnectedRoutes;
     String[] dnsServers;
     String gateway;
 }
\ No newline at end of file
diff --git a/core/java/android/net/InterfaceConfiguration.java b/core/java/android/net/InterfaceConfiguration.java
index c638491..c97b37b 100644
--- a/core/java/android/net/InterfaceConfiguration.java
+++ b/core/java/android/net/InterfaceConfiguration.java
@@ -19,11 +19,9 @@
 import android.annotation.UnsupportedAppUsage;
 import android.os.Parcel;
 import android.os.Parcelable;
-import android.text.TextUtils;
 
 import com.google.android.collect.Sets;
 
-import java.net.InetAddress;
 import java.util.HashSet;
 
 /**
@@ -117,40 +115,6 @@
     }
 
     /**
-     * Construct InterfaceConfiguration from InterfaceConfigurationParcel.
-     */
-    public static InterfaceConfiguration fromParcel(InterfaceConfigurationParcel p) {
-        InterfaceConfiguration cfg = new InterfaceConfiguration();
-        cfg.setHardwareAddress(p.hwAddr);
-
-        final InetAddress addr = NetworkUtils.numericToInetAddress(p.ipv4Addr);
-        cfg.setLinkAddress(new LinkAddress(addr, p.prefixLength));
-        for (String flag : p.flags) {
-            cfg.setFlag(flag);
-        }
-
-        return cfg;
-    }
-
-    /**
-     * Convert InterfaceConfiguration to InterfaceConfigurationParcel with given ifname.
-     */
-    public InterfaceConfigurationParcel toParcel(String iface) {
-        InterfaceConfigurationParcel cfgParcel = new InterfaceConfigurationParcel();
-        cfgParcel.ifName = iface;
-        if (!TextUtils.isEmpty(mHwAddr)) {
-            cfgParcel.hwAddr = mHwAddr;
-        } else {
-            cfgParcel.hwAddr = "";
-        }
-        cfgParcel.ipv4Addr = mAddr.getAddress().getHostAddress();
-        cfgParcel.prefixLength = mAddr.getPrefixLength();
-        cfgParcel.flags = mFlags.toArray(EMPTY_STRING_ARRAY);
-
-        return cfgParcel;
-    }
-
-    /**
      * This function determines if the interface is up and has a valid IP
      * configuration (IP address has a non zero octet).
      *
diff --git a/core/java/android/net/IpPrefix.aidl b/core/java/android/net/IpPrefix.aidl
index 837db5f..0d70f2a 100644
--- a/core/java/android/net/IpPrefix.aidl
+++ b/core/java/android/net/IpPrefix.aidl
@@ -17,4 +17,6 @@
 
 package android.net;
 
-parcelable IpPrefix cpp_header "binder/IpPrefix.h";
+// @JavaOnlyStableParcelable only affects the parcelable when built as stable aidl (aidl_interface
+// build rule). IpPrefix is also used in cpp but only as non-stable aidl.
+@JavaOnlyStableParcelable parcelable IpPrefix cpp_header "binder/IpPrefix.h";
diff --git a/core/java/android/net/LinkAddress.aidl b/core/java/android/net/LinkAddress.aidl
index e7d8646..9c804db 100644
--- a/core/java/android/net/LinkAddress.aidl
+++ b/core/java/android/net/LinkAddress.aidl
@@ -17,5 +17,5 @@
 
 package android.net;
 
-parcelable LinkAddress;
+@JavaOnlyStableParcelable parcelable LinkAddress;
 
diff --git a/core/java/android/net/LinkProperties.aidl b/core/java/android/net/LinkProperties.aidl
index 3cb9525..a8b3c7b 100644
--- a/core/java/android/net/LinkProperties.aidl
+++ b/core/java/android/net/LinkProperties.aidl
@@ -17,4 +17,4 @@
 
 package android.net;
 
-parcelable LinkProperties;
+@JavaOnlyStableParcelable parcelable LinkProperties;
diff --git a/core/java/android/net/LinkPropertiesParcelable.aidl b/core/java/android/net/LinkPropertiesParcelable.aidl
deleted file mode 100644
index 6b52239..0000000
--- a/core/java/android/net/LinkPropertiesParcelable.aidl
+++ /dev/null
@@ -1,38 +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 android.net;
-
-import android.net.IpPrefixParcelable;
-import android.net.LinkAddressParcelable;
-import android.net.ProxyInfoParcelable;
-import android.net.RouteInfoParcelable;
-
-parcelable LinkPropertiesParcelable {
-    String ifaceName;
-    LinkAddressParcelable[] linkAddresses;
-    String[] dnses;
-    String[] pcscfs;
-    String[] validatedPrivateDnses;
-    boolean usePrivateDns;
-    String privateDnsServerName;
-    String domains;
-    RouteInfoParcelable[] routes;
-    ProxyInfoParcelable httpProxy;
-    int mtu;
-    String tcpBufferSizes;
-    IpPrefixParcelable nat64Prefix;
-}
\ No newline at end of file
diff --git a/core/java/android/net/NattSocketKeepalive.java b/core/java/android/net/NattSocketKeepalive.java
index 88631ae..84da294 100644
--- a/core/java/android/net/NattSocketKeepalive.java
+++ b/core/java/android/net/NattSocketKeepalive.java
@@ -17,7 +17,6 @@
 package android.net;
 
 import android.annotation.NonNull;
-import android.os.Binder;
 import android.os.RemoteException;
 import android.util.Log;
 
@@ -52,24 +51,30 @@
 
     @Override
     void startImpl(int intervalSec) {
-        try {
-            mService.startNattKeepaliveWithFd(mNetwork, mFd, mResourceId, intervalSec, mMessenger,
-                    new Binder(), mSource.getHostAddress(), mDestination.getHostAddress());
-        } catch (RemoteException e) {
-            Log.e(TAG, "Error starting packet keepalive: ", e);
-            stopLooper();
-        }
+        mExecutor.execute(() -> {
+            try {
+                mService.startNattKeepaliveWithFd(mNetwork, mFd, mResourceId, intervalSec,
+                        mCallback,
+                        mSource.getHostAddress(), mDestination.getHostAddress());
+            } catch (RemoteException e) {
+                Log.e(TAG, "Error starting socket keepalive: ", e);
+                throw e.rethrowFromSystemServer();
+            }
+        });
     }
 
     @Override
     void stopImpl() {
-        try {
-            if (mSlot != null) {
-                mService.stopKeepalive(mNetwork, mSlot);
+        mExecutor.execute(() -> {
+            try {
+                if (mSlot != null) {
+                    mService.stopKeepalive(mNetwork, mSlot);
+                }
+            } catch (RemoteException e) {
+                Log.e(TAG, "Error stopping socket keepalive: ", e);
+                throw e.rethrowFromSystemServer();
             }
-        } catch (RemoteException e) {
-            Log.e(TAG, "Error stopping packet keepalive: ", e);
-            stopLooper();
-        }
+        });
+
     }
 }
diff --git a/core/java/android/net/Network.aidl b/core/java/android/net/Network.aidl
index 73ba1af..0562202 100644
--- a/core/java/android/net/Network.aidl
+++ b/core/java/android/net/Network.aidl
@@ -17,4 +17,4 @@
 
 package android.net;
 
-parcelable Network;
+@JavaOnlyStableParcelable parcelable Network;
diff --git a/core/java/android/net/NetworkCapabilities.java b/core/java/android/net/NetworkCapabilities.java
index eb0fe33..c57ae0c 100644
--- a/core/java/android/net/NetworkCapabilities.java
+++ b/core/java/android/net/NetworkCapabilities.java
@@ -143,7 +143,8 @@
             NET_CAPABILITY_NOT_CONGESTED,
             NET_CAPABILITY_NOT_SUSPENDED,
             NET_CAPABILITY_OEM_PAID,
-            NET_CAPABILITY_MCX
+            NET_CAPABILITY_MCX,
+            NET_CAPABILITY_PARTIAL_CONNECTIVITY,
     })
     public @interface NetCapability { }
 
@@ -304,8 +305,15 @@
      */
     public static final int NET_CAPABILITY_MCX = 23;
 
+    /**
+     * Indicates that this network was tested to only provide partial connectivity.
+     * @hide
+     */
+    @SystemApi
+    public static final int NET_CAPABILITY_PARTIAL_CONNECTIVITY = 24;
+
     private static final int MIN_NET_CAPABILITY = NET_CAPABILITY_MMS;
-    private static final int MAX_NET_CAPABILITY = NET_CAPABILITY_MCX;
+    private static final int MAX_NET_CAPABILITY = NET_CAPABILITY_PARTIAL_CONNECTIVITY;
 
     /**
      * Network capabilities that are expected to be mutable, i.e., can change while a particular
@@ -320,7 +328,8 @@
             | (1 << NET_CAPABILITY_NOT_ROAMING)
             | (1 << NET_CAPABILITY_FOREGROUND)
             | (1 << NET_CAPABILITY_NOT_CONGESTED)
-            | (1 << NET_CAPABILITY_NOT_SUSPENDED);
+            | (1 << NET_CAPABILITY_NOT_SUSPENDED)
+            | (1 << NET_CAPABILITY_PARTIAL_CONNECTIVITY);
 
     /**
      * Network capabilities that are not allowed in NetworkRequests. This exists because the
@@ -375,6 +384,15 @@
             (1 << NET_CAPABILITY_WIFI_P2P);
 
     /**
+     * Capabilities that are managed by ConnectivityService.
+     */
+    private static final long CONNECTIVITY_MANAGED_CAPABILITIES =
+            (1 << NET_CAPABILITY_VALIDATED)
+            | (1 << NET_CAPABILITY_CAPTIVE_PORTAL)
+            | (1 << NET_CAPABILITY_FOREGROUND)
+            | (1 << NET_CAPABILITY_PARTIAL_CONNECTIVITY);
+
+    /**
      * Adds the given capability to this {@code NetworkCapability} instance.
      * Multiple capabilities may be applied sequentially.  Note that when searching
      * for a network to satisfy a request, all capabilities requested must be satisfied.
@@ -507,6 +525,14 @@
                 && ((mUnwantedNetworkCapabilities & (1 << capability)) != 0);
     }
 
+    /**
+     * Check if this NetworkCapabilities has system managed capabilities or not.
+     * @hide
+     */
+    public boolean hasConnectivityManagedCapability() {
+        return ((mNetworkCapabilities & CONNECTIVITY_MANAGED_CAPABILITIES) != 0);
+    }
+
     /** Note this method may result in having the same capability in wanted and unwanted lists. */
     private void combineNetCapabilities(NetworkCapabilities nc) {
         this.mNetworkCapabilities |= nc.mNetworkCapabilities;
@@ -1599,31 +1625,32 @@
      */
     public static String capabilityNameOf(@NetCapability int capability) {
         switch (capability) {
-            case NET_CAPABILITY_MMS:            return "MMS";
-            case NET_CAPABILITY_SUPL:           return "SUPL";
-            case NET_CAPABILITY_DUN:            return "DUN";
-            case NET_CAPABILITY_FOTA:           return "FOTA";
-            case NET_CAPABILITY_IMS:            return "IMS";
-            case NET_CAPABILITY_CBS:            return "CBS";
-            case NET_CAPABILITY_WIFI_P2P:       return "WIFI_P2P";
-            case NET_CAPABILITY_IA:             return "IA";
-            case NET_CAPABILITY_RCS:            return "RCS";
-            case NET_CAPABILITY_XCAP:           return "XCAP";
-            case NET_CAPABILITY_EIMS:           return "EIMS";
-            case NET_CAPABILITY_NOT_METERED:    return "NOT_METERED";
-            case NET_CAPABILITY_INTERNET:       return "INTERNET";
-            case NET_CAPABILITY_NOT_RESTRICTED: return "NOT_RESTRICTED";
-            case NET_CAPABILITY_TRUSTED:        return "TRUSTED";
-            case NET_CAPABILITY_NOT_VPN:        return "NOT_VPN";
-            case NET_CAPABILITY_VALIDATED:      return "VALIDATED";
-            case NET_CAPABILITY_CAPTIVE_PORTAL: return "CAPTIVE_PORTAL";
-            case NET_CAPABILITY_NOT_ROAMING:    return "NOT_ROAMING";
-            case NET_CAPABILITY_FOREGROUND:     return "FOREGROUND";
-            case NET_CAPABILITY_NOT_CONGESTED:  return "NOT_CONGESTED";
-            case NET_CAPABILITY_NOT_SUSPENDED:  return "NOT_SUSPENDED";
-            case NET_CAPABILITY_OEM_PAID:       return "OEM_PAID";
-            case NET_CAPABILITY_MCX:            return "MCX";
-            default:                            return Integer.toString(capability);
+            case NET_CAPABILITY_MMS:                  return "MMS";
+            case NET_CAPABILITY_SUPL:                 return "SUPL";
+            case NET_CAPABILITY_DUN:                  return "DUN";
+            case NET_CAPABILITY_FOTA:                 return "FOTA";
+            case NET_CAPABILITY_IMS:                  return "IMS";
+            case NET_CAPABILITY_CBS:                  return "CBS";
+            case NET_CAPABILITY_WIFI_P2P:             return "WIFI_P2P";
+            case NET_CAPABILITY_IA:                   return "IA";
+            case NET_CAPABILITY_RCS:                  return "RCS";
+            case NET_CAPABILITY_XCAP:                 return "XCAP";
+            case NET_CAPABILITY_EIMS:                 return "EIMS";
+            case NET_CAPABILITY_NOT_METERED:          return "NOT_METERED";
+            case NET_CAPABILITY_INTERNET:             return "INTERNET";
+            case NET_CAPABILITY_NOT_RESTRICTED:       return "NOT_RESTRICTED";
+            case NET_CAPABILITY_TRUSTED:              return "TRUSTED";
+            case NET_CAPABILITY_NOT_VPN:              return "NOT_VPN";
+            case NET_CAPABILITY_VALIDATED:            return "VALIDATED";
+            case NET_CAPABILITY_CAPTIVE_PORTAL:       return "CAPTIVE_PORTAL";
+            case NET_CAPABILITY_NOT_ROAMING:          return "NOT_ROAMING";
+            case NET_CAPABILITY_FOREGROUND:           return "FOREGROUND";
+            case NET_CAPABILITY_NOT_CONGESTED:        return "NOT_CONGESTED";
+            case NET_CAPABILITY_NOT_SUSPENDED:        return "NOT_SUSPENDED";
+            case NET_CAPABILITY_OEM_PAID:             return "OEM_PAID";
+            case NET_CAPABILITY_MCX:                  return "MCX";
+            case NET_CAPABILITY_PARTIAL_CONNECTIVITY: return "PARTIAL_CONNECTIVITY";
+            default:                                  return Integer.toString(capability);
         }
     }
 
diff --git a/core/java/android/net/NetworkMisc.java b/core/java/android/net/NetworkMisc.java
index ed0b61e..9ba3bd9 100644
--- a/core/java/android/net/NetworkMisc.java
+++ b/core/java/android/net/NetworkMisc.java
@@ -52,6 +52,12 @@
     public boolean acceptUnvalidated;
 
     /**
+     * Whether the user explicitly set that this network should be validated even if presence of
+     * only partial internet connectivity.
+     */
+    public boolean acceptPartialConnectivity;
+
+    /**
      * Set to avoid surfacing the "Sign in to network" notification.
      * if carrier receivers/apps are registered to handle the carrier-specific provisioning
      * procedure, a carrier specific provisioning notification will be placed.
diff --git a/core/java/android/net/NetworkTemplate.java b/core/java/android/net/NetworkTemplate.java
index d42fce3..ae421a4 100644
--- a/core/java/android/net/NetworkTemplate.java
+++ b/core/java/android/net/NetworkTemplate.java
@@ -40,6 +40,7 @@
 import android.util.BackupUtils;
 import android.util.Log;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.ArrayUtils;
 
 import java.io.ByteArrayOutputStream;
@@ -89,10 +90,22 @@
 
     private static boolean sForceAllNetworkTypes = false;
 
+    /**
+     * Results in matching against all mobile network types.
+     *
+     * <p>See {@link #matchesMobile} and {@link matchesMobileWildcard}.
+     */
+    @VisibleForTesting
     public static void forceAllNetworkTypes() {
         sForceAllNetworkTypes = true;
     }
 
+    /** Resets the affect of {@link #forceAllNetworkTypes}. */
+    @VisibleForTesting
+    public static void resetForceAllNetworkTypes() {
+        sForceAllNetworkTypes = false;
+    }
+
     /**
      * Template to match {@link ConnectivityManager#TYPE_MOBILE} networks with
      * the given IMSI.
diff --git a/core/java/android/net/OWNERS b/core/java/android/net/OWNERS
index 15f4913..a1c7fce 100644
--- a/core/java/android/net/OWNERS
+++ b/core/java/android/net/OWNERS
@@ -1,12 +1,11 @@
 set noparent
 
 codewiz@google.com
-ek@google.com
-jsharkey@android.com
 jchalard@google.com
+jsharkey@android.com
+junyulai@google.com
 lorenzo@google.com
 reminv@google.com
 satk@google.com
-silberst@google.com
 
 per-file SSL*, Uri*, Url* = flooey@google.com, narayan@google.com, tobiast@google.com
diff --git a/core/java/android/net/ParseException.java b/core/java/android/net/ParseException.java
index 68b209b..9d4727a 100644
--- a/core/java/android/net/ParseException.java
+++ b/core/java/android/net/ParseException.java
@@ -16,14 +16,22 @@
 
 package android.net;
 
+import android.annotation.NonNull;
+
 /**
- * Thrown when parsing a URL fails.
+ * Thrown when parsing failed.
  */
 // See non-public class {@link WebAddress}.
 public class ParseException extends RuntimeException {
     public String response;
 
-    ParseException(String response) {
+    public ParseException(@NonNull String response) {
+        super(response);
+        this.response = response;
+    }
+
+    public ParseException(@NonNull String response, @NonNull Throwable cause) {
+        super(response, cause);
         this.response = response;
     }
 }
diff --git a/core/java/android/net/ProvisioningConfigurationParcelable.aidl b/core/java/android/net/ProvisioningConfigurationParcelable.aidl
index 2a144f2..5b46d7f 100644
--- a/core/java/android/net/ProvisioningConfigurationParcelable.aidl
+++ b/core/java/android/net/ProvisioningConfigurationParcelable.aidl
@@ -19,7 +19,7 @@
 
 import android.net.ApfCapabilitiesParcelable;
 import android.net.InitialConfigurationParcelable;
-import android.net.NetworkParcelable;
+import android.net.Network;
 import android.net.StaticIpConfigurationParcelable;
 
 parcelable ProvisioningConfigurationParcelable {
@@ -33,6 +33,6 @@
     ApfCapabilitiesParcelable apfCapabilities;
     int provisioningTimeoutMs;
     int ipv6AddrGenMode;
-    NetworkParcelable network;
+    Network network;
     String displayName;
 }
diff --git a/core/java/android/net/ProxyInfo.aidl b/core/java/android/net/ProxyInfo.aidl
index 2c91960..a5d0c12 100644
--- a/core/java/android/net/ProxyInfo.aidl
+++ b/core/java/android/net/ProxyInfo.aidl
@@ -17,5 +17,5 @@
 
 package android.net;
 
-parcelable ProxyInfo;
+@JavaOnlyStableParcelable parcelable ProxyInfo;
 
diff --git a/core/java/android/net/ProxyInfoParcelable.aidl b/core/java/android/net/ProxyInfoParcelable.aidl
deleted file mode 100644
index 59fd846..0000000
--- a/core/java/android/net/ProxyInfoParcelable.aidl
+++ /dev/null
@@ -1,24 +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 android.net;
-
-parcelable ProxyInfoParcelable {
-    String host;
-    int port;
-    String[] exclusionList;
-    String pacFileUrl;
-}
diff --git a/core/java/android/net/RouteInfo.aidl b/core/java/android/net/RouteInfo.aidl
index 2296a57..7af9fda 100644
--- a/core/java/android/net/RouteInfo.aidl
+++ b/core/java/android/net/RouteInfo.aidl
@@ -16,4 +16,4 @@
 
 package android.net;
 
-parcelable RouteInfo;
+@JavaOnlyStableParcelable parcelable RouteInfo;
diff --git a/core/java/android/net/RouteInfoParcelable.aidl b/core/java/android/net/RouteInfoParcelable.aidl
deleted file mode 100644
index 15bcdcf..0000000
--- a/core/java/android/net/RouteInfoParcelable.aidl
+++ /dev/null
@@ -1,26 +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 android.net;
-
-import android.net.IpPrefixParcelable;
-
-parcelable RouteInfoParcelable {
-    IpPrefixParcelable destination;
-    String gatewayAddr;
-    String ifaceName;
-    int type;
-}
diff --git a/core/java/android/net/SSLCertificateSocketFactory.java b/core/java/android/net/SSLCertificateSocketFactory.java
index 45860b3..95d66bb 100644
--- a/core/java/android/net/SSLCertificateSocketFactory.java
+++ b/core/java/android/net/SSLCertificateSocketFactory.java
@@ -62,7 +62,7 @@
  *
  * The handshake timeout does not apply to actual TCP socket connection.
  * If you want a connection timeout as well, use {@link #createSocket()}
- * and {@link Socket#connect(SocketAddress, int)}, after which you
+ * and {@link Socket#connect(java.net.SocketAddress, int)}, after which you
  * must verify the identity of the server you are connected to.
  *
  * <p class="caution"><b>Most {@link SSLSocketFactory} implementations do not
@@ -211,14 +211,14 @@
     }
 
     /**
-     * Verify the hostname of the certificate used by the other end of a
-     * connected socket.  You MUST call this if you did not supply a hostname
-     * to {@link #createSocket()}.  It is harmless to call this method
-     * redundantly if the hostname has already been verified.
+     * Verify the hostname of the certificate used by the other end of a connected socket using the
+     * {@link HostnameVerifier} obtained from {@code
+     * HttpsURLConnection.getDefaultHostnameVerifier()}. You MUST call this if you did not supply a
+     * hostname to {@link #createSocket()}.  It is harmless to call this method redundantly if the
+     * hostname has already been verified.
      *
-     * <p>Wildcard certificates are allowed to verify any matching hostname,
-     * so "foo.bar.example.com" is verified if the peer has a certificate
-     * for "*.example.com".
+     * <p>Wildcard certificates are allowed to verify any matching hostname, so
+     * "foo.bar.example.com" is verified if the peer has a certificate for "*.example.com".
      *
      * @param socket An SSL socket which has been connected to a server
      * @param hostname The expected hostname of the remote server
@@ -483,7 +483,8 @@
      * {@inheritDoc}
      *
      * <p>By default, this method returns a <i>connected</i> socket and verifies the peer's
-     * certificate hostname after connecting; if this instance was created with
+     * certificate hostname after connecting using the {@link HostnameVerifier} obtained from
+     * {@code HttpsURLConnection.getDefaultHostnameVerifier()}; if this instance was created with
      * {@link #getInsecure(int, SSLSessionCache)}, it returns a socket that is <i>not connected</i>
      * instead.
      */
@@ -562,7 +563,8 @@
      * {@inheritDoc}
      *
      * <p>By default, this method returns a <i>connected</i> socket and verifies the peer's
-     * certificate hostname after connecting; if this instance was created with
+     * certificate hostname after connecting using the {@link HostnameVerifier} obtained from
+     * {@code HttpsURLConnection.getDefaultHostnameVerifier()}; if this instance was created with
      * {@link #getInsecure(int, SSLSessionCache)}, it returns a socket that is <i>not connected</i>
      * instead.
      */
@@ -585,7 +587,8 @@
      * {@inheritDoc}
      *
      * <p>By default, this method returns a <i>connected</i> socket and verifies the peer's
-     * certificate hostname after connecting; if this instance was created with
+     * certificate hostname after connecting using the {@link HostnameVerifier} obtained from
+     * {@code HttpsURLConnection.getDefaultHostnameVerifier()}; if this instance was created with
      * {@link #getInsecure(int, SSLSessionCache)}, it returns a socket that is <i>not connected</i>
      * instead.
      */
diff --git a/core/java/android/net/SocketKeepalive.java b/core/java/android/net/SocketKeepalive.java
index 07728be..0e768df 100644
--- a/core/java/android/net/SocketKeepalive.java
+++ b/core/java/android/net/SocketKeepalive.java
@@ -20,13 +20,8 @@
 import android.annotation.IntRange;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
-import android.os.Handler;
-import android.os.HandlerThread;
-import android.os.Looper;
-import android.os.Message;
-import android.os.Messenger;
-import android.os.Process;
-import android.util.Log;
+import android.os.Binder;
+import android.os.RemoteException;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -152,10 +147,9 @@
 
     @NonNull final IConnectivityManager mService;
     @NonNull final Network mNetwork;
-    @NonNull private final Executor mExecutor;
-    @NonNull private final SocketKeepalive.Callback mCallback;
-    @NonNull private final Looper mLooper;
-    @NonNull final Messenger mMessenger;
+    @NonNull final Executor mExecutor;
+    @NonNull final ISocketKeepaliveCallback mCallback;
+    // TODO: remove slot since mCallback could be used to identify which keepalive to stop.
     @Nullable Integer mSlot;
 
     SocketKeepalive(@NonNull IConnectivityManager service, @NonNull Network network,
@@ -163,53 +157,53 @@
         mService = service;
         mNetwork = network;
         mExecutor = executor;
-        mCallback = callback;
-        // TODO: 1. Use other thread modeling instead of create one thread for every instance to
-        //          reduce the memory cost.
-        //       2. support restart.
-        //       3. Fix race condition which caused by rapidly start and stop.
-        HandlerThread thread = new HandlerThread(TAG, Process.THREAD_PRIORITY_BACKGROUND
-                + Process.THREAD_PRIORITY_LESS_FAVORABLE);
-        thread.start();
-        mLooper = thread.getLooper();
-        mMessenger = new Messenger(new Handler(mLooper) {
+        mCallback = new ISocketKeepaliveCallback.Stub() {
             @Override
-            public void handleMessage(Message message) {
-                switch (message.what) {
-                    case NetworkAgent.EVENT_SOCKET_KEEPALIVE:
-                        final int status = message.arg2;
-                        try {
-                            if (status == SUCCESS) {
-                                if (mSlot == null) {
-                                    mSlot = message.arg1;
-                                    mExecutor.execute(() -> mCallback.onStarted());
-                                } else {
-                                    mSlot = null;
-                                    stopLooper();
-                                    mExecutor.execute(() -> mCallback.onStopped());
-                                }
-                            } else if (status == DATA_RECEIVED) {
-                                stopLooper();
-                                mExecutor.execute(() -> mCallback.onDataReceived());
-                            } else {
-                                stopLooper();
-                                mExecutor.execute(() -> mCallback.onError(status));
-                            }
-                        } catch (Exception e) {
-                            Log.e(TAG, "Exception in keepalive callback(" + status + ")", e);
-                        }
-                        break;
-                    default:
-                        Log.e(TAG, "Unhandled message " + Integer.toHexString(message.what));
-                        break;
-                }
+            public void onStarted(int slot) {
+                Binder.withCleanCallingIdentity(() ->
+                        mExecutor.execute(() -> {
+                            mSlot = slot;
+                            callback.onStarted();
+                        }));
             }
-        });
+
+            @Override
+            public void onStopped() {
+                Binder.withCleanCallingIdentity(() ->
+                        executor.execute(() -> {
+                            mSlot = null;
+                            callback.onStopped();
+                        }));
+            }
+
+            @Override
+            public void onError(int error) {
+                Binder.withCleanCallingIdentity(() ->
+                        executor.execute(() -> {
+                            mSlot = null;
+                            callback.onError(error);
+                        }));
+            }
+
+            @Override
+            public void onDataReceived() {
+                Binder.withCleanCallingIdentity(() ->
+                        executor.execute(() -> {
+                            mSlot = null;
+                            callback.onDataReceived();
+                        }));
+            }
+        };
     }
 
     /**
      * Request that keepalive be started with the given {@code intervalSec}. See
-     * {@link SocketKeepalive}.
+     * {@link SocketKeepalive}. If the remote binder dies, or the binder call throws an exception
+     * when invoking start or stop of the {@link SocketKeepalive}, a {@link RemoteException} will be
+     * thrown into the {@code executor}. This is typically not important to catch because the remote
+     * party is the system, so if it is not in shape to communicate through binder the system is
+     * probably going down anyway. If the caller cares regardless, it can use a custom
+     * {@link Executor} to catch the {@link RemoteException}.
      *
      * @param intervalSec The target interval in seconds between keepalive packet transmissions.
      *                    The interval should be between 10 seconds and 3600 seconds, otherwise
@@ -222,12 +216,6 @@
 
     abstract void startImpl(int intervalSec);
 
-    /** @hide */
-    protected void stopLooper() {
-        // TODO: remove this after changing thread modeling.
-        mLooper.quit();
-    }
-
     /**
      * Requests that keepalive be stopped. The application must wait for {@link Callback#onStopped}
      * before using the object. See {@link SocketKeepalive}.
@@ -245,7 +233,6 @@
     @Override
     public final void close() {
         stop();
-        stopLooper();
     }
 
     /**
@@ -259,7 +246,8 @@
         public void onStopped() {}
         /** An error occurred. */
         public void onError(@ErrorCode int error) {}
-        /** The keepalive on a TCP socket was stopped because the socket received data. */
+        /** The keepalive on a TCP socket was stopped because the socket received data. This is
+         * never called for UDP sockets. */
         public void onDataReceived() {}
     }
 }
diff --git a/core/java/android/net/StaticIpConfigurationParcelable.aidl b/core/java/android/net/StaticIpConfigurationParcelable.aidl
index 45dc021..6fffb42 100644
--- a/core/java/android/net/StaticIpConfigurationParcelable.aidl
+++ b/core/java/android/net/StaticIpConfigurationParcelable.aidl
@@ -17,10 +17,10 @@
 
 package android.net;
 
-import android.net.LinkAddressParcelable;
+import android.net.LinkAddress;
 
 parcelable StaticIpConfigurationParcelable {
-    LinkAddressParcelable ipAddress;
+    LinkAddress ipAddress;
     String gateway;
     String[] dnsServers;
     String domains;
diff --git a/core/java/android/net/TcpSocketKeepalive.java b/core/java/android/net/TcpSocketKeepalive.java
index 8f6ee7b..26cc8ff 100644
--- a/core/java/android/net/TcpSocketKeepalive.java
+++ b/core/java/android/net/TcpSocketKeepalive.java
@@ -17,7 +17,6 @@
 package android.net;
 
 import android.annotation.NonNull;
-import android.os.Binder;
 import android.os.RemoteException;
 import android.util.Log;
 
@@ -45,34 +44,39 @@
      * - The application must not write to or read from the socket after calling this method, until
      *   onDataReceived, onStopped, or onError are called. If it does, the keepalive will fail
      *   with {@link #ERROR_SOCKET_NOT_IDLE}, or {@code #ERROR_INVALID_SOCKET} if the socket
-     *   experienced an error (as in poll(2) returned POLLERR); if this happens, the data received
-     *   from the socket may be invalid, and the socket can't be recovered.
+     *   experienced an error (as in poll(2) returned POLLERR or POLLHUP); if this happens, the data
+     *   received from the socket may be invalid, and the socket can't be recovered.
      * - If the socket has data in the send or receive buffer, then this call will fail with
      *   {@link #ERROR_SOCKET_NOT_IDLE} and can be retried after the data has been processed.
-     *   An app could ensure this by using an application-layer protocol where it can receive
-     *   acknowledgement that it will go into keepalive mode. It could then go into keepalive
-     *   mode after having read the acknowledgement, draining the socket.
+     *   An app could ensure this by using an application-layer protocol to receive acknowledgement
+     *   that indicates all data has been delivered to server, e.g. HTTP 200 OK.
+     *   Then the app could go into keepalive mode after reading all remaining data within the
+     *   acknowledgement.
      */
     @Override
     void startImpl(int intervalSec) {
-        try {
-            final FileDescriptor fd = mSocket.getFileDescriptor$();
-            mService.startTcpKeepalive(mNetwork, fd, intervalSec, mMessenger, new Binder());
-        } catch (RemoteException e) {
-            Log.e(TAG, "Error starting packet keepalive: ", e);
-            stopLooper();
-        }
+        mExecutor.execute(() -> {
+            try {
+                final FileDescriptor fd = mSocket.getFileDescriptor$();
+                mService.startTcpKeepalive(mNetwork, fd, intervalSec, mCallback);
+            } catch (RemoteException e) {
+                Log.e(TAG, "Error starting packet keepalive: ", e);
+                throw e.rethrowFromSystemServer();
+            }
+        });
     }
 
     @Override
     void stopImpl() {
-        try {
-            if (mSlot != null) {
-                mService.stopKeepalive(mNetwork, mSlot);
+        mExecutor.execute(() -> {
+            try {
+                if (mSlot != null) {
+                    mService.stopKeepalive(mNetwork, mSlot);
+                }
+            } catch (RemoteException e) {
+                Log.e(TAG, "Error stopping packet keepalive: ", e);
+                throw e.rethrowFromSystemServer();
             }
-        } catch (RemoteException e) {
-            Log.e(TAG, "Error stopping packet keepalive: ", e);
-            stopLooper();
-        }
+        });
     }
 }
diff --git a/media/java/android/media/session/SessionLink.aidl b/core/java/android/net/TestNetworkInterface.aidl
similarity index 81%
rename from media/java/android/media/session/SessionLink.aidl
rename to core/java/android/net/TestNetworkInterface.aidl
index c3be23e..e1f4f9f 100644
--- a/media/java/android/media/session/SessionLink.aidl
+++ b/core/java/android/net/TestNetworkInterface.aidl
@@ -1,5 +1,5 @@
 /*
- * Copyright 2019 The Android Open Source Project
+ * 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.
@@ -14,6 +14,7 @@
  * limitations under the License.
  */
 
-package android.media.session;
+package android.net;
 
-parcelable SessionLink;
+/** @hide */
+parcelable TestNetworkInterface;
diff --git a/core/java/android/net/TestNetworkInterface.java b/core/java/android/net/TestNetworkInterface.java
new file mode 100644
index 0000000..30e68f5
--- /dev/null
+++ b/core/java/android/net/TestNetworkInterface.java
@@ -0,0 +1,74 @@
+/*
+ * 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 android.net;
+
+import android.annotation.TestApi;
+import android.os.Parcel;
+import android.os.ParcelFileDescriptor;
+import android.os.Parcelable;
+
+/**
+ * This class is used to return the interface name and fd of the test interface
+ *
+ * @hide
+ */
+@TestApi
+public final class TestNetworkInterface implements Parcelable {
+    private static final String TAG = "TestNetworkInterface";
+
+    private final ParcelFileDescriptor mFileDescriptor;
+    private final String mInterfaceName;
+
+    @Override
+    public int describeContents() {
+        return (mFileDescriptor != null) ? Parcelable.CONTENTS_FILE_DESCRIPTOR : 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel out, int flags) {
+        out.writeParcelable(mFileDescriptor, PARCELABLE_WRITE_RETURN_VALUE);
+        out.writeString(mInterfaceName);
+    }
+
+    public TestNetworkInterface(ParcelFileDescriptor pfd, String intf) {
+        mFileDescriptor = pfd;
+        mInterfaceName = intf;
+    }
+
+    private TestNetworkInterface(Parcel in) {
+        mFileDescriptor = in.readParcelable(ParcelFileDescriptor.class.getClassLoader());
+        mInterfaceName = in.readString();
+    }
+
+    public ParcelFileDescriptor getFileDescriptor() {
+        return mFileDescriptor;
+    }
+
+    public String getInterfaceName() {
+        return mInterfaceName;
+    }
+
+    public static final Parcelable.Creator<TestNetworkInterface> CREATOR =
+            new Parcelable.Creator<TestNetworkInterface>() {
+                public TestNetworkInterface createFromParcel(Parcel in) {
+                    return new TestNetworkInterface(in);
+                }
+
+                public TestNetworkInterface[] newArray(int size) {
+                    return new TestNetworkInterface[size];
+                }
+            };
+}
diff --git a/core/java/android/net/TestNetworkManager.java b/core/java/android/net/TestNetworkManager.java
new file mode 100644
index 0000000..cd58e66
--- /dev/null
+++ b/core/java/android/net/TestNetworkManager.java
@@ -0,0 +1,91 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package android.net;
+
+import android.annotation.NonNull;
+import android.annotation.TestApi;
+import android.content.Context;
+import android.os.IBinder;
+import android.os.RemoteException;
+
+import com.android.internal.util.Preconditions;
+
+/**
+ * Class that allows creation and management of per-app, test-only networks
+ *
+ * @hide
+ */
+@TestApi
+public class TestNetworkManager {
+    @NonNull private static final String TAG = TestNetworkManager.class.getSimpleName();
+
+    @NonNull private final ITestNetworkManager mService;
+    @NonNull private final Context mContext;
+
+    /** @hide */
+    public TestNetworkManager(@NonNull Context context, @NonNull ITestNetworkManager service) {
+        mContext = Preconditions.checkNotNull(context, "missing Context");
+        mService = Preconditions.checkNotNull(service, "missing ITestNetworkManager");
+    }
+
+    /**
+     * Teardown the capability-limited, testing-only network for a given interface
+     *
+     * @param network The test network that should be torn down
+     * @hide
+     */
+    @TestApi
+    public void teardownTestNetwork(@NonNull Network network) {
+        try {
+            mService.teardownTestNetwork(network.netId);
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
+    }
+
+    /**
+     * Sets up a capability-limited, testing-only network for a given interface
+     *
+     * @param iface the name of the interface to be used for the Network LinkProperties.
+     * @param binder A binder object guarding the lifecycle of this test network.
+     * @hide
+     */
+    @TestApi
+    public void setupTestNetwork(@NonNull String iface, @NonNull IBinder binder) {
+        try {
+            mService.setupTestNetwork(iface, binder);
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
+    }
+
+    /**
+     * Create a tun interface for testing purposes
+     *
+     * @param linkAddrs an array of LinkAddresses to assign to the TUN interface
+     * @return A ParcelFileDescriptor of the underlying TUN interface. Close this to tear down the
+     *     TUN interface.
+     * @hide
+     */
+    @TestApi
+    public TestNetworkInterface createTunInterface(@NonNull LinkAddress[] linkAddrs) {
+        try {
+            return mService.createTunInterface(linkAddrs);
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
+    }
+}
diff --git a/core/java/android/net/UidRange.java b/core/java/android/net/UidRange.java
index d4a4cf4..e56f059 100644
--- a/core/java/android/net/UidRange.java
+++ b/core/java/android/net/UidRange.java
@@ -19,14 +19,17 @@
 import static android.os.UserHandle.PER_USER_RANGE;
 
 import android.os.Parcel;
+import android.os.Parcelable;
 
 /**
  * An inclusive range of UIDs.
  *
  * @hide
  */
-public final class UidRange extends UidRangeParcel {
-    private UidRange() {}
+public final class UidRange implements Parcelable {
+    public final int start;
+    public final int stop;
+
     public UidRange(int startUid, int stopUid) {
         if (startUid < 0) throw new IllegalArgumentException("Invalid start UID.");
         if (stopUid < 0) throw new IllegalArgumentException("Invalid stop UID.");
@@ -86,18 +89,28 @@
         return start + "-" + stop;
     }
 
-    /**
-     * DO NOT override "writeToParcel" and "readFromParcel" in this class.
-     * The parceling code is autogenerated by the superclass.
-     */
+    // Implement the Parcelable interface
+    // TODO: Consider making this class no longer parcelable, since all users are likely in the
+    // system server.
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeInt(start);
+        dest.writeInt(stop);
+    }
 
     public static final @android.annotation.NonNull Creator<UidRange> CREATOR =
         new Creator<UidRange>() {
             @Override
             public UidRange createFromParcel(Parcel in) {
-                UidRange obj = new UidRange();
-                obj.readFromParcel(in);
-                return obj;
+                int start = in.readInt();
+                int stop = in.readInt();
+
+                return new UidRange(start, stop);
             }
             @Override
             public UidRange[] newArray(int size) {
diff --git a/core/java/android/net/Uri.java b/core/java/android/net/Uri.java
index fdf5321..9e0d95b 100644
--- a/core/java/android/net/Uri.java
+++ b/core/java/android/net/Uri.java
@@ -16,6 +16,7 @@
 
 package android.net;
 
+import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.UnsupportedAppUsage;
 import android.content.Intent;
@@ -380,6 +381,7 @@
      * returned as {@code http://example.com/...}.
      * @return the common forms PII redacted string of this URI
      */
+    @NonNull
     public String toSafeString() {
         String scheme = getScheme();
         String ssp = getSchemeSpecificPart();
diff --git a/core/java/android/net/VpnService.java b/core/java/android/net/VpnService.java
index 870d8b1..ea245a4 100644
--- a/core/java/android/net/VpnService.java
+++ b/core/java/android/net/VpnService.java
@@ -27,6 +27,8 @@
 import android.app.Activity;
 import android.app.PendingIntent;
 import android.app.Service;
+import android.app.admin.DevicePolicyManager;
+import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.IPackageManager;
@@ -48,6 +50,7 @@
 import java.net.Socket;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Set;
 
 /**
  * VpnService is a base class for applications to extend and build their
@@ -138,7 +141,7 @@
      * provides users with the ability to set it as always-on, so that VPN connection is
      * persisted after device reboot and app upgrade. Always-on VPN can also be enabled by device
      * owner and profile owner apps through
-     * {@link android.app.admin.DevicePolicyManager#setAlwaysOnVpnPackage}.
+     * {@link DevicePolicyManager#setAlwaysOnVpnPackage}.
      *
      * <p>VPN apps not supporting this feature should opt out by adding this meta-data field to the
      * {@code VpnService} component of {@code AndroidManifest.xml}. In case there is more than one
@@ -370,7 +373,10 @@
     }
 
     /**
-     * Returns whether the service is running in always-on VPN mode.
+     * Returns whether the service is running in always-on VPN mode. In this mode the system ensures
+     * that the service is always running by restarting it when necessary, e.g. after reboot.
+     *
+     * @see DevicePolicyManager#setAlwaysOnVpnPackage(ComponentName, String, boolean, Set)
      */
     public final boolean isAlwaysOn() {
         try {
@@ -381,8 +387,11 @@
     }
 
     /**
-     * Returns whether the service is running in always-on VPN mode blocking connections without
-     * VPN.
+     * Returns whether the service is running in always-on VPN lockdown mode. In this mode the
+     * system ensures that the service is always running and that the apps aren't allowed to bypass
+     * the VPN.
+     *
+     * @see DevicePolicyManager#setAlwaysOnVpnPackage(ComponentName, String, boolean, Set)
      */
     public final boolean isLockdownEnabled() {
         try {
diff --git a/core/java/android/net/captiveportal/CaptivePortalProbeResult.java b/core/java/android/net/captiveportal/CaptivePortalProbeResult.java
index 7432687..3930344 100644
--- a/core/java/android/net/captiveportal/CaptivePortalProbeResult.java
+++ b/core/java/android/net/captiveportal/CaptivePortalProbeResult.java
@@ -30,10 +30,20 @@
     public static final int SUCCESS_CODE = 204;
     public static final int FAILED_CODE = 599;
     public static final int PORTAL_CODE = 302;
+    // Set partial connectivity http response code to -1 to prevent conflict with the other http
+    // response codes. Besides the default http response code of probe result is set as 599 in
+    // NetworkMonitor#sendParallelHttpProbes(), so response code will be set as -1 only when
+    // NetworkMonitor detects partial connectivity.
+    /**
+     * @hide
+     */
+    public static final int PARTIAL_CODE = -1;
 
     public static final CaptivePortalProbeResult FAILED = new CaptivePortalProbeResult(FAILED_CODE);
     public static final CaptivePortalProbeResult SUCCESS =
             new CaptivePortalProbeResult(SUCCESS_CODE);
+    public static final CaptivePortalProbeResult PARTIAL =
+            new CaptivePortalProbeResult(PARTIAL_CODE);
 
     private final int mHttpResponseCode;  // HTTP response code returned from Internet probe.
     public final String redirectUrl;      // Redirect destination returned from Internet probe.
@@ -69,4 +79,8 @@
     public boolean isFailed() {
         return !isSuccessful() && !isPortal();
     }
+
+    public boolean isPartialConnectivity() {
+        return mHttpResponseCode == PARTIAL_CODE;
+    }
 }
diff --git a/core/java/android/net/ip/IIpClient.aidl b/core/java/android/net/ip/IIpClient.aidl
index a4a80e1..b834e45 100644
--- a/core/java/android/net/ip/IIpClient.aidl
+++ b/core/java/android/net/ip/IIpClient.aidl
@@ -15,7 +15,7 @@
  */
 package android.net.ip;
 
-import android.net.ProxyInfoParcelable;
+import android.net.ProxyInfo;
 import android.net.ProvisioningConfigurationParcelable;
 import android.net.TcpKeepalivePacketDataParcelable;
 
@@ -28,7 +28,7 @@
     void startProvisioning(in ProvisioningConfigurationParcelable req);
     void stop();
     void setTcpBufferSizes(in String tcpBufferSizes);
-    void setHttpProxy(in ProxyInfoParcelable proxyInfo);
+    void setHttpProxy(in ProxyInfo proxyInfo);
     void setMulticastFilter(boolean enabled);
     void addKeepalivePacketFilter(int slot, in TcpKeepalivePacketDataParcelable pkt);
     void removeKeepalivePacketFilter(int slot);
diff --git a/core/java/android/net/ip/IIpClientCallbacks.aidl b/core/java/android/net/ip/IIpClientCallbacks.aidl
index f077e3b..3681416 100644
--- a/core/java/android/net/ip/IIpClientCallbacks.aidl
+++ b/core/java/android/net/ip/IIpClientCallbacks.aidl
@@ -15,7 +15,7 @@
  */
 package android.net.ip;
 
-import android.net.LinkPropertiesParcelable;
+import android.net.LinkProperties;
 import android.net.ip.IIpClient;
 import android.net.DhcpResultsParcelable;
 
@@ -34,11 +34,11 @@
     // null or not.
     void onNewDhcpResults(in DhcpResultsParcelable dhcpResults);
 
-    void onProvisioningSuccess(in LinkPropertiesParcelable newLp);
-    void onProvisioningFailure(in LinkPropertiesParcelable newLp);
+    void onProvisioningSuccess(in LinkProperties newLp);
+    void onProvisioningFailure(in LinkProperties newLp);
 
     // Invoked on LinkProperties changes.
-    void onLinkPropertiesChange(in LinkPropertiesParcelable newLp);
+    void onLinkPropertiesChange(in LinkProperties newLp);
 
     // Called when the internal IpReachabilityMonitor (if enabled) has
     // detected the loss of a critical number of required neighbors.
diff --git a/core/java/android/net/metrics/NetworkEvent.java b/core/java/android/net/metrics/NetworkEvent.java
index ed58843..bed914d 100644
--- a/core/java/android/net/metrics/NetworkEvent.java
+++ b/core/java/android/net/metrics/NetworkEvent.java
@@ -50,6 +50,8 @@
 
     public static final int NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND = 12;
 
+    public static final int NETWORK_PARTIAL_CONNECTIVITY = 13;
+
     /** @hide */
     @IntDef(value = {
             NETWORK_CONNECTED,
@@ -64,6 +66,7 @@
             NETWORK_FIRST_VALIDATION_PORTAL_FOUND,
             NETWORK_REVALIDATION_PORTAL_FOUND,
             NETWORK_CONSECUTIVE_DNS_TIMEOUT_FOUND,
+            NETWORK_PARTIAL_CONNECTIVITY,
     })
     @Retention(RetentionPolicy.SOURCE)
     public @interface EventType {}
diff --git a/core/java/android/net/util/SocketUtils.java b/core/java/android/net/util/SocketUtils.java
index fbb15ed..6f8aece 100644
--- a/core/java/android/net/util/SocketUtils.java
+++ b/core/java/android/net/util/SocketUtils.java
@@ -19,6 +19,8 @@
 import static android.system.OsConstants.SOL_SOCKET;
 import static android.system.OsConstants.SO_BINDTODEVICE;
 
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.annotation.TestApi;
 import android.net.MacAddress;
@@ -43,13 +45,13 @@
  */
 @SystemApi
 @TestApi
-public class SocketUtils {
+public final class SocketUtils {
     /**
      * Create a raw datagram socket that is bound to an interface.
      *
      * <p>Data sent through the socket will go directly to the underlying network, ignoring VPNs.
      */
-    public static void bindSocketToInterface(FileDescriptor socket, String iface)
+    public static void bindSocketToInterface(@NonNull FileDescriptor socket, @NonNull String iface)
             throws ErrnoException {
         // SO_BINDTODEVICE actually takes a string. This works because the first member
         // of struct ifreq is a NULL-terminated interface name.
@@ -61,6 +63,7 @@
     /**
      * Make a socket address to communicate with netlink.
      */
+    @NonNull
     public static SocketAddress makeNetlinkSocketAddress(int portId, int groupsMask) {
         return new NetlinkSocketAddress(portId, groupsMask);
     }
@@ -68,14 +71,16 @@
     /**
      * Make socket address that packet sockets can bind to.
      */
-    public static SocketAddress makePacketSocketAddress(short protocol, int ifIndex) {
-        return new PacketSocketAddress(protocol, ifIndex);
+    @NonNull
+    public static SocketAddress makePacketSocketAddress(int protocol, int ifIndex) {
+        return new PacketSocketAddress((short) protocol, ifIndex);
     }
 
     /**
      * Make a socket address that packet socket can send packets to.
      */
-    public static SocketAddress makePacketSocketAddress(int ifIndex, byte[] hwAddr) {
+    @NonNull
+    public static SocketAddress makePacketSocketAddress(int ifIndex, @NonNull byte[] hwAddr) {
         return new PacketSocketAddress(ifIndex, hwAddr);
     }
 
@@ -83,45 +88,21 @@
      * Set an option on a socket that takes a time value argument.
      */
     public static void setSocketTimeValueOption(
-            FileDescriptor fd, int level, int option, long millis) throws ErrnoException {
+            @NonNull FileDescriptor fd, int level, int option, long millis) throws ErrnoException {
         Os.setsockoptTimeval(fd, level, option, StructTimeval.fromMillis(millis));
     }
 
     /**
-     * Bind a socket to the specified address.
-     */
-    public static void bindSocket(FileDescriptor fd, SocketAddress addr)
-            throws ErrnoException, SocketException {
-        Os.bind(fd, addr);
-    }
-
-    /**
-     * Connect a socket to the specified address.
-     */
-    public static void connectSocket(FileDescriptor fd, SocketAddress addr)
-            throws ErrnoException, SocketException {
-        Os.connect(fd, addr);
-    }
-
-    /**
-     * Send a message on a socket, using the specified SocketAddress.
-     */
-    public static void sendTo(FileDescriptor fd, byte[] bytes, int byteOffset, int byteCount,
-            int flags, SocketAddress addr) throws ErrnoException, SocketException {
-        Os.sendto(fd, bytes, byteOffset, byteCount, flags, addr);
-    }
-
-    /**
      * @see IoBridge#closeAndSignalBlockedThreads(FileDescriptor)
      */
-    public static void closeSocket(FileDescriptor fd) throws IOException {
+    public static void closeSocket(@Nullable FileDescriptor fd) throws IOException {
         IoBridge.closeAndSignalBlockedThreads(fd);
     }
 
     /**
      * Attaches a socket filter that accepts DHCP packets to the given socket.
      */
-    public static void attachDhcpFilter(FileDescriptor fd) throws SocketException {
+    public static void attachDhcpFilter(@NonNull FileDescriptor fd) throws SocketException {
         NetworkUtils.attachDhcpFilter(fd);
     }
 
@@ -130,7 +111,8 @@
      * @param fd the socket's {@link FileDescriptor}.
      * @param packetType the hardware address type, one of ARPHRD_*.
      */
-    public static void attachRaFilter(FileDescriptor fd, int packetType) throws SocketException {
+    public static void attachRaFilter(@NonNull FileDescriptor fd, int packetType)
+            throws SocketException {
         NetworkUtils.attachRaFilter(fd, packetType);
     }
 
@@ -142,7 +124,7 @@
      * @param fd the socket's {@link FileDescriptor}.
      * @param packetType the hardware address type, one of ARPHRD_*.
      */
-    public static void attachControlPacketFilter(FileDescriptor fd, int packetType)
+    public static void attachControlPacketFilter(@NonNull FileDescriptor fd, int packetType)
             throws SocketException {
         NetworkUtils.attachControlPacketFilter(fd, packetType);
     }
@@ -150,8 +132,8 @@
     /**
      * Add an entry into the ARP cache.
      */
-    public static void addArpEntry(Inet4Address ipv4Addr, MacAddress ethAddr, String ifname,
-            FileDescriptor fd) throws IOException {
+    public static void addArpEntry(@NonNull Inet4Address ipv4Addr, @NonNull MacAddress ethAddr,
+            @NonNull String ifname, @NonNull FileDescriptor fd) throws IOException {
         NetworkUtils.addArpEntry(ipv4Addr, ethAddr, ifname, fd);
     }
 
diff --git a/core/java/android/nfc/NfcAdapter.java b/core/java/android/nfc/NfcAdapter.java
index a7d2ee9..8970c62 100644
--- a/core/java/android/nfc/NfcAdapter.java
+++ b/core/java/android/nfc/NfcAdapter.java
@@ -1704,11 +1704,12 @@
     /**
      * Sets Secure NFC feature.
      * <p>This API is for the Settings application.
+     * @return True if successful
      * @hide
      */
     @SystemApi
     @RequiresPermission(android.Manifest.permission.WRITE_SECURE_SETTINGS)
-    public boolean setNfcSecure(boolean enable) {
+    public boolean enableSecureNfc(boolean enable) {
         if (!sHasNfcFeature) {
             throw new UnsupportedOperationException();
         }
@@ -1726,7 +1727,7 @@
      * @return True if device supports Secure NFC, false otherwise
      * @throws UnsupportedOperationException if FEATURE_NFC is unavailable.
      */
-    public boolean deviceSupportsNfcSecure() {
+    public boolean isSecureNfcSupported() {
         if (!sHasNfcFeature) {
             throw new UnsupportedOperationException();
         }
@@ -1741,12 +1742,12 @@
     /**
      * Checks Secure NFC feature is enabled.
      *
-     * @return True if device supports Secure NFC is enabled, false otherwise
+     * @return True if Secure NFC is enabled, false otherwise
      * @throws UnsupportedOperationException if FEATURE_NFC is unavailable.
      * @throws UnsupportedOperationException if device doesn't support
-     *         Secure NFC functionality. {@link #deviceSupportsNfcSecure}
+     *         Secure NFC functionality. {@link #isSecureNfcSupported}
      */
-    public boolean isNfcSecureEnabled() {
+    public boolean isSecureNfcEnabled() {
         if (!sHasNfcFeature) {
             throw new UnsupportedOperationException();
         }
diff --git a/core/java/android/nfc/cardemulation/CardEmulation.java b/core/java/android/nfc/cardemulation/CardEmulation.java
index 01932ab..f23dc2d 100644
--- a/core/java/android/nfc/cardemulation/CardEmulation.java
+++ b/core/java/android/nfc/cardemulation/CardEmulation.java
@@ -16,6 +16,7 @@
 
 package android.nfc.cardemulation;
 
+import android.annotation.NonNull;
 import android.annotation.SdkConstant;
 import android.annotation.SdkConstant.SdkConstantType;
 import android.app.Activity;
@@ -359,7 +360,7 @@
      * @param service The component name of the service
      * @return whether the registration was successful.
      */
-    public boolean unsetOffHostForService(ComponentName service) {
+    public boolean unsetOffHostForService(@NonNull ComponentName service) {
         NfcAdapter adapter = NfcAdapter.getDefaultAdapter(mContext);
         if (adapter == null) {
             return false;
@@ -405,7 +406,8 @@
      * @param offHostSecureElement Secure Element to register the AID to
      * @return whether the registration was successful.
      */
-    public boolean setOffHostForService(ComponentName service, String offHostSecureElement) {
+    public boolean setOffHostForService(@NonNull ComponentName service,
+            @NonNull String offHostSecureElement) {
         boolean validSecureElement = false;
 
         NfcAdapter adapter = NfcAdapter.getDefaultAdapter(mContext);
diff --git a/core/java/android/os/AsyncResult.java b/core/java/android/os/AsyncResult.java
index 5bad09d..58a2701 100644
--- a/core/java/android/os/AsyncResult.java
+++ b/core/java/android/os/AsyncResult.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Message;
 
 /** @hide */
@@ -25,13 +26,17 @@
     /*************************** Instance Variables **************************/
 
     // Expect either exception or result to be null
+    @UnsupportedAppUsage
     public Object userObj;
+    @UnsupportedAppUsage
     public Throwable exception;
+    @UnsupportedAppUsage
     public Object result;
 
     /***************************** Class Methods *****************************/
 
     /** Saves and sets m.obj */
+    @UnsupportedAppUsage
     public static AsyncResult 
     forMessage(Message m, Object r, Throwable ex)
     {
@@ -45,6 +50,7 @@
     }
 
     /** Saves and sets m.obj */
+    @UnsupportedAppUsage
     public static AsyncResult 
     forMessage(Message m)
     {
@@ -58,6 +64,7 @@
     }
 
     /** please note, this sets m.obj to be this */
+    @UnsupportedAppUsage
     public 
     AsyncResult (Object uo, Object r, Throwable ex)
     {
diff --git a/core/java/android/os/AsyncTask.java b/core/java/android/os/AsyncTask.java
index a851e04..d259f38 100644
--- a/core/java/android/os/AsyncTask.java
+++ b/core/java/android/os/AsyncTask.java
@@ -18,6 +18,7 @@
 
 import android.annotation.MainThread;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.annotation.WorkerThread;
 
 import java.util.ArrayDeque;
@@ -259,15 +260,20 @@
     private static final int MESSAGE_POST_RESULT = 0x1;
     private static final int MESSAGE_POST_PROGRESS = 0x2;
 
+    @UnsupportedAppUsage
     private static volatile Executor sDefaultExecutor = SERIAL_EXECUTOR;
     private static InternalHandler sHandler;
 
+    @UnsupportedAppUsage
     private final WorkerRunnable<Params, Result> mWorker;
+    @UnsupportedAppUsage
     private final FutureTask<Result> mFuture;
 
+    @UnsupportedAppUsage
     private volatile Status mStatus = Status.PENDING;
     
     private final AtomicBoolean mCancelled = new AtomicBoolean();
+    @UnsupportedAppUsage
     private final AtomicBoolean mTaskInvoked = new AtomicBoolean();
 
     private final Handler mHandler;
@@ -331,6 +337,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public static void setDefaultExecutor(Executor exec) {
         sDefaultExecutor = exec;
     }
diff --git a/core/java/android/os/BaseBundle.java b/core/java/android/os/BaseBundle.java
index 3d4c00c..7f63f8f 100644
--- a/core/java/android/os/BaseBundle.java
+++ b/core/java/android/os/BaseBundle.java
@@ -18,6 +18,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.util.ArrayMap;
 import android.util.Log;
 import android.util.MathUtils;
@@ -82,6 +83,7 @@
     // Invariant - exactly one of mMap / mParcelledData will be null
     // (except inside a call to unparcel)
 
+    @UnsupportedAppUsage
     ArrayMap<String, Object> mMap = null;
 
     /*
@@ -89,6 +91,7 @@
      * data are stored as a Parcel containing a Bundle.  When the data
      * are unparcelled, mParcelledData willbe set to null.
      */
+    @UnsupportedAppUsage
     Parcel mParcelledData = null;
 
     /**
@@ -225,6 +228,7 @@
      * If the underlying data are stored as a Parcel, unparcel them
      * using the currently assigned class loader.
      */
+    @UnsupportedAppUsage
     /* package */ void unparcel() {
         synchronized (this) {
             final Parcel source = mParcelledData;
@@ -311,6 +315,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean isParcelled() {
         return mParcelledData != null;
     }
diff --git a/core/java/android/os/BatteryManager.java b/core/java/android/os/BatteryManager.java
index 6639f0f..5ced86c 100644
--- a/core/java/android/os/BatteryManager.java
+++ b/core/java/android/os/BatteryManager.java
@@ -21,6 +21,7 @@
 import android.annotation.SystemApi;
 import android.annotation.SystemService;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.Intent;
 import android.hardware.health.V1_0.Constants;
@@ -112,6 +113,7 @@
      * to the device.
      * {@hide}
      */
+    @UnsupportedAppUsage
     public static final String EXTRA_INVALID_CHARGER = "invalid_charger";
 
     /**
@@ -119,6 +121,7 @@
      * Int value set to the maximum charging current supported by the charger in micro amperes.
      * {@hide}
      */
+    @UnsupportedAppUsage
     public static final String EXTRA_MAX_CHARGING_CURRENT = "max_charging_current";
 
     /**
@@ -126,6 +129,7 @@
      * Int value set to the maximum charging voltage supported by the charger in micro volts.
      * {@hide}
      */
+    @UnsupportedAppUsage
     public static final String EXTRA_MAX_CHARGING_VOLTAGE = "max_charging_voltage";
 
     /**
@@ -133,6 +137,7 @@
      * integer containing the charge counter present in the battery.
      * {@hide}
      */
+     @UnsupportedAppUsage
      public static final String EXTRA_CHARGE_COUNTER = "charge_counter";
 
     /**
diff --git a/core/java/android/os/BatterySaverPolicyConfig.java b/core/java/android/os/BatterySaverPolicyConfig.java
index af7d11d..bda4e27 100644
--- a/core/java/android/os/BatterySaverPolicyConfig.java
+++ b/core/java/android/os/BatterySaverPolicyConfig.java
@@ -476,10 +476,6 @@
          */
         @NonNull
         public BatterySaverPolicyConfig build() {
-            if (!mEnableAdjustBrightness && Float.compare(1f, mAdjustBrightnessFactor) != 0) {
-                throw new IllegalArgumentException("Brightness adjustment factor changed without "
-                        + "enabling brightness adjustment");
-            }
             return new BatterySaverPolicyConfig(this);
         }
     }
diff --git a/core/java/android/os/BatteryStats.java b/core/java/android/os/BatteryStats.java
index b7e65b9..4fae3a8 100644
--- a/core/java/android/os/BatteryStats.java
+++ b/core/java/android/os/BatteryStats.java
@@ -18,6 +18,7 @@
 
 import static android.app.ActivityManager.PROCESS_STATE_FOREGROUND_SERVICE_LOCATION;
 
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityManager;
 import android.app.job.JobParameters;
 import android.content.Context;
@@ -74,6 +75,7 @@
     /**
      * A constant indicating a partial wake lock timer.
      */
+    @UnsupportedAppUsage
     public static final int WAKE_TYPE_PARTIAL = 0;
 
     /**
@@ -199,6 +201,7 @@
     /**
      * Include only the current run in the stats.
      */
+    @UnsupportedAppUsage
     public static final int STATS_CURRENT = 1;
 
     /**
@@ -396,6 +399,7 @@
          *
          * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT
          */
+        @UnsupportedAppUsage
         public abstract int getCountLocked(int which);
 
         /**
@@ -504,6 +508,7 @@
          *
          * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT
          */
+        @UnsupportedAppUsage
         public abstract int getCountLocked(int which);
 
         /**
@@ -514,6 +519,7 @@
          * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT
          * @return a time in microseconds
          */
+        @UnsupportedAppUsage
         public abstract long getTotalTimeLocked(long elapsedRealtimeUs, int which);
 
         /**
@@ -616,6 +622,7 @@
          *
          * @return a Map from Strings to Uid.Wakelock objects.
          */
+        @UnsupportedAppUsage
         public abstract ArrayMap<String, ? extends Wakelock> getWakelockStats();
 
         /**
@@ -650,6 +657,7 @@
          * The statistics associated with a particular wake lock.
          */
         public static abstract class Wakelock {
+            @UnsupportedAppUsage
             public abstract Timer getWakeTime(int type);
         }
 
@@ -665,6 +673,7 @@
          *
          * @return a Map from Integer sensor ids to Uid.Sensor objects.
          */
+        @UnsupportedAppUsage
         public abstract SparseArray<? extends Sensor> getSensorStats();
 
         /**
@@ -677,6 +686,7 @@
          *
          * @return a Map from Strings to Uid.Proc objects.
          */
+        @UnsupportedAppUsage
         public abstract ArrayMap<String, ? extends Proc> getProcessStats();
 
         /**
@@ -684,6 +694,7 @@
          *
          * @return a Map from Strings to Uid.Pkg objects.
          */
+        @UnsupportedAppUsage
         public abstract ArrayMap<String, ? extends Pkg> getPackageStats();
 
         public abstract ControllerActivityCounter getWifiControllerActivity();
@@ -693,6 +704,7 @@
         /**
          * {@hide}
          */
+        @UnsupportedAppUsage
         public abstract int getUid();
 
         public abstract void noteWifiRunningLocked(long elapsedRealtime);
@@ -707,8 +719,11 @@
         public abstract void noteWifiMulticastDisabledLocked(long elapsedRealtime);
         public abstract void noteActivityResumedLocked(long elapsedRealtime);
         public abstract void noteActivityPausedLocked(long elapsedRealtime);
+        @UnsupportedAppUsage
         public abstract long getWifiRunningTime(long elapsedRealtimeUs, int which);
+        @UnsupportedAppUsage
         public abstract long getFullWifiLockTime(long elapsedRealtimeUs, int which);
+        @UnsupportedAppUsage
         public abstract long getWifiScanTime(long elapsedRealtimeUs, int which);
         public abstract int getWifiScanCount(int which);
         /**
@@ -722,10 +737,14 @@
          * Returns the timer keeping track of background wifi scans.
          */
         public abstract Timer getWifiScanBackgroundTimer();
+        @UnsupportedAppUsage
         public abstract long getWifiBatchedScanTime(int csphBin, long elapsedRealtimeUs, int which);
         public abstract int getWifiBatchedScanCount(int csphBin, int which);
+        @UnsupportedAppUsage
         public abstract long getWifiMulticastTime(long elapsedRealtimeUs, int which);
+        @UnsupportedAppUsage
         public abstract Timer getAudioTurnedOnTimer();
+        @UnsupportedAppUsage
         public abstract Timer getVideoTurnedOnTimer();
         public abstract Timer getFlashlightTurnedOnTimer();
         public abstract Timer getCameraTurnedOnTimer();
@@ -857,8 +876,10 @@
         public abstract int getUserActivityCount(int type, int which);
 
         public abstract boolean hasNetworkActivity();
+        @UnsupportedAppUsage
         public abstract long getNetworkActivityBytes(int type, int which);
         public abstract long getNetworkActivityPackets(int type, int which);
+        @UnsupportedAppUsage
         public abstract long getMobileRadioActiveTime(int which);
         public abstract int getMobileRadioActiveCount(int which);
 
@@ -918,10 +939,13 @@
              * the sensor HAL, and therefore out of our control
              */
             // Magic sensor number for the GPS.
+            @UnsupportedAppUsage
             public static final int GPS = -10000;
 
+            @UnsupportedAppUsage
             public abstract int getHandle();
 
+            @UnsupportedAppUsage
             public abstract Timer getSensorTime();
 
             /** Returns a Timer for sensor usage when app is in the background. */
@@ -943,8 +967,11 @@
                 public static final int TYPE_WAKE = 1;
                 public static final int TYPE_CPU = 2;
 
+                @UnsupportedAppUsage
                 public int type;
+                @UnsupportedAppUsage
                 public long overTime;
+                @UnsupportedAppUsage
                 public long usedTime;
             }
 
@@ -958,6 +985,7 @@
              *
              * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT.
              */
+            @UnsupportedAppUsage
             public abstract long getUserTime(int which);
 
             /**
@@ -965,6 +993,7 @@
              *
              * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT.
              */
+            @UnsupportedAppUsage
             public abstract long getSystemTime(int which);
 
             /**
@@ -972,6 +1001,7 @@
              *
              * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT.
              */
+            @UnsupportedAppUsage
             public abstract int getStarts(int which);
 
             /**
@@ -993,10 +1023,13 @@
              * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT.
              * @return foreground cpu time in microseconds
              */
+            @UnsupportedAppUsage
             public abstract long getForegroundTime(int which);
 
+            @UnsupportedAppUsage
             public abstract int countExcessivePowers();
 
+            @UnsupportedAppUsage
             public abstract ExcessivePower getExcessivePower(int i);
         }
 
@@ -1010,11 +1043,13 @@
              * package.  The mapping keys are tag names for the alarms, the counter contains
              * the number of times the alarm was triggered while on battery.
              */
+            @UnsupportedAppUsage
             public abstract ArrayMap<String, ? extends Counter> getWakeupAlarmStats();
 
             /**
              * Returns a mapping containing service statistics.
              */
+            @UnsupportedAppUsage
             public abstract ArrayMap<String, ? extends Serv> getServiceStats();
 
             /**
@@ -1029,6 +1064,7 @@
                  * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT.
                  * @return
                  */
+                @UnsupportedAppUsage
                 public abstract long getStartTime(long batteryUptime, int which);
 
                 /**
@@ -1036,6 +1072,7 @@
                  *
                  * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT.
                  */
+                @UnsupportedAppUsage
                 public abstract int getStarts(int which);
 
                 /**
@@ -1043,6 +1080,7 @@
                  *
                  * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT.
                  */
+                @UnsupportedAppUsage
                 public abstract int getLaunches(int which);
             }
         }
@@ -1505,8 +1543,10 @@
         public HistoryItem next;
 
         // The time of this event in milliseconds, as per SystemClock.elapsedRealtime().
+        @UnsupportedAppUsage
         public long time;
 
+        @UnsupportedAppUsage
         public static final byte CMD_UPDATE = 0;        // These can be written as deltas
         public static final byte CMD_NULL = -1;
         public static final byte CMD_START = 4;
@@ -1515,6 +1555,7 @@
         public static final byte CMD_RESET = 7;
         public static final byte CMD_SHUTDOWN = 8;
 
+        @UnsupportedAppUsage
         public byte cmd = CMD_NULL;
 
         /**
@@ -1524,12 +1565,17 @@
             return cmd == CMD_UPDATE;
         }
 
+        @UnsupportedAppUsage
         public byte batteryLevel;
+        @UnsupportedAppUsage
         public byte batteryStatus;
+        @UnsupportedAppUsage
         public byte batteryHealth;
+        @UnsupportedAppUsage
         public byte batteryPlugType;
 
         public short batteryTemperature;
+        @UnsupportedAppUsage
         public char batteryVoltage;
 
         // The charge of the battery in micro-Ampere-hours.
@@ -1579,6 +1625,7 @@
 
         public static final int SETTLE_TO_ZERO_STATES = 0xffff0000 & ~MOST_INTERESTING_STATES;
 
+        @UnsupportedAppUsage
         public int states;
 
         // Constants from WIFI_SUPPL_STATE_*
@@ -1614,6 +1661,7 @@
 
         public static final int SETTLE_TO_ZERO_STATES2 = 0xffff0000 & ~MOST_INTERESTING_STATES2;
 
+        @UnsupportedAppUsage
         public int states2;
 
         // The wake lock that was acquired at this point.
@@ -1722,6 +1770,7 @@
         public final HistoryTag localWakeReasonTag = new HistoryTag();
         public final HistoryTag localEventTag = new HistoryTag();
 
+        @UnsupportedAppUsage
         public HistoryItem() {
         }
 
@@ -2023,6 +2072,7 @@
 
     public abstract int getHistoryUsedSize();
 
+    @UnsupportedAppUsage
     public abstract boolean startIteratingHistoryLocked();
 
     public abstract int getHistoryStringPoolSize();
@@ -2033,6 +2083,7 @@
 
     public abstract int getHistoryTagPoolUid(int index);
 
+    @UnsupportedAppUsage
     public abstract boolean getNextHistoryLocked(HistoryItem out);
 
     public abstract void finishIteratingHistoryLocked();
@@ -2059,6 +2110,7 @@
      *
      * {@hide}
      */
+    @UnsupportedAppUsage
     public abstract long getScreenOnTime(long elapsedRealtimeUs, int which);
 
     /**
@@ -2099,6 +2151,7 @@
         "0", "1", "2", "3", "4"
     };
 
+    @UnsupportedAppUsage
     public static final int NUM_SCREEN_BRIGHTNESS_BINS = 5;
 
     /**
@@ -2107,6 +2160,7 @@
      *
      * {@hide}
      */
+    @UnsupportedAppUsage
     public abstract long getScreenBrightnessTime(int brightnessBin,
             long elapsedRealtimeUs, int which);
 
@@ -2215,6 +2269,7 @@
      *
      * {@hide}
      */
+    @UnsupportedAppUsage
     public abstract long getPhoneOnTime(long elapsedRealtimeUs, int which);
 
     /**
@@ -2230,6 +2285,7 @@
      *
      * {@hide}
      */
+    @UnsupportedAppUsage
     public abstract long getPhoneSignalStrengthTime(int strengthBin,
             long elapsedRealtimeUs, int which);
 
@@ -2313,6 +2369,7 @@
         "other"
     };
 
+    @UnsupportedAppUsage
     public static final int NUM_DATA_CONNECTION_TYPES = DATA_CONNECTION_OTHER+1;
 
     /**
@@ -2475,6 +2532,7 @@
      *
      * {@hide}
      */
+    @UnsupportedAppUsage
     public abstract long getWifiOnTime(long elapsedRealtimeUs, int which);
 
     /**
@@ -2491,6 +2549,7 @@
      *
      * {@hide}
      */
+    @UnsupportedAppUsage
     public abstract long getGlobalWifiRunningTime(long elapsedRealtimeUs, int which);
 
     public static final int WIFI_STATE_OFF = 0;
@@ -2696,6 +2755,7 @@
     /**
      * Returns a SparseArray containing the statistics for each uid.
      */
+    @UnsupportedAppUsage
     public abstract SparseArray<? extends Uid> getUidStats();
 
     /**
@@ -2703,6 +2763,7 @@
      *
      * @param curTime the amount of elapsed realtime in microseconds.
      */
+    @UnsupportedAppUsage
     public abstract long getBatteryUptime(long curTime);
 
     /**
@@ -2783,6 +2844,7 @@
      * @param curTime the elapsed realtime in microseconds.
      * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT.
      */
+    @UnsupportedAppUsage
     public abstract long computeBatteryUptime(long curTime, int which);
 
     /**
@@ -2791,6 +2853,7 @@
      * @param curTime the current elapsed realtime in microseconds.
      * @param which one of STATS_SINCE_CHARGED, STATS_SINCE_UNPLUGGED, or STATS_CURRENT.
      */
+    @UnsupportedAppUsage
     public abstract long computeBatteryRealtime(long curTime, int which);
 
     /**
@@ -2833,6 +2896,7 @@
      *
      * @param curTime The current elepsed realtime in microseconds.
      */
+    @UnsupportedAppUsage
     public abstract long computeBatteryTimeRemaining(long curTime);
 
     // The part of a step duration that is the actual time.
@@ -2967,6 +3031,7 @@
      *
      * @param curTime The current elepsed realtime in microseconds.
      */
+    @UnsupportedAppUsage
     public abstract long computeChargeTimeRemaining(long curTime);
 
     /**
@@ -3251,6 +3316,7 @@
      * @param type type of data (e.g. "wakelock", "sensor", "process", "apk" ,  "process", "network")
      * @param args type-dependent data arguments
      */
+    @UnsupportedAppUsage
     private static final void dumpLine(PrintWriter pw, int uid, String category, String type,
            Object... args ) {
         dumpLineHeader(pw, uid, category, type);
@@ -4761,6 +4827,9 @@
         sb.append(")");
         pw.println(sb.toString());
 
+        printControllerActivity(pw, sb, prefix, CELLULAR_CONTROLLER_NAME,
+                getModemControllerActivity(), which);
+
         pw.print("     Cellular data received: "); pw.println(formatBytesLocked(mobileRxTotalBytes));
         pw.print("     Cellular data sent: "); pw.println(formatBytesLocked(mobileTxTotalBytes));
         pw.print("     Cellular packets received: "); pw.println(mobileRxTotalPackets);
@@ -4818,9 +4887,6 @@
         if (!didOne) sb.append(" (no activity)");
         pw.println(sb.toString());
 
-        printControllerActivity(pw, sb, prefix, CELLULAR_CONTROLLER_NAME,
-            getModemControllerActivity(), which);
-
         pw.print(prefix);
         sb.setLength(0);
         sb.append(prefix);
@@ -4837,6 +4903,9 @@
         sb.append(")");
         pw.println(sb.toString());
 
+        printControllerActivity(pw, sb, prefix, WIFI_CONTROLLER_NAME,
+                getWifiControllerActivity(), which);
+
         pw.print("     Wifi data received: "); pw.println(formatBytesLocked(wifiRxTotalBytes));
         pw.print("     Wifi data sent: "); pw.println(formatBytesLocked(wifiTxTotalBytes));
         pw.print("     Wifi packets received: "); pw.println(wifiRxTotalPackets);
@@ -4914,9 +4983,6 @@
         if (!didOne) sb.append(" (no activity)");
         pw.println(sb.toString());
 
-        printControllerActivity(pw, sb, prefix, WIFI_CONTROLLER_NAME,
-            getWifiControllerActivity(), which);
-
         pw.print(prefix);
         sb.setLength(0);
         sb.append(prefix);
@@ -4949,8 +5015,10 @@
             pw.print(prefix);
             sb.setLength(0);
             sb.append(prefix);
-            sb.append("     Battery Drain (mAh): ");
-            sb.append(Double.toString(((double) gpsBatteryDrainMaMs)/(3600 * 1000)));
+            sb.append("     GPS Battery Drain: ");
+            sb.append(new DecimalFormat("#.##").format(
+                    ((double) gpsBatteryDrainMaMs) / (3600 * 1000)));
+            sb.append("mAh");
             pw.println(sb.toString());
         }
 
diff --git a/core/java/android/os/Binder.java b/core/java/android/os/Binder.java
index b28c2f4..eb91860 100644
--- a/core/java/android/os/Binder.java
+++ b/core/java/android/os/Binder.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.util.ExceptionUtils;
 import android.util.Log;
 import android.util.Slog;
@@ -247,6 +248,7 @@
     /**
      * Raw native pointer to JavaBBinderHolder object. Owned by this Java object. Not null.
      */
+    @UnsupportedAppUsage
     private final long mObject;
 
     private IInterface mOwner;
@@ -653,7 +655,8 @@
          *
          * @return an object that will be passed back to #onTransactEnded (or null).
          */
-        Object onTransactStarted(IBinder binder, int transactionCode);
+        @Nullable
+        Object onTransactStarted(@NonNull IBinder binder, int transactionCode);
 
         /**
          * Called after onTranact (even when an exception is thrown).
@@ -989,6 +992,7 @@
     }
 
     // Entry point from android_util_Binder.cpp's onTransact
+    @UnsupportedAppUsage
     private boolean execTransact(int code, long dataObj, long replyObj,
             int flags) {
         // At that point, the parcel request headers haven't been parsed so we do not know what
diff --git a/core/java/android/os/Broadcaster.java b/core/java/android/os/Broadcaster.java
index 70dcdd8..6ac7f1a 100644
--- a/core/java/android/os/Broadcaster.java
+++ b/core/java/android/os/Broadcaster.java
@@ -16,9 +16,12 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
+
 /** @hide */
 public class Broadcaster
 {
+    @UnsupportedAppUsage
     public Broadcaster()
     {
     }
@@ -29,6 +32,7 @@
      *  When this broadcaster pushes a message with senderWhat in the what field,
      *  target will be sent a copy of that message with targetWhat in the what field.
      */
+    @UnsupportedAppUsage
     public void request(int senderWhat, Handler target, int targetWhat)
     {
         synchronized (this) {
@@ -96,6 +100,7 @@
     /**
      * Unregister for notifications for this senderWhat/target/targetWhat tuple.
      */
+    @UnsupportedAppUsage
     public void cancelRequest(int senderWhat, Handler target, int targetWhat)
     {
         synchronized (this) {
@@ -168,6 +173,7 @@
      * Send out msg.  Anyone who has registered via the request() method will be
      * sent the message.
      */
+    @UnsupportedAppUsage
     public void broadcast(Message msg)
     {
         synchronized (this) {
diff --git a/core/java/android/os/BugreportManager.java b/core/java/android/os/BugreportManager.java
index 684369a..f87abde 100644
--- a/core/java/android/os/BugreportManager.java
+++ b/core/java/android/os/BugreportManager.java
@@ -17,6 +17,7 @@
 package android.os;
 
 import android.annotation.CallbackExecutor;
+import android.annotation.FloatRange;
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
@@ -27,6 +28,8 @@
 
 import com.android.internal.util.Preconditions;
 
+import libcore.io.IoUtils;
+
 import java.io.FileDescriptor;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -39,7 +42,7 @@
  */
 @SystemApi
 @SystemService(Context.BUGREPORT_SERVICE)
-public class BugreportManager {
+public final class BugreportManager {
     private final Context mContext;
     private final IDumpstate mBinder;
 
@@ -90,7 +93,7 @@
          * Called when there is a progress update.
          * @param progress the progress in [0.0, 100.0]
          */
-        public void onProgress(float progress) {}
+        public void onProgress(@FloatRange(from = 0f, to = 100f) float progress) {}
 
         /**
          * Called when taking bugreport resulted in an error.
@@ -123,6 +126,8 @@
      * <p>The bugreport artifacts will be copied over to the given file descriptors only if the
      * user consents to sharing with the calling app.
      *
+     * <p>{@link BugreportManager} takes ownership of {@code bugreportFd} and {@code screenshotFd}.
+     *
      * @param bugreportFd file to write the bugreport. This should be opened in write-only,
      *     append mode.
      * @param screenshotFd file to write the screenshot, if necessary. This should be opened
@@ -136,12 +141,13 @@
             @NonNull BugreportParams params,
             @NonNull @CallbackExecutor Executor executor,
             @NonNull BugreportCallback callback) {
-        Preconditions.checkNotNull(bugreportFd);
-        Preconditions.checkNotNull(params);
-        Preconditions.checkNotNull(executor);
-        Preconditions.checkNotNull(callback);
-        DumpstateListener dsListener = new DumpstateListener(executor, callback);
         try {
+            Preconditions.checkNotNull(bugreportFd);
+            Preconditions.checkNotNull(params);
+            Preconditions.checkNotNull(executor);
+            Preconditions.checkNotNull(callback);
+
+            DumpstateListener dsListener = new DumpstateListener(executor, callback);
             // Note: mBinder can get callingUid from the binder transaction.
             mBinder.startBugreport(-1 /* callingUid */,
                     mContext.getOpPackageName(),
@@ -151,6 +157,12 @@
                     params.getMode(), dsListener);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
+        } finally {
+            // We can close the file descriptors here because binder would have duped them.
+            IoUtils.closeQuietly(bugreportFd);
+            if (screenshotFd != null) {
+                IoUtils.closeQuietly(screenshotFd);
+            }
         }
     }
 
@@ -170,7 +182,7 @@
         private final Executor mExecutor;
         private final BugreportCallback mCallback;
 
-        DumpstateListener(Executor executor, @Nullable BugreportCallback callback) {
+        DumpstateListener(Executor executor, BugreportCallback callback) {
             mExecutor = executor;
             mCallback = callback;
         }
@@ -208,8 +220,6 @@
                 });
             } finally {
                 Binder.restoreCallingIdentity(identity);
-                // The bugreport has finished. Let's shutdown the service to minimize its footprint.
-                cancelBugreport();
             }
         }
 
diff --git a/core/java/android/os/BugreportParams.java b/core/java/android/os/BugreportParams.java
index 3871375..279ccae 100644
--- a/core/java/android/os/BugreportParams.java
+++ b/core/java/android/os/BugreportParams.java
@@ -41,6 +41,7 @@
 
     /**
      * Defines acceptable types of bugreports.
+     * @hide
      */
     @Retention(RetentionPolicy.SOURCE)
     @IntDef(prefix = { "BUGREPORT_MODE_" }, value = {
diff --git a/core/java/android/os/Build.java b/core/java/android/os/Build.java
index 0425c62..94c8b91 100755
--- a/core/java/android/os/Build.java
+++ b/core/java/android/os/Build.java
@@ -22,6 +22,7 @@
 import android.annotation.SuppressAutoDoc;
 import android.annotation.SystemApi;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityThread;
 import android.app.Application;
 import android.content.Context;
@@ -306,7 +307,7 @@
          * @hide
          */
         @SystemApi
-        public static final String PREVIEW_SDK_FINGERPRINT = SystemProperties.get(
+        @NonNull public static final String PREVIEW_SDK_FINGERPRINT = SystemProperties.get(
                 "ro.build.version.preview_sdk_fingerprint", "REL");
 
         /**
@@ -321,6 +322,7 @@
         /**
          * @hide
          */
+        @UnsupportedAppUsage
         public static final String[] ACTIVE_CODENAMES = "REL".equals(ALL_CODENAMES[0])
                 ? new String[0] : ALL_CODENAMES;
 
@@ -1202,6 +1204,7 @@
      * Returns true if we are running a debug build such as "user-debug" or "eng".
      * @hide
      */
+    @UnsupportedAppUsage
     public static final boolean IS_DEBUGGABLE =
             SystemProperties.getInt("ro.debuggable", 0) == 1;
 
@@ -1249,6 +1252,7 @@
         return TextUtils.isEmpty(propVal) ? null : propVal;
     }
 
+    @UnsupportedAppUsage
     private static String getString(String property) {
         return SystemProperties.get(property, UNKNOWN);
     }
@@ -1262,6 +1266,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private static long getLong(String property) {
         try {
             return Long.parseLong(SystemProperties.get(property));
diff --git a/core/java/android/os/Bundle.java b/core/java/android/os/Bundle.java
index 8e6a554..6432c24 100644
--- a/core/java/android/os/Bundle.java
+++ b/core/java/android/os/Bundle.java
@@ -17,6 +17,7 @@
 package android.os;
 
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.util.ArrayMap;
 import android.util.Size;
 import android.util.SizeF;
@@ -173,6 +174,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static Bundle forPair(String key, String value) {
         Bundle b = new Bundle(1);
         b.putString(key, value);
@@ -229,6 +231,7 @@
     }
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public static Bundle setDefusable(Bundle bundle, boolean defusable) {
         if (bundle != null) {
             bundle.setDefusable(defusable);
@@ -303,6 +306,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public int getSize() {
         if (mParcelledData != null) {
             return mParcelledData.dataSize();
@@ -385,6 +389,7 @@
      * Filter values in Bundle to only basic types.
      * @hide
      */
+    @UnsupportedAppUsage
     public Bundle filterValues() {
         unparcel();
         Bundle bundle = this;
@@ -557,6 +562,7 @@
     }
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public void putParcelableList(String key, List<? extends Parcelable> value) {
         unparcel();
         mMap.put(key, value);
@@ -728,6 +734,7 @@
      * @deprecated
      * @hide This is the old name of the function.
      */
+    @UnsupportedAppUsage
     @Deprecated
     public void putIBinder(@Nullable String key, @Nullable IBinder value) {
         unparcel();
@@ -1180,6 +1187,7 @@
      * @deprecated
      * @hide This is the old name of the function.
      */
+    @UnsupportedAppUsage
     @Deprecated
     @Nullable
     public IBinder getIBinder(@Nullable String key) {
diff --git a/core/java/android/os/Debug.java b/core/java/android/os/Debug.java
index a395ed4..1213eea 100644
--- a/core/java/android/os/Debug.java
+++ b/core/java/android/os/Debug.java
@@ -18,6 +18,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.app.AppGlobals;
 import android.content.Context;
 import android.util.Log;
@@ -87,6 +88,7 @@
     // set/cleared by waitForDebugger()
     private static volatile boolean mWaiting = false;
 
+    @UnsupportedAppUsage
     private Debug() {}
 
     /*
@@ -115,8 +117,10 @@
         public int dalvikPss;
         /** The proportional set size that is swappable for dalvik heap. */
         /** @hide We may want to expose this, eventually. */
+        @UnsupportedAppUsage
         public int dalvikSwappablePss;
         /** @hide The resident set size for dalvik heap.  (Without other Dalvik overhead.) */
+        @UnsupportedAppUsage
         public int dalvikRss;
         /** The private dirty pages used by dalvik heap. */
         public int dalvikPrivateDirty;
@@ -124,23 +128,29 @@
         public int dalvikSharedDirty;
         /** The private clean pages used by dalvik heap. */
         /** @hide We may want to expose this, eventually. */
+        @UnsupportedAppUsage
         public int dalvikPrivateClean;
         /** The shared clean pages used by dalvik heap. */
         /** @hide We may want to expose this, eventually. */
+        @UnsupportedAppUsage
         public int dalvikSharedClean;
         /** The dirty dalvik pages that have been swapped out. */
         /** @hide We may want to expose this, eventually. */
+        @UnsupportedAppUsage
         public int dalvikSwappedOut;
         /** The dirty dalvik pages that have been swapped out, proportional. */
         /** @hide We may want to expose this, eventually. */
+        @UnsupportedAppUsage
         public int dalvikSwappedOutPss;
 
         /** The proportional set size for the native heap. */
         public int nativePss;
         /** The proportional set size that is swappable for the native heap. */
         /** @hide We may want to expose this, eventually. */
+        @UnsupportedAppUsage
         public int nativeSwappablePss;
         /** @hide The resident set size for the native heap. */
+        @UnsupportedAppUsage
         public int nativeRss;
         /** The private dirty pages used by the native heap. */
         public int nativePrivateDirty;
@@ -148,23 +158,29 @@
         public int nativeSharedDirty;
         /** The private clean pages used by the native heap. */
         /** @hide We may want to expose this, eventually. */
+        @UnsupportedAppUsage
         public int nativePrivateClean;
         /** The shared clean pages used by the native heap. */
         /** @hide We may want to expose this, eventually. */
+        @UnsupportedAppUsage
         public int nativeSharedClean;
         /** The dirty native pages that have been swapped out. */
         /** @hide We may want to expose this, eventually. */
+        @UnsupportedAppUsage
         public int nativeSwappedOut;
         /** The dirty native pages that have been swapped out, proportional. */
         /** @hide We may want to expose this, eventually. */
+        @UnsupportedAppUsage
         public int nativeSwappedOutPss;
 
         /** The proportional set size for everything else. */
         public int otherPss;
         /** The proportional set size that is swappable for everything else. */
         /** @hide We may want to expose this, eventually. */
+        @UnsupportedAppUsage
         public int otherSwappablePss;
         /** @hide The resident set size for everything else. */
+        @UnsupportedAppUsage
         public int otherRss;
         /** The private dirty pages used by everything else. */
         public int otherPrivateDirty;
@@ -172,19 +188,24 @@
         public int otherSharedDirty;
         /** The private clean pages used by everything else. */
         /** @hide We may want to expose this, eventually. */
+        @UnsupportedAppUsage
         public int otherPrivateClean;
         /** The shared clean pages used by everything else. */
         /** @hide We may want to expose this, eventually. */
+        @UnsupportedAppUsage
         public int otherSharedClean;
         /** The dirty pages used by anyting else that have been swapped out. */
         /** @hide We may want to expose this, eventually. */
+        @UnsupportedAppUsage
         public int otherSwappedOut;
         /** The dirty pages used by anyting else that have been swapped out, proportional. */
         /** @hide We may want to expose this, eventually. */
+        @UnsupportedAppUsage
         public int otherSwappedOutPss;
 
         /** Whether the kernel reports proportional swap usage */
         /** @hide */
+        @UnsupportedAppUsage
         public boolean hasSwappedOutPss;
 
         /** @hide */
@@ -231,6 +252,7 @@
 
         // Needs to be declared here for the DVK_STAT ranges below.
         /** @hide */
+        @UnsupportedAppUsage
         public static final int NUM_OTHER_STATS = 17;
 
         // Dalvik subsections.
@@ -291,6 +313,7 @@
         public static final int OTHER_DVK_STAT_ART_END = OTHER_ART_BOOT - NUM_OTHER_STATS;
 
         /** @hide */
+        @UnsupportedAppUsage
         public static final int NUM_DVK_STATS = 14;
 
         /** @hide */
@@ -315,6 +338,7 @@
         /** @hide */
         public static final int OFFSET_SWAPPED_OUT_PSS = 8;
 
+        @UnsupportedAppUsage
         private int[] otherStats = new int[(NUM_OTHER_STATS+NUM_DVK_STATS)*NUM_CATEGORIES];
 
         public MemoryInfo() {
@@ -369,6 +393,7 @@
         /**
          * @hide Return total PSS memory usage in kB.
          */
+        @UnsupportedAppUsage
         public int getTotalUss() {
             return dalvikPrivateClean + dalvikPrivateDirty
                     + nativePrivateClean + nativePrivateDirty
@@ -435,6 +460,7 @@
         }
 
         /** @hide */
+        @UnsupportedAppUsage
         public int getOtherPss(int which) {
             return otherStats[which * NUM_CATEGORIES + OFFSET_PSS];
         }
@@ -450,11 +476,13 @@
         }
 
         /** @hide */
+        @UnsupportedAppUsage
         public int getOtherPrivateDirty(int which) {
             return otherStats[which * NUM_CATEGORIES + OFFSET_PRIVATE_DIRTY];
         }
 
         /** @hide */
+        @UnsupportedAppUsage
         public int getOtherSharedDirty(int which) {
             return otherStats[which * NUM_CATEGORIES + OFFSET_SHARED_DIRTY];
         }
@@ -465,6 +493,7 @@
         }
 
         /** @hide */
+        @UnsupportedAppUsage
         public int getOtherPrivate(int which) {
           return getOtherPrivateClean(which) + getOtherPrivateDirty(which);
         }
@@ -485,6 +514,7 @@
         }
 
         /** @hide */
+        @UnsupportedAppUsage
         public static String getOtherLabel(int which) {
             switch (which) {
                 case OTHER_DALVIK_OTHER: return "Dalvik Other";
@@ -662,6 +692,7 @@
          *    such thing as private clean for the Java Heap.
          * @hide
          */
+        @UnsupportedAppUsage
         public int getSummaryJavaHeap() {
             return dalvikPrivateDirty + getOtherPrivate(OTHER_ART);
         }
@@ -674,6 +705,7 @@
          *    such thing as private clean for the Native Heap.
          * @hide
          */
+        @UnsupportedAppUsage
         public int getSummaryNativeHeap() {
             return nativePrivateDirty;
         }
@@ -683,6 +715,7 @@
          * the application.
          * @hide
          */
+        @UnsupportedAppUsage
         public int getSummaryCode() {
             return getOtherPrivate(OTHER_SO)
               + getOtherPrivate(OTHER_JAR)
@@ -701,6 +734,7 @@
          *    such thing as private clean for the stack.
          * @hide
          */
+        @UnsupportedAppUsage
         public int getSummaryStack() {
             return getOtherPrivateDirty(OTHER_STACK);
         }
@@ -716,6 +750,7 @@
          *    memory into the System category.
          * @hide
          */
+        @UnsupportedAppUsage
         public int getSummaryGraphics() {
             return getOtherPrivate(OTHER_GL_DEV)
               + getOtherPrivate(OTHER_GRAPHICS)
@@ -727,6 +762,7 @@
          * accounted for.
          * @hide
          */
+        @UnsupportedAppUsage
         public int getSummaryPrivateOther() {
             return getTotalPrivateClean()
               + getTotalPrivateDirty()
@@ -743,6 +779,7 @@
          *  * Includes all shared memory.
          * @hide
          */
+        @UnsupportedAppUsage
         public int getSummarySystem() {
             return getTotalPss()
               - getTotalPrivateClean()
@@ -1782,6 +1819,7 @@
      * as the caller.
      * @hide
      */
+    @UnsupportedAppUsage
     public static native void getMemoryInfo(int pid, MemoryInfo memoryInfo);
 
     /**
@@ -1837,6 +1875,7 @@
      * as defined by MEMINFO_* offsets.
      * @hide
      */
+    @UnsupportedAppUsage
     public static native void getMemInfo(long[] outSizes);
 
     /**
@@ -1925,6 +1964,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static native void dumpNativeHeap(FileDescriptor fd);
 
     /**
@@ -1939,6 +1979,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static long countInstancesOfClass(Class cls) {
         return VMDebug.countInstancesOfClass(cls, true);
     }
@@ -1998,6 +2039,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static final void dumpReferenceTables() {
         VMDebug.dumpReferenceTables();
     }
@@ -2364,6 +2406,7 @@
      * @return a string describing the call stack.
      * {@hide}
      */
+    @UnsupportedAppUsage
     public static String getCallers(final int depth) {
         final StackTraceElement[] callStack = Thread.currentThread().getStackTrace();
         StringBuffer sb = new StringBuffer();
@@ -2410,6 +2453,7 @@
      * @return a String describing the immediate caller of the calling method.
      * {@hide}
      */
+    @UnsupportedAppUsage
     public static String getCaller() {
         return getCaller(Thread.currentThread().getStackTrace(), 0);
     }
diff --git a/core/java/android/os/DropBoxManager.java b/core/java/android/os/DropBoxManager.java
index 1be7b6b..320f471 100644
--- a/core/java/android/os/DropBoxManager.java
+++ b/core/java/android/os/DropBoxManager.java
@@ -24,6 +24,7 @@
 import android.annotation.SdkConstant;
 import android.annotation.SdkConstant.SdkConstantType;
 import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.util.Log;
 
@@ -50,6 +51,7 @@
     private static final String TAG = "DropBoxManager";
 
     private final Context mContext;
+    @UnsupportedAppUsage
     private final IDropBoxManagerService mService;
 
     /** Flag value: Entry's content was deleted to save space. */
diff --git a/core/java/android/os/Environment.java b/core/java/android/os/Environment.java
index b3e35b6..cceb6ed 100644
--- a/core/java/android/os/Environment.java
+++ b/core/java/android/os/Environment.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.SystemApi;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
 import android.os.storage.StorageManager;
@@ -74,6 +75,7 @@
     private static final File DIR_PRODUCT_SERVICES_ROOT = getDirectory(ENV_PRODUCT_SERVICES_ROOT,
                                                            "/product_services");
 
+    @UnsupportedAppUsage
     private static UserEnvironment sCurrentUser;
     private static boolean sUserRequired;
 
@@ -82,6 +84,7 @@
     }
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public static void initForCurrentUser() {
         final int userId = UserHandle.myUserId();
         sCurrentUser = new UserEnvironment(userId);
@@ -91,10 +94,12 @@
     public static class UserEnvironment {
         private final int mUserId;
 
+        @UnsupportedAppUsage
         public UserEnvironment(int userId) {
             mUserId = userId;
         }
 
+        @UnsupportedAppUsage
         public File[] getExternalDirs() {
             final StorageVolume[] volumes = StorageManager.getVolumeList(mUserId,
                     StorageManager.FLAG_FOR_WRITE);
@@ -105,11 +110,13 @@
             return files;
         }
 
+        @UnsupportedAppUsage
         @Deprecated
         public File getExternalStorageDirectory() {
             return getExternalDirs()[0];
         }
 
+        @UnsupportedAppUsage
         @Deprecated
         public File getExternalStoragePublicDirectory(String type) {
             return buildExternalStoragePublicDirs(type)[0];
@@ -278,6 +285,7 @@
     }
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public static File getDataSystemDirectory() {
         return new File(getDataDirectory(), "system");
     }
@@ -389,7 +397,7 @@
 
     /** {@hide} */
     public static File getDataStagingDirectory(String volumeUuid) {
-        return new File(getDataDirectory(volumeUuid), "pkg_staging");
+        return new File(getDataDirectory(volumeUuid), "app-staging");
     }
 
     /** {@hide} */
@@ -553,11 +561,13 @@
     }
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public static File getLegacyExternalStorageDirectory() {
         return new File(System.getenv(ENV_EXTERNAL_STORAGE));
     }
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public static File getLegacyExternalStorageObbDirectory() {
         return buildPath(getLegacyExternalStorageDirectory(), DIR_ANDROID, DIR_OBB);
     }
@@ -839,6 +849,7 @@
      * Returns the path for android-specific data on the SD card.
      * @hide
      */
+    @UnsupportedAppUsage
     public static File[] buildExternalStorageAndroidDataDirs() {
         throwIfUserRequired();
         return sCurrentUser.buildExternalStorageAndroidDataDirs();
@@ -848,6 +859,7 @@
      * Generates the raw path to an application's data
      * @hide
      */
+    @UnsupportedAppUsage
     public static File[] buildExternalStorageAppDataDirs(String packageName) {
         throwIfUserRequired();
         return sCurrentUser.buildExternalStorageAppDataDirs(packageName);
@@ -857,6 +869,7 @@
      * Generates the raw path to an application's media
      * @hide
      */
+    @UnsupportedAppUsage
     public static File[] buildExternalStorageAppMediaDirs(String packageName) {
         throwIfUserRequired();
         return sCurrentUser.buildExternalStorageAppMediaDirs(packageName);
@@ -866,6 +879,7 @@
      * Generates the raw path to an application's OBB files
      * @hide
      */
+    @UnsupportedAppUsage
     public static File[] buildExternalStorageAppObbDirs(String packageName) {
         throwIfUserRequired();
         return sCurrentUser.buildExternalStorageAppObbDirs(packageName);
@@ -875,6 +889,7 @@
      * Generates the path to an application's files.
      * @hide
      */
+    @UnsupportedAppUsage
     public static File[] buildExternalStorageAppFilesDirs(String packageName) {
         throwIfUserRequired();
         return sCurrentUser.buildExternalStorageAppFilesDirs(packageName);
@@ -884,6 +899,7 @@
      * Generates the path to an application's cache.
      * @hide
      */
+    @UnsupportedAppUsage
     public static File[] buildExternalStorageAppCacheDirs(String packageName) {
         throwIfUserRequired();
         return sCurrentUser.buildExternalStorageAppCacheDirs(packageName);
@@ -1118,6 +1134,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static File[] buildPaths(File[] base, String... segments) {
         File[] result = new File[base.length];
         for (int i = 0; i < base.length; i++) {
@@ -1157,6 +1174,7 @@
      * @deprecated disabled now that FUSE has been replaced by sdcardfs
      * @hide
      */
+    @UnsupportedAppUsage
     @Deprecated
     public static File maybeTranslateEmulatedPathToInternal(File path) {
         return StorageManager.maybeTranslateEmulatedPathToInternal(path);
diff --git a/core/java/android/os/FileObserver.java b/core/java/android/os/FileObserver.java
index 330bde5..4d9ebc2 100644
--- a/core/java/android/os/FileObserver.java
+++ b/core/java/android/os/FileObserver.java
@@ -19,6 +19,7 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.util.Log;
 
 import java.io.File;
@@ -141,6 +142,7 @@
             stopWatching(m_fd, descriptors);
         }
 
+        @UnsupportedAppUsage
         public void onEvent(int wfd, @NotifyEventType int mask, String path) {
             // look up our observer, fixing up the map if necessary...
             FileObserver observer = null;
@@ -172,6 +174,7 @@
         private native void stopWatching(int fd, int[] wfds);
     }
 
+    @UnsupportedAppUsage
     private static ObserverThread s_observerThread;
 
     static {
diff --git a/core/java/android/os/FileUtils.java b/core/java/android/os/FileUtils.java
index 316572c..f789b72 100644
--- a/core/java/android/os/FileUtils.java
+++ b/core/java/android/os/FileUtils.java
@@ -40,6 +40,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.content.ContentResolver;
 import android.provider.DocumentsContract.Document;
 import android.system.ErrnoException;
@@ -103,6 +104,7 @@
     /** {@hide} */ public static final int S_IWOTH = 00002;
     /** {@hide} */ public static final int S_IXOTH = 00001;
 
+    @UnsupportedAppUsage
     private FileUtils() {
     }
 
@@ -135,6 +137,7 @@
      * @return 0 on success, otherwise errno.
      * @hide
      */
+    @UnsupportedAppUsage
     public static int setPermissions(File path, int mode, int uid, int gid) {
         return setPermissions(path.getAbsolutePath(), mode, uid, gid);
     }
@@ -148,6 +151,7 @@
      * @return 0 on success, otherwise errno.
      * @hide
      */
+    @UnsupportedAppUsage
     public static int setPermissions(String path, int mode, int uid, int gid) {
         try {
             Os.chmod(path, mode);
@@ -177,6 +181,7 @@
      * @return 0 on success, otherwise errno.
      * @hide
      */
+    @UnsupportedAppUsage
     public static int setPermissions(FileDescriptor fd, int mode, int uid, int gid) {
         try {
             Os.fchmod(fd, mode);
@@ -233,6 +238,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static boolean sync(FileOutputStream stream) {
         try {
             if (stream != null) {
@@ -248,6 +254,7 @@
      * @deprecated use {@link #copy(File, File)} instead.
      * @hide
      */
+    @UnsupportedAppUsage
     @Deprecated
     public static boolean copyFile(File srcFile, File destFile) {
         try {
@@ -273,6 +280,7 @@
      * @deprecated use {@link #copy(InputStream, OutputStream)} instead.
      * @hide
      */
+    @UnsupportedAppUsage
     @Deprecated
     public static boolean copyToFile(InputStream inputStream, File destFile) {
         try {
@@ -584,6 +592,7 @@
      * @param file  The file to check
      * @hide
      */
+    @UnsupportedAppUsage
     public static boolean isFilenameSafe(File file) {
         // Note, we check whether it matches what's known to be safe,
         // rather than what's known to be unsafe.  Non-ASCII, control
@@ -600,6 +609,7 @@
      * @throws IOException if something goes wrong reading the file
      * @hide
      */
+    @UnsupportedAppUsage
     public static String readTextFile(File file, int max, String ellipsis) throws IOException {
         InputStream input = new FileInputStream(file);
         // wrapping a BufferedInputStream around it because when reading /proc with unbuffered
@@ -654,6 +664,7 @@
     }
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public static void stringToFile(File file, String string) throws IOException {
         stringToFile(file.getAbsolutePath(), string);
     }
@@ -687,6 +698,7 @@
      * @throws IOException
      * @hide
      */
+    @UnsupportedAppUsage
     public static void stringToFile(String filename, String string) throws IOException {
         bytesToFile(filename, string.getBytes(StandardCharsets.UTF_8));
     }
@@ -701,6 +713,7 @@
      *             to its potential for collision.
      * @hide
      */
+    @UnsupportedAppUsage
     @Deprecated
     public static long checksumCrc32(File file) throws FileNotFoundException, IOException {
         CRC32 checkSummer = new CRC32();
@@ -783,6 +796,7 @@
      * @return if any files were deleted.
      * @hide
      */
+    @UnsupportedAppUsage
     public static boolean deleteOlderFiles(File dir, int minCount, long minAgeMs) {
         if (minCount < 0 || minAgeMs < 0) {
             throw new IllegalArgumentException("Constraints must be positive or 0");
@@ -891,6 +905,7 @@
     }
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public static boolean deleteContents(File dir) {
         File[] files = dir.listFiles();
         boolean success = true;
diff --git a/core/java/android/os/GraphicsEnvironment.java b/core/java/android/os/GraphicsEnvironment.java
index 650d217..707a404 100644
--- a/core/java/android/os/GraphicsEnvironment.java
+++ b/core/java/android/os/GraphicsEnvironment.java
@@ -16,6 +16,8 @@
 
 package android.os;
 
+import android.app.Activity;
+import android.content.BroadcastReceiver;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
@@ -65,6 +67,9 @@
     private static final String ANGLE_RULES_FILE = "a4a_rules.json";
     private static final String ANGLE_TEMP_RULES = "debug.angle.rules";
     private static final String ACTION_ANGLE_FOR_ANDROID = "android.app.action.ANGLE_FOR_ANDROID";
+    private static final String ACTION_ANGLE_FOR_ANDROID_TOAST_MESSAGE =
+            "android.app.action.ANGLE_FOR_ANDROID_TOAST_MESSAGE";
+    private static final String INTENT_KEY_A4A_TOAST_MESSAGE = "A4A Toast Message";
     private static final String GAME_DRIVER_WHITELIST_ALL = "*";
 
     private ClassLoader mClassLoader;
@@ -77,12 +82,18 @@
     public void setup(Context context, Bundle coreSettings) {
         final PackageManager pm = context.getPackageManager();
         final String packageName = context.getPackageName();
+        Trace.traceBegin(Trace.TRACE_TAG_GRAPHICS, "setupGpuLayers");
         setupGpuLayers(context, coreSettings, pm, packageName);
+        Trace.traceEnd(Trace.TRACE_TAG_GRAPHICS);
+        Trace.traceBegin(Trace.TRACE_TAG_GRAPHICS, "setupAngle");
         setupAngle(context, coreSettings, pm, packageName);
+        Trace.traceEnd(Trace.TRACE_TAG_GRAPHICS);
+        Trace.traceBegin(Trace.TRACE_TAG_GRAPHICS, "chooseDriver");
         if (!chooseDriver(context, coreSettings, pm, packageName)) {
             setGpuStats(SYSTEM_DRIVER_NAME, SYSTEM_DRIVER_VERSION_NAME, SYSTEM_DRIVER_VERSION_CODE,
                     SystemProperties.getLong(PROPERTY_GFX_DRIVER_BUILD_TIME, 0), packageName);
         }
+        Trace.traceEnd(Trace.TRACE_TAG_GRAPHICS);
     }
 
     /**
@@ -557,9 +568,20 @@
         final String packageName = context.getPackageName();
 
         if (shouldShowAngleInUseDialogBox(context) && shouldUseAngle(context, packageName)) {
-            final String toastMsg = packageName + " is using ANGLE";
-            final Toast toast = Toast.makeText(context, toastMsg, Toast.LENGTH_LONG);
-            toast.show();
+            final Intent intent = new Intent(ACTION_ANGLE_FOR_ANDROID_TOAST_MESSAGE);
+            String anglePkg = getAnglePackageName(context.getPackageManager());
+            intent.setPackage(anglePkg);
+
+            context.sendOrderedBroadcast(intent, null, new BroadcastReceiver() {
+                @Override
+                public void onReceive(Context context, Intent intent) {
+                    Bundle results = getResultExtras(true);
+
+                    String toastMsg = results.getString(INTENT_KEY_A4A_TOAST_MESSAGE);
+                    final Toast toast = Toast.makeText(context, toastMsg, Toast.LENGTH_LONG);
+                    toast.show();
+                }
+            }, null, Activity.RESULT_OK, null, null);
         }
     }
 
diff --git a/core/java/android/os/Handler.java b/core/java/android/os/Handler.java
index e6c12c7..9af9eda 100644
--- a/core/java/android/os/Handler.java
+++ b/core/java/android/os/Handler.java
@@ -18,6 +18,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.util.Log;
 import android.util.Printer;
 
@@ -82,19 +83,19 @@
          * @param msg A {@link android.os.Message Message} object
          * @return True if no further handling is desired
          */
-        public boolean handleMessage(Message msg);
+        boolean handleMessage(@NonNull Message msg);
     }
     
     /**
      * Subclasses must implement this to receive messages.
      */
-    public void handleMessage(Message msg) {
+    public void handleMessage(@NonNull Message msg) {
     }
     
     /**
      * Handle system messages here.
      */
-    public void dispatchMessage(Message msg) {
+    public void dispatchMessage(@NonNull Message msg) {
         if (msg.callback != null) {
             handleCallback(msg);
         } else {
@@ -128,7 +129,7 @@
      *
      * @param callback The callback interface in which to handle messages, or null.
      */
-    public Handler(Callback callback) {
+    public Handler(@Nullable Callback callback) {
         this(callback, false);
     }
 
@@ -137,7 +138,7 @@
      *
      * @param looper The looper, must not be null.
      */
-    public Handler(Looper looper) {
+    public Handler(@NonNull Looper looper) {
         this(looper, null, false);
     }
 
@@ -148,7 +149,7 @@
      * @param looper The looper, must not be null.
      * @param callback The callback interface in which to handle messages, or null.
      */
-    public Handler(Looper looper, Callback callback) {
+    public Handler(@NonNull Looper looper, @Nullable Callback callback) {
         this(looper, callback, false);
     }
 
@@ -168,6 +169,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public Handler(boolean async) {
         this(null, async);
     }
@@ -189,7 +191,7 @@
      *
      * @hide
      */
-    public Handler(Callback callback, boolean async) {
+    public Handler(@Nullable Callback callback, boolean async) {
         if (FIND_POTENTIAL_LEAKS) {
             final Class<? extends Handler> klass = getClass();
             if ((klass.isAnonymousClass() || klass.isMemberClass() || klass.isLocalClass()) &&
@@ -229,7 +231,8 @@
      *
      * @hide
      */
-    public Handler(Looper looper, Callback callback, boolean async) {
+    @UnsupportedAppUsage
+    public Handler(@NonNull Looper looper, @Nullable Callback callback, boolean async) {
         mLooper = looper;
         mQueue = looper.mQueue;
         mCallback = callback;
@@ -274,6 +277,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     @NonNull
     public static Handler getMain() {
         if (MAIN_THREAD_HANDLER == null) {
@@ -289,7 +293,8 @@
     }
 
     /** {@hide} */
-    public String getTraceName(Message message) {
+    @NonNull
+    public String getTraceName(@NonNull Message message) {
         final StringBuilder sb = new StringBuilder();
         sb.append(getClass().getName()).append(": ");
         if (message.callback != null) {
@@ -308,7 +313,8 @@
      *  
      * @param message The message whose name is being queried 
      */
-    public String getMessageName(Message message) {
+    @NonNull
+    public String getMessageName(@NonNull Message message) {
         if (message.callback != null) {
             return message.callback.getClass().getName();
         }
@@ -320,6 +326,7 @@
      * creating and allocating new instances. The retrieved message has its handler set to this instance (Message.target == this).
      *  If you don't want that facility, just call Message.obtain() instead.
      */
+    @NonNull
     public final Message obtainMessage()
     {
         return Message.obtain(this);
@@ -331,6 +338,7 @@
      * @param what Value to assign to the returned Message.what field.
      * @return A Message from the global message pool.
      */
+    @NonNull
     public final Message obtainMessage(int what)
     {
         return Message.obtain(this, what);
@@ -345,8 +353,8 @@
      * @param obj Value to assign to the returned Message.obj field.
      * @return A Message from the global message pool.
      */
-    public final Message obtainMessage(int what, Object obj)
-    {
+    @NonNull
+    public final Message obtainMessage(int what, @Nullable Object obj) {
         return Message.obtain(this, what, obj);
     }
 
@@ -359,6 +367,7 @@
      * @param arg2 Value to assign to the returned Message.arg2 field.
      * @return A Message from the global message pool.
      */
+    @NonNull
     public final Message obtainMessage(int what, int arg1, int arg2)
     {
         return Message.obtain(this, what, arg1, arg2);
@@ -374,8 +383,8 @@
      * @param obj Value to assign to the returned Message.obj field.
      * @return A Message from the global message pool.
      */
-    public final Message obtainMessage(int what, int arg1, int arg2, Object obj)
-    {
+    @NonNull
+    public final Message obtainMessage(int what, int arg1, int arg2, @Nullable Object obj) {
         return Message.obtain(this, what, arg1, arg2, obj);
     }
 
@@ -390,8 +399,7 @@
      *         message queue.  Returns false on failure, usually because the
      *         looper processing the message queue is exiting.
      */
-    public final boolean post(Runnable r)
-    {
+    public final boolean post(@NonNull Runnable r) {
        return  sendMessageDelayed(getPostMessage(r), 0);
     }
     
@@ -413,8 +421,7 @@
      *         the looper is quit before the delivery time of the message
      *         occurs then the message will be dropped.
      */
-    public final boolean postAtTime(Runnable r, long uptimeMillis)
-    {
+    public final boolean postAtTime(@NonNull Runnable r, long uptimeMillis) {
         return sendMessageAtTime(getPostMessage(r), uptimeMillis);
     }
     
@@ -440,8 +447,8 @@
      *         
      * @see android.os.SystemClock#uptimeMillis
      */
-    public final boolean postAtTime(Runnable r, Object token, long uptimeMillis)
-    {
+    public final boolean postAtTime(
+            @NonNull Runnable r, @Nullable Object token, long uptimeMillis) {
         return sendMessageAtTime(getPostMessage(r, token), uptimeMillis);
     }
     
@@ -464,8 +471,7 @@
      *         if the looper is quit before the delivery time of the message
      *         occurs then the message will be dropped.
      */
-    public final boolean postDelayed(Runnable r, long delayMillis)
-    {
+    public final boolean postDelayed(@NonNull Runnable r, long delayMillis) {
         return sendMessageDelayed(getPostMessage(r), delayMillis);
     }
     
@@ -495,8 +501,8 @@
      *         if the looper is quit before the delivery time of the message
      *         occurs then the message will be dropped.
      */
-    public final boolean postDelayed(Runnable r, Object token, long delayMillis)
-    {
+    public final boolean postDelayed(
+            @NonNull Runnable r, @Nullable Object token, long delayMillis) {
         return sendMessageDelayed(getPostMessage(r, token), delayMillis);
     }
 
@@ -515,8 +521,7 @@
      *         message queue.  Returns false on failure, usually because the
      *         looper processing the message queue is exiting.
      */
-    public final boolean postAtFrontOfQueue(Runnable r)
-    {
+    public final boolean postAtFrontOfQueue(@NonNull Runnable r) {
         return sendMessageAtFrontOfQueue(getPostMessage(r));
     }
 
@@ -560,7 +565,7 @@
      * If we ever do make it part of the API, we might want to rename it to something
      * less funny like runUnsafe().
      */
-    public final boolean runWithScissors(final Runnable r, long timeout) {
+    public final boolean runWithScissors(@NonNull Runnable r, long timeout) {
         if (r == null) {
             throw new IllegalArgumentException("runnable must not be null");
         }
@@ -580,8 +585,7 @@
     /**
      * Remove any pending posts of Runnable r that are in the message queue.
      */
-    public final void removeCallbacks(Runnable r)
-    {
+    public final void removeCallbacks(@NonNull Runnable r) {
         mQueue.removeMessages(this, r, null);
     }
 
@@ -590,8 +594,7 @@
      * <var>token</var> that are in the message queue.  If <var>token</var> is null,
      * all callbacks will be removed.
      */
-    public final void removeCallbacks(Runnable r, Object token)
-    {
+    public final void removeCallbacks(@NonNull Runnable r, @Nullable Object token) {
         mQueue.removeMessages(this, r, token);
     }
 
@@ -604,8 +607,7 @@
      *         message queue.  Returns false on failure, usually because the
      *         looper processing the message queue is exiting.
      */
-    public final boolean sendMessage(Message msg)
-    {
+    public final boolean sendMessage(@NonNull Message msg) {
         return sendMessageDelayed(msg, 0);
     }
 
@@ -664,8 +666,7 @@
      *         the looper is quit before the delivery time of the message
      *         occurs then the message will be dropped.
      */
-    public final boolean sendMessageDelayed(Message msg, long delayMillis)
-    {
+    public final boolean sendMessageDelayed(@NonNull Message msg, long delayMillis) {
         if (delayMillis < 0) {
             delayMillis = 0;
         }
@@ -691,7 +692,7 @@
      *         the looper is quit before the delivery time of the message
      *         occurs then the message will be dropped.
      */
-    public boolean sendMessageAtTime(Message msg, long uptimeMillis) {
+    public boolean sendMessageAtTime(@NonNull Message msg, long uptimeMillis) {
         MessageQueue queue = mQueue;
         if (queue == null) {
             RuntimeException e = new RuntimeException(
@@ -714,7 +715,7 @@
      *         message queue.  Returns false on failure, usually because the
      *         looper processing the message queue is exiting.
      */
-    public final boolean sendMessageAtFrontOfQueue(Message msg) {
+    public final boolean sendMessageAtFrontOfQueue(@NonNull Message msg) {
         MessageQueue queue = mQueue;
         if (queue == null) {
             RuntimeException e = new RuntimeException(
@@ -734,7 +735,7 @@
      *         looper processing the message queue is exiting.
      * @hide
      */
-    public final boolean executeOrSendMessage(Message msg) {
+    public final boolean executeOrSendMessage(@NonNull Message msg) {
         if (mLooper == Looper.myLooper()) {
             dispatchMessage(msg);
             return true;
@@ -742,7 +743,8 @@
         return sendMessage(msg);
     }
 
-    private boolean enqueueMessage(MessageQueue queue, Message msg, long uptimeMillis) {
+    private boolean enqueueMessage(@NonNull MessageQueue queue, @NonNull Message msg,
+            long uptimeMillis) {
         msg.target = this;
         msg.workSourceUid = ThreadLocalWorkSource.getUid();
 
@@ -765,7 +767,7 @@
      * 'object' that are in the message queue.  If <var>object</var> is null,
      * all messages will be removed.
      */
-    public final void removeMessages(int what, Object object) {
+    public final void removeMessages(int what, @Nullable Object object) {
         mQueue.removeMessages(this, what, object);
     }
 
@@ -774,7 +776,7 @@
      * <var>obj</var> is <var>token</var>.  If <var>token</var> is null,
      * all callbacks and messages will be removed.
      */
-    public final void removeCallbacksAndMessages(Object token) {
+    public final void removeCallbacksAndMessages(@Nullable Object token) {
         mQueue.removeCallbacksAndMessages(this, token);
     }
 
@@ -798,7 +800,7 @@
      * Check if there are any pending posts of messages with code 'what' and
      * whose obj is 'object' in the message queue.
      */
-    public final boolean hasMessages(int what, Object object) {
+    public final boolean hasMessages(int what, @Nullable Object object) {
         return mQueue.hasMessages(this, what, object);
     }
 
@@ -806,17 +808,18 @@
      * Check if there are any pending posts of messages with callback r in
      * the message queue.
      */
-    public final boolean hasCallbacks(Runnable r) {
+    public final boolean hasCallbacks(@NonNull Runnable r) {
         return mQueue.hasMessages(this, r, null);
     }
 
     // if we can get rid of this method, the handler need not remember its loop
     // we could instead export a getMessageQueue() method... 
+    @NonNull
     public final Looper getLooper() {
         return mLooper;
     }
 
-    public final void dump(Printer pw, String prefix) {
+    public final void dump(@NonNull Printer pw, @NonNull String prefix) {
         pw.println(prefix + this + " @ " + SystemClock.uptimeMillis());
         if (mLooper == null) {
             pw.println(prefix + "looper uninitialized");
@@ -828,7 +831,7 @@
     /**
      * @hide
      */
-    public final void dumpMine(Printer pw, String prefix) {
+    public final void dumpMine(@NonNull Printer pw, @NonNull String prefix) {
         pw.println(prefix + this + " @ " + SystemClock.uptimeMillis());
         if (mLooper == null) {
             pw.println(prefix + "looper uninitialized");
@@ -844,6 +847,7 @@
         + "}";
     }
 
+    @UnsupportedAppUsage
     final IMessenger getIMessenger() {
         synchronized (mQueue) {
             if (mMessenger != null) {
@@ -867,6 +871,7 @@
         return m;
     }
 
+    @UnsupportedAppUsage
     private static Message getPostMessage(Runnable r, Object token) {
         Message m = Message.obtain();
         m.obj = token;
@@ -878,10 +883,13 @@
         message.callback.run();
     }
 
+    @UnsupportedAppUsage
     final Looper mLooper;
     final MessageQueue mQueue;
+    @UnsupportedAppUsage
     final Callback mCallback;
     final boolean mAsynchronous;
+    @UnsupportedAppUsage
     IMessenger mMessenger;
 
     private static final class BlockingRunnable implements Runnable {
diff --git a/core/java/android/os/HwBinder.java b/core/java/android/os/HwBinder.java
index 9e3e83e..09afdc7 100644
--- a/core/java/android/os/HwBinder.java
+++ b/core/java/android/os/HwBinder.java
@@ -18,6 +18,7 @@
 
 import android.annotation.SystemApi;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 
 import libcore.util.NativeAllocationRegistry;
 
@@ -151,6 +152,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static void reportSyspropChanged() {
         native_report_sysprop_change();
     }
diff --git a/core/java/android/os/HwBlob.java b/core/java/android/os/HwBlob.java
index 0ec63b5..2c453bf 100644
--- a/core/java/android/os/HwBlob.java
+++ b/core/java/android/os/HwBlob.java
@@ -17,6 +17,7 @@
 package android.os;
 
 import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.annotation.TestApi;
 
@@ -241,7 +242,7 @@
      * @param x a {@link NativeHandle} instance to write
      * @throws IndexOutOfBoundsException when [offset, offset + sizeof(jobject)] is out of range
      */
-    public native final void putNativeHandle(long offset, NativeHandle x);
+    public native final void putNativeHandle(long offset, @Nullable NativeHandle x);
 
     /**
      * Put a boolean array contiguously at an offset in the blob.
diff --git a/core/java/android/os/HwParcel.java b/core/java/android/os/HwParcel.java
index 7919a00..cfb582e 100644
--- a/core/java/android/os/HwParcel.java
+++ b/core/java/android/os/HwParcel.java
@@ -17,8 +17,11 @@
 package android.os;
 
 import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 
 import libcore.util.NativeAllocationRegistry;
 
@@ -47,6 +50,7 @@
 
     private static final NativeAllocationRegistry sNativeRegistry;
 
+    @UnsupportedAppUsage
     private HwParcel(boolean allocate) {
         native_setup(allocate);
 
@@ -123,7 +127,7 @@
      *
      * @param val to write
      */
-    public native final void writeNativeHandle(NativeHandle val);
+    public native final void writeNativeHandle(@Nullable NativeHandle val);
 
     /**
      * Writes an array of boolean values to the end of the parcel.
@@ -170,6 +174,9 @@
     private native final void writeStringVector(String[] val);
     /**
      * Writes an array of native handles to the end of the parcel.
+     *
+     * Individual elements may be null but not the whole array.
+     *
      * @param val array of {@link NativeHandle} objects to write
      */
     private native final void writeNativeHandleVector(NativeHandle[] val);
@@ -284,7 +291,7 @@
      * Helper method to write a list of native handles to the end of the parcel.
      * @param val list of {@link NativeHandle} objects to write
      */
-    public final void writeNativeHandleVector(ArrayList<NativeHandle> val) {
+    public final void writeNativeHandleVector(@NonNull ArrayList<NativeHandle> val) {
         writeNativeHandleVector(val.toArray(new NativeHandle[val.size()]));
     }
 
@@ -359,7 +366,7 @@
      * @return a {@link NativeHandle} instance parsed from the parcel
      * @throws IllegalArgumentException if the parcel has no more data
      */
-    public native final NativeHandle readNativeHandle();
+    public native final @Nullable NativeHandle readNativeHandle();
     /**
      * Reads an embedded native handle (without duplicating the underlying
      * file descriptors) from the parcel. These file descriptors will only
@@ -372,7 +379,7 @@
      * @return a {@link NativeHandle} instance parsed from the parcel
      * @throws IllegalArgumentException if the parcel has no more data
      */
-    public native final NativeHandle readEmbeddedNativeHandle(
+    public native final @Nullable NativeHandle readEmbeddedNativeHandle(
             long parentHandle, long offset);
 
     /**
@@ -521,7 +528,7 @@
      * @return array of {@link NativeHandle} objects.
      * @throws IllegalArgumentException if the parcel has no more data
      */
-    public final ArrayList<NativeHandle> readNativeHandleVector() {
+    public final @NonNull ArrayList<NativeHandle> readNativeHandleVector() {
         return new ArrayList<NativeHandle>(Arrays.asList(readNativeHandleAsArray()));
     }
 
diff --git a/core/java/android/os/HwRemoteBinder.java b/core/java/android/os/HwRemoteBinder.java
index a07e42c..72ec958 100644
--- a/core/java/android/os/HwRemoteBinder.java
+++ b/core/java/android/os/HwRemoteBinder.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import libcore.util.NativeAllocationRegistry;
 
 /** @hide */
@@ -24,6 +25,7 @@
 
     private static final NativeAllocationRegistry sNativeRegistry;
 
+    @UnsupportedAppUsage
     public HwRemoteBinder() {
         native_setup_empty();
 
diff --git a/core/java/android/os/IBinder.java b/core/java/android/os/IBinder.java
index e74b0bb..83f88ad 100644
--- a/core/java/android/os/IBinder.java
+++ b/core/java/android/os/IBinder.java
@@ -18,6 +18,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 
 import java.io.FileDescriptor;
 
@@ -149,6 +150,7 @@
     int LIKE_TRANSACTION   = ('_'<<24)|('L'<<16)|('I'<<8)|'K';
 
     /** @hide */
+    @UnsupportedAppUsage
     int SYSPROPS_TRANSACTION = ('_'<<24)|('S'<<16)|('P'<<8)|'R';
 
     /**
diff --git a/core/java/android/os/IDeviceIdleController.aidl b/core/java/android/os/IDeviceIdleController.aidl
index fe17c6b..aa255bf 100644
--- a/core/java/android/os/IDeviceIdleController.aidl
+++ b/core/java/android/os/IDeviceIdleController.aidl
@@ -39,6 +39,7 @@
     int[] getAppIdTempWhitelist();
     boolean isPowerSaveWhitelistExceptIdleApp(String name);
     boolean isPowerSaveWhitelistApp(String name);
+    @UnsupportedAppUsage
     void addPowerSaveTempWhitelistApp(String name, long duration, int userId, String reason);
     long addPowerSaveTempWhitelistAppForMms(String name, int userId, String reason);
     long addPowerSaveTempWhitelistAppForSms(String name, int userId, String reason);
diff --git a/core/java/android/os/INetworkManagementService.aidl b/core/java/android/os/INetworkManagementService.aidl
index 8ced722..f62a999 100644
--- a/core/java/android/os/INetworkManagementService.aidl
+++ b/core/java/android/os/INetworkManagementService.aidl
@@ -38,11 +38,13 @@
     /**
      * Register an observer to receive events.
      */
+    @UnsupportedAppUsage
     void registerObserver(INetworkManagementEventObserver obs);
 
     /**
      * Unregister an observer from receiving events.
      */
+    @UnsupportedAppUsage
     void unregisterObserver(INetworkManagementEventObserver obs);
 
     /**
@@ -54,16 +56,19 @@
      * Retrieves the specified interface config
      *
      */
+    @UnsupportedAppUsage
     InterfaceConfiguration getInterfaceConfig(String iface);
 
     /**
      * Sets the configuration of the specified interface
      */
+    @UnsupportedAppUsage
     void setInterfaceConfig(String iface, in InterfaceConfiguration cfg);
 
     /**
      * Clear all IP addresses on the specified interface
      */
+    @UnsupportedAppUsage
     void clearInterfaceAddresses(String iface);
 
     /**
@@ -79,22 +84,26 @@
     /**
      * Set interface IPv6 privacy extensions
      */
+    @UnsupportedAppUsage
     void setInterfaceIpv6PrivacyExtensions(String iface, boolean enable);
 
     /**
      * Disable IPv6 on an interface
      */
+    @UnsupportedAppUsage
     void disableIpv6(String iface);
 
     /**
      * Enable IPv6 on an interface
      */
+    @UnsupportedAppUsage
     void enableIpv6(String iface);
 
     /**
      * Set IPv6 autoconf address generation mode.
      * This is a no-op if an unsupported mode is requested.
      */
+    @UnsupportedAppUsage
     void setIPv6AddrGenMode(String iface, int mode);
 
     /**
@@ -124,37 +133,44 @@
     /**
      * Returns true if IP forwarding is enabled
      */
+    @UnsupportedAppUsage
     boolean getIpForwardingEnabled();
 
     /**
      * Enables/Disables IP Forwarding
      */
+    @UnsupportedAppUsage
     void setIpForwardingEnabled(boolean enabled);
 
     /**
      * Start tethering services with the specified dhcp server range
      * arg is a set of start end pairs defining the ranges.
      */
+    @UnsupportedAppUsage
     void startTethering(in String[] dhcpRanges);
 
     /**
      * Stop currently running tethering services
      */
+    @UnsupportedAppUsage
     void stopTethering();
 
     /**
      * Returns true if tethering services are started
      */
+    @UnsupportedAppUsage
     boolean isTetheringStarted();
 
     /**
      * Tethers the specified interface
      */
+    @UnsupportedAppUsage
     void tetherInterface(String iface);
 
     /**
      * Untethers the specified interface
      */
+    @UnsupportedAppUsage
     void untetherInterface(String iface);
 
     /**
@@ -189,11 +205,13 @@
      *  The address and netmask of the external interface is used for
      *  the NAT'ed network.
      */
+    @UnsupportedAppUsage
     void enableNat(String internalInterface, String externalInterface);
 
     /**
      *  Disables Network Address Translation between two interfaces.
      */
+    @UnsupportedAppUsage
     void disableNat(String internalInterface, String externalInterface);
 
     /**
@@ -311,6 +329,7 @@
     /**
      * Return status of bandwidth control module.
      */
+    @UnsupportedAppUsage
     boolean isBandwidthControlEnabled();
 
     /**
diff --git a/core/java/android/os/IPowerManager.aidl b/core/java/android/os/IPowerManager.aidl
index 483c41a..4233340 100644
--- a/core/java/android/os/IPowerManager.aidl
+++ b/core/java/android/os/IPowerManager.aidl
@@ -41,14 +41,17 @@
     void updateWakeLockWorkSource(IBinder lock, in WorkSource ws, String historyTag);
     boolean isWakeLockLevelSupported(int level);
 
+    @UnsupportedAppUsage
     void userActivity(long time, int event, int flags);
     void wakeUp(long time, int reason, String details, String opPackageName);
+    @UnsupportedAppUsage
     void goToSleep(long time, int reason, int flags);
     void nap(long time);
+    @UnsupportedAppUsage
     boolean isInteractive();
     boolean isPowerSaveMode();
     PowerSaveState getPowerSaveState(int serviceType);
-    boolean setPowerSaveMode(boolean mode);
+    boolean setPowerSaveModeEnabled(boolean mode);
     boolean setDynamicPowerSavings(boolean dynamicPowerSavingsEnabled, int disableThreshold);
     boolean setAdaptivePowerSavePolicy(in BatterySaverPolicyConfig config);
     boolean setAdaptivePowerSaveEnabled(boolean enabled);
@@ -56,6 +59,7 @@
     boolean isDeviceIdleMode();
     boolean isLightDeviceIdleMode();
 
+    @UnsupportedAppUsage
     void reboot(boolean confirm, String reason, boolean wait);
     void rebootSafeMode(boolean confirm, boolean wait);
     void shutdown(boolean confirm, String reason, boolean wait);
diff --git a/core/java/android/os/IRemoteCallback.aidl b/core/java/android/os/IRemoteCallback.aidl
index f0c6c73..71f3b06 100644
--- a/core/java/android/os/IRemoteCallback.aidl
+++ b/core/java/android/os/IRemoteCallback.aidl
@@ -21,5 +21,6 @@
 
 /** @hide */
 oneway interface IRemoteCallback {
+    @UnsupportedAppUsage
     void sendResult(in Bundle data);
 }
diff --git a/core/java/android/os/IServiceManager.java b/core/java/android/os/IServiceManager.java
index 89bf7b9..bc0690d 100644
--- a/core/java/android/os/IServiceManager.java
+++ b/core/java/android/os/IServiceManager.java
@@ -16,6 +16,8 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
+
 /**
  * Basic interface for finding and publishing system services.
  *
@@ -33,12 +35,14 @@
      * service manager.  Blocks for a few seconds waiting for it to be
      * published if it does not already exist.
      */
+    @UnsupportedAppUsage
     IBinder getService(String name) throws RemoteException;
 
     /**
      * Retrieve an existing service called @a name from the
      * service manager.  Non-blocking.
      */
+    @UnsupportedAppUsage
     IBinder checkService(String name) throws RemoteException;
 
     /**
diff --git a/core/java/android/os/IUserManager.aidl b/core/java/android/os/IUserManager.aidl
index 3017f25..63641e5 100644
--- a/core/java/android/os/IUserManager.aidl
+++ b/core/java/android/os/IUserManager.aidl
@@ -59,6 +59,7 @@
     boolean canAddMoreManagedProfiles(int userHandle, boolean allowedToRemoveOne);
     UserInfo getProfileParent(int userHandle);
     boolean isSameProfileGroup(int userHandle, int otherUserHandle);
+    @UnsupportedAppUsage
     UserInfo getUserInfo(int userHandle);
     String getUserAccount(int userHandle);
     void setUserAccount(int userHandle, String accountName);
@@ -100,6 +101,7 @@
     boolean isUserNameSet(int userHandle);
     boolean hasRestrictedProfiles();
     boolean requestQuietModeEnabled(String callingPackage, boolean enableQuietMode, int userHandle, in IntentSender target);
+    String getUserName();
     long getUserStartRealtime();
     long getUserUnlockRealtime();
 }
diff --git a/core/java/android/os/IncidentReportArgs.java b/core/java/android/os/IncidentReportArgs.java
index 1bdfd94..a1f2430 100644
--- a/core/java/android/os/IncidentReportArgs.java
+++ b/core/java/android/os/IncidentReportArgs.java
@@ -36,6 +36,8 @@
     private final ArrayList<byte[]> mHeaders = new ArrayList<byte[]>();
     private boolean mAll;
     private int mPrivacyPolicy;
+    private String mReceiverPkg;
+    private String mReceiverCls;
 
     /**
      * Construct an incident report args with no fields.
@@ -73,6 +75,10 @@
         }
 
         out.writeInt(mPrivacyPolicy);
+
+        out.writeString(mReceiverPkg);
+
+        out.writeString(mReceiverCls);
     }
 
     public void readFromParcel(Parcel in) {
@@ -91,6 +97,10 @@
         }
 
         mPrivacyPolicy = in.readInt();
+
+        mReceiverPkg = in.readString();
+
+        mReceiverCls = in.readString();
     }
 
     public static final @android.annotation.NonNull Parcelable.Creator<IncidentReportArgs> CREATOR
@@ -126,6 +136,8 @@
         sb.append(mHeaders.size());
         sb.append(" headers), ");
         sb.append("privacy: ").append(mPrivacyPolicy);
+        sb.append("receiver pkg: ").append(mReceiverPkg);
+        sb.append("receiver cls: ").append(mReceiverCls);
         return sb.toString();
     }
 
diff --git a/core/java/android/os/LocaleList.java b/core/java/android/os/LocaleList.java
index a9da080..351df1b 100644
--- a/core/java/android/os/LocaleList.java
+++ b/core/java/android/os/LocaleList.java
@@ -21,6 +21,7 @@
 import android.annotation.Nullable;
 import android.annotation.Size;
 import android.annotation.SystemApi;
+import android.annotation.UnsupportedAppUsage;
 import android.content.LocaleProto;
 import android.icu.util.ULocale;
 import android.util.proto.ProtoOutputStream;
@@ -568,6 +569,7 @@
      *
      * {@hide}
      */
+    @UnsupportedAppUsage
     public static void setDefault(@NonNull @Size(min=1) LocaleList locales, int localeIndex) {
         if (locales == null) {
             throw new NullPointerException("locales is null");
diff --git a/core/java/android/os/Looper.java b/core/java/android/os/Looper.java
index a8d1215..3222fc4 100644
--- a/core/java/android/os/Looper.java
+++ b/core/java/android/os/Looper.java
@@ -18,6 +18,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.util.Log;
 import android.util.Printer;
 import android.util.Slog;
@@ -67,13 +68,17 @@
     private static final String TAG = "Looper";
 
     // sThreadLocal.get() will return null unless you've called prepare().
+    @UnsupportedAppUsage
     static final ThreadLocal<Looper> sThreadLocal = new ThreadLocal<Looper>();
+    @UnsupportedAppUsage
     private static Looper sMainLooper;  // guarded by Looper.class
     private static Observer sObserver;
 
+    @UnsupportedAppUsage
     final MessageQueue mQueue;
     final Thread mThread;
 
+    @UnsupportedAppUsage
     private Printer mLogging;
     private long mTraceTag;
 
@@ -315,6 +320,7 @@
     }
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public void setTraceTag(long traceTag) {
         mTraceTag = traceTag;
     }
diff --git a/core/java/android/os/MemoryFile.java b/core/java/android/os/MemoryFile.java
index ff3258f..5a1e3d4 100644
--- a/core/java/android/os/MemoryFile.java
+++ b/core/java/android/os/MemoryFile.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import android.system.ErrnoException;
 
 import java.io.FileDescriptor;
@@ -40,7 +41,9 @@
     private static String TAG = "MemoryFile";
 
     // Returns 'true' if purged, 'false' otherwise
+    @UnsupportedAppUsage
     private static native boolean native_pin(FileDescriptor fd, boolean pin) throws IOException;
+    @UnsupportedAppUsage
     private static native int native_get_size(FileDescriptor fd) throws IOException;
 
     private SharedMemory mSharedMemory;
@@ -79,6 +82,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     void deactivate() {
         if (mMapping != null) {
             SharedMemory.unmap(mMapping);
@@ -222,6 +226,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public FileDescriptor getFileDescriptor() throws IOException {
         return mSharedMemory.getFileDescriptor();
     }
@@ -234,6 +239,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static int getSize(FileDescriptor fd) throws IOException {
         return native_get_size(fd);
     }
diff --git a/core/java/android/os/Message.java b/core/java/android/os/Message.java
index 317579e..6055bef 100644
--- a/core/java/android/os/Message.java
+++ b/core/java/android/os/Message.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import android.util.TimeUtils;
 import android.util.proto.ProtoOutputStream;
 
@@ -111,6 +112,7 @@
     /** Flags to clear in the copyFrom method */
     /*package*/ static final int FLAGS_TO_CLEAR_ON_COPY_FROM = FLAG_IN_USE;
 
+    @UnsupportedAppUsage
     /*package*/ int flags;
 
     /**
@@ -118,16 +120,20 @@
      * {@link SystemClock#uptimeMillis}.
      * @hide Only for use within the tests.
      */
+    @UnsupportedAppUsage
     @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
     public long when;
 
     /*package*/ Bundle data;
 
+    @UnsupportedAppUsage
     /*package*/ Handler target;
 
+    @UnsupportedAppUsage
     /*package*/ Runnable callback;
 
     // sometimes we store linked lists of these things
+    @UnsupportedAppUsage
     /*package*/ Message next;
 
 
@@ -314,6 +320,7 @@
      * Recycles a Message that may be in-use.
      * Used internally by the MessageQueue and Looper when disposing of queued Messages.
      */
+    @UnsupportedAppUsage
     void recycleUnchecked() {
         // Mark the message as in use while it remains in the recycled object pool.
         // Clear out all other details.
@@ -397,6 +404,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public Message setCallback(Runnable r) {
         callback = r;
         return this;
@@ -510,6 +518,7 @@
         return ((flags & FLAG_IN_USE) == FLAG_IN_USE);
     }
 
+    @UnsupportedAppUsage
     /*package*/ void markInUse() {
         flags |= FLAG_IN_USE;
     }
@@ -524,6 +533,7 @@
         return toString(SystemClock.uptimeMillis());
     }
 
+    @UnsupportedAppUsage
     String toString(long now) {
         StringBuilder b = new StringBuilder();
         b.append("{ when=");
diff --git a/core/java/android/os/MessageQueue.java b/core/java/android/os/MessageQueue.java
index 7c2ecc5..c5f1698 100644
--- a/core/java/android/os/MessageQueue.java
+++ b/core/java/android/os/MessageQueue.java
@@ -19,6 +19,7 @@
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.os.MessageQueueProto;
 import android.util.Log;
 import android.util.Printer;
@@ -43,12 +44,16 @@
     private static final boolean DEBUG = false;
 
     // True if the message queue can be quit.
+    @UnsupportedAppUsage
     private final boolean mQuitAllowed;
 
+    @UnsupportedAppUsage
     @SuppressWarnings("unused")
     private long mPtr; // used by native code
 
+    @UnsupportedAppUsage
     Message mMessages;
+    @UnsupportedAppUsage
     private final ArrayList<IdleHandler> mIdleHandlers = new ArrayList<IdleHandler>();
     private SparseArray<FileDescriptorRecord> mFileDescriptorRecords;
     private IdleHandler[] mPendingIdleHandlers;
@@ -59,10 +64,12 @@
 
     // The next barrier token.
     // Barriers are indicated by messages with a null target whose arg1 field carries the token.
+    @UnsupportedAppUsage
     private int mNextBarrierToken;
 
     private native static long nativeInit();
     private native static void nativeDestroy(long ptr);
+    @UnsupportedAppUsage
     private native void nativePollOnce(long ptr, int timeoutMillis); /*non-static for callbacks*/
     private native static void nativeWake(long ptr);
     private native static boolean nativeIsPolling(long ptr);
@@ -260,6 +267,7 @@
     }
 
     // Called from native code.
+    @UnsupportedAppUsage
     private int dispatchEvents(int fd, int events) {
         // Get the file descriptor record and any state that might change.
         final FileDescriptorRecord record;
@@ -308,6 +316,7 @@
         return newWatchedEvents;
     }
 
+    @UnsupportedAppUsage
     Message next() {
         // Return here if the message loop has already quit and been disposed.
         // This can happen if the application tries to restart a looper after quit
@@ -607,6 +616,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     boolean hasMessages(Handler h, Runnable r, Object object) {
         if (h == null) {
             return false;
diff --git a/core/java/android/os/NativeHandle.java b/core/java/android/os/NativeHandle.java
index f13bf5f..8d341b6 100644
--- a/core/java/android/os/NativeHandle.java
+++ b/core/java/android/os/NativeHandle.java
@@ -99,6 +99,8 @@
      * @return a boolean value
      */
     public boolean hasSingleFileDescriptor() {
+        checkOpen();
+
         return mFds.length == 1 && mInts.length == 0;
     }
 
@@ -108,7 +110,7 @@
      * If this method is called, this must also be explicitly closed with
      * {@link #close()}.
      */
-    public NativeHandle dup() throws java.io.IOException {
+    public @NonNull NativeHandle dup() throws java.io.IOException {
         FileDescriptor[] fds = new FileDescriptor[mFds.length];
         try {
             for (int i = 0; i < mFds.length; i++) {
@@ -123,6 +125,12 @@
         return new NativeHandle(fds, mInts, true /*own*/);
     }
 
+    private void checkOpen() {
+        if (mFds == null) {
+            throw new IllegalStateException("NativeHandle is invalidated after close.");
+        }
+    }
+
     /**
      * Closes the file descriptors if they are owned by this object.
      *
@@ -130,19 +138,20 @@
      */
     @Override
     public void close() throws java.io.IOException {
-        if (!mOwn) {
-            return;
-        }
+        checkOpen();
 
-        try {
-            for (FileDescriptor fd : mFds) {
-                Os.close(fd);
+        if (mOwn) {
+            try {
+                for (FileDescriptor fd : mFds) {
+                    Os.close(fd);
+                }
+            } catch (ErrnoException e) {
+                e.rethrowAsIOException();
             }
-        } catch (ErrnoException e) {
-            e.rethrowAsIOException();
+
+            mOwn = false;
         }
 
-        mOwn = false;
         mFds = null;
         mInts = null;
     }
@@ -154,7 +163,9 @@
      * @throws IllegalStateException if this object contains either zero or
      *         more than one file descriptor, or a non-empty data stream.
      */
-    public FileDescriptor getFileDescriptor() {
+    public @NonNull FileDescriptor getFileDescriptor() {
+        checkOpen();
+
         if (!hasSingleFileDescriptor()) {
             throw new IllegalStateException(
                     "NativeHandle is not single file descriptor. Contents must"
@@ -171,6 +182,8 @@
      * @hide
      */
     private int[] getFdsAsIntArray() {
+        checkOpen();
+
         int numFds = mFds.length;
         int[] fds = new int[numFds];
 
@@ -182,11 +195,13 @@
     }
 
     /**
-     * Fetch file descriptors.
+     * Fetch file descriptors
      *
      * @return the fds.
      */
-    public FileDescriptor[] getFileDescriptors() {
+    public @NonNull FileDescriptor[] getFileDescriptors() {
+        checkOpen();
+
         return mFds;
     }
 
@@ -195,7 +210,9 @@
      *
      * @return the opaque data stream.
      */
-    public int[] getInts() {
+    public @NonNull int[] getInts() {
+        checkOpen();
+
         return mInts;
     }
 }
diff --git a/core/java/android/os/Parcel.java b/core/java/android/os/Parcel.java
index 79e9ba5..de963c9 100644
--- a/core/java/android/os/Parcel.java
+++ b/core/java/android/os/Parcel.java
@@ -18,6 +18,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.text.TextUtils;
 import android.util.ArrayMap;
 import android.util.ArraySet;
@@ -197,6 +198,7 @@
     private static final boolean DEBUG_ARRAY_MAP = false;
     private static final String TAG = "Parcel";
 
+    @UnsupportedAppUsage
     @SuppressWarnings({"UnusedDeclaration"})
     private long mNativePtr; // used by native code
 
@@ -453,9 +455,11 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public static native long getGlobalAllocSize();
 
     /** @hide */
+    @UnsupportedAppUsage
     public static native long getGlobalAllocCount();
 
     /**
@@ -679,6 +683,7 @@
      * {@hide}
      * {@SystemApi}
      */
+    @UnsupportedAppUsage
     public final void writeBlob(@Nullable byte[] b) {
         writeBlob(b, 0, (b != null) ? b.length : 0);
     }
@@ -768,6 +773,7 @@
      * growing dataCapacity() if needed.
      * @hide
      */
+    @UnsupportedAppUsage
     public final void writeCharSequence(@Nullable CharSequence val) {
         TextUtils.writeToParcel(val, this, 0);
     }
@@ -929,6 +935,7 @@
     /**
      * @hide For testing only.
      */
+    @UnsupportedAppUsage
     public void writeArrayMap(@Nullable ArrayMap<String, Object> val) {
         writeArrayMapInternal(val);
     }
@@ -967,6 +974,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public void writeArraySet(@Nullable ArraySet<? extends Object> val) {
         final int size = (val != null) ? val.size() : -1;
         writeInt(size);
@@ -1793,6 +1801,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public final void writeParcelableCreator(@NonNull Parcelable p) {
         String name = p.getClass().getName();
         writeString(name);
@@ -1991,6 +2000,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public final int readExceptionCode() {
         int code = readInt();
         if (code == EX_HAS_REPLY_HEADER) {
@@ -2137,6 +2147,7 @@
      * Read a CharSequence value from the parcel at the current dataPosition().
      * @hide
      */
+    @UnsupportedAppUsage
     @Nullable
     public final CharSequence readCharSequence() {
         return TextUtils.CHAR_SEQUENCE_CREATOR.createFromParcel(this);
@@ -2158,6 +2169,7 @@
     }
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public final FileDescriptor readRawFileDescriptor() {
         return nativeReadFileDescriptor(mNativePtr);
     }
@@ -2349,6 +2361,7 @@
      * {@hide}
      * {@SystemApi}
      */
+    @UnsupportedAppUsage
     @Nullable
     public final byte[] readBlob() {
         return nativeReadBlob(mNativePtr);
@@ -2358,6 +2371,7 @@
      * Read and return a String[] object from the parcel.
      * {@hide}
      */
+    @UnsupportedAppUsage
     @Nullable
     public final String[] readStringArray() {
         String[] array = null;
@@ -2958,6 +2972,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     @SuppressWarnings("unchecked")
     @Nullable
     public final <T extends Parcelable> T readCreator(@NonNull Parcelable.Creator<?> creator,
@@ -2971,6 +2986,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     @Nullable
     public final Parcelable.Creator<?> readParcelableCreator(@Nullable ClassLoader loader) {
         String name = readString();
@@ -3253,6 +3269,7 @@
     /**
      * @hide For testing only.
      */
+    @UnsupportedAppUsage
     public void readArrayMap(@NonNull ArrayMap outVal, @Nullable ClassLoader loader) {
         final int N = readInt();
         if (N < 0) {
@@ -3268,6 +3285,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public @Nullable ArraySet<? extends Object> readArraySet(@Nullable ClassLoader loader) {
         final int size = readInt();
         if (size < 0) {
diff --git a/core/java/android/os/ParcelFileDescriptor.java b/core/java/android/os/ParcelFileDescriptor.java
index 7a8727c..8355e08 100644
--- a/core/java/android/os/ParcelFileDescriptor.java
+++ b/core/java/android/os/ParcelFileDescriptor.java
@@ -32,6 +32,7 @@
 import static android.system.OsConstants.S_IWOTH;
 
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.content.BroadcastReceiver;
 import android.content.ContentProvider;
 import android.os.MessageQueue.OnFileDescriptorEventListener;
@@ -178,6 +179,7 @@
     }
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public ParcelFileDescriptor(FileDescriptor fd) {
         this(fd, null);
     }
@@ -372,7 +374,11 @@
     /**
      * Take ownership of a raw native fd in to a new ParcelFileDescriptor.
      * The returned ParcelFileDescriptor now owns the given fd, and will be
-     * responsible for closing it.  You must not close the fd yourself.
+     * responsible for closing it.
+     * <p>
+     * <strong>WARNING:</strong> You must not close the fd yourself after
+     * this call, and ownership of the file descriptor must have been
+     * released prior to the call to this function.
      *
      * @param fd The native fd that the ParcelFileDescriptor should adopt.
      *
@@ -391,6 +397,16 @@
      * ParcelFileDescriptor holds a dup of the original FileDescriptor in
      * the Socket, so you must still close the Socket as well as the new
      * ParcelFileDescriptor.
+     * <p>
+     * <strong>WARNING:</strong> Prior to API level 29, this function would not
+     * actually dup the Socket's FileDescriptor, and would take a
+     * reference to the its internal FileDescriptor instead. If the Socket
+     * gets garbage collected before the ParcelFileDescriptor, this may
+     * lead to the ParcelFileDescriptor being unexpectedly closed. To avoid
+     * this, the following pattern can be used:
+     * <pre>{@code
+     *    ParcelFileDescriptor pfd = ParcelFileDescriptor.fromSocket(socket).dup();
+     * }</pre>
      *
      * @param socket The Socket whose FileDescriptor is used to create
      *               a new ParcelFileDescriptor.
@@ -414,6 +430,16 @@
      * new ParcelFileDescriptor holds a dup of the original FileDescriptor in
      * the DatagramSocket, so you must still close the DatagramSocket as well
      * as the new ParcelFileDescriptor.
+     * <p>
+     * <strong>WARNING:</strong> Prior to API level 29, this function would not
+     * actually dup the DatagramSocket's FileDescriptor, and would take a
+     * reference to the its internal FileDescriptor instead. If the DatagramSocket
+     * gets garbage collected before the ParcelFileDescriptor, this may
+     * lead to the ParcelFileDescriptor being unexpectedly closed. To avoid
+     * this, the following pattern can be used:
+     * <pre>{@code
+     *    ParcelFileDescriptor pfd = ParcelFileDescriptor.fromDatagramSocket(socket).dup();
+     * }</pre>
      *
      * @param datagramSocket The DatagramSocket whose FileDescriptor is used
      *               to create a new ParcelFileDescriptor.
@@ -550,6 +576,7 @@
      * @return A ParcelFileDescriptor.
      * @throws IOException if there is an error while creating the shared memory area.
      */
+    @UnsupportedAppUsage
     @Deprecated
     public static ParcelFileDescriptor fromData(byte[] data, String name) throws IOException {
         if (data == null) return null;
@@ -635,6 +662,7 @@
      * and I really don't think we want it to be public.
      * @hide
      */
+    @UnsupportedAppUsage
     public long seekTo(long pos) throws IOException {
         if (mWrapped != null) {
             return mWrapped.seekTo(pos);
@@ -651,6 +679,9 @@
      * Return the native fd int for this ParcelFileDescriptor.  The
      * ParcelFileDescriptor still owns the fd, and it still must be closed
      * through this API.
+     * <p>
+     * <strong>WARNING:</strong> Do not call close on the return value of this
+     * function or pass it to a function that assumes ownership of the fd.
      */
     public int getFd() {
         if (mWrapped != null) {
diff --git a/core/java/android/os/ParcelableParcel.java b/core/java/android/os/ParcelableParcel.java
index 5bbe6488..61f3968 100644
--- a/core/java/android/os/ParcelableParcel.java
+++ b/core/java/android/os/ParcelableParcel.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import android.util.MathUtils;
 
 /**
@@ -26,6 +27,7 @@
     final Parcel mParcel;
     final ClassLoader mClassLoader;
 
+    @UnsupportedAppUsage
     public ParcelableParcel(ClassLoader loader) {
         mParcel = Parcel.obtain();
         mClassLoader = loader;
@@ -44,11 +46,13 @@
         mParcel.appendFrom(src, pos, size);
     }
 
+    @UnsupportedAppUsage
     public Parcel getParcel() {
         mParcel.setDataPosition(0);
         return mParcel;
     }
 
+    @UnsupportedAppUsage
     public ClassLoader getClassLoader() {
         return mClassLoader;
     }
@@ -64,6 +68,7 @@
         dest.appendFrom(mParcel, 0, mParcel.dataSize());
     }
 
+    @UnsupportedAppUsage
     public static final Parcelable.ClassLoaderCreator<ParcelableParcel> CREATOR
             = new Parcelable.ClassLoaderCreator<ParcelableParcel>() {
         public ParcelableParcel createFromParcel(Parcel in) {
diff --git a/core/java/android/os/PerformanceCollector.java b/core/java/android/os/PerformanceCollector.java
index be1cf6d..33c86b8 100644
--- a/core/java/android/os/PerformanceCollector.java
+++ b/core/java/android/os/PerformanceCollector.java
@@ -17,6 +17,7 @@
 package android.os;
 
 
+import android.annotation.UnsupportedAppUsage;
 import java.util.ArrayList;
 
 /**
@@ -285,6 +286,7 @@
     private long mCpuTime;
     private long mExecTime;
 
+    @UnsupportedAppUsage
     public PerformanceCollector() {
     }
 
@@ -302,6 +304,7 @@
      * @param label description of code block between beginSnapshot and
      *              endSnapshot, used to label output
      */
+    @UnsupportedAppUsage
     public void beginSnapshot(String label) {
         if (mPerfWriter != null)
             mPerfWriter.writeBeginSnapshot(label);
@@ -346,6 +349,7 @@
      *         <li>{@link #METRIC_KEY_OTHER_SHARED_DIRTY other_shared_dirty}
      *         </ul>
      */
+    @UnsupportedAppUsage
     public Bundle endSnapshot() {
         endPerformanceSnapshot();
         if (mPerfWriter != null)
@@ -359,6 +363,7 @@
      * @param label description of code block between startTiming and
      *        stopTiming, used to label output
      */
+    @UnsupportedAppUsage
     public void startTiming(String label) {
         if (mPerfWriter != null)
             mPerfWriter.writeStartTiming(label);
@@ -408,6 +413,7 @@
      *         between calls to startTiming and stopTiming. List of iterations
      *         is keyed by {@link #METRIC_KEY_ITERATIONS iterations}.
      */
+    @UnsupportedAppUsage
     public Bundle stopTiming(String label) {
         addIteration(label);
         if (mPerfWriter != null)
diff --git a/core/java/android/os/PowerManager.java b/core/java/android/os/PowerManager.java
index c906d33..36bae2d 100644
--- a/core/java/android/os/PowerManager.java
+++ b/core/java/android/os/PowerManager.java
@@ -25,6 +25,7 @@
 import android.annotation.SystemApi;
 import android.annotation.SystemService;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.service.dreams.Sandman;
 import android.util.ArrayMap;
@@ -290,6 +291,7 @@
      * Brightness value for fully on.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int BRIGHTNESS_ON = 255;
 
     /**
@@ -384,6 +386,7 @@
      * Go to sleep reason code: Going to sleep due to a screen timeout.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int GO_TO_SLEEP_REASON_TIMEOUT = 2;
 
     /**
@@ -805,11 +808,13 @@
     }
 
     final Context mContext;
+    @UnsupportedAppUsage
     final IPowerManager mService;
     final Handler mHandler;
 
     IThermalService mThermalService;
-    private ArrayMap<ThermalStatusCallback, IThermalStatusListener> mCallbackMap = new ArrayMap<>();
+    private final ArrayMap<OnThermalStatusChangedListener, IThermalStatusListener>
+            mListenerMap = new ArrayMap<>();
 
     IDeviceIdleController mIDeviceIdleController;
 
@@ -828,6 +833,7 @@
      * this is the minimum value that can be set by the user.
      * @hide
      */
+    @UnsupportedAppUsage
     public int getMinimumScreenBrightnessSetting() {
         return mContext.getResources().getInteger(
                 com.android.internal.R.integer.config_screenBrightnessSettingMinimum);
@@ -839,6 +845,7 @@
      * this is the maximum value that can be set by the user.
      * @hide
      */
+    @UnsupportedAppUsage
     public int getMaximumScreenBrightnessSetting() {
         return mContext.getResources().getInteger(
                 com.android.internal.R.integer.config_screenBrightnessSettingMaximum);
@@ -848,6 +855,7 @@
      * Gets the default screen brightness setting.
      * @hide
      */
+    @UnsupportedAppUsage
     public int getDefaultScreenBrightnessSetting() {
         return mContext.getResources().getInteger(
                 com.android.internal.R.integer.config_screenBrightnessSettingDefault);
@@ -962,6 +970,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public static void validateWakeLockParameters(int levelAndFlags, String tag) {
         switch (levelAndFlags & WAKE_LOCK_LEVEL_MASK) {
             case PARTIAL_WAKE_LOCK:
@@ -1094,6 +1103,7 @@
      *
      * @hide Requires signature permission.
      */
+    @UnsupportedAppUsage
     public void goToSleep(long time, int reason, int flags) {
         try {
             mService.goToSleep(time, reason, flags);
@@ -1150,6 +1160,7 @@
      * @deprecated Use {@link #wakeUp(long, int, String)} instead.
      * @hide
      */
+    @UnsupportedAppUsage
     @Deprecated
     public void wakeUp(long time, String details) {
         wakeUp(time, WAKE_REASON_UNKNOWN, details);
@@ -1418,9 +1429,9 @@
             android.Manifest.permission.DEVICE_POWER,
             android.Manifest.permission.POWER_SAVER
     })
-    public boolean setPowerSaveMode(boolean mode) {
+    public boolean setPowerSaveModeEnabled(boolean mode) {
         try {
-            return mService.setPowerSaveMode(mode);
+            return mService.setPowerSaveModeEnabled(mode);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -1634,6 +1645,7 @@
      * restrictions have been lifted.
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean isLightDeviceIdleMode() {
         try {
             return mService.isLightDeviceIdleMode();
@@ -1769,51 +1781,73 @@
     }
 
     /**
-     * Callback passed to
-     * {@link PowerManager#registerThermalStatusCallback} and
-     * {@link PowerManager#unregisterThermalStatusCallback}
-     * to notify caller of thermal status.
+     * Listener passed to
+     * {@link PowerManager#addThermalStatusListener} and
+     * {@link PowerManager#removeThermalStatusListener}
+     * to notify caller of thermal status has changed.
      */
-    public abstract static class ThermalStatusCallback {
+    public interface OnThermalStatusChangedListener {
 
         /**
          * Called when overall thermal throttling status changed.
          * @param status defined in {@link android.os.Temperature}.
          */
-        public void onStatusChange(@ThermalStatus int status) {}
+        void onThermalStatusChanged(@ThermalStatus int status);
     }
 
+
     /**
-     * This function registers a callback for thermal status change.
+     * This function adds a listener for thermal status change, listen call back will be
+     * enqueued tasks on the main thread
      *
-     * @param callback callback to be registered.
-     * @param executor {@link Executor} to handle the callbacks.
+     * @param listener listener to be added,
      */
-    public void registerThermalStatusCallback(
-            @NonNull ThermalStatusCallback callback, @NonNull @CallbackExecutor Executor executor) {
-        Preconditions.checkNotNull(callback, "callback cannnot be null");
-        Preconditions.checkNotNull(executor, "executor cannnot be null");
+    public void addThermalStatusListener(@NonNull OnThermalStatusChangedListener listener) {
+        Preconditions.checkNotNull(listener, "listener cannot be null");
         synchronized (this) {
             if (mThermalService == null) {
                 mThermalService = IThermalService.Stub.asInterface(
                         ServiceManager.getService(Context.THERMAL_SERVICE));
             }
-            try {
-                if (mCallbackMap.containsKey(callback)) {
-                    throw new IllegalArgumentException("ThermalStatusCallback already registered");
-                }
-                IThermalStatusListener listener = new IThermalStatusListener.Stub() {
-                    @Override
-                    public void onStatusChange(int status) {
+            this.addThermalStatusListener(mContext.getMainExecutor(), listener);
+        }
+    }
+
+    /**
+     * This function adds a listener for thermal status change.
+     *
+     * @param executor {@link Executor} to handle listener callback.
+     * @param listener listener to be added.
+     */
+    public void addThermalStatusListener(@NonNull @CallbackExecutor Executor executor,
+            @NonNull OnThermalStatusChangedListener listener) {
+        Preconditions.checkNotNull(listener, "listener cannot be null");
+        Preconditions.checkNotNull(executor, "executor cannot be null");
+        synchronized (this) {
+            if (mThermalService == null) {
+                mThermalService = IThermalService.Stub.asInterface(
+                        ServiceManager.getService(Context.THERMAL_SERVICE));
+            }
+            Preconditions.checkArgument(!mListenerMap.containsKey(listener),
+                    "Listener already registered: " + listener);
+            IThermalStatusListener internalListener = new IThermalStatusListener.Stub() {
+                @Override
+                public void onStatusChange(int status) {
+                    final long token = Binder.clearCallingIdentity();
+                    try {
                         executor.execute(() -> {
-                            callback.onStatusChange(status);
+                            listener.onThermalStatusChanged(status);
                         });
+                    } finally {
+                        Binder.restoreCallingIdentity(token);
                     }
-                };
-                if (mThermalService.registerThermalStatusListener(listener)) {
-                    mCallbackMap.put(callback, listener);
+                }
+            };
+            try {
+                if (mThermalService.registerThermalStatusListener(internalListener)) {
+                    mListenerMap.put(listener, internalListener);
                 } else {
-                    throw new RuntimeException("ThermalStatusCallback failed to register");
+                    throw new RuntimeException("Listener failed to set");
                 }
             } catch (RemoteException e) {
                 throw e.rethrowFromSystemServer();
@@ -1822,28 +1856,24 @@
     }
 
     /**
-     * This function unregisters a callback for thermal status change.
+     * This function removes a listener for thermal status change
      *
-     * @param callback to be unregistered.
-     *
-     * see {@link #registerThermalStatusCallback}
+     * @param listener listener to be removed
      */
-    public void unregisterThermalStatusCallback(@NonNull ThermalStatusCallback callback) {
-        Preconditions.checkNotNull(callback, "callback cannnot be null");
+    public void removeThermalStatusListener(@NonNull OnThermalStatusChangedListener listener) {
+        Preconditions.checkNotNull(listener, "listener cannot be null");
         synchronized (this) {
             if (mThermalService == null) {
                 mThermalService = IThermalService.Stub.asInterface(
                         ServiceManager.getService(Context.THERMAL_SERVICE));
             }
+            IThermalStatusListener internalListener = mListenerMap.get(listener);
+            Preconditions.checkArgument(internalListener != null, "Listener was not added");
             try {
-                IThermalStatusListener listener = mCallbackMap.get(callback);
-                if (listener == null) {
-                    throw new IllegalArgumentException("ThermalStatusCallback not registered");
-                }
-                if (mThermalService.unregisterThermalStatusListener(listener)) {
-                    mCallbackMap.remove(callback);
+                if (mThermalService.unregisterThermalStatusListener(internalListener)) {
+                    mListenerMap.remove(listener);
                 } else {
-                    throw new RuntimeException("ThermalStatusCallback failed to unregister");
+                    throw new RuntimeException("Listener failed to remove");
                 }
             } catch (RemoteException e) {
                 throw e.rethrowFromSystemServer();
@@ -1951,6 +1981,7 @@
      * This broadcast is only sent to registered receivers.
      * @hide
      */
+    @UnsupportedAppUsage
     @SdkConstant(SdkConstant.SdkConstantType.BROADCAST_INTENT_ACTION)
     public static final String ACTION_LIGHT_DEVICE_IDLE_MODE_CHANGED
             = "android.os.action.LIGHT_DEVICE_IDLE_MODE_CHANGED";
@@ -1977,11 +2008,13 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     @SdkConstant(SdkConstant.SdkConstantType.BROADCAST_INTENT_ACTION)
     public static final String ACTION_POWER_SAVE_MODE_CHANGING
             = "android.os.action.POWER_SAVE_MODE_CHANGING";
 
     /** @hide */
+    @UnsupportedAppUsage
     public static final String EXTRA_POWER_SAVE_MODE = "mode";
 
     /**
@@ -2032,7 +2065,9 @@
      * </p>
      */
     public final class WakeLock {
+        @UnsupportedAppUsage
         private int mFlags;
+        @UnsupportedAppUsage
         private String mTag;
         private final String mPackageName;
         private final IBinder mToken;
diff --git a/core/java/android/os/Process.java b/core/java/android/os/Process.java
index 03fc2a9..a7ac7a1 100644
--- a/core/java/android/os/Process.java
+++ b/core/java/android/os/Process.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.system.Os;
 import android.system.OsConstants;
 import android.webkit.WebViewZygote;
@@ -60,30 +61,35 @@
      * Defines the UID/GID for the log group.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int LOG_UID = 1007;
 
     /**
      * Defines the UID/GID for the WIFI supplicant process.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int WIFI_UID = 1010;
 
     /**
      * Defines the UID/GID for the mediaserver process.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int MEDIA_UID = 1013;
 
     /**
      * Defines the UID/GID for the DRM process.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int DRM_UID = 1019;
 
     /**
      * Defines the UID/GID for the group that controls VPN services.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int VPN_UID = 1016;
 
     /**
@@ -96,6 +102,7 @@
      * Defines the UID/GID for the NFC service process.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int NFC_UID = 1027;
 
     /**
@@ -600,6 +607,7 @@
      * Returns the identifier of this process' parent.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int myPpid() {
         return Os.getppid();
     }
@@ -658,6 +666,7 @@
     }
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public static final boolean isIsolated(int uid) {
         uid = UserHandle.getAppId(uid);
         return (uid >= FIRST_ISOLATED_UID && uid <= LAST_ISOLATED_UID)
@@ -684,6 +693,7 @@
      * @return the uid of the process, or -1 if the process is not running.
      * @hide pending API council review
      */
+    @UnsupportedAppUsage
     public static final int getUidForPid(int pid) {
         String[] procStatusLabels = { "Uid:" };
         long[] procStatusValues = new long[1];
@@ -698,6 +708,7 @@
      * @return the parent process id of the process, or -1 if the process is not running.
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int getParentPid(int pid) {
         String[] procStatusLabels = { "PPid:" };
         long[] procStatusValues = new long[1];
@@ -801,6 +812,7 @@
      *
      * Always sets cpusets.
      */
+    @UnsupportedAppUsage
     public static final native void setProcessGroup(int pid, int group)
             throws IllegalArgumentException, SecurityException;
 
@@ -942,6 +954,7 @@
      * 
      * {@hide}
      */
+    @UnsupportedAppUsage
     public static final native void setArgV0(String text);
 
     /**
@@ -992,41 +1005,55 @@
     public static final native void sendSignalQuiet(int pid, int signal);
     
     /** @hide */
+    @UnsupportedAppUsage
     public static final native long getFreeMemory();
     
     /** @hide */
+    @UnsupportedAppUsage
     public static final native long getTotalMemory();
     
     /** @hide */
+    @UnsupportedAppUsage
     public static final native void readProcLines(String path,
             String[] reqFields, long[] outSizes);
     
     /** @hide */
+    @UnsupportedAppUsage
     public static final native int[] getPids(String path, int[] lastArray);
     
     /** @hide */
+    @UnsupportedAppUsage
     public static final int PROC_TERM_MASK = 0xff;
     /** @hide */
+    @UnsupportedAppUsage
     public static final int PROC_ZERO_TERM = 0;
     /** @hide */
+    @UnsupportedAppUsage
     public static final int PROC_SPACE_TERM = (int)' ';
     /** @hide */
+    @UnsupportedAppUsage
     public static final int PROC_TAB_TERM = (int)'\t';
     /** @hide */
     public static final int PROC_NEWLINE_TERM = (int) '\n';
     /** @hide */
+    @UnsupportedAppUsage
     public static final int PROC_COMBINE = 0x100;
     /** @hide */
+    @UnsupportedAppUsage
     public static final int PROC_PARENS = 0x200;
     /** @hide */
+    @UnsupportedAppUsage
     public static final int PROC_QUOTES = 0x400;
     /** @hide */
     public static final int PROC_CHAR = 0x800;
     /** @hide */
+    @UnsupportedAppUsage
     public static final int PROC_OUT_STRING = 0x1000;
     /** @hide */
+    @UnsupportedAppUsage
     public static final int PROC_OUT_LONG = 0x2000;
     /** @hide */
+    @UnsupportedAppUsage
     public static final int PROC_OUT_FLOAT = 0x4000;
 
     /**
@@ -1058,14 +1085,17 @@
      * @param outFloats the parsed {@code float}s from the file
      * @hide
      */
+    @UnsupportedAppUsage
     public static final native boolean readProcFile(String file, int[] format,
             String[] outStrings, long[] outLongs, float[] outFloats);
 
     /** @hide */
+    @UnsupportedAppUsage
     public static final native boolean parseProcLine(byte[] buffer, int startIndex, 
             int endIndex, int[] format, String[] outStrings, long[] outLongs, float[] outFloats);
 
     /** @hide */
+    @UnsupportedAppUsage
     public static final native int[] getPidsForCommands(String[] cmds);
 
     /**
@@ -1076,6 +1106,7 @@
      *  or -1 if the value cannot be determined 
      * @hide
      */
+    @UnsupportedAppUsage
     public static final native long getPss(int pid);
 
     /** @hide */
diff --git a/core/java/android/os/RecoverySystem.java b/core/java/android/os/RecoverySystem.java
index 3ee54ce..6a01e56 100644
--- a/core/java/android/os/RecoverySystem.java
+++ b/core/java/android/os/RecoverySystem.java
@@ -22,6 +22,7 @@
 import android.annotation.SuppressLint;
 import android.annotation.SystemApi;
 import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
 import android.app.PendingIntent;
 import android.content.BroadcastReceiver;
 import android.content.ContentResolver;
@@ -355,6 +356,7 @@
      *
      * @return the verification result.
      */
+    @UnsupportedAppUsage
     private static boolean verifyPackageCompatibility(InputStream inputStream) throws IOException {
         ArrayList<String> list = new ArrayList<>();
         ZipInputStream zis = new ZipInputStream(inputStream);
diff --git a/core/java/android/os/Registrant.java b/core/java/android/os/Registrant.java
index 705cc5d..8fb123a 100644
--- a/core/java/android/os/Registrant.java
+++ b/core/java/android/os/Registrant.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Handler;
 import android.os.Message;
 
@@ -24,6 +25,7 @@
 /** @hide */
 public class Registrant
 {
+    @UnsupportedAppUsage
     public
     Registrant(Handler h, int what, Object obj)
     {
@@ -32,6 +34,7 @@
         userObj = obj;
     }
 
+    @UnsupportedAppUsage
     public void
     clear()
     {
@@ -39,12 +42,14 @@
         userObj = null;
     }
 
+    @UnsupportedAppUsage
     public void
     notifyRegistrant()
     {
         internalNotifyRegistrant (null, null);
     }
     
+    @UnsupportedAppUsage
     public void
     notifyResult(Object result)
     {
@@ -60,6 +65,7 @@
     /**
      * This makes a copy of @param ar
      */
+    @UnsupportedAppUsage
     public void
     notifyRegistrant(AsyncResult ar)
     {
@@ -88,6 +94,7 @@
      * NOTE: May return null if weak reference has been collected
      */
 
+    @UnsupportedAppUsage
     public Message
     messageForRegistrant()
     {
diff --git a/core/java/android/os/RegistrantList.java b/core/java/android/os/RegistrantList.java
index 9ab61f5..6e562ff 100644
--- a/core/java/android/os/RegistrantList.java
+++ b/core/java/android/os/RegistrantList.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import android.os.Handler;         
 
 import java.util.ArrayList;
@@ -25,12 +26,14 @@
 {
     ArrayList   registrants = new ArrayList();      // of Registrant
 
+    @UnsupportedAppUsage
     public synchronized void
     add(Handler h, int what, Object obj)
     {
         add(new Registrant(h, what, obj));
     }
 
+    @UnsupportedAppUsage
     public synchronized void
     addUnique(Handler h, int what, Object obj)
     {
@@ -39,6 +42,7 @@
         add(new Registrant(h, what, obj));        
     }
     
+    @UnsupportedAppUsage
     public synchronized void
     add(Registrant r)
     {
@@ -46,6 +50,7 @@
         registrants.add(r);
     }
 
+    @UnsupportedAppUsage
     public synchronized void
     removeCleared()
     {
@@ -58,6 +63,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public synchronized int
     size()
     {
@@ -79,6 +85,7 @@
        }
     }
     
+    @UnsupportedAppUsage
     public /*synchronized*/ void
     notifyRegistrants()
     {
@@ -91,6 +98,7 @@
         internalNotifyRegistrants (null, exception);
     }
 
+    @UnsupportedAppUsage
     public /*synchronized*/ void
     notifyResult(Object result)
     {
@@ -98,12 +106,14 @@
     }
 
     
+    @UnsupportedAppUsage
     public /*synchronized*/ void
     notifyRegistrants(AsyncResult ar)
     {
         internalNotifyRegistrants(ar.result, ar.exception);
     }
     
+    @UnsupportedAppUsage
     public synchronized void
     remove(Handler h)
     {
diff --git a/core/java/android/os/RemoteCallbackList.java b/core/java/android/os/RemoteCallbackList.java
index be8f784..b377e8d 100644
--- a/core/java/android/os/RemoteCallbackList.java
+++ b/core/java/android/os/RemoteCallbackList.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import android.util.ArrayMap;
 import android.util.Slog;
 
@@ -53,6 +54,7 @@
 public class RemoteCallbackList<E extends IInterface> {
     private static final String TAG = "RemoteCallbackList";
 
+    @UnsupportedAppUsage
     /*package*/ ArrayMap<IBinder, Callback> mCallbacks
             = new ArrayMap<IBinder, Callback>();
     private Object[] mActiveBroadcast;
diff --git a/core/java/android/os/RemoteException.java b/core/java/android/os/RemoteException.java
index 4e8b971..2e673a8 100644
--- a/core/java/android/os/RemoteException.java
+++ b/core/java/android/os/RemoteException.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import android.util.AndroidException;
 
 /**
@@ -54,6 +55,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public RuntimeException rethrowFromSystemServer() {
         if (this instanceof DeadObjectException) {
             throw new RuntimeException(new DeadSystemException());
diff --git a/core/java/android/os/SELinux.java b/core/java/android/os/SELinux.java
index a96618a..8ffafe4 100644
--- a/core/java/android/os/SELinux.java
+++ b/core/java/android/os/SELinux.java
@@ -42,12 +42,14 @@
      * Determine whether SELinux is disabled or enabled.
      * @return a boolean indicating whether SELinux is enabled.
      */
+    @UnsupportedAppUsage
     public static final native boolean isSELinuxEnabled();
 
     /**
      * Determine whether SELinux is permissive or enforcing.
      * @return a boolean indicating whether SELinux is enforcing.
      */
+    @UnsupportedAppUsage
     public static final native boolean isSELinuxEnforced();
 
     /**
@@ -91,6 +93,7 @@
      * Gets the security context of the current process.
      * @return a String representing the security context of the current process.
      */
+    @UnsupportedAppUsage
     public static final native String getContext();
 
     /**
@@ -98,6 +101,7 @@
      * @param pid an int representing the process id to check.
      * @return a String representing the security context of the given pid.
      */
+    @UnsupportedAppUsage
     public static final native String getPidContext(int pid);
 
     /**
@@ -108,6 +112,7 @@
      * @param perm The permission name.
      * @return a boolean indicating whether permission was granted.
      */
+    @UnsupportedAppUsage
     public static final native boolean checkSELinuxAccess(String scon, String tcon, String tclass, String perm);
 
     /**
@@ -167,6 +172,7 @@
      *
      * @return a boolean indicating whether the relabeling succeeded.
      */
+    @UnsupportedAppUsage
     public static boolean restoreconRecursive(File file) {
         try {
             return native_restorecon(file.getCanonicalPath(), SELINUX_ANDROID_RESTORECON_RECURSE);
diff --git a/core/java/android/os/ServiceManager.java b/core/java/android/os/ServiceManager.java
index 2966bff..9a9b030 100644
--- a/core/java/android/os/ServiceManager.java
+++ b/core/java/android/os/ServiceManager.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import android.util.ArrayMap;
 import android.util.Log;
 
@@ -30,11 +31,13 @@
     private static final String TAG = "ServiceManager";
     private static final Object sLock = new Object();
 
+    @UnsupportedAppUsage
     private static IServiceManager sServiceManager;
 
     /**
      * Cache for the "well known" services, such as WM and AM.
      */
+    @UnsupportedAppUsage
     private static Map<String, IBinder> sCache = new ArrayMap<String, IBinder>();
 
     /**
@@ -98,6 +101,7 @@
             "getService()",
     });
 
+    @UnsupportedAppUsage
     private static IServiceManager getIServiceManager() {
         if (sServiceManager != null) {
             return sServiceManager;
@@ -115,6 +119,7 @@
      * @param name the name of the service to get
      * @return a reference to the service, or <code>null</code> if the service doesn't exist
      */
+    @UnsupportedAppUsage
     public static IBinder getService(String name) {
         try {
             IBinder service = sCache.get(name);
@@ -151,6 +156,7 @@
      * @param name the name of the new service
      * @param service the service object
      */
+    @UnsupportedAppUsage
     public static void addService(String name, IBinder service) {
         addService(name, service, false, IServiceManager.DUMP_FLAG_PRIORITY_DEFAULT);
     }
@@ -164,6 +170,7 @@
      * @param allowIsolated set to true to allow isolated sandboxed processes
      * to access this service
      */
+    @UnsupportedAppUsage
     public static void addService(String name, IBinder service, boolean allowIsolated) {
         addService(name, service, allowIsolated, IServiceManager.DUMP_FLAG_PRIORITY_DEFAULT);
     }
@@ -178,6 +185,7 @@
      * @param dumpPriority supported dump priority levels as a bitmask
      * to access this service
      */
+    @UnsupportedAppUsage
     public static void addService(String name, IBinder service, boolean allowIsolated,
             int dumpPriority) {
         try {
@@ -191,6 +199,7 @@
      * Retrieve an existing service called @a name from the
      * service manager.  Non-blocking.
      */
+    @UnsupportedAppUsage
     public static IBinder checkService(String name) {
         try {
             IBinder service = sCache.get(name);
@@ -210,6 +219,7 @@
      * @return an array of all currently running services, or <code>null</code> in
      * case of an exception
      */
+    @UnsupportedAppUsage
     public static String[] listServices() {
         try {
             return getIServiceManager().listServices(IServiceManager.DUMP_FLAG_PRIORITY_ALL);
diff --git a/core/java/android/os/ServiceManagerNative.java b/core/java/android/os/ServiceManagerNative.java
index 589b8c4..b7c026c 100644
--- a/core/java/android/os/ServiceManagerNative.java
+++ b/core/java/android/os/ServiceManagerNative.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import java.util.ArrayList;
 
 
@@ -30,6 +31,7 @@
      * Cast a Binder object into a service manager interface, generating
      * a proxy if needed.
      */
+    @UnsupportedAppUsage
     static public IServiceManager asInterface(IBinder obj)
     {
         if (obj == null) {
@@ -117,6 +119,7 @@
         return mRemote;
     }
 
+    @UnsupportedAppUsage
     public IBinder getService(String name) throws RemoteException {
         Parcel data = Parcel.obtain();
         Parcel reply = Parcel.obtain();
@@ -196,5 +199,6 @@
         data.recycle();
     }
 
+    @UnsupportedAppUsage
     private IBinder mRemote;
 }
diff --git a/core/java/android/os/SharedMemory.java b/core/java/android/os/SharedMemory.java
index 395485b..57a8801 100644
--- a/core/java/android/os/SharedMemory.java
+++ b/core/java/android/os/SharedMemory.java
@@ -18,6 +18,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.system.ErrnoException;
 import android.system.Os;
 import android.system.OsConstants;
@@ -156,6 +157,7 @@
      *
      * @hide Exposed for native ASharedMemory_dupFromJava()
      */
+    @UnsupportedAppUsage
     public int getFd() {
         return mFileDescriptor.getInt$();
     }
diff --git a/core/java/android/os/ShellCommand.java b/core/java/android/os/ShellCommand.java
index 5228d6d..2fe8726 100644
--- a/core/java/android/os/ShellCommand.java
+++ b/core/java/android/os/ShellCommand.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import android.util.Slog;
 
 import com.android.internal.util.FastPrintWriter;
@@ -304,6 +305,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     public String peekNextArg() {
         if (mCurArgData != null) {
             return mCurArgData;
diff --git a/core/java/android/os/StatFs.java b/core/java/android/os/StatFs.java
index 4e0b238..881d0b4 100644
--- a/core/java/android/os/StatFs.java
+++ b/core/java/android/os/StatFs.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import android.system.ErrnoException;
 import android.system.Os;
 import android.system.StructStatVfs;
@@ -25,6 +26,7 @@
  * wrapper for Unix statvfs().
  */
 public class StatFs {
+    @UnsupportedAppUsage
     private StructStatVfs mStat;
 
     /**
diff --git a/core/java/android/os/StrictMode.java b/core/java/android/os/StrictMode.java
index f0b83d8..94cca30 100644
--- a/core/java/android/os/StrictMode.java
+++ b/core/java/android/os/StrictMode.java
@@ -20,6 +20,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityManager;
 import android.app.ActivityThread;
 import android.app.IActivityManager;
@@ -421,6 +422,7 @@
         /** The default, lax policy which doesn't catch anything. */
         public static final ThreadPolicy LAX = new ThreadPolicy(0, null, null);
 
+        @UnsupportedAppUsage
         final @ThreadPolicyMask int mask;
         final OnThreadViolationListener mListener;
         final Executor mCallbackExecutor;
@@ -713,6 +715,7 @@
         /** The default, lax policy which doesn't catch anything. */
         public static final VmPolicy LAX = new VmPolicy(0, EMPTY_CLASS_LIMIT_MAP, null, null);
 
+        @UnsupportedAppUsage
         final @VmPolicyMask int mask;
         final OnVmViolationListener mListener;
         final Executor mCallbackExecutor;
@@ -758,6 +761,7 @@
          * </pre>
          */
         public static final class Builder {
+            @UnsupportedAppUsage
             private @VmPolicyMask int mMask;
             private OnVmViolationListener mListener;
             private Executor mExecutor;
@@ -1208,6 +1212,7 @@
      * @return the bitmask of all the DETECT_* and PENALTY_* bits currently enabled
      * @hide
      */
+    @UnsupportedAppUsage
     public static @ThreadPolicyMask int getThreadPolicyMask() {
         final BlockGuard.Policy policy = BlockGuard.getThreadPolicy();
         if (policy instanceof AndroidBlockGuardPolicy) {
@@ -1412,6 +1417,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static void enableDeathOnFileUriExposure() {
         sVmPolicy =
                 new VmPolicy(
@@ -1429,6 +1435,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static void disableDeathOnFileUriExposure() {
         sVmPolicy =
                 new VmPolicy(
@@ -1440,6 +1447,7 @@
                         sVmPolicy.mCallbackExecutor);
     }
 
+    @UnsupportedAppUsage
     private static final ThreadLocal<ArrayList<ViolationInfo>> violationsBeingTimed =
             new ThreadLocal<ArrayList<ViolationInfo>>() {
                 @Override
@@ -2051,6 +2059,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public static void onWebViewMethodCalledOnWrongThread(Throwable originStack) {
         onVmPolicyViolation(new WebViewMethodCalledOnWrongThreadViolation(originStack));
     }
@@ -2155,6 +2164,7 @@
     }
 
     // Map from VM violation fingerprint to uptime millis.
+    @UnsupportedAppUsage
     private static final HashMap<Integer, Long> sLastVmViolationTime = new HashMap<>();
 
     /** @hide */
@@ -2280,6 +2290,7 @@
      * Binder for its current (native) thread-local policy value and synchronize it to libcore's
      * (Java) thread-local policy value.
      */
+    @UnsupportedAppUsage
     private static void onBinderStrictModePolicyChange(@ThreadPolicyMask int newPolicy) {
         setBlockGuardPolicy(newPolicy);
     }
@@ -2316,6 +2327,7 @@
          *
          * @hide
          */
+        @UnsupportedAppUsage
         public void finish() {
             ThreadSpanState state = mContainerState;
             synchronized (state) {
@@ -2387,6 +2399,7 @@
                 }
             };
 
+    @UnsupportedAppUsage
     private static Singleton<IWindowManager> sWindowManager =
             new Singleton<IWindowManager>() {
                 protected IWindowManager create() {
@@ -2407,6 +2420,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static Span enterCriticalSpan(String name) {
         if (Build.IS_USER) {
             return NO_OP_SPAN;
@@ -2516,6 +2530,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public static void incrementExpectedActivityCount(Class klass) {
         if (klass == null) {
             return;
diff --git a/core/java/android/os/SystemClock.java b/core/java/android/os/SystemClock.java
index b254166..e695a1b 100644
--- a/core/java/android/os/SystemClock.java
+++ b/core/java/android/os/SystemClock.java
@@ -17,6 +17,7 @@
 package android.os;
 
 import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
 import android.app.IAlarmManager;
 import android.content.Context;
 import android.util.Slog;
@@ -104,6 +105,7 @@
     /**
      * This class is uninstantiable.
      */
+    @UnsupportedAppUsage
     private SystemClock() {
         // This space intentionally left blank.
     }
@@ -241,6 +243,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     @CriticalNative
     public static native long currentThreadTimeMicro();
 
@@ -251,6 +254,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     @CriticalNative
     public static native long currentTimeMicro();
 
diff --git a/core/java/android/os/SystemProperties.java b/core/java/android/os/SystemProperties.java
index cbcf600..edfdda8 100644
--- a/core/java/android/os/SystemProperties.java
+++ b/core/java/android/os/SystemProperties.java
@@ -20,6 +20,7 @@
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.util.Log;
 import android.util.MutableInt;
 
@@ -51,11 +52,13 @@
      * uses reflection to read this whenever text is selected (http://b/36095274).
      * @hide
      */
+    @UnsupportedAppUsage
     public static final int PROP_NAME_MAX = Integer.MAX_VALUE;
 
     /** @hide */
     public static final int PROP_VALUE_MAX = 91;
 
+    @UnsupportedAppUsage
     @GuardedBy("sChangeCallbacks")
     private static final ArrayList<Runnable> sChangeCallbacks = new ArrayList<Runnable>();
 
@@ -83,9 +86,11 @@
         }
     }
 
+    @UnsupportedAppUsage
     private static native String native_get(String key);
     private static native String native_get(String key, String def);
     private static native int native_get_int(String key, int def);
+    @UnsupportedAppUsage
     private static native long native_get_long(String key, long def);
     private static native boolean native_get_boolean(String key, boolean def);
     private static native void native_set(String key, String def);
@@ -180,6 +185,7 @@
      * @throws IllegalArgumentException if the {@code val} exceeds 91 characters
      * @hide
      */
+    @UnsupportedAppUsage
     public static void set(@NonNull String key, @Nullable String val) {
         if (val != null && !val.startsWith("ro.") && val.length() > PROP_VALUE_MAX) {
             throw new IllegalArgumentException("value of system property '" + key
@@ -196,6 +202,7 @@
      * changes.
      * @hide
      */
+    @UnsupportedAppUsage
     public static void addChangeCallback(@NonNull Runnable callback) {
         synchronized (sChangeCallbacks) {
             if (sChangeCallbacks.size() == 0) {
@@ -233,6 +240,7 @@
      * Notifies listeners that a system property has changed
      * @hide
      */
+    @UnsupportedAppUsage
     public static void reportSyspropChanged() {
         native_report_sysprop_change();
     }
@@ -258,6 +266,7 @@
         }
     }
 
+    @UnsupportedAppUsage
     private SystemProperties() {
     }
 }
diff --git a/core/java/android/os/SystemService.java b/core/java/android/os/SystemService.java
index 41e7546..968c761 100644
--- a/core/java/android/os/SystemService.java
+++ b/core/java/android/os/SystemService.java
@@ -18,6 +18,7 @@
 
 import com.google.android.collect.Maps;
 
+import android.annotation.UnsupportedAppUsage;
 import java.util.HashMap;
 import java.util.concurrent.TimeoutException;
 
@@ -58,11 +59,13 @@
     }
 
     /** Request that the init daemon start a named service. */
+    @UnsupportedAppUsage
     public static void start(String name) {
         SystemProperties.set("ctl.start", name);
     }
 
     /** Request that the init daemon stop a named service. */
+    @UnsupportedAppUsage
     public static void stop(String name) {
         SystemProperties.set("ctl.stop", name);
     }
diff --git a/core/java/android/os/SystemVibrator.java b/core/java/android/os/SystemVibrator.java
index c989197..4af514a 100644
--- a/core/java/android/os/SystemVibrator.java
+++ b/core/java/android/os/SystemVibrator.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.media.AudioAttributes;
 import android.util.Log;
@@ -31,10 +32,12 @@
     private final IVibratorService mService;
     private final Binder mToken = new Binder();
 
+    @UnsupportedAppUsage
     public SystemVibrator() {
         mService = IVibratorService.Stub.asInterface(ServiceManager.getService("vibrator"));
     }
 
+    @UnsupportedAppUsage
     public SystemVibrator(Context context) {
         super(context);
         mService = IVibratorService.Stub.asInterface(ServiceManager.getService("vibrator"));
diff --git a/core/java/android/os/Trace.java b/core/java/android/os/Trace.java
index 68d6d85..1456a73 100644
--- a/core/java/android/os/Trace.java
+++ b/core/java/android/os/Trace.java
@@ -17,6 +17,7 @@
 package android.os;
 
 import android.annotation.NonNull;
+import android.annotation.UnsupportedAppUsage;
 
 import com.android.internal.os.Zygote;
 
@@ -52,6 +53,7 @@
     /** @hide */
     public static final long TRACE_TAG_INPUT = 1L << 2;
     /** @hide */
+    @UnsupportedAppUsage
     public static final long TRACE_TAG_VIEW = 1L << 3;
     /** @hide */
     public static final long TRACE_TAG_WEBVIEW = 1L << 4;
@@ -70,6 +72,7 @@
     /** @hide */
     public static final long TRACE_TAG_HAL = 1L << 11;
     /** @hide */
+    @UnsupportedAppUsage
     public static final long TRACE_TAG_APP = 1L << 12;
     /** @hide */
     public static final long TRACE_TAG_RESOURCES = 1L << 13;
@@ -104,10 +107,12 @@
     private static final int MAX_SECTION_NAME_LEN = 127;
 
     // Must be volatile to avoid word tearing.
+    @UnsupportedAppUsage
     private static volatile long sEnabledTags = TRACE_TAG_NOT_READY;
 
     private static int sZygoteDebugFlags = 0;
 
+    @UnsupportedAppUsage
     private static native long nativeGetEnabledTags();
     private static native void nativeSetAppTracingAllowed(boolean allowed);
     private static native void nativeSetTracingEnabled(boolean allowed);
@@ -171,6 +176,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static boolean isTagEnabled(long traceTag) {
         long tags = sEnabledTags;
         if (tags == TRACE_TAG_NOT_READY) {
@@ -188,6 +194,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static void traceCounter(long traceTag, String counterName, int counterValue) {
         if (isTagEnabled(traceTag)) {
             nativeTraceCounter(traceTag, counterName, counterValue);
@@ -200,6 +207,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static void setAppTracingAllowed(boolean allowed) {
         nativeSetAppTracingAllowed(allowed);
 
@@ -235,6 +243,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static void traceBegin(long traceTag, String methodName) {
         if (isTagEnabled(traceTag)) {
             nativeTraceBegin(traceTag, methodName);
@@ -249,6 +258,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static void traceEnd(long traceTag) {
         if (isTagEnabled(traceTag)) {
             nativeTraceEnd(traceTag);
@@ -268,6 +278,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static void asyncTraceBegin(long traceTag, String methodName, int cookie) {
         if (isTagEnabled(traceTag)) {
             nativeAsyncTraceBegin(traceTag, methodName, cookie);
@@ -285,6 +296,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public static void asyncTraceEnd(long traceTag, String methodName, int cookie) {
         if (isTagEnabled(traceTag)) {
             nativeAsyncTraceEnd(traceTag, methodName, cookie);
diff --git a/core/java/android/os/UEventObserver.java b/core/java/android/os/UEventObserver.java
index 69a3922..dc98c42 100644
--- a/core/java/android/os/UEventObserver.java
+++ b/core/java/android/os/UEventObserver.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import android.util.Log;
 
 import java.util.ArrayList;
@@ -49,6 +50,7 @@
     private static native void nativeAddMatch(String match);
     private static native void nativeRemoveMatch(String match);
 
+    @UnsupportedAppUsage
     public UEventObserver() {
     }
 
@@ -93,6 +95,7 @@
      * are expensive to parse.  For example, some devices may send one netlink message
      * for each vsync period.
      */
+    @UnsupportedAppUsage
     public final void startObserving(String match) {
         if (match == null || match.isEmpty()) {
             throw new IllegalArgumentException("match substring must be non-empty");
@@ -107,6 +110,7 @@
      * This process's UEvent thread will never call onUEvent() on this
      * UEventObserver after this call. Repeated calls have no effect.
      */
+    @UnsupportedAppUsage
     public final void stopObserving() {
         final UEventThread t = peekThread();
         if (t != null) {
@@ -118,6 +122,7 @@
      * Subclasses of UEventObserver should override this method to handle
      * UEvents.
      */
+    @UnsupportedAppUsage
     public abstract void onUEvent(UEvent event);
 
     /**
@@ -146,10 +151,12 @@
             }
         }
 
+        @UnsupportedAppUsage
         public String get(String key) {
             return mMap.get(key);
         }
 
+        @UnsupportedAppUsage
         public String get(String key, String defaultValue) {
             String result = mMap.get(key);
             return (result == null ? defaultValue : result);
diff --git a/core/java/android/os/UpdateEngine.java b/core/java/android/os/UpdateEngine.java
index 1df3dad..5cf3b97 100644
--- a/core/java/android/os/UpdateEngine.java
+++ b/core/java/android/os/UpdateEngine.java
@@ -39,8 +39,9 @@
  *
  * The APIs defined in this class and UpdateEngineCallback class must be in
  * sync with the ones in
- * system/update_engine/binder_bindings/android/os/IUpdateEngine.aidl and
- * system/update_engine/binder_bindings/android/os/IUpdateEngineCallback.aidl.
+ * {@code system/update_engine/binder_bindings/android/os/IUpdateEngine.aidl}
+ * and
+ * {@code system/update_engine/binder_bindings/android/os/IUpdateEngineCallback.aidl}.
  *
  * {@hide}
  */
@@ -51,39 +52,150 @@
     private static final String UPDATE_ENGINE_SERVICE = "android.os.UpdateEngineService";
 
     /**
-     * Error code from the update engine. Values must agree with the ones in
-     * system/update_engine/common/error_code.h.
+     * Error codes from update engine upon finishing a call to
+     * {@link applyPayload}. Values will be passed via the callback function
+     * {@link UpdateEngineCallback#onPayloadApplicationComplete}. Values must
+     * agree with the ones in {@code system/update_engine/common/error_code.h}.
      */
     public static final class ErrorCodeConstants {
+        /**
+         * Error code: a request finished successfully.
+         */
         public static final int SUCCESS = 0;
+        /**
+         * Error code: a request failed due to a generic error.
+         */
         public static final int ERROR = 1;
+        /**
+         * Error code: an update failed to apply due to filesystem copier
+         * error.
+         */
         public static final int FILESYSTEM_COPIER_ERROR = 4;
+        /**
+         * Error code: an update failed to apply due to an error in running
+         * post-install hooks.
+         */
         public static final int POST_INSTALL_RUNNER_ERROR = 5;
+        /**
+         * Error code: an update failed to apply due to a mismatching payload.
+         *
+         * <p>For example, the given payload uses a feature that's not
+         * supported by the current update engine.
+         */
         public static final int PAYLOAD_MISMATCHED_TYPE_ERROR = 6;
+        /**
+         * Error code: an update failed to apply due to an error in opening
+         * devices.
+         */
         public static final int INSTALL_DEVICE_OPEN_ERROR = 7;
+        /**
+         * Error code: an update failed to apply due to an error in opening
+         * kernel device.
+         */
         public static final int KERNEL_DEVICE_OPEN_ERROR = 8;
+        /**
+         * Error code: an update failed to apply due to an error in fetching
+         * the payload.
+         *
+         * <p>For example, this could be a result of bad network connection
+         * when streaming an update.
+         */
         public static final int DOWNLOAD_TRANSFER_ERROR = 9;
+        /**
+         * Error code: an update failed to apply due to a mismatch in payload
+         * hash.
+         *
+         * <p>Update engine does sanity checks for the given payload and its
+         * metadata.
+         */
         public static final int PAYLOAD_HASH_MISMATCH_ERROR = 10;
+
+        /**
+         * Error code: an update failed to apply due to a mismatch in payload
+         * size.
+         */
         public static final int PAYLOAD_SIZE_MISMATCH_ERROR = 11;
+
+        /**
+         * Error code: an update failed to apply due to failing to verify
+         * payload signatures.
+         */
         public static final int DOWNLOAD_PAYLOAD_VERIFICATION_ERROR = 12;
+
+        /**
+         * Error code: an update failed to apply due to a downgrade in payload
+         * timestamp.
+         *
+         * <p>The timestamp of a build is encoded into the payload, which will
+         * be enforced during install to prevent downgrading a device.
+         */
         public static final int PAYLOAD_TIMESTAMP_ERROR = 51;
+
+        /**
+         * Error code: an update has been applied successfully but the new slot
+         * hasn't been set to active.
+         *
+         * <p>It indicates a successful finish of calling {@link #applyPayload} with
+         * {@code SWITCH_SLOT_ON_REBOOT=0}. See {@link #applyPayload}.
+         */
         public static final int UPDATED_BUT_NOT_ACTIVE = 52;
     }
 
     /**
-     * Update status code from the update engine. Values must agree with the
-     * ones in system/update_engine/client_library/include/update_engine/update_status.h.
+     * Status codes for update engine. Values must agree with the ones in
+     * {@code system/update_engine/client_library/include/update_engine/update_status.h}.
      */
     public static final class UpdateStatusConstants {
+        /**
+         * Update status code: update engine is in idle state.
+         */
         public static final int IDLE = 0;
+
+        /**
+         * Update status code: update engine is checking for update.
+         */
         public static final int CHECKING_FOR_UPDATE = 1;
+
+        /**
+         * Update status code: an update is available.
+         */
         public static final int UPDATE_AVAILABLE = 2;
+
+        /**
+         * Update status code: update engine is downloading an update.
+         */
         public static final int DOWNLOADING = 3;
+
+        /**
+         * Update status code: update engine is verifying an update.
+         */
         public static final int VERIFYING = 4;
+
+        /**
+         * Update status code: update engine is finalizing an update.
+         */
         public static final int FINALIZING = 5;
+
+        /**
+         * Update status code: an update has been applied and is pending for
+         * reboot.
+         */
         public static final int UPDATED_NEED_REBOOT = 6;
+
+        /**
+         * Update status code: update engine is reporting an error event.
+         */
         public static final int REPORTING_ERROR_EVENT = 7;
+
+        /**
+         * Update status code: update engine is attempting to rollback an
+         * update.
+         */
         public static final int ATTEMPTING_ROLLBACK = 8;
+
+        /**
+         * Update status code: update engine is in disabled state.
+         */
         public static final int DISABLED = 9;
     }
 
@@ -178,6 +290,18 @@
      *   "METADATA_SIZE=70604"
      * };
      * </pre>
+     *
+     * <p>The callback functions registered via {@code #bind} will be called
+     * during and at the end of the payload application.
+     *
+     * <p>By default the newly updated slot will be set active upon
+     * successfully finishing an update. Device will attempt to boot into the
+     * new slot on next reboot. This behavior can be customized by specifying
+     * {@code SWITCH_SLOT_ON_REBOOT=0} in {@code headerKeyValuePairs}, which
+     * allows the caller to later determine a good time to boot into the new
+     * slot. Calling {@code applyPayload} again with the same payload but with
+     * {@code SWITCH_SLOT_ON_REBOOT=1} will do the minimal work to set the new
+     * slot active, after verifying its integrity.
      */
     public void applyPayload(String url, long offset, long size, String[] headerKeyValuePairs) {
         try {
diff --git a/core/java/android/os/UpdateLock.java b/core/java/android/os/UpdateLock.java
index 4060326..ea273ce 100644
--- a/core/java/android/os/UpdateLock.java
+++ b/core/java/android/os/UpdateLock.java
@@ -16,6 +16,7 @@
 
 package android.os;
 
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.util.Log;
 
@@ -50,6 +51,7 @@
      * locker releases theirs.  The broadcast is sticky but is sent only to
      * registered receivers.
      */
+    @UnsupportedAppUsage
     public static final String UPDATE_LOCK_CHANGED = "android.os.UpdateLock.UPDATE_LOCK_CHANGED";
 
     /**
@@ -58,6 +60,7 @@
      * update operation.  True means that updates are okay right now; false indicates
      * that perhaps later would be a better time.
      */
+    @UnsupportedAppUsage
     public static final String NOW_IS_CONVENIENT = "nowisconvenient";
 
     /**
@@ -66,6 +69,7 @@
      * in the System.currentTimeMillis() time base, which may be non-monotonic especially
      * around reboots.
      */
+    @UnsupportedAppUsage
     public static final String TIMESTAMP = "timestamp";
 
     /**
@@ -90,6 +94,7 @@
     /**
      * Is this lock currently held?
      */
+    @UnsupportedAppUsage
     public boolean isHeld() {
         synchronized (mToken) {
             return mHeld;
@@ -99,6 +104,7 @@
     /**
      * Acquire an update lock.
      */
+    @UnsupportedAppUsage
     public void acquire() {
         if (DEBUG) {
             Log.v(TAG, "acquire() : " + this, new RuntimeException("here"));
@@ -125,6 +131,7 @@
     /**
      * Release this update lock.
      */
+    @UnsupportedAppUsage
     public void release() {
         if (DEBUG) Log.v(TAG, "release() : " + this, new RuntimeException("here"));
         checkService();
diff --git a/core/java/android/os/UserHandle.java b/core/java/android/os/UserHandle.java
index 82d1b1a..b121234 100644
--- a/core/java/android/os/UserHandle.java
+++ b/core/java/android/os/UserHandle.java
@@ -17,8 +17,10 @@
 package android.os;
 
 import android.annotation.AppIdInt;
+import android.annotation.NonNull;
 import android.annotation.SystemApi;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.annotation.UserIdInt;
 
 import java.io.PrintWriter;
@@ -32,33 +34,38 @@
     /**
      * @hide Range of uids allocated for a user.
      */
+    @UnsupportedAppUsage
     public static final int PER_USER_RANGE = 100000;
 
     /** @hide A user id to indicate all users on the device */
+    @UnsupportedAppUsage
     public static final @UserIdInt int USER_ALL = -1;
 
     /** @hide A user handle to indicate all users on the device */
     @SystemApi
     @TestApi
-    public static final UserHandle ALL = new UserHandle(USER_ALL);
+    public static final @NonNull UserHandle ALL = new UserHandle(USER_ALL);
 
     /** @hide A user id to indicate the currently active user */
+    @UnsupportedAppUsage
     public static final @UserIdInt int USER_CURRENT = -2;
 
     /** @hide A user handle to indicate the current user of the device */
     @SystemApi
     @TestApi
-    public static final UserHandle CURRENT = new UserHandle(USER_CURRENT);
+    public static final @NonNull UserHandle CURRENT = new UserHandle(USER_CURRENT);
 
     /** @hide A user id to indicate that we would like to send to the current
      *  user, but if this is calling from a user process then we will send it
      *  to the caller's user instead of failing with a security exception */
+    @UnsupportedAppUsage
     public static final @UserIdInt int USER_CURRENT_OR_SELF = -3;
 
     /** @hide A user handle to indicate that we would like to send to the current
      *  user, but if this is calling from a user process then we will send it
      *  to the caller's user instead of failing with a security exception */
-    public static final UserHandle CURRENT_OR_SELF = new UserHandle(USER_CURRENT_OR_SELF);
+    @UnsupportedAppUsage
+    public static final @NonNull UserHandle CURRENT_OR_SELF = new UserHandle(USER_CURRENT_OR_SELF);
 
     /** @hide An undefined user id */
     public static final @UserIdInt int USER_NULL = -10000;
@@ -68,6 +75,7 @@
      * @deprecated Consider using either {@link UserHandle#USER_SYSTEM} constant or
      * check the target user's flag {@link android.content.pm.UserInfo#isAdmin}.
      */
+    @UnsupportedAppUsage
     @Deprecated
     public static final @UserIdInt int USER_OWNER = 0;
 
@@ -76,39 +84,50 @@
      * @deprecated Consider using either {@link UserHandle#SYSTEM} constant or
      * check the target user's flag {@link android.content.pm.UserInfo#isAdmin}.
      */
+    @UnsupportedAppUsage
     @Deprecated
-    public static final UserHandle OWNER = new UserHandle(USER_OWNER);
+    public static final @NonNull UserHandle OWNER = new UserHandle(USER_OWNER);
 
     /** @hide A user id constant to indicate the "system" user of the device */
+    @UnsupportedAppUsage
     public static final @UserIdInt int USER_SYSTEM = 0;
 
     /** @hide A user serial constant to indicate the "system" user of the device */
+    @UnsupportedAppUsage
     public static final int USER_SERIAL_SYSTEM = 0;
 
     /** @hide A user handle to indicate the "system" user of the device */
     @SystemApi
     @TestApi
-    public static final UserHandle SYSTEM = new UserHandle(USER_SYSTEM);
+    public static final @NonNull UserHandle SYSTEM = new UserHandle(USER_SYSTEM);
 
     /**
      * @hide Enable multi-user related side effects. Set this to false if
      * there are problems with single user use-cases.
      */
+    @UnsupportedAppUsage
     public static final boolean MU_ENABLED = true;
 
     /** @hide */
+    @UnsupportedAppUsage
     public static final int ERR_GID = -1;
     /** @hide */
+    @UnsupportedAppUsage
     public static final int AID_ROOT = android.os.Process.ROOT_UID;
     /** @hide */
+    @UnsupportedAppUsage
     public static final int AID_APP_START = android.os.Process.FIRST_APPLICATION_UID;
     /** @hide */
+    @UnsupportedAppUsage
     public static final int AID_APP_END = android.os.Process.LAST_APPLICATION_UID;
     /** @hide */
+    @UnsupportedAppUsage
     public static final int AID_SHARED_GID_START = android.os.Process.FIRST_SHARED_APPLICATION_GID;
     /** @hide */
+    @UnsupportedAppUsage
     public static final int AID_CACHE_GID_START = android.os.Process.FIRST_APPLICATION_CACHE_GID;
 
+    @UnsupportedAppUsage
     final int mHandle;
 
     /**
@@ -128,6 +147,7 @@
      * @return whether the appId is the same for both uids
      * @hide
      */
+    @UnsupportedAppUsage
     public static boolean isSameApp(int uid1, int uid2) {
         return getAppId(uid1) == getAppId(uid2);
     }
@@ -136,6 +156,7 @@
      * Whether a UID is an "isolated" UID.
      * @hide
      */
+    @UnsupportedAppUsage
     public static boolean isIsolated(int uid) {
         if (uid > 0) {
             return Process.isIsolated(uid);
@@ -185,6 +206,7 @@
      * Returns the user id for a given uid.
      * @hide
      */
+    @UnsupportedAppUsage
     public static @UserIdInt int getUserId(int uid) {
         if (MU_ENABLED) {
             return uid / PER_USER_RANGE;
@@ -194,6 +216,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public static @UserIdInt int getCallingUserId() {
         return getUserId(Binder.getCallingUid());
     }
@@ -213,6 +236,7 @@
      * Returns the uid that is composed from the userId and the appId.
      * @hide
      */
+    @UnsupportedAppUsage
     public static int getUid(@UserIdInt int userId, @AppIdInt int appId) {
         if (MU_ENABLED) {
             return userId * PER_USER_RANGE + (appId % PER_USER_RANGE);
@@ -259,6 +283,7 @@
      * Returns the app id for a given shared app gid. Returns -1 if the ID is invalid.
      * @hide
      */
+    @UnsupportedAppUsage
     public static @AppIdInt int getAppIdFromSharedAppGid(int gid) {
         final int appId = getAppId(gid) + Process.FIRST_APPLICATION_UID
                 - Process.FIRST_SHARED_APPLICATION_GID;
@@ -404,6 +429,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public UserHandle(int h) {
         mHandle = h;
     }
diff --git a/core/java/android/os/UserManager.java b/core/java/android/os/UserManager.java
index 7f73dab..9c9829f 100644
--- a/core/java/android/os/UserManager.java
+++ b/core/java/android/os/UserManager.java
@@ -25,6 +25,7 @@
 import android.annotation.SystemApi;
 import android.annotation.SystemService;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.annotation.UserIdInt;
 import android.annotation.WorkerThread;
 import android.app.Activity;
@@ -69,6 +70,7 @@
 public class UserManager {
 
     private static final String TAG = "UserManager";
+    @UnsupportedAppUsage
     private final IUserManager mService;
     private final Context mContext;
 
@@ -809,6 +811,7 @@
      * @see #getUserRestrictions()
      * @hide
      */
+    @UnsupportedAppUsage
     public static final String DISALLOW_RECORD_AUDIO = "no_record_audio";
 
     /**
@@ -954,6 +957,21 @@
     public static final String DISALLOW_CONTENT_CAPTURE = "no_content_capture";
 
     /**
+     * Specifies if the current user is able to receive content suggestions for selections based on
+     * the contents of their screen.
+     *
+     * <p>Device owner and profile owner can set this restriction. When it is set by device owner,
+     * only the target user will be affected.
+     *
+     * <p>The default value is <code>false</code>.
+     *
+     * @see DevicePolicyManager#addUserRestriction(ComponentName, String)
+     * @see DevicePolicyManager#clearUserRestriction(ComponentName, String)
+     * @see #getUserRestrictions()
+     */
+    public static final String DISALLOW_CONTENT_SUGGESTIONS = "no_content_suggestions";
+
+    /**
      * Specifies if user switching is blocked on the current user.
      *
      * <p> This restriction can only be set by the device owner, it will be applied to all users.
@@ -1102,6 +1120,47 @@
     public static final int USER_CREATION_FAILED_NO_MORE_USERS = Activity.RESULT_FIRST_USER + 1;
 
     /**
+     * Indicates that users are switchable.
+     * @hide
+     */
+    @SystemApi
+    public static final int SWITCHABILITY_STATUS_OK = 0;
+
+    /**
+     * Indicated that the user is in a phone call.
+     * @hide
+     */
+    @SystemApi
+    public static final int SWITCHABILITY_STATUS_USER_IN_CALL = 1 << 0;
+
+    /**
+     * Indicates that user switching is disallowed ({@link #DISALLOW_USER_SWITCH} is set).
+     * @hide
+     */
+    @SystemApi
+    public static final int SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED = 1 << 1;
+
+    /**
+     * Indicates that the system user is locked and user switching is not allowed.
+     * @hide
+     */
+    @SystemApi
+    public static final int SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED = 1 << 2;
+
+    /**
+     * Result returned in {@link #getUserSwitchability()} indicating user swichability.
+     * @hide
+     */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef(flag = true, prefix = { "SWITCHABILITY_STATUS_" }, value = {
+            SWITCHABILITY_STATUS_OK,
+            SWITCHABILITY_STATUS_USER_IN_CALL,
+            SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED,
+            SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED
+    })
+    public @interface UserSwitchabilityResult {}
+
+    /**
      * Indicates user operation is successful.
      */
     public static final int USER_OPERATION_SUCCESS = 0;
@@ -1181,6 +1240,7 @@
     }
 
     /** @hide */
+    @UnsupportedAppUsage
     public static UserManager get(Context context) {
         return (UserManager) context.getSystemService(Context.USER_SERVICE);
     }
@@ -1223,14 +1283,13 @@
     }
 
     /**
-     * Returns whether switching users is currently allowed.
-     * <p>For instance switching users is not allowed if the current user is in a phone call,
-     * system user hasn't been unlocked yet, or {@link #DISALLOW_USER_SWITCH} is set.
+     * @deprecated use {@link #getUserSwitchability()} instead.
+     *
+     * @removed
      * @hide
      */
-    @SystemApi
-    @RequiresPermission(anyOf = {android.Manifest.permission.MANAGE_USERS,
-            android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional = true)
+    @Deprecated
+    @UnsupportedAppUsage
     public boolean canSwitchUsers() {
         boolean allowUserSwitchingWhenSystemUserLocked = Settings.Global.getInt(
                 mContext.getContentResolver(),
@@ -1244,11 +1303,48 @@
     }
 
     /**
+     * Returns whether switching users is currently allowed.
+     * <p>
+     * Switching users is not allowed in the following cases:
+     * <li>the user is in a phone call</li>
+     * <li>{@link #DISALLOW_USER_SWITCH} is set</li>
+     * <li>system user hasn't been unlocked yet</li>
+     *
+     * @return A {@link UserSwitchabilityResult} flag indicating if the user is switchable.
+     * @hide
+     */
+    @SystemApi
+    @RequiresPermission(allOf = {Manifest.permission.READ_PHONE_STATE,
+            android.Manifest.permission.MANAGE_USERS,
+            android.Manifest.permission.INTERACT_ACROSS_USERS}, conditional = true)
+    public @UserSwitchabilityResult int getUserSwitchability() {
+        final boolean allowUserSwitchingWhenSystemUserLocked = Settings.Global.getInt(
+                mContext.getContentResolver(),
+                Settings.Global.ALLOW_USER_SWITCHING_WHEN_SYSTEM_USER_LOCKED, 0) != 0;
+        final boolean systemUserUnlocked = isUserUnlocked(UserHandle.SYSTEM);
+        final TelephonyManager tm =
+                (TelephonyManager) mContext.getSystemService(Context.TELEPHONY_SERVICE);
+
+        int flags = SWITCHABILITY_STATUS_OK;
+        if (tm.getCallState() != TelephonyManager.CALL_STATE_IDLE) {
+            flags |= SWITCHABILITY_STATUS_USER_IN_CALL;
+        }
+        if (hasUserRestriction(DISALLOW_USER_SWITCH)) {
+            flags |= SWITCHABILITY_STATUS_USER_SWITCH_DISALLOWED;
+        }
+        if (!allowUserSwitchingWhenSystemUserLocked && !systemUserUnlocked) {
+            flags |= SWITCHABILITY_STATUS_SYSTEM_USER_LOCKED;
+        }
+        return flags;
+    }
+
+    /**
      * Returns the user handle for the user that this process is running under.
      *
      * @return the user handle of this process.
      * @hide
      */
+    @UnsupportedAppUsage
     public @UserIdInt int getUserHandle() {
         return UserHandle.myUserId();
     }
@@ -1256,12 +1352,16 @@
     /**
      * Returns the user name of the user making this call.  This call is only
      * available to applications on the system image; it requires the
-     * MANAGE_USERS permission.
+     * {@code android.permission.MANAGE_USERS} or {@code android.permission.GET_ACCOUNTS_PRIVILEGED}
+     * permissions.
      * @return the user name
      */
     public String getUserName() {
-        UserInfo user = getUserInfo(getUserHandle());
-        return user == null ? "" : user.name;
+        try {
+            return mService.getUserName();
+        } catch (RemoteException re) {
+            throw re.rethrowFromSystemServer();
+        }
     }
 
     /**
@@ -1336,6 +1436,7 @@
      * Returns whether the provided user is an admin user. There can be more than one admin
      * user.
      */
+    @UnsupportedAppUsage
     public boolean isUserAdmin(@UserIdInt int userId) {
         UserInfo user = getUserInfo(userId);
         return user != null && user.isAdmin();
@@ -1345,6 +1446,7 @@
      * @hide
      * @deprecated Use {@link #isRestrictedProfile()}
      */
+    @UnsupportedAppUsage
     @Deprecated
     public boolean isLinkedUser() {
         return isRestrictedProfile();
@@ -1368,6 +1470,24 @@
     }
 
     /**
+     * Check if a user is a restricted profile. Restricted profiles may have a reduced number of
+     * available apps, app restrictions, and account restrictions.
+     *
+     * @param user the user to check
+     * @return whether the user is a restricted profile.
+     * @hide
+     */
+    @SystemApi
+    @RequiresPermission(android.Manifest.permission.MANAGE_USERS)
+    public boolean isRestrictedProfile(@NonNull UserHandle user) {
+        try {
+            return mService.getUserInfo(user.getIdentifier()).isRestricted();
+        } catch (RemoteException re) {
+            throw re.rethrowFromSystemServer();
+        }
+    }
+
+    /**
      * Checks if specified user can have restricted profile.
      * @hide
      */
@@ -1398,6 +1518,7 @@
      * @return whether user is a guest user.
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean isGuestUser(int id) {
         UserInfo user = getUserInfo(id);
         return user != null && user.isGuest();
@@ -1607,6 +1728,7 @@
     }
 
     /** {@hide} */
+    @UnsupportedAppUsage
     public boolean isUserUnlocked(@UserIdInt int userId) {
         try {
             return mService.isUserUnlocked(userId);
@@ -1635,6 +1757,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public long getUserStartRealtime() {
         try {
             return mService.getUserStartRealtime();
@@ -1649,6 +1772,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public long getUserUnlockRealtime() {
         try {
             return mService.getUserUnlockRealtime();
@@ -1664,6 +1788,7 @@
      * @return the UserInfo object for a specific user.
      * @hide
      */
+    @UnsupportedAppUsage
     public UserInfo getUserInfo(@UserIdInt int userHandle) {
         try {
             return mService.getUserInfo(userHandle);
@@ -1744,6 +1869,7 @@
      * @param restrictionKey the string key representing the restriction
      * @param userHandle the UserHandle of the user for whom to retrieve the restrictions.
      */
+    @UnsupportedAppUsage
     public boolean hasBaseUserRestriction(String restrictionKey, UserHandle userHandle) {
         try {
             return mService.hasBaseUserRestriction(restrictionKey, userHandle.getIdentifier());
@@ -1826,6 +1952,7 @@
      * @param restrictionKey the string key representing the restriction
      * @param userHandle the UserHandle of the user for whom to retrieve the restrictions.
      */
+    @UnsupportedAppUsage
     public boolean hasUserRestriction(String restrictionKey, UserHandle userHandle) {
         try {
             return mService.hasUserRestriction(restrictionKey,
@@ -1886,6 +2013,7 @@
      * @return the UserInfo object for the created user, or null if the user could not be created.
      * @hide
      */
+    @UnsupportedAppUsage
     public UserInfo createUser(String name, int flags) {
         UserInfo user = null;
         try {
@@ -1934,6 +2062,7 @@
      *         could not be created.
      * @hide
      */
+    @UnsupportedAppUsage
     public UserInfo createProfileForUser(String name, int flags, @UserIdInt int userHandle) {
         return createProfileForUser(name, flags, userHandle, null);
     }
@@ -2222,6 +2351,7 @@
      * @return the list of users that exist on the device.
      * @hide
      */
+    @UnsupportedAppUsage
     public List<UserInfo> getUsers() {
         try {
             return mService.getUsers(false);
@@ -2347,6 +2477,7 @@
      * @return the list of profiles.
      * @hide
      */
+    @UnsupportedAppUsage
     public List<UserInfo> getProfiles(@UserIdInt int userHandle) {
         try {
             return mService.getProfiles(userHandle, false /* enabledOnly */);
@@ -2380,6 +2511,7 @@
      * @return the list of profiles.
      * @hide
      */
+    @UnsupportedAppUsage
     public List<UserInfo> getEnabledProfiles(@UserIdInt int userHandle) {
         try {
             return mService.getProfiles(userHandle, true /* enabledOnly */);
@@ -2427,6 +2559,7 @@
      * @see #getProfileIds(int, boolean)
      * @hide
      */
+    @UnsupportedAppUsage
     public int[] getProfileIdsWithDisabled(@UserIdInt int userId) {
         return getProfileIds(userId, false /* enabledOnly */);
     }
@@ -2460,6 +2593,7 @@
      *
      * @hide
      */
+    @UnsupportedAppUsage
     public UserInfo getProfileParent(@UserIdInt int userHandle) {
         try {
             return mService.getProfileParent(userHandle);
@@ -2629,6 +2763,7 @@
      * @return the list of users that were created.
      * @hide
      */
+    @UnsupportedAppUsage
     public @NonNull List<UserInfo> getUsers(boolean excludeDying) {
         try {
             return mService.getUsers(excludeDying);
@@ -2643,6 +2778,7 @@
      * @param userHandle the integer handle of the user, where 0 is the primary user.
      * @hide
      */
+    @UnsupportedAppUsage
     public boolean removeUser(@UserIdInt int userHandle) {
         try {
             return mService.removeUser(userHandle);
@@ -2655,11 +2791,16 @@
      * Removes a user and all associated data.
      *
      * @param user the user that needs to be removed.
+     * @return {@code true} if the user was successfully removed, {@code false} otherwise.
+     * @throws IllegalArgumentException if {@code user} is {@code null}
      * @hide
      */
     @SystemApi
     @RequiresPermission(android.Manifest.permission.MANAGE_USERS)
-    public boolean removeUser(UserHandle user) {
+    public boolean removeUser(@NonNull UserHandle user) {
+        if (user == null) {
+            throw new IllegalArgumentException("user cannot be null");
+        }
         return removeUser(user.getIdentifier());
     }
 
@@ -2705,7 +2846,7 @@
      */
     @SystemApi
     @RequiresPermission(android.Manifest.permission.MANAGE_USERS)
-    public void setUserName(String name) {
+    public void setUserName(@Nullable String name) {
         setUserName(getUserHandle(), name);
     }
 
@@ -2732,7 +2873,7 @@
      */
     @SystemApi
     @RequiresPermission(android.Manifest.permission.MANAGE_USERS)
-    public void setUserIcon(Bitmap icon) {
+    public void setUserIcon(@NonNull Bitmap icon) {
         setUserIcon(getUserHandle(), icon);
     }
 
@@ -2743,6 +2884,7 @@
      * @see com.android.internal.util.UserIcons#getDefaultUserIcon for a default.
      * @hide
      */
+    @UnsupportedAppUsage
     public Bitmap getUserIcon(@UserIdInt int userHandle) {
         try {
             ParcelFileDescriptor fd = mService.getUserIcon(userHandle);
@@ -2764,15 +2906,17 @@
 
     /**
      * Returns a Bitmap for the calling user's photo.
-     * Requires {@link android.Manifest.permission#MANAGE_USERS} permission.
+     * Requires {@link android.Manifest.permission#MANAGE_USERS}
+     * or {@link android.Manifest.permission#GET_ACCOUNTS_PRIVILEGED} permissions.
      *
      * @return a {@link Bitmap} of the user's photo, or null if there's no photo.
      * @see com.android.internal.util.UserIcons#getDefaultUserIcon for a default.
      * @hide
      */
     @SystemApi
-    @RequiresPermission(android.Manifest.permission.MANAGE_USERS)
-    public Bitmap getUserIcon() {
+    @RequiresPermission(anyOf = {android.Manifest.permission.MANAGE_USERS,
+            android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED})
+    public @Nullable Bitmap getUserIcon() {
         return getUserIcon(getUserHandle());
     }
 
@@ -2782,6 +2926,7 @@
      * @hide
      * @return a value greater than or equal to 1
      */
+    @UnsupportedAppUsage
     public static int getMaxSupportedUsers() {
         // Don't allow multiple users on certain builds
         if (android.os.Build.ID.startsWith("JVP")) return 1;
@@ -2837,6 +2982,7 @@
     /**
      * @hide
      */
+    @UnsupportedAppUsage
     public static boolean isDeviceInDemoMode(Context context) {
         return Settings.Global.getInt(context.getContentResolver(),
                 Settings.Global.DEVICE_DEMO_MODE, 0) > 0;
@@ -2849,6 +2995,7 @@
      * @return a serial number associated with that user, or -1 if the userHandle is not valid.
      * @hide
      */
+    @UnsupportedAppUsage
     public int getUserSerialNumber(@UserIdInt int userHandle) {
         try {
             return mService.getUserSerialNumber(userHandle);
@@ -2866,6 +3013,7 @@
      * is not valid.
      * @hide
      */
+    @UnsupportedAppUsage
     public @UserIdInt int getUserHandle(int userSerialNumber) {
         try {
             return mService.getUserHandle(userSerialNumber);
diff --git a/core/java/android/os/VibrationEffect.java b/core/java/android/os/VibrationEffect.java
index 44add87..c74cbff 100644
--- a/core/java/android/os/VibrationEffect.java
+++ b/core/java/android/os/VibrationEffect.java
@@ -17,6 +17,7 @@
 package android.os;
 
 import android.annotation.IntDef;
+import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.TestApi;
 import android.content.ContentResolver;
@@ -240,6 +241,7 @@
      *
      * @return The desired effect.
      */
+    @NonNull
     public static VibrationEffect createPredefined(@EffectType int effectId) {
         return get(effectId, true);
     }
diff --git a/core/java/android/os/Vibrator.java b/core/java/android/os/Vibrator.java
index 226d1d0..28909c8 100644
--- a/core/java/android/os/Vibrator.java
+++ b/core/java/android/os/Vibrator.java
@@ -19,6 +19,7 @@
 import android.annotation.IntDef;
 import android.annotation.RequiresPermission;
 import android.annotation.SystemService;
+import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityThread;
 import android.content.Context;
 import android.media.AudioAttributes;
@@ -85,6 +86,7 @@
     /**
      * @hide to prevent subclassing from outside of the framework
      */
+    @UnsupportedAppUsage
     public Vibrator() {
         mPackageName = ActivityThread.currentPackageName();
         final Context ctx = ActivityThread.currentActivityThread().getSystemContext();
diff --git a/core/java/android/os/WorkSource.java b/core/java/android/os/WorkSource.java
index 9980ade..0b4a561 100644
--- a/core/java/android/os/WorkSource.java
+++ b/core/java/android/os/WorkSource.java
@@ -3,6 +3,7 @@
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.annotation.TestApi;
+import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.os.WorkSourceProto;
 import android.provider.Settings;
@@ -24,8 +25,11 @@
     static final String TAG = "WorkSource";
     static final boolean DEBUG = false;
 
+    @UnsupportedAppUsage
     int mNum;
+    @UnsupportedAppUsage
     int[] mUids;
+    @UnsupportedAppUsage
     String[] mNames;
 
     private ArrayList<WorkChain> mChains;
@@ -103,6 +107,7 @@
         mChains = null;
     }
 
+    @UnsupportedAppUsage
     WorkSource(Parcel in) {
         mNum = in.readInt();
         mUids = in.createIntArray();
diff --git a/core/java/android/os/ZygoteProcess.java b/core/java/android/os/ZygoteProcess.java
index 60f4f06..40238d2 100644
--- a/core/java/android/os/ZygoteProcess.java
+++ b/core/java/android/os/ZygoteProcess.java
@@ -18,15 +18,16 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.UnsupportedAppUsage;
 import android.content.pm.ApplicationInfo;
 import android.net.LocalSocket;
 import android.net.LocalSocketAddress;
-import android.provider.DeviceConfig;
 import android.util.Log;
 import android.util.Slog;
 
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.os.Zygote;
+import com.android.internal.os.ZygoteConfig;
 
 import java.io.BufferedWriter;
 import java.io.DataInputStream;
@@ -41,10 +42,12 @@
 import java.util.UUID;
 
 /*package*/ class ZygoteStartFailedEx extends Exception {
+    @UnsupportedAppUsage
     ZygoteStartFailedEx(String s) {
         super(s);
     }
 
+    @UnsupportedAppUsage
     ZygoteStartFailedEx(Throwable cause) {
         super(cause);
     }
@@ -120,10 +123,6 @@
         mUsapPoolSecondarySocketAddress =
                 new LocalSocketAddress(Zygote.USAP_POOL_SECONDARY_SOCKET_NAME,
                                        LocalSocketAddress.Namespace.RESERVED);
-
-        if (fetchUsapPoolEnabledProp()) {
-            informZygotesOfUsapPoolStatus();
-        }
     }
 
     public ZygoteProcess(LocalSocketAddress primarySocketAddress,
@@ -151,7 +150,7 @@
         final DataInputStream mZygoteInputStream;
         final BufferedWriter mZygoteOutputWriter;
 
-        private final List<String> mABIList;
+        private final List<String> mAbiList;
 
         private boolean mClosed;
 
@@ -166,7 +165,7 @@
             this.mZygoteSessionSocket = zygoteSessionSocket;
             this.mZygoteInputStream = zygoteInputStream;
             this.mZygoteOutputWriter = zygoteOutputWriter;
-            this.mABIList = abiList;
+            this.mAbiList = abiList;
         }
 
         /**
@@ -179,14 +178,18 @@
          * address
          * @throws IOException
          */
-        public static ZygoteState connect(LocalSocketAddress zygoteSocketAddress,
-                                          LocalSocketAddress usapSocketAddress)
+        public static ZygoteState connect(@NonNull LocalSocketAddress zygoteSocketAddress,
+                                          @Nullable LocalSocketAddress usapSocketAddress)
                 throws IOException {
 
             DataInputStream zygoteInputStream = null;
             BufferedWriter zygoteOutputWriter = null;
             final LocalSocket zygoteSessionSocket = new LocalSocket();
 
+            if (zygoteSocketAddress == null) {
+                throw new IllegalArgumentException("zygoteSocketAddress can't be null");
+            }
+
             try {
                 zygoteSessionSocket.connect(zygoteSocketAddress);
                 zygoteInputStream = new DataInputStream(zygoteSessionSocket.getInputStream());
@@ -215,7 +218,7 @@
         }
 
         boolean matches(String abi) {
-            return mABIList.contains(abi);
+            return mAbiList.contains(abi);
         }
 
         public void close() {
@@ -338,7 +341,7 @@
         try {
             return startViaZygote(processClass, niceName, uid, gid, gids,
                     runtimeFlags, mountExternal, targetSdkVersion, seInfo,
-                    abi, instructionSet, appDataDir, invokeWith, /*startChildZygote=*/false,
+                    abi, instructionSet, appDataDir, invokeWith, /*startChildZygote=*/ false,
                     packageName, packagesForUid, sandboxId,
                     useUsapPool, zygoteArgs);
         } catch (ZygoteStartFailedEx ex) {
@@ -374,7 +377,7 @@
         byte[] bytes = new byte[numBytes];
         inputStream.readFully(bytes);
 
-        String rawList = new String(bytes, StandardCharsets.US_ASCII);
+        final String rawList = new String(bytes, StandardCharsets.US_ASCII);
 
         return Arrays.asList(rawList.split(","));
     }
@@ -659,16 +662,13 @@
     private boolean fetchUsapPoolEnabledProp() {
         boolean origVal = mUsapPoolEnabled;
 
-        final String propertyString =
-                Zygote.getSystemProperty(
-                        DeviceConfig.RuntimeNative.USAP_POOL_ENABLED,
-                        USAP_POOL_ENABLED_DEFAULT);
+        final String propertyString = Zygote.getConfigurationProperty(
+                ZygoteConfig.USAP_POOL_ENABLED, USAP_POOL_ENABLED_DEFAULT);
 
         if (!propertyString.isEmpty()) {
-            mUsapPoolEnabled =
-                    Zygote.getSystemPropertyBoolean(
-                            DeviceConfig.RuntimeNative.USAP_POOL_ENABLED,
-                            Boolean.parseBoolean(USAP_POOL_ENABLED_DEFAULT));
+            mUsapPoolEnabled = Zygote.getConfigurationPropertyBoolean(
+                    ZygoteConfig.USAP_POOL_ENABLED,
+                    Boolean.parseBoolean(USAP_POOL_ENABLED_DEFAULT));
         }
 
         if (origVal != mUsapPoolEnabled) {
@@ -678,12 +678,15 @@
         return origVal != mUsapPoolEnabled;
     }
 
+    private boolean mIsFirstPropCheck = true;
     private long mLastPropCheckTimestamp = 0;
 
     private boolean fetchUsapPoolEnabledPropWithMinInterval() {
         final long currentTimestamp = SystemClock.elapsedRealtime();
 
-        if (currentTimestamp - mLastPropCheckTimestamp >= Zygote.PROPERTY_CHECK_INTERVAL) {
+        if (mIsFirstPropCheck
+                || (currentTimestamp - mLastPropCheckTimestamp >= Zygote.PROPERTY_CHECK_INTERVAL)) {
+            mIsFirstPropCheck = false;
             mLastPropCheckTimestamp = currentTimestamp;
             return fetchUsapPoolEnabledProp();
         }
@@ -919,11 +922,13 @@
                 return primaryZygoteState;
             }
 
-            // The primary zygote didn't match. Try the secondary.
-            attemptConnectionToSecondaryZygote();
+            if (mZygoteSecondarySocketAddress != null) {
+                // The primary zygote didn't match. Try the secondary.
+                attemptConnectionToSecondaryZygote();
 
-            if (secondaryZygoteState.matches(abi)) {
-                return secondaryZygoteState;
+                if (secondaryZygoteState.matches(abi)) {
+                    return secondaryZygoteState;
+                }
             }
         } catch (IOException ioe) {
             throw new ZygoteStartFailedEx("Error connecting to zygote", ioe);
@@ -1071,22 +1076,24 @@
                 return;
             }
 
-            try {
-                attemptConnectionToSecondaryZygote();
-
+            if (mZygoteSecondarySocketAddress != null) {
                 try {
-                    secondaryZygoteState.mZygoteOutputWriter.write(command);
-                    secondaryZygoteState.mZygoteOutputWriter.flush();
+                    attemptConnectionToSecondaryZygote();
 
-                    // Wait for the secondary Zygote to finish its work.
-                    secondaryZygoteState.mZygoteInputStream.readInt();
+                    try {
+                        secondaryZygoteState.mZygoteOutputWriter.write(command);
+                        secondaryZygoteState.mZygoteOutputWriter.flush();
+
+                        // Wait for the secondary Zygote to finish its work.
+                        secondaryZygoteState.mZygoteInputStream.readInt();
+                    } catch (IOException ioe) {
+                        throw new IllegalStateException(
+                                "USAP pool state change cause an irrecoverable error",
+                                ioe);
+                    }
                 } catch (IOException ioe) {
-                    throw new IllegalStateException(
-                            "USAP pool state change cause an irrecoverable error",
-                            ioe);
+                    // No secondary zygote present.  This is expected on some devices.
                 }
-            } catch (IOException ioe) {
-                // No secondary zygote present.  This is expected on some devices.
             }
 
             // Wait for the response from the primary zygote here so the primary/secondary zygotes
diff --git a/core/java/android/os/storage/IStorageManager.aidl b/core/java/android/os/storage/IStorageManager.aidl
index f114b12..25f67f8 100644
--- a/core/java/android/os/storage/IStorageManager.aidl
+++ b/core/java/android/os/storage/IStorageManager.aidl
@@ -191,4 +191,6 @@
     String translateAppToSystem(String path, int pid, int uid) = 81;
     String translateSystemToApp(String path, int pid, int uid) = 82;
     void commitChanges() = 83;
+    boolean supportsCheckpoint() = 84;
+    void startCheckpoint(int numTries) = 85;
 }
diff --git a/core/java/android/os/storage/StorageManager.java b/core/java/android/os/storage/StorageManager.java
index 27e3914..3e60d51 100644
--- a/core/java/android/os/storage/StorageManager.java
+++ b/core/java/android/os/storage/StorageManager.java
@@ -16,6 +16,8 @@
 
 package android.os.storage;
 
+import static android.content.ContentResolver.DEPRECATE_DATA_PREFIX;
+
 import android.annotation.BytesLong;
 import android.annotation.IntDef;
 import android.annotation.NonNull;
@@ -30,6 +32,7 @@
 import android.annotation.WorkerThread;
 import android.app.Activity;
 import android.app.ActivityThread;
+import android.app.AppGlobals;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
@@ -1139,6 +1142,12 @@
         if (file == null) {
             return null;
         }
+        final String path = file.getAbsolutePath();
+        if (path.startsWith(DEPRECATE_DATA_PREFIX)) {
+            final Uri uri = ContentResolver.translateDeprecatedDataPath(path);
+            return AppGlobals.getInitialApplication().getSystemService(StorageManager.class)
+                    .getStorageVolume(uri);
+        }
         try {
             file = file.getCanonicalFile();
         } catch (IOException ignored) {
diff --git a/core/java/android/permission/IPermissionController.aidl b/core/java/android/permission/IPermissionController.aidl
index 76e911d..4f65d24 100644
--- a/core/java/android/permission/IPermissionController.aidl
+++ b/core/java/android/permission/IPermissionController.aidl
@@ -38,9 +38,6 @@
     void countPermissionApps(in List<String> permissionNames, int flags,
             in RemoteCallback callback);
     void getPermissionUsages(boolean countSystem, long numMillis, in RemoteCallback callback);
-    void isApplicationQualifiedForRole(String roleName, String packageName,
-            in RemoteCallback callback);
-    void isRoleVisible(String roleName, in RemoteCallback callback);
     void setRuntimePermissionGrantStateByDeviceAdmin(String callerPackageName, String packageName,
             String permission, int grantState, in RemoteCallback callback);
 }
diff --git a/core/java/android/permission/PermissionControllerManager.java b/core/java/android/permission/PermissionControllerManager.java
index 5695e42..61511aa 100644
--- a/core/java/android/permission/PermissionControllerManager.java
+++ b/core/java/android/permission/PermissionControllerManager.java
@@ -454,48 +454,6 @@
     }
 
     /**
-     * Check whether an application is qualified for a role.
-     *
-     * @param roleName name of the role to check for
-     * @param packageName package name of the application to check for
-     * @param executor Executor on which to invoke the callback
-     * @param callback Callback to receive the result
-     *
-     * @hide
-     */
-    @RequiresPermission(Manifest.permission.MANAGE_ROLE_HOLDERS)
-    public void isApplicationQualifiedForRole(@NonNull String roleName, @NonNull String packageName,
-            @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) {
-        checkStringNotEmpty(roleName);
-        checkStringNotEmpty(packageName);
-        checkNotNull(executor);
-        checkNotNull(callback);
-
-        mRemoteService.scheduleRequest(new PendingIsApplicationQualifiedForRoleRequest(
-                mRemoteService, roleName, packageName, executor, callback));
-    }
-
-    /**
-     * Check whether a role should be visible to user.
-     *
-     * @param roleName name of the role to check for
-     * @param executor Executor on which to invoke the callback
-     * @param callback Callback to receive the result
-     *
-     * @hide
-     */
-    @RequiresPermission(Manifest.permission.MANAGE_ROLE_HOLDERS)
-    public void isRoleVisible(@NonNull String roleName,
-            @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) {
-        checkStringNotEmpty(roleName);
-        checkNotNull(executor);
-        checkNotNull(callback);
-
-        mRemoteService.scheduleRequest(new PendingIsRoleVisibleRequest(mRemoteService, roleName,
-                executor, callback));
-    }
-
-    /**
      * A connection to the remote service
      */
     static final class RemoteService extends
@@ -513,7 +471,8 @@
         RemoteService(@NonNull Context context, @NonNull ComponentName componentName,
                 @NonNull UserHandle user) {
             super(context, SERVICE_INTERFACE, componentName, user.getIdentifier(),
-                    service -> Log.e(TAG, "RemoteService " + service + " died"), false, false, 1);
+                    service -> Log.e(TAG, "RemoteService " + service + " died"),
+                    context.getMainThreadHandler(), false, false, 1);
         }
 
         /**
@@ -1188,109 +1147,4 @@
             }
         }
     }
-
-    /**
-     * Request for {@link #isApplicationQualifiedForRole}.
-     */
-    private static final class PendingIsApplicationQualifiedForRoleRequest extends
-            AbstractRemoteService.PendingRequest<RemoteService, IPermissionController> {
-
-        private final @NonNull String mRoleName;
-        private final @NonNull String mPackageName;
-        private final @NonNull Consumer<Boolean> mCallback;
-
-        private final @NonNull RemoteCallback mRemoteCallback;
-
-        private PendingIsApplicationQualifiedForRoleRequest(@NonNull RemoteService service,
-                @NonNull String roleName, @NonNull String packageName,
-                @NonNull @CallbackExecutor Executor executor, @NonNull Consumer<Boolean> callback) {
-            super(service);
-
-            mRoleName = roleName;
-            mPackageName = packageName;
-            mCallback = callback;
-
-            mRemoteCallback = new RemoteCallback(result -> executor.execute(() -> {
-                long token = Binder.clearCallingIdentity();
-                try {
-                    boolean qualified;
-                    if (result != null) {
-                        qualified = result.getBoolean(KEY_RESULT);
-                    } else {
-                        qualified = false;
-                    }
-                    callback.accept(qualified);
-                } finally {
-                    Binder.restoreCallingIdentity(token);
-                    finish();
-                }
-            }), null);
-        }
-
-        @Override
-        protected void onTimeout(RemoteService remoteService) {
-            mCallback.accept(false);
-        }
-
-        @Override
-        public void run() {
-            try {
-                getService().getServiceInterface().isApplicationQualifiedForRole(mRoleName,
-                        mPackageName, mRemoteCallback);
-            } catch (RemoteException e) {
-                Log.e(TAG, "Error checking whether application qualifies for role", e);
-            }
-        }
-    }
-
-    /**
-     * Request for {@link #isRoleVisible}.
-     */
-    private static final class PendingIsRoleVisibleRequest extends
-            AbstractRemoteService.PendingRequest<RemoteService, IPermissionController> {
-
-        private final @NonNull String mRoleName;
-        private final @NonNull Consumer<Boolean> mCallback;
-
-        private final @NonNull RemoteCallback mRemoteCallback;
-
-        private PendingIsRoleVisibleRequest(@NonNull RemoteService service,
-                @NonNull String roleName, @NonNull @CallbackExecutor Executor executor,
-                @NonNull Consumer<Boolean> callback) {
-            super(service);
-
-            mRoleName = roleName;
-            mCallback = callback;
-
-            mRemoteCallback = new RemoteCallback(result -> executor.execute(() -> {
-                long token = Binder.clearCallingIdentity();
-                try {
-                    boolean visible;
-                    if (result != null) {
-                        visible = result.getBoolean(KEY_RESULT);
-                    } else {
-                        visible = false;
-                    }
-                    callback.accept(visible);
-                } finally {
-                    Binder.restoreCallingIdentity(token);
-                    finish();
-                }
-            }), null);
-        }
-
-        @Override
-        protected void onTimeout(RemoteService remoteService) {
-            mCallback.accept(false);
-        }
-
-        @Override
-        public void run() {
-            try {
-                getService().getServiceInterface().isRoleVisible(mRoleName, mRemoteCallback);
-            } catch (RemoteException e) {
-                Log.e(TAG, "Error checking whether role should be visible", e);
-            }
-        }
-    }
 }
diff --git a/core/java/android/permission/PermissionControllerService.java b/core/java/android/permission/PermissionControllerService.java
index d375c10..2313d59 100644
--- a/core/java/android/permission/PermissionControllerService.java
+++ b/core/java/android/permission/PermissionControllerService.java
@@ -112,6 +112,9 @@
     /**
      * Restore a backup of the runtime permissions.
      *
+     * <p>If an app mentioned in the backup is not installed the state should be saved to later
+     * be restored via {@link #onRestoreDelayedRuntimePermissionsBackup}.
+     *
      * @param user The user to restore
      * @param backup The stream to read the backup from
      */
@@ -120,7 +123,8 @@
             @NonNull InputStream backup);
 
     /**
-     * Restore a delayed backup of the runtime permissions.
+     * Restore the permission state of an app that was provided in
+     * {@link #onRestoreRuntimePermissionsBackup} but could not be restored back then.
      *
      * @param packageName The app to restore
      * @param user The user to restore
@@ -174,26 +178,6 @@
             boolean countSystem, long numMillis);
 
     /**
-     * Check whether an application is qualified for a role.
-     *
-     * @param roleName name of the role to check for
-     * @param packageName package name of the application to check for
-     *
-     * @return whether the application is qualified for the role
-     */
-    public abstract boolean onIsApplicationQualifiedForRole(@NonNull String roleName,
-            @NonNull String packageName);
-
-    /**
-     * Check whether a role should be visible to user.
-     *
-     * @param roleName name of the role to check for
-     *
-     * @return whether the role should be visible to user
-     */
-    public abstract boolean onIsRoleVisible(@NonNull String roleName);
-
-    /**
      * Set the runtime permission state from a device admin.
      *
      * @param callerPackageName The package name of the admin requesting the change
@@ -339,32 +323,6 @@
             }
 
             @Override
-            public void isApplicationQualifiedForRole(String roleName, String packageName,
-                    RemoteCallback callback) {
-                checkStringNotEmpty(roleName);
-                checkStringNotEmpty(packageName);
-                checkNotNull(callback, "callback");
-
-                enforceCallingPermission(Manifest.permission.MANAGE_ROLE_HOLDERS, null);
-
-                mHandler.sendMessage(obtainMessage(
-                        PermissionControllerService::isApplicationQualifiedForRole,
-                        PermissionControllerService.this, roleName, packageName, callback));
-            }
-
-            @Override
-            public void isRoleVisible(String roleName, RemoteCallback callback) {
-                checkStringNotEmpty(roleName);
-                checkNotNull(callback, "callback");
-
-                enforceCallingPermission(Manifest.permission.MANAGE_ROLE_HOLDERS, null);
-
-                mHandler.sendMessage(obtainMessage(
-                        PermissionControllerService::isRoleVisible,
-                        PermissionControllerService.this, roleName, callback));
-            }
-
-            @Override
             public void setRuntimePermissionGrantStateByDeviceAdmin(String callerPackageName,
                     String packageName, String permission, int grantState,
                     RemoteCallback callback) {
@@ -458,21 +416,6 @@
         }
     }
 
-    private void isApplicationQualifiedForRole(@NonNull String roleName,
-            @NonNull String packageName, @NonNull RemoteCallback callback) {
-        boolean qualified = onIsApplicationQualifiedForRole(roleName, packageName);
-        Bundle result = new Bundle();
-        result.putBoolean(PermissionControllerManager.KEY_RESULT, qualified);
-        callback.sendResult(result);
-    }
-
-    private void isRoleVisible(@NonNull String roleName, @NonNull RemoteCallback callback) {
-        boolean visible = onIsRoleVisible(roleName);
-        Bundle result = new Bundle();
-        result.putBoolean(PermissionControllerManager.KEY_RESULT, visible);
-        callback.sendResult(result);
-    }
-
     private void setRuntimePermissionGrantStateByDeviceAdmin(@NonNull String callerPackageName,
             @NonNull String packageName, @NonNull String permission,
             @PermissionGrantState int grantState, @NonNull RemoteCallback callback) {
diff --git a/core/java/android/preference/DialogPreference.java b/core/java/android/preference/DialogPreference.java
index 8880296..32511e9 100644
--- a/core/java/android/preference/DialogPreference.java
+++ b/core/java/android/preference/DialogPreference.java
@@ -19,6 +19,7 @@
 
 import android.annotation.CallSuper;
 import android.annotation.DrawableRes;
+import android.annotation.Nullable;
 import android.annotation.StringRes;
 import android.annotation.UnsupportedAppUsage;
 import android.app.AlertDialog;
@@ -349,16 +350,32 @@
         dialog.show();
     }
 
+    /**
+     * Get the DecorView.
+     * @return the DecorView for the current dialog window, if it exists.
+     * If the window does not exist, null is returned.
+     */
+    @Nullable
+    private View getDecorView() {
+        if (mDialog != null && mDialog.getWindow() != null) {
+            return mDialog.getWindow().getDecorView();
+        }
+        return null;
+    }
+
     void postDismiss() {
         removeDismissCallbacks();
-        View decorView = mDialog.getWindow().getDecorView();
-        decorView.post(mDismissRunnable);
+        View decorView = getDecorView();
+        if (decorView != null) {
+            // If decorView is null, dialog was already dismissed
+            decorView.post(mDismissRunnable);
+        }
     }
 
     private void removeDismissCallbacks() {
-        if (mDialog != null && mDialog.getWindow() != null
-                && mDialog.getWindow().getDecorView() != null) {
-            mDialog.getWindow().getDecorView().removeCallbacks(mDismissRunnable);
+        View decorView = getDecorView();
+        if (decorView != null) {
+            decorView.removeCallbacks(mDismissRunnable);
         }
     }
 
diff --git a/core/java/android/provider/CalendarContract.java b/core/java/android/provider/CalendarContract.java
index 5d34aa6..fa244e4 100644
--- a/core/java/android/provider/CalendarContract.java
+++ b/core/java/android/provider/CalendarContract.java
@@ -766,15 +766,13 @@
         public static final Uri CONTENT_URI = Uri.parse("content://" + AUTHORITY + "/calendars");
 
         /**
-         * The content:// style URL for querying Calendars table in the managed profile. Appending a
-         * calendar id using {@link ContentUris#withAppendedId(Uri, long)} will
-         * specify a single calendar.
+         * The content:// style URL for querying Calendars table in the managed profile. Appending
+         * a calendar id using {@link ContentUris#withAppendedId(Uri, long)} specifies
+         * a single calendar.
          *
          * <p>The following columns are allowed to be queried via this uri:
          * <ul>
          * <li>{@link #_ID}</li>
-         * <li>{@link #NAME}</li>
-         * <li>{@link #CALENDAR_DISPLAY_NAME}</li>
          * <li>{@link #CALENDAR_COLOR}</li>
          * <li>{@link #VISIBLE}</li>
          * <li>{@link #CALENDAR_LOCATION}</li>
@@ -782,18 +780,22 @@
          * <li>{@link #IS_PRIMARY}</li>
          * </ul>
          *
-         * <p>{@link IllegalArgumentException} will be thrown if there exist columns in the
+         * <p>{@link IllegalArgumentException} is thrown if there exists columns in the
          * projection of the query to this uri that are not contained in the above list.
          *
-         * <p>This uri will return an empty cursor if the calling user is not a parent profile
-         * of a managed profile, or cross-profile calendar is disabled in Settings, or this uri is
-         * queried from a package that is not whitelisted by profile owner of the managed profile
-         * via
+         * <p>This uri returns an empty cursor if the calling user is not a parent profile
+         * of a managed profile, or the managed profile is disabled, or cross-profile calendar is
+         * disabled in Settings, or this uri is queried from a package that is not allowed by
+         * the profile owner of the managed profile via
          * {@link DevicePolicyManager#setCrossProfileCalendarPackages(ComponentName, Set)}.
          *
+         * <p>Apps can register a {@link android.database.ContentObserver} for this URI to listen
+         * to changes.
+         *
          * @see DevicePolicyManager#getCrossProfileCalendarPackages(ComponentName)
          * @see Settings.Secure#CROSS_PROFILE_CALENDAR_ENABLED
          */
+        @NonNull
         public static final Uri ENTERPRISE_CONTENT_URI =
                 Uri.parse("content://" + AUTHORITY + "/enterprise/calendars");
 
@@ -1747,8 +1749,7 @@
 
         /**
          * The content:// style URL for querying Events table in the managed profile. Appending an
-         * event id using {@link ContentUris#withAppendedId(Uri, long)} will
-         * specify a single event.
+         * event id using {@link ContentUris#withAppendedId(Uri, long)} specifies a single event.
          *
          * <p>The following columns are allowed to be queried via this uri:
          * <ul>
@@ -1767,26 +1768,33 @@
          * <li>{@link #AVAILABILITY}</li>
          * <li>{@link #RRULE}</li>
          * <li>{@link #RDATE}</li>
+         * <li>{@link #LAST_DATE}</li>
          * <li>{@link #EXRULE}</li>
          * <li>{@link #EXDATE}</li>
-         * <li>{@link #CALENDAR_DISPLAY_NAME}</li>
+         * <li>{@link #SELF_ATTENDEE_STATUS}</li>
+         * <li>{@link #DISPLAY_COLOR}</li>
          * <li>{@link #CALENDAR_COLOR}</li>
          * <li>{@link #VISIBLE}</li>
          * <li>{@link #CALENDAR_TIME_ZONE}</li>
+         * <li>{@link #IS_PRIMARY}</li>
          * </ul>
          *
-         * <p>{@link IllegalArgumentException} will be thrown if there exist columns in the
+         * <p>{@link IllegalArgumentException} is thrown if there exists columns in the
          * projection of the query to this uri that are not contained in the above list.
          *
-         * <p>This uri will return an empty cursor if the calling user is not a parent profile
-         * of a managed profile, or cross-profile calendar is disabled in Settings, or this uri is
-         * queried from a package that is not whitelisted by profile owner of the managed profile
-         * via
+         * <p>This uri returns an empty cursor if the calling user is not a parent profile
+         * of a managed profile, or the managed profile is disabled, or cross-profile calendar is
+         * disabled in Settings, or this uri is queried from a package that is not allowed by
+         * the profile owner of the managed profile via
          * {@link DevicePolicyManager#setCrossProfileCalendarPackages(ComponentName, Set)}.
          *
+         * <p>Apps can register a {@link android.database.ContentObserver} for this URI to listen
+         * to changes.
+         *
          * @see DevicePolicyManager#getCrossProfileCalendarPackages(ComponentName)
          * @see Settings.Secure#CROSS_PROFILE_CALENDAR_ENABLED
          */
+        @NonNull
         public static final Uri ENTERPRISE_CONTENT_URI =
                 Uri.parse("content://" + AUTHORITY + "/enterprise/events");
 
@@ -1974,7 +1982,7 @@
          * The content:// style URL for querying an instance range in the managed profile.
          * It supports similar semantics as {@link #CONTENT_URI}.
          *
-         * <p>The following columns plus the columns that are whitelisted by
+         * <p>The following columns plus the columns that are allowed by
          * {@link Events#ENTERPRISE_CONTENT_URI} are allowed to be queried via this uri:
          * <ul>
          * <li>{@link #_ID}</li>
@@ -1987,18 +1995,19 @@
          * <li>{@link #END_MINUTE}</li>
          * </ul>
          *
-         * <p>{@link IllegalArgumentException} will be thrown if there exist columns in the
+         * <p>{@link IllegalArgumentException} is thrown if there exists columns in the
          * projection of the query to this uri that are not contained in the above list.
          *
-         * <p>This uri will return an empty cursor if the calling user is not a parent profile
-         * of a managed profile, or cross-profile calendar for the managed profile is disabled in
-         * Settings, or this uri is queried from a package that is not whitelisted by
-         * profile owner of the managed profile via
+         * <p>This uri returns an empty cursor if the calling user is not a parent profile
+         * of a managed profile, or the managed profile is disabled, or cross-profile calendar is
+         * disabled in Settings, or this uri is queried from a package that is not allowed by
+         * the profile owner of the managed profile via
          * {@link DevicePolicyManager#setCrossProfileCalendarPackages(ComponentName, Set)}.
          *
          * @see DevicePolicyManager#getCrossProfileCalendarPackages(ComponentName)
          * @see Settings.Secure#CROSS_PROFILE_CALENDAR_ENABLED
          */
+        @NonNull
         public static final Uri ENTERPRISE_CONTENT_URI =
                 Uri.parse("content://" + AUTHORITY + "/enterprise/instances/when");
 
@@ -2007,6 +2016,7 @@
          * Day in the managed profile. It supports similar semantics as {@link #CONTENT_BY_DAY_URI}
          * and performs similar checks as {@link #ENTERPRISE_CONTENT_URI}.
          */
+        @NonNull
         public static final Uri ENTERPRISE_CONTENT_BY_DAY_URI =
                 Uri.parse("content://" + AUTHORITY + "/enterprise/instances/whenbyday");
 
@@ -2015,6 +2025,7 @@
          * term in the managed profile. It supports similar semantics as {@link #CONTENT_SEARCH_URI}
          * and performs similar checks as {@link #ENTERPRISE_CONTENT_URI}.
          */
+        @NonNull
         public static final Uri ENTERPRISE_CONTENT_SEARCH_URI =
                 Uri.parse("content://" + AUTHORITY + "/enterprise/instances/search");
 
@@ -2024,6 +2035,7 @@
          * {@link #CONTENT_SEARCH_BY_DAY_URI} and performs similar checks as
          * {@link #ENTERPRISE_CONTENT_URI}.
          */
+        @NonNull
         public static final Uri ENTERPRISE_CONTENT_SEARCH_BY_DAY_URI =
                 Uri.parse("content://" + AUTHORITY + "/enterprise/instances/searchbyday");
 
diff --git a/core/java/android/provider/DeviceConfig.java b/core/java/android/provider/DeviceConfig.java
index 5d4539c..7bd0fe2 100644
--- a/core/java/android/provider/DeviceConfig.java
+++ b/core/java/android/provider/DeviceConfig.java
@@ -30,13 +30,17 @@
 import android.database.ContentObserver;
 import android.net.Uri;
 import android.provider.Settings.ResetMode;
+import android.util.ArrayMap;
+import android.util.Log;
 import android.util.Pair;
 
 import com.android.internal.annotations.GuardedBy;
+import com.android.internal.util.Preconditions;
 
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.Executor;
 
 /**
@@ -74,6 +78,23 @@
             "activity_manager_native_boot";
 
     /**
+     * Namespace for all app compat related features.  These features will be applied
+     * immediately upon change.
+     *
+     * @hide
+     */
+    @SystemApi
+    public static final String NAMESPACE_APP_COMPAT = "app_compat";
+
+    /**
+     * Namespace for AttentionManagerService related features.
+     *
+     * @hide
+     */
+    @SystemApi
+    public static final String NAMESPACE_ATTENTION_MANAGER_SERVICE = "attention_manager_service";
+
+    /**
      * Namespace for autofill feature that provides suggestions across all apps when
      * the user interacts with input fields.
      *
@@ -84,6 +105,14 @@
     public static final String NAMESPACE_AUTOFILL = "autofill";
 
     /**
+     * Namespace for all networking connectivity related features.
+     *
+     * @hide
+     */
+    @SystemApi
+    public static final String NAMESPACE_CONNECTIVITY = "connectivity";
+
+    /**
      * Namespace for content capture feature used by on-device machine intelligence
      * to provide suggestions in a privacy-safe manner.
      *
@@ -94,6 +123,14 @@
     public static final String NAMESPACE_CONTENT_CAPTURE = "content_capture";
 
     /**
+     * Namespace for how dex runs. The feature requires a reboot to reach a clean state.
+     *
+     * @hide
+     */
+    @SystemApi
+    public static final String NAMESPACE_DEX_BOOT = "dex_boot";
+
+    /**
      * Namespace for all Game Driver features.
      *
      * @hide
@@ -111,6 +148,14 @@
     public static final String NAMESPACE_INPUT_NATIVE_BOOT = "input_native_boot";
 
     /**
+     * Namespace for attention-based features provided by on-device machine intelligence.
+     *
+     * @hide
+     */
+    @SystemApi
+    public static final String NAMESPACE_INTELLIGENCE_ATTENTION = "intelligence_attention";
+
+    /**
      * Namespace for all media native related features.
      *
      * @hide
@@ -127,6 +172,41 @@
     public static final String NAMESPACE_NETD_NATIVE = "netd_native";
 
     /**
+     * Namespace for Rollback flags that are applied immediately.
+     *
+     * @hide
+     */
+    @SystemApi @TestApi
+    public static final String NAMESPACE_ROLLBACK = "rollback";
+
+    /**
+     * Namespace for Rollback flags that are applied after a reboot.
+     *
+     * @hide
+     */
+    @SystemApi @TestApi
+    public static final String NAMESPACE_ROLLBACK_BOOT = "rollback_boot";
+
+    /**
+     * Namespace for all runtime related features that don't require a reboot to become active.
+     * There are no feature flags using NAMESPACE_RUNTIME.
+     *
+     * @hide
+     */
+    @SystemApi
+    public static final String NAMESPACE_RUNTIME = "runtime";
+
+    /**
+     * Namespace for all runtime related features that require system properties for accessing
+     * the feature flags from C++ or Java language code. One example is the app image startup
+     * cache feature use_app_image_startup_cache.
+     *
+     * @hide
+     */
+    @SystemApi
+    public static final String NAMESPACE_RUNTIME_NATIVE = "runtime_native";
+
+    /**
      * Namespace for all runtime native boot related features. Boot in this case refers to the
      * fact that the properties only take affect after rebooting the device.
      *
@@ -136,6 +216,15 @@
     public static final String NAMESPACE_RUNTIME_NATIVE_BOOT = "runtime_native_boot";
 
     /**
+     * Namespace for system scheduler related features. These features will be applied
+     * immediately upon change.
+     *
+     * @hide
+     */
+    @SystemApi
+    public static final String NAMESPACE_SCHEDULER = "scheduler";
+
+    /**
      * Namespace for System UI related features.
      *
      * @hide
@@ -144,77 +233,12 @@
     public static final String NAMESPACE_SYSTEMUI = "systemui";
 
     /**
-     * Namespace for all runtime related features.
+     * Namespace for TextClassifier related features.
      *
      * @hide
      */
     @SystemApi
-    public interface Runtime {
-        String NAMESPACE = "runtime";
-
-        /**
-         * Whether or not we use the precompiled layout.
-         */
-        String USE_PRECOMPILED_LAYOUT = "view.precompiled_layout_enabled";
-    }
-
-    /**
-     * Namespace for all runtime native related features.
-     *
-     * @hide
-     */
-    @SystemApi
-    public interface RuntimeNative {
-        String NAMESPACE = "runtime_native";
-
-        /**
-         * Zygote flags. See {@link com.internal.os.Zygote}.
-         */
-
-        /**
-         * If {@code true}, enables the unspecialized app process (USAP) pool feature.
-         *
-         * @hide for internal use only
-         */
-        String USAP_POOL_ENABLED = "usap_pool_enabled";
-
-        /**
-         * The maximum number of processes to keep in the USAP pool.
-         *
-         * @hide for internal use only
-         */
-        String USAP_POOL_SIZE_MAX = "usap_pool_size_max";
-
-        /**
-         * The minimum number of processes to keep in the USAP pool.
-         *
-         * @hide for internal use only
-         */
-        String USAP_POOL_SIZE_MIN = "usap_pool_size_min";
-
-        /**
-         * The threshold used to determine if the pool should be refilled.
-         *
-         * @hide for internal use only
-         */
-        String USAP_POOL_REFILL_THRESHOLD = "usap_refill_threshold";
-    }
-
-    /**
-     * Namespace for attention-based features provided by on-device machine intelligence.
-     *
-     * @hide
-     */
-    @SystemApi
-    public interface IntelligenceAttention {
-        String NAMESPACE = "intelligence_attention";
-
-        /** If {@code true}, enables the attention features. */
-        String ATTENTION_ENABLED = "attention_enabled";
-
-        /** Settings for the attention features. */
-        String ATTENTION_SETTINGS = "attention_settings";
-    }
+    public static final String NAMESPACE_TEXTCLASSIFIER = "textclassifier";
 
     /**
      * Privacy related properties definitions.
@@ -271,56 +295,6 @@
     }
 
     /**
-     * Namespace for how dex runs.  The feature may requires reboot to a clean state.
-     *
-     * @hide
-     */
-    @SystemApi
-    public interface DexBoot {
-        String NAMESPACE = "dex_boot";
-        String PRIV_APPS_OOB_ENABLED = "priv_apps_oob_enabled";
-        String PRIV_APPS_OOB_WHITELIST = "priv_apps_oob_whitelist";
-    }
-
-    /**
-     * Namespace for {@link AttentionManagerService} related features.
-     *
-     * @hide
-     */
-    @SystemApi
-    public interface AttentionManagerService {
-        String NAMESPACE = "attention_manager_service";
-
-        /** If {@code true}, enables {@link AttentionManagerService} features. */
-        String SERVICE_ENABLED = "service_enabled";
-
-        /** Allows a CTS to inject a fake implementation. */
-        String COMPONENT_NAME = "component_name";
-    }
-
-    /**
-     * Namespace for Rollback.
-     *
-     * @hide
-     */
-    @SystemApi
-    public interface Rollback {
-        String NAMESPACE = "rollback";
-
-        String BOOT_NAMESPACE = "rollback_boot";
-
-        /**
-         * Timeout in milliseconds for enabling package rollback.
-         */
-        String ENABLE_ROLLBACK_TIMEOUT = "enable_rollback_timeout";
-
-       /**
-        * The lifetime duration of rollback packages in millis
-        */
-        String ROLLBACK_LIFETIME_IN_MILLIS = "rollback_lifetime_in_millis";
-    }
-
-    /**
      * Namespace for storage-related features.
      *
      * @hide
@@ -337,31 +311,16 @@
         String ISOLATED_STORAGE_ENABLED = "isolated_storage_enabled";
     }
 
-    /**
-     * Namespace for system scheduler related features. These features will be applied
-     * immediately upon change.
-     *
-     * @hide
-     */
-    @SystemApi
-    public interface Scheduler {
-        String NAMESPACE = "scheduler";
-
-        /**
-         * Flag for enabling fast metrics collection in system scheduler.
-         * A flag value of '' or '0' means the fast metrics collection is not
-         * enabled. Otherwise fast metrics collection is enabled and flag value
-         * is the order id.
-         */
-        String ENABLE_FAST_METRICS_COLLECTION = "enable_fast_metrics_collection";
-    }
-
     private static final Object sLock = new Object();
     @GuardedBy("sLock")
-    private static Map<OnPropertyChangedListener, Pair<String, Executor>> sListeners =
-            new HashMap<>();
+    private static ArrayMap<OnPropertyChangedListener, Pair<String, Executor>> sSingleListeners =
+            new ArrayMap<>();
+    @GuardedBy("sLock")
+    private static ArrayMap<OnPropertiesChangedListener, Pair<String, Executor>> sListeners =
+            new ArrayMap<>();
     @GuardedBy("sLock")
     private static Map<String, Pair<ContentObserver, Integer>> sNamespaces = new HashMap<>();
+    private static final String TAG = "DeviceConfig";
 
     // Should never be invoked
     private DeviceConfig() {
@@ -378,7 +337,7 @@
     @SystemApi
     @TestApi
     @RequiresPermission(READ_DEVICE_CONFIG)
-    public static String getProperty(String namespace, String name) {
+    public static String getProperty(@NonNull String namespace, @NonNull String name) {
         ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver();
         String compositeName = createCompositeName(namespace, name);
         return Settings.Config.getString(contentResolver, compositeName);
@@ -397,7 +356,8 @@
     @SystemApi
     @TestApi
     @RequiresPermission(READ_DEVICE_CONFIG)
-    public static String getString(String namespace, String name, String defaultValue) {
+    public static String getString(@NonNull String namespace, @NonNull String name,
+            @Nullable String defaultValue) {
         String value = getProperty(namespace, name);
         return value != null ? value : defaultValue;
     }
@@ -415,7 +375,8 @@
     @SystemApi
     @TestApi
     @RequiresPermission(READ_DEVICE_CONFIG)
-    public static boolean getBoolean(String namespace, String name, boolean defaultValue) {
+    public static boolean getBoolean(@NonNull String namespace, @NonNull String name,
+            boolean defaultValue) {
         String value = getProperty(namespace, name);
         return value != null ? Boolean.parseBoolean(value) : defaultValue;
     }
@@ -433,11 +394,15 @@
     @SystemApi
     @TestApi
     @RequiresPermission(READ_DEVICE_CONFIG)
-    public static int getInt(String namespace, String name, int defaultValue) {
+    public static int getInt(@NonNull String namespace, @NonNull String name, int defaultValue) {
         String value = getProperty(namespace, name);
+        if (value == null) {
+            return defaultValue;
+        }
         try {
             return Integer.parseInt(value);
         } catch (NumberFormatException e) {
+            Log.e(TAG, "Parsing integer failed for " + namespace + ":" + name);
             return defaultValue;
         }
     }
@@ -455,11 +420,15 @@
     @SystemApi
     @TestApi
     @RequiresPermission(READ_DEVICE_CONFIG)
-    public static long getLong(String namespace, String name, long defaultValue) {
+    public static long getLong(@NonNull String namespace, @NonNull String name, long defaultValue) {
         String value = getProperty(namespace, name);
+        if (value == null) {
+            return defaultValue;
+        }
         try {
             return Long.parseLong(value);
         } catch (NumberFormatException e) {
+            Log.e(TAG, "Parsing long failed for " + namespace + ":" + name);
             return defaultValue;
         }
     }
@@ -477,13 +446,16 @@
     @SystemApi
     @TestApi
     @RequiresPermission(READ_DEVICE_CONFIG)
-    public static float getFloat(String namespace, String name, float defaultValue) {
+    public static float getFloat(@NonNull String namespace, @NonNull String name,
+            float defaultValue) {
         String value = getProperty(namespace, name);
+        if (value == null) {
+            return defaultValue;
+        }
         try {
             return Float.parseFloat(value);
         } catch (NumberFormatException e) {
-            return defaultValue;
-        } catch (NullPointerException e) {
+            Log.e(TAG, "Parsing float failed for " + namespace + ":" + name);
             return defaultValue;
         }
     }
@@ -510,10 +482,10 @@
     @SystemApi
     @TestApi
     @RequiresPermission(WRITE_DEVICE_CONFIG)
-    public static boolean setProperty(
-            String namespace, String name, String value, boolean makeDefault) {
-        ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver();
+    public static boolean setProperty(@NonNull String namespace, @NonNull String name,
+            @Nullable String value, boolean makeDefault) {
         String compositeName = createCompositeName(namespace, name);
+        ContentResolver contentResolver = ActivityThread.currentApplication().getContentResolver();
         return Settings.Config.putString(contentResolver, compositeName, value, makeDefault);
     }
 
@@ -557,20 +529,58 @@
             @NonNull String namespace,
             @NonNull @CallbackExecutor Executor executor,
             @NonNull OnPropertyChangedListener onPropertyChangedListener) {
-        // TODO enforce READ_DEVICE_CONFIG permission
         synchronized (sLock) {
-            Pair<String, Executor> oldNamespace = sListeners.get(onPropertyChangedListener);
+            Pair<String, Executor> oldNamespace = sSingleListeners.get(onPropertyChangedListener);
             if (oldNamespace == null) {
                 // Brand new listener, add it to the list.
-                sListeners.put(onPropertyChangedListener, new Pair<>(namespace, executor));
+                sSingleListeners.put(onPropertyChangedListener, new Pair<>(namespace, executor));
                 incrementNamespace(namespace);
             } else if (namespace.equals(oldNamespace.first)) {
                 // Listener is already registered for this namespace, update executor just in case.
-                sListeners.put(onPropertyChangedListener, new Pair<>(namespace, executor));
+                sSingleListeners.put(onPropertyChangedListener, new Pair<>(namespace, executor));
             } else {
                 // Update this listener from an old namespace to the new one.
-                decrementNamespace(sListeners.get(onPropertyChangedListener).first);
-                sListeners.put(onPropertyChangedListener, new Pair<>(namespace, executor));
+                decrementNamespace(sSingleListeners.get(onPropertyChangedListener).first);
+                sSingleListeners.put(onPropertyChangedListener, new Pair<>(namespace, executor));
+                incrementNamespace(namespace);
+            }
+        }
+    }
+
+    /**
+     * Add a listener for property changes.
+     * <p>
+     * This listener will be called whenever properties in the specified namespace change. Callbacks
+     * will be made on the specified executor. Future calls to this method with the same listener
+     * will replace the old namespace and executor. Remove the listener entirely by calling
+     * {@link #removeOnPropertiesChangedListener(OnPropertiesChangedListener)}.
+     *
+     * @param namespace                   The namespace containing properties to monitor.
+     * @param executor                    The executor which will be used to run callbacks.
+     * @param onPropertiesChangedListener The listener to add.
+     * @hide
+     * @see #removeOnPropertiesChangedListener(OnPropertiesChangedListener)
+     */
+    @SystemApi
+    @TestApi
+    @RequiresPermission(READ_DEVICE_CONFIG)
+    public static void addOnPropertiesChangedListener(
+            @NonNull String namespace,
+            @NonNull @CallbackExecutor Executor executor,
+            @NonNull OnPropertiesChangedListener onPropertiesChangedListener) {
+        synchronized (sLock) {
+            Pair<String, Executor> oldNamespace = sListeners.get(onPropertiesChangedListener);
+            if (oldNamespace == null) {
+                // Brand new listener, add it to the list.
+                sListeners.put(onPropertiesChangedListener, new Pair<>(namespace, executor));
+                incrementNamespace(namespace);
+            } else if (namespace.equals(oldNamespace.first)) {
+                // Listener is already registered for this namespace, update executor just in case.
+                sListeners.put(onPropertiesChangedListener, new Pair<>(namespace, executor));
+            } else {
+                // Update this listener from an old namespace to the new one.
+                decrementNamespace(sListeners.get(onPropertiesChangedListener).first);
+                sListeners.put(onPropertiesChangedListener, new Pair<>(namespace, executor));
                 incrementNamespace(namespace);
             }
         }
@@ -587,20 +597,45 @@
     @SystemApi
     @TestApi
     public static void removeOnPropertyChangedListener(
-            OnPropertyChangedListener onPropertyChangedListener) {
+            @NonNull OnPropertyChangedListener onPropertyChangedListener) {
+        Preconditions.checkNotNull(onPropertyChangedListener);
         synchronized (sLock) {
-            if (sListeners.containsKey(onPropertyChangedListener)) {
-                decrementNamespace(sListeners.get(onPropertyChangedListener).first);
-                sListeners.remove(onPropertyChangedListener);
+            if (sSingleListeners.containsKey(onPropertyChangedListener)) {
+                decrementNamespace(sSingleListeners.get(onPropertyChangedListener).first);
+                sSingleListeners.remove(onPropertyChangedListener);
             }
         }
     }
 
-    private static String createCompositeName(String namespace, String name) {
+    /**
+     * Remove a listener for property changes. The listener will receive no further notification of
+     * property changes.
+     *
+     * @param onPropertiesChangedListener The listener to remove.
+     * @hide
+     * @see #addOnPropertiesChangedListener(String, Executor, OnPropertiesChangedListener)
+     */
+    @SystemApi
+    @TestApi
+    public static void removeOnPropertiesChangedListener(
+            @NonNull OnPropertiesChangedListener onPropertiesChangedListener) {
+        Preconditions.checkNotNull(onPropertiesChangedListener);
+        synchronized (sLock) {
+            if (sListeners.containsKey(onPropertiesChangedListener)) {
+                decrementNamespace(sListeners.get(onPropertiesChangedListener).first);
+                sListeners.remove(onPropertiesChangedListener);
+            }
+        }
+    }
+
+    private static String createCompositeName(@NonNull String namespace, @NonNull String name) {
+        Preconditions.checkNotNull(namespace);
+        Preconditions.checkNotNull(name);
         return namespace + "/" + name;
     }
 
-    private static Uri createNamespaceUri(String namespace) {
+    private static Uri createNamespaceUri(@NonNull String namespace) {
+        Preconditions.checkNotNull(namespace);
         return CONTENT_URI.buildUpon().appendPath(namespace).build();
     }
 
@@ -612,7 +647,8 @@
      * @param namespace The namespace to increment the count for.
      */
     @GuardedBy("sLock")
-    private static void incrementNamespace(String namespace) {
+    private static void incrementNamespace(@NonNull String namespace) {
+        Preconditions.checkNotNull(namespace);
         Pair<ContentObserver, Integer> namespaceCount = sNamespaces.get(namespace);
         if (namespaceCount != null) {
             sNamespaces.put(namespace, new Pair<>(namespaceCount.first, namespaceCount.second + 1));
@@ -621,7 +657,9 @@
             ContentObserver contentObserver = new ContentObserver(null) {
                 @Override
                 public void onChange(boolean selfChange, Uri uri) {
-                    handleChange(uri);
+                    if (uri != null) {
+                        handleChange(uri);
+                    }
                 }
             };
             ActivityThread.currentApplication().getContentResolver()
@@ -638,7 +676,8 @@
      * @param namespace The namespace to decrement the count for.
      */
     @GuardedBy("sLock")
-    private static void decrementNamespace(String namespace) {
+    private static void decrementNamespace(@NonNull String namespace) {
+        Preconditions.checkNotNull(namespace);
         Pair<ContentObserver, Integer> namespaceCount = sNamespaces.get(namespace);
         if (namespaceCount == null) {
             // This namespace is not registered and does not need to be decremented
@@ -653,19 +692,38 @@
         }
     }
 
-    private static void handleChange(Uri uri) {
+    private static void handleChange(@NonNull Uri uri) {
+        Preconditions.checkNotNull(uri);
         List<String> pathSegments = uri.getPathSegments();
         // pathSegments(0) is "config"
-        String namespace = pathSegments.get(1);
-        String name = pathSegments.get(2);
-        String value = getProperty(namespace, name);
+        final String namespace = pathSegments.get(1);
+        final String name = pathSegments.get(2);
+        final String value = getProperty(namespace, name);
         synchronized (sLock) {
-            for (OnPropertyChangedListener listener : sListeners.keySet()) {
-                if (namespace.equals(sListeners.get(listener).first)) {
-                    sListeners.get(listener).second.execute(new Runnable() {
+            // OnPropertiesChangedListeners
+            for (int i = 0; i < sListeners.size(); i++) {
+                if (namespace.equals(sListeners.valueAt(i).first)) {
+                    final int j = i;
+                    sListeners.valueAt(i).second.execute(new Runnable() {
                         @Override
                         public void run() {
-                            listener.onPropertyChanged(namespace, name, value);
+                            Map<String, String> propertyMap = new HashMap(1);
+                            propertyMap.put(name, value);
+                            sListeners.keyAt(j)
+                                    .onPropertiesChanged(new Properties(namespace, propertyMap));
+                        }
+
+                    });
+                }
+            }
+            // OnPropertyChangedListeners
+            for (int i = 0; i < sSingleListeners.size(); i++) {
+                if (namespace.equals(sSingleListeners.valueAt(i).first)) {
+                    final int j = i;
+                    sSingleListeners.valueAt(i).second.execute(new Runnable() {
+                        @Override
+                        public void run() {
+                            sSingleListeners.keyAt(j).onPropertyChanged(namespace, name, value);
                         }
 
                     });
@@ -675,7 +733,7 @@
     }
 
     /**
-     * Interface for monitoring to properties.
+     * Interface for monitoring single property changes.
      * <p>
      * Override {@link #onPropertyChanged(String, String, String)} to handle callbacks for changes.
      *
@@ -691,6 +749,162 @@
          * @param name      The name of the property which has changed.
          * @param value     The new value of the property which has changed.
          */
-        void onPropertyChanged(String namespace, String name, String value);
+        void onPropertyChanged(@NonNull String namespace, @NonNull String name,
+                @Nullable String value);
+    }
+
+    /**
+     * Interface for monitoring changes to properties.
+     * <p>
+     * Override {@link #onPropertiesChanged(Properties)} to handle callbacks for changes.
+     *
+     * @hide
+     */
+    @SystemApi
+    @TestApi
+    public interface OnPropertiesChangedListener {
+        /**
+         * Called when one or more properties have changed.
+         *
+         * @param properties Contains the complete collection of properties which have changed for a
+         *                   single namespace.
+         */
+        void onPropertiesChanged(@NonNull Properties properties);
+    }
+
+    /**
+     * A mapping of properties to values, as well as a single namespace which they all belong to.
+     *
+     * @hide
+     */
+    @SystemApi
+    @TestApi
+    public static class Properties {
+        private final String mNamespace;
+        private final HashMap<String, String> mMap;
+
+        /**
+         * Create a mapping of properties to values and the namespace they belong to.
+         *
+         * @param namespace The namespace these properties belong to.
+         * @param keyValueMap A map between property names and property values.
+         */
+        Properties(@NonNull String namespace, @Nullable Map<String, String> keyValueMap) {
+            Preconditions.checkNotNull(namespace);
+            mNamespace = namespace;
+            mMap = new HashMap();
+            if (keyValueMap != null) {
+                mMap.putAll(keyValueMap);
+            }
+        }
+
+        /**
+         * @return the namespace all properties within this instance belong to.
+         */
+        @NonNull
+        public String getNamespace() {
+            return mNamespace;
+        }
+
+        /**
+         * @return the non-null set of property names.
+         */
+        @NonNull
+        public Set<String> getKeyset() {
+            return mMap.keySet();
+        }
+
+        /**
+         * Look up the String value of a property.
+         *
+         * @param name         The name of the property to look up.
+         * @param defaultValue The value to return if the property has not been defined.
+         * @return the corresponding value, or defaultValue if none exists.
+         */
+        @Nullable
+        public String getString(@NonNull String name, @Nullable String defaultValue) {
+            Preconditions.checkNotNull(name);
+            String value = mMap.get(name);
+            return value != null ? value : defaultValue;
+        }
+
+        /**
+         * Look up the boolean value of a property.
+         *
+         * @param name         The name of the property to look up.
+         * @param defaultValue The value to return if the property has not been defined.
+         * @return the corresponding value, or defaultValue if none exists.
+         */
+        public boolean getBoolean(@NonNull String name, boolean defaultValue) {
+            Preconditions.checkNotNull(name);
+            String value = mMap.get(name);
+            return value != null ? Boolean.parseBoolean(value) : defaultValue;
+        }
+
+        /**
+         * Look up the int value of a property.
+         *
+         * @param name         The name of the property to look up.
+         * @param defaultValue The value to return if the property has not been defined or fails to
+         *                     parse into an int.
+         * @return the corresponding value, or defaultValue if no valid int is available.
+         */
+        public int getInt(@NonNull String name, int defaultValue) {
+            Preconditions.checkNotNull(name);
+            String value = mMap.get(name);
+            if (value == null) {
+                return defaultValue;
+            }
+            try {
+                return Integer.parseInt(value);
+            } catch (NumberFormatException e) {
+                Log.e(TAG, "Parsing int failed for " + name);
+                return defaultValue;
+            }
+        }
+
+        /**
+         * Look up the long value of a property.
+         *
+         * @param name         The name of the property to look up.
+         * @param defaultValue The value to return if the property has not been defined. or fails to
+         *                     parse into a long.
+         * @return the corresponding value, or defaultValue if no valid long is available.
+         */
+        public long getLong(@NonNull String name, long defaultValue) {
+            Preconditions.checkNotNull(name);
+            String value = mMap.get(name);
+            if (value == null) {
+                return defaultValue;
+            }
+            try {
+                return Long.parseLong(value);
+            } catch (NumberFormatException e) {
+                Log.e(TAG, "Parsing long failed for " + name);
+                return defaultValue;
+            }
+        }
+
+        /**
+         * Look up the int value of a property.
+         *
+         * @param name         The name of the property to look up.
+         * @param defaultValue The value to return if the property has not been defined. or fails to
+         *                     parse into a float.
+         * @return the corresponding value, or defaultValue if no valid float is available.
+         */
+        public float getFloat(@NonNull String name, float defaultValue) {
+            Preconditions.checkNotNull(name);
+            String value = mMap.get(name);
+            if (value == null) {
+                return defaultValue;
+            }
+            try {
+                return Float.parseFloat(value);
+            } catch (NumberFormatException e) {
+                Log.e(TAG, "Parsing float failed for " + name);
+                return defaultValue;
+            }
+        }
     }
 }
diff --git a/core/java/android/provider/DocumentsContract.java b/core/java/android/provider/DocumentsContract.java
index 49567b2..4632b75 100644
--- a/core/java/android/provider/DocumentsContract.java
+++ b/core/java/android/provider/DocumentsContract.java
@@ -1252,7 +1252,8 @@
      * {@hide}
      */
     @SystemApi
-    public static Uri setManageMode(Uri uri) {
+    public static @NonNull Uri setManageMode(@NonNull Uri uri) {
+        Preconditions.checkNotNull(uri, "uri can not be null");
         return uri.buildUpon().appendQueryParameter(PARAM_MANAGE, "true").build();
     }
 
@@ -1262,7 +1263,8 @@
      * {@hide}
      */
     @SystemApi
-    public static boolean isManageMode(Uri uri) {
+    public static boolean isManageMode(@NonNull Uri uri) {
+        Preconditions.checkNotNull(uri, "uri can not be null");
         return uri.getBooleanQueryParameter(PARAM_MANAGE, false);
     }
 
diff --git a/core/java/android/provider/DocumentsProvider.java b/core/java/android/provider/DocumentsProvider.java
index 9b9e2de..2143a0d 100644
--- a/core/java/android/provider/DocumentsProvider.java
+++ b/core/java/android/provider/DocumentsProvider.java
@@ -471,10 +471,12 @@
      * the most recently modified documents.
      * <p>
      * If this method is overriden by the concrete DocumentsProvider and
-     * QUERY_ARGS_LIMIT is specified with a nonnegative int under queryArgs, the
-     * result will be limited by that number and QUERY_ARG_LIMIT will be
-     * specified under EXTRA_HONORED_ARGS. Otherwise, a default 64 limit will
-     * be used and no QUERY_ARG* will be specified under EXTRA_HONORED_ARGS.
+     * {@link ContentResolver#QUERY_ARG_LIMIT} is specified with a nonnegative
+     * int under queryArgs, the result will be limited by that number and
+     * {@link ContentResolver#QUERY_ARG_LIMIT} will be specified under
+     * {@link ContentResolver#EXTRA_HONORED_ARGS}. Otherwise, a default 64 limit
+     * will be used and no QUERY_ARG* will be specified under
+     * {@link ContentResolver#EXTRA_HONORED_ARGS}.
      * <p>
      * Recent documents do not support change notifications.
      *
@@ -487,10 +489,12 @@
      * @see DocumentsContract#EXTRA_LOADING
      */
     @SuppressWarnings("unused")
+    @Nullable
     public Cursor queryRecentDocuments(
-            String rootId, String[] projection, @Nullable Bundle queryArgs,
-            @Nullable CancellationSignal signal)
-            throws FileNotFoundException {
+            @NonNull String rootId, @Nullable String[] projection, @Nullable Bundle queryArgs,
+            @Nullable CancellationSignal signal) throws FileNotFoundException {
+        Preconditions.checkNotNull(rootId, "rootId can not be null");
+
         Cursor c = queryRecentDocuments(rootId, projection);
         Bundle extras = new Bundle();
         c.setExtras(extras);
@@ -697,8 +701,9 @@
      * @see DocumentsContract#EXTRA_ERROR
      */
     @SuppressWarnings("unused")
-    public Cursor querySearchDocuments(@NonNull String rootId, @Nullable String[] projection,
-            @NonNull Bundle queryArgs) throws FileNotFoundException {
+    @Nullable
+    public Cursor querySearchDocuments(@NonNull String rootId,
+            @Nullable String[] projection, @NonNull Bundle queryArgs) throws FileNotFoundException {
         Preconditions.checkNotNull(rootId, "rootId can not be null");
         Preconditions.checkNotNull(queryArgs, "queryArgs can not be null");
         return querySearchDocuments(rootId, DocumentsContract.getSearchDocumentsQuery(queryArgs),
diff --git a/core/java/android/provider/MediaStore.java b/core/java/android/provider/MediaStore.java
index 917b5c2..1486333 100644
--- a/core/java/android/provider/MediaStore.java
+++ b/core/java/android/provider/MediaStore.java
@@ -98,7 +98,7 @@
     /** The authority for the media provider */
     public static final String AUTHORITY = "media";
     /** A content:// style uri to the authority for the media provider */
-    public static final Uri AUTHORITY_URI = Uri.parse("content://" + AUTHORITY);
+    public static final @NonNull Uri AUTHORITY_URI = Uri.parse("content://" + AUTHORITY);
 
     /**
      * Volume name used for content on "internal" storage of device. This
diff --git a/core/java/android/provider/Settings.java b/core/java/android/provider/Settings.java
index 45219d6..dd38373 100644
--- a/core/java/android/provider/Settings.java
+++ b/core/java/android/provider/Settings.java
@@ -1686,14 +1686,7 @@
      * Input: Nothing.
      *
      * <p>
-     * Output: {@link android.app.Activity#RESULT_OK} if user enabled Content Capture,
-     * {@link android.app.Activity#RESULT_CANCELED} if user disabled it, cancelled, or if the caller
-     * is not the Content Capture service associated with the user.
-     *
-     * <p>
-     * <b>NOTE: </b> Caller should call
-     * {@link android.view.contentcapture.ContentCaptureManager#isContentCaptureFeatureEnabled()}
-     * first to check whether the feature is already enabled.
+     * Output: Nothing
      *
      * @hide
      */
@@ -1703,6 +1696,19 @@
     public static final String ACTION_REQUEST_ENABLE_CONTENT_CAPTURE =
             "android.settings.REQUEST_ENABLE_CONTENT_CAPTURE";
 
+    /**
+     * Activity Action: Show screen that let user manage how Android handles URL resolution.
+     * <p>
+     * Input: Nothing.
+     * <p>
+     * Output: Nothing
+     *
+     * @hide
+     */
+    @SystemApi
+    @SdkConstant(SdkConstantType.ACTIVITY_INTENT_ACTION)
+    public static final String ACTION_MANAGE_DOMAIN_URLS = "android.settings.MANAGE_DOMAIN_URLS";
+
     // End of Intent actions for Settings
 
     /**
@@ -5597,6 +5603,15 @@
         private static final Validator ALLOW_MOCK_LOCATION_VALIDATOR = BOOLEAN_VALIDATOR;
 
         /**
+         * Setting to indicate that on device captions are enabled.
+         *
+         * @hide
+         */
+        public static final String ODI_CAPTIONS_ENABLED = "odi_captions_enabled";
+
+        private static final Validator ODI_CAPTIONS_ENABLED_VALIDATOR = BOOLEAN_VALIDATOR;
+
+        /**
          * On Android 8.0 (API level 26) and higher versions of the platform,
          * a 64-bit number (expressed as a hexadecimal string), unique to
          * each combination of app-signing key, user, and device.
@@ -5758,7 +5773,11 @@
                 "autofill_user_data_min_value_length";
 
         /**
-         * Defines whether Content Capture is enabled  for the user.
+         * Defines whether Content Capture is enabled for the user.
+         *
+         * <p>Type: {@code int} ({@code 0} for disabled, {@code 1} for enabled).
+         * <p>Default: enabled
+         *
          * @hide
          */
         @TestApi
@@ -6338,7 +6357,6 @@
          * Number of times the user has manually clicked the ringer toggle
          * @hide
          */
-        @SystemApi
         public static final String MANUAL_RINGER_TOGGLE_COUNT = "manual_ringer_toggle_count";
 
         private static final Validator MANUAL_RINGER_TOGGLE_COUNT_VALIDATOR =
@@ -7553,6 +7571,15 @@
         private static final Validator SKIP_GESTURE_VALIDATOR = BOOLEAN_VALIDATOR;
 
         /**
+         * Count of successful gestures.
+         * @hide
+         */
+        public static final String SKIP_GESTURE_COUNT = "skip_gesture_count";
+
+        private static final Validator SKIP_GESTURE_COUNT_VALIDATOR =
+                NON_NEGATIVE_INTEGER_VALIDATOR;
+
+        /**
          * Gesture that silences sound (alarms, notification, calls).
          * @hide
          */
@@ -7561,6 +7588,34 @@
         private static final Validator SILENCE_GESTURE_VALIDATOR = BOOLEAN_VALIDATOR;
 
         /**
+         * Count of successful silence alarms gestures.
+         * @hide
+         */
+        public static final String SILENCE_ALARMS_GESTURE_COUNT = "silence_alarms_gesture_count";
+
+        /**
+         * Count of successful silence timer gestures.
+         * @hide
+         */
+        public static final String SILENCE_TIMER_GESTURE_COUNT = "silence_timer_gesture_count";
+
+        /**
+         * Count of successful silence call gestures.
+         * @hide
+         */
+        public static final String SILENCE_CALL_GESTURE_COUNT = "silence_call_gesture_count";
+
+        /**
+         * Count of successful silence notification gestures.
+         * @hide
+         */
+        public static final String SILENCE_NOTIFICATION_GESTURE_COUNT =
+                "silence_notification_gesture_count";
+
+        private static final Validator SILENCE_GESTURE_COUNT_VALIDATOR =
+                NON_NEGATIVE_INTEGER_VALIDATOR;
+
+        /**
          * The current night mode that has been selected by the user.  Owned
          * and controlled by UiModeManagerService.  Constants are as per
          * UiModeManager.
@@ -8007,6 +8062,16 @@
                 BOOLEAN_VALIDATOR;
 
         /**
+         * Whether or not face unlock dismisses the keyguard.
+         * @hide
+         */
+        public static final String FACE_UNLOCK_DISMISSES_KEYGUARD =
+                "face_unlock_dismisses_keyguard";
+
+        private static final Validator FACE_UNLOCK_DISMISSES_KEYGUARD_VALIDATOR =
+                BOOLEAN_VALIDATOR;
+
+        /**
          * Whether or not face unlock is allowed for apps (through BiometricPrompt).
          * @hide
          */
@@ -8017,9 +8082,9 @@
 
         /**
          * Whether or not face unlock always requires user confirmation, meaning {@link
-         * android.hardware.biometrics.BiometricPrompt.Builder#setRequireConfirmation(boolean)}
+         * android.hardware.biometrics.BiometricPrompt.Builder#setConfirmationRequired(boolean)}
          * is always 'true'. This overrides the behavior that apps choose in the
-         * setRequireConfirmation API.
+         * setConfirmationRequired API.
          * @hide
          */
         public static final String FACE_UNLOCK_ALWAYS_REQUIRE_CONFIRMATION =
@@ -8464,9 +8529,15 @@
         @SystemApi
         public static final String VOLUME_HUSH_GESTURE = "volume_hush_gesture";
 
-        /** @hide */ public static final int VOLUME_HUSH_OFF = 0;
-        /** @hide */ public static final int VOLUME_HUSH_VIBRATE = 1;
-        /** @hide */ public static final int VOLUME_HUSH_MUTE = 2;
+        /** @hide */
+        @SystemApi
+        public static final int VOLUME_HUSH_OFF = 0;
+        /** @hide */
+        @SystemApi
+        public static final int VOLUME_HUSH_VIBRATE = 1;
+        /** @hide */
+        @SystemApi
+        public static final int VOLUME_HUSH_MUTE = 2;
 
         private static final Validator VOLUME_HUSH_GESTURE_VALIDATOR =
                 NON_NEGATIVE_INTEGER_VALIDATOR;
@@ -8559,6 +8630,19 @@
         public static final String LOCATION_ACCESS_CHECK_DELAY_MILLIS =
                 "location_access_check_delay_millis";
 
+        /**
+         * What should happen to the location permissions when upgraded to Android Q.
+         *
+         * <ul>
+         *     <li>0/unset == revoke permissions</li>
+         *     <li>anything else == Don't do anything</li>
+         * </ul>
+         *
+         * @hide
+         */
+        @SystemApi
+        public static final String LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE =
+                "location_permissions_upgrade_to_q_mode";
 
         /**
          * Comma separated list of enabled overlay packages for all android.theme.customization.*
@@ -8667,6 +8751,7 @@
             NFC_PAYMENT_DEFAULT_COMPONENT,
             AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN,
             FACE_UNLOCK_KEYGUARD_ENABLED,
+            FACE_UNLOCK_DISMISSES_KEYGUARD,
             FACE_UNLOCK_APP_ENABLED,
             FACE_UNLOCK_ALWAYS_REQUIRE_CONFIRMATION,
             ASSIST_GESTURE_ENABLED,
@@ -8706,6 +8791,11 @@
             SILENCE_GESTURE,
             THEME_CUSTOMIZATION_OVERLAY_PACKAGES,
             AWARE_ENABLED,
+            SKIP_GESTURE_COUNT,
+            SILENCE_ALARMS_GESTURE_COUNT,
+            SILENCE_NOTIFICATION_GESTURE_COUNT,
+            SILENCE_CALL_GESTURE_COUNT,
+            SILENCE_TIMER_GESTURE_COUNT,
         };
 
         /**
@@ -8828,6 +8918,8 @@
             VALIDATORS.put(AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN,
                     AUTOMATIC_STORAGE_MANAGER_DAYS_TO_RETAIN_VALIDATOR);
             VALIDATORS.put(FACE_UNLOCK_KEYGUARD_ENABLED, FACE_UNLOCK_KEYGUARD_ENABLED_VALIDATOR);
+            VALIDATORS.put(FACE_UNLOCK_DISMISSES_KEYGUARD,
+                    FACE_UNLOCK_DISMISSES_KEYGUARD_VALIDATOR);
             VALIDATORS.put(FACE_UNLOCK_APP_ENABLED, FACE_UNLOCK_APP_ENABLED_VALIDATOR);
             VALIDATORS.put(FACE_UNLOCK_ALWAYS_REQUIRE_CONFIRMATION,
                     FACE_UNLOCK_ALWAYS_REQUIRE_CONFIRMATION_VALIDATOR);
@@ -8880,6 +8972,12 @@
             VALIDATORS.put(THEME_CUSTOMIZATION_OVERLAY_PACKAGES,
                     THEME_CUSTOMIZATION_OVERLAY_PACKAGES_VALIDATOR);
             VALIDATORS.put(AWARE_ENABLED, AWARE_ENABLED_VALIDATOR);
+            VALIDATORS.put(SKIP_GESTURE_COUNT, SKIP_GESTURE_COUNT_VALIDATOR);
+            VALIDATORS.put(SILENCE_ALARMS_GESTURE_COUNT, SILENCE_GESTURE_COUNT_VALIDATOR);
+            VALIDATORS.put(SILENCE_TIMER_GESTURE_COUNT, SILENCE_GESTURE_COUNT_VALIDATOR);
+            VALIDATORS.put(SILENCE_CALL_GESTURE_COUNT, SILENCE_GESTURE_COUNT_VALIDATOR);
+            VALIDATORS.put(SILENCE_NOTIFICATION_GESTURE_COUNT, SILENCE_GESTURE_COUNT_VALIDATOR);
+            VALIDATORS.put(ODI_CAPTIONS_ENABLED, ODI_CAPTIONS_ENABLED_VALIDATOR);
         }
 
         /**
@@ -8970,69 +9068,23 @@
          * @deprecated use {@link LocationManager#isProviderEnabled(String)}
          */
         @Deprecated
-        public static final boolean isLocationProviderEnabled(ContentResolver cr, String provider) {
-            return isLocationProviderEnabledForUser(cr, provider, cr.getUserId());
-        }
-
-        /**
-         * Helper method for determining if a location provider is enabled.
-         * @param cr the content resolver to use
-         * @param provider the location provider to query
-         * @param userId the userId to query
-         * @return true if the provider is enabled
-         *
-         * @deprecated use {@link LocationManager#isProviderEnabled(String)}
-         * @hide
-         */
-        @Deprecated
-        public static final boolean isLocationProviderEnabledForUser(
-                ContentResolver cr, String provider, int userId) {
+        public static boolean isLocationProviderEnabled(ContentResolver cr, String provider) {
             String allowedProviders = Settings.Secure.getStringForUser(cr,
-                    LOCATION_PROVIDERS_ALLOWED, userId);
+                    LOCATION_PROVIDERS_ALLOWED, cr.getUserId());
             return TextUtils.delimitedStringContains(allowedProviders, ',', provider);
         }
 
         /**
-         * Thread-safe method for enabling or disabling a single location provider.
+         * Thread-safe method for enabling or disabling a single location provider. This will have
+         * no effect on Android Q and above.
          * @param cr the content resolver to use
          * @param provider the location provider to enable or disable
          * @param enabled true if the provider should be enabled
-         * @deprecated This API is deprecated. It requires WRITE_SECURE_SETTINGS permission to
-         *             change location settings.
+         * @deprecated This API is deprecated
          */
         @Deprecated
-        public static final void setLocationProviderEnabled(ContentResolver cr,
+        public static void setLocationProviderEnabled(ContentResolver cr,
                 String provider, boolean enabled) {
-            setLocationProviderEnabledForUser(cr, provider, enabled, cr.getUserId());
-        }
-
-        /**
-         * Thread-safe method for enabling or disabling a single location provider.
-         *
-         * @param cr the content resolver to use
-         * @param provider the location provider to enable or disable
-         * @param enabled true if the provider should be enabled
-         * @param userId the userId for which to enable/disable providers
-         * @return true if the value was set, false on database errors
-         *
-         * @deprecated use {@link LocationManager#setProviderEnabledForUser(String, boolean, int)}
-         * @hide
-         */
-        @Deprecated
-        public static final boolean setLocationProviderEnabledForUser(ContentResolver cr,
-                String provider, boolean enabled, int userId) {
-            synchronized (mLocationSettingsLock) {
-                // to ensure thread safety, we write the provider name with a '+' or '-'
-                // and let the SettingsProvider handle it rather than reading and modifying
-                // the list of enabled providers.
-                if (enabled) {
-                    provider = "+" + provider;
-                } else {
-                    provider = "-" + provider;
-                }
-                return putStringForUser(cr, Settings.Secure.LOCATION_PROVIDERS_ALLOWED, provider,
-                        userId);
-            }
         }
     }
 
@@ -9066,6 +9118,8 @@
          */
         public static final String APPLY_RAMPING_RINGER = "apply_ramping_ringer";
 
+        private static final Validator APPLY_RAMPING_RINGER_VALIDATOR = BOOLEAN_VALIDATOR;
+
         /**
          * Setting whether the global gesture for enabling accessibility is enabled.
          * If this gesture is enabled the user will be able to perfrom it to enable
@@ -10684,7 +10738,7 @@
 
         /**
          * Setting to enable the Wi-Fi link probing.
-         * Disabled by default, and setting it to 1 will enable it.
+         * Enabled by default, and setting it to 0 will disable it.
          * The value is boolean (0 or 1).
          * @hide
          */
@@ -11137,8 +11191,9 @@
 
         /**
          * The threshold value for the number of consecutive dns timeout events received to be a
-         * signal of data stall. Set the value to 0 or less than 0 to disable. Note that the value
-         * should be larger than 0 if the DNS data stall detection is enabled.
+         * signal of data stall. The number of consecutive timeouts needs to be {@code >=} this
+         * threshold to be considered a data stall. Set the value to {@code <= 0} to disable. Note
+         * that the value should be {@code > 0} if the DNS data stall detection is enabled.
          *
          * @hide
          */
@@ -11169,9 +11224,12 @@
                 "data_stall_valid_dns_time_threshold";
 
         /**
-         * Which data stall detection signal to use. Possible values are a union of the powers of 2
-         * of DATA_STALL_EVALUATION_TYPE_*.
+         * Which data stall detection signal to use. This is a bitmask constructed by bitwise-or-ing
+         * (i.e. {@code |}) the DATA_STALL_EVALUATION_TYPE_* values.
          *
+         * Type: int
+         * Valid values:
+         *   {@link #DATA_STALL_EVALUATION_TYPE_DNS} : Use dns as a signal.
          * @hide
          */
         @SystemApi
@@ -11179,6 +11237,15 @@
         public static final String DATA_STALL_EVALUATION_TYPE = "data_stall_evaluation_type";
 
         /**
+         * Use dns timeout counts to detect data stall.
+         *
+         * @hide
+         */
+        @SystemApi
+        @TestApi
+        public static final int DATA_STALL_EVALUATION_TYPE_DNS = 1;
+
+        /**
          * Whether to try cellular data recovery when a bad network is reported.
          *
          * @hide
@@ -11423,6 +11490,7 @@
          * service_min_restart_time_between     (long)
          * service_max_inactivity               (long)
          * service_bg_start_timeout             (long)
+         * service_bg_activity_start_timeout    (long)
          * process_start_async                  (boolean)
          * </pre>
          *
@@ -11453,6 +11521,15 @@
                 "background_activity_starts_enabled";
 
         /**
+         * The packages temporarily whitelisted to be able so start activities from background.
+         * The list of packages is {@code ":"} colon delimited.
+         *
+         * @hide
+         */
+        public static final String BACKGROUND_ACTIVITY_STARTS_PACKAGE_NAMES_WHITELIST =
+                "background_activity_starts_package_names_whitelist";
+
+        /**
          * @hide
          * @see com.android.server.appbinding.AppBindingConstants
          */
@@ -11895,22 +11972,26 @@
          * entity_list_default use ":" as delimiter for values. Ex:
          *
          * <pre>
-         * smart_linkify_enabled                    (boolean)
-         * system_textclassifier_enabled            (boolean)
-         * model_dark_launch_enabled                (boolean)
-         * smart_selection_enabled                  (boolean)
-         * smart_text_share_enabled                 (boolean)
-         * smart_linkify_enabled                    (boolean)
-         * smart_select_animation_enabled           (boolean)
-         * suggest_selection_max_range_length       (int)
-         * classify_text_max_range_length           (int)
-         * generate_links_max_text_length           (int)
-         * generate_links_log_sample_rate           (int)
-         * entity_list_default                      (String[])
-         * entity_list_not_editable                 (String[])
-         * entity_list_editable                     (String[])
-         * lang_id_threshold_override               (float)
-         * template_intent_factory_enabled          (boolean)
+         * smart_linkify_enabled                            (boolean)
+         * system_textclassifier_enabled                    (boolean)
+         * model_dark_launch_enabled                        (boolean)
+         * smart_selection_enabled                          (boolean)
+         * smart_text_share_enabled                         (boolean)
+         * smart_linkify_enabled                            (boolean)
+         * smart_select_animation_enabled                   (boolean)
+         * suggest_selection_max_range_length               (int)
+         * classify_text_max_range_length                   (int)
+         * generate_links_max_text_length                   (int)
+         * generate_links_log_sample_rate                   (int)
+         * entity_list_default                              (String[])
+         * entity_list_not_editable                         (String[])
+         * entity_list_editable                             (String[])
+         * in_app_conversation_action_types_default         (String[])
+         * notification_conversation_action_types_default   (String[])
+         * lang_id_threshold_override                       (float)
+         * template_intent_factory_enabled                  (boolean)
+         * translate_in_classification_enabled              (boolean)
+         * detect_language_from_text_enabled                (boolean)
          * </pre>
          *
          * <p>
@@ -13477,6 +13558,7 @@
          * @hide
          */
         public static final String[] SETTINGS_TO_BACKUP = {
+            APPLY_RAMPING_RINGER,
             BUGREPORT_IN_POWER_MENU,
             STAY_ON_WHILE_PLUGGED_IN,
             APP_AUTO_RESTRICTION_ENABLED,
@@ -13517,6 +13599,7 @@
          */
         public static final Map<String, Validator> VALIDATORS = new ArrayMap<>();
         static {
+            VALIDATORS.put(APPLY_RAMPING_RINGER, APPLY_RAMPING_RINGER_VALIDATOR);
             VALIDATORS.put(BUGREPORT_IN_POWER_MENU, BUGREPORT_IN_POWER_MENU_VALIDATOR);
             VALIDATORS.put(STAY_ON_WHILE_PLUGGED_IN, STAY_ON_WHILE_PLUGGED_IN_VALIDATOR);
             VALIDATORS.put(AUTO_TIME, AUTO_TIME_VALIDATOR);
@@ -14565,6 +14648,14 @@
          */
         public static final String BATTERY_CHARGING_STATE_UPDATE_DELAY =
                 "battery_charging_state_update_delay";
+
+        /**
+         * A serialized string of params that will be loaded into a text classifier action model.
+         *
+         * @hide
+         */
+        public static final String TEXT_CLASSIFIER_ACTION_MODEL_PARAMS =
+                "text_classifier_action_model_params";
     }
 
     /**
@@ -14899,6 +14990,17 @@
                 "android.settings.panel.action.NFC";
 
         /**
+         * Activity Action: Show a settings dialog containing controls for Wifi.
+         * <p>
+         * Input: Nothing.
+         * <p>
+         * Output: Nothing.
+         */
+        @SdkConstant(SdkConstant.SdkConstantType.ACTIVITY_INTENT_ACTION)
+        public static final String ACTION_WIFI =
+                "android.settings.panel.action.WIFI";
+
+        /**
          * Activity Action: Show a settings dialog containing all volume streams.
          * <p>
          * Input: Nothing.
diff --git a/core/java/android/rolecontrollerservice/IRoleControllerService.aidl b/core/java/android/rolecontrollerservice/IRoleControllerService.aidl
deleted file mode 100644
index 40852ea..0000000
--- a/core/java/android/rolecontrollerservice/IRoleControllerService.aidl
+++ /dev/null
@@ -1,37 +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.rolecontrollerservice;
-
-import android.app.role.IRoleManagerCallback;
-
-/**
- * @hide
- */
-oneway interface IRoleControllerService {
-
-    void onAddRoleHolder(in String roleName, in String packageName, int flags,
-                         in IRoleManagerCallback callback);
-
-    void onRemoveRoleHolder(in String roleName, in String packageName, int flags,
-                           in IRoleManagerCallback callback);
-
-    void onClearRoleHolders(in String roleName, int flags, in IRoleManagerCallback callback);
-
-    void onGrantDefaultRoles(in IRoleManagerCallback callback);
-
-    void onSmsKillSwitchToggled(boolean smsRestrictionEnabled);
-}
diff --git a/core/java/android/rolecontrollerservice/RoleControllerService.java b/core/java/android/rolecontrollerservice/RoleControllerService.java
deleted file mode 100644
index c846b07..0000000
--- a/core/java/android/rolecontrollerservice/RoleControllerService.java
+++ /dev/null
@@ -1,197 +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.rolecontrollerservice;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.annotation.SystemApi;
-import android.app.Service;
-import android.app.role.IRoleManagerCallback;
-import android.app.role.RoleManager;
-import android.app.role.RoleManagerCallback;
-import android.content.Intent;
-import android.os.IBinder;
-import android.os.RemoteException;
-import android.os.UserHandle;
-import android.util.Log;
-
-import com.android.internal.util.Preconditions;
-
-import java.util.concurrent.Executor;
-
-/**
- * Abstract base class for the role controller service.
- * <p>
- * Subclass should implement the business logic for role management, including enforcing role
- * requirements and granting or revoking relevant privileges of roles. This class can only be
- * implemented by the permission controller app which is registered in {@code PackageManager}.
- *
- * @hide
- */
-@SystemApi
-public abstract class RoleControllerService extends Service {
-
-    private static final String LOG_TAG = RoleControllerService.class.getSimpleName();
-
-    /**
-     * The {@link Intent} that must be declared as handled by the service. The service should also
-     * require the {@link android.Manifest.permission#BIND_ROLE_CONTROLLER_SERVICE} permission so
-     * that other applications can not abuse it.
-     */
-    public static final String SERVICE_INTERFACE =
-            "android.rolecontrollerservice.RoleControllerService";
-
-    @Nullable
-    @Override
-    public final IBinder onBind(@Nullable Intent intent) {
-        return new IRoleControllerService.Stub() {
-
-            @Override
-            public void onAddRoleHolder(String roleName, String packageName, int flags,
-                    IRoleManagerCallback callback) {
-                Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
-                Preconditions.checkStringNotEmpty(packageName,
-                        "packageName cannot be null or empty");
-                Preconditions.checkNotNull(callback, "callback cannot be null");
-                RoleControllerService.this.onAddRoleHolder(roleName, packageName, flags,
-                        new RoleManagerCallbackDelegate(callback));
-            }
-
-            @Override
-            public void onRemoveRoleHolder(String roleName, String packageName, int flags,
-                    IRoleManagerCallback callback) {
-                Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
-                Preconditions.checkStringNotEmpty(packageName,
-                        "packageName cannot be null or empty");
-                Preconditions.checkNotNull(callback, "callback cannot be null");
-                RoleControllerService.this.onRemoveRoleHolder(roleName, packageName, flags,
-                        new RoleManagerCallbackDelegate(callback));
-            }
-
-            @Override
-            public void onClearRoleHolders(String roleName, int flags,
-                    IRoleManagerCallback callback) {
-                Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
-                Preconditions.checkNotNull(callback, "callback cannot be null");
-                RoleControllerService.this.onClearRoleHolders(roleName, flags,
-                        new RoleManagerCallbackDelegate(callback));
-            }
-
-            @Override
-            public void onGrantDefaultRoles(IRoleManagerCallback callback) {
-                Preconditions.checkNotNull(callback, "callback cannot be null");
-                RoleControllerService.this.onGrantDefaultRoles(new RoleManagerCallbackDelegate(
-                        callback));
-            }
-
-            @Override
-            public void onSmsKillSwitchToggled(boolean smsRestrictionEnabled) {
-                RoleControllerService.this.onSmsKillSwitchToggled(smsRestrictionEnabled);
-            }
-        };
-    }
-
-    /**
-     * Add a specific application to the holders of a role. If the role is exclusive, the previous
-     * holder will be replaced.
-     * <p>
-     * Implementation should enforce the role requirements and grant or revoke the relevant
-     * privileges of roles.
-     *
-     * @param roleName the name of the role to add the role holder for
-     * @param packageName the package name of the application to add to the role holders
-     * @param flags optional behavior flags
-     * @param callback the callback for whether this call is successful
-     *
-     * @see RoleManager#addRoleHolderAsUser(String, String, int, UserHandle, Executor,
-     *      RoleManagerCallback)
-     */
-    public abstract void onAddRoleHolder(@NonNull String roleName, @NonNull String packageName,
-            @RoleManager.ManageHoldersFlags int flags, @NonNull RoleManagerCallback callback);
-
-    /**
-     * Remove a specific application from the holders of a role.
-     *
-     * @param roleName the name of the role to remove the role holder for
-     * @param packageName the package name of the application to remove from the role holders
-     * @param flags optional behavior flags
-     * @param callback the callback for whether this call is successful
-     *
-     * @see RoleManager#removeRoleHolderAsUser(String, String, int, UserHandle, Executor,
-     *      RoleManagerCallback)
-     */
-    public abstract void onRemoveRoleHolder(@NonNull String roleName, @NonNull String packageName,
-            @RoleManager.ManageHoldersFlags int flags, @NonNull RoleManagerCallback callback);
-
-    /**
-     * Remove all holders of a role.
-     *
-     * @param roleName the name of the role to remove role holders for
-     * @param flags optional behavior flags
-     * @param callback the callback for whether this call is successful
-     *
-     * @see RoleManager#clearRoleHoldersAsUser(String, int, UserHandle, Executor,
-     *      RoleManagerCallback)
-     */
-    public abstract void onClearRoleHolders(@NonNull String roleName,
-            @RoleManager.ManageHoldersFlags int flags, @NonNull RoleManagerCallback callback);
-
-    /**
-     * Cleanup appop/permissions state in response to sms kill switch toggle
-     *
-     * @param smsRestrictionEnabled whether kill switch was turned on
-     */
-    //STOPSHIP: remove this api before shipping a final version
-    public abstract void onSmsKillSwitchToggled(boolean smsRestrictionEnabled);
-
-    /**
-     * Called by system to grant default permissions and roles.
-     * <p>
-     * This is typically when creating a new user or upgrading either system or
-     * permission controller package
-     *
-     * @param callback the callback for whether this call is successful
-     */
-    public abstract void onGrantDefaultRoles(@NonNull RoleManagerCallback callback);
-
-    private static class RoleManagerCallbackDelegate implements RoleManagerCallback {
-
-        private IRoleManagerCallback mCallback;
-
-        RoleManagerCallbackDelegate(IRoleManagerCallback callback) {
-            mCallback = callback;
-        }
-
-        @Override
-        public void onSuccess() {
-            try {
-                mCallback.onSuccess();
-            } catch (RemoteException e) {
-                Log.e(LOG_TAG, "Error calling onSuccess() callback");
-            }
-        }
-
-        @Override
-        public void onFailure() {
-            try {
-                mCallback.onFailure();
-            } catch (RemoteException e) {
-                Log.e(LOG_TAG, "Error calling onFailure() callback");
-            }
-        }
-    }
-}
diff --git a/core/java/android/security/keystore/recovery/KeyChainProtectionParams.java b/core/java/android/security/keystore/recovery/KeyChainProtectionParams.java
index 8f6b6ec..8801217 100644
--- a/core/java/android/security/keystore/recovery/KeyChainProtectionParams.java
+++ b/core/java/android/security/keystore/recovery/KeyChainProtectionParams.java
@@ -165,7 +165,7 @@
          * @param userSecretType The secret type
          * @return This builder.
          */
-        public Builder setUserSecretType(@UserSecretType int userSecretType) {
+        public @NonNull Builder setUserSecretType(@UserSecretType int userSecretType) {
             mInstance.mUserSecretType = userSecretType;
             return this;
         }
@@ -179,7 +179,7 @@
          * @param lockScreenUiFormat The UI format
          * @return This builder.
          */
-        public Builder setLockScreenUiFormat(@LockScreenUiFormat int lockScreenUiFormat) {
+        public @NonNull Builder setLockScreenUiFormat(@LockScreenUiFormat int lockScreenUiFormat) {
             mInstance.mLockScreenUiFormat = lockScreenUiFormat;
             return this;
         }
@@ -190,7 +190,7 @@
          * @param keyDerivationParams Key derivation parameters
          * @return This builder.
          */
-        public Builder setKeyDerivationParams(@NonNull KeyDerivationParams
+        public @NonNull Builder setKeyDerivationParams(@NonNull KeyDerivationParams
                 keyDerivationParams) {
             mInstance.mKeyDerivationParams = keyDerivationParams;
             return this;
@@ -202,7 +202,7 @@
          * @param secret The secret.
          * @return This builder.
          */
-        public Builder setSecret(@NonNull byte[] secret) {
+        public @NonNull Builder setSecret(@NonNull byte[] secret) {
             mInstance.mSecret = secret;
             return this;
         }
@@ -216,7 +216,7 @@
          * @return new instance
          * @throws NullPointerException if some required fields were not set.
          */
-        @NonNull public KeyChainProtectionParams build() {
+        public @NonNull KeyChainProtectionParams build() {
             if (mInstance.mUserSecretType == null) {
                 mInstance.mUserSecretType = TYPE_LOCKSCREEN;
             }
@@ -236,7 +236,7 @@
         Arrays.fill(mSecret, (byte) 0);
     }
 
-    public static final @android.annotation.NonNull Parcelable.Creator<KeyChainProtectionParams> CREATOR =
+    public static final @NonNull Parcelable.Creator<KeyChainProtectionParams> CREATOR =
             new Parcelable.Creator<KeyChainProtectionParams>() {
         public KeyChainProtectionParams createFromParcel(Parcel in) {
             return new KeyChainProtectionParams(in);
diff --git a/core/java/android/security/keystore/recovery/KeyChainSnapshot.java b/core/java/android/security/keystore/recovery/KeyChainSnapshot.java
index 18517aa..2f58471 100644
--- a/core/java/android/security/keystore/recovery/KeyChainSnapshot.java
+++ b/core/java/android/security/keystore/recovery/KeyChainSnapshot.java
@@ -147,7 +147,7 @@
         return mEncryptedRecoveryKeyBlob;
     }
 
-    public static final @android.annotation.NonNull Creator<KeyChainSnapshot> CREATOR =
+    public static final @NonNull Creator<KeyChainSnapshot> CREATOR =
             new Creator<KeyChainSnapshot>() {
         public KeyChainSnapshot createFromParcel(Parcel in) {
             return new KeyChainSnapshot(in);
@@ -171,7 +171,7 @@
          * @param snapshotVersion The snapshot version
          * @return This builder.
          */
-        public Builder setSnapshotVersion(int snapshotVersion) {
+        public @NonNull Builder setSnapshotVersion(int snapshotVersion) {
             mInstance.mSnapshotVersion = snapshotVersion;
             return this;
         }
@@ -182,7 +182,7 @@
          * @param maxAttempts The maximum number of guesses.
          * @return This builder.
          */
-        public Builder setMaxAttempts(int maxAttempts) {
+        public @NonNull Builder setMaxAttempts(int maxAttempts) {
             mInstance.mMaxAttempts = maxAttempts;
             return this;
         }
@@ -193,7 +193,7 @@
          * @param counterId The counter id.
          * @return This builder.
          */
-        public Builder setCounterId(long counterId) {
+        public @NonNull Builder setCounterId(long counterId) {
             mInstance.mCounterId = counterId;
             return this;
         }
@@ -204,7 +204,7 @@
          * @param serverParams The server parameters
          * @return This builder.
          */
-        public Builder setServerParams(byte[] serverParams) {
+        public @NonNull Builder setServerParams(byte[] serverParams) {
             mInstance.mServerParams = serverParams;
             return this;
         }
@@ -218,7 +218,7 @@
          * @throws CertificateException if the given certificate path cannot be encoded properly
          * @return This builder.
          */
-        public Builder setTrustedHardwareCertPath(@NonNull CertPath certPath)
+        public @NonNull Builder setTrustedHardwareCertPath(@NonNull CertPath certPath)
                 throws CertificateException {
             mInstance.mCertPath = RecoveryCertPath.createRecoveryCertPath(certPath);
             return this;
@@ -230,7 +230,7 @@
          * @param keyChainProtectionParams The UI and key derivation parameters
          * @return This builder.
          */
-        public Builder setKeyChainProtectionParams(
+        public @NonNull Builder setKeyChainProtectionParams(
                 @NonNull List<KeyChainProtectionParams> keyChainProtectionParams) {
             mInstance.mKeyChainProtectionParams = keyChainProtectionParams;
             return this;
@@ -242,7 +242,8 @@
          * @param entryRecoveryData List of application keys
          * @return This builder.
          */
-        public Builder setWrappedApplicationKeys(List<WrappedApplicationKey> entryRecoveryData) {
+        public @NonNull Builder setWrappedApplicationKeys(
+                @NonNull List<WrappedApplicationKey> entryRecoveryData) {
             mInstance.mEntryRecoveryData = entryRecoveryData;
             return this;
         }
@@ -253,7 +254,8 @@
          * @param encryptedRecoveryKeyBlob The recovery key blob.
          * @return This builder.
          */
-        public Builder setEncryptedRecoveryKeyBlob(@NonNull byte[] encryptedRecoveryKeyBlob) {
+        public @NonNull Builder setEncryptedRecoveryKeyBlob(
+                @NonNull byte[] encryptedRecoveryKeyBlob) {
             mInstance.mEncryptedRecoveryKeyBlob = encryptedRecoveryKeyBlob;
             return this;
         }
@@ -265,7 +267,7 @@
          * @return new instance
          * @throws NullPointerException if some of the required fields were not set.
          */
-        @NonNull public KeyChainSnapshot build() {
+        public @NonNull KeyChainSnapshot build() {
             Preconditions.checkCollectionElementsNotNull(mInstance.mKeyChainProtectionParams,
                     "keyChainProtectionParams");
             Preconditions.checkCollectionElementsNotNull(mInstance.mEntryRecoveryData,
diff --git a/core/java/android/security/keystore/recovery/KeyDerivationParams.java b/core/java/android/security/keystore/recovery/KeyDerivationParams.java
index 6d1533e..d036d14 100644
--- a/core/java/android/security/keystore/recovery/KeyDerivationParams.java
+++ b/core/java/android/security/keystore/recovery/KeyDerivationParams.java
@@ -140,7 +140,7 @@
         return mMemoryDifficulty;
     }
 
-    public static final @android.annotation.NonNull Parcelable.Creator<KeyDerivationParams> CREATOR =
+    public static final @NonNull Parcelable.Creator<KeyDerivationParams> CREATOR =
             new Parcelable.Creator<KeyDerivationParams>() {
         public KeyDerivationParams createFromParcel(Parcel in) {
                 return new KeyDerivationParams(in);
diff --git a/core/java/android/security/keystore/recovery/RecoveryCertPath.java b/core/java/android/security/keystore/recovery/RecoveryCertPath.java
index 04e965f..51bd2ae 100644
--- a/core/java/android/security/keystore/recovery/RecoveryCertPath.java
+++ b/core/java/android/security/keystore/recovery/RecoveryCertPath.java
@@ -74,7 +74,7 @@
         mEncodedCertPath = in.createByteArray();
     }
 
-    public static final @android.annotation.NonNull Parcelable.Creator<RecoveryCertPath> CREATOR =
+    public static final @NonNull Parcelable.Creator<RecoveryCertPath> CREATOR =
             new Parcelable.Creator<RecoveryCertPath>() {
         public RecoveryCertPath createFromParcel(Parcel in) {
             return new RecoveryCertPath(in);
diff --git a/core/java/android/security/keystore/recovery/RecoveryController.java b/core/java/android/security/keystore/recovery/RecoveryController.java
index a88aa8c..cc3e578 100644
--- a/core/java/android/security/keystore/recovery/RecoveryController.java
+++ b/core/java/android/security/keystore/recovery/RecoveryController.java
@@ -283,6 +283,7 @@
      */
     @RequiresPermission(android.Manifest.permission.RECOVER_KEYSTORE)
     @NonNull public static RecoveryController getInstance(@NonNull Context context) {
+        // lockSettings may be null.
         ILockSettings lockSettings =
                 ILockSettings.Stub.asInterface(ServiceManager.getService("lock_settings"));
         return new RecoveryController(lockSettings, KeyStore.getInstance());
diff --git a/core/java/android/security/keystore/recovery/RecoverySession.java b/core/java/android/security/keystore/recovery/RecoverySession.java
index 2b2438a..3e595e0 100644
--- a/core/java/android/security/keystore/recovery/RecoverySession.java
+++ b/core/java/android/security/keystore/recovery/RecoverySession.java
@@ -193,7 +193,7 @@
      *
      * @hide
      */
-    String getSessionId() {
+    @NonNull String getSessionId() {
         return mSessionId;
     }
 
diff --git a/core/java/android/security/keystore/recovery/WrappedApplicationKey.java b/core/java/android/security/keystore/recovery/WrappedApplicationKey.java
index c6e6272..665c937 100644
--- a/core/java/android/security/keystore/recovery/WrappedApplicationKey.java
+++ b/core/java/android/security/keystore/recovery/WrappedApplicationKey.java
@@ -72,7 +72,7 @@
          * @param alias The alias.
          * @return This builder.
          */
-        public Builder setAlias(@NonNull String alias) {
+        public @NonNull Builder setAlias(@NonNull String alias) {
             mInstance.mAlias = alias;
             return this;
         }
@@ -83,7 +83,7 @@
          * @param encryptedKeyMaterial The key material
          * @return This builder
          */
-        public Builder setEncryptedKeyMaterial(@NonNull byte[] encryptedKeyMaterial) {
+        public @NonNull Builder setEncryptedKeyMaterial(@NonNull byte[] encryptedKeyMaterial) {
             mInstance.mEncryptedKeyMaterial = encryptedKeyMaterial;
             return this;
         }
@@ -94,7 +94,7 @@
          * @param metadata The metadata
          * @return This builder
          */
-        public Builder setMetadata(@Nullable byte[] metadata) {
+        public @NonNull Builder setMetadata(@Nullable byte[] metadata) {
             mInstance.mMetadata = metadata;
             return this;
         }
@@ -105,7 +105,7 @@
          * @return new instance
          * @throws NullPointerException if some required fields were not set.
          */
-        @NonNull public WrappedApplicationKey build() {
+        public @NonNull WrappedApplicationKey build() {
             Preconditions.checkNotNull(mInstance.mAlias);
             Preconditions.checkNotNull(mInstance.mEncryptedKeyMaterial);
             return mInstance;
@@ -143,7 +143,7 @@
         return mMetadata;
     }
 
-    public static final @android.annotation.NonNull Parcelable.Creator<WrappedApplicationKey> CREATOR =
+    public static final @NonNull Parcelable.Creator<WrappedApplicationKey> CREATOR =
             new Parcelable.Creator<WrappedApplicationKey>() {
                 public WrappedApplicationKey createFromParcel(Parcel in) {
                     return new WrappedApplicationKey(in);
diff --git a/core/java/android/service/appprediction/AppPredictionService.java b/core/java/android/service/appprediction/AppPredictionService.java
index d012851..ff13e03 100644
--- a/core/java/android/service/appprediction/AppPredictionService.java
+++ b/core/java/android/service/appprediction/AppPredictionService.java
@@ -141,7 +141,8 @@
     }
 
     @Override
-    public final IBinder onBind(Intent intent) {
+    @NonNull
+    public final IBinder onBind(@NonNull Intent intent) {
         // TODO(b/111701043): Verify that the action is valid
         return mInterface.asBinder();
     }
diff --git a/core/java/android/service/attention/AttentionService.java b/core/java/android/service/attention/AttentionService.java
index 24d74ff..32f4ea9 100644
--- a/core/java/android/service/attention/AttentionService.java
+++ b/core/java/android/service/attention/AttentionService.java
@@ -18,6 +18,7 @@
 
 import android.annotation.IntDef;
 import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.app.Service;
 import android.content.Intent;
@@ -111,8 +112,9 @@
         }
     };
 
+    @Nullable
     @Override
-    public final IBinder onBind(Intent intent) {
+    public final IBinder onBind(@NonNull Intent intent) {
         if (SERVICE_INTERFACE.equals(intent.getAction())) {
             return mBinder;
         }
diff --git a/core/java/android/service/autofill/augmented/AugmentedAutofillService.java b/core/java/android/service/autofill/augmented/AugmentedAutofillService.java
index cd54930..34ced17 100644
--- a/core/java/android/service/autofill/augmented/AugmentedAutofillService.java
+++ b/core/java/android/service/autofill/augmented/AugmentedAutofillService.java
@@ -30,6 +30,7 @@
 import android.os.CancellationSignal;
 import android.os.Handler;
 import android.os.IBinder;
+import android.os.ICancellationSignal;
 import android.os.Looper;
 import android.os.RemoteException;
 import android.os.SystemClock;
@@ -201,18 +202,26 @@
         if (mAutofillProxies == null) {
             mAutofillProxies = new SparseArray<>();
         }
+
+        final ICancellationSignal transport = CancellationSignal.createTransport();
+        final CancellationSignal cancellationSignal = CancellationSignal.fromTransport(transport);
         AutofillProxy proxy = mAutofillProxies.get(sessionId);
         if (proxy == null) {
             proxy = new AutofillProxy(sessionId, client, taskId, componentName, focusedId,
-                    focusedValue, requestTime, callback);
+                    focusedValue, requestTime, callback, cancellationSignal);
             mAutofillProxies.put(sessionId,  proxy);
         } else {
             // TODO(b/123099468): figure out if it's ok to reuse the proxy; add logging
             if (DEBUG) Log.d(TAG, "Reusing proxy for session " + sessionId);
             proxy.update(focusedId, focusedValue, callback);
         }
-        // TODO(b/123101711): set cancellation signal
-        final CancellationSignal cancellationSignal = null;
+
+        try {
+            callback.onCancellable(transport);
+        } catch (RemoteException e) {
+            e.rethrowFromSystemServer();
+        }
+
         onFillRequest(new FillRequest(proxy), cancellationSignal, new FillController(proxy),
                 new FillCallback(proxy));
     }
@@ -329,18 +338,21 @@
         @GuardedBy("mLock")
         private FillWindow mFillWindow;
 
+        private CancellationSignal mCancellationSignal;
+
         private AutofillProxy(int sessionId, @NonNull IBinder client, int taskId,
                 @NonNull ComponentName componentName, @NonNull AutofillId focusedId,
                 @Nullable AutofillValue focusedValue, long requestTime,
-                @NonNull IFillCallback callback) {
+                @NonNull IFillCallback callback, @NonNull CancellationSignal cancellationSignal) {
             mSessionId = sessionId;
             mClient = IAugmentedAutofillManagerClient.Stub.asInterface(client);
             mCallback = callback;
             this.taskId = taskId;
             this.componentName = componentName;
-            this.mFocusedId = focusedId;
-            this.mFocusedValue = focusedValue;
-            this.mFirstRequestTime = requestTime;
+            mFocusedId = focusedId;
+            mFocusedValue = focusedValue;
+            mFirstRequestTime = requestTime;
+            mCancellationSignal = cancellationSignal;
             // TODO(b/123099468): linkToDeath
         }
 
@@ -394,6 +406,12 @@
 
         public void requestShowFillUi(int width, int height, Rect anchorBounds,
                 IAutofillWindowPresenter presenter) throws RemoteException {
+            if (mCancellationSignal.isCanceled()) {
+                if (VERBOSE) {
+                    Log.v(TAG, "requestShowFillUi() not showing because request is cancelled");
+                }
+                return;
+            }
             mClient.requestShowFillUi(mSessionId, mFocusedId, width, height, anchorBounds,
                     presenter);
         }
@@ -405,12 +423,16 @@
         private void update(@NonNull AutofillId focusedId, @NonNull AutofillValue focusedValue,
                 @NonNull IFillCallback callback) {
             synchronized (mLock) {
-                // TODO(b/123099468): should we close the popupwindow if the focused id changed?
                 mFocusedId = focusedId;
                 mFocusedValue = focusedValue;
                 if (mCallback != null) {
-                    // TODO(b/123101711): we need to check whether the previous request was
-                    //  completed or not, and if not, cancel it first.
+                    try {
+                        if (mCallback.isCompleted()) {
+                            mCallback.cancel();
+                        }
+                    } catch (RemoteException e) {
+                        Slog.e(TAG, "failed to check current pending request status", e);
+                    }
                     Slog.d(TAG, "mCallback is updated.");
                 }
                 mCallback = callback;
diff --git a/core/java/android/service/autofill/augmented/IFillCallback.aidl b/core/java/android/service/autofill/augmented/IFillCallback.aidl
index 2b072664..88baa87 100644
--- a/core/java/android/service/autofill/augmented/IFillCallback.aidl
+++ b/core/java/android/service/autofill/augmented/IFillCallback.aidl
@@ -24,7 +24,8 @@
  * @hide
  */
 interface IFillCallback {
-    // TODO(b/123101711): add cancellation (after we have CTS tests, so we can test it)
-//    void onCancellable(in ICancellationSignal cancellation);
+    void onCancellable(in ICancellationSignal cancellation);
     void onSuccess();
+    boolean isCompleted();
+    void cancel();
 }
diff --git a/core/java/android/service/carrier/CarrierIdentifier.java b/core/java/android/service/carrier/CarrierIdentifier.java
index 3a57e3a..6629233 100644
--- a/core/java/android/service/carrier/CarrierIdentifier.java
+++ b/core/java/android/service/carrier/CarrierIdentifier.java
@@ -16,6 +16,7 @@
 
 package android.service.carrier;
 
+import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -54,7 +55,7 @@
     private @Nullable String mGid1;
     private @Nullable String mGid2;
     private int mCarrierId = TelephonyManager.UNKNOWN_CARRIER_ID;
-    private int mPreciseCarrierId = TelephonyManager.UNKNOWN_CARRIER_ID;
+    private int mSpecificCarrierId = TelephonyManager.UNKNOWN_CARRIER_ID;
 
     public CarrierIdentifier(String mcc, String mnc, @Nullable String spn, @Nullable String imsi,
             @Nullable String gid1, @Nullable String gid2) {
@@ -71,12 +72,12 @@
      * @param gid2 group id level 2
      * @param carrierid carrier unique identifier {@link TelephonyManager#getSimCarrierId()}, used
      *                  to uniquely identify the carrier and look up the carrier configurations.
-     * @param preciseCarrierId precise carrier identifier
-     * {@link TelephonyManager#getSimPreciseCarrierId()}
+     * @param specificCarrierId specific carrier identifier
+     * {@link TelephonyManager#getSimSpecificCarrierId()}
      */
-    public CarrierIdentifier(String mcc, String mnc, @Nullable String spn,
+    public CarrierIdentifier(@NonNull String mcc, @NonNull String mnc, @Nullable String spn,
                              @Nullable String imsi, @Nullable String gid1, @Nullable String gid2,
-                             int carrierid, int preciseCarrierId) {
+                             int carrierid, int specificCarrierId) {
         mMcc = mcc;
         mMnc = mnc;
         mSpn = spn;
@@ -84,7 +85,7 @@
         mGid1 = gid1;
         mGid2 = gid2;
         mCarrierId = carrierid;
-        mPreciseCarrierId = preciseCarrierId;
+        mSpecificCarrierId = specificCarrierId;
     }
 
     /**
@@ -161,11 +162,17 @@
     }
 
     /**
-     * Returns the precise carrier id.
-     * @see TelephonyManager#getSimPreciseCarrierId()
+     * A specific carrier ID returns the fine-grained carrier ID of the current subscription.
+     * It can represent the fact that a carrier may be in effect an aggregation of other carriers
+     * (ie in an MVNO type scenario) where each of these specific carriers which are used to make
+     * up the actual carrier service may have different carrier configurations.
+     * A specific carrier ID could also be used, for example, in a scenario where a carrier requires
+     * different carrier configuration for different service offering such as a prepaid plan.
+     *
+     * @see TelephonyManager#getSimSpecificCarrierId()
      */
-    public int getPreciseCarrierId() {
-        return mPreciseCarrierId;
+    public int getSpecificCarrierId() {
+        return mSpecificCarrierId;
     }
 
     @Override
@@ -185,12 +192,12 @@
                 && Objects.equals(mGid1, that.mGid1)
                 && Objects.equals(mGid2, that.mGid2)
                 && Objects.equals(mCarrierId, that.mCarrierId)
-                && Objects.equals(mPreciseCarrierId, that.mPreciseCarrierId);
+                && Objects.equals(mSpecificCarrierId, that.mSpecificCarrierId);
     }
 
     @Override
     public int hashCode(){
-        return Objects.hash(mMcc, mMnc, mSpn, mImsi, mGid1, mGid2, mCarrierId, mPreciseCarrierId);
+        return Objects.hash(mMcc, mMnc, mSpn, mImsi, mGid1, mGid2, mCarrierId, mSpecificCarrierId);
     }
 
     @Override
@@ -207,7 +214,7 @@
         out.writeString(mGid1);
         out.writeString(mGid2);
         out.writeInt(mCarrierId);
-        out.writeInt(mPreciseCarrierId);
+        out.writeInt(mSpecificCarrierId);
     }
 
     @Override
@@ -220,7 +227,7 @@
               + ",gid1=" + mGid1
               + ",gid2=" + mGid2
               + ",carrierid=" + mCarrierId
-              + ",mPreciseCarrierId=" + mPreciseCarrierId
+              + ",specificCarrierId=" + mSpecificCarrierId
               + "}";
     }
 
@@ -233,7 +240,7 @@
         mGid1 = in.readString();
         mGid2 = in.readString();
         mCarrierId = in.readInt();
-        mPreciseCarrierId = in.readInt();
+        mSpecificCarrierId = in.readInt();
     }
 
     /** @hide */
diff --git a/core/java/android/net/IpPrefixParcelable.aidl b/core/java/android/service/contentcapture/ActivityEvent.aidl
similarity index 77%
rename from core/java/android/net/IpPrefixParcelable.aidl
rename to core/java/android/service/contentcapture/ActivityEvent.aidl
index 93a8d41..558cac4 100644
--- a/core/java/android/net/IpPrefixParcelable.aidl
+++ b/core/java/android/service/contentcapture/ActivityEvent.aidl
@@ -1,5 +1,5 @@
-/*
- * Copyright (C) 2019 The Android Open Source Project
+/**
+ * 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.
@@ -12,11 +12,8 @@
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
-*/
+ */
 
-package android.net;
+package android.service.contentcapture;
 
-parcelable IpPrefixParcelable {
-    String address;
-    int prefixLength;
-}
\ No newline at end of file
+parcelable ActivityEvent;
diff --git a/core/java/android/service/contentcapture/ActivityEvent.java b/core/java/android/service/contentcapture/ActivityEvent.java
new file mode 100644
index 0000000..5407c1d
--- /dev/null
+++ b/core/java/android/service/contentcapture/ActivityEvent.java
@@ -0,0 +1,139 @@
+/*
+ * 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 android.service.contentcapture;
+
+import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.SystemApi;
+import android.annotation.TestApi;
+import android.app.usage.UsageEvents.Event;
+import android.content.ComponentName;
+import android.os.Parcel;
+import android.os.Parcelable;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
+/**
+ * Represents an activity-level event that is not associated with a session.
+ *
+ * @hide
+ */
+@SystemApi
+@TestApi
+public final class ActivityEvent implements Parcelable {
+
+    /**
+     * The activity resumed.
+     */
+    public static final int TYPE_ACTIVITY_RESUMED = Event.ACTIVITY_RESUMED;
+
+    /**
+     * The activity paused.
+     */
+    public static final int TYPE_ACTIVITY_PAUSED = Event.ACTIVITY_PAUSED;
+
+    /**
+     * The activity stopped.
+     */
+    public static final int TYPE_ACTIVITY_STOPPED = Event.ACTIVITY_STOPPED;
+
+    /** @hide */
+    @IntDef(prefix = { "TYPE_" }, value = {
+            TYPE_ACTIVITY_RESUMED,
+            TYPE_ACTIVITY_PAUSED,
+            TYPE_ACTIVITY_STOPPED
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface ActivityEventType{}
+
+    private final @NonNull ComponentName mComponentName;
+    private final @ActivityEventType int mType;
+
+    /** @hide */
+    public ActivityEvent(@NonNull ComponentName componentName, @ActivityEventType int type) {
+        mComponentName = componentName;
+        mType = type;
+    }
+
+    /**
+     * Gests the {@link ComponentName} of the activity associated with the event.
+     */
+    @NonNull
+    public ComponentName getComponentName() {
+        return mComponentName;
+    }
+
+    /**
+     * Gets the event type.
+     *
+     * @return either {@link #TYPE_ACTIVITY_RESUMED} or {@value #TYPE_ACTIVITY_PAUSED}.
+     */
+    @ActivityEventType
+    public int getEventType() {
+        return mType;
+    }
+
+    /** @hide */
+    public static String getTypeAsString(@ActivityEventType int type) {
+        switch (type) {
+            case TYPE_ACTIVITY_RESUMED:
+                return "ACTIVITY_RESUMED";
+            case TYPE_ACTIVITY_PAUSED:
+                return "ACTIVITY_PAUSED";
+            case TYPE_ACTIVITY_STOPPED:
+                return "ACTIVITY_STOPPED";
+            default:
+                return "UKNOWN_TYPE: " + type;
+        }
+    }
+
+    @Override
+    public String toString() {
+        return new StringBuilder("ActivityEvent[").append(mComponentName.toShortString())
+                .append("]:").append(getTypeAsString(mType)).toString();
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    @Override
+    public void writeToParcel(@NonNull Parcel parcel, int flags) {
+        parcel.writeParcelable(mComponentName, flags);
+        parcel.writeInt(mType);
+    }
+
+    public static final @android.annotation.NonNull Creator<ActivityEvent> CREATOR =
+            new Creator<ActivityEvent>() {
+
+        @Override
+        @NonNull
+        public ActivityEvent createFromParcel(@NonNull Parcel parcel) {
+            final ComponentName componentName = parcel.readParcelable(null);
+            final int eventType = parcel.readInt();
+            return new ActivityEvent(componentName, eventType);
+        }
+
+        @Override
+        @NonNull
+        public ActivityEvent[] newArray(int size) {
+            return new ActivityEvent[size];
+        }
+    };
+}
diff --git a/core/java/android/service/contentcapture/ContentCaptureService.java b/core/java/android/service/contentcapture/ContentCaptureService.java
index 9c4669f..6f4114d 100644
--- a/core/java/android/service/contentcapture/ContentCaptureService.java
+++ b/core/java/android/service/contentcapture/ContentCaptureService.java
@@ -37,7 +37,6 @@
 import android.os.RemoteException;
 import android.service.autofill.AutofillService;
 import android.util.ArrayMap;
-import android.util.ArraySet;
 import android.util.Log;
 import android.util.Slog;
 import android.view.contentcapture.ContentCaptureContext;
@@ -103,9 +102,10 @@
 
         @Override
         public void onSessionStarted(ContentCaptureContext context, String sessionId, int uid,
-                IResultReceiver clientReceiver) {
+                IResultReceiver clientReceiver, int initialState) {
             mHandler.sendMessage(obtainMessage(ContentCaptureService::handleOnCreateSession,
-                    ContentCaptureService.this, context, sessionId, uid, clientReceiver));
+                    ContentCaptureService.this, context, sessionId, uid, clientReceiver,
+                    initialState));
         }
 
         @Override
@@ -127,6 +127,13 @@
                     obtainMessage(ContentCaptureService::handleOnUserDataRemovalRequest,
                             ContentCaptureService.this, request));
         }
+
+        @Override
+        public void onActivityEvent(ActivityEvent event) {
+            mHandler.sendMessage(obtainMessage(ContentCaptureService::handleOnActivityEvent,
+                    ContentCaptureService.this, event));
+
+        }
     };
 
     /**
@@ -168,19 +175,6 @@
     }
 
     /**
-     * @deprecated use {@link #setContentCaptureWhitelist(Set, Set)} instead
-     */
-    @Deprecated
-    public final void setContentCaptureWhitelist(@Nullable List<String> packages,
-            @Nullable List<ComponentName> activities) {
-        setContentCaptureWhitelist(toSet(packages), toSet(activities));
-    }
-
-    private <T> ArraySet<T> toSet(@Nullable List<T> set) {
-        return set == null ? null : new ArraySet<T>(set);
-    }
-
-    /**
      * Explicitly limits content capture to the given packages and activities.
      *
      * <p>To reset the whitelist, call it passing {@code null} to both arguments.
@@ -261,7 +255,21 @@
      * @param snapshotData the data
      */
     public void onActivitySnapshot(@NonNull ContentCaptureSessionId sessionId,
-            @NonNull SnapshotData snapshotData) {}
+            @NonNull SnapshotData snapshotData) {
+        if (sVerbose) Log.v(TAG, "onActivitySnapshot(id=" + sessionId + ")");
+    }
+
+    /**
+     * Notifies the service of an activity-level event that is not associated with a session.
+     *
+     * <p>This method can be used to track some high-level events for all activities, even those
+     * that are not whitelisted for Content Capture.
+     *
+     * @param event high-level activity event
+     */
+    public void onActivityEvent(@NonNull ActivityEvent event) {
+        if (sVerbose) Log.v(TAG, "onActivityEvent(): " + event);
+    }
 
     /**
      * Destroys the content capture session.
@@ -328,7 +336,7 @@
     // so we don't need to create a temporary InteractionSessionId for each event.
 
     private void handleOnCreateSession(@NonNull ContentCaptureContext context,
-            @NonNull String sessionId, int uid, IResultReceiver clientReceiver) {
+            @NonNull String sessionId, int uid, IResultReceiver clientReceiver, int initialState) {
         mSessionUids.put(sessionId, uid);
         onCreateContentCaptureSession(context, new ContentCaptureSessionId(sessionId));
 
@@ -341,7 +349,7 @@
             stateFlags |= ContentCaptureSession.STATE_BY_APP;
         }
         if (stateFlags == 0) {
-            stateFlags = ContentCaptureSession.STATE_ACTIVE;
+            stateFlags = initialState;
         } else {
             stateFlags |= ContentCaptureSession.STATE_DISABLED;
 
@@ -397,6 +405,10 @@
         onUserDataRemovalRequest(request);
     }
 
+    private void handleOnActivityEvent(@NonNull ActivityEvent event) {
+        onActivityEvent(event);
+    }
+
     /**
      * Checks if the given {@code uid} owns the session associated with the event.
      */
diff --git a/core/java/android/service/contentcapture/IContentCaptureService.aidl b/core/java/android/service/contentcapture/IContentCaptureService.aidl
index eb65032..6be7a80 100644
--- a/core/java/android/service/contentcapture/IContentCaptureService.aidl
+++ b/core/java/android/service/contentcapture/IContentCaptureService.aidl
@@ -16,7 +16,9 @@
 
 package android.service.contentcapture;
 
+import android.content.ComponentName;
 import android.os.IBinder;
+import android.service.contentcapture.ActivityEvent;
 import android.service.contentcapture.SnapshotData;
 import android.view.contentcapture.ContentCaptureContext;
 import android.view.contentcapture.UserDataRemovalRequest;
@@ -34,8 +36,9 @@
     void onConnected(IBinder callback, boolean verbose, boolean debug);
     void onDisconnected();
     void onSessionStarted(in ContentCaptureContext context, String sessionId, int uid,
-                          in IResultReceiver clientReceiver);
+                          in IResultReceiver clientReceiver, int initialState);
     void onSessionFinished(String sessionId);
     void onActivitySnapshot(String sessionId, in SnapshotData snapshotData);
     void onUserDataRemovalRequest(in UserDataRemovalRequest request);
+    void onActivityEvent(in ActivityEvent event);
 }
diff --git a/core/java/android/service/contentsuggestions/ContentSuggestionsService.java b/core/java/android/service/contentsuggestions/ContentSuggestionsService.java
index 40333bf..45a8466 100644
--- a/core/java/android/service/contentsuggestions/ContentSuggestionsService.java
+++ b/core/java/android/service/contentsuggestions/ContentSuggestionsService.java
@@ -52,6 +52,10 @@
 
     /**
      * The action for the intent used to define the content suggestions service.
+     *
+     * <p>To be supported, the service must also require the
+     * * {@link android.Manifest.permission#BIND_CONTENT_SUGGESTIONS_SERVICE} permission so
+     * * that other applications can not abuse it.
      */
     public static final String SERVICE_INTERFACE =
             "android.service.contentsuggestions.ContentSuggestionsService";
@@ -68,7 +72,7 @@
             }
 
             mHandler.sendMessage(
-                    obtainMessage(ContentSuggestionsService::processContextImage,
+                    obtainMessage(ContentSuggestionsService::onProcessContextImage,
                             ContentSuggestionsService.this, taskId,
                             wrappedBuffer,
                             imageContextRequestExtras));
@@ -77,7 +81,8 @@
         @Override
         public void suggestContentSelections(SelectionsRequest request,
                 ISelectionsCallback callback) {
-            mHandler.sendMessage(obtainMessage(ContentSuggestionsService::suggestContentSelections,
+            mHandler.sendMessage(obtainMessage(
+                    ContentSuggestionsService::onSuggestContentSelections,
                     ContentSuggestionsService.this, request, wrapSelectionsCallback(callback)));
 
         }
@@ -85,14 +90,15 @@
         @Override
         public void classifyContentSelections(ClassificationsRequest request,
                 IClassificationsCallback callback) {
-            mHandler.sendMessage(obtainMessage(ContentSuggestionsService::classifyContentSelections,
+            mHandler.sendMessage(obtainMessage(
+                    ContentSuggestionsService::onClassifyContentSelections,
                     ContentSuggestionsService.this, request, wrapClassificationCallback(callback)));
         }
 
         @Override
         public void notifyInteraction(String requestId, Bundle interaction) {
             mHandler.sendMessage(
-                    obtainMessage(ContentSuggestionsService::notifyInteraction,
+                    obtainMessage(ContentSuggestionsService::onNotifyInteraction,
                             ContentSuggestionsService.this, requestId, interaction));
         }
     };
@@ -118,25 +124,41 @@
      * Called by the system to provide the snapshot for the task associated with the given
      * {@param taskId}.
      */
-    public abstract void processContextImage(
-            int taskId, @Nullable Bitmap contextImage, @NonNull Bundle extras);
+    public void onProcessContextImage(
+            int taskId, @Nullable Bitmap contextImage, @NonNull Bundle extras) {
+        // TODO(b/127532182): remove after next prebuilt drop.
+        processContextImage(taskId, contextImage, extras);
+    }
 
     /**
-     * Called by a client app to make a request for content selections.
+     * Content selections have been request through {@link ContentSuggestionsManager}, implementer
+     * should reply on the callback with selections.
      */
-    public abstract void suggestContentSelections(@NonNull SelectionsRequest request,
-            @NonNull ContentSuggestionsManager.SelectionsCallback callback);
+    public void onSuggestContentSelections(@NonNull SelectionsRequest request,
+            @NonNull ContentSuggestionsManager.SelectionsCallback callback) {
+        // TODO(b/127532182): remove after next prebuilt drop.
+        suggestContentSelections(request, callback);
+    }
 
     /**
-     * Called by a client app to classify the provided content selections.
+     * Content classifications have been request through {@link ContentSuggestionsManager},
+     * implementer should reply on the callback with classifications.
      */
-    public abstract void classifyContentSelections(@NonNull ClassificationsRequest request,
-            @NonNull ContentSuggestionsManager.ClassificationsCallback callback);
+    public void onClassifyContentSelections(@NonNull ClassificationsRequest request,
+            @NonNull ContentSuggestionsManager.ClassificationsCallback callback) {
+        // TODO(b/127532182): remove after next prebuilt drop.
+        classifyContentSelections(request, callback);
+    }
 
     /**
-     * Called by a client app to report an interaction.
+     * User interactions have been reported through {@link ContentSuggestionsManager}, implementer
+     * should handle those interactions.
      */
-    public abstract void notifyInteraction(@NonNull String requestId, @NonNull Bundle interaction);
+    public void onNotifyInteraction(
+            @NonNull String requestId, @NonNull Bundle interaction) {
+        // TODO(b/127532182): remove after next prebuilt drop.
+        notifyInteraction(requestId, interaction);
+    }
 
     private ContentSuggestionsManager.SelectionsCallback wrapSelectionsCallback(
             ISelectionsCallback callback) {
@@ -159,4 +181,42 @@
             }
         });
     }
+
+
+    /**
+     * For temporary compat reason, remove with b/127532182
+     * @deprecated use {@link #onProcessContextImage(int, Bitmap, Bundle)} instead.
+     */
+    @Deprecated
+    public void processContextImage(
+            int taskId, @Nullable Bitmap contextImage, @NonNull Bundle extras) {
+    }
+
+    /**
+     * For temporary compat reason, remove with b/127532182
+     * @deprecated use {@link #onSuggestContentSelections(SelectionsRequest,
+     * ContentSuggestionsManager.SelectionsCallback)} instead.
+     */
+    @Deprecated
+    public void suggestContentSelections(@NonNull SelectionsRequest request,
+            @NonNull ContentSuggestionsManager.SelectionsCallback callback) {
+    }
+
+    /**
+     * For temporary compat reason, remove with b/127532182
+     * @deprecated use {@link #onClassifyContentSelections(ClassificationsRequest,
+     * ContentSuggestionsManager.ClassificationsCallback)} instead.
+     */
+    @Deprecated
+    public void classifyContentSelections(@NonNull ClassificationsRequest request,
+            @NonNull ContentSuggestionsManager.ClassificationsCallback callback) {
+    }
+
+    /**
+     * For temporary compat reason, remove with b/127532182
+     * @deprecated use {@link #onNotifyInteraction(String, Bundle)} instead.
+     */
+    @Deprecated
+    public void notifyInteraction(@NonNull String requestId, @NonNull Bundle interaction) {
+    }
 }
diff --git a/core/java/android/service/euicc/EuiccService.java b/core/java/android/service/euicc/EuiccService.java
index a46d047..2288106 100644
--- a/core/java/android/service/euicc/EuiccService.java
+++ b/core/java/android/service/euicc/EuiccService.java
@@ -113,15 +113,27 @@
     public static final String ACTION_PROVISION_EMBEDDED_SUBSCRIPTION =
             "android.service.euicc.action.PROVISION_EMBEDDED_SUBSCRIPTION";
 
-    /** @see android.telephony.euicc.EuiccManager#ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED */
+    /**
+     * @see android.telephony.euicc.EuiccManager#ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED. This is
+     * a protected intent that can only be sent by the system, and requires the
+     * {@link android.Manifest.permission#BIND_EUICC_SERVICE} permission.
+     */
     public static final String ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED =
             "android.service.euicc.action.TOGGLE_SUBSCRIPTION_PRIVILEGED";
 
-    /** @see android.telephony.euicc.EuiccManager#ACTION_DELETE_SUBSCRIPTION_PRIVILEGED */
+    /**
+     * @see android.telephony.euicc.EuiccManager#ACTION_DELETE_SUBSCRIPTION_PRIVILEGED. This is
+     * a protected intent that can only be sent by the system, and requires the
+     * {@link android.Manifest.permission#BIND_EUICC_SERVICE} permission.
+     */
     public static final String ACTION_DELETE_SUBSCRIPTION_PRIVILEGED =
             "android.service.euicc.action.DELETE_SUBSCRIPTION_PRIVILEGED";
 
-    /** @see android.telephony.euicc.EuiccManager#ACTION_RENAME_SUBSCRIPTION_PRIVILEGED */
+    /**
+     * @see android.telephony.euicc.EuiccManager#ACTION_RENAME_SUBSCRIPTION_PRIVILEGED. This is
+     * a protected intent that can only be sent by the system, and requires the
+     * {@link android.Manifest.permission#BIND_EUICC_SERVICE} permission.
+     */
     public static final String ACTION_RENAME_SUBSCRIPTION_PRIVILEGED =
             "android.service.euicc.action.RENAME_SUBSCRIPTION_PRIVILEGED";
 
diff --git a/core/java/android/service/notification/Adjustment.java b/core/java/android/service/notification/Adjustment.java
index af0dfd2..1cdb62f 100644
--- a/core/java/android/service/notification/Adjustment.java
+++ b/core/java/android/service/notification/Adjustment.java
@@ -32,7 +32,10 @@
  * realizes on the notification rankings.
  *
  * Notifications affected by the Adjustment will be re-ranked if necessary.
+ *
+ * @hide
  */
+@SystemApi
 public final class Adjustment implements Parcelable {
     private final String mPackage;
     private final String mKey;
diff --git a/core/java/android/service/notification/NotificationAssistantService.java b/core/java/android/service/notification/NotificationAssistantService.java
index 56d22d0..780b576 100644
--- a/core/java/android/service/notification/NotificationAssistantService.java
+++ b/core/java/android/service/notification/NotificationAssistantService.java
@@ -22,6 +22,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SdkConstant;
+import android.annotation.SystemApi;
 import android.app.Notification;
 import android.app.NotificationChannel;
 import android.app.admin.DevicePolicyManager;
@@ -60,7 +61,9 @@
  * <p>
  *     All callbacks are called on the main thread.
  * </p>
+ * @hide
  */
+@SystemApi
 public abstract class NotificationAssistantService extends NotificationListenerService {
     private static final String TAG = "NotificationAssistants";
 
@@ -68,7 +71,14 @@
     @Retention(SOURCE)
     @IntDef({SOURCE_FROM_APP, SOURCE_FROM_ASSISTANT})
     public @interface Source {}
+
+    /**
+     * To indicate an adjustment is from an app.
+     */
     public static final int SOURCE_FROM_APP = 0;
+    /**
+     * To indicate an adjustment is from a {@link NotificationAssistantService}.
+     */
     public static final int SOURCE_FROM_ASSISTANT = 1;
 
     /**
@@ -105,8 +115,8 @@
      * @param sbn the notification to snooze
      * @param snoozeCriterionId the {@link SnoozeCriterion#getId()} representing a device context.
      */
-    abstract public void onNotificationSnoozedUntilContext(StatusBarNotification sbn,
-            String snoozeCriterionId);
+    abstract public void onNotificationSnoozedUntilContext(@NonNull StatusBarNotification sbn,
+            @NonNull String snoozeCriterionId);
 
     /**
      * A notification was posted by an app. Called before post.
@@ -117,7 +127,7 @@
      * @param sbn the new notification
      * @return an adjustment or null to take no action, within 100ms.
      */
-    abstract public Adjustment onNotificationEnqueued(StatusBarNotification sbn);
+    abstract public @Nullable Adjustment onNotificationEnqueued(@NonNull StatusBarNotification sbn);
 
     /**
      * A notification was posted by an app. Called before post.
@@ -248,7 +258,7 @@
      * notification.
      * @param key The key of the notification to snooze
      */
-    public final void unsnoozeNotification(String key) {
+    public final void unsnoozeNotification(@NonNull String key) {
         if (!isBound()) return;
         try {
             getNotificationInterface().unsnoozeNotificationFromAssistant(mWrapper, key);
@@ -363,7 +373,10 @@
                     args.recycle();
                     Adjustment adjustment = onNotificationEnqueued(sbn, channel);
                     if (adjustment != null) {
-                        if (!isBound()) return;
+                        if (!isBound()) {
+                            Log.w(TAG, "MSG_ON_NOTIFICATION_ENQUEUED: service not bound, skip.");
+                            return;
+                        }
                         try {
                             getNotificationInterface().applyEnqueuedAdjustmentFromAssistant(
                                     mWrapper, adjustment);
diff --git a/core/java/android/service/notification/NotificationListenerService.java b/core/java/android/service/notification/NotificationListenerService.java
index 767a3f7..23607eb 100644
--- a/core/java/android/service/notification/NotificationListenerService.java
+++ b/core/java/android/service/notification/NotificationListenerService.java
@@ -425,8 +425,9 @@
      * @hide
      */
     @TestApi
-    public void onNotificationRemoved(StatusBarNotification sbn, RankingMap rankingMap,
-            NotificationStats stats, int reason) {
+    @SystemApi
+    public void onNotificationRemoved(@NonNull StatusBarNotification sbn,
+            @NonNull RankingMap rankingMap, @NonNull NotificationStats stats, int reason) {
         onNotificationRemoved(sbn, rankingMap, reason);
     }
 
diff --git a/core/java/android/service/notification/NotificationStats.java b/core/java/android/service/notification/NotificationStats.java
index 5a54a43..2b4c24c 100644
--- a/core/java/android/service/notification/NotificationStats.java
+++ b/core/java/android/service/notification/NotificationStats.java
@@ -17,6 +17,7 @@
 
 import android.annotation.IntDef;
 import android.annotation.SystemApi;
+import android.annotation.TestApi;
 import android.app.RemoteInput;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -24,6 +25,12 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
+/**
+ * Information about how the user has interacted with a given notification.
+ * @hide
+ */
+@TestApi
+@SystemApi
 public final class NotificationStats implements Parcelable {
 
     private boolean mSeen;
diff --git a/core/java/android/service/notification/StatusBarNotification.java b/core/java/android/service/notification/StatusBarNotification.java
index 0836327..cc74e1a 100644
--- a/core/java/android/service/notification/StatusBarNotification.java
+++ b/core/java/android/service/notification/StatusBarNotification.java
@@ -16,6 +16,7 @@
 
 package android.service.notification;
 
+import android.annotation.NonNull;
 import android.annotation.UnsupportedAppUsage;
 import android.app.Notification;
 import android.app.NotificationManager;
@@ -62,9 +63,6 @@
 
     private Context mContext; // used for inflation & icon expansion
 
-    // Contains the basic logging data of the notification.
-    private LogMaker mLogMaker;
-
     /** @hide */
     public StatusBarNotification(String pkg, String opPkg, int id,
             String tag, int uid, int initialPid, Notification notification, UserHandle user,
@@ -299,7 +297,7 @@
      * Might be different from {@link #getPackageName()} if the app owning the notification has
      * a {@link NotificationManager#setNotificationDelegate(String) notification delegate}.
      */
-    public String getOpPkg() {
+    public @NonNull String getOpPkg() {
         return opPkg;
     }
 
@@ -403,24 +401,15 @@
      * @hide
      */
     public LogMaker getLogMaker() {
-        if (mLogMaker == null) {
-            // Initialize fields that only change on update (so a new record).
-            mLogMaker = new LogMaker(MetricsEvent.VIEW_UNKNOWN)
-                .setPackageName(getPackageName())
+        return new LogMaker(MetricsEvent.VIEW_UNKNOWN).setPackageName(getPackageName())
                 .addTaggedData(MetricsEvent.NOTIFICATION_ID, getId())
                 .addTaggedData(MetricsEvent.NOTIFICATION_TAG, getTag())
-                .addTaggedData(MetricsEvent.FIELD_NOTIFICATION_CHANNEL_ID, getChannelIdLogTag());
-        }
-        // Reset fields that can change between updates, or are used by multiple logs.
-        return mLogMaker
-            .clearCategory()
-            .clearType()
-            .clearSubtype()
-            .addTaggedData(MetricsEvent.FIELD_NOTIFICATION_GROUP_ID, getGroupLogTag())
-            .addTaggedData(MetricsEvent.FIELD_NOTIFICATION_GROUP_SUMMARY,
-                getNotification().isGroupSummary() ? 1 : 0)
-            .addTaggedData(MetricsProto.MetricsEvent.FIELD_NOTIFICATION_CATEGORY,
-                    getNotification().category);
+                .addTaggedData(MetricsEvent.FIELD_NOTIFICATION_CHANNEL_ID, getChannelIdLogTag())
+                .addTaggedData(MetricsEvent.FIELD_NOTIFICATION_GROUP_ID, getGroupLogTag())
+                .addTaggedData(MetricsEvent.FIELD_NOTIFICATION_GROUP_SUMMARY,
+                        getNotification().isGroupSummary() ? 1 : 0)
+                .addTaggedData(MetricsProto.MetricsEvent.FIELD_NOTIFICATION_CATEGORY,
+                        getNotification().category);
     }
 
     private String getGroupLogTag() {
diff --git a/core/java/android/service/notification/ZenPolicy.java b/core/java/android/service/notification/ZenPolicy.java
index 74e6c6e..9694998 100644
--- a/core/java/android/service/notification/ZenPolicy.java
+++ b/core/java/android/service/notification/ZenPolicy.java
@@ -17,6 +17,7 @@
 package android.service.notification;
 
 import android.annotation.IntDef;
+import android.annotation.NonNull;
 import android.app.Notification;
 import android.app.NotificationChannel;
 import android.os.Parcel;
@@ -357,7 +358,7 @@
      * Provides a convenient way to set the various fields of a {@link ZenPolicy}.  If a field
      * is not set, it is (@link STATE_UNSET} and will not change the current set policy.
      */
-    public static class Builder {
+    public static final class Builder {
         private ZenPolicy mZenPolicy;
 
         public Builder() {
@@ -378,14 +379,14 @@
         /**
          * Builds the current ZenPolicy.
          */
-        public ZenPolicy build() {
+        public @NonNull ZenPolicy build() {
             return mZenPolicy.copy();
         }
 
         /**
          * Allows all notifications to bypass DND and unmutes all streams.
          */
-        public Builder allowAllSounds() {
+        public @NonNull Builder allowAllSounds() {
             for (int i = 0; i < mZenPolicy.mPriorityCategories.size(); i++) {
                 mZenPolicy.mPriorityCategories.set(i, STATE_ALLOW);
             }
@@ -401,7 +402,7 @@
          * {@link NotificationChannel#canBypassDnd can bypass DND}. If no channels can bypass DND,
          * the ringer stream is also muted.
          */
-        public Builder disallowAllSounds() {
+        public @NonNull Builder disallowAllSounds() {
             for (int i = 0; i < mZenPolicy.mPriorityCategories.size(); i++) {
                 mZenPolicy.mPriorityCategories.set(i, STATE_DISALLOW);
             }
@@ -413,7 +414,7 @@
         /**
          * Allows notifications intercepted by DND to show on all surfaces when DND is active.
          */
-        public Builder showAllVisualEffects() {
+        public @NonNull Builder showAllVisualEffects() {
             for (int i = 0; i < mZenPolicy.mVisualEffects.size(); i++) {
                 mZenPolicy.mVisualEffects.set(i, STATE_ALLOW);
             }
@@ -423,7 +424,7 @@
         /**
          * Disallows notifications intercepted by DND from showing when DND is active.
          */
-        public Builder hideAllVisualEffects() {
+        public @NonNull Builder hideAllVisualEffects() {
             for (int i = 0; i < mZenPolicy.mVisualEffects.size(); i++) {
                 mZenPolicy.mVisualEffects.set(i, STATE_DISALLOW);
             }
@@ -435,7 +436,7 @@
          * unset categories will default to the current applied policy.
          * @hide
          */
-        public Builder unsetPriorityCategory(@PriorityCategory int category) {
+        public @NonNull Builder unsetPriorityCategory(@PriorityCategory int category) {
             mZenPolicy.mPriorityCategories.set(category, STATE_UNSET);
 
             if (category == PRIORITY_CATEGORY_MESSAGES) {
@@ -452,7 +453,7 @@
          * unset effects will default to the current applied policy.
          * @hide
          */
-        public Builder unsetVisualEffect(@VisualEffect int effect) {
+        public @NonNull Builder unsetVisualEffect(@VisualEffect int effect) {
             mZenPolicy.mVisualEffects.set(effect, STATE_UNSET);
             return this;
         }
@@ -461,7 +462,7 @@
          * Whether to allow notifications with category {@link Notification#CATEGORY_REMINDER}
          * to play sounds and visually appear or to intercept them when DND is active.
          */
-        public Builder allowReminders(boolean allow) {
+        public @NonNull Builder allowReminders(boolean allow) {
             mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_REMINDERS,
                     allow ? STATE_ALLOW : STATE_DISALLOW);
             return this;
@@ -471,7 +472,7 @@
          * Whether to allow notifications with category {@link Notification#CATEGORY_EVENT}
          * to play sounds and visually appear or to intercept them when DND is active.
          */
-        public Builder allowEvents(boolean allow) {
+        public @NonNull Builder allowEvents(boolean allow) {
             mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_EVENTS,
                     allow ? STATE_ALLOW : STATE_DISALLOW);
             return this;
@@ -483,7 +484,7 @@
          * them when DND is active.
          * @param audienceType message senders that are allowed to bypass DND
          */
-        public Builder allowMessages(@PeopleType int audienceType) {
+        public @NonNull Builder allowMessages(@PeopleType int audienceType) {
             if (audienceType == STATE_UNSET) {
                 return unsetPriorityCategory(PRIORITY_CATEGORY_MESSAGES);
             }
@@ -507,7 +508,7 @@
          * them when DND is active.
          * @param audienceType callers that are allowed to bypass DND
          */
-        public Builder allowCalls(@PeopleType int audienceType) {
+        public @NonNull  Builder allowCalls(@PeopleType int audienceType) {
             if (audienceType == STATE_UNSET) {
                 return unsetPriorityCategory(PRIORITY_CATEGORY_CALLS);
             }
@@ -530,7 +531,7 @@
          * {@link Notification#CATEGORY_CALL} that have recently called
          * to play sounds and visually appear.
          */
-        public Builder allowRepeatCallers(boolean allow) {
+        public @NonNull Builder allowRepeatCallers(boolean allow) {
             mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_REPEAT_CALLERS,
                     allow ? STATE_ALLOW : STATE_DISALLOW);
             return this;
@@ -542,7 +543,7 @@
          * to play sounds and visually appear or to intercept them when DND is active.
          * Disallowing alarms will mute the alarm stream when DND is active.
          */
-        public Builder allowAlarms(boolean allow) {
+        public @NonNull Builder allowAlarms(boolean allow) {
             mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_ALARMS,
                     allow ? STATE_ALLOW : STATE_DISALLOW);
             return this;
@@ -553,7 +554,7 @@
          * appear or to intercept them when DND is active.
          * Disallowing media will mute the media stream when DND is active.
          */
-        public Builder allowMedia(boolean allow) {
+        public @NonNull Builder allowMedia(boolean allow) {
             mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_MEDIA,
                     allow ? STATE_ALLOW : STATE_DISALLOW);
             return this;
@@ -563,7 +564,7 @@
          * Whether to allow system sounds to play when DND is active.
          * Disallowing system sounds will mute the system stream when DND is active.
          */
-        public Builder allowSystem(boolean allow) {
+        public @NonNull Builder allowSystem(boolean allow) {
             mZenPolicy.mPriorityCategories.set(PRIORITY_CATEGORY_SYSTEM,
                     allow ? STATE_ALLOW : STATE_DISALLOW);
             return this;
@@ -573,7 +574,7 @@
          * Whether to allow {@link PriorityCategory} sounds to play when DND is active.
          * @hide
          */
-        public Builder allowCategory(@PriorityCategory int category, boolean allow) {
+        public @NonNull Builder allowCategory(@PriorityCategory int category, boolean allow) {
             switch (category) {
                 case PRIORITY_CATEGORY_ALARMS:
                     allowAlarms(allow);
@@ -601,7 +602,7 @@
          * Whether {@link Notification#fullScreenIntent full screen intents} that are intercepted
          * by DND are shown.
          */
-        public Builder showFullScreenIntent(boolean show) {
+        public @NonNull Builder showFullScreenIntent(boolean show) {
             mZenPolicy.mVisualEffects.set(VISUAL_EFFECT_FULL_SCREEN_INTENT,
                     show ? STATE_ALLOW : STATE_DISALLOW);
             return this;
@@ -611,7 +612,7 @@
          * Whether {@link NotificationChannel#shouldShowLights() notification lights} from
          * notifications intercepted by DND are blocked.
          */
-        public Builder showLights(boolean show) {
+        public @NonNull Builder showLights(boolean show) {
             mZenPolicy.mVisualEffects.set(VISUAL_EFFECT_LIGHTS,
                     show ? STATE_ALLOW : STATE_DISALLOW);
             return this;
@@ -620,7 +621,7 @@
         /**
          * Whether notifications intercepted by DND are prevented from peeking.
          */
-        public Builder showPeeking(boolean show) {
+        public @NonNull Builder showPeeking(boolean show) {
             mZenPolicy.mVisualEffects.set(VISUAL_EFFECT_PEEK,
                     show ? STATE_ALLOW : STATE_DISALLOW);
             return this;
@@ -630,7 +631,7 @@
          * Whether notifications intercepted by DND are prevented from appearing in the status bar
          * on devices that support status bars.
          */
-        public Builder showStatusBarIcons(boolean show) {
+        public @NonNull Builder showStatusBarIcons(boolean show) {
             mZenPolicy.mVisualEffects.set(VISUAL_EFFECT_STATUS_BAR,
                     show ? STATE_ALLOW : STATE_DISALLOW);
             return this;
@@ -640,7 +641,7 @@
          * Whether {@link NotificationChannel#canShowBadge() badges} from
          * notifications intercepted by DND are allowed on devices that support badging.
          */
-        public Builder showBadges(boolean show) {
+        public @NonNull Builder showBadges(boolean show) {
             mZenPolicy.mVisualEffects.set(VISUAL_EFFECT_BADGE,
                     show ? STATE_ALLOW : STATE_DISALLOW);
             return this;
@@ -650,7 +651,7 @@
          * Whether notification intercepted by DND are prevented from appearing on ambient displays
          * on devices that support ambient display.
          */
-        public Builder showInAmbientDisplay(boolean show) {
+        public @NonNull Builder showInAmbientDisplay(boolean show) {
             mZenPolicy.mVisualEffects.set(VISUAL_EFFECT_AMBIENT,
                     show ? STATE_ALLOW : STATE_DISALLOW);
             return this;
@@ -661,7 +662,7 @@
          * list views like the notification shade or lockscreen on devices that support those
          * views.
          */
-        public Builder showInNotificationList(boolean show) {
+        public @NonNull Builder showInNotificationList(boolean show) {
             mZenPolicy.mVisualEffects.set(VISUAL_EFFECT_NOTIFICATION_LIST,
                     show ? STATE_ALLOW : STATE_DISALLOW);
             return this;
@@ -672,7 +673,7 @@
          * {@link VisualEffect}
          * @hide
          */
-        public Builder showVisualEffect(@VisualEffect int effect, boolean show) {
+        public @NonNull Builder showVisualEffect(@VisualEffect int effect, boolean show) {
             switch (effect) {
                 case VISUAL_EFFECT_FULL_SCREEN_INTENT:
                     showFullScreenIntent(show);
@@ -1001,7 +1002,7 @@
      * Makes deep copy of this ZenPolicy.
      * @hide
      */
-    public ZenPolicy copy() {
+    public @NonNull ZenPolicy copy() {
         final Parcel parcel = Parcel.obtain();
         try {
             writeToParcel(parcel, 0);
diff --git a/core/java/android/service/textclassifier/IConversationActionsCallback.aidl b/core/java/android/service/textclassifier/IConversationActionsCallback.aidl
deleted file mode 100644
index c35d424..0000000
--- a/core/java/android/service/textclassifier/IConversationActionsCallback.aidl
+++ /dev/null
@@ -1,28 +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.service.textclassifier;
-
-import android.view.textclassifier.ConversationActions;
-
-/**
- * Callback for a ConversationActions request.
- * @hide
- */
-oneway interface IConversationActionsCallback {
-    void onSuccess(in ConversationActions conversationActions);
-    void onFailure();
-}
\ No newline at end of file
diff --git a/core/java/android/service/textclassifier/ITextClassificationCallback.aidl b/core/java/android/service/textclassifier/ITextClassificationCallback.aidl
deleted file mode 100644
index 10bfe63..0000000
--- a/core/java/android/service/textclassifier/ITextClassificationCallback.aidl
+++ /dev/null
@@ -1,28 +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.service.textclassifier;
-
-import android.view.textclassifier.TextClassification;
-
-/**
- * Callback for a TextClassification request.
- * @hide
- */
-oneway interface ITextClassificationCallback {
-    void onSuccess(in TextClassification classification);
-    void onFailure();
-}
diff --git a/core/java/android/service/textclassifier/ITextSelectionCallback.aidl b/core/java/android/service/textclassifier/ITextClassifierCallback.aidl
similarity index 82%
rename from core/java/android/service/textclassifier/ITextSelectionCallback.aidl
rename to core/java/android/service/textclassifier/ITextClassifierCallback.aidl
index 1b4c4d1..2926734 100644
--- a/core/java/android/service/textclassifier/ITextSelectionCallback.aidl
+++ b/core/java/android/service/textclassifier/ITextClassifierCallback.aidl
@@ -16,13 +16,14 @@
 
 package android.service.textclassifier;
 
+import android.os.Bundle;
 import android.view.textclassifier.TextSelection;
 
 /**
- * Callback for a TextSelection request.
+ * Callback for all requests from SystemTextClassifier.
  * @hide
  */
-oneway interface ITextSelectionCallback {
-    void onSuccess(in TextSelection selection);
+oneway interface ITextClassifierCallback {
+    void onSuccess(in Bundle result);
     void onFailure();
 }
\ No newline at end of file
diff --git a/core/java/android/service/textclassifier/ITextClassifierService.aidl b/core/java/android/service/textclassifier/ITextClassifierService.aidl
index 7941794..2f8d67b 100644
--- a/core/java/android/service/textclassifier/ITextClassifierService.aidl
+++ b/core/java/android/service/textclassifier/ITextClassifierService.aidl
@@ -16,11 +16,7 @@
 
 package android.service.textclassifier;
 
-import android.service.textclassifier.IConversationActionsCallback;
-import android.service.textclassifier.ITextClassificationCallback;
-import android.service.textclassifier.ITextLanguageCallback;
-import android.service.textclassifier.ITextLinksCallback;
-import android.service.textclassifier.ITextSelectionCallback;
+import android.service.textclassifier.ITextClassifierCallback;
 import android.view.textclassifier.ConversationActions;
 import android.view.textclassifier.SelectionEvent;
 import android.view.textclassifier.TextClassification;
@@ -41,17 +37,17 @@
     void onSuggestSelection(
             in TextClassificationSessionId sessionId,
             in TextSelection.Request request,
-            in ITextSelectionCallback callback);
+            in ITextClassifierCallback callback);
 
     void onClassifyText(
             in TextClassificationSessionId sessionId,
             in TextClassification.Request request,
-            in ITextClassificationCallback callback);
+            in ITextClassifierCallback callback);
 
     void onGenerateLinks(
             in TextClassificationSessionId sessionId,
             in TextLinks.Request request,
-            in ITextLinksCallback callback);
+            in ITextClassifierCallback callback);
 
     // TODO: Remove
     void onSelectionEvent(
@@ -72,10 +68,10 @@
     void onDetectLanguage(
             in TextClassificationSessionId sessionId,
             in TextLanguage.Request request,
-            in ITextLanguageCallback callback);
+            in ITextClassifierCallback callback);
 
     void onSuggestConversationActions(
             in TextClassificationSessionId sessionId,
             in ConversationActions.Request request,
-            in IConversationActionsCallback callback);
+            in ITextClassifierCallback callback);
 }
diff --git a/core/java/android/service/textclassifier/ITextLanguageCallback.aidl b/core/java/android/service/textclassifier/ITextLanguageCallback.aidl
deleted file mode 100644
index 263d99af..0000000
--- a/core/java/android/service/textclassifier/ITextLanguageCallback.aidl
+++ /dev/null
@@ -1,28 +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.service.textclassifier;
-
-import android.view.textclassifier.TextLanguage;
-
-/**
- * Callback for a TextLanguage request.
- * @hide
- */
-oneway interface ITextLanguageCallback {
-    void onSuccess(in TextLanguage textLanguage);
-    void onFailure();
-}
\ No newline at end of file
diff --git a/core/java/android/service/textclassifier/TextClassifierService.java b/core/java/android/service/textclassifier/TextClassifierService.java
index 235b8e8..4088ce8 100644
--- a/core/java/android/service/textclassifier/TextClassifierService.java
+++ b/core/java/android/service/textclassifier/TextClassifierService.java
@@ -17,6 +17,7 @@
 package android.service.textclassifier;
 
 import android.Manifest;
+import android.annotation.MainThread;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
@@ -27,8 +28,12 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.content.pm.ServiceInfo;
+import android.os.Bundle;
 import android.os.CancellationSignal;
+import android.os.Handler;
 import android.os.IBinder;
+import android.os.Looper;
+import android.os.Parcelable;
 import android.os.RemoteException;
 import android.text.TextUtils;
 import android.util.Slog;
@@ -46,6 +51,10 @@
 
 import com.android.internal.util.Preconditions;
 
+import java.lang.ref.WeakReference;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
 /**
  * Abstract base class for the TextClassifier service.
  *
@@ -68,6 +77,11 @@
  *     </intent-filter>
  * </service>}</pre>
  *
+ * <p>From {@link android.os.Build.VERSION_CODES#Q} onward, all callbacks are called on the main
+ * thread. Prior to Q, there is no guarantee on what thread the callback will happen. You should
+ * make sure the callbacks are executed in your desired thread by using a executor, a handler or
+ * something else along the line.
+ *
  * @see TextClassifier
  * @hide
  */
@@ -85,201 +99,102 @@
     public static final String SERVICE_INTERFACE =
             "android.service.textclassifier.TextClassifierService";
 
+    /** @hide **/
+    private static final String KEY_RESULT = "key_result";
+
+    private final Handler mMainThreadHandler = new Handler(Looper.getMainLooper(), null, true);
+    private final ExecutorService mSingleThreadExecutor = Executors.newSingleThreadExecutor();
+
     private final ITextClassifierService.Stub mBinder = new ITextClassifierService.Stub() {
 
         // TODO(b/72533911): Implement cancellation signal
         @NonNull private final CancellationSignal mCancellationSignal = new CancellationSignal();
 
-        /** {@inheritDoc} */
         @Override
         public void onSuggestSelection(
                 TextClassificationSessionId sessionId,
-                TextSelection.Request request, ITextSelectionCallback callback) {
+                TextSelection.Request request, ITextClassifierCallback callback) {
             Preconditions.checkNotNull(request);
             Preconditions.checkNotNull(callback);
-            TextClassifierService.this.onSuggestSelection(
-                    sessionId, request, mCancellationSignal,
-                    new Callback<TextSelection>() {
-                        @Override
-                        public void onSuccess(TextSelection result) {
-                            try {
-                                callback.onSuccess(result);
-                            } catch (RemoteException e) {
-                                Slog.d(LOG_TAG, "Error calling callback");
-                            }
-                        }
+            mMainThreadHandler.post(() -> TextClassifierService.this.onSuggestSelection(
+                    sessionId, request, mCancellationSignal, new ProxyCallback<>(callback)));
 
-                        @Override
-                        public void onFailure(CharSequence error) {
-                            try {
-                                if (callback.asBinder().isBinderAlive()) {
-                                    callback.onFailure();
-                                }
-                            } catch (RemoteException e) {
-                                Slog.d(LOG_TAG, "Error calling callback");
-                            }
-                        }
-                    });
         }
 
-        /** {@inheritDoc} */
         @Override
         public void onClassifyText(
                 TextClassificationSessionId sessionId,
-                TextClassification.Request request, ITextClassificationCallback callback) {
+                TextClassification.Request request, ITextClassifierCallback callback) {
             Preconditions.checkNotNull(request);
             Preconditions.checkNotNull(callback);
-            TextClassifierService.this.onClassifyText(
-                    sessionId, request, mCancellationSignal,
-                    new Callback<TextClassification>() {
-                        @Override
-                        public void onSuccess(TextClassification result) {
-                            try {
-                                callback.onSuccess(result);
-                            } catch (RemoteException e) {
-                                Slog.d(LOG_TAG, "Error calling callback");
-                            }
-                        }
-
-                        @Override
-                        public void onFailure(CharSequence error) {
-                            try {
-                                callback.onFailure();
-                            } catch (RemoteException e) {
-                                Slog.d(LOG_TAG, "Error calling callback");
-                            }
-                        }
-                    });
+            mMainThreadHandler.post(() -> TextClassifierService.this.onClassifyText(
+                    sessionId, request, mCancellationSignal, new ProxyCallback<>(callback)));
         }
 
-        /** {@inheritDoc} */
         @Override
         public void onGenerateLinks(
                 TextClassificationSessionId sessionId,
-                TextLinks.Request request, ITextLinksCallback callback) {
+                TextLinks.Request request, ITextClassifierCallback callback) {
             Preconditions.checkNotNull(request);
             Preconditions.checkNotNull(callback);
-            TextClassifierService.this.onGenerateLinks(
-                    sessionId, request,
-                    mCancellationSignal,
-                    new Callback<TextLinks>() {
-                        @Override
-                        public void onSuccess(TextLinks result) {
-                            try {
-                                callback.onSuccess(result);
-                            } catch (RemoteException e) {
-                                Slog.d(LOG_TAG, "Error calling callback");
-                            }
-                        }
-
-                        @Override
-                        public void onFailure(CharSequence error) {
-                            try {
-                                callback.onFailure();
-                            } catch (RemoteException e) {
-                                Slog.d(LOG_TAG, "Error calling callback");
-                            }
-                        }
-                    });
+            mMainThreadHandler.post(() -> TextClassifierService.this.onGenerateLinks(
+                    sessionId, request, mCancellationSignal, new ProxyCallback<>(callback)));
         }
 
-        /** {@inheritDoc} */
         @Override
         public void onSelectionEvent(
                 TextClassificationSessionId sessionId,
                 SelectionEvent event) {
             Preconditions.checkNotNull(event);
-            TextClassifierService.this.onSelectionEvent(sessionId, event);
+            mMainThreadHandler.post(
+                    () -> TextClassifierService.this.onSelectionEvent(sessionId, event));
         }
 
-        /** {@inheritDoc} */
         @Override
         public void onTextClassifierEvent(
                 TextClassificationSessionId sessionId,
                 TextClassifierEvent event) {
             Preconditions.checkNotNull(event);
-            TextClassifierService.this.onTextClassifierEvent(sessionId, event);
+            mMainThreadHandler.post(
+                    () -> TextClassifierService.this.onTextClassifierEvent(sessionId, event));
         }
 
-        /** {@inheritDoc} */
         @Override
         public void onDetectLanguage(
                 TextClassificationSessionId sessionId,
                 TextLanguage.Request request,
-                ITextLanguageCallback callback) {
+                ITextClassifierCallback callback) {
             Preconditions.checkNotNull(request);
             Preconditions.checkNotNull(callback);
-            TextClassifierService.this.onDetectLanguage(
-                    sessionId,
-                    request,
-                    mCancellationSignal,
-                    new Callback<TextLanguage>() {
-                        @Override
-                        public void onSuccess(TextLanguage result) {
-                            try {
-                                callback.onSuccess(result);
-                            } catch (RemoteException e) {
-                                Slog.d(LOG_TAG, "Error calling callback");
-                            }
-                        }
-
-                        @Override
-                        public void onFailure(CharSequence error) {
-                            try {
-                                callback.onFailure();
-                            } catch (RemoteException e) {
-                                Slog.d(LOG_TAG, "Error calling callback");
-                            }
-                        };
-                    });
+            mMainThreadHandler.post(() -> TextClassifierService.this.onDetectLanguage(
+                    sessionId, request, mCancellationSignal, new ProxyCallback<>(callback)));
         }
 
-        /** {@inheritDoc} */
         @Override
         public void onSuggestConversationActions(
                 TextClassificationSessionId sessionId,
                 ConversationActions.Request request,
-                IConversationActionsCallback callback) {
+                ITextClassifierCallback callback) {
             Preconditions.checkNotNull(request);
             Preconditions.checkNotNull(callback);
-            TextClassifierService.this.onSuggestConversationActions(
-                    sessionId,
-                    request,
-                    mCancellationSignal,
-                    new Callback<ConversationActions>() {
-                        @Override
-                        public void onSuccess(ConversationActions result) {
-                            try {
-                                callback.onSuccess(result);
-                            } catch (RemoteException e) {
-                                Slog.d(LOG_TAG, "Error calling callback");
-                            }
-                        }
-
-                        @Override
-                        public void onFailure(CharSequence error) {
-                            try {
-                                callback.onFailure();
-                            } catch (RemoteException e) {
-                                Slog.d(LOG_TAG, "Error calling callback");
-                            }
-                        }
-                    });
+            mMainThreadHandler.post(() -> TextClassifierService.this.onSuggestConversationActions(
+                    sessionId, request, mCancellationSignal, new ProxyCallback<>(callback)));
         }
 
-        /** {@inheritDoc} */
         @Override
         public void onCreateTextClassificationSession(
                 TextClassificationContext context, TextClassificationSessionId sessionId) {
             Preconditions.checkNotNull(context);
             Preconditions.checkNotNull(sessionId);
-            TextClassifierService.this.onCreateTextClassificationSession(context, sessionId);
+            mMainThreadHandler.post(
+                    () -> TextClassifierService.this.onCreateTextClassificationSession(
+                            context, sessionId));
         }
 
-        /** {@inheritDoc} */
         @Override
         public void onDestroyTextClassificationSession(TextClassificationSessionId sessionId) {
-            TextClassifierService.this.onDestroyTextClassificationSession(sessionId);
+            mMainThreadHandler.post(
+                    () -> TextClassifierService.this.onDestroyTextClassificationSession(sessionId));
         }
     };
 
@@ -301,6 +216,7 @@
      * @param cancellationSignal object to watch for canceling the current operation
      * @param callback the callback to return the result to
      */
+    @MainThread
     public abstract void onSuggestSelection(
             @Nullable TextClassificationSessionId sessionId,
             @NonNull TextSelection.Request request,
@@ -316,6 +232,7 @@
      * @param cancellationSignal object to watch for canceling the current operation
      * @param callback the callback to return the result to
      */
+    @MainThread
     public abstract void onClassifyText(
             @Nullable TextClassificationSessionId sessionId,
             @NonNull TextClassification.Request request,
@@ -331,6 +248,7 @@
      * @param cancellationSignal object to watch for canceling the current operation
      * @param callback the callback to return the result to
      */
+    @MainThread
     public abstract void onGenerateLinks(
             @Nullable TextClassificationSessionId sessionId,
             @NonNull TextLinks.Request request,
@@ -345,12 +263,14 @@
      * @param cancellationSignal object to watch for canceling the current operation
      * @param callback the callback to return the result to
      */
+    @MainThread
     public void onDetectLanguage(
             @Nullable TextClassificationSessionId sessionId,
             @NonNull TextLanguage.Request request,
             @NonNull CancellationSignal cancellationSignal,
             @NonNull Callback<TextLanguage> callback) {
-        callback.onSuccess(getLocalTextClassifier().detectLanguage(request));
+        mSingleThreadExecutor.submit(() ->
+                callback.onSuccess(getLocalTextClassifier().detectLanguage(request)));
     }
 
     /**
@@ -361,12 +281,14 @@
      * @param cancellationSignal object to watch for canceling the current operation
      * @param callback the callback to return the result to
      */
+    @MainThread
     public void onSuggestConversationActions(
             @Nullable TextClassificationSessionId sessionId,
             @NonNull ConversationActions.Request request,
             @NonNull CancellationSignal cancellationSignal,
             @NonNull Callback<ConversationActions> callback) {
-        callback.onSuccess(getLocalTextClassifier().suggestConversationActions(request));
+        mSingleThreadExecutor.submit(() ->
+                callback.onSuccess(getLocalTextClassifier().suggestConversationActions(request)));
     }
 
     /**
@@ -383,6 +305,7 @@
      *      instead
      */
     @Deprecated
+    @MainThread
     public void onSelectionEvent(
             @Nullable TextClassificationSessionId sessionId, @NonNull SelectionEvent event) {}
 
@@ -396,6 +319,7 @@
      * @param sessionId the session id
      * @param event the TextClassifier event
      */
+    @MainThread
     public void onTextClassifierEvent(
             @Nullable TextClassificationSessionId sessionId, @NonNull TextClassifierEvent event) {}
 
@@ -405,6 +329,7 @@
      * @param context the text classification context
      * @param sessionId the session's Id
      */
+    @MainThread
     public void onCreateTextClassificationSession(
             @NonNull TextClassificationContext context,
             @NonNull TextClassificationSessionId sessionId) {}
@@ -414,6 +339,7 @@
      *
      * @param sessionId the id of the session to destroy
      */
+    @MainThread
     public void onDestroyTextClassificationSession(
             @NonNull TextClassificationSessionId sessionId) {}
 
@@ -441,6 +367,11 @@
         return TextClassifier.NO_OP;
     }
 
+    /** @hide **/
+    public static <T extends Parcelable> T getResponse(Bundle bundle) {
+        return bundle.getParcelable(KEY_RESULT);
+    }
+
     /**
      * Callbacks for TextClassifierService results.
      *
@@ -494,4 +425,44 @@
                 si.permission));
         return null;
     }
+
+    /**
+     * Forwards the callback result to a wrapped binder callback.
+     */
+    private static final class ProxyCallback<T extends Parcelable> implements Callback<T> {
+        private WeakReference<ITextClassifierCallback> mTextClassifierCallback;
+
+        private ProxyCallback(ITextClassifierCallback textClassifierCallback) {
+            mTextClassifierCallback =
+                    new WeakReference<>(Preconditions.checkNotNull(textClassifierCallback));
+        }
+
+        @Override
+        public void onSuccess(T result) {
+            ITextClassifierCallback callback = mTextClassifierCallback.get();
+            if (callback == null) {
+                return;
+            }
+            try {
+                Bundle bundle = new Bundle(1);
+                bundle.putParcelable(KEY_RESULT, result);
+                callback.onSuccess(bundle);
+            } catch (RemoteException e) {
+                Slog.d(LOG_TAG, "Error calling callback");
+            }
+        }
+
+        @Override
+        public void onFailure(CharSequence error) {
+            ITextClassifierCallback callback = mTextClassifierCallback.get();
+            if (callback == null) {
+                return;
+            }
+            try {
+                callback.onFailure();
+            } catch (RemoteException e) {
+                Slog.d(LOG_TAG, "Error calling callback");
+            }
+        }
+    }
 }
diff --git a/core/java/android/text/DynamicLayout.java b/core/java/android/text/DynamicLayout.java
index c928da1..32982f9 100644
--- a/core/java/android/text/DynamicLayout.java
+++ b/core/java/android/text/DynamicLayout.java
@@ -674,7 +674,8 @@
             objects[0] = reflowed.getLineDirections(i);
 
             final int end = (i == n - 1) ? where + after : reflowed.getLineStart(i + 1);
-            ints[HYPHEN] = reflowed.getHyphen(i) & HYPHEN_MASK;
+            ints[HYPHEN] = StaticLayout.packHyphenEdit(
+                    reflowed.getStartHyphenEdit(i), reflowed.getEndHyphenEdit(i));
             ints[MAY_PROTRUDE_FROM_TOP_OR_BOTTOM] |=
                     contentMayProtrudeFromLineTopOrBottom(text, start, end) ?
                             MAY_PROTRUDE_FROM_TOP_OR_BOTTOM_MASK : 0;
@@ -1056,8 +1057,16 @@
      * @hide
      */
     @Override
-    public int getHyphen(int line) {
-        return mInts.getValue(line, HYPHEN) & HYPHEN_MASK;
+    public @Paint.StartHyphenEdit int getStartHyphenEdit(int line) {
+        return StaticLayout.unpackStartHyphenEdit(mInts.getValue(line, HYPHEN) & HYPHEN_MASK);
+    }
+
+    /**
+     * @hide
+     */
+    @Override
+    public @Paint.EndHyphenEdit int getEndHyphenEdit(int line) {
+        return StaticLayout.unpackEndHyphenEdit(mInts.getValue(line, HYPHEN) & HYPHEN_MASK);
     }
 
     private boolean getContentMayProtrudeFromTopOrBottom(int line) {
diff --git a/core/java/android/text/Hyphenator.java b/core/java/android/text/Hyphenator.java
index e4200ac..6f0628a 100644
--- a/core/java/android/text/Hyphenator.java
+++ b/core/java/android/text/Hyphenator.java
@@ -16,142 +16,15 @@
 
 package android.text;
 
-import android.annotation.IntDef;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-
 /**
- * Provides constants and pack/unpack methods for the HyphenEdit.
+ * Does the native Hyphenator initialization.
  *
- * Hyphenator provides constant values for start of line and end of line modification.
- * For example, by passing {@link #END_HYPHEN_EDIT_INSERT_HYPHEN} like as follows, HYPHEN(U+2010)
- * character is appended at the end of line.
- *
- * <pre>
- * <code>
- *   Paint paint = new Paint();
- *   paint.setHyphenEdit(Hyphenator.packHyphenEdit(
- *       Hyphenator.START_HYPHEN_EDIT_NO_EDIT,
- *       Hyphenator.END_HYPHEN_EDIT_INSERT_HYPHEN));
- *   paint.measureText("abc", 0, 3);  // Returns the width of "abc‐"
- *   Canvas.drawText("abc", 0, 3, 0f, 0f, paint);  // Draws "abc‐"
- * </code>
- * </pre>
- *
- * @see android.graphics.Paint#setHyphenEdit(int)
+ * @hide
  */
 public class Hyphenator {
     private Hyphenator() {}
 
-    /** @hide */
-    @IntDef(prefix = { "START_HYPHEN_EDIT_" }, value = {
-        START_HYPHEN_EDIT_NO_EDIT,
-        START_HYPHEN_EDIT_INSERT_HYPHEN,
-        START_HYPHEN_EDIT_INSERT_ZWJ
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface StartHyphenEdit {}
-
-    /**
-     * An integer representing the starting of the line has no modification for hyphenation.
-     */
-    public static final int START_HYPHEN_EDIT_NO_EDIT = 0x00;
-
-    /**
-     * An integer representing the starting of the line has normal hyphen character (U+002D).
-     */
-    public static final int START_HYPHEN_EDIT_INSERT_HYPHEN = 0x01;
-
-    /**
-     * An integer representing the starting of the line has Zero-Width-Joiner (U+200D).
-     */
-    public static final int START_HYPHEN_EDIT_INSERT_ZWJ = 0x02;
-
-    /** @hide */
-    @IntDef(prefix = { "END_HYPHEN_EDIT_" }, value = {
-        END_HYPHEN_EDIT_NO_EDIT,
-        END_HYPHEN_EDIT_REPLACE_WITH_HYPHEN,
-        END_HYPHEN_EDIT_INSERT_HYPHEN,
-        END_HYPHEN_EDIT_INSERT_ARMENIAN_HYPHEN,
-        END_HYPHEN_EDIT_INSERT_MAQAF,
-        END_HYPHEN_EDIT_INSERT_UCAS_HYPHEN,
-        END_HYPHEN_EDIT_INSERT_ZWJ_AND_HYPHEN
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface EndHyphenEdit {}
-
-    /**
-     * An integer representing the end of the line has no modification for hyphenation.
-     */
-    public static final int END_HYPHEN_EDIT_NO_EDIT = 0x00;
-
-    /**
-     * An integer representing the character at the end of the line is replaced with hyphen
-     * character (U+002D).
-     */
-    public static final int END_HYPHEN_EDIT_REPLACE_WITH_HYPHEN = 0x01;
-
-    /**
-     * An integer representing the end of the line has normal hyphen character (U+002D).
-     */
-    public static final int END_HYPHEN_EDIT_INSERT_HYPHEN = 0x02;
-
-    /**
-     * An integer representing the end of the line has Armentian hyphen (U+058A).
-     */
-    public static final int END_HYPHEN_EDIT_INSERT_ARMENIAN_HYPHEN = 0x03;
-
-    /**
-     * An integer representing the end of the line has maqaf (Hebrew hyphen, U+05BE).
-     */
-    public static final int END_HYPHEN_EDIT_INSERT_MAQAF = 0x04;
-
-    /**
-     * An integer representing the end of the line has Canadian Syllabics hyphen (U+1400).
-     */
-    public static final int END_HYPHEN_EDIT_INSERT_UCAS_HYPHEN = 0x05;
-
-    /**
-     * An integer representing the end of the line has Zero-Width-Joiner (U+200D) followed by normal
-     * hyphen character (U+002D).
-     */
-    public static final int END_HYPHEN_EDIT_INSERT_ZWJ_AND_HYPHEN = 0x06;
-
-    // Following three constants are used for packing start hyphen edit and end hyphen edit into
-    // single integer. Following encodings must be the same as the minikin's one.
-    // See frameworks/minikin/include/Hyphenator.h for more details.
-    private static final int END_HYPHEN_EDIT_MASK = 0x07;  // 0b00111
-    private static final int START_HYPHEN_EDIT_MASK = 0x18;  // 0b11000
-    private static final int START_HYPHEN_EDIT_SHIFT = 0x03;
-
-    /**
-     * Extract start hyphen edit from packed value.
-     */
-    public static @StartHyphenEdit int unpackStartHyphenEdit(int hyphenEdit) {
-        return (hyphenEdit & START_HYPHEN_EDIT_MASK) >> START_HYPHEN_EDIT_SHIFT;
-    }
-
-    /**
-     * Extract end hyphen edit from packed value.
-     */
-    public static @EndHyphenEdit int unpackEndHyphenEdit(int hyphenEdit) {
-        return hyphenEdit & END_HYPHEN_EDIT_MASK;
-    }
-
-    /**
-     * Pack the start hyphen edit and end hyphen edit into single integer.
-     */
-    public static int packHyphenEdit(@StartHyphenEdit int startHyphenEdit,
-            @EndHyphenEdit int endHyphenEdit) {
-        return ((startHyphenEdit << START_HYPHEN_EDIT_SHIFT) & START_HYPHEN_EDIT_MASK)
-                | (endHyphenEdit & END_HYPHEN_EDIT_MASK);
-    }
-
-
-    /**
-     * @hide
-     */
+    // This method is called from Zygote.
     public static void init() {
         nInit();
     }
diff --git a/core/java/android/text/Layout.java b/core/java/android/text/Layout.java
index 2d5f3bf..bf0ef94 100644
--- a/core/java/android/text/Layout.java
+++ b/core/java/android/text/Layout.java
@@ -437,7 +437,8 @@
             previousLineEnd = getLineStart(lineNum + 1);
             final boolean justify = isJustificationRequired(lineNum);
             int end = getLineVisibleEnd(lineNum, start, previousLineEnd);
-            paint.setHyphenEdit(getHyphen(lineNum));
+            paint.setStartHyphenEdit(getStartHyphenEdit(lineNum));
+            paint.setEndHyphenEdit(getEndHyphenEdit(lineNum));
 
             int ltop = previousLineBottom;
             int lbottom = getLineTop(lineNum + 1);
@@ -910,12 +911,21 @@
     public abstract int getBottomPadding();
 
     /**
-     * Returns the hyphen edit for a line.
+     * Returns the start hyphen edit for a line.
      *
      * @hide
      */
-    public int getHyphen(int line) {
-        return 0;
+    public @Paint.StartHyphenEdit int getStartHyphenEdit(int line) {
+        return Paint.START_HYPHEN_EDIT_NO_EDIT;
+    }
+
+    /**
+     * Returns the end hyphen edit for a line.
+     *
+     * @hide
+     */
+    public @Paint.EndHyphenEdit int getEndHyphenEdit(int line) {
+        return Paint.END_HYPHEN_EDIT_NO_EDIT;
     }
 
     /**
@@ -1418,7 +1428,8 @@
         final TextLine tl = TextLine.obtain();
         final TextPaint paint = mWorkPaint;
         paint.set(mPaint);
-        paint.setHyphenEdit(getHyphen(line));
+        paint.setStartHyphenEdit(getStartHyphenEdit(line));
+        paint.setEndHyphenEdit(getEndHyphenEdit(line));
         tl.set(paint, mText, start, end, dir, directions, hasTabs, tabStops,
                 getEllipsisStart(line), getEllipsisStart(line) + getEllipsisCount(line));
         if (isJustificationRequired(line)) {
@@ -1447,7 +1458,8 @@
         final TextLine tl = TextLine.obtain();
         final TextPaint paint = mWorkPaint;
         paint.set(mPaint);
-        paint.setHyphenEdit(getHyphen(line));
+        paint.setStartHyphenEdit(getStartHyphenEdit(line));
+        paint.setEndHyphenEdit(getEndHyphenEdit(line));
         tl.set(paint, mText, start, end, dir, directions, hasTabs, tabStops,
                 getEllipsisStart(line), getEllipsisStart(line) + getEllipsisCount(line));
         if (isJustificationRequired(line)) {
@@ -2180,26 +2192,26 @@
      */
     @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
     public static class TabStops {
-        private int[] mStops;
+        private float[] mStops;
         private int mNumStops;
-        private int mIncrement;
+        private float mIncrement;
 
-        public TabStops(int increment, Object[] spans) {
+        public TabStops(float increment, Object[] spans) {
             reset(increment, spans);
         }
 
-        void reset(int increment, Object[] spans) {
+        void reset(float increment, Object[] spans) {
             this.mIncrement = increment;
 
             int ns = 0;
             if (spans != null) {
-                int[] stops = this.mStops;
+                float[] stops = this.mStops;
                 for (Object o : spans) {
                     if (o instanceof TabStopSpan) {
                         if (stops == null) {
-                            stops = new int[10];
+                            stops = new float[10];
                         } else if (ns == stops.length) {
-                            int[] nstops = new int[ns * 2];
+                            float[] nstops = new float[ns * 2];
                             for (int i = 0; i < ns; ++i) {
                                 nstops[i] = stops[i];
                             }
@@ -2221,9 +2233,9 @@
         float nextTab(float h) {
             int ns = this.mNumStops;
             if (ns > 0) {
-                int[] stops = this.mStops;
+                float[] stops = this.mStops;
                 for (int i = 0; i < ns; ++i) {
-                    int stop = stops[i];
+                    float stop = stops[i];
                     if (stop > h) {
                         return stop;
                     }
@@ -2232,7 +2244,10 @@
             return nextDefaultStop(h, mIncrement);
         }
 
-        public static float nextDefaultStop(float h, int inc) {
+        /**
+         * Returns the position of next tab stop.
+         */
+        public static float nextDefaultStop(float h, float inc) {
             return ((int) ((h + inc) / inc)) * inc;
         }
     }
@@ -2570,7 +2585,7 @@
         ALIGN_RIGHT,
     }
 
-    private static final int TAB_INCREMENT = 20;
+    private static final float TAB_INCREMENT = 20;
 
     /** @hide */
     @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
diff --git a/core/java/android/text/StaticLayout.java b/core/java/android/text/StaticLayout.java
index 24d746e..69cfc03 100644
--- a/core/java/android/text/StaticLayout.java
+++ b/core/java/android/text/StaticLayout.java
@@ -643,7 +643,7 @@
                 .setBreakStrategy(b.mBreakStrategy)
                 .setHyphenationFrequency(b.mHyphenationFrequency)
                 // TODO: Support more justification mode, e.g. letter spacing, stretching.
-                .setJustified(b.mJustificationMode)
+                .setJustificationMode(b.mJustificationMode)
                 .setIndents(indents)
                 .build();
 
@@ -737,14 +737,14 @@
                 }
             }
             // tab stop locations
-            int[] variableTabStops = null;
+            float[] variableTabStops = null;
             if (spanned != null) {
                 TabStopSpan[] spans = getParagraphSpans(spanned, paraStart,
                         paraEnd, TabStopSpan.class);
                 if (spans.length > 0) {
-                    int[] stops = new int[spans.length];
+                    float[] stops = new float[spans.length];
                     for (int i = 0; i < spans.length; i++) {
-                        stops[i] = spans[i].getTabStop();
+                        stops[i] = (float) spans[i].getTabStop();
                     }
                     Arrays.sort(stops, 0, stops.length);
                     variableTabStops = stops;
@@ -779,7 +779,8 @@
                 ascents[i] = res.getLineAscent(i);
                 descents[i] = res.getLineDescent(i);
                 hasTabs[i] = res.hasLineTab(i);
-                hyphenEdits[i] = res.getLineHyphenEdit(i);
+                hyphenEdits[i] =
+                    packHyphenEdit(res.getStartLineHyphenEdit(i), res.getEndLineHyphenEdit(i));
             }
 
             final int remainingLineCount = mMaximumVisibleLineCount - mLineCount;
@@ -1258,20 +1259,42 @@
         return mBottomPadding;
     }
 
+    // To store into single int field, pack the pair of start and end hyphen edit.
+    static int packHyphenEdit(
+            @Paint.StartHyphenEdit int start, @Paint.EndHyphenEdit int end) {
+        return start << START_HYPHEN_BITS_SHIFT | end;
+    }
+
+    static int unpackStartHyphenEdit(int packedHyphenEdit) {
+        return (packedHyphenEdit & START_HYPHEN_MASK) >> START_HYPHEN_BITS_SHIFT;
+    }
+
+    static int unpackEndHyphenEdit(int packedHyphenEdit) {
+        return packedHyphenEdit & END_HYPHEN_MASK;
+    }
+
     /**
-     * Returns the packed hyphen edit value for this line.
-     *
-     * You can extract start hyphen edit and end hyphen edit by using
-     * {@link Hyphenator#unpackStartHyphenEdit(int)} and
-     * {@link Hyphenator#unpackEndHyphenEdit(int)}.
+     * Returns the start hyphen edit value for this line.
      *
      * @param lineNumber a line number
-     * @return A packed hyphen edit value.
+     * @return A start hyphen edit value.
      * @hide
      */
     @Override
-    public int getHyphen(int lineNumber) {
-        return mLines[mColumns * lineNumber + HYPHEN] & HYPHEN_MASK;
+    public @Paint.StartHyphenEdit int getStartHyphenEdit(int lineNumber) {
+        return unpackStartHyphenEdit(mLines[mColumns * lineNumber + HYPHEN] & HYPHEN_MASK);
+    }
+
+    /**
+     * Returns the packed hyphen edit value for this line.
+     *
+     * @param lineNumber a line number
+     * @return An end hyphen edit value.
+     * @hide
+     */
+    @Override
+    public @Paint.EndHyphenEdit int getEndHyphenEdit(int lineNumber) {
+        return unpackEndHyphenEdit(mLines[mColumns * lineNumber + HYPHEN] & HYPHEN_MASK);
     }
 
     /**
@@ -1395,8 +1418,11 @@
     private static final int DIR_SHIFT  = 30;
     private static final int TAB_MASK   = 0x20000000;
     private static final int HYPHEN_MASK = 0xFF;
+    private static final int START_HYPHEN_BITS_SHIFT = 3;
+    private static final int START_HYPHEN_MASK = 0x18; // 0b11000
+    private static final int END_HYPHEN_MASK = 0x7;  // 0b00111
 
-    private static final int TAB_INCREMENT = 20; // same as Layout, but that's private
+    private static final float TAB_INCREMENT = 20; // same as Layout, but that's private
 
     private static final char CHAR_NEW_LINE = '\n';
 
diff --git a/core/java/android/text/TextLine.java b/core/java/android/text/TextLine.java
index 915a18e..8665106 100644
--- a/core/java/android/text/TextLine.java
+++ b/core/java/android/text/TextLine.java
@@ -1012,19 +1012,14 @@
         return runIsRtl ? -ret : ret;
     }
 
-    private int adjustHyphenEdit(int start, int limit, int packedHyphenEdit) {
-        int result = packedHyphenEdit;
-        // Only draw hyphens on first or last run in line. Disable them otherwise.
-        if (start > 0) { // not the first run
-            result = Hyphenator.packHyphenEdit(Hyphenator.START_HYPHEN_EDIT_NO_EDIT,
-                    Hyphenator.unpackEndHyphenEdit(packedHyphenEdit));
-        }
-        if (limit < mLen) { // not the last run
-            result = Hyphenator.packHyphenEdit(Hyphenator.unpackStartHyphenEdit(packedHyphenEdit),
-                    Hyphenator.END_HYPHEN_EDIT_NO_EDIT);
-            result &= ~Paint.HYPHENEDIT_MASK_END_OF_LINE;
-        }
-        return result;
+    private int adjustStartHyphenEdit(int start, @Paint.StartHyphenEdit int startHyphenEdit) {
+        // Only draw hyphens on first in line. Disable them otherwise.
+        return start > 0 ? Paint.START_HYPHEN_EDIT_NO_EDIT : startHyphenEdit;
+    }
+
+    private int adjustEndHyphenEdit(int limit, @Paint.EndHyphenEdit int endHyphenEdit) {
+        // Only draw hyphens on last run in line. Disable them otherwise.
+        return limit < mLen ? Paint.END_HYPHEN_EDIT_NO_EDIT : endHyphenEdit;
     }
 
     private static final class DecorationInfo {
@@ -1115,7 +1110,8 @@
         if (!needsSpanMeasurement) {
             final TextPaint wp = mWorkPaint;
             wp.set(mPaint);
-            wp.setHyphenEdit(adjustHyphenEdit(start, limit, wp.getHyphenEdit()));
+            wp.setStartHyphenEdit(adjustStartHyphenEdit(start, wp.getStartHyphenEdit()));
+            wp.setEndHyphenEdit(adjustEndHyphenEdit(limit, wp.getEndHyphenEdit()));
             return handleText(wp, start, limit, start, limit, runIsRtl, c, x, top,
                     y, bottom, fmi, needWidth, measureLimit, null);
         }
@@ -1193,8 +1189,10 @@
                     // The style of the present chunk of text is substantially different from the
                     // style of the previous chunk. We need to handle the active piece of text
                     // and restart with the present chunk.
-                    activePaint.setHyphenEdit(adjustHyphenEdit(
-                            activeStart, activeEnd, mPaint.getHyphenEdit()));
+                    activePaint.setStartHyphenEdit(
+                            adjustStartHyphenEdit(activeStart, mPaint.getStartHyphenEdit()));
+                    activePaint.setEndHyphenEdit(
+                            adjustEndHyphenEdit(activeEnd, mPaint.getEndHyphenEdit()));
                     x += handleText(activePaint, activeStart, activeEnd, i, inext, runIsRtl, c, x,
                             top, y, bottom, fmi, needWidth || activeEnd < measureLimit,
                             Math.min(activeEnd, mlimit), mDecorations);
@@ -1218,8 +1216,10 @@
                 }
             }
             // Handle the final piece of text.
-            activePaint.setHyphenEdit(adjustHyphenEdit(
-                    activeStart, activeEnd, mPaint.getHyphenEdit()));
+            activePaint.setStartHyphenEdit(
+                    adjustStartHyphenEdit(activeStart, mPaint.getStartHyphenEdit()));
+            activePaint.setEndHyphenEdit(
+                    adjustEndHyphenEdit(activeEnd, mPaint.getEndHyphenEdit()));
             x += handleText(activePaint, activeStart, activeEnd, i, inext, runIsRtl, c, x,
                     top, y, bottom, fmi, needWidth || activeEnd < measureLimit,
                     Math.min(activeEnd, mlimit), mDecorations);
@@ -1323,7 +1323,8 @@
                 && lp.getTextSkewX() == rp.getTextSkewX()
                 && lp.getLetterSpacing() == rp.getLetterSpacing()
                 && lp.getWordSpacing() == rp.getWordSpacing()
-                && lp.getHyphenEdit() == rp.getHyphenEdit()
+                && lp.getStartHyphenEdit() == rp.getStartHyphenEdit()
+                && lp.getEndHyphenEdit() == rp.getEndHyphenEdit()
                 && lp.bgColor == rp.bgColor
                 && lp.baselineShift == rp.baselineShift
                 && lp.linkColor == rp.linkColor
diff --git a/core/java/android/text/style/ImageSpan.java b/core/java/android/text/style/ImageSpan.java
index 13ac9ff..98f58be 100644
--- a/core/java/android/text/style/ImageSpan.java
+++ b/core/java/android/text/style/ImageSpan.java
@@ -46,10 +46,10 @@
  * <p>
  * For example, an <code>ImagedSpan</code> can be used like this:
  * <pre>
- * SpannableString string = SpannableString("Bottom: span.\nBaseline: span.");
+ * SpannableString string = new SpannableString("Bottom: span.\nBaseline: span.");
  * // using the default alignment: ALIGN_BOTTOM
- * string.setSpan(ImageSpan(this, R.mipmap.ic_launcher), 7, 8, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
- * string.setSpan(ImageSpan(this, R.mipmap.ic_launcher, DynamicDrawableSpan.ALIGN_BASELINE),
+ * string.setSpan(new ImageSpan(this, R.mipmap.ic_launcher), 7, 8, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
+ * string.setSpan(new ImageSpan(this, R.mipmap.ic_launcher, DynamicDrawableSpan.ALIGN_BASELINE),
  * 22, 23, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
  * </pre>
  * <img src="{@docRoot}reference/android/images/text/style/imagespan.png" />
diff --git a/core/java/android/text/style/LineBackgroundSpan.java b/core/java/android/text/style/LineBackgroundSpan.java
index e43fd83..7cb9147 100644
--- a/core/java/android/text/style/LineBackgroundSpan.java
+++ b/core/java/android/text/style/LineBackgroundSpan.java
@@ -53,6 +53,15 @@
     /**
      * Default implementation of the {@link LineBackgroundSpan}, which changes the background
      * color of the lines to which the span is attached.
+     * <p>
+     * For example, an <code>LineBackgroundSpan</code> can be used like this:
+     * <pre>
+     * String text = "This is a multiline text. LineBackgroundSpan is applied here. This is a multiline text.";
+     * SpannableString string = new SpannableString(text);
+     * string.setSpan(new LineBackgroundSpan.Standard(Color.YELLOW), 26, 61, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
+     * </pre>
+     * <img src="{@docRoot}reference/android/images/text/style/linebackgroundspan.png" />
+     * <figcaption>Text with <code>LineBackgroundSpan</code></figcaption>
      */
     class Standard implements LineBackgroundSpan, ParcelableSpan {
 
diff --git a/core/java/android/util/FeatureFlagUtils.java b/core/java/android/util/FeatureFlagUtils.java
index fac699e..c1504ae 100644
--- a/core/java/android/util/FeatureFlagUtils.java
+++ b/core/java/android/util/FeatureFlagUtils.java
@@ -39,6 +39,8 @@
     public static final String SAFETY_HUB = "settings_safety_hub";
     public static final String SCREENRECORD_LONG_PRESS = "settings_screenrecord_long_press";
     public static final String GLOBAL_ACTIONS_GRID_ENABLED = "settings_global_actions_grid_enabled";
+    public static final String GLOBAL_ACTIONS_PANEL_ENABLED =
+            "settings_global_actions_panel_enabled";
 
     private static final Map<String, String> DEFAULT_FLAGS;
 
@@ -46,17 +48,19 @@
         DEFAULT_FLAGS = new HashMap<>();
         DEFAULT_FLAGS.put("settings_audio_switcher", "true");
         DEFAULT_FLAGS.put("settings_mobile_network_v2", "true");
-        DEFAULT_FLAGS.put("settings_network_and_internet_v2", "false");
+        DEFAULT_FLAGS.put("settings_network_and_internet_v2", "true");
         DEFAULT_FLAGS.put("settings_slice_injection", "true");
         DEFAULT_FLAGS.put("settings_systemui_theme", "true");
-        DEFAULT_FLAGS.put("settings_wifi_mac_randomization", "true");
         DEFAULT_FLAGS.put("settings_mainline_module", "false");
         DEFAULT_FLAGS.put("settings_dynamic_android", "false");
         DEFAULT_FLAGS.put(SEAMLESS_TRANSFER, "false");
         DEFAULT_FLAGS.put(HEARING_AID_SETTINGS, "false");
         DEFAULT_FLAGS.put(SAFETY_HUB, "false");
         DEFAULT_FLAGS.put(SCREENRECORD_LONG_PRESS, "false");
-        DEFAULT_FLAGS.put(GLOBAL_ACTIONS_GRID_ENABLED, "false");
+        DEFAULT_FLAGS.put(GLOBAL_ACTIONS_GRID_ENABLED, "true");
+        DEFAULT_FLAGS.put(GLOBAL_ACTIONS_PANEL_ENABLED, "true");
+        DEFAULT_FLAGS.put("settings_wifi_details_saved_screen", "false");
+        DEFAULT_FLAGS.put("settings_wifi_details_datausage_header", "false");
     }
 
     /**
diff --git a/core/java/android/util/OWNERS b/core/java/android/util/OWNERS
index 86ed122..98297fb 100644
--- a/core/java/android/util/OWNERS
+++ b/core/java/android/util/OWNERS
@@ -1,2 +1,3 @@
 per-file FeatureFlagUtils.java = sbasi@google.com
 per-file FeatureFlagUtils.java = zhfan@google.com
+per-file FeatureFlagUtils.java = asapperstein@google.com
diff --git a/core/java/android/util/StatsLog.java b/core/java/android/util/StatsLog.java
index 29ced3e..bf46e95 100644
--- a/core/java/android/util/StatsLog.java
+++ b/core/java/android/util/StatsLog.java
@@ -190,6 +190,12 @@
             case PERMISSION_GRANT_REQUEST_RESULT_REPORTED:
                 write(id, (long) params[0], (int) params[1], (String) params[2], (String) params[3],
                         (boolean) params[4], (int) params[5]);
+                break;
+            case DATA_STALL_EVENT:
+                // Refer to the defintion in frameworks/base/cmds/statsd/src/atoms.proto.
+                write(id, (int) params[0], (int) params[1], (int) params[2], (byte[]) params[3],
+                        (byte[]) params[4], (byte[]) params[5]);
+                break;
         }
     }
 
diff --git a/core/java/android/util/apk/ApkSignatureVerifier.java b/core/java/android/util/apk/ApkSignatureVerifier.java
index ab67d37..71c8e98 100644
--- a/core/java/android/util/apk/ApkSignatureVerifier.java
+++ b/core/java/android/util/apk/ApkSignatureVerifier.java
@@ -393,15 +393,18 @@
     /**
      * @return the verity root hash in the Signing Block.
      */
-    public static byte[] getVerityRootHash(String apkPath)
-            throws IOException, SignatureNotFoundException, SecurityException {
+    public static byte[] getVerityRootHash(String apkPath) throws IOException, SecurityException {
         // first try v3
         try {
             return ApkSignatureSchemeV3Verifier.getVerityRootHash(apkPath);
         } catch (SignatureNotFoundException e) {
             // try older version
         }
-        return ApkSignatureSchemeV2Verifier.getVerityRootHash(apkPath);
+        try {
+            return ApkSignatureSchemeV2Verifier.getVerityRootHash(apkPath);
+        } catch (SignatureNotFoundException e) {
+            return null;
+        }
     }
 
     /**
diff --git a/core/java/android/view/GestureDetector.java b/core/java/android/view/GestureDetector.java
index c794a69..c1d122a 100644
--- a/core/java/android/view/GestureDetector.java
+++ b/core/java/android/view/GestureDetector.java
@@ -16,11 +16,20 @@
 
 package android.view;
 
+import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__DEEP_PRESS;
+import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__DOUBLE_TAP;
+import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__LONG_PRESS;
+import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__SCROLL;
+import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__SINGLE_TAP;
+import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__UNKNOWN_CLASSIFICATION;
+
 import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.os.Build;
 import android.os.Handler;
 import android.os.Message;
+import android.os.SystemClock;
+import android.util.StatsLog;
 
 /**
  * Detects various gestures and events using the supplied {@link MotionEvent}s.
@@ -251,8 +260,12 @@
     private boolean mAlwaysInTapRegion;
     private boolean mAlwaysInBiggerTapRegion;
     private boolean mIgnoreNextUpEvent;
+    // Whether a classification has been recorded by statsd for the current event stream. Reset on
+    // ACTION_DOWN.
+    private boolean mHasRecordedClassification;
 
     private MotionEvent mCurrentDownEvent;
+    private MotionEvent mCurrentMotionEvent;
     private MotionEvent mPreviousUpEvent;
 
     /**
@@ -297,6 +310,7 @@
                     break;
 
                 case LONG_PRESS:
+                    recordGestureClassification(msg.arg1);
                     dispatchLongPress();
                     break;
 
@@ -304,6 +318,8 @@
                     // If the user's finger is still down, do not count it as a tap
                     if (mDoubleTapListener != null) {
                         if (!mStillDown) {
+                            recordGestureClassification(
+                                    TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__SINGLE_TAP);
                             mDoubleTapListener.onSingleTapConfirmed(mCurrentDownEvent);
                         } else {
                             mDeferConfirmSingleTap = true;
@@ -501,6 +517,11 @@
 
         final int action = ev.getAction();
 
+        if (mCurrentMotionEvent != null) {
+            mCurrentMotionEvent.recycle();
+        }
+        mCurrentMotionEvent = MotionEvent.obtain(ev);
+
         if (mVelocityTracker == null) {
             mVelocityTracker = VelocityTracker.obtain();
         }
@@ -569,6 +590,8 @@
                             && isConsideredDoubleTap(mCurrentDownEvent, mPreviousUpEvent, ev)) {
                         // This is a second tap
                         mIsDoubleTapping = true;
+                        recordGestureClassification(
+                                TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__DOUBLE_TAP);
                         // Give a callback with the first tap of the double-tap
                         handled |= mDoubleTapListener.onDoubleTap(mCurrentDownEvent);
                         // Give a callback with down event of the double-tap
@@ -590,11 +613,17 @@
                 mStillDown = true;
                 mInLongPress = false;
                 mDeferConfirmSingleTap = false;
+                mHasRecordedClassification = false;
 
                 if (mIsLongpressEnabled) {
                     mHandler.removeMessages(LONG_PRESS);
-                    mHandler.sendEmptyMessageAtTime(LONG_PRESS, mCurrentDownEvent.getDownTime()
-                            + ViewConfiguration.getLongPressTimeout());
+                    mHandler.sendMessageAtTime(
+                            mHandler.obtainMessage(
+                                    LONG_PRESS,
+                                    TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__LONG_PRESS,
+                                    0 /* arg2 */),
+                            mCurrentDownEvent.getDownTime()
+                                    + ViewConfiguration.getLongPressTimeout());
                 }
                 mHandler.sendEmptyMessageAtTime(SHOW_PRESS,
                         mCurrentDownEvent.getDownTime() + TAP_TIMEOUT);
@@ -613,6 +642,8 @@
                 final float scrollY = mLastFocusY - focusY;
                 if (mIsDoubleTapping) {
                     // Give the move events of the double-tap
+                    recordGestureClassification(
+                            TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__DOUBLE_TAP);
                     handled |= mDoubleTapListener.onDoubleTapEvent(ev);
                 } else if (mAlwaysInTapRegion) {
                     final int deltaX = (int) (focusX - mDownFocusX);
@@ -635,8 +666,12 @@
                             // reschedule long press with a modified timeout.
                             mHandler.removeMessages(LONG_PRESS);
                             final long longPressTimeout = ViewConfiguration.getLongPressTimeout();
-                            mHandler.sendEmptyMessageAtTime(LONG_PRESS, ev.getDownTime()
-                                    + (long) (longPressTimeout * multiplier));
+                            mHandler.sendMessageAtTime(
+                                    mHandler.obtainMessage(
+                                            LONG_PRESS,
+                                            TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__LONG_PRESS,
+                                            0 /* arg2 */),
+                                    ev.getDownTime() + (long) (longPressTimeout * multiplier));
                         }
                         // Inhibit default scroll. If a gesture is ambiguous, we prevent scroll
                         // until the gesture is resolved.
@@ -646,6 +681,8 @@
                     }
 
                     if (distance > slopSquare) {
+                        recordGestureClassification(
+                                TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__SCROLL);
                         handled = mListener.onScroll(mCurrentDownEvent, ev, scrollX, scrollY);
                         mLastFocusX = focusX;
                         mLastFocusY = focusY;
@@ -659,6 +696,7 @@
                         mAlwaysInBiggerTapRegion = false;
                     }
                 } else if ((Math.abs(scrollX) >= 1) || (Math.abs(scrollY) >= 1)) {
+                    recordGestureClassification(TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__SCROLL);
                     handled = mListener.onScroll(mCurrentDownEvent, ev, scrollX, scrollY);
                     mLastFocusX = focusX;
                     mLastFocusY = focusY;
@@ -667,7 +705,11 @@
                         motionClassification == MotionEvent.CLASSIFICATION_DEEP_PRESS;
                 if (deepPress && hasPendingLongPress) {
                     mHandler.removeMessages(LONG_PRESS);
-                    mHandler.sendEmptyMessage(LONG_PRESS);
+                    mHandler.sendMessage(
+                            mHandler.obtainMessage(
+                                  LONG_PRESS,
+                                  TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__DEEP_PRESS,
+                                  0 /* arg2 */));
                 }
                 break;
 
@@ -676,11 +718,15 @@
                 MotionEvent currentUpEvent = MotionEvent.obtain(ev);
                 if (mIsDoubleTapping) {
                     // Finally, give the up event of the double-tap
+                    recordGestureClassification(
+                            TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__DOUBLE_TAP);
                     handled |= mDoubleTapListener.onDoubleTapEvent(ev);
                 } else if (mInLongPress) {
                     mHandler.removeMessages(TAP);
                     mInLongPress = false;
                 } else if (mAlwaysInTapRegion && !mIgnoreNextUpEvent) {
+                    recordGestureClassification(
+                            TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__SINGLE_TAP);
                     handled = mListener.onSingleTapUp(ev);
                     if (mDeferConfirmSingleTap && mDoubleTapListener != null) {
                         mDoubleTapListener.onSingleTapConfirmed(ev);
@@ -821,4 +867,21 @@
         mInLongPress = true;
         mListener.onLongPress(mCurrentDownEvent);
     }
+
+    private void recordGestureClassification(int classification) {
+        if (mHasRecordedClassification
+                || classification
+                    == TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__UNKNOWN_CLASSIFICATION) {
+            // Only record the first classification for an event stream.
+            return;
+        }
+        StatsLog.write(
+                StatsLog.TOUCH_GESTURE_CLASSIFIED,
+                getClass().getName(),
+                classification,
+                (int) (SystemClock.uptimeMillis() - mCurrentMotionEvent.getDownTime()),
+                (float) Math.hypot(mCurrentMotionEvent.getRawX() - mCurrentDownEvent.getRawX(),
+                                   mCurrentMotionEvent.getRawY() - mCurrentDownEvent.getRawY()));
+        mHasRecordedClassification = true;
+    }
 }
diff --git a/core/java/android/view/IWindowManager.aidl b/core/java/android/view/IWindowManager.aidl
index e32c4e1..9ee6585 100644
--- a/core/java/android/view/IWindowManager.aidl
+++ b/core/java/android/view/IWindowManager.aidl
@@ -129,7 +129,7 @@
     @UnsupportedAppUsage
     boolean isKeyguardLocked();
     @UnsupportedAppUsage
-    boolean isKeyguardSecure();
+    boolean isKeyguardSecure(int userId);
     void dismissKeyguard(IKeyguardDismissCallback callback, CharSequence message);
 
     // Requires INTERACT_ACROSS_USERS_FULL permission
diff --git a/core/java/android/view/InputWindowHandle.java b/core/java/android/view/InputWindowHandle.java
index ec79eea..16a6412 100644
--- a/core/java/android/view/InputWindowHandle.java
+++ b/core/java/android/view/InputWindowHandle.java
@@ -18,9 +18,12 @@
 
 import static android.view.Display.INVALID_DISPLAY;
 
+import android.annotation.Nullable;
 import android.graphics.Region;
 import android.os.IBinder;
 
+import java.lang.ref.WeakReference;
+
 /**
  * Functions as a handle for a window that can receive input.
  * Enables the native input dispatcher to refer indirectly to the window manager's window state.
@@ -38,7 +41,7 @@
     // The client window.
     public final IWindow clientWindow;
 
-    // The token assosciated with the window.
+    // The token associated with the window.
     public IBinder token;
 
     // The window name.
@@ -98,6 +101,23 @@
     // transports the touch of this window to the display indicated by portalToDisplayId.
     public int portalToDisplayId = INVALID_DISPLAY;
 
+    /**
+     * Crops the touchable region to the bounds of the surface provided.
+     *
+     * This can be used in cases where the window is not
+     * {@link android.view.WindowManager#FLAG_NOT_TOUCH_MODAL} but should be constrained to the
+     * bounds of a parent window. That is the window should receive touch events outside its
+     * window but be limited to its stack bounds, such as in the case of split screen.
+     */
+    public WeakReference<IBinder> touchableRegionCropHandle = new WeakReference<>(null);
+
+    /**
+     * Replace {@link touchableRegion} with the bounds of {@link touchableRegionCropHandle}. If
+     * the handle is {@code null}, the bounds of the surface associated with this window is used
+     * as the touchable region.
+     */
+    public boolean replaceTouchableRegionWithCrop;
+
     private native void nativeDispose();
 
     public InputWindowHandle(InputApplicationHandle inputApplicationHandle,
@@ -127,4 +147,25 @@
             super.finalize();
         }
     }
+
+    /**
+     * Set the window touchable region to the bounds of {@link touchableRegionBounds} ignoring any
+     * touchable region provided.
+     *
+     * @param bounds surface to set the touchable region to. Set to {@code null} to set the bounds
+     * to the current surface.
+     */
+    public void replaceTouchableRegionWithCrop(@Nullable SurfaceControl bounds) {
+        setTouchableRegionCrop(bounds);
+        replaceTouchableRegionWithCrop = true;
+    }
+
+    /**
+     * Crop the window touchable region to the bounds of the surface provided.
+     */
+    public void setTouchableRegionCrop(@Nullable SurfaceControl bounds) {
+        if (bounds != null) {
+            touchableRegionCropHandle = new WeakReference<>(bounds.getHandle());
+        }
+    }
 }
diff --git a/core/java/android/view/InsetsState.java b/core/java/android/view/InsetsState.java
index 1382fbc..6129b38 100644
--- a/core/java/android/view/InsetsState.java
+++ b/core/java/android/view/InsetsState.java
@@ -142,6 +142,17 @@
                 && legacyContentInsets != null && legacyStableInsets != null) {
             WindowInsets.assignCompatInsets(typeInsetsMap, legacyContentInsets);
             WindowInsets.assignCompatInsets(typeMaxInsetsMap, legacyStableInsets);
+
+            // TODO: set system gesture insets based on actual system gesture area.
+            typeInsetsMap[Type.indexOf(Type.systemGestures())] = Insets.of(legacyContentInsets);
+            typeInsetsMap[Type.indexOf(Type.mandatorySystemGestures())] =
+                    Insets.of(legacyContentInsets);
+            typeInsetsMap[Type.indexOf(Type.tappableElement())] = Insets.of(legacyContentInsets);
+
+            typeMaxInsetsMap[Type.indexOf(Type.systemGestures())] = Insets.of(legacyStableInsets);
+            typeMaxInsetsMap[Type.indexOf(Type.mandatorySystemGestures())] =
+                    Insets.of(legacyStableInsets);
+            typeMaxInsetsMap[Type.indexOf(Type.tappableElement())] = Insets.of(legacyStableInsets);
         }
         for (int type = FIRST_TYPE; type <= LAST_TYPE; type++) {
             InsetsSource source = mSources.get(type);
diff --git a/core/java/android/view/KeyEvent.java b/core/java/android/view/KeyEvent.java
index f700d32..87dd5b4 100644
--- a/core/java/android/view/KeyEvent.java
+++ b/core/java/android/view/KeyEvent.java
@@ -1806,28 +1806,6 @@
     }
 
     /**
-     * Returns whether this key will be sent to the
-     * {@link android.media.session.MediaSession.Callback} if not handled.
-     */
-    public static final boolean isMediaSessionKey(int keyCode) {
-        switch (keyCode) {
-            case KeyEvent.KEYCODE_MEDIA_PLAY:
-            case KeyEvent.KEYCODE_MEDIA_PAUSE:
-            case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
-            case KeyEvent.KEYCODE_MUTE:
-            case KeyEvent.KEYCODE_HEADSETHOOK:
-            case KeyEvent.KEYCODE_MEDIA_STOP:
-            case KeyEvent.KEYCODE_MEDIA_NEXT:
-            case KeyEvent.KEYCODE_MEDIA_PREVIOUS:
-            case KeyEvent.KEYCODE_MEDIA_REWIND:
-            case KeyEvent.KEYCODE_MEDIA_RECORD:
-            case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
-                return true;
-        }
-        return false;
-    }
-
-    /**
      * Returns true if the specified keycode is a gamepad button.
      * @return True if the keycode is a gamepad button, such as {@link #KEYCODE_BUTTON_A}.
      */
@@ -1886,6 +1864,30 @@
         }
     }
 
+    /**
+     * Returns whether this key will be sent to the
+     * {@link android.media.session.MediaSession.Callback} if not handled.
+     *
+     * @hide
+     */
+    public static final boolean isMediaSessionKey(int keyCode) {
+        switch (keyCode) {
+            case KeyEvent.KEYCODE_MEDIA_PLAY:
+            case KeyEvent.KEYCODE_MEDIA_PAUSE:
+            case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
+            case KeyEvent.KEYCODE_MUTE:
+            case KeyEvent.KEYCODE_HEADSETHOOK:
+            case KeyEvent.KEYCODE_MEDIA_STOP:
+            case KeyEvent.KEYCODE_MEDIA_NEXT:
+            case KeyEvent.KEYCODE_MEDIA_PREVIOUS:
+            case KeyEvent.KEYCODE_MEDIA_REWIND:
+            case KeyEvent.KEYCODE_MEDIA_RECORD:
+            case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
+                return true;
+        }
+        return false;
+    }
+
     /** Is this a system key? System keys can not be used for menu shortcuts.
      * @hide
      */
diff --git a/core/java/android/view/LayoutInflater.java b/core/java/android/view/LayoutInflater.java
index f13cb5a..35cf129 100644
--- a/core/java/android/view/LayoutInflater.java
+++ b/core/java/android/view/LayoutInflater.java
@@ -83,6 +83,10 @@
     private static final boolean DEBUG = false;
 
     private static final String COMPILED_VIEW_DEX_FILE_NAME = "/compiled_view.dex";
+    /**
+     * Whether or not we use the precompiled layout.
+     */
+    private static final String USE_PRECOMPILED_LAYOUT = "view.precompiled_layout_enabled";
 
     /** Empty stack trace used to avoid log spam in re-throw exceptions. */
     private static final StackTraceElement[] EMPTY_STACK_TRACE = new StackTraceElement[0];
@@ -416,15 +420,15 @@
         String usePrecompiledLayout = null;
         try {
             usePrecompiledLayout = DeviceConfig.getProperty(
-                    DeviceConfig.Runtime.NAMESPACE,
-                    DeviceConfig.Runtime.USE_PRECOMPILED_LAYOUT);
+                    DeviceConfig.NAMESPACE_RUNTIME,
+                    USE_PRECOMPILED_LAYOUT);
         } catch (Exception e) {
           // May be caused by permission errors reading the property (i.e. instant apps).
         }
         boolean enabled = false;
         if (TextUtils.isEmpty(usePrecompiledLayout)) {
             enabled = SystemProperties.getBoolean(
-                    DeviceConfig.Runtime.USE_PRECOMPILED_LAYOUT,
+                    USE_PRECOMPILED_LAYOUT,
                     false);
         } else {
             enabled = Boolean.parseBoolean(usePrecompiledLayout);
@@ -714,7 +718,8 @@
                 ie.setStackTrace(EMPTY_STACK_TRACE);
                 throw ie;
             } catch (Exception e) {
-                final InflateException ie = new InflateException(parser.getPositionDescription()
+                final InflateException ie = new InflateException(
+                        getParserStateDescription(inflaterContext, attrs)
                         + ": " + e.getMessage(), e);
                 ie.setStackTrace(EMPTY_STACK_TRACE);
                 throw ie;
@@ -730,6 +735,16 @@
         }
     }
 
+    private static String getParserStateDescription(Context context, AttributeSet attrs) {
+        int sourceResId = Resources.getAttributeSetSourceResId(attrs);
+        if (sourceResId == Resources.ID_NULL) {
+            return attrs.getPositionDescription();
+        } else {
+            return attrs.getPositionDescription() + " in "
+                    + context.getResources().getResourceName(sourceResId);
+        }
+    }
+
     private static final ClassLoader BOOT_CLASS_LOADER = LayoutInflater.class.getClassLoader();
 
     private final boolean verifyClassLoader(Constructor<? extends View> constructor) {
@@ -818,7 +833,7 @@
                 if (mFilter != null && clazz != null) {
                     boolean allowed = mFilter.onLoadClass(clazz);
                     if (!allowed) {
-                        failNotAllowed(name, prefix, attrs);
+                        failNotAllowed(name, prefix, viewContext, attrs);
                     }
                 }
                 constructor = clazz.getConstructor(mConstructorSignature);
@@ -837,10 +852,10 @@
                         boolean allowed = clazz != null && mFilter.onLoadClass(clazz);
                         mFilterMap.put(name, allowed);
                         if (!allowed) {
-                            failNotAllowed(name, prefix, attrs);
+                            failNotAllowed(name, prefix, viewContext, attrs);
                         }
                     } else if (allowedState.equals(Boolean.FALSE)) {
-                        failNotAllowed(name, prefix, attrs);
+                        failNotAllowed(name, prefix, viewContext, attrs);
                     }
                 }
             }
@@ -862,14 +877,16 @@
                 mConstructorArgs[0] = lastContext;
             }
         } catch (NoSuchMethodException e) {
-            final InflateException ie = new InflateException(attrs.getPositionDescription()
+            final InflateException ie = new InflateException(
+                    getParserStateDescription(viewContext, attrs)
                     + ": Error inflating class " + (prefix != null ? (prefix + name) : name), e);
             ie.setStackTrace(EMPTY_STACK_TRACE);
             throw ie;
 
         } catch (ClassCastException e) {
             // If loaded class is not a View subclass
-            final InflateException ie = new InflateException(attrs.getPositionDescription()
+            final InflateException ie = new InflateException(
+                    getParserStateDescription(viewContext, attrs)
                     + ": Class is not a View " + (prefix != null ? (prefix + name) : name), e);
             ie.setStackTrace(EMPTY_STACK_TRACE);
             throw ie;
@@ -878,7 +895,7 @@
             throw e;
         } catch (Exception e) {
             final InflateException ie = new InflateException(
-                    attrs.getPositionDescription() + ": Error inflating class "
+                    getParserStateDescription(viewContext, attrs) + ": Error inflating class "
                             + (clazz == null ? "<unknown>" : clazz.getName()), e);
             ie.setStackTrace(EMPTY_STACK_TRACE);
             throw ie;
@@ -890,8 +907,8 @@
     /**
      * Throw an exception because the specified class is not allowed to be inflated.
      */
-    private void failNotAllowed(String name, String prefix, AttributeSet attrs) {
-        throw new InflateException(attrs.getPositionDescription()
+    private void failNotAllowed(String name, String prefix, Context context, AttributeSet attrs) {
+        throw new InflateException(getParserStateDescription(context, attrs)
                 + ": Class not allowed to be inflated "+ (prefix != null ? (prefix + name) : name));
     }
 
@@ -1013,13 +1030,15 @@
             throw e;
 
         } catch (ClassNotFoundException e) {
-            final InflateException ie = new InflateException(attrs.getPositionDescription()
+            final InflateException ie = new InflateException(
+                    getParserStateDescription(context, attrs)
                     + ": Error inflating class " + name, e);
             ie.setStackTrace(EMPTY_STACK_TRACE);
             throw ie;
 
         } catch (Exception e) {
-            final InflateException ie = new InflateException(attrs.getPositionDescription()
+            final InflateException ie = new InflateException(
+                    getParserStateDescription(context, attrs)
                     + ": Error inflating class " + name, e);
             ie.setStackTrace(EMPTY_STACK_TRACE);
             throw ie;
@@ -1215,8 +1234,8 @@
                 }
 
                 if (type != XmlPullParser.START_TAG) {
-                    throw new InflateException(childParser.getPositionDescription() +
-                        ": No start tag found!");
+                    throw new InflateException(getParserStateDescription(context, childAttrs)
+                            + ": No start tag found!");
                 }
 
                 final String childName = childParser.getName();
diff --git a/core/java/android/view/NotificationHeaderView.java b/core/java/android/view/NotificationHeaderView.java
index f8d5014..b2f3f5e 100644
--- a/core/java/android/view/NotificationHeaderView.java
+++ b/core/java/android/view/NotificationHeaderView.java
@@ -67,6 +67,7 @@
     private boolean mExpanded;
     private boolean mShowExpandButtonAtEnd;
     private boolean mShowWorkBadgeAtEnd;
+    private int mHeaderTextMarginEnd;
     private Drawable mBackground;
     private boolean mEntireHeaderClickable;
     private boolean mExpandOnlyOnButton;
@@ -133,7 +134,8 @@
                 MeasureSpec.AT_MOST);
         int wrapContentHeightSpec = MeasureSpec.makeMeasureSpec(givenHeight,
                 MeasureSpec.AT_MOST);
-        int totalWidth = getPaddingStart() + getPaddingEnd();
+        int totalWidth = getPaddingStart();
+        int iconWidth = getPaddingEnd();
         for (int i = 0; i < getChildCount(); i++) {
             final View child = getChildAt(i);
             if (child.getVisibility() == GONE) {
@@ -146,10 +148,19 @@
             int childHeightSpec = getChildMeasureSpec(wrapContentHeightSpec,
                     lp.topMargin + lp.bottomMargin, lp.height);
             child.measure(childWidthSpec, childHeightSpec);
-            totalWidth += lp.leftMargin + lp.rightMargin + child.getMeasuredWidth();
+            if ((child == mExpandButton && mShowExpandButtonAtEnd)
+                    || child == mProfileBadge
+                    || child == mAppOps) {
+                iconWidth += lp.leftMargin + lp.rightMargin + child.getMeasuredWidth();
+            } else {
+                totalWidth += lp.leftMargin + lp.rightMargin + child.getMeasuredWidth();
+            }
         }
-        if (totalWidth > givenWidth) {
-            int overFlow = totalWidth - givenWidth;
+
+        // Ensure that there is at least enough space for the icons
+        int endMargin = Math.max(mHeaderTextMarginEnd, iconWidth);
+        if (totalWidth > givenWidth - endMargin) {
+            int overFlow = totalWidth - givenWidth + endMargin;
             // We are overflowing, lets shrink the app name first
             overFlow = shrinkViewForOverflow(wrapContentHeightSpec, overFlow, mAppName,
                     mChildMinWidth);
@@ -161,6 +172,7 @@
             shrinkViewForOverflow(wrapContentHeightSpec, overFlow, mSecondaryHeaderText,
                     0);
         }
+        totalWidth += getPaddingEnd();
         mTotalWidth = Math.min(totalWidth, givenWidth);
         setMeasuredDimension(givenWidth, givenHeight);
     }
@@ -383,6 +395,26 @@
         return mIcon;
     }
 
+    /**
+     * Sets the margin end for the text portion of the header, excluding right-aligned elements
+     * @param headerTextMarginEnd margin size
+     */
+    @RemotableViewMethod
+    public void setHeaderTextMarginEnd(int headerTextMarginEnd) {
+        if (mHeaderTextMarginEnd != headerTextMarginEnd) {
+            mHeaderTextMarginEnd = headerTextMarginEnd;
+            requestLayout();
+        }
+    }
+
+    /**
+     * Get the current margin end value for the header text
+     * @return margin size
+     */
+    public int getHeaderTextMarginEnd() {
+        return mHeaderTextMarginEnd;
+    }
+
     public class HeaderTouchListener implements View.OnTouchListener {
 
         private final ArrayList<Rect> mTouchRects = new ArrayList<>();
diff --git a/core/java/android/view/Surface.java b/core/java/android/view/Surface.java
index 6ff699e..cb64ab1 100644
--- a/core/java/android/view/Surface.java
+++ b/core/java/android/view/Surface.java
@@ -17,6 +17,7 @@
 package android.view;
 
 import android.annotation.IntDef;
+import android.annotation.NonNull;
 import android.annotation.UnsupportedAppUsage;
 import android.content.res.CompatibilityInfo.Translator;
 import android.graphics.Canvas;
@@ -193,7 +194,7 @@
      *
      * @param from The SurfaceControl to assosciate this Surface with
      */
-    public Surface(SurfaceControl from) {
+    public Surface(@NonNull SurfaceControl from) {
         copyFrom(from);
     }
 
diff --git a/core/java/android/view/SurfaceControl.java b/core/java/android/view/SurfaceControl.java
index 54e70ea..cd075bf 100644
--- a/core/java/android/view/SurfaceControl.java
+++ b/core/java/android/view/SurfaceControl.java
@@ -63,6 +63,7 @@
 import java.io.Closeable;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
+import java.util.Objects;
 
 /**
  * Handle to an on-screen Surface managed by the system compositor. The SurfaceControl is
@@ -117,6 +118,8 @@
             float dtdy, float dsdy);
     private static native void nativeSetColorTransform(long transactionObj, long nativeObject,
             float[] matrix, float[] translation);
+    private static native void nativeSetColorSpaceAgnostic(long transactionObj, long nativeObject,
+            boolean agnostic);
     private static native void nativeSetGeometry(long transactionObj, long nativeObject,
             Rect sourceCrop, Rect dest, long orientation);
     private static native void nativeSetColor(long transactionObj, long nativeObject, float[] color);
@@ -194,6 +197,9 @@
     private static native boolean nativeGetProtectedContentSupport();
     private static native void nativeSetMetadata(long transactionObj, int key, Parcel data);
     private static native void nativeSyncInputWindows(long transactionObj);
+    private static native boolean nativeGetDisplayBrightnessSupport(IBinder displayToken);
+    private static native boolean nativeSetDisplayBrightness(IBinder displayToken,
+            float brightness);
 
     private final CloseGuard mCloseGuard = CloseGuard.get();
     private String mName;
@@ -457,6 +463,7 @@
          * Construct a new {@link SurfaceControl} with the set parameters. The builder
          * remains valid.
          */
+        @NonNull
         public SurfaceControl build() {
             if (mWidth < 0 || mHeight < 0) {
                 throw new IllegalArgumentException(
@@ -475,7 +482,8 @@
          *
          * @param name A name to identify the Surface in debugging.
          */
-        public Builder setName(String name) {
+        @NonNull
+        public Builder setName(@NonNull String name) {
             mName = name;
             return this;
         }
@@ -486,6 +494,7 @@
          * @param width The buffer width in pixels.
          * @param height The buffer height in pixels.
          */
+        @NonNull
         public Builder setBufferSize(@IntRange(from = 0) int width,
                 @IntRange(from = 0) int height) {
             if (width < 0 || height < 0) {
@@ -1207,6 +1216,19 @@
     }
 
     /**
+     * Sets the Surface to be color space agnostic. If a surface is color space agnostic,
+     * the color can be interpreted in any color space.
+     * @param agnostic A boolean to indicate whether the surface is color space agnostic
+     * @hide
+     */
+    public void setColorSpaceAgnostic(boolean agnostic) {
+        checkNotReleased();
+        synchronized (SurfaceControl.class) {
+            sGlobalTransaction.setColorSpaceAgnostic(this, agnostic);
+        }
+    }
+
+    /**
      * Bounds the surface and its children to the bounds specified. Size of the surface will be
      * ignored and only the crop and buffer size will be used to determine the bounds of the
      * surface. If no crop is specified and the surface has no buffer, the surface bounds is only
@@ -1943,6 +1965,47 @@
     }
 
     /**
+     * Returns whether brightness operations are supported on a display.
+     *
+     * @param displayToken
+     *      The token for the display.
+     *
+     * @return Whether brightness operations are supported on the display.
+     *
+     * @hide
+     */
+    public static boolean getDisplayBrightnessSupport(IBinder displayToken) {
+        return nativeGetDisplayBrightnessSupport(displayToken);
+    }
+
+    /**
+     * Sets the brightness of a display.
+     *
+     * @param displayToken
+     *      The token for the display whose brightness is set.
+     * @param brightness
+     *      A number between 0.0f (minimum brightness) and 1.0f (maximum brightness), or -1.0f to
+     *      turn the backlight off.
+     *
+     * @return Whether the method succeeded or not.
+     *
+     * @throws IllegalArgumentException if:
+     *      - displayToken is null;
+     *      - brightness is NaN or greater than 1.0f.
+     *
+     * @hide
+     */
+    public static boolean setDisplayBrightness(IBinder displayToken, float brightness) {
+        Objects.requireNonNull(displayToken);
+        if (Float.isNaN(brightness) || brightness > 1.0f
+                || (brightness < 0.0f && brightness != -1.0f)) {
+            throw new IllegalArgumentException("brightness must be a number between 0.0f and 1.0f,"
+                    + " or -1 to turn the backlight off.");
+        }
+        return nativeSetDisplayBrightness(displayToken, brightness);
+    }
+
+    /**
      * An atomic set of changes to a set of SurfaceControl.
      */
     public static class Transaction implements Closeable {
@@ -2227,6 +2290,18 @@
         }
 
         /**
+         * Sets the Surface to be color space agnostic. If a surface is color space agnostic,
+         * the color can be interpreted in any color space.
+         * @param agnostic A boolean to indicate whether the surface is color space agnostic
+         * @hide
+         */
+        public Transaction setColorSpaceAgnostic(SurfaceControl sc, boolean agnostic) {
+            sc.checkNotReleased();
+            nativeSetColorSpaceAgnostic(mNativeObject, sc.mNativeObject, agnostic);
+            return this;
+        }
+
+        /**
          * @hide
          */
         @UnsupportedAppUsage
diff --git a/core/java/android/view/View.java b/core/java/android/view/View.java
index 874be81..ab2cc66 100644
--- a/core/java/android/view/View.java
+++ b/core/java/android/view/View.java
@@ -17,6 +17,10 @@
 package android.view;
 
 import static android.content.res.Resources.ID_NULL;
+import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__DEEP_PRESS;
+import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__LONG_PRESS;
+import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__SINGLE_TAP;
+import static android.util.StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__UNKNOWN_CLASSIFICATION;
 import static android.view.ViewRootImpl.NEW_INSETS_MODE_FULL;
 import static android.view.accessibility.AccessibilityEvent.CONTENT_CHANGE_TYPE_UNDEFINED;
 
@@ -96,6 +100,7 @@
 import android.util.SparseArray;
 import android.util.SparseIntArray;
 import android.util.StateSet;
+import android.util.StatsLog;
 import android.util.SuperNotCalledException;
 import android.util.TypedValue;
 import android.view.AccessibilityIterators.CharacterTextSegmentIterator;
@@ -125,8 +130,8 @@
 import android.view.inputmethod.InputConnection;
 import android.view.inputmethod.InputMethodManager;
 import android.view.inspector.InspectableProperty;
-import android.view.inspector.InspectableProperty.EnumMap;
-import android.view.inspector.InspectableProperty.FlagMap;
+import android.view.inspector.InspectableProperty.EnumEntry;
+import android.view.inspector.InspectableProperty.FlagEntry;
 import android.widget.Checkable;
 import android.widget.FrameLayout;
 import android.widget.ScrollBarDrawable;
@@ -5803,6 +5808,11 @@
                         setImportantForAutofill(a.getInt(attr, IMPORTANT_FOR_AUTOFILL_AUTO));
                     }
                     break;
+                case R.styleable.View_importantForContentCapture:
+                    if (a.peekValue(attr) != null) {
+                        setImportantForContentCapture(a.getInt(attr,
+                                IMPORTANT_FOR_CONTENT_CAPTURE_AUTO));
+                    }
                 case R.styleable.View_defaultFocusHighlightEnabled:
                     if (a.peekValue(attr) != null) {
                         setDefaultFocusHighlightEnabled(a.getBoolean(attr, true));
@@ -5969,20 +5979,28 @@
      * this {@link View}.
      */
     @NonNull
-    public List<Integer> getAttributeResolutionStack(@AttrRes int attribute) {
-        ArrayList<Integer> stack = new ArrayList<>();
-        if (!sDebugViewAttributes || mAttributeResolutionStacks == null) {
-            return stack;
-        }
-        if (mSourceLayoutId != ID_NULL) {
-            stack.add(mSourceLayoutId);
+    public int[] getAttributeResolutionStack(@AttrRes int attribute) {
+        if (!sDebugViewAttributes
+                || mAttributeResolutionStacks == null
+                || mAttributeResolutionStacks.get(attribute) == null) {
+            return new int[0];
         }
         int[] attributeResolutionStack = mAttributeResolutionStacks.get(attribute);
-        if (attributeResolutionStack == null) {
-            return stack;
+        int stackSize = attributeResolutionStack.length;
+        if (mSourceLayoutId != ID_NULL) {
+            stackSize++;
+        }
+
+        int currentIndex = 0;
+        int[] stack = new int[stackSize];
+
+        if (mSourceLayoutId != ID_NULL) {
+            stack[currentIndex] = mSourceLayoutId;
+            currentIndex++;
         }
         for (int i = 0; i < attributeResolutionStack.length; i++) {
-            stack.add(attributeResolutionStack[i]);
+            stack[currentIndex] = attributeResolutionStack[i];
+            currentIndex++;
         }
         return stack;
     }
@@ -6133,7 +6151,9 @@
 
     /**
      * Stores debugging information about attributes. This should be called in a constructor by
-     * every custom {@link View} that uses a custom styleable.
+     * every custom {@link View} that uses a custom styleable. If the custom view does not call it,
+     * then the custom attributes used by this view will not be visible in layout inspection tools.
+     *
      *  @param context Context under which this view is created.
      * @param styleable A reference to styleable array R.styleable.Foo
      * @param attrs AttributeSet used to construct this view.
@@ -6882,13 +6902,13 @@
      * @return a bitmask representing the enabled scroll indicators
      */
     @InspectableProperty(flagMapping = {
-            @FlagMap(target = SCROLL_INDICATORS_NONE, mask = 0xffff_ffff, name = "none"),
-            @FlagMap(target = SCROLL_INDICATOR_TOP, name = "top"),
-            @FlagMap(target = SCROLL_INDICATOR_BOTTOM, name = "bottom"),
-            @FlagMap(target = SCROLL_INDICATOR_LEFT, name = "left"),
-            @FlagMap(target = SCROLL_INDICATOR_RIGHT, name = "right"),
-            @FlagMap(target = SCROLL_INDICATOR_START, name = "start"),
-            @FlagMap(target = SCROLL_INDICATOR_END, name = "end")
+            @FlagEntry(target = SCROLL_INDICATORS_NONE, mask = 0xffff_ffff, name = "none"),
+            @FlagEntry(target = SCROLL_INDICATOR_TOP, name = "top"),
+            @FlagEntry(target = SCROLL_INDICATOR_BOTTOM, name = "bottom"),
+            @FlagEntry(target = SCROLL_INDICATOR_LEFT, name = "left"),
+            @FlagEntry(target = SCROLL_INDICATOR_RIGHT, name = "right"),
+            @FlagEntry(target = SCROLL_INDICATOR_START, name = "start"),
+            @FlagEntry(target = SCROLL_INDICATOR_END, name = "end")
     })
     @ScrollIndicators
     public int getScrollIndicators() {
@@ -9017,12 +9037,12 @@
             @ViewDebug.IntToString(from = IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS,
                 to = "noExcludeDescendants")})
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = IMPORTANT_FOR_AUTOFILL_AUTO, name = "auto"),
-            @EnumMap(value = IMPORTANT_FOR_AUTOFILL_YES, name = "yes"),
-            @EnumMap(value = IMPORTANT_FOR_AUTOFILL_NO, name = "no"),
-            @EnumMap(value = IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS,
+            @EnumEntry(value = IMPORTANT_FOR_AUTOFILL_AUTO, name = "auto"),
+            @EnumEntry(value = IMPORTANT_FOR_AUTOFILL_YES, name = "yes"),
+            @EnumEntry(value = IMPORTANT_FOR_AUTOFILL_NO, name = "no"),
+            @EnumEntry(value = IMPORTANT_FOR_AUTOFILL_YES_EXCLUDE_DESCENDANTS,
                     name = "yesExcludeDescendants"),
-            @EnumMap(value = IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS,
+            @EnumEntry(value = IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS,
                     name = "noExcludeDescendants"),
     })
     public @AutofillImportance int getImportantForAutofill() {
@@ -9210,12 +9230,12 @@
             @ViewDebug.IntToString(from = IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS,
                 to = "noExcludeDescendants")})
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, name = "auto"),
-            @EnumMap(value = IMPORTANT_FOR_CONTENT_CAPTURE_YES, name = "yes"),
-            @EnumMap(value = IMPORTANT_FOR_CONTENT_CAPTURE_NO, name = "no"),
-            @EnumMap(value = IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS,
+            @EnumEntry(value = IMPORTANT_FOR_CONTENT_CAPTURE_AUTO, name = "auto"),
+            @EnumEntry(value = IMPORTANT_FOR_CONTENT_CAPTURE_YES, name = "yes"),
+            @EnumEntry(value = IMPORTANT_FOR_CONTENT_CAPTURE_NO, name = "no"),
+            @EnumEntry(value = IMPORTANT_FOR_CONTENT_CAPTURE_YES_EXCLUDE_DESCENDANTS,
                     name = "yesExcludeDescendants"),
-            @EnumMap(value = IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS,
+            @EnumEntry(value = IMPORTANT_FOR_CONTENT_CAPTURE_NO_EXCLUDE_DESCENDANTS,
                     name = "noExcludeDescendants"),
     })
     public @ContentCaptureImportance int getImportantForContentCapture() {
@@ -9530,8 +9550,7 @@
             // View is not important for "regular" autofill, so we must check if Augmented Autofill
             // is enabled for the activity
             final AutofillOptions options = mContext.getAutofillOptions();
-            if (options == null || !options.augmentedEnabled) {
-                // TODO(b/123100824): should also check if activity is whitelisted
+            if (options == null || !options.isAugmentedAutofillEnabled(mContext)) {
                 return false;
             }
             final AutofillManager afm = getAutofillManager();
@@ -10297,7 +10316,7 @@
      * @see #setImportantForAccessibility(int)
      */
     @RemotableViewMethod
-    public void setAccessibilityTraversalBefore(int beforeId) {
+    public void setAccessibilityTraversalBefore(@IdRes int beforeId) {
         if (mAccessibilityTraversalBeforeId == beforeId) {
             return;
         }
@@ -10314,6 +10333,7 @@
      *
      * @see #setAccessibilityTraversalBefore(int)
      */
+    @IdRes
     @InspectableProperty
     public int getAccessibilityTraversalBefore() {
         return mAccessibilityTraversalBeforeId;
@@ -10342,7 +10362,7 @@
      * @see #setImportantForAccessibility(int)
      */
     @RemotableViewMethod
-    public void setAccessibilityTraversalAfter(int afterId) {
+    public void setAccessibilityTraversalAfter(@IdRes int afterId) {
         if (mAccessibilityTraversalAfterId == afterId) {
             return;
         }
@@ -10359,6 +10379,7 @@
      *
      * @see #setAccessibilityTraversalAfter(int)
      */
+    @IdRes
     @InspectableProperty
     public int getAccessibilityTraversalAfter() {
         return mAccessibilityTraversalAfterId;
@@ -10370,6 +10391,7 @@
      *
      * @return The labeled view id.
      */
+    @IdRes
     @ViewDebug.ExportedProperty(category = "accessibility")
     @InspectableProperty
     public int getLabelFor() {
@@ -10517,9 +10539,9 @@
     @Deprecated
     @DrawingCacheQuality
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = DRAWING_CACHE_QUALITY_LOW, name = "low"),
-            @EnumMap(value = DRAWING_CACHE_QUALITY_HIGH, name = "high"),
-            @EnumMap(value = DRAWING_CACHE_QUALITY_AUTO, name = "auto")
+            @EnumEntry(value = DRAWING_CACHE_QUALITY_LOW, name = "low"),
+            @EnumEntry(value = DRAWING_CACHE_QUALITY_HIGH, name = "high"),
+            @EnumEntry(value = DRAWING_CACHE_QUALITY_AUTO, name = "auto")
     })
     public int getDrawingCacheQuality() {
         return mViewFlags & DRAWING_CACHE_QUALITY_MASK;
@@ -10591,6 +10613,7 @@
      *
      * @attr ref android.R.styleable#View_nextFocusLeft
      */
+    @IdRes
     @InspectableProperty(name = "nextFocusLeft")
     public int getNextFocusLeftId() {
         return mNextFocusLeftId;
@@ -10603,7 +10626,7 @@
      *
      * @attr ref android.R.styleable#View_nextFocusLeft
      */
-    public void setNextFocusLeftId(int nextFocusLeftId) {
+    public void setNextFocusLeftId(@IdRes int nextFocusLeftId) {
         mNextFocusLeftId = nextFocusLeftId;
     }
 
@@ -10613,6 +10636,7 @@
      *
      * @attr ref android.R.styleable#View_nextFocusRight
      */
+    @IdRes
     @InspectableProperty(name = "nextFocusRight")
     public int getNextFocusRightId() {
         return mNextFocusRightId;
@@ -10625,7 +10649,7 @@
      *
      * @attr ref android.R.styleable#View_nextFocusRight
      */
-    public void setNextFocusRightId(int nextFocusRightId) {
+    public void setNextFocusRightId(@IdRes int nextFocusRightId) {
         mNextFocusRightId = nextFocusRightId;
     }
 
@@ -10635,6 +10659,7 @@
      *
      * @attr ref android.R.styleable#View_nextFocusUp
      */
+    @IdRes
     @InspectableProperty(name = "nextFocusUp")
     public int getNextFocusUpId() {
         return mNextFocusUpId;
@@ -10647,7 +10672,7 @@
      *
      * @attr ref android.R.styleable#View_nextFocusUp
      */
-    public void setNextFocusUpId(int nextFocusUpId) {
+    public void setNextFocusUpId(@IdRes int nextFocusUpId) {
         mNextFocusUpId = nextFocusUpId;
     }
 
@@ -10657,6 +10682,7 @@
      *
      * @attr ref android.R.styleable#View_nextFocusDown
      */
+    @IdRes
     @InspectableProperty(name = "nextFocusDown")
     public int getNextFocusDownId() {
         return mNextFocusDownId;
@@ -10669,7 +10695,7 @@
      *
      * @attr ref android.R.styleable#View_nextFocusDown
      */
-    public void setNextFocusDownId(int nextFocusDownId) {
+    public void setNextFocusDownId(@IdRes int nextFocusDownId) {
         mNextFocusDownId = nextFocusDownId;
     }
 
@@ -10679,6 +10705,7 @@
      *
      * @attr ref android.R.styleable#View_nextFocusForward
      */
+    @IdRes
     @InspectableProperty(name = "nextFocusForward")
     public int getNextFocusForwardId() {
         return mNextFocusForwardId;
@@ -10691,7 +10718,7 @@
      *
      * @attr ref android.R.styleable#View_nextFocusForward
      */
-    public void setNextFocusForwardId(int nextFocusForwardId) {
+    public void setNextFocusForwardId(@IdRes int nextFocusForwardId) {
         mNextFocusForwardId = nextFocusForwardId;
     }
 
@@ -10702,6 +10729,7 @@
      *
      * @attr ref android.R.styleable#View_nextClusterForward
      */
+    @IdRes
     @InspectableProperty(name = "nextClusterForward")
     public int getNextClusterForwardId() {
         return mNextClusterForwardId;
@@ -10714,7 +10742,7 @@
      *
      * @attr ref android.R.styleable#View_nextClusterForward
      */
-    public void setNextClusterForwardId(int nextClusterForwardId) {
+    public void setNextClusterForwardId(@IdRes int nextClusterForwardId) {
         mNextClusterForwardId = nextClusterForwardId;
     }
 
@@ -11253,9 +11281,9 @@
         @ViewDebug.IntToString(from = GONE,      to = "GONE")
     })
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = VISIBLE, name = "visible"),
-            @EnumMap(value = INVISIBLE, name = "invisible"),
-            @EnumMap(value = GONE, name = "gone")
+            @EnumEntry(value = VISIBLE, name = "visible"),
+            @EnumEntry(value = INVISIBLE, name = "invisible"),
+            @EnumEntry(value = GONE, name = "gone")
     })
     @Visibility
     public int getVisibility() {
@@ -11504,10 +11532,10 @@
         @ViewDebug.IntToString(from = LAYOUT_DIRECTION_LOCALE,  to = "LOCALE")
     })
     @InspectableProperty(hasAttributeId = false, enumMapping = {
-            @EnumMap(value = LAYOUT_DIRECTION_LTR, name = "ltr"),
-            @EnumMap(value = LAYOUT_DIRECTION_RTL, name = "rtl"),
-            @EnumMap(value = LAYOUT_DIRECTION_INHERIT, name = "inherit"),
-            @EnumMap(value = LAYOUT_DIRECTION_LOCALE, name = "locale")
+            @EnumEntry(value = LAYOUT_DIRECTION_LTR, name = "ltr"),
+            @EnumEntry(value = LAYOUT_DIRECTION_RTL, name = "rtl"),
+            @EnumEntry(value = LAYOUT_DIRECTION_INHERIT, name = "inherit"),
+            @EnumEntry(value = LAYOUT_DIRECTION_LOCALE, name = "locale")
     })
     @LayoutDir
     public int getRawLayoutDirection() {
@@ -11563,8 +11591,8 @@
         @ViewDebug.IntToString(from = LAYOUT_DIRECTION_RTL, to = "RESOLVED_DIRECTION_RTL")
     })
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = LAYOUT_DIRECTION_LTR, name = "ltr"),
-            @EnumMap(value = LAYOUT_DIRECTION_RTL, name = "rtl")
+            @EnumEntry(value = LAYOUT_DIRECTION_LTR, name = "ltr"),
+            @EnumEntry(value = LAYOUT_DIRECTION_RTL, name = "rtl")
     })
     @ResolvedLayoutDir
     public int getLayoutDirection() {
@@ -12049,9 +12077,9 @@
             @ViewDebug.IntToString(from = FOCUSABLE_AUTO, to = "FOCUSABLE_AUTO")
             }, category = "focus")
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = NOT_FOCUSABLE, name = "false"),
-            @EnumMap(value = FOCUSABLE, name = "true"),
-            @EnumMap(value = FOCUSABLE_AUTO, name = "auto")
+            @EnumEntry(value = NOT_FOCUSABLE, name = "false"),
+            @EnumEntry(value = FOCUSABLE, name = "true"),
+            @EnumEntry(value = FOCUSABLE_AUTO, name = "auto")
     })
     @Focusable
     public int getFocusable() {
@@ -12934,10 +12962,10 @@
                     to = "noHideDescendants")
         })
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = IMPORTANT_FOR_ACCESSIBILITY_AUTO, name = "auto"),
-            @EnumMap(value = IMPORTANT_FOR_ACCESSIBILITY_YES, name = "yes"),
-            @EnumMap(value = IMPORTANT_FOR_ACCESSIBILITY_NO, name = "no"),
-            @EnumMap(value = IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS,
+            @EnumEntry(value = IMPORTANT_FOR_ACCESSIBILITY_AUTO, name = "auto"),
+            @EnumEntry(value = IMPORTANT_FOR_ACCESSIBILITY_YES, name = "yes"),
+            @EnumEntry(value = IMPORTANT_FOR_ACCESSIBILITY_NO, name = "no"),
+            @EnumEntry(value = IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS,
                     name = "noHideDescendants"),
     })
     public int getImportantForAccessibility() {
@@ -12993,9 +13021,9 @@
      * @see #setAccessibilityLiveRegion(int)
      */
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = ACCESSIBILITY_LIVE_REGION_NONE, name = "none"),
-            @EnumMap(value = ACCESSIBILITY_LIVE_REGION_POLITE, name = "polite"),
-            @EnumMap(value = ACCESSIBILITY_LIVE_REGION_ASSERTIVE, name = "assertive")
+            @EnumEntry(value = ACCESSIBILITY_LIVE_REGION_NONE, name = "none"),
+            @EnumEntry(value = ACCESSIBILITY_LIVE_REGION_POLITE, name = "polite"),
+            @EnumEntry(value = ACCESSIBILITY_LIVE_REGION_ASSERTIVE, name = "assertive")
     })
     public int getAccessibilityLiveRegion() {
         return (mPrivateFlags2 & PFLAG2_ACCESSIBILITY_LIVE_REGION_MASK)
@@ -14519,7 +14547,12 @@
                     if (clickable) {
                         setPressed(true, x, y);
                     }
-                    checkForLongClick(ViewConfiguration.getLongPressTimeout(), x, y);
+                    checkForLongClick(
+                            ViewConfiguration.getLongPressTimeout(),
+                            x,
+                            y,
+                            // This is not a touch gesture -- do not classify it as one.
+                            TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__UNKNOWN_CLASSIFICATION);
                     return true;
                 }
             }
@@ -15260,7 +15293,11 @@
                     mHasPerformedLongPress = false;
 
                     if (!clickable) {
-                        checkForLongClick(ViewConfiguration.getLongPressTimeout(), x, y);
+                        checkForLongClick(
+                                ViewConfiguration.getLongPressTimeout(),
+                                x,
+                                y,
+                                TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__LONG_PRESS);
                         break;
                     }
 
@@ -15284,7 +15321,11 @@
                     } else {
                         // Not inside a scrolling container, so show the feedback right away
                         setPressed(true, x, y);
-                        checkForLongClick(ViewConfiguration.getLongPressTimeout(), x, y);
+                        checkForLongClick(
+                                ViewConfiguration.getLongPressTimeout(),
+                                x,
+                                y,
+                                TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__LONG_PRESS);
                     }
                     break;
 
@@ -15321,7 +15362,11 @@
                                     * ambiguousMultiplier);
                             // Subtract the time already spent
                             delay -= event.getEventTime() - event.getDownTime();
-                            checkForLongClick(delay, x, y);
+                            checkForLongClick(
+                                    delay,
+                                    x,
+                                    y,
+                                    TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__LONG_PRESS);
                         }
                         touchSlop *= ambiguousMultiplier;
                     }
@@ -15343,7 +15388,11 @@
                     if (deepPress && hasPendingLongPressCallback()) {
                         // process the long click action immediately
                         removeLongPressCallback();
-                        checkForLongClick(0 /* send immediately */, x, y);
+                        checkForLongClick(
+                                0 /* send immediately */,
+                                x,
+                                y,
+                                TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__DEEP_PRESS);
                     }
 
                     break;
@@ -17174,6 +17223,7 @@
      * and {@link #setTranslationY(float)} (float)}} instead.
      *
      * @param matrix The matrix, null indicates that the matrix should be cleared.
+     * @see #getAnimationMatrix()
      */
     public void setAnimationMatrix(@Nullable Matrix matrix) {
         invalidateViewProperty(true, false);
@@ -17184,6 +17234,22 @@
     }
 
     /**
+     * Return the current transformation matrix of the view. This is used in animation frameworks,
+     * such as {@link android.transition.Transition}. Returns <code>null</code> when there is no
+     * transformation provided by {@link #setAnimationMatrix(Matrix)}.
+     * Application developers should use transformation methods like {@link #setRotation(float)},
+     * {@link #setScaleX(float)}, {@link #setScaleX(float)}, {@link #setTranslationX(float)}}
+     * and {@link #setTranslationY(float)} (float)}} instead.
+     *
+     * @return the Matrix, null indicates there is no transformation
+     * @see #setAnimationMatrix(Matrix)
+     */
+    @Nullable
+    public Matrix getAnimationMatrix() {
+        return mRenderNode.getAnimationMatrix();
+    }
+
+    /**
      * Returns the current StateListAnimator if exists.
      *
      * @return StateListAnimator or null if it does not exists
@@ -18585,9 +18651,9 @@
      * @hide
      */
     @InspectableProperty(name = "requiresFadingEdge", flagMapping = {
-            @FlagMap(target = FADING_EDGE_NONE, mask = FADING_EDGE_MASK, name = "none"),
-            @FlagMap(target = FADING_EDGE_VERTICAL, name = "vertical"),
-            @FlagMap(target = FADING_EDGE_HORIZONTAL, name = "horizontal")
+            @FlagEntry(target = FADING_EDGE_NONE, mask = FADING_EDGE_MASK, name = "none"),
+            @FlagEntry(target = FADING_EDGE_VERTICAL, name = "vertical"),
+            @FlagEntry(target = FADING_EDGE_HORIZONTAL, name = "horizontal")
     })
     public int getFadingEdge() {
         return mViewFlags & FADING_EDGE_MASK;
@@ -18882,10 +18948,10 @@
             @ViewDebug.IntToString(from = SCROLLBARS_OUTSIDE_INSET, to = "OUTSIDE_INSET")
     })
     @InspectableProperty(name = "scrollbarStyle", enumMapping = {
-            @EnumMap(value = SCROLLBARS_INSIDE_OVERLAY, name = "insideOverlay"),
-            @EnumMap(value = SCROLLBARS_INSIDE_INSET, name = "insideInset"),
-            @EnumMap(value = SCROLLBARS_OUTSIDE_OVERLAY, name = "outsideOverlay"),
-            @EnumMap(value = SCROLLBARS_OUTSIDE_INSET, name = "outsideInset")
+            @EnumEntry(value = SCROLLBARS_INSIDE_OVERLAY, name = "insideOverlay"),
+            @EnumEntry(value = SCROLLBARS_INSIDE_INSET, name = "insideInset"),
+            @EnumEntry(value = SCROLLBARS_OUTSIDE_OVERLAY, name = "outsideOverlay"),
+            @EnumEntry(value = SCROLLBARS_OUTSIDE_INSET, name = "outsideInset")
     })
     @ScrollBarStyle
     public int getScrollBarStyle() {
@@ -20438,9 +20504,9 @@
      * @see #LAYER_TYPE_HARDWARE
      */
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = LAYER_TYPE_NONE, name = "none"),
-            @EnumMap(value = LAYER_TYPE_SOFTWARE, name = "software"),
-            @EnumMap(value = LAYER_TYPE_HARDWARE, name = "hardware")
+            @EnumEntry(value = LAYER_TYPE_NONE, name = "none"),
+            @EnumEntry(value = LAYER_TYPE_SOFTWARE, name = "software"),
+            @EnumEntry(value = LAYER_TYPE_HARDWARE, name = "hardware")
     })
     @LayerType
     public int getLayerType() {
@@ -24093,7 +24159,7 @@
      *
      * @param matrix input matrix to modify
      */
-    public void transformMatrixToGlobal(Matrix matrix) {
+    public void transformMatrixToGlobal(@NonNull Matrix matrix) {
         final ViewParent parent = mParent;
         if (parent instanceof View) {
             final View vp = (View) parent;
@@ -24118,7 +24184,7 @@
      *
      * @param matrix input matrix to modify
      */
-    public void transformMatrixToLocal(Matrix matrix) {
+    public void transformMatrixToLocal(@NonNull Matrix matrix) {
         final ViewParent parent = mParent;
         if (parent instanceof View) {
             final View vp = (View) parent;
@@ -25991,7 +26057,7 @@
         }
     }
 
-    private void checkForLongClick(long delay, float x, float y) {
+    private void checkForLongClick(long delay, float x, float y, int classification) {
         if ((mViewFlags & LONG_CLICKABLE) == LONG_CLICKABLE || (mViewFlags & TOOLTIP) == TOOLTIP) {
             mHasPerformedLongPress = false;
 
@@ -26001,6 +26067,7 @@
             mPendingCheckForLongPress.setAnchor(x, y);
             mPendingCheckForLongPress.rememberWindowAttachCount();
             mPendingCheckForLongPress.rememberPressedState();
+            mPendingCheckForLongPress.setClassification(classification);
             postDelayed(mPendingCheckForLongPress, delay);
         }
     }
@@ -26120,9 +26187,9 @@
      * @return This view's over-scroll mode.
      */
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = OVER_SCROLL_ALWAYS, name = "always"),
-            @EnumMap(value = OVER_SCROLL_IF_CONTENT_SCROLLS, name = "ifContentScrolls"),
-            @EnumMap(value = OVER_SCROLL_NEVER, name = "never")
+            @EnumEntry(value = OVER_SCROLL_ALWAYS, name = "always"),
+            @EnumEntry(value = OVER_SCROLL_IF_CONTENT_SCROLLS, name = "ifContentScrolls"),
+            @EnumEntry(value = OVER_SCROLL_NEVER, name = "never")
     })
     public int getOverScrollMode() {
         return mOverScrollMode;
@@ -26513,14 +26580,14 @@
             @ViewDebug.IntToString(from = TEXT_DIRECTION_FIRST_STRONG_RTL, to = "FIRST_STRONG_RTL")
     })
     @InspectableProperty(hasAttributeId = false, enumMapping = {
-            @EnumMap(value = TEXT_DIRECTION_INHERIT, name = "inherit"),
-            @EnumMap(value = TEXT_DIRECTION_LOCALE, name = "locale"),
-            @EnumMap(value = TEXT_DIRECTION_ANY_RTL, name = "anyRtl"),
-            @EnumMap(value = TEXT_DIRECTION_LTR, name = "ltr"),
-            @EnumMap(value = TEXT_DIRECTION_RTL, name = "rtl"),
-            @EnumMap(value = TEXT_DIRECTION_FIRST_STRONG, name = "firstStrong"),
-            @EnumMap(value = TEXT_DIRECTION_FIRST_STRONG_LTR, name = "firstStrongLtr"),
-            @EnumMap(value = TEXT_DIRECTION_FIRST_STRONG_RTL, name = "firstStrongRtl"),
+            @EnumEntry(value = TEXT_DIRECTION_INHERIT, name = "inherit"),
+            @EnumEntry(value = TEXT_DIRECTION_LOCALE, name = "locale"),
+            @EnumEntry(value = TEXT_DIRECTION_ANY_RTL, name = "anyRtl"),
+            @EnumEntry(value = TEXT_DIRECTION_LTR, name = "ltr"),
+            @EnumEntry(value = TEXT_DIRECTION_RTL, name = "rtl"),
+            @EnumEntry(value = TEXT_DIRECTION_FIRST_STRONG, name = "firstStrong"),
+            @EnumEntry(value = TEXT_DIRECTION_FIRST_STRONG_LTR, name = "firstStrongLtr"),
+            @EnumEntry(value = TEXT_DIRECTION_FIRST_STRONG_RTL, name = "firstStrongRtl"),
     })
     @UnsupportedAppUsage
     public int getRawTextDirection() {
@@ -26590,13 +26657,13 @@
             @ViewDebug.IntToString(from = TEXT_DIRECTION_FIRST_STRONG_RTL, to = "FIRST_STRONG_RTL")
     })
     @InspectableProperty(hasAttributeId = false, enumMapping = {
-            @EnumMap(value = TEXT_DIRECTION_LOCALE, name = "locale"),
-            @EnumMap(value = TEXT_DIRECTION_ANY_RTL, name = "anyRtl"),
-            @EnumMap(value = TEXT_DIRECTION_LTR, name = "ltr"),
-            @EnumMap(value = TEXT_DIRECTION_RTL, name = "rtl"),
-            @EnumMap(value = TEXT_DIRECTION_FIRST_STRONG, name = "firstStrong"),
-            @EnumMap(value = TEXT_DIRECTION_FIRST_STRONG_LTR, name = "firstStrongLtr"),
-            @EnumMap(value = TEXT_DIRECTION_FIRST_STRONG_RTL, name = "firstStrongRtl"),
+            @EnumEntry(value = TEXT_DIRECTION_LOCALE, name = "locale"),
+            @EnumEntry(value = TEXT_DIRECTION_ANY_RTL, name = "anyRtl"),
+            @EnumEntry(value = TEXT_DIRECTION_LTR, name = "ltr"),
+            @EnumEntry(value = TEXT_DIRECTION_RTL, name = "rtl"),
+            @EnumEntry(value = TEXT_DIRECTION_FIRST_STRONG, name = "firstStrong"),
+            @EnumEntry(value = TEXT_DIRECTION_FIRST_STRONG_LTR, name = "firstStrongLtr"),
+            @EnumEntry(value = TEXT_DIRECTION_FIRST_STRONG_RTL, name = "firstStrongRtl"),
     })
     public int getTextDirection() {
         return (mPrivateFlags2 & PFLAG2_TEXT_DIRECTION_RESOLVED_MASK) >> PFLAG2_TEXT_DIRECTION_RESOLVED_MASK_SHIFT;
@@ -26770,13 +26837,13 @@
             @ViewDebug.IntToString(from = TEXT_ALIGNMENT_VIEW_END, to = "VIEW_END")
     })
     @InspectableProperty(hasAttributeId = false, enumMapping = {
-            @EnumMap(value = TEXT_ALIGNMENT_INHERIT, name = "inherit"),
-            @EnumMap(value = TEXT_ALIGNMENT_GRAVITY, name = "gravity"),
-            @EnumMap(value = TEXT_ALIGNMENT_TEXT_START, name = "textStart"),
-            @EnumMap(value = TEXT_ALIGNMENT_TEXT_END, name = "textEnd"),
-            @EnumMap(value = TEXT_ALIGNMENT_CENTER, name = "center"),
-            @EnumMap(value = TEXT_ALIGNMENT_VIEW_START, name = "viewStart"),
-            @EnumMap(value = TEXT_ALIGNMENT_VIEW_END, name = "viewEnd")
+            @EnumEntry(value = TEXT_ALIGNMENT_INHERIT, name = "inherit"),
+            @EnumEntry(value = TEXT_ALIGNMENT_GRAVITY, name = "gravity"),
+            @EnumEntry(value = TEXT_ALIGNMENT_TEXT_START, name = "textStart"),
+            @EnumEntry(value = TEXT_ALIGNMENT_TEXT_END, name = "textEnd"),
+            @EnumEntry(value = TEXT_ALIGNMENT_CENTER, name = "center"),
+            @EnumEntry(value = TEXT_ALIGNMENT_VIEW_START, name = "viewStart"),
+            @EnumEntry(value = TEXT_ALIGNMENT_VIEW_END, name = "viewEnd")
     })
     @TextAlignment
     @UnsupportedAppUsage
@@ -26845,12 +26912,12 @@
             @ViewDebug.IntToString(from = TEXT_ALIGNMENT_VIEW_END, to = "VIEW_END")
     })
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = TEXT_ALIGNMENT_GRAVITY, name = "gravity"),
-            @EnumMap(value = TEXT_ALIGNMENT_TEXT_START, name = "textStart"),
-            @EnumMap(value = TEXT_ALIGNMENT_TEXT_END, name = "textEnd"),
-            @EnumMap(value = TEXT_ALIGNMENT_CENTER, name = "center"),
-            @EnumMap(value = TEXT_ALIGNMENT_VIEW_START, name = "viewStart"),
-            @EnumMap(value = TEXT_ALIGNMENT_VIEW_END, name = "viewEnd")
+            @EnumEntry(value = TEXT_ALIGNMENT_GRAVITY, name = "gravity"),
+            @EnumEntry(value = TEXT_ALIGNMENT_TEXT_START, name = "textStart"),
+            @EnumEntry(value = TEXT_ALIGNMENT_TEXT_END, name = "textEnd"),
+            @EnumEntry(value = TEXT_ALIGNMENT_CENTER, name = "center"),
+            @EnumEntry(value = TEXT_ALIGNMENT_VIEW_START, name = "viewStart"),
+            @EnumEntry(value = TEXT_ALIGNMENT_VIEW_END, name = "viewEnd")
     })
     @TextAlignment
     public int getTextAlignment() {
@@ -27558,11 +27625,17 @@
         private float mX;
         private float mY;
         private boolean mOriginalPressedState;
+        /**
+         * The classification of the long click being checked: one of the
+         * StatsLog.TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__* constants.
+         */
+        private int mClassification;
 
         @Override
         public void run() {
             if ((mOriginalPressedState == isPressed()) && (mParent != null)
                     && mOriginalWindowAttachCount == mWindowAttachCount) {
+                recordGestureClassification(mClassification);
                 if (performLongClick(mX, mY)) {
                     mHasPerformedLongPress = true;
                 }
@@ -27581,6 +27654,10 @@
         public void rememberPressedState() {
             mOriginalPressedState = isPressed();
         }
+
+        public void setClassification(int classification) {
+            mClassification = classification;
+        }
     }
 
     private final class CheckForTap implements Runnable {
@@ -27593,17 +27670,28 @@
             setPressed(true, x, y);
             final long delay =
                     ViewConfiguration.getLongPressTimeout() - ViewConfiguration.getTapTimeout();
-            checkForLongClick(delay, x, y);
+            checkForLongClick(delay, x, y, TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__LONG_PRESS);
         }
     }
 
     private final class PerformClick implements Runnable {
         @Override
         public void run() {
+            recordGestureClassification(TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__SINGLE_TAP);
             performClickInternal();
         }
     }
 
+    /** Records a classification for the current event stream. */
+    private void recordGestureClassification(int classification) {
+        if (classification == TOUCH_GESTURE_CLASSIFIED__CLASSIFICATION__UNKNOWN_CLASSIFICATION) {
+            return;
+        }
+        // To avoid negatively impacting View performance, the latency and displacement metrics
+        // are omitted.
+        StatsLog.write(StatsLog.TOUCH_GESTURE_CLASSIFIED, getClass().getName(), classification);
+    }
+
     /**
      * This method returns a ViewPropertyAnimator object, which can be used to animate
      * specific properties on this View.
diff --git a/core/java/android/view/ViewGroup.java b/core/java/android/view/ViewGroup.java
index f2474a5..a4d80dc 100644
--- a/core/java/android/view/ViewGroup.java
+++ b/core/java/android/view/ViewGroup.java
@@ -61,7 +61,7 @@
 import android.view.animation.Transformation;
 import android.view.autofill.Helper;
 import android.view.inspector.InspectableProperty;
-import android.view.inspector.InspectableProperty.EnumMap;
+import android.view.inspector.InspectableProperty.EnumEntry;
 
 import com.android.internal.R;
 
@@ -778,9 +778,9 @@
         @ViewDebug.IntToString(from = FOCUS_BLOCK_DESCENDANTS, to = "FOCUS_BLOCK_DESCENDANTS")
     })
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = FOCUS_BEFORE_DESCENDANTS, name = "beforeDescendants"),
-            @EnumMap(value = FOCUS_AFTER_DESCENDANTS, name = "afterDescendants"),
-            @EnumMap(value = FOCUS_BLOCK_DESCENDANTS, name = "blocksDescendants")
+            @EnumEntry(value = FOCUS_BEFORE_DESCENDANTS, name = "beforeDescendants"),
+            @EnumEntry(value = FOCUS_AFTER_DESCENDANTS, name = "afterDescendants"),
+            @EnumEntry(value = FOCUS_BLOCK_DESCENDANTS, name = "blocksDescendants")
     })
     public int getDescendantFocusability() {
         return mGroupFlags & FLAG_MASK_FOCUSABILITY;
@@ -4284,35 +4284,38 @@
     }
 
     /**
-     * Returns the index of the child to draw for this iteration. Override this
+     * Converts drawing order position to container position. Override this
      * if you want to change the drawing order of children. By default, it
-     * returns i.
+     * returns drawingPosition.
      * <p>
      * NOTE: In order for this method to be called, you must enable child ordering
      * first by calling {@link #setChildrenDrawingOrderEnabled(boolean)}.
      *
-     * @param i The current iteration.
-     * @return The index of the child to draw this iteration.
+     * @param drawingPosition the drawing order position.
+     * @return the container position of a child for this drawing order position.
      *
      * @see #setChildrenDrawingOrderEnabled(boolean)
      * @see #isChildrenDrawingOrderEnabled()
      */
-    protected int getChildDrawingOrder(int childCount, int i) {
-        return i;
+    protected int getChildDrawingOrder(int childCount, int drawingPosition) {
+        return drawingPosition;
     }
 
     /**
-     * The public version of getChildDrawingOrder().
+     * Converts drawing order position to container position.
+     * <p>
+     * Children are not necessarily drawn in the order in which they appear in the container.
+     * ViewGroups can enable a custom ordering via {@link #setChildrenDrawingOrderEnabled(boolean)}.
+     * This method returns the container position of a child that appears in the given position
+     * in the current drawing order.
      *
-     * Returns the index of the child to draw for this iteration.
-     *
-     * @param i The current iteration.
-     * @return The index of the child to draw this iteration.
+     * @param drawingPosition the drawing order position.
+     * @return the container position of a child for this drawing order position.
      *
      * @see #getChildDrawingOrder(int, int)}
      */
-    public final int getChildDrawingOrder(int i) {
-        return getChildDrawingOrder(getChildCount(), i);
+    public final int getChildDrawingOrder(int drawingPosition) {
+        return getChildDrawingOrder(getChildCount(), drawingPosition);
     }
 
     private boolean hasChildWithZ() {
@@ -6571,10 +6574,10 @@
         @ViewDebug.IntToString(from = PERSISTENT_ALL_CACHES,      to = "ALL")
     })
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = PERSISTENT_NO_CACHE, name = "none"),
-            @EnumMap(value = PERSISTENT_ANIMATION_CACHE, name = "animation"),
-            @EnumMap(value = PERSISTENT_SCROLLING_CACHE, name = "scrolling"),
-            @EnumMap(value = PERSISTENT_ALL_CACHES, name = "all"),
+            @EnumEntry(value = PERSISTENT_NO_CACHE, name = "none"),
+            @EnumEntry(value = PERSISTENT_ANIMATION_CACHE, name = "animation"),
+            @EnumEntry(value = PERSISTENT_SCROLLING_CACHE, name = "scrolling"),
+            @EnumEntry(value = PERSISTENT_ALL_CACHES, name = "all"),
     })
     public int getPersistentDrawingCache() {
         return mPersistentDrawingCache;
@@ -6654,8 +6657,8 @@
      * @see #setLayoutMode(int)
      */
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = LAYOUT_MODE_CLIP_BOUNDS, name = "clipBounds"),
-            @EnumMap(value = LAYOUT_MODE_OPTICAL_BOUNDS, name = "opticalBounds")
+            @EnumEntry(value = LAYOUT_MODE_CLIP_BOUNDS, name = "clipBounds"),
+            @EnumEntry(value = LAYOUT_MODE_OPTICAL_BOUNDS, name = "opticalBounds")
     })
     public int getLayoutMode() {
         if (mLayoutMode == LAYOUT_MODE_UNDEFINED) {
@@ -7845,6 +7848,10 @@
             @ViewDebug.IntToString(from = MATCH_PARENT, to = "MATCH_PARENT"),
             @ViewDebug.IntToString(from = WRAP_CONTENT, to = "WRAP_CONTENT")
         })
+        @InspectableProperty(name = "layout_width", enumMapping = {
+                @EnumEntry(name = "match_parent", value = MATCH_PARENT),
+                @EnumEntry(name = "wrap_content", value = WRAP_CONTENT)
+        })
         public int width;
 
         /**
@@ -7856,6 +7863,10 @@
             @ViewDebug.IntToString(from = MATCH_PARENT, to = "MATCH_PARENT"),
             @ViewDebug.IntToString(from = WRAP_CONTENT, to = "WRAP_CONTENT")
         })
+        @InspectableProperty(name = "layout_height", enumMapping = {
+                @EnumEntry(name = "match_parent", value = MATCH_PARENT),
+                @EnumEntry(name = "wrap_content", value = WRAP_CONTENT)
+        })
         public int height;
 
         /**
@@ -8028,6 +8039,7 @@
          * to this field.
          */
         @ViewDebug.ExportedProperty(category = "layout")
+        @InspectableProperty(name = "layout_marginLeft")
         public int leftMargin;
 
         /**
@@ -8036,6 +8048,7 @@
          * to this field.
          */
         @ViewDebug.ExportedProperty(category = "layout")
+        @InspectableProperty(name = "layout_marginTop")
         public int topMargin;
 
         /**
@@ -8044,6 +8057,7 @@
          * to this field.
          */
         @ViewDebug.ExportedProperty(category = "layout")
+        @InspectableProperty(name = "layout_marginRight")
         public int rightMargin;
 
         /**
@@ -8052,6 +8066,7 @@
          * to this field.
          */
         @ViewDebug.ExportedProperty(category = "layout")
+        @InspectableProperty(name = "layout_marginBottom")
         public int bottomMargin;
 
         /**
diff --git a/core/java/android/view/ViewRootImpl.java b/core/java/android/view/ViewRootImpl.java
index a3d0a7e..a28d662 100644
--- a/core/java/android/view/ViewRootImpl.java
+++ b/core/java/android/view/ViewRootImpl.java
@@ -1213,15 +1213,12 @@
 
         boolean useAutoDark = getNightMode() == Configuration.UI_MODE_NIGHT_YES;
 
-        // Allow debug.hwui.force_dark to override the target SDK check
-        if (useAutoDark && !SystemProperties.getBoolean("debug.hwui.force_dark", false)) {
-            useAutoDark = mContext.getApplicationInfo().targetSdkVersion >= Build.VERSION_CODES.Q;
-        }
-
         if (useAutoDark) {
+            boolean forceDarkAllowedDefault =
+                    SystemProperties.getBoolean("debug.hwui.force_dark", false);
             TypedArray a = mContext.obtainStyledAttributes(R.styleable.Theme);
             useAutoDark = a.getBoolean(R.styleable.Theme_isLightTheme, true)
-                    && a.getBoolean(R.styleable.Theme_forceDarkAllowed, true);
+                    && a.getBoolean(R.styleable.Theme_forceDarkAllowed, forceDarkAllowedDefault);
             a.recycle();
         }
 
@@ -2372,6 +2369,9 @@
                     mAttachInfo.mOutsets.set(mPendingOutsets);
                     mApplyInsetsRequested = false;
                     dispatchApplyInsets(host);
+                    // We applied insets so force contentInsetsChanged to ensure the
+                    // hierarchy is measured below.
+                    contentInsetsChanged = true;
                 }
                 if (visibleInsetsChanged) {
                     mAttachInfo.mVisibleInsets.set(mPendingVisibleInsets);
diff --git a/core/java/android/view/WindowInsets.java b/core/java/android/view/WindowInsets.java
index 135a891..aac0e34 100644
--- a/core/java/android/view/WindowInsets.java
+++ b/core/java/android/view/WindowInsets.java
@@ -20,12 +20,18 @@
 import static android.view.WindowInsets.Type.FIRST;
 import static android.view.WindowInsets.Type.IME;
 import static android.view.WindowInsets.Type.LAST;
+import static android.view.WindowInsets.Type.MANDATORY_SYSTEM_GESTURES;
 import static android.view.WindowInsets.Type.SIDE_BARS;
 import static android.view.WindowInsets.Type.SIZE;
+import static android.view.WindowInsets.Type.SYSTEM_GESTURES;
+import static android.view.WindowInsets.Type.TAPPABLE_ELEMENT;
 import static android.view.WindowInsets.Type.TOP_BAR;
 import static android.view.WindowInsets.Type.all;
 import static android.view.WindowInsets.Type.compatSystemInsets;
 import static android.view.WindowInsets.Type.indexOf;
+import static android.view.WindowInsets.Type.mandatorySystemGestures;
+import static android.view.WindowInsets.Type.systemGestures;
+import static android.view.WindowInsets.Type.tappableElement;
 
 import android.annotation.IntDef;
 import android.annotation.IntRange;
@@ -35,7 +41,6 @@
 import android.graphics.Insets;
 import android.graphics.Rect;
 import android.util.SparseArray;
-import android.view.InsetsState.InternalInsetType;
 import android.view.WindowInsets.Type.InsetType;
 import android.view.inputmethod.EditorInfo;
 import android.view.inputmethod.InputMethod;
@@ -220,6 +225,10 @@
         }
         Insets[] typeInsetMap = new Insets[SIZE];
         assignCompatInsets(typeInsetMap, insets);
+        // TODO: set system gesture insets based on actual system gesture area.
+        typeInsetMap[indexOf(systemGestures())] = Insets.of(insets);
+        typeInsetMap[indexOf(mandatorySystemGestures())] = Insets.of(insets);
+        typeInsetMap[indexOf(tappableElement())] = Insets.of(insets);
         return typeInsetMap;
     }
 
@@ -630,6 +639,89 @@
     }
 
     /**
+     * Returns the system gesture insets.
+     *
+     * <p>The system gesture insets represent the area of a window where system gestures have
+     * priority and may consume some or all touch input, e.g. due to the a system bar
+     * occupying it, or it being reserved for touch-only gestures.
+     *
+     * <p>An app can declare priority over system gestures with
+     * {@link View#setSystemGestureExclusionRects} outside of the
+     * {@link #getMandatorySystemGestureInsets() mandatory system gesture insets}.
+     *
+     * <p>Simple taps are guaranteed to reach the window even within the system gesture insets,
+     * as long as they are outside the {@link #getTappableElementInsets() system window insets}.
+     *
+     * <p>When {@link View#SYSTEM_UI_FLAG_LAYOUT_STABLE} is requested, an inset will be returned
+     * even when the system gestures are inactive due to
+     * {@link View#SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN} or
+     * {@link View#SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION}.
+     *
+     * <p>This inset is consumed together with the {@link #getSystemWindowInsets()
+     * system window insets} by {@link #consumeSystemWindowInsets()}.
+     *
+     * @see #getMandatorySystemGestureInsets
+     */
+    @NonNull
+    public Insets getSystemGestureInsets() {
+        return getInsets(mTypeInsetsMap, SYSTEM_GESTURES);
+    }
+
+    /**
+     * Returns the mandatory system gesture insets.
+     *
+     * <p>The mandatory system gesture insets represent the area of a window where mandatory system
+     * gestures have priority and may consume some or all touch input, e.g. due to the a system bar
+     * occupying it, or it being reserved for touch-only gestures.
+     *
+     * <p>In contrast to {@link #getSystemGestureInsets regular system gestures}, <b>mandatory</b>
+     * system gestures cannot be overriden by {@link View#setSystemGestureExclusionRects}.
+     *
+     * <p>Simple taps are guaranteed to reach the window even within the system gesture insets,
+     * as long as they are outside the {@link #getTappableElementInsets() system window insets}.
+     *
+     * <p>When {@link View#SYSTEM_UI_FLAG_LAYOUT_STABLE} is requested, an inset will be returned
+     * even when the system gestures are inactive due to
+     * {@link View#SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN} or
+     * {@link View#SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION}.
+     *
+     * <p>This inset is consumed together with the {@link #getSystemWindowInsets()
+     * system window insets} by {@link #consumeSystemWindowInsets()}.
+     *
+     * @see #getSystemGestureInsets
+     */
+    @NonNull
+    public Insets getMandatorySystemGestureInsets() {
+        return getInsets(mTypeInsetsMap, MANDATORY_SYSTEM_GESTURES);
+    }
+
+    /**
+     * Returns the tappable element insets.
+     *
+     * <p>The tappable element insets represent how much tappable elements <b>must at least</b> be
+     * inset to remain both tappable and visually unobstructed by persistent system windows.
+     *
+     * <p>This may be smaller than {@link #getSystemWindowInsets()} if the system window is
+     * largely transparent and lets through simple taps (but not necessarily more complex gestures).
+     *
+     * <p>Note that generally, tappable elements <strong>should</strong> be aligned with the
+     * {@link #getSystemWindowInsets() system window insets} instead to avoid overlapping with the
+     * system bars.
+     *
+     * <p>When {@link View#SYSTEM_UI_FLAG_LAYOUT_STABLE} is requested, an inset will be returned
+     * even when the area covered by the inset would be tappable due to
+     * {@link View#SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN} or
+     * {@link View#SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION}.
+     *
+     * <p>This inset is consumed together with the {@link #getSystemWindowInsets()
+     * system window insets} by {@link #consumeSystemWindowInsets()}.
+     */
+    @NonNull
+    public Insets getTappableElementInsets() {
+        return getInsets(mTypeInsetsMap, TAPPABLE_ELEMENT);
+    }
+
+    /**
      * Returns a copy of this WindowInsets with the stable insets fully consumed.
      *
      * @return A modified copy of this WindowInsets
@@ -652,6 +744,7 @@
     public String toString() {
         return "WindowInsets{systemWindowInsets=" + getSystemWindowInsets()
                 + " stableInsets=" + getStableInsets()
+                + " sysGestureInsets=" + getSystemGestureInsets()
                 + (mDisplayCutout != null ? " cutout=" + mDisplayCutout : "")
                 + (isRound() ? " round" : "")
                 + "}";
@@ -853,6 +946,57 @@
         }
 
         /**
+         * Sets system gesture insets in pixels.
+         *
+         * <p>The system gesture insets represent the area of a window where system gestures have
+         * priority and may consume some or all touch input, e.g. due to the a system bar
+         * occupying it, or it being reserved for touch-only gestures.
+         *
+         * @see #getSystemGestureInsets()
+         * @return itself
+         */
+        @NonNull
+        public Builder setSystemGestureInsets(@NonNull Insets insets) {
+            WindowInsets.setInsets(mTypeInsetsMap, SYSTEM_GESTURES, insets);
+            return this;
+        }
+
+        /**
+         * Sets mandatory system gesture insets in pixels.
+         *
+         * <p>The mandatory system gesture insets represent the area of a window where mandatory
+         * system gestures have priority and may consume some or all touch input, e.g. due to the a
+         * system bar occupying it, or it being reserved for touch-only gestures.
+         *
+         * <p>In contrast to {@link #setSystemGestureInsets regular system gestures},
+         * <b>mandatory</b> system gestures cannot be overriden by
+         * {@link View#setSystemGestureExclusionRects}.
+         *
+         * @see #getMandatorySystemGestureInsets()
+         * @return itself
+         */
+        @NonNull
+        public Builder setMandatorySystemGestureInsets(@NonNull Insets insets) {
+            WindowInsets.setInsets(mTypeInsetsMap, MANDATORY_SYSTEM_GESTURES, insets);
+            return this;
+        }
+
+        /**
+         * Sets tappable element insets in pixels.
+         *
+         * <p>The tappable element insets represent how much tappable elements <b>must at least</b>
+         * be inset to remain both tappable and visually unobstructed by persistent system windows.
+         *
+         * @see #getTappableElementInsets()
+         * @return itself
+         */
+        @NonNull
+        public Builder setTappableElementInsets(@NonNull Insets insets) {
+            WindowInsets.setInsets(mTypeInsetsMap, TAPPABLE_ELEMENT, insets);
+            return this;
+        }
+
+        /**
          * Sets the insets of a specific window type in pixels.
          *
          * <p>The insets represents the area of a a window that is partially or fully obscured by
@@ -999,14 +1143,18 @@
      */
     public static final class Type {
 
-        static final int FIRST = 0x1;
+        static final int FIRST = 1 << 0;
         static final int TOP_BAR = FIRST;
 
-        static final int IME = 0x2;
-        static final int SIDE_BARS = 0x4;
+        static final int IME = 1 << 1;
+        static final int SIDE_BARS = 1 << 2;
 
-        static final int LAST = 0x8;
-        static final int SIZE = 4;
+        static final int SYSTEM_GESTURES = 1 << 3;
+        static final int MANDATORY_SYSTEM_GESTURES = 1 << 4;
+        static final int TAPPABLE_ELEMENT = 1 << 5;
+
+        static final int LAST = 1 << 6;
+        static final int SIZE = 7;
         static final int WINDOW_DECOR = LAST;
 
         static int indexOf(@InsetType int type) {
@@ -1017,8 +1165,14 @@
                     return 1;
                 case SIDE_BARS:
                     return 2;
-                case WINDOW_DECOR:
+                case SYSTEM_GESTURES:
                     return 3;
+                case MANDATORY_SYSTEM_GESTURES:
+                    return 4;
+                case TAPPABLE_ELEMENT:
+                    return 5;
+                case WINDOW_DECOR:
+                    return 6;
                 default:
                     throw new IllegalArgumentException("type needs to be >= FIRST and <= LAST,"
                             + " type=" + type);
@@ -1030,7 +1184,8 @@
 
         /** @hide */
         @Retention(RetentionPolicy.SOURCE)
-        @IntDef(flag = true, value = { TOP_BAR, IME, SIDE_BARS, WINDOW_DECOR })
+        @IntDef(flag = true, value = { TOP_BAR, IME, SIDE_BARS, WINDOW_DECOR, SYSTEM_GESTURES,
+                MANDATORY_SYSTEM_GESTURES, TAPPABLE_ELEMENT})
         public @interface InsetType {
         }
 
@@ -1064,6 +1219,41 @@
         }
 
         /**
+         * Returns an inset type representing the system gesture insets.
+         *
+         * <p>The system gesture insets represent the area of a window where system gestures have
+         * priority and may consume some or all touch input, e.g. due to the a system bar
+         * occupying it, or it being reserved for touch-only gestures.
+         *
+         * <p>Simple taps are guaranteed to reach the window even within the system gesture insets,
+         * as long as they are outside the {@link #getSystemWindowInsets() system window insets}.
+         *
+         * <p>When {@link View#SYSTEM_UI_FLAG_LAYOUT_STABLE} is requested, an inset will be returned
+         * even when the system gestures are inactive due to
+         * {@link View#SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN} or
+         * {@link View#SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION}.
+         *
+         * @see #getSystemGestureInsets()
+         */
+        public static @InsetType int systemGestures() {
+            return SYSTEM_GESTURES;
+        }
+
+        /**
+         * @see #getMandatorySystemGestureInsets
+         */
+        public static @InsetType int mandatorySystemGestures() {
+            return MANDATORY_SYSTEM_GESTURES;
+        }
+
+        /**
+         * @see #getTappableElementInsets
+         */
+        public static @InsetType int tappableElement() {
+            return TAPPABLE_ELEMENT;
+        }
+
+        /**
          * @return All system bars. Includes {@link #topBar()} as well as {@link #sideBars()}, but
          *         not {@link #ime()}.
          */
@@ -1082,6 +1272,9 @@
 
         /**
          * @return All inset types combined.
+         *
+         * TODO: Figure out if this makes sense at all, mixing e.g {@link #systemGestures()} and
+         *       {@link #ime()} does not seem very useful.
          */
         public static @InsetType int all() {
             return 0xFFFFFFFF;
diff --git a/core/java/android/view/WindowManager.java b/core/java/android/view/WindowManager.java
index 86b7350..bd38327 100644
--- a/core/java/android/view/WindowManager.java
+++ b/core/java/android/view/WindowManager.java
@@ -1793,6 +1793,13 @@
         public static final int PRIVATE_FLAG_STATUS_FORCE_SHOW_NAVIGATION = 0x00800000;
 
         /**
+         * Flag to indicate that the window is color space agnostic, and the color can be
+         * interpreted to any color space.
+         * @hide
+         */
+        public static final int PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC = 0x01000000;
+
+        /**
          * An internal annotation for flags that can be specified to {@link #softInputMode}.
          *
          * @hide
@@ -1892,7 +1899,11 @@
                 @ViewDebug.FlagToString(
                         mask = PRIVATE_FLAG_STATUS_FORCE_SHOW_NAVIGATION,
                         equals = PRIVATE_FLAG_STATUS_FORCE_SHOW_NAVIGATION,
-                        name = "STATUS_FORCE_SHOW_NAVIGATION")
+                        name = "STATUS_FORCE_SHOW_NAVIGATION"),
+                @ViewDebug.FlagToString(
+                        mask = PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC,
+                        equals = PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC,
+                        name = "COLOR_SPACE_AGNOSTIC")
         })
         @TestApi
         public int privateFlags;
diff --git a/core/java/android/view/accessibility/AccessibilityCache.java b/core/java/android/view/accessibility/AccessibilityCache.java
index 5d59e42..df8690d 100644
--- a/core/java/android/view/accessibility/AccessibilityCache.java
+++ b/core/java/android/view/accessibility/AccessibilityCache.java
@@ -360,7 +360,7 @@
             }
             clearWindowCache();
             final int nodesForWindowCount = mNodeCache.size();
-            for (int i = 0; i < nodesForWindowCount; i++) {
+            for (int i = nodesForWindowCount - 1; i >= 0; i--) {
                 final int windowId = mNodeCache.keyAt(i);
                 clearNodesForWindowLocked(windowId);
             }
diff --git a/core/java/android/view/autofill/AutofillId.java b/core/java/android/view/autofill/AutofillId.java
index 8fa29f3..2c79299 100644
--- a/core/java/android/view/autofill/AutofillId.java
+++ b/core/java/android/view/autofill/AutofillId.java
@@ -47,20 +47,20 @@
 
     /** @hide */
     @TestApi
-    public AutofillId(@NonNull AutofillId parent, int virtualChildId) {
-        this(FLAG_IS_VIRTUAL_INT, parent.mViewId, virtualChildId, NO_SESSION);
+    public AutofillId(@NonNull AutofillId hostId, int virtualChildId) {
+        this(FLAG_IS_VIRTUAL_INT, hostId.mViewId, virtualChildId, NO_SESSION);
     }
 
     /** @hide */
     @TestApi
-    public AutofillId(int parentId, int virtualChildId) {
-        this(FLAG_IS_VIRTUAL_INT, parentId, virtualChildId, NO_SESSION);
+    public AutofillId(int hostId, int virtualChildId) {
+        this(FLAG_IS_VIRTUAL_INT, hostId, virtualChildId, NO_SESSION);
     }
 
     /** @hide */
     @TestApi
-    public AutofillId(@NonNull AutofillId parent, long virtualChildId, int sessionId) {
-        this(FLAG_IS_VIRTUAL_LONG | FLAG_HAS_SESSION, parent.mViewId, virtualChildId, sessionId);
+    public AutofillId(@NonNull AutofillId hostId, long virtualChildId, int sessionId) {
+        this(FLAG_IS_VIRTUAL_LONG | FLAG_HAS_SESSION, hostId.mViewId, virtualChildId, sessionId);
     }
 
     private AutofillId(int flags, int parentId, long virtualChildId, int sessionId) {
diff --git a/core/java/android/view/autofill/AutofillManager.java b/core/java/android/view/autofill/AutofillManager.java
index 70fe230..8f1896d 100644
--- a/core/java/android/view/autofill/AutofillManager.java
+++ b/core/java/android/view/autofill/AutofillManager.java
@@ -20,6 +20,7 @@
 import static android.service.autofill.FillRequest.FLAG_MANUAL_REQUEST;
 import static android.view.autofill.Helper.sDebug;
 import static android.view.autofill.Helper.sVerbose;
+import static android.view.autofill.Helper.toList;
 
 import android.accessibilityservice.AccessibilityServiceInfo;
 import android.annotation.IntDef;
@@ -1827,22 +1828,6 @@
     }
 
     /**
-     * @deprecated use {@link #setAugmentedAutofillWhitelist(Set, Set)} instead.
-     * @hide
-     */
-    @SystemApi
-    @TestApi
-    @Deprecated
-    public void setAugmentedAutofillWhitelist(@Nullable List<String> packages,
-            @Nullable List<ComponentName> activities) {
-        setAugmentedAutofillWhitelist(toSet(packages), toSet(activities));
-    }
-
-    private <T> ArraySet<T> toSet(@Nullable List<T> set) {
-        return set == null ? null : new ArraySet<T>(set);
-    }
-
-    /**
      * Explicitly limits augmented autofill to the given packages and activities.
      *
      * <p>To reset the whitelist, call it passing {@code null} to both arguments.
@@ -1888,10 +1873,6 @@
         }
     }
 
-    private <T> ArrayList<T> toList(@Nullable Set<T> set) {
-        return set == null ? null : new ArrayList<T>(set);
-    }
-
     /**
      * Notifies that a non-autofillable view was entered because the activity is whitelisted for
      * augmented autofill.
@@ -2227,12 +2208,17 @@
      *  when the service failed to fullfil the request, or {@link #STATE_DISABLED_BY_SERVICE}
      *  (because the autofill service or {@link #STATE_DISABLED_BY_SERVICE} (because the autofill
      *  service disabled further autofill requests for the activity).
+     * @param autofillableIds list of ids that could trigger autofill, use to not handle a new
+     *  session when they're entered.
      */
-    private void setSessionFinished(int newState) {
+    private void setSessionFinished(int newState, @Nullable List<AutofillId> autofillableIds) {
         synchronized (mLock) {
             if (sVerbose) {
                 Log.v(TAG, "setSessionFinished(): from " + getStateAsStringLocked() + " to "
-                        + getStateAsString(newState));
+                        + getStateAsString(newState) + "; autofillableIds=" + autofillableIds);
+            }
+            if (autofillableIds != null) {
+                mEnteredIds = new ArraySet<>(autofillableIds);
             }
             if (newState == STATE_UNKNOWN_COMPAT_MODE || newState == STATE_UNKNOWN_FAILED) {
                 resetSessionLocked(/* resetEnteredIds= */ true);
@@ -2344,7 +2330,7 @@
 
         if (sessionFinishedState != 0) {
             // Callback call was "hijacked" to also update the session state.
-            setSessionFinished(sessionFinishedState);
+            setSessionFinished(sessionFinishedState, /* autofillableIds= */ null);
         }
     }
 
@@ -3130,10 +3116,10 @@
         }
 
         @Override
-        public void setSessionFinished(int newState) {
+        public void setSessionFinished(int newState, List<AutofillId> autofillableIds) {
             final AutofillManager afm = mAfm.get();
             if (afm != null) {
-                afm.post(() -> afm.setSessionFinished(newState));
+                afm.post(() -> afm.setSessionFinished(newState, autofillableIds));
             }
         }
 
@@ -3160,6 +3146,10 @@
             if (afm == null) return null;
 
             final View view = afm.getClient().autofillClientFindViewByAutofillIdTraversal(id);
+            if (view == null) {
+                Log.w(TAG, "getViewCoordinates(" + id + "): could not find view");
+                return null;
+            }
             final Rect windowVisibleDisplayFrame = new Rect();
             view.getWindowVisibleDisplayFrame(windowVisibleDisplayFrame);
             final int[] location = new int[2];
diff --git a/core/java/android/view/autofill/Helper.java b/core/java/android/view/autofill/Helper.java
index 48d0dbb..2f12bb2 100644
--- a/core/java/android/view/autofill/Helper.java
+++ b/core/java/android/view/autofill/Helper.java
@@ -19,7 +19,9 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 
+import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Set;
 
 /** @hide */
 public final class Helper {
@@ -62,7 +64,8 @@
     }
 
     /**
-     * Convers a collaction of {@link AutofillId AutofillIds} to an array.
+     * Converts a collaction of {@link AutofillId AutofillIds} to an array.
+     *
      * @param collection The collection.
      * @return The array.
      */
@@ -75,6 +78,14 @@
         return array;
     }
 
+    /**
+     * Converts a Set to a List.
+     */
+    @Nullable
+    public static <T> ArrayList<T> toList(@Nullable Set<T> set) {
+        return set == null ? null : new ArrayList<T>(set);
+    }
+
     private Helper() {
         throw new UnsupportedOperationException("contains static members only");
     }
diff --git a/core/java/android/view/autofill/IAutoFillManagerClient.aidl b/core/java/android/view/autofill/IAutoFillManagerClient.aidl
index 63394b4..85def7f 100644
--- a/core/java/android/view/autofill/IAutoFillManagerClient.aidl
+++ b/core/java/android/view/autofill/IAutoFillManagerClient.aidl
@@ -98,8 +98,10 @@
      *
      * @param newState STATE_FINISHED (because the autofill service returned a null
      * FillResponse) or STATE_UNKNOWN (because the session was removed).
+     * @param autofillableIds list of ids that could trigger autofill, use to not handle a new
+     * session when they're entered.
      */
-   void setSessionFinished(int newState);
+   void setSessionFinished(int newState, in List<AutofillId> autofillableIds);
 
    /**
     * Gets a reference to the binder object that can be used by the Augmented Autofill service.
diff --git a/core/java/android/view/contentcapture/ContentCaptureContext.java b/core/java/android/view/contentcapture/ContentCaptureContext.java
index b9dc0dd..5a27e94 100644
--- a/core/java/android/view/contentcapture/ContentCaptureContext.java
+++ b/core/java/android/view/contentcapture/ContentCaptureContext.java
@@ -71,10 +71,21 @@
     @TestApi
     public static final int FLAG_DISABLED_BY_FLAG_SECURE = 0x2;
 
+    /**
+     * Flag used when the event is sent because the Android System reconnected to the service (for
+     * example, after its process died).
+     *
+     * @hide
+     */
+    @SystemApi
+    @TestApi
+    public static final int FLAG_RECONNECTED = 0x4;
+
     /** @hide */
     @IntDef(flag = true, prefix = { "FLAG_" }, value = {
             FLAG_DISABLED_BY_APP,
-            FLAG_DISABLED_BY_FLAG_SECURE
+            FLAG_DISABLED_BY_FLAG_SECURE,
+            FLAG_RECONNECTED
     })
     @Retention(RetentionPolicy.SOURCE)
     @interface ContextCreationFlags{}
@@ -126,6 +137,17 @@
         mDisplayId = Display.INVALID_DISPLAY;
     }
 
+    /** @hide */
+    public ContentCaptureContext(@Nullable ContentCaptureContext original, int extraFlags) {
+        mHasClientContext = original.mHasClientContext;
+        mExtras = original.mExtras;
+        mId = original.mId;
+        mComponentName = original.mComponentName;
+        mTaskId = original.mTaskId;
+        mFlags = original.mFlags | extraFlags;
+        mDisplayId = original.mDisplayId;
+    }
+
     /**
      * Gets the (optional) extras set by the app (through {@link Builder#setExtras(Bundle)}).
      *
@@ -139,7 +161,7 @@
     /**
      * Gets the context id.
      */
-    @NonNull
+    @Nullable
     public LocusId getLocusId() {
         return mId;
     }
@@ -199,8 +221,8 @@
     /**
      * Gets the flags associated with this context.
      *
-     * @return any combination of {@link #FLAG_DISABLED_BY_FLAG_SECURE} and
-     * {@link #FLAG_DISABLED_BY_APP}.
+     * @return any combination of {@link #FLAG_DISABLED_BY_FLAG_SECURE},
+     * {@link #FLAG_DISABLED_BY_APP} and {@link #FLAG_RECONNECTED}.
      *
      * @hide
      */
diff --git a/core/java/android/view/contentcapture/ContentCaptureEvent.java b/core/java/android/view/contentcapture/ContentCaptureEvent.java
index 67d3629..8188e05 100644
--- a/core/java/android/view/contentcapture/ContentCaptureEvent.java
+++ b/core/java/android/view/contentcapture/ContentCaptureEvent.java
@@ -303,6 +303,47 @@
         return mText;
     }
 
+    /**
+     * Merges event of the same type, either {@link #TYPE_VIEW_TEXT_CHANGED}
+     * or {@link #TYPE_VIEW_DISAPPEARED}.
+     *
+     * @hide
+     */
+    public void mergeEvent(@NonNull ContentCaptureEvent event) {
+        Preconditions.checkNotNull(event);
+        final int eventType = event.getType();
+        if (mType != eventType) {
+            Log.e(TAG, "mergeEvent(" + getTypeAsString(eventType) + ") cannot be merged "
+                    + "with different eventType=" + getTypeAsString(mType));
+            return;
+        }
+
+        if (eventType == TYPE_VIEW_DISAPPEARED) {
+            final List<AutofillId> ids = event.getIds();
+            final AutofillId id = event.getId();
+            if (ids != null) {
+                if (id != null) {
+                    Log.w(TAG, "got TYPE_VIEW_DISAPPEARED event with both id and ids: " + event);
+                }
+                for (int i = 0; i < ids.size(); i++) {
+                    addAutofillId(ids.get(i));
+                }
+                return;
+            }
+            if (id != null) {
+                addAutofillId(id);
+                return;
+            }
+            throw new IllegalArgumentException("mergeEvent(): got "
+                    + "TYPE_VIEW_DISAPPEARED event with neither id or ids: " + event);
+        } else if (eventType == TYPE_VIEW_TEXT_CHANGED) {
+            setText(event.getText());
+        } else {
+            Log.e(TAG, "mergeEvent(" + getTypeAsString(eventType)
+                    + ") does not support this event type.");
+        }
+    }
+
     /** @hide */
     public void dump(@NonNull PrintWriter pw) {
         pw.print("type="); pw.print(getTypeAsString(mType));
diff --git a/core/java/android/view/contentcapture/ContentCaptureHelper.java b/core/java/android/view/contentcapture/ContentCaptureHelper.java
index 6e84ff0..6bc3829 100644
--- a/core/java/android/view/contentcapture/ContentCaptureHelper.java
+++ b/core/java/android/view/contentcapture/ContentCaptureHelper.java
@@ -20,7 +20,6 @@
 import static android.view.contentcapture.ContentCaptureManager.LOGGING_LEVEL_OFF;
 import static android.view.contentcapture.ContentCaptureManager.LOGGING_LEVEL_VERBOSE;
 
-import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.os.Build;
 import android.provider.DeviceConfig;
@@ -48,21 +47,6 @@
     }
 
     /**
-     * Gets the value of a device config property from the Content Capture namespace.
-     */
-    public static int getIntDeviceConfigProperty(@NonNull String key, int defaultValue) {
-        final String value = DeviceConfig.getProperty(DeviceConfig.NAMESPACE_CONTENT_CAPTURE, key);
-        if (value == null) return defaultValue;
-
-        try {
-            return Integer.parseInt(value);
-        } catch (Exception e) {
-            Log.w(TAG, "error parsing value (" + value + ") of property " + key + ": " + e);
-            return defaultValue;
-        }
-    }
-
-    /**
      * Gets the default logging level for the device.
      */
     @LoggingLevel
@@ -75,8 +59,8 @@
      */
     public static void setLoggingLevel() {
         final int defaultLevel = getDefaultLoggingLevel();
-        final int level = getIntDeviceConfigProperty(DEVICE_CONFIG_PROPERTY_LOGGING_LEVEL,
-                defaultLevel);
+        final int level = DeviceConfig.getInt(DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
+                DEVICE_CONFIG_PROPERTY_LOGGING_LEVEL, defaultLevel);
         setLoggingLevel(level);
     }
 
diff --git a/core/java/android/view/contentcapture/ContentCaptureManager.java b/core/java/android/view/contentcapture/ContentCaptureManager.java
index 885bd2a..a3e6549 100644
--- a/core/java/android/view/contentcapture/ContentCaptureManager.java
+++ b/core/java/android/view/contentcapture/ContentCaptureManager.java
@@ -193,6 +193,15 @@
     private MainContentCaptureSession mMainSession;
 
     /** @hide */
+    public interface ContentCaptureClient {
+        /**
+         * Gets the component name of the client.
+         */
+        @NonNull
+        ComponentName contentCaptureClientGetComponentName();
+    }
+
+    /** @hide */
     public ContentCaptureManager(@NonNull Context context,
             @NonNull IContentCaptureManager service, @NonNull ContentCaptureOptions options) {
         mContext = Preconditions.checkNotNull(context, "context cannot be null");
diff --git a/core/java/android/view/contentcapture/ContentCaptureSession.java b/core/java/android/view/contentcapture/ContentCaptureSession.java
index 6bf1eba..6d41b28 100644
--- a/core/java/android/view/contentcapture/ContentCaptureSession.java
+++ b/core/java/android/view/contentcapture/ContentCaptureSession.java
@@ -121,11 +121,25 @@
     public static final int STATE_INTERNAL_ERROR = 0x100;
 
     /**
-     * Session is disabled because service didn't whitelist package.
+     * Session is disabled because service didn't whitelist package or activity.
      *
      * @hide
      */
-    public static final int STATE_PACKAGE_NOT_WHITELISTED = 0x200;
+    public static final int STATE_NOT_WHITELISTED = 0x200;
+
+    /**
+     * Session is disabled because the service died.
+     *
+     * @hide
+     */
+    public static final int STATE_SERVICE_DIED = 0x400;
+
+    /**
+     * Session is enabled, after the service died and came back to live.
+     *
+     * @hide
+     */
+    public static final int STATE_SERVICE_RESURRECTED = 0x800;
 
     private static final int INITIAL_CHILDREN_CAPACITY = 5;
 
@@ -139,6 +153,8 @@
     public static final int FLUSH_REASON_SESSION_FINISHED = 4;
     /** @hide */
     public static final int FLUSH_REASON_IDLE_TIMEOUT = 5;
+    /** @hide */
+    public static final int FLUSH_REASON_TEXT_CHANGE_TIMEOUT = 6;
 
     /** @hide */
     @IntDef(prefix = { "FLUSH_REASON_" }, value = {
@@ -146,7 +162,8 @@
             FLUSH_REASON_VIEW_ROOT_ENTERED,
             FLUSH_REASON_SESSION_STARTED,
             FLUSH_REASON_SESSION_FINISHED,
-            FLUSH_REASON_IDLE_TIMEOUT
+            FLUSH_REASON_IDLE_TIMEOUT,
+            FLUSH_REASON_TEXT_CHANGE_TIMEOUT
     })
     @Retention(RetentionPolicy.SOURCE)
     public @interface FlushReason{}
@@ -375,7 +392,8 @@
      *
      * <p>Should only be called by views that handle their own virtual view hierarchy.
      *
-     * @param hostId id of the view hosting the virtual hierarchy.
+     * @param hostId id of the non-virtual view hosting the virtual view hierarchy (it can be
+     * obtained by calling {@link ViewStructure#getAutofillId()}).
      * @param virtualIds ids of the virtual children.
      *
      * @throws IllegalArgumentException if the {@code hostId} is an autofill id for a virtual view.
@@ -383,7 +401,7 @@
      */
     public final void notifyViewsDisappeared(@NonNull AutofillId hostId,
             @NonNull long[] virtualIds) {
-        Preconditions.checkArgument(hostId.isNonVirtual(), "parent cannot be virtual");
+        Preconditions.checkArgument(hostId.isNonVirtual(), "hostId cannot be virtual: %s", hostId);
         Preconditions.checkArgument(!ArrayUtils.isEmpty(virtualIds), "virtual ids cannot be empty");
         if (!isContentCaptureEnabled()) return;
 
@@ -428,18 +446,18 @@
      * Creates a new {@link AutofillId} for a virtual child, so it can be used to uniquely identify
      * the children in the session.
      *
-     * @param parentId id of the virtual view parent (it can be obtained by calling
-     * {@link ViewStructure#getAutofillId()} on the parent).
+     * @param hostId id of the non-virtual view hosting the virtual view hierarchy (it can be
+     * obtained by calling {@link ViewStructure#getAutofillId()}).
      * @param virtualChildId id of the virtual child, relative to the parent.
      *
      * @return if for the virtual child
      *
      * @throws IllegalArgumentException if the {@code parentId} is a virtual child id.
      */
-    public @NonNull AutofillId newAutofillId(@NonNull AutofillId parentId, long virtualChildId) {
-        Preconditions.checkNotNull(parentId);
-        Preconditions.checkArgument(parentId.isNonVirtual(), "virtual ids cannot have children");
-        return new AutofillId(parentId, virtualChildId, getIdAsInt());
+    public @NonNull AutofillId newAutofillId(@NonNull AutofillId hostId, long virtualChildId) {
+        Preconditions.checkNotNull(hostId);
+        Preconditions.checkArgument(hostId.isNonVirtual(), "hostId cannot be virtual: %s", hostId);
+        return new AutofillId(hostId, virtualChildId, getIdAsInt());
     }
 
     /**
@@ -510,6 +528,8 @@
                 return "FINISHED";
             case FLUSH_REASON_IDLE_TIMEOUT:
                 return "IDLE";
+            case FLUSH_REASON_TEXT_CHANGE_TIMEOUT:
+                return "TEXT_CHANGE";
             default:
                 return "UNKOWN-" + reason;
         }
diff --git a/core/java/android/view/contentcapture/MainContentCaptureSession.java b/core/java/android/view/contentcapture/MainContentCaptureSession.java
index dce8ebe..666af59 100644
--- a/core/java/android/view/contentcapture/MainContentCaptureSession.java
+++ b/core/java/android/view/contentcapture/MainContentCaptureSession.java
@@ -125,9 +125,20 @@
     // Used just for debugging purposes (on dump)
     private long mNextFlush;
 
+    /**
+     * Whether the next buffer flush is queued by a text changed event.
+     */
+    private boolean mNextFlushForTextChanged = false;
+
     @Nullable
     private final LocalLog mFlushHistory;
 
+    /**
+     * Binder object used to update the session state.
+     */
+    @NonNull
+    private final IResultReceiver.Stub mSessionStateReceiver;
+
     protected MainContentCaptureSession(@NonNull Context context,
             @NonNull ContentCaptureManager manager, @NonNull Handler handler,
             @NonNull IContentCaptureManager systemServerInterface) {
@@ -138,6 +149,26 @@
 
         final int logHistorySize = mManager.mOptions.logHistorySize;
         mFlushHistory = logHistorySize > 0 ? new LocalLog(logHistorySize) : null;
+
+        mSessionStateReceiver = new IResultReceiver.Stub() {
+            @Override
+            public void send(int resultCode, Bundle resultData) {
+                final IBinder binder;
+                if (resultData != null) {
+                    binder = resultData.getBinder(EXTRA_BINDER);
+                    if (binder == null) {
+                        Log.wtf(TAG, "No " + EXTRA_BINDER + " extra result");
+                        mHandler.post(() -> resetSession(
+                                STATE_DISABLED | STATE_INTERNAL_ERROR));
+                        return;
+                    }
+                } else {
+                    binder = null;
+                }
+                mHandler.post(() -> onSessionStarted(resultCode, binder));
+            }
+        };
+
     }
 
     @Override
@@ -185,24 +216,7 @@
 
         try {
             mSystemServerInterface.startSession(mApplicationToken, component, mId, flags,
-                    new IResultReceiver.Stub() {
-                        @Override
-                        public void send(int resultCode, Bundle resultData) {
-                            final IBinder binder;
-                            if (resultData != null) {
-                                binder = resultData.getBinder(EXTRA_BINDER);
-                                if (binder == null) {
-                                    Log.wtf(TAG, "No " + EXTRA_BINDER + " extra result");
-                                    mHandler.post(() -> resetSession(
-                                            STATE_DISABLED | STATE_INTERNAL_ERROR));
-                                    return;
-                                }
-                            } else {
-                                binder = null;
-                            }
-                            mHandler.post(() -> onSessionStarted(resultCode, binder));
-                        }
-                    });
+                    mSessionStateReceiver);
         } catch (RemoteException e) {
             Log.w(TAG, "Error starting session for " + component.flattenToShortString() + ": " + e);
         }
@@ -216,8 +230,7 @@
 
     /**
      * Callback from {@code system_server} after call to
-     * {@link IContentCaptureManager#startSession(IBinder, ComponentName, String, int,
-     * IResultReceiver)}
+     * {@link IContentCaptureManager#startSession(IBinder, ComponentName, String, int, IBinder)}
      *
      * @param resultCode session state
      * @param binder handle to {@code IContentCaptureDirectManager}
@@ -227,8 +240,9 @@
         if (binder != null) {
             mDirectServiceInterface = IContentCaptureDirectManager.Stub.asInterface(binder);
             mDirectServiceVulture = () -> {
-                Log.w(TAG, "Destroying session " + mId + " because service died");
-                destroy();
+                Log.w(TAG, "Keeping session " + mId + " when service died");
+                mState = STATE_SERVICE_DIED;
+                mDisabled.set(true);
             };
             try {
                 binder.linkToDeath(mDirectServiceVulture, 0);
@@ -295,8 +309,7 @@
                     Log.v(TAG, "Buffering VIEW_TEXT_CHANGED event, updated text="
                             + getSanitizedString(event.getText()));
                 }
-                // TODO(b/124107816): should call lastEvent.merge(event) instead
-                lastEvent.setText(event.getText());
+                lastEvent.mergeEvent(event);
                 addEvent = false;
             }
         }
@@ -309,7 +322,7 @@
                     Log.v(TAG, "Buffering TYPE_VIEW_DISAPPEARED events for session "
                             + lastEvent.getSessionId());
                 }
-                mergeViewsDisappearedEvent(lastEvent, event);
+                lastEvent.mergeEvent(event);
                 addEvent = false;
             }
         }
@@ -323,7 +336,21 @@
         final boolean bufferEvent = numberEvents < maxBufferSize;
 
         if (bufferEvent && !forceFlush) {
-            scheduleFlush(FLUSH_REASON_IDLE_TIMEOUT, /* checkExisting= */ true);
+            final int flushReason;
+            if (eventType == TYPE_VIEW_TEXT_CHANGED) {
+                mNextFlushForTextChanged = true;
+                flushReason = FLUSH_REASON_TEXT_CHANGE_TIMEOUT;
+            } else {
+                if (mNextFlushForTextChanged) {
+                    if (sVerbose) {
+                        Log.i(TAG, "Not scheduling flush because next flush is for text changed");
+                    }
+                    return;
+                }
+
+                flushReason = FLUSH_REASON_IDLE_TIMEOUT;
+            }
+            scheduleFlush(flushReason, /* checkExisting= */ true);
             return;
         }
 
@@ -357,30 +384,6 @@
         flush(flushReason);
     }
 
-    // TODO(b/124107816): should be ContentCaptureEvent Event.merge(event) instead (which would
-    // replace the addAutofillId() method - we would also need unit tests on ContentCaptureEventTest
-    // to check these scenarios)
-    private void mergeViewsDisappearedEvent(@NonNull ContentCaptureEvent lastEvent,
-            @NonNull ContentCaptureEvent event) {
-        final List<AutofillId> ids = event.getIds();
-        final AutofillId id = event.getId();
-        if (ids != null) {
-            if (id != null) {
-                Log.w(TAG, "got TYPE_VIEW_DISAPPEARED event with both id and ids: " + event);
-            }
-            for (int i = 0; i < ids.size(); i++) {
-                lastEvent.addAutofillId(ids.get(i));
-            }
-            return;
-        }
-        if (id != null) {
-            lastEvent.addAutofillId(id);
-            return;
-        }
-        throw new IllegalArgumentException(
-                "got TYPE_VIEW_DISAPPEARED event with neither id or ids: " + event);
-    }
-
     @UiThread
     private boolean hasStarted() {
         return mState != UNKNOWN_STATE;
@@ -408,14 +411,25 @@
             // "Renew" the flush message by removing the previous one
             mHandler.removeMessages(MSG_FLUSH);
         }
-        final int idleFlushingFrequencyMs = mManager.mOptions.idleFlushingFrequencyMs;
-        mNextFlush = System.currentTimeMillis() + idleFlushingFrequencyMs;
+
+        final int flushFrequencyMs;
+        if (reason == FLUSH_REASON_IDLE_TIMEOUT) {
+            flushFrequencyMs = mManager.mOptions.idleFlushingFrequencyMs;
+        } else 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;
+        }
+
+        mNextFlush = System.currentTimeMillis() + flushFrequencyMs;
         if (sVerbose) {
             Log.v(TAG, "handleScheduleFlush(): scheduled to flush in "
-                    + idleFlushingFrequencyMs + "ms: " + TimeUtils.logTimeOfDay(mNextFlush));
+                    + flushFrequencyMs + "ms: " + TimeUtils.logTimeOfDay(mNextFlush));
         }
         // Post using a Runnable directly to trim a few μs from PooledLambda.obtainMessage()
-        mHandler.postDelayed(() -> flushIfNeeded(reason), MSG_FLUSH, idleFlushingFrequencyMs);
+        mHandler.postDelayed(() -> flushIfNeeded(reason), MSG_FLUSH, flushFrequencyMs);
     }
 
     @UiThread
@@ -464,6 +478,10 @@
         try {
             mHandler.removeMessages(MSG_FLUSH);
 
+            if (reason == FLUSH_REASON_TEXT_CHANGE_TIMEOUT) {
+                mNextFlushForTextChanged = false;
+            }
+
             final ParceledListSlice<ContentCaptureEvent> events = clearEvents();
             mDirectServiceInterface.sendEvents(events);
         } catch (RemoteException e) {
@@ -641,8 +659,14 @@
                     pw.println();
                 }
             }
+            pw.print(prefix); pw.print("mNextFlushForTextChanged: ");
+            pw.println(mNextFlushForTextChanged);
             pw.print(prefix); pw.print("flush frequency: ");
-            pw.println(mManager.mOptions.idleFlushingFrequencyMs);
+            if (mNextFlushForTextChanged) {
+                pw.println(mManager.mOptions.textChangeFlushingFrequencyMs);
+            } else {
+                pw.println(mManager.mOptions.idleFlushingFrequencyMs);
+            }
             pw.print(prefix); pw.print("next flush: ");
             TimeUtils.formatDuration(mNextFlush - System.currentTimeMillis(), pw);
             pw.print(" ("); pw.print(TimeUtils.logTimeOfDay(mNextFlush)); pw.println(")");
diff --git a/core/java/android/view/inputmethod/InputMethodManager.java b/core/java/android/view/inputmethod/InputMethodManager.java
index e63a406..5e00425 100644
--- a/core/java/android/view/inputmethod/InputMethodManager.java
+++ b/core/java/android/view/inputmethod/InputMethodManager.java
@@ -2559,6 +2559,12 @@
         mPendingEventPool.release(p);
     }
 
+    /**
+     * Show IME picker popup window.
+     *
+     * <p>Requires the {@link PackageManager#FEATURE_INPUT_METHODS} feature which can be detected
+     * using {@link PackageManager#hasSystemFeature(String)}.
+     */
     public void showInputMethodPicker() {
         synchronized (mH) {
             showInputMethodPickerLocked();
diff --git a/core/java/android/view/inspector/InspectableProperty.java b/core/java/android/view/inspector/InspectableProperty.java
index 30938c1..03f1ec5 100644
--- a/core/java/android/view/inspector/InspectableProperty.java
+++ b/core/java/android/view/inspector/InspectableProperty.java
@@ -87,21 +87,21 @@
      *
      * Note that {@link #enumMapping()} cannot be used simultaneously with {@link #flagMapping()}.
      *
-     * @return An array of {@link EnumMap}, empty if not applicable
+     * @return An array of {@link EnumEntry}, empty if not applicable
      * @see android.annotation.IntDef
      */
-    EnumMap[] enumMapping() default {};
+    EnumEntry[] enumMapping() default {};
 
     /**
      * For flags packed into primitive {int} properties, model the string names of the flags.
      *
      * Note that {@link #flagMapping()} cannot be used simultaneously with {@link #enumMapping()}.
      *
-     * @return An array of {@link FlagMap}, empty if not applicable
+     * @return An array of {@link FlagEntry}, empty if not applicable
      * @see android.annotation.IntDef
      * @see IntFlagMapping
      */
-    FlagMap[] flagMapping() default {};
+    FlagEntry[] flagMapping() default {};
 
 
     /**
@@ -113,7 +113,7 @@
     @Target({TYPE})
     @Retention(SOURCE)
     @TestApi
-    @interface EnumMap {
+    @interface EnumEntry {
         /**
          * The string name of this enumeration value.
          *
@@ -138,7 +138,7 @@
     @Target({TYPE})
     @Retention(SOURCE)
     @TestApi
-    @interface FlagMap {
+    @interface FlagEntry {
         /**
          * The string name of this flag.
          *
@@ -195,7 +195,7 @@
          *
          * This is inferred if {@link #enumMapping()} is specified.
          *
-         * @see EnumMap
+         * @see EnumEntry
          * @hide
          */
         @TestApi
@@ -206,7 +206,7 @@
          *
          * This is inferred if {@link #flagMapping()} is specified.
          *
-         * @see FlagMap
+         * @see FlagEntry
          * @hide
          */
         @TestApi
@@ -227,12 +227,23 @@
         /**
          * Value packs gravity information.
          *
-         * This type is not inferred, and is non-trivial to represent using {@link FlagMap}.
+         * This type is not inferred, and is non-trivial to represent using {@link FlagEntry}.
          *
          * @see android.view.Gravity
          * @hide
          */
         @TestApi
-        GRAVITY
+        GRAVITY,
+
+        /**
+         * Value is a resource ID
+         *
+         * This type is inferred from the presence of a resource ID annotation such as
+         * {@link android.annotation.AnyRes}.
+         *
+         * @hide
+         */
+        @TestApi
+        RESOURCE_ID
     }
 }
diff --git a/core/java/android/view/inspector/IntEnumMapping.java b/core/java/android/view/inspector/IntEnumMapping.java
deleted file mode 100644
index 147bb46..0000000
--- a/core/java/android/view/inspector/IntEnumMapping.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright 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 android.view.inspector;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.util.SparseArray;
-
-import java.util.Objects;
-
-/**
- * Maps the values of an {@code int} property to strings for properties that encode an enumeration.
- *
- * An {@link InspectionCompanion} may provide an instance of this class to a {@link PropertyMapper}
- * for flag values packed into primitive {@code int} properties.
- *
- * This class is an immutable wrapper for {@link SparseArray}, and must be constructed by a
- * {@link Builder}.
- *
- * @see PropertyMapper#mapIntEnum(String, int, IntEnumMapping)
- */
-public final class IntEnumMapping {
-    private final SparseArray<String> mValues;
-
-    /**
-     * Get the name for the given property value
-     *
-     * @param value The value of the property
-     * @return The name of the value in the enumeration, or null if no value is defined
-     */
-    @Nullable
-    public String get(int value) {
-        return mValues.get(value);
-    }
-
-    /**
-     * Create a new instance from a builder.
-     *
-     * This constructor is private, use {@link Builder#build()} instead.
-     *
-     * @param builder A builder to create from
-     */
-    private IntEnumMapping(Builder builder) {
-        mValues = builder.mValues.clone();
-    }
-
-    /**
-     * A builder for {@link IntEnumMapping}.
-     */
-    public static final class Builder {
-        @NonNull
-        private SparseArray<String> mValues;
-        private boolean mMustCloneValues = false;
-
-        public Builder() {
-            mValues = new SparseArray<>();
-        }
-
-        /**
-         * Add a new enumerated value.
-         *
-         * @param name The string name of the enumeration value
-         * @param value The {@code int} value of the enumeration value
-         * @return This builder
-         */
-        @NonNull
-        public Builder addValue(@NonNull String name, int value) {
-            // Save an allocation, only re-clone if the builder is used again after building
-            if (mMustCloneValues) {
-                mValues = mValues.clone();
-            }
-
-            mValues.put(value, Objects.requireNonNull(name));
-            return this;
-        }
-
-        /**
-         * Build a new {@link IntEnumMapping} from this builder.
-         *
-         * @return A new mapping
-         */
-        @NonNull
-        public IntEnumMapping build() {
-            mMustCloneValues = true;
-            return new IntEnumMapping(this);
-        }
-    }
-}
diff --git a/core/java/android/view/inspector/IntFlagMapping.java b/core/java/android/view/inspector/IntFlagMapping.java
index 2409081..f501329 100644
--- a/core/java/android/view/inspector/IntFlagMapping.java
+++ b/core/java/android/view/inspector/IntFlagMapping.java
@@ -21,6 +21,7 @@
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Objects;
 import java.util.Set;
 
@@ -35,22 +36,20 @@
  * it by bitwise anding it with the mask and comparing the result against the target, that is,
  * {@code (value & mask) == target}.
  *
- * This class is immutable, and must be constructed by a {@link Builder}.
- *
- * @see PropertyMapper#mapIntFlag(String, int, IntFlagMapping)
+ * @see PropertyMapper#mapIntFlag(String, int, java.util.function.IntFunction)
  */
 public final class IntFlagMapping {
-    private final Flag[] mFlags;
+    private final List<Flag> mFlags = new ArrayList<>();
 
     /**
-     * Get an array of the names of enabled flags for a given property value.
+     * Get a set of the names of enabled flags for a given property value.
      *
      * @param value The value of the property
      * @return The names of the enabled flags, empty if no flags enabled
      */
     @NonNull
     public Set<String> get(int value) {
-        final Set<String> enabledFlagNames = new HashSet<>(mFlags.length);
+        final Set<String> enabledFlagNames = new HashSet<>(mFlags.size());
 
         for (Flag flag : mFlags) {
             if (flag.isEnabledFor(value)) {
@@ -62,70 +61,14 @@
     }
 
     /**
-     * Create a new instance from a builder.
+     * Add a mutually exclusive flag to the map.
      *
-     * This constructor is private, use {@link Builder#build()} instead.
-     *
-     * @param builder A builder to create from
+     * @param mask The bit mask to compare to and with a value
+     * @param target The target value to compare the masked value with
+     * @param name The name of the flag to include if enabled
      */
-    private IntFlagMapping(Builder builder) {
-        mFlags = builder.mFlags.toArray(new Flag[builder.mFlags.size()]);
-    }
-
-    /**
-     * A builder for {@link IntFlagMapping}.
-     */
-    public static final class Builder {
-        private ArrayList<Flag> mFlags;
-
-        public Builder() {
-            mFlags = new ArrayList<>();
-        }
-
-        /**
-         * Add a new flag without a mask.
-         *
-         * The target value will be used as a mask, to handle the common case where flag values
-         * are not mutually exclusive. The flag will be considered enabled for a property value if
-         * the result of bitwise anding the target and the value equals the target, that is:
-         * {@code (value & target) == target}.
-         *
-         * @param name The name of the flag
-         * @param target The value to compare against
-         * @return This builder
-         */
-        @NonNull
-        public Builder addFlag(@NonNull String name, int target) {
-            mFlags.add(new Flag(name, target, target));
-            return this;
-        }
-
-        /**
-         * Add a new flag with a mask.
-         *
-         * The flag will be considered enabled for a property value if the result of bitwise anding
-         * the value and the mask equals the target, that is: {@code (value & mask) == target}.
-         *
-         * @param name The name of the flag
-         * @param target The value to compare against
-         * @param mask A bit mask
-         * @return This builder
-         */
-        @NonNull
-        public Builder addFlag(@NonNull String name, int target, int mask) {
-            mFlags.add(new Flag(name, target, mask));
-            return this;
-        }
-
-        /**
-         * Build a new {@link IntFlagMapping} from this builder.
-         *
-         * @return A new mapping
-         */
-        @NonNull
-        public IntFlagMapping build() {
-            return new IntFlagMapping(this);
-        }
+    public void add(int mask, int target, @NonNull String name) {
+        mFlags.add(new Flag(mask, target, name));
     }
 
     /**
@@ -136,10 +79,10 @@
         private final int mTarget;
         private final int mMask;
 
-        private Flag(@NonNull String name, int target, int mask) {
-            mName = Objects.requireNonNull(name);
+        private Flag(int mask, int target, @NonNull String name) {
             mTarget = target;
             mMask = mask;
+            mName = Objects.requireNonNull(name);
         }
 
         /**
diff --git a/core/java/android/view/inspector/PropertyMapper.java b/core/java/android/view/inspector/PropertyMapper.java
index 00b18d1..cbc690e 100644
--- a/core/java/android/view/inspector/PropertyMapper.java
+++ b/core/java/android/view/inspector/PropertyMapper.java
@@ -19,6 +19,9 @@
 import android.annotation.AttrRes;
 import android.annotation.NonNull;
 
+import java.util.Set;
+import java.util.function.IntFunction;
+
 /**
  * An interface for mapping the string names of inspectable properties to integer identifiers.
  *
@@ -154,7 +157,17 @@
     int mapIntEnum(
             @NonNull String name,
             @AttrRes int attributeId,
-            @NonNull IntEnumMapping mapping);
+            @NonNull IntFunction<String> mapping);
+
+    /**
+     * Map a string name to an integer ID for an attribute that contains resource IDs.
+     *
+     * @param name The name of the property
+     * @param attributeId If the property is from an XML attribute, the resource ID of the property
+     * @return An integer ID for the property
+     * @throws PropertyConflictException If the property name is already mapped as another type.
+     */
+    int mapResourceId(@NonNull String name, @AttrRes int attributeId);
 
     /**
      * Map a string name to an integer ID for a flag set packed into an int property.
@@ -168,7 +181,7 @@
     int mapIntFlag(
             @NonNull String name,
             @AttrRes int attributeId,
-            @NonNull IntFlagMapping mapping);
+            @NonNull IntFunction<Set<String>> mapping);
     /**
      * Thrown from a map method if a property name is already mapped as different type.
      */
diff --git a/core/java/android/view/inspector/PropertyReader.java b/core/java/android/view/inspector/PropertyReader.java
index a8b7ecc..b5020ce 100644
--- a/core/java/android/view/inspector/PropertyReader.java
+++ b/core/java/android/view/inspector/PropertyReader.java
@@ -16,6 +16,7 @@
 
 package android.view.inspector;
 
+import android.annotation.AnyRes;
 import android.annotation.ColorInt;
 import android.annotation.ColorLong;
 import android.annotation.NonNull;
@@ -150,7 +151,7 @@
     void readColor(int id, @Nullable Color value);
 
     /**
-     * Read {@link android.view.Gravity} packed into an primitive {int}.
+     * Read {@link android.view.Gravity} packed into an primitive {@code int}.
      *
      * @param id Identifier of the property from a {@link PropertyMapper}
      * @param value Value of the property
@@ -159,7 +160,7 @@
     void readGravity(int id, int value);
 
     /**
-     * Read an enumeration packed into a primitive {int}.
+     * Read an enumeration packed into a primitive {@code int}.
      *
      * @param id Identifier of the property from a {@link PropertyMapper}
      * @param value Value of the property
@@ -168,7 +169,7 @@
     void readIntEnum(int id, int value);
 
     /**
-     * Read a flag packed into a primitive {int}.
+     * Read a flag packed into a primitive {@code int}.
      *
      * @param id Identifier of the property from a {@link PropertyMapper}
      * @param value Value of the property
@@ -177,6 +178,15 @@
     void readIntFlag(int id, int value);
 
     /**
+     * Read an integer that contains a resource ID.
+     *
+     * @param id Identifier of the property from a {@link PropertyMapper}
+     * @param value Value of the property
+     * @throws PropertyTypeMismatchException If the property ID is not mapped as a resource ID.
+     */
+    void readResourceId(int id, @AnyRes int value);
+
+    /**
      * Thrown if a client calls a typed read method for a property of a different type.
      */
     class PropertyTypeMismatchException extends RuntimeException {
diff --git a/core/java/android/view/inspector/GeneratedInspectionCompanionProvider.java b/core/java/android/view/inspector/StaticInspectionCompanionProvider.java
similarity index 76%
rename from core/java/android/view/inspector/GeneratedInspectionCompanionProvider.java
rename to core/java/android/view/inspector/StaticInspectionCompanionProvider.java
index d4b7e85..42a892d 100644
--- a/core/java/android/view/inspector/GeneratedInspectionCompanionProvider.java
+++ b/core/java/android/view/inspector/StaticInspectionCompanionProvider.java
@@ -20,15 +20,15 @@
 import android.annotation.Nullable;
 
 /**
- * An inspection companion provider that loads pre-generated inspection companions
+ * An inspection companion provider that finds companions as inner classes or generated code.
  *
  * @see android.processor.view.inspector.PlatformInspectableProcessor
  */
-public class GeneratedInspectionCompanionProvider implements InspectionCompanionProvider {
+public class StaticInspectionCompanionProvider implements InspectionCompanionProvider {
     /**
-     * The suffix used for the generated class
+     * The suffix used for the generated classes and inner classes
      */
-    private static final String COMPANION_SUFFIX = "$$InspectionCompanion";
+    private static final String COMPANION_SUFFIX = "$InspectionCompanion";
 
     @Override
     @Nullable
@@ -39,7 +39,12 @@
         try {
             final Class<InspectionCompanion<T>> companionClass =
                     (Class<InspectionCompanion<T>>) cls.getClassLoader().loadClass(companionName);
-            return companionClass.newInstance();
+
+            if (InspectionCompanion.class.isAssignableFrom(companionClass)) {
+                return companionClass.newInstance();
+            } else {
+                return null;
+            }
         } catch (ClassNotFoundException e) {
             return null;
         } catch (IllegalAccessException e) {
diff --git a/core/java/android/view/textclassifier/ActionsSuggestionsHelper.java b/core/java/android/view/textclassifier/ActionsSuggestionsHelper.java
index efdc968..9c268f2 100644
--- a/core/java/android/view/textclassifier/ActionsSuggestionsHelper.java
+++ b/core/java/android/view/textclassifier/ActionsSuggestionsHelper.java
@@ -18,13 +18,18 @@
 
 import android.annotation.Nullable;
 import android.app.Person;
+import android.app.RemoteAction;
 import android.content.Context;
 import android.text.TextUtils;
 import android.util.ArrayMap;
+import android.util.Pair;
+import android.view.textclassifier.intent.LabeledIntent;
+import android.view.textclassifier.intent.TemplateIntentFactory;
 
 import com.android.internal.annotations.VisibleForTesting;
 
 import com.google.android.textclassifier.ActionsSuggestionsModel;
+import com.google.android.textclassifier.RemoteActionTemplate;
 
 import java.util.ArrayDeque;
 import java.util.ArrayList;
@@ -44,6 +49,7 @@
  */
 @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
 public final class ActionsSuggestionsHelper {
+    private static final String TAG = "ActionsSuggestions";
     private static final int USER_LOCAL = 0;
     private static final int FIRST_NON_LOCAL_USER = 1;
 
@@ -80,9 +86,12 @@
             long referenceTime = message.getReferenceTime() == null
                     ? 0
                     : message.getReferenceTime().toInstant().toEpochMilli();
+            String timeZone = message.getReferenceTime() == null
+                    ? null
+                    : message.getReferenceTime().getZone().getId();
             nativeMessages.push(new ActionsSuggestionsModel.ConversationMessage(
                     personEncoder.encode(message.getAuthor()),
-                    message.getText().toString(), referenceTime,
+                    message.getText().toString(), referenceTime, timeZone,
                     languageDetector.apply(message.getText())));
         }
         return nativeMessages.toArray(
@@ -112,18 +121,91 @@
     }
 
     /**
-     * Returns a {@link android.view.textclassifier.LabeledIntent.TitleChooser} for
-     * conversation actions use case.
+     * Generated labeled intent from an action suggestion and return the resolved result.
+     */
+    @Nullable
+    public static LabeledIntent.Result createLabeledIntentResult(
+            Context context,
+            TemplateIntentFactory templateIntentFactory,
+            ActionsSuggestionsModel.ActionSuggestion nativeSuggestion) {
+        RemoteActionTemplate[] remoteActionTemplates =
+                nativeSuggestion.getRemoteActionTemplates();
+        if (remoteActionTemplates == null) {
+            Log.w(TAG, "createRemoteAction: Missing template for type "
+                    + nativeSuggestion.getActionType());
+            return null;
+        }
+        List<LabeledIntent> labeledIntents = templateIntentFactory.create(remoteActionTemplates);
+        if (labeledIntents.isEmpty()) {
+            return null;
+        }
+        // Given that we only support implicit intent here, we should expect there is just one
+        // intent for each action type.
+        LabeledIntent.TitleChooser titleChooser =
+                ActionsSuggestionsHelper.createTitleChooser(nativeSuggestion.getActionType());
+        return labeledIntents.get(0).resolve(context, titleChooser, null);
+    }
+
+    /**
+     * Returns a {@link LabeledIntent.TitleChooser} for conversation actions use case.
      */
     @Nullable
     public static LabeledIntent.TitleChooser createTitleChooser(String actionType) {
         if (ConversationAction.TYPE_OPEN_URL.equals(actionType)) {
-            return (labeledIntent, resolveInfo) -> resolveInfo.handleAllWebDataURI
-                    ? labeledIntent.titleWithEntity : labeledIntent.titleWithoutEntity;
+            return (labeledIntent, resolveInfo) -> {
+                if (resolveInfo.handleAllWebDataURI) {
+                    return labeledIntent.titleWithEntity;
+                }
+                if ("android".equals(resolveInfo.activityInfo.packageName)) {
+                    return labeledIntent.titleWithEntity;
+                }
+                return labeledIntent.titleWithoutEntity;
+            };
         }
         return null;
     }
 
+    /**
+     * Returns a list of {@link ConversationAction}s that have 0 duplicates. Two actions are
+     * duplicates if they may look the same to users. This function assumes every
+     * ConversationActions with a non-null RemoteAction also have a non-null intent in the extras.
+     */
+    public static List<ConversationAction> removeActionsWithDuplicates(
+            List<ConversationAction> conversationActions) {
+        // Ideally, we should compare title and icon here, but comparing icon is expensive and thus
+        // we use the component name of the target handler as the heuristic.
+        Map<Pair<String, String>, Integer> counter = new ArrayMap<>();
+        for (ConversationAction conversationAction : conversationActions) {
+            Pair<String, String> representation = getRepresentation(conversationAction);
+            if (representation == null) {
+                continue;
+            }
+            Integer existingCount = counter.getOrDefault(representation, 0);
+            counter.put(representation, existingCount + 1);
+        }
+        List<ConversationAction> result = new ArrayList<>();
+        for (ConversationAction conversationAction : conversationActions) {
+            Pair<String, String> representation = getRepresentation(conversationAction);
+            if (representation == null || counter.getOrDefault(representation, 0) == 1) {
+                result.add(conversationAction);
+            }
+        }
+        return result;
+    }
+
+    @Nullable
+    private static Pair<String, String> getRepresentation(
+            ConversationAction conversationAction) {
+        RemoteAction remoteAction = conversationAction.getAction();
+        if (remoteAction == null) {
+            return null;
+        }
+        return new Pair<>(
+                conversationAction.getAction().getTitle().toString(),
+                ExtrasUtils.getActionIntent(
+                        conversationAction.getExtras()).getComponent().getPackageName());
+    }
+
     private static final class PersonEncoder {
         private final Map<Person, Integer> mMapping = new ArrayMap<>();
         private int mNextUserId = FIRST_NON_LOCAL_USER;
diff --git a/core/java/android/view/textclassifier/ConfigParser.java b/core/java/android/view/textclassifier/ConfigParser.java
new file mode 100644
index 0000000..8e0bdf9
--- /dev/null
+++ b/core/java/android/view/textclassifier/ConfigParser.java
@@ -0,0 +1,86 @@
+/*
+ * 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 android.view.textclassifier;
+
+import android.annotation.Nullable;
+import android.provider.DeviceConfig;
+import android.util.KeyValueListParser;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+/**
+ * Retrieves settings from {@link DeviceConfig} and {@link android.provider.Settings}.
+ * It will try DeviceConfig first and then Settings.
+ *
+ * @hide
+ */
+@VisibleForTesting
+public final class ConfigParser {
+    private static final String TAG = "ConfigParser";
+
+    private final KeyValueListParser mParser;
+
+    public ConfigParser(@Nullable String textClassifierConstants) {
+        final KeyValueListParser parser = new KeyValueListParser(',');
+        try {
+            parser.setString(textClassifierConstants);
+        } catch (IllegalArgumentException e) {
+            // Failed to parse the settings string, log this and move on with defaults.
+            Log.w(TAG, "Bad text_classifier_constants: " + textClassifierConstants);
+        }
+        mParser = parser;
+    }
+
+    /**
+     * Reads a boolean flag.
+     */
+    public boolean getBoolean(String key, boolean defaultValue) {
+        return DeviceConfig.getBoolean(
+                DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
+                key,
+                mParser.getBoolean(key, defaultValue));
+    }
+
+    /**
+     * Reads an integer flag.
+     */
+    public int getInt(String key, int defaultValue) {
+        return DeviceConfig.getInt(
+                DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
+                key,
+                mParser.getInt(key, defaultValue));
+    }
+
+    /**
+     * Reads a float flag.
+     */
+    public float getFloat(String key, float defaultValue) {
+        return DeviceConfig.getFloat(
+                DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
+                key,
+                mParser.getFloat(key, defaultValue));
+    }
+
+    /**
+     * Reads a string flag.
+     */
+    public String getString(String key, String defaultValue) {
+        return DeviceConfig.getString(
+                DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
+                key,
+                mParser.getString(key, defaultValue));
+    }
+}
diff --git a/core/java/android/view/textclassifier/ConversationAction.java b/core/java/android/view/textclassifier/ConversationAction.java
index 2b952a3..f2d878a 100644
--- a/core/java/android/view/textclassifier/ConversationAction.java
+++ b/core/java/android/view/textclassifier/ConversationAction.java
@@ -92,10 +92,15 @@
      */
     public static final String TYPE_SHARE_LOCATION = "share_location";
 
+    // TODO: Make this public API
     /** @hide **/
     public static final String TYPE_ADD_CONTACT = "add_contact";
 
-    public static final @android.annotation.NonNull Creator<ConversationAction> CREATOR =
+    // TODO: Make this public API
+    /** @hide **/
+    public static final String TYPE_COPY = "copy";
+
+    public static final @NonNull Creator<ConversationAction> CREATOR =
             new Creator<ConversationAction>() {
                 @Override
                 public ConversationAction createFromParcel(Parcel in) {
diff --git a/core/java/android/view/textclassifier/ConversationActions.java b/core/java/android/view/textclassifier/ConversationActions.java
index 9f9e666..dc75212 100644
--- a/core/java/android/view/textclassifier/ConversationActions.java
+++ b/core/java/android/view/textclassifier/ConversationActions.java
@@ -109,6 +109,7 @@
          *
          * @see Builder#Builder(Person)
          */
+        @NonNull
         public static final Person PERSON_USER_SELF =
                 new Person.Builder()
                         .setKey("text-classifier-conversation-actions-user-self")
@@ -123,6 +124,7 @@
          *
          * @see Builder#Builder(Person)
          */
+        @NonNull
         public static final Person PERSON_USER_OTHERS =
                 new Person.Builder()
                         .setKey("text-classifier-conversation-actions-user-others")
@@ -316,19 +318,15 @@
         private final List<String> mHints;
         @Nullable
         private String mCallingPackageName;
-        @Nullable
-        private final String mConversationId;
 
         private Request(
                 @NonNull List<Message> conversation,
                 @NonNull TextClassifier.EntityConfig typeConfig,
                 int maxSuggestions,
-                String conversationId,
                 @Nullable @Hint List<String> hints) {
             mConversation = Preconditions.checkNotNull(conversation);
             mTypeConfig = Preconditions.checkNotNull(typeConfig);
             mMaxSuggestions = maxSuggestions;
-            mConversationId = conversationId;
             mHints = hints;
         }
 
@@ -337,7 +335,6 @@
             in.readParcelableList(conversation, null);
             TextClassifier.EntityConfig typeConfig = in.readParcelable(null);
             int maxSuggestions = in.readInt();
-            String conversationId = in.readString();
             List<String> hints = new ArrayList<>();
             in.readStringList(hints);
             String callingPackageName = in.readString();
@@ -346,7 +343,6 @@
                     conversation,
                     typeConfig,
                     maxSuggestions,
-                    conversationId,
                     hints);
             request.setCallingPackageName(callingPackageName);
             return request;
@@ -357,7 +353,6 @@
             parcel.writeParcelableList(mConversation, flags);
             parcel.writeParcelable(mTypeConfig, flags);
             parcel.writeInt(mMaxSuggestions);
-            parcel.writeString(mConversationId);
             parcel.writeStringList(mHints);
             parcel.writeString(mCallingPackageName);
         }
@@ -401,16 +396,6 @@
             return mMaxSuggestions;
         }
 
-        /**
-         * Return an unique identifier of the conversation that is generating actions for. This
-         * identifier is unique within the calling package only, so use it with
-         * {@link #getCallingPackageName()}.
-         */
-        @Nullable
-        public String getConversationId() {
-            return mConversationId;
-        }
-
         /** Returns an immutable list of hints */
         @Nullable
         @Hint
@@ -446,8 +431,6 @@
             private TextClassifier.EntityConfig mTypeConfig;
             private int mMaxSuggestions = -1;
             @Nullable
-            private String mConversationId;
-            @Nullable
             @Hint
             private List<String> mHints;
 
@@ -465,6 +448,7 @@
              * Sets the hints to help text classifier to generate actions. It could be used to help
              * text classifier to infer what types of actions the caller may be interested in.
              */
+            @NonNull
             public Builder setHints(@Nullable @Hint List<String> hints) {
                 mHints = hints;
                 return this;
@@ -487,15 +471,6 @@
                 return this;
             }
 
-            /**
-             * Sets an unique identifier of the conversation that is generating actions for.
-             */
-            @NonNull
-            public Builder setConversationId(@Nullable String conversationId) {
-                mConversationId = conversationId;
-                return this;
-            }
-
             /** Builds the {@link Request} object. */
             @NonNull
             public Request build() {
@@ -505,7 +480,6 @@
                                 ? new TextClassifier.EntityConfig.Builder().build()
                                 : mTypeConfig,
                         mMaxSuggestions,
-                        mConversationId,
                         mHints == null
                                 ? Collections.emptyList()
                                 : Collections.unmodifiableList(mHints));
diff --git a/core/java/android/view/textclassifier/ExtrasUtils.java b/core/java/android/view/textclassifier/ExtrasUtils.java
index 2ad17a8..eadad28 100644
--- a/core/java/android/view/textclassifier/ExtrasUtils.java
+++ b/core/java/android/view/textclassifier/ExtrasUtils.java
@@ -19,6 +19,7 @@
 import android.annotation.Nullable;
 import android.app.RemoteAction;
 import android.content.Intent;
+import android.icu.util.ULocale;
 import android.os.Bundle;
 
 import java.util.ArrayList;
@@ -27,14 +28,18 @@
  * Utility class for inserting and retrieving data in TextClassifier request/response extras.
  * @hide
  */
+// TODO: Make this a TestApi for CTS testing.
 public final class ExtrasUtils {
 
+    private static final String ENTITIES_EXTRAS = "entities-extras";
+    private static final String ACTION_INTENT = "action-intent";
     private static final String ACTIONS_INTENTS = "actions-intents";
     private static final String FOREIGN_LANGUAGE = "foreign-language";
     private static final String ENTITY_TYPE = "entity-type";
     private static final String SCORE = "score";
     private static final String MODEL_VERSION = "model-version";
     private static final String MODEL_NAME = "model-name";
+    private static final String TEXT_LANGUAGES = "text-languages";
 
     private ExtrasUtils() {}
 
@@ -54,6 +59,8 @@
     /**
      * Stores {@code extra} as foreign language information in TextClassifier response object's
      * extras {@code container}.
+     *
+     * @see #getForeignLanguageExtra(TextClassification)
      */
     static void putForeignLanguageExtra(Bundle container, Bundle extra) {
         container.putParcelable(FOREIGN_LANGUAGE, extra);
@@ -62,13 +69,68 @@
     /**
      * Returns foreign language detection information contained in the TextClassification object.
      * responses.
+     *
+     * @see #putForeignLanguageExtra(Bundle, Bundle)
      */
     @Nullable
-    public static Bundle getForeignLanguageExtra(TextClassification classification) {
+    public static Bundle getForeignLanguageExtra(@Nullable TextClassification classification) {
+        if (classification == null) {
+            return null;
+        }
         return classification.getExtras().getBundle(FOREIGN_LANGUAGE);
     }
 
     /**
+     * @see #getTopLanguage(Intent)
+     */
+    static void putTopLanguageScores(Bundle container, EntityConfidence languageScores) {
+        final int maxSize = Math.min(3, languageScores.getEntities().size());
+        final String[] languages = languageScores.getEntities().subList(0, maxSize)
+                .toArray(new String[0]);
+        final float[] scores = new float[languages.length];
+        for (int i = 0; i < languages.length; i++) {
+            scores[i] = languageScores.getConfidenceScore(languages[i]);
+        }
+        container.putStringArray(ENTITY_TYPE, languages);
+        container.putFloatArray(SCORE, scores);
+    }
+
+    /**
+     * @see #putTopLanguageScores(Bundle, EntityConfidence)
+     */
+    @Nullable
+    public static ULocale getTopLanguage(@Nullable Intent intent) {
+        if (intent == null) {
+            return null;
+        }
+        final Bundle tcBundle = intent.getBundleExtra(TextClassifier.EXTRA_FROM_TEXT_CLASSIFIER);
+        if (tcBundle == null) {
+            return null;
+        }
+        final Bundle textLanguagesExtra = tcBundle.getBundle(TEXT_LANGUAGES);
+        if (textLanguagesExtra == null) {
+            return null;
+        }
+        final String[] languages = textLanguagesExtra.getStringArray(ENTITY_TYPE);
+        final float[] scores = textLanguagesExtra.getFloatArray(SCORE);
+        if (languages == null || scores == null
+                || languages.length == 0 || languages.length != scores.length) {
+            return null;
+        }
+        int highestScoringIndex = 0;
+        for (int i = 1; i < languages.length; i++) {
+            if (scores[highestScoringIndex] < scores[i]) {
+                highestScoringIndex = i;
+            }
+        }
+        return ULocale.forLanguageTag(languages[highestScoringIndex]);
+    }
+
+    public static void putTextLanguagesExtra(Bundle container, Bundle extra) {
+        container.putBundle(TEXT_LANGUAGES, extra);
+    }
+
+    /**
      * Stores {@code actionIntents} information in TextClassifier response object's extras
      * {@code container}.
      */
@@ -77,10 +139,53 @@
     }
 
     /**
+     * Stores {@code actionIntents} information in TextClassifier response object's extras
+     * {@code container}.
+     */
+    public static void putActionIntent(Bundle container, @Nullable Intent actionIntent) {
+        container.putParcelable(ACTION_INTENT, actionIntent);
+    }
+
+    /**
+     * Returns {@code actionIntent} information contained in a TextClassifier response object.
+     */
+    @Nullable
+    public static Intent getActionIntent(Bundle container) {
+        return container.getParcelable(ACTION_INTENT);
+    }
+
+    /**
+     * Stores {@code entities} information in TextClassifier response object's extras
+     * {@code container}.
+     *
+     * @see {@link #getCopyText(Bundle)}
+     */
+    public static void putEntitiesExtras(Bundle container, @Nullable Bundle entitiesExtras) {
+        container.putParcelable(ENTITIES_EXTRAS, entitiesExtras);
+    }
+
+    /**
+     * Returns {@code entities} information contained in a TextClassifier response object.
+     *
+     * @see {@link #putEntitiesExtras(Bundle, Bundle)}
+     */
+    @Nullable
+    public static String getCopyText(Bundle container) {
+        Bundle entitiesExtras = container.getParcelable(ENTITIES_EXTRAS);
+        if (entitiesExtras == null) {
+            return null;
+        }
+        return entitiesExtras.getString("text");
+    }
+
+    /**
      * Returns {@code actionIntents} information contained in the TextClassification object.
      */
     @Nullable
-    public static ArrayList<Intent> getActionsIntents(TextClassification classification) {
+    public static ArrayList<Intent> getActionsIntents(@Nullable TextClassification classification) {
+        if (classification == null) {
+            return null;
+        }
         return classification.getExtras().getParcelableArrayList(ACTIONS_INTENTS);
     }
 
@@ -89,7 +194,11 @@
      * action string, {@code intentAction}.
      */
     @Nullable
-    public static RemoteAction findAction(TextClassification classification, String intentAction) {
+    public static RemoteAction findAction(
+            @Nullable TextClassification classification, @Nullable String intentAction) {
+        if (classification == null || intentAction == null) {
+            return null;
+        }
         final ArrayList<Intent> actionIntents = getActionsIntents(classification);
         if (actionIntents != null) {
             final int size = actionIntents.size();
@@ -107,7 +216,7 @@
      * Returns the first "translate" action found in the {@code classification} object.
      */
     @Nullable
-    public static RemoteAction findTranslateAction(TextClassification classification) {
+    public static RemoteAction findTranslateAction(@Nullable TextClassification classification) {
         return findAction(classification, Intent.ACTION_TRANSLATE);
     }
 
@@ -115,7 +224,10 @@
      * Returns the entity type contained in the {@code extra}.
      */
     @Nullable
-    public static String getEntityType(Bundle extra) {
+    public static String getEntityType(@Nullable Bundle extra) {
+        if (extra == null) {
+            return null;
+        }
         return extra.getString(ENTITY_TYPE);
     }
 
@@ -124,14 +236,21 @@
      */
     @Nullable
     public static float getScore(Bundle extra) {
-        return extra.getFloat(SCORE, -1);
+        final int defaultValue = -1;
+        if (extra == null) {
+            return defaultValue;
+        }
+        return extra.getFloat(SCORE, defaultValue);
     }
 
     /**
      * Returns the model name contained in the {@code extra}.
      */
     @Nullable
-    public static String getModelName(Bundle extra) {
+    public static String getModelName(@Nullable Bundle extra) {
+        if (extra == null) {
+            return null;
+        }
         return extra.getString(MODEL_NAME);
     }
 }
diff --git a/core/java/android/view/textclassifier/Log.java b/core/java/android/view/textclassifier/Log.java
index 5c60c09..03ed496 100644
--- a/core/java/android/view/textclassifier/Log.java
+++ b/core/java/android/view/textclassifier/Log.java
@@ -22,8 +22,10 @@
  * To enable full log:
  * 1. adb shell setprop log.tag.androidtc VERBOSE
  * 2. adb shell stop && adb shell start
+ *
+ * @hide
  */
-final class Log {
+public final class Log {
 
     /**
      * true: Enables full logging.
diff --git a/core/java/android/view/textclassifier/SystemTextClassifier.java b/core/java/android/view/textclassifier/SystemTextClassifier.java
index 8b370f5..8f8766e 100644
--- a/core/java/android/view/textclassifier/SystemTextClassifier.java
+++ b/core/java/android/view/textclassifier/SystemTextClassifier.java
@@ -20,15 +20,14 @@
 import android.annotation.Nullable;
 import android.annotation.WorkerThread;
 import android.content.Context;
+import android.os.Bundle;
 import android.os.Looper;
+import android.os.Parcelable;
 import android.os.RemoteException;
 import android.os.ServiceManager;
-import android.service.textclassifier.IConversationActionsCallback;
-import android.service.textclassifier.ITextClassificationCallback;
+import android.service.textclassifier.ITextClassifierCallback;
 import android.service.textclassifier.ITextClassifierService;
-import android.service.textclassifier.ITextLanguageCallback;
-import android.service.textclassifier.ITextLinksCallback;
-import android.service.textclassifier.ITextSelectionCallback;
+import android.service.textclassifier.TextClassifierService;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.annotations.VisibleForTesting.Visibility;
@@ -73,9 +72,10 @@
         Utils.checkMainThread();
         try {
             request.setCallingPackageName(mPackageName);
-            final TextSelectionCallback callback = new TextSelectionCallback();
+            final BlockingCallback<TextSelection> callback =
+                    new BlockingCallback<>("textselection");
             mManagerService.onSuggestSelection(mSessionId, request, callback);
-            final TextSelection selection = callback.mReceiver.get();
+            final TextSelection selection = callback.get();
             if (selection != null) {
                 return selection;
             }
@@ -95,9 +95,10 @@
         Utils.checkMainThread();
         try {
             request.setCallingPackageName(mPackageName);
-            final TextClassificationCallback callback = new TextClassificationCallback();
+            final BlockingCallback<TextClassification> callback =
+                    new BlockingCallback<>("textclassification");
             mManagerService.onClassifyText(mSessionId, request, callback);
-            final TextClassification classification = callback.mReceiver.get();
+            final TextClassification classification = callback.get();
             if (classification != null) {
                 return classification;
             }
@@ -122,9 +123,10 @@
 
         try {
             request.setCallingPackageName(mPackageName);
-            final TextLinksCallback callback = new TextLinksCallback();
+            final BlockingCallback<TextLinks> callback =
+                    new BlockingCallback<>("textlinks");
             mManagerService.onGenerateLinks(mSessionId, request, callback);
-            final TextLinks links = callback.mReceiver.get();
+            final TextLinks links = callback.get();
             if (links != null) {
                 return links;
             }
@@ -165,9 +167,10 @@
 
         try {
             request.setCallingPackageName(mPackageName);
-            final TextLanguageCallback callback = new TextLanguageCallback();
+            final BlockingCallback<TextLanguage> callback =
+                    new BlockingCallback<>("textlanguage");
             mManagerService.onDetectLanguage(mSessionId, request, callback);
-            final TextLanguage textLanguage = callback.mReceiver.get();
+            final TextLanguage textLanguage = callback.get();
             if (textLanguage != null) {
                 return textLanguage;
             }
@@ -184,9 +187,10 @@
 
         try {
             request.setCallingPackageName(mPackageName);
-            final ConversationActionsCallback callback = new ConversationActionsCallback();
+            final BlockingCallback<ConversationActions> callback =
+                    new BlockingCallback<>("conversation-actions");
             mManagerService.onSuggestConversationActions(mSessionId, request, callback);
-            final ConversationActions conversationActions = callback.mReceiver.get();
+            final ConversationActions conversationActions = callback.get();
             if (conversationActions != null) {
                 return conversationActions;
             }
@@ -245,82 +249,28 @@
         }
     }
 
-    private static final class TextSelectionCallback extends ITextSelectionCallback.Stub {
+    private static final class BlockingCallback<T extends Parcelable>
+            extends ITextClassifierCallback.Stub {
+        private final ResponseReceiver<T> mReceiver;
 
-        final ResponseReceiver<TextSelection> mReceiver = new ResponseReceiver<>("textselection");
+        BlockingCallback(String name) {
+            mReceiver = new ResponseReceiver<>(name);
+        }
 
         @Override
-        public void onSuccess(TextSelection selection) {
-            mReceiver.onSuccess(selection);
+        public void onSuccess(Bundle result) {
+            mReceiver.onSuccess(TextClassifierService.getResponse(result));
         }
 
         @Override
         public void onFailure() {
             mReceiver.onFailure();
         }
-    }
 
-    private static final class TextClassificationCallback extends ITextClassificationCallback.Stub {
-
-        final ResponseReceiver<TextClassification> mReceiver =
-                new ResponseReceiver<>("textclassification");
-
-        @Override
-        public void onSuccess(TextClassification classification) {
-            mReceiver.onSuccess(classification);
+        public T get() {
+            return mReceiver.get();
         }
 
-        @Override
-        public void onFailure() {
-            mReceiver.onFailure();
-        }
-    }
-
-    private static final class TextLinksCallback extends ITextLinksCallback.Stub {
-
-        final ResponseReceiver<TextLinks> mReceiver = new ResponseReceiver<>("textlinks");
-
-        @Override
-        public void onSuccess(TextLinks links) {
-            mReceiver.onSuccess(links);
-        }
-
-        @Override
-        public void onFailure() {
-            mReceiver.onFailure();
-        }
-    }
-
-    private static final class TextLanguageCallback extends ITextLanguageCallback.Stub {
-
-        final ResponseReceiver<TextLanguage> mReceiver = new ResponseReceiver<>("textlanguage");
-
-        @Override
-        public void onSuccess(TextLanguage textLanguage) {
-            mReceiver.onSuccess(textLanguage);
-        }
-
-        @Override
-        public void onFailure() {
-            mReceiver.onFailure();
-        }
-    }
-
-    private static final class ConversationActionsCallback
-            extends IConversationActionsCallback.Stub {
-
-        final ResponseReceiver<ConversationActions> mReceiver =
-                new ResponseReceiver<>("conversationaction");
-
-        @Override
-        public void onSuccess(ConversationActions conversationActions) {
-            mReceiver.onSuccess(conversationActions);
-        }
-
-        @Override
-        public void onFailure() {
-            mReceiver.onFailure();
-        }
     }
 
     private static final class ResponseReceiver<T> {
diff --git a/core/java/android/view/textclassifier/TextClassification.java b/core/java/android/view/textclassifier/TextClassification.java
index 034da01..a275f0f 100644
--- a/core/java/android/view/textclassifier/TextClassification.java
+++ b/core/java/android/view/textclassifier/TextClassification.java
@@ -25,8 +25,6 @@
 import android.app.RemoteAction;
 import android.content.Context;
 import android.content.Intent;
-import android.content.pm.PackageManager;
-import android.content.pm.ResolveInfo;
 import android.content.res.Resources;
 import android.graphics.BitmapFactory;
 import android.graphics.drawable.AdaptiveIconDrawable;
@@ -304,53 +302,10 @@
      * @throws IllegalArgumentException if context or intent is null
      * @hide
      */
-    @Nullable
     public static PendingIntent createPendingIntent(
             @NonNull final Context context, @NonNull final Intent intent, int requestCode) {
-        final int flags = PendingIntent.FLAG_UPDATE_CURRENT;
-        switch (getIntentType(intent, context)) {
-            case IntentType.ACTIVITY:
-                return PendingIntent.getActivity(context, requestCode, intent, flags);
-            case IntentType.SERVICE:
-                return PendingIntent.getService(context, requestCode, intent, flags);
-            default:
-                return null;
-        }
-    }
-
-    @IntentType
-    private static int getIntentType(@NonNull Intent intent, @NonNull Context context) {
-        Preconditions.checkArgument(context != null);
-        Preconditions.checkArgument(intent != null);
-
-        final ResolveInfo activityRI = context.getPackageManager().resolveActivity(intent, 0);
-        if (activityRI != null) {
-            if (context.getPackageName().equals(activityRI.activityInfo.packageName)) {
-                return IntentType.ACTIVITY;
-            }
-            final boolean exported = activityRI.activityInfo.exported;
-            if (exported && hasPermission(context, activityRI.activityInfo.permission)) {
-                return IntentType.ACTIVITY;
-            }
-        }
-
-        final ResolveInfo serviceRI = context.getPackageManager().resolveService(intent, 0);
-        if (serviceRI != null) {
-            if (context.getPackageName().equals(serviceRI.serviceInfo.packageName)) {
-                return IntentType.SERVICE;
-            }
-            final boolean exported = serviceRI.serviceInfo.exported;
-            if (exported && hasPermission(context, serviceRI.serviceInfo.permission)) {
-                return IntentType.SERVICE;
-            }
-        }
-
-        return IntentType.UNSUPPORTED;
-    }
-
-    private static boolean hasPermission(@NonNull Context context, @NonNull String permission) {
-        return permission == null
-                || context.checkSelfPermission(permission) == PackageManager.PERMISSION_GRANTED;
+        return PendingIntent.getActivity(
+                context, requestCode, intent, PendingIntent.FLAG_UPDATE_CURRENT);
     }
 
     /**
diff --git a/core/java/android/view/textclassifier/TextClassificationConstants.java b/core/java/android/view/textclassifier/TextClassificationConstants.java
index 2ef8d04..876e5cc 100644
--- a/core/java/android/view/textclassifier/TextClassificationConstants.java
+++ b/core/java/android/view/textclassifier/TextClassificationConstants.java
@@ -17,8 +17,6 @@
 package android.view.textclassifier;
 
 import android.annotation.Nullable;
-import android.util.KeyValueListParser;
-import android.util.Slog;
 
 import com.android.internal.util.IndentingPrintWriter;
 
@@ -32,22 +30,27 @@
  * This is encoded as a key=value list, separated by commas. Ex:
  *
  * <pre>
- * smart_linkify_enabled                    (boolean)
- * system_textclassifier_enabled            (boolean)
- * model_dark_launch_enabled                (boolean)
- * smart_selection_enabled                  (boolean)
- * smart_text_share_enabled                 (boolean)
- * smart_linkify_enabled                    (boolean)
- * smart_select_animation_enabled           (boolean)
- * suggest_selection_max_range_length       (int)
- * classify_text_max_range_length           (int)
- * generate_links_max_text_length           (int)
- * generate_links_log_sample_rate           (int)
- * entity_list_default                      (String[])
- * entity_list_not_editable                 (String[])
- * entity_list_editable                     (String[])
- * lang_id_threshold_override               (float)
- * template_intent_factory_enabled          (boolean)
+ * smart_linkify_enabled                            (boolean)
+ * system_textclassifier_enabled                    (boolean)
+ * model_dark_launch_enabled                        (boolean)
+ * smart_selection_enabled                          (boolean)
+ * smart_text_share_enabled                         (boolean)
+ * smart_linkify_enabled                            (boolean)
+ * smart_select_animation_enabled                   (boolean)
+ * suggest_selection_max_range_length               (int)
+ * classify_text_max_range_length                   (int)
+ * generate_links_max_text_length                   (int)
+ * generate_links_log_sample_rate                   (int)
+ * entity_list_default                              (String[])
+ * entity_list_not_editable                         (String[])
+ * entity_list_editable                             (String[])
+ * in_app_conversation_action_types_default         (String[])
+ * notification_conversation_action_types_default   (String[])
+ * lang_id_threshold_override                       (float)
+ * template_intent_factory_enabled                  (boolean)
+ * translate_in_classification_enabled              (boolean)
+ * detect_languages_from_text_enabled               (boolean)
+ * lang_id_context_settings                         (float[])
  * </pre>
  *
  * <p>
@@ -56,49 +59,123 @@
  *
  * Example of setting the values for testing.
  * adb shell settings put global text_classifier_constants \
- *      model_dark_launch_enabled=true,smart_selection_enabled=true,\
- *      entity_list_default=phone:address
+ *      model_dark_launch_enabled=true,smart_selection_enabled=true, \
+ *      entity_list_default=phone:address, \
+ *      lang_id_context_settings=20:1.0:0.4
  * @hide
  */
 public final class TextClassificationConstants {
 
-    private static final String LOG_TAG = "TextClassificationConstants";
+    private static final String LOG_TAG = TextClassifier.DEFAULT_LOG_TAG;
 
-    private static final String LOCAL_TEXT_CLASSIFIER_ENABLED =
-            "local_textclassifier_enabled";
-    private static final String SYSTEM_TEXT_CLASSIFIER_ENABLED =
-            "system_textclassifier_enabled";
-    private static final String MODEL_DARK_LAUNCH_ENABLED =
-            "model_dark_launch_enabled";
-    private static final String SMART_SELECTION_ENABLED =
-            "smart_selection_enabled";
-    private static final String SMART_TEXT_SHARE_ENABLED =
-            "smart_text_share_enabled";
-    private static final String SMART_LINKIFY_ENABLED =
-            "smart_linkify_enabled";
+    /**
+     * Whether the smart linkify feature is enabled.
+     */
+    private static final String SMART_LINKIFY_ENABLED = "smart_linkify_enabled";
+    /**
+     * Whether SystemTextClassifier is enabled.
+     */
+    private static final String SYSTEM_TEXT_CLASSIFIER_ENABLED = "system_textclassifier_enabled";
+    /**
+     * Whether TextClassifierImpl is enabled.
+     */
+    private static final String LOCAL_TEXT_CLASSIFIER_ENABLED = "local_textclassifier_enabled";
+    /**
+     * Enable smart selection without a visible UI changes.
+     */
+    private static final String MODEL_DARK_LAUNCH_ENABLED = "model_dark_launch_enabled";
+
+    /**
+     * Whether the smart selection feature is enabled.
+     */
+    private static final String SMART_SELECTION_ENABLED = "smart_selection_enabled";
+    /**
+     * Whether the smart text share feature is enabled.
+     */
+    private static final String SMART_TEXT_SHARE_ENABLED = "smart_text_share_enabled";
+    /**
+     * Whether animation for smart selection is enabled.
+     */
     private static final String SMART_SELECT_ANIMATION_ENABLED =
             "smart_select_animation_enabled";
+    /**
+     * Max length of text that suggestSelection can accept.
+     */
     private static final String SUGGEST_SELECTION_MAX_RANGE_LENGTH =
             "suggest_selection_max_range_length";
-    private static final String CLASSIFY_TEXT_MAX_RANGE_LENGTH =
-            "classify_text_max_range_length";
-    private static final String GENERATE_LINKS_MAX_TEXT_LENGTH =
-            "generate_links_max_text_length";
+    /**
+     * Max length of text that classifyText can accept.
+     */
+    private static final String CLASSIFY_TEXT_MAX_RANGE_LENGTH = "classify_text_max_range_length";
+    /**
+     * Max length of text that generateLinks can accept.
+     */
+    private static final String GENERATE_LINKS_MAX_TEXT_LENGTH = "generate_links_max_text_length";
+    /**
+     * Sampling rate for generateLinks logging.
+     */
     private static final String GENERATE_LINKS_LOG_SAMPLE_RATE =
             "generate_links_log_sample_rate";
-    private static final String ENTITY_LIST_DEFAULT =
-            "entity_list_default";
-    private static final String ENTITY_LIST_NOT_EDITABLE =
-            "entity_list_not_editable";
-    private static final String ENTITY_LIST_EDITABLE =
-            "entity_list_editable";
+    /**
+     * A colon(:) separated string that specifies the default entities types for
+     * generateLinks when hint is not given.
+     */
+    private static final String ENTITY_LIST_DEFAULT = "entity_list_default";
+    /**
+     * A colon(:) separated string that specifies the default entities types for
+     * generateLinks when the text is in a not editable UI widget.
+     */
+    private static final String ENTITY_LIST_NOT_EDITABLE = "entity_list_not_editable";
+    /**
+     * A colon(:) separated string that specifies the default entities types for
+     * generateLinks when the text is in an editable UI widget.
+     */
+    private static final String ENTITY_LIST_EDITABLE = "entity_list_editable";
+    /**
+     * A colon(:) separated string that specifies the default action types for
+     * suggestConversationActions when the suggestions are used in an app.
+     */
     private static final String IN_APP_CONVERSATION_ACTION_TYPES_DEFAULT =
             "in_app_conversation_action_types_default";
+    /**
+     * A colon(:) separated string that specifies the default action types for
+     * suggestConversationActions when the suggestions are used in a notification.
+     */
     private static final String NOTIFICATION_CONVERSATION_ACTION_TYPES_DEFAULT =
             "notification_conversation_action_types_default";
-    private static final String LANG_ID_THRESHOLD_OVERRIDE =
-            "lang_id_threshold_override";
+    /**
+     * Threshold to accept a suggested language from LangID model.
+     */
+    private static final String LANG_ID_THRESHOLD_OVERRIDE = "lang_id_threshold_override";
+    /**
+     * Whether to enable {@link android.view.textclassifier.TemplateIntentFactory}.
+     */
     private static final String TEMPLATE_INTENT_FACTORY_ENABLED = "template_intent_factory_enabled";
+    /**
+     * Whether to enable "translate" action in classifyText.
+     */
+    private static final String TRANSLATE_IN_CLASSIFICATION_ENABLED =
+            "translate_in_classification_enabled";
+    /**
+     * Whether to detect the languages of the text in request by using langId for the native
+     * model.
+     */
+    private static final String DETECT_LANGUAGES_FROM_TEXT_ENABLED =
+            "detect_languages_from_text_enabled";
+    /**
+     * A colon(:) separated string that specifies the configuration to use when including
+     * surrounding context text in language detection queries.
+     * <p>
+     * Format= minimumTextSize<int>:penalizeRatio<float>:textScoreRatio<float>
+     * <p>
+     * e.g. 20:1.0:0.4
+     * <p>
+     * Accept all text lengths with minimumTextSize=0
+     * <p>
+     * Reject all text less than minimumTextSize with penalizeRatio=0
+     * @see {@code TextClassifierImpl#detectLanguages(String, int, int)} for reference.
+     */
+    private static final String LANG_ID_CONTEXT_SETTINGS = "lang_id_context_settings";
 
     private static final boolean LOCAL_TEXT_CLASSIFIER_ENABLED_DEFAULT = true;
     private static final boolean SYSTEM_TEXT_CLASSIFIER_ENABLED_DEFAULT = true;
@@ -132,15 +209,20 @@
                     .add(ConversationAction.TYPE_VIEW_CALENDAR)
                     .add(ConversationAction.TYPE_VIEW_MAP)
                     .add(ConversationAction.TYPE_ADD_CONTACT)
+                    .add(ConversationAction.TYPE_COPY)
                     .toString();
     /**
      * < 0  : Not set. Use value from LangId model.
      * 0 - 1: Override value in LangId model.
-     * > 1  : Effectively turns off the foreign language detection. Scores should never be > 1.
+     *
      * @see EntityConfidence
      */
     private static final float LANG_ID_THRESHOLD_OVERRIDE_DEFAULT = -1f;
     private static final boolean TEMPLATE_INTENT_FACTORY_ENABLED_DEFAULT = true;
+    private static final boolean TRANSLATE_IN_CLASSIFICATION_ENABLED_DEFAULT = true;
+    private static final boolean DETECT_LANGUAGES_FROM_TEXT_ENABLED_DEFAULT = true;
+    private static final String LANG_ID_CONTEXT_SETTINGS_DEFAULT =
+            new StringJoiner(STRING_LIST_DELIMITER).add("20").add("1.0").add("0.4").toString();
 
     private final boolean mSystemTextClassifierEnabled;
     private final boolean mLocalTextClassifierEnabled;
@@ -160,68 +242,96 @@
     private final List<String> mNotificationConversationActionTypesDefault;
     private final float mLangIdThresholdOverride;
     private final boolean mTemplateIntentFactoryEnabled;
+    private final boolean mTranslateInClassificationEnabled;
+    private final boolean mDetectLanguagesFromTextEnabled;
+    private final float[] mLangIdContextSettings;
 
     private TextClassificationConstants(@Nullable String settings) {
-        final KeyValueListParser parser = new KeyValueListParser(',');
-        try {
-            parser.setString(settings);
-        } catch (IllegalArgumentException e) {
-            // Failed to parse the settings string, log this and move on with defaults.
-            Slog.e(LOG_TAG, "Bad TextClassifier settings: " + settings);
-        }
-        mSystemTextClassifierEnabled = parser.getBoolean(
-                SYSTEM_TEXT_CLASSIFIER_ENABLED,
-                SYSTEM_TEXT_CLASSIFIER_ENABLED_DEFAULT);
-        mLocalTextClassifierEnabled = parser.getBoolean(
-                LOCAL_TEXT_CLASSIFIER_ENABLED,
-                LOCAL_TEXT_CLASSIFIER_ENABLED_DEFAULT);
-        mModelDarkLaunchEnabled = parser.getBoolean(
-                MODEL_DARK_LAUNCH_ENABLED,
-                MODEL_DARK_LAUNCH_ENABLED_DEFAULT);
-        mSmartSelectionEnabled = parser.getBoolean(
-                SMART_SELECTION_ENABLED,
-                SMART_SELECTION_ENABLED_DEFAULT);
-        mSmartTextShareEnabled = parser.getBoolean(
-                SMART_TEXT_SHARE_ENABLED,
-                SMART_TEXT_SHARE_ENABLED_DEFAULT);
-        mSmartLinkifyEnabled = parser.getBoolean(
-                SMART_LINKIFY_ENABLED,
-                SMART_LINKIFY_ENABLED_DEFAULT);
-        mSmartSelectionAnimationEnabled = parser.getBoolean(
-                SMART_SELECT_ANIMATION_ENABLED,
-                SMART_SELECT_ANIMATION_ENABLED_DEFAULT);
-        mSuggestSelectionMaxRangeLength = parser.getInt(
-                SUGGEST_SELECTION_MAX_RANGE_LENGTH,
-                SUGGEST_SELECTION_MAX_RANGE_LENGTH_DEFAULT);
-        mClassifyTextMaxRangeLength = parser.getInt(
-                CLASSIFY_TEXT_MAX_RANGE_LENGTH,
-                CLASSIFY_TEXT_MAX_RANGE_LENGTH_DEFAULT);
-        mGenerateLinksMaxTextLength = parser.getInt(
-                GENERATE_LINKS_MAX_TEXT_LENGTH,
-                GENERATE_LINKS_MAX_TEXT_LENGTH_DEFAULT);
-        mGenerateLinksLogSampleRate = parser.getInt(
-                GENERATE_LINKS_LOG_SAMPLE_RATE,
-                GENERATE_LINKS_LOG_SAMPLE_RATE_DEFAULT);
-        mEntityListDefault = parseStringList(parser.getString(
-                ENTITY_LIST_DEFAULT,
-                ENTITY_LIST_DEFAULT_VALUE));
-        mEntityListNotEditable = parseStringList(parser.getString(
-                ENTITY_LIST_NOT_EDITABLE,
-                ENTITY_LIST_DEFAULT_VALUE));
-        mEntityListEditable = parseStringList(parser.getString(
-                ENTITY_LIST_EDITABLE,
-                ENTITY_LIST_DEFAULT_VALUE));
-        mInAppConversationActionTypesDefault = parseStringList(parser.getString(
-                IN_APP_CONVERSATION_ACTION_TYPES_DEFAULT,
-                CONVERSATION_ACTIONS_TYPES_DEFAULT_VALUES));
-        mNotificationConversationActionTypesDefault = parseStringList(parser.getString(
-                NOTIFICATION_CONVERSATION_ACTION_TYPES_DEFAULT,
-                CONVERSATION_ACTIONS_TYPES_DEFAULT_VALUES));
-        mLangIdThresholdOverride = parser.getFloat(
-                LANG_ID_THRESHOLD_OVERRIDE,
-                LANG_ID_THRESHOLD_OVERRIDE_DEFAULT);
-        mTemplateIntentFactoryEnabled = parser.getBoolean(
-                TEMPLATE_INTENT_FACTORY_ENABLED, TEMPLATE_INTENT_FACTORY_ENABLED_DEFAULT);
+        ConfigParser configParser = new ConfigParser(settings);
+        mSystemTextClassifierEnabled =
+                configParser.getBoolean(
+                        SYSTEM_TEXT_CLASSIFIER_ENABLED,
+                        SYSTEM_TEXT_CLASSIFIER_ENABLED_DEFAULT);
+        mLocalTextClassifierEnabled =
+                configParser.getBoolean(
+                        LOCAL_TEXT_CLASSIFIER_ENABLED,
+                        LOCAL_TEXT_CLASSIFIER_ENABLED_DEFAULT);
+        mModelDarkLaunchEnabled =
+                configParser.getBoolean(
+                        MODEL_DARK_LAUNCH_ENABLED,
+                        MODEL_DARK_LAUNCH_ENABLED_DEFAULT);
+        mSmartSelectionEnabled =
+                configParser.getBoolean(
+                        SMART_SELECTION_ENABLED,
+                        SMART_SELECTION_ENABLED_DEFAULT);
+        mSmartTextShareEnabled =
+                configParser.getBoolean(
+                        SMART_TEXT_SHARE_ENABLED,
+                        SMART_TEXT_SHARE_ENABLED_DEFAULT);
+        mSmartLinkifyEnabled =
+                configParser.getBoolean(
+                        SMART_LINKIFY_ENABLED,
+                        SMART_LINKIFY_ENABLED_DEFAULT);
+        mSmartSelectionAnimationEnabled =
+                configParser.getBoolean(
+                        SMART_SELECT_ANIMATION_ENABLED,
+                        SMART_SELECT_ANIMATION_ENABLED_DEFAULT);
+        mSuggestSelectionMaxRangeLength =
+                configParser.getInt(
+                        SUGGEST_SELECTION_MAX_RANGE_LENGTH,
+                        SUGGEST_SELECTION_MAX_RANGE_LENGTH_DEFAULT);
+        mClassifyTextMaxRangeLength =
+                configParser.getInt(
+                        CLASSIFY_TEXT_MAX_RANGE_LENGTH,
+                        CLASSIFY_TEXT_MAX_RANGE_LENGTH_DEFAULT);
+        mGenerateLinksMaxTextLength =
+                configParser.getInt(
+                        GENERATE_LINKS_MAX_TEXT_LENGTH,
+                        GENERATE_LINKS_MAX_TEXT_LENGTH_DEFAULT);
+        mGenerateLinksLogSampleRate =
+                configParser.getInt(
+                        GENERATE_LINKS_LOG_SAMPLE_RATE,
+                        GENERATE_LINKS_LOG_SAMPLE_RATE_DEFAULT);
+        mEntityListDefault = parseStringList(
+                configParser.getString(
+                        ENTITY_LIST_DEFAULT,
+                        ENTITY_LIST_DEFAULT_VALUE));
+        mEntityListNotEditable = parseStringList(
+                configParser.getString(
+                        ENTITY_LIST_NOT_EDITABLE,
+                        ENTITY_LIST_DEFAULT_VALUE));
+        mEntityListEditable = parseStringList(
+                configParser.getString(
+                        ENTITY_LIST_EDITABLE,
+                        ENTITY_LIST_DEFAULT_VALUE));
+        mInAppConversationActionTypesDefault = parseStringList(
+                configParser.getString(
+                        IN_APP_CONVERSATION_ACTION_TYPES_DEFAULT,
+                        CONVERSATION_ACTIONS_TYPES_DEFAULT_VALUES));
+        mNotificationConversationActionTypesDefault = parseStringList(
+                configParser.getString(
+                        NOTIFICATION_CONVERSATION_ACTION_TYPES_DEFAULT,
+                        CONVERSATION_ACTIONS_TYPES_DEFAULT_VALUES));
+        mLangIdThresholdOverride =
+                configParser.getFloat(
+                        LANG_ID_THRESHOLD_OVERRIDE,
+                        LANG_ID_THRESHOLD_OVERRIDE_DEFAULT);
+        mTemplateIntentFactoryEnabled =
+                configParser.getBoolean(
+                        TEMPLATE_INTENT_FACTORY_ENABLED,
+                        TEMPLATE_INTENT_FACTORY_ENABLED_DEFAULT);
+        mTranslateInClassificationEnabled =
+                configParser.getBoolean(
+                        TRANSLATE_IN_CLASSIFICATION_ENABLED,
+                        TRANSLATE_IN_CLASSIFICATION_ENABLED_DEFAULT);
+        mDetectLanguagesFromTextEnabled =
+                configParser.getBoolean(
+                        DETECT_LANGUAGES_FROM_TEXT_ENABLED,
+                        DETECT_LANGUAGES_FROM_TEXT_ENABLED_DEFAULT);
+        mLangIdContextSettings = parseFloatArray(
+                configParser,
+                LANG_ID_CONTEXT_SETTINGS,
+                LANG_ID_CONTEXT_SETTINGS_DEFAULT);
     }
 
     /** Load from a settings string. */
@@ -301,10 +411,43 @@
         return mTemplateIntentFactoryEnabled;
     }
 
+    public boolean isTranslateInClassificationEnabled() {
+        return mTranslateInClassificationEnabled;
+    }
+
+    public boolean isDetectLanguagesFromTextEnabled() {
+        return mDetectLanguagesFromTextEnabled;
+    }
+
+    public float[] getLangIdContextSettings() {
+        return mLangIdContextSettings;
+    }
+
     private static List<String> parseStringList(String listStr) {
         return Collections.unmodifiableList(Arrays.asList(listStr.split(STRING_LIST_DELIMITER)));
     }
 
+    private static float[] parseFloatArray(
+            ConfigParser configParser, String key, String defaultStr) {
+        final String str = configParser.getString(key, defaultStr);
+        final String[] defaultSplit = defaultStr.split(STRING_LIST_DELIMITER);
+        String[] split = str.split(STRING_LIST_DELIMITER);
+        if (split.length != defaultSplit.length) {
+            Log.v(LOG_TAG, "Error parsing " + key + " flag. Using defaults.");
+            split = defaultSplit;
+        }
+        final float[] result = new float[split.length];
+        for (int i = 0; i < split.length; i++) {
+            try {
+                result[i] = Float.parseFloat(split[i]);
+            } catch (NumberFormatException e) {
+                Log.v(LOG_TAG, "Error parsing part of " + key + " flag. Using defaults.");
+                result[i] = Float.parseFloat(defaultSplit[i]);
+            }
+        }
+        return result;
+    }
+
     void dump(IndentingPrintWriter pw) {
         pw.println("TextClassificationConstants:");
         pw.increaseIndent();
@@ -327,6 +470,9 @@
                 mNotificationConversationActionTypesDefault);
         pw.printPair("getLangIdThresholdOverride", mLangIdThresholdOverride);
         pw.printPair("isTemplateIntentFactoryEnabled", mTemplateIntentFactoryEnabled);
+        pw.printPair("isTranslateInClassificationEnabled", mTranslateInClassificationEnabled);
+        pw.printPair("isDetectLanguageFromTextEnabled", mDetectLanguagesFromTextEnabled);
+        pw.printPair("getLangIdContextSettings", Arrays.toString(mLangIdContextSettings));
         pw.decreaseIndent();
         pw.println();
     }
diff --git a/core/java/android/view/textclassifier/TextClassificationManager.java b/core/java/android/view/textclassifier/TextClassificationManager.java
index d047c55..868cbb1 100644
--- a/core/java/android/view/textclassifier/TextClassificationManager.java
+++ b/core/java/android/view/textclassifier/TextClassificationManager.java
@@ -20,9 +20,11 @@
 import android.annotation.Nullable;
 import android.annotation.SystemService;
 import android.annotation.UnsupportedAppUsage;
+import android.app.ActivityThread;
 import android.content.Context;
 import android.database.ContentObserver;
 import android.os.ServiceManager;
+import android.provider.DeviceConfig;
 import android.provider.Settings;
 import android.service.textclassifier.TextClassifierService;
 import android.view.textclassifier.TextClassifier.TextClassifierType;
@@ -195,6 +197,7 @@
             if (mSettingsObserver != null) {
                 getApplicationContext().getContentResolver()
                         .unregisterContentObserver(mSettingsObserver);
+                DeviceConfig.removeOnPropertyChangedListener(mSettingsObserver);
             }
         } finally {
             super.finalize();
@@ -277,7 +280,8 @@
         }
     }
 
-    private static final class SettingsObserver extends ContentObserver {
+    private static final class SettingsObserver extends ContentObserver
+            implements DeviceConfig.OnPropertyChangedListener {
 
         private final WeakReference<TextClassificationManager> mTcm;
 
@@ -288,10 +292,23 @@
                     Settings.Global.getUriFor(Settings.Global.TEXT_CLASSIFIER_CONSTANTS),
                     false /* notifyForDescendants */,
                     this);
+            DeviceConfig.addOnPropertyChangedListener(
+                    DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
+                    ActivityThread.currentApplication().getMainExecutor(),
+                    this);
         }
 
         @Override
         public void onChange(boolean selfChange) {
+            invalidateSettings();
+        }
+
+        @Override
+        public void onPropertyChanged(String namespace, String name, String value) {
+            invalidateSettings();
+        }
+
+        private void invalidateSettings() {
             final TextClassificationManager tcm = mTcm.get();
             if (tcm != null) {
                 tcm.invalidate();
diff --git a/core/java/android/view/textclassifier/TextClassifier.java b/core/java/android/view/textclassifier/TextClassifier.java
index 23ce90e..ac8a429 100644
--- a/core/java/android/view/textclassifier/TextClassifier.java
+++ b/core/java/android/view/textclassifier/TextClassifier.java
@@ -33,11 +33,13 @@
 import android.text.util.Linkify.LinkifyMask;
 import android.util.ArrayMap;
 
+import com.android.internal.annotations.GuardedBy;
 import com.android.internal.util.IndentingPrintWriter;
 import com.android.internal.util.Preconditions;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
+import java.text.BreakIterator;
 import java.util.ArrayList;
 import java.util.Collection;
 import java.util.Collections;
@@ -353,6 +355,7 @@
      * Suggests and returns a list of actions according to the given conversation.
      */
     @WorkerThread
+    @NonNull
     default ConversationActions suggestConversationActions(
             @NonNull ConversationActions.Request request) {
         Preconditions.checkNotNull(request);
@@ -609,7 +612,8 @@
              * These hints will only be used if {@link #includeTypesFromTextClassifier} is
              * set to be true.
              */
-            public Builder setHints(Collection<String> hints) {
+            @NonNull
+            public Builder setHints(@Nullable Collection<String> hints) {
                 mHints = hints;
                 return this;
             }
@@ -642,11 +646,14 @@
      *  <li>Provides validation of input parameters to TextClassifier methods
      * </ul>
      *
-     * Intended to be used only in this package.
+     * Intended to be used only for TextClassifier purposes.
      * @hide
      */
     final class Utils {
 
+        @GuardedBy("WORD_ITERATOR")
+        private static final BreakIterator WORD_ITERATOR = BreakIterator.getWordInstance();
+
         /**
          * @throws IllegalArgumentException if text is null; startIndex is negative;
          *      endIndex is greater than text.length() or is not greater than startIndex;
@@ -664,6 +671,47 @@
         }
 
         /**
+         * Returns the substring of {@code text} that contains at least text from index
+         * {@code start} <i>(inclusive)</i> to index {@code end} <i><(exclusive)/i> with the goal of
+         * returning text that is at least {@code minimumLength}. If {@code text} is not long
+         * enough, this will return {@code text}. This method returns text at word boundaries.
+         *
+         * @param text the source text
+         * @param start the start index of text that must be included
+         * @param end the end index of text that must be included
+         * @param minimumLength minimum length of text to return if {@code text} is long enough
+         */
+        public static String getSubString(
+                String text, int start, int end, int minimumLength) {
+            Preconditions.checkArgument(start >= 0);
+            Preconditions.checkArgument(end <= text.length());
+            Preconditions.checkArgument(start <= end);
+
+            if (text.length() < minimumLength) {
+                return text;
+            }
+
+            final int length = end - start;
+            if (length >= minimumLength) {
+                return text.substring(start, end);
+            }
+
+            final int offset = (minimumLength - length) / 2;
+            int iterStart = Math.max(0, Math.min(start - offset, text.length() - minimumLength));
+            int iterEnd = Math.min(text.length(), iterStart + minimumLength);
+
+            synchronized (WORD_ITERATOR) {
+                WORD_ITERATOR.setText(text);
+                iterStart = WORD_ITERATOR.isBoundary(iterStart)
+                        ? iterStart : Math.max(0, WORD_ITERATOR.preceding(iterStart));
+                iterEnd = WORD_ITERATOR.isBoundary(iterEnd)
+                        ? iterEnd : Math.max(iterEnd, WORD_ITERATOR.following(iterEnd));
+                WORD_ITERATOR.setText("");
+                return text.substring(iterStart, iterEnd);
+            }
+        }
+
+        /**
          * Generates links using legacy {@link Linkify}.
          */
         public static TextLinks generateLegacyLinks(@NonNull TextLinks.Request request) {
diff --git a/core/java/android/view/textclassifier/TextClassifierImpl.java b/core/java/android/view/textclassifier/TextClassifierImpl.java
index 632328b..8f5f0a37 100644
--- a/core/java/android/view/textclassifier/TextClassifierImpl.java
+++ b/core/java/android/view/textclassifier/TextClassifierImpl.java
@@ -21,10 +21,19 @@
 import android.annotation.WorkerThread;
 import android.app.RemoteAction;
 import android.content.Context;
+import android.content.Intent;
 import android.icu.util.ULocale;
 import android.os.Bundle;
 import android.os.LocaleList;
 import android.os.ParcelFileDescriptor;
+import android.util.ArrayMap;
+import android.util.ArraySet;
+import android.util.Pair;
+import android.view.textclassifier.intent.ClassificationIntentFactory;
+import android.view.textclassifier.intent.LabeledIntent;
+import android.view.textclassifier.intent.LegacyClassificationIntentFactory;
+import android.view.textclassifier.intent.TemplateClassificationIntentFactory;
+import android.view.textclassifier.intent.TemplateIntentFactory;
 
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.util.IndentingPrintWriter;
@@ -33,6 +42,7 @@
 import com.google.android.textclassifier.ActionsSuggestionsModel;
 import com.google.android.textclassifier.AnnotatorModel;
 import com.google.android.textclassifier.LangIdModel;
+import com.google.android.textclassifier.LangIdModel.LanguageResult;
 
 import java.io.File;
 import java.io.FileNotFoundException;
@@ -41,11 +51,12 @@
 import java.time.ZonedDateTime;
 import java.util.ArrayList;
 import java.util.Collection;
-import java.util.HashMap;
+import java.util.Collections;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 import java.util.Objects;
+import java.util.Set;
 
 /**
  * Default implementation of the {@link TextClassifier} interface.
@@ -84,15 +95,20 @@
     private final GenerateLinksLogger mGenerateLinksLogger;
 
     private final Object mLock = new Object();
-    @GuardedBy("mLock") // Do not access outside this lock.
+
+    @GuardedBy("mLock")
     private ModelFileManager.ModelFile mAnnotatorModelInUse;
-    @GuardedBy("mLock") // Do not access outside this lock.
+    @GuardedBy("mLock")
     private AnnotatorModel mAnnotatorImpl;
-    @GuardedBy("mLock") // Do not access outside this lock.
+
+    @GuardedBy("mLock")
+    private ModelFileManager.ModelFile mLangIdModelInUse;
+    @GuardedBy("mLock")
     private LangIdModel mLangIdImpl;
-    @GuardedBy("mLock") // Do not access outside this lock.
+
+    @GuardedBy("mLock")
     private ModelFileManager.ModelFile mActionModelInUse;
-    @GuardedBy("mLock") // Do not access outside this lock.
+    @GuardedBy("mLock")
     private ActionsSuggestionsModel mActionsImpl;
 
     private final SelectionSessionLogger mSessionLogger = new SelectionSessionLogger();
@@ -105,7 +121,7 @@
     private final ModelFileManager mLangIdModelFileManager;
     private final ModelFileManager mActionsModelFileManager;
 
-    private final IntentFactory mIntentFactory;
+    private final ClassificationIntentFactory mClassificationIntentFactory;
     private final TemplateIntentFactory mTemplateIntentFactory;
 
     public TextClassifierImpl(
@@ -137,10 +153,10 @@
                         ActionsSuggestionsModel::getLocales));
 
         mTemplateIntentFactory = new TemplateIntentFactory();
-        mIntentFactory = mSettings.isTemplateIntentFactoryEnabled()
+        mClassificationIntentFactory = mSettings.isTemplateIntentFactoryEnabled()
                 ? new TemplateClassificationIntentFactory(
-                mTemplateIntentFactory, new LegacyIntentFactory())
-                : new LegacyIntentFactory();
+                mTemplateIntentFactory, new LegacyClassificationIntentFactory())
+                : new LegacyClassificationIntentFactory();
     }
 
     public TextClassifierImpl(Context context, TextClassificationConstants settings) {
@@ -159,6 +175,7 @@
             if (string.length() > 0
                     && rangeLength <= mSettings.getSuggestSelectionMaxRangeLength()) {
                 final String localesString = concatenateLocales(request.getDefaultLocales());
+                final String detectLanguageTags = detectLanguageTagsFromText(request.getText());
                 final ZonedDateTime refTime = ZonedDateTime.now();
                 final AnnotatorModel annotatorImpl =
                         getAnnotatorImpl(request.getDefaultLocales());
@@ -170,7 +187,7 @@
                 } else {
                     final int[] startEnd = annotatorImpl.suggestSelection(
                             string, request.getStartIndex(), request.getEndIndex(),
-                            new AnnotatorModel.SelectionOptions(localesString));
+                            new AnnotatorModel.SelectionOptions(localesString, detectLanguageTags));
                     start = startEnd[0];
                     end = startEnd[1];
                 }
@@ -184,7 +201,8 @@
                                     new AnnotatorModel.ClassificationOptions(
                                             refTime.toInstant().toEpochMilli(),
                                             refTime.getZone().getId(),
-                                            localesString),
+                                            localesString,
+                                            detectLanguageTags),
                                     // Passing null here to suppress intent generation
                                     // TODO: Use an explicit flag to suppress it.
                                     /* appContext */ null,
@@ -222,6 +240,7 @@
             final String string = request.getText().toString();
             if (string.length() > 0 && rangeLength <= mSettings.getClassifyTextMaxRangeLength()) {
                 final String localesString = concatenateLocales(request.getDefaultLocales());
+                final String detectLanguageTags = detectLanguageTagsFromText(request.getText());
                 final ZonedDateTime refTime = request.getReferenceTime() != null
                         ? request.getReferenceTime() : ZonedDateTime.now();
                 final AnnotatorModel.ClassificationResult[] results =
@@ -231,9 +250,10 @@
                                         new AnnotatorModel.ClassificationOptions(
                                                 refTime.toInstant().toEpochMilli(),
                                                 refTime.getZone().getId(),
-                                                localesString),
+                                                localesString,
+                                                detectLanguageTags),
                                         mContext,
-                                        getResourceLocaleString()
+                                        getResourceLocalesString()
                                 );
                 if (results.length > 0) {
                     return createClassificationResult(
@@ -269,8 +289,10 @@
             final ZonedDateTime refTime = ZonedDateTime.now();
             final Collection<String> entitiesToIdentify = request.getEntityConfig() != null
                     ? request.getEntityConfig().resolveEntityListModifications(
-                    getEntitiesForHints(request.getEntityConfig().getHints()))
+                            getEntitiesForHints(request.getEntityConfig().getHints()))
                     : mSettings.getEntityListDefault();
+            final String localesString = concatenateLocales(request.getDefaultLocales());
+            final String detectLanguageTags = detectLanguageTagsFromText(request.getText());
             final AnnotatorModel annotatorImpl =
                     getAnnotatorImpl(request.getDefaultLocales());
             final AnnotatorModel.AnnotatedSpan[] annotations =
@@ -279,7 +301,8 @@
                             new AnnotatorModel.AnnotationOptions(
                                     refTime.toInstant().toEpochMilli(),
                                     refTime.getZone().getId(),
-                                    concatenateLocales(request.getDefaultLocales())));
+                                    localesString,
+                                    detectLanguageTags));
             for (AnnotatorModel.AnnotatedSpan span : annotations) {
                 final AnnotatorModel.ClassificationResult[] results =
                         span.getClassification();
@@ -287,7 +310,7 @@
                         || !entitiesToIdentify.contains(results[0].getCollection())) {
                     continue;
                 }
-                final Map<String, Float> entityScores = new HashMap<>();
+                final Map<String, Float> entityScores = new ArrayMap<>();
                 for (int i = 0; i < results.length; i++) {
                     entityScores.put(results[i].getCollection(), results[i].getScore());
                 }
@@ -381,8 +404,8 @@
                 return mFallback.suggestConversationActions(request);
             }
             ActionsSuggestionsModel.ConversationMessage[] nativeMessages =
-                    ActionsSuggestionsHelper.toNativeMessages(request.getConversation(),
-                            this::detectLanguageTagsFromText);
+                    ActionsSuggestionsHelper.toNativeMessages(
+                            request.getConversation(), this::detectLanguageTagsFromText);
             if (nativeMessages.length == 0) {
                 return mFallback.suggestConversationActions(request);
             }
@@ -394,7 +417,7 @@
                             nativeConversation,
                             null,
                             mContext,
-                            getResourceLocaleString());
+                            getResourceLocalesString());
             return createConversationActionResult(request, nativeSuggestions);
         } catch (Throwable t) {
             // Avoid throwing from this method. Log the error.
@@ -403,6 +426,12 @@
         return mFallback.suggestConversationActions(request);
     }
 
+    /**
+     * Returns the {@link ConversationAction} result, with a non-null extras.
+     * <p>
+     * Whenever the RemoteAction is non-null, you can expect its corresponding intent
+     * with a non-null component name is in the extras.
+     */
     private ConversationActions createConversationActionResult(
             ConversationActions.Request request,
             ActionsSuggestionsModel.ActionSuggestion[] nativeSuggestions) {
@@ -417,26 +446,30 @@
             if (!expectedTypes.contains(actionType)) {
                 continue;
             }
-            List<LabeledIntent> labeledIntents =
-                    mTemplateIntentFactory.create(nativeSuggestion.getRemoteActionTemplates());
+            LabeledIntent.Result labeledIntentResult =
+                    ActionsSuggestionsHelper.createLabeledIntentResult(
+                            mContext,
+                            mTemplateIntentFactory,
+                            nativeSuggestion);
             RemoteAction remoteAction = null;
-            // Given that we only support implicit intent here, we should expect there is just one
-            // intent for each action type.
-            if (!labeledIntents.isEmpty()) {
-                LabeledIntent.TitleChooser titleChooser =
-                        ActionsSuggestionsHelper.createTitleChooser(actionType);
-                LabeledIntent.Result result = labeledIntents.get(0).resolve(mContext, titleChooser);
-                if (result != null) {
-                    remoteAction = result.remoteAction;
-                }
+            Bundle extras = new Bundle();
+            if (labeledIntentResult != null) {
+                remoteAction = labeledIntentResult.remoteAction;
+                ExtrasUtils.putActionIntent(extras, labeledIntentResult.resolvedIntent);
             }
+            ExtrasUtils.putEntitiesExtras(
+                    extras,
+                    TemplateIntentFactory.nameVariantsToBundle(nativeSuggestion.getEntityData()));
             conversationActions.add(
                     new ConversationAction.Builder(actionType)
                             .setConfidenceScore(nativeSuggestion.getScore())
                             .setTextReply(nativeSuggestion.getResponseText())
                             .setAction(remoteAction)
+                            .setExtras(extras)
                             .build());
         }
+        conversationActions =
+                ActionsSuggestionsHelper.removeActionsWithDuplicates(conversationActions);
         String resultId = ActionsSuggestionsHelper.createResultId(
                 mContext,
                 request.getConversation(),
@@ -447,19 +480,28 @@
 
     @Nullable
     private String detectLanguageTagsFromText(CharSequence text) {
+        if (!mSettings.isDetectLanguagesFromTextEnabled()) {
+            return null;
+        }
+        final float threshold = getLangIdThreshold();
+        if (threshold < 0 || threshold > 1) {
+            Log.w(LOG_TAG,
+                    "[detectLanguageTagsFromText] unexpected threshold is found: " + threshold);
+            return null;
+        }
         TextLanguage.Request request = new TextLanguage.Request.Builder(text).build();
         TextLanguage textLanguage = detectLanguage(request);
         int localeHypothesisCount = textLanguage.getLocaleHypothesisCount();
         List<String> languageTags = new ArrayList<>();
         for (int i = 0; i < localeHypothesisCount; i++) {
             ULocale locale = textLanguage.getLocale(i);
-            if (textLanguage.getConfidenceScore(locale) < getForeignLanguageThreshold()) {
+            if (textLanguage.getConfidenceScore(locale) < threshold) {
                 break;
             }
             languageTags.add(locale.toLanguageTag());
         }
         if (languageTags.isEmpty()) {
-            return LocaleList.getDefault().toLanguageTags();
+            return null;
         }
         return String.join(",", languageTags);
     }
@@ -504,17 +546,19 @@
 
     private LangIdModel getLangIdImpl() throws FileNotFoundException {
         synchronized (mLock) {
-            if (mLangIdImpl == null) {
-                final ModelFileManager.ModelFile bestModel =
-                        mLangIdModelFileManager.findBestModelFile(null);
-                if (bestModel == null) {
-                    throw new FileNotFoundException("No LangID model is found");
-                }
+            final ModelFileManager.ModelFile bestModel =
+                    mLangIdModelFileManager.findBestModelFile(null);
+            if (bestModel == null) {
+                throw new FileNotFoundException("No LangID model is found");
+            }
+            if (mLangIdImpl == null || !Objects.equals(mLangIdModelInUse, bestModel)) {
+                Log.d(DEFAULT_LOG_TAG, "Loading " + bestModel);
                 final ParcelFileDescriptor pfd = ParcelFileDescriptor.open(
                         new File(bestModel.getPath()), ParcelFileDescriptor.MODE_READ_ONLY);
                 try {
                     if (pfd != null) {
                         mLangIdImpl = new LangIdModel(pfd.getFd());
+                        mLangIdModelInUse = bestModel;
                     }
                 } finally {
                     maybeCloseAndLogError(pfd);
@@ -527,13 +571,14 @@
     @Nullable
     private ActionsSuggestionsModel getActionsImpl() throws FileNotFoundException {
         synchronized (mLock) {
-            if (mActionsImpl == null) {
-                // TODO: Use LangID to determine the locale we should use here?
-                final ModelFileManager.ModelFile bestModel =
-                        mActionsModelFileManager.findBestModelFile(LocaleList.getDefault());
-                if (bestModel == null) {
-                    return null;
-                }
+            // TODO: Use LangID to determine the locale we should use here?
+            final ModelFileManager.ModelFile bestModel =
+                    mActionsModelFileManager.findBestModelFile(LocaleList.getDefault());
+            if (bestModel == null) {
+                return null;
+            }
+            if (mActionsImpl == null || !Objects.equals(mActionModelInUse, bestModel)) {
+                Log.d(DEFAULT_LOG_TAG, "Loading " + bestModel);
                 final ParcelFileDescriptor pfd = ParcelFileDescriptor.open(
                         new File(bestModel.getPath()), ParcelFileDescriptor.MODE_READ_ONLY);
                 try {
@@ -581,97 +626,194 @@
             }
         }
 
-        final Bundle foreignLanguageBundle = detectForeignLanguage(classifiedText);
+        final Pair<Bundle, Bundle> languagesBundles = generateLanguageBundles(text, start, end);
+        final Bundle textLanguagesBundle = languagesBundles.first;
+        final Bundle foreignLanguageBundle = languagesBundles.second;
         builder.setForeignLanguageExtra(foreignLanguageBundle);
 
         boolean isPrimaryAction = true;
-        List<LabeledIntent> labeledIntents = mIntentFactory.create(
+        final List<LabeledIntent> labeledIntents = mClassificationIntentFactory.create(
                 mContext,
                 classifiedText,
                 foreignLanguageBundle != null,
                 referenceTime,
                 highestScoringResult);
-        LabeledIntent.TitleChooser titleChooser =
+        final LabeledIntent.TitleChooser titleChooser =
                 (labeledIntent, resolveInfo) -> labeledIntent.titleWithoutEntity;
+
         for (LabeledIntent labeledIntent : labeledIntents) {
-            LabeledIntent.Result result = labeledIntent.resolve(mContext, titleChooser);
+            final LabeledIntent.Result result =
+                    labeledIntent.resolve(mContext, titleChooser, textLanguagesBundle);
             if (result == null) {
                 continue;
             }
+
+            final Intent intent = result.resolvedIntent;
             final RemoteAction action = result.remoteAction;
             if (isPrimaryAction) {
                 // For O backwards compatibility, the first RemoteAction is also written to the
                 // legacy API fields.
                 builder.setIcon(action.getIcon().loadDrawable(mContext));
                 builder.setLabel(action.getTitle().toString());
-                builder.setIntent(result.resolvedIntent);
+                builder.setIntent(intent);
                 builder.setOnClickListener(TextClassification.createIntentOnClickListener(
-                        TextClassification.createPendingIntent(mContext,
-                                result.resolvedIntent, labeledIntent.requestCode)));
+                        TextClassification.createPendingIntent(
+                                mContext, intent, labeledIntent.requestCode)));
                 isPrimaryAction = false;
             }
-            builder.addAction(action, result.resolvedIntent);
+            builder.addAction(action, intent);
         }
 
         return builder.setId(createId(text, start, end)).build();
     }
 
     /**
-     * Returns a bundle with the language and confidence score if it finds the text to be
-     * in a foreign language. Otherwise returns null. This algorithm defines what the system thinks
-     * is a foreign language.
+     * Returns a bundle pair with language detection information for extras.
+     * <p>
+     * Pair.first = textLanguagesBundle - A bundle containing information about all detected
+     * languages in the text. May be null if language detection fails or is disabled. This is
+     * typically expected to be added to a textClassifier generated remote action intent.
+     * See {@link ExtrasUtils#putTextLanguagesExtra(Bundle, Bundle)}.
+     * See {@link ExtrasUtils#getTopLanguage(Intent)}.
+     * <p>
+     * Pair.second = foreignLanguageBundle - A bundle with the language and confidence score if the
+     * system finds the text to be in a foreign language. Otherwise is null.
+     * See {@link TextClassification.Builder#setForeignLanguageExtra(Bundle)}.
+     *
+     * @param context the context of the text to detect languages for
+     * @param start the start index of the text
+     * @param end the end index of the text
      */
     // TODO: Revisit this algorithm.
     // TODO: Consider making this public API.
-    @Nullable
-    private Bundle detectForeignLanguage(String text) {
+    private Pair<Bundle, Bundle> generateLanguageBundles(String context, int start, int end) {
+        if (!mSettings.isTranslateInClassificationEnabled()) {
+            return null;
+        }
         try {
-            final float threshold = getForeignLanguageThreshold();
-            if (threshold > 1) {
-                Log.v(LOG_TAG, "Foreign language detection disabled.");
-                return null;
+            final float threshold = getLangIdThreshold();
+            if (threshold < 0 || threshold > 1) {
+                Log.w(LOG_TAG,
+                        "[detectForeignLanguage] unexpected threshold is found: " + threshold);
+                return Pair.create(null, null);
             }
 
-            final LangIdModel langId = getLangIdImpl();
-            final LangIdModel.LanguageResult[] langResults = langId.detectLanguages(text);
-            if (langResults.length <= 0) {
-                return null;
+            final EntityConfidence languageScores = detectLanguages(context, start, end);
+            if (languageScores.getEntities().isEmpty()) {
+                return Pair.create(null, null);
             }
 
-            LangIdModel.LanguageResult highestScoringResult = langResults[0];
-            for (int i = 1; i < langResults.length; i++) {
-                if (langResults[i].getScore() > highestScoringResult.getScore()) {
-                    highestScoringResult = langResults[i];
-                }
-            }
-            if (highestScoringResult.getScore() < threshold) {
-                return null;
+            final Bundle textLanguagesBundle = new Bundle();
+            ExtrasUtils.putTopLanguageScores(textLanguagesBundle, languageScores);
+
+            final String language = languageScores.getEntities().get(0);
+            final float score = languageScores.getConfidenceScore(language);
+            if (score < threshold) {
+                return Pair.create(textLanguagesBundle, null);
             }
 
-            Log.v(LOG_TAG, String.format("Language detected: <%s:%s>",
-                    highestScoringResult.getLanguage(), highestScoringResult.getScore()));
+            Log.v(LOG_TAG, String.format(
+                    Locale.US, "Language detected: <%s:%.2f>", language, score));
 
-            final Locale detected = new Locale(highestScoringResult.getLanguage());
+            final Locale detected = new Locale(language);
             final LocaleList deviceLocales = LocaleList.getDefault();
             final int size = deviceLocales.size();
             for (int i = 0; i < size; i++) {
                 if (deviceLocales.get(i).getLanguage().equals(detected.getLanguage())) {
-                    return null;
+                    return Pair.create(textLanguagesBundle, null);
                 }
             }
-            return ExtrasUtils.createForeignLanguageExtra(
-                    detected.getLanguage(), highestScoringResult.getScore(), langId.getVersion());
+            final Bundle foreignLanguageBundle = ExtrasUtils.createForeignLanguageExtra(
+                    detected.getLanguage(), score, getLangIdImpl().getVersion());
+            return Pair.create(textLanguagesBundle, foreignLanguageBundle);
         } catch (Throwable t) {
-            Log.e(LOG_TAG, "Error detecting foreign text. Ignored.", t);
+            Log.e(LOG_TAG, "Error generating language bundles.", t);
         }
-        return null;
+        return Pair.create(null, null);
     }
 
-    private float getForeignLanguageThreshold() {
+    /**
+     * Detect the language of a piece of text by taking surrounding text into consideration.
+     *
+     * @param text text providing context for the text for which its language is to be detected
+     * @param start the start index of the text to detect its language
+     * @param end the end index of the text to detect its language
+     */
+    // TODO: Revisit this algorithm.
+    private EntityConfidence detectLanguages(String text, int start, int end)
+            throws FileNotFoundException {
+        Preconditions.checkArgument(start >= 0);
+        Preconditions.checkArgument(end <= text.length());
+        Preconditions.checkArgument(start <= end);
+
+        final float[] langIdContextSettings = mSettings.getLangIdContextSettings();
+        // The minimum size of text to prefer for detection.
+        final int minimumTextSize = (int) langIdContextSettings[0];
+        // For reducing the score when text is less than the preferred size.
+        final float penalizeRatio = langIdContextSettings[1];
+        // Original detection score to surrounding text detection score ratios.
+        final float subjectTextScoreRatio = langIdContextSettings[2];
+        final float moreTextScoreRatio = 1f - subjectTextScoreRatio;
+        Log.v(LOG_TAG,
+                String.format(Locale.US, "LangIdContextSettings: "
+                        + "minimumTextSize=%d, penalizeRatio=%.2f, "
+                        + "subjectTextScoreRatio=%.2f, moreTextScoreRatio=%.2f",
+                        minimumTextSize, penalizeRatio, subjectTextScoreRatio, moreTextScoreRatio));
+
+        if (end - start < minimumTextSize && penalizeRatio <= 0) {
+            return new EntityConfidence(Collections.emptyMap());
+        }
+
+        final String subject = text.substring(start, end);
+        final EntityConfidence scores = detectLanguages(subject);
+
+        if (subject.length() >= minimumTextSize
+                || subject.length() == text.length()
+                || subjectTextScoreRatio * penalizeRatio >= 1) {
+            return scores;
+        }
+
+        final EntityConfidence moreTextScores;
+        if (moreTextScoreRatio >= 0) {
+            // Attempt to grow the detection text to be at least minimumTextSize long.
+            final String moreText = Utils.getSubString(text, start, end, minimumTextSize);
+            moreTextScores = detectLanguages(moreText);
+        } else {
+            moreTextScores = new EntityConfidence(Collections.emptyMap());
+        }
+
+        // Combine the original detection scores with the those returned after including more text.
+        final Map<String, Float> newScores = new ArrayMap<>();
+        final Set<String> languages = new ArraySet<>();
+        languages.addAll(scores.getEntities());
+        languages.addAll(moreTextScores.getEntities());
+        for (String language : languages) {
+            final float score = (subjectTextScoreRatio * scores.getConfidenceScore(language)
+                    + moreTextScoreRatio * moreTextScores.getConfidenceScore(language))
+                    * penalizeRatio;
+            newScores.put(language, score);
+        }
+        return new EntityConfidence(newScores);
+    }
+
+    /**
+     * Detect languages for the specified text.
+     */
+    private EntityConfidence detectLanguages(String text) throws FileNotFoundException {
+        final LangIdModel langId = getLangIdImpl();
+        final LangIdModel.LanguageResult[] langResults = langId.detectLanguages(text);
+        final Map<String, Float> languagesMap = new ArrayMap<>();
+        for (LanguageResult langResult : langResults) {
+            languagesMap.put(langResult.getLanguage(), langResult.getScore());
+        }
+        return new EntityConfidence(languagesMap);
+    }
+
+    private float getLangIdThreshold() {
         try {
             return mSettings.getLangIdThresholdOverride() >= 0
                     ? mSettings.getLangIdThresholdOverride()
-                    : getLangIdImpl().getTranslateThreshold();
+                    : getLangIdImpl().getLangIdThreshold();
         } catch (FileNotFoundException e) {
             final float defaultThreshold = 0.5f;
             Log.v(LOG_TAG, "Using default foreign language threshold: " + defaultThreshold);
@@ -727,15 +869,14 @@
     }
 
     /**
-     * Returns the locale string for the current resources configuration.
+     * Returns the locales string for the current resources configuration.
      */
-    private String getResourceLocaleString() {
-        // TODO: Pass the locale list once it is supported in native side.
+    private String getResourceLocalesString() {
         try {
-            return mContext.getResources().getConfiguration().getLocales().get(0).toLanguageTag();
+            return mContext.getResources().getConfiguration().getLocales().toLanguageTags();
         } catch (NullPointerException e) {
             // NPE is unexpected. Erring on the side of caution.
-            return LocaleList.getDefault().get(0).toLanguageTag();
+            return LocaleList.getDefault().toLanguageTags();
         }
     }
 }
diff --git a/core/java/android/view/textclassifier/TextLinks.java b/core/java/android/view/textclassifier/TextLinks.java
index d8216ef..cde27a0 100644
--- a/core/java/android/view/textclassifier/TextLinks.java
+++ b/core/java/android/view/textclassifier/TextLinks.java
@@ -692,6 +692,7 @@
          *
          * @return this builder
          */
+        @NonNull
         public Builder setExtras(@Nullable Bundle extras) {
             mExtras = extras;
             return this;
diff --git a/core/java/android/view/textclassifier/TextSelection.java b/core/java/android/view/textclassifier/TextSelection.java
index 52c532b..5298939 100644
--- a/core/java/android/view/textclassifier/TextSelection.java
+++ b/core/java/android/view/textclassifier/TextSelection.java
@@ -184,6 +184,7 @@
          *
          * @return this builder
          */
+        @NonNull
         public Builder setExtras(@Nullable Bundle extras) {
             mExtras = extras;
             return this;
@@ -368,6 +369,7 @@
              *
              * @return this builder
              */
+            @NonNull
             public Builder setExtras(@Nullable Bundle extras) {
                 mExtras = extras;
                 return this;
diff --git a/core/java/android/view/textclassifier/IntentFactory.java b/core/java/android/view/textclassifier/intent/ClassificationIntentFactory.java
similarity index 89%
rename from core/java/android/view/textclassifier/IntentFactory.java
rename to core/java/android/view/textclassifier/intent/ClassificationIntentFactory.java
index 722c812..b034846 100644
--- a/core/java/android/view/textclassifier/IntentFactory.java
+++ b/core/java/android/view/textclassifier/intent/ClassificationIntentFactory.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package android.view.textclassifier;
+package android.view.textclassifier.intent;
 
 import android.annotation.Nullable;
 import android.content.Context;
@@ -27,7 +27,7 @@
 /**
  * @hide
  */
-public interface IntentFactory {
+public interface ClassificationIntentFactory {
 
     /**
      * Return a list of LabeledIntent from the classification result.
@@ -51,8 +51,7 @@
                 new Intent(Intent.ACTION_TRANSLATE)
                         // TODO: Probably better to introduce a "translate" scheme instead of
                         // using EXTRA_TEXT.
-                        .putExtra(Intent.EXTRA_TEXT, text)
-                        .putExtra(TextClassifier.EXTRA_FROM_TEXT_CLASSIFIER, true),
+                        .putExtra(Intent.EXTRA_TEXT, text),
                 text.hashCode()));
     }
 }
diff --git a/core/java/android/view/textclassifier/LabeledIntent.java b/core/java/android/view/textclassifier/intent/LabeledIntent.java
similarity index 73%
rename from core/java/android/view/textclassifier/LabeledIntent.java
rename to core/java/android/view/textclassifier/intent/LabeledIntent.java
index 7544dc1..11d64f1 100644
--- a/core/java/android/view/textclassifier/LabeledIntent.java
+++ b/core/java/android/view/textclassifier/intent/LabeledIntent.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package android.view.textclassifier;
+package android.view.textclassifier.intent;
 
 import android.annotation.Nullable;
 import android.app.PendingIntent;
@@ -24,7 +24,12 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
 import android.graphics.drawable.Icon;
+import android.os.Bundle;
 import android.text.TextUtils;
+import android.view.textclassifier.ExtrasUtils;
+import android.view.textclassifier.Log;
+import android.view.textclassifier.TextClassification;
+import android.view.textclassifier.TextClassifier;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.Preconditions;
@@ -85,21 +90,38 @@
 
     /**
      * Return the resolved result.
+     *
+     * @param context the context to resolve the result's intent and action
+     * @param titleChooser for choosing an action title
+     * @param textLanguagesBundle containing language detection information
      */
     @Nullable
     public Result resolve(
-            Context context, @Nullable TitleChooser titleChooser) {
+            Context context,
+            @Nullable TitleChooser titleChooser,
+            @Nullable Bundle textLanguagesBundle) {
         final PackageManager pm = context.getPackageManager();
         final ResolveInfo resolveInfo = pm.resolveActivity(intent, 0);
-        final String packageName = resolveInfo != null && resolveInfo.activityInfo != null
-                ? resolveInfo.activityInfo.packageName : null;
-        Icon icon = null;
+
+        if (resolveInfo == null || resolveInfo.activityInfo == null) {
+            Log.w(TAG, "resolveInfo or activityInfo is null");
+            return null;
+        }
+        final String packageName = resolveInfo.activityInfo.packageName;
+        final String className = resolveInfo.activityInfo.name;
+        if (packageName == null || className == null) {
+            Log.w(TAG, "packageName or className is null");
+            return null;
+        }
         Intent resolvedIntent = new Intent(intent);
+        resolvedIntent.setComponent(new ComponentName(packageName, className));
+        resolvedIntent.putExtra(
+                TextClassifier.EXTRA_FROM_TEXT_CLASSIFIER,
+                getFromTextClassifierExtra(textLanguagesBundle));
+
         boolean shouldShowIcon = false;
-        if (packageName != null && !"android".equals(packageName)) {
-            // There is a default activity handling the intent.
-            resolvedIntent.setComponent(
-                    new ComponentName(packageName, resolveInfo.activityInfo.name));
+        Icon icon = null;
+        if (!"android".equals(packageName)) {
             if (resolveInfo.activityInfo.getIconResource() != 0) {
                 icon = Icon.createWithResource(
                         packageName, resolveInfo.activityInfo.getIconResource());
@@ -108,28 +130,32 @@
         }
         if (icon == null) {
             // RemoteAction requires that there be an icon.
-            icon = Icon.createWithResource("android",
-                    com.android.internal.R.drawable.ic_more_items);
+            icon = Icon.createWithResource(
+                    "android", com.android.internal.R.drawable.ic_more_items);
         }
         final PendingIntent pendingIntent =
                 TextClassification.createPendingIntent(context, resolvedIntent, requestCode);
-        if (pendingIntent == null) {
-            return null;
-        }
-        if (titleChooser == null) {
-            titleChooser = DEFAULT_TITLE_CHOOSER;
-        }
+        titleChooser = titleChooser == null ? DEFAULT_TITLE_CHOOSER : titleChooser;
         CharSequence title = titleChooser.chooseTitle(this, resolveInfo);
         if (TextUtils.isEmpty(title)) {
             Log.w(TAG, "Custom titleChooser return null, fallback to the default titleChooser");
             title = DEFAULT_TITLE_CHOOSER.chooseTitle(this, resolveInfo);
         }
-        final RemoteAction action =
-                new RemoteAction(icon, title, description, pendingIntent);
+        final RemoteAction action = new RemoteAction(icon, title, description, pendingIntent);
         action.setShouldShowIcon(shouldShowIcon);
         return new Result(resolvedIntent, action);
     }
 
+    private Bundle getFromTextClassifierExtra(@Nullable Bundle textLanguagesBundle) {
+        if (textLanguagesBundle != null) {
+            final Bundle bundle = new Bundle();
+            ExtrasUtils.putTextLanguagesExtra(bundle, textLanguagesBundle);
+            return bundle;
+        } else {
+            return Bundle.EMPTY;
+        }
+    }
+
     /**
      * Data class that holds the result.
      */
@@ -150,6 +176,7 @@
     public interface TitleChooser {
         /**
          * Picks a title from a {@link LabeledIntent} by looking into resolved info.
+         * {@code resolveInfo} is guaranteed to have a non-null {@code activityInfo}.
          */
         @Nullable
         CharSequence chooseTitle(LabeledIntent labeledIntent, ResolveInfo resolveInfo);
diff --git a/core/java/android/view/textclassifier/LegacyIntentFactory.java b/core/java/android/view/textclassifier/intent/LegacyClassificationIntentFactory.java
similarity index 96%
rename from core/java/android/view/textclassifier/LegacyIntentFactory.java
rename to core/java/android/view/textclassifier/intent/LegacyClassificationIntentFactory.java
index ea9229d..7916791 100644
--- a/core/java/android/view/textclassifier/LegacyIntentFactory.java
+++ b/core/java/android/view/textclassifier/intent/LegacyClassificationIntentFactory.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package android.view.textclassifier;
+package android.view.textclassifier.intent;
 
 import static java.time.temporal.ChronoUnit.MILLIS;
 
@@ -29,6 +29,8 @@
 import android.provider.Browser;
 import android.provider.CalendarContract;
 import android.provider.ContactsContract;
+import android.view.textclassifier.Log;
+import android.view.textclassifier.TextClassifier;
 
 import com.google.android.textclassifier.AnnotatorModel;
 
@@ -44,14 +46,12 @@
  * Creates intents based on the classification type.
  * @hide
  */
-public final class LegacyIntentFactory implements IntentFactory {
+public final class LegacyClassificationIntentFactory implements ClassificationIntentFactory {
 
-    private static final String TAG = "LegacyIntentFactory";
+    private static final String TAG = "LegacyClassificationIntentFactory";
     private static final long MIN_EVENT_FUTURE_MILLIS = TimeUnit.MINUTES.toMillis(5);
     private static final long DEFAULT_EVENT_DURATION = TimeUnit.HOURS.toMillis(1);
 
-    public LegacyIntentFactory() {}
-
     @NonNull
     @Override
     public List<LabeledIntent> create(Context context, String text, boolean foreignText,
@@ -96,10 +96,8 @@
                 break;
         }
         if (foreignText) {
-            IntentFactory.insertTranslateAction(actions, context, text);
+            ClassificationIntentFactory.insertTranslateAction(actions, context, text);
         }
-        actions.forEach(
-                action -> action.intent.putExtra(TextClassifier.EXTRA_FROM_TEXT_CLASSIFIER, true));
         return actions;
     }
 
diff --git a/core/java/android/view/textclassifier/TemplateClassificationIntentFactory.java b/core/java/android/view/textclassifier/intent/TemplateClassificationIntentFactory.java
similarity index 82%
rename from core/java/android/view/textclassifier/TemplateClassificationIntentFactory.java
rename to core/java/android/view/textclassifier/intent/TemplateClassificationIntentFactory.java
index ed0259f..111fc6a 100644
--- a/core/java/android/view/textclassifier/TemplateClassificationIntentFactory.java
+++ b/core/java/android/view/textclassifier/intent/TemplateClassificationIntentFactory.java
@@ -13,14 +13,15 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package android.view.textclassifier;
+package android.view.textclassifier.intent;
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.content.Context;
+import android.view.textclassifier.Log;
+import android.view.textclassifier.TextClassifier;
 
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.util.ArrayUtils;
 import com.android.internal.util.Preconditions;
 
 import com.google.android.textclassifier.AnnotatorModel;
@@ -36,19 +37,19 @@
  * @hide
  */
 @VisibleForTesting(visibility = VisibleForTesting.Visibility.PACKAGE)
-public final class TemplateClassificationIntentFactory implements IntentFactory {
+public final class TemplateClassificationIntentFactory implements ClassificationIntentFactory {
     private static final String TAG = TextClassifier.DEFAULT_LOG_TAG;
     private final TemplateIntentFactory mTemplateIntentFactory;
-    private final IntentFactory mFallback;
+    private final ClassificationIntentFactory mFallback;
 
     public TemplateClassificationIntentFactory(TemplateIntentFactory templateIntentFactory,
-            IntentFactory fallback) {
+            ClassificationIntentFactory fallback) {
         mTemplateIntentFactory = Preconditions.checkNotNull(templateIntentFactory);
         mFallback = Preconditions.checkNotNull(fallback);
     }
 
     /**
-     * Returns a list of {@link android.view.textclassifier.LabeledIntent}
+     * Returns a list of {@link LabeledIntent}
      * that are constructed from the classification result.
      */
     @NonNull
@@ -63,15 +64,16 @@
             return Collections.emptyList();
         }
         RemoteActionTemplate[] remoteActionTemplates = classification.getRemoteActionTemplates();
-        if (ArrayUtils.isEmpty(remoteActionTemplates)) {
+        if (remoteActionTemplates == null) {
             // RemoteActionTemplate is missing, fallback.
-            Log.w(TAG, "RemoteActionTemplate is missing, fallback to LegacyIntentFactory.");
+            Log.w(TAG, "RemoteActionTemplate is missing, fallback to"
+                    + " LegacyClassificationIntentFactory.");
             return mFallback.create(context, text, foreignText, referenceTime, classification);
         }
         final List<LabeledIntent> labeledIntents =
                 mTemplateIntentFactory.create(remoteActionTemplates);
         if (foreignText) {
-            IntentFactory.insertTranslateAction(labeledIntents, context, text.trim());
+            ClassificationIntentFactory.insertTranslateAction(labeledIntents, context, text.trim());
         }
         return labeledIntents;
     }
diff --git a/core/java/android/view/textclassifier/TemplateIntentFactory.java b/core/java/android/view/textclassifier/intent/TemplateIntentFactory.java
similarity index 87%
rename from core/java/android/view/textclassifier/TemplateIntentFactory.java
rename to core/java/android/view/textclassifier/intent/TemplateIntentFactory.java
index 0696d98..59cd7ab 100644
--- a/core/java/android/view/textclassifier/TemplateIntentFactory.java
+++ b/core/java/android/view/textclassifier/intent/TemplateIntentFactory.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package android.view.textclassifier;
+package android.view.textclassifier.intent;
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
@@ -21,15 +21,15 @@
 import android.net.Uri;
 import android.os.Bundle;
 import android.text.TextUtils;
+import android.view.textclassifier.Log;
+import android.view.textclassifier.TextClassifier;
 
 import com.android.internal.annotations.VisibleForTesting;
-import com.android.internal.util.ArrayUtils;
 
 import com.google.android.textclassifier.NamedVariant;
 import com.google.android.textclassifier.RemoteActionTemplate;
 
 import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 
 /**
@@ -41,11 +41,14 @@
 public final class TemplateIntentFactory {
     private static final String TAG = TextClassifier.DEFAULT_LOG_TAG;
 
-    @NonNull
+    /**
+     * Constructs and returns a list of {@link LabeledIntent} based on the given templates.
+     */
+    @Nullable
     public List<LabeledIntent> create(
-            @Nullable RemoteActionTemplate[] remoteActionTemplates) {
-        if (ArrayUtils.isEmpty(remoteActionTemplates)) {
-            return Collections.emptyList();
+            @NonNull RemoteActionTemplate[] remoteActionTemplates) {
+        if (remoteActionTemplates.length == 0) {
+            return new ArrayList<>();
         }
         final List<LabeledIntent> labeledIntents = new ArrayList<>();
         for (RemoteActionTemplate remoteActionTemplate : remoteActionTemplates) {
@@ -63,8 +66,6 @@
                                     ? LabeledIntent.DEFAULT_REQUEST_CODE
                                     : remoteActionTemplate.requestCode));
         }
-        labeledIntents.forEach(
-                action -> action.intent.putExtra(TextClassifier.EXTRA_FROM_TEXT_CLASSIFIER, true));
         return labeledIntents;
     }
 
@@ -108,11 +109,14 @@
                 }
             }
         }
-        intent.putExtras(createExtras(remoteActionTemplate.extras));
+        intent.putExtras(nameVariantsToBundle(remoteActionTemplate.extras));
         return intent;
     }
 
-    private static Bundle createExtras(NamedVariant[] namedVariants) {
+    /**
+     * Converts an array of {@link NamedVariant} to a Bundle and returns it.
+     */
+    public static Bundle nameVariantsToBundle(@Nullable NamedVariant[] namedVariants) {
         if (namedVariants == null) {
             return Bundle.EMPTY;
         }
@@ -142,7 +146,8 @@
                     break;
                 default:
                     Log.w(TAG,
-                            "Unsupported type found in createExtras : " + namedVariant.getType());
+                            "Unsupported type found in nameVariantsToBundle : "
+                                    + namedVariant.getType());
             }
         }
         return bundle;
diff --git a/core/java/android/webkit/WebSettings.java b/core/java/android/webkit/WebSettings.java
index 8b98469..494eb03 100644
--- a/core/java/android/webkit/WebSettings.java
+++ b/core/java/android/webkit/WebSettings.java
@@ -231,34 +231,34 @@
             FORCE_DARK_ON
     })
     @Retention(RetentionPolicy.SOURCE)
-    public @interface ForceDarkMode {}
+    public @interface ForceDark {}
 
     /**
-     * Used with {@link #setForceDarkMode}
+     * Used with {@link #setForceDark}
      *
      * Disable force dark, irrespective of the force dark mode of the WebView parent. In this mode,
      * WebView content will always be rendered as-is, regardless of whether native views are being
      * automatically darkened.
      */
-    public static final int FORCE_DARK_OFF = -1;
+    public static final int FORCE_DARK_OFF = 0;
 
     /**
-     * Used with {@link #setForceDarkMode}
+     * Used with {@link #setForceDark}
      *
      * Enable force dark, dependent on the state of the WebView parent. If the WebView parent view
      * is being automatically rendered in dark mode, then WebView content will be rendered so as to
      * emulate a dark theme. WebViews that are not attached to the view hierarchy will not be
      * inverted.
      */
-    public static final int FORCE_DARK_AUTO = 0;
+    public static final int FORCE_DARK_AUTO = 1;
 
     /**
-     * Used with {@link #setForceDarkMode}
+     * Used with {@link #setForceDark}
      *
      * Unconditionally enable force dark. In this mode WebView content will always be rendered so
      * as to emulate a dark theme.
      */
-    public static final int FORCE_DARK_ON = +1;
+    public static final int FORCE_DARK_ON = 2;
 
     /**
      * Enables dumping the pages navigation cache to a text file. The default
@@ -1467,7 +1467,7 @@
     /**
      * Set the force dark mode for this WebView.
      */
-    public void setForceDarkMode(@ForceDarkMode int forceDarkMode) {
+    public void setForceDark(@ForceDark int forceDark) {
         // Stub implementation to satisfy Roboelectrc shadows that don't override this yet.
     }
 
@@ -1476,7 +1476,7 @@
      *
      * @return the currently set force dark mode.
      */
-    public @ForceDarkMode int getForceDarkMode() {
+    public @ForceDark int getForceDark() {
         // Stub implementation to satisfy Roboelectrc shadows that don't override this yet.
         return FORCE_DARK_AUTO;
     }
diff --git a/core/java/android/webkit/WebView.java b/core/java/android/webkit/WebView.java
index 3555822..26dba45 100644
--- a/core/java/android/webkit/WebView.java
+++ b/core/java/android/webkit/WebView.java
@@ -1704,7 +1704,7 @@
 
 
     /**
-     * Gets the WebView renderer associated with this WebView.
+     * Gets a handle to the WebView renderer process associated with this WebView.
      *
      * <p>In {@link android.os.Build.VERSION_CODES#O} and above, WebView may
      * run in "multiprocess" mode. In multiprocess mode, rendering of web
@@ -1717,67 +1717,70 @@
      * handle to the renderer process associated with the WebView, which can
      * be used to control the renderer process.
      *
-     * @return the {@link WebViewRenderer} renderer handle associated
+     * @return the {@link WebViewRenderProcess} renderer handle associated
      *         with this {@link WebView}, or {@code null} if
      *         WebView is not runing in multiprocess mode.
      */
     @Nullable
-    public WebViewRenderer getWebViewRenderer() {
+    public WebViewRenderProcess getWebViewRenderProcess() {
         checkThread();
-        return mProvider.getWebViewRenderer();
+        return mProvider.getWebViewRenderProcess();
     }
 
     /**
      * Sets the renderer client object associated with this WebView.
      *
      * <p>The renderer client encapsulates callbacks relevant to WebView renderer
-     * state. See {@link WebViewRendererClient} for details.
+     * state. See {@link WebViewRenderProcessClient} for details.
      *
      * <p>Although many WebView instances may share a single underlying
      * renderer, and renderers may live either in the application
      * process, or in a sandboxed process that is isolated from the
-     * application process, instances of {@link WebViewRendererClient}
+     * application process, instances of {@link WebViewRenderProcessClient}
      * are set per-WebView.  Callbacks represent renderer events from
      * the perspective of this WebView, and may or may not be correlated
      * with renderer events affecting other WebViews.
      *
-     * @param executor the Executor on which {@link WebViewRendererClient} callbacks will execute.
-     * @param webViewRendererClient the {@link WebViewRendererClient} object.
+     * @param executor the Executor on which {@link WebViewRenderProcessClient}
+     *                 callbacks will execute.
+     * @param webViewRenderProcessClient the {@link WebViewRenderProcessClient}
+     *                                   object.
      */
-    public void setWebViewRendererClient(
+    public void setWebViewRenderProcessClient(
             @NonNull @CallbackExecutor Executor executor,
-            @NonNull WebViewRendererClient webViewRendererClient) {
+            @NonNull WebViewRenderProcessClient webViewRenderProcessClient) {
         checkThread();
-        mProvider.setWebViewRendererClient(executor, webViewRendererClient);
+        mProvider.setWebViewRenderProcessClient(
+                executor, webViewRenderProcessClient);
     }
 
     /**
      * Sets the renderer client object associated with this WebView.
      *
-     * See {@link #setWebViewRendererClient(Executor,WebViewRendererClient)} for details.
+     * See {@link #setWebViewRenderProcessClient(Executor,WebViewRenderProcessClient)} for details.
      *
-     * <p> {@link WebViewRendererClient} callbacks will run on the thread that this WebView was
+     * <p> {@link WebViewRenderProcessClient} callbacks will run on the thread that this WebView was
      * initialized on.
      *
-     * @param webViewRendererClient the {@link WebViewRendererClient} object.
+     * @param webViewRenderProcessClient the {@link WebViewRenderProcessClient} object.
      */
-    public void setWebViewRendererClient(
-            @Nullable WebViewRendererClient webViewRendererClient) {
+    public void setWebViewRenderProcessClient(
+            @Nullable WebViewRenderProcessClient webViewRenderProcessClient) {
         checkThread();
-        mProvider.setWebViewRendererClient(null, webViewRendererClient);
+        mProvider.setWebViewRenderProcessClient(null, webViewRenderProcessClient);
     }
 
     /**
      * Gets the renderer client object associated with this WebView.
      *
-     * @return the {@link WebViewRendererClient} object associated with this WebView, if one has
-     * been set via {@link #setWebViewRendererClient(WebViewRendererClient)} or {@code null}
-     * otherwise.
+     * @return the {@link WebViewRenderProcessClient} object associated with this WebView, if one
+     *         has been set via {@link #setWebViewRenderProcessClient(WebViewRenderProcessClient)}
+     *         or {@code null} otherwise.
      */
     @Nullable
-    public WebViewRendererClient getWebViewRendererClient() {
+    public WebViewRenderProcessClient getWebViewRenderProcessClient() {
         checkThread();
-        return mProvider.getWebViewRendererClient();
+        return mProvider.getWebViewRenderProcessClient();
     }
 
     /**
@@ -2289,9 +2292,9 @@
      * @return the requested renderer priority policy.
      */
     @InspectableProperty(hasAttributeId = false, enumMapping = {
-            @InspectableProperty.EnumMap(name = "waived", value = RENDERER_PRIORITY_WAIVED),
-            @InspectableProperty.EnumMap(name = "bound", value = RENDERER_PRIORITY_BOUND),
-            @InspectableProperty.EnumMap(name = "important", value = RENDERER_PRIORITY_IMPORTANT)
+            @InspectableProperty.EnumEntry(name = "waived", value = RENDERER_PRIORITY_WAIVED),
+            @InspectableProperty.EnumEntry(name = "bound", value = RENDERER_PRIORITY_BOUND),
+            @InspectableProperty.EnumEntry(name = "important", value = RENDERER_PRIORITY_IMPORTANT)
     })
     @RendererPriority
     public int getRendererRequestedPriority() {
diff --git a/core/java/android/webkit/WebViewClient.java b/core/java/android/webkit/WebViewClient.java
index 090640e..150fa88 100644
--- a/core/java/android/webkit/WebViewClient.java
+++ b/core/java/android/webkit/WebViewClient.java
@@ -102,9 +102,11 @@
 
     /**
      * Notify the host application that a page has finished loading. This method
-     * is called only for main frame. When onPageFinished() is called, the
-     * rendering picture may not be updated yet. To get the notification for the
-     * new Picture, use {@link WebView.PictureListener#onNewPicture}.
+     * is called only for main frame. Receiving an {@code onPageFinished()} callback does not
+     * guarantee that the next frame drawn by WebView will reflect the state of the DOM at this
+     * point. In order to be notified that the current DOM state is ready to be rendered, request a
+     * visual state callback with {@link WebView#postVisualStateCallback} and wait for the supplied
+     * callback to be triggered.
      *
      * @param view The WebView that is initiating the callback.
      * @param url The url of the page.
diff --git a/core/java/android/webkit/WebViewDelegate.java b/core/java/android/webkit/WebViewDelegate.java
index ef69b63..f5657df 100644
--- a/core/java/android/webkit/WebViewDelegate.java
+++ b/core/java/android/webkit/WebViewDelegate.java
@@ -79,7 +79,10 @@
     /**
      * Returns {@code true} if the draw GL functor can be invoked (see {@link #invokeDrawGlFunctor})
      * and {@code false} otherwise.
+     *
+     * @deprecated Use {@link #drawWebViewFunctor(Canvas, int)}
      */
+    @Deprecated
     public boolean canInvokeDrawGlFunctor(View containerView) {
         return true;
     }
@@ -90,7 +93,9 @@
      *
      * @param nativeDrawGLFunctor the pointer to the native functor that implements
      *        system/core/include/utils/Functor.h
+     * @deprecated Use {@link #drawWebViewFunctor(Canvas, int)}
      */
+    @Deprecated
     public void invokeDrawGlFunctor(View containerView, long nativeDrawGLFunctor,
             boolean waitForCompletion) {
         ViewRootImpl.invokeFunctor(nativeDrawGLFunctor, waitForCompletion);
@@ -105,7 +110,9 @@
      * @param nativeDrawGLFunctor the pointer to the native functor that implements
      *        system/core/include/utils/Functor.h
      * @throws IllegalArgumentException if the canvas is not hardware accelerated
+     * @deprecated Use {@link #drawWebViewFunctor(Canvas, int)}
      */
+    @Deprecated
     public void callDrawGlFunction(Canvas canvas, long nativeDrawGLFunctor) {
         if (!(canvas instanceof RecordingCanvas)) {
             // Canvas#isHardwareAccelerated() is only true for subclasses of HardwareCanvas.
@@ -126,7 +133,9 @@
      * @param releasedRunnable Called when this nativeDrawGLFunctor is no longer referenced by this
      *        canvas, so is safe to be destroyed.
      * @throws IllegalArgumentException if the canvas is not hardware accelerated
+     * @deprecated Use {@link #drawWebViewFunctor(Canvas, int)}
      */
+    @Deprecated
     public void callDrawGlFunction(@NonNull Canvas canvas, long nativeDrawGLFunctor,
             @Nullable Runnable releasedRunnable) {
         if (!(canvas instanceof RecordingCanvas)) {
@@ -139,7 +148,7 @@
 
     /**
      * Call webview draw functor. See API in draw_fn.h.
-     * @param canvas a hardware accelerated canvas (see {@link Canvas#isHardwareAccelerated()}).
+     * @param canvas a {@link RecordingCanvas}.
      * @param functor created by AwDrawFn_CreateFunctor in draw_fn.h.
      */
     public void drawWebViewFunctor(@NonNull Canvas canvas, int functor) {
@@ -156,7 +165,9 @@
      *
      * @param nativeDrawGLFunctor the pointer to the native functor that implements
      *        system/core/include/utils/Functor.h
+     * @deprecated Use {@link #drawWebViewFunctor(Canvas, int)}
      */
+    @Deprecated
     public void detachDrawGlFunctor(View containerView, long nativeDrawGLFunctor) {
         ViewRootImpl viewRootImpl = containerView.getViewRootImpl();
         if (nativeDrawGLFunctor != 0 && viewRootImpl != null) {
@@ -198,19 +209,17 @@
      * Adds the WebView asset path to {@link android.content.res.AssetManager}.
      */
     public void addWebViewAssetPath(Context context) {
-        final String newAssetPath = WebViewFactory.getLoadedPackageInfo().applicationInfo.sourceDir;
-
+        final String[] newAssetPaths =
+                WebViewFactory.getLoadedPackageInfo().applicationInfo.getAllApkPaths();
         final ApplicationInfo appInfo = context.getApplicationInfo();
-        final String[] libs = appInfo.sharedLibraryFiles;
-        if (!ArrayUtils.contains(libs, newAssetPath)) {
-            // Build the new library asset path list.
-            final int newLibAssetsCount = 1 + (libs != null ? libs.length : 0);
-            final String[] newLibAssets = new String[newLibAssetsCount];
-            if (libs != null) {
-                System.arraycopy(libs, 0, newLibAssets, 0, libs.length);
-            }
-            newLibAssets[newLibAssetsCount - 1] = newAssetPath;
 
+        // Build the new library asset path list.
+        String[] newLibAssets = appInfo.sharedLibraryFiles;
+        for (String newAssetPath : newAssetPaths) {
+            newLibAssets = ArrayUtils.appendElement(String.class, newLibAssets, newAssetPath);
+        }
+
+        if (newLibAssets != appInfo.sharedLibraryFiles) {
             // Update the ApplicationInfo object with the new list.
             // We know this will persist and future Resources created via ResourcesManager
             // will include the shared library because this ApplicationInfo comes from the
@@ -219,8 +228,8 @@
             appInfo.sharedLibraryFiles = newLibAssets;
 
             // Update existing Resources with the WebView library.
-            ResourcesManager.getInstance().appendLibAssetForMainAssetPath(
-                    appInfo.getBaseResourcePath(), newAssetPath);
+            ResourcesManager.getInstance().appendLibAssetsForMainAssetPath(
+                    appInfo.getBaseResourcePath(), newAssetPaths);
         }
     }
 
diff --git a/core/java/android/webkit/WebViewFactory.java b/core/java/android/webkit/WebViewFactory.java
index 6d88530..4413585 100644
--- a/core/java/android/webkit/WebViewFactory.java
+++ b/core/java/android/webkit/WebViewFactory.java
@@ -448,8 +448,9 @@
 
             Trace.traceBegin(Trace.TRACE_TAG_WEBVIEW, "WebViewFactory.getChromiumProviderClass()");
             try {
-                initialApplication.getAssets().addAssetPathAsSharedLibrary(
-                        webViewContext.getApplicationInfo().sourceDir);
+                for (String newAssetPath : webViewContext.getApplicationInfo().getAllApkPaths()) {
+                    initialApplication.getAssets().addAssetPathAsSharedLibrary(newAssetPath);
+                }
                 ClassLoader clazzLoader = webViewContext.getClassLoader();
 
                 Trace.traceBegin(Trace.TRACE_TAG_WEBVIEW, "WebViewFactory.loadNativeLibrary()");
diff --git a/core/java/android/webkit/WebViewProvider.java b/core/java/android/webkit/WebViewProvider.java
index 4c8f72a..010c0b7 100644
--- a/core/java/android/webkit/WebViewProvider.java
+++ b/core/java/android/webkit/WebViewProvider.java
@@ -238,13 +238,15 @@
 
     public WebViewClient getWebViewClient();
 
-    public WebViewRenderer getWebViewRenderer();
+    @Nullable
+    public WebViewRenderProcess getWebViewRenderProcess();
 
-    public void setWebViewRendererClient(
+    public void setWebViewRenderProcessClient(
             @Nullable Executor executor,
-            @Nullable WebViewRendererClient client);
+            @Nullable WebViewRenderProcessClient client);
 
-    public WebViewRendererClient getWebViewRendererClient();
+    @Nullable
+    public WebViewRenderProcessClient getWebViewRenderProcessClient();
 
     public void setDownloadListener(DownloadListener listener);
 
diff --git a/core/java/android/webkit/WebViewRenderer.java b/core/java/android/webkit/WebViewRenderProcess.java
similarity index 82%
rename from core/java/android/webkit/WebViewRenderer.java
rename to core/java/android/webkit/WebViewRenderProcess.java
index fc38cd9..1be2210 100644
--- a/core/java/android/webkit/WebViewRenderer.java
+++ b/core/java/android/webkit/WebViewRenderProcess.java
@@ -16,12 +16,10 @@
 
 package android.webkit;
 
-import android.annotation.SystemApi;
-
 /**
- * WebViewRenderer provides an opaque handle to a {@link WebView} renderer.
+ * WebViewRenderProcess provides an opaque handle to a {@link WebView} renderer.
  */
-public abstract class WebViewRenderer {
+public abstract class WebViewRenderProcess {
     /**
      * Cause this renderer to terminate.
      *
@@ -38,11 +36,6 @@
      */
     public abstract boolean terminate();
 
-    /**
-     * This class cannot be created by applications.
-     * @hide
-     */
-    @SystemApi
-    public WebViewRenderer() {
+    public WebViewRenderProcess() {
     }
 }
diff --git a/core/java/android/webkit/WebViewRendererClient.java b/core/java/android/webkit/WebViewRenderProcessClient.java
similarity index 66%
rename from core/java/android/webkit/WebViewRendererClient.java
rename to core/java/android/webkit/WebViewRenderProcessClient.java
index 2fadf54..24b8fb5 100644
--- a/core/java/android/webkit/WebViewRendererClient.java
+++ b/core/java/android/webkit/WebViewRenderProcessClient.java
@@ -22,14 +22,14 @@
 /**
  * Used to receive callbacks on {@link WebView} renderer events.
  *
- * WebViewRendererClient instances may be set or retrieved via {@link
- * WebView#setWebViewRendererClient(WebViewRendererClient)} and {@link
- * WebView#getWebViewRendererClient()}.
+ * WebViewRenderProcessClient instances may be set or retrieved via {@link
+ * WebView#setWebViewRenderProcessClient(WebViewRenderProcessClient)} and {@link
+ * WebView#getWebViewRenderProcessClient()}.
  *
  * Instances may be attached to multiple WebViews, and thus a single renderer event may cause
  * a callback to be called multiple times with different WebView parameters.
  */
-public abstract class WebViewRendererClient {
+public abstract class WebViewRenderProcessClient {
     /**
      * Called when the renderer currently associated with {@code view} becomes unresponsive as a
      * result of a long running blocking task such as the execution of JavaScript.
@@ -40,8 +40,11 @@
      *
      * <p>This callback will continue to be called at regular intervals as long as the renderer
      * remains unresponsive. If the renderer becomes responsive again, {@link
-     * WebViewRendererClient#onRendererResponsive} will be called once, and this method will not
-     * subsequently be called unless another period of unresponsiveness is detected.
+     * WebViewRenderProcessClient#onRenderProcessResponsive} will be called once, and this method
+     * will not subsequently be called unless another period of unresponsiveness is detected.
+     *
+     * <p>The minimum interval between successive calls to {@code onRenderProcessUnresponsive} is 5
+     * seconds.
      *
      * <p>No action is taken by WebView as a result of this method call. Applications may
      * choose to terminate the associated renderer via the object that is passed to this callback,
@@ -50,28 +53,28 @@
      * with the same renderer. Failure to do so will result in application termination.
      *
      * @param view The {@link WebView} for which unresponsiveness was detected.
-     * @param renderer The {@link WebViewRenderer} that has become unresponsive,
+     * @param renderer The {@link WebViewRenderProcess} that has become unresponsive,
      * or {@code null} if WebView is running in single process mode.
      */
-    public abstract void onRendererUnresponsive(
-            @NonNull WebView view, @Nullable WebViewRenderer renderer);
+    public abstract void onRenderProcessUnresponsive(
+            @NonNull WebView view, @Nullable WebViewRenderProcess renderer);
 
     /**
      * Called once when an unresponsive renderer currently associated with {@code view} becomes
      * responsive.
      *
      * <p>After a WebView renderer becomes unresponsive, which is notified to the application by
-     * {@link WebViewRendererClient#onRendererUnresponsive}, it is possible for the blocking
-     * renderer task to complete, returning the renderer to a responsive state. In that case,
-     * this method is called once to indicate responsiveness.
+     * {@link WebViewRenderProcessClient#onRenderProcessUnresponsive}, it is possible for the
+     * blocking renderer task to complete, returning the renderer to a responsive state. In that
+     * case, this method is called once to indicate responsiveness.
      *
      * <p>No action is taken by WebView as a result of this method call.
      *
      * @param view The {@link WebView} for which responsiveness was detected.
      *
-     * @param renderer The {@link WebViewRenderer} that has become responsive, or {@code null} if
-     * WebView is running in single process mode.
+     * @param renderer The {@link WebViewRenderProcess} that has become responsive, or {@code null}
+     *                 if WebView is running in single process mode.
      */
-    public abstract void onRendererResponsive(
-            @NonNull WebView view, @Nullable WebViewRenderer renderer);
+    public abstract void onRenderProcessResponsive(
+            @NonNull WebView view, @Nullable WebViewRenderProcess renderer);
 }
diff --git a/core/java/android/widget/AbsListView.java b/core/java/android/widget/AbsListView.java
index 6eceb003..4cb552d 100644
--- a/core/java/android/widget/AbsListView.java
+++ b/core/java/android/widget/AbsListView.java
@@ -83,7 +83,7 @@
 import android.view.inputmethod.InputContentInfo;
 import android.view.inputmethod.InputMethodManager;
 import android.view.inspector.InspectableProperty;
-import android.view.inspector.InspectableProperty.EnumMap;
+import android.view.inspector.InspectableProperty.EnumEntry;
 import android.widget.RemoteViews.OnClickHandler;
 
 import com.android.internal.R;
@@ -1221,10 +1221,10 @@
      * @return The current choice mode
      */
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = CHOICE_MODE_NONE, name = "none"),
-            @EnumMap(value = CHOICE_MODE_SINGLE, name = "singleChoice"),
-            @EnumMap(value = CHOICE_MODE_MULTIPLE, name = "multipleChoice"),
-            @EnumMap(value = CHOICE_MODE_MULTIPLE_MODAL, name = "multipleChoiceModal")
+            @EnumEntry(value = CHOICE_MODE_NONE, name = "none"),
+            @EnumEntry(value = CHOICE_MODE_SINGLE, name = "singleChoice"),
+            @InspectableProperty.EnumEntry(value = CHOICE_MODE_MULTIPLE, name = "multipleChoice"),
+            @EnumEntry(value = CHOICE_MODE_MULTIPLE_MODAL, name = "multipleChoiceModal")
     })
     public int getChoiceMode() {
         return mChoiceMode;
@@ -6293,9 +6293,9 @@
      *         {@link #TRANSCRIPT_MODE_ALWAYS_SCROLL}
      */
     @InspectableProperty(enumMapping = {
-            @EnumMap(value = TRANSCRIPT_MODE_DISABLED, name = "disabled"),
-            @EnumMap(value = TRANSCRIPT_MODE_NORMAL, name = "normal"),
-            @EnumMap(value = TRANSCRIPT_MODE_ALWAYS_SCROLL, name = "alwaysScroll")
+            @EnumEntry(value = TRANSCRIPT_MODE_DISABLED, name = "disabled"),
+            @EnumEntry(value = TRANSCRIPT_MODE_NORMAL, name = "normal"),
+            @EnumEntry(value = TRANSCRIPT_MODE_ALWAYS_SCROLL, name = "alwaysScroll")
     })
     public int getTranscriptMode() {
         return mTranscriptMode;
@@ -7794,6 +7794,11 @@
                 mLastSeenPos = firstPos;
 
                 final int childCount = getChildCount();
+
+                if (childCount <= 0) {
+                    return;
+                }
+
                 final int position = mTargetPos;
                 final int lastPos = firstPos + childCount - 1;
 
diff --git a/core/java/android/widget/AbsoluteLayout.java b/core/java/android/widget/AbsoluteLayout.java
index 4ce0d5d..e3499f9 100644
--- a/core/java/android/widget/AbsoluteLayout.java
+++ b/core/java/android/widget/AbsoluteLayout.java
@@ -21,6 +21,7 @@
 import android.util.AttributeSet;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.inspector.InspectableProperty;
 import android.widget.RemoteViews.RemoteView;
 
 
@@ -159,10 +160,12 @@
         /**
          * The horizontal, or X, location of the child within the view group.
          */
+        @InspectableProperty(name = "layout_x")
         public int x;
         /**
          * The vertical, or Y, location of the child within the view group.
          */
+        @InspectableProperty(name = "layout_y")
         public int y;
 
         /**
diff --git a/core/java/android/widget/AutoCompleteTextView.java b/core/java/android/widget/AutoCompleteTextView.java
index 89e205c..8785251 100644
--- a/core/java/android/widget/AutoCompleteTextView.java
+++ b/core/java/android/widget/AutoCompleteTextView.java
@@ -17,6 +17,7 @@
 package android.widget;
 
 import android.annotation.DrawableRes;
+import android.annotation.IntDef;
 import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.res.Resources.Theme;
@@ -44,6 +45,8 @@
 
 import com.android.internal.R;
 
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
 import java.lang.ref.WeakReference;
 
 /**
@@ -1259,9 +1262,20 @@
     }
 
     /**
+     * The valid input method modes for the {@link AutoCompleteTextView}:
+     *
+     * {@hide}
+     */
+    @IntDef({ListPopupWindow.INPUT_METHOD_FROM_FOCUSABLE,
+            ListPopupWindow.INPUT_METHOD_NEEDED,
+            ListPopupWindow.INPUT_METHOD_NOT_NEEDED})
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface InputMethodMode {}
+
+    /**
      * Returns the input method mode used by the auto complete dropdown.
      */
-    public int getInputMethodMode() {
+    public @InputMethodMode int getInputMethodMode() {
         return mPopup.getInputMethodMode();
     }
 
@@ -1277,7 +1291,7 @@
      * {@link ListPopupWindow#INPUT_METHOD_NOT_NEEDED}. The auto-complete suggestions are always
      * displayed, even if the suggestions cover/hide the input method.
      */
-    public void setInputMethodMode(int mode) {
+    public void setInputMethodMode(@InputMethodMode int mode) {
         mPopup.setInputMethodMode(mode);
     }
 
diff --git a/core/java/android/widget/DatePicker.java b/core/java/android/widget/DatePicker.java
index ecb846b..0c593be 100644
--- a/core/java/android/widget/DatePicker.java
+++ b/core/java/android/widget/DatePicker.java
@@ -216,8 +216,8 @@
      * @hide Visible for testing only.
      */
     @InspectableProperty(name = "datePickerMode", enumMapping = {
-            @InspectableProperty.EnumMap(value = MODE_SPINNER, name = "spinner"),
-            @InspectableProperty.EnumMap(value = MODE_CALENDAR, name = "calendar")
+            @InspectableProperty.EnumEntry(value = MODE_SPINNER, name = "spinner"),
+            @InspectableProperty.EnumEntry(value = MODE_CALENDAR, name = "calendar")
     })
     @DatePickerMode
     @TestApi
diff --git a/core/java/android/widget/FrameLayout.java b/core/java/android/widget/FrameLayout.java
index 3570c79..69da911 100644
--- a/core/java/android/widget/FrameLayout.java
+++ b/core/java/android/widget/FrameLayout.java
@@ -443,6 +443,9 @@
          * @see android.view.Gravity
          * @attr ref android.R.styleable#FrameLayout_Layout_layout_gravity
          */
+        @InspectableProperty(
+                name = "layout_gravity",
+                valueType = InspectableProperty.ValueType.GRAVITY)
         public int gravity = UNSPECIFIED_GRAVITY;
 
         public LayoutParams(@NonNull Context c, @Nullable AttributeSet attrs) {
diff --git a/core/java/android/widget/GridLayout.java b/core/java/android/widget/GridLayout.java
index 1c8bb04..8cda47d 100644
--- a/core/java/android/widget/GridLayout.java
+++ b/core/java/android/widget/GridLayout.java
@@ -331,8 +331,8 @@
      */
     @Orientation
     @InspectableProperty(enumMapping = {
-            @InspectableProperty.EnumMap(value = HORIZONTAL, name = "horizontal"),
-            @InspectableProperty.EnumMap(value = VERTICAL, name = "vertical")
+            @InspectableProperty.EnumEntry(value = HORIZONTAL, name = "horizontal"),
+            @InspectableProperty.EnumEntry(value = VERTICAL, name = "vertical")
     })
     public int getOrientation() {
         return mOrientation;
@@ -510,8 +510,8 @@
      */
     @AlignmentMode
     @InspectableProperty(enumMapping = {
-            @InspectableProperty.EnumMap(value = ALIGN_BOUNDS, name = "alignBounds"),
-            @InspectableProperty.EnumMap(value = ALIGN_MARGINS, name = "alignMargins"),
+            @InspectableProperty.EnumEntry(value = ALIGN_BOUNDS, name = "alignBounds"),
+            @InspectableProperty.EnumEntry(value = ALIGN_MARGINS, name = "alignMargins"),
     })
     public int getAlignmentMode() {
         return mAlignmentMode;
diff --git a/core/java/android/widget/GridView.java b/core/java/android/widget/GridView.java
index f44c331..4e39a55 100644
--- a/core/java/android/widget/GridView.java
+++ b/core/java/android/widget/GridView.java
@@ -2174,11 +2174,11 @@
 
     @StretchMode
     @InspectableProperty(enumMapping = {
-            @InspectableProperty.EnumMap(value = NO_STRETCH, name = "none"),
-            @InspectableProperty.EnumMap(value = STRETCH_SPACING, name = "spacingWidth"),
-            @InspectableProperty.EnumMap(
+            @InspectableProperty.EnumEntry(value = NO_STRETCH, name = "none"),
+            @InspectableProperty.EnumEntry(value = STRETCH_SPACING, name = "spacingWidth"),
+            @InspectableProperty.EnumEntry(
                     value = STRETCH_SPACING_UNIFORM, name = "spacingWidthUniform"),
-            @InspectableProperty.EnumMap(value = STRETCH_COLUMN_WIDTH, name = "columnWidth"),
+            @InspectableProperty.EnumEntry(value = STRETCH_COLUMN_WIDTH, name = "columnWidth"),
     })
     public int getStretchMode() {
         return mStretchMode;
diff --git a/core/java/android/widget/LinearLayout.java b/core/java/android/widget/LinearLayout.java
index e833df9..a83e826 100644
--- a/core/java/android/widget/LinearLayout.java
+++ b/core/java/android/widget/LinearLayout.java
@@ -1850,8 +1850,8 @@
      */
     @OrientationMode
     @InspectableProperty(enumMapping = {
-            @InspectableProperty.EnumMap(value = HORIZONTAL, name = "horizontal"),
-            @InspectableProperty.EnumMap(value = VERTICAL, name = "vertical")
+            @InspectableProperty.EnumEntry(value = HORIZONTAL, name = "horizontal"),
+            @InspectableProperty.EnumEntry(value = VERTICAL, name = "vertical")
     })
     public int getOrientation() {
         return mOrientation;
@@ -1987,6 +1987,7 @@
          * will be pro-rated among all views whose weight is greater than 0.
          */
         @ViewDebug.ExportedProperty(category = "layout")
+        @InspectableProperty(name = "layout_weight")
         public float weight;
 
         /**
@@ -2010,6 +2011,9 @@
             @ViewDebug.IntToString(from = Gravity.CENTER,            to = "CENTER"),
             @ViewDebug.IntToString(from = Gravity.FILL,              to = "FILL")
         })
+        @InspectableProperty(
+                name = "layout_gravity",
+                valueType = InspectableProperty.ValueType.GRAVITY)
         public int gravity = -1;
 
         /**
diff --git a/core/java/android/widget/ListPopupWindow.java b/core/java/android/widget/ListPopupWindow.java
index 25e5dd3..16b903d 100644
--- a/core/java/android/widget/ListPopupWindow.java
+++ b/core/java/android/widget/ListPopupWindow.java
@@ -702,7 +702,7 @@
 
             mPopup.setWidth(widthSpec);
             mPopup.setHeight(heightSpec);
-            mPopup.setClipToScreenEnabled(true);
+            mPopup.setIsClippedToScreen(true);
 
             // use outside touchable to dismiss drop down when touching outside of it, so
             // only set this if the dropdown is not always visible
diff --git a/core/java/android/widget/Magnifier.java b/core/java/android/widget/Magnifier.java
index b7cdad2..50e8836 100644
--- a/core/java/android/widget/Magnifier.java
+++ b/core/java/android/widget/Magnifier.java
@@ -1116,7 +1116,7 @@
     /**
      * Builder class for {@link Magnifier} objects.
      */
-    public static class Builder {
+    public static final class Builder {
         private @NonNull View mView;
         private @Px @IntRange(from = 0) int mWidth;
         private @Px @IntRange(from = 0) int mHeight;
diff --git a/core/java/android/widget/NumberPicker.java b/core/java/android/widget/NumberPicker.java
index dad2669..685e8de 100644
--- a/core/java/android/widget/NumberPicker.java
+++ b/core/java/android/widget/NumberPicker.java
@@ -1587,6 +1587,7 @@
      * others.
      * @return The height of the divider
      */
+    @Px
     public int getSelectionDividerHeight() {
         return mSelectionDividerHeight;
     }
diff --git a/core/java/android/widget/PopupWindow.java b/core/java/android/widget/PopupWindow.java
index 2798296..20fc0b1 100644
--- a/core/java/android/widget/PopupWindow.java
+++ b/core/java/android/widget/PopupWindow.java
@@ -886,9 +886,9 @@
      * containing window<p/>
      *
      * @return true if popup will be clipped to the screen instead of the window, false otherwise
-     *
-     * @see #setClipToScreenEnabled(boolean)
+     * @deprecated Use {@link #isClippedToScreen()} instead
      */
+    @Deprecated
     public boolean isClipToScreenEnabled() {
         return mClipToScreen;
     }
@@ -900,11 +900,37 @@
      * the next time the popup is shown or through a manual call to one of
      * the {@link #update()} methods.</p>
      *
+     * @deprecated Use {@link #setIsClippedToScreen(boolean)} instead
+     */
+    @Deprecated
+    public void setClipToScreenEnabled(boolean enabled) {
+        mClipToScreen = enabled;
+    }
+
+    /**
+     * <p>Indicates whether this popup will be clipped to the screen and not to the
+     * containing window<p/>
+     *
+     * @return true if popup will be clipped to the screen instead of the window, false otherwise
+     *
+     * @see #setIsClippedToScreen(boolean)
+     */
+    public boolean isClippedToScreen() {
+        return mClipToScreen;
+    }
+
+    /**
+     * <p>Clip this popup window to the screen, but not to the containing window.</p>
+     *
+     * <p>If the popup is showing, calling this method will take effect only
+     * the next time the popup is shown or through a manual call to one of
+     * the {@link #update()} methods.</p>
+     *
      * @param enabled true to clip to the screen.
      *
-     * @see #isClipToScreenEnabled()
+     * @see #isClippedToScreen()
      */
-    public void setClipToScreenEnabled(boolean enabled) {
+    public void setIsClippedToScreen(boolean enabled) {
         mClipToScreen = enabled;
     }
 
@@ -961,8 +987,9 @@
      *
      * @return true if the window will always be positioned in screen coordinates.
      *
-     * @see #setLayoutInScreenEnabled(boolean)
+     * @deprecated Use {@link #isLaidOutInScreen()} instead
      */
+    @Deprecated
     public boolean isLayoutInScreenEnabled() {
         return mLayoutInScreen;
     }
@@ -973,14 +1000,39 @@
      * This will cause the popup to be positioned in absolute screen coordinates.</p>
      *
      * @param enabled true if the popup should always be positioned in screen coordinates
-     *
-     * @see #isLayoutInScreenEnabled()
+     * @deprecated Use {@link #setIsLaidOutInScreen(boolean)} instead
      */
+    @Deprecated
     public void setLayoutInScreenEnabled(boolean enabled) {
         mLayoutInScreen = enabled;
     }
 
     /**
+     * <p>Indicates whether the popup window will be forced into using absolute screen coordinates
+     * for positioning.</p>
+     *
+     * @return true if the window will always be positioned in screen coordinates.
+     *
+     * @see #setIsLaidOutInScreen(boolean)
+     */
+    public boolean isLaidOutInScreen() {
+        return mLayoutInScreen;
+    }
+
+    /**
+     * <p>Allows the popup window to force the flag
+     * {@link WindowManager.LayoutParams#FLAG_LAYOUT_IN_SCREEN}, overriding default behavior.
+     * This will cause the popup to be positioned in absolute screen coordinates.</p>
+     *
+     * @param enabled true if the popup should always be positioned in screen coordinates
+     *
+     * @see #isLaidOutInScreen()
+     */
+    public void setIsLaidOutInScreen(boolean enabled) {
+        mLayoutInScreen = enabled;
+    }
+
+    /**
      * <p>Indicates whether the popup window will be attached in the decor frame of its parent
      * window.
      *
@@ -1016,7 +1068,7 @@
      * This will cause the popup to inset its content to account for system windows overlaying
      * the screen, such as the status bar.
      *
-     * <p>This will often be combined with {@link #setLayoutInScreenEnabled(boolean)}.
+     * <p>This will often be combined with {@link #setIsLaidOutInScreen(boolean)}.
      *
      * @param enabled true if the popup's views should inset content to account for system windows,
      *                the way that decor views behave for full-screen windows.
@@ -2114,7 +2166,7 @@
      *     <li>{@link #setTouchable(boolean)}</li>
      *     <li>{@link #setAnimationStyle(int)}</li>
      *     <li>{@link #setTouchModal(boolean)} (boolean)}</li>
-     *     <li>{@link #setClipToScreenEnabled(boolean)}</li>
+     *     <li>{@link #setIsClippedToScreen(boolean)}</li>
      * </ul>
      */
     public void update() {
diff --git a/core/java/android/widget/RelativeLayout.java b/core/java/android/widget/RelativeLayout.java
index 109c0a4..37bed65 100644
--- a/core/java/android/widget/RelativeLayout.java
+++ b/core/java/android/widget/RelativeLayout.java
@@ -35,6 +35,9 @@
 import android.view.ViewHierarchyEncoder;
 import android.view.accessibility.AccessibilityEvent;
 import android.view.inspector.InspectableProperty;
+import android.view.inspector.InspectionCompanion;
+import android.view.inspector.PropertyMapper;
+import android.view.inspector.PropertyReader;
 import android.widget.RemoteViews.RemoteView;
 
 import com.android.internal.R;
@@ -1722,6 +1725,146 @@
             super.encodeProperties(encoder);
             encoder.addProperty("layout:alignWithParent", alignWithParent);
         }
+
+        /** @hide */
+        public static final class InspectionCompanion
+                implements android.view.inspector.InspectionCompanion<LayoutParams> {
+            private boolean mPropertiesMapped;
+
+            private int mAboveId;
+            private int mAlignBaselineId;
+            private int mAlignBottomId;
+            private int mAlignEndId;
+            private int mAlignLeftId;
+            private int mAlignParentBottomId;
+            private int mAlignParentEndId;
+            private int mAlignParentLeftId;
+            private int mAlignParentRightId;
+            private int mAlignParentStartId;
+            private int mAlignParentTopId;
+            private int mAlignRightId;
+            private int mAlignStartId;
+            private int mAlignTopId;
+            private int mAlignWithParentIfMissingId;
+            private int mBelowId;
+            private int mCenterHorizontalId;
+            private int mCenterInParentId;
+            private int mCenterVerticalId;
+            private int mToEndOfId;
+            private int mToLeftOfId;
+            private int mToRightOfId;
+            private int mToStartOfId;
+
+            @Override
+            public void mapProperties(@NonNull PropertyMapper propertyMapper) {
+                mPropertiesMapped = true;
+
+                mAboveId = propertyMapper.mapResourceId("layout_above", R.attr.layout_above);
+
+                mAlignBaselineId = propertyMapper.mapResourceId(
+                        "layout_alignBaseline", R.attr.layout_alignBaseline);
+
+                mAlignBottomId = propertyMapper.mapResourceId(
+                        "layout_alignBottom", R.attr.layout_alignBottom);
+
+                mAlignEndId = propertyMapper.mapResourceId(
+                        "layout_alignEnd", R.attr.layout_alignEnd);
+
+                mAlignLeftId = propertyMapper.mapResourceId(
+                        "layout_alignLeft", R.attr.layout_alignLeft);
+
+                mAlignParentBottomId = propertyMapper.mapBoolean(
+                        "layout_alignParentBottom", R.attr.layout_alignParentBottom);
+
+                mAlignParentEndId = propertyMapper.mapBoolean(
+                        "layout_alignParentEnd", R.attr.layout_alignParentEnd);
+
+                mAlignParentLeftId = propertyMapper.mapBoolean(
+                        "layout_alignParentLeft", R.attr.layout_alignParentLeft);
+
+                mAlignParentRightId = propertyMapper.mapBoolean(
+                        "layout_alignParentRight", R.attr.layout_alignParentRight);
+
+                mAlignParentStartId = propertyMapper.mapBoolean(
+                        "layout_alignParentStart", R.attr.layout_alignParentStart);
+
+                mAlignParentTopId = propertyMapper.mapBoolean(
+                        "layout_alignParentTop", R.attr.layout_alignParentTop);
+
+                mAlignRightId = propertyMapper.mapResourceId(
+                        "layout_alignRight", R.attr.layout_alignRight);
+
+                mAlignStartId = propertyMapper.mapResourceId(
+                        "layout_alignStart", R.attr.layout_alignStart);
+
+                mAlignTopId = propertyMapper.mapResourceId(
+                        "layout_alignTop", R.attr.layout_alignTop);
+
+                mAlignWithParentIfMissingId = propertyMapper.mapBoolean(
+                        "layout_alignWithParentIfMissing",
+                        R.attr.layout_alignWithParentIfMissing);
+
+                mBelowId = propertyMapper.mapResourceId("layout_below", R.attr.layout_below);
+
+                mCenterHorizontalId = propertyMapper.mapBoolean(
+                        "layout_centerHorizontal", R.attr.layout_centerHorizontal);
+
+                mCenterInParentId = propertyMapper.mapBoolean(
+                        "layout_centerInParent", R.attr.layout_centerInParent);
+
+                mCenterVerticalId = propertyMapper.mapBoolean(
+                        "layout_centerVertical", R.attr.layout_centerVertical);
+
+                mToEndOfId = propertyMapper.mapResourceId(
+                        "layout_toEndOf", R.attr.layout_toEndOf);
+
+                mToLeftOfId = propertyMapper.mapResourceId(
+                        "layout_toLeftOf", R.attr.layout_toLeftOf);
+
+                mToRightOfId = propertyMapper.mapResourceId(
+                        "layout_toRightOf", R.attr.layout_toRightOf);
+
+                mToStartOfId = propertyMapper.mapResourceId(
+                        "layout_toStartOf", R.attr.layout_toStartOf);
+            }
+
+            @Override
+            public void readProperties(
+                    @NonNull LayoutParams node,
+                    @NonNull PropertyReader propertyReader
+            ) {
+                if (!mPropertiesMapped) {
+                    throw new UninitializedPropertyMapException();
+                }
+
+                final int[] rules = node.getRules();
+
+                propertyReader.readResourceId(mAboveId, rules[ABOVE]);
+                propertyReader.readResourceId(mAlignBaselineId, rules[ALIGN_BASELINE]);
+                propertyReader.readResourceId(mAlignBottomId, rules[ALIGN_BOTTOM]);
+                propertyReader.readResourceId(mAlignEndId, rules[ALIGN_END]);
+                propertyReader.readResourceId(mAlignLeftId, rules[ALIGN_LEFT]);
+                propertyReader.readBoolean(
+                        mAlignParentBottomId, rules[ALIGN_PARENT_BOTTOM] == TRUE);
+                propertyReader.readBoolean(mAlignParentEndId, rules[ALIGN_PARENT_END] == TRUE);
+                propertyReader.readBoolean(mAlignParentLeftId, rules[ALIGN_PARENT_LEFT] == TRUE);
+                propertyReader.readBoolean(mAlignParentRightId, rules[ALIGN_PARENT_RIGHT] == TRUE);
+                propertyReader.readBoolean(mAlignParentStartId, rules[ALIGN_PARENT_START] == TRUE);
+                propertyReader.readBoolean(mAlignParentTopId, rules[ALIGN_PARENT_TOP] == TRUE);
+                propertyReader.readResourceId(mAlignRightId, rules[ALIGN_RIGHT]);
+                propertyReader.readResourceId(mAlignStartId, rules[ALIGN_START]);
+                propertyReader.readResourceId(mAlignTopId, rules[ALIGN_TOP]);
+                propertyReader.readBoolean(mAlignWithParentIfMissingId, node.alignWithParent);
+                propertyReader.readResourceId(mBelowId, rules[BELOW]);
+                propertyReader.readBoolean(mCenterHorizontalId, rules[CENTER_HORIZONTAL] == TRUE);
+                propertyReader.readBoolean(mCenterInParentId, rules[CENTER_IN_PARENT] == TRUE);
+                propertyReader.readBoolean(mCenterVerticalId, rules[CENTER_VERTICAL] == TRUE);
+                propertyReader.readResourceId(mToEndOfId, rules[END_OF]);
+                propertyReader.readResourceId(mToLeftOfId, rules[LEFT_OF]);
+                propertyReader.readResourceId(mToRightOfId, rules[RIGHT_OF]);
+                propertyReader.readResourceId(mToStartOfId, rules[START_OF]);
+            }
+        }
     }
 
     private static class DependencyGraph {
diff --git a/core/java/android/widget/ScrollView.java b/core/java/android/widget/ScrollView.java
index 457be34..a3e89c8 100644
--- a/core/java/android/widget/ScrollView.java
+++ b/core/java/android/widget/ScrollView.java
@@ -1474,7 +1474,7 @@
      *
      * @param child the View to scroll to
      */
-    public void scrollToDescendant(View child) {
+    public void scrollToDescendant(@NonNull View child) {
         if (!mIsLayoutDirty) {
             child.getDrawingRect(mTempRect);
 
diff --git a/core/java/android/widget/TableRow.java b/core/java/android/widget/TableRow.java
index 22931fc..ac23093 100644
--- a/core/java/android/widget/TableRow.java
+++ b/core/java/android/widget/TableRow.java
@@ -26,6 +26,7 @@
 import android.view.ViewDebug;
 import android.view.ViewGroup;
 import android.view.ViewHierarchyEncoder;
+import android.view.inspector.InspectableProperty;
 
 /**
  * <p>A layout that arranges its children horizontally. A TableRow should
@@ -398,12 +399,14 @@
          * <p>The column index of the cell represented by the widget.</p>
          */
         @ViewDebug.ExportedProperty(category = "layout")
+        @InspectableProperty(name = "layout_column")
         public int column;
 
         /**
          * <p>The number of columns the widgets spans over.</p>
          */
         @ViewDebug.ExportedProperty(category = "layout")
+        @InspectableProperty(name = "layout_span")
         public int span;
 
         private static final int LOCATION = 0;
diff --git a/core/java/android/widget/TextView.java b/core/java/android/widget/TextView.java
index 04bcb14..a5a1a80c 100644
--- a/core/java/android/widget/TextView.java
+++ b/core/java/android/widget/TextView.java
@@ -173,8 +173,8 @@
 import android.view.inputmethod.InputConnection;
 import android.view.inputmethod.InputMethodManager;
 import android.view.inspector.InspectableProperty;
-import android.view.inspector.InspectableProperty.EnumMap;
-import android.view.inspector.InspectableProperty.FlagMap;
+import android.view.inspector.InspectableProperty.EnumEntry;
+import android.view.inspector.InspectableProperty.FlagEntry;
 import android.view.textclassifier.TextClassification;
 import android.view.textclassifier.TextClassificationContext;
 import android.view.textclassifier.TextClassificationManager;
@@ -1900,8 +1900,8 @@
      * @see #setAutoSizeTextTypeUniformWithPresetSizes(int[], int)
      */
     @InspectableProperty(enumMapping = {
-            @EnumMap(name = "none", value = AUTO_SIZE_TEXT_TYPE_NONE),
-            @EnumMap(name = "uniform", value = AUTO_SIZE_TEXT_TYPE_UNIFORM)
+            @EnumEntry(name = "none", value = AUTO_SIZE_TEXT_TYPE_NONE),
+            @EnumEntry(name = "uniform", value = AUTO_SIZE_TEXT_TYPE_UNIFORM)
     })
     @AutoSizeTextType
     public int getAutoSizeTextType() {
@@ -3527,10 +3527,10 @@
      * @attr ref android.R.styleable#TextView_autoLink
      */
     @InspectableProperty(name = "autoLink", flagMapping = {
-            @FlagMap(name = "web", target = Linkify.WEB_URLS),
-            @FlagMap(name = "email", target = Linkify.EMAIL_ADDRESSES),
-            @FlagMap(name = "phone", target = Linkify.PHONE_NUMBERS),
-            @FlagMap(name = "map", target = Linkify.MAP_ADDRESSES)
+            @FlagEntry(name = "web", target = Linkify.WEB_URLS),
+            @FlagEntry(name = "email", target = Linkify.EMAIL_ADDRESSES),
+            @FlagEntry(name = "phone", target = Linkify.PHONE_NUMBERS),
+            @FlagEntry(name = "map", target = Linkify.MAP_ADDRESSES)
     })
     public final int getAutoLinkMask() {
         return mAutoLinkMask;
@@ -4515,9 +4515,9 @@
      * @see #setBreakStrategy(int)
      */
     @InspectableProperty(enumMapping = {
-            @EnumMap(name = "simple", value = Layout.BREAK_STRATEGY_SIMPLE),
-            @EnumMap(name = "high_quality", value = Layout.BREAK_STRATEGY_HIGH_QUALITY),
-            @EnumMap(name = "balanced", value = Layout.BREAK_STRATEGY_BALANCED)
+            @EnumEntry(name = "simple", value = Layout.BREAK_STRATEGY_SIMPLE),
+            @EnumEntry(name = "high_quality", value = Layout.BREAK_STRATEGY_HIGH_QUALITY),
+            @EnumEntry(name = "balanced", value = Layout.BREAK_STRATEGY_BALANCED)
     })
     @Layout.BreakStrategy
     public int getBreakStrategy() {
@@ -4566,9 +4566,9 @@
      * @see #setHyphenationFrequency(int)
      */
     @InspectableProperty(enumMapping = {
-            @EnumMap(name = "none", value = Layout.HYPHENATION_FREQUENCY_NONE),
-            @EnumMap(name = "normal", value = Layout.HYPHENATION_FREQUENCY_NORMAL),
-            @EnumMap(name = "full", value = Layout.HYPHENATION_FREQUENCY_FULL)
+            @EnumEntry(name = "none", value = Layout.HYPHENATION_FREQUENCY_NONE),
+            @EnumEntry(name = "normal", value = Layout.HYPHENATION_FREQUENCY_NORMAL),
+            @EnumEntry(name = "full", value = Layout.HYPHENATION_FREQUENCY_FULL)
     })
     @Layout.HyphenationFrequency
     public int getHyphenationFrequency() {
@@ -4628,8 +4628,8 @@
      * @see #setJustificationMode(int)
      */
     @InspectableProperty(enumMapping = {
-            @EnumMap(name = "none", value = Layout.JUSTIFICATION_MODE_NONE),
-            @EnumMap(name = "inter_word", value = Layout.JUSTIFICATION_MODE_INTER_WORD)
+            @EnumEntry(name = "none", value = Layout.JUSTIFICATION_MODE_NONE),
+            @EnumEntry(name = "inter_word", value = Layout.JUSTIFICATION_MODE_INTER_WORD)
     })
     public @Layout.JustificationMode int getJustificationMode() {
         return mJustificationMode;
@@ -6667,142 +6667,142 @@
      * @see android.text.InputType
      */
     @InspectableProperty(flagMapping = {
-            @FlagMap(name = "none", mask = 0xffffffff, target = InputType.TYPE_NULL),
-            @FlagMap(
+            @FlagEntry(name = "none", mask = 0xffffffff, target = InputType.TYPE_NULL),
+            @FlagEntry(
                     name = "text",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_NORMAL),
-            @FlagMap(
+            @FlagEntry(
                     name = "textUri",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_URI),
-            @FlagMap(
+            @FlagEntry(
                     name = "textEmailAddress",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_TEXT
                             | InputType.TYPE_TEXT_VARIATION_EMAIL_ADDRESS),
-            @FlagMap(
+            @FlagEntry(
                     name = "textEmailSubject",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_TEXT
                             | InputType.TYPE_TEXT_VARIATION_EMAIL_SUBJECT),
-            @FlagMap(
+            @FlagEntry(
                     name = "textShortMessage",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_TEXT
                             | InputType.TYPE_TEXT_VARIATION_SHORT_MESSAGE),
-            @FlagMap(
+            @FlagEntry(
                     name = "textLongMessage",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_TEXT
                             | InputType.TYPE_TEXT_VARIATION_LONG_MESSAGE),
-            @FlagMap(
+            @FlagEntry(
                     name = "textPersonName",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_TEXT
                             | InputType.TYPE_TEXT_VARIATION_PERSON_NAME),
-            @FlagMap(
+            @FlagEntry(
                     name = "textPostalAddress",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_TEXT
                             | InputType.TYPE_TEXT_VARIATION_POSTAL_ADDRESS),
-            @FlagMap(
+            @FlagEntry(
                     name = "textPassword",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PASSWORD),
-            @FlagMap(
+            @FlagEntry(
                     name = "textVisiblePassword",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_TEXT
                             | InputType.TYPE_TEXT_VARIATION_VISIBLE_PASSWORD),
-            @FlagMap(
+            @FlagEntry(
                     name = "textWebEditText",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_TEXT
                             | InputType.TYPE_TEXT_VARIATION_WEB_EDIT_TEXT),
-            @FlagMap(
+            @FlagEntry(
                     name = "textFilter",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_FILTER),
-            @FlagMap(
+            @FlagEntry(
                     name = "textPhonetic",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_VARIATION_PHONETIC),
-            @FlagMap(
+            @FlagEntry(
                     name = "textWebEmailAddress",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_TEXT
                             | InputType.TYPE_TEXT_VARIATION_WEB_EMAIL_ADDRESS),
-            @FlagMap(
+            @FlagEntry(
                     name = "textWebPassword",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_TEXT
                             | InputType.TYPE_TEXT_VARIATION_WEB_PASSWORD),
-            @FlagMap(
+            @FlagEntry(
                     name = "number",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_VARIATION_NORMAL),
-            @FlagMap(
+            @FlagEntry(
                     name = "numberPassword",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_NUMBER
                             | InputType.TYPE_NUMBER_VARIATION_PASSWORD),
-            @FlagMap(
+            @FlagEntry(
                     name = "phone",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_PHONE),
-            @FlagMap(
+            @FlagEntry(
                     name = "datetime",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_DATETIME
                             | InputType.TYPE_DATETIME_VARIATION_NORMAL),
-            @FlagMap(
+            @FlagEntry(
                     name = "date",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_DATETIME
                             | InputType.TYPE_DATETIME_VARIATION_DATE),
-            @FlagMap(
+            @FlagEntry(
                     name = "time",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_VARIATION,
                     target = InputType.TYPE_CLASS_DATETIME
                             | InputType.TYPE_DATETIME_VARIATION_TIME),
-            @FlagMap(
+            @FlagEntry(
                     name = "textCapCharacters",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_FLAGS,
                     target = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_CHARACTERS),
-            @FlagMap(
+            @FlagEntry(
                     name = "textCapWords",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_FLAGS,
                     target = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_WORDS),
-            @FlagMap(
+            @FlagEntry(
                     name = "textCapSentences",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_FLAGS,
                     target = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_CAP_SENTENCES),
-            @FlagMap(
+            @FlagEntry(
                     name = "textAutoCorrect",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_FLAGS,
                     target = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_AUTO_CORRECT),
-            @FlagMap(
+            @FlagEntry(
                     name = "textAutoComplete",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_FLAGS,
                     target = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_AUTO_COMPLETE),
-            @FlagMap(
+            @FlagEntry(
                     name = "textMultiLine",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_FLAGS,
                     target = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_MULTI_LINE),
-            @FlagMap(
+            @FlagEntry(
                     name = "textImeMultiLine",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_FLAGS,
                     target = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_IME_MULTI_LINE),
-            @FlagMap(
+            @FlagEntry(
                     name = "textNoSuggestions",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_FLAGS,
                     target = InputType.TYPE_CLASS_TEXT | InputType.TYPE_TEXT_FLAG_NO_SUGGESTIONS),
-            @FlagMap(
+            @FlagEntry(
                     name = "numberSigned",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_FLAGS,
                     target = InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_SIGNED),
-            @FlagMap(
+            @FlagEntry(
                     name = "numberDecimal",
                     mask = InputType.TYPE_MASK_CLASS | InputType.TYPE_MASK_FLAGS,
                     target = InputType.TYPE_CLASS_NUMBER | InputType.TYPE_NUMBER_FLAG_DECIMAL),
@@ -6832,49 +6832,51 @@
      * @see EditorInfo
      */
     @InspectableProperty(flagMapping = {
-            @FlagMap(name = "normal", mask = 0xffffffff, target = EditorInfo.IME_NULL),
-            @FlagMap(
+            @FlagEntry(name = "normal", mask = 0xffffffff, target = EditorInfo.IME_NULL),
+            @FlagEntry(
                     name = "actionUnspecified",
                     mask = EditorInfo.IME_MASK_ACTION,
                     target = EditorInfo.IME_ACTION_UNSPECIFIED),
-            @FlagMap(
+            @FlagEntry(
                     name = "actionNone",
                     mask = EditorInfo.IME_MASK_ACTION,
                     target = EditorInfo.IME_ACTION_NONE),
-            @FlagMap(
+            @FlagEntry(
                     name = "actionGo",
                     mask = EditorInfo.IME_MASK_ACTION,
                     target = EditorInfo.IME_ACTION_GO),
-            @FlagMap(
+            @FlagEntry(
                     name = "actionSearch",
                     mask = EditorInfo.IME_MASK_ACTION,
                     target = EditorInfo.IME_ACTION_SEARCH),
-            @FlagMap(
+            @FlagEntry(
                     name = "actionSend",
                     mask = EditorInfo.IME_MASK_ACTION,
                     target = EditorInfo.IME_ACTION_SEND),
-            @FlagMap(
+            @FlagEntry(
                     name = "actionNext",
                     mask = EditorInfo.IME_MASK_ACTION,
                     target = EditorInfo.IME_ACTION_NEXT),
-            @FlagMap(
+            @FlagEntry(
                     name = "actionDone",
                     mask = EditorInfo.IME_MASK_ACTION,
                     target = EditorInfo.IME_ACTION_DONE),
-            @FlagMap(
+            @FlagEntry(
                     name = "actionPrevious",
                     mask = EditorInfo.IME_MASK_ACTION,
                     target = EditorInfo.IME_ACTION_PREVIOUS),
-            @FlagMap(name = "flagForceAscii", target = EditorInfo.IME_FLAG_FORCE_ASCII),
-            @FlagMap(name = "flagNavigateNext", target = EditorInfo.IME_FLAG_NAVIGATE_NEXT),
-            @FlagMap(name = "flagNavigatePrevious", target = EditorInfo.IME_FLAG_NAVIGATE_PREVIOUS),
-            @FlagMap(
+            @FlagEntry(name = "flagForceAscii", target = EditorInfo.IME_FLAG_FORCE_ASCII),
+            @FlagEntry(name = "flagNavigateNext", target = EditorInfo.IME_FLAG_NAVIGATE_NEXT),
+            @FlagEntry(
+                    name = "flagNavigatePrevious",
+                    target = EditorInfo.IME_FLAG_NAVIGATE_PREVIOUS),
+            @FlagEntry(
                     name = "flagNoAccessoryAction",
                     target = EditorInfo.IME_FLAG_NO_ACCESSORY_ACTION),
-            @FlagMap(name = "flagNoEnterAction", target = EditorInfo.IME_FLAG_NO_ENTER_ACTION),
-            @FlagMap(name = "flagNoExtractUi", target = EditorInfo.IME_FLAG_NO_EXTRACT_UI),
-            @FlagMap(name = "flagNoFullscreen", target = EditorInfo.IME_FLAG_NO_FULLSCREEN),
-            @FlagMap(
+            @FlagEntry(name = "flagNoEnterAction", target = EditorInfo.IME_FLAG_NO_ENTER_ACTION),
+            @FlagEntry(name = "flagNoExtractUi", target = EditorInfo.IME_FLAG_NO_EXTRACT_UI),
+            @FlagEntry(name = "flagNoFullscreen", target = EditorInfo.IME_FLAG_NO_FULLSCREEN),
+            @FlagEntry(
                     name = "flagNoPersonalizedLearning",
                     target = EditorInfo.IME_FLAG_NO_PERSONALIZED_LEARNING),
     })
diff --git a/core/java/android/widget/TimePicker.java b/core/java/android/widget/TimePicker.java
index c7a2980..8a5d531 100644
--- a/core/java/android/widget/TimePicker.java
+++ b/core/java/android/widget/TimePicker.java
@@ -169,8 +169,8 @@
     @TimePickerMode
     @TestApi
     @InspectableProperty(name = "timePickerMode", enumMapping = {
-            @InspectableProperty.EnumMap(name = "clock", value = MODE_CLOCK),
-            @InspectableProperty.EnumMap(name = "spinner", value = MODE_SPINNER)
+            @InspectableProperty.EnumEntry(name = "clock", value = MODE_CLOCK),
+            @InspectableProperty.EnumEntry(name = "spinner", value = MODE_SPINNER)
     })
     public int getMode() {
         return mMode;
diff --git a/core/java/com/android/internal/app/ChooserActivity.java b/core/java/com/android/internal/app/ChooserActivity.java
index 67e0446..faf0c7d 100644
--- a/core/java/com/android/internal/app/ChooserActivity.java
+++ b/core/java/com/android/internal/app/ChooserActivity.java
@@ -18,6 +18,11 @@
 
 import static java.lang.annotation.RetentionPolicy.SOURCE;
 
+import android.animation.Animator;
+import android.animation.AnimatorListenerAdapter;
+import android.animation.AnimatorSet;
+import android.animation.ObjectAnimator;
+import android.animation.ValueAnimator;
 import android.annotation.IntDef;
 import android.app.Activity;
 import android.app.ActivityManager;
@@ -37,7 +42,6 @@
 import android.content.IntentSender;
 import android.content.IntentSender.SendIntentException;
 import android.content.ServiceConnection;
-import android.content.SharedPreferences;
 import android.content.pm.ActivityInfo;
 import android.content.pm.LabeledIntent;
 import android.content.pm.LauncherApps;
@@ -60,7 +64,6 @@
 import android.net.Uri;
 import android.os.AsyncTask;
 import android.os.Bundle;
-import android.os.Environment;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Message;
@@ -70,7 +73,6 @@
 import android.os.ResultReceiver;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.os.storage.StorageManager;
 import android.provider.DocumentsContract;
 import android.provider.Downloads;
 import android.provider.OpenableColumns;
@@ -90,6 +92,8 @@
 import android.view.View.OnLongClickListener;
 import android.view.ViewGroup;
 import android.view.ViewGroup.LayoutParams;
+import android.view.animation.AccelerateInterpolator;
+import android.view.animation.DecelerateInterpolator;
 import android.widget.AbsListView;
 import android.widget.BaseAdapter;
 import android.widget.ImageView;
@@ -107,7 +111,6 @@
 
 import com.google.android.collect.Lists;
 
-import java.io.File;
 import java.io.IOException;
 import java.lang.annotation.Retention;
 import java.util.ArrayList;
@@ -135,7 +138,7 @@
      * {@link AppPredictionManager} will be queried for direct share targets.
      */
     // TODO(b/123089490): Replace with system flag
-    private static final boolean USE_PREDICTION_MANAGER_FOR_DIRECT_TARGETS = true;
+    private static final boolean USE_PREDICTION_MANAGER_FOR_DIRECT_TARGETS = false;
     // TODO(b/123088566) Share these in a better way.
     private static final String APP_PREDICTION_SHARE_UI_SURFACE = "share";
     public static final String LAUNCH_LOCATON_DIRECT_SHARE = "direct_share";
@@ -152,11 +155,17 @@
     private static final boolean USE_SHORTCUT_MANAGER_FOR_DIRECT_TARGETS = true;
     private static final boolean USE_CHOOSER_TARGET_SERVICE_FOR_DIRECT_TARGETS = true;
 
+    /**
+     * The transition time between placeholders for direct share to a message
+     * indicating that non are available.
+     */
+    private static final int NO_DIRECT_SHARE_ANIM_IN_MILLIS = 200;
+
     // TODO(b/121287224): Re-evaluate this limit
     private static final int SHARE_TARGET_QUERY_PACKAGE_LIMIT = 20;
 
     private static final int QUERY_TARGET_SERVICE_LIMIT = 5;
-    private static final int WATCHDOG_TIMEOUT_MILLIS = 2000;
+    private static final int WATCHDOG_TIMEOUT_MILLIS = 3000;
 
     private Bundle mReplacementExtras;
     private IntentSender mChosenComponentSender;
@@ -172,11 +181,10 @@
 
     private ChooserListAdapter mChooserListAdapter;
     private ChooserRowAdapter mChooserRowAdapter;
+    private Drawable mChooserRowLayer;
+    private int mChooserRowServiceSpacing;
 
-    private SharedPreferences mPinnedSharedPrefs;
-    private static final float PINNED_TARGET_SCORE_BOOST = 1000.f;
     private static final float CALLER_TARGET_SCORE_BOOST = 900.f;
-    private static final String PINNED_SHARED_PREFS_NAME = "chooser_pin_settings";
     private static final String TARGET_DETAILS_FRAGMENT_TAG = "targetDetailsFragment";
 
     private final List<ChooserTargetServiceConnection> mServiceConnections = new ArrayList<>();
@@ -220,9 +228,7 @@
                     sri.connection.destroy();
                     mServiceConnections.remove(sri.connection);
                     if (mServiceConnections.isEmpty()) {
-                        mChooserHandler.removeMessages(CHOOSER_TARGET_SERVICE_WATCHDOG_TIMEOUT);
                         sendVoiceChoicesIfNeeded();
-                        mChooserListAdapter.setShowServiceTargets(true);
                     }
                     break;
 
@@ -230,9 +236,12 @@
                     if (DEBUG) {
                         Log.d(TAG, "CHOOSER_TARGET_SERVICE_WATCHDOG_TIMEOUT; unbinding services");
                     }
+                    if (isDestroyed()) {
+                        break;
+                    }
                     unbindRemainingServices();
                     sendVoiceChoicesIfNeeded();
-                    mChooserListAdapter.setShowServiceTargets(true);
+                    mChooserListAdapter.completeServiceTargetLoading();
                     break;
 
                 case SHORTCUT_MANAGER_SHARE_TARGET_RESULT:
@@ -247,7 +256,6 @@
 
                 case SHORTCUT_MANAGER_SHARE_TARGET_RESULT_COMPLETED:
                     sendVoiceChoicesIfNeeded();
-                    mChooserListAdapter.setShowServiceTargets(true);
                     break;
 
                 default:
@@ -303,9 +311,7 @@
         // Do not allow the title to be changed when sharing content
         CharSequence title = null;
         if (target != null) {
-            String targetAction = target.getAction();
-            if (!(Intent.ACTION_SEND.equals(targetAction) || Intent.ACTION_SEND_MULTIPLE.equals(
-                    targetAction))) {
+            if (!isSendAction(target)) {
                 title = intent.getCharSequenceExtra(Intent.EXTRA_TITLE);
             } else {
                 Log.w(TAG, "Ignoring intent's EXTRA_TITLE, deprecated in P. You may wish to set a"
@@ -372,7 +378,6 @@
             mCallerChooserTargets = targets;
         }
 
-        mPinnedSharedPrefs = getPinnedSharedPrefs(this);
         setRetainInOnStop(intent.getBooleanExtra(EXTRA_PRIVATE_RETAIN_IN_ON_STOP, false));
         super.onCreate(savedInstanceState, target, title, defaultTitleRes, initialIntents,
                 null, false);
@@ -399,11 +404,21 @@
                     .setExtras(extras)
                     .build());
             mAppPredictorCallback = resultList -> {
+                if (isFinishing() || isDestroyed()) {
+                    return;
+                }
+                // May be null if there are no apps to perform share/open action.
+                if (mChooserListAdapter == null) {
+                    return;
+                }
                 final List<DisplayResolveInfo> driList =
                         getDisplayResolveInfos(mChooserListAdapter);
                 final List<ShortcutManager.ShareShortcutInfo> shareShortcutInfos =
                         new ArrayList<>();
                 for (AppTarget appTarget : resultList) {
+                    if (appTarget.getShortcutInfo() == null) {
+                        continue;
+                    }
                     shareShortcutInfos.add(new ShortcutManager.ShareShortcutInfo(
                             appTarget.getShortcutInfo(),
                             new ComponentName(
@@ -414,6 +429,15 @@
             mAppPredictor.registerPredictionUpdates(this.getMainExecutor(), mAppPredictorCallback);
         }
 
+        mChooserRowLayer = getResources().getDrawable(R.drawable.chooser_row_layer_list, null);
+        mChooserRowServiceSpacing = getResources()
+                                        .getDimensionPixelSize(R.dimen.chooser_service_spacing);
+
+        // expand/shrink direct share 4 -> 8 viewgroup
+        if (mResolverDrawerLayout != null && isSendAction(target)) {
+            mResolverDrawerLayout.setOnScrollChangeListener(this::handleScroll);
+        }
+
         if (DEBUG) {
             Log.d(TAG, "System Time Cost is " + systemCost);
         }
@@ -429,34 +453,6 @@
                 .getUserInfo(UserHandle.myUserId()).isManagedProfile();
     }
 
-    /**
-     * Override method to add content preview area, specific to the chooser activity.
-     */
-    @Override
-    public void setHeader() {
-        super.setHeader();
-
-        Intent targetIntent = getTargetIntent();
-        if (targetIntent == null) {
-            return;
-        }
-
-        String action = targetIntent.getAction();
-        if (!(Intent.ACTION_SEND.equals(action) || Intent.ACTION_SEND_MULTIPLE.equals(action))) {
-            return;
-        }
-
-        if (mChooserListAdapter == null || mChooserListAdapter.getCount() == 0) {
-            return;
-        }
-
-        int previewType = findPreferredContentPreview(targetIntent, getContentResolver());
-
-        getMetricsLogger().write(new LogMaker(MetricsEvent.ACTION_SHARE_WITH_PREVIEW)
-                .setSubtype(previewType));
-        displayContentPreview(previewType, targetIntent);
-    }
-
     private void onCopyButtonClicked(View v) {
         Intent targetIntent = getTargetIntent();
         if (targetIntent == null) {
@@ -516,46 +512,56 @@
 
     private void updateLayoutWidth(int layoutResourceId, int width) {
         View view = findViewById(layoutResourceId);
-        LayoutParams params = view.getLayoutParams();
-        params.width = width;
-        view.setLayoutParams(params);
-    }
-
-    private void displayContentPreview(@ContentPreviewType int previewType, Intent targetIntent) {
-        switch (previewType) {
-            case CONTENT_PREVIEW_TEXT:
-                displayTextContentPreview(targetIntent);
-                break;
-            case CONTENT_PREVIEW_IMAGE:
-                displayImageContentPreview(targetIntent);
-                break;
-            case CONTENT_PREVIEW_FILE:
-                displayFileContentPreview(targetIntent);
-                break;
-            default:
-                Log.e(TAG, "Unexpected content preview type: " + previewType);
+        if (view != null && view.getLayoutParams() != null) {
+            LayoutParams params = view.getLayoutParams();
+            params.width = width;
+            view.setLayoutParams(params);
         }
     }
 
-    private void displayTextContentPreview(Intent targetIntent) {
-        ViewGroup contentPreviewLayout = findViewById(R.id.content_preview_text_area);
-        contentPreviewLayout.setVisibility(View.VISIBLE);
+    private ViewGroup displayContentPreview(@ContentPreviewType int previewType,
+            Intent targetIntent, LayoutInflater layoutInflater, ViewGroup convertView,
+            ViewGroup parent) {
+        switch (previewType) {
+            case CONTENT_PREVIEW_TEXT:
+                return displayTextContentPreview(targetIntent, layoutInflater, convertView, parent);
+            case CONTENT_PREVIEW_IMAGE:
+                return displayImageContentPreview(targetIntent, layoutInflater, convertView,
+                        parent);
+            case CONTENT_PREVIEW_FILE:
+                return displayFileContentPreview(targetIntent, layoutInflater, convertView, parent);
+            default:
+                Log.e(TAG, "Unexpected content preview type: " + previewType);
+        }
 
-        findViewById(R.id.copy_button).setOnClickListener(this::onCopyButtonClicked);
+        return null;
+    }
+
+    private ViewGroup displayTextContentPreview(Intent targetIntent, LayoutInflater layoutInflater,
+            ViewGroup convertView, ViewGroup parent) {
+        ViewGroup contentPreviewLayout =
+                convertView != null ? convertView : (ViewGroup) layoutInflater.inflate(
+                        R.layout.chooser_grid_preview_text, parent, false);
+
+        contentPreviewLayout.findViewById(R.id.copy_button).setOnClickListener(
+                this::onCopyButtonClicked);
 
         CharSequence sharingText = targetIntent.getCharSequenceExtra(Intent.EXTRA_TEXT);
         if (sharingText == null) {
-            findViewById(R.id.content_preview_text_layout).setVisibility(View.GONE);
+            contentPreviewLayout.findViewById(R.id.content_preview_text_layout).setVisibility(
+                    View.GONE);
         } else {
-            TextView textView = findViewById(R.id.content_preview_text);
+            TextView textView = contentPreviewLayout.findViewById(R.id.content_preview_text);
             textView.setText(sharingText);
         }
 
         String previewTitle = targetIntent.getStringExtra(Intent.EXTRA_TITLE);
         if (TextUtils.isEmpty(previewTitle)) {
-            findViewById(R.id.content_preview_title_layout).setVisibility(View.GONE);
+            contentPreviewLayout.findViewById(R.id.content_preview_title_layout).setVisibility(
+                    View.GONE);
         } else {
-            TextView previewTitleView = findViewById(R.id.content_preview_title);
+            TextView previewTitleView = contentPreviewLayout.findViewById(
+                    R.id.content_preview_title);
             previewTitleView.setText(previewTitle);
 
             ClipData previewData = targetIntent.getClipData();
@@ -567,7 +573,8 @@
                 }
             }
 
-            ImageView previewThumbnailView = findViewById(R.id.content_preview_thumbnail);
+            ImageView previewThumbnailView = contentPreviewLayout.findViewById(
+                    R.id.content_preview_thumbnail);
             if (previewThumbnail == null) {
                 previewThumbnailView.setVisibility(View.GONE);
             } else {
@@ -579,16 +586,20 @@
                 }
             }
         }
+
+        return contentPreviewLayout;
     }
 
-    private void displayImageContentPreview(Intent targetIntent) {
-        ViewGroup contentPreviewLayout = findViewById(R.id.content_preview_image_area);
-        contentPreviewLayout.setVisibility(View.VISIBLE);
+    private ViewGroup displayImageContentPreview(Intent targetIntent, LayoutInflater layoutInflater,
+            ViewGroup convertView, ViewGroup parent) {
+        ViewGroup contentPreviewLayout =
+                convertView != null ? convertView : (ViewGroup) layoutInflater.inflate(
+                        R.layout.chooser_grid_preview_image, parent, false);
 
         String action = targetIntent.getAction();
         if (Intent.ACTION_SEND.equals(action)) {
             Uri uri = targetIntent.getParcelableExtra(Intent.EXTRA_STREAM);
-            loadUriIntoView(R.id.content_preview_image_1_large, uri);
+            loadUriIntoView(R.id.content_preview_image_1_large, uri, contentPreviewLayout);
         } else {
             ContentResolver resolver = getContentResolver();
 
@@ -604,23 +615,28 @@
                 Log.i(TAG, "Attempted to display image preview area with zero"
                         + " available images detected in EXTRA_STREAM list");
                 contentPreviewLayout.setVisibility(View.GONE);
-                return;
+                return contentPreviewLayout;
             }
 
-            loadUriIntoView(R.id.content_preview_image_1_large, imageUris.get(0));
+            loadUriIntoView(R.id.content_preview_image_1_large, imageUris.get(0),
+                    contentPreviewLayout);
 
             if (imageUris.size() == 2) {
-                loadUriIntoView(R.id.content_preview_image_2_large, imageUris.get(1));
+                loadUriIntoView(R.id.content_preview_image_2_large, imageUris.get(1),
+                        contentPreviewLayout);
             } else if (imageUris.size() > 2) {
-                loadUriIntoView(R.id.content_preview_image_2_small, imageUris.get(1));
+                loadUriIntoView(R.id.content_preview_image_2_small, imageUris.get(1),
+                        contentPreviewLayout);
                 RoundedRectImageView imageView = loadUriIntoView(
-                        R.id.content_preview_image_3_small, imageUris.get(2));
+                        R.id.content_preview_image_3_small, imageUris.get(2), contentPreviewLayout);
 
                 if (imageUris.size() > 3) {
                     imageView.setExtraImageCount(imageUris.size() - 3);
                 }
             }
         }
+
+        return contentPreviewLayout;
     }
 
     private static class FileInfo {
@@ -664,7 +680,7 @@
                             & DocumentsContract.Document.FLAG_SUPPORTS_THUMBNAIL) != 0;
                 }
             }
-        } catch (SecurityException e) {
+        } catch (SecurityException | NullPointerException e) {
             Log.w(TAG, "Error loading file preview", e);
         }
 
@@ -679,18 +695,21 @@
         return new FileInfo(fileName, hasThumbnail);
     }
 
-    private void displayFileContentPreview(Intent targetIntent) {
-        ViewGroup contentPreviewLayout = findViewById(R.id.content_preview_file_area);
-        contentPreviewLayout.setVisibility(View.VISIBLE);
+    private ViewGroup displayFileContentPreview(Intent targetIntent, LayoutInflater layoutInflater,
+            ViewGroup convertView, ViewGroup parent) {
+
+        ViewGroup contentPreviewLayout =
+                convertView != null ? convertView : (ViewGroup) layoutInflater.inflate(
+                        R.layout.chooser_grid_preview_file, parent, false);
 
         // TODO(b/120417119): Disable file copy until after moving to sysui,
         // due to permissions issues
-        findViewById(R.id.file_copy_button).setVisibility(View.GONE);
+        contentPreviewLayout.findViewById(R.id.file_copy_button).setVisibility(View.GONE);
 
         String action = targetIntent.getAction();
         if (Intent.ACTION_SEND.equals(action)) {
             Uri uri = targetIntent.getParcelableExtra(Intent.EXTRA_STREAM);
-            loadFileUriIntoView(uri);
+            loadFileUriIntoView(uri, contentPreviewLayout);
         } else {
             List<Uri> uris = targetIntent.getParcelableArrayListExtra(Intent.EXTRA_STREAM);
             int uriCount = uris.size();
@@ -700,42 +719,46 @@
                 Log.i(TAG,
                         "Appears to be no uris available in EXTRA_STREAM, removing "
                                 + "preview area");
-                return;
+                return contentPreviewLayout;
             } else if (uriCount == 1) {
-                loadFileUriIntoView(uris.get(0));
+                loadFileUriIntoView(uris.get(0), contentPreviewLayout);
             } else {
                 FileInfo fileInfo = extractFileInfo(uris.get(0), getContentResolver());
                 int remUriCount = uriCount - 1;
                 String fileName = getResources().getQuantityString(R.plurals.file_count,
                         remUriCount, fileInfo.name, remUriCount);
 
-                TextView fileNameView = findViewById(R.id.content_preview_filename);
+                TextView fileNameView = contentPreviewLayout.findViewById(
+                        R.id.content_preview_filename);
                 fileNameView.setText(fileName);
 
-                ImageView fileIconView = findViewById(R.id.content_preview_file_icon);
+                ImageView fileIconView = contentPreviewLayout.findViewById(
+                        R.id.content_preview_file_icon);
                 fileIconView.setVisibility(View.VISIBLE);
                 fileIconView.setImageResource(R.drawable.ic_file_copy);
             }
         }
+
+        return contentPreviewLayout;
     }
 
-    private void loadFileUriIntoView(Uri uri) {
+    private void loadFileUriIntoView(Uri uri, View parent) {
         FileInfo fileInfo = extractFileInfo(uri, getContentResolver());
 
-        TextView fileNameView = findViewById(R.id.content_preview_filename);
+        TextView fileNameView = parent.findViewById(R.id.content_preview_filename);
         fileNameView.setText(fileInfo.name);
 
         if (fileInfo.hasThumbnail) {
-            loadUriIntoView(R.id.content_preview_file_thumbnail, uri);
+            loadUriIntoView(R.id.content_preview_file_thumbnail, uri, parent);
         } else {
-            ImageView fileIconView = findViewById(R.id.content_preview_file_icon);
+            ImageView fileIconView = parent.findViewById(R.id.content_preview_file_icon);
             fileIconView.setVisibility(View.VISIBLE);
             fileIconView.setImageResource(R.drawable.ic_doc_generic);
         }
     }
 
-    private RoundedRectImageView loadUriIntoView(int imageResourceId, Uri uri) {
-        RoundedRectImageView imageView = findViewById(imageResourceId);
+    private RoundedRectImageView loadUriIntoView(int imageResourceId, Uri uri, View parent) {
+        RoundedRectImageView imageView = parent.findViewById(imageResourceId);
         Bitmap bmp = loadThumbnail(uri, new Size(200, 200));
         if (bmp != null) {
             imageView.setVisibility(View.VISIBLE);
@@ -790,22 +813,6 @@
         return CONTENT_PREVIEW_TEXT;
     }
 
-    static SharedPreferences getPinnedSharedPrefs(Context context) {
-        // The code below is because in the android:ui process, no one can hear you scream.
-        // The package info in the context isn't initialized in the way it is for normal apps,
-        // so the standard, name-based context.getSharedPreferences doesn't work. Instead, we
-        // build the path manually below using the same policy that appears in ContextImpl.
-        // This fails silently under the hood if there's a problem, so if we find ourselves in
-        // the case where we don't have access to credential encrypted storage we just won't
-        // have our pinned target info.
-        final File prefsFile = new File(new File(
-                Environment.getDataUserCePackageDirectory(StorageManager.UUID_PRIVATE_INTERNAL,
-                        context.getUserId(), context.getPackageName()),
-                "shared_prefs"),
-                PINNED_SHARED_PREFS_NAME + ".xml");
-        return context.getSharedPreferences(prefsFile, MODE_PRIVATE);
-    }
-
     @Override
     protected void onDestroy() {
         super.onDestroy();
@@ -901,24 +908,27 @@
         }
 
         ComponentName name = ri.activityInfo.getComponentName();
-        boolean pinned = mPinnedSharedPrefs.getBoolean(name.flattenToString(), false);
         ResolverTargetActionsDialogFragment f =
                 new ResolverTargetActionsDialogFragment(ri.loadLabel(getPackageManager()),
-                        name, pinned);
+                        name);
         f.show(getFragmentManager(), TARGET_DETAILS_FRAGMENT_TAG);
     }
 
     private void modifyTargetIntent(Intent in) {
-        final String action = in.getAction();
-        if (Intent.ACTION_SEND.equals(action) ||
-                Intent.ACTION_SEND_MULTIPLE.equals(action)) {
+        if (isSendAction(in)) {
             in.addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT |
                     Intent.FLAG_ACTIVITY_MULTIPLE_TASK);
+
+            in.fixUris(getUserId());
         }
     }
 
     @Override
     protected boolean onTargetSelected(TargetInfo target, boolean alwaysCheck) {
+        if (target instanceof NotSelectableTargetInfo) {
+            return false;
+        }
+
         if (mRefinementIntentSender != null) {
             final Intent fillIn = new Intent();
             final List<Intent> sourceIntents = target.getAllSourceIntents();
@@ -962,15 +972,15 @@
             switch (mChooserListAdapter.getPositionTargetType(which)) {
                 case ChooserListAdapter.TARGET_CALLER:
                     cat = MetricsEvent.ACTION_ACTIVITY_CHOOSER_PICKED_APP_TARGET;
+                    value -= mChooserListAdapter.getSelectableServiceTargetCount();
                     break;
                 case ChooserListAdapter.TARGET_SERVICE:
                     cat = MetricsEvent.ACTION_ACTIVITY_CHOOSER_PICKED_SERVICE_TARGET;
-                    value -= mChooserListAdapter.getCallerTargetCount();
                     break;
                 case ChooserListAdapter.TARGET_STANDARD:
                     cat = MetricsEvent.ACTION_ACTIVITY_CHOOSER_PICKED_STANDARD_TARGET;
                     value -= mChooserListAdapter.getCallerTargetCount()
-                            + mChooserListAdapter.getServiceTargetCount();
+                            + mChooserListAdapter.getSelectableServiceTargetCount();
                     break;
             }
 
@@ -1064,14 +1074,14 @@
             }
         }
 
-        if (!mServiceConnections.isEmpty()) {
-            if (DEBUG) {
-                Log.d(TAG, "queryTargets setting watchdog timer for "
-                        + WATCHDOG_TIMEOUT_MILLIS + "ms");
-            }
-            mChooserHandler.sendEmptyMessageDelayed(CHOOSER_TARGET_SERVICE_WATCHDOG_TIMEOUT,
-                    WATCHDOG_TIMEOUT_MILLIS);
-        } else {
+        if (DEBUG) {
+            Log.d(TAG, "queryTargets setting watchdog timer for "
+                    + WATCHDOG_TIMEOUT_MILLIS + "ms");
+        }
+        mChooserHandler.sendEmptyMessageDelayed(CHOOSER_TARGET_SERVICE_WATCHDOG_TIMEOUT,
+                WATCHDOG_TIMEOUT_MILLIS);
+
+        if (mServiceConnections.isEmpty()) {
             sendVoiceChoicesIfNeeded();
         }
     }
@@ -1213,7 +1223,6 @@
             conn.destroy();
         }
         mServiceConnections.clear();
-        mChooserHandler.removeMessages(CHOOSER_TARGET_SERVICE_WATCHDOG_TIMEOUT);
     }
 
     public void onSetupVoiceInteraction() {
@@ -1357,11 +1366,6 @@
         }
 
         @Override
-        boolean isComponentPinned(ComponentName name) {
-            return mPinnedSharedPrefs.getBoolean(name.flattenToString(), false);
-        }
-
-        @Override
         boolean isComponentFiltered(ComponentName name) {
             if (mFilteredComponentNames == null) {
                 return false;
@@ -1379,11 +1383,8 @@
             if (target == null) {
                 return CALLER_TARGET_SCORE_BOOST;
             }
-            float score = super.getScore(target);
-            if (target.isPinned()) {
-                score += PINNED_TARGET_SCORE_BOOST;
-            }
-            return score;
+
+            return super.getScore(target);
         }
     }
 
@@ -1420,7 +1421,89 @@
         return null;
     }
 
-    final class ChooserTargetInfo implements TargetInfo {
+    interface ChooserTargetInfo extends TargetInfo {
+        float getModifiedScore();
+
+        ChooserTarget getChooserTarget();
+    }
+
+    /**
+      * Distinguish between targets that selectable by the user, vs those that are
+      * placeholders for the system while information is loading in an async manner.
+      */
+    abstract class NotSelectableTargetInfo implements ChooserTargetInfo {
+
+        public Intent getResolvedIntent() {
+            return null;
+        }
+
+        public ComponentName getResolvedComponentName() {
+            return null;
+        }
+
+        public boolean start(Activity activity, Bundle options) {
+            return false;
+        }
+
+        public boolean startAsCaller(ResolverActivity activity, Bundle options, int userId) {
+            return false;
+        }
+
+        public boolean startAsUser(Activity activity, Bundle options, UserHandle user) {
+            return false;
+        }
+
+        public ResolveInfo getResolveInfo() {
+            return null;
+        }
+
+        public CharSequence getDisplayLabel() {
+            return null;
+        }
+
+        public CharSequence getExtendedInfo() {
+            return null;
+        }
+
+        public Drawable getBadgeIcon() {
+            return null;
+        }
+
+        public CharSequence getBadgeContentDescription() {
+            return null;
+        }
+
+        public TargetInfo cloneFilledIn(Intent fillInIntent, int flags) {
+            return null;
+        }
+
+        public List<Intent> getAllSourceIntents() {
+            return null;
+        }
+
+        public float getModifiedScore() {
+            return 0.1f;
+        }
+
+        public ChooserTarget getChooserTarget() {
+            return null;
+        }
+    }
+
+    final class PlaceHolderTargetInfo extends NotSelectableTargetInfo {
+        public Drawable getDisplayIcon() {
+            return getDrawable(R.drawable.resolver_icon_placeholder);
+        }
+    }
+
+
+    final class EmptyTargetInfo extends NotSelectableTargetInfo {
+        public Drawable getDisplayIcon() {
+            return null;
+        }
+    }
+
+    final class SelectableTargetInfo implements ChooserTargetInfo {
         private final DisplayResolveInfo mSourceInfo;
         private final ResolveInfo mBackupResolveInfo;
         private final ChooserTarget mChooserTarget;
@@ -1431,7 +1514,7 @@
         private final int mFillInFlags;
         private final float mModifiedScore;
 
-        public ChooserTargetInfo(DisplayResolveInfo sourceInfo, ChooserTarget chooserTarget,
+        SelectableTargetInfo(DisplayResolveInfo sourceInfo, ChooserTarget chooserTarget,
                 float modifiedScore) {
             mSourceInfo = sourceInfo;
             mChooserTarget = chooserTarget;
@@ -1460,7 +1543,7 @@
             mFillInFlags = 0;
         }
 
-        private ChooserTargetInfo(ChooserTargetInfo other, Intent fillInIntent, int flags) {
+        private SelectableTargetInfo(SelectableTargetInfo other, Intent fillInIntent, int flags) {
             mSourceInfo = other.mSourceInfo;
             mBackupResolveInfo = other.mBackupResolveInfo;
             mChooserTarget = other.mChooserTarget;
@@ -1616,7 +1699,7 @@
 
         @Override
         public TargetInfo cloneFilledIn(Intent fillInIntent, int flags) {
-            return new ChooserTargetInfo(this, fillInIntent, flags);
+            return new SelectableTargetInfo(this, fillInIntent, flags);
         }
 
         @Override
@@ -1628,10 +1711,11 @@
             }
             return results;
         }
+    }
 
-        @Override
-        public boolean isPinned() {
-            return mSourceInfo != null ? mSourceInfo.isPinned() : false;
+    private void handleScroll(View view, int x, int y, int oldx, int oldy) {
+        if (mChooserRowAdapter != null) {
+            mChooserRowAdapter.handleScroll(view, y, oldy);
         }
     }
 
@@ -1641,9 +1725,13 @@
         public static final int TARGET_SERVICE = 1;
         public static final int TARGET_STANDARD = 2;
 
-        private static final int MAX_SERVICE_TARGETS = 4;
+        private static final int MAX_SUGGESTED_APP_TARGETS = 4;
         private static final int MAX_TARGETS_PER_SERVICE = 2;
 
+        private static final int MAX_SERVICE_TARGETS = 8;
+
+        // Reserve spots for incoming direct share targets by adding placeholders
+        private ChooserTargetInfo mPlaceHolderTargetInfo = new PlaceHolderTargetInfo();
         private final List<ChooserTargetInfo> mServiceTargets = new ArrayList<>();
         private final List<TargetInfo> mCallerTargets = new ArrayList<>();
         private boolean mShowServiceTargets;
@@ -1663,6 +1751,8 @@
             super(context, payloadIntents, null, rList, launchedFromUid, filterLastUsed,
                     resolverListController);
 
+            createPlaceHolders();
+
             if (initialIntents != null) {
                 final PackageManager pm = getPackageManager();
                 for (int i = 0; i < initialIntents.length; i++) {
@@ -1715,6 +1805,13 @@
             }
         }
 
+        private void createPlaceHolders() {
+            mServiceTargets.clear();
+            for (int i = 0; i < MAX_SERVICE_TARGETS; i++) {
+                mServiceTargets.add(mPlaceHolderTargetInfo);
+            }
+        }
+
         @Override
         public boolean showsExtendedInfo(TargetInfo info) {
             // We have badges so we don't need this text shown.
@@ -1722,11 +1819,6 @@
         }
 
         @Override
-        public boolean isComponentPinned(ComponentName name) {
-            return mPinnedSharedPrefs.getBoolean(name.flattenToString(), false);
-        }
-
-        @Override
         public View onCreateView(ViewGroup parent) {
             return mInflater.inflate(
                     com.android.internal.R.layout.resolve_grid_item, parent, false);
@@ -1770,23 +1862,38 @@
 
         @Override
         public int getCount() {
-            return super.getCount() + getServiceTargetCount() + getCallerTargetCount();
+            return super.getCount() + getSelectableServiceTargetCount() + getCallerTargetCount();
         }
 
         @Override
         public int getUnfilteredCount() {
-            return super.getUnfilteredCount() + getServiceTargetCount() + getCallerTargetCount();
+            return super.getUnfilteredCount() + getSelectableServiceTargetCount()
+                    + getCallerTargetCount();
         }
 
         public int getCallerTargetCount() {
-            return mCallerTargets.size();
+            return Math.min(mCallerTargets.size(), MAX_SUGGESTED_APP_TARGETS);
+        }
+
+        /**
+          * Filter out placeholders and non-selectable service targets
+          */
+        public int getSelectableServiceTargetCount() {
+            int count = 0;
+            for (ChooserTargetInfo info : mServiceTargets) {
+                if (info instanceof SelectableTargetInfo) {
+                    count++;
+                }
+            }
+            return count;
         }
 
         public int getServiceTargetCount() {
-            if (!mShowServiceTargets) {
-                return 0;
+            if (isSendAction(getTargetIntent())) {
+                return Math.min(mServiceTargets.size(), MAX_SERVICE_TARGETS);
             }
-            return Math.min(mServiceTargets.size(), MAX_SERVICE_TARGETS);
+
+            return 0;
         }
 
         public int getStandardTargetCount() {
@@ -1796,18 +1903,18 @@
         public int getPositionTargetType(int position) {
             int offset = 0;
 
-            final int callerTargetCount = getCallerTargetCount();
-            if (position < callerTargetCount) {
-                return TARGET_CALLER;
-            }
-            offset += callerTargetCount;
-
             final int serviceTargetCount = getServiceTargetCount();
-            if (position - offset < serviceTargetCount) {
+            if (position < serviceTargetCount) {
                 return TARGET_SERVICE;
             }
             offset += serviceTargetCount;
 
+            final int callerTargetCount = getCallerTargetCount();
+            if (position - offset < callerTargetCount) {
+                return TARGET_CALLER;
+            }
+            offset += callerTargetCount;
+
             final int standardTargetCount = super.getCount();
             if (position - offset < standardTargetCount) {
                 return TARGET_STANDARD;
@@ -1825,18 +1932,19 @@
         public TargetInfo targetInfoForPosition(int position, boolean filtered) {
             int offset = 0;
 
-            final int callerTargetCount = getCallerTargetCount();
-            if (position < callerTargetCount) {
-                return mCallerTargets.get(position);
-            }
-            offset += callerTargetCount;
-
-            final int serviceTargetCount = getServiceTargetCount();
-            if (position - offset < serviceTargetCount) {
-                return mServiceTargets.get(position - offset);
+            final int serviceTargetCount = filtered ? getServiceTargetCount() :
+                                               getSelectableServiceTargetCount();
+            if (position < serviceTargetCount) {
+                return mServiceTargets.get(position);
             }
             offset += serviceTargetCount;
 
+            final int callerTargetCount = getCallerTargetCount();
+            if (position - offset < callerTargetCount) {
+                return mCallerTargets.get(position - offset);
+            }
+            offset += callerTargetCount;
+
             return filtered ? super.getItem(position - offset)
                     : getDisplayInfoAt(position - offset);
         }
@@ -1850,8 +1958,14 @@
             if (mTargetsNeedPruning && targets.size() > 0) {
                 // First proper update since we got an onListRebuilt() with (transient) 0 items.
                 // Clear out the target list and rebuild.
-                mServiceTargets.clear();
+                createPlaceHolders();
                 mTargetsNeedPruning = false;
+
+                // Add back any app-supplied direct share targets that may have been
+                // wiped by this clear
+                if (mCallerChooserTargets != null) {
+                    addServiceResults(null, Lists.newArrayList(mCallerChooserTargets));
+                }
             }
 
             final float parentScore = getScore(origTarget);
@@ -1867,7 +1981,7 @@
                     // This incents ChooserTargetServices to define what's truly better.
                     targetScore = lastScore * 0.95f;
                 }
-                insertServiceTarget(new ChooserTargetInfo(origTarget, target, targetScore));
+                insertServiceTarget(new SelectableTargetInfo(origTarget, target, targetScore));
 
                 if (DEBUG) {
                     Log.d(TAG, " => " + target.toString() + " score=" + targetScore
@@ -1886,30 +2000,32 @@
         }
 
         /**
-         * Set to true to reveal all service targets at once.
+         * Calling this marks service target loading complete, and will attempt to no longer
+         * update the direct share area.
          */
-        public void setShowServiceTargets(boolean show) {
-            // mShowServiceTargets is only flipped once to show direct share targets. But after the
-            // initial display the list can be re-sorted and the user will see the target list
-            // change. This will log the initial show and the subsequent shuffle to help us get
-            // accurate timing of the UX.
-            if (show) {
-                getMetricsLogger().write(
-                        new LogMaker(MetricsEvent.ACTION_ACTIVITY_CHOOSER_SHOWN_DIRECT_TARGET)
-                                .setSubtype(mShowServiceTargets ? MetricsEvent.PREVIOUSLY_VISIBLE
-                                        : MetricsEvent.PREVIOUSLY_HIDDEN));
+        public void completeServiceTargetLoading() {
+            mServiceTargets.removeIf(o -> o instanceof PlaceHolderTargetInfo);
+
+            if (mServiceTargets.isEmpty()) {
+                mServiceTargets.add(new EmptyTargetInfo());
             }
-            if (show != mShowServiceTargets) {
-                mShowServiceTargets = show;
-                notifyDataSetChanged();
-            }
+            notifyDataSetChanged();
         }
 
         private void insertServiceTarget(ChooserTargetInfo chooserTargetInfo) {
+            // Avoid inserting any potentially late results
+            if (mServiceTargets.size() == 1
+                    && mServiceTargets.get(0) instanceof EmptyTargetInfo) {
+                return;
+            }
+
             final float newScore = chooserTargetInfo.getModifiedScore();
             for (int i = 0, N = mServiceTargets.size(); i < N; i++) {
                 final ChooserTargetInfo serviceTarget = mServiceTargets.get(i);
-                if (newScore > serviceTarget.getModifiedScore()) {
+                if (serviceTarget == null) {
+                    mServiceTargets.set(i, chooserTargetInfo);
+                    return;
+                } else if (newScore > serviceTarget.getModifiedScore()) {
                     mServiceTargets.add(i, chooserTargetInfo);
                     return;
                 }
@@ -1926,12 +2042,34 @@
         }
     }
 
+    private boolean isSendAction(Intent targetIntent) {
+        if (targetIntent == null) {
+            return false;
+        }
+
+        String action = targetIntent.getAction();
+        if (action == null) {
+            return false;
+        }
+
+        if (Intent.ACTION_SEND.equals(action) || Intent.ACTION_SEND_MULTIPLE.equals(action)) {
+            return true;
+        }
+
+        return false;
+    }
+
     class ChooserRowAdapter extends BaseAdapter {
         private ChooserListAdapter mChooserListAdapter;
         private final LayoutInflater mLayoutInflater;
-        private final int mColumnCount = 4;
         private int mAnimationCount = 0;
 
+        private DirectShareViewHolder mDirectShareViewHolder;
+
+        private static final int VIEW_TYPE_DIRECT_SHARE = 0;
+        private static final int VIEW_TYPE_NORMAL = 1;
+        private static final int VIEW_TYPE_CONTENT_PREVIEW = 2;
+
         public ChooserRowAdapter(ChooserListAdapter wrappedAdapter) {
             mChooserListAdapter = wrappedAdapter;
             mLayoutInflater = LayoutInflater.from(ChooserActivity.this);
@@ -1951,24 +2089,47 @@
             });
         }
 
+        private int getMaxTargetsPerRow() {
+            // this will soon hold logic for portrait/landscape
+            return 4;
+        }
+
         @Override
         public int getCount() {
             return (int) (
-                    getCallerTargetRowCount()
+                    getContentPreviewRowCount()
+                            + getCallerTargetRowCount()
                             + getServiceTargetRowCount()
                             + Math.ceil(
-                            (float) mChooserListAdapter.getStandardTargetCount() / mColumnCount)
+                            (float) mChooserListAdapter.getStandardTargetCount()
+                                    / getMaxTargetsPerRow())
             );
         }
 
+        public int getContentPreviewRowCount() {
+            if (!isSendAction(getTargetIntent())) {
+                return 0;
+            }
+
+            if (mChooserListAdapter == null || mChooserListAdapter.getCount() == 0) {
+                return 0;
+            }
+
+            return 1;
+        }
+
         public int getCallerTargetRowCount() {
             return (int) Math.ceil(
-                    (float) mChooserListAdapter.getCallerTargetCount() / mColumnCount);
+                    (float) mChooserListAdapter.getCallerTargetCount() / getMaxTargetsPerRow());
         }
 
-        // There can be at most one row of service targets.
+        // There can be at most one row in the listview, that is internally
+        // a ViewGroup with 2 rows
         public int getServiceTargetRowCount() {
-            return (int) mChooserListAdapter.getServiceTargetCount() == 0 ? 0 : 1;
+            if (isSendAction(getTargetIntent())) {
+                return 1;
+            }
+            return 0;
         }
 
         @Override
@@ -1985,29 +2146,70 @@
         @Override
         public View getView(int position, View convertView, ViewGroup parent) {
             final RowViewHolder holder;
+            int viewType = getItemViewType(position);
+
+            if (viewType == VIEW_TYPE_CONTENT_PREVIEW) {
+                return createContentPreviewView(convertView, parent);
+            }
+
             if (convertView == null) {
-                holder = createViewHolder(parent);
+                holder = createViewHolder(viewType, parent);
             } else {
                 holder = (RowViewHolder) convertView.getTag();
             }
-            bindViewHolder(position, holder);
 
-            return holder.row;
+            bindViewHolder(position, holder,
+                    viewType == VIEW_TYPE_DIRECT_SHARE
+                            ? ChooserListAdapter.MAX_SERVICE_TARGETS : getMaxTargetsPerRow());
+
+            return holder.getViewGroup();
         }
 
-        RowViewHolder createViewHolder(ViewGroup parent) {
-            final ViewGroup row = (ViewGroup) mLayoutInflater.inflate(R.layout.chooser_row,
-                    parent, false);
-            final RowViewHolder holder = new RowViewHolder(row, mColumnCount);
-            final int spec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
+        @Override
+        public int getItemViewType(int position) {
+            if (position == 0 && getContentPreviewRowCount() == 1) {
+                return VIEW_TYPE_CONTENT_PREVIEW;
+            }
 
-            for (int i = 0; i < mColumnCount; i++) {
-                final View v = mChooserListAdapter.createView(row);
+            final int start = getFirstRowPosition(position);
+            final int startType = mChooserListAdapter.getPositionTargetType(start);
+
+            if (startType == ChooserListAdapter.TARGET_SERVICE) {
+                return VIEW_TYPE_DIRECT_SHARE;
+            }
+
+            return VIEW_TYPE_NORMAL;
+        }
+
+        @Override
+        public int getViewTypeCount() {
+            return 3;
+        }
+
+        private ViewGroup createContentPreviewView(View convertView, ViewGroup parent) {
+            Intent targetIntent = getTargetIntent();
+            int previewType = findPreferredContentPreview(targetIntent, getContentResolver());
+
+            if (convertView == null) {
+                getMetricsLogger().write(new LogMaker(MetricsEvent.ACTION_SHARE_WITH_PREVIEW)
+                        .setSubtype(previewType));
+            }
+
+            return displayContentPreview(previewType, targetIntent, mLayoutInflater,
+                    (ViewGroup) convertView, parent);
+        }
+
+        private RowViewHolder loadViewsIntoRow(RowViewHolder holder) {
+            final int spec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
+            int columnCount = holder.getColumnCount();
+
+            for (int i = 0; i < columnCount; i++) {
+                final View v = mChooserListAdapter.createView(holder.getRow(i));
                 final int column = i;
                 v.setOnClickListener(new OnClickListener() {
                     @Override
                     public void onClick(View v) {
-                        startSelected(holder.itemIndices[column], false, true);
+                        startSelected(holder.getItemIndex(column), false, true);
                     }
                 });
                 v.setOnLongClickListener(new OnLongClickListener() {
@@ -2015,12 +2217,11 @@
                     public boolean onLongClick(View v) {
                         showTargetDetails(
                                 mChooserListAdapter.resolveInfoForPosition(
-                                        holder.itemIndices[column], true));
+                                        holder.getItemIndex(column), true));
                         return true;
                     }
                 });
-                row.addView(v);
-                holder.cells[i] = v;
+                ViewGroup row = holder.addView(i, v);
 
                 // Force height to be a given so we don't have visual disruption during scaling.
                 LayoutParams lp = v.getLayoutParams();
@@ -2031,122 +2232,348 @@
                 } else {
                     lp.height = v.getMeasuredHeight();
                 }
-                if (i != (mColumnCount - 1)) {
-                    row.addView(new Space(ChooserActivity.this),
-                            new LinearLayout.LayoutParams(0, 0, 1));
-                }
             }
 
+            final ViewGroup viewGroup = holder.getViewGroup();
+
             // Pre-measure so we can scale later.
             holder.measure();
-            LayoutParams lp = row.getLayoutParams();
+            LayoutParams lp = viewGroup.getLayoutParams();
             if (lp == null) {
-                lp = new LayoutParams(LayoutParams.MATCH_PARENT, holder.measuredRowHeight);
-                row.setLayoutParams(lp);
+                lp = new LayoutParams(LayoutParams.MATCH_PARENT, holder.getMeasuredRowHeight());
+                viewGroup.setLayoutParams(lp);
             } else {
-                lp.height = holder.measuredRowHeight;
+                lp.height = holder.getMeasuredRowHeight();
             }
-            row.setTag(holder);
+
+            viewGroup.setTag(holder);
+
             return holder;
         }
 
-        void bindViewHolder(int rowPosition, RowViewHolder holder) {
+        RowViewHolder createViewHolder(int viewType, ViewGroup parent) {
+            if (viewType == VIEW_TYPE_DIRECT_SHARE) {
+                ViewGroup parentGroup = (ViewGroup) mLayoutInflater.inflate(
+                        R.layout.chooser_row_direct_share, parent, false);
+                ViewGroup row1 = (ViewGroup) mLayoutInflater.inflate(R.layout.chooser_row,
+                        parentGroup, false);
+                ViewGroup row2 = (ViewGroup) mLayoutInflater.inflate(R.layout.chooser_row,
+                        parentGroup, false);
+                parentGroup.addView(row1);
+                parentGroup.addView(row2);
+
+                mDirectShareViewHolder = new DirectShareViewHolder(parentGroup,
+                        Lists.newArrayList(row1, row2), getMaxTargetsPerRow());
+                loadViewsIntoRow(mDirectShareViewHolder);
+
+                return mDirectShareViewHolder;
+            } else {
+                ViewGroup row = (ViewGroup) mLayoutInflater.inflate(R.layout.chooser_row, parent,
+                        false);
+                RowViewHolder holder = new SingleRowViewHolder(row, getMaxTargetsPerRow());
+                loadViewsIntoRow(holder);
+
+                return holder;
+            }
+        }
+
+        void bindViewHolder(int rowPosition, RowViewHolder holder, int columnCount) {
             final int start = getFirstRowPosition(rowPosition);
             final int startType = mChooserListAdapter.getPositionTargetType(start);
 
-            int end = start + mColumnCount - 1;
+            final int lastStartType = mChooserListAdapter.getPositionTargetType(
+                    getFirstRowPosition(rowPosition - 1));
+
+            final ViewGroup row = holder.getViewGroup();
+
+            if (startType != lastStartType || rowPosition == getContentPreviewRowCount()) {
+                row.setBackground(mChooserRowLayer);
+                setVertPadding(row, mChooserRowServiceSpacing, 0);
+            } else {
+                row.setBackground(null);
+                setVertPadding(row, 0, 0);
+            }
+
+            int end = start + columnCount - 1;
             while (mChooserListAdapter.getPositionTargetType(end) != startType && end >= start) {
                 end--;
             }
 
-            if (startType == ChooserListAdapter.TARGET_SERVICE) {
-                int nextStartType = mChooserListAdapter.getPositionTargetType(
-                        getFirstRowPosition(rowPosition + 1));
-                int serviceSpacing = holder.row.getContext().getResources()
-                        .getDimensionPixelSize(R.dimen.chooser_service_spacing);
-                if (rowPosition == 0 && nextStartType != ChooserListAdapter.TARGET_SERVICE) {
-                    // if the row is the only row for target service
-                    setVertPadding(holder, 0, 0);
-                } else {
-                    int top = rowPosition == 0 ? serviceSpacing : 0;
-                    if (nextStartType != ChooserListAdapter.TARGET_SERVICE) {
-                        setVertPadding(holder, top, serviceSpacing);
-                    } else {
-                        setVertPadding(holder, top, 0);
-                    }
-                }
-            } else {
-                holder.row.setBackgroundColor(Color.TRANSPARENT);
-                int lastStartType = mChooserListAdapter.getPositionTargetType(
-                        getFirstRowPosition(rowPosition - 1));
-                if (lastStartType == ChooserListAdapter.TARGET_SERVICE || rowPosition == 0) {
-                    int serviceSpacing = holder.row.getContext().getResources()
-                            .getDimensionPixelSize(R.dimen.chooser_service_spacing);
-                    setVertPadding(holder, serviceSpacing, 0);
-                } else {
-                    setVertPadding(holder, 0, 0);
+            if (end == start && mChooserListAdapter.getItem(start) instanceof EmptyTargetInfo) {
+                final TextView textView = row.findViewById(R.id.chooser_row_text_option);
+
+                if (textView.getVisibility() != View.VISIBLE) {
+                    textView.setAlpha(0.0f);
+                    textView.setVisibility(View.VISIBLE);
+                    textView.setText(R.string.chooser_no_direct_share_targets);
+
+                    ValueAnimator fadeAnim = ObjectAnimator.ofFloat(textView, "alpha", 0.0f, 1.0f);
+                    fadeAnim.setInterpolator(new DecelerateInterpolator(1.0f));
+
+                    float translationInPx = getResources().getDimensionPixelSize(
+                            R.dimen.chooser_row_text_option_translate);
+                    textView.setTranslationY(translationInPx);
+                    ValueAnimator translateAnim = ObjectAnimator.ofFloat(textView, "translationY",
+                            0.0f);
+                    translateAnim.setInterpolator(new DecelerateInterpolator(1.0f));
+
+                    AnimatorSet animSet = new AnimatorSet();
+                    animSet.setDuration(NO_DIRECT_SHARE_ANIM_IN_MILLIS);
+                    animSet.setStartDelay(NO_DIRECT_SHARE_ANIM_IN_MILLIS);
+                    animSet.playTogether(fadeAnim, translateAnim);
+                    animSet.start();
                 }
             }
 
-            final int oldHeight = holder.row.getLayoutParams().height;
-            holder.row.getLayoutParams().height = Math.max(1, holder.measuredRowHeight);
-            if (holder.row.getLayoutParams().height != oldHeight) {
-                holder.row.requestLayout();
-            }
-
-            for (int i = 0; i < mColumnCount; i++) {
-                final View v = holder.cells[i];
+            for (int i = 0; i < columnCount; i++) {
+                final View v = holder.getView(i);
                 if (start + i <= end) {
-                    v.setVisibility(View.VISIBLE);
-                    holder.itemIndices[i] = start + i;
-                    mChooserListAdapter.bindView(holder.itemIndices[i], v);
+                    setCellVisibility(holder, i, View.VISIBLE);
+                    holder.setItemIndex(i, start + i);
+                    mChooserListAdapter.bindView(holder.getItemIndex(i), v);
                 } else {
-                    v.setVisibility(View.INVISIBLE);
+                    setCellVisibility(holder, i, View.INVISIBLE);
                 }
             }
         }
 
-        private void setVertPadding(RowViewHolder holder, int top, int bottom) {
-            holder.row.setPadding(holder.row.getPaddingLeft(), top,
-                    holder.row.getPaddingRight(), bottom);
+        private void setCellVisibility(RowViewHolder holder, int i, int visibility) {
+            final View v = holder.getView(i);
+            if (visibility == View.VISIBLE) {
+                holder.setViewVisibility(i, true);
+                v.setVisibility(visibility);
+                v.setAlpha(1.0f);
+            } else if (visibility == View.INVISIBLE && holder.getViewVisibility(i)) {
+                holder.setViewVisibility(i, false);
+
+                ValueAnimator fadeAnim = ObjectAnimator.ofFloat(v, "alpha", 1.0f, 0f);
+                fadeAnim.setDuration(NO_DIRECT_SHARE_ANIM_IN_MILLIS);
+                fadeAnim.setInterpolator(new AccelerateInterpolator(1.0f));
+                fadeAnim.addListener(new AnimatorListenerAdapter() {
+                    public void onAnimationEnd(Animator animation) {
+                        v.setVisibility(View.INVISIBLE);
+                    }
+                });
+                fadeAnim.start();
+            }
+        }
+
+        private void setVertPadding(ViewGroup row, int top, int bottom) {
+            row.setPadding(row.getPaddingLeft(), top, row.getPaddingRight(), bottom);
         }
 
         int getFirstRowPosition(int row) {
-            final int callerCount = mChooserListAdapter.getCallerTargetCount();
-            final int callerRows = (int) Math.ceil((float) callerCount / mColumnCount);
-
-            if (row < callerRows) {
-                return row * mColumnCount;
-            }
+            row -= getContentPreviewRowCount();
 
             final int serviceCount = mChooserListAdapter.getServiceTargetCount();
-            final int serviceRows = (int) Math.ceil((float) serviceCount / mColumnCount);
+            final int serviceRows = (int) Math.ceil((float) serviceCount
+                    / ChooserListAdapter.MAX_SERVICE_TARGETS);
+            if (row < serviceRows) {
+                return row * getMaxTargetsPerRow();
+            }
 
+            final int callerCount = mChooserListAdapter.getCallerTargetCount();
+            final int callerRows = (int) Math.ceil((float) callerCount / getMaxTargetsPerRow());
             if (row < callerRows + serviceRows) {
-                return callerCount + (row - callerRows) * mColumnCount;
+                return serviceCount + (row - serviceRows) * getMaxTargetsPerRow();
             }
 
             return callerCount + serviceCount
-                    + (row - callerRows - serviceRows) * mColumnCount;
+                    + (row - callerRows - serviceRows) * getMaxTargetsPerRow();
+        }
+
+        public void handleScroll(View v, int y, int oldy) {
+            if (mDirectShareViewHolder != null) {
+                mDirectShareViewHolder.handleScroll(mAdapterView, y, oldy, getMaxTargetsPerRow());
+            }
         }
     }
 
-    static class RowViewHolder {
-        final View[] cells;
-        final ViewGroup row;
-        int measuredRowHeight;
-        int[] itemIndices;
+    abstract class RowViewHolder {
+        protected int mMeasuredRowHeight;
+        private int[] mItemIndices;
+        protected final View[] mCells;
+        private final boolean[] mCellVisibility;
+        private final int mColumnCount;
 
-        public RowViewHolder(ViewGroup row, int cellCount) {
-            this.row = row;
-            this.cells = new View[cellCount];
-            this.itemIndices = new int[cellCount];
+        RowViewHolder(int cellCount) {
+            this.mCells = new View[cellCount];
+            this.mItemIndices = new int[cellCount];
+            this.mCellVisibility = new boolean[cellCount];
+            this.mColumnCount = cellCount;
+        }
+
+        abstract ViewGroup addView(int index, View v);
+
+        abstract ViewGroup getViewGroup();
+
+        abstract ViewGroup getRow(int index);
+
+        public int getColumnCount() {
+            return mColumnCount;
+        }
+
+        public void setViewVisibility(int index, boolean visibility) {
+            mCellVisibility[index] = visibility;
+        }
+
+        public boolean getViewVisibility(int index) {
+            return mCellVisibility[index];
         }
 
         public void measure() {
             final int spec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
-            row.measure(spec, spec);
-            measuredRowHeight = row.getMeasuredHeight();
+            getViewGroup().measure(spec, spec);
+            mMeasuredRowHeight = getViewGroup().getMeasuredHeight();
+        }
+
+        public int getMeasuredRowHeight() {
+            return mMeasuredRowHeight;
+        }
+
+        protected void addSpacer(ViewGroup row) {
+            row.addView(new Space(ChooserActivity.this),
+                    new LinearLayout.LayoutParams(0, 0, 1));
+        }
+
+        public void setItemIndex(int itemIndex, int listIndex) {
+            mItemIndices[itemIndex] = listIndex;
+        }
+
+        public int getItemIndex(int itemIndex) {
+            return mItemIndices[itemIndex];
+        }
+
+        public View getView(int index) {
+            return mCells[index];
+        }
+    }
+
+    class SingleRowViewHolder extends RowViewHolder {
+        private final ViewGroup mRow;
+
+        SingleRowViewHolder(ViewGroup row, int cellCount) {
+            super(cellCount);
+
+            this.mRow = row;
+        }
+
+        public ViewGroup getViewGroup() {
+            return mRow;
+        }
+
+        public ViewGroup getRow(int index) {
+            return mRow;
+        }
+
+        public ViewGroup addView(int index, View v) {
+            mRow.addView(v);
+            mCells[index] = v;
+
+            if (index != (mCells.length - 1)) {
+                addSpacer(mRow);
+            }
+
+            return mRow;
+        }
+    }
+
+    class DirectShareViewHolder extends RowViewHolder {
+        private final ViewGroup mParent;
+        private final List<ViewGroup> mRows;
+        private int mCellCountPerRow;
+
+        private boolean mHideDirectShareExpansion = false;
+        private int mDirectShareMinHeight = 0;
+        private int mDirectShareCurrHeight = 0;
+        private int mDirectShareMaxHeight = 0;
+
+        DirectShareViewHolder(ViewGroup parent, List<ViewGroup> rows, int cellCountPerRow) {
+            super(rows.size() * cellCountPerRow);
+
+            this.mParent = parent;
+            this.mRows = rows;
+            this.mCellCountPerRow = cellCountPerRow;
+        }
+
+        public ViewGroup addView(int index, View v) {
+            ViewGroup row = getRow(index);
+            row.addView(v);
+            mCells[index] = v;
+
+            if (index % mCellCountPerRow != (mCellCountPerRow - 1)) {
+                addSpacer(row);
+            }
+
+            return row;
+        }
+
+        public ViewGroup getViewGroup() {
+            return mParent;
+        }
+
+        public ViewGroup getRow(int index) {
+            return mRows.get(index / mCellCountPerRow);
+        }
+
+        public void measure() {
+            final int spec = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
+            getRow(0).measure(spec, spec);
+            getRow(1).measure(spec, spec);
+
+            // uses ChooserActiivty state variables to track height
+            mDirectShareMinHeight = getRow(0).getMeasuredHeight();
+            mDirectShareCurrHeight = mDirectShareCurrHeight > 0
+                                         ? mDirectShareCurrHeight : mDirectShareMinHeight;
+            mDirectShareMaxHeight = 2 * mDirectShareMinHeight;
+        }
+
+        public int getMeasuredRowHeight() {
+            return mDirectShareCurrHeight;
+        }
+
+        public void handleScroll(AbsListView view, int y, int oldy, int maxTargetsPerRow) {
+            // only expand if we have more than 4 targets, and delay that decision until
+            // they start to scroll
+            if (mHideDirectShareExpansion) {
+                return;
+            }
+
+            if (mChooserListAdapter.getSelectableServiceTargetCount() <= maxTargetsPerRow) {
+                mHideDirectShareExpansion = true;
+                return;
+            }
+
+            int yDiff = (int) ((oldy - y) * 0.7f);
+
+            int prevHeight = mDirectShareCurrHeight;
+            mDirectShareCurrHeight = Math.min(mDirectShareCurrHeight + yDiff,
+                    mDirectShareMaxHeight);
+            mDirectShareCurrHeight = Math.max(mDirectShareCurrHeight, mDirectShareMinHeight);
+            yDiff = mDirectShareCurrHeight - prevHeight;
+
+            if (view == null || view.getChildCount() == 0) {
+                return;
+            }
+
+            int index = mChooserRowAdapter.getContentPreviewRowCount();
+
+            ViewGroup expansionGroup = (ViewGroup) view.getChildAt(index);
+            int widthSpec = MeasureSpec.makeMeasureSpec(expansionGroup.getWidth(),
+                    MeasureSpec.EXACTLY);
+            int heightSpec = MeasureSpec.makeMeasureSpec(mDirectShareCurrHeight,
+                    MeasureSpec.EXACTLY);
+            expansionGroup.measure(widthSpec, heightSpec);
+            expansionGroup.getLayoutParams().height = expansionGroup.getMeasuredHeight();
+            expansionGroup.layout(expansionGroup.getLeft(), expansionGroup.getTop(),
+                    expansionGroup.getRight(),
+                    expansionGroup.getTop() + expansionGroup.getMeasuredHeight());
+
+            // reposition list items
+            int items = view.getChildCount();
+            for (int i = index + 1; i < items; i++) {
+                view.getChildAt(i).offsetTopAndBottom(yDiff);
+            }
         }
     }
 
@@ -2217,8 +2644,6 @@
                 mChooserActivity.unbindService(this);
                 mChooserActivity.mServiceConnections.remove(this);
                 if (mChooserActivity.mServiceConnections.isEmpty()) {
-                    mChooserActivity.mChooserHandler.removeMessages(
-                            CHOOSER_TARGET_SERVICE_WATCHDOG_TIMEOUT);
                     mChooserActivity.sendVoiceChoicesIfNeeded();
                 }
                 mConnectedComponent = null;
@@ -2323,13 +2748,13 @@
             final int chooserTargetRows = mChooserRowAdapter.getServiceTargetRowCount();
             int offset = 0;
             for (int i = 0; i < chooserTargetRows; i++) {
-                final int pos = mChooserRowAdapter.getCallerTargetRowCount() + i;
+                final int pos = mChooserRowAdapter.getContentPreviewRowCount() + i;
                 final int vt = mChooserRowAdapter.getItemViewType(pos);
                 if (vt != mCachedViewType) {
                     mCachedView = null;
                 }
                 final View v = mChooserRowAdapter.getView(pos, mCachedView, mListView);
-                int height = ((RowViewHolder) (v.getTag())).measuredRowHeight;
+                int height = ((RowViewHolder) (v.getTag())).getMeasuredRowHeight();
 
                 offset += (int) (height);
 
diff --git a/core/java/com/android/internal/app/ResolverActivity.java b/core/java/com/android/internal/app/ResolverActivity.java
index 0919911..12942ab 100644
--- a/core/java/com/android/internal/app/ResolverActivity.java
+++ b/core/java/com/android/internal/app/ResolverActivity.java
@@ -28,6 +28,7 @@
 import android.app.VoiceInteractor.PickOptionRequest;
 import android.app.VoiceInteractor.PickOptionRequest.Option;
 import android.app.VoiceInteractor.Prompt;
+import android.app.role.RoleManager;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -41,6 +42,8 @@
 import android.content.pm.UserInfo;
 import android.content.res.Configuration;
 import android.content.res.Resources;
+import android.graphics.Color;
+import android.graphics.drawable.BitmapDrawable;
 import android.graphics.drawable.Drawable;
 import android.net.Uri;
 import android.os.AsyncTask;
@@ -48,6 +51,7 @@
 import android.os.Bundle;
 import android.os.IBinder;
 import android.os.PatternMatcher;
+import android.os.Process;
 import android.os.RemoteException;
 import android.os.StrictMode;
 import android.os.UserHandle;
@@ -55,7 +59,6 @@
 import android.provider.MediaStore;
 import android.provider.Settings;
 import android.text.TextUtils;
-import android.util.IconDrawableFactory;
 import android.util.Log;
 import android.util.Slog;
 import android.view.LayoutInflater;
@@ -98,7 +101,7 @@
 
     protected ResolveListAdapter mAdapter;
     private boolean mSafeForwardingMode;
-    private AbsListView mAdapterView;
+    protected AbsListView mAdapterView;
     private Button mAlwaysButton;
     private Button mOnceButton;
     private Button mSettingsButton;
@@ -130,7 +133,7 @@
     /** See {@link #setRetainInOnStop}. */
     private boolean mRetainInOnStop;
 
-    IconDrawableFactory mIconFactory;
+    SimpleIconFactory mSimpleIconFactory;
 
     private final PackageMonitor mPackageMonitor = new PackageMonitor() {
         @Override public void onSomePackagesChanged() {
@@ -194,7 +197,7 @@
                 com.android.internal.R.string.whichHomeApplicationNamed,
                 com.android.internal.R.string.whichHomeApplicationLabel);
 
-        // SpR.id.buttonecial titles for BROWSABLE components
+        // titles for layout that deals with http(s) intents
         public static final int BROWSABLE_TITLE_RES =
                 com.android.internal.R.string.whichGiveAccessToApplication;
         public static final int BROWSABLE_NAMED_TITLE_RES =
@@ -302,13 +305,17 @@
 
         mUseLayoutForBrowsables = getTargetIntent() == null
                 ? false
-                : getTargetIntent().hasCategory(Intent.CATEGORY_BROWSABLE);
+                : isHttpSchemeAndViewAction(getTargetIntent());
 
         // We don't want to support Always Use if browsable layout is being used,
         // as to mitigate Intent Capturing vulnerability
         mSupportsAlwaysUseOption = supportsAlwaysUseOption && !mUseLayoutForBrowsables;
 
-        mIconFactory = IconDrawableFactory.newInstance(this, true);
+        final int iconSize = getResources().getDimensionPixelSize(R.dimen.resolver_icon_size);
+        final int badgeSize = getResources().getDimensionPixelSize(R.dimen.resolver_badge_size);
+        mSimpleIconFactory = new SimpleIconFactory(this, mIconDpi, iconSize, badgeSize);
+        mSimpleIconFactory.setWrapperBackgroundColor(Color.WHITE);
+
         if (configureContentView(mIntents, initialIntents, rList)) {
             return;
         }
@@ -473,8 +480,8 @@
         final boolean named = mAdapter.getFilteredPosition() >= 0;
         if (title == ActionTitle.DEFAULT && defaultTitleRes != 0) {
             return getString(defaultTitleRes);
-        } else if (intent.hasCategory(Intent.CATEGORY_BROWSABLE)) {
-            // If the Intent is BROWSABLE then we need to warn the user that
+        } else if (isHttpSchemeAndViewAction(intent)) {
+            // If the Intent's scheme is http(s) then we need to warn the user that
             // they're giving access for the activity to open URLs from this specific host
             return named
                     ? getString(ActionTitle.BROWSABLE_NAMED_TITLE_RES, intent.getData().getHost(),
@@ -493,6 +500,7 @@
         }
     }
 
+    @Nullable
     Drawable getIcon(Resources res, int resId) {
         Drawable result;
         try {
@@ -504,26 +512,52 @@
         return result;
     }
 
+    /**
+     * Loads the icon for the provided ResolveInfo. Defaults to using the application icon over
+     * any IntentFilter or Activity icon to increase user understanding, with an exception for
+     * applications that hold the right permission. Always attempts to use icon resources over
+     * PackageManager loading mechanisms so badging can be done by iconloader.
+     */
     Drawable loadIconForResolveInfo(ResolveInfo ri) {
-        Drawable dr;
-        try {
-            if (ri.resolvePackageName != null && ri.icon != 0) {
-                dr = getIcon(mPm.getResourcesForApplication(ri.resolvePackageName), ri.icon);
-                if (dr != null) {
-                    return mIconFactory.getShadowedIcon(dr);
+        Drawable dr = null;
+
+        // Allow for app icon override given the right permission
+        if (PackageManager.PERMISSION_GRANTED == mPm.checkPermission(
+                android.Manifest.permission.SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON,
+                ri.activityInfo.applicationInfo.packageName)) {
+            try {
+                if (ri.resolvePackageName != null && ri.icon != 0) {
+                    dr = getIcon(mPm.getResourcesForApplication(ri.resolvePackageName), ri.icon);
                 }
-            }
-            final int iconRes = ri.getIconResource();
-            if (iconRes != 0) {
-                dr = getIcon(mPm.getResourcesForApplication(ri.activityInfo.packageName), iconRes);
-                if (dr != null) {
-                    return mIconFactory.getShadowedIcon(dr);
+                if (dr == null) {
+                    final int iconRes = ri.getIconResource();
+                    if (iconRes != 0) {
+                        dr = getIcon(mPm.getResourcesForApplication(ri.activityInfo.packageName),
+                                iconRes);
+                    }
                 }
+            } catch (NameNotFoundException e) {
+                Log.e(TAG, "SUBSTITUTE_SHARE_TARGET_APP_NAME_AND_ICON permission granted but "
+                        + "couldn't find resources for package", e);
             }
-        } catch (NameNotFoundException e) {
-            Log.e(TAG, "Couldn't find resources for package", e);
         }
-        return mIconFactory.getBadgedIcon(ri.activityInfo.applicationInfo);
+
+        // Use app icons for better user association
+        if (dr == null) {
+            try {
+                dr = getIcon(mPm.getResourcesForApplication(ri.activityInfo.applicationInfo),
+                        ri.activityInfo.applicationInfo.icon);
+            } catch (NameNotFoundException ignore) {
+            }
+        }
+
+        // Fall back to ApplicationInfo#loadIcon if nothing has been loaded
+        if (dr == null) {
+            dr = ri.activityInfo.applicationInfo.loadIcon(mPm);
+        }
+
+        return new BitmapDrawable(this.getResources(),
+                mSimpleIconFactory.createUserBadgedIconBitmap(dr, Process.myUserHandle()));
     }
 
     @Override
@@ -583,6 +617,12 @@
         resetButtonBar();
     }
 
+    private boolean isHttpSchemeAndViewAction(Intent intent) {
+        return (IntentFilter.SCHEME_HTTP.equals(intent.getScheme())
+                || IntentFilter.SCHEME_HTTPS.equals(intent.getScheme()))
+                && Intent.ACTION_VIEW.equals(intent.getAction());
+    }
+
     private boolean hasManagedProfile() {
         UserManager userManager = (UserManager) getSystemService(Context.USER_SERVICE);
         if (userManager == null) {
@@ -645,10 +685,18 @@
 
     private void showSettingsForSelected(int which, boolean hasIndexBeenFiltered) {
         ResolveInfo ri = mAdapter.resolveInfoForPosition(which, hasIndexBeenFiltered);
-        Intent in = new Intent().setAction(Settings.ACTION_APP_OPEN_BY_DEFAULT_SETTINGS)
-                .setData(Uri.fromParts("package", ri.activityInfo.packageName, null))
-                .addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
-        startActivity(in);
+        Intent intent = new Intent();
+        // For browsers, we open the Default Browser page
+        // For regular apps, we open the Open by Default page
+        if (ri.handleAllWebDataURI) {
+            intent.setAction(Intent.ACTION_MANAGE_DEFAULT_APP)
+                    .putExtra(Intent.EXTRA_ROLE_NAME, RoleManager.ROLE_BROWSER);
+        } else {
+            intent.setAction(Settings.ACTION_APP_OPEN_BY_DEFAULT_SETTINGS)
+                    .setData(Uri.fromParts("package", ri.activityInfo.packageName, null))
+                    .addFlags(Intent.FLAG_ACTIVITY_NEW_DOCUMENT);
+        }
+        startActivity(intent);
     }
 
     public void startSelected(int which, boolean always, boolean hasIndexBeenFiltered) {
@@ -1162,7 +1210,6 @@
         private final CharSequence mExtendedInfo;
         private final Intent mResolvedIntent;
         private final List<Intent> mSourceIntents = new ArrayList<>();
-        private boolean mPinned;
 
         public DisplayResolveInfo(Intent originalIntent, ResolveInfo pri, CharSequence pLabel,
                 CharSequence pInfo, Intent pOrigIntent) {
@@ -1189,7 +1236,6 @@
             mExtendedInfo = other.mExtendedInfo;
             mResolvedIntent = new Intent(other.mResolvedIntent);
             mResolvedIntent.fillIn(fillInIntent, flags);
-            mPinned = other.mPinned;
         }
 
         public ResolveInfo getResolveInfo() {
@@ -1289,15 +1335,6 @@
             activity.startActivityAsUser(mResolvedIntent, options, user);
             return false;
         }
-
-        @Override
-        public boolean isPinned() {
-            return mPinned;
-        }
-
-        public void setPinned(boolean pinned) {
-            mPinned = pinned;
-        }
     }
 
     /**
@@ -1399,11 +1436,6 @@
          * @return the list of supported source intents deduped against this single target
          */
         List<Intent> getAllSourceIntents();
-
-        /**
-         * @return true if this target should be pinned to the front by the request of the user
-         */
-        boolean isPinned();
     }
 
     public class ResolveListAdapter extends BaseAdapter {
@@ -1761,7 +1793,6 @@
             final Intent replaceIntent = getReplacementIntent(add.activityInfo, intent);
             final DisplayResolveInfo dri = new DisplayResolveInfo(intent, add, roLabel,
                     extraInfo, replaceIntent);
-            dri.setPinned(rci.isPinned());
             addResolveInfo(dri);
             if (replaceIntent == intent) {
                 // Only add alternates if we didn't get a specific replacement from
@@ -1906,10 +1937,6 @@
             return !TextUtils.isEmpty(info.getExtendedInfo());
         }
 
-        public boolean isComponentPinned(ComponentName name) {
-            return false;
-        }
-
         public final void bindView(int position, View view) {
             onBindView(view, getItem(position));
         }
@@ -1952,7 +1979,6 @@
     @VisibleForTesting
     public static final class ResolvedComponentInfo {
         public final ComponentName name;
-        private boolean mPinned;
         private final List<Intent> mIntents = new ArrayList<>();
         private final List<ResolveInfo> mResolveInfos = new ArrayList<>();
 
@@ -1995,14 +2021,6 @@
             }
             return -1;
         }
-
-        public boolean isPinned() {
-            return mPinned;
-        }
-
-        public void setPinned(boolean pinned) {
-            mPinned = pinned;
-        }
     }
 
     static class ViewHolder {
diff --git a/core/java/com/android/internal/app/ResolverComparator.java b/core/java/com/android/internal/app/ResolverComparator.java
index f61a03b..b9f67e6 100644
--- a/core/java/com/android/internal/app/ResolverComparator.java
+++ b/core/java/com/android/internal/app/ResolverComparator.java
@@ -325,30 +325,18 @@
             }
         }
 
-        final boolean lPinned = lhsp.isPinned();
-        final boolean rPinned = rhsp.isPinned();
+        if (mStats != null) {
+            final ResolverTarget lhsTarget = mTargetsDict.get(new ComponentName(
+                    lhs.activityInfo.packageName, lhs.activityInfo.name));
+            final ResolverTarget rhsTarget = mTargetsDict.get(new ComponentName(
+                    rhs.activityInfo.packageName, rhs.activityInfo.name));
 
-        if (lPinned && !rPinned) {
-            return -1;
-        } else if (!lPinned && rPinned) {
-            return 1;
-        }
-
-        // Pinned items stay stable within a normal lexical sort and ignore scoring.
-        if (!lPinned && !rPinned) {
-            if (mStats != null) {
-                final ResolverTarget lhsTarget = mTargetsDict.get(new ComponentName(
-                        lhs.activityInfo.packageName, lhs.activityInfo.name));
-                final ResolverTarget rhsTarget = mTargetsDict.get(new ComponentName(
-                        rhs.activityInfo.packageName, rhs.activityInfo.name));
-
-                if (lhsTarget != null && rhsTarget != null) {
-                    final int selectProbabilityDiff = Float.compare(
+            if (lhsTarget != null && rhsTarget != null) {
+                final int selectProbabilityDiff = Float.compare(
                         rhsTarget.getSelectProbability(), lhsTarget.getSelectProbability());
 
-                    if (selectProbabilityDiff != 0) {
-                        return selectProbabilityDiff > 0 ? 1 : -1;
-                    }
+                if (selectProbabilityDiff != 0) {
+                    return selectProbabilityDiff > 0 ? 1 : -1;
                 }
             }
         }
diff --git a/core/java/com/android/internal/app/ResolverListController.java b/core/java/com/android/internal/app/ResolverListController.java
index 61aeca6..f48102a 100644
--- a/core/java/com/android/internal/app/ResolverListController.java
+++ b/core/java/com/android/internal/app/ResolverListController.java
@@ -30,14 +30,13 @@
 import android.content.pm.ResolveInfo;
 import android.os.RemoteException;
 import android.util.Log;
-import com.android.internal.annotations.GuardedBy;
+
 import com.android.internal.annotations.VisibleForTesting;
 
-import java.lang.InterruptedException;
 import java.util.ArrayList;
 import java.util.Collections;
-import java.util.concurrent.CountDownLatch;
 import java.util.List;
+import java.util.concurrent.CountDownLatch;
 
 /**
  * A helper for the ResolverActivity that exposes methods to retrieve, filter and sort its list of
@@ -147,7 +146,6 @@
                         newInfo.activityInfo.packageName, newInfo.activityInfo.name);
                 final ResolverActivity.ResolvedComponentInfo rci =
                         new ResolverActivity.ResolvedComponentInfo(name, intent, newInfo);
-                rci.setPinned(isComponentPinned(name));
                 into.add(rci);
             }
         }
@@ -270,10 +268,6 @@
                 && ai.name.equals(b.name.getClassName());
     }
 
-    boolean isComponentPinned(ComponentName name) {
-        return false;
-    }
-
     boolean isComponentFiltered(ComponentName componentName) {
         return false;
     }
diff --git a/core/java/com/android/internal/app/ResolverTargetActionsDialogFragment.java b/core/java/com/android/internal/app/ResolverTargetActionsDialogFragment.java
index 8156f79..a49240c 100644
--- a/core/java/com/android/internal/app/ResolverTargetActionsDialogFragment.java
+++ b/core/java/com/android/internal/app/ResolverTargetActionsDialogFragment.java
@@ -23,7 +23,6 @@
 import android.content.ComponentName;
 import android.content.DialogInterface;
 import android.content.Intent;
-import android.content.SharedPreferences;
 import android.net.Uri;
 import android.os.Bundle;
 import android.provider.Settings;
@@ -36,34 +35,27 @@
 public class ResolverTargetActionsDialogFragment extends DialogFragment
         implements DialogInterface.OnClickListener {
     private static final String NAME_KEY = "componentName";
-    private static final String PINNED_KEY = "pinned";
     private static final String TITLE_KEY = "title";
 
     // Sync with R.array.resolver_target_actions_* resources
-    private static final int TOGGLE_PIN_INDEX = 0;
-    private static final int APP_INFO_INDEX = 1;
+    private static final int APP_INFO_INDEX = 0;
 
     public ResolverTargetActionsDialogFragment() {
     }
 
-    public ResolverTargetActionsDialogFragment(CharSequence title, ComponentName name,
-            boolean pinned) {
+    public ResolverTargetActionsDialogFragment(CharSequence title, ComponentName name) {
         Bundle args = new Bundle();
         args.putCharSequence(TITLE_KEY, title);
         args.putParcelable(NAME_KEY, name);
-        args.putBoolean(PINNED_KEY, pinned);
         setArguments(args);
     }
 
     @Override
     public Dialog onCreateDialog(Bundle savedInstanceState) {
         final Bundle args = getArguments();
-        final int itemRes = args.getBoolean(PINNED_KEY, false)
-                ? R.array.resolver_target_actions_unpin
-                : R.array.resolver_target_actions_pin;
         return new Builder(getContext())
                 .setCancelable(true)
-                .setItems(itemRes, this)
+                .setItems(R.array.resolver_target_actions, this)
                 .setTitle(args.getCharSequence(TITLE_KEY))
                 .create();
     }
@@ -73,19 +65,6 @@
         final Bundle args = getArguments();
         ComponentName name = args.getParcelable(NAME_KEY);
         switch (which) {
-            case TOGGLE_PIN_INDEX:
-                SharedPreferences sp = ChooserActivity.getPinnedSharedPrefs(getContext());
-                final String key = name.flattenToString();
-                boolean currentVal = sp.getBoolean(name.flattenToString(), false);
-                if (currentVal) {
-                    sp.edit().remove(key).apply();
-                } else {
-                    sp.edit().putBoolean(key, true).apply();
-                }
-
-                // Force the chooser to requery and resort things
-                getActivity().recreate();
-                break;
             case APP_INFO_INDEX:
                 Intent in = new Intent().setAction(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
                         .setData(Uri.fromParts("package", name.getPackageName(), null))
diff --git a/core/java/com/android/internal/app/SimpleIconFactory.java b/core/java/com/android/internal/app/SimpleIconFactory.java
new file mode 100644
index 0000000..eb1530e
--- /dev/null
+++ b/core/java/com/android/internal/app/SimpleIconFactory.java
@@ -0,0 +1,609 @@
+/*
+ * 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.internal.app;
+
+import static android.graphics.Paint.DITHER_FLAG;
+import static android.graphics.Paint.FILTER_BITMAP_FLAG;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.Context;
+import android.content.pm.PackageManager;
+import android.content.res.Resources;
+import android.content.res.Resources.Theme;
+import android.graphics.Bitmap;
+import android.graphics.BlurMaskFilter;
+import android.graphics.BlurMaskFilter.Blur;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.PaintFlagsDrawFilter;
+import android.graphics.Rect;
+import android.graphics.RectF;
+import android.graphics.drawable.AdaptiveIconDrawable;
+import android.graphics.drawable.BitmapDrawable;
+import android.graphics.drawable.ColorDrawable;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.DrawableWrapper;
+import android.os.Process;
+import android.os.UserHandle;
+import android.util.AttributeSet;
+
+import com.android.internal.R;
+
+import org.xmlpull.v1.XmlPullParser;
+
+import java.nio.ByteBuffer;
+
+
+/**
+ * @deprecated Use the Launcher3 Iconloaderlib at packages/apps/Launcher3/iconloaderlib. This class
+ * is a temporary fork of Iconloader. It combines all necessary methods to render app icons that are
+ * possibly badged. It is intended to be used only by Sharesheet for the Q release.
+ */
+@Deprecated
+public class SimpleIconFactory {
+
+    private static final int DEFAULT_WRAPPER_BACKGROUND = Color.WHITE;
+    private static final float BLUR_FACTOR = 0.5f / 48;
+
+    private Context mContext;
+    private Canvas mCanvas;
+    private PackageManager mPm;
+
+    private int mFillResIconDpi;
+    private int mIconBitmapSize;
+    private int mBadgeBitmapSize;
+    private int mWrapperBackgroundColor;
+
+    private Drawable mWrapperIcon;
+    private final Rect mOldBounds = new Rect();
+
+    /**
+     * @deprecated Do not use, functionality will be replaced by iconloader lib eventually.
+     */
+    @Deprecated
+    SimpleIconFactory(Context context, int fillResIconDpi, int iconBitmapSize,
+            int badgeBitmapSize) {
+        mContext = context.getApplicationContext();
+        mPm = mContext.getPackageManager();
+        mIconBitmapSize = iconBitmapSize;
+        mBadgeBitmapSize = badgeBitmapSize;
+        mFillResIconDpi = fillResIconDpi;
+
+        mCanvas = new Canvas();
+        mCanvas.setDrawFilter(new PaintFlagsDrawFilter(DITHER_FLAG, FILTER_BITMAP_FLAG));
+
+        // Normalizer init
+        // Use twice the icon size as maximum size to avoid scaling down twice.
+        mMaxSize = iconBitmapSize * 2;
+        mBitmap = Bitmap.createBitmap(mMaxSize, mMaxSize, Bitmap.Config.ALPHA_8);
+        mScaleCheckCanvas = new Canvas(mBitmap);
+        mPixels = new byte[mMaxSize * mMaxSize];
+        mLeftBorder = new float[mMaxSize];
+        mRightBorder = new float[mMaxSize];
+        mBounds = new Rect();
+        mAdaptiveIconBounds = new Rect();
+        mAdaptiveIconScale = SCALE_NOT_INITIALIZED;
+
+        // Shadow generator init
+        mDefaultBlurMaskFilter = new BlurMaskFilter(iconBitmapSize * BLUR_FACTOR,
+                Blur.NORMAL);
+    }
+
+    /**
+     * Sets the background color used for wrapped adaptive icon
+     *
+     * @deprecated Do not use, functionality will be replaced by iconloader lib eventually.
+     */
+    @Deprecated
+    void setWrapperBackgroundColor(int color) {
+        mWrapperBackgroundColor = (Color.alpha(color) < 255) ? DEFAULT_WRAPPER_BACKGROUND : color;
+    }
+
+    /**
+     * Creates bitmap using the source drawable and various parameters.
+     * The bitmap is visually normalized with other icons and has enough spacing to add shadow.
+     *
+     * @param icon                      source of the icon associated with a user that has no badge,
+     *                                  likely user 0
+     * @param user                      info can be used for a badge
+     * @return a bitmap suitable for disaplaying as an icon at various system UIs.
+     *
+     * @deprecated Do not use, functionality will be replaced by iconloader lib eventually.
+     */
+    @Deprecated
+    Bitmap createUserBadgedIconBitmap(@Nullable Drawable icon, UserHandle user) {
+        float [] scale = new float[1];
+
+        // If no icon is provided use the system default
+        if (icon == null) {
+            icon = getFullResDefaultActivityIcon(mFillResIconDpi);
+        }
+        icon = normalizeAndWrapToAdaptiveIcon(icon, null, scale);
+        Bitmap bitmap = createIconBitmap(icon, scale[0]);
+        if (icon instanceof AdaptiveIconDrawable) {
+            mCanvas.setBitmap(bitmap);
+            recreateIcon(Bitmap.createBitmap(bitmap), mCanvas);
+            mCanvas.setBitmap(null);
+        }
+
+        final Bitmap result;
+        if (user != null && !Process.myUserHandle().equals(user)) {
+            BitmapDrawable drawable = new FixedSizeBitmapDrawable(bitmap);
+            Drawable badged = mPm.getUserBadgedIcon(drawable, user);
+            if (badged instanceof BitmapDrawable) {
+                result = ((BitmapDrawable) badged).getBitmap();
+            } else {
+                result = createIconBitmap(badged, 1f);
+            }
+        } else {
+            result = bitmap;
+        }
+
+        return result;
+    }
+
+    /**
+     * Creates bitmap using the source drawable and flattened pre-rendered app icon.
+     * The bitmap is visually normalized with other icons and has enough spacing to add shadow.
+     *
+     * @param icon                      source of the icon associated with a user that has no badge
+     * @param renderedAppIcon           pre-rendered app icon to use as a badge, likely the output
+     *                                  of createUserBadgedIconBitmap for user 0
+     * @return a bitmap suitable for disaplaying as an icon at various system UIs.
+     *
+     * @deprecated Do not use, functionality will be replaced by iconloader lib eventually.
+     */
+    @Deprecated
+    public Bitmap createAppBadgedIconBitmap(@Nullable Drawable icon, Bitmap renderedAppIcon) {
+        // Flatten the passed in icon
+        float [] scale = new float[1];
+
+        // If no icon is provided use the system default
+        if (icon == null) {
+            icon = getFullResDefaultActivityIcon(mFillResIconDpi);
+        }
+        icon = normalizeAndWrapToAdaptiveIcon(icon, null, scale);
+        Bitmap bitmap = createIconBitmap(icon, scale[0]);
+        if (icon instanceof AdaptiveIconDrawable) {
+            mCanvas.setBitmap(bitmap);
+            recreateIcon(Bitmap.createBitmap(bitmap), mCanvas);
+            mCanvas.setBitmap(null);
+        }
+
+        // Now scale down and apply the badge to the bottom right corner of the flattened icon
+        renderedAppIcon = Bitmap.createScaledBitmap(renderedAppIcon, mBadgeBitmapSize,
+                mBadgeBitmapSize, false);
+
+        // Paint the provided badge on top of the flattened icon
+        mCanvas.setBitmap(bitmap);
+        mCanvas.drawBitmap(renderedAppIcon, mIconBitmapSize - mBadgeBitmapSize,
+                mIconBitmapSize - mBadgeBitmapSize, null);
+        mCanvas.setBitmap(null);
+
+        return bitmap;
+    }
+
+    private static Drawable getFullResDefaultActivityIcon(int iconDpi) {
+        return Resources.getSystem().getDrawableForDensity(android.R.mipmap.sym_def_app_icon,
+                iconDpi);
+    }
+
+    private Bitmap createIconBitmap(Drawable icon, float scale) {
+        return createIconBitmap(icon, scale, mIconBitmapSize);
+    }
+
+    /**
+     * @param icon drawable that should be flattened to a bitmap
+     * @param scale the scale to apply before drawing {@param icon} on the canvas
+     */
+    private Bitmap createIconBitmap(Drawable icon, float scale, int size) {
+        Bitmap bitmap = Bitmap.createBitmap(size, size, Bitmap.Config.ARGB_8888);
+
+        mCanvas.setBitmap(bitmap);
+        mOldBounds.set(icon.getBounds());
+
+        if (icon instanceof AdaptiveIconDrawable) {
+            int offset = Math.max((int) Math.ceil(BLUR_FACTOR * size),
+                    Math.round(size * (1 - scale) / 2));
+            icon.setBounds(offset, offset, size - offset, size - offset);
+            icon.draw(mCanvas);
+        } else {
+            if (icon instanceof BitmapDrawable) {
+                BitmapDrawable bitmapDrawable = (BitmapDrawable) icon;
+                Bitmap b = bitmapDrawable.getBitmap();
+                if (bitmap != null && b.getDensity() == Bitmap.DENSITY_NONE) {
+                    bitmapDrawable.setTargetDensity(mContext.getResources().getDisplayMetrics());
+                }
+            }
+            int width = size;
+            int height = size;
+
+            int intrinsicWidth = icon.getIntrinsicWidth();
+            int intrinsicHeight = icon.getIntrinsicHeight();
+            if (intrinsicWidth > 0 && intrinsicHeight > 0) {
+                // Scale the icon proportionally to the icon dimensions
+                final float ratio = (float) intrinsicWidth / intrinsicHeight;
+                if (intrinsicWidth > intrinsicHeight) {
+                    height = (int) (width / ratio);
+                } else if (intrinsicHeight > intrinsicWidth) {
+                    width = (int) (height * ratio);
+                }
+            }
+            final int left = (size - width) / 2;
+            final int top = (size - height) / 2;
+            icon.setBounds(left, top, left + width, top + height);
+            mCanvas.save();
+            mCanvas.scale(scale, scale, size / 2, size / 2);
+            icon.draw(mCanvas);
+            mCanvas.restore();
+
+        }
+
+        icon.setBounds(mOldBounds);
+        mCanvas.setBitmap(null);
+        return bitmap;
+    }
+
+    private Drawable normalizeAndWrapToAdaptiveIcon(Drawable icon, RectF outIconBounds,
+            float[] outScale) {
+        float scale = 1f;
+
+        if (mWrapperIcon == null) {
+            mWrapperIcon = mContext.getDrawable(
+                    R.drawable.iconfactory_adaptive_icon_drawable_wrapper).mutate();
+        }
+
+        AdaptiveIconDrawable dr = (AdaptiveIconDrawable) mWrapperIcon;
+        dr.setBounds(0, 0, 1, 1);
+        scale = getScale(icon, outIconBounds);
+        if (!(icon instanceof AdaptiveIconDrawable)) {
+            FixedScaleDrawable fsd = ((FixedScaleDrawable) dr.getForeground());
+            fsd.setDrawable(icon);
+            fsd.setScale(scale);
+            icon = dr;
+            scale = getScale(icon, outIconBounds);
+
+            ((ColorDrawable) dr.getBackground()).setColor(mWrapperBackgroundColor);
+        }
+
+        outScale[0] = scale;
+        return icon;
+    }
+
+
+    /* Normalization block */
+
+    private static final float SCALE_NOT_INITIALIZED = 0;
+    // Ratio of icon visible area to full icon size for a square shaped icon
+    private static final float MAX_SQUARE_AREA_FACTOR = 375.0f / 576;
+    // Ratio of icon visible area to full icon size for a circular shaped icon
+    private static final float MAX_CIRCLE_AREA_FACTOR = 380.0f / 576;
+
+    private static final float CIRCLE_AREA_BY_RECT = (float) Math.PI / 4;
+
+    // Slope used to calculate icon visible area to full icon size for any generic shaped icon.
+    private static final float LINEAR_SCALE_SLOPE =
+            (MAX_CIRCLE_AREA_FACTOR - MAX_SQUARE_AREA_FACTOR) / (1 - CIRCLE_AREA_BY_RECT);
+
+    private static final int MIN_VISIBLE_ALPHA = 40;
+
+    private float mAdaptiveIconScale;
+    private final Rect mAdaptiveIconBounds;
+    private final Rect mBounds;
+    private final int mMaxSize;
+    private final byte[] mPixels;
+    private final float[] mLeftBorder;
+    private final float[] mRightBorder;
+    private final Bitmap mBitmap;
+    private final Canvas mScaleCheckCanvas;
+
+    /**
+     * Returns the amount by which the {@param d} should be scaled (in both dimensions) so that it
+     * matches the design guidelines for a launcher icon.
+     *
+     * We first calculate the convex hull of the visible portion of the icon.
+     * This hull then compared with the bounding rectangle of the hull to find how closely it
+     * resembles a circle and a square, by comparing the ratio of the areas. Note that this is not
+     * an ideal solution but it gives satisfactory result without affecting the performance.
+     *
+     * This closeness is used to determine the ratio of hull area to the full icon size.
+     * Refer {@link #MAX_CIRCLE_AREA_FACTOR} and {@link #MAX_SQUARE_AREA_FACTOR}
+     *
+     * @param outBounds optional rect to receive the fraction distance from each edge.
+     */
+    private synchronized float getScale(@NonNull Drawable d, @Nullable RectF outBounds) {
+        if (d instanceof AdaptiveIconDrawable) {
+            if (mAdaptiveIconScale != SCALE_NOT_INITIALIZED) {
+                if (outBounds != null) {
+                    outBounds.set(mAdaptiveIconBounds);
+                }
+                return mAdaptiveIconScale;
+            }
+        }
+        int width = d.getIntrinsicWidth();
+        int height = d.getIntrinsicHeight();
+        if (width <= 0 || height <= 0) {
+            width = width <= 0 || width > mMaxSize ? mMaxSize : width;
+            height = height <= 0 || height > mMaxSize ? mMaxSize : height;
+        } else if (width > mMaxSize || height > mMaxSize) {
+            int max = Math.max(width, height);
+            width = mMaxSize * width / max;
+            height = mMaxSize * height / max;
+        }
+
+        mBitmap.eraseColor(Color.TRANSPARENT);
+        d.setBounds(0, 0, width, height);
+        d.draw(mScaleCheckCanvas);
+
+        ByteBuffer buffer = ByteBuffer.wrap(mPixels);
+        buffer.rewind();
+        mBitmap.copyPixelsToBuffer(buffer);
+
+        // Overall bounds of the visible icon.
+        int topY = -1;
+        int bottomY = -1;
+        int leftX = mMaxSize + 1;
+        int rightX = -1;
+
+        // Create border by going through all pixels one row at a time and for each row find
+        // the first and the last non-transparent pixel. Set those values to mLeftBorder and
+        // mRightBorder and use -1 if there are no visible pixel in the row.
+
+        // buffer position
+        int index = 0;
+        // buffer shift after every row, width of buffer = mMaxSize
+        int rowSizeDiff = mMaxSize - width;
+        // first and last position for any row.
+        int firstX, lastX;
+
+        for (int y = 0; y < height; y++) {
+            firstX = lastX = -1;
+            for (int x = 0; x < width; x++) {
+                if ((mPixels[index] & 0xFF) > MIN_VISIBLE_ALPHA) {
+                    if (firstX == -1) {
+                        firstX = x;
+                    }
+                    lastX = x;
+                }
+                index++;
+            }
+            index += rowSizeDiff;
+
+            mLeftBorder[y] = firstX;
+            mRightBorder[y] = lastX;
+
+            // If there is at least one visible pixel, update the overall bounds.
+            if (firstX != -1) {
+                bottomY = y;
+                if (topY == -1) {
+                    topY = y;
+                }
+
+                leftX = Math.min(leftX, firstX);
+                rightX = Math.max(rightX, lastX);
+            }
+        }
+
+        if (topY == -1 || rightX == -1) {
+            // No valid pixels found. Do not scale.
+            return 1;
+        }
+
+        convertToConvexArray(mLeftBorder, 1, topY, bottomY);
+        convertToConvexArray(mRightBorder, -1, topY, bottomY);
+
+        // Area of the convex hull
+        float area = 0;
+        for (int y = 0; y < height; y++) {
+            if (mLeftBorder[y] <= -1) {
+                continue;
+            }
+            area += mRightBorder[y] - mLeftBorder[y] + 1;
+        }
+
+        // Area of the rectangle required to fit the convex hull
+        float rectArea = (bottomY + 1 - topY) * (rightX + 1 - leftX);
+        float hullByRect = area / rectArea;
+
+        float scaleRequired;
+        if (hullByRect < CIRCLE_AREA_BY_RECT) {
+            scaleRequired = MAX_CIRCLE_AREA_FACTOR;
+        } else {
+            scaleRequired = MAX_SQUARE_AREA_FACTOR + LINEAR_SCALE_SLOPE * (1 - hullByRect);
+        }
+        mBounds.left = leftX;
+        mBounds.right = rightX;
+
+        mBounds.top = topY;
+        mBounds.bottom = bottomY;
+
+        if (outBounds != null) {
+            outBounds.set(((float) mBounds.left) / width, ((float) mBounds.top) / height,
+                    1 - ((float) mBounds.right) / width,
+                    1 - ((float) mBounds.bottom) / height);
+        }
+        float areaScale = area / (width * height);
+        // Use sqrt of the final ratio as the images is scaled across both width and height.
+        float scale = areaScale > scaleRequired ? (float) Math.sqrt(scaleRequired / areaScale) : 1;
+        if (d instanceof AdaptiveIconDrawable && mAdaptiveIconScale == SCALE_NOT_INITIALIZED) {
+            mAdaptiveIconScale = scale;
+            mAdaptiveIconBounds.set(mBounds);
+        }
+        return scale;
+    }
+
+    /**
+     * Modifies {@param xCoordinates} to represent a convex border. Fills in all missing values
+     * (except on either ends) with appropriate values.
+     * @param xCoordinates map of x coordinate per y.
+     * @param direction 1 for left border and -1 for right border.
+     * @param topY the first Y position (inclusive) with a valid value.
+     * @param bottomY the last Y position (inclusive) with a valid value.
+     */
+    private static void convertToConvexArray(
+            float[] xCoordinates, int direction, int topY, int bottomY) {
+        int total = xCoordinates.length;
+        // The tangent at each pixel.
+        float[] angles = new float[total - 1];
+
+        int first = topY; // First valid y coordinate
+        int last = -1;    // Last valid y coordinate which didn't have a missing value
+
+        float lastAngle = Float.MAX_VALUE;
+
+        for (int i = topY + 1; i <= bottomY; i++) {
+            if (xCoordinates[i] <= -1) {
+                continue;
+            }
+            int start;
+
+            if (lastAngle == Float.MAX_VALUE) {
+                start = first;
+            } else {
+                float currentAngle = (xCoordinates[i] - xCoordinates[last]) / (i - last);
+                start = last;
+                // If this position creates a concave angle, keep moving up until we find a
+                // position which creates a convex angle.
+                if ((currentAngle - lastAngle) * direction < 0) {
+                    while (start > first) {
+                        start--;
+                        currentAngle = (xCoordinates[i] - xCoordinates[start]) / (i - start);
+                        if ((currentAngle - angles[start]) * direction >= 0) {
+                            break;
+                        }
+                    }
+                }
+            }
+
+            // Reset from last check
+            lastAngle = (xCoordinates[i] - xCoordinates[start]) / (i - start);
+            // Update all the points from start.
+            for (int j = start; j < i; j++) {
+                angles[j] = lastAngle;
+                xCoordinates[j] = xCoordinates[start] + lastAngle * (j - start);
+            }
+            last = i;
+        }
+    }
+
+    /* Shadow generator block */
+
+    private static final float KEY_SHADOW_DISTANCE = 1f / 48;
+    private static final int KEY_SHADOW_ALPHA = 61;
+    private static final int AMBIENT_SHADOW_ALPHA = 30;
+
+    private Paint mBlurPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);
+    private Paint mDrawPaint = new Paint(Paint.ANTI_ALIAS_FLAG | Paint.FILTER_BITMAP_FLAG);
+    private BlurMaskFilter mDefaultBlurMaskFilter;
+
+    private synchronized void recreateIcon(Bitmap icon, Canvas out) {
+        recreateIcon(icon, mDefaultBlurMaskFilter, AMBIENT_SHADOW_ALPHA, KEY_SHADOW_ALPHA, out);
+    }
+
+    private synchronized void recreateIcon(Bitmap icon, BlurMaskFilter blurMaskFilter,
+            int ambientAlpha, int keyAlpha, Canvas out) {
+        int[] offset = new int[2];
+        mBlurPaint.setMaskFilter(blurMaskFilter);
+        Bitmap shadow = icon.extractAlpha(mBlurPaint, offset);
+
+        // Draw ambient shadow
+        mDrawPaint.setAlpha(ambientAlpha);
+        out.drawBitmap(shadow, offset[0], offset[1], mDrawPaint);
+
+        // Draw key shadow
+        mDrawPaint.setAlpha(keyAlpha);
+        out.drawBitmap(shadow, offset[0], offset[1] + KEY_SHADOW_DISTANCE * mIconBitmapSize,
+                mDrawPaint);
+
+        // Draw the icon
+        mDrawPaint.setAlpha(255); // TODO if b/128609682 not fixed by launch use .setAlpha(254)
+        out.drawBitmap(icon, 0, 0, mDrawPaint);
+    }
+
+    /* Classes */
+
+    /**
+     * Extension of {@link DrawableWrapper} which scales the child drawables by a fixed amount.
+     */
+    public static class FixedScaleDrawable extends DrawableWrapper {
+
+        private static final float LEGACY_ICON_SCALE = .7f * .6667f;
+        private float mScaleX, mScaleY;
+
+        public FixedScaleDrawable() {
+            super(new ColorDrawable());
+            mScaleX = LEGACY_ICON_SCALE;
+            mScaleY = LEGACY_ICON_SCALE;
+        }
+
+        @Override
+        public void draw(@NonNull Canvas canvas) {
+            int saveCount = canvas.save();
+            canvas.scale(mScaleX, mScaleY,
+                    getBounds().exactCenterX(), getBounds().exactCenterY());
+            super.draw(canvas);
+            canvas.restoreToCount(saveCount);
+        }
+
+        @Override
+        public void inflate(Resources r, XmlPullParser parser, AttributeSet attrs) { }
+
+        @Override
+        public void inflate(Resources r, XmlPullParser parser, AttributeSet attrs, Theme theme) { }
+
+        /**
+         * Sets the scale associated with this drawable
+         * @param scale
+         */
+        public void setScale(float scale) {
+            float h = getIntrinsicHeight();
+            float w = getIntrinsicWidth();
+            mScaleX = scale * LEGACY_ICON_SCALE;
+            mScaleY = scale * LEGACY_ICON_SCALE;
+            if (h > w && w > 0) {
+                mScaleX *= w / h;
+            } else if (w > h && h > 0) {
+                mScaleY *= h / w;
+            }
+        }
+    }
+
+    /**
+     * An extension of {@link BitmapDrawable} which returns the bitmap pixel size as intrinsic size.
+     * This allows the badging to be done based on the action bitmap size rather than
+     * the scaled bitmap size.
+     */
+    private static class FixedSizeBitmapDrawable extends BitmapDrawable {
+
+        FixedSizeBitmapDrawable(Bitmap bitmap) {
+            super(null, bitmap);
+        }
+
+        @Override
+        public int getIntrinsicHeight() {
+            return getBitmap().getWidth();
+        }
+
+        @Override
+        public int getIntrinsicWidth() {
+            return getBitmap().getWidth();
+        }
+    }
+
+}
diff --git a/core/java/com/android/internal/colorextraction/types/Tonal.java b/core/java/com/android/internal/colorextraction/types/Tonal.java
index d6a8934..9d85a03 100644
--- a/core/java/com/android/internal/colorextraction/types/Tonal.java
+++ b/core/java/com/android/internal/colorextraction/types/Tonal.java
@@ -56,7 +56,6 @@
 
     private final TonalPalette mGreyPalette;
     private final ArrayList<TonalPalette> mTonalPalettes;
-    private final ArrayList<ColorRange> mBlacklistedColors;
 
     // Temporary variable to avoid allocations
     private float[] mTmpHSL = new float[3];
@@ -65,7 +64,6 @@
 
         ConfigParser parser = new ConfigParser(context);
         mTonalPalettes = parser.getTonalPalettes();
-        mBlacklistedColors = parser.getBlacklistedColors();
 
         mGreyPalette = mTonalPalettes.get(0);
         mTonalPalettes.remove(0);
@@ -131,7 +129,7 @@
                     Color.blue(colorValue), hsl);
 
             // Stop when we find a color that meets our criteria
-            if (!generatedFromBitmap || !isBlacklisted(hsl)) {
+            if (!generatedFromBitmap) {
                 bestColor = color;
                 break;
             }
@@ -300,22 +298,6 @@
         return getColorPalette(palette.h, palette.s, palette.l);
     }
 
-
-    /**
-     * Checks if a given color exists in the blacklist
-     * @param hsl float array with 3 components (H 0..360, S 0..1 and L 0..1)
-     * @return true if color should be avoided
-     */
-    private boolean isBlacklisted(float[] hsl) {
-        for (int i = mBlacklistedColors.size() - 1; i >= 0; i--) {
-            ColorRange badRange = mBlacklistedColors.get(i);
-            if (badRange.containsColor(hsl[0], hsl[1], hsl[2])) {
-                return true;
-            }
-        }
-        return false;
-    }
-
     /**
      * Offsets all colors by a delta, clamping values that go beyond what's
      * supported on the color space.
@@ -364,11 +346,6 @@
         return minErrorIndex;
     }
 
-    @VisibleForTesting
-    public List<ColorRange> getBlacklistedColors() {
-        return mBlacklistedColors;
-    }
-
     @Nullable
     private TonalPalette findTonalPalette(float h, float s) {
         // Fallback to a grey palette if the color is too desaturated.
@@ -502,11 +479,9 @@
     @VisibleForTesting
     public static class ConfigParser {
         private final ArrayList<TonalPalette> mTonalPalettes;
-        private final ArrayList<ColorRange> mBlacklistedColors;
 
         public ConfigParser(Context context) {
             mTonalPalettes = new ArrayList<>();
-            mBlacklistedColors = new ArrayList<>();
 
             // Load all palettes and the blacklist from an XML.
             try {
@@ -520,8 +495,6 @@
                         String tagName = parser.getName();
                         if (tagName.equals("palettes")) {
                             parsePalettes(parser);
-                        } else if (tagName.equals("blacklist")) {
-                            parseBlacklist(parser);
                         }
                     } else {
                         throw new XmlPullParserException("Invalid XML event " + eventType + " - "
@@ -538,28 +511,6 @@
             return mTonalPalettes;
         }
 
-        public ArrayList<ColorRange> getBlacklistedColors() {
-            return mBlacklistedColors;
-        }
-
-        private void parseBlacklist(XmlPullParser parser)
-                throws XmlPullParserException, IOException {
-            parser.require(XmlPullParser.START_TAG, null, "blacklist");
-            while (parser.next() != XmlPullParser.END_TAG) {
-                if (parser.getEventType() != XmlPullParser.START_TAG) {
-                    continue;
-                }
-                String name = parser.getName();
-                // Starts by looking for the entry tag
-                if (name.equals("range")) {
-                    mBlacklistedColors.add(readRange(parser));
-                    parser.next();
-                } else {
-                    throw new XmlPullParserException("Invalid tag: " + name, parser, null);
-                }
-            }
-        }
-
         private ColorRange readRange(XmlPullParser parser)
                 throws XmlPullParserException, IOException {
             parser.require(XmlPullParser.START_TAG, null, "range");
diff --git a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java
index f3bf913..fd74c04 100644
--- a/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java
+++ b/core/java/com/android/internal/config/sysui/SystemUiDeviceConfigFlags.java
@@ -81,6 +81,12 @@
      */
     public static final String SSIN_MAX_NUM_ACTIONS = "ssin_max_num_actions";
 
+    /**
+     * The default component of
+     * {@link android.service.notification.NotificationAssistantService}.
+     */
+    public static final String NAS_DEFAULT_SERVICE = "nas_default_service";
+
     // Flags related to media notifications
 
     /**
diff --git a/core/java/com/android/internal/infra/AbstractMultiplePendingRequestsRemoteService.java b/core/java/com/android/internal/infra/AbstractMultiplePendingRequestsRemoteService.java
index 293ffd3..37f61bf 100644
--- a/core/java/com/android/internal/infra/AbstractMultiplePendingRequestsRemoteService.java
+++ b/core/java/com/android/internal/infra/AbstractMultiplePendingRequestsRemoteService.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.content.ComponentName;
 import android.content.Context;
+import android.os.Handler;
 import android.os.IInterface;
 import android.util.Slog;
 
@@ -43,10 +44,10 @@
 
     public AbstractMultiplePendingRequestsRemoteService(@NonNull Context context,
             @NonNull String serviceInterface, @NonNull ComponentName componentName, int userId,
-            @NonNull VultureCallback<S> callback, boolean bindInstantServiceAllowed,
-            boolean verbose, int initialCapacity) {
-        super(context, serviceInterface, componentName, userId, callback, bindInstantServiceAllowed,
-                verbose);
+            @NonNull VultureCallback<S> callback, @NonNull Handler handler,
+            boolean bindInstantServiceAllowed, boolean verbose, int initialCapacity) {
+        super(context, serviceInterface, componentName, userId, callback, handler,
+                bindInstantServiceAllowed, verbose);
         mInitialCapacity = initialCapacity;
     }
 
diff --git a/core/java/com/android/internal/infra/AbstractRemoteService.java b/core/java/com/android/internal/infra/AbstractRemoteService.java
index f4c904d..5c144d3 100644
--- a/core/java/com/android/internal/infra/AbstractRemoteService.java
+++ b/core/java/com/android/internal/infra/AbstractRemoteService.java
@@ -28,7 +28,6 @@
 import android.os.IBinder;
 import android.os.IBinder.DeathRecipient;
 import android.os.IInterface;
-import android.os.Looper;
 import android.os.RemoteException;
 import android.os.SystemClock;
 import android.os.UserHandle;
@@ -114,14 +113,14 @@
     // NOTE: must be package-protected so this class is not extended outside
     AbstractRemoteService(@NonNull Context context, @NonNull String serviceInterface,
             @NonNull ComponentName componentName, int userId, @NonNull VultureCallback<S> callback,
-            boolean bindInstantServiceAllowed, boolean verbose) {
+            @NonNull Handler handler, boolean bindInstantServiceAllowed, boolean verbose) {
         mContext = context;
         mVultureCallback = callback;
         mVerbose = verbose;
         mComponentName = componentName;
         mIntent = new Intent(serviceInterface).setComponent(mComponentName);
         mUserId = userId;
-        mHandler = new Handler(Looper.getMainLooper());
+        mHandler = new Handler(handler.getLooper());
         mBindInstantServiceAllowed = bindInstantServiceAllowed;
     }
 
@@ -480,6 +479,11 @@
         return mDestroyed;
     }
 
+    @Override
+    public String toString() {
+        return getClass().getSimpleName() + "[" + mComponentName + "]";
+    }
+
     /**
      * Base class for the requests serviced by the remote service.
      *
@@ -573,6 +577,12 @@
         protected boolean isFinal() {
             return false;
         }
+
+        protected boolean isRequestCompleted() {
+            synchronized (mLock) {
+                return mCompleted;
+            }
+        }
     }
 
     /**
@@ -610,6 +620,7 @@
                 if (remoteService != null) {
                     // TODO(b/117779333): we should probably ignore it if service is destroyed.
                     Slog.w(mTag, "timed out after " + service.getRemoteRequestMillis() + " ms");
+                    remoteService.finishRequest(this);
                     onTimeout(remoteService);
                 } else {
                     Slog.w(mTag, "timed out (no service)");
diff --git a/core/java/com/android/internal/infra/AbstractSinglePendingRequestRemoteService.java b/core/java/com/android/internal/infra/AbstractSinglePendingRequestRemoteService.java
index 3e92a0b..a70fc3e 100644
--- a/core/java/com/android/internal/infra/AbstractSinglePendingRequestRemoteService.java
+++ b/core/java/com/android/internal/infra/AbstractSinglePendingRequestRemoteService.java
@@ -19,6 +19,7 @@
 import android.annotation.NonNull;
 import android.content.ComponentName;
 import android.content.Context;
+import android.os.Handler;
 import android.os.IInterface;
 import android.util.Slog;
 
@@ -42,10 +43,10 @@
 
     public AbstractSinglePendingRequestRemoteService(@NonNull Context context,
             @NonNull String serviceInterface, @NonNull ComponentName componentName, int userId,
-            @NonNull VultureCallback<S> callback, boolean bindInstantServiceAllowed,
-            boolean verbose) {
-        super(context, serviceInterface, componentName, userId, callback, bindInstantServiceAllowed,
-                verbose);
+            @NonNull VultureCallback<S> callback, @NonNull Handler handler,
+            boolean bindInstantServiceAllowed, boolean verbose) {
+        super(context, serviceInterface, componentName, userId, callback, handler,
+                bindInstantServiceAllowed, verbose);
     }
 
     @Override // from AbstractRemoteService
diff --git a/core/java/com/android/internal/infra/WhitelistHelper.java b/core/java/com/android/internal/infra/WhitelistHelper.java
new file mode 100644
index 0000000..183b465
--- /dev/null
+++ b/core/java/com/android/internal/infra/WhitelistHelper.java
@@ -0,0 +1,177 @@
+/*
+ * 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.internal.infra;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.content.ComponentName;
+import android.util.ArrayMap;
+import android.util.ArraySet;
+import android.util.Log;
+
+import com.android.internal.util.Preconditions;
+
+import java.io.PrintWriter;
+import java.util.List;
+
+/**
+ * Helper class for keeping track of whitelisted packages/activities.
+ *
+ * @hide
+ */
+public final class WhitelistHelper {
+
+    private static final String TAG = "WhitelistHelper";
+
+    /**
+     * Map of whitelisted packages/activities. The whole package is whitelisted if its
+     * corresponding value is {@code null}.
+     */
+    @Nullable
+    private ArrayMap<String, ArraySet<ComponentName>> mWhitelistedPackages;
+
+    /**
+     * Sets the whitelist with the given packages and activities. The list is cleared if both
+     * packageNames and components are {@code null}.
+     *
+     * @param packageNames packages to be whitelisted.
+     * @param components activities to be whitelisted.
+     *
+     * @throws IllegalArgumentException if packages or components are empty.
+     */
+    public void setWhitelist(@Nullable ArraySet<String> packageNames,
+            @Nullable ArraySet<ComponentName> components) {
+        mWhitelistedPackages = null;
+        if (packageNames == null && components == null) return;
+
+        if ((packageNames != null && packageNames.isEmpty())
+                || (components != null && components.isEmpty())) {
+            throw new IllegalArgumentException("Packages or Components cannot be empty.");
+        }
+
+        mWhitelistedPackages = new ArrayMap<>();
+
+        if (packageNames != null) {
+            for (int i = 0; i < packageNames.size(); i++) {
+                mWhitelistedPackages.put(packageNames.valueAt(i), null);
+            }
+        }
+
+        if (components != null) {
+            for (int i = 0; i < components.size(); i++) {
+                final ComponentName component = components.valueAt(i);
+                if (component == null) {
+                    Log.w(TAG, "setWhitelist(): component is null");
+                    continue;
+                }
+
+                final String packageName = component.getPackageName();
+                ArraySet<ComponentName> set = mWhitelistedPackages.get(packageName);
+                if (set == null) {
+                    set = new ArraySet<>();
+                    mWhitelistedPackages.put(packageName, set);
+                }
+                set.add(component);
+            }
+        }
+    }
+
+    /**
+     * Helper to use {@link #setWhitelist(ArraySet, ArraySet)} with {@link List Lists}.
+     */
+    public void setWhitelist(@Nullable List<String> packageNames,
+            @Nullable List<ComponentName> components) {
+        final ArraySet<String> packageNamesSet = packageNames == null ? null
+                : new ArraySet<>(packageNames);
+        final ArraySet<ComponentName> componentssSet = components == null ? null
+                : new ArraySet<>(components);
+        setWhitelist(packageNamesSet, componentssSet);
+    }
+
+    /**
+     * Returns {@code true} if the entire package is whitelisted.
+     */
+    public boolean isWhitelisted(@NonNull String packageName) {
+        Preconditions.checkNotNull(packageName);
+
+        if (mWhitelistedPackages == null) return false;
+
+        return mWhitelistedPackages.containsKey(packageName)
+                && mWhitelistedPackages.get(packageName) == null;
+    }
+
+    /**
+     * Returns {@code true} if the specified activity is whitelisted.
+     */
+    public boolean isWhitelisted(@NonNull ComponentName componentName) {
+        Preconditions.checkNotNull(componentName);
+
+        final String packageName = componentName.getPackageName();
+        final ArraySet<ComponentName> whitelistedComponents = getWhitelistedComponents(packageName);
+        if (whitelistedComponents != null) {
+            return whitelistedComponents.contains(componentName);
+        }
+
+        return isWhitelisted(packageName);
+    }
+
+    /**
+     * Returns a set of whitelisted components with the given package, or null if nothing is
+     * whitelisted.
+     */
+    @Nullable
+    public ArraySet<ComponentName> getWhitelistedComponents(@NonNull String packageName) {
+        Preconditions.checkNotNull(packageName);
+
+        return mWhitelistedPackages == null ? null : mWhitelistedPackages.get(packageName);
+    }
+
+    @Override
+    public String toString() {
+        return "WhitelistHelper[" + mWhitelistedPackages + ']';
+    }
+
+    /**
+     * Dumps it!
+     */
+    public void dump(@NonNull String prefix, @NonNull String message, @NonNull PrintWriter pw) {
+        if (mWhitelistedPackages == null || mWhitelistedPackages.size() == 0) {
+            pw.print(prefix); pw.print(message); pw.println(": (no whitelisted packages)");
+            return;
+        }
+
+        final String prefix2 = prefix + "  ";
+        final int size = mWhitelistedPackages.size();
+        pw.print(prefix); pw.print(message); pw.print(": "); pw.print(size);
+        pw.println(" packages");
+        for (int i = 0; i < mWhitelistedPackages.size(); i++) {
+            final String packageName = mWhitelistedPackages.keyAt(i);
+            final ArraySet<ComponentName> components = mWhitelistedPackages.valueAt(i);
+            pw.print(prefix2); pw.print(i); pw.print("."); pw.print(packageName); pw.print(": ");
+            if (components == null) {
+                pw.println("(whole package)");
+                continue;
+            }
+
+            pw.print("["); pw.print(components.valueAt(0));
+            for (int j = 1; j < components.size(); j++) {
+                pw.print(", "); pw.print(components.valueAt(i));
+            }
+            pw.println("]");
+        }
+    }
+}
diff --git a/core/java/com/android/internal/net/VpnProfile.java b/core/java/com/android/internal/net/VpnProfile.java
index ec02432..940cc36 100644
--- a/core/java/com/android/internal/net/VpnProfile.java
+++ b/core/java/com/android/internal/net/VpnProfile.java
@@ -18,6 +18,8 @@
 
 import android.annotation.UnsupportedAppUsage;
 import android.os.Build;
+import android.net.ProxyInfo;
+import android.net.Uri;
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.text.TextUtils;
@@ -46,6 +48,10 @@
     public static final int TYPE_IPSEC_HYBRID_RSA = 5;
     public static final int TYPE_MAX = 5;
 
+    // Match these constants with R.array.vpn_proxy_settings.
+    public static final int PROXY_NONE = 0;
+    public static final int PROXY_MANUAL = 1;
+
     // Entity fields.
     @UnsupportedAppUsage
     public final String key;           // -1
@@ -68,6 +74,7 @@
     public String ipsecUserCert = "";  // 12
     public String ipsecCaCert = "";    // 13
     public String ipsecServerCert = "";// 14
+    public ProxyInfo proxy = null;     // 15~18
 
     // Helper fields.
     @UnsupportedAppUsage
@@ -96,6 +103,7 @@
         ipsecCaCert = in.readString();
         ipsecServerCert = in.readString();
         saveLogin = in.readInt() != 0;
+        proxy = in.readParcelable(null);
     }
 
     @Override
@@ -117,6 +125,7 @@
         out.writeString(ipsecCaCert);
         out.writeString(ipsecServerCert);
         out.writeInt(saveLogin ? 1 : 0);
+        out.writeParcelable(proxy, flags);
     }
 
     @UnsupportedAppUsage
@@ -127,8 +136,8 @@
             }
 
             String[] values = new String(value, StandardCharsets.UTF_8).split("\0", -1);
-            // There can be 14 or 15 values in ICS MR1.
-            if (values.length < 14 || values.length > 15) {
+            // There can be 14 - 19 Bytes in values.length.
+            if (values.length < 14 || values.length > 19) {
                 return null;
             }
 
@@ -151,7 +160,18 @@
             profile.ipsecUserCert = values[12];
             profile.ipsecCaCert = values[13];
             profile.ipsecServerCert = (values.length > 14) ? values[14] : "";
-
+            if (values.length > 15) {
+                String host = (values.length > 15) ? values[15] : "";
+                String port = (values.length > 16) ? values[16] : "";
+                String exclList = (values.length > 17) ? values[17] : "";
+                String pacFileUrl = (values.length > 18) ? values[18] : "";
+                if (pacFileUrl.isEmpty()) {
+                    profile.proxy = new ProxyInfo(host, port.isEmpty() ?
+                            0 : Integer.parseInt(port), exclList);
+                } else {
+                    profile.proxy = new ProxyInfo(pacFileUrl);
+                }
+            } // else profle.proxy = null
             profile.saveLogin = !profile.username.isEmpty() || !profile.password.isEmpty();
             return profile;
         } catch (Exception e) {
@@ -176,6 +196,13 @@
         builder.append('\0').append(ipsecUserCert);
         builder.append('\0').append(ipsecCaCert);
         builder.append('\0').append(ipsecServerCert);
+        if (proxy != null) {
+            builder.append('\0').append(proxy.getHost() != null ? proxy.getHost() : "");
+            builder.append('\0').append(proxy.getPort());
+            builder.append('\0').append(proxy.getExclusionListAsString() != null ?
+                    proxy.getExclusionListAsString() : "");
+            builder.append('\0').append(proxy.getPacFileUrl().toString());
+        }
         return builder.toString().getBytes(StandardCharsets.UTF_8);
     }
 
diff --git a/core/java/com/android/internal/os/BinderCallsStats.java b/core/java/com/android/internal/os/BinderCallsStats.java
index aa1e0d4..0fb2728 100644
--- a/core/java/com/android/internal/os/BinderCallsStats.java
+++ b/core/java/com/android/internal/os/BinderCallsStats.java
@@ -212,7 +212,7 @@
                 // It helps to keep the memory usage down when sampling is enabled.
                 final CallStat callStat = uidEntry.get(
                         callingUid, s.binderClass, s.transactionCode,
-                        mDeviceState.isScreenInteractive());
+                        screenInteractive);
                 if (callStat != null) {
                     callStat.callCount++;
                 }
@@ -344,6 +344,7 @@
             resultCallStats.add(createDebugEntry("end_time_millis", SystemClock.elapsedRealtime()));
             resultCallStats.add(
                     createDebugEntry("battery_time_millis", mBatteryStopwatch.getMillis()));
+            resultCallStats.add(createDebugEntry("sampling_interval", mPeriodicSamplingInterval));
         }
 
         return resultCallStats;
diff --git a/core/java/com/android/internal/os/ClassLoaderFactory.java b/core/java/com/android/internal/os/ClassLoaderFactory.java
index c5bc45a..99a1a19 100644
--- a/core/java/com/android/internal/os/ClassLoaderFactory.java
+++ b/core/java/com/android/internal/os/ClassLoaderFactory.java
@@ -115,20 +115,13 @@
         final ClassLoader classLoader = createClassLoader(dexPath, librarySearchPath, parent,
                 classLoaderName, sharedLibraries);
 
-        boolean isForVendor = false;
-        for (String path : dexPath.split(":")) {
-            if (path.startsWith("/vendor/")) {
-                isForVendor = true;
-                break;
-            }
-        }
         Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "createClassloaderNamespace");
         String errorMessage = createClassloaderNamespace(classLoader,
                                                          targetSdkVersion,
                                                          librarySearchPath,
                                                          libraryPermittedPath,
                                                          isNamespaceShared,
-                                                         isForVendor);
+                                                         dexPath);
         Trace.traceEnd(Trace.TRACE_TAG_ACTIVITY_MANAGER);
 
         if (errorMessage != null) {
@@ -144,5 +137,5 @@
                                                             String librarySearchPath,
                                                             String libraryPermittedPath,
                                                             boolean isNamespaceShared,
-                                                            boolean isForVendor);
+                                                            String dexPath);
 }
diff --git a/core/java/com/android/internal/os/KernelCpuThreadReader.java b/core/java/com/android/internal/os/KernelCpuThreadReader.java
index 6a9db10..248e026 100644
--- a/core/java/com/android/internal/os/KernelCpuThreadReader.java
+++ b/core/java/com/android/internal/os/KernelCpuThreadReader.java
@@ -198,8 +198,8 @@
      *
      * <p>This function will crawl through all process {@code proc} directories found by the pattern
      * {@code /proc/[0-9]*}, and then check the UID using {@code /proc/$PID/status}. This takes
-     * approximately 500ms on a Pixel 2. Therefore, this method can be computationally expensive,
-     * and should not be called more than once an hour.
+     * approximately 500ms on a 2017 device. Therefore, this method can be computationally
+     * expensive, and should not be called more than once an hour.
      *
      * <p>Data is only collected for UIDs passing the predicate supplied in {@link
      * #setUidPredicate}.
@@ -283,7 +283,7 @@
                 if (threadCpuUsage == null) {
                     continue;
                 }
-                if (mMinimumTotalCpuUsageMillis < totalCpuUsage(threadCpuUsage.usageTimesMillis)) {
+                if (mMinimumTotalCpuUsageMillis > totalCpuUsage(threadCpuUsage.usageTimesMillis)) {
                     if (filteredThreadsCpuUsage == null) {
                         filteredThreadsCpuUsage = new int[mFrequenciesKhz.length];
                     }
diff --git a/core/java/com/android/internal/os/KernelWakelockReader.java b/core/java/com/android/internal/os/KernelWakelockReader.java
index 2442d0b..8b25e2d 100644
--- a/core/java/com/android/internal/os/KernelWakelockReader.java
+++ b/core/java/com/android/internal/os/KernelWakelockReader.java
@@ -66,7 +66,7 @@
      */
     public final KernelWakelockStats readKernelWakelockStats(KernelWakelockStats staleStats) {
         byte[] buffer = new byte[32*1024];
-        int len;
+        int len = 0;
         boolean wakeup_sources;
         final long startTime = SystemClock.uptimeMillis();
 
@@ -87,7 +87,11 @@
                 }
             }
 
-            len = is.read(buffer);
+            int cnt;
+            while ((cnt = is.read(buffer, len, buffer.length - len)) > 0) {
+                len += cnt;
+            }
+
             is.close();
         } catch (java.io.IOException e) {
             Slog.wtf(TAG, "failed to read kernel wakelocks", e);
diff --git a/core/java/com/android/internal/os/LooperStats.java b/core/java/com/android/internal/os/LooperStats.java
index c059721..932ff57 100644
--- a/core/java/com/android/internal/os/LooperStats.java
+++ b/core/java/com/android/internal/os/LooperStats.java
@@ -165,6 +165,7 @@
             exportedEntries.add(createDebugEntry("end_time_millis", SystemClock.elapsedRealtime()));
             exportedEntries.add(
                     createDebugEntry("battery_time_millis", mBatteryStopwatch.getMillis()));
+            exportedEntries.add(createDebugEntry("sampling_interval", mSamplingInterval));
         }
         return exportedEntries;
     }
diff --git a/core/java/com/android/internal/os/Zygote.java b/core/java/com/android/internal/os/Zygote.java
index 2bba3c9..992ddd8 100644
--- a/core/java/com/android/internal/os/Zygote.java
+++ b/core/java/com/android/internal/os/Zygote.java
@@ -369,17 +369,8 @@
      * @param appInfo ApplicationInfo of the application
      */
     protected static void allowAppFilesAcrossFork(ApplicationInfo appInfo) {
-        Zygote.nativeAllowFileAcrossFork(appInfo.sourceDir);
-        if (appInfo.splitSourceDirs != null) {
-            for (String path : appInfo.splitSourceDirs) {
-                Zygote.nativeAllowFileAcrossFork(path);
-            }
-        }
-        // As well as its shared libs
-        if (appInfo.sharedLibraryFiles != null) {
-            for (String path : appInfo.sharedLibraryFiles) {
-                Zygote.nativeAllowFileAcrossFork(path);
-            }
+        for (String path : appInfo.getAllApkPaths()) {
+            Zygote.nativeAllowFileAcrossFork(path);
         }
     }
 
@@ -417,11 +408,11 @@
      * TODO (chriswailes): Cache the system property location in native code and then write a JNI
      *                     function to fetch it.
      */
-    public static String getSystemProperty(String propertyName, String defaultValue) {
+    public static String getConfigurationProperty(String propertyName, String defaultValue) {
         return SystemProperties.get(
                 String.join(".",
                         "persist.device_config",
-                        DeviceConfig.RuntimeNative.NAMESPACE,
+                        DeviceConfig.NAMESPACE_RUNTIME_NATIVE,
                         propertyName),
                 defaultValue);
     }
@@ -442,12 +433,14 @@
      *
      * TODO (chriswailes): Cache the system property location in native code and then write a JNI
      *                     function to fetch it.
+     * TODO (chriswailes): Move into ZygoteConfig.java once the necessary CL lands (go/ag/6580627)
      */
-    public static boolean getSystemPropertyBoolean(String propertyName, Boolean defaultValue) {
+    public static boolean getConfigurationPropertyBoolean(
+            String propertyName, Boolean defaultValue) {
         return SystemProperties.getBoolean(
                 String.join(".",
                         "persist.device_config",
-                        DeviceConfig.RuntimeNative.NAMESPACE,
+                        DeviceConfig.NAMESPACE_RUNTIME_NATIVE,
                         propertyName),
                 defaultValue);
     }
diff --git a/core/java/com/android/internal/os/ZygoteConfig.java b/core/java/com/android/internal/os/ZygoteConfig.java
new file mode 100644
index 0000000..c8ff51e
--- /dev/null
+++ b/core/java/com/android/internal/os/ZygoteConfig.java
@@ -0,0 +1,37 @@
+/*
+ * 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.internal.os;
+
+/**
+ * Flag names for configuring the zygote.
+ *
+ * @hide
+ */
+public class ZygoteConfig {
+
+    /** If {@code true}, enables the unspecialized app process (USAP) pool feature */
+    public static final String USAP_POOL_ENABLED = "blastula_pool_enabled";
+
+    /** The threshold used to determine if the pool should be refilled */
+    public static final String USAP_POOL_REFILL_THRESHOLD = "blastula_refill_threshold";
+
+    /** The maximum number of processes to keep in the USAP pool */
+    public static final String USAP_POOL_SIZE_MAX = "blastula_pool_size_max";
+
+    /** The minimum number of processes to keep in the USAP pool */
+    public static final String USAP_POOL_SIZE_MIN = "blastula_pool_size_min";
+}
diff --git a/core/java/com/android/internal/os/ZygoteInit.java b/core/java/com/android/internal/os/ZygoteInit.java
index a5e7202..07b82d0 100644
--- a/core/java/com/android/internal/os/ZygoteInit.java
+++ b/core/java/com/android/internal/os/ZygoteInit.java
@@ -41,7 +41,6 @@
 import android.system.StructCapUserData;
 import android.system.StructCapUserHeader;
 import android.text.Hyphenator;
-import android.text.TextUtils;
 import android.util.EventLog;
 import android.util.Log;
 import android.util.Slog;
@@ -85,8 +84,6 @@
 
     private static final String PROPERTY_DISABLE_OPENGL_PRELOADING = "ro.zygote.disable_gl_preload";
     private static final String PROPERTY_GFX_DRIVER = "ro.gfx.driver.0";
-    private static final String PROPERTY_USE_APP_IMAGE_STARTUP_CACHE =
-            "persist.device_config.runtime_native.use_app_image_startup_cache";
 
     private static final int LOG_BOOT_PROGRESS_PRELOAD_START = 3020;
     private static final int LOG_BOOT_PROGRESS_PRELOAD_END = 3030;
@@ -125,6 +122,12 @@
 
     private static boolean sPreloadComplete;
 
+    /**
+     * Cached classloader to use for the system server. Will only be populated in the system
+     * server process.
+     */
+    private static ClassLoader sCachedSystemServerClassLoader = null;
+
     static void preload(TimingsTraceLog bootTimingsTraceLog) {
         Log.d(TAG, "begin preload");
         bootTimingsTraceLog.traceBegin("BeginPreload");
@@ -446,7 +449,13 @@
 
         final String systemServerClasspath = Os.getenv("SYSTEMSERVERCLASSPATH");
         if (systemServerClasspath != null) {
-            performSystemServerDexOpt(systemServerClasspath);
+            if (performSystemServerDexOpt(systemServerClasspath)) {
+                // Throw away the cached classloader. If we compiled here, the classloader would
+                // not have had AoT-ed artifacts.
+                // Note: This only works in a very special environment where selinux enforcement is
+                // disabled, e.g., Mac builds.
+                sCachedSystemServerClassLoader = null;
+            }
             // Capturing profiles is only supported for debug or eng builds since selinux normally
             // prevents it.
             boolean profileSystemServer = SystemProperties.getBoolean(
@@ -479,10 +488,9 @@
 
             throw new IllegalStateException("Unexpected return from WrapperInit.execApplication");
         } else {
-            ClassLoader cl = null;
-            if (systemServerClasspath != null) {
-                cl = createPathClassLoader(systemServerClasspath, parsedArgs.mTargetSdkVersion);
-
+            createSystemServerClassLoader();
+            ClassLoader cl = sCachedSystemServerClassLoader;
+            if (cl != null) {
                 Thread.currentThread().setContextClassLoader(cl);
             }
 
@@ -497,6 +505,24 @@
     }
 
     /**
+     * Create the classloader for the system server and store it in
+     * {@link sCachedSystemServerClassLoader}. This function may be called through JNI in
+     * system server startup, when the runtime is in a critically low state. Do not do
+     * extended computation etc here.
+     */
+    private static void createSystemServerClassLoader() {
+        if (sCachedSystemServerClassLoader != null) {
+            return;
+        }
+        final String systemServerClasspath = Os.getenv("SYSTEMSERVERCLASSPATH");
+        // TODO: Should we run optimization here?
+        if (systemServerClasspath != null) {
+            sCachedSystemServerClassLoader = createPathClassLoader(systemServerClasspath,
+                    VMRuntime.SDK_VERSION_CUR_DEVELOPMENT);
+        }
+    }
+
+    /**
      * Note that preparing the profiles for system server does not require special selinux
      * permissions. From the installer perspective the system server is a regular package which can
      * capture profile information.
@@ -560,15 +586,16 @@
 
     /**
      * Performs dex-opt on the elements of {@code classPath}, if needed. We choose the instruction
-     * set of the current runtime.
+     * set of the current runtime. If something was compiled, return true.
      */
-    private static void performSystemServerDexOpt(String classPath) {
+    private static boolean performSystemServerDexOpt(String classPath) {
         final String[] classPathElements = classPath.split(":");
         final IInstalld installd = IInstalld.Stub
                 .asInterface(ServiceManager.getService("installd"));
         final String instructionSet = VMRuntime.getRuntime().vmInstructionSet();
 
         String classPathForElement = "";
+        boolean compiledSomething = false;
         for (String classPathElement : classPathElements) {
             // System server is fully AOTed and never profiled
             // for profile guided compilation.
@@ -610,6 +637,7 @@
                             uuid, classLoaderContext, seInfo, false /* downgrade */,
                             targetSdkVersion, /*profileName*/ null, /*dexMetadataPath*/ null,
                             "server-dexopt");
+                    compiledSomething = true;
                 } catch (RemoteException | ServiceSpecificException e) {
                     // Ignore (but log), we need this on the classpath for fallback mode.
                     Log.w(TAG, "Failed compiling classpath element for system server: "
@@ -620,6 +648,8 @@
             classPathForElement = encodeSystemServerClassPath(
                     classPathForElement, classPathElement);
         }
+
+        return compiledSomething;
     }
 
     /**
@@ -708,13 +738,6 @@
                 parsedArgs.mRuntimeFlags |= Zygote.PROFILE_SYSTEM_SERVER;
             }
 
-            String use_app_image_cache = SystemProperties.get(
-                    PROPERTY_USE_APP_IMAGE_STARTUP_CACHE, "");
-            // Property defaults to true currently.
-            if (!TextUtils.isEmpty(use_app_image_cache) && !use_app_image_cache.equals("false")) {
-                parsedArgs.mRuntimeFlags |= Zygote.USE_APP_IMAGE_STARTUP_CACHE;
-            }
-
             /* Request to fork the system server process */
             pid = Zygote.forkSystemServer(
                     parsedArgs.mUid, parsedArgs.mGid,
diff --git a/core/java/com/android/internal/os/ZygoteServer.java b/core/java/com/android/internal/os/ZygoteServer.java
index 6595317..3f3aba9 100644
--- a/core/java/com/android/internal/os/ZygoteServer.java
+++ b/core/java/com/android/internal/os/ZygoteServer.java
@@ -22,7 +22,6 @@
 import android.net.LocalSocket;
 import android.os.SystemClock;
 import android.os.Trace;
-import android.provider.DeviceConfig;
 import android.system.ErrnoException;
 import android.system.Os;
 import android.system.StructPollfd;
@@ -242,52 +241,55 @@
 
     private void fetchUsapPoolPolicyProps() {
         if (mUsapPoolSupported) {
-            final String usapPoolSizeMaxPropString =
-                    Zygote.getSystemProperty(
-                            DeviceConfig.RuntimeNative.USAP_POOL_SIZE_MAX,
-                            USAP_POOL_SIZE_MAX_DEFAULT);
+            final String usapPoolSizeMaxPropString = Zygote.getConfigurationProperty(
+                    ZygoteConfig.USAP_POOL_SIZE_MAX, USAP_POOL_SIZE_MAX_DEFAULT);
 
             if (!usapPoolSizeMaxPropString.isEmpty()) {
-                mUsapPoolSizeMax =
-                        Integer.min(
-                                Integer.parseInt(usapPoolSizeMaxPropString),
-                                USAP_POOL_SIZE_MAX_LIMIT);
+                mUsapPoolSizeMax = Integer.min(Integer.parseInt(
+                        usapPoolSizeMaxPropString), USAP_POOL_SIZE_MAX_LIMIT);
             }
 
-            final String usapPoolSizeMinPropString =
-                    Zygote.getSystemProperty(
-                            DeviceConfig.RuntimeNative.USAP_POOL_SIZE_MIN,
-                            USAP_POOL_SIZE_MIN_DEFAULT);
+            final String usapPoolSizeMinPropString = Zygote.getConfigurationProperty(
+                    ZygoteConfig.USAP_POOL_SIZE_MIN, USAP_POOL_SIZE_MIN_DEFAULT);
 
             if (!usapPoolSizeMinPropString.isEmpty()) {
-                mUsapPoolSizeMin =
-                        Integer.max(
-                                Integer.parseInt(usapPoolSizeMinPropString),
-                                USAP_POOL_SIZE_MIN_LIMIT);
+                mUsapPoolSizeMin = Integer.max(
+                        Integer.parseInt(usapPoolSizeMinPropString), USAP_POOL_SIZE_MIN_LIMIT);
             }
 
-            final String usapPoolRefillThresholdPropString =
-                    Zygote.getSystemProperty(
-                            DeviceConfig.RuntimeNative.USAP_POOL_REFILL_THRESHOLD,
-                            Integer.toString(mUsapPoolSizeMax / 2));
+            final String usapPoolRefillThresholdPropString = Zygote.getConfigurationProperty(
+                    ZygoteConfig.USAP_POOL_REFILL_THRESHOLD,
+                    Integer.toString(mUsapPoolSizeMax / 2));
 
             if (!usapPoolRefillThresholdPropString.isEmpty()) {
-                mUsapPoolRefillThreshold =
-                        Integer.min(
-                                Integer.parseInt(usapPoolRefillThresholdPropString),
-                                mUsapPoolSizeMax);
+                mUsapPoolRefillThreshold = Integer.min(
+                        Integer.parseInt(usapPoolRefillThresholdPropString),
+                        mUsapPoolSizeMax);
+            }
+
+            // Sanity check
+            if (mUsapPoolSizeMin >= mUsapPoolSizeMax) {
+                Log.w(TAG, "The max size of the USAP pool must be greater than the minimum size."
+                        + "  Restoring default values.");
+
+                mUsapPoolSizeMax = Integer.parseInt(USAP_POOL_SIZE_MAX_DEFAULT);
+                mUsapPoolSizeMin = Integer.parseInt(USAP_POOL_SIZE_MIN_DEFAULT);
+                mUsapPoolRefillThreshold = mUsapPoolSizeMax / 2;
             }
         }
     }
 
+    private boolean mIsFirstPropertyCheck = true;
     private long mLastPropCheckTimestamp = 0;
 
     private void fetchUsapPoolPolicyPropsWithMinInterval() {
         final long currentTimestamp = SystemClock.elapsedRealtime();
 
-        if (currentTimestamp - mLastPropCheckTimestamp >= Zygote.PROPERTY_CHECK_INTERVAL) {
-            fetchUsapPoolPolicyProps();
+        if (mIsFirstPropertyCheck
+                || (currentTimestamp - mLastPropCheckTimestamp >= Zygote.PROPERTY_CHECK_INTERVAL)) {
+            mIsFirstPropertyCheck = false;
             mLastPropCheckTimestamp = currentTimestamp;
+            fetchUsapPoolPolicyProps();
         }
     }
 
@@ -304,6 +306,9 @@
     Runnable fillUsapPool(int[] sessionSocketRawFDs) {
         Trace.traceBegin(Trace.TRACE_TAG_ACTIVITY_MANAGER, "Zygote:FillUsapPool");
 
+        // Ensure that the pool properties have been fetched.
+        fetchUsapPoolPolicyPropsWithMinInterval();
+
         int usapPoolCount = Zygote.getUsapPoolCount();
         int numUsapsToSpawn = mUsapPoolSizeMax - usapPoolCount;
 
diff --git a/core/java/com/android/internal/util/ContrastColorUtil.java b/core/java/com/android/internal/util/ContrastColorUtil.java
index e0ba317f..d037d4b 100644
--- a/core/java/com/android/internal/util/ContrastColorUtil.java
+++ b/core/java/com/android/internal/util/ContrastColorUtil.java
@@ -522,27 +522,6 @@
         return ColorUtilsFromCompat.LABToColor(result[0], result[1], result[2]);
     }
 
-    public static int resolveAmbientColor(Context context, int notificationColor) {
-        final int resolvedColor = notificationColor == Notification.COLOR_DEFAULT
-                ? context.getColor(com.android.internal.R.color.notification_default_color_dark)
-                : notificationColor;
-
-        int color = resolvedColor;
-        color = ContrastColorUtil.ensureTextContrastOnBlack(color);
-
-        if (color != resolvedColor) {
-            if (DEBUG){
-                Log.w(TAG, String.format(
-                        "Ambient contrast of notification for %s is %s (over black)"
-                                + " by changing #%s to #%s",
-                        context.getPackageName(),
-                        ContrastColorUtil.contrastChange(resolvedColor, color, Color.BLACK),
-                        Integer.toHexString(resolvedColor), Integer.toHexString(color)));
-            }
-        }
-        return color;
-    }
-
     public static int resolvePrimaryColor(Context context, int backgroundColor,
                                           boolean defaultBackgroundIsDark) {
         boolean useDark = shouldUseDark(backgroundColor, defaultBackgroundIsDark);
diff --git a/core/java/com/android/internal/widget/FloatingToolbar.java b/core/java/com/android/internal/widget/FloatingToolbar.java
index 42fb1f5..bb7423a 100644
--- a/core/java/com/android/internal/widget/FloatingToolbar.java
+++ b/core/java/com/android/internal/widget/FloatingToolbar.java
@@ -33,7 +33,6 @@
 import android.graphics.drawable.Drawable;
 import android.text.TextUtils;
 import android.util.Size;
-import android.util.TypedValue;
 import android.view.ContextThemeWrapper;
 import android.view.Gravity;
 import android.view.LayoutInflater;
@@ -593,7 +592,7 @@
             refreshCoordinatesAndOverflowDirection(contentRectOnScreen);
             preparePopupContent();
             // We need to specify the position in window coordinates.
-            // TODO: Consider to use PopupWindow.setLayoutInScreenEnabled(true) so that we can
+            // TODO: Consider to use PopupWindow.setIsLaidOutInScreen(true) so that we can
             // specify the popup position in screen coordinates.
             mPopupWindow.showAtLocation(
                     mParent, Gravity.NO_GRAVITY, mCoordsOnWindow.x, mCoordsOnWindow.y);
@@ -661,7 +660,7 @@
             refreshCoordinatesAndOverflowDirection(contentRectOnScreen);
             preparePopupContent();
             // We need to specify the position in window coordinates.
-            // TODO: Consider to use PopupWindow.setLayoutInScreenEnabled(true) so that we can
+            // TODO: Consider to use PopupWindow.setIsLaidOutInScreen(true) so that we can
             // specify the popup position in screen coordinates.
             mPopupWindow.update(
                     mCoordsOnWindow.x, mCoordsOnWindow.y,
@@ -755,7 +754,7 @@
             // and screen coordiantes, where the offset between them should be equal to the window
             // origin, and 2) we can use an arbitrary for this calculation while calculating the
             // location of the rootview is supposed to be least expensive.
-            // TODO: Consider to use PopupWindow.setLayoutInScreenEnabled(true) so that we can avoid
+            // TODO: Consider to use PopupWindow.setIsLaidOutInScreen(true) so that we can avoid
             // the following calculation.
             mParent.getRootView().getLocationOnScreen(mTmpCoords);
             int rootViewLeftOnScreen = mTmpCoords[0];
@@ -1722,7 +1721,7 @@
     private static PopupWindow createPopupWindow(ViewGroup content) {
         ViewGroup popupContentHolder = new LinearLayout(content.getContext());
         PopupWindow popupWindow = new PopupWindow(popupContentHolder);
-        // TODO: Use .setLayoutInScreenEnabled(true) instead of .setClippingEnabled(false)
+        // TODO: Use .setIsLaidOutInScreen(true) instead of .setClippingEnabled(false)
         // unless FLAG_LAYOUT_IN_SCREEN has any unintentional side-effects.
         popupWindow.setClippingEnabled(false);
         popupWindow.setWindowLayoutType(
diff --git a/core/java/com/android/internal/widget/ILockSettings.aidl b/core/java/com/android/internal/widget/ILockSettings.aidl
index 3be7c3e..41e2fc8 100644
--- a/core/java/com/android/internal/widget/ILockSettings.aidl
+++ b/core/java/com/android/internal/widget/ILockSettings.aidl
@@ -62,6 +62,7 @@
     void systemReady();
     void userPresent(int userId);
     int getStrongAuthForUser(int userId);
+    boolean hasPendingEscrowToken(int userId);
 
     // Keystore RecoveryController methods.
     // {@code ServiceSpecificException} may be thrown to signal an error, which caller can
diff --git a/core/java/com/android/internal/widget/LockPatternUtils.java b/core/java/com/android/internal/widget/LockPatternUtils.java
index 17ed2a0..1965609 100644
--- a/core/java/com/android/internal/widget/LockPatternUtils.java
+++ b/core/java/com/android/internal/widget/LockPatternUtils.java
@@ -1638,7 +1638,7 @@
     }
 
     /**
-     * @see StrongAuthTracker#isFingerprintAllowedForUser
+     * @see StrongAuthTracker#isBiometricAllowedForUser(int)
      */
     public boolean isBiometricAllowedForUser(int userId) {
         return (getStrongAuthForUser(userId) & ~StrongAuthTracker.ALLOWING_BIOMETRIC) == 0;
@@ -1687,8 +1687,21 @@
      *
      * @return a unique 64-bit token handle which is needed to refer to this token later.
      */
-    public long addEscrowToken(byte[] token, int userId) {
-        return getLockSettingsInternal().addEscrowToken(token, userId);
+    public long addEscrowToken(byte[] token, int userId,
+            @Nullable EscrowTokenStateChangeCallback callback) {
+        return getLockSettingsInternal().addEscrowToken(token, userId, callback);
+    }
+
+    /**
+     * Callback interface to notify when an added escrow token has been activated.
+     */
+    public interface EscrowTokenStateChangeCallback {
+        /**
+         * The method to be called when the token is activated.
+         * @param handle 64 bit handle corresponding to the escrow token
+         * @param userid user for whom the escrow token has been added
+         */
+        void onEscrowTokenActivated(long handle, int userid);
     }
 
     /**
@@ -1967,6 +1980,18 @@
     }
 
     /**
+     * Returns whether the given user has pending escrow tokens
+     */
+    public boolean hasPendingEscrowToken(int userId) {
+        try {
+            return getLockSettings().hasPendingEscrowToken(userId);
+        } catch (RemoteException e) {
+            e.rethrowFromSystemServer();
+        }
+        return false;
+    }
+
+    /**
      * Return true if the device supports the lock screen feature, false otherwise.
      */
     public boolean hasSecureLockScreen() {
diff --git a/core/java/com/android/internal/widget/LockSettingsInternal.java b/core/java/com/android/internal/widget/LockSettingsInternal.java
index 90397df..d459bfb 100644
--- a/core/java/com/android/internal/widget/LockSettingsInternal.java
+++ b/core/java/com/android/internal/widget/LockSettingsInternal.java
@@ -29,15 +29,18 @@
      * or change user password.
      *
      * After adding, if the user currently has lockscreen password, he will need to perform a
-     * confirm credential operation in order to activate the token for future use. If the user
+     * confirm credential operation in order to activate the token for future use.
+     * Once the token is activated, the callback that is passed here is called.   If the user
      * has no secure lockscreen, then the token is activated immediately.
      *
      * @return a unique 64-bit token handle which is needed to refer to this token later.
      */
-    public abstract long addEscrowToken(byte[] token, int userId);
+    public abstract long addEscrowToken(byte[] token, int userId,
+            LockPatternUtils.EscrowTokenStateChangeCallback callback);
 
     /**
      * Remove an escrow token.
+     *
      * @return true if the given handle refers to a valid token previously returned from
      * {@link #addEscrowToken}, whether it's active or not. return false otherwise.
      */
@@ -51,6 +54,7 @@
 
     /**
      * Set the lock credential.
+     *
      * @return true if password is set.
      */
     public abstract boolean setLockCredentialWithToken(byte[] credential, int type,
diff --git a/core/java/com/android/internal/widget/MediaNotificationView.java b/core/java/com/android/internal/widget/MediaNotificationView.java
index 498bc5a..e7d240a 100644
--- a/core/java/com/android/internal/widget/MediaNotificationView.java
+++ b/core/java/com/android/internal/widget/MediaNotificationView.java
@@ -19,6 +19,7 @@
 import android.annotation.Nullable;
 import android.content.Context;
 import android.util.AttributeSet;
+import android.view.NotificationHeaderView;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
@@ -37,7 +38,7 @@
     private final int mNotificationContentImageMarginEnd;
     private ImageView mRightIcon;
     private View mActions;
-    private View mHeader;
+    private NotificationHeaderView mHeader;
     private View mMainColumn;
     private View mMediaContent;
     private int mImagePushIn;
@@ -94,7 +95,14 @@
                 mMainColumn.setLayoutParams(params);
                 reMeasure = true;
             }
-            int headerMarginEnd = size + imageEndMargin;
+            // margin for the entire header line
+            int headerMarginEnd = imageEndMargin;
+            // margin for the header text (not including the expand button and other icons)
+            int headerTextMarginEnd = size + imageEndMargin;
+            if (headerTextMarginEnd != mHeader.getHeaderTextMarginEnd()) {
+                mHeader.setHeaderTextMarginEnd(headerTextMarginEnd);
+                reMeasure = true;
+            }
             params = (MarginLayoutParams) mHeader.getLayoutParams();
             if (params.getMarginEnd() != headerMarginEnd) {
                 params.setMarginEnd(headerMarginEnd);
@@ -118,6 +126,9 @@
     protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
         super.onLayout(changed, left, top, right, bottom);
         if (mImagePushIn > 0) {
+            if (this.getLayoutDirection() == View.LAYOUT_DIRECTION_RTL) {
+                mImagePushIn *= -1;
+            }
             mRightIcon.layout(mRightIcon.getLeft() + mImagePushIn, mRightIcon.getTop(),
                     mRightIcon.getRight()  + mImagePushIn, mRightIcon.getBottom());
         }
diff --git a/core/java/com/android/internal/widget/ResolverDrawerLayout.java b/core/java/com/android/internal/widget/ResolverDrawerLayout.java
index ee8637d8..9722fcb 100644
--- a/core/java/com/android/internal/widget/ResolverDrawerLayout.java
+++ b/core/java/com/android/internal/widget/ResolverDrawerLayout.java
@@ -502,6 +502,7 @@
                         new LogMaker(MetricsEvent.ACTION_SHARESHEET_COLLAPSED_CHANGED)
                         .setSubtype(isCollapsedNew ? 1 : 0));
             }
+            onScrollChanged(0, (int) newPos, 0, (int) (newPos - dy));
             postInvalidateOnAnimation();
             return dy;
         }
diff --git a/core/java/com/android/internal/widget/ViewPager.java b/core/java/com/android/internal/widget/ViewPager.java
index 64bdc6e..f48b56d7 100644
--- a/core/java/com/android/internal/widget/ViewPager.java
+++ b/core/java/com/android/internal/widget/ViewPager.java
@@ -46,6 +46,7 @@
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.view.accessibility.AccessibilityNodeInfo.AccessibilityAction;
 import android.view.animation.Interpolator;
+import android.view.inspector.InspectableProperty;
 import android.widget.EdgeEffect;
 import android.widget.Scroller;
 
@@ -2779,6 +2780,9 @@
          * Where to position the view page within the overall ViewPager
          * container; constants are defined in {@link android.view.Gravity}.
          */
+        @InspectableProperty(
+                name = "layout_gravity",
+                valueType = InspectableProperty.ValueType.GRAVITY)
         public int gravity;
 
         /**
diff --git a/core/java/com/android/server/SystemConfig.java b/core/java/com/android/server/SystemConfig.java
index 958bb18..561dcad 100644
--- a/core/java/com/android/server/SystemConfig.java
+++ b/core/java/com/android/server/SystemConfig.java
@@ -938,6 +938,7 @@
                         } else {
                             mBugreportWhitelistedPackages.add(pkgname);
                         }
+                        XmlUtils.skipCurrentTag(parser);
                     } break;
                     default: {
                         Slog.w(TAG, "Tag " + name + " is unknown in "
diff --git a/core/java/com/android/server/net/OWNERS b/core/java/com/android/server/net/OWNERS
index 7311eee..d3836d4 100644
--- a/core/java/com/android/server/net/OWNERS
+++ b/core/java/com/android/server/net/OWNERS
@@ -1,8 +1,8 @@
 set noparent
 
 codewiz@google.com
-ek@google.com
 jchalard@google.com
+junyulai@google.com
 lorenzo@google.com
 reminv@google.com
 satk@google.com
diff --git a/core/jni/android/graphics/AnimatedImageDrawable.cpp b/core/jni/android/graphics/AnimatedImageDrawable.cpp
index 8dd5f5f..1290026 100644
--- a/core/jni/android/graphics/AnimatedImageDrawable.cpp
+++ b/core/jni/android/graphics/AnimatedImageDrawable.cpp
@@ -35,14 +35,14 @@
 // Note: jpostProcess holds a handle to the ImageDecoder.
 static jlong AnimatedImageDrawable_nCreate(JNIEnv* env, jobject /*clazz*/,
                                            jlong nativeImageDecoder, jobject jpostProcess,
-                                           jint width, jint height, jobject jsubset) {
+                                           jint width, jint height, jlong colorSpaceHandle,
+                                           jboolean extended, jobject jsubset) {
     if (nativeImageDecoder == 0) {
         doThrowIOE(env, "Cannot create AnimatedImageDrawable from null!");
         return 0;
     }
 
     auto* imageDecoder = reinterpret_cast<ImageDecoder*>(nativeImageDecoder);
-    const SkISize scaledSize = SkISize::Make(width, height);
     SkIRect subset;
     if (jsubset) {
         GraphicsJNI::jrect_to_irect(env, jsubset, &subset);
@@ -50,15 +50,8 @@
         subset = SkIRect::MakeWH(width, height);
     }
 
-    auto info = imageDecoder->mCodec->getInfo();
     bool hasRestoreFrame = false;
-    if (imageDecoder->mCodec->getEncodedFormat() == SkEncodedImageFormat::kWEBP) {
-        if (width < info.width() && height < info.height()) {
-            // WebP will scale its SkBitmap to the scaled size.
-            // FIXME: b/73529447 GIF should do the same.
-            info = info.makeWH(width, height);
-        }
-    } else {
+    if (imageDecoder->mCodec->getEncodedFormat() != SkEncodedImageFormat::kWEBP) {
         const int frameCount = imageDecoder->mCodec->codec()->getFrameCount();
         for (int i = 0; i < frameCount; ++i) {
             SkCodec::FrameInfo frameInfo;
@@ -73,6 +66,12 @@
         }
     }
 
+    auto info = imageDecoder->mCodec->getInfo().makeWH(width, height)
+        .makeColorSpace(GraphicsJNI::getNativeColorSpace(colorSpaceHandle));
+    if (extended) {
+        info = info.makeColorType(kRGBA_F16_SkColorType);
+    }
+
     size_t bytesUsed = info.computeMinByteSize();
     // SkAnimatedImage has one SkBitmap for decoding, plus an extra one if there is a
     // kRestorePrevious frame. AnimatedImageDrawable has two SkPictures storing the current
@@ -96,7 +95,7 @@
 
 
     sk_sp<SkAnimatedImage> animatedImg = SkAnimatedImage::Make(std::move(imageDecoder->mCodec),
-                                                               scaledSize, subset,
+                                                               info, subset,
                                                                std::move(picture));
     if (!animatedImg) {
         doThrowIOE(env, "Failed to create drawable");
@@ -246,7 +245,7 @@
 }
 
 static const JNINativeMethod gAnimatedImageDrawableMethods[] = {
-    { "nCreate",             "(JLandroid/graphics/ImageDecoder;IILandroid/graphics/Rect;)J", (void*) AnimatedImageDrawable_nCreate },
+    { "nCreate",             "(JLandroid/graphics/ImageDecoder;IIJZLandroid/graphics/Rect;)J",(void*) AnimatedImageDrawable_nCreate },
     { "nGetNativeFinalizer", "()J",                                                          (void*) AnimatedImageDrawable_nGetNativeFinalizer },
     { "nDraw",               "(JJ)J",                                                        (void*) AnimatedImageDrawable_nDraw },
     { "nSetAlpha",           "(JI)V",                                                        (void*) AnimatedImageDrawable_nSetAlpha },
diff --git a/core/jni/android/graphics/Bitmap.cpp b/core/jni/android/graphics/Bitmap.cpp
index 8f00759..e0b7629 100755
--- a/core/jni/android/graphics/Bitmap.cpp
+++ b/core/jni/android/graphics/Bitmap.cpp
@@ -206,13 +206,14 @@
     // The caller needs to have already set the alpha type properly, so the
     // native SkBitmap stays in sync with the Java Bitmap.
     assert_premultiplied(bitmap->info(), isPremultiplied);
+    bool fromMalloc = bitmap->pixelStorageType() == PixelStorageType::Heap;
     BitmapWrapper* bitmapWrapper = new BitmapWrapper(bitmap);
     if (!isMutable) {
         bitmapWrapper->bitmap().setImmutable();
     }
     jobject obj = env->NewObject(gBitmap_class, gBitmap_constructorMethodID,
             reinterpret_cast<jlong>(bitmapWrapper), bitmap->width(), bitmap->height(), density,
-            isPremultiplied, ninePatchChunk, ninePatchInsets);
+            isPremultiplied, ninePatchChunk, ninePatchInsets, fromMalloc);
 
     if (env->ExceptionCheck() != 0) {
         ALOGE("*** Uncaught exception returned from Java call!\n");
@@ -1224,7 +1225,7 @@
 {
     gBitmap_class = MakeGlobalRefOrDie(env, FindClassOrDie(env, "android/graphics/Bitmap"));
     gBitmap_nativePtr = GetFieldIDOrDie(env, gBitmap_class, "mNativePtr", "J");
-    gBitmap_constructorMethodID = GetMethodIDOrDie(env, gBitmap_class, "<init>", "(JIIIZ[BLandroid/graphics/NinePatch$InsetStruct;)V");
+    gBitmap_constructorMethodID = GetMethodIDOrDie(env, gBitmap_class, "<init>", "(JIIIZ[BLandroid/graphics/NinePatch$InsetStruct;Z)V");
     gBitmap_reinitMethodID = GetMethodIDOrDie(env, gBitmap_class, "reinit", "(IIZ)V");
     gBitmap_getAllocationByteCountMethodID = GetMethodIDOrDie(env, gBitmap_class, "getAllocationByteCount", "()I");
     return android::RegisterMethodsOrDie(env, "android/graphics/Bitmap", gBitmapMethods,
diff --git a/core/jni/android/graphics/BitmapFactory.cpp b/core/jni/android/graphics/BitmapFactory.cpp
index 4ba4540..47b1548 100644
--- a/core/jni/android/graphics/BitmapFactory.cpp
+++ b/core/jni/android/graphics/BitmapFactory.cpp
@@ -507,18 +507,9 @@
                 ninePatchChunk, ninePatchInsets, -1);
     }
 
-    // Speculative fix for b/112551574. It doesn't seem like |b| can be null. If it is, print some
-    // info that might be helpful to diagnose.
-    Bitmap* b = defaultAllocator.getStorageObjAndReset();
-    if (!b) {
-        ALOGW("defaultAllocator has no storage object!");
-        ALOGW("\tjavaBitmap: %s", (javaBitmap == nullptr ? "null" : "present"));
-        ALOGW("\tisHardware: %s", (isHardware ? "true" : "false"));
-        ALOGW("\twillScale: %s", (willScale ? "true" : "false"));
-        return nullptr;
-    }
     // now create the java bitmap
-    return bitmap::createBitmap(env, b, bitmapCreateFlags, ninePatchChunk, ninePatchInsets, -1);
+    return bitmap::createBitmap(env, defaultAllocator.getStorageObjAndReset(),
+            bitmapCreateFlags, ninePatchChunk, ninePatchInsets, -1);
 }
 
 static jobject nativeDecodeStream(JNIEnv* env, jobject clazz, jobject is, jbyteArray storage,
diff --git a/core/jni/android/graphics/HarfBuzzNGFaceSkia.h b/core/jni/android/graphics/HarfBuzzNGFaceSkia.h
deleted file mode 100644
index 3308d5d..0000000
--- a/core/jni/android/graphics/HarfBuzzNGFaceSkia.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright 2011, The Android Open Source Project
- * Copyright 2011, Google Inc. All rights reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *  * Redistributions of source code must retain the above copyright
- *    notice, this list of conditions and the following disclaimer.
- *  * Redistributions in binary form must reproduce the above copyright
- *    notice, this list of conditions and the following disclaimer in the
- *    documentation and/or other materials provided with the distribution.
- *
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS ``AS IS'' AND ANY
- * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR
- * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
- * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
- * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
- * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
- * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
- * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
- */
-
-#ifndef _ANDROID_GRAPHICS_HARF_BUZZ_NG_FACE_SKIA_H_
-#define _ANDROID_GRAPHICS_HARF_BUZZ_NG_FACE_SKIA_H_
-
-#include <SkScalar.h>
-#include <SkPaint.h>
-
-#include <hb.h>
-
-namespace android {
-
-static inline float
-HBFixedToFloat (hb_position_t v)
-{
-    return scalbnf (v, -8);
-}
-
-static inline hb_position_t
-HBFloatToFixed (float v)
-{
-    return scalbnf (v, +8);
-}
-
-static inline hb_position_t SkScalarToHBFixed(SkScalar value) {
-    return HBFloatToFixed(SkScalarToFloat(value));
-}
-
-hb_blob_t* harfbuzzSkiaReferenceTable(hb_face_t* face, hb_tag_t tag, void* userData);
-
-hb_font_t* createFont(hb_face_t* face, SkPaint* paint, float sizeX, float sizeY);
-
-}  // namespace android
-
-#endif  // _ANDROID_GRAPHICS_HARF_BUZZ_NG_FACE_SKIA_H_
diff --git a/core/jni/android/graphics/Paint.cpp b/core/jni/android/graphics/Paint.cpp
index 85f1159..cd5c734 100644
--- a/core/jni/android/graphics/Paint.cpp
+++ b/core/jni/android/graphics/Paint.cpp
@@ -723,13 +723,17 @@
         obj->setStyle(style);
     }
 
-    static void setColor(jlong paintHandle, jlong colorSpaceHandle,
-            jfloat r, jfloat g, jfloat b, jfloat a) {
+    static void setColorLong(jlong paintHandle, jlong colorSpaceHandle,
+            jlong colorLong) {
+        SkColor4f color = GraphicsJNI::convertColorLong(colorLong);
         sk_sp<SkColorSpace> cs = GraphicsJNI::getNativeColorSpace(colorSpaceHandle);
-        SkColor4f color = SkColor4f{r, g, b, a};
         reinterpret_cast<Paint*>(paintHandle)->setColor4f(color, cs.get());
     }
 
+    static void setColor(jlong paintHandle, jint color) {
+        reinterpret_cast<Paint*>(paintHandle)->setColor(color);
+    }
+
     static void setAlpha(jlong paintHandle, jint a) {
         reinterpret_cast<Paint*>(paintHandle)->setAlpha(a);
     }
@@ -923,14 +927,24 @@
         paint->setWordSpacing(wordSpacing);
     }
 
-    static jint getHyphenEdit(jlong paintHandle, jint hyphen) {
+    static jint getStartHyphenEdit(jlong paintHandle, jint hyphen) {
         Paint* paint = reinterpret_cast<Paint*>(paintHandle);
-        return paint->getHyphenEdit();
+        return static_cast<jint>(paint->getStartHyphenEdit());
     }
 
-    static void setHyphenEdit(jlong paintHandle, jint hyphen) {
+    static jint getEndHyphenEdit(jlong paintHandle, jint hyphen) {
         Paint* paint = reinterpret_cast<Paint*>(paintHandle);
-        paint->setHyphenEdit((uint32_t)hyphen);
+        return static_cast<jint>(paint->getEndHyphenEdit());
+    }
+
+    static void setStartHyphenEdit(jlong paintHandle, jint hyphen) {
+        Paint* paint = reinterpret_cast<Paint*>(paintHandle);
+        paint->setStartHyphenEdit((uint32_t)hyphen);
+    }
+
+    static void setEndHyphenEdit(jlong paintHandle, jint hyphen) {
+        Paint* paint = reinterpret_cast<Paint*>(paintHandle);
+        paint->setEndHyphenEdit((uint32_t)hyphen);
     }
 
     static jfloat ascent(jlong paintHandle) {
@@ -981,9 +995,9 @@
 
     static void setShadowLayer(jlong paintHandle, jfloat radius,
                                jfloat dx, jfloat dy, jlong colorSpaceHandle,
-                               jfloat r, jfloat g, jfloat b, jfloat a) {
+                               jlong colorLong) {
+        SkColor4f color = GraphicsJNI::convertColorLong(colorLong);
         sk_sp<SkColorSpace> cs = GraphicsJNI::getNativeColorSpace(colorSpaceHandle);
-        SkColor4f color = SkColor4f{r, g, b, a};
 
         Paint* paint = reinterpret_cast<Paint*>(paintHandle);
         if (radius <= 0) {
@@ -1072,7 +1086,8 @@
     {"nSetDither","(JZ)V", (void*) PaintGlue::setDither},
     {"nGetStyle","(J)I", (void*) PaintGlue::getStyle},
     {"nSetStyle","(JI)V", (void*) PaintGlue::setStyle},
-    {"nSetColor","(JJFFFF)V", (void*) PaintGlue::setColor},
+    {"nSetColor","(JI)V", (void*) PaintGlue::setColor},
+    {"nSetColor","(JJJ)V", (void*) PaintGlue::setColorLong},
     {"nSetAlpha","(JI)V", (void*) PaintGlue::setAlpha},
     {"nGetStrokeWidth","(J)F", (void*) PaintGlue::getStrokeWidth},
     {"nSetStrokeWidth","(JF)V", (void*) PaintGlue::setStrokeWidth},
@@ -1105,15 +1120,17 @@
     {"nSetLetterSpacing","(JF)V", (void*) PaintGlue::setLetterSpacing},
     {"nGetWordSpacing","(J)F", (void*) PaintGlue::getWordSpacing},
     {"nSetWordSpacing","(JF)V", (void*) PaintGlue::setWordSpacing},
-    {"nGetHyphenEdit", "(J)I", (void*) PaintGlue::getHyphenEdit},
-    {"nSetHyphenEdit", "(JI)V", (void*) PaintGlue::setHyphenEdit},
+    {"nGetStartHyphenEdit", "(J)I", (void*) PaintGlue::getStartHyphenEdit},
+    {"nGetEndHyphenEdit", "(J)I", (void*) PaintGlue::getEndHyphenEdit},
+    {"nSetStartHyphenEdit", "(JI)V", (void*) PaintGlue::setStartHyphenEdit},
+    {"nSetEndHyphenEdit", "(JI)V", (void*) PaintGlue::setEndHyphenEdit},
     {"nAscent","(J)F", (void*) PaintGlue::ascent},
     {"nDescent","(J)F", (void*) PaintGlue::descent},
     {"nGetUnderlinePosition","(J)F", (void*) PaintGlue::getUnderlinePosition},
     {"nGetUnderlineThickness","(J)F", (void*) PaintGlue::getUnderlineThickness},
     {"nGetStrikeThruPosition","(J)F", (void*) PaintGlue::getStrikeThruPosition},
     {"nGetStrikeThruThickness","(J)F", (void*) PaintGlue::getStrikeThruThickness},
-    {"nSetShadowLayer", "(JFFFJFFFF)V", (void*)PaintGlue::setShadowLayer},
+    {"nSetShadowLayer", "(JFFFJJ)V", (void*)PaintGlue::setShadowLayer},
     {"nHasShadowLayer", "(J)Z", (void*)PaintGlue::hasShadowLayer},
     {"nEqualsForTextMeasurement", "(JJ)Z", (void*)PaintGlue::equalsForTextMeasurement},
 };
diff --git a/core/jni/android/graphics/text/LineBreaker.cpp b/core/jni/android/graphics/text/LineBreaker.cpp
index c23f1e9..a23f99a 100644
--- a/core/jni/android/graphics/text/LineBreaker.cpp
+++ b/core/jni/android/graphics/text/LineBreaker.cpp
@@ -80,13 +80,13 @@
         jfloat firstWidth,
         jint firstWidthLineCount,
         jfloat restWidth,
-        jintArray variableTabStops,
-        jint defaultTabStop,
+        jfloatArray variableTabStops,
+        jfloat defaultTabStop,
         jint indentsOffset) {
     minikin::android::StaticLayoutNative* builder = toNative(nativePtr);
 
     ScopedCharArrayRO text(env, javaText);
-    ScopedNullableIntArrayRO tabStops(env, variableTabStops);
+    ScopedNullableFloatArrayRO tabStops(env, variableTabStops);
 
     minikin::U16StringPiece u16Text(text.get(), length);
     minikin::MeasuredText* measuredText = reinterpret_cast<minikin::MeasuredText*>(measuredTextPtr);
@@ -151,8 +151,8 @@
         "F"  // firstWidth
         "I"  // firstWidthLineCount
         "F"  // restWidth
-        "[I"  // variableTabStops
-        "I"  // defaultTabStop
+        "[F"  // variableTabStops
+        "F"  // defaultTabStop
         "I"  // indentsOffset
         ")J", (void*) nComputeLineBreaks},
 
diff --git a/core/jni/android_hardware_input_InputWindowHandle.cpp b/core/jni/android_hardware_input_InputWindowHandle.cpp
index eb71052..a1d1d4f 100644
--- a/core/jni/android_hardware_input_InputWindowHandle.cpp
+++ b/core/jni/android_hardware_input_InputWindowHandle.cpp
@@ -31,6 +31,11 @@
 
 namespace android {
 
+struct WeakRefHandleField {
+    jfieldID handle;
+    jmethodID get;
+};
+
 static struct {
     jfieldID ptr;
     jfieldID inputApplicationHandle;
@@ -57,6 +62,8 @@
     jfieldID inputFeatures;
     jfieldID displayId;
     jfieldID portalToDisplayId;
+    jfieldID replaceTouchableRegionWithCrop;
+    WeakRefHandleField touchableRegionCropHandle;
 } gInputWindowHandleClassInfo;
 
 static Mutex gHandleMutex;
@@ -90,6 +97,7 @@
     jobject tokenObj = env->GetObjectField(obj, gInputWindowHandleClassInfo.token);
     if (tokenObj) {
         mInfo.token = ibinderForJavaObject(env, tokenObj);
+        env->DeleteLocalRef(tokenObj);
     } else {
         mInfo.token.clear();
     }
@@ -161,6 +169,24 @@
         env->DeleteLocalRef(inputApplicationHandleObj);
     }
 
+    mInfo.replaceTouchableRegionWithCrop = env->GetBooleanField(obj,
+            gInputWindowHandleClassInfo.replaceTouchableRegionWithCrop);
+
+    jobject handleObj = env->GetObjectField(obj,
+            gInputWindowHandleClassInfo.touchableRegionCropHandle.handle);
+    if (handleObj) {
+        // Promote java weak reference.
+        jobject strongHandleObj = env->CallObjectMethod(handleObj,
+                gInputWindowHandleClassInfo.touchableRegionCropHandle.get);
+        if (strongHandleObj) {
+            mInfo.touchableRegionCropHandle = ibinderForJavaObject(env, strongHandleObj);
+            env->DeleteLocalRef(strongHandleObj);
+        } else {
+            mInfo.touchableRegionCropHandle.clear();
+        }
+        env->DeleteLocalRef(handleObj);
+    }
+
     env->DeleteLocalRef(obj);
     return true;
 }
@@ -220,6 +246,10 @@
         var = env->GetFieldID(clazz, fieldName, fieldDescriptor); \
         LOG_FATAL_IF(! (var), "Unable to find field " fieldName);
 
+#define GET_METHOD_ID(var, clazz, methodName, methodSignature) \
+        var = env->GetMethodID(clazz, methodName, methodSignature); \
+        LOG_FATAL_IF(! (var), "Unable to find method " methodName);
+
 int register_android_view_InputWindowHandle(JNIEnv* env) {
     int res = jniRegisterNativeMethods(env, "android/view/InputWindowHandle",
             gInputWindowHandleMethods, NELEM(gInputWindowHandleMethods));
@@ -303,6 +333,18 @@
 
     GET_FIELD_ID(gInputWindowHandleClassInfo.portalToDisplayId, clazz,
             "portalToDisplayId", "I");
+
+    GET_FIELD_ID(gInputWindowHandleClassInfo.replaceTouchableRegionWithCrop, clazz,
+            "replaceTouchableRegionWithCrop", "Z");
+
+    jclass weakRefClazz;
+    FIND_CLASS(weakRefClazz, "java/lang/ref/Reference");
+
+    GET_METHOD_ID(gInputWindowHandleClassInfo.touchableRegionCropHandle.get, weakRefClazz,
+             "get", "()Ljava/lang/Object;")
+
+    GET_FIELD_ID(gInputWindowHandleClassInfo.touchableRegionCropHandle.handle, clazz,
+            "touchableRegionCropHandle", "Ljava/lang/ref/WeakReference;");
     return 0;
 }
 
diff --git a/core/jni/android_view_CompositionSamplingListener.cpp b/core/jni/android_view_CompositionSamplingListener.cpp
index 283ba0d..7141e6e 100644
--- a/core/jni/android_view_CompositionSamplingListener.cpp
+++ b/core/jni/android_view_CompositionSamplingListener.cpp
@@ -28,6 +28,7 @@
 
 #include <gui/IRegionSamplingListener.h>
 #include <gui/ISurfaceComposer.h>
+#include <gui/SurfaceComposerClient.h>
 #include <ui/Rect.h>
 
 namespace android {
@@ -83,28 +84,22 @@
     sp<CompositionSamplingListener> listener = reinterpret_cast<CompositionSamplingListener*>(ptr);
     sp<IBinder> stopLayerHandle = ibinderForJavaObject(env, stopLayerTokenObj);
 
-    // TODO: Use SurfaceComposerClient once it has addRegionSamplingListener.
-    sp<ISurfaceComposer> composer;
-    if (getService(String16("SurfaceFlinger"), &composer) != NO_ERROR) {
-        jniThrowRuntimeException(env, "Couldn't retrieve SurfaceFlinger");
-        return;
+    if (SurfaceComposerClient::addRegionSamplingListener(
+            Rect(left, top, right, bottom), stopLayerHandle, listener) != OK) {
+        constexpr auto error_msg = "Couldn't addRegionSamplingListener";
+        ALOGE(error_msg);
+        jniThrowRuntimeException(env, error_msg);
     }
-
-    composer->addRegionSamplingListener(
-            Rect(left, top, right, bottom), stopLayerHandle, listener);
 }
 
 void nativeUnregister(JNIEnv* env, jclass clazz, jlong ptr) {
     sp<CompositionSamplingListener> listener = reinterpret_cast<CompositionSamplingListener*>(ptr);
 
-    // TODO: Use SurfaceComposerClient once it has addRegionSamplingListener.
-    sp<ISurfaceComposer> composer;
-    if (getService(String16("SurfaceFlinger"), &composer) != NO_ERROR) {
-        jniThrowRuntimeException(env, "Couldn't retrieve SurfaceFlinger");
-        return;
+    if (SurfaceComposerClient::removeRegionSamplingListener(listener) != OK) {
+        constexpr auto error_msg = "Couldn't removeRegionSamplingListener";
+        ALOGE(error_msg);
+        jniThrowRuntimeException(env, error_msg);
     }
-
-    composer->removeRegionSamplingListener(listener);
 }
 
 const JNINativeMethod gMethods[] = {
diff --git a/core/jni/android_view_RenderNode.cpp b/core/jni/android_view_RenderNode.cpp
index ce5512b..c4c16ee 100644
--- a/core/jni/android_view_RenderNode.cpp
+++ b/core/jni/android_view_RenderNode.cpp
@@ -31,6 +31,7 @@
 #include <renderthread/CanvasContext.h>
 #include <TreeInfo.h>
 #include <hwui/Paint.h>
+#include <utils/TraceUtils.h>
 
 #include "core_jni_helpers.h"
 
@@ -338,6 +339,19 @@
     return renderNode->stagingProperties().hasOverlappingRendering();
 }
 
+static jboolean android_view_RenderNode_getAnimationMatrix(jlong renderNodePtr, jlong outMatrixPtr) {
+    RenderNode* renderNode = reinterpret_cast<RenderNode*>(renderNodePtr);
+    SkMatrix* outMatrix = reinterpret_cast<SkMatrix*>(outMatrixPtr);
+
+    const SkMatrix* animationMatrix = renderNode->stagingProperties().getAnimationMatrix();
+
+    if (animationMatrix) {
+        *outMatrix = *animationMatrix;
+        return JNI_TRUE;
+    }
+    return JNI_FALSE;
+}
+
 static jboolean android_view_RenderNode_getClipToBounds(jlong renderNodePtr) {
     RenderNode* renderNode = reinterpret_cast<RenderNode*>(renderNodePtr);
     return renderNode->stagingProperties().getClipToBounds();
@@ -649,6 +663,7 @@
     { "nSetLayerPaint",        "(JJ)Z",  (void*) android_view_RenderNode_setLayerPaint },
     { "nSetStaticMatrix",      "(JJ)Z",  (void*) android_view_RenderNode_setStaticMatrix },
     { "nSetAnimationMatrix",   "(JJ)Z",  (void*) android_view_RenderNode_setAnimationMatrix },
+    { "nGetAnimationMatrix",   "(JJ)Z",  (void*) android_view_RenderNode_getAnimationMatrix },
     { "nSetClipToBounds",      "(JZ)Z",  (void*) android_view_RenderNode_setClipToBounds },
     { "nGetClipToBounds",      "(J)Z",   (void*) android_view_RenderNode_getClipToBounds },
     { "nSetClipBounds",        "(JIIII)Z", (void*) android_view_RenderNode_setClipBounds },
diff --git a/core/jni/android_view_SurfaceControl.cpp b/core/jni/android_view_SurfaceControl.cpp
index af2bf2d..4a6c72b 100644
--- a/core/jni/android_view_SurfaceControl.cpp
+++ b/core/jni/android_view_SurfaceControl.cpp
@@ -463,6 +463,13 @@
     transaction->setColorTransform(surfaceControl, matrix, translation);
 }
 
+static void nativeSetColorSpaceAgnostic(JNIEnv* env, jclass clazz, jlong transactionObj,
+        jlong nativeObject, jboolean agnostic) {
+    auto transaction = reinterpret_cast<SurfaceComposerClient::Transaction*>(transactionObj);
+    SurfaceControl* const surfaceControl = reinterpret_cast<SurfaceControl*>(nativeObject);
+    transaction->setColorSpaceAgnostic(surfaceControl, agnostic);
+}
+
 static void nativeSetWindowCrop(JNIEnv* env, jclass clazz, jlong transactionObj,
         jlong nativeObject,
         jint l, jint t, jint r, jint b) {
@@ -1157,6 +1164,25 @@
     }
 }
 
+static jboolean nativeGetDisplayBrightnessSupport(JNIEnv* env, jclass clazz,
+        jobject displayTokenObject) {
+    sp<IBinder> displayToken(ibinderForJavaObject(env, displayTokenObject));
+    if (displayToken == nullptr) {
+        return JNI_FALSE;
+    }
+    return static_cast<jboolean>(SurfaceComposerClient::getDisplayBrightnessSupport(displayToken));
+}
+
+static jboolean nativeSetDisplayBrightness(JNIEnv* env, jclass clazz, jobject displayTokenObject,
+        jfloat brightness) {
+    sp<IBinder> displayToken(ibinderForJavaObject(env, displayTokenObject));
+    if (displayToken == nullptr) {
+        return JNI_FALSE;
+    }
+    status_t error = SurfaceComposerClient::setDisplayBrightness(displayToken, brightness);
+    return error == OK ? JNI_TRUE : JNI_FALSE;
+}
+
 // ----------------------------------------------------------------------------
 
 static const JNINativeMethod sSurfaceControlMethods[] = {
@@ -1206,6 +1232,8 @@
             (void*)nativeSetMatrix },
     {"nativeSetColorTransform", "(JJ[F[F)V",
             (void*)nativeSetColorTransform },
+    {"nativeSetColorSpaceAgnostic", "(JJZ)V",
+            (void*)nativeSetColorSpaceAgnostic },
     {"nativeSetFlags", "(JJII)V",
             (void*)nativeSetFlags },
     {"nativeSetWindowCrop", "(JJIIII)V",
@@ -1299,7 +1327,11 @@
     {"nativeSetGeometry", "(JJLandroid/graphics/Rect;Landroid/graphics/Rect;J)V",
             (void*)nativeSetGeometry },
     {"nativeSyncInputWindows", "(J)V",
-            (void*)nativeSyncInputWindows }
+            (void*)nativeSyncInputWindows },
+    {"nativeGetDisplayBrightnessSupport", "(Landroid/os/IBinder;)Z",
+            (void*)nativeGetDisplayBrightnessSupport },
+    {"nativeSetDisplayBrightness", "(Landroid/os/IBinder;F)Z",
+            (void*)nativeSetDisplayBrightness },
 };
 
 int register_android_view_SurfaceControl(JNIEnv* env)
diff --git a/core/jni/com_android_internal_content_NativeLibraryHelper.cpp b/core/jni/com_android_internal_content_NativeLibraryHelper.cpp
index dc536b2..be82879 100644
--- a/core/jni/com_android_internal_content_NativeLibraryHelper.cpp
+++ b/core/jni/com_android_internal_content_NativeLibraryHelper.cpp
@@ -187,20 +187,20 @@
     off64_t offset;
 
     if (!zipFile->getEntryInfo(zipEntry, &method, &uncompLen, NULL, &offset, &when, &crc)) {
-        ALOGD("Couldn't read zip entry info\n");
+        ALOGE("Couldn't read zip entry info\n");
         return INSTALL_FAILED_INVALID_APK;
     }
 
     if (!extractNativeLibs) {
         // check if library is uncompressed and page-aligned
         if (method != ZipFileRO::kCompressStored) {
-            ALOGD("Library '%s' is compressed - will not be able to open it directly from apk.\n",
+            ALOGE("Library '%s' is compressed - will not be able to open it directly from apk.\n",
                 fileName);
             return INSTALL_FAILED_INVALID_APK;
         }
 
         if (offset % PAGE_SIZE != 0) {
-            ALOGD("Library '%s' is not page-aligned - will not be able to open it directly from"
+            ALOGE("Library '%s' is not page-aligned - will not be able to open it directly from"
                 " apk.\n", fileName);
             return INSTALL_FAILED_INVALID_APK;
         }
@@ -213,7 +213,7 @@
     char localFileName[nativeLibPath.size() + fileNameLen + 2];
 
     if (strlcpy(localFileName, nativeLibPath.c_str(), sizeof(localFileName)) != nativeLibPath.size()) {
-        ALOGD("Couldn't allocate local file name for library");
+        ALOGE("Couldn't allocate local file name for library");
         return INSTALL_FAILED_INTERNAL_ERROR;
     }
 
@@ -221,7 +221,7 @@
 
     if (strlcpy(localFileName + nativeLibPath.size() + 1, fileName, sizeof(localFileName)
                     - nativeLibPath.size() - 1) != fileNameLen) {
-        ALOGD("Couldn't allocate local file name for library");
+        ALOGE("Couldn't allocate local file name for library");
         return INSTALL_FAILED_INTERNAL_ERROR;
     }
 
@@ -237,24 +237,24 @@
     char localTmpFileName[nativeLibPath.size() + TMP_FILE_PATTERN_LEN + 1];
     if (strlcpy(localTmpFileName, nativeLibPath.c_str(), sizeof(localTmpFileName))
             != nativeLibPath.size()) {
-        ALOGD("Couldn't allocate local file name for library");
+        ALOGE("Couldn't allocate local file name for library");
         return INSTALL_FAILED_INTERNAL_ERROR;
     }
 
     if (strlcpy(localTmpFileName + nativeLibPath.size(), TMP_FILE_PATTERN,
                     TMP_FILE_PATTERN_LEN + 1) != TMP_FILE_PATTERN_LEN) {
-        ALOGI("Couldn't allocate temporary file name for library");
+        ALOGE("Couldn't allocate temporary file name for library");
         return INSTALL_FAILED_INTERNAL_ERROR;
     }
 
     int fd = mkstemp(localTmpFileName);
     if (fd < 0) {
-        ALOGI("Couldn't open temporary file name: %s: %s\n", localTmpFileName, strerror(errno));
+        ALOGE("Couldn't open temporary file name: %s: %s\n", localTmpFileName, strerror(errno));
         return INSTALL_FAILED_CONTAINER_ERROR;
     }
 
     if (!zipFile->uncompressEntry(zipEntry, fd)) {
-        ALOGI("Failed uncompressing %s to %s\n", fileName, localTmpFileName);
+        ALOGE("Failed uncompressing %s to %s\n", fileName, localTmpFileName);
         close(fd);
         unlink(localTmpFileName);
         return INSTALL_FAILED_CONTAINER_ERROR;
@@ -268,7 +268,7 @@
     times[1].tv_sec = modTime;
     times[0].tv_usec = times[1].tv_usec = 0;
     if (utimes(localTmpFileName, times) < 0) {
-        ALOGI("Couldn't change modification time on %s: %s\n", localTmpFileName, strerror(errno));
+        ALOGE("Couldn't change modification time on %s: %s\n", localTmpFileName, strerror(errno));
         unlink(localTmpFileName);
         return INSTALL_FAILED_CONTAINER_ERROR;
     }
@@ -276,14 +276,14 @@
     // Set the mode to 755
     static const mode_t mode = S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP |  S_IXGRP | S_IROTH | S_IXOTH;
     if (chmod(localTmpFileName, mode) < 0) {
-        ALOGI("Couldn't change permissions on %s: %s\n", localTmpFileName, strerror(errno));
+        ALOGE("Couldn't change permissions on %s: %s\n", localTmpFileName, strerror(errno));
         unlink(localTmpFileName);
         return INSTALL_FAILED_CONTAINER_ERROR;
     }
 
     // Finally, rename it to the final name.
     if (rename(localTmpFileName, localFileName) < 0) {
-        ALOGI("Couldn't rename %s to %s: %s\n", localTmpFileName, localFileName, strerror(errno));
+        ALOGE("Couldn't rename %s to %s: %s\n", localTmpFileName, localFileName, strerror(errno));
         unlink(localTmpFileName);
         return INSTALL_FAILED_CONTAINER_ERROR;
     }
diff --git a/core/jni/com_android_internal_os_ClassLoaderFactory.cpp b/core/jni/com_android_internal_os_ClassLoaderFactory.cpp
index 9ce3289..f8d41e4 100644
--- a/core/jni/com_android_internal_os_ClassLoaderFactory.cpp
+++ b/core/jni/com_android_internal_os_ClassLoaderFactory.cpp
@@ -28,16 +28,16 @@
                                               jstring librarySearchPath,
                                               jstring libraryPermittedPath,
                                               jboolean isShared,
-                                              jboolean isForVendor) {
+                                              jstring dexPath) {
     return android::CreateClassLoaderNamespace(env, targetSdkVersion,
                                                classLoader, isShared == JNI_TRUE,
-                                               isForVendor == JNI_TRUE,
+                                               dexPath,
                                                librarySearchPath, libraryPermittedPath);
 }
 
 static const JNINativeMethod g_methods[] = {
     { "createClassloaderNamespace",
-      "(Ljava/lang/ClassLoader;ILjava/lang/String;Ljava/lang/String;ZZ)Ljava/lang/String;",
+      "(Ljava/lang/ClassLoader;ILjava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Ljava/lang/String;",
       reinterpret_cast<void*>(createClassloaderNamespace_native) },
 };
 
diff --git a/core/jni/com_android_internal_os_Zygote.cpp b/core/jni/com_android_internal_os_Zygote.cpp
index c6f62ca..cde1884 100644
--- a/core/jni/com_android_internal_os_Zygote.cpp
+++ b/core/jni/com_android_internal_os_Zygote.cpp
@@ -24,6 +24,7 @@
 #endif
 
 #define LOG_TAG "Zygote"
+#define ATRACE_TAG ATRACE_TAG_DALVIK
 
 #include <async_safe/log.h>
 
@@ -73,6 +74,7 @@
 #include <cutils/multiuser.h>
 #include <private/android_filesystem_config.h>
 #include <utils/String8.h>
+#include <utils/Trace.h>
 #include <selinux/android.h>
 #include <seccomp_policy.h>
 #include <stats_event_list.h>
@@ -111,11 +113,16 @@
 
 static const char kIsolatedStorage[] = "persist.sys.isolated_storage";
 static const char kIsolatedStorageSnapshot[] = "sys.isolated_storage_snapshot";
-static const char kZygoteClassName[] = "com/android/internal/os/Zygote";
+
+static constexpr const char* kZygoteClassName = "com/android/internal/os/Zygote";
 static jclass gZygoteClass;
 static jmethodID gCallPostForkSystemServerHooks;
 static jmethodID gCallPostForkChildHooks;
 
+static constexpr const char* kZygoteInitClassName = "com/android/internal/os/ZygoteInit";
+static jclass gZygoteInitClass;
+static jmethodID gCreateSystemServerClassLoader;
+
 static bool g_is_security_enforced = true;
 
 /**
@@ -352,7 +359,7 @@
   }
 
   if (usaps_removed > 0) {
-    if (write(gUsapPoolEventFD, &usaps_removed, sizeof(usaps_removed)) == -1) {
+    if (TEMP_FAILURE_RETRY(write(gUsapPoolEventFD, &usaps_removed, sizeof(usaps_removed))) == -1) {
       // If this write fails something went terribly wrong.  We will now kill
       // the zygote and let the system bring it back up.
       async_safe_format_log(ANDROID_LOG_ERROR, LOG_TAG,
@@ -585,6 +592,8 @@
 }
 
 static int UnmountTree(const char* path) {
+  ATRACE_CALL();
+
   size_t path_len = strlen(path);
 
   FILE* fp = setmntent("/proc/mounts", "r");
@@ -627,6 +636,8 @@
 }
 
 static void CreatePkgSandboxTarget(userid_t user_id, fail_fn_t fail_fn) {
+  ATRACE_CALL();
+
   // Create /mnt/user/0/package
   std::string pkg_sandbox_dir = StringPrintf("/mnt/user/%d", user_id);
   CreateDir(pkg_sandbox_dir, 0751, AID_ROOT, AID_ROOT, fail_fn);
@@ -650,6 +661,8 @@
                                 uid_t uid,
                                 const char* dir_name,
                                 fail_fn_t fail_fn) {
+  ATRACE_CALL();
+
   std::string mnt_source_dir = StringPrintf("%s/Android/%s/%s",
       mnt_source_root.c_str(), dir_name, package_name.c_str());
 
@@ -662,6 +675,8 @@
 static void CreateSubDirs(int parent_fd, const std::string& parent_path,
                           const std::vector<std::string>& sub_dirs,
                           fail_fn_t fail_fn) {
+  ATRACE_CALL();
+
   for (auto& dir_name : sub_dirs) {
     struct stat sb;
     if (TEMP_FAILURE_RETRY(fstatat(parent_fd, dir_name.c_str(), &sb, 0)) == 0) {
@@ -686,6 +701,8 @@
                                   const std::vector<std::string>& package_names,
                                   bool create_sandbox_dir,
                                   fail_fn_t fail_fn) {
+  ATRACE_CALL();
+
   std::string android_dir = StringPrintf("%s/Android", path.c_str());
   android::base::unique_fd android_fd(open(android_dir.c_str(),
                                            O_RDONLY | O_DIRECTORY | O_CLOEXEC));
@@ -729,6 +746,7 @@
 }
 
 static void CreatePkgSandboxSource(const std::string& sandbox_source, fail_fn_t fail_fn) {
+  ATRACE_CALL();
 
   struct stat sb;
   if (TEMP_FAILURE_RETRY(stat(sandbox_source.c_str(), &sb)) == 0) {
@@ -751,6 +769,8 @@
 static void PreparePkgSpecificDirs(const std::vector<std::string>& package_names,
                                    bool mount_all_obbs, const std::string& sandbox_id,
                                    userid_t user_id, uid_t uid, fail_fn_t fail_fn) {
+  ATRACE_CALL();
+
   std::unique_ptr<DIR, decltype(&closedir)> dirp(opendir("/storage"), closedir);
   if (!dirp) {
     fail_fn(CREATE_ERROR("Failed to opendir /storage: %s", strerror(errno)));
@@ -807,6 +827,8 @@
                                      userid_t user_id,
                                      const std::string& sandbox_id,
                                      fail_fn_t fail_fn) {
+  ATRACE_CALL();
+
   std::string obb_mount_dir = StringPrintf("/mnt/user/%d/obb_mount", user_id);
   std::string obb_mount_file = StringPrintf("%s/%s", obb_mount_dir.c_str(), sandbox_id.c_str());
   if (mount_mode == MOUNT_EXTERNAL_INSTALLER) {
@@ -844,6 +866,7 @@
         const std::string& sandbox_id,
         fail_fn_t fail_fn) {
   // See storage config details at http://source.android.com/tech/storage/
+  ATRACE_CALL();
 
   String8 storage_source;
   if (mount_mode == MOUNT_EXTERNAL_DEFAULT) {
@@ -1420,6 +1443,15 @@
       fail_fn("Error calling post fork system server hooks.");
     }
 
+    // Prefetch the classloader for the system server. This is done early to
+    // allow a tie-down of the proper system server selinux domain.
+    env->CallStaticVoidMethod(gZygoteInitClass, gCreateSystemServerClassLoader);
+    if (env->ExceptionCheck()) {
+      // Be robust here. The Java code will attempt to create the classloader
+      // at a later point (but may not have rights to use AoT artifacts).
+      env->ExceptionClear();
+    }
+
     // TODO(oth): Remove hardcoded label here (b/117874058).
     static const char* kSystemServerLabel = "u:r:system_server:s0";
     if (selinux_android_setcon(kSystemServerLabel) != 0) {
@@ -1986,6 +2018,13 @@
   gCallPostForkChildHooks = GetStaticMethodIDOrDie(env, gZygoteClass, "callPostForkChildHooks",
                                                    "(IZZLjava/lang/String;)V");
 
-  return RegisterMethodsOrDie(env, "com/android/internal/os/Zygote", gMethods, NELEM(gMethods));
+  gZygoteInitClass = MakeGlobalRefOrDie(env, FindClassOrDie(env, kZygoteInitClassName));
+  gCreateSystemServerClassLoader = GetStaticMethodIDOrDie(env, gZygoteInitClass,
+                                                          "createSystemServerClassLoader",
+                                                          "()V");
+
+  RegisterMethodsOrDie(env, "com/android/internal/os/Zygote", gMethods, NELEM(gMethods));
+
+  return JNI_OK;
 }
 }  // namespace android
diff --git a/core/proto/android/app/settings_enums.proto b/core/proto/android/app/settings_enums.proto
index 5064d23..7ad9223 100644
--- a/core/proto/android/app/settings_enums.proto
+++ b/core/proto/android/app/settings_enums.proto
@@ -616,7 +616,7 @@
     // OS: Q
     ACTION_PANEL_INTERACTION = 1658;
 
-    // ACTION: Show Contextual homepage, log latency in loading cards
+    // ACTION: Show Contextual homepage. Log total loading latency.
     ACTION_CONTEXTUAL_HOME_SHOW = 1662;
 
     // ACTION: Contextual card displays
@@ -649,6 +649,15 @@
     ACTION_ATCSCUC = 1680;
 
     ACTION_ATCHNUC = 1681;
+
+    // ACTION: Individual contextual card loading time
+    ACTION_CONTEXTUAL_CARD_LOAD = 1684;
+
+    //ACTION: Contextual card loading timeout
+    ACTION_CONTEXTUAL_CARD_LOAD_TIMEOUT = 1685;
+
+    //ACTION: Log result for each card's eligibility check
+    ACTION_CONTEXTUAL_CARD_ELIGIBILITY = 1686;
 }
 
 /**
@@ -2290,4 +2299,10 @@
 
     // Open: Settings will show the conditional when Grayscale mode is on
     SETTINGS_CONDITION_GRAYSCALE_MODE = 1683;
+
+    // Panel for Wifi
+    PANEL_WIFI = 1687;
+
+    // Open: Settings > Special App Access > Do not disturb control for app
+    ZEN_ACCESS_DETAIL = 1692;
 }
diff --git a/core/proto/android/providers/settings/global.proto b/core/proto/android/providers/settings/global.proto
index c1cbd52..62df6e7 100644
--- a/core/proto/android/providers/settings/global.proto
+++ b/core/proto/android/providers/settings/global.proto
@@ -1043,7 +1043,9 @@
 
     optional SettingProto app_ops_constants = 148 [ (android.privacy).dest = DEST_AUTOMATIC ];
 
+    optional SettingProto text_classifier_action_model_params = 145 [ (android.privacy).dest = DEST_AUTOMATIC ];
+
     // Please insert fields in alphabetical order and group them into messages
     // if possible (to avoid reaching the method limit).
-    // Next tag = 145 then 149; // (145 was removed)
+    // Next tag = 149;
 }
diff --git a/core/proto/android/providers/settings/secure.proto b/core/proto/android/providers/settings/secure.proto
index 6360a5f..27a18ee 100644
--- a/core/proto/android/providers/settings/secure.proto
+++ b/core/proto/android/providers/settings/secure.proto
@@ -191,6 +191,21 @@
 
     optional SettingProto emergency_assistance_application = 22 [ (android.privacy).dest = DEST_AUTOMATIC ];
     optional SettingProto enhanced_voice_privacy_enabled = 23 [ (android.privacy).dest = DEST_AUTOMATIC ];
+
+    message Gesture {
+        optional SettingProto aware_enabled = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
+
+        optional SettingProto silence_alarms_count = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
+        optional SettingProto silence_calls_count = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
+        optional SettingProto silence_enabled = 4 [ (android.privacy).dest = DEST_AUTOMATIC ];
+        optional SettingProto silence_notification_count = 5 [ (android.privacy).dest = DEST_AUTOMATIC ];
+        optional SettingProto silence_timer_count = 6 [ (android.privacy).dest = DEST_AUTOMATIC ];
+
+        optional SettingProto skip_count = 7 [ (android.privacy).dest = DEST_AUTOMATIC ];
+        optional SettingProto skip_enabled = 8 [ (android.privacy).dest = DEST_AUTOMATIC ];
+    }
+    optional Gesture gesture = 74;
+
     optional SettingProto immersive_mode_confirmations = 24 [ (android.privacy).dest = DEST_AUTOMATIC ];
 
     message Incall {
@@ -235,6 +250,10 @@
         optional SettingProto mode = 1 [ (android.privacy).dest = DEST_AUTOMATIC ];
         // The App or module that changes the location mode.
         optional SettingProto changer = 2 [ (android.privacy).dest = DEST_AUTOMATIC ];
+
+        // What should happen to the location permissions when upgraded to Android Q.
+        // 0 == revoke permissions. Anything else == do nothing.
+        optional SettingProto permissions_upgrade_to_q_mode = 3 [ (android.privacy).dest = DEST_AUTOMATIC ];
     }
     optional Location location = 31;
 
@@ -439,6 +458,7 @@
     // parent profile.
     optional SettingProto sync_parent_sounds = 55 [ (android.privacy).dest = DEST_AUTOMATIC ];
     optional SettingProto system_navigation_keys_enabled = 56 [ (android.privacy).dest = DEST_AUTOMATIC ];
+    optional SettingProto theme_customization_overlay_packages = 75 [ (android.privacy).dest = DEST_AUTOMATIC ];
     optional SettingProto trust_agents_initialized = 57 [ (android.privacy).dest = DEST_AUTOMATIC ];
 
     message Tts {
@@ -530,13 +550,7 @@
     }
     optional Zen zen = 71;
 
-    optional SettingProto skip_gesture_enabled = 74 [ (android.privacy).dest = DEST_AUTOMATIC ];
-    optional SettingProto silence_gesture_enabled = 75 [ (android.privacy).dest = DEST_AUTOMATIC ];
-    optional SettingProto theme_customization_overlay_packages = 76 [ (android.privacy).dest = DEST_AUTOMATIC ];
-
-    optional SettingProto aware_enabled = 77 [ (android.privacy).dest = DEST_AUTOMATIC ];
-
     // Please insert fields in alphabetical order and group them into messages
     // if possible (to avoid reaching the method limit).
-    // Next tag = 78;
+    // Next tag = 76;
 }
diff --git a/core/proto/android/server/connectivity/data_stall_event.proto b/core/proto/android/server/connectivity/data_stall_event.proto
index 21717d8..a82326f 100644
--- a/core/proto/android/server/connectivity/data_stall_event.proto
+++ b/core/proto/android/server/connectivity/data_stall_event.proto
@@ -25,6 +25,7 @@
     VALID = 1;
     INVALID = 2;
     PORTAL = 3;
+    PARTIAL = 4;
 }
 
 enum ApBand {
@@ -86,4 +87,4 @@
     repeated int32 dns_return_code = 1;
     // Indicate the timestamp of the dns event.
     repeated int64 dns_time = 2;
-}
\ No newline at end of file
+}
diff --git a/core/proto/android/server/powermanagerservice.proto b/core/proto/android/server/powermanagerservice.proto
index 8fce94e..9bf1825 100644
--- a/core/proto/android/server/powermanagerservice.proto
+++ b/core/proto/android/server/powermanagerservice.proto
@@ -318,6 +318,16 @@
     // Whether battery saver is enabled.
     optional bool enabled = 1;
 
+    enum StateEnum {
+        STATE_UNKNOWN = 0;
+        STATE_OFF = 1;
+        STATE_MANUAL_ON = 2;
+        STATE_AUTOMATIC_ON = 3;
+        STATE_OFF_AUTOMATIC_SNOOZED = 4;
+        STATE_PENDING_STICKY_ON = 5;
+    }
+    optional StateEnum state = 18;
+
     // Whether full battery saver is enabled.
     optional bool is_full_enabled = 14;
 
@@ -337,8 +347,7 @@
     // Whether battery status has been set at least once.
     optional bool battery_status_set = 4;
 
-    // Whether automatic battery saver has been canceled by the user.
-    optional bool battery_saver_snoozing = 5;
+    reserved 5; // battery_saver_snoozing
 
     // Whether the device is connected to any power source.
     optional bool is_powered = 6;
@@ -373,5 +382,5 @@
     // using elapsed realtime as the timebase.
     optional int64 last_adaptive_battery_saver_changed_externally_elapsed = 17;
 
-    // Next tag: 18
+    // Next tag: 19
 }
diff --git a/core/proto/android/stats/devicepolicy/device_policy_enums.proto b/core/proto/android/stats/devicepolicy/device_policy_enums.proto
index a8e64c6..589a6a7 100644
--- a/core/proto/android/stats/devicepolicy/device_policy_enums.proto
+++ b/core/proto/android/stats/devicepolicy/device_policy_enums.proto
@@ -101,7 +101,7 @@
   PROVISIONING_MANAGED_PROFILE_ON_FULLY_MANAGED_DEVICE = 77;
   PROVISIONING_PERSISTENT_DEVICE_OWNER = 78;
 
-  // existing Tron logs to be migrated to WestWorld
+  // existing Tron logs to be migrated to statsd
   PROVISIONING_ENTRY_POINT_NFC = 79;
   PROVISIONING_ENTRY_POINT_QR_CODE = 80;
   PROVISIONING_ENTRY_POINT_CLOUD_ENROLLMENT = 81;
@@ -136,11 +136,13 @@
 
   SEPARATE_PROFILE_CHALLENGE_CHANGED = 110;
   SET_GLOBAL_SETTING = 111;
-  PM_IS_INSTALLER_DEVICE_OWNER_OR_AFFILIATED_PROFILE_OWNER = 112;
-  PM_UNINSTALL = 113;
+  INSTALL_PACKAGE = 112;
+  UNINSTALL_PACKAGE = 113;
   WIFI_SERVICE_ADD_NETWORK_SUGGESTIONS = 114;
   WIFI_SERVICE_ADD_OR_UPDATE_NETWORK = 115;
   QUERY_SUMMARY_FOR_DEVICE = 116;
   REMOVE_CROSS_PROFILE_WIDGET_PROVIDER = 117;
   ESTABLISH_VPN = 118;
+  SET_NETWORK_LOGGING_ENABLED = 119;
+  RETRIEVE_NETWORK_LOGS = 120;
 }
diff --git a/core/java/android/net/LinkAddressParcelable.aidl b/core/proto/android/stats/storage/storage_enums.proto
similarity index 74%
rename from core/java/android/net/LinkAddressParcelable.aidl
rename to core/proto/android/stats/storage/storage_enums.proto
index af8e79b..6892e28 100644
--- a/core/java/android/net/LinkAddressParcelable.aidl
+++ b/core/proto/android/stats/storage/storage_enums.proto
@@ -5,20 +5,22 @@
  * 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
+ *      http://www.apache.org/licenses/LICENSE-2.0
  *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS,
  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  * See the License for the specific language governing permissions and
  * limitations under the License.
-*/
+ */
 
-package android.net;
+syntax = "proto2";
 
-parcelable LinkAddressParcelable {
-    String address;
-    int prefixLength;
-    int flags;
-    int scope;
-}
\ No newline at end of file
+package android.stats.storage;
+
+enum ExternalStorageType {
+  UNKNOWN = 0;
+  SD_CARD = 1;
+  USB = 2;
+  OTHER = 3;
+}
diff --git a/core/res/AndroidManifest.xml b/core/res/AndroidManifest.xml
index ae3e714..c7417bf 100644
--- a/core/res/AndroidManifest.xml
+++ b/core/res/AndroidManifest.xml
@@ -398,10 +398,8 @@
 
     <protected-broadcast android:name="android.intent.action.SUB_DEFAULT_CHANGED" />
 
-    <protected-broadcast android:name="android.location.GPS_ENABLED_CHANGE" />
     <protected-broadcast android:name="android.location.PROVIDERS_CHANGED" />
     <protected-broadcast android:name="android.location.MODE_CHANGED" />
-    <protected-broadcast android:name="android.location.GPS_FIX_CHANGE" />
     <protected-broadcast android:name="android.net.proxy.PAC_REFRESH" />
 
     <protected-broadcast android:name="android.telecom.action.DEFAULT_DIALER_CHANGED" />
@@ -869,6 +867,7 @@
         android:label="@string/permgrouplab_visual"
         android:description="@string/permgroupdesc_visual"
         android:request="@string/permgrouprequest_visual"
+        android:requestDetail="@string/permgrouprequestdetail_visual"
         android:priority="920" />
 
     <!-- Allows an application to read the user's shared images collection. -->
@@ -1518,6 +1517,13 @@
     <permission android:name="android.permission.MANAGE_IPSEC_TUNNELS"
         android:protectionLevel="signature|appop" />
 
+    <!-- @hide Allows apps to create and manage Test Networks.
+         <p>Granted only to shell. CTS tests will use
+         UiAutomation.AdoptShellPermissionIdentity() to gain access.
+    -->
+    <permission android:name="android.permission.MANAGE_TEST_NETWORKS"
+        android:protectionLevel="signature" />
+
     <!-- @SystemApi @hide Allows applications to read Wi-Fi credential.
          <p>Not for use by third-party applications. -->
     <permission android:name="android.permission.READ_WIFI_CREDENTIAL"
@@ -2002,12 +2008,12 @@
 
     <!-- Must be required by a {@link android.telecom.PhoneAccountSuggestionService},
          to ensure that only the system can bind to it.
-         <p>Protection level: signature|privileged
+         <p>Protection level: signature
          @SystemApi
          @hide
     -->
     <permission android:name="android.permission.BIND_PHONE_ACCOUNT_SUGGESTION_SERVICE"
-        android:protectionLevel="signature|privileged" />
+        android:protectionLevel="signature" />
 
     <!-- Must be required by a {@link android.telecom.CallRedirectionService},
          to ensure that only the system can bind to it.
@@ -2154,9 +2160,9 @@
      screen lock to a certain complexity level.
      <p>Protection level: normal
     -->
-    <permission android:name="android.permission.REQUEST_SCREEN_LOCK_COMPLEXITY"
-                android:label="@string/permlab_requestScreenLockComplexity"
-                android:description="@string/permdesc_requestScreenLockComplexity"
+    <permission android:name="android.permission.REQUEST_PASSWORD_COMPLEXITY"
+                android:label="@string/permlab_requestPasswordComplexity"
+                android:description="@string/permdesc_requestPasswordComplexity"
                 android:protectionLevel="normal" />
 
     <!-- ================================== -->
@@ -2526,7 +2532,7 @@
     <permission android:name="android.permission.WRITE_GSERVICES"
         android:protectionLevel="signature|privileged" />
 
-    <!-- @SystemApi @hide Allows an application to modify config settings.
+    <!-- @SystemApi @TestApi @hide Allows an application to modify config settings.
     <p>Not for use by third-party applications. -->
     <permission android:name="android.permission.WRITE_DEVICE_CONFIG"
         android:protectionLevel="signature|configurator"/>
@@ -3051,12 +3057,6 @@
     <permission android:name="android.permission.BIND_COMPANION_DEVICE_MANAGER_SERVICE"
         android:protectionLevel="signature" />
 
-    <!-- Must be required by the RoleControllerService to ensure that only the system can bind to
-         it.
-         @hide -->
-    <permission android:name="android.permission.BIND_ROLE_CONTROLLER_SERVICE"
-        android:protectionLevel="signature" />
-
     <!-- @SystemApi Must be required by the RuntimePermissionPresenterService to ensure
          that only the system can bind to it.
          @hide -->
@@ -3139,6 +3139,14 @@
     <permission android:name="android.permission.BIND_CONTENT_CAPTURE_SERVICE"
                 android:protectionLevel="signature" />
 
+    <!-- Must be required by a android.service.contentsuggestions.ContentSuggestionsService,
+         to ensure that only the system can bind to it.
+         @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
+         <p>Protection level: signature
+    -->
+    <permission android:name="android.permission.BIND_CONTENT_SUGGESTIONS_SERVICE"
+                android:protectionLevel="signature" />
+
     <!-- Must be required by a android.service.autofill.augmented.AugmentedAutofillService,
          to ensure that only the system can bind to it.
          @SystemApi @hide This is not a third-party API (intended for OEMs and system apps).
@@ -3917,7 +3925,7 @@
     <permission android:name="android.permission.PACKAGE_ROLLBACK_AGENT"
         android:protectionLevel="signature" />
 
-    <!-- @SystemApi @hide Allows managing apk level rollbacks. -->
+    <!-- @SystemApi @TestApi @hide Allows managing apk level rollbacks. -->
     <permission android:name="android.permission.MANAGE_ROLLBACKS"
         android:protectionLevel="signature|verifier" />
 
@@ -3958,6 +3966,13 @@
     <permission android:name="android.permission.UPDATE_LOCK"
         android:protectionLevel="signature|privileged" />
 
+    <!-- @SystemApi Allows an application the opportunity to become a
+         {@link android.service.notification.NotificationAssistantService}.
+         User permission is still required before access is granted.
+         @hide -->
+    <permission android:name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE"
+                android:protectionLevel="signature|privileged" />
+
     <!-- @SystemApi @TestApi Allows an application to read the current set of notifications, including
          any metadata and intents attached.
          @hide -->
@@ -4455,6 +4470,11 @@
          @hide -->
     <permission android:name="android.permission.MANAGE_SENSOR_PRIVACY"
                 android:protectionLevel="signature" />
+    <!-- @SystemApi Permission that protects the {@link Intent#ACTION_REVIEW_ACCESSIBILITY_SERVICES}
+         intent.
+         @hide -->
+    <permission android:name="android.permission.REVIEW_ACCESSIBILITY_SERVICES"
+                android:protectionLevel="signature" />
 
     <!-- @SystemApi Allows an activity to replace the app name and icon displayed in share targets
          in the sharesheet for the Q-release and later.
diff --git a/core/res/res/anim/lock_in.xml b/core/res/res/anim/lock_in.xml
index 992bc92..cd4effd 100755
--- a/core/res/res/anim/lock_in.xml
+++ b/core/res/res/anim/lock_in.xml
@@ -14,111 +14,76 @@
      limitations under the License.
 -->
 <animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:aapt="http://schemas.android.com/aapt">
+                 xmlns:aapt="http://schemas.android.com/aapt">
     <aapt:attr name="android:drawable">
-        <vector
-            android:width="24dp"
-            android:height="24dp"
-            android:viewportWidth="24"
-            android:viewportHeight="24">
+        <vector android:height="32dp" android:width="32dp" android:viewportHeight="32"
+                android:viewportWidth="32">
             <group android:name="_R_G">
-                <group android:name="_R_G_L_2_G_N_3_T_0_M">
-                    <group
-                        android:name="_R_G_L_2_G_N_3_T_0"
-                        android:pivotX="2.25"
-                        android:pivotY="2.25"
-                        android:scaleX="0"
-                        android:scaleY="0"
-                        android:translateX="9.75"
-                        android:translateY="12.75">
-                        <group
-                            android:name="_R_G_L_2_G_T_1"
-                            android:scaleX="0.12346"
-                            android:scaleY="0.12346"
-                            android:translateX="2.25"
-                            android:translateY="2.373">
-                            <group
-                                android:name="_R_G_L_2_G"
-                                android:translateY="32">
-                                <path
-                                    android:name="_R_G_L_2_G_D_0_P_0"
-                                    android:fillAlpha="0"
-                                    android:fillColor="#ff0000"
-                                    android:fillType="nonZero"
-                                    android:pathData=" M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "
-                                    android:trimPathStart="0.14"
-                                    android:trimPathEnd="0.89"
-                                    android:trimPathOffset="0" />
-                                <path
-                                    android:name="_R_G_L_2_G_D_1_P_0"
-                                    android:pathData=" M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "
-                                    android:strokeWidth="16"
-                                    android:strokeAlpha="1"
-                                    android:strokeColor="?attr/textColor"
-                                    android:trimPathStart="0.14"
-                                    android:trimPathEnd="0.89"
-                                    android:trimPathOffset="0" />
+                <group android:name="_R_G_L_2_G_N_2_N_1_T_0" android:translateX="16"
+                       android:translateY="16" android:scaleX="1.3" android:scaleY="1.3">
+                    <group android:name="_R_G_L_2_G_N_2_T_0" android:translateX="-2.25"
+                           android:translateY="0.75" android:pivotX="2.25" android:pivotY="2.25"
+                           android:scaleX="0" android:scaleY="0">
+                        <group android:name="_R_G_L_2_G_T_1" android:translateX="2.25"
+                               android:translateY="2.373" android:scaleX="0.12346"
+                               android:scaleY="0.12346">
+                            <group android:name="_R_G_L_2_G" android:translateY="32">
+                                <path android:name="_R_G_L_2_G_D_0_P_0" android:fillColor="#ff0000"
+                                      android:fillAlpha="0" android:fillType="nonZero"
+                                      android:trimPathStart="0.14" android:trimPathEnd="0.89"
+                                      android:trimPathOffset="0"
+                                      android:pathData=" M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "/>
+                                <path android:name="_R_G_L_2_G_D_1_P_0"
+                                      android:strokeColor="?attr/textColor" android:strokeLineCap="round"
+                                      android:strokeLineJoin="round" android:strokeWidth="16"
+                                      android:strokeAlpha="1" android:trimPathStart="0.14"
+                                      android:trimPathEnd="0.89" android:trimPathOffset="0"
+                                      android:pathData=" M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "/>
                             </group>
                         </group>
                     </group>
                 </group>
-                <group
-                    android:name="_R_G_L_1_G"
-                    android:pivotX="8.25"
-                    android:pivotY="7.25"
-                    android:scaleX="0"
-                    android:scaleY="0"
-                    android:translateX="3.75"
-                    android:translateY="7.75">
-                    <path
-                        android:name="_R_G_L_1_G_D_0_P_0"
-                        android:fillAlpha="1"
-                        android:fillColor="?attr/textColor"
-                        android:fillType="nonZero"
-                        android:pathData=" M14.25 0.25 C14.25,0.25 12.75,0.25 12.75,0.25 C12.75,0.25 10.75,0.25 10.75,0.25 C10.75,0.25 5.75,0.25 5.75,0.25 C5.75,0.25 3.75,0.25 3.75,0.25 C3.75,0.25 2.25,0.25 2.25,0.25 C1.15,0.25 0.25,1.15 0.25,2.25 C0.25,2.25 0.25,12.25 0.25,12.25 C0.25,13.35 1.15,14.25 2.25,14.25 C2.25,14.25 14.25,14.25 14.25,14.25 C15.35,14.25 16.25,13.35 16.25,12.25 C16.25,12.25 16.25,2.25 16.25,2.25 C16.25,1.15 15.35,0.25 14.25,0.25c  M14.25 12.25 C14.25,12.25 2.25,12.25 2.25,12.25 C2.25,12.25 2.25,2.25 2.25,2.25 C2.25,2.25 3.75,2.25 3.75,2.25 C3.75,2.25 12.75,2.25 12.75,2.25 C12.75,2.25 14.25,2.25 14.25,2.25 C14.25,2.25 14.25,12.25 14.25,12.25c " />
+                <group android:name="_R_G_L_1_G_N_1_T_0" android:translateX="16"
+                       android:translateY="16" android:scaleX="1.3" android:scaleY="1.3">
+                    <group android:name="_R_G_L_1_G" android:translateX="-8.25"
+                           android:translateY="-4.25" android:pivotX="8.25" android:pivotY="7.25"
+                           android:scaleX="0" android:scaleY="0">
+                        <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="?attr/textColor"
+                              android:fillAlpha="1" android:fillType="nonZero"
+                              android:pathData=" M14.25 0.25 C14.25,0.25 12.75,0.25 12.75,0.25 C12.75,0.25 10.75,0.25 10.75,0.25 C10.75,0.25 5.75,0.25 5.75,0.25 C5.75,0.25 3.75,0.25 3.75,0.25 C3.75,0.25 2.25,0.25 2.25,0.25 C1.15,0.25 0.25,1.15 0.25,2.25 C0.25,2.25 0.25,12.25 0.25,12.25 C0.25,13.35 1.15,14.25 2.25,14.25 C2.25,14.25 14.25,14.25 14.25,14.25 C15.35,14.25 16.25,13.35 16.25,12.25 C16.25,12.25 16.25,2.25 16.25,2.25 C16.25,1.15 15.35,0.25 14.25,0.25c  M14.25 12.25 C14.25,12.25 2.25,12.25 2.25,12.25 C2.25,12.25 2.25,2.25 2.25,2.25 C2.25,2.25 3.75,2.25 3.75,2.25 C3.75,2.25 12.75,2.25 12.75,2.25 C12.75,2.25 14.25,2.25 14.25,2.25 C14.25,2.25 14.25,12.25 14.25,12.25c "/>
+                    </group>
                 </group>
-                <group
-                    android:name="_R_G_L_0_G"
-                    android:pivotX="2.25"
-                    android:pivotY="2.25"
-                    android:scaleX="0"
-                    android:scaleY="0"
-                    android:translateX="9.75"
-                    android:translateY="12.75">
-                    <path
-                        android:name="_R_G_L_0_G_D_0_P_0"
-                        android:fillAlpha="1"
-                        android:fillColor="?attr/textColor"
-                        android:fillType="nonZero"
-                        android:pathData=" M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c " />
+                <group android:name="_R_G_L_0_G_N_1_T_0" android:translateX="16"
+                       android:translateY="16" android:scaleX="1.3" android:scaleY="1.3">
+                    <group android:name="_R_G_L_0_G" android:translateX="-2.25"
+                           android:translateY="0.75" android:pivotX="2.25" android:pivotY="2.25"
+                           android:scaleX="0" android:scaleY="0">
+                        <path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="?attr/textColor"
+                              android:fillAlpha="1" android:fillType="nonZero"
+                              android:pathData=" M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c "/>
+                    </group>
                 </group>
             </group>
-            <group android:name="time_group" />
+            <group android:name="time_group"/>
         </vector>
     </aapt:attr>
     <target android:name="_R_G_L_2_G_D_0_P_0">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="50"
-                    android:propertyName="trimPathStart"
-                    android:startOffset="0"
-                    android:valueFrom="0.14"
-                    android:valueTo="0.14"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="trimPathStart" android:duration="50"
+                                android:startOffset="0" android:valueFrom="0.14"
+                                android:valueTo="0.14" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
+                        <pathInterpolator
+                            android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="67"
-                    android:propertyName="trimPathStart"
-                    android:startOffset="50"
-                    android:valueFrom="0.14"
-                    android:valueTo="0"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="trimPathStart" android:duration="67"
+                                android:startOffset="50" android:valueFrom="0.14"
+                                android:valueTo="0" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
+                        <pathInterpolator
+                            android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
@@ -127,26 +92,20 @@
     <target android:name="_R_G_L_2_G_D_0_P_0">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="50"
-                    android:propertyName="trimPathEnd"
-                    android:startOffset="0"
-                    android:valueFrom="0.89"
-                    android:valueTo="0.89"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="trimPathEnd" android:duration="50"
+                                android:startOffset="0" android:valueFrom="0.89"
+                                android:valueTo="0.89" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
+                        <pathInterpolator
+                            android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="67"
-                    android:propertyName="trimPathEnd"
-                    android:startOffset="50"
-                    android:valueFrom="0.89"
-                    android:valueTo="1"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="trimPathEnd" android:duration="67"
+                                android:startOffset="50" android:valueFrom="0.89"
+                                android:valueTo="1" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
+                        <pathInterpolator
+                            android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
@@ -155,26 +114,20 @@
     <target android:name="_R_G_L_2_G_D_1_P_0">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="50"
-                    android:propertyName="trimPathStart"
-                    android:startOffset="0"
-                    android:valueFrom="0.14"
-                    android:valueTo="0.14"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="trimPathStart" android:duration="50"
+                                android:startOffset="0" android:valueFrom="0.14"
+                                android:valueTo="0.14" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
+                        <pathInterpolator
+                            android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="67"
-                    android:propertyName="trimPathStart"
-                    android:startOffset="50"
-                    android:valueFrom="0.14"
-                    android:valueTo="0"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="trimPathStart" android:duration="67"
+                                android:startOffset="50" android:valueFrom="0.14"
+                                android:valueTo="0" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
+                        <pathInterpolator
+                            android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
@@ -183,26 +136,20 @@
     <target android:name="_R_G_L_2_G_D_1_P_0">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="50"
-                    android:propertyName="trimPathEnd"
-                    android:startOffset="0"
-                    android:valueFrom="0.89"
-                    android:valueTo="0.89"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="trimPathEnd" android:duration="50"
+                                android:startOffset="0" android:valueFrom="0.89"
+                                android:valueTo="0.89" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
+                        <pathInterpolator
+                            android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="67"
-                    android:propertyName="trimPathEnd"
-                    android:startOffset="50"
-                    android:valueFrom="0.89"
-                    android:valueTo="1"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="trimPathEnd" android:duration="67"
+                                android:startOffset="50" android:valueFrom="0.89"
+                                android:valueTo="1" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
+                        <pathInterpolator
+                            android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
@@ -211,128 +158,91 @@
     <target android:name="_R_G_L_2_G_T_1">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="150"
-                    android:pathData="M 2.25,2.373C 2.25,1.2001604776382402 2.25,-3.49116047763824 2.25,-4.664"
-                    android:propertyName="translateXY"
-                    android:propertyXName="translateX"
-                    android:propertyYName="translateY"
-                    android:startOffset="0">
+                <objectAnimator android:propertyName="translateXY" android:duration="150"
+                                android:startOffset="0" android:propertyXName="translateX"
+                                android:propertyYName="translateY"
+                                android:pathData="M 2.25,2.373C 2.25,1.2001604776382402 2.25,-3.49116047763824 2.25,-4.664">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.001,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.001,0 0.2,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
         </aapt:attr>
     </target>
-    <target android:name="_R_G_L_2_G_N_3_T_0">
+    <target android:name="_R_G_L_2_G_N_2_T_0">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="233"
-                    android:propertyName="scaleX"
-                    android:startOffset="0"
-                    android:valueFrom="0"
-                    android:valueTo="1.0125"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleX" android:duration="233"
+                                android:startOffset="0" android:valueFrom="0"
+                                android:valueTo="1.0125" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.556 0.667,1 1.0,1.0" />
+                        <pathInterpolator
+                            android:pathData="M 0.0,0.0 c0.043,0.556 0.667,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="233"
-                    android:propertyName="scaleY"
-                    android:startOffset="0"
-                    android:valueFrom="0"
-                    android:valueTo="1.0125"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleY" android:duration="233"
+                                android:startOffset="0" android:valueFrom="0"
+                                android:valueTo="1.0125" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.556 0.667,1 1.0,1.0" />
+                        <pathInterpolator
+                            android:pathData="M 0.0,0.0 c0.043,0.556 0.667,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="117"
-                    android:propertyName="scaleX"
-                    android:startOffset="233"
-                    android:valueFrom="1.0125"
-                    android:valueTo="1"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleX" android:duration="117"
+                                android:startOffset="233" android:valueFrom="1.0125"
+                                android:valueTo="1" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="117"
-                    android:propertyName="scaleY"
-                    android:startOffset="233"
-                    android:valueFrom="1.0125"
-                    android:valueTo="1"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleY" android:duration="117"
+                                android:startOffset="233" android:valueFrom="1.0125"
+                                android:valueTo="1" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
         </aapt:attr>
     </target>
-    <target android:name="_R_G_L_2_G_N_3_T_0_M">
+    <target android:name="_R_G_L_2_G_N_2_N_1_T_0">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="0"
-                    android:propertyName="scaleX"
-                    android:startOffset="50"
-                    android:valueFrom="0"
-                    android:valueTo="1"
-                    android:valueType="floatType" />
+                <objectAnimator android:propertyName="scaleX" android:duration="0"
+                                android:startOffset="50" android:valueFrom="0" android:valueTo="1.3"
+                                android:valueType="floatType"/>
             </set>
         </aapt:attr>
     </target>
     <target android:name="_R_G_L_1_G">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="233"
-                    android:propertyName="scaleX"
-                    android:startOffset="0"
-                    android:valueFrom="0"
-                    android:valueTo="1.025"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleX" android:duration="233"
+                                android:startOffset="0" android:valueFrom="0"
+                                android:valueTo="1.025" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.001,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.001,0 0.2,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="233"
-                    android:propertyName="scaleY"
-                    android:startOffset="0"
-                    android:valueFrom="0"
-                    android:valueTo="1.025"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleY" android:duration="233"
+                                android:startOffset="0" android:valueFrom="0"
+                                android:valueTo="1.025" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.001,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.001,0 0.2,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="117"
-                    android:propertyName="scaleX"
-                    android:startOffset="233"
-                    android:valueFrom="1.025"
-                    android:valueTo="1"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleX" android:duration="117"
+                                android:startOffset="233" android:valueFrom="1.025"
+                                android:valueTo="1" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="117"
-                    android:propertyName="scaleY"
-                    android:startOffset="233"
-                    android:valueFrom="1.025"
-                    android:valueTo="1"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleY" android:duration="117"
+                                android:startOffset="233" android:valueFrom="1.025"
+                                android:valueTo="1" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
@@ -341,48 +251,34 @@
     <target android:name="_R_G_L_0_G">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="233"
-                    android:propertyName="scaleX"
-                    android:startOffset="0"
-                    android:valueFrom="0"
-                    android:valueTo="1.0125"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleX" android:duration="233"
+                                android:startOffset="0" android:valueFrom="0"
+                                android:valueTo="1.0125" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.556 0.667,1 1.0,1.0" />
+                        <pathInterpolator
+                            android:pathData="M 0.0,0.0 c0.043,0.556 0.667,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="233"
-                    android:propertyName="scaleY"
-                    android:startOffset="0"
-                    android:valueFrom="0"
-                    android:valueTo="1.0125"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleY" android:duration="233"
+                                android:startOffset="0" android:valueFrom="0"
+                                android:valueTo="1.0125" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.043,0.556 0.667,1 1.0,1.0" />
+                        <pathInterpolator
+                            android:pathData="M 0.0,0.0 c0.043,0.556 0.667,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="117"
-                    android:propertyName="scaleX"
-                    android:startOffset="233"
-                    android:valueFrom="1.0125"
-                    android:valueTo="1"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleX" android:duration="117"
+                                android:startOffset="233" android:valueFrom="1.0125"
+                                android:valueTo="1" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="117"
-                    android:propertyName="scaleY"
-                    android:startOffset="233"
-                    android:valueFrom="1.0125"
-                    android:valueTo="1"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleY" android:duration="117"
+                                android:startOffset="233" android:valueFrom="1.0125"
+                                android:valueTo="1" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
@@ -391,13 +287,9 @@
     <target android:name="time_group">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="717"
-                    android:propertyName="translateX"
-                    android:startOffset="0"
-                    android:valueFrom="0"
-                    android:valueTo="1"
-                    android:valueType="floatType" />
+                <objectAnimator android:propertyName="translateX" android:duration="717"
+                                android:startOffset="0" android:valueFrom="0" android:valueTo="1"
+                                android:valueType="floatType"/>
             </set>
         </aapt:attr>
     </target>
diff --git a/core/res/res/anim/lock_lock.xml b/core/res/res/anim/lock_lock.xml
index 8b7887c..ce9c8e8 100755
--- a/core/res/res/anim/lock_lock.xml
+++ b/core/res/res/anim/lock_lock.xml
@@ -13,4 +13,277 @@
      See the License for the specific language governing permissions and
      limitations under the License.
 -->
-<animated-vector xmlns:android="http://schemas.android.com/apk/res/android" xmlns:aapt="http://schemas.android.com/aapt"><aapt:attr name="android:drawable"><vector android:height="24dp" android:width="24dp" android:viewportHeight="24" android:viewportWidth="24"><group android:name="_R_G"><group android:name="_R_G_L_2_G_T_1" android:translateX="12" android:translateY="15"><group android:name="_R_G_L_2_G" android:translateX="-8.25" android:translateY="-7.25"><path android:name="_R_G_L_2_G_D_0_P_0" android:fillColor="?attr/textColor" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M14.25 0.25 C14.25,0.25 12.75,0.25 12.75,0.25 C12.75,0.25 10.75,0.25 10.75,0.25 C10.75,0.25 5.75,0.25 5.75,0.25 C5.75,0.25 3.75,0.25 3.75,0.25 C3.75,0.25 2.25,0.25 2.25,0.25 C1.15,0.25 0.25,1.15 0.25,2.25 C0.25,2.25 0.25,12.25 0.25,12.25 C0.25,13.35 1.15,14.25 2.25,14.25 C2.25,14.25 14.25,14.25 14.25,14.25 C15.35,14.25 16.25,13.35 16.25,12.25 C16.25,12.25 16.25,2.25 16.25,2.25 C16.25,1.15 15.35,0.25 14.25,0.25c  M14.25 12.25 C14.25,12.25 2.25,12.25 2.25,12.25 C2.25,12.25 2.25,2.25 2.25,2.25 C2.25,2.25 3.75,2.25 3.75,2.25 C3.75,2.25 12.75,2.25 12.75,2.25 C12.75,2.25 14.25,2.25 14.25,2.25 C14.25,2.25 14.25,12.25 14.25,12.25c "/></group></group><group android:name="_R_G_L_1_G_N_5_T_1" android:translateX="12" android:translateY="15"><group android:name="_R_G_L_1_G_N_5_T_0" android:translateX="-8.25" android:translateY="-7.25"><group android:name="_R_G_L_1_G" android:translateX="6" android:translateY="5" android:pivotX="2.25" android:pivotY="2.25" android:scaleX="1" android:scaleY="1"><path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="?attr/textColor" android:fillAlpha="1" android:fillType="nonZero" android:pathData=" M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c "/></group></group></group><group android:name="_R_G_L_0_G_N_5_T_1" android:translateX="12" android:translateY="15"><group android:name="_R_G_L_0_G_N_5_T_0" android:translateX="-8.25" android:translateY="-7.25"><group android:name="_R_G_L_0_G" android:translateX="-16.219" android:translateY="32.25" android:pivotX="27.965" android:pivotY="-32" android:scaleX="0.125" android:scaleY="0.125"><path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="#ff0000" android:fillAlpha="0" android:fillType="nonZero" android:pathData=" M79.79 -48.55 C79.79,-48.55 79.75,-53.75 79.78,-55.48 C79.83,-57.62 79.08,-78.36 53.07,-78.83 C29.5,-79.25 25.2,-59.38 25.22,-58.27 C25.25,-56.25 24.97,-31.17 24.97,-31.17 "/><path android:name="_R_G_L_0_G_D_1_P_0" android:strokeColor="?attr/textColor" android:strokeLineCap="round" android:strokeLineJoin="round" android:strokeWidth="16" android:strokeAlpha="1" android:pathData=" M79.79 -48.55 C79.79,-48.55 79.75,-53.75 79.78,-55.48 C79.83,-57.62 79.08,-78.36 53.07,-78.83 C29.5,-79.25 25.2,-59.38 25.22,-58.27 C25.25,-56.25 24.97,-31.17 24.97,-31.17 "/></group></group></group></group><group android:name="time_group"/></vector></aapt:attr><target android:name="_R_G_L_2_G_T_1"><aapt:attr name="android:animation"><set android:ordering="together"><objectAnimator android:propertyName="translateXY" android:duration="400" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12,15C 12,15.09895833581686 12,15 12,15"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/></aapt:attr></objectAnimator><objectAnimator android:propertyName="translateXY" android:duration="67" android:startOffset="400" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12,15C 12,15.09895833581686 12,15.594 12,15.594"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/></aapt:attr></objectAnimator><objectAnimator android:propertyName="translateXY" android:duration="83" android:startOffset="467" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12,15.594C 12,15.594 12,15.09895833581686 12,15"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/></aapt:attr></objectAnimator></set></aapt:attr></target><target android:name="_R_G_L_1_G"><aapt:attr name="android:animation"><set android:ordering="together"><objectAnimator android:propertyName="scaleX" android:duration="450" android:startOffset="0" android:valueFrom="1" android:valueTo="1" android:valueType="floatType"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/></aapt:attr></objectAnimator><objectAnimator android:propertyName="scaleY" android:duration="450" android:startOffset="0" android:valueFrom="1" android:valueTo="1" android:valueType="floatType"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/></aapt:attr></objectAnimator><objectAnimator android:propertyName="scaleX" android:duration="67" android:startOffset="450" android:valueFrom="1" android:valueTo="1.1" android:valueType="floatType"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/></aapt:attr></objectAnimator><objectAnimator android:propertyName="scaleY" android:duration="67" android:startOffset="450" android:valueFrom="1" android:valueTo="1.1" android:valueType="floatType"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/></aapt:attr></objectAnimator><objectAnimator android:propertyName="scaleX" android:duration="183" android:startOffset="517" android:valueFrom="1.1" android:valueTo="1" android:valueType="floatType"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/></aapt:attr></objectAnimator><objectAnimator android:propertyName="scaleY" android:duration="183" android:startOffset="517" android:valueFrom="1.1" android:valueTo="1" android:valueType="floatType"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/></aapt:attr></objectAnimator></set></aapt:attr></target><target android:name="_R_G_L_1_G_N_5_T_1"><aapt:attr name="android:animation"><set android:ordering="together"><objectAnimator android:propertyName="translateXY" android:duration="400" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12,15C 12,15.09895833581686 12,15 12,15"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/></aapt:attr></objectAnimator><objectAnimator android:propertyName="translateXY" android:duration="67" android:startOffset="400" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12,15C 12,15.09895833581686 12,15.594 12,15.594"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/></aapt:attr></objectAnimator><objectAnimator android:propertyName="translateXY" android:duration="83" android:startOffset="467" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12,15.594C 12,15.594 12,15.09895833581686 12,15"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/></aapt:attr></objectAnimator></set></aapt:attr></target><target android:name="_R_G_L_0_G_D_0_P_0"><aapt:attr name="android:animation"><set android:ordering="together"><objectAnimator android:propertyName="pathData" android:duration="317" android:startOffset="0" android:valueFrom="M79.79 -48.55 C79.79,-48.55 79.75,-53.75 79.78,-55.48 C79.83,-57.62 79.08,-78.36 53.07,-78.83 C29.5,-79.25 25.2,-59.38 25.22,-58.27 C25.25,-56.25 24.97,-31.17 24.97,-31.17 " android:valueTo="M-27.97 -55.05 C-27.97,-55.05 -28,-60.25 -27.97,-61.98 C-27.92,-64.13 -23.5,-86.37 -0.75,-86.32 C22.77,-86.26 27.75,-65.87 27.72,-64.77 C27.55,-59.38 27.97,-31.67 27.97,-31.67 " android:valueType="pathType"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.974,0 0.458,1 1.0,1.0"/></aapt:attr></objectAnimator><objectAnimator android:propertyName="pathData" android:duration="133" android:startOffset="317" android:valueFrom="M-27.97 -55.05 C-27.97,-55.05 -28,-60.25 -27.97,-61.98 C-27.92,-64.13 -23.5,-86.37 -0.75,-86.32 C22.77,-86.26 27.75,-65.87 27.72,-64.77 C27.55,-59.38 27.97,-31.67 27.97,-31.67 " android:valueTo="M-28.21 -28.42 C-28.21,-28.42 -27.85,-44.88 -27.97,-51.98 C-28,-54.13 -23.5,-76.37 -0.75,-76.32 C22.77,-76.26 27.75,-55.87 27.72,-54.77 C27.55,-49.38 27.97,-28.17 27.97,-28.17 " android:valueType="pathType"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/></aapt:attr></objectAnimator><objectAnimator android:propertyName="pathData" android:duration="250" android:startOffset="450" android:valueFrom="M-28.21 -28.42 C-28.21,-28.42 -27.85,-44.88 -27.97,-51.98 C-28,-54.13 -23.5,-76.37 -0.75,-76.32 C22.77,-76.26 27.75,-55.87 27.72,-54.77 C27.55,-49.38 27.97,-28.17 27.97,-28.17 " android:valueTo="M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 " android:valueType="pathType"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.414,0 0.647,1 1.0,1.0"/></aapt:attr></objectAnimator></set></aapt:attr></target><target android:name="_R_G_L_0_G_D_1_P_0"><aapt:attr name="android:animation"><set android:ordering="together"><objectAnimator android:propertyName="pathData" android:duration="317" android:startOffset="0" android:valueFrom="M79.79 -48.55 C79.79,-48.55 79.75,-53.75 79.78,-55.48 C79.83,-57.62 79.08,-78.36 53.07,-78.83 C29.5,-79.25 25.2,-59.38 25.22,-58.27 C25.25,-56.25 24.97,-31.17 24.97,-31.17 " android:valueTo="M-27.97 -55.05 C-27.97,-55.05 -28,-60.25 -27.97,-61.98 C-27.92,-64.13 -23.5,-86.37 -0.75,-86.32 C22.77,-86.26 27.75,-65.87 27.72,-64.77 C27.55,-59.38 27.97,-31.67 27.97,-31.67 " android:valueType="pathType"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.974,0 0.458,1 1.0,1.0"/></aapt:attr></objectAnimator><objectAnimator android:propertyName="pathData" android:duration="133" android:startOffset="317" android:valueFrom="M-27.97 -55.05 C-27.97,-55.05 -28,-60.25 -27.97,-61.98 C-27.92,-64.13 -23.5,-86.37 -0.75,-86.32 C22.77,-86.26 27.75,-65.87 27.72,-64.77 C27.55,-59.38 27.97,-31.67 27.97,-31.67 " android:valueTo="M-28.21 -28.42 C-28.21,-28.42 -27.85,-44.88 -27.97,-51.98 C-28,-54.13 -23.5,-76.37 -0.75,-76.32 C22.77,-76.26 27.75,-55.87 27.72,-54.77 C27.55,-49.38 27.97,-28.17 27.97,-28.17 " android:valueType="pathType"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/></aapt:attr></objectAnimator><objectAnimator android:propertyName="pathData" android:duration="250" android:startOffset="450" android:valueFrom="M-28.21 -28.42 C-28.21,-28.42 -27.85,-44.88 -27.97,-51.98 C-28,-54.13 -23.5,-76.37 -0.75,-76.32 C22.77,-76.26 27.75,-55.87 27.72,-54.77 C27.55,-49.38 27.97,-28.17 27.97,-28.17 " android:valueTo="M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 " android:valueType="pathType"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.414,0 0.647,1 1.0,1.0"/></aapt:attr></objectAnimator></set></aapt:attr></target><target android:name="_R_G_L_0_G_N_5_T_1"><aapt:attr name="android:animation"><set android:ordering="together"><objectAnimator android:propertyName="translateXY" android:duration="400" android:startOffset="0" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12,15C 12,15.09895833581686 12,15 12,15"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/></aapt:attr></objectAnimator><objectAnimator android:propertyName="translateXY" android:duration="67" android:startOffset="400" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12,15C 12,15.09895833581686 12,15.594 12,15.594"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/></aapt:attr></objectAnimator><objectAnimator android:propertyName="translateXY" android:duration="83" android:startOffset="467" android:propertyXName="translateX" android:propertyYName="translateY" android:pathData="M 12,15.594C 12,15.594 12,15.09895833581686 12,15"><aapt:attr name="android:interpolator"><pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/></aapt:attr></objectAnimator></set></aapt:attr></target><target android:name="time_group"><aapt:attr name="android:animation"><set android:ordering="together"><objectAnimator android:propertyName="translateX" android:duration="717" android:startOffset="0" android:valueFrom="0" android:valueTo="1" android:valueType="floatType"/></set></aapt:attr></target></animated-vector>
\ No newline at end of file
+<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
+                 xmlns:aapt="http://schemas.android.com/aapt">
+    <aapt:attr name="android:drawable">
+        <vector android:height="32dp" android:width="32dp" android:viewportHeight="32"
+                android:viewportWidth="32">
+            <group android:name="_R_G">
+                <group android:name="_R_G_L_2_G_N_1_T_0" android:translateX="16"
+                       android:translateY="16" android:scaleX="1.3" android:scaleY="1.3">
+                    <group android:name="_R_G_L_2_G_T_1" android:translateX="0"
+                           android:translateY="3">
+                        <group android:name="_R_G_L_2_G" android:translateX="-8.25"
+                               android:translateY="-7.25">
+                            <path android:name="_R_G_L_2_G_D_0_P_0" android:fillColor="?attr/textColor"
+                                  android:fillAlpha="1" android:fillType="nonZero"
+                                  android:pathData=" M14.25 0.25 C14.25,0.25 12.75,0.25 12.75,0.25 C12.75,0.25 10.75,0.25 10.75,0.25 C10.75,0.25 5.75,0.25 5.75,0.25 C5.75,0.25 3.75,0.25 3.75,0.25 C3.75,0.25 2.25,0.25 2.25,0.25 C1.15,0.25 0.25,1.15 0.25,2.25 C0.25,2.25 0.25,12.25 0.25,12.25 C0.25,13.35 1.15,14.25 2.25,14.25 C2.25,14.25 14.25,14.25 14.25,14.25 C15.35,14.25 16.25,13.35 16.25,12.25 C16.25,12.25 16.25,2.25 16.25,2.25 C16.25,1.15 15.35,0.25 14.25,0.25c  M14.25 12.25 C14.25,12.25 2.25,12.25 2.25,12.25 C2.25,12.25 2.25,2.25 2.25,2.25 C2.25,2.25 3.75,2.25 3.75,2.25 C3.75,2.25 12.75,2.25 12.75,2.25 C12.75,2.25 14.25,2.25 14.25,2.25 C14.25,2.25 14.25,12.25 14.25,12.25c "/>
+                        </group>
+                    </group>
+                </group>
+                <group android:name="_R_G_L_1_G_N_4_N_1_T_0" android:translateX="16"
+                       android:translateY="16" android:scaleX="1.3" android:scaleY="1.3">
+                    <group android:name="_R_G_L_1_G_N_4_T_1" android:translateX="0"
+                           android:translateY="3">
+                        <group android:name="_R_G_L_1_G_N_4_T_0" android:translateX="-8.25"
+                               android:translateY="-7.25">
+                            <group android:name="_R_G_L_1_G" android:translateX="6"
+                                   android:translateY="5" android:pivotX="2.25"
+                                   android:pivotY="2.25" android:scaleX="1" android:scaleY="1">
+                                <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="?attr/textColor"
+                                      android:fillAlpha="1" android:fillType="nonZero"
+                                      android:pathData=" M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c "/>
+                            </group>
+                        </group>
+                    </group>
+                </group>
+                <group android:name="_R_G_L_0_G_N_4_N_1_T_0" android:translateX="16"
+                       android:translateY="16" android:scaleX="1.3" android:scaleY="1.3">
+                    <group android:name="_R_G_L_0_G_N_4_T_1" android:translateX="0"
+                           android:translateY="3">
+                        <group android:name="_R_G_L_0_G_N_4_T_0" android:translateX="-8.25"
+                               android:translateY="-7.25">
+                            <group android:name="_R_G_L_0_G" android:translateX="-16.219"
+                                   android:translateY="32.25" android:pivotX="27.965"
+                                   android:pivotY="-32" android:scaleX="0.125"
+                                   android:scaleY="0.125">
+                                <path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="#ff0000"
+                                      android:fillAlpha="0" android:fillType="nonZero"
+                                      android:pathData=" M79.79 -48.55 C79.79,-48.55 79.75,-53.75 79.78,-55.48 C79.83,-57.62 79.08,-78.36 53.07,-78.83 C29.5,-79.25 25.2,-59.38 25.22,-58.27 C25.25,-56.25 24.97,-31.17 24.97,-31.17 "/>
+                                <path android:name="_R_G_L_0_G_D_1_P_0"
+                                      android:strokeColor="?attr/textColor" android:strokeLineCap="round"
+                                      android:strokeLineJoin="round" android:strokeWidth="16"
+                                      android:strokeAlpha="1"
+                                      android:pathData=" M79.79 -48.55 C79.79,-48.55 79.75,-53.75 79.78,-55.48 C79.83,-57.62 79.08,-78.36 53.07,-78.83 C29.5,-79.25 25.2,-59.38 25.22,-58.27 C25.25,-56.25 24.97,-31.17 24.97,-31.17 "/>
+                            </group>
+                        </group>
+                    </group>
+                </group>
+            </group>
+            <group android:name="time_group"/>
+        </vector>
+    </aapt:attr>
+    <target android:name="_R_G_L_2_G_T_1">
+        <aapt:attr name="android:animation">
+            <set android:ordering="together">
+                <objectAnimator android:propertyName="translateXY" android:duration="400"
+                                android:startOffset="0" android:propertyXName="translateX"
+                                android:propertyYName="translateY"
+                                android:pathData="M 0,3C 0,3.09895833581686 0,3 0,3">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="translateXY" android:duration="67"
+                                android:startOffset="400" android:propertyXName="translateX"
+                                android:propertyYName="translateY"
+                                android:pathData="M 0,3C 0,3.09895833581686 0,3.594 0,3.594">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="translateXY" android:duration="83"
+                                android:startOffset="467" android:propertyXName="translateX"
+                                android:propertyYName="translateY"
+                                android:pathData="M 0,3.594C 0,3.594 0,3.09895833581686 0,3">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+            </set>
+        </aapt:attr>
+    </target>
+    <target android:name="_R_G_L_1_G">
+        <aapt:attr name="android:animation">
+            <set android:ordering="together">
+                <objectAnimator android:propertyName="scaleX" android:duration="450"
+                                android:startOffset="0" android:valueFrom="1" android:valueTo="1"
+                                android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="450"
+                                android:startOffset="0" android:valueFrom="1" android:valueTo="1"
+                                android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleX" android:duration="67"
+                                android:startOffset="450" android:valueFrom="1"
+                                android:valueTo="1.1" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="67"
+                                android:startOffset="450" android:valueFrom="1"
+                                android:valueTo="1.1" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleX" android:duration="183"
+                                android:startOffset="517" android:valueFrom="1.1"
+                                android:valueTo="1" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="183"
+                                android:startOffset="517" android:valueFrom="1.1"
+                                android:valueTo="1" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+            </set>
+        </aapt:attr>
+    </target>
+    <target android:name="_R_G_L_1_G_N_4_T_1">
+        <aapt:attr name="android:animation">
+            <set android:ordering="together">
+                <objectAnimator android:propertyName="translateXY" android:duration="400"
+                                android:startOffset="0" android:propertyXName="translateX"
+                                android:propertyYName="translateY"
+                                android:pathData="M 0,3C 0,3.09895833581686 0,3 0,3">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="translateXY" android:duration="67"
+                                android:startOffset="400" android:propertyXName="translateX"
+                                android:propertyYName="translateY"
+                                android:pathData="M 0,3C 0,3.09895833581686 0,3.594 0,3.594">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="translateXY" android:duration="83"
+                                android:startOffset="467" android:propertyXName="translateX"
+                                android:propertyYName="translateY"
+                                android:pathData="M 0,3.594C 0,3.594 0,3.09895833581686 0,3">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+            </set>
+        </aapt:attr>
+    </target>
+    <target android:name="_R_G_L_0_G_D_0_P_0">
+        <aapt:attr name="android:animation">
+            <set android:ordering="together">
+                <objectAnimator android:propertyName="pathData" android:duration="317"
+                                android:startOffset="0"
+                                android:valueFrom="M79.79 -48.55 C79.79,-48.55 79.75,-53.75 79.78,-55.48 C79.83,-57.62 79.08,-78.36 53.07,-78.83 C29.5,-79.25 25.2,-59.38 25.22,-58.27 C25.25,-56.25 24.97,-31.17 24.97,-31.17 "
+                                android:valueTo="M-27.97 -55.05 C-27.97,-55.05 -28,-60.25 -27.97,-61.98 C-27.92,-64.13 -23.5,-86.37 -0.75,-86.32 C22.77,-86.26 27.75,-65.87 27.72,-64.77 C27.55,-59.38 27.97,-31.67 27.97,-31.67 "
+                                android:valueType="pathType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.974,0 0.458,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="pathData" android:duration="133"
+                                android:startOffset="317"
+                                android:valueFrom="M-27.97 -55.05 C-27.97,-55.05 -28,-60.25 -27.97,-61.98 C-27.92,-64.13 -23.5,-86.37 -0.75,-86.32 C22.77,-86.26 27.75,-65.87 27.72,-64.77 C27.55,-59.38 27.97,-31.67 27.97,-31.67 "
+                                android:valueTo="M-28.21 -28.42 C-28.21,-28.42 -27.85,-44.88 -27.97,-51.98 C-28,-54.13 -23.5,-76.37 -0.75,-76.32 C22.77,-76.26 27.75,-55.87 27.72,-54.77 C27.55,-49.38 27.97,-28.17 27.97,-28.17 "
+                                android:valueType="pathType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="pathData" android:duration="250"
+                                android:startOffset="450"
+                                android:valueFrom="M-28.21 -28.42 C-28.21,-28.42 -27.85,-44.88 -27.97,-51.98 C-28,-54.13 -23.5,-76.37 -0.75,-76.32 C22.77,-76.26 27.75,-55.87 27.72,-54.77 C27.55,-49.38 27.97,-28.17 27.97,-28.17 "
+                                android:valueTo="M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "
+                                android:valueType="pathType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.414,0 0.647,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+            </set>
+        </aapt:attr>
+    </target>
+    <target android:name="_R_G_L_0_G_D_1_P_0">
+        <aapt:attr name="android:animation">
+            <set android:ordering="together">
+                <objectAnimator android:propertyName="pathData" android:duration="317"
+                                android:startOffset="0"
+                                android:valueFrom="M79.79 -48.55 C79.79,-48.55 79.75,-53.75 79.78,-55.48 C79.83,-57.62 79.08,-78.36 53.07,-78.83 C29.5,-79.25 25.2,-59.38 25.22,-58.27 C25.25,-56.25 24.97,-31.17 24.97,-31.17 "
+                                android:valueTo="M-27.97 -55.05 C-27.97,-55.05 -28,-60.25 -27.97,-61.98 C-27.92,-64.13 -23.5,-86.37 -0.75,-86.32 C22.77,-86.26 27.75,-65.87 27.72,-64.77 C27.55,-59.38 27.97,-31.67 27.97,-31.67 "
+                                android:valueType="pathType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.974,0 0.458,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="pathData" android:duration="133"
+                                android:startOffset="317"
+                                android:valueFrom="M-27.97 -55.05 C-27.97,-55.05 -28,-60.25 -27.97,-61.98 C-27.92,-64.13 -23.5,-86.37 -0.75,-86.32 C22.77,-86.26 27.75,-65.87 27.72,-64.77 C27.55,-59.38 27.97,-31.67 27.97,-31.67 "
+                                android:valueTo="M-28.21 -28.42 C-28.21,-28.42 -27.85,-44.88 -27.97,-51.98 C-28,-54.13 -23.5,-76.37 -0.75,-76.32 C22.77,-76.26 27.75,-55.87 27.72,-54.77 C27.55,-49.38 27.97,-28.17 27.97,-28.17 "
+                                android:valueType="pathType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="pathData" android:duration="250"
+                                android:startOffset="450"
+                                android:valueFrom="M-28.21 -28.42 C-28.21,-28.42 -27.85,-44.88 -27.97,-51.98 C-28,-54.13 -23.5,-76.37 -0.75,-76.32 C22.77,-76.26 27.75,-55.87 27.72,-54.77 C27.55,-49.38 27.97,-28.17 27.97,-28.17 "
+                                android:valueTo="M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "
+                                android:valueType="pathType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.414,0 0.647,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+            </set>
+        </aapt:attr>
+    </target>
+    <target android:name="_R_G_L_0_G_N_4_T_1">
+        <aapt:attr name="android:animation">
+            <set android:ordering="together">
+                <objectAnimator android:propertyName="translateXY" android:duration="400"
+                                android:startOffset="0" android:propertyXName="translateX"
+                                android:propertyYName="translateY"
+                                android:pathData="M 0,3C 0,3.09895833581686 0,3 0,3">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="translateXY" android:duration="67"
+                                android:startOffset="400" android:propertyXName="translateX"
+                                android:propertyYName="translateY"
+                                android:pathData="M 0,3C 0,3.09895833581686 0,3.594 0,3.594">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="translateXY" android:duration="83"
+                                android:startOffset="467" android:propertyXName="translateX"
+                                android:propertyYName="translateY"
+                                android:pathData="M 0,3.594C 0,3.594 0,3.09895833581686 0,3">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+            </set>
+        </aapt:attr>
+    </target>
+    <target android:name="time_group">
+        <aapt:attr name="android:animation">
+            <set android:ordering="together">
+                <objectAnimator android:propertyName="translateX" android:duration="717"
+                                android:startOffset="0" android:valueFrom="0" android:valueTo="1"
+                                android:valueType="floatType"/>
+            </set>
+        </aapt:attr>
+    </target>
+</animated-vector>
\ No newline at end of file
diff --git a/core/res/res/anim/lock_scanning.xml b/core/res/res/anim/lock_scanning.xml
new file mode 100644
index 0000000..998c965
--- /dev/null
+++ b/core/res/res/anim/lock_scanning.xml
@@ -0,0 +1,378 @@
+<!--
+     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.
+-->
+<animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
+                 xmlns:aapt="http://schemas.android.com/aapt">
+    <aapt:attr name="android:drawable">
+        <vector android:height="42dp" android:width="32dp" android:viewportHeight="42"
+                android:viewportWidth="32">
+            <group android:name="_R_G">
+                <group android:name="_R_G_L_2_G_N_5_N_1_T_0" android:translateY="5"
+                       android:pivotX="16" android:pivotY="16" android:scaleX="2"
+                       android:scaleY="2">
+                    <group android:name="_R_G_L_2_G_N_5_T_0" android:translateX="7.75"
+                           android:translateY="10.670000000000002" android:pivotX="8.25"
+                           android:pivotY="7.25" android:scaleX="0.64" android:scaleY="0.64">
+                        <group android:name="_R_G_L_2_G" android:translateX="6"
+                               android:translateY="5" android:pivotX="2.25" android:pivotY="2.25"
+                               android:scaleX="1" android:scaleY="1">
+                            <path android:name="_R_G_L_2_G_D_0_P_0" android:fillColor="?attr/textColor"
+                                  android:fillAlpha="1" android:fillType="nonZero"
+                                  android:pathData=" M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c "/>
+                        </group>
+                    </group>
+                </group>
+                <group android:name="_R_G_L_1_G_N_5_N_1_T_0" android:translateY="5"
+                       android:pivotX="16" android:pivotY="16" android:scaleX="2"
+                       android:scaleY="2">
+                    <group android:name="_R_G_L_1_G_N_5_T_0" android:translateX="7.75"
+                           android:translateY="10.670000000000002" android:pivotX="8.25"
+                           android:pivotY="7.25" android:scaleX="0.64" android:scaleY="0.64">
+                        <group android:name="_R_G_L_1_G_T_1" android:translateX="8.25"
+                               android:translateY="1.121" android:scaleX="0.125"
+                               android:scaleY="0.125">
+                            <group android:name="_R_G_L_1_G" android:translateY="25.029">
+                                <path android:name="_R_G_L_1_G_D_0_P_0"
+                                      android:strokeColor="?attr/textColor" android:strokeLineCap="round"
+                                      android:strokeLineJoin="round" android:strokeWidth="16"
+                                      android:strokeAlpha="1"
+                                      android:pathData=" M-28.21 -25.03 C-28.21,-25.03 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.93,-26.15 27.93,-26.15 "/>
+                            </group>
+                        </group>
+                    </group>
+                </group>
+                <group android:name="_R_G_L_0_G_N_5_N_1_T_0" android:translateY="5"
+                       android:pivotX="16" android:pivotY="16" android:scaleX="2"
+                       android:scaleY="2">
+                    <group android:name="_R_G_L_0_G_N_5_T_0" android:translateX="7.75"
+                           android:translateY="10.670000000000002" android:pivotX="8.25"
+                           android:pivotY="7.25" android:scaleX="0.64" android:scaleY="0.64">
+                        <group android:name="_R_G_L_0_G" android:translateY="0.04699999999999971"
+                               android:pivotX="8.25" android:pivotY="7.25" android:scaleX="1.01562"
+                               android:scaleY="1.01563">
+                            <path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="?attr/textColor"
+                                  android:fillAlpha="1" android:fillType="nonZero"
+                                  android:pathData=" M14.25 0.25 C14.25,0.25 12.75,0.25 12.75,0.25 C12.75,0.25 10.75,0.25 10.75,0.25 C10.75,0.25 5.75,0.25 5.75,0.25 C5.75,0.25 3.75,0.25 3.75,0.25 C3.75,0.25 2.25,0.25 2.25,0.25 C1.15,0.25 0.25,1.15 0.25,2.25 C0.25,2.25 0.25,12.25 0.25,12.25 C0.25,13.35 1.15,14.25 2.25,14.25 C2.25,14.25 14.25,14.25 14.25,14.25 C15.35,14.25 16.25,13.35 16.25,12.25 C16.25,12.25 16.25,2.25 16.25,2.25 C16.25,1.15 15.35,0.25 14.25,0.25c  M14.25 12.25 C14.25,12.25 2.25,12.25 2.25,12.25 C2.25,12.25 2.25,2.25 2.25,2.25 C2.25,2.25 3.75,2.25 3.75,2.25 C3.75,2.25 12.75,2.25 12.75,2.25 C12.75,2.25 14.25,2.25 14.25,2.25 C14.25,2.25 14.25,12.25 14.25,12.25c "/>
+                        </group>
+                    </group>
+                </group>
+            </group>
+            <group android:name="time_group"/>
+        </vector>
+    </aapt:attr>
+    <target android:name="_R_G_L_2_G">
+        <aapt:attr name="android:animation">
+            <set android:ordering="together">
+                <objectAnimator android:propertyName="scaleX" android:duration="150"
+                                android:startOffset="0" android:valueFrom="1" android:valueTo="1"
+                                android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="150"
+                                android:startOffset="0" android:valueFrom="1" android:valueTo="1"
+                                android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleX" android:duration="117"
+                                android:startOffset="150" android:valueFrom="1"
+                                android:valueTo="0.6" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="117"
+                                android:startOffset="150" android:valueFrom="1"
+                                android:valueTo="0.6" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleX" android:duration="333"
+                                android:startOffset="267" android:valueFrom="0.6"
+                                android:valueTo="1" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="333"
+                                android:startOffset="267" android:valueFrom="0.6"
+                                android:valueTo="1" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+            </set>
+        </aapt:attr>
+    </target>
+    <target android:name="_R_G_L_2_G_N_5_T_0">
+        <aapt:attr name="android:animation">
+            <set android:ordering="together">
+                <objectAnimator android:propertyName="scaleX" android:duration="83"
+                                android:startOffset="0" android:valueFrom="0.64"
+                                android:valueTo="0.64" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="83"
+                                android:startOffset="0" android:valueFrom="0.64"
+                                android:valueTo="0.64" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleX" android:duration="83"
+                                android:startOffset="83" android:valueFrom="0.64"
+                                android:valueTo="0.62" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="83"
+                                android:startOffset="83" android:valueFrom="0.64"
+                                android:valueTo="0.62" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleX" android:duration="183"
+                                android:startOffset="167" android:valueFrom="0.62"
+                                android:valueTo="0.8" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="183"
+                                android:startOffset="167" android:valueFrom="0.62"
+                                android:valueTo="0.8" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleX" android:duration="250"
+                                android:startOffset="350" android:valueFrom="0.8"
+                                android:valueTo="0.64" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="250"
+                                android:startOffset="350" android:valueFrom="0.8"
+                                android:valueTo="0.64" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+            </set>
+        </aapt:attr>
+    </target>
+    <target android:name="_R_G_L_1_G_D_0_P_0">
+        <aapt:attr name="android:animation">
+            <set android:ordering="together">
+                <objectAnimator android:propertyName="pathData" android:duration="83"
+                                android:startOffset="0"
+                                android:valueFrom="M-28.21 -25.03 C-28.21,-25.03 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.93,-26.15 27.93,-26.15 "
+                                android:valueTo="M-28.21 -25.03 C-28.21,-25.03 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.93,-26.15 27.93,-26.15 "
+                                android:valueType="pathType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="pathData" android:duration="150"
+                                android:startOffset="83"
+                                android:valueFrom="M-28.21 -25.03 C-28.21,-25.03 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.93,-26.15 27.93,-26.15 "
+                                android:valueTo="M-28.02 -43.42 C-28.02,-43.42 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.76,-43.67 27.76,-43.67 "
+                                android:valueType="pathType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="pathData" android:duration="117"
+                                android:startOffset="233"
+                                android:valueFrom="M-28.02 -43.42 C-28.02,-43.42 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.76,-43.67 27.76,-43.67 "
+                                android:valueTo="M-28.21 -25.03 C-28.21,-25.03 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.93,-26.15 27.93,-26.15 "
+                                android:valueType="pathType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+            </set>
+        </aapt:attr>
+    </target>
+    <target android:name="_R_G_L_1_G_T_1">
+        <aapt:attr name="android:animation">
+            <set android:ordering="together">
+                <objectAnimator android:propertyName="translateY" android:duration="83"
+                                android:startOffset="0" android:valueFrom="1.121"
+                                android:valueTo="1.121" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="translateY" android:duration="150"
+                                android:startOffset="83" android:valueFrom="1.121"
+                                android:valueTo="3.749" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="translateY" android:duration="117"
+                                android:startOffset="233" android:valueFrom="3.749"
+                                android:valueTo="1.121" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+            </set>
+        </aapt:attr>
+    </target>
+    <target android:name="_R_G_L_1_G_N_5_T_0">
+        <aapt:attr name="android:animation">
+            <set android:ordering="together">
+                <objectAnimator android:propertyName="scaleX" android:duration="83"
+                                android:startOffset="0" android:valueFrom="0.64"
+                                android:valueTo="0.64" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="83"
+                                android:startOffset="0" android:valueFrom="0.64"
+                                android:valueTo="0.64" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleX" android:duration="83"
+                                android:startOffset="83" android:valueFrom="0.64"
+                                android:valueTo="0.62" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="83"
+                                android:startOffset="83" android:valueFrom="0.64"
+                                android:valueTo="0.62" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleX" android:duration="183"
+                                android:startOffset="167" android:valueFrom="0.62"
+                                android:valueTo="0.8" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="183"
+                                android:startOffset="167" android:valueFrom="0.62"
+                                android:valueTo="0.8" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleX" android:duration="250"
+                                android:startOffset="350" android:valueFrom="0.8"
+                                android:valueTo="0.64" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="250"
+                                android:startOffset="350" android:valueFrom="0.8"
+                                android:valueTo="0.64" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+            </set>
+        </aapt:attr>
+    </target>
+    <target android:name="_R_G_L_0_G_N_5_T_0">
+        <aapt:attr name="android:animation">
+            <set android:ordering="together">
+                <objectAnimator android:propertyName="scaleX" android:duration="83"
+                                android:startOffset="0" android:valueFrom="0.64"
+                                android:valueTo="0.64" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="83"
+                                android:startOffset="0" android:valueFrom="0.64"
+                                android:valueTo="0.64" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleX" android:duration="83"
+                                android:startOffset="83" android:valueFrom="0.64"
+                                android:valueTo="0.62" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="83"
+                                android:startOffset="83" android:valueFrom="0.64"
+                                android:valueTo="0.62" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleX" android:duration="183"
+                                android:startOffset="167" android:valueFrom="0.62"
+                                android:valueTo="0.8" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="183"
+                                android:startOffset="167" android:valueFrom="0.62"
+                                android:valueTo="0.8" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleX" android:duration="250"
+                                android:startOffset="350" android:valueFrom="0.8"
+                                android:valueTo="0.64" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="scaleY" android:duration="250"
+                                android:startOffset="350" android:valueFrom="0.8"
+                                android:valueTo="0.64" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+            </set>
+        </aapt:attr>
+    </target>
+    <target android:name="time_group">
+        <aapt:attr name="android:animation">
+            <set android:ordering="together">
+                <objectAnimator android:propertyName="translateX" android:duration="1000"
+                                android:startOffset="0" android:valueFrom="0" android:valueTo="1"
+                                android:valueType="floatType"/>
+            </set>
+        </aapt:attr>
+    </target>
+</animated-vector>
\ No newline at end of file
diff --git a/core/res/res/anim/lock_to_error.xml b/core/res/res/anim/lock_to_error.xml
index 29b4964..ddef96b 100755
--- a/core/res/res/anim/lock_to_error.xml
+++ b/core/res/res/anim/lock_to_error.xml
@@ -14,545 +14,166 @@
      limitations under the License.
 -->
 <animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:aapt="http://schemas.android.com/aapt">
+                 xmlns:aapt="http://schemas.android.com/aapt">
     <aapt:attr name="android:drawable">
-        <vector
-            android:width="24dp"
-            android:height="24dp"
-            android:viewportWidth="24"
-            android:viewportHeight="24">
+        <vector android:height="32dp" android:width="32dp" android:viewportHeight="32"
+                android:viewportWidth="32">
             <group android:name="_R_G">
-                <group
-                    android:name="_R_G_L_3_G"
-                    android:pivotY="-32"
-                    android:scaleX="0.12762"
-                    android:scaleY="0.12762"
-                    android:translateX="12"
-                    android:translateY="39.871">
-                    <path
-                        android:name="_R_G_L_3_G_D_0_P_0"
-                        android:fillAlpha="0"
-                        android:fillColor="#ff0000"
-                        android:fillType="nonZero"
-                        android:pathData=" M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "
-                        android:trimPathStart="0"
-                        android:trimPathEnd="1"
-                        android:trimPathOffset="0" />
-                    <path
-                        android:name="_R_G_L_3_G_D_1_P_0"
-                        android:pathData=" M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "
-                        android:strokeWidth="16"
-                        android:strokeAlpha="1"
-                        android:strokeColor="?attr/textColor"
-                        android:trimPathStart="0"
-                        android:trimPathEnd="1"
-                        android:trimPathOffset="0" />
-                </group>
-                <group
-                    android:name="_R_G_L_2_G_T_1"
-                    android:rotation="45"
-                    android:scaleX="1"
-                    android:scaleY="1"
-                    android:translateX="12"
-                    android:translateY="15">
-                    <group
-                        android:name="_R_G_L_2_G"
-                        android:translateX="-2.25"
-                        android:translateY="-2.25">
-                        <path
-                            android:name="_R_G_L_2_G_D_0_P_0"
-                            android:fillAlpha="1"
-                            android:fillColor="?attr/textColor"
-                            android:fillType="nonZero"
-                            android:pathData=" M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c " />
+                <group android:name="_R_G_L_2_G_N_2_T_0" android:translateX="7.75"
+                       android:translateY="12.649999999999999" android:pivotX="8.25"
+                       android:pivotY="7.25" android:rotation="0" android:scaleX="1.3"
+                       android:scaleY="1.3">
+                    <group android:name="_R_G_L_2_G" android:translateX="6"
+                           android:translateY="4.954" android:pivotX="2.25" android:pivotY="2.25"
+                           android:scaleX="0.98462" android:scaleY="0.98462">
+                        <path android:name="_R_G_L_2_G_D_0_P_0" android:fillColor="?attr/textColor"
+                              android:fillAlpha="1" android:fillType="nonZero"
+                              android:pathData=" M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c "/>
                     </group>
                 </group>
-                <group
-                    android:name="_R_G_L_1_G_T_1"
-                    android:scaleX="0.125"
-                    android:scaleY="0.125"
-                    android:translateX="12.023"
-                    android:translateY="1.281">
-                    <group
-                        android:name="_R_G_L_1_G"
-                        android:translateX="0.317"
-                        android:translateY="45.25">
-                        <path
-                            android:name="_R_G_L_1_G_D_0_P_0"
-                            android:fillAlpha="0"
-                            android:fillColor="#EA4335"
-                            android:fillType="nonZero"
-                            android:pathData=" M4.21 -42.01 C4.21,-42.01 4.21,-32 4.21,-32 C4.21,-32 -5.25,-32 -5.25,-32 C-5.25,-32 -5.25,-42.01 -5.25,-42.01 C-5.25,-42.01 4.21,-42.01 4.21,-42.01c " />
+                <group android:name="_R_G_L_1_G_N_2_T_0" android:translateX="7.75"
+                       android:translateY="12.649999999999999" android:pivotX="8.25"
+                       android:pivotY="7.25" android:rotation="0" android:scaleX="1.3"
+                       android:scaleY="1.3">
+                    <group android:name="_R_G_L_1_G" android:translateX="-16.273"
+                           android:translateY="32.312" android:pivotX="27.965" android:pivotY="-32"
+                           android:scaleX="0.12308" android:scaleY="0.12308">
+                        <path android:name="_R_G_L_1_G_D_0_P_0" android:strokeColor="?attr/textColor"
+                              android:strokeLineCap="round" android:strokeLineJoin="round"
+                              android:strokeWidth="16" android:strokeAlpha="1"
+                              android:pathData=" M-28.21 -25.03 C-28.21,-25.03 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.93,-26.15 27.93,-26.15 "/>
                     </group>
                 </group>
-                <group
-                    android:name="_R_G_L_0_G"
-                    android:pivotY="21"
-                    android:scaleX="0.14286"
-                    android:scaleY="0.14286"
-                    android:translateX="12"
-                    android:translateY="-6">
-                    <path
-                        android:name="_R_G_L_0_G_D_0_P_0"
-                        android:fillAlpha="0"
-                        android:fillColor="#ffffff"
-                        android:fillType="nonZero"
-                        android:pathData=" M49.24 -12.32 C49.24,-12.32 49.24,52.91 49.24,52.91 C49.24,58.95 44.34,63.85 38.3,63.85 C38.3,63.85 -37.8,63.85 -37.8,63.85 C-43.84,63.85 -48.74,58.95 -48.74,52.91 C-48.74,52.91 -48.74,-12.32 -48.74,-12.32 C-48.74,-18.37 -43.84,-23.27 -37.8,-23.27 C-37.8,-23.27 38.3,-23.27 38.3,-23.27 C44.34,-23.27 49.24,-18.37 49.24,-12.32c " />
-                    <path
-                        android:name="_R_G_L_0_G_D_1_P_0"
-                        android:pathData=" M49.24 -12.32 C49.24,-12.32 49.24,52.91 49.24,52.91 C49.24,58.95 44.34,63.85 38.3,63.85 C38.3,63.85 -37.8,63.85 -37.8,63.85 C-43.84,63.85 -48.74,58.95 -48.74,52.91 C-48.74,52.91 -48.74,-12.32 -48.74,-12.32 C-48.74,-18.37 -43.84,-23.27 -37.8,-23.27 C-37.8,-23.27 38.3,-23.27 38.3,-23.27 C44.34,-23.27 49.24,-18.37 49.24,-12.32c "
-                        android:strokeWidth="14"
-                        android:strokeAlpha="1"
-                        android:strokeColor="?attr/textColor"
-                        android:strokeLineCap="round"
-                        android:strokeLineJoin="round" />
+                <group android:name="_R_G_L_0_G" android:translateX="7.75"
+                       android:translateY="12.649999999999999" android:pivotX="8.25"
+                       android:pivotY="7.25" android:rotation="0" android:scaleX="1.3"
+                       android:scaleY="1.3">
+                    <path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="?attr/textColor"
+                          android:fillAlpha="1" android:fillType="nonZero"
+                          android:pathData=" M14.25 0.25 C14.25,0.25 12.75,0.25 12.75,0.25 C12.75,0.25 10.75,0.25 10.75,0.25 C10.75,0.25 5.75,0.25 5.75,0.25 C5.75,0.25 3.75,0.25 3.75,0.25 C3.75,0.25 2.25,0.25 2.25,0.25 C1.15,0.25 0.25,1.15 0.25,2.25 C0.25,2.25 0.25,12.25 0.25,12.25 C0.25,13.35 1.15,14.25 2.25,14.25 C2.25,14.25 14.25,14.25 14.25,14.25 C15.35,14.25 16.25,13.35 16.25,12.25 C16.25,12.25 16.25,2.25 16.25,2.25 C16.25,1.15 15.35,0.25 14.25,0.25c  M14.25 12.25 C14.25,12.25 2.25,12.25 2.25,12.25 C2.25,12.25 2.25,2.25 2.25,2.25 C2.25,2.25 3.75,2.25 3.75,2.25 C3.75,2.25 12.75,2.25 12.75,2.25 C12.75,2.25 14.25,2.25 14.25,2.25 C14.25,2.25 14.25,12.25 14.25,12.25c "/>
                 </group>
             </group>
-            <group android:name="time_group" />
+            <group android:name="time_group"/>
         </vector>
     </aapt:attr>
-    <target android:name="_R_G_L_3_G_D_0_P_0">
+    <target android:name="_R_G_L_2_G_N_2_T_0">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="250"
-                    android:propertyName="trimPathStart"
-                    android:startOffset="0"
-                    android:valueFrom="0"
-                    android:valueTo="0.5"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="rotation" android:duration="133"
+                                android:startOffset="0" android:valueFrom="0" android:valueTo="0"
+                                android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="rotation" android:duration="120"
+                                android:startOffset="133" android:valueFrom="0"
+                                android:valueTo="-10" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="rotation" android:duration="97"
+                                android:startOffset="253" android:valueFrom="-10"
+                                android:valueTo="10" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.531,0 0.389,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="rotation" android:duration="100"
+                                android:startOffset="350" android:valueFrom="10"
+                                android:valueTo="-5" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.499,0 0.489,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="rotation" android:duration="167"
+                                android:startOffset="450" android:valueFrom="-5" android:valueTo="0"
+                                android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.293,0 0.689,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
         </aapt:attr>
     </target>
-    <target android:name="_R_G_L_3_G_D_0_P_0">
+    <target android:name="_R_G_L_1_G_N_2_T_0">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="250"
-                    android:propertyName="trimPathEnd"
-                    android:startOffset="0"
-                    android:valueFrom="1"
-                    android:valueTo="0.5"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="rotation" android:duration="133"
+                                android:startOffset="0" android:valueFrom="0" android:valueTo="0"
+                                android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="rotation" android:duration="120"
+                                android:startOffset="133" android:valueFrom="0"
+                                android:valueTo="-10" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="rotation" android:duration="97"
+                                android:startOffset="253" android:valueFrom="-10"
+                                android:valueTo="10" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.531,0 0.389,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="rotation" android:duration="100"
+                                android:startOffset="350" android:valueFrom="10"
+                                android:valueTo="-5" android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.499,0 0.489,1 1.0,1.0"/>
+                    </aapt:attr>
+                </objectAnimator>
+                <objectAnimator android:propertyName="rotation" android:duration="167"
+                                android:startOffset="450" android:valueFrom="-5" android:valueTo="0"
+                                android:valueType="floatType">
+                    <aapt:attr name="android:interpolator">
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.293,0 0.689,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
         </aapt:attr>
     </target>
-    <target android:name="_R_G_L_3_G_D_1_P_0">
+    <target android:name="_R_G_L_0_G">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="117"
-                    android:propertyName="strokeColor"
-                    android:startOffset="0"
-                    android:valueFrom="#fff"
-                    android:valueTo="#fff"
-                    android:valueType="colorType">
+                <objectAnimator android:propertyName="rotation" android:duration="133"
+                                android:startOffset="0" android:valueFrom="0" android:valueTo="0"
+                                android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="17"
-                    android:propertyName="strokeColor"
-                    android:startOffset="117"
-                    android:valueFrom="#fff"
-                    android:valueTo="#EA4335"
-                    android:valueType="colorType">
+                <objectAnimator android:propertyName="rotation" android:duration="120"
+                                android:startOffset="133" android:valueFrom="0"
+                                android:valueTo="-10" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.44,0 0.601,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_3_G_D_1_P_0">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="133"
-                    android:propertyName="strokeWidth"
-                    android:startOffset="0"
-                    android:valueFrom="16"
-                    android:valueTo="8"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="rotation" android:duration="97"
+                                android:startOffset="253" android:valueFrom="-10"
+                                android:valueTo="10" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.531,0 0.389,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_3_G_D_1_P_0">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="250"
-                    android:propertyName="trimPathStart"
-                    android:startOffset="0"
-                    android:valueFrom="0"
-                    android:valueTo="0.5"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="rotation" android:duration="100"
+                                android:startOffset="350" android:valueFrom="10"
+                                android:valueTo="-5" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.499,0 0.489,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_3_G_D_1_P_0">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="250"
-                    android:propertyName="trimPathEnd"
-                    android:startOffset="0"
-                    android:valueFrom="1"
-                    android:valueTo="0.5"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="rotation" android:duration="167"
+                                android:startOffset="450" android:valueFrom="-5" android:valueTo="0"
+                                android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_3_G">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="0"
-                    android:propertyName="scaleY"
-                    android:startOffset="183"
-                    android:valueFrom="0.12762"
-                    android:valueTo="0"
-                    android:valueType="floatType" />
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_2_G_D_0_P_0">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="117"
-                    android:propertyName="fillColor"
-                    android:startOffset="0"
-                    android:valueFrom="#fff"
-                    android:valueTo="#fff"
-                    android:valueType="colorType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-                <objectAnimator
-                    android:duration="17"
-                    android:propertyName="fillColor"
-                    android:startOffset="117"
-                    android:valueFrom="#fff"
-                    android:valueTo="#EA4335"
-                    android:valueType="colorType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_2_G_D_0_P_0">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="133"
-                    android:propertyName="pathData"
-                    android:startOffset="0"
-                    android:valueFrom="M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c "
-                    android:valueTo="M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c "
-                    android:valueType="pathType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0 0.833,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-                <objectAnimator
-                    android:duration="133"
-                    android:propertyName="pathData"
-                    android:startOffset="133"
-                    android:valueFrom="M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c "
-                    android:valueTo="M2.25 0.25 C2.25,0.25 4.25,2.25 4.25,2.25 C4.25,2.25 2.25,4.25 2.25,4.25 C2.25,4.25 0.25,2.25 0.25,2.25 C0.25,2.25 2.25,0.25 2.25,0.25c "
-                    android:valueType="pathType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_2_G_T_1">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="17"
-                    android:pathData="M 12,15C 12,15.171875 12,14.828125 12,15"
-                    android:propertyName="translateXY"
-                    android:propertyXName="translateX"
-                    android:propertyYName="translateY"
-                    android:startOffset="0">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-                <objectAnimator
-                    android:duration="333"
-                    android:pathData="M 12,15C 12,15.171875 12,15.859124999999999 12,16.031"
-                    android:propertyName="translateXY"
-                    android:propertyXName="translateX"
-                    android:propertyYName="translateY"
-                    android:startOffset="17">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_2_G_T_1">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="17"
-                    android:propertyName="scaleX"
-                    android:startOffset="0"
-                    android:valueFrom="1"
-                    android:valueTo="1"
-                    android:valueType="floatType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-                <objectAnimator
-                    android:duration="17"
-                    android:propertyName="scaleY"
-                    android:startOffset="0"
-                    android:valueFrom="1"
-                    android:valueTo="1"
-                    android:valueType="floatType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-                <objectAnimator
-                    android:duration="333"
-                    android:propertyName="scaleX"
-                    android:startOffset="17"
-                    android:valueFrom="1"
-                    android:valueTo="0.4325"
-                    android:valueType="floatType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-                <objectAnimator
-                    android:duration="333"
-                    android:propertyName="scaleY"
-                    android:startOffset="17"
-                    android:valueFrom="1"
-                    android:valueTo="0.4325"
-                    android:valueType="floatType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_1_G_D_0_P_0">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="150"
-                    android:propertyName="fillAlpha"
-                    android:startOffset="0"
-                    android:valueFrom="0"
-                    android:valueTo="0"
-                    android:valueType="floatType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-                <objectAnimator
-                    android:duration="17"
-                    android:propertyName="fillAlpha"
-                    android:startOffset="150"
-                    android:valueFrom="0"
-                    android:valueTo="1"
-                    android:valueType="floatType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_1_G_D_0_P_0">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="167"
-                    android:propertyName="pathData"
-                    android:startOffset="0"
-                    android:valueFrom="M4.21 -42.01 C4.21,-42.01 4.21,-32 4.21,-32 C4.21,-32 -5.25,-32 -5.25,-32 C-5.25,-32 -5.25,-42.01 -5.25,-42.01 C-5.25,-42.01 4.21,-42.01 4.21,-42.01c "
-                    android:valueTo="M4.21 -42.01 C4.21,-42.01 4.21,-32 4.21,-32 C4.21,-32 -5.25,-32 -5.25,-32 C-5.25,-32 -5.25,-42.01 -5.25,-42.01 C-5.25,-42.01 4.21,-42.01 4.21,-42.01c "
-                    android:valueType="pathType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-                <objectAnimator
-                    android:duration="183"
-                    android:propertyName="pathData"
-                    android:startOffset="167"
-                    android:valueFrom="M4.21 -42.01 C4.21,-42.01 4.21,-32 4.21,-32 C4.21,-32 -5.25,-32 -5.25,-32 C-5.25,-32 -5.25,-42.01 -5.25,-42.01 C-5.25,-42.01 4.21,-42.01 4.21,-42.01c "
-                    android:valueTo="M4.21 -42.01 C4.21,-42.01 4.16,33 4.16,33 C4.16,33 -5.3,33 -5.3,33 C-5.3,33 -5.25,-42.01 -5.25,-42.01 C-5.25,-42.01 4.21,-42.01 4.21,-42.01c "
-                    android:valueType="pathType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-                <objectAnimator
-                    android:duration="50"
-                    android:propertyName="pathData"
-                    android:startOffset="350"
-                    android:valueFrom="M4.21 -42.01 C4.21,-42.01 4.16,33 4.16,33 C4.16,33 -5.3,33 -5.3,33 C-5.3,33 -5.25,-42.01 -5.25,-42.01 C-5.25,-42.01 4.21,-42.01 4.21,-42.01c "
-                    android:valueTo="M4.21 -42.01 C4.21,-42.01 4.19,30.81 4.19,30.81 C4.19,30.81 -5.27,30.81 -5.27,30.81 C-5.27,30.81 -5.25,-42.01 -5.25,-42.01 C-5.25,-42.01 4.21,-42.01 4.21,-42.01c "
-                    android:valueType="pathType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_1_G_T_1">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="167"
-                    android:pathData="M 12.023,1.281C 12.023,1.656 12.023,0.9059999999999999 12.023,1.281"
-                    android:propertyName="translateXY"
-                    android:propertyXName="translateX"
-                    android:propertyYName="translateY"
-                    android:startOffset="0">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-                <objectAnimator
-                    android:duration="183"
-                    android:pathData="M 12.023,1.281C 12.023,1.656 12.023,3.156 12.023,3.531"
-                    android:propertyName="translateXY"
-                    android:propertyXName="translateX"
-                    android:propertyYName="translateY"
-                    android:startOffset="167">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_1_G_T_1">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="0"
-                    android:propertyName="scaleX"
-                    android:startOffset="167"
-                    android:valueFrom="0"
-                    android:valueTo="0.125"
-                    android:valueType="floatType" />
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_0_G_D_0_P_0">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="267"
-                    android:propertyName="pathData"
-                    android:startOffset="0"
-                    android:valueFrom="M49.24 -12.32 C49.24,-12.32 49.24,52.91 49.24,52.91 C49.24,58.95 44.34,63.85 38.3,63.85 C38.3,63.85 -37.8,63.85 -37.8,63.85 C-43.84,63.85 -48.74,58.95 -48.74,52.91 C-48.74,52.91 -48.74,-12.32 -48.74,-12.32 C-48.74,-18.37 -43.84,-23.27 -37.8,-23.27 C-37.8,-23.27 38.3,-23.27 38.3,-23.27 C44.34,-23.27 49.24,-18.37 49.24,-12.32c "
-                    android:valueTo="M75.1 -1.1 C75.1,19.57 66.72,38.28 53.18,51.83 C39.63,65.37 20.92,73.75 0.25,73.75 C-20.42,73.75 -39.13,65.37 -52.68,51.83 C-66.22,38.28 -74.6,19.57 -74.6,-1.1 C-74.6,-21.77 -66.22,-40.48 -52.68,-54.02 C-39.13,-67.57 -20.42,-75.95 0.25,-75.95 C20.92,-75.95 39.63,-67.57 53.18,-54.02 C66.72,-40.48 75.1,-21.77 75.1,-1.1c "
-                    android:valueType="pathType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_0_G_D_1_P_0">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="117"
-                    android:propertyName="strokeColor"
-                    android:startOffset="0"
-                    android:valueFrom="#fff"
-                    android:valueTo="#fff"
-                    android:valueType="colorType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-                <objectAnimator
-                    android:duration="17"
-                    android:propertyName="strokeColor"
-                    android:startOffset="117"
-                    android:valueFrom="#fff"
-                    android:valueTo="#EA4335"
-                    android:valueType="colorType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.167,0.167 0.833,0.833 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_0_G_D_1_P_0">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="267"
-                    android:propertyName="strokeWidth"
-                    android:startOffset="0"
-                    android:valueFrom="14"
-                    android:valueTo="12"
-                    android:valueType="floatType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
-                    </aapt:attr>
-                </objectAnimator>
-            </set>
-        </aapt:attr>
-    </target>
-    <target android:name="_R_G_L_0_G_D_1_P_0">
-        <aapt:attr name="android:animation">
-            <set android:ordering="together">
-                <objectAnimator
-                    android:duration="267"
-                    android:propertyName="pathData"
-                    android:startOffset="0"
-                    android:valueFrom="M49.24 -12.32 C49.24,-12.32 49.24,52.91 49.24,52.91 C49.24,58.95 44.34,63.85 38.3,63.85 C38.3,63.85 -37.8,63.85 -37.8,63.85 C-43.84,63.85 -48.74,58.95 -48.74,52.91 C-48.74,52.91 -48.74,-12.32 -48.74,-12.32 C-48.74,-18.37 -43.84,-23.27 -37.8,-23.27 C-37.8,-23.27 38.3,-23.27 38.3,-23.27 C44.34,-23.27 49.24,-18.37 49.24,-12.32c "
-                    android:valueTo="M75.1 -1.1 C75.1,19.57 66.72,38.28 53.18,51.83 C39.63,65.37 20.92,73.75 0.25,73.75 C-20.42,73.75 -39.13,65.37 -52.68,51.83 C-66.22,38.28 -74.6,19.57 -74.6,-1.1 C-74.6,-21.77 -66.22,-40.48 -52.68,-54.02 C-39.13,-67.57 -20.42,-75.95 0.25,-75.95 C20.92,-75.95 39.63,-67.57 53.18,-54.02 C66.72,-40.48 75.1,-21.77 75.1,-1.1c "
-                    android:valueType="pathType">
-                    <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.293,0 0.689,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
@@ -561,13 +182,9 @@
     <target android:name="time_group">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="1017"
-                    android:propertyName="translateX"
-                    android:startOffset="0"
-                    android:valueFrom="0"
-                    android:valueTo="1"
-                    android:valueType="floatType" />
+                <objectAnimator android:propertyName="translateX" android:duration="1000"
+                                android:startOffset="0" android:valueFrom="0" android:valueTo="1"
+                                android:valueType="floatType"/>
             </set>
         </aapt:attr>
     </target>
diff --git a/core/res/res/anim/lock_unlock.xml b/core/res/res/anim/lock_unlock.xml
index 9cc31a0..0e85c9d 100755
--- a/core/res/res/anim/lock_unlock.xml
+++ b/core/res/res/anim/lock_unlock.xml
@@ -14,124 +14,85 @@
      limitations under the License.
 -->
 <animated-vector xmlns:android="http://schemas.android.com/apk/res/android"
-    xmlns:aapt="http://schemas.android.com/aapt">
+                 xmlns:aapt="http://schemas.android.com/aapt">
     <aapt:attr name="android:drawable">
-        <vector
-            android:width="24dp"
-            android:height="24dp"
-            android:viewportWidth="24"
-            android:viewportHeight="24">
+        <vector android:height="40dp" android:width="32dp" android:viewportHeight="40"
+                android:viewportWidth="32">
             <group android:name="_R_G">
-                <group
-                    android:name="_R_G_L_2_G_T_1"
-                    android:translateX="12"
-                    android:translateY="15">
-                    <group
-                        android:name="_R_G_L_2_G"
-                        android:translateX="-8.25"
-                        android:translateY="-7.25">
-                        <path
-                            android:name="_R_G_L_2_G_D_0_P_0"
-                            android:fillAlpha="1"
-                            android:fillColor="?attr/textColor"
-                            android:fillType="nonZero"
-                            android:pathData=" M14.25 0.25 C14.25,0.25 12.75,0.25 12.75,0.25 C12.75,0.25 10.75,0.25 10.75,0.25 C10.75,0.25 5.75,0.25 5.75,0.25 C5.75,0.25 3.75,0.25 3.75,0.25 C3.75,0.25 2.25,0.25 2.25,0.25 C1.15,0.25 0.25,1.15 0.25,2.25 C0.25,2.25 0.25,12.25 0.25,12.25 C0.25,13.35 1.15,14.25 2.25,14.25 C2.25,14.25 14.25,14.25 14.25,14.25 C15.35,14.25 16.25,13.35 16.25,12.25 C16.25,12.25 16.25,2.25 16.25,2.25 C16.25,1.15 15.35,0.25 14.25,0.25c  M14.25 12.25 C14.25,12.25 2.25,12.25 2.25,12.25 C2.25,12.25 2.25,2.25 2.25,2.25 C2.25,2.25 3.75,2.25 3.75,2.25 C3.75,2.25 12.75,2.25 12.75,2.25 C12.75,2.25 14.25,2.25 14.25,2.25 C14.25,2.25 14.25,12.25 14.25,12.25c " />
-                    </group>
-                </group>
-                <group
-                    android:name="_R_G_L_1_G_N_5_T_1"
-                    android:translateX="12"
-                    android:translateY="15">
-                    <group
-                        android:name="_R_G_L_1_G_N_5_T_0"
-                        android:translateX="-8.25"
-                        android:translateY="-7.25">
-                        <group
-                            android:name="_R_G_L_1_G"
-                            android:pivotX="2.25"
-                            android:pivotY="2.25"
-                            android:scaleX="1"
-                            android:scaleY="1"
-                            android:translateX="6"
-                            android:translateY="5">
-                            <path
-                                android:name="_R_G_L_1_G_D_0_P_0"
-                                android:fillAlpha="1"
-                                android:fillColor="?attr/textColor"
-                                android:fillType="nonZero"
-                                android:pathData=" M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c " />
+                <group android:name="_R_G_L_2_G_N_1_T_0" android:translateX="16"
+                       android:translateY="20" android:scaleX="1.3" android:scaleY="1.3">
+                    <group android:name="_R_G_L_2_G_T_1" android:translateY="3">
+                        <group android:name="_R_G_L_2_G" android:translateX="-8.25"
+                               android:translateY="-7.25">
+                            <path android:name="_R_G_L_2_G_D_0_P_0" android:fillColor="?attr/textColor"
+                                  android:fillAlpha="1" android:fillType="nonZero"
+                                  android:pathData=" M14.25 0.25 C14.25,0.25 12.75,0.25 12.75,0.25 C12.75,0.25 10.75,0.25 10.75,0.25 C10.75,0.25 5.75,0.25 5.75,0.25 C5.75,0.25 3.75,0.25 3.75,0.25 C3.75,0.25 2.25,0.25 2.25,0.25 C1.15,0.25 0.25,1.15 0.25,2.25 C0.25,2.25 0.25,12.25 0.25,12.25 C0.25,13.35 1.15,14.25 2.25,14.25 C2.25,14.25 14.25,14.25 14.25,14.25 C15.35,14.25 16.25,13.35 16.25,12.25 C16.25,12.25 16.25,2.25 16.25,2.25 C16.25,1.15 15.35,0.25 14.25,0.25c  M14.25 12.25 C14.25,12.25 2.25,12.25 2.25,12.25 C2.25,12.25 2.25,2.25 2.25,2.25 C2.25,2.25 3.75,2.25 3.75,2.25 C3.75,2.25 12.75,2.25 12.75,2.25 C12.75,2.25 14.25,2.25 14.25,2.25 C14.25,2.25 14.25,12.25 14.25,12.25c "/>
                         </group>
                     </group>
                 </group>
-                <group
-                    android:name="_R_G_L_0_G_N_5_T_1"
-                    android:translateX="12"
-                    android:translateY="15">
-                    <group
-                        android:name="_R_G_L_0_G_N_5_T_0"
-                        android:translateX="-8.25"
-                        android:translateY="-7.25">
-                        <group
-                            android:name="_R_G_L_0_G"
-                            android:pivotX="27.965"
-                            android:pivotY="-32"
-                            android:scaleX="0.125"
-                            android:scaleY="0.125"
-                            android:translateX="-16.219"
-                            android:translateY="32.25">
-                            <path
-                                android:name="_R_G_L_0_G_D_0_P_0"
-                                android:fillAlpha="0"
-                                android:fillColor="#ff0000"
-                                android:fillType="nonZero"
-                                android:pathData=" M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 " />
-                            <path
-                                android:name="_R_G_L_0_G_D_1_P_0"
-                                android:pathData=" M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "
-                                android:strokeWidth="16"
-                                android:strokeAlpha="1"
-                                android:strokeColor="?attr/textColor"/>
+                <group android:name="_R_G_L_1_G_N_4_N_1_T_0" android:translateX="16"
+                       android:translateY="20" android:scaleX="1.3" android:scaleY="1.3">
+                    <group android:name="_R_G_L_1_G_N_4_T_1" android:translateY="3">
+                        <group android:name="_R_G_L_1_G_N_4_T_0" android:translateX="-8.25"
+                               android:translateY="-7.25">
+                            <group android:name="_R_G_L_1_G" android:translateX="6"
+                                   android:translateY="5" android:pivotX="2.25"
+                                   android:pivotY="2.25" android:scaleX="1" android:scaleY="1">
+                                <path android:name="_R_G_L_1_G_D_0_P_0" android:fillColor="?attr/textColor"
+                                      android:fillAlpha="1" android:fillType="nonZero"
+                                      android:pathData=" M2.25 0.25 C3.35,0.25 4.25,1.15 4.25,2.25 C4.25,3.35 3.35,4.25 2.25,4.25 C1.15,4.25 0.25,3.35 0.25,2.25 C0.25,1.15 1.15,0.25 2.25,0.25c "/>
+                            </group>
+                        </group>
+                    </group>
+                </group>
+                <group android:name="_R_G_L_0_G_N_4_N_1_T_0" android:translateX="16"
+                       android:translateY="20" android:scaleX="1.3" android:scaleY="1.3">
+                    <group android:name="_R_G_L_0_G_N_4_T_1" android:translateY="3">
+                        <group android:name="_R_G_L_0_G_N_4_T_0" android:translateX="-8.25"
+                               android:translateY="-7.25">
+                            <group android:name="_R_G_L_0_G" android:translateX="-16.219"
+                                   android:translateY="32.25" android:pivotX="27.965"
+                                   android:pivotY="-32" android:scaleX="0.125"
+                                   android:scaleY="0.125">
+                                <path android:name="_R_G_L_0_G_D_0_P_0" android:fillColor="#ff0000"
+                                      android:fillAlpha="0" android:fillType="nonZero"
+                                      android:pathData=" M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "/>
+                                <path android:name="_R_G_L_0_G_D_1_P_0"
+                                      android:strokeColor="?attr/textColor" android:strokeLineCap="round"
+                                      android:strokeLineJoin="round" android:strokeWidth="16"
+                                      android:strokeAlpha="1"
+                                      android:pathData=" M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "/>
+                            </group>
                         </group>
                     </group>
                 </group>
             </group>
-            <group android:name="time_group" />
+            <group android:name="time_group"/>
         </vector>
     </aapt:attr>
     <target android:name="_R_G_L_2_G_T_1">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="133"
-                    android:pathData="M 12,15C 12,14.85416667163372 12,14.125 12,14.125"
-                    android:propertyName="translateXY"
-                    android:propertyXName="translateX"
-                    android:propertyYName="translateY"
-                    android:startOffset="0">
+                <objectAnimator android:propertyName="translateY" android:duration="133"
+                                android:startOffset="0" android:valueFrom="3"
+                                android:valueTo="1.625" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
+                        <pathInterpolator
+                            android:pathData="M 0.0,0.0 c0.075,0.167 0.622,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="133"
-                    android:pathData="M 12,14.125C 12,14.125 12,15.05870145463943 12,15.324"
-                    android:propertyName="translateXY"
-                    android:propertyXName="translateX"
-                    android:propertyYName="translateY"
-                    android:startOffset="133">
+                <objectAnimator android:propertyName="translateY" android:duration="133"
+                                android:startOffset="133" android:valueFrom="1.625"
+                                android:valueTo="3.699" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.352,0 0.717,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="100"
-                    android:pathData="M 12,15.324C 12,15.40252217555046 12,14.96669441461563 12,15"
-                    android:propertyName="translateXY"
-                    android:propertyXName="translateX"
-                    android:propertyYName="translateY"
-                    android:startOffset="267">
+                <objectAnimator android:propertyName="translateY" android:duration="100"
+                                android:startOffset="267" android:valueFrom="3.699"
+                                android:valueTo="3" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.356,0 0.527,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
@@ -140,87 +101,60 @@
     <target android:name="_R_G_L_1_G">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="100"
-                    android:propertyName="scaleX"
-                    android:startOffset="0"
-                    android:valueFrom="1"
-                    android:valueTo="0.85"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleX" android:duration="100"
+                                android:startOffset="0" android:valueFrom="1" android:valueTo="0.85"
+                                android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="100"
-                    android:propertyName="scaleY"
-                    android:startOffset="0"
-                    android:valueFrom="1"
-                    android:valueTo="0.85"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleY" android:duration="100"
+                                android:startOffset="0" android:valueFrom="1" android:valueTo="0.85"
+                                android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="283"
-                    android:propertyName="scaleX"
-                    android:startOffset="100"
-                    android:valueFrom="0.85"
-                    android:valueTo="1"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleX" android:duration="283"
+                                android:startOffset="100" android:valueFrom="0.85"
+                                android:valueTo="1" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="283"
-                    android:propertyName="scaleY"
-                    android:startOffset="100"
-                    android:valueFrom="0.85"
-                    android:valueTo="1"
-                    android:valueType="floatType">
+                <objectAnimator android:propertyName="scaleY" android:duration="283"
+                                android:startOffset="100" android:valueFrom="0.85"
+                                android:valueTo="1" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.4,0 0.2,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
         </aapt:attr>
     </target>
-    <target android:name="_R_G_L_1_G_N_5_T_1">
+    <target android:name="_R_G_L_1_G_N_4_T_1">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="133"
-                    android:pathData="M 12,15C 12,14.85416667163372 12,14.125 12,14.125"
-                    android:propertyName="translateXY"
-                    android:propertyXName="translateX"
-                    android:propertyYName="translateY"
-                    android:startOffset="0">
+                <objectAnimator android:propertyName="translateY" android:duration="133"
+                                android:startOffset="0" android:valueFrom="3"
+                                android:valueTo="1.625" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
+                        <pathInterpolator
+                            android:pathData="M 0.0,0.0 c0.075,0.167 0.622,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="133"
-                    android:pathData="M 12,14.125C 12,14.125 12,15.05870145463943 12,15.324"
-                    android:propertyName="translateXY"
-                    android:propertyXName="translateX"
-                    android:propertyYName="translateY"
-                    android:startOffset="133">
+                <objectAnimator android:propertyName="translateY" android:duration="133"
+                                android:startOffset="133" android:valueFrom="1.625"
+                                android:valueTo="3.699" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.352,0 0.717,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="100"
-                    android:pathData="M 12,15.324C 12,15.40252217555046 12,14.96669441461563 12,15"
-                    android:propertyName="translateXY"
-                    android:propertyXName="translateX"
-                    android:propertyYName="translateY"
-                    android:startOffset="267">
+                <objectAnimator android:propertyName="translateY" android:duration="100"
+                                android:startOffset="267" android:valueFrom="3.699"
+                                android:valueTo="3" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.356,0 0.527,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
@@ -229,26 +163,22 @@
     <target android:name="_R_G_L_0_G_D_0_P_0">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="67"
-                    android:propertyName="pathData"
-                    android:startOffset="0"
-                    android:valueFrom="M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "
-                    android:valueTo="M-27.97 -48.55 C-27.97,-48.55 -28,-53.75 -27.97,-55.48 C-27.92,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "
-                    android:valueType="pathType">
+                <objectAnimator android:propertyName="pathData" android:duration="67"
+                                android:startOffset="0"
+                                android:valueFrom="M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "
+                                android:valueTo="M-27.97 -59.3 C-27.97,-59.3 -28,-64.5 -27.97,-66.23 C-27.92,-68.37 -23.5,-90.63 -0.75,-90.57 C22.77,-90.51 27.75,-70.12 27.72,-69.02 C27.55,-63.63 27.97,-25.67 27.97,-25.67 "
+                                android:valueType="pathType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.353,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.353,0 0.2,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="333"
-                    android:propertyName="pathData"
-                    android:startOffset="67"
-                    android:valueFrom="M-27.97 -48.55 C-27.97,-48.55 -28,-53.75 -27.97,-55.48 C-27.92,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "
-                    android:valueTo="M79.79 -48.55 C79.79,-48.55 79.75,-53.75 79.78,-55.48 C79.83,-57.62 79.08,-78.36 53.07,-78.83 C29.5,-79.25 25.2,-59.38 25.22,-58.27 C25.25,-56.25 24.97,-31.17 24.97,-31.17 "
-                    android:valueType="pathType">
+                <objectAnimator android:propertyName="pathData" android:duration="333"
+                                android:startOffset="67"
+                                android:valueFrom="M-27.97 -59.3 C-27.97,-59.3 -28,-64.5 -27.97,-66.23 C-27.92,-68.37 -23.5,-90.63 -0.75,-90.57 C22.77,-90.51 27.75,-70.12 27.72,-69.02 C27.55,-63.63 27.97,-25.67 27.97,-25.67 "
+                                android:valueTo="M79.79 -48.55 C79.79,-48.55 79.75,-53.75 79.78,-55.48 C79.83,-57.62 79.08,-78.36 53.07,-78.83 C29.5,-79.25 25.2,-59.38 25.22,-58.27 C25.25,-56.25 24.97,-31.17 24.97,-31.17 "
+                                android:valueType="pathType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.542,0 0.026,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.542,0 0.026,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
@@ -257,65 +187,50 @@
     <target android:name="_R_G_L_0_G_D_1_P_0">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="67"
-                    android:propertyName="pathData"
-                    android:startOffset="0"
-                    android:valueFrom="M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "
-                    android:valueTo="M-27.97 -48.55 C-27.97,-48.55 -28,-53.75 -27.97,-55.48 C-27.92,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "
-                    android:valueType="pathType">
+                <objectAnimator android:propertyName="pathData" android:duration="67"
+                                android:startOffset="0"
+                                android:valueFrom="M-28.21 -31.92 C-28.21,-31.92 -27.85,-48.38 -27.97,-55.48 C-28,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "
+                                android:valueTo="M-27.97 -59.3 C-27.97,-59.3 -28,-64.5 -27.97,-66.23 C-27.92,-68.37 -23.5,-90.63 -0.75,-90.57 C22.77,-90.51 27.75,-70.12 27.72,-69.02 C27.55,-63.63 27.97,-25.67 27.97,-25.67 "
+                                android:valueType="pathType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.353,0 0.2,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.353,0 0.2,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="333"
-                    android:propertyName="pathData"
-                    android:startOffset="67"
-                    android:valueFrom="M-27.97 -48.55 C-27.97,-48.55 -28,-53.75 -27.97,-55.48 C-27.92,-57.63 -23.5,-79.87 -0.75,-79.82 C22.77,-79.76 27.75,-59.37 27.72,-58.27 C27.55,-52.88 27.97,-31.67 27.97,-31.67 "
-                    android:valueTo="M79.79 -48.55 C79.79,-48.55 79.75,-53.75 79.78,-55.48 C79.83,-57.62 79.08,-78.36 53.07,-78.83 C29.5,-79.25 25.2,-59.38 25.22,-58.27 C25.25,-56.25 24.97,-31.17 24.97,-31.17 "
-                    android:valueType="pathType">
+                <objectAnimator android:propertyName="pathData" android:duration="333"
+                                android:startOffset="67"
+                                android:valueFrom="M-27.97 -59.3 C-27.97,-59.3 -28,-64.5 -27.97,-66.23 C-27.92,-68.37 -23.5,-90.63 -0.75,-90.57 C22.77,-90.51 27.75,-70.12 27.72,-69.02 C27.55,-63.63 27.97,-25.67 27.97,-25.67 "
+                                android:valueTo="M79.79 -48.55 C79.79,-48.55 79.75,-53.75 79.78,-55.48 C79.83,-57.62 79.08,-78.36 53.07,-78.83 C29.5,-79.25 25.2,-59.38 25.22,-58.27 C25.25,-56.25 24.97,-31.17 24.97,-31.17 "
+                                android:valueType="pathType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.542,0 0.026,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.542,0 0.026,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
         </aapt:attr>
     </target>
-    <target android:name="_R_G_L_0_G_N_5_T_1">
+    <target android:name="_R_G_L_0_G_N_4_T_1">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="133"
-                    android:pathData="M 12,15C 12,14.85416667163372 12,14.125 12,14.125"
-                    android:propertyName="translateXY"
-                    android:propertyXName="translateX"
-                    android:propertyYName="translateY"
-                    android:startOffset="0">
+                <objectAnimator android:propertyName="translateY" android:duration="133"
+                                android:startOffset="0" android:valueFrom="3"
+                                android:valueTo="1.625" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
+                        <pathInterpolator
+                            android:pathData="M 0.0,0.0 c0.075,0.167 0.622,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="133"
-                    android:pathData="M 12,14.125C 12,14.125 12,15.05870145463943 12,15.324"
-                    android:propertyName="translateXY"
-                    android:propertyXName="translateX"
-                    android:propertyYName="translateY"
-                    android:startOffset="133">
+                <objectAnimator android:propertyName="translateY" android:duration="133"
+                                android:startOffset="133" android:valueFrom="1.625"
+                                android:valueTo="3.699" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.352,0 0.717,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
-                <objectAnimator
-                    android:duration="100"
-                    android:pathData="M 12,15.324C 12,15.40252217555046 12,14.96669441461563 12,15"
-                    android:propertyName="translateXY"
-                    android:propertyXName="translateX"
-                    android:propertyYName="translateY"
-                    android:startOffset="267">
+                <objectAnimator android:propertyName="translateY" android:duration="100"
+                                android:startOffset="267" android:valueFrom="3.699"
+                                android:valueTo="3" android:valueType="floatType">
                     <aapt:attr name="android:interpolator">
-                        <pathInterpolator android:pathData="M 0.0,0.0 c0.333,0 0.667,1 1.0,1.0" />
+                        <pathInterpolator android:pathData="M 0.0,0.0 c0.356,0 0.527,1 1.0,1.0"/>
                     </aapt:attr>
                 </objectAnimator>
             </set>
@@ -324,13 +239,9 @@
     <target android:name="time_group">
         <aapt:attr name="android:animation">
             <set android:ordering="together">
-                <objectAnimator
-                    android:duration="717"
-                    android:propertyName="translateX"
-                    android:startOffset="0"
-                    android:valueFrom="0"
-                    android:valueTo="1"
-                    android:valueType="floatType" />
+                <objectAnimator android:propertyName="translateX" android:duration="717"
+                                android:startOffset="0" android:valueFrom="0" android:valueTo="1"
+                                android:valueType="floatType"/>
             </set>
         </aapt:attr>
     </target>
diff --git a/core/res/res/drawable/chooser_row_layer_list.xml b/core/res/res/drawable/chooser_row_layer_list.xml
new file mode 100644
index 0000000..0fb26e1
--- /dev/null
+++ b/core/res/res/drawable/chooser_row_layer_list.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+** Copyright 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.
+*/
+-->
+<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
+    <item android:bottom="-2dp" android:left="-2dp" android:right="-2dp">
+        <shape android:shape="rectangle">
+            <stroke android:width="1dp" android:color="@color/chooser_row_divider"/>
+        </shape>
+    </item>
+</layer-list>
diff --git a/core/res/res/drawable/ic_auth_error.xml b/core/res/res/drawable/ic_auth_error.xml
deleted file mode 100644
index ea5f572..0000000
--- a/core/res/res/drawable/ic_auth_error.xml
+++ /dev/null
@@ -1,23 +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.
--->
-<vector android:height="24dp" android:viewportHeight="60"
-        android:viewportWidth="60" android:width="24dp" xmlns:android="http://schemas.android.com/apk/res/android">
-    <path android:fillColor="?attr/colorError" android:pathData="M28.8,37.5l2.4,0l0,2.5l-2.4,0z"/>
-    <path android:fillColor="?attr/colorError" android:pathData="M28.8,17.5l2.4,0l0,15l-2.4,0z"/>
-    <path android:fillColor="#00000000"
-          android:pathData="M30,6.2c-13.1,0 -23.7,10.6 -23.7,23.8S16.9,53.8 30,53.8c13.1,0 23.8,-10.6 23.8,-23.8S43.1,6.2 30,6.2z"
-          android:strokeColor="?android:attr/colorError" android:strokeWidth="2.5"/>
-</vector>
diff --git a/core/res/res/drawable/ic_lock.xml b/core/res/res/drawable/ic_lock.xml
new file mode 100644
index 0000000..8d7143b
--- /dev/null
+++ b/core/res/res/drawable/ic_lock.xml
@@ -0,0 +1,27 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="32dp"
+        android:height="32dp"
+        android:viewportWidth="32"
+        android:viewportHeight="32">
+    <path
+        android:fillColor="?attr/textColor"
+        android:pathData="M16,20m-2.7,0a2.7,2.7 0,1 1,5.4 0a2.7,2.7 0,1 1,-5.4 0"/>
+    <path
+        android:fillColor="?attr/textColor"
+        android:pathData="M24,10.7h-2V7.3c0,-3.3 -2.7,-6 -6,-6s-6,2.7 -6,6v3.3H8c-1.5,0 -2.7,1.2 -2.7,2.7v13.3c0,1.5 1.2,2.7 2.7,2.7h16c1.5,0 2.7,-1.2 2.7,-2.7V13.3C26.7,11.9 25.5,10.7 24,10.7zM12.7,7.3C12.7,5.5 14.2,4 16,4s3.3,1.5 3.3,3.3v3.3h-6.7V7.3zM24,26.7H8V13.3h2h12h2V26.7z"/>
+</vector>
diff --git a/core/res/res/drawable/ic_lock_24dp.xml b/core/res/res/drawable/ic_lock_24dp.xml
deleted file mode 100644
index d848426..0000000
--- a/core/res/res/drawable/ic_lock_24dp.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<!--
-Copyright (C) 2014 The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24.0dp"
-        android:height="24.0dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
-    <path
-        android:fillColor="?attr/textColor"
-        android:pathData="M12.0,15.0m-2.0,0.0a2.0,2.0 0.0,1.0 1.0,4.0 0.0a2.0,2.0 0.0,1.0 1.0,-4.0 0.0"/>
-    <path
-        android:pathData="M0,0h24v24H0V0z"
-        android:fillColor="#00000000"/>
-    <path
-        android:fillColor="?attr/textColor"
-        android:pathData="M18.0,8.0l-1.5,0.0L16.5,5.5C16.5,3.01 14.49,1.0 12.0,1.0S7.5,3.01 7.5,5.5L7.5,8.0L6.0,8.0c-1.1,0.0 -2.0,0.9 -2.0,2.0l0.0,10.0c0.0,1.1 0.9,2.0 2.0,2.0l12.0,0.0c1.1,0.0 2.0,-0.9 2.0,-2.0L20.0,10.0C20.0,8.9 19.1,8.0 18.0,8.0zM9.5,5.5C9.5,4.12 10.62,3.0 12.0,3.0c1.38,0.0 2.5,1.12 2.5,2.5L14.5,8.0l-5.0,0.0L9.5,5.5zM18.0,20.0L6.0,20.0L6.0,10.0l1.5,0.0l9.0,0.0L18.0,10.0L18.0,20.0z"/>
-</vector>
diff --git a/core/res/res/drawable/ic_lock_open.xml b/core/res/res/drawable/ic_lock_open.xml
new file mode 100644
index 0000000..3a6bf93
--- /dev/null
+++ b/core/res/res/drawable/ic_lock_open.xml
@@ -0,0 +1,27 @@
+<!--
+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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:width="32dp"
+        android:height="32dp"
+        android:viewportWidth="32"
+        android:viewportHeight="32">
+    <path
+        android:fillColor="?attr/textColor"
+        android:pathData="M16,20m-2.67,0a2.67,2.67 0,1 1,5.34 0a2.67,2.67 0,1 1,-5.34 0"/>
+    <path
+        android:fillColor="?attr/textColor"
+        android:pathData="M24.67,1.33a6,6 0,0 0,-6 6v3.34L8,10.67a2.67,2.67 0,0 0,-2.67 2.66L5.33,26.67A2.67,2.67 0,0 0,8 29.33L24,29.33a2.67,2.67 0,0 0,2.67 -2.66L26.67,13.33A2.67,2.67 0,0 0,24 10.67L21.33,10.67L21.33,7.33a3.34,3.34 0,0 1,6.67 0L28,8h2.67L30.67,7.33A6,6 0,0 0,24.67 1.33ZM24,13.33L24,26.67L8,26.67L8,13.33Z"/>
+</vector>
\ No newline at end of file
diff --git a/core/res/res/drawable/ic_lock_open_24dp.xml b/core/res/res/drawable/ic_lock_open_24dp.xml
deleted file mode 100644
index 94eecad..0000000
--- a/core/res/res/drawable/ic_lock_open_24dp.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<!--
-Copyright (C) 2014 The Android Open Source Project
-
-   Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-         http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
--->
-<vector xmlns:android="http://schemas.android.com/apk/res/android"
-        android:width="24.0dp"
-        android:height="24.0dp"
-        android:viewportWidth="24.0"
-        android:viewportHeight="24.0">
-    <path
-        android:fillColor="?attr/textColor"
-        android:pathData="M12.0,15.0m-2.0,0.0a2.0,2.0 0.0,1.0 1.0,4.0 0.0a2.0,2.0 0.0,1.0 1.0,-4.0 0.0"/>
-    <path
-        android:fillColor="?attr/textColor"
-        android:pathData="M18.5,1.0C16.01,1.0 14.0,3.01 14.0,5.5L14.0,8.0L6.0,8.0c-1.1,0.0 -2.0,0.9 -2.0,2.0l0.0,10.0c0.0,1.1 0.9,2.0 2.0,2.0l12.0,0.0c1.1,0.0 2.0,-0.9 2.0,-2.0L20.0,10.0c0.0,-1.1 -0.9,-2.0 -2.0,-2.0l-2.0,0.0L16.0,5.5C16.0,4.12 17.12,3.0 18.5,3.0C19.88,3.0 21.0,4.12 21.0,5.5L21.0,6.0l2.0,0.0L23.0,5.5C23.0,3.01 20.99,1.0 18.5,1.0zM18.0,10.0l0.0,10.0L6.0,20.0L6.0,10.0L18.0,10.0z"/>
-    <path
-        android:pathData="M0,0h24v24H0V0z"
-        android:fillColor="#00000000"/>
-</vector>
diff --git a/packages/SystemUI/res/values-land/integers.xml b/core/res/res/drawable/iconfactory_adaptive_icon_drawable_wrapper.xml
similarity index 62%
copy from packages/SystemUI/res/values-land/integers.xml
copy to core/res/res/drawable/iconfactory_adaptive_icon_drawable_wrapper.xml
index fb22665..3dd276d 100644
--- a/packages/SystemUI/res/values-land/integers.xml
+++ b/core/res/res/drawable/iconfactory_adaptive_icon_drawable_wrapper.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
-  ~ Copyright (C) 2018 The Android Open Source Project
+  ~ 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.
@@ -14,9 +14,11 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License
   -->
-<resources>
-    <!-- Action footer width is set to 0 to allow it to stretch (through a weight of 1) and center
-         the page indicator in between the footer and the carrier text.-->
-    <integer name="qs_footer_actions_width">0</integer>
-    <integer name="qs_footer_actions_weight">1</integer>
-</resources>
\ No newline at end of file
+
+<adaptive-icon xmlns:android="http://schemas.android.com/apk/res/android">
+    <background android:drawable="@color/white"/>
+    <foreground>
+        <drawable
+            class="com.android.internal.app.SimpleIconFactory$FixedScaleDrawable"/>
+    </foreground>
+</adaptive-icon>
\ No newline at end of file
diff --git a/core/res/res/drawable/sym_def_app_icon_background.xml b/core/res/res/drawable/sym_def_app_icon_background.xml
index 5755210..17b592f 100644
--- a/core/res/res/drawable/sym_def_app_icon_background.xml
+++ b/core/res/res/drawable/sym_def_app_icon_background.xml
@@ -5,7 +5,7 @@
     android:viewportHeight="108.0"
     android:viewportWidth="108.0"
     xmlns:android="http://schemas.android.com/apk/res/android">
-    <path android:fillColor="@android:color/material_deep_teal_500"
+    <path android:fillColor="@android:color/accent_device_default_light"
         android:pathData="M0,0h108v108h-108z"
         android:strokeColor="#66FFFFFF" android:strokeWidth="0.8"/>
     <path android:fillColor="#00000000" android:pathData="M19,0L19,108"
diff --git a/core/res/res/layout/chooser_grid.xml b/core/res/res/layout/chooser_grid.xml
index 10798ad..2860ee4 100644
--- a/core/res/res/layout/chooser_grid.xml
+++ b/core/res/res/layout/chooser_grid.xml
@@ -70,209 +70,6 @@
                   android:layout_centerHorizontal="true"/>
     </RelativeLayout>
 
-    <!-- The following 3 layouts are mutually exclusive. One of them will be
-         set VISIBLE programatically, when the optimal preview type can be 
-         determined by inspecting the data being shared. This path was chosen
-         b/c inflating layouts in code had sizing problems with this widget. -->
-
-    <!-- Layout Option 1: Supporting up to 3 images for preview -->
-    <LinearLayout
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical"
-        android:background="?attr/colorBackgroundFloating">
-        <RelativeLayout
-            android:id="@+id/content_preview_image_area"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center_horizontal"
-            android:paddingBottom="@dimen/chooser_view_spacing"
-            android:visibility="gone"
-            android:background="?attr/colorBackgroundFloating">
-
-            <view class="com.android.internal.app.ChooserActivity$RoundedRectImageView"
-                  android:id="@+id/content_preview_image_1_large"
-                  android:visibility="gone"
-                  android:layout_width="120dp"
-                  android:layout_height="140dp"
-                  android:layout_alignParentTop="true"
-                  android:adjustViewBounds="true"
-                  android:gravity="center"
-                  android:scaleType="centerCrop"/>
-
-            <view class="com.android.internal.app.ChooserActivity$RoundedRectImageView"
-                  android:id="@+id/content_preview_image_2_large"
-                  android:visibility="gone"
-                  android:layout_width="120dp"
-                  android:layout_height="140dp"
-                  android:layout_alignParentTop="true"
-                  android:layout_toRightOf="@id/content_preview_image_1_large"
-                  android:layout_marginLeft="10dp"
-                  android:adjustViewBounds="true"
-                  android:gravity="center"
-                  android:scaleType="centerCrop"/>
-
-            <view class="com.android.internal.app.ChooserActivity$RoundedRectImageView"
-                  android:id="@+id/content_preview_image_2_small"
-                  android:visibility="gone"
-                  android:layout_width="120dp"
-                  android:layout_height="65dp"
-                  android:layout_alignParentTop="true"
-                  android:layout_toRightOf="@id/content_preview_image_1_large"
-                  android:layout_marginLeft="10dp"
-                  android:adjustViewBounds="true"
-                  android:gravity="center"
-                  android:scaleType="centerCrop"/>
-
-            <view class="com.android.internal.app.ChooserActivity$RoundedRectImageView"
-                  android:id="@+id/content_preview_image_3_small"
-                  android:visibility="gone"
-                  android:layout_width="120dp"
-                  android:layout_height="65dp"
-                  android:layout_below="@id/content_preview_image_2_small"
-                  android:layout_toRightOf="@id/content_preview_image_1_large"
-                  android:layout_marginLeft="10dp"
-                  android:layout_marginTop="10dp"
-                  android:adjustViewBounds="true"
-                  android:gravity="center"
-                  android:scaleType="centerCrop"/>
-
-        </RelativeLayout>
-    </LinearLayout>
-
-    <!-- Layout Option 2: Text preview, with optional title and thumbnail -->
-    <LinearLayout
-        android:id="@+id/content_preview_text_area"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical"
-        android:paddingBottom="@dimen/chooser_view_spacing"
-        android:visibility="gone"
-        android:background="?attr/colorBackgroundFloating">
-
-        <LinearLayout
-            android:layout_width="@dimen/chooser_preview_width"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center"
-            android:orientation="horizontal"
-            android:paddingLeft="@dimen/chooser_edge_margin_normal"
-            android:paddingRight="@dimen/chooser_edge_margin_normal"
-            android:layout_marginBottom="@dimen/chooser_view_spacing"
-            android:id="@+id/content_preview_text_layout">
-            <TextView
-                android:id="@+id/content_preview_text"
-                android:layout_width="0dp"
-                android:layout_weight="1"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center_vertical"
-                android:ellipsize="end"
-                android:gravity="start|top"
-                android:paddingRight="24dp"
-                android:maxLines="2"/>
-            <Button
-                android:id="@+id/copy_button"
-                android:layout_width="24dp"
-                android:layout_height="24dp"
-                android:gravity="center"
-                android:layout_gravity="center_vertical"
-                android:background="@drawable/ic_content_copy_gm2"/>
-        </LinearLayout>
-
-        <!-- Required sub-layout so we can get the nice rounded corners-->
-        <!-- around this section -->
-        <LinearLayout
-            android:layout_width="@dimen/chooser_preview_width"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center"
-            android:orientation="horizontal"
-            android:layout_marginLeft="@dimen/chooser_edge_margin_thin"
-            android:layout_marginRight="@dimen/chooser_edge_margin_thin"
-            android:minHeight="80dp"
-            android:background="@drawable/chooser_content_preview_rounded"
-            android:id="@+id/content_preview_title_layout">
-
-            <view class="com.android.internal.app.ChooserActivity$RoundedRectImageView"
-                  android:id="@+id/content_preview_thumbnail"
-                  android:layout_width="75dp"
-                  android:layout_height="75dp"
-                  android:layout_marginRight="16dp"
-                  android:adjustViewBounds="true"
-                  android:layout_gravity="center_vertical"
-                  android:gravity="center"
-                  android:scaleType="centerCrop"/>
-
-            <TextView
-                android:id="@+id/content_preview_title"
-                android:layout_width="0dp"
-                android:layout_weight="1"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center_vertical"
-                android:ellipsize="end"
-                android:maxLines="2"
-                android:textAppearance="?attr/textAppearanceMedium"/>
-        </LinearLayout>
-    </LinearLayout>
-
-    <!-- Layout Option 3: File preview, icon, filename, copy-->
-    <LinearLayout
-        android:id="@+id/content_preview_file_area"
-        android:layout_width="match_parent"
-        android:layout_height="wrap_content"
-        android:orientation="vertical"
-        android:paddingBottom="@dimen/chooser_view_spacing"
-        android:visibility="gone"
-        android:background="?attr/colorBackgroundFloating">
-
-        <LinearLayout
-            android:layout_width="@dimen/chooser_preview_width"
-            android:layout_height="wrap_content"
-            android:layout_gravity="center"
-            android:orientation="horizontal"
-            android:paddingLeft="@dimen/chooser_edge_margin_normal"
-            android:paddingRight="@dimen/chooser_edge_margin_normal"
-            android:layout_marginBottom="@dimen/chooser_view_spacing"
-            android:id="@+id/content_preview_file_layout">
-
-            <view class="com.android.internal.app.ChooserActivity$RoundedRectImageView"
-                  android:id="@+id/content_preview_file_thumbnail"
-                  android:layout_width="75dp"
-                  android:layout_height="75dp"
-                  android:layout_marginRight="16dp"
-                  android:adjustViewBounds="true"
-                  android:layout_gravity="center_vertical"
-                  android:gravity="center"
-                  android:scaleType="centerCrop"
-                  android:visibility="gone"/>
-            <ImageView
-                  android:id="@+id/content_preview_file_icon"
-                  android:layout_width="36dp"
-                  android:layout_height="36dp"
-                  android:layout_marginRight="16dp"
-                  android:adjustViewBounds="true"
-                  android:layout_gravity="center_vertical"
-                  android:gravity="center"
-                  android:scaleType="fitCenter"
-                  android:visibility="gone"/>
-            <TextView
-                android:id="@+id/content_preview_filename"
-                android:layout_width="0dp"
-                android:layout_weight="1"
-                android:layout_height="wrap_content"
-                android:layout_gravity="center_vertical"
-                android:ellipsize="middle"
-                android:gravity="start|top"
-                android:paddingRight="24dp"
-                android:singleLine="true"/>
-            <Button
-                android:id="@+id/file_copy_button"
-                android:layout_width="24dp"
-                android:layout_height="24dp"
-                android:gravity="center"
-                android:layout_gravity="center_vertical"
-                android:background="@drawable/ic_content_copy_gm2"/>
-        </LinearLayout>
-    </LinearLayout>
-
     <ListView
         android:layout_width="match_parent"
         android:layout_height="match_parent"
diff --git a/core/res/res/layout/chooser_grid_preview_file.xml b/core/res/res/layout/chooser_grid_preview_file.xml
new file mode 100644
index 0000000..27c6041
--- /dev/null
+++ b/core/res/res/layout/chooser_grid_preview_file.xml
@@ -0,0 +1,78 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+* Copyright 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.
+*/
+-->
+<!-- Layout Option: File preview, icon, filename, copy-->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/content_preview_file_area"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:paddingBottom="@dimen/chooser_view_spacing"
+    android:background="?attr/colorBackgroundFloating">
+
+  <LinearLayout
+      android:layout_width="@dimen/chooser_preview_width"
+      android:layout_height="wrap_content"
+      android:layout_gravity="center"
+      android:orientation="horizontal"
+      android:paddingLeft="@dimen/chooser_edge_margin_normal"
+      android:paddingRight="@dimen/chooser_edge_margin_normal"
+      android:layout_marginBottom="@dimen/chooser_view_spacing"
+      android:id="@+id/content_preview_file_layout">
+
+    <view class="com.android.internal.app.ChooserActivity$RoundedRectImageView"
+          android:id="@+id/content_preview_file_thumbnail"
+          android:layout_width="75dp"
+          android:layout_height="75dp"
+          android:layout_marginRight="16dp"
+          android:adjustViewBounds="true"
+          android:layout_gravity="center_vertical"
+          android:gravity="center"
+          android:scaleType="centerCrop"
+          android:visibility="gone"/>
+    <ImageView
+        android:id="@+id/content_preview_file_icon"
+        android:layout_width="36dp"
+        android:layout_height="36dp"
+        android:layout_marginRight="16dp"
+        android:adjustViewBounds="true"
+        android:layout_gravity="center_vertical"
+        android:gravity="center"
+        android:scaleType="fitCenter"
+        android:visibility="gone"/>
+    <TextView
+        android:id="@+id/content_preview_filename"
+        android:layout_width="0dp"
+        android:layout_weight="1"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_vertical"
+        android:ellipsize="middle"
+        android:gravity="start|top"
+        android:paddingRight="24dp"
+        android:singleLine="true"/>
+    <Button
+        android:id="@+id/file_copy_button"
+        android:layout_width="24dp"
+        android:layout_height="24dp"
+        android:gravity="center"
+        android:layout_gravity="center_vertical"
+        android:background="@drawable/ic_content_copy_gm2"/>
+  </LinearLayout>
+</LinearLayout>
+
diff --git a/core/res/res/layout/chooser_grid_preview_image.xml b/core/res/res/layout/chooser_grid_preview_image.xml
new file mode 100644
index 0000000..ad31e0d
--- /dev/null
+++ b/core/res/res/layout/chooser_grid_preview_image.xml
@@ -0,0 +1,83 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+* Copyright 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.
+*/
+-->
+<!-- Layout Option: Supporting up to 3 images for preview -->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:background="?attr/colorBackgroundFloating">
+  <RelativeLayout
+      android:id="@+id/content_preview_image_area"
+      android:layout_width="wrap_content"
+      android:layout_height="wrap_content"
+      android:layout_gravity="center_horizontal"
+      android:paddingBottom="@dimen/chooser_view_spacing"
+      android:background="?attr/colorBackgroundFloating">
+
+    <view class="com.android.internal.app.ChooserActivity$RoundedRectImageView"
+          android:id="@+id/content_preview_image_1_large"
+          android:visibility="gone"
+          android:layout_width="120dp"
+          android:layout_height="140dp"
+          android:layout_alignParentTop="true"
+          android:adjustViewBounds="true"
+          android:gravity="center"
+          android:scaleType="centerCrop"/>
+
+    <view class="com.android.internal.app.ChooserActivity$RoundedRectImageView"
+          android:id="@+id/content_preview_image_2_large"
+          android:visibility="gone"
+          android:layout_width="120dp"
+          android:layout_height="140dp"
+          android:layout_alignParentTop="true"
+          android:layout_toRightOf="@id/content_preview_image_1_large"
+          android:layout_marginLeft="10dp"
+          android:adjustViewBounds="true"
+          android:gravity="center"
+          android:scaleType="centerCrop"/>
+
+    <view class="com.android.internal.app.ChooserActivity$RoundedRectImageView"
+          android:id="@+id/content_preview_image_2_small"
+          android:visibility="gone"
+          android:layout_width="120dp"
+          android:layout_height="65dp"
+          android:layout_alignParentTop="true"
+          android:layout_toRightOf="@id/content_preview_image_1_large"
+          android:layout_marginLeft="10dp"
+          android:adjustViewBounds="true"
+          android:gravity="center"
+          android:scaleType="centerCrop"/>
+
+    <view class="com.android.internal.app.ChooserActivity$RoundedRectImageView"
+          android:id="@+id/content_preview_image_3_small"
+          android:visibility="gone"
+          android:layout_width="120dp"
+          android:layout_height="65dp"
+          android:layout_below="@id/content_preview_image_2_small"
+          android:layout_toRightOf="@id/content_preview_image_1_large"
+          android:layout_marginLeft="10dp"
+          android:layout_marginTop="10dp"
+          android:adjustViewBounds="true"
+          android:gravity="center"
+          android:scaleType="centerCrop"/>
+
+  </RelativeLayout>
+</LinearLayout>
+
diff --git a/core/res/res/layout/chooser_grid_preview_text.xml b/core/res/res/layout/chooser_grid_preview_text.xml
new file mode 100644
index 0000000..7cfbb1b
--- /dev/null
+++ b/core/res/res/layout/chooser_grid_preview_text.xml
@@ -0,0 +1,91 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
+/*
+* Copyright 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.
+*/
+-->
+<!-- Layout Option: Text preview, with optional title and thumbnail -->
+<LinearLayout
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/content_preview_text_area"
+    android:layout_width="match_parent"
+    android:layout_height="wrap_content"
+    android:orientation="vertical"
+    android:paddingBottom="@dimen/chooser_view_spacing"
+    android:background="?attr/colorBackgroundFloating">
+
+  <LinearLayout
+      android:layout_width="@dimen/chooser_preview_width"
+      android:layout_height="wrap_content"
+      android:layout_gravity="center"
+      android:orientation="horizontal"
+      android:paddingLeft="@dimen/chooser_edge_margin_normal"
+      android:paddingRight="@dimen/chooser_edge_margin_normal"
+      android:layout_marginBottom="@dimen/chooser_view_spacing"
+      android:id="@+id/content_preview_text_layout">
+    <TextView
+        android:id="@+id/content_preview_text"
+        android:layout_width="0dp"
+        android:layout_weight="1"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_vertical"
+        android:ellipsize="end"
+        android:gravity="start|top"
+        android:paddingRight="24dp"
+        android:maxLines="2"/>
+    <Button
+        android:id="@+id/copy_button"
+        android:layout_width="24dp"
+        android:layout_height="24dp"
+        android:gravity="center"
+        android:layout_gravity="center_vertical"
+        android:background="@drawable/ic_content_copy_gm2"/>
+  </LinearLayout>
+
+  <!-- Required sub-layout so we can get the nice rounded corners-->
+  <!-- around this section -->
+  <LinearLayout
+      android:layout_width="@dimen/chooser_preview_width"
+      android:layout_height="wrap_content"
+      android:layout_gravity="center"
+      android:orientation="horizontal"
+      android:layout_marginLeft="@dimen/chooser_edge_margin_thin"
+      android:layout_marginRight="@dimen/chooser_edge_margin_thin"
+      android:minHeight="80dp"
+      android:background="@drawable/chooser_content_preview_rounded"
+      android:id="@+id/content_preview_title_layout">
+
+    <view class="com.android.internal.app.ChooserActivity$RoundedRectImageView"
+          android:id="@+id/content_preview_thumbnail"
+          android:layout_width="75dp"
+          android:layout_height="75dp"
+          android:layout_marginRight="16dp"
+          android:adjustViewBounds="true"
+          android:layout_gravity="center_vertical"
+          android:gravity="center"
+          android:scaleType="centerCrop"/>
+
+    <TextView
+        android:id="@+id/content_preview_title"
+        android:layout_width="0dp"
+        android:layout_weight="1"
+        android:layout_height="wrap_content"
+        android:layout_gravity="center_vertical"
+        android:ellipsize="end"
+        android:maxLines="2"
+        android:textAppearance="?attr/textAppearanceMedium"/>
+  </LinearLayout>
+</LinearLayout>
+
diff --git a/core/res/res/layout/chooser_row.xml b/core/res/res/layout/chooser_row.xml
index cf81260..d4585eb 100644
--- a/core/res/res/layout/chooser_row.xml
+++ b/core/res/res/layout/chooser_row.xml
@@ -23,6 +23,12 @@
               android:gravity="start|top"
               android:paddingStart="@dimen/chooser_grid_padding"
               android:paddingEnd="@dimen/chooser_grid_padding">
-
+  <TextView
+      android:id="@+id/chooser_row_text_option"
+      android:layout_width="match_parent"
+      android:layout_height="wrap_content"
+      android:gravity="center"
+      android:layout_gravity="center"
+      android:visibility="gone" />
 </LinearLayout>
 
diff --git a/core/java/android/net/NetworkParcelable.aidl b/core/res/res/layout/chooser_row_direct_share.xml
similarity index 62%
rename from core/java/android/net/NetworkParcelable.aidl
rename to core/res/res/layout/chooser_row_direct_share.xml
index c26352e..d7e36ee 100644
--- a/core/java/android/net/NetworkParcelable.aidl
+++ b/core/res/res/layout/chooser_row_direct_share.xml
@@ -1,6 +1,7 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--
 /*
-**
-** Copyright (C) 2019 The Android Open Source Project
+** Copyright 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.
@@ -14,9 +15,12 @@
 ** See the License for the specific language governing permissions and
 ** limitations under the License.
 */
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+                android:orientation="vertical"
+                android:layout_width="match_parent"
+                android:layout_height="200dp">
 
-package android.net;
+</LinearLayout>
 
-parcelable NetworkParcelable {
-    long networkHandle;
-}
+
diff --git a/core/res/res/layout/notification_material_media_seekbar.xml b/core/res/res/layout/notification_material_media_seekbar.xml
index c23ca83..4aa8acc 100644
--- a/core/res/res/layout/notification_material_media_seekbar.xml
+++ b/core/res/res/layout/notification_material_media_seekbar.xml
@@ -50,7 +50,7 @@
             android:layout_height="wrap_content"
             android:layout_alignParentLeft="true"
             android:layout_marginStart="@dimen/notification_content_margin_start"
-            android:gravity="left"
+            android:gravity="start"
         />
 
         <TextView android:id="@+id/notification_media_total_time"
@@ -59,7 +59,7 @@
             android:layout_height="wrap_content"
             android:layout_alignParentRight="true"
             android:layout_marginEnd="@dimen/notification_content_margin_end"
-            android:gravity="right"
+            android:gravity="end"
         />
     </FrameLayout>
 </LinearLayout>
\ No newline at end of file
diff --git a/core/res/res/layout/resolve_list_item.xml b/core/res/res/layout/resolve_list_item.xml
index 5d52832..0bdb25a 100644
--- a/core/res/res/layout/resolve_list_item.xml
+++ b/core/res/res/layout/resolve_list_item.xml
@@ -29,8 +29,8 @@
     <!-- Activity icon when presenting dialog
          Size will be filled in by ResolverActivity -->
     <ImageView android:id="@+id/icon"
-               android:layout_width="24dp"
-               android:layout_height="24dp"
+               android:layout_width="@dimen/resolver_icon_size"
+               android:layout_height="@dimen/resolver_icon_size"
                android:layout_gravity="start|center_vertical"
                android:layout_marginStart="?attr/listPreferredItemPaddingStart"
                android:layout_marginTop="12dp"
diff --git a/core/res/res/values-af/strings.xml b/core/res/res/values-af/strings.xml
index 5125c13..78c0b80 100644
--- a/core/res/res/values-af/strings.xml
+++ b/core/res/res/values-af/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Foon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"foonoproepe te maak en te bestuur"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Laat &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toe om foonoproepe te maak en te bestuur?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Liggaamsensors"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"toegang te verkry tot sensordata oor jou lewenstekens"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Gee &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang tot sensordata oor jou lewenstekens?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Musiek"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"toegang tot jou musiek"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Gee &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang tot jou musiek?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Foto\'s en video\'s"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"toegang tot jou foto\'s en video\'s"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Laat &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toe om by jou foto\'s en video\'s in te gaan, insluitend gemerkte liggings?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Venster-inhoud ophaal"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Die inhoud ondersoek van \'n venster waarmee jy interaksie het."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Verken deur raak aanskakel"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> lêers</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> lêer</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-am/strings.xml b/core/res/res/values-am/strings.xml
index 49be2cf..cabca7f 100644
--- a/core/res/res/values-am/strings.xml
+++ b/core/res/res/values-am/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"ስልክ"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"የስልክ ጥሪዎች ያድርጉ እና ያስተዳድሩ"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; የስልክ ጥሪዎችን እንዲያደርግ እና እንዲያቀናብር ይፈቀድለት?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"የሰውነት ዳሳሾች"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"ስለአስፈላጊ ምልክቶችዎ ያሉ የዳሳሽ ውሂብ ይድረሱ"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; የሰውነትዎ መሠረታዊ ምልክቶች የዳሳሽ ውሂብ እንዲደርስ ይፈቀድለት?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"ሙዚቃ"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"ሙዚቃዎን መድረስ"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ቀን ሙዚቃዎን እንዲደርስ ይፈቀድለት?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"ፎቶዎች እና ቪዲዮዎች"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"የእርስዎን ፎቶዎች እና ቪዲዮዎች መድረስ"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"የእርስዎን ፎቶዎች እና ቪዲዮዎች መለያ ስያሜ የተደረገባቸውን መገኛ አካባቢዎች ጨምሮ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; እንዲደርስ ይፈቀድለት?"</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>
@@ -2023,4 +2020,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ፋይሎች</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ፋይሎች</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-ar/strings.xml b/core/res/res/values-ar/strings.xml
index c6653f6..52f6698 100644
--- a/core/res/res/values-ar/strings.xml
+++ b/core/res/res/values-ar/strings.xml
@@ -320,18 +320,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"الهاتف"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"إجراء مكالمات هاتفية وإدارتها"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"‏هل تريد السماح لتطبيق &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; بإجراء المكالمات الهاتفية وإدارتها؟"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"أجهزة استشعار الجسم"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"الوصول إلى بيانات المستشعر حول علاماتك الحيوية"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"‏هل تريد السماح لتطبيق &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; بالدخول إلى بيانات المستشعر حول علاماتك الحيوية؟"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"الموسيقى"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"الوصول إلى الموسيقى"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"‏هل تريد السماح لتطبيق &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; بالوصول إلى الموسيقى؟"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"الصور والفيديوهات"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"الوصول إلى صورك وفيديوهاتك"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"‏هل تريد السماح للتطبيق &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; بالوصول إلى صورك وفيديوهاتك، بما في ذلك المواقع الجغرافية ذات العلامات؟"</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>
@@ -2167,4 +2164,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> و<xliff:g id="COUNT_3">%d</xliff:g> ملف</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> وملف (<xliff:g id="COUNT_1">%d</xliff:g>)</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-as/strings.xml b/core/res/res/values-as/strings.xml
index 2689215..e7dad2f 100644
--- a/core/res/res/values-as/strings.xml
+++ b/core/res/res/values-as/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"ফ’ন"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"ফ\'ন কল কৰিব আৰু পৰিচলনা কৰিব পাৰে"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ক ফ\'ন কল কৰিবলৈ আৰু পৰিচালনা কৰিবলৈ অনুমতি দিবনে?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"শৰীৰৰ ছেন্সৰ"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"আপোনাৰ দেহৰ গুৰুত্বপূৰ্ণ অংগসমূহৰ অৱস্থাৰ বিষয়ে ছেন্সৰৰ ডেটা লাভ কৰিব পাৰে"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ক আপোনাৰ দেহৰ গুৰুত্বপূৰ্ণ অংগসমূহৰ অৱস্থাৰ বিষয়ে ছেন্সৰৰ ডেটা লাভ কৰিবলৈ অনুমতি দিবনে?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"সংগীত"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"আপোনাৰ সংগীত এক্সেছ কৰিবলৈ"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ক আপোনাৰ সংগীত এক্সেছ কৰিবলৈ দিবনে?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"ফট’ আৰু ভিডিঅ’"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"আপোনাৰ ফট’ আৰু ভিডিঅ’সমূহ এক্সেছ কৰিবলৈ"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"টেগ কৰা অৱস্থানসহ আপোনাৰ ফট’ আৰু ভিডিঅ’ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ক এক্সেছ কৰিবলৈ দিবনে?"</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>
@@ -2024,4 +2021,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g>টা ফাইল</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g>টা ফাইল</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-az/strings.xml b/core/res/res/values-az/strings.xml
index 28ea377..7186da9 100644
--- a/core/res/res/values-az/strings.xml
+++ b/core/res/res/values-az/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"telefon zəngləri edin və onları idarə edin"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; tətbiqinə telefon zəngləri etmək və onları idarə etmək icazəsi verilsin?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Bədən sensorları"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"Həyati əlamətlər haqqında sensor dataya daxil olun"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; tətbiqinə həyati əlamətlər haqqında sensor dataya daxil olmaq icazəsi verilsin?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Musiqi"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"musiqiyə daxil olun"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; tətbiqinin musiqiyə daxil olmağına icazə verilsin?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Foto və videolar"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"foto və videolara daxil olun"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; tətbiqinə işarələnmiş məkanlar daxil olmaqla, foto və videolara girişinə icazə verilsin?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Pəncərənin məzmununu əldə edin"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Əlaqədə olduğunuz pəncərənin məzmununu nəzərdən keçirin."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Toxunaraq Kəşf et funksiyasını yandırın"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> fayl</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> fayl</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-b+sr+Latn/strings.xml b/core/res/res/values-b+sr+Latn/strings.xml
index e2cdf87..788b5d6 100644
--- a/core/res/res/values-b+sr+Latn/strings.xml
+++ b/core/res/res/values-b+sr+Latn/strings.xml
@@ -311,18 +311,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"upućuje telefonske pozive i upravlja njima"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Želite li da omogućite da &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; upućuje pozive i upravlja njima?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Senzori za telo"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"pristupa podacima senzora o vitalnim funkcijama"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Želite li da omogućite da &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;pristupa podacima senzora o vitalnim funkcijama?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Muzika"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"pristup muzici"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Želite li da omogućite da &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; pristupa muzici?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Slike i video snimci"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"pristup slikama i video snimcima"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Želite li da dozvolite da „<xliff:g id="APP_NAME">%1$s</xliff:g>“ pristupa slikama i video snimcima, uključujući označene lokacije?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"da preuzima sadržaj prozora"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Proverava sadržaj prozora sa kojim ostvarujete interakciju."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"da uključi Istraživanja dodirom"</string>
@@ -2059,4 +2056,6 @@
       <item quantity="few"><xliff:g id="FILE_NAME_2">%s</xliff:g> i još <xliff:g id="COUNT_3">%d</xliff:g> datoteke</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> i još <xliff:g id="COUNT_3">%d</xliff:g> datoteka</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-be/strings.xml b/core/res/res/values-be/strings.xml
index 9639967..83b268a 100644
--- a/core/res/res/values-be/strings.xml
+++ b/core/res/res/values-be/strings.xml
@@ -314,18 +314,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Тэлефон"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"рабіць тэлефонныя выклікі і кіраваць імі"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Дазволіць праграме &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; рабіць тэлефонныя выклікі і кіраваць імі?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Датчыкі цела"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"атрымліваць з датчыка даныя асноўных фізіялагічных паказчыкаў"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Дазволіць праграме &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; доступ да даных з датчыкаў пра вашы асноўныя фізіялагічныя паказчыкі?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Музыка"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"доступ да музыкі"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Дазволіць праграме &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; доступ да музыкі?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Фота і відэа"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"доступ да фота і відэа"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Дазволіць &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; доступ да фота і відэа, у тым ліку з пазначаным месцам?"</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>
@@ -2095,4 +2092,6 @@
       <item quantity="many"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> файлаў</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> файла</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-bg/strings.xml b/core/res/res/values-bg/strings.xml
index d0557db..da29c0e 100644
--- a/core/res/res/values-bg/strings.xml
+++ b/core/res/res/values-bg/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Телефон"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"да извършва телефонни обаждания и да ги управлява"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Да се разреши ли на &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; да извършва и управлява телефонни обаждания?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Сензори за тяло"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"достъп до сензорните данни за жизнените ви показатели"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Да се разреши ли на &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; да осъществява достъп до данните от сензорите за жизнените ви показатели?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Музика"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"достъп до музиката ви"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Да се разреши ли на &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; да осъществява достъп до музиката ви?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Снимки и видеоклипове"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"достъп до снимките и видеоклиповете ви"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Да се разреши ли на &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; достъп до снимките и видеоклиповете ви, включително маркерите за местоположение?"</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>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> файла</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> файл</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-bn/strings.xml b/core/res/res/values-bn/strings.xml
index d1fa2d4..e0f866d 100644
--- a/core/res/res/values-bn/strings.xml
+++ b/core/res/res/values-bn/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"ফোন"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"ফোন কলগুলি এবং পরিচালনা"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;-কে কল করতে এবং কল পরিচালনা করতে দেবেন?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"বডি সেন্সর"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"আপনার অত্যাবশ্যক লক্ষণগুলির সম্পর্কে সেন্সর ডেটা অ্যাক্সেস করে"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;-কে সেন্সর থেকে আপনার ভাইটাল সাইনের ডেটা অ্যাক্সেস করতে দেবেন?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"মিউজিক"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"আপনার মিউজিকে অ্যাক্সেস করুন"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;-কে আপনার মিউজিকে অ্যাক্সেস দেবেন?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"ফটো ও ভিডিও"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"আপনার ফটো ও ভিডিও অ্যাক্সেস করুন"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;-কে ট্যাগ করা লোকেশন সহ ফটো এবং ভিডিও অ্যাক্সেস করার অনুমতি দেবেন?"</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>
@@ -2025,4 +2022,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> এবং আরও <xliff:g id="COUNT_3">%d</xliff:g>টি ফাইল</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> এবং আরও <xliff:g id="COUNT_3">%d</xliff:g>টি ফাইল</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-bs/strings.xml b/core/res/res/values-bs/strings.xml
index d4c663c..a78796f 100644
--- a/core/res/res/values-bs/strings.xml
+++ b/core/res/res/values-bs/strings.xml
@@ -311,18 +311,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"poziva i upravlja pozivima"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Dozvoliti aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; uspostavljanje poziva i njihovo upravljanje?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Tjelesni senzori"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"pristupa podacima senzora o vašim vitalnim funkcijama"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Dozvoliti aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; pristup senzornim podacima o vašim vitalnim znacima?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Muzika"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"pristup muzici"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Dozvoliti aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;da pristupi vašoj muzici?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Fotografije i videozapisi"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"pristup fotografijama i videozapisima"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Dozvoliti da &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; pristupa fotografijama i videozapisima, uključujući označene lokacije?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Preuzima sadržaj prozora"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Pregleda sadržaj prozora koji trenutno koristite."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Uključi opciju Istraživanje dodirom"</string>
@@ -1881,7 +1878,7 @@
     <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">"Suzi"</string>
     <string name="zen_mode_feature_name" msgid="5254089399895895004">"Ne ometaj"</string>
-    <string name="zen_mode_downtime_feature_name" msgid="2626974636779860146">"Prestanak rada"</string>
+    <string name="zen_mode_downtime_feature_name" msgid="2626974636779860146">"Neaktivnost"</string>
     <string name="zen_mode_default_weeknights_name" msgid="3081318299464998143">"Radni dan uvečer"</string>
     <string name="zen_mode_default_weekends_name" msgid="2786495801019345244">"Vikend"</string>
     <string name="zen_mode_default_events_name" msgid="8158334939013085363">"Događaj"</string>
@@ -2061,4 +2058,6 @@
       <item quantity="few"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> fajla</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> fajlova</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-ca/strings.xml b/core/res/res/values-ca/strings.xml
index 90a2c6d..3e784b9 100644
--- a/core/res/res/values-ca/strings.xml
+++ b/core/res/res/values-ca/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telèfon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"fer i gestionar trucades"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Vols permetre que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; faci trucades i les gestioni?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Sensors corporals"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"accedir a les dades del sensor sobre els signes vitals"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Vols permetre que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; accedeixi a les dades del sensor de constants vitals?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Música"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"accedir a la teva música"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Vols permetre que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; accedeixi a la teva música?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Fotos i vídeos"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"accedir a les teves fotos i als teus vídeos"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Vols permetre que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; accedeixi a les fotos i als vídeos, incloses les ubicacions etiquetades?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Recuperar el contingut de la finestra"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Inspecciona el contingut d\'una finestra amb què estàs interaccionant."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Activar Exploració tàctil"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> i <xliff:g id="COUNT_3">%d</xliff:g> fitxers més</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> i <xliff:g id="COUNT_1">%d</xliff:g> fitxer més</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-cs/strings.xml b/core/res/res/values-cs/strings.xml
index dbe582e..be2c0de 100644
--- a/core/res/res/values-cs/strings.xml
+++ b/core/res/res/values-cs/strings.xml
@@ -314,18 +314,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"uskutečňování a spravování telefonních hovorů"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Povolit aplikaci &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; uskutečňovat a spravovat telefonní hovory?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Tělesné senzory"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"přístup k datům ze snímačů vašich životních funkcí"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Povolit aplikaci &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; přístup k údajům ze snímačů vašich životních funkcí?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Hudba"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"přístup k hudbě"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Povolit aplikaci &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; přístup k hudbě?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Fotky a videa"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"přístup k fotkám a videím"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Povolit aplikaci &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; přístup k fotkám a videím včetně označených míst?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Načítat obsah oken"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Může prozkoumávat obsah oken, se kterými pracujete."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Zapnout funkci Prozkoumání dotykem"</string>
@@ -2095,4 +2092,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> souborů</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> soubor</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-da/strings.xml b/core/res/res/values-da/strings.xml
index f1ecfc9..4a30a4d 100644
--- a/core/res/res/values-da/strings.xml
+++ b/core/res/res/values-da/strings.xml
@@ -2020,4 +2020,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> fil</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> filer</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-de/strings.xml b/core/res/res/values-de/strings.xml
index afe5f9d..a790b50 100644
--- a/core/res/res/values-de/strings.xml
+++ b/core/res/res/values-de/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"Telefonanrufe tätigen und verwalten"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; erlauben, Anrufe zu tätigen und zu verwalten?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Körpersensoren"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"auf Sensordaten zu deinen Vitaldaten zugreifen"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; erlauben, auf Sensordaten zu deinen Vitalfunktionen zuzugreifen?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Musik"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"auf Musik zugreifen"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; Zugriff auf deine Musik gewähren?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Fotos &amp; Videos"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"auf meine Fotos und Videos zugreifen"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; Zugriff auf deine Fotos und Videos gewähren, einschließlich gekennzeichneter Standorte?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Fensterinhalte abrufen"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Die Inhalte eines Fensters, mit dem du interagierst, werden abgerufen."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"\"Tippen &amp; Entdecken\" aktivieren"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> und <xliff:g id="COUNT_3">%d</xliff:g> Dateien</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> und <xliff:g id="COUNT_1">%d</xliff:g> Datei</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-el/strings.xml b/core/res/res/values-el/strings.xml
index 4bf6984..f4f7918 100644
--- a/core/res/res/values-el/strings.xml
+++ b/core/res/res/values-el/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Τηλέφωνο"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"πραγματοποιεί και να διαχειρίζεται τηλ/κές κλήσεις"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Να επιτρέπεται στην εφαρμογή &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; η πραγματοποίηση και η διαχείριση τηλεφωνικών κλήσεων;"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Αισθητήρες σώματος"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"πρόσβαση στα δεδομένα αισθητήρα σχετικά με τις ζωτικές ενδείξεις σας"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Να επιτρέπεται στην εφαρμογή &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; να έχει πρόσβαση στα δεδομένα αισθητήρα σχετικά με τις ζωτικές ενδείξεις σας;"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Μουσική"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"πρόσβαση στη μουσική σας"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Να επιτρέπεται στην εφαρμογή &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; να έχει πρόσβαση στη μουσική σας;"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Φωτογραφίες και βίντεο"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"πρόσβαση στις φωτογραφίες και στα βίντεό σας"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Να επιτρέπεται η πρόσβαση του &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; σε φωτογραφίες και βίντεο, μεταξύ άλλων σε επισημασμένες τοποθεσίες;"</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>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> αρχεία</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> αρχείο</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-en-rAU/strings.xml b/core/res/res/values-en-rAU/strings.xml
index 3de69fe..8ed7bd8 100644
--- a/core/res/res/values-en-rAU/strings.xml
+++ b/core/res/res/values-en-rAU/strings.xml
@@ -2020,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> files</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> file</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-en-rCA/strings.xml b/core/res/res/values-en-rCA/strings.xml
index 47e8cd9..722d132 100644
--- a/core/res/res/values-en-rCA/strings.xml
+++ b/core/res/res/values-en-rCA/strings.xml
@@ -2020,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> files</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> file</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-en-rGB/strings.xml b/core/res/res/values-en-rGB/strings.xml
index 3de69fe..8ed7bd8 100644
--- a/core/res/res/values-en-rGB/strings.xml
+++ b/core/res/res/values-en-rGB/strings.xml
@@ -2020,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> files</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> file</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-en-rIN/strings.xml b/core/res/res/values-en-rIN/strings.xml
index 3de69fe..8ed7bd8 100644
--- a/core/res/res/values-en-rIN/strings.xml
+++ b/core/res/res/values-en-rIN/strings.xml
@@ -2020,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> files</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> file</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-en-rXC/strings.xml b/core/res/res/values-en-rXC/strings.xml
index 4ebc1b2..a8173dd 100644
--- a/core/res/res/values-en-rXC/strings.xml
+++ b/core/res/res/values-en-rXC/strings.xml
@@ -2020,4 +2020,6 @@
       <item quantity="other">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‎‎‏‏‏‏‏‎‎‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‏‏‎‏‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‏‏‎<xliff:g id="FILE_NAME_2">%s</xliff:g>‎‏‎‎‏‏‏‎ + ‎‏‎‎‏‏‎<xliff:g id="COUNT_3">%d</xliff:g>‎‏‎‎‏‏‏‎ files‎‏‎‎‏‎</item>
       <item quantity="one">‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‎‏‏‎‏‏‎‏‎‎‏‏‎‎‏‏‏‏‏‎‎‏‏‏‏‏‏‎‎‎‏‏‎‏‏‎‏‏‎‏‏‏‎‎‏‏‏‎‎‏‏‏‎‎‎‎‏‏‏‏‎‎‏‎‎‏‎‎‏‏‎<xliff:g id="FILE_NAME_0">%s</xliff:g>‎‏‎‎‏‏‏‎ + ‎‏‎‎‏‏‎<xliff:g id="COUNT_1">%d</xliff:g>‎‏‎‎‏‏‏‎ file‎‏‎‎‏‎</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-es-rUS/strings.xml b/core/res/res/values-es-rUS/strings.xml
index bdfb923..387eea3 100644
--- a/core/res/res/values-es-rUS/strings.xml
+++ b/core/res/res/values-es-rUS/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Teléfono"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"hacer y administrar llamadas telefónicas"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"¿Permitir que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; haga y administre las llamadas telefónicas?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Sensores corporales"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"acceder a los datos del sensor acerca de tus signos vitales"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"¿Permitir que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; acceda a los datos del sensor de tus signos vitales?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Música"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"acceder a tu música"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"¿Quieres permitir que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; acceda a tu música?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Fotos y videos"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"acceder a tus fotos y videos"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"¿Permitir que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; acceda a tus fotos y videos, incluidas las ubicaciones etiquetadas?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Recuperar el contenido de las ventanas"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Inspecciona el contenido de la ventana con la que estés interactuando."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Activar la Exploración táctil"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> y <xliff:g id="COUNT_3">%d</xliff:g> archivos más</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> y <xliff:g id="COUNT_1">%d</xliff:g> archivo más</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-es/strings.xml b/core/res/res/values-es/strings.xml
index 4eadc4c..017f31b 100644
--- a/core/res/res/values-es/strings.xml
+++ b/core/res/res/values-es/strings.xml
@@ -2020,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> y <xliff:g id="COUNT_3">%d</xliff:g> archivos</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> y <xliff:g id="COUNT_1">%d</xliff:g> archivo</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-et/strings.xml b/core/res/res/values-et/strings.xml
index 9779ae8..f87743a 100644
--- a/core/res/res/values-et/strings.xml
+++ b/core/res/res/values-et/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"helistamine ja telefonikõnede haldamine"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Kas lubada rakendusel &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; teha ja hallata telefonikõnesid?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Kehaandurid"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"juurdepääs anduri andmetele teie eluliste näitajate kohta"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Kas lubada rakendusele &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; juurdepääs anduri andmetele teie eluliste näitajate kohta?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Muusika"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"Pääseda juurde teie muusikale"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Kas lubada rakendusele &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; juurdepääs teie muusikale?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Fotod ja videod"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"Pääseda juurde teie fotodele ja videotele"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Kas lubada rakendusel &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; teie fotodele ja videotele, sh märgistatud asukohtadele, juurde pääseda?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Akna sisu toomine"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Kasutatava akna sisu kontrollimine."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Puudutusega sirvimise sisselülitamine"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> faili</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> fail</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-eu/strings.xml b/core/res/res/values-eu/strings.xml
index d1ee66c..adc4dc4 100644
--- a/core/res/res/values-eu/strings.xml
+++ b/core/res/res/values-eu/strings.xml
@@ -282,7 +282,7 @@
     <string name="permgroupdesc_location" msgid="1346617465127855033">"atzitu gailuaren kokapena"</string>
     <string name="permgrouprequest_location" msgid="3788275734953323491">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; aplikazioari gailuaren kokapena atzitzea baimendu nahi diozu?"</string>
     <string name="permgrouprequestdetail_location" msgid="1113400215566814664">"Aplikazioa erabiltzen ari zarenean soilik atzituko du aplikazioak kokapena."</string>
-    <string name="permgroupbackgroundrequest_location" msgid="8461841153030844390">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; aplikazioari gailuaren kokapena beti atzitzea baimendu?"</string>
+    <string name="permgroupbackgroundrequest_location" msgid="8461841153030844390">"Gailuaren kokapena beti atzitzeko baimena eman nahi diozu &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; aplikazioari?"</string>
     <string name="permgroupbackgroundrequestdetail_location" msgid="1715668276378108654">"Aplikazioak beti atzituko du kokapena, baita aplikazioa erabiltzen ari ez bazara ere."</string>
     <string name="permgrouplab_calendar" msgid="5863508437783683902">"Egutegia"</string>
     <string name="permgroupdesc_calendar" msgid="3889615280211184106">"atzitu egutegia"</string>
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefonoa"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"egin eta kudeatu telefono-deiak"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; aplikazioari telefono-deiak egitea eta kudeatzea baimendu nahi diozu?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Gorputz-sentsoreak"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"atzitu bizi-konstanteei buruzko sentsorearen datuak"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Bizi-konstanteei buruzko sentsorearen datuak atzitzea baimendu nahi diozu &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; aplikazioari?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Musika"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"musika atzitu"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; aplikazioari musika atzitzea baimendu nahi diozu?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Argazkiak eta bideoak"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"argazkiak eta bideoak atzitu"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; aplikazioari zure argazkiak eta bideoak (etiketatutako kokapenak barne) atzitzeko baimena eman?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Eskuratu leihoko edukia"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Arakatu irekita daukazun leihoko edukia."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Aktibatu \"Arakatu ukituta\""</string>
@@ -1321,7 +1318,7 @@
     <string name="sms_short_code_confirm_deny" msgid="2927389840209170706">"Utzi"</string>
     <string name="sms_short_code_remember_choice" msgid="5289538592272218136">"Gogoratu aukera"</string>
     <string name="sms_short_code_remember_undo_instruction" msgid="4960944133052287484">"Hori geroago alda dezakezu Ezarpenak &gt; Aplikazioak atalean"</string>
-    <string name="sms_short_code_confirm_always_allow" msgid="3241181154869493368">"Onartu beti"</string>
+    <string name="sms_short_code_confirm_always_allow" msgid="3241181154869493368">"Eman baimena beti"</string>
     <string name="sms_short_code_confirm_never_allow" msgid="446992765774269673">"Ez onartu inoiz"</string>
     <string name="sim_removed_title" msgid="6227712319223226185">"SIM txartela kendu da"</string>
     <string name="sim_removed_message" msgid="2333164559970958645">"Sare mugikorra ez da erabilgarri egongo baliozko SIM txartel bat sartuta berrabiarazten ez duzun arte."</string>
@@ -2024,4 +2021,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> fitxategi</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> fitxategi</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-fa/strings.xml b/core/res/res/values-fa/strings.xml
index e8f55bd..7835cfe 100644
--- a/core/res/res/values-fa/strings.xml
+++ b/core/res/res/values-fa/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"تلفن"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"برقراری و مدیریت تماس‌های تلفنی"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"‏به &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;b&gt; اجازه داده شود تماس‌های تلفنی برقرار کند و آن‌ها را مدیریت کند؟"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"حسگرهای بدن"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"دسترسی به داده‌های حسگر در رابطه با علائم حیاتی شما"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"‏به &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;b&gt; اجازه داده شود به داده‌های حسگر مربوط به علائم حیاتی شما دسترسی پیدا کند؟"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"موسیقی"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"دسترسی به موسیقی شما"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"‏به &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; اجازه داده شود به موسیقی شما دسترسی پیدا کند؟"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"عکس و ویدیو"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"دسترسی به عکس‌ها و ویدیوهایتان"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"‏به &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; اجازه می‌دهید به عکس‌ها و ویدیوهاتان، ازجمله مکان‌های برچسب‌گذاری‌شده، دسترسی داشته باشد؟"</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>
@@ -2023,4 +2020,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> فایل</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> فایل</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-fi/strings.xml b/core/res/res/values-fi/strings.xml
index d1687db..6efc8be 100644
--- a/core/res/res/values-fi/strings.xml
+++ b/core/res/res/values-fi/strings.xml
@@ -2020,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> tiedostoa</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> tiedosto</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-fr-rCA/strings.xml b/core/res/res/values-fr-rCA/strings.xml
index 86db224..9e8b92c 100644
--- a/core/res/res/values-fr-rCA/strings.xml
+++ b/core/res/res/values-fr-rCA/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Téléphone"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"faire et gérer des appels téléphoniques"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Autoriser &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; à faire et à gérer les appels téléphoniques?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Capteurs corporels"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"accéder aux données des capteurs sur vos signes vitaux"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder aux données des capteurs pour vos signes vitaux?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Musique"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"accéder à votre musique"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Autoriser &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; à accéder à votre musique?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Photos et vidéos"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"accéder à vos photos et à vos vidéos"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Autoriser « <xliff:g id="APP_NAME">%1$s</xliff:g> » à accéder à vos photos et vos videos, y compris les lieux balisés?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Récupérer le contenu d\'une fenêtre"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Inspecter le contenu d\'une fenêtre avec laquelle vous interagissez."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Activer la fonctionnalité Explorer au toucher"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> fichier</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> fichiers</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-fr/strings.xml b/core/res/res/values-fr/strings.xml
index cc6d8f4..1723039 100644
--- a/core/res/res/values-fr/strings.xml
+++ b/core/res/res/values-fr/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Téléphone"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"effectuer et gérer des appels téléphoniques"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Permettre à &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; de passer et gérer des appels téléphoniques ?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Capteurs corporels"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"accéder aux données des capteurs relatives à vos signes vitaux"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Permettre à &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; d\'accéder aux données des capteurs relatives à vos signes vitaux ?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Musique"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"accéder à votre musique"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Autoriser &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; à accéder à votre musique ?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Photos et vidéos"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"accéder à vos photos et vos vidéos"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Autoriser &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; à accéder à vos photos et vidéos, y compris aux tags de lieu ?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Récupérer le contenu d\'une fenêtre"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Inspecte le contenu d\'une fenêtre avec laquelle vous interagissez."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Activer la fonctionnalité Explorer au toucher"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> fichier</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> fichiers</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-gl/strings.xml b/core/res/res/values-gl/strings.xml
index 934c866..78f6ecc 100644
--- a/core/res/res/values-gl/strings.xml
+++ b/core/res/res/values-gl/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Teléfono"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"facer e xestionar chamadas telefónicas"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Queres permitir que a aplicación &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; realice e xestione chamadas telefónicas?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Sensores corporais"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"acceder aos datos dos sensores sobre as túas constantes vitais"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Queres permitir que a aplicación &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; acceda aos datos dos sensores sobre as túas constantes vitais?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Música"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"acceder á música"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Queres permitir que a aplicación &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; acceda á túa música?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Fotos e vídeos"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"acceder ás fotos e aos vídeos"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Queres permitir que &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; acceda ás túas fotos e vídeos, incluídas as localizacións etiquetadas?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Recuperar contido da ventá"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Inspecciona o contido dunha ventá coa que estás interactuando."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Activar a exploración táctil"</string>
@@ -2024,4 +2021,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ficheiros</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> ficheiro</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-gu/strings.xml b/core/res/res/values-gu/strings.xml
index a8715b7..8131c0d 100644
--- a/core/res/res/values-gu/strings.xml
+++ b/core/res/res/values-gu/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"ફોન"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"ફોન કૉલ કરો અને સંચાલિત કરો"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ને ફોન કૉલ કરવાની અને તેને મેનેજ કરવાની મંજૂરી આપીએ?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"બૉડી સેન્સર"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"તમારા મહત્વપૂર્ણ ચિહ્નો વિશે સેન્સર ડેટા ઍક્સેસ કરો"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ને તમારી મહત્વપૂર્ણ સહી વિશેના સેન્સર ડેટાને ઍક્સેસ કરવાની મંજૂરી આપીએ?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"સંગીત"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"તમારા સંગીતને ઍક્સેસ કરો"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ને તમારા સંગીતમાં ઍક્સેસ કરવાની મંજૂરી આપવી છે?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"ફોટા અને વીડિયો"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"તમારા ફોટો &amp; વિડિઓ ઍક્સેસ કરો"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ને તમારા ટૅગ કરેલાં સ્થાનો સહિત ફોટા અને વીડિયો ઍક્સેસ કરવાની મંજૂરી આપવી છે?"</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>
@@ -2024,4 +2021,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ફાઇલ</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ફાઇલ</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-hi/strings.xml b/core/res/res/values-hi/strings.xml
index 4c4c2e2..2fd884e 100644
--- a/core/res/res/values-hi/strings.xml
+++ b/core/res/res/values-hi/strings.xml
@@ -1613,10 +1613,8 @@
     <string name="display_manager_overlay_display_name" msgid="5142365982271620716">"ओवरले #<xliff:g id="ID">%1$d</xliff:g>"</string>
     <string name="display_manager_overlay_display_title" msgid="652124517672257172">"<xliff:g id="NAME">%1$s</xliff:g>: <xliff:g id="WIDTH">%2$d</xliff:g>x<xliff:g id="HEIGHT">%3$d</xliff:g>, <xliff:g id="DPI">%4$d</xliff:g> dpi"</string>
     <string name="display_manager_overlay_display_secure_suffix" msgid="6022119702628572080">", सुरक्षित"</string>
-    <!-- no translation found for activity_starter_block_bg_activity_starts_permissive (5692097903712956720) -->
-    <skip />
-    <!-- no translation found for activity_starter_block_bg_activity_starts_enforcing (8299522481076404353) -->
-    <skip />
+    <string name="activity_starter_block_bg_activity_starts_permissive" msgid="5692097903712956720">"आने वाले Q बिल्ड में <xliff:g id="PACKAGENAME">%1$s</xliff:g> के बैकग्राउंड में गतिविधि शुरू करने पर रोक लगा दी जाएगी. go/q-bg-block देखें."</string>
+    <string name="activity_starter_block_bg_activity_starts_enforcing" msgid="8299522481076404353">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> के बैकग्राउंड में गतिविधि शुरू करने पर रोक लगा दी गई है. go/q-bg-block देखें."</string>
     <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"आकार भूल गए"</string>
     <string name="kg_wrong_pattern" msgid="1850806070801358830">"गलत पैटर्न डाला गया है"</string>
     <string name="kg_wrong_password" msgid="2333281762128113157">"गलत पासवर्ड"</string>
@@ -2002,45 +2000,29 @@
     <string name="dynamic_mode_notification_channel_name" msgid="2348803891571320452">"रूटीन मोड जानकारी की सूचना"</string>
     <string name="dynamic_mode_notification_title" msgid="508815255807182035">"बैटरी आम तौर पर जितने समय चलती है, उससे पहले खत्म हो सकती है"</string>
     <string name="dynamic_mode_notification_summary" msgid="2541166298550402690">"बैटरी लाइफ़ बढ़ाने के लिए \'बैटरी सेवर\' चालू हो गया है"</string>
-    <!-- no translation found for mime_type_folder (7111951698626315204) -->
-    <skip />
-    <!-- no translation found for mime_type_apk (5518003630972506900) -->
-    <skip />
-    <!-- no translation found for mime_type_generic (6833871596845900027) -->
-    <skip />
-    <!-- no translation found for mime_type_generic_ext (8450275970061657174) -->
-    <skip />
-    <!-- no translation found for mime_type_audio (6289777657172050926) -->
-    <skip />
-    <!-- no translation found for mime_type_audio_ext (3270880987725816210) -->
-    <skip />
-    <!-- no translation found for mime_type_video (4093025777317307426) -->
-    <skip />
-    <!-- no translation found for mime_type_video_ext (5643771615714173159) -->
-    <skip />
-    <!-- no translation found for mime_type_image (3144284451605236371) -->
-    <skip />
-    <!-- no translation found for mime_type_image_ext (1514613218742736590) -->
-    <skip />
-    <!-- no translation found for mime_type_compressed (1645486037074943257) -->
-    <skip />
-    <!-- no translation found for mime_type_compressed_ext (4232293058067801528) -->
-    <skip />
-    <!-- no translation found for mime_type_document (1596838147256375966) -->
-    <skip />
-    <!-- no translation found for mime_type_document_ext (6327266601345501281) -->
-    <skip />
-    <!-- no translation found for mime_type_spreadsheet (2639138255207123557) -->
-    <skip />
-    <!-- no translation found for mime_type_spreadsheet_ext (5508653032786106725) -->
-    <skip />
-    <!-- no translation found for mime_type_presentation (6145604688774787357) -->
-    <skip />
-    <!-- no translation found for mime_type_presentation_ext (2982650207774823437) -->
-    <skip />
+    <string name="mime_type_folder" msgid="7111951698626315204">"फ़ोल्डर"</string>
+    <string name="mime_type_apk" msgid="5518003630972506900">"Android ऐप्लिकेशन"</string>
+    <string name="mime_type_generic" msgid="6833871596845900027">"फ़ाइल"</string>
+    <string name="mime_type_generic_ext" msgid="8450275970061657174">"<xliff:g id="EXTENSION">%1$s</xliff:g> फ़ाइल"</string>
+    <string name="mime_type_audio" msgid="6289777657172050926">"ऑडियो"</string>
+    <string name="mime_type_audio_ext" msgid="3270880987725816210">"<xliff:g id="EXTENSION">%1$s</xliff:g> ऑडियो"</string>
+    <string name="mime_type_video" msgid="4093025777317307426">"वीडियो"</string>
+    <string name="mime_type_video_ext" msgid="5643771615714173159">"<xliff:g id="EXTENSION">%1$s</xliff:g> वीडियो"</string>
+    <string name="mime_type_image" msgid="3144284451605236371">"इमेज"</string>
+    <string name="mime_type_image_ext" msgid="1514613218742736590">"<xliff:g id="EXTENSION">%1$s</xliff:g> इमेज"</string>
+    <string name="mime_type_compressed" msgid="1645486037074943257">"संग्रह"</string>
+    <string name="mime_type_compressed_ext" msgid="4232293058067801528">"<xliff:g id="EXTENSION">%1$s</xliff:g> संग्रह"</string>
+    <string name="mime_type_document" msgid="1596838147256375966">"दस्तावेज़"</string>
+    <string name="mime_type_document_ext" msgid="6327266601345501281">"<xliff:g id="EXTENSION">%1$s</xliff:g> दस्तावेज़"</string>
+    <string name="mime_type_spreadsheet" msgid="2639138255207123557">"स्प्रेडशीट"</string>
+    <string name="mime_type_spreadsheet_ext" msgid="5508653032786106725">"<xliff:g id="EXTENSION">%1$s</xliff:g> स्प्रेडशीट"</string>
+    <string name="mime_type_presentation" msgid="6145604688774787357">"प्रज़ेंटेशन"</string>
+    <string name="mime_type_presentation_ext" msgid="2982650207774823437">"<xliff:g id="EXTENSION">%1$s</xliff:g> प्रज़ेंटेशन"</string>
     <string name="car_loading_profile" msgid="3545132581795684027">"प्राेफ़ाइल लोड हो रही है"</string>
     <plurals name="file_count" formatted="false" msgid="1628600959752419449">
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> फ़ाइलें</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> फ़ाइलें</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-hr/strings.xml b/core/res/res/values-hr/strings.xml
index ffe5436..d50fda6 100644
--- a/core/res/res/values-hr/strings.xml
+++ b/core/res/res/values-hr/strings.xml
@@ -311,18 +311,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"uspostavljati telefonske pozive i upravljati njima"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Želite li dopustiti aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; da upućuje telefonske pozive i upravlja njima?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Biometrijski senzori"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"pristupiti podacima senzora o vašim vitalnim znakovima"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Želite li dopustiti aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; da pristupa podacima senzora o vašim vitalnim znakovima?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Glazba"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"pristup glazbi"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Želite li dopustiti aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; da pristupa vašoj glazbi?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Fotografije i videozapisi"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"pristup fotografijama i &amp; videozapisima"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Želite li dopustiti da &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; pristupa vašim fotografijama i videozapisima, uključujući označene lokacije?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Dohvaćati sadržaj prozora"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Pregledat će sadržaj prozora koji upotrebljavate."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Uključiti značajku Istraži dodirom"</string>
@@ -2059,4 +2056,6 @@
       <item quantity="few"><xliff:g id="FILE_NAME_2">%s</xliff:g> i još <xliff:g id="COUNT_3">%d</xliff:g> datoteke</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> i još <xliff:g id="COUNT_3">%d</xliff:g> datoteka</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-hu/strings.xml b/core/res/res/values-hu/strings.xml
index fda1244..5d0086b 100644
--- a/core/res/res/values-hu/strings.xml
+++ b/core/res/res/values-hu/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"telefonhívások kezdeményezése és kezelése"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Engedélyezi a(z) &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; számára, hogy hívásokat indíthasson és kezelhessen?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Testérzékelők"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"az érzékelők által mért, életjelekkel kapcsolatos adatok elérése"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Engedélyezi a(z) &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; számára, hogy hozzáférjen az életjelekkel kapcsolatos szenzoradatokhoz?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Zene"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"hozzáférés a zenékhez"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Engedélyezi a(z) &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&amp;gt számára, hogy hozzáférjen az Ön zenéihez?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Fotók és videók"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"hozzáférés a fényképekhez és videókhoz"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Engedélyezi a(z) &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; számára a fotókhoz és videókhoz (köztük a címkézett helyekhez) való hozzáférést?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Ablaktartalom lekérdezése"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"A használt ablak tartalmának vizsgálata."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Felfedezés érintéssel bekapcsolása"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> fájl</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> fájl</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-hy/strings.xml b/core/res/res/values-hy/strings.xml
index a8df720..7d9f8ac 100644
--- a/core/res/res/values-hy/strings.xml
+++ b/core/res/res/values-hy/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Հեռախոս"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"կատարել զանգեր և կառավարել զանգերը"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Թույլ տա՞լ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; հավելվածին կատարել հեռախոսազանգեր և կառավարել դրանք:"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Մարմնի տվիչներ"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"օգտագործել սենսորների տվյալները ձեր օրգանիզմի վիճակի մասին"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Թույլ տա՞լ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; հավելվածին սենսորից ստանալ ձեր կենսագործունեության հիմնական տվյալները:"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Երաժշտություն"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"երաժշտության հասանելիություն"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Հասանելի դարձնե՞լ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; հավելվածին ձեր երաժշտությունը:"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Լուսանկարներ և տեսանյութեր"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"լուսանկարների և տեսանյութերի հասանելիություն"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Հասանելի դարձնե՞լ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; հավելվածին ձեր լուսանկարները, տեսանյութերը և տեղանշված վայրերը:"</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>
@@ -2024,4 +2021,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ֆայլ</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ֆայլ</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-in/strings.xml b/core/res/res/values-in/strings.xml
index aaec2ef3..6432e37 100644
--- a/core/res/res/values-in/strings.xml
+++ b/core/res/res/values-in/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telepon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"melakukan dan mengelola panggilan telepon"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Izinkan &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; melakukan dan mengelola panggilan telepon?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Sensor tubuh"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"mengakses data sensor tentang tanda-tanda vital"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Izinkan &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; mengakses data sensor tentang tanda-tanda vital Anda?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Musik"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"mengakses musik Anda"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Izinkan &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; untuk mengakses musik?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Foto &amp; video"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"mengakses foto &amp; video Anda"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Izinkan &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; mengakses foto dan video Anda, termasuk lokasi yang diberi tag?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Mengambil konten jendela"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Memeriksa konten jendela tempat Anda berinteraksi."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Mengaktifkan Jelajahi dengan Sentuhan"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> file</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> file</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-is/strings.xml b/core/res/res/values-is/strings.xml
index c0627c1..d27d8b5 100644
--- a/core/res/res/values-is/strings.xml
+++ b/core/res/res/values-is/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Sími"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"hringja og stjórna símtölum"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Viltu leyfa &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; að hringja og stjórna símtölum?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Líkamsskynjarar"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"aðgangur að skynjaragögnum yfir lífsmörk þín"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Viltu veita &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; aðgang að skynjaragögnum yfir lífsmörk þín?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Tónlist"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"fá aðgang að tónlistinni þinni"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Viltu veita &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; aðgang að tónlistinni þinni?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Myndir og myndskeið"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"fá aðgang að myndunum og myndskeiðunum þínum"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Viltu veita &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; aðgang að myndunum þínum og myndskeiðum, þ.m.t. merktum staðsetningum?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Sækja innihald glugga"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Kanna innihald glugga sem þú ert að nota."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Kveikja á snertikönnun"</string>
@@ -2024,4 +2021,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> skrá</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> skrá</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-it/strings.xml b/core/res/res/values-it/strings.xml
index 0d4e0bd..c5592b6 100644
--- a/core/res/res/values-it/strings.xml
+++ b/core/res/res/values-it/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefono"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"eseguire e gestire le telefonate"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Consentire all\'app &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; di effettuare e gestire telefonate?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Sensori del corpo"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"accedere ai dati dei sensori relativi ai tuoi parametri vitali"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Consentire a &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; di accedere ai dati dei sensori relativi ai parametri vitali?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Musica"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"Accesso alla tua musica"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Vuoi consentire all\'app &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; di accedere alla tua musica?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Foto e video"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"Accesso alle tue foto e ai tuoi video"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Vuoi consentire a &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; di accedere alle tue foto e ai tuoi video, incluse le località taggate?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Recuperare contenuti della finestra"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Esaminare i contenuti di una finestra con cui interagisci."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Attivare Esplora al tocco"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> file</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> file</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-iw/strings.xml b/core/res/res/values-iw/strings.xml
index 1d27a3f..89813a7 100644
--- a/core/res/res/values-iw/strings.xml
+++ b/core/res/res/values-iw/strings.xml
@@ -314,18 +314,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"טלפון"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"התקשרות וניהול של שיחות טלפון"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"‏לתת לאפליקציה &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; הרשאה להתקשרות ולניהול של שיחות טלפון?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"חיישנים לבישים"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"גישה אל נתוני חיישנים של הסימנים החיוניים שלך"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"‏לתת לאפליקציה &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; הרשאת גישה לנתוני חיישנים העוקבים אחר הסימנים החיוניים שלך?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"מוזיקה"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"גישה למוזיקה שלך"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"‏האם לתת לאפליקציה &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; הרשאת גישה למוזיקה שלך?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"תמונות וסרטונים"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"גישה לתמונות ולסרטונים שלך"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"‏האם לאפשר ל-&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; לקבל גישה לתמונות ולסרטונים שלך, כולל מיקומים מתויגים?"</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>
@@ -2095,4 +2092,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> קבצים</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + קובץ  אחד (<xliff:g id="COUNT_1">%d</xliff:g>)</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-ja/strings.xml b/core/res/res/values-ja/strings.xml
index f0291a8..79e2f09 100644
--- a/core/res/res/values-ja/strings.xml
+++ b/core/res/res/values-ja/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"電話"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"電話の発信と管理"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"電話の発信と管理を &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に許可しますか?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"ボディセンサー"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"バイタルサインに関するセンサーデータへのアクセス"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"バイタルサインに関するセンサーデータへのアクセスを &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に許可しますか?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"音楽"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"音楽へのアクセス"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"音楽へのアクセスを &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に許可しますか?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"写真と動画"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"写真と動画へのアクセス"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"タグ付けされた場所を含め、写真と動画へのアクセスを &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; に許可しますか?"</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>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g>、他 <xliff:g id="COUNT_3">%d</xliff:g> ファイル</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g>、他 <xliff:g id="COUNT_1">%d</xliff:g> ファイル</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-ka/strings.xml b/core/res/res/values-ka/strings.xml
index 8295136..4a3cb8b 100644
--- a/core/res/res/values-ka/strings.xml
+++ b/core/res/res/values-ka/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"ტელეფონი"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"სატელეფონო ზარების განხორციელება და მართვა"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"გსურთ, მიანიჭოთ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>-ს&lt;/b&gt; სატელეფონო ზარების განხორციელების და მართვის ნებართვა?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"სხეულის სენსორები"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"თქვენი სასიცოცხლო ფუნქციების შესახებ სენსორის მონაცემებზე წვდომა"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"გსურთ, მიანიჭოთ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>-ს&lt;/b&gt; თქვენი სასიცოცხლო ფუნქციების შესახებ სენსორის მონაცემებზე წვდომის ნებართვა?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"მუსიკა"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"თქვენს მუსიკაზე წვდომა"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"გსურთ, მიანიჭოთ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;-ს თქვენს მუსიკაზე წვდომა?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"ფოტოები და ვიდეოები"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"თქვენს ფოტოებსა და ვიდეოებზე წვდომა"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"გსურთ, მიანიჭოთ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;-ს წვდომა თქვენს ფოტოებსა და ვიდეოებზე, მათ შორის, თეგებით მონიშნულ მდებარეობებზე?"</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>
@@ -2024,4 +2021,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ფაილი</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> ფაილი</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-kk/strings.xml b/core/res/res/values-kk/strings.xml
index 5231299..951c4e2 100644
--- a/core/res/res/values-kk/strings.xml
+++ b/core/res/res/values-kk/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Телефон"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"қоңырау шалу және телефон қоңырауларын басқару"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; қолданбасына қоңыраулар шалуға және басқаруға рұқсат берілсін бе?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Дене датчиктері"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"ағза күйінің көрсеткіштері туралы сенсор деректеріне қатынасу"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; қолданбасына негізгі физиологиялық көрсеткіштерді көрсететін сенсорлық деректерді пайдалануға рұқсат берілсін бе?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Музыка"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"музыка мазмұнына кіру"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; қолданбасына музыка мазмұнына кіруге рұқсат етілсін бе?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Суреттер және бейнелер"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"суреттер мен бейнелерге кіру"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; қолданбасына суреттер мен бейнелерді, тэг енгізілген орындарды пайдалануға рұқсат етілсін бе?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Терезе мазмұнын оқып отыру"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Ашық тұрған терезе мазмұнын тексеру."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Explore by Touch функциясын қосу"</string>
@@ -2024,4 +2021,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> файл</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> файл</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-km/strings.xml b/core/res/res/values-km/strings.xml
index 60169b6..cb38ea1 100644
--- a/core/res/res/values-km/strings.xml
+++ b/core/res/res/values-km/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"ទូរសព្ទ"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"ហៅទូរស័ព្ទ និងគ្រប់គ្រងការហៅទូរស័ព្ទ"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"អនុញ្ញាតឱ្យ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; គ្រប់គ្រង និង​ធ្វើការហៅទូរសព្ទ?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"ឧបករណ៍​ចាប់សញ្ញា​រាងកាយ"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"ចូលដំណើរការទិន្នន័យឧបករណ៍ចាប់សញ្ញាអំពីស្ថានភាពសុខភាពរបស់អ្នក"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"អនុញ្ញាតឱ្យ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ចូលប្រើ​ទិន្នន័យឧបករណ៍ចាប់សញ្ញាអំពីស្ថានភាពសុខភាពរបស់អ្នក?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"តន្ត្រី"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"ចូលប្រើ​តន្ត្រី​របស់អ្នក"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"អនុញ្ញាត​ឱ្យ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ចូលប្រើ​តន្រ្តី​របស់​អ្នក?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"​រូបថត និង​វីដេអូ"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"ចូលប្រើ​រូបថត និង​វីដេអូ​របស់អ្នក"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"អនុញ្ញាត​ឱ្យ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ចូលប្រើ​រូបថត និង​វីដេអូ​របស់អ្នក រួមទាំង​ទីតាំង​ដែលបានដាក់ស្លាក?"</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>
@@ -2025,4 +2022,6 @@
       <item quantity="other">ឯកសារ <xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g></item>
       <item quantity="one">ឯកសារ​ <xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g></item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-kn/strings.xml b/core/res/res/values-kn/strings.xml
index d54f7ca..c8d4396 100644
--- a/core/res/res/values-kn/strings.xml
+++ b/core/res/res/values-kn/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"ಫೋನ್"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"ಫೋನ್ ಕರೆ ಮಾಡಲು ಹಾಗೂ ನಿರ್ವಹಿಸಲು"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"ಫೋನ್ ಕರೆಗಳನ್ನು ಮಾಡಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"ದೇಹದ ಸೆನ್ಸರ್‌ಗಳು"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"ನಿಮ್ಮ ಮುಖ್ಯ ಲಕ್ಷಣಗಳ ಕುರಿತು ಸೆನ್ಸಾರ್ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಿ"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"ನಿಮ್ಮ ಮುಖ್ಯ ಲಕ್ಷಣಗಳ ಕುರಿತು ಸೆನ್ಸರ್ ಡೇಟಾವನ್ನು &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"ಸಂಗೀತ"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"ನಿಮ್ಮ ಸಂಗೀತವನ್ನು ಪ್ರವೇಶಿಸಿ"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"ನಿಮ್ಮ ಸಂಗೀತವನ್ನು ಪ್ರವೇಶಿಸಲು &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ಗೆ ಅನುಮತಿಸಬೇಕೇ?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"ಫೋಟೋಗಳು ಮತ್ತು ವೀಡಿಯೊಗಳು"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"ನಿಮ್ಮ ಫೋಟೋಗಳು &amp; ವೀಡಿಯೊಗಳನ್ನು ಪ್ರವೇಶಿಸಿ"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"ಟ್ಯಾಗ್ ಮಾಡಿದ ಸ್ಥಳಗಳೂ ಸೇರಿದಂತೆ ನಿಮ್ಮ ಫೋಟೋಗಳು ಹಾಗೂ ವೀಡಿಯೊಗಳಿಗೆ ಪ್ರವೇಶ ಪಡೆಯಲು &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ಗೆ ಅನುಮತಿ ನೀಡಬೇಕೇ?"</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>
@@ -2025,4 +2022,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ಫೈಲ್‌ಗಳು</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ಫೈಲ್‌ಗಳು</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-ko/strings.xml b/core/res/res/values-ko/strings.xml
index b220eca..69963ef05 100644
--- a/core/res/res/values-ko/strings.xml
+++ b/core/res/res/values-ko/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"전화"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"전화 걸기 및 관리"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;에서 전화를 걸고 관리하도록 허용하시겠습니까?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"신체 센서"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"생체 신호에 관한 센서 데이터에 액세스"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;에서 생체 신호에 관한 센서 데이터에 액세스하도록 허용하시겠습니까?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"음악"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"음악에 액세스"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;에서 내 음악에 액세스하도록 허용하시겠습니까?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"사진 및 동영상"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"사진 및 동영상에 액세스"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;에서 태그가 지정된 위치를 포함한 내 사진과 동영상에 액세스하도록 허용하시겠습니까?"</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>
@@ -2024,4 +2021,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> 및 파일 <xliff:g id="COUNT_3">%d</xliff:g>개</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> 및 파일 <xliff:g id="COUNT_1">%d</xliff:g>개</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-ky/strings.xml b/core/res/res/values-ky/strings.xml
index 1893b39..95e85c6 100644
--- a/core/res/res/values-ky/strings.xml
+++ b/core/res/res/values-ky/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Телефон"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"телефон чалуу жана аларды башкаруу"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; колдонмосуна телефон чалууга жана чалууларды башкарууга уруксат берилсинби?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Дене сенсорлору"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"организмдин абалына көз салган сенсордун дайындарына мүмкүнчүлүк алуу"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; колдонмосуна организмдин абалына көз салган сенсордун дайындарын пайдаланууга уруксат берилсинби?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Музыка"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"музыкага кирүү мүмкүнчүлүгү"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; колдонмосуна музыканы пайдаланууга уруксат берилсинби?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Сүрөттөр жана видеолор"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"сүрөттөр менен видеолорго кирүү мүмкүнчүлүгү"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; колдонмосуна сүрөттөрүңүздү, видеолоруңузду, анын ичинде тегделген жайгашкан жерлериңизди көрүүгө уруксат бересизби?"</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>
@@ -2025,4 +2022,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> файл</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> файл</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-lo/strings.xml b/core/res/res/values-lo/strings.xml
index 55a5018..1e76147 100644
--- a/core/res/res/values-lo/strings.xml
+++ b/core/res/res/values-lo/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"ໂທລະສັບ"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"ໂທ ແລະ​ຈັດ​ການ​ການ​ໂທ​ລະ​ສັບ"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"ອະນຸຍາດ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ໃຫ້ໂທ ແລະ ຈັດການການໂທບໍ?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"ເຊັນເຊີຮ່າງກາຍ"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"ເຂົ້າ​ຫາ​ຂໍ້​ມູນ​ເຊັນ​ເຊີ​ກ່ຽວ​ກັບ​ສັນ​ຍານ​ຊີບ​ຂອງ​ທ່ານ"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"ອະນຸຍາດ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ໃຫ້ເຂົ້າເຖິງຂໍ້ມູນເຊັນເຊີກ່ຽວກັບສັນຍານຊີບຂອງທ່ານບໍ?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"ເພງ"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"ເຂົ້າເຖິງເພງຂອງທ່ານ"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"ອະນຸຍາດ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ໃຫ້ເຂົ້າເຖິງເພງຂອງທ່ານບໍ?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"ຮູບພາບ ແລະ ວິດີໂອ"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"ເຂົ້າເຖິງຮູບພາບ ແລະ ວິດີໂອຂອງທ່ານ"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"ອະນຸຍາດໃຫ້ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ເຂົ້າເຖິງຮູບພາບ ແລະ ວິດີໂອຂອງທ່ານ, ຮວມທັງສະຖານທີ່ທີ່ຖືກແທັກນຳບໍ?"</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>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ໄຟລ໌</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> ໄຟລ໌</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-lt/strings.xml b/core/res/res/values-lt/strings.xml
index 2f7673b..94ab46c 100644
--- a/core/res/res/values-lt/strings.xml
+++ b/core/res/res/values-lt/strings.xml
@@ -314,18 +314,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefonas"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"skambinti ir tvarkyti telefonų skambučius"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Leisti &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; skambinti ir tvarkyti telefono skambučius?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Kūno jutikliai"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"pasiekti jutiklių duomenis apie gyvybinius ženklus"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Suteikti &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; galimybę pasiekti jutiklių duomenis apie gyvybinius ženklus?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Muzika"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"pasiekti muziką"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Suteikti programai &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; prieigą prie muzikos?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Nuotraukos ir vaizdo įrašai"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"pasiekti nuotraukas ir vaizdo įrašus"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Leisti programai &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; pasiekti nuotraukas ir vaizdo įrašus, įskaitant pažymėtas vietoves?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Gauti lango turinį"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Tikrinti lango, su kuriuo sąveikaujate, turinį."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Įjungti „Naršyti paliečiant“"</string>
@@ -2095,4 +2092,6 @@
       <item quantity="many">„<xliff:g id="FILE_NAME_2">%s</xliff:g>“ ir <xliff:g id="COUNT_3">%d</xliff:g> failo</item>
       <item quantity="other">„<xliff:g id="FILE_NAME_2">%s</xliff:g>“ ir <xliff:g id="COUNT_3">%d</xliff:g> failų</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-lv/strings.xml b/core/res/res/values-lv/strings.xml
index 1c53dda..53ab075 100644
--- a/core/res/res/values-lv/strings.xml
+++ b/core/res/res/values-lv/strings.xml
@@ -311,18 +311,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Tālrunis"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"veikt un pārvaldīt tālruņa zvanus"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Vai atļaut lietotnei &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; veikt un pārvaldīt tālruņa zvanus?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Ķermeņa sensori"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"piekļūt sensoru datiem par jūsu veselības rādījumiem"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Vai atļaut lietotnei &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; piekļūt sensoru uztvertajiem veselības rādījumiem?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Mūzika"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"Piekļūt jūsu mūzikai"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Vai atļaut lietotnei &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; piekļūt jūsu mūzikai?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Fotoattēli un videoklipi"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"Piekļūt jūsu fotoattēliem un videoklipiem"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Vai atļaut lietotnei &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; piekļūt jūsu fotoattēliem, videoklipiem, tostarp atzīmētajām atrašanās vietām?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Izgūt loga saturu."</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Skatīt tā loga saturu, ar kuru mijiedarbojaties."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Aktivizēt funkciju “Pārlūkot pieskaroties”."</string>
@@ -2059,4 +2056,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> un <xliff:g id="COUNT_3">%d</xliff:g> fails</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> un <xliff:g id="COUNT_3">%d</xliff:g> faili</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-mcc311-mnc480/config.xml b/core/res/res/values-mcc311-mnc480/config.xml
index cc7daa8..db2f8d0 100755
--- a/core/res/res/values-mcc311-mnc480/config.xml
+++ b/core/res/res/values-mcc311-mnc480/config.xml
@@ -19,21 +19,6 @@
 
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
 
-    <!-- CDMA home system id for Verizon -->
-    <string-array translatable="false" name="config_cdma_home_system">
-        <item>64</item>
-        <item>65</item>
-        <item>66</item>
-        <item>76</item>
-        <item>77</item>
-        <item>78</item>
-        <item>79</item>
-        <item>80</item>
-        <item>81</item>
-        <item>82</item>
-        <item>83</item>
-    </string-array>
-
     <!-- Flag indicating whether the IMS service can be turned off. If false then
         the service will not be turned-off completely (the ImsManager.turnOffIms() will
         be disabled) but individual Features can be disabled using ImsConfig.setFeatureValue() -->
diff --git a/core/res/res/values-mk/strings.xml b/core/res/res/values-mk/strings.xml
index 5447056..4e0b47a 100644
--- a/core/res/res/values-mk/strings.xml
+++ b/core/res/res/values-mk/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Телефон"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"упатува и управува со телефонски повици"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Дали да се дозволи &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; да повикува и да управува со телефонските повици?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Телесни сензори"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"пристапува до податоците од сензорите за виталните знаци"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Дали да се дозволи &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; да пристапува до податоците на сензорот за витални знаци?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Музика"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"пристапува до музиката"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Дали да се дозволи &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; да пристапува до музиката?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Фотографии и видеа"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"пристапува до фотографиите и видеата"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Дали да се дозволи &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; да пристапува до фотографиите и видеата, вклучувајќи означени локации?"</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>
@@ -2026,4 +2023,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> датотека</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> датотеки</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-ml/strings.xml b/core/res/res/values-ml/strings.xml
index 0e2e7da..13ca198 100644
--- a/core/res/res/values-ml/strings.xml
+++ b/core/res/res/values-ml/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"ഫോണ്‍"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"ഫോൺ വിളിക്കുകയും നിയന്ത്രിക്കുകയും ചെയ്യുക"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"ഫോൺ കോളുകൾ ചെയ്യാനും അവ നിയന്ത്രിക്കാനും &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ആപ്പിനെ അനുവദിക്കണോ?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"ബോഡി സെൻസറുകൾ"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"നിങ്ങളുടെ ജീവാധാര ലക്ഷണങ്ങളെ കുറിച്ചുള്ള സെൻസർ വിവരങ്ങൾ ആക്സസ് ചെയ്യുക"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"നിങ്ങളുടെ ജീവധാരണ ലക്ഷണങ്ങളെ കുറിച്ചുള്ള സെൻസർ ഡാറ്റ ആക്‌സസ് ചെയ്യാൻ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ആപ്പിനെ അനുവദിക്കണോ?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"സംഗീതം"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"നിങ്ങളുടെ സംഗീതം ആക്‌സസ് ചെയ്യുക"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; എന്നതിനെ നിങ്ങളുടെ സംഗീതം ആക്‌സസ് ചെയ്യാൻ അനുവദിക്കണോ?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"ഫോട്ടോകളും വീഡിയോകളും"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"നിങ്ങളുടെ ഫോട്ടോകളും &amp; വീഡിയോകളും"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"ടാഗ് ചെയ്‌ത ലൊക്കേഷനുകൾ ഉൾപ്പെടെ നിങ്ങളുടെ ഫോട്ടോകളും വീഡിയോകളും ആക്‌സസ് ചെയ്യാൻ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;-നെ അനുവദിക്കണോ?"</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>
@@ -2024,4 +2021,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ഫയലുകൾ</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> ഫയൽ</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-mn/strings.xml b/core/res/res/values-mn/strings.xml
index cc7272d..101ef35 100644
--- a/core/res/res/values-mn/strings.xml
+++ b/core/res/res/values-mn/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Утас"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"утасны дуудлага хийх, дуудлага удирдах"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;-д утасны дуудлага хийх, дуудлагад хариулахыг зөвшөөрөх үү?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Биеийн мэдрэгч"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"таны биеийн байдлын талаарх мэдрэгч бүхий өгөгдөлд нэвтрэх"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;-д таны биеийн ерөнхий байдлын үзүүлэлтүүдийн мэдрэгчийн өгөгдөлд хандахыг зөвшөөрөх үү?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Хөгжим"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"хөгжимдөө хандах"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;-д таны хөгжимд хандахыг зөвшөөрөх үү?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Зураг &amp; видео"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"зураг &amp; видеондоо хандах"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;-д таны зураг, видео болон шошголсон байршилд хандахыг зөвшөөрөх үү?"</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>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> файл</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> файл</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-mr/strings.xml b/core/res/res/values-mr/strings.xml
index 7f99d11..938c539 100644
--- a/core/res/res/values-mr/strings.xml
+++ b/core/res/res/values-mr/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"फोन"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"फोन कॉल आणि व्यवस्थापित"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ला फोन कॉल करू आणि ते व्यवस्थापित करू द्यायचे?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"शरीर सेंसर"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"आपल्‍या महत्त्वाच्या मापनांविषयी सेंसर डेटा अॅक्सेस करा"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ला तुमच्या महत्त्वाच्या लक्षणांविषयीचा सेन्सर डेटा अॅक्सेस करू द्यायचे?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"संगीत"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"तुमचे संगीत अॅक्सेस करा"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ला तुमचे संगीत अॅक्सेस करू द्यायचे का?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"फोटो आणि व्हिडिओ"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"तुमचे फोटो आणि व्हिडिओ अॅक्सेस करा"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ला टॅग केलेल्या स्थानांसह तुमचे फोटो आणि व्हिडिओ अॅक्सेस करण्याची अनुमती द्यायची का?"</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>
@@ -2024,4 +2021,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> फाइल</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> फायली</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-ms/strings.xml b/core/res/res/values-ms/strings.xml
index bf81727..98b64e9 100644
--- a/core/res/res/values-ms/strings.xml
+++ b/core/res/res/values-ms/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"membuat dan mengurus panggilan telefon"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Benarkan &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; membuat dan mengurus panggilan telefon?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Penderia tubuh"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"akses data penderia tentang tanda vital anda"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Benarkan &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; mengakses data penderia tentang tanda vital anda?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Muzik"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"akses muzik anda"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Benarkan &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; mengakses muzik anda?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Foto &amp; video"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"akses foto &amp; video anda"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Benarkan &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; mengakses foto dan video anda, termasuk lokasi yang ditandai?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Dapatkan kembali kandungan tetingkap"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Periksa kandungan tetingkap yang berinteraksi dengan anda."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Hidupkan Jelajah melalui Sentuhan"</string>
@@ -2024,4 +2021,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> fail</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> fail</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-my/strings.xml b/core/res/res/values-my/strings.xml
index b6b2f47..09e963f 100644
--- a/core/res/res/values-my/strings.xml
+++ b/core/res/res/values-my/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"ဖုန်း"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"ဖုန်းခေါ်ဆိုမှုများ ပြုလုပ်ရန်နှင့် စီမံရန်"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; အား ဖုန်းခေါ်ဆိုမှုများ ပြုလုပ်ခွင့်နှင့် စီမံခွင့်ပေးလိုပါသလား။"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"စက်၏ အာရုံခံစနစ်များ"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"သင်၏ အဓိကကျသော လက္ခဏာများအကြောင်း အာရုံခံကိရိယာဒေတာကို ရယူသုံးစွဲရန်"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; အား သင်၏ အရေးကြီးသောလက္ခဏာ အာရုံခံကိရိယာ ဒေတာများကို သုံးခွင့်ပေးလိုပါသလား။"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"တေးဂီတ"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"သင့်တေးဂီတသို့ ဝင်သည်"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; အား သင့်တေးဂီတကို ဝင်ခွင့်ပေးလိုပါသလား။"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"ဓာတ်ပုံများနှင့် ဗီဒီယိုများ"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"သင့်ဓာတ်ပုံနှင့် ဗီဒီယိုများသို့ ဝင်သည်"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"တဂ်လုပ်ထားသည့် တည်နေရာများအပါအဝင် သင့်ဓာတ်ပုံနှင့် ဗီဒီယိုများကို &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; အား ဝင်ကြည့်ခွင့်ပေးလိုပါသလား။"</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>
@@ -2024,4 +2021,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ဖိုင်</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> ဖိုင်</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-nb/strings.xml b/core/res/res/values-nb/strings.xml
index add20ef..1aced28 100644
--- a/core/res/res/values-nb/strings.xml
+++ b/core/res/res/values-nb/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"ring og administrer anrop"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Vil du la &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ringe og administrere telefonsamtaler?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Kroppssensorer"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"få tilgang til sensordata om de vitale tegnene dine"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Vil du gi &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; tilgang til sensordata om de vitale tegnene dine?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Musikk"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"få tilgang til musikken din"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Vil du gi &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; tilgang til musikken din?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Bilder og videoer"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"få tilgang til bildene og videoene dine"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Vil du gi &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; tilgang til bildene og videoene dine, inkludert merkede steder?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"hente innhold i vinduer"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Appen analyserer innholdet i vinduer du samhandler med."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"slå på berøringsutforsking"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> filer</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> fil</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-ne/strings.xml b/core/res/res/values-ne/strings.xml
index 156a3e5..806e520 100644
--- a/core/res/res/values-ne/strings.xml
+++ b/core/res/res/values-ne/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"फोन"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"फोन कलहरू गर्नुहोस् र व्यवस्थापन गर्नुहोस्"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; लाई फोन कलहरू गर्न र तिनीहरूको व्यवस्थापन गर्न दिने हो?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"शारीरिक सेन्सरहरू"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"तपाईंको महत्त्वपूर्ण संकेत बारे सेन्सर डेटा पहुँच गर्नुहोस्"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; लाई आफ्ना महत्त्वपूर्ण लक्षणहरूसम्बन्धी सेन्सर डेटामाथि पहुँच राख्न दिने हो?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"सङ्गीत"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"आफ्नो सङ्गीतमाथि पहुँच राख्नुहोस्‌"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; लाई तपाईंको सङ्गीतमाथि पहुँच राख्न दिने हो?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"तस्बिर तथा भिडियोहरू"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"आफ्नो तस्बिर &amp; भिडियोहरूमाथि पहुँच राख्नुहोस्‌"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; लाई ट्याग गरिएका स्थानहरूलगायत तपाईंका तस्बिर तथा भिडियोहरूमाथि पहुँच गर्न दिने हो?"</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>
@@ -2029,4 +2026,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> फाइलहरू</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> फाइल</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-night/values.xml b/core/res/res/values-night/values.xml
index a2ad3b9..4e6b712 100644
--- a/core/res/res/values-night/values.xml
+++ b/core/res/res/values-night/values.xml
@@ -24,6 +24,7 @@
         <item name="colorError">@color/error_color_device_default_dark</item>
         <item name="colorControlNormal">?attr/textColorPrimary</item>
         <item name="alertDialogTheme">@style/Theme.DeviceDefault.Dialog.Alert</item>
+        <item name="forceDarkAllowed">false</item>
 
         <!-- QS panel background -->
         <item name="colorBackgroundFloating">@color/black</item>
diff --git a/core/res/res/values-nl/strings.xml b/core/res/res/values-nl/strings.xml
index 7d9e90a..f7482bc 100644
--- a/core/res/res/values-nl/strings.xml
+++ b/core/res/res/values-nl/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefoon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"telefoneren en gesprekken beheren"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toestaan om telefoongesprekken te starten en te beheren?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Lichaamssensoren"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"toegang krijgen tot sensorgegevens over je vitale functies"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot sensorgegevens over je vitale functies?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Muziek"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"toegang tot je muziek"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot je muziek?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Foto\'s en video\'s"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"toegang tot je foto\'s en video\'s"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; toegang geven tot je foto\'s en video\'s, waaronder getagde locaties?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Content van vensters ophalen"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"De content inspecteren van een venster waarmee je interactie hebt."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"\'Verkennen via aanraking\' inschakelen"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> bestanden</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> bestand</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-or/strings.xml b/core/res/res/values-or/strings.xml
index 3a29712..1607b40 100644
--- a/core/res/res/values-or/strings.xml
+++ b/core/res/res/values-or/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"ଫୋନ୍‍"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"ଫୋନ୍‍ କଲ୍‍ କରେ ଏବଂ ପରିଚାଳନା କରେ"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;କୁ ଫୋନ୍‍ କଲ୍‍ କରିବାକୁ ତଥା ପରିଚାଳନା କରିବାକୁ ଅନୁମତି ଦେବେ କି?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"ବଡି ସେନ୍ସର୍"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"ଆପଣଙ୍କ ଗୁରୁତପୂର୍ଣ୍ଣ ସଂକେତଗୁଡ଼ିକ ବିଷୟରେ ସେନ୍ସର୍‍ ଡାଟା ଆକ୍ସେସ୍‍ କରେ"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;କୁ ଆପଣଙ୍କ ଗୁରୁତ୍ୱପୂର୍ଣ୍ଣ ଲକ୍ଷଣଗୁଡ଼ିକ ବିଷୟରେ ସେନ୍ସର୍‍ ଡାଟା ଆକ୍ସେସ୍‍ କରିବା ପାଇଁ ଅନୁମତି ଦେବେ କି?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"ସଙ୍ଗୀତ"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"ଆପଣଙ୍କ ସଙ୍ଗୀତ ଆକ୍ସେସ୍‍ କରନ୍ତୁ"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"ଆପଣଙ୍କ ସଙ୍ଗୀତକୁ ଆକ୍ସେସ୍‍ କରିବାକୁ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;କୁ ଅନୁମତି ଦେବେ କି?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"ଫଟୋ ଓ ଭିଡିଓ"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"ଆପଣଙ୍କ ଫଟୋ ଏବଂ ଭିଡିଓ ଆକ୍ସେସ୍‍ କରନ୍ତୁ"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"ଟ୍ୟାଗ୍ କରାଯାଇଥିବା ଲୋକେସନ୍ ସହିତ ଆପଣଙ୍କ ଫଟୋ ଏବଂ ଭିଡିଓ ଆକ୍ସେସ୍ କରିବାକୁ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; କୁ ଅନୁମତି ଦେବେ କି?"</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>
@@ -1614,10 +1611,8 @@
     <string name="display_manager_overlay_display_name" msgid="5142365982271620716">"ପ୍ରାୟତଃ #<xliff:g id="ID">%1$d</xliff:g>"</string>
     <string name="display_manager_overlay_display_title" msgid="652124517672257172">"<xliff:g id="NAME">%1$s</xliff:g>: <xliff:g id="WIDTH">%2$d</xliff:g>x<xliff:g id="HEIGHT">%3$d</xliff:g>, <xliff:g id="DPI">%4$d</xliff:g> dpi"</string>
     <string name="display_manager_overlay_display_secure_suffix" msgid="6022119702628572080">", ସୁରକ୍ଷିତ"</string>
-    <!-- no translation found for activity_starter_block_bg_activity_starts_permissive (5692097903712956720) -->
-    <skip />
-    <!-- no translation found for activity_starter_block_bg_activity_starts_enforcing (8299522481076404353) -->
-    <skip />
+    <string name="activity_starter_block_bg_activity_starts_permissive" msgid="5692097903712956720">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> ଠାରୁ ଆରମ୍ଭ ହୋଇଥିବା ପୃଷ୍ଠଭୂମି କାର୍ଯ୍ୟକଳାପ ଆଗାମୀ Q ବିଲ୍ଡରେ ବ୍ଲକ୍ କରାଯାଇଛି। go/q-bg-block ଦେଖନ୍ତୁ।"</string>
+    <string name="activity_starter_block_bg_activity_starts_enforcing" msgid="8299522481076404353">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> ଠାରୁ ଆରମ୍ଭ ହୋଇଥିବା ପୃଷ୍ଠଭୂମି କାର୍ଯ୍ୟକଳାପ ବ୍ଲକ୍ କରାଯାଇଛି। go/q-bg-block ଦେଖନ୍ତୁ।"</string>
     <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"ପାଟର୍ନ ଭୁଲି ଯାଇଛନ୍ତି"</string>
     <string name="kg_wrong_pattern" msgid="1850806070801358830">"ଭୁଲ ପାଟର୍ନ"</string>
     <string name="kg_wrong_password" msgid="2333281762128113157">"ଭୁଲ ପାସ୍‌ୱର୍ଡ"</string>
@@ -2003,45 +1998,29 @@
     <string name="dynamic_mode_notification_channel_name" msgid="2348803891571320452">"ନିୟମିତ ମୋଡ୍‍ ସୂଚନା ବିଜ୍ଞପ୍ତି"</string>
     <string name="dynamic_mode_notification_title" msgid="508815255807182035">"ସାଧାରଣ ଭାବରେ ଚାର୍ଜ୍ କରିବା ପୂର୍ବରୁ ବ୍ୟାଟେରୀ ସରିଯାଇପାରେ"</string>
     <string name="dynamic_mode_notification_summary" msgid="2541166298550402690">"ବ୍ୟାଟେରୀର ସମୟକୁ ବଢ଼ାଇବା ପାଇଁ ବ୍ୟଟେରୀ ସେଭର୍‍କୁ କାର୍ଯ୍ୟକାରୀ କରାଯାଇଛି"</string>
-    <!-- no translation found for mime_type_folder (7111951698626315204) -->
-    <skip />
-    <!-- no translation found for mime_type_apk (5518003630972506900) -->
-    <skip />
-    <!-- no translation found for mime_type_generic (6833871596845900027) -->
-    <skip />
-    <!-- no translation found for mime_type_generic_ext (8450275970061657174) -->
-    <skip />
-    <!-- no translation found for mime_type_audio (6289777657172050926) -->
-    <skip />
-    <!-- no translation found for mime_type_audio_ext (3270880987725816210) -->
-    <skip />
-    <!-- no translation found for mime_type_video (4093025777317307426) -->
-    <skip />
-    <!-- no translation found for mime_type_video_ext (5643771615714173159) -->
-    <skip />
-    <!-- no translation found for mime_type_image (3144284451605236371) -->
-    <skip />
-    <!-- no translation found for mime_type_image_ext (1514613218742736590) -->
-    <skip />
-    <!-- no translation found for mime_type_compressed (1645486037074943257) -->
-    <skip />
-    <!-- no translation found for mime_type_compressed_ext (4232293058067801528) -->
-    <skip />
-    <!-- no translation found for mime_type_document (1596838147256375966) -->
-    <skip />
-    <!-- no translation found for mime_type_document_ext (6327266601345501281) -->
-    <skip />
-    <!-- no translation found for mime_type_spreadsheet (2639138255207123557) -->
-    <skip />
-    <!-- no translation found for mime_type_spreadsheet_ext (5508653032786106725) -->
-    <skip />
-    <!-- no translation found for mime_type_presentation (6145604688774787357) -->
-    <skip />
-    <!-- no translation found for mime_type_presentation_ext (2982650207774823437) -->
-    <skip />
+    <string name="mime_type_folder" msgid="7111951698626315204">"ଫୋଲ୍ଡର୍"</string>
+    <string name="mime_type_apk" msgid="5518003630972506900">"Android ଆପ୍ଲିକେସନ୍"</string>
+    <string name="mime_type_generic" msgid="6833871596845900027">"ଫାଇଲ୍"</string>
+    <string name="mime_type_generic_ext" msgid="8450275970061657174">"<xliff:g id="EXTENSION">%1$s</xliff:g> ଫାଇଲ୍"</string>
+    <string name="mime_type_audio" msgid="6289777657172050926">"ଅଡିଓ"</string>
+    <string name="mime_type_audio_ext" msgid="3270880987725816210">"<xliff:g id="EXTENSION">%1$s</xliff:g> ଅଡିଓ"</string>
+    <string name="mime_type_video" msgid="4093025777317307426">"ଭିଡିଓ"</string>
+    <string name="mime_type_video_ext" msgid="5643771615714173159">"<xliff:g id="EXTENSION">%1$s</xliff:g> ଭିଡିଓ"</string>
+    <string name="mime_type_image" msgid="3144284451605236371">"ଛବି"</string>
+    <string name="mime_type_image_ext" msgid="1514613218742736590">"<xliff:g id="EXTENSION">%1$s</xliff:g> ଛବି"</string>
+    <string name="mime_type_compressed" msgid="1645486037074943257">"ଆର୍କାଇଭ୍ କରନ୍ତୁ"</string>
+    <string name="mime_type_compressed_ext" msgid="4232293058067801528">"<xliff:g id="EXTENSION">%1$s</xliff:g> ଆର୍କାଇଭ୍"</string>
+    <string name="mime_type_document" msgid="1596838147256375966">"ଡକ୍ୟୁମେଣ୍ଟ"</string>
+    <string name="mime_type_document_ext" msgid="6327266601345501281">"<xliff:g id="EXTENSION">%1$s</xliff:g> ଡକ୍ୟୁମେଣ୍ଟ"</string>
+    <string name="mime_type_spreadsheet" msgid="2639138255207123557">"ସ୍ପ୍ରେଡ୍‍ସିଟ୍"</string>
+    <string name="mime_type_spreadsheet_ext" msgid="5508653032786106725">"<xliff:g id="EXTENSION">%1$s</xliff:g> ସ୍ପ୍ରେଡ୍‌ସିଟ୍"</string>
+    <string name="mime_type_presentation" msgid="6145604688774787357">"ଉପସ୍ଥାପନା"</string>
+    <string name="mime_type_presentation_ext" msgid="2982650207774823437">"<xliff:g id="EXTENSION">%1$s</xliff:g> ଉପସ୍ଥାପନା"</string>
     <string name="car_loading_profile" msgid="3545132581795684027">"ଲୋଡ୍ ହେଉଛି"</string>
     <plurals name="file_count" formatted="false" msgid="1628600959752419449">
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g>ଟି ଫାଇଲ୍</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g>ଟି ଫାଇଲ୍</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-pa/strings.xml b/core/res/res/values-pa/strings.xml
index 6c1837c..421d52f 100644
--- a/core/res/res/values-pa/strings.xml
+++ b/core/res/res/values-pa/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"ਫ਼ੋਨ ਕਰੋ"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"ਫ਼ੋਨ ਕਾਲਾਂ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"ਕੀ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ਨੂੰ ਫ਼ੋਨ ਕਾਲਾਂ ਕਰਨ ਅਤੇ ਉਹਨਾਂ ਦਾ ਪ੍ਰਬੰਧਨ ਕਰਨ ਦੇਣਾ ਹੈ?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"ਸਰੀਰ ਸੰਬੰਧੀ ਸੈਂਸਰ"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"ਆਪਣੇ ਸਰੀਰ ਦੇ ਅਹਿਮ ਚਿੰਨ੍ਹਾਂ ਬਾਰੇ ਸੰਵੇਦਕ ਡਾਟਾ ਤੱਕ ਪਹੁੰਚ ਕਰਨ"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"ਕੀ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ਨੂੰ ਤੁਹਾਡੇ ਸਰੀਰ ਦੇ ਅਹਿਮ ਲੱਛਣਾਂ ਸੰਬੰਧੀ ਸੈਂਸਰ ਡਾਟੇ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"ਸੰਗੀਤ"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"ਤੁਹਾਡੇ ਸੰਗੀਤ ਤੱਕ ਪਹੁੰਚ"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"ਕੀ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ਨੂੰ ਤੁਹਾਡੇ ਸੰਗੀਤ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"ਫ਼ੋਟੋਆਂ ਅਤੇ ਵੀਡੀਓ"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"ਤੁਹਾਡੀਆਂ ਫ਼ੋਟੋਆਂ ਅਤੇ ਵੀਡੀਓ ਤੱਕ ਪਹੁੰਚ"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"ਕੀ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ਨੂੰ ਟੈਗ ਕੀਤੇ ਟਿਕਾਣਿਆਂ ਸਮੇਤ ਤੁਹਾਡੀਆਂ ਫ਼ੋਟੋਆਂ ਅਤੇ ਵੀਡੀਓ ਤੱਕ ਪਹੁੰਚ ਕਰਨ ਦੇਣੀ ਹੈ?"</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>
@@ -2024,4 +2021,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ਫ਼ਾਈਲ</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ਫ਼ਾਈਲਾਂ</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-pl/strings.xml b/core/res/res/values-pl/strings.xml
index dc4fa97..674ccb0 100644
--- a/core/res/res/values-pl/strings.xml
+++ b/core/res/res/values-pl/strings.xml
@@ -2092,4 +2092,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> pliku</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> plik</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-pt-rBR/strings.xml b/core/res/res/values-pt-rBR/strings.xml
index c8f114d..9a078f8 100644
--- a/core/res/res/values-pt-rBR/strings.xml
+++ b/core/res/res/values-pt-rBR/strings.xml
@@ -2020,4 +2020,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> arquivo</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> arquivos</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-pt-rPT/strings.xml b/core/res/res/values-pt-rPT/strings.xml
index cafcd8b..ecaff4d 100644
--- a/core/res/res/values-pt-rPT/strings.xml
+++ b/core/res/res/values-pt-rPT/strings.xml
@@ -2020,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ficheiros</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> ficheiro</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-pt/strings.xml b/core/res/res/values-pt/strings.xml
index c8f114d..9a078f8 100644
--- a/core/res/res/values-pt/strings.xml
+++ b/core/res/res/values-pt/strings.xml
@@ -2020,4 +2020,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> arquivo</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> arquivos</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-ro/strings.xml b/core/res/res/values-ro/strings.xml
index 843f005..63b3411 100644
--- a/core/res/res/values-ro/strings.xml
+++ b/core/res/res/values-ro/strings.xml
@@ -311,18 +311,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"inițieze și să gestioneze apeluri telefonice"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Permiteți &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; să inițieze și să gestioneze apeluri telefonice?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Senzori corporali"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"acceseze datele de la senzori despre semnele vitale"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Permiteți &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; să acceseze datele de la senzori despre semnele dvs. vitale?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Muzică"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"accesați muzica"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Permiteți &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; să vă acceseze muzica?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Fotografii și videoclipuri"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"accesați fotografiile și videoclipurile"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Permiteți aplicației &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; să acceseze fotografiile și videoclipurile, inclusiv locațiile etichetate?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Analizează conținutul ferestrei"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Inspectează conținutul unei ferestre cu care interacționați."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Activează funcția Explorați prin atingere"</string>
@@ -2059,4 +2056,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> de fișiere</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> fișier</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-ru/strings.xml b/core/res/res/values-ru/strings.xml
index e4e7535..0aed6bc 100644
--- a/core/res/res/values-ru/strings.xml
+++ b/core/res/res/values-ru/strings.xml
@@ -314,18 +314,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Телефон"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"осуществлять вызовы и управлять ими"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Разрешить приложению &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; совершать звонки и управлять ими?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Датчики на теле"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"доступ к данным датчиков о состоянии организма"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Разрешить приложению &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; доступ к данным датчиков о состоянии организма?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Музыка"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"доступ к музыке"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Разрешить приложению &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; доступ к музыке?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Фото и видео"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"доступ к фото и видео"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Открыть приложению &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; доступ к вашим фото и видео, а также к данным о местах съемки?"</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>
@@ -2096,4 +2093,6 @@
       <item quantity="many">\"<xliff:g id="FILE_NAME_2">%s</xliff:g>\" и ещё <xliff:g id="COUNT_3">%d</xliff:g> файлов</item>
       <item quantity="other">\"<xliff:g id="FILE_NAME_2">%s</xliff:g>\" и ещё <xliff:g id="COUNT_3">%d</xliff:g> файла</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-si/strings.xml b/core/res/res/values-si/strings.xml
index ad15ff3..cc6087a 100644
--- a/core/res/res/values-si/strings.xml
+++ b/core/res/res/values-si/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"දුරකථනය"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"දුරකථන ඇමතුම් සිදු කිරීම සහ කළමනාකරණය කිරීම"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;b&gt; වෙත දුරකථන ඇමතුම් ලබා ගැනීමට සහ කළමනාකරණය කිරීමට ඉඩ දෙන්නද?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"ශරීර සංවේදක"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"ඔබේ ජෛව ලක්ෂණ පිළිබඳ සංවේදක දත්ත වෙත පිවිසෙන්න"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;b&gt; වෙත ඔබගේ ජෛව ලක්ෂණ පිළිබඳ සංවේදක දත්ත වෙත ප්‍රවේශ වීමට ඉඩ දෙන්නද?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"සංගීතය"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"ඔබේ සංගීතයට පිවිසෙන්න"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;b&gt; හට ඔබගේ දින දර්ශනය වෙත පිවිසීමට ඉඩ දෙන්නද?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"ඡායාරූප සහ වීඩියෝ"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"ඔබගේ ඡායාරූප සහ වීඩියෝ වෙත පිවිසෙන්න"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; හට ටැග් කළ ස්ථාන ඇතුළුව, ඔබේ ඡායාරූප සහ වීඩියෝවලට ප්‍රවේශයට ඉඩ දෙන්න ද?"</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>
@@ -2025,4 +2022,6 @@
       <item quantity="one">ගොනු<xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g></item>
       <item quantity="other">ගොනු<xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g></item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-sk/strings.xml b/core/res/res/values-sk/strings.xml
index 462a9e9..31fa127 100644
--- a/core/res/res/values-sk/strings.xml
+++ b/core/res/res/values-sk/strings.xml
@@ -314,18 +314,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefón"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"telefonovanie a správu hovorov"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Povoliť aplikácii &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; uskutočňovať a spravovať telefonické hovory?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Telové senzory"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"prístup k dátam senzorov vašich životných funkcií"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Povoliť aplikácii &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; používať údaje senzorov o vašich životných funkciách?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Hudba"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"prístup k hudbe"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Chcete povoliť aplikácii &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; prístup k hudbe?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Fotky a videá"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"prístup k fotkám a videám"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Chcete povoliť aplikácii &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; prístup k vašim fotkám a videám vrátane označených miest?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Načítať obsah okna"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Môžete preskúmať obsah okna, s ktorým pracujete."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Zapnúť funkciu Preskúmanie dotykom"</string>
@@ -2095,4 +2092,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> súborov</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> súbor</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-sl/strings.xml b/core/res/res/values-sl/strings.xml
index 8157635..067165b 100644
--- a/core/res/res/values-sl/strings.xml
+++ b/core/res/res/values-sl/strings.xml
@@ -314,18 +314,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"opravljanje in upravljanje telefonskih klicev"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Želite aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; omogočiti opravljanje in upravljanje telefonskih klicev?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Tipala telesnih funkcij"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"dostop do podatkov tipala o vaših vitalnih znakih"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Želite aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; omogočiti dostop do podatkov tipala o vitalnih znakih?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Glasba"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"dostop do glasbe"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Želite aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; omogočiti dostop do glasbe?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Fotografije in videoposnetki"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"dostop do fotografij in videoposnetkov"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Želite aplikaciji &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; omogočiti dostop do fotografij, videoposnetkov in v njih označenih lokacij?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Pridobiti vsebino okna"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Preverjanje vsebine okna, ki ga uporabljate."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Vklopiti raziskovanje z dotikom"</string>
@@ -2095,4 +2092,6 @@
       <item quantity="few"><xliff:g id="FILE_NAME_2">%s</xliff:g> in še <xliff:g id="COUNT_3">%d</xliff:g> datoteke</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> in še <xliff:g id="COUNT_3">%d</xliff:g> datotek</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-sq/strings.xml b/core/res/res/values-sq/strings.xml
index 0feeffa..61703f3 100644
--- a/core/res/res/values-sq/strings.xml
+++ b/core/res/res/values-sq/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefoni"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"kryej dhe menaxho telefonata"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Të lejohet që &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; të kryejë dhe të menaxhojë telefonata?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Sensorët e trupit"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"qasu tek të dhënat e sensorëve rreth shenjave të tua jetësore"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Të lejohet që &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; të ketë qasje te të dhënat e sensorëve rreth shenjave të tua jetësore?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Muzika"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"qasu te muzika jote"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Të lejohet që &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; të ketë qasje te muzika jote?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Fotografitë dhe videot"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"qasu te fotografitë dhe videot e tua"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Të lejohet që &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; të qaset te fotografitë dhe videot e tua, duke përfshirë vendndodhjet e etiketuara?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Nxjerrë përmbajtjen e dritares"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Inspekton përmbajtjen e dritares me të cilën po ndërvepron."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Aktivizojë funksionin \"Eksploro me prekje\""</string>
@@ -2024,4 +2021,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> skedarë</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> skedar</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-sr/strings.xml b/core/res/res/values-sr/strings.xml
index e7b6b22..68c272c 100644
--- a/core/res/res/values-sr/strings.xml
+++ b/core/res/res/values-sr/strings.xml
@@ -311,18 +311,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Телефон"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"упућује телефонске позиве и управља њима"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Желите ли да омогућите да &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; упућује позиве и управља њима?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Сензори за тело"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"приступа подацима сензора о виталним функцијама"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Желите ли да омогућите да &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;приступа подацима сензора о виталним функцијама?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Музика"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"приступ музици"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Желите ли да омогућите да &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; приступа музици?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Слике и видео снимци"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"приступ сликама и видео снимцима"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Желите ли да дозволите да „<xliff:g id="APP_NAME">%1$s</xliff:g>“ приступа сликама и видео снимцима, укључујући означене локације?"</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>
@@ -2059,4 +2056,6 @@
       <item quantity="few"><xliff:g id="FILE_NAME_2">%s</xliff:g> и још <xliff:g id="COUNT_3">%d</xliff:g> датотеке</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> и још <xliff:g id="COUNT_3">%d</xliff:g> датотека</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-sv/strings.xml b/core/res/res/values-sv/strings.xml
index 698b342..aaf33bb 100644
--- a/core/res/res/values-sv/strings.xml
+++ b/core/res/res/values-sv/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"ringa och hantera telefonsamtal"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Vill du ge &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; behörighet att ringa och hantera telefonsamtal?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Kroppssensorer"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"få åtkomst till sensordata om dina vitalparametrar"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Vill du ge &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; åtkomst till sensordata om vitalparametrar?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Musik"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"åtkomstbehörighet till din musik"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Vill du ge &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; åtkomstbehörighet till din musik?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Foton och videor"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"åtkomstbehörighet till dina foton &amp; videor"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Vill du tillåta att &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; får åtkomst till dina foton och videor, inklusive taggade platser?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Hämta fönsterinnehåll"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Granska innehållet i ett fönster som du interagerar med."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Aktivera Explore by touch"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> filer</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> fil</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-sw/strings.xml b/core/res/res/values-sw/strings.xml
index db56058..ae7531b0 100644
--- a/core/res/res/values-sw/strings.xml
+++ b/core/res/res/values-sw/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Simu"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"piga na udhibiti simu"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Ungependa kuiruhusu &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ipige na kudhibiti simu?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Vihisi vya mwili"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"fikia data ya kitambuzi kuhusu alama zako muhimu"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Ungependa kuiruhusu &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ifikie data ya vitambuzi kuhusu viashiria muhimu vya mwili wako?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Muziki"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"kufikia muziki wako"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Ungependa kuiruhusu &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ifikie muziki wako?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Picha na video"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"kufikia picha na video zako"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Ungependa kuruhusu &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ufikie picha na video zako, yakiwemo maeneo uliyotambulisha?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Kufikia maudhui ya dirisha"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Kuchunguza maudhui ya dirisha unalotumia."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Kuwasha \'Chunguza kwa Kugusa\'"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="other">Faili <xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g></item>
       <item quantity="one">Faili <xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g></item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-ta/strings.xml b/core/res/res/values-ta/strings.xml
index 2c3e5d7..16ea0b7 100644
--- a/core/res/res/values-ta/strings.xml
+++ b/core/res/res/values-ta/strings.xml
@@ -1614,10 +1614,8 @@
     <string name="display_manager_overlay_display_name" msgid="5142365982271620716">"மேலோட்ட #<xliff:g id="ID">%1$d</xliff:g>"</string>
     <string name="display_manager_overlay_display_title" msgid="652124517672257172">"<xliff:g id="NAME">%1$s</xliff:g>: <xliff:g id="WIDTH">%2$d</xliff:g>x<xliff:g id="HEIGHT">%3$d</xliff:g>, <xliff:g id="DPI">%4$d</xliff:g> dpi"</string>
     <string name="display_manager_overlay_display_secure_suffix" msgid="6022119702628572080">", பாதுகாப்பானது"</string>
-    <!-- no translation found for activity_starter_block_bg_activity_starts_permissive (5692097903712956720) -->
-    <skip />
-    <!-- no translation found for activity_starter_block_bg_activity_starts_enforcing (8299522481076404353) -->
-    <skip />
+    <string name="activity_starter_block_bg_activity_starts_permissive" msgid="5692097903712956720">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> என்பதன் பின்னணிச் செயல்பாடு இனிவரும் Q பதிப்புகளில் தடுக்கப்படும். go/q-bg-block என்பதைப் பார்க்கவும்."</string>
+    <string name="activity_starter_block_bg_activity_starts_enforcing" msgid="8299522481076404353">"<xliff:g id="PACKAGENAME">%1$s</xliff:g> என்பதன் பின்னணிச் செயல்பாடு தடுக்கப்பட்டுள்ளது. go/q-bg-block என்பதைப் பார்க்கவும்."</string>
     <string name="kg_forgot_pattern_button_text" msgid="8852021467868220608">"வடிவத்தை மறந்துவிட்டீர்களா"</string>
     <string name="kg_wrong_pattern" msgid="1850806070801358830">"தவறான வடிவம்"</string>
     <string name="kg_wrong_password" msgid="2333281762128113157">"தவறான கடவுச்சொல்"</string>
@@ -2003,45 +2001,29 @@
     <string name="dynamic_mode_notification_channel_name" msgid="2348803891571320452">"வழக்கமான பேட்டரி சேமிப்பானுக்கான விவர அறிவிப்பு"</string>
     <string name="dynamic_mode_notification_title" msgid="508815255807182035">"வழக்கமாகச் சார்ஜ் செய்வதற்கு முன்பே பேட்டரி தீர்ந்துபோகக்கூடும்"</string>
     <string name="dynamic_mode_notification_summary" msgid="2541166298550402690">"பேட்டரி நிலையை நீட்டிக்க பேட்டரி சேமிப்பான் இயக்கப்பட்டுள்ளது"</string>
-    <!-- no translation found for mime_type_folder (7111951698626315204) -->
-    <skip />
-    <!-- no translation found for mime_type_apk (5518003630972506900) -->
-    <skip />
-    <!-- no translation found for mime_type_generic (6833871596845900027) -->
-    <skip />
-    <!-- no translation found for mime_type_generic_ext (8450275970061657174) -->
-    <skip />
-    <!-- no translation found for mime_type_audio (6289777657172050926) -->
-    <skip />
-    <!-- no translation found for mime_type_audio_ext (3270880987725816210) -->
-    <skip />
-    <!-- no translation found for mime_type_video (4093025777317307426) -->
-    <skip />
-    <!-- no translation found for mime_type_video_ext (5643771615714173159) -->
-    <skip />
-    <!-- no translation found for mime_type_image (3144284451605236371) -->
-    <skip />
-    <!-- no translation found for mime_type_image_ext (1514613218742736590) -->
-    <skip />
-    <!-- no translation found for mime_type_compressed (1645486037074943257) -->
-    <skip />
-    <!-- no translation found for mime_type_compressed_ext (4232293058067801528) -->
-    <skip />
-    <!-- no translation found for mime_type_document (1596838147256375966) -->
-    <skip />
-    <!-- no translation found for mime_type_document_ext (6327266601345501281) -->
-    <skip />
-    <!-- no translation found for mime_type_spreadsheet (2639138255207123557) -->
-    <skip />
-    <!-- no translation found for mime_type_spreadsheet_ext (5508653032786106725) -->
-    <skip />
-    <!-- no translation found for mime_type_presentation (6145604688774787357) -->
-    <skip />
-    <!-- no translation found for mime_type_presentation_ext (2982650207774823437) -->
-    <skip />
+    <string name="mime_type_folder" msgid="7111951698626315204">"கோப்புறை"</string>
+    <string name="mime_type_apk" msgid="5518003630972506900">"Android ஆப்ஸ்"</string>
+    <string name="mime_type_generic" msgid="6833871596845900027">"ஃபைல்"</string>
+    <string name="mime_type_generic_ext" msgid="8450275970061657174">"<xliff:g id="EXTENSION">%1$s</xliff:g> ஃபைல்"</string>
+    <string name="mime_type_audio" msgid="6289777657172050926">"ஆடியோ"</string>
+    <string name="mime_type_audio_ext" msgid="3270880987725816210">"<xliff:g id="EXTENSION">%1$s</xliff:g> ஆடியோ"</string>
+    <string name="mime_type_video" msgid="4093025777317307426">"வீடியோ"</string>
+    <string name="mime_type_video_ext" msgid="5643771615714173159">"<xliff:g id="EXTENSION">%1$s</xliff:g> வீடியோ"</string>
+    <string name="mime_type_image" msgid="3144284451605236371">"படம்"</string>
+    <string name="mime_type_image_ext" msgid="1514613218742736590">"<xliff:g id="EXTENSION">%1$s</xliff:g> படம்"</string>
+    <string name="mime_type_compressed" msgid="1645486037074943257">"காப்பக ஃபைல்"</string>
+    <string name="mime_type_compressed_ext" msgid="4232293058067801528">"<xliff:g id="EXTENSION">%1$s</xliff:g> காப்பக ஃபைல்"</string>
+    <string name="mime_type_document" msgid="1596838147256375966">"ஆவணம்"</string>
+    <string name="mime_type_document_ext" msgid="6327266601345501281">"<xliff:g id="EXTENSION">%1$s</xliff:g> ஆவணம்"</string>
+    <string name="mime_type_spreadsheet" msgid="2639138255207123557">"விரிதாள்"</string>
+    <string name="mime_type_spreadsheet_ext" msgid="5508653032786106725">"<xliff:g id="EXTENSION">%1$s</xliff:g> விரிதாள்"</string>
+    <string name="mime_type_presentation" msgid="6145604688774787357">"விளக்கக்காட்சி"</string>
+    <string name="mime_type_presentation_ext" msgid="2982650207774823437">"<xliff:g id="EXTENSION">%1$s</xliff:g> விளக்கக்காட்சி"</string>
     <string name="car_loading_profile" msgid="3545132581795684027">"ஏற்றுகிறது"</string>
     <plurals name="file_count" formatted="false" msgid="1628600959752419449">
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ஃபைல்கள்</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> ஃபைல்</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-te/strings.xml b/core/res/res/values-te/strings.xml
index e113a43..ded03cc 100644
--- a/core/res/res/values-te/strings.xml
+++ b/core/res/res/values-te/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"ఫోన్"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"ఫోన్ కాల్‌లు చేయడం మరియు నిర్వహించడం"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"ఫోన్ కాల్‌లు చేయడానికి మరియు నిర్వహించడానికి &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ని అనుమతించాలా?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"శరీర సెన్సార్‌లు"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"మీ అత్యంత కీలకమైన గుర్తుల గురించి సెన్సార్ డేటాని యాక్సెస్ చేస్తుంది"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"మీ అత్యంత కీలకమైన గుర్తుల గురించి సెన్సార్ డేటాని యాక్సెస్ చేయడానికి &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ని అనుమతించాలా?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"సంగీతం"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"మీ సంగీతాన్ని యాక్సెస్ చేయండి"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"మీ సంగీతాన్ని యాక్సెస్ చేయడానికి &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ని అనుమతించాలా?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"ఫోటోలు &amp; వీడియోలు"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"మీ ఫోటోలను &amp; వీడియోలను యాక్సెస్ చేయండి"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"ట్యాగ్ చేసిన స్థానాలతో సహా, మీ ఫోటోలు, వీడియోలను యాక్సెస్ చేయడానికి &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;ను అనుమతించాలా?"</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>
@@ -2024,4 +2021,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ఫైల్‌లు</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> ఫైల్</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-th/strings.xml b/core/res/res/values-th/strings.xml
index 00c94da..5b2541f 100644
--- a/core/res/res/values-th/strings.xml
+++ b/core/res/res/values-th/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"โทรศัพท์"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"โทรและจัดการการโทร"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"อนุญาตให้ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; โทรและจัดการการโทรไหม"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"เซ็นเซอร์ร่างกาย"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"เข้าถึงข้อมูลเซ็นเซอร์เกี่ยวกับสัญญาณชีพของคุณ"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"อนุญาตให้ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; เข้าถึงข้อมูลเซ็นเซอร์เกี่ยวกับสัญญาณชีพไหม"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"เพลง"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"เข้าถึงเพลง"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"อนุญาตให้ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; เข้าถึงเพลงไหม"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"รูปภาพและวิดีโอ"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"เข้าถึงรูปภาพและวิดีโอ"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"อนุญาตให้ &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; เข้าถึงรูปภาพและวิดีโอของคุณ รวมถึงตำแหน่งที่ติดแท็กไหม"</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>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> และอีก <xliff:g id="COUNT_3">%d</xliff:g> ไฟล์</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> และอีก <xliff:g id="COUNT_1">%d</xliff:g> ไฟล์</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-tl/strings.xml b/core/res/res/values-tl/strings.xml
index 036ce25..4d7e7a2 100644
--- a/core/res/res/values-tl/strings.xml
+++ b/core/res/res/values-tl/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telepono"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"tumawag at mamahala ng mga tawag sa telepono"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Payagan ang &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; na tumawag at mamahala ng mga tawag sa telepono?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Mga sensor ng katawan"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"i-access ang data ng sensor tungkol sa iyong vital signs"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Payagan ang &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; na i-access ang data ng sensor tungkol sa iyong mga vital sign?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Musika"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"i-access ang iyong musika"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Payagan ang &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; na i-access ang iyong musika?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Mga larawan at video"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"i-access ang iyong mga larawan at video"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Payagan ang &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; na i-access ang iyong mga larawan at video, kasama ang mga naka-tag na lokasyon?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Kunin ang content ng window"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Siyasatin ang nilalaman ng isang window kung saan ka nakikipag-ugnayan."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"I-on ang Explore by Touch"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> file</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> na file</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-tr/strings.xml b/core/res/res/values-tr/strings.xml
index 9e84f5a..3e1bfb8 100644
--- a/core/res/res/values-tr/strings.xml
+++ b/core/res/res/values-tr/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"telefon çağrıları yapma ve yönetme"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; uygulamasının telefon etmesine ve çağrıları yönetmesine izin verilsin mi?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Vücut sensörleri"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"hayati belirtilerinizle ilgili sensör verilerine erişme"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; uygulamasının hayati belirtilerinizle ilgili sensör verilerine erişmesine izin verilsin mi?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Müzik"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"müziğinize erişme"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; uygulamasının müziğinize erişmesine izin veriyor musunuz?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Fotoğraflar ve videolar"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"fotoğraflarınıza ve videolarınıza erişme"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; uygulamasına, etiketlenmiş yerler de dahil fotoğraf ve videolarınıza erişim izni verilsin mi?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Pencere içeriğini alma"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Etkileşim kurduğunuz pencerenin içeriğini inceler."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Dokunarak Keşfet\'i açma"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> dosya</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> dosya</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-uk/strings.xml b/core/res/res/values-uk/strings.xml
index 5f1fb17..9ca44d9 100644
--- a/core/res/res/values-uk/strings.xml
+++ b/core/res/res/values-uk/strings.xml
@@ -314,18 +314,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Телефон"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"телефонувати та керувати дзвінками"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Дозволити додатку &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; здійснювати телефонні дзвінки та керувати ними?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Датчики на тілі"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"отримувати доступ до інформації датчиків про ваші життєві показники"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Надати додатку &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; доступ до життєвих показників із датчиків?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Музика"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"доступ до музики"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Надати додатку &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; доступ до музики?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Фотографії та відео"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"доступ до фото й відео"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Дозволити додатку &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; отримувати доступ до ваших фотографій і відео, зокрема до позначок місцеположення?"</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>
@@ -2096,4 +2093,6 @@
       <item quantity="many"><xliff:g id="FILE_NAME_2">%s</xliff:g> і ще <xliff:g id="COUNT_3">%d</xliff:g> файлів</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> і ще <xliff:g id="COUNT_3">%d</xliff:g> файлу</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-ur/strings.xml b/core/res/res/values-ur/strings.xml
index 57ff15c..22fbd56 100644
--- a/core/res/res/values-ur/strings.xml
+++ b/core/res/res/values-ur/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"فون"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"فون کالز کریں اور ان کا نظم کریں"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"‏&lt;/b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; کو فون کالز کرنے اور ان کا نظم کرنے کی اجازت دیں؟"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"باڈی سینسرز"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"اپنی علامات حیات کے متعلق سنسر ڈیٹا تک رسائی حاصل کریں"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"‏&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; کو آپ کے اہم اشاروں کے متعلق سینسر ڈیٹا تک رسائی کی اجازت دیں؟"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"موسیقی"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"اپنی موسیقی تک رسائی حاصل کریں"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"‏&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; کو آپ کی موسیقی تک رسائی کی اجازت دیں؟"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"تصاویر اور ویڈیوز"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"اپنی تصاویر اور ویڈیوز تک رسائی حاصل کریں"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"‏&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; کو ٹیگ کردہ مقامات سمیت آپ کی تصاویر اور ویڈیوز تک رسائی کی اجازت دیں؟"</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>
@@ -2024,4 +2021,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> فائلز</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> فائل</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-uz/strings.xml b/core/res/res/values-uz/strings.xml
index d6e2d02..eaf81d7 100644
--- a/core/res/res/values-uz/strings.xml
+++ b/core/res/res/values-uz/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Telefon"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"telefon qo‘ng‘iroqlarini amalga oshirish va boshqarish"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; uchun telefon chaqiruvlarini amalga oshirish va boshqarishga ruxsat berilsinmi?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Tana sezgichlari"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"organizm holati haqidagi sezgich ma’lumotlariga kirish"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; uchun organizm holati haqidagi sezgichlar axborotlariga ruxsat berilsinmi?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Musiqa"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"musiqaga kirish"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; uchun musiqangizga kirishga ruxsat berilsinmi?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Surat va videolar"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"surat va videolarga kirish"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ilovasi uchun surat va videolaringizga, jumladan, teglangan joylarga ham ruxsat berilsinmi?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Oynadagi kontentni o‘qiydi"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Joriy oynadagi kontent mazmunini aniqlaydi."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Teginib o‘rganish xizmatini yoqadi"</string>
@@ -2024,4 +2021,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> ta fayl</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> ta fayl</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-vi/strings.xml b/core/res/res/values-vi/strings.xml
index 9d4fcc0..5f237a7 100644
--- a/core/res/res/values-vi/strings.xml
+++ b/core/res/res/values-vi/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Điện thoại"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"thực hiện và quản lý cuộc gọi điện thoại"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Cho phép &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; thực hiện và quản lý cuộc gọi điện thoại?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Cảm biến cơ thể"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"truy cập dữ liệu cảm biến về dấu hiệu sinh tồn của bạn"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Cho phép &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; truy cập vào dữ liệu cảm biến về các dấu hiệu sinh tồn của bạn?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Nhạc"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"sử dụng nhạc"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Bạn có muốn cho phép &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; sử dụng nhạc không?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Ảnh và video"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"sử dụng ảnh và video"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Cho phép &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; truy cập vào ảnh và video của bạn, bao gồm cả vị trí được gắn thẻ?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Truy xuất nội dung cửa sổ"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Kiểm tra nội dung của cửa sổ bạn đang tương tác."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Bật Khám phá bằng cách chạm"</string>
@@ -2024,4 +2021,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> tệp</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> tệp</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-zh-rCN/strings.xml b/core/res/res/values-zh-rCN/strings.xml
index fca067f..d7effc0 100644
--- a/core/res/res/values-zh-rCN/strings.xml
+++ b/core/res/res/values-zh-rCN/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"电话"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"拨打电话和管理通话"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"允许“&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;”拨打电话和管理通话吗?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"身体传感器"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"访问与您的生命体征相关的传感器数据"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"允许&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;访问与您的生命体征相关的传感器数据吗?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"音乐"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"访问您的音乐"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"允许&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;访问您的音乐吗?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"照片和视频"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"访问您的照片和视频"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"允许&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;访问您的照片和视频(包括标记的位置)吗?"</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>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> 个文件</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> 个文件</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-zh-rHK/strings.xml b/core/res/res/values-zh-rHK/strings.xml
index 1bcb8ee..20231fc 100644
--- a/core/res/res/values-zh-rHK/strings.xml
+++ b/core/res/res/values-zh-rHK/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"電話"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"撥打電話及管理通話"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」&lt;b&gt;&lt;/b&gt;撥打電話和管理通話嗎?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"人體感應器"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"存取與您生命體徵相關的感應器資料"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」&lt;b&gt;&lt;/b&gt;存取與您身體機能相關的感應器資料嗎?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"音樂"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"存取您的音樂"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"要允許「&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt;」存取您的音樂嗎?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"相片和影片"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"存取您的相片和影片"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」&lt;b&gt;&lt;/b&gt;存取您的相片和影片 (包括標記的位置資訊) 嗎?"</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>
@@ -2023,4 +2020,6 @@
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> 個檔案</item>
       <item quantity="one"><xliff:g id="FILE_NAME_0">%s</xliff:g> + <xliff:g id="COUNT_1">%d</xliff:g> 個檔案</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-zh-rTW/strings.xml b/core/res/res/values-zh-rTW/strings.xml
index cdfdd18..8fa7681 100644
--- a/core/res/res/values-zh-rTW/strings.xml
+++ b/core/res/res/values-zh-rTW/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"電話"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"撥打電話及管理通話"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」撥打電話及管理通話嗎?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"人體感測器"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"存取與你生命徵象相關的感應器資料"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」存取與你生命徵象相關的感應器資料嗎?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"音樂"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"存取你的音樂"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」&lt;b&gt;&lt;/b&gt;存取你的音樂嗎?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"相片和影片"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"存取你的相片和影片"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"要允許「<xliff:g id="APP_NAME">%1$s</xliff:g>」&lt;b&gt;&lt;/b&gt;存取你的相片和影片 (包括加上標記的地點) 嗎?"</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>
@@ -2024,4 +2021,6 @@
       <item quantity="other">「<xliff:g id="FILE_NAME_2">%s</xliff:g>」及另外 <xliff:g id="COUNT_3">%d</xliff:g> 個檔案</item>
       <item quantity="one">「<xliff:g id="FILE_NAME_0">%s</xliff:g>」及另外 <xliff:g id="COUNT_1">%d</xliff:g> 個檔案</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values-zu/strings.xml b/core/res/res/values-zu/strings.xml
index 7e28530..93280cb 100644
--- a/core/res/res/values-zu/strings.xml
+++ b/core/res/res/values-zu/strings.xml
@@ -308,18 +308,15 @@
     <string name="permgrouplab_phone" msgid="5229115638567440675">"Ifoni"</string>
     <string name="permgroupdesc_phone" msgid="6234224354060641055">"yenza uphinde uphathe amakholi wefoni"</string>
     <string name="permgrouprequest_phone" msgid="9166979577750581037">"Vumela i-&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ukuthi yenze iphinde iphathe amakholi efoni?"</string>
-    <!-- no translation found for permgrouplab_sensors (4838614103153567532) -->
-    <skip />
+    <string name="permgrouplab_sensors" msgid="4838614103153567532">"Izinzwa zomzimba"</string>
     <string name="permgroupdesc_sensors" msgid="7147968539346634043">"finyelela idatha yesizweli mayelana nezimpawu zakho ezibalulekile"</string>
     <string name="permgrouprequest_sensors" msgid="6349806962814556786">"Vumela i-&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ukuthi ifinyelele kudatha yenzwa emayelana nezimpawu zakho ezibalulekile?"</string>
     <string name="permgrouplab_aural" msgid="965607064083134896">"Umculo"</string>
     <string name="permgroupdesc_aural" msgid="4870189506255958055">"finyelela umculo wakho"</string>
     <string name="permgrouprequest_aural" msgid="6787926123071735620">"Vumela i-&lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ukuthi ifinyelele umculo wakho?"</string>
-    <!-- no translation found for permgrouplab_visual (6477382108771145134) -->
-    <skip />
+    <string name="permgrouplab_visual" msgid="6477382108771145134">"Izithombe Namavidiyo"</string>
     <string name="permgroupdesc_visual" msgid="3415827902566663546">"finyelela izithombe zakho namavidiyo"</string>
-    <!-- no translation found for permgrouprequest_visual (3043752127595243314) -->
-    <skip />
+    <string name="permgrouprequest_visual" msgid="3043752127595243314">"Vumela &lt;b&gt;<xliff:g id="APP_NAME">%1$s</xliff:g>&lt;/b&gt; ukufinyelela izithombe zakho namavidiyo, kufaka phakathi izindawo ezimakiwe?"</string>
     <string name="capability_title_canRetrieveWindowContent" msgid="3901717936930170320">"Thola okuqukethwe kwewindi"</string>
     <string name="capability_desc_canRetrieveWindowContent" msgid="3772225008605310672">"Hlola okuqukethwe kwewindi ohlanganyela nalo."</string>
     <string name="capability_title_canRequestTouchExploration" msgid="3108723364676667320">"Vula ukuhlola ngokuthinta"</string>
@@ -2023,4 +2020,6 @@
       <item quantity="one"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> amafayela</item>
       <item quantity="other"><xliff:g id="FILE_NAME_2">%s</xliff:g> + <xliff:g id="COUNT_3">%d</xliff:g> amafayela</item>
     </plurals>
+    <!-- no translation found for chooser_no_direct_share_targets (997970693708458895) -->
+    <skip />
 </resources>
diff --git a/core/res/res/values/arrays.xml b/core/res/res/values/arrays.xml
index 8f2d6c3..f058985 100644
--- a/core/res/res/values/arrays.xml
+++ b/core/res/res/values/arrays.xml
@@ -175,13 +175,7 @@
     </array>
 
     <!-- Used in ResolverTargetActionsDialogFragment -->
-    <string-array name="resolver_target_actions_pin">
-        <item>@string/pin_target</item>
-        <item>@string/app_info</item>
-    </string-array>
-
-    <string-array name="resolver_target_actions_unpin">
-        <item>@string/unpin_target</item>
+    <string-array name="resolver_target_actions">
         <item>@string/app_info</item>
     </string-array>
 
diff --git a/core/res/res/values/attrs_manifest.xml b/core/res/res/values/attrs_manifest.xml
index 6b8e000..fe2c665 100644
--- a/core/res/res/values/attrs_manifest.xml
+++ b/core/res/res/values/attrs_manifest.xml
@@ -118,8 +118,11 @@
     <attr name="manageSpaceActivity" format="string" />
 
     <!-- Option to let applications specify that user data can/cannot be
-         cleared by the user in Settings. This flag is turned on by default.
-         <em>This attribute is usable only by applications
+         cleared. This flag is turned on by default.
+         <p>Starting from API level 29 this flag only controls if the user can
+         clear app data from Settings. To control clearing the data after a
+         failed restore use allowClearUserDataOnFailedRestore flag.
+         <p><em>This attribute is usable only by applications
          included in the system image. Third-party apps cannot use it.</em> -->
     <attr name="allowClearUserData" format="boolean" />
 
@@ -965,7 +968,7 @@
          <p>The default value of this attribute is <code>false</code>. -->
     <attr name="allowEmbedded" format="boolean" />
 
-    <!-- @hide @SystemApi Specifies whether this {@link android.app.Activity} should be shown on
+    <!-- Specifies whether this {@link android.app.Activity} should be shown on
          top of the lock screen whenever the lockscreen is up and this activity has another
          activity behind it with the {@link android.R.attr#showWhenLocked} attribute set. That
          is, this activity is only visible on the lock screen if there is another activity with
@@ -1473,6 +1476,9 @@
         <flag name="location" value="0x08" />
         <!-- Auto, bluetooth, TV or other devices connection, monitoring and interaction. -->
         <flag name="connectedDevice" value="0x10" />
+        <!-- Managing a media projection session, e.g, for screen recording or taking
+             screenshots.-->
+        <flag name="mediaProjection" value="0x20" />
     </attr>
 
 
@@ -1993,7 +1999,9 @@
          {@link #AndroidManifestApplication application} tag. -->
     <declare-styleable name="AndroidManifestUsesPackage" parent="AndroidManifestApplication">
         <!-- Required type of association with the package, for example "android.package.ad_service"
-             if it provides an advertising service. -->
+             if it provides an advertising service.  This should use the standard scoped naming
+             convention as used for other things such as package names, based on the Java naming
+             convention. -->
         <attr name="packageType" format="string" />
         <!-- Required name of the package you use. -->
         <attr name="name" />
diff --git a/core/res/res/values/colors.xml b/core/res/res/values/colors.xml
index 02fae4a..e9b1bd3 100644
--- a/core/res/res/values/colors.xml
+++ b/core/res/res/values/colors.xml
@@ -215,4 +215,6 @@
     <!-- Magnifier -->
     <color name="default_magnifier_color_overlay">#00FFFFFF</color>
 
+    <color name="chooser_row_divider">#1f000000</color>
+
 </resources>
diff --git a/core/res/res/values/config.xml b/core/res/res/values/config.xml
index 2f2fdca..71e071c 100644
--- a/core/res/res/values/config.xml
+++ b/core/res/res/values/config.xml
@@ -654,7 +654,7 @@
     <bool translatable="false" name="config_wifi_framework_enable_associated_network_selection">true</bool>
 
     <!-- Boolean indicating whether single radio chain scan results are to be used for network selection -->
-    <bool translatable="false" name="config_wifi_framework_use_single_radio_chain_scan_results_network_selection">false</bool>
+    <bool translatable="false" name="config_wifi_framework_use_single_radio_chain_scan_results_network_selection">true</bool>
 
     <!-- Boolean indicating that wifi only link configuratios that have exact same credentials (i.e PSK) -->
     <bool translatable="false" name="config_wifi_only_link_same_credential_configurations">true</bool>
@@ -706,6 +706,9 @@
     <!-- Indicates that connected MAC randomization is supported on this device -->
     <bool translatable="false" name="config_wifi_connected_mac_randomization_supported">false</bool>
 
+    <!-- Indicates that p2p MAC randomization is supported on this device -->
+    <bool translatable="false" name="config_wifi_p2p_mac_randomization_supported">false</bool>
+
     <!-- Indicates that wifi link probing is supported on this device -->
     <bool translatable="false" name="config_wifi_link_probing_supported">false</bool>
 
@@ -1947,7 +1950,7 @@
     <!-- The name of the package that will hold the browser role by default. -->
     <string name="config_defaultBrowser" translatable="false">@string/default_browser</string>
     <!-- The name of the package that will hold the dialer role by default. -->
-    <string name="config_defaultDialer" translatable="false">com.android.phone</string>
+    <string name="config_defaultDialer" translatable="false">com.android.dialer</string>
     <!-- The name of the package that will hold the SMS role by default. -->
     <string name="config_defaultSms" translatable="false">@string/default_sms_application</string>
     <!-- Whether the default emergency settings should be shown. -->
@@ -2917,14 +2920,6 @@
 
     <bool name="config_networkSamplingWakesDevice">true</bool>
 
-    <!-- Home (non-roaming) values for CDMA roaming indicator.
-         Carriers can override this table by resource overlay. If not,
-         the default values come from 3GPP2 C.R1001 table
-         8.1-1. Enhanced Roaming Indicator Number Assignments -->
-    <string-array translatable="false" name="config_cdma_home_system">
-        <item>1</item>
-    </string-array>
-
     <!--From SmsMessage-->
     <!--Support decoding the user data payload as pack GSM 8-bit (a GSM alphabet
         string that's stored in 8-bit unpacked format) characters.-->
@@ -3311,6 +3306,9 @@
          where the user can launch other applications from.  -->
     <bool name="config_noHomeScreen">false</bool>
 
+    <!-- True if the device supports system decorations on secondary displays. -->
+    <bool name="config_supportsSystemDecorsOnSecondaryDisplays">true</bool>
+
     <!-- True if the device requires AppWidgetService even if it does not have
          the PackageManager.FEATURE_APP_WIDGETS feature -->
     <bool name="config_enableAppWidgetService">false</bool>
@@ -3518,6 +3516,12 @@
     -->
     <string name="config_defaultAttentionService" translatable="false"></string>
 
+    <!-- The component name for the system-wide captions service.
+         This service must be trusted, as it controls part of the UI of the volume bar.
+         Example: "com.android.captions/.SystemCaptionsService"
+    -->
+    <string name="config_defaultSystemCaptionsService" translatable="false"></string>
+
     <!-- The package name for the incident report approver app.
         This app is usually PermissionController or an app that replaces it.  When
         a bugreport or incident report with EXPLICT-level sharing flags is going to be
@@ -3706,8 +3710,8 @@
 
     <string translatable="false" name="config_batterySaverDeviceSpecificConfig"></string>
 
-    <!-- Package name that should be granted Notification Assistant access -->
-    <string name="config_defaultAssistantAccessPackage" translatable="false">android.ext.services</string>
+    <!-- Component name that should be granted Notification Assistant access -->
+    <string name="config_defaultAssistantAccessComponent" translatable="false">android.ext.services/android.ext.services.notification.Assistant</string>
 
     <bool name="config_supportBluetoothPersistedState">true</bool>
 
@@ -3938,7 +3942,7 @@
         M5,17.5 V12 H3 L7,4.5 V10 h2 L5,17.5 z
     </string>
     <string name="config_batterymeterPowersavePath" translatable="false">
-		M9,10l-2,0l0,-2l-2,0l0,2l-2,0l0,2l2,0l0,2l2,0l0,-2l2,0z
+		M9.75,10l-2.5,0l0,-2.5l-2.5,0l0,2.5l-2.5,0l0,2.5l2.5,0l0,2.5l2.5,0l0,-2.5l2.5,0z
     </string>
 
     <!-- A dual tone battery meter draws the perimeter path twice - once to define the shape
@@ -3948,4 +3952,8 @@
     <!-- The default peak refresh rate for a given device. Change this value if you want to allow
          for higher refresh rates to be automatically used out of the box -->
     <integer name="config_defaultPeakRefreshRate">60</integer>
+
+    <!-- The type of the light sensor to be used by the display framework for things like
+         auto-brightness. If unset, then it just gets the default sensor of type TYPE_LIGHT. -->
+    <string name="config_displayLightSensorType" translatable="false" />
 </resources>
diff --git a/core/res/res/values/dimens.xml b/core/res/res/values/dimens.xml
index 39cbd26..7134eed 100644
--- a/core/res/res/values/dimens.xml
+++ b/core/res/res/values/dimens.xml
@@ -717,9 +717,12 @@
 
     <!-- chooser (sharesheet) spacing -->
     <dimen name="chooser_corner_radius">8dp</dimen>
+    <dimen name="chooser_row_text_option_translate">25dp</dimen>
     <dimen name="chooser_view_spacing">18dp</dimen>
     <dimen name="chooser_edge_margin_thin">16dp</dimen>
     <dimen name="chooser_edge_margin_normal">24dp</dimen>
     <dimen name="chooser_preview_image_font_size">20sp</dimen>
     <dimen name="chooser_preview_width">-1px</dimen>
+    <dimen name="resolver_icon_size">42dp</dimen>
+    <dimen name="resolver_badge_size">18dp</dimen>
 </resources>
diff --git a/core/res/res/values/dimens_car.xml b/core/res/res/values/dimens_car.xml
index 5014a29..d2cf40a 100644
--- a/core/res/res/values/dimens_car.xml
+++ b/core/res/res/values/dimens_car.xml
@@ -102,4 +102,7 @@
     <!-- Progress Bar -->
     <dimen name="car_progress_bar_height">@dimen/car_seekbar_height</dimen>
 
+    <!-- TextView -->
+    <dimen name="car_textview_fading_edge_length">40dp</dimen>
+
 </resources>
diff --git a/core/res/res/values/public.xml b/core/res/res/values/public.xml
index 61d53002..3505994 100644
--- a/core/res/res/values/public.xml
+++ b/core/res/res/values/public.xml
@@ -2934,7 +2934,6 @@
         <public name="foregroundServiceType" />
         <public name="hasFragileUserData" />
         <public name="minAspectRatio" />
-        <!-- @hide @SystemApi -->
         <public name="inheritShowWhenLocked" />
         <public name="zygotePreloadName" />
         <public name="useEmbeddedDex" />
@@ -2942,6 +2941,7 @@
         <!-- @hide @SystemApi -->
         <public name="allowClearUserDataOnFailedRestore"/>
         <public name="allowAudioPlaybackCapture"/>
+        <public name="secureElementName" />
     </public-group>
 
     <public-group type="drawable" first-id="0x010800b4">
@@ -3006,8 +3006,6 @@
     <public-group type="dimen" first-id="0x01050007">
         <!-- @hide @SystemApi -->
         <public name="config_restrictedIconSize" />
-        <!-- @hide @SystemApi -->
-        <public name="config_mediaMetadataBitmapMaxSize" />
     </public-group>
 
     <public-group type="color" first-id="0x0106001c">
diff --git a/core/res/res/values/strings.xml b/core/res/res/values/strings.xml
index 4e47b1f..74970e8 100644
--- a/core/res/res/values/strings.xml
+++ b/core/res/res/values/strings.xml
@@ -280,9 +280,9 @@
     <!-- WFC, summary for Disabled -->
     <string name="wifi_calling_off_summary">Off</string>
     <!-- WFC, summary for Wi-Fi Preferred -->
-    <string name="wfc_mode_wifi_preferred_summary">Wi-Fi preferred</string>
+    <string name="wfc_mode_wifi_preferred_summary">Call over Wi-Fi</string>
     <!-- WFC, summary for Mobile data Preferred -->
-    <string name="wfc_mode_cellular_preferred_summary">Mobile preferred</string>
+    <string name="wfc_mode_cellular_preferred_summary">Call over mobile network</string>
     <!-- WFC, summary for Wi-Fi Only -->
     <string name="wfc_mode_wifi_only_summary">Wi-Fi only</string>
 
@@ -525,8 +525,8 @@
     <!-- label for screenshot item in power menu -->
     <string name="global_action_screenshot">Screenshot</string>
 
-    <!-- Take bug report menu title [CHAR LIMIT=NONE] -->
-    <string name="bugreport_title">Take bug report</string>
+    <!-- Take bug report menu title [CHAR LIMIT=20] -->
+    <string name="bugreport_title">Bug report</string>
     <!-- Message in bugreport dialog describing what it does [CHAR LIMIT=NONE] -->
     <!-- TODO: remove if not used anymore -->
     <string name="bugreport_message">This will collect information about your
@@ -707,12 +707,12 @@
     <string name="permgrouprequest_location">Allow
         &lt;b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g>&lt;/b> to access this device\'s location?</string>
     <!-- Subtitle of the message shown to the user when the apps requests permission to use the location only while app is in foreground [CHAR LIMIT=150]-->
-    <string name="permgrouprequestdetail_location">The app will only have access to the location while you\u2019re using the app.</string>
+    <string name="permgrouprequestdetail_location">The app will only have access to the location while you\u2019re using the app</string>
     <!-- Message shown to the user when the apps requests permission to use the location while app is in foreground and background. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] -->
-    <string name="permgroupbackgroundrequest_location">Always allow
-        &lt;b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g>&lt;/b> to access this device\u2019s location?</string>
+    <string name="permgroupbackgroundrequest_location">Allow
+        &lt;b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g>&lt;/b> to access this device\u2019s location &lt;b>all the time&lt;/b>?</string>
     <!-- Subtitle of the message shown to the user when the apps requests permission to use the location while app is in foreground and background [CHAR LIMIT=150] -->
-    <string name="permgroupbackgroundrequestdetail_location">The app will always have access to the location, even when you\u2019re not using the app.</string>
+    <string name="permgroupbackgroundrequestdetail_location">App currently can access location only while you\u2019re using the app</string>
 
     <!-- Title of a category of application permissions, listed so the user can choose whether they want to allow the application to do this. -->
     <string name="permgrouplab_calendar">Calendar</string>
@@ -800,7 +800,9 @@
     <string name="permgroupdesc_visual">access your photos &amp; videos</string>
     <!-- Message shown to the user when the apps requests permission from this group. If ever possible this should stay below 80 characters (assuming the parameters takes 20 characters). Don't abbreviate until the message reaches 120 characters though. [CHAR LIMIT=120] -->
     <string name="permgrouprequest_visual">Allow
-        &lt;b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g>&lt;/b> to access your photos and videos, including tagged locations?</string>
+        &lt;b><xliff:g id="app_name" example="Gmail">%1$s</xliff:g>&lt;/b> to access your photos and videos?</string>
+    <!-- Subtitle of the message shown to the user when the apps requests permission to access photos and videos [CHAR LIMIT=150]-->
+    <string name="permgrouprequestdetail_visual">Locations and other people in your photos and videos can be identified by the app</string>
 
     <!-- Title for the capability of an accessibility service to retrieve window content. -->
     <string name="capability_title_canRetrieveWindowContent">Retrieve window content</string>
@@ -1406,9 +1408,9 @@
       re-enables the keylock when the call is finished.</string>
 
     <!-- Title of an application permission, listed so the user can choose whether they want to allow the application to do this. [CHAR_LIMIT=NONE] -->
-    <string name="permlab_requestScreenLockComplexity">request screen lock complexity</string>
+    <string name="permlab_requestPasswordComplexity">request screen lock complexity</string>
     <!-- Description of an application permission, listed so the user can choose whether they want to allow the application to do this. [CHAR_LIMIT=NONE] -->
-    <string name="permdesc_requestScreenLockComplexity">Allows the app to learn the screen
+    <string name="permdesc_requestPasswordComplexity">Allows the app to learn the screen
         lock complexity level (high, medium, low or none), which indicates the possible range of
         length and type of the screen lock. The app can also suggest to users that they update the
         screen lock to a certain level but users can freely ignore and navigate away. Note that the
@@ -1536,43 +1538,45 @@
     <string name="permdesc_useFaceAuthentication">Allows the app to use face authentication hardware for authentication</string>
 
     <!-- Message shown during face acquisition when the face cannot be recognized [CHAR LIMIT=50] -->
-    <string name="face_acquired_insufficient">Couldn\u2019t process face. Please try again.</string>
+    <string name="face_acquired_insufficient">Couldn\u2019t capture accurate face data. Try again.</string>
     <!-- Message shown during face acquisition when the image is too bright [CHAR LIMIT=50] -->
-    <string name="face_acquired_too_bright">Face is too bright. Please try in lower light.</string>
+    <string name="face_acquired_too_bright">Too bright. Try gentler lighting.</string>
     <!-- Message shown during face acquisition when the image is too dark [CHAR LIMIT=50] -->
-    <string name="face_acquired_too_dark">Face is too dark. Please uncover light source.</string>
+    <string name="face_acquired_too_dark">Too dark. Try brighter lighting.</string>
     <!-- Message shown during face acquisition when the user is too close to sensor [CHAR LIMIT=50] -->
-    <string name="face_acquired_too_close">Please move sensor farther from face.</string>
+    <string name="face_acquired_too_close">Move phone farther away.</string>
     <!-- Message shown during face acquisition when the user is too far from sensor [CHAR LIMIT=50] -->
-    <string name="face_acquired_too_far">Please bring sensor closer to face.</string>
+    <string name="face_acquired_too_far">Move phone closer.</string>
     <!-- Message shown during face acquisition when the user is too high relatively to sensor [CHAR LIMIT=50] -->
-    <string name="face_acquired_too_high">Please move sensor higher.</string>
+    <string name="face_acquired_too_high">Move phone higher.</string>
     <!-- Message shown during face acquisition when the user is too low relatively to sensor [CHAR LIMIT=50] -->
-    <string name="face_acquired_too_low">Please move sensor lower.</string>
+    <string name="face_acquired_too_low">Move phone lower.</string>
     <!-- Message shown during face acquisition when the user is too right relatively to sensor [CHAR LIMIT=50] -->
-    <string name="face_acquired_too_right">Please move sensor to the right.</string>
+    <string name="face_acquired_too_right">Move phone to the right.</string>
     <!-- Message shown during face acquisition when the user is too left relatively to sensor [CHAR LIMIT=50] -->
-    <string name="face_acquired_too_left">Please move sensor to the left.</string>
+    <string name="face_acquired_too_left">Move phone to the left.</string>
     <!-- Message shown during face acquisition when the user is not front facing the sensor [CHAR LIMIT=50] -->
-    <string name="face_acquired_poor_gaze">Please look at the sensor.</string>
+    <string name="face_acquired_poor_gaze">Look at the screen with your eyes open.</string>
     <!-- Message shown during face acquisition when the user is not detected [CHAR LIMIT=50] -->
-    <string name="face_acquired_not_detected">No face detected.</string>
+    <string name="face_acquired_not_detected">Can\u2019t see your face. Look at the phone.</string>
     <!-- Message shown during face acquisition when the device is not steady [CHAR LIMIT=50] -->
-    <string name="face_acquired_too_much_motion">Too much motion.</string>
+    <string name="face_acquired_too_much_motion">Too much motion. Hold phone steady.</string>
     <!-- Message shown during face acquisition when the sensor needs to be recalibrated [CHAR LIMIT=50] -->
     <string name="face_acquired_recalibrate">Please re-enroll your face.</string>
     <!-- Message shown during face enrollment when a different person's face is detected [CHAR LIMIT=50] -->
-    <string name="face_acquired_too_different">Different face detected.</string>
+    <string name="face_acquired_too_different">No longer able to recognize face. Try again.</string>
     <!-- Message shown during face enrollment when the face is too similar to a previous acquisition [CHAR LIMIT=50] -->
     <string name="face_acquired_too_similar">Too similar, please change your pose.</string>
     <!-- Message shown during acqusition when the user's face is turned too far left or right [CHAR LIMIT=50] -->
-    <string name="face_acquired_pan_too_extreme">Please look more directly at the camera.</string>
+    <string name="face_acquired_pan_too_extreme">Please look more directly at the screen.</string>
     <!-- Message shown during acqusition when the user's face is tilted too high or too low [CHAR LIMIT=50] -->
-    <string name="face_acquired_tilt_too_extreme">Please look more directly at the camera.</string>
+    <string name="face_acquired_tilt_too_extreme">Please look more directly at the screen.</string>
     <!-- Message shown during acquisiton when the user's face is tilted too far left or right [CHAR LIMIT=50] -->
     <string name="face_acquired_roll_too_extreme">Please straighten your head vertically.</string>
     <!-- Message shown during acquisition when the user's face is obscured [CHAR LIMIT=50] -->
-    <string name="face_acquired_obscured">Please uncover your face.</string>
+    <string name="face_acquired_obscured">Clear the space between your head and the phone.</string>
+    <!-- Message shown during acquisition when the sensor is dirty [CHAR LIMIT=50] -->
+    <string name="face_acquired_sensor_dirty">Please clean the camera.</string>
     <!-- Array containing custom messages shown during face acquisition from vendor.  Vendor is expected to add and translate these strings -->
     <string-array name="face_acquired_vendor">
     </string-array>
@@ -3372,9 +3376,9 @@
     <string name="wifi_available_action_all_networks">All networks</string>
 
     <!-- Notification title for a connection to a app suggested wireless network.-->
-    <string name="wifi_suggestion_title">A Wi\u2011Fi network proposed by <xliff:g id="name" example="App123">%s</xliff:g> is available</string>
+    <string name="wifi_suggestion_title">Connect to Wi\u2011Fi networks?</string>
     <!-- Notification content for a connection to a app suggested wireless network.-->
-    <string name="wifi_suggestion_content">Do you want to connect to networks proposed by <xliff:g id="name" example="App123">%s</xliff:g>?</string>
+    <string name="wifi_suggestion_content">Suggested by <xliff:g id="name" example="App123">%s</xliff:g></string>
     <!-- Notification action for allowing app specified in the notification body.-->
     <string name="wifi_suggestion_action_allow_app">Yes</string>
     <!-- Notification action for disallowing app specified in the notification body.-->
@@ -3401,13 +3405,18 @@
     <string name="network_available_sign_in_detailed"><xliff:g id="network_ssid">%1$s</xliff:g></string>
 
     <!-- A notification is shown when the user connects to a Wi-Fi network and the system detects that that network has no Internet access. This is the notification's title. -->
-    <string name="wifi_no_internet">Wi-Fi has no internet access</string>
+    <string name="wifi_no_internet"><xliff:g id="network_ssid" example="GoogleGuest">%1$s</xliff:g> has no internet access</string>
 
     <!-- A notification is shown when the user connects to a Wi-Fi network and the system detects that that network has no Internet access. This is the notification's message. -->
     <string name="wifi_no_internet_detailed">Tap for options</string>
 
     <!-- A notification is shown after the user logs in to a captive portal network, to indicate that the network should now have internet connectivity. This is the message of notification. [CHAR LIMIT=50] -->
     <string name="captive_portal_logged_in_detailed">Connected</string>
+    <!-- A notification is shown when the user connects to a network that doesn't have access to some services (e.g. Push notifications may not work). This is the notification's title. [CHAR LIMIT=50] -->
+    <string name="network_partial_connectivity"><xliff:g id="network_ssid" example="GoogleGuest">%1$s</xliff:g> has limited connectivity</string>
+
+    <!-- A notification is shown when the user connects to a network that doesn't have access to some services (e.g. Push notifications may not work). This is the notification's message. [CHAR LIMIT=50] -->
+    <string name="network_partial_connectivity_detailed">Tap to connect anyway</string>
 
     <!-- A notification is shown when the user's softap config has been changed due to underlying
          hardware restrictions. This is the notifications's title.
@@ -3595,6 +3604,11 @@
     <string name="adb_active_notification_message">Tap to turn off USB debugging</string>
     <string name="adb_active_notification_message" product="tv">Select to disable USB debugging.</string>
 
+    <!-- Title of notification shown when Test Harness Mode is enabled. [CHAR LIMIT=NONE] -->
+    <string name="test_harness_mode_notification_title">Test Harness Mode enabled</string>
+    <!-- Message of notification shown when Test Harness Mode is enabled. [CHAR LIMIT=NONE] -->
+    <string name="test_harness_mode_notification_message">Perform a factory reset to disable Test Harness Mode.</string>
+
     <!-- Title of notification shown when contaminant is detected on the USB port. [CHAR LIMIT=NONE] -->
     <string name="usb_contaminant_detected_title">Liquid or debris in USB port</string>
     <!-- Message of notification shown when contaminant is detected on the USB port. [CHAR LIMIT=NONE] -->
@@ -5041,12 +5055,6 @@
     <string name="usb_mtp_launch_notification_description">Tap to view files</string>
 
     <!-- Resolver target actions strings -->
-
-    <!-- Pin (as in to a bulletin board with a pushpin) a resolver
-         target to the front of the list. -->
-    <string name="pin_target">Pin</string>
-    <!-- Unpin a resolver target such that it sorts normally. -->
-    <string name="unpin_target">Unpin</string>
     <!-- View application info for a target. -->
     <string name="app_info">App info</string>
 
@@ -5340,4 +5348,8 @@
         <item quantity="one"><xliff:g id="file_name">%s</xliff:g> + <xliff:g id="count">%d</xliff:g> file</item>
         <item quantity="other"><xliff:g id="file_name">%s</xliff:g> + <xliff:g id="count">%d</xliff:g> files</item>
     </plurals>
+
+    <!-- ChooserActivity - No direct share targets are available. [CHAR LIMIT=NONE] -->
+    <string name="chooser_no_direct_share_targets">Direct share not available</string>
+
 </resources>
diff --git a/core/res/res/values/symbols.xml b/core/res/res/values/symbols.xml
index d5444c0..17ccc31 100644
--- a/core/res/res/values/symbols.xml
+++ b/core/res/res/values/symbols.xml
@@ -390,6 +390,7 @@
   <java-symbol type="bool" name="config_supportsSplitScreenMultiWindow" />
   <java-symbol type="bool" name="config_supportsMultiDisplay" />
   <java-symbol type="bool" name="config_noHomeScreen" />
+  <java-symbol type="bool" name="config_supportsSystemDecorsOnSecondaryDisplays" />
   <java-symbol type="bool" name="config_guestUserEphemeral" />
   <java-symbol type="bool" name="config_localDisplaysMirrorContent" />
   <java-symbol type="bool" name="config_localDisplaysPrivate" />
@@ -1244,6 +1245,8 @@
   <java-symbol type="string" name="mediasize_japanese_kahu" />
   <java-symbol type="string" name="mediasize_japanese_kaku2" />
   <java-symbol type="string" name="mediasize_japanese_you4" />
+  <java-symbol type="string" name="network_partial_connectivity" />
+  <java-symbol type="string" name="network_partial_connectivity_detailed" />
   <java-symbol type="string" name="reason_service_unavailable" />
   <java-symbol type="string" name="reason_unknown" />
   <java-symbol type="string" name="restr_pin_enter_admin_pin" />
@@ -1378,9 +1381,8 @@
   <java-symbol type="drawable" name="ic_text_dot" />
   <java-symbol type="drawable" name="ic_print" />
   <java-symbol type="drawable" name="ic_print_error" />
-  <java-symbol type="drawable" name="ic_lock_24dp" />
-  <java-symbol type="drawable" name="ic_lock_open_24dp" />
-  <java-symbol type="drawable" name="ic_auth_error" />
+  <java-symbol type="drawable" name="ic_lock" />
+  <java-symbol type="drawable" name="ic_lock_open" />
   <java-symbol type="drawable" name="jog_dial_arrow_long_left_green" />
   <java-symbol type="drawable" name="jog_dial_arrow_long_right_red" />
   <java-symbol type="drawable" name="jog_dial_arrow_short_left_and_right" />
@@ -1939,6 +1941,7 @@
   <java-symbol type="bool" name="config_wifi_convert_apband_5ghz_to_any" />
   <java-symbol type="bool" name="config_wifi_local_only_hotspot_5ghz" />
   <java-symbol type="bool" name="config_wifi_connected_mac_randomization_supported" />
+  <java-symbol type="bool" name="config_wifi_p2p_mac_randomization_supported" />
   <java-symbol type="bool" name="config_wifi_link_probing_supported" />
   <java-symbol type="bool" name="config_wifi_fast_bss_transition_enabled" />
   <java-symbol type="bool" name="config_wimaxEnabled" />
@@ -2058,6 +2061,8 @@
   <java-symbol type="string" name="accessibility_binding_label" />
   <java-symbol type="string" name="adb_active_notification_message" />
   <java-symbol type="string" name="adb_active_notification_title" />
+  <java-symbol type="string" name="test_harness_mode_notification_title" />
+  <java-symbol type="string" name="test_harness_mode_notification_message" />
   <java-symbol type="string" name="taking_remote_bugreport_notification_title" />
   <java-symbol type="string" name="share_remote_bugreport_notification_title" />
   <java-symbol type="string" name="sharing_remote_bugreport_notification_title" />
@@ -2247,6 +2252,7 @@
   <java-symbol type="anim" name="lock_lock" />
   <java-symbol type="anim" name="lock_unlock" />
   <java-symbol type="anim" name="lock_in" />
+  <java-symbol type="anim" name="lock_scanning" />
 
   <java-symbol type="bool" name="config_alwaysUseCdmaRssi" />
   <java-symbol type="dimen" name="status_bar_icon_size" />
@@ -2540,6 +2546,7 @@
   <java-symbol type="string" name="face_acquired_tilt_too_extreme" />
   <java-symbol type="string" name="face_acquired_roll_too_extreme" />
   <java-symbol type="string" name="face_acquired_obscured" />
+  <java-symbol type="string" name="face_acquired_sensor_dirty" />
   <java-symbol type="array" name="face_acquired_vendor" />
   <java-symbol type="string" name="face_name_template" />
   <java-symbol type="string" name="face_authenticated_no_confirmation_required" />
@@ -2606,7 +2613,6 @@
   <java-symbol type="attr" name="lightRadius" />
   <java-symbol type="attr" name="ambientShadowAlpha" />
   <java-symbol type="attr" name="spotShadowAlpha" />
-  <java-symbol type="array" name="config_cdma_home_system" />
   <java-symbol type="bool" name="config_sms_decode_gsm_8bit_data" />
   <java-symbol type="dimen" name="text_size_small_material" />
   <java-symbol type="attr" name="checkMarkGravity" />
@@ -2752,18 +2758,26 @@
   <java-symbol type="id" name="month_view" />
   <java-symbol type="integer" name="config_zen_repeat_callers_threshold" />
   <java-symbol type="dimen" name="chooser_corner_radius" />
+  <java-symbol type="string" name="chooser_no_direct_share_targets" />
+  <java-symbol type="drawable" name="chooser_row_layer_list" />
   <java-symbol type="dimen" name="chooser_view_spacing" />
   <java-symbol type="dimen" name="chooser_edge_margin_thin" />
   <java-symbol type="dimen" name="chooser_edge_margin_normal" />
   <java-symbol type="dimen" name="chooser_preview_image_font_size"/>
   <java-symbol type="dimen" name="chooser_preview_width" />
   <java-symbol type="layout" name="chooser_grid" />
+  <java-symbol type="layout" name="chooser_grid_preview_text" />
+  <java-symbol type="layout" name="chooser_grid_preview_image" />
+  <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="layout" name="resolve_grid_item" />
   <java-symbol type="id" name="day_picker_view_pager" />
   <java-symbol type="layout" name="day_picker_content_material" />
   <java-symbol type="drawable" name="scroll_indicator_material" />
 
   <java-symbol type="layout" name="chooser_row" />
+  <java-symbol type="layout" name="chooser_row_direct_share" />
   <java-symbol type="id" name="target_badge" />
   <java-symbol type="bool" name="config_supportDoubleTapWake" />
   <java-symbol type="drawable" name="ic_perm_device_info" />
@@ -2983,8 +2997,7 @@
   <java-symbol type="color" name="notification_material_background_color" />
 
   <!-- Resolver target actions -->
-  <java-symbol type="array" name="resolver_target_actions_pin" />
-  <java-symbol type="array" name="resolver_target_actions_unpin" />
+  <java-symbol type="array" name="resolver_target_actions" />
 
   <java-symbol type="array" name="non_removable_euicc_slots" />
 
@@ -3376,6 +3389,7 @@
   <java-symbol type="string" name="config_defaultAppPredictionService" />
   <java-symbol type="string" name="config_defaultContentSuggestionsService" />
   <java-symbol type="string" name="config_defaultAttentionService" />
+  <java-symbol type="string" name="config_defaultSystemCaptionsService" />
 
   <java-symbol type="string" name="notification_channel_foreground_service" />
   <java-symbol type="string" name="foreground_service_app_in_background" />
@@ -3533,7 +3547,7 @@
   <java-symbol type="string" name="harmful_app_warning_title" />
   <java-symbol type="layout" name="harmful_app_warning_dialog" />
 
-  <java-symbol type="string" name="config_defaultAssistantAccessPackage" />
+  <java-symbol type="string" name="config_defaultAssistantAccessComponent" />
 
   <java-symbol type="bool" name="config_supportBluetoothPersistedState" />
 
@@ -3668,6 +3682,7 @@
   <java-symbol type="array" name="config_displayWhiteBalanceAmbientColorTemperatures" />
   <java-symbol type="array" name="config_displayWhiteBalanceDisplayColorTemperatures" />
   <java-symbol type="drawable" name="ic_action_open" />
+  <java-symbol type="drawable" name="ic_menu_copy_material" />
 
   <!-- MIME types -->
   <java-symbol type="string" name="mime_type_folder" />
@@ -3689,5 +3704,14 @@
   <java-symbol type="string" name="mime_type_presentation" />
   <java-symbol type="string" name="mime_type_presentation_ext" />
 
+  <!-- For high refresh rate displays -->
   <java-symbol type="integer" name="config_defaultPeakRefreshRate" />
+
+  <!-- For Auto-Brightness -->
+  <java-symbol type="string" name="config_displayLightSensorType" />
+
+  <java-symbol type="drawable" name="iconfactory_adaptive_icon_drawable_wrapper"/>
+  <java-symbol type="dimen" name="resolver_icon_size"/>
+  <java-symbol type="dimen" name="resolver_badge_size"/>
+
 </resources>
diff --git a/core/res/res/xml/color_extraction.xml b/core/res/res/xml/color_extraction.xml
index 93ab0ff..c3ebe4e 100644
--- a/core/res/res/xml/color_extraction.xml
+++ b/core/res/res/xml/color_extraction.xml
@@ -246,109 +246,4 @@
                 0.6549019607843137,0.7549019607843137,0.8509803921568627,
                 0.9411764705882353"/>
     </palettes>
-    <blacklist>
-        <!-- Red -->
-        <range h="0, 20"
-               s="0.7, 1"
-               l="0.21, 0.79"/>
-        <range h="0, 20"
-               s="0.3, 0.7"
-               l="0.355, 0.653"/>
-        <!-- Red Orange -->
-        <range h="20, 40"
-               s="0.7, 1"
-               l="0.2, 0.643"/>
-        <range h="20, 40"
-               s="0.3, 0.7"
-               l="0.414, 0.561"/>
-        <range h="20, 40"
-               s="0, 0.3"
-               l="0.343, 0.584"/>
-        <!-- Orange -->
-        <range h="40, 60"
-               s="0.7, 1"
-               l="0.173, 0.38"/>
-        <range h="40, 60"
-               s="0.3, 0.7"
-               l="0.233, 0.427"/>
-        <range h="40, 60"
-               s="0, 0.3"
-               l="0.231, 0.48"/>
-        <!-- Yellow 60 -->
-        <range h="60, 80"
-               s="0.7, 1"
-               l="0.15, 0.40"/>
-        <range h="60, 80"
-               s="0.3, 0.7"
-               l="0.15, 0.42"/>
-        <range h="60, 80"
-               s="0, 0.3"
-               l="0.35, 0.57"/>
-        <!-- Yellow Green 80 -->
-        <range h="80, 100"
-               s="0.7, 1"
-               l="0.36, 0.65"/>
-        <range h="80, 100"
-               s="0.3, 0.7"
-               l="0.48, 0.57"/>
-        <!-- Yellow green 100 -->
-        <range h="100, 120"
-               s="0.7, 1"
-               l="0.388, 0.67"/>
-        <range h="100, 120"
-               s="0.3, 0.7"
-               l="0.424, 0.58"/>
-        <!-- Green -->
-        <range h="120, 140"
-               s="0.7, 1"
-               l="0.37, 0.65"/>
-        <range h="120, 140"
-               s="0.3, 0.7"
-               l="0.435, 0.58"/>
-        <!-- Green Blue 140 -->
-        <range h="140, 160"
-               s="0.7, 1"
-               l="0.43, 0.641"/>
-        <!-- Seaoam -->
-        <range h="160, 180"
-               s="0.7, 1"
-               l="0.496, 0.567"/>
-        <!-- Cyan -->
-        <range h="180, 200"
-               s="0.7, 1"
-               l="0.52, 0.729"/>
-        <!-- Blue -->
-        <range h="220, 240"
-               s="0.7, 1"
-               l="0.396, 0.571"/>
-        <range h="220, 240"
-               s="0.3, 0.7"
-               l="0.425, 0.551"/>
-        <!-- Blue Purple 240 -->
-        <range h="240, 260"
-               s="0.7, 1"
-               l="0.418, 0.639"/>
-        <range h="220, 240"
-               s="0.3, 0.7"
-               l="0.441, 0.576"/>
-        <!-- Blue Purple 260 -->
-        <range h="260, 280"
-               s="0.3, 1"
-               l="0.461, 0.553"/>
-        <!-- Fuchsia -->
-        <range h="300, 320"
-               s="0.7, 1"
-               l="0.484, 0.588"/>
-        <range h="300, 320"
-               s="0.3, 0.7"
-               l="0.48, 0.592"/>
-        <!-- Pink -->
-        <range h="320, 340"
-               s="0.7, 1"
-               l="0.466, 0.629"/>
-        <!-- Soft red -->
-        <range h="340, 360"
-               s="0.7, 1"
-               l="0.437, 0.596"/>
-    </blacklist>
-</colorextraction>
\ No newline at end of file
+</colorextraction>
diff --git a/core/tests/coretests/AndroidManifest.xml b/core/tests/coretests/AndroidManifest.xml
index 1764249..9955c51 100644
--- a/core/tests/coretests/AndroidManifest.xml
+++ b/core/tests/coretests/AndroidManifest.xml
@@ -55,6 +55,7 @@
     <uses-permission android:name="android.permission.GET_PACKAGE_SIZE" />
     <uses-permission android:name="android.permission.INTERNET" />
     <uses-permission android:name="android.permission.INJECT_EVENTS" />
+    <uses-permission android:name="android.permission.MANAGE_APP_PREDICTIONS"/>
     <uses-permission android:name="android.permission.READ_CONTACTS" />
     <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
     <uses-permission android:name="android.permission.READ_DREAM_STATE" />
@@ -123,6 +124,9 @@
     <uses-permission android:name="android.permission.CAPTURE_VIDEO_OUTPUT" />
     <uses-permission android:name="android.permission.CAPTURE_SECURE_VIDEO_OUTPUT" />
 
+    <!-- color extraction test permissions -->
+    <uses-permission android:name="android.permission.READ_FRAME_BUFFER" />
+
     <!-- accessibility test permissions -->
     <uses-permission android:name="android.permission.RETRIEVE_WINDOW_CONTENT" />
 
diff --git a/core/tests/coretests/src/android/app/NotificationTest.java b/core/tests/coretests/src/android/app/NotificationTest.java
index c17aa92..109cff9 100644
--- a/core/tests/coretests/src/android/app/NotificationTest.java
+++ b/core/tests/coretests/src/android/app/NotificationTest.java
@@ -21,12 +21,14 @@
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotSame;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertSame;
 import static org.junit.Assert.assertTrue;
 
 import android.annotation.Nullable;
 import android.content.Context;
 import android.content.Intent;
+import android.content.LocusId;
 import android.graphics.BitmapFactory;
 import android.graphics.drawable.Icon;
 import android.media.session.MediaSession;
@@ -320,6 +322,27 @@
                 action.clone().getSemanticAction());
     }
 
+    @Test
+    public void testBuilder_setLocusId() {
+        LocusId locusId = new LocusId("4815162342");
+        Notification notification = new Notification.Builder(mContext, "whatever")
+                .setLocusId(locusId).build();
+        assertEquals(locusId, notification.getLocusId());
+
+        Notification clone = writeAndReadParcelable(notification);
+        assertEquals(locusId, clone.getLocusId());
+    }
+
+    @Test
+    public void testBuilder_setLocusId_null() {
+        Notification notification = new Notification.Builder(mContext, "whatever")
+                .setLocusId(null).build();
+        assertNull(notification.getLocusId());
+
+        Notification clone = writeAndReadParcelable(notification);
+        assertNull(clone.getLocusId());
+    }
+
     private Notification.Builder getMediaNotification() {
         MediaSession session = new MediaSession(mContext, "test");
         return new Notification.Builder(mContext, "color")
diff --git a/core/tests/coretests/src/android/content/pm/AndroidHidlUpdaterTest.java b/core/tests/coretests/src/android/content/pm/AndroidHidlUpdaterTest.java
index 9b360db..cc48239 100644
--- a/core/tests/coretests/src/android/content/pm/AndroidHidlUpdaterTest.java
+++ b/core/tests/coretests/src/android/content/pm/AndroidHidlUpdaterTest.java
@@ -42,8 +42,17 @@
         PackageBuilder before = builder()
                 .targetSdkVersion(Build.VERSION_CODES.P);
 
+        // no change, not system
+        checkBackwardsCompatibility(before, before);
+    }
+
+    @Test
+    public void targeted_at_P_system() {
+        PackageBuilder before = builder().asSystemApp()
+                .targetSdkVersion(Build.VERSION_CODES.P);
+
         // Should add both HIDL libraries
-        PackageBuilder after = builder()
+        PackageBuilder after = builder().asSystemApp()
                 .targetSdkVersion(Build.VERSION_CODES.P)
                 .requiredLibraries(ANDROID_HIDL_MANAGER, ANDROID_HIDL_BASE);
 
@@ -56,9 +65,19 @@
                 .targetSdkVersion(Build.VERSION_CODES.P)
                 .requiredLibraries(OTHER_LIBRARY);
 
+        // no change, not system
+        checkBackwardsCompatibility(before, before);
+    }
+
+    @Test
+    public void targeted_at_P_not_empty_usesLibraries_system() {
+        PackageBuilder before = builder().asSystemApp()
+                .targetSdkVersion(Build.VERSION_CODES.P)
+                .requiredLibraries(OTHER_LIBRARY);
+
         // The hidl jars should be added at the start of the list because it
         // is not on the bootclasspath and the package targets pre-P.
-        PackageBuilder after = builder()
+        PackageBuilder after = builder().asSystemApp()
                 .targetSdkVersion(Build.VERSION_CODES.P)
                 .requiredLibraries(ANDROID_HIDL_MANAGER, ANDROID_HIDL_BASE, OTHER_LIBRARY);
 
@@ -71,8 +90,21 @@
                 .targetSdkVersion(Build.VERSION_CODES.P)
                 .requiredLibraries(ANDROID_HIDL_MANAGER, ANDROID_HIDL_BASE);
 
-        // No change is required because although the HIDL libraries has been removed from
-        // the bootclasspath the package explicitly requests it.
+        PackageBuilder after = builder()
+                .targetSdkVersion(Build.VERSION_CODES.P);
+
+        // Libraries are removed because they are not available for non-system apps
+        checkBackwardsCompatibility(before, after);
+    }
+
+    @Test
+    public void targeted_at_P_in_usesLibraries_system() {
+        PackageBuilder before = builder().asSystemApp()
+                .targetSdkVersion(Build.VERSION_CODES.P)
+                .requiredLibraries(ANDROID_HIDL_MANAGER, ANDROID_HIDL_BASE);
+
+        // No change is required because the package explicitly requests the HIDL libraries
+        // and is targeted at the current version so does not need backwards compatibility.
         checkBackwardsCompatibility(before, before);
     }
 
@@ -83,8 +115,7 @@
         // Dependency is removed, it is not available.
         PackageBuilder after = builder();
 
-        // No change is required because the package explicitly requests the HIDL libraries
-        // and is targeted at the current version so does not need backwards compatibility.
+        // Libraries are removed because they are not available for apps targetting Q+
         checkBackwardsCompatibility(before, after);
     }
 
@@ -95,8 +126,7 @@
         // Dependency is removed, it is not available.
         PackageBuilder after = builder();
 
-        // No change is required because the package explicitly requests the HIDL libraries
-        // and is targeted at the current version so does not need backwards compatibility.
+        // Libraries are removed because they are not available for apps targetting Q+
         checkBackwardsCompatibility(before, after);
     }
 
diff --git a/core/tests/coretests/src/android/content/pm/PackageBuilder.java b/core/tests/coretests/src/android/content/pm/PackageBuilder.java
index c5db962..f7544af 100644
--- a/core/tests/coretests/src/android/content/pm/PackageBuilder.java
+++ b/core/tests/coretests/src/android/content/pm/PackageBuilder.java
@@ -31,6 +31,8 @@
 
     private int mTargetSdkVersion = Build.VERSION_CODES.CUR_DEVELOPMENT;
 
+    private int mFlags = 0;
+
     private ArrayList<String> mRequiredLibraries;
 
     private ArrayList<String> mOptionalLibraries;
@@ -42,6 +44,7 @@
     public PackageParser.Package build() {
         PackageParser.Package pkg = new PackageParser.Package("org.package.name");
         pkg.applicationInfo.targetSdkVersion = mTargetSdkVersion;
+        pkg.applicationInfo.flags = mFlags;
         pkg.usesLibraries = mRequiredLibraries;
         pkg.usesOptionalLibraries = mOptionalLibraries;
         return pkg;
@@ -52,6 +55,11 @@
         return this;
     }
 
+    PackageBuilder asSystemApp() {
+        this.mFlags |= ApplicationInfo.FLAG_SYSTEM;
+        return this;
+    }
+
     PackageBuilder requiredLibraries(String... names) {
         this.mRequiredLibraries = arrayListOrNull(names);
         return this;
diff --git a/core/tests/coretests/src/android/os/PowerManagerTest.java b/core/tests/coretests/src/android/os/PowerManagerTest.java
index 1b587dd..576ac73 100644
--- a/core/tests/coretests/src/android/os/PowerManagerTest.java
+++ b/core/tests/coretests/src/android/os/PowerManagerTest.java
@@ -41,7 +41,9 @@
     private UiDevice mUiDevice;
     private Executor mExec = Executors.newSingleThreadExecutor();
     @Mock
-    private PowerManager.ThermalStatusCallback mCallback;
+    private PowerManager.OnThermalStatusChangedListener mListener1;
+    @Mock
+    private PowerManager.OnThermalStatusChangedListener mListener2;
     private static final long CALLBACK_TIMEOUT_MILLI_SEC = 5000;
 
     /**
@@ -169,6 +171,11 @@
         // TODO: Threaded test (needs handler) to make sure timed wakelocks work too
     }
 
+    /**
+     * Confirm that we can get thermal status.
+     *
+     * @throws Exception
+     */
     @Test
     public void testGetThermalStatus() throws Exception {
         int status = 0;
@@ -179,24 +186,57 @@
         assertEquals(status, mPm.getCurrentThermalStatus());
     }
 
+    /**
+     * Confirm that we can add/remove thermal status listener.
+     *
+     * @throws Exception
+     */
     @Test
     public void testThermalStatusCallback() throws Exception {
-        mPm.registerThermalStatusCallback(mCallback, mExec);
-        verify(mCallback, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
-                .times(1)).onStatusChange(0);
-        reset(mCallback);
-        int status = 3;
+        // Initial override status is THERMAL_STATUS_NONE
+        int status = PowerManager.THERMAL_STATUS_NONE;
+        // Add listener1
+        mPm.addThermalStatusListener(mExec, mListener1);
+        verify(mListener1, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
+                .times(1)).onThermalStatusChanged(status);
+        reset(mListener1);
+        status = PowerManager.THERMAL_STATUS_SEVERE;
         mUiDevice.executeShellCommand("cmd thermalservice override-status "
                 + Integer.toString(status));
-        verify(mCallback, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
-                .times(1)).onStatusChange(status);
-        reset(mCallback);
-        mPm.unregisterThermalStatusCallback(mCallback);
-        status = 2;
+        verify(mListener1, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
+                .times(1)).onThermalStatusChanged(status);
+        reset(mListener1);
+        // Add listener1 again
+        try {
+            mPm.addThermalStatusListener(mListener1);
+            fail("Expected exception not thrown");
+        } catch (IllegalArgumentException expectedException) {
+        }
+        // Add listener2 on main thread.
+        mPm.addThermalStatusListener(mListener2);
+        status = PowerManager.THERMAL_STATUS_MODERATE;
         mUiDevice.executeShellCommand("cmd thermalservice override-status "
                 + Integer.toString(status));
-        verify(mCallback, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
-                .times(0)).onStatusChange(status);
-
+        verify(mListener1, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
+                .times(1)).onThermalStatusChanged(status);
+        verify(mListener2, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
+                .times(1)).onThermalStatusChanged(status);
+        reset(mListener1);
+        reset(mListener2);
+        // Remove listener1
+        mPm.removeThermalStatusListener(mListener1);
+        // Remove listener1 again
+        try {
+            mPm.removeThermalStatusListener(mListener1);
+            fail("Expected exception not thrown");
+        } catch (IllegalArgumentException expectedException) {
+        }
+        status = PowerManager.THERMAL_STATUS_LIGHT;
+        mUiDevice.executeShellCommand("cmd thermalservice override-status "
+                + Integer.toString(status));
+        verify(mListener1, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
+                .times(0)).onThermalStatusChanged(status);
+        verify(mListener2, timeout(CALLBACK_TIMEOUT_MILLI_SEC)
+                .times(1)).onThermalStatusChanged(status);
     }
 }
diff --git a/core/tests/coretests/src/android/provider/DeviceConfigTest.java b/core/tests/coretests/src/android/provider/DeviceConfigTest.java
index de1453a..7a4fa3a 100644
--- a/core/tests/coretests/src/android/provider/DeviceConfigTest.java
+++ b/core/tests/coretests/src/android/provider/DeviceConfigTest.java
@@ -16,6 +16,7 @@
 
 package android.provider;
 
+import static android.provider.DeviceConfig.OnPropertiesChangedListener;
 import static android.provider.DeviceConfig.OnPropertyChangedListener;
 
 import static com.google.common.truth.Truth.assertThat;
@@ -30,6 +31,7 @@
 import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.After;
+import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
@@ -59,6 +61,26 @@
     }
 
     @Test
+    public void getProperty_nullNamespace() {
+        try {
+            DeviceConfig.getProperty(null, sKey);
+            Assert.fail("Null namespace should have resulted in an NPE.");
+        } catch (NullPointerException e) {
+            // expected
+        }
+    }
+
+    @Test
+    public void getProperty_nullName() {
+        try {
+            DeviceConfig.getProperty(sNamespace, null);
+            Assert.fail("Null name should have resulted in an NPE.");
+        } catch (NullPointerException e) {
+            // expected
+        }
+    }
+
+    @Test
     public void getString_empty() {
         final String default_value = "default_value";
         final String result = DeviceConfig.getString(sNamespace, sKey, default_value);
@@ -66,6 +88,12 @@
     }
 
     @Test
+    public void getString_nullDefault() {
+        final String result = DeviceConfig.getString(sNamespace, sKey, null);
+        assertThat(result).isNull();
+    }
+
+    @Test
     public void getString_nonEmpty() {
         final String value = "new_value";
         final String default_value = "default";
@@ -76,6 +104,26 @@
     }
 
     @Test
+    public void getString_nullNamespace() {
+        try {
+            DeviceConfig.getString(null, sKey, "default_value");
+            Assert.fail("Null namespace should have resulted in an NPE.");
+        } catch (NullPointerException e) {
+            // expected
+        }
+    }
+
+    @Test
+    public void getString_nullName() {
+        try {
+            DeviceConfig.getString(sNamespace, null, "default_value");
+            Assert.fail("Null name should have resulted in an NPE.");
+        } catch (NullPointerException e) {
+            // expected
+        }
+    }
+
+    @Test
     public void getBoolean_empty() {
         final boolean default_value = true;
         final boolean result = DeviceConfig.getBoolean(sNamespace, sKey, default_value);
@@ -103,6 +151,26 @@
     }
 
     @Test
+    public void getBoolean_nullNamespace() {
+        try {
+            DeviceConfig.getBoolean(null, sKey, false);
+            Assert.fail("Null namespace should have resulted in an NPE.");
+        } catch (NullPointerException e) {
+            // expected
+        }
+    }
+
+    @Test
+    public void getBoolean_nullName() {
+        try {
+            DeviceConfig.getBoolean(sNamespace, null, false);
+            Assert.fail("Null name should have resulted in an NPE.");
+        } catch (NullPointerException e) {
+            // expected
+        }
+    }
+
+    @Test
     public void getInt_empty() {
         final int default_value = 999;
         final int result = DeviceConfig.getInt(sNamespace, sKey, default_value);
@@ -130,6 +198,26 @@
     }
 
     @Test
+    public void getInt_nullNamespace() {
+        try {
+            DeviceConfig.getInt(null, sKey, 0);
+            Assert.fail("Null namespace should have resulted in an NPE.");
+        } catch (NullPointerException e) {
+            // expected
+        }
+    }
+
+    @Test
+    public void getInt_nullName() {
+        try {
+            DeviceConfig.getInt(sNamespace, null, 0);
+            Assert.fail("Null name should have resulted in an NPE.");
+        } catch (NullPointerException e) {
+            // expected
+        }
+    }
+
+    @Test
     public void getLong_empty() {
         final long default_value = 123456;
         final long result = DeviceConfig.getLong(sNamespace, sKey, default_value);
@@ -157,6 +245,26 @@
     }
 
     @Test
+    public void getLong_nullNamespace() {
+        try {
+            DeviceConfig.getLong(null, sKey, 0);
+            Assert.fail("Null namespace should have resulted in an NPE.");
+        } catch (NullPointerException e) {
+            // expected
+        }
+    }
+
+    @Test
+    public void getLong_nullName() {
+        try {
+            DeviceConfig.getLong(sNamespace, null, 0);
+            Assert.fail("Null name should have resulted in an NPE.");
+        } catch (NullPointerException e) {
+            // expected
+        }
+    }
+
+    @Test
     public void getFloat_empty() {
         final float default_value = 123.456f;
         final float result = DeviceConfig.getFloat(sNamespace, sKey, default_value);
@@ -184,6 +292,46 @@
     }
 
     @Test
+    public void getFloat_nullNamespace() {
+        try {
+            DeviceConfig.getFloat(null, sKey, 0);
+            Assert.fail("Null namespace should have resulted in an NPE.");
+        } catch (NullPointerException e) {
+            // expected
+        }
+    }
+
+    @Test
+    public void getFloat_nullName() {
+        try {
+            DeviceConfig.getFloat(sNamespace, null, 0);
+            Assert.fail("Null name should have resulted in an NPE.");
+        } catch (NullPointerException e) {
+            // expected
+        }
+    }
+
+    @Test
+    public void setProperty_nullNamespace() {
+        try {
+            DeviceConfig.setProperty(null, sKey, sValue, false);
+            Assert.fail("Null namespace should have resulted in an NPE.");
+        } catch (NullPointerException e) {
+            // expected
+        }
+    }
+
+    @Test
+    public void setProperty_nullName() {
+        try {
+            DeviceConfig.setProperty(sNamespace, null, sValue, false);
+            Assert.fail("Null name should have resulted in an NPE.");
+        } catch (NullPointerException e) {
+            // expected
+        }
+    }
+
+    @Test
     public void setAndGetProperty_sameNamespace() {
         DeviceConfig.setProperty(sNamespace, sKey, sValue, false);
         String result = DeviceConfig.getProperty(sNamespace, sKey);
@@ -223,7 +371,31 @@
     }
 
     @Test
-    public void testListener() throws InterruptedException {
+    public void testOnPropertiesChangedListener() throws InterruptedException {
+        final CountDownLatch countDownLatch = new CountDownLatch(1);
+
+        OnPropertiesChangedListener changeListener = (properties) -> {
+            assertThat(properties.getNamespace()).isEqualTo(sNamespace);
+            assertThat(properties.getKeyset()).contains(sKey);
+            assertThat(properties.getString(sKey, "default_value")).isEqualTo(sValue);
+            countDownLatch.countDown();
+        };
+
+        try {
+            DeviceConfig.addOnPropertiesChangedListener(sNamespace,
+                    ActivityThread.currentApplication().getMainExecutor(), changeListener);
+            DeviceConfig.setProperty(sNamespace, sKey, sValue, false);
+            assertThat(countDownLatch.await(
+                    WAIT_FOR_PROPERTY_CHANGE_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS)).isTrue();
+        } catch (InterruptedException e) {
+            Assert.fail(e.getMessage());
+        } finally {
+            DeviceConfig.removeOnPropertiesChangedListener(changeListener);
+        }
+    }
+
+    @Test
+    public void testOnPropertyChangedListener() throws InterruptedException {
         CountDownLatch countDownLatch = new CountDownLatch(1);
 
         OnPropertyChangedListener changeListener = (namespace, name, value) -> {
@@ -239,6 +411,8 @@
             DeviceConfig.setProperty(sNamespace, sKey, sValue, false);
             assertThat(countDownLatch.await(
                     WAIT_FOR_PROPERTY_CHANGE_TIMEOUT_MILLIS, TimeUnit.MILLISECONDS)).isTrue();
+        } catch (InterruptedException e) {
+            Assert.fail(e.getMessage());
         } finally {
             DeviceConfig.removeOnPropertyChangedListener(changeListener);
         }
diff --git a/core/tests/coretests/src/android/provider/SettingsBackupTest.java b/core/tests/coretests/src/android/provider/SettingsBackupTest.java
index ebc6be7..7322a54 100644
--- a/core/tests/coretests/src/android/provider/SettingsBackupTest.java
+++ b/core/tests/coretests/src/android/provider/SettingsBackupTest.java
@@ -117,7 +117,6 @@
                     Settings.Global.ANOMALY_CONFIG_VERSION,
                     Settings.Global.APN_DB_UPDATE_CONTENT_URL,
                     Settings.Global.APN_DB_UPDATE_METADATA_URL,
-                    Settings.Global.APPLY_RAMPING_RINGER,
                     Settings.Global.APP_BINDING_CONSTANTS,
                     Settings.Global.APP_IDLE_CONSTANTS,
                     Settings.Global.APP_OPS_CONSTANTS,
@@ -132,6 +131,7 @@
                     Settings.Global.AUTOFILL_MAX_VISIBLE_DATASETS,
                     Settings.Global.AUTOMATIC_POWER_SAVER_MODE,
                     Settings.Global.BACKGROUND_ACTIVITY_STARTS_ENABLED,
+                    Settings.Global.BACKGROUND_ACTIVITY_STARTS_PACKAGE_NAMES_WHITELIST,
                     Settings.Global.BATTERY_CHARGING_STATE_UPDATE_DELAY,
                     Settings.Global.BROADCAST_BG_CONSTANTS,
                     Settings.Global.BROADCAST_FG_CONSTANTS,
@@ -467,6 +467,7 @@
                     Settings.Global.TETHER_SUPPORTED,
                     Settings.Global.TETHER_ENABLE_LEGACY_DHCP_SERVER,
                     Settings.Global.TEXT_CLASSIFIER_CONSTANTS,
+                    Settings.Global.TEXT_CLASSIFIER_ACTION_MODEL_PARAMS,
                     Settings.Global.THEATER_MODE_ON,
                     Settings.Global.TIME_ONLY_MODE_CONSTANTS,
                     Settings.Global.TRANSITION_ANIMATION_SCALE,
@@ -642,6 +643,7 @@
                  Settings.Secure.LAST_SETUP_SHOWN,
                  Settings.Secure.LOCATION_CHANGER,
                  Settings.Secure.LOCATION_MODE,
+                 Settings.Secure.LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE,
                  Settings.Secure.LOCK_SCREEN_ALLOW_REMOTE_INPUT, // Candidate?
                  Settings.Secure.LOCK_SCREEN_LOCK_AFTER_TIMEOUT,
                  Settings.Secure.LOCK_TO_APP_EXIT_LOCKED,
@@ -653,6 +655,7 @@
                  Settings.Secure.NIGHT_DISPLAY_ACTIVATED,
                  Settings.Secure.NIGHT_DISPLAY_LAST_ACTIVATED_TIME,
                  Settings.Secure.NUM_ROTATION_SUGGESTIONS_ACCEPTED,
+                 Settings.Secure.ODI_CAPTIONS_ENABLED,
                  Settings.Secure.PACKAGE_VERIFIER_STATE,
                  Settings.Secure.PACKAGE_VERIFIER_USER_CONSENT,
                  Settings.Secure.PARENTAL_CONTROL_LAST_UPDATE,
diff --git a/core/tests/coretests/src/android/service/notification/StatusBarNotificationTest.java b/core/tests/coretests/src/android/service/notification/StatusBarNotificationTest.java
index c99777b..0f32a82 100644
--- a/core/tests/coretests/src/android/service/notification/StatusBarNotificationTest.java
+++ b/core/tests/coretests/src/android/service/notification/StatusBarNotificationTest.java
@@ -89,6 +89,17 @@
         assertNull(logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_CATEGORY));
     }
 
+    /** Verify that modifying the returned logMaker won't leave stale data behind for
+     * the next caller.*/
+    @Test
+    public void testLogMakerNoStaleData() {
+        StatusBarNotification sbn = getNotification(PKG, GROUP_ID_1, CHANNEL_ID);
+        final LogMaker logMaker = sbn.getLogMaker();
+        int extraTag = MetricsEvent.FIELD_NOTIFICATION_CHANNEL_GROUP_ID;  // An arbitrary new tag
+        logMaker.addTaggedData(extraTag, 1);
+        assertNull(sbn.getLogMaker().getTaggedData(extraTag));
+    }
+
     @Test
     public void testLogMakerWithCategory() {
         Notification.Builder builder = getNotificationBuilder(GROUP_ID_1, CHANNEL_ID)
diff --git a/core/tests/coretests/src/android/text/StaticLayoutTest.java b/core/tests/coretests/src/android/text/StaticLayoutTest.java
index b1c896e..0ebf03f 100644
--- a/core/tests/coretests/src/android/text/StaticLayoutTest.java
+++ b/core/tests/coretests/src/android/text/StaticLayoutTest.java
@@ -22,6 +22,7 @@
 import static org.junit.Assert.assertTrue;
 
 import android.graphics.Canvas;
+import android.graphics.Paint;
 import android.graphics.Paint.FontMetricsInt;
 import android.os.LocaleList;
 import android.platform.test.annotations.Presubmit;
@@ -799,11 +800,13 @@
     @Test
     public void testLayoutDoesntModifyPaint() {
         final TextPaint paint = new TextPaint();
-        paint.setHyphenEdit(31);
+        paint.setStartHyphenEdit(Paint.START_HYPHEN_EDIT_INSERT_HYPHEN);
+        paint.setEndHyphenEdit(Paint.END_HYPHEN_EDIT_INSERT_HYPHEN);
         final StaticLayout layout = StaticLayout.Builder.obtain("", 0, 0, paint, 100).build();
         final Canvas canvas = new Canvas();
         layout.drawText(canvas, 0, 0);
-        assertEquals(31, paint.getHyphenEdit());
+        assertEquals(Paint.START_HYPHEN_EDIT_INSERT_HYPHEN, paint.getStartHyphenEdit());
+        assertEquals(Paint.END_HYPHEN_EDIT_INSERT_HYPHEN, paint.getEndHyphenEdit());
     }
 
     @Test
diff --git a/core/tests/coretests/src/android/view/accessibility/AccessibilityCacheTest.java b/core/tests/coretests/src/android/view/accessibility/AccessibilityCacheTest.java
index a88968b..1cb71f9 100644
--- a/core/tests/coretests/src/android/view/accessibility/AccessibilityCacheTest.java
+++ b/core/tests/coretests/src/android/view/accessibility/AccessibilityCacheTest.java
@@ -20,6 +20,7 @@
 import static junit.framework.Assert.assertNotNull;
 import static junit.framework.Assert.assertNull;
 
+import static org.junit.Assert.fail;
 import static org.mockito.Matchers.anyBoolean;
 import static org.mockito.Matchers.anyObject;
 import static org.mockito.Mockito.doAnswer;
@@ -33,6 +34,8 @@
 import androidx.test.filters.LargeTest;
 import androidx.test.runner.AndroidJUnit4;
 
+import com.google.common.base.Throwables;
+
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -588,6 +591,29 @@
         }
     }
 
+    @Test
+    public void addSameParentNodeWithDifferentChildNode_whenOriginalChildHasChild_doesntCrash() {
+        AccessibilityNodeInfo parentNodeInfo = getParentNode();
+        AccessibilityNodeInfo childNodeInfo = getChildNode();
+        childNodeInfo.addChild(getMockViewWithA11yAndWindowIds(CHILD_VIEW_ID + 1, WINDOW_ID_1));
+
+        AccessibilityNodeInfo replacementParentNodeInfo =
+                getNodeWithA11yAndWindowId(PARENT_VIEW_ID, WINDOW_ID_1);
+        replacementParentNodeInfo.addChild(
+                getMockViewWithA11yAndWindowIds(OTHER_CHILD_VIEW_ID, WINDOW_ID_1));
+        try {
+            mAccessibilityCache.add(parentNodeInfo);
+            mAccessibilityCache.add(childNodeInfo);
+            mAccessibilityCache.add(replacementParentNodeInfo);
+        } catch (IllegalStateException e) {
+            fail("recycle A11yNodeInfo twice" + Throwables.getStackTraceAsString(e));
+        } finally {
+            parentNodeInfo.recycle();
+            childNodeInfo.recycle();
+            replacementParentNodeInfo.recycle();
+        }
+    }
+
     private void assertNodeIsRefreshedWithEventType(int eventType, int contentChangeTypes) {
         AccessibilityNodeInfo nodeInfo = getNodeWithA11yAndWindowId(SINGLE_VIEW_ID, WINDOW_ID_1);
         mAccessibilityCache.add(nodeInfo);
diff --git a/core/tests/coretests/src/android/view/contentcapture/ContentCaptureContextTest.java b/core/tests/coretests/src/android/view/contentcapture/ContentCaptureContextTest.java
new file mode 100644
index 0000000..4680a64
--- /dev/null
+++ b/core/tests/coretests/src/android/view/contentcapture/ContentCaptureContextTest.java
@@ -0,0 +1,50 @@
+/*
+ * 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 android.view.contentcapture;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.content.ComponentName;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.junit.runners.JUnit4;
+
+/**
+ * Unit test for {@link ContentCaptureEvent}.
+ *
+ * <p>To run it:
+ * {@code atest FrameworksCoreTests:android.view.contentcapture.ContentCaptureContextTest}
+ */
+@RunWith(JUnit4.class)
+public class ContentCaptureContextTest {
+
+    @Test
+    public void testConstructorAdditionalFlags() {
+        final ComponentName componentName = new ComponentName("component", "name");
+        final ContentCaptureContext ctx = new ContentCaptureContext(/* clientContext= */ null,
+                componentName, /* taskId= */ 666, /* displayId= */ 42, /* flags= */ 1);
+        final ContentCaptureContext newCtx = new ContentCaptureContext(ctx, /* extraFlags= */ 2);
+        assertThat(newCtx.getFlags()).isEqualTo(3);
+
+        assertThat(newCtx.getActivityComponent()).isEqualTo(componentName);
+        assertThat(newCtx.getTaskId()).isEqualTo(666);
+        assertThat(newCtx.getDisplayId()).isEqualTo(42);
+        assertThat(newCtx.getExtras()).isNull();
+        assertThat(newCtx.getLocusId()).isNull();
+        assertThat(newCtx.getParentSessionId()).isNull();
+    }
+}
diff --git a/core/tests/coretests/src/android/view/contentcapture/ContentCaptureEventTest.java b/core/tests/coretests/src/android/view/contentcapture/ContentCaptureEventTest.java
index de2edc3..2416de1 100644
--- a/core/tests/coretests/src/android/view/contentcapture/ContentCaptureEventTest.java
+++ b/core/tests/coretests/src/android/view/contentcapture/ContentCaptureEventTest.java
@@ -19,6 +19,7 @@
 import static android.view.contentcapture.ContentCaptureEvent.TYPE_SESSION_FINISHED;
 import static android.view.contentcapture.ContentCaptureEvent.TYPE_SESSION_STARTED;
 import static android.view.contentcapture.ContentCaptureEvent.TYPE_VIEW_DISAPPEARED;
+import static android.view.contentcapture.ContentCaptureEvent.TYPE_VIEW_TEXT_CHANGED;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -230,6 +231,68 @@
         assertContextUpdatedEvent(clone);
     }
 
+    @Test
+    public void testMergeEvent_typeViewTextChanged() {
+        final ContentCaptureEvent event = new ContentCaptureEvent("42", TYPE_VIEW_TEXT_CHANGED)
+                .setText("test");
+        final ContentCaptureEvent event2 = new ContentCaptureEvent("43", TYPE_VIEW_TEXT_CHANGED)
+                .setText("empty");
+
+        event.mergeEvent(event2);
+        assertThat(event.getText()).isEqualTo(event2.getText());
+    }
+
+    @Test
+    public void testMergeEvent_typeViewDisappeared() {
+        final ContentCaptureEvent event = new ContentCaptureEvent("42", TYPE_VIEW_DISAPPEARED)
+                .setAutofillId(new AutofillId(1));
+        final ContentCaptureEvent event2 = new ContentCaptureEvent("43", TYPE_VIEW_DISAPPEARED)
+                .setAutofillId(new AutofillId(2));
+        final ArrayList<AutofillId> autofillIds = new ArrayList<>();
+        autofillIds.add(new AutofillId(3));
+        autofillIds.add(new AutofillId(4));
+        final ContentCaptureEvent event3 = new ContentCaptureEvent("17", TYPE_VIEW_DISAPPEARED)
+                .setAutofillIds(autofillIds);
+
+        event.mergeEvent(event2);
+        assertThat(event.getIds()).containsExactly(new AutofillId(1), new AutofillId(2));
+
+        event2.mergeEvent(event3);
+        assertThat(event2.getIds()).containsExactly(new AutofillId(2), new AutofillId(3),
+                new AutofillId(4));
+    }
+
+    @Test
+    public void testMergeEvent_typeViewDisappeared_noIds() {
+        final ContentCaptureEvent event = new ContentCaptureEvent("42", TYPE_VIEW_DISAPPEARED)
+                .setAutofillId(new AutofillId(1));
+        final ContentCaptureEvent event2 = new ContentCaptureEvent("43", TYPE_VIEW_DISAPPEARED);
+
+        assertThrows(IllegalArgumentException.class, () -> event.mergeEvent(event2));
+    }
+
+    @Test
+    public void testMergeEvent_nullArgument() {
+        final ContentCaptureEvent event = new ContentCaptureEvent("42", TYPE_VIEW_DISAPPEARED);
+        assertThrows(NullPointerException.class, () -> event.mergeEvent(null));
+    }
+
+    @Test
+    public void testMergeEvent_differentEventTypes() {
+        final ContentCaptureEvent event = new ContentCaptureEvent("42", TYPE_VIEW_DISAPPEARED)
+                .setText("test").setAutofillId(new AutofillId(1));
+        final ContentCaptureEvent event2 = new ContentCaptureEvent("17", TYPE_VIEW_TEXT_CHANGED)
+                .setText("empty").setAutofillId(new AutofillId(2));
+
+        event.mergeEvent(event2);
+        assertThat(event.getText()).isEqualTo("test");
+        assertThat(event.getId()).isEqualTo(new AutofillId(1));
+
+        event2.mergeEvent(event);
+        assertThat(event2.getText()).isEqualTo("empty");
+        assertThat(event2.getId()).isEqualTo(new AutofillId(2));
+    }
+
     private void assertContextUpdatedEvent(ContentCaptureEvent event) {
         assertThat(event.getType()).isEqualTo(TYPE_CONTEXT_UPDATED);
         assertThat(event.getEventTime()).isAtLeast(MY_EPOCH);
diff --git a/core/tests/coretests/src/android/view/textclassifier/ActionsSuggestionsHelperTest.java b/core/tests/coretests/src/android/view/textclassifier/ActionsSuggestionsHelperTest.java
index 5022e30..5c7287f 100644
--- a/core/tests/coretests/src/android/view/textclassifier/ActionsSuggestionsHelperTest.java
+++ b/core/tests/coretests/src/android/view/textclassifier/ActionsSuggestionsHelperTest.java
@@ -21,12 +21,23 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import android.app.PendingIntent;
 import android.app.Person;
+import android.app.RemoteAction;
+import android.content.ComponentName;
+import android.content.Intent;
+import android.graphics.drawable.Icon;
+import android.net.Uri;
+import android.os.Bundle;
+import android.view.textclassifier.intent.LabeledIntent;
+import android.view.textclassifier.intent.TemplateIntentFactory;
 
+import androidx.test.InstrumentationRegistry;
 import androidx.test.filters.SmallTest;
 import androidx.test.runner.AndroidJUnit4;
 
 import com.google.android.textclassifier.ActionsSuggestionsModel;
+import com.google.android.textclassifier.RemoteActionTemplate;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -36,6 +47,7 @@
 import java.time.ZonedDateTime;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.List;
 import java.util.Locale;
 import java.util.function.Function;
 
@@ -129,6 +141,144 @@
         assertNativeMessage(conversationMessages[2], thirdMessage.getText(), 1, 2000);
     }
 
+    @Test
+    public void testDeduplicateActions() {
+        Bundle phoneExtras = new Bundle();
+        Intent phoneIntent = new Intent();
+        phoneIntent.setComponent(new ComponentName("phone", "intent"));
+        ExtrasUtils.putActionIntent(phoneExtras, phoneIntent);
+
+        Bundle anotherPhoneExtras = new Bundle();
+        Intent anotherPhoneIntent = new Intent();
+        anotherPhoneIntent.setComponent(new ComponentName("phone", "another.intent"));
+        ExtrasUtils.putActionIntent(anotherPhoneExtras, anotherPhoneIntent);
+
+        Bundle urlExtras = new Bundle();
+        Intent urlIntent = new Intent();
+        urlIntent.setComponent(new ComponentName("url", "intent"));
+        ExtrasUtils.putActionIntent(urlExtras, urlIntent);
+
+        PendingIntent pendingIntent = PendingIntent.getActivity(
+                InstrumentationRegistry.getTargetContext(),
+                0,
+                phoneIntent,
+                0);
+        Icon icon = Icon.createWithData(new byte[0], 0, 0);
+        ConversationAction action =
+                new ConversationAction.Builder(ConversationAction.TYPE_CALL_PHONE)
+                        .setAction(new RemoteAction(icon, "label", "1", pendingIntent))
+                        .setExtras(phoneExtras)
+                        .build();
+        ConversationAction actionWithSameLabel =
+                new ConversationAction.Builder(ConversationAction.TYPE_CALL_PHONE)
+                        .setAction(new RemoteAction(
+                                icon, "label", "2", pendingIntent))
+                        .setExtras(phoneExtras)
+                        .build();
+        ConversationAction actionWithSamePackageButDifferentClass =
+                new ConversationAction.Builder(ConversationAction.TYPE_CALL_PHONE)
+                        .setAction(new RemoteAction(
+                                icon, "label", "3", pendingIntent))
+                        .setExtras(anotherPhoneExtras)
+                        .build();
+        ConversationAction actionWithDifferentLabel =
+                new ConversationAction.Builder(ConversationAction.TYPE_CALL_PHONE)
+                        .setAction(new RemoteAction(
+                                icon, "another_label", "4", pendingIntent))
+                        .setExtras(phoneExtras)
+                        .build();
+        ConversationAction actionWithDifferentPackage =
+                new ConversationAction.Builder(ConversationAction.TYPE_OPEN_URL)
+                        .setAction(new RemoteAction(icon, "label", "5", pendingIntent))
+                        .setExtras(urlExtras)
+                        .build();
+        ConversationAction actionWithoutRemoteAction =
+                new ConversationAction.Builder(ConversationAction.TYPE_CREATE_REMINDER)
+                        .build();
+
+        List<ConversationAction> conversationActions =
+                ActionsSuggestionsHelper.removeActionsWithDuplicates(
+                        Arrays.asList(action, actionWithSameLabel,
+                                actionWithSamePackageButDifferentClass, actionWithDifferentLabel,
+                                actionWithDifferentPackage, actionWithoutRemoteAction));
+
+        assertThat(conversationActions).hasSize(3);
+        assertThat(conversationActions.get(0).getAction().getContentDescription()).isEqualTo("4");
+        assertThat(conversationActions.get(1).getAction().getContentDescription()).isEqualTo("5");
+        assertThat(conversationActions.get(2).getAction()).isNull();
+    }
+
+    public void createLabeledIntentResult_null() {
+        ActionsSuggestionsModel.ActionSuggestion nativeSuggestion =
+                new ActionsSuggestionsModel.ActionSuggestion(
+                        "text",
+                        ConversationAction.TYPE_OPEN_URL,
+                        1.0f,
+                        null,
+                        null
+                );
+
+        LabeledIntent.Result labeledIntentResult =
+                ActionsSuggestionsHelper.createLabeledIntentResult(
+                        InstrumentationRegistry.getTargetContext(),
+                        new TemplateIntentFactory(),
+                        nativeSuggestion);
+
+        assertThat(labeledIntentResult).isNull();
+    }
+
+    @Test
+    public void createLabeledIntentResult_emptyList() {
+        ActionsSuggestionsModel.ActionSuggestion nativeSuggestion =
+                new ActionsSuggestionsModel.ActionSuggestion(
+                        "text",
+                        ConversationAction.TYPE_OPEN_URL,
+                        1.0f,
+                        null,
+                        new RemoteActionTemplate[0]
+                );
+
+        LabeledIntent.Result labeledIntentResult =
+                ActionsSuggestionsHelper.createLabeledIntentResult(
+                        InstrumentationRegistry.getTargetContext(),
+                        new TemplateIntentFactory(),
+                        nativeSuggestion);
+
+        assertThat(labeledIntentResult).isNull();
+    }
+
+    @Test
+    public void createLabeledIntentResult() {
+        ActionsSuggestionsModel.ActionSuggestion nativeSuggestion =
+                new ActionsSuggestionsModel.ActionSuggestion(
+                        "text",
+                        ConversationAction.TYPE_OPEN_URL,
+                        1.0f,
+                        null,
+                        new RemoteActionTemplate[]{
+                                new RemoteActionTemplate(
+                                        "title",
+                                        null,
+                                        "description",
+                                        Intent.ACTION_VIEW,
+                                        Uri.parse("http://www.android.com").toString(),
+                                        null,
+                                        0,
+                                        null,
+                                        null,
+                                        null,
+                                        0)});
+
+        LabeledIntent.Result labeledIntentResult =
+                ActionsSuggestionsHelper.createLabeledIntentResult(
+                        InstrumentationRegistry.getTargetContext(),
+                        new TemplateIntentFactory(),
+                        nativeSuggestion);
+
+        assertThat(labeledIntentResult.remoteAction.getTitle()).isEqualTo("title");
+        assertThat(labeledIntentResult.resolvedIntent.getAction()).isEqualTo(Intent.ACTION_VIEW);
+    }
+
     private ZonedDateTime createZonedDateTimeFromMsUtc(long msUtc) {
         return ZonedDateTime.ofInstant(Instant.ofEpochMilli(msUtc), ZoneId.of("UTC"));
     }
@@ -140,7 +290,7 @@
             long referenceTimeInMsUtc) {
         assertThat(nativeMessage.getText()).isEqualTo(text.toString());
         assertThat(nativeMessage.getUserId()).isEqualTo(userId);
-        assertThat(nativeMessage.getLocales()).isEqualTo(LOCALE_TAG);
+        assertThat(nativeMessage.getDetectedTextLanguageTags()).isEqualTo(LOCALE_TAG);
         assertThat(nativeMessage.getReferenceTimeMsUtc()).isEqualTo(referenceTimeInMsUtc);
     }
 }
diff --git a/core/tests/coretests/src/android/view/textclassifier/ConfigParserTest.java b/core/tests/coretests/src/android/view/textclassifier/ConfigParserTest.java
new file mode 100644
index 0000000..1b3c724
--- /dev/null
+++ b/core/tests/coretests/src/android/view/textclassifier/ConfigParserTest.java
@@ -0,0 +1,136 @@
+/*
+ * 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 android.view.textclassifier;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import android.provider.DeviceConfig;
+import android.support.test.uiautomator.UiDevice;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.io.IOException;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class ConfigParserTest {
+    private static final String SETTINGS = "int=42,float=12.3,boolean=true,string=abc";
+    private static final String CLEAR_DEVICE_CONFIG_KEY_CMD =
+            "device_config delete " + DeviceConfig.NAMESPACE_TEXTCLASSIFIER;
+    private static final String[] DEVICE_CONFIG_KEYS = new String[]{
+            "boolean",
+            "string",
+            "int",
+            "float"
+    };
+
+    private ConfigParser mConfigParser;
+
+    @Before
+    public void setup() throws IOException {
+        mConfigParser = new ConfigParser(SETTINGS);
+        clearDeviceConfig();
+    }
+
+    @After
+    public void tearDown() throws IOException {
+        clearDeviceConfig();
+    }
+
+    @Test
+    public void getBoolean_deviceConfig() {
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
+                "boolean",
+                "false",
+                false);
+        boolean value = mConfigParser.getBoolean("boolean", true);
+        assertThat(value).isFalse();
+    }
+
+    @Test
+    public void getBoolean_settings() {
+        boolean value = mConfigParser.getBoolean(
+                "boolean",
+                false);
+        assertThat(value).isTrue();
+    }
+
+    @Test
+    public void getInt_deviceConfig() {
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
+                "int",
+                "1",
+                false);
+        int value = mConfigParser.getInt("int", 0);
+        assertThat(value).isEqualTo(1);
+    }
+
+    @Test
+    public void getInt_settings() {
+        int value = mConfigParser.getInt("int", 0);
+        assertThat(value).isEqualTo(42);
+    }
+
+    @Test
+    public void getFloat_deviceConfig() {
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
+                "float",
+                "3.14",
+                false);
+        float value = mConfigParser.getFloat("float", 0);
+        assertThat(value).isWithin(0.0001f).of(3.14f);
+    }
+
+    @Test
+    public void getFloat_settings() {
+        float value = mConfigParser.getFloat("float", 0);
+        assertThat(value).isWithin(0.0001f).of(12.3f);
+    }
+
+    @Test
+    public void getString_deviceConfig() {
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_TEXTCLASSIFIER,
+                "string",
+                "hello",
+                false);
+        String value = mConfigParser.getString("string", "");
+        assertThat(value).isEqualTo("hello");
+    }
+
+    @Test
+    public void getString_settings() {
+        String value = mConfigParser.getString("string", "");
+        assertThat(value).isEqualTo("abc");
+    }
+
+    private static void clearDeviceConfig() throws IOException {
+        UiDevice uiDevice = UiDevice.getInstance(InstrumentationRegistry.getInstrumentation());
+        for (String key : DEVICE_CONFIG_KEYS) {
+            uiDevice.executeShellCommand(CLEAR_DEVICE_CONFIG_KEY_CMD + " " + key);
+        }
+    }
+}
diff --git a/core/tests/coretests/src/android/view/textclassifier/FakeContextBuilder.java b/core/tests/coretests/src/android/view/textclassifier/FakeContextBuilder.java
index fef6583..2674e37 100644
--- a/core/tests/coretests/src/android/view/textclassifier/FakeContextBuilder.java
+++ b/core/tests/coretests/src/android/view/textclassifier/FakeContextBuilder.java
@@ -44,8 +44,7 @@
 /**
  * A builder used to build a fake context for testing.
  */
-// TODO: Consider making public.
-final class FakeContextBuilder {
+public final class FakeContextBuilder {
 
     /**
      * A component name that can be used for tests.
@@ -57,7 +56,7 @@
     private final Map<String, ComponentName> mComponents = new HashMap<>();
     private @Nullable ComponentName mAllIntentComponent;
 
-    FakeContextBuilder() {
+    public FakeContextBuilder() {
         mPackageManager = mock(PackageManager.class);
         when(mPackageManager.resolveActivity(any(Intent.class), anyInt())).thenReturn(null);
         mContext = new ContextWrapper(InstrumentationRegistry.getTargetContext()) {
diff --git a/core/tests/coretests/src/android/view/textclassifier/TextClassificationConstantsTest.java b/core/tests/coretests/src/android/view/textclassifier/TextClassificationConstantsTest.java
index fe2a660..f6bb1bf 100644
--- a/core/tests/coretests/src/android/view/textclassifier/TextClassificationConstantsTest.java
+++ b/core/tests/coretests/src/android/view/textclassifier/TextClassificationConstantsTest.java
@@ -21,6 +21,7 @@
 import androidx.test.filters.SmallTest;
 import androidx.test.runner.AndroidJUnit4;
 
+import org.junit.Assert;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
@@ -48,7 +49,8 @@
                 + "entity_list_editable=date:datetime,"
                 + "in_app_conversation_action_types_default=text_reply,"
                 + "notification_conversation_action_types_default=send_email:call_phone,"
-                + "lang_id_threshold_override=0.3";
+                + "lang_id_threshold_override=0.3,"
+                + "lang_id_context_settings=10:1:0.5";
         final TextClassificationConstants constants =
                 TextClassificationConstants.loadFromString(s);
 
@@ -91,6 +93,8 @@
                 .containsExactly("send_email", "call_phone");
         assertWithMessage("lang_id_threshold_override")
                 .that(constants.getLangIdThresholdOverride()).isWithin(EPSILON).of(0.3f);
+        Assert.assertArrayEquals("lang_id_context_settings",
+                constants.getLangIdContextSettings(), new float[]{10, 1, 0.5f}, EPSILON);
     }
 
     @Test
@@ -111,7 +115,8 @@
                 + "entity_list_editable=flight,"
                 + "in_app_conversation_action_types_default=view_map:track_flight,"
                 + "notification_conversation_action_types_default=share_location,"
-                + "lang_id_threshold_override=2";
+                + "lang_id_threshold_override=2,"
+                + "lang_id_context_settings=30:0.5:0.3";
         final TextClassificationConstants constants =
                 TextClassificationConstants.loadFromString(s);
 
@@ -154,6 +159,8 @@
                 .containsExactly("share_location");
         assertWithMessage("lang_id_threshold_override")
                 .that(constants.getLangIdThresholdOverride()).isWithin(EPSILON).of(2f);
+        Assert.assertArrayEquals("lang_id_context_settings",
+                constants.getLangIdContextSettings(), new float[]{30, 0.5f, 0.3f}, EPSILON);
     }
 
     @Test
@@ -196,13 +203,15 @@
                 .that(constants.getInAppConversationActionTypes())
                 .containsExactly("text_reply", "create_reminder", "call_phone", "open_url",
                         "send_email", "send_sms", "track_flight", "view_calendar", "view_map",
-                        "add_contact");
+                        "add_contact", "copy");
         assertWithMessage("notification_conversation_action_types_default")
                 .that(constants.getNotificationConversationActionTypes())
                 .containsExactly("text_reply", "create_reminder", "call_phone", "open_url",
                         "send_email", "send_sms", "track_flight", "view_calendar", "view_map",
-                        "add_contact");
+                        "add_contact", "copy");
         assertWithMessage("lang_id_threshold_override")
                 .that(constants.getLangIdThresholdOverride()).isWithin(EPSILON).of(-1f);
+        Assert.assertArrayEquals("lang_id_context_settings",
+                constants.getLangIdContextSettings(), new float[]{20, 1, 0.4f}, EPSILON);
     }
 }
diff --git a/core/tests/coretests/src/android/view/textclassifier/TextClassifierTest.java b/core/tests/coretests/src/android/view/textclassifier/TextClassifierTest.java
index d2d03e5..8de5f13 100644
--- a/core/tests/coretests/src/android/view/textclassifier/TextClassifierTest.java
+++ b/core/tests/coretests/src/android/view/textclassifier/TextClassifierTest.java
@@ -24,6 +24,7 @@
 import android.app.RemoteAction;
 import android.content.Context;
 import android.content.Intent;
+import android.net.Uri;
 import android.os.Bundle;
 import android.os.LocaleList;
 import android.text.Spannable;
@@ -31,6 +32,9 @@
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import com.google.common.truth.Truth;
 
 import org.hamcrest.BaseMatcher;
 import org.hamcrest.Description;
@@ -38,7 +42,6 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.junit.runners.Parameterized;
 
 import java.util.Arrays;
 import java.util.Collections;
@@ -50,22 +53,10 @@
  * Tests are skipped if such a textclassifier does not exist.
  */
 @SmallTest
-@RunWith(Parameterized.class)
+@RunWith(AndroidJUnit4.class)
 public class TextClassifierTest {
-    private static final String LOCAL = "local";
-    private static final String SYSTEM = "system";
 
-    @Parameterized.Parameters(name = "{0}")
-    public static Iterable<Object> textClassifierTypes() {
-        return Arrays.asList(LOCAL);
-
-        // TODO: The following will fail on any device that specifies a no-op TextClassifierService.
-        // Enable when we can set a specified TextClassifierService for testing.
-        // return Arrays.asList(LOCAL, SYSTEM);
-    }
-
-    @Parameterized.Parameter
-    public String mTextClassifierType;
+    // TODO: Implement TextClassifierService testing.
 
     private static final TextClassificationConstants TC_CONSTANTS =
             TextClassificationConstants.loadFromString("");
@@ -80,8 +71,7 @@
     public void setup() {
         mContext = InstrumentationRegistry.getTargetContext();
         mTcm = mContext.getSystemService(TextClassificationManager.class);
-        mClassifier = mTcm.getTextClassifier(
-                mTextClassifierType.equals(LOCAL) ? TextClassifier.LOCAL : TextClassifier.SYSTEM);
+        mClassifier = mTcm.getTextClassifier(TextClassifier.LOCAL);
     }
 
     @Test
@@ -275,6 +265,8 @@
         assertEquals("ja", ExtrasUtils.getEntityType(foreignLanguageInfo));
         assertTrue(ExtrasUtils.getScore(foreignLanguageInfo) >= 0);
         assertTrue(ExtrasUtils.getScore(foreignLanguageInfo) <= 1);
+        assertTrue(intent.hasExtra(TextClassifier.EXTRA_FROM_TEXT_CLASSIFIER));
+        assertEquals("ja", ExtrasUtils.getTopLanguage(intent).getLanguage());
 
         LocaleList.setDefault(originalLocales);
     }
@@ -403,7 +395,6 @@
 
         ConversationActions conversationActions = mClassifier.suggestConversationActions(request);
         assertTrue(conversationActions.getConversationActions().size() > 0);
-        assertTrue(conversationActions.getConversationActions().size() == 1);
         for (ConversationAction conversationAction :
                 conversationActions.getConversationActions()) {
             assertThat(conversationAction,
@@ -438,6 +429,62 @@
         }
     }
 
+    @Test
+    public void testSuggestConversationActions_openUrl() {
+        if (isTextClassifierDisabled()) return;
+        ConversationActions.Message message =
+                new ConversationActions.Message.Builder(
+                        ConversationActions.Message.PERSON_USER_OTHERS)
+                        .setText("Check this out: https://www.android.com")
+                        .build();
+        TextClassifier.EntityConfig typeConfig =
+                new TextClassifier.EntityConfig.Builder().includeTypesFromTextClassifier(false)
+                        .setIncludedTypes(
+                                Collections.singletonList(ConversationAction.TYPE_OPEN_URL))
+                        .build();
+        ConversationActions.Request request =
+                new ConversationActions.Request.Builder(Collections.singletonList(message))
+                        .setMaxSuggestions(1)
+                        .setTypeConfig(typeConfig)
+                        .build();
+
+        ConversationActions conversationActions = mClassifier.suggestConversationActions(request);
+        Truth.assertThat(conversationActions.getConversationActions()).hasSize(1);
+        ConversationAction conversationAction = conversationActions.getConversationActions().get(0);
+        Truth.assertThat(conversationAction.getType()).isEqualTo(ConversationAction.TYPE_OPEN_URL);
+        Intent actionIntent = ExtrasUtils.getActionIntent(conversationAction.getExtras());
+        Truth.assertThat(actionIntent.getAction()).isEqualTo(Intent.ACTION_VIEW);
+        Truth.assertThat(actionIntent.getData()).isEqualTo(Uri.parse("https://www.android.com"));
+    }
+
+    @Test
+    public void testSuggestConversationActions_copy() {
+        if (isTextClassifierDisabled()) return;
+        ConversationActions.Message message =
+                new ConversationActions.Message.Builder(
+                        ConversationActions.Message.PERSON_USER_OTHERS)
+                        .setText("Authentication code: 12345")
+                        .build();
+        TextClassifier.EntityConfig typeConfig =
+                new TextClassifier.EntityConfig.Builder().includeTypesFromTextClassifier(false)
+                        .setIncludedTypes(
+                                Collections.singletonList(ConversationAction.TYPE_COPY))
+                        .build();
+        ConversationActions.Request request =
+                new ConversationActions.Request.Builder(Collections.singletonList(message))
+                        .setMaxSuggestions(1)
+                        .setTypeConfig(typeConfig)
+                        .build();
+
+        ConversationActions conversationActions = mClassifier.suggestConversationActions(request);
+        Truth.assertThat(conversationActions.getConversationActions()).hasSize(1);
+        ConversationAction conversationAction = conversationActions.getConversationActions().get(0);
+        Truth.assertThat(conversationAction.getType()).isEqualTo(ConversationAction.TYPE_COPY);
+        Truth.assertThat(conversationAction.getTextReply()).isAnyOf(null, "");
+        Truth.assertThat(conversationAction.getAction()).isNull();
+        String code = ExtrasUtils.getCopyText(conversationAction.getExtras());
+        Truth.assertThat(code).isEqualTo("12345");
+    }
 
     private boolean isTextClassifierDisabled() {
         return mClassifier == null || mClassifier == TextClassifier.NO_OP;
diff --git a/core/tests/coretests/src/android/view/textclassifier/TextClassifierUtilsTest.java b/core/tests/coretests/src/android/view/textclassifier/TextClassifierUtilsTest.java
new file mode 100644
index 0000000..011866d
--- /dev/null
+++ b/core/tests/coretests/src/android/view/textclassifier/TextClassifierUtilsTest.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 android.view.textclassifier;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.testng.Assert.assertThrows;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@SmallTest
+@RunWith(AndroidJUnit4.class)
+public class TextClassifierUtilsTest {
+
+    @Test
+    public void testGetSubString() {
+        final String text = "Yakuza call themselves 任侠団体";
+        int start;
+        int end;
+        int minimumLength;
+
+        // End index at end of text.
+        start = text.indexOf("任侠団体");
+        end = text.length();
+        minimumLength = 20;
+        assertThat(TextClassifier.Utils.getSubString(text, start, end, minimumLength))
+                .isEqualTo("call themselves 任侠団体");
+
+        // Start index at beginning of text.
+        start = 0;
+        end = "Yakuza".length();
+        minimumLength = 15;
+        assertThat(TextClassifier.Utils.getSubString(text, start, end, minimumLength))
+                .isEqualTo("Yakuza call themselves");
+
+        // Text in the middle
+        start = text.indexOf("all");
+        end = start + 1;
+        minimumLength = 10;
+        assertThat(TextClassifier.Utils.getSubString(text, start, end, minimumLength))
+                .isEqualTo("Yakuza call themselves");
+
+        // Selection >= minimumLength.
+        start = text.indexOf("themselves");
+        end = start + "themselves".length();
+        minimumLength = end - start;
+        assertThat(TextClassifier.Utils.getSubString(text, start, end, minimumLength))
+                .isEqualTo("themselves");
+
+        // text.length < minimumLength.
+        minimumLength = text.length() + 1;
+        assertThat(TextClassifier.Utils.getSubString(text, start, end, minimumLength))
+                .isEqualTo(text);
+    }
+
+    @Test
+    public void testGetSubString_invalidParams() {
+        final String text = "The Yoruba regard Olodumare as the principal agent of creation";
+        final int length = text.length();
+        final int minimumLength = 10;
+
+        // Null text
+        assertThrows(() -> TextClassifier.Utils.getSubString(null, 0, 1, minimumLength));
+        // start > end
+        assertThrows(() -> TextClassifier.Utils.getSubString(text, 6, 5, minimumLength));
+        // start < 0
+        assertThrows(() -> TextClassifier.Utils.getSubString(text, -1, 5, minimumLength));
+        // end > text.length
+        assertThrows(() -> TextClassifier.Utils.getSubString(text, 6, length + 1, minimumLength));
+    }
+}
diff --git a/core/tests/coretests/src/android/view/textclassifier/LabeledIntentTest.java b/core/tests/coretests/src/android/view/textclassifier/intent/LabeledIntentTest.java
similarity index 73%
rename from core/tests/coretests/src/android/view/textclassifier/LabeledIntentTest.java
rename to core/tests/coretests/src/android/view/textclassifier/intent/LabeledIntentTest.java
index e4e9cde..857408f 100644
--- a/core/tests/coretests/src/android/view/textclassifier/LabeledIntentTest.java
+++ b/core/tests/coretests/src/android/view/textclassifier/intent/LabeledIntentTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package android.view.textclassifier;
+package android.view.textclassifier.intent;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -23,8 +23,10 @@
 import android.content.Context;
 import android.content.Intent;
 import android.net.Uri;
+import android.os.Bundle;
+import android.view.textclassifier.FakeContextBuilder;
+import android.view.textclassifier.TextClassifier;
 
-import androidx.test.InstrumentationRegistry;
 import androidx.test.filters.SmallTest;
 import androidx.test.runner.AndroidJUnit4;
 
@@ -41,11 +43,15 @@
     private static final Intent INTENT =
             new Intent(Intent.ACTION_VIEW).setDataAndNormalize(Uri.parse("http://www.android.com"));
     private static final int REQUEST_CODE = 42;
+    private static final Bundle TEXT_LANGUAGES_BUNDLE = Bundle.EMPTY;
+
     private Context mContext;
 
     @Before
     public void setup() {
-        mContext = InstrumentationRegistry.getTargetContext();
+        mContext = new FakeContextBuilder()
+                .setIntentComponent(Intent.ACTION_VIEW, FakeContextBuilder.DEFAULT_COMPONENT)
+                .build();
     }
 
     @Test
@@ -58,8 +64,8 @@
                 REQUEST_CODE
         );
 
-        LabeledIntent.Result result =
-                labeledIntent.resolve(mContext, /*titleChooser*/ null);
+        LabeledIntent.Result result = labeledIntent.resolve(
+                mContext, /*titleChooser*/ null, TEXT_LANGUAGES_BUNDLE);
 
         assertThat(result).isNotNull();
         assertThat(result.remoteAction.getTitle()).isEqualTo(TITLE_WITH_ENTITY);
@@ -67,6 +73,7 @@
         Intent intent = result.resolvedIntent;
         assertThat(intent.getAction()).isEqualTo(intent.getAction());
         assertThat(intent.getComponent()).isNotNull();
+        assertThat(intent.hasExtra(TextClassifier.EXTRA_FROM_TEXT_CLASSIFIER)).isTrue();
     }
 
     @Test
@@ -79,8 +86,8 @@
                 REQUEST_CODE
         );
 
-        LabeledIntent.Result result =
-                labeledIntent.resolve(mContext, /*titleChooser*/ null);
+        LabeledIntent.Result result = labeledIntent.resolve(
+                mContext, /*titleChooser*/ null, TEXT_LANGUAGES_BUNDLE);
 
         assertThat(result).isNotNull();
         assertThat(result.remoteAction.getTitle()).isEqualTo(TITLE_WITHOUT_ENTITY);
@@ -100,8 +107,8 @@
                 REQUEST_CODE
         );
 
-        LabeledIntent.Result result =
-                labeledIntent.resolve(mContext, (labeledIntent1, resolveInfo) -> "chooser");
+        LabeledIntent.Result result = labeledIntent.resolve(
+                mContext, (labeledIntent1, resolveInfo) -> "chooser", TEXT_LANGUAGES_BUNDLE);
 
         assertThat(result).isNotNull();
         assertThat(result.remoteAction.getTitle()).isEqualTo("chooser");
@@ -121,8 +128,8 @@
                 REQUEST_CODE
         );
 
-        LabeledIntent.Result result =
-                labeledIntent.resolve(mContext, (labeledIntent1, resolveInfo) -> null);
+        LabeledIntent.Result result = labeledIntent.resolve(
+                mContext, (labeledIntent1, resolveInfo) -> null, TEXT_LANGUAGES_BUNDLE);
 
         assertThat(result).isNotNull();
         assertThat(result.remoteAction.getTitle()).isEqualTo(TITLE_WITHOUT_ENTITY);
@@ -132,7 +139,6 @@
         assertThat(intent.getComponent()).isNotNull();
     }
 
-
     @Test
     public void resolve_missingTitle() {
         assertThrows(
@@ -146,4 +152,20 @@
                                 REQUEST_CODE
                         ));
     }
+
+    @Test
+    public void resolve_noIntentHandler() {
+        // See setup(). mContext can only resolve Intent.ACTION_VIEW.
+        Intent unresolvableIntent = new Intent(Intent.ACTION_TRANSLATE);
+        LabeledIntent labeledIntent = new LabeledIntent(
+                TITLE_WITHOUT_ENTITY,
+                null,
+                DESCRIPTION,
+                unresolvableIntent,
+                REQUEST_CODE);
+
+        LabeledIntent.Result result = labeledIntent.resolve(mContext, null, null);
+
+        assertThat(result).isNull();
+    }
 }
diff --git a/core/tests/coretests/src/android/view/textclassifier/LegacyIntentFactoryTest.java b/core/tests/coretests/src/android/view/textclassifier/intent/LegacyIntentClassificationFactoryTest.java
similarity index 83%
rename from core/tests/coretests/src/android/view/textclassifier/LegacyIntentFactoryTest.java
rename to core/tests/coretests/src/android/view/textclassifier/intent/LegacyIntentClassificationFactoryTest.java
index 743818c..19e5b0a 100644
--- a/core/tests/coretests/src/android/view/textclassifier/LegacyIntentFactoryTest.java
+++ b/core/tests/coretests/src/android/view/textclassifier/intent/LegacyIntentClassificationFactoryTest.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2018 The Android Open Source Project
+ * 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.
@@ -14,11 +14,12 @@
  * limitations under the License.
  */
 
-package android.view.textclassifier;
+package android.view.textclassifier.intent;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import android.content.Intent;
+import android.view.textclassifier.TextClassifier;
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.filters.SmallTest;
@@ -34,15 +35,15 @@
 
 @SmallTest
 @RunWith(AndroidJUnit4.class)
-public class LegacyIntentFactoryTest {
+public class LegacyIntentClassificationFactoryTest {
 
     private static final String TEXT = "text";
 
-    private LegacyIntentFactory mLegacyIntentFactory;
+    private LegacyClassificationIntentFactory mLegacyIntentClassificationFactory;
 
     @Before
     public void setup() {
-        mLegacyIntentFactory = new LegacyIntentFactory();
+        mLegacyIntentClassificationFactory = new LegacyClassificationIntentFactory();
     }
 
     @Test
@@ -61,9 +62,10 @@
                         null,
                         null,
                         null,
+                        null,
                         null);
 
-        List<LabeledIntent> intents = mLegacyIntentFactory.create(
+        List<LabeledIntent> intents = mLegacyIntentClassificationFactory.create(
                 InstrumentationRegistry.getContext(),
                 TEXT,
                 /* foreignText */ false,
@@ -75,8 +77,6 @@
         Intent intent = labeledIntent.intent;
         assertThat(intent.getAction()).isEqualTo(Intent.ACTION_DEFINE);
         assertThat(intent.getStringExtra(Intent.EXTRA_TEXT)).isEqualTo(TEXT);
-        assertThat(
-                intent.getBooleanExtra(TextClassifier.EXTRA_FROM_TEXT_CLASSIFIER, false)).isTrue();
     }
 
     @Test
@@ -95,9 +95,10 @@
                         null,
                         null,
                         null,
+                        null,
                         null);
 
-        List<LabeledIntent> intents = mLegacyIntentFactory.create(
+        List<LabeledIntent> intents = mLegacyIntentClassificationFactory.create(
                 InstrumentationRegistry.getContext(),
                 TEXT,
                 /* foreignText */ true,
diff --git a/core/tests/coretests/src/android/view/textclassifier/TemplateClassificationIntentFactoryTest.java b/core/tests/coretests/src/android/view/textclassifier/intent/TemplateClassificationIntentFactoryTest.java
similarity index 66%
rename from core/tests/coretests/src/android/view/textclassifier/TemplateClassificationIntentFactoryTest.java
rename to core/tests/coretests/src/android/view/textclassifier/intent/TemplateClassificationIntentFactoryTest.java
index 9fd9e8e..eaef0a0 100644
--- a/core/tests/coretests/src/android/view/textclassifier/TemplateClassificationIntentFactoryTest.java
+++ b/core/tests/coretests/src/android/view/textclassifier/intent/TemplateClassificationIntentFactoryTest.java
@@ -14,11 +14,19 @@
  * limitations under the License.
  */
 
-package android.view.textclassifier;
+package android.view.textclassifier.intent;
 
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.ArgumentMatchers.same;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
 import android.content.Intent;
+import android.view.textclassifier.TextClassifier;
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.filters.SmallTest;
@@ -45,7 +53,7 @@
     private static final String ACTION = Intent.ACTION_VIEW;
 
     @Mock
-    private IntentFactory mFallback;
+    private ClassificationIntentFactory mFallback;
     private TemplateClassificationIntentFactory mTemplateClassificationIntentFactory;
 
     @Before
@@ -72,6 +80,7 @@
                         null,
                         null,
                         null,
+                        null,
                         createRemoteActionTemplates());
 
         List<LabeledIntent> intents =
@@ -87,12 +96,10 @@
         assertThat(labeledIntent.titleWithoutEntity).isEqualTo(TITLE_WITHOUT_ENTITY);
         Intent intent = labeledIntent.intent;
         assertThat(intent.getAction()).isEqualTo(ACTION);
-        assertThat(intent.hasExtra(TextClassifier.EXTRA_FROM_TEXT_CLASSIFIER)).isTrue();
 
         labeledIntent = intents.get(1);
         intent = labeledIntent.intent;
         assertThat(intent.getAction()).isEqualTo(Intent.ACTION_TRANSLATE);
-        assertThat(intent.hasExtra(TextClassifier.EXTRA_FROM_TEXT_CLASSIFIER)).isTrue();
     }
 
     @Test
@@ -111,6 +118,7 @@
                         null,
                         null,
                         null,
+                        null,
                         createRemoteActionTemplates());
 
         List<LabeledIntent> intents =
@@ -126,9 +134,73 @@
         assertThat(labeledIntent.titleWithoutEntity).isEqualTo(TITLE_WITHOUT_ENTITY);
         Intent intent = labeledIntent.intent;
         assertThat(intent.getAction()).isEqualTo(ACTION);
-        assertThat(intent.hasExtra(TextClassifier.EXTRA_FROM_TEXT_CLASSIFIER)).isTrue();
     }
 
+    @Test
+    public void create_nullTemplate() {
+        AnnotatorModel.ClassificationResult classificationResult =
+                new AnnotatorModel.ClassificationResult(
+                        TextClassifier.TYPE_ADDRESS,
+                        1.0f,
+                        null,
+                        null,
+                        null,
+                        null,
+                        null,
+                        null,
+                        null,
+                        null,
+                        null,
+                        null,
+                        null,
+                        null);
+
+        mTemplateClassificationIntentFactory.create(
+                InstrumentationRegistry.getContext(),
+                TEXT,
+                /* foreignText */ false,
+                null,
+                classificationResult);
+
+
+        verify(mFallback).create(
+                same(InstrumentationRegistry.getContext()), eq(TEXT), eq(false), eq(null),
+                same(classificationResult));
+    }
+
+    @Test
+    public void create_emptyResult() {
+        AnnotatorModel.ClassificationResult classificationResult =
+                new AnnotatorModel.ClassificationResult(
+                        TextClassifier.TYPE_ADDRESS,
+                        1.0f,
+                        null,
+                        null,
+                        null,
+                        null,
+                        null,
+                        null,
+                        null,
+                        null,
+                        null,
+                        null,
+                        null,
+                        new RemoteActionTemplate[0]);
+
+        mTemplateClassificationIntentFactory.create(
+                InstrumentationRegistry.getContext(),
+                TEXT,
+                /* foreignText */ false,
+                null,
+                classificationResult);
+
+
+        verify(mFallback, never()).create(
+                any(Context.class), eq(TEXT), eq(false), eq(null),
+                any(AnnotatorModel.ClassificationResult.class));
+    }
+
+
     private static RemoteActionTemplate[] createRemoteActionTemplates() {
         return new RemoteActionTemplate[]{
                 new RemoteActionTemplate(
diff --git a/core/tests/coretests/src/android/view/textclassifier/TemplateIntentFactoryTest.java b/core/tests/coretests/src/android/view/textclassifier/intent/TemplateIntentFactoryTest.java
similarity index 97%
rename from core/tests/coretests/src/android/view/textclassifier/TemplateIntentFactoryTest.java
rename to core/tests/coretests/src/android/view/textclassifier/intent/TemplateIntentFactoryTest.java
index 1860734..6e3de2d 100644
--- a/core/tests/coretests/src/android/view/textclassifier/TemplateIntentFactoryTest.java
+++ b/core/tests/coretests/src/android/view/textclassifier/intent/TemplateIntentFactoryTest.java
@@ -13,7 +13,7 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
-package android.view.textclassifier;
+package android.view.textclassifier.intent;
 
 import static com.google.common.truth.Truth.assertThat;
 
@@ -101,7 +101,6 @@
         assertThat(intent.getPackage()).isNull();
         assertThat(intent.getStringExtra(KEY_ONE)).isEqualTo(VALUE_ONE);
         assertThat(intent.getIntExtra(KEY_TWO, 0)).isEqualTo(VALUE_TWO);
-        assertThat(intent.hasExtra(TextClassifier.EXTRA_FROM_TEXT_CLASSIFIER)).isTrue();
     }
 
     @Test
@@ -160,7 +159,6 @@
         assertThat(intent.getFlags()).isEqualTo(0);
         assertThat(intent.getCategories()).isNull();
         assertThat(intent.getPackage()).isNull();
-        assertThat(intent.hasExtra(TextClassifier.EXTRA_FROM_TEXT_CLASSIFIER)).isTrue();
     }
 
     @Test
diff --git a/core/tests/coretests/src/android/widget/TextViewTest.java b/core/tests/coretests/src/android/widget/TextViewTest.java
index 585360f..0617caf 100644
--- a/core/tests/coretests/src/android/widget/TextViewTest.java
+++ b/core/tests/coretests/src/android/widget/TextViewTest.java
@@ -209,7 +209,8 @@
         int lineCount = layout.getLineCount();
         boolean hyphenationHappend = false;
         for (int i = 0; i < lineCount; ++i) {
-            if (layout.getHyphen(i) == 0) {
+            if (layout.getStartHyphenEdit(i) == Paint.START_HYPHEN_EDIT_NO_EDIT
+                    && layout.getEndHyphenEdit(i) == Paint.END_HYPHEN_EDIT_NO_EDIT) {
                 continue;  // Hyphantion does not happen.
             }
             hyphenationHappend = true;
diff --git a/core/tests/coretests/src/com/android/internal/app/ChooserActivityTest.java b/core/tests/coretests/src/com/android/internal/app/ChooserActivityTest.java
index 9fbc166..185fa07 100644
--- a/core/tests/coretests/src/com/android/internal/app/ChooserActivityTest.java
+++ b/core/tests/coretests/src/com/android/internal/app/ChooserActivityTest.java
@@ -97,9 +97,12 @@
         when(sOverrides.resolverListController.getResolversForIntent(Mockito.anyBoolean(),
                 Mockito.anyBoolean(),
                 Mockito.isA(List.class))).thenReturn(resolvedComponentInfos);
-        mActivityRule.launchActivity(Intent.createChooser(viewIntent, "chooser test"));
+        final ChooserWrapperActivity activity = mActivityRule.launchActivity(
+                Intent.createChooser(viewIntent, "chooser test"));
 
         waitForIdle();
+        assertThat(activity.getAdapter().getCount(), is(2));
+        assertThat(activity.getAdapter().getServiceTargetCount(), is(0));
         onView(withId(R.id.title)).check(matches(withText("chooser test")));
     }
 
@@ -596,7 +599,7 @@
 
         mActivityRule.launchActivity(Intent.createChooser(sendIntent, null));
         waitForIdle();
-        verify(mockLogger, Mockito.times(3)).write(logMakerCaptor.capture());
+        verify(mockLogger, Mockito.times(2)).write(logMakerCaptor.capture());
         // First invocation is from onCreate
         assertThat(logMakerCaptor.getAllValues().get(1).getCategory(),
                 is(MetricsEvent.ACTION_SHARE_WITH_PREVIEW));
@@ -626,16 +629,12 @@
         ArgumentCaptor<LogMaker> logMakerCaptor = ArgumentCaptor.forClass(LogMaker.class);
         mActivityRule.launchActivity(Intent.createChooser(sendIntent, null));
         waitForIdle();
-        verify(mockLogger, Mockito.times(3)).write(logMakerCaptor.capture());
+        verify(mockLogger, Mockito.times(2)).write(logMakerCaptor.capture());
         // First invocation is from onCreate
         assertThat(logMakerCaptor.getAllValues().get(1).getCategory(),
                 is(MetricsEvent.ACTION_SHARE_WITH_PREVIEW));
         assertThat(logMakerCaptor.getAllValues().get(1).getSubtype(),
                 is(CONTENT_PREVIEW_IMAGE));
-        assertThat(logMakerCaptor.getAllValues().get(2).getCategory(),
-                is(MetricsEvent.ACTION_SHARE_WITH_PREVIEW));
-        assertThat(logMakerCaptor.getAllValues().get(2).getSubtype(),
-                is(CONTENT_PREVIEW_IMAGE));
     }
 
     @Test
@@ -740,6 +739,7 @@
         Intent sendIntent = new Intent();
         sendIntent.setAction(Intent.ACTION_SEND);
         sendIntent.putExtra(Intent.EXTRA_TEXT, "testing intent sending");
+        sendIntent.setType("text/plain");
         return sendIntent;
     }
 
diff --git a/core/tests/coretests/src/com/android/internal/app/ChooserWrapperActivity.java b/core/tests/coretests/src/com/android/internal/app/ChooserWrapperActivity.java
index a8dd69a..5e71129 100644
--- a/core/tests/coretests/src/com/android/internal/app/ChooserWrapperActivity.java
+++ b/core/tests/coretests/src/com/android/internal/app/ChooserWrapperActivity.java
@@ -39,8 +39,8 @@
     static final OverrideData sOverrides = new OverrideData();
     private UsageStatsManager mUsm;
 
-    ResolveListAdapter getAdapter() {
-        return mAdapter;
+    ChooserListAdapter getAdapter() {
+        return (ChooserListAdapter) mAdapter;
     }
 
     boolean getIsSelected() { return mIsSuccessfullySelected; }
diff --git a/core/tests/coretests/src/com/android/internal/infra/WhitelistHelperTest.java b/core/tests/coretests/src/com/android/internal/infra/WhitelistHelperTest.java
new file mode 100644
index 0000000..ab6830b
--- /dev/null
+++ b/core/tests/coretests/src/com/android/internal/infra/WhitelistHelperTest.java
@@ -0,0 +1,138 @@
+/*
+ * 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.internal.infra;
+
+import static com.google.common.truth.Truth.assertThat;
+
+import static org.testng.Assert.assertThrows;
+
+import android.content.ComponentName;
+import android.util.ArraySet;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.junit.MockitoJUnitRunner;
+
+/**
+ * Unit test for {@link WhitelistHelper}.
+ *
+ * <p>To run it:
+ * {@code atest FrameworksCoreTests:com.android.internal.infra.WhitelistHelperTest}
+ */
+
+@RunWith(MockitoJUnitRunner.class)
+public class WhitelistHelperTest {
+    private WhitelistHelper mWhitelistHelper = new WhitelistHelper();
+
+    private String mPackage1 = "com.example";
+    private String mPackage2 = "com.example2";
+
+    private ComponentName mComponent1 = new ComponentName(mPackage1, "class1");
+    private ComponentName mComponent2 = new ComponentName(mPackage1, "class2");
+    private ComponentName mComponentDifferentPkg = new ComponentName(mPackage2, "class3");
+
+    @Test
+    public void testSetWhitelist_emptyArguments() {
+        assertThrows(IllegalArgumentException.class,
+                () -> mWhitelistHelper.setWhitelist(new ArraySet<>(), null));
+        assertThrows(IllegalArgumentException.class,
+                () -> mWhitelistHelper.setWhitelist(null, new ArraySet<>()));
+        assertThrows(IllegalArgumentException.class,
+                () -> mWhitelistHelper.setWhitelist(new ArraySet<>(), new ArraySet<>()));
+    }
+
+    @Test
+    public void testWhitelistHelper_nullArguments() {
+        assertThrows(NullPointerException.class,
+                () -> mWhitelistHelper.isWhitelisted((String) null));
+        assertThrows(NullPointerException.class,
+                () -> mWhitelistHelper.isWhitelisted((ComponentName) null));
+        assertThrows(NullPointerException.class,
+                () -> mWhitelistHelper.getWhitelistedComponents(null));
+    }
+
+    @Test
+    public void testSetWhitelist_nullPackage() {
+        final ArraySet<String> packages = new ArraySet<>();
+        packages.add(null);
+        mWhitelistHelper.setWhitelist(packages, null);
+
+        assertThat(mWhitelistHelper.isWhitelisted(mPackage1)).isFalse();
+        assertThat(mWhitelistHelper.isWhitelisted(mPackage2)).isFalse();
+
+        assertThat(mWhitelistHelper.isWhitelisted(mComponent1)).isFalse();
+        assertThat(mWhitelistHelper.isWhitelisted(mComponent2)).isFalse();
+        assertThat(mWhitelistHelper.isWhitelisted(mComponentDifferentPkg)).isFalse();
+    }
+
+    @Test
+    public void testSetWhitelist_nullActivity() {
+        final ArraySet<ComponentName> components = new ArraySet<>();
+        components.add(null);
+        mWhitelistHelper.setWhitelist(null, components);
+
+        assertThat(mWhitelistHelper.isWhitelisted(mPackage1)).isFalse();
+        assertThat(mWhitelistHelper.isWhitelisted(mPackage2)).isFalse();
+
+        assertThat(mWhitelistHelper.isWhitelisted(mComponent1)).isFalse();
+        assertThat(mWhitelistHelper.isWhitelisted(mComponent2)).isFalse();
+        assertThat(mWhitelistHelper.isWhitelisted(mComponentDifferentPkg)).isFalse();
+    }
+
+    @Test
+    public void testSetWhitelist_replaceWhitelist() {
+        final ArraySet<ComponentName> components = new ArraySet<>();
+        components.add(mComponent1);
+        mWhitelistHelper.setWhitelist(null, components);
+        assertThat(mWhitelistHelper.isWhitelisted(mComponent1)).isTrue();
+        assertThat(mWhitelistHelper.isWhitelisted(mComponent2)).isFalse();
+
+        final ArraySet<ComponentName> components2 = new ArraySet<>();
+        components2.add(mComponent2);
+        mWhitelistHelper.setWhitelist(null, components2);
+        assertThat(mWhitelistHelper.isWhitelisted(mComponent1)).isFalse();
+        assertThat(mWhitelistHelper.isWhitelisted(mComponent2)).isTrue();
+    }
+
+    @Test
+    public void testIsWhitelisted_packageWhitelisted() {
+        final ArraySet<String> packages = new ArraySet<>();
+        packages.add(mPackage1);
+        mWhitelistHelper.setWhitelist(packages, null);
+
+        assertThat(mWhitelistHelper.isWhitelisted(mPackage1)).isTrue();
+        assertThat(mWhitelistHelper.isWhitelisted(mPackage2)).isFalse();
+
+        assertThat(mWhitelistHelper.isWhitelisted(mComponent1)).isTrue();
+        assertThat(mWhitelistHelper.isWhitelisted(mComponent2)).isTrue();
+        assertThat(mWhitelistHelper.isWhitelisted(mComponentDifferentPkg)).isFalse();
+    }
+
+    @Test
+    public void testIsWhitelisted_activityWhitelisted() {
+        final ArraySet<ComponentName> components = new ArraySet<>();
+        components.add(mComponent1);
+        mWhitelistHelper.setWhitelist(null, components);
+
+        assertThat(mWhitelistHelper.isWhitelisted(mPackage1)).isFalse();
+        assertThat(mWhitelistHelper.isWhitelisted(mPackage2)).isFalse();
+
+        assertThat(mWhitelistHelper.isWhitelisted(mComponent1)).isTrue();
+        assertThat(mWhitelistHelper.isWhitelisted(mComponent2)).isFalse();
+        assertThat(mWhitelistHelper.isWhitelisted(mComponentDifferentPkg)).isFalse();
+    }
+}
diff --git a/core/tests/coretests/src/com/android/internal/os/BinderCallsStatsTest.java b/core/tests/coretests/src/com/android/internal/os/BinderCallsStatsTest.java
index e375af3..eb9c7b6 100644
--- a/core/tests/coretests/src/com/android/internal/os/BinderCallsStatsTest.java
+++ b/core/tests/coretests/src/com/android/internal/os/BinderCallsStatsTest.java
@@ -642,8 +642,9 @@
         long startTime = SystemClock.elapsedRealtime();
         TestBinderCallsStats bcs = new TestBinderCallsStats();
         bcs.setAddDebugEntries(true);
+        bcs.setSamplingInterval(10);
         ArrayList<BinderCallsStats.ExportedCallStat> callStats = bcs.getExportedCallStats();
-        assertEquals(3, callStats.size());
+        assertEquals(4, callStats.size());
         BinderCallsStats.ExportedCallStat debugEntry1 = callStats.get(0);
         assertEquals("", debugEntry1.className);
         assertEquals("__DEBUG_start_time_millis", debugEntry1.methodName);
@@ -656,6 +657,9 @@
         assertEquals("", debugEntry3.className);
         assertEquals("__DEBUG_battery_time_millis", debugEntry3.methodName);
         assertTrue(debugEntry3.latencyMicros >= 0);
+        BinderCallsStats.ExportedCallStat debugEntry4 = callStats.get(3);
+        assertEquals("__DEBUG_sampling_interval", debugEntry4.methodName);
+        assertEquals(10, debugEntry4.latencyMicros);
     }
 
     @Test
@@ -718,6 +722,36 @@
         assertEquals(2, callStats.recordedCallCount);
     }
 
+    @Test
+    public void testTrackScreenInteractiveDisabled_sampling() {
+        TestBinderCallsStats bcs = new TestBinderCallsStats();
+        bcs.setSamplingInterval(2);
+        bcs.setTrackScreenInteractive(false);
+        Binder binder = new Binder();
+
+        mDeviceState.setScreenInteractive(false);
+        CallSession callSession = bcs.callStarted(binder, 1, WORKSOURCE_UID);
+        bcs.time += 10;
+        bcs.callEnded(callSession, REQUEST_SIZE, REPLY_SIZE, WORKSOURCE_UID);
+
+        mDeviceState.setScreenInteractive(true);
+        callSession = bcs.callStarted(binder, 1, WORKSOURCE_UID);
+        bcs.time += 1000;  // shoud be ignored.
+        bcs.callEnded(callSession, REQUEST_SIZE, REPLY_SIZE, WORKSOURCE_UID);
+
+        SparseArray<BinderCallsStats.UidEntry> uidEntries = bcs.getUidEntries();
+        assertEquals(1, uidEntries.size());
+        BinderCallsStats.UidEntry uidEntry = uidEntries.get(WORKSOURCE_UID);
+        Assert.assertNotNull(uidEntry);
+        assertEquals(2, uidEntry.callCount);
+
+        List<BinderCallsStats.CallStat> callStatsList = new ArrayList(uidEntry.getCallStatsList());
+        assertEquals(1, callStatsList.size());
+        BinderCallsStats.CallStat callStats = callStatsList.get(0);
+        assertEquals(false, callStats.screenInteractive);
+        assertEquals(2, callStats.callCount);
+        assertEquals(1, callStats.recordedCallCount);
+    }
 
     class TestBinderCallsStats extends BinderCallsStats {
         public int callingUid = CALLING_UID;
diff --git a/core/tests/coretests/src/com/android/internal/os/LooperStatsTest.java b/core/tests/coretests/src/com/android/internal/os/LooperStatsTest.java
index 3edf5f8..7917a06 100644
--- a/core/tests/coretests/src/com/android/internal/os/LooperStatsTest.java
+++ b/core/tests/coretests/src/com/android/internal/os/LooperStatsTest.java
@@ -452,6 +452,7 @@
     public void testAddsDebugEntries() {
         TestableLooperStats looperStats = new TestableLooperStats(1, 100);
         looperStats.setAddDebugEntries(true);
+        looperStats.setSamplingInterval(10);
 
         Message message = mHandlerFirst.obtainMessage(1000);
         message.when = looperStats.getSystemUptimeMillis();
@@ -459,7 +460,7 @@
         looperStats.messageDispatched(token, message);
 
         List<LooperStats.ExportedEntry> entries = looperStats.getEntries();
-        assertThat(entries).hasSize(4);
+        assertThat(entries).hasSize(5);
         LooperStats.ExportedEntry debugEntry1 = entries.get(1);
         assertThat(debugEntry1.handlerClassName).isEqualTo("");
         assertThat(debugEntry1.messageName).isEqualTo("__DEBUG_start_time_millis");
@@ -474,6 +475,9 @@
         assertThat(debugEntry3.handlerClassName).isEqualTo("");
         assertThat(debugEntry3.messageName).isEqualTo("__DEBUG_battery_time_millis");
         assertThat(debugEntry3.totalLatencyMicros).isAtLeast(0L);
+        LooperStats.ExportedEntry debugEntry4 = entries.get(4);
+        assertThat(debugEntry4.messageName).isEqualTo("__DEBUG_sampling_interval");
+        assertThat(debugEntry4.totalLatencyMicros).isEqualTo(10L);
     }
 
     @Test
diff --git a/core/xsd/Android.bp b/core/xsd/Android.bp
new file mode 100644
index 0000000..81669eb
--- /dev/null
+++ b/core/xsd/Android.bp
@@ -0,0 +1,6 @@
+xsd_config {
+    name: "permission",
+    srcs: ["permission.xsd"],
+    api_dir: "schema",
+    package_name: "com.android.xml.permission",
+}
diff --git a/core/xsd/permission.xsd b/core/xsd/permission.xsd
new file mode 100644
index 0000000..d90863b
--- /dev/null
+++ b/core/xsd/permission.xsd
@@ -0,0 +1,166 @@
+<?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.
+-->
+<!-- TODO: define a targetNamespace. Note that it will break retrocompatibility -->
+<xs:schema version="2.0"
+           elementFormDefault="qualified"
+           attributeFormDefault="unqualified"
+           xmlns:xs="http://www.w3.org/2001/XMLSchema">
+    <xs:element name="permissions">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="group" type="group" maxOccurs="unbounded"/>
+                <xs:element name="permission" type="permission" maxOccurs="unbounded"/>
+                <xs:element name="assign-permission" type="assign-permission" maxOccurs="unbounded"/>
+                <xs:element name="split-permission" type="split-permission" maxOccurs="unbounded"/>
+                <xs:element name="library" type="library" maxOccurs="unbounded"/>
+                <xs:element name="feature" type="feature" maxOccurs="unbounded"/>
+                <xs:element name="unavailable-feature" type="unavailable-feature" maxOccurs="unbounded"/>
+                <xs:element name="allow-in-power-save-except-idle" type="allow-in-power-save-except-idle" maxOccurs="unbounded"/>
+                <xs:element name="allow-in-power-save" type="allow-in-power-save" maxOccurs="unbounded"/>
+                <xs:element name="allow-in-data-usage-save" type="allow-in-data-usage-save" maxOccurs="unbounded"/>
+                <xs:element name="allow-unthrottled-location" type="allow-unthrottled-location" maxOccurs="unbounded"/>
+                <xs:element name="allow-ignore-location-settings" type="allow-ignore-location-settings" maxOccurs="unbounded"/>
+                <xs:element name="allow-implicit-broadcast" type="allow-implicit-broadcast" maxOccurs="unbounded"/>
+                <xs:element name="app-link" type="app-link" maxOccurs="unbounded"/>
+                <xs:element name="system-user-whitelisted-app" type="system-user-whitelisted-app" maxOccurs="unbounded"/>
+                <xs:element name="system-user-blacklisted-app" type="system-user-blacklisted-app" maxOccurs="unbounded"/>
+                <xs:element name="default-enabled-vr-app" type="default-enabled-vr-app" maxOccurs="unbounded"/>
+                <xs:element name="backup-transport-whitelisted-service" type="backup-transport-whitelisted-service" maxOccurs="unbounded"/>
+                <xs:element name="disabled-until-used-preinstalled-carrier-associated-app" type="disabled-until-used-preinstalled-carrier-associated-app" maxOccurs="unbounded"/>
+                <xs:element name="disabled-until-used-preinstalled-carrier-app" type="disabled-until-used-preinstalled-carrier-app" maxOccurs="unbounded"/>
+                <xs:element name="privapp-permissions" type="privapp-permissions" maxOccurs="unbounded"/>
+                <xs:element name="oem-permissions" type="oem-permissions" maxOccurs="unbounded"/>
+                <xs:element name="hidden-api-whitelisted-app" type="hidden-api-whitelisted-app" maxOccurs="unbounded"/>
+                <xs:element name="allow-association" type="allow-association" maxOccurs="unbounded"/>
+                <xs:element name="bugreport-whitelisted" type="bugreport-whitelisted" maxOccurs="unbounded"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:complexType name="group">
+        <xs:attribute name="gid" type="xs:int"/>
+    </xs:complexType>
+    <xs:complexType name="permission">
+        <xs:attribute name="name" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="assign-permission">
+        <xs:attribute name="name" type="xs:string"/>
+        <xs:attribute name="uid" type="xs:int"/>
+    </xs:complexType>
+    <xs:complexType name="split-permission">
+        <xs:attribute name="name" type="xs:string"/>
+        <xs:attribute name="targetSdk" type="xs:int"/>
+        <xs:sequence>
+            <xs:element name="library" maxOccurs="unbounded">
+                <xs:complexType>
+                    <xs:attribute name="name" type="xs:string"/>
+                </xs:complexType>
+            </xs:element>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="library">
+        <xs:attribute name="name" type="xs:string"/>
+        <xs:attribute name="file" type="xs:string"/>
+        <xs:attribute name="dependency" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="feature">
+        <xs:attribute name="name" type="xs:string"/>
+        <xs:attribute name="notLowRam" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="unavailable-feature">
+        <xs:attribute name="name" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="allow-in-power-save-except-idle">
+        <xs:attribute name="package" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="allow-in-power-save">
+        <xs:attribute name="package" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="allow-in-data-usage-save">
+        <xs:attribute name="package" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="allow-unthrottled-location">
+        <xs:attribute name="package" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="allow-ignore-location-settings">
+        <xs:attribute name="package" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="allow-implicit-broadcast">
+        <xs:attribute name="action" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="app-link">
+        <xs:attribute name="package" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="system-user-whitelisted-app">
+        <xs:attribute name="package" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="system-user-blacklisted-app">
+        <xs:attribute name="package" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="default-enabled-vr-app">
+        <xs:attribute name="package" type="xs:string"/>
+        <xs:attribute name="class" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="backup-transport-whitelisted-service">
+        <xs:attribute name="service" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="disabled-until-used-preinstalled-carrier-associated-app">
+        <xs:attribute name="package" type="xs:string"/>
+        <xs:attribute name="carrierAppPackage" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="disabled-until-used-preinstalled-carrier-app">
+        <xs:attribute name="package" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="privapp-permissions">
+        <xs:attribute name="package" type="xs:string"/>
+        <xs:sequence>
+            <xs:element name="permission" maxOccurs="unbounded">
+                <xs:complexType>
+                    <xs:attribute name="name" type="xs:string"/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="deny-permission" maxOccurs="unbounded">
+                <xs:complexType>
+                    <xs:attribute name="name" type="xs:string"/>
+                </xs:complexType>
+            </xs:element>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="oem-permissions">
+        <xs:attribute name="package" type="xs:string"/>
+        <xs:sequence>
+            <xs:element name="permission" maxOccurs="unbounded">
+                <xs:complexType>
+                    <xs:attribute name="name" type="xs:string"/>
+                </xs:complexType>
+            </xs:element>
+            <xs:element name="deny-permission" maxOccurs="unbounded">
+                <xs:complexType>
+                    <xs:attribute name="name" type="xs:string"/>
+                </xs:complexType>
+            </xs:element>
+        </xs:sequence>
+    </xs:complexType>
+    <xs:complexType name="hidden-api-whitelisted-app">
+        <xs:attribute name="package" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="allow-association">
+        <xs:attribute name="target" type="xs:string"/>
+        <xs:attribute name="allowed" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="bugreport-whitelisted">
+        <xs:attribute name="package" type="xs:string"/>
+    </xs:complexType>
+</xs:schema>
diff --git a/core/xsd/schema/README.md b/core/xsd/schema/README.md
new file mode 100644
index 0000000..f52d93d
--- /dev/null
+++ b/core/xsd/schema/README.md
@@ -0,0 +1 @@
+Please see the [README](https://android.googlesource.com/platform/system/tools/xsdc/+/refs/heads/master/README.md) for details regarding the Configfile as API.
diff --git a/core/xsd/schema/current.txt b/core/xsd/schema/current.txt
new file mode 100644
index 0000000..82bb0fea
--- /dev/null
+++ b/core/xsd/schema/current.txt
@@ -0,0 +1,242 @@
+// Signature format: 2.0
+package com.android.xml.permission {
+
+  public class AllowAssociation {
+    ctor public AllowAssociation();
+    method public String getAllowed();
+    method public String getTarget();
+    method public void setAllowed(String);
+    method public void setTarget(String);
+  }
+
+  public class AllowIgnoreLocationSettings {
+    ctor public AllowIgnoreLocationSettings();
+    method public String get_package();
+    method public void set_package(String);
+  }
+
+  public class AllowImplicitBroadcast {
+    ctor public AllowImplicitBroadcast();
+    method public String getAction();
+    method public void setAction(String);
+  }
+
+  public class AllowInDataUsageSave {
+    ctor public AllowInDataUsageSave();
+    method public String get_package();
+    method public void set_package(String);
+  }
+
+  public class AllowInPowerSave {
+    ctor public AllowInPowerSave();
+    method public String get_package();
+    method public void set_package(String);
+  }
+
+  public class AllowInPowerSaveExceptIdle {
+    ctor public AllowInPowerSaveExceptIdle();
+    method public String get_package();
+    method public void set_package(String);
+  }
+
+  public class AllowUnthrottledLocation {
+    ctor public AllowUnthrottledLocation();
+    method public String get_package();
+    method public void set_package(String);
+  }
+
+  public class AppLink {
+    ctor public AppLink();
+    method public String get_package();
+    method public void set_package(String);
+  }
+
+  public class AssignPermission {
+    ctor public AssignPermission();
+    method public String getName();
+    method public int getUid();
+    method public void setName(String);
+    method public void setUid(int);
+  }
+
+  public class BackupTransportWhitelistedService {
+    ctor public BackupTransportWhitelistedService();
+    method public String getService();
+    method public void setService(String);
+  }
+
+  public class BugreportWhitelisted {
+    ctor public BugreportWhitelisted();
+    method public String get_package();
+    method public void set_package(String);
+  }
+
+  public class DefaultEnabledVrApp {
+    ctor public DefaultEnabledVrApp();
+    method public String get_class();
+    method public String get_package();
+    method public void set_class(String);
+    method public void set_package(String);
+  }
+
+  public class DisabledUntilUsedPreinstalledCarrierApp {
+    ctor public DisabledUntilUsedPreinstalledCarrierApp();
+    method public String get_package();
+    method public void set_package(String);
+  }
+
+  public class DisabledUntilUsedPreinstalledCarrierAssociatedApp {
+    ctor public DisabledUntilUsedPreinstalledCarrierAssociatedApp();
+    method public String getCarrierAppPackage();
+    method public String get_package();
+    method public void setCarrierAppPackage(String);
+    method public void set_package(String);
+  }
+
+  public class Feature {
+    ctor public Feature();
+    method public String getName();
+    method public String getNotLowRam();
+    method public void setName(String);
+    method public void setNotLowRam(String);
+  }
+
+  public class Group {
+    ctor public Group();
+    method public int getGid();
+    method public void setGid(int);
+  }
+
+  public class HiddenApiWhitelistedApp {
+    ctor public HiddenApiWhitelistedApp();
+    method public String get_package();
+    method public void set_package(String);
+  }
+
+  public class Library {
+    ctor public Library();
+    method public String getDependency();
+    method public String getFile();
+    method public String getName();
+    method public void setDependency(String);
+    method public void setFile(String);
+    method public void setName(String);
+  }
+
+  public class OemPermissions {
+    ctor public OemPermissions();
+    method public java.util.List<com.android.xml.permission.OemPermissions.DenyPermission> getDenyPermission();
+    method public java.util.List<com.android.xml.permission.OemPermissions.Permission> getPermission();
+    method public String get_package();
+    method public void set_package(String);
+  }
+
+  public static class OemPermissions.DenyPermission {
+    ctor public OemPermissions.DenyPermission();
+    method public String getName();
+    method public void setName(String);
+  }
+
+  public static class OemPermissions.Permission {
+    ctor public OemPermissions.Permission();
+    method public String getName();
+    method public void setName(String);
+  }
+
+  public class Permission {
+    ctor public Permission();
+    method public String getName();
+    method public void setName(String);
+  }
+
+  public class Permissions {
+    ctor public Permissions();
+    method public java.util.List<com.android.xml.permission.AllowAssociation> getAllowAssociation();
+    method public java.util.List<com.android.xml.permission.AllowIgnoreLocationSettings> getAllowIgnoreLocationSettings();
+    method public java.util.List<com.android.xml.permission.AllowImplicitBroadcast> getAllowImplicitBroadcast();
+    method public java.util.List<com.android.xml.permission.AllowInDataUsageSave> getAllowInDataUsageSave();
+    method public java.util.List<com.android.xml.permission.AllowInPowerSave> getAllowInPowerSave();
+    method public java.util.List<com.android.xml.permission.AllowInPowerSaveExceptIdle> getAllowInPowerSaveExceptIdle();
+    method public java.util.List<com.android.xml.permission.AllowUnthrottledLocation> getAllowUnthrottledLocation();
+    method public java.util.List<com.android.xml.permission.AppLink> getAppLink();
+    method public java.util.List<com.android.xml.permission.AssignPermission> getAssignPermission();
+    method public java.util.List<com.android.xml.permission.BackupTransportWhitelistedService> getBackupTransportWhitelistedService();
+    method public java.util.List<com.android.xml.permission.BugreportWhitelisted> getBugreportWhitelisted();
+    method public java.util.List<com.android.xml.permission.DefaultEnabledVrApp> getDefaultEnabledVrApp();
+    method public java.util.List<com.android.xml.permission.DisabledUntilUsedPreinstalledCarrierApp> getDisabledUntilUsedPreinstalledCarrierApp();
+    method public java.util.List<com.android.xml.permission.DisabledUntilUsedPreinstalledCarrierAssociatedApp> getDisabledUntilUsedPreinstalledCarrierAssociatedApp();
+    method public java.util.List<com.android.xml.permission.Feature> getFeature();
+    method public java.util.List<com.android.xml.permission.Group> getGroup();
+    method public java.util.List<com.android.xml.permission.HiddenApiWhitelistedApp> getHiddenApiWhitelistedApp();
+    method public java.util.List<com.android.xml.permission.Library> getLibrary();
+    method public java.util.List<com.android.xml.permission.OemPermissions> getOemPermissions();
+    method public java.util.List<com.android.xml.permission.Permission> getPermission();
+    method public java.util.List<com.android.xml.permission.PrivappPermissions> getPrivappPermissions();
+    method public java.util.List<com.android.xml.permission.SplitPermission> getSplitPermission();
+    method public java.util.List<com.android.xml.permission.SystemUserBlacklistedApp> getSystemUserBlacklistedApp();
+    method public java.util.List<com.android.xml.permission.SystemUserWhitelistedApp> getSystemUserWhitelistedApp();
+    method public java.util.List<com.android.xml.permission.UnavailableFeature> getUnavailableFeature();
+  }
+
+  public class PrivappPermissions {
+    ctor public PrivappPermissions();
+    method public java.util.List<com.android.xml.permission.PrivappPermissions.DenyPermission> getDenyPermission();
+    method public java.util.List<com.android.xml.permission.PrivappPermissions.Permission> getPermission();
+    method public String get_package();
+    method public void set_package(String);
+  }
+
+  public static class PrivappPermissions.DenyPermission {
+    ctor public PrivappPermissions.DenyPermission();
+    method public String getName();
+    method public void setName(String);
+  }
+
+  public static class PrivappPermissions.Permission {
+    ctor public PrivappPermissions.Permission();
+    method public String getName();
+    method public void setName(String);
+  }
+
+  public class SplitPermission {
+    ctor public SplitPermission();
+    method public java.util.List<com.android.xml.permission.SplitPermission.Library> getLibrary();
+    method public String getName();
+    method public int getTargetSdk();
+    method public void setName(String);
+    method public void setTargetSdk(int);
+  }
+
+  public static class SplitPermission.Library {
+    ctor public SplitPermission.Library();
+    method public String getName();
+    method public void setName(String);
+  }
+
+  public class SystemUserBlacklistedApp {
+    ctor public SystemUserBlacklistedApp();
+    method public String get_package();
+    method public void set_package(String);
+  }
+
+  public class SystemUserWhitelistedApp {
+    ctor public SystemUserWhitelistedApp();
+    method public String get_package();
+    method public void set_package(String);
+  }
+
+  public class UnavailableFeature {
+    ctor public UnavailableFeature();
+    method public String getName();
+    method public void setName(String);
+  }
+
+  public class XmlParser {
+    ctor public XmlParser();
+    method public static com.android.xml.permission.Permissions read(java.io.InputStream) throws javax.xml.datatype.DatatypeConfigurationException, java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public static String readText(org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public static void skip(org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+  }
+
+}
+
diff --git a/core/xsd/schema/last_current.txt b/core/xsd/schema/last_current.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/core/xsd/schema/last_current.txt
diff --git a/core/xsd/schema/last_removed.txt b/core/xsd/schema/last_removed.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/core/xsd/schema/last_removed.txt
diff --git a/core/xsd/schema/removed.txt b/core/xsd/schema/removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/core/xsd/schema/removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/data/etc/privapp-permissions-platform.xml b/data/etc/privapp-permissions-platform.xml
index f19e44c..fcd5d56 100644
--- a/data/etc/privapp-permissions-platform.xml
+++ b/data/etc/privapp-permissions-platform.xml
@@ -23,6 +23,7 @@
     <privapp-permissions package="android.ext.services">
         <permission name="android.permission.PROVIDE_RESOLVER_RANKER_SERVICE" />
         <permission name="android.permission.MONITOR_DEFAULT_SMS_PACKAGE" />
+        <permission name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE" />
     </privapp-permissions>
 
     <privapp-permissions package="com.android.apps.tag">
diff --git a/docs/html/reference/images/text/style/linebackgroundspan.png b/docs/html/reference/images/text/style/linebackgroundspan.png
new file mode 100644
index 0000000..37d5253
--- /dev/null
+++ b/docs/html/reference/images/text/style/linebackgroundspan.png
Binary files differ
diff --git a/graphics/java/android/graphics/BaseCanvas.java b/graphics/java/android/graphics/BaseCanvas.java
index 83c8b01..fd37735 100644
--- a/graphics/java/android/graphics/BaseCanvas.java
+++ b/graphics/java/android/graphics/BaseCanvas.java
@@ -425,8 +425,8 @@
      * Make lint happy.
      * See {@link Canvas#drawDoubleRoundRect(RectF, float[], RectF, float[], Paint)}
      */
-    public void drawDoubleRoundRect(@NonNull RectF outer, float[] outerRadii,
-            @NonNull RectF inner, float[] innerRadii, @NonNull Paint paint) {
+    public void drawDoubleRoundRect(@NonNull RectF outer, @NonNull float[] outerRadii,
+            @NonNull RectF inner, @NonNull float[] innerRadii, @NonNull Paint paint) {
         throwIfHasHwBitmapInSwMode(paint);
         if (innerRadii == null || outerRadii == null
                 || innerRadii.length != 8 || outerRadii.length != 8) {
diff --git a/graphics/java/android/graphics/Bitmap.java b/graphics/java/android/graphics/Bitmap.java
index 18eafa6..4bd344f 100644
--- a/graphics/java/android/graphics/Bitmap.java
+++ b/graphics/java/android/graphics/Bitmap.java
@@ -122,13 +122,22 @@
     }
 
     /**
-     * Private constructor that must received an already allocated native bitmap
+     * Private constructor that must receive an already allocated native bitmap
      * int (pointer).
      */
-    // called from JNI
-    @UnsupportedAppUsage
-    Bitmap(long nativeBitmap, int width, int height, int density, boolean requestPremultiplied,
-            byte[] ninePatchChunk, NinePatch.InsetStruct ninePatchInsets) {
+    // JNI now calls the version below this one. This is preserved due to UnsupportedAppUsage.
+    @UnsupportedAppUsage(maxTargetSdk = 28)
+    Bitmap(long nativeBitmap, int width, int height, int density,
+            boolean requestPremultiplied, byte[] ninePatchChunk,
+            NinePatch.InsetStruct ninePatchInsets) {
+        this(nativeBitmap, width, height, density, requestPremultiplied, ninePatchChunk,
+                ninePatchInsets, true);
+    }
+
+    // called from JNI and Bitmap_Delegate.
+    Bitmap(long nativeBitmap, int width, int height, int density,
+            boolean requestPremultiplied, byte[] ninePatchChunk,
+            NinePatch.InsetStruct ninePatchInsets, boolean fromMalloc) {
         if (nativeBitmap == 0) {
             throw new RuntimeException("internal error: native bitmap is 0");
         }
@@ -144,13 +153,21 @@
         }
 
         mNativePtr = nativeBitmap;
-        long nativeSize = NATIVE_ALLOCATION_SIZE + getAllocationByteCount();
-        NativeAllocationRegistry registry = new NativeAllocationRegistry(
-            Bitmap.class.getClassLoader(), nativeGetNativeFinalizer(), nativeSize);
+
+        final int allocationByteCount = getAllocationByteCount();
+        NativeAllocationRegistry registry;
+        if (fromMalloc) {
+            registry = NativeAllocationRegistry.createMalloced(
+                    Bitmap.class.getClassLoader(), nativeGetNativeFinalizer(), allocationByteCount);
+        } else {
+            registry = NativeAllocationRegistry.createNonmalloced(
+                    Bitmap.class.getClassLoader(), nativeGetNativeFinalizer(), allocationByteCount);
+        }
         registry.registerNativeAllocation(this, nativeBitmap);
 
         if (ResourcesImpl.TRACE_FOR_DETAILED_PRELOAD) {
             sPreloadTracingNumInstantiatedBitmaps++;
+            long nativeSize = NATIVE_ALLOCATION_SIZE + allocationByteCount;
             sPreloadTracingTotalBitmapsSize += nativeSize;
         }
     }
@@ -1718,6 +1735,11 @@
      * <p>Modifies the bitmap to have the specified {@link ColorSpace}, without
      * affecting the underlying allocation backing the bitmap.</p>
      *
+     * <p>This affects how the framework will interpret the color at each pixel. A bitmap
+     * with {@link Config#ALPHA_8} never has a color space, since a color space does not
+     * affect the alpha channel. Other {@code Config}s must always have a non-null
+     * {@code ColorSpace}.</p>
+     *
      * @throws IllegalArgumentException If the specified color space is {@code null}, not
      *         {@link ColorSpace.Model#RGB RGB}, has a transfer function that is not an
      *         {@link ColorSpace.Rgb.TransferParameters ICC parametric curve}, or whose
diff --git a/graphics/java/android/graphics/Canvas.java b/graphics/java/android/graphics/Canvas.java
index 034dff0..7b3f3da 100644
--- a/graphics/java/android/graphics/Canvas.java
+++ b/graphics/java/android/graphics/Canvas.java
@@ -76,14 +76,11 @@
     // (see SkCanvas.cpp, SkDraw.cpp)
     private static final int MAXMIMUM_BITMAP_SIZE = 32766;
 
-    // The approximate size of the native allocation associated with
-    // a Canvas object.
-    private static final long NATIVE_ALLOCATION_SIZE = 525;
-
     // Use a Holder to allow static initialization of Canvas in the boot image.
     private static class NoImagePreloadHolder {
-        public static final NativeAllocationRegistry sRegistry = new NativeAllocationRegistry(
-                Canvas.class.getClassLoader(), nGetNativeFinalizer(), NATIVE_ALLOCATION_SIZE);
+        public static final NativeAllocationRegistry sRegistry =
+                NativeAllocationRegistry.createMalloced(
+                Canvas.class.getClassLoader(), nGetNativeFinalizer());
     }
 
     // This field is used to finalize the native Canvas properly
@@ -2018,8 +2015,8 @@
      * @param paint The paint used to draw the double roundRect
      */
     @Override
-    public void drawDoubleRoundRect(@NonNull RectF outer, float[] outerRadii,
-            @NonNull RectF inner, float[] innerRadii, @NonNull Paint paint) {
+    public void drawDoubleRoundRect(@NonNull RectF outer, @NonNull float[] outerRadii,
+            @NonNull RectF inner, @NonNull float[] innerRadii, @NonNull Paint paint) {
         super.drawDoubleRoundRect(outer, outerRadii, inner, innerRadii, paint);
     }
 
diff --git a/graphics/java/android/graphics/ColorFilter.java b/graphics/java/android/graphics/ColorFilter.java
index b24b988..4c2ef84 100644
--- a/graphics/java/android/graphics/ColorFilter.java
+++ b/graphics/java/android/graphics/ColorFilter.java
@@ -26,8 +26,9 @@
 public class ColorFilter {
 
     private static class NoImagePreloadHolder {
-        public static final NativeAllocationRegistry sRegistry = new NativeAllocationRegistry(
-                ColorFilter.class.getClassLoader(), nativeGetFinalizer(), 50);
+        public static final NativeAllocationRegistry sRegistry =
+                NativeAllocationRegistry.createMalloced(
+                ColorFilter.class.getClassLoader(), nativeGetFinalizer());
     }
 
     /**
diff --git a/graphics/java/android/graphics/FontFamily.java b/graphics/java/android/graphics/FontFamily.java
index 5d8ba93..5af0da8 100644
--- a/graphics/java/android/graphics/FontFamily.java
+++ b/graphics/java/android/graphics/FontFamily.java
@@ -44,13 +44,15 @@
 
     private static String TAG = "FontFamily";
 
-    private static final NativeAllocationRegistry sBuilderRegistry = new NativeAllocationRegistry(
-            FontFamily.class.getClassLoader(), nGetBuilderReleaseFunc(), 64);
+    private static final NativeAllocationRegistry sBuilderRegistry =
+            NativeAllocationRegistry.createMalloced(
+            FontFamily.class.getClassLoader(), nGetBuilderReleaseFunc());
 
     private @Nullable Runnable mNativeBuilderCleaner;
 
-    private static final NativeAllocationRegistry sFamilyRegistry = new NativeAllocationRegistry(
-            FontFamily.class.getClassLoader(), nGetFamilyReleaseFunc(), 64);
+    private static final NativeAllocationRegistry sFamilyRegistry =
+            NativeAllocationRegistry.createMalloced(
+            FontFamily.class.getClassLoader(), nGetFamilyReleaseFunc());
 
     /**
      * @hide
diff --git a/graphics/java/android/graphics/HardwareRenderer.java b/graphics/java/android/graphics/HardwareRenderer.java
index e623354..bc744cc 100644
--- a/graphics/java/android/graphics/HardwareRenderer.java
+++ b/graphics/java/android/graphics/HardwareRenderer.java
@@ -170,13 +170,14 @@
 
     /**
      * Destroys the rendering context of this HardwareRenderer. This destroys the resources
-     * associated with this renderer and releases the currently set {@link Surface}.
+     * associated with this renderer and releases the currently set {@link Surface}. This must
+     * be called when this HardwareRenderer is no longer needed.
      *
      * <p>The renderer may be restored from this state by setting a new {@link Surface}, setting
      * new rendering content with {@link #setContentRoot(RenderNode)}, and resuming
      * rendering by issuing a new {@link FrameRenderRequest}.
      *
-     * <p>It is suggested to call this in response to callbacks such as
+     * <p>It is recommended to call this in response to callbacks such as
      * {@link android.view.SurfaceHolder.Callback#surfaceDestroyed(SurfaceHolder)}.
      *
      * <p>Note that if there are any outstanding frame commit callbacks they may never being
@@ -193,7 +194,7 @@
      *
      * @param name The debug name to use for this HardwareRenderer instance
      */
-    public void setName(String name) {
+    public void setName(@NonNull String name) {
         nSetName(mNativeProxy, name);
     }
 
@@ -330,7 +331,7 @@
          *
          * @return this instance
          */
-        public FrameRenderRequest setVsyncTime(long vsyncTime) {
+        public @NonNull FrameRenderRequest setVsyncTime(long vsyncTime) {
             mFrameInfo.setVsync(vsyncTime, vsyncTime);
             mFrameInfo.addFlags(FrameInfo.FLAG_SURFACE_CANVAS);
             return this;
@@ -351,7 +352,7 @@
          *
          * @return this instance
          */
-        public FrameRenderRequest setFrameCommitCallback(@NonNull Executor executor,
+        public @NonNull FrameRenderRequest setFrameCommitCallback(@NonNull Executor executor,
                 @NonNull Runnable frameCommitCallback) {
             setFrameCompleteCallback(frameNr -> executor.execute(frameCommitCallback));
             return this;
@@ -372,7 +373,7 @@
          *                   completion.
          * @return this instance
          */
-        public FrameRenderRequest setWaitForPresent(boolean shouldWait) {
+        public @NonNull FrameRenderRequest setWaitForPresent(boolean shouldWait) {
             mWaitForPresent = shouldWait;
             return this;
         }
@@ -383,7 +384,7 @@
          * The system internally may reuse instances of {@link FrameRenderRequest} to reduce
          * allocation churn.
          *
-         * @return The result of the sync operation. See {@link SyncAndDrawResult}.
+         * @return The result of the sync operation.
          */
         @SyncAndDrawResult
         public int syncAndDraw() {
@@ -406,7 +407,7 @@
      * @return An instance of {@link FrameRenderRequest}. The instance may be reused for every
      * frame, so the caller should not hold onto it for longer than a single render request.
      */
-    public FrameRenderRequest createRenderRequest() {
+    public @NonNull FrameRenderRequest createRenderRequest() {
         mRenderRequest.reset();
         return mRenderRequest;
     }
@@ -456,12 +457,37 @@
      * and {@link Activity#onStart()}.
      *
      * @param stopped true to stop all rendering, false to resume
+     * @hide
      */
     public void setStopped(boolean stopped) {
         nSetStopped(mNativeProxy, stopped);
     }
 
     /**
+     * Hard stops rendering into the surface. If the renderer is stopped it will
+     * block any attempt to render. Calls to {@link FrameRenderRequest#syncAndDraw()} will
+     * still sync over the latest rendering content, however they will not render and instead
+     * {@link #SYNC_CONTEXT_IS_STOPPED} will be returned.
+     *
+     * <p>This is useful in combination with lifecycle events such as {@link Activity#onStop()}.
+     * See {@link #start()} for resuming rendering.
+     */
+    public void stop() {
+        nSetStopped(mNativeProxy, true);
+    }
+
+    /**
+     * Resumes rendering into the surface. Any pending rendering requests
+     * will produce a new frame at the next vsync signal.
+     *
+     * <p>This is useful in combination with lifecycle events such as {@link Activity#onStart()}.
+     * See {@link #stop()} for stopping rendering.
+     */
+    public void start() {
+        nSetStopped(mNativeProxy, false);
+    }
+
+    /**
      * Destroys all the display lists associated with the current rendering content.
      * This includes releasing a reference to the current content root RenderNode. It will
      * therefore be necessary to call {@link #setContentRoot(RenderNode)} in order to resume
@@ -473,7 +499,7 @@
      * {@link android.content.ComponentCallbacks2#onTrimMemory(int)} signals such as
      * {@link android.content.ComponentCallbacks2#TRIM_MEMORY_UI_HIDDEN}
      *
-     * See also {@link #setStopped(boolean)}
+     * See also {@link #stop()}.
      */
     public void clearContent() {
         nDestroyHardwareResources(mNativeProxy);
diff --git a/graphics/java/android/graphics/ImageDecoder.java b/graphics/java/android/graphics/ImageDecoder.java
index 2cf802b..2d5babc 100644
--- a/graphics/java/android/graphics/ImageDecoder.java
+++ b/graphics/java/android/graphics/ImageDecoder.java
@@ -1642,14 +1642,16 @@
         mTempStorage = null;
     }
 
-    private void checkState() {
+    private void checkState(boolean animated) {
         if (mNativePtr == 0) {
             throw new IllegalStateException("Cannot use closed ImageDecoder!");
         }
 
         checkSubset(mDesiredWidth, mDesiredHeight, mCropRect);
 
-        if (mAllocator == ALLOCATOR_HARDWARE) {
+        // animated ignores the allocator, so no need to check for incompatible
+        // fields.
+        if (!animated && mAllocator == ALLOCATOR_HARDWARE) {
             if (mMutable) {
                 throw new IllegalStateException("Cannot make mutable HARDWARE Bitmap!");
             }
@@ -1673,21 +1675,30 @@
         }
     }
 
+    private boolean checkForExtended() {
+        if (mDesiredColorSpace == null) {
+            return false;
+        }
+        return mDesiredColorSpace == ColorSpace.get(ColorSpace.Named.EXTENDED_SRGB)
+                || mDesiredColorSpace == ColorSpace.get(ColorSpace.Named.LINEAR_EXTENDED_SRGB);
+    }
+
+    private long getColorSpacePtr() {
+        if (mDesiredColorSpace == null) {
+            return 0;
+        }
+        return mDesiredColorSpace.getNativeInstance();
+    }
+
     @WorkerThread
     @NonNull
     private Bitmap decodeBitmapInternal() throws IOException {
-        checkState();
-        long colorSpacePtr = 0;
-        boolean extended = false;
-        if (mDesiredColorSpace != null) {
-            colorSpacePtr = mDesiredColorSpace.getNativeInstance();
-            extended = mDesiredColorSpace == ColorSpace.get(ColorSpace.Named.EXTENDED_SRGB)
-                || mDesiredColorSpace == ColorSpace.get(ColorSpace.Named.LINEAR_EXTENDED_SRGB);
-        }
+        checkState(false);
         return nDecodeBitmap(mNativePtr, this, mPostProcessor != null,
                 mDesiredWidth, mDesiredHeight, mCropRect,
                 mMutable, mAllocator, mUnpremultipliedRequired,
-                mConserveMemory, mDecodeAsAlphaMask, colorSpacePtr, extended);
+                mConserveMemory, mDecodeAsAlphaMask, getColorSpacePtr(),
+                checkForExtended());
     }
 
     private void callHeaderDecoded(@Nullable OnHeaderDecodedListener listener,
@@ -1753,9 +1764,11 @@
                 // mPostProcessor exists.
                 ImageDecoder postProcessPtr = decoder.mPostProcessor == null ?
                         null : decoder;
+                decoder.checkState(true);
                 Drawable d = new AnimatedImageDrawable(decoder.mNativePtr,
                         postProcessPtr, decoder.mDesiredWidth,
-                        decoder.mDesiredHeight, srcDensity,
+                        decoder.mDesiredHeight, decoder.getColorSpacePtr(),
+                        decoder.checkForExtended(), srcDensity,
                         src.computeDstDensity(), decoder.mCropRect,
                         decoder.mInputStream, decoder.mAssetFd);
                 // d has taken ownership of these objects.
diff --git a/graphics/java/android/graphics/Insets.java b/graphics/java/android/graphics/Insets.java
index c6dc239..1e03c53 100644
--- a/graphics/java/android/graphics/Insets.java
+++ b/graphics/java/android/graphics/Insets.java
@@ -30,7 +30,7 @@
  *
  */
 public final class Insets implements Parcelable {
-    public static final Insets NONE = new Insets(0, 0, 0, 0);
+    public static final @NonNull Insets NONE = new Insets(0, 0, 0, 0);
 
     public final int left;
     public final int top;
diff --git a/graphics/java/android/graphics/Matrix.java b/graphics/java/android/graphics/Matrix.java
index f8cb366..22b6401 100644
--- a/graphics/java/android/graphics/Matrix.java
+++ b/graphics/java/android/graphics/Matrix.java
@@ -16,12 +16,13 @@
 
 package android.graphics;
 
+import android.annotation.UnsupportedAppUsage;
+
 import dalvik.annotation.optimization.CriticalNative;
 import dalvik.annotation.optimization.FastNative;
 
 import libcore.util.NativeAllocationRegistry;
 
-import android.annotation.UnsupportedAppUsage;
 import java.io.PrintWriter;
 
 /**
@@ -222,12 +223,10 @@
         }
     };
 
-    // sizeof(SkMatrix) is 9 * sizeof(float) + uint32_t
-    private static final long NATIVE_ALLOCATION_SIZE = 40;
-
     private static class NoImagePreloadHolder {
-        public static final NativeAllocationRegistry sRegistry = new NativeAllocationRegistry(
-                Matrix.class.getClassLoader(), nGetNativeFinalizer(), NATIVE_ALLOCATION_SIZE);
+        public static final NativeAllocationRegistry sRegistry =
+                NativeAllocationRegistry.createMalloced(
+                Matrix.class.getClassLoader(), nGetNativeFinalizer());
     }
 
     /**
diff --git a/graphics/java/android/graphics/Paint.java b/graphics/java/android/graphics/Paint.java
index e617c42..346c7ab 100644
--- a/graphics/java/android/graphics/Paint.java
+++ b/graphics/java/android/graphics/Paint.java
@@ -58,13 +58,11 @@
     private long mNativeShader;
     private long mNativeColorFilter;
 
-    // The approximate size of a native paint object.
-    private static final long NATIVE_PAINT_SIZE = 98;
-
     // Use a Holder to allow static initialization of Paint in the boot image.
     private static class NoImagePreloadHolder {
-        public static final NativeAllocationRegistry sRegistry = new NativeAllocationRegistry(
-                Paint.class.getClassLoader(), nGetNativeFinalizer(), NATIVE_PAINT_SIZE);
+        public static final NativeAllocationRegistry sRegistry =
+                NativeAllocationRegistry.createMalloced(
+                Paint.class.getClassLoader(), nGetNativeFinalizer());
     }
 
     @ColorLong private long mColor;
@@ -364,19 +362,79 @@
      */
     private static final int CURSOR_OPT_MAX_VALUE = CURSOR_AT;
 
-    /**
-     * Mask for hyphen edits that happen at the end of a line. Keep in sync with the definition in
-     * Minikin's Hyphenator.h.
-     * @hide
-     */
-    public static final int HYPHENEDIT_MASK_END_OF_LINE = 0x07;
+    /** @hide */
+    @IntDef(prefix = { "START_HYPHEN_EDIT_" }, value = {
+        START_HYPHEN_EDIT_NO_EDIT,
+        START_HYPHEN_EDIT_INSERT_HYPHEN,
+        START_HYPHEN_EDIT_INSERT_ZWJ
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface StartHyphenEdit {}
 
     /**
-     * Mask for hyphen edits that happen at the start of a line. Keep in sync with the definition in
-     * Minikin's Hyphenator.h.
-     * @hide
+     * An integer representing the starting of the line has no modification for hyphenation.
      */
-    public static final int HYPHENEDIT_MASK_START_OF_LINE = 0x03 << 3;
+    public static final int START_HYPHEN_EDIT_NO_EDIT = 0x00;
+
+    /**
+     * An integer representing the starting of the line has normal hyphen character (U+002D).
+     */
+    public static final int START_HYPHEN_EDIT_INSERT_HYPHEN = 0x01;
+
+    /**
+     * An integer representing the starting of the line has Zero-Width-Joiner (U+200D).
+     */
+    public static final int START_HYPHEN_EDIT_INSERT_ZWJ = 0x02;
+
+    /** @hide */
+    @IntDef(prefix = { "END_HYPHEN_EDIT_" }, value = {
+        END_HYPHEN_EDIT_NO_EDIT,
+        END_HYPHEN_EDIT_REPLACE_WITH_HYPHEN,
+        END_HYPHEN_EDIT_INSERT_HYPHEN,
+        END_HYPHEN_EDIT_INSERT_ARMENIAN_HYPHEN,
+        END_HYPHEN_EDIT_INSERT_MAQAF,
+        END_HYPHEN_EDIT_INSERT_UCAS_HYPHEN,
+        END_HYPHEN_EDIT_INSERT_ZWJ_AND_HYPHEN
+    })
+    @Retention(RetentionPolicy.SOURCE)
+    public @interface EndHyphenEdit {}
+
+    /**
+     * An integer representing the end of the line has no modification for hyphenation.
+     */
+    public static final int END_HYPHEN_EDIT_NO_EDIT = 0x00;
+
+    /**
+     * An integer representing the character at the end of the line is replaced with hyphen
+     * character (U+002D).
+     */
+    public static final int END_HYPHEN_EDIT_REPLACE_WITH_HYPHEN = 0x01;
+
+    /**
+     * An integer representing the end of the line has normal hyphen character (U+002D).
+     */
+    public static final int END_HYPHEN_EDIT_INSERT_HYPHEN = 0x02;
+
+    /**
+     * An integer representing the end of the line has Armentian hyphen (U+058A).
+     */
+    public static final int END_HYPHEN_EDIT_INSERT_ARMENIAN_HYPHEN = 0x03;
+
+    /**
+     * An integer representing the end of the line has maqaf (Hebrew hyphen, U+05BE).
+     */
+    public static final int END_HYPHEN_EDIT_INSERT_MAQAF = 0x04;
+
+    /**
+     * An integer representing the end of the line has Canadian Syllabics hyphen (U+1400).
+     */
+    public static final int END_HYPHEN_EDIT_INSERT_UCAS_HYPHEN = 0x05;
+
+    /**
+     * An integer representing the end of the line has Zero-Width-Joiner (U+200D) followed by normal
+     * hyphen character (U+002D).
+     */
+    public static final int END_HYPHEN_EDIT_INSERT_ZWJ_AND_HYPHEN = 0x06;
 
     /**
      * The Style specifies if the primitive being drawn is filled, stroked, or
@@ -988,7 +1046,8 @@
      * @param color The new color (including alpha) to set in the paint.
      */
     public void setColor(@ColorInt int color) {
-        setColor(Color.pack(color));
+        nSetColor(mNativePaint, color);
+        mColor = Color.pack(color);
     }
 
     /**
@@ -1005,12 +1064,8 @@
      */
     public void setColor(@ColorLong long color) {
         ColorSpace cs = Color.colorSpace(color);
-        float r = Color.red(color);
-        float g = Color.green(color);
-        float b = Color.blue(color);
-        float a = Color.alpha(color);
 
-        nSetColor(mNativePaint, cs.getNativeInstance(), r, g, b, a);
+        nSetColor(mNativePaint, cs.getNativeInstance(), color);
         mColor = color;
     }
 
@@ -1440,11 +1495,7 @@
      */
     public void setShadowLayer(float radius, float dx, float dy, @ColorLong long shadowColor) {
         ColorSpace cs = Color.colorSpace(shadowColor);
-        float r = Color.red(shadowColor);
-        float g = Color.green(shadowColor);
-        float b = Color.blue(shadowColor);
-        float a = Color.alpha(shadowColor);
-        nSetShadowLayer(mNativePaint, radius, dx, dy, cs.getNativeInstance(), r, g, b, a);
+        nSetShadowLayer(mNativePaint, radius, dx, dy, cs.getNativeInstance(), shadowColor);
 
         mShadowLayerRadius = radius;
         mShadowLayerDx = dx;
@@ -1472,6 +1523,7 @@
     /**
      * Returns the blur radius of the shadow layer.
      * @see #setShadowLayer(float,float,float,int)
+     * @see #setShadowLayer(float,float,float,long)
      */
     public float getShadowLayerRadius() {
         return mShadowLayerRadius;
@@ -1480,6 +1532,7 @@
     /**
      * Returns the x offset of the shadow layer.
      * @see #setShadowLayer(float,float,float,int)
+     * @see #setShadowLayer(float,float,float,long)
      */
     public float getShadowLayerDx() {
         return mShadowLayerDx;
@@ -1488,6 +1541,7 @@
     /**
      * Returns the y offset of the shadow layer.
      * @see #setShadowLayer(float,float,float,int)
+     * @see #setShadowLayer(float,float,float,long)
      */
     public float getShadowLayerDy() {
         return mShadowLayerDy;
@@ -1733,7 +1787,7 @@
      * @return the paint's extra word-spacing for drawing text in pixels.
      * @see #setWordSpacing(float)
      */
-    public float getWordSpacing() {
+    public @Px float getWordSpacing() {
         return nGetWordSpacing(mNativePaint);
     }
 
@@ -1746,7 +1800,7 @@
      * @param wordSpacing set the paint's extra word-spacing for drawing text in pixels.
      * @see #getWordSpacing()
      */
-    public void setWordSpacing(float wordSpacing) {
+    public void setWordSpacing(@Px float wordSpacing) {
         nSetWordSpacing(mNativePaint, wordSpacing);
     }
 
@@ -1873,54 +1927,80 @@
     }
 
     /**
-     * Get the current value of packed hyphen edit.
+     * Get the current value of start hyphen edit.
      *
-     * You can extract start hyphen edit and end hyphen edit by using
-     * {@link android.text.Hyphenator#unpackStartHyphenEdit(int)} and
-     * {@link android.text.Hyphenator#unpackEndHyphenEdit(int)}.
+     * The default value is 0 which is equivalent to {@link #START_HYPHEN_EDIT_NO_EDIT}.
      *
-     * The default value is 0 which is equivalent to packed value of
-     * {@link android.text.Hyphenator#START_HYPHEN_EDIT_NO_EDIT} and
-     * {@link android.text.Hyphenator#END_HYPHEN_EDIT_NO_EDIT}.
-     *
-     * @return the current hyphen edit value
-     * @see #setHyphenEdit(int)
+     * @return the current starting hyphen edit value
+     * @see #setStartHyphenEdit(int)
      */
-    public int getHyphenEdit() {
-        return nGetHyphenEdit(mNativePaint);
+    public @StartHyphenEdit int getStartHyphenEdit() {
+        return nGetStartHyphenEdit(mNativePaint);
     }
 
     /**
-     * Set a packed hyphen edit on the paint.
+     * Get the current value of end hyphen edit.
      *
-     * By setting hyphen edit, the measurement and drawing is performed with modifying hyphenation
-     * at the start of line and end of line. For example, by passing
-     * {@link android.text.Hyphenator#END_HYPHEN_EDIT_INSERT_HYPHEN} like as follows, HYPHEN(U+2010)
+     * The default value is 0 which is equivalent to {@link #END_HYPHEN_EDIT_NO_EDIT}.
+     *
+     * @return the current starting hyphen edit value
+     * @see #setStartHyphenEdit(int)
+     */
+    public @EndHyphenEdit int getEndHyphenEdit() {
+        return nGetEndHyphenEdit(mNativePaint);
+    }
+
+    /**
+     * Set a start hyphen edit on the paint.
+     *
+     * By setting start hyphen edit, the measurement and drawing is performed with modifying
+     * hyphenation at the start of line. For example, by passing
+     * {@link #START_HYPHEN_EDIT_INSERT_HYPHEN} like as follows, HYPHEN(U+2010)
+     * character is appended at the start of line.
+     *
+     * <pre>
+     * <code>
+     *   Paint paint = new Paint();
+     *   paint.setStartHyphenEdit(Paint.START_HYPHEN_EDIT_INSERT_HYPHEN);
+     *   paint.measureText("abc", 0, 3);  // Returns the width of "‐abc"
+     *   Canvas.drawText("abc", 0, 3, 0f, 0f, paint);  // Draws "‐abc"
+     * </code>
+     * </pre>
+     *
+     * The default value is 0 which is equivalent to
+     * {@link #START_HYPHEN_EDIT_NO_EDIT}.
+     *
+     * @param startHyphen a start hyphen edit value.
+     * @see #getStartHyphenEdit()
+     */
+    public void setStartHyphenEdit(@StartHyphenEdit int startHyphen) {
+        nSetStartHyphenEdit(mNativePaint, startHyphen);
+    }
+
+    /**
+     * Set a end hyphen edit on the paint.
+     *
+     * By setting end hyphen edit, the measurement and drawing is performed with modifying
+     * hyphenation at the end of line. For example, by passing
+     * {@link #END_HYPHEN_EDIT_INSERT_HYPHEN} like as follows, HYPHEN(U+2010)
      * character is appended at the end of line.
      *
      * <pre>
      * <code>
      *   Paint paint = new Paint();
-     *   paint.setHyphenEdit(Hyphenator.packHyphenEdit(
-     *       Hyphenator.START_HYPHEN_EDIT_NO_EDIT,
-     *       Hyphenator.END_HYPHEN_EDIT_INSERT_HYPHEN));
+     *   paint.setEndHyphenEdit(Paint.END_HYPHEN_EDIT_INSERT_HYPHEN);
      *   paint.measureText("abc", 0, 3);  // Returns the width of "abc‐"
      *   Canvas.drawText("abc", 0, 3, 0f, 0f, paint);  // Draws "abc‐"
      * </code>
      * </pre>
      *
-     * You can pack start hyphen edit and end hyphen edit by
-     * {@link android.text.Hyphenator#packHyphenEdit(int,int)}
+     * The default value is 0 which is equivalent to {@link #END_HYPHEN_EDIT_NO_EDIT}.
      *
-     * The default value is 0 which is equivalent to packed value of
-     * {@link android.text.Hyphenator#START_HYPHEN_EDIT_NO_EDIT} and
-     * {@link android.text.Hyphenator#END_HYPHEN_EDIT_NO_EDIT}.
-     *
-     * @param hyphen a packed hyphen edit value.
-     * @see #getHyphenEdit()
+     * @param endHyphen a end hyphen edit value.
+     * @see #getEndHyphenEdit()
      */
-    public void setHyphenEdit(int hyphen) {
-        nSetHyphenEdit(mNativePaint, hyphen);
+    public void setEndHyphenEdit(@EndHyphenEdit int endHyphen) {
+        nSetEndHyphenEdit(mNativePaint, endHyphen);
     }
 
     /**
@@ -2706,6 +2786,8 @@
     }
 
     /**
+     * Retrieve the text boundary box and store to bounds.
+     *
      * Return in bounds (allocated by the caller) the smallest rectangle that
      * encloses all of the characters, with an implied origin at (0,0).
      *
@@ -2725,6 +2807,8 @@
     }
 
     /**
+     * Retrieve the text boundary box and store to bounds.
+     *
      * Return in bounds (allocated by the caller) the smallest rectangle that
      * encloses all of the characters, with an implied origin at (0,0).
      *
@@ -2736,7 +2820,8 @@
      * @param end 1 past the last char in the text to measure
      * @param bounds returns the unioned bounds of all the text. Must be allocated by the caller
      */
-    public void getTextBounds(CharSequence text, int start, int end, Rect bounds) {
+    public void getTextBounds(@NonNull CharSequence text, int start, int end,
+            @NonNull Rect bounds) {
         if ((start | end | (end - start) | (text.length() - end)) < 0) {
             throw new IndexOutOfBoundsException();
         }
@@ -3046,7 +3131,7 @@
     @CriticalNative
     private static native void nSetShadowLayer(long paintPtr,
             float radius, float dx, float dy, long colorSpaceHandle,
-            float r, float g, float b, float a);
+            @ColorLong long shadowColor);
     @CriticalNative
     private static native boolean nHasShadowLayer(long paintPtr);
     @CriticalNative
@@ -3058,9 +3143,13 @@
     @CriticalNative
     private static native void nSetWordSpacing(long paintPtr, float wordSpacing);
     @CriticalNative
-    private static native int nGetHyphenEdit(long paintPtr);
+    private static native int nGetStartHyphenEdit(long paintPtr);
     @CriticalNative
-    private static native void nSetHyphenEdit(long paintPtr, int hyphen);
+    private static native int nGetEndHyphenEdit(long paintPtr);
+    @CriticalNative
+    private static native void nSetStartHyphenEdit(long paintPtr, int hyphen);
+    @CriticalNative
+    private static native void nSetEndHyphenEdit(long paintPtr, int hyphen);
     @CriticalNative
     private static native void nSetStrokeMiter(long paintPtr, float miter);
     @CriticalNative
@@ -3095,7 +3184,9 @@
     private static native void nSetFilterBitmap(long paintPtr, boolean filter);
     @CriticalNative
     private static native void nSetColor(long paintPtr, long colorSpaceHandle,
-            float r, float g, float b, float a);
+            @ColorLong long color);
+    @CriticalNative
+    private static native void nSetColor(long paintPtr, @ColorInt int color);
     @CriticalNative
     private static native void nSetStrikeThruText(long paintPtr, boolean strikeThruText);
     @CriticalNative
diff --git a/graphics/java/android/graphics/Path.java b/graphics/java/android/graphics/Path.java
index 405ab0b..7282d52 100644
--- a/graphics/java/android/graphics/Path.java
+++ b/graphics/java/android/graphics/Path.java
@@ -36,8 +36,9 @@
  */
 public class Path {
 
-    private static final NativeAllocationRegistry sRegistry = new NativeAllocationRegistry(
-                Path.class.getClassLoader(), nGetFinalizer(), 48 /* dummy size */);
+    private static final NativeAllocationRegistry sRegistry =
+            NativeAllocationRegistry.createMalloced(
+                Path.class.getClassLoader(), nGetFinalizer());
 
     /**
      * @hide
diff --git a/graphics/java/android/graphics/RecordingCanvas.java b/graphics/java/android/graphics/RecordingCanvas.java
index 30466e1..c0e0a24 100644
--- a/graphics/java/android/graphics/RecordingCanvas.java
+++ b/graphics/java/android/graphics/RecordingCanvas.java
@@ -166,7 +166,9 @@
      * @param drawGLFunction A native function pointer
      *
      * @hide
+     * @deprecated Use {@link #drawWebViewFunctor(int)}
      */
+    @Deprecated
     public void callDrawGLFunction2(long drawGLFunction) {
         nCallDrawGLFunction(mNativeCanvasWrapper, drawGLFunction, null);
     }
@@ -184,7 +186,9 @@
      * canvas's display list has been released.
      *
      * @hide
+     * @deprecated Use {@link #drawWebViewFunctor(int)}
      */
+    @Deprecated
     public void drawGLFunctor2(long drawGLFunctor, @Nullable Runnable releasedCallback) {
         nCallDrawGLFunction(mNativeCanvasWrapper, drawGLFunctor, releasedCallback);
     }
diff --git a/graphics/java/android/graphics/RenderNode.java b/graphics/java/android/graphics/RenderNode.java
index 42b6acd..9b4f2c1 100644
--- a/graphics/java/android/graphics/RenderNode.java
+++ b/graphics/java/android/graphics/RenderNode.java
@@ -62,7 +62,7 @@
  *
  * <h3>Creating a RenderNode</h3>
  * <pre class="prettyprint">
- *     RenderNode renderNode = RenderNode.create("myRenderNode");
+ *     RenderNode renderNode = new RenderNode("myRenderNode");
  *     renderNode.setLeftTopRightBottom(0, 0, 50, 50); // Set the size to 50x50
  *     RecordingCanvas canvas = renderNode.beginRecording();
  *     try {
@@ -70,8 +70,7 @@
  *         canvas.drawRect(...);
  *     } finally {
  *         renderNode.endRecording();
- *     }
- * </pre>
+ *     }</pre>
  *
  * <h3>Drawing a RenderNode in a View</h3>
  * <pre class="prettyprint">
@@ -84,8 +83,7 @@
  *             // Draw the RenderNode into this canvas.
  *             canvas.drawRenderNode(myRenderNode);
  *         }
- *     }
- * </pre>
+ *     }</pre>
  *
  * <h3>Releasing resources</h3>
  * <p>This step is not mandatory but recommended if you want to release resources
@@ -93,8 +91,7 @@
  * <pre class="prettyprint">
  *     // Discards the display list content allowing for any held resources to be released.
  *     // After calling this
- *     renderNode.discardDisplayList();
- * </pre>
+ *     renderNode.discardDisplayList();</pre>
  *
  *
  * <h3>Properties</h3>
@@ -106,7 +103,7 @@
  *
  * <pre class="prettyprint">
  *     private void createDisplayList() {
- *         mRenderNode = RenderNode.create("MyRenderNode");
+ *         mRenderNode = new RenderNode("MyRenderNode");
  *         mRenderNode.setLeftTopRightBottom(0, 0, width, height);
  *         RecordingCanvas canvas = mRenderNode.beginRecording();
  *         try {
@@ -132,8 +129,39 @@
  *          // will be invoked and will execute very quickly
  *          mRenderNode.offsetLeftAndRight(x);
  *          invalidate();
- *     }
- * </pre>
+ *     }</pre>
+ *
+ * <p>A few of the properties may at first appear redundant, such as {@link #setElevation(float)}
+ * and {@link #setTranslationZ(float)}. The reason for these duplicates are to allow for a
+ * separation between static & transient usages. For example consider a button that raises from 2dp
+ * to 8dp when pressed. To achieve that an application may decide to setElevation(2dip), and then
+ * on press to animate setTranslationZ to 6dip. Combined this achieves the final desired 8dip
+ * value, but the animation need only concern itself with animating the lift from press without
+ * needing to know the initial starting value. {@link #setTranslationX(float)} and
+ * {@link #setTranslationY(float)} are similarly provided for animation uses despite the functional
+ * overlap with {@link #setPosition(Rect)}.
+ *
+ * <p>The RenderNode's transform matrix is computed at render time as follows:
+ * <pre class="prettyprint">
+ *     Matrix transform = new Matrix();
+ *     transform.setTranslate(renderNode.getTranslationX(), renderNode.getTranslationY());
+ *     transform.preRotate(renderNode.getRotationZ(),
+ *             renderNode.getPivotX(), renderNode.getPivotY());
+ *     transform.preScale(renderNode.getScaleX(), renderNode.getScaleY(),
+ *             renderNode.getPivotX(), renderNode.getPivotY());</pre>
+ * The current canvas transform matrix, which is translated to the RenderNode's position,
+ * is then multiplied by the RenderNode's transform matrix. Therefore the ordering of calling
+ * property setters does not affect the result. That is to say that:
+ *
+ * <pre class="prettyprint">
+ *     renderNode.setTranslationX(100);
+ *     renderNode.setScaleX(100);</pre>
+ *
+ * is equivalent to:
+ *
+ * <pre class="prettyprint">
+ *     renderNode.setScaleX(100);
+ *     renderNode.setTranslationX(100);</pre>
  *
  * <h3>Threading</h3>
  * <p>RenderNode may be created and used on any thread but they are not thread-safe. Only
@@ -152,8 +180,7 @@
  *         if (needsUpdate) {
  *             myOwningView.invalidate();
  *         }
- *     }
- * </pre>
+ *     }</pre>
  * This is marginally faster than doing a more explicit up-front check if the value changed by
  * comparing the desired value against {@link #getTranslationX()} as it minimizes JNI transitions.
  * The actual mechanism of requesting a new frame to be rendered will depend on how this
@@ -168,8 +195,9 @@
 
     // Use a Holder to allow static initialization in the boot image.
     private static class NoImagePreloadHolder {
-        public static final NativeAllocationRegistry sRegistry = new NativeAllocationRegistry(
-                RenderNode.class.getClassLoader(), nGetNativeFinalizer(), 1024);
+        public static final NativeAllocationRegistry sRegistry =
+                NativeAllocationRegistry.createMalloced(
+                RenderNode.class.getClassLoader(), nGetNativeFinalizer());
     }
 
     /**
@@ -338,7 +366,7 @@
      * @see #endRecording()
      * @see #hasDisplayList()
      */
-    public RecordingCanvas beginRecording(int width, int height) {
+    public @NonNull RecordingCanvas beginRecording(int width, int height) {
         if (mCurrentRecordingCanvas != null) {
             throw new IllegalStateException(
                     "Recording currently in progress - missing #endRecording() call?");
@@ -358,7 +386,7 @@
      * @see #endRecording()
      * @see #hasDisplayList()
      */
-    public RecordingCanvas beginRecording() {
+    public @NonNull RecordingCanvas beginRecording() {
         return beginRecording(nGetWidth(mNativeRenderNode), nGetHeight(mNativeRenderNode));
     }
 
@@ -778,14 +806,37 @@
      * for the matrix parameter.
      *
      * @param matrix The matrix, null indicates that the matrix should be cleared.
+     * @see #getAnimationMatrix()
+     *
      * @hide TODO Do we want this?
      */
-    public boolean setAnimationMatrix(Matrix matrix) {
+    public boolean setAnimationMatrix(@Nullable Matrix matrix) {
         return nSetAnimationMatrix(mNativeRenderNode,
                 (matrix != null) ? matrix.native_instance : 0);
     }
 
     /**
+     * Returns the previously set Animation matrix. This matrix exists if an Animation is
+     * currently playing on a View, and is set on the display list during at draw() time.
+     * Returns <code>null</code> when there is no transformation provided by
+     * {@link #setAnimationMatrix(Matrix)}.
+     *
+     * @return the current Animation matrix.
+     * @see #setAnimationMatrix(Matrix)
+     *
+     * @hide
+     */
+    @Nullable
+    public Matrix getAnimationMatrix() {
+        Matrix output = new Matrix();
+        if (nGetAnimationMatrix(mNativeRenderNode, output.native_instance)) {
+            return output;
+        } else {
+            return null;
+        }
+    }
+
+    /**
      * Sets the translucency level for the display list.
      *
      * @param alpha The translucency of the display list, must be a value between 0.0f and 1.0f
@@ -1285,7 +1336,7 @@
      * @param position The position rectangle in pixels
      * @return True if the value changed, false if the new value was the same as the previous value.
      */
-    public boolean setPosition(Rect position) {
+    public boolean setPosition(@NonNull Rect position) {
         return nSetLeftTopRightBottom(mNativeRenderNode,
                 position.left, position.top, position.right, position.bottom);
     }
@@ -1630,6 +1681,9 @@
     private static native boolean nHasOverlappingRendering(long renderNode);
 
     @CriticalNative
+    private static native boolean nGetAnimationMatrix(long renderNode, long animationMatrix);
+
+    @CriticalNative
     private static native boolean nGetClipToOutline(long renderNode);
 
     @CriticalNative
diff --git a/graphics/java/android/graphics/Shader.java b/graphics/java/android/graphics/Shader.java
index d555128..3050d1d 100644
--- a/graphics/java/android/graphics/Shader.java
+++ b/graphics/java/android/graphics/Shader.java
@@ -33,8 +33,9 @@
 public class Shader {
 
     private static class NoImagePreloadHolder {
-        public static final NativeAllocationRegistry sRegistry = new NativeAllocationRegistry(
-                Shader.class.getClassLoader(), nativeGetFinalizer(), 50);
+        public static final NativeAllocationRegistry sRegistry =
+                NativeAllocationRegistry.createMalloced(
+                Shader.class.getClassLoader(), nativeGetFinalizer());
     }
 
     /**
diff --git a/graphics/java/android/graphics/Typeface.java b/graphics/java/android/graphics/Typeface.java
index e93e757..9995f1e 100644
--- a/graphics/java/android/graphics/Typeface.java
+++ b/graphics/java/android/graphics/Typeface.java
@@ -34,6 +34,7 @@
 import android.graphics.fonts.SystemFonts;
 import android.os.Build;
 import android.os.Build.VERSION_CODES;
+import android.os.ParcelFileDescriptor;
 import android.provider.FontRequest;
 import android.provider.FontsContract;
 import android.text.FontConfig;
@@ -74,8 +75,9 @@
 
     private static String TAG = "Typeface";
 
-    private static final NativeAllocationRegistry sRegistry = new NativeAllocationRegistry(
-            Typeface.class.getClassLoader(), nativeGetReleaseFunc(), 64);
+    private static final NativeAllocationRegistry sRegistry =
+            NativeAllocationRegistry.createMalloced(
+            Typeface.class.getClassLoader(), nativeGetReleaseFunc());
 
     /** The default NORMAL typeface object */
     public static final Typeface DEFAULT;
@@ -368,7 +370,7 @@
         private final AssetManager mAssetManager;
         private final String mPath;
 
-        private final Font.Builder mFontBuilder;
+        private final @Nullable Font.Builder mFontBuilder;
 
         private String mFallbackFamilyName;
 
@@ -395,7 +397,16 @@
          * @param fd The file descriptor. The passed fd must be mmap-able.
          */
         public Builder(@NonNull FileDescriptor fd) {
-            mFontBuilder = new Font.Builder(fd);
+            Font.Builder builder;
+            try {
+                builder = new Font.Builder(ParcelFileDescriptor.dup(fd));
+            } catch (IOException e) {
+                // We cannot tell the error to developer at this moment since we cannot change the
+                // public API signature. Instead, silently fallbacks to system fallback in the build
+                // method as the same as other error cases.
+                builder = null;
+            }
+            mFontBuilder = builder;
             mAssetManager = null;
             mPath = null;
         }
@@ -585,6 +596,9 @@
          * @return Newly created Typeface. May return null if some parameters are invalid.
          */
         public Typeface build() {
+            if (mFontBuilder == null) {
+                return resolveFallbackTypeface();
+            }
             try {
                 final Font font = mFontBuilder.build();
                 final String key = mAssetManager == null ? null : createAssetUid(
@@ -687,7 +701,7 @@
      * </pre>
      * </p>
      */
-    public static class CustomFallbackBuilder {
+    public static final class CustomFallbackBuilder {
         private static final int MAX_CUSTOM_FALLBACK = 64;
         private final ArrayList<FontFamily> mFamilies = new ArrayList<>();
         private String mFallbackName = null;
@@ -728,7 +742,7 @@
          * @param familyName a family name to be used for fallback if the provided fonts can not be
          *                   used
          */
-        public CustomFallbackBuilder setSystemFallback(@NonNull String familyName) {
+        public @NonNull CustomFallbackBuilder setSystemFallback(@NonNull String familyName) {
             Preconditions.checkNotNull(familyName);
             mFallbackName = familyName;
             return this;
@@ -743,7 +757,7 @@
          *
          * @param style a font style
          */
-        public CustomFallbackBuilder setStyle(@NonNull FontStyle style) {
+        public @NonNull CustomFallbackBuilder setStyle(@NonNull FontStyle style) {
             mStyle = style;
             return this;
         }
@@ -758,7 +772,7 @@
          * @param family a fallback family
          * @throws IllegalArgumentException if you give more than 64 custom fallback families
          */
-        public CustomFallbackBuilder addCustomFallback(@NonNull FontFamily family) {
+        public @NonNull CustomFallbackBuilder addCustomFallback(@NonNull FontFamily family) {
             Preconditions.checkNotNull(family);
             Preconditions.checkArgument(mFamilies.size() < getMaxCustomFallbackCount(),
                     "Custom fallback limit exceeded(" + getMaxCustomFallbackCount() + ")");
@@ -771,7 +785,7 @@
          *
          * @return the Typeface object
          */
-        public Typeface build() {
+        public @NonNull Typeface build() {
             final int userFallbackSize = mFamilies.size();
             final FontFamily[] fallback = SystemFonts.getSystemFallback(mFallbackName);
             final long[] ptrArray = new long[fallback.length + userFallbackSize];
diff --git a/graphics/java/android/graphics/drawable/AnimatedImageDrawable.java b/graphics/java/android/graphics/drawable/AnimatedImageDrawable.java
index 3aaec31..82f5870 100644
--- a/graphics/java/android/graphics/drawable/AnimatedImageDrawable.java
+++ b/graphics/java/android/graphics/drawable/AnimatedImageDrawable.java
@@ -291,8 +291,8 @@
      */
     public AnimatedImageDrawable(long nativeImageDecoder,
             @Nullable ImageDecoder decoder, int width, int height,
-            int srcDensity, int dstDensity, Rect cropRect,
-            InputStream inputStream, AssetFileDescriptor afd)
+            long colorSpaceHandle, boolean extended, int srcDensity, int dstDensity,
+            Rect cropRect, InputStream inputStream, AssetFileDescriptor afd)
             throws IOException {
         width = Bitmap.scaleFromDensity(width, srcDensity, dstDensity);
         height = Bitmap.scaleFromDensity(height, srcDensity, dstDensity);
@@ -309,11 +309,11 @@
             mIntrinsicHeight = cropRect.height();
         }
 
-        mState = new State(nCreate(nativeImageDecoder, decoder, width, height, cropRect),
-                inputStream, afd);
+        mState = new State(nCreate(nativeImageDecoder, decoder, width, height, colorSpaceHandle,
+                    extended, cropRect), inputStream, afd);
 
         final long nativeSize = nNativeByteSize(mState.mNativePtr);
-        NativeAllocationRegistry registry = new NativeAllocationRegistry(
+        NativeAllocationRegistry registry = NativeAllocationRegistry.createMalloced(
                 AnimatedImageDrawable.class.getClassLoader(), nGetNativeFinalizer(), nativeSize);
         registry.registerNativeAllocation(mState, mState.mNativePtr);
     }
@@ -574,8 +574,8 @@
 
 
     private static native long nCreate(long nativeImageDecoder,
-            @Nullable ImageDecoder decoder, int width, int height, Rect cropRect)
-        throws IOException;
+            @Nullable ImageDecoder decoder, int width, int height, long colorSpaceHandle,
+            boolean extended, Rect cropRect) throws IOException;
     @FastNative
     private static native long nGetNativeFinalizer();
     private static native long nDraw(long nativePtr, long canvasNativePtr);
diff --git a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
index d7aee77..d9dab98 100644
--- a/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
+++ b/graphics/java/android/graphics/drawable/AnimatedVectorDrawable.java
@@ -1253,7 +1253,6 @@
         private boolean mInitialized = false;
         private boolean mIsReversible = false;
         private boolean mIsInfinite = false;
-        // TODO: Consider using NativeAllocationRegistery to track native allocation
         private final VirtualRefBasePtr mSetRefBasePtr;
         private WeakReference<RenderNode> mLastSeenTarget = null;
         private int mLastListenerId = 0;
diff --git a/graphics/java/android/graphics/drawable/GradientDrawable.java b/graphics/java/android/graphics/drawable/GradientDrawable.java
index 1894e32..e58e802 100644
--- a/graphics/java/android/graphics/drawable/GradientDrawable.java
+++ b/graphics/java/android/graphics/drawable/GradientDrawable.java
@@ -17,9 +17,11 @@
 package android.graphics.drawable;
 
 import android.annotation.ColorInt;
+import android.annotation.FloatRange;
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.Px;
 import android.annotation.UnsupportedAppUsage;
 import android.content.pm.ActivityInfo.Config;
 import android.content.res.ColorStateList;
@@ -670,7 +672,7 @@
      * @see #mutate()
      * @see #setColor(int)
      */
-    public void setColors(@ColorInt int[] colors) {
+    public void setColors(@Nullable @ColorInt int[] colors) {
         setColors(colors, null);
     }
 
@@ -690,7 +692,7 @@
      * @see #mutate()
      * @see #setColors(int[])
      */
-    public void setColors(@ColorInt int[] colors, @Nullable float[] offsets) {
+    public void setColors(@Nullable @ColorInt int[] colors, @Nullable float[] offsets) {
         mGradientState.setGradientColors(colors);
         mGradientState.mPositions = offsets;
         mGradientIsDirty = true;
@@ -877,7 +879,11 @@
      * @see #getInnerRadiusRatio()
      * @attr ref android.R.styleable#GradientDrawable_innerRadiusRatio
      */
-    public void setInnerRadiusRatio(float innerRadiusRatio) {
+    public void setInnerRadiusRatio(
+            @FloatRange(from = 0.0f, fromInclusive = false) float innerRadiusRatio) {
+        if (innerRadiusRatio <= 0) {
+            throw new IllegalArgumentException("Ratio must be greater than zero");
+        }
         mGradientState.mInnerRadiusRatio = innerRadiusRatio;
         mPathIsDirty = true;
         invalidateSelf();
@@ -899,7 +905,7 @@
      * @see #getInnerRadius()
      * @attr ref android.R.styleable#GradientDrawable_innerRadius
      */
-    public void setInnerRadius(int innerRadius) {
+    public void setInnerRadius(@Px int innerRadius) {
         mGradientState.mInnerRadius = innerRadius;
         mPathIsDirty = true;
         invalidateSelf();
@@ -911,7 +917,7 @@
      * @see #setInnerRadius(int)
      * @attr ref android.R.styleable#GradientDrawable_innerRadius
      */
-    public int getInnerRadius() {
+    public @Px int getInnerRadius() {
         return mGradientState.mInnerRadius;
     }
 
@@ -921,7 +927,11 @@
      * @see #getThicknessRatio()
      * @attr ref android.R.styleable#GradientDrawable_thicknessRatio
      */
-    public void setThicknessRatio(float thicknessRatio) {
+    public void setThicknessRatio(
+            @FloatRange(from = 0.0f, fromInclusive = false) float thicknessRatio) {
+        if (thicknessRatio <= 0) {
+            throw new IllegalArgumentException("Ratio must be greater than zero");
+        }
         mGradientState.mThicknessRatio = thicknessRatio;
         mPathIsDirty = true;
         invalidateSelf();
@@ -942,7 +952,7 @@
      *
      * @attr ref android.R.styleable#GradientDrawable_thickness
      */
-    public void setThickness(int thickness) {
+    public void setThickness(@Px int thickness) {
         mGradientState.mThickness = thickness;
         mPathIsDirty = true;
         invalidateSelf();
@@ -954,7 +964,7 @@
      * @see #setThickness(int)
      * @attr ref android.R.styleable#GradientDrawable_thickness
      */
-    public int getThickness() {
+    public @Px int getThickness() {
         return mGradientState.mThickness;
     }
 
@@ -970,7 +980,7 @@
      * @attr ref android.R.styleable#GradientDrawablePadding_right
      * @attr ref android.R.styleable#GradientDrawablePadding_bottom
      */
-    public void setPadding(int left, int top, int right, int bottom) {
+    public void setPadding(@Px int left, @Px int top, @Px int right, @Px int bottom) {
         if (mGradientState.mPadding == null) {
             mGradientState.mPadding = new Rect();
         }
diff --git a/graphics/java/android/graphics/drawable/StateListDrawable.java b/graphics/java/android/graphics/drawable/StateListDrawable.java
index 2855227..f67188c 100644
--- a/graphics/java/android/graphics/drawable/StateListDrawable.java
+++ b/graphics/java/android/graphics/drawable/StateListDrawable.java
@@ -256,7 +256,7 @@
      * @see #getStateCount()
      * @see #getStateDrawable(int)
      */
-    public int[] getStateSet(int index) {
+    public @NonNull int[] getStateSet(int index) {
         return mStateListState.mStateSets[index];
     }
 
@@ -268,7 +268,7 @@
      * @see #getStateCount()
      * @see #getStateSet(int)
      */
-    public Drawable getStateDrawable(int index) {
+    public @Nullable Drawable getStateDrawable(int index) {
         return mStateListState.getChild(index);
     }
 
@@ -280,7 +280,7 @@
      * @see #getStateDrawable(int)
      * @see #getStateSet(int)
      */
-    public int findStateDrawableIndex(int[] stateSet) {
+    public int findStateDrawableIndex(@NonNull int[] stateSet) {
         return mStateListState.indexOfStateSet(stateSet);
     }
 
diff --git a/graphics/java/android/graphics/fonts/Font.java b/graphics/java/android/graphics/fonts/Font.java
index 7f165bf..552088f 100644
--- a/graphics/java/android/graphics/fonts/Font.java
+++ b/graphics/java/android/graphics/fonts/Font.java
@@ -22,6 +22,7 @@
 import android.content.res.AssetManager;
 import android.content.res.Resources;
 import android.os.LocaleList;
+import android.os.ParcelFileDescriptor;
 import android.util.TypedValue;
 
 import com.android.internal.util.Preconditions;
@@ -31,7 +32,6 @@
 import libcore.util.NativeAllocationRegistry;
 
 import java.io.File;
-import java.io.FileDescriptor;
 import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
@@ -53,14 +53,14 @@
     /**
      * A builder class for creating new Font.
      */
-    public static class Builder {
-        private static final NativeAllocationRegistry sAssetByteBufferRegistroy =
-                new NativeAllocationRegistry(ByteBuffer.class.getClassLoader(),
-                    nGetReleaseNativeAssetFunc(), 64);
+    public static final class Builder {
+        private static final NativeAllocationRegistry sAssetByteBufferRegistry =
+                NativeAllocationRegistry.createMalloced(ByteBuffer.class.getClassLoader(),
+                    nGetReleaseNativeAssetFunc());
 
-        private static final NativeAllocationRegistry sFontRegistory =
-                new NativeAllocationRegistry(Font.class.getClassLoader(),
-                    nGetReleaseNativeFont(), 64);
+        private static final NativeAllocationRegistry sFontRegistry =
+                NativeAllocationRegistry.createMalloced(Font.class.getClassLoader(),
+                    nGetReleaseNativeFont());
 
         private @Nullable ByteBuffer mBuffer;
         private @Nullable File mFile;
@@ -122,7 +122,7 @@
          *
          * @param fd a file descriptor
          */
-        public Builder(@NonNull FileDescriptor fd) {
+        public Builder(@NonNull ParcelFileDescriptor fd) {
             this(fd, 0, -1);
         }
 
@@ -133,9 +133,9 @@
          * @param offset an offset to of the font data in the file
          * @param size a size of the font data. If -1 is passed, use until end of the file.
          */
-        public Builder(@NonNull FileDescriptor fd, @IntRange(from = 0) long offset,
+        public Builder(@NonNull ParcelFileDescriptor fd, @IntRange(from = 0) long offset,
                 @IntRange(from = -1) long size) {
-            try (FileInputStream fis = new FileInputStream(fd)) {
+            try (FileInputStream fis = new FileInputStream(fd.getFileDescriptor())) {
                 final FileChannel fc = fis.getChannel();
                 size = (size == -1) ? fc.size() - offset : size;
                 mBuffer = fc.map(FileChannel.MapMode.READ_ONLY, offset, size);
@@ -171,7 +171,7 @@
                 return;
             }
             final ByteBuffer b = nGetAssetBuffer(nativeAsset);
-            sAssetByteBufferRegistroy.registerNativeAllocation(b, nativeAsset);
+            sAssetByteBufferRegistry.registerNativeAllocation(b, nativeAsset);
             if (b == null) {
                 mException = new FileNotFoundException(path + " not found");
                 return;
@@ -206,7 +206,7 @@
                 return;
             }
             final ByteBuffer b = nGetAssetBuffer(nativeAsset);
-            sAssetByteBufferRegistroy.registerNativeAllocation(b, nativeAsset);
+            sAssetByteBufferRegistry.registerNativeAllocation(b, nativeAsset);
             if (b == null) {
                 mException = new FileNotFoundException(str + " not found");
                 return;
@@ -356,7 +356,7 @@
          * Creates the font based on the configured values.
          * @return the Font object
          */
-        public @Nullable Font build() throws IOException {
+        public @NonNull Font build() throws IOException {
             if (mException != null) {
                 throw new IOException("Failed to read font contents", mException);
             }
@@ -391,7 +391,7 @@
                     mTtcIndex);
             final Font font = new Font(ptr, readonlyBuffer, mFile,
                     new FontStyle(mWeight, slant), mTtcIndex, mAxes, mLocaleList);
-            sFontRegistory.registerNativeAllocation(font, ptr);
+            sFontRegistry.registerNativeAllocation(font, ptr);
             return font;
         }
 
@@ -467,7 +467,7 @@
      * @see Builder#setSlant(int)
      * @return a font style
      */
-    public FontStyle getStyle() {
+    public @NonNull FontStyle getStyle() {
         return mFontStyle;
     }
 
diff --git a/graphics/java/android/graphics/fonts/FontFamily.java b/graphics/java/android/graphics/fonts/FontFamily.java
index c0f1b16..75ea120 100644
--- a/graphics/java/android/graphics/fonts/FontFamily.java
+++ b/graphics/java/android/graphics/fonts/FontFamily.java
@@ -61,10 +61,10 @@
     /**
      * A builder class for creating new FontFamily.
      */
-    public static class Builder {
+    public static final class Builder {
         private static final NativeAllocationRegistry sFamilyRegistory =
-                new NativeAllocationRegistry(FontFamily.class.getClassLoader(),
-                    nGetReleaseNativeFamily(), 64);
+                NativeAllocationRegistry.createMalloced(FontFamily.class.getClassLoader(),
+                    nGetReleaseNativeFamily());
 
         private final ArrayList<Font> mFonts = new ArrayList<>();
         private final HashSet<Integer> mStyleHashSet = new HashSet<>();
@@ -152,7 +152,7 @@
      * @param index an index of the font
      * @return a registered font
      */
-    public Font getFont(@IntRange(from = 0) int index) {
+    public @NonNull Font getFont(@IntRange(from = 0) int index) {
         return mFonts.get(index);
     }
 
@@ -161,7 +161,7 @@
      *
      * @return the number of fonts registered in this family.
      */
-    public int getSize() {
+    public @IntRange(from = 1) int getSize() {
         return mFonts.size();
     }
 
diff --git a/graphics/java/android/graphics/text/LineBreaker.java b/graphics/java/android/graphics/text/LineBreaker.java
index 1647909..54622c5 100644
--- a/graphics/java/android/graphics/text/LineBreaker.java
+++ b/graphics/java/android/graphics/text/LineBreaker.java
@@ -69,7 +69,7 @@
  * }
  *
  * // Draw text to the canvas
- * Bitmap bmp = new Bitmap.createBitmap(240, totalHeight, Bitmap.Config.ARGB_8888);
+ * Bitmap bmp = Bitmap.createBitmap(240, totalHeight, Bitmap.Config.ARGB_8888);
  * Canvas c = new Canvas(bmp);
  * float yOffset = 0f;
  * int prevOffset = 0;
@@ -177,10 +177,10 @@
     /**
      * Helper class for creating a {@link LineBreaker}.
      */
-    public static class Builder {
+    public static final class Builder {
         private @BreakStrategy int mBreakStrategy = BREAK_STRATEGY_SIMPLE;
         private @HyphenationFrequency int mHyphenationFrequency = HYPHENATION_FREQUENCY_NONE;
-        private @JustificationMode int mJustified = JUSTIFICATION_MODE_NONE;
+        private @JustificationMode int mJustificationMode = JUSTIFICATION_MODE_NONE;
         private @Nullable int[] mIndents = null;
 
         /**
@@ -189,7 +189,7 @@
          * You can change the line breaking behavior by setting break strategy. The default value is
          * {@link #BREAK_STRATEGY_SIMPLE}.
          */
-        public Builder setBreakStrategy(@BreakStrategy int breakStrategy) {
+        public @NonNull Builder setBreakStrategy(@BreakStrategy int breakStrategy) {
             mBreakStrategy = breakStrategy;
             return this;
         }
@@ -200,7 +200,8 @@
          * You can change the amount of automatic hyphenation used. The default value is
          * {@link #HYPHENATION_FREQUENCY_NONE}.
          */
-        public Builder setHyphenationFrequency(@HyphenationFrequency int hyphenationFrequency) {
+        public @NonNull Builder setHyphenationFrequency(
+                @HyphenationFrequency int hyphenationFrequency) {
             mHyphenationFrequency = hyphenationFrequency;
             return this;
         }
@@ -212,8 +213,8 @@
          * internal parameters for justification.
          * The default value is {@link #JUSTIFICATION_MODE_NONE}
          */
-        public Builder setJustified(@JustificationMode int justified) {
-            mJustified = justified;
+        public @NonNull Builder setJustificationMode(@JustificationMode int justificationMode) {
+            mJustificationMode = justificationMode;
             return this;
         }
 
@@ -224,7 +225,7 @@
          * amount is the sum of both left and right indentations. For lines past the last element in
          * the array, the indentation amount of the last element is used.
          */
-        public Builder setIndents(@Nullable int[] indents) {
+        public @NonNull Builder setIndents(@Nullable int[] indents) {
             mIndents = indents;
             return this;
         }
@@ -234,8 +235,9 @@
          *
          * You can reuse the Builder instance even after calling this method.
          */
-        public LineBreaker build() {
-            return new LineBreaker(mBreakStrategy, mHyphenationFrequency, mJustified, mIndents);
+        public @NonNull LineBreaker build() {
+            return new LineBreaker(mBreakStrategy, mHyphenationFrequency, mJustificationMode,
+                    mIndents);
         }
     }
 
@@ -246,8 +248,8 @@
         private @FloatRange(from = 0.0f) float mWidth = 0;
         private @FloatRange(from = 0.0f) float mFirstWidth = 0;
         private @IntRange(from = 0) int mFirstWidthLineCount = 0;
-        private @Nullable int[] mVariableTabStops = null;
-        private @IntRange(from = 0) int mDefaultTabStop = 0;
+        private @Nullable float[] mVariableTabStops = null;
+        private @FloatRange(from = 0) float mDefaultTabStop = 0;
 
         public ParagraphConstraints() {}
 
@@ -282,8 +284,8 @@
          * @see #getTabStops()
          * @see #getDefaultTabStop()
          */
-        public void setTabStops(@Nullable int[] tabStops,
-                @Px @IntRange(from = 0) int defaultTabStop) {
+        public void setTabStops(@Nullable float[] tabStops,
+                @Px @FloatRange(from = 0) float defaultTabStop) {
             mVariableTabStops = tabStops;
             mDefaultTabStop = defaultTabStop;
         }
@@ -318,18 +320,18 @@
         /**
          * Returns the array of tab stops in pixels.
          *
-         * @see #setTabStops(int[], int)
+         * @see #setTabStops(float[], int)
          */
-        public @Nullable int[] getTabStops() {
+        public @Nullable float[] getTabStops() {
             return mVariableTabStops;
         }
 
         /**
          * Returns the default tab stops in pixels.
          *
-         * @see #setTabStop(int[], int)
+         * @see #setTabStop(float[], int)
          */
-        public @Px @IntRange(from = 0) int getDefaultTabStop() {
+        public @Px @FloatRange(from = 0) float getDefaultTabStop() {
             return mDefaultTabStop;
         }
     }
@@ -340,11 +342,16 @@
      */
     public static class Result {
         // Following two contstant must be synced with minikin's line breaker.
+        // TODO(nona): Remove these constatns by introducing native methods.
         private static final int TAB_MASK = 0x20000000;
         private static final int HYPHEN_MASK = 0xFF;
+        private static final int START_HYPHEN_MASK = 0x18;  // 0b11000
+        private static final int END_HYPHEN_MASK = 0x7;  // 0b00111
+        private static final int START_HYPHEN_BITS_SHIFT = 3;
 
-        private static final NativeAllocationRegistry sRegistry = new NativeAllocationRegistry(
-                Result.class.getClassLoader(), nGetReleaseResultFunc(), 32);
+        private static final NativeAllocationRegistry sRegistry =
+                NativeAllocationRegistry.createMalloced(
+                Result.class.getClassLoader(), nGetReleaseResultFunc());
         private final long mPtr;
 
         private Result(long ptr) {
@@ -412,22 +419,35 @@
         }
 
         /**
-         * Returns a packed packed hyphen edit for the line.
+         * Returns a start hyphen edit for the line.
          *
          * @param lineIndex an index of the line.
-         * @return a packed hyphen edit for the line.
+         * @return a start hyphen edit for the line.
          *
-         * @see android.text.Hyphenator#unpackStartHyphenEdit(int)
-         * @see android.text.Hyphenator#unpackEndHyphenEdit(int)
-         * @see android.text.Hyphenator#packHyphenEdit(int,int)
+         * @see android.graphics.Paint#setStartHyphenEdit
+         * @see android.graphics.Paint#getStartHyphenEdit
          */
-        public int getLineHyphenEdit(int lineIndex) {
-            return (nGetLineFlag(mPtr, lineIndex) & HYPHEN_MASK);
+        public int getStartLineHyphenEdit(int lineIndex) {
+            return (nGetLineFlag(mPtr, lineIndex) & START_HYPHEN_MASK) >> START_HYPHEN_BITS_SHIFT;
+        }
+
+        /**
+         * Returns an end hyphen edit for the line.
+         *
+         * @param lineIndex an index of the line.
+         * @return an end hyphen edit for the line.
+         *
+         * @see android.graphics.Paint#setEndHyphenEdit
+         * @see android.graphics.Paint#getEndHyphenEdit
+         */
+        public int getEndLineHyphenEdit(int lineIndex) {
+            return nGetLineFlag(mPtr, lineIndex) & END_HYPHEN_MASK;
         }
     }
 
-    private static final NativeAllocationRegistry sRegistry = new NativeAllocationRegistry(
-            LineBreaker.class.getClassLoader(), nGetReleaseFunc(), 64);
+    private static final NativeAllocationRegistry sRegistry =
+            NativeAllocationRegistry.createMalloced(
+            LineBreaker.class.getClassLoader(), nGetReleaseFunc());
 
     private final long mNativePtr;
 
@@ -451,7 +471,7 @@
      * @param constraints for a single paragraph
      * @param lineNumber a line number of this paragraph
      */
-    public Result computeLineBreaks(
+    public @NonNull Result computeLineBreaks(
             @NonNull MeasuredText measuredPara,
             @NonNull ParagraphConstraints constraints,
             @IntRange(from = 0) int lineNumber) {
@@ -495,8 +515,8 @@
             @FloatRange(from = 0.0f) float firstWidth,
             @IntRange(from = 0) int firstWidthLineCount,
             @FloatRange(from = 0.0f) float restWidth,
-            @Nullable int[] variableTabStops,
-            int defaultTabStop,
+            @Nullable float[] variableTabStops,
+            float defaultTabStop,
             @IntRange(from = 0) int indentsOffset);
 
     // Result accessors
diff --git a/graphics/java/android/graphics/text/MeasuredText.java b/graphics/java/android/graphics/text/MeasuredText.java
index 2536619..9db7533 100644
--- a/graphics/java/android/graphics/text/MeasuredText.java
+++ b/graphics/java/android/graphics/text/MeasuredText.java
@@ -65,6 +65,7 @@
 
     /**
      * Returns the characters in the paragraph used to compute this MeasuredText instance.
+     * @hide
      */
     public @NonNull char[] getChars() {
         return mChars;
@@ -168,9 +169,10 @@
      *
      * Note: The appendStyle and appendReplacementRun should be called to cover the text length.
      */
-    public static class Builder {
-        private static final NativeAllocationRegistry sRegistry = new NativeAllocationRegistry(
-                MeasuredText.class.getClassLoader(), nGetReleaseFunc(), 1024);
+    public static final class Builder {
+        private static final NativeAllocationRegistry sRegistry =
+                NativeAllocationRegistry.createMalloced(
+                MeasuredText.class.getClassLoader(), nGetReleaseFunc());
 
         private long mNativePtr;
 
@@ -227,7 +229,7 @@
          *               text
          * @param isRtl true if the text is in RTL context, otherwise false.
          */
-        public Builder appendStyleRun(@NonNull Paint paint, @IntRange(from = 0) int length,
+        public @NonNull Builder appendStyleRun(@NonNull Paint paint, @IntRange(from = 0) int length,
                 boolean isRtl) {
             Preconditions.checkNotNull(paint);
             Preconditions.checkArgument(length > 0, "length can not be negative");
@@ -253,8 +255,8 @@
          *               text
          * @param width a replacement width of the range
          */
-        public Builder appendReplacementRun(@NonNull Paint paint,
-                @IntRange(from = 0) int length, @FloatRange(from = 0) float width) {
+        public @NonNull Builder appendReplacementRun(@NonNull Paint paint,
+                @IntRange(from = 0) int length, @Px @FloatRange(from = 0) float width) {
             Preconditions.checkArgument(length > 0, "length can not be negative");
             final int end = mCurrentOffset + length;
             Preconditions.checkArgument(end <= mText.length, "Replacement exceeds the text length");
@@ -275,7 +277,7 @@
          *
          * @param computeHyphenation true if you want to use automatic hyphenations.
          */
-        public Builder setComputeHyphenation(boolean computeHyphenation) {
+        public @NonNull Builder setComputeHyphenation(boolean computeHyphenation) {
             mComputeHyphenation = computeHyphenation;
             return this;
         }
@@ -292,7 +294,7 @@
          *
          * @param computeLayout true if you want to retrieve full layout info, e.g. bbox.
          */
-        public Builder setComputeLayout(boolean computeLayout) {
+        public @NonNull Builder setComputeLayout(boolean computeLayout) {
             mComputeLayout = computeLayout;
             return this;
         }
@@ -305,7 +307,7 @@
          * @throws IllegalStateException if the whole text is not covered by one or more runs (style
          *                               or replacement)
          */
-        public MeasuredText build() {
+        public @NonNull MeasuredText build() {
             ensureNativePtrNoReuse();
             if (mCurrentOffset != mText.length) {
                 throw new IllegalStateException("Style info has not been provided for all text.");
diff --git a/keystore/java/android/security/keystore/AndroidKeyStoreSpi.java b/keystore/java/android/security/keystore/AndroidKeyStoreSpi.java
index 105af6e..51c4252 100644
--- a/keystore/java/android/security/keystore/AndroidKeyStoreSpi.java
+++ b/keystore/java/android/security/keystore/AndroidKeyStoreSpi.java
@@ -16,7 +16,6 @@
 
 package android.security.keystore;
 
-import libcore.util.EmptyArray;
 import android.security.Credentials;
 import android.security.GateKeeper;
 import android.security.KeyStore;
@@ -31,6 +30,8 @@
 import android.security.keystore.WrappedKeyEntry;
 import android.util.Log;
 
+import libcore.util.EmptyArray;
+
 import java.io.ByteArrayInputStream;
 import java.io.IOException;
 import java.io.InputStream;
@@ -123,7 +124,14 @@
 
         final Certificate[] caList;
 
-        final byte[] caBytes = mKeyStore.get(Credentials.CA_CERTIFICATE + alias, mUid);
+        // Suppress the key not found warning for this call. It seems that this error is exclusively
+        // being thrown when there is a self signed certificate chain, so when the keystore service
+        // attempts to query for the CA details, it obviously fails to find them and returns a
+        // key not found exception. This is WAI, and throwing a stack trace here can be very
+        // misleading since the trace is not clear.
+        final byte[] caBytes = mKeyStore.get(Credentials.CA_CERTIFICATE + alias,
+                                             mUid,
+                                             true /* suppressKeyNotFoundWarning */);
         if (caBytes != null) {
             final Collection<X509Certificate> caChain = toCertificates(caBytes);
 
diff --git a/keystore/java/android/security/keystore/DeviceIdAttestationException.java b/keystore/java/android/security/keystore/DeviceIdAttestationException.java
index 13f50b1..8ba0317 100644
--- a/keystore/java/android/security/keystore/DeviceIdAttestationException.java
+++ b/keystore/java/android/security/keystore/DeviceIdAttestationException.java
@@ -16,6 +16,7 @@
 
 package android.security.keystore;
 
+import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.annotation.TestApi;
 
@@ -33,7 +34,7 @@
      *
      * @param detailMessage the detail message for this exception.
      */
-    public DeviceIdAttestationException(String detailMessage) {
+    public DeviceIdAttestationException(@Nullable String detailMessage) {
         super(detailMessage);
     }
 
@@ -44,7 +45,7 @@
      * @param message the detail message for this exception.
      * @param cause the cause of this exception, may be {@code null}.
      */
-    public DeviceIdAttestationException(String message, Throwable cause) {
+    public DeviceIdAttestationException(@Nullable String message, @Nullable Throwable cause) {
         super(message, cause);
     }
 }
diff --git a/libs/androidfw/Asset.cpp b/libs/androidfw/Asset.cpp
index c512a6b..9a95fdf 100644
--- a/libs/androidfw/Asset.cpp
+++ b/libs/androidfw/Asset.cpp
@@ -292,8 +292,10 @@
 
     pAsset = new _FileAsset;
     result = pAsset->openChunk(dataMap);
-    if (result != NO_ERROR)
+    if (result != NO_ERROR) {
+        delete pAsset;
         return NULL;
+    }
 
     pAsset->mAccessMode = mode;
     return pAsset;
diff --git a/libs/androidfw/AttributeResolution.cpp b/libs/androidfw/AttributeResolution.cpp
index cc177af..e62fb61 100644
--- a/libs/androidfw/AttributeResolution.cpp
+++ b/libs/androidfw/AttributeResolution.cpp
@@ -388,7 +388,7 @@
     out_values[STYLE_RESOURCE_ID] = resid;
     out_values[STYLE_CHANGING_CONFIGURATIONS] = type_set_flags;
     out_values[STYLE_DENSITY] = config.density;
-    out_values[SYTLE_SOURCE_RESOURCE_ID] = value_source_resid;
+    out_values[STYLE_SOURCE_RESOURCE_ID] = value_source_resid;
 
     if (value.dataType != Res_value::TYPE_NULL || value.data == Res_value::DATA_NULL_EMPTY) {
       indices_idx++;
diff --git a/libs/androidfw/include/androidfw/AttributeResolution.h b/libs/androidfw/include/androidfw/AttributeResolution.h
index 0cc1d3c..d71aad2 100644
--- a/libs/androidfw/include/androidfw/AttributeResolution.h
+++ b/libs/androidfw/include/androidfw/AttributeResolution.h
@@ -33,7 +33,7 @@
   STYLE_RESOURCE_ID = 3,
   STYLE_CHANGING_CONFIGURATIONS = 4,
   STYLE_DENSITY = 5,
-  SYTLE_SOURCE_RESOURCE_ID = 6
+  STYLE_SOURCE_RESOURCE_ID = 6
 };
 
 // These are all variations of the same method. They each perform the exact same operation,
diff --git a/libs/hwui/Android.bp b/libs/hwui/Android.bp
index 793dd8d..ebba4cb 100644
--- a/libs/hwui/Android.bp
+++ b/libs/hwui/Android.bp
@@ -69,6 +69,7 @@
         "libminikin",
         "libandroidfw",
         "libcrypto",
+        "libsync",
     ],
     static_libs: [
         "libEGL_blobCache",
@@ -180,6 +181,7 @@
         "renderthread/EglManager.cpp",
         "renderthread/ReliableSurface.cpp",
         "renderthread/VulkanManager.cpp",
+        "renderthread/VulkanSurface.cpp",
         "renderthread/RenderProxy.cpp",
         "renderthread/RenderTask.cpp",
         "renderthread/RenderThread.cpp",
@@ -189,7 +191,7 @@
         "surfacetexture/EGLConsumer.cpp",
         "surfacetexture/ImageConsumer.cpp",
         "surfacetexture/SurfaceTexture.cpp",
-        "thread/TaskManager.cpp",
+        "thread/CommonPool.cpp",
         "utils/Blur.cpp",
         "utils/Color.cpp",
         "utils/GLUtils.cpp",
@@ -306,6 +308,7 @@
         "tests/unit/main.cpp",
         "tests/unit/CacheManagerTests.cpp",
         "tests/unit/CanvasContextTests.cpp",
+        "tests/unit/CommonPoolTests.cpp",
         "tests/unit/DamageAccumulatorTests.cpp",
         "tests/unit/DeferredLayerUpdaterTests.cpp",
         "tests/unit/FatVectorTests.cpp",
@@ -379,7 +382,6 @@
         "tests/microbench/LinearAllocatorBench.cpp",
         "tests/microbench/PathParserBench.cpp",
         "tests/microbench/RenderNodeBench.cpp",
-        "tests/microbench/TaskManagerBench.cpp",
     ],
 }
 
diff --git a/libs/hwui/FrameInfoVisualizer.cpp b/libs/hwui/FrameInfoVisualizer.cpp
index b04c774..3a8e559 100644
--- a/libs/hwui/FrameInfoVisualizer.cpp
+++ b/libs/hwui/FrameInfoVisualizer.cpp
@@ -17,6 +17,7 @@
 
 #include "IProfileRenderer.h"
 #include "utils/Color.h"
+#include "utils/TimeUtils.h"
 
 #include <cutils/compiler.h>
 #include <array>
@@ -26,22 +27,24 @@
 #define RETURN_IF_DISABLED() \
     if (CC_LIKELY(mType == ProfileType::None && !mShowDirtyRegions)) return
 
-#define PROFILE_DRAW_WIDTH 3
-#define PROFILE_DRAW_THRESHOLD_STROKE_WIDTH 2
-#define PROFILE_DRAW_DP_PER_MS 7
-
 namespace android {
 namespace uirenderer {
 
-// Must be NUM_ELEMENTS in size
-static const SkColor THRESHOLD_COLOR = Color::Green_500;
-static const SkColor BAR_FAST_MASK = 0x8FFFFFFF;
-static const SkColor BAR_JANKY_MASK = 0xDFFFFFFF;
+static constexpr auto PROFILE_DRAW_THRESHOLD_STROKE_WIDTH = 2;
+static constexpr auto PROFILE_DRAW_DP_PER_MS = 7;
 
-// We could get this from TimeLord and use the actual frame interval, but
-// this is good enough
-#define FRAME_THRESHOLD 16
-#define FRAME_THRESHOLD_NS 16000000
+struct Threshold {
+    SkColor color;
+    float percentFrametime;
+};
+
+static constexpr std::array<Threshold, 3> THRESHOLDS{
+        Threshold{.color = Color::Green_500, .percentFrametime = 0.8f},
+        Threshold{.color = Color::Lime_500, .percentFrametime = 1.0f},
+        Threshold{.color = Color::Red_500, .percentFrametime = 1.5f},
+};
+static constexpr SkColor BAR_FAST_MASK = 0x8FFFFFFF;
+static constexpr SkColor BAR_JANKY_MASK = 0xDFFFFFFF;
 
 struct BarSegment {
     FrameInfoIndex start;
@@ -64,7 +67,8 @@
     return (int)(dp * density + 0.5f);
 }
 
-FrameInfoVisualizer::FrameInfoVisualizer(FrameInfoSource& source) : mFrameSource(source) {
+FrameInfoVisualizer::FrameInfoVisualizer(FrameInfoSource& source, nsecs_t frameInterval)
+        : mFrameSource(source), mFrameInterval(frameInterval) {
     setDensity(1);
     consumeProperties();
 }
@@ -76,7 +80,10 @@
 void FrameInfoVisualizer::setDensity(float density) {
     if (CC_UNLIKELY(mDensity != density)) {
         mDensity = density;
-        mVerticalUnit = dpToPx(PROFILE_DRAW_DP_PER_MS, density);
+        // We want the vertical units to scale height relative to a baseline 16ms.
+        // This keeps the threshold lines consistent across varying refresh rates
+        mVerticalUnit = static_cast<int>(dpToPx(PROFILE_DRAW_DP_PER_MS, density) * (float)16_ms /
+                                         (float)mFrameInterval);
         mThresholdStroke = dpToPx(PROFILE_DRAW_THRESHOLD_STROKE_WIDTH, density);
     }
 }
@@ -148,7 +155,7 @@
         float* rect;
         int ri;
         // Rects are LTRB
-        if (mFrameSource[fi].totalDuration() <= FRAME_THRESHOLD_NS) {
+        if (mFrameSource[fi].totalDuration() <= mFrameInterval) {
             rect = mFastRects.get();
             ri = fast_i;
             fast_i += 4;
@@ -181,7 +188,7 @@
         float* rect;
         int ri;
         // Rects are LTRB
-        if (mFrameSource[fi].totalDuration() <= FRAME_THRESHOLD_NS) {
+        if (mFrameSource[fi].totalDuration() <= mFrameInterval) {
             rect = mFastRects.get();
             ri = fast_i;
             fast_i -= 4;
@@ -211,10 +218,13 @@
 
 void FrameInfoVisualizer::drawThreshold(IProfileRenderer& renderer) {
     SkPaint paint;
-    paint.setColor(THRESHOLD_COLOR);
-    float yLocation = renderer.getViewportHeight() - (FRAME_THRESHOLD * mVerticalUnit);
-    renderer.drawRect(0.0f, yLocation - mThresholdStroke / 2, renderer.getViewportWidth(),
-                      yLocation + mThresholdStroke / 2, paint);
+    for (auto& t : THRESHOLDS) {
+        paint.setColor(t.color);
+        float yLocation = renderer.getViewportHeight() -
+                          (ns2ms(mFrameInterval) * t.percentFrametime * mVerticalUnit);
+        renderer.drawRect(0.0f, yLocation - mThresholdStroke / 2, renderer.getViewportWidth(),
+                          yLocation + mThresholdStroke / 2, paint);
+    }
 }
 
 bool FrameInfoVisualizer::consumeProperties() {
diff --git a/libs/hwui/FrameInfoVisualizer.h b/libs/hwui/FrameInfoVisualizer.h
index b98f501..3040a77 100644
--- a/libs/hwui/FrameInfoVisualizer.h
+++ b/libs/hwui/FrameInfoVisualizer.h
@@ -39,7 +39,7 @@
 
 class FrameInfoVisualizer {
 public:
-    explicit FrameInfoVisualizer(FrameInfoSource& source);
+    explicit FrameInfoVisualizer(FrameInfoSource& source, nsecs_t frameInterval);
     ~FrameInfoVisualizer();
 
     bool consumeProperties();
@@ -71,6 +71,7 @@
 
     FrameInfoSource& mFrameSource;
 
+    nsecs_t mFrameInterval;
     int mVerticalUnit = 0;
     int mThresholdStroke = 0;
 
diff --git a/libs/hwui/HardwareBitmapUploader.cpp b/libs/hwui/HardwareBitmapUploader.cpp
index aeeb32c..8f7e814 100644
--- a/libs/hwui/HardwareBitmapUploader.cpp
+++ b/libs/hwui/HardwareBitmapUploader.cpp
@@ -18,6 +18,7 @@
 
 #include "hwui/Bitmap.h"
 #include "renderthread/EglManager.h"
+#include "renderthread/VulkanManager.h"
 #include "thread/ThreadBase.h"
 #include "utils/TimeUtils.h"
 
@@ -25,7 +26,9 @@
 #include <GLES2/gl2.h>
 #include <GLES2/gl2ext.h>
 #include <GLES3/gl3.h>
+#include <GrContext.h>
 #include <SkCanvas.h>
+#include <SkImage.h>
 #include <utils/GLUtils.h>
 #include <utils/Trace.h>
 #include <utils/TraceUtils.h>
@@ -33,58 +36,247 @@
 
 namespace android::uirenderer {
 
-static std::mutex sLock{};
-static sp<ThreadBase> sUploadThread = nullptr;
-static renderthread::EglManager sEglManager;
-static int sPendingUploads = 0;
-static nsecs_t sLastUpload = 0;
+class AHBUploader;
+// This helper uploader classes allows us to upload using either EGL or Vulkan using the same
+// interface.
+static sp<AHBUploader> sUploader = nullptr;
 
-static bool shouldTimeOutLocked() {
-    nsecs_t durationSince = systemTime() - sLastUpload;
-    return durationSince > 2000_ms;
-}
+struct FormatInfo {
+    PixelFormat pixelFormat;
+    GLint format, type;
+    VkFormat vkFormat;
+    bool isSupported = false;
+    bool valid = true;
+};
 
-static void checkIdleTimeout() {
-    std::lock_guard _lock{sLock};
-    if (sPendingUploads == 0 && shouldTimeOutLocked()) {
-        sEglManager.destroy();
-    } else {
-        sUploadThread->queue().postDelayed(5000_ms, checkIdleTimeout);
-    }
-}
+class AHBUploader : public RefBase {
+public:
+    virtual ~AHBUploader() {}
 
-static void beginUpload() {
-    std::lock_guard _lock{sLock};
-    sPendingUploads++;
-
-    if (!sUploadThread) {
-        sUploadThread = new ThreadBase{};
+    // Called to start creation of the Vulkan and EGL contexts on another thread before we actually
+    // need to do an upload.
+    void initialize() {
+        onInitialize();
     }
 
-    if (!sUploadThread->isRunning()) {
-        sUploadThread->start("GrallocUploadThread");
+    void destroy() {
+        std::lock_guard _lock{mLock};
+        LOG_ALWAYS_FATAL_IF(mPendingUploads, "terminate called while uploads in progress");
+        if (mUploadThread) {
+            mUploadThread->requestExit();
+            mUploadThread->join();
+            mUploadThread = nullptr;
+        }
+        onDestroy();
     }
 
-    if (!sEglManager.hasEglContext()) {
-        sUploadThread->queue().runSync([]() {
-            sEglManager.initialize();
-            glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+    bool uploadHardwareBitmap(const SkBitmap& bitmap, const FormatInfo& format,
+                              sp<GraphicBuffer> graphicBuffer) {
+        ATRACE_CALL();
+        beginUpload();
+        bool result = onUploadHardwareBitmap(bitmap, format, graphicBuffer);
+        endUpload();
+        return result;
+    }
+
+    void postIdleTimeoutCheck() {
+        mUploadThread->queue().postDelayed(5000_ms, [this](){ this->idleTimeoutCheck(); });
+    }
+
+protected:
+    std::mutex mLock;
+    sp<ThreadBase> mUploadThread = nullptr;
+
+private:
+    virtual void onInitialize() = 0;
+    virtual void onIdle() = 0;
+    virtual void onDestroy() = 0;
+
+    virtual bool onUploadHardwareBitmap(const SkBitmap& bitmap, const FormatInfo& format,
+                                        sp<GraphicBuffer> graphicBuffer) = 0;
+    virtual void onBeginUpload() = 0;
+
+    bool shouldTimeOutLocked() {
+        nsecs_t durationSince = systemTime() - mLastUpload;
+        return durationSince > 2000_ms;
+    }
+
+    void idleTimeoutCheck() {
+        std::lock_guard _lock{mLock};
+        if (mPendingUploads == 0 && shouldTimeOutLocked()) {
+            onIdle();
+        } else {
+            this->postIdleTimeoutCheck();
+        }
+    }
+
+    void beginUpload() {
+        std::lock_guard _lock{mLock};
+        mPendingUploads++;
+
+        if (!mUploadThread) {
+            mUploadThread = new ThreadBase{};
+        }
+        if (!mUploadThread->isRunning()) {
+            mUploadThread->start("GrallocUploadThread");
+        }
+
+        onBeginUpload();
+    }
+
+    void endUpload() {
+        std::lock_guard _lock{mLock};
+        mPendingUploads--;
+        mLastUpload = systemTime();
+    }
+
+    int mPendingUploads = 0;
+    nsecs_t mLastUpload = 0;
+};
+
+#define FENCE_TIMEOUT 2000000000
+
+class EGLUploader : public AHBUploader {
+private:
+    void onInitialize() override {}
+    void onDestroy() override {
+        mEglManager.destroy();
+    }
+    void onIdle() override {
+        mEglManager.destroy();
+    }
+
+    void onBeginUpload() override {
+        if (!mEglManager.hasEglContext()) {
+            mUploadThread->queue().runSync([this]() {
+                this->mEglManager.initialize();
+                glPixelStorei(GL_UNPACK_ALIGNMENT, 1);
+            });
+
+            this->postIdleTimeoutCheck();
+        }
+    }
+
+
+    EGLDisplay getUploadEglDisplay() {
+        std::lock_guard _lock{mLock};
+        LOG_ALWAYS_FATAL_IF(!mEglManager.hasEglContext(), "Forgot to begin an upload?");
+        return mEglManager.eglDisplay();
+    }
+
+    bool onUploadHardwareBitmap(const SkBitmap& bitmap, const FormatInfo& format,
+                                sp<GraphicBuffer> graphicBuffer) override {
+        ATRACE_CALL();
+
+        EGLDisplay display = getUploadEglDisplay();
+
+        LOG_ALWAYS_FATAL_IF(display == EGL_NO_DISPLAY, "Failed to get EGL_DEFAULT_DISPLAY! err=%s",
+                            uirenderer::renderthread::EglManager::eglErrorString());
+        // We use an EGLImage to access the content of the GraphicBuffer
+        // The EGL image is later bound to a 2D texture
+        EGLClientBuffer clientBuffer = (EGLClientBuffer)graphicBuffer->getNativeBuffer();
+        AutoEglImage autoImage(display, clientBuffer);
+        if (autoImage.image == EGL_NO_IMAGE_KHR) {
+            ALOGW("Could not create EGL image, err =%s",
+                  uirenderer::renderthread::EglManager::eglErrorString());
+            return false;
+        }
+
+        {
+            ATRACE_FORMAT("CPU -> gralloc transfer (%dx%d)", bitmap.width(), bitmap.height());
+            EGLSyncKHR fence = mUploadThread->queue().runSync([&]() -> EGLSyncKHR {
+                AutoSkiaGlTexture glTexture;
+                glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, autoImage.image);
+                GL_CHECKPOINT(MODERATE);
+
+                // glTexSubImage2D is synchronous in sense that it memcpy() from pointer that we
+                // provide.
+                // But asynchronous in sense that driver may upload texture onto hardware buffer
+                // when we first use it in drawing
+                glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, bitmap.width(), bitmap.height(),
+                                format.format, format.type, bitmap.getPixels());
+                GL_CHECKPOINT(MODERATE);
+
+                EGLSyncKHR uploadFence =
+                        eglCreateSyncKHR(eglGetCurrentDisplay(), EGL_SYNC_FENCE_KHR, NULL);
+                LOG_ALWAYS_FATAL_IF(uploadFence == EGL_NO_SYNC_KHR,
+                                    "Could not create sync fence %#x", eglGetError());
+                glFlush();
+                return uploadFence;
+            });
+
+            EGLint waitStatus = eglClientWaitSyncKHR(display, fence, 0, FENCE_TIMEOUT);
+            LOG_ALWAYS_FATAL_IF(waitStatus != EGL_CONDITION_SATISFIED_KHR,
+                                "Failed to wait for the fence %#x", eglGetError());
+
+            eglDestroySyncKHR(display, fence);
+        }
+        return true;
+    }
+
+    renderthread::EglManager mEglManager;
+};
+
+class VkUploader : public AHBUploader {
+private:
+    void onInitialize() override {
+        std::lock_guard _lock{mLock};
+        if (!mUploadThread) {
+            mUploadThread = new ThreadBase{};
+        }
+        if (!mUploadThread->isRunning()) {
+            mUploadThread->start("GrallocUploadThread");
+        }
+
+        mUploadThread->queue().post([this]() {
+            std::lock_guard _lock{mVkLock};
+            if (!mVulkanManager.hasVkContext()) {
+                mVulkanManager.initialize();
+            }
         });
-        sUploadThread->queue().postDelayed(5000_ms, checkIdleTimeout);
     }
-}
+    void onDestroy() override {
+        mGrContext.reset();
+        mVulkanManager.destroy();
+    }
+    void onIdle() override {
+        mGrContext.reset();
+    }
 
-static void endUpload() {
-    std::lock_guard _lock{sLock};
-    sPendingUploads--;
-    sLastUpload = systemTime();
-}
+    void onBeginUpload() override {
+        {
+            std::lock_guard _lock{mVkLock};
+            if (!mVulkanManager.hasVkContext()) {
+                LOG_ALWAYS_FATAL_IF(mGrContext,
+                    "GrContext exists with no VulkanManager for vulkan uploads");
+                mUploadThread->queue().runSync([this]() {
+                    mVulkanManager.initialize();
+                });
+            }
+        }
+        if (!mGrContext) {
+            GrContextOptions options;
+            mGrContext = mVulkanManager.createContext(options);
+            LOG_ALWAYS_FATAL_IF(!mGrContext, "failed to create GrContext for vulkan uploads");
+            this->postIdleTimeoutCheck();
+        }
+    }
 
-static EGLDisplay getUploadEglDisplay() {
-    std::lock_guard _lock{sLock};
-    LOG_ALWAYS_FATAL_IF(!sEglManager.hasEglContext(), "Forgot to begin an upload?");
-    return sEglManager.eglDisplay();
-}
+    bool onUploadHardwareBitmap(const SkBitmap& bitmap, const FormatInfo& format,
+                                sp<GraphicBuffer> graphicBuffer) override {
+        ATRACE_CALL();
+
+        std::lock_guard _lock{mLock};
+
+        sk_sp<SkImage> image = SkImage::MakeFromAHardwareBufferWithData(mGrContext.get(),
+            bitmap.pixmap(), reinterpret_cast<AHardwareBuffer*>(graphicBuffer.get()));
+        return (image.get() != nullptr);
+    }
+
+    sk_sp<GrContext> mGrContext;
+    renderthread::VulkanManager mVulkanManager;
+    std::mutex mVkLock;
+};
 
 bool HardwareBitmapUploader::hasFP16Support() {
     static std::once_flag sOnce;
@@ -105,16 +297,7 @@
     return hasFP16Support;
 }
 
-#define FENCE_TIMEOUT 2000000000
-
-struct FormatInfo {
-    PixelFormat pixelFormat;
-    GLint format, type;
-    bool isSupported = false;
-    bool valid = true;
-};
-
-static FormatInfo determineFormat(const SkBitmap& skBitmap) {
+static FormatInfo determineFormat(const SkBitmap& skBitmap, bool usingGL) {
     FormatInfo formatInfo;
     switch (skBitmap.info().colorType()) {
         case kRGBA_8888_SkColorType:
@@ -124,15 +307,18 @@
             formatInfo.pixelFormat = PIXEL_FORMAT_RGBA_8888;
             formatInfo.format = GL_RGBA;
             formatInfo.type = GL_UNSIGNED_BYTE;
+            formatInfo.vkFormat = VK_FORMAT_R8G8B8A8_UNORM;
             break;
         case kRGBA_F16_SkColorType:
             formatInfo.isSupported = HardwareBitmapUploader::hasFP16Support();
             if (formatInfo.isSupported) {
                 formatInfo.type = GL_HALF_FLOAT;
                 formatInfo.pixelFormat = PIXEL_FORMAT_RGBA_FP16;
+                formatInfo.vkFormat = VK_FORMAT_R16G16B16A16_SFLOAT;
             } else {
                 formatInfo.type = GL_UNSIGNED_BYTE;
                 formatInfo.pixelFormat = PIXEL_FORMAT_RGBA_8888;
+                formatInfo.vkFormat = VK_FORMAT_R8G8B8A8_UNORM;
             }
             formatInfo.format = GL_RGBA;
             break;
@@ -141,12 +327,14 @@
             formatInfo.pixelFormat = PIXEL_FORMAT_RGB_565;
             formatInfo.format = GL_RGB;
             formatInfo.type = GL_UNSIGNED_SHORT_5_6_5;
+            formatInfo.vkFormat = VK_FORMAT_R5G6B5_UNORM_PACK16;
             break;
         case kGray_8_SkColorType:
-            formatInfo.isSupported = true;
+            formatInfo.isSupported = usingGL;
             formatInfo.pixelFormat = PIXEL_FORMAT_RGBA_8888;
             formatInfo.format = GL_LUMINANCE;
             formatInfo.type = GL_UNSIGNED_BYTE;
+            formatInfo.vkFormat = VK_FORMAT_R8G8B8A8_UNORM;
             break;
         default:
             ALOGW("unable to create hardware bitmap of colortype: %d", skBitmap.info().colorType());
@@ -172,29 +360,37 @@
     }
 }
 
-class ScopedUploadRequest {
-public:
-    ScopedUploadRequest() { beginUpload(); }
-    ~ScopedUploadRequest() { endUpload(); }
-};
+
+static void createUploader(bool usingGL) {
+    static std::mutex lock;
+    std::lock_guard _lock{lock};
+    if (!sUploader.get()) {
+        if (usingGL) {
+            sUploader = new EGLUploader();
+        } else {
+            sUploader = new VkUploader();
+        }
+    }
+}
 
 sk_sp<Bitmap> HardwareBitmapUploader::allocateHardwareBitmap(const SkBitmap& sourceBitmap) {
     ATRACE_CALL();
 
-    FormatInfo format = determineFormat(sourceBitmap);
+    bool usingGL = uirenderer::Properties::getRenderPipelineType() ==
+            uirenderer::RenderPipelineType::SkiaGL;
+
+    FormatInfo format = determineFormat(sourceBitmap, usingGL);
     if (!format.valid) {
         return nullptr;
     }
 
-    ScopedUploadRequest _uploadRequest{};
-
     SkBitmap bitmap = makeHwCompatible(format, sourceBitmap);
     sp<GraphicBuffer> buffer = new GraphicBuffer(
             static_cast<uint32_t>(bitmap.width()), static_cast<uint32_t>(bitmap.height()),
             format.pixelFormat,
             GraphicBuffer::USAGE_HW_TEXTURE | GraphicBuffer::USAGE_SW_WRITE_NEVER |
                     GraphicBuffer::USAGE_SW_READ_NEVER,
-            std::string("Bitmap::allocateSkiaHardwareBitmap pid [") + std::to_string(getpid()) +
+            std::string("Bitmap::allocateHardwareBitmap pid [") + std::to_string(getpid()) +
                     "]");
 
     status_t error = buffer->initCheck();
@@ -203,64 +399,24 @@
         return nullptr;
     }
 
-    EGLDisplay display = getUploadEglDisplay();
+    createUploader(usingGL);
 
-    LOG_ALWAYS_FATAL_IF(display == EGL_NO_DISPLAY, "Failed to get EGL_DEFAULT_DISPLAY! err=%s",
-                        uirenderer::renderthread::EglManager::eglErrorString());
-    // We use an EGLImage to access the content of the GraphicBuffer
-    // The EGL image is later bound to a 2D texture
-    EGLClientBuffer clientBuffer = (EGLClientBuffer)buffer->getNativeBuffer();
-    AutoEglImage autoImage(display, clientBuffer);
-    if (autoImage.image == EGL_NO_IMAGE_KHR) {
-        ALOGW("Could not create EGL image, err =%s",
-              uirenderer::renderthread::EglManager::eglErrorString());
+    if (!sUploader->uploadHardwareBitmap(bitmap, format, buffer)) {
         return nullptr;
     }
-
-    {
-        ATRACE_FORMAT("CPU -> gralloc transfer (%dx%d)", bitmap.width(), bitmap.height());
-        EGLSyncKHR fence = sUploadThread->queue().runSync([&]() -> EGLSyncKHR {
-            AutoSkiaGlTexture glTexture;
-            glEGLImageTargetTexture2DOES(GL_TEXTURE_2D, autoImage.image);
-            GL_CHECKPOINT(MODERATE);
-
-            // glTexSubImage2D is synchronous in sense that it memcpy() from pointer that we
-            // provide.
-            // But asynchronous in sense that driver may upload texture onto hardware buffer when we
-            // first
-            // use it in drawing
-            glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0, bitmap.width(), bitmap.height(), format.format,
-                            format.type, bitmap.getPixels());
-            GL_CHECKPOINT(MODERATE);
-
-            EGLSyncKHR uploadFence =
-                    eglCreateSyncKHR(eglGetCurrentDisplay(), EGL_SYNC_FENCE_KHR, NULL);
-            LOG_ALWAYS_FATAL_IF(uploadFence == EGL_NO_SYNC_KHR, "Could not create sync fence %#x",
-                                eglGetError());
-            glFlush();
-            return uploadFence;
-        });
-
-        EGLint waitStatus = eglClientWaitSyncKHR(display, fence, 0, FENCE_TIMEOUT);
-        LOG_ALWAYS_FATAL_IF(waitStatus != EGL_CONDITION_SATISFIED_KHR,
-                            "Failed to wait for the fence %#x", eglGetError());
-
-        eglDestroySyncKHR(display, fence);
-    }
-
-    return Bitmap::createFrom(buffer.get(), bitmap.colorType(), bitmap.refColorSpace(),
+    return Bitmap::createFrom(buffer, bitmap.colorType(), bitmap.refColorSpace(),
                               bitmap.alphaType(), Bitmap::computePalette(bitmap));
 }
 
+void HardwareBitmapUploader::initialize() {
+    bool usingGL = uirenderer::Properties::getRenderPipelineType() ==
+            uirenderer::RenderPipelineType::SkiaGL;
+    createUploader(usingGL);
+    sUploader->initialize();
+}
+
 void HardwareBitmapUploader::terminate() {
-    std::lock_guard _lock{sLock};
-    LOG_ALWAYS_FATAL_IF(sPendingUploads, "terminate called while uploads in progress");
-    if (sUploadThread) {
-        sUploadThread->requestExit();
-        sUploadThread->join();
-        sUploadThread = nullptr;
-    }
-    sEglManager.destroy();
+    sUploader->destroy();
 }
 
 }  // namespace android::uirenderer
diff --git a/libs/hwui/HardwareBitmapUploader.h b/libs/hwui/HardwareBitmapUploader.h
index 6f41e6d..c300593 100644
--- a/libs/hwui/HardwareBitmapUploader.h
+++ b/libs/hwui/HardwareBitmapUploader.h
@@ -22,9 +22,11 @@
 
 class ANDROID_API HardwareBitmapUploader {
 public:
-    static sk_sp<Bitmap> allocateHardwareBitmap(const SkBitmap& sourceBitmap);
+    static void initialize();
     static void terminate();
 
+    static sk_sp<Bitmap> allocateHardwareBitmap(const SkBitmap& sourceBitmap);
+
     static bool hasFP16Support();
 };
 
diff --git a/libs/hwui/Layer.cpp b/libs/hwui/Layer.cpp
index a15ff22..c174c24 100644
--- a/libs/hwui/Layer.cpp
+++ b/libs/hwui/Layer.cpp
@@ -19,8 +19,6 @@
 #include "renderstate/RenderState.h"
 #include "utils/Color.h"
 
-#include <SkToSRGBColorFilter.h>
-
 namespace android {
 namespace uirenderer {
 
diff --git a/libs/hwui/Readback.cpp b/libs/hwui/Readback.cpp
index 2ffda83..fb60a96 100644
--- a/libs/hwui/Readback.cpp
+++ b/libs/hwui/Readback.cpp
@@ -20,7 +20,6 @@
 #include "renderthread/EglManager.h"
 #include "renderthread/VulkanManager.h"
 
-#include <SkToSRGBColorFilter.h>
 #include <gui/Surface.h>
 #include <ui/Fence.h>
 #include <ui/GraphicBuffer.h>
@@ -29,6 +28,7 @@
 #include "hwui/Bitmap.h"
 #include "utils/Color.h"
 #include "utils/MathUtils.h"
+#include "utils/TraceUtils.h"
 
 using namespace android::uirenderer::renderthread;
 
diff --git a/libs/hwui/RenderNode.cpp b/libs/hwui/RenderNode.cpp
index 1ff7ffe..e0ed3e4 100644
--- a/libs/hwui/RenderNode.cpp
+++ b/libs/hwui/RenderNode.cpp
@@ -134,6 +134,7 @@
 
 void RenderNode::damageSelf(TreeInfo& info) {
     if (isRenderable()) {
+        mDamageGenerationId = info.damageGenerationId;
         if (properties().getClipDamageToBounds()) {
             info.damageAccumulator->dirty(0, 0, properties().getWidth(), properties().getHeight());
         } else {
@@ -199,6 +200,12 @@
  * stencil buffer may be needed. Views that use a functor to draw will be forced onto a layer.
  */
 void RenderNode::prepareTreeImpl(TreeObserver& observer, TreeInfo& info, bool functorsNeedLayer) {
+    if (mDamageGenerationId == info.damageGenerationId) {
+        // We hit the same node a second time in the same tree. We don't know the minimal
+        // damage rect anymore, so just push the biggest we can onto our parent's transform
+        // We push directly onto parent in case we are clipped to bounds but have moved position.
+        info.damageAccumulator->dirty(DIRTY_MIN, DIRTY_MIN, DIRTY_MAX, DIRTY_MAX);
+    }
     info.damageAccumulator->pushTransform(this);
 
     if (info.mode == TreeInfo::MODE_FULL) {
diff --git a/libs/hwui/RenderNode.h b/libs/hwui/RenderNode.h
index 6060123..23e7a0e 100644
--- a/libs/hwui/RenderNode.h
+++ b/libs/hwui/RenderNode.h
@@ -255,6 +255,8 @@
     DisplayList* mDisplayList;
     DisplayList* mStagingDisplayList;
 
+    int64_t mDamageGenerationId;
+
     friend class AnimatorManager;
     AnimatorManager mAnimatorManager;
 
diff --git a/libs/hwui/TreeInfo.cpp b/libs/hwui/TreeInfo.cpp
index 808a12a..cdad20e 100644
--- a/libs/hwui/TreeInfo.cpp
+++ b/libs/hwui/TreeInfo.cpp
@@ -24,6 +24,7 @@
         : mode(mode)
         , prepareTextures(mode == MODE_FULL)
         , canvasContext(canvasContext)
+        , damageGenerationId(canvasContext.getFrameNumber())
         , disableForceDark(canvasContext.useForceDark() ? 0 : 1) {}
 
 }  // namespace android::uirenderer
diff --git a/libs/hwui/TreeInfo.h b/libs/hwui/TreeInfo.h
index a0d9605..04eabac 100644
--- a/libs/hwui/TreeInfo.h
+++ b/libs/hwui/TreeInfo.h
@@ -87,6 +87,7 @@
 
     // Must not be null during actual usage
     DamageAccumulator* damageAccumulator = nullptr;
+    int64_t damageGenerationId = 0;
 
     LayerUpdateQueue* layerUpdateQueue = nullptr;
     ErrorHandler* errorHandler = nullptr;
diff --git a/libs/hwui/hwui/Bitmap.cpp b/libs/hwui/hwui/Bitmap.cpp
index 3bbee18..219d040 100644
--- a/libs/hwui/hwui/Bitmap.cpp
+++ b/libs/hwui/hwui/Bitmap.cpp
@@ -287,6 +287,8 @@
     switch (mPixelStorageType) {
         case PixelStorageType::Heap:
             return mPixelStorage.heap.size;
+        case PixelStorageType::Ashmem:
+            return mPixelStorage.ashmem.size;
         default:
             return rowBytes() * height();
     }
diff --git a/libs/hwui/hwui/Bitmap.h b/libs/hwui/hwui/Bitmap.h
index 01e4516..dd98b25 100644
--- a/libs/hwui/hwui/Bitmap.h
+++ b/libs/hwui/hwui/Bitmap.h
@@ -103,6 +103,8 @@
 
     bool isHardware() const { return mPixelStorageType == PixelStorageType::Hardware; }
 
+    PixelStorageType pixelStorageType() const { return mPixelStorageType; }
+
     GraphicBuffer* graphicBuffer();
 
     /**
diff --git a/libs/hwui/hwui/MinikinUtils.cpp b/libs/hwui/hwui/MinikinUtils.cpp
index 733f8e4..5f6b53a 100644
--- a/libs/hwui/hwui/MinikinUtils.cpp
+++ b/libs/hwui/hwui/MinikinUtils.cpp
@@ -58,9 +58,8 @@
     const minikin::U16StringPiece textBuf(buf, bufSize);
     const minikin::Range range(start, start + count);
     const minikin::Range contextRange(contextStart, contextStart + contextCount);
-    const minikin::HyphenEdit hyphenEdit = static_cast<minikin::HyphenEdit>(paint->getHyphenEdit());
-    const minikin::StartHyphenEdit startHyphen = minikin::startHyphenEdit(hyphenEdit);
-    const minikin::EndHyphenEdit endHyphen = minikin::endHyphenEdit(hyphenEdit);
+    const minikin::StartHyphenEdit startHyphen = paint->getStartHyphenEdit();
+    const minikin::EndHyphenEdit endHyphen = paint->getEndHyphenEdit();
 
     if (mt == nullptr) {
         return minikin::Layout(textBuf.substr(contextRange), range - contextStart, bidiFlags,
@@ -76,9 +75,8 @@
     minikin::MinikinPaint minikinPaint = prepareMinikinPaint(paint, typeface);
     const minikin::U16StringPiece textBuf(buf, bufSize);
     const minikin::Range range(start, start + count);
-    const minikin::HyphenEdit hyphenEdit = static_cast<minikin::HyphenEdit>(paint->getHyphenEdit());
-    const minikin::StartHyphenEdit startHyphen = minikin::startHyphenEdit(hyphenEdit);
-    const minikin::EndHyphenEdit endHyphen = minikin::endHyphenEdit(hyphenEdit);
+    const minikin::StartHyphenEdit startHyphen = paint->getStartHyphenEdit();
+    const minikin::EndHyphenEdit endHyphen = paint->getEndHyphenEdit();
 
     return minikin::Layout::measureText(textBuf, range, bidiFlags, minikinPaint, startHyphen,
                                         endHyphen, advances);
diff --git a/libs/hwui/hwui/Paint.h b/libs/hwui/hwui/Paint.h
index 601b3c2..9b2fa9d 100644
--- a/libs/hwui/hwui/Paint.h
+++ b/libs/hwui/hwui/Paint.h
@@ -27,6 +27,7 @@
 
 #include <minikin/FontFamily.h>
 #include <minikin/FamilyVariant.h>
+#include <minikin/Hyphenator.h>
 
 namespace android {
 
@@ -89,9 +90,25 @@
 
     minikin::FamilyVariant getFamilyVariant() const { return mFamilyVariant; }
 
-    void setHyphenEdit(uint32_t hyphen) { mHyphenEdit = hyphen; }
+    void setStartHyphenEdit(uint32_t startHyphen) {
+        mHyphenEdit = minikin::packHyphenEdit(
+            static_cast<minikin::StartHyphenEdit>(startHyphen),
+            minikin::endHyphenEdit(mHyphenEdit));
+    }
 
-    uint32_t getHyphenEdit() const { return mHyphenEdit; }
+    void setEndHyphenEdit(uint32_t endHyphen) {
+        mHyphenEdit = minikin::packHyphenEdit(
+            minikin::startHyphenEdit(mHyphenEdit),
+            static_cast<minikin::EndHyphenEdit>(endHyphen));
+    }
+
+    minikin::StartHyphenEdit getStartHyphenEdit() const {
+        return minikin::startHyphenEdit(mHyphenEdit);
+    }
+
+    minikin::EndHyphenEdit getEndHyphenEdit() const {
+        return minikin::endHyphenEdit(mHyphenEdit);
+    }
 
     void setAndroidTypeface(Typeface* typeface) { mTypeface = typeface; }
 
diff --git a/libs/hwui/pipeline/skia/SkiaPipeline.cpp b/libs/hwui/pipeline/skia/SkiaPipeline.cpp
index a00a36f..721a115 100644
--- a/libs/hwui/pipeline/skia/SkiaPipeline.cpp
+++ b/libs/hwui/pipeline/skia/SkiaPipeline.cpp
@@ -25,6 +25,7 @@
 #include <SkPictureRecorder.h>
 #include "TreeInfo.h"
 #include "VectorDrawable.h"
+#include "thread/CommonPool.h"
 #include "utils/TraceUtils.h"
 
 #include <unistd.h>
@@ -49,10 +50,6 @@
     unpinImages();
 }
 
-TaskManager* SkiaPipeline::getTaskManager() {
-    return mRenderThread.cacheManager().getTaskManager();
-}
-
 void SkiaPipeline::onDestroyHardwareResources() {
     unpinImages();
     mRenderThread.cacheManager().trimStaleResources();
@@ -225,42 +222,21 @@
     }
 }
 
-class SkiaPipeline::SavePictureProcessor : public TaskProcessor<bool> {
-public:
-    explicit SavePictureProcessor(TaskManager* taskManager) : TaskProcessor<bool>(taskManager) {}
-
-    struct SavePictureTask : public Task<bool> {
-        sk_sp<SkData> data;
-        std::string filename;
-    };
-
-    void savePicture(const sk_sp<SkData>& data, const std::string& filename) {
-        sp<SavePictureTask> task(new SavePictureTask());
-        task->data = data;
-        task->filename = filename;
-        TaskProcessor<bool>::add(task);
-    }
-
-    virtual void onProcess(const sp<Task<bool>>& task) override {
-        ATRACE_NAME("SavePictureTask");
-        SavePictureTask* t = static_cast<SavePictureTask*>(task.get());
-
-        if (0 == access(t->filename.c_str(), F_OK)) {
-            task->setResult(false);
+static void savePictureAsync(const sk_sp<SkData>& data, const std::string& filename) {
+    CommonPool::post([data, filename] {
+        if (0 == access(filename.c_str(), F_OK)) {
             return;
         }
 
-        SkFILEWStream stream(t->filename.c_str());
+        SkFILEWStream stream(filename.c_str());
         if (stream.isValid()) {
-            stream.write(t->data->data(), t->data->size());
+            stream.write(data->data(), data->size());
             stream.flush();
             SkDebugf("SKP Captured Drawing Output (%d bytes) for frame. %s", stream.bytesWritten(),
-                     t->filename.c_str());
+                     filename.c_str());
         }
-
-        task->setResult(true);
-    }
-};
+    });
+}
 
 SkCanvas* SkiaPipeline::tryCapture(SkSurface* surface) {
     if (CC_UNLIKELY(Properties::skpCaptureEnabled)) {
@@ -297,16 +273,10 @@
                 ATRACE_END();
 
                 // offload saving to file in a different thread
-                if (!mSavePictureProcessor.get()) {
-                    TaskManager* taskManager = getTaskManager();
-                    mSavePictureProcessor = new SavePictureProcessor(
-                            taskManager->canRunTasks() ? taskManager : nullptr);
-                }
                 if (1 == mCaptureSequence) {
-                    mSavePictureProcessor->savePicture(data, mCapturedFile);
+                    savePictureAsync(data, mCapturedFile);
                 } else {
-                    mSavePictureProcessor->savePicture(
-                            data,
+                    savePictureAsync(data,
                             mCapturedFile + "_" + std::to_string(mCaptureSequence));
                 }
                 mCaptureSequence--;
diff --git a/libs/hwui/pipeline/skia/SkiaPipeline.h b/libs/hwui/pipeline/skia/SkiaPipeline.h
index 7381e04..41d8646 100644
--- a/libs/hwui/pipeline/skia/SkiaPipeline.h
+++ b/libs/hwui/pipeline/skia/SkiaPipeline.h
@@ -33,8 +33,6 @@
     explicit SkiaPipeline(renderthread::RenderThread& thread);
     virtual ~SkiaPipeline();
 
-    TaskManager* getTaskManager() override;
-
     void onDestroyHardwareResources() override;
 
     bool pinImages(std::vector<SkImage*>& mutableImages) override;
@@ -157,11 +155,7 @@
      *  mCaptureSequence counts how many frames are left to take in the sequence.
      */
     int mCaptureSequence = 0;
-    /**
-     *  mSavePictureProcessor is used to run the file saving code in a separate thread.
-     */
-    class SavePictureProcessor;
-    sp<SavePictureProcessor> mSavePictureProcessor;
+
     /**
      *  mRecorder holds the current picture recorder. We could store it on the stack to support
      *  parallel tryCapture calls (not really needed).
diff --git a/libs/hwui/pipeline/skia/SkiaVulkanPipeline.cpp b/libs/hwui/pipeline/skia/SkiaVulkanPipeline.cpp
index 87cffb5..edde6d3 100644
--- a/libs/hwui/pipeline/skia/SkiaVulkanPipeline.cpp
+++ b/libs/hwui/pipeline/skia/SkiaVulkanPipeline.cpp
@@ -55,20 +55,8 @@
 }
 
 Frame SkiaVulkanPipeline::getFrame() {
-    LOG_ALWAYS_FATAL_IF(mVkSurface == nullptr,
-                        "drawRenderNode called on a context with no surface!");
-
-    SkSurface* backBuffer = mVkManager.getBackbufferSurface(&mVkSurface);
-    LOG_ALWAYS_FATAL_IF(mVkSurface == nullptr,
-                        "drawRenderNode called on a context with an invalid surface");
-    if (backBuffer == nullptr) {
-        SkDebugf("failed to get backbuffer");
-        return Frame(-1, -1, 0);
-    }
-
-    Frame frame(mVkSurface->windowWidth(), mVkSurface->windowHeight(),
-                mVkManager.getAge(mVkSurface));
-    return frame;
+    LOG_ALWAYS_FATAL_IF(mVkSurface == nullptr, "getFrame() called on a context with no surface!");
+    return mVkManager.dequeueNextBuffer(mVkSurface);
 }
 
 bool SkiaVulkanPipeline::draw(const Frame& frame, const SkRect& screenDirty, const SkRect& dirty,
@@ -77,13 +65,13 @@
                               bool opaque, const LightInfo& lightInfo,
                               const std::vector<sp<RenderNode>>& renderNodes,
                               FrameInfoVisualizer* profiler) {
-    sk_sp<SkSurface> backBuffer = mVkSurface->getBackBufferSurface();
+    sk_sp<SkSurface> backBuffer = mVkSurface->getCurrentSkSurface();
     if (backBuffer.get() == nullptr) {
         return false;
     }
     SkiaPipeline::updateLighting(lightGeometry, lightInfo);
     renderFrame(*layerUpdateQueue, dirty, renderNodes, opaque, contentDrawBounds,
-            backBuffer, mVkSurface->preTransform());
+            backBuffer, mVkSurface->getCurrentPreTransform());
     ShaderCache::get().onVkFrameFlushed(mRenderThread.getGrContext());
     layerUpdateQueue->clear();
 
@@ -113,7 +101,7 @@
     currentFrameInfo->markSwapBuffers();
 
     if (*requireSwap) {
-        mVkManager.swapBuffers(mVkSurface);
+        mVkManager.swapBuffers(mVkSurface, screenDirty);
     }
 
     return *requireSwap;
diff --git a/libs/hwui/pipeline/skia/SkiaVulkanPipeline.h b/libs/hwui/pipeline/skia/SkiaVulkanPipeline.h
index 2c24edd..77a7ab1 100644
--- a/libs/hwui/pipeline/skia/SkiaVulkanPipeline.h
+++ b/libs/hwui/pipeline/skia/SkiaVulkanPipeline.h
@@ -18,6 +18,7 @@
 
 #include "SkiaPipeline.h"
 #include "renderthread/VulkanManager.h"
+#include "renderthread/VulkanSurface.h"
 
 #include "renderstate/RenderState.h"
 
diff --git a/libs/hwui/renderthread/CacheManager.cpp b/libs/hwui/renderthread/CacheManager.cpp
index 6c04232..8b02c11 100644
--- a/libs/hwui/renderthread/CacheManager.cpp
+++ b/libs/hwui/renderthread/CacheManager.cpp
@@ -23,6 +23,7 @@
 #include "pipeline/skia/SkiaMemoryTracer.h"
 #include "Properties.h"
 #include "renderstate/RenderState.h"
+#include "thread/CommonPool.h"
 
 #include <GrContextOptions.h>
 #include <SkExecutor.h>
@@ -76,29 +77,15 @@
     mGrContext->setResourceCacheLimits(mMaxResources, mMaxResourceBytes);
 }
 
-class CacheManager::SkiaTaskProcessor : public TaskProcessor<bool>, public SkExecutor {
+class CommonPoolExecutor : public SkExecutor {
 public:
-    explicit SkiaTaskProcessor(TaskManager* taskManager) : TaskProcessor<bool>(taskManager) {}
-
-    // This is really a Task<void> but that doesn't really work when Future<>
-    // expects to be able to get/set a value
-    struct SkiaTask : public Task<bool> {
-        std::function<void()> func;
-    };
-
     virtual void add(std::function<void(void)> func) override {
-        sp<SkiaTask> task(new SkiaTask());
-        task->func = func;
-        TaskProcessor<bool>::add(task);
-    }
-
-    virtual void onProcess(const sp<Task<bool> >& task) override {
-        SkiaTask* t = static_cast<SkiaTask*>(task.get());
-        t->func();
-        task->setResult(true);
+        CommonPool::post(std::move(func));
     }
 };
 
+static CommonPoolExecutor sDefaultExecutor;
+
 void CacheManager::configureContext(GrContextOptions* contextOptions, const void* identity, ssize_t size) {
     contextOptions->fAllowPathMaskCaching = true;
 
@@ -107,12 +94,7 @@
     // provided to Skia.
     contextOptions->fGlyphCacheTextureMaximumBytes = GrNextSizePow2(mMaxSurfaceArea);
 
-    if (mTaskManager.canRunTasks()) {
-        if (!mTaskProcessor.get()) {
-            mTaskProcessor = new SkiaTaskProcessor(&mTaskManager);
-        }
-        contextOptions->fExecutor = mTaskProcessor.get();
-    }
+    contextOptions->fExecutor = &sDefaultExecutor;
 
     auto& cache = skiapipeline::ShaderCache::get();
     cache.initShaderDiskCache(identity, size);
diff --git a/libs/hwui/renderthread/CacheManager.h b/libs/hwui/renderthread/CacheManager.h
index 66f04f1..b0286e8 100644
--- a/libs/hwui/renderthread/CacheManager.h
+++ b/libs/hwui/renderthread/CacheManager.h
@@ -24,8 +24,6 @@
 #include <vector>
 
 #include "pipeline/skia/VectorDrawableAtlas.h"
-#include "thread/TaskManager.h"
-#include "thread/TaskProcessor.h"
 
 namespace android {
 
@@ -54,8 +52,6 @@
     size_t getCacheSize() const { return mMaxResourceBytes; }
     size_t getBackgroundCacheSize() const { return mBackgroundResourceBytes; }
 
-    TaskManager* getTaskManager() { return &mTaskManager; }
-
 private:
     friend class RenderThread;
 
@@ -78,10 +74,6 @@
     };
 
     sp<skiapipeline::VectorDrawableAtlas> mVectorDrawableAtlas;
-
-    class SkiaTaskProcessor;
-    sp<SkiaTaskProcessor> mTaskProcessor;
-    TaskManager mTaskManager;
 };
 
 } /* namespace renderthread */
diff --git a/libs/hwui/renderthread/CanvasContext.cpp b/libs/hwui/renderthread/CanvasContext.cpp
index 8e57a3a..baa41c1 100644
--- a/libs/hwui/renderthread/CanvasContext.cpp
+++ b/libs/hwui/renderthread/CanvasContext.cpp
@@ -27,8 +27,10 @@
 #include "pipeline/skia/SkiaOpenGLPipeline.h"
 #include "pipeline/skia/SkiaPipeline.h"
 #include "pipeline/skia/SkiaVulkanPipeline.h"
+#include "thread/CommonPool.h"
 #include "utils/GLUtils.h"
 #include "utils/TimeUtils.h"
+#include "utils/TraceUtils.h"
 #include "../Properties.h"
 
 #include <cutils/properties.h>
@@ -103,7 +105,7 @@
         , mOpaque(!translucent)
         , mAnimationContext(contextFactory->createAnimationContext(mRenderThread.timeLord()))
         , mJankTracker(&thread.globalProfileData(), thread.mainDisplayInfo())
-        , mProfiler(mJankTracker.frames())
+        , mProfiler(mJankTracker.frames(), thread.timeLord().frameIntervalNanos())
         , mContentDrawBounds(0, 0, 0, 0)
         , mRenderPipeline(std::move(renderPipeline)) {
     rootRenderNode->makeRoot();
@@ -401,11 +403,11 @@
     SkRect dirty;
     mDamageAccumulator.finish(&dirty);
 
-    // TODO: Re-enable after figuring out cause of b/22592975
-    //    if (dirty.isEmpty() && Properties::skipEmptyFrames) {
-    //        mCurrentFrameInfo->addFlag(FrameInfoFlags::SkippedFrame);
-    //        return;
-    //    }
+    if (dirty.isEmpty() && Properties::skipEmptyFrames
+            && !surfaceRequiresRedraw()) {
+        mCurrentFrameInfo->addFlag(FrameInfoFlags::SkippedFrame);
+        return;
+    }
 
     mCurrentFrameInfo->markIssueDrawCommandsStart();
 
@@ -603,31 +605,14 @@
     if (mFrameFences.size()) {
         ATRACE_CALL();
         for (auto& fence : mFrameFences) {
-            fence->getResult();
+            fence.get();
         }
         mFrameFences.clear();
     }
 }
 
-class CanvasContext::FuncTaskProcessor : public TaskProcessor<bool> {
-public:
-    explicit FuncTaskProcessor(TaskManager* taskManager) : TaskProcessor<bool>(taskManager) {}
-
-    virtual void onProcess(const sp<Task<bool> >& task) override {
-        FuncTask* t = static_cast<FuncTask*>(task.get());
-        t->func();
-        task->setResult(true);
-    }
-};
-
 void CanvasContext::enqueueFrameWork(std::function<void()>&& func) {
-    if (!mFrameWorkProcessor.get()) {
-        mFrameWorkProcessor = new FuncTaskProcessor(mRenderPipeline->getTaskManager());
-    }
-    sp<FuncTask> task(new FuncTask());
-    task->func = func;
-    mFrameFences.push_back(task);
-    mFrameWorkProcessor->add(task);
+    mFrameFences.push_back(CommonPool::async(std::move(func)));
 }
 
 int64_t CanvasContext::getFrameNumber() {
@@ -638,6 +623,19 @@
     return mFrameNumber;
 }
 
+bool CanvasContext::surfaceRequiresRedraw() {
+    if (!mNativeSurface) return false;
+    if (mHaveNewSurface) return true;
+
+    int width = -1;
+    int height = -1;
+    ReliableSurface* surface = mNativeSurface.get();
+    surface->query(NATIVE_WINDOW_WIDTH, &width);
+    surface->query(NATIVE_WINDOW_HEIGHT, &height);
+
+    return width == mLastFrameWidth && height == mLastFrameHeight;
+}
+
 SkRect CanvasContext::computeDirtyRect(const Frame& frame, SkRect* dirty) {
     if (frame.width() != mLastFrameWidth || frame.height() != mLastFrameHeight) {
         // can't rely on prior content of window if viewport size changes
diff --git a/libs/hwui/renderthread/CanvasContext.h b/libs/hwui/renderthread/CanvasContext.h
index db97763..abca342 100644
--- a/libs/hwui/renderthread/CanvasContext.h
+++ b/libs/hwui/renderthread/CanvasContext.h
@@ -28,8 +28,6 @@
 #include "ReliableSurface.h"
 #include "renderthread/RenderTask.h"
 #include "renderthread/RenderThread.h"
-#include "thread/Task.h"
-#include "thread/TaskProcessor.h"
 
 #include <EGL/egl.h>
 #include <SkBitmap.h>
@@ -42,6 +40,7 @@
 #include <set>
 #include <string>
 #include <vector>
+#include <future>
 
 namespace android {
 namespace uirenderer {
@@ -217,6 +216,7 @@
     void freePrefetchedLayers();
 
     bool isSwapChainStuffed();
+    bool surfaceRequiresRedraw();
 
     SkRect computeDirtyRect(const Frame& frame, SkRect* dirty);
 
@@ -273,15 +273,7 @@
     // Stores the bounds of the main content.
     Rect mContentDrawBounds;
 
-    // TODO: This is really a Task<void> but that doesn't really work
-    // when Future<> expects to be able to get/set a value
-    struct FuncTask : public Task<bool> {
-        std::function<void()> func;
-    };
-    class FuncTaskProcessor;
-
-    std::vector<sp<FuncTask>> mFrameFences;
-    sp<TaskProcessor<bool>> mFrameWorkProcessor;
+    std::vector<std::future<void>> mFrameFences;
     std::unique_ptr<IRenderPipeline> mRenderPipeline;
 
     std::vector<std::function<void(int64_t)>> mFrameCompleteCallbacks;
diff --git a/libs/hwui/renderthread/IRenderPipeline.h b/libs/hwui/renderthread/IRenderPipeline.h
index 2cfc8df3..0502eb8 100644
--- a/libs/hwui/renderthread/IRenderPipeline.h
+++ b/libs/hwui/renderthread/IRenderPipeline.h
@@ -75,7 +75,6 @@
     virtual void renderLayers(const LightGeometry& lightGeometry,
                               LayerUpdateQueue* layerUpdateQueue, bool opaque,
                               const LightInfo& lightInfo) = 0;
-    virtual TaskManager* getTaskManager() = 0;
     virtual bool createOrUpdateLayer(RenderNode* node, const DamageAccumulator& damageAccumulator,
                                      ErrorHandler* errorHandler) = 0;
     virtual bool pinImages(std::vector<SkImage*>& mutableImages) = 0;
diff --git a/libs/hwui/renderthread/RenderProxy.cpp b/libs/hwui/renderthread/RenderProxy.cpp
index 34f76d9..1bcb819 100644
--- a/libs/hwui/renderthread/RenderProxy.cpp
+++ b/libs/hwui/renderthread/RenderProxy.cpp
@@ -31,6 +31,7 @@
 #include "renderthread/RenderThread.h"
 #include "utils/Macros.h"
 #include "utils/TimeUtils.h"
+#include "utils/TraceUtils.h"
 
 #include <ui/GraphicBuffer.h>
 
diff --git a/libs/hwui/renderthread/RenderThread.cpp b/libs/hwui/renderthread/RenderThread.cpp
index 08edd20..6cce319 100644
--- a/libs/hwui/renderthread/RenderThread.cpp
+++ b/libs/hwui/renderthread/RenderThread.cpp
@@ -28,6 +28,8 @@
 #include "renderstate/RenderState.h"
 #include "utils/FatVector.h"
 #include "utils/TimeUtils.h"
+#include "utils/TraceUtils.h"
+#include "../HardwareBitmapUploader.h"
 
 #ifdef HWUI_GLES_WRAP_ENABLED
 #include "debug/GlesDriver.h"
@@ -52,9 +54,6 @@
 // using just a few large reads.
 static const size_t EVENT_BUFFER_SIZE = 100;
 
-// Slight delay to give the UI time to push us a new frame before we replay
-static const nsecs_t DISPATCH_FRAME_CALLBACKS_DELAY = milliseconds_to_nanoseconds(4);
-
 static bool gHasRenderThreadInstance = false;
 
 static JVMAttachHook gOnStartHook = nullptr;
@@ -171,6 +170,7 @@
     mDisplayInfo = DeviceInfo::get()->displayInfo();
     nsecs_t frameIntervalNanos = static_cast<nsecs_t>(1000000000 / mDisplayInfo.fps);
     mTimeLord.setFrameInterval(frameIntervalNanos);
+    mDispatchFrameDelay = static_cast<nsecs_t>(frameIntervalNanos * .25f);
     initializeDisplayEventReceiver();
     mEglManager = new EglManager();
     mRenderState = new RenderState(*this);
@@ -311,7 +311,7 @@
         if (mTimeLord.vsyncReceived(vsyncEvent) && !mFrameCallbackTaskPending) {
             ATRACE_NAME("queue mFrameCallbackTask");
             mFrameCallbackTaskPending = true;
-            nsecs_t runAt = (vsyncEvent + DISPATCH_FRAME_CALLBACKS_DELAY);
+            nsecs_t runAt = (vsyncEvent + mDispatchFrameDelay);
             queue().postAt(runAt, [this]() { dispatchFrameCallbacks(); });
         }
     }
@@ -416,6 +416,7 @@
     if (Properties::getRenderPipelineType() == RenderPipelineType::SkiaVulkan) {
         requireVkContext();
     }
+    HardwareBitmapUploader::initialize();
 }
 
 } /* namespace renderthread */
diff --git a/libs/hwui/renderthread/RenderThread.h b/libs/hwui/renderthread/RenderThread.h
index 329b4b9..9298be6 100644
--- a/libs/hwui/renderthread/RenderThread.h
+++ b/libs/hwui/renderthread/RenderThread.h
@@ -24,6 +24,7 @@
 #include "TimeLord.h"
 #include "thread/ThreadBase.h"
 #include "WebViewFunctorManager.h"
+#include "utils/TimeUtils.h"
 
 #include <GrContext.h>
 #include <SkBitmap.h>
@@ -164,6 +165,7 @@
     bool mFrameCallbackTaskPending;
 
     TimeLord mTimeLord;
+    nsecs_t mDispatchFrameDelay = 4_ms;
     RenderState* mRenderState;
     EglManager* mEglManager;
     WebViewFunctorManager& mFunctorManager;
diff --git a/libs/hwui/renderthread/VulkanManager.cpp b/libs/hwui/renderthread/VulkanManager.cpp
index 5af660c..9916da5 100644
--- a/libs/hwui/renderthread/VulkanManager.cpp
+++ b/libs/hwui/renderthread/VulkanManager.cpp
@@ -16,13 +16,16 @@
 
 #include "VulkanManager.h"
 
+#include <android/sync.h>
 #include <gui/Surface.h>
 
 #include "Properties.h"
 #include "RenderThread.h"
 #include "renderstate/RenderState.h"
 #include "utils/FatVector.h"
+#include "utils/TraceUtils.h"
 
+#include <GrBackendSemaphore.h>
 #include <GrBackendSurface.h>
 #include <GrContext.h>
 #include <GrTypes.h>
@@ -79,7 +82,9 @@
     mDevice = VK_NULL_HANDLE;
     mPhysicalDevice = VK_NULL_HANDLE;
     mInstance = VK_NULL_HANDLE;
+    mInstanceExtensionsOwner.clear();
     mInstanceExtensions.clear();
+    mDeviceExtensionsOwner.clear();
     mDeviceExtensions.clear();
     free_features_extensions_structs(mPhysicalDeviceFeatures2);
     mPhysicalDeviceFeatures2 = {};
@@ -104,18 +109,18 @@
         uint32_t extensionCount = 0;
         err = mEnumerateInstanceExtensionProperties(nullptr, &extensionCount, nullptr);
         LOG_ALWAYS_FATAL_IF(VK_SUCCESS != err);
-        std::unique_ptr<VkExtensionProperties[]> extensions(
-                new VkExtensionProperties[extensionCount]);
-        err = mEnumerateInstanceExtensionProperties(nullptr, &extensionCount, extensions.get());
+        mInstanceExtensionsOwner.resize(extensionCount);
+        err = mEnumerateInstanceExtensionProperties(nullptr, &extensionCount,
+                                                    mInstanceExtensionsOwner.data());
         LOG_ALWAYS_FATAL_IF(VK_SUCCESS != err);
         bool hasKHRSurfaceExtension = false;
         bool hasKHRAndroidSurfaceExtension = false;
-        for (uint32_t i = 0; i < extensionCount; ++i) {
-            mInstanceExtensions.push_back(extensions[i].extensionName);
-            if (!strcmp(extensions[i].extensionName, VK_KHR_SURFACE_EXTENSION_NAME)) {
+        for (const VkExtensionProperties& extension : mInstanceExtensionsOwner) {
+            mInstanceExtensions.push_back(extension.extensionName);
+            if (!strcmp(extension.extensionName, VK_KHR_SURFACE_EXTENSION_NAME)) {
                 hasKHRSurfaceExtension = true;
             }
-            if (!strcmp(extensions[i].extensionName,VK_KHR_ANDROID_SURFACE_EXTENSION_NAME)) {
+            if (!strcmp(extension.extensionName, VK_KHR_ANDROID_SURFACE_EXTENSION_NAME)) {
                 hasKHRAndroidSurfaceExtension = true;
             }
         }
@@ -142,6 +147,7 @@
     GET_INST_PROC(GetPhysicalDeviceProperties);
     GET_INST_PROC(GetPhysicalDeviceQueueFamilyProperties);
     GET_INST_PROC(GetPhysicalDeviceFeatures2);
+    GET_INST_PROC(GetPhysicalDeviceImageFormatProperties2);
     GET_INST_PROC(CreateDevice);
     GET_INST_PROC(EnumerateDeviceExtensionProperties);
     GET_INST_PROC(CreateAndroidSurfaceKHR);
@@ -193,15 +199,14 @@
         err = mEnumerateDeviceExtensionProperties(mPhysicalDevice, nullptr, &extensionCount,
                 nullptr);
         LOG_ALWAYS_FATAL_IF(VK_SUCCESS != err);
-        std::unique_ptr<VkExtensionProperties[]> extensions(
-                new VkExtensionProperties[extensionCount]);
+        mDeviceExtensionsOwner.resize(extensionCount);
         err = mEnumerateDeviceExtensionProperties(mPhysicalDevice, nullptr, &extensionCount,
-                extensions.get());
+                mDeviceExtensionsOwner.data());
         LOG_ALWAYS_FATAL_IF(VK_SUCCESS != err);
         bool hasKHRSwapchainExtension = false;
-        for (uint32_t i = 0; i < extensionCount; ++i) {
-            mDeviceExtensions.push_back(extensions[i].extensionName);
-            if (!strcmp(extensions[i].extensionName, VK_KHR_SWAPCHAIN_EXTENSION_NAME)) {
+        for (const VkExtensionProperties& extension : mDeviceExtensionsOwner) {
+            mDeviceExtensions.push_back(extension.extensionName);
+            if (!strcmp(extension.extensionName, VK_KHR_SWAPCHAIN_EXTENSION_NAME)) {
                 hasKHRSwapchainExtension = true;
             }
         }
@@ -214,6 +219,7 @@
         }
         return vkGetInstanceProcAddr(instance, proc_name);
     };
+
     grExtensions.init(getProc, mInstance, mPhysicalDevice, mInstanceExtensions.size(),
             mInstanceExtensions.data(), mDeviceExtensions.size(), mDeviceExtensions.data());
 
@@ -318,11 +324,6 @@
     GET_DEV_PROC(GetDeviceQueue);
     GET_DEV_PROC(DeviceWaitIdle);
     GET_DEV_PROC(DestroyDevice);
-    GET_DEV_PROC(CreateSwapchainKHR);
-    GET_DEV_PROC(DestroySwapchainKHR);
-    GET_DEV_PROC(GetSwapchainImagesKHR);
-    GET_DEV_PROC(AcquireNextImageKHR);
-    GET_DEV_PROC(QueuePresentKHR);
     GET_DEV_PROC(CreateCommandPool);
     GET_DEV_PROC(DestroyCommandPool);
     GET_DEV_PROC(AllocateCommandBuffers);
@@ -426,201 +427,102 @@
     };
 }
 
-// Returns the next BackbufferInfo to use for the next draw. The function will make sure all
-// previous uses have finished before returning.
-VulkanSurface::BackbufferInfo* VulkanManager::getAvailableBackbuffer(VulkanSurface* surface) {
-    SkASSERT(surface->mBackbuffers);
+Frame VulkanManager::dequeueNextBuffer(VulkanSurface* surface) {
 
-    ++surface->mCurrentBackbufferIndex;
-    if (surface->mCurrentBackbufferIndex > surface->mImageCount) {
-        surface->mCurrentBackbufferIndex = 0;
+    VulkanSurface::NativeBufferInfo* bufferInfo = surface->dequeueNativeBuffer();
+
+    if (bufferInfo == nullptr) {
+        ALOGE("VulkanSurface::dequeueNativeBuffer called with an invalid surface!");
+        return Frame(-1, -1, 0);
     }
 
-    VulkanSurface::BackbufferInfo* backbuffer =
-            surface->mBackbuffers + surface->mCurrentBackbufferIndex;
+    LOG_ALWAYS_FATAL_IF(!bufferInfo->dequeued);
 
-    // Before we reuse a backbuffer, make sure its fences have all signaled so that we can safely
-    // reuse its commands buffers.
-    VkResult res = mWaitForFences(mDevice, 2, backbuffer->mUsageFences, true, UINT64_MAX);
-    if (res != VK_SUCCESS) {
-        return nullptr;
+    if (bufferInfo->dequeue_fence != -1) {
+        int fence_clone = dup(bufferInfo->dequeue_fence);
+        if (fence_clone == -1) {
+            ALOGE("dup(fence) failed, stalling until signalled: %s (%d)", strerror(errno), errno);
+            sync_wait(bufferInfo->dequeue_fence, -1 /* forever */);
+        } else {
+            VkSemaphoreCreateInfo semaphoreInfo;
+            semaphoreInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
+            semaphoreInfo.pNext = nullptr;
+            semaphoreInfo.flags = 0;
+            VkSemaphore semaphore;
+            VkResult err = mCreateSemaphore(mDevice, &semaphoreInfo, nullptr, &semaphore);
+            LOG_ALWAYS_FATAL_IF(VK_SUCCESS != err, "Failed to create import semaphore, err: %d",
+                                err);
+
+            VkImportSemaphoreFdInfoKHR importInfo;
+            importInfo.sType = VK_STRUCTURE_TYPE_IMPORT_SEMAPHORE_FD_INFO_KHR;
+            importInfo.pNext = nullptr;
+            importInfo.semaphore = semaphore;
+            importInfo.flags = VK_SEMAPHORE_IMPORT_TEMPORARY_BIT;
+            importInfo.handleType = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT;
+            importInfo.fd = fence_clone;
+
+            err = mImportSemaphoreFdKHR(mDevice, &importInfo);
+            LOG_ALWAYS_FATAL_IF(VK_SUCCESS != err, "Failed to import semaphore, err: %d", err);
+
+            GrBackendSemaphore backendSemaphore;
+            backendSemaphore.initVulkan(semaphore);
+            bufferInfo->skSurface->wait(1, &backendSemaphore);
+        }
     }
 
-    return backbuffer;
+    int bufferAge = (mSwapBehavior == SwapBehavior::Discard) ? 0 : surface->getCurrentBuffersAge();
+    return Frame(surface->logicalWidth(), surface->logicalHeight(), bufferAge);
 }
 
-static SkMatrix getPreTransformMatrix(int width, int height,
-                                      VkSurfaceTransformFlagBitsKHR transform) {
-    switch (transform) {
-        case VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR:
-            return SkMatrix::I();
-        case VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR:
-            return SkMatrix::MakeAll(0, -1, height, 1, 0, 0, 0, 0, 1);
-        case VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR:
-            return SkMatrix::MakeAll(-1, 0, width, 0, -1, height, 0, 0, 1);
-        case VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR:
-            return SkMatrix::MakeAll(0, 1, 0, -1, 0, width, 0, 0, 1);
-        case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_BIT_KHR:
-            return SkMatrix::MakeAll(-1, 0, width, 0, 1, 0, 0, 0, 1);
-        case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR:
-            return SkMatrix::MakeAll(0, -1, height, -1, 0, width, 0, 0, 1);
-        case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_180_BIT_KHR:
-            return SkMatrix::MakeAll(1, 0, 0, 0, -1, height, 0, 0, 1);
-        case VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR:
-            return SkMatrix::MakeAll(0, 1, 0, 1, 0, 0, 0, 0, 1);
-        default:
-            LOG_ALWAYS_FATAL("Unsupported pre transform of swapchain.");
-    }
-    return SkMatrix::I();
-}
-
-
-SkSurface* VulkanManager::getBackbufferSurface(VulkanSurface** surfaceOut) {
-    // Recreate VulkanSurface, if ANativeWindow has been resized.
-    VulkanSurface* surface = *surfaceOut;
-    int windowWidth = 0, windowHeight = 0;
-    ANativeWindow* window = surface->mNativeWindow;
-    window->query(window, NATIVE_WINDOW_WIDTH, &windowWidth);
-    window->query(window, NATIVE_WINDOW_HEIGHT, &windowHeight);
-    if (windowWidth != surface->mWindowWidth || windowHeight != surface->mWindowHeight) {
-        ColorMode colorMode = surface->mColorMode;
-        sk_sp<SkColorSpace> colorSpace = surface->mColorSpace;
-        SkColorType colorType = surface->mColorType;
-        GrContext* grContext = surface->mGrContext;
-        destroySurface(surface);
-        *surfaceOut = createSurface(window, colorMode, colorSpace, colorType, grContext);
-        surface = *surfaceOut;
-        if (!surface) {
-            return nullptr;
-        }
+void VulkanManager::swapBuffers(VulkanSurface* surface, const SkRect& dirtyRect) {
+    if (CC_UNLIKELY(Properties::waitForGpuCompletion)) {
+        ATRACE_NAME("Finishing GPU work");
+        mDeviceWaitIdle(mDevice);
     }
 
-    VulkanSurface::BackbufferInfo* backbuffer = getAvailableBackbuffer(surface);
-    SkASSERT(backbuffer);
+    VkExportSemaphoreCreateInfo exportInfo;
+    exportInfo.sType = VK_STRUCTURE_TYPE_EXPORT_SEMAPHORE_CREATE_INFO;
+    exportInfo.pNext = nullptr;
+    exportInfo.handleTypes = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT;
 
-    VkResult res;
+    VkSemaphoreCreateInfo semaphoreInfo;
+    semaphoreInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
+    semaphoreInfo.pNext = &exportInfo;
+    semaphoreInfo.flags = 0;
+    VkSemaphore semaphore;
+    VkResult err = mCreateSemaphore(mDevice, &semaphoreInfo, nullptr, &semaphore);
+    ALOGE_IF(VK_SUCCESS != err, "VulkanManager::swapBuffers(): Failed to create semaphore");
 
-    res = mResetFences(mDevice, 2, backbuffer->mUsageFences);
-    SkASSERT(VK_SUCCESS == res);
+    GrBackendSemaphore backendSemaphore;
+    backendSemaphore.initVulkan(semaphore);
 
-    // The acquire will signal the attached mAcquireSemaphore. We use this to know the image has
-    // finished presenting and that it is safe to begin sending new commands to the returned image.
-    res = mAcquireNextImageKHR(mDevice, surface->mSwapchain, UINT64_MAX,
-                               backbuffer->mAcquireSemaphore, VK_NULL_HANDLE,
-                               &backbuffer->mImageIndex);
+    VulkanSurface::NativeBufferInfo* bufferInfo = surface->getCurrentBufferInfo();
 
-    if (VK_ERROR_SURFACE_LOST_KHR == res) {
-        // need to figure out how to create a new vkSurface without the platformData*
-        // maybe use attach somehow? but need a Window
-        return nullptr;
-    }
-    if (VK_ERROR_OUT_OF_DATE_KHR == res || VK_SUBOPTIMAL_KHR == res) {
-        // tear swapchain down and try again
-        if (!createSwapchain(surface)) {
-            return nullptr;
-        }
-        backbuffer = getAvailableBackbuffer(surface);
-        res = mResetFences(mDevice, 2, backbuffer->mUsageFences);
-        SkASSERT(VK_SUCCESS == res);
+    int fenceFd = -1;
+    GrSemaphoresSubmitted submitted =
+            bufferInfo->skSurface->flush(SkSurface::BackendSurfaceAccess::kPresent,
+                                         SkSurface::kNone_FlushFlags, 1, &backendSemaphore);
+    if (submitted == GrSemaphoresSubmitted::kYes) {
+        VkSemaphoreGetFdInfoKHR getFdInfo;
+        getFdInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_GET_FD_INFO_KHR;
+        getFdInfo.pNext = nullptr;
+        getFdInfo.semaphore = semaphore;
+        getFdInfo.handleType = VK_EXTERNAL_SEMAPHORE_HANDLE_TYPE_SYNC_FD_BIT;
 
-        // acquire the image
-        res = mAcquireNextImageKHR(mDevice, surface->mSwapchain, UINT64_MAX,
-                                   backbuffer->mAcquireSemaphore, VK_NULL_HANDLE,
-                                   &backbuffer->mImageIndex);
-
-        if (VK_SUCCESS != res) {
-            return nullptr;
-        }
+        err = mGetSemaphoreFdKHR(mDevice, &getFdInfo, &fenceFd);
+        ALOGE_IF(VK_SUCCESS != err, "VulkanManager::swapBuffers(): Failed to get semaphore Fd");
+    } else {
+        ALOGE("VulkanManager::swapBuffers(): Semaphore submission failed");
+        mQueueWaitIdle(mGraphicsQueue);
     }
 
-    // set up layout transfer from initial to color attachment
-    VkImageLayout layout = surface->mImageInfos[backbuffer->mImageIndex].mImageLayout;
-    SkASSERT(VK_IMAGE_LAYOUT_UNDEFINED == layout || VK_IMAGE_LAYOUT_PRESENT_SRC_KHR == layout);
-    VkPipelineStageFlags srcStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
-    VkPipelineStageFlags dstStageMask = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
-    VkAccessFlags srcAccessMask = 0;
-    VkAccessFlags dstAccessMask = VK_ACCESS_COLOR_ATTACHMENT_READ_BIT |
-                                  VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
+    surface->presentCurrentBuffer(dirtyRect, fenceFd);
 
-    VkImageMemoryBarrier imageMemoryBarrier = {
-            VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,     // sType
-            NULL,                                       // pNext
-            srcAccessMask,                              // outputMask
-            dstAccessMask,                              // inputMask
-            layout,                                     // oldLayout
-            VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL,   // newLayout
-            mPresentQueueIndex,                         // srcQueueFamilyIndex
-            mGraphicsQueueIndex,       // dstQueueFamilyIndex
-            surface->mImages[backbuffer->mImageIndex],  // image
-            {VK_IMAGE_ASPECT_COLOR_BIT, 0, 1, 0, 1}     // subresourceRange
-    };
-    mResetCommandBuffer(backbuffer->mTransitionCmdBuffers[0], 0);
-
-    VkCommandBufferBeginInfo info;
-    memset(&info, 0, sizeof(VkCommandBufferBeginInfo));
-    info.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
-    info.flags = 0;
-    mBeginCommandBuffer(backbuffer->mTransitionCmdBuffers[0], &info);
-
-    mCmdPipelineBarrier(backbuffer->mTransitionCmdBuffers[0], srcStageMask, dstStageMask, 0, 0,
-                        nullptr, 0, nullptr, 1, &imageMemoryBarrier);
-
-    mEndCommandBuffer(backbuffer->mTransitionCmdBuffers[0]);
-
-    VkPipelineStageFlags waitDstStageFlags = VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
-    // insert the layout transfer into the queue and wait on the acquire
-    VkSubmitInfo submitInfo;
-    memset(&submitInfo, 0, sizeof(VkSubmitInfo));
-    submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
-    submitInfo.waitSemaphoreCount = 1;
-    // Wait to make sure aquire semaphore set above has signaled.
-    submitInfo.pWaitSemaphores = &backbuffer->mAcquireSemaphore;
-    submitInfo.pWaitDstStageMask = &waitDstStageFlags;
-    submitInfo.commandBufferCount = 1;
-    submitInfo.pCommandBuffers = &backbuffer->mTransitionCmdBuffers[0];
-    submitInfo.signalSemaphoreCount = 0;
-
-    // Attach first fence to submission here so we can track when the command buffer finishes.
-    mQueueSubmit(mGraphicsQueue, 1, &submitInfo, backbuffer->mUsageFences[0]);
-
-    // We need to notify Skia that we changed the layout of the wrapped VkImage
-    sk_sp<SkSurface> skSurface = surface->mImageInfos[backbuffer->mImageIndex].mSurface;
-    GrBackendRenderTarget backendRT = skSurface->getBackendRenderTarget(
-            SkSurface::kFlushRead_BackendHandleAccess);
-    if (!backendRT.isValid()) {
-        SkASSERT(backendRT.isValid());
-        return nullptr;
-    }
-    backendRT.setVkImageLayout(VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL);
-
-    surface->mPreTransform = getPreTransformMatrix(surface->windowWidth(),
-                                                   surface->windowHeight(),
-                                                   surface->mTransform);
-
-    surface->mBackbuffer = std::move(skSurface);
-    return surface->mBackbuffer.get();
-}
-
-void VulkanManager::destroyBuffers(VulkanSurface* surface) {
-    if (surface->mBackbuffers) {
-        for (uint32_t i = 0; i < surface->mImageCount + 1; ++i) {
-            mWaitForFences(mDevice, 2, surface->mBackbuffers[i].mUsageFences, true, UINT64_MAX);
-            surface->mBackbuffers[i].mImageIndex = -1;
-            mDestroySemaphore(mDevice, surface->mBackbuffers[i].mAcquireSemaphore, nullptr);
-            mDestroySemaphore(mDevice, surface->mBackbuffers[i].mRenderSemaphore, nullptr);
-            mFreeCommandBuffers(mDevice, mCommandPool, 2,
-                    surface->mBackbuffers[i].mTransitionCmdBuffers);
-            mDestroyFence(mDevice, surface->mBackbuffers[i].mUsageFences[0], 0);
-            mDestroyFence(mDevice, surface->mBackbuffers[i].mUsageFences[1], 0);
-        }
-    }
-
-    delete[] surface->mBackbuffers;
-    surface->mBackbuffers = nullptr;
-    delete[] surface->mImageInfos;
-    surface->mImageInfos = nullptr;
-    delete[] surface->mImages;
-    surface->mImages = nullptr;
+    // Exporting a semaphore with copy transference via vkGetSemaphoreFdKHR, has the same effect of
+    // destroying the semaphore and creating a new one with the same handle, and the payloads
+    // ownership is move to the Fd we created. Thus the semaphore is in a state that we can delete
+    // it and we don't need to wait on the command buffer we submitted to finish.
+    mDestroySemaphore(mDevice, semaphore, nullptr);
 }
 
 void VulkanManager::destroySurface(VulkanSurface* surface) {
@@ -630,271 +532,9 @@
     }
     mDeviceWaitIdle(mDevice);
 
-    destroyBuffers(surface);
-
-    if (VK_NULL_HANDLE != surface->mSwapchain) {
-        mDestroySwapchainKHR(mDevice, surface->mSwapchain, nullptr);
-        surface->mSwapchain = VK_NULL_HANDLE;
-    }
-
-    if (VK_NULL_HANDLE != surface->mVkSurface) {
-        mDestroySurfaceKHR(mInstance, surface->mVkSurface, nullptr);
-        surface->mVkSurface = VK_NULL_HANDLE;
-    }
     delete surface;
 }
 
-void VulkanManager::createBuffers(VulkanSurface* surface, VkFormat format, VkExtent2D extent) {
-    mGetSwapchainImagesKHR(mDevice, surface->mSwapchain, &surface->mImageCount, nullptr);
-    SkASSERT(surface->mImageCount);
-    surface->mImages = new VkImage[surface->mImageCount];
-    mGetSwapchainImagesKHR(mDevice, surface->mSwapchain, &surface->mImageCount, surface->mImages);
-
-    SkSurfaceProps props(0, kUnknown_SkPixelGeometry);
-
-    // set up initial image layouts and create surfaces
-    surface->mImageInfos = new VulkanSurface::ImageInfo[surface->mImageCount];
-    for (uint32_t i = 0; i < surface->mImageCount; ++i) {
-        GrVkImageInfo info;
-        info.fImage = surface->mImages[i];
-        info.fAlloc = GrVkAlloc();
-        info.fImageLayout = VK_IMAGE_LAYOUT_UNDEFINED;
-        info.fImageTiling = VK_IMAGE_TILING_OPTIMAL;
-        info.fFormat = format;
-        info.fLevelCount = 1;
-
-        GrBackendRenderTarget backendRT(extent.width, extent.height, 0, 0, info);
-
-        VulkanSurface::ImageInfo& imageInfo = surface->mImageInfos[i];
-        imageInfo.mSurface = SkSurface::MakeFromBackendRenderTarget(
-                surface->mGrContext, backendRT, kTopLeft_GrSurfaceOrigin,
-                surface->mColorType, surface->mColorSpace, &props);
-    }
-
-    SkASSERT(mCommandPool != VK_NULL_HANDLE);
-
-    // set up the backbuffers
-    VkSemaphoreCreateInfo semaphoreInfo;
-    memset(&semaphoreInfo, 0, sizeof(VkSemaphoreCreateInfo));
-    semaphoreInfo.sType = VK_STRUCTURE_TYPE_SEMAPHORE_CREATE_INFO;
-    semaphoreInfo.pNext = nullptr;
-    semaphoreInfo.flags = 0;
-    VkCommandBufferAllocateInfo commandBuffersInfo;
-    memset(&commandBuffersInfo, 0, sizeof(VkCommandBufferAllocateInfo));
-    commandBuffersInfo.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_ALLOCATE_INFO;
-    commandBuffersInfo.pNext = nullptr;
-    commandBuffersInfo.commandPool = mCommandPool;
-    commandBuffersInfo.level = VK_COMMAND_BUFFER_LEVEL_PRIMARY;
-    commandBuffersInfo.commandBufferCount = 2;
-    VkFenceCreateInfo fenceInfo;
-    memset(&fenceInfo, 0, sizeof(VkFenceCreateInfo));
-    fenceInfo.sType = VK_STRUCTURE_TYPE_FENCE_CREATE_INFO;
-    fenceInfo.pNext = nullptr;
-    fenceInfo.flags = VK_FENCE_CREATE_SIGNALED_BIT;
-
-    // we create one additional backbuffer structure here, because we want to
-    // give the command buffers they contain a chance to finish before we cycle back
-    surface->mBackbuffers = new VulkanSurface::BackbufferInfo[surface->mImageCount + 1];
-    for (uint32_t i = 0; i < surface->mImageCount + 1; ++i) {
-        SkDEBUGCODE(VkResult res);
-        surface->mBackbuffers[i].mImageIndex = -1;
-        SkDEBUGCODE(res =) mCreateSemaphore(mDevice, &semaphoreInfo, nullptr,
-                                            &surface->mBackbuffers[i].mAcquireSemaphore);
-        SkDEBUGCODE(res =) mCreateSemaphore(mDevice, &semaphoreInfo, nullptr,
-                                            &surface->mBackbuffers[i].mRenderSemaphore);
-        SkDEBUGCODE(res =) mAllocateCommandBuffers(mDevice, &commandBuffersInfo,
-                                                   surface->mBackbuffers[i].mTransitionCmdBuffers);
-        SkDEBUGCODE(res =) mCreateFence(mDevice, &fenceInfo, nullptr,
-                                        &surface->mBackbuffers[i].mUsageFences[0]);
-        SkDEBUGCODE(res =) mCreateFence(mDevice, &fenceInfo, nullptr,
-                                        &surface->mBackbuffers[i].mUsageFences[1]);
-        SkASSERT(VK_SUCCESS == res);
-    }
-    surface->mCurrentBackbufferIndex = surface->mImageCount;
-}
-
-bool VulkanManager::createSwapchain(VulkanSurface* surface) {
-    // check for capabilities
-    VkSurfaceCapabilitiesKHR caps;
-    VkResult res = mGetPhysicalDeviceSurfaceCapabilitiesKHR(mPhysicalDevice,
-                                                            surface->mVkSurface, &caps);
-    if (VK_SUCCESS != res) {
-        return false;
-    }
-
-    uint32_t surfaceFormatCount;
-    res = mGetPhysicalDeviceSurfaceFormatsKHR(mPhysicalDevice, surface->mVkSurface,
-                                              &surfaceFormatCount, nullptr);
-    if (VK_SUCCESS != res) {
-        return false;
-    }
-
-    FatVector<VkSurfaceFormatKHR, 4> surfaceFormats(surfaceFormatCount);
-    res = mGetPhysicalDeviceSurfaceFormatsKHR(mPhysicalDevice, surface->mVkSurface,
-                                              &surfaceFormatCount, surfaceFormats.data());
-    if (VK_SUCCESS != res) {
-        return false;
-    }
-
-    uint32_t presentModeCount;
-    res = mGetPhysicalDeviceSurfacePresentModesKHR(mPhysicalDevice,
-                                                   surface->mVkSurface, &presentModeCount, nullptr);
-    if (VK_SUCCESS != res) {
-        return false;
-    }
-
-    FatVector<VkPresentModeKHR, VK_PRESENT_MODE_RANGE_SIZE_KHR> presentModes(presentModeCount);
-    res = mGetPhysicalDeviceSurfacePresentModesKHR(mPhysicalDevice,
-                                                   surface->mVkSurface, &presentModeCount,
-                                                   presentModes.data());
-    if (VK_SUCCESS != res) {
-        return false;
-    }
-
-    if (!SkToBool(caps.supportedTransforms & VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR)) {
-        return false;
-    }
-    VkSurfaceTransformFlagBitsKHR transform;
-    if (SkToBool(caps.supportedTransforms & caps.currentTransform) &&
-        !SkToBool(caps.currentTransform & VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR)) {
-        transform = caps.currentTransform;
-    } else {
-        transform = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
-    }
-
-    VkExtent2D extent = caps.currentExtent;
-    // clamp width; to handle currentExtent of -1 and  protect us from broken hints
-    if (extent.width < caps.minImageExtent.width) {
-        extent.width = caps.minImageExtent.width;
-    }
-    SkASSERT(extent.width <= caps.maxImageExtent.width);
-    // clamp height
-    if (extent.height < caps.minImageExtent.height) {
-        extent.height = caps.minImageExtent.height;
-    }
-    SkASSERT(extent.height <= caps.maxImageExtent.height);
-
-    VkExtent2D swapExtent = extent;
-    if (transform == VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR ||
-        transform == VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR ||
-        transform == VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_90_BIT_KHR ||
-        transform == VK_SURFACE_TRANSFORM_HORIZONTAL_MIRROR_ROTATE_270_BIT_KHR) {
-        swapExtent.width = extent.height;
-        swapExtent.height = extent.width;
-    }
-
-    surface->mWindowWidth = extent.width;
-    surface->mWindowHeight = extent.height;
-
-    uint32_t imageCount = std::max<uint32_t>(3, caps.minImageCount);
-    if (caps.maxImageCount > 0 && imageCount > caps.maxImageCount) {
-        // Application must settle for fewer images than desired:
-        imageCount = caps.maxImageCount;
-    }
-
-    // Currently Skia requires the images to be color attchments and support all transfer
-    // operations.
-    VkImageUsageFlags usageFlags = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT |
-                                   VK_IMAGE_USAGE_TRANSFER_SRC_BIT |
-                                   VK_IMAGE_USAGE_TRANSFER_DST_BIT;
-    SkASSERT((caps.supportedUsageFlags & usageFlags) == usageFlags);
-
-    SkASSERT(caps.supportedCompositeAlpha &
-             (VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR | VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR));
-    VkCompositeAlphaFlagBitsKHR composite_alpha =
-            (caps.supportedCompositeAlpha & VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR)
-                    ? VK_COMPOSITE_ALPHA_INHERIT_BIT_KHR
-                    : VK_COMPOSITE_ALPHA_OPAQUE_BIT_KHR;
-
-    VkFormat surfaceFormat = VK_FORMAT_R8G8B8A8_UNORM;
-    VkColorSpaceKHR colorSpace = VK_COLORSPACE_SRGB_NONLINEAR_KHR;
-    if (surface->mColorType == SkColorType::kRGBA_F16_SkColorType) {
-        surfaceFormat = VK_FORMAT_R16G16B16A16_SFLOAT;
-    }
-
-    if (surface->mColorMode == ColorMode::WideColorGamut) {
-        skcms_Matrix3x3 surfaceGamut;
-        LOG_ALWAYS_FATAL_IF(!surface->mColorSpace->toXYZD50(&surfaceGamut),
-                            "Could not get gamut matrix from color space");
-        if (memcmp(&surfaceGamut, &SkNamedGamut::kSRGB, sizeof(surfaceGamut)) == 0) {
-            colorSpace = VK_COLOR_SPACE_EXTENDED_SRGB_NONLINEAR_EXT;
-        } else if (memcmp(&surfaceGamut, &SkNamedGamut::kDCIP3, sizeof(surfaceGamut)) == 0) {
-            colorSpace = VK_COLOR_SPACE_DISPLAY_P3_NONLINEAR_EXT;
-        } else {
-            LOG_ALWAYS_FATAL("Unreachable: unsupported wide color space.");
-        }
-    }
-
-    bool foundSurfaceFormat = false;
-    for (uint32_t i = 0; i < surfaceFormatCount; ++i) {
-        if (surfaceFormat == surfaceFormats[i].format
-                && colorSpace == surfaceFormats[i].colorSpace) {
-            foundSurfaceFormat = true;
-            break;
-        }
-    }
-
-    if (!foundSurfaceFormat) {
-        return false;
-    }
-
-    // FIFO is always available and will match what we do on GL so just pick that here.
-    VkPresentModeKHR mode = VK_PRESENT_MODE_FIFO_KHR;
-
-    VkSwapchainCreateInfoKHR swapchainCreateInfo;
-    memset(&swapchainCreateInfo, 0, sizeof(VkSwapchainCreateInfoKHR));
-    swapchainCreateInfo.sType = VK_STRUCTURE_TYPE_SWAPCHAIN_CREATE_INFO_KHR;
-    swapchainCreateInfo.surface = surface->mVkSurface;
-    swapchainCreateInfo.minImageCount = imageCount;
-    swapchainCreateInfo.imageFormat = surfaceFormat;
-    swapchainCreateInfo.imageColorSpace = colorSpace;
-    swapchainCreateInfo.imageExtent = swapExtent;
-    swapchainCreateInfo.imageArrayLayers = 1;
-    swapchainCreateInfo.imageUsage = usageFlags;
-
-    uint32_t queueFamilies[] = {mGraphicsQueueIndex, mPresentQueueIndex};
-    if (mGraphicsQueueIndex != mPresentQueueIndex) {
-        swapchainCreateInfo.imageSharingMode = VK_SHARING_MODE_CONCURRENT;
-        swapchainCreateInfo.queueFamilyIndexCount = 2;
-        swapchainCreateInfo.pQueueFamilyIndices = queueFamilies;
-    } else {
-        swapchainCreateInfo.imageSharingMode = VK_SHARING_MODE_EXCLUSIVE;
-        swapchainCreateInfo.queueFamilyIndexCount = 0;
-        swapchainCreateInfo.pQueueFamilyIndices = nullptr;
-    }
-
-    swapchainCreateInfo.preTransform = transform;
-    swapchainCreateInfo.compositeAlpha = composite_alpha;
-    swapchainCreateInfo.presentMode = mode;
-    swapchainCreateInfo.clipped = true;
-    swapchainCreateInfo.oldSwapchain = surface->mSwapchain;
-
-    res = mCreateSwapchainKHR(mDevice, &swapchainCreateInfo, nullptr, &surface->mSwapchain);
-    if (VK_SUCCESS != res) {
-        return false;
-    }
-
-    surface->mTransform = transform;
-
-    // destroy the old swapchain
-    if (swapchainCreateInfo.oldSwapchain != VK_NULL_HANDLE) {
-        mDeviceWaitIdle(mDevice);
-
-        destroyBuffers(surface);
-
-        mDestroySwapchainKHR(mDevice, swapchainCreateInfo.oldSwapchain, nullptr);
-    }
-
-    createBuffers(surface, surfaceFormat, swapExtent);
-
-    // The window content is not updated (frozen) until a buffer of the window size is received.
-    // This prevents temporary stretching of the window after it is resized, but before the first
-    // buffer with new size is enqueued.
-    native_window_set_scaling_mode(surface->mNativeWindow, NATIVE_WINDOW_SCALING_MODE_FREEZE);
-
-    return true;
-}
-
 VulkanSurface* VulkanManager::createSurface(ANativeWindow* window, ColorMode colorMode,
                                             sk_sp<SkColorSpace> surfaceColorSpace,
                                             SkColorType surfaceColorType,
@@ -904,185 +544,8 @@
         return nullptr;
     }
 
-    VulkanSurface* surface = new VulkanSurface(colorMode, window, surfaceColorSpace,
-                                               surfaceColorType, grContext);
-
-    VkAndroidSurfaceCreateInfoKHR surfaceCreateInfo;
-    memset(&surfaceCreateInfo, 0, sizeof(VkAndroidSurfaceCreateInfoKHR));
-    surfaceCreateInfo.sType = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
-    surfaceCreateInfo.pNext = nullptr;
-    surfaceCreateInfo.flags = 0;
-    surfaceCreateInfo.window = window;
-
-    VkResult res = mCreateAndroidSurfaceKHR(mInstance, &surfaceCreateInfo, nullptr,
-            &surface->mVkSurface);
-    if (VK_SUCCESS != res) {
-        delete surface;
-        return nullptr;
-    }
-
-    SkDEBUGCODE(VkBool32 supported; res = mGetPhysicalDeviceSurfaceSupportKHR(
-            mPhysicalDevice, mPresentQueueIndex, surface->mVkSurface, &supported);
-    // All physical devices and queue families on Android must be capable of
-    // presentation with any native window.
-    SkASSERT(VK_SUCCESS == res && supported););
-
-    if (!createSwapchain(surface)) {
-        destroySurface(surface);
-        return nullptr;
-    }
-
-    return surface;
-}
-
-// Helper to know which src stage flags we need to set when transitioning to the present layout
-static VkPipelineStageFlags layoutToPipelineSrcStageFlags(const VkImageLayout layout) {
-    if (VK_IMAGE_LAYOUT_GENERAL == layout) {
-        return VK_PIPELINE_STAGE_ALL_COMMANDS_BIT;
-    } else if (VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL == layout ||
-               VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL == layout) {
-        return VK_PIPELINE_STAGE_TRANSFER_BIT;
-    } else if (VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL == layout) {
-        return VK_PIPELINE_STAGE_COLOR_ATTACHMENT_OUTPUT_BIT;
-    } else if (VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL == layout ||
-               VK_IMAGE_LAYOUT_DEPTH_STENCIL_READ_ONLY_OPTIMAL == layout) {
-        return VK_PIPELINE_STAGE_LATE_FRAGMENT_TESTS_BIT;
-    } else if (VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL == layout) {
-        return VK_PIPELINE_STAGE_FRAGMENT_SHADER_BIT;
-    } else if (VK_IMAGE_LAYOUT_PREINITIALIZED == layout) {
-        return VK_PIPELINE_STAGE_HOST_BIT;
-    }
-
-    SkASSERT(VK_IMAGE_LAYOUT_UNDEFINED == layout);
-    return VK_PIPELINE_STAGE_TOP_OF_PIPE_BIT;
-}
-
-// Helper to know which src access mask we need to set when transitioning to the present layout
-static VkAccessFlags layoutToSrcAccessMask(const VkImageLayout layout) {
-    VkAccessFlags flags = 0;
-    if (VK_IMAGE_LAYOUT_GENERAL == layout) {
-        flags = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT |
-                VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT | VK_ACCESS_TRANSFER_WRITE_BIT |
-                VK_ACCESS_TRANSFER_READ_BIT | VK_ACCESS_SHADER_READ_BIT | VK_ACCESS_HOST_WRITE_BIT |
-                VK_ACCESS_HOST_READ_BIT;
-    } else if (VK_IMAGE_LAYOUT_PREINITIALIZED == layout) {
-        flags = VK_ACCESS_HOST_WRITE_BIT;
-    } else if (VK_IMAGE_LAYOUT_COLOR_ATTACHMENT_OPTIMAL == layout) {
-        flags = VK_ACCESS_COLOR_ATTACHMENT_WRITE_BIT;
-    } else if (VK_IMAGE_LAYOUT_DEPTH_STENCIL_ATTACHMENT_OPTIMAL == layout) {
-        flags = VK_ACCESS_DEPTH_STENCIL_ATTACHMENT_WRITE_BIT;
-    } else if (VK_IMAGE_LAYOUT_TRANSFER_DST_OPTIMAL == layout) {
-        flags = VK_ACCESS_TRANSFER_WRITE_BIT;
-    } else if (VK_IMAGE_LAYOUT_TRANSFER_SRC_OPTIMAL == layout) {
-        flags = VK_ACCESS_TRANSFER_READ_BIT;
-    } else if (VK_IMAGE_LAYOUT_SHADER_READ_ONLY_OPTIMAL == layout) {
-        flags = VK_ACCESS_SHADER_READ_BIT;
-    }
-    return flags;
-}
-
-void VulkanManager::swapBuffers(VulkanSurface* surface) {
-    if (CC_UNLIKELY(Properties::waitForGpuCompletion)) {
-        ATRACE_NAME("Finishing GPU work");
-        mDeviceWaitIdle(mDevice);
-    }
-
-    SkASSERT(surface->mBackbuffers);
-    VulkanSurface::BackbufferInfo* backbuffer =
-            surface->mBackbuffers + surface->mCurrentBackbufferIndex;
-
-    SkSurface* skSurface = surface->mImageInfos[backbuffer->mImageIndex].mSurface.get();
-    GrBackendRenderTarget backendRT = skSurface->getBackendRenderTarget(
-            SkSurface::kFlushRead_BackendHandleAccess);
-    SkASSERT(backendRT.isValid());
-
-    GrVkImageInfo imageInfo;
-    SkAssertResult(backendRT.getVkImageInfo(&imageInfo));
-
-    // Check to make sure we never change the actually wrapped image
-    SkASSERT(imageInfo.fImage == surface->mImages[backbuffer->mImageIndex]);
-
-    // We need to transition the image to VK_IMAGE_LAYOUT_PRESENT_SRC_KHR and make sure that all
-    // previous work is complete for before presenting. So we first add the necessary barrier here.
-    VkImageLayout layout = imageInfo.fImageLayout;
-    VkPipelineStageFlags srcStageMask = layoutToPipelineSrcStageFlags(layout);
-    VkPipelineStageFlags dstStageMask = VK_PIPELINE_STAGE_BOTTOM_OF_PIPE_BIT;
-    VkAccessFlags srcAccessMask = layoutToSrcAccessMask(layout);
-    VkAccessFlags dstAccessMask = 0;
-
-    VkImageMemoryBarrier imageMemoryBarrier = {
-            VK_STRUCTURE_TYPE_IMAGE_MEMORY_BARRIER,     // sType
-            NULL,                                       // pNext
-            srcAccessMask,                              // outputMask
-            dstAccessMask,                              // inputMask
-            layout,                                     // oldLayout
-            VK_IMAGE_LAYOUT_PRESENT_SRC_KHR,            // newLayout
-            mGraphicsQueueIndex,                        // srcQueueFamilyIndex
-            mPresentQueueIndex,                         // dstQueueFamilyIndex
-            surface->mImages[backbuffer->mImageIndex],  // image
-            {VK_IMAGE_ASPECT_COLOR_BIT, 0, 1, 0, 1}     // subresourceRange
-    };
-
-    mResetCommandBuffer(backbuffer->mTransitionCmdBuffers[1], 0);
-    VkCommandBufferBeginInfo info;
-    memset(&info, 0, sizeof(VkCommandBufferBeginInfo));
-    info.sType = VK_STRUCTURE_TYPE_COMMAND_BUFFER_BEGIN_INFO;
-    info.flags = 0;
-    mBeginCommandBuffer(backbuffer->mTransitionCmdBuffers[1], &info);
-    mCmdPipelineBarrier(backbuffer->mTransitionCmdBuffers[1], srcStageMask, dstStageMask, 0, 0,
-                        nullptr, 0, nullptr, 1, &imageMemoryBarrier);
-    mEndCommandBuffer(backbuffer->mTransitionCmdBuffers[1]);
-
-    surface->mImageInfos[backbuffer->mImageIndex].mImageLayout = VK_IMAGE_LAYOUT_PRESENT_SRC_KHR;
-
-    // insert the layout transfer into the queue and wait on the acquire
-    VkSubmitInfo submitInfo;
-    memset(&submitInfo, 0, sizeof(VkSubmitInfo));
-    submitInfo.sType = VK_STRUCTURE_TYPE_SUBMIT_INFO;
-    submitInfo.waitSemaphoreCount = 0;
-    submitInfo.pWaitDstStageMask = 0;
-    submitInfo.commandBufferCount = 1;
-    submitInfo.pCommandBuffers = &backbuffer->mTransitionCmdBuffers[1];
-    submitInfo.signalSemaphoreCount = 1;
-    // When this command buffer finishes we will signal this semaphore so that we know it is now
-    // safe to present the image to the screen.
-    submitInfo.pSignalSemaphores = &backbuffer->mRenderSemaphore;
-
-    // Attach second fence to submission here so we can track when the command buffer finishes.
-    mQueueSubmit(mGraphicsQueue, 1, &submitInfo, backbuffer->mUsageFences[1]);
-
-    // Submit present operation to present queue. We use a semaphore here to make sure all rendering
-    // to the image is complete and that the layout has been change to present on the graphics
-    // queue.
-    const VkPresentInfoKHR presentInfo = {
-            VK_STRUCTURE_TYPE_PRESENT_INFO_KHR,  // sType
-            NULL,                                // pNext
-            1,                                   // waitSemaphoreCount
-            &backbuffer->mRenderSemaphore,       // pWaitSemaphores
-            1,                                   // swapchainCount
-            &surface->mSwapchain,                // pSwapchains
-            &backbuffer->mImageIndex,            // pImageIndices
-            NULL                                 // pResults
-    };
-
-    mQueuePresentKHR(mPresentQueue, &presentInfo);
-
-    surface->mBackbuffer.reset();
-    surface->mImageInfos[backbuffer->mImageIndex].mLastUsed = surface->mCurrentTime;
-    surface->mImageInfos[backbuffer->mImageIndex].mInvalid = false;
-    surface->mCurrentTime++;
-}
-
-int VulkanManager::getAge(VulkanSurface* surface) {
-    SkASSERT(surface->mBackbuffers);
-    VulkanSurface::BackbufferInfo* backbuffer =
-            surface->mBackbuffers + surface->mCurrentBackbufferIndex;
-    if (mSwapBehavior == SwapBehavior::Discard ||
-        surface->mImageInfos[backbuffer->mImageIndex].mInvalid) {
-        return 0;
-    }
-    uint16_t lastUsed = surface->mImageInfos[backbuffer->mImageIndex].mLastUsed;
-    return surface->mCurrentTime - lastUsed;
+    return VulkanSurface::Create(window, colorMode, surfaceColorType, surfaceColorSpace, grContext,
+                                  *this);
 }
 
 bool VulkanManager::setupDummyCommandBuffer() {
diff --git a/libs/hwui/renderthread/VulkanManager.h b/libs/hwui/renderthread/VulkanManager.h
index 95c9630..c2d1802 100644
--- a/libs/hwui/renderthread/VulkanManager.h
+++ b/libs/hwui/renderthread/VulkanManager.h
@@ -28,7 +28,9 @@
 #include <ui/Fence.h>
 #include <utils/StrongPointer.h>
 #include <vk/GrVkBackendContext.h>
+#include "Frame.h"
 #include "IRenderPipeline.h"
+#include "VulkanSurface.h"
 
 class GrVkExtensions;
 
@@ -38,66 +40,6 @@
 
 class RenderThread;
 
-class VulkanSurface {
-public:
-    VulkanSurface(ColorMode colorMode, ANativeWindow* window, sk_sp<SkColorSpace> colorSpace,
-                  SkColorType colorType, GrContext* grContext)
-            : mColorMode(colorMode), mNativeWindow(window), mColorSpace(colorSpace),
-              mColorType(colorType), mGrContext(grContext) {}
-
-    sk_sp<SkSurface> getBackBufferSurface() { return mBackbuffer; }
-
-    // The width and height are are the logical width and height for when submitting draws to the
-    // surface. In reality if the window is rotated the underlying VkImage may have the width and
-    // height swapped.
-    int windowWidth() const { return mWindowWidth; }
-    int windowHeight() const { return mWindowHeight; }
-
-    SkMatrix& preTransform() { return mPreTransform; }
-
-private:
-    friend class VulkanManager;
-    struct BackbufferInfo {
-        uint32_t mImageIndex;           // image this is associated with
-        VkSemaphore mAcquireSemaphore;  // we signal on this for acquisition of image
-        VkSemaphore mRenderSemaphore;   // we wait on this for rendering to be done
-        VkCommandBuffer
-                mTransitionCmdBuffers[2];  // to transition layout between present and render
-        // We use these fences to make sure the above Command buffers have finished their work
-        // before attempting to reuse them or destroy them.
-        VkFence mUsageFences[2];
-    };
-
-    struct ImageInfo {
-        VkImageLayout mImageLayout = VK_IMAGE_LAYOUT_UNDEFINED;
-        sk_sp<SkSurface> mSurface;
-        uint16_t mLastUsed = 0;
-        bool mInvalid = true;
-    };
-
-    sk_sp<SkSurface> mBackbuffer;
-
-    VkSurfaceKHR mVkSurface = VK_NULL_HANDLE;
-    VkSwapchainKHR mSwapchain = VK_NULL_HANDLE;
-
-    BackbufferInfo* mBackbuffers = nullptr;
-    uint32_t mCurrentBackbufferIndex;
-
-    uint32_t mImageCount;
-    VkImage* mImages = nullptr;
-    ImageInfo* mImageInfos;
-    uint16_t mCurrentTime = 0;
-    ColorMode mColorMode;
-    ANativeWindow* mNativeWindow;
-    int mWindowWidth = 0;
-    int mWindowHeight = 0;
-    sk_sp<SkColorSpace> mColorSpace;
-    SkColorType mColorType;
-    VkSurfaceTransformFlagBitsKHR mTransform = VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR;
-    SkMatrix mPreTransform;
-    GrContext* mGrContext;
-};
-
 // This class contains the shared global Vulkan objects, such as VkInstance, VkDevice and VkQueue,
 // which are re-used by CanvasContext. This class is created once and should be used by all vulkan
 // windowing contexts. The VulkanManager must be initialized before use.
@@ -114,33 +56,19 @@
     // Quick check to see if the VulkanManager has been initialized.
     bool hasVkContext() { return mDevice != VK_NULL_HANDLE; }
 
-    // Given a window this creates a new VkSurfaceKHR and VkSwapchain and stores them inside a new
-    // VulkanSurface object which is returned.
+    // Create and destroy functions for wrapping an ANativeWindow in a VulkanSurface
     VulkanSurface* createSurface(ANativeWindow* window, ColorMode colorMode,
                                  sk_sp<SkColorSpace> surfaceColorSpace,
                                  SkColorType surfaceColorType,
                                  GrContext* grContext);
-
-    // Destroy the VulkanSurface and all associated vulkan objects.
     void destroySurface(VulkanSurface* surface);
 
+    Frame dequeueNextBuffer(VulkanSurface* surface);
+    void swapBuffers(VulkanSurface* surface, const SkRect& dirtyRect);
+
     // Cleans up all the global state in the VulkanManger.
     void destroy();
 
-    // No work is needed to make a VulkanSurface current, and all functions require that a
-    // VulkanSurface is passed into them so we just return true here.
-    bool isCurrent(VulkanSurface* surface) { return true; }
-
-    int getAge(VulkanSurface* surface);
-
-    // Returns an SkSurface which wraps the next image returned from vkAcquireNextImageKHR. It also
-    // will transition the VkImage from a present layout to color attachment so that it can be used
-    // by the client for drawing.
-    SkSurface* getBackbufferSurface(VulkanSurface** surface);
-
-    // Presents the current VkImage.
-    void swapBuffers(VulkanSurface* surface);
-
     // Inserts a wait on fence command into the Vulkan command buffer.
     status_t fenceWait(sp<Fence>& fence);
 
@@ -148,22 +76,17 @@
     status_t createReleaseFence(sp<Fence>& nativeFence);
 
     // Returned pointers are owned by VulkanManager.
+    // An instance of VkFunctorInitParams returned from getVkFunctorInitParams refers to
+    // the internal state of VulkanManager: VulkanManager must be alive to use the returned value.
     VkFunctorInitParams getVkFunctorInitParams() const;
 
     sk_sp<GrContext> createContext(const GrContextOptions& options);
 
 private:
+    friend class VulkanSurface;
     // Sets up the VkInstance and VkDevice objects. Also fills out the passed in
     // VkPhysicalDeviceFeatures struct.
     void setupDevice(GrVkExtensions&, VkPhysicalDeviceFeatures2&);
-
-    void destroyBuffers(VulkanSurface* surface);
-
-    bool createSwapchain(VulkanSurface* surface);
-    void createBuffers(VulkanSurface* surface, VkFormat format, VkExtent2D extent);
-
-    VulkanSurface::BackbufferInfo* getAvailableBackbuffer(VulkanSurface* surface);
-
     bool setupDummyCommandBuffer();
 
     // simple wrapper class that exists only to initialize a pointer to NULL
@@ -190,13 +113,6 @@
     VkPtr<PFN_vkGetPhysicalDeviceSurfaceFormatsKHR> mGetPhysicalDeviceSurfaceFormatsKHR;
     VkPtr<PFN_vkGetPhysicalDeviceSurfacePresentModesKHR> mGetPhysicalDeviceSurfacePresentModesKHR;
 
-    VkPtr<PFN_vkCreateSwapchainKHR> mCreateSwapchainKHR;
-    VkPtr<PFN_vkDestroySwapchainKHR> mDestroySwapchainKHR;
-    VkPtr<PFN_vkGetSwapchainImagesKHR> mGetSwapchainImagesKHR;
-    VkPtr<PFN_vkAcquireNextImageKHR> mAcquireNextImageKHR;
-    VkPtr<PFN_vkQueuePresentKHR> mQueuePresentKHR;
-    VkPtr<PFN_vkCreateSharedSwapchainsKHR> mCreateSharedSwapchainsKHR;
-
     // Instance Functions
     VkPtr<PFN_vkEnumerateInstanceVersion> mEnumerateInstanceVersion;
     VkPtr<PFN_vkEnumerateInstanceExtensionProperties> mEnumerateInstanceExtensionProperties;
@@ -207,6 +123,7 @@
     VkPtr<PFN_vkGetPhysicalDeviceProperties> mGetPhysicalDeviceProperties;
     VkPtr<PFN_vkGetPhysicalDeviceQueueFamilyProperties> mGetPhysicalDeviceQueueFamilyProperties;
     VkPtr<PFN_vkGetPhysicalDeviceFeatures2> mGetPhysicalDeviceFeatures2;
+    VkPtr<PFN_vkGetPhysicalDeviceImageFormatProperties2> mGetPhysicalDeviceImageFormatProperties2;
     VkPtr<PFN_vkCreateDevice> mCreateDevice;
     VkPtr<PFN_vkEnumerateDeviceExtensionProperties> mEnumerateDeviceExtensionProperties;
 
@@ -249,7 +166,9 @@
 
     // Variables saved to populate VkFunctorInitParams.
     static const uint32_t mAPIVersion = VK_MAKE_VERSION(1, 1, 0);
+    std::vector<VkExtensionProperties> mInstanceExtensionsOwner;
     std::vector<const char*> mInstanceExtensions;
+    std::vector<VkExtensionProperties> mDeviceExtensionsOwner;
     std::vector<const char*> mDeviceExtensions;
     VkPhysicalDeviceFeatures2 mPhysicalDeviceFeatures2{};
 
diff --git a/libs/hwui/renderthread/VulkanSurface.cpp b/libs/hwui/renderthread/VulkanSurface.cpp
new file mode 100644
index 0000000..c03c3a8
--- /dev/null
+++ b/libs/hwui/renderthread/VulkanSurface.cpp
@@ -0,0 +1,536 @@
+/*
+ * 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.
+ */
+
+#include "VulkanSurface.h"
+
+#include <algorithm>
+#include <SkSurface.h>
+
+#include "VulkanManager.h"
+#include "utils/TraceUtils.h"
+#include "utils/Color.h"
+
+namespace android {
+namespace uirenderer {
+namespace renderthread {
+
+static bool IsTransformSupported(int transform) {
+    // For now, only support pure rotations, not flip or flip-and-rotate, until we have
+    // more time to test them and build sample code. As far as I know we never actually
+    // use anything besides pure rotations anyway.
+    return transform == 0
+        || transform == NATIVE_WINDOW_TRANSFORM_ROT_90
+        || transform == NATIVE_WINDOW_TRANSFORM_ROT_180
+        || transform == NATIVE_WINDOW_TRANSFORM_ROT_270;
+}
+
+static int InvertTransform(int transform) {
+    switch (transform) {
+        case NATIVE_WINDOW_TRANSFORM_ROT_90:
+            return NATIVE_WINDOW_TRANSFORM_ROT_270;
+        case NATIVE_WINDOW_TRANSFORM_ROT_180:
+            return NATIVE_WINDOW_TRANSFORM_ROT_180;
+        case NATIVE_WINDOW_TRANSFORM_ROT_270:
+            return NATIVE_WINDOW_TRANSFORM_ROT_90;
+        default:
+            return 0;
+    }
+}
+
+static int ConvertVkTransformToNative(VkSurfaceTransformFlagsKHR transform) {
+    switch (transform) {
+        case VK_SURFACE_TRANSFORM_ROTATE_90_BIT_KHR:
+            return NATIVE_WINDOW_TRANSFORM_ROT_270;
+        case VK_SURFACE_TRANSFORM_ROTATE_180_BIT_KHR:
+            return NATIVE_WINDOW_TRANSFORM_ROT_180;
+        case VK_SURFACE_TRANSFORM_ROTATE_270_BIT_KHR:
+            return NATIVE_WINDOW_TRANSFORM_ROT_90;
+        case VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR:
+        case VK_SURFACE_TRANSFORM_INHERIT_BIT_KHR:
+        default:
+            return 0;
+    }
+}
+
+static SkMatrix GetPreTransformMatrix(SkISize windowSize, int transform) {
+    const int width = windowSize.width();
+    const int height = windowSize.height();
+
+    switch (transform) {
+        case 0:
+            return SkMatrix::I();
+        case NATIVE_WINDOW_TRANSFORM_ROT_90:
+            return SkMatrix::MakeAll(0, -1, height, 1, 0, 0, 0, 0, 1);
+        case NATIVE_WINDOW_TRANSFORM_ROT_180:
+            return SkMatrix::MakeAll(-1, 0, width, 0, -1, height, 0, 0, 1);
+        case NATIVE_WINDOW_TRANSFORM_ROT_270:
+            return SkMatrix::MakeAll(0, 1, 0, -1, 0, width, 0, 0, 1);
+        default:
+            LOG_ALWAYS_FATAL("Unsupported Window Transform (%d)", transform);
+    }
+    return SkMatrix::I();
+}
+
+void VulkanSurface::ComputeWindowSizeAndTransform(WindowInfo* windowInfo, const SkISize& minSize,
+                                                   const SkISize& maxSize) {
+    SkISize& windowSize = windowInfo->size;
+
+    // clamp width & height to handle currentExtent of -1 and  protect us from broken hints
+    if (windowSize.width() < minSize.width() || windowSize.width() > maxSize.width()
+        || windowSize.height() < minSize.height() || windowSize.height() > maxSize.height()) {
+        int width = std::min(maxSize.width(), std::max(minSize.width(), windowSize.width()));
+        int height = std::min(maxSize.height(), std::max(minSize.height(), windowSize.height()));
+        ALOGE("Invalid Window Dimensions [%d, %d]; clamping to [%d, %d]",
+              windowSize.width(), windowSize.height(), width, height);
+        windowSize.set(width, height);
+    }
+
+    windowInfo->actualSize = windowSize;
+    if (windowInfo->transform & HAL_TRANSFORM_ROT_90) {
+        windowInfo->actualSize.set(windowSize.height(), windowSize.width());
+    }
+
+    windowInfo->preTransform = GetPreTransformMatrix(windowInfo->size, windowInfo->transform);
+}
+
+static bool ResetNativeWindow(ANativeWindow* window) {
+    // -- Reset the native window --
+    // The native window might have been used previously, and had its properties
+    // changed from defaults. That will affect the answer we get for queries
+    // like MIN_UNDEQUEUED_BUFFERS. Reset to a known/default state before we
+    // attempt such queries.
+
+    int err = native_window_api_connect(window, NATIVE_WINDOW_API_EGL);
+    if (err != 0) {
+        ALOGW("native_window_api_connect failed: %s (%d)", strerror(-err), err);
+        return false;
+    }
+
+    // this will match what we do on GL so pick that here.
+    err = window->setSwapInterval(window, 1);
+    if (err != 0) {
+        ALOGW("native_window->setSwapInterval(1) failed: %s (%d)", strerror(-err), err);
+        return false;
+    }
+
+    err = native_window_set_shared_buffer_mode(window, false);
+    if (err != 0) {
+        ALOGW("native_window_set_shared_buffer_mode(false) failed: %s (%d)", strerror(-err), err);
+        return false;
+    }
+
+    err = native_window_set_auto_refresh(window, false);
+    if (err != 0) {
+        ALOGW("native_window_set_auto_refresh(false) failed: %s (%d)", strerror(-err), err);
+        return false;
+    }
+
+    return true;
+}
+
+class VkSurfaceAutoDeleter {
+public:
+    VkSurfaceAutoDeleter(VkInstance instance, VkSurfaceKHR surface,
+                         PFN_vkDestroySurfaceKHR destroySurfaceKHR)
+            : mInstance(instance)
+            , mSurface(surface)
+            , mDestroySurfaceKHR(destroySurfaceKHR) {}
+    ~VkSurfaceAutoDeleter() {
+        destroy();
+    }
+
+    void destroy() {
+        if (mSurface != VK_NULL_HANDLE) {
+            mDestroySurfaceKHR(mInstance, mSurface, nullptr);
+            mSurface = VK_NULL_HANDLE;
+        }
+    }
+
+private:
+    VkInstance mInstance;
+    VkSurfaceKHR mSurface;
+    PFN_vkDestroySurfaceKHR mDestroySurfaceKHR;
+};
+
+VulkanSurface* VulkanSurface::Create(ANativeWindow* window, ColorMode colorMode,
+                                       SkColorType colorType, sk_sp<SkColorSpace> colorSpace,
+                                       GrContext* grContext, const VulkanManager& vkManager) {
+
+    VkAndroidSurfaceCreateInfoKHR surfaceCreateInfo;
+    memset(&surfaceCreateInfo, 0, sizeof(VkAndroidSurfaceCreateInfoKHR));
+    surfaceCreateInfo.sType = VK_STRUCTURE_TYPE_ANDROID_SURFACE_CREATE_INFO_KHR;
+    surfaceCreateInfo.pNext = nullptr;
+    surfaceCreateInfo.flags = 0;
+    surfaceCreateInfo.window = window;
+
+    VkSurfaceKHR vkSurface = VK_NULL_HANDLE;
+    VkResult res = vkManager.mCreateAndroidSurfaceKHR(vkManager.mInstance, &surfaceCreateInfo,
+                                                      nullptr, &vkSurface);
+    if (VK_SUCCESS != res) {
+        ALOGE("VulkanSurface::Create() vkCreateAndroidSurfaceKHR failed (%d)", res);
+        return nullptr;
+    }
+
+    VkSurfaceAutoDeleter vkSurfaceDeleter(vkManager.mInstance, vkSurface,
+                                          vkManager.mDestroySurfaceKHR);
+
+    SkDEBUGCODE(VkBool32 supported; res = vkManager.mGetPhysicalDeviceSurfaceSupportKHR(
+            vkManager.mPhysicalDevice, vkManager.mPresentQueueIndex, vkSurface, &supported);
+    // All physical devices and queue families on Android must be capable of
+    // presentation with any native window.
+    SkASSERT(VK_SUCCESS == res && supported););
+
+    // check for capabilities
+    VkSurfaceCapabilitiesKHR caps;
+    res = vkManager.mGetPhysicalDeviceSurfaceCapabilitiesKHR(vkManager.mPhysicalDevice, vkSurface,
+                                                             &caps);
+    if (VK_SUCCESS != res) {
+        ALOGE("VulkanSurface::Create() vkGetPhysicalDeviceSurfaceCapabilitiesKHR failed (%d)", res);
+        return nullptr;
+    }
+
+    LOG_ALWAYS_FATAL_IF(0 == (caps.supportedTransforms & VK_SURFACE_TRANSFORM_IDENTITY_BIT_KHR));
+
+    /*
+     * We must destroy the VK Surface before attempting to update the window as doing so after
+     * will cause the native window to be modified in unexpected ways.
+     */
+    vkSurfaceDeleter.destroy();
+
+    /*
+     * Populate Window Info struct
+     */
+    WindowInfo windowInfo;
+
+    windowInfo.transform = ConvertVkTransformToNative(caps.supportedTransforms);
+    windowInfo.size = SkISize::Make(caps.currentExtent.width, caps.currentExtent.height);
+
+    const SkISize minSize = SkISize::Make(caps.minImageExtent.width, caps.minImageExtent.height);
+    const SkISize maxSize = SkISize::Make(caps.maxImageExtent.width, caps.maxImageExtent.height);
+    ComputeWindowSizeAndTransform(&windowInfo, minSize, maxSize);
+
+    windowInfo.bufferCount = std::max<uint32_t>(VulkanSurface::sMaxBufferCount, caps.minImageCount);
+    if (caps.maxImageCount > 0 && windowInfo.bufferCount > caps.maxImageCount) {
+        // Application must settle for fewer images than desired:
+        windowInfo.bufferCount = caps.maxImageCount;
+    }
+
+    // Currently Skia requires the images to be color attachments and support all transfer
+    // operations.
+    VkImageUsageFlags usageFlags = VK_IMAGE_USAGE_COLOR_ATTACHMENT_BIT |
+                                   VK_IMAGE_USAGE_SAMPLED_BIT |
+                                   VK_IMAGE_USAGE_TRANSFER_SRC_BIT |
+                                   VK_IMAGE_USAGE_TRANSFER_DST_BIT;
+    LOG_ALWAYS_FATAL_IF((caps.supportedUsageFlags & usageFlags) != usageFlags);
+
+    windowInfo.dataspace = HAL_DATASPACE_V0_SRGB;
+    if (colorMode == ColorMode::WideColorGamut) {
+        skcms_Matrix3x3 surfaceGamut;
+        LOG_ALWAYS_FATAL_IF(!colorSpace->toXYZD50(&surfaceGamut),
+                            "Could not get gamut matrix from color space");
+        if (memcmp(&surfaceGamut, &SkNamedGamut::kSRGB, sizeof(surfaceGamut)) == 0) {
+            windowInfo.dataspace = HAL_DATASPACE_V0_SCRGB;
+        } else if (memcmp(&surfaceGamut, &SkNamedGamut::kDCIP3, sizeof(surfaceGamut)) == 0) {
+            windowInfo.dataspace = HAL_DATASPACE_DISPLAY_P3;
+        } else {
+            LOG_ALWAYS_FATAL("Unreachable: unsupported wide color space.");
+        }
+    }
+
+    windowInfo.pixelFormat = ColorTypeToPixelFormat(colorType);
+    VkFormat vkPixelFormat = VK_FORMAT_R8G8B8A8_UNORM;
+    if (windowInfo.pixelFormat == PIXEL_FORMAT_RGBA_FP16) {
+        vkPixelFormat = VK_FORMAT_R16G16B16A16_SFLOAT;
+    }
+
+    uint64_t producerUsage =
+            AHARDWAREBUFFER_USAGE_GPU_FRAMEBUFFER | AHARDWAREBUFFER_USAGE_GPU_SAMPLED_IMAGE;
+    uint64_t consumerUsage;
+    native_window_get_consumer_usage(window, &consumerUsage);
+    windowInfo.windowUsageFlags = consumerUsage | producerUsage;
+
+    /*
+     * Now we attempt to modify the window!
+     */
+    if (!UpdateWindow(window, windowInfo)) {
+        return nullptr;
+    }
+
+    return new VulkanSurface(window, windowInfo, minSize, maxSize, grContext);
+}
+
+bool VulkanSurface::UpdateWindow(ANativeWindow* window, const WindowInfo& windowInfo) {
+    ATRACE_CALL();
+
+    if (!ResetNativeWindow(window)) {
+        return false;
+    }
+
+    // -- Configure the native window --
+    int err = native_window_set_buffers_format(window, windowInfo.pixelFormat);
+    if (err != 0) {
+        ALOGE("VulkanSurface::UpdateWindow() native_window_set_buffers_format(%d) failed: %s (%d)",
+              windowInfo.pixelFormat, strerror(-err), err);
+        return false;
+    }
+
+    err = native_window_set_buffers_data_space(window, windowInfo.dataspace);
+    if (err != 0) {
+        ALOGE("VulkanSurface::UpdateWindow() native_window_set_buffers_data_space(%d) "
+              "failed: %s (%d)", windowInfo.dataspace, strerror(-err), err);
+        return false;
+    }
+
+    const SkISize& size = windowInfo.actualSize;
+    err = native_window_set_buffers_dimensions(window, size.width(), size.height());
+    if (err != 0) {
+        ALOGE("VulkanSurface::UpdateWindow() native_window_set_buffers_dimensions(%d,%d) "
+              "failed: %s (%d)", size.width(), size.height(), strerror(-err), err);
+        return false;
+    }
+
+    // native_window_set_buffers_transform() expects the transform the app is requesting that
+    // the compositor perform during composition. With native windows, pre-transform works by
+    // rendering with the same transform the compositor is applying (as in Vulkan), but
+    // then requesting the inverse transform, so that when the compositor does
+    // it's job the two transforms cancel each other out and the compositor ends
+    // up applying an identity transform to the app's buffer.
+    err = native_window_set_buffers_transform(window, InvertTransform(windowInfo.transform));
+    if (err != 0) {
+        ALOGE("VulkanSurface::UpdateWindow() native_window_set_buffers_transform(%d) "
+              "failed: %s (%d)", windowInfo.transform, strerror(-err), err);
+        return false;
+    }
+
+    // Vulkan defaults to NATIVE_WINDOW_SCALING_MODE_SCALE_TO_WINDOW, but this is different than
+    // HWUI's expectation
+    err = native_window_set_scaling_mode(window, NATIVE_WINDOW_SCALING_MODE_FREEZE);
+    if (err != 0) {
+        ALOGE("VulkanSurface::UpdateWindow() native_window_set_scaling_mode(SCALE_TO_WINDOW) "
+              "failed: %s (%d)", strerror(-err), err);
+        return false;
+    }
+
+    // Lower layer insists that we have at least two buffers.
+    err = native_window_set_buffer_count(window, std::max(2, windowInfo.bufferCount));
+    if (err != 0) {
+        ALOGE("VulkanSurface::UpdateWindow() native_window_set_buffer_count(%d) failed: %s (%d)",
+              windowInfo.bufferCount, strerror(-err), err);
+        return false;
+    }
+
+    err = native_window_set_usage(window, windowInfo.windowUsageFlags);
+    if (err != 0) {
+        ALOGE("VulkanSurface::UpdateWindow() native_window_set_usage failed: %s (%d)",
+              strerror(-err), err);
+        return false;
+    }
+
+    return err == 0;
+}
+
+VulkanSurface::VulkanSurface(ANativeWindow* window, const WindowInfo& windowInfo,
+                               SkISize minWindowSize, SkISize maxWindowSize, GrContext* grContext)
+        : mNativeWindow(window)
+        , mWindowInfo(windowInfo)
+        , mGrContext(grContext)
+        , mMinWindowSize(minWindowSize)
+        , mMaxWindowSize(maxWindowSize) { }
+
+VulkanSurface::~VulkanSurface() {
+    releaseBuffers();
+
+    // release the native window to be available for use by other clients
+    int err = native_window_api_disconnect(mNativeWindow.get(), NATIVE_WINDOW_API_EGL);
+    ALOGW_IF(err != 0, "native_window_api_disconnect failed: %s (%d)", strerror(-err), err);
+}
+
+void VulkanSurface::releaseBuffers() {
+    for (uint32_t i = 0; i < VulkanSurface::sMaxBufferCount; i++) {
+        VulkanSurface::NativeBufferInfo& bufferInfo = mNativeBuffers[i];
+
+        if (bufferInfo.buffer.get() != nullptr && bufferInfo.dequeued) {
+            int err = mNativeWindow->cancelBuffer(mNativeWindow.get(), bufferInfo.buffer.get(),
+                                                  bufferInfo.dequeue_fence);
+            if (err != 0) {
+                ALOGE("cancelBuffer[%u] failed during destroy: %s (%d)", i, strerror(-err), err);
+            }
+            bufferInfo.dequeued = false;
+
+            if (bufferInfo.dequeue_fence >= 0) {
+                close(bufferInfo.dequeue_fence);
+                bufferInfo.dequeue_fence = -1;
+            }
+        }
+
+        LOG_ALWAYS_FATAL_IF(bufferInfo.dequeued);
+        LOG_ALWAYS_FATAL_IF(bufferInfo.dequeue_fence != -1);
+
+        bufferInfo.skSurface.reset();
+        bufferInfo.buffer.clear();
+        bufferInfo.hasValidContents = false;
+        bufferInfo.lastPresentedCount = 0;
+    }
+}
+
+VulkanSurface::NativeBufferInfo* VulkanSurface::dequeueNativeBuffer() {
+    // Set the dequeue index to invalid in case of error and only reset it to the correct
+    // value at the end of the function if everything dequeued correctly.
+    mDequeuedIndex = -1;
+
+    //check if the native window has been resized or rotated and update accordingly
+    SkISize newSize = SkISize::MakeEmpty();
+    int transformHint = 0;
+    mNativeWindow->query(mNativeWindow.get(), NATIVE_WINDOW_WIDTH, &newSize.fWidth);
+    mNativeWindow->query(mNativeWindow.get(), NATIVE_WINDOW_HEIGHT, &newSize.fHeight);
+    mNativeWindow->query(mNativeWindow.get(), NATIVE_WINDOW_TRANSFORM_HINT, &transformHint);
+    if (newSize != mWindowInfo.actualSize || transformHint != mWindowInfo.transform) {
+        WindowInfo newWindowInfo = mWindowInfo;
+        newWindowInfo.size = newSize;
+        newWindowInfo.transform = IsTransformSupported(transformHint) ? transformHint : 0;
+        ComputeWindowSizeAndTransform(&newWindowInfo, mMinWindowSize, mMaxWindowSize);
+
+        int err = 0;
+        if (newWindowInfo.actualSize != mWindowInfo.actualSize) {
+            // reset the native buffers and update the window
+            err = native_window_set_buffers_dimensions(mNativeWindow.get(),
+                                                       newWindowInfo.actualSize.width(),
+                                                       newWindowInfo.actualSize.height());
+            if (err != 0) {
+                ALOGE("native_window_set_buffers_dimensions(%d,%d) failed: %s (%d)",
+                      newWindowInfo.actualSize.width(),
+                      newWindowInfo.actualSize.height(), strerror(-err), err);
+                return nullptr;
+            }
+            // reset the NativeBufferInfo (including SkSurface) associated with the old buffers. The
+            // new NativeBufferInfo storage will be populated lazily as we dequeue each new buffer.
+            releaseBuffers();
+            // TODO should we ask the nativewindow to allocate buffers?
+        }
+
+        if (newWindowInfo.transform != mWindowInfo.transform) {
+            err = native_window_set_buffers_transform(mNativeWindow.get(),
+                    InvertTransform(newWindowInfo.transform));
+            if (err != 0) {
+                ALOGE("native_window_set_buffers_transform(%d) failed: %s (%d)",
+                      newWindowInfo.transform, strerror(-err), err);
+                newWindowInfo.transform = mWindowInfo.transform;
+                ComputeWindowSizeAndTransform(&newWindowInfo, mMinWindowSize, mMaxWindowSize);
+            }
+        }
+
+        mWindowInfo = newWindowInfo;
+    }
+
+    ANativeWindowBuffer* buffer;
+    int fence_fd;
+    int err = mNativeWindow->dequeueBuffer(mNativeWindow.get(), &buffer, &fence_fd);
+    if (err != 0) {
+        ALOGE("dequeueBuffer failed: %s (%d)", strerror(-err), err);
+        return nullptr;
+    }
+
+    uint32_t idx;
+    for (idx = 0; idx < mWindowInfo.bufferCount; idx++) {
+        if (mNativeBuffers[idx].buffer.get() == buffer) {
+            mNativeBuffers[idx].dequeued = true;
+            mNativeBuffers[idx].dequeue_fence = fence_fd;
+            break;
+        } else if (mNativeBuffers[idx].buffer.get() == nullptr) {
+            // increasing the number of buffers we have allocated
+            mNativeBuffers[idx].buffer = buffer;
+            mNativeBuffers[idx].dequeued = true;
+            mNativeBuffers[idx].dequeue_fence = fence_fd;
+            break;
+        }
+    }
+    if (idx == mWindowInfo.bufferCount) {
+        ALOGE("dequeueBuffer returned unrecognized buffer");
+        mNativeWindow->cancelBuffer(mNativeWindow.get(), buffer, fence_fd);
+        return nullptr;
+    }
+
+    VulkanSurface::NativeBufferInfo* bufferInfo = &mNativeBuffers[idx];
+
+    if (bufferInfo->skSurface.get() == nullptr) {
+        bufferInfo->skSurface =
+                SkSurface::MakeFromAHardwareBuffer(mGrContext,
+                        ANativeWindowBuffer_getHardwareBuffer(bufferInfo->buffer.get()),
+                        kTopLeft_GrSurfaceOrigin, DataSpaceToColorSpace(mWindowInfo.dataspace),
+                        nullptr);
+        if (bufferInfo->skSurface.get() == nullptr) {
+            ALOGE("SkSurface::MakeFromAHardwareBuffer failed");
+            mNativeWindow->cancelBuffer(mNativeWindow.get(), buffer, fence_fd);
+            return nullptr;
+        }
+    }
+
+    mDequeuedIndex = idx;
+    return bufferInfo;
+}
+
+bool VulkanSurface::presentCurrentBuffer(const SkRect& dirtyRect, int semaphoreFd) {
+    if (!dirtyRect.isEmpty()) {
+        SkRect transformedRect;
+        mWindowInfo.preTransform.mapRect(&transformedRect, dirtyRect);
+
+        SkIRect transformedIRect;
+        transformedRect.roundOut(&transformedIRect);
+        transformedIRect.intersect(0, 0, mWindowInfo.size.fWidth, mWindowInfo.size.fHeight);
+
+        // map to bottom-left coordinate system
+        android_native_rect_t aRect;
+        aRect.left = transformedIRect.x();
+        aRect.top = mWindowInfo.size.fHeight - (transformedIRect.y() + transformedIRect.height());
+        aRect.right = aRect.left + transformedIRect.width();
+        aRect.bottom = aRect.top - transformedIRect.height();
+
+        int err = native_window_set_surface_damage(mNativeWindow.get(), &aRect, 1);
+        ALOGE_IF(err != 0, "native_window_set_surface_damage failed: %s (%d)", strerror(-err), err);
+    }
+
+    VulkanSurface::NativeBufferInfo& currentBuffer = mNativeBuffers[mDequeuedIndex];
+    int queuedFd = (semaphoreFd != -1) ? semaphoreFd : currentBuffer.dequeue_fence;
+    int err = mNativeWindow->queueBuffer(mNativeWindow.get(), currentBuffer.buffer.get(), queuedFd);
+
+    currentBuffer.dequeued = false;
+    // queueBuffer always closes fence, even on error
+    if (err != 0) {
+        ALOGE("queueBuffer failed: %s (%d)", strerror(-err), err);
+        mNativeWindow->cancelBuffer(mNativeWindow.get(), currentBuffer.buffer.get(),
+                                    currentBuffer.dequeue_fence);
+    } else {
+        currentBuffer.hasValidContents = true;
+        currentBuffer.lastPresentedCount = mPresentCount;
+        mPresentCount++;
+    }
+
+    if (currentBuffer.dequeue_fence >= 0) {
+        close(currentBuffer.dequeue_fence);
+        currentBuffer.dequeue_fence = -1;
+    }
+
+    return err == 0;
+}
+
+int VulkanSurface::getCurrentBuffersAge() {
+    VulkanSurface::NativeBufferInfo& currentBuffer = mNativeBuffers[mDequeuedIndex];
+    return currentBuffer.hasValidContents ? (mPresentCount - currentBuffer.lastPresentedCount) : 0;
+}
+
+} /* namespace renderthread */
+} /* namespace uirenderer */
+} /* namespace android */
diff --git a/libs/hwui/renderthread/VulkanSurface.h b/libs/hwui/renderthread/VulkanSurface.h
new file mode 100644
index 0000000..4fd9cd2
--- /dev/null
+++ b/libs/hwui/renderthread/VulkanSurface.h
@@ -0,0 +1,127 @@
+/*
+ * 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.
+ */
+#pragma once
+
+#include <system/graphics.h>
+#include <system/window.h>
+#include <vulkan/vulkan.h>
+
+#include <SkSize.h>
+#include <SkRefCnt.h>
+
+#include "IRenderPipeline.h"
+
+class SkSurface;
+
+namespace android {
+namespace uirenderer {
+namespace renderthread {
+
+class VulkanManager;
+
+class VulkanSurface {
+public:
+    static VulkanSurface* Create(ANativeWindow* window,
+                                  ColorMode colorMode,
+                                  SkColorType colorType,
+                                  sk_sp<SkColorSpace> colorSpace,
+                                  GrContext* grContext,
+                                  const VulkanManager& vkManager);
+    ~VulkanSurface();
+
+    sk_sp<SkSurface> getCurrentSkSurface() { return mNativeBuffers[mDequeuedIndex].skSurface; }
+    const SkMatrix& getCurrentPreTransform() { return mWindowInfo.preTransform; }
+
+private:
+    /*
+     * All structs/methods in this private section are specifically for use by the VulkanManager
+     *
+     */
+    friend VulkanManager;
+    struct NativeBufferInfo {
+        sk_sp<SkSurface> skSurface;
+        sp<ANativeWindowBuffer> buffer;
+        // The fence is only valid when the buffer is dequeued, and should be
+        // -1 any other time. When valid, we own the fd, and must ensure it is
+        // closed: either by closing it explicitly when queueing the buffer,
+        // or by passing ownership e.g. to ANativeWindow::cancelBuffer().
+        int dequeue_fence = -1;
+        bool dequeued = false;
+        uint32_t lastPresentedCount = 0;
+        bool hasValidContents = false;
+    };
+
+    NativeBufferInfo* dequeueNativeBuffer();
+    NativeBufferInfo* getCurrentBufferInfo() { return &mNativeBuffers[mDequeuedIndex]; }
+    bool presentCurrentBuffer(const SkRect& dirtyRect, int semaphoreFd);
+
+    // The width and height are are the logical width and height for when submitting draws to the
+    // surface. In reality if the window is rotated the underlying window may have the width and
+    // height swapped.
+    int logicalWidth() const { return mWindowInfo.size.width(); }
+    int logicalHeight() const { return mWindowInfo.size.height(); }
+    int getCurrentBuffersAge();
+
+private:
+    /*
+     * All code below this line while logically available to VulkanManager should not be treated
+     * as private to this class.
+     *
+     */
+    static constexpr int sMaxBufferCount = 3;
+
+    struct WindowInfo {
+        SkISize size;
+        PixelFormat pixelFormat;
+        android_dataspace dataspace;
+        int transform;
+        int bufferCount;
+        uint64_t windowUsageFlags;
+
+        // size of the ANativeWindow if the inverse of transform requires us to swap width/height
+        SkISize actualSize;
+        // transform to be applied to the SkSurface to map the coordinates to the provided transform
+        SkMatrix preTransform;
+    };
+
+    VulkanSurface(ANativeWindow* window,
+                  const WindowInfo& windowInfo,
+                  SkISize minWindowSize,
+                  SkISize maxWindowSize,
+                  GrContext* grContext);
+    static bool UpdateWindow(ANativeWindow* window,
+                             const WindowInfo& windowInfo);
+    static void ComputeWindowSizeAndTransform(WindowInfo* windowInfo,
+                                              const SkISize& minSize,
+                                              const SkISize& maxSize);
+    void releaseBuffers();
+
+    NativeBufferInfo mNativeBuffers[VulkanSurface::sMaxBufferCount];
+
+    sp<ANativeWindow> mNativeWindow;
+    WindowInfo mWindowInfo;
+    GrContext* mGrContext;
+
+    int mDequeuedIndex = -1;
+    uint32_t mPresentCount = 0;
+
+    const SkISize mMinWindowSize;
+    const SkISize mMaxWindowSize;
+};
+
+} /* namespace renderthread */
+} /* namespace uirenderer */
+} /* namespace android */
\ No newline at end of file
diff --git a/libs/hwui/surfacetexture/ImageConsumer.cpp b/libs/hwui/surfacetexture/ImageConsumer.cpp
index 624c290..077a8f7 100644
--- a/libs/hwui/surfacetexture/ImageConsumer.cpp
+++ b/libs/hwui/surfacetexture/ImageConsumer.cpp
@@ -23,6 +23,7 @@
 #include "renderthread/RenderThread.h"
 #include "renderthread/VulkanManager.h"
 #include "utils/Color.h"
+#include <GrAHardwareBufferUtils.h>
 
 // Macro for including the SurfaceTexture name in log messages
 #define IMG_LOGE(x, ...) ALOGE("[%s] " x, st.mName.string(), ##__VA_ARGS__)
@@ -30,31 +31,67 @@
 namespace android {
 
 void ImageConsumer::onFreeBufferLocked(int slotIndex) {
-    mImageSlots[slotIndex].mImage.reset();
+    mImageSlots[slotIndex].clear();
 }
 
 void ImageConsumer::onAcquireBufferLocked(BufferItem* item) {
     // If item->mGraphicBuffer is not null, this buffer has not been acquired
     // before, so any prior SkImage is created with a stale buffer. This resets the stale SkImage.
     if (item->mGraphicBuffer != nullptr) {
-        mImageSlots[item->mSlot].mImage.reset();
+        mImageSlots[item->mSlot].clear();
     }
 }
 
 void ImageConsumer::onReleaseBufferLocked(int buf) {
-    mImageSlots[buf].mEglFence = EGL_NO_SYNC_KHR;
+    mImageSlots[buf].eglFence() = EGL_NO_SYNC_KHR;
 }
 
 void ImageConsumer::ImageSlot::createIfNeeded(sp<GraphicBuffer> graphicBuffer,
-                                              android_dataspace dataspace, bool forceCreate) {
+                                              android_dataspace dataspace, bool forceCreate,
+                                              GrContext* context) {
     if (!mImage.get() || dataspace != mDataspace || forceCreate) {
-        mImage = graphicBuffer.get()
-                         ? SkImage::MakeFromAHardwareBuffer(
-                                   reinterpret_cast<AHardwareBuffer*>(graphicBuffer.get()),
-                                   kPremul_SkAlphaType,
-                                   uirenderer::DataSpaceToColorSpace(dataspace))
-                         : nullptr;
+        if (!graphicBuffer.get()) {
+            clear();
+            return;
+        }
+
+        if (!mBackendTexture.isValid()) {
+            clear();
+            bool createProtectedImage =
+                0 != (graphicBuffer->getUsage() & GraphicBuffer::USAGE_PROTECTED);
+            GrBackendFormat backendFormat = GrAHardwareBufferUtils::GetBackendFormat(
+                context,
+                reinterpret_cast<AHardwareBuffer*>(graphicBuffer.get()),
+                graphicBuffer->getPixelFormat(),
+                false);
+            mBackendTexture = GrAHardwareBufferUtils::MakeBackendTexture(
+                context,
+                reinterpret_cast<AHardwareBuffer*>(graphicBuffer.get()),
+                graphicBuffer->getWidth(),
+                graphicBuffer->getHeight(),
+                &mDeleteProc,
+                &mDeleteCtx,
+                createProtectedImage,
+                backendFormat,
+                false);
+        }
         mDataspace = dataspace;
+        SkColorType colorType = GrAHardwareBufferUtils::GetSkColorTypeFromBufferFormat(
+            graphicBuffer->getPixelFormat());
+        mImage = SkImage::MakeFromTexture(context,
+            mBackendTexture,
+            kTopLeft_GrSurfaceOrigin,
+            colorType,
+            kPremul_SkAlphaType,
+            uirenderer::DataSpaceToColorSpace(dataspace));
+    }
+}
+
+void ImageConsumer::ImageSlot::clear() {
+    mImage.reset();
+    if (mBackendTexture.isValid()) {
+        mDeleteProc(mDeleteCtx);
+        mBackendTexture = {};
     }
 }
 
@@ -71,8 +108,8 @@
             if (slot != BufferItem::INVALID_BUFFER_SLOT) {
                 *queueEmpty = true;
                 mImageSlots[slot].createIfNeeded(st.mSlots[slot].mGraphicBuffer,
-                        st.mCurrentDataSpace, false);
-                return mImageSlots[slot].mImage;
+                        st.mCurrentDataSpace, false, renderState.getRenderThread().getGrContext());
+                return mImageSlots[slot].getImage();
             }
         }
         return nullptr;
@@ -104,7 +141,7 @@
             uirenderer::RenderPipelineType::SkiaGL) {
             auto& eglManager = renderState.getRenderThread().eglManager();
             display = eglManager.eglDisplay();
-            err = eglManager.createReleaseFence(st.mUseFenceSync, &mImageSlots[slot].mEglFence,
+            err = eglManager.createReleaseFence(st.mUseFenceSync, &mImageSlots[slot].eglFence(),
                                                 releaseFence);
         } else {
             err = renderState.getRenderThread().vulkanManager().createReleaseFence(releaseFence);
@@ -129,7 +166,7 @@
         // Finally release the old buffer.
         status_t status = st.releaseBufferLocked(
                 st.mCurrentTexture, st.mSlots[st.mCurrentTexture].mGraphicBuffer, display,
-                mImageSlots[st.mCurrentTexture].mEglFence);
+                mImageSlots[st.mCurrentTexture].eglFence());
         if (status < NO_ERROR) {
             IMG_LOGE("dequeueImage: failed to release buffer: %s (%d)", strerror(-status), status);
             err = status;
@@ -150,8 +187,9 @@
     st.computeCurrentTransformMatrixLocked();
 
     *queueEmpty = false;
-    mImageSlots[slot].createIfNeeded(st.mSlots[slot].mGraphicBuffer, item.mDataSpace, true);
-    return mImageSlots[slot].mImage;
+    mImageSlots[slot].createIfNeeded(st.mSlots[slot].mGraphicBuffer, item.mDataSpace, true,
+        renderState.getRenderThread().getGrContext());
+    return mImageSlots[slot].getImage();
 }
 
 } /* namespace android */
diff --git a/libs/hwui/surfacetexture/ImageConsumer.h b/libs/hwui/surfacetexture/ImageConsumer.h
index 5c41903..eee0a0a 100644
--- a/libs/hwui/surfacetexture/ImageConsumer.h
+++ b/libs/hwui/surfacetexture/ImageConsumer.h
@@ -25,6 +25,12 @@
 #include <cutils/compiler.h>
 #include <gui/BufferItem.h>
 #include <system/graphics.h>
+#include <GrBackendSurface.h>
+
+namespace GrAHardwareBufferUtils {
+typedef void* DeleteImageCtx;
+typedef void (*DeleteImageProc)(DeleteImageCtx);
+}
 
 namespace android {
 
@@ -67,9 +73,21 @@
      * ImageSlot contains the information and object references that
      * ImageConsumer maintains about a BufferQueue buffer slot.
      */
-    struct ImageSlot {
+    class ImageSlot {
+    public:
         ImageSlot() : mDataspace(HAL_DATASPACE_UNKNOWN), mEglFence(EGL_NO_SYNC_KHR) {}
 
+        ~ImageSlot() { clear(); }
+
+        void createIfNeeded(sp<GraphicBuffer> graphicBuffer, android_dataspace dataspace,
+                            bool forceCreate, GrContext* context);
+        void clear();
+
+        inline EGLSyncKHR& eglFence() { return mEglFence; }
+
+        inline sk_sp<SkImage> getImage() { return mImage; }
+
+    private:
         // mImage is the SkImage created from mGraphicBuffer.
         sk_sp<SkImage> mImage;
 
@@ -82,8 +100,11 @@
          */
         EGLSyncKHR mEglFence;
 
-        void createIfNeeded(sp<GraphicBuffer> graphicBuffer, android_dataspace dataspace,
-                            bool forceCreate);
+        GrBackendTexture mBackendTexture;
+
+        GrAHardwareBufferUtils::DeleteImageProc mDeleteProc;
+
+        GrAHardwareBufferUtils::DeleteImageCtx mDeleteCtx;
     };
 
     /**
diff --git a/libs/hwui/surfacetexture/SurfaceTexture.cpp b/libs/hwui/surfacetexture/SurfaceTexture.cpp
index da09444..a27db65 100644
--- a/libs/hwui/surfacetexture/SurfaceTexture.cpp
+++ b/libs/hwui/surfacetexture/SurfaceTexture.cpp
@@ -23,6 +23,7 @@
 
 #include "Matrix.h"
 #include "SurfaceTexture.h"
+#include "ImageConsumer.h"
 
 namespace android {
 
@@ -150,7 +151,7 @@
     // buffer has reallocated the original buffer slot after this buffer
     // was acquired.
     status_t err = ConsumerBase::releaseBufferLocked(buf, graphicBuffer, display, eglFence);
-    // We could be releasing an EGL buffer, even if not currently attached to a GL context.
+    // We could be releasing an EGL/Vulkan buffer, even if not currently attached to a GL context.
     mImageConsumer.onReleaseBufferLocked(buf);
     mEGLConsumer.onReleaseBufferLocked(buf);
     return err;
@@ -235,6 +236,10 @@
 
     if (mOpMode == OpMode::attachedToView) {
         mOpMode = OpMode::detached;
+        // Free all EglImage and VkImage before the context is destroyed.
+        for (int i=0; i < BufferQueueDefs::NUM_BUFFER_SLOTS; i++) {
+            mImageConsumer.onFreeBufferLocked(i);
+        }
     } else {
         SFT_LOGE("detachFromView: not attached to View");
     }
diff --git a/libs/hwui/tests/macrobench/TestSceneRunner.cpp b/libs/hwui/tests/macrobench/TestSceneRunner.cpp
index 0e61899e..b45dbc8 100644
--- a/libs/hwui/tests/macrobench/TestSceneRunner.cpp
+++ b/libs/hwui/tests/macrobench/TestSceneRunner.cpp
@@ -21,6 +21,7 @@
 #include "tests/common/TestContext.h"
 #include "tests/common/TestScene.h"
 #include "tests/common/scenes/TestSceneBase.h"
+#include "utils/TraceUtils.h"
 
 #include <benchmark/benchmark.h>
 #include <gui/Surface.h>
diff --git a/libs/hwui/tests/microbench/TaskManagerBench.cpp b/libs/hwui/tests/microbench/TaskManagerBench.cpp
deleted file mode 100644
index 4153bae..0000000
--- a/libs/hwui/tests/microbench/TaskManagerBench.cpp
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (C) 2016 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.
- */
-
-#include <benchmark/benchmark.h>
-
-#include "thread/Task.h"
-#include "thread/TaskManager.h"
-#include "thread/TaskProcessor.h"
-#include "thread/ThreadBase.h"
-
-#include <atomic>
-#include <vector>
-
-using namespace android;
-using namespace android::uirenderer;
-
-class TrivialTask : public Task<char> {};
-
-class TrivialProcessor : public TaskProcessor<char> {
-public:
-    explicit TrivialProcessor(TaskManager* manager) : TaskProcessor(manager) {}
-    virtual ~TrivialProcessor() {}
-    virtual void onProcess(const sp<Task<char>>& task) override {
-        TrivialTask* t = static_cast<TrivialTask*>(task.get());
-        t->setResult(reinterpret_cast<intptr_t>(t) % 16 == 0 ? 'a' : 'b');
-    }
-};
-
-class TestThread : public ThreadBase, public virtual RefBase {};
-
-void BM_TaskManager_allocateTask(benchmark::State& state) {
-    std::vector<sp<TrivialTask>> tasks;
-    tasks.reserve(state.max_iterations);
-
-    while (state.KeepRunning()) {
-        tasks.emplace_back(new TrivialTask);
-        benchmark::DoNotOptimize(tasks.back());
-    }
-}
-BENCHMARK(BM_TaskManager_allocateTask);
-
-void BM_TaskManager_enqueueTask(benchmark::State& state) {
-    TaskManager taskManager;
-    sp<TrivialProcessor> processor(new TrivialProcessor(&taskManager));
-    std::vector<sp<TrivialTask>> tasks;
-    tasks.reserve(state.max_iterations);
-
-    while (state.KeepRunning()) {
-        tasks.emplace_back(new TrivialTask);
-        benchmark::DoNotOptimize(tasks.back());
-        processor->add(tasks.back());
-    }
-
-    for (sp<TrivialTask>& task : tasks) {
-        task->getResult();
-    }
-}
-BENCHMARK(BM_TaskManager_enqueueTask);
-
-void BM_TaskManager_enqueueRunDeleteTask(benchmark::State& state) {
-    TaskManager taskManager;
-    sp<TrivialProcessor> processor(new TrivialProcessor(&taskManager));
-    std::vector<sp<TrivialTask>> tasks;
-    tasks.reserve(state.max_iterations);
-
-    while (state.KeepRunning()) {
-        tasks.emplace_back(new TrivialTask);
-        benchmark::DoNotOptimize(tasks.back());
-        processor->add(tasks.back());
-    }
-    state.ResumeTiming();
-    for (sp<TrivialTask>& task : tasks) {
-        benchmark::DoNotOptimize(task->getResult());
-    }
-    tasks.clear();
-    state.PauseTiming();
-}
-BENCHMARK(BM_TaskManager_enqueueRunDeleteTask);
-
-void BM_Thread_enqueueTask(benchmark::State& state) {
-    sp<TestThread> thread{new TestThread};
-    thread->start();
-
-    atomic_int counter(0);
-    int expected = 0;
-    while (state.KeepRunning()) {
-        expected++;
-        thread->queue().post([&counter]() { counter++; });
-    }
-    thread->queue().runSync([]() {});
-
-    thread->requestExit();
-    thread->join();
-    if (counter != expected) {
-        printf("Ran %d lambads, should have been %d\n", counter.load(), expected);
-    }
-}
-BENCHMARK(BM_Thread_enqueueTask);
-
-void BM_Thread_enqueueRunDeleteTask(benchmark::State& state) {
-    sp<TestThread> thread{new TestThread};
-    thread->start();
-    std::vector<std::future<int>> tasks;
-    tasks.reserve(state.max_iterations);
-
-    int expected = 0;
-    while (state.KeepRunning()) {
-        tasks.emplace_back(thread->queue().async([expected]() -> int { return expected + 1; }));
-        expected++;
-    }
-    state.ResumeTiming();
-    expected = 0;
-    for (auto& future : tasks) {
-        if (future.get() != ++expected) {
-            printf("Mismatch expected %d vs. observed %d\n", expected, future.get());
-        }
-    }
-    tasks.clear();
-    state.PauseTiming();
-}
-BENCHMARK(BM_Thread_enqueueRunDeleteTask);
\ No newline at end of file
diff --git a/libs/hwui/tests/scripts/prep_generic.sh b/libs/hwui/tests/scripts/prep_generic.sh
new file mode 100755
index 0000000..223bf37
--- /dev/null
+++ b/libs/hwui/tests/scripts/prep_generic.sh
@@ -0,0 +1,249 @@
+#
+# 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.
+#
+
+#################################################################
+###
+###  DO NOT MODIFY THIS FILE
+###  This is a copy of androidx's benchmark/lockClocks.sh
+###  Make changes there instead then copy here!
+###
+#################################################################
+
+# This script can be used to lock device clocks to stable levels for comparing
+# different versions of software.  Since the clock levels are not necessarily
+# indicative of real world behavior, this should **never** be used to compare
+# performance between different device models.
+
+# Fun notes for maintaining this file:
+#      `expr` can deal with ints > INT32_MAX, but if compares cannot. This is why we use MHz.
+#      `expr` can sometimes evaluate right-to-left. This is why we use parens.
+#      Everything below the initial host-check isn't bash - Android uses mksh
+#      mksh allows `\n` in an echo, bash doesn't
+#      can't use `awk`
+
+CPU_TARGET_FREQ_PERCENT=50
+GPU_TARGET_FREQ_PERCENT=50
+
+if [ "`command -v getprop`" == "" ]; then
+    if [ -n "`command -v adb`" ]; then
+        echo ""
+        echo "Pushing $0 and running it on device..."
+        dest=/data/local/tmp/`basename $0`
+        adb push $0 ${dest}
+        adb shell ${dest}
+        adb shell rm ${dest}
+        exit
+    else
+        echo "Could not find adb. Options are:"
+        echo "  1. Ensure adb is on your \$PATH"
+        echo "  2. Use './gradlew lockClocks'"
+        echo "  3. Manually adb push this script to your device, and run it there"
+        exit -1
+    fi
+fi
+
+# require root
+if [ "`id -u`" -ne "0" ]; then
+    echo "Not running as root, cannot lock clocks, aborting"
+    exit -1
+fi
+
+DEVICE=`getprop ro.product.device`
+MODEL=`getprop ro.product.model`
+
+# Find CPU max frequency, and lock big cores to an available frequency
+# that's >= $CPU_TARGET_FREQ_PERCENT% of max. Disable other cores.
+function_lock_cpu() {
+    CPU_BASE=/sys/devices/system/cpu
+    GOV=cpufreq/scaling_governor
+
+    # Find max CPU freq, and associated list of available freqs
+    cpuMaxFreq=0
+    cpuAvailFreqCmpr=0
+    cpuAvailFreq=0
+    enableIndices=''
+    disableIndices=''
+    cpu=0
+    while [ -f ${CPU_BASE}/cpu${cpu}/online ]; do
+        # enable core, so we can find its frequencies
+        echo 1 > ${CPU_BASE}/cpu${cpu}/online
+
+        maxFreq=`cat ${CPU_BASE}/cpu$cpu/cpufreq/cpuinfo_max_freq`
+        availFreq=`cat ${CPU_BASE}/cpu$cpu/cpufreq/scaling_available_frequencies`
+        availFreqCmpr=${availFreq// /-}
+
+        if [ ${maxFreq} -gt ${cpuMaxFreq} ]; then
+            # new highest max freq, look for cpus with same max freq and same avail freq list
+            cpuMaxFreq=${maxFreq}
+            cpuAvailFreq=${availFreq}
+            cpuAvailFreqCmpr=${availFreqCmpr}
+
+            if [ -z ${disableIndices} ]; then
+                disableIndices="$enableIndices"
+            else
+                disableIndices="$disableIndices $enableIndices"
+            fi
+            enableIndices=${cpu}
+        elif [ ${maxFreq} == ${cpuMaxFreq} ] && [ ${availFreqCmpr} == ${cpuAvailFreqCmpr} ]; then
+            enableIndices="$enableIndices $cpu"
+        else
+            disableIndices="$disableIndices $cpu"
+        fi
+        cpu=$(($cpu + 1))
+    done
+
+    # Chose a frequency to lock to that's >= $CPU_TARGET_FREQ_PERCENT% of max
+    # (below, 100M = 1K for KHz->MHz * 100 for %)
+    TARGET_FREQ_MHZ=`expr \( ${cpuMaxFreq} \* ${CPU_TARGET_FREQ_PERCENT} \) \/ 100000`
+    chosenFreq=0
+    for freq in ${cpuAvailFreq}; do
+        freqMhz=`expr ${freq} \/ 1000`
+        if [ ${freqMhz} -ge ${TARGET_FREQ_MHZ} ]; then
+            chosenFreq=${freq}
+            break
+        fi
+    done
+
+    # enable 'big' CPUs
+    for cpu in ${enableIndices}; do
+        freq=${CPU_BASE}/cpu$cpu/cpufreq
+
+        echo 1 > ${CPU_BASE}/cpu${cpu}/online
+        echo userspace > ${CPU_BASE}/cpu${cpu}/${GOV}
+        echo ${chosenFreq} > ${freq}/scaling_max_freq
+        echo ${chosenFreq} > ${freq}/scaling_min_freq
+        echo ${chosenFreq} > ${freq}/scaling_setspeed
+
+        # validate setting the freq worked
+        obsCur=`cat ${freq}/scaling_cur_freq`
+        obsMin=`cat ${freq}/scaling_min_freq`
+        obsMax=`cat ${freq}/scaling_max_freq`
+        if [ obsCur -ne ${chosenFreq} ] || [ obsMin -ne ${chosenFreq} ] || [ obsMax -ne ${chosenFreq} ]; then
+            echo "Failed to set CPU$cpu to $chosenFreq Hz! Aborting..."
+            echo "scaling_cur_freq = $obsCur"
+            echo "scaling_min_freq = $obsMin"
+            echo "scaling_max_freq = $obsMax"
+            exit -1
+        fi
+    done
+
+    # disable other CPUs (Note: important to enable big cores first!)
+    for cpu in ${disableIndices}; do
+      echo 0 > ${CPU_BASE}/cpu${cpu}/online
+    done
+
+    echo "\nLocked CPUs ${enableIndices// /,} to $chosenFreq / $maxFreq KHz"
+    echo "Disabled CPUs ${disableIndices// /,}"
+}
+
+# If we have a Qualcomm GPU, find its max frequency, and lock to
+# an available frequency that's >= GPU_TARGET_FREQ_PERCENT% of max.
+function_lock_gpu_kgsl() {
+    if [ ! -d /sys/class/kgsl/kgsl-3d0/ ]; then
+        # not kgsl, abort
+        echo "\nCurrently don't support locking GPU clocks of $MODEL ($DEVICE)"
+        return -1
+    fi
+    if [ ${DEVICE} == "walleye" ] || [ ${DEVICE} == "taimen" ]; then
+        # Workaround crash
+        echo "\nUnable to lock GPU clocks of $MODEL ($DEVICE)"
+        return -1
+    fi
+
+    GPU_BASE=/sys/class/kgsl/kgsl-3d0
+
+    gpuMaxFreq=0
+    gpuAvailFreq=`cat $GPU_BASE/devfreq/available_frequencies`
+    for freq in ${gpuAvailFreq}; do
+        if [ ${freq} -gt ${gpuMaxFreq} ]; then
+            gpuMaxFreq=${freq}
+        fi
+    done
+
+    # (below, 100M = 1M for MHz * 100 for %)
+    TARGET_FREQ_MHZ=`expr \( ${gpuMaxFreq} \* ${GPU_TARGET_FREQ_PERCENT} \) \/ 100000000`
+
+    chosenFreq=${gpuMaxFreq}
+    index=0
+    chosenIndex=0
+    for freq in ${gpuAvailFreq}; do
+        freqMhz=`expr ${freq} \/ 1000000`
+        if [ ${freqMhz} -ge ${TARGET_FREQ_MHZ} ] && [ ${chosenFreq} -ge ${freq} ]; then
+            # note avail freq are generally in reverse order, so we don't break out of this loop
+            chosenFreq=${freq}
+            chosenIndex=${index}
+        fi
+        index=$(($index + 1))
+    done
+    lastIndex=$(($index - 1))
+
+    firstFreq=`echo $gpuAvailFreq | cut -d" " -f1`
+
+    if [ ${gpuMaxFreq} != ${firstFreq} ]; then
+        # pwrlevel is index of desired freq among available frequencies, from highest to lowest.
+        # If gpuAvailFreq appears to be in-order, reverse the index
+        chosenIndex=$(($lastIndex - $chosenIndex))
+    fi
+
+    echo 0 > ${GPU_BASE}/bus_split
+    echo 1 > ${GPU_BASE}/force_clk_on
+    echo 10000 > ${GPU_BASE}/idle_timer
+
+    echo performance > ${GPU_BASE}/devfreq/governor
+
+    # NOTE: we store in min/max twice, because we don't know if we're increasing
+    # or decreasing, and it's invalid to try and set min > max, or max < min
+    echo ${chosenFreq} > ${GPU_BASE}/devfreq/min_freq
+    echo ${chosenFreq} > ${GPU_BASE}/devfreq/max_freq
+    echo ${chosenFreq} > ${GPU_BASE}/devfreq/min_freq
+    echo ${chosenFreq} > ${GPU_BASE}/devfreq/max_freq
+    echo ${chosenIndex} > ${GPU_BASE}/min_pwrlevel
+    echo ${chosenIndex} > ${GPU_BASE}/max_pwrlevel
+    echo ${chosenIndex} > ${GPU_BASE}/min_pwrlevel
+    echo ${chosenIndex} > ${GPU_BASE}/max_pwrlevel
+
+    obsCur=`cat ${GPU_BASE}/devfreq/cur_freq`
+    obsMin=`cat ${GPU_BASE}/devfreq/min_freq`
+    obsMax=`cat ${GPU_BASE}/devfreq/max_freq`
+    if [ obsCur -ne ${chosenFreq} ] || [ obsMin -ne ${chosenFreq} ] || [ obsMax -ne ${chosenFreq} ]; then
+        echo "Failed to set GPU to $chosenFreq Hz! Aborting..."
+        echo "cur_freq = $obsCur"
+        echo "min_freq = $obsMin"
+        echo "max_freq = $obsMax"
+        echo "index = $chosenIndex"
+        exit -1
+    fi
+    echo "\nLocked GPU to $chosenFreq / $gpuMaxFreq Hz"
+}
+
+# kill processes that manage thermals / scaling
+stop thermal-engine
+stop perfd
+stop vendor.thermal-engine
+stop vendor.perfd
+
+function_lock_cpu
+
+function_lock_gpu_kgsl
+
+# Memory bus - hardcoded per-device for now
+if [ ${DEVICE} == "marlin" ] || [ ${DEVICE} == "sailfish" ]; then
+    echo 13763 > /sys/class/devfreq/soc:qcom,gpubw/max_freq
+else
+    echo "\nUnable to lock memory bus of $MODEL ($DEVICE)."
+fi
+
+echo "\n$DEVICE clocks have been locked - to reset, reboot the device\n"
\ No newline at end of file
diff --git a/libs/hwui/tests/scripts/prep_ryu.sh b/libs/hwui/tests/scripts/prep_ryu.sh
old mode 100644
new mode 100755
diff --git a/libs/hwui/tests/unit/CommonPoolTests.cpp b/libs/hwui/tests/unit/CommonPoolTests.cpp
new file mode 100644
index 0000000..c564ed6
--- /dev/null
+++ b/libs/hwui/tests/unit/CommonPoolTests.cpp
@@ -0,0 +1,138 @@
+/*
+ * 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.
+ */
+
+#include <gtest/gtest.h>
+
+#include "thread/CommonPool.h"
+
+#include <array>
+#include <condition_variable>
+#include <set>
+#include <thread>
+#include "unistd.h"
+
+using namespace android;
+using namespace android::uirenderer;
+
+TEST(CommonPool, post) {
+    std::atomic_bool ran(false);
+    CommonPool::post([&ran] { ran = true; });
+    for (int i = 0; !ran && i < 1000; i++) {
+        usleep(1);
+    }
+    EXPECT_TRUE(ran) << "Failed to flip atomic after 1 second";
+}
+
+TEST(CommonPool, threadCount) {
+    std::set<pid_t> threads;
+    std::array<std::future<pid_t>, 64> futures;
+    for (int i = 0; i < futures.size(); i++) {
+        futures[i] = CommonPool::async([] {
+            usleep(10);
+            return gettid();
+        });
+    }
+    for (auto& f : futures) {
+        threads.insert(f.get());
+    }
+    EXPECT_EQ(threads.size(), CommonPool::THREAD_COUNT);
+    EXPECT_EQ(0, threads.count(gettid()));
+}
+
+TEST(CommonPool, singleThread) {
+    std::mutex mutex;
+    std::condition_variable fence;
+    bool isProcessing = false;
+    bool queuedSecond = false;
+
+    auto f1 = CommonPool::async([&] {
+        {
+            std::unique_lock lock{mutex};
+            isProcessing = true;
+            fence.notify_all();
+            while (!queuedSecond) {
+                fence.wait(lock);
+            }
+        }
+        return gettid();
+    });
+
+    {
+        std::unique_lock lock{mutex};
+        while (!isProcessing) {
+            fence.wait(lock);
+        }
+    }
+
+    auto f2 = CommonPool::async([] {
+        return gettid();
+    });
+
+    {
+        std::unique_lock lock{mutex};
+        queuedSecond = true;
+        fence.notify_all();
+    }
+
+    auto tid1 = f1.get();
+    auto tid2 = f2.get();
+    EXPECT_EQ(tid1, tid2);
+    EXPECT_NE(gettid(), tid1);
+}
+
+TEST(CommonPool, fullQueue) {
+    std::mutex lock;
+    std::condition_variable fence;
+    bool signaled = false;
+    static constexpr auto QUEUE_COUNT = CommonPool::THREAD_COUNT + CommonPool::QUEUE_SIZE + 10;
+    std::atomic_int queuedCount{0};
+    std::array<std::future<void>, QUEUE_COUNT> futures;
+
+    std::thread queueThread{[&] {
+        for (int i = 0; i < QUEUE_COUNT; i++) {
+            futures[i] = CommonPool::async([&] {
+                std::unique_lock _lock{lock};
+                while (!signaled) {
+                    fence.wait(_lock);
+                }
+            });
+            queuedCount++;
+        }
+    }};
+
+    int previous;
+    do {
+        previous = queuedCount.load();
+        usleep(10000);
+    } while (previous != queuedCount.load());
+
+    EXPECT_GT(queuedCount.load(), CommonPool::QUEUE_SIZE);
+    EXPECT_LT(queuedCount.load(), QUEUE_COUNT);
+
+    {
+        std::unique_lock _lock{lock};
+        signaled = true;
+        fence.notify_all();
+    }
+
+    queueThread.join();
+    EXPECT_EQ(queuedCount.load(), QUEUE_COUNT);
+
+    // Ensure all our tasks are finished before return as they have references to the stack
+    for (auto& f : futures) {
+        f.get();
+    }
+}
\ No newline at end of file
diff --git a/libs/hwui/tests/unit/main.cpp b/libs/hwui/tests/unit/main.cpp
index 63d1540..83d888c 100644
--- a/libs/hwui/tests/unit/main.cpp
+++ b/libs/hwui/tests/unit/main.cpp
@@ -22,9 +22,6 @@
 #include "debug/NullGlesDriver.h"
 #include "hwui/Typeface.h"
 #include "tests/common/LeakChecker.h"
-#include "thread/Task.h"
-#include "thread/TaskManager.h"
-#include "thread/TaskProcessor.h"
 
 #include <signal.h>
 
diff --git a/libs/hwui/thread/Barrier.h b/libs/hwui/thread/Barrier.h
deleted file mode 100644
index bb750ca..0000000
--- a/libs/hwui/thread/Barrier.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2013 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.
- */
-
-#ifndef ANDROID_HWUI_BARRIER_H
-#define ANDROID_HWUI_BARRIER_H
-
-#include <utils/Condition.h>
-
-namespace android {
-namespace uirenderer {
-
-class Barrier {
-public:
-    explicit Barrier(Condition::WakeUpType type = Condition::WAKE_UP_ALL)
-            : mType(type), mOpened(false) {}
-    ~Barrier() {}
-
-    void open() {
-        Mutex::Autolock l(mLock);
-        mOpened = true;
-        mCondition.signal(mType);
-    }
-
-    void wait() const {
-        Mutex::Autolock l(mLock);
-        while (!mOpened) {
-            mCondition.wait(mLock);
-        }
-    }
-
-private:
-    Condition::WakeUpType mType;
-    volatile bool mOpened;
-    mutable Mutex mLock;
-    mutable Condition mCondition;
-};
-
-}  // namespace uirenderer
-}  // namespace android
-
-#endif  // ANDROID_HWUI_BARRIER_H
diff --git a/libs/hwui/thread/CommonPool.cpp b/libs/hwui/thread/CommonPool.cpp
new file mode 100644
index 0000000..7f94a15
--- /dev/null
+++ b/libs/hwui/thread/CommonPool.cpp
@@ -0,0 +1,90 @@
+/*
+ * 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.
+ */
+
+#include "CommonPool.h"
+
+#include <sys/resource.h>
+#include <utils/Trace.h>
+#include "renderthread/RenderThread.h"
+
+#include <array>
+
+namespace android {
+namespace uirenderer {
+
+CommonPool::CommonPool() {
+    ATRACE_CALL();
+
+    CommonPool* pool = this;
+    // Create 2 workers
+    for (int i = 0; i < THREAD_COUNT; i++) {
+        std::thread worker([pool, i] {
+            {
+                std::array<char, 20> name{"hwuiTask"};
+                snprintf(name.data(), name.size(), "hwuiTask%d", i);
+                auto self = pthread_self();
+                pthread_setname_np(self, name.data());
+                setpriority(PRIO_PROCESS, 0, PRIORITY_FOREGROUND);
+                auto startHook = renderthread::RenderThread::getOnStartHook();
+                if (startHook) {
+                    startHook(name.data());
+                }
+            }
+            pool->workerLoop();
+        });
+        worker.detach();
+    }
+}
+
+void CommonPool::post(Task&& task) {
+    static CommonPool pool;
+    pool.enqueue(std::move(task));
+}
+
+void CommonPool::enqueue(Task&& task) {
+    std::unique_lock lock(mLock);
+    while (!mWorkQueue.hasSpace()) {
+        lock.unlock();
+        usleep(100);
+        lock.lock();
+    }
+    mWorkQueue.push(std::move(task));
+    if (mWaitingThreads == THREAD_COUNT || (mWaitingThreads > 0 && mWorkQueue.size() > 1)) {
+        mCondition.notify_one();
+    }
+}
+
+void CommonPool::workerLoop() {
+    std::unique_lock lock(mLock);
+    while (true) {
+        if (!mWorkQueue.hasWork()) {
+            mWaitingThreads++;
+            mCondition.wait(lock);
+            mWaitingThreads--;
+        }
+        // Need to double-check that work is still available now that we have the lock
+        // It may have already been grabbed by a different thread
+        while (mWorkQueue.hasWork()) {
+            auto work = mWorkQueue.pop();
+            lock.unlock();
+            work();
+            lock.lock();
+        }
+    }
+}
+
+}  // namespace uirenderer
+}  // namespace android
\ No newline at end of file
diff --git a/libs/hwui/thread/CommonPool.h b/libs/hwui/thread/CommonPool.h
new file mode 100644
index 0000000..aef2990
--- /dev/null
+++ b/libs/hwui/thread/CommonPool.h
@@ -0,0 +1,115 @@
+/*
+ * 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.
+ */
+
+#ifndef FRAMEWORKS_BASE_COMMONPOOL_H
+#define FRAMEWORKS_BASE_COMMONPOOL_H
+
+#include "utils/Macros.h"
+
+#include <log/log.h>
+
+#include <condition_variable>
+#include <functional>
+#include <future>
+#include <mutex>
+
+namespace android {
+namespace uirenderer {
+
+template <class T, int SIZE>
+class ArrayQueue {
+    PREVENT_COPY_AND_ASSIGN(ArrayQueue);
+    static_assert(SIZE > 0, "Size must be positive");
+
+public:
+    ArrayQueue() = default;
+    ~ArrayQueue() = default;
+
+    constexpr size_t capacity() const { return SIZE; }
+    constexpr bool hasWork() const { return mHead != mTail; }
+    constexpr bool hasSpace() const { return ((mHead + 1) % SIZE) != mTail; }
+    constexpr int size() const {
+        if (mHead > mTail) {
+            return mHead - mTail;
+        } else {
+            return mTail - mHead + SIZE;
+        }
+    }
+
+    constexpr void push(T&& t) {
+        int newHead = (mHead + 1) % SIZE;
+        LOG_ALWAYS_FATAL_IF(newHead == mTail, "no space");
+
+        mBuffer[mHead] = std::move(t);
+        mHead = newHead;
+    }
+
+    constexpr T&& pop() {
+        LOG_ALWAYS_FATAL_IF(mTail == mHead, "empty");
+        int index = mTail;
+        mTail = (mTail + 1) % SIZE;
+        return std::move(mBuffer[index]);
+    }
+
+private:
+    T mBuffer[SIZE];
+    int mHead = 0;
+    int mTail = 0;
+};
+
+class CommonPool {
+    PREVENT_COPY_AND_ASSIGN(CommonPool);
+
+public:
+    using Task = std::function<void()>;
+    static constexpr auto THREAD_COUNT = 2;
+    static constexpr auto QUEUE_SIZE = 128;
+
+    static void post(Task&& func);
+
+    template <class F>
+    static auto async(F&& func) -> std::future<decltype(func())> {
+        typedef std::packaged_task<decltype(func())()> task_t;
+        auto task = std::make_shared<task_t>(std::forward<F>(func));
+        post([task]() { std::invoke(*task); });
+        return task->get_future();
+    }
+
+    template <class F>
+    static auto runSync(F&& func) -> decltype(func()) {
+        std::packaged_task<decltype(func())()> task{std::forward<F>(func)};
+        post([&task]() { std::invoke(task); });
+        return task.get_future().get();
+    };
+
+private:
+    CommonPool();
+    ~CommonPool() {}
+
+    void enqueue(Task&&);
+
+    void workerLoop();
+
+    std::mutex mLock;
+    std::condition_variable mCondition;
+    int mWaitingThreads = 0;
+    ArrayQueue<Task, QUEUE_SIZE> mWorkQueue;
+};
+
+}  // namespace uirenderer
+}  // namespace android
+
+#endif  // FRAMEWORKS_BASE_COMMONPOOL_H
diff --git a/libs/hwui/thread/Future.h b/libs/hwui/thread/Future.h
deleted file mode 100644
index df53348e..0000000
--- a/libs/hwui/thread/Future.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2013 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.
- */
-
-#ifndef ANDROID_HWUI_FUTURE_H
-#define ANDROID_HWUI_FUTURE_H
-
-#include <utils/RefBase.h>
-
-#include "Barrier.h"
-
-namespace android {
-namespace uirenderer {
-
-template <typename T>
-class Future : public LightRefBase<Future<T> > {
-public:
-    explicit Future(Condition::WakeUpType type = Condition::WAKE_UP_ONE)
-            : mBarrier(type), mResult() {}
-    ~Future() {}
-
-    /**
-     * Returns the result of this future, blocking if
-     * the result is not available yet.
-     */
-    T get() const {
-        mBarrier.wait();
-        return mResult;
-    }
-
-    /**
-     * This method must be called only once.
-     */
-    void produce(T result) {
-        mResult = result;
-        mBarrier.open();
-    }
-
-private:
-    Barrier mBarrier;
-    T mResult;
-};
-
-}  // namespace uirenderer
-}  // namespace android
-
-#endif  // ANDROID_HWUI_FUTURE_H
diff --git a/libs/hwui/thread/Signal.h b/libs/hwui/thread/Signal.h
deleted file mode 100644
index 6d33ac4..0000000
--- a/libs/hwui/thread/Signal.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/*
- * Copyright (C) 2013 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.
- */
-
-#ifndef ANDROID_HWUI_SIGNAL_H
-#define ANDROID_HWUI_SIGNAL_H
-
-#include <stdint.h>
-#include <sys/types.h>
-#include <utils/threads.h>
-
-namespace android {
-namespace uirenderer {
-
-class Signal {
-public:
-    explicit Signal(Condition::WakeUpType type = Condition::WAKE_UP_ALL)
-            : mType(type), mSignaled(false) {}
-    ~Signal() {}
-
-    void signal() {
-        {
-            Mutex::Autolock l(mLock);
-            mSignaled = true;
-        }
-        mCondition.signal(mType);
-    }
-
-    void wait() {
-        Mutex::Autolock l(mLock);
-        while (!mSignaled) {
-            mCondition.wait(mLock);
-        }
-        mSignaled = false;
-    }
-
-private:
-    Condition::WakeUpType mType;
-    volatile bool mSignaled;
-    mutable Mutex mLock;
-    mutable Condition mCondition;
-};
-
-}  // namespace uirenderer
-}  // namespace android
-
-#endif  // ANDROID_HWUI_SIGNAL_H
diff --git a/libs/hwui/thread/Task.h b/libs/hwui/thread/Task.h
deleted file mode 100644
index 228ce19..0000000
--- a/libs/hwui/thread/Task.h
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (C) 2013 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.
- */
-
-#ifndef ANDROID_HWUI_TASK_H
-#define ANDROID_HWUI_TASK_H
-
-#include <utils/RefBase.h>
-#include <utils/Trace.h>
-
-#include "Future.h"
-
-namespace android {
-namespace uirenderer {
-
-class TaskBase : public RefBase {
-public:
-    TaskBase() {}
-    virtual ~TaskBase() {}
-};
-
-template <typename T>
-class Task : public TaskBase {
-public:
-    Task() : mFuture(new Future<T>()) {}
-    virtual ~Task() {}
-
-    T getResult() const { return mFuture->get(); }
-
-    void setResult(T result) { mFuture->produce(result); }
-
-protected:
-    const sp<Future<T> >& future() const { return mFuture; }
-
-private:
-    sp<Future<T> > mFuture;
-};
-
-}  // namespace uirenderer
-}  // namespace android
-
-#endif  // ANDROID_HWUI_TASK_H
diff --git a/libs/hwui/thread/TaskManager.cpp b/libs/hwui/thread/TaskManager.cpp
deleted file mode 100644
index de10ff1..0000000
--- a/libs/hwui/thread/TaskManager.cpp
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (C) 2013 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.
- */
-
-#include <sys/resource.h>
-#include <sys/sysinfo.h>
-
-#include "Task.h"
-#include "TaskManager.h"
-#include "TaskProcessor.h"
-#include "utils/MathUtils.h"
-#include "renderthread/RenderThread.h"
-
-namespace android {
-namespace uirenderer {
-
-///////////////////////////////////////////////////////////////////////////////
-// Manager
-///////////////////////////////////////////////////////////////////////////////
-
-TaskManager::TaskManager() {
-    // Get the number of available CPUs. This value does not change over time.
-    int cpuCount = sysconf(_SC_NPROCESSORS_CONF);
-
-    // Really no point in making more than 2 of these worker threads, but
-    // we do want to limit ourselves to 1 worker thread on dual-core devices.
-    int workerCount = cpuCount > 2 ? 2 : 1;
-    for (int i = 0; i < workerCount; i++) {
-        String8 name;
-        name.appendFormat("hwuiTask%d", i + 1);
-        mThreads.push_back(new WorkerThread(name));
-    }
-}
-
-TaskManager::~TaskManager() {
-    for (size_t i = 0; i < mThreads.size(); i++) {
-        mThreads[i]->exit();
-    }
-}
-
-bool TaskManager::canRunTasks() const {
-    return mThreads.size() > 0;
-}
-
-void TaskManager::stop() {
-    for (size_t i = 0; i < mThreads.size(); i++) {
-        mThreads[i]->exit();
-    }
-}
-
-bool TaskManager::addTaskBase(const sp<TaskBase>& task, const sp<TaskProcessorBase>& processor) {
-    if (mThreads.size() > 0) {
-        TaskWrapper wrapper(task, processor);
-
-        size_t minQueueSize = INT_MAX;
-        sp<WorkerThread> thread;
-
-        for (size_t i = 0; i < mThreads.size(); i++) {
-            if (mThreads[i]->getTaskCount() < minQueueSize) {
-                thread = mThreads[i];
-                minQueueSize = mThreads[i]->getTaskCount();
-            }
-        }
-
-        return thread->addTask(wrapper);
-    }
-    return false;
-}
-
-///////////////////////////////////////////////////////////////////////////////
-// Thread
-///////////////////////////////////////////////////////////////////////////////
-
-status_t TaskManager::WorkerThread::readyToRun() {
-    setpriority(PRIO_PROCESS, 0, PRIORITY_FOREGROUND);
-    auto onStartHook = renderthread::RenderThread::getOnStartHook();
-    if (onStartHook) {
-        onStartHook(mName.c_str());
-    }
-
-    return NO_ERROR;
-}
-
-bool TaskManager::WorkerThread::threadLoop() {
-    mSignal.wait();
-    std::vector<TaskWrapper> tasks;
-    {
-        Mutex::Autolock l(mLock);
-        tasks.swap(mTasks);
-    }
-
-    for (size_t i = 0; i < tasks.size(); i++) {
-        const TaskWrapper& task = tasks[i];
-        task.mProcessor->process(task.mTask);
-    }
-
-    return true;
-}
-
-bool TaskManager::WorkerThread::addTask(const TaskWrapper& task) {
-    if (!isRunning()) {
-        run(mName.string(), PRIORITY_DEFAULT);
-    } else if (exitPending()) {
-        return false;
-    }
-
-    {
-        Mutex::Autolock l(mLock);
-        mTasks.push_back(task);
-    }
-    mSignal.signal();
-
-    return true;
-}
-
-size_t TaskManager::WorkerThread::getTaskCount() const {
-    Mutex::Autolock l(mLock);
-    return mTasks.size();
-}
-
-void TaskManager::WorkerThread::exit() {
-    requestExit();
-    mSignal.signal();
-}
-
-}  // namespace uirenderer
-}  // namespace android
diff --git a/libs/hwui/thread/TaskManager.h b/libs/hwui/thread/TaskManager.h
deleted file mode 100644
index 6c67222..0000000
--- a/libs/hwui/thread/TaskManager.h
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (C) 2013 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.
- */
-
-#ifndef ANDROID_HWUI_TASK_MANAGER_H
-#define ANDROID_HWUI_TASK_MANAGER_H
-
-#include <utils/Mutex.h>
-#include <utils/String8.h>
-#include <utils/Thread.h>
-
-#include "Signal.h"
-
-#include <vector>
-
-namespace android {
-namespace uirenderer {
-
-template <typename T>
-class Task;
-class TaskBase;
-
-template <typename T>
-class TaskProcessor;
-class TaskProcessorBase;
-
-class TaskManager {
-public:
-    TaskManager();
-    ~TaskManager();
-
-    /**
-     * Returns true if this task  manager can run tasks,
-     * false otherwise. This method will typically return
-     * false on a single CPU core device.
-     */
-    bool canRunTasks() const;
-
-    /**
-     * Stops all allocated threads. Adding tasks will start
-     * the threads again as necessary.
-     */
-    void stop();
-
-private:
-    template <typename T>
-    friend class TaskProcessor;
-
-    template <typename T>
-    bool addTask(const sp<Task<T> >& task, const sp<TaskProcessor<T> >& processor) {
-        return addTaskBase(sp<TaskBase>(task), sp<TaskProcessorBase>(processor));
-    }
-
-    bool addTaskBase(const sp<TaskBase>& task, const sp<TaskProcessorBase>& processor);
-
-    struct TaskWrapper {
-        TaskWrapper() : mTask(), mProcessor() {}
-
-        TaskWrapper(const sp<TaskBase>& task, const sp<TaskProcessorBase>& processor)
-                : mTask(task), mProcessor(processor) {}
-
-        sp<TaskBase> mTask;
-        sp<TaskProcessorBase> mProcessor;
-    };
-
-    class WorkerThread : public Thread {
-    public:
-        explicit WorkerThread(const String8& name)
-                : Thread(false), mSignal(Condition::WAKE_UP_ONE), mName(name) {}
-
-        bool addTask(const TaskWrapper& task);
-        size_t getTaskCount() const;
-        void exit();
-
-    private:
-        virtual status_t readyToRun() override;
-        virtual bool threadLoop() override;
-
-        // Lock for the list of tasks
-        mutable Mutex mLock;
-        std::vector<TaskWrapper> mTasks;
-
-        // Signal used to wake up the thread when a new
-        // task is available in the list
-        mutable Signal mSignal;
-
-        const String8 mName;
-    };
-
-    std::vector<sp<WorkerThread> > mThreads;
-};
-
-}  // namespace uirenderer
-}  // namespace android
-
-#endif  // ANDROID_HWUI_TASK_MANAGER_H
diff --git a/libs/hwui/thread/TaskProcessor.h b/libs/hwui/thread/TaskProcessor.h
deleted file mode 100644
index 8117ae6..0000000
--- a/libs/hwui/thread/TaskProcessor.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (C) 2013 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.
- */
-
-#ifndef ANDROID_HWUI_TASK_PROCESSOR_H
-#define ANDROID_HWUI_TASK_PROCESSOR_H
-
-#include <utils/RefBase.h>
-
-#include "Task.h"
-#include "TaskManager.h"
-
-namespace android {
-namespace uirenderer {
-
-class TaskProcessorBase : public RefBase {
-public:
-    TaskProcessorBase() {}
-    virtual ~TaskProcessorBase(){};
-
-    virtual void process(const sp<TaskBase>& task) = 0;
-};
-
-template <typename T>
-class TaskProcessor : public TaskProcessorBase {
-public:
-    explicit TaskProcessor(TaskManager* manager) : mManager(manager) {}
-    virtual ~TaskProcessor() {}
-
-    void add(const sp<Task<T> >& task) {
-        if (!addImpl(task)) {
-            // fall back to immediate execution
-            process(task);
-        }
-    }
-
-    virtual void onProcess(const sp<Task<T> >& task) = 0;
-
-private:
-    bool addImpl(const sp<Task<T> >& task);
-
-    virtual void process(const sp<TaskBase>& task) override {
-        sp<Task<T> > realTask = static_cast<Task<T>*>(task.get());
-        // This is the right way to do it but sp<> doesn't play nice
-        // sp<Task<T> > realTask = static_cast<sp<Task<T> > >(task);
-        onProcess(realTask);
-    }
-
-    TaskManager* mManager;
-};
-
-template <typename T>
-bool TaskProcessor<T>::addImpl(const sp<Task<T> >& task) {
-    if (mManager) {
-        sp<TaskProcessor<T> > self(this);
-        return mManager->addTask(task, self);
-    }
-    return false;
-}
-
-};  // namespace uirenderer
-};  // namespace android
-
-#endif  // ANDROID_HWUI_TASK_PROCESSOR_H
diff --git a/libs/hwui/thread/WorkQueue.h b/libs/hwui/thread/WorkQueue.h
index 7a6e638..42f8503 100644
--- a/libs/hwui/thread/WorkQueue.h
+++ b/libs/hwui/thread/WorkQueue.h
@@ -26,7 +26,6 @@
 #include <functional>
 #include <future>
 #include <mutex>
-#include <variant>
 #include <vector>
 
 namespace android::uirenderer {
diff --git a/libs/incident/include/android/os/IncidentReportArgs.h b/libs/incident/include/android/os/IncidentReportArgs.h
index 5e8eac1..f056d3b 100644
--- a/libs/incident/include/android/os/IncidentReportArgs.h
+++ b/libs/incident/include/android/os/IncidentReportArgs.h
@@ -47,12 +47,16 @@
     void setAll(bool all);
     void setDest(int dest);
     void addSection(int section);
+    void setReceiverPkg(const string& pkg);
+    void setReceiverCls(const string& cls);
     void addHeader(const vector<uint8_t>& headerProto);
 
     inline bool all() const { return mAll; }
     bool containsSection(int section) const;
     inline int dest() const { return mDest; }
     inline const set<int>& sections() const { return mSections; }
+    inline const String16& receiverPkg() const { return mReceiverPkg; }
+    inline const String16& receiverCls() const { return mReceiverCls; }
     inline const vector<vector<uint8_t>>& headers() const { return mHeaders; }
 
     void merge(const IncidentReportArgs& that);
@@ -62,6 +66,8 @@
     vector<vector<uint8_t>> mHeaders;
     bool mAll;
     int mDest;
+    String16 mReceiverPkg;
+    String16 mReceiverCls;
 };
 
 }
diff --git a/libs/incident/src/IncidentReportArgs.cpp b/libs/incident/src/IncidentReportArgs.cpp
index 06b7a5b..46c8dcf9 100644
--- a/libs/incident/src/IncidentReportArgs.cpp
+++ b/libs/incident/src/IncidentReportArgs.cpp
@@ -81,6 +81,16 @@
         return err;
     }
 
+    err = out->writeString16(mReceiverPkg);
+    if (err != NO_ERROR) {
+        return err;
+    }
+
+    err = out->writeString16(mReceiverCls);
+    if (err != NO_ERROR) {
+        return err;
+    }
+
     return NO_ERROR;
 }
 
@@ -134,6 +144,9 @@
     }
     mDest = dest;
 
+    mReceiverPkg = in->readString16();
+    mReceiverCls = in->readString16();
+
     return OK;
 }
 
@@ -161,6 +174,18 @@
 }
 
 void
+IncidentReportArgs::setReceiverPkg(const string& pkg)
+{
+    mReceiverPkg = String16(pkg.c_str());
+}
+
+void
+IncidentReportArgs::setReceiverCls(const string& cls)
+{
+    mReceiverCls = String16(cls.c_str());
+}
+
+void
 IncidentReportArgs::addHeader(const vector<uint8_t>& headerProto)
 {
     mHeaders.push_back(headerProto);
diff --git a/location/java/android/location/GnssMeasurement.java b/location/java/android/location/GnssMeasurement.java
index 446ea85..9013a96 100644
--- a/location/java/android/location/GnssMeasurement.java
+++ b/location/java/android/location/GnssMeasurement.java
@@ -49,8 +49,7 @@
     private int mMultipathIndicator;
     private double mSnrInDb;
     private double mAutomaticGainControlLevelInDb;
-    private int mCodeType;
-    private String mOtherCodeTypeName;
+    @NonNull private String mCodeType;
 
     // The following enumerations must be in sync with the values declared in gps.h
 
@@ -209,113 +208,6 @@
     public static final int ADR_STATE_HALF_CYCLE_REPORTED = (1<<4);
 
     /**
-     * GNSS measurement code type.
-     * @hide
-     */
-    @IntDef(prefix = { "CODE_TYPE_" }, value = {
-            CODE_TYPE_UNKNOWN, CODE_TYPE_A, CODE_TYPE_B, CODE_TYPE_C, CODE_TYPE_I, CODE_TYPE_L,
-            CODE_TYPE_M, CODE_TYPE_N, CODE_TYPE_P, CODE_TYPE_Q, CODE_TYPE_S, CODE_TYPE_W,
-            CODE_TYPE_X, CODE_TYPE_Y, CODE_TYPE_Z, CODE_TYPE_OTHER
-    })
-    @Retention(RetentionPolicy.SOURCE)
-    public @interface CodeType {}
-
-    /** The GNSS Measurement's code type is unknown. */
-    public static final int CODE_TYPE_UNKNOWN = -1;
-
-    /**
-     * The GNSS Measurement's code type is one of the following: GALILEO E1A, GALILEO E6A, IRNSS
-     * L5A, IRNSS SA.
-     */
-    public static final int CODE_TYPE_A = 0;
-
-    /**
-     * The GNSS Measurement's code type is one of the following: GALILEO E1B, GALILEO E6B, IRNSS
-     * L5B, IRNSS SB.
-     */
-    public static final int CODE_TYPE_B = 1;
-
-    /**
-     * The GNSS Measurement's code type is one of the following: GPS L1 C/A,  GPS L2 C/A, GLONASS G1
-     * C/A, GLONASS G2 C/A, GALILEO E1C, GALILEO E6C, SBAS L1 C/A, QZSS L1 C/A, IRNSS L5C.
-     */
-    public static final int CODE_TYPE_C = 2;
-
-    /**
-     * The GNSS Measurement's code type is one of the following: GPS L5 I, GLONASS G3 I, GALILEO E5a
-     * I, GALILEO E5b I, GALILEO E5a+b I, SBAS L5 I, QZSS L5 I, BDS B1 I, BDS B2 I, BDS B3 I.
-     */
-    public static final int CODE_TYPE_I = 3;
-
-    /**
-     * The GNSS Measurement's code type is one of the following: GPS L1C (P), GPS L2C (L), QZSS L1C
-     * (P), QZSS L2C (L), LEX(6) L.
-     */
-    public static final int CODE_TYPE_L = 4;
-
-    /**
-     * The GNSS Measurement's code type is one of the following: GPS L1M, GPS L2M.
-     */
-    public static final int CODE_TYPE_M = 5;
-
-    /**
-     * The GNSS Measurement's code type is one of the following: GPS L1P, GPS L2P, GLONASS G1P,
-     * GLONASS G2P.
-     */
-    public static final int CODE_TYPE_P = 6;
-
-    /**
-     * The GNSS Measurement's code type is one of the following: GPS L5 Q, GLONASS G3 Q, GALILEO E5a
-     * Q, GALILEO E5b Q, GALILEO E5a+b Q, SBAS L5 Q, QZSS L5 Q, BDS B1 Q, BDS B2 Q, BDS B3 Q.
-     */
-    public static final int CODE_TYPE_Q = 7;
-
-    /**
-     * The GNSS Measurement's code type is one of the following: GPS L1C (D), GPS L2C (M), QZSS L1C
-     * (D), QZSS L2C (M), LEX(6) S.
-     */
-    public static final int CODE_TYPE_S = 8;
-
-    /**
-     * The GNSS Measurement's code type is one of the following: GPS L1 Z-tracking, GPS L2
-     * Z-tracking.
-     */
-    public static final int CODE_TYPE_W = 9;
-
-    /**
-     * The GNSS Measurement's code type is one of the following: GPS L1C (D+P), GPS L2C (M+L), GPS
-     * L5 (I+Q), GLONASS G3 (I+Q), GALILEO E1 (B+C), GALILEO E5a (I+Q), GALILEO E5b (I+Q), GALILEO
-     * E5a+b(I+Q), GALILEO E6 (B+C), SBAS L5 (I+Q), QZSS L1C (D+P), QZSS L2C (M+L), QZSS L5 (I+Q),
-     * LEX(6) (S+L), BDS B1 (I+Q), BDS B2 (I+Q), BDS B3 (I+Q), IRNSS L5 (B+C).
-     */
-    public static final int CODE_TYPE_X = 10;
-
-    /**
-     * The GNSS Measurement's code type is one of the following: GPS L1Y, GPS L2Y.
-     */
-    public static final int CODE_TYPE_Y = 11;
-
-    /**
-     * The GNSS Measurement's code type is one of the following: GALILEO E1 (A+B+C), GALILEO E6
-     * (A+B+C), QZSS L1-SAIF.
-     */
-    public static final int CODE_TYPE_Z = 12;
-
-    /**
-     * The GNSS Measurement's code type is one of the following: GPS L1 codeless, GPS L2 codeless.
-     */
-    public static final int CODE_TYPE_N = 13;
-
-    /**
-     * Other code type that does not belong to any of the above code types.
-     *
-     * This code type is used in the case that the code type being tracked in this measurement, as
-     * classified by RINEX standards, does not fit into one of the existing enumerated values. When
-     * this code type is set, the field otherCodeTypeName must specify the new code type.
-     */
-    public static final int CODE_TYPE_OTHER = 255;
-
-    /**
      * All the 'Accumulated Delta Range' flags.
      * @hide
      */
@@ -363,7 +255,6 @@
         mSnrInDb = measurement.mSnrInDb;
         mAutomaticGainControlLevelInDb = measurement.mAutomaticGainControlLevelInDb;
         mCodeType = measurement.mCodeType;
-        mOtherCodeTypeName = measurement.mOtherCodeTypeName;
     }
 
     /**
@@ -1414,9 +1305,50 @@
      *
      * <p>Similar to the Attribute field described in RINEX 3.03, e.g., in Tables 4-10, and Table
      * A2 at the RINEX 3.03 Update 1 Document.
+     *
+     * <p>Returns "A" for GALILEO E1A, GALILEO E6A, IRNSS L5A, IRNSS SA.
+     *
+     * <p>Returns "B" for GALILEO E1B, GALILEO E6B, IRNSS L5B, IRNSS SB.
+     *
+     * <p>Returns "C" for GPS L1 C/A,  GPS L2 C/A, GLONASS G1 C/A, GLONASS G2 C/A, GALILEO E1C,
+     * GALILEO E6C, SBAS L1 C/A, QZSS L1 C/A, IRNSS L5C.
+     *
+     * <p>Returns "I" for GPS L5 I, GLONASS G3 I, GALILEO E5a I, GALILEO E5b I, GALILEO E5a+b I,
+     * SBAS L5 I, QZSS L5 I, BDS B1 I, BDS B2 I, BDS B3 I.
+     *
+     * <p>Returns "L" for GPS L1C (P), GPS L2C (L), QZSS L1C (P), QZSS L2C (L), LEX(6) L.
+     *
+     * <p>Returns "M" for GPS L1M, GPS L2M.
+     *
+     * <p>Returns "N" for GPS L1 codeless, GPS L2 codeless.
+     *
+     * <p>Returns "P" for GPS L1P, GPS L2P, GLONASS G1P, GLONASS G2P.
+     *
+     * <p>Returns "Q" for GPS L5 Q, GLONASS G3 Q, GALILEO E5a Q, GALILEO E5b Q, GALILEO E5a+b Q,
+     * SBAS L5 Q, QZSS L5 Q, BDS B1 Q, BDS B2 Q, BDS B3 Q.
+     *
+     * <p>Returns "S" for GPS L1C (D), GPS L2C (M), QZSS L1C (D), QZSS L2C (M), LEX(6) S.
+     *
+     * <p>Returns "W" for GPS L1 Z-tracking, GPS L2 Z-tracking.
+     *
+     * <p>Returns "X" for GPS L1C (D+P), GPS L2C (M+L), GPS L5 (I+Q), GLONASS G3 (I+Q), GALILEO
+     * E1 (B+C), GALILEO E5a (I+Q), GALILEO E5b (I+Q), GALILEO E5a+b(I+Q), GALILEO E6 (B+C), SBAS
+     * L5 (I+Q), QZSS L1C (D+P), QZSS L2C (M+L), QZSS L5 (I+Q), LEX(6) (S+L), BDS B1 (I+Q), BDS
+     * B2 (I+Q), BDS B3 (I+Q), IRNSS L5 (B+C).
+     *
+     * <p>Returns "Y" for GPS L1Y, GPS L2Y.
+     *
+     * <p>Returns "Z" for GALILEO E1 (A+B+C), GALILEO E6 (A+B+C), QZSS L1-SAIF.
+     *
+     * <p>Returns "UNKNOWN" if the GNSS Measurement's code type is unknown.
+     *
+     * <p>This is used to specify the observation descriptor defined in GNSS Observation Data File
+     * Header Section Description in the RINEX standard (Version 3.XX), in cases where the code type
+     * does not align with the above listed values. For example, if a code type "G" is added, this
+     * string shall be set to "G".
      */
-    @CodeType
-    public int getCodeType() {
+    @NonNull
+    public String getCodeType() {
         return mCodeType;
     }
 
@@ -1426,7 +1358,7 @@
      * @hide
      */
     @TestApi
-    public void setCodeType(@CodeType int codeType) {
+    public void setCodeType(@NonNull String codeType) {
         setFlag(HAS_CODE_TYPE);
         mCodeType = codeType;
     }
@@ -1439,74 +1371,7 @@
     @TestApi
     public void resetCodeType() {
         resetFlag(HAS_CODE_TYPE);
-        mCodeType = CODE_TYPE_UNKNOWN;
-    }
-
-    /**
-     * Gets the GNSS measurement's code type name when the code type is {@link #CODE_TYPE_OTHER}.
-     *
-     * <p>This is used to specify the observation descriptor defined in GNSS Observation Data File
-     * Header Section Description in the RINEX standard (Version 3.XX), in cases where the code type
-     * does not align with an existing Android enumerated value. For example, if a code type "G" is
-     * added, this string shall be set to "G".
-     */
-    @NonNull
-    public String getOtherCodeTypeName() {
-        return mOtherCodeTypeName;
-    }
-
-    /**
-     * Sets the GNSS measurement's code type name when the code type is {@link #CODE_TYPE_OTHER}.
-     *
-     * @hide
-     */
-    @TestApi
-    public void setOtherCodeTypeName(@NonNull String otherCodeTypeName) {
-        mOtherCodeTypeName = otherCodeTypeName;
-    }
-
-    /**
-     * Gets a string representation of the 'code type'.
-     *
-     * <p>For internal and logging use only.
-     */
-    private String getCodeTypeString() {
-        switch (mCodeType) {
-            case CODE_TYPE_UNKNOWN:
-                return "CODE_TYPE_UNKNOWN";
-            case CODE_TYPE_A:
-                return "CODE_TYPE_A";
-            case CODE_TYPE_B:
-                return "CODE_TYPE_B";
-            case CODE_TYPE_C:
-                return "CODE_TYPE_C";
-            case CODE_TYPE_I:
-                return "CODE_TYPE_I";
-            case CODE_TYPE_L:
-                return "CODE_TYPE_L";
-            case CODE_TYPE_M:
-                return "CODE_TYPE_M";
-            case CODE_TYPE_N:
-                return "CODE_TYPE_N";
-            case CODE_TYPE_P:
-                return "CODE_TYPE_P";
-            case CODE_TYPE_Q:
-                return "CODE_TYPE_Q";
-            case CODE_TYPE_S:
-                return "CODE_TYPE_S";
-            case CODE_TYPE_W:
-                return "CODE_TYPE_W";
-            case CODE_TYPE_X:
-                return "CODE_TYPE_X";
-            case CODE_TYPE_Y:
-                return "CODE_TYPE_Y";
-            case CODE_TYPE_Z:
-                return "CODE_TYPE_Z";
-            case CODE_TYPE_OTHER:
-                return "CODE_TYPE_OTHER";
-            default:
-                return "<Invalid: " + mCodeType + ">";
-        }
+        mCodeType = "UNKNOWN";
     }
 
     public static final @android.annotation.NonNull Creator<GnssMeasurement> CREATOR = new Creator<GnssMeasurement>() {
@@ -1534,8 +1399,7 @@
             gnssMeasurement.mMultipathIndicator = parcel.readInt();
             gnssMeasurement.mSnrInDb = parcel.readDouble();
             gnssMeasurement.mAutomaticGainControlLevelInDb = parcel.readDouble();
-            gnssMeasurement.mCodeType = parcel.readInt();
-            gnssMeasurement.mOtherCodeTypeName = parcel.readString();
+            gnssMeasurement.mCodeType = parcel.readString();
 
             return gnssMeasurement;
         }
@@ -1568,8 +1432,7 @@
         parcel.writeInt(mMultipathIndicator);
         parcel.writeDouble(mSnrInDb);
         parcel.writeDouble(mAutomaticGainControlLevelInDb);
-        parcel.writeInt(mCodeType);
-        parcel.writeString(mOtherCodeTypeName);
+        parcel.writeString(mCodeType);
     }
 
     @Override
@@ -1647,10 +1510,7 @@
         builder.append(String.format(
                 format,
                 "CodeType",
-                hasCodeType() ? getCodeTypeString() : null));
-        builder.append(String.format(
-                format,
-                "OtherCodeTypeName", mOtherCodeTypeName));
+                hasCodeType() ? mCodeType : null));
 
         return builder.toString();
     }
@@ -1676,7 +1536,6 @@
         resetSnrInDb();
         resetAutomaticGainControlLevel();
         resetCodeType();
-        setOtherCodeTypeName("");
     }
 
     private void setFlag(int flag) {
diff --git a/location/java/android/location/GnssMeasurementCorrections.java b/location/java/android/location/GnssMeasurementCorrections.java
index fdbc3dd..3e32c21 100644
--- a/location/java/android/location/GnssMeasurementCorrections.java
+++ b/location/java/android/location/GnssMeasurementCorrections.java
@@ -16,11 +16,16 @@
 
 package android.location;
 
+import android.annotation.FloatRange;
+import android.annotation.IntRange;
+import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.os.Parcel;
 import android.os.Parcelable;
 
+import com.android.internal.util.Preconditions;
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -35,37 +40,44 @@
 public final class GnssMeasurementCorrections implements Parcelable {
 
     /** Represents latitude in degrees at which the corrections are computed. */
-    private double mLatitudeDegrees;
+    @FloatRange(from = -90.0f, to = 90.0f)
+    private final double mLatitudeDegrees;
     /** Represents longitude in degrees at which the corrections are computed. */
-    private double mLongitudeDegrees;
+    @FloatRange(from = -180.0f, to = 180.0f)
+    private final double mLongitudeDegrees;
     /**
      * Represents altitude in meters above the WGS 84 reference ellipsoid at which the corrections
      * are computed.
      */
-    private double mAltitudeMeters;
+    @FloatRange(from = -1000.0, to = 10000.0f)
+    private final double mAltitudeMeters;
     /**
      * Represents the horizontal uncertainty (68% confidence) in meters on the device position at
      * which the corrections are provided.
      *
      * <p> This value is useful for example to judge how accurate the provided corrections are.
      */
-    private double mHorizontalPositionUncertaintyMeters;
+    @FloatRange(from = 0.0f)
+    private final double mHorizontalPositionUncertaintyMeters;
     /**
      * Represents the vertical uncertainty (68% confidence) in meters on the device position at
      * which the corrections are provided.
      *
      * <p> This value is useful for example to judge how accurate the provided corrections are.
      */
-    private double mVerticalPositionUncertaintyMeters;
+    @FloatRange(from = 0.0f)
+    private final double mVerticalPositionUncertaintyMeters;
 
     /** Time Of Applicability, GPS time of week in nanoseconds. */
-    private long mToaGpsNanosecondsOfWeek;
+    @IntRange(from = 0)
+    private final long mToaGpsNanosecondsOfWeek;
 
     /**
      * A set of {@link GnssSingleSatCorrection} each containing measurement corrections for a
      * satellite in view.
      */
-    private @Nullable List<GnssSingleSatCorrection> mSingleSatCorrectionList;
+    @NonNull
+    private final List<GnssSingleSatCorrection> mSingleSatCorrectionList;
 
     private GnssMeasurementCorrections(Builder builder) {
         mLatitudeDegrees = builder.mLatitudeDegrees;
@@ -74,19 +86,19 @@
         mHorizontalPositionUncertaintyMeters = builder.mHorizontalPositionUncertaintyMeters;
         mVerticalPositionUncertaintyMeters = builder.mVerticalPositionUncertaintyMeters;
         mToaGpsNanosecondsOfWeek = builder.mToaGpsNanosecondsOfWeek;
-        mSingleSatCorrectionList =
-                builder.mSingleSatCorrectionList == null
-                        ? null
-                        : Collections.unmodifiableList(
-                                new ArrayList<>(builder.mSingleSatCorrectionList));
+        final List<GnssSingleSatCorrection> singleSatCorrList =  builder.mSingleSatCorrectionList;
+        Preconditions.checkArgument(singleSatCorrList != null && !singleSatCorrList.isEmpty());
+        mSingleSatCorrectionList = Collections.unmodifiableList(new ArrayList<>(singleSatCorrList));
     }
 
     /** Gets the latitude in degrees at which the corrections are computed. */
+    @FloatRange(from = -90.0f, to = 90.0f)
     public double getLatitudeDegrees() {
         return mLatitudeDegrees;
     }
 
     /** Gets the longitude in degrees at which the corrections are computed. */
+    @FloatRange(from = -180.0f, to = 180.0f)
     public double getLongitudeDegrees() {
         return mLongitudeDegrees;
     }
@@ -95,6 +107,7 @@
      * Gets the altitude in meters above the WGS 84 reference ellipsoid at which the corrections are
      * computed.
      */
+    @FloatRange(from = -1000.0f, to = 10000.0f)
     public double getAltitudeMeters() {
         return mAltitudeMeters;
     }
@@ -103,6 +116,7 @@
      * Gets the horizontal uncertainty (68% confidence) in meters on the device position at
      * which the corrections are provided.
      */
+    @FloatRange(from = 0.0f)
     public double getHorizontalPositionUncertaintyMeters() {
         return mHorizontalPositionUncertaintyMeters;
     }
@@ -111,11 +125,13 @@
      * Gets the vertical uncertainty (68% confidence) in meters on the device position at
      * which the corrections are provided.
      */
+    @FloatRange(from = 0.0f)
     public double getVerticalPositionUncertaintyMeters() {
         return mVerticalPositionUncertaintyMeters;
     }
 
     /** Gets the time of applicability, GPS time of week in nanoseconds. */
+    @IntRange(from = 0)
     public long getToaGpsNanosecondsOfWeek() {
         return mToaGpsNanosecondsOfWeek;
     }
@@ -124,7 +140,8 @@
      * Gets a set of {@link GnssSingleSatCorrection} each containing measurement corrections for a
      * satellite in view
      */
-    public @Nullable List<GnssSingleSatCorrection> getSingleSatelliteCorrectionList() {
+    @NonNull
+    public List<GnssSingleSatCorrection> getSingleSatelliteCorrectionList() {
         return mSingleSatCorrectionList;
     }
 
@@ -133,10 +150,11 @@
         return 0;
     }
 
-    public static final @android.annotation.NonNull Creator<GnssMeasurementCorrections> CREATOR =
+    public static final Creator<GnssMeasurementCorrections> CREATOR =
             new Creator<GnssMeasurementCorrections>() {
                 @Override
-                public GnssMeasurementCorrections createFromParcel(Parcel parcel) {
+                @NonNull
+                public GnssMeasurementCorrections createFromParcel(@NonNull Parcel parcel) {
                     final GnssMeasurementCorrections.Builder gnssMeasurementCorrectons =
                             new Builder()
                                     .setLatitudeDegrees(parcel.readDouble())
@@ -148,7 +166,7 @@
                     List<GnssSingleSatCorrection> singleSatCorrectionList = new ArrayList<>();
                     parcel.readTypedList(singleSatCorrectionList, GnssSingleSatCorrection.CREATOR);
                     gnssMeasurementCorrectons.setSingleSatelliteCorrectionList(
-                            singleSatCorrectionList.isEmpty() ? null : singleSatCorrectionList);
+                            singleSatCorrectionList);
                     return gnssMeasurementCorrectons.build();
                 }
 
@@ -177,7 +195,7 @@
     }
 
     @Override
-    public void writeToParcel(Parcel parcel, int flags) {
+    public void writeToParcel(@NonNull Parcel parcel, int flags) {
         parcel.writeDouble(mLatitudeDegrees);
         parcel.writeDouble(mLongitudeDegrees);
         parcel.writeDouble(mAltitudeMeters);
@@ -199,16 +217,18 @@
         private double mHorizontalPositionUncertaintyMeters;
         private double mVerticalPositionUncertaintyMeters;
         private long mToaGpsNanosecondsOfWeek;
-        private List<GnssSingleSatCorrection> mSingleSatCorrectionList;
+        @Nullable private List<GnssSingleSatCorrection> mSingleSatCorrectionList;
 
         /** Sets the latitude in degrees at which the corrections are computed. */
-        public Builder setLatitudeDegrees(double latitudeDegrees) {
+        @NonNull public Builder setLatitudeDegrees(
+                @FloatRange(from = -90.0f, to = 90.0f) double latitudeDegrees) {
             mLatitudeDegrees = latitudeDegrees;
             return this;
         }
 
         /** Sets the longitude in degrees at which the corrections are computed. */
-        public Builder setLongitudeDegrees(double longitudeDegrees) {
+        @NonNull public Builder setLongitudeDegrees(
+                @FloatRange(from = -180.0f, to = 180.0f) double longitudeDegrees) {
             mLongitudeDegrees = longitudeDegrees;
             return this;
         }
@@ -217,7 +237,8 @@
          * Sets the altitude in meters above the WGS 84 reference ellipsoid at which the corrections
          * are computed.
          */
-        public Builder setAltitudeMeters(double altitudeMeters) {
+        @NonNull public Builder setAltitudeMeters(
+                @FloatRange(from = -1000.0f, to = 10000.0f) double altitudeMeters) {
             mAltitudeMeters = altitudeMeters;
             return this;
         }
@@ -227,8 +248,8 @@
          * Sets the horizontal uncertainty (68% confidence) in meters on the device position at
          * which the corrections are provided.
          */
-        public Builder setHorizontalPositionUncertaintyMeters(
-                double horizontalPositionUncertaintyMeters) {
+        @NonNull public Builder setHorizontalPositionUncertaintyMeters(
+                @FloatRange(from = 0.0f) double horizontalPositionUncertaintyMeters) {
             mHorizontalPositionUncertaintyMeters = horizontalPositionUncertaintyMeters;
             return this;
         }
@@ -237,14 +258,15 @@
          * Sets the vertical uncertainty (68% confidence) in meters on the device position at which
          * the corrections are provided.
          */
-        public Builder setVerticalPositionUncertaintyMeters(
-                double verticalPositionUncertaintyMeters) {
+        @NonNull public Builder setVerticalPositionUncertaintyMeters(
+                @FloatRange(from = 0.0f) double verticalPositionUncertaintyMeters) {
             mVerticalPositionUncertaintyMeters = verticalPositionUncertaintyMeters;
             return this;
         }
 
         /** Sets the time of applicability, GPS time of week in nanoseconds. */
-        public Builder setToaGpsNanosecondsOfWeek(long toaGpsNanosecondsOfWeek) {
+        @NonNull public Builder setToaGpsNanosecondsOfWeek(
+                @IntRange(from = 0) long toaGpsNanosecondsOfWeek) {
             mToaGpsNanosecondsOfWeek = toaGpsNanosecondsOfWeek;
             return this;
         }
@@ -253,19 +275,14 @@
          * Sets a the list of {@link GnssSingleSatCorrection} containing measurement corrections for
          * a satellite in view
          */
-        public Builder setSingleSatelliteCorrectionList(
-                @Nullable List<GnssSingleSatCorrection> singleSatCorrectionList) {
-            if (singleSatCorrectionList == null) {
-                mSingleSatCorrectionList = null;
-            } else {
-                mSingleSatCorrectionList =
-                        Collections.unmodifiableList(new ArrayList<>(singleSatCorrectionList));
-            }
+        @NonNull public Builder setSingleSatelliteCorrectionList(
+                @NonNull List<GnssSingleSatCorrection> singleSatCorrectionList) {
+            mSingleSatCorrectionList = singleSatCorrectionList;
             return this;
         }
 
         /** Builds a {@link GnssMeasurementCorrections} instance as specified by this builder. */
-        public GnssMeasurementCorrections build() {
+        @NonNull public GnssMeasurementCorrections build() {
             return new GnssMeasurementCorrections(this);
         }
     }
diff --git a/location/java/android/location/GnssReflectingPlane.java b/location/java/android/location/GnssReflectingPlane.java
index c5095d7..9d05287 100644
--- a/location/java/android/location/GnssReflectingPlane.java
+++ b/location/java/android/location/GnssReflectingPlane.java
@@ -16,6 +16,8 @@
 
 package android.location;
 
+import android.annotation.FloatRange;
+import android.annotation.NonNull;
 import android.annotation.SystemApi;
 import android.os.Parcel;
 import android.os.Parcelable;
@@ -29,17 +31,21 @@
 public final class GnssReflectingPlane implements Parcelable {
 
     /** Represents latitude in degrees of the reflecting plane */
-    private double mLatitudeDegrees;
+    @FloatRange(from = -90.0f, to = 90.0f)
+    private final double mLatitudeDegrees;
     /** Represents longitude in degrees of the reflecting plane. */
-    private double mLongitudeDegrees;
+    @FloatRange(from = -180.0f, to = 180.0f)
+    private final double mLongitudeDegrees;
     /**
      * Represents altitude in meters above the WGS 84 reference ellipsoid of the reflection point in
      * the plane
      */
-    private double mAltitudeMeters;
+    @FloatRange(from = -1000.0f, to = 10000.0f)
+    private final double mAltitudeMeters;
 
     /** Represents azimuth clockwise from north of the reflecting plane in degrees. */
-    private double mAzimuthDegrees;
+    @FloatRange(from = 0.0f, to = 360.0f)
+    private final double mAzimuthDegrees;
 
     private GnssReflectingPlane(Builder builder) {
         mLatitudeDegrees = builder.mLatitudeDegrees;
@@ -49,11 +55,13 @@
     }
 
     /** Gets the latitude in degrees of the reflecting plane. */
+    @FloatRange(from = -90.0f, to = 90.0f)
     public double getLatitudeDegrees() {
         return mLatitudeDegrees;
     }
 
     /** Gets the longitude in degrees of the reflecting plane. */
+    @FloatRange(from = -180.0f, to = 180.0f)
     public double getLongitudeDegrees() {
         return mLongitudeDegrees;
     }
@@ -62,11 +70,13 @@
      * Gets the altitude in meters above the WGS 84 reference ellipsoid of the reflecting point
      * within the plane
      */
+    @FloatRange(from = -1000.0f, to = 10000.0f)
     public double getAltitudeMeters() {
         return mAltitudeMeters;
     }
 
     /** Gets the azimuth clockwise from north of the reflecting plane in degrees. */
+    @FloatRange(from = 0.0f, to = 360.0f)
     public double getAzimuthDegrees() {
         return mAzimuthDegrees;
     }
@@ -76,10 +86,11 @@
         return 0;
     }
 
-    public static final @android.annotation.NonNull Creator<GnssReflectingPlane> CREATOR =
+    public static final Creator<GnssReflectingPlane> CREATOR =
             new Creator<GnssReflectingPlane>() {
                 @Override
-                public GnssReflectingPlane createFromParcel(Parcel parcel) {
+                @NonNull
+                public GnssReflectingPlane createFromParcel(@NonNull Parcel parcel) {
                     GnssReflectingPlane reflectingPlane =
                             new Builder()
                                     .setLatitudeDegrees(parcel.readDouble())
@@ -108,7 +119,7 @@
     }
 
     @Override
-    public void writeToParcel(Parcel parcel, int flags) {
+    public void writeToParcel(@NonNull Parcel parcel, int flags) {
         parcel.writeDouble(mLatitudeDegrees);
         parcel.writeDouble(mLongitudeDegrees);
         parcel.writeDouble(mAltitudeMeters);
@@ -119,19 +130,20 @@
     public static final class Builder {
         /** For documentation, see corresponding fields in {@link GnssReflectingPlane}. */
         private double mLatitudeDegrees;
-
         private double mLongitudeDegrees;
         private double mAltitudeMeters;
         private double mAzimuthDegrees;
 
         /** Sets the latitude in degrees of the reflecting plane. */
-        public Builder setLatitudeDegrees(double latitudeDegrees) {
+        @NonNull public Builder setLatitudeDegrees(
+                @FloatRange(from = -90.0f, to = 90.0f) double latitudeDegrees) {
             mLatitudeDegrees = latitudeDegrees;
             return this;
         }
 
         /** Sets the longitude in degrees of the reflecting plane. */
-        public Builder setLongitudeDegrees(double longitudeDegrees) {
+        @NonNull public Builder setLongitudeDegrees(
+                @FloatRange(from = -180.0f, to = 180.0f) double longitudeDegrees) {
             mLongitudeDegrees = longitudeDegrees;
             return this;
         }
@@ -140,19 +152,21 @@
          * Sets the altitude in meters above the WGS 84 reference ellipsoid of the reflecting point
          * within the plane
          */
-        public Builder setAltitudeMeters(double altitudeMeters) {
+        @NonNull public Builder setAltitudeMeters(
+                @FloatRange(from = -1000.0f, to = 10000.0f) double altitudeMeters) {
             mAltitudeMeters = altitudeMeters;
             return this;
         }
 
         /** Sets the azimuth clockwise from north of the reflecting plane in degrees. */
-        public Builder setAzimuthDegrees(double azimuthDegrees) {
+        @NonNull public Builder setAzimuthDegrees(
+                @FloatRange(from = 0.0f, to = 360.0f) double azimuthDegrees) {
             mAzimuthDegrees = azimuthDegrees;
             return this;
         }
 
         /** Builds a {@link GnssReflectingPlane} object as specified by this builder. */
-        public GnssReflectingPlane build() {
+        @NonNull public GnssReflectingPlane build() {
             return new GnssReflectingPlane(this);
         }
     }
diff --git a/location/java/android/location/GnssSingleSatCorrection.java b/location/java/android/location/GnssSingleSatCorrection.java
index dbf3fd9..e901909 100644
--- a/location/java/android/location/GnssSingleSatCorrection.java
+++ b/location/java/android/location/GnssSingleSatCorrection.java
@@ -17,6 +17,8 @@
 package android.location;
 
 import android.annotation.FloatRange;
+import android.annotation.IntRange;
+import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.os.Parcel;
@@ -35,40 +37,49 @@
     /**
      * Bit mask for {@link #mSingleSatCorrectionFlags} indicating the presence of {@link
      * #mProbSatIsLos}.
+     *
+     * @hide
      */
     public static final int HAS_PROB_SAT_IS_LOS_MASK = 1 << 0;
 
     /**
      * Bit mask for {@link #mSingleSatCorrectionFlags} indicating the presence of {@link
      * #mExcessPathLengthMeters}.
+     *
+     * @hide
      */
     public static final int HAS_EXCESS_PATH_LENGTH_MASK = 1 << 1;
 
     /**
      * Bit mask for {@link #mSingleSatCorrectionFlags} indicating the presence of {@link
      * #mExcessPathLengthUncertaintyMeters}.
+     *
+     * @hide
      */
     public static final int HAS_EXCESS_PATH_LENGTH_UNC_MASK = 1 << 2;
 
     /**
      * Bit mask for {@link #mSingleSatCorrectionFlags} indicating the presence of {@link
      * #mReflectingPlane}.
+     *
+     * @hide
      */
     public static final int HAS_REFLECTING_PLANE_MASK = 1 << 3;
 
     /** A bitmask of fields present in this object (see HAS_* constants defined above) */
-    private int mSingleSatCorrectionFlags;
+    private final int mSingleSatCorrectionFlags;
 
     /** Defines the constellation of the given satellite as defined in {@link GnssStatus}. */
     @GnssStatus.ConstellationType
-    private int mConstellationType;
+    private final int mConstellationType;
 
     /**
      * Satellite vehicle ID number
      *
      * <p>Interpretation depends on {@link GnssStatus#getSvid(int)}.
      */
-    private int mSatId;
+    @IntRange(from = 0)
+    private final int mSatId;
 
     /**
      * Carrier frequency of the signal to be corrected, for example it can be the GPS center
@@ -79,22 +90,25 @@
      * values related to L1 will be filled, and in the other all of the values related to L5 will be
      * filled.
      */
-    private float mCarrierFrequencyHz;
+    @FloatRange(from = 0.0f,  fromInclusive = false)
+    private final float mCarrierFrequencyHz;
 
     /**
      * The probability that the satellite is estimated to be in Line-of-Sight condition at the given
      * location.
      */
-    @FloatRange(from = 0f, to = 1f)
-    private float mProbSatIsLos;
+    @FloatRange(from = 0.0f, to = 1.0f)
+    private final float mProbSatIsLos;
 
     /**
      * Excess path length to be subtracted from pseudorange before using it in calculating location.
      */
-    private float mExcessPathLengthMeters;
+    @FloatRange(from = 0.0f)
+    private final float mExcessPathLengthMeters;
 
     /** Error estimate (1-sigma) for the Excess path length estimate */
-    private float mExcessPathLengthUncertaintyMeters;
+    @FloatRange(from = 0.0f)
+    private final float mExcessPathLengthUncertaintyMeters;
 
     /**
      * Defines the reflecting plane location and azimuth information
@@ -102,7 +116,8 @@
      * <p>The flag HAS_REFLECTING_PLANE will be used to set this value to invalid if the satellite
      * signal goes through multiple reflections or if reflection plane serving is not supported.
      */
-    private @Nullable GnssReflectingPlane mReflectingPlane;
+    @Nullable
+    private final GnssReflectingPlane mReflectingPlane;
 
     private GnssSingleSatCorrection(Builder builder) {
         mSingleSatCorrectionFlags = builder.mSingleSatCorrectionFlags;
@@ -115,7 +130,11 @@
         mReflectingPlane = builder.mReflectingPlane;
     }
 
-    /** Gets a bitmask of fields present in this object */
+    /**
+     * Gets a bitmask of fields present in this object
+     *
+     * @hide
+     */
     public int getSingleSatelliteCorrectionFlags() {
         return mSingleSatCorrectionFlags;
     }
@@ -137,6 +156,7 @@
      * <p>Interpretation depends on {@link #getConstellationType()}. See {@link
      * GnssStatus#getSvid(int)}.
      */
+    @IntRange(from = 0)
     public int getSatelliteId() {
         return mSatId;
     }
@@ -154,6 +174,7 @@
      *
      * @return the carrier frequency of the signal tracked in Hz.
      */
+    @FloatRange(from = 0.0f,  fromInclusive = false)
     public float getCarrierFrequencyHz() {
         return mCarrierFrequencyHz;
     }
@@ -162,7 +183,7 @@
      * Returns the probability that the satellite is in line-of-sight condition at the given
      * location.
      */
-    @FloatRange(from = 0f, to = 1f)
+    @FloatRange(from = 0.0f, to = 1.0f)
     public float getProbabilityLineOfSight() {
         return mProbSatIsLos;
     }
@@ -171,11 +192,13 @@
      * Returns the Excess path length to be subtracted from pseudorange before using it in
      * calculating location.
      */
+    @FloatRange(from = 0.0f)
     public float getExcessPathLengthMeters() {
         return mExcessPathLengthMeters;
     }
 
     /** Returns the error estimate (1-sigma) for the Excess path length estimate */
+    @FloatRange(from = 0.0f)
     public float getExcessPathLengthUncertaintyMeters() {
         return mExcessPathLengthUncertaintyMeters;
     }
@@ -186,7 +209,8 @@
      * <p>The flag HAS_REFLECTING_PLANE will be used to set this value to invalid if the satellite
      * signal goes through multiple reflections or if reflection plane serving is not supported
      */
-    public @Nullable GnssReflectingPlane getReflectingPlane() {
+    @Nullable
+    public GnssReflectingPlane getReflectingPlane() {
         return mReflectingPlane;
     }
 
@@ -215,23 +239,27 @@
         return 0;
     }
 
-    public static final @android.annotation.NonNull Creator<GnssSingleSatCorrection> CREATOR =
+    public static final Creator<GnssSingleSatCorrection> CREATOR =
             new Creator<GnssSingleSatCorrection>() {
                 @Override
-                public GnssSingleSatCorrection createFromParcel(Parcel parcel) {
-                    GnssSingleSatCorrection singleSatCorrection =
+                @NonNull
+                public GnssSingleSatCorrection createFromParcel(@NonNull Parcel parcel) {
+                    int mSingleSatCorrectionFlags = parcel.readInt();
+                    boolean hasReflectingPlane =
+                            (mSingleSatCorrectionFlags & HAS_REFLECTING_PLANE_MASK) != 0;
+                    final GnssSingleSatCorrection.Builder singleSatCorrectionBuilder =
                             new Builder()
-                                    .setSingleSatelliteCorrectionFlags(parcel.readInt())
                                     .setConstellationType(parcel.readInt())
                                     .setSatelliteId(parcel.readInt())
                                     .setCarrierFrequencyHz(parcel.readFloat())
                                     .setProbabilityLineOfSight(parcel.readFloat())
                                     .setExcessPathLengthMeters(parcel.readFloat())
-                                    .setExcessPathLengthUncertaintyMeters(parcel.readFloat())
-                                    .setReflectingPlane(
-                                            GnssReflectingPlane.CREATOR.createFromParcel(parcel))
-                                    .build();
-                    return singleSatCorrection;
+                                    .setExcessPathLengthUncertaintyMeters(parcel.readFloat());
+                    if (hasReflectingPlane) {
+                        singleSatCorrectionBuilder.setReflectingPlane(
+                                GnssReflectingPlane.CREATOR.createFromParcel(parcel));
+                    }
+                    return singleSatCorrectionBuilder.build();
                 }
 
                 @Override
@@ -256,12 +284,14 @@
                         format,
                         "ExcessPathLengthUncertaintyMeters = ",
                         mExcessPathLengthUncertaintyMeters));
-        builder.append(String.format(format, "ReflectingPlane = ", mReflectingPlane));
+        if (hasReflectingPlane()) {
+            builder.append(String.format(format, "ReflectingPlane = ", mReflectingPlane));
+        }
         return builder.toString();
     }
 
     @Override
-    public void writeToParcel(Parcel parcel, int flags) {
+    public void writeToParcel(@NonNull Parcel parcel, int flags) {
         parcel.writeInt(mSingleSatCorrectionFlags);
         parcel.writeInt(mConstellationType);
         parcel.writeInt(mSatId);
@@ -269,7 +299,9 @@
         parcel.writeFloat(mProbSatIsLos);
         parcel.writeFloat(mExcessPathLengthMeters);
         parcel.writeFloat(mExcessPathLengthUncertaintyMeters);
-        mReflectingPlane.writeToParcel(parcel, flags);
+        if (hasReflectingPlane()) {
+            mReflectingPlane.writeToParcel(parcel, flags);
+        }
     }
 
     /** Builder for {@link GnssSingleSatCorrection} */
@@ -287,28 +319,25 @@
         private float mProbSatIsLos;
         private float mExcessPathLengthMeters;
         private float mExcessPathLengthUncertaintyMeters;
+        @Nullable
         private GnssReflectingPlane mReflectingPlane;
 
-        /** Sets a bitmask of fields present in this object */
-        public Builder setSingleSatelliteCorrectionFlags(int singleSatCorrectionFlags) {
-            mSingleSatCorrectionFlags = singleSatCorrectionFlags;
-            return this;
-        }
-
         /** Sets the constellation type. */
-        public Builder setConstellationType(@GnssStatus.ConstellationType int constellationType) {
+        @NonNull public Builder setConstellationType(
+                @GnssStatus.ConstellationType int constellationType) {
             mConstellationType = constellationType;
             return this;
         }
 
         /** Sets the Satellite ID defined in the ICD of the given constellation. */
-        public Builder setSatelliteId(int satId) {
+        @NonNull public Builder setSatelliteId(@IntRange(from = 0) int satId) {
             mSatId = satId;
             return this;
         }
 
         /** Sets the Carrier frequency in Hz. */
-        public Builder setCarrierFrequencyHz(float carrierFrequencyHz) {
+        @NonNull public Builder setCarrierFrequencyHz(
+                @FloatRange(from = 0.0f,  fromInclusive = false) float carrierFrequencyHz) {
             mCarrierFrequencyHz = carrierFrequencyHz;
             return this;
         }
@@ -317,8 +346,8 @@
          * Sets the line-of-sight probability of the satellite at the given location in the range
          * between 0 and 1.
          */
-        public Builder setProbabilityLineOfSight(
-                @FloatRange(from = 0f, to = 1f) float probSatIsLos) {
+        @NonNull public Builder setProbabilityLineOfSight(
+                @FloatRange(from = 0.0f, to = 1.0f) float probSatIsLos) {
             Preconditions.checkArgumentInRange(
                     probSatIsLos, 0, 1, "probSatIsLos should be between 0 and 1.");
             mProbSatIsLos = probSatIsLos;
@@ -331,7 +360,8 @@
          * Sets the Excess path length to be subtracted from pseudorange before using it in
          * calculating location.
          */
-        public Builder setExcessPathLengthMeters(float excessPathLengthMeters) {
+        @NonNull public Builder setExcessPathLengthMeters(
+                @FloatRange(from = 0.0f) float excessPathLengthMeters) {
             mExcessPathLengthMeters = excessPathLengthMeters;
             mSingleSatCorrectionFlags =
                     (byte) (mSingleSatCorrectionFlags | HAS_EXCESS_PATH_LENGTH_MASK);
@@ -339,8 +369,8 @@
         }
 
         /** Sets the error estimate (1-sigma) for the Excess path length estimate */
-        public Builder setExcessPathLengthUncertaintyMeters(
-                float excessPathLengthUncertaintyMeters) {
+        @NonNull public Builder setExcessPathLengthUncertaintyMeters(
+                @FloatRange(from = 0.0f) float excessPathLengthUncertaintyMeters) {
             mExcessPathLengthUncertaintyMeters = excessPathLengthUncertaintyMeters;
             mSingleSatCorrectionFlags =
                     (byte) (mSingleSatCorrectionFlags | HAS_EXCESS_PATH_LENGTH_UNC_MASK);
@@ -348,15 +378,20 @@
         }
 
         /** Sets the reflecting plane information */
-        public Builder setReflectingPlane(GnssReflectingPlane reflectingPlane) {
+        @NonNull public Builder setReflectingPlane(@Nullable GnssReflectingPlane reflectingPlane) {
             mReflectingPlane = reflectingPlane;
-            mSingleSatCorrectionFlags =
-                    (byte) (mSingleSatCorrectionFlags | HAS_REFLECTING_PLANE_MASK);
+            if (reflectingPlane != null) {
+                mSingleSatCorrectionFlags =
+                        (byte) (mSingleSatCorrectionFlags | HAS_REFLECTING_PLANE_MASK);
+            } else {
+                mSingleSatCorrectionFlags =
+                        (byte) (mSingleSatCorrectionFlags & ~HAS_REFLECTING_PLANE_MASK);
+            }
             return this;
         }
 
         /** Builds a {@link GnssSingleSatCorrection} instance as specified by this builder. */
-        public GnssSingleSatCorrection build() {
+        @NonNull public GnssSingleSatCorrection build() {
             return new GnssSingleSatCorrection(this);
         }
     }
diff --git a/location/java/android/location/Location.java b/location/java/android/location/Location.java
index 17e2509..673b411 100644
--- a/location/java/android/location/Location.java
+++ b/location/java/android/location/Location.java
@@ -113,6 +113,10 @@
      * Bit mask for mFieldsMask indicating the presence of mBearingAccuracy.
      */
     private static final int HAS_BEARING_ACCURACY_MASK = 128;
+    /**
+     * Bit mask for mFieldsMask indicating the presence of mElapsedRealtimeUncertaintyNanos.
+     */
+    private static final int HAS_ELAPSED_REALTIME_UNCERTAINTY_MASK = 256;
 
     // Cached data to make bearing/distance computations more efficient for the case
     // where distanceTo and bearingTo are called in sequence.  Assume this typically happens
@@ -130,6 +134,9 @@
     private long mTime = 0;
     @UnsupportedAppUsage
     private long mElapsedRealtimeNanos = 0;
+    // Estimate of the relative precision of the alignment of this SystemClock
+    // timestamp, with the reported measurements in nanoseconds (68% confidence).
+    private long mElapsedRealtimeUncertaintyNanos = 0;
     private double mLatitude = 0.0;
     private double mLongitude = 0.0;
     private double mAltitude = 0.0f;
@@ -143,7 +150,7 @@
     private Bundle mExtras = null;
 
     // A bitmask of fields present in this object (see HAS_* constants defined above).
-    private byte mFieldsMask = 0;
+    private int mFieldsMask = 0;
 
     /**
      * Construct a new Location with a named provider.
@@ -171,6 +178,7 @@
         mProvider = l.mProvider;
         mTime = l.mTime;
         mElapsedRealtimeNanos = l.mElapsedRealtimeNanos;
+        mElapsedRealtimeUncertaintyNanos = l.mElapsedRealtimeUncertaintyNanos;
         mFieldsMask = l.mFieldsMask;
         mLatitude = l.mLatitude;
         mLongitude = l.mLongitude;
@@ -191,6 +199,7 @@
         mProvider = null;
         mTime = 0;
         mElapsedRealtimeNanos = 0;
+        mElapsedRealtimeUncertaintyNanos = 0;
         mFieldsMask = 0;
         mLatitude = 0;
         mLongitude = 0;
@@ -586,6 +595,37 @@
     }
 
     /**
+     * Get estimate of the relative precision of the alignment of the
+     * ElapsedRealtimeNanos timestamp, with the reported measurements in
+     * nanoseconds (68% confidence).
+     *
+     * @return uncertainty of elapsed real-time of fix, in nanoseconds.
+     */
+    public long getElapsedRealtimeUncertaintyNanos() {
+        return mElapsedRealtimeUncertaintyNanos;
+    }
+
+    /**
+     * Set estimate of the relative precision of the alignment of the
+     * ElapsedRealtimeNanos timestamp, with the reported measurements in
+     * nanoseconds (68% confidence).
+     *
+     * @param time uncertainty of the elapsed real-time of fix, in nanoseconds.
+     */
+    public void setElapsedRealtimeUncertaintyNanos(long time) {
+        mElapsedRealtimeUncertaintyNanos = time;
+        mFieldsMask |= HAS_ELAPSED_REALTIME_UNCERTAINTY_MASK;
+    }
+
+    /**
+     * True if this location has a elapsed realtime accuracy.
+     */
+    public boolean hasElapsedRealtimeUncertaintyNanos() {
+        return (mFieldsMask & HAS_ELAPSED_REALTIME_UNCERTAINTY_MASK) != 0;
+    }
+
+
+    /**
      * Get the latitude, in degrees.
      *
      * <p>All locations generated by the {@link LocationManager}
@@ -1062,6 +1102,10 @@
             s.append(" et=");
             TimeUtils.formatDuration(mElapsedRealtimeNanos / 1000000L, s);
         }
+        if (hasElapsedRealtimeUncertaintyNanos()) {
+            s.append(" etAcc=");
+            TimeUtils.formatDuration(mElapsedRealtimeUncertaintyNanos / 1000000L, s);
+        }
         if (hasAltitude()) s.append(" alt=").append(mAltitude);
         if (hasSpeed()) s.append(" vel=").append(mSpeed);
         if (hasBearing()) s.append(" bear=").append(mBearing);
@@ -1092,7 +1136,8 @@
             Location l = new Location(provider);
             l.mTime = in.readLong();
             l.mElapsedRealtimeNanos = in.readLong();
-            l.mFieldsMask = in.readByte();
+            l.mElapsedRealtimeUncertaintyNanos = in.readLong();
+            l.mFieldsMask = in.readInt();
             l.mLatitude = in.readDouble();
             l.mLongitude = in.readDouble();
             l.mAltitude = in.readDouble();
@@ -1122,7 +1167,8 @@
         parcel.writeString(mProvider);
         parcel.writeLong(mTime);
         parcel.writeLong(mElapsedRealtimeNanos);
-        parcel.writeByte(mFieldsMask);
+        parcel.writeLong(mElapsedRealtimeUncertaintyNanos);
+        parcel.writeInt(mFieldsMask);
         parcel.writeDouble(mLatitude);
         parcel.writeDouble(mLongitude);
         parcel.writeDouble(mAltitude);
diff --git a/location/java/android/location/LocationManager.java b/location/java/android/location/LocationManager.java
index 6828c59..050b2ec 100644
--- a/location/java/android/location/LocationManager.java
+++ b/location/java/android/location/LocationManager.java
@@ -44,12 +44,12 @@
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.provider.Settings;
+import android.util.ArrayMap;
 import android.util.Log;
 
 import com.android.internal.location.ProviderProperties;
 
 import java.util.ArrayList;
-import java.util.HashMap;
 import java.util.List;
 
 /**
@@ -78,14 +78,10 @@
     private final GnssMeasurementCallbackTransport mGnssMeasurementCallbackTransport;
     private final GnssNavigationMessageCallbackTransport mGnssNavigationMessageCallbackTransport;
     private final BatchedLocationCallbackTransport mBatchedLocationCallbackTransport;
-    private final HashMap<GpsStatus.Listener, GnssStatusListenerTransport> mGpsStatusListeners =
-            new HashMap<>();
-    private final HashMap<GpsStatus.NmeaListener, GnssStatusListenerTransport> mGpsNmeaListeners =
-            new HashMap<>();
-    private final HashMap<GnssStatus.Callback, GnssStatusListenerTransport> mGnssStatusListeners =
-            new HashMap<>();
-    private final HashMap<OnNmeaMessageListener, GnssStatusListenerTransport> mGnssNmeaListeners =
-            new HashMap<>();
+    private final ArrayMap<GnssStatus.Callback, GnssStatusListenerTransport> mGnssStatusListeners =
+            new ArrayMap<>();
+    private final ArrayMap<OnNmeaMessageListener, GnssStatusListenerTransport> mGnssNmeaListeners =
+            new ArrayMap<>();
     // volatile + GnssStatus final-fields pattern to avoid a partially published object
     private volatile GnssStatus mGnssStatus;
     private int mTimeToFirstFix;
@@ -170,23 +166,22 @@
     public static final String KEY_LOCATION_CHANGED = "location";
 
     /**
-     * Broadcast intent action indicating that the GPS has either been
-     * enabled or disabled. An intent extra provides this state as a boolean,
-     * where {@code true} means enabled.
-     * @see #EXTRA_GPS_ENABLED
-     *
-     * @hide
-     */
-    public static final String GPS_ENABLED_CHANGE_ACTION =
-        "android.location.GPS_ENABLED_CHANGE";
-
-    /**
      * Broadcast intent action when the set of enabled location providers changes. To check the
-     * status of a provider, use {@link #isProviderEnabled(String)}.
+     * status of a provider, use {@link #isProviderEnabled(String)}. Depending on API level, may
+     * include a string intent extra, {@link #EXTRA_PROVIDER_NAME}, with the name of the provider
+     * whose state has changed. See {@link #EXTRA_PROVIDER_NAME} for the supported API level.
+     *
+     * @see #EXTRA_PROVIDER_NAME
      */
     public static final String PROVIDERS_CHANGED_ACTION = "android.location.PROVIDERS_CHANGED";
 
     /**
+     * Intent extra included with {@link #PROVIDERS_CHANGED_ACTION} broadcasts, containing the name
+     * of the location provider that has changed, to be used with location provider APIs.
+     */
+    public static final String EXTRA_PROVIDER_NAME = "android.location.extra.PROVIDER_NAME";
+
+    /**
      * Broadcast intent action when the device location mode changes. To check the location mode,
      * use {@link #isLocationEnabled()}.
      */
@@ -206,26 +201,6 @@
     public static final String MODE_CHANGING_ACTION = "com.android.settings.location.MODE_CHANGING";
 
     /**
-     * Broadcast intent action indicating that the GPS has either started or
-     * stopped receiving GPS fixes. An intent extra provides this state as a
-     * boolean, where {@code true} means that the GPS is actively receiving fixes.
-     * @see #EXTRA_GPS_ENABLED
-     *
-     * @hide
-     */
-    public static final String GPS_FIX_CHANGE_ACTION =
-        "android.location.GPS_FIX_CHANGE";
-
-    /**
-     * The lookup key for a boolean that indicates whether GPS is enabled or
-     * disabled. {@code true} means GPS is enabled. Retrieve it with
-     * {@link android.content.Intent#getBooleanExtra(String,boolean)}.
-     *
-     * @hide
-     */
-    public static final String EXTRA_GPS_ENABLED = "enabled";
-
-    /**
      * Broadcast intent action indicating that a high power location requests
      * has either started or stopped being active.  The current state of
      * active location requests should be read from AppOpsManager using
@@ -293,8 +268,7 @@
             "com.android.settings.location.FOOTER_STRING";
 
     // Map from LocationListeners to their associated ListenerTransport objects
-    private final HashMap<LocationListener, ListenerTransport> mListeners =
-        new HashMap<LocationListener,ListenerTransport>();
+    private final ArrayMap<LocationListener, ListenerTransport> mListeners = new ArrayMap<>();
 
     private class ListenerTransport extends ILocationListener.Stub {
         private static final int TYPE_LOCATION_CHANGED = 1;
@@ -405,7 +379,7 @@
      * @hide
      */
     @TestApi
-    public String[] getBackgroundThrottlingWhitelist() {
+    public @NonNull String[] getBackgroundThrottlingWhitelist() {
         try {
             return mService.getBackgroundThrottlingWhitelist();
         } catch (RemoteException e) {
@@ -417,7 +391,7 @@
      * @hide
      */
     @TestApi
-    public String[] getIgnoreSettingsWhitelist() {
+    public @NonNull String[] getIgnoreSettingsWhitelist() {
         try {
             return mService.getIgnoreSettingsWhitelist();
         } catch (RemoteException e) {
@@ -431,7 +405,7 @@
      * right way to create an instance of this class is using the
      * factory Context.getSystemService.
      */
-    public LocationManager(Context context, ILocationManager service) {
+    public LocationManager(@NonNull Context context, @NonNull ILocationManager service) {
         mService = service;
         mContext = context;
         mGnssMeasurementCallbackTransport =
@@ -454,7 +428,7 @@
      *
      * @return list of Strings containing names of the provider
      */
-    public List<String> getAllProviders() {
+    public @NonNull List<String> getAllProviders() {
         try {
             return mService.getAllProviders();
         } catch (RemoteException e) {
@@ -469,7 +443,7 @@
      * enabled are returned.
      * @return list of Strings containing names of the providers
      */
-    public List<String> getProviders(boolean enabledOnly) {
+    public @NonNull List<String> getProviders(boolean enabledOnly) {
         try {
             return mService.getProviders(null, enabledOnly);
         } catch (RemoteException e) {
@@ -488,7 +462,7 @@
      * @throws SecurityException if the caller is not permitted to access the
      * given provider.
      */
-    public LocationProvider getProvider(String name) {
+    public @Nullable LocationProvider getProvider(@NonNull String name) {
         checkProvider(name);
         try {
             ProviderProperties properties = mService.getProviderProperties(name);
@@ -511,7 +485,7 @@
      * enabled are returned.
      * @return list of Strings containing names of the providers
      */
-    public List<String> getProviders(Criteria criteria, boolean enabledOnly) {
+    public @NonNull List<String> getProviders(@NonNull Criteria criteria, boolean enabledOnly) {
         checkCriteria(criteria);
         try {
             return mService.getProviders(criteria, enabledOnly);
@@ -542,7 +516,7 @@
      * @param enabledOnly if true then only a provider that is currently enabled is returned
      * @return name of the provider that best matches the requirements
      */
-    public String getBestProvider(Criteria criteria, boolean enabledOnly) {
+    public @Nullable String getBestProvider(@NonNull Criteria criteria, boolean enabledOnly) {
         checkCriteria(criteria);
         try {
             return mService.getBestProvider(criteria, enabledOnly);
@@ -572,8 +546,8 @@
      * @throws SecurityException if no suitable permission is present
      */
     @RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
-    public void requestLocationUpdates(String provider, long minTime, float minDistance,
-            LocationListener listener) {
+    public void requestLocationUpdates(@NonNull String provider, long minTime, float minDistance,
+            @NonNull LocationListener listener) {
         checkProvider(provider);
         checkListener(listener);
 
@@ -604,8 +578,8 @@
      * @throws SecurityException if no suitable permission is present
      */
     @RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
-    public void requestLocationUpdates(String provider, long minTime, float minDistance,
-            LocationListener listener, Looper looper) {
+    public void requestLocationUpdates(@NonNull String provider, long minTime, float minDistance,
+            @NonNull LocationListener listener, @Nullable Looper looper) {
         checkProvider(provider);
         checkListener(listener);
 
@@ -637,8 +611,8 @@
      * @throws SecurityException if no suitable permission is present
      */
     @RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
-    public void requestLocationUpdates(long minTime, float minDistance, Criteria criteria,
-            LocationListener listener, Looper looper) {
+    public void requestLocationUpdates(long minTime, float minDistance, @NonNull Criteria criteria,
+            @NonNull LocationListener listener, @Nullable Looper looper) {
         checkCriteria(criteria);
         checkListener(listener);
 
@@ -665,8 +639,8 @@
      * @throws SecurityException if no suitable permission is present
      */
     @RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
-    public void requestLocationUpdates(String provider, long minTime, float minDistance,
-            PendingIntent intent) {
+    public void requestLocationUpdates(@NonNull String provider, long minTime, float minDistance,
+            @NonNull PendingIntent intent) {
         checkProvider(provider);
         checkPendingIntent(intent);
 
@@ -772,8 +746,8 @@
      * @throws SecurityException if no suitable permission is present
      */
     @RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
-    public void requestLocationUpdates(long minTime, float minDistance, Criteria criteria,
-            PendingIntent intent) {
+    public void requestLocationUpdates(long minTime, float minDistance, @NonNull Criteria criteria,
+            @NonNull PendingIntent intent) {
         checkCriteria(criteria);
         checkPendingIntent(intent);
 
@@ -802,7 +776,8 @@
      * @throws SecurityException if no suitable permission is present
      */
     @RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
-    public void requestSingleUpdate(String provider, LocationListener listener, Looper looper) {
+    public void requestSingleUpdate(
+            @NonNull String provider, @NonNull LocationListener listener, @Nullable Looper looper) {
         checkProvider(provider);
         checkListener(listener);
 
@@ -832,7 +807,10 @@
      * @throws SecurityException if no suitable permission is present
      */
     @RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
-    public void requestSingleUpdate(Criteria criteria, LocationListener listener, Looper looper) {
+    public void requestSingleUpdate(
+            @NonNull Criteria criteria,
+            @NonNull LocationListener listener,
+            @Nullable Looper looper) {
         checkCriteria(criteria);
         checkListener(listener);
 
@@ -855,7 +833,7 @@
      * @throws SecurityException if no suitable permission is present
      */
     @RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
-    public void requestSingleUpdate(String provider, PendingIntent intent) {
+    public void requestSingleUpdate(@NonNull String provider, @NonNull PendingIntent intent) {
         checkProvider(provider);
         checkPendingIntent(intent);
 
@@ -879,7 +857,7 @@
      * @throws SecurityException if no suitable permission is present
      */
     @RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
-    public void requestSingleUpdate(Criteria criteria, PendingIntent intent) {
+    public void requestSingleUpdate(@NonNull Criteria criteria, @NonNull PendingIntent intent) {
         checkCriteria(criteria);
         checkPendingIntent(intent);
 
@@ -948,8 +926,10 @@
     @SystemApi
     @TestApi
     @RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
-    public void requestLocationUpdates(LocationRequest request, LocationListener listener,
-            Looper looper) {
+    public void requestLocationUpdates(
+            @NonNull LocationRequest request,
+            @NonNull LocationListener listener,
+            @Nullable Looper looper) {
         checkListener(listener);
         requestLocationUpdates(request, listener, looper, null);
     }
@@ -978,7 +958,8 @@
     @SystemApi
     @TestApi
     @RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
-    public void requestLocationUpdates(LocationRequest request, PendingIntent intent) {
+    public void requestLocationUpdates(
+            @NonNull LocationRequest request, @NonNull PendingIntent intent) {
         checkPendingIntent(intent);
         requestLocationUpdates(request, null, null, intent);
     }
@@ -1003,7 +984,7 @@
      * @hide
      */
     @RequiresPermission(allOf = {LOCATION_HARDWARE, ACCESS_FINE_LOCATION})
-    public boolean injectLocation(Location newLocation) {
+    public boolean injectLocation(@NonNull Location newLocation) {
         try {
             return mService.injectLocation(newLocation);
         } catch (RemoteException e) {
@@ -1048,7 +1029,7 @@
      * @param listener listener object that no longer needs location updates
      * @throws IllegalArgumentException if listener is null
      */
-    public void removeUpdates(LocationListener listener) {
+    public void removeUpdates(@NonNull LocationListener listener) {
         checkListener(listener);
         String packageName = mContext.getPackageName();
 
@@ -1073,7 +1054,7 @@
      * @param intent pending intent object that no longer needs location updates
      * @throws IllegalArgumentException if intent is null
      */
-    public void removeUpdates(PendingIntent intent) {
+    public void removeUpdates(@NonNull PendingIntent intent) {
         checkPendingIntent(intent);
         String packageName = mContext.getPackageName();
 
@@ -1133,7 +1114,7 @@
      */
     @RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
     public void addProximityAlert(double latitude, double longitude, float radius, long expiration,
-            PendingIntent intent) {
+            @NonNull PendingIntent intent) {
         checkPendingIntent(intent);
         if (expiration < 0) expiration = Long.MAX_VALUE;
 
@@ -1183,7 +1164,10 @@
      * @hide
      */
     @RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
-    public void addGeofence(LocationRequest request, Geofence fence, PendingIntent intent) {
+    public void addGeofence(
+            @NonNull LocationRequest request,
+            @NonNull Geofence fence,
+            @NonNull PendingIntent intent) {
         checkPendingIntent(intent);
         checkGeofence(fence);
 
@@ -1210,7 +1194,7 @@
      * @throws SecurityException if {@link android.Manifest.permission#ACCESS_FINE_LOCATION}
      * permission is not present
      */
-    public void removeProximityAlert(PendingIntent intent) {
+    public void removeProximityAlert(@NonNull PendingIntent intent) {
         checkPendingIntent(intent);
         String packageName = mContext.getPackageName();
 
@@ -1237,7 +1221,7 @@
      *
      * @hide
      */
-    public void removeGeofence(Geofence fence, PendingIntent intent) {
+    public void removeGeofence(@NonNull Geofence fence, @NonNull PendingIntent intent) {
         checkPendingIntent(intent);
         checkGeofence(fence);
         String packageName = mContext.getPackageName();
@@ -1260,7 +1244,7 @@
      *
      * @hide
      */
-    public void removeAllGeofences(PendingIntent intent) {
+    public void removeAllGeofences(@NonNull PendingIntent intent) {
         checkPendingIntent(intent);
         String packageName = mContext.getPackageName();
 
@@ -1290,7 +1274,7 @@
      * @hide
      */
     @SystemApi
-    public boolean isLocationEnabledForUser(UserHandle userHandle) {
+    public boolean isLocationEnabledForUser(@NonNull UserHandle userHandle) {
         try {
             return mService.isLocationEnabledForUser(userHandle.getIdentifier());
         } catch (RemoteException e) {
@@ -1309,7 +1293,7 @@
     @SystemApi
     @TestApi
     @RequiresPermission(WRITE_SECURE_SETTINGS)
-    public void setLocationEnabledForUser(boolean enabled, UserHandle userHandle) {
+    public void setLocationEnabledForUser(boolean enabled, @NonNull UserHandle userHandle) {
         Settings.Secure.putIntForUser(
                 mContext.getContentResolver(),
                 Settings.Secure.LOCATION_MODE,
@@ -1332,7 +1316,7 @@
      *
      * @throws IllegalArgumentException if provider is null
      */
-    public boolean isProviderEnabled(String provider) {
+    public boolean isProviderEnabled(@NonNull String provider) {
         return isProviderEnabledForUser(provider, Process.myUserHandle());
     }
 
@@ -1353,7 +1337,8 @@
      * @hide
      */
     @SystemApi
-    public boolean isProviderEnabledForUser(String provider, UserHandle userHandle) {
+    public boolean isProviderEnabledForUser(
+            @NonNull String provider, @NonNull UserHandle userHandle) {
         checkProvider(provider);
 
         try {
@@ -1382,13 +1367,13 @@
     @SystemApi
     @RequiresPermission(WRITE_SECURE_SETTINGS)
     public boolean setProviderEnabledForUser(
-            String provider, boolean enabled, UserHandle userHandle) {
+            @NonNull String provider, boolean enabled, @NonNull UserHandle userHandle) {
         checkProvider(provider);
 
-        return Settings.Secure.setLocationProviderEnabledForUser(
+        return Settings.Secure.putStringForUser(
                 mContext.getContentResolver(),
-                provider,
-                enabled,
+                Settings.Secure.LOCATION_PROVIDERS_ALLOWED,
+                (enabled ? "+" : "-") + provider,
                 userHandle.getIdentifier());
     }
 
@@ -1406,6 +1391,7 @@
      *
      * @hide
      */
+    @Nullable
     public Location getLastLocation() {
         String packageName = mContext.getPackageName();
 
@@ -1434,7 +1420,8 @@
      * @throws IllegalArgumentException if provider is null or doesn't exist
      */
     @RequiresPermission(anyOf = {ACCESS_COARSE_LOCATION, ACCESS_FINE_LOCATION})
-    public Location getLastKnownLocation(String provider) {
+    @Nullable
+    public Location getLastKnownLocation(@NonNull String provider) {
         checkProvider(provider);
         String packageName = mContext.getPackageName();
         LocationRequest request = LocationRequest.createFromDeprecatedProvider(
@@ -1447,10 +1434,6 @@
         }
     }
 
-    // --- Mock provider support ---
-    // TODO: It would be fantastic to deprecate mock providers entirely, and replace
-    // with something closer to LocationProviderBase.java
-
     /**
      * Creates a mock location provider and adds it to the set of active providers.
      *
@@ -1461,7 +1444,8 @@
      * allowed} for your app.
      * @throws IllegalArgumentException if a provider with the given name already exists
      */
-    public void addTestProvider(String name, boolean requiresNetwork, boolean requiresSatellite,
+    public void addTestProvider(
+            @NonNull String name, boolean requiresNetwork, boolean requiresSatellite,
             boolean requiresCell, boolean hasMonetaryCost, boolean supportsAltitude,
             boolean supportsSpeed, boolean supportsBearing, int powerRequirement, int accuracy) {
         ProviderProperties properties = new ProviderProperties(requiresNetwork,
@@ -1488,7 +1472,7 @@
      * allowed} for your app.
      * @throws IllegalArgumentException if no provider with the given name exists
      */
-    public void removeTestProvider(String provider) {
+    public void removeTestProvider(@NonNull String provider) {
         try {
             mService.removeTestProvider(provider, mContext.getOpPackageName());
         } catch (RemoteException e) {
@@ -1512,7 +1496,7 @@
      * @throws IllegalArgumentException if no provider with the given name exists
      * @throws IllegalArgumentException if the location is incomplete
      */
-    public void setTestProviderLocation(String provider, Location loc) {
+    public void setTestProviderLocation(@NonNull String provider, @NonNull Location loc) {
         if (!loc.isComplete()) {
             IllegalArgumentException e = new IllegalArgumentException(
                     "Incomplete location object, missing timestamp or accuracy? " + loc);
@@ -1546,7 +1530,7 @@
      * @deprecated This function has always been a no-op, and may be removed in the future.
      */
     @Deprecated
-    public void clearTestProviderLocation(String provider) {}
+    public void clearTestProviderLocation(@NonNull String provider) {}
 
     /**
      * Sets a mock enabled value for the given provider.  This value will be used in place
@@ -1560,7 +1544,7 @@
      * allowed} for your app.
      * @throws IllegalArgumentException if no provider with the given name exists
      */
-    public void setTestProviderEnabled(String provider, boolean enabled) {
+    public void setTestProviderEnabled(@NonNull String provider, boolean enabled) {
         try {
             mService.setTestProviderEnabled(provider, enabled, mContext.getOpPackageName());
         } catch (RemoteException e) {
@@ -1581,7 +1565,7 @@
      * @deprecated Use {@link #setTestProviderEnabled(String, boolean)} instead.
      */
     @Deprecated
-    public void clearTestProviderEnabled(String provider) {
+    public void clearTestProviderEnabled(@NonNull String provider) {
         setTestProviderEnabled(provider, false);
     }
 
@@ -1601,7 +1585,8 @@
      * @deprecated This method has no effect.
      */
     @Deprecated
-    public void setTestProviderStatus(String provider, int status, Bundle extras, long updateTime) {
+    public void setTestProviderStatus(
+            @NonNull String provider, int status, @Nullable Bundle extras, long updateTime) {
         try {
             mService.setTestProviderStatus(provider, status, extras, updateTime,
                     mContext.getOpPackageName());
@@ -1622,7 +1607,7 @@
      * @deprecated This method has no effect.
      */
     @Deprecated
-    public void clearTestProviderStatus(String provider) {
+    public void clearTestProviderStatus(@NonNull String provider) {
         setTestProviderStatus(provider, LocationProvider.AVAILABLE, null, 0L);
     }
 
@@ -1648,13 +1633,11 @@
     // This class is used to send Gnss status events to the client's specific thread.
     private class GnssStatusListenerTransport extends IGnssStatusListener.Stub {
 
-        private final GpsStatus.Listener mGpsListener;
-        private final GpsStatus.NmeaListener mGpsNmeaListener;
         private final GnssStatus.Callback mGnssCallback;
         private final OnNmeaMessageListener mGnssNmeaListener;
 
         private class GnssHandler extends Handler {
-            public GnssHandler(Handler handler) {
+            GnssHandler(Handler handler) {
                 super(handler != null ? handler.getLooper() : Looper.myLooper());
             }
 
@@ -1663,24 +1646,22 @@
                 switch (msg.what) {
                     case NMEA_RECEIVED:
                         synchronized (mNmeaBuffer) {
-                            int length = mNmeaBuffer.size();
-                            for (int i = 0; i < length; i++) {
-                                Nmea nmea = mNmeaBuffer.get(i);
+                            for (Nmea nmea : mNmeaBuffer) {
                                 mGnssNmeaListener.onNmeaMessage(nmea.mNmea, nmea.mTimestamp);
                             }
                             mNmeaBuffer.clear();
                         }
                         break;
-                    case GpsStatus.GPS_EVENT_STARTED:
+                    case GNSS_EVENT_STARTED:
                         mGnssCallback.onStarted();
                         break;
-                    case GpsStatus.GPS_EVENT_STOPPED:
+                    case GNSS_EVENT_STOPPED:
                         mGnssCallback.onStopped();
                         break;
-                    case GpsStatus.GPS_EVENT_FIRST_FIX:
+                    case GNSS_EVENT_FIRST_FIX:
                         mGnssCallback.onFirstFix(mTimeToFirstFix);
                         break;
-                    case GpsStatus.GPS_EVENT_SATELLITE_STATUS:
+                    case GNSS_EVENT_SATELLITE_STATUS:
                         mGnssCallback.onSatelliteStatusChanged(mGnssStatus);
                         break;
                     default:
@@ -1691,8 +1672,11 @@
 
         private final Handler mGnssHandler;
 
-        // This must not equal any of the GpsStatus event IDs
-        private static final int NMEA_RECEIVED = 1000;
+        private static final int NMEA_RECEIVED = 1;
+        private static final int GNSS_EVENT_STARTED = 2;
+        private static final int GNSS_EVENT_STOPPED = 3;
+        private static final int GNSS_EVENT_FIRST_FIX = 4;
+        private static final int GNSS_EVENT_SATELLITE_STATUS = 5;
 
         private class Nmea {
             long mTimestamp;
@@ -1705,98 +1689,31 @@
         }
         private final ArrayList<Nmea> mNmeaBuffer;
 
-        GnssStatusListenerTransport(GpsStatus.Listener listener) {
-            this(listener, null);
-        }
-
-        GnssStatusListenerTransport(GpsStatus.Listener listener, Handler handler) {
-            mGpsListener = listener;
-            mGnssHandler = new GnssHandler(handler);
-            mGpsNmeaListener = null;
-            mNmeaBuffer = null;
-            mGnssCallback = mGpsListener != null ? new GnssStatus.Callback() {
-                @Override
-                public void onStarted() {
-                    mGpsListener.onGpsStatusChanged(GpsStatus.GPS_EVENT_STARTED);
-                }
-
-                @Override
-                public void onStopped() {
-                    mGpsListener.onGpsStatusChanged(GpsStatus.GPS_EVENT_STOPPED);
-                }
-
-                @Override
-                public void onFirstFix(int ttff) {
-                    mGpsListener.onGpsStatusChanged(GpsStatus.GPS_EVENT_FIRST_FIX);
-                }
-
-                @Override
-                public void onSatelliteStatusChanged(GnssStatus status) {
-                    mGpsListener.onGpsStatusChanged(GpsStatus.GPS_EVENT_SATELLITE_STATUS);
-                }
-            } : null;
-            mGnssNmeaListener = null;
-        }
-
-        GnssStatusListenerTransport(GpsStatus.NmeaListener listener) {
-            this(listener, null);
-        }
-
-        GnssStatusListenerTransport(GpsStatus.NmeaListener listener, Handler handler) {
-            mGpsListener = null;
-            mGnssHandler = new GnssHandler(handler);
-            mGpsNmeaListener = listener;
-            mNmeaBuffer = new ArrayList<Nmea>();
-            mGnssCallback = null;
-            mGnssNmeaListener = mGpsNmeaListener != null ? new OnNmeaMessageListener() {
-                @Override
-                public void onNmeaMessage(String nmea, long timestamp) {
-                    mGpsNmeaListener.onNmeaReceived(timestamp, nmea);
-                }
-            } : null;
-        }
-
-        GnssStatusListenerTransport(GnssStatus.Callback callback) {
-            this(callback, null);
-        }
-
         GnssStatusListenerTransport(GnssStatus.Callback callback, Handler handler) {
             mGnssCallback = callback;
             mGnssHandler = new GnssHandler(handler);
             mGnssNmeaListener = null;
             mNmeaBuffer = null;
-            mGpsListener = null;
-            mGpsNmeaListener = null;
-        }
-
-        GnssStatusListenerTransport(OnNmeaMessageListener listener) {
-            this(listener, null);
         }
 
         GnssStatusListenerTransport(OnNmeaMessageListener listener, Handler handler) {
             mGnssCallback = null;
             mGnssHandler = new GnssHandler(handler);
             mGnssNmeaListener = listener;
-            mGpsListener = null;
-            mGpsNmeaListener = null;
-            mNmeaBuffer = new ArrayList<Nmea>();
+            mNmeaBuffer = new ArrayList<>();
         }
 
         @Override
         public void onGnssStarted() {
             if (mGnssCallback != null) {
-                Message msg = Message.obtain();
-                msg.what = GpsStatus.GPS_EVENT_STARTED;
-                mGnssHandler.sendMessage(msg);
+                mGnssHandler.obtainMessage(GNSS_EVENT_STARTED).sendToTarget();
             }
         }
 
         @Override
         public void onGnssStopped() {
             if (mGnssCallback != null) {
-                Message msg = Message.obtain();
-                msg.what = GpsStatus.GPS_EVENT_STOPPED;
-                mGnssHandler.sendMessage(msg);
+                mGnssHandler.obtainMessage(GNSS_EVENT_STOPPED).sendToTarget();
             }
         }
 
@@ -1804,9 +1721,7 @@
         public void onFirstFix(int ttff) {
             if (mGnssCallback != null) {
                 mTimeToFirstFix = ttff;
-                Message msg = Message.obtain();
-                msg.what = GpsStatus.GPS_EVENT_FIRST_FIX;
-                mGnssHandler.sendMessage(msg);
+                mGnssHandler.obtainMessage(GNSS_EVENT_FIRST_FIX).sendToTarget();
             }
         }
 
@@ -1817,11 +1732,8 @@
                 mGnssStatus = new GnssStatus(svCount, prnWithFlags, cn0s, elevations, azimuths,
                         carrierFreqs);
 
-                Message msg = Message.obtain();
-                msg.what = GpsStatus.GPS_EVENT_SATELLITE_STATUS;
-                // remove any SV status messages already in the queue
-                mGnssHandler.removeMessages(GpsStatus.GPS_EVENT_SATELLITE_STATUS);
-                mGnssHandler.sendMessage(msg);
+                mGnssHandler.removeMessages(GNSS_EVENT_SATELLITE_STATUS);
+                mGnssHandler.obtainMessage(GNSS_EVENT_SATELLITE_STATUS).sendToTarget();
             }
         }
 
@@ -1831,11 +1743,9 @@
                 synchronized (mNmeaBuffer) {
                     mNmeaBuffer.add(new Nmea(timestamp, nmea));
                 }
-                Message msg = Message.obtain();
-                msg.what = NMEA_RECEIVED;
-                // remove any NMEA_RECEIVED messages already in the queue
+
                 mGnssHandler.removeMessages(NMEA_RECEIVED);
-                mGnssHandler.sendMessage(msg);
+                mGnssHandler.obtainMessage(NMEA_RECEIVED).sendToTarget();
             }
         }
     }
@@ -1853,23 +1763,7 @@
     @Deprecated
     @RequiresPermission(ACCESS_FINE_LOCATION)
     public boolean addGpsStatusListener(GpsStatus.Listener listener) {
-        boolean result;
-
-        if (mGpsStatusListeners.get(listener) != null) {
-            // listener is already registered
-            return true;
-        }
-        try {
-            GnssStatusListenerTransport transport = new GnssStatusListenerTransport(listener);
-            result = mService.registerGnssStatusCallback(transport, mContext.getPackageName());
-            if (result) {
-                mGpsStatusListeners.put(listener, transport);
-            }
-        } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
-        }
-
-        return result;
+        return false;
     }
 
     /**
@@ -1879,16 +1773,7 @@
      * @deprecated use {@link #unregisterGnssStatusCallback(GnssStatus.Callback)} instead.
      */
     @Deprecated
-    public void removeGpsStatusListener(GpsStatus.Listener listener) {
-        try {
-            GnssStatusListenerTransport transport = mGpsStatusListeners.remove(listener);
-            if (transport != null) {
-                mService.unregisterGnssStatusCallback(transport);
-            }
-        } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
-        }
-    }
+    public void removeGpsStatusListener(GpsStatus.Listener listener) {}
 
     /**
      * Registers a GNSS status callback.
@@ -1900,7 +1785,7 @@
      * @throws SecurityException if the ACCESS_FINE_LOCATION permission is not present
      */
     @RequiresPermission(ACCESS_FINE_LOCATION)
-    public boolean registerGnssStatusCallback(GnssStatus.Callback callback) {
+    public boolean registerGnssStatusCallback(@NonNull GnssStatus.Callback callback) {
         return registerGnssStatusCallback(callback, null);
     }
 
@@ -1915,7 +1800,8 @@
      * @throws SecurityException if the ACCESS_FINE_LOCATION permission is not present
      */
     @RequiresPermission(ACCESS_FINE_LOCATION)
-    public boolean registerGnssStatusCallback(GnssStatus.Callback callback, Handler handler) {
+    public boolean registerGnssStatusCallback(
+            @NonNull GnssStatus.Callback callback, @Nullable Handler handler) {
         boolean result;
         if (mGnssStatusListeners.get(callback) != null) {
             // listener is already registered
@@ -1940,7 +1826,7 @@
      *
      * @param callback GNSS status callback object to remove
      */
-    public void unregisterGnssStatusCallback(GnssStatus.Callback callback) {
+    public void unregisterGnssStatusCallback(@NonNull GnssStatus.Callback callback) {
         try {
             GnssStatusListenerTransport transport = mGnssStatusListeners.remove(callback);
             if (transport != null) {
@@ -1960,27 +1846,12 @@
      *
      * @throws SecurityException if the ACCESS_FINE_LOCATION permission is not present
      * @deprecated use {@link #addNmeaListener(OnNmeaMessageListener)} instead.
+     * @removed
      */
     @Deprecated
     @RequiresPermission(ACCESS_FINE_LOCATION)
     public boolean addNmeaListener(GpsStatus.NmeaListener listener) {
-        boolean result;
-
-        if (mGpsNmeaListeners.get(listener) != null) {
-            // listener is already registered
-            return true;
-        }
-        try {
-            GnssStatusListenerTransport transport = new GnssStatusListenerTransport(listener);
-            result = mService.registerGnssStatusCallback(transport, mContext.getPackageName());
-            if (result) {
-                mGpsNmeaListeners.put(listener, transport);
-            }
-        } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
-        }
-
-        return result;
+        return false;
     }
 
     /**
@@ -1988,18 +1859,10 @@
      *
      * @param listener a {@link GpsStatus.NmeaListener} object to remove
      * @deprecated use {@link #removeNmeaListener(OnNmeaMessageListener)} instead.
+     * @removed
      */
     @Deprecated
-    public void removeNmeaListener(GpsStatus.NmeaListener listener) {
-        try {
-            GnssStatusListenerTransport transport = mGpsNmeaListeners.remove(listener);
-            if (transport != null) {
-                mService.unregisterGnssStatusCallback(transport);
-            }
-        } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
-        }
-    }
+    public void removeNmeaListener(GpsStatus.NmeaListener listener) {}
 
     /**
      * Adds an NMEA listener.
@@ -2011,7 +1874,7 @@
      * @throws SecurityException if the ACCESS_FINE_LOCATION permission is not present
      */
     @RequiresPermission(ACCESS_FINE_LOCATION)
-    public boolean addNmeaListener(OnNmeaMessageListener listener) {
+    public boolean addNmeaListener(@NonNull OnNmeaMessageListener listener) {
         return addNmeaListener(listener, null);
     }
 
@@ -2026,10 +1889,11 @@
      * @throws SecurityException if the ACCESS_FINE_LOCATION permission is not present
      */
     @RequiresPermission(ACCESS_FINE_LOCATION)
-    public boolean addNmeaListener(OnNmeaMessageListener listener, Handler handler) {
+    public boolean addNmeaListener(
+            @NonNull OnNmeaMessageListener listener, @Nullable Handler handler) {
         boolean result;
 
-        if (mGpsNmeaListeners.get(listener) != null) {
+        if (mGnssNmeaListeners.get(listener) != null) {
             // listener is already registered
             return true;
         }
@@ -2052,7 +1916,7 @@
      *
      * @param listener a {@link OnNmeaMessageListener} object to remove
      */
-    public void removeNmeaListener(OnNmeaMessageListener listener) {
+    public void removeNmeaListener(@NonNull OnNmeaMessageListener listener) {
         try {
             GnssStatusListenerTransport transport = mGnssNmeaListeners.remove(listener);
             if (transport != null) {
@@ -2068,6 +1932,7 @@
      * Don't use it. Use {@link #registerGnssMeasurementsCallback} instead.
      * @hide
      * @deprecated Not supported anymore.
+     * @removed
      */
     @Deprecated
     @SystemApi
@@ -2083,7 +1948,8 @@
      * @return {@code true} if the callback was added successfully, {@code false} otherwise.
      */
     @RequiresPermission(ACCESS_FINE_LOCATION)
-    public boolean registerGnssMeasurementsCallback(GnssMeasurementsEvent.Callback callback) {
+    public boolean registerGnssMeasurementsCallback(
+            @NonNull GnssMeasurementsEvent.Callback callback) {
         return registerGnssMeasurementsCallback(callback, null);
     }
 
@@ -2095,8 +1961,8 @@
      * @return {@code true} if the callback was added successfully, {@code false} otherwise.
      */
     @RequiresPermission(ACCESS_FINE_LOCATION)
-    public boolean registerGnssMeasurementsCallback(GnssMeasurementsEvent.Callback callback,
-            Handler handler) {
+    public boolean registerGnssMeasurementsCallback(
+            @NonNull GnssMeasurementsEvent.Callback callback, @Nullable Handler handler) {
         return mGnssMeasurementCallbackTransport.add(callback, handler);
     }
 
@@ -2120,15 +1986,12 @@
     }
 
     /**
-     * Returns an integer with flags representing the capabilities of the GNSS chipset.
+     * Returns the integer capability flags of the GNSS chipset as defined in {@code
+     * IGnssCallback.hal}
      *
      * @hide
      */
     @SystemApi
-    /**
-     * Returns the integer capability flags of the GNSS chipset as defined in {@code
-     * IGnssCallback.hal}
-     */
     public int getGnssCapabilities() {
         try {
             return mGnssMeasurementCallbackTransport.getGnssCapabilities();
@@ -2144,6 +2007,7 @@
      * @hide
      * @deprecated use {@link #unregisterGnssMeasurementsCallback(GnssMeasurementsEvent.Callback)}
      *     instead.
+     * @removed
      */
     @Deprecated
     @SystemApi
@@ -2155,7 +2019,8 @@
      *
      * @param callback a {@link GnssMeasurementsEvent.Callback} object to remove.
      */
-    public void unregisterGnssMeasurementsCallback(GnssMeasurementsEvent.Callback callback) {
+    public void unregisterGnssMeasurementsCallback(
+            @NonNull GnssMeasurementsEvent.Callback callback) {
         mGnssMeasurementCallbackTransport.remove(callback);
     }
 
@@ -2164,6 +2029,7 @@
      * Don't use it. Use {@link #registerGnssNavigationMessageCallback} instead.
      * @hide
      * @deprecated Not supported anymore.
+     * @removed
      */
     @Deprecated
     @SystemApi
@@ -2179,12 +2045,12 @@
      * @deprecated use
      * {@link #unregisterGnssNavigationMessageCallback(GnssNavigationMessage.Callback)}
      * instead
+     * @removed
      */
     @Deprecated
     @SystemApi
     @SuppressLint("Doclava125")
-    public void removeGpsNavigationMessageListener(GpsNavigationMessageEvent.Listener listener) {
-    }
+    public void removeGpsNavigationMessageListener(GpsNavigationMessageEvent.Listener listener) {}
 
     /**
      * Registers a GNSS Navigation Message callback.
@@ -2193,7 +2059,7 @@
      * @return {@code true} if the callback was added successfully, {@code false} otherwise.
      */
     public boolean registerGnssNavigationMessageCallback(
-            GnssNavigationMessage.Callback callback) {
+            @NonNull GnssNavigationMessage.Callback callback) {
         return registerGnssNavigationMessageCallback(callback, null);
     }
 
@@ -2206,7 +2072,7 @@
      */
     @RequiresPermission(ACCESS_FINE_LOCATION)
     public boolean registerGnssNavigationMessageCallback(
-            GnssNavigationMessage.Callback callback, Handler handler) {
+            @NonNull GnssNavigationMessage.Callback callback, @Nullable Handler handler) {
         return mGnssNavigationMessageCallbackTransport.add(callback, handler);
     }
 
@@ -2216,7 +2082,7 @@
      * @param callback a {@link GnssNavigationMessage.Callback} object to remove.
      */
     public void unregisterGnssNavigationMessageCallback(
-            GnssNavigationMessage.Callback callback) {
+            @NonNull GnssNavigationMessage.Callback callback) {
         mGnssNavigationMessageCallbackTransport.remove(callback);
     }
 
@@ -2233,16 +2099,8 @@
      */
     @Deprecated
     @RequiresPermission(ACCESS_FINE_LOCATION)
-    public GpsStatus getGpsStatus(GpsStatus status) {
-        if (status == null) {
-            status = new GpsStatus();
-        }
-        // When mGnssStatus is null, that means that this method is called outside
-        // onGpsStatusChanged().  Return an empty status to maintain backwards compatibility.
-        if (mGnssStatus != null) {
-            status.setStatus(mGnssStatus, mTimeToFirstFix);
-        }
-        return status;
+    public @Nullable GpsStatus getGpsStatus(@Nullable GpsStatus status) {
+        return null;
     }
 
     /**
@@ -2319,7 +2177,7 @@
     @SystemApi
     @RequiresPermission(Manifest.permission.LOCATION_HARDWARE)
     public boolean registerGnssBatchedLocationCallback(long periodNanos, boolean wakeOnFifoFull,
-                                  BatchedLocationCallback callback, Handler handler) {
+            @NonNull BatchedLocationCallback callback, @Nullable Handler handler) {
         mBatchedLocationCallbackTransport.add(callback, handler);
 
         try {
@@ -2357,7 +2215,8 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.LOCATION_HARDWARE)
-    public boolean unregisterGnssBatchedLocationCallback(BatchedLocationCallback callback) {
+    public boolean unregisterGnssBatchedLocationCallback(
+            @NonNull BatchedLocationCallback callback) {
 
         mBatchedLocationCallbackTransport.remove(callback);
 
@@ -2379,7 +2238,8 @@
      *
      * @return true if the command succeeds.
      */
-    public boolean sendExtraCommand(String provider, String command, Bundle extras) {
+    public boolean sendExtraCommand(
+            @NonNull String provider, @NonNull String command, @Nullable Bundle extras) {
         try {
             return mService.sendExtraCommand(provider, command, extras);
         } catch (RemoteException e) {
@@ -2448,7 +2308,7 @@
      * @hide
      */
     @SystemApi
-    public boolean isProviderPackage(String packageName) {
+    public boolean isProviderPackage(@NonNull String packageName) {
         try {
             return mService.isProviderPackage(packageName);
         } catch (RemoteException e) {
@@ -2464,7 +2324,7 @@
      */
     @SystemApi
     @RequiresPermission(Manifest.permission.LOCATION_HARDWARE)
-    public void setLocationControllerExtraPackage(String packageName) {
+    public void setLocationControllerExtraPackage(@NonNull String packageName) {
         try {
             mService.setLocationControllerExtraPackage(packageName);
         } catch (RemoteException e) {
diff --git a/location/java/android/location/LocationRequest.java b/location/java/android/location/LocationRequest.java
index 6fd063e..a05d850 100644
--- a/location/java/android/location/LocationRequest.java
+++ b/location/java/android/location/LocationRequest.java
@@ -17,6 +17,8 @@
 package android.location;
 
 import android.Manifest;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.RequiresPermission;
 import android.annotation.SystemApi;
 import android.annotation.TestApi;
@@ -183,14 +185,16 @@
      *
      * @return a new location request
      */
+    @NonNull
     public static LocationRequest create() {
         return new LocationRequest();
     }
 
     /** @hide */
     @SystemApi
-    public static LocationRequest createFromDeprecatedProvider(String provider, long minTime,
-            float minDistance, boolean singleShot) {
+    @NonNull
+    public static LocationRequest createFromDeprecatedProvider(
+            @NonNull String provider, long minTime, float minDistance, boolean singleShot) {
         if (minTime < 0) minTime = 0;
         if (minDistance < 0) minDistance = 0;
 
@@ -215,8 +219,9 @@
 
     /** @hide */
     @SystemApi
-    public static LocationRequest createFromDeprecatedCriteria(Criteria criteria, long minTime,
-            float minDistance, boolean singleShot) {
+    @NonNull
+    public static LocationRequest createFromDeprecatedCriteria(
+            @NonNull Criteria criteria, long minTime, float minDistance, boolean singleShot) {
         if (minTime < 0) minTime = 0;
         if (minDistance < 0) minDistance = 0;
 
@@ -287,7 +292,7 @@
      * @return the same object, so that setters can be chained
      * @throws IllegalArgumentException if the quality constant is not valid
      */
-    public LocationRequest setQuality(int quality) {
+    public @NonNull LocationRequest setQuality(int quality) {
         checkQuality(quality);
         mQuality = quality;
         return this;
@@ -330,7 +335,7 @@
      * @return the same object, so that setters can be chained
      * @throws IllegalArgumentException if the interval is less than zero
      */
-    public LocationRequest setInterval(long millis) {
+    public @NonNull LocationRequest setInterval(long millis) {
         checkInterval(millis);
         mInterval = millis;
         if (!mExplicitFastestInterval) {
@@ -362,7 +367,7 @@
      * @hide
      */
     @SystemApi
-    public LocationRequest setLowPowerMode(boolean enabled) {
+    public @NonNull LocationRequest setLowPowerMode(boolean enabled) {
         mLowPowerMode = enabled;
         return this;
     }
@@ -386,7 +391,7 @@
      * @return the same object, so that setters can be chained
      */
     @RequiresPermission(Manifest.permission.WRITE_SECURE_SETTINGS)
-    public LocationRequest setLocationSettingsIgnored(boolean locationSettingsIgnored) {
+    public @NonNull LocationRequest setLocationSettingsIgnored(boolean locationSettingsIgnored) {
         mLocationSettingsIgnored = locationSettingsIgnored;
         return this;
     }
@@ -427,7 +432,7 @@
      * @return the same object, so that setters can be chained
      * @throws IllegalArgumentException if the interval is less than zero
      */
-    public LocationRequest setFastestInterval(long millis) {
+    public @NonNull LocationRequest setFastestInterval(long millis) {
         checkInterval(millis);
         mExplicitFastestInterval = true;
         mFastestInterval = millis;
@@ -463,7 +468,7 @@
      * @param millis duration of request in milliseconds
      * @return the same object, so that setters can be chained
      */
-    public LocationRequest setExpireIn(long millis) {
+    public @NonNull LocationRequest setExpireIn(long millis) {
         long elapsedRealtime = SystemClock.elapsedRealtime();
 
         // Check for > Long.MAX_VALUE overflow (elapsedRealtime > 0):
@@ -491,7 +496,7 @@
      * @param millis expiration time of request, in milliseconds since boot including suspend
      * @return the same object, so that setters can be chained
      */
-    public LocationRequest setExpireAt(long millis) {
+    public @NonNull LocationRequest setExpireAt(long millis) {
         mExpireAt = millis;
         if (mExpireAt < 0) mExpireAt = 0;
         return this;
@@ -522,7 +527,7 @@
      * @return the same object, so that setters can be chained
      * @throws IllegalArgumentException if numUpdates is 0 or less
      */
-    public LocationRequest setNumUpdates(int numUpdates) {
+    public @NonNull LocationRequest setNumUpdates(int numUpdates) {
         if (numUpdates <= 0) {
             throw new IllegalArgumentException(
                     "invalid numUpdates: " + numUpdates);
@@ -553,7 +558,8 @@
         }
     }
 
-    public LocationRequest setProvider(String provider) {
+    /** Sets the provider to use for this location request. */
+    public @NonNull LocationRequest setProvider(@NonNull String provider) {
         checkProvider(provider);
         mProvider = provider;
         return this;
@@ -561,13 +567,13 @@
 
     /** @hide */
     @SystemApi
-    public String getProvider() {
+    public @NonNull String getProvider() {
         return mProvider;
     }
 
     /** @hide */
     @SystemApi
-    public LocationRequest setSmallestDisplacement(float meters) {
+    public @NonNull LocationRequest setSmallestDisplacement(float meters) {
         checkDisplacement(meters);
         mSmallestDisplacement = meters;
         return this;
@@ -590,13 +596,13 @@
      * @hide
      */
     @SystemApi
-    public void setWorkSource(WorkSource workSource) {
+    public void setWorkSource(@Nullable WorkSource workSource) {
         mWorkSource = workSource;
     }
 
     /** @hide */
     @SystemApi
-    public WorkSource getWorkSource() {
+    public @Nullable WorkSource getWorkSource() {
         return mWorkSource;
     }
 
diff --git a/location/java/android/location/SettingInjectorService.java b/location/java/android/location/SettingInjectorService.java
index c201770..d6f8a7c 100644
--- a/location/java/android/location/SettingInjectorService.java
+++ b/location/java/android/location/SettingInjectorService.java
@@ -16,6 +16,7 @@
 
 package android.location;
 
+import android.annotation.NonNull;
 import android.app.Service;
 import android.content.Context;
 import android.content.Intent;
@@ -58,17 +59,17 @@
  * </pre>
  * Here:
  * <ul>
- *     <li>title: The {@link android.preference.Preference#getTitle()} value. The title should make
- *     it clear which apps are affected by the setting, typically by including the name of the
- *     developer. For example, "Acme Corp. ads preferences." </li>
+ * <li>title: The {@link android.preference.Preference#getTitle()} value. The title should make
+ * it clear which apps are affected by the setting, typically by including the name of the
+ * developer. For example, "Acme Corp. ads preferences." </li>
  *
- *     <li>icon: The {@link android.preference.Preference#getIcon()} value. Typically this will be a
- *     generic icon for the developer rather than the icon for an individual app.</li>
+ * <li>icon: The {@link android.preference.Preference#getIcon()} value. Typically this will be a
+ * generic icon for the developer rather than the icon for an individual app.</li>
  *
- *     <li>settingsActivity: the activity which is launched to allow the user to modify the setting
- *     value.  The activity must be in the same package as the subclass of
- *     {@link SettingInjectorService}. The activity should use your own branding to help emphasize
- *     to the user that it is not part of the system settings.</li>
+ * <li>settingsActivity: the activity which is launched to allow the user to modify the setting
+ * value.  The activity must be in the same package as the subclass of
+ * {@link SettingInjectorService}. The activity should use your own branding to help emphasize
+ * to the user that it is not part of the system settings.</li>
  * </ul>
  *
  * To ensure a good user experience, your {@link android.app.Application#onCreate()},
@@ -206,6 +207,8 @@
      * Returns the {@link android.preference.Preference#getSummary()} value (allowed to be null or
      * empty). Should not perform unpredictably-long operations such as network access--see the
      * running-time comments in the class-level javadoc.
+     * <p/>
+     * This method is called on KitKat, and Q+ devices.
      *
      * @return the {@link android.preference.Preference#getSummary()} value
      */
@@ -234,7 +237,7 @@
     /**
      * Sends a broadcast to refresh the injected settings on location settings page.
      */
-    public static final void refreshSettings(Context context) {
+    public static final void refreshSettings(@NonNull Context context) {
         Intent intent = new Intent(ACTION_INJECTED_SETTING_CHANGED);
         context.sendBroadcast(intent);
     }
diff --git a/media/OWNERS b/media/OWNERS
index eb26367..72c8952 100644
--- a/media/OWNERS
+++ b/media/OWNERS
@@ -3,7 +3,9 @@
 elaurent@google.com
 etalvala@google.com
 gkasten@google.com
+hdmoon@google.com
 hunga@google.com
+insun@google.com
 jaewan@google.com
 jmtrivi@google.com
 jsharkey@android.com
diff --git a/media/apex/java/android/media/MediaController2.java b/media/apex/java/android/media/MediaController2.java
index 2709df0..2743a34 100644
--- a/media/apex/java/android/media/MediaController2.java
+++ b/media/apex/java/android/media/MediaController2.java
@@ -181,6 +181,7 @@
      *
      * @return Session2Token of the connected session, or {@code null} if not connected
      */
+    @Nullable
     public Session2Token getConnectedSessionToken() {
         synchronized (mLock) {
             return mConnectedToken;
diff --git a/media/apex/java/android/media/MediaItem2.java b/media/apex/java/android/media/MediaItem2.java
index fc0f08e..ff0d43e 100644
--- a/media/apex/java/android/media/MediaItem2.java
+++ b/media/apex/java/android/media/MediaItem2.java
@@ -245,7 +245,7 @@
     /**
      * Builder for {@link MediaItem2}.
      */
-    public static class Builder {
+    public static final class Builder {
         @SuppressWarnings("WeakerAccess") /* synthetic access */
         MediaMetadata mMetadata;
         @SuppressWarnings("WeakerAccess") /* synthetic access */
diff --git a/media/apex/java/android/media/MediaPlayer2.java b/media/apex/java/android/media/MediaPlayer2.java
index f6b2031..fbe184b 100644
--- a/media/apex/java/android/media/MediaPlayer2.java
+++ b/media/apex/java/android/media/MediaPlayer2.java
@@ -1985,7 +1985,7 @@
          * When the language is unknown or could not be determined,
          * ISO-639-2 language code, "und", is returned.
          */
-        public @Nullable String getLanguage() {
+        public @NonNull String getLanguage() {
             String language = mFormat.getString(MediaFormat.KEY_LANGUAGE);
             return language == null ? "und" : language;
         }
@@ -3463,7 +3463,7 @@
              * @param uuid of selected crypto scheme
              * @return this
              */
-            public Builder setUuid(@NonNull UUID uuid) {
+            public @NonNull Builder setUuid(@NonNull UUID uuid) {
                 this.mUUID = uuid;
                 return this;
             }
@@ -3480,7 +3480,7 @@
              * @param keySetId identifier of a persisted offline key
              * @return this
              */
-            public Builder setKeySetId(@Nullable byte[] keySetId) {
+            public @NonNull Builder setKeySetId(@Nullable byte[] keySetId) {
                 this.mKeySetId = keySetId;
                 return this;
             }
@@ -3494,7 +3494,7 @@
              * @param initData container-specific DRM initialization data
              * @return this
              */
-            public Builder setInitData(@Nullable byte[] initData) {
+            public @NonNull Builder setInitData(@Nullable byte[] initData) {
                 this.mInitData = initData;
                 return this;
             }
@@ -3505,7 +3505,7 @@
              * @param mimeType mime type to the content
              * @return this
              */
-            public Builder setMimeType(@Nullable String mimeType) {
+            public @NonNull Builder setMimeType(@Nullable String mimeType) {
                 this.mMimeType = mimeType;
                 return this;
             }
@@ -3519,7 +3519,7 @@
              * @param keyType type of the key request
              * @return this
              */
-            public Builder setKeyType(@MediaPlayer2.MediaDrmKeyType int keyType) {
+            public @NonNull Builder setKeyType(@MediaPlayer2.MediaDrmKeyType int keyType) {
                 this.mKeyType = keyType;
                 return this;
             }
@@ -3531,7 +3531,8 @@
              * @param optionalParameters optional parameters to be included in a key request
              * @return this
              */
-            public Builder setOptionalParameters(@Nullable Map<String, String> optionalParameters) {
+            public @NonNull Builder setOptionalParameters(
+                    @Nullable Map<String, String> optionalParameters) {
                 this.mOptionalParameters = optionalParameters;
                 return this;
             }
@@ -3540,7 +3541,7 @@
              * @return an immutable {@link MediaPlayer2.DrmPreparationInfo} representing the
              *         settings of this builder
              */
-            public MediaPlayer2.DrmPreparationInfo build() {
+            public @NonNull MediaPlayer2.DrmPreparationInfo build() {
                 return new MediaPlayer2.DrmPreparationInfo(mUUID, mKeySetId, mInitData, mMimeType,
                         mKeyType, mOptionalParameters);
             }
@@ -3597,7 +3598,8 @@
          * @return a {@link DrmPreparationInfo} object to initialize DRM playback, or null to skip
          *         DRM initialization
          */
-        public DrmPreparationInfo onDrmInfo(MediaPlayer2 mp, DataSourceDesc dsd, DrmInfo drmInfo) {
+        public @Nullable DrmPreparationInfo onDrmInfo(@NonNull MediaPlayer2 mp,
+                @NonNull DataSourceDesc dsd, @NonNull DrmInfo drmInfo) {
             return null;
         }
 
@@ -3630,11 +3632,13 @@
          * @param request a {@link MediaDrm.KeyRequest} prepared using the
          *        {@link DrmPreparationInfo} returned from
          *        {@link #onDrmInfo(MediaPlayer2, DataSourceDesc, DrmInfo)}
-         * @return the response to {@code request} (from license server)
+         * @return the response to {@code request} (from license server); returning {@code null} or
+         *         throwing an {@link RuntimeException} from this callback would trigger an
+         *         {@link EventCallback#onError}.
          */
-        public byte[] onDrmKeyRequest(@NonNull MediaPlayer2 mp, @NonNull DataSourceDesc dsd,
-                @NonNull MediaDrm.KeyRequest request) {
-            return null;
+        public @NonNull byte[] onDrmKeyRequest(@NonNull MediaPlayer2 mp,
+                @NonNull DataSourceDesc dsd, @NonNull MediaDrm.KeyRequest request) {
+            return new byte[0];
         }
 
         /**
@@ -4144,7 +4148,7 @@
         /**
          * Returns the PSSH info of the data source for each supported DRM scheme.
          */
-        public Map<UUID, byte[]> getPssh() {
+        public @NonNull Map<UUID, byte[]> getPssh() {
             return mMapPssh;
         }
 
@@ -4153,7 +4157,7 @@
          * It effectively identifies the subset of the source's DRM schemes which
          * are supported by the device too.
          */
-        public List<UUID> getSupportedSchemes() {
+        public @NonNull List<UUID> getSupportedSchemes() {
             return Arrays.asList(mSupportedSchemes);
         }
 
@@ -4276,7 +4280,7 @@
      * Extends MediaDrm.MediaDrmException
      */
     public static final class NoDrmSchemeException extends MediaDrmException {
-        public NoDrmSchemeException(String detailMessage) {
+        public NoDrmSchemeException(@Nullable String detailMessage) {
             super(detailMessage);
         }
     }
diff --git a/media/apex/java/android/media/MediaSession2.java b/media/apex/java/android/media/MediaSession2.java
index 148e16c..d63de09 100644
--- a/media/apex/java/android/media/MediaSession2.java
+++ b/media/apex/java/android/media/MediaSession2.java
@@ -511,7 +511,8 @@
         }
 
         /**
-         * Set extras for the session token.
+         * Set extras for the session token. If null or not set, {@link Session2Token#getExtras()}
+         * will return {@link Bundle#EMPTY}.
          *
          * @return The Builder to allow chaining
          * @see Session2Token#getExtras()
@@ -749,6 +750,10 @@
          * You can reject the connection by returning {@code null}. In that case, controller
          * receives {@link MediaController2.ControllerCallback#onDisconnected(MediaController2)}
          * and cannot be used.
+         * <p>
+         * The controller hasn't connected yet in this method, so calls to the controller
+         * (e.g. {@link #sendSessionCommand}) would be ignored. Override {@link #onPostConnect} for
+         * the custom initialization for the controller instead.
          *
          * @param session the session for this event
          * @param controller controller information.
@@ -763,6 +768,10 @@
         /**
          * Called immediately after a controller is connected. This is a convenient method to add
          * custom initialization between the session and a controller.
+         * <p>
+         * Note that calls to the controller (e.g. {@link #sendSessionCommand}) work here but don't
+         * work in {@link #onConnect} because the controller hasn't connected yet in
+         * {@link #onConnect}.
          *
          * @param session the session for this event
          * @param controller controller information.
diff --git a/media/apex/java/android/media/Session2Token.java b/media/apex/java/android/media/Session2Token.java
index dc970ae..d7cb978 100644
--- a/media/apex/java/android/media/Session2Token.java
+++ b/media/apex/java/android/media/Session2Token.java
@@ -216,10 +216,11 @@
 
     /**
      * @return extras of the token
+     * @see MediaSession2.Builder#setExtras(Bundle)
      */
-    @Nullable
+    @NonNull
     public Bundle getExtras() {
-        return mExtras;
+        return mExtras == null ? Bundle.EMPTY : mExtras;
     }
 
     Session2Link getSessionLink() {
diff --git a/media/java/android/media/AudioAttributes.java b/media/java/android/media/AudioAttributes.java
index 46d4204..c2f29bc 100644
--- a/media/java/android/media/AudioAttributes.java
+++ b/media/java/android/media/AudioAttributes.java
@@ -374,9 +374,15 @@
      */
     public static final int FLAG_NO_CAPTURE = 0x1 << 10;
 
+    /**
+     * @hide
+     * Flag indicating force muting haptic channels.
+     */
+    public static final int FLAG_MUTE_HAPTIC = 0x1 << 11;
+
     private final static int FLAG_ALL = FLAG_AUDIBILITY_ENFORCED | FLAG_SECURE | FLAG_SCO |
             FLAG_BEACON | FLAG_HW_AV_SYNC | FLAG_HW_HOTWORD | FLAG_BYPASS_INTERRUPTION_POLICY |
-            FLAG_BYPASS_MUTE | FLAG_LOW_LATENCY | FLAG_DEEP_BUFFER;
+            FLAG_BYPASS_MUTE | FLAG_LOW_LATENCY | FLAG_DEEP_BUFFER | FLAG_MUTE_HAPTIC;
     private final static int FLAG_ALL_PUBLIC = FLAG_AUDIBILITY_ENFORCED |
             FLAG_HW_AV_SYNC | FLAG_LOW_LATENCY;
 
@@ -467,6 +473,14 @@
     }
 
     /**
+     * Return if haptic channels are muted.
+     * @return {@code true} if haptic channels are muted, {@code false} otherwise.
+     */
+    public boolean areHapticChannelsMuted() {
+        return (mFlags & FLAG_MUTE_HAPTIC) != 0;
+    }
+
+    /**
      * Builder class for {@link AudioAttributes} objects.
      * <p> Here is an example where <code>Builder</code> is used to define the
      * {@link AudioAttributes} to be used by a new <code>AudioTrack</code> instance:
@@ -490,6 +504,7 @@
         private int mContentType = CONTENT_TYPE_UNKNOWN;
         private int mSource = MediaRecorder.AudioSource.AUDIO_SOURCE_INVALID;
         private int mFlags = 0x0;
+        private boolean mMuteHapticChannels = false;
         private HashSet<String> mTags = new HashSet<String>();
         private Bundle mBundle;
 
@@ -528,6 +543,9 @@
             aa.mUsage = mUsage;
             aa.mSource = mSource;
             aa.mFlags = mFlags;
+            if (mMuteHapticChannels) {
+                aa.mFlags |= FLAG_MUTE_HAPTIC;
+            }
             aa.mTags = (HashSet<String>) mTags.clone();
             aa.mFormattedTags = TextUtils.join(";", mTags);
             if (mBundle != null) {
@@ -630,7 +648,7 @@
          *                     true to allow apps to capture the audio
          * @return the same Builder instance
          */
-        public Builder setAllowCapture(boolean allowCapture) {
+        public @NonNull Builder setAllowCapture(boolean allowCapture) {
             if (allowCapture) {
                 mFlags &= ~FLAG_NO_CAPTURE;
             } else {
@@ -803,6 +821,17 @@
             }
             return this;
         }
+
+        /**
+         * Specifying if haptic should be muted or not when playing audio-haptic coupled data.
+         * By default, haptic channels are enabled.
+         * @param muted true to force muting haptic channels.
+         * @return the same Builder instance.
+         */
+        public Builder setMuteHapticChannels(boolean muted) {
+            mMuteHapticChannels = muted;
+            return this;
+        }
     };
 
     @Override
diff --git a/media/java/android/media/AudioManager.java b/media/java/android/media/AudioManager.java
index 669baea..f9080a7 100644
--- a/media/java/android/media/AudioManager.java
+++ b/media/java/android/media/AudioManager.java
@@ -553,8 +553,7 @@
      * request is from a hardware key press. (e.g. {@link MediaController}).
      * @hide
      */
-    @SystemApi
-    public static final int FLAG_FROM_KEY = 1 << 16;
+    public static final int FLAG_FROM_KEY = 1 << 12;
 
     // The iterator of TreeMap#entrySet() returns the entries in ascending key order.
     private static final TreeMap<Integer, String> FLAG_NAMES = new TreeMap<>();
@@ -1821,6 +1820,21 @@
             "android.media.action.MICROPHONE_MUTE_CHANGED";
 
     /**
+     * Broadcast Action: speakerphone state changed.
+     *
+     * You <em>cannot</em> receive this through components declared
+     * in manifests, only by explicitly registering for it with
+     * {@link Context#registerReceiver(BroadcastReceiver, IntentFilter)
+     * Context.registerReceiver()}.
+     *
+     * <p>The intent has no extra values, use {@link #isSpeakerphoneOn} to check whether the
+     * speakerphone functionality is enabled or not.
+     */
+    @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
+    public static final String ACTION_SPEAKERPHONE_STATE_CHANGED =
+            "android.media.action.SPEAKERPHONE_STATE_CHANGED";
+
+    /**
      * Sets the audio mode.
      * <p>
      * The audio mode encompasses audio routing AND the behavior of
@@ -3309,6 +3323,7 @@
 
     /**
      * @hide
+     * Unregisters an {@link AudioPolicy} asynchronously.
      * @param policy the non-null {@link AudioPolicy} to unregister.
      */
     @SystemApi
@@ -3330,6 +3345,27 @@
         }
     }
 
+    /**
+     * @hide
+     * Unregisters an {@link AudioPolicy} synchronously.
+     * This method also invalidates all {@link AudioRecord} and {@link AudioTrack} objects
+     * associated with mixes of this policy.
+     * @param policy the non-null {@link AudioPolicy} to unregister.
+     */
+    @SystemApi
+    @RequiresPermission(android.Manifest.permission.MODIFY_AUDIO_ROUTING)
+    public void unregisterAudioPolicy(@NonNull AudioPolicy policy) {
+        Preconditions.checkNotNull(policy, "Illegal null AudioPolicy argument");
+        final IAudioService service = getService();
+        try {
+            policy.invalidateCaptorsAndInjectors();
+            service.unregisterAudioPolicy(policy.cb());
+            policy.setRegistration(null);
+        } catch (RemoteException e) {
+            throw e.rethrowFromSystemServer();
+        }
+    }
+
     //====================================================================
     // Notification of playback activity & playback configuration
     /**
@@ -4145,6 +4181,10 @@
      /**
      * Indicate A2DP source or sink active device change and eventually suppress
      * the {@link AudioManager.ACTION_AUDIO_BECOMING_NOISY} intent.
+     * This operation is asynchronous but its execution will still be sequentially scheduled
+     * relative to calls to {@link #setBluetoothHearingAidDeviceConnectionState(BluetoothDevice,
+     * int, boolean, int)} and
+     * {@link #handleBluetoothA2dpDeviceConfigChange(BluetoothDevice)}.
      * @param device Bluetooth device connected/disconnected
      * @param state  new connection state (BluetoothProfile.STATE_xxx)
      * @param profile profile for the A2DP device
@@ -4158,18 +4198,16 @@
      * BluetoothA2dp.ACTION_CONNECTION_STATE_CHANGED intent.
      * {@hide}
      */
-    public int handleBluetoothA2dpActiveDeviceChange(
+    public void handleBluetoothA2dpActiveDeviceChange(
                 BluetoothDevice device, int state, int profile,
                 boolean suppressNoisyIntent, int a2dpVolume) {
         final IAudioService service = getService();
-        int delay = 0;
         try {
-            delay = service.handleBluetoothA2dpActiveDeviceChange(device,
+            service.handleBluetoothA2dpActiveDeviceChange(device,
                 state, profile, suppressNoisyIntent, a2dpVolume);
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
-        return delay;
     }
 
     /** {@hide} */
diff --git a/media/java/android/media/AudioPlaybackCaptureConfiguration.java b/media/java/android/media/AudioPlaybackCaptureConfiguration.java
index 9a16aea..333cd2d 100644
--- a/media/java/android/media/AudioPlaybackCaptureConfiguration.java
+++ b/media/java/android/media/AudioPlaybackCaptureConfiguration.java
@@ -72,7 +72,7 @@
      *
      * @param audioFormat The format in which to capture the audio.
      */
-    AudioMix createAudioMix(AudioFormat audioFormat) {
+    @NonNull AudioMix createAudioMix(@NonNull AudioFormat audioFormat) {
         return new AudioMix.Builder(mAudioMixingRule)
                 .setFormat(audioFormat)
                 .setRouteFlags(AudioMix.ROUTE_FLAG_LOOP_BACK | AudioMix.ROUTE_FLAG_RENDER)
@@ -123,7 +123,7 @@
          * @throws IllegalStateException if called in conjunction with
          *     {@link #excludeUsage(AudioAttributes)}.
          */
-        public Builder addMatchingUsage(@NonNull AudioAttributes audioAttributes) {
+        public @NonNull Builder addMatchingUsage(@NonNull AudioAttributes audioAttributes) {
             Preconditions.checkNotNull(audioAttributes);
             Preconditions.checkState(
                     mUsageMatchType != MATCH_TYPE_EXCLUSIVE, ERROR_MESSAGE_MISMATCHED_RULES);
@@ -141,7 +141,7 @@
          *
          * @throws IllegalStateException if called in conjunction with {@link #excludeUid(int)}.
          */
-        public Builder addMatchingUid(int uid) {
+        public @NonNull Builder addMatchingUid(int uid) {
             Preconditions.checkState(
                     mUidMatchType != MATCH_TYPE_EXCLUSIVE, ERROR_MESSAGE_MISMATCHED_RULES);
             mAudioMixingRuleBuilder.addMixRule(AudioMixingRule.RULE_MATCH_UID, uid);
@@ -158,7 +158,7 @@
          * @throws IllegalStateException if called in conjunction with
          *     {@link #addMatchingUsage(AudioAttributes)}.
          */
-        public Builder excludeUsage(@NonNull AudioAttributes audioAttributes) {
+        public @NonNull Builder excludeUsage(@NonNull AudioAttributes audioAttributes) {
             Preconditions.checkNotNull(audioAttributes);
             Preconditions.checkState(
                     mUsageMatchType != MATCH_TYPE_INCLUSIVE, ERROR_MESSAGE_MISMATCHED_RULES);
@@ -176,7 +176,7 @@
          *
          * @throws IllegalStateException if called in conjunction with {@link #addMatchingUid(int)}.
          */
-        public Builder excludeUid(int uid) {
+        public @NonNull Builder excludeUid(int uid) {
             Preconditions.checkState(
                     mUidMatchType != MATCH_TYPE_INCLUSIVE, ERROR_MESSAGE_MISMATCHED_RULES);
             mAudioMixingRuleBuilder.excludeMixRule(AudioMixingRule.RULE_MATCH_UID, uid);
@@ -189,7 +189,7 @@
          *
          * @throws UnsupportedOperationException if the parameters set are incompatible.
          */
-        public AudioPlaybackCaptureConfiguration build() {
+        public @NonNull AudioPlaybackCaptureConfiguration build() {
             return new AudioPlaybackCaptureConfiguration(mAudioMixingRuleBuilder.build(),
                                                          mProjection);
         }
diff --git a/media/java/android/media/AudioRecord.java b/media/java/android/media/AudioRecord.java
index 3d5120f..8051236 100644
--- a/media/java/android/media/AudioRecord.java
+++ b/media/java/android/media/AudioRecord.java
@@ -22,6 +22,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
+import android.annotation.TestApi;
 import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityThread;
 import android.media.audiopolicy.AudioMix;
@@ -618,7 +619,7 @@
          * @throws IllegalStateException if called in conjunction with {@link #setAudioSource(int)}.
          * @throws NullPointerException if {@code config} is null.
          */
-        public Builder setAudioPlaybackCaptureConfig(
+        public @NonNull Builder setAudioPlaybackCaptureConfig(
                 @NonNull AudioPlaybackCaptureConfiguration config) {
             Preconditions.checkNotNull(
                     config, "Illegal null AudioPlaybackCaptureConfiguration argument");
@@ -647,7 +648,7 @@
             return this;
         }
 
-        private AudioRecord buildAudioPlaybackCaptureRecord() {
+        private @NonNull AudioRecord buildAudioPlaybackCaptureRecord() {
             AudioMix audioMix = mAudioPlaybackCaptureConfiguration.createAudioMix(mFormat);
             MediaProjection projection = mAudioPlaybackCaptureConfiguration.getMediaProjection();
             AudioPolicy audioPolicy = new AudioPolicy.Builder(/*context=*/ null)
@@ -1791,13 +1792,14 @@
     // MicrophoneDirection
     //--------------------
     /**
-     * Specifies the logical microphone (for processing).
+     * Specifies the logical microphone (for processing). Applications can use this to specify
+     * which side of the device to optimize capture from. Typically used in conjunction with
+     * the camera capturing video.
      *
-     * @param direction Direction constant.
      * @return true if sucessful.
      */
-    public boolean setMicrophoneDirection(int direction) {
-        return native_set_microphone_direction(direction) == 0;
+    public boolean setMicrophoneDirection(@DirectionMode int direction) {
+        return native_set_microphone_direction(direction) == AudioSystem.SUCCESS;
     }
 
     /**
@@ -1809,7 +1811,9 @@
      * @return true if sucessful.
      */
     public boolean setMicrophoneFieldDimension(@FloatRange(from = -1.0, to = 1.0) float zoom) {
-        return native_set_microphone_field_dimension(zoom) == 0;
+        Preconditions.checkArgument(
+                zoom >= -1 && zoom <= 1, "Argument must fall between -1 & 1 (inclusive)");
+        return native_set_microphone_field_dimension(zoom) == AudioSystem.SUCCESS;
     }
 
     //---------------------------------------------------------
@@ -1984,41 +1988,100 @@
     {
         private MetricsConstants() {}
 
-        /**
-         * Key to extract the output format being recorded
-         * from the {@link AudioRecord#getMetrics} return value.
-         * The value is a String.
-         */
-        public static final String ENCODING = "android.media.audiorecord.encoding";
+        // MM_PREFIX is slightly different than TAG, used to avoid cut-n-paste errors.
+        private static final String MM_PREFIX = "android.media.audiorecord.";
 
         /**
-         * Key to extract the Source Type for this track
+         * Key to extract the audio data encoding for this track
          * from the {@link AudioRecord#getMetrics} return value.
-         * The value is a String.
+         * The value is a {@code String}.
          */
-        public static final String SOURCE = "android.media.audiorecord.source";
+        public static final String ENCODING = MM_PREFIX + "encoding";
+
+        /**
+         * Key to extract the source type for this track
+         * from the {@link AudioRecord#getMetrics} return value.
+         * The value is a {@code String}.
+         */
+        public static final String SOURCE = MM_PREFIX + "source";
 
         /**
          * Key to extract the estimated latency through the recording pipeline
          * from the {@link AudioRecord#getMetrics} return value.
          * This is in units of milliseconds.
-         * The value is an integer.
+         * The value is an {@code int}.
+         * @deprecated Not properly supported in the past.
          */
-        public static final String LATENCY = "android.media.audiorecord.latency";
+        @Deprecated
+        public static final String LATENCY = MM_PREFIX + "latency";
 
         /**
          * Key to extract the sink sample rate for this record track in Hz
          * from the {@link AudioRecord#getMetrics} return value.
-         * The value is an integer.
+         * The value is an {@code int}.
          */
-        public static final String SAMPLERATE = "android.media.audiorecord.samplerate";
+        public static final String SAMPLERATE = MM_PREFIX + "samplerate";
 
         /**
          * Key to extract the number of channels being recorded in this record track
          * from the {@link AudioRecord#getMetrics} return value.
-         * The value is an integer.
+         * The value is an {@code int}.
          */
-        public static final String CHANNELS = "android.media.audiorecord.channels";
+        public static final String CHANNELS = MM_PREFIX + "channels";
 
+        /**
+         * Use for testing only. Do not expose.
+         * The native channel mask.
+         * The value is a {@code long}.
+         * @hide
+         */
+        @TestApi
+        public static final String CHANNEL_MASK = MM_PREFIX + "channelMask";
+
+
+        /**
+         * Use for testing only. Do not expose.
+         * The port id of this input port in audioserver.
+         * The value is an {@code int}.
+         * @hide
+         */
+        @TestApi
+        public static final String PORT_ID = MM_PREFIX + "portId";
+
+        /**
+         * Use for testing only. Do not expose.
+         * The buffer frameCount.
+         * The value is an {@code int}.
+         * @hide
+         */
+        @TestApi
+        public static final String FRAME_COUNT = MM_PREFIX + "frameCount";
+
+        /**
+         * Use for testing only. Do not expose.
+         * The actual record track attributes used.
+         * The value is a {@code String}.
+         * @hide
+         */
+        @TestApi
+        public static final String ATTRIBUTES = MM_PREFIX + "attributes";
+
+        /**
+         * Use for testing only. Do not expose.
+         * The buffer frameCount
+         * The value is a {@code double}.
+         * @hide
+         */
+        @TestApi
+        public static final String DURATION_MS = MM_PREFIX + "durationMs";
+
+        /**
+         * Use for testing only. Do not expose.
+         * The number of times the record track has started
+         * The value is a {@code long}.
+         * @hide
+         */
+        @TestApi
+        public static final String START_COUNT = MM_PREFIX + "startCount";
     }
 }
diff --git a/media/java/android/media/AudioTrack.java b/media/java/android/media/AudioTrack.java
index 7cfe0dd..41e059b 100644
--- a/media/java/android/media/AudioTrack.java
+++ b/media/java/android/media/AudioTrack.java
@@ -22,6 +22,7 @@
 import android.annotation.IntRange;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.annotation.TestApi;
 import android.annotation.UnsupportedAppUsage;
 import android.os.Binder;
 import android.os.Build;
@@ -1013,9 +1014,9 @@
      * frame indicates the number of samples per channel, e.g. 100 frames for a stereo compressed
      * stream corresponds to 200 decoded interleaved PCM samples.
      * @param delayInFrames number of frames to be ignored at the beginning of the stream. A value
-     *     of 0 indicates no padding is to be applied.
-     * @param paddingInFrames number of frames to be ignored at the end of the stream. A value of 0
      *     of 0 indicates no delay is to be applied.
+     * @param paddingInFrames number of frames to be ignored at the end of the stream. A value of 0
+     *     of 0 indicates no padding is to be applied.
      */
     public void setOffloadDelayPadding(@IntRange(from = 0) int delayInFrames,
             @IntRange(from = 0) int paddingInFrames) {
@@ -3580,41 +3581,103 @@
     {
         private MetricsConstants() {}
 
-        /**
-         * Key to extract the Stream Type for this track
-         * from the {@link AudioTrack#getMetrics} return value.
-         * The value is a String.
-         */
-        public static final String STREAMTYPE = "android.media.audiotrack.streamtype";
+        // MM_PREFIX is slightly different than TAG, used to avoid cut-n-paste errors.
+        private static final String MM_PREFIX = "android.media.audiotrack.";
 
         /**
-         * Key to extract the Content Type for this track
+         * Key to extract the stream type for this track
          * from the {@link AudioTrack#getMetrics} return value.
-         * The value is a String.
+         * This value may not exist in API level {@link android.os.Build.VERSION_CODES#P}.
+         * The value is a {@code String}.
          */
-        public static final String CONTENTTYPE = "android.media.audiotrack.type";
+        public static final String STREAMTYPE = MM_PREFIX + "streamtype";
 
         /**
-         * Key to extract the Content Type for this track
+         * Key to extract the attribute content type for this track
          * from the {@link AudioTrack#getMetrics} return value.
-         * The value is a String.
+         * The value is a {@code String}.
          */
-        public static final String USAGE = "android.media.audiotrack.usage";
+        public static final String CONTENTTYPE = MM_PREFIX + "type";
+
+        /**
+         * Key to extract the attribute usage for this track
+         * from the {@link AudioTrack#getMetrics} return value.
+         * The value is a {@code String}.
+         */
+        public static final String USAGE = MM_PREFIX + "usage";
 
         /**
          * Key to extract the sample rate for this track in Hz
          * from the {@link AudioTrack#getMetrics} return value.
-         * The value is an integer.
+         * The value is an {@code int}.
+         * @deprecated This does not work. Use {@link AudioTrack#getSampleRate()} instead.
          */
+        @Deprecated
         public static final String SAMPLERATE = "android.media.audiorecord.samplerate";
 
         /**
-         * Key to extract the channel mask information for this track
+         * Key to extract the native channel mask information for this track
          * from the {@link AudioTrack#getMetrics} return value.
          *
-         * The value is a Long integer.
+         * The value is a {@code long}.
+         * @deprecated This does not work. Use {@link AudioTrack#getFormat()} and read from
+         * the returned format instead.
          */
+        @Deprecated
         public static final String CHANNELMASK = "android.media.audiorecord.channelmask";
 
+        /**
+         * Use for testing only. Do not expose.
+         * The current sample rate.
+         * The value is an {@code int}.
+         * @hide
+         */
+        @TestApi
+        public static final String SAMPLE_RATE = MM_PREFIX + "sampleRate";
+
+        /**
+         * Use for testing only. Do not expose.
+         * The native channel mask.
+         * The value is a {@code long}.
+         * @hide
+         */
+        @TestApi
+        public static final String CHANNEL_MASK = MM_PREFIX + "channelMask";
+
+        /**
+         * Use for testing only. Do not expose.
+         * The output audio data encoding.
+         * The value is a {@code String}.
+         * @hide
+         */
+        @TestApi
+        public static final String ENCODING = MM_PREFIX + "encoding";
+
+        /**
+         * Use for testing only. Do not expose.
+         * The port id of this track port in audioserver.
+         * The value is an {@code int}.
+         * @hide
+         */
+        @TestApi
+        public static final String PORT_ID = MM_PREFIX + "portId";
+
+        /**
+         * Use for testing only. Do not expose.
+         * The buffer frameCount.
+         * The value is an {@code int}.
+         * @hide
+         */
+        @TestApi
+        public static final String FRAME_COUNT = MM_PREFIX + "frameCount";
+
+        /**
+         * Use for testing only. Do not expose.
+         * The actual track attributes used.
+         * The value is a {@code String}.
+         * @hide
+         */
+        @TestApi
+        public static final String ATTRIBUTES = MM_PREFIX + "attributes";
     }
 }
diff --git a/media/java/android/media/ExifInterface.java b/media/java/android/media/ExifInterface.java
index 31d2232..23db27d 100644
--- a/media/java/android/media/ExifInterface.java
+++ b/media/java/android/media/ExifInterface.java
@@ -73,6 +73,12 @@
  * Supported formats are: JPEG, DNG, CR2, NEF, NRW, ARW, RW2, ORF, PEF, SRW, RAF and HEIF.
  * <p>
  * Attribute mutation is supported for JPEG image files.
+ * <p>
+ * Note: It is recommended to use the <a href="{@docRoot}jetpack/androidx.html">AndroidX</a>
+ * <a href="{@docRoot}reference/androidx/exifinterface/media/ExifInterface.html">ExifInterface
+ * Library</a> since it is a superset of this class. In addition to the functionalities of this
+ * class, it supports parsing extra metadata such as exposure and data compression information
+ * as well as setting extra metadata such as GPS and datetime information.
  */
 public class ExifInterface {
     private static final String TAG = "ExifInterface";
@@ -1316,14 +1322,14 @@
     }
 
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
-    private final String mFilename;
-    private final FileDescriptor mSeekableFileDescriptor;
-    private final AssetManager.AssetInputStream mAssetInputStream;
-    private final boolean mIsInputStream;
+    private String mFilename;
+    private FileDescriptor mSeekableFileDescriptor;
+    private AssetManager.AssetInputStream mAssetInputStream;
+    private boolean mIsInputStream;
     private int mMimeType;
     @UnsupportedAppUsage
     private final HashMap[] mAttributes = new HashMap[EXIF_TAGS.length];
-    private Set<Integer> mAttributesOffsets = new HashSet<>(EXIF_TAGS.length);
+    private Set<Integer> mHandledIfdOffsets = new HashSet<>(EXIF_TAGS.length);
     private ByteOrder mExifByteOrder = ByteOrder.BIG_ENDIAN;
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private boolean mHasThumbnail;
@@ -1350,7 +1356,10 @@
      * Reads Exif tags from the specified image file.
      */
     public ExifInterface(@NonNull File file) throws IOException {
-        this(file.getAbsolutePath());
+        if (file == null) {
+            throw new NullPointerException("file cannot be null");
+        }
+        initForFilename(file.getAbsolutePath());
     }
 
     /**
@@ -1358,23 +1367,9 @@
      */
     public ExifInterface(@NonNull String filename) throws IOException {
         if (filename == null) {
-            throw new IllegalArgumentException("filename cannot be null");
+            throw new NullPointerException("filename cannot be null");
         }
-        FileInputStream in = null;
-        mAssetInputStream = null;
-        mFilename = filename;
-        mIsInputStream = false;
-        try {
-            in = new FileInputStream(filename);
-            if (isSeekableFD(in.getFD())) {
-                mSeekableFileDescriptor = in.getFD();
-            } else {
-                mSeekableFileDescriptor = null;
-            }
-            loadAttributes(in);
-        } finally {
-            IoUtils.closeQuietly(in);
-        }
+        initForFilename(filename);
     }
 
     /**
@@ -1384,7 +1379,7 @@
      */
     public ExifInterface(@NonNull FileDescriptor fileDescriptor) throws IOException {
         if (fileDescriptor == null) {
-            throw new IllegalArgumentException("fileDescriptor cannot be null");
+            throw new NullPointerException("fileDescriptor cannot be null");
         }
         mAssetInputStream = null;
         mFilename = null;
@@ -1418,7 +1413,7 @@
      */
     public ExifInterface(@NonNull InputStream inputStream) throws IOException {
         if (inputStream == null) {
-            throw new IllegalArgumentException("inputStream cannot be null");
+            throw new NullPointerException("inputStream cannot be null");
         }
         mFilename = null;
         if (inputStream instanceof AssetManager.AssetInputStream) {
@@ -1443,6 +1438,9 @@
      * @param tag the name of the tag.
      */
     private @Nullable ExifAttribute getExifAttribute(@NonNull String tag) {
+        if (tag == null) {
+            throw new NullPointerException("tag shouldn't be null");
+        }
         // Retrieves all tag groups. The value from primary image tag group has a higher priority
         // than the value from the thumbnail tag group if there are more than one candidates.
         for (int i = 0; i < EXIF_TAGS.length; ++i) {
@@ -1461,6 +1459,9 @@
      * @param tag the name of the tag.
      */
     public @Nullable String getAttribute(@NonNull String tag) {
+        if (tag == null) {
+            throw new NullPointerException("tag shouldn't be null");
+        }
         ExifAttribute attribute = getExifAttribute(tag);
         if (attribute != null) {
             if (!sTagSetForCompatibility.contains(tag)) {
@@ -1499,6 +1500,9 @@
      * @param defaultValue the value to return if the tag is not available.
      */
     public int getAttributeInt(@NonNull String tag, int defaultValue) {
+        if (tag == null) {
+            throw new NullPointerException("tag shouldn't be null");
+        }
         ExifAttribute exifAttribute = getExifAttribute(tag);
         if (exifAttribute == null) {
             return defaultValue;
@@ -1520,6 +1524,9 @@
      * @param defaultValue the value to return if the tag is not available.
      */
     public double getAttributeDouble(@NonNull String tag, double defaultValue) {
+        if (tag == null) {
+            throw new NullPointerException("tag shouldn't be null");
+        }
         ExifAttribute exifAttribute = getExifAttribute(tag);
         if (exifAttribute == null) {
             return defaultValue;
@@ -1539,6 +1546,9 @@
      * @param value the value of the tag.
      */
     public void setAttribute(@NonNull String tag, @Nullable String value) {
+        if (tag == null) {
+            throw new NullPointerException("tag shouldn't be null");
+        }
         // Convert the given value to rational values for backwards compatibility.
         if (value != null && sTagSetForCompatibility.contains(tag)) {
             if (tag.equals(TAG_GPS_TIMESTAMP)) {
@@ -1708,6 +1718,9 @@
      * determine whether the image data format is JPEG or not.
      */
     private void loadAttributes(@NonNull InputStream in) throws IOException {
+        if (in == null) {
+            throw new NullPointerException("inputstream shouldn't be null");
+        }
         try {
             // Initialize mAttributes.
             for (int i = 0; i < EXIF_TAGS.length; ++i) {
@@ -1891,7 +1904,7 @@
      *
      * @param tag the name of the tag.
      */
-    public boolean hasAttribute(String tag) {
+    public boolean hasAttribute(@NonNull String tag) {
         return (getExifAttribute(tag) != null);
     }
 
@@ -2043,6 +2056,9 @@
      *             that means offsets may have changed.
      */
     public @Nullable long[] getAttributeRange(@NonNull String tag) {
+        if (tag == null) {
+            throw new NullPointerException("tag shouldn't be null");
+        }
         if (mModified) {
             throw new IllegalStateException(
                     "The underlying file has been modified since being parsed");
@@ -2064,6 +2080,9 @@
      *         no tag was found.
      */
     public @Nullable byte[] getAttributeBytes(@NonNull String tag) {
+        if (tag == null) {
+            throw new NullPointerException("tag shouldn't be null");
+        }
         final ExifAttribute attribute = getExifAttribute(tag);
         if (attribute != null) {
             return attribute.bytes;
@@ -2234,6 +2253,24 @@
         }
     }
 
+    private void initForFilename(String filename) throws IOException {
+        FileInputStream in = null;
+        mAssetInputStream = null;
+        mFilename = filename;
+        mIsInputStream = false;
+        try {
+            in = new FileInputStream(filename);
+            if (isSeekableFD(in.getFD())) {
+                mSeekableFileDescriptor = in.getFD();
+            } else {
+                mSeekableFileDescriptor = null;
+            }
+            loadAttributes(in);
+        } finally {
+            IoUtils.closeQuietly(in);
+        }
+    }
+
     // Checks the type of image file
     private int getMimeType(BufferedInputStream in) throws IOException {
         in.mark(SIGNATURE_CHECK_SIZE);
@@ -3085,6 +3122,9 @@
     // Reads image file directory, which is a tag group in EXIF.
     private void readImageFileDirectory(ByteOrderedDataInputStream dataInputStream,
             @IfdType int ifdType) throws IOException {
+        // Save offset of current IFD to prevent reading an IFD that is already read.
+        mHandledIfdOffsets.add(dataInputStream.mPosition);
+
         if (dataInputStream.mPosition + 2 > dataInputStream.mLength) {
             // Return if there is no data from the offset.
             return;
@@ -3223,9 +3263,7 @@
                 // 1. Exists within the boundaries of the input stream
                 // 2. Does not point to a previously read IFD.
                 if (offset > 0L && offset < dataInputStream.mLength) {
-                    if (!mAttributesOffsets.contains((int) offset)) {
-                        // Save offset of current IFD to prevent reading an IFD that is already read
-                        mAttributesOffsets.add(dataInputStream.mPosition);
+                    if (!mHandledIfdOffsets.contains((int) offset)) {
                         dataInputStream.seek(offset);
                         readImageFileDirectory(dataInputStream, nextIfdType);
                     } else {
@@ -3279,9 +3317,7 @@
             // 1. Exists within the boundaries of the input stream
             // 2. Does not point to a previously read IFD.
             if (nextIfdOffset > 0L && nextIfdOffset < dataInputStream.mLength) {
-                if (!mAttributesOffsets.contains(nextIfdOffset)) {
-                    // Save offset of current IFD to prevent reading an IFD that is already read.
-                    mAttributesOffsets.add(dataInputStream.mPosition);
+                if (!mHandledIfdOffsets.contains(nextIfdOffset)) {
                     dataInputStream.seek(nextIfdOffset);
                     // Do not overwrite thumbnail IFD data if it alreay exists.
                     if (mAttributes[IFD_TYPE_THUMBNAIL].isEmpty()) {
diff --git a/media/java/android/media/ExternalRingtonesCursorWrapper.java b/media/java/android/media/ExternalRingtonesCursorWrapper.java
index dd4c77a..ea63a3a 100644
--- a/media/java/android/media/ExternalRingtonesCursorWrapper.java
+++ b/media/java/android/media/ExternalRingtonesCursorWrapper.java
@@ -16,7 +16,6 @@
 
 package android.media;
 
-import android.content.ContentProvider;
 import android.database.Cursor;
 import android.database.CursorWrapper;
 import android.net.Uri;
@@ -28,19 +27,18 @@
  * @hide
  */
 public class ExternalRingtonesCursorWrapper extends CursorWrapper {
+    private Uri mUri;
 
-    private int mUserId;
-
-    public ExternalRingtonesCursorWrapper(Cursor cursor, int userId) {
+    public ExternalRingtonesCursorWrapper(Cursor cursor, Uri uri) {
         super(cursor);
-        mUserId = userId;
+        mUri = uri;
     }
 
     public String getString(int index) {
-        String result = super.getString(index);
         if (index == RingtoneManager.URI_COLUMN_INDEX) {
-            result = ContentProvider.maybeAddUserId(Uri.parse(result), mUserId).toString();
+            return mUri.toString();
+        } else {
+            return super.getString(index);
         }
-        return result;
     }
 }
diff --git a/media/java/android/media/HwAudioSource.java b/media/java/android/media/HwAudioSource.java
index d9be0a5..e53b7e8 100644
--- a/media/java/android/media/HwAudioSource.java
+++ b/media/java/android/media/HwAudioSource.java
@@ -129,6 +129,7 @@
      * Starts the playback from {@link AudioDeviceInfo}.
      */
     public void start() {
+        Preconditions.checkState(!isPlaying(), "HwAudioSource is currently playing");
         baseStart();
         mNativeHandle = AudioSystem.startAudioSource(
                 mAudioDeviceInfo.getPort().activeConfig(),
@@ -136,6 +137,14 @@
     }
 
     /**
+     * Checks whether the HwAudioSource player is playing.
+     * @return true if currently playing, false otherwise
+     */
+    public boolean isPlaying() {
+        return mNativeHandle != 0;
+    }
+
+    /**
      * Stops the playback from {@link AudioDeviceInfo}.
      */
     public void stop() {
diff --git a/media/java/android/media/IAudioService.aidl b/media/java/android/media/IAudioService.aidl
index 0285667..c29f355 100644
--- a/media/java/android/media/IAudioService.aidl
+++ b/media/java/android/media/IAudioService.aidl
@@ -171,7 +171,7 @@
 
     void handleBluetoothA2dpDeviceConfigChange(in BluetoothDevice device);
 
-    int handleBluetoothA2dpActiveDeviceChange(in BluetoothDevice device,
+    void handleBluetoothA2dpActiveDeviceChange(in BluetoothDevice device,
             int state, int profile, boolean suppressNoisyIntent, int a2dpVolume);
 
     @UnsupportedAppUsage
@@ -199,6 +199,8 @@
 
     oneway void unregisterAudioPolicyAsync(in IAudioPolicyCallback pcb);
 
+    void unregisterAudioPolicy(in IAudioPolicyCallback pcb);
+
     int addMixForPolicy(in AudioPolicyConfig policyConfig, in IAudioPolicyCallback pcb);
 
     int removeMixForPolicy(in AudioPolicyConfig policyConfig, in IAudioPolicyCallback pcb);
diff --git a/media/java/android/media/MediaCodecInfo.java b/media/java/android/media/MediaCodecInfo.java
index 4bc3897..2ec9355 100644
--- a/media/java/android/media/MediaCodecInfo.java
+++ b/media/java/android/media/MediaCodecInfo.java
@@ -3223,14 +3223,83 @@
         // These constants were originally in-line with OMX values, but this
         // correspondence is no longer maintained.
 
+        // Profiles and levels for AVC Codec, corresponding to the definitions in
+        // "SERIES H: AUDIOVISUAL AND MULTIMEDIA SYSTEMS,
+        // Infrastructure of audiovisual services – Coding of moving video
+        // Advanced video coding for generic audiovisual services"
+        // found at
+        // https://www.itu.int/rec/T-REC-H.264-201704-I
+
+        /**
+         * AVC Baseline profile.
+         * See definition in
+         * <a href="https://www.itu.int/rec/T-REC-H.264-201704-I">H.264 recommendation</a>,
+         * Annex A.
+         */
         public static final int AVCProfileBaseline = 0x01;
+
+        /**
+         * AVC Main profile.
+         * See definition in
+         * <a href="https://www.itu.int/rec/T-REC-H.264-201704-I">H.264 recommendation</a>,
+         * Annex A.
+         */
         public static final int AVCProfileMain     = 0x02;
+
+        /**
+         * AVC Extended profile.
+         * See definition in
+         * <a href="https://www.itu.int/rec/T-REC-H.264-201704-I">H.264 recommendation</a>,
+         * Annex A.
+         */
         public static final int AVCProfileExtended = 0x04;
+
+        /**
+         * AVC High profile.
+         * See definition in
+         * <a href="https://www.itu.int/rec/T-REC-H.264-201704-I">H.264 recommendation</a>,
+         * Annex A.
+         */
         public static final int AVCProfileHigh     = 0x08;
+
+        /**
+         * AVC High 10 profile.
+         * See definition in
+         * <a href="https://www.itu.int/rec/T-REC-H.264-201704-I">H.264 recommendation</a>,
+         * Annex A.
+         */
         public static final int AVCProfileHigh10   = 0x10;
+
+        /**
+         * AVC High 4:2:2 profile.
+         * See definition in
+         * <a href="https://www.itu.int/rec/T-REC-H.264-201704-I">H.264 recommendation</a>,
+         * Annex A.
+         */
         public static final int AVCProfileHigh422  = 0x20;
+
+        /**
+         * AVC High 4:4:4 profile.
+         * See definition in
+         * <a href="https://www.itu.int/rec/T-REC-H.264-201704-I">H.264 recommendation</a>,
+         * Annex A.
+         */
         public static final int AVCProfileHigh444  = 0x40;
+
+        /**
+         * AVC Constrained Baseline profile.
+         * See definition in
+         * <a href="https://www.itu.int/rec/T-REC-H.264-201704-I">H.264 recommendation</a>,
+         * Annex A.
+         */
         public static final int AVCProfileConstrainedBaseline = 0x10000;
+
+        /**
+         * AVC Constrained High profile.
+         * See definition in
+         * <a href="https://www.itu.int/rec/T-REC-H.264-201704-I">H.264 recommendation</a>,
+         * Annex A.
+         */
         public static final int AVCProfileConstrainedHigh     = 0x80000;
 
         public static final int AVCLevel1       = 0x01;
@@ -3420,8 +3489,34 @@
         public static final int DolbyVisionLevelUhd48   = 0x80;
         public static final int DolbyVisionLevelUhd60   = 0x100;
 
+        // Profiles and levels for AV1 Codec, corresponding to the
+        // definitions in
+        // "AV1 Bitstream & Decoding Process Specification", Annex A
+        // found at
+        // https://aomedia.org/av1-bitstream-and-decoding-process-specification/
+
+        /**
+         * AV1 Main profile.
+         * See definition in
+         * <a href="https://aomedia.org/av1-bitstream-and-decoding-process-specification/"> AV1 Bitstream and Decoding Process Specification</a>
+         * Annex A.
+         */
         public static final int AV1Profile0     = 0x1;
+
+        /**
+         * AV1 High profile.
+         * See definition in
+         * <a href="https://aomedia.org/av1-bitstream-and-decoding-process-specification/"> AV1 Bitstream and Decoding Process Specification</a>
+         * Annex A.
+         */
         public static final int AV1Profile1     = 0x2;
+
+        /**
+         * AV1 Professional profile.
+         * See definition in
+         * <a href="https://aomedia.org/av1-bitstream-and-decoding-process-specification/"> AV1 Bitstream and Decoding Process Specification</a>
+         * Annex A.
+         */
         public static final int AV1Profile2     = 0x4;
 
         public static final int AV1Level2       = 0x1;
diff --git a/media/java/android/media/MediaDrm.java b/media/java/android/media/MediaDrm.java
index 9258b85..aeb77cf 100644
--- a/media/java/android/media/MediaDrm.java
+++ b/media/java/android/media/MediaDrm.java
@@ -16,6 +16,7 @@
 
 package android.media;
 
+import android.annotation.CallbackExecutor;
 import android.annotation.IntDef;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
@@ -24,6 +25,7 @@
 import android.annotation.UnsupportedAppUsage;
 import android.app.ActivityThread;
 import android.os.Handler;
+import android.os.HandlerExecutor;
 import android.os.Looper;
 import android.os.Message;
 import android.os.Parcel;
@@ -36,8 +38,13 @@
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.UUID;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.function.Consumer;
+import java.util.function.Function;
 
 
 /**
@@ -131,21 +138,6 @@
 
     private static final String PERMISSION = android.Manifest.permission.ACCESS_DRM_CERTIFICATES;
 
-    private EventHandler mEventHandler;
-    private EventHandler mKeyStatusChangeHandler;
-    private EventHandler mExpirationUpdateHandler;
-    private EventHandler mSessionLostStateHandler;
-
-    private OnEventListener mOnEventListener;
-    private OnKeyStatusChangeListener mOnKeyStatusChangeListener;
-    private OnExpirationUpdateListener mOnExpirationUpdateListener;
-    private OnSessionLostStateListener mOnSessionLostStateListener;
-
-    private final Object mEventLock = new Object();
-    private final Object mKeyStatusChangeLock = new Object();
-    private final Object mExpirationUpdateLock = new Object();
-    private final Object mSessionLostStateLock = new Object();
-
     private long mNativeContext;
 
     /**
@@ -227,35 +219,19 @@
     private static final native boolean isCryptoSchemeSupportedNative(
             @NonNull byte[] uuid, @Nullable String mimeType, @SecurityLevel int securityLevel);
 
-    private EventHandler createHandler() {
+    private Handler createHandler() {
         Looper looper;
-        EventHandler handler;
+        Handler handler;
         if ((looper = Looper.myLooper()) != null) {
-            handler = new EventHandler(this, looper);
+            handler = new Handler(looper);
         } else if ((looper = Looper.getMainLooper()) != null) {
-            handler = new EventHandler(this, looper);
+            handler = new Handler(looper);
         } else {
             handler = null;
         }
         return handler;
     }
 
-    private EventHandler updateHandler(Handler handler) {
-        Looper looper;
-        EventHandler newHandler = null;
-        if (handler != null) {
-            looper = handler.getLooper();
-        } else {
-            looper = Looper.myLooper();
-        }
-        if (looper != null) {
-            if (handler == null || handler.getLooper() != looper) {
-                newHandler = new EventHandler(this, looper);
-            }
-        }
-        return newHandler;
-    }
-
     /**
      * Instantiate a MediaDrm object
      *
@@ -265,11 +241,6 @@
      * specified scheme UUID
      */
     public MediaDrm(@NonNull UUID uuid) throws UnsupportedSchemeException {
-        mEventHandler = createHandler();
-        mKeyStatusChangeHandler = createHandler();
-        mExpirationUpdateHandler = createHandler();
-        mSessionLostStateHandler = createHandler();
-
         /* Native setup requires a weak reference to our object.
          * It's easier to create it here than in C++.
          */
@@ -368,12 +339,30 @@
      */
     public void setOnExpirationUpdateListener(
             @Nullable OnExpirationUpdateListener listener, @Nullable Handler handler) {
-        synchronized(mExpirationUpdateLock) {
-            if (listener != null) {
-                mExpirationUpdateHandler = updateHandler(handler);
-            }
-            mOnExpirationUpdateListener = listener;
-        }
+        setListenerWithHandler(EXPIRATION_UPDATE, handler, listener,
+                this::createOnExpirationUpdateListener);
+    }
+    /**
+     * Register a callback to be invoked when a session expiration update
+     * occurs.
+     *
+     * @see #setOnExpirationUpdateListener(OnExpirationUpdateListener, Handler)
+     *
+     * @param executor the executor through which the listener should be invoked
+     * @param listener the callback that will be run.
+     */
+    public void setOnExpirationUpdateListener(
+            @NonNull @CallbackExecutor Executor executor,
+            @NonNull OnExpirationUpdateListener listener) {
+        setListenerWithExecutor(EXPIRATION_UPDATE, executor, listener,
+                this::createOnExpirationUpdateListener);
+    }
+
+    /**
+     * Clear the {@link OnExpirationUpdateListener}.
+     */
+    public void clearOnExpirationUpdateListener() {
+        clearGenericListener(EXPIRATION_UPDATE);
     }
 
     /**
@@ -407,12 +396,31 @@
      */
     public void setOnKeyStatusChangeListener(
             @Nullable OnKeyStatusChangeListener listener, @Nullable Handler handler) {
-        synchronized(mKeyStatusChangeLock) {
-            if (listener != null) {
-                mKeyStatusChangeHandler = updateHandler(handler);
-            }
-            mOnKeyStatusChangeListener = listener;
-        }
+        setListenerWithHandler(KEY_STATUS_CHANGE, handler, listener,
+                this::createOnKeyStatusChangeListener);
+    }
+
+    /**
+     * Register a callback to be invoked when the state of keys in a session
+     * change.
+     *
+     * @see #setOnKeyStatusChangeListener(OnKeyStatusChangeListener, Handler)
+     *
+     * @param listener the callback that will be run when key status changes.
+     * @param executor the executor on which the listener should be invoked.
+     */
+    public void setOnKeyStatusChangeListener(
+            @NonNull @CallbackExecutor Executor executor,
+            @NonNull OnKeyStatusChangeListener listener) {
+        setListenerWithExecutor(KEY_STATUS_CHANGE, executor, listener,
+                this::createOnKeyStatusChangeListener);
+    }
+
+    /**
+     * Clear the {@link OnKeyStatusChangeListener}.
+     */
+    public void clearOnKeyStatusChangeListener() {
+        clearGenericListener(KEY_STATUS_CHANGE);
     }
 
     /**
@@ -453,12 +461,31 @@
      */
     public void setOnSessionLostStateListener(
             @Nullable OnSessionLostStateListener listener, @Nullable Handler handler) {
-        synchronized(mSessionLostStateLock) {
-            if (listener != null) {
-                mSessionLostStateHandler = updateHandler(handler);
-            }
-            mOnSessionLostStateListener = listener;
-        }
+        setListenerWithHandler(SESSION_LOST_STATE, handler, listener,
+                this::createOnSessionLostStateListener);
+    }
+
+    /**
+     * Register a callback to be invoked when session state has been
+     * lost.
+     *
+     * @see #setOnSessionLostStateListener(OnSessionLostStateListener, Handler)
+     *
+     * @param listener the callback that will be run.
+     * @param executor the executor on which the listener should be invoked.
+     */
+    public void setOnSessionLostStateListener(
+            @NonNull @CallbackExecutor Executor executor,
+            @Nullable OnSessionLostStateListener listener) {
+        setListenerWithExecutor(SESSION_LOST_STATE, executor, listener,
+                this::createOnSessionLostStateListener);
+    }
+
+    /**
+     * Clear the {@link OnSessionLostStateListener}.
+     */
+    public void clearOnSessionLostStateListener() {
+        clearGenericListener(SESSION_LOST_STATE);
     }
 
     /**
@@ -552,14 +579,48 @@
     /**
      * Register a callback to be invoked when an event occurs
      *
+     * @see #setOnEventListener(OnEventListener, Handler)
+     *
      * @param listener the callback that will be run.  Use {@code null} to
      *        stop receiving event callbacks.
      */
     public void setOnEventListener(@Nullable OnEventListener listener)
     {
-        synchronized(mEventLock) {
-            mOnEventListener = listener;
-        }
+        setOnEventListener(listener, null);
+    }
+
+    /**
+     * Register a callback to be invoked when an event occurs
+     *
+     * @param listener the callback that will be run.  Use {@code null} to
+     *        stop receiving event callbacks.
+     * @param handler the handler on which the listener should be invoked, or
+     *        null if the listener should be invoked on the calling thread's looper.
+     */
+
+    public void setOnEventListener(@Nullable OnEventListener listener, @Nullable Handler handler)
+    {
+        setListenerWithHandler(DRM_EVENT, handler, listener, this::createOnEventListener);
+    }
+
+    /**
+     * Register a callback to be invoked when an event occurs
+     *
+     * @see #setOnEventListener(OnEventListener)
+     *
+     * @param executor the executor through which the listener should be invoked
+     * @param listener the callback that will be run.
+     */
+    public void setOnEventListener(@NonNull @CallbackExecutor Executor executor,
+            @NonNull OnEventListener listener) {
+        setListenerWithExecutor(DRM_EVENT, executor, listener, this::createOnEventListener);
+    }
+
+    /**
+     * Clear the {@link OnEventListener}.
+     */
+    public void clearOnEventListener() {
+        clearGenericListener(DRM_EVENT);
     }
 
     /**
@@ -637,99 +698,112 @@
     private static final int KEY_STATUS_CHANGE = 202;
     private static final int SESSION_LOST_STATE = 203;
 
-    private class EventHandler extends Handler
-    {
-        private MediaDrm mMediaDrm;
+    // Use ConcurrentMap to support concurrent read/write to listener settings.
+    // ListenerWithExecutor is immutable so we shouldn't need further locks.
+    private final Map<Integer, ListenerWithExecutor> mListenerMap = new ConcurrentHashMap<>();
 
-        public EventHandler(@NonNull MediaDrm md, @NonNull Looper looper) {
-            super(looper);
-            mMediaDrm = md;
+    // called by old-style set*Listener APIs using Handlers; listener & handler are Nullable
+    private <T> void setListenerWithHandler(int what, Handler handler, T listener,
+            Function<T, Consumer<ListenerArgs>> converter) {
+        if (listener == null) {
+            clearGenericListener(what);
+        } else {
+            handler = handler == null ? createHandler() : handler;
+            final HandlerExecutor executor = new HandlerExecutor(handler);
+            setGenericListener(what, executor, listener, converter);
         }
+    }
 
-        @Override
-        public void handleMessage(@NonNull Message msg) {
-            if (mMediaDrm.mNativeContext == 0) {
-                Log.w(TAG, "MediaDrm went away with unhandled events");
-                return;
+    // called by new-style set*Listener APIs using Executors; listener & executor must be NonNull
+    private <T> void setListenerWithExecutor(int what, Executor executor, T listener,
+            Function<T, Consumer<ListenerArgs>> converter) {
+        if (executor == null || listener == null) {
+            final String errMsg = String.format("executor %s listener %s", executor, listener);
+            throw new IllegalArgumentException(errMsg);
+        }
+        setGenericListener(what, executor, listener, converter);
+    }
+
+    private <T> void setGenericListener(int what, Executor executor, T listener,
+            Function<T, Consumer<ListenerArgs>> converter) {
+        mListenerMap.put(what, new ListenerWithExecutor(executor, converter.apply(listener)));
+    }
+
+    private void clearGenericListener(int what) {
+        mListenerMap.remove(what);
+    }
+
+    private Consumer<ListenerArgs> createOnEventListener(OnEventListener listener) {
+        return args -> {
+            byte[] sessionId = args.parcel.createByteArray();
+            if (sessionId.length == 0) {
+                sessionId = null;
             }
-            switch(msg.what) {
-
-            case DRM_EVENT:
-                synchronized(mEventLock) {
-                    if (mOnEventListener != null) {
-                        if (msg.obj != null && msg.obj instanceof Parcel) {
-                            Parcel parcel = (Parcel)msg.obj;
-                            byte[] sessionId = parcel.createByteArray();
-                            if (sessionId.length == 0) {
-                                sessionId = null;
-                            }
-                            byte[] data = parcel.createByteArray();
-                            if (data.length == 0) {
-                                data = null;
-                            }
-
-                            Log.i(TAG, "Drm event (" + msg.arg1 + "," + msg.arg2 + ")");
-                            mOnEventListener.onEvent(mMediaDrm, sessionId, msg.arg1, msg.arg2, data);
-                        }
-                    }
-                }
-                return;
-
-            case KEY_STATUS_CHANGE:
-                synchronized(mKeyStatusChangeLock) {
-                    if (mOnKeyStatusChangeListener != null) {
-                        if (msg.obj != null && msg.obj instanceof Parcel) {
-                            Parcel parcel = (Parcel)msg.obj;
-                            byte[] sessionId = parcel.createByteArray();
-                            if (sessionId.length > 0) {
-                                List<KeyStatus> keyStatusList = keyStatusListFromParcel(parcel);
-                                boolean hasNewUsableKey = (parcel.readInt() != 0);
-
-                                Log.i(TAG, "Drm key status changed");
-                                mOnKeyStatusChangeListener.onKeyStatusChange(mMediaDrm, sessionId,
-                                        keyStatusList, hasNewUsableKey);
-                            }
-                        }
-                    }
-                }
-                return;
-
-            case EXPIRATION_UPDATE:
-                synchronized(mExpirationUpdateLock) {
-                    if (mOnExpirationUpdateListener != null) {
-                        if (msg.obj != null && msg.obj instanceof Parcel) {
-                            Parcel parcel = (Parcel)msg.obj;
-                            byte[] sessionId = parcel.createByteArray();
-                            if (sessionId.length > 0) {
-                                long expirationTime = parcel.readLong();
-
-                                Log.i(TAG, "Drm key expiration update: " + expirationTime);
-                                mOnExpirationUpdateListener.onExpirationUpdate(mMediaDrm, sessionId,
-                                        expirationTime);
-                            }
-                        }
-                    }
-                }
-                return;
-
-            case SESSION_LOST_STATE:
-                synchronized(mSessionLostStateLock) {
-                    if (mOnSessionLostStateListener != null) {
-                        if (msg.obj != null && msg.obj instanceof Parcel) {
-                            Parcel parcel = (Parcel)msg.obj;
-                            byte[] sessionId = parcel.createByteArray();
-                            Log.i(TAG, "Drm session lost state event: ");
-                            mOnSessionLostStateListener.onSessionLostState(mMediaDrm,
-                                    sessionId);
-                        }
-                    }
-                }
-                return;
-
-            default:
-                Log.e(TAG, "Unknown message type " + msg.what);
-                return;
+            byte[] data = args.parcel.createByteArray();
+            if (data.length == 0) {
+                data = null;
             }
+
+            Log.i(TAG, "Drm event (" + args.arg1 + "," + args.arg2 + ")");
+            listener.onEvent(this, sessionId, args.arg1, args.arg2, data);
+        };
+    }
+
+    private Consumer<ListenerArgs> createOnKeyStatusChangeListener(
+            OnKeyStatusChangeListener listener) {
+        return args -> {
+            byte[] sessionId = args.parcel.createByteArray();
+            if (sessionId.length > 0) {
+                List<KeyStatus> keyStatusList = keyStatusListFromParcel(args.parcel);
+                boolean hasNewUsableKey = (args.parcel.readInt() != 0);
+
+                Log.i(TAG, "Drm key status changed");
+                listener.onKeyStatusChange(this, sessionId, keyStatusList, hasNewUsableKey);
+            }
+        };
+    }
+
+    private Consumer<ListenerArgs> createOnExpirationUpdateListener(
+            OnExpirationUpdateListener listener) {
+        return args -> {
+            byte[] sessionId = args.parcel.createByteArray();
+            if (sessionId.length > 0) {
+                long expirationTime = args.parcel.readLong();
+
+                Log.i(TAG, "Drm key expiration update: " + expirationTime);
+                listener.onExpirationUpdate(this, sessionId, expirationTime);
+            }
+        };
+    }
+
+    private Consumer<ListenerArgs> createOnSessionLostStateListener(
+            OnSessionLostStateListener listener) {
+        return args -> {
+            byte[] sessionId = args.parcel.createByteArray();
+            Log.i(TAG, "Drm session lost state event: ");
+            listener.onSessionLostState(this, sessionId);
+        };
+    }
+
+    private static class ListenerArgs {
+        private final Parcel parcel;
+        private final int arg1;
+        private final int arg2;
+
+        public ListenerArgs(Parcel parcel, int arg1, int arg2) {
+            this.parcel = parcel;
+            this.arg1 = arg1;
+            this.arg2 = arg2;
+        }
+    }
+
+    private static class ListenerWithExecutor {
+        private final Consumer<ListenerArgs> mConsumer;
+        private final Executor mExecutor;
+
+        public ListenerWithExecutor(Executor executor, Consumer<ListenerArgs> consumer) {
+            this.mExecutor = executor;
+            this.mConsumer = consumer;
         }
     }
 
@@ -764,35 +838,22 @@
         }
         switch (what) {
             case DRM_EVENT:
-                synchronized(md.mEventLock) {
-                    if (md.mEventHandler != null) {
-                        Message m = md.mEventHandler.obtainMessage(what, eventType, extra, obj);
-                        md.mEventHandler.sendMessage(m);
-                    }
-                }
-                break;
             case EXPIRATION_UPDATE:
-                synchronized(md.mExpirationUpdateLock) {
-                    if (md.mExpirationUpdateHandler != null) {
-                        Message m = md.mExpirationUpdateHandler.obtainMessage(what, obj);
-                        md.mExpirationUpdateHandler.sendMessage(m);
-                    }
-                }
-                break;
             case KEY_STATUS_CHANGE:
-                synchronized(md.mKeyStatusChangeLock) {
-                    if (md.mKeyStatusChangeHandler != null) {
-                        Message m = md.mKeyStatusChangeHandler.obtainMessage(what, obj);
-                        md.mKeyStatusChangeHandler.sendMessage(m);
-                    }
-                }
-                break;
             case SESSION_LOST_STATE:
-                synchronized(md.mSessionLostStateLock) {
-                    if (md.mSessionLostStateHandler != null) {
-                        Message m = md.mSessionLostStateHandler.obtainMessage(what, obj);
-                        md.mSessionLostStateHandler.sendMessage(m);
-                    }
+                ListenerWithExecutor listener  = md.mListenerMap.get(what);
+                if (listener != null) {
+                    final Runnable command = () -> {
+                        if (md.mNativeContext == 0) {
+                            Log.w(TAG, "MediaDrm went away with unhandled events");
+                            return;
+                        }
+                        if (obj != null && obj instanceof Parcel) {
+                            Parcel p = (Parcel)obj;
+                            listener.mConsumer.accept(new ListenerArgs(p, eventType, extra));
+                        }
+                    };
+                    listener.mExecutor.execute(command);
                 }
                 break;
             default:
@@ -1302,6 +1363,18 @@
         removeAllSecureStops();;
     }
 
+    /**
+     * @deprecated Not of any use for application development;
+     * please note that the related integer constants remain supported:
+     * {@link #HDCP_LEVEL_UNKNOWN},
+     * {@link #HDCP_NONE},
+     * {@link #HDCP_V1},
+     * {@link #HDCP_V2},
+     * {@link #HDCP_V2_1},
+     * {@link #HDCP_V2_2},
+     * {@link #HDCP_V2_3}
+     */
+    @Deprecated
     @Retention(RetentionPolicy.SOURCE)
     @IntDef({HDCP_LEVEL_UNKNOWN, HDCP_NONE, HDCP_V1, HDCP_V2,
                         HDCP_V2_1, HDCP_V2_2, HDCP_V2_3, HDCP_NO_DIGITAL_OUTPUT})
@@ -1394,7 +1467,17 @@
     /**
      * Security level indicates the robustness of the device's DRM
      * implementation.
+     *
+     * @deprecated Not of any use for application development;
+     * please note that the related integer constants remain supported:
+     * {@link #SECURITY_LEVEL_UNKNOWN},
+     * {@link #SECURITY_LEVEL_SW_SECURE_CRYPTO},
+     * {@link #SECURITY_LEVEL_SW_SECURE_DECODE},
+     * {@link #SECURITY_LEVEL_HW_SECURE_CRYPTO},
+     * {@link #SECURITY_LEVEL_HW_SECURE_DECODE},
+     * {@link #SECURITY_LEVEL_HW_SECURE_ALL}
      */
+    @Deprecated
     @Retention(RetentionPolicy.SOURCE)
     @IntDef({SECURITY_LEVEL_UNKNOWN, SECURITY_LEVEL_SW_SECURE_CRYPTO,
             SECURITY_LEVEL_SW_SECURE_DECODE, SECURITY_LEVEL_HW_SECURE_CRYPTO,
@@ -1505,13 +1588,13 @@
      * {@link #PROPERTY_DESCRIPTION}, {@link #PROPERTY_ALGORITHMS}
      */
     @NonNull
-    public native String getPropertyString(@NonNull @StringProperty String propertyName);
+    public native String getPropertyString(@NonNull String propertyName);
 
     /**
      * Set a MediaDrm String property value, given the property name string
      * and new value for the property.
      */
-    public native void setPropertyString(@NonNull @StringProperty String propertyName,
+    public native void setPropertyString(@NonNull String propertyName,
             @NonNull String value);
 
     /**
@@ -1533,14 +1616,14 @@
      * Standard fields names are {@link #PROPERTY_DEVICE_UNIQUE_ID}
      */
     @NonNull
-    public native byte[] getPropertyByteArray(@ArrayProperty String propertyName);
+    public native byte[] getPropertyByteArray(String propertyName);
 
     /**
     * Set a MediaDrm byte array property value, given the property name string
     * and new value for the property.
     */
-    public native void setPropertyByteArray(@NonNull @ArrayProperty
-            String propertyName, @NonNull byte[] value);
+    public native void setPropertyByteArray(
+            @NonNull String propertyName, @NonNull byte[] value);
 
     private static final native void setCipherAlgorithmNative(
             @NonNull MediaDrm drm, @NonNull byte[] sessionId, @NonNull String algorithm);
diff --git a/media/java/android/media/MediaHTTPConnection.java b/media/java/android/media/MediaHTTPConnection.java
index d724762..3838a999 100644
--- a/media/java/android/media/MediaHTTPConnection.java
+++ b/media/java/android/media/MediaHTTPConnection.java
@@ -37,6 +37,7 @@
 import java.net.UnknownServiceException;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.concurrent.atomic.AtomicReference;
 
 /** @hide */
 public class MediaHTTPConnection extends IMediaHTTPConnection.Stub {
@@ -46,27 +47,23 @@
     // connection timeout - 30 sec
     private static final int CONNECT_TIMEOUT_MS = 30 * 1000;
 
-    @UnsupportedAppUsage
-    private long mCurrentOffset = -1;
-    @UnsupportedAppUsage
-    private URL mURL = null;
-    @UnsupportedAppUsage
-    private Map<String, String> mHeaders = null;
-    @UnsupportedAppUsage
-    private HttpURLConnection mConnection = null;
-    @UnsupportedAppUsage
-    private long mTotalSize = -1;
-    private InputStream mInputStream = null;
-
-    @UnsupportedAppUsage
-    private boolean mAllowCrossDomainRedirect = true;
-    @UnsupportedAppUsage
-    private boolean mAllowCrossProtocolRedirect = true;
-
     // from com.squareup.okhttp.internal.http
     private final static int HTTP_TEMP_REDIRECT = 307;
     private final static int MAX_REDIRECTS = 20;
 
+    class ConnectionState {
+        public HttpURLConnection mConnection = null;
+        public InputStream mInputStream = null;
+        public long mCurrentOffset = -1;
+        public Map<String, String> mHeaders = null;
+        public URL mURL = null;
+        public long mTotalSize = -1;
+        public boolean mAllowCrossDomainRedirect = true;
+        public boolean mAllowCrossProtocolRedirect = true;
+    }
+    private final AtomicReference<ConnectionState> mConnectionStateHolder =
+            new AtomicReference<ConnectionState>();
+
     @UnsupportedAppUsage
     public MediaHTTPConnection() {
         CookieHandler cookieHandler = CookieHandler.getDefault();
@@ -84,13 +81,23 @@
             Log.d(TAG, "connect: uri=" + uri + ", headers=" + headers);
         }
 
+        ConnectionState connectionState = mConnectionStateHolder.get();
+        synchronized (this) {
+            if (connectionState == null) {
+                connectionState = new ConnectionState();
+                mConnectionStateHolder.set(connectionState);
+            }
+        }
+
         try {
             disconnect();
-            mAllowCrossDomainRedirect = true;
-            mURL = new URL(uri);
-            mHeaders = convertHeaderStringToMap(headers);
+            connectionState.mAllowCrossDomainRedirect = true;
+            connectionState.mURL = new URL(uri);
+            connectionState.mHeaders = convertHeaderStringToMap(headers, connectionState);
         } catch (MalformedURLException e) {
             return null;
+        } finally {
+            mConnectionStateHolder.set(connectionState);
         }
 
         return native_getIMemory();
@@ -106,18 +113,21 @@
     }
 
     /* returns true iff header is internal */
-    private boolean filterOutInternalHeaders(String key, String val) {
+    private boolean filterOutInternalHeaders(
+            String key, String val, ConnectionState connectionState) {
         if ("android-allow-cross-domain-redirect".equalsIgnoreCase(key)) {
-            mAllowCrossDomainRedirect = parseBoolean(val);
+            connectionState.mAllowCrossDomainRedirect = parseBoolean(val);
             // cross-protocol redirects are also controlled by this flag
-            mAllowCrossProtocolRedirect = mAllowCrossDomainRedirect;
+            connectionState.mAllowCrossProtocolRedirect =
+                    connectionState.mAllowCrossDomainRedirect;
         } else {
             return false;
         }
         return true;
     }
 
-    private Map<String, String> convertHeaderStringToMap(String headers) {
+    private Map<String, String> convertHeaderStringToMap(String headers,
+            ConnectionState connectionState) {
         HashMap<String, String> map = new HashMap<String, String>();
 
         String[] pairs = headers.split("\r\n");
@@ -127,7 +137,7 @@
                 String key = pair.substring(0, colonPos);
                 String val = pair.substring(colonPos + 1);
 
-                if (!filterOutInternalHeaders(key, val)) {
+                if (!filterOutInternalHeaders(key, val, connectionState)) {
                     map.put(key, val);
                 }
             }
@@ -139,25 +149,28 @@
     @Override
     @UnsupportedAppUsage
     public void disconnect() {
-        teardownConnection();
-        mHeaders = null;
-        mURL = null;
+        ConnectionState connectionState = mConnectionStateHolder.getAndSet(null);
+        if (connectionState != null) {
+            teardownConnection(connectionState);
+            connectionState.mHeaders = null;
+            connectionState.mURL = null;
+        }
     }
 
-    private void teardownConnection() {
-        if (mConnection != null) {
-            if (mInputStream != null) {
+    private void teardownConnection(ConnectionState connectionState) {
+        if (connectionState.mConnection != null) {
+            if (connectionState.mInputStream != null) {
                 try {
-                    mInputStream.close();
+                    connectionState.mInputStream.close();
                 } catch (IOException e) {
                 }
-                mInputStream = null;
+                connectionState.mInputStream = null;
             }
 
-            mConnection.disconnect();
-            mConnection = null;
+            connectionState.mConnection.disconnect();
+            connectionState.mConnection = null;
 
-            mCurrentOffset = -1;
+            connectionState.mCurrentOffset = -1;
         }
     }
 
@@ -184,42 +197,44 @@
         return false;
     }
 
-    private void seekTo(long offset) throws IOException {
-        teardownConnection();
+    private void seekTo(long offset, ConnectionState connectionState) throws IOException {
+        teardownConnection(connectionState);
 
         try {
             int response;
             int redirectCount = 0;
 
-            URL url = mURL;
+            URL url = connectionState.mURL;
 
             // do not use any proxy for localhost (127.0.0.1)
             boolean noProxy = isLocalHost(url);
 
             while (true) {
                 if (noProxy) {
-                    mConnection = (HttpURLConnection)url.openConnection(Proxy.NO_PROXY);
+                    connectionState.mConnection =
+                            (HttpURLConnection) url.openConnection(Proxy.NO_PROXY);
                 } else {
-                    mConnection = (HttpURLConnection)url.openConnection();
+                    connectionState.mConnection = (HttpURLConnection) url.openConnection();
                 }
-                mConnection.setConnectTimeout(CONNECT_TIMEOUT_MS);
+                connectionState.mConnection.setConnectTimeout(CONNECT_TIMEOUT_MS);
 
                 // handle redirects ourselves if we do not allow cross-domain redirect
-                mConnection.setInstanceFollowRedirects(mAllowCrossDomainRedirect);
+                connectionState.mConnection.setInstanceFollowRedirects(
+                        connectionState.mAllowCrossDomainRedirect);
 
-                if (mHeaders != null) {
-                    for (Map.Entry<String, String> entry : mHeaders.entrySet()) {
-                        mConnection.setRequestProperty(
+                if (connectionState.mHeaders != null) {
+                    for (Map.Entry<String, String> entry : connectionState.mHeaders.entrySet()) {
+                        connectionState.mConnection.setRequestProperty(
                                 entry.getKey(), entry.getValue());
                     }
                 }
 
                 if (offset > 0) {
-                    mConnection.setRequestProperty(
+                    connectionState.mConnection.setRequestProperty(
                             "Range", "bytes=" + offset + "-");
                 }
 
-                response = mConnection.getResponseCode();
+                response = connectionState.mConnection.getResponseCode();
                 if (response != HttpURLConnection.HTTP_MULT_CHOICE &&
                         response != HttpURLConnection.HTTP_MOVED_PERM &&
                         response != HttpURLConnection.HTTP_MOVED_TEMP &&
@@ -233,7 +248,7 @@
                     throw new NoRouteToHostException("Too many redirects: " + redirectCount);
                 }
 
-                String method = mConnection.getRequestMethod();
+                String method = connectionState.mConnection.getRequestMethod();
                 if (response == HTTP_TEMP_REDIRECT &&
                         !method.equals("GET") && !method.equals("HEAD")) {
                     // "If the 307 status code is received in response to a
@@ -241,34 +256,35 @@
                     // automatically redirect the request"
                     throw new NoRouteToHostException("Invalid redirect");
                 }
-                String location = mConnection.getHeaderField("Location");
+                String location = connectionState.mConnection.getHeaderField("Location");
                 if (location == null) {
                     throw new NoRouteToHostException("Invalid redirect");
                 }
-                url = new URL(mURL /* TRICKY: don't use url! */, location);
+                url = new URL(connectionState.mURL /* TRICKY: don't use url! */, location);
                 if (!url.getProtocol().equals("https") &&
                         !url.getProtocol().equals("http")) {
                     throw new NoRouteToHostException("Unsupported protocol redirect");
                 }
-                boolean sameProtocol = mURL.getProtocol().equals(url.getProtocol());
-                if (!mAllowCrossProtocolRedirect && !sameProtocol) {
+                boolean sameProtocol =
+                        connectionState.mURL.getProtocol().equals(url.getProtocol());
+                if (!connectionState.mAllowCrossProtocolRedirect && !sameProtocol) {
                     throw new NoRouteToHostException("Cross-protocol redirects are disallowed");
                 }
-                boolean sameHost = mURL.getHost().equals(url.getHost());
-                if (!mAllowCrossDomainRedirect && !sameHost) {
+                boolean sameHost = connectionState.mURL.getHost().equals(url.getHost());
+                if (!connectionState.mAllowCrossDomainRedirect && !sameHost) {
                     throw new NoRouteToHostException("Cross-domain redirects are disallowed");
                 }
 
                 if (response != HTTP_TEMP_REDIRECT) {
                     // update effective URL, unless it is a Temporary Redirect
-                    mURL = url;
+                    connectionState.mURL = url;
                 }
             }
 
-            if (mAllowCrossDomainRedirect) {
+            if (connectionState.mAllowCrossDomainRedirect) {
                 // remember the current, potentially redirected URL if redirects
                 // were handled by HttpURLConnection
-                mURL = mConnection.getURL();
+                connectionState.mURL = connectionState.mConnection.getURL();
             }
 
             if (response == HttpURLConnection.HTTP_PARTIAL) {
@@ -276,10 +292,9 @@
                 // because what we want is not just the length of the range
                 // returned but the size of the full content if available.
 
-                String contentRange =
-                    mConnection.getHeaderField("Content-Range");
+                String contentRange = connectionState.mConnection.getHeaderField("Content-Range");
 
-                mTotalSize = -1;
+                connectionState.mTotalSize = -1;
                 if (contentRange != null) {
                     // format is "bytes xxx-yyy/zzz
                     // where "zzz" is the total number of bytes of the
@@ -291,7 +306,7 @@
                             contentRange.substring(lastSlashPos + 1);
 
                         try {
-                            mTotalSize = Long.parseLong(total);
+                            connectionState.mTotalSize = Long.parseLong(total);
                         } catch (NumberFormatException e) {
                         }
                     }
@@ -299,7 +314,7 @@
             } else if (response != HttpURLConnection.HTTP_OK) {
                 throw new IOException();
             } else {
-                mTotalSize = mConnection.getContentLength();
+                connectionState.mTotalSize = connectionState.mConnection.getContentLength();
             }
 
             if (offset > 0 && response != HttpURLConnection.HTTP_PARTIAL) {
@@ -308,14 +323,14 @@
                 throw new ProtocolException();
             }
 
-            mInputStream =
-                new BufferedInputStream(mConnection.getInputStream());
+            connectionState.mInputStream =
+                new BufferedInputStream(connectionState.mConnection.getInputStream());
 
-            mCurrentOffset = offset;
+            connectionState.mCurrentOffset = offset;
         } catch (IOException e) {
-            mTotalSize = -1;
-            teardownConnection();
-            mCurrentOffset = -1;
+            connectionState.mTotalSize = -1;
+            teardownConnection(connectionState);
+            connectionState.mCurrentOffset = -1;
 
             throw e;
         }
@@ -324,10 +339,14 @@
     @Override
     @UnsupportedAppUsage
     public int readAt(long offset, int size) {
-        return native_readAt(offset, size);
+        ConnectionState connectionState = mConnectionStateHolder.get();
+        if (connectionState != null) {
+            return native_readAt(offset, size, connectionState);
+        }
+        return -1;
     }
 
-    private int readAt(long offset, byte[] data, int size) {
+    private int readAt(long offset, byte[] data, int size, ConnectionState connectionState) {
         StrictMode.ThreadPolicy policy =
             new StrictMode.ThreadPolicy.Builder().permitAll().build();
 
@@ -335,12 +354,12 @@
 
         try {
             synchronized(this) {
-                if (offset != mCurrentOffset) {
-                    seekTo(offset);
+                if (offset != connectionState.mCurrentOffset) {
+                    seekTo(offset, connectionState);
                 }
             }
 
-            int n = mInputStream.read(data, 0, size);
+            int n = connectionState.mInputStream.read(data, 0, size);
 
             if (n == -1) {
                 // InputStream signals EOS using a -1 result, our semantics
@@ -348,7 +367,7 @@
                 n = 0;
             }
 
-            mCurrentOffset += n;
+            connectionState.mCurrentOffset += n;
 
             if (VERBOSE) {
                 Log.d(TAG, "readAt " + offset + " / " + size + " => " + n);
@@ -380,35 +399,47 @@
 
     @Override
     public synchronized long getSize() {
-        if (mConnection == null) {
-            try {
-                seekTo(0);
-            } catch (IOException e) {
-                return -1;
+        ConnectionState connectionState = mConnectionStateHolder.get();
+        if (connectionState != null) {
+            if (connectionState.mConnection == null) {
+                try {
+                    seekTo(0, connectionState);
+                } catch (IOException e) {
+                    return -1;
+                }
             }
+            return connectionState.mTotalSize;
         }
 
-        return mTotalSize;
+        return -1;
     }
 
     @Override
     @UnsupportedAppUsage
     public synchronized String getMIMEType() {
-        if (mConnection == null) {
-            try {
-                seekTo(0);
-            } catch (IOException e) {
-                return "application/octet-stream";
+        ConnectionState connectionState = mConnectionStateHolder.get();
+        if (connectionState != null) {
+            if (connectionState.mConnection == null) {
+                try {
+                    seekTo(0, connectionState);
+                } catch (IOException e) {
+                    return "application/octet-stream";
+                }
             }
+            return connectionState.mConnection.getContentType();
         }
 
-        return mConnection.getContentType();
+        return null;
     }
 
     @Override
     @UnsupportedAppUsage
     public String getUri() {
-        return mURL.toString();
+        ConnectionState connectionState = mConnectionStateHolder.get();
+        if (connectionState != null) {
+            return connectionState.mURL.toString();
+        }
+        return null;
     }
 
     @Override
@@ -421,7 +452,7 @@
     private native final void native_finalize();
 
     private native final IBinder native_getIMemory();
-    private native final int native_readAt(long offset, int size);
+    private native int native_readAt(long offset, int size, ConnectionState connectionState);
 
     static {
         System.loadLibrary("media_jni");
diff --git a/media/java/android/media/MediaPlayer.java b/media/java/android/media/MediaPlayer.java
index abbfa88..040152a 100644
--- a/media/java/android/media/MediaPlayer.java
+++ b/media/java/android/media/MediaPlayer.java
@@ -2645,7 +2645,7 @@
      */
     private synchronized void setSubtitleAnchor() {
         if ((mSubtitleController == null) && (ActivityThread.currentApplication() != null)) {
-            getMediaTimeProvider();
+            final TimeProvider timeProvider = (TimeProvider) getMediaTimeProvider();
             final HandlerThread thread = new HandlerThread("SetSubtitleAnchorThread");
             thread.start();
             Handler handler = new Handler(thread.getLooper());
@@ -2653,7 +2653,8 @@
                 @Override
                 public void run() {
                     Context context = ActivityThread.currentApplication();
-                    mSubtitleController = new SubtitleController(context, mTimeProvider, MediaPlayer.this);
+                    mSubtitleController =
+                            new SubtitleController(context, timeProvider, MediaPlayer.this);
                     mSubtitleController.setAnchor(new Anchor() {
                         @Override
                         public void setSubtitleWidget(RenderingWidget subtitleWidget) {
@@ -2661,7 +2662,7 @@
 
                         @Override
                         public Looper getSubtitleLooper() {
-                            return mTimeProvider.mEventHandler.getLooper();
+                            return timeProvider.mEventHandler.getLooper();
                         }
                     });
                     thread.getLooper().quitSafely();
diff --git a/media/java/android/media/MediaRecorder.java b/media/java/android/media/MediaRecorder.java
index 1304afe..e7b4752 100644
--- a/media/java/android/media/MediaRecorder.java
+++ b/media/java/android/media/MediaRecorder.java
@@ -17,6 +17,7 @@
 package android.media;
 
 import android.annotation.CallbackExecutor;
+import android.annotation.FloatRange;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.RequiresPermission;
@@ -35,6 +36,7 @@
 import android.view.Surface;
 
 import com.android.internal.annotations.GuardedBy;
+import com.android.internal.util.Preconditions;
 
 import java.io.File;
 import java.io.FileDescriptor;
@@ -45,7 +47,6 @@
 import java.util.List;
 import java.util.concurrent.Executor;
 
-
 /**
  * Used to record audio and video. The recording control is based on a
  * simple state machine (see below).
@@ -90,7 +91,8 @@
  */
 public class MediaRecorder implements AudioRouting,
                                       AudioRecordingMonitor,
-                                      AudioRecordingMonitorClient
+                                      AudioRecordingMonitorClient,
+                                      MicrophoneDirection
 {
     static {
         System.loadLibrary("media_jni");
@@ -1527,6 +1529,36 @@
             ArrayList<MicrophoneInfo> activeMicrophones);
 
     //--------------------------------------------------------------------------
+    // MicrophoneDirection
+    //--------------------
+    /**
+     * Specifies the logical microphone (for processing).
+     *
+     * @param direction Direction constant.
+     * @return true if sucessful.
+     */
+    public boolean setMicrophoneDirection(@DirectionMode int direction) {
+        return native_setMicrophoneDirection(direction) == 0;
+    }
+
+    /**
+     * Specifies the zoom factor (i.e. the field dimension) for the selected microphone
+     * (for processing). The selected microphone is determined by the use-case for the stream.
+     *
+     * @param zoom the desired field dimension of microphone capture. Range is from -1 (wide angle),
+     * though 0 (no zoom) to 1 (maximum zoom).
+     * @return true if sucessful.
+     */
+    public boolean setMicrophoneFieldDimension(@FloatRange(from = -1.0, to = 1.0) float zoom) {
+        Preconditions.checkArgument(
+                zoom >= -1 && zoom <= 1, "Argument must fall between -1 & 1 (inclusive)");
+        return native_setMicrophoneFieldDimension(zoom) == 0;
+    }
+
+    private native int native_setMicrophoneDirection(int direction);
+    private native int native_setMicrophoneFieldDimension(float zoom);
+
+    //--------------------------------------------------------------------------
     // Implementation of AudioRecordingMonitor interface
     //--------------------
 
diff --git a/media/java/android/media/MicrophoneDirection.java b/media/java/android/media/MicrophoneDirection.java
index 489e268..2382da5 100644
--- a/media/java/android/media/MicrophoneDirection.java
+++ b/media/java/android/media/MicrophoneDirection.java
@@ -22,6 +22,10 @@
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
 
+/**
+ * Interface defining mechanism for controlling the directionality and field width of
+ * audio capture.
+ */
 public interface MicrophoneDirection {
     /**
      * Don't do any directionality processing of the activated microphone(s).
@@ -41,21 +45,23 @@
     int MIC_DIRECTION_EXTERNAL = 3;
 
     /** @hide */
-    @IntDef({
+    /*public*/ @IntDef({
             MIC_DIRECTION_UNSPECIFIED,
             MIC_DIRECTION_FRONT,
             MIC_DIRECTION_BACK,
             MIC_DIRECTION_EXTERNAL
     })
     @Retention(RetentionPolicy.SOURCE)
-    public @interface Directionmode{};
+    @interface DirectionMode{};
     /**
-     * Specifies the logical microphone (for processing).
+     * Specifies the logical microphone (for processing). Applications can use this to specify
+     * which side of the device to optimize capture from. Typically used in conjunction with
+     * the camera capturing video.
      *
      * @param direction Direction constant.
      * @return true if sucessful.
      */
-    boolean setMicrophoneDirection(@Directionmode int direction);
+    boolean setMicrophoneDirection(@DirectionMode int direction);
 
     /**
      * Specifies the zoom factor (i.e. the field dimension) for the selected microphone
diff --git a/media/java/android/media/PlayerBase.java b/media/java/android/media/PlayerBase.java
index b302b06..50caf733 100644
--- a/media/java/android/media/PlayerBase.java
+++ b/media/java/android/media/PlayerBase.java
@@ -52,6 +52,10 @@
 
     // parameters of the player that affect AppOps
     protected AudioAttributes mAttributes;
+
+    // volumes of the subclass "player volumes", as seen by the client of the subclass
+    //   (e.g. what was passed in AudioTrack.setVolume(float)). The actual volume applied is
+    //   the combination of the player volume, and the PlayerBase pan and volume multipliers
     protected float mLeftVolume = 1.0f;
     protected float mRightVolume = 1.0f;
     protected float mAuxEffectSendLevel = 0.0f;
@@ -79,6 +83,8 @@
     private float mPanMultiplierL = 1.0f;
     @GuardedBy("mLock")
     private float mPanMultiplierR = 1.0f;
+    @GuardedBy("mLock")
+    private float mVolMultiplier = 1.0f;
 
     /**
      * Constructor. Must be given audio attributes, as they are required for AppOps.
@@ -199,18 +205,33 @@
                 mPanMultiplierR = 1.0f + p;
             }
         }
-        baseSetVolume(mLeftVolume, mRightVolume);
+        updatePlayerVolume();
+    }
+
+    private void updatePlayerVolume() {
+        final float finalLeftVol, finalRightVol;
+        final boolean isRestricted;
+        synchronized (mLock) {
+            finalLeftVol = mVolMultiplier * mLeftVolume * mPanMultiplierL;
+            finalRightVol = mVolMultiplier * mRightVolume * mPanMultiplierR;
+            isRestricted = isRestricted_sync();
+        }
+        playerSetVolume(isRestricted /*muting*/, finalLeftVol, finalRightVol);
+    }
+
+    void setVolumeMultiplier(float vol) {
+        synchronized (mLock) {
+            this.mVolMultiplier = vol;
+        }
+        updatePlayerVolume();
     }
 
     void baseSetVolume(float leftVolume, float rightVolume) {
-        final boolean isRestricted;
         synchronized (mLock) {
             mLeftVolume = leftVolume;
             mRightVolume = rightVolume;
-            isRestricted = isRestricted_sync();
         }
-        playerSetVolume(isRestricted/*muting*/,
-                leftVolume * mPanMultiplierL, rightVolume * mPanMultiplierR);
+        updatePlayerVolume();
     }
 
     int baseSetAuxEffectSendLevel(float level) {
@@ -466,7 +487,7 @@
         public void setVolume(float vol) {
             final PlayerBase pb = mWeakPB.get();
             if (pb != null) {
-                pb.baseSetVolume(vol, vol);
+                pb.setVolumeMultiplier(vol);
             }
         }
 
diff --git a/media/java/android/media/RingtoneManager.java b/media/java/android/media/RingtoneManager.java
index 0679e8e9..9a60923 100644
--- a/media/java/android/media/RingtoneManager.java
+++ b/media/java/android/media/RingtoneManager.java
@@ -215,17 +215,19 @@
     // Make sure the column ordering and then ..._COLUMN_INDEX are in sync
     
     private static final String[] INTERNAL_COLUMNS = new String[] {
-        MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE,
-        "\"" + MediaStore.Audio.Media.INTERNAL_CONTENT_URI + "\"",
-        MediaStore.Audio.Media.TITLE_KEY
+        MediaStore.Audio.Media._ID,
+        MediaStore.Audio.Media.TITLE,
+        MediaStore.Audio.Media.TITLE,
+        MediaStore.Audio.Media.TITLE_KEY,
     };
 
     private static final String[] MEDIA_COLUMNS = new String[] {
-        MediaStore.Audio.Media._ID, MediaStore.Audio.Media.TITLE,
-        "\"" + MediaStore.Audio.Media.EXTERNAL_CONTENT_URI + "\"",
-        MediaStore.Audio.Media.TITLE_KEY
+        MediaStore.Audio.Media._ID,
+        MediaStore.Audio.Media.TITLE,
+        MediaStore.Audio.Media.TITLE,
+        MediaStore.Audio.Media.TITLE_KEY,
     };
-    
+
     /**
      * The column index (in the cursor returned by {@link #getCursor()} for the
      * row ID.
@@ -459,8 +461,9 @@
                 // We don't need to re-add the internal ringtones for the work profile since
                 // they are the same as the personal profile. We just need the external
                 // ringtones.
-                return new ExternalRingtonesCursorWrapper(getMediaRingtones(parentContext),
-                        parentInfo.id);
+                final Cursor res = getMediaRingtones(parentContext);
+                return new ExternalRingtonesCursorWrapper(res, ContentProvider.maybeAddUserId(
+                        MediaStore.Audio.Media.EXTERNAL_CONTENT_URI, parentInfo.id));
             }
         }
         return null;
@@ -580,14 +583,16 @@
 
     @UnsupportedAppUsage
     private Cursor getInternalRingtones() {
-        return query(
+        final Cursor res = query(
                 MediaStore.Audio.Media.INTERNAL_CONTENT_URI, INTERNAL_COLUMNS,
                 constructBooleanTrueWhereClause(mFilterColumns),
                 null, MediaStore.Audio.Media.DEFAULT_SORT_ORDER);
+        return new ExternalRingtonesCursorWrapper(res, MediaStore.Audio.Media.INTERNAL_CONTENT_URI);
     }
 
     private Cursor getMediaRingtones() {
-        return getMediaRingtones(mContext);
+        final Cursor res = getMediaRingtones(mContext);
+        return new ExternalRingtonesCursorWrapper(res, MediaStore.Audio.Media.EXTERNAL_CONTENT_URI);
     }
 
     @UnsupportedAppUsage
diff --git a/media/java/android/media/SRTRenderer.java b/media/java/android/media/SRTRenderer.java
index a3e2abd..505f996 100644
--- a/media/java/android/media/SRTRenderer.java
+++ b/media/java/android/media/SRTRenderer.java
@@ -125,6 +125,7 @@
                 String[] startEnd = header.split("-->");
                 cue.mStartTimeMs = parseMs(startEnd[0]);
                 cue.mEndTimeMs = parseMs(startEnd[1]);
+                cue.mRunID = runID;
 
                 String s;
                 List<String> paragraph = new ArrayList<String>();
diff --git a/media/java/android/media/SubtitleData.java b/media/java/android/media/SubtitleData.java
index 31622a9..2c6c61f 100644
--- a/media/java/android/media/SubtitleData.java
+++ b/media/java/android/media/SubtitleData.java
@@ -91,7 +91,7 @@
     }
 
     /**
-     * Returns the index of the MediaPlayer track which contains this subtitle data.
+     * Returns the index of the media player track which contains this subtitle data.
      * @return an index in the array returned by {@link MediaPlayer#getTrackInfo()}.
      */
     public int getTrackIndex() {
@@ -198,7 +198,7 @@
         /**
          * Sets the info of subtitle data.
          *
-         * @param trackIndex the ParcelFileDescriptor for the file to play
+         * @param trackIndex the index of the media player track which contains this subtitle data.
          * @param startTimeUs the start time in microsecond for the subtile data
          * @param durationUs the duration in microsecond for the subtile data
          * @param data the data array for the subtile data. It should not be null.
diff --git a/media/java/android/media/SubtitleTrack.java b/media/java/android/media/SubtitleTrack.java
index 5596c32..0705d97 100644
--- a/media/java/android/media/SubtitleTrack.java
+++ b/media/java/android/media/SubtitleTrack.java
@@ -263,7 +263,9 @@
         }
         updateView(mActiveCues);
         mNextScheduledTimeMs = -1;
-        mTimeProvider.notifyAt(MediaTimeProvider.NO_TIME, this);
+        if (mTimeProvider != null) {
+            mTimeProvider.notifyAt(MediaTimeProvider.NO_TIME, this);
+        }
     }
 
     /** @hide */
diff --git a/media/java/android/media/audiopolicy/AudioPolicy.java b/media/java/android/media/audiopolicy/AudioPolicy.java
index 5f65d58..978583e 100644
--- a/media/java/android/media/audiopolicy/AudioPolicy.java
+++ b/media/java/android/media/audiopolicy/AudioPolicy.java
@@ -43,8 +43,11 @@
 import android.util.Log;
 import android.util.Slog;
 
+import com.android.internal.annotations.GuardedBy;
+
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
+import java.lang.ref.WeakReference;
 import java.util.ArrayList;
 import java.util.List;
 
@@ -74,6 +77,19 @@
     private boolean mIsFocusPolicy;
 
     /**
+     * The list of AudioTrack instances created to inject audio into the associated mixes
+     * Lazy initialization in {@link #createAudioTrackSource(AudioMix)}
+     */
+    @GuardedBy("mLock")
+    @Nullable private ArrayList<WeakReference<AudioTrack>> mInjectors;
+    /**
+     * The list AudioRecord instances created to capture audio from the associated mixes
+     * Lazy initialization in {@link #createAudioRecordSink(AudioMix)}
+     */
+    @GuardedBy("mLock")
+    @Nullable private ArrayList<WeakReference<AudioRecord>> mCaptors;
+
+    /**
      * The behavior of a policy with regards to audio focus where it relies on the application
      * to do the ducking, the is the legacy and default behavior.
      */
@@ -606,6 +622,12 @@
                         AudioFormat.CHANNEL_IN_STEREO, mix.getFormat().getEncoding()),
                 AudioManager.AUDIO_SESSION_ID_GENERATE
                 );
+        synchronized (mLock) {
+            if (mCaptors == null) {
+                mCaptors = new ArrayList<>(1);
+            }
+            mCaptors.add(new WeakReference<AudioRecord>(ar));
+        }
         return ar;
     }
 
@@ -638,9 +660,47 @@
                 AudioTrack.MODE_STREAM,
                 AudioManager.AUDIO_SESSION_ID_GENERATE
                 );
+        synchronized (mLock) {
+            if (mInjectors == null) {
+                mInjectors = new ArrayList<>(1);
+            }
+            mInjectors.add(new WeakReference<AudioTrack>(at));
+        }
         return at;
     }
 
+    /**
+     * @hide
+     */
+    public void invalidateCaptorsAndInjectors() {
+        if (!policyReadyToUse()) {
+            return;
+        }
+        synchronized (mLock) {
+            if (mInjectors != null) {
+                for (final WeakReference<AudioTrack> weakTrack : mInjectors) {
+                    final AudioTrack track = weakTrack.get();
+                    if (track == null) {
+                        break;
+                    }
+                    // TODO: add synchronous versions
+                    track.stop();
+                    track.flush();
+                }
+            }
+            if (mCaptors != null) {
+                for (final WeakReference<AudioRecord> weakRecord : mCaptors) {
+                    final AudioRecord record = weakRecord.get();
+                    if (record == null) {
+                        break;
+                    }
+                    // TODO: if needed: implement an invalidate method
+                    record.stop();
+                }
+            }
+        }
+    }
+
     public int getStatus() {
         return mStatus;
     }
diff --git a/media/java/android/media/session/ControllerLink.aidl b/media/java/android/media/session/ControllerLink.aidl
deleted file mode 100644
index 532df59..0000000
--- a/media/java/android/media/session/ControllerLink.aidl
+++ /dev/null
@@ -1,19 +0,0 @@
-/*
- * Copyright 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 android.media.session;
-
-parcelable ControllerLink;
diff --git a/media/java/android/media/session/ControllerLink.java b/media/java/android/media/session/ControllerLink.java
deleted file mode 100644
index d4ea2a3..0000000
--- a/media/java/android/media/session/ControllerLink.java
+++ /dev/null
@@ -1,1042 +0,0 @@
-/*
- * Copyright 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 android.media.session;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.app.PendingIntent;
-import android.media.MediaMetadata;
-import android.media.MediaParceledListSlice;
-import android.media.Rating;
-import android.media.session.MediaController.PlaybackInfo;
-import android.net.Uri;
-import android.os.Bundle;
-import android.os.IBinder;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.os.RemoteException;
-import android.os.ResultReceiver;
-import android.view.KeyEvent;
-
-import java.util.List;
-import java.util.Objects;
-
-/**
- * Handles incoming commands from {@link MediaController}.
- * @hide
- */
-public final class ControllerLink implements Parcelable {
-    public static final @android.annotation.NonNull Parcelable.Creator<ControllerLink> CREATOR =
-            new Parcelable.Creator<ControllerLink>() {
-                @Override
-                public ControllerLink createFromParcel(Parcel in) {
-                    return new ControllerLink(in.readStrongBinder());
-                }
-
-                @Override
-                public ControllerLink[] newArray(int size) {
-                    return new ControllerLink[size];
-                }
-            };
-
-    final ControllerStub mControllerStub;
-    final ISessionController mISessionController;
-
-    /**
-     * Constructor for stub (Callee)
-     */
-    public ControllerLink(@NonNull ControllerStub controllerStub) {
-        mControllerStub = controllerStub;
-        mISessionController = new StubProxy();
-    }
-
-    /**
-     * Constructor for interface (Caller)
-     */
-    public ControllerLink(IBinder binder) {
-        mControllerStub = null;
-        mISessionController = ISessionController.Stub.asInterface(binder);
-    }
-
-    /**
-     * Tell system that a controller sends a command.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     * @param command the name of the command
-     * @param args the arguments included with the command
-     * @param cb the result receiver for getting the result of the command
-     */
-    void sendCommand(@NonNull String packageName, @NonNull ControllerCallbackLink caller,
-            @NonNull String command, @Nullable Bundle args, @Nullable ResultReceiver cb) {
-        try {
-            mISessionController.sendCommand(packageName, caller, command, args, cb);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller sends a media button event.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     * @param mediaButton the media button key event
-     */
-    boolean sendMediaButton(@NonNull String packageName,
-            @NonNull ControllerCallbackLink caller, @NonNull KeyEvent mediaButton) {
-        try {
-            return mISessionController.sendMediaButton(packageName, caller, mediaButton);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Registers a controller callback link to the system.
-     *
-     * @param packageName the package name of the controller
-     * @param cb the controller callback link to register
-     */
-    void registerCallback(@NonNull String packageName, @NonNull ControllerCallbackLink cb) {
-        try {
-            mISessionController.registerCallback(packageName, cb);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Unregisters a controller callback link from the system.
-     *
-     * @param cb the controller callback link to register
-     */
-    void unregisterCallback(@NonNull ControllerCallbackLink cb) {
-        try {
-            mISessionController.unregisterCallback(cb);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Gets the package name of the connected session.
-     */
-    @NonNull
-    String getPackageName() {
-        try {
-            return mISessionController.getPackageName();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Gets the tag of the connected session.
-     */
-    @NonNull
-    String getTag() {
-        try {
-            return mISessionController.getTag();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Gets the session info of the connected session.
-     */
-    @Nullable
-    Bundle getSessionInfo() {
-        try {
-            return mISessionController.getSessionInfo();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Gets the {@link PendingIntent} for launching UI of the connected session.
-     */
-    @Nullable
-    PendingIntent getLaunchPendingIntent() {
-        try {
-            return mISessionController.getLaunchPendingIntent();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Gets the flags of the connected session.
-     */
-    long getFlags() {
-        try {
-            return mISessionController.getFlags();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Gets the volume attributes of the connected session.
-     */
-    @NonNull
-    PlaybackInfo getVolumeAttributes() {
-        try {
-            return mISessionController.getVolumeAttributes();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests adjusting the volume.
-     *
-     * @param packageName the package name of the controller
-     * @param opPackageName the op package name of this request
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     * @param direction the direction to adjust the volume in
-     * @param flags the flags with this volume change request
-     */
-    void adjustVolume(@NonNull String packageName, @NonNull String opPackageName,
-            @NonNull ControllerCallbackLink caller, int direction,
-            int flags) {
-        try {
-            mISessionController.adjustVolume(packageName, opPackageName, caller, direction, flags);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests setting the volume.
-     *
-     * @param packageName the package name of the controller
-     * @param opPackageName the op package name of this request
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     * @param flags the flags with this volume change request
-     */
-    void setVolumeTo(@NonNull String packageName, @NonNull String opPackageName,
-            @NonNull ControllerCallbackLink caller, int value, int flags) {
-        try {
-            mISessionController.setVolumeTo(packageName, opPackageName, caller, value, flags);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests preparing media.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     */
-    void prepare(@NonNull String packageName, @NonNull ControllerCallbackLink caller) {
-        try {
-            mISessionController.prepare(packageName, caller);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests preparing media from given media ID.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     * @param mediaId the ID of the media
-     * @param extras the extras included with this request.
-     */
-    void prepareFromMediaId(@NonNull String packageName,
-            @NonNull ControllerCallbackLink caller, @NonNull String mediaId,
-            @Nullable Bundle extras) {
-        try {
-            mISessionController.prepareFromMediaId(packageName, caller, mediaId, extras);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests preparing media from given search query.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     * @param query the search query
-     * @param extras the extras included with this request.
-     */
-    void prepareFromSearch(@NonNull String packageName,
-            @NonNull ControllerCallbackLink caller, @NonNull String query,
-            @Nullable Bundle extras) {
-        try {
-            mISessionController.prepareFromSearch(packageName, caller, query, extras);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests preparing media from given uri.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     * @param uri the uri of the media
-     * @param extras the extras included with this request.
-     */
-    void prepareFromUri(@NonNull String packageName, @NonNull ControllerCallbackLink caller,
-            @NonNull Uri uri, @Nullable Bundle extras) {
-        try {
-            mISessionController.prepareFromUri(packageName, caller, uri, extras);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests playing media.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     */
-    void play(@NonNull String packageName, @NonNull ControllerCallbackLink caller) {
-        try {
-            mISessionController.play(packageName, caller);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests playing media from given media ID.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     * @param mediaId the ID of the media
-     * @param extras the extras included with this request.
-     */
-    void playFromMediaId(@NonNull String packageName, @NonNull ControllerCallbackLink caller,
-            @NonNull String mediaId, @Nullable Bundle extras) {
-        try {
-            mISessionController.playFromMediaId(packageName, caller, mediaId, extras);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests playing media from given search query.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     * @param query the search query
-     * @param extras the extras included with this request.
-     */
-    void playFromSearch(@NonNull String packageName, @NonNull ControllerCallbackLink caller,
-            @NonNull String query, @Nullable Bundle extras) {
-        try {
-            mISessionController.playFromSearch(packageName, caller, query, extras);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests playing media from given uri.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     * @param uri the uri of the media
-     * @param extras the extras included with this request.
-     */
-    void playFromUri(@NonNull String packageName, @NonNull ControllerCallbackLink caller,
-            @NonNull Uri uri, @Nullable Bundle extras) {
-        try {
-            mISessionController.playFromUri(packageName, caller, uri, extras);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests skipping to the queue item with given ID.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     * @param id the queue id of the item
-     */
-    void skipToQueueItem(@NonNull String packageName, @NonNull ControllerCallbackLink caller,
-            long id) {
-        try {
-            mISessionController.skipToQueueItem(packageName, caller, id);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests pausing media.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     */
-    void pause(@NonNull String packageName, @NonNull ControllerCallbackLink caller) {
-        try {
-            mISessionController.pause(packageName, caller);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests stopping media.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     */
-    void stop(@NonNull String packageName, @NonNull ControllerCallbackLink caller) {
-        try {
-            mISessionController.stop(packageName, caller);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests skipping to the next queue item.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     */
-    void next(@NonNull String packageName, @NonNull ControllerCallbackLink caller) {
-        try {
-            mISessionController.next(packageName, caller);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests skipping to the previous queue item.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     */
-    void previous(@NonNull String packageName, @NonNull ControllerCallbackLink caller) {
-        try {
-            mISessionController.previous(packageName, caller);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests fast-forwarding.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     */
-    void fastForward(@NonNull String packageName, @NonNull ControllerCallbackLink caller) {
-        try {
-            mISessionController.fastForward(packageName, caller);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests rewinding.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     */
-    void rewind(@NonNull String packageName, @NonNull ControllerCallbackLink caller) {
-        try {
-            mISessionController.rewind(packageName, caller);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests seeking to the specific position.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     * @param pos the position to move to, in milliseconds
-     */
-    void seekTo(@NonNull String packageName, @NonNull ControllerCallbackLink caller,
-            long pos) {
-        try {
-            mISessionController.seekTo(packageName, caller, pos);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests rating of the current media.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     * @param rating the rating of the current media
-     */
-    void rate(@NonNull String packageName, @NonNull ControllerCallbackLink caller,
-            @NonNull Rating rating) {
-        try {
-            mISessionController.rate(packageName, caller, rating);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller requests changing the playback speed.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     * @param speed the playback speed
-     */
-    void setPlaybackSpeed(@NonNull String packageName, @NonNull ControllerCallbackLink caller,
-            float speed) {
-        try {
-            mISessionController.setPlaybackSpeed(packageName, caller, speed);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that a controller sends a custom action.
-     *
-     * @param packageName the package name of the controller
-     * @param caller the {@link ControllerCallbackLink} of the controller
-     * @param action the name of the action
-     * @param args the arguments included with this action
-     */
-    void sendCustomAction(@NonNull String packageName,
-            @NonNull ControllerCallbackLink caller, @NonNull String action, @Nullable Bundle args) {
-        try {
-            mISessionController.sendCustomAction(packageName, caller, action, args);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Gets the current metadata of the connected session.
-     */
-    @Nullable
-    public MediaMetadata getMetadata() {
-        try {
-            return mISessionController.getMetadata();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Gets the current playback state of the connected session.
-     */
-    @Nullable
-    public PlaybackState getPlaybackState() {
-        try {
-            return mISessionController.getPlaybackState();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Gets the current queue of the connected session.
-     */
-    @Nullable
-    public List<MediaSession.QueueItem> getQueue() {
-        try {
-            MediaParceledListSlice queue = mISessionController.getQueue();
-            return queue == null ? null : queue.getList();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Gets the current queue title of the connected session.
-     */
-    @Nullable
-    public CharSequence getQueueTitle() {
-        try {
-            return mISessionController.getQueueTitle();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Gets the current extras of the connected session.
-     */
-    @Nullable
-    public Bundle getExtras() {
-        try {
-            return mISessionController.getExtras();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Gets the current rating type of the connected session.
-     */
-    public int getRatingType() {
-        try {
-            return mISessionController.getRatingType();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /** Gets the binder */
-    @NonNull
-    public IBinder getBinder() {
-        return mISessionController.asBinder();
-    }
-
-    @Override
-    public int describeContents() {
-        return 0;
-    }
-
-    @Override
-    public void writeToParcel(Parcel dest, int flags) {
-        dest.writeStrongBinder(mISessionController.asBinder());
-    }
-
-    @Override
-    public int hashCode() {
-        return mISessionController.asBinder().hashCode();
-    }
-
-    @Override
-    public boolean equals(Object obj) {
-        if (this == obj) {
-            return true;
-        }
-        if (!(obj instanceof ControllerLink)) {
-            return false;
-        }
-        ControllerLink other = (ControllerLink) obj;
-        return Objects.equals(getBinder(), other.getBinder());
-    }
-
-    /**
-     * Class for Stub implementation
-     */
-    public abstract static class ControllerStub {
-        /** Stub method for ISessionController.sendCommand */
-        public void sendCommand(@NonNull String packageName, @NonNull ControllerCallbackLink caller,
-                @NonNull String command, @Nullable Bundle args, @Nullable ResultReceiver cb) {
-        }
-
-        /** Stub method for ISessionController.sendMediaButton */
-        public boolean sendMediaButton(@NonNull String packageName,
-                @NonNull ControllerCallbackLink caller, @NonNull KeyEvent mediaButton) {
-            return false;
-        }
-
-        /** Stub method for ISessionController.registerCallback */
-        public void registerCallback(@NonNull String packageName,
-                @NonNull ControllerCallbackLink cb) {
-        }
-
-        /** Stub method for ISessionController.unregisterCallback */
-        public void unregisterCallback(@NonNull ControllerCallbackLink cb) {
-        }
-
-        /** Stub method for ISessionController.getPackageName */
-        @NonNull
-        public String getPackageName() {
-            return null;
-        }
-
-        /** Stub method for ISessionController.getTag */
-        @NonNull
-        public String getTag() {
-            return null;
-        }
-
-        /** Stub method for ISessionController.getSessionInfo */
-        @Nullable
-        public Bundle getSessionInfo() {
-            return null;
-        }
-
-        /** Stub method for ISessionController.getLaunchPendingIntent */
-        @Nullable
-        public PendingIntent getLaunchPendingIntent() {
-            return null;
-        }
-
-        /** Stub method for ISessionController.getFlags */
-        public long getFlags() {
-            return 0;
-        }
-
-        /** Stub method for ISessionController.getVolumeAttributes */
-        @NonNull
-        public PlaybackInfo getVolumeAttributes() {
-            return null;
-        }
-
-        /** Stub method for ISessionController.adjustVolume */
-        public void adjustVolume(@NonNull String packageName, @NonNull String opPackageName,
-                @NonNull ControllerCallbackLink caller, int direction, int flags) {
-        }
-
-        /** Stub method for ISessionController.setVolumeTo */
-        public void setVolumeTo(@NonNull String packageName, @NonNull String opPackageName,
-                @NonNull ControllerCallbackLink caller, int value, int flags) {
-        }
-
-        /** Stub method for ISessionController.prepare */
-        public void prepare(@NonNull String packageName, @NonNull ControllerCallbackLink caller) {
-        }
-
-        /** Stub method for ISessionController.prepareFromMediaId */
-        public void prepareFromMediaId(@NonNull String packageName,
-                @NonNull ControllerCallbackLink caller, @NonNull String mediaId,
-                @Nullable Bundle extras) {
-        }
-
-        /** Stub method for ISessionController.prepareFromSearch */
-        public void prepareFromSearch(@NonNull String packageName,
-                @NonNull ControllerCallbackLink caller, @NonNull String query,
-                @Nullable Bundle extras) {
-        }
-
-        /** Stub method for ISessionController.prepareFromUri */
-        public void prepareFromUri(@NonNull String packageName,
-                @NonNull ControllerCallbackLink caller, @NonNull Uri uri, @Nullable Bundle extras) {
-        }
-
-        /** Stub method for ISessionController.play */
-        public void play(@NonNull String packageName, @NonNull ControllerCallbackLink caller) {
-        }
-
-        /** Stub method for ISessionController.playFromMediaId */
-        public void playFromMediaId(@NonNull String packageName,
-                @NonNull ControllerCallbackLink caller, @NonNull String mediaId,
-                @Nullable Bundle extras) {
-        }
-
-        /** Stub method for ISessionController.playFromSearch */
-        public void playFromSearch(@NonNull String packageName,
-                @NonNull ControllerCallbackLink caller, @NonNull String query,
-                @Nullable Bundle extras) {
-        }
-
-        /** Stub method for ISessionController.playFromUri */
-        public void playFromUri(@NonNull String packageName, @NonNull ControllerCallbackLink caller,
-                @NonNull Uri uri, @Nullable Bundle extras) {
-        }
-
-        /** Stub method for ISessionController.skipToQueueItem */
-        public void skipToQueueItem(@NonNull String packageName,
-                @NonNull ControllerCallbackLink caller, long id) {
-        }
-
-        /** Stub method for ISessionController.pause */
-        public void pause(@NonNull String packageName, @NonNull ControllerCallbackLink caller) {
-        }
-
-        /** Stub method for ISessionController.stop */
-        public void stop(@NonNull String packageName, @NonNull ControllerCallbackLink caller) {
-        }
-
-        /** Stub method for ISessionController.next */
-        public void next(@NonNull String packageName, @NonNull ControllerCallbackLink caller) {
-        }
-
-        /** Stub method for ISessionController.previous */
-        public void previous(@NonNull String packageName, @NonNull ControllerCallbackLink caller) {
-        }
-
-        /** Stub method for ISessionController.fastForward */
-        public void fastForward(@NonNull String packageName,
-                @NonNull ControllerCallbackLink caller) {
-        }
-
-        /** Stub method for ISessionController.rewind */
-        public void rewind(@NonNull String packageName, @NonNull ControllerCallbackLink caller) {
-        }
-
-        /** Stub method for ISessionController.seekTo */
-        public void seekTo(@NonNull String packageName, @NonNull ControllerCallbackLink caller,
-                long pos) {
-        }
-
-        /** Stub method for ISessionController.rate */
-        public void rate(@NonNull String packageName, @NonNull ControllerCallbackLink caller,
-                @NonNull Rating rating) {
-        }
-
-        /** Stub method for ISessionController.setPlaybackSpeed */
-        public void setPlaybackSpeed(@NonNull String packageName,
-                @NonNull ControllerCallbackLink caller, float speed) {
-        }
-
-        /** Stub method for ISessionController.sendCustomAction */
-        public void sendCustomAction(@NonNull String packageName,
-                @NonNull ControllerCallbackLink caller, @NonNull String action,
-                @Nullable Bundle args) {
-        }
-
-        /** Stub method for ISessionController.getMetadata */
-        @Nullable
-        public MediaMetadata getMetadata() {
-            return null;
-        }
-
-        /** Stub method for ISessionController.getPlaybackState */
-        @Nullable
-        public PlaybackState getPlaybackState() {
-            return null;
-        }
-
-        /** Stub method for ISessionController.getQueue */
-        @Nullable
-        public List<MediaSession.QueueItem> getQueue() {
-            return null;
-        }
-
-        /** Stub method for ISessionController.getQueueTitle */
-        @Nullable
-        public CharSequence getQueueTitle() {
-            return null;
-        }
-
-        /** Stub method for ISessionController.getExtras */
-        @Nullable
-        public Bundle getExtras() {
-            return null;
-        }
-
-        /** Stub method for ISessionController.getRatingType */
-        public int getRatingType() {
-            return Rating.RATING_NONE;
-        }
-    }
-
-    private class StubProxy extends ISessionController.Stub {
-        @Override
-        public void sendCommand(String packageName, ControllerCallbackLink caller,
-                String command, Bundle args, ResultReceiver cb) {
-            mControllerStub.sendCommand(packageName, caller, command, args, cb);
-        }
-
-        @Override
-        public boolean sendMediaButton(String packageName, ControllerCallbackLink caller,
-                KeyEvent mediaButton) {
-            return mControllerStub.sendMediaButton(packageName, caller, mediaButton);
-        }
-
-        @Override
-        public void registerCallback(String packageName, ControllerCallbackLink cb) {
-            mControllerStub.registerCallback(packageName, cb);
-        }
-
-        @Override
-        public void unregisterCallback(ControllerCallbackLink cb) {
-            mControllerStub.unregisterCallback(cb);
-        }
-
-        @Override
-        public String getPackageName() {
-            return mControllerStub.getPackageName();
-        }
-
-        @Override
-        public String getTag() {
-            return mControllerStub.getTag();
-        }
-
-        @Override
-        public Bundle getSessionInfo() {
-            return mControllerStub.getSessionInfo();
-        }
-
-        @Override
-        public PendingIntent getLaunchPendingIntent() {
-            return mControllerStub.getLaunchPendingIntent();
-        }
-
-        @Override
-        public long getFlags() {
-            return mControllerStub.getFlags();
-        }
-
-        @Override
-        public PlaybackInfo getVolumeAttributes() {
-            return mControllerStub.getVolumeAttributes();
-        }
-
-        @Override
-        public void adjustVolume(String packageName, String opPackageName,
-                ControllerCallbackLink caller, int direction, int flags) {
-            mControllerStub.adjustVolume(packageName, opPackageName, caller, direction, flags);
-        }
-
-        @Override
-        public void setVolumeTo(String packageName, String opPackageName,
-                ControllerCallbackLink caller, int value, int flags) {
-            mControllerStub.setVolumeTo(packageName, opPackageName, caller, value, flags);
-        }
-
-        @Override
-        public void prepare(String packageName, ControllerCallbackLink caller) {
-            mControllerStub.prepare(packageName, caller);
-        }
-
-        @Override
-        public void prepareFromMediaId(String packageName, ControllerCallbackLink caller,
-                String mediaId, Bundle extras) {
-            mControllerStub.prepareFromMediaId(packageName, caller, mediaId, extras);
-        }
-
-        @Override
-        public void prepareFromSearch(String packageName, ControllerCallbackLink caller,
-                String query, Bundle extras) {
-            mControllerStub.prepareFromSearch(packageName, caller, query, extras);
-        }
-
-        @Override
-        public void prepareFromUri(String packageName, ControllerCallbackLink caller,
-                Uri uri, Bundle extras) {
-            mControllerStub.prepareFromUri(packageName, caller, uri, extras);
-        }
-
-        @Override
-        public void play(String packageName, ControllerCallbackLink caller) {
-            mControllerStub.play(packageName, caller);
-        }
-
-        @Override
-        public void playFromMediaId(String packageName, ControllerCallbackLink caller,
-                String mediaId, Bundle extras) {
-            mControllerStub.playFromMediaId(packageName, caller, mediaId, extras);
-        }
-
-        @Override
-        public void playFromSearch(String packageName, ControllerCallbackLink caller,
-                String query, Bundle extras) {
-            mControllerStub.playFromSearch(packageName, caller, query, extras);
-        }
-
-        @Override
-        public void playFromUri(String packageName, ControllerCallbackLink caller,
-                Uri uri, Bundle extras) {
-            mControllerStub.playFromUri(packageName, caller, uri, extras);
-        }
-
-        @Override
-        public void skipToQueueItem(String packageName, ControllerCallbackLink caller, long id) {
-            mControllerStub.skipToQueueItem(packageName, caller, id);
-        }
-
-        @Override
-        public void pause(String packageName, ControllerCallbackLink caller) {
-            mControllerStub.pause(packageName, caller);
-        }
-
-        @Override
-        public void stop(String packageName, ControllerCallbackLink caller) {
-            mControllerStub.stop(packageName, caller);
-        }
-
-        @Override
-        public void next(String packageName, ControllerCallbackLink caller) {
-            mControllerStub.next(packageName, caller);
-        }
-
-        @Override
-        public void previous(String packageName, ControllerCallbackLink caller) {
-            mControllerStub.previous(packageName, caller);
-        }
-
-        @Override
-        public void fastForward(String packageName, ControllerCallbackLink caller) {
-            mControllerStub.fastForward(packageName, caller);
-        }
-
-        @Override
-        public void rewind(String packageName, ControllerCallbackLink caller) {
-            mControllerStub.rewind(packageName, caller);
-        }
-
-        @Override
-        public void seekTo(String packageName, ControllerCallbackLink caller, long pos) {
-            mControllerStub.seekTo(packageName, caller, pos);
-        }
-
-        @Override
-        public void rate(String packageName, ControllerCallbackLink caller, Rating rating) {
-            mControllerStub.rate(packageName, caller, rating);
-        }
-
-        @Override
-        public void setPlaybackSpeed(String packageName, ControllerCallbackLink caller,
-                float speed) {
-            mControllerStub.setPlaybackSpeed(packageName, caller, speed);
-        }
-
-        @Override
-        public void sendCustomAction(String packageName, ControllerCallbackLink caller,
-                String action, Bundle args) {
-            mControllerStub.sendCustomAction(packageName, caller, action, args);
-        }
-
-        @Override
-        public MediaMetadata getMetadata() {
-            return mControllerStub.getMetadata();
-        }
-
-        @Override
-        public PlaybackState getPlaybackState() {
-            return mControllerStub.getPlaybackState();
-        }
-
-        @Override
-        public MediaParceledListSlice getQueue() {
-            List<MediaSession.QueueItem> queue = mControllerStub.getQueue();
-            return queue == null ? null : new MediaParceledListSlice(queue);
-        }
-
-        @Override
-        public CharSequence getQueueTitle() {
-            return mControllerStub.getQueueTitle();
-        }
-
-        @Override
-        public Bundle getExtras() {
-            return mControllerStub.getExtras();
-        }
-
-        @Override
-        public int getRatingType() {
-            return mControllerStub.getRatingType();
-        }
-    }
-}
diff --git a/media/java/android/media/session/ISession.aidl b/media/java/android/media/session/ISession.aidl
index 9b1ad7b..fcde95a 100644
--- a/media/java/android/media/session/ISession.aidl
+++ b/media/java/android/media/session/ISession.aidl
@@ -19,7 +19,7 @@
 import android.media.AudioAttributes;
 import android.media.MediaMetadata;
 import android.media.MediaParceledListSlice;
-import android.media.session.ControllerLink;
+import android.media.session.ISessionController;
 import android.media.session.PlaybackState;
 import android.media.session.MediaSession;
 import android.os.Bundle;
@@ -31,7 +31,7 @@
  */
 interface ISession {
     void sendEvent(String event, in Bundle data);
-    ControllerLink getController();
+    ISessionController getController();
     void setFlags(int flags);
     void setActive(boolean active);
     void setMediaButtonReceiver(in PendingIntent mbr);
diff --git a/media/java/android/media/session/ISessionManager.aidl b/media/java/android/media/session/ISessionManager.aidl
index e85461f..02348476 100644
--- a/media/java/android/media/session/ISessionManager.aidl
+++ b/media/java/android/media/session/ISessionManager.aidl
@@ -22,10 +22,10 @@
 import android.media.session.ICallback;
 import android.media.session.IOnMediaKeyListener;
 import android.media.session.IOnVolumeKeyLongPressListener;
+import android.media.session.ISession;
 import android.media.session.ISession2TokensListener;
 import android.media.session.MediaSession;
 import android.media.session.SessionCallbackLink;
-import android.media.session.SessionLink;
 import android.os.Bundle;
 import android.view.KeyEvent;
 
@@ -34,7 +34,7 @@
  * @hide
  */
 interface ISessionManager {
-    SessionLink createSession(String packageName, in SessionCallbackLink sessionCb, String tag,
+    ISession createSession(String packageName, in SessionCallbackLink sessionCb, String tag,
             in Bundle sessionInfo, int userId);
     void notifySession2Created(in Session2Token sessionToken);
     List<MediaSession.Token> getSessions(in ComponentName compName, int userId);
@@ -55,8 +55,8 @@
     void addSession2TokensListener(in ISession2TokensListener listener, int userId);
     void removeSession2TokensListener(in ISession2TokensListener listener);
 
-    // This is for the system volume UI only
-    void setRemoteVolumeController(in IRemoteVolumeController rvc);
+    void registerRemoteVolumeController(in IRemoteVolumeController rvc);
+    void unregisterRemoteVolumeController(in IRemoteVolumeController rvc);
 
     // For PhoneWindowManager to precheck media keys
     boolean isGlobalPriorityActive();
diff --git a/media/java/android/media/session/MediaController.java b/media/java/android/media/session/MediaController.java
index 5ee52ce..036cd78 100644
--- a/media/java/android/media/session/MediaController.java
+++ b/media/java/android/media/session/MediaController.java
@@ -18,13 +18,13 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
-import android.annotation.SystemApi;
 import android.annotation.UnsupportedAppUsage;
 import android.app.PendingIntent;
 import android.content.Context;
 import android.media.AudioAttributes;
 import android.media.AudioManager;
 import android.media.MediaMetadata;
+import android.media.MediaParceledListSlice;
 import android.media.Rating;
 import android.media.VolumeProvider;
 import android.media.session.MediaSession.QueueItem;
@@ -35,6 +35,7 @@
 import android.os.Message;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.os.RemoteException;
 import android.os.ResultReceiver;
 import android.text.TextUtils;
 import android.util.Log;
@@ -68,7 +69,7 @@
     private static final int MSG_UPDATE_EXTRAS = 7;
     private static final int MSG_DESTROYED = 8;
 
-    private final ControllerLink mSessionBinder;
+    private final ISessionController mSessionBinder;
 
     private final MediaSession.Token mToken;
     private final Context mContext;
@@ -96,10 +97,10 @@
         if (token == null) {
             throw new IllegalArgumentException("token shouldn't be null");
         }
-        if (token.getControllerLink() == null) {
-            throw new IllegalArgumentException("token.getControllerLink() shouldn't be null");
+        if (token.getBinder() == null) {
+            throw new IllegalArgumentException("token.getBinder() shouldn't be null");
         }
-        mSessionBinder = token.getControllerLink();
+        mSessionBinder = token.getBinder();
         mTransportControls = new TransportControls();
         mToken = token;
         mContext = context;
@@ -132,7 +133,7 @@
         }
         try {
             return mSessionBinder.sendMediaButton(mContext.getPackageName(), mCbStub, keyEvent);
-        } catch (RuntimeException e) {
+        } catch (RemoteException e) {
             // System is dead. =(
         }
         return false;
@@ -146,7 +147,7 @@
     public @Nullable PlaybackState getPlaybackState() {
         try {
             return mSessionBinder.getPlaybackState();
-        } catch (RuntimeException e) {
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Error calling getPlaybackState.", e);
             return null;
         }
@@ -160,7 +161,7 @@
     public @Nullable MediaMetadata getMetadata() {
         try {
             return mSessionBinder.getMetadata();
-        } catch (RuntimeException e) {
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Error calling getMetadata.", e);
             return null;
         }
@@ -174,8 +175,9 @@
      */
     public @Nullable List<MediaSession.QueueItem> getQueue() {
         try {
-            return mSessionBinder.getQueue();
-        } catch (RuntimeException e) {
+            MediaParceledListSlice list = mSessionBinder.getQueue();
+            return list == null ? null : list.getList();
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Error calling getQueue.", e);
         }
         return null;
@@ -187,7 +189,7 @@
     public @Nullable CharSequence getQueueTitle() {
         try {
             return mSessionBinder.getQueueTitle();
-        } catch (RuntimeException e) {
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Error calling getQueueTitle", e);
         }
         return null;
@@ -199,7 +201,7 @@
     public @Nullable Bundle getExtras() {
         try {
             return mSessionBinder.getExtras();
-        } catch (RuntimeException e) {
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Error calling getExtras", e);
         }
         return null;
@@ -222,7 +224,7 @@
     public int getRatingType() {
         try {
             return mSessionBinder.getRatingType();
-        } catch (RuntimeException e) {
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Error calling getRatingType.", e);
             return Rating.RATING_NONE;
         }
@@ -236,7 +238,7 @@
     public long getFlags() {
         try {
             return mSessionBinder.getFlags();
-        } catch (RuntimeException e) {
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Error calling getFlags.", e);
         }
         return 0;
@@ -250,7 +252,7 @@
     public @Nullable PlaybackInfo getPlaybackInfo() {
         try {
             return mSessionBinder.getVolumeAttributes();
-        } catch (RuntimeException e) {
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Error calling getAudioInfo.", e);
         }
         return null;
@@ -265,7 +267,7 @@
     public @Nullable PendingIntent getSessionActivity() {
         try {
             return mSessionBinder.getLaunchPendingIntent();
-        } catch (RuntimeException e) {
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Error calling getPendingIntent.", e);
         }
         return null;
@@ -298,7 +300,7 @@
             //       AppOpsManager usages.
             mSessionBinder.setVolumeTo(mContext.getPackageName(), mContext.getOpPackageName(),
                     mCbStub, value, flags);
-        } catch (RuntimeException e) {
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Error calling setVolumeTo.", e);
         }
     }
@@ -323,7 +325,7 @@
             //       AppOpsManager usages.
             mSessionBinder.adjustVolume(mContext.getPackageName(), mContext.getOpPackageName(),
                     mCbStub, direction, flags);
-        } catch (RuntimeException e) {
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Error calling adjustVolumeBy.", e);
         }
     }
@@ -389,7 +391,7 @@
         }
         try {
             mSessionBinder.sendCommand(mContext.getPackageName(), mCbStub, command, args, cb);
-        } catch (RuntimeException e) {
+        } catch (RemoteException e) {
             Log.d(TAG, "Dead object in sendCommand.", e);
         }
     }
@@ -403,7 +405,7 @@
         if (mPackageName == null) {
             try {
                 mPackageName = mSessionBinder.getPackageName();
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.d(TAG, "Dead object in getPackageName.", e);
             }
         }
@@ -420,7 +422,7 @@
         if (mSessionInfo == null) {
             try {
                 mSessionInfo = mSessionBinder.getSessionInfo();
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.d(TAG, "Dead object in getSessionInfo.", e);
             }
         }
@@ -437,7 +439,7 @@
         if (mTag == null) {
             try {
                 mTag = mSessionBinder.getTag();
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.d(TAG, "Dead object in getTag.", e);
             }
         }
@@ -447,7 +449,7 @@
     /*
      * @hide
      */
-    ControllerLink getSessionBinder() {
+    ISessionController getSessionBinder() {
         return mSessionBinder;
     }
 
@@ -457,7 +459,7 @@
     @UnsupportedAppUsage
     public boolean controlsSameSession(MediaController other) {
         if (other == null) return false;
-        return mSessionBinder.getBinder() == other.getSessionBinder().getBinder();
+        return mSessionBinder.asBinder() == other.getSessionBinder().asBinder();
     }
 
     private void addCallbackLocked(Callback cb, Handler handler) {
@@ -473,7 +475,7 @@
             try {
                 mSessionBinder.registerCallback(mContext.getPackageName(), mCbStub);
                 mCbRegistered = true;
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.e(TAG, "Dead object in registerCallback", e);
             }
         }
@@ -492,7 +494,7 @@
         if (mCbRegistered && mCallbacks.size() == 0) {
             try {
                 mSessionBinder.unregisterCallback(mCbStub);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.e(TAG, "Dead object in removeCallbackLocked");
             }
             mCbRegistered = false;
@@ -619,7 +621,7 @@
         public void prepare() {
             try {
                 mSessionBinder.prepare(mContext.getPackageName(), mCbStub);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling prepare.", e);
             }
         }
@@ -644,7 +646,7 @@
             try {
                 mSessionBinder.prepareFromMediaId(mContext.getPackageName(), mCbStub, mediaId,
                         extras);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling prepare(" + mediaId + ").", e);
             }
         }
@@ -671,7 +673,7 @@
             try {
                 mSessionBinder.prepareFromSearch(mContext.getPackageName(), mCbStub, query,
                         extras);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling prepare(" + query + ").", e);
             }
         }
@@ -695,7 +697,7 @@
             }
             try {
                 mSessionBinder.prepareFromUri(mContext.getPackageName(), mCbStub, uri, extras);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling prepare(" + uri + ").", e);
             }
         }
@@ -706,7 +708,7 @@
         public void play() {
             try {
                 mSessionBinder.play(mContext.getPackageName(), mCbStub);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling play.", e);
             }
         }
@@ -726,7 +728,7 @@
             try {
                 mSessionBinder.playFromMediaId(mContext.getPackageName(), mCbStub, mediaId,
                         extras);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling play(" + mediaId + ").", e);
             }
         }
@@ -748,7 +750,7 @@
             }
             try {
                 mSessionBinder.playFromSearch(mContext.getPackageName(), mCbStub, query, extras);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling play(" + query + ").", e);
             }
         }
@@ -767,7 +769,7 @@
             }
             try {
                 mSessionBinder.playFromUri(mContext.getPackageName(), mCbStub, uri, extras);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling play(" + uri + ").", e);
             }
         }
@@ -779,7 +781,7 @@
         public void skipToQueueItem(long id) {
             try {
                 mSessionBinder.skipToQueueItem(mContext.getPackageName(), mCbStub, id);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling skipToItem(" + id + ").", e);
             }
         }
@@ -791,7 +793,7 @@
         public void pause() {
             try {
                 mSessionBinder.pause(mContext.getPackageName(), mCbStub);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling pause.", e);
             }
         }
@@ -803,7 +805,7 @@
         public void stop() {
             try {
                 mSessionBinder.stop(mContext.getPackageName(), mCbStub);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling stop.", e);
             }
         }
@@ -816,7 +818,7 @@
         public void seekTo(long pos) {
             try {
                 mSessionBinder.seekTo(mContext.getPackageName(), mCbStub, pos);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling seekTo.", e);
             }
         }
@@ -828,7 +830,7 @@
         public void fastForward() {
             try {
                 mSessionBinder.fastForward(mContext.getPackageName(), mCbStub);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling fastForward.", e);
             }
         }
@@ -839,7 +841,7 @@
         public void skipToNext() {
             try {
                 mSessionBinder.next(mContext.getPackageName(), mCbStub);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling next.", e);
             }
         }
@@ -851,7 +853,7 @@
         public void rewind() {
             try {
                 mSessionBinder.rewind(mContext.getPackageName(), mCbStub);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling rewind.", e);
             }
         }
@@ -862,7 +864,7 @@
         public void skipToPrevious() {
             try {
                 mSessionBinder.previous(mContext.getPackageName(), mCbStub);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling previous.", e);
             }
         }
@@ -877,7 +879,7 @@
         public void setRating(Rating rating) {
             try {
                 mSessionBinder.rate(mContext.getPackageName(), mCbStub, rating);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling rate.", e);
             }
         }
@@ -890,7 +892,7 @@
         public void setPlaybackSpeed(float speed) {
             try {
                 mSessionBinder.setPlaybackSpeed(mContext.getPackageName(), mCbStub, speed);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.wtf(TAG, "Error calling setPlaybackSpeed.", e);
             }
         }
@@ -925,7 +927,7 @@
             }
             try {
                 mSessionBinder.sendCustomAction(mContext.getPackageName(), mCbStub, action, args);
-            } catch (RuntimeException e) {
+            } catch (RemoteException e) {
                 Log.d(TAG, "Dead object in sendCustomAction.", e);
             }
         }
@@ -954,7 +956,6 @@
         /**
          * @hide
          */
-        @SystemApi
         public PlaybackInfo(int type, int control, int max, int current, AudioAttributes attrs) {
             mVolumeType = type;
             mVolumeControl = control;
diff --git a/media/java/android/media/session/MediaSession.java b/media/java/android/media/session/MediaSession.java
index e0cb86e..cbc6c9d 100644
--- a/media/java/android/media/session/MediaSession.java
+++ b/media/java/android/media/session/MediaSession.java
@@ -36,6 +36,7 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.os.Process;
+import android.os.RemoteException;
 import android.os.ResultReceiver;
 import android.service.media.MediaBrowserService;
 import android.text.TextUtils;
@@ -163,11 +164,11 @@
                 .getSystemService(Context.MEDIA_SESSION_SERVICE);
         try {
             SessionCallbackLink cbLink = new SessionCallbackLink(context);
-            SessionLink sessionLink = manager.createSession(cbLink, tag, sessionInfo);
-            mImpl = new MediaSessionEngine(context, sessionLink, cbLink);
+            ISession binder = manager.createSession(cbLink, tag, sessionInfo);
+            mImpl = new MediaSessionEngine(context, binder, cbLink);
             mMaxBitmapSize = context.getResources().getDimensionPixelSize(
-                    android.R.dimen.config_mediaMetadataBitmapMaxSize);
-        } catch (RuntimeException e) {
+                    com.android.internal.R.dimen.config_mediaMetadataBitmapMaxSize);
+        } catch (RemoteException e) {
             throw new RuntimeException("Remote error creating session.", e);
         }
     }
@@ -445,19 +446,19 @@
     public static final class Token implements Parcelable {
 
         private final int mUid;
-        private final ControllerLink mControllerLink;
+        private final ISessionController mBinder;
 
         /**
          * @hide
          */
-        public Token(ControllerLink controllerLink) {
+        public Token(ISessionController binder) {
             mUid = Process.myUid();
-            mControllerLink = controllerLink;
+            mBinder = binder;
         }
 
         Token(Parcel in) {
             mUid = in.readInt();
-            mControllerLink = in.readParcelable(null);
+            mBinder = ISessionController.Stub.asInterface(in.readStrongBinder());
         }
 
         @Override
@@ -468,15 +469,14 @@
         @Override
         public void writeToParcel(Parcel dest, int flags) {
             dest.writeInt(mUid);
-            dest.writeParcelable(mControllerLink, flags);
+            dest.writeStrongBinder(mBinder.asBinder());
         }
 
         @Override
         public int hashCode() {
             final int prime = 31;
             int result = mUid;
-            result = prime * result + ((mControllerLink == null)
-                    ? 0 : mControllerLink.getBinder().hashCode());
+            result = prime * result + (mBinder == null ? 0 : mBinder.asBinder().hashCode());
             return result;
         }
 
@@ -492,7 +492,10 @@
             if (mUid != other.mUid) {
                 return false;
             }
-            return Objects.equals(mControllerLink, other.mControllerLink);
+            if (mBinder == null || other.mBinder == null) {
+                return mBinder == other.mBinder;
+            }
+            return Objects.equals(mBinder.asBinder(), other.mBinder.asBinder());
         }
 
         /**
@@ -504,11 +507,11 @@
         }
 
         /**
-         * Gets the controller link in this token.
+         * Gets the controller binder in this token.
          * @hide
          */
-        public ControllerLink getControllerLink() {
-            return mControllerLink;
+        public ISessionController getBinder() {
+            return mBinder;
         }
 
         public static final @android.annotation.NonNull Parcelable.Creator<Token> CREATOR =
diff --git a/media/java/android/media/session/MediaSessionEngine.java b/media/java/android/media/session/MediaSessionEngine.java
index 266bf32..7c5243a 100644
--- a/media/java/android/media/session/MediaSessionEngine.java
+++ b/media/java/android/media/session/MediaSessionEngine.java
@@ -25,6 +25,7 @@
 import android.media.AudioAttributes;
 import android.media.MediaDescription;
 import android.media.MediaMetadata;
+import android.media.MediaParceledListSlice;
 import android.media.Rating;
 import android.media.VolumeProvider;
 import android.media.session.MediaSessionManager.RemoteUserInfo;
@@ -34,6 +35,7 @@
 import android.os.Looper;
 import android.os.Message;
 import android.os.Parcel;
+import android.os.RemoteException;
 import android.os.ResultReceiver;
 import android.service.media.MediaBrowserService;
 import android.text.TextUtils;
@@ -55,7 +57,7 @@
 
     private final MediaSession.Token mSessionToken;
     private final MediaController mController;
-    private final SessionLink mSessionLink;
+    private final ISession mBinder;
 
     private CallbackMessageHandler mCallbackHandler;
     private VolumeProvider mVolumeProvider;
@@ -70,14 +72,14 @@
      * finished with the session.
      *
      * @param context The context to use to create the session.
-     * @param sessionLink A session link for the binder of MediaSessionRecord
+     * @param binder A session binder
      */
-    public MediaSessionEngine(@NonNull Context context, @NonNull SessionLink sessionLink,
-            @NonNull SessionCallbackLink cbLink) {
-        mSessionLink = sessionLink;
+    public MediaSessionEngine(@NonNull Context context, @NonNull ISession binder,
+            @NonNull SessionCallbackLink cbLink) throws RemoteException {
+        mBinder = binder;
 
         cbLink.setSessionEngine(this);
-        mSessionToken = new MediaSession.Token(mSessionLink.getController());
+        mSessionToken = new MediaSession.Token(mBinder.getController());
         mController = new MediaController(context, mSessionToken);
     }
 
@@ -134,8 +136,8 @@
      */
     public void setSessionActivity(@Nullable PendingIntent pi) {
         try {
-            mSessionLink.setLaunchPendingIntent(pi);
-        } catch (RuntimeException e) {
+            mBinder.setLaunchPendingIntent(pi);
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Failure in setLaunchPendingIntent.", e);
         }
     }
@@ -150,8 +152,8 @@
      */
     public void setMediaButtonReceiver(@Nullable PendingIntent mbr) {
         try {
-            mSessionLink.setMediaButtonReceiver(mbr);
-        } catch (RuntimeException e) {
+            mBinder.setMediaButtonReceiver(mbr);
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Failure in setMediaButtonReceiver.", e);
         }
     }
@@ -163,8 +165,8 @@
      */
     public void setFlags(int flags) {
         try {
-            mSessionLink.setFlags(flags);
-        } catch (RuntimeException e) {
+            mBinder.setFlags(flags);
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Failure in setFlags.", e);
         }
     }
@@ -185,8 +187,8 @@
             throw new IllegalArgumentException("Attributes cannot be null for local playback.");
         }
         try {
-            mSessionLink.setPlaybackToLocal(attributes);
-        } catch (RuntimeException e) {
+            mBinder.setPlaybackToLocal(attributes);
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Failure in setPlaybackToLocal.", e);
         }
     }
@@ -217,10 +219,10 @@
         });
 
         try {
-            mSessionLink.setPlaybackToRemote(volumeProvider.getVolumeControl(),
+            mBinder.setPlaybackToRemote(volumeProvider.getVolumeControl(),
                     volumeProvider.getMaxVolume());
-            mSessionLink.setCurrentVolume(volumeProvider.getCurrentVolume());
-        } catch (RuntimeException e) {
+            mBinder.setCurrentVolume(volumeProvider.getCurrentVolume());
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Failure in setPlaybackToRemote.", e);
         }
     }
@@ -238,9 +240,9 @@
             return;
         }
         try {
-            mSessionLink.setActive(active);
+            mBinder.setActive(active);
             mActive = active;
-        } catch (RuntimeException e) {
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Failure in setActive.", e);
         }
     }
@@ -267,8 +269,8 @@
             throw new IllegalArgumentException("event cannot be null or empty");
         }
         try {
-            mSessionLink.sendEvent(event, extras);
-        } catch (RuntimeException e) {
+            mBinder.sendEvent(event, extras);
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Error sending event", e);
         }
     }
@@ -280,8 +282,8 @@
      */
     public void close() {
         try {
-            mSessionLink.destroySession();
-        } catch (RuntimeException e) {
+            mBinder.destroySession();
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Error releasing session: ", e);
         }
     }
@@ -316,8 +318,8 @@
     public void setPlaybackState(@Nullable PlaybackState state) {
         mPlaybackState = state;
         try {
-            mSessionLink.setPlaybackState(state);
-        } catch (RuntimeException e) {
+            mBinder.setPlaybackState(state);
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Dead object in setPlaybackState.", e);
         }
     }
@@ -344,8 +346,8 @@
         String metadataDescription = "size=" + fields + ", description=" + description;
 
         try {
-            mSessionLink.setMetadata(metadata, duration, metadataDescription);
-        } catch (RuntimeException e) {
+            mBinder.setMetadata(metadata, duration, metadataDescription);
+        } catch (RemoteException e) {
             Log.wtf(TAG, "Dead object in setPlaybackState.", e);
         }
     }
@@ -363,8 +365,8 @@
      */
     public void setQueue(@Nullable List<MediaSession.QueueItem> queue) {
         try {
-            mSessionLink.setQueue(queue);
-        } catch (RuntimeException e) {
+            mBinder.setQueue(queue == null ? null : new MediaParceledListSlice(queue));
+        } catch (RemoteException e) {
             Log.wtf("Dead object in setQueue.", e);
         }
     }
@@ -378,8 +380,8 @@
      */
     public void setQueueTitle(@Nullable CharSequence title) {
         try {
-            mSessionLink.setQueueTitle(title);
-        } catch (RuntimeException e) {
+            mBinder.setQueueTitle(title);
+        } catch (RemoteException e) {
             Log.wtf("Dead object in setQueueTitle.", e);
         }
     }
@@ -399,8 +401,8 @@
      */
     public void setRatingType(int type) {
         try {
-            mSessionLink.setRatingType(type);
-        } catch (RuntimeException e) {
+            mBinder.setRatingType(type);
+        } catch (RemoteException e) {
             Log.e(TAG, "Error in setRatingType.", e);
         }
     }
@@ -414,8 +416,8 @@
      */
     public void setExtras(@Nullable Bundle extras) {
         try {
-            mSessionLink.setExtras(extras);
-        } catch (RuntimeException e) {
+            mBinder.setExtras(extras);
+        } catch (RemoteException e) {
             Log.wtf("Dead object in setExtras.", e);
         }
     }
@@ -464,8 +466,8 @@
             }
         }
         try {
-            mSessionLink.setCurrentVolume(provider.getCurrentVolume());
-        } catch (RuntimeException e) {
+            mBinder.setCurrentVolume(provider.getCurrentVolume());
+        } catch (RemoteException e) {
             Log.e(TAG, "Error in notifyVolumeChanged", e);
         }
     }
diff --git a/media/java/android/media/session/MediaSessionManager.java b/media/java/android/media/session/MediaSessionManager.java
index fde4f88..7ca5c93 100644
--- a/media/java/android/media/session/MediaSessionManager.java
+++ b/media/java/android/media/session/MediaSessionManager.java
@@ -107,7 +107,7 @@
      * @hide
      */
     @NonNull
-    public SessionLink createSession(@NonNull SessionCallbackLink cbStub, @NonNull String tag,
+    public ISession createSession(@NonNull SessionCallbackLink cbStub, @NonNull String tag,
             @Nullable Bundle sessionInfo) {
         try {
             return mService.createSession(mContext.getPackageName(), cbStub, tag, sessionInfo,
@@ -424,17 +424,33 @@
     }
 
     /**
-     * Set the remote volume controller to receive volume updates on. Only for
-     * use by system UI.
+     * Set the remote volume controller to receive volume updates on.
+     * Only for use by System UI and Settings application.
      *
      * @param rvc The volume controller to receive updates on.
      * @hide
      */
-    public void setRemoteVolumeController(IRemoteVolumeController rvc) {
+    public void registerRemoteVolumeController(IRemoteVolumeController rvc) {
         try {
-            mService.setRemoteVolumeController(rvc);
+            mService.registerRemoteVolumeController(rvc);
         } catch (RemoteException e) {
-            Log.e(TAG, "Error in setRemoteVolumeController.", e);
+            Log.e(TAG, "Error in registerRemoteVolumeController.", e);
+        }
+    }
+
+    /**
+     * Unregisters the remote volume controller which was previously registered with
+     * {@link #registerRemoteVolumeController(IRemoteVolumeController)}.
+     * Only for use by System UI and Settings application.
+     *
+     * @param rvc The volume controller which was registered.
+     * @hide
+     */
+    public void unregisterRemoteVolumeController(IRemoteVolumeController rvc) {
+        try {
+            mService.unregisterRemoteVolumeController(rvc);
+        } catch (RemoteException e) {
+            Log.e(TAG, "Error in unregisterRemoteVolumeController.", e);
         }
     }
 
diff --git a/media/java/android/media/session/SessionLink.java b/media/java/android/media/session/SessionLink.java
deleted file mode 100644
index 2b42a2d..0000000
--- a/media/java/android/media/session/SessionLink.java
+++ /dev/null
@@ -1,450 +0,0 @@
-/*
- * Copyright 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 android.media.session;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.app.PendingIntent;
-import android.media.AudioAttributes;
-import android.media.MediaMetadata;
-import android.media.MediaParceledListSlice;
-import android.media.session.MediaSession.QueueItem;
-import android.os.Bundle;
-import android.os.IBinder;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.os.RemoteException;
-
-import java.util.List;
-
-/**
- * Handles incoming commands from {@link MediaSession}.
- * @hide
- */
-public final class SessionLink implements Parcelable {
-    public static final @android.annotation.NonNull Parcelable.Creator<SessionLink> CREATOR =
-            new Parcelable.Creator<SessionLink>() {
-                @Override
-                public SessionLink createFromParcel(Parcel in) {
-                    return new SessionLink(in.readStrongBinder());
-                }
-
-                @Override
-                public SessionLink[] newArray(int size) {
-                    return new SessionLink[size];
-                }
-            };
-
-    final SessionStub mSessionStub;
-    final ISession mISession;
-
-    /**
-     * Constructor for stub (Callee)
-     */
-    public SessionLink(@NonNull SessionStub sessionStub) {
-        mSessionStub = sessionStub;
-        mISession = new StubProxy();
-    }
-
-    /**
-     * Constructor for interface (Caller)
-     */
-    public SessionLink(IBinder binder) {
-        mSessionStub = null;
-        mISession = ISession.Stub.asInterface(binder);
-    }
-
-    /**
-     * Tell system that the session sends an event to all the connected controllers.
-     *
-     * @param event the name of the event
-     * @param extras the extras included with the event
-     */
-    void sendEvent(@NonNull String event, @Nullable Bundle extras) {
-        try {
-            mISession.sendEvent(event, extras);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Gets the controller link from the system.
-     */
-    @NonNull
-    ControllerLink getController() {
-        try {
-            return mISession.getController();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that the session sets the flags.
-     *
-     * @param flags the new session flags
-     */
-    void setFlags(int flags) {
-        try {
-            mISession.setFlags(flags);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that the session is (in)active.
-     *
-     * @param active the new activeness state
-     */
-    void setActive(boolean active) {
-        try {
-            mISession.setActive(active);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that the session sets the media button receiver.
-     *
-     * @param mbr the pending intent for media button receiver
-     */
-    void setMediaButtonReceiver(@Nullable PendingIntent mbr) {
-        try {
-            mISession.setMediaButtonReceiver(mbr);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that the session sets the pending intent for launching UI.
-     *
-     * @param pi the pending intent for launching UI
-     */
-    void setLaunchPendingIntent(@Nullable PendingIntent pi) {
-        try {
-            mISession.setLaunchPendingIntent(pi);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that the session is destroyed.
-     */
-    void destroySession() {
-        try {
-            mISession.destroySession();
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that the session sets the new metadata.
-     *
-     * @param metadata the new metadata
-     * @param duration the duration of the media in milliseconds
-     * @param metadataDescription the description of the metadata
-     */
-    void setMetadata(@Nullable MediaMetadata metadata, long duration,
-            @Nullable String metadataDescription) {
-        try {
-            mISession.setMetadata(metadata, duration, metadataDescription);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that the session sets the new playback state.
-     *
-     * @param state the new playback state
-     */
-    void setPlaybackState(@Nullable PlaybackState state) {
-        try {
-            mISession.setPlaybackState(state);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that the session sets the new queue.
-     *
-     * @param queue the new queue
-     */
-    void setQueue(@Nullable List<QueueItem> queue) {
-        try {
-            mISession.setQueue(queue == null ? null : new MediaParceledListSlice(queue));
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that the session sets the new queue title.
-     *
-     * @param title the new queue title
-     */
-    void setQueueTitle(@Nullable CharSequence title) {
-        try {
-            mISession.setQueueTitle(title);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that the session sets the new extras.
-     *
-     * @param extras the new extras
-     */
-    void setExtras(@Nullable Bundle extras) {
-        try {
-            mISession.setExtras(extras);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that the session sets the new rating type of the current media.
-     *
-     * @param type the rating type.
-     */
-    void setRatingType(int type) {
-        try {
-            mISession.setRatingType(type);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that the session represents a local playback.
-     *
-     * @param attributes the audio attributes of the local playback.
-     */
-    void setPlaybackToLocal(@NonNull AudioAttributes attributes) {
-        try {
-            mISession.setPlaybackToLocal(attributes);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that the session represents a remote playback.
-     *
-     * @param control the volume control type
-     * @param max the max volume
-     */
-    void setPlaybackToRemote(int control, int max) {
-        try {
-            mISession.setPlaybackToRemote(control, max);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /**
-     * Tell system that the session sets the new current volume.
-     *
-     * @param currentVolume the new current volume
-     */
-    void setCurrentVolume(int currentVolume) {
-        try {
-            mISession.setCurrentVolume(currentVolume);
-        } catch (RemoteException e) {
-            throw new RuntimeException(e);
-        }
-    }
-
-    /** Gets the binder */
-    @NonNull
-    public IBinder getBinder() {
-        return mISession.asBinder();
-    }
-
-    @Override
-    public int describeContents() {
-        return 0;
-    }
-
-    @Override
-    public void writeToParcel(Parcel dest, int flags) {
-        dest.writeStrongBinder(mISession.asBinder());
-    }
-
-    /**
-     * Class for Stub implementation
-     */
-    public abstract static class SessionStub {
-        /** Stub method for ISession.sendEvent */
-        public void sendEvent(@NonNull String event, @Nullable Bundle data) {
-        }
-
-        /** Stub method for ISession.getController */
-        @NonNull
-        public ControllerLink getController() {
-            return null;
-        }
-
-        /** Stub method for ISession.setFlags */
-        public void setFlags(int flags) {
-        }
-
-        /** Stub method for ISession.setActive */
-        public void setActive(boolean active) {
-        }
-
-        /** Stub method for ISession.setMediaButtonReceiver */
-        public void setMediaButtonReceiver(@Nullable PendingIntent mbr) {
-        }
-
-        /** Stub method for ISession.setLaunchPendingIntent */
-        public void setLaunchPendingIntent(@Nullable PendingIntent pi) {
-        }
-
-        /** Stub method for ISession.destroySession */
-        public void destroySession() {
-        }
-
-        /** Stub method for ISession.setMetadata */
-        public void setMetadata(@Nullable MediaMetadata metadata, long duration,
-                @Nullable String metadataDescription) {
-        }
-
-        /** Stub method for ISession.setPlaybackState */
-        public void setPlaybackState(@Nullable PlaybackState state) {
-        }
-
-        /** Stub method for ISession.setQueue */
-        public void setQueue(@Nullable List<QueueItem> queue) {
-        }
-
-        /** Stub method for ISession.setQueueTitle */
-        public void setQueueTitle(@Nullable CharSequence title) {
-        }
-
-        /** Stub method for ISession.setExtras */
-        public void setExtras(@Nullable Bundle extras) {
-        }
-
-        /** Stub method for ISession.setRatingType */
-        public void setRatingType(int type) {
-        }
-
-        /** Stub method for ISession.setPlaybackToLocal */
-        public void setPlaybackToLocal(@NonNull AudioAttributes attributes) {
-        }
-
-        /** Stub method for ISession.setPlaybackToRemote */
-        public void setPlaybackToRemote(int control, int max) {
-        }
-
-        /** Stub method for ISession.setCurrentVolume */
-        public void setCurrentVolume(int currentVolume) {
-        }
-    }
-
-    private class StubProxy extends ISession.Stub {
-        @Override
-        public void sendEvent(String event, Bundle data) {
-            mSessionStub.sendEvent(event, data);
-        }
-
-        @Override
-        public ControllerLink getController() {
-            return mSessionStub.getController();
-        }
-
-        @Override
-        public void setFlags(int flags) {
-            mSessionStub.setFlags(flags);
-        }
-
-        @Override
-        public void setActive(boolean active) {
-            mSessionStub.setActive(active);
-        }
-
-        @Override
-        public void setMediaButtonReceiver(PendingIntent mbr) {
-            mSessionStub.setMediaButtonReceiver(mbr);
-        }
-
-        @Override
-        public void setLaunchPendingIntent(PendingIntent pi) {
-            mSessionStub.setLaunchPendingIntent(pi);
-        }
-
-        @Override
-        public void destroySession() {
-            mSessionStub.destroySession();
-        }
-
-        @Override
-        public void setMetadata(MediaMetadata metadata, long duration, String metadataDescription) {
-            mSessionStub.setMetadata(metadata, duration, metadataDescription);
-        }
-
-        @Override
-        public void setPlaybackState(PlaybackState state) {
-            mSessionStub.setPlaybackState(state);
-        }
-
-        @Override
-        public void setQueue(MediaParceledListSlice queue) {
-            mSessionStub.setQueue(queue == null ? null : queue.getList());
-        }
-
-        @Override
-        public void setQueueTitle(CharSequence title) {
-            mSessionStub.setQueueTitle(title);
-        }
-
-        @Override
-        public void setExtras(Bundle extras) {
-            mSessionStub.setExtras(extras);
-        }
-
-        @Override
-        public void setRatingType(int type) {
-            mSessionStub.setRatingType(type);
-        }
-
-        @Override
-        public void setPlaybackToLocal(AudioAttributes attributes) {
-            mSessionStub.setPlaybackToLocal(attributes);
-        }
-
-        @Override
-        public void setPlaybackToRemote(int control, int max) {
-            mSessionStub.setPlaybackToRemote(control, max);
-        }
-
-        @Override
-        public void setCurrentVolume(int currentVolume) {
-            mSessionStub.setCurrentVolume(currentVolume);
-        }
-    }
-}
diff --git a/media/java/android/mtp/MtpDatabase.java b/media/java/android/mtp/MtpDatabase.java
index 474b671..dc2d177 100755
--- a/media/java/android/mtp/MtpDatabase.java
+++ b/media/java/android/mtp/MtpDatabase.java
@@ -54,6 +54,7 @@
 import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
+import java.util.Objects;
 import java.util.concurrent.atomic.AtomicBoolean;
 import java.util.stream.IntStream;
 
@@ -248,7 +249,7 @@
     public MtpDatabase(Context context, String volumeName,
             String[] subDirectories) {
         native_setup();
-        mContext = context;
+        mContext = Objects.requireNonNull(context);
         mMediaProvider = context.getContentResolver()
                 .acquireContentProviderClient(MediaStore.AUTHORITY);
         mVolumeName = volumeName;
@@ -294,6 +295,10 @@
         }
     }
 
+    public Context getContext() {
+        return mContext;
+    }
+
     @Override
     public void close() {
         mManager.close();
diff --git a/media/java/android/mtp/MtpServer.java b/media/java/android/mtp/MtpServer.java
index a555d37..f0ab9a3 100644
--- a/media/java/android/mtp/MtpServer.java
+++ b/media/java/android/mtp/MtpServer.java
@@ -18,7 +18,12 @@
 
 import com.android.internal.util.Preconditions;
 
+import android.content.Context;
+import android.content.SharedPreferences;
+import android.util.ByteStringUtils;
+
 import java.io.FileDescriptor;
+import java.util.Random;
 
 /**
  * Java wrapper for MTP/PTP support as USB responder.
@@ -29,6 +34,12 @@
     private long mNativeContext; // accessed by native methods
     private final MtpDatabase mDatabase;
     private final Runnable mOnTerminate;
+    private final Context mContext;
+
+// It requires "exactly 32 characters, including any leading 0s" in MTP spec
+// (5.1.1.14 Serial Number)
+    private static final int sID_LEN_BYTES = 16;
+    private static final int sID_LEN_STR = (sID_LEN_BYTES * 2);
 
     static {
         System.loadLibrary("media_jni");
@@ -41,10 +52,41 @@
             Runnable onTerminate,
             String deviceInfoManufacturer,
             String deviceInfoModel,
-            String deviceInfoDeviceVersion,
-            String deviceInfoSerialNumber) {
+            String deviceInfoDeviceVersion) {
         mDatabase = Preconditions.checkNotNull(database);
         mOnTerminate = Preconditions.checkNotNull(onTerminate);
+        mContext = mDatabase.getContext();
+
+        final String strID_PREFS_NAME = "mtp-cfg";
+        final String strID_PREFS_KEY = "mtp-id";
+        String strRandomId = null;
+        String deviceInfoSerialNumber;
+
+        SharedPreferences sharedPref =
+                mContext.getSharedPreferences(strID_PREFS_NAME, Context.MODE_PRIVATE);
+        if (sharedPref.contains(strID_PREFS_KEY)) {
+            strRandomId = sharedPref.getString(strID_PREFS_KEY, null);
+
+            // Check for format consistence (regenerate upon corruption)
+            if (strRandomId.length() != sID_LEN_STR) {
+                strRandomId = null;
+            } else {
+                // Only accept hex digit
+                for (int ii = 0; ii < strRandomId.length(); ii++)
+                    if (Character.digit(strRandomId.charAt(ii), 16) == -1) {
+                        strRandomId = null;
+                        break;
+                    }
+            }
+        }
+
+        if (strRandomId == null) {
+            strRandomId = getRandId();
+            sharedPref.edit().putString(strID_PREFS_KEY, strRandomId).apply();
+        }
+
+        deviceInfoSerialNumber = strRandomId;
+
         native_setup(
                 database,
                 controlFd,
@@ -56,6 +98,14 @@
         database.setServer(this);
     }
 
+    private String getRandId() {
+        Random randomVal = new Random();
+        byte[] randomBytes = new byte[sID_LEN_BYTES];
+
+        randomVal.nextBytes(randomBytes);
+        return ByteStringUtils.toHexString(randomBytes);
+    }
+
     public void start() {
         Thread thread = new Thread(this, "MtpServer");
         thread.start();
diff --git a/media/jni/android_media_MediaHTTPConnection.cpp b/media/jni/android_media_MediaHTTPConnection.cpp
index 365e045..d28c15c 100644
--- a/media/jni/android_media_MediaHTTPConnection.cpp
+++ b/media/jni/android_media_MediaHTTPConnection.cpp
@@ -109,7 +109,8 @@
     gFields.context = env->GetFieldID(clazz.get(), "mNativeContext", "J");
     CHECK(gFields.context != NULL);
 
-    gFields.readAtMethodID = env->GetMethodID(clazz.get(), "readAt", "(J[BI)I");
+    gFields.readAtMethodID = env->GetMethodID(
+            clazz.get(), "readAt", "(J[BILandroid/media/MediaHTTPConnection$ConnectionState;)I");
 }
 
 static void android_media_MediaHTTPConnection_native_setup(
@@ -132,7 +133,7 @@
 }
 
 static jint android_media_MediaHTTPConnection_native_readAt(
-        JNIEnv *env, jobject thiz, jlong offset, jint size) {
+        JNIEnv *env, jobject thiz, jlong offset, jint size, jobject connectionState) {
     sp<JMediaHTTPConnection> conn = getObject(env, thiz);
     if (size > JMediaHTTPConnection::kBufferSize) {
         size = JMediaHTTPConnection::kBufferSize;
@@ -141,7 +142,7 @@
     jbyteArray byteArrayObj = conn->getByteArrayObj();
 
     jint n = env->CallIntMethod(
-            thiz, gFields.readAtMethodID, offset, byteArrayObj, size);
+            thiz, gFields.readAtMethodID, offset, byteArrayObj, size, connectionState);
 
     if (n > 0) {
         env->GetByteArrayRegion(
@@ -158,7 +159,7 @@
     { "native_getIMemory", "()Landroid/os/IBinder;",
       (void *)android_media_MediaHTTPConnection_native_getIMemory },
 
-    { "native_readAt", "(JI)I",
+    { "native_readAt", "(JILandroid/media/MediaHTTPConnection$ConnectionState;)I",
       (void *)android_media_MediaHTTPConnection_native_readAt },
 
     { "native_init", "()V",
diff --git a/media/jni/android_media_MediaRecorder.cpp b/media/jni/android_media_MediaRecorder.cpp
index a7c0159..3ec0903 100644
--- a/media/jni/android_media_MediaRecorder.cpp
+++ b/media/jni/android_media_MediaRecorder.cpp
@@ -760,6 +760,44 @@
     return jStatus;
 }
 
+static jint android_media_MediaRecord_setMicrophoneDirection(
+        JNIEnv *env, jobject thiz, jint direction) {
+    ALOGV("setMicrophoneDirection(%d)", direction);
+    sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
+    if (mr == NULL) {
+        jniThrowException(env, "java/lang/IllegalStateException", NULL);
+        return (jint)AUDIO_JAVA_NO_INIT;
+    }
+
+    jint jStatus = AUDIO_JAVA_SUCCESS;
+    status_t status =
+        mr->setMicrophoneDirection(static_cast<audio_microphone_direction_t>(direction));
+    if (status != NO_ERROR) {
+        jStatus = nativeToJavaStatus(status);
+    }
+
+    return jStatus;
+}
+
+static jint  android_media_MediaRecord_setMicrophoneFieldDimension(
+        JNIEnv *env, jobject thiz, jfloat zoom) {
+    ALOGV("setMicrophoneFieldDimension(%f)", zoom);
+    sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
+    if (mr == NULL) {
+        jniThrowException(env, "java/lang/IllegalStateException", NULL);
+        return (jint)AUDIO_JAVA_NO_INIT;
+    }
+
+    jint jStatus = AUDIO_JAVA_SUCCESS;
+    status_t status = mr->setMicrophoneFieldDimension(zoom);
+    if (status != NO_ERROR) {
+        jStatus = nativeToJavaStatus(status);
+    }
+
+    return jStatus;
+
+}
+
 static jint android_media_MediaRecord_getPortId(JNIEnv *env,  jobject thiz) {
     sp<MediaRecorder> mr = getMediaRecorder(env, thiz);
     if (mr == NULL) {
@@ -812,6 +850,8 @@
 
     {"native_getActiveMicrophones", "(Ljava/util/ArrayList;)I", (void *)android_media_MediaRecord_getActiveMicrophones},
     {"native_getPortId", "()I", (void *)android_media_MediaRecord_getPortId},
+    {"native_setMicrophoneDirection", "(I)I", (void *)android_media_MediaRecord_setMicrophoneDirection},
+    {"native_setMicrophoneFieldDimension", "(F)I", (void *)android_media_MediaRecord_setMicrophoneFieldDimension},
 };
 
 // This function only registers the native methods, and is called from
diff --git a/media/mca/Android.mk b/media/mca/Android.mk
deleted file mode 100644
index b1ce91e..0000000
--- a/media/mca/Android.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-# 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.
-#
-
-#
-# Build all native libraries
-#
-include $(call all-subdir-makefiles)
-
-
diff --git a/media/mca/samples/Android.mk b/media/mca/samples/Android.mk
deleted file mode 100644
index b1ce91e..0000000
--- a/media/mca/samples/Android.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-# 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.
-#
-
-#
-# Build all native libraries
-#
-include $(call all-subdir-makefiles)
-
-
diff --git a/media/mca/samples/CameraEffectsRecordingSample/Android.bp b/media/mca/samples/CameraEffectsRecordingSample/Android.bp
new file mode 100644
index 0000000..96e81ab
--- /dev/null
+++ b/media/mca/samples/CameraEffectsRecordingSample/Android.bp
@@ -0,0 +1,26 @@
+// 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.
+//
+
+// Build activity
+
+android_test {
+    name: "CameraEffectsRecordingSample",
+    srcs: ["**/*.java"],
+    platform_apis: true,
+    optimize: {
+        enabled: false,
+    },
+}
+
diff --git a/media/mca/samples/CameraEffectsRecordingSample/Android.mk b/media/mca/samples/CameraEffectsRecordingSample/Android.mk
deleted file mode 100644
index c81f2fc..0000000
--- a/media/mca/samples/CameraEffectsRecordingSample/Android.mk
+++ /dev/null
@@ -1,35 +0,0 @@
-# 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.
-#
-
-# Build activity
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := CameraEffectsRecordingSample
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_PROGUARD_ENABLED := disabled
-
-include $(BUILD_PACKAGE)
-
-# ============================================================
-
-# Also build all of the sub-targets under this one: the shared library.
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/media/mca/tests/Android.bp b/media/mca/tests/Android.bp
new file mode 100644
index 0000000..6b11dd9
--- /dev/null
+++ b/media/mca/tests/Android.bp
@@ -0,0 +1,12 @@
+android_test {
+    name: "CameraEffectsTests",
+    libs: [
+        "android.test.runner",
+        "android.test.base",
+    ],
+    static_libs: ["junit"],
+    // Include all test java files.
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    instrumentation_for: "CameraEffectsRecordingSample",
+}
diff --git a/media/mca/tests/Android.mk b/media/mca/tests/Android.mk
deleted file mode 100644
index 648af4e..0000000
--- a/media/mca/tests/Android.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_JAVA_LIBRARIES := android.test.runner android.test.base
-LOCAL_STATIC_JAVA_LIBRARIES := junit
-
-# Include all test java files.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := CameraEffectsTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_INSTRUMENTATION_FOR := CameraEffectsRecordingSample
-
-include $(BUILD_PACKAGE)
-
-
diff --git a/media/native/midi/include/Doxyfile b/media/native/midi/include/Doxyfile
index 2828f48..e40bbdc 100644
--- a/media/native/midi/include/Doxyfile
+++ b/media/native/midi/include/Doxyfile
@@ -790,7 +790,7 @@
 # spaces. See also FILE_PATTERNS and EXTENSION_MAPPING
 # Note: If this tag is empty the current directory is searched.
 
-INPUT                  = "midi.h"
+INPUT                  = "amidi/AMidi.h"
 
 # This tag can be used to specify the character encoding of the source files
 # that doxygen parses. Internally doxygen uses the UTF-8 encoding. Doxygen uses
diff --git a/media/native/midi/include/amidi/AMidi.h b/media/native/midi/include/amidi/AMidi.h
index 0d60b0d..cbe410f 100644
--- a/media/native/midi/include/amidi/AMidi.h
+++ b/media/native/midi/include/amidi/AMidi.h
@@ -13,6 +13,14 @@
  * See the License for the specific language governing permissions and
  * limitations under the License.
  */
+/**
+ * @addtogroup Midi
+ * @{
+ */
+
+/**
+ * @file AMidi.h
+ */
 
 #ifndef ANDROID_MEDIA_AMIDI_H_
 #define ANDROID_MEDIA_AMIDI_H_
@@ -244,3 +252,6 @@
 #endif
 
 #endif /* ANDROID_MEDIA_AMIDI_H_ */
+/**
+@}
+*/
diff --git a/media/packages/BluetoothMidiService/Android.bp b/media/packages/BluetoothMidiService/Android.bp
new file mode 100644
index 0000000..f45114a
--- /dev/null
+++ b/media/packages/BluetoothMidiService/Android.bp
@@ -0,0 +1,6 @@
+android_app {
+    name: "BluetoothMidiService",
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+}
diff --git a/media/packages/BluetoothMidiService/Android.mk b/media/packages/BluetoothMidiService/Android.mk
deleted file mode 100644
index 6f262bf..0000000
--- a/media/packages/BluetoothMidiService/Android.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES += \
-      $(call all-java-files-under,src)
-
-LOCAL_PACKAGE_NAME := BluetoothMidiService
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_CERTIFICATE := platform
-
-include $(BUILD_PACKAGE)
diff --git a/media/tests/CameraBrowser/Android.bp b/media/tests/CameraBrowser/Android.bp
new file mode 100644
index 0000000..8e3ca19
--- /dev/null
+++ b/media/tests/CameraBrowser/Android.bp
@@ -0,0 +1,5 @@
+android_test {
+    name: "CameraBrowser",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+}
diff --git a/media/tests/CameraBrowser/Android.mk b/media/tests/CameraBrowser/Android.mk
deleted file mode 100644
index 46596a7..0000000
--- a/media/tests/CameraBrowser/Android.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := CameraBrowser
-
-LOCAL_SDK_VERSION := current
-
-include $(BUILD_PACKAGE)
diff --git a/media/tests/EffectsTest/Android.bp b/media/tests/EffectsTest/Android.bp
new file mode 100644
index 0000000..214e8c0
--- /dev/null
+++ b/media/tests/EffectsTest/Android.bp
@@ -0,0 +1,5 @@
+android_test {
+    name: "EffectsTest",
+    srcs: ["**/*.java"],
+    platform_apis: true,
+}
diff --git a/media/tests/EffectsTest/Android.mk b/media/tests/EffectsTest/Android.mk
deleted file mode 100644
index a066950..0000000
--- a/media/tests/EffectsTest/Android.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := EffectsTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-include $(BUILD_PACKAGE)
diff --git a/media/tests/MediaDump/Android.bp b/media/tests/MediaDump/Android.bp
new file mode 100644
index 0000000..0eba8b2
--- /dev/null
+++ b/media/tests/MediaDump/Android.bp
@@ -0,0 +1,6 @@
+android_app {
+    name: "MediaDump",
+    // Only compile source java files in this apk.
+    srcs: ["src/**/*.java"],
+    sdk_version: "current",
+}
diff --git a/media/tests/MediaDump/Android.mk b/media/tests/MediaDump/Android.mk
deleted file mode 100644
index 74afdd0..0000000
--- a/media/tests/MediaDump/Android.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-
-# Only compile source java files in this apk.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := MediaDump
-
-LOCAL_SDK_VERSION := current
-
-include $(BUILD_PACKAGE)
-
-# Use the following include to make our test apk.
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/media/tests/ScoAudioTest/Android.bp b/media/tests/ScoAudioTest/Android.bp
new file mode 100644
index 0000000..ad2b9171
--- /dev/null
+++ b/media/tests/ScoAudioTest/Android.bp
@@ -0,0 +1,5 @@
+android_test {
+    name: "scoaudiotest",
+    platform_apis: true,
+    srcs: ["**/*.java"],
+}
diff --git a/media/tests/ScoAudioTest/Android.mk b/media/tests/ScoAudioTest/Android.mk
deleted file mode 100644
index 2ad91a4..0000000
--- a/media/tests/ScoAudioTest/Android.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-#LOCAL_SDK_VERSION := current
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := scoaudiotest
-
-include $(BUILD_PACKAGE)
diff --git a/media/tests/SoundPoolTest/Android.bp b/media/tests/SoundPoolTest/Android.bp
new file mode 100644
index 0000000..473f531
--- /dev/null
+++ b/media/tests/SoundPoolTest/Android.bp
@@ -0,0 +1,5 @@
+android_test {
+    name: "SoundPoolTest",
+    srcs: ["**/*.java"],
+    platform_apis: true,
+}
diff --git a/media/tests/SoundPoolTest/Android.mk b/media/tests/SoundPoolTest/Android.mk
deleted file mode 100644
index 9ca33c8..0000000
--- a/media/tests/SoundPoolTest/Android.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := SoundPoolTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-include $(BUILD_PACKAGE)
diff --git a/media/tests/players/Android.bp b/media/tests/players/Android.bp
new file mode 100644
index 0000000..23c5f04
--- /dev/null
+++ b/media/tests/players/Android.bp
@@ -0,0 +1,31 @@
+// Copyright (C) 2009 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.
+
+cc_test_library {
+    name: "invoke_mock_media_player",
+    srcs: ["invoke_mock_media_player.cpp"],
+    shared_libs: [
+        "libbinder",
+        "libmedia",
+        "libutils",
+        "liblog",
+    ],
+    cflags: [
+        "-Wall",
+        "-Werror",
+        "-Wunused",
+        "-Wunreachable-code",
+    ],
+    gtest: false,
+}
diff --git a/media/tests/players/Android.mk b/media/tests/players/Android.mk
deleted file mode 100644
index ee9d850..0000000
--- a/media/tests/players/Android.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright (C) 2009 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.
-
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES:= invoke_mock_media_player.cpp
-
-LOCAL_SHARED_LIBRARIES:= \
-    libbinder \
-    libmedia \
-    libutils \
-    liblog
-
-LOCAL_MODULE:= invoke_mock_media_player
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_CFLAGS += -Wall -Werror -Wunused -Wunreachable-code
-
-include $(BUILD_SHARED_LIBRARY)
diff --git a/native/android/OWNERS b/native/android/OWNERS
index b3f50aa..266764a 100644
--- a/native/android/OWNERS
+++ b/native/android/OWNERS
@@ -1,4 +1,4 @@
 set noparent
 
-per-file libandroid_net.map.txt, net.c = codewiz@google.com, ek@google.com, jchalard@google.com
+per-file libandroid_net.map.txt, net.c = codewiz@google.com, jchalard@google.com, junyulai@google.com
 per-file libandroid_net.map.txt, net.c = lorenzo@google.com, reminv@google.com, satk@google.com
diff --git a/native/android/choreographer.cpp b/native/android/choreographer.cpp
index 3fecd53..63e0734 100644
--- a/native/android/choreographer.cpp
+++ b/native/android/choreographer.cpp
@@ -37,6 +37,7 @@
 
 struct FrameCallback {
     AChoreographer_frameCallback callback;
+    AChoreographer_frameCallback64 callback64;
     void* data;
     nsecs_t dueTime;
 
@@ -50,8 +51,8 @@
 
 class Choreographer : public DisplayEventDispatcher, public MessageHandler {
 public:
-    void postFrameCallback(AChoreographer_frameCallback cb, void* data);
-    void postFrameCallbackDelayed(AChoreographer_frameCallback cb, void* data, nsecs_t delay);
+    void postFrameCallbackDelayed(AChoreographer_frameCallback cb,
+                                  AChoreographer_frameCallback64 cb64, void* data, nsecs_t delay);
 
     enum {
         MSG_SCHEDULE_CALLBACKS = 0,
@@ -107,14 +108,10 @@
     DisplayEventDispatcher(looper), mLooper(looper), mThreadId(std::this_thread::get_id()) {
 }
 
-void Choreographer::postFrameCallback(AChoreographer_frameCallback cb, void* data) {
-    postFrameCallbackDelayed(cb, data, 0);
-}
-
 void Choreographer::postFrameCallbackDelayed(
-        AChoreographer_frameCallback cb, void* data, nsecs_t delay) {
+        AChoreographer_frameCallback cb, AChoreographer_frameCallback64 cb64, void* data, nsecs_t delay) {
     nsecs_t now = systemTime(SYSTEM_TIME_MONOTONIC);
-    FrameCallback callback{cb, data, now + delay};
+    FrameCallback callback{cb, cb64, data, now + delay};
     {
         AutoMutex _l{mLock};
         mCallbacks.push(callback);
@@ -156,7 +153,11 @@
         }
     }
     for (const auto& cb : callbacks) {
-        cb.callback(timestamp, cb.data);
+        if (cb.callback64 != nullptr) {
+            cb.callback64(timestamp, cb.data);
+        } else if (cb.callback != nullptr) {
+            cb.callback(timestamp, cb.data);
+        }
     }
 }
 
@@ -204,10 +205,21 @@
 
 void AChoreographer_postFrameCallback(AChoreographer* choreographer,
         AChoreographer_frameCallback callback, void* data) {
-    AChoreographer_to_Choreographer(choreographer)->postFrameCallback(callback, data);
+    AChoreographer_to_Choreographer(choreographer)->postFrameCallbackDelayed(
+            callback, nullptr, data, 0);
 }
 void AChoreographer_postFrameCallbackDelayed(AChoreographer* choreographer,
         AChoreographer_frameCallback callback, void* data, long delayMillis) {
     AChoreographer_to_Choreographer(choreographer)->postFrameCallbackDelayed(
-            callback, data, ms2ns(delayMillis));
+            callback, nullptr, data, ms2ns(delayMillis));
+}
+void AChoreographer_postFrameCallback64(AChoreographer* choreographer,
+        AChoreographer_frameCallback64 callback, void* data) {
+    AChoreographer_to_Choreographer(choreographer)->postFrameCallbackDelayed(
+            nullptr, callback, data, 0);
+}
+void AChoreographer_postFrameCallbackDelayed64(AChoreographer* choreographer,
+        AChoreographer_frameCallback64 callback, void* data, uint32_t delayMillis) {
+    AChoreographer_to_Choreographer(choreographer)->postFrameCallbackDelayed(
+            nullptr, callback, data, ms2ns(delayMillis));
 }
diff --git a/native/android/libandroid.map.txt b/native/android/libandroid.map.txt
index a3db2d6..e1dc406 100644
--- a/native/android/libandroid.map.txt
+++ b/native/android/libandroid.map.txt
@@ -21,6 +21,8 @@
     AChoreographer_getInstance; # introduced=24
     AChoreographer_postFrameCallback; # introduced=24
     AChoreographer_postFrameCallbackDelayed; # introduced=24
+    AChoreographer_postFrameCallback64; # introduced=29
+    AChoreographer_postFrameCallbackDelayed64; # introduced=29
     AConfiguration_copy;
     AConfiguration_delete;
     AConfiguration_diff;
diff --git a/packages/CaptivePortalLogin/Android.bp b/packages/CaptivePortalLogin/Android.bp
index a71977f..bc614e9 100644
--- a/packages/CaptivePortalLogin/Android.bp
+++ b/packages/CaptivePortalLogin/Android.bp
@@ -18,6 +18,7 @@
     name: "CaptivePortalLogin",
     srcs: ["src/**/*.java"],
     sdk_version: "system_current",
+    min_sdk_version: "28",
     certificate: "networkstack",
     static_libs: [
         "androidx.legacy_legacy-support-v4",
diff --git a/packages/CaptivePortalLogin/AndroidManifest.xml b/packages/CaptivePortalLogin/AndroidManifest.xml
index a5f3b88fe..44e0a65 100644
--- a/packages/CaptivePortalLogin/AndroidManifest.xml
+++ b/packages/CaptivePortalLogin/AndroidManifest.xml
@@ -18,7 +18,7 @@
 -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.android.captiveportallogin"
-    android:versionCode="10"
+    android:versionCode="11"
     android:versionName="Q-initial">
 
     <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="28" />
diff --git a/packages/CaptivePortalLogin/OWNERS b/packages/CaptivePortalLogin/OWNERS
index 7311eee..d3836d4 100644
--- a/packages/CaptivePortalLogin/OWNERS
+++ b/packages/CaptivePortalLogin/OWNERS
@@ -1,8 +1,8 @@
 set noparent
 
 codewiz@google.com
-ek@google.com
 jchalard@google.com
+junyulai@google.com
 lorenzo@google.com
 reminv@google.com
 satk@google.com
diff --git a/packages/CarSystemUI/Android.bp b/packages/CarSystemUI/Android.bp
index 9064ebe..4c9629d 100644
--- a/packages/CarSystemUI/Android.bp
+++ b/packages/CarSystemUI/Android.bp
@@ -58,8 +58,8 @@
 
     manifest: "AndroidManifest.xml",
 
-    owner: "google",
     platform_apis: true,
+    product_specific: true,
     certificate: "platform",
     privileged: true,
 
@@ -82,4 +82,6 @@
     ],
 
     plugins: ["dagger2-compiler-2.19"],
+
+    required: ["privapp_whitelist_com.android.systemui"],
 }
diff --git a/packages/CarSystemUI/src/com/android/systemui/CarSystemUIFactory.java b/packages/CarSystemUI/src/com/android/systemui/CarSystemUIFactory.java
index 0c35204..3b278b4 100644
--- a/packages/CarSystemUI/src/com/android/systemui/CarSystemUIFactory.java
+++ b/packages/CarSystemUI/src/com/android/systemui/CarSystemUIFactory.java
@@ -20,9 +20,11 @@
 
 import com.android.internal.widget.LockPatternUtils;
 import com.android.keyguard.ViewMediatorCallback;
+import com.android.systemui.car.CarNotificationEntryManager;
 import com.android.systemui.car.CarNotificationInterruptionStateProvider;
 import com.android.systemui.statusbar.car.CarFacetButtonController;
 import com.android.systemui.statusbar.car.CarStatusBarKeyguardViewManager;
+import com.android.systemui.statusbar.notification.NotificationEntryManager;
 import com.android.systemui.statusbar.notification.NotificationInterruptionStateProvider;
 import com.android.systemui.statusbar.phone.StatusBarKeyguardViewManager;
 import com.android.systemui.volume.CarVolumeDialogComponent;
@@ -54,7 +56,7 @@
     }
 
     public StatusBarKeyguardViewManager createStatusBarKeyguardViewManager(Context context,
-        ViewMediatorCallback viewMediatorCallback, LockPatternUtils lockPatternUtils) {
+            ViewMediatorCallback viewMediatorCallback, LockPatternUtils lockPatternUtils) {
         return new CarStatusBarKeyguardViewManager(context, viewMediatorCallback, lockPatternUtils);
     }
 
@@ -92,4 +94,12 @@
     public interface CarDependencyComponent {
         CarFacetButtonController getCarFacetButtonController();
     }
+
+    /**
+     * Use {@link CarNotificationEntryManager}, which does nothing when adding a notification.
+     */
+    @Singleton
+    public NotificationEntryManager provideNotificationEntryManager(Context context) {
+        return new CarNotificationEntryManager(context);
+    }
 }
diff --git a/packages/CarSystemUI/src/com/android/systemui/car/CarNotificationEntryManager.java b/packages/CarSystemUI/src/com/android/systemui/car/CarNotificationEntryManager.java
new file mode 100644
index 0000000..6d9c7ba
--- /dev/null
+++ b/packages/CarSystemUI/src/com/android/systemui/car/CarNotificationEntryManager.java
@@ -0,0 +1,39 @@
+/*
+ * 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.car;
+
+import android.content.Context;
+import android.service.notification.NotificationListenerService;
+import android.service.notification.StatusBarNotification;
+
+import com.android.systemui.statusbar.notification.NotificationEntryManager;
+
+/**
+ * Car specific notification entry manager that does nothing when adding a notification.
+ *
+ * <p> This is because system UI notifications are disabled and we have a different implementation.
+ * Please see {@link com.android.car.notification}.
+ */
+public class CarNotificationEntryManager extends NotificationEntryManager {
+    public CarNotificationEntryManager(Context context) {
+        super(context);
+    }
+
+    @Override
+    public void addNotification(
+            StatusBarNotification notification, NotificationListenerService.RankingMap ranking) {
+    }
+}
diff --git a/packages/CarSystemUI/src/com/android/systemui/notifications/NotificationsUI.java b/packages/CarSystemUI/src/com/android/systemui/notifications/NotificationsUI.java
index efa4387..4a2d2fb 100644
--- a/packages/CarSystemUI/src/com/android/systemui/notifications/NotificationsUI.java
+++ b/packages/CarSystemUI/src/com/android/systemui/notifications/NotificationsUI.java
@@ -130,7 +130,6 @@
                 R.layout.navigation_bar_window, null);
         mCarNotificationWindow
                 .setBackgroundColor(mContext.getColor(R.color.notification_shade_background_color));
-
         inflateNotificationContent();
 
         WindowManager.LayoutParams layoutParams = new WindowManager.LayoutParams(
@@ -246,6 +245,12 @@
         public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
             return distanceY > 0;
         }
+
+        @Override
+        public boolean onSingleTapUp(MotionEvent motionEvent) {
+            closeCarNotifications(DEFAULT_FLING_VELOCITY);
+            return false;
+        }
     }
 
     private class NotificationListTouchListener implements View.OnTouchListener {
@@ -324,6 +329,14 @@
         @Override
         public boolean onScroll(MotionEvent event1, MotionEvent event2, float distanceX,
                 float distanceY) {
+            boolean isDown = event1.getY() - event2.getY() < 0;
+            // CarStatusBar and NavigationBar are identical so avoid the touch if it
+            // starts from NavigationBar to open.
+            if (event1.getRawY() > mCarNotificationWindow.getHeight() && isDown
+                    && mCarNotificationWindow.getVisibility() == View.GONE) {
+                mIsTracking = false;
+                return true;
+            }
             mIsTracking = true;
             mCarNotificationWindow.setVisibility(View.VISIBLE);
 
@@ -345,14 +358,15 @@
 
             boolean isUp = velocityY < 0;
             float distanceDelta = Math.abs(event1.getY() - event2.getY());
-
             if (isUp && distanceDelta > SWIPE_UP_MIN_DISTANCE) {
                 // fling up
                 mIsTracking = false;
                 closeCarNotifications(Math.abs(velocityY));
                 return true;
 
-            } else if (!isUp && distanceDelta > SWIPE_DOWN_MIN_DISTANCE) {
+            } else if (!isUp && distanceDelta > SWIPE_DOWN_MIN_DISTANCE
+                    && (event1.getRawY() < mCarNotificationWindow.getHeight()
+                    || mCarNotificationWindow.getVisibility() == View.VISIBLE)) {
                 // fling down
                 mIsTracking = false;
                 openCarNotifications(velocityY);
diff --git a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
index bd0e0b8..45459fc 100644
--- a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
+++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBar.java
@@ -161,6 +161,11 @@
         }
 
         buildNavBarContent();
+        // If the UI was rebuilt (day/night change) while the keyguard was up we need to
+        // correctly respect that state.
+        if (mIsKeyguard) {
+            updateNavBarForKeyguardContent();
+        }
     }
 
     private void addTemperatureViewToController(View v) {
@@ -211,6 +216,13 @@
     @Override
     public void showKeyguard() {
         super.showKeyguard();
+        updateNavBarForKeyguardContent();
+    }
+
+    /**
+     * Switch to the keyguard applicable content contained in the nav bars
+     */
+    private void updateNavBarForKeyguardContent() {
         getComponent(NotificationsUI.class).closeCarNotifications(0);
         if (mNavigationBarView != null) {
             mNavigationBarView.showKeyguardButtons();
@@ -606,4 +618,8 @@
         getComponent(NotificationsUI.class).toggleShowingCarNotifications();
     }
 
+    @Override
+    public void maybeEscalateHeadsUp() {
+        // Never send full screen intent in car.
+    }
 }
diff --git a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarKeyguardViewManager.java b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarKeyguardViewManager.java
index 8c6b9b0..5921868 100644
--- a/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarKeyguardViewManager.java
+++ b/packages/CarSystemUI/src/com/android/systemui/statusbar/car/CarStatusBarKeyguardViewManager.java
@@ -64,4 +64,12 @@
         CarStatusBar statusBar = (CarStatusBar) mStatusBar;
         statusBar.showUserSwitcher();
     }
+
+    /**
+     * Do nothing on this change.
+     * The base class hides the keyguard which for automotive we want to avoid b/c this would happen
+     * on a configuration change due to day/night (headlight state).
+     */
+    @Override
+    public void onDensityOrFontScaleChanged() {  }
 }
diff --git a/packages/CtsShim/build/shim/AndroidManifest.xml b/packages/CtsShim/build/shim/AndroidManifest.xml
index 9b813ac..3e546f1e 100644
--- a/packages/CtsShim/build/shim/AndroidManifest.xml
+++ b/packages/CtsShim/build/shim/AndroidManifest.xml
@@ -20,7 +20,7 @@
     package="com.android.cts.ctsshim" >
 
     <uses-sdk android:minSdkVersion="24"
-        android:targetSdkVersion="24" />
+        android:targetSdkVersion="28" />
 
     <restrict-update
         android:hash="__CAN_NOT_BE_UPDATED__" />
diff --git a/packages/CtsShim/build/shim_priv/AndroidManifest.xml b/packages/CtsShim/build/shim_priv/AndroidManifest.xml
index 9bf454c..9ab12c9 100644
--- a/packages/CtsShim/build/shim_priv/AndroidManifest.xml
+++ b/packages/CtsShim/build/shim_priv/AndroidManifest.xml
@@ -20,7 +20,7 @@
     package="com.android.cts.priv.ctsshim" >
 
     <uses-sdk android:minSdkVersion="24"
-        android:targetSdkVersion="24" />
+        android:targetSdkVersion="28" />
 
     <restrict-update
         android:hash="__HASH__" />
diff --git a/packages/CtsShim/build/shim_priv_upgrade/AndroidManifest.xml b/packages/CtsShim/build/shim_priv_upgrade/AndroidManifest.xml
index 023e93e..2354061 100644
--- a/packages/CtsShim/build/shim_priv_upgrade/AndroidManifest.xml
+++ b/packages/CtsShim/build/shim_priv_upgrade/AndroidManifest.xml
@@ -20,7 +20,7 @@
     package="com.android.cts.priv.ctsshim" >
 
     <uses-sdk android:minSdkVersion="24"
-        android:targetSdkVersion="24" />
+        android:targetSdkVersion="28" />
 
     <application
         android:hasCode="false"
diff --git a/packages/DynamicAndroidInstallationService/res/values/strings.xml b/packages/DynamicAndroidInstallationService/res/values/strings.xml
index 221e1d7..03c7c28 100644
--- a/packages/DynamicAndroidInstallationService/res/values/strings.xml
+++ b/packages/DynamicAndroidInstallationService/res/values/strings.xml
@@ -13,7 +13,7 @@
     <string name="keyguard_description">Please enter your password and continue to AndroidOnTap installation</string>
 
     <!-- Displayed on notification: DynAndroid installation is completed [CHAR LIMIT=128] -->
-    <string name="notification_install_completed">Installation is completed, you can reboot into the new installed system now.</string>
+    <string name="notification_install_completed">New system is ready, you can reboot into it or discard it.</string>
     <!-- Displayed on notification: DynAndroid installation is in progress [CHAR LIMIT=128] -->
     <string name="notification_install_inprogress">Installation is in progress.</string>
     <!-- Displayed on notification: DynAndroid installation is in progress [CHAR LIMIT=128] -->
@@ -30,4 +30,9 @@
     <!-- Action on notification: Reboot to AndroidOnTap [CHAR LIMIT=16] -->
     <string name="notification_action_reboot_to_dynandroid">Reboot</string>
 
+    <!-- Toast when installed DynamicAndroid is discarded [CHAR LIMIT=64] -->
+    <string name="toast_dynandroid_discarded">Installed AndroidOnTap is discarded.</string>
+    <!-- Toast when we fail to launch into DynamicAndroid [CHAR LIMIT=64] -->
+    <string name="toast_failed_to_reboot_to_dynandroid">Failed to reboot into AndroidOnTap.</string>
+
 </resources>
diff --git a/packages/DynamicAndroidInstallationService/src/com/android/dynandroid/DynamicAndroidInstallationService.java b/packages/DynamicAndroidInstallationService/src/com/android/dynandroid/DynamicAndroidInstallationService.java
index 7755cbc..d942bab 100644
--- a/packages/DynamicAndroidInstallationService/src/com/android/dynandroid/DynamicAndroidInstallationService.java
+++ b/packages/DynamicAndroidInstallationService/src/com/android/dynandroid/DynamicAndroidInstallationService.java
@@ -54,6 +54,7 @@
 import android.os.PowerManager;
 import android.os.RemoteException;
 import android.util.Log;
+import android.widget.Toast;
 
 import java.lang.ref.WeakReference;
 import java.util.ArrayList;
@@ -73,6 +74,8 @@
      */
     private static final String ACTION_CANCEL_INSTALL =
             "com.android.dynandroid.ACTION_CANCEL_INSTALL";
+    private static final String ACTION_DISCARD_INSTALL =
+            "com.android.dynandroid.ACTION_DISCARD_INSTALL";
     private static final String ACTION_REBOOT_TO_DYN_ANDROID =
             "com.android.dynandroid.ACTION_REBOOT_TO_DYN_ANDROID";
     private static final String ACTION_REBOOT_TO_NORMAL =
@@ -114,13 +117,10 @@
     private NotificationManager mNM;
 
     private long mSystemSize;
+    private long mUserdataSize;
     private long mInstalledSize;
     private boolean mJustCancelledByUser;
 
-    private PendingIntent mPiCancel;
-    private PendingIntent mPiRebootToDynamicAndroid;
-    private PendingIntent mPiUninstallAndReboot;
-
     private InstallationAsyncTask mInstallTask;
 
 
@@ -154,6 +154,8 @@
             executeInstallCommand(intent);
         } else if (ACTION_CANCEL_INSTALL.equals(action)) {
             executeCancelCommand();
+        } else if (ACTION_DISCARD_INSTALL.equals(action)) {
+            executeDiscardCommand();
         } else if (ACTION_REBOOT_TO_DYN_ANDROID.equals(action)) {
             executeRebootToDynAndroidCommand();
         } else if (ACTION_REBOOT_TO_NORMAL.equals(action)) {
@@ -209,7 +211,7 @@
         }
 
         if (mInstallTask != null) {
-            Log.e(TAG, "There is already an install task running");
+            Log.e(TAG, "There is already an installation task running");
             return;
         }
 
@@ -220,9 +222,11 @@
 
         String url = intent.getStringExtra(DynamicAndroidClient.KEY_SYSTEM_URL);
         mSystemSize = intent.getLongExtra(DynamicAndroidClient.KEY_SYSTEM_SIZE, 0);
-        long userdata = intent.getLongExtra(DynamicAndroidClient.KEY_USERDATA_SIZE, 0);
+        mUserdataSize = intent.getLongExtra(DynamicAndroidClient.KEY_USERDATA_SIZE, 0);
 
-        mInstallTask = new InstallationAsyncTask(url, mSystemSize, userdata, mDynAndroid, this);
+        mInstallTask = new InstallationAsyncTask(
+                url, mSystemSize, mUserdataSize, mDynAndroid, this);
+
         mInstallTask.execute();
 
         // start fore ground
@@ -231,10 +235,8 @@
     }
 
     private void executeCancelCommand() {
-        if (mInstallTask == null || mInstallTask.getStatus() == PENDING) {
+        if (mInstallTask == null || mInstallTask.getStatus() != RUNNING) {
             Log.e(TAG, "Cancel command triggered, but there is no task running");
-            mNM.cancel(NOTIFICATION_ID);
-
             return;
         }
 
@@ -244,25 +246,47 @@
             // Will cleanup and post status in onCancelled()
             Log.d(TAG, "Cancel request filed successfully");
         } else {
-            Log.d(TAG, "Requested cancel, completed task will be discarded");
+            Log.e(TAG, "Trying to cancel installation while it's already completed.");
+        }
+    }
 
-            resetTaskAndStop();
-            postStatus(STATUS_NOT_STARTED, CAUSE_INSTALL_CANCELLED);
+    private void executeDiscardCommand() {
+        if (isInDynamicAndroid()) {
+            Log.e(TAG, "We are now running in AOT, please reboot to normal system first");
+            return;
         }
 
+        if (getStatus() != STATUS_READY) {
+            Log.e(TAG, "Trying to discard AOT while there is no complete installation");
+            return;
+        }
+
+        Toast.makeText(this,
+                getString(R.string.toast_dynandroid_discarded),
+                Toast.LENGTH_LONG).show();
+
+        resetTaskAndStop();
+        postStatus(STATUS_NOT_STARTED, CAUSE_INSTALL_CANCELLED);
+
+        mDynAndroid.remove();
     }
 
     private void executeRebootToDynAndroidCommand() {
         if (mInstallTask == null || mInstallTask.getStatus() != FINISHED) {
-            Log.e(TAG, "Trying to reboot to DynamicAndroid, but there is no complete installation");
+            Log.e(TAG, "Trying to reboot to AOT while there is no complete installation");
             return;
         }
 
         if (!mInstallTask.commit()) {
-            // TODO: b/123673280 better UI response
             Log.e(TAG, "Failed to commit installation because of native runtime error.");
             mNM.cancel(NOTIFICATION_ID);
 
+            Toast.makeText(this,
+                    getString(R.string.toast_failed_to_reboot_to_dynandroid),
+                    Toast.LENGTH_LONG).show();
+
+            mDynAndroid.remove();
+
             return;
         }
 
@@ -274,8 +298,13 @@
     }
 
     private void executeRebootToNormalCommand() {
-        mDynAndroid.remove();
+        if (!isInDynamicAndroid()) {
+            Log.e(TAG, "It's already running in normal system.");
+            return;
+        }
 
+        // Per current design, we don't have disable() API. AOT is disabled on next reboot.
+        // TODO: Use better status query when b/125079548 is done.
         PowerManager powerManager = (PowerManager) getSystemService(Context.POWER_SERVICE);
 
         if (powerManager != null) {
@@ -284,9 +313,14 @@
     }
 
     private void executeNotifyIfInUseCommand() {
-        if (isInDynamicAndroid()) {
+        int status = getStatus();
+
+        if (status == STATUS_IN_USE) {
             startForeground(NOTIFICATION_ID,
                     buildNotification(STATUS_IN_USE, CAUSE_NOT_SPECIFIED));
+        } else if (status == STATUS_READY) {
+            startForeground(NOTIFICATION_ID,
+                    buildNotification(STATUS_READY, CAUSE_NOT_SPECIFIED));
         }
     }
 
@@ -309,18 +343,12 @@
         if (mNM != null) {
             mNM.createNotificationChannel(chan);
         }
+    }
 
-        Intent intentCancel = new Intent(this, DynamicAndroidInstallationService.class);
-        intentCancel.setAction(ACTION_CANCEL_INSTALL);
-        mPiCancel = PendingIntent.getService(this, 0, intentCancel, 0);
-
-        Intent intentRebootToDyn = new Intent(this, DynamicAndroidInstallationService.class);
-        intentRebootToDyn.setAction(ACTION_REBOOT_TO_DYN_ANDROID);
-        mPiRebootToDynamicAndroid = PendingIntent.getService(this, 0, intentRebootToDyn, 0);
-
-        Intent intentUninstallAndReboot = new Intent(this, DynamicAndroidInstallationService.class);
-        intentUninstallAndReboot.setAction(ACTION_REBOOT_TO_NORMAL);
-        mPiUninstallAndReboot = PendingIntent.getService(this, 0, intentUninstallAndReboot, 0);
+    private PendingIntent createPendingIntent(String action) {
+        Intent intent = new Intent(this, DynamicAndroidInstallationService.class);
+        intent.setAction(action);
+        return PendingIntent.getService(this, 0, intent, 0);
     }
 
     private Notification buildNotification(int status, int cause) {
@@ -332,14 +360,14 @@
             case STATUS_IN_PROGRESS:
                 builder.setContentText(getString(R.string.notification_install_inprogress));
 
-                int max = (int) Math.max(mSystemSize >> 20, 1);
-                int progress = (int) mInstalledSize >> 20;
+                int max = (int) Math.max((mSystemSize + mUserdataSize) >> 20, 1);
+                int progress = (int) (mInstalledSize >> 20);
 
                 builder.setProgress(max, progress, false);
 
                 builder.addAction(new Notification.Action.Builder(
                         null, getString(R.string.notification_action_cancel),
-                        mPiCancel).build());
+                        createPendingIntent(ACTION_CANCEL_INSTALL)).build());
 
                 break;
 
@@ -348,11 +376,11 @@
 
                 builder.addAction(new Notification.Action.Builder(
                         null, getString(R.string.notification_action_reboot_to_dynandroid),
-                        mPiRebootToDynamicAndroid).build());
+                        createPendingIntent(ACTION_REBOOT_TO_DYN_ANDROID)).build());
 
                 builder.addAction(new Notification.Action.Builder(
-                        null, getString(R.string.notification_action_cancel),
-                        mPiCancel).build());
+                        null, getString(R.string.notification_action_discard),
+                        createPendingIntent(ACTION_DISCARD_INSTALL)).build());
 
                 break;
 
@@ -361,7 +389,7 @@
 
                 builder.addAction(new Notification.Action.Builder(
                         null, getString(R.string.notification_action_uninstall),
-                        mPiUninstallAndReboot).build());
+                        createPendingIntent(ACTION_REBOOT_TO_NORMAL)).build());
 
                 break;
 
@@ -424,10 +452,10 @@
     private int getStatus() {
         if (isInDynamicAndroid()) {
             return STATUS_IN_USE;
-
+        } else if (isDynamicAndroidInstalled()) {
+            return STATUS_READY;
         } else if (mInstallTask == null) {
             return STATUS_NOT_STARTED;
-
         }
 
         switch (mInstallTask.getStatus()) {
@@ -455,6 +483,10 @@
         return mDynAndroid.isInUse();
     }
 
+    private boolean isDynamicAndroidInstalled() {
+        return mDynAndroid.isInstalled();
+    }
+
     void handleMessage(Message msg) {
         switch (msg.what) {
             case DynamicAndroidClient.MSG_REGISTER_LISTENER:
diff --git a/packages/DynamicAndroidInstallationService/src/com/android/dynandroid/InstallationAsyncTask.java b/packages/DynamicAndroidInstallationService/src/com/android/dynandroid/InstallationAsyncTask.java
index 3c759e9..03fc773 100644
--- a/packages/DynamicAndroidInstallationService/src/com/android/dynandroid/InstallationAsyncTask.java
+++ b/packages/DynamicAndroidInstallationService/src/com/android/dynandroid/InstallationAsyncTask.java
@@ -16,6 +16,7 @@
 
 package com.android.dynandroid;
 
+import android.gsi.GsiProgress;
 import android.os.AsyncTask;
 import android.os.DynamicAndroidManager;
 import android.util.Log;
@@ -63,8 +64,6 @@
     private final InstallStatusListener mListener;
     private DynamicAndroidManager.Session mInstallationSession;
 
-    private long mInstalledSize;
-    private long mReportedInstalledSize;
     private int mResult = NO_RESULT;
 
     private InputStream mStream;
@@ -89,8 +88,40 @@
         Log.d(TAG, "Start doInBackground(), URL: " + mUrl);
 
         try {
-            // call start in background
-            mInstallationSession = mDynamicAndroid.startInstallation(mSystemSize, mUserdataSize);
+            long installedSize = 0;
+            long reportedInstalledSize = 0;
+
+            long minStepToReport = (mSystemSize + mUserdataSize) / 100;
+
+            // init input stream before calling startInstallation(), which takes 90 seconds.
+            initInputStream();
+
+            Thread thread = new Thread(() -> {
+                mInstallationSession =
+                        mDynamicAndroid.startInstallation(mSystemSize, mUserdataSize);
+            });
+
+
+            thread.start();
+
+            while (thread.isAlive()) {
+                if (isCancelled()) {
+                    boolean aborted = mDynamicAndroid.abort();
+                    Log.d(TAG, "Called DynamicAndroidManager.abort(), result = " + aborted);
+                    return RESULT_OK;
+                }
+
+                GsiProgress progress = mDynamicAndroid.getInstallationProgress();
+                installedSize = progress.bytes_processed;
+
+                if (installedSize > reportedInstalledSize + minStepToReport) {
+                    publishProgress(installedSize);
+                    reportedInstalledSize = installedSize;
+                }
+
+                Thread.sleep(10);
+            }
+
 
             if (mInstallationSession == null) {
                 Log.e(TAG, "Failed to start installation with requested size: "
@@ -99,12 +130,11 @@
                 return RESULT_ERROR_IO;
             }
 
-            initInputStream();
+            installedSize = mUserdataSize;
 
             byte[] bytes = new byte[READ_BUFFER_SIZE];
 
             int numBytesRead;
-            long minStepToReport = mSystemSize / 100;
 
             Log.d(TAG, "Start installation loop");
             while ((numBytesRead = mStream.read(bytes, 0, READ_BUFFER_SIZE)) != -1) {
@@ -119,11 +149,11 @@
                     throw new IOException("Failed write() to DynamicAndroid");
                 }
 
-                mInstalledSize += numBytesRead;
+                installedSize += numBytesRead;
 
-                if (mInstalledSize > mReportedInstalledSize + minStepToReport) {
-                    publishProgress(mInstalledSize);
-                    mReportedInstalledSize = mInstalledSize;
+                if (installedSize > reportedInstalledSize + minStepToReport) {
+                    publishProgress(installedSize);
+                    reportedInstalledSize = installedSize;
                 }
             }
 
diff --git a/packages/ExtServices/Android.mk b/packages/ExtServices/Android.mk
index 467d7ed..a06dd86 100644
--- a/packages/ExtServices/Android.mk
+++ b/packages/ExtServices/Android.mk
@@ -25,14 +25,12 @@
 
 LOCAL_CERTIFICATE := platform
 
-LOCAL_AAPT_FLAGS := --shared-lib
-
-LOCAL_EXPORT_PACKAGE_RESOURCES := true
-
 LOCAL_PROGUARD_FLAG_FILES := proguard.proguard
 
 LOCAL_PRIVILEGED_MODULE := true
 
+LOCAL_MIN_SDK_VERSION := 28
+
 include $(BUILD_PACKAGE)
 
 # Use the following include to make our test apk.
diff --git a/packages/ExtServices/AndroidManifest.xml b/packages/ExtServices/AndroidManifest.xml
index fe6581b..76e2fe7 100644
--- a/packages/ExtServices/AndroidManifest.xml
+++ b/packages/ExtServices/AndroidManifest.xml
@@ -25,6 +25,11 @@
     <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
 
     <uses-permission android:name="android.permission.MONITOR_DEFAULT_SMS_PACKAGE" />
+    <uses-permission android:name="android.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE" />
+
+    <uses-sdk
+        android:targetSdkVersion="28"
+    />
 
     <application android:label="@string/app_name"
         android:defaultToDeviceProtectedStorage="true"
@@ -73,6 +78,10 @@
             </intent-filter>
         </service>
 
+        <activity android:name=".notification.CopyCodeActivity"
+                  android:exported="false"
+                  android:theme="@android:style/Theme.NoDisplay"/>
+
         <library android:name="android.ext.services"/>
     </application>
 
diff --git a/packages/ExtServices/res/values/strings.xml b/packages/ExtServices/res/values/strings.xml
index a9a5450..de35441 100644
--- a/packages/ExtServices/res/values/strings.xml
+++ b/packages/ExtServices/res/values/strings.xml
@@ -24,4 +24,10 @@
         <item>EDIT_DISTANCE</item>
         <item>EXACT_MATCH</item>
     </string-array>
+
+    <!-- Action chip to copy a one time code to the user's clipboard [CHAR LIMIT=NONE]-->
+    <string name="copy_code_desc">Copy \u201c<xliff:g id="code" example="12345">%1$s</xliff:g>\u201c</string>
+    <!-- Toast to display when text is copied to the device clipboard [CHAR LIMIT=64]-->
+    <string name="code_copied_to_clipboard">Code copied</string>
+
 </resources>
diff --git a/packages/ExtServices/src/android/ext/services/notification/AssistantSettings.java b/packages/ExtServices/src/android/ext/services/notification/AssistantSettings.java
index ba361c4..46288bb 100644
--- a/packages/ExtServices/src/android/ext/services/notification/AssistantSettings.java
+++ b/packages/ExtServices/src/android/ext/services/notification/AssistantSettings.java
@@ -22,7 +22,6 @@
 import android.os.Handler;
 import android.provider.DeviceConfig;
 import android.provider.Settings;
-import android.text.TextUtils;
 import android.util.Log;
 
 import com.android.internal.annotations.VisibleForTesting;
@@ -128,17 +127,17 @@
     }
 
     private void updateFromDeviceConfigFlags() {
-        mGenerateReplies = DeviceConfigHelper.getBoolean(
+        mGenerateReplies = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_REPLIES, DEFAULT_GENERATE_REPLIES);
 
-        mGenerateActions = DeviceConfigHelper.getBoolean(
+        mGenerateActions = DeviceConfig.getBoolean(DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_ACTIONS, DEFAULT_GENERATE_ACTIONS);
 
-        mMaxMessagesToExtract = DeviceConfigHelper.getInteger(
+        mMaxMessagesToExtract = DeviceConfig.getInt(DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_MAX_MESSAGES_TO_EXTRACT,
                 DEFAULT_MAX_MESSAGES_TO_EXTRACT);
 
-        mMaxSuggestions = DeviceConfigHelper.getInteger(
+        mMaxSuggestions = DeviceConfig.getInt(DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_MAX_SUGGESTIONS, DEFAULT_MAX_SUGGESTIONS);
 
         mOnUpdateRunnable.run();
@@ -170,34 +169,6 @@
         mOnUpdateRunnable.run();
     }
 
-    static class DeviceConfigHelper {
-
-        static int getInteger(String key, int defaultValue) {
-            String value = getValue(key);
-            if (TextUtils.isEmpty(value)) {
-                return defaultValue;
-            }
-            try {
-                return Integer.parseInt(value);
-            } catch (NumberFormatException ex) {
-                return defaultValue;
-            }
-        }
-
-        static boolean getBoolean(String key, boolean defaultValue) {
-            String value = getValue(key);
-            if (TextUtils.isEmpty(value)) {
-                return defaultValue;
-            }
-            return Boolean.parseBoolean(value);
-        }
-
-        private static String getValue(String key) {
-            return DeviceConfig.getProperty(
-                    DeviceConfig.NAMESPACE_SYSTEMUI, key);
-        }
-    }
-
     public interface Factory {
         AssistantSettings createAndRegister(Handler handler, ContentResolver resolver, int userId,
                 Runnable onUpdateRunnable);
diff --git a/packages/ExtServices/src/android/ext/services/notification/CopyCodeActivity.java b/packages/ExtServices/src/android/ext/services/notification/CopyCodeActivity.java
new file mode 100644
index 0000000..6708d4d
--- /dev/null
+++ b/packages/ExtServices/src/android/ext/services/notification/CopyCodeActivity.java
@@ -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.
+ */
+
+package android.ext.services.notification;
+
+import android.app.Activity;
+import android.content.ClipData;
+import android.content.ClipboardManager;
+import android.content.Intent;
+import android.ext.services.R;
+import android.os.Bundle;
+import android.text.TextUtils;
+import android.util.Log;
+import android.widget.Toast;
+
+/**
+ * An activity that copies text in the Bundle.
+ */
+public class CopyCodeActivity extends Activity {
+    private static final String TAG = "CopyCodeActivity";
+
+    @Override
+    protected void onCreate(Bundle savedInstanceState) {
+        super.onCreate(savedInstanceState);
+        handleIntent();
+        finish();
+    }
+
+    private void handleIntent() {
+        String code = getIntent().getStringExtra(Intent.EXTRA_TEXT);
+        if (TextUtils.isEmpty(code)) {
+            Log.w(TAG, "handleIntent: empty code");
+            return;
+        }
+        ClipboardManager clipboardManager = getSystemService(ClipboardManager.class);
+        ClipData clipData = ClipData.newPlainText(null, code);
+        clipboardManager.setPrimaryClip(clipData);
+        Toast.makeText(getApplicationContext(), R.string.code_copied_to_clipboard,
+                Toast.LENGTH_SHORT).show();
+    }
+}
diff --git a/packages/ExtServices/src/android/ext/services/notification/SmartActionsHelper.java b/packages/ExtServices/src/android/ext/services/notification/SmartActionsHelper.java
index 24fa87a..bf8a3fa 100644
--- a/packages/ExtServices/src/android/ext/services/notification/SmartActionsHelper.java
+++ b/packages/ExtServices/src/android/ext/services/notification/SmartActionsHelper.java
@@ -15,11 +15,15 @@
  */
 package android.ext.services.notification;
 
+import android.annotation.Nullable;
 import android.app.Notification;
+import android.app.PendingIntent;
 import android.app.Person;
 import android.app.RemoteAction;
 import android.app.RemoteInput;
 import android.content.Context;
+import android.content.Intent;
+import android.ext.services.R;
 import android.graphics.drawable.Icon;
 import android.os.Bundle;
 import android.os.Parcelable;
@@ -48,11 +52,12 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Objects;
-import java.util.stream.Collectors;
 
 public class SmartActionsHelper {
-    private static final String KEY_ACTION_TYPE = "action_type";
-    private static final String KEY_ACTION_SCORE = "action_score";
+    static final String ENTITIES_EXTRAS = "entities-extras";
+    static final String KEY_ACTION_TYPE = "action_type";
+    static final String KEY_ACTION_SCORE = "action_score";
+    static final String KEY_TEXT = "text";
     // If a notification has any of these flags set, it's inelgibile for actions being added.
     private static final int FLAG_MASK_INELGIBILE_FOR_ACTIONS =
             Notification.FLAG_ONGOING_EVENT
@@ -109,11 +114,25 @@
             repliesScore.put(textReply, conversationAction.getConfidenceScore());
         }
 
-        ArrayList<Notification.Action> actions = conversationActions.stream()
-                .filter(conversationAction -> conversationAction.getAction() != null)
-                .map(action -> createNotificationAction(
-                        action.getAction(), action.getType(), action.getConfidenceScore()))
-                .collect(Collectors.toCollection(ArrayList::new));
+        ArrayList<Notification.Action> actions = new ArrayList<>();
+        for (ConversationAction conversationAction : conversationActions) {
+            if (!TextUtils.isEmpty(conversationAction.getTextReply())) {
+                continue;
+            }
+            Notification.Action notificationAction;
+            if (conversationAction.getAction() == null) {
+                notificationAction =
+                        createNotificationActionWithoutRemoteAction(conversationAction);
+            } else {
+                notificationAction = createNotificationActionFromRemoteAction(
+                        conversationAction.getAction(),
+                        conversationAction.getType(),
+                        conversationAction.getConfidenceScore());
+            }
+            if (notificationAction != null) {
+                actions.add(notificationAction);
+            }
+        }
 
         // Start a new session for logging if necessary.
         if (!TextUtils.isEmpty(resultId)
@@ -127,6 +146,55 @@
     }
 
     /**
+     * Creates notification action from ConversationAction that does not come up a RemoteAction.
+     * It could happen because we don't have common intents for some actions, like copying text.
+     */
+    @Nullable
+    private Notification.Action createNotificationActionWithoutRemoteAction(
+            ConversationAction conversationAction) {
+        if (ConversationAction.TYPE_COPY.equals(conversationAction.getType())) {
+            return createCopyCodeAction(conversationAction);
+        }
+        return null;
+    }
+
+    @Nullable
+    private Notification.Action createCopyCodeAction(ConversationAction conversationAction) {
+        Bundle extras = conversationAction.getExtras();
+        if (extras == null) {
+            return null;
+        }
+        Bundle entitiesExtas = extras.getParcelable(ENTITIES_EXTRAS);
+        if (entitiesExtas == null) {
+            return null;
+        }
+        String code = entitiesExtas.getString(KEY_TEXT);
+        if (TextUtils.isEmpty(code)) {
+            return null;
+        }
+        String contentDescription = mContext.getString(R.string.copy_code_desc, code);
+        Intent intent = new Intent(mContext, CopyCodeActivity.class);
+        intent.putExtra(Intent.EXTRA_TEXT, code);
+
+        RemoteAction remoteAction = new RemoteAction(Icon.createWithResource(
+                mContext.getResources(),
+                com.android.internal.R.drawable.ic_menu_copy_material),
+                code,
+                contentDescription,
+                PendingIntent.getActivity(
+                        mContext,
+                        code.hashCode(),
+                        intent,
+                        PendingIntent.FLAG_UPDATE_CURRENT
+                ));
+
+        return createNotificationActionFromRemoteAction(
+                remoteAction,
+                ConversationAction.TYPE_COPY,
+                conversationAction.getConfidenceScore());
+    }
+
+    /**
      * Returns whether the suggestion might be used in the notifications in SysUI.
      * <p>
      * Currently, NAS has no idea if suggestions will actually be used in the notification, and thus
@@ -292,7 +360,7 @@
         mTextClassifier.onTextClassifierEvent(textClassifierEvent);
     }
 
-    private Notification.Action createNotificationAction(
+    private Notification.Action createNotificationActionFromRemoteAction(
             RemoteAction remoteAction, String actionType, float score) {
         Icon icon = remoteAction.shouldShowIcon()
                 ? remoteAction.getIcon()
diff --git a/packages/ExtServices/tests/src/android/ext/services/notification/AssistantSettingsTest.java b/packages/ExtServices/tests/src/android/ext/services/notification/AssistantSettingsTest.java
index eeabb86..ad52e2b 100644
--- a/packages/ExtServices/tests/src/android/ext/services/notification/AssistantSettingsTest.java
+++ b/packages/ExtServices/tests/src/android/ext/services/notification/AssistantSettingsTest.java
@@ -19,6 +19,8 @@
 import static android.ext.services.notification.AssistantSettings.DEFAULT_MAX_SUGGESTIONS;
 import static android.provider.DeviceConfig.setProperty;
 
+import static com.android.compatibility.common.util.SystemUtil.runWithShellPermissionIdentity;
+
 import static junit.framework.Assert.assertFalse;
 import static junit.framework.Assert.assertTrue;
 
@@ -89,11 +91,11 @@
 
     @Test
     public void testGenerateRepliesDisabled() {
-        setProperty(
+        runWithShellPermissionIdentity(() -> setProperty(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_REPLIES,
                 "false",
-                false /* makeDefault */);
+                false /* makeDefault */));
         mAssistantSettings.onDeviceConfigPropertyChanged(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_REPLIES,
@@ -104,11 +106,11 @@
 
     @Test
     public void testGenerateRepliesEnabled() {
-        setProperty(
+        runWithShellPermissionIdentity(() -> setProperty(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_REPLIES,
                 "true",
-                false /* makeDefault */);
+                false /* makeDefault */));
         mAssistantSettings.onDeviceConfigPropertyChanged(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_REPLIES,
@@ -118,12 +120,12 @@
     }
 
     @Test
-    public void testGenerateRepliesEmptyFlag() {
-        setProperty(
+    public void testGenerateRepliesNullFlag() {
+        runWithShellPermissionIdentity(() -> setProperty(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_REPLIES,
                 "false",
-                false /* makeDefault */);
+                false /* makeDefault */));
         mAssistantSettings.onDeviceConfigPropertyChanged(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_REPLIES,
@@ -131,15 +133,15 @@
 
         assertFalse(mAssistantSettings.mGenerateReplies);
 
-        setProperty(
+        runWithShellPermissionIdentity(() -> setProperty(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_REPLIES,
-                "",
-                false /* makeDefault */);
+                null,
+                false /* makeDefault */));
         mAssistantSettings.onDeviceConfigPropertyChanged(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_REPLIES,
-                "");
+                null);
 
         // Go back to the default value.
         assertTrue(mAssistantSettings.mGenerateReplies);
@@ -147,11 +149,11 @@
 
     @Test
     public void testGenerateActionsDisabled() {
-        setProperty(
+        runWithShellPermissionIdentity(() -> setProperty(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_ACTIONS,
                 "false",
-                false /* makeDefault */);
+                false /* makeDefault */));
         mAssistantSettings.onDeviceConfigPropertyChanged(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_ACTIONS,
@@ -162,11 +164,11 @@
 
     @Test
     public void testGenerateActionsEnabled() {
-        setProperty(
+        runWithShellPermissionIdentity(() -> setProperty(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_ACTIONS,
                 "true",
-                false /* makeDefault */);
+                false /* makeDefault */));
         mAssistantSettings.onDeviceConfigPropertyChanged(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_ACTIONS,
@@ -176,12 +178,12 @@
     }
 
     @Test
-    public void testGenerateActionsEmptyFlag() {
-        setProperty(
+    public void testGenerateActionsNullFlag() {
+        runWithShellPermissionIdentity(() -> setProperty(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_ACTIONS,
                 "false",
-                false /* makeDefault */);
+                false /* makeDefault */));
         mAssistantSettings.onDeviceConfigPropertyChanged(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_ACTIONS,
@@ -189,15 +191,15 @@
 
         assertFalse(mAssistantSettings.mGenerateActions);
 
-        setProperty(
+        runWithShellPermissionIdentity(() -> setProperty(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_ACTIONS,
-                "",
-                false /* makeDefault */);
+                null,
+                false /* makeDefault */));
         mAssistantSettings.onDeviceConfigPropertyChanged(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_GENERATE_ACTIONS,
-                "");
+                null);
 
         // Go back to the default value.
         assertTrue(mAssistantSettings.mGenerateActions);
@@ -205,11 +207,11 @@
 
     @Test
     public void testMaxMessagesToExtract() {
-        setProperty(
+        runWithShellPermissionIdentity(() -> setProperty(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_MAX_MESSAGES_TO_EXTRACT,
                 "10",
-                false /* makeDefault */);
+                false /* makeDefault */));
         mAssistantSettings.onDeviceConfigPropertyChanged(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_MAX_MESSAGES_TO_EXTRACT,
@@ -220,11 +222,11 @@
 
     @Test
     public void testMaxSuggestions() {
-        setProperty(
+        runWithShellPermissionIdentity(() -> setProperty(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_MAX_SUGGESTIONS,
                 "5",
-                false /* makeDefault */);
+                false /* makeDefault */));
         mAssistantSettings.onDeviceConfigPropertyChanged(
                 DeviceConfig.NAMESPACE_SYSTEMUI,
                 SystemUiDeviceConfigFlags.NAS_MAX_SUGGESTIONS,
diff --git a/packages/ExtServices/tests/src/android/ext/services/notification/SmartActionsHelperTest.java b/packages/ExtServices/tests/src/android/ext/services/notification/SmartActionsHelperTest.java
index a1fbc7b..3a7d799 100644
--- a/packages/ExtServices/tests/src/android/ext/services/notification/SmartActionsHelperTest.java
+++ b/packages/ExtServices/tests/src/android/ext/services/notification/SmartActionsHelperTest.java
@@ -36,6 +36,7 @@
 import android.content.Intent;
 import android.content.pm.IPackageManager;
 import android.graphics.drawable.Icon;
+import android.os.Bundle;
 import android.os.Process;
 import android.service.notification.NotificationAssistantService;
 import android.service.notification.StatusBarNotification;
@@ -419,6 +420,31 @@
         assertTextClassifierEvent(events.get(1), TextClassifierEvent.TYPE_ACTIONS_SHOWN);
     }
 
+    @Test
+    public void testCopyAction() {
+        Bundle extras = new Bundle();
+        Bundle entitiesExtras = new Bundle();
+        entitiesExtras.putString(SmartActionsHelper.KEY_TEXT, "12345");
+        extras.putParcelable(SmartActionsHelper.ENTITIES_EXTRAS, entitiesExtras);
+        ConversationAction conversationAction =
+                new ConversationAction.Builder(ConversationAction.TYPE_COPY)
+                        .setExtras(extras)
+                        .build();
+        when(mTextClassifier.suggestConversationActions(any(ConversationActions.Request.class)))
+                .thenReturn(
+                        new ConversationActions(
+                                Collections.singletonList(conversationAction), null));
+
+        Notification notification = createMessageNotification();
+        when(mStatusBarNotification.getNotification()).thenReturn(notification);
+        SmartActionsHelper.SmartSuggestions suggestions =
+                mSmartActionsHelper.suggest(createNotificationEntry());
+
+        assertThat(suggestions.actions).hasSize(1);
+        Notification.Action action = suggestions.actions.get(0);
+        assertThat(action.title).isEqualTo("12345");
+    }
+
     private ZonedDateTime createZonedDateTimeFromMsUtc(long msUtc) {
         return ZonedDateTime.ofInstant(Instant.ofEpochMilli(msUtc), ZoneOffset.systemDefault());
     }
diff --git a/packages/NetworkStack/Android.bp b/packages/NetworkStack/Android.bp
index 5f1f26d..8872147 100644
--- a/packages/NetworkStack/Android.bp
+++ b/packages/NetworkStack/Android.bp
@@ -14,34 +14,53 @@
 // limitations under the License.
 //
 
-// Library including the network stack, used to compile the network stack app, or linked into the
-// system server on devices that run the stack there
-java_library {
-    name: "NetworkStackLib",
+// Library including the network stack, used to compile both variants of the network stack
+android_library {
+    name: "NetworkStackBase",
     sdk_version: "system_current",
-    installable: true,
+    min_sdk_version: "28",
     srcs: [
         "src/**/*.java",
         ":framework-networkstack-shared-srcs",
         ":services-networkstack-shared-srcs",
     ],
     static_libs: [
+        "ipmemorystore-client",
         "netd_aidl_interface-java",
         "networkstack-aidl-interfaces-java",
         "datastallprotosnano",
-    ]
+    ],
+    manifest: "AndroidManifestBase.xml",
+}
+
+// Non-updatable in-process network stack for devices not using the module
+android_app {
+    name: "InProcessNetworkStack",
+    sdk_version: "system_current",
+    min_sdk_version: "28",
+    certificate: "platform",
+    privileged: true,
+    static_libs: [
+        "NetworkStackBase",
+    ],
+    jarjar_rules: "jarjar-rules-shared.txt",
+    // The permission configuration *must* be included to ensure security of the device
+    required: ["NetworkStackPermissionStub"],
+    manifest: "AndroidManifest_InProcess.xml",
 }
 
 // Updatable network stack packaged as an application
 android_app {
     name: "NetworkStack",
     sdk_version: "system_current",
+    min_sdk_version: "28",
     certificate: "networkstack",
     privileged: true,
     static_libs: [
-        "NetworkStackLib"
+        "NetworkStackBase"
     ],
     jarjar_rules: "jarjar-rules-shared.txt",
-    manifest: "AndroidManifest.xml",
+    // The permission configuration *must* be included to ensure security of the device
     required: ["NetworkStackPermissionStub"],
+    manifest: "AndroidManifest.xml",
 }
diff --git a/packages/NetworkStack/AndroidManifest.xml b/packages/NetworkStack/AndroidManifest.xml
index 740c573..a90db11 100644
--- a/packages/NetworkStack/AndroidManifest.xml
+++ b/packages/NetworkStack/AndroidManifest.xml
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
 /*
- * Copyright (C) 2014 The Android Open Source Project
+ * 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.
@@ -18,30 +18,14 @@
 -->
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
           package="com.android.networkstack"
-          android:sharedUserId="android.uid.networkstack"
-          android:versionCode="10"
-          android:versionName="Q-initial">
-    <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="28" />
-    <uses-permission android:name="android.permission.INTERNET" />
-    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
-    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
-    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
-    <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
+          android:sharedUserId="android.uid.networkstack">
     <!-- Signature permission defined in NetworkStackStub -->
     <uses-permission android:name="android.permission.MAINLINE_NETWORK_STACK" />
-    <!-- Send latency broadcast as current user -->
-    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
-    <uses-permission android:name="android.permission.WAKE_LOCK" />
-    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
-    <application
-        android:label="NetworkStack"
-        android:defaultToDeviceProtectedStorage="true"
-        android:directBootAware="true"
-        android:usesCleartextTraffic="true">
+    <application>
         <service android:name="com.android.server.NetworkStackService">
             <intent-filter>
                 <action android:name="android.net.INetworkStackConnector"/>
             </intent-filter>
         </service>
     </application>
-</manifest>
+</manifest>
\ No newline at end of file
diff --git a/packages/NetworkStack/AndroidManifestBase.xml b/packages/NetworkStack/AndroidManifestBase.xml
new file mode 100644
index 0000000..621d30c
--- /dev/null
+++ b/packages/NetworkStack/AndroidManifestBase.xml
@@ -0,0 +1,39 @@
+<?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.
+ */
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+          package="com.android.networkstack"
+          android:versionCode="11"
+          android:versionName="Q-initial">
+    <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="28" />
+    <uses-permission android:name="android.permission.INTERNET" />
+    <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
+    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
+    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
+    <uses-permission android:name="android.permission.CONNECTIVITY_INTERNAL" />
+    <!-- Send latency broadcast as current user -->
+    <uses-permission android:name="android.permission.INTERACT_ACROSS_USERS" />
+    <uses-permission android:name="android.permission.WAKE_LOCK" />
+    <uses-permission android:name="android.permission.READ_PRIVILEGED_PHONE_STATE" />
+    <application
+        android:label="NetworkStack"
+        android:defaultToDeviceProtectedStorage="true"
+        android:directBootAware="true"
+        android:usesCleartextTraffic="true">
+    </application>
+</manifest>
diff --git a/packages/NetworkStack/AndroidManifest_InProcess.xml b/packages/NetworkStack/AndroidManifest_InProcess.xml
new file mode 100644
index 0000000..48fcecd
--- /dev/null
+++ b/packages/NetworkStack/AndroidManifest_InProcess.xml
@@ -0,0 +1,30 @@
+<?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.
+ */
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+          package="com.android.networkstack.inprocess"
+          android:sharedUserId="android.uid.system"
+          android:process="system">
+    <application>
+        <service android:name="com.android.server.NetworkStackService" android:process="system">
+            <intent-filter>
+                <action android:name="android.net.INetworkStackConnector.InProcess"/>
+            </intent-filter>
+        </service>
+    </application>
+</manifest>
\ No newline at end of file
diff --git a/packages/NetworkStack/OWNERS b/packages/NetworkStack/OWNERS
index a395465..0e1e65d 100644
--- a/packages/NetworkStack/OWNERS
+++ b/packages/NetworkStack/OWNERS
@@ -1,5 +1,6 @@
 codewiz@google.com
 jchalard@google.com
+junyulai@google.com
 lorenzo@google.com
 reminv@google.com
 satk@google.com
diff --git a/packages/NetworkStack/TEST_MAPPING b/packages/NetworkStack/TEST_MAPPING
index 55ba591..fe9731fe 100644
--- a/packages/NetworkStack/TEST_MAPPING
+++ b/packages/NetworkStack/TEST_MAPPING
@@ -1,5 +1,5 @@
 {
-  "postsubmit": [
+  "presubmit": [
     {
       "name": "NetworkStackTests"
     }
diff --git a/packages/NetworkStack/jarjar-rules-shared.txt b/packages/NetworkStack/jarjar-rules-shared.txt
index a8c712a..7346b1a 100644
--- a/packages/NetworkStack/jarjar-rules-shared.txt
+++ b/packages/NetworkStack/jarjar-rules-shared.txt
@@ -8,12 +8,3 @@
 rule android.net.DhcpResultsParcelable* @0
 rule android.net.DhcpResults* android.net.networkstack.DhcpResults@1
 rule android.net.LocalLog* android.net.networkstack.LocalLog@1
-
-# TODO: remove from framework dependencies, then remove here
-rule android.net.InterfaceConfigurationParcel* android.net.networkstack.InterfaceConfigurationParcel@1
-rule android.net.TetherStatsParcel* android.net.networkstack.TetherStatsParcel@1
-
-# Used by UidRange, which is used by framework classes such as NetworkCapabilities.
-rule android.net.UidRangeParcel* android.net.networkstack.UidRangeParcel@1
-# TODO: move TcpKeepalivePacketData to services.net and delete
-rule android.net.TcpKeepalivePacketDataParcelable* android.net.networkstack.TcpKeepalivePacketDataParcelable@1
\ No newline at end of file
diff --git a/packages/NetworkStack/src/android/net/NetworkStackIpMemoryStore.java b/packages/NetworkStack/src/android/net/NetworkStackIpMemoryStore.java
new file mode 100644
index 0000000..475f826
--- /dev/null
+++ b/packages/NetworkStack/src/android/net/NetworkStackIpMemoryStore.java
@@ -0,0 +1,42 @@
+/*
+ * 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 android.net;
+
+import android.annotation.NonNull;
+import android.content.Context;
+
+/**
+ * service used to communicate with the ip memory store service in network stack,
+ * which is running in the same module.
+ * @see com.android.server.connectivity.ipmemorystore.IpMemoryStoreService
+ * @hide
+ */
+public class NetworkStackIpMemoryStore extends IpMemoryStoreClient {
+    @NonNull private final IIpMemoryStore mService;
+
+    public NetworkStackIpMemoryStore(@NonNull final Context context,
+            @NonNull final IIpMemoryStore service) {
+        super(context);
+        mService = service;
+    }
+
+    @Override
+    @NonNull
+    protected IIpMemoryStore getService() {
+        return mService;
+    }
+}
diff --git a/packages/NetworkStack/src/android/net/apf/ApfFilter.java b/packages/NetworkStack/src/android/net/apf/ApfFilter.java
index 923f162..3dd90ee 100644
--- a/packages/NetworkStack/src/android/net/apf/ApfFilter.java
+++ b/packages/NetworkStack/src/android/net/apf/ApfFilter.java
@@ -475,7 +475,7 @@
             socket = Os.socket(AF_PACKET, SOCK_RAW, ETH_P_IPV6);
             SocketAddress addr = makePacketSocketAddress(
                     (short) ETH_P_IPV6, mInterfaceParams.index);
-            SocketUtils.bindSocket(socket, addr);
+            Os.bind(socket, addr);
             SocketUtils.attachRaFilter(socket, mApfCapabilities.apfPacketFormat);
         } catch(SocketException|ErrnoException e) {
             Log.e(TAG, "Error starting filter", e);
diff --git a/packages/NetworkStack/src/android/net/dhcp/DhcpClient.java b/packages/NetworkStack/src/android/net/dhcp/DhcpClient.java
index b0e8da9..0b7809e 100644
--- a/packages/NetworkStack/src/android/net/dhcp/DhcpClient.java
+++ b/packages/NetworkStack/src/android/net/dhcp/DhcpClient.java
@@ -317,7 +317,7 @@
         try {
             mPacketSock = Os.socket(AF_PACKET, SOCK_RAW, ETH_P_IP);
             SocketAddress addr = makePacketSocketAddress((short) ETH_P_IP, mIface.index);
-            SocketUtils.bindSocket(mPacketSock, addr);
+            Os.bind(mPacketSock, addr);
             SocketUtils.attachDhcpFilter(mPacketSock);
         } catch(SocketException|ErrnoException e) {
             Log.e(TAG, "Error creating packet socket", e);
@@ -412,8 +412,7 @@
         try {
             if (encap == DhcpPacket.ENCAP_L2) {
                 if (DBG) Log.d(TAG, "Broadcasting " + description);
-                SocketUtils.sendTo(
-                        mPacketSock, buf.array(), 0, buf.limit(), 0, mInterfaceBroadcastAddr);
+                Os.sendto(mPacketSock, buf.array(), 0, buf.limit(), 0, mInterfaceBroadcastAddr);
             } else if (encap == DhcpPacket.ENCAP_BOOTP && to.equals(INADDR_BROADCAST)) {
                 if (DBG) Log.d(TAG, "Broadcasting " + description);
                 // We only send L3-encapped broadcasts in DhcpRebindingState,
diff --git a/packages/NetworkStack/src/android/net/ip/ConnectivityPacketTracker.java b/packages/NetworkStack/src/android/net/ip/ConnectivityPacketTracker.java
index 649257a..de54824 100644
--- a/packages/NetworkStack/src/android/net/ip/ConnectivityPacketTracker.java
+++ b/packages/NetworkStack/src/android/net/ip/ConnectivityPacketTracker.java
@@ -104,8 +104,7 @@
             try {
                 s = Os.socket(AF_PACKET, SOCK_RAW | SOCK_NONBLOCK, 0);
                 SocketUtils.attachControlPacketFilter(s, ARPHRD_ETHER);
-                SocketUtils.bindSocket(
-                        s, makePacketSocketAddress((short) ETH_P_ALL, mInterface.index));
+                Os.bind(s, makePacketSocketAddress((short) ETH_P_ALL, mInterface.index));
             } catch (ErrnoException | IOException e) {
                 logError("Failed to create packet tracking socket: ", e);
                 closeFd(s);
diff --git a/packages/NetworkStack/src/android/net/ip/IpClient.java b/packages/NetworkStack/src/android/net/ip/IpClient.java
index b1f6d24..b68fe23 100644
--- a/packages/NetworkStack/src/android/net/ip/IpClient.java
+++ b/packages/NetworkStack/src/android/net/ip/IpClient.java
@@ -18,8 +18,6 @@
 
 import static android.net.RouteInfo.RTN_UNICAST;
 import static android.net.shared.IpConfigurationParcelableUtil.toStableParcelable;
-import static android.net.shared.LinkPropertiesParcelableUtil.fromStableParcelable;
-import static android.net.shared.LinkPropertiesParcelableUtil.toStableParcelable;
 
 import static com.android.server.util.PermissionUtil.checkNetworkStackCallingPermission;
 
@@ -31,9 +29,9 @@
 import android.net.IpPrefix;
 import android.net.LinkAddress;
 import android.net.LinkProperties;
+import android.net.NetworkStackIpMemoryStore;
 import android.net.ProvisioningConfigurationParcelable;
 import android.net.ProxyInfo;
-import android.net.ProxyInfoParcelable;
 import android.net.RouteInfo;
 import android.net.TcpKeepalivePacketDataParcelable;
 import android.net.apf.ApfCapabilities;
@@ -64,6 +62,7 @@
 import com.android.internal.util.StateMachine;
 import com.android.internal.util.WakeupMessage;
 import com.android.server.NetworkObserverRegistry;
+import com.android.server.NetworkStackService.NetworkStackServiceManager;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
@@ -103,6 +102,7 @@
     // One holds StateMachine logs and the other connectivity packet logs.
     private static final ConcurrentHashMap<String, SharedLog> sSmLogs = new ConcurrentHashMap<>();
     private static final ConcurrentHashMap<String, LocalLog> sPktLogs = new ConcurrentHashMap<>();
+    private final NetworkStackIpMemoryStore mIpMemoryStore;
 
     /**
      * Dump all state machine and connectivity packet logs to the specified writer.
@@ -201,7 +201,7 @@
         public void onProvisioningSuccess(LinkProperties newLp) {
             log("onProvisioningSuccess({" + newLp + "})");
             try {
-                mCallback.onProvisioningSuccess(toStableParcelable(newLp));
+                mCallback.onProvisioningSuccess(newLp);
             } catch (RemoteException e) {
                 log("Failed to call onProvisioningSuccess", e);
             }
@@ -210,7 +210,7 @@
         public void onProvisioningFailure(LinkProperties newLp) {
             log("onProvisioningFailure({" + newLp + "})");
             try {
-                mCallback.onProvisioningFailure(toStableParcelable(newLp));
+                mCallback.onProvisioningFailure(newLp);
             } catch (RemoteException e) {
                 log("Failed to call onProvisioningFailure", e);
             }
@@ -219,7 +219,7 @@
         public void onLinkPropertiesChange(LinkProperties newLp) {
             log("onLinkPropertiesChange({" + newLp + "})");
             try {
-                mCallback.onLinkPropertiesChange(toStableParcelable(newLp));
+                mCallback.onLinkPropertiesChange(newLp);
             } catch (RemoteException e) {
                 log("Failed to call onLinkPropertiesChange", e);
             }
@@ -391,13 +391,14 @@
     }
 
     public IpClient(Context context, String ifName, IIpClientCallbacks callback,
-            NetworkObserverRegistry observerRegistry) {
-        this(context, ifName, callback, observerRegistry, new Dependencies());
+            NetworkObserverRegistry observerRegistry, NetworkStackServiceManager nssManager) {
+        this(context, ifName, callback, observerRegistry, nssManager, new Dependencies());
     }
 
     @VisibleForTesting
     IpClient(Context context, String ifName, IIpClientCallbacks callback,
-            NetworkObserverRegistry observerRegistry, Dependencies deps) {
+            NetworkObserverRegistry observerRegistry, NetworkStackServiceManager nssManager,
+            Dependencies deps) {
         super(IpClient.class.getSimpleName() + "." + ifName);
         Preconditions.checkNotNull(ifName);
         Preconditions.checkNotNull(callback);
@@ -411,6 +412,8 @@
         mShutdownLatch = new CountDownLatch(1);
         mCm = mContext.getSystemService(ConnectivityManager.class);
         mObserverRegistry = observerRegistry;
+        mIpMemoryStore =
+                new NetworkStackIpMemoryStore(context, nssManager.getIpMemoryStoreService());
 
         sSmLogs.putIfAbsent(mInterfaceName, new SharedLog(MAX_LOG_RECORDS, mTag));
         mLog = sSmLogs.get(mInterfaceName);
@@ -525,9 +528,9 @@
             IpClient.this.setTcpBufferSizes(tcpBufferSizes);
         }
         @Override
-        public void setHttpProxy(ProxyInfoParcelable proxyInfo) {
+        public void setHttpProxy(ProxyInfo proxyInfo) {
             checkNetworkStackCallingPermission();
-            IpClient.this.setHttpProxy(fromStableParcelable(proxyInfo));
+            IpClient.this.setHttpProxy(proxyInfo);
         }
         @Override
         public void setMulticastFilter(boolean enabled) {
diff --git a/packages/NetworkStack/src/android/net/ip/IpNeighborMonitor.java b/packages/NetworkStack/src/android/net/ip/IpNeighborMonitor.java
index b29d617..6ae9a2b 100644
--- a/packages/NetworkStack/src/android/net/ip/IpNeighborMonitor.java
+++ b/packages/NetworkStack/src/android/net/ip/IpNeighborMonitor.java
@@ -34,7 +34,6 @@
 import android.net.util.NetworkStackUtils;
 import android.net.util.PacketReader;
 import android.net.util.SharedLog;
-import android.net.util.SocketUtils;
 import android.os.Handler;
 import android.os.SystemClock;
 import android.system.ErrnoException;
@@ -150,7 +149,7 @@
 
         try {
             fd = Os.socket(AF_NETLINK, SOCK_DGRAM | SOCK_NONBLOCK, NETLINK_ROUTE);
-            SocketUtils.bindSocket(fd, makeNetlinkSocketAddress(0, OsConstants.RTMGRP_NEIGH));
+            Os.bind(fd, makeNetlinkSocketAddress(0, OsConstants.RTMGRP_NEIGH));
             NetlinkSocket.connectToKernel(fd);
 
             if (VDBG) {
diff --git a/packages/NetworkStack/src/android/net/metrics/DataStallStatsUtils.java b/packages/NetworkStack/src/android/net/metrics/DataStallStatsUtils.java
index 17a36ad..e23f10f 100644
--- a/packages/NetworkStack/src/android/net/metrics/DataStallStatsUtils.java
+++ b/packages/NetworkStack/src/android/net/metrics/DataStallStatsUtils.java
@@ -20,6 +20,7 @@
 import android.annotation.Nullable;
 import android.net.captiveportal.CaptivePortalProbeResult;
 import android.util.Log;
+import android.util.StatsLog;
 
 import com.android.internal.util.HexDump;
 import com.android.server.connectivity.nano.DataStallEventProto;
@@ -36,6 +37,7 @@
  */
 public class DataStallStatsUtils {
     private static final String TAG = DataStallStatsUtils.class.getSimpleName();
+    private static final int DATA_STALL_EVENT_ID = 121;
     private static final boolean DBG = false;
 
     private static int probeResultToEnum(@Nullable final CaptivePortalProbeResult result) {
@@ -46,6 +48,8 @@
             return DataStallEventProto.VALID;
         } else if (result.isPortal()) {
             return DataStallEventProto.PORTAL;
+        } else if (result.isPartialConnectivity()) {
+            return DataStallEventProto.PARTIAL;
         } else {
             return DataStallEventProto.INVALID;
         }
@@ -61,6 +65,13 @@
             Log.d(TAG, "write: " + stats + " with result: " + validationResult
                     + ", dns: " + HexDump.toHexString(stats.mDns));
         }
-        // TODO(b/124613085): Send to Statsd once the public StatsLog API is ready.
+        // TODO(b/124613085): Update API once the public StatsLog API is ready.
+        StatsLog.write(DATA_STALL_EVENT_ID,
+                stats.mEvaluationType,
+                validationResult,
+                stats.mNetworkType,
+                stats.mWifiInfo,
+                stats.mCellularInfo,
+                stats.mDns);
     }
 }
diff --git a/packages/NetworkStack/src/com/android/server/NetworkStackService.java b/packages/NetworkStack/src/com/android/server/NetworkStackService.java
index 90db207..335d951 100644
--- a/packages/NetworkStack/src/com/android/server/NetworkStackService.java
+++ b/packages/NetworkStack/src/com/android/server/NetworkStackService.java
@@ -19,7 +19,6 @@
 import static android.net.dhcp.IDhcpServer.STATUS_INVALID_ARGUMENT;
 import static android.net.dhcp.IDhcpServer.STATUS_SUCCESS;
 import static android.net.dhcp.IDhcpServer.STATUS_UNKNOWN_ERROR;
-import static android.net.shared.NetworkParcelableUtil.fromStableParcelable;
 
 import static com.android.server.util.PermissionUtil.checkDumpPermission;
 import static com.android.server.util.PermissionUtil.checkNetworkStackCallingPermission;
@@ -30,12 +29,13 @@
 import android.content.Context;
 import android.content.Intent;
 import android.net.ConnectivityManager;
+import android.net.IIpMemoryStore;
+import android.net.IIpMemoryStoreCallbacks;
 import android.net.INetd;
 import android.net.INetworkMonitor;
 import android.net.INetworkMonitorCallbacks;
 import android.net.INetworkStackConnector;
 import android.net.Network;
-import android.net.NetworkParcelable;
 import android.net.PrivateDnsConfigParcel;
 import android.net.dhcp.DhcpServer;
 import android.net.dhcp.DhcpServingParams;
@@ -51,6 +51,7 @@
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.util.IndentingPrintWriter;
 import com.android.server.connectivity.NetworkMonitor;
+import com.android.server.connectivity.ipmemorystore.IpMemoryStoreService;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
@@ -88,7 +89,19 @@
         return makeConnector(this);
     }
 
-    private static class NetworkStackConnector extends INetworkStackConnector.Stub {
+    /**
+     * An interface for internal clients of the network stack service that can return
+     * or create inline instances of the service it manages.
+     */
+    public interface NetworkStackServiceManager {
+        /**
+         * Get an instance of the IpMemoryStoreService.
+         */
+        IIpMemoryStore getIpMemoryStoreService();
+    }
+
+    private static class NetworkStackConnector extends INetworkStackConnector.Stub
+            implements NetworkStackServiceManager {
         private static final int NUM_VALIDATION_LOG_LINES = 20;
         private final Context mContext;
         private final INetd mNetd;
@@ -96,6 +109,7 @@
         private final ConnectivityManager mCm;
         @GuardedBy("mIpClients")
         private final ArrayList<WeakReference<IpClient>> mIpClients = new ArrayList<>();
+        private final IpMemoryStoreService mIpMemoryStoreService;
 
         private static final int MAX_VALIDATION_LOGS = 10;
         @GuardedBy("mValidationLogs")
@@ -118,6 +132,7 @@
                     (IBinder) context.getSystemService(Context.NETD_SERVICE));
             mObserverRegistry = new NetworkObserverRegistry();
             mCm = context.getSystemService(ConnectivityManager.class);
+            mIpMemoryStoreService = new IpMemoryStoreService(context);
 
             try {
                 mObserverRegistry.register(mNetd);
@@ -152,18 +167,16 @@
         }
 
         @Override
-        public void makeNetworkMonitor(
-                NetworkParcelable network, String name, INetworkMonitorCallbacks cb)
+        public void makeNetworkMonitor(Network network, String name, INetworkMonitorCallbacks cb)
                 throws RemoteException {
-            final Network parsedNetwork = fromStableParcelable(network);
-            final SharedLog log = addValidationLogs(parsedNetwork, name);
-            final NetworkMonitor nm = new NetworkMonitor(mContext, cb, parsedNetwork, log);
+            final SharedLog log = addValidationLogs(network, name);
+            final NetworkMonitor nm = new NetworkMonitor(mContext, cb, network, log);
             cb.onNetworkMonitorCreated(new NetworkMonitorImpl(nm));
         }
 
         @Override
         public void makeIpClient(String ifName, IIpClientCallbacks cb) throws RemoteException {
-            final IpClient ipClient = new IpClient(mContext, ifName, cb, mObserverRegistry);
+            final IpClient ipClient = new IpClient(mContext, ifName, cb, mObserverRegistry, this);
 
             synchronized (mIpClients) {
                 final Iterator<WeakReference<IpClient>> it = mIpClients.iterator();
@@ -180,6 +193,17 @@
         }
 
         @Override
+        public IIpMemoryStore getIpMemoryStoreService() {
+            return mIpMemoryStoreService;
+        }
+
+        @Override
+        public void fetchIpMemoryStore(@NonNull final IIpMemoryStoreCallbacks cb)
+                throws RemoteException {
+            cb.onIpMemoryStoreFetched(mIpMemoryStoreService);
+        }
+
+        @Override
         protected void dump(@NonNull FileDescriptor fd, @NonNull PrintWriter fout,
                 @Nullable String[] args) {
             checkDumpPermission();
@@ -253,6 +277,12 @@
         }
 
         @Override
+        public void notifyAcceptPartialConnectivity() {
+            checkNetworkStackCallingPermission();
+            mNm.notifyAcceptPartialConnectivity();
+        }
+
+        @Override
         public void forceReevaluation(int uid) {
             checkNetworkStackCallingPermission();
             mNm.forceReevaluation(uid);
diff --git a/packages/NetworkStack/src/com/android/server/connectivity/NetworkMonitor.java b/packages/NetworkStack/src/com/android/server/connectivity/NetworkMonitor.java
index e82a5d7..9d91487 100644
--- a/packages/NetworkStack/src/com/android/server/connectivity/NetworkMonitor.java
+++ b/packages/NetworkStack/src/com/android/server/connectivity/NetworkMonitor.java
@@ -24,6 +24,7 @@
 import static android.net.ConnectivityManager.TYPE_MOBILE;
 import static android.net.ConnectivityManager.TYPE_WIFI;
 import static android.net.INetworkMonitor.NETWORK_TEST_RESULT_INVALID;
+import static android.net.INetworkMonitor.NETWORK_TEST_RESULT_PARTIAL_CONNECTIVITY;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED;
 import static android.net.NetworkCapabilities.TRANSPORT_CELLULAR;
 import static android.net.NetworkCapabilities.TRANSPORT_WIFI;
@@ -32,6 +33,7 @@
 import static android.net.metrics.ValidationProbeEvent.PROBE_FALLBACK;
 import static android.net.metrics.ValidationProbeEvent.PROBE_PRIVDNS;
 import static android.net.util.NetworkStackUtils.isEmpty;
+import static android.provider.Settings.Global.DATA_STALL_EVALUATION_TYPE_DNS;
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
@@ -70,7 +72,7 @@
 import android.provider.Settings;
 import android.telephony.AccessNetworkConstants;
 import android.telephony.CellSignalStrength;
-import android.telephony.NetworkRegistrationState;
+import android.telephony.NetworkRegistrationInfo;
 import android.telephony.ServiceState;
 import android.telephony.SignalStrength;
 import android.telephony.TelephonyManager;
@@ -128,9 +130,8 @@
     private static final int DEFAULT_DATA_STALL_MIN_EVALUATE_TIME_MS = 60 * 1000;
     private static final int DEFAULT_DATA_STALL_VALID_DNS_TIME_THRESHOLD_MS = 30 * 60 * 1000;
 
-    private static final int DATA_STALL_EVALUATION_TYPE_DNS = 1;
     private static final int DEFAULT_DATA_STALL_EVALUATION_TYPES =
-            (1 << DATA_STALL_EVALUATION_TYPE_DNS);
+            DATA_STALL_EVALUATION_TYPE_DNS;
     // Reevaluate it as intending to increase the number. Larger log size may cause statsd
     // log buffer bust and have stats log lost.
     private static final int DEFAULT_DNS_LOG_SIZE = 20;
@@ -227,6 +228,12 @@
      */
     public static final int EVENT_DNS_NOTIFICATION = 17;
 
+    /**
+     * ConnectivityService notifies NetworkMonitor that the user accepts partial connectivity and
+     * NetworkMonitor should ignore the https probe.
+     */
+    public static final int EVENT_ACCEPT_PARTIAL_CONNECTIVITY = 18;
+
     // Start mReevaluateDelayMs at this value and double.
     private static final int INITIAL_REEVALUATE_DELAY_MS = 1000;
     private static final int MAX_REEVALUATE_DELAY_MS = 10 * 60 * 1000;
@@ -379,6 +386,14 @@
     }
 
     /**
+     * ConnectivityService notifies NetworkMonitor that the user accepts partial connectivity and
+     * NetworkMonitor should ignore the https probe.
+     */
+    public void notifyAcceptPartialConnectivity() {
+        sendMessage(EVENT_ACCEPT_PARTIAL_CONNECTIVITY);
+    }
+
+    /**
      * Request the NetworkMonitor to reevaluate the network.
      */
     public void forceReevaluation(int responsibleUid) {
@@ -636,6 +651,10 @@
                 case EVENT_DNS_NOTIFICATION:
                     mDnsStallDetector.accumulateConsecutiveDnsTimeoutCount(message.arg1);
                     break;
+                case EVENT_ACCEPT_PARTIAL_CONNECTIVITY:
+                    mUseHttps = false;
+                    transitionTo(mEvaluatingPrivateDnsState);
+                    break;
                 default:
                     break;
             }
@@ -1058,6 +1077,11 @@
                         notifyNetworkTested(NETWORK_TEST_RESULT_INVALID, probeResult.redirectUrl);
                         mLastPortalProbeResult = probeResult;
                         transitionTo(mCaptivePortalState);
+                    } else if (probeResult.isPartialConnectivity()) {
+                        logNetworkEvent(NetworkEvent.NETWORK_PARTIAL_CONNECTIVITY);
+                        notifyNetworkTested(NETWORK_TEST_RESULT_PARTIAL_CONNECTIVITY,
+                                probeResult.redirectUrl);
+                        transitionTo(mWaitingForNextProbeState);
                     } else {
                         logNetworkEvent(NetworkEvent.NETWORK_VALIDATION_FAILED);
                         notifyNetworkTested(NETWORK_TEST_RESULT_INVALID, probeResult.redirectUrl);
@@ -1065,7 +1089,8 @@
                     }
                     return HANDLED;
                 case EVENT_DNS_NOTIFICATION:
-                    // Leave the event to DefaultState to record correct dns timestamp.
+                case EVENT_ACCEPT_PARTIAL_CONNECTIVITY:
+                    // Leave the event to DefaultState.
                     return NOT_HANDLED;
                 default:
                     // Wait for probe result and defer events to next state by default.
@@ -1504,10 +1529,11 @@
         // If we have new-style probe specs, use those. Otherwise, use the fallback URLs.
         final CaptivePortalProbeSpec probeSpec = nextFallbackSpec();
         final URL fallbackUrl = (probeSpec != null) ? probeSpec.getUrl() : nextFallbackUrl();
+        CaptivePortalProbeResult fallbackProbeResult = null;
         if (fallbackUrl != null) {
-            CaptivePortalProbeResult result = sendHttpProbe(fallbackUrl, PROBE_FALLBACK, probeSpec);
-            if (result.isPortal()) {
-                return result;
+            fallbackProbeResult = sendHttpProbe(fallbackUrl, PROBE_FALLBACK, probeSpec);
+            if (fallbackProbeResult.isPortal()) {
+                return fallbackProbeResult;
             }
         }
         // Otherwise wait until http and https probes completes and use their results.
@@ -1517,6 +1543,12 @@
                 return httpProbe.result();
             }
             httpsProbe.join();
+            final boolean isHttpSuccessful =
+                    (httpProbe.result().isSuccessful()
+                    || (fallbackProbeResult != null && fallbackProbeResult.isSuccessful()));
+            if (httpsProbe.result().isFailed() && isHttpSuccessful) {
+                return CaptivePortalProbeResult.PARTIAL;
+            }
             return httpsProbe.result();
         } catch (InterruptedException e) {
             validationLog("Error: http or https probe wait interrupted!");
@@ -1583,12 +1615,12 @@
                 return;
             }
             // See if the data sub is registered for PS services on cell.
-            final NetworkRegistrationState nrs = dataSs.getNetworkRegistrationState(
-                    NetworkRegistrationState.DOMAIN_PS,
-                    AccessNetworkConstants.TransportType.WWAN);
+            final NetworkRegistrationInfo nri = dataSs.getNetworkRegistrationInfo(
+                    NetworkRegistrationInfo.DOMAIN_PS,
+                    AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
             latencyBroadcast.putExtra(
                     NetworkMonitorUtils.EXTRA_CELL_ID,
-                    nrs == null ? null : nrs.getCellIdentity());
+                    nri == null ? null : nri.getCellIdentity());
             latencyBroadcast.putExtra(NetworkMonitorUtils.EXTRA_CONNECTIVITY_TYPE, TYPE_MOBILE);
         } else {
             return;
@@ -1772,7 +1804,7 @@
     }
 
     private boolean dataStallEvaluateTypeEnabled(int type) {
-        return (mDataStallEvaluationType & (1 << type)) != 0;
+        return (mDataStallEvaluationType & type) != 0;
     }
 
     @VisibleForTesting
@@ -1792,7 +1824,7 @@
         }
 
         // Check dns signal. Suspect it may be a data stall if both :
-        // 1. The number of consecutive DNS query timeouts > mConsecutiveDnsTimeoutThreshold.
+        // 1. The number of consecutive DNS query timeouts >= mConsecutiveDnsTimeoutThreshold.
         // 2. Those consecutive DNS queries happened in the last mValidDataStallDnsTimeThreshold ms.
         if (dataStallEvaluateTypeEnabled(DATA_STALL_EVALUATION_TYPE_DNS)) {
             if (mDnsStallDetector.isDataStallSuspected(mConsecutiveDnsTimeoutThreshold,
diff --git a/services/ipmemorystore/java/com/android/server/net/ipmemorystore/IpMemoryStoreDatabase.java b/packages/NetworkStack/src/com/android/server/connectivity/ipmemorystore/IpMemoryStoreDatabase.java
similarity index 99%
rename from services/ipmemorystore/java/com/android/server/net/ipmemorystore/IpMemoryStoreDatabase.java
rename to packages/NetworkStack/src/com/android/server/connectivity/ipmemorystore/IpMemoryStoreDatabase.java
index bbecc63..4d4ceed 100644
--- a/services/ipmemorystore/java/com/android/server/net/ipmemorystore/IpMemoryStoreDatabase.java
+++ b/packages/NetworkStack/src/com/android/server/connectivity/ipmemorystore/IpMemoryStoreDatabase.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.net.ipmemorystore;
+package com.android.server.connectivity.ipmemorystore;
 
 import static android.net.shared.Inet4AddressUtils.inet4AddressToIntHTH;
 import static android.net.shared.Inet4AddressUtils.intToInet4AddressHTH;
diff --git a/services/ipmemorystore/java/com/android/server/net/ipmemorystore/IpMemoryStoreService.java b/packages/NetworkStack/src/com/android/server/connectivity/ipmemorystore/IpMemoryStoreService.java
similarity index 98%
rename from services/ipmemorystore/java/com/android/server/net/ipmemorystore/IpMemoryStoreService.java
rename to packages/NetworkStack/src/com/android/server/connectivity/ipmemorystore/IpMemoryStoreService.java
index d43dc6a..f801b35 100644
--- a/services/ipmemorystore/java/com/android/server/net/ipmemorystore/IpMemoryStoreService.java
+++ b/packages/NetworkStack/src/com/android/server/connectivity/ipmemorystore/IpMemoryStoreService.java
@@ -14,14 +14,14 @@
  * limitations under the License.
  */
 
-package com.android.server.net.ipmemorystore;
+package com.android.server.connectivity.ipmemorystore;
 
 import static android.net.ipmemorystore.Status.ERROR_DATABASE_CANNOT_BE_OPENED;
 import static android.net.ipmemorystore.Status.ERROR_GENERIC;
 import static android.net.ipmemorystore.Status.ERROR_ILLEGAL_ARGUMENT;
 import static android.net.ipmemorystore.Status.SUCCESS;
 
-import static com.android.server.net.ipmemorystore.IpMemoryStoreDatabase.EXPIRY_ERROR;
+import static com.android.server.connectivity.ipmemorystore.IpMemoryStoreDatabase.EXPIRY_ERROR;
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
@@ -40,7 +40,6 @@
 import android.net.ipmemorystore.SameL3NetworkResponse;
 import android.net.ipmemorystore.Status;
 import android.net.ipmemorystore.StatusParcelable;
-import android.net.ipmemorystore.Utils;
 import android.os.RemoteException;
 import android.util.Log;
 
diff --git a/services/ipmemorystore/java/com/android/server/net/ipmemorystore/RelevanceUtils.java b/packages/NetworkStack/src/com/android/server/connectivity/ipmemorystore/RelevanceUtils.java
similarity index 99%
rename from services/ipmemorystore/java/com/android/server/net/ipmemorystore/RelevanceUtils.java
rename to packages/NetworkStack/src/com/android/server/connectivity/ipmemorystore/RelevanceUtils.java
index aa45400..38d5544 100644
--- a/services/ipmemorystore/java/com/android/server/net/ipmemorystore/RelevanceUtils.java
+++ b/packages/NetworkStack/src/com/android/server/connectivity/ipmemorystore/RelevanceUtils.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.net.ipmemorystore;
+package com.android.server.connectivity.ipmemorystore;
 
 import com.android.internal.annotations.VisibleForTesting;
 
diff --git a/core/java/android/net/ipmemorystore/Utils.java b/packages/NetworkStack/src/com/android/server/connectivity/ipmemorystore/Utils.java
similarity index 94%
rename from core/java/android/net/ipmemorystore/Utils.java
rename to packages/NetworkStack/src/com/android/server/connectivity/ipmemorystore/Utils.java
index b361aca..9cbf490 100644
--- a/core/java/android/net/ipmemorystore/Utils.java
+++ b/packages/NetworkStack/src/com/android/server/connectivity/ipmemorystore/Utils.java
@@ -14,10 +14,11 @@
  * limitations under the License.
  */
 
-package android.net.ipmemorystore;
+package com.android.server.connectivity.ipmemorystore;
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.net.ipmemorystore.Blob;
 
 /** {@hide} */
 public class Utils {
diff --git a/packages/NetworkStack/src/com/android/server/util/PermissionUtil.java b/packages/NetworkStack/src/com/android/server/util/PermissionUtil.java
index f6eb900..6fbeead 100644
--- a/packages/NetworkStack/src/com/android/server/util/PermissionUtil.java
+++ b/packages/NetworkStack/src/com/android/server/util/PermissionUtil.java
@@ -33,7 +33,9 @@
     public static void checkNetworkStackCallingPermission() {
         // TODO: check that the calling PID is the system server.
         final int caller = getCallingUid();
-        if (caller != Process.SYSTEM_UID && UserHandle.getAppId(caller) != Process.BLUETOOTH_UID) {
+        if (caller != Process.SYSTEM_UID
+                && UserHandle.getAppId(caller) != Process.BLUETOOTH_UID
+                && UserHandle.getAppId(caller) != Process.PHONE_UID) {
             throw new SecurityException("Invalid caller: " + caller);
         }
     }
diff --git a/packages/NetworkStack/tests/Android.bp b/packages/NetworkStack/tests/Android.bp
index f22b647..aadf99e 100644
--- a/packages/NetworkStack/tests/Android.bp
+++ b/packages/NetworkStack/tests/Android.bp
@@ -22,9 +22,8 @@
     resource_dirs: ["res"],
     static_libs: [
         "androidx.test.rules",
-        "frameworks-base-testutils",
         "mockito-target-extended-minus-junit4",
-        "NetworkStackLib",
+        "NetworkStackBase",
         "testables",
     ],
     libs: [
diff --git a/packages/NetworkStack/tests/src/android/net/ip/IpClientTest.java b/packages/NetworkStack/tests/src/android/net/ip/IpClientTest.java
index 1990229..eee12d6 100644
--- a/packages/NetworkStack/tests/src/android/net/ip/IpClientTest.java
+++ b/packages/NetworkStack/tests/src/android/net/ip/IpClientTest.java
@@ -16,13 +16,10 @@
 
 package android.net.ip;
 
-import static android.net.shared.LinkPropertiesParcelableUtil.fromStableParcelable;
-
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-import static org.mockito.ArgumentMatchers.argThat;
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.anyString;
 import static org.mockito.Mockito.eq;
@@ -34,6 +31,7 @@
 import static org.mockito.Mockito.when;
 
 import android.app.AlarmManager;
+import android.content.ContentResolver;
 import android.content.Context;
 import android.content.res.Resources;
 import android.net.ConnectivityManager;
@@ -46,16 +44,14 @@
 import android.net.shared.InitialConfiguration;
 import android.net.shared.ProvisioningConfiguration;
 import android.net.util.InterfaceParams;
-import android.provider.Settings;
-import android.test.mock.MockContentResolver;
 
 import androidx.test.filters.SmallTest;
 import androidx.test.runner.AndroidJUnit4;
 
 import com.android.internal.R;
-import com.android.internal.util.test.FakeSettingsProvider;
 import com.android.server.NetworkObserver;
 import com.android.server.NetworkObserverRegistry;
+import com.android.server.NetworkStackService;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -94,7 +90,8 @@
     @Mock private IIpClientCallbacks mCb;
     @Mock private AlarmManager mAlarm;
     @Mock private IpClient.Dependencies mDependencies;
-    private MockContentResolver mContentResolver;
+    @Mock private ContentResolver mContentResolver;
+    @Mock private NetworkStackService.NetworkStackServiceManager mNetworkStackServiceManager;
 
     private NetworkObserver mObserver;
     private InterfaceParams mIfParams;
@@ -109,9 +106,6 @@
         when(mDependencies.getNetd(any())).thenReturn(mNetd);
         when(mResources.getInteger(R.integer.config_networkAvoidBadWifi))
                 .thenReturn(DEFAULT_AVOIDBADWIFI_CONFIG_VALUE);
-
-        mContentResolver = new MockContentResolver();
-        mContentResolver.addProvider(Settings.AUTHORITY, new FakeSettingsProvider());
         when(mContext.getContentResolver()).thenReturn(mContentResolver);
 
         mIfParams = null;
@@ -126,7 +120,8 @@
 
     private IpClient makeIpClient(String ifname) throws Exception {
         setTestInterfaceParams(ifname);
-        final IpClient ipc = new IpClient(mContext, ifname, mCb, mObserverRegistry, mDependencies);
+        final IpClient ipc = new IpClient(mContext, ifname, mCb, mObserverRegistry,
+                mNetworkStackServiceManager, mDependencies);
         verify(mNetd, timeout(TEST_TIMEOUT_MS).times(1)).interfaceSetEnableIPv6(ifname, false);
         verify(mNetd, timeout(TEST_TIMEOUT_MS).times(1)).interfaceClearAddrs(ifname);
         ArgumentCaptor<NetworkObserver> arg = ArgumentCaptor.forClass(NetworkObserver.class);
@@ -150,8 +145,8 @@
     public void testNullInterfaceNameMostDefinitelyThrows() throws Exception {
         setTestInterfaceParams(null);
         try {
-            final IpClient ipc = new IpClient(
-                    mContext, null, mCb, mObserverRegistry, mDependencies);
+            final IpClient ipc = new IpClient(mContext, null, mCb, mObserverRegistry,
+                    mNetworkStackServiceManager, mDependencies);
             ipc.shutdown();
             fail();
         } catch (NullPointerException npe) {
@@ -164,8 +159,8 @@
         final String ifname = "lo";
         setTestInterfaceParams(ifname);
         try {
-            final IpClient ipc = new IpClient(
-                    mContext, ifname, null, mObserverRegistry, mDependencies);
+            final IpClient ipc = new IpClient(mContext, ifname, null, mObserverRegistry,
+                    mNetworkStackServiceManager, mDependencies);
             ipc.shutdown();
             fail();
         } catch (NullPointerException npe) {
@@ -176,16 +171,16 @@
     @Test
     public void testInvalidInterfaceDoesNotThrow() throws Exception {
         setTestInterfaceParams(TEST_IFNAME);
-        final IpClient ipc = new IpClient(
-                mContext, TEST_IFNAME, mCb, mObserverRegistry, mDependencies);
+        final IpClient ipc = new IpClient(mContext, TEST_IFNAME, mCb, mObserverRegistry,
+                mNetworkStackServiceManager, mDependencies);
         ipc.shutdown();
     }
 
     @Test
     public void testInterfaceNotFoundFailsImmediately() throws Exception {
         setTestInterfaceParams(null);
-        final IpClient ipc = new IpClient(
-                mContext, TEST_IFNAME, mCb, mObserverRegistry, mDependencies);
+        final IpClient ipc = new IpClient(mContext, TEST_IFNAME, mCb, mObserverRegistry,
+                mNetworkStackServiceManager, mDependencies);
         ipc.startProvisioning(new ProvisioningConfiguration());
         verify(mCb, times(1)).onProvisioningFailure(any());
         ipc.shutdown();
@@ -212,8 +207,7 @@
         verify(mNetd, timeout(TEST_TIMEOUT_MS).times(1)).interfaceSetEnableIPv6(iface, false);
         verify(mNetd, timeout(TEST_TIMEOUT_MS).times(1)).interfaceClearAddrs(iface);
         verify(mCb, timeout(TEST_TIMEOUT_MS).times(1))
-                .onLinkPropertiesChange(argThat(
-                        lp -> fromStableParcelable(lp).equals(makeEmptyLinkProperties(iface))));
+                .onLinkPropertiesChange(makeEmptyLinkProperties(iface));
     }
 
     @Test
@@ -258,15 +252,13 @@
         mObserver.onInterfaceAddressUpdated(new LinkAddress(addresses[lastAddr]), iface);
         LinkProperties want = linkproperties(links(addresses), routes(prefixes));
         want.setInterfaceName(iface);
-        verify(mCb, timeout(TEST_TIMEOUT_MS).times(1)).onProvisioningSuccess(argThat(
-                lp -> fromStableParcelable(lp).equals(want)));
+        verify(mCb, timeout(TEST_TIMEOUT_MS).times(1)).onProvisioningSuccess(want);
 
         ipc.shutdown();
         verify(mNetd, timeout(TEST_TIMEOUT_MS).times(1)).interfaceSetEnableIPv6(iface, false);
         verify(mNetd, timeout(TEST_TIMEOUT_MS).times(1)).interfaceClearAddrs(iface);
         verify(mCb, timeout(TEST_TIMEOUT_MS).times(1))
-                .onLinkPropertiesChange(argThat(
-                        lp -> fromStableParcelable(lp).equals(makeEmptyLinkProperties(iface))));
+                .onLinkPropertiesChange(makeEmptyLinkProperties(iface));
     }
 
     @Test
diff --git a/packages/NetworkStack/tests/src/com/android/server/connectivity/NetworkMonitorTest.java b/packages/NetworkStack/tests/src/com/android/server/connectivity/NetworkMonitorTest.java
index 04b906b..d93aef2 100644
--- a/packages/NetworkStack/tests/src/com/android/server/connectivity/NetworkMonitorTest.java
+++ b/packages/NetworkStack/tests/src/com/android/server/connectivity/NetworkMonitorTest.java
@@ -18,8 +18,10 @@
 
 import static android.net.CaptivePortal.APP_RETURN_DISMISSED;
 import static android.net.INetworkMonitor.NETWORK_TEST_RESULT_INVALID;
+import static android.net.INetworkMonitor.NETWORK_TEST_RESULT_PARTIAL_CONNECTIVITY;
 import static android.net.INetworkMonitor.NETWORK_TEST_RESULT_VALID;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET;
+import static android.provider.Settings.Global.DATA_STALL_EVALUATION_TYPE_DNS;
 
 import static junit.framework.Assert.assertEquals;
 import static junit.framework.Assert.assertFalse;
@@ -114,7 +116,6 @@
     private static final String TEST_OTHER_FALLBACK_URL = "http://otherfallback.google.com/gen_204";
     private static final String TEST_MCCMNC = "123456";
 
-    private static final int DATA_STALL_EVALUATION_TYPE_DNS = 1;
     private static final int RETURN_CODE_DNS_SUCCESS = 0;
     private static final int RETURN_CODE_DNS_TIMEOUT = 255;
     private static final int DEFAULT_DNS_TIMEOUT_THRESHOLD = 5;
@@ -186,7 +187,7 @@
         when(mCm.getNetworkCapabilities(any())).thenReturn(METERED_CAPABILITIES);
 
         setMinDataStallEvaluateInterval(500);
-        setDataStallEvaluationType(1 << DATA_STALL_EVALUATION_TYPE_DNS);
+        setDataStallEvaluationType(DATA_STALL_EVALUATION_TYPE_DNS);
         setValidDataStallDnsTimeThreshold(500);
         setConsecutiveDnsTimeoutThreshold(5);
     }
@@ -525,7 +526,7 @@
         wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 1000);
         makeDnsTimeoutEvent(wrappedMonitor, 5);
         assertTrue(wrappedMonitor.isDataStall());
-        verify(mDataStallStatsUtils, times(1)).write(any(), any());
+        verify(mDataStallStatsUtils, times(1)).write(makeEmptyDataStallDetectionStats(), any());
     }
 
     @Test
@@ -534,7 +535,7 @@
         wrappedMonitor.setLastProbeTime(SystemClock.elapsedRealtime() - 1000);
         makeDnsTimeoutEvent(wrappedMonitor, 3);
         assertFalse(wrappedMonitor.isDataStall());
-        verify(mDataStallStatsUtils, never()).write(any(), any());
+        verify(mDataStallStatsUtils, never()).write(makeEmptyDataStallDetectionStats(), any());
     }
 
     @Test
@@ -572,6 +573,34 @@
                 stats.build());
     }
 
+    @Test
+    public void testIgnoreHttpsProbe() throws Exception {
+        setSslException(mHttpsConnection);
+        setStatus(mHttpConnection, 204);
+
+        final NetworkMonitor nm = makeMonitor();
+        nm.notifyNetworkConnected();
+        verify(mCallbacks, timeout(HANDLER_TIMEOUT_MS).times(1))
+                .notifyNetworkTested(NETWORK_TEST_RESULT_PARTIAL_CONNECTIVITY, null);
+
+        nm.notifyAcceptPartialConnectivity();
+        verify(mCallbacks, timeout(HANDLER_TIMEOUT_MS).times(1))
+                .notifyNetworkTested(NETWORK_TEST_RESULT_VALID, null);
+    }
+
+    @Test
+    public void testIsPartialConnectivity() throws IOException {
+        setStatus(mHttpsConnection, 500);
+        setStatus(mHttpConnection, 204);
+        setStatus(mFallbackConnection, 500);
+        assertPartialConnectivity(makeMonitor().isCaptivePortal());
+
+        setStatus(mHttpsConnection, 500);
+        setStatus(mHttpConnection, 500);
+        setStatus(mFallbackConnection, 204);
+        assertPartialConnectivity(makeMonitor().isCaptivePortal());
+    }
+
     private void makeDnsTimeoutEvent(WrappedNetworkMonitor wrappedMonitor, int count) {
         for (int i = 0; i < count; i++) {
             wrappedMonitor.getDnsStallDetector().accumulateConsecutiveDnsTimeoutCount(
@@ -586,6 +615,10 @@
         }
     }
 
+    private DataStallDetectionStats makeEmptyDataStallDetectionStats() {
+        return new DataStallDetectionStats.Builder().build();
+    }
+
     private void setDataStallEvaluationType(int type) {
         when(mDependencies.getSetting(any(),
             eq(Settings.Global.DATA_STALL_EVALUATION_TYPE), anyInt())).thenReturn(type);
@@ -645,6 +678,10 @@
         assertFalse(result.isSuccessful());
     }
 
+    private void assertPartialConnectivity(CaptivePortalProbeResult result) {
+        assertTrue(result.isPartialConnectivity());
+    }
+
     private void setSslException(HttpURLConnection connection) throws IOException {
         doThrow(new SSLHandshakeException("Invalid cert")).when(connection).getResponseCode();
     }
diff --git a/tests/net/java/com/android/server/net/ipmemorystore/IpMemoryStoreServiceTest.java b/packages/NetworkStack/tests/src/com/android/server/connectivity/ipmemorystore/IpMemoryStoreServiceTest.java
similarity index 98%
rename from tests/net/java/com/android/server/net/ipmemorystore/IpMemoryStoreServiceTest.java
rename to packages/NetworkStack/tests/src/com/android/server/connectivity/ipmemorystore/IpMemoryStoreServiceTest.java
index e57433a..d0e58b8 100644
--- a/tests/net/java/com/android/server/net/ipmemorystore/IpMemoryStoreServiceTest.java
+++ b/packages/NetworkStack/tests/src/com/android/server/connectivity/ipmemorystore/IpMemoryStoreServiceTest.java
@@ -14,7 +14,7 @@
  * limitations under the License.
  */
 
-package com.android.server.net.ipmemorystore;
+package com.android.server.connectivity.ipmemorystore;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -39,9 +39,10 @@
 import android.net.ipmemorystore.StatusParcelable;
 import android.os.IBinder;
 import android.os.RemoteException;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.After;
 import org.junit.Before;
diff --git a/tests/net/java/com/android/server/net/ipmemorystore/RelevanceUtilsTests.java b/packages/NetworkStack/tests/src/com/android/server/connectivity/ipmemorystore/RelevanceUtilsTests.java
similarity index 96%
rename from tests/net/java/com/android/server/net/ipmemorystore/RelevanceUtilsTests.java
rename to packages/NetworkStack/tests/src/com/android/server/connectivity/ipmemorystore/RelevanceUtilsTests.java
index 8d367e2..3d3aabc 100644
--- a/tests/net/java/com/android/server/net/ipmemorystore/RelevanceUtilsTests.java
+++ b/packages/NetworkStack/tests/src/com/android/server/connectivity/ipmemorystore/RelevanceUtilsTests.java
@@ -14,16 +14,16 @@
  * limitations under the License.
  */
 
-package com.android.server.net.ipmemorystore;
+package com.android.server.connectivity.ipmemorystore;
 
-import static com.android.server.net.ipmemorystore.RelevanceUtils.CAPPED_RELEVANCE;
+import static com.android.server.connectivity.ipmemorystore.RelevanceUtils.CAPPED_RELEVANCE;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/packages/NetworkStackPermissionStub/Android.bp b/packages/NetworkStackPermissionStub/Android.bp
index dd70cf5..8cee92e 100644
--- a/packages/NetworkStackPermissionStub/Android.bp
+++ b/packages/NetworkStackPermissionStub/Android.bp
@@ -21,6 +21,7 @@
     // a classes.dex.
     srcs: ["src/**/*.java"],
     platform_apis: true,
+    min_sdk_version: "28",
     certificate: "networkstack",
     privileged: true,
     manifest: "AndroidManifest.xml",
diff --git a/packages/NetworkStackPermissionStub/AndroidManifest.xml b/packages/NetworkStackPermissionStub/AndroidManifest.xml
index 62bf3de..e83f050 100644
--- a/packages/NetworkStackPermissionStub/AndroidManifest.xml
+++ b/packages/NetworkStackPermissionStub/AndroidManifest.xml
@@ -19,7 +19,7 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.android.networkstack.permissionstub"
     android:sharedUserId="android.uid.networkstack"
-    android:versionCode="10"
+    android:versionCode="11"
     android:versionName="Q-initial">
     <uses-sdk android:minSdkVersion="28" android:targetSdkVersion="28" />
     <!--
diff --git a/packages/SettingsLib/ActionBarShadow/AndroidManifest.xml b/packages/SettingsLib/ActionBarShadow/AndroidManifest.xml
index 4b9f1ab..98c4cb4 100644
--- a/packages/SettingsLib/ActionBarShadow/AndroidManifest.xml
+++ b/packages/SettingsLib/ActionBarShadow/AndroidManifest.xml
@@ -18,6 +18,4 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
           package="com.android.settingslib.widget">
 
-    <uses-sdk android:minSdkVersion="21" />
-
 </manifest>
diff --git a/packages/SettingsLib/AndroidManifest.xml b/packages/SettingsLib/AndroidManifest.xml
index 3873593..a347345 100644
--- a/packages/SettingsLib/AndroidManifest.xml
+++ b/packages/SettingsLib/AndroidManifest.xml
@@ -18,7 +18,4 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.android.settingslib">
 
-    <uses-sdk
-        android:minSdkVersion="21" />
-
 </manifest>
diff --git a/packages/SettingsLib/AppPreference/AndroidManifest.xml b/packages/SettingsLib/AppPreference/AndroidManifest.xml
index 7e71308..4b9f1ab 100644
--- a/packages/SettingsLib/AppPreference/AndroidManifest.xml
+++ b/packages/SettingsLib/AppPreference/AndroidManifest.xml
@@ -16,7 +16,7 @@
   -->
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          package="com.android.settingslib.widget.apppreference">
+          package="com.android.settingslib.widget">
 
     <uses-sdk android:minSdkVersion="21" />
 
diff --git a/packages/SettingsLib/AppPreference/src/com/android/settingslib/widget/apppreference/AppPreference.java b/packages/SettingsLib/AppPreference/src/com/android/settingslib/widget/apppreference/AppPreference.java
index 593b6f5..ab51a34 100644
--- a/packages/SettingsLib/AppPreference/src/com/android/settingslib/widget/apppreference/AppPreference.java
+++ b/packages/SettingsLib/AppPreference/src/com/android/settingslib/widget/apppreference/AppPreference.java
@@ -25,6 +25,8 @@
 import androidx.preference.Preference;
 import androidx.preference.PreferenceViewHolder;
 
+import com.android.settingslib.widget.R;
+
 public class AppPreference extends Preference {
 
     private int mProgress;
diff --git a/packages/SettingsLib/BarChartPreference/res/layout/settings_bar_chart.xml b/packages/SettingsLib/BarChartPreference/res/layout/settings_bar_chart.xml
index b063e13..814246f 100644
--- a/packages/SettingsLib/BarChartPreference/res/layout/settings_bar_chart.xml
+++ b/packages/SettingsLib/BarChartPreference/res/layout/settings_bar_chart.xml
@@ -66,7 +66,7 @@
             android:id="@+id/bar_chart_details"
             style="@android:style/Widget.DeviceDefault.Button.Borderless.Colored"
             android:layout_width="wrap_content"
-            android:layout_height="48dp"
+            android:layout_height="wrap_content"
             android:gravity="center"/>
     </LinearLayout>
 
diff --git a/packages/SettingsLib/BarChartPreference/res/values/styles.xml b/packages/SettingsLib/BarChartPreference/res/values/styles.xml
index 4876cb6..5587928 100644
--- a/packages/SettingsLib/BarChartPreference/res/values/styles.xml
+++ b/packages/SettingsLib/BarChartPreference/res/values/styles.xml
@@ -18,7 +18,7 @@
 <resources>
     <style name="BarViewStyle">
         <item name="android:layout_width">0dp</item>
-        <item name="android:layout_height">226dp</item>
+        <item name="android:layout_height">250dp</item>
         <item name="android:layout_weight">1</item>
         <item name="android:layout_marginStart">8dp</item>
         <item name="android:layout_marginEnd">8dp</item>
diff --git a/packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarChartPreference.java b/packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarChartPreference.java
index 1003c97..20e0a3b 100644
--- a/packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarChartPreference.java
+++ b/packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarChartPreference.java
@@ -158,6 +158,11 @@
         holder.setDividerAllowedAbove(true);
         holder.setDividerAllowedBelow(true);
 
+        // We bind title and details early so that we can preserve the correct height for chart
+        // view.
+        bindChartTitleView(holder);
+        bindChartDetailsView(holder);
+
         // If the state is loading, we just show a blank view.
         if (mIsLoading) {
             holder.itemView.setVisibility(View.INVISIBLE);
@@ -165,9 +170,6 @@
         }
         holder.itemView.setVisibility(View.VISIBLE);
 
-        // We must show title of bar chart.
-        bindChartTitleView(holder);
-
         final BarViewInfo[] barViewInfos = mBarChartInfo.getBarViewInfos();
         // If there is no any bar view, we just show an empty text.
         if (barViewInfos == null || barViewInfos.length == 0) {
@@ -175,8 +177,6 @@
             return;
         }
         setEmptyViewVisible(holder, false /* visible */);
-
-        bindChartDetailsView(holder);
         updateBarChart(holder);
     }
 
diff --git a/packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarView.java b/packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarView.java
index 3ef0235..03dfd3e 100644
--- a/packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarView.java
+++ b/packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarView.java
@@ -74,6 +74,7 @@
         // For now, we use the bar number as title.
         mBarTitle.setText(Integer.toString(barViewInfo.getHeight()));
         mBarSummary.setText(barViewInfo.getSummary());
+        mIcon.setContentDescription(barViewInfo.getContentDescription());
     }
 
     @VisibleForTesting
diff --git a/packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarViewInfo.java b/packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarViewInfo.java
index 409f9ea..1ef36a2 100644
--- a/packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarViewInfo.java
+++ b/packages/SettingsLib/BarChartPreference/src/com/android/settingslib/widget/BarViewInfo.java
@@ -34,6 +34,7 @@
     private View.OnClickListener mClickListener;
     @StringRes
     private int mSummary;
+    private @Nullable CharSequence mContentDescription;
     // A number indicates this bar's height. The larger number shows a higher bar view.
     private int mHeight;
     // A real height of bar view.
@@ -45,11 +46,14 @@
      * @param icon      The icon of bar view.
      * @param barHeight The height of bar view. Larger number shows a higher bar view.
      * @param summary   The string resource id for summary.
+     * @param contentDescription Optional text that briefly describes the contents of the icon.
      */
-    public BarViewInfo(Drawable icon, @IntRange(from = 0) int barHeight, @StringRes int summary) {
+    public BarViewInfo(Drawable icon, @IntRange(from = 0) int barHeight, @StringRes int summary,
+            @Nullable CharSequence contentDescription) {
         mIcon = icon;
         mHeight = barHeight;
         mSummary = summary;
+        mContentDescription = contentDescription;
     }
 
     /**
@@ -91,6 +95,10 @@
         return mSummary;
     }
 
+    public @Nullable CharSequence getContentDescription() {
+        return mContentDescription;
+    }
+
     void setNormalizedHeight(@IntRange(from = 0) int barHeight) {
         mNormalizedHeight = barHeight;
     }
diff --git a/packages/SettingsLib/HelpUtils/AndroidManifest.xml b/packages/SettingsLib/HelpUtils/AndroidManifest.xml
index 35b3933..5240ce4 100644
--- a/packages/SettingsLib/HelpUtils/AndroidManifest.xml
+++ b/packages/SettingsLib/HelpUtils/AndroidManifest.xml
@@ -18,6 +18,4 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
     package="com.android.settingslib.helputils">
 
-    <uses-sdk android:minSdkVersion="21" />
-
 </manifest>
diff --git a/packages/SettingsLib/LayoutPreference/res/layout/settings_entity_header.xml b/packages/SettingsLib/LayoutPreference/res/layout/settings_entity_header.xml
index e27ae7d..da575db 100644
--- a/packages/SettingsLib/LayoutPreference/res/layout/settings_entity_header.xml
+++ b/packages/SettingsLib/LayoutPreference/res/layout/settings_entity_header.xml
@@ -21,6 +21,8 @@
     style="@style/EntityHeader"
     android:layout_width="match_parent"
     android:layout_height="wrap_content"
+    android:paddingStart="?android:attr/listPreferredItemPaddingStart"
+    android:paddingEnd="?android:attr/listPreferredItemPaddingEnd"
     android:orientation="horizontal">
 
     <LinearLayout
diff --git a/packages/SettingsLib/LayoutPreference/res/values/styles.xml b/packages/SettingsLib/LayoutPreference/res/values/styles.xml
index 805744b..6a2b729 100644
--- a/packages/SettingsLib/LayoutPreference/res/values/styles.xml
+++ b/packages/SettingsLib/LayoutPreference/res/values/styles.xml
@@ -31,12 +31,10 @@
     </style>
 
     <style name="TextAppearance.EntityHeaderSummary"
-           parent="@android:style/TextAppearance.Material.Body1">
+           parent="@*android:style/TextAppearance.DeviceDefault.Body1">
         <item name="android:textAlignment">viewStart</item>
         <item name="android:textColor">?android:attr/textColorSecondary</item>
-        <item name="android:gravity">start</item>
         <item name="android:singleLine">true</item>
         <item name="android:ellipsize">marquee</item>
-        <item name="android:textSize">14sp</item>
     </style>
 </resources>
\ No newline at end of file
diff --git a/packages/SettingsLib/RestrictedLockUtils/AndroidManifest.xml b/packages/SettingsLib/RestrictedLockUtils/AndroidManifest.xml
index d7b323a..d19a022 100644
--- a/packages/SettingsLib/RestrictedLockUtils/AndroidManifest.xml
+++ b/packages/SettingsLib/RestrictedLockUtils/AndroidManifest.xml
@@ -18,6 +18,4 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
           package="com.android.settingslib.restrictedlockutils">
 
-    <uses-sdk android:minSdkVersion="21" />
-
 </manifest>
\ No newline at end of file
diff --git a/packages/SettingsLib/RestrictedLockUtils/src/com/android/settingslib/RestrictedLockUtils.java b/packages/SettingsLib/RestrictedLockUtils/src/com/android/settingslib/RestrictedLockUtils.java
index 8529e3e..87b5b57 100644
--- a/packages/SettingsLib/RestrictedLockUtils/src/com/android/settingslib/RestrictedLockUtils.java
+++ b/packages/SettingsLib/RestrictedLockUtils/src/com/android/settingslib/RestrictedLockUtils.java
@@ -20,6 +20,7 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
+import android.content.pm.PackageManager;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.provider.Settings;
@@ -47,7 +48,16 @@
         if (dpm == null) {
             return null;
         }
-        ComponentName adminComponent = dpm.getProfileOwnerAsUser(user);
+
+        Context userContext;
+        try {
+            userContext = context.createPackageContextAsUser(context.getPackageName(), 0, user);
+        } catch (PackageManager.NameNotFoundException e) {
+            throw new IllegalStateException(e);
+        }
+
+        ComponentName adminComponent = userContext.getSystemService(
+                DevicePolicyManager.class).getProfileOwner();
         if (adminComponent != null) {
             return new EnforcedAdmin(adminComponent, enforcedRestriction, user);
         }
diff --git a/packages/SettingsLib/SearchWidget/AndroidManifest.xml b/packages/SettingsLib/SearchWidget/AndroidManifest.xml
index b86544e..5798801 100644
--- a/packages/SettingsLib/SearchWidget/AndroidManifest.xml
+++ b/packages/SettingsLib/SearchWidget/AndroidManifest.xml
@@ -18,6 +18,4 @@
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
           package="com.android.settingslib.search">
 
-    <uses-sdk android:minSdkVersion="21" />
-
 </manifest>
diff --git a/packages/SettingsLib/SettingsSpinner/AndroidManifest.xml b/packages/SettingsLib/SettingsSpinner/AndroidManifest.xml
index 5db9335..4b9f1ab 100644
--- a/packages/SettingsLib/SettingsSpinner/AndroidManifest.xml
+++ b/packages/SettingsLib/SettingsSpinner/AndroidManifest.xml
@@ -16,7 +16,7 @@
   -->
 
 <manifest xmlns:android="http://schemas.android.com/apk/res/android"
-          package="com.android.settingslib.widget.settingsspinner">
+          package="com.android.settingslib.widget">
 
     <uses-sdk android:minSdkVersion="21" />
 
diff --git a/packages/SettingsLib/SettingsSpinner/src/com/android/settingslib/widget/settingsspinner/SettingsSpinner.java b/packages/SettingsLib/SettingsSpinner/src/com/android/settingslib/widget/settingsspinner/SettingsSpinner.java
index 130cef2..5ef8f7a 100644
--- a/packages/SettingsLib/SettingsSpinner/src/com/android/settingslib/widget/settingsspinner/SettingsSpinner.java
+++ b/packages/SettingsLib/SettingsSpinner/src/com/android/settingslib/widget/settingsspinner/SettingsSpinner.java
@@ -20,6 +20,8 @@
 import android.util.AttributeSet;
 import android.widget.Spinner;
 
+import com.android.settingslib.widget.R;
+
 /**
  * A {@link Spinner} with settings style.
  *
diff --git a/packages/SettingsLib/SettingsSpinner/src/com/android/settingslib/widget/settingsspinner/SettingsSpinnerAdapter.java b/packages/SettingsLib/SettingsSpinner/src/com/android/settingslib/widget/settingsspinner/SettingsSpinnerAdapter.java
index 8bf8fce..f9aedd9 100644
--- a/packages/SettingsLib/SettingsSpinner/src/com/android/settingslib/widget/settingsspinner/SettingsSpinnerAdapter.java
+++ b/packages/SettingsLib/SettingsSpinner/src/com/android/settingslib/widget/settingsspinner/SettingsSpinnerAdapter.java
@@ -17,10 +17,10 @@
 package com.android.settingslib.widget.settingsspinner;
 
 import android.content.Context;
-import android.view.View;
-import android.view.ViewGroup;
 import android.widget.ArrayAdapter;
 
+import com.android.settingslib.widget.R;
+
 /**
  * An ArrayAdapter which was used by {@link SettingsSpinner} with settings style.
  */
diff --git a/packages/SettingsLib/res/drawable/ic_smartphone.xml b/packages/SettingsLib/res/drawable/ic_smartphone.xml
new file mode 100644
index 0000000..84a96da
--- /dev/null
+++ b/packages/SettingsLib/res/drawable/ic_smartphone.xml
@@ -0,0 +1,29 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+        android:viewportWidth="24"
+        android:viewportHeight="24"
+        android:width="24dp"
+        android:height="24dp"
+        android:tint="?android:attr/colorControlNormal">
+    <path
+        android:fillColor="#00000000"
+        android:pathData="M0 0h24v24H0z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M17 1.01L7 1c-1.1 0-2 0.9-2 2v18c0 1.1 0.9 2 2 2h10c1.1 0 2 -0.9 2-2V3c0-1.1 -0.9-1.99-2-1.99zM17 19H7V5h10v14z" />
+</vector>
diff --git a/packages/SettingsLib/res/values-af/strings.xml b/packages/SettingsLib/res/values-af/strings.xml
index cfc76b7..835fcc2 100644
--- a/packages/SettingsLib/res/values-af/strings.xml
+++ b/packages/SettingsLib/res/values-af/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Ongeveer <xliff:g id="TIME_REMAINING">%1$s</xliff:g> oor (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Ongeveer <xliff:g id="TIME_REMAINING">%1$s</xliff:g> oor gegrond op jou gebruik"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Ongeveer <xliff:g id="TIME_REMAINING">%1$s</xliff:g> oor gegrond op jou gebruik (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> oor"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Sal op grond van jou gebruik waarskynlik hou tot omtrent <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Sal op grond van jou gebruik waarskynlik hou tot omtrent <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Sal waarskynlik hou tot omtrent <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-am/strings.xml b/packages/SettingsLib/res/values-am/strings.xml
index 6e6d58f..11dde97 100644
--- a/packages/SettingsLib/res/values-am/strings.xml
+++ b/packages/SettingsLib/res/values-am/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>) ገደማ ቀርቷል"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"በአጠቃቀምዎ መሠረት <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ገደማ ቀርቷል"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"በአጠቃቀምዎ መሠረት <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>) ገደማ ቀርቷል"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"በአጠቃቀምዎ (<xliff:g id="LEVEL">%2$s</xliff:g>) መሠረት እስከ <xliff:g id="TIME">%1$s</xliff:g> ገደማ መቆየት አለበት"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"በአጠቃቀምዎ መሠረት እስከ <xliff:g id="TIME">%1$s</xliff:g> ገደማ መቆየት አለበት"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"እስከ <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>) ገደማ ድረስ መቆየት አለበት"</string>
diff --git a/packages/SettingsLib/res/values-ar/strings.xml b/packages/SettingsLib/res/values-ar/strings.xml
index 18d47ac..10d4ee5 100644
--- a/packages/SettingsLib/res/values-ar/strings.xml
+++ b/packages/SettingsLib/res/values-ar/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"يتبقى <xliff:g id="TIME_REMAINING">%1$s</xliff:g> تقريبًا (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"يتبقى <xliff:g id="TIME_REMAINING">%1$s</xliff:g> تقريبًا، بناءً على استخدامك"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"يتبقى <xliff:g id="TIME_REMAINING">%1$s</xliff:g> تقريبًا، بناءً على استخدامك (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"الوقت المتبقي: <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">"قد تكفي طاقة البطارية حتى حوالي الساعة <xliff:g id="TIME">%1$s</xliff:g> حسب استخدامك (<xliff:g id="LEVEL">%2$s</xliff:g>)."</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"قد تكفي طاقة البطارية حتى حوالي الساعة <xliff:g id="TIME">%1$s</xliff:g> حسب استخدامك."</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"قد تكفي طاقة البطارية حتى حوالي الساعة <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)."</string>
diff --git a/packages/SettingsLib/res/values-as/strings.xml b/packages/SettingsLib/res/values-as/strings.xml
index 68f1e6f..dee399e 100644
--- a/packages/SettingsLib/res/values-as/strings.xml
+++ b/packages/SettingsLib/res/values-as/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"প্রায় <xliff:g id="TIME_REMAINING">%1$s</xliff:g> বাকী আছে (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"আপোনাৰ ব্যৱহাৰৰ ওপৰত ভিত্তি কৰি প্ৰায় <xliff:g id="TIME_REMAINING">%1$s</xliff:g> বাকী আছে"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"আপোনাৰ ব্যৱহাৰৰ ওপৰত ভিত্তি কৰি প্রায় <xliff:g id="TIME_REMAINING">%1$s</xliff:g> বাকী আছে (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"আপোনাৰ ব্যৱহাৰৰ ওপৰত ভিত্তি কৰি বেটাৰি আনুমানিকভাৱে <xliff:g id="TIME">%1$s</xliff:g> লৈকে চলিব (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"আপোনাৰ ব্যৱহাৰৰ ওপৰত ভিত্তি কৰি বেটাৰি আনুমানিকভাৱে <xliff:g id="TIME">%1$s</xliff:g> লৈকে চলিব"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"বেটাৰি আনুমানিকভাৱে <xliff:g id="TIME">%1$s</xliff:g> লৈকে চলিব (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-az/strings.xml b/packages/SettingsLib/res/values-az/strings.xml
index 8e6e07d..73e3d51 100644
--- a/packages/SettingsLib/res/values-az/strings.xml
+++ b/packages/SettingsLib/res/values-az/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Təxminən <xliff:g id="TIME_REMAINING">%1$s</xliff:g> qalıb (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"İstifadəyə əsasən təxminən <xliff:g id="TIME_REMAINING">%1$s</xliff:g> qalıb"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"İstifadəyə əsasən təxminən <xliff:g id="TIME_REMAINING">%1$s</xliff:g> qalıb (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> qalıb"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"İstifadəyə (<xliff:g id="LEVEL">%2$s</xliff:g>) əsasən təxminən <xliff:g id="TIME">%1$s</xliff:g> olana qədər davam edəcək"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"İstifadəyə əsasən təxminən <xliff:g id="TIME">%1$s</xliff:g> olana qədər davam edəcək"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Təxminən <xliff:g id="TIME">%1$s</xliff:g> olana qədər davam edəcək (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
index 1cdd1fd..47b536c 100644
--- a/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
+++ b/packages/SettingsLib/res/values-b+sr+Latn/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Preostalo je oko <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Preostalo je oko <xliff:g id="TIME_REMAINING">%1$s</xliff:g> na osnovu korišćenja"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Preostalo je oko <xliff:g id="TIME_REMAINING">%1$s</xliff:g> na osnovu korišćenja (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Još <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">"Trajaće približno do <xliff:g id="TIME">%1$s</xliff:g> na osnovu korišćenja (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Trajaće približno do <xliff:g id="TIME">%1$s</xliff:g> na osnovu korišćenja"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Trajaće približno do <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-be/strings.xml b/packages/SettingsLib/res/values-be/strings.xml
index 1a60c3d..ee662fa 100644
--- a/packages/SettingsLib/res/values-be/strings.xml
+++ b/packages/SettingsLib/res/values-be/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Зараду (<xliff:g id="LEVEL">%2$s</xliff:g>) хопіць прыблізна на <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Зараду пры такім выкарыстанні хопіць прыблізна на <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Зараду (<xliff:g id="LEVEL">%2$s</xliff:g>) пры такім выкарыстанні хопіць прыблізна на <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Хопіць на <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">"Зараду (<xliff:g id="LEVEL">%2$s</xliff:g>) хопіць прыблізна да <xliff:g id="TIME">%1$s</xliff:g> пры цяперашнім узроўні выкарыстання"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Зараду хопіць прыблізна да <xliff:g id="TIME">%1$s</xliff:g> пры цяперашнім узроўні выкарыстання"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Зараду (<xliff:g id="LEVEL">%2$s</xliff:g>) хопіць прыблізна да <xliff:g id="TIME">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-bg/strings.xml b/packages/SettingsLib/res/values-bg/strings.xml
index aaedce4..4e4ac9b 100644
--- a/packages/SettingsLib/res/values-bg/strings.xml
+++ b/packages/SettingsLib/res/values-bg/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Още около <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Още около <xliff:g id="TIME_REMAINING">%1$s</xliff:g> въз основа на използването"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Още около <xliff:g id="TIME_REMAINING">%1$s</xliff:g> въз основа на използването (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Още <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">"Следва да издържи приблизително до <xliff:g id="TIME">%1$s</xliff:g> въз основа на използването (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Следва да издържи приблизително до <xliff:g id="TIME">%1$s</xliff:g> въз основа на използването"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Следва да издържи приблизително до <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-bn/strings.xml b/packages/SettingsLib/res/values-bn/strings.xml
index 4f29131..c7d1c0a 100644
--- a/packages/SettingsLib/res/values-bn/strings.xml
+++ b/packages/SettingsLib/res/values-bn/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"আর আনুমানিক <xliff:g id="TIME_REMAINING">%1$s</xliff:g> চলবে (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"ব্যবহারের উপর ভিত্তি করে আর আনুমানিক <xliff:g id="TIME_REMAINING">%1$s</xliff:g> চলবে"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"ব্যবহারের উপর ভিত্তি করে আর আনুমানিক <xliff:g id="TIME_REMAINING">%1$s</xliff:g> চলবে (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"আর <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">"বর্তমান ব্যবহার অনুযায়ী আনুমানিক <xliff:g id="TIME">%1$s</xliff:g> পর্যন্ত চলবে (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"বর্তমান ব্যবহার অনুযায়ী আনুমানিক <xliff:g id="TIME">%1$s</xliff:g> পর্যন্ত চলবে"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"আনুমানিক <xliff:g id="TIME">%1$s</xliff:g> পর্যন্ত চলবে (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-bs/strings.xml b/packages/SettingsLib/res/values-bs/strings.xml
index 4193d52..d5d13d1 100644
--- a/packages/SettingsLib/res/values-bs/strings.xml
+++ b/packages/SettingsLib/res/values-bs/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Preostalo je još oko <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Preostalo je još oko <xliff:g id="TIME_REMAINING">%1$s</xliff:g> na osnovu vaše potrošnje"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Preostalo je još oko <xliff:g id="TIME_REMAINING">%1$s</xliff:g> na osnovu vaše potrošnje (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Još <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">"Trebala bi trajati otprilike do <xliff:g id="TIME">%1$s</xliff:g> na osnovu vaše upotrebe (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Trebala bi trajati otprilike do <xliff:g id="TIME">%1$s</xliff:g> na osnovu vaše upotrebe"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Trebala bi trajati do otprilike <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-ca/strings.xml b/packages/SettingsLib/res/values-ca/strings.xml
index 9c3e4d9..c000a3c 100644
--- a/packages/SettingsLib/res/values-ca/strings.xml
+++ b/packages/SettingsLib/res/values-ca/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Temps restant aproximat: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Temps restant aproximat segons l\'ús que en fas: <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Temps restant aproximat segons l\'ús que en fas: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Temps restant: <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">"La bateria hauria de durar aproximadament fins a les <xliff:g id="TIME">%1$s</xliff:g> segons l\'ús que en fas (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"La bateria hauria de durar aproximadament fins a les <xliff:g id="TIME">%1$s</xliff:g> segons l\'ús que en fas"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"La bateria hauria de durar aproximadament fins a les <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-cs/strings.xml b/packages/SettingsLib/res/values-cs/strings.xml
index b6507bc..37b7c51 100644
--- a/packages/SettingsLib/res/values-cs/strings.xml
+++ b/packages/SettingsLib/res/values-cs/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Zbývá asi <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Při vašem obvyklém využití zbývá asi <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Při vašem obvyklém využití (<xliff:g id="LEVEL">%2$s</xliff:g>) zbývá asi <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Zbývá <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">"Při vašem obvyklém využití (<xliff:g id="LEVEL">%2$s</xliff:g>) vydrží asi do <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Při vašem obvyklém využití vydrží asi do <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Vydrží asi do <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-da/strings.xml b/packages/SettingsLib/res/values-da/strings.xml
index a870cf8..628df26 100644
--- a/packages/SettingsLib/res/values-da/strings.xml
+++ b/packages/SettingsLib/res/values-da/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Ca. <xliff:g id="TIME_REMAINING">%1$s</xliff:g> tilbage (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Ca. <xliff:g id="TIME_REMAINING">%1$s</xliff:g> tilbage, alt efter hvordan du bruger enheden"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Ca. <xliff:g id="TIME_REMAINING">%1$s</xliff:g> tilbage, alt efter hvordan du bruger enheden (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> tilbage"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Bør holde indtil ca. <xliff:g id="TIME">%1$s</xliff:g> baseret på dit forbrug (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Bør holde indtil ca. <xliff:g id="TIME">%1$s</xliff:g> baseret på dit forbrug"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Bør holde indtil ca. <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-de/strings.xml b/packages/SettingsLib/res/values-de/strings.xml
index bb420a6c..7b63f34 100644
--- a/packages/SettingsLib/res/values-de/strings.xml
+++ b/packages/SettingsLib/res/values-de/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Noch etwa <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Noch etwa <xliff:g id="TIME_REMAINING">%1$s</xliff:g>, basierend auf deiner Nutzung"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Noch etwa <xliff:g id="TIME_REMAINING">%1$s</xliff:g>, basierend auf deiner Nutzung (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Noch <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">"Sollte basierend auf deiner Nutzung etwa bis <xliff:g id="TIME">%1$s</xliff:g> reichen (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Sollte basierend auf deiner Nutzung etwa bis <xliff:g id="TIME">%1$s</xliff:g> reichen"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Sollte etwa bis <xliff:g id="TIME">%1$s</xliff:g> reichen (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-el/strings.xml b/packages/SettingsLib/res/values-el/strings.xml
index 22c1b26..7ddd3fc 100644
--- a/packages/SettingsLib/res/values-el/strings.xml
+++ b/packages/SettingsLib/res/values-el/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Απομένει/ουν περίπου <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Απομένει/ουν περίπου <xliff:g id="TIME_REMAINING">%1$s</xliff:g>, βάσει της χρήσης σας"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Απομένει/ουν περίπου <xliff:g id="TIME_REMAINING">%1$s</xliff:g>, βάσει της χρήσης σας (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Απομένει/ουν <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">"Θα διαρκέσει μέχρι τις <xliff:g id="TIME">%1$s</xliff:g> περίπου, ανάλογα με τη χρήση σας (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Θα διαρκέσει μέχρι τις <xliff:g id="TIME">%1$s</xliff:g> περίπου, ανάλογα με τη χρήση σας"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Θα διαρκέσει μέχρι τις <xliff:g id="TIME">%1$s</xliff:g> περίπου (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-en-rAU/strings.xml b/packages/SettingsLib/res/values-en-rAU/strings.xml
index d4f4e5e..47f31b4 100644
--- a/packages/SettingsLib/res/values-en-rAU/strings.xml
+++ b/packages/SettingsLib/res/values-en-rAU/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"About <xliff:g id="TIME_REMAINING">%1$s</xliff:g> left (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"About <xliff:g id="TIME_REMAINING">%1$s</xliff:g> left based on your usage"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"About <xliff:g id="TIME_REMAINING">%1$s</xliff:g> left based on your usage (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> left"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Should last until about <xliff:g id="TIME">%1$s</xliff:g> based on your usage (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Should last until about <xliff:g id="TIME">%1$s</xliff:g> based on your usage"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Should last until about <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-en-rCA/strings.xml b/packages/SettingsLib/res/values-en-rCA/strings.xml
index d4f4e5e..47f31b4 100644
--- a/packages/SettingsLib/res/values-en-rCA/strings.xml
+++ b/packages/SettingsLib/res/values-en-rCA/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"About <xliff:g id="TIME_REMAINING">%1$s</xliff:g> left (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"About <xliff:g id="TIME_REMAINING">%1$s</xliff:g> left based on your usage"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"About <xliff:g id="TIME_REMAINING">%1$s</xliff:g> left based on your usage (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> left"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Should last until about <xliff:g id="TIME">%1$s</xliff:g> based on your usage (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Should last until about <xliff:g id="TIME">%1$s</xliff:g> based on your usage"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Should last until about <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-en-rGB/strings.xml b/packages/SettingsLib/res/values-en-rGB/strings.xml
index d4f4e5e..47f31b4 100644
--- a/packages/SettingsLib/res/values-en-rGB/strings.xml
+++ b/packages/SettingsLib/res/values-en-rGB/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"About <xliff:g id="TIME_REMAINING">%1$s</xliff:g> left (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"About <xliff:g id="TIME_REMAINING">%1$s</xliff:g> left based on your usage"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"About <xliff:g id="TIME_REMAINING">%1$s</xliff:g> left based on your usage (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> left"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Should last until about <xliff:g id="TIME">%1$s</xliff:g> based on your usage (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Should last until about <xliff:g id="TIME">%1$s</xliff:g> based on your usage"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Should last until about <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-en-rIN/strings.xml b/packages/SettingsLib/res/values-en-rIN/strings.xml
index d4f4e5e..47f31b4 100644
--- a/packages/SettingsLib/res/values-en-rIN/strings.xml
+++ b/packages/SettingsLib/res/values-en-rIN/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"About <xliff:g id="TIME_REMAINING">%1$s</xliff:g> left (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"About <xliff:g id="TIME_REMAINING">%1$s</xliff:g> left based on your usage"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"About <xliff:g id="TIME_REMAINING">%1$s</xliff:g> left based on your usage (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> left"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Should last until about <xliff:g id="TIME">%1$s</xliff:g> based on your usage (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Should last until about <xliff:g id="TIME">%1$s</xliff:g> based on your usage"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Should last until about <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-en-rXC/strings.xml b/packages/SettingsLib/res/values-en-rXC/strings.xml
index 98b63ee..bb36101 100644
--- a/packages/SettingsLib/res/values-en-rXC/strings.xml
+++ b/packages/SettingsLib/res/values-en-rXC/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‏‏‏‎‏‎‏‏‎‎‏‎‏‏‎‏‎‏‎‎‏‎‏‎‏‎‏‎‏‎‏‎‏‎‎‎‏‏‎‏‎‎‎‎‎‎‏‏‏‏‏‏‏‏‎‏‎‏‎‎‎‏‎About ‎‏‎‎‏‏‎<xliff:g id="TIME_REMAINING">%1$s</xliff:g>‎‏‎‎‏‏‏‎ left (‎‏‎‎‏‏‎<xliff:g id="LEVEL">%2$s</xliff:g>‎‏‎‎‏‏‏‎)‎‏‎‎‏‎"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‏‎‏‎‎‎‏‎‎‎‏‏‎‏‏‎‏‏‎‎‏‎‏‏‎‏‎‎‎‏‎‎‎‎‎‎‎‎‏‏‏‏‎‎‎‎‏‏‏‏‏‏‏‎‎‏‎‎‎‎‎About ‎‏‎‎‏‏‎<xliff:g id="TIME_REMAINING">%1$s</xliff:g>‎‏‎‎‏‏‏‎ left based on your usage‎‏‎‎‏‎"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‎‏‏‏‎‏‎‎‏‎‏‎‎‎‎‎‏‎‎‎‏‏‎‏‎‎‏‎‏‎‏‎‏‏‏‎‏‎‏‏‎‎‎‎‏‏‏‎‎‏‎‏‏‏‏‎‎‎‎‎About ‎‏‎‎‏‏‎<xliff:g id="TIME_REMAINING">%1$s</xliff:g>‎‏‎‎‏‏‏‎ left based on your usage (‎‏‎‎‏‏‎<xliff:g id="LEVEL">%2$s</xliff:g>‎‏‎‎‏‏‏‎)‎‏‎‎‏‎"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‎‎‎‎‏‎‎‎‏‎‎‎‏‎‏‏‏‎‏‏‎‏‏‏‎‎‎‏‏‏‏‎‎‏‎‏‎‏‏‎‎‎‏‎‏‎‎‏‏‎‏‎‎‎‏‎‏‎‎‏‎‎‏‏‎<xliff:g id="TIME_REMAINING">%1$s</xliff:g>‎‏‎‎‏‏‏‎ left‎‏‎‎‏‎"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‎‏‎‎‎‏‎‏‎‏‏‏‎‏‏‎‏‎‏‎‎‏‎‏‎‏‎‏‏‎‎‎‏‎‎‏‏‏‏‎‏‎‎‎‏‏‎‏‎‏‏‎‎‏‎‎‎‎‎Should last until about ‎‏‎‎‏‏‎<xliff:g id="TIME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ based on your usage (‎‏‎‎‏‏‎<xliff:g id="LEVEL">%2$s</xliff:g>‎‏‎‎‏‏‏‎)‎‏‎‎‏‎"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‎‏‏‏‏‏‎‎‎‏‎‏‏‏‏‏‎‏‏‎‎‎‏‎‎‎‎‎‎‏‏‎‏‎‏‎‏‏‏‎‏‏‎‎‎‏‏‎‎‎‎‏‎‎‎‎‏‎‏‏‏‎‏‎Should last until about ‎‏‎‎‏‏‎<xliff:g id="TIME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ based on your usage‎‏‎‎‏‎"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‏‎‏‏‏‏‏‏‏‎‏‏‎‎‏‏‎‎‎‏‏‏‏‏‎‎‏‎‎‏‎‎‏‏‎‎‎‎‎‎‏‎‏‏‏‏‎‏‏‎‎‏‎‏‏‏‎‎‏‎‎‏‏‎‎‎‎‏‏‏‎‎Should last until about ‎‏‎‎‏‏‎<xliff:g id="TIME">%1$s</xliff:g>‎‏‎‎‏‏‏‎ (‎‏‎‎‏‏‎<xliff:g id="LEVEL">%2$s</xliff:g>‎‏‎‎‏‏‏‎)‎‏‎‎‏‎"</string>
diff --git a/packages/SettingsLib/res/values-es-rUS/strings.xml b/packages/SettingsLib/res/values-es-rUS/strings.xml
index e803abd..22d4748 100644
--- a/packages/SettingsLib/res/values-es-rUS/strings.xml
+++ b/packages/SettingsLib/res/values-es-rUS/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Tiempo restante: aproximadamente <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Tiempo restante: aproximadamente <xliff:g id="TIME_REMAINING">%1$s</xliff:g> en función de tu uso"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Tiempo restante: aproximadamente <xliff:g id="TIME_REMAINING">%1$s</xliff:g> en función de tu uso (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Tiempo restante: <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">"Duración aproximada hasta <xliff:g id="TIME">%1$s</xliff:g> según el uso (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Debería durar aproximadamente hasta <xliff:g id="TIME">%1$s</xliff:g> según el uso"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Duración aproximada hasta: <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-es/strings.xml b/packages/SettingsLib/res/values-es/strings.xml
index f336f1b..47b1dfa 100644
--- a/packages/SettingsLib/res/values-es/strings.xml
+++ b/packages/SettingsLib/res/values-es/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Tiempo restante aproximado: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Tiempo restante aproximado según tu uso: <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Tiempo restante aproximado según tu uso: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Tiempo restante: <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">"Debería durar aproximadamente hasta <xliff:g id="TIME">%1$s</xliff:g> según el uso (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Duración aproximada hasta: <xliff:g id="TIME">%1$s</xliff:g> (según el uso)"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Debería durar aproximadamente hasta <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-et/strings.xml b/packages/SettingsLib/res/values-et/strings.xml
index 14ac827..1a704e2 100644
--- a/packages/SettingsLib/res/values-et/strings.xml
+++ b/packages/SettingsLib/res/values-et/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Ligikaudu <xliff:g id="TIME_REMAINING">%1$s</xliff:g> jäänud (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Teie kasutuse põhjal on jäänud ligikaudu <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Teie kasutuse põhjal on jäänud ligikaudu <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Jäänud on <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">"Peaks teie kasutuse põhjal kestma kuni <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Peaks teie kasutuse põhjal kestma kuni <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Peaks kestma kuni <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-eu/strings.xml b/packages/SettingsLib/res/values-eu/strings.xml
index 04710c7..9e1af11 100644
--- a/packages/SettingsLib/res/values-eu/strings.xml
+++ b/packages/SettingsLib/res/values-eu/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> inguru gelditzen dira (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Erabilera kontuan izanda, <xliff:g id="TIME_REMAINING">%1$s</xliff:g> inguru gelditzen dira"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Erabilera kontuan izanda, <xliff:g id="TIME_REMAINING">%1$s</xliff:g> inguru gelditzen dira (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> gelditzen dira"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Erabileraren arabera, ordu honetara arte iraungo du, gutxi gorabehera: <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Erabileraren arabera, ordu honetara arte iraungo du, gutxi gorabehera: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Ordu honetara arte iraungo du, gutxi gorabehera: <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-fa/strings.xml b/packages/SettingsLib/res/values-fa/strings.xml
index 8f55092..087a7ff 100644
--- a/packages/SettingsLib/res/values-fa/strings.xml
+++ b/packages/SettingsLib/res/values-fa/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"تقریباً <xliff:g id="TIME_REMAINING">%1$s</xliff:g> شارژ باقی مانده است (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"براساس مصرفتان، تقریباً <xliff:g id="TIME_REMAINING">%1$s</xliff:g> شارژ باقی مانده است"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"براساس مصرفتان، تقریباً <xliff:g id="TIME_REMAINING">%1$s</xliff:g> شارژ باقی مانده است (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"با توجه به میزان مصرفتان (<xliff:g id="LEVEL">%2$s</xliff:g>)، باید حدوداً تا <xliff:g id="TIME">%1$s</xliff:g> شارژ داشته باشید"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"باتوجه به میزان مصرفتان، باید حدوداً تا <xliff:g id="TIME">%1$s</xliff:g> شارژ داشته باشید"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"باید حدوداً تا <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>) شارژ داشته باشید"</string>
diff --git a/packages/SettingsLib/res/values-fi/strings.xml b/packages/SettingsLib/res/values-fi/strings.xml
index 5802a03..ac1f8a5 100644
--- a/packages/SettingsLib/res/values-fi/strings.xml
+++ b/packages/SettingsLib/res/values-fi/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Noin <xliff:g id="TIME_REMAINING">%1$s</xliff:g> jäljellä (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Noin <xliff:g id="TIME_REMAINING">%1$s</xliff:g> jäljellä käyttösi perusteella"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Noin <xliff:g id="TIME_REMAINING">%1$s</xliff:g> jäljellä käyttösi perusteella (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> jäljellä"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Varaus loppuu käyttösi perusteella noin <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Varaus loppuu käyttösi perusteella noin <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Varaus loppuu noin <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-fr-rCA/strings.xml b/packages/SettingsLib/res/values-fr-rCA/strings.xml
index ec8d6b0..acbc028 100644
--- a/packages/SettingsLib/res/values-fr-rCA/strings.xml
+++ b/packages/SettingsLib/res/values-fr-rCA/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Il reste environ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Il reste environ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> en fonction de votre usage"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Il reste environ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> en fonction de votre usage (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Temps restant : <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 usage (<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 usage"</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>
diff --git a/packages/SettingsLib/res/values-fr/strings.xml b/packages/SettingsLib/res/values-fr/strings.xml
index 0b620d8..080074a 100644
--- a/packages/SettingsLib/res/values-fr/strings.xml
+++ b/packages/SettingsLib/res/values-fr/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Temps restant : environ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Temps restant en fonction de votre utilisation : environ <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <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>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Temps restant : <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" msgid="6453537733650125582">"Devrait durer jusqu\'à environ <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-gl/strings.xml b/packages/SettingsLib/res/values-gl/strings.xml
index b4d7fcb..26ee53d 100644
--- a/packages/SettingsLib/res/values-gl/strings.xml
+++ b/packages/SettingsLib/res/values-gl/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Tempo restante aproximado (<xliff:g id="LEVEL">%2$s</xliff:g>): <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Tempo restante aproximado en función do uso: <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Tempo restante aproximado en función do uso (<xliff:g id="LEVEL">%2$s</xliff:g>): <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Tempo restante: <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">"En función do uso, debería durar aproximadamente ata a seguinte hora: <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"En función do uso, debería durar aproximadamente ata a seguinte hora: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Debería durar aproximadamente ata a seguinte hora: <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-gu/strings.xml b/packages/SettingsLib/res/values-gu/strings.xml
index 36e04bb..937fc30 100644
--- a/packages/SettingsLib/res/values-gu/strings.xml
+++ b/packages/SettingsLib/res/values-gu/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"લગભગ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> બાકી છે (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"તમારા વપરાશના આધારે લગભગ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> બાકી છે"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"તમારા વપરાશના આધારે લગભગ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> બાકી છે (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"તમારા વપરાશના આધારે લગભગ <xliff:g id="TIME">%1$s</xliff:g> સુધી ચાલવી જોઈએ (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"તમારા વપરાશના આધારે લગભગ <xliff:g id="TIME">%1$s</xliff:g> સુધી ચાલવી જોઈએ"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"લગભગ <xliff:g id="TIME">%1$s</xliff:g> સુધી ચાલવી જોઈએ (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-hi/strings.xml b/packages/SettingsLib/res/values-hi/strings.xml
index 8b1ca93..0026d3e 100644
--- a/packages/SettingsLib/res/values-hi/strings.xml
+++ b/packages/SettingsLib/res/values-hi/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"बैटरी लगभग <xliff:g id="TIME_REMAINING">%1$s</xliff:g> में खत्म हो जाएगी (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"आपके इस्तेमाल के हिसाब से बैटरी लगभग <xliff:g id="TIME_REMAINING">%1$s</xliff:g> में खत्म हो जाएगी"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"आपके इस्तेमाल के हिसाब से बैटरी लगभग <xliff:g id="TIME_REMAINING">%1$s</xliff:g> में खत्म हो जाएगी (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"आपके इस्तेमाल के हिसाब से बैटरी लगभग <xliff:g id="TIME">%1$s</xliff:g> चलेगी (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"आपके इस्तेमाल के हिसाब से बैटरी लगभग <xliff:g id="TIME">%1$s</xliff:g> चलेगी"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"बैटरी लगभग <xliff:g id="TIME">%1$s</xliff:g> चलेगी (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-hr/strings.xml b/packages/SettingsLib/res/values-hr/strings.xml
index b4cbbdb..f06d01d 100644
--- a/packages/SettingsLib/res/values-hr/strings.xml
+++ b/packages/SettingsLib/res/values-hr/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Još otprilike <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Još otprilike <xliff:g id="TIME_REMAINING">%1$s</xliff:g> na temelju vaše upotrebe"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Još otprilike <xliff:g id="TIME_REMAINING">%1$s</xliff:g> na temelju vaše upotrebe (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Još <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">"Otprilike bi trebalo trajati do <xliff:g id="TIME">%1$s</xliff:g> na temelju vaše upotrebe (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Otprilike bi trebalo trajati do <xliff:g id="TIME">%1$s</xliff:g> na temelju vaše upotrebe"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Otprilike bi trebalo trajati do <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-hu/strings.xml b/packages/SettingsLib/res/values-hu/strings.xml
index 589eb59..92b4e20 100644
--- a/packages/SettingsLib/res/values-hu/strings.xml
+++ b/packages/SettingsLib/res/values-hu/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Körülbelül <xliff:g id="TIME_REMAINING">%1$s</xliff:g> maradt hátra (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Körülbelül <xliff:g id="TIME_REMAINING">%1$s</xliff:g> maradt hátra az eszköz használata alapján"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Körülbelül <xliff:g id="TIME_REMAINING">%1$s</xliff:g> maradt hátra az eszköz használata alapján (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> maradt hátra"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"A használat alapján nagyjából még ennyit bír: <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"A használat alapján nagyjából még ennyit bír: <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Nagyjából még ennyit bír: <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-hy/strings.xml b/packages/SettingsLib/res/values-hy/strings.xml
index ba62c84..b5e5cf5 100644
--- a/packages/SettingsLib/res/values-hy/strings.xml
+++ b/packages/SettingsLib/res/values-hy/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Լիցքը (<xliff:g id="LEVEL">%2$s</xliff:g>) կբավարարի մոտ <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Լիցքը կբավարարի մոտ <xliff:g id="TIME_REMAINING">%1$s</xliff:g>՝ կախված օգտագործման եղանակից"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Լիցքը (<xliff:g id="LEVEL">%2$s</xliff:g>) կբավարարի մոտ <xliff:g id="TIME_REMAINING">%1$s</xliff:g>՝ կախված օգտագործման եղանակից"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Լիցքը կբավարարի <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">"Լիցքը (<xliff:g id="LEVEL">%2$s</xliff:g>) պետք է, որ բավականացնի մոտ <xliff:g id="TIME">%1$s</xliff:g>՝ կախված օգտագործման եղանակից"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Լիցքը պետք է, որ բավականացնի մոտ <xliff:g id="TIME">%1$s</xliff:g>՝ կախված օգտագործման եղանակից"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Լիցքը (<xliff:g id="LEVEL">%2$s</xliff:g>) պետք է, որ բավականացնի մոտ <xliff:g id="TIME">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-in/strings.xml b/packages/SettingsLib/res/values-in/strings.xml
index c5d8f30..6bd2876 100644
--- a/packages/SettingsLib/res/values-in/strings.xml
+++ b/packages/SettingsLib/res/values-in/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Sekitar <xliff:g id="TIME_REMAINING">%1$s</xliff:g> lagi (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Sekitar <xliff:g id="TIME_REMAINING">%1$s</xliff:g> lagi berdasarkan penggunaan Anda"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Sekitar <xliff:g id="TIME_REMAINING">%1$s</xliff:g> lagi berdasarkan penggunaan Anda (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> lagi"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Akan bertahan kira-kira sampai <xliff:g id="TIME">%1$s</xliff:g> berdasarkan penggunaan Anda (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Akan bertahan kira-kira sampai <xliff:g id="TIME">%1$s</xliff:g> berdasarkan penggunaan Anda"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Akan bertahan kira-kira sampai <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-is/strings.xml b/packages/SettingsLib/res/values-is/strings.xml
index 58505f5..87006ac 100644
--- a/packages/SettingsLib/res/values-is/strings.xml
+++ b/packages/SettingsLib/res/values-is/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Um það bil <xliff:g id="TIME_REMAINING">%1$s</xliff:g> eftir (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Um það bil <xliff:g id="TIME_REMAINING">%1$s</xliff:g> eftir miðað við notkun þína"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Um það bil <xliff:g id="TIME_REMAINING">%1$s</xliff:g> eftir miðað við notkun þína (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> eftir"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Ætti að endast til u.þ.b. <xliff:g id="TIME">%1$s</xliff:g> miðað við notkun þína (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Ætti að endast til u.þ.b. <xliff:g id="TIME">%1$s</xliff:g> miðað við notkun þína"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Ætti að endast til u.þ.b. <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-it/strings.xml b/packages/SettingsLib/res/values-it/strings.xml
index 6d863aa..b00bada 100644
--- a/packages/SettingsLib/res/values-it/strings.xml
+++ b/packages/SettingsLib/res/values-it/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Tempo rimanente: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> circa (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Tempo rimanente in base al tuo utilizzo: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> circa"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Tempo rimanente in base al tuo utilizzo (<xliff:g id="LEVEL">%2$s</xliff:g>): <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Tempo rimanente: <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">"Tempo stimato rimanente in base al tuo utilizzo: <xliff:g id="TIME">%1$s</xliff:g> circa (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Tempo stimato rimanente in base al tuo utilizzo: <xliff:g id="TIME">%1$s</xliff:g> circa"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Tempo stimato rimanente: <xliff:g id="TIME">%1$s</xliff:g> circa (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-iw/strings.xml b/packages/SettingsLib/res/values-iw/strings.xml
index 89d6361..ae16ecb 100644
--- a/packages/SettingsLib/res/values-iw/strings.xml
+++ b/packages/SettingsLib/res/values-iw/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"הזמן הנותר: בערך <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"הזמן הנותר על סמך השימוש שלך: בערך <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"הזמן הנותר על סמך השימוש שלך: בערך <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"הזמן הנותר: <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">"אמורה להחזיק מעמד בערך עד <xliff:g id="TIME">%1$s</xliff:g> על סמך השימוש במכשיר (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"אמורה להחזיק מעמד בערך עד <xliff:g id="TIME">%1$s</xliff:g> על סמך השימוש במכשיר"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"אמורה להחזיק מעמד בערך עד <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-ja/strings.xml b/packages/SettingsLib/res/values-ja/strings.xml
index 233e8e8..cc7ff1e 100644
--- a/packages/SettingsLib/res/values-ja/strings.xml
+++ b/packages/SettingsLib/res/values-ja/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"残り時間: 約 <xliff:g id="TIME_REMAINING">%1$s</xliff:g>(<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"残り時間: 約 <xliff:g id="TIME_REMAINING">%1$s</xliff:g>(使用状況に基づく)"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"残り時間: 約 <xliff:g id="TIME_REMAINING">%1$s</xliff:g>(使用状況に基づく)(<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"残り時間: <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">"電池切れの推定時間: <xliff:g id="TIME">%1$s</xliff:g>(使用状況に基づく)(<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"電池切れの推定時間: <xliff:g id="TIME">%1$s</xliff:g>(使用状況に基づく)"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"電池切れの推定時間: <xliff:g id="TIME">%1$s</xliff:g>(<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-ka/strings.xml b/packages/SettingsLib/res/values-ka/strings.xml
index 09bea2a..c54fdfd 100644
--- a/packages/SettingsLib/res/values-ka/strings.xml
+++ b/packages/SettingsLib/res/values-ka/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"დარჩა დაახლოებით <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"დარჩა დაახლოებით <xliff:g id="TIME_REMAINING">%1$s</xliff:g>, ბატარეის მოხმარების გათვალისწინებით"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"დარჩა დაახლოებით <xliff:g id="TIME_REMAINING">%1$s</xliff:g>, ბატარეის მოხმარების გათვალისწინებით (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"დარჩენილია <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">"უნდა იმუშაოს დაახლოებით <xliff:g id="TIME">%1$s</xliff:g>, ოხმარების გათვალისწინებით (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"უნდა იმუშაოს დაახლოებით <xliff:g id="TIME">%1$s</xliff:g>, მოხმარების გათვალისწინებით"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"უნდა იმუშაოს დაახლოებით <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-kk/strings.xml b/packages/SettingsLib/res/values-kk/strings.xml
index 8670ec9..e2b40bb 100644
--- a/packages/SettingsLib/res/values-kk/strings.xml
+++ b/packages/SettingsLib/res/values-kk/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Шамамен <xliff:g id="TIME_REMAINING">%1$s</xliff:g> қалды (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Пайдалану деректеріңізге сәйкес енді шамамен <xliff:g id="TIME_REMAINING">%1$s</xliff:g> қалды"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Пайдалану деректеріңізге сәйкес енді шамамен <xliff:g id="TIME_REMAINING">%1$s</xliff:g> қалды (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"Пайдалануға байланысты шамамен <xliff:g id="TIME">%1$s</xliff:g> уақытқа жетеді (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Пайдалануға байланысты шамамен <xliff:g id="TIME">%1$s</xliff:g> уақытқа жетеді"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Шамамен <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>) уақытқа жетеді"</string>
diff --git a/packages/SettingsLib/res/values-km/strings.xml b/packages/SettingsLib/res/values-km/strings.xml
index 6bf8a0f..1654831 100644
--- a/packages/SettingsLib/res/values-km/strings.xml
+++ b/packages/SettingsLib/res/values-km/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"នៅសល់​ប្រហែល <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ទៀត (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"នៅសល់​ប្រហែល <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ទៀត ផ្អែក​លើការ​ប្រើប្រាស់​របស់អ្នក"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"នៅសល់​ប្រហែល <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ទៀត ផ្អែក​លើការ​ប្រើប្រាស់​របស់អ្នក (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"នៅសល់ <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">"គួរ​តែ​អាច​ប្រើបាន​រហូតដល់​ម៉ោងប្រហែល <xliff:g id="TIME">%1$s</xliff:g> ដោយផ្អែក​លើការ​ប្រើប្រាស់​របស់អ្នក (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"គួរ​តែ​អាច​ប្រើបាន​រហូតដល់​ម៉ោងប្រហែល <xliff:g id="TIME">%1$s</xliff:g> ដោយផ្អែក​លើការ​ប្រើប្រាស់​របស់អ្នក"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"គួរ​តែ​អាច​ប្រើបាន​រហូតដល់​ម៉ោងប្រហែល <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-kn/strings.xml b/packages/SettingsLib/res/values-kn/strings.xml
index 1e9a0d5..457a163 100644
--- a/packages/SettingsLib/res/values-kn/strings.xml
+++ b/packages/SettingsLib/res/values-kn/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"(<xliff:g id="LEVEL">%2$s</xliff:g>) ತಲುಪಲು <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ಸಮಯ ಬಾಕಿ ಉಳಿದಿದೆ"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"ನಿಮ್ಮ ಬಳಕೆಯ ಆಧಾರದ ಮೇಲೆ ಸುಮಾರು <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ಸಮಯ ಬಾಕಿ ಉಳಿದಿದೆ"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"ನಿಮ್ಮ ಬಳಕೆಯ (<xliff:g id="LEVEL">%2$s</xliff:g>) ಆಧಾರದ ಮೇಲೆ ಸುಮಾರು <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ಉಳಿದಿದೆ"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"ನಿಮ್ಮ ಬಳಕೆ (<xliff:g id="LEVEL">%2$s</xliff:g>) ಆಧರಿಸಿ <xliff:g id="TIME">%1$s</xliff:g> ಸಮಯದವರೆಗೆ ಫೋನ್‌ ರನ್‌ ಆಗಬೇಕು"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"ನಿಮ್ಮ ಬಳಕೆ ಆಧರಿಸಿ <xliff:g id="TIME">%1$s</xliff:g> ಸಮಯದವರೆಗೆ ಫೋನ್‌ ರನ್‌ ಆಗಬೇಕು"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"<xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>) ಸಮಯದವರೆಗೆ ಫೋನ್‌ ರನ್‌ ಆಗಬೇಕು"</string>
diff --git a/packages/SettingsLib/res/values-ko/strings.xml b/packages/SettingsLib/res/values-ko/strings.xml
index 877866c..d19b9f2 100644
--- a/packages/SettingsLib/res/values-ko/strings.xml
+++ b/packages/SettingsLib/res/values-ko/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"남은 시간 약 <xliff:g id="TIME_REMAINING">%1$s</xliff:g>(<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"내 사용량을 기준으로 약 <xliff:g id="TIME_REMAINING">%1$s</xliff:g> 남음"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"내 사용량(<xliff:g id="LEVEL">%2$s</xliff:g>)을 기준으로 약 <xliff:g id="TIME_REMAINING">%1$s</xliff:g> 남음"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"남은 시간: <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">"사용량(<xliff:g id="LEVEL">%2$s</xliff:g>)을 기준으로 약 <xliff:g id="TIME">%1$s</xliff:g>까지 사용 가능"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"사용량을 기준으로 약 <xliff:g id="TIME">%1$s</xliff:g>까지 사용 가능"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"약 <xliff:g id="TIME">%1$s</xliff:g>까지 사용 가능(<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-ky/strings.xml b/packages/SettingsLib/res/values-ky/strings.xml
index 9e4a9a8..9bc6d58 100644
--- a/packages/SettingsLib/res/values-ky/strings.xml
+++ b/packages/SettingsLib/res/values-ky/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Болжол менен <xliff:g id="TIME_REMAINING">%1$s</xliff:g> калды (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Колдонгонуңузга караганда болжол менен <xliff:g id="TIME_REMAINING">%1$s</xliff:g> калды"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Колдонгонуңузга караганда болжол менен <xliff:g id="TIME_REMAINING">%1$s</xliff:g> калды (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"Колдонгонуңузга караганда болжол менен <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>) кийин өчөт"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Колдонгонуңузга караганда болжол менен <xliff:g id="TIME">%1$s</xliff:g> кийин өчөт"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Болжол менен <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>) кийин өчөт"</string>
diff --git a/packages/SettingsLib/res/values-lo/strings.xml b/packages/SettingsLib/res/values-lo/strings.xml
index 7e6aaac..5c10aab 100644
--- a/packages/SettingsLib/res/values-lo/strings.xml
+++ b/packages/SettingsLib/res/values-lo/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"ເຫຼືອອີກປະມານ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"ເຫຼືອອີກປະມານ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ອ້າງອີງຈາກການນຳໃຊ້ຂອງທ່ານ"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"ເຫຼືອອີກປະມານ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ອ້າງອີງຈາກການນຳໃຊ້ຂອງທ່ານ (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"ເຫຼືອອີກ <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">"Should last until about <xliff:g id="TIME">%1$s</xliff:g> based on your usage (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Should last until about <xliff:g id="TIME">%1$s</xliff:g> based on your usage"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Should last until about <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-lt/strings.xml b/packages/SettingsLib/res/values-lt/strings.xml
index 71b8cf0..d437bc7 100644
--- a/packages/SettingsLib/res/values-lt/strings.xml
+++ b/packages/SettingsLib/res/values-lt/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Liko maždaug <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Liko maždaug <xliff:g id="TIME_REMAINING">%1$s</xliff:g>, atsižvelgiant į naudojimą"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Liko maždaug <xliff:g id="TIME_REMAINING">%1$s</xliff:g>, atsižvelgiant į naudojimą (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Liko <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">"Pagal tai, kaip naudojama, turėtų išsikrauti maždaug po <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Pagal tai, kaip naudojama, turėtų išsikrauti maždaug po <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Turėtų išsikrauti maždaug po <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-lv/strings.xml b/packages/SettingsLib/res/values-lv/strings.xml
index 82ec0ae..afa9127 100644
--- a/packages/SettingsLib/res/values-lv/strings.xml
+++ b/packages/SettingsLib/res/values-lv/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Aptuvenais atlikušais laiks: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Ņemot vērā lietojumu, atlikušais laiks: <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Ņemot vērā lietojumu, atlikušais laiks: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Atlikušais laiks: <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">"Ņemot vērā lietojumu (<xliff:g id="LEVEL">%2$s</xliff:g>), darbosies aptuveni līdz <xliff:g id="TIME">%1$s</xliff:g>."</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Ņemot vērā lietojumu, darbosies aptuveni līdz <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Darbosies aptuveni līdz <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-mk/strings.xml b/packages/SettingsLib/res/values-mk/strings.xml
index c99ef68..ebc4fda 100644
--- a/packages/SettingsLib/res/values-mk/strings.xml
+++ b/packages/SettingsLib/res/values-mk/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Уште околу <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Уште околу <xliff:g id="TIME_REMAINING">%1$s</xliff:g> според вашето користење"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Уште околу <xliff:g id="TIME_REMAINING">%1$s</xliff:g> според вашето користење (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Уште <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">"Треба да трае до околу <xliff:g id="TIME">%1$s</xliff:g> според вашето користење (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Треба да трае до околу <xliff:g id="TIME">%1$s</xliff:g> според вашето користење"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Треба да трае до околу <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-ml/strings.xml b/packages/SettingsLib/res/values-ml/strings.xml
index ae97fb2..f04bfcc 100644
--- a/packages/SettingsLib/res/values-ml/strings.xml
+++ b/packages/SettingsLib/res/values-ml/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"ഏതാണ്ട് <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ശേഷിക്കുന്നു (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"നിങ്ങളുടെ ഉപയോഗത്തെ അടിസ്ഥാനമാക്കി ഏതാണ്ട് <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ശേഷിക്കുന്നു"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"നിങ്ങളുടെ ഉപയോഗത്തെ അടിസ്ഥാനമാക്കി ഏതാണ്ട് <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ശേഷിക്കുന്നു (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"നിങ്ങളുടെ ഉപയോഗത്തെ അടിസ്ഥാനമാക്കി ഏകദേശം <xliff:g id="TIME">%1$s</xliff:g> വരെ നീണ്ടുനിൽക്കേണ്ടതാണ് (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"നിങ്ങളുടെ ഉപയോഗത്തെ അടിസ്ഥാനമാക്കി ഏകദേശം <xliff:g id="TIME">%1$s</xliff:g> വരെ നീണ്ടുനിൽക്കേണ്ടതാണ്"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"ഏകദേശം <xliff:g id="TIME">%1$s</xliff:g> വരെ നീണ്ടുനിൽക്കേണ്ടതാണ് (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-mn/strings.xml b/packages/SettingsLib/res/values-mn/strings.xml
index 10c1415..498b855 100644
--- a/packages/SettingsLib/res/values-mn/strings.xml
+++ b/packages/SettingsLib/res/values-mn/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Ойролцоогоор <xliff:g id="TIME_REMAINING">%1$s</xliff:g> үлдсэн (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Таны хэрэглээнд үндэслэн ойролцоогоор <xliff:g id="TIME_REMAINING">%1$s</xliff:g> үлдсэн"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Таны хэрэглээнд үндэслэн ойролцоогоор <xliff:g id="TIME_REMAINING">%1$s</xliff:g> үлдсэн (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"Таны хэрэглээнд (<xliff:g id="LEVEL">%2$s</xliff:g>) тулгуурлан ойролцоогоор <xliff:g id="TIME">%1$s</xliff:g> хүртэл барих ёстой"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Таны хэрэглээнд тулгуурлан ойролцоогоор <xliff:g id="TIME">%1$s</xliff:g> хүртэл барих ёстой"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Ойролцоогоор <xliff:g id="TIME">%1$s</xliff:g> хүртэл барих ёстой (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-mr/strings.xml b/packages/SettingsLib/res/values-mr/strings.xml
index 88de8f4..7729f21 100644
--- a/packages/SettingsLib/res/values-mr/strings.xml
+++ b/packages/SettingsLib/res/values-mr/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"अंदाजे <xliff:g id="TIME_REMAINING">%1$s</xliff:g> बाकी आहे (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"तुमच्‍या वापरावर आधारित अंदाजे <xliff:g id="TIME_REMAINING">%1$s</xliff:g> बाकी आहे"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"तुमच्‍या वापरावर आधारित अंदाजे <xliff:g id="TIME_REMAINING">%1$s</xliff:g> बाकी आहे (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"तुमच्या वापरावर अवलंबून सुमारे <xliff:g id="TIME">%1$s</xliff:g> पर्यंत टिकावी (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"तुमच्या वापरावर अवलंबून सुमारे <xliff:g id="TIME">%1$s</xliff:g> पर्यंत टिकावी"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"सुमारे <xliff:g id="TIME">%1$s</xliff:g> पर्यंत टिकेल (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-ms/strings.xml b/packages/SettingsLib/res/values-ms/strings.xml
index e98418d..236e30d 100644
--- a/packages/SettingsLib/res/values-ms/strings.xml
+++ b/packages/SettingsLib/res/values-ms/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Kira-kira <xliff:g id="TIME_REMAINING">%1$s</xliff:g> lagi (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Kira-kira <xliff:g id="TIME_REMAINING">%1$s</xliff:g> lagi berdasarkan penggunaan anda"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Kira-kira <xliff:g id="TIME_REMAINING">%1$s</xliff:g> lagi berdasarkan penggunaan anda (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> lagi"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Seharusnya boleh digunakan hingga kira-kira <xliff:g id="TIME">%1$s</xliff:g> berdasarkan penggunaan anda (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Seharusnya boleh digunakan hingga kira-kira <xliff:g id="TIME">%1$s</xliff:g> berdasarkan penggunaan anda"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Seharusnya boleh digunakan hingga kira-kira <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-my/strings.xml b/packages/SettingsLib/res/values-my/strings.xml
index ed2aae6..88eef56 100644
--- a/packages/SettingsLib/res/values-my/strings.xml
+++ b/packages/SettingsLib/res/values-my/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> ခန့် ကျန်သည် (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"သင်၏ အသုံးပြုမှု အပေါ် မူတည်၍ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ခန့် ကျန်သည်"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"သင်၏ အသုံးပြုမှု အပေါ် မူတည်၍ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ခန့် ကျန်သည် (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"သင်၏ အသုံးပြုမှုအပေါ် မူတည်၍ <xliff:g id="TIME">%1$s</xliff:g> ခန့်အထိ သုံးနိုင်သည် (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"သင်၏ အသုံးပြုမှုအပေါ် အခြေခံ၍ <xliff:g id="TIME">%1$s</xliff:g> ခန့်အထိ သုံးနိုင်သည်"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"<xliff:g id="TIME">%1$s</xliff:g> ခန့်အထိ သုံးနိုင်သည် (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-nb/strings.xml b/packages/SettingsLib/res/values-nb/strings.xml
index 93e53e5..259ed34 100644
--- a/packages/SettingsLib/res/values-nb/strings.xml
+++ b/packages/SettingsLib/res/values-nb/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Omtrent <xliff:g id="TIME_REMAINING">%1$s</xliff:g> gjenstår (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Omtrent <xliff:g id="TIME_REMAINING">%1$s</xliff:g> gjenstår basert på bruken din"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Omtrent <xliff:g id="TIME_REMAINING">%1$s</xliff:g> gjenstår basert på bruken din (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> gjenstår"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Skal vare til omtrent <xliff:g id="TIME">%1$s</xliff:g>, basert på bruken din (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Skal vare til omtrent <xliff:g id="TIME">%1$s</xliff:g>, basert på bruken din"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Skal vare til omtrent <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-ne/strings.xml b/packages/SettingsLib/res/values-ne/strings.xml
index ac15f1b..451691b 100644
--- a/packages/SettingsLib/res/values-ne/strings.xml
+++ b/packages/SettingsLib/res/values-ne/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"लगभग <xliff:g id="TIME_REMAINING">%1$s</xliff:g> बाँकी छ (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"तपाईंको प्रयोगको आधारमा लगभग <xliff:g id="TIME_REMAINING">%1$s</xliff:g> बाँकी छ"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"तपाईंको प्रयोगको आधारमा लगभग <xliff:g id="TIME_REMAINING">%1$s</xliff:g> बाँकी छ (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"तपाईंको प्रयोगका आधारमा लगभग <xliff:g id="TIME">%1$s</xliff:g> सम्म टिक्नु पर्छ (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"तपाईंको प्रयोगका आधारमा लगभग <xliff:g id="TIME">%1$s</xliff:g> सम्म टिक्नु पर्छ"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"ब्याट्री लगभग <xliff:g id="TIME">%1$s</xliff:g> सम्म टिक्नु पर्छ (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-nl/strings.xml b/packages/SettingsLib/res/values-nl/strings.xml
index 959c1ea..00c36de 100644
--- a/packages/SettingsLib/res/values-nl/strings.xml
+++ b/packages/SettingsLib/res/values-nl/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Ongeveer <xliff:g id="TIME_REMAINING">%1$s</xliff:g> resterend (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Ongeveer <xliff:g id="TIME_REMAINING">%1$s</xliff:g> resterend op basis van je gebruik"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Ongeveer <xliff:g id="TIME_REMAINING">%1$s</xliff:g> resterend op basis van je gebruik (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> resterend"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Is nog genoeg tot ongeveer <xliff:g id="TIME">%1$s</xliff:g> op basis van je gebruik (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Is nog genoeg tot ongeveer <xliff:g id="TIME">%1$s</xliff:g> op basis van je gebruik"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Is nog genoeg tot ongeveer <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-or/strings.xml b/packages/SettingsLib/res/values-or/strings.xml
index 847586e..b24b4a2 100644
--- a/packages/SettingsLib/res/values-or/strings.xml
+++ b/packages/SettingsLib/res/values-or/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"ପାଖାପାଖି <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ପାଇଁ (<xliff:g id="LEVEL">%2$s</xliff:g>) ବଳକା ଅଛି"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"ଆପଣଙ୍କ ବ୍ୟବହାରକୁ ଆଧାର କରି ପାଖାପାଖି <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ବଳକା ଅଛି"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"ଆପଣଙ୍କର ବ୍ୟବହାରକୁ ଆଧାର କରି (<xliff:g id="LEVEL">%2$s</xliff:g>) ପାଖାପାଖି <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ବଳକା ଅଛି"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"ଆପଣଙ୍କର ବ୍ୟବହାରକୁ ଆଧାର କରି ବ୍ୟାଟେରୀ <xliff:g id="TIME">%1$s</xliff:g> ପର୍ଯ୍ୟନ୍ତ ଚାଲିବ (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"ଆପଣଙ୍କର ବ୍ୟବହାରକୁ ଆଧାର କରି ବ୍ୟାଟେରୀ <xliff:g id="TIME">%1$s</xliff:g> ପର୍ଯ୍ୟନ୍ତ ଚାଲିବ"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"ବ୍ୟାଟେରୀ ପାଖାପାଖି <xliff:g id="TIME">%1$s</xliff:g> ଚାଲିବ (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-pa/strings.xml b/packages/SettingsLib/res/values-pa/strings.xml
index 0675b6b..21a7ab9 100644
--- a/packages/SettingsLib/res/values-pa/strings.xml
+++ b/packages/SettingsLib/res/values-pa/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"ਲਗਭਗ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ਬਾਕੀ (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"ਤੁਹਾਡੀ ਵਰਤੋਂ ਦੇ ਆਧਾਰ \'ਤੇ ਲਗਭਗ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ਬਾਕੀ"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"ਤੁਹਾਡੀ ਵਰਤੋਂ ਦੇ ਆਧਾਰ \'ਤੇ ਲਗਭਗ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ਬਾਕੀ (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"ਤੁਹਾਡੀ ਵਰਤੋਂ ਦੇ ਆਧਾਰ \'ਤੇ ਲਗਭਗ <xliff:g id="TIME">%1$s</xliff:g> ਚੱਲੇਗਾ (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"ਤੁਹਾਡੀ ਵਰਤੋਂ ਦੇ ਆਧਾਰ \'ਤੇ ਲਗਭਗ <xliff:g id="TIME">%1$s</xliff:g> ਚੱਲੇਗਾ"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"ਲਗਭਗ <xliff:g id="TIME">%1$s</xliff:g> ਚੱਲੇਗਾ (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-pl/strings.xml b/packages/SettingsLib/res/values-pl/strings.xml
index 505e395..e053514 100644
--- a/packages/SettingsLib/res/values-pl/strings.xml
+++ b/packages/SettingsLib/res/values-pl/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Jeszcze około <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Jeszcze około <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (na podstawie Twojego sposobu korzystania)"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Jeszcze około <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>) (na podstawie Twojego sposobu korzystania)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Jeszcze <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">"Na podstawie Twojego sposobu korzystania (<xliff:g id="LEVEL">%2$s</xliff:g>) jeszcze około <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Na podstawie Twojego sposobu korzystania jeszcze około <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Powinno wystarczyć do <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-pt-rBR/strings.xml b/packages/SettingsLib/res/values-pt-rBR/strings.xml
index c0f31a6..46b2f93 100644
--- a/packages/SettingsLib/res/values-pt-rBR/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rBR/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Tempo restante aproximado: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Tempo restante aproximado, com base no seu uso: <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Tempo restante aproximado, com base no seu uso: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Tempo restante: <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">"Deve durar até cerca de <xliff:g id="TIME">%1$s</xliff:g> com base no seu uso (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Deve durar até cerca de <xliff:g id="TIME">%1$s</xliff:g> com base no seu uso"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Deve durar até cerca de <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-pt-rPT/strings.xml b/packages/SettingsLib/res/values-pt-rPT/strings.xml
index 08c3cc8..dd7861d 100644
--- a/packages/SettingsLib/res/values-pt-rPT/strings.xml
+++ b/packages/SettingsLib/res/values-pt-rPT/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Resta(m) cerca de <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Resta(m) cerca de <xliff:g id="TIME_REMAINING">%1$s</xliff:g> com base na sua utilização"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Resta(m) cerca de <xliff:g id="TIME_REMAINING">%1$s</xliff:g> com base na sua utilização (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Resta(m) <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">"Deve durar até cerca da(s) <xliff:g id="TIME">%1$s</xliff:g> com base na sua utilização (<xliff:g id="LEVEL">%2$s</xliff:g>)."</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Deve durar até cerca da(s) <xliff:g id="TIME">%1$s</xliff:g> com base na sua utilização."</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Deve durar até cerca da(s) <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)."</string>
diff --git a/packages/SettingsLib/res/values-pt/strings.xml b/packages/SettingsLib/res/values-pt/strings.xml
index c0f31a6..46b2f93 100644
--- a/packages/SettingsLib/res/values-pt/strings.xml
+++ b/packages/SettingsLib/res/values-pt/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Tempo restante aproximado: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Tempo restante aproximado, com base no seu uso: <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Tempo restante aproximado, com base no seu uso: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Tempo restante: <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">"Deve durar até cerca de <xliff:g id="TIME">%1$s</xliff:g> com base no seu uso (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Deve durar até cerca de <xliff:g id="TIME">%1$s</xliff:g> com base no seu uso"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Deve durar até cerca de <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-ro/strings.xml b/packages/SettingsLib/res/values-ro/strings.xml
index 015eb92..3364ce5 100644
--- a/packages/SettingsLib/res/values-ro/strings.xml
+++ b/packages/SettingsLib/res/values-ro/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Timp aproximativ rămas: <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"În baza utilizării, timpul rămas este de aproximativ <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"În baza utilizării, timpul rămas este de aproximativ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Timp rămas: <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">"În baza utilizării, ar trebui să reziste până la aproximativ <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"În baza utilizării, ar trebui să reziste până la aproximativ <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Ar trebui să reziste până la <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-ru/strings.xml b/packages/SettingsLib/res/values-ru/strings.xml
index b0b592c..ffd477d 100644
--- a/packages/SettingsLib/res/values-ru/strings.xml
+++ b/packages/SettingsLib/res/values-ru/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Заряда (<xliff:g id="LEVEL">%2$s</xliff:g>) хватит примерно на <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Заряда хватит примерно на <xliff:g id="TIME_REMAINING">%1$s</xliff:g> при текущем уровне расхода"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Заряда (<xliff:g id="LEVEL">%2$s</xliff:g>) хватит примерно на <xliff:g id="TIME_REMAINING">%1$s</xliff:g> при текущем уровне расхода"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Заряда хватит на <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">"При текущем уровне использования (<xliff:g id="LEVEL">%2$s</xliff:g>) заряда хватит примерно до <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"При текущем уровне использования заряда хватит примерно до <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Заряда (<xliff:g id="LEVEL">%2$s</xliff:g>) хватит примерно до <xliff:g id="TIME">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-si/strings.xml b/packages/SettingsLib/res/values-si/strings.xml
index ca7a962..f3372b3 100644
--- a/packages/SettingsLib/res/values-si/strings.xml
+++ b/packages/SettingsLib/res/values-si/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> ක් පමණ ඉතිරියි (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"ඔබේ භාවිතය මත පදනම්ව <xliff:g id="TIME_REMAINING">%1$s</xliff:g> පමණ ඉතිරිව ඇත"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"ඔබේ භාවිතය මත පදනම්ව <xliff:g id="TIME_REMAINING">%1$s</xliff:g> පමණ ඉතිරිව ඇත (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"<xliff:g id="TIME">%1$s</xliff:g> පමණ වන තෙක් (<xliff:g id="LEVEL">%2$s</xliff:g>) ඔබේ භාවිතය මත පදනම්ව තිබිය යුුතුය"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"ඔබේ භාවිතය මත පදනම්ව <xliff:g id="TIME">%1$s</xliff:g> පමන වන තෙක් තිබිය යුතුය"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"<xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>) පමණ වන තෙක් තිබිය යුතුය"</string>
diff --git a/packages/SettingsLib/res/values-sk/strings.xml b/packages/SettingsLib/res/values-sk/strings.xml
index dd7efdd..5451a0b 100644
--- a/packages/SettingsLib/res/values-sk/strings.xml
+++ b/packages/SettingsLib/res/values-sk/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Zostáva približne <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Zostáva približne <xliff:g id="TIME_REMAINING">%1$s</xliff:g> – závisí to od intenzity využitia"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Zostáva približne <xliff:g id="TIME_REMAINING">%1$s</xliff:g> – závisí to od intenzity využitia (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Zostáva <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">"Mal by vydržať približne do <xliff:g id="TIME">%1$s</xliff:g> v závislosti od využitia (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Mal by vydržať približne do <xliff:g id="TIME">%1$s</xliff:g> v závislosti od využitia"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Mal by vydržať približne <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-sl/strings.xml b/packages/SettingsLib/res/values-sl/strings.xml
index fada686..57265ca 100644
--- a/packages/SettingsLib/res/values-sl/strings.xml
+++ b/packages/SettingsLib/res/values-sl/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Še približno <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Glede na način uporabe še približno <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Glede na način uporabe še približno <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Še <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">"Naprava bi morala glede na način uporabe (<xliff:g id="LEVEL">%2$s</xliff:g>) delovati do približno <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Naprava bi morala glede na način uporabe delovati do približno <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Naprava bi morala delovati do približno <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-sq/strings.xml b/packages/SettingsLib/res/values-sq/strings.xml
index 2132767..231cc1e 100644
--- a/packages/SettingsLib/res/values-sq/strings.xml
+++ b/packages/SettingsLib/res/values-sq/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Rreth <xliff:g id="TIME_REMAINING">%1$s</xliff:g> të mbetura (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Rreth <xliff:g id="TIME_REMAINING">%1$s</xliff:g> të mbetura bazuar në përdorimin tënd"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Rreth <xliff:g id="TIME_REMAINING">%1$s</xliff:g> të mbetura bazuar në përdorimin tënd (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> të mbetura"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Duhet të zgjasë deri në rreth <xliff:g id="TIME">%1$s</xliff:g> bazuar në përdorimin tënd (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Duhet të zgjasë deri në rreth <xliff:g id="TIME">%1$s</xliff:g> bazuar në përdorimin tënd"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Duhet të zgjasë deri në rreth <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-sr/strings.xml b/packages/SettingsLib/res/values-sr/strings.xml
index 6cf4b20..42900f7 100644
--- a/packages/SettingsLib/res/values-sr/strings.xml
+++ b/packages/SettingsLib/res/values-sr/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Преостало је око <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Преостало је око <xliff:g id="TIME_REMAINING">%1$s</xliff:g> на основу коришћења"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Преостало је око <xliff:g id="TIME_REMAINING">%1$s</xliff:g> на основу коришћења (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Још <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">"Трајаће приближно до <xliff:g id="TIME">%1$s</xliff:g> на основу коришћења (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Трајаће приближно до <xliff:g id="TIME">%1$s</xliff:g> на основу коришћења"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Трајаће приближно до <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-sv/strings.xml b/packages/SettingsLib/res/values-sv/strings.xml
index f2950dc..cc5b76b 100644
--- a/packages/SettingsLib/res/values-sv/strings.xml
+++ b/packages/SettingsLib/res/values-sv/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Cirka <xliff:g id="TIME_REMAINING">%1$s</xliff:g> kvar (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Cirka <xliff:g id="TIME_REMAINING">%1$s</xliff:g> kvar utifrån din användning"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Cirka <xliff:g id="TIME_REMAINING">%1$s</xliff:g> kvar utifrån din användning (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> kvar"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Bör räcka ungefär till klockan <xliff:g id="TIME">%1$s</xliff:g> utifrån din användning (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Bör räcka ungefär till klockan <xliff:g id="TIME">%1$s</xliff:g> utifrån din användning"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Bör räcka ungefär till klockan <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-sw/strings.xml b/packages/SettingsLib/res/values-sw/strings.xml
index d8a74a1..ebe1501 100644
--- a/packages/SettingsLib/res/values-sw/strings.xml
+++ b/packages/SettingsLib/res/values-sw/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Zimesalia takribani <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Zimesalia takribani <xliff:g id="TIME_REMAINING">%1$s</xliff:g> kulingana na jinsi unavyoitumia"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Zimesalia takribani <xliff:g id="TIME_REMAINING">%1$s</xliff:g> kulingana na jinsi unavyoitumia (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Zimesalia <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">"Inapaswa kudumu kwa takribani <xliff:g id="TIME">%1$s</xliff:g> kulingana na jinsi unavyoitumia (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Inapaswa kudumu hadi <xliff:g id="TIME">%1$s</xliff:g> kulingana na jinsi unavyoitumia"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Inapaswa kudumu kwa takribani <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-ta/strings.xml b/packages/SettingsLib/res/values-ta/strings.xml
index 3cf43c8..951bf99 100644
--- a/packages/SettingsLib/res/values-ta/strings.xml
+++ b/packages/SettingsLib/res/values-ta/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"கிட்டத்தட்ட <xliff:g id="TIME_REMAINING">%1$s</xliff:g> மீதமுள்ளது (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"உபயோகத்தின் அடிப்படையில் கிட்டத்தட்ட <xliff:g id="TIME_REMAINING">%1$s</xliff:g> மீதமுள்ளது"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"உபயோகத்தின் அடிப்படையில் கிட்டத்தட்ட <xliff:g id="TIME_REMAINING">%1$s</xliff:g> மீதமுள்ளது (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"நீங்கள் பயன்படுத்துவதன் அடிப்படையில், <xliff:g id="TIME">%1$s</xliff:g> வரை உபயோகிக்க முடியும் (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"நீங்கள் பயன்படுத்துவதன் அடிப்படையில் <xliff:g id="TIME">%1$s</xliff:g> வரை உபயோகிக்க முடியும்"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"<xliff:g id="TIME">%1$s</xliff:g> வரை பயன்படுத்த முடியும் (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-te/strings.xml b/packages/SettingsLib/res/values-te/strings.xml
index e4dd85f..f7b98d1 100644
--- a/packages/SettingsLib/res/values-te/strings.xml
+++ b/packages/SettingsLib/res/values-te/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"దాదాపు <xliff:g id="TIME_REMAINING">%1$s</xliff:g> సమయం మిగిలి ఉంది (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"మీ వినియోగం ఆధారంగా దాదాపు <xliff:g id="TIME_REMAINING">%1$s</xliff:g> సమయం మిగిలి ఉంది"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"మీ వినియోగం ఆధారంగా దాదాపు <xliff:g id="TIME_REMAINING">%1$s</xliff:g> సమయం మిగిలి ఉంది (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"మీ వినియోగం ఆధారంగా <xliff:g id="TIME">%1$s</xliff:g> వరకు ఉండాలి (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"మీ వినియోగం ఆధారంగా దాదాపు <xliff:g id="TIME">%1$s</xliff:g> వరకు ఉండాలి"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"దాదాపు <xliff:g id="TIME">%1$s</xliff:g> వరకు ఉండాలి (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-th/strings.xml b/packages/SettingsLib/res/values-th/strings.xml
index cf8362f..7d161bb 100644
--- a/packages/SettingsLib/res/values-th/strings.xml
+++ b/packages/SettingsLib/res/values-th/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"เหลืออีกประมาณ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"เหลืออีกประมาณ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ขึ้นอยู่กับการใช้งานของคุณ"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"เหลืออีกประมาณ <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ขึ้นอยู่กับการใช้งานของคุณ (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"เหลืออีก <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">"น่าจะใช้งานได้ถึงเวลาประมาณ <xliff:g id="TIME">%1$s</xliff:g> เมื่อดูจากการใช้งานของคุณ (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"น่าจะใช้งานได้ถึงเวลาประมาณ <xliff:g id="TIME">%1$s</xliff:g> เมื่อดูจากการใช้งานของคุณ"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"น่าจะใช้งานได้ถึงเวลาประมาณ <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-tl/strings.xml b/packages/SettingsLib/res/values-tl/strings.xml
index e690800..e9a2a6f 100644
--- a/packages/SettingsLib/res/values-tl/strings.xml
+++ b/packages/SettingsLib/res/values-tl/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Humigit-kumulang <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ang natitira (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Humigit-kumulang <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ang natitira batay sa iyong paggamit"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Humigit-kumulang <xliff:g id="TIME_REMAINING">%1$s</xliff:g> ang natitira batay sa iyong paggamit (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> ang natitira"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Tatagal dapat nang hanggang humigit-kumulang <xliff:g id="TIME">%1$s</xliff:g> batay sa iyong paggamit (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Tatagal dapat nang hanggang humigit-kumulang <xliff:g id="TIME">%1$s</xliff:g> batay sa iyong paggamit"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Tatagal dapat nang hanggang humigit-kumulang <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-tr/strings.xml b/packages/SettingsLib/res/values-tr/strings.xml
index ea340e8..73f1c40 100644
--- a/packages/SettingsLib/res/values-tr/strings.xml
+++ b/packages/SettingsLib/res/values-tr/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Yaklaşık <xliff:g id="TIME_REMAINING">%1$s</xliff:g> kaldı (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Kullanımınıza dayalı olarak yaklaşık <xliff:g id="TIME_REMAINING">%1$s</xliff:g> kaldı"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Kullanımınıza dayalı olarak yaklaşık <xliff:g id="TIME_REMAINING">%1$s</xliff:g> kaldı (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> kaldı"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Kullanımınıza göre saat yaklaşık <xliff:g id="TIME">%1$s</xliff:g> olana kadar kullanılabilmelidir (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Kullanımınıza göre saat yaklaşık <xliff:g id="TIME">%1$s</xliff:g> olana kadar kullanılabilmelidir"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Saat yaklaşık <xliff:g id="TIME">%1$s</xliff:g> olana kadar kullanılabilmelidir (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-uk/strings.xml b/packages/SettingsLib/res/values-uk/strings.xml
index cf90ed1..41d6883 100644
--- a/packages/SettingsLib/res/values-uk/strings.xml
+++ b/packages/SettingsLib/res/values-uk/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Залишилося приблизно <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Згідно з даними про використання залишилося приблизно <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Згідно з даними про використання залишилося приблизно <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Залишилося <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">"На основі даних про використання (<xliff:g id="LEVEL">%2$s</xliff:g>), вистачить приблизно до <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"На основі даних про використання, вистачить приблизно до <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Вистачить приблизно до <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-ur/strings.xml b/packages/SettingsLib/res/values-ur/strings.xml
index c223629..0478a76 100644
--- a/packages/SettingsLib/res/values-ur/strings.xml
+++ b/packages/SettingsLib/res/values-ur/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"تقریباً <xliff:g id="TIME_REMAINING">%1$s</xliff:g> باقی ہے (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"آپ کے استعمال کی بنیاد پر تقریباً <xliff:g id="TIME_REMAINING">%1$s</xliff:g> باقی ہے"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"آپ کے استعمال کی بنیاد پر تقریباً <xliff:g id="TIME_REMAINING">%1$s</xliff:g> باقی ہے (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<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">"آپ کے استعمال کی بنیاد پر تقریباً <xliff:g id="TIME">%1$s</xliff:g> تک بیٹری چلے گی (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"آپ کے استعمال کی بنیاد پر تقریباً <xliff:g id="TIME">%1$s</xliff:g> تک بیٹری چلے گی"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"تقریباً <xliff:g id="TIME">%1$s</xliff:g> تک بیٹری چلے گی (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-uz/strings.xml b/packages/SettingsLib/res/values-uz/strings.xml
index 2851baf..d4eb44b 100644
--- a/packages/SettingsLib/res/values-uz/strings.xml
+++ b/packages/SettingsLib/res/values-uz/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Taxminan <xliff:g id="TIME_REMAINING">%1$s</xliff:g> qoldi (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Joriy holatda taxminan <xliff:g id="TIME_REMAINING">%1$s</xliff:g> qoldi"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Joriy holatda taxminan <xliff:g id="TIME_REMAINING">%1$s</xliff:g> qoldi (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> qoldi"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Joriy holatda taxminan <xliff:g id="TIME">%1$s</xliff:g> gacha davom etadi (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Joriy holatda taxminan <xliff:g id="TIME">%1$s</xliff:g> gacha davom etadi"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Taxminan <xliff:g id="TIME">%1$s</xliff:g> gacha davom etadi (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-vi/strings.xml b/packages/SettingsLib/res/values-vi/strings.xml
index 3fb101e..050ee9c 100644
--- a/packages/SettingsLib/res/values-vi/strings.xml
+++ b/packages/SettingsLib/res/values-vi/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Còn khoảng <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Còn khoảng <xliff:g id="TIME_REMAINING">%1$s</xliff:g> dựa trên mức sử dụng của bạn"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Còn khoảng <xliff:g id="TIME_REMAINING">%1$s</xliff:g> dựa trên mức sử dụng của bạn (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"Còn <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">"Sẽ hết pin cho tới khoảng <xliff:g id="TIME">%1$s</xliff:g> dựa trên mức sử dụng của bạn (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Sẽ hết pin cho tới khoảng <xliff:g id="TIME">%1$s</xliff:g> dựa trên mức sử dụng của bạn"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Sẽ hết pin cho tới khoảng <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-zh-rCN/strings.xml b/packages/SettingsLib/res/values-zh-rCN/strings.xml
index 0a318d7..e25e4dc 100644
--- a/packages/SettingsLib/res/values-zh-rCN/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rCN/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"大约还可使用 <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"根据您的使用情况,大约还可使用 <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"根据您的使用情况,大约还可使用 <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"还可使用 <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">"根据您的使用情况,估计能用到<xliff:g id="TIME">%1$s</xliff:g>(目前电量为 <xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"根据您的使用情况,估计能用到<xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"目前电量为 <xliff:g id="LEVEL">%2$s</xliff:g>,估计能用到<xliff:g id="TIME">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-zh-rHK/strings.xml b/packages/SettingsLib/res/values-zh-rHK/strings.xml
index 06bee94..3e357b1 100644
--- a/packages/SettingsLib/res/values-zh-rHK/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rHK/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"還有大約 <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"根據您的使用情況,還有大約 <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"根據您的使用情況,還有大約 <xliff:g id="TIME_REMAINING">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"還有 <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">"根據您的使用情況 (<xliff:g id="LEVEL">%2$s</xliff:g>),電量剩餘約 <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"根據您的使用情況,電量剩餘約 <xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"電量剩餘約 <xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values-zh-rTW/strings.xml b/packages/SettingsLib/res/values-zh-rTW/strings.xml
index a5074d9..60330ef 100644
--- a/packages/SettingsLib/res/values-zh-rTW/strings.xml
+++ b/packages/SettingsLib/res/values-zh-rTW/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"目前電量為 <xliff:g id="LEVEL">%2$s</xliff:g>,還能使用約 <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"根據你的使用情形,還能使用約 <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"根據你的使用情形,目前電量為 <xliff:g id="LEVEL">%2$s</xliff:g>,還能使用約 <xliff:g id="TIME_REMAINING">%1$s</xliff:g>"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"還能使用 <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">"根據你的使用情形,目前電量為 <xliff:g id="LEVEL">%2$s</xliff:g>,預估可持續使用到<xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"根據你的使用情形,預估可持續使用到<xliff:g id="TIME">%1$s</xliff:g>"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"目前電量 <xliff:g id="LEVEL">%2$s</xliff:g>,預估還能持續使用到<xliff:g id="TIME">%1$s</xliff:g>"</string>
diff --git a/packages/SettingsLib/res/values-zu/strings.xml b/packages/SettingsLib/res/values-zu/strings.xml
index 5892093..a1be06c 100644
--- a/packages/SettingsLib/res/values-zu/strings.xml
+++ b/packages/SettingsLib/res/values-zu/strings.xml
@@ -377,7 +377,8 @@
     <string name="power_discharging_duration" msgid="8848256785736335185">"Cishe u-<xliff:g id="TIME_REMAINING">%1$s</xliff:g> osele (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_remaining_duration_only_enhanced" msgid="4189311599812296592">"Cishe u-<xliff:g id="TIME_REMAINING">%1$s</xliff:g> osele ngokususelwe ekusebenziseni wakho"</string>
     <string name="power_discharging_duration_enhanced" msgid="1992003260664804080">"Cishe u-<xliff:g id="TIME_REMAINING">%1$s</xliff:g> osele ngokususelwe ekusebenziseni kwakho (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
-    <string name="power_remaining_duration_only_short" msgid="3463575350656389957">"<xliff:g id="TIME_REMAINING">%1$s</xliff:g> esele"</string>
+    <!-- no translation found for power_remaining_duration_only_short (9183070574408359726) -->
+    <skip />
     <string name="power_discharge_by_enhanced" msgid="2095821536747992464">"Kumele ihlale cishe kube ngu-<xliff:g id="TIME">%1$s</xliff:g> kusukela ekusetshenzisweni kwakho (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
     <string name="power_discharge_by_only_enhanced" msgid="2175151772952365149">"Kumele ihlale cishe kube ngu-<xliff:g id="TIME">%1$s</xliff:g> kusukela ekusetshenzisweni kwakho"</string>
     <string name="power_discharge_by" msgid="6453537733650125582">"Kumele ihlale cishe kube ngu-<xliff:g id="TIME">%1$s</xliff:g> (<xliff:g id="LEVEL">%2$s</xliff:g>)"</string>
diff --git a/packages/SettingsLib/res/values/strings.xml b/packages/SettingsLib/res/values/strings.xml
index f5d58d8..bf97d77 100644
--- a/packages/SettingsLib/res/values/strings.xml
+++ b/packages/SettingsLib/res/values/strings.xml
@@ -937,8 +937,8 @@
     <string name="power_remaining_duration_only_enhanced">About <xliff:g id="time_remaining">%1$s</xliff:g> left based on your usage</string>
     <!-- [CHAR_LIMIT=60] Label for battery level chart when discharging with duration and using enhanced estimate -->
     <string name="power_discharging_duration_enhanced">About <xliff:g id="time_remaining">%1$s</xliff:g> left based on your usage (<xliff:g id="level">%2$s</xliff:g>)</string>
-    <!-- [CHAR_LIMIT=40] Short label for estimated remaining duration of battery charging/discharging -->
-    <string name="power_remaining_duration_only_short"><xliff:g id="time_remaining">%1$s</xliff:g> left</string>
+    <!-- [CHAR_LIMIT=20] Short label for estimated remaining duration of battery charging/discharging -->
+    <string name="power_remaining_duration_only_short"><xliff:g id="time_remaining">%1$s</xliff:g></string>
 
     <!-- [CHAR_LIMIT=100] Label for enhanced estimated time that phone will run out of battery -->
     <string name="power_discharge_by_enhanced">Should last until about <xliff:g id="time">%1$s</xliff:g> based on your usage (<xliff:g id="level">%2$s</xliff:g>)</string>
@@ -948,8 +948,10 @@
     <string name="power_discharge_by">Should last until about <xliff:g id="time">%1$s</xliff:g> (<xliff:g id="level">%2$s</xliff:g>)</string>
     <!-- [CHAR_LIMIT=100] Label for estimated time that phone will run out of battery -->
     <string name="power_discharge_by_only">Should last until about <xliff:g id="time">%1$s</xliff:g></string>
-    <!-- [CHAR_LIMIT=100] Label for estimated time that phone will run out of battery -->
+    <!-- [CHAR_LIMIT=20] Label for estimated time that phone will run out of battery -->
     <string name="power_discharge_by_only_short">Until <xliff:g id="time" example="12 PM">%1$s</xliff:g></string>
+    <!-- [CHAR_LIMIT=100] Extend the battery life past a certain time -->
+    <string name="power_suggestion_extend_battery">Extend battery life past <xliff:g id="time" example="12 PM">%1$s</xliff:g></string>
 
     <!-- [CHAR_LIMIT=60] label for estimated remaining duration of battery when under a certain amount -->
     <string name="power_remaining_less_than_duration_only">Less than <xliff:g id="threshold">%1$s</xliff:g> remaining</string>
@@ -1151,6 +1153,6 @@
     <!-- The notice header of Third-party licenses. not translatable -->
     <string name="notice_header" translatable="false"></string>
 
-    <!-- Name of the phone device [CHAR LIMIT=NONE] -->
-    <string name="media_transfer_phone_device_name">Phone speaker</string>
+    <!-- Name of the this device. [CHAR LIMIT=30] -->
+    <string name="media_transfer_this_device_name">This device</string>
 </resources>
diff --git a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java
index c9fbc7b..d4d0519 100644
--- a/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java
+++ b/packages/SettingsLib/src/com/android/settingslib/applications/ApplicationsState.java
@@ -128,12 +128,12 @@
     // to protect access to these.
     final ArrayList<Session> mSessions = new ArrayList<Session>();
     final ArrayList<Session> mRebuildingSessions = new ArrayList<Session>();
-    final InterestingConfigChanges mInterestingConfigChanges = new InterestingConfigChanges();
+    private InterestingConfigChanges mInterestingConfigChanges = new InterestingConfigChanges();
     // Map: userid => (Map: package name => AppEntry)
     final SparseArray<HashMap<String, AppEntry>> mEntriesMap =
             new SparseArray<HashMap<String, AppEntry>>();
     final ArrayList<AppEntry> mAppEntries = new ArrayList<AppEntry>();
-    List<ApplicationInfo> mApplications = new ArrayList<ApplicationInfo>();
+    List<ApplicationInfo> mApplications = new ArrayList<>();
     long mCurId = 1;
     UUID mCurComputingSizeUuid;
     String mCurComputingSizePkg;
@@ -166,7 +166,7 @@
     /**
      * Flags to configure the session to request various types of info.
      */
-    @IntDef(prefix = { "FLAG_SESSION_" }, value = {
+    @IntDef(prefix = {"FLAG_SESSION_"}, value = {
             FLAG_SESSION_REQUEST_HOME_APP,
             FLAG_SESSION_REQUEST_ICONS,
             FLAG_SESSION_REQUEST_SIZES,
@@ -174,7 +174,13 @@
             FLAG_SESSION_REQUEST_LEANBACK_LAUNCHER
     })
     @Retention(RetentionPolicy.SOURCE)
-    public @interface SessionFlags {}
+    public @interface SessionFlags {
+    }
+
+    @VisibleForTesting
+    void setInterestingConfigChanges(InterestingConfigChanges interestingConfigChanges) {
+        mInterestingConfigChanges = interestingConfigChanges;
+    }
 
     public static final @SessionFlags int DEFAULT_SESSION_FLAGS =
             FLAG_SESSION_REQUEST_HOME_APP | FLAG_SESSION_REQUEST_ICONS |
@@ -190,6 +196,7 @@
         for (int userId : mUm.getProfileIdsWithDisabled(UserHandle.myUserId())) {
             mEntriesMap.put(userId, new HashMap<String, AppEntry>());
         }
+
         mThread = new HandlerThread("ApplicationsState.Loader",
                 Process.THREAD_PRIORITY_BACKGROUND);
         mThread.start();
@@ -256,12 +263,14 @@
             mPackageIntentReceiver = new PackageIntentReceiver();
             mPackageIntentReceiver.registerReceiver();
         }
-        mApplications = new ArrayList<ApplicationInfo>();
+
+        final List<ApplicationInfo> prevApplications = mApplications;
+        mApplications = new ArrayList<>();
         for (UserInfo user : mUm.getProfiles(UserHandle.myUserId())) {
             try {
                 // If this user is new, it needs a map created.
                 if (mEntriesMap.indexOfKey(user.id) < 0) {
-                    mEntriesMap.put(user.id, new HashMap<String, AppEntry>());
+                    mEntriesMap.put(user.id, new HashMap<>());
                 }
                 @SuppressWarnings("unchecked")
                 ParceledListSlice<ApplicationInfo> list =
@@ -279,14 +288,14 @@
             // should completely reload the app entries.
             clearEntries();
         } else {
-            for (int i=0; i<mAppEntries.size(); i++) {
+            for (int i = 0; i < mAppEntries.size(); i++) {
                 mAppEntries.get(i).sizeStale = true;
             }
         }
 
         mHaveDisabledApps = false;
         mHaveInstantApps = false;
-        for (int i=0; i<mApplications.size(); i++) {
+        for (int i = 0; i < mApplications.size(); i++) {
             final ApplicationInfo info = mApplications.get(i);
             // Need to trim out any applications that are disabled by
             // something different than the user.
@@ -312,8 +321,9 @@
                 entry.info = info;
             }
         }
-        if (mAppEntries.size() > mApplications.size()) {
-            // There are less apps now, some must have been uninstalled.
+
+        if (anyAppIsRemoved(prevApplications, mApplications)) {
+            // some apps have been uninstalled.
             clearEntries();
         }
         mCurComputingSizePkg = null;
@@ -322,6 +332,82 @@
         }
     }
 
+    /* The original design is mAppEntries.size() > mApplications.size().
+       It's correct if there is only the owner user and only one app is removed.
+       Problem 1:
+       If there is a user profile, the size of mAppEntries < mApplications is normal because
+       the number of app entries on UI (mAppEntries) should be equal to the number of apps got
+       from PMS (mApplications).
+
+       owner only case:
+       mApplications: user 0: 191
+       mAppEntries  : user 0: 191
+       total mAppEntries: 191, mApplications: 191
+       If an app is removed, cached mAppEntries: 191 , mApplications: 191 -> 190, it is detected
+       as the number of apps becomes less.
+
+       If there is a work profile, mAppEntries removes some apps that are not installed for the
+       owner user.
+
+       For example, in the following case, 6 apps are removed from mAppEntries for the owner.
+       mApplications: user 0: 197, user 10: 189 => total 386
+       mAppEntries  : user 0: 191, user 10: 189 => total 380
+       If an app is removed, cached mAppEntries: 380 , mApplications: 386 -> 385, the size of
+       mAppEntries is still not larger than mApplications, then does not clear mAppEntries.
+
+       Problem 2:
+       If remove an app and add another app outside Settings (e.g. Play Store) and back to
+       Settings, the amount of apps are not changed, it causes the entries keep the removed app.
+
+       Another case, if adding more apps than removing apps (e.g. add 2 apps and remove 1 app),
+       the final number of apps (mApplications) is even increased,
+
+       Therefore, should not only count on number of apps to determine any app is removed.
+       Compare the change of applications instead.
+    */
+    private static boolean anyAppIsRemoved(List<ApplicationInfo> prevApplications,
+            List<ApplicationInfo> applications) {
+
+        // No cache
+        if (prevApplications.size() == 0) {
+            return false;
+        }
+
+        if (applications.size() < prevApplications.size()) {
+            return true;
+        }
+
+        // build package sets of all applications <userId, HashSet of packages>
+        final HashMap<String, HashSet<String>> packageMap = new HashMap<>();
+        for (ApplicationInfo application : applications) {
+            final String userId = String.valueOf(UserHandle.getUserId(application.uid));
+
+            HashSet<String> appPackages = packageMap.get(userId);
+            if (appPackages == null) {
+                appPackages = new HashSet<>();
+                packageMap.put(userId, appPackages);
+            }
+            if (hasFlag(application.flags, ApplicationInfo.FLAG_INSTALLED)) {
+                appPackages.add(application.packageName);
+            }
+        }
+
+        // detect any previous app is removed
+        for (ApplicationInfo prevApplication : prevApplications) {
+            if (!hasFlag(prevApplication.flags, ApplicationInfo.FLAG_INSTALLED)) {
+                continue;
+            }
+            final String userId = String.valueOf(UserHandle.getUserId(prevApplication.uid));
+
+            final HashSet<String> packagesSet = packageMap.get(userId);
+            if (packagesSet == null || !packagesSet.remove(prevApplication.packageName)) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
     @VisibleForTesting
     void clearEntries() {
         for (int i = 0; i < mEntriesMap.size(); i++) {
@@ -346,7 +432,7 @@
         if (!mResumed) {
             return;
         }
-        for (int i=0; i<mSessions.size(); i++) {
+        for (int i = 0; i < mSessions.size(); i++) {
             if (mSessions.get(i).mResumed) {
                 return;
             }
@@ -449,7 +535,7 @@
         if (DEBUG_LOCKING) Log.v(TAG, "sumCacheSizes about to acquire lock...");
         synchronized (mEntriesMap) {
             if (DEBUG_LOCKING) Log.v(TAG, "-> sumCacheSizes now has lock");
-            for (int i=mAppEntries.size()-1; i>=0; i--) {
+            for (int i = mAppEntries.size() - 1; i >= 0; i--) {
                 sum += mAppEntries.get(i).cacheSize;
             }
             if (DEBUG_LOCKING) Log.v(TAG, "...sumCacheSizes releasing lock");
@@ -458,7 +544,7 @@
     }
 
     int indexOfApplicationInfoLocked(String pkgName, int userId) {
-        for (int i=mApplications.size()-1; i>=0; i--) {
+        for (int i = mApplications.size() - 1; i >= 0; i--) {
             ApplicationInfo appInfo = mApplications.get(i);
             if (appInfo.packageName.equals(pkgName)
                     && UserHandle.getUserId(appInfo.uid) == userId) {
@@ -642,7 +728,7 @@
                 return;
             }
             mActiveSessions.clear();
-            for (int i=0; i<mSessions.size(); i++) {
+            for (int i = 0; i < mSessions.size(); i++) {
                 Session s = mSessions.get(i);
                 if (s.mResumed) {
                     mActiveSessions.add(new WeakReference<>(s));
@@ -784,7 +870,7 @@
 
             ArrayList<AppEntry> filteredApps = new ArrayList<AppEntry>();
             if (DEBUG) Log.i(TAG, "Rebuilding...");
-            for (int i=0; i<apps.size(); i++) {
+            for (int i = 0; i < apps.size(); i++) {
                 AppEntry entry = apps.get(i);
                 if (entry != null && (filter == null || filter.filterApp(entry))) {
                     synchronized (mEntriesMap) {
@@ -954,7 +1040,7 @@
                 }
             }
             if (rebuildingSessions != null) {
-                for (int i=0; i<rebuildingSessions.size(); i++) {
+                for (int i = 0; i < rebuildingSessions.size(); i++) {
                     rebuildingSessions.get(i).handleRebuildList();
                 }
             }
@@ -1047,9 +1133,9 @@
                             // If we do not specify MATCH_DIRECT_BOOT_AWARE or
                             // MATCH_DIRECT_BOOT_UNAWARE, system will derive and update the flags
                             // according to the user's lock state. When the user is locked,
-                            // components
-                            // with ComponentInfo#directBootAware == false will be filtered. We should
-                            // explicitly include both direct boot aware and unaware components here.
+                            // components with ComponentInfo#directBootAware == false will be
+                            // filtered. W should explicitly include both direct boot aware and
+                            // unaware component here.
                             List<ResolveInfo> intents = mPm.queryIntentActivitiesAsUser(
                                     launchIntent,
                                     PackageManager.MATCH_DISABLED_COMPONENTS
@@ -1128,8 +1214,10 @@
                         synchronized (mEntriesMap) {
                             if (DEBUG_LOCKING) Log.v(TAG, "MSG_LOAD_SIZES acquired lock");
                             if (mCurComputingSizePkg != null) {
-                                if (DEBUG_LOCKING) Log.v(TAG,
-                                        "MSG_LOAD_SIZES releasing: currently computing");
+                                if (DEBUG_LOCKING) {
+                                    Log.v(TAG,
+                                            "MSG_LOAD_SIZES releasing: currently computing");
+                                }
                                 return;
                             }
 
@@ -1181,8 +1269,10 @@
 
                                         });
                                     }
-                                    if (DEBUG_LOCKING) Log.v(TAG,
-                                            "MSG_LOAD_SIZES releasing: now computing");
+                                    if (DEBUG_LOCKING) {
+                                        Log.v(TAG,
+                                                "MSG_LOAD_SIZES releasing: now computing");
+                                    }
                                     return;
                                 }
                             }
@@ -1255,8 +1345,10 @@
                                 entry.internalSizeStr = getSizeStr(entry.internalSize);
                                 entry.externalSize = getTotalExternalSize(stats);
                                 entry.externalSizeStr = getSizeStr(entry.externalSize);
-                                if (DEBUG) Log.i(TAG, "Set size of " + entry.label + " " + entry
-                                        + ": " + entry.sizeStr);
+                                if (DEBUG) {
+                                    Log.i(TAG, "Set size of " + entry.label + " " + entry
+                                            + ": " + entry.sizeStr);
+                                }
                                 sizeChanged = true;
                             }
                         }
@@ -1299,9 +1391,11 @@
             userFilter.addAction(Intent.ACTION_USER_REMOVED);
             mContext.registerReceiver(this, userFilter);
         }
+
         void unregisterReceiver() {
             mContext.unregisterReceiver(this);
         }
+
         @Override
         public void onReceive(Context context, Intent intent) {
             String actionStr = intent.getAction();
@@ -1354,12 +1448,19 @@
 
     public interface Callbacks {
         void onRunningStateChanged(boolean running);
+
         void onPackageListChanged();
+
         void onRebuildComplete(ArrayList<AppEntry> apps);
+
         void onPackageIconChanged();
+
         void onPackageSizeChanged(String packageName);
+
         void onAllSizesComputed();
+
         void onLauncherInfoChanged();
+
         void onLoadEntriesCompleted();
     }
 
@@ -1491,6 +1592,7 @@
      */
     public static final Comparator<AppEntry> ALPHA_COMPARATOR = new Comparator<AppEntry>() {
         private final Collator sCollator = Collator.getInstance();
+
         @Override
         public int compare(AppEntry object1, AppEntry object2) {
             int compareResult = sCollator.compare(object1.label, object2.label);
@@ -1504,6 +1606,7 @@
                     return compareResult;
                 }
             }
+
             return object1.info.uid - object2.info.uid;
         }
     };
@@ -1540,9 +1643,11 @@
 
     public interface AppFilter {
         void init();
+
         default void init(Context context) {
             init();
         }
+
         boolean filterApp(AppEntry info);
     }
 
@@ -1697,7 +1802,8 @@
         @Override
         public boolean filterApp(AppEntry entry) {
             return !AppUtils.isInstant(entry.info)
-                && hasFlag(entry.info.privateFlags, ApplicationInfo.PRIVATE_FLAG_HAS_DOMAIN_URLS);
+                    && hasFlag(entry.info.privateFlags,
+                    ApplicationInfo.PRIVATE_FLAG_HAS_DOMAIN_URLS);
         }
     };
 
@@ -1707,7 +1813,7 @@
         @Override
         public void init(Context context) {
             mHidePackageNames = context.getResources()
-                .getStringArray(R.array.config_hideWhenDisabled_packageNames);
+                    .getStringArray(R.array.config_hideWhenDisabled_packageNames);
         }
 
         @Override
@@ -1720,7 +1826,7 @@
                 if (!entry.info.enabled) {
                     return false;
                 } else if (entry.info.enabledSetting ==
-                    PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED) {
+                        PackageManager.COMPONENT_ENABLED_STATE_DISABLED_UNTIL_USED) {
                     return false;
                 }
             }
@@ -1798,7 +1904,7 @@
         @Override
         public boolean filterApp(AppEntry entry) {
             boolean isMusicApp;
-            synchronized(entry) {
+            synchronized (entry) {
                 isMusicApp = entry.info.category == ApplicationInfo.CATEGORY_AUDIO;
             }
             return isMusicApp;
@@ -1813,7 +1919,7 @@
         @Override
         public boolean filterApp(AppEntry entry) {
             boolean isMovieApp;
-            synchronized(entry) {
+            synchronized (entry) {
                 isMovieApp = entry.info.category == ApplicationInfo.CATEGORY_VIDEO;
             }
             return isMovieApp;
@@ -1823,7 +1929,8 @@
     public static final AppFilter FILTER_PHOTOS =
             new AppFilter() {
                 @Override
-                public void init() {}
+                public void init() {
+                }
 
                 @Override
                 public boolean filterApp(AppEntry entry) {
@@ -1838,7 +1945,8 @@
     public static final AppFilter FILTER_OTHER_APPS =
             new AppFilter() {
                 @Override
-                public void init() {}
+                public void init() {
+                }
 
                 @Override
                 public boolean filterApp(AppEntry entry) {
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpProfile.java
index bed3030..785dd56 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/A2dpProfile.java
@@ -108,12 +108,43 @@
         return true;
     }
 
+    /**
+     * Get A2dp devices matching connection states{
+     * @code BluetoothProfile.STATE_CONNECTED,
+     * @code BluetoothProfile.STATE_CONNECTING,
+     * @code BluetoothProfile.STATE_DISCONNECTING}
+     *
+     * @return Matching device list
+     */
     public List<BluetoothDevice> getConnectedDevices() {
-        if (mService == null) return new ArrayList<BluetoothDevice>(0);
-        return mService.getDevicesMatchingConnectionStates(
-              new int[] {BluetoothProfile.STATE_CONNECTED,
-                         BluetoothProfile.STATE_CONNECTING,
-                         BluetoothProfile.STATE_DISCONNECTING});
+        return getDevicesByStates(new int[] {
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.STATE_CONNECTING,
+                BluetoothProfile.STATE_DISCONNECTING});
+    }
+
+    /**
+     * Get A2dp devices matching connection states{
+     * @code BluetoothProfile.STATE_DISCONNECTED,
+     * @code BluetoothProfile.STATE_CONNECTED,
+     * @code BluetoothProfile.STATE_CONNECTING,
+     * @code BluetoothProfile.STATE_DISCONNECTING}
+     *
+     * @return Matching device list
+     */
+    public List<BluetoothDevice> getConnectableDevices() {
+        return getDevicesByStates(new int[] {
+                BluetoothProfile.STATE_DISCONNECTED,
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.STATE_CONNECTING,
+                BluetoothProfile.STATE_DISCONNECTING});
+    }
+
+    private List<BluetoothDevice> getDevicesByStates(int[] states) {
+        if (mService == null) {
+            return new ArrayList<BluetoothDevice>(0);
+        }
+        return mService.getDevicesMatchingConnectionStates(states);
     }
 
     public boolean connect(BluetoothDevice device) {
diff --git a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HearingAidProfile.java b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HearingAidProfile.java
index 41c1d60..ebaeb74 100644
--- a/packages/SettingsLib/src/com/android/settingslib/bluetooth/HearingAidProfile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/bluetooth/HearingAidProfile.java
@@ -106,12 +106,43 @@
         return true;
     }
 
+    /**
+     * Get Hearing Aid devices matching connection states{
+     * @code BluetoothProfile.STATE_CONNECTED,
+     * @code BluetoothProfile.STATE_CONNECTING,
+     * @code BluetoothProfile.STATE_DISCONNECTING}
+     *
+     * @return Matching device list
+     */
     public List<BluetoothDevice> getConnectedDevices() {
-        if (mService == null) return new ArrayList<BluetoothDevice>(0);
-        return mService.getDevicesMatchingConnectionStates(
-              new int[] {BluetoothProfile.STATE_CONNECTED,
-                         BluetoothProfile.STATE_CONNECTING,
-                         BluetoothProfile.STATE_DISCONNECTING});
+        return getDevicesByStates(new int[] {
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.STATE_CONNECTING,
+                BluetoothProfile.STATE_DISCONNECTING});
+    }
+
+    /**
+     * Get Hearing Aid devices matching connection states{
+     * @code BluetoothProfile.STATE_DISCONNECTED,
+     * @code BluetoothProfile.STATE_CONNECTED,
+     * @code BluetoothProfile.STATE_CONNECTING,
+     * @code BluetoothProfile.STATE_DISCONNECTING}
+     *
+     * @return Matching device list
+     */
+    public List<BluetoothDevice> getConnectableDevices() {
+        return getDevicesByStates(new int[] {
+                BluetoothProfile.STATE_DISCONNECTED,
+                BluetoothProfile.STATE_CONNECTED,
+                BluetoothProfile.STATE_CONNECTING,
+                BluetoothProfile.STATE_DISCONNECTING});
+    }
+
+    private List<BluetoothDevice> getDevicesByStates(int[] states) {
+        if (mService == null) {
+            return new ArrayList<BluetoothDevice>(0);
+        }
+        return mService.getDevicesMatchingConnectionStates(states);
     }
 
     public boolean connect(BluetoothDevice device) {
diff --git a/packages/SettingsLib/src/com/android/settingslib/drawer/Tile.java b/packages/SettingsLib/src/com/android/settingslib/drawer/Tile.java
index a6b2410..bee1b3c 100644
--- a/packages/SettingsLib/src/com/android/settingslib/drawer/Tile.java
+++ b/packages/SettingsLib/src/com/android/settingslib/drawer/Tile.java
@@ -41,6 +41,8 @@
 import android.text.TextUtils;
 import android.util.Log;
 
+import androidx.annotation.VisibleForTesting;
+
 import java.util.ArrayList;
 import java.util.Comparator;
 import java.util.List;
@@ -58,6 +60,8 @@
      */
     public ArrayList<UserHandle> userHandle = new ArrayList<>();
 
+    @VisibleForTesting
+    long mLastUpdateTime;
     private final String mActivityPackage;
     private final String mActivityName;
     private final Intent mIntent;
@@ -157,6 +161,7 @@
      */
     public CharSequence getTitle(Context context) {
         CharSequence title = null;
+        ensureMetadataNotStale(context);
         final PackageManager packageManager = context.getPackageManager();
         if (mMetaData.containsKey(META_DATA_PREFERENCE_TITLE)) {
             if (mMetaData.get(META_DATA_PREFERENCE_TITLE) instanceof Integer) {
@@ -207,6 +212,7 @@
         if (mSummaryOverride != null) {
             return mSummaryOverride;
         }
+        ensureMetadataNotStale(context);
         CharSequence summary = null;
         final PackageManager packageManager = context.getPackageManager();
         if (mMetaData != null) {
@@ -248,6 +254,7 @@
         if (!hasKey()) {
             return null;
         }
+        ensureMetadataNotStale(context);
         if (mMetaData.get(META_DATA_PREFERENCE_KEYHINT) instanceof Integer) {
             return context.getResources().getString(mMetaData.getInt(META_DATA_PREFERENCE_KEYHINT));
         } else {
@@ -268,7 +275,7 @@
         if (context == null || mMetaData == null) {
             return null;
         }
-
+        ensureMetadataNotStale(context);
         int iconResId = mMetaData.getInt(META_DATA_PREFERENCE_ICON);
         // Set the icon
         if (iconResId == 0) {
@@ -294,6 +301,7 @@
                 && mMetaData.containsKey(TileUtils.META_DATA_PREFERENCE_ICON_TINTABLE)) {
             return mMetaData.getBoolean(TileUtils.META_DATA_PREFERENCE_ICON_TINTABLE);
         }
+        ensureMetadataNotStale(context);
         final String pkgName = context.getPackageName();
         // If this drawable is coming from outside Settings, tint it to match the color.
         final ActivityInfo activityInfo = getActivityInfo(context);
@@ -301,6 +309,28 @@
                 && !TextUtils.equals(pkgName, activityInfo.packageName);
     }
 
+    /**
+     * Ensures metadata is not stale for this tile.
+     */
+    private void ensureMetadataNotStale(Context context) {
+        final PackageManager pm = context.getApplicationContext().getPackageManager();
+
+        try {
+            final long lastUpdateTime = pm.getPackageInfo(mActivityPackage,
+                    PackageManager.GET_META_DATA).lastUpdateTime;
+            if (lastUpdateTime == mLastUpdateTime) {
+                // All good. Do nothing
+                return;
+            }
+            // App has been updated since we load metadata last time. Reload metadata.
+            mActivityInfo = null;
+            getActivityInfo(context);
+            mLastUpdateTime = lastUpdateTime;
+        } catch (PackageManager.NameNotFoundException e) {
+            Log.d(TAG, "Can't find package, probably uninstalled.");
+        }
+    }
+
     private ActivityInfo getActivityInfo(Context context) {
         if (mActivityInfo == null) {
             final PackageManager pm = context.getApplicationContext().getPackageManager();
@@ -309,6 +339,7 @@
                     pm.queryIntentActivities(intent, PackageManager.GET_META_DATA);
             if (infoList != null && !infoList.isEmpty()) {
                 mActivityInfo = infoList.get(0).activityInfo;
+                mMetaData = mActivityInfo.metaData;
             }
         }
         return mActivityInfo;
diff --git a/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatterySaverUtils.java b/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatterySaverUtils.java
index c8c05a0..b34f445 100644
--- a/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatterySaverUtils.java
+++ b/packages/SettingsLib/src/com/android/settingslib/fuelgauge/BatterySaverUtils.java
@@ -103,7 +103,7 @@
             setBatterySaverConfirmationAcknowledged(context);
         }
 
-        if (context.getSystemService(PowerManager.class).setPowerSaveMode(enable)) {
+        if (context.getSystemService(PowerManager.class).setPowerSaveModeEnabled(enable)) {
             if (enable) {
                 final int count =
                         Secure.getInt(cr, Secure.LOW_POWER_MANUAL_ACTIVATION_COUNT, 0) + 1;
diff --git a/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt b/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt
index 911cfcd..1bb6c44 100644
--- a/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt
+++ b/packages/SettingsLib/src/com/android/settingslib/graph/ThemedBatteryDrawable.kt
@@ -129,6 +129,14 @@
         p.style = Paint.Style.FILL_AND_STROKE
     }
 
+    private val errorPaint = Paint(Paint.ANTI_ALIAS_FLAG).also { p ->
+        p.color = Utils.getColorErrorDefaultColor(context)
+        p.alpha = 255
+        p.isDither = true
+        p.strokeWidth = 0f
+        p.style = Paint.Style.FILL_AND_STROKE
+    }
+
     // Only used if dualTone is set to true
     private val dualToneBackgroundFill = Paint(Paint.ANTI_ALIAS_FLAG).also { p ->
         p.color = frameColor
@@ -179,7 +187,7 @@
 
         // The perimeter should never change
         unifiedPath.addPath(scaledPerimeter)
-        // IF drawing dual tone, the level is used only to clip the whole drawable path
+        // If drawing dual tone, the level is used only to clip the whole drawable path
         if (!dualTone) {
             unifiedPath.op(levelPath, Path.Op.UNION)
         }
@@ -196,9 +204,7 @@
         } else if (powerSaveEnabled) {
             // Clip out the plus shape
             unifiedPath.op(scaledPlus, Path.Op.DIFFERENCE)
-            if (!invertFillIcon) {
-                c.drawPath(scaledPlus, fillPaint)
-            }
+            c.drawPath(scaledPlus, errorPaint)
         }
 
         if (dualTone) {
@@ -235,12 +241,12 @@
                 c.drawPath(scaledBolt, fillColorStrokeProtection)
             }
         } else if (powerSaveEnabled) {
+            // If power save is enabled draw the perimeter path with colorError
+            c.drawPath(scaledPerimeter, errorPaint)
+
+            // But always put path protection around the plus sign
             c.clipOutPath(scaledPlus)
-            if (invertFillIcon) {
-                c.drawPath(scaledPlus, fillColorStrokePaint)
-            } else {
-                c.drawPath(scaledPlus, fillColorStrokeProtection)
-            }
+            c.drawPath(scaledPlus, fillColorStrokeProtection)
         }
     }
 
@@ -405,8 +411,8 @@
         private const val CRITICAL_LEVEL = 15
         // On a 12x20 grid, how wide to make the fill protection stroke.
         // Scales when our size changes
-        private const val PROTECTION_STROKE_WIDTH = 1.4f
+        private const val PROTECTION_STROKE_WIDTH = 3f
         // Arbitrarily chosen for visibility at small sizes
-        private const val PROTECTION_MIN_STROKE_WIDTH = 5f
+        private const val PROTECTION_MIN_STROKE_WIDTH = 6f
     }
 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/location/RecentLocationAccesses.java b/packages/SettingsLib/src/com/android/settingslib/location/RecentLocationAccesses.java
index 09107ce..ea39317 100644
--- a/packages/SettingsLib/src/com/android/settingslib/location/RecentLocationAccesses.java
+++ b/packages/SettingsLib/src/com/android/settingslib/location/RecentLocationAccesses.java
@@ -18,11 +18,11 @@
 
 import android.app.AppOpsManager;
 import android.content.Context;
+import android.content.PermissionChecker;
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.PackageManager.NameNotFoundException;
 import android.graphics.drawable.Drawable;
-import android.os.Process;
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.text.format.DateUtils;
@@ -82,6 +82,7 @@
      */
     public List<Access> getAppList() {
         // Retrieve a location usage list from AppOps
+        PackageManager pm = mContext.getPackageManager();
         AppOpsManager aoManager =
                 (AppOpsManager) mContext.getSystemService(Context.APP_OPS_SERVICE);
         List<AppOpsManager.PackageOps> appOps = aoManager.getPackagesForOps(LOCATION_OPS);
@@ -96,19 +97,40 @@
 
         for (int i = 0; i < appOpsCount; ++i) {
             AppOpsManager.PackageOps ops = appOps.get(i);
-            // Don't show the Android System in the list - it's not actionable for the user.
-            // Also don't show apps belonging to background users except managed users.
             String packageName = ops.getPackageName();
             int uid = ops.getUid();
-            int userId = UserHandle.getUserId(uid);
-            boolean isAndroidOs =
-                    (uid == Process.SYSTEM_UID) && ANDROID_SYSTEM_PACKAGE_NAME.equals(packageName);
-            if (isAndroidOs || !profiles.contains(new UserHandle(userId))) {
+            UserHandle user = UserHandle.getUserHandleForUid(uid);
+
+            // Don't show apps belonging to background users except managed users.
+            if (!profiles.contains(user)) {
                 continue;
             }
-            Access access = getAccessFromOps(now, ops);
-            if (access != null) {
-                accesses.add(access);
+
+            // Don't show apps that do not have user sensitive location permissions
+            boolean showApp = true;
+            for (int op : LOCATION_OPS) {
+                final String permission = AppOpsManager.opToPermission(op);
+                final int permissionFlags = pm.getPermissionFlags(permission, packageName, user);
+                if (PermissionChecker.checkPermission(mContext, permission, -1, uid, packageName)
+                        == PermissionChecker.PERMISSION_GRANTED) {
+                    if ((permissionFlags
+                            & PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED) == 0) {
+                        showApp = false;
+                        break;
+                    }
+                } else {
+                    if ((permissionFlags
+                            & PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_DENIED) == 0) {
+                        showApp = false;
+                        break;
+                    }
+                }
+            }
+            if (showApp) {
+                Access access = getAccessFromOps(now, ops);
+                if (access != null) {
+                    accesses.add(access);
+                }
             }
         }
         return accesses;
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaDevice.java b/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaDevice.java
index 6d0e3ac..3092b99 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaDevice.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaDevice.java
@@ -16,6 +16,7 @@
 package com.android.settingslib.media;
 
 import android.bluetooth.BluetoothClass;
+import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 import android.util.Log;
 
@@ -42,6 +43,11 @@
     }
 
     @Override
+    public String getSummary() {
+        return mCachedDevice.getConnectionSummary();
+    }
+
+    @Override
     public int getIcon() {
         //TODO(b/117129183): This is not final icon for bluetooth device, just for demo.
         return com.android.internal.R.drawable.ic_bt_headphones_a2dp;
@@ -86,4 +92,10 @@
         }
         return false;
     }
+
+    @Override
+    public boolean isConnected() {
+        return mCachedDevice.getBondState() == BluetoothDevice.BOND_BONDED
+                && mCachedDevice.isConnected();
+    }
 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaManager.java
index fa2dd88..3a738d2 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/BluetoothMediaManager.java
@@ -41,6 +41,9 @@
 
     private static final String TAG = "BluetoothMediaManager";
 
+    private final DeviceAttributeChangeCallback mDeviceAttributeChangeCallback =
+            new DeviceAttributeChangeCallback();
+
     private LocalBluetoothManager mLocalBluetoothManager;
     private LocalBluetoothProfileManager mProfileManager;
     private CachedBluetoothDeviceManager mCachedBluetoothDeviceManager;
@@ -65,7 +68,10 @@
         mLocalBluetoothManager.getEventManager().registerCallback(this);
         buildBluetoothDeviceList();
         dispatchDeviceListAdded();
+        addServiceListenerIfNecessary();
+    }
 
+    private void addServiceListenerIfNecessary() {
         // The profile may not ready when calling startScan().
         // Device status are all disconnected since profiles are not ready to connected.
         // In this case, we observe onServiceConnected() in LocalBluetoothProfileManager.
@@ -78,18 +84,18 @@
 
     private void buildBluetoothDeviceList() {
         mMediaDevices.clear();
-        addConnectedA2dpDevices();
-        addConnectedHearingAidDevices();
+        addConnectableA2dpDevices();
+        addConnectableHearingAidDevices();
     }
 
-    private void addConnectedA2dpDevices() {
+    private void addConnectableA2dpDevices() {
         final A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile();
         if (a2dpProfile == null) {
-            Log.w(TAG, "addConnectedA2dpDevices() a2dp profile is null!");
+            Log.w(TAG, "addConnectableA2dpDevices() a2dp profile is null!");
             return;
         }
 
-        final List<BluetoothDevice> devices = a2dpProfile.getConnectedDevices();
+        final List<BluetoothDevice> devices = a2dpProfile.getConnectableDevices();
 
         for (BluetoothDevice device : devices) {
             final CachedBluetoothDevice cachedDevice =
@@ -100,10 +106,12 @@
                 continue;
             }
 
-            Log.d(TAG, "addConnectedA2dpDevices() device : " + cachedDevice.getName()
-                    + ", is connected : " + cachedDevice.isConnected());
+            Log.d(TAG, "addConnectableA2dpDevices() device : " + cachedDevice.getName()
+                    + ", is connected : " + cachedDevice.isConnected()
+                    + ", is preferred : " + a2dpProfile.isPreferred(device));
 
-            if (cachedDevice.isConnected()) {
+            if (a2dpProfile.isPreferred(device)
+                    && BluetoothDevice.BOND_BONDED == cachedDevice.getBondState()) {
                 addMediaDevice(cachedDevice);
             }
         }
@@ -111,15 +119,15 @@
         mIsA2dpProfileReady = a2dpProfile.isProfileReady();
     }
 
-    private void addConnectedHearingAidDevices() {
+    private void addConnectableHearingAidDevices() {
         final HearingAidProfile hapProfile = mProfileManager.getHearingAidProfile();
         if (hapProfile == null) {
-            Log.w(TAG, "addConnectedA2dpDevices() hap profile is null!");
+            Log.w(TAG, "addConnectableHearingAidDevices() hap profile is null!");
             return;
         }
 
         final List<Long> devicesHiSyncIds = new ArrayList<>();
-        final List<BluetoothDevice> devices = hapProfile.getConnectedDevices();
+        final List<BluetoothDevice> devices = hapProfile.getConnectableDevices();
 
         for (BluetoothDevice device : devices) {
             final CachedBluetoothDevice cachedDevice =
@@ -130,13 +138,16 @@
                 continue;
             }
 
-            Log.d(TAG, "addConnectedHearingAidDevices() device : " + cachedDevice.getName()
-                    + ", is connected : " + cachedDevice.isConnected());
+            Log.d(TAG, "addConnectableHearingAidDevices() device : " + cachedDevice.getName()
+                    + ", is connected : " + cachedDevice.isConnected()
+                    + ", is preferred : " + hapProfile.isPreferred(device));
+
             final long hiSyncId = hapProfile.getHiSyncId(device);
 
             // device with same hiSyncId should not be shown in the UI.
             // So do not add it into connectedDevices.
-            if (!devicesHiSyncIds.contains(hiSyncId) && cachedDevice.isConnected()) {
+            if (!devicesHiSyncIds.contains(hiSyncId) && hapProfile.isPreferred(device)
+                    && BluetoothDevice.BOND_BONDED == cachedDevice.getBondState()) {
                 devicesHiSyncIds.add(hiSyncId);
                 addMediaDevice(cachedDevice);
             }
@@ -149,6 +160,7 @@
         MediaDevice mediaDevice = findMediaDevice(MediaDeviceUtils.getId(cachedDevice));
         if (mediaDevice == null) {
             mediaDevice = new BluetoothMediaDevice(mContext, cachedDevice);
+            cachedDevice.registerCallback(mDeviceAttributeChangeCallback);
             mLastAddedDevice = mediaDevice;
             mMediaDevices.add(mediaDevice);
         }
@@ -157,6 +169,14 @@
     @Override
     public void stopScan() {
         mLocalBluetoothManager.getEventManager().unregisterCallback(this);
+        unregisterDeviceAttributeChangeCallback();
+    }
+
+    private void unregisterDeviceAttributeChangeCallback() {
+        for (MediaDevice device : mMediaDevices) {
+            ((BluetoothMediaDevice) device).getCachedDevice()
+                    .unregisterCallback(mDeviceAttributeChangeCallback);
+        }
     }
 
     @Override
@@ -164,12 +184,13 @@
         if (BluetoothAdapter.STATE_ON == bluetoothState) {
             buildBluetoothDeviceList();
             dispatchDeviceListAdded();
+            addServiceListenerIfNecessary();
         } else if (BluetoothAdapter.STATE_OFF == bluetoothState) {
             final List<MediaDevice> removeDevicesList = new ArrayList<>();
             for (MediaDevice device : mMediaDevices) {
-                if (device instanceof BluetoothMediaDevice) {
-                    removeDevicesList.add(device);
-                }
+                ((BluetoothMediaDevice) device).getCachedDevice()
+                        .unregisterCallback(mDeviceAttributeChangeCallback);
+                removeDevicesList.add(device);
             }
             mMediaDevices.removeAll(removeDevicesList);
             dispatchDeviceListRemoved(removeDevicesList);
@@ -212,6 +233,7 @@
     private void removeMediaDevice(CachedBluetoothDevice cachedDevice) {
         final MediaDevice mediaDevice = findMediaDevice(MediaDeviceUtils.getId(cachedDevice));
         if (mediaDevice != null) {
+            cachedDevice.unregisterCallback(mDeviceAttributeChangeCallback);
             mLastRemovedDevice = mediaDevice;
             mMediaDevices.remove(mediaDevice);
         }
@@ -230,12 +252,17 @@
         Log.d(TAG, "onProfileConnectionStateChanged() device: " + cachedDevice
                 + ", state: " + state + ", bluetoothProfile: " + bluetoothProfile);
 
-        if (isCachedDeviceConnected(cachedDevice)) {
-            addMediaDevice(cachedDevice);
-            dispatchDeviceAdded(cachedDevice);
-        } else {
+        updateMediaDeviceListIfNecessary(cachedDevice);
+    }
+
+    private void updateMediaDeviceListIfNecessary(CachedBluetoothDevice cachedDevice) {
+        if (BluetoothDevice.BOND_NONE == cachedDevice.getBondState()) {
             removeMediaDevice(cachedDevice);
             dispatchDeviceRemoved(cachedDevice);
+        } else {
+            if (findMediaDevice(MediaDeviceUtils.getId(cachedDevice)) != null) {
+                dispatchDataChanged();
+            }
         }
     }
 
@@ -243,13 +270,7 @@
     public void onAclConnectionStateChanged(CachedBluetoothDevice cachedDevice, int state) {
         Log.d(TAG, "onAclConnectionStateChanged() device: " + cachedDevice + ", state: " + state);
 
-        if (isCachedDeviceConnected(cachedDevice)) {
-            addMediaDevice(cachedDevice);
-            dispatchDeviceAdded(cachedDevice);
-        } else {
-            removeMediaDevice(cachedDevice);
-            dispatchDeviceRemoved(cachedDevice);
-        }
+        updateMediaDeviceListIfNecessary(cachedDevice);
     }
 
     @Override
@@ -281,4 +302,16 @@
     public void onServiceDisconnected() {
 
     }
+
+    /**
+     * This callback is for update {@link BluetoothMediaDevice} summary when
+     * {@link CachedBluetoothDevice} connection state is changed.
+     */
+    private class DeviceAttributeChangeCallback implements CachedBluetoothDevice.Callback {
+
+        @Override
+        public void onDeviceAttributesChanged() {
+            dispatchDataChanged();
+        }
+    }
 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaDevice.java b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaDevice.java
index 99d9d1c..95f3d3d 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaDevice.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/InfoMediaDevice.java
@@ -41,6 +41,11 @@
     }
 
     @Override
+    public String getSummary() {
+        return null;
+    }
+
+    @Override
     public int getIcon() {
         //TODO(b/121083246): This is not final icon for cast device, just for demo.
         return com.android.internal.R.drawable.ic_settings_print;
@@ -63,4 +68,9 @@
     public void disconnect() {
         //TODO(b/121083246): disconnected last select device
     }
+
+    @Override
+    public boolean isConnected() {
+        return true;
+    }
 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java
index 44d945a..4e16c66 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/LocalMediaManager.java
@@ -58,7 +58,6 @@
 
     private Context mContext;
     private BluetoothMediaManager mBluetoothMediaManager;
-    private InfoMediaManager mInfoMediaManager;
     private LocalBluetoothManager mLocalBluetoothManager;
 
     @VisibleForTesting
@@ -97,7 +96,6 @@
 
         mBluetoothMediaManager =
                 new BluetoothMediaManager(context, mLocalBluetoothManager, notification);
-        mInfoMediaManager = new InfoMediaManager(context, packageName, notification);
     }
 
     @VisibleForTesting
@@ -106,7 +104,6 @@
         mContext = context;
         mLocalBluetoothManager = localBluetoothManager;
         mBluetoothMediaManager = bluetoothMediaManager;
-        mInfoMediaManager = infoMediaManager;
     }
 
     /**
@@ -115,6 +112,15 @@
      */
     public void connectDevice(MediaDevice connectDevice) {
         final MediaDevice device = getMediaDeviceById(mMediaDevices, connectDevice.getId());
+        if (device instanceof BluetoothMediaDevice) {
+            final CachedBluetoothDevice cachedDevice =
+                    ((BluetoothMediaDevice) device).getCachedDevice();
+            if (!cachedDevice.isConnected() && !cachedDevice.isBusy()) {
+                cachedDevice.connect(true);
+                return;
+            }
+        }
+
         if (device == mCurrentConnectedDevice) {
             Log.d(TAG, "connectDevice() this device all ready connected! : " + device.getName());
             return;
@@ -150,9 +156,7 @@
     public void startScan() {
         mMediaDevices.clear();
         mBluetoothMediaManager.registerCallback(mMediaDeviceCallback);
-        mInfoMediaManager.registerCallback(mMediaDeviceCallback);
         mBluetoothMediaManager.startScan();
-        mInfoMediaManager.startScan();
     }
 
     private void addPhoneDeviceIfNecessary() {
@@ -186,9 +190,7 @@
      */
     public void stopScan() {
         mBluetoothMediaManager.unregisterCallback(mMediaDeviceCallback);
-        mInfoMediaManager.unregisterCallback(mMediaDeviceCallback);
         mBluetoothMediaManager.stopScan();
-        mInfoMediaManager.stopScan();
     }
 
     /**
@@ -252,9 +254,17 @@
             }
             addPhoneDeviceIfNecessary();
             mCurrentConnectedDevice = updateCurrentConnectedDevice();
+            updatePhoneMediaDeviceSummary();
             dispatchDeviceListUpdate();
         }
 
+        private void updatePhoneMediaDeviceSummary() {
+            if (mPhoneDevice != null) {
+                ((PhoneMediaDevice) mPhoneDevice)
+                        .updateSummary(mCurrentConnectedDevice == mPhoneDevice);
+            }
+        }
+
         @Override
         public void onDeviceRemoved(MediaDevice device) {
             if (mMediaDevices.contains(device)) {
@@ -272,21 +282,22 @@
         }
 
         @Override
-        public void onDeviceAttributesChanged() {
-            dispatchDeviceListUpdate();
-        }
-
-        @Override
         public void onConnectedDeviceChanged(String id) {
             final MediaDevice connectDevice = getMediaDeviceById(mMediaDevices, id);
 
             if (connectDevice == mCurrentConnectedDevice) {
-                Log.d(TAG, "onConnectedDeviceChanged() this device all ready connected! : "
-                        + connectDevice.getName());
+                Log.d(TAG, "onConnectedDeviceChanged() this device all ready connected!");
                 return;
             }
             mCurrentConnectedDevice = connectDevice;
+            updatePhoneMediaDeviceSummary();
+            dispatchDeviceListUpdate();
+        }
 
+        @Override
+        public void onDeviceAttributesChanged() {
+            addPhoneDeviceIfNecessary();
+            removePhoneMediaDeviceIfNecessary();
             dispatchDeviceListUpdate();
         }
     }
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java b/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java
index f35c30e..9b9e803 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/MediaDevice.java
@@ -34,9 +34,9 @@
             MediaDeviceType.TYPE_BLUETOOTH_DEVICE,
             MediaDeviceType.TYPE_PHONE_DEVICE})
     public @interface MediaDeviceType {
-        int TYPE_CAST_DEVICE = 1;
-        int TYPE_BLUETOOTH_DEVICE = 2;
-        int TYPE_PHONE_DEVICE = 3;
+        int TYPE_PHONE_DEVICE = 1;
+        int TYPE_CAST_DEVICE = 2;
+        int TYPE_BLUETOOTH_DEVICE = 3;
     }
 
     private int mConnectedRecord;
@@ -63,6 +63,13 @@
     public abstract String getName();
 
     /**
+     * Get summary from MediaDevice.
+     *
+     * @return summary of MediaDevice.
+     */
+    public abstract String getSummary();
+
+    /**
      * Get resource id of MediaDevice.
      *
      * @return resource id of MediaDevice.
@@ -94,6 +101,13 @@
     public abstract void disconnect();
 
     /**
+     * According the MediaDevice type to check whether we are connected to this MediaDevice.
+     *
+     * @return Whether it is connected.
+     */
+    public abstract boolean isConnected();
+
+    /**
      * Rules:
      * 1. If there is one of the connected devices identified as a carkit, this carkit will
      * be always on the top of the device list. Rule 2 and Rule 3 can’t overrule this rule.
@@ -103,9 +117,11 @@
      * 3. For devices with usage record.
      * The most recent used one + device group with usage info sorted by how many times the
      * device has been used.
+     * 4. Phone device always in the top and the connected Bluetooth devices, cast devices and
+     * phone device will be always above on the disconnect Bluetooth devices.
      *
-     * So the device list will look like 4 slots ranked as below.
-     * Rule 1 + the most recently used device + Rule 3 + Rule 2
+     * So the device list will look like 5 slots ranked as below.
+     * Rule 4 + Rule 1 + the most recently used device + Rule 3 + Rule 2
      * Any slot could be empty. And available device will belong to one of the slots.
      *
      * @return a negative integer, zero, or a positive integer
@@ -113,6 +129,21 @@
      */
     @Override
     public int compareTo(MediaDevice another) {
+        // Check Bluetooth device is have same connection state
+        if (isConnected() ^ another.isConnected()) {
+            if (isConnected()) {
+                return -1;
+            } else {
+                return 1;
+            }
+        }
+
+        // Phone device always in the top.
+        if (mType == MediaDeviceType.TYPE_PHONE_DEVICE) {
+            return -1;
+        } else if (another.mType == MediaDeviceType.TYPE_PHONE_DEVICE) {
+            return 1;
+        }
         // Check carkit
         if (isCarKitDevice()) {
             return -1;
@@ -138,7 +169,7 @@
             final String s2 = another.getName();
             return s1.compareToIgnoreCase(s2);
         }
-        // Both devices have never been used, the priority is Cast > Bluetooth > Phone
+        // Both devices have never been used, the priority is Phone > Cast > Bluetooth
         return mType - another.mType;
     }
 
@@ -149,4 +180,13 @@
     protected boolean isCarKitDevice() {
         return false;
     }
+
+    @Override
+    public boolean equals(Object obj) {
+        if (!(obj instanceof MediaDevice)) {
+            return false;
+        }
+        final MediaDevice otherDevice = (MediaDevice) obj;
+        return otherDevice.getId().equals(getId());
+    }
 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/MediaManager.java b/packages/SettingsLib/src/com/android/settingslib/media/MediaManager.java
index 2c3a96c..7898982 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/MediaManager.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/MediaManager.java
@@ -117,6 +117,14 @@
         }
     }
 
+    protected void dispatchDataChanged() {
+        synchronized (mCallbacks) {
+            for (MediaDeviceCallback callback : mCallbacks) {
+                callback.onDeviceAttributesChanged();
+            }
+        }
+    }
+
     /**
      * Callback for notifying device is added, removed and attributes changed.
      */
@@ -150,15 +158,16 @@
         void onDeviceListRemoved(List<MediaDevice> devices);
 
         /**
-         * Callback for notifying MediaDevice attributes is changed.
-         */
-        void onDeviceAttributesChanged();
-
-        /**
          * Callback for notifying connected MediaDevice is changed.
          *
          * @param id the id of MediaDevice
          */
         void onConnectedDeviceChanged(String id);
+
+        /**
+         * Callback for notifying that MediaDevice attributes
+         * (e.g: device name, connection state, subtitle) is changed.
+         */
+        void onDeviceAttributesChanged();
     }
 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/media/PhoneMediaDevice.java b/packages/SettingsLib/src/com/android/settingslib/media/PhoneMediaDevice.java
index 8ec2a7f..8c3fcc0 100644
--- a/packages/SettingsLib/src/com/android/settingslib/media/PhoneMediaDevice.java
+++ b/packages/SettingsLib/src/com/android/settingslib/media/PhoneMediaDevice.java
@@ -18,6 +18,7 @@
 import android.content.Context;
 import android.util.Log;
 
+import com.android.settingslib.R;
 import com.android.settingslib.bluetooth.A2dpProfile;
 import com.android.settingslib.bluetooth.HearingAidProfile;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
@@ -34,6 +35,7 @@
 
     private LocalBluetoothProfileManager mProfileManager;
     private LocalBluetoothManager mLocalBluetoothManager;
+    private String mSummary = "";
 
     PhoneMediaDevice(Context context, LocalBluetoothManager localBluetoothManager) {
         super(context, MediaDeviceType.TYPE_PHONE_DEVICE);
@@ -45,14 +47,17 @@
 
     @Override
     public String getName() {
-        return mContext
-                .getString(com.android.settingslib.R.string.media_transfer_phone_device_name);
+        return mContext.getString(R.string.media_transfer_this_device_name);
+    }
+
+    @Override
+    public String getSummary() {
+        return mSummary;
     }
 
     @Override
     public int getIcon() {
-        //TODO(b/117129183): This is not final icon for phone device, just for demo.
-        return com.android.internal.R.drawable.ic_phone;
+        return R.drawable.ic_smartphone;
     }
 
     @Override
@@ -65,18 +70,38 @@
         final HearingAidProfile hapProfile = mProfileManager.getHearingAidProfile();
         final A2dpProfile a2dpProfile = mProfileManager.getA2dpProfile();
 
+        // Some device may not have HearingAidProfile, consider all situation to set active device.
         boolean isConnected = false;
-
         if (hapProfile != null && a2dpProfile != null) {
             isConnected = hapProfile.setActiveDevice(null) && a2dpProfile.setActiveDevice(null);
-            setConnectedRecord();
+        } else if (a2dpProfile != null) {
+            isConnected = a2dpProfile.setActiveDevice(null);
+        } else if (hapProfile != null) {
+            isConnected = hapProfile.setActiveDevice(null);
         }
+        updateSummary(isConnected);
+        setConnectedRecord();
+
         Log.d(TAG, "connect() device : " + getName() + ", is selected : " + isConnected);
         return isConnected;
     }
 
     @Override
     public void disconnect() {
-        //TODO(b/117129183): disconnected last select device
+        updateSummary(false);
+    }
+
+    @Override
+    public boolean isConnected() {
+        return true;
+    }
+
+    /**
+     * According current active device is {@link PhoneMediaDevice} or not to update summary.
+     */
+    public void updateSummary(boolean isActive) {
+        mSummary = isActive
+                ? mContext.getString(R.string.bluetooth_active_no_battery_level)
+                : "";
     }
 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/utils/PowerUtil.java b/packages/SettingsLib/src/com/android/settingslib/utils/PowerUtil.java
index 43c97df..7046d23 100644
--- a/packages/SettingsLib/src/com/android/settingslib/utils/PowerUtil.java
+++ b/packages/SettingsLib/src/com/android/settingslib/utils/PowerUtil.java
@@ -101,7 +101,29 @@
         if (drainTimeMs <= ONE_DAY_MILLIS) {
             return getRegularTimeRemainingShortString(context, drainTimeMs);
         } else {
-            return getMoreThanOneDayShortString(context, drainTimeMs);
+            return getMoreThanOneDayShortString(context, drainTimeMs,
+                R.string.power_remaining_duration_only_short);
+        }
+    }
+
+    /**
+     * This method produces the text used in Settings battery tip to describe the effect after
+     * use the tip.
+     *
+     * @param context
+     * @param drainTimeMs The estimated time remaining before the phone dies in milliseconds.
+     * @return a properly formatted and localized string
+     */
+    public static String getBatteryTipStringFormatted(Context context, long drainTimeMs) {
+        if (drainTimeMs <= 0) {
+            return null;
+        }
+        if (drainTimeMs <= ONE_DAY_MILLIS) {
+            return context.getString(R.string.power_suggestion_extend_battery,
+                getDateTimeStringFromMs(context, drainTimeMs));
+        } else {
+            return getMoreThanOneDayShortString(context, drainTimeMs,
+                R.string.power_remaining_only_more_than_subtext);
         }
     }
 
@@ -144,12 +166,13 @@
         }
     }
 
-    private static String getMoreThanOneDayShortString(Context context, long drainTimeMs) {
+    private static String getMoreThanOneDayShortString(Context context, long drainTimeMs,
+            int resId) {
         final long roundedTimeMs = roundTimeToNearestThreshold(drainTimeMs, ONE_HOUR_MILLIS);
         CharSequence timeString = StringUtil.formatElapsedTime(context, roundedTimeMs,
                 false /* withSeconds */);
 
-        return context.getString(R.string.power_remaining_duration_only_short, timeString);
+        return context.getString(resId, timeString);
     }
 
     private static String getMoreThanTwoDaysString(Context context, String percentageString) {
@@ -169,17 +192,8 @@
 
     private static String getRegularTimeRemainingString(Context context, long drainTimeMs,
             String percentageString, boolean basedOnUsage) {
-        // Get the time of day we think device will die rounded to the nearest 15 min.
-        final long roundedTimeOfDayMs =
-                roundTimeToNearestThreshold(
-                        System.currentTimeMillis() + drainTimeMs,
-                        FIFTEEN_MINUTES_MILLIS);
 
-        // convert the time to a properly formatted string.
-        String skeleton = android.text.format.DateFormat.getTimeFormatString(context);
-        DateFormat fmt = DateFormat.getInstanceForSkeleton(skeleton);
-        Date date = Date.from(Instant.ofEpochMilli(roundedTimeOfDayMs));
-        CharSequence timeString = fmt.format(date);
+        CharSequence timeString = getDateTimeStringFromMs(context, drainTimeMs);
 
         if (TextUtils.isEmpty(percentageString)) {
             int id = basedOnUsage
@@ -194,6 +208,20 @@
         }
     }
 
+    private static CharSequence getDateTimeStringFromMs(Context context, long drainTimeMs) {
+        // Get the time of day we think device will die rounded to the nearest 15 min.
+        final long roundedTimeOfDayMs =
+                roundTimeToNearestThreshold(
+                        System.currentTimeMillis() + drainTimeMs,
+                        FIFTEEN_MINUTES_MILLIS);
+
+        // convert the time to a properly formatted string.
+        String skeleton = android.text.format.DateFormat.getTimeFormatString(context);
+        DateFormat fmt = DateFormat.getInstanceForSkeleton(skeleton);
+        Date date = Date.from(Instant.ofEpochMilli(roundedTimeOfDayMs));
+        return fmt.format(date);
+    }
+
     private static String getRegularTimeRemainingShortString(Context context, long drainTimeMs) {
         // Get the time of day we think device will die rounded to the nearest 15 min.
         final long roundedTimeOfDayMs =
@@ -238,4 +266,4 @@
             return time - remainder + multiple;
         }
     }
-}
+}
\ No newline at end of file
diff --git a/packages/SettingsLib/src/com/android/settingslib/utils/StringUtil.java b/packages/SettingsLib/src/com/android/settingslib/utils/StringUtil.java
index 3e3c039..83ef4f9 100644
--- a/packages/SettingsLib/src/com/android/settingslib/utils/StringUtil.java
+++ b/packages/SettingsLib/src/com/android/settingslib/utils/StringUtil.java
@@ -107,20 +107,22 @@
     }
 
     /**
-     * Returns relative time for the given millis in the past, in a short format such as "2 days
-     * ago", "5 hr. ago", "40 min. ago", or "29 sec. ago".
+     * Returns relative time for the given millis in the past with different format style.
+     * In a short format such as "2 days ago", "5 hr. ago", "40 min. ago", or "29 sec. ago".
+     * In a long format such as "2 days ago", "5 hours ago",  "40 minutes ago" or "29 seconds ago".
      *
      * <p>The unit is chosen to have good information value while only using one unit. So 27 hours
      * and 50 minutes would be formatted as "28 hr. ago", while 50 hours would be formatted as
      * "2 days ago".
      *
-     * @param context the application context
-     * @param millis the elapsed time in milli seconds
+     * @param context     the application context
+     * @param millis      the elapsed time in milli seconds
      * @param withSeconds include seconds?
+     * @param formatStyle format style
      * @return the formatted elapsed time
      */
     public static CharSequence formatRelativeTime(Context context, double millis,
-            boolean withSeconds) {
+            boolean withSeconds, RelativeDateTimeFormatter.Style formatStyle) {
         final int seconds = (int) Math.floor(millis / 1000);
         final RelativeUnit unit;
         final int value;
@@ -144,9 +146,31 @@
         final RelativeDateTimeFormatter formatter = RelativeDateTimeFormatter.getInstance(
                 ULocale.forLocale(locale),
                 null /* default NumberFormat */,
-                RelativeDateTimeFormatter.Style.LONG,
+                formatStyle,
                 android.icu.text.DisplayContext.CAPITALIZATION_FOR_MIDDLE_OF_SENTENCE);
 
         return formatter.format(value, RelativeDateTimeFormatter.Direction.LAST, unit);
     }
+
+    /**
+     * Returns relative time for the given millis in the past, in a long format such as "2 days
+     * ago", "5 hours ago",  "40 minutes ago" or "29 seconds ago".
+     *
+     * <p>The unit is chosen to have good information value while only using one unit. So 27 hours
+     * and 50 minutes would be formatted as "28 hr. ago", while 50 hours would be formatted as
+     * "2 days ago".
+     *
+     * @param context     the application context
+     * @param millis      the elapsed time in milli seconds
+     * @param withSeconds include seconds?
+     * @return the formatted elapsed time
+     * @deprecated use {@link #formatRelativeTime(Context, double, boolean,
+     * RelativeDateTimeFormatter.Style)} instead.
+     */
+    @Deprecated
+    public static CharSequence formatRelativeTime(Context context, double millis,
+            boolean withSeconds) {
+        return formatRelativeTime(context, millis, withSeconds,
+                RelativeDateTimeFormatter.Style.LONG);
+    }
 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/volume/MediaSessions.java b/packages/SettingsLib/src/com/android/settingslib/volume/MediaSessions.java
index 4ed1154..f6cd971 100644
--- a/packages/SettingsLib/src/com/android/settingslib/volume/MediaSessions.java
+++ b/packages/SettingsLib/src/com/android/settingslib/volume/MediaSessions.java
@@ -95,7 +95,7 @@
         mMgr.addOnActiveSessionsChangedListener(mSessionsListener, null, mHandler);
         mInit = true;
         postUpdateSessions();
-        mMgr.setRemoteVolumeController(mRvc);
+        mMgr.registerRemoteVolumeController(mRvc);
     }
 
     protected void postUpdateSessions() {
@@ -110,6 +110,7 @@
         if (D.BUG) Log.d(TAG, "destroy");
         mInit = false;
         mMgr.removeOnActiveSessionsChangedListener(mSessionsListener);
+        mMgr.unregisterRemoteVolumeController(mRvc);
     }
 
     /**
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
index 3dd3fb6..800c401 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPoint.java
@@ -57,6 +57,7 @@
 import androidx.annotation.NonNull;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.util.CollectionUtils;
 import com.android.settingslib.R;
 import com.android.settingslib.utils.ThreadUtils;
 
@@ -133,6 +134,12 @@
     private final ArraySet<ScanResult> mScanResults = new ArraySet<>();
 
     /**
+     * Extra set of unused scan results corresponding to this AccessPoint for verbose logging
+     * purposes, such as a set of Passpoint roaming scan results when home scans are available.
+     */
+    private final ArraySet<ScanResult> mExtraScanResults = new ArraySet<>();
+
+    /**
      * Map of BSSIDs to scored networks for individual bssids.
      *
      * <p>This cache should not be evicted with scan results, as the values here are used to
@@ -216,6 +223,7 @@
      */
     private String mFqdn;
     private String mProviderFriendlyName;
+    private boolean mIsRoaming = false;
 
     private boolean mIsCarrierAp = false;
 
@@ -289,19 +297,17 @@
 
         // Calculate required fields
         updateKey();
-        updateRssi();
+        updateBestRssiInfo();
     }
 
     /**
      * Creates an AccessPoint with only a WifiConfiguration. This is used for the saved networks
      * page.
-     *
-     * Passpoint Credential AccessPoints should be created with this.
-     * Make sure to call setScanResults after constructing with this.
      */
     public AccessPoint(Context context, WifiConfiguration config) {
         mContext = context;
         loadConfig(config);
+        updateKey();
     }
 
     /**
@@ -312,42 +318,37 @@
         mContext = context;
         mFqdn = config.getHomeSp().getFqdn();
         mProviderFriendlyName = config.getHomeSp().getFriendlyName();
+        updateKey();
+    }
+
+    /**
+     * Initialize an AccessPoint object for a Passpoint network.
+     */
+    public AccessPoint(@NonNull Context context, @NonNull WifiConfiguration config,
+            @Nullable Collection<ScanResult> homeScans,
+            @Nullable Collection<ScanResult> roamingScans) {
+        mContext = context;
+        networkId = config.networkId;
+        mConfig = config;
+        setScanResultsPasspoint(homeScans, roamingScans);
+        updateKey();
     }
 
     /**
      * Initialize an AccessPoint object for a Passpoint OSU Provider.
-     * Make sure to call setScanResults after constructing with this.
      */
-    public AccessPoint(Context context, OsuProvider provider) {
+    public AccessPoint(@NonNull Context context, @NonNull OsuProvider provider,
+            @NonNull Collection<ScanResult> results) {
         mContext = context;
         mOsuProvider = provider;
-        ssid = provider.getFriendlyName();
+        setScanResults(results);
         updateKey();
     }
 
     AccessPoint(Context context, Collection<ScanResult> results) {
         mContext = context;
-
-        if (results.isEmpty()) {
-            throw new IllegalArgumentException("Cannot construct with an empty ScanResult list");
-        }
-        mScanResults.addAll(results);
-
-        // Information derived from scan results
-        ScanResult firstResult = results.iterator().next();
-        ssid = firstResult.SSID;
-        bssid = firstResult.BSSID;
-        security = getSecurity(firstResult);
-        if (security == SECURITY_PSK) {
-            pskType = getPskType(firstResult);
-        }
+        setScanResults(results);
         updateKey();
-        updateRssi();
-
-        // Passpoint Info
-        mIsCarrierAp = firstResult.isCarrierAp;
-        mCarrierApEapType = firstResult.carrierApEapType;
-        mCarrierName = firstResult.carrierName;
     }
 
     @VisibleForTesting void loadConfig(WifiConfiguration config) {
@@ -356,7 +357,6 @@
         security = getSecurity(config);
         networkId = config.networkId;
         mConfig = config;
-        updateKey();
     }
 
     /** Updates {@link #mKey} and should only called upon object creation/initialization. */
@@ -364,6 +364,8 @@
         // TODO(sghuman): Consolidate Key logic on ScanResultMatchInfo
         if (isPasspoint()) {
             mKey = getKey(mConfig);
+        } else if (isPasspointConfig()) {
+            mKey = getKey(mFqdn);
         } else if (isOsuProvider()) {
             mKey = getKey(mOsuProvider);
         } else { // Non-Passpoint AP
@@ -468,7 +470,8 @@
 
         if (isVerboseLoggingEnabled()) {
             builder.append(",rssi=").append(mRssi);
-            builder.append(",scan cache size=").append(mScanResults.size());
+            builder.append(",scan cache size=").append(mScanResults.size()
+                    + mExtraScanResults.size());
         }
 
         return builder.append(')').toString();
@@ -618,15 +621,22 @@
      */
     public static String getKey(WifiConfiguration config) {
         if (config.isPasspoint()) {
-            return new StringBuilder()
-                    .append(KEY_PREFIX_FQDN)
-                    .append(config.FQDN).toString();
+            return getKey(config.FQDN);
         } else {
             return getKey(removeDoubleQuotes(config.SSID), config.BSSID, getSecurity(config));
         }
     }
 
     /**
+     * Returns the AccessPoint key corresponding to a Passpoint network by its FQDN.
+     */
+    public static String getKey(String fqdn) {
+        return new StringBuilder()
+                .append(KEY_PREFIX_FQDN)
+                .append(fqdn).toString();
+    }
+
+    /**
      * Returns the AccessPoint key corresponding to the OsuProvider.
      */
     public static String getKey(OsuProvider provider) {
@@ -703,14 +713,19 @@
      *
      * <p>Callers should not modify this set.
      */
-    public Set<ScanResult> getScanResults() { return mScanResults; }
+    public Set<ScanResult> getScanResults() {
+        Set<ScanResult> allScans = new ArraySet<>();
+        allScans.addAll(mScanResults);
+        allScans.addAll(mExtraScanResults);
+        return allScans;
+    }
 
     public Map<String, TimestampedScoredNetwork> getScoredNetworkCache() {
         return mScoredNetworkCache;
     }
 
     /**
-     * Updates {@link #mRssi}.
+     * Updates {@link #mRssi} and sets scan result information to that of the best RSSI scan result.
      *
      * <p>If the given connection is active, the existing value of {@link #mRssi} will be returned.
      * If the given AccessPoint is not active, a value will be calculated from previous scan
@@ -718,22 +733,41 @@
      * value. If the access point is not connected and there are no scan results, the rssi will be
      * set to {@link #UNREACHABLE_RSSI}.
      */
-    private void updateRssi() {
+    private void updateBestRssiInfo() {
         if (this.isActive()) {
             return;
         }
 
-        int rssi = UNREACHABLE_RSSI;
+        ScanResult bestResult = null;
+        int bestRssi = UNREACHABLE_RSSI;
         for (ScanResult result : mScanResults) {
-            if (result.level > rssi) {
-                rssi = result.level;
+            if (result.level > bestRssi) {
+                bestRssi = result.level;
+                bestResult = result;
             }
         }
 
-        if (rssi != UNREACHABLE_RSSI && mRssi != UNREACHABLE_RSSI) {
-            mRssi = (mRssi + rssi) / 2; // half-life previous value
+        // Set the rssi to the average of the current rssi and the previous rssi.
+        if (bestRssi != UNREACHABLE_RSSI && mRssi != UNREACHABLE_RSSI) {
+            mRssi = (mRssi + bestRssi) / 2;
         } else {
-            mRssi = rssi;
+            mRssi = bestRssi;
+        }
+
+        if (bestResult != null) {
+            ssid = bestResult.SSID;
+            bssid = bestResult.BSSID;
+            security = getSecurity(bestResult);
+            if (security == SECURITY_PSK) {
+                pskType = getPskType(bestResult);
+            }
+            mIsCarrierAp = bestResult.isCarrierAp;
+            mCarrierApEapType = bestResult.carrierApEapType;
+            mCarrierName = bestResult.carrierName;
+        }
+        // Update the config SSID of a Passpoint network to that of the best RSSI
+        if (isPasspoint()) {
+            mConfig.SSID = convertToQuotedString(ssid);
         }
     }
 
@@ -809,6 +843,11 @@
         return ssid;
     }
 
+    /**
+     * Returns the name associated with the stored config.
+     * @deprecated Please use {@link #getTitle()} instead to get the display name of an AccessPoint.
+     */
+    @Deprecated
     public String getConfigName() {
         if (mConfig != null && mConfig.isPasspoint()) {
             return mConfig.providerFriendlyName;
@@ -871,6 +910,8 @@
     public String getTitle() {
         if (isPasspoint()) {
             return mConfig.providerFriendlyName;
+        } else if (isPasspointConfig()) {
+            return mProviderFriendlyName;
         } else if (isOsuProvider()) {
             return mOsuProvider.getFriendlyName();
         } else {
@@ -897,18 +938,12 @@
                 summary.append(mContext.getString(R.string.tap_to_sign_up));
             }
         } else if (isActive()) {
-            if (isPasspoint()) {
-                // This is the active connection on passpoint
-                summary.append(getSummary(mContext, /* ssid */ null, getDetailedState(),
-                        /* isEphemeral */ false,
-                        /* suggestionOrSpecifierPackageName */ null));
-            } else if (mConfig != null && getDetailedState() == DetailedState.CONNECTED
+            if (mConfig != null && getDetailedState() == DetailedState.CONNECTED
                     && mIsCarrierAp) {
                 // This is the active connection on a carrier AP
                 summary.append(String.format(mContext.getString(R.string.connected_via_carrier),
                         mCarrierName));
             } else {
-                // This is the active connection on non-passpoint network
                 summary.append(getSummary(mContext, /* ssid */ null, getDetailedState(),
                         mInfo != null && mInfo.isEphemeral(),
                         mInfo != null ? mInfo.getNetworkSuggestionOrSpecifierPackageName() : null));
@@ -1036,8 +1071,8 @@
     public void startOsuProvisioning() {
         mContext.getSystemService(WifiManager.class).startSubscriptionProvisioning(
                 mOsuProvider,
-                new AccessPointProvisioningCallback(),
-                ThreadUtils.getUiThreadHandler()
+                mContext.getMainExecutor(),
+                new AccessPointProvisioningCallback()
         );
     }
 
@@ -1051,7 +1086,7 @@
             return (info.isOsuAp() && mOsuStatus != null);
         } else if (info.isPasspointAp() || isPasspoint()) {
             return (info.isPasspointAp() && isPasspoint()
-                    && TextUtils.equals(info.getFqdn(), mConfig.FQDN));
+                    && TextUtils.equals(info.getPasspointFqdn(), mConfig.FQDN));
         }
 
         if (networkId != WifiConfiguration.INVALID_NETWORK_ID) {
@@ -1107,7 +1142,8 @@
         if (mConfig != null) savedState.putParcelable(KEY_CONFIG, mConfig);
         savedState.putParcelable(KEY_WIFIINFO, mInfo);
         savedState.putParcelableArray(KEY_SCANRESULTS,
-                mScanResults.toArray(new Parcelable[mScanResults.size()]));
+                mScanResults.toArray(new Parcelable[mScanResults.size()
+                        + mExtraScanResults.size()]));
         savedState.putParcelableArrayList(KEY_SCOREDNETWORKCACHE,
                 new ArrayList<>(mScoredNetworkCache.values()));
         if (mNetworkInfo != null) {
@@ -1129,24 +1165,27 @@
     }
 
     /**
-     * Sets {@link #mScanResults} to the given collection.
+     * Sets {@link #mScanResults} to the given collection and updates info based on the best RSSI
+     * scan result.
      *
      * @param scanResults a collection of scan results to add to the internal set
-     * @throws IllegalArgumentException if any of the given ScanResults did not belong to this AP
      */
     void setScanResults(Collection<ScanResult> scanResults) {
+        if (CollectionUtils.isEmpty(scanResults)) {
+            Log.d(TAG, "Cannot set scan results to empty list");
+            return;
+        }
 
         // Validate scan results are for current AP only by matching SSID/BSSID
         // Passpoint networks are not bound to a specific SSID/BSSID, so skip this for passpoint.
-        if (!isPasspoint() && !isOsuProvider()) {
-            String key = getKey();
+        if (mKey != null && !isPasspoint() && !isOsuProvider()) {
             for (ScanResult result : scanResults) {
                 String scanResultKey = AccessPoint.getKey(result);
-                if (!mKey.equals(scanResultKey)) {
-                    throw new IllegalArgumentException(
-                            String.format(
+                if (mKey != null && !mKey.equals(scanResultKey)) {
+                    Log.d(TAG, String.format(
                                     "ScanResult %s\nkey of %s did not match current AP key %s",
-                                    result, scanResultKey, key));
+                                    result, scanResultKey, mKey));
+                    return;
                 }
             }
         }
@@ -1154,7 +1193,7 @@
         int oldLevel = getLevel();
         mScanResults.clear();
         mScanResults.addAll(scanResults);
-        updateRssi();
+        updateBestRssiInfo();
         int newLevel = getLevel();
 
         // If newLevel is 0, there will be no displayed Preference since the AP is unreachable
@@ -1174,20 +1213,26 @@
                 mAccessPointListener.onAccessPointChanged(this);
             }
         });
+    }
 
-        if (!scanResults.isEmpty()) {
-            ScanResult result = scanResults.iterator().next();
-
-            // This flag only comes from scans, is not easily saved in config
-            if (security == SECURITY_PSK) {
-                pskType = getPskType(result);
+    /**
+     * Sets the internal scan result cache to the list of home scans.
+     * If there are no home scans, then the roaming scan list is used, and the AccessPoint is
+     * marked as roaming.
+     */
+    void setScanResultsPasspoint(
+            @Nullable Collection<ScanResult> homeScans,
+            @Nullable Collection<ScanResult> roamingScans) {
+        mExtraScanResults.clear();
+        if (!CollectionUtils.isEmpty(homeScans)) {
+            if (!CollectionUtils.isEmpty(roamingScans)) {
+                mExtraScanResults.addAll(roamingScans);
             }
-
-            // The carrier info in the ScanResult is set by the platform based on the SSID and will
-            // always be the same for all matching scan results.
-            mIsCarrierAp = result.isCarrierAp;
-            mCarrierApEapType = result.carrierApEapType;
-            mCarrierName = result.carrierName;
+            mIsRoaming = false;
+            setScanResults(homeScans);
+        } else if (!CollectionUtils.isEmpty(roamingScans)) {
+            mIsRoaming = true;
+            setScanResults(roamingScans);
         }
     }
 
@@ -1204,7 +1249,6 @@
      */
     public boolean update(
             @Nullable WifiConfiguration config, WifiInfo info, NetworkInfo networkInfo) {
-
         boolean updated = false;
         final int oldLevel = getLevel();
         if (info != null && isInfoForThisAccessPoint(config, info)) {
@@ -1538,7 +1582,8 @@
      *
      * All methods are invoked on the Main Thread
      */
-    private class AccessPointProvisioningCallback extends ProvisioningCallback {
+    @VisibleForTesting
+    class AccessPointProvisioningCallback extends ProvisioningCallback {
         @Override
         @MainThread public void onProvisioningFailure(int status) {
             if (TextUtils.equals(mOsuStatus, mContext.getString(R.string.osu_completing_sign_up))) {
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java
index 1fa7083..6269a71 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/AccessPointPreference.java
@@ -232,7 +232,7 @@
      * Updates the title and summary; may indirectly call notifyChanged().
      */
     public void refresh() {
-        setTitle(this, mAccessPoint, mForSavedNetworks);
+        setTitle(this, mAccessPoint);
         final Context context = getContext();
         int level = mAccessPoint.getLevel();
         int wifiSpeed = mAccessPoint.getSpeed();
@@ -262,12 +262,8 @@
     }
 
     @VisibleForTesting
-    static void setTitle(AccessPointPreference preference, AccessPoint ap, boolean savedNetworks) {
-        if (savedNetworks) {
-            preference.setTitle(ap.getConfigName());
-        } else {
-            preference.setTitle(ap.getTitle());
-        }
+    static void setTitle(AccessPointPreference preference, AccessPoint ap) {
+        preference.setTitle(ap.getTitle());
     }
 
     /**
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java
index 871e248..2ab369c 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiStatusTracker.java
@@ -117,7 +117,11 @@
             if (connected) {
                 mWifiInfo = mWifiManager.getConnectionInfo();
                 if (mWifiInfo != null) {
-                    ssid = getValidSsid(mWifiInfo);
+                    if (mWifiInfo.isPasspointAp() || mWifiInfo.isOsuAp()) {
+                        ssid = mWifiInfo.getPasspointProviderFriendlyName();
+                    } else {
+                        ssid = getValidSsid(mWifiInfo);
+                    }
                     updateRssi(mWifiInfo.getRssi());
                     maybeRequestNetworkScore();
                 }
diff --git a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
index 9ce6b34..fdc0fd3 100644
--- a/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
+++ b/packages/SettingsLib/src/com/android/settingslib/wifi/WifiTracker.java
@@ -53,7 +53,6 @@
 import androidx.annotation.NonNull;
 import androidx.annotation.VisibleForTesting;
 
-import com.android.internal.util.CollectionUtils;
 import com.android.settingslib.R;
 import com.android.settingslib.core.lifecycle.Lifecycle;
 import com.android.settingslib.core.lifecycle.LifecycleObserver;
@@ -609,23 +608,23 @@
 
             // Log accesspoints that are being removed
             if (DBG()) {
-                Log.d(TAG, "------ Dumping SSIDs that were not seen on this scan ------");
+                Log.d(TAG,
+                        "------ Dumping AccessPoints that were not seen on this scan ------");
                 for (AccessPoint prevAccessPoint : mInternalAccessPoints) {
-                    if (prevAccessPoint.getSsid() == null)
-                        continue;
-                    String prevSsid = prevAccessPoint.getSsidStr();
+                    String prevTitle = prevAccessPoint.getTitle();
                     boolean found = false;
                     for (AccessPoint newAccessPoint : accessPoints) {
-                        if (newAccessPoint.getSsidStr() != null && newAccessPoint.getSsidStr()
-                                .equals(prevSsid)) {
+                        if (newAccessPoint.getTitle() != null && newAccessPoint.getTitle()
+                                .equals(prevTitle)) {
                             found = true;
                             break;
                         }
                     }
                     if (!found)
-                        Log.d(TAG, "Did not find " + prevSsid + " in this scan");
+                        Log.d(TAG, "Did not find " + prevTitle + " in this scan");
                 }
-                Log.d(TAG, "---- Done dumping SSIDs that were not seen on this scan ----");
+                Log.d(TAG,
+                        "---- Done dumping AccessPoints that were not seen on this scan ----");
             }
 
             mInternalAccessPoints.clear();
@@ -646,30 +645,14 @@
                 Map<Integer, List<ScanResult>>> pairing : passpointConfigsAndScans) {
             WifiConfiguration config = pairing.first;
             if (seenFQDNs.add(config.FQDN)) {
-                List<ScanResult> apScanResults = new ArrayList<>();
-
                 List<ScanResult> homeScans =
                         pairing.second.get(WifiManager.PASSPOINT_HOME_NETWORK);
                 List<ScanResult> roamingScans =
                         pairing.second.get(WifiManager.PASSPOINT_ROAMING_NETWORK);
 
-                // TODO(b/118705403): Differentiate home network vs roaming network for summary info
-                if (!CollectionUtils.isEmpty(homeScans)) {
-                    apScanResults.addAll(homeScans);
-                } else if (!CollectionUtils.isEmpty(roamingScans)) {
-                    apScanResults.addAll(roamingScans);
-                }
-
-                int bestRssi = Integer.MIN_VALUE;
-                for (ScanResult result : apScanResults) {
-                    if (result.level >= bestRssi) {
-                        bestRssi = result.level;
-                        config.SSID = AccessPoint.convertToQuotedString(result.SSID);
-                    }
-                }
-
                 AccessPoint accessPoint =
-                        getCachedOrCreatePasspoint(apScanResults, accessPointCache, config);
+                        getCachedOrCreatePasspoint(config, homeScans, roamingScans,
+                                accessPointCache);
                 accessPoints.add(accessPoint);
             }
         }
@@ -688,8 +671,8 @@
         for (OsuProvider provider : providersAndScans.keySet()) {
             if (!alreadyProvisioned.contains(provider)) {
                 AccessPoint accessPointOsu =
-                        getCachedOrCreateOsu(providersAndScans.get(provider),
-                                accessPointCache, provider);
+                        getCachedOrCreateOsu(provider, providersAndScans.get(provider),
+                                accessPointCache);
                 accessPoints.add(accessPointOsu);
             }
         }
@@ -709,26 +692,29 @@
     }
 
     private AccessPoint getCachedOrCreatePasspoint(
-            List<ScanResult> scanResults,
-            List<AccessPoint> cache,
-            WifiConfiguration config) {
+            WifiConfiguration config,
+            List<ScanResult> homeScans,
+            List<ScanResult> roamingScans,
+            List<AccessPoint> cache) {
         AccessPoint accessPoint = getCachedByKey(cache, AccessPoint.getKey(config));
         if (accessPoint == null) {
-            accessPoint = new AccessPoint(mContext, config);
+            accessPoint = new AccessPoint(mContext, config, homeScans, roamingScans);
+        } else {
+            accessPoint.setScanResultsPasspoint(homeScans, roamingScans);
         }
-        accessPoint.setScanResults(scanResults);
         return accessPoint;
     }
 
     private AccessPoint getCachedOrCreateOsu(
+            OsuProvider provider,
             List<ScanResult> scanResults,
-            List<AccessPoint> cache,
-            OsuProvider provider) {
+            List<AccessPoint> cache) {
         AccessPoint accessPoint = getCachedByKey(cache, AccessPoint.getKey(provider));
         if (accessPoint == null) {
-            accessPoint = new AccessPoint(mContext, provider);
+            accessPoint = new AccessPoint(mContext, provider, scanResults);
+        } else {
+            accessPoint.setScanResults(scanResults);
         }
-        accessPoint.setScanResults(scanResults);
         return accessPoint;
     }
 
diff --git a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java
index f5ead0c..9c8e3f4 100644
--- a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java
+++ b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/AccessPointTest.java
@@ -43,13 +43,16 @@
 import android.net.wifi.WifiInfo;
 import android.net.wifi.WifiNetworkScoreCache;
 import android.net.wifi.WifiSsid;
+import android.net.wifi.hotspot2.OsuProvider;
 import android.net.wifi.hotspot2.PasspointConfiguration;
+import android.net.wifi.hotspot2.ProvisioningCallback;
 import android.net.wifi.hotspot2.pps.HomeSp;
 import android.os.Bundle;
 import android.os.Parcelable;
 import android.os.SystemClock;
 import android.text.SpannableString;
 import android.text.format.DateUtils;
+import android.util.ArraySet;
 
 import androidx.test.InstrumentationRegistry;
 import androidx.test.filters.SmallTest;
@@ -68,6 +71,9 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Set;
 import java.util.concurrent.CountDownLatch;
 
 @SmallTest
@@ -75,8 +81,11 @@
 public class AccessPointTest {
 
     private static final String TEST_SSID = "\"test_ssid\"";
+    private static final String ROAMING_SSID = "\"roaming_ssid\"";
+    private static final String OSU_FRIENDLY_NAME = "osu_friendly_name";
 
-    private static final ArrayList<ScanResult> SCAN_RESULTS = buildScanResultCache();
+    private ArrayList<ScanResult> mScanResults;
+    private ArrayList<ScanResult> mRoamingScans;
 
     private static final RssiCurve FAST_BADGE_CURVE =
             new RssiCurve(-150, 10, new byte[]{Speed.FAST});
@@ -88,10 +97,11 @@
     private WifiInfo mWifiInfo;
     @Mock private RssiCurve mockBadgeCurve;
     @Mock private WifiNetworkScoreCache mockWifiNetworkScoreCache;
-    public static final int NETWORK_ID = 123;
-    public static final int DEFAULT_RSSI = -55;
+    @Mock private AccessPoint.AccessPointListener mMockAccessPointListener;
+    private static final int NETWORK_ID = 123;
+    private static final int DEFAULT_RSSI = -55;
 
-    private static ScanResult createScanResult(String ssid, String bssid, int rssi) {
+    private ScanResult createScanResult(String ssid, String bssid, int rssi) {
         ScanResult scanResult = new ScanResult();
         scanResult.SSID = ssid;
         scanResult.level = rssi;
@@ -101,6 +111,12 @@
         return scanResult;
     }
 
+    private OsuProvider createOsuProvider() {
+        Map<String, String> friendlyNames = new HashMap<>();
+        friendlyNames.put("en", OSU_FRIENDLY_NAME);
+        return new OsuProvider(null, friendlyNames, null, null, null, null, null);
+    }
+
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
@@ -108,6 +124,8 @@
         mWifiInfo = new WifiInfo();
         mWifiInfo.setSSID(WifiSsid.createFromAsciiEncoded(TEST_SSID));
         mWifiInfo.setBSSID(TEST_BSSID);
+        mScanResults = buildScanResultCache(TEST_SSID);
+        mRoamingScans = buildScanResultCache(ROAMING_SSID);
         WifiTracker.sVerboseLogging = false;
     }
 
@@ -573,14 +591,14 @@
         Bundle bundle = new Bundle();
         bundle.putParcelableArray(
                 AccessPoint.KEY_SCANRESULTS,
-                SCAN_RESULTS.toArray(new Parcelable[SCAN_RESULTS.size()]));
+                mScanResults.toArray(new Parcelable[mScanResults.size()]));
         return new AccessPoint(mContext, bundle);
     }
 
-    private static ArrayList<ScanResult> buildScanResultCache() {
+    private ArrayList<ScanResult> buildScanResultCache(String ssid) {
         ArrayList<ScanResult> scanResults = new ArrayList<>();
         for (int i = 0; i < 5; i++) {
-            ScanResult scanResult = createScanResult(TEST_SSID, "bssid-" + i, i);
+            ScanResult scanResult = createScanResult(ssid, "bssid-" + i, i);
             scanResults.add(scanResult);
         }
         return scanResults;
@@ -695,7 +713,7 @@
                 .setProviderFriendlyName(providerFriendlyName).build();
         assertThat(ap.isPasspointConfig()).isTrue();
         assertThat(ap.getPasspointFqdn()).isEqualTo(fqdn);
-        assertThat(ap.getConfigName()).isEqualTo(providerFriendlyName);
+        assertThat(ap.getTitle()).isEqualTo(providerFriendlyName);
     }
 
     @Test
@@ -975,12 +993,12 @@
         int speed1 = Speed.MODERATE;
         RssiCurve badgeCurve1 = mock(RssiCurve.class);
         when(badgeCurve1.lookupScore(anyInt())).thenReturn((byte) speed1);
-        when(mockWifiNetworkScoreCache.getScoredNetwork(SCAN_RESULTS.get(0)))
+        when(mockWifiNetworkScoreCache.getScoredNetwork(mScanResults.get(0)))
                 .thenReturn(buildScoredNetworkWithGivenBadgeCurve(badgeCurve1));
         int speed2 = Speed.VERY_FAST;
         RssiCurve badgeCurve2 = mock(RssiCurve.class);
         when(badgeCurve2.lookupScore(anyInt())).thenReturn((byte) speed2);
-        when(mockWifiNetworkScoreCache.getScoredNetwork(SCAN_RESULTS.get(1)))
+        when(mockWifiNetworkScoreCache.getScoredNetwork(mScanResults.get(1)))
                 .thenReturn(buildScoredNetworkWithGivenBadgeCurve(badgeCurve2));
 
         int expectedSpeed = (speed1 + speed2) / 2;
@@ -998,12 +1016,12 @@
         int speed1 = Speed.VERY_FAST;
         RssiCurve badgeCurve1 = mock(RssiCurve.class);
         when(badgeCurve1.lookupScore(anyInt())).thenReturn((byte) speed1);
-        when(mockWifiNetworkScoreCache.getScoredNetwork(SCAN_RESULTS.get(0)))
+        when(mockWifiNetworkScoreCache.getScoredNetwork(mScanResults.get(0)))
                 .thenReturn(buildScoredNetworkWithGivenBadgeCurve(badgeCurve1));
         int speed2 = Speed.NONE;
         RssiCurve badgeCurve2 = mock(RssiCurve.class);
         when(badgeCurve2.lookupScore(anyInt())).thenReturn((byte) speed2);
-        when(mockWifiNetworkScoreCache.getScoredNetwork(SCAN_RESULTS.get(1)))
+        when(mockWifiNetworkScoreCache.getScoredNetwork(mScanResults.get(1)))
                 .thenReturn(buildScoredNetworkWithGivenBadgeCurve(badgeCurve2));
 
         ap.update(
@@ -1123,7 +1141,7 @@
                 .setActive(true)
                 .setScoredNetworkCache(
                         new ArrayList(Arrays.asList(recentScore)))
-                .setScanResults(SCAN_RESULTS)
+                .setScanResults(mScanResults)
                 .build();
 
         when(mockWifiNetworkScoreCache.getScoredNetwork(any(ScanResult.class)))
@@ -1151,7 +1169,7 @@
                 .setActive(true)
                 .setScoredNetworkCache(
                         new ArrayList(Arrays.asList(recentScore)))
-                .setScanResults(SCAN_RESULTS)
+                .setScanResults(mScanResults)
                 .build();
 
         int newSpeed = Speed.MODERATE;
@@ -1196,7 +1214,7 @@
         AccessPoint ap = new TestAccessPointBuilder(mContext)
                 .setSsid(TEST_SSID)
                 .setBssid(TEST_BSSID)
-                .setScanResults(SCAN_RESULTS)
+                .setScanResults(mScanResults)
                 .build();
 
         assertThat(ap.update(null, mWifiInfo, null)).isFalse();
@@ -1217,4 +1235,180 @@
 
         assertThat(passpointAp.update(null, mWifiInfo, null)).isFalse();
     }
+
+    /**
+     * Verifies that an AccessPoint's getKey() is consistent with the overloaded static getKey().
+     */
+    @Test
+    public void testGetKey_matchesKeysCorrectly() {
+        AccessPoint ap = new AccessPoint(mContext, mScanResults);
+        assertThat(ap.getKey()).isEqualTo(AccessPoint.getKey(mScanResults.get(0)));
+
+        WifiConfiguration spyConfig = spy(new WifiConfiguration());
+        when(spyConfig.isPasspoint()).thenReturn(true);
+        spyConfig.FQDN = "fqdn";
+        AccessPoint passpointAp = new AccessPoint(mContext, spyConfig, mScanResults, null);
+        assertThat(passpointAp.getKey()).isEqualTo(AccessPoint.getKey(spyConfig));
+
+        PasspointConfiguration passpointConfig = new PasspointConfiguration();
+        HomeSp homeSp = new HomeSp();
+        homeSp.setFqdn("fqdn");
+        homeSp.setFriendlyName("Test Provider");
+        passpointConfig.setHomeSp(homeSp);
+        AccessPoint passpointConfigAp = new AccessPoint(mContext, passpointConfig);
+        assertThat(passpointConfigAp.getKey()).isEqualTo(AccessPoint.getKey("fqdn"));
+
+        OsuProvider provider = createOsuProvider();
+        AccessPoint osuAp = new AccessPoint(mContext, provider, mScanResults);
+        assertThat(osuAp.getKey()).isEqualTo(AccessPoint.getKey(provider));
+    }
+
+    /**
+     * Verifies that the Passpoint AccessPoint constructor creates AccessPoints whose isPasspoint()
+     * returns true.
+     */
+    @Test
+    public void testPasspointAccessPointConstructor_createdAccessPointIsPasspoint() {
+        WifiConfiguration spyConfig = spy(new WifiConfiguration());
+        when(spyConfig.isPasspoint()).thenReturn(true);
+        AccessPoint passpointAccessPoint = new AccessPoint(mContext, spyConfig,
+                mScanResults, mRoamingScans);
+
+        assertThat(passpointAccessPoint.isPasspoint()).isTrue();
+    }
+
+    /**
+     * Verifies that Passpoint AccessPoints set their config's SSID to the home scans', and to the
+     * roaming scans' if no home scans are available.
+     */
+    @Test
+    public void testSetScanResultsPasspoint_differentiatesHomeAndRoaming() {
+        WifiConfiguration spyConfig = spy(new WifiConfiguration());
+        when(spyConfig.isPasspoint()).thenReturn(true);
+        AccessPoint passpointAccessPoint = new AccessPoint(mContext, spyConfig,
+                mScanResults, mRoamingScans);
+        assertThat(AccessPoint.removeDoubleQuotes(spyConfig.SSID)).isEqualTo(TEST_SSID);
+
+        passpointAccessPoint.setScanResultsPasspoint(null, mRoamingScans);
+        assertThat(AccessPoint.removeDoubleQuotes(spyConfig.SSID)).isEqualTo(ROAMING_SSID);
+
+        passpointAccessPoint.setScanResultsPasspoint(mScanResults, null);
+        assertThat(AccessPoint.removeDoubleQuotes(spyConfig.SSID)).isEqualTo(TEST_SSID);
+    }
+
+    /**
+     * Verifies that getScanResults returns both home and roaming scans.
+     */
+    @Test
+    public void testGetScanResults_showsHomeAndRoamingScans() {
+        WifiConfiguration spyConfig = spy(new WifiConfiguration());
+        when(spyConfig.isPasspoint()).thenReturn(true);
+        AccessPoint passpointAccessPoint = new AccessPoint(mContext, spyConfig,
+                mScanResults, mRoamingScans);
+        Set<ScanResult> fullSet = new ArraySet<>();
+        fullSet.addAll(mScanResults);
+        fullSet.addAll(mRoamingScans);
+        assertThat(passpointAccessPoint.getScanResults()).isEqualTo(fullSet);
+    }
+
+    /**
+     * Verifies that the Passpoint AccessPoint takes the ssid of the strongest scan result.
+     */
+    @Test
+    public void testPasspointAccessPoint_setsBestSsid() {
+        WifiConfiguration spyConfig = spy(new WifiConfiguration());
+        when(spyConfig.isPasspoint()).thenReturn(true);
+
+        String badSsid = "badSsid";
+        String goodSsid = "goodSsid";
+        String bestSsid = "bestSsid";
+        ScanResult badScanResult = createScanResult(badSsid, TEST_BSSID, -100);
+        ScanResult goodScanResult = createScanResult(goodSsid, TEST_BSSID, -10);
+        ScanResult bestScanResult = createScanResult(bestSsid, TEST_BSSID, -1);
+
+        AccessPoint passpointAccessPoint = new AccessPoint(mContext, spyConfig,
+                Arrays.asList(badScanResult, goodScanResult), null);
+        assertThat(passpointAccessPoint.getConfig().SSID)
+                .isEqualTo(AccessPoint.convertToQuotedString(goodSsid));
+        passpointAccessPoint.setScanResultsPasspoint(
+                Arrays.asList(badScanResult, goodScanResult, bestScanResult), null);
+        assertThat(passpointAccessPoint.getConfig().SSID)
+                .isEqualTo(AccessPoint.convertToQuotedString(bestSsid));
+    }
+
+    /**
+     * Verifies that the OSU AccessPoint constructor creates AccessPoints whose isOsuProvider()
+     * returns true.
+     */
+    @Test
+    public void testOsuAccessPointConstructor_createdAccessPointIsOsuProvider() {
+        AccessPoint osuAccessPoint = new AccessPoint(mContext, createOsuProvider(),
+                mScanResults);
+
+        assertThat(osuAccessPoint.isOsuProvider()).isTrue();
+    }
+
+    /**
+     * Verifies that the summary of an OSU entry only shows the tap_to_sign_up string.
+     */
+    @Test
+    public void testOsuAccessPointSummary_showsTapToSignUp() {
+        AccessPoint osuAccessPoint = new AccessPoint(mContext, createOsuProvider(),
+                mScanResults);
+
+        assertThat(osuAccessPoint.getSummary())
+                .isEqualTo(mContext.getString(R.string.tap_to_sign_up));
+    }
+
+    @Test
+    public void testOsuAccessPointSummary_showsProvisioningUpdates() {
+        AccessPoint osuAccessPoint = new AccessPoint(mContext, createOsuProvider(),
+                mScanResults);
+
+        osuAccessPoint.setListener(mMockAccessPointListener);
+
+        AccessPoint.AccessPointProvisioningCallback provisioningCallback =
+                osuAccessPoint.new AccessPointProvisioningCallback();
+
+        int[] openingProviderStatuses = {
+                ProvisioningCallback.OSU_STATUS_AP_CONNECTING,
+                ProvisioningCallback.OSU_STATUS_AP_CONNECTED,
+                ProvisioningCallback.OSU_STATUS_SERVER_CONNECTING,
+                ProvisioningCallback.OSU_STATUS_SERVER_VALIDATED,
+                ProvisioningCallback.OSU_STATUS_SERVER_CONNECTED,
+                ProvisioningCallback.OSU_STATUS_INIT_SOAP_EXCHANGE,
+                ProvisioningCallback.OSU_STATUS_WAITING_FOR_REDIRECT_RESPONSE
+        };
+        int[] completingSignUpStatuses = {
+                ProvisioningCallback.OSU_STATUS_REDIRECT_RESPONSE_RECEIVED,
+                ProvisioningCallback.OSU_STATUS_SECOND_SOAP_EXCHANGE,
+                ProvisioningCallback.OSU_STATUS_THIRD_SOAP_EXCHANGE,
+                ProvisioningCallback.OSU_STATUS_RETRIEVING_TRUST_ROOT_CERTS,
+        };
+
+        for (int status : openingProviderStatuses) {
+            provisioningCallback.onProvisioningStatus(status);
+            assertThat(osuAccessPoint.getSummary())
+                    .isEqualTo(String.format(mContext.getString(R.string.osu_opening_provider),
+                            OSU_FRIENDLY_NAME));
+        }
+
+        provisioningCallback.onProvisioningFailure(0);
+        assertThat(osuAccessPoint.getSummary())
+                .isEqualTo(mContext.getString(R.string.osu_connect_failed));
+
+        for (int status : completingSignUpStatuses) {
+            provisioningCallback.onProvisioningStatus(status);
+            assertThat(osuAccessPoint.getSummary())
+                    .isEqualTo(mContext.getString(R.string.osu_completing_sign_up));
+        }
+
+        provisioningCallback.onProvisioningFailure(0);
+        assertThat(osuAccessPoint.getSummary())
+                .isEqualTo(mContext.getString(R.string.osu_sign_up_failed));
+
+        provisioningCallback.onProvisioningComplete();
+        assertThat(osuAccessPoint.getSummary())
+                .isEqualTo(mContext.getString(R.string.osu_sign_up_complete));
+    }
 }
diff --git a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
index 7d22788..edf414d 100644
--- a/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
+++ b/packages/SettingsLib/tests/integ/src/com/android/settingslib/wifi/WifiTrackerTest.java
@@ -1155,8 +1155,7 @@
                 providersAndScans, cachedAccessPoints);
 
         // Verify second update AP is the same object as the first update AP
-        assertTrue(osuAccessPointsFirstUpdate.get(0)
-                == osuAccessPointsSecondUpdate.get(0));
+        assertThat(osuAccessPointsFirstUpdate.get(0)).isSameAs(osuAccessPointsSecondUpdate.get(0));
         // Verify second update AP has the average of the first and second update RSSIs
         assertThat(osuAccessPointsSecondUpdate.get(0).getRssi())
                 .isEqualTo((prevRssi + newRssi) / 2);
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/applications/ApplicationsStateRoboTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/applications/ApplicationsStateRoboTest.java
index a098ecc..b27efd0 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/applications/ApplicationsStateRoboTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/applications/ApplicationsStateRoboTest.java
@@ -16,11 +16,17 @@
 
 package com.android.settingslib.applications;
 
+import static android.os.UserHandle.MU_ENABLED;
+
 import static com.google.common.truth.Truth.assertThat;
 
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyInt;
 import static org.mockito.Matchers.anyString;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 import static org.robolectric.shadow.api.Shadow.extract;
@@ -40,10 +46,13 @@
 import android.content.pm.PackageManager;
 import android.content.pm.ParceledListSlice;
 import android.content.pm.ResolveInfo;
+import android.content.res.Resources;
 import android.graphics.drawable.ColorDrawable;
 import android.graphics.drawable.Drawable;
 import android.os.Handler;
+import android.os.RemoteException;
 import android.os.UserHandle;
+import android.os.UserManager;
 import android.text.TextUtils;
 import android.util.IconDrawableFactory;
 
@@ -70,6 +79,7 @@
 import org.robolectric.shadows.ShadowLooper;
 
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.UUID;
 
@@ -82,6 +92,19 @@
     private final static String HOME_PACKAGE_NAME = "com.android.home";
     private final static String LAUNCHABLE_PACKAGE_NAME = "com.android.launchable";
 
+    private static final int PROFILE_USERID = 10;
+
+    private static final String PKG_1 = "PKG1";
+    private static final int OWNER_UID_1 = 1001;
+    private static final int PROFILE_UID_1 = UserHandle.getUid(PROFILE_USERID, OWNER_UID_1);
+
+    private static final String PKG_2 = "PKG2";
+    private static final int OWNER_UID_2 = 1002;
+    private static final int PROFILE_UID_2 = UserHandle.getUid(PROFILE_USERID, OWNER_UID_2);
+
+    private static final String PKG_3 = "PKG3";
+    private static final int OWNER_UID_3 = 1003;
+
     /** Class under test */
     private ApplicationsState mApplicationsState;
     private Session mSession;
@@ -171,7 +194,7 @@
         storageStats.dataBytes = 20;
         storageStats.cacheBytes = 30;
         when(mStorageStatsManager.queryStatsForPackage(any(UUID.class),
-                anyString(), any(UserHandle.class))).thenReturn(storageStats);
+            anyString(), any(UserHandle.class))).thenReturn(storageStats);
 
         // Set up 3 installed apps, in which 1 is hidden module
         final List<ApplicationInfo> infos = new ArrayList<>();
@@ -195,11 +218,16 @@
     }
 
     private ApplicationInfo createApplicationInfo(String packageName) {
+        return createApplicationInfo(packageName, 0);
+    }
+
+    private ApplicationInfo createApplicationInfo(String packageName, int uid) {
         ApplicationInfo appInfo = new ApplicationInfo();
         appInfo.sourceDir = "foo";
         appInfo.flags |= ApplicationInfo.FLAG_INSTALLED;
         appInfo.storageUuid = UUID.randomUUID();
         appInfo.packageName = packageName;
+        appInfo.uid = uid;
         return appInfo;
     }
 
@@ -211,10 +239,14 @@
     }
 
     private void addApp(String packageName, int id) {
-        ApplicationInfo appInfo = createApplicationInfo(packageName);
+        addApp(packageName, id, 0);
+    }
+
+    private void addApp(String packageName, int id, int userId) {
+        ApplicationInfo appInfo = createApplicationInfo(packageName, id);
         AppEntry appEntry = createAppEntry(appInfo, id);
         mApplicationsState.mAppEntries.add(appEntry);
-        mApplicationsState.mEntriesMap.get(0).put(appInfo.packageName, appEntry);
+        mApplicationsState.mEntriesMap.get(userId).put(appInfo.packageName, appEntry);
     }
 
     private void processAllMessages() {
@@ -351,4 +383,328 @@
         assertThat(mApplications.get(1).packageName).isEqualTo("test.package.3");
     }
 
+    @Test
+    public void removeAndInstall_noWorkprofile_doResumeIfNeededLocked_shouldClearEntries()
+            throws RemoteException {
+        // scenario: only owner user
+        // (PKG_1, PKG_2) -> (PKG_2, PKG_3)
+        // PKG_1 is removed and PKG_3 is installed before app is resumed.
+        ApplicationsState.sInstance = null;
+        mApplicationsState = spy(
+            ApplicationsState
+                .getInstance(RuntimeEnvironment.application, mock(IPackageManager.class)));
+
+        // Previous Applications:
+        ApplicationInfo appInfo;
+        final ArrayList<ApplicationInfo> prevAppList = new ArrayList<>();
+        appInfo = createApplicationInfo(PKG_1, OWNER_UID_1);
+        prevAppList.add(appInfo);
+        appInfo = createApplicationInfo(PKG_2, OWNER_UID_2);
+        prevAppList.add(appInfo);
+        mApplicationsState.mApplications = prevAppList;
+
+        // Previous Entries:
+        // (PKG_1, PKG_2)
+        addApp(PKG_1, OWNER_UID_1, 0);
+        addApp(PKG_2, OWNER_UID_2, 0);
+
+        // latest Applications:
+        // (PKG_2, PKG_3)
+        final ArrayList<ApplicationInfo> appList = new ArrayList<>();
+        appInfo = createApplicationInfo(PKG_2, OWNER_UID_2);
+        appList.add(appInfo);
+        appInfo = createApplicationInfo(PKG_3, OWNER_UID_3);
+        appList.add(appInfo);
+        setupDoResumeIfNeededLocked(appList, null);
+
+        mApplicationsState.doResumeIfNeededLocked();
+
+        verify(mApplicationsState).clearEntries();
+    }
+
+    @Test
+    public void noAppRemoved_noWorkprofile_doResumeIfNeededLocked_shouldNotClearEntries()
+            throws RemoteException {
+        // scenario: only owner user
+        // (PKG_1, PKG_2)
+        ApplicationsState.sInstance = null;
+        mApplicationsState = spy(
+            ApplicationsState
+                .getInstance(RuntimeEnvironment.application, mock(IPackageManager.class)));
+
+        ApplicationInfo appInfo;
+        // Previous Applications
+        final ArrayList<ApplicationInfo> prevAppList = new ArrayList<>();
+        appInfo = createApplicationInfo(PKG_1, OWNER_UID_1);
+        prevAppList.add(appInfo);
+        appInfo = createApplicationInfo(PKG_2, OWNER_UID_2);
+        prevAppList.add(appInfo);
+        mApplicationsState.mApplications = prevAppList;
+
+        // Previous Entries:
+        // (pk1, PKG_2)
+        addApp(PKG_1, OWNER_UID_1, 0);
+        addApp(PKG_2, OWNER_UID_2, 0);
+
+        // latest Applications:
+        // (PKG_2, PKG_3)
+        final ArrayList<ApplicationInfo> appList = new ArrayList<>();
+        appInfo = createApplicationInfo(PKG_1, OWNER_UID_1);
+        appList.add(appInfo);
+        appInfo = createApplicationInfo(PKG_2, OWNER_UID_2);
+        appList.add(appInfo);
+        setupDoResumeIfNeededLocked(appList, null);
+
+        mApplicationsState.doResumeIfNeededLocked();
+
+        verify(mApplicationsState, never()).clearEntries();
+    }
+
+    @Test
+    public void removeProfileApp_workprofileExists_doResumeIfNeededLocked_shouldClearEntries()
+            throws RemoteException {
+        if (!MU_ENABLED) {
+            return;
+        }
+        // [Preconditions]
+        // 2 apps (PKG_1, PKG_2) for owner, PKG_1 is not in installed state
+        // 2 apps (PKG_1, PKG_2) for non-owner.
+        //
+        // [Actions]
+        // profile user's PKG_2 is removed before resume
+        //
+        // Applications:
+        // owner -  (PKG_1 - uninstalled, PKG_2) -> (PKG_1 - uninstalled, PKG_2)
+        // profile - (PKG_1, PKG_2) -> (PKG_1)
+        //
+        // Previous Entries:
+        // owner - (PKG_2)
+        // profile - (PKG_1, PKG_2)
+
+        ShadowUserManager shadowUserManager = Shadow
+                .extract(RuntimeEnvironment.application.getSystemService(UserManager.class));
+        shadowUserManager.addProfile(PROFILE_USERID, "profile");
+
+        ApplicationsState.sInstance = null;
+        mApplicationsState = spy(
+            ApplicationsState
+                .getInstance(RuntimeEnvironment.application, mock(IPackageManager.class)));
+
+        ApplicationInfo appInfo;
+        // Previous Applications
+        // owner -  (PKG_1 - uninstalled, PKG_2)
+        // profile - (PKG_1, PKG_2)
+        final ArrayList<ApplicationInfo> prevAppList = new ArrayList<>();
+        appInfo = createApplicationInfo(PKG_1, OWNER_UID_1);
+        appInfo.flags ^= ApplicationInfo.FLAG_INSTALLED;
+        prevAppList.add(appInfo);
+        appInfo = createApplicationInfo(PKG_2, OWNER_UID_2);
+        prevAppList.add(appInfo);
+
+        appInfo = createApplicationInfo(PKG_1, PROFILE_UID_1);
+        prevAppList.add(appInfo);
+        appInfo = createApplicationInfo(PKG_2, PROFILE_UID_2);
+        prevAppList.add(appInfo);
+
+        mApplicationsState.mApplications = prevAppList;
+        // Previous Entries:
+        // owner (PKG_2), profile (pk1, PKG_2)
+        // PKG_1 is not installed for owner, hence it's removed from entries
+        addApp(PKG_2, OWNER_UID_2, 0);
+        addApp(PKG_1, PROFILE_UID_1, PROFILE_USERID);
+        addApp(PKG_2, PROFILE_UID_2, PROFILE_USERID);
+
+        // latest Applications:
+        // owner (PKG_1, PKG_2), profile (PKG_1)
+        // owner's PKG_1 is still listed and is in non-installed state
+        // profile user's PKG_2 is removed by a user before resume
+        //owner
+        final ArrayList<ApplicationInfo> ownerAppList = new ArrayList<>();
+        appInfo = createApplicationInfo(PKG_1, OWNER_UID_1);
+        appInfo.flags ^= ApplicationInfo.FLAG_INSTALLED;
+        ownerAppList.add(appInfo);
+        appInfo = createApplicationInfo(PKG_2, OWNER_UID_2);
+        ownerAppList.add(appInfo);
+        //profile
+        appInfo = createApplicationInfo(PKG_1, PROFILE_UID_1);
+        setupDoResumeIfNeededLocked(ownerAppList, new ArrayList<>(Arrays.asList(appInfo)));
+
+        mApplicationsState.doResumeIfNeededLocked();
+
+        verify(mApplicationsState).clearEntries();
+    }
+
+    @Test
+    public void removeOwnerApp_workprofileExists_doResumeIfNeededLocked_shouldClearEntries()
+            throws RemoteException {
+        if (!MU_ENABLED) {
+            return;
+        }
+        // [Preconditions]
+        // 2 apps (PKG_1, PKG_2) for owner, PKG_1 is not in installed state
+        // 2 apps (PKG_1, PKG_2) for non-owner.
+        //
+        // [Actions]
+        // Owner user's PKG_2 is removed before resume
+        //
+        // Applications:
+        // owner -  (PKG_1 - uninstalled, PKG_2) -> (PKG_1 - uninstalled, PKG_2 - uninstalled)
+        // profile - (PKG_1, PKG_2) -> (PKG_1, PKG_2)
+        //
+        // Previous Entries:
+        // owner - (PKG_2)
+        // profile - (PKG_1, PKG_2)
+
+        ShadowUserManager shadowUserManager = Shadow
+                .extract(RuntimeEnvironment.application.getSystemService(UserManager.class));
+        shadowUserManager.addProfile(PROFILE_USERID, "profile");
+
+        ApplicationsState.sInstance = null;
+        mApplicationsState = spy(
+            ApplicationsState
+                .getInstance(RuntimeEnvironment.application, mock(IPackageManager.class)));
+
+        ApplicationInfo appInfo;
+        // Previous Applications:
+        // owner -  (PKG_1 - uninstalled, PKG_2)
+        // profile - (PKG_1, PKG_2)
+        final ArrayList<ApplicationInfo> prevAppList = new ArrayList<>();
+        appInfo = createApplicationInfo(PKG_1, OWNER_UID_1);
+        appInfo.flags ^= ApplicationInfo.FLAG_INSTALLED;
+        prevAppList.add(appInfo);
+        appInfo = createApplicationInfo(PKG_2, OWNER_UID_2);
+        prevAppList.add(appInfo);
+
+        appInfo = createApplicationInfo(PKG_1, PROFILE_UID_1);
+        prevAppList.add(appInfo);
+        appInfo = createApplicationInfo(PKG_2, PROFILE_UID_2);
+        prevAppList.add(appInfo);
+
+        mApplicationsState.mApplications = prevAppList;
+
+        // Previous Entries:
+        // owner (PKG_2), profile (pk1, PKG_2)
+        // PKG_1 is not installed for owner, hence it's removed from entries
+        addApp(PKG_2, OWNER_UID_2, 0);
+        addApp(PKG_1, PROFILE_UID_1, PROFILE_USERID);
+        addApp(PKG_2, PROFILE_UID_2, PROFILE_USERID);
+
+        // latest Applications:
+        // owner (PKG_1 - uninstalled, PKG_2 - uninstalled), profile (PKG_1, PKG_2)
+        // owner's PKG_1, PKG_2 is still listed and is in non-installed state
+        // profile user's PKG_2 is removed before resume
+        //owner
+        final ArrayList<ApplicationInfo> ownerAppList = new ArrayList<>();
+        appInfo = createApplicationInfo(PKG_1, OWNER_UID_1);
+        appInfo.flags ^= ApplicationInfo.FLAG_INSTALLED;
+        ownerAppList.add(appInfo);
+        appInfo = createApplicationInfo(PKG_2, OWNER_UID_2);
+        appInfo.flags ^= ApplicationInfo.FLAG_INSTALLED;
+        ownerAppList.add(appInfo);
+
+        //profile
+        final ArrayList<ApplicationInfo> profileAppList = new ArrayList<>();
+        appInfo = createApplicationInfo(PKG_1, PROFILE_UID_1);
+        profileAppList.add(appInfo);
+        appInfo = createApplicationInfo(PKG_2, PROFILE_UID_2);
+        profileAppList.add(appInfo);
+        setupDoResumeIfNeededLocked(ownerAppList, profileAppList);
+
+        mApplicationsState.doResumeIfNeededLocked();
+
+        verify(mApplicationsState).clearEntries();
+    }
+
+    @Test
+    public void noAppRemoved_workprofileExists_doResumeIfNeededLocked_shouldNotClearEntries()
+            throws RemoteException {
+        if (!MU_ENABLED) {
+            return;
+        }
+        // [Preconditions]
+        // 2 apps (PKG_1, PKG_2) for owner, PKG_1 is not in installed state
+        // 2 apps (PKG_1, PKG_2) for non-owner.
+        //
+        // Applications:
+        // owner -  (PKG_1 - uninstalled, PKG_2)
+        // profile - (PKG_1, PKG_2)
+        //
+        // Previous Entries:
+        // owner - (PKG_2)
+        // profile - (PKG_1, PKG_2)
+
+        ShadowUserManager shadowUserManager = Shadow
+                .extract(RuntimeEnvironment.application.getSystemService(UserManager.class));
+        shadowUserManager.addProfile(PROFILE_USERID, "profile");
+
+        ApplicationsState.sInstance = null;
+        mApplicationsState = spy(
+            ApplicationsState
+                .getInstance(RuntimeEnvironment.application, mock(IPackageManager.class)));
+
+        ApplicationInfo appInfo;
+        // Previous Applications:
+        // owner -  (PKG_1 - uninstalled, PKG_2)
+        // profile - (PKG_1, PKG_2)
+        final ArrayList<ApplicationInfo> prevAppList = new ArrayList<>();
+        appInfo = createApplicationInfo(PKG_1, OWNER_UID_1);
+        appInfo.flags ^= ApplicationInfo.FLAG_INSTALLED;
+        prevAppList.add(appInfo);
+        appInfo = createApplicationInfo(PKG_2, OWNER_UID_2);
+        prevAppList.add(appInfo);
+
+        appInfo = createApplicationInfo(PKG_1, PROFILE_UID_1);
+        prevAppList.add(appInfo);
+        appInfo = createApplicationInfo(PKG_2, PROFILE_UID_2);
+        prevAppList.add(appInfo);
+
+        mApplicationsState.mApplications = prevAppList;
+        // Previous Entries:
+        // owner (PKG_2), profile (pk1, PKG_2)
+        // PKG_1 is not installed for owner, hence it's removed from entries
+        addApp(PKG_2, OWNER_UID_2, 0);
+        addApp(PKG_1, PROFILE_UID_1, PROFILE_USERID);
+        addApp(PKG_2, PROFILE_UID_2, PROFILE_USERID);
+
+        // latest Applications:
+        // owner (PKG_1 - uninstalled, PKG_2), profile (PKG_1, PKG_2)
+        // owner's PKG_1 is still listed and is in non-installed state
+
+        // owner
+        final ArrayList<ApplicationInfo> ownerAppList = new ArrayList<>();
+        appInfo = createApplicationInfo(PKG_1, OWNER_UID_1);
+        appInfo.flags ^= ApplicationInfo.FLAG_INSTALLED;
+        ownerAppList.add(appInfo);
+        appInfo = createApplicationInfo(PKG_2, OWNER_UID_2);
+        ownerAppList.add(appInfo);
+
+        // profile
+        final ArrayList<ApplicationInfo> profileAppList = new ArrayList<>();
+        appInfo = createApplicationInfo(PKG_1, PROFILE_UID_1);
+        profileAppList.add(appInfo);
+        appInfo = createApplicationInfo(PKG_2, PROFILE_UID_2);
+        profileAppList.add(appInfo);
+        setupDoResumeIfNeededLocked(ownerAppList, profileAppList);
+
+        mApplicationsState.doResumeIfNeededLocked();
+
+        verify(mApplicationsState, never()).clearEntries();
+    }
+
+    private void setupDoResumeIfNeededLocked(ArrayList<ApplicationInfo> ownerApps,
+            ArrayList<ApplicationInfo> profileApps)
+            throws RemoteException {
+
+        if (ownerApps != null) {
+            when(mApplicationsState.mIpm.getInstalledApplications(anyInt(), eq(0)))
+                .thenReturn(new ParceledListSlice<>(ownerApps));
+        }
+        if (profileApps != null) {
+            when(mApplicationsState.mIpm.getInstalledApplications(anyInt(), eq(PROFILE_USERID)))
+                .thenReturn(new ParceledListSlice<>(profileApps));
+        }
+        final InterestingConfigChanges configChanges = mock(InterestingConfigChanges.class);
+        when(configChanges.applyNewConfig(any(Resources.class))).thenReturn(false);
+        mApplicationsState.setInterestingConfigChanges(configChanges);
+    }
 }
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileTest.java
index 491f32d..bfda888 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/drawer/TileTest.java
@@ -9,7 +9,11 @@
 
 import static com.google.common.truth.Truth.assertThat;
 
+import android.content.Context;
+import android.content.Intent;
 import android.content.pm.ActivityInfo;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.ResolveInfo;
 import android.os.Bundle;
 
 import org.junit.Before;
@@ -17,17 +21,22 @@
 import org.junit.runner.RunWith;
 import org.robolectric.RobolectricTestRunner;
 import org.robolectric.RuntimeEnvironment;
+import org.robolectric.shadow.api.Shadow;
+import org.robolectric.shadows.ShadowPackageManager;
 
 @RunWith(RobolectricTestRunner.class)
 public class TileTest {
 
+    private Context mContext;
     private ActivityInfo mActivityInfo;
     private Tile mTile;
 
     @Before
     public void setUp() {
+        mContext = RuntimeEnvironment.application;
         mActivityInfo = new ActivityInfo();
-        mActivityInfo.packageName = RuntimeEnvironment.application.getPackageName();
+        mActivityInfo.applicationInfo = new ApplicationInfo();
+        mActivityInfo.packageName = mContext.getPackageName();
         mActivityInfo.name = "abc";
         mActivityInfo.icon = com.android.internal.R.drawable.ic_plus;
         mActivityInfo.metaData = new Bundle();
@@ -143,4 +152,21 @@
 
         assertThat(tile.getOrder()).isEqualTo(1);
     }
+
+    @Test
+    public void getTitle_shouldEnsureMetadataNotStale() {
+        final ResolveInfo info = new ResolveInfo();
+        info.activityInfo = mActivityInfo;
+        final ShadowPackageManager spm = Shadow.extract(mContext.getPackageManager());
+        spm.addResolveInfoForIntent(
+                new Intent().setClassName(mActivityInfo.packageName, mActivityInfo.name), info);
+
+        final Tile tile = new Tile(mActivityInfo, "category");
+        final long staleTimeStamp = -10000;
+        tile.mLastUpdateTime = staleTimeStamp;
+
+        tile.getTitle(RuntimeEnvironment.application);
+
+        assertThat(tile.mLastUpdateTime).isNotEqualTo(staleTimeStamp);
+    }
 }
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/fuelgauge/BatterySaverUtilsTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/fuelgauge/BatterySaverUtilsTest.java
index 2988905..2bb3c2a 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/fuelgauge/BatterySaverUtilsTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/fuelgauge/BatterySaverUtilsTest.java
@@ -60,7 +60,7 @@
 
         when(mMockContext.getContentResolver()).thenReturn(mMockResolver);
         when(mMockContext.getSystemService(eq(PowerManager.class))).thenReturn(mMockPowerManager);
-        when(mMockPowerManager.setPowerSaveMode(anyBoolean())).thenReturn(true);
+        when(mMockPowerManager.setPowerSaveModeEnabled(anyBoolean())).thenReturn(true);
     }
 
     @Test
@@ -71,7 +71,7 @@
         assertThat(BatterySaverUtils.setPowerSaveMode(mMockContext, true, true)).isFalse();
 
         verify(mMockContext, times(1)).sendBroadcast(any(Intent.class));
-        verify(mMockPowerManager, times(0)).setPowerSaveMode(anyBoolean());
+        verify(mMockPowerManager, times(0)).setPowerSaveModeEnabled(anyBoolean());
 
         // They shouldn't have changed.
         assertEquals(-1,
@@ -88,7 +88,7 @@
         assertThat(BatterySaverUtils.setPowerSaveMode(mMockContext, true, true)).isTrue();
 
         verify(mMockContext, times(0)).sendBroadcast(any(Intent.class));
-        verify(mMockPowerManager, times(1)).setPowerSaveMode(eq(true));
+        verify(mMockPowerManager, times(1)).setPowerSaveModeEnabled(eq(true));
 
         assertEquals(1, Secure.getInt(mMockResolver, Secure.LOW_POWER_WARNING_ACKNOWLEDGED, -1));
         assertEquals(1, Secure.getInt(mMockResolver, Secure.LOW_POWER_MANUAL_ACTIVATION_COUNT, -2));
@@ -102,7 +102,7 @@
         assertThat(BatterySaverUtils.setPowerSaveMode(mMockContext, true, true)).isTrue();
 
         verify(mMockContext, times(0)).sendBroadcast(any(Intent.class));
-        verify(mMockPowerManager, times(1)).setPowerSaveMode(eq(true));
+        verify(mMockPowerManager, times(1)).setPowerSaveModeEnabled(eq(true));
 
         assertEquals(1, Secure.getInt(mMockResolver, Secure.LOW_POWER_WARNING_ACKNOWLEDGED, -1));
         assertEquals(2, Secure.getInt(mMockResolver, Secure.LOW_POWER_MANUAL_ACTIVATION_COUNT, -2));
@@ -116,7 +116,7 @@
         assertThat(BatterySaverUtils.setPowerSaveMode(mMockContext, true, false)).isTrue();
 
         verify(mMockContext, times(0)).sendBroadcast(any(Intent.class));
-        verify(mMockPowerManager, times(1)).setPowerSaveMode(eq(true));
+        verify(mMockPowerManager, times(1)).setPowerSaveModeEnabled(eq(true));
 
         assertEquals(1, Secure.getInt(mMockResolver, Secure.LOW_POWER_WARNING_ACKNOWLEDGED, -1));
         assertEquals(1, Secure.getInt(mMockResolver, Secure.LOW_POWER_MANUAL_ACTIVATION_COUNT, -2));
@@ -131,7 +131,7 @@
         assertThat(BatterySaverUtils.setPowerSaveMode(mMockContext, false, false)).isTrue();
 
         verify(mMockContext, times(0)).sendBroadcast(any(Intent.class));
-        verify(mMockPowerManager, times(1)).setPowerSaveMode(eq(false));
+        verify(mMockPowerManager, times(1)).setPowerSaveModeEnabled(eq(false));
 
         assertEquals(-1, Secure.getInt(mMockResolver, Secure.LOW_POWER_WARNING_ACKNOWLEDGED, -1));
         assertEquals(-2,
@@ -147,7 +147,7 @@
         assertThat(BatterySaverUtils.setPowerSaveMode(mMockContext, false, true)).isTrue();
 
         verify(mMockContext, times(0)).sendBroadcast(any(Intent.class));
-        verify(mMockPowerManager, times(1)).setPowerSaveMode(eq(false));
+        verify(mMockPowerManager, times(1)).setPowerSaveModeEnabled(eq(false));
 
         assertEquals(-1, Secure.getInt(mMockResolver, Secure.LOW_POWER_WARNING_ACKNOWLEDGED, -1));
         assertEquals(-2,
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/BluetoothMediaDeviceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/BluetoothMediaDeviceTest.java
index e5d1b18..e0e2fd6 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/BluetoothMediaDeviceTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/BluetoothMediaDeviceTest.java
@@ -20,6 +20,7 @@
 
 import static org.mockito.Mockito.when;
 
+import android.bluetooth.BluetoothDevice;
 import android.bluetooth.BluetoothProfile;
 import android.content.Context;
 
@@ -66,4 +67,20 @@
 
         assertThat(mBluetoothMediaDevice.connect()).isFalse();
     }
+
+    @Test
+    public void isCachedBluetoothDeviceConnected_deviceConnected_returnTrue() {
+        when(mDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mDevice.isConnected()).thenReturn(true);
+
+        assertThat(mBluetoothMediaDevice.isConnected()).isTrue();
+    }
+
+    @Test
+    public void isCachedBluetoothDeviceConnected_deviceNotConnected_returnFalse() {
+        when(mDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mDevice.isConnected()).thenReturn(false);
+
+        assertThat(mBluetoothMediaDevice.isConnected()).isFalse();
+    }
 }
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/BluetoothMediaManagerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/BluetoothMediaManagerTest.java
index a20e22b..48449f2 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/BluetoothMediaManagerTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/BluetoothMediaManagerTest.java
@@ -87,15 +87,16 @@
     }
 
     @Test
-    public void startScan_haveA2dpProfileConnectedBluetoothDevice_shouldAddDevice() {
+    public void startScan_haveA2dpProfileDeviceIsPreferredAndBonded_shouldAddDevice() {
         final List<BluetoothDevice> devices = new ArrayList<>();
         final CachedBluetoothDevice cachedDevice = mock(CachedBluetoothDevice.class);
         final BluetoothDevice bluetoothDevice = mock(BluetoothDevice.class);
         devices.add(bluetoothDevice);
 
-        when(mA2dpProfile.getConnectedDevices()).thenReturn(devices);
+        when(mA2dpProfile.getConnectableDevices()).thenReturn(devices);
         when(mCachedDeviceManager.findDevice(bluetoothDevice)).thenReturn(cachedDevice);
-        when(cachedDevice.isConnected()).thenReturn(true);
+        when(cachedDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mA2dpProfile.isPreferred(bluetoothDevice)).thenReturn(true);
 
         assertThat(mMediaManager.mMediaDevices).isEmpty();
         mMediaManager.startScan();
@@ -103,15 +104,16 @@
     }
 
     @Test
-    public void startScan_haveA2dpProfileDisconnectedBluetoothDevice_shouldNotAddDevice() {
+    public void startScan_haveA2dpProfileDeviceIsPreferredAndBondNone_shouldNotAddDevice() {
         final List<BluetoothDevice> devices = new ArrayList<>();
         final CachedBluetoothDevice cachedDevice = mock(CachedBluetoothDevice.class);
         final BluetoothDevice bluetoothDevice = mock(BluetoothDevice.class);
         devices.add(bluetoothDevice);
 
-        when(mA2dpProfile.getConnectedDevices()).thenReturn(devices);
+        when(mA2dpProfile.getConnectableDevices()).thenReturn(devices);
         when(mCachedDeviceManager.findDevice(bluetoothDevice)).thenReturn(cachedDevice);
-        when(cachedDevice.isConnected()).thenReturn(false);
+        when(cachedDevice.getBondState()).thenReturn(BluetoothDevice.BOND_NONE);
+        when(mA2dpProfile.isPreferred(bluetoothDevice)).thenReturn(true);
 
         assertThat(mMediaManager.mMediaDevices).isEmpty();
         mMediaManager.startScan();
@@ -122,7 +124,7 @@
     public void startScan_noA2dpProfileBluetoothDevice_shouldNotAddDevice() {
         final List<BluetoothDevice> devices = new ArrayList<>();
 
-        when(mA2dpProfile.getConnectedDevices()).thenReturn(devices);
+        when(mA2dpProfile.getConnectableDevices()).thenReturn(devices);
 
         assertThat(mMediaManager.mMediaDevices).isEmpty();
         mMediaManager.startScan();
@@ -130,15 +132,16 @@
     }
 
     @Test
-    public void startScan_haveHapProfileConnectedBluetoothDevice_shouldAddDevice() {
+    public void startScan_haveHapProfileDeviceIsPreferredAndBonded_shouldAddDevice() {
         final List<BluetoothDevice> devices = new ArrayList<>();
         final CachedBluetoothDevice cachedDevice = mock(CachedBluetoothDevice.class);
         final BluetoothDevice bluetoothDevice = mock(BluetoothDevice.class);
         devices.add(bluetoothDevice);
 
-        when(mHapProfile.getConnectedDevices()).thenReturn(devices);
+        when(mHapProfile.getConnectableDevices()).thenReturn(devices);
         when(mCachedDeviceManager.findDevice(bluetoothDevice)).thenReturn(cachedDevice);
-        when(cachedDevice.isConnected()).thenReturn(true);
+        when(cachedDevice.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mHapProfile.isPreferred(bluetoothDevice)).thenReturn(true);
 
         assertThat(mMediaManager.mMediaDevices).isEmpty();
         mMediaManager.startScan();
@@ -149,7 +152,7 @@
     public void startScan_noHapProfileBluetoothDevice_shouldNotAddDevice() {
         final List<BluetoothDevice> devices = new ArrayList<>();
 
-        when(mHapProfile.getConnectedDevices()).thenReturn(devices);
+        when(mHapProfile.getConnectableDevices()).thenReturn(devices);
 
         assertThat(mMediaManager.mMediaDevices).isEmpty();
         mMediaManager.startScan();
@@ -230,9 +233,14 @@
     public void onBluetoothStateChanged_bluetoothStateIsOff_callOnDeviceListRemoved() {
         final BluetoothMediaDevice device1 = mock(BluetoothMediaDevice.class);
         final BluetoothMediaDevice device2 = mock(BluetoothMediaDevice.class);
+        final CachedBluetoothDevice cachedDevice1 = mock(CachedBluetoothDevice.class);
+        final CachedBluetoothDevice cachedDevice2 = mock(CachedBluetoothDevice.class);
         mMediaManager.mMediaDevices.add(device1);
         mMediaManager.mMediaDevices.add(device2);
 
+        when(device1.getCachedDevice()).thenReturn(cachedDevice1);
+        when(device2.getCachedDevice()).thenReturn(cachedDevice2);
+
         mMediaManager.registerCallback(mCallback);
         mMediaManager.onBluetoothStateChanged(BluetoothAdapter.STATE_OFF);
 
@@ -311,28 +319,30 @@
     }
 
     @Test
-    public void onProfileConnectionStateChanged_cachedDeviceIsConnect_callOnDeviceAdded() {
-        final CachedBluetoothDevice device = mock(CachedBluetoothDevice.class);
-
-        when(device.isConnectedHearingAidDevice()).thenReturn(true);
-        when(device.isConnectedA2dpDevice()).thenReturn(true);
-
-        assertThat(mMediaManager.mMediaDevices).isEmpty();
-        mMediaManager.registerCallback(mCallback);
-        mMediaManager.onProfileConnectionStateChanged(device, 0, 0);
-
-        assertThat(mMediaManager.mMediaDevices).hasSize(1);
-        verify(mCallback).onDeviceAdded(any());
-    }
-
-    @Test
-    public void onProfileConnectionStateChanged_cachedDeviceIsDisconnect_callOnDeviceRemoved() {
+    public void onProfileConnectionStateChanged_cachedDeviceIsBonded_callDeviceAttributesChanged() {
         final CachedBluetoothDevice device = mock(CachedBluetoothDevice.class);
         final BluetoothMediaDevice bluetoothMediaDevice = mock(BluetoothMediaDevice.class);
         mMediaManager.mMediaDevices.add(bluetoothMediaDevice);
 
-        when(device.isConnectedHearingAidDevice()).thenReturn(false);
-        when(device.isConnectedA2dpDevice()).thenReturn(false);
+        when(device.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(device.getAddress()).thenReturn(TEST_ADDRESS);
+        when(bluetoothMediaDevice.getId()).thenReturn(TEST_ADDRESS);
+
+        assertThat(mMediaManager.mMediaDevices).hasSize(1);
+        mMediaManager.registerCallback(mCallback);
+        mMediaManager.onProfileConnectionStateChanged(device, 0, 0);
+
+        assertThat(mMediaManager.mMediaDevices).hasSize(1);
+        verify(mCallback).onDeviceAttributesChanged();
+    }
+
+    @Test
+    public void onProfileConnectionStateChanged_cachedDeviceIsBondNone_callOnDeviceRemoved() {
+        final CachedBluetoothDevice device = mock(CachedBluetoothDevice.class);
+        final BluetoothMediaDevice bluetoothMediaDevice = mock(BluetoothMediaDevice.class);
+        mMediaManager.mMediaDevices.add(bluetoothMediaDevice);
+
+        when(device.getBondState()).thenReturn(BluetoothDevice.BOND_NONE);
         when(device.getAddress()).thenReturn(TEST_ADDRESS);
         when(bluetoothMediaDevice.getId()).thenReturn(TEST_ADDRESS);
 
@@ -345,28 +355,30 @@
     }
 
     @Test
-    public void onAclConnectionStateChanged_cachedDeviceIsConnect_callOnDeviceAdded() {
-        final CachedBluetoothDevice device = mock(CachedBluetoothDevice.class);
-
-        when(device.isConnectedHearingAidDevice()).thenReturn(true);
-        when(device.isConnectedA2dpDevice()).thenReturn(true);
-
-        assertThat(mMediaManager.mMediaDevices).isEmpty();
-        mMediaManager.registerCallback(mCallback);
-        mMediaManager.onAclConnectionStateChanged(device, 0);
-
-        assertThat(mMediaManager.mMediaDevices).hasSize(1);
-        verify(mCallback).onDeviceAdded(any());
-    }
-
-    @Test
-    public void onAclConnectionStateChanged_cachedDeviceIsDisconnect_callOnDeviceRemoved() {
+    public void onAclConnectionStateChanged_cachedDeviceIsBonded_callDeviceAttributesChanged() {
         final CachedBluetoothDevice device = mock(CachedBluetoothDevice.class);
         final BluetoothMediaDevice bluetoothMediaDevice = mock(BluetoothMediaDevice.class);
         mMediaManager.mMediaDevices.add(bluetoothMediaDevice);
 
-        when(device.isConnectedHearingAidDevice()).thenReturn(false);
-        when(device.isConnectedA2dpDevice()).thenReturn(false);
+        when(device.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(device.getAddress()).thenReturn(TEST_ADDRESS);
+        when(bluetoothMediaDevice.getId()).thenReturn(TEST_ADDRESS);
+
+        assertThat(mMediaManager.mMediaDevices).hasSize(1);
+        mMediaManager.registerCallback(mCallback);
+        mMediaManager.onAclConnectionStateChanged(device, 0);
+
+        assertThat(mMediaManager.mMediaDevices).hasSize(1);
+        verify(mCallback).onDeviceAttributesChanged();
+    }
+
+    @Test
+    public void onAclConnectionStateChanged_cachedDeviceIsBondNone_callOnDeviceRemoved() {
+        final CachedBluetoothDevice device = mock(CachedBluetoothDevice.class);
+        final BluetoothMediaDevice bluetoothMediaDevice = mock(BluetoothMediaDevice.class);
+        mMediaManager.mMediaDevices.add(bluetoothMediaDevice);
+
+        when(device.getBondState()).thenReturn(BluetoothDevice.BOND_NONE);
         when(device.getAddress()).thenReturn(TEST_ADDRESS);
         when(bluetoothMediaDevice.getId()).thenReturn(TEST_ADDRESS);
 
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java
index 3556814..98bb74a 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/LocalMediaManagerTest.java
@@ -28,6 +28,7 @@
 import android.content.Context;
 
 import com.android.settingslib.bluetooth.A2dpProfile;
+import com.android.settingslib.bluetooth.CachedBluetoothDevice;
 import com.android.settingslib.bluetooth.HearingAidProfile;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
 import com.android.settingslib.bluetooth.LocalBluetoothProfileManager;
@@ -113,6 +114,23 @@
     }
 
     @Test
+    public void connectDevice_bluetoothDeviceNotConnected_connectBluetoothDevice() {
+        final MediaDevice device = mock(BluetoothMediaDevice.class);
+        final CachedBluetoothDevice cachedDevice = mock(CachedBluetoothDevice.class);
+        mLocalMediaManager.mMediaDevices.add(device);
+
+        when(device.getId()).thenReturn(TEST_DEVICE_ID_1);
+        when(((BluetoothMediaDevice) device).getCachedDevice()).thenReturn(cachedDevice);
+        when(cachedDevice.isConnected()).thenReturn(false);
+        when(cachedDevice.isBusy()).thenReturn(false);
+
+        mLocalMediaManager.registerCallback(mCallback);
+        mLocalMediaManager.connectDevice(device);
+
+        verify(cachedDevice).connect(true);
+    }
+
+    @Test
     public void getMediaDeviceById_idExist_shouldReturnMediaDevice() {
         final MediaDevice device1 = mock(MediaDevice.class);
         final MediaDevice device2 = mock(MediaDevice.class);
@@ -322,15 +340,6 @@
     }
 
     @Test
-    public void onDeviceAttributesChanged_shouldDispatchDeviceListUpdate() {
-        mLocalMediaManager.registerCallback(mCallback);
-
-        mLocalMediaManager.mMediaDeviceCallback.onDeviceAttributesChanged();
-
-        verify(mCallback).onDeviceListUpdate(any());
-    }
-
-    @Test
     public void onConnectedDeviceChanged_connectedAndCurrentDeviceAreDifferent_notifyThemChanged() {
         final MediaDevice device1 = mock(MediaDevice.class);
         final MediaDevice device2 = mock(MediaDevice.class);
@@ -366,4 +375,13 @@
 
         verify(mCallback, never()).onDeviceListUpdate(any());
     }
+
+    @Test
+    public void onDeviceAttributesChanged_shouldDispatchDeviceListUpdate() {
+        mLocalMediaManager.registerCallback(mCallback);
+
+        mLocalMediaManager.mMediaDeviceCallback.onDeviceAttributesChanged();
+
+        verify(mCallback).onDeviceListUpdate(any());
+    }
 }
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/MediaDeviceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/MediaDeviceTest.java
index fc514f0..23d2c74 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/MediaDeviceTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/MediaDeviceTest.java
@@ -114,6 +114,12 @@
         when(mCachedDevice1.getDevice()).thenReturn(mDevice1);
         when(mCachedDevice2.getDevice()).thenReturn(mDevice2);
         when(mCachedDevice3.getDevice()).thenReturn(mDevice3);
+        when(mCachedDevice1.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mCachedDevice1.isConnected()).thenReturn(true);
+        when(mCachedDevice2.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mCachedDevice2.isConnected()).thenReturn(true);
+        when(mCachedDevice3.getBondState()).thenReturn(BluetoothDevice.BOND_BONDED);
+        when(mCachedDevice3.isConnected()).thenReturn(true);
         when(mRouteInfo1.getId()).thenReturn(ROUTER_ID_1);
         when(mRouteInfo2.getId()).thenReturn(ROUTER_ID_2);
         when(mRouteInfo3.getId()).thenReturn(ROUTER_ID_3);
@@ -158,12 +164,25 @@
     }
 
     @Test
-    public void compareTo_carKit_phone_carKitFirst() {
+    public void compareTo_carKit_phone_phoneFirst() {
         when(mDevice1.getBluetoothClass()).thenReturn(mCarkitClass);
-        mMediaDevices.add(mPhoneMediaDevice);
         mMediaDevices.add(mBluetoothMediaDevice1);
+        mMediaDevices.add(mPhoneMediaDevice);
 
+        assertThat(mMediaDevices.get(0)).isEqualTo(mBluetoothMediaDevice1);
+        Collections.sort(mMediaDevices, COMPARATOR);
         assertThat(mMediaDevices.get(0)).isEqualTo(mPhoneMediaDevice);
+    }
+
+    @Test
+    public void compareTo_carKitIsDisConnected_nonCarKitBluetooth_nonCarKitBluetoothFirst() {
+        when(mDevice1.getBluetoothClass()).thenReturn(mHeadreeClass);
+        when(mDevice2.getBluetoothClass()).thenReturn(mCarkitClass);
+        when(mCachedDevice2.isConnected()).thenReturn(false);
+        mMediaDevices.add(mBluetoothMediaDevice1);
+        mMediaDevices.add(mBluetoothMediaDevice2);
+
+        assertThat(mMediaDevices.get(0)).isEqualTo(mBluetoothMediaDevice1);
         Collections.sort(mMediaDevices, COMPARATOR);
         assertThat(mMediaDevices.get(0)).isEqualTo(mBluetoothMediaDevice1);
     }
@@ -178,6 +197,7 @@
         Collections.sort(mMediaDevices, COMPARATOR);
         assertThat(mMediaDevices.get(0)).isEqualTo(mBluetoothMediaDevice2);
     }
+
     @Test
     public void compareTo_connectionRecord_sortByRecord() {
         mMediaDevices.add(mBluetoothMediaDevice1);
@@ -196,6 +216,25 @@
     }
 
     @Test
+    public void compareTo_sortByRecord_connectedDeviceFirst() {
+        mMediaDevices.add(mBluetoothMediaDevice1);
+        mMediaDevices.add(mBluetoothMediaDevice2);
+        when(mCachedDevice2.isConnected()).thenReturn(false);
+
+        mBluetoothMediaDevice1.connect();
+        mBluetoothMediaDevice2.connect();
+        mBluetoothMediaDevice2.connect();
+        // Reset last selected record
+        ConnectionRecordManager.getInstance().setConnectionRecord(mContext, null, 0);
+
+        assertThat(mMediaDevices.get(0)).isEqualTo(mBluetoothMediaDevice1);
+        assertThat(mMediaDevices.get(1)).isEqualTo(mBluetoothMediaDevice2);
+        Collections.sort(mMediaDevices, COMPARATOR);
+        assertThat(mMediaDevices.get(0)).isEqualTo(mBluetoothMediaDevice1);
+        assertThat(mMediaDevices.get(1)).isEqualTo(mBluetoothMediaDevice2);
+    }
+
+    @Test
     public void compareTo_info_bluetooth_infoFirst() {
         mMediaDevices.add(mBluetoothMediaDevice1);
         mMediaDevices.add(mInfoMediaDevice1);
@@ -206,13 +245,13 @@
     }
 
     @Test
-    public void compareTo_bluetooth_phone_bluetoothFirst() {
-        mMediaDevices.add(mPhoneMediaDevice);
+    public void compareTo_bluetooth_phone_phoneFirst() {
         mMediaDevices.add(mBluetoothMediaDevice1);
+        mMediaDevices.add(mPhoneMediaDevice);
 
-        assertThat(mMediaDevices.get(0)).isEqualTo(mPhoneMediaDevice);
-        Collections.sort(mMediaDevices, COMPARATOR);
         assertThat(mMediaDevices.get(0)).isEqualTo(mBluetoothMediaDevice1);
+        Collections.sort(mMediaDevices, COMPARATOR);
+        assertThat(mMediaDevices.get(0)).isEqualTo(mPhoneMediaDevice);
     }
 
     @Test
@@ -235,6 +274,17 @@
         assertThat(mMediaDevices.get(0)).isEqualTo(mBluetoothMediaDevice1);
     }
 
+    @Test
+    public void compareTo_sortByAlphabet_connectDeviceFirst() {
+        mMediaDevices.add(mBluetoothMediaDevice2);
+        mMediaDevices.add(mBluetoothMediaDevice1);
+        when(mCachedDevice1.isConnected()).thenReturn(false);
+
+        assertThat(mMediaDevices.get(0)).isEqualTo(mBluetoothMediaDevice2);
+        Collections.sort(mMediaDevices, COMPARATOR);
+        assertThat(mMediaDevices.get(0)).isEqualTo(mBluetoothMediaDevice2);
+    }
+
     // 1.mInfoMediaDevice1:      Last Selected device
     // 2.mBluetoothMediaDevice1: CarKit device
     // 3.mInfoMediaDevice2:      * 2 times usage
@@ -242,7 +292,7 @@
     // 5.mBluetoothMediaDevice2: * 2 times usage
     // 6.mBluetoothMediaDevice3: * 1 time usage
     // 7.mPhoneMediaDevice:      * 0 time usage
-    // Order: 2 -> 1 -> 3 -> 5 -> 4 -> 6 -> 7
+    // Order: 7 -> 2 -> 1 -> 3 -> 5 -> 4 -> 6
     @Test
     public void compareTo_mixedDevices_carKitFirst() {
         when(mDevice1.getBluetoothClass()).thenReturn(mCarkitClass);
@@ -264,13 +314,55 @@
         mInfoMediaDevice1.connect();
 
         Collections.sort(mMediaDevices, COMPARATOR);
-        assertThat(mMediaDevices.get(0)).isEqualTo(mBluetoothMediaDevice1);
+        assertThat(mMediaDevices.get(0)).isEqualTo(mPhoneMediaDevice);
+        assertThat(mMediaDevices.get(1)).isEqualTo(mBluetoothMediaDevice1);
+        assertThat(mMediaDevices.get(2)).isEqualTo(mInfoMediaDevice1);
+        assertThat(mMediaDevices.get(3)).isEqualTo(mInfoMediaDevice2);
+        assertThat(mMediaDevices.get(4)).isEqualTo(mBluetoothMediaDevice2);
+        assertThat(mMediaDevices.get(5)).isEqualTo(mInfoMediaDevice3);
+        assertThat(mMediaDevices.get(6)).isEqualTo(mBluetoothMediaDevice3);
+    }
+
+    // 1.mInfoMediaDevice1:      Last Selected device
+    // 2.mBluetoothMediaDevice1: CarKit device not connected
+    // 3.mInfoMediaDevice2:      * 2 times usage
+    // 4.mInfoMediaDevice3:      * 1 time usage
+    // 5.mBluetoothMediaDevice2: * 4 times usage not connected
+    // 6.mBluetoothMediaDevice3: * 1 time usage
+    // 7.mPhoneMediaDevice:      * 0 time usage
+    // Order: 7 -> 1 -> 3 -> 4 -> 6 -> 2 -> 5
+    @Test
+    public void compareTo_mixedDevices_connectDeviceFirst() {
+        when(mDevice1.getBluetoothClass()).thenReturn(mCarkitClass);
+        when(mDevice2.getBluetoothClass()).thenReturn(mHeadreeClass);
+        when(mDevice3.getBluetoothClass()).thenReturn(mHeadreeClass);
+        when(mCachedDevice1.isConnected()).thenReturn(false);
+        when(mCachedDevice2.isConnected()).thenReturn(false);
+        mMediaDevices.add(mBluetoothMediaDevice1);
+        mMediaDevices.add(mBluetoothMediaDevice2);
+        mMediaDevices.add(mBluetoothMediaDevice3);
+        mMediaDevices.add(mInfoMediaDevice1);
+        mMediaDevices.add(mInfoMediaDevice2);
+        mMediaDevices.add(mInfoMediaDevice3);
+        mMediaDevices.add(mPhoneMediaDevice);
+        mBluetoothMediaDevice3.connect();
+        mBluetoothMediaDevice2.connect();
+        mBluetoothMediaDevice2.connect();
+        mBluetoothMediaDevice2.connect();
+        mBluetoothMediaDevice2.connect();
+        mInfoMediaDevice3.connect();
+        mInfoMediaDevice2.connect();
+        mInfoMediaDevice2.connect();
+        mInfoMediaDevice1.connect();
+
+        Collections.sort(mMediaDevices, COMPARATOR);
+        assertThat(mMediaDevices.get(0)).isEqualTo(mPhoneMediaDevice);
         assertThat(mMediaDevices.get(1)).isEqualTo(mInfoMediaDevice1);
         assertThat(mMediaDevices.get(2)).isEqualTo(mInfoMediaDevice2);
-        assertThat(mMediaDevices.get(3)).isEqualTo(mBluetoothMediaDevice2);
-        assertThat(mMediaDevices.get(4)).isEqualTo(mInfoMediaDevice3);
-        assertThat(mMediaDevices.get(5)).isEqualTo(mBluetoothMediaDevice3);
-        assertThat(mMediaDevices.get(6)).isEqualTo(mPhoneMediaDevice);
+        assertThat(mMediaDevices.get(3)).isEqualTo(mInfoMediaDevice3);
+        assertThat(mMediaDevices.get(4)).isEqualTo(mBluetoothMediaDevice3);
+        assertThat(mMediaDevices.get(5)).isEqualTo(mBluetoothMediaDevice1);
+        assertThat(mMediaDevices.get(6)).isEqualTo(mBluetoothMediaDevice2);
     }
 
 }
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/MediaManagerTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/MediaManagerTest.java
index 98eccb5..ead2be4 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/MediaManagerTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/MediaManagerTest.java
@@ -111,6 +111,15 @@
     }
 
     @Test
+    public void dispatchDataChanged_registerCallback_shouldDispatchCallback() {
+        mMediaManager.registerCallback(mCallback);
+
+        mMediaManager.dispatchDataChanged();
+
+        verify(mCallback).onDeviceAttributesChanged();
+    }
+
+    @Test
     public void findMediaDevice_idExist_shouldReturnMediaDevice() {
         mMediaManager.mMediaDevices.add(mDevice);
 
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/PhoneMediaDeviceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/PhoneMediaDeviceTest.java
index 5ba33f5..0752dc0 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/PhoneMediaDeviceTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/media/PhoneMediaDeviceTest.java
@@ -23,6 +23,7 @@
 import android.bluetooth.BluetoothDevice;
 import android.content.Context;
 
+import com.android.settingslib.R;
 import com.android.settingslib.bluetooth.A2dpProfile;
 import com.android.settingslib.bluetooth.HearingAidProfile;
 import com.android.settingslib.bluetooth.LocalBluetoothManager;
@@ -97,4 +98,43 @@
 
         assertThat(mPhoneMediaDevice.connect()).isFalse();
     }
+
+    @Test
+    public void connect_hearingAidProfileIsNullAndA2dpProfileNotNull_isConnectedReturnTrue() {
+        when(mLocalProfileManager.getHearingAidProfile()).thenReturn(null);
+
+        when(mA2dpProfile.setActiveDevice(null)).thenReturn(true);
+        assertThat(mPhoneMediaDevice.connect()).isTrue();
+    }
+
+    @Test
+    public void connect_hearingAidProfileNotNullAndA2dpProfileIsNull_isConnectedReturnTrue() {
+        when(mLocalProfileManager.getA2dpProfile()).thenReturn(null);
+
+        when(mHapProfile.setActiveDevice(null)).thenReturn(true);
+        assertThat(mPhoneMediaDevice.connect()).isTrue();
+    }
+
+    @Test
+    public void connect_hearingAidProfileAndA2dpProfileIsNull_isConnectedReturnFalse() {
+        when(mLocalProfileManager.getA2dpProfile()).thenReturn(null);
+        when(mLocalProfileManager.getHearingAidProfile()).thenReturn(null);
+
+        assertThat(mPhoneMediaDevice.connect()).isFalse();
+    }
+
+    @Test
+    public void updateSummary_isActiveIsTrue_returnActiveString() {
+        mPhoneMediaDevice.updateSummary(true);
+
+        assertThat(mPhoneMediaDevice.getSummary())
+                .isEqualTo(mContext.getString(R.string.bluetooth_active_no_battery_level));
+    }
+
+    @Test
+    public void updateSummary_notActive_returnEmpty() {
+        mPhoneMediaDevice.updateSummary(false);
+
+        assertThat(mPhoneMediaDevice.getSummary()).isEmpty();
+    }
 }
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowUserManager.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowUserManager.java
index c50d646..ca1eefc 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowUserManager.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/testutils/shadow/ShadowUserManager.java
@@ -29,6 +29,7 @@
 
 @Implements(value = UserManager.class)
 public class ShadowUserManager extends org.robolectric.shadows.ShadowUserManager {
+    private List<UserInfo> mUserInfos = addProfile(0, "Owner");
 
     @Implementation
     protected static UserManager get(Context context) {
@@ -37,16 +38,24 @@
 
     @Implementation
     protected int[] getProfileIdsWithDisabled(int userId) {
-        return new int[]{0};
+        return mUserInfos.stream().mapToInt(s -> s.id).toArray();
     }
 
     @Implementation
     protected List<UserInfo> getProfiles() {
-        UserInfo userInfo = new UserInfo();
-        userInfo.id = 0;
-        List<UserInfo> userInfos = new ArrayList<>();
-        userInfos.add(userInfo);
-        return userInfos;
+        return mUserInfos;
+    }
+
+    public List<UserInfo> addProfile(int id, String name) {
+        List<UserInfo> userInfoList = mUserInfos;
+        if (userInfoList == null) {
+            userInfoList = new ArrayList<>();
+        }
+        final UserInfo userInfo = new UserInfo();
+        userInfo.id = id;
+        userInfo.name = name;
+        userInfoList.add(userInfo);
+        return userInfoList;
     }
 
     @Implementation
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/utils/PowerUtilTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/utils/PowerUtilTest.java
index 7ef31df..61fdbd5 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/utils/PowerUtilTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/utils/PowerUtilTest.java
@@ -42,6 +42,7 @@
     private static final long THIRTY_HOURS_MILLIS = Duration.ofHours(30).toMillis();
     private static final String NORMAL_CASE_EXPECTED_PREFIX = "Should last until about";
     private static final String ENHANCED_SUFFIX = " based on your usage";
+    private static final String EXTEND_PREFIX = "Extend battery life past";
     // matches a time (ex: '1:15 PM', '2 AM', '23:00')
     private static final String TIME_OF_DAY_REGEX = " (\\d)+:?(\\d)* ((AM)*)|((PM)*)";
     // matches a percentage with parenthesis (ex: '(10%)')
@@ -176,6 +177,24 @@
     }
 
     @Test
+    public void getBatteryTipStringFormatted_moreThanOneDay_usesCorrectString() {
+        String info = PowerUtil.getBatteryTipStringFormatted(mContext,
+                THREE_DAYS_MILLIS);
+
+        assertThat(info).isEqualTo("More than 3 days remaining");
+    }
+
+    @Test
+    public void getBatteryTipStringFormatted_lessThanOneDay_usesCorrectString() {
+        String info = PowerUtil.getBatteryTipStringFormatted(mContext,
+                SEVENTEEN_MIN_MILLIS);
+
+        // ex: Extend battery life past 1:15 PM
+        assertThat(info).containsMatch(Pattern.compile(
+                EXTEND_PREFIX + TIME_OF_DAY_REGEX));
+    }
+
+    @Test
     public void testRoundToNearestThreshold_roundsCorrectly() {
         // test some pretty normal values
         assertThat(PowerUtil.roundTimeToNearestThreshold(1200, 1000)).isEqualTo(1000);
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/utils/StringUtilTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/utils/StringUtilTest.java
index 8fbbfbb..b503972 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/utils/StringUtilTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/utils/StringUtilTest.java
@@ -21,6 +21,7 @@
 import static org.mockito.Mockito.spy;
 
 import android.content.Context;
+import android.icu.text.RelativeDateTimeFormatter;
 import android.text.SpannableStringBuilder;
 import android.text.format.DateUtils;
 import android.text.style.TtsSpan;
@@ -116,8 +117,8 @@
         final double testMillis = 40 * DateUtils.SECOND_IN_MILLIS;
         final String expectedTime = "Just now";
 
-        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true).toString()).isEqualTo(
-                expectedTime);
+        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true,
+                RelativeDateTimeFormatter.Style.LONG).toString()).isEqualTo(expectedTime);
     }
 
     @Test
@@ -125,8 +126,8 @@
         final double testMillis = 40 * DateUtils.SECOND_IN_MILLIS;
         final String expectedTime = "1 minute ago";
 
-        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, false).toString()).isEqualTo(
-                expectedTime);
+        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, false,
+                RelativeDateTimeFormatter.Style.LONG).toString()).isEqualTo(expectedTime);
     }
 
     @Test
@@ -134,8 +135,8 @@
         final double testMillis = 119 * DateUtils.SECOND_IN_MILLIS;
         final String expectedTime = "Just now";
 
-        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true).toString()).isEqualTo(
-                expectedTime);
+        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true,
+                RelativeDateTimeFormatter.Style.LONG).toString()).isEqualTo(expectedTime);
     }
 
     @Test
@@ -143,8 +144,8 @@
         final double testMillis = 119 * DateUtils.SECOND_IN_MILLIS;
         final String expectedTime = "2 minutes ago";
 
-        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, false).toString()).isEqualTo(
-                expectedTime);
+        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, false,
+                RelativeDateTimeFormatter.Style.LONG).toString()).isEqualTo(expectedTime);
     }
 
     @Test
@@ -152,8 +153,8 @@
         final double testMillis = 2 * DateUtils.MINUTE_IN_MILLIS;
         final String expectedTime = "2 minutes ago";
 
-        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true).toString()).isEqualTo(
-                expectedTime);
+        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true,
+                RelativeDateTimeFormatter.Style.LONG).toString()).isEqualTo(expectedTime);
     }
 
     @Test
@@ -161,8 +162,8 @@
         final double testMillis = 119 * DateUtils.MINUTE_IN_MILLIS;
         final String expectedTime = "119 minutes ago";
 
-        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true).toString()).isEqualTo(
-                expectedTime);
+        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true,
+                RelativeDateTimeFormatter.Style.LONG).toString()).isEqualTo(expectedTime);
     }
 
     @Test
@@ -170,8 +171,8 @@
         final double testMillis = 2 * DateUtils.HOUR_IN_MILLIS;
         final String expectedTime = "2 hours ago";
 
-        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true).toString()).isEqualTo(
-                expectedTime);
+        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true,
+                RelativeDateTimeFormatter.Style.LONG).toString()).isEqualTo(expectedTime);
     }
 
     @Test
@@ -179,8 +180,8 @@
         final double testMillis = 47 * DateUtils.HOUR_IN_MILLIS;
         final String expectedTime = "47 hours ago";
 
-        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true).toString()).isEqualTo(
-                expectedTime);
+        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true,
+                RelativeDateTimeFormatter.Style.LONG).toString()).isEqualTo(expectedTime);
     }
 
     @Test
@@ -188,8 +189,8 @@
         final double testMillis = 2 * DateUtils.DAY_IN_MILLIS;
         final String expectedTime = "2 days ago";
 
-        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true).toString()).isEqualTo(
-                expectedTime);
+        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true,
+                RelativeDateTimeFormatter.Style.LONG).toString()).isEqualTo(expectedTime);
     }
 
     @Test
@@ -197,8 +198,8 @@
         final double testMillis = 0;
         final String expectedTime = "Just now";
 
-        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true).toString()).isEqualTo(
-                expectedTime);
+        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, true,
+                RelativeDateTimeFormatter.Style.LONG).toString()).isEqualTo(expectedTime);
     }
 
     @Test
@@ -206,7 +207,7 @@
         final double testMillis = 0;
         final String expectedTime = "0 minutes ago";
 
-        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, false).toString()).isEqualTo(
-                expectedTime);
+        assertThat(StringUtil.formatRelativeTime(mContext, testMillis, false,
+                RelativeDateTimeFormatter.Style.LONG).toString()).isEqualTo(expectedTime);
     }
 }
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/BarChartInfoTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/BarChartInfoTest.java
index 29d57b7..2b27248 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/BarChartInfoTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/BarChartInfoTest.java
@@ -72,7 +72,8 @@
         final BarViewInfo barViewInfo = new BarViewInfo(
                 null /* icon */,
                 50,
-                mTitle);
+                mTitle,
+                null);
 
         final BarChartInfo mBarChartInfo = new BarChartInfo.Builder()
                 .setTitle(mTitle)
@@ -91,7 +92,8 @@
         final BarViewInfo barViewInfo = new BarViewInfo(
                 null /* icon */,
                 50,
-                mTitle);
+                mTitle,
+                null);
         final BarChartInfo mBarChartInfo = new BarChartInfo.Builder()
                 .setTitle(mTitle)
                 .setDetails(mDetails)
@@ -113,7 +115,8 @@
         final BarViewInfo barViewInfo = new BarViewInfo(
                 null /* icon */,
                 50,
-                mTitle);
+                mTitle,
+                null);
         new BarChartInfo.Builder()
                 .setTitle(mTitle)
                 .setDetails(mDetails)
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/BarChartPreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/BarChartPreferenceTest.java
index 3acca2a..266554b 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/BarChartPreferenceTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/BarChartPreferenceTest.java
@@ -113,7 +113,8 @@
         final BarChartInfo barChartInfo = new BarChartInfo.Builder()
                 .setTitle(R.string.debug_app)
                 .setDetails(R.string.debug_app)
-                .addBarViewInfo(new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app))
+                .addBarViewInfo(
+                        new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null))
                 .build();
 
         mPreference.initializeBarChart(barChartInfo);
@@ -128,7 +129,8 @@
         // We don't call BarChartInfo.Builder#setDetails yet.
         final BarChartInfo barChartInfo = new BarChartInfo.Builder()
                 .setTitle(R.string.debug_app)
-                .addBarViewInfo(new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app))
+                .addBarViewInfo(
+                        new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null))
                 .build();
 
         mPreference.initializeBarChart(barChartInfo);
@@ -144,7 +146,8 @@
                 .setDetails(R.string.debug_app)
                 .setDetailsOnClickListener(v -> {
                 })
-                .addBarViewInfo(new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app))
+                .addBarViewInfo(
+                        new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null))
                 .build();
 
         mPreference.initializeBarChart(barChartInfo);
@@ -157,7 +160,7 @@
     @Test
     public void setBarViewInfos_oneBarViewInfoSet_shouldShowOneBarView() {
         final BarViewInfo[] barViewsInfo = new BarViewInfo[]{
-                new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app)
+                new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null)
         };
 
         mPreference.initializeBarChart(mBarChartInfo);
@@ -175,8 +178,8 @@
     @Test
     public void setBarViewInfos_twoBarViewInfosSet_shouldShowTwoBarViews() {
         final BarViewInfo[] barViewsInfo = new BarViewInfo[]{
-                new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app),
-                new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app)
+                new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app, null),
+                new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null)
         };
 
         mPreference.initializeBarChart(mBarChartInfo);
@@ -195,9 +198,9 @@
     @Test
     public void setBarViewInfos_threeBarViewInfosSet_shouldShowThreeBarViews() {
         final BarViewInfo[] barViewsInfo = new BarViewInfo[]{
-                new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app),
-                new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app),
-                new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app)
+                new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app, null),
+                new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null),
+                new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app, null)
         };
 
         mPreference.initializeBarChart(mBarChartInfo);
@@ -217,10 +220,10 @@
     @Test
     public void setBarViewInfos_fourBarViewInfosSet_shouldShowFourBarViews() {
         final BarViewInfo[] barViewsInfo = new BarViewInfo[]{
-                new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app),
-                new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app),
-                new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app),
-                new BarViewInfo(mIcon, 2 /* barNumber */, R.string.debug_app),
+                new BarViewInfo(mIcon, 20 /* barNumber */, R.string.debug_app, null),
+                new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null),
+                new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app, null),
+                new BarViewInfo(mIcon, 2 /* barNumber */, R.string.debug_app, null),
         };
 
         mPreference.initializeBarChart(mBarChartInfo);
@@ -242,11 +245,11 @@
         thrown.expect(IllegalStateException.class);
 
         final BarViewInfo[] barViewsInfo = new BarViewInfo[]{
-                new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app),
-                new BarViewInfo(mIcon, 50 /* barNumber */, R.string.debug_app),
-                new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app),
-                new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app),
-                new BarViewInfo(mIcon, 70 /* barNumber */, R.string.debug_app),
+                new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app, null),
+                new BarViewInfo(mIcon, 50 /* barNumber */, R.string.debug_app, null),
+                new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app, null),
+                new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null),
+                new BarViewInfo(mIcon, 70 /* barNumber */, R.string.debug_app, null),
         };
 
         mPreference.setBarViewInfos(barViewsInfo);
@@ -255,10 +258,10 @@
     @Test
     public void setBarViewInfos_barViewInfosSet_shouldBeSortedInDescending() {
         final BarViewInfo[] barViewsInfo = new BarViewInfo[]{
-                new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app),
-                new BarViewInfo(mIcon, 50 /* barNumber */, R.string.debug_app),
-                new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app),
-                new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app),
+                new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app, null),
+                new BarViewInfo(mIcon, 50 /* barNumber */, R.string.debug_app, null),
+                new BarViewInfo(mIcon, 5 /* barNumber */, R.string.debug_app, null),
+                new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null),
         };
 
         mPreference.initializeBarChart(mBarChartInfo);
@@ -278,7 +281,7 @@
     @Test
     public void setBarViewInfos_validBarViewSummarySet_barViewShouldShowSummary() {
         final BarViewInfo[] barViewsInfo = new BarViewInfo[]{
-                new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app),
+                new BarViewInfo(mIcon, 10 /* barNumber */, R.string.debug_app, null),
         };
 
         mPreference.initializeBarChart(mBarChartInfo);
@@ -291,7 +294,8 @@
 
     @Test
     public void setBarViewInfos_clickListenerForBarViewSet_barViewShouldHaveClickListener() {
-        final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app);
+        final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app,
+                null);
         viewInfo.setClickListener(v -> {
         });
         final BarViewInfo[] barViewsInfo = new BarViewInfo[]{viewInfo};
@@ -306,7 +310,8 @@
 
     @Test
     public void onBindViewHolder_loadingStateIsTrue_shouldHideAllViews() {
-        final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app);
+        final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app,
+                null);
         viewInfo.setClickListener(v -> {
         });
         final BarViewInfo[] barViewsInfo = new BarViewInfo[]{viewInfo};
@@ -322,7 +327,8 @@
 
     @Test
     public void onBindViewHolder_loadingStateIsFalse_shouldInitAnyView() {
-        final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app);
+        final BarViewInfo viewInfo = new BarViewInfo(mIcon, 30 /* barNumber */, R.string.debug_app,
+                null);
         viewInfo.setClickListener(v -> {
         });
         final BarViewInfo[] barViewsInfo = new BarViewInfo[]{viewInfo};
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/apppreference/AppPreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/apppreference/AppPreferenceTest.java
index da97cc8..042616a 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/apppreference/AppPreferenceTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/widget/apppreference/AppPreferenceTest.java
@@ -23,6 +23,8 @@
 
 import androidx.preference.PreferenceViewHolder;
 
+import com.android.settingslib.widget.R;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/wifi/AccessPointPreferenceTest.java b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/wifi/AccessPointPreferenceTest.java
index c5cbea7..21aa526 100644
--- a/packages/SettingsLib/tests/robotests/src/com/android/settingslib/wifi/AccessPointPreferenceTest.java
+++ b/packages/SettingsLib/tests/robotests/src/com/android/settingslib/wifi/AccessPointPreferenceTest.java
@@ -98,7 +98,7 @@
                 .build();
         final AccessPointPreference preference = mock(AccessPointPreference.class);
 
-        AccessPointPreference.setTitle(preference, ap, false /* savedNetwork */);
+        AccessPointPreference.setTitle(preference, ap);
         verify(preference).setTitle(ssid);
     }
 }
diff --git a/packages/SettingsProvider/res/values/defaults.xml b/packages/SettingsProvider/res/values/defaults.xml
index 65e0c0f..d881858 100644
--- a/packages/SettingsProvider/res/values/defaults.xml
+++ b/packages/SettingsProvider/res/values/defaults.xml
@@ -215,6 +215,9 @@
     <!-- Default for Settings.System.VIBRATE_WHEN_RINGING -->
     <bool name="def_vibrate_when_ringing">false</bool>
 
+    <!-- Default for Settings.Global.APPLY_RAMPING_RINGER -->
+    <bool name="def_apply_ramping_ringer">false</bool>
+
     <!-- Default for Settings.Secure.CHARGING_VIBRATION_ENABLED -->
     <bool name="def_charging_vibration_enabled">true</bool>
 
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
index 274acad..36bb8ef 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsHelper.java
@@ -16,10 +16,6 @@
 
 package com.android.providers.settings;
 
-import android.os.Process;
-import com.android.internal.app.LocalePicker;
-import com.android.internal.annotations.VisibleForTesting;
-
 import android.annotation.NonNull;
 import android.app.ActivityManager;
 import android.app.IActivityManager;
@@ -30,7 +26,6 @@
 import android.content.Intent;
 import android.content.res.Configuration;
 import android.icu.util.ULocale;
-import android.location.LocationManager;
 import android.media.AudioManager;
 import android.media.RingtoneManager;
 import android.net.Uri;
@@ -38,13 +33,14 @@
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.UserHandle;
-import android.os.UserManager;
 import android.provider.Settings;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 import android.util.ArraySet;
 
-import java.lang.IllegalArgumentException;
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.app.LocalePicker;
+
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.Locale;
@@ -145,9 +141,6 @@
             if (Settings.System.SOUND_EFFECTS_ENABLED.equals(name)) {
                 setSoundEffects(Integer.parseInt(value) == 1);
                 // fall through to the ordinary write to settings
-            } else if (Settings.Secure.LOCATION_PROVIDERS_ALLOWED.equals(name)) {
-                setGpsLocation(value);
-                return;
             } else if (Settings.Secure.BACKUP_AUTO_RESTORE.equals(name)) {
                 setAutoRestore(Integer.parseInt(value) == 1);
             } else if (isAlreadyConfiguredCriticalAccessibilitySetting(name)) {
@@ -297,21 +290,6 @@
         } catch (RemoteException e) {}
     }
 
-    private void setGpsLocation(String value) {
-        UserManager um = (UserManager) mContext.getSystemService(Context.USER_SERVICE);
-        if (um.hasUserRestriction(UserManager.DISALLOW_SHARE_LOCATION)) {
-            return;
-        }
-        final String GPS = LocationManager.GPS_PROVIDER;
-        boolean enabled =
-            GPS.equals(value) ||
-                value.startsWith(GPS + ",") ||
-                value.endsWith("," + GPS) ||
-                value.contains("," + GPS + ",");
-        LocationManager lm = (LocationManager) mContext.getSystemService(Context.LOCATION_SERVICE);
-        lm.setProviderEnabledForUser(GPS, enabled, Process.myUserHandle());
-    }
-
     private void setSoundEffects(boolean enable) {
         if (enable) {
             mAudioManager.loadSoundEffects();
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
index 0f8fd92..a33f9a8 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProtoDumpUtil.java
@@ -1382,6 +1382,9 @@
                 Settings.Global.TEXT_CLASSIFIER_CONSTANTS,
                 GlobalSettingsProto.TEXT_CLASSIFIER_CONSTANTS);
         dumpSetting(s, p,
+                Settings.Global.TEXT_CLASSIFIER_ACTION_MODEL_PARAMS,
+                GlobalSettingsProto.TEXT_CLASSIFIER_ACTION_MODEL_PARAMS);
+        dumpSetting(s, p,
                 Settings.Global.THEATER_MODE_ON,
                 GlobalSettingsProto.THEATER_MODE_ON);
         dumpSetting(s, p,
@@ -1916,6 +1919,36 @@
         dumpSetting(s, p,
                 Settings.Secure.ENHANCED_VOICE_PRIVACY_ENABLED,
                 SecureSettingsProto.ENHANCED_VOICE_PRIVACY_ENABLED);
+
+        final long gestureToken = p.start(SecureSettingsProto.GESTURE);
+        dumpSetting(s, p,
+                Settings.Secure.AWARE_ENABLED,
+                SecureSettingsProto.Gesture.AWARE_ENABLED);
+
+        dumpSetting(s, p,
+                Settings.Secure.SILENCE_ALARMS_GESTURE_COUNT,
+                SecureSettingsProto.Gesture.SILENCE_ALARMS_COUNT);
+        dumpSetting(s, p,
+                Settings.Secure.SILENCE_CALL_GESTURE_COUNT,
+                SecureSettingsProto.Gesture.SILENCE_CALLS_COUNT);
+        dumpSetting(s, p,
+                Settings.Secure.SILENCE_GESTURE,
+                SecureSettingsProto.Gesture.SILENCE_ENABLED);
+        dumpSetting(s, p,
+                Settings.Secure.SILENCE_NOTIFICATION_GESTURE_COUNT,
+                SecureSettingsProto.Gesture.SILENCE_NOTIFICATION_COUNT);
+        dumpSetting(s, p,
+                Settings.Secure.SILENCE_TIMER_GESTURE_COUNT,
+                SecureSettingsProto.Gesture.SILENCE_TIMER_COUNT);
+
+        dumpSetting(s, p,
+                Settings.Secure.SKIP_GESTURE_COUNT,
+                SecureSettingsProto.Gesture.SKIP_COUNT);
+        dumpSetting(s, p,
+                Settings.Secure.SKIP_GESTURE,
+                SecureSettingsProto.Gesture.SKIP_ENABLED);
+        p.end(gestureToken);
+
         dumpSetting(s, p,
                 Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS,
                 SecureSettingsProto.IMMERSIVE_MODE_CONFIRMATIONS);
@@ -1974,6 +2007,9 @@
         dumpSetting(s, p,
                 Settings.Secure.LOCATION_CHANGER,
                 SecureSettingsProto.Location.CHANGER);
+        dumpSetting(s, p,
+                Settings.Secure.LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE,
+                SecureSettingsProto.Location.PERMISSIONS_UPGRADE_TO_Q_MODE);
         p.end(locationToken);
 
         final long locationAccessCheckToken = p.start(SecureSettingsProto.LOCATION_ACCESS_CHECK);
@@ -2278,6 +2314,9 @@
                 Settings.Secure.SYSTEM_NAVIGATION_KEYS_ENABLED,
                 SecureSettingsProto.SYSTEM_NAVIGATION_KEYS_ENABLED);
         dumpSetting(s, p,
+                Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES,
+                SecureSettingsProto.THEME_CUSTOMIZATION_OVERLAY_PACKAGES);
+        dumpSetting(s, p,
                 Settings.Secure.TRUST_AGENTS_INITIALIZED,
                 SecureSettingsProto.TRUST_AGENTS_INITIALIZED);
 
@@ -2395,22 +2434,6 @@
                 SecureSettingsProto.Zen.SETTINGS_SUGGESTION_VIEWED);
         p.end(zenToken);
 
-        dumpSetting(s, p,
-                Settings.Secure.SKIP_GESTURE,
-                SecureSettingsProto.SKIP_GESTURE_ENABLED);
-
-        dumpSetting(s, p,
-                Settings.Secure.SILENCE_GESTURE,
-                SecureSettingsProto.SILENCE_GESTURE_ENABLED);
-
-        dumpSetting(s, p,
-                Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES,
-                SecureSettingsProto.THEME_CUSTOMIZATION_OVERLAY_PACKAGES);
-
-        dumpSetting(s, p,
-                Settings.Secure.AWARE_ENABLED,
-                SecureSettingsProto.AWARE_ENABLED);
-
         // Please insert new settings using the same order as in SecureSettingsProto.
         p.end(token);
 
diff --git a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
index d6c33a3..ff25ad9 100644
--- a/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
+++ b/packages/SettingsProvider/src/com/android/providers/settings/SettingsProvider.java
@@ -1103,9 +1103,7 @@
 
     private boolean mutateConfigSetting(String name, String value, String prefix,
             boolean makeDefault, int operation, int mode) {
-
-        // TODO(b/117663715): Ensure the caller can access the setting.
-        // enforceReadPermission(WRITE_DEVICE_CONFIG);
+        enforceWritePermission(Manifest.permission.WRITE_DEVICE_CONFIG);
 
         // Perform the mutation.
         synchronized (mLock) {
@@ -3237,7 +3235,7 @@
         }
 
         private final class UpgradeController {
-            private static final int SETTINGS_VERSION = 174;
+            private static final int SETTINGS_VERSION = 175;
 
             private final int mUserId;
 
@@ -4270,6 +4268,24 @@
                     currentVersion = 174;
                 }
 
+                if (currentVersion == 174) {
+                    // Version 174: Set the default value for Global Settings: APPLY_RAMPING_RINGER
+
+                    final SettingsState globalSettings = getGlobalSettingsLocked();
+
+                    Setting currentRampingRingerSetting = globalSettings.getSettingLocked(
+                            Settings.Global.APPLY_RAMPING_RINGER);
+                    if (currentRampingRingerSetting.isNull()) {
+                        globalSettings.insertSettingLocked(
+                                Settings.Global.APPLY_RAMPING_RINGER,
+                                getContext().getResources().getBoolean(
+                                        R.bool.def_apply_ramping_ringer) ? "1" : "0", null,
+                                true, SettingsState.SYSTEM_PACKAGE_NAME);
+                    }
+
+                    currentVersion = 175;
+                }
+
                 // vXXX: Add new settings above this point.
 
                 if (currentVersion != newVersion) {
diff --git a/packages/Shell/AndroidManifest.xml b/packages/Shell/AndroidManifest.xml
index fc6ef2b..d639e5e 100644
--- a/packages/Shell/AndroidManifest.xml
+++ b/packages/Shell/AndroidManifest.xml
@@ -175,6 +175,9 @@
 
     <uses-permission android:name="android.permission.MANAGE_APPOPS" />
 
+    <!-- Permission needed to run network tests in CTS -->
+    <uses-permission android:name="android.permission.MANAGE_TEST_NETWORKS" />
+
     <application android:label="@string/app_label"
                  android:defaultToDeviceProtectedStorage="true"
                  android:directBootAware="true">
diff --git a/packages/SystemUI/Android.bp b/packages/SystemUI/Android.bp
index 9425941..c2495b5 100644
--- a/packages/SystemUI/Android.bp
+++ b/packages/SystemUI/Android.bp
@@ -58,7 +58,6 @@
         "androidx.arch.core_core-runtime",
         "androidx.lifecycle_lifecycle-extensions",
         "androidx.dynamicanimation_dynamicanimation",
-        "iconloader_base",
         "SystemUI-tags",
         "SystemUI-proto",
         "dagger2-2.19",
diff --git a/packages/SystemUI/AndroidManifest.xml b/packages/SystemUI/AndroidManifest.xml
index 265d464..6df6c73 100644
--- a/packages/SystemUI/AndroidManifest.xml
+++ b/packages/SystemUI/AndroidManifest.xml
@@ -42,6 +42,7 @@
     <uses-permission android:name="android.permission.INJECT_EVENTS" />
     <uses-permission android:name="android.permission.DUMP" />
     <uses-permission android:name="android.permission.WRITE_SETTINGS" />
+    <uses-permission android:name="android.permission.READ_DEVICE_CONFIG" />
 
     <uses-permission android:name="android.permission.STATUS_BAR_SERVICE" />
     <uses-permission android:name="android.permission.STATUS_BAR" />
@@ -134,6 +135,7 @@
     <uses-permission android:name="android.permission.MANAGE_BIOMETRIC" />
     <uses-permission android:name="android.permission.MANAGE_SLICE_PERMISSIONS" />
     <uses-permission android:name="android.permission.CONTROL_KEYGUARD_SECURE_NOTIFICATIONS" />
+    <uses-permission android:name="android.permission.GET_RUNTIME_PERMISSIONS" />
 
     <!-- Needed for WallpaperManager.clear in ImageWallpaper.updateWallpaperLocked -->
     <uses-permission android:name="android.permission.SET_WALLPAPER"/>
diff --git a/packages/SystemUI/docs/dagger.md b/packages/SystemUI/docs/dagger.md
index cca2d13..c2159df 100644
--- a/packages/SystemUI/docs/dagger.md
+++ b/packages/SystemUI/docs/dagger.md
@@ -13,39 +13,47 @@
 ## State of the world
 
 Dagger 2 has been turned on for SystemUI and a early first pass has been taken
-for converting everything in Dependency.java to use Dagger. Since a lot of
-SystemUI depends on Dependency, stubs have been added to Dependency to proxy
-any gets through to the instances provided by dagger, this will allow migration
-of SystemUI through a number of CLs.
+for converting everything in [Dependency.java](packages/systemui/src/com/android/systemui/Dependency.java)
+to use Dagger. Since a lot of SystemUI depends on Dependency, stubs have been added to Dependency 
+to proxy any gets through to the instances provided by dagger, this will allow migration of SystemUI 
+through a number of CLs.
 
 ### How it works in SystemUI
 
 For the classes that we're using in Dependency and are switching to dagger, the
-equivalent dagger version is using @Singleton and only having one instance.
+equivalent dagger version is using `@Singleton` and therefore only has one instance.
 To have the single instance span all of SystemUI and be easily accessible for
-other components, there is a single root Component that exists that generates
-these. The component lives in SystemUIFactory and is called SystemUIRootComponent.
+other components, there is a single root `@Component` that exists that generates
+these. The component lives in [SystemUIFactory](packages/systemui/src/com/android/systemui/SystemUIFactory.java)
+and is called `SystemUIRootComponent`.
 
 ```java
+
 @Singleton
-@Component(modules = {SystemUIFactory.class, DependencyProvider.class, ContextHolder.class})
+@Component(modules = {SystemUIFactory.class, DependencyProvider.class, DependencyBinder.class,
+        ContextHolder.class})
 public interface SystemUIRootComponent {
     @Singleton
     Dependency.DependencyInjector createDependency();
 }
 ```
 
-The root modules are what provides the global singleton dependencies across
-SystemUI. ContextHolder is just a wrapper that provides a context.
-SystemUIFactory @Provide dependencies that need to be overridden by SystemUI
-variants (like other form factors). DependencyBinder creates the mapping from
-interfaces to implementation classes. DependencyProvider provides or binds any
-remaining depedencies required.
+The root component is composed of root modules, which in turn provide the global singleton 
+dependencies across all of SystemUI.
+
+- `ContextHolder` is just a wrapper that provides a context.
+
+- `SystemUIFactory` `@Provides` dependencies that need to be overridden by SystemUI
+variants (like other form factors e.g. Car). 
+
+- `DependencyBinder` creates the mapping from interfaces to implementation classes. 
+
+- `DependencyProvider` provides or binds any remaining depedencies required.
 
 ### Adding injection to a new SystemUI object
 
-Anything that depends on any @Singleton provider from SystemUIRootComponent
-should be declared as a Subcomponent of the root component, this requires
+Anything that depends on any `@Singleton` provider from SystemUIRootComponent
+should be declared as an `@Subcomponent` of the root component, this requires
 declaring your own interface for generating your own modules or just the
 object you need injected. The subcomponent also needs to be added to
 SystemUIRootComponent in SystemUIFactory so it can be acquired.
@@ -57,7 +65,7 @@
 }
 
 public class Dependency extends SystemUI {
-  ...
+  //...
 +  @Subcomponent
 +  public interface DependencyInjector {
 +      Dependency createSystemUI();
@@ -65,9 +73,9 @@
 }
 ```
 
-For objects that extend SystemUI and require injection, you can define an
+For objects which extend SystemUI and require injection, you can define an
 injector that creates the injected object for you. This other class should
-be referenced in @string/config_systemUIServiceComponents.
+be referenced in [@string/config_systemUIServiceComponents](packages/SystemUI/res/values/config.xml).
 
 ```java
 public static class DependencyCreator implements Injector {
@@ -82,7 +90,7 @@
 
 ### Adding a new injectable object
 
-First tag the constructor with @Inject. Also tag it with @Singleton if only one
+First tag the constructor with `@Inject`. Also tag it with `@Singleton` if only one
 instance should be created.
 
 ```java
@@ -97,14 +105,14 @@
 ```
 
 If you have an interface class and an implementation class, dagger needs to know
-how to map it. The simplest way to do this is to add a provides method to
-DependencyProvider.
+how to map it. The simplest way to do this is to add an `@Provides` method to
+DependencyProvider. The type of the return value tells dagger which dependency it's providing.
 
 ```java
 public class DependencyProvider {
-  ...
+  //...
   @Singleton
-  @Provide
+  @Provides
   public SomethingController provideSomethingController(Context context,
       @Named(MAIN_HANDLER_NAME) Handler mainHandler) {
     return new SomethingControllerImpl(context, mainHandler);
@@ -118,11 +126,11 @@
 
 ```java
 public class Dependency {
-  ...
+  //...
   @Inject Lazy<SomethingController> mSomethingController;
-  ...
+  //...
   public void start() {
-    ...
+    //...
     mProviders.put(SomethingController.class, mSomethingController::get);
   }
 }
@@ -192,7 +200,7 @@
 ```java
 public CustomView(@Named(VIEW_CONTEXT) Context themedViewContext, AttributeSet attrs,
         OtherCustomDependency something) {
-    ...
+    //...
 }
 ```
 
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/GlobalActionsPanelPlugin.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/GlobalActionsPanelPlugin.java
new file mode 100644
index 0000000..6be7707
--- /dev/null
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/GlobalActionsPanelPlugin.java
@@ -0,0 +1,96 @@
+/*
+ * 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.plugins;
+
+import android.app.PendingIntent;
+import android.view.View;
+
+import com.android.systemui.plugins.annotations.DependsOn;
+import com.android.systemui.plugins.annotations.ProvidesInterface;
+
+/**
+ * Plugin which provides a "Panel" {@link View} to be rendered inside of the GlobalActions menu.
+ *
+ * Implementations should construct a new {@link PanelViewController} with the given
+ * {@link Callbacks} instance inside of {@link #onPanelShown(Callbacks)}, and should not hold onto
+ * a reference, instead allowing Global Actions to manage the lifetime of the object.
+ *
+ * Under this assumption, {@link PanelViewController} represents the lifetime of a single invocation
+ * of the Global Actions menu. The {@link View} for the Panel is generated when the
+ * {@link PanelViewController} is constructed, and {@link PanelViewController#getPanelContent()}
+ * serves as a simple getter. When Global Actions is dismissed,
+ * {@link PanelViewController#onDismissed()} can be used to cleanup any resources allocated when
+ * constructed. Global Actions will then release the reference, and the {@link PanelViewController}
+ * will be garbage-collected.
+ */
+@ProvidesInterface(
+        action = GlobalActionsPanelPlugin.ACTION, version = GlobalActionsPanelPlugin.VERSION)
+@DependsOn(target = GlobalActionsPanelPlugin.Callbacks.class)
+@DependsOn(target = GlobalActionsPanelPlugin.PanelViewController.class)
+public interface GlobalActionsPanelPlugin extends Plugin {
+    String ACTION = "com.android.systemui.action.PLUGIN_GLOBAL_ACTIONS_PANEL";
+    int VERSION = 0;
+
+    /**
+     * Invoked when the GlobalActions menu is shown.
+     *
+     * @param callbacks {@link Callbacks} instance that can be used by the Panel to interact with
+     *                  the Global Actions menu.
+     * @return A {@link PanelViewController} instance used to receive Global Actions events.
+     */
+    PanelViewController onPanelShown(Callbacks callbacks);
+
+    /**
+     * Provides methods to interact with the Global Actions menu.
+     */
+    @ProvidesInterface(version = Callbacks.VERSION)
+    interface Callbacks {
+        int VERSION = 0;
+
+        /** Dismisses the Global Actions menu. */
+        void dismissGlobalActionsMenu();
+
+        /** Starts a PendingIntent, dismissing the keyguard if necessary. */
+        default void startPendingIntentDismissingKeyguard(PendingIntent pendingIntent) {
+            try {
+                pendingIntent.send();
+            } catch (PendingIntent.CanceledException e) {
+                // no-op
+            }
+        }
+    }
+
+    /**
+     * Receives Global Actions events, and provides the Panel {@link View}.
+     */
+    @ProvidesInterface(version = PanelViewController.VERSION)
+    interface PanelViewController {
+        int VERSION = 0;
+
+        /**
+         * Returns the {@link View} for the Panel to be rendered in Global Actions. This View can be
+         * any size, and will be rendered above the Global Actions menu when z-ordered.
+         */
+        View getPanelContent();
+
+        /**
+         * Invoked when the Global Actions menu (containing the View returned from
+         * {@link #getPanelContent()}) is dismissed.
+         */
+        void onDismissed();
+    }
+}
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/VolumeDialogController.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/VolumeDialogController.java
index 5f4cf03..2b10ccb 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/VolumeDialogController.java
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/VolumeDialogController.java
@@ -58,6 +58,10 @@
     void userActivity();
     void getState();
 
+    boolean areCaptionsEnabled();
+    void setCaptionsEnabled(boolean isEnabled);
+    void getCaptionsComponentState();
+
     @ProvidesInterface(version = StreamState.VERSION)
     public static final class StreamState {
         public static final int VERSION = 1;
@@ -186,5 +190,6 @@
         void onScreenOff();
         void onShowSafetyWarning(int flags);
         void onAccessibilityModeChanged(Boolean showA11yStream);
+        void onCaptionComponentStateChanged(Boolean isComponentEnabled);
     }
 }
diff --git a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java
index bca3530..42600c1 100644
--- a/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java
+++ b/packages/SystemUI/plugin/src/com/android/systemui/plugins/qs/QSTile.java
@@ -247,27 +247,6 @@
         }
     }
 
-
-    @ProvidesInterface(version = AirplaneBooleanState.VERSION)
-    public static class AirplaneBooleanState extends BooleanState {
-        public static final int VERSION = 1;
-        public boolean isAirplaneMode;
-
-        @Override
-        public boolean copyTo(State other) {
-            final AirplaneBooleanState o = (AirplaneBooleanState) other;
-            final boolean changed = super.copyTo(other) || o.isAirplaneMode != isAirplaneMode;
-            o.isAirplaneMode = isAirplaneMode;
-            return changed;
-        }
-
-        public State copy() {
-            AirplaneBooleanState state = new AirplaneBooleanState();
-            copyTo(state);
-            return state;
-        }
-    }
-
     @ProvidesInterface(version = SlashState.VERSION)
     public static class SlashState {
         public static final int VERSION = 2;
diff --git a/packages/SystemUI/res-keyguard/layout/keyguard_message_area.xml b/packages/SystemUI/res-keyguard/layout/keyguard_message_area.xml
index e1bf6cb..5da7611 100644
--- a/packages/SystemUI/res-keyguard/layout/keyguard_message_area.xml
+++ b/packages/SystemUI/res-keyguard/layout/keyguard_message_area.xml
@@ -17,15 +17,24 @@
 */
 -->
 
-<!-- This contains emergency call button and carrier as shared by pin/pattern/password screens -->
-<com.android.keyguard.KeyguardMessageArea
-    xmlns:android="http://schemas.android.com/apk/res/android"
-    android:layout_width="match_parent"
-    android:layout_height="wrap_content"
-    android:gravity="center"
-    style="@style/Keyguard.TextView"
-    android:id="@+id/keyguard_message_area"
-    android:singleLine="true"
-    android:ellipsize="marquee"
-    android:focusable="true" />
-
+<!-- This contains error message field and padlock shared by pin/pattern/password screens -->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+              android:orientation="vertical"
+              android:layout_width="match_parent"
+              android:layout_height="wrap_content" >
+    <FrameLayout
+        android:id="@+id/lock_icon_container"
+        android:layout_gravity="center"
+        android:layout_marginBottom="@dimen/keyguard_lock_padding"
+        android:layout_width="@dimen/keyguard_lock_width"
+        android:layout_height="@dimen/keyguard_lock_height" />
+    <com.android.keyguard.KeyguardMessageArea
+        android:id="@+id/keyguard_message_area"
+        style="@style/Keyguard.TextView"
+        android:layout_width="match_parent"
+        android:layout_height="wrap_content"
+        android:gravity="center"
+        android:singleLine="true"
+        android:ellipsize="marquee"
+        android:focusable="true" />
+</LinearLayout>
\ No newline at end of file
diff --git a/packages/SystemUI/res-keyguard/layout/type_clock.xml b/packages/SystemUI/res-keyguard/layout/type_aod_clock.xml
similarity index 74%
rename from packages/SystemUI/res-keyguard/layout/type_clock.xml
rename to packages/SystemUI/res-keyguard/layout/type_aod_clock.xml
index f4a7376..28ff5a2 100644
--- a/packages/SystemUI/res-keyguard/layout/type_clock.xml
+++ b/packages/SystemUI/res-keyguard/layout/type_aod_clock.xml
@@ -19,13 +19,5 @@
     android:layout_width="match_parent"
     android:layout_height="match_parent"
   >
-  <com.android.keyguard.clock.TypographicClock
-      android:id="@+id/type_clock"
-      android:orientation="vertical"
-      android:layout_width="match_parent"
-      android:layout_height="wrap_content"
-      android:paddingLeft="50dp"
-      style="@style/widget_big"
-      android:textSize="40dp"
-      />
+  <include layout="@layout/typographic_clock" />
 </com.android.keyguard.clock.ClockLayout>
diff --git a/packages/SystemUI/res-keyguard/layout/type_clock.xml b/packages/SystemUI/res-keyguard/layout/typographic_clock.xml
similarity index 63%
copy from packages/SystemUI/res-keyguard/layout/type_clock.xml
copy to packages/SystemUI/res-keyguard/layout/typographic_clock.xml
index f4a7376..73bb4b9 100644
--- a/packages/SystemUI/res-keyguard/layout/type_clock.xml
+++ b/packages/SystemUI/res-keyguard/layout/typographic_clock.xml
@@ -14,18 +14,13 @@
   See the License for the specific language governing permissions and
   limitations under the License.
   -->
-<com.android.keyguard.clock.ClockLayout
+<com.android.keyguard.clock.TypographicClock
     xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/type_clock"
     android:layout_width="match_parent"
-    android:layout_height="match_parent"
-  >
-  <com.android.keyguard.clock.TypographicClock
-      android:id="@+id/type_clock"
-      android:orientation="vertical"
-      android:layout_width="match_parent"
-      android:layout_height="wrap_content"
-      android:paddingLeft="50dp"
-      style="@style/widget_big"
-      android:textSize="40dp"
-      />
-</com.android.keyguard.clock.ClockLayout>
+    android:layout_height="wrap_content"
+    android:paddingStart="50dp"
+    android:textAlignment="viewStart"
+    style="@style/widget_big"
+    android:textSize="40dp"
+    />
diff --git a/packages/SystemUI/res-keyguard/values-sw320dp/dimens.xml b/packages/SystemUI/res-keyguard/values-sw320dp/dimens.xml
index 38d2ecc3..91ca5c5 100644
--- a/packages/SystemUI/res-keyguard/values-sw320dp/dimens.xml
+++ b/packages/SystemUI/res-keyguard/values-sw320dp/dimens.xml
@@ -21,6 +21,6 @@
 
     <!-- Height of the sliding KeyguardSecurityContainer
          (includes 2x keyguard_security_view_top_margin) -->
-    <dimen name="keyguard_security_height">345dp</dimen>
+    <dimen name="keyguard_security_height">395dp</dimen>
 
 </resources>
diff --git a/packages/SystemUI/res-keyguard/values-sw360dp/dimens.xml b/packages/SystemUI/res-keyguard/values-sw360dp/dimens.xml
index 90c4795..d7c9975 100644
--- a/packages/SystemUI/res-keyguard/values-sw360dp/dimens.xml
+++ b/packages/SystemUI/res-keyguard/values-sw360dp/dimens.xml
@@ -21,5 +21,5 @@
 
     <!-- Height of the sliding KeyguardSecurityContainer (includes 2x
          keyguard_security_view_top_margin) -->
-    <dimen name="keyguard_security_height">400dp</dimen>
+    <dimen name="keyguard_security_height">450dp</dimen>
 </resources>
diff --git a/packages/SystemUI/res-keyguard/values-sw540dp-port/dimens.xml b/packages/SystemUI/res-keyguard/values-sw540dp-port/dimens.xml
index 9ea04dc..a3c37e4 100644
--- a/packages/SystemUI/res-keyguard/values-sw540dp-port/dimens.xml
+++ b/packages/SystemUI/res-keyguard/values-sw540dp-port/dimens.xml
@@ -20,5 +20,5 @@
 <resources>
     <!-- Height of the sliding KeyguardSecurityContainer
         (includes 2x keyguard_security_view_top_margin) -->
-    <dimen name="keyguard_security_height">500dp</dimen>
+    <dimen name="keyguard_security_height">550dp</dimen>
 </resources>
diff --git a/packages/SystemUI/res-keyguard/values-sw720dp/dimens.xml b/packages/SystemUI/res-keyguard/values-sw720dp/dimens.xml
index 9157822..1dc61c5 100644
--- a/packages/SystemUI/res-keyguard/values-sw720dp/dimens.xml
+++ b/packages/SystemUI/res-keyguard/values-sw720dp/dimens.xml
@@ -20,7 +20,7 @@
 
     <!-- Height of the sliding KeyguardSecurityContainer
          (includes 2x keyguard_security_view_top_margin) -->
-    <dimen name="keyguard_security_height">420dp</dimen>
+    <dimen name="keyguard_security_height">470dp</dimen>
 
     <dimen name="widget_big_font_size">100dp</dimen>
 </resources>
diff --git a/packages/SystemUI/res-keyguard/values/dimens.xml b/packages/SystemUI/res-keyguard/values/dimens.xml
index b6a41c1..d67c98a 100644
--- a/packages/SystemUI/res-keyguard/values/dimens.xml
+++ b/packages/SystemUI/res-keyguard/values/dimens.xml
@@ -27,11 +27,11 @@
 
     <!-- Height of the sliding KeyguardSecurityContainer
          (includes 2x keyguard_security_view_top_margin) -->
-    <dimen name="keyguard_security_height">400dp</dimen>
+    <dimen name="keyguard_security_height">450dp</dimen>
 
     <!-- Max Height of the sliding KeyguardSecurityContainer
          (includes 2x keyguard_security_view_top_margin) -->
-    <dimen name="keyguard_security_max_height">455dp</dimen>
+    <dimen name="keyguard_security_max_height">505dp</dimen>
 
     <!-- Margin around the various security views -->
     <dimen name="keyguard_security_view_top_margin">8dp</dimen>
diff --git a/packages/SystemUI/res/drawable/btn_restart.xml b/packages/SystemUI/res/drawable/btn_restart.xml
new file mode 100644
index 0000000..73a48d3
--- /dev/null
+++ b/packages/SystemUI/res/drawable/btn_restart.xml
@@ -0,0 +1,28 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+    <path
+        android:fillColor="#aa000000"
+        android:pathData="M0,12 a12,12 0 1,0 24,0 a12,12 0 1,0 -24,0" />
+    <path
+        android:fillColor="@android:color/white"
+        android:pathData="M17.65,6.35c-1.63,-1.63 -3.94,-2.57 -6.48,-2.31c-3.67,0.37 -6.69,3.35 -7.1,7.02C3.52,15.91 7.27,20 12,20c3.19,0 5.93,-1.87 7.21,-4.57c0.31,-0.66 -0.16,-1.43 -0.89,-1.43h-0.01c-0.37,0 -0.72,0.2 -0.88,0.53c-1.13,2.43 -3.84,3.97 -6.81,3.32c-2.22,-0.49 -4.01,-2.3 -4.49,-4.52C5.31,9.44 8.26,6 12,6c1.66,0 3.14,0.69 4.22,1.78l-2.37,2.37C13.54,10.46 13.76,11 14.21,11H19c0.55,0 1,-0.45 1,-1V5.21c0,-0.45 -0.54,-0.67 -0.85,-0.35L17.65,6.35z"/>
+</vector>
diff --git a/packages/SystemUI/res/drawable/circle_blue_40dp.xml b/packages/SystemUI/res/drawable/circle_blue_40dp.xml
new file mode 100644
index 0000000..00d2c52
--- /dev/null
+++ b/packages/SystemUI/res/drawable/circle_blue_40dp.xml
@@ -0,0 +1,22 @@
+<?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.
+-->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+       android:shape="oval">
+    <size android:height="40dp"
+          android:width="40dp" />
+    <solid android:color="#4285f4" />
+    <stroke android:color="#f1f3f4" android:width="1dp" />
+</shape>
\ No newline at end of file
diff --git a/packages/SystemUI/res/drawable/circle_white_40dp.xml b/packages/SystemUI/res/drawable/circle_white_40dp.xml
new file mode 100644
index 0000000..bcb1640
--- /dev/null
+++ b/packages/SystemUI/res/drawable/circle_white_40dp.xml
@@ -0,0 +1,22 @@
+<?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.
+-->
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+       android:shape="oval">
+    <size android:height="40dp"
+          android:width="40dp" />
+    <solid android:color="#ffffff" />
+    <stroke android:color="#f1f3f4" android:width="1dp" />
+</shape>
\ No newline at end of file
diff --git a/packages/SystemUI/res/values-land/integers.xml b/packages/SystemUI/res/drawable/global_action_panel_scrim.xml
similarity index 62%
copy from packages/SystemUI/res/values-land/integers.xml
copy to packages/SystemUI/res/drawable/global_action_panel_scrim.xml
index fb22665..8b8258f 100644
--- a/packages/SystemUI/res/values-land/integers.xml
+++ b/packages/SystemUI/res/drawable/global_action_panel_scrim.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
-  ~ Copyright (C) 2018 The Android Open Source Project
+  ~ 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.
@@ -14,9 +14,13 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License
   -->
-<resources>
-    <!-- Action footer width is set to 0 to allow it to stretch (through a weight of 1) and center
-         the page indicator in between the footer and the carrier text.-->
-    <integer name="qs_footer_actions_width">0</integer>
-    <integer name="qs_footer_actions_weight">1</integer>
-</resources>
\ No newline at end of file
+
+<shape xmlns:android="http://schemas.android.com/apk/res/android"
+       android:shape="rectangle">
+    <gradient
+        android:centerY="0.45"
+        android:startColor="#dc3c4043"
+        android:centerColor="#dc3c4043"
+        android:endColor="#4d3c4043"
+        android:angle="270" />
+</shape>
\ No newline at end of file
diff --git a/packages/SystemUI/res/drawable/ic_media_projection_permission.xml b/packages/SystemUI/res/drawable/ic_media_projection_permission.xml
new file mode 100644
index 0000000..f46d137
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_media_projection_permission.xml
@@ -0,0 +1,26 @@
+<!--
+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.
+-->
+<inset xmlns:android="http://schemas.android.com/apk/res/android"
+    android:insetLeft="2.5dp"
+    android:insetRight="2.5dp">
+    <vector android:width="24dp"
+            android:height="24dp"
+            android:viewportWidth="24.0"
+            android:viewportHeight="24.0">
+        <path android:fillColor="#FF000000" android:pathData="M1,18v3h3C4,19.34 2.66,18 1,18zM1,14v2c2.76,0 5,2.24 5,5h2C8,17.13 4.87,14 1,14zM1,10v2c4.97,0 9,4.03 9,9h2C12,14.92 7.07,10 1,10zM21,3H3C1.9,3 1,3.9 1,5v3h2V5h18v14h-7v2h7c1.1,0 2,-0.9 2,-2V5C23,3.9 22.1,3 21,3z"/>
+        <path android:fillColor="#FF0000" android:pathData="M19,7H5v1.63c3.96,1.28 7.09,4.41 8.37,8.37H19V7z"/>
+    </vector>
+</inset>
diff --git a/packages/SystemUI/res/drawable/ic_volume_odi_captions.xml b/packages/SystemUI/res/drawable/ic_volume_odi_captions.xml
new file mode 100644
index 0000000..9b90729
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_volume_odi_captions.xml
@@ -0,0 +1,24 @@
+<!--
+     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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M20,4C21.1,4 22,4.9 22,6L22,18C22,19.1 21.1,20 20,20L4,20C2.9,20 2,19.1 2,18L2,6C2,4.9 2.9,4 4,4L20,4ZM20,18L20,6L4,6L4,18L20,18ZM6,10L8,10L8,12L6,12L6,10ZM6,14L14,14L14,16L6,16L6,14ZM16,14L18,14L18,16L16,16L16,14ZM10,10L18,10L18,12L10,12L10,10Z"/>
+</vector>
diff --git a/packages/SystemUI/res/drawable/ic_volume_odi_captions_disabled.xml b/packages/SystemUI/res/drawable/ic_volume_odi_captions_disabled.xml
new file mode 100644
index 0000000..f3d8d3b9
--- /dev/null
+++ b/packages/SystemUI/res/drawable/ic_volume_odi_captions_disabled.xml
@@ -0,0 +1,24 @@
+<!--
+     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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+  <path
+      android:fillColor="#FF000000"
+      android:pathData="M16.9675,14L18,14L18,15.0275L16.9675,14ZM20,17.0176L20,6L8.9281,6L6.9182,4L20,4C21.1,4 22,4.9 22,6L22,18C22,18.2949 21.9353,18.5755 21.8194,18.8281L20,17.0176ZM12.9478,10L18,10L18,12L14.9576,12L12.9478,10ZM1.2823,0.8824L22.8489,22.4489L21.6337,23.6641L17.9696,20L4,20C2.9,20 2,19.1 2,18L2,6C2,5.4577 2.2188,4.964 2.5724,4.6028L0.0672,2.0975L1.2823,0.8824ZM13.9696,16L6,16L6,14L11.9696,14L8,10.0304L8,12L6,12L6,10L7.9696,10L4,6.0304L4,18L15.9696,18L13.9696,16Z"/>
+</vector>
diff --git a/packages/SystemUI/res/drawable/qs_detail_background.xml b/packages/SystemUI/res/drawable/qs_detail_background.xml
index 84c793f..672abf1 100644
--- a/packages/SystemUI/res/drawable/qs_detail_background.xml
+++ b/packages/SystemUI/res/drawable/qs_detail_background.xml
@@ -14,6 +14,20 @@
     limitations under the License.
 -->
 <transition xmlns:android="http://schemas.android.com/apk/res/android">
-    <item android:drawable="@color/qs_detail_transition" />
-    <item android:drawable="?android:attr/colorPrimary" />
+    <item>
+        <inset>
+            <shape>
+                <solid android:color="@color/qs_detail_transition"/>
+                <corners android:radius="?android:attr/dialogCornerRadius" />
+            </shape>
+        </inset>
+    </item>
+    <item>
+        <inset>
+            <shape>
+                <solid android:color="?android:attr/colorPrimary"/>
+                <corners android:radius="?android:attr/dialogCornerRadius" />
+            </shape>
+        </inset>
+    </item>
 </transition>
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout-land/global_actions_grid.xml b/packages/SystemUI/res/layout-land/global_actions_grid.xml
index 480f523..c51e71b 100644
--- a/packages/SystemUI/res/layout-land/global_actions_grid.xml
+++ b/packages/SystemUI/res/layout-land/global_actions_grid.xml
@@ -7,17 +7,16 @@
     android:orientation="horizontal"
     android:clipToPadding="false"
     android:theme="@style/qs_theme"
-    android:gravity="top|right"
+    android:paddingLeft="@dimen/global_actions_top_padding"
+    android:gravity="top|left"
     android:clipChildren="false"
 >
-
     <LinearLayout
         android:layout_height="match_parent"
         android:layout_width="wrap_content"
         android:gravity="top|right"
         android:padding="0dp"
         android:orientation="vertical"
-        android:layoutDirection="ltr"
         android:layout_marginRight="@dimen/global_actions_grid_container_bottom_margin"
     >
         <!-- Grid of action items -->
@@ -26,7 +25,6 @@
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:orientation="vertical"
-            android:layoutDirection="ltr"
             android:layout_marginTop="@dimen/global_actions_grid_side_margin"
             android:translationZ="@dimen/global_actions_translate"
             android:paddingLeft="@dimen/global_actions_grid_horizontal_padding"
@@ -39,25 +37,21 @@
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:layoutDirection="ltr"
-                android:orientation="horizontal"
+                android:layoutDirection="locale"
             />
             <LinearLayout
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:layoutDirection="ltr"
-                android:orientation="horizontal"
+                android:layoutDirection="locale"
             />
             <LinearLayout
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:layoutDirection="ltr"
-                android:orientation="horizontal"
+                android:layoutDirection="locale"
             />
         </com.android.systemui.globalactions.ListGridLayout>
-
         <!-- For separated items-->
         <LinearLayout
             android:id="@+id/separated_button"
diff --git a/packages/SystemUI/res/layout-land/global_actions_grid_seascape.xml b/packages/SystemUI/res/layout-land/global_actions_grid_seascape.xml
index 4f86826..de853c7 100644
--- a/packages/SystemUI/res/layout-land/global_actions_grid_seascape.xml
+++ b/packages/SystemUI/res/layout-land/global_actions_grid_seascape.xml
@@ -7,10 +7,10 @@
     android:orientation="horizontal"
     android:clipToPadding="false"
     android:theme="@style/qs_theme"
-    android:gravity="top|left"
+    android:gravity="top|right"
+    android:paddingRight="@dimen/global_actions_top_padding"
     android:clipChildren="false"
 >
-
     <LinearLayout
         android:layout_height="match_parent"
         android:layout_width="wrap_content"
@@ -37,11 +37,11 @@
             android:gravity="center"
             android:translationZ="@dimen/global_actions_translate"
         />
-
         <!-- Grid of action items -->
         <com.android.systemui.globalactions.ListGridLayout
             android:id="@android:id/list"
             android:layout_gravity="bottom|left"
+            android:gravity="right"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
             android:orientation="vertical"
@@ -54,28 +54,22 @@
             android:background="?android:attr/colorBackgroundFloating"
         >
             <LinearLayout
-                android:layout_gravity="bottom"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:layoutDirection="rtl"
-                android:orientation="horizontal"
+                android:layoutDirection="locale"
             />
             <LinearLayout
-                android:layout_gravity="bottom"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:layoutDirection="rtl"
-                android:orientation="horizontal"
+                android:layoutDirection="locale"
             />
             <LinearLayout
-                android:layout_gravity="bottom"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:layoutDirection="rtl"
-                android:orientation="horizontal"
+                android:layoutDirection="locale"
             />
         </com.android.systemui.globalactions.ListGridLayout>
     </LinearLayout>
diff --git a/packages/SystemUI/res/layout/biometric_dialog.xml b/packages/SystemUI/res/layout/biometric_dialog.xml
index 1e8cd5a..83557f2 100644
--- a/packages/SystemUI/res/layout/biometric_dialog.xml
+++ b/packages/SystemUI/res/layout/biometric_dialog.xml
@@ -39,152 +39,158 @@
             android:layout_height="0dp"
             android:layout_weight="1" />
 
-        <LinearLayout
+        <ScrollView
             android:layout_width="match_parent"
-            android:layout_height="wrap_content"
-            android:orientation="horizontal">
-
-            <!-- This is not a Space since Spaces cannot be clicked. The width of this changes depending
-             on horizontal/portrait orientation -->
-            <View
-                android:id="@+id/left_space"
-                android:layout_weight="1"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"/>
+            android:layout_height="wrap_content">
 
             <LinearLayout
-                android:id="@+id/dialog"
                 android:layout_width="match_parent"
                 android:layout_height="wrap_content"
-                android:orientation="vertical"
-                android:background="@drawable/biometric_dialog_bg"
-                android:layout_marginBottom="@dimen/biometric_dialog_border_padding"
-                android:layout_marginLeft="@dimen/biometric_dialog_border_padding"
-                android:layout_marginRight="@dimen/biometric_dialog_border_padding">
+                android:orientation="horizontal">
 
-                <TextView
-                    android:id="@+id/title"
-                    android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_marginEnd="24dp"
-                    android:layout_marginStart="24dp"
-                    android:layout_marginTop="24dp"
-                    android:gravity="@integer/biometric_dialog_text_gravity"
-                    android:textSize="20sp"
-                    android:maxLines="1"
-                    android:singleLine="true"
-                    android:ellipsize="marquee"
-                    android:marqueeRepeatLimit="marquee_forever"
-                    android:textColor="?android:attr/textColorPrimary"/>
+                <!-- This is not a Space since Spaces cannot be clicked. The width of this changes
+                depending on horizontal/portrait orientation -->
+                <View
+                    android:id="@+id/left_space"
+                    android:layout_weight="1"
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"/>
 
-                <TextView
-                    android:id="@+id/subtitle"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_marginTop="8dp"
-                    android:layout_marginStart="24dp"
-                    android:layout_marginEnd="24dp"
-                    android:gravity="@integer/biometric_dialog_text_gravity"
-                    android:textSize="16sp"
-                    android:maxLines="1"
-                    android:singleLine="true"
-                    android:ellipsize="marquee"
-                    android:marqueeRepeatLimit="marquee_forever"
-                    android:textColor="?android:attr/textColorPrimary"/>
+                    <LinearLayout
+                        android:id="@+id/dialog"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:orientation="vertical"
+                        android:background="@drawable/biometric_dialog_bg"
+                        android:layout_marginBottom="@dimen/biometric_dialog_border_padding"
+                        android:layout_marginLeft="@dimen/biometric_dialog_border_padding"
+                        android:layout_marginRight="@dimen/biometric_dialog_border_padding">
 
-                <TextView
-                    android:id="@+id/description"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_marginEnd="24dp"
-                    android:layout_marginStart="24dp"
-                    android:gravity="@integer/biometric_dialog_text_gravity"
-                    android:paddingTop="8dp"
-                    android:textSize="16sp"
-                    android:maxLines="4"
-                    android:textColor="?android:attr/textColorPrimary"/>
+                        <TextView
+                            android:id="@+id/title"
+                            android:fontFamily="@*android:string/config_headlineFontFamilyMedium"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginEnd="24dp"
+                            android:layout_marginStart="24dp"
+                            android:layout_marginTop="24dp"
+                            android:gravity="@integer/biometric_dialog_text_gravity"
+                            android:textSize="20sp"
+                            android:maxLines="1"
+                            android:singleLine="true"
+                            android:ellipsize="marquee"
+                            android:marqueeRepeatLimit="marquee_forever"
+                            android:textColor="?android:attr/textColorPrimary"/>
 
-                <ImageView
-                    android:id="@+id/biometric_icon"
-                    android:layout_width="@dimen/biometric_dialog_biometric_icon_size"
-                    android:layout_height="@dimen/biometric_dialog_biometric_icon_size"
-                    android:layout_gravity="center_horizontal"
-                    android:layout_marginTop="48dp"
-                    android:scaleType="fitXY" />
+                        <TextView
+                            android:id="@+id/subtitle"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginTop="8dp"
+                            android:layout_marginStart="24dp"
+                            android:layout_marginEnd="24dp"
+                            android:gravity="@integer/biometric_dialog_text_gravity"
+                            android:textSize="16sp"
+                            android:maxLines="1"
+                            android:singleLine="true"
+                            android:ellipsize="marquee"
+                            android:marqueeRepeatLimit="marquee_forever"
+                            android:textColor="?android:attr/textColorPrimary"/>
 
-                <TextView
-                    android:id="@+id/error"
-                    android:layout_width="match_parent"
-                    android:layout_height="wrap_content"
-                    android:layout_marginEnd="24dp"
-                    android:layout_marginStart="24dp"
-                    android:paddingTop="16dp"
-                    android:paddingBottom="24dp"
-                    android:textSize="12sp"
-                    android:gravity="center_horizontal"
-                    android:accessibilityLiveRegion="polite"
-                    android:contentDescription="@string/accessibility_biometric_dialog_help_area"
-                    android:textColor="?android:attr/textColorSecondary"/>
+                        <TextView
+                            android:id="@+id/description"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginEnd="24dp"
+                            android:layout_marginStart="24dp"
+                            android:gravity="@integer/biometric_dialog_text_gravity"
+                            android:paddingTop="8dp"
+                            android:textSize="16sp"
+                            android:maxLines="4"
+                            android:textColor="?android:attr/textColorPrimary"/>
 
-                <LinearLayout
-                    android:layout_width="match_parent"
-                    android:layout_height="72dip"
-                    android:paddingTop="24dp"
-                    android:layout_gravity="center_vertical"
-                    style="?android:attr/buttonBarStyle"
-                    android:orientation="horizontal"
-                    android:measureWithLargestChild="true">
-                    <Space android:id="@+id/leftSpacer"
-                        android:layout_width="12dp"
-                        android:layout_height="match_parent"
-                        android:visibility="visible" />
-                    <!-- Negative Button -->
-                    <Button android:id="@+id/button2"
-                        android:layout_width="wrap_content"
-                        android:layout_height="match_parent"
-                        style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored"
-                        android:gravity="center"
-                        android:maxLines="2" />
-                    <Space android:id="@+id/middleSpacer"
-                        android:layout_width="0dp"
-                        android:layout_height="match_parent"
-                        android:layout_weight="1"
-                        android:visibility="visible" />
-                    <!-- Positive Button -->
-                    <Button android:id="@+id/button1"
-                        android:layout_width="wrap_content"
-                        android:layout_height="match_parent"
-                        style="@*android:style/Widget.DeviceDefault.Button.Colored"
-                        android:gravity="center"
-                        android:maxLines="2"
-                        android:text="@string/biometric_dialog_confirm"
-                        android:visibility="gone"/>
-                    <!-- Try Again Button -->
-                    <Button android:id="@+id/button_try_again"
-                        android:layout_width="wrap_content"
-                        android:layout_height="match_parent"
-                        style="@*android:style/Widget.DeviceDefault.Button.Colored"
-                        android:gravity="center"
-                        android:maxLines="2"
-                        android:text="@string/biometric_dialog_try_again"
-                        android:visibility="gone"/>
-                    <Space android:id="@+id/rightSpacer"
-                        android:layout_width="12dip"
-                        android:layout_height="match_parent"
-                        android:visibility="visible" />
-                </LinearLayout>
+                        <ImageView
+                            android:id="@+id/biometric_icon"
+                            android:layout_width="@dimen/biometric_dialog_biometric_icon_size"
+                            android:layout_height="@dimen/biometric_dialog_biometric_icon_size"
+                            android:layout_gravity="center_horizontal"
+                            android:layout_marginTop="48dp"
+                            android:scaleType="fitXY" />
+
+                        <TextView
+                            android:id="@+id/error"
+                            android:layout_width="match_parent"
+                            android:layout_height="wrap_content"
+                            android:layout_marginEnd="24dp"
+                            android:layout_marginStart="24dp"
+                            android:paddingTop="16dp"
+                            android:paddingBottom="24dp"
+                            android:textSize="12sp"
+                            android:gravity="center_horizontal"
+                            android:accessibilityLiveRegion="polite"
+                            android:contentDescription="@string/accessibility_biometric_dialog_help_area"
+                            android:textColor="?android:attr/textColorSecondary"/>
+
+                        <LinearLayout
+                            android:layout_width="match_parent"
+                            android:layout_height="72dip"
+                            android:paddingTop="24dp"
+                            android:layout_gravity="center_vertical"
+                            style="?android:attr/buttonBarStyle"
+                            android:orientation="horizontal"
+                            android:measureWithLargestChild="true">
+                            <Space android:id="@+id/leftSpacer"
+                                android:layout_width="12dp"
+                                android:layout_height="match_parent"
+                                android:visibility="visible" />
+                            <!-- Negative Button -->
+                            <Button android:id="@+id/button2"
+                                android:layout_width="wrap_content"
+                                android:layout_height="match_parent"
+                                style="@*android:style/Widget.DeviceDefault.Button.Borderless.Colored"
+                                android:gravity="center"
+                                android:maxLines="2" />
+                            <Space android:id="@+id/middleSpacer"
+                                android:layout_width="0dp"
+                                android:layout_height="match_parent"
+                                android:layout_weight="1"
+                                android:visibility="visible" />
+                            <!-- Positive Button -->
+                            <Button android:id="@+id/button1"
+                                android:layout_width="wrap_content"
+                                android:layout_height="match_parent"
+                                style="@*android:style/Widget.DeviceDefault.Button.Colored"
+                                android:gravity="center"
+                                android:maxLines="2"
+                                android:text="@string/biometric_dialog_confirm"
+                                android:visibility="gone"/>
+                            <!-- Try Again Button -->
+                            <Button android:id="@+id/button_try_again"
+                                android:layout_width="wrap_content"
+                                android:layout_height="match_parent"
+                                style="@*android:style/Widget.DeviceDefault.Button.Colored"
+                                android:gravity="center"
+                                android:maxLines="2"
+                                android:text="@string/biometric_dialog_try_again"
+                                android:visibility="gone"/>
+                            <Space android:id="@+id/rightSpacer"
+                                android:layout_width="12dip"
+                                android:layout_height="match_parent"
+                                android:visibility="visible" />
+                        </LinearLayout>
+                    </LinearLayout>
+
+                <!-- This is not a Space since Spaces cannot be clicked. The width of this changes
+                depending on horizontal/portrait orientation -->
+                <View
+                    android:id="@+id/right_space"
+                    android:layout_weight="1"
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent" />
+
             </LinearLayout>
 
-            <!-- This is not a Space since Spaces cannot be clicked. The width of this changes depending
-             on horizontal/portrait orientation -->
-            <View
-                android:id="@+id/right_space"
-                android:layout_weight="1"
-                android:layout_width="0dp"
-                android:layout_height="match_parent" />
-
-        </LinearLayout>
+        </ScrollView>
 
     </LinearLayout>
 
diff --git a/packages/SystemUI/res/layout/global_actions_grid.xml b/packages/SystemUI/res/layout/global_actions_grid.xml
index 729e96e..8651e5a 100644
--- a/packages/SystemUI/res/layout/global_actions_grid.xml
+++ b/packages/SystemUI/res/layout/global_actions_grid.xml
@@ -6,11 +6,11 @@
     android:layout_height="match_parent"
     android:orientation="horizontal"
     android:clipToPadding="false"
+    android:paddingTop="@dimen/global_actions_top_padding"
     android:theme="@style/qs_theme"
-    android:gravity="bottom|center"
+    android:gravity="top|center"
     android:clipChildren="false"
 >
-
     <LinearLayout
         android:layout_height="wrap_content"
         android:layout_width="match_parent"
@@ -31,43 +31,40 @@
             android:paddingTop="@dimen/global_actions_grid_vertical_padding"
             android:paddingBottom="@dimen/global_actions_grid_vertical_padding"
             android:orientation="vertical"
-            android:background="?android:attr/colorBackgroundFloating"
             android:gravity="center"
             android:translationZ="@dimen/global_actions_translate"
         />
-
         <!-- Grid of action items -->
         <com.android.systemui.globalactions.ListGridLayout
             android:id="@android:id/list"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:orientation="horizontal"
-            android:layoutDirection="rtl"
+            android:orientation="vertical"
+            android:gravity="right"
             android:layout_marginRight="@dimen/global_actions_grid_side_margin"
             android:translationZ="@dimen/global_actions_translate"
             android:paddingLeft="@dimen/global_actions_grid_horizontal_padding"
             android:paddingRight="@dimen/global_actions_grid_horizontal_padding"
             android:paddingTop="@dimen/global_actions_grid_vertical_padding"
             android:paddingBottom="@dimen/global_actions_grid_vertical_padding"
-            android:background="?android:attr/colorBackgroundFloating"
         >
             <LinearLayout
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:orientation="vertical"
+                android:layoutDirection="locale"
             />
             <LinearLayout
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:orientation="vertical"
+                android:layoutDirection="locale"
             />
             <LinearLayout
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:visibility="gone"
-                android:orientation="vertical"
+                android:layoutDirection="locale"
             />
         </com.android.systemui.globalactions.ListGridLayout>
     </LinearLayout>
diff --git a/packages/SystemUI/res/layout/global_actions_grid_item.xml b/packages/SystemUI/res/layout/global_actions_grid_item.xml
index 5dee09d..999c7b8 100644
--- a/packages/SystemUI/res/layout/global_actions_grid_item.xml
+++ b/packages/SystemUI/res/layout/global_actions_grid_item.xml
@@ -35,7 +35,7 @@
         android:layout_marginBottom="@dimen/global_actions_grid_item_icon_bottom_margin"
         android:layout_marginLeft="@dimen/global_actions_grid_item_icon_side_margin"
         android:layout_marginRight="@dimen/global_actions_grid_item_icon_side_margin"
-        android:scaleType="center"
+        android:scaleType="centerInside"
         android:alpha="?android:attr/primaryContentAlpha"
     />
 
diff --git a/packages/SystemUI/res/layout/home_handle.xml b/packages/SystemUI/res/layout/home_handle.xml
index 48ea5c4..d950f39 100644
--- a/packages/SystemUI/res/layout/home_handle.xml
+++ b/packages/SystemUI/res/layout/home_handle.xml
@@ -18,7 +18,7 @@
 <com.android.systemui.statusbar.phone.NavigationHandle
     xmlns:android="http://schemas.android.com/apk/res/android"
     android:id="@+id/home_handle"
-    android:layout_width="@dimen/navigation_handle_width"
+    android:layout_width="@dimen/navigation_home_handle_width"
     android:layout_height="match_parent"
     android:layout_weight="0"
     />
diff --git a/packages/SystemUI/res/layout/keyguard_bottom_area.xml b/packages/SystemUI/res/layout/keyguard_bottom_area.xml
index 53b3a7e..adc0b41 100644
--- a/packages/SystemUI/res/layout/keyguard_bottom_area.xml
+++ b/packages/SystemUI/res/layout/keyguard_bottom_area.xml
@@ -83,9 +83,9 @@
         android:layout_height="@dimen/keyguard_lock_height"
         android:layout_gravity="bottom|center_horizontal"
         android:layout_marginBottom="@dimen/keyguard_lock_padding"
-        android:src="@*android:drawable/ic_lock_24dp"
+        android:src="@*android:drawable/ic_lock"
         android:contentDescription="@string/accessibility_unlock_button"
-        android:scaleType="fitCenter" />
+        android:scaleType="center" />
 
     <FrameLayout
         android:id="@+id/overlay_container"
diff --git a/packages/SystemUI/res/layout/mobile_signal_group.xml b/packages/SystemUI/res/layout/mobile_signal_group.xml
index 5ecd380..bfd079b 100644
--- a/packages/SystemUI/res/layout/mobile_signal_group.xml
+++ b/packages/SystemUI/res/layout/mobile_signal_group.xml
@@ -65,8 +65,8 @@
         android:layout_gravity="center_vertical">
         <com.android.systemui.statusbar.AnimatedImageView
             android:id="@+id/mobile_signal"
-            android:layout_height="wrap_content"
-            android:layout_width="wrap_content"
+            android:layout_height="@dimen/qs_header_mobile_icon_size"
+            android:layout_width="@dimen/qs_header_mobile_icon_size"
             systemui:hasOverlappingRendering="false"
             />
         <ImageView
diff --git a/packages/SystemUI/res/layout/notification_info.xml b/packages/SystemUI/res/layout/notification_info.xml
index 863c1cc..0d44931 100644
--- a/packages/SystemUI/res/layout/notification_info.xml
+++ b/packages/SystemUI/res/layout/notification_info.xml
@@ -44,7 +44,7 @@
             android:id="@+id/pkgname"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textAppearance="@*android:style/TextAppearance.Material.Notification.Info"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Info"
             android:layout_marginStart="3dp"
             android:layout_marginEnd="2dp"
             android:singleLine="true"
@@ -54,7 +54,7 @@
             android:id="@+id/pkg_divider"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textAppearance="@*android:style/TextAppearance.Material.Notification.Info"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Info"
             android:layout_marginStart="2dp"
             android:layout_marginEnd="2dp"
             android:text="@*android:string/notification_header_divider_symbol"
@@ -64,7 +64,7 @@
             android:id="@+id/delegate_name"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:textAppearance="@*android:style/TextAppearance.Material.Notification.Info"
+            android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Info"
             android:layout_marginStart="2dp"
             android:layout_marginEnd="2dp"
             android:ellipsize="end"
@@ -129,7 +129,7 @@
                     android:id="@+id/group_name"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:textAppearance="@*android:style/TextAppearance.Material.Notification.Title"
+                    android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Title"
                     android:layout_marginStart="2dp"
                     android:layout_marginEnd="2dp"
                     android:ellipsize="end"
@@ -139,7 +139,7 @@
                     android:id="@+id/pkg_group_divider"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
-                    android:textAppearance="@*android:style/TextAppearance.Material.Notification.Title"
+                    android:textAppearance="@*android:style/TextAppearance.DeviceDefault.Notification.Title"
                     android:layout_marginStart="2dp"
                     android:layout_marginEnd="2dp"
                     android:text="@*android:string/notification_header_divider_symbol"
@@ -151,7 +151,7 @@
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_weight="1"
-                    style="@android:style/TextAppearance.Material.Notification.Title"
+                    style="@*android:style/TextAppearance.DeviceDefault.Notification.Title"
                     android:layout_toEndOf="@id/pkg_group_divider"/>
             </RelativeLayout>
             <!-- Question prompt -->
@@ -159,7 +159,7 @@
                 android:id="@+id/block_prompt"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
-                style="@android:style/TextAppearance.Material.Notification" />
+                style="@*android:style/TextAppearance.DeviceDefault.Notification" />
         </LinearLayout>
 
         <!-- Settings and Done buttons -->
@@ -174,7 +174,7 @@
             android:clipToPadding="false">
             <TextView
                 android:id="@+id/done"
-                android:text="@string/inline_done_button"
+                android:text="@string/inline_ok_button"
                 android:layout_width="wrap_content"
                 android:layout_height="wrap_content"
                 android:layout_centerVertical="true"
@@ -191,7 +191,7 @@
                 android:orientation="horizontal">
                 <TextView
                     android:id="@+id/deliver_silently"
-                    android:text="@string/inline_deliver_silently_button"
+                    android:text="@string/inline_silent_button_silent"
                     android:layout_width="wrap_content"
                     android:layout_height="wrap_content"
                     android:layout_centerVertical="true"
@@ -220,48 +220,145 @@
                     android:layout_marginStart="@dimen/notification_guts_button_horizontal_spacing"
                     style="@style/TextAppearance.NotificationInfo.Button"/>
             </LinearLayout>
-
-
         </RelativeLayout>
         <LinearLayout
             android:id="@+id/interruptiveness_settings"
             android:layout_width="match_parent"
             android:layout_height="wrap_content"
-            android:layout_marginTop="@dimen/notification_guts_button_spacing"
-            android:layout_marginStart="@dimen/notification_guts_button_side_margin"
-            android:layout_marginEnd="@dimen/notification_guts_button_side_margin"
-            android:gravity="center"
-            android:orientation="horizontal"
+            android:orientation="vertical"
             android:visibility="gone">
+            <LinearLayout
+                android:layout_width="match_parent"
+                android:layout_height="wrap_content"
+                android:layout_marginTop="2dp"
+                android:layout_marginStart="@dimen/notification_guts_button_side_margin"
+                android:layout_marginEnd="@dimen/notification_guts_button_side_margin"
+                android:gravity="center"
+                android:orientation="horizontal">
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1"
+                    android:gravity="center_horizontal"
+                    android:orientation="vertical">
+                    <FrameLayout
+                        android:id="@+id/int_block_wrapper"
+                        android:padding="4dp"
+                        android:layout_width="48dp"
+                        android:layout_height="48dp"
+                        android:gravity="center">
+                        <ImageButton
+                            android:id="@+id/int_block"
+                            android:background="@drawable/circle_white_40dp"
+                            android:src="@drawable/ic_notification_block"
+                            android:layout_gravity="center"
+                            android:layout_width="40dp"
+                            android:layout_height="40dp"
+                            android:clickable="false"
+                            android:contentDescription="@string/inline_block_button"
+                            android:tint="@color/GM2_grey_400"
+                            style="@style/TextAppearance.NotificationInfo.Button"/>
+                    </FrameLayout>
+                    <TextView
+                        android:id="@+id/int_block_label"
+                        android:text="@string/inline_block_button"
+                        android:layout_gravity="center_horizontal"
+                        android:gravity="center"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:ellipsize="end"
+                        android:maxLines="1"
+                        style="@style/TextAppearance.NotificationInfo.ButtonLabel"/>
+                </LinearLayout>
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1"
+                    android:gravity="center_horizontal"
+                    android:orientation="vertical">
+                    <FrameLayout
+                        android:id="@+id/int_silent_wrapper"
+                        android:padding="4dp"
+                        android:layout_width="48dp"
+                        android:layout_height="48dp"
+                        android:gravity="center">
+                        <ImageButton
+                            android:id="@+id/int_silent"
+                            android:background="@drawable/circle_white_40dp"
+                            android:src="@drawable/ic_notifications_silence"
+                            android:layout_gravity="center"
+                            android:layout_width="40dp"
+                            android:layout_height="40dp"
+                            android:clickable="false"
+                            android:contentDescription="@string/inline_silent_button_silent"
+                            android:tint="@color/GM2_grey_400"
+                            style="@style/TextAppearance.NotificationInfo.Button"/>
+                    </FrameLayout>
+                    <TextView
+                        android:id="@+id/int_silent_label"
+                        android:text="@string/inline_silent_button_silent"
+                        android:layout_gravity="center_horizontal"
+                        android:gravity="center"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:ellipsize="end"
+                        android:maxLines="1"
+                        style="@style/TextAppearance.NotificationInfo.ButtonLabel"/>
+                </LinearLayout>
+                <LinearLayout
+                    android:layout_width="0dp"
+                    android:layout_height="match_parent"
+                    android:layout_weight="1"
+                    android:gravity="center_horizontal"
+                    android:orientation="vertical">
+                    <FrameLayout
+                        android:id="@+id/int_alert_wrapper"
+                        android:padding="4dp"
+                        android:layout_width="48dp"
+                        android:layout_height="48dp"
+                        android:gravity="center">
+                        <ImageButton
+                            android:id="@+id/int_alert"
+                            android:background="@drawable/circle_white_40dp"
+                            android:src="@drawable/ic_notifications_alert"
+                            android:layout_gravity="center"
+                            android:layout_width="40dp"
+                            android:layout_height="40dp"
+                            android:contentDescription="@string/inline_silent_button_alert"
+                            android:clickable="false"
+                            android:tint="@color/GM2_grey_400"
+                            style="@style/TextAppearance.NotificationInfo.Button"/>
+                    </FrameLayout>
+                    <TextView
+                        android:id="@+id/int_alert_label"
+                        android:text="@string/inline_silent_button_alert"
+                        android:layout_gravity="center_horizontal"
+                        android:gravity="center"
+                        android:layout_width="match_parent"
+                        android:layout_height="wrap_content"
+                        android:ellipsize="end"
+                        android:maxLines="1"
+                        style="@style/TextAppearance.NotificationInfo.ButtonLabel"/>
+                </LinearLayout>
+            </LinearLayout>
             <TextView
-                android:id="@+id/int_block"
-                android:text="@string/inline_block_button"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:drawableTop="@drawable/ic_notification_block"
-                android:drawableTint="?android:attr/colorAccent"
-                android:layout_weight="1"
-                style="@style/TextAppearance.NotificationInfo.Button"/>
+                android:id="@+id/hint_text"
+                android:layout_marginStart="@*android:dimen/notification_content_margin_start"
+                android:layout_marginEnd="@*android:dimen/notification_content_margin_start"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                style="@style/TextAppearance.NotificationInfo.HintText" />
             <TextView
-                android:id="@+id/int_silent"
-                android:text="@string/inline_minimize_button"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:drawableTop="@drawable/ic_notifications_silence"
-                android:drawableTint="?android:attr/colorAccent"
-                android:layout_weight="1"
-                style="@style/TextAppearance.NotificationInfo.Button"/>
-            <TextView
-                android:id="@+id/int_alert"
-                android:text="@string/inline_keep_button"
-                android:layout_width="0dp"
-                android:layout_height="match_parent"
-                android:drawableTop="@drawable/ic_notifications_alert"
-                android:drawableTint="?android:attr/colorAccent"
-                android:layout_weight="1"
-                style="@style/TextAppearance.NotificationInfo.Button"/>
+                android:id="@+id/done_button"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_gravity="right"
+                android:paddingRight="24dp"
+                android:text="@string/inline_done_button"
+                style="@style/TextAppearance.NotificationInfo.Button" />
         </LinearLayout>
     </LinearLayout>
+
     <com.android.systemui.statusbar.notification.row.NotificationUndoLayout
         android:id="@+id/confirmation"
         android:layout_width="match_parent"
diff --git a/packages/SystemUI/res/layout/ongoing_privacy_chip.xml b/packages/SystemUI/res/layout/ongoing_privacy_chip.xml
index f64a64e6..b16e062 100644
--- a/packages/SystemUI/res/layout/ongoing_privacy_chip.xml
+++ b/packages/SystemUI/res/layout/ongoing_privacy_chip.xml
@@ -28,7 +28,7 @@
     android:orientation="horizontal"
     android:focusable="true">
 
-        <LinearLayout
+        <FrameLayout
             android:id="@+id/background"
             android:layout_height="@dimen/ongoing_appops_chip_height"
             android:layout_width="wrap_content"
@@ -37,25 +37,8 @@
                     android:id="@+id/icons_container"
                     android:layout_height="match_parent"
                     android:layout_width="wrap_content"
-                    android:layout_marginStart="@dimen/ongoing_appops_chip_items_margin"
-                    android:layout_gravity="center_vertical"
+                    android:layout_gravity="center"
                     android:gravity="center_vertical"
                     />
-
-                <TextView
-                    android:id="@+id/text_container"
-                    android:layout_height="match_parent"
-                    android:layout_width="wrap_content"
-                    android:layout_gravity="center_vertical|end"
-                    android:paddingStart="@dimen/ongoing_appops_chip_text_padding"
-                    android:paddingEnd="@dimen/ongoing_appops_chip_text_padding"
-                    android:gravity="center_vertical"
-                    android:singleLine="true"
-                    android:ellipsize="end"
-                    android:lines="1"
-                    android:textAppearance="@style/TextAppearance.StatusBar.Clock"
-                    android:textSize="@dimen/ongoing_appops_chip_text_size"
-                    android:textColor="@color/status_bar_clock_color"
-                />
-          </LinearLayout>
+          </FrameLayout>
 </com.android.systemui.privacy.OngoingPrivacyChip>
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout/qs_footer_carrier.xml b/packages/SystemUI/res/layout/qs_carrier.xml
similarity index 70%
rename from packages/SystemUI/res/layout/qs_footer_carrier.xml
rename to packages/SystemUI/res/layout/qs_carrier.xml
index bd492b0..6edccba 100644
--- a/packages/SystemUI/res/layout/qs_footer_carrier.xml
+++ b/packages/SystemUI/res/layout/qs_carrier.xml
@@ -14,36 +14,33 @@
   ~ limitations under the License
   -->
 
-<LinearLayout
+<com.android.systemui.qs.QSCarrier
     xmlns:android="http://schemas.android.com/apk/res/android"
-    android:id="@+id/linear_footer_carrier"
-    android:layout_width="0dp"
+    android:id="@+id/linear_carrier"
+    android:layout_width="wrap_content"
     android:layout_height="match_parent"
     android:orientation="horizontal"
-    android:layout_weight="1"
     android:gravity="center_vertical|start"
     android:background="@android:color/transparent"
     android:clickable="false"
     android:clipChildren="false"
-    android:clipToPadding="false"
-    android:paddingStart="16dp" >
+    android:clipToPadding="false" >
 
     <include
         layout="@layout/mobile_signal_group"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_marginEnd="8dp"
+        android:layout_marginEnd="@dimen/qs_carrier_margin_width"
         android:visibility="gone" />
 
-    <view class="com.android.systemui.qs.QSFooterImpl$QSCarrierText"
+    <view class="com.android.systemui.qs.QSCarrier$QSCarrierText"
         android:id="@+id/qs_carrier_text"
-        android:layout_width="0dp"
+        android:layout_width="wrap_content"
         android:layout_height="wrap_content"
         android:layout_weight="1"
-        android:ellipsize="marquee"
-        android:textAppearance="@style/TextAppearance.QS.CarrierInfo"
-        android:textColor="?android:attr/textColorPrimary"
+        android:textAppearance="@style/TextAppearance.QS.Status"
         android:textDirection="locale"
-        android:singleLine="true" />
+        android:singleLine="true"
+        android:maxEms="7"/>
 
-</LinearLayout>
\ No newline at end of file
+</com.android.systemui.qs.QSCarrier>
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout/qs_carrier_group.xml b/packages/SystemUI/res/layout/qs_carrier_group.xml
new file mode 100644
index 0000000..20190b7
--- /dev/null
+++ b/packages/SystemUI/res/layout/qs_carrier_group.xml
@@ -0,0 +1,58 @@
+<!--
+  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
+  -->
+
+<!-- Extends LinearLayout -->
+<com.android.systemui.qs.QSCarrierGroup
+    xmlns:android="http://schemas.android.com/apk/res/android"
+    android:id="@+id/qs_mobile"
+    android:layout_width="0dp"
+    android:layout_height="match_parent"
+    android:layout_weight="1"
+    android:gravity="end|center_vertical"
+    android:orientation="horizontal">
+
+
+    <include
+        layout="@layout/qs_carrier"
+        android:id="@+id/carrier1"
+        android:layout_weight="1"/>
+
+    <View
+        android:id="@+id/qs_carrier_divider1"
+        android:layout_width="@dimen/qs_header_carrier_separator_width"
+        android:layout_height="match_parent"
+        android:visibility="gone" />
+
+    <include
+        layout="@layout/qs_carrier"
+        android:id="@+id/carrier2"
+        android:layout_weight="1"
+        android:visibility="gone"/>
+
+    <View
+        android:id="@+id/qs_carrier_divider2"
+        android:layout_width="@dimen/qs_header_carrier_separator_width"
+        android:layout_height="match_parent"
+        android:layout_weight="1"
+        android:visibility="gone" />
+
+    <include
+        layout="@layout/qs_carrier"
+        android:id="@+id/carrier3"
+        android:layout_weight="1"
+        android:visibility="gone"/>
+
+</com.android.systemui.qs.QSCarrierGroup>
\ No newline at end of file
diff --git a/packages/SystemUI/res/layout/qs_footer_impl.xml b/packages/SystemUI/res/layout/qs_footer_impl.xml
index 67e31ac..669d53b 100644
--- a/packages/SystemUI/res/layout/qs_footer_impl.xml
+++ b/packages/SystemUI/res/layout/qs_footer_impl.xml
@@ -21,6 +21,8 @@
     android:id="@+id/qs_footer"
     android:layout_width="match_parent"
     android:layout_height="@dimen/qs_footer_height"
+    android:layout_marginStart="@dimen/qs_footer_margin"
+    android:layout_marginEnd="@dimen/qs_footer_margin"
     android:elevation="4dp"
     android:background="@android:color/transparent"
     android:baselineAligned="false"
@@ -41,34 +43,35 @@
         android:layout_gravity="center_vertical"
         android:gravity="end" >
 
-        <LinearLayout
-            android:id="@+id/qs_mobile"
-            android:layout_width="0dp"
+        <com.android.keyguard.AlphaOptimizedLinearLayout
+            android:id="@+id/qs_footer_actions_edit_container"
+            android:layout_width="@integer/qs_footer_actions_width"
             android:layout_height="match_parent"
-            android:layout_weight="1"
-            android:gravity="center_vertical|start"
-            android:orientation="horizontal"
-            android:layout_marginEnd="32dp">
+            android:layout_weight="@integer/qs_footer_actions_weight"
+            android:gravity="center_vertical|start" >
+            <com.android.systemui.statusbar.AlphaOptimizedImageView
+                android:id="@android:id/edit"
+                android:layout_width="@dimen/qs_footer_action_button_size"
+                android:layout_height="@dimen/qs_footer_action_button_size"
+                android:background="?android:attr/selectableItemBackgroundBorderless"
+                android:clickable="true"
+                android:clipToPadding="false"
+                android:contentDescription="@string/accessibility_quick_settings_edit"
+                android:focusable="true"
+                android:padding="@dimen/qs_footer_icon_padding"
+                android:src="@*android:drawable/ic_mode_edit"
+                android:tint="?android:attr/colorForeground"/>
 
-            <include
-                layout="@layout/qs_footer_carrier"
-                android:id="@+id/carrier1" />
-
-            <View
-                android:id="@+id/qs_carrier_divider"
-                android:layout_width="2dp"
+            <TextView
+                android:id="@+id/build"
+                android:layout_width="wrap_content"
                 android:layout_height="match_parent"
-                android:layout_marginTop="15dp"
-                android:layout_marginBottom="15dp"
-                android:background="?android:attr/dividerVertical"
-                android:visibility="gone" />
-
-            <include
-                layout="@layout/qs_footer_carrier"
-                android:id="@+id/carrier2"
+                android:clickable="true"
+                android:gravity="center_vertical"
+                android:focusable="true"
+                android:textAppearance="@style/TextAppearance.QS.Status"
                 android:visibility="gone"/>
-
-        </LinearLayout>
+         </com.android.keyguard.AlphaOptimizedLinearLayout>
 
         <com.android.systemui.qs.PageIndicator
             android:id="@+id/footer_page_indicator"
@@ -85,8 +88,8 @@
             android:gravity="center_vertical|end" >
             <com.android.systemui.statusbar.phone.MultiUserSwitch
                 android:id="@+id/multi_user_switch"
-                android:layout_width="48dp"
-                android:layout_height="48dp"
+                android:layout_width="@dimen/qs_footer_action_button_size"
+                android:layout_height="@dimen/qs_footer_action_button_size"
                 android:layout_alignParentEnd="true"
                 android:background="@drawable/ripple_drawable"
                 android:focusable="true">
@@ -96,26 +99,14 @@
                     android:layout_width="@dimen/multi_user_avatar_expanded_size"
                     android:layout_height="@dimen/multi_user_avatar_expanded_size"
                     android:layout_gravity="center"
+                    android:tint="?android:attr/colorAccent"
                     android:scaleType="centerInside"/>
             </com.android.systemui.statusbar.phone.MultiUserSwitch>
 
-            <com.android.systemui.statusbar.AlphaOptimizedImageView
-                android:id="@android:id/edit"
-                android:layout_width="48dp"
-                android:layout_height="48dp"
-                android:background="?android:attr/selectableItemBackgroundBorderless"
-                android:clickable="true"
-                android:clipToPadding="false"
-                android:contentDescription="@string/accessibility_quick_settings_edit"
-                android:focusable="true"
-                android:padding="15dp"
-                android:src="@*android:drawable/ic_mode_edit"
-                android:tint="?android:attr/colorForeground"/>
-
             <com.android.systemui.statusbar.AlphaOptimizedFrameLayout
                 android:id="@+id/settings_button_container"
-                android:layout_width="48dp"
-                android:layout_height="48dp"
+                android:layout_width="@dimen/qs_footer_action_button_size"
+                android:layout_height="@dimen/qs_footer_action_button_size"
                 android:clipChildren="false"
                 android:clipToPadding="false">
 
@@ -124,10 +115,12 @@
                     style="@android:style/Widget.Material.Button.Borderless"
                     android:layout_width="match_parent"
                     android:layout_height="match_parent"
+                    android:layout_gravity="center"
+                    android:padding="@dimen/qs_footer_icon_padding"
                     android:background="@drawable/ripple_drawable"
                     android:contentDescription="@string/accessibility_quick_settings_settings"
-                    android:padding="15dp"
-                    android:src="@drawable/ic_settings_16dp"
+                    android:src="@drawable/ic_settings"
+                    android:scaleType="centerInside"
                     android:tint="?android:attr/colorForeground"/>
 
                 <com.android.systemui.statusbar.AlphaOptimizedImageView
@@ -143,7 +136,6 @@
             </com.android.systemui.statusbar.AlphaOptimizedFrameLayout>
         </com.android.keyguard.AlphaOptimizedLinearLayout>
     </LinearLayout>
-
     <View
         android:id="@+id/qs_drag_handle_view"
         android:layout_width="24dp"
diff --git a/packages/SystemUI/res/layout/qs_panel.xml b/packages/SystemUI/res/layout/qs_panel.xml
index 8c57ae8..01dfeb2 100644
--- a/packages/SystemUI/res/layout/qs_panel.xml
+++ b/packages/SystemUI/res/layout/qs_panel.xml
@@ -58,7 +58,7 @@
         android:elevation="4dp"
         android:background="@android:color/transparent"
         android:focusable="true"
-        android:accessibilityTraversalBefore="@id/qs_carrier_text"
+        android:accessibilityTraversalBefore="@android:id/edit"
     />
 
     <include layout="@layout/quick_status_bar_expanded_header" />
diff --git a/packages/SystemUI/res/layout/quick_settings_header_info.xml b/packages/SystemUI/res/layout/quick_settings_header_info.xml
index 967e13f..075f51d 100644
--- a/packages/SystemUI/res/layout/quick_settings_header_info.xml
+++ b/packages/SystemUI/res/layout/quick_settings_header_info.xml
@@ -25,7 +25,7 @@
         android:id="@+id/long_press_tooltip"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_gravity="center_horizontal|bottom"
+        android:layout_gravity="start|bottom"
         android:alpha="0"
         android:text="@string/quick_settings_header_onboarding_text"
         android:textAppearance="@style/TextAppearance.QS.TileLabel"
@@ -33,54 +33,69 @@
         android:visibility="invisible" />
 
     <LinearLayout
-        android:id="@+id/status_container"
         android:layout_width="wrap_content"
         android:layout_height="wrap_content"
-        android:layout_gravity="center_horizontal|bottom"
-        android:gravity="center_vertical"
-        android:alpha="0">
+        android:layout_gravity="start|bottom"
+        android:gravity="center_vertical">
 
-        <ImageView
-            android:id="@+id/next_alarm_icon"
-            android:layout_width="@dimen/qs_header_alarm_icon_size"
-            android:layout_height="@dimen/qs_header_alarm_icon_size"
-            android:src="@drawable/stat_sys_alarm"
-            android:tint="?android:attr/textColorPrimary"
-            android:visibility="gone"/>
-
-        <TextView
-            android:id="@+id/next_alarm_text"
+        <LinearLayout
+            android:id="@+id/status_container"
             android:layout_width="wrap_content"
             android:layout_height="wrap_content"
-            android:layout_marginStart="@dimen/qs_header_alarm_text_margin_start"
-            android:textAppearance="@style/TextAppearance.QS.TileLabel"
-            android:visibility="gone"/>
+            android:layout_gravity="start|center_vertical"
+            android:layout_weight="1"
+            android:gravity="center_vertical"
+            android:alpha="0">
+
+            <ImageView
+                android:id="@+id/next_alarm_icon"
+                android:layout_width="@dimen/qs_header_alarm_icon_size"
+                android:layout_height="@dimen/qs_header_alarm_icon_size"
+                android:src="@drawable/stat_sys_alarm"
+                android:tint="?android:attr/textColorPrimary"
+                android:visibility="gone"/>
+
+            <TextView
+                android:id="@+id/next_alarm_text"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="@dimen/qs_header_alarm_text_margin_start"
+                android:textAppearance="@style/TextAppearance.QS.Status"
+                android:visibility="gone"/>
+
+            <View
+                android:id="@+id/status_separator"
+                android:layout_width="@dimen/qs_header_separator_width"
+                android:layout_height="match_parent"
+                android:visibility="gone"/>
+
+            <ImageView
+                android:id="@+id/ringer_mode_icon"
+                android:layout_width="@dimen/qs_header_alarm_icon_size"
+                android:layout_height="@dimen/qs_header_alarm_icon_size"
+                android:tint="?android:attr/textColorPrimary"
+                android:visibility="gone"/>
+
+            <TextView
+                android:id="@+id/ringer_mode_text"
+                android:layout_width="wrap_content"
+                android:layout_height="wrap_content"
+                android:layout_marginStart="@dimen/qs_header_alarm_text_margin_start"
+                android:textAppearance="@style/TextAppearance.QS.Status"
+                android:visibility="gone"/>
+        </LinearLayout>
 
         <View
-            android:id="@+id/status_separator"
-            android:layout_width="1dp"
+            android:minWidth="@dimen/qs_status_separator"
+            android:layout_width="0dp"
             android:layout_height="match_parent"
-            android:layout_marginStart="10dp"
-            android:layout_marginEnd="10dp"
-            android:background="@android:color/white"
-            android:backgroundTint="?android:attr/textColorPrimary"
-            android:visibility="gone"/>
+            android:layout_weight="1"/>
 
-        <ImageView
-            android:id="@+id/ringer_mode_icon"
-            android:layout_width="@dimen/qs_header_alarm_icon_size"
-            android:layout_height="@dimen/qs_header_alarm_icon_size"
-            android:tint="?android:attr/textColorPrimary"
-            android:visibility="gone"/>
-
-        <TextView
-            android:id="@+id/ringer_mode_text"
-            android:layout_width="wrap_content"
-            android:layout_height="wrap_content"
-            android:layout_marginStart="@dimen/qs_header_alarm_text_margin_start"
-            android:textAppearance="@style/TextAppearance.QS.TileLabel"
-            android:visibility="gone"/>
-
+        <include layout="@layout/qs_carrier_group"
+                 android:id="@+id/carrier_group"
+                 android:layout_width="wrap_content"
+                 android:layout_height="wrap_content"
+                 android_layout_gravity="center vertical|end"/>
     </LinearLayout>
 
 </FrameLayout>
diff --git a/packages/SystemUI/res/layout/size_compat_mode_hint.xml b/packages/SystemUI/res/layout/size_compat_mode_hint.xml
new file mode 100644
index 0000000..347c2b4
--- /dev/null
+++ b/packages/SystemUI/res/layout/size_compat_mode_hint.xml
@@ -0,0 +1,48 @@
+<?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.
+-->
+<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
+    android:layout_width="wrap_content"
+    android:layout_height="wrap_content"
+    android:background="@android:color/background_light"
+    android:orientation="vertical">
+
+    <TextView
+        android:layout_width="180dp"
+        android:layout_height="wrap_content"
+        android:paddingLeft="10dp"
+        android:paddingRight="10dp"
+        android:paddingTop="10dp"
+        android:text="@string/restart_button_description"
+        android:textAlignment="viewStart"
+        android:textColor="@android:color/primary_text_light"
+        android:textSize="16sp" />
+
+    <Button
+        android:id="@+id/got_it"
+        android:layout_width="wrap_content"
+        android:layout_height="wrap_content"
+        android:includeFontPadding="false"
+        android:layout_gravity="end"
+        android:minHeight="36dp"
+        android:background="?android:attr/selectableItemBackground"
+        android:text="@string/got_it"
+        android:textAllCaps="true"
+        android:textColor="#3c78d8"
+        android:textSize="16sp"
+        android:textStyle="bold" />
+
+</LinearLayout>
diff --git a/packages/SystemUI/res/layout/status_bar_notification_footer.xml b/packages/SystemUI/res/layout/status_bar_notification_footer.xml
index 056f16a..174a3b8 100644
--- a/packages/SystemUI/res/layout/status_bar_notification_footer.xml
+++ b/packages/SystemUI/res/layout/status_bar_notification_footer.xml
@@ -33,6 +33,7 @@
             android:layout_height="wrap_content"
             android:layout_gravity="start"
             android:focusable="true"
+            android:contentDescription="@string/accessibility_manage_notification"
             android:text="@string/manage_notifications_text"
             android:textColor="?attr/wallpaperTextColor"
             android:textAllCaps="false"/>
diff --git a/packages/SystemUI/res/layout/volume_dialog.xml b/packages/SystemUI/res/layout/volume_dialog.xml
index ca34c23..130be89 100644
--- a/packages/SystemUI/res/layout/volume_dialog.xml
+++ b/packages/SystemUI/res/layout/volume_dialog.xml
@@ -98,5 +98,27 @@
             </FrameLayout>
         </LinearLayout>
 
+        <FrameLayout
+            android:id="@+id/odi_captions"
+            android:layout_width="@dimen/volume_dialog_caption_size"
+            android:layout_height="@dimen/volume_dialog_caption_size"
+            android:layout_marginTop="@dimen/volume_dialog_spacer"
+            android:translationZ="@dimen/volume_dialog_elevation"
+            android:layout_gravity="right"
+            android:clipToPadding="false"
+            android:visibility="gone"
+            android:background="@drawable/rounded_bg_full">
+            <com.android.keyguard.AlphaOptimizedImageButton
+                android:id="@+id/odi_captions_icon"
+                android:src="@drawable/ic_volume_odi_captions_disabled"
+                style="@style/VolumeButtons"
+                android:background="@drawable/rounded_ripple"
+                android:layout_width="match_parent"
+                android:layout_height="match_parent"
+                android:tint="@color/accent_tint_color_selector"
+                android:layout_gravity="center"
+                android:soundEffectsEnabled="false" />
+        </FrameLayout>
+
     </LinearLayout>
 </FrameLayout>
\ No newline at end of file
diff --git a/packages/SystemUI/res/raw/image_wallpaper_fragment_shader.glsl b/packages/SystemUI/res/raw/image_wallpaper_fragment_shader.glsl
index 586cdf3..716e127 100644
--- a/packages/SystemUI/res/raw/image_wallpaper_fragment_shader.glsl
+++ b/packages/SystemUI/res/raw/image_wallpaper_fragment_shader.glsl
@@ -1,27 +1,76 @@
 precision mediump float;
 
+// The actual wallpaper texture.
 uniform sampler2D uTexture;
-uniform float uCenterReveal;
+
+// The 85th percenile for the luminance histogram of the image (a value between 0 and 1).
+// This value represents the point in histogram that includes 85% of the pixels of the image.
+uniform float uPer85;
+
+// Reveal is the animation value that goes from 1 (the image is hidden) to 0 (the image is visible).
 uniform float uReveal;
+
+// The opacity of locked screen (constant value).
 uniform float uAod2Opacity;
 varying vec2 vTextureCoordinates;
 
+/*
+ * Calculates the relative luminance of the pixel.
+ */
 vec3 luminosity(vec3 color) {
     float lum = 0.2126 * color.r + 0.7152 * color.g + 0.0722 * color.b;
     return vec3(lum);
 }
 
 vec4 transform(vec3 diffuse) {
-    // TODO: Add well comments here, tracking on b/123615467.
+    // Getting the luminance for this pixel
     vec3 lum = luminosity(diffuse);
-    diffuse = mix(diffuse, lum, smoothstep(0., uCenterReveal, uReveal));
-    float val = mix(uReveal, uCenterReveal, step(uCenterReveal, uReveal));
-    diffuse = smoothstep(val, 1.0, diffuse);
-    diffuse *= uAod2Opacity * (1. - smoothstep(uCenterReveal, 1., uReveal));
+
+    /*
+     * while the reveal > per85, it shows the luminance image (B&W image)
+     * then when moving passed that value, the image gets colored.
+     */
+    float trans = smoothstep(0., uPer85, uReveal);
+    diffuse = mix(diffuse, lum, trans);
+
+    // 'lower' value represents the capped 'reveal' value to the range [0, per85]
+    float selector = step(uPer85, uReveal);
+    float lower = mix(uReveal, uPer85, selector);
+
+    /*
+     * Remaps image:
+     * - from reveal=1 to reveal=per85 => lower=per85, diffuse=luminance
+     *   That means that remaps black and white image pixel
+     *   from a possible values of [0,1] to [per85, 1] (if the pixel is darker than per85,
+     *   it's gonna be black, if it's between per85 and 1, it's gonna be gray
+     *   and if it's 1 it's gonna be white).
+     * - from reveal=per85 to reveal=0 => lower=reveal, 'diffuse' changes from luminance to color
+     *   That means that remaps each image pixel color (rgb)
+     *   from a possible values of [0,1] to [lower, 1] (if the pixel color is darker than 'lower',
+     *   it's gonna be 0, if it's between 'lower' and 1, it's gonna be remap to a value
+     *   between 0 and 1 and if it's 1 it's gonna be 1).
+     * - if reveal=0 => lower=0, diffuse=color image
+     *   The image is shown as it is, colored.
+     */
+    vec3 remaps = smoothstep(lower, 1., diffuse);
+
+    // Interpolate between diffuse and remaps using reveal to avoid over saturation.
+    diffuse = mix(diffuse, remaps, uReveal);
+
+    /*
+     * Fades in the pixel value:
+     * - if reveal=1 => fadeInOpacity=0
+     * - from reveal=1 to reveal=per85 => 0<=fadeInOpacity<=1
+     * - if reveal>per85 => fadeInOpacity=1
+     */
+    float fadeInOpacity = 1. - smoothstep(uPer85, 1., uReveal);
+    diffuse *= uAod2Opacity * fadeInOpacity;
+
     return vec4(diffuse.r, diffuse.g, diffuse.b, 1.);
 }
 
 void main() {
+    // gets the pixel value of the wallpaper for this uv coordinates on screen.
     vec4 fragColor = texture2D(uTexture, vTextureCoordinates);
     gl_FragColor = transform(fragColor.rgb);
 }
\ No newline at end of file
diff --git a/packages/SystemUI/res/values-af/strings.xml b/packages/SystemUI/res/values-af/strings.xml
index 9ff72e8..006e8041 100644
--- a/packages/SystemUI/res/values-af/strings.xml
+++ b/packages/SystemUI/res/values-af/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi is aan"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Geen Wi-Fi-netwerke beskikbaar nie"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Skakel tans aan …"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Skermuitsending"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Saai tans uit"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Onbenoemde toestel"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Gereed om uit te saai"</string>
diff --git a/packages/SystemUI/res/values-am/strings.xml b/packages/SystemUI/res/values-am/strings.xml
index 9a3aa2b..89dad9a 100644
--- a/packages/SystemUI/res/values-am/strings.xml
+++ b/packages/SystemUI/res/values-am/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi በርቷል"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"ምንም የWi-Fi  አውታረ መረቦች የሉም"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"በማብራት ላይ..."</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"የማያ ገጽ መውሰድ"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"በመውሰድ ላይ"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"ያልተሰየመ መሳሪያ"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"ለመውሰድ ዝግጁ"</string>
diff --git a/packages/SystemUI/res/values-ar/strings.xml b/packages/SystemUI/res/values-ar/strings.xml
index 0398dcc..f1904f8 100644
--- a/packages/SystemUI/res/values-ar/strings.xml
+++ b/packages/SystemUI/res/values-ar/strings.xml
@@ -329,8 +329,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"‏تم تشغيل Wi-Fi"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"‏لا تتوفر أي شبكة Wi-Fi"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"جارٍ التفعيل…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"بث الشاشة"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"جارٍ الإرسال"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"جهاز لا يحمل اسمًا"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"جاهز للإرسال"</string>
diff --git a/packages/SystemUI/res/values-as/strings.xml b/packages/SystemUI/res/values-as/strings.xml
index ef969ab..43fd06f 100644
--- a/packages/SystemUI/res/values-as/strings.xml
+++ b/packages/SystemUI/res/values-as/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"ৱাই-ফাই অন হৈ আছে"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"কোনো ৱাই-ফাই নেটৱৰ্ক নাই"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"অন কৰি থকা হৈছে…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"স্ক্ৰীণ কাষ্ট"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"কাষ্টিং"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"নাম নথকা ডিভাইচ"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"কাষ্টৰ বাবে সাজু"</string>
diff --git a/packages/SystemUI/res/values-az/strings.xml b/packages/SystemUI/res/values-az/strings.xml
index ab5c1f5..9682755 100644
--- a/packages/SystemUI/res/values-az/strings.xml
+++ b/packages/SystemUI/res/values-az/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi Aktiv"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Heç bir Wi-Fi şəbəkəsi əlçatan deyil"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Aktiv edilir..."</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Screen Cast"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Yayım"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Adsız cihaz"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Yayıma hazırdır"</string>
diff --git a/packages/SystemUI/res/values-b+sr+Latn/strings.xml b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
index 05eea12..fed8601 100644
--- a/packages/SystemUI/res/values-b+sr+Latn/strings.xml
+++ b/packages/SystemUI/res/values-b+sr+Latn/strings.xml
@@ -326,8 +326,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi je uključen"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Nije dostupna nijedna Wi-Fi mreža"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Uključuje se..."</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Prebacivanje ekrana"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Prebacivanje"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Neimenovani uređaj"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Spremno za prebacivanje"</string>
diff --git a/packages/SystemUI/res/values-be/strings.xml b/packages/SystemUI/res/values-be/strings.xml
index e2f8afd..31ce237 100644
--- a/packages/SystemUI/res/values-be/strings.xml
+++ b/packages/SystemUI/res/values-be/strings.xml
@@ -329,8 +329,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi уключаны"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Няма даступнай сеткі Wi-Fi"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Уключэнне…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Відэа з экрана"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Ідзе перадача"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Прылада без назвы"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Гатова для трансляцыі"</string>
diff --git a/packages/SystemUI/res/values-bg/strings.xml b/packages/SystemUI/res/values-bg/strings.xml
index 10a5ecb..1330373 100644
--- a/packages/SystemUI/res/values-bg/strings.xml
+++ b/packages/SystemUI/res/values-bg/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Функцията за Wi-Fi е включена"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Няма налични Wi-Fi мрежи"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Включва се..."</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Предаване на екрана"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Предава се"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Устройство без име"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Готово за предаване"</string>
diff --git a/packages/SystemUI/res/values-bn/strings.xml b/packages/SystemUI/res/values-bn/strings.xml
index bff2ade..2628a24 100644
--- a/packages/SystemUI/res/values-bn/strings.xml
+++ b/packages/SystemUI/res/values-bn/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"ওয়াই-ফাই চালু আছে"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"কোনো ওয়াই-ফাই নেটওয়ার্ক উপলব্ধ নেই"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"চালু করা হচ্ছে…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"স্ক্রিন কাস্ট"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"কাস্ট করা হচ্ছে"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"নামবিহীন ডিভাইস"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"কাস্ট করার জন্য প্রস্তুত"</string>
diff --git a/packages/SystemUI/res/values-bs/strings.xml b/packages/SystemUI/res/values-bs/strings.xml
index be07da3..11ba800 100644
--- a/packages/SystemUI/res/values-bs/strings.xml
+++ b/packages/SystemUI/res/values-bs/strings.xml
@@ -326,8 +326,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"WiFi uključen"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Nema dostupnih WiFi mreža"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Uključivanje…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Emitiranje na ekranu"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Prebacivanje"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Neimenovani uređaj"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Spreman za emitiranje"</string>
diff --git a/packages/SystemUI/res/values-ca/strings.xml b/packages/SystemUI/res/values-ca/strings.xml
index faf2833..c19a1ef 100644
--- a/packages/SystemUI/res/values-ca/strings.xml
+++ b/packages/SystemUI/res/values-ca/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"La Wi-Fi està activada"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"No hi ha cap xarxa Wi-Fi disponible"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"S\'està activant…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Screen Cast"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"En emissió"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Dispositiu sense nom"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"A punt per emetre"</string>
diff --git a/packages/SystemUI/res/values-cs/strings.xml b/packages/SystemUI/res/values-cs/strings.xml
index a0481a2..0b10d79 100644
--- a/packages/SystemUI/res/values-cs/strings.xml
+++ b/packages/SystemUI/res/values-cs/strings.xml
@@ -327,8 +327,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi je zapnutá"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Žádné sítě Wi-Fi nejsou k dispozici"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Zapínání…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Vzdálená obrazovka"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Odesílání"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Nepojmenované zařízení"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Připraveno k vysílání"</string>
diff --git a/packages/SystemUI/res/values-da/strings.xml b/packages/SystemUI/res/values-da/strings.xml
index 9ab5350..9d8631c 100644
--- a/packages/SystemUI/res/values-da/strings.xml
+++ b/packages/SystemUI/res/values-da/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi er slået til"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Der er ingen tilgængelige Wi-Fi-netværk"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Aktiverer…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Cast af skærm"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Caster"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Enhed uden navn"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Klar til at caste"</string>
diff --git a/packages/SystemUI/res/values-de/strings.xml b/packages/SystemUI/res/values-de/strings.xml
index e22c641..b6ca09c 100644
--- a/packages/SystemUI/res/values-de/strings.xml
+++ b/packages/SystemUI/res/values-de/strings.xml
@@ -329,8 +329,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"WLAN an"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Keine WLANs verfügbar"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Wird aktiviert…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Bildschirm übertragen"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Wird übertragen"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Unbenanntes Gerät"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Startklar"</string>
@@ -806,7 +805,7 @@
     <string name="pip_phone_minimize" msgid="1079119422589131792">"Minimieren"</string>
     <string name="pip_phone_close" msgid="8416647892889710330">"Schließen"</string>
     <string name="pip_phone_settings" msgid="8080777499521528521">"Einstellungen"</string>
-    <string name="pip_phone_dismiss_hint" msgid="6351678169095923899">"Zum Schließen nach unten ziehen"</string>
+    <string name="pip_phone_dismiss_hint" msgid="6351678169095923899">"Zum Verwerfen nach unten ziehen"</string>
     <string name="pip_menu_title" msgid="4707292089961887657">"Menü"</string>
     <string name="pip_notification_title" msgid="3204024940158161322">"<xliff:g id="NAME">%s</xliff:g> ist in Bild im Bild"</string>
     <string name="pip_notification_message" msgid="5619512781514343311">"Wenn du nicht möchtest, dass <xliff:g id="NAME">%s</xliff:g> diese Funktion verwendet, tippe, um die Einstellungen zu öffnen und die Funktion zu deaktivieren."</string>
diff --git a/packages/SystemUI/res/values-el/strings.xml b/packages/SystemUI/res/values-el/strings.xml
index 28239ae..aab426e 100644
--- a/packages/SystemUI/res/values-el/strings.xml
+++ b/packages/SystemUI/res/values-el/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Ενεργό Wi-Fi"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Δεν υπάρχουν διαθέσιμα δίκτυα Wi-Fi"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Ενεργοποίηση…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Μετάδοση οθόνης"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Μετάδοση"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Ανώνυμη συσκευή"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Έτοιμο για μετάδοση"</string>
diff --git a/packages/SystemUI/res/values-en-rAU/strings.xml b/packages/SystemUI/res/values-en-rAU/strings.xml
index d63a8fd..1360b87 100644
--- a/packages/SystemUI/res/values-en-rAU/strings.xml
+++ b/packages/SystemUI/res/values-en-rAU/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi On"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"No Wi-Fi networks available"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Turning on…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Screen Cast"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Casting"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Unnamed device"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Ready to cast"</string>
diff --git a/packages/SystemUI/res/values-en-rCA/strings.xml b/packages/SystemUI/res/values-en-rCA/strings.xml
index 6f510b6..926b077 100644
--- a/packages/SystemUI/res/values-en-rCA/strings.xml
+++ b/packages/SystemUI/res/values-en-rCA/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi On"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"No Wi-Fi networks available"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Turning on…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Screen Cast"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Casting"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Unnamed device"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Ready to cast"</string>
diff --git a/packages/SystemUI/res/values-en-rGB/strings.xml b/packages/SystemUI/res/values-en-rGB/strings.xml
index d63a8fd..1360b87 100644
--- a/packages/SystemUI/res/values-en-rGB/strings.xml
+++ b/packages/SystemUI/res/values-en-rGB/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi On"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"No Wi-Fi networks available"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Turning on…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Screen Cast"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Casting"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Unnamed device"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Ready to cast"</string>
diff --git a/packages/SystemUI/res/values-en-rIN/strings.xml b/packages/SystemUI/res/values-en-rIN/strings.xml
index d63a8fd..1360b87 100644
--- a/packages/SystemUI/res/values-en-rIN/strings.xml
+++ b/packages/SystemUI/res/values-en-rIN/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi On"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"No Wi-Fi networks available"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Turning on…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Screen Cast"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Casting"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Unnamed device"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Ready to cast"</string>
diff --git a/packages/SystemUI/res/values-en-rXC/strings.xml b/packages/SystemUI/res/values-en-rXC/strings.xml
index c8887de..e23236a 100644
--- a/packages/SystemUI/res/values-en-rXC/strings.xml
+++ b/packages/SystemUI/res/values-en-rXC/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‎‏‏‎‎‏‎‏‎‎‎‏‎‏‏‏‏‏‎‎‏‏‎‎‎‎‎‏‎‎‎‎‎‎‏‏‎‏‏‏‏‎‏‏‏‎‏‏‏‎‏‏‎‎‎‎‏‏‎Wi-Fi On‎‏‎‎‏‎"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‎‏‎‏‏‏‎‏‏‏‏‏‏‎‎‏‏‎‎‏‎‏‏‎‎‏‎‏‏‎‎‎‎‏‏‏‏‎‏‏‎‏‎‏‎‏‎‎‎‏‎‎‏‎‏‏‎‏‎‏‎‎No Wi-Fi networks available‎‏‎‎‏‎"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‏‎‏‏‏‎‎‎‎‏‏‏‎‎‏‎‏‎‎‎‏‎‎‎‎‏‏‏‎‏‏‏‎‎‏‎‎‏‏‎‏‏‏‎‎‏‏‎‎‎‏‎‏‎‏‎‏‎‏‎‎Turning on…‎‏‎‎‏‎"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‏‎‎‎‎‎‏‎‎‎‎‏‎‎‎‎‎‎‎‎‎‎‎‏‏‏‎‏‎‏‎‎‎‏‏‏‏‏‎‏‏‏‎‎‏‏‏‏‏‎‎‏‏‏‏‏‎‎‏‏‏‎‎Screen Cast‎‏‎‎‏‎"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‏‏‎‏‏‏‎‎‏‏‏‎‏‏‏‏‏‏‏‎‎‏‏‏‎‎‎‏‏‎‎‎‏‎‏‎‎‏‏‏‎‎‏‎‏‎‎‏‎‏‎‎‎‎‏‏‎‎‏‎‎‎Casting‎‏‎‎‏‎"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‏‏‎‎‏‎‏‎‎‏‏‏‏‏‎‎‎‏‎‏‎‎‎‎‎‏‎‎‎‎‏‏‎‎‎‎‎‏‏‏‏‏‎‎‏‎‎‎‎‎‏‏‏‏‎‏‎‏‏‎‎‎‎‏‎Unnamed device‎‏‎‎‏‎"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"‎‏‎‎‎‎‎‏‎‏‏‏‎‎‎‎‎‎‏‎‎‏‎‎‎‎‏‏‏‏‏‏‎‏‎‎‎‏‎‎‏‏‏‏‎‏‎‏‏‏‏‏‎‏‎‏‎‎‏‏‎‎‏‏‎‏‎‏‏‎‎‎‏‏‏‎‏‏‎‎‏‏‏‎‏‎‎‏‎‏‎‏‏‎‏‎Ready to cast‎‏‎‎‏‎"</string>
diff --git a/packages/SystemUI/res/values-es-rUS/strings.xml b/packages/SystemUI/res/values-es-rUS/strings.xml
index 647346c..cb707ae 100644
--- a/packages/SystemUI/res/values-es-rUS/strings.xml
+++ b/packages/SystemUI/res/values-es-rUS/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi activado"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"No hay redes Wi-Fi disponibles"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Activando…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Transmisión de pantalla"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Transmitiendo"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Dispositivo sin nombre"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Listo para transmitir"</string>
diff --git a/packages/SystemUI/res/values-es/strings.xml b/packages/SystemUI/res/values-es/strings.xml
index 27784ab..bccfdd3 100644
--- a/packages/SystemUI/res/values-es/strings.xml
+++ b/packages/SystemUI/res/values-es/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi activada"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"No hay ninguna red Wi-Fi disponible"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Activando…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Enviar pantalla"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Enviando"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Dispositivo sin nombre"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Listo para enviar"</string>
diff --git a/packages/SystemUI/res/values-et/strings.xml b/packages/SystemUI/res/values-et/strings.xml
index 633c164..2c33935 100644
--- a/packages/SystemUI/res/values-et/strings.xml
+++ b/packages/SystemUI/res/values-et/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"WiFi on sees"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"WiFi-võrke pole saadaval"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Sisselülitamine …"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Ekraanikuva ülekandmine"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Osatäitjad"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Nimeta seade"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Valmis ülekandmiseks"</string>
diff --git a/packages/SystemUI/res/values-eu/strings.xml b/packages/SystemUI/res/values-eu/strings.xml
index 937a6ff..7fb5950 100644
--- a/packages/SystemUI/res/values-eu/strings.xml
+++ b/packages/SystemUI/res/values-eu/strings.xml
@@ -56,7 +56,7 @@
     <string name="always_use_accessory" msgid="3257892669444535154">"Ireki <xliff:g id="APPLICATION">%1$s</xliff:g> <xliff:g id="USB_ACCESSORY">%2$s</xliff:g> konektatzen den guztietan"</string>
     <string name="usb_debugging_title" msgid="4513918393387141949">"USB arazketa onartu?"</string>
     <string name="usb_debugging_message" msgid="2220143855912376496">"Ordenagailuaren RSA gakoaren erreferentzia-gako digitala hau da:\n<xliff:g id="FINGERPRINT">%1$s</xliff:g>"</string>
-    <string name="usb_debugging_always" msgid="303335496705863070">"Onartu beti ordenagailu honetatik"</string>
+    <string name="usb_debugging_always" msgid="303335496705863070">"Eman beti ordenagailu honetatik arazteko baimena"</string>
     <string name="usb_debugging_allow" msgid="2272145052073254852">"Eman baimena"</string>
     <string name="usb_debugging_secondary_user_title" msgid="6353808721761220421">"Ez da onartzen USB arazketa"</string>
     <string name="usb_debugging_secondary_user_message" msgid="6067122453571699801">"Gailu honetan saioa hasita duen erabiltzaileak ezin du aktibatu USB arazketa. Eginbide hori erabiltzeko, aldatu erabiltzaile nagusira."</string>
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Aktibatuta dago Wi-Fi konexioa"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Ez dago Wi-Fi sarerik erabilgarri"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Aktibatzen…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Pantaila igortzeko aukera"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Igortzen"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Izenik gabeko gailua"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Igortzeko prest"</string>
diff --git a/packages/SystemUI/res/values-fa/strings.xml b/packages/SystemUI/res/values-fa/strings.xml
index 13f9772..fc67514 100644
--- a/packages/SystemUI/res/values-fa/strings.xml
+++ b/packages/SystemUI/res/values-fa/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"‏Wi-Fi روشن"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"‏هیچ شبکه Wi-Fi موجود نیست"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"روشن کردن…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"فرستادن صفحه نمایش"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"در حال فرستادن"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"دستگاه بدون نام"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"آماده برای فرستادن"</string>
diff --git a/packages/SystemUI/res/values-fi/strings.xml b/packages/SystemUI/res/values-fi/strings.xml
index 7275497..e12733a 100644
--- a/packages/SystemUI/res/values-fi/strings.xml
+++ b/packages/SystemUI/res/values-fi/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi on käytössä"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Ei Wi-Fi-verkkoja käytettävissä"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Otetaan käyttöön…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Näytön suoratoisto"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Lähetetään"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Nimetön laite"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Valmis lähetystä varten"</string>
diff --git a/packages/SystemUI/res/values-fr-rCA/strings.xml b/packages/SystemUI/res/values-fr-rCA/strings.xml
index 397b88d..c273475 100644
--- a/packages/SystemUI/res/values-fr-rCA/strings.xml
+++ b/packages/SystemUI/res/values-fr-rCA/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi activé"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Aucun réseau Wi-Fi à proximité"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Activation en cours…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Diffusion de l\'écran"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Diffusion"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Appareil sans nom"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Prêt à diffuser"</string>
diff --git a/packages/SystemUI/res/values-fr/strings.xml b/packages/SystemUI/res/values-fr/strings.xml
index 22f68e1..4935672 100644
--- a/packages/SystemUI/res/values-fr/strings.xml
+++ b/packages/SystemUI/res/values-fr/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi activé"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Aucun réseau Wi-Fi disponible"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Activation…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Diffusion de l\'écran"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Diffusion"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Appareil sans nom"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Prêt à caster"</string>
diff --git a/packages/SystemUI/res/values-gl/strings.xml b/packages/SystemUI/res/values-gl/strings.xml
index bd4b835..524401a 100644
--- a/packages/SystemUI/res/values-gl/strings.xml
+++ b/packages/SystemUI/res/values-gl/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wifi activada"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Non hai redes wifi dispoñibles"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Activando…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Emisión da pantalla"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Emitindo"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Dispositivo sen nome"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Listo para emitir"</string>
diff --git a/packages/SystemUI/res/values-gu/strings.xml b/packages/SystemUI/res/values-gu/strings.xml
index 87bda38..ac2af34 100644
--- a/packages/SystemUI/res/values-gu/strings.xml
+++ b/packages/SystemUI/res/values-gu/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"વાઇ-ફાઇ ચાલુ"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"કોઈ વાઇ-ફાઇ નેટવર્ક્સ ઉપલબ્ધ નથી"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"ચાલુ કરી રહ્યાં છીએ…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"સ્ક્રીન કાસ્ટ"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"કાસ્ટ કરી રહ્યાં છે"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"અનામાંકિત ઉપકરણ"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"કાસ્ટ કરવા માટે તૈયાર"</string>
diff --git a/packages/SystemUI/res/values-hi/strings.xml b/packages/SystemUI/res/values-hi/strings.xml
index 998e045..c81a159 100644
--- a/packages/SystemUI/res/values-hi/strings.xml
+++ b/packages/SystemUI/res/values-hi/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"वाई-फ़ाई चालू है"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"कोई भी वाई-फ़ाई नेटवर्क उपलब्‍ध नहीं है"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"वाई-फ़ाई चालू हो रहा है…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"स्क्रीन कास्ट करना"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"कास्टिंग"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"अनाम डिवाइस"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"कास्ट करने के लिए तैयार"</string>
@@ -438,10 +437,8 @@
     <string name="battery_saver_notification_title" msgid="8614079794522291840">"बैटरी सेवर चालू है"</string>
     <string name="battery_saver_notification_text" msgid="820318788126672692">"निष्‍पादन और पृष्ठभूमि डेटा को कम करता है"</string>
     <string name="battery_saver_notification_action_text" msgid="132118784269455533">"बैटरी सेवर बंद करें"</string>
-    <!-- no translation found for media_projection_dialog_text (1443042478990422751) -->
-    <skip />
-    <!-- no translation found for media_projection_dialog_title (7574971526813630219) -->
-    <skip />
+    <string name="media_projection_dialog_text" msgid="1443042478990422751">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> आपकी स्क्रीन की सभी सामग्री कैप्चर करेगा. इसमें सूचनाएं, पासवर्ड, फ़ोटो, मैसेज, और पैसे चुकाने की जानकारी भी शामिल होगी."</string>
+    <string name="media_projection_dialog_title" msgid="7574971526813630219">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> को अपनी स्क्रीन रिकॉर्ड या कास्ट करने की मंज़ूरी दें?"</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>
@@ -819,8 +816,7 @@
     <string name="high_temp_notif_message" msgid="5642466103153429279">"फ़ोन के ठंडा होने के दौरान कुछ सुविधाएं सीमित होती हैं"</string>
     <string name="high_temp_dialog_message" msgid="6840700639374113553">"आपका फ़ोन अपने आप ठंडा होने की कोशिश करेगा. आप अभी भी अपने फ़ोन का उपयोग कर सकते हैं, लेकिन हो सकता है कि यह धीमी गति से चले.\n\nठंडा हो जाने पर आपका फ़ोन सामान्य रूप से चलेगा."</string>
     <string name="high_temp_alarm_title" msgid="442812040762745210">"चार्जर निकालें"</string>
-    <!-- no translation found for high_temp_alarm_notify_message (1802871059489414932) -->
-    <skip />
+    <string name="high_temp_alarm_notify_message" msgid="1802871059489414932">"इस डिवाइस को चार्ज करने में समस्या हुई. पावर अडैप्टर का प्लग निकालें. ऐसा करते समय सावधानी बरतें क्योंकि तार गर्म हो सकता है."</string>
     <string name="high_temp_alarm_help_care_steps" msgid="3631075329318070726">"प्रबंधन से जुड़े चरण देखें"</string>
     <string name="lockscreen_shortcut_left" msgid="2182769107618938629">"बायां शॉर्टकट"</string>
     <string name="lockscreen_shortcut_right" msgid="3328683699505226536">"दायां शॉर्टकट"</string>
diff --git a/packages/SystemUI/res/values-hr/strings.xml b/packages/SystemUI/res/values-hr/strings.xml
index cb34573..3173f71 100644
--- a/packages/SystemUI/res/values-hr/strings.xml
+++ b/packages/SystemUI/res/values-hr/strings.xml
@@ -326,8 +326,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi uključen"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Nije dostupna nijedna Wi-Fi mreža"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Uključivanje…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Emitiranje zaslona"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Emitiranje"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Uređaj bez naziva"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Spreman za emitiranje"</string>
diff --git a/packages/SystemUI/res/values-hu/strings.xml b/packages/SystemUI/res/values-hu/strings.xml
index db9ce2b..815c8bc 100644
--- a/packages/SystemUI/res/values-hu/strings.xml
+++ b/packages/SystemUI/res/values-hu/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi bekapcsolva"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Nincs elérhető Wi-Fi-hálózat"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Bekapcsolás…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Képernyőátküldés"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Átküldés"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Név nélküli eszköz"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Küldésre kész"</string>
diff --git a/packages/SystemUI/res/values-hy/strings.xml b/packages/SystemUI/res/values-hy/strings.xml
index 31f52cd..2f910b7 100644
--- a/packages/SystemUI/res/values-hy/strings.xml
+++ b/packages/SystemUI/res/values-hy/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi-ը միացված է"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Հասանելի Wi-Fi ցանցեր չկան"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Միացում…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Էկրանի հեռարձակում"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Հեռարձակում"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Անանուն սարք"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Պատրաստ է հեռարձակման"</string>
diff --git a/packages/SystemUI/res/values-in/strings.xml b/packages/SystemUI/res/values-in/strings.xml
index 9f88ef1..cef419e 100644
--- a/packages/SystemUI/res/values-in/strings.xml
+++ b/packages/SystemUI/res/values-in/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi Aktif"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Tidak ada jaringan Wi-Fi yang tersedia"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Mengaktifkan…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Transmisi Layar"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Melakukan transmisi"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Perangkat tanpa nama"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Siap melakukan transmisi"</string>
diff --git a/packages/SystemUI/res/values-is/strings.xml b/packages/SystemUI/res/values-is/strings.xml
index 012fa31..b65c7c2 100644
--- a/packages/SystemUI/res/values-is/strings.xml
+++ b/packages/SystemUI/res/values-is/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Kveikt á Wi-Fi"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Engin Wi-Fi net í boði"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Kveikir…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Skjáútsending"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Sendir út"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Ónefnt tæki"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Tilbúið í útsendingu"</string>
diff --git a/packages/SystemUI/res/values-it/strings.xml b/packages/SystemUI/res/values-it/strings.xml
index de7a69b..ffcff5e 100644
--- a/packages/SystemUI/res/values-it/strings.xml
+++ b/packages/SystemUI/res/values-it/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi attivo"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Nessuna rete Wi-Fi disponibile"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Attivazione…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Trasmissione schermo"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"In trasmissione"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Dispositivo senza nome"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Pronto a trasmettere"</string>
diff --git a/packages/SystemUI/res/values-iw/strings.xml b/packages/SystemUI/res/values-iw/strings.xml
index 2f71591..b9844bc 100644
--- a/packages/SystemUI/res/values-iw/strings.xml
+++ b/packages/SystemUI/res/values-iw/strings.xml
@@ -327,8 +327,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"‏Wi-Fi פועל"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"‏אין רשתות Wi-Fi זמינות"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"ההפעלה מתבצעת…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"העברת מסך"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"מעביר"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"מכשיר ללא שם"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"מוכן להעביר"</string>
diff --git a/packages/SystemUI/res/values-ja/strings.xml b/packages/SystemUI/res/values-ja/strings.xml
index 8a642a1..c871d1c 100644
--- a/packages/SystemUI/res/values-ja/strings.xml
+++ b/packages/SystemUI/res/values-ja/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi: ON"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Wi-Fiネットワークを利用できません"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"ON にしています…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"画面のキャスト"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"キャストしています"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"名前のないデバイス"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"キャスト準備完了"</string>
diff --git a/packages/SystemUI/res/values-ka/strings.xml b/packages/SystemUI/res/values-ka/strings.xml
index 358d148..cd4b9df 100644
--- a/packages/SystemUI/res/values-ka/strings.xml
+++ b/packages/SystemUI/res/values-ka/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi ჩართულია"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Wi-Fi ქსელები მიუწვდომელია"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"ირთვება…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"ეკრანის გადაცემა"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"გადაიცემა"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"უსახელო მოწყობილობა"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"მზად არის სამაუწყებლოდ"</string>
diff --git a/packages/SystemUI/res/values-kk/strings.xml b/packages/SystemUI/res/values-kk/strings.xml
index b029d7c..34eb108 100644
--- a/packages/SystemUI/res/values-kk/strings.xml
+++ b/packages/SystemUI/res/values-kk/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi қосулы"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Қолжетімді Wi-Fi желілері жоқ"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Қосылуда…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Экранды трансляциялау"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Трансляциялануда"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Атаусыз құрылғы"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Трансляциялауға дайын"</string>
diff --git a/packages/SystemUI/res/values-km/strings.xml b/packages/SystemUI/res/values-km/strings.xml
index 079004f..f077c77 100644
--- a/packages/SystemUI/res/values-km/strings.xml
+++ b/packages/SystemUI/res/values-km/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi បានបើក"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"គ្មានបណ្តាញ Wi-Fi ទេ"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"កំពុង​បើក..."</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"ការថតវីដេអូ​នៅលើអេក្រង់"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"ការ​ចាត់​ថ្នាក់"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"ឧបករណ៍​​ដែល​មិន​មាន​ឈ្មោះ"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"ត្រៀម​រួចរាល់​ដើម្បី​ចាត់​ថ្នាក់"</string>
diff --git a/packages/SystemUI/res/values-kn/strings.xml b/packages/SystemUI/res/values-kn/strings.xml
index aa60553..8904b9e 100644
--- a/packages/SystemUI/res/values-kn/strings.xml
+++ b/packages/SystemUI/res/values-kn/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"ವೈ-ಫೈ ಆನ್ ಆಗಿದೆ"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"ಯಾವುದೇ ವೈ-ಫೈ ನೆಟ್‌ವರ್ಕ್‌ಗಳು ಲಭ್ಯವಿಲ್ಲ"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"ಆನ್ ಮಾಡಲಾಗುತ್ತಿದೆ..."</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"ಸ್ಕ್ರೀನ್ ಕ್ಯಾಸ್ಟ್"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"ಬಿತ್ತರಿಸಲಾಗುತ್ತಿದೆ"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"ಹೆಸರಿಸದಿರುವ ಸಾಧನ"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"ಬಿತ್ತರಿಸಲು ಸಿದ್ದವಾಗಿದೆ"</string>
diff --git a/packages/SystemUI/res/values-ko/strings.xml b/packages/SystemUI/res/values-ko/strings.xml
index 73df554..55d77d1 100644
--- a/packages/SystemUI/res/values-ko/strings.xml
+++ b/packages/SystemUI/res/values-ko/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi 사용"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"사용 가능한 Wi-Fi 네트워크 없음"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"켜는 중..."</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"화면 전송"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"전송 중"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"이름이 없는 기기"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"전송 준비 완료"</string>
diff --git a/packages/SystemUI/res/values-ky/strings.xml b/packages/SystemUI/res/values-ky/strings.xml
index 331ca48..7e7af37 100644
--- a/packages/SystemUI/res/values-ky/strings.xml
+++ b/packages/SystemUI/res/values-ky/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi күйүк"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Бир дагы жеткиликтүү Wi-Fi тармагы жок"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Күйгүзүлүүдө…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Тышкы экранга чыгаруу"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Тышкы экранга чыгарылууда"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Аты жок түзмөк"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Тышкы экранга чыгарууга даяр"</string>
diff --git a/packages/SystemUI/res/values-lo/strings.xml b/packages/SystemUI/res/values-lo/strings.xml
index 6d5134b..c28d73b 100644
--- a/packages/SystemUI/res/values-lo/strings.xml
+++ b/packages/SystemUI/res/values-lo/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi ເປີດ"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"ບໍ່​ມີ​ເຄືອ​ຂ່າຍ Wi-Fi ຢູ່"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"ກຳລັງເປີດ..."</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"ການສົ່ງສັນຍານໜ້າຈໍ"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"​ກຳ​ລັງ​ສົ່ງ​ສັນ​ຍານ"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"​ອຸ​ປະ​ກອນບໍ່​ມີ​ຊື່"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"​ພ້ອ​ມ​ສົ່ງ​ສັນ​ຍານ​ແລ້ວ"</string>
diff --git a/packages/SystemUI/res/values-lt/strings.xml b/packages/SystemUI/res/values-lt/strings.xml
index 2b4b5ff..df4017d 100644
--- a/packages/SystemUI/res/values-lt/strings.xml
+++ b/packages/SystemUI/res/values-lt/strings.xml
@@ -327,8 +327,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"„Wi-Fi“ įjungtas"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Nėra jokių pasiekiamų „Wi-Fi“ tinklų"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Įjungiama…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Ekrano perdavimas"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Perduodama"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Įrenginys be pavadinimo"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Paruošta perduoti"</string>
diff --git a/packages/SystemUI/res/values-lv/strings.xml b/packages/SystemUI/res/values-lv/strings.xml
index 54d9ad2..3a00dd6 100644
--- a/packages/SystemUI/res/values-lv/strings.xml
+++ b/packages/SystemUI/res/values-lv/strings.xml
@@ -326,8 +326,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi savienojums ieslēgts"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Nav pieejams neviens Wi-Fi tīkls."</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Notiek ieslēgšana…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Ekrāna apraide"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Notiek apraide…"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Nenosaukta ierīce"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Gatavs apraidei"</string>
diff --git a/packages/SystemUI/res/values-mk/strings.xml b/packages/SystemUI/res/values-mk/strings.xml
index 292c18e..eff3492 100644
--- a/packages/SystemUI/res/values-mk/strings.xml
+++ b/packages/SystemUI/res/values-mk/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Вклучено е Wi-Fi"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Нема достапни Wi-Fi мрежи"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Се вклучува…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Емитување на екранот"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Емитување"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Неименуван уред"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Подготвено за емитување"</string>
diff --git a/packages/SystemUI/res/values-ml/strings.xml b/packages/SystemUI/res/values-ml/strings.xml
index ca979e5..c640426 100644
--- a/packages/SystemUI/res/values-ml/strings.xml
+++ b/packages/SystemUI/res/values-ml/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"വൈഫൈ ഓണാണ്"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"വൈഫൈ നെറ്റ്‌വർക്കുകളൊന്നും ലഭ്യമല്ല"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"ഓണാക്കുന്നു…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"സ്‌ക്രീൻ കാസ്‌റ്റ്"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"കാസ്റ്റുചെയ്യുന്നു"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"പേരിടാത്ത ഉപകരണം"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"കാസ്‌റ്റ് ചെയ്യാൻ തയ്യാറാണ്"</string>
diff --git a/packages/SystemUI/res/values-mn/strings.xml b/packages/SystemUI/res/values-mn/strings.xml
index 9812f4c..e73428e 100644
--- a/packages/SystemUI/res/values-mn/strings.xml
+++ b/packages/SystemUI/res/values-mn/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi асаалттай"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Wi-Fi сүлжээ байхгүй байна"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Асааж байна…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Дэлгэцийг дамжуулах"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Дамжуулж байна"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Нэргүй төхөөрөмж"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Дамжуулахад бэлэн"</string>
diff --git a/packages/SystemUI/res/values-mr/strings.xml b/packages/SystemUI/res/values-mr/strings.xml
index 3af0b4f..7e58a39 100644
--- a/packages/SystemUI/res/values-mr/strings.xml
+++ b/packages/SystemUI/res/values-mr/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"वाय-फाय चालू"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"वाय-फाय नेटवर्क उपलब्‍ध नाहीत"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"सुरू करत आहे…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"स्क्रीन कास्ट करा"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"कास्ट करत आहे"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"निनावी डिव्हाइस"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"कास्ट करण्यास तयार"</string>
diff --git a/packages/SystemUI/res/values-ms/strings.xml b/packages/SystemUI/res/values-ms/strings.xml
index 9690913..63f2e76 100644
--- a/packages/SystemUI/res/values-ms/strings.xml
+++ b/packages/SystemUI/res/values-ms/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi Dihidupkan"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Tiada rangkaian Wi-Fi tersedia"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Menghidupkan…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Penghantaran Skrin"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Menghantar"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Peranti tidak bernama"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Bersedia untuk menghantar"</string>
diff --git a/packages/SystemUI/res/values-my/strings.xml b/packages/SystemUI/res/values-my/strings.xml
index 17dc52f..b167375 100644
--- a/packages/SystemUI/res/values-my/strings.xml
+++ b/packages/SystemUI/res/values-my/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi ကိုဖွင့်ပါ"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Wi-Fi ကွန်ရက် မရှိပါ"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"ဖွင့်နေသည်…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"မျက်နှာပြင် ကာ့စ်လုပ်ခြင်း"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"ကာစ်တင်"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"အမည်မတပ် ကိရိယာ"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"ကာစ်တ် လုပ်ရန် အသင့် ရှိနေပြီ"</string>
diff --git a/packages/SystemUI/res/values-nb/strings.xml b/packages/SystemUI/res/values-nb/strings.xml
index 8a175b2..bb86aab 100644
--- a/packages/SystemUI/res/values-nb/strings.xml
+++ b/packages/SystemUI/res/values-nb/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi er på"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Ingen tilgjengelige Wi-Fi-nettverk"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Slår på …"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Skjermcasting"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Casting"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Enhet uten navn"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Klar til å caste"</string>
diff --git a/packages/SystemUI/res/values-ne/strings.xml b/packages/SystemUI/res/values-ne/strings.xml
index 60279a9..7db0aa3 100644
--- a/packages/SystemUI/res/values-ne/strings.xml
+++ b/packages/SystemUI/res/values-ne/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi सक्रिय छ"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Wi-Fi नेटवर्क अनुपलब्ध"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"सक्रिय गर्दै…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"स्क्रिन Cast"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"प्रसारण गर्दै"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"बेनाम उपकरण"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"प्रसारण गर्न तयार"</string>
diff --git a/packages/SystemUI/res/values-night/colors.xml b/packages/SystemUI/res/values-night/colors.xml
index 5803bf1..d74d258 100644
--- a/packages/SystemUI/res/values-night/colors.xml
+++ b/packages/SystemUI/res/values-night/colors.xml
@@ -47,4 +47,16 @@
 
     <!-- The color of the background in the bottom part of QSCustomizer -->
     <color name="qs_customize_decoration">@color/GM2_grey_800</color>
+
+    <!-- The color of the background in the separated list of the Global Actions menu -->
+    <color name="global_actions_separated_background">@color/GM2_grey_900</color>
+
+    <!-- The color of the background in the grid of the Global Actions menu -->
+    <color name="global_actions_grid_background">@color/GM2_grey_800</color>
+
+    <!-- The color of the text in the Global Actions menu -->
+    <color name="global_actions_text">@color/GM2_grey_200</color>
+
+    <!-- The color of the text in the Global Actions menu -->
+    <color name="global_actions_alert_text">@color/GM2_red_300</color>
 </resources>
\ No newline at end of file
diff --git a/packages/SystemUI/res/values-nl/strings.xml b/packages/SystemUI/res/values-nl/strings.xml
index e501a09..fe0ee74 100644
--- a/packages/SystemUI/res/values-nl/strings.xml
+++ b/packages/SystemUI/res/values-nl/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wifi aan"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Geen wifi-netwerken beschikbaar"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Inschakelen..."</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Screencast"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Casten"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Naamloos apparaat"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Klaar om te casten"</string>
diff --git a/packages/SystemUI/res/values-or/strings.xml b/packages/SystemUI/res/values-or/strings.xml
index 20e0e7b..03d4413 100644
--- a/packages/SystemUI/res/values-or/strings.xml
+++ b/packages/SystemUI/res/values-or/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"ୱାଇ-ଫାଇ ଅନ୍‍ ଅଛି"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"କୌଣସି ୱାଇ-ଫାଇ ନେଟ୍‌ୱର୍କ ଉପଲବ୍ଧ ନାହିଁ"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"ଅନ୍ ହେଉଛି…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"ସ୍କ୍ରିନ୍ କାଷ୍ଟ"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"କାଷ୍ଟିଙ୍ଗ"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"ନାମହୀନ ଡିଭାଇସ୍‍"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"କାଷ୍ଟ୍ ପାଇଁ ପ୍ରସ୍ତୁତ"</string>
@@ -438,10 +437,8 @@
     <string name="battery_saver_notification_title" msgid="8614079794522291840">"ବ୍ୟାଟେରୀ ସେଭର୍‌ ଅନ୍‌ ଅଛି"</string>
     <string name="battery_saver_notification_text" msgid="820318788126672692">"କାର୍ଯ୍ୟ ସମ୍ପାଦନ ଓ ବ୍ୟାକ୍‌ଗ୍ରାଉଣ୍ଡ ଡାଟା କମ୍ କରନ୍ତୁ"</string>
     <string name="battery_saver_notification_action_text" msgid="132118784269455533">"ବ୍ୟାଟେରୀ ସେଭର୍‌ ଅଫ୍‍ କରନ୍ତୁ"</string>
-    <!-- no translation found for media_projection_dialog_text (1443042478990422751) -->
-    <skip />
-    <!-- no translation found for media_projection_dialog_title (7574971526813630219) -->
-    <skip />
+    <string name="media_projection_dialog_text" msgid="1443042478990422751">"ବିଜ୍ଞପ୍ତି, ପାସ୍‍ୱର୍ଡ, ଫଟୋ, ମେସେଜ୍ ଏବଂ ପେମେଣ୍ଟ ସୂଚନା ସହ ଆପଣଙ୍କ ସ୍କ୍ରିନ୍‍‍ରେ ସବୁକିଛି କ୍ୟାପ୍‍ଚର୍ କରିବା <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> ଆରମ୍ଭ କରିବ।"</string>
+    <string name="media_projection_dialog_title" msgid="7574971526813630219">"ଆପଣଙ୍କର ସ୍କ୍ରିନ୍ କାଷ୍ଟ ବା ରେକର୍ଡ କରିବାକୁ <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> ଅନୁୁୁମତି ଦେବେ?"</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>
@@ -819,8 +816,7 @@
     <string name="high_temp_notif_message" msgid="5642466103153429279">"ଫୋନ୍‍ ଥଣ୍ଡା ହେବା ସମୟରେ କିଛି ଫିଚର୍ ସୀମିତ ଭାବେ କାମ କରିଥାଏ"</string>
     <string name="high_temp_dialog_message" msgid="6840700639374113553">"ଆପଣଙ୍କ ଫୋନ୍‍ ସ୍ୱଚାଳିତ ଭାବେ ଥଣ୍ଡା ହେବାକୁ ଚେଷ୍ଟା କରିବ। ଆପଣ ତଥାପି ନିଜ ଫୋନ୍‍ ବ୍ୟବହାର କରିପାରିବେ, କିନ୍ତୁ ଏହା ଧୀରେ ଚାଲିପାରେ।\n\nଆପଣଙ୍କ ଫୋନ୍‍ ଥଣ୍ଡା ହୋଇଯିବାପରେ, ଏହା ସାମାନ୍ୟ ଭାବେ ଚାଲିବ।"</string>
     <string name="high_temp_alarm_title" msgid="442812040762745210">"ଚାର୍ଜର୍‍ ଅନ୍‍ପ୍ଲଗ୍‌ କରନ୍ତୁ"</string>
-    <!-- no translation found for high_temp_alarm_notify_message (1802871059489414932) -->
-    <skip />
+    <string name="high_temp_alarm_notify_message" msgid="1802871059489414932">"ଏହି ଡିଭାଇସ୍ ଚାର୍ଜ କରିବାରେ ଗୋଟିଏ ସମସ୍ୟା ଅଛି। ଯେହେତୁ କେବଳ ଗରମ ହୋଇଯାଇପାରେ, ତେଣୁ ପାୱାର୍ ଆଡପ୍ଟର୍ ଅନ୍‌ପ୍ଲଗ୍‌ କରନ୍ତୁ ଏବଂ ଯତ୍ନ ନିଅନ୍ତୁ।"</string>
     <string name="high_temp_alarm_help_care_steps" msgid="3631075329318070726">"ସେବା ସମ୍ବନ୍ଧିତ ଷ୍ଟେପ୍‌ଗୁଡ଼ିକ ଦେଖନ୍ତୁ"</string>
     <string name="lockscreen_shortcut_left" msgid="2182769107618938629">"ବାମ ଶର୍ଟକଟ୍‍"</string>
     <string name="lockscreen_shortcut_right" msgid="3328683699505226536">"ଡାହାଣ ଶର୍ଟକଟ୍‍"</string>
diff --git a/packages/SystemUI/res/values-pa/strings.xml b/packages/SystemUI/res/values-pa/strings.xml
index 9ac544a..acd9bd2 100644
--- a/packages/SystemUI/res/values-pa/strings.xml
+++ b/packages/SystemUI/res/values-pa/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"ਵਾਈ-ਫਾਈ ਚਾਲੂ"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"ਕੋਈ ਵਾਈ-ਫਾਈ ਨੈੱਟਵਰਕ ਉਪਲਬਧ ਨਹੀਂ"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"ਚਾਲੂ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"ਸਕ੍ਰੀਨ ਕਾਸਟ"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"ਕਾਸਟਿੰਗ"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"ਬਿਨਾਂ ਨਾਮ ਦਾ ਡੀਵਾਈਸ"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"ਜੋੜਨ ਲਈ ਤਿਆਰ"</string>
diff --git a/packages/SystemUI/res/values-pl/strings.xml b/packages/SystemUI/res/values-pl/strings.xml
index 409d2ce..d00d349 100644
--- a/packages/SystemUI/res/values-pl/strings.xml
+++ b/packages/SystemUI/res/values-pl/strings.xml
@@ -327,8 +327,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi wł."</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Brak dostępnych sieci Wi-Fi"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Włączam…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Przesyłanie ekranu"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Przesyłam"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Urządzenie bez nazwy"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Gotowy do działania"</string>
diff --git a/packages/SystemUI/res/values-pt-rBR/strings.xml b/packages/SystemUI/res/values-pt-rBR/strings.xml
index 559f50c..23682b6 100644
--- a/packages/SystemUI/res/values-pt-rBR/strings.xml
+++ b/packages/SystemUI/res/values-pt-rBR/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi ativado"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Nenhuma rede Wi-Fi disponível"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Ativando…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Transmissão de tela"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Transmitindo"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Dispositivo sem nome"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Pronto para transmitir"</string>
diff --git a/packages/SystemUI/res/values-pt-rPT/strings.xml b/packages/SystemUI/res/values-pt-rPT/strings.xml
index 87d16db..b5c2343 100644
--- a/packages/SystemUI/res/values-pt-rPT/strings.xml
+++ b/packages/SystemUI/res/values-pt-rPT/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi ligado"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Não estão disponíveis redes Wi-Fi"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"A ativar..."</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Transmissão do ecrã"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Transmissão"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Dispositivo sem nome"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Pronto para transmitir"</string>
diff --git a/packages/SystemUI/res/values-pt/strings.xml b/packages/SystemUI/res/values-pt/strings.xml
index 559f50c..23682b6 100644
--- a/packages/SystemUI/res/values-pt/strings.xml
+++ b/packages/SystemUI/res/values-pt/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi ativado"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Nenhuma rede Wi-Fi disponível"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Ativando…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Transmissão de tela"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Transmitindo"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Dispositivo sem nome"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Pronto para transmitir"</string>
diff --git a/packages/SystemUI/res/values-ro/strings.xml b/packages/SystemUI/res/values-ro/strings.xml
index d2a3fe7..259f1db 100644
--- a/packages/SystemUI/res/values-ro/strings.xml
+++ b/packages/SystemUI/res/values-ro/strings.xml
@@ -326,8 +326,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi activat"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Nicio rețea Wi-Fi disponibilă"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Se activează..."</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Proiectarea ecranului"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Se proiectează"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Dispozitiv nedenumit"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Pregătit pentru proiecție"</string>
diff --git a/packages/SystemUI/res/values-ru/strings.xml b/packages/SystemUI/res/values-ru/strings.xml
index 8799891..a3d6680 100644
--- a/packages/SystemUI/res/values-ru/strings.xml
+++ b/packages/SystemUI/res/values-ru/strings.xml
@@ -327,8 +327,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi включен"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Не удалось найти доступные сети Wi-Fi"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Включение…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Трансляция экрана"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Передача изображения"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Безымянное устройство"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Готово к передаче"</string>
@@ -444,7 +443,7 @@
     <string name="battery_saver_notification_title" msgid="8614079794522291840">"Режим энергосбережения включен"</string>
     <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="1443042478990422751">"Приложение \"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g>\" будет транслировать всю информацию на экране, в том числе уведомления, пароли, фотографии, сообщения и платежные данные."</string>
+    <string name="media_projection_dialog_text" msgid="1443042478990422751">"Приложение \"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g>\" будет записывать всю информацию на экране, в том числе уведомления, пароли, фотографии, сообщения и платежные данные."</string>
     <string name="media_projection_dialog_title" msgid="7574971526813630219">"Разрешить приложению \"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g>\" записывать или транслировать экран устройства?"</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-si/strings.xml b/packages/SystemUI/res/values-si/strings.xml
index 3302e7a..e7febac 100644
--- a/packages/SystemUI/res/values-si/strings.xml
+++ b/packages/SystemUI/res/values-si/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi ක්‍රියාත්මකයි"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Wi-Fi ජාල ලබා ගත නොහැකිය"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"ක්‍රියාත්මක කරමින්…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"තිර විකාශය"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"කාස්ට් කිරීම"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"නම් නොකළ උපාංගය"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"කාස්ට් කිරීමට සුදානම්"</string>
diff --git a/packages/SystemUI/res/values-sk/strings.xml b/packages/SystemUI/res/values-sk/strings.xml
index 6a22346..c1b80b1 100644
--- a/packages/SystemUI/res/values-sk/strings.xml
+++ b/packages/SystemUI/res/values-sk/strings.xml
@@ -327,8 +327,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi‑Fi je zapnuté"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"K dispozícii nie sú žiadne siete Wi‑Fi"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Zapína sa…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Prenos obrazovky"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Prenáša sa"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Nepomenované zariadenie"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Pripravené na prenášanie"</string>
diff --git a/packages/SystemUI/res/values-sl/strings.xml b/packages/SystemUI/res/values-sl/strings.xml
index 50fe72d..9992c82 100644
--- a/packages/SystemUI/res/values-sl/strings.xml
+++ b/packages/SystemUI/res/values-sl/strings.xml
@@ -327,8 +327,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi je vklopljen."</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Na voljo ni nobeno omrežje Wi-Fi"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Vklapljanje …"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Predvajanje zaslona"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Predvajanje"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Neimenovana naprava"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Pripravljeno za predvajanje"</string>
diff --git a/packages/SystemUI/res/values-sq/strings.xml b/packages/SystemUI/res/values-sq/strings.xml
index eafcc33..49c55d1 100644
--- a/packages/SystemUI/res/values-sq/strings.xml
+++ b/packages/SystemUI/res/values-sq/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi i aktivizuar"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Nuk ka rrjete Wi-Fi të disponueshme"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Po aktivizohet…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Transmetimi i ekranit"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Po transmeton"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Pajisje e paemërtuar"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Gati për transmetim"</string>
diff --git a/packages/SystemUI/res/values-sr/strings.xml b/packages/SystemUI/res/values-sr/strings.xml
index 81c7b2e..8dec319 100644
--- a/packages/SystemUI/res/values-sr/strings.xml
+++ b/packages/SystemUI/res/values-sr/strings.xml
@@ -326,8 +326,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi је укључен"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Није доступна ниједна Wi-Fi мрежа"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Укључује се..."</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Пребацивање екрана"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Пребацивање"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Неименовани уређај"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Спремно за пребацивање"</string>
diff --git a/packages/SystemUI/res/values-sv/strings.xml b/packages/SystemUI/res/values-sv/strings.xml
index 317cc8c..106298a2 100644
--- a/packages/SystemUI/res/values-sv/strings.xml
+++ b/packages/SystemUI/res/values-sv/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi är aktiverat"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Det finns inga tillgängliga Wi-Fi-nätverk"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Aktiverar …"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Casta skärmen"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Castar"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Namnlös enhet"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Redo att casta"</string>
diff --git a/packages/SystemUI/res/values-sw/strings.xml b/packages/SystemUI/res/values-sw/strings.xml
index 1b57252..1df75f6 100644
--- a/packages/SystemUI/res/values-sw/strings.xml
+++ b/packages/SystemUI/res/values-sw/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Imewasha Wi-Fi"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Hakuna mitandao ya Wi-Fi inayopatikana"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Inawasha..."</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Kutuma kwenye Skrini"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Inatuma"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Kifaa hakina jina"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Tayari kutuma"</string>
diff --git a/packages/SystemUI/res/values-land/integers.xml b/packages/SystemUI/res/values-sw392dp-land/dimens.xml
similarity index 63%
rename from packages/SystemUI/res/values-land/integers.xml
rename to packages/SystemUI/res/values-sw392dp-land/dimens.xml
index fb22665..c718614 100644
--- a/packages/SystemUI/res/values-land/integers.xml
+++ b/packages/SystemUI/res/values-sw392dp-land/dimens.xml
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!--
-  ~ Copyright (C) 2018 The Android Open Source Project
+  ~ 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.
@@ -15,8 +15,13 @@
   ~ limitations under the License
   -->
 <resources>
-    <!-- Action footer width is set to 0 to allow it to stretch (through a weight of 1) and center
-         the page indicator in between the footer and the carrier text.-->
-    <integer name="qs_footer_actions_width">0</integer>
-    <integer name="qs_footer_actions_weight">1</integer>
-</resources>
\ No newline at end of file
+
+    <!-- Global actions grid -->
+    <dimen name="global_actions_grid_vertical_padding">3dp</dimen>
+    <dimen name="global_actions_grid_horizontal_padding">0dp</dimen>
+
+    <dimen name="global_actions_grid_item_side_margin">6dp</dimen>
+    <dimen name="global_actions_grid_item_vertical_margin">10dp</dimen>
+
+</resources>
+
diff --git a/packages/SystemUI/res/values-sw392dp/dimens.xml b/packages/SystemUI/res/values-sw392dp/dimens.xml
new file mode 100644
index 0000000..6fa6692
--- /dev/null
+++ b/packages/SystemUI/res/values-sw392dp/dimens.xml
@@ -0,0 +1,36 @@
+<?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
+  -->
+<resources>
+    <!-- Global actions grid -->
+    <dimen name="global_actions_grid_container_bottom_margin">4dp</dimen>
+
+    <dimen name="global_actions_grid_vertical_padding">0dp</dimen>
+    <dimen name="global_actions_grid_horizontal_padding">3dp</dimen>
+
+    <dimen name="global_actions_grid_item_side_margin">10dp</dimen>
+    <dimen name="global_actions_grid_item_vertical_margin">6dp</dimen>
+    <dimen name="global_actions_grid_item_width">72dp</dimen>
+    <dimen name="global_actions_grid_item_height">72dp</dimen>
+
+    <dimen name="global_actions_grid_item_icon_width">22dp</dimen>
+    <dimen name="global_actions_grid_item_icon_height">22dp</dimen>
+    <dimen name="global_actions_grid_item_icon_top_margin">12dp</dimen>
+    <dimen name="global_actions_grid_item_icon_side_margin">22dp</dimen>
+    <dimen name="global_actions_grid_item_icon_bottom_margin">4dp</dimen>
+
+</resources>
+
diff --git a/packages/SystemUI/res/values-ta/strings.xml b/packages/SystemUI/res/values-ta/strings.xml
index adff726..e5fd953 100644
--- a/packages/SystemUI/res/values-ta/strings.xml
+++ b/packages/SystemUI/res/values-ta/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"வைஃபை இயக்கத்தில்"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"வைஃபை நெட்வொர்க்குகள் இல்லை"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"ஆன் செய்கிறது…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"திரை அலைபரப்பல்"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"அனுப்புகிறது"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"பெயரிடப்படாத சாதனம்"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"திரையிடத் தயார்"</string>
@@ -399,7 +398,7 @@
     <string name="interruption_level_none_twoline" msgid="3957581548190765889">"அறிவிப்புகள்\nவேண்டாம்"</string>
     <string name="interruption_level_priority_twoline" msgid="1564715335217164124">"முன்னுரிமைகள்\nமட்டும்"</string>
     <string name="interruption_level_alarms_twoline" msgid="3266909566410106146">"அலாரங்கள்\nமட்டும்"</string>
-    <string name="keyguard_indication_charging_time_wireless" msgid="5376059837186496558">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • வயர்லெஸ் முறையில் சார்ஜாகிறது (முழு சார்ஜ் ஆக <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g> ஆகும்)"</string>
+    <string name="keyguard_indication_charging_time_wireless" msgid="5376059837186496558">"<xliff:g id="PERCENTAGE">%2$s</xliff:g> • வயர்லெஸ் முறையில் சார்ஜாகிறது (முடிய <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> • சார்ஜாகிறது (முழு சார்ஜ்: <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> • வேகமாகச் சார்ஜாகிறது (முழு சார்ஜ்: <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> • மெதுவாகச் சார்ஜாகிறது (முழு சார்ஜ்: <xliff:g id="CHARGING_TIME_LEFT">%1$s</xliff:g>)"</string>
@@ -438,10 +437,8 @@
     <string name="battery_saver_notification_title" msgid="8614079794522291840">"பேட்டரி சேமிப்பான் ஆன் செய்யப்பட்டுள்ளது"</string>
     <string name="battery_saver_notification_text" msgid="820318788126672692">"செயல்திறனையும் பின்புல டேட்டா உபயோகத்தையும் குறைக்கிறது"</string>
     <string name="battery_saver_notification_action_text" msgid="132118784269455533">"பேட்டரி சேமிப்பானை ஆஃப் செய்"</string>
-    <!-- no translation found for media_projection_dialog_text (1443042478990422751) -->
-    <skip />
-    <!-- no translation found for media_projection_dialog_title (7574971526813630219) -->
-    <skip />
+    <string name="media_projection_dialog_text" msgid="1443042478990422751">"உங்கள் திரையில் தோன்றும் அறிவிப்புகள், கடவுச்சொற்கள், படங்கள், மெசேஜ்கள் மற்றும் கட்டணத் தகவல் போன்ற அனைத்தையும் <xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> காட்டத் தொடங்கும்."</string>
+    <string name="media_projection_dialog_title" msgid="7574971526813630219">"<xliff:g id="APP_SEEKING_PERMISSION">%s</xliff:g> உங்கள் திரையை ரெக்கார்டு செய்யவோ அலைபரப்பவோ அனுமதிக்கவா?"</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>
@@ -819,8 +816,7 @@
     <string name="high_temp_notif_message" msgid="5642466103153429279">"மொபைலின் வெப்ப அளவு குறையும் போது, சில அம்சங்களைப் பயன்படுத்த முடியாது"</string>
     <string name="high_temp_dialog_message" msgid="6840700639374113553">"உங்கள் மொபைலின் வெப்ப அளவு தானாகவே குறையும். தொடர்ந்து நீங்கள் மொபைலைப் பயன்படுத்தலாம், ஆனால் அதன் வேகம் குறைவாக இருக்கக்கூடும்.\n\nமொபைலின் வெப்ப அளவு குறைந்தவுடன், அது இயல்பு நிலையில் இயங்கும்."</string>
     <string name="high_temp_alarm_title" msgid="442812040762745210">"சார்ஜரைத் துண்டிக்கவும்"</string>
-    <!-- no translation found for high_temp_alarm_notify_message (1802871059489414932) -->
-    <skip />
+    <string name="high_temp_alarm_notify_message" msgid="1802871059489414932">"இந்தச் சாதனத்தைச் சார்ஜ் செய்வதில் சிக்கல் உள்ளது. பவர் அடாப்டரைத் துண்டிக்கவும், கேபிள் சூடாக இருக்கக்கூடும் என்பதால் கவனமாகக் கையாளவும்."</string>
     <string name="high_temp_alarm_help_care_steps" msgid="3631075329318070726">"மேலும் விவரங்களுக்கு இதைப் பார்க்கவும்"</string>
     <string name="lockscreen_shortcut_left" msgid="2182769107618938629">"இடப்புற ஷார்ட்கட்"</string>
     <string name="lockscreen_shortcut_right" msgid="3328683699505226536">"வலப்புற ஷார்ட்கட்"</string>
diff --git a/packages/SystemUI/res/values-te/strings.xml b/packages/SystemUI/res/values-te/strings.xml
index de7f48c..86f3a87 100644
--- a/packages/SystemUI/res/values-te/strings.xml
+++ b/packages/SystemUI/res/values-te/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi ఆన్‌లో ఉంది"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Wi-Fi నెట్‌వర్క్‌లు ఏవీ అందుబాటులో లేవు"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"ఆన్ చేస్తోంది…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"స్క్రీన్ ప్రసారం"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"ప్రసారం చేస్తోంది"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"పేరులేని పరికరం"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"ప్రసారం చేయడానికి సిద్ధంగా ఉంది"</string>
diff --git a/packages/SystemUI/res/values-th/strings.xml b/packages/SystemUI/res/values-th/strings.xml
index cc708e6..331945a 100644
--- a/packages/SystemUI/res/values-th/strings.xml
+++ b/packages/SystemUI/res/values-th/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi เปิดอยู่"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"ไม่มีเครือข่าย Wi-Fi พร้อมใช้งาน"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"กำลังเปิด..."</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"การแคสต์หน้าจอ"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"กำลังส่ง"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"อุปกรณ์ที่ไม่มีชื่อ"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"พร้อมที่จะส่ง"</string>
diff --git a/packages/SystemUI/res/values-tl/strings.xml b/packages/SystemUI/res/values-tl/strings.xml
index bd814c7..394aaaa 100644
--- a/packages/SystemUI/res/values-tl/strings.xml
+++ b/packages/SystemUI/res/values-tl/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Naka-on Ang Wi-Fi"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Walang available na mga Wi-Fi network"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Ino-on…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Screen Cast"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Nagka-cast"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Walang pangalang device"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Handang mag-cast"</string>
diff --git a/packages/SystemUI/res/values-tr/strings.xml b/packages/SystemUI/res/values-tr/strings.xml
index 7253131..8cab568 100644
--- a/packages/SystemUI/res/values-tr/strings.xml
+++ b/packages/SystemUI/res/values-tr/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Kablosuz Bağlantı Açık"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Kullanılabilir kablosuz ağ yok"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Açılıyor…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Ekran Yayını"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Yayınlanıyor"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Adsız cihaz"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Yayın için hazır"</string>
diff --git a/packages/SystemUI/res/values-uk/strings.xml b/packages/SystemUI/res/values-uk/strings.xml
index 213decb..47a6046 100644
--- a/packages/SystemUI/res/values-uk/strings.xml
+++ b/packages/SystemUI/res/values-uk/strings.xml
@@ -327,8 +327,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi увімкнено"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Немає доступних мереж Wi-Fi"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Увімкнення…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Трансляція екрана"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Трансляція"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Пристрій без назви"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Готово до трансляції"</string>
diff --git a/packages/SystemUI/res/values-ur/strings.xml b/packages/SystemUI/res/values-ur/strings.xml
index f6d5888..9a7cd14 100644
--- a/packages/SystemUI/res/values-ur/strings.xml
+++ b/packages/SystemUI/res/values-ur/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"‏Wi-Fi آن ہے"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"‏کوئی WI-FI نیٹ ورک دستیاب نہیں"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"آن ہو رہا ہے…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"اسکرین کاسٹ کریں"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"کاسٹنگ"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"بغیر نام والا آلہ"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"کاسٹ کرنے کیلئے تیار"</string>
diff --git a/packages/SystemUI/res/values-uz/strings.xml b/packages/SystemUI/res/values-uz/strings.xml
index 39d9acd..a1dd2e1 100644
--- a/packages/SystemUI/res/values-uz/strings.xml
+++ b/packages/SystemUI/res/values-uz/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi yoqilgan"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Hech qanday Wi-Fi tarmog‘i mavjud emas"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Yoqilmoqda…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Ekran translatsiyasi"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Translatsiya qilinmoqda"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Nomsiz qurilma"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Tarqatish uchun tayyor"</string>
diff --git a/packages/SystemUI/res/values-vi/strings.xml b/packages/SystemUI/res/values-vi/strings.xml
index d36ba30..67970eb 100644
--- a/packages/SystemUI/res/values-vi/strings.xml
+++ b/packages/SystemUI/res/values-vi/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi đang bật"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Không có mạng Wi-Fi"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Đang bật…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Truyền màn hình"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Đang truyền"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Thiết bị không có tên"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Sẵn sàng truyền"</string>
diff --git a/packages/SystemUI/res/values-zh-rCN/strings.xml b/packages/SystemUI/res/values-zh-rCN/strings.xml
index d645d47..30af99a 100644
--- a/packages/SystemUI/res/values-zh-rCN/strings.xml
+++ b/packages/SystemUI/res/values-zh-rCN/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"WLAN 已开启"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"没有 WLAN 网络"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"正在开启…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"屏幕投射"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"正在投射"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"未命名设备"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"已准备好投射"</string>
diff --git a/packages/SystemUI/res/values-zh-rHK/strings.xml b/packages/SystemUI/res/values-zh-rHK/strings.xml
index ad6000b..04e7eca 100644
--- a/packages/SystemUI/res/values-zh-rHK/strings.xml
+++ b/packages/SystemUI/res/values-zh-rHK/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"Wi-Fi 已開啟"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"沒有可用的 Wi-Fi 網絡"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"正在開啟…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"螢幕投放"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"正在放送"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"未命名的裝置"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"放送準備完成"</string>
diff --git a/packages/SystemUI/res/values-zh-rTW/strings.xml b/packages/SystemUI/res/values-zh-rTW/strings.xml
index edb3f62..86b0eea 100644
--- a/packages/SystemUI/res/values-zh-rTW/strings.xml
+++ b/packages/SystemUI/res/values-zh-rTW/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"已開啟 Wi-Fi"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"沒有 Wi-Fi 網路"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"開啟中…"</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"螢幕投放"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"投放"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"未命名的裝置"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"可以開始投放了"</string>
diff --git a/packages/SystemUI/res/values-zu/strings.xml b/packages/SystemUI/res/values-zu/strings.xml
index e92d6ab..612b61e 100644
--- a/packages/SystemUI/res/values-zu/strings.xml
+++ b/packages/SystemUI/res/values-zu/strings.xml
@@ -325,8 +325,7 @@
     <string name="quick_settings_wifi_on_label" msgid="7607810331387031235">"I-Wi-Fi ivuliwe"</string>
     <string name="quick_settings_wifi_detail_empty_text" msgid="269990350383909226">"Awekho amanethiwekhi we-Wi-Fi atholakalayo"</string>
     <string name="quick_settings_wifi_secondary_label_transient" msgid="7748206246119760554">"Iyavula..."</string>
-    <!-- no translation found for quick_settings_cast_title (6954684227605751758) -->
-    <skip />
+    <string name="quick_settings_cast_title" msgid="6954684227605751758">"Linganisa isikrini"</string>
     <string name="quick_settings_casting" msgid="6601710681033353316">"Ukusakaza"</string>
     <string name="quick_settings_cast_device_default_name" msgid="5367253104742382945">"Idivayisi engenalo igama"</string>
     <string name="quick_settings_cast_device_default_description" msgid="2484573682378634413">"Ilungele ukusakaza"</string>
diff --git a/packages/SystemUI/res/values/colors.xml b/packages/SystemUI/res/values/colors.xml
index 0e4ffee..b82c250 100644
--- a/packages/SystemUI/res/values/colors.xml
+++ b/packages/SystemUI/res/values/colors.xml
@@ -38,6 +38,18 @@
     <color name="qs_customize_background">@color/GM2_grey_50</color>
     <color name="qs_customize_decoration">@color/GM2_grey_100</color>
 
+    <!-- The color of the background in the separated list of the Global Actions menu -->
+    <color name="global_actions_separated_background">@color/GM2_grey_300</color>
+
+    <!-- The color of the background in the grid of the Global Actions menu -->
+    <color name="global_actions_grid_background">@color/GM2_grey_200</color>
+
+    <!-- The color of the text in the Global Actions menu -->
+    <color name="global_actions_text">@color/GM2_grey_900</color>
+
+    <!-- The color of the text in the Global Actions menu -->
+    <color name="global_actions_alert_text">@color/GM2_red_500</color>
+
     <!-- Tint color for the content on the notification overflow card. -->
     <color name="keyguard_overflow_content_color">#ff686868</color>
 
@@ -149,4 +161,7 @@
     <color name="GM2_grey_700">#5F6368</color>
     <color name="GM2_grey_800">#3C4043</color>
     <color name="GM2_grey_900">#202124</color>
+
+    <color name="GM2_red_300">#F28B82</color>
+    <color name="GM2_red_500">#B71C1C</color>
 </resources>
diff --git a/packages/SystemUI/res/values/config.xml b/packages/SystemUI/res/values/config.xml
index b4dc0eff..f8295eb 100644
--- a/packages/SystemUI/res/values/config.xml
+++ b/packages/SystemUI/res/values/config.xml
@@ -40,6 +40,9 @@
     <!-- Whether or not we show the number in the bar. -->
     <bool name="config_statusBarShowNumber">false</bool>
 
+    <!-- If the lock screen should be dismissed after biometric auth. -->
+    <bool name="config_faceAuthDismissesKeyguard">false</bool>
+
     <!-- Vibrator pattern for camera gesture launch. -->
     <integer-array translatable="false" name="config_cameraLaunchGestureVibePattern">
         <item>0</item>
@@ -311,6 +314,8 @@
         <item>com.android.systemui.ScreenDecorations</item>
         <item>com.android.systemui.biometrics.BiometricDialogImpl</item>
         <item>com.android.systemui.SliceBroadcastRelayHandler</item>
+        <item>com.android.systemui.SizeCompatModeActivityController</item>
+        <item>com.android.systemui.statusbar.notification.InstantAppNotifier</item>
     </string-array>
 
     <!-- SystemUI vender service, used in config_systemUIServiceComponents. -->
diff --git a/packages/SystemUI/res/values/dimens.xml b/packages/SystemUI/res/values/dimens.xml
index 50cf37b..30cbaaa 100644
--- a/packages/SystemUI/res/values/dimens.xml
+++ b/packages/SystemUI/res/values/dimens.xml
@@ -34,9 +34,10 @@
     <dimen name="navigation_bar_deadzone_size_max">32dp</dimen>
 
     <!-- dimensions for the navigation bar handle -->
-    <dimen name="navigation_handle_width">180dp</dimen>
-    <dimen name="navigation_handle_radius">2dp</dimen>
-    <dimen name="navigation_handle_bottom">8dp</dimen>
+    <dimen name="navigation_handle_radius">1dp</dimen>
+    <dimen name="navigation_handle_bottom">6dp</dimen>
+    <dimen name="navigation_handle_horizontal_margin">30dp</dimen>
+    <dimen name="navigation_home_handle_width">280dp</dimen>
 
     <!-- Height of notification icons in the status bar -->
     <dimen name="status_bar_icon_size">@*android:dimen/status_bar_icon_size</dimen>
@@ -274,7 +275,16 @@
 
     <!-- The height of the quick settings footer that holds the user switcher, settings icon,
          etc. -->
-    <dimen name="qs_footer_height">56dp</dimen>
+    <dimen name="qs_footer_height">48dp</dimen>
+
+    <!-- The size of each of the icon buttons in the QS footer -->
+    <dimen name="qs_footer_action_button_size">@dimen/qs_footer_height</dimen>
+
+    <!-- Margins on each side of QS Footer -->
+    <dimen name="qs_footer_margin">2dp</dimen>
+
+    <!-- Padding on each QS Footer Icon to make the icons 20dpx20dp -->
+    <dimen name="qs_footer_icon_padding">14dp</dimen>
 
     <!-- The padding between the notifications and the quick settings container -->
     <dimen name="qs_notification_padding">@dimen/notification_side_paddings</dimen>
@@ -325,6 +335,8 @@
 
     <dimen name="volume_dialog_ringer_size">64dp</dimen>
 
+    <dimen name="volume_dialog_caption_size">64dp</dimen>
+
     <dimen name="volume_dialog_tap_target_size">48dp</dimen>
 
     <dimen name="volume_dialog_spacer">4dp</dimen>
@@ -415,11 +427,16 @@
     <dimen name="qs_detail_item_icon_marginEnd">20dp</dimen>
     <dimen name="qs_header_tooltip_height">18dp</dimen>
     <dimen name="qs_header_alarm_icon_size">18dp</dimen>
+    <dimen name="qs_header_mobile_icon_size">18dp</dimen>
     <dimen name="qs_header_alarm_text_margin_start">6dp</dimen>
+    <dimen name="qs_header_separator_width">8dp</dimen>
+    <dimen name="qs_header_carrier_separator_width">6dp</dimen>
+    <dimen name="qs_status_separator">32dp</dimen>
+    <dimen name="qs_carrier_margin_width">4dp</dimen>
     <dimen name="qs_footer_padding_start">16dp</dimen>
     <dimen name="qs_footer_padding_end">16dp</dimen>
     <dimen name="qs_footer_icon_size">16dp</dimen>
-    <dimen name="qs_paged_tile_layout_padding_bottom">24dp</dimen>
+    <dimen name="qs_paged_tile_layout_padding_bottom">16dp</dimen>
 
     <dimen name="qs_notif_collapsed_space">64dp</dimen>
 
@@ -592,7 +609,7 @@
     <dimen name="multi_user_avatar_keyguard_size">22dp</dimen>
 
     <!-- The width of user avatar when expanded -->
-    <dimen name="multi_user_avatar_expanded_size">18dp</dimen>
+    <dimen name="multi_user_avatar_expanded_size">20dp</dimen>
 
     <!-- The font size of the time when collapsed in QS -->
     <dimen name="qs_time_collapsed_size">14sp</dimen>
@@ -661,9 +678,9 @@
     <dimen name="keyguard_affordance_width">56dp</dimen>
 
     <!-- The width/height of the unlock icon view on keyguard. -->
-    <dimen name="keyguard_lock_height">32dp</dimen>
-    <dimen name="keyguard_lock_width">32dp</dimen>
-    <dimen name="keyguard_lock_padding">24dp</dimen>
+    <dimen name="keyguard_lock_height">42dp</dimen>
+    <dimen name="keyguard_lock_width">42dp</dimen>
+    <dimen name="keyguard_lock_padding">19dp</dimen>
 
     <dimen name="keyguard_indication_margin_bottom">65dp</dimen>
 
@@ -849,10 +866,12 @@
 
     <!-- Global actions power menu -->
     <dimen name="global_actions_panel_width">120dp</dimen>
-    <dimen name="global_actions_top_padding">120dp</dimen>
     <dimen name="global_actions_padding">12dp</dimen>
     <dimen name="global_actions_translate">9dp</dimen>
 
+    <!-- Distance from the top of screen in pixels, to position the power menu near the button. -->
+    <dimen name="global_actions_top_padding">330px</dimen>
+
     <!-- Global actions grid layout -->
     <dimen name="global_actions_grid_side_margin">4dp</dimen>
 
@@ -983,10 +1002,8 @@
     <dimen name="ongoing_appops_chip_margin">0dp</dimen>
     <!-- Height of the Ongoing App Ops chip -->
     <dimen name="ongoing_appops_chip_height">32dp</dimen>
-    <!-- Start and End padding for Ongoing App Ops chip -->
-    <dimen name="ongoing_appops_chip_text_padding">8dp</dimen>
     <!-- Padding between background of Ongoing App Ops chip and content -->
-    <dimen name="ongoing_appops_chip_bg_padding">0dp</dimen>
+    <dimen name="ongoing_appops_chip_bg_padding">8dp</dimen>
     <!-- Side padding between background of Ongoing App Ops chip and content -->
     <dimen name="ongoing_appops_chip_side_padding">8dp</dimen>
     <!-- Margin between icons of Ongoing App Ops chip when QQS-->
@@ -997,10 +1014,7 @@
     <dimen name="ongoing_appops_chip_icon_size">@*android:dimen/status_bar_icon_size</dimen>
     <!-- Radius of Ongoing App Ops chip corners -->
     <dimen name="ongoing_appops_chip_bg_corner_radius">16dp</dimen>
-    <!-- Size of text of Ongoing App Ops chip -->
-    <dimen name="ongoing_appops_chip_text_size">12sp</dimen>
-    <!-- Margin between items in Ongoing App Ops chip -->
-    <dimen name="ongoing_appops_chip_items_margin">8dp</dimen>
+
 
     <!-- How much a bubble is elevated -->
     <dimen name="bubble_elevation">8dp</dimen>
diff --git a/packages/SystemUI/res/values/donottranslate.xml b/packages/SystemUI/res/values/donottranslate.xml
index 38f469e..67293c5 100644
--- a/packages/SystemUI/res/values/donottranslate.xml
+++ b/packages/SystemUI/res/values/donottranslate.xml
@@ -18,8 +18,8 @@
 -->
 <resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
     <!-- Date format for display: should match the lockscreen in /policy.  -->
-    <string name="system_ui_date_pattern">@*android:string/system_ui_date_pattern</string>
+    <string name="system_ui_date_pattern" translatable="false">@*android:string/system_ui_date_pattern</string>
 
     <!-- Date format for the always on display.  -->
-    <item type="string" name="system_ui_aod_date_pattern">eeeMMMd</item>
+    <item type="string" name="system_ui_aod_date_pattern" translatable="false">eeeMMMd</item>
 </resources>
diff --git a/packages/SystemUI/res/values/integers.xml b/packages/SystemUI/res/values/integers.xml
index e8fabf5..a6dae45 100644
--- a/packages/SystemUI/res/values/integers.xml
+++ b/packages/SystemUI/res/values/integers.xml
@@ -19,8 +19,8 @@
 
     <!-- Action footer width used for layout_width to indicate WRAP_CONTENT (along with a weight of
          0) as we can allow the carrier text to stretch as far as needed in the QS footer. -->
-    <integer name="qs_footer_actions_width">-2</integer>
-    <integer name="qs_footer_actions_weight">0</integer>
+    <integer name="qs_footer_actions_width">0</integer>
+    <integer name="qs_footer_actions_weight">1</integer>
 
     <!-- Maximum number of bubbles to render and animate at one time. While the animations used are
          lightweight translation animations, this number can be reduced on lower end devices if any
diff --git a/packages/SystemUI/res/values/strings.xml b/packages/SystemUI/res/values/strings.xml
index 5338bb4..da43391 100644
--- a/packages/SystemUI/res/values/strings.xml
+++ b/packages/SystemUI/res/values/strings.xml
@@ -266,6 +266,8 @@
     <string name="accessibility_scanning_face">Scanning face</string>
     <!-- Click action label for accessibility for the smart reply buttons (not shown on-screen).". [CHAR LIMIT=NONE] -->
     <string name="accessibility_send_smart_reply">Send</string>
+    <!-- Content description of the manage notification button for accessibility (not shown on the screen). [CHAR LIMIT=NONE] -->
+    <string name="accessibility_manage_notification">Manage notifications</string>
     <!-- Click action label for accessibility for the unlock button. [CHAR LIMIT=NONE] -->
     <string name="unlock_label">unlock</string>
     <!-- Click action label for accessibility for the phone button. [CHAR LIMIT=NONE] -->
@@ -651,8 +653,6 @@
 
     <!-- The overflow indicator shown when a group has more notification inside the group than the visible ones. An example is "+ 3" [CHAR LIMIT=5] -->
     <string name="notification_group_overflow_indicator">+ <xliff:g id="number" example="3">%s</xliff:g></string>
-    <!-- The overflow indicator shown when a group has more notification inside the group than the visible ones. An example is "New message, +3" [CHAR LIMIT=7] -->
-    <string name="notification_group_overflow_indicator_ambient"><xliff:g id="notification_title" example="New message">%1$s</xliff:g>, +<xliff:g id="overflow" example="+3">%2$s</xliff:g></string>
 
     <!-- Content description describing how many more notifications are in a group [CHAR LIMIT=NONE] -->
     <plurals name="notification_group_overflow_description">
@@ -1582,6 +1582,9 @@
     <!-- Notification Inline controls: button to dismiss the blocking helper [CHAR_LIMIT=20] -->
     <string name="inline_done_button">Done</string>
 
+    <!-- Notification Inline controls: button to dismiss the blocking helper [CHAR_LIMIT=20] -->
+    <string name="inline_ok_button">OK</string>
+
     <!-- Notification Inline controls: continue receiving notifications prompt, channel level -->
     <string name="inline_keep_showing">Keep showing these notifications?</string>
 
@@ -1607,7 +1610,7 @@
     <string name="inline_silent_button_stay_silent">Stay silent</string>
 
     <!-- Notification inline controls: button to make notifications alert the user [CHAR_LIMIT=35] -->
-    <string name="inline_silent_button_alert">Alert me</string>
+    <string name="inline_silent_button_alert">Alert</string>
 
     <!-- Notification inline controls: button to continue alerting the user when notifications arrive [CHAR_LIMIT=35] -->
     <string name="inline_silent_button_keep_alerting">Keep alerting</string>
@@ -1615,6 +1618,15 @@
     <!-- Notification Inline controls: continue receiving notifications prompt, app level -->
     <string name="inline_keep_showing_app">Keep showing notifications from this app?</string>
 
+    <!-- Hint text for block button in the interruptiveness settings [CHAR_LIMIT=NONE]-->
+    <string name="hint_text_block">Blocked notifications do not appear anywhere or play a sound. You can unblock notifications in settings.</string>
+
+    <!-- Hint text for silent button in the interruptiveness settings [CHAR_LIMIT=NONE]-->
+    <string name="hint_text_silent">Silent notifications appear in the shade, but do not appear on the lock screen, present a banner, or play a sound.</string>
+
+    <!-- Hint text for alert button in the interruptiveness settings [CHAR_LIMIT=NONE]-->
+    <string name="hint_text_alert">Alerted notifications appear in the shade, on the lock screen, present a banner, and play a sound.</string>
+
     <!-- Notification: Control panel: Label that displays when the app's notifications cannot be blocked. -->
     <string name="notification_unblockable_desc">These notifications can\'t be turned off</string>
 
@@ -2308,29 +2320,12 @@
          app for debugging. Will not be seen by users. [CHAR LIMIT=20] -->
     <string name="heap_dump_tile_name">Dump SysUI Heap</string>
 
-    <!-- Text on chip for multiple apps using a single app op [CHAR LIMIT=12] -->
-    <plurals name="ongoing_privacy_chip_multiple_apps">
-        <item quantity="one"><xliff:g id="num_apps" example="1">%d</xliff:g> app</item>
-        <item quantity="few"><xliff:g id="num_apps" example="3">%d</xliff:g> apps</item>
-        <item quantity="other"><xliff:g id="num_apps" example="3">%d</xliff:g> apps</item>
-    </plurals>
-
     <!-- Content description for ongoing privacy chip. Use with a single app [CHAR LIMIT=NONE]-->
     <string name="ongoing_privacy_chip_content_single_app"><xliff:g id="app" example="Example App">%1$s</xliff:g> is using your <xliff:g id="types_list" example="camera, location">%2$s</xliff:g>.</string>
 
     <!-- Content description for ongoing privacy chip. Use with multiple apps [CHAR LIMIT=NONE]-->
     <string name="ongoing_privacy_chip_content_multiple_apps">Applications are using your <xliff:g id="types_list" example="camera, location">%s</xliff:g>.</string>
 
-    <!-- Ongoing Privacy "Chip" in use text [CHAR LIMIT=10]-->
-    <string name="ongoing_privacy_chip_in_use">In use:</string>
-
-    <!-- Content description for ongoing privacy chip. Use with multiple apps using same app op[CHAR LIMIT=NONE]-->
-    <plurals name="ongoing_privacy_chip_content_multiple_apps_single_op">
-        <item quantity="one"><xliff:g id="num_apps" example="1">%1$d</xliff:g> application is using your <xliff:g id="type" example="camera">%2$s</xliff:g>.</item>
-        <item quantity="few"><xliff:g id="num_apps" example="3">%1$d</xliff:g> applications are using your <xliff:g id="type" example="camera">%2$s</xliff:g>.</item>
-        <item quantity="other"><xliff:g id="num_apps" example="3">%1$d</xliff:g> applications are using your <xliff:g id="type" example="camera">%2$s</xliff:g>.</item>
-    </plurals>
-
     <!-- Action for accepting the Ongoing privacy dialog [CHAR LIMIT=10]-->
     <string name="ongoing_privacy_dialog_ok">Got it</string>
 
@@ -2358,12 +2353,6 @@
     <!-- Text for microphone app op [CHAR LIMIT=20]-->
     <string name="privacy_type_microphone">microphone</string>
 
-    <!-- Text for indicating extra apps using app ops [CHAR LIMIT=NONE] -->
-    <plurals name="ongoing_privacy_dialog_overflow_text">
-        <item quantity="one"><xliff:g id="num_apps" example="1">%d</xliff:g> other app</item>
-        <item quantity="other"><xliff:g id="num_apps" example="3">%d</xliff:g> other apps</item>
-    </plurals>
-
     <!-- Text for the quick setting tile for sensor privacy [CHAR LIMIT=30] -->
     <string name="sensor_privacy_mode">Sensors off</string>
 
@@ -2373,6 +2362,9 @@
     <!-- What to show on the ambient display player when song doesn't have a title. [CHAR LIMIT=20] -->
     <string name="music_controls_no_title">No title</string>
 
+    <!-- Description of the restart button in the hint of size compatibility mode. [CHAR LIMIT=NONE] -->
+    <string name="restart_button_description">Tap to restart this app and go full screen.</string>
+
     <!-- Text used for content description of deep link button in the header of expanded bubble
          view. [CHAR_LIMIT=NONE] -->
     <string name="bubbles_deep_link_button_description">Open <xliff:g id="app_name" example="YouTube">%1$s</xliff:g></string>
diff --git a/packages/SystemUI/res/values/styles.xml b/packages/SystemUI/res/values/styles.xml
index 2cd2c43..0f5df45 100644
--- a/packages/SystemUI/res/values/styles.xml
+++ b/packages/SystemUI/res/values/styles.xml
@@ -71,11 +71,11 @@
 
     <style name="hybrid_notification_title">
         <item name="android:paddingEnd">4dp</item>
-        <item name="android:textAppearance">@*android:style/TextAppearance.Material.Notification.Title</item>
+        <item name="android:textAppearance">@*android:style/TextAppearance.DeviceDefault.Notification.Title</item>
     </style>
 
     <style name="hybrid_notification_text"
-           parent="@*android:style/Widget.Material.Notification.Text">
+           parent="@*android:style/Widget.DeviceDefault.Notification.Text">
         <item name="android:paddingEnd">4dp</item>
     </style>
 
@@ -227,6 +227,8 @@
         <item name="android:textSize">@dimen/qs_carrier_info_text_size</item>
     </style>
 
+    <style name="TextAppearance.QS.Status" parent="TextAppearance.QS.TileLabel.Secondary" />
+
     <style name="TextAppearance.AppOpsDialog" />
 
     <style name="TextAppearance.AppOpsDialog.Title">
@@ -285,7 +287,6 @@
         <item name="*android:lockPatternStyle">@style/LockPatternStyle</item>
         <item name="passwordStyle">@style/PasswordTheme</item>
         <item name="backgroundProtectedStyle">@style/BackgroundProtectedStyle</item>
-        <item name="android:forceDarkAllowed">false</item>
 
         <!-- Needed for MediaRoute chooser dialog -->
         <item name="*android:isLightTheme">false</item>
@@ -336,10 +337,6 @@
         <item name="android:gravity">center</item>
     </style>
 
-    <style name="TextAppearance.Material.Notification.HeaderTitle"
-        parent="@*android:style/TextAppearance.Material.Notification.Info">
-    </style>
-
     <style name="SearchPanelCircle">
         <item name="android:layout_width">match_parent</item>
         <item name="android:layout_height">match_parent</item>
@@ -447,6 +444,19 @@
         <item name="android:alpha">0.54</item>
     </style>
 
+    <style name="TextAppearance.NotificationInfo.ButtonLabel">
+        <item name="android:fontFamily">@*android:string/config_bodyFontFamilyMedium</item>
+        <item name="android:textSize">14sp</item>
+        <item name="android:alpha">0.54</item>
+        <item name="android:paddingTop">4dp</item>
+        <item name="android:paddingBottom">16dp</item>
+    </style>
+
+    <style name="TextAppearance.NotificationInfo.HintText">
+        <item name="android:textSize">12sp</item>
+        <item name="android:alpha">0.54</item>
+    </style>
+
     <style name="TextAppearance.NotificationInfo.Secondary.Warning">
         <item name="android:textColor">?android:attr/colorError</item>
     </style>
@@ -469,7 +479,7 @@
     </style>
 
     <style name="TextAppearance.HeadsUpStatusBarText"
-           parent="@*android:style/TextAppearance.Material.Notification.Info">
+           parent="@*android:style/TextAppearance.DeviceDefault.Notification.Info">
     </style>
 
     <style name="TextAppearance.QSEdit.Headers"
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl
index 37abab9..ce615b6 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/recents/IOverviewProxy.aidl
@@ -113,4 +113,10 @@
      * Sent when there was an action on one of the onboarding tips view.
      */
     void onTip(int actionType, int viewType) = 10;
+
+    /**
+     * Sent when device assistant changes its default assistant whether it is available or not.
+     */
+    void onAssistantAvailable(boolean available) = 13;
+
 }
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java
index ea6fb48..7b39ba3 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/ActivityOptionsCompat.java
@@ -78,4 +78,12 @@
                     }
                 });
     }
+
+    /**
+     * Sets the flag to freeze the recents task list reordering as a part of launching the activity.
+     */
+    public static ActivityOptions setFreezeRecentTasksList(ActivityOptions opts) {
+        opts.setFreezeRecentTasksReordering();
+        return opts;
+    }
 }
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java
index c54a469..f2a961d 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListener.java
@@ -18,6 +18,7 @@
 
 import android.app.ActivityManager.RunningTaskInfo;
 import android.content.ComponentName;
+import android.os.IBinder;
 import android.os.UserHandle;
 import android.util.Log;
 
@@ -73,6 +74,7 @@
     }
 
     public void onActivityRequestedOrientationChanged(int taskId, int requestedOrientation) { }
+    public void onSizeCompatModeActivityChanged(int displayId, IBinder activityToken) { }
 
     /**
      * Checks that the current user matches the process. Since
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java
index 7e4ab85..6e3eb7c 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/TaskStackChangeListeners.java
@@ -23,6 +23,7 @@
 import android.app.TaskStackListener;
 import android.content.ComponentName;
 import android.os.Handler;
+import android.os.IBinder;
 import android.os.Looper;
 import android.os.Message;
 import android.os.RemoteException;
@@ -180,6 +181,12 @@
                 requestedOrientation).sendToTarget();
     }
 
+    @Override
+    public void onSizeCompatModeActivityChanged(int displayId, IBinder activityToken) {
+        mHandler.obtainMessage(H.ON_SIZE_COMPAT_MODE_ACTIVITY_CHANGED, displayId, 0 /* unused */,
+                activityToken).sendToTarget();
+    }
+
     private final class H extends Handler {
         private static final int ON_TASK_STACK_CHANGED = 1;
         private static final int ON_TASK_SNAPSHOT_CHANGED = 2;
@@ -197,6 +204,7 @@
         private static final int ON_TASK_MOVED_TO_FRONT = 14;
         private static final int ON_ACTIVITY_REQUESTED_ORIENTATION_CHANGE = 15;
         private static final int ON_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_REROUTED = 16;
+        private static final int ON_SIZE_COMPAT_MODE_ACTIVITY_CHANGED = 17;
 
 
         public H(Looper looper) {
@@ -319,6 +327,13 @@
                         }
                         break;
                     }
+                    case ON_SIZE_COMPAT_MODE_ACTIVITY_CHANGED: {
+                        for (int i = mTaskStackListeners.size() - 1; i >= 0; i--) {
+                            mTaskStackListeners.get(i).onSizeCompatModeActivityChanged(
+                                    msg.arg1, (IBinder) msg.obj);
+                        }
+                        break;
+                    }
                 }
             }
         }
diff --git a/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowManagerWrapper.java b/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowManagerWrapper.java
index 10996e88..794c30a 100644
--- a/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowManagerWrapper.java
+++ b/packages/SystemUI/shared/src/com/android/systemui/shared/system/WindowManagerWrapper.java
@@ -217,4 +217,11 @@
         WindowManagerGlobal.getWindowManagerService().registerPinnedStackListener(
                 DEFAULT_DISPLAY, mPinnedStackListenerForwarder);
     }
+
+    /**
+     * Removes a pinned stack listener.
+     */
+    public void removePinnedStackListener(IPinnedStackListener listener) {
+        mPinnedStackListenerForwarder.removeListener(listener);
+    }
 }
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java
index d40fa66..ce65b5a 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardClockSwitch.java
@@ -60,8 +60,8 @@
      */
     private ViewGroup mBigClockContainer;
     /**
-     * Status area (date and other stuff) shown below the clock. Plugin can decide whether
-     * or not to show it below the alternate clock.
+     * Status area (date and other stuff) shown below the clock. Plugin can decide whether or not to
+     * show it below the alternate clock.
      */
     private View mKeyguardStatusArea;
     /**
@@ -75,24 +75,19 @@
     private boolean mSupportsDarkText;
     private int[] mColorPalette;
 
+    /**
+     * Track the state of the status bar to know when to hide the big_clock_container.
+     */
+    private int mStatusBarState;
+
     private final StatusBarStateController.StateListener mStateListener =
             new StatusBarStateController.StateListener() {
                 @Override
                 public void onStateChanged(int newState) {
-                    if (mBigClockContainer == null) {
-                        return;
-                    }
-                    if (newState == StatusBarState.SHADE) {
-                        if (mBigClockContainer.getVisibility() == View.VISIBLE) {
-                            mBigClockContainer.setVisibility(View.INVISIBLE);
-                        }
-                    } else {
-                        if (mBigClockContainer.getVisibility() == View.INVISIBLE) {
-                            mBigClockContainer.setVisibility(View.VISIBLE);
-                        }
-                    }
+                    mStatusBarState = newState;
+                    updateBigClockVisibility();
                 }
-    };
+            };
 
     private ClockManager.ClockChangedListener mClockChangedListener = this::setClockPlugin;
 
@@ -139,7 +134,9 @@
     protected void onAttachedToWindow() {
         super.onAttachedToWindow();
         Dependency.get(ClockManager.class).addOnClockChangedListener(mClockChangedListener);
-        Dependency.get(StatusBarStateController.class).addCallback(mStateListener);
+        StatusBarStateController stateController = Dependency.get(StatusBarStateController.class);
+        stateController.addCallback(mStateListener);
+        mStateListener.onStateChanged(stateController.getState());
         SysuiColorExtractor colorExtractor = Dependency.get(SysuiColorExtractor.class);
         colorExtractor.addOnColorsChangedListener(mColorsListener);
         updateColors(colorExtractor);
@@ -151,7 +148,7 @@
         Dependency.get(ClockManager.class).removeOnClockChangedListener(mClockChangedListener);
         Dependency.get(StatusBarStateController.class).removeCallback(mStateListener);
         Dependency.get(SysuiColorExtractor.class)
-            .removeOnColorsChangedListener(mColorsListener);
+                .removeOnColorsChangedListener(mColorsListener);
         setClockPlugin(null);
     }
 
@@ -164,7 +161,7 @@
             }
             if (mBigClockContainer != null) {
                 mBigClockContainer.removeAllViews();
-                mBigClockContainer.setVisibility(View.GONE);
+                updateBigClockVisibility();
             }
             mClockPlugin = null;
         }
@@ -184,7 +181,7 @@
         View bigClockView = plugin.getBigClockView();
         if (bigClockView != null && mBigClockContainer != null) {
             mBigClockContainer.addView(bigClockView);
-            mBigClockContainer.setVisibility(View.VISIBLE);
+            updateBigClockVisibility();
         }
         // Hide default clock.
         if (!plugin.shouldShowStatusArea()) {
@@ -208,12 +205,10 @@
             View bigClockView = mClockPlugin.getBigClockView();
             if (bigClockView != null) {
                 container.addView(bigClockView);
-                if (container.getVisibility() == View.GONE) {
-                    container.setVisibility(View.VISIBLE);
-                }
             }
         }
         mBigClockContainer = container;
+        updateBigClockVisibility();
     }
 
     /**
@@ -254,6 +249,7 @@
 
     /**
      * Set the amount (ratio) that the device has transitioned to doze.
+     *
      * @param darkAmount Amount of transition to doze: 1f for doze and 0f for awake.
      */
     public void setDarkAmount(float darkAmount) {
@@ -307,9 +303,24 @@
         }
     }
 
+    private void updateBigClockVisibility() {
+        if (mBigClockContainer == null) {
+            return;
+        }
+        final boolean inDisplayState = mStatusBarState == StatusBarState.KEYGUARD
+                || mStatusBarState == StatusBarState.SHADE_LOCKED;
+        final int visibility =
+                inDisplayState && mBigClockContainer.getChildCount() != 0 ? View.VISIBLE
+                        : View.GONE;
+        if (mBigClockContainer.getVisibility() != visibility) {
+            mBigClockContainer.setVisibility(visibility);
+        }
+    }
+
     /**
-     * Sets if the keyguard slice is showing a center-aligned header. We need a smaller clock
-     * in these cases.
+     * Sets if the keyguard slice is showing a center-aligned header. We need a smaller clock in
+     * these
+     * cases.
      */
     public void setKeyguardShowingHeader(boolean hasHeader) {
         if (mShowingHeader == hasHeader || hasCustomClock()) {
@@ -327,12 +338,12 @@
                 mClockView.getPaddingRight(), paddingBottom);
     }
 
-    @VisibleForTesting (otherwise = VisibleForTesting.NONE)
+    @VisibleForTesting(otherwise = VisibleForTesting.NONE)
     ClockManager.ClockChangedListener getClockChangedListener() {
         return mClockChangedListener;
     }
 
-    @VisibleForTesting (otherwise = VisibleForTesting.NONE)
+    @VisibleForTesting(otherwise = VisibleForTesting.NONE)
     StatusBarStateController.StateListener getStateListener() {
         return mStateListener;
     }
@@ -352,7 +363,8 @@
 
     /**
      * Special layout transition that scales the clock view as its bounds change, to make it look
-     * like the text is shrinking.
+     * like
+     * the text is shrinking.
      */
     private class ClockBoundsTransition extends ChangeBounds {
 
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
index 7af27f2..14df70c 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardSecurityContainer.java
@@ -20,6 +20,7 @@
 import android.app.admin.DevicePolicyManager;
 import android.content.Context;
 import android.content.res.ColorStateList;
+import android.metrics.LogMaker;
 import android.os.UserHandle;
 import android.util.AttributeSet;
 import android.util.Log;
@@ -32,8 +33,11 @@
 
 import androidx.annotation.VisibleForTesting;
 
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.internal.widget.LockPatternUtils;
 import com.android.keyguard.KeyguardSecurityModel.SecurityMode;
+import com.android.systemui.Dependency;
 
 public class KeyguardSecurityContainer extends FrameLayout implements KeyguardSecurityView {
     private static final boolean DEBUG = KeyguardConstants.DEBUG;
@@ -54,6 +58,8 @@
 
     private final KeyguardUpdateMonitor mUpdateMonitor;
 
+    private final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class);
+
     // Used to notify the container when something interesting happens.
     public interface SecurityCallback {
         public boolean dismiss(boolean authenticated, int targetUserId);
@@ -439,6 +445,8 @@
                     StatsLog.KEYGUARD_BOUNCER_PASSWORD_ENTERED__RESULT__FAILURE);
                 KeyguardSecurityContainer.this.reportFailedUnlockAttempt(userId, timeoutMs);
             }
+            mMetricsLogger.write(new LogMaker(MetricsEvent.BOUNCER)
+                    .setType(success ? MetricsEvent.TYPE_SUCCESS : MetricsEvent.TYPE_FAILURE));
         }
 
         public void reset() {
diff --git a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
index f208118..63f8cd6 100644
--- a/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
+++ b/packages/SystemUI/src/com/android/keyguard/KeyguardUpdateMonitor.java
@@ -105,11 +105,6 @@
  * Watches for updates that may be interesting to the keyguard, and provides
  * the up to date information as well as a registration for callbacks that care
  * to be updated.
- *
- * Note: under time crunch, this has been extended to include some stuff that
- * doesn't really belong here.  see {@link #handleBatteryUpdate} where it shutdowns
- * the device, and {@link #getFailedUnlockAttempts()}, {@link #reportFailedAttempt()}
- * and {@link #clearFailedUnlockAttempts()}.  Maybe we should rename this 'KeyguardContext'...
  */
 public class KeyguardUpdateMonitor implements TrustManager.TrustListener {
 
@@ -372,6 +367,7 @@
         public void onChanged(BiometricSourceType type, boolean enabled) throws RemoteException {
             if (type == BiometricSourceType.FACE) {
                 mFaceSettingEnabledForUser = enabled;
+                updateFaceListeningState();
             }
         }
     };
@@ -1567,6 +1563,15 @@
         updateFaceListeningState();
     }
 
+    /**
+     * Requests face authentication if we're on a state where it's allowed.
+     * This will re-trigger auth in case it fails.
+     */
+    public void requestFaceAuth() {
+        if (DEBUG) Log.d(TAG, "requestFaceAuth()");
+        updateFaceListeningState();
+    }
+
     private void updateFaceListeningState() {
         // If this message exists, we should not authenticate again until this message is
         // consumed by the handler
@@ -1602,7 +1607,7 @@
                 (mBouncer && !mKeyguardGoingAway) || mGoingToSleep ||
                 shouldListenForFingerprintAssistant() || (mKeyguardOccluded && mIsDreaming))
                 && !mSwitchingUser && !isFingerprintDisabled(getCurrentUser())
-                && !mKeyguardGoingAway && mIsPrimaryUser;
+                && (!mKeyguardGoingAway || !mDeviceInteractive) && mIsPrimaryUser;
         return shouldListen;
     }
 
@@ -1628,7 +1633,7 @@
             return;
         }
         if (DEBUG) Log.v(TAG, "startListeningForFingerprint()");
-        int userId = ActivityManager.getCurrentUser();
+        int userId = getCurrentUser();
         if (isUnlockWithFingerprintPossible(userId)) {
             if (mFingerprintCancelSignal != null) {
                 mFingerprintCancelSignal.cancel();
@@ -1646,7 +1651,7 @@
             return;
         }
         if (DEBUG) Log.v(TAG, "startListeningForFace()");
-        int userId = ActivityManager.getCurrentUser();
+        int userId = getCurrentUser();
         if (isUnlockWithFacePossible(userId)) {
             if (mFaceCancelSignal != null) {
                 mFaceCancelSignal.cancel();
diff --git a/packages/SystemUI/src/com/android/keyguard/clock/ClockLayout.java b/packages/SystemUI/src/com/android/keyguard/clock/ClockLayout.java
index 4d8cf96..59ee267 100644
--- a/packages/SystemUI/src/com/android/keyguard/clock/ClockLayout.java
+++ b/packages/SystemUI/src/com/android/keyguard/clock/ClockLayout.java
@@ -76,8 +76,10 @@
     protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
         super.onLayout(changed, left, top, right, bottom);
 
-        final float offsetX = getBurnInOffset(mBurnInPreventionOffsetX, true);
-        final float offsetY = getBurnInOffset(mBurnInPreventionOffsetY, false);
+        final float offsetX = getBurnInOffset(mBurnInPreventionOffsetX * 2, true)
+                - mBurnInPreventionOffsetX;
+        final float offsetY = getBurnInOffset(mBurnInPreventionOffsetY * 2, false)
+                - mBurnInPreventionOffsetY;
 
         // Put digital clock in two left corner of the screen.
         if (mDigitalClock != null) {
diff --git a/packages/SystemUI/src/com/android/keyguard/clock/ImageClock.java b/packages/SystemUI/src/com/android/keyguard/clock/ImageClock.java
index 2275380..95f1004 100644
--- a/packages/SystemUI/src/com/android/keyguard/clock/ImageClock.java
+++ b/packages/SystemUI/src/com/android/keyguard/clock/ImageClock.java
@@ -59,7 +59,7 @@
      */
     public void onTimeChanged() {
         mTime.setTimeInMillis(System.currentTimeMillis());
-        final float hourAngle = mTime.get(Calendar.HOUR) * 30f;
+        final float hourAngle = mTime.get(Calendar.HOUR) * 30f + mTime.get(Calendar.MINUTE) * 0.5f;
         mHourHand.setRotation(hourAngle);
         final float minuteAngle = mTime.get(Calendar.MINUTE) * 6f;
         mMinuteHand.setRotation(minuteAngle);
diff --git a/packages/SystemUI/src/com/android/keyguard/clock/StretchAnalogClock.java b/packages/SystemUI/src/com/android/keyguard/clock/StretchAnalogClock.java
index 34c855b..8cdd632 100644
--- a/packages/SystemUI/src/com/android/keyguard/clock/StretchAnalogClock.java
+++ b/packages/SystemUI/src/com/android/keyguard/clock/StretchAnalogClock.java
@@ -103,7 +103,8 @@
         final float centerY = getHeight() / 2f;
 
         final float minutesRotation = mTime.get(Calendar.MINUTE) * 6f;
-        final float hoursRotation = (mTime.get(Calendar.HOUR) * 30);
+        final float hoursRotation = mTime.get(Calendar.HOUR) * 30
+                + mTime.get(Calendar.MINUTE) * 0.5f;
 
         // Compute length of clock hands. Hour hand is 60% the length from center to edge
         // and minute hand is twice the length to make sure it extends past screen edge.
diff --git a/packages/SystemUI/src/com/android/keyguard/clock/TypeClockController.java b/packages/SystemUI/src/com/android/keyguard/clock/TypeClockController.java
index 69f86c7..387f265 100644
--- a/packages/SystemUI/src/com/android/keyguard/clock/TypeClockController.java
+++ b/packages/SystemUI/src/com/android/keyguard/clock/TypeClockController.java
@@ -51,7 +51,7 @@
     /**
      * Small clock shown on lock screen above stack scroller.
      */
-    private View mLockClockContainer;
+    private TypographicClock mLockClock;
 
     /**
      * Controller for transition into dark state.
@@ -69,13 +69,15 @@
     }
 
     private void createViews() {
-        mView = mLayoutInflater.inflate(R.layout.type_clock, null);
+        mView = mLayoutInflater.inflate(R.layout.type_aod_clock, null);
         mTypeClock = mView.findViewById(R.id.type_clock);
 
         // For now, this view is used to hide the default digital clock.
         // Need better transition to lock screen.
-        mLockClockContainer = mLayoutInflater.inflate(R.layout.digital_clock, null);
-        mLockClockContainer.setVisibility(View.GONE);
+        mLockClock = (TypographicClock) mLayoutInflater.inflate(R.layout.typographic_clock, null);
+        mLockClock.setVisibility(View.GONE);
+
+        mDarkController = new CrossFadeDarkController(mView, mLockClock);
     }
 
     @Override
@@ -95,10 +97,10 @@
 
     @Override
     public View getView() {
-        if (mLockClockContainer == null) {
+        if (mLockClock == null) {
             createViews();
         }
-        return mLockClockContainer;
+        return mLockClock;
     }
 
     @Override
@@ -115,6 +117,7 @@
     @Override
     public void setTextColor(int color) {
         mTypeClock.setTextColor(color);
+        mLockClock.setTextColor(color);
     }
 
     @Override
@@ -122,21 +125,28 @@
         if (colorPalette == null || colorPalette.length == 0) {
             return;
         }
-        final int length = colorPalette.length;
-        mTypeClock.setClockColor(colorPalette[Math.max(0, length - 5)]);
+        final int color = colorPalette[Math.max(0, colorPalette.length - 5)];
+        mTypeClock.setClockColor(color);
+        mLockClock.setClockColor(color);
     }
 
     @Override
     public void onTimeTick() {
         mTypeClock.onTimeChanged();
+        mLockClock.onTimeChanged();
     }
 
     @Override
-    public void setDarkAmount(float darkAmount) {}
+    public void setDarkAmount(float darkAmount) {
+        if (mDarkController != null) {
+            mDarkController.setDarkAmount(darkAmount);
+        }
+    }
 
     @Override
     public void onTimeZoneChanged(TimeZone timeZone) {
         mTypeClock.onTimeZoneChanged(timeZone);
+        mLockClock.onTimeZoneChanged(timeZone);
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/keyguard/clock/TypographicClock.java b/packages/SystemUI/src/com/android/keyguard/clock/TypographicClock.java
index 7bce3c5..572ab30 100644
--- a/packages/SystemUI/src/com/android/keyguard/clock/TypographicClock.java
+++ b/packages/SystemUI/src/com/android/keyguard/clock/TypographicClock.java
@@ -119,4 +119,12 @@
         mTime.setTimeZone(mTimeZone != null ? mTimeZone : TimeZone.getDefault());
         onTimeChanged();
     }
+
+    /**
+     * Overriding hasOverlappingRendering as false to improve performance of crossfading.
+     */
+    @Override
+    public boolean hasOverlappingRendering() {
+        return false;
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
index 592b603..62b0542 100644
--- a/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
+++ b/packages/SystemUI/src/com/android/systemui/BatteryMeterView.java
@@ -24,6 +24,8 @@
 import static java.lang.annotation.RetentionPolicy.SOURCE;
 
 import android.animation.ArgbEvaluator;
+import android.animation.LayoutTransition;
+import android.animation.ObjectAnimator;
 import android.annotation.IntDef;
 import android.app.ActivityManager;
 import android.content.Context;
@@ -141,6 +143,8 @@
         addOnAttachStateChangeListener(
                 new DisableStateTracker(DISABLE_NONE, DISABLE2_SYSTEM_ICONS));
 
+        setupLayoutTransition();
+
         mSlotBattery = context.getString(
                 com.android.internal.R.string.status_bar_battery);
         mBatteryIconView = new ImageView(context);
@@ -178,6 +182,21 @@
         setLayerType(LAYER_TYPE_SOFTWARE, null);
     }
 
+    private void setupLayoutTransition() {
+        LayoutTransition transition = new LayoutTransition();
+        transition.setDuration(200);
+
+        ObjectAnimator appearAnimator = ObjectAnimator.ofFloat(null, "alpha", 0f, 1f);
+        transition.setAnimator(LayoutTransition.APPEARING, appearAnimator);
+        transition.setInterpolator(LayoutTransition.APPEARING, Interpolators.ALPHA_IN);
+
+        ObjectAnimator disappearAnimator = ObjectAnimator.ofFloat(null, "alpha", 1f, 0f);
+        transition.setInterpolator(LayoutTransition.DISAPPEARING, Interpolators.ALPHA_OUT);
+        transition.setAnimator(LayoutTransition.DISAPPEARING, disappearAnimator);
+
+        setLayoutTransition(transition);
+    }
+
     public void setForceShowPercent(boolean show) {
         setPercentShowMode(show ? MODE_ON : MODE_DEFAULT);
     }
@@ -355,15 +374,23 @@
         if (mBatteryPercentView != null) {
             if (mShowPercentMode == MODE_ESTIMATE && !mCharging) {
                 mBatteryController.getEstimatedTimeRemainingString((String estimate) -> {
-                    mBatteryPercentView.setText(estimate);
+                    if (estimate != null) {
+                        mBatteryPercentView.setText(estimate);
+                    } else {
+                        setPercentTextAtCurrentLevel();
+                    }
                 });
             } else {
-                mBatteryPercentView.setText(
-                        NumberFormat.getPercentInstance().format(mLevel / 100f));
+                setPercentTextAtCurrentLevel();
             }
         }
     }
 
+    private void setPercentTextAtCurrentLevel() {
+        mBatteryPercentView.setText(
+                NumberFormat.getPercentInstance().format(mLevel / 100f));
+    }
+
     private void updateShowPercent() {
         final boolean showing = mBatteryPercentView != null;
         final boolean systemSetting = 0 != Settings.System
diff --git a/packages/SystemUI/src/com/android/systemui/Dependency.java b/packages/SystemUI/src/com/android/systemui/Dependency.java
index f946cc1..b7d1900 100644
--- a/packages/SystemUI/src/com/android/systemui/Dependency.java
+++ b/packages/SystemUI/src/com/android/systemui/Dependency.java
@@ -191,7 +191,7 @@
             new DependencyKey<>(LEAK_REPORT_EMAIL_NAME);
 
     private final ArrayMap<Object, Object> mDependencies = new ArrayMap<>();
-    private final ArrayMap<Object, DependencyProvider> mProviders = new ArrayMap<>();
+    private final ArrayMap<Object, LazyDependencyCreator> mProviders = new ArrayMap<>();
 
     @Inject Lazy<ActivityStarter> mActivityStarter;
     @Inject Lazy<ActivityStarterDelegate> mActivityStarterDelegate;
@@ -510,7 +510,7 @@
         Preconditions.checkArgument(cls instanceof DependencyKey<?> || cls instanceof Class<?>);
 
         @SuppressWarnings("unchecked")
-        DependencyProvider<T> provider = mProviders.get(cls);
+        LazyDependencyCreator<T> provider = mProviders.get(cls);
         if (provider == null) {
             throw new IllegalArgumentException("Unsupported dependency " + cls
                     + ". " + mProviders.size() + " providers known.");
@@ -520,7 +520,11 @@
 
     private static Dependency sDependency;
 
-    public interface DependencyProvider<T> {
+    /**
+     * Interface for a class that can create a dependency. Used to implement laziness
+     * @param <T> The type of the dependency being created
+     */
+    private interface LazyDependencyCreator<T> {
         T createDependency();
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/HardwareBgDrawable.java b/packages/SystemUI/src/com/android/systemui/HardwareBgDrawable.java
index 97d7999..d631cf3 100644
--- a/packages/SystemUI/src/com/android/systemui/HardwareBgDrawable.java
+++ b/packages/SystemUI/src/com/android/systemui/HardwareBgDrawable.java
@@ -115,4 +115,4 @@
     public void setRotatedBackground(boolean rotatedBackground) {
         mRotatedBackground = rotatedBackground;
     }
-}
+}
\ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/HardwareUiLayout.java b/packages/SystemUI/src/com/android/systemui/HardwareUiLayout.java
index f5451e9..72ab02c 100644
--- a/packages/SystemUI/src/com/android/systemui/HardwareUiLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/HardwareUiLayout.java
@@ -32,10 +32,13 @@
 import android.view.ViewTreeObserver;
 import android.widget.LinearLayout;
 
+import com.android.systemui.globalactions.GlobalActionsDialog;
 import com.android.systemui.tuner.TunerService;
 import com.android.systemui.tuner.TunerService.Tunable;
 import com.android.systemui.util.leak.RotationUtils;
 
+import java.util.ArrayList;
+
 /**
  * Layout for placing two containers at a specific physical position on the device, relative to the
  * device's hardware, regardless of screen rotation.
@@ -90,15 +93,6 @@
     }
 
     @Override
-    public ViewGroup getParentView(boolean separated, int index, boolean reverse) {
-        if (separated) {
-            return getSeparatedView();
-        } else {
-            return getListView();
-        }
-    }
-
-    @Override
     protected void onAttachedToWindow() {
         super.onAttachedToWindow();
         updateSettings();
@@ -221,7 +215,7 @@
         } else {
             rotateLeft();
         }
-        if (mHasSeparatedView) {
+        if (mAdapter.hasSeparatedItems()) {
             if (from == ROTATION_SEASCAPE || to == ROTATION_SEASCAPE) {
                 // Separated view has top margin, so seascape separated view need special rotation,
                 // not a full left or right rotation.
@@ -261,6 +255,31 @@
         }
     }
 
+    @Override
+    public void onUpdateList() {
+        super.onUpdateList();
+        ArrayList<GlobalActionsDialog.Action> separatedActions =
+                mAdapter.getSeparatedItems();
+        ArrayList<GlobalActionsDialog.Action> listActions = mAdapter.getListItems();
+
+        for (int i = 0; i < mAdapter.getCount(); i++) {
+            Object action = mAdapter.getItem(i);
+            int separatedIndex = separatedActions.indexOf(action);
+            ViewGroup parent;
+            if (separatedIndex != -1) {
+                parent = getSeparatedView();
+            } else {
+                int listIndex = listActions.indexOf(action);
+                parent = getListView();
+            }
+            View v = mAdapter.getView(i, null, parent);
+            final int pos = i;
+            v.setOnClickListener(view -> mAdapter.onClickItem(pos));
+            v.setOnLongClickListener(view -> mAdapter.onLongClickItem(pos));
+            parent.addView(v);
+        }
+    }
+
     private void rotateRight() {
         rotateRight(this);
         rotateRight(mList);
@@ -442,8 +461,9 @@
         if (mList == null) return;
         // If got separated button, setRotatedBackground to false,
         // all items won't get white background.
-        mListBackground.setRotatedBackground(mHasSeparatedView);
-        mSeparatedViewBackground.setRotatedBackground(mHasSeparatedView);
+        boolean separated = mAdapter.hasSeparatedItems();
+        mListBackground.setRotatedBackground(separated);
+        mSeparatedViewBackground.setRotatedBackground(separated);
         if (mDivision != null && mDivision.getVisibility() == VISIBLE) {
             int index = mRotatedBackground ? 0 : 1;
             mDivision.getLocationOnScreen(mTmp2);
@@ -489,26 +509,27 @@
         int screenHeight;
         int totalHeight;
         int targetGravity;
+        boolean separated = mAdapter.hasSeparatedItems();
         MarginLayoutParams params = (MarginLayoutParams) mSeparatedView.getLayoutParams();
         switch (RotationUtils.getRotation(getContext())) {
             case RotationUtils.ROTATION_LANDSCAPE:
                 defaultTopPadding = getPaddingLeft();
                 viewsTotalHeight = mList.getMeasuredWidth() + mSeparatedView.getMeasuredWidth();
-                separatedViewTopMargin = mHasSeparatedView ? params.leftMargin : 0;
+                separatedViewTopMargin = separated ? params.leftMargin : 0;
                 screenHeight = getMeasuredWidth();
                 targetGravity = Gravity.CENTER_HORIZONTAL|Gravity.TOP;
                 break;
             case RotationUtils.ROTATION_SEASCAPE:
                 defaultTopPadding = getPaddingRight();
                 viewsTotalHeight = mList.getMeasuredWidth() + mSeparatedView.getMeasuredWidth();
-                separatedViewTopMargin = mHasSeparatedView ? params.leftMargin : 0;
+                separatedViewTopMargin = separated ? params.leftMargin : 0;
                 screenHeight = getMeasuredWidth();
                 targetGravity = Gravity.CENTER_HORIZONTAL|Gravity.BOTTOM;
                 break;
             default: // Portrait
                 defaultTopPadding = getPaddingTop();
                 viewsTotalHeight = mList.getMeasuredHeight() + mSeparatedView.getMeasuredHeight();
-                separatedViewTopMargin = mHasSeparatedView ? params.topMargin : 0;
+                separatedViewTopMargin = separated ? params.topMargin : 0;
                 screenHeight = getMeasuredHeight();
                 targetGravity = Gravity.CENTER_VERTICAL|Gravity.RIGHT;
                 break;
diff --git a/packages/SystemUI/src/com/android/systemui/MultiListLayout.java b/packages/SystemUI/src/com/android/systemui/MultiListLayout.java
index 8c49d56..d063a0f 100644
--- a/packages/SystemUI/src/com/android/systemui/MultiListLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/MultiListLayout.java
@@ -21,19 +21,20 @@
 import android.util.AttributeSet;
 import android.view.View;
 import android.view.ViewGroup;
+import android.widget.BaseAdapter;
 import android.widget.LinearLayout;
 
 import com.android.systemui.util.leak.RotationUtils;
 
+import java.util.ArrayList;
+
 /**
  * Layout class representing the Global Actions menu which appears when the power button is held.
  */
 public abstract class MultiListLayout extends LinearLayout {
     protected boolean mHasOutsideTouch;
-    protected boolean mHasSeparatedView;
-
-    protected int mExpectedSeparatedItemCount;
-    protected int mExpectedListItemCount;
+    protected MultiListAdapter mAdapter;
+    protected boolean mSnapToEdge;
 
     protected int mRotation;
     protected RotationListener mRotationListener;
@@ -53,18 +54,6 @@
     public abstract void removeAllItems();
 
     /**
-     * Get the parent view which will be used to contain the item at the specified index.
-     * @param separated Whether or not this index refers to a position in the separated or list
-     *                  container.
-     * @param index The index of the item within the container.
-     * @param reverse If the MultiListLayout contains sub-lists within the list container, reverse
-     *                the order that they are filled.
-     * @return The parent ViewGroup which will be used to contain the specified item
-     * after it has been added to the layout.
-     */
-    public abstract ViewGroup getParentView(boolean separated, int index, boolean reverse);
-
-    /**
      * Sets the divided view, which may have a differently-colored background.
      */
     public abstract void setDivisionView(View v);
@@ -81,32 +70,17 @@
     }
 
     /**
-     * Sets the number of items expected to be rendered in the separated container. This allows the
-     * layout to correctly determine which parent containers will be used for items before they have
-     * beenadded to the layout.
-     * @param count The number of items expected.
+     * Sets whether the GlobalActions view should snap to the edge of the screen.
      */
-    public void setExpectedSeparatedItemCount(int count) {
-        mExpectedSeparatedItemCount = count;
+    public void setSnapToEdge(boolean snap) {
+        mSnapToEdge = snap;
     }
 
     /**
-     * Sets the number of items expected to be rendered in the list container. This allows the
-     * layout to correctly determine which parent containers will be used for items before they have
-     * beenadded to the layout.
-     * @param count The number of items expected.
+     * Sets the adapter used to inflate items.
      */
-    public void setExpectedListItemCount(int count) {
-        mExpectedListItemCount = count;
-    }
-
-    /**
-     * Sets whether the separated view should be shown, and handles updating visibility on
-     * that view.
-     */
-    public void setHasSeparatedView(boolean hasSeparatedView) {
-        mHasSeparatedView = hasSeparatedView;
-        setSeparatedViewVisibility(hasSeparatedView);
+    public void setAdapter(MultiListAdapter adapter) {
+        mAdapter = adapter;
     }
 
     /**
@@ -136,6 +110,21 @@
         }
     }
 
+    /**
+     * Update the list of items in both the separated and list views.
+     * For this to work, mAdapter must already have been set.
+     */
+    public void updateList() {
+        if (mAdapter == null) {
+            throw new IllegalStateException("mAdapter must be set before calling updateList");
+        }
+        onUpdateList();
+    }
+
+    protected void onUpdateList() {
+        setSeparatedViewVisibility(mAdapter.hasSeparatedItems());
+    }
+
     public void setRotationListener(RotationListener listener) {
         mRotationListener = listener;
     }
@@ -157,4 +146,43 @@
     public interface RotationListener {
         void onRotate(int from, int to);
     }
+
+    /**
+     * Adapter class for converting items into child views for MultiListLayout and handling
+     * callbacks for input events.
+     */
+    public abstract static class MultiListAdapter extends BaseAdapter {
+        /**
+         * Creates an ArrayList of items which should be rendered in the separated view.
+         * @param useSeparatedView is true if the separated view will be used, false otherwise.
+         */
+        public abstract ArrayList getSeparatedItems();
+
+        /**
+         * Creates an ArrayList of items which should be rendered in the list view.
+         * @param useSeparatedView True if the separated view will be used, false otherwise.
+         */
+        public abstract ArrayList getListItems();
+
+        /**
+         * Callback to run when an individual item is clicked or pressed.
+         * @param position The index of the item which was clicked.
+         */
+        public abstract void onClickItem(int position);
+
+        /**
+         * Callback to run when an individual item is long-clicked or long-pressed.
+         * @param position The index of the item which was long-clicked.
+         * @return True if the long-click was handled, false otherwise.
+         */
+        public abstract boolean onLongClickItem(int position);
+
+        /**
+         * Determines whether the mAdapter contains any separated items, used to determine whether
+         * or not to hide the separated list from view.
+         */
+        public boolean hasSeparatedItems() {
+            return getSeparatedItems().size() > 0;
+        }
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java b/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java
index ab077d6..c0f03a6 100644
--- a/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java
+++ b/packages/SystemUI/src/com/android/systemui/ScreenDecorations.java
@@ -471,6 +471,7 @@
             lp.width = WRAP_CONTENT;
             lp.height = MATCH_PARENT;
         }
+        lp.privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC;
         return lp;
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/SizeCompatModeActivityController.java b/packages/SystemUI/src/com/android/systemui/SizeCompatModeActivityController.java
new file mode 100644
index 0000000..7a54344
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/SizeCompatModeActivityController.java
@@ -0,0 +1,285 @@
+/*
+ * 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;
+
+import android.app.ActivityTaskManager;
+import android.content.Context;
+import android.content.res.ColorStateList;
+import android.graphics.Color;
+import android.graphics.PixelFormat;
+import android.graphics.drawable.Drawable;
+import android.graphics.drawable.GradientDrawable;
+import android.graphics.drawable.RippleDrawable;
+import android.hardware.display.DisplayManager;
+import android.inputmethodservice.InputMethodService;
+import android.os.IBinder;
+import android.os.RemoteException;
+import android.util.Log;
+import android.util.SparseArray;
+import android.view.Display;
+import android.view.Gravity;
+import android.view.LayoutInflater;
+import android.view.View;
+import android.view.WindowManager;
+import android.widget.Button;
+import android.widget.ImageButton;
+import android.widget.LinearLayout;
+import android.widget.PopupWindow;
+
+import com.android.internal.annotations.VisibleForTesting;
+import com.android.systemui.shared.system.ActivityManagerWrapper;
+import com.android.systemui.shared.system.TaskStackChangeListener;
+import com.android.systemui.statusbar.CommandQueue;
+
+import java.lang.ref.WeakReference;
+
+/** Shows a restart-activity button when the foreground activity is in size compatibility mode. */
+public class SizeCompatModeActivityController extends SystemUI implements CommandQueue.Callbacks {
+    private static final String TAG = "SizeCompatMode";
+
+    /** The showing buttons by display id. */
+    private final SparseArray<RestartActivityButton> mActiveButtons = new SparseArray<>(1);
+    /** Avoid creating display context frequently for non-default display. */
+    private final SparseArray<WeakReference<Context>> mDisplayContextCache = new SparseArray<>(0);
+
+    /** Only show once automatically in the process life. */
+    private boolean mHasShownHint;
+
+    public SizeCompatModeActivityController() {
+        this(ActivityManagerWrapper.getInstance());
+    }
+
+    @VisibleForTesting
+    SizeCompatModeActivityController(ActivityManagerWrapper am) {
+        am.registerTaskStackListener(new TaskStackChangeListener() {
+            @Override
+            public void onSizeCompatModeActivityChanged(int displayId, IBinder activityToken) {
+                // Note the callback already runs on main thread.
+                updateRestartButton(displayId, activityToken);
+            }
+        });
+    }
+
+    @Override
+    public void start() {
+        SysUiServiceProvider.getComponent(mContext, CommandQueue.class).addCallback(this);
+    }
+
+    @Override
+    public void setImeWindowStatus(int displayId, IBinder token, int vis, int backDisposition,
+            boolean showImeSwitcher) {
+        RestartActivityButton button = mActiveButtons.get(displayId);
+        if (button == null) {
+            return;
+        }
+        boolean imeShown = (vis & InputMethodService.IME_VISIBLE) != 0;
+        int newVisibility = imeShown ? View.GONE : View.VISIBLE;
+        // Hide the button when input method is showing.
+        if (button.getVisibility() != newVisibility) {
+            button.setVisibility(newVisibility);
+        }
+    }
+
+    @Override
+    public void onDisplayRemoved(int displayId) {
+        mDisplayContextCache.remove(displayId);
+        removeRestartButton(displayId);
+    }
+
+    private void removeRestartButton(int displayId) {
+        RestartActivityButton button = mActiveButtons.get(displayId);
+        if (button != null) {
+            button.remove();
+            mActiveButtons.remove(displayId);
+        }
+    }
+
+    private void updateRestartButton(int displayId, IBinder activityToken) {
+        if (activityToken == null) {
+            // Null token means the current foreground activity is not in size compatibility mode.
+            removeRestartButton(displayId);
+            return;
+        }
+
+        RestartActivityButton restartButton = mActiveButtons.get(displayId);
+        if (restartButton != null) {
+            restartButton.updateLastTargetActivity(activityToken);
+            return;
+        }
+
+        Context context = getOrCreateDisplayContext(displayId);
+        if (context == null) {
+            Log.i(TAG, "Cannot get context for display " + displayId);
+            return;
+        }
+
+        restartButton = createRestartButton(context);
+        restartButton.updateLastTargetActivity(activityToken);
+        restartButton.show();
+        mActiveButtons.append(displayId, restartButton);
+    }
+
+    @VisibleForTesting
+    RestartActivityButton createRestartButton(Context context) {
+        RestartActivityButton button = new RestartActivityButton(context, mHasShownHint);
+        mHasShownHint = true;
+        return button;
+    }
+
+    private Context getOrCreateDisplayContext(int displayId) {
+        if (displayId == Display.DEFAULT_DISPLAY) {
+            return mContext;
+        }
+        Context context = null;
+        WeakReference<Context> ref = mDisplayContextCache.get(displayId);
+        if (ref != null) {
+            context = ref.get();
+        }
+        if (context == null) {
+            Display display = mContext.getSystemService(DisplayManager.class).getDisplay(displayId);
+            if (display != null) {
+                context = mContext.createDisplayContext(display);
+                mDisplayContextCache.put(displayId, new WeakReference<Context>(context));
+            }
+        }
+        return context;
+    }
+
+    @VisibleForTesting
+    static class RestartActivityButton extends ImageButton implements View.OnClickListener,
+            View.OnLongClickListener {
+
+        final WindowManager.LayoutParams mWinParams;
+        final boolean mShouldShowHint;
+        IBinder mLastActivityToken;
+
+        final int mPopupOffsetX;
+        final int mPopupOffsetY;
+        PopupWindow mShowingHint;
+
+        RestartActivityButton(Context context, boolean hasShownHint) {
+            super(context);
+            mShouldShowHint = !hasShownHint;
+            Drawable drawable = context.getDrawable(R.drawable.btn_restart);
+            setImageDrawable(drawable);
+            setContentDescription(context.getString(R.string.restart_button_description));
+
+            int drawableW = drawable.getIntrinsicWidth();
+            int drawableH = drawable.getIntrinsicHeight();
+            mPopupOffsetX = drawableW / 2;
+            mPopupOffsetY = drawableH * 2;
+
+            ColorStateList color = ColorStateList.valueOf(Color.LTGRAY);
+            GradientDrawable mask = new GradientDrawable();
+            mask.setShape(GradientDrawable.OVAL);
+            mask.setColor(color);
+            setBackground(new RippleDrawable(color, null /* content */, mask));
+            setOnClickListener(this);
+            setOnLongClickListener(this);
+
+            mWinParams = new WindowManager.LayoutParams();
+            mWinParams.gravity = getGravity(getResources().getConfiguration().getLayoutDirection());
+            mWinParams.width = drawableW * 2;
+            mWinParams.height = drawableH * 2;
+            mWinParams.type = WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY;
+            mWinParams.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
+                    | WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
+            mWinParams.format = PixelFormat.TRANSLUCENT;
+            mWinParams.privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS;
+            mWinParams.setTitle(SizeCompatModeActivityController.class.getSimpleName()
+                    + context.getDisplayId());
+        }
+
+        void updateLastTargetActivity(IBinder activityToken) {
+            mLastActivityToken = activityToken;
+        }
+
+        void show() {
+            getContext().getSystemService(WindowManager.class).addView(this, mWinParams);
+        }
+
+        void remove() {
+            getContext().getSystemService(WindowManager.class).removeViewImmediate(this);
+        }
+
+        @Override
+        public void onClick(View v) {
+            try {
+                ActivityTaskManager.getService().restartActivityProcessIfVisible(
+                        mLastActivityToken);
+            } catch (RemoteException e) {
+                Log.w(TAG, "Unable to restart activity", e);
+            }
+        }
+
+        @Override
+        public boolean onLongClick(View v) {
+            showHint();
+            return true;
+        }
+
+        @Override
+        protected void onAttachedToWindow() {
+            super.onAttachedToWindow();
+            if (mShouldShowHint) {
+                showHint();
+            }
+        }
+
+        @Override
+        public void setLayoutDirection(int layoutDirection) {
+            int gravity = getGravity(layoutDirection);
+            if (mWinParams.gravity != gravity) {
+                mWinParams.gravity = gravity;
+                if (mShowingHint != null) {
+                    mShowingHint.dismiss();
+                    showHint();
+                }
+                getContext().getSystemService(WindowManager.class).updateViewLayout(this,
+                        mWinParams);
+            }
+            super.setLayoutDirection(layoutDirection);
+        }
+
+        void showHint() {
+            if (mShowingHint != null) {
+                return;
+            }
+
+            View popupView = LayoutInflater.from(getContext()).inflate(
+                    R.layout.size_compat_mode_hint, null /* root */);
+            PopupWindow popupWindow = new PopupWindow(popupView,
+                    LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
+            popupWindow.setElevation(getResources().getDimension(R.dimen.bubble_elevation));
+            popupWindow.setAnimationStyle(android.R.style.Animation_InputMethod);
+            popupWindow.setClippingEnabled(false);
+            popupWindow.setOnDismissListener(() -> mShowingHint = null);
+            mShowingHint = popupWindow;
+
+            Button gotItButton = popupView.findViewById(R.id.got_it);
+            gotItButton.setBackground(new RippleDrawable(ColorStateList.valueOf(Color.LTGRAY),
+                    null /* content */, null /* mask */));
+            gotItButton.setOnClickListener(view -> popupWindow.dismiss());
+            popupWindow.showAtLocation(this, mWinParams.gravity, mPopupOffsetX, mPopupOffsetY);
+        }
+
+        private static int getGravity(int layoutDirection) {
+            return Gravity.BOTTOM
+                    | (layoutDirection == View.LAYOUT_DIRECTION_RTL ? Gravity.START : Gravity.END);
+        }
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java b/packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java
index c013df3..ace086f 100644
--- a/packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/appops/AppOpsControllerImpl.java
@@ -20,6 +20,7 @@
 
 import android.app.AppOpsManager;
 import android.content.Context;
+import android.content.pm.PackageManager;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.UserHandle;
@@ -203,26 +204,37 @@
     }
 
     /**
+     * Does the app-op item refer to a user sensitive permission. Only user sensitive permission
+     * should be shown to the user by default.
+     *
+     * @param item The item
+     *
+     * @return {@code true} iff the app-op item is user sensitive
+     */
+    private boolean isUserSensitive(AppOpItem item) {
+        String permission = AppOpsManager.opToPermission(item.getCode());
+        if (permission == null) {
+            return false;
+        }
+        int permFlags = mContext.getPackageManager().getPermissionFlags(permission,
+                item.getPackageName(), UserHandle.getUserHandleForUid(item.getUid()));
+        return (permFlags & PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED) != 0;
+    }
+
+    /**
      * Returns a copy of the list containing all the active AppOps that the controller tracks.
      *
      * @return List of active AppOps information
      */
     public List<AppOpItem> getActiveAppOps() {
-        ArrayList<AppOpItem> active;
-        synchronized (mActiveItems) {
-            active = new ArrayList<>(mActiveItems);
-        }
-        synchronized (mNotedItems) {
-            active.addAll(mNotedItems);
-        }
-        return active;
+        return getActiveAppOpsForUser(UserHandle.USER_ALL);
     }
 
     /**
      * Returns a copy of the list containing all the active AppOps that the controller tracks, for
      * a given user id.
      *
-     * @param userId User id to track
+     * @param userId User id to track, can be {@link UserHandle#USER_ALL}
      *
      * @return List of active AppOps information for that user id
      */
@@ -232,7 +244,8 @@
             final int numActiveItems = mActiveItems.size();
             for (int i = 0; i < numActiveItems; i++) {
                 AppOpItem item = mActiveItems.get(i);
-                if (UserHandle.getUserId(item.getUid()) == userId) {
+                if ((userId == UserHandle.USER_ALL || UserHandle.getUserId(item.getUid()) == userId)
+                        && isUserSensitive(item)) {
                     list.add(item);
                 }
             }
@@ -241,7 +254,8 @@
             final int numNotedItems = mNotedItems.size();
             for (int i = 0; i < numNotedItems; i++) {
                 AppOpItem item = mNotedItems.get(i);
-                if (UserHandle.getUserId(item.getUid()) == userId) {
+                if ((userId == UserHandle.USER_ALL || UserHandle.getUserId(item.getUid()) == userId)
+                        && isUserSensitive(item)) {
                     list.add(item);
                 }
             }
diff --git a/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java b/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java
index 83398cf..97a277b 100644
--- a/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java
+++ b/packages/SystemUI/src/com/android/systemui/assist/AssistManager.java
@@ -14,6 +14,7 @@
 import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.graphics.PixelFormat;
+import android.graphics.Rect;
 import android.os.AsyncTask;
 import android.os.Binder;
 import android.os.Bundle;
@@ -173,6 +174,26 @@
         startAssistInternal(args, assistComponent, isService);
     }
 
+    /**
+     * Returns a {@code Rect} containing system UI presented on behalf of the assistant that
+     * consumes touches.
+     */
+    @Nullable
+    public Rect getTouchableRegion() {
+        // intentional no-op, vendor's AssistManager implementation should override if needed.
+        return null;
+    }
+
+    /** Registers a listener for changes to system UI presented on behalf of the assistant. */
+    public void setAssistSysUiChangeListener(AssistSysUiChangeListener listener) {
+        // intentional no-op, vendor's AssistManager implementation should override if needed.
+    }
+
+    /** Returns {@code true} if the system UI is showing UI for the assistant. */
+    public boolean hasAssistUi() {
+        return false;
+    }
+
     public void hideAssist() {
         mAssistUtils.hideCurrentSession();
     }
@@ -315,8 +336,13 @@
     }
 
     @Nullable
+    public ComponentName getAssistInfoForUser(int userId) {
+        return mAssistUtils.getAssistComponentForUser(userId);
+    }
+
+    @Nullable
     private ComponentName getAssistInfo() {
-        return mAssistUtils.getAssistComponentForUser(KeyguardUpdateMonitor.getCurrentUser());
+        return getAssistInfoForUser(KeyguardUpdateMonitor.getCurrentUser());
     }
 
     public void showDisclosure() {
diff --git a/core/java/android/service/textclassifier/ITextLinksCallback.aidl b/packages/SystemUI/src/com/android/systemui/assist/AssistSysUiChangeListener.java
similarity index 63%
rename from core/java/android/service/textclassifier/ITextLinksCallback.aidl
rename to packages/SystemUI/src/com/android/systemui/assist/AssistSysUiChangeListener.java
index a9e0dde..d03afb6 100644
--- a/core/java/android/service/textclassifier/ITextLinksCallback.aidl
+++ b/packages/SystemUI/src/com/android/systemui/assist/AssistSysUiChangeListener.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2018 The Android Open Source Project
+ * 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.
@@ -14,15 +14,14 @@
  * limitations under the License.
  */
 
-package android.service.textclassifier;
-
-import android.view.textclassifier.TextLinks;
+package com.android.systemui.assist;
 
 /**
- * Callback for a TextLinks request.
- * @hide
+ * Used to notify when system UI is showing UI for the assistant.
  */
-oneway interface ITextLinksCallback {
-    void onSuccess(in TextLinks links);
-    void onFailure();
-}
\ No newline at end of file
+public interface AssistSysUiChangeListener {
+
+    /** Called when the visibility of system UI for the assistant has changed. */
+    void onChange(boolean isVisible);
+
+}
diff --git a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogImpl.java b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogImpl.java
index 016b8fe..4028109 100644
--- a/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/biometrics/BiometricDialogImpl.java
@@ -191,32 +191,41 @@
         mCurrentDialogArgs = args;
         final int type = args.argi1;
 
+        // Create a new dialog but do not replace the current one yet.
+        BiometricDialogView newDialog;
         if (type == BiometricAuthenticator.TYPE_FINGERPRINT) {
-            mCurrentDialog = new FingerprintDialogView(mContext, mCallback);
+            newDialog = new FingerprintDialogView(mContext, mCallback);
         } else if (type == BiometricAuthenticator.TYPE_FACE) {
-            mCurrentDialog = new FaceDialogView(mContext, mCallback);
+            newDialog = new FaceDialogView(mContext, mCallback);
         } else {
             Log.e(TAG, "Unsupported type: " + type);
-        }
-
-        if (savedState != null) {
-            mCurrentDialog.restoreState(savedState);
-        }
-
-        if (DEBUG) Log.d(TAG, "handleShowDialog, isAnimatingAway: "
-                + mCurrentDialog.isAnimatingAway() + " type: " + type);
-
-        if (mCurrentDialog.isAnimatingAway()) {
-            mCurrentDialog.forceRemove();
-        } else if (mDialogShowing) {
-            Log.w(TAG, "Dialog already showing");
             return;
         }
+
+        if (DEBUG) Log.d(TAG, "handleShowDialog, "
+                + " savedState: " + savedState
+                + " mCurrentDialog: " + mCurrentDialog
+                + " newDialog: " + newDialog
+                + " type: " + type);
+
+        if (savedState != null) {
+            // SavedState is only non-null if it's from onConfigurationChanged. Restore the state
+            // even though it may be removed / re-created again
+            newDialog.restoreState(savedState);
+        } else if (mCurrentDialog != null && mDialogShowing) {
+            // If somehow we're asked to show a dialog, the old one doesn't need to be animated
+            // away. This can happen if the app cancels and re-starts auth during configuration
+            // change. This is ugly because we also have to do things on onConfigurationChanged
+            // here.
+            mCurrentDialog.forceRemove();
+        }
+
         mReceiver = (IBiometricServiceReceiverInternal) args.arg2;
-        mCurrentDialog.setBundle((Bundle)args.arg1);
-        mCurrentDialog.setRequireConfirmation((boolean) args.arg3);
-        mCurrentDialog.setUserId(args.argi2);
-        mCurrentDialog.setSkipIntro(skipAnimation);
+        newDialog.setBundle((Bundle) args.arg1);
+        newDialog.setRequireConfirmation((boolean) args.arg3);
+        newDialog.setUserId(args.argi2);
+        newDialog.setSkipIntro(skipAnimation);
+        mCurrentDialog = newDialog;
         mWindowManager.addView(mCurrentDialog, mCurrentDialog.getLayoutParams());
         mDialogShowing = true;
     }
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
index 471619e..e0ed111 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleController.java
@@ -23,8 +23,9 @@
 import static com.android.systemui.statusbar.StatusBarState.SHADE;
 import static com.android.systemui.statusbar.notification.NotificationAlertingManager.alertAgain;
 
+import static java.lang.annotation.RetentionPolicy.SOURCE;
+
 import android.annotation.Nullable;
-import android.app.ActivityManager;
 import android.app.ActivityManager.RunningTaskInfo;
 import android.app.ActivityTaskManager;
 import android.app.IActivityTaskManager;
@@ -43,6 +44,7 @@
 import android.view.ViewGroup;
 import android.widget.FrameLayout;
 
+import androidx.annotation.IntDef;
 import androidx.annotation.MainThread;
 
 import com.android.internal.annotations.VisibleForTesting;
@@ -60,7 +62,7 @@
 import com.android.systemui.statusbar.notification.row.NotificationContentInflater.InflationFlag;
 import com.android.systemui.statusbar.phone.StatusBarWindowController;
 
-import java.util.List;
+import java.lang.annotation.Retention;
 
 import javax.inject.Inject;
 import javax.inject.Singleton;
@@ -73,10 +75,22 @@
  */
 @Singleton
 public class BubbleController implements BubbleExpandedView.OnBubbleBlockedListener {
-    private static final int MAX_BUBBLES = 5; // TODO: actually enforce this
 
     private static final String TAG = "BubbleController";
 
+    private static final int MAX_BUBBLES = 5; // TODO: actually enforce this
+
+    @Retention(SOURCE)
+    @IntDef({DISMISS_USER_GESTURE, DISMISS_AGED, DISMISS_TASK_FINISHED, DISMISS_BLOCKED,
+            DISMISS_NOTIF_CANCEL, DISMISS_ACCESSIBILITY_ACTION})
+    @interface DismissReason {}
+    static final int DISMISS_USER_GESTURE = 1;
+    static final int DISMISS_AGED = 2;
+    static final int DISMISS_TASK_FINISHED = 3;
+    static final int DISMISS_BLOCKED = 4;
+    static final int DISMISS_NOTIF_CANCEL = 5;
+    static final int DISMISS_ACCESSIBILITY_ACTION = 6;
+
     // Enables some subset of notifs to automatically become bubbles
     private static final boolean DEBUG_ENABLE_AUTO_BUBBLE = false;
 
@@ -95,12 +109,16 @@
     /** Flag to position the header below the activity view */
     private static final String ENABLE_BUBBLE_FOOTER = "experiment_enable_bubble_footer";
 
+    private static final String BUBBLE_STIFFNESS = "experiment_bubble_stiffness";
+    private static final String BUBBLE_BOUNCINESS = "experiment_bubble_bounciness";
+
     private final Context mContext;
     private final NotificationEntryManager mNotificationEntryManager;
     private final IActivityTaskManager mActivityTaskManager;
     private final BubbleTaskStackListener mTaskStackListener;
     private BubbleStateChangeListener mStateChangeListener;
     private BubbleExpandListener mExpandListener;
+    @Nullable private BubbleStackView.SurfaceSynchronizer mSurfaceSynchronizer;
 
     private BubbleData mBubbleData;
     private BubbleStackView mStackView;
@@ -161,7 +179,12 @@
 
     @Inject
     public BubbleController(Context context, StatusBarWindowController statusBarWindowController,
-            BubbleData data) {
+                            BubbleData data) {
+        this(context, statusBarWindowController, data, null /* synchronizer */);
+    }
+
+    public BubbleController(Context context, StatusBarWindowController statusBarWindowController,
+            BubbleData data, @Nullable BubbleStackView.SurfaceSynchronizer synchronizer) {
         mContext = context;
 
         mNotificationEntryManager = Dependency.get(NotificationEntryManager.class);
@@ -189,6 +212,7 @@
         }
 
         mBubbleData = data;
+        mSurfaceSynchronizer = synchronizer;
     }
 
     /**
@@ -248,11 +272,11 @@
     /**
      * Tell the stack of bubbles to be dismissed, this will remove all of the bubbles in the stack.
      */
-    void dismissStack() {
+    void dismissStack(@DismissReason int reason) {
         if (mStackView == null) {
             return;
         }
-        mStackView.stackDismissed();
+        mStackView.stackDismissed(reason);
 
         updateVisibility();
         mNotificationEntryManager.updateNotifications();
@@ -280,7 +304,7 @@
             mStackView.updateBubble(notif, updatePosition);
         } else {
             if (mStackView == null) {
-                mStackView = new BubbleStackView(mContext, mBubbleData);
+                mStackView = new BubbleStackView(mContext, mBubbleData, mSurfaceSynchronizer);
                 ViewGroup sbv = mStatusBarWindowController.getStatusBarView();
                 // XXX: Bug when you expand the shade on top of expanded bubble, there is no scrim
                 // between bubble and the shade
@@ -304,9 +328,9 @@
      * Must be called from the main thread.
      */
     @MainThread
-    void removeBubble(String key) {
+    void removeBubble(String key, int reason) {
         if (mStackView != null) {
-            mStackView.removeBubble(key);
+            mStackView.removeBubble(key, reason);
         }
         mNotificationEntryManager.updateNotifications();
         updateVisibility();
@@ -320,7 +344,7 @@
             boolean samePackage = entry.notification.getPackageName().equals(
                     e.notification.getPackageName());
             if (samePackage) {
-                removeBubble(entry.key);
+                removeBubble(entry.key, DISMISS_BLOCKED);
             }
         }
     }
@@ -377,7 +401,7 @@
             }
             if (!removedByUser) {
                 // This was a cancel so we should remove the bubble
-                removeBubble(entry.key);
+                removeBubble(entry.key, DISMISS_NOTIF_CANCEL);
             }
         }
     };
@@ -488,24 +512,6 @@
     @MainThread
     private class BubbleTaskStackListener extends TaskStackChangeListener {
 
-        @Nullable
-        private ActivityManager.StackInfo findStackInfo(int taskId) throws RemoteException {
-            final List<ActivityManager.StackInfo> stackInfoList =
-                    mActivityTaskManager.getAllStackInfos();
-            // Iterate through stacks from top to bottom.
-            final int stackCount = stackInfoList.size();
-            for (int stackIndex = 0; stackIndex < stackCount; stackIndex++) {
-                final ActivityManager.StackInfo stackInfo = stackInfoList.get(stackIndex);
-                // Iterate through tasks from top to bottom.
-                for (int taskIndex = stackInfo.taskIds.length - 1; taskIndex >= 0; taskIndex--) {
-                    if (stackInfo.taskIds[taskIndex] == taskId) {
-                        return stackInfo;
-                    }
-                }
-            }
-            return null;
-        }
-
         @Override
         public void onTaskMovedToFront(RunningTaskInfo taskInfo) {
             if (mStackView != null && taskInfo.displayId == Display.DEFAULT_DISPLAY) {
@@ -513,15 +519,8 @@
             }
         }
 
-        /**
-         * This is a workaround for the case when the activity had to be created in a new task.
-         * Existing code in ActivityStackSupervisor checks the display where the activity
-         * ultimately ended up, displays an error message toast, and calls this method instead of
-         * onTaskMovedToFront.
-         */
         @Override
-        public void onActivityLaunchOnSecondaryDisplayFailed(RunningTaskInfo taskInfo) {
-            // TODO(b/124058588): move to ActivityView.StateCallback, filter on virtualDisplay ID
+        public void onActivityLaunchOnSecondaryDisplayRerouted() {
             if (mStackView != null) {
                 mStackView.collapseStack();
             }
@@ -569,6 +568,20 @@
                 ENABLE_BUBBLE_FOOTER, 0) != 0;
     }
 
+    /** Default stiffness to use for bubble physics animations. */
+    public static int getBubbleStiffness(Context context, int defaultStiffness) {
+        return Settings.Secure.getInt(
+                context.getContentResolver(), BUBBLE_STIFFNESS, defaultStiffness);
+    }
+
+    /** Default bounciness/damping ratio to use for bubble physics animations. */
+    public static float getBubbleBounciness(Context context, float defaultBounciness) {
+        return Settings.Secure.getInt(
+                context.getContentResolver(),
+                BUBBLE_BOUNCINESS,
+                (int) (defaultBounciness * 100)) / 100f;
+    }
+
     /** PinnedStackListener that dispatches IME visibility updates to the stack. */
     private class BubblesImeListener extends IPinnedStackListener.Stub {
 
@@ -582,12 +595,9 @@
                 int displayRotation) throws RemoteException {}
 
         @Override
-        public void onImeVisibilityChanged(boolean imeVisible, int imeHeight)
-                throws RemoteException {
-            if (mStackView != null) {
-                mStackView.post(() -> {
-                    mStackView.onImeVisibilityChanged(imeVisible, imeHeight);
-                });
+        public void onImeVisibilityChanged(boolean imeVisible, int imeHeight) {
+            if (mStackView != null && mStackView.getBubbleCount() > 0) {
+                mStackView.post(() -> mStackView.onImeVisibilityChanged(imeVisible, imeHeight));
             }
         }
 
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java
index 5002f5c..3609835 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleData.java
@@ -17,6 +17,7 @@
 
 import androidx.annotation.Nullable;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
 
 import java.util.Collection;
@@ -29,12 +30,13 @@
  * Keeps track of active bubbles.
  */
 @Singleton
-class BubbleData {
+public class BubbleData {
 
     private HashMap<String, Bubble> mBubbles = new HashMap<>();
 
+    @VisibleForTesting
     @Inject
-    BubbleData() {}
+    public BubbleData() {}
 
     /**
      * The set of bubbles.
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java
index 603b3b9..856b9d6 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleExpandedView.java
@@ -49,6 +49,7 @@
 import android.util.Log;
 import android.util.StatsLog;
 import android.view.View;
+import android.view.ViewGroup;
 import android.view.WindowInsets;
 import android.widget.FrameLayout;
 import android.widget.ImageButton;
@@ -134,7 +135,8 @@
         public void onTaskRemovalStarted(int taskId) {
             if (mEntry != null) {
                 // Must post because this is called from a binder thread.
-                post(() -> mBubbleController.removeBubble(mEntry.key));
+                post(() -> mBubbleController.removeBubble(mEntry.key,
+                        BubbleController.DISMISS_TASK_FINISHED));
             }
         }
     };
@@ -316,8 +318,25 @@
     /**
      * Lets activity view know it should be shown / populated.
      */
-    public void populateActivityView() {
-        mActivityView.setCallback(mStateCallback);
+    public void populateExpandedView() {
+        if (usingActivityView()) {
+            mActivityView.setCallback(mStateCallback);
+        } else {
+            // We're using notification template
+            ViewGroup parent = (ViewGroup) mNotifRow.getParent();
+            if (parent == this) {
+                // Already added
+                return;
+            } else if (parent != null) {
+                // Still in the shade... remove it
+                parent.removeView(mNotifRow);
+            }
+            if (mShowOnTop) {
+                addView(mNotifRow);
+            } else {
+                addView(mNotifRow, mUseFooter ? 0 : 1);
+            }
+        }
     }
 
     /**
@@ -376,14 +395,8 @@
         } else {
             // Hide activity view if we had it previously
             mActivityView.setVisibility(GONE);
-
-            // Use notification view
             mNotifRow = mEntry.getRow();
-            if (mShowOnTop) {
-                addView(mNotifRow);
-            } else {
-                addView(mNotifRow, mUseFooter ? 0 : 1);
-            }
+
         }
         updateView();
     }
@@ -516,7 +529,9 @@
     /**
      * Removes and releases an ActivityView if one was previously created for this bubble.
      */
-    public void destroyActivityView() {
+    public void cleanUpExpandedState() {
+        removeView(mNotifRow);
+
         if (mActivityView == null) {
             return;
         }
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
index 8235d8d..1cc6b87 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleStackView.java
@@ -19,6 +19,9 @@
 import static android.view.ViewGroup.LayoutParams.MATCH_PARENT;
 import static android.view.ViewGroup.LayoutParams.WRAP_CONTENT;
 
+import android.annotation.NonNull;
+import android.app.Notification;
+import android.app.PendingIntent;
 import android.content.Context;
 import android.content.res.Resources;
 import android.graphics.Outline;
@@ -26,9 +29,11 @@
 import android.graphics.PointF;
 import android.graphics.Rect;
 import android.graphics.RectF;
+import android.os.Bundle;
 import android.service.notification.StatusBarNotification;
 import android.util.Log;
 import android.util.StatsLog;
+import android.view.Choreographer;
 import android.view.LayoutInflater;
 import android.view.MotionEvent;
 import android.view.View;
@@ -36,6 +41,7 @@
 import android.view.ViewTreeObserver;
 import android.view.WindowInsets;
 import android.view.WindowManager;
+import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.FrameLayout;
 
 import androidx.annotation.MainThread;
@@ -47,6 +53,7 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.widget.ViewClippingUtil;
 import com.android.systemui.R;
+import com.android.systemui.bubbles.BubbleController.DismissReason;
 import com.android.systemui.bubbles.animation.ExpandedAnimationController;
 import com.android.systemui.bubbles.animation.PhysicsAnimationLayout;
 import com.android.systemui.bubbles.animation.StackAnimationController;
@@ -60,26 +67,44 @@
  */
 public class BubbleStackView extends FrameLayout {
     private static final String TAG = "BubbleStackView";
+    private static final boolean DEBUG = false;
 
     /**
-     * Friction applied to fling animations. Since the stack must land on one of the sides of the
-     * screen, we want less friction horizontally so that the stack has a better chance of making it
-     * to the side without needing a spring.
+     * Interface to synchronize {@link View} state and the screen.
+     *
+     * {@hide}
      */
-    private static final float FLING_FRICTION_X = 1.15f;
-    private static final float FLING_FRICTION_Y = 1.5f;
+    interface SurfaceSynchronizer {
+        /**
+         * Wait until requested change on a {@link View} is reflected on the screen.
+         *
+         * @param callback callback to run after the change is reflected on the screen.
+         */
+        void syncSurfaceAndRun(Runnable callback);
+    }
 
-    /**
-     * Damping ratio to use for the stack spring animation used to spring the stack to its final
-     * position after a fling.
-     */
-    private static final float SPRING_DAMPING_RATIO = 0.85f;
+    private static final SurfaceSynchronizer DEFAULT_SURFACE_SYNCHRONIZER =
+            new SurfaceSynchronizer() {
+        @Override
+        public void syncSurfaceAndRun(Runnable callback) {
+            Choreographer.getInstance().postFrameCallback(new Choreographer.FrameCallback() {
+                // Just wait 2 frames. There is no guarantee, but this is usually enough time that
+                // the requested change is reflected on the screen.
+                // TODO: Once SurfaceFlinger provide APIs to sync the state of {@code View} and
+                // surfaces, rewrite this logic with them.
+                private int mFrameWait = 2;
 
-    /**
-     * Minimum fling velocity required to trigger moving the stack from one side of the screen to
-     * the other.
-     */
-    private static final float ESCAPE_VELOCITY = 750f;
+                @Override
+                public void doFrame(long frameTimeNanos) {
+                    if (--mFrameWait > 0) {
+                        Choreographer.getInstance().postFrameCallback(this);
+                    } else {
+                        callback.run();
+                    }
+                }
+            });
+        }
+    };
 
     private Point mDisplaySize;
 
@@ -93,7 +118,6 @@
 
     private FrameLayout mExpandedViewContainer;
 
-
     private int mBubbleSize;
     private int mBubblePadding;
     private int mExpandedAnimateXDistance;
@@ -143,7 +167,11 @@
         }
     };
 
-    public BubbleStackView(Context context, BubbleData data) {
+    @NonNull private final SurfaceSynchronizer mSurfaceSynchronizer;
+
+
+    public BubbleStackView(Context context, BubbleData data,
+                           @Nullable SurfaceSynchronizer synchronizer) {
         super(context);
 
         mBubbleData = data;
@@ -174,6 +202,7 @@
 
         mStackAnimationController = new StackAnimationController();
         mExpandedAnimationController = new ExpandedAnimationController(mDisplaySize);
+        mSurfaceSynchronizer = synchronizer != null ? synchronizer : DEFAULT_SURFACE_SYNCHRONIZER;
 
         mBubbleContainer = new PhysicsAnimationLayout(context);
         mBubbleContainer.setMaxRenderedChildren(
@@ -205,11 +234,16 @@
                         .setDampingRatio(SpringForce.DAMPING_RATIO_LOW_BOUNCY));
 
         setClipChildren(false);
-
+        setFocusable(true);
         mBubbleContainer.bringToFront();
     }
 
     @Override
+    public void getBoundsOnScreen(Rect outRect, boolean clipToParent) {
+        getBoundsOnScreen(outRect);
+    }
+
+    @Override
     protected void onDetachedFromWindow() {
         super.onDetachedFromWindow();
         getViewTreeObserver().removeOnPreDrawListener(mViewUpdater);
@@ -227,6 +261,36 @@
         }
     }
 
+    @Override
+    public void onInitializeAccessibilityNodeInfoInternal(AccessibilityNodeInfo info) {
+        super.onInitializeAccessibilityNodeInfoInternal(info);
+        info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_DISMISS);
+        if (mIsExpanded) {
+            info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_COLLAPSE);
+        } else {
+            info.addAction(AccessibilityNodeInfo.AccessibilityAction.ACTION_EXPAND);
+        }
+    }
+
+    @Override
+    public boolean performAccessibilityActionInternal(int action, Bundle arguments) {
+        if (super.performAccessibilityActionInternal(action, arguments)) {
+            return true;
+        }
+        switch (action) {
+            case AccessibilityNodeInfo.ACTION_DISMISS:
+                stackDismissed(BubbleController.DISMISS_ACCESSIBILITY_ACTION);
+                return true;
+            case AccessibilityNodeInfo.ACTION_COLLAPSE:
+                collapseStack();
+                return true;
+            case AccessibilityNodeInfo.ACTION_EXPAND:
+                expandStack();
+                return true;
+        }
+        return false;
+    }
+
     /**
      * Updates the visibility of the 'dot' indicating an update on the bubble.
      * @param key the {@link NotificationEntry#key} associated with the bubble.
@@ -293,17 +357,28 @@
             // If we weren't previously expanded we should animate open.
             animateExpansion(true /* expand */);
             logBubbleEvent(mExpandedBubble, StatsLog.BUBBLE_UICHANGED__ACTION__EXPANDED);
+            mExpandedBubble.entry.setShowInShadeWhenBubble(false);
+            notifyExpansionChanged(mExpandedBubble.entry, true /* expanded */);
         } else {
-            // Otherwise just update the views
-            // TODO: probably animate / page to expanded one
-            updateExpandedBubble();
-            updatePointerPosition();
-            requestUpdate();
-            logBubbleEvent(prevBubble, StatsLog.BUBBLE_UICHANGED__ACTION__COLLAPSED);
-            logBubbleEvent(mExpandedBubble, StatsLog.BUBBLE_UICHANGED__ACTION__EXPANDED);
+            // Make the container of the expanded view transparent before removing the expanded view
+            // from it. Otherwise a punch hole created by {@link android.view.SurfaceView} in the
+            // expanded view becomes visible on the screen. See b/126856255
+            mExpandedViewContainer.setAlpha(0.0f);
+
+            mSurfaceSynchronizer.syncSurfaceAndRun(new Runnable() {
+                @Override
+                public void run() {
+                    updateExpandedBubble();
+                    updatePointerPosition();
+                    requestUpdate();
+                    logBubbleEvent(prevBubble, StatsLog.BUBBLE_UICHANGED__ACTION__COLLAPSED);
+                    logBubbleEvent(mExpandedBubble,
+                            StatsLog.BUBBLE_UICHANGED__ACTION__EXPANDED);
+                    mExpandedBubble.entry.setShowInShadeWhenBubble(false);
+                    notifyExpansionChanged(mExpandedBubble.entry, true /* expanded */);
+                }
+            });
         }
-        mExpandedBubble.entry.setShowInShadeWhenBubble(false);
-        notifyExpansionChanged(mExpandedBubble.entry, true /* expanded */);
     }
 
     /**
@@ -339,18 +414,12 @@
     /**
      * Remove a bubble from the stack.
      */
-    public void removeBubble(String key) {
+    public void removeBubble(String key, int reason) {
         Bubble b = mBubbleData.removeBubble(key);
         if (b == null) {
             return;
         }
-        b.entry.setBubbleDismissed(true);
-
-        // Remove it from the views
-        int removedIndex = mBubbleContainer.indexOfChild(b.iconView);
-        b.expandedView.destroyActivityView();
-        mBubbleContainer.removeView(b.iconView);
-
+        int removedIndex = dismissBubble(b, reason);
         int bubbleCount = mBubbleContainer.getChildCount();
         if (bubbleCount == 0) {
             // If no bubbles remain, collapse the entire stack.
@@ -368,26 +437,65 @@
                 mExpandedBubble = null;
             }
         }
+        // TODO: consider logging reason code
         logBubbleEvent(b, StatsLog.BUBBLE_UICHANGED__ACTION__DISMISSED);
     }
 
     /**
      * Dismiss the stack of bubbles.
      */
-    public void stackDismissed() {
+    public void stackDismissed(int reason) {
         for (Bubble bubble : mBubbleData.getBubbles()) {
-            bubble.entry.setBubbleDismissed(true);
-            bubble.expandedView.destroyActivityView();
+            dismissBubble(bubble, reason);
         }
         mBubbleData.clear();
         collapseStack();
         mBubbleContainer.removeAllViews();
         mExpandedViewContainer.removeAllViews();
+        // TODO: consider logging reason code
         logBubbleEvent(null /* no bubble associated with bubble stack dismiss */,
                 StatsLog.BUBBLE_UICHANGED__ACTION__STACK_DISMISSED);
     }
 
     /**
+     * Marks the notification entry as dismissed, cleans up Bubble icon and expanded view UI
+     * elements and calls deleteIntent if necessary.
+     *
+     * <p>Note: This does not remove the Bubble from BubbleData.
+     *
+     * @param bubble the Bubble being dismissed
+     * @param reason code for the reason the dismiss was triggered
+     * @see BubbleController.DismissReason
+     */
+    private int dismissBubble(Bubble bubble, @DismissReason int reason) {
+        if (DEBUG) {
+            Log.d(TAG, "dismissBubble: " + bubble + " reason=" + reason);
+        }
+        bubble.entry.setBubbleDismissed(true);
+        bubble.expandedView.cleanUpExpandedState();
+
+        // Remove it from the views
+        int removedIndex = mBubbleContainer.indexOfChild(bubble.iconView);
+        mBubbleContainer.removeViewAt(removedIndex);
+
+        if (reason == BubbleController.DISMISS_USER_GESTURE) {
+            Notification.BubbleMetadata bubbleMetadata = bubble.entry.getBubbleMetadata();
+            PendingIntent deleteIntent = bubbleMetadata != null
+                    ? bubbleMetadata.getDeleteIntent()
+                    : null;
+            if (deleteIntent != null) {
+                try {
+                    deleteIntent.send();
+                } catch (PendingIntent.CanceledException e) {
+                    Log.w(TAG, "Failed to send delete intent for bubble with key: "
+                            + (bubble.entry != null ? bubble.entry.key : " null entry"));
+                }
+            }
+        }
+        return removedIndex;
+    }
+
+    /**
      * Updates a bubble in the stack.
      *
      * @param entry the entry to update in the stack.
@@ -458,7 +566,7 @@
     }
 
     /**
-     * Expands the stack fo bubbles.
+     * Expands the stack of bubbles.
      * <p>
      * Must be called from the main thread.
      */
@@ -491,7 +599,9 @@
             if (shouldExpand) {
                 mBubbleContainer.setController(mExpandedAnimationController);
                 mExpandedAnimationController.expandFromStack(
-                        mStackAnimationController.getStackPosition(),
+                        /* collapseTo */
+                        mStackAnimationController.getStackPositionAlongNearestHorizontalEdge(),
+                        /* after */
                         () -> {
                             updatePointerPosition();
                             updateAfter.run();
@@ -614,50 +724,7 @@
             return;
         }
 
-        final boolean stackOnLeftSide = x
-                - mBubbleContainer.getChildAt(0).getWidth() / 2
-                < mDisplaySize.x / 2;
-
-        final boolean stackShouldFlingLeft = stackOnLeftSide
-                ? velX < ESCAPE_VELOCITY
-                : velX < -ESCAPE_VELOCITY;
-
-        final RectF stackBounds = mStackAnimationController.getAllowableStackPositionRegion();
-
-        // Target X translation (either the left or right side of the screen).
-        final float destinationRelativeX = stackShouldFlingLeft
-                ? stackBounds.left : stackBounds.right;
-
-        // Minimum velocity required for the stack to make it to the side of the screen.
-        final float escapeVelocity = getMinXVelocity(
-                x,
-                destinationRelativeX,
-                FLING_FRICTION_X);
-
-        // Use the touch event's velocity if it's sufficient, otherwise use the minimum velocity so
-        // that it'll make it all the way to the side of the screen.
-        final float startXVelocity = stackShouldFlingLeft
-                ? Math.min(escapeVelocity, velX)
-                : Math.max(escapeVelocity, velX);
-
-        mStackAnimationController.flingThenSpringFirstBubbleWithStackFollowing(
-                DynamicAnimation.TRANSLATION_X,
-                startXVelocity,
-                FLING_FRICTION_X,
-                new SpringForce()
-                        .setStiffness(SpringForce.STIFFNESS_LOW)
-                        .setDampingRatio(SPRING_DAMPING_RATIO),
-                destinationRelativeX);
-
-        mStackAnimationController.flingThenSpringFirstBubbleWithStackFollowing(
-                DynamicAnimation.TRANSLATION_Y,
-                velY,
-                FLING_FRICTION_Y,
-                new SpringForce()
-                        .setStiffness(SpringForce.STIFFNESS_LOW)
-                        .setDampingRatio(SPRING_DAMPING_RATIO),
-                /* destination */ null);
-
+        mStackAnimationController.flingStackThenSpringToEdge(x, velX, velY);
         logBubbleEvent(null /* no bubble associated with bubble stack move */,
                 StatsLog.BUBBLE_UICHANGED__ACTION__STACK_MOVED);
     }
@@ -702,24 +769,12 @@
         }
     }
 
-    /**
-     * Minimum velocity, in pixels/second, required to get from x to destX while being slowed by a
-     * given frictional force.
-     *
-     * This is not derived using real math, I just made it up because the math in FlingAnimation
-     * looks hard and this seems to work. It doesn't actually matter because if it doesn't make it
-     * to the edge via Fling, it'll get Spring'd there anyway.
-     *
-     * TODO(tsuji, or someone who likes math): Figure out math.
-     */
-    private float getMinXVelocity(float x, float destX, float friction) {
-        return (destX - x) * (friction * 5) + ESCAPE_VELOCITY;
-    }
-
     @Override
     public void getBoundsOnScreen(Rect outRect) {
         if (!mIsExpanded) {
-            mBubbleContainer.getChildAt(0).getBoundsOnScreen(outRect);
+            if (mBubbleContainer.getChildCount() > 0) {
+                mBubbleContainer.getChildAt(0).getBoundsOnScreen(outRect);
+            }
         } else {
             mBubbleContainer.getBoundsOnScreen(outRect);
         }
@@ -766,8 +821,9 @@
         mExpandedViewContainer.removeAllViews();
         if (mExpandedBubble != null && mIsExpanded) {
             mExpandedViewContainer.addView(mExpandedBubble.expandedView);
-            mExpandedBubble.expandedView.populateActivityView();
+            mExpandedBubble.expandedView.populateExpandedView();
             mExpandedViewContainer.setVisibility(mIsExpanded ? VISIBLE : GONE);
+            mExpandedViewContainer.setAlpha(1.0f);
         }
     }
 
@@ -776,8 +832,12 @@
 
         mExpandedViewContainer.setVisibility(mIsExpanded ? VISIBLE : GONE);
         if (mIsExpanded) {
+            // First update the view so that it calculates a new height (ensuring the y position
+            // calculation is correct)
+            mExpandedBubble.expandedView.updateView();
             final float y = getYPositionForExpandedView();
             mExpandedViewContainer.setTranslationY(y);
+            // Then update the view so that ActivityView knows we translated
             mExpandedBubble.expandedView.updateView();
         }
 
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleTouchHandler.java b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleTouchHandler.java
index c8eebac..a7170d0 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/BubbleTouchHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/BubbleTouchHandler.java
@@ -140,7 +140,7 @@
             case MotionEvent.ACTION_UP:
                 trackMovement(event);
                 if (mInDismissTarget && isStack) {
-                    mController.dismissStack();
+                    mController.dismissStack(BubbleController.DISMISS_USER_GESTURE);
                 } else if (mMovedEnough) {
                     mVelocityTracker.computeCurrentVelocity(/* maxVelocity */ 1000);
                     final float velX = mVelocityTracker.getXVelocity();
@@ -152,7 +152,8 @@
                         mStack.onBubbleDragFinish(
                                 mTouchedView, viewX, viewY, velX, velY, /* dismissed */ dismissed);
                         if (dismissed) {
-                            mController.removeBubble(((BubbleView) mTouchedView).getKey());
+                            mController.removeBubble(((BubbleView) mTouchedView).getKey(),
+                                    BubbleController.DISMISS_USER_GESTURE);
                         }
                     }
                 } else if (mTouchedView == mStack.getExpandedBubbleView()) {
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java b/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java
index f7896b0..1f29883 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/animation/ExpandedAnimationController.java
@@ -49,11 +49,8 @@
     /** How much to scale down bubbles when they're animating in/out. */
     private static final float ANIMATE_SCALE_PERCENT = 0.5f;
 
-    /**
-     * The stack position from which the bubbles were expanded. Saved in {@link #expandFromStack}
-     * and used to return to stack form in {@link #collapseBackToStack}.
-     */
-    private PointF mExpandedFrom;
+    /** The stack position to collapse back to in {@link #collapseBackToStack}. */
+    private PointF mCollapseToPoint;
 
     /** Horizontal offset between bubbles, which we need to know to re-stack them. */
     private float mStackOffsetPx;
@@ -106,8 +103,8 @@
      *
      * @return The y-value to which the bubbles were expanded, in case that's useful.
      */
-    public float expandFromStack(PointF expandedFrom, Runnable after) {
-        mExpandedFrom = expandedFrom;
+    public float expandFromStack(PointF collapseTo, Runnable after) {
+        mCollapseToPoint = collapseTo;
 
         // How much to translate the next bubble, so that it is not overlapping the previous one.
         float translateNextBubbleXBy = mBubblePaddingPx;
@@ -123,10 +120,11 @@
     /** Animate collapsing the bubbles back to their stacked position. */
     public void collapseBackToStack(Runnable after) {
         // Stack to the left if we're going to the left, or right if not.
-        final float sideMultiplier = mLayout.isFirstChildXLeftOfCenter(mExpandedFrom.x) ? -1 : 1;
+        final float sideMultiplier = mLayout.isFirstChildXLeftOfCenter(mCollapseToPoint.x) ? -1 : 1;
         for (int i = 0; i < mLayout.getChildCount(); i++) {
             mLayout.animatePositionForChildAtIndex(
-                    i, mExpandedFrom.x + (sideMultiplier * i * mStackOffsetPx), mExpandedFrom.y);
+                    i,
+                    mCollapseToPoint.x + (sideMultiplier * i * mStackOffsetPx), mCollapseToPoint.y);
         }
 
         runAfterTranslationsEnd(after);
@@ -268,8 +266,8 @@
     @Override
     SpringForce getSpringForce(DynamicAnimation.ViewProperty property, View view) {
         return new SpringForce()
-                .setStiffness(SpringForce.STIFFNESS_LOW)
-                .setDampingRatio(SpringForce.DAMPING_RATIO_LOW_BOUNCY);
+                .setDampingRatio(SpringForce.DAMPING_RATIO_LOW_BOUNCY)
+                .setStiffness(SpringForce.STIFFNESS_LOW);
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/bubbles/animation/StackAnimationController.java b/packages/SystemUI/src/com/android/systemui/bubbles/animation/StackAnimationController.java
index f47fbe0..3c4bc72 100644
--- a/packages/SystemUI/src/com/android/systemui/bubbles/animation/StackAnimationController.java
+++ b/packages/SystemUI/src/com/android/systemui/bubbles/animation/StackAnimationController.java
@@ -30,6 +30,7 @@
 import androidx.dynamicanimation.animation.SpringForce;
 
 import com.android.systemui.R;
+import com.android.systemui.bubbles.BubbleController;
 
 import com.google.android.collect.Sets;
 
@@ -60,12 +61,35 @@
     private static final float DEFAULT_BOUNCINESS = 0.85f;
 
     /**
+     * Friction applied to fling animations. Since the stack must land on one of the sides of the
+     * screen, we want less friction horizontally so that the stack has a better chance of making it
+     * to the side without needing a spring.
+     */
+    private static final float FLING_FRICTION_X = 1.15f;
+    private static final float FLING_FRICTION_Y = 1.5f;
+
+    /**
+     * Damping ratio to use for the stack spring animation used to spring the stack to its final
+     * position after a fling.
+     */
+    private static final float SPRING_DAMPING_RATIO = 0.85f;
+
+    /**
+     * Minimum fling velocity required to trigger moving the stack from one side of the screen to
+     * the other.
+     */
+    private static final float ESCAPE_VELOCITY = 750f;
+
+    /**
      * The canonical position of the stack. This is typically the position of the first bubble, but
      * we need to keep track of it separately from the first bubble's translation in case there are
      * no bubbles, or the first bubble was just added and being animated to its new position.
      */
     private PointF mStackPosition = new PointF();
 
+    /** The most recent position in which the stack was resting on the edge of the screen. */
+    private PointF mRestingStackPosition;
+
     /** The height of the most recently visible IME. */
     private float mImeHeight = 0f;
 
@@ -134,12 +158,83 @@
     }
 
     /**
+     * Flings the stack starting with the given velocities, springing it to the nearest edge
+     * afterward.
+     */
+    public void flingStackThenSpringToEdge(float x, float velX, float velY) {
+        final boolean stackOnLeftSide = x - mIndividualBubbleSize / 2 < mLayout.getWidth() / 2;
+
+        final boolean stackShouldFlingLeft = stackOnLeftSide
+                ? velX < ESCAPE_VELOCITY
+                : velX < -ESCAPE_VELOCITY;
+
+        final RectF stackBounds = getAllowableStackPositionRegion();
+
+        // Target X translation (either the left or right side of the screen).
+        final float destinationRelativeX = stackShouldFlingLeft
+                ? stackBounds.left : stackBounds.right;
+
+        // Minimum velocity required for the stack to make it to the targeted side of the screen,
+        // taking friction into account (4.2f is the number that friction scalars are multiplied by
+        // in DynamicAnimation.DragForce). This is an estimate - it could possibly be slightly off,
+        // but the SpringAnimation at the end will ensure that it reaches the destination X
+        // regardless.
+        final float minimumVelocityToReachEdge =
+                (destinationRelativeX - x) * (FLING_FRICTION_X * 4.2f);
+
+        // Use the touch event's velocity if it's sufficient, otherwise use the minimum velocity so
+        // that it'll make it all the way to the side of the screen.
+        final float startXVelocity = stackShouldFlingLeft
+                ? Math.min(minimumVelocityToReachEdge, velX)
+                : Math.max(minimumVelocityToReachEdge, velX);
+
+        flingThenSpringFirstBubbleWithStackFollowing(
+                DynamicAnimation.TRANSLATION_X,
+                startXVelocity,
+                FLING_FRICTION_X,
+                new SpringForce()
+                        .setStiffness(SpringForce.STIFFNESS_LOW)
+                        .setDampingRatio(SPRING_DAMPING_RATIO),
+                destinationRelativeX);
+
+        flingThenSpringFirstBubbleWithStackFollowing(
+                DynamicAnimation.TRANSLATION_Y,
+                velY,
+                FLING_FRICTION_Y,
+                new SpringForce()
+                        .setStiffness(SpringForce.STIFFNESS_LOW)
+                        .setDampingRatio(SPRING_DAMPING_RATIO),
+                /* destination */ null);
+
+        mLayout.setEndListenerForProperties(
+                (animation, canceled, value, velocity) -> {
+                    mRestingStackPosition = new PointF();
+                    mRestingStackPosition.set(mStackPosition);
+                    mLayout.removeEndListenerForProperty(DynamicAnimation.TRANSLATION_X);
+                    mLayout.removeEndListenerForProperty(DynamicAnimation.TRANSLATION_Y);
+                },
+                DynamicAnimation.TRANSLATION_X, DynamicAnimation.TRANSLATION_Y);
+    }
+
+    /**
+     * Where the stack would be if it were snapped to the nearest horizontal edge (left or right).
+     */
+    public PointF getStackPositionAlongNearestHorizontalEdge() {
+        final PointF stackPos = getStackPosition();
+        final boolean onLeft = mLayout.isFirstChildXLeftOfCenter(stackPos.x);
+        final RectF bounds = getAllowableStackPositionRegion();
+
+        stackPos.x = onLeft ? bounds.left : bounds.right;
+        return stackPos;
+    }
+
+    /**
      * Flings the first bubble along the given property's axis, using the provided configuration
      * values. When the animation ends - either by hitting the min/max, or by friction sufficiently
      * reducing momentum - a SpringAnimation takes over to snap the bubble to the given final
      * position.
      */
-    public void flingThenSpringFirstBubbleWithStackFollowing(
+    protected void flingThenSpringFirstBubbleWithStackFollowing(
             DynamicAnimation.ViewProperty property,
             float vel,
             float friction,
@@ -325,8 +420,10 @@
     @Override
     SpringForce getSpringForce(DynamicAnimation.ViewProperty property, View view) {
         return new SpringForce()
-                .setDampingRatio(DEFAULT_BOUNCINESS)
-                .setStiffness(DEFAULT_STIFFNESS);
+                .setDampingRatio(BubbleController.getBubbleBounciness(
+                        mLayout.getContext(), DEFAULT_BOUNCINESS))
+                .setStiffness(BubbleController.getBubbleStiffness(
+                        mLayout.getContext(), (int) DEFAULT_STIFFNESS));
     }
 
     @Override
@@ -345,8 +442,7 @@
     @Override
     void onChildRemoved(View child, int index, Runnable finishRemoval) {
         // Animate the child out, actually removing it once its alpha is zero.
-        mLayout.animateValueForChild(
-                DynamicAnimation.ALPHA, child, 0f, finishRemoval);
+        mLayout.animateValueForChild(DynamicAnimation.ALPHA, child, 0f, finishRemoval);
         mLayout.animateValueForChild(DynamicAnimation.SCALE_X, child, ANIMATE_IN_STARTING_SCALE);
         mLayout.animateValueForChild(DynamicAnimation.SCALE_Y, child, ANIMATE_IN_STARTING_SCALE);
 
@@ -363,10 +459,13 @@
     /** Moves the stack, without any animation, to the starting position. */
     private void moveStackToStartPosition(Runnable after) {
         // Post to ensure that the layout's width and height have been calculated.
+        mLayout.setVisibility(View.INVISIBLE);
         mLayout.post(() -> {
             setStackPosition(
-                    getAllowableStackPositionRegion().right,
-                    getAllowableStackPositionRegion().top + mStackStartingVerticalOffset);
+                    mRestingStackPosition == null
+                            ? getDefaultStartPosition()
+                            : mRestingStackPosition);
+            mLayout.setVisibility(View.VISIBLE);
             after.run();
         });
     }
@@ -395,9 +494,9 @@
     }
 
     /** Moves the stack to a position instantly, with no animation. */
-    private void setStackPosition(float x, float y) {
-        Log.d(TAG, String.format("Setting position to (%f, %f).", x, y));
-        mStackPosition.set(x, y);
+    private void setStackPosition(PointF pos) {
+        Log.d(TAG, String.format("Setting position to (%f, %f).", pos.x, pos.y));
+        mStackPosition.set(pos.x, pos.y);
 
         cancelStackPositionAnimations();
 
@@ -405,11 +504,18 @@
         final float xOffset = getOffsetForChainedPropertyAnimation(DynamicAnimation.TRANSLATION_X);
         final float yOffset = getOffsetForChainedPropertyAnimation(DynamicAnimation.TRANSLATION_Y);
         for (int i = 0; i < mLayout.getChildCount(); i++) {
-            mLayout.getChildAt(i).setTranslationX(x + (i * xOffset));
-            mLayout.getChildAt(i).setTranslationY(y + (i * yOffset));
+            mLayout.getChildAt(i).setTranslationX(pos.x + (i * xOffset));
+            mLayout.getChildAt(i).setTranslationY(pos.y + (i * yOffset));
         }
     }
 
+    /** Returns the default stack position, which is on the top right. */
+    private PointF getDefaultStartPosition() {
+        return new PointF(
+                getAllowableStackPositionRegion().right,
+                getAllowableStackPositionRegion().top + mStackStartingVerticalOffset);
+    }
+
     /** Animates in the given bubble. */
     private void animateInBubble(View child) {
         child.setTranslationY(mStackPosition.y);
@@ -440,6 +546,10 @@
             DynamicAnimation.ViewProperty property, SpringForce spring,
             float vel, float finalPosition) {
 
+        if (mLayout.getChildCount() == 0) {
+            return;
+        }
+
         Log.d(TAG, String.format("Springing %s to final position %f.",
                 PhysicsAnimationLayout.getReadablePropertyName(property),
                 finalPosition));
@@ -489,7 +599,7 @@
 
         @Override
         public float getValue(StackAnimationController controller) {
-            return mProperty.getValue(mLayout.getChildAt(0));
+            return mLayout.getChildCount() > 0 ? mProperty.getValue(mLayout.getChildAt(0)) : 0;
         }
 
         @Override
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java b/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java
index 06dbdbf..a4592d5 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeDockHandler.java
@@ -121,11 +121,17 @@
                     if (dozeState == State.DOZE
                             && mConfig.alwaysOnEnabled(UserHandle.USER_CURRENT)) {
                         mMachine.requestState(State.DOZE_AOD);
-                        break;
                     }
-                    // continue below
+                    else {
+                        requestPulseOutNow(dozeState);
+                    }
+                    break;
                 case DockManager.STATE_DOCKED_HIDE:
-                    requestPulseOutNow(dozeState);
+                    if (dozeState == State.DOZE_AOD) {
+                        mMachine.requestState(State.DOZE);
+                    } else {
+                        requestPulseOutNow(dozeState);
+                    }
                     break;
                 default:
                     // no-op
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeService.java b/packages/SystemUI/src/com/android/systemui/doze/DozeService.java
index d06feed..2db7306 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeService.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeService.java
@@ -61,7 +61,9 @@
 
     @Override
     public void onDestroy() {
-        mPluginManager.removePluginListener(this);
+        if (mPluginManager != null) {
+            mPluginManager.removePluginListener(this);
+        }
         super.onDestroy();
         mDozeMachine = null;
     }
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java b/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
index b2f707f..bc3f48d 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeTriggers.java
@@ -28,6 +28,7 @@
 import android.hardware.SensorEventListener;
 import android.hardware.SensorManager;
 import android.hardware.display.AmbientDisplayConfiguration;
+import android.metrics.LogMaker;
 import android.os.Handler;
 import android.os.SystemClock;
 import android.os.UserHandle;
@@ -35,7 +36,10 @@
 import android.util.Log;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.logging.MetricsLogger;
+import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.internal.util.Preconditions;
+import com.android.systemui.Dependency;
 import com.android.systemui.dock.DockManager;
 import com.android.systemui.statusbar.phone.DozeParameters;
 import com.android.systemui.util.Assert;
@@ -79,6 +83,7 @@
     private long mNotificationPulseTime;
     private boolean mPulsePending;
 
+    private final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class);
 
     public DozeTriggers(Context context, DozeMachine machine, DozeHost dozeHost,
             AlarmManager alarmManager, AmbientDisplayConfiguration config,
@@ -159,8 +164,15 @@
                     if (screenX != -1 && screenY != -1) {
                         mDozeHost.onSlpiTap(screenX, screenY);
                     }
+                    // Logs screen wake up reason of either single or double tap.
+                    mMetricsLogger.write(new LogMaker(MetricsEvent.DOZING)
+                            .setType(MetricsEvent.TYPE_UPDATE).setSubtype(pulseReason));
                     mMachine.wakeUp();
                 } else if (isPickup) {
+                    // Logs screen wake up reason of lift.
+                    mMetricsLogger.write(new LogMaker(MetricsEvent.DOZING)
+                            .setType(MetricsEvent.TYPE_UPDATE)
+                            .setSubtype(DozeLog.REASON_SENSOR_PICKUP));
                     mMachine.wakeUp();
                 } else {
                     mDozeHost.extendPulse();
@@ -298,6 +310,10 @@
                 continuePulseRequest(reason);
             }
         }, !mDozeParameters.getProxCheckBeforePulse() || performedProxCheck, reason);
+
+        // Logs request pulse reason on AOD screen.
+        mMetricsLogger.write(new LogMaker(MetricsEvent.DOZING)
+                .setType(MetricsEvent.TYPE_UPDATE).setSubtype(reason));
     }
 
     private boolean canPulse() {
diff --git a/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java b/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java
index 7656564..847182d 100644
--- a/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java
+++ b/packages/SystemUI/src/com/android/systemui/doze/DozeUi.java
@@ -93,7 +93,13 @@
                 new DozeHost.PulseCallback() {
                     @Override
                     public void onPulseStarted() {
-                        mMachine.requestState(DozeMachine.State.DOZE_PULSING);
+                        try {
+                            mMachine.requestState(DozeMachine.State.DOZE_PULSING);
+                        } catch (IllegalStateException e) {
+                            // It's possible that the pulse was asynchronously cancelled while
+                            // we were waiting for it to start (under stress conditions.)
+                            // In those cases we should just ignore it. b/127657926
+                        }
                     }
 
                     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
index 3fa6035..f07887e 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsDialog.java
@@ -24,6 +24,7 @@
 import android.app.ActivityManager;
 import android.app.Dialog;
 import android.app.KeyguardManager;
+import android.app.PendingIntent;
 import android.app.WallpaperManager;
 import android.app.admin.DevicePolicyManager;
 import android.app.trust.TrustManager;
@@ -38,7 +39,6 @@
 import android.graphics.drawable.Drawable;
 import android.media.AudioManager;
 import android.net.ConnectivityManager;
-import android.os.Build;
 import android.os.Handler;
 import android.os.Message;
 import android.os.RemoteException;
@@ -65,8 +65,7 @@
 import android.view.WindowManager;
 import android.view.WindowManagerGlobal;
 import android.view.accessibility.AccessibilityEvent;
-import android.widget.AdapterView.OnItemLongClickListener;
-import android.widget.BaseAdapter;
+import android.widget.FrameLayout;
 import android.widget.ImageView;
 import android.widget.ImageView.ScaleType;
 import android.widget.TextView;
@@ -86,8 +85,11 @@
 import com.android.systemui.Dependency;
 import com.android.systemui.Interpolators;
 import com.android.systemui.MultiListLayout;
+import com.android.systemui.MultiListLayout.MultiListAdapter;
 import com.android.systemui.colorextraction.SysuiColorExtractor;
+import com.android.systemui.plugins.ActivityStarter;
 import com.android.systemui.plugins.GlobalActions.GlobalActionsManager;
+import com.android.systemui.plugins.GlobalActionsPanelPlugin;
 import com.android.systemui.statusbar.phone.ScrimController;
 import com.android.systemui.statusbar.policy.ConfigurationController;
 import com.android.systemui.util.EmergencyDialerConstants;
@@ -102,9 +104,8 @@
  * may show depending on whether the keyguard is showing, and whether the device
  * is provisioned.
  */
-class GlobalActionsDialog implements DialogInterface.OnDismissListener,
-        DialogInterface.OnClickListener, DialogInterface.OnShowListener,
-        ConfigurationController.ConfigurationListener {
+public class GlobalActionsDialog implements DialogInterface.OnDismissListener,
+        DialogInterface.OnShowListener, ConfigurationController.ConfigurationListener {
 
     static public final String SYSTEM_DIALOG_REASON_KEY = "reason";
     static public final String SYSTEM_DIALOG_REASON_GLOBAL_ACTIONS = "globalactions";
@@ -154,11 +155,12 @@
     private boolean mHasVibrator;
     private boolean mHasLogoutButton;
     private boolean mHasLockdownButton;
-    private boolean mSeparatedEmergencyButtonEnabled;
     private final boolean mShowSilentToggle;
     private final EmergencyAffordanceManager mEmergencyAffordanceManager;
     private final ScreenshotHelper mScreenshotHelper;
     private final ScreenRecordHelper mScreenRecordHelper;
+    private final ActivityStarter mActivityStarter;
+    private GlobalActionsPanelPlugin mPanelPlugin;
 
     /**
      * @param context everything needs a context :(
@@ -203,6 +205,8 @@
         mScreenRecordHelper = new ScreenRecordHelper(context);
 
         Dependency.get(ConfigurationController.class).addCallback(this);
+
+        mActivityStarter = Dependency.get(ActivityStarter.class);
     }
 
     /**
@@ -210,9 +214,11 @@
      *
      * @param keyguardShowing True if keyguard is showing
      */
-    public void showDialog(boolean keyguardShowing, boolean isDeviceProvisioned) {
+    public void showDialog(boolean keyguardShowing, boolean isDeviceProvisioned,
+            GlobalActionsPanelPlugin panelPlugin) {
         mKeyguardShowing = keyguardShowing;
         mDeviceProvisioned = isDeviceProvisioned;
+        mPanelPlugin = panelPlugin;
         if (mDialog != null) {
             mDialog.dismiss();
             mDialog = null;
@@ -325,7 +331,6 @@
         ArraySet<String> addedKeys = new ArraySet<String>();
         mHasLogoutButton = false;
         mHasLockdownButton = false;
-        mSeparatedEmergencyButtonEnabled = true;
         for (int i = 0; i < defaultActions.length; i++) {
             String actionKey = defaultActions[i];
             if (addedKeys.contains(actionKey)) {
@@ -373,8 +378,7 @@
                     mHasLogoutButton = true;
                 }
             } else if (GLOBAL_ACTION_KEY_EMERGENCY.equals(actionKey)) {
-                if (mSeparatedEmergencyButtonEnabled
-                        && !mEmergencyAffordanceManager.needsEmergencyAffordance()) {
+                if (!mEmergencyAffordanceManager.needsEmergencyAffordance()) {
                     mItems.add(new EmergencyDialerAction());
                 }
             } else {
@@ -385,21 +389,31 @@
         }
 
         if (mEmergencyAffordanceManager.needsEmergencyAffordance()) {
-            mItems.add(getEmergencyAction());
+            mItems.add(new EmergencyAffordanceAction());
         }
 
         mAdapter = new MyAdapter();
 
-        OnItemLongClickListener onItemLongClickListener = (parent, view, position, id) -> {
-            final Action action = mAdapter.getItem(position);
-            if (action instanceof LongPressAction) {
-                mDialog.dismiss();
-                return ((LongPressAction) action).onLongPress();
-            }
-            return false;
-        };
-        ActionsDialog dialog = new ActionsDialog(mContext, this, mAdapter, onItemLongClickListener,
-                mSeparatedEmergencyButtonEnabled);
+        GlobalActionsPanelPlugin.PanelViewController panelViewController =
+                mPanelPlugin != null
+                        ? mPanelPlugin.onPanelShown(
+                                new GlobalActionsPanelPlugin.Callbacks() {
+                                    @Override
+                                    public void dismissGlobalActionsMenu() {
+                                        if (mDialog != null) {
+                                            mDialog.dismiss();
+                                        }
+                                    }
+
+                                    @Override
+                                    public void startPendingIntentDismissingKeyguard(
+                                            PendingIntent intent) {
+                                        mActivityStarter
+                                                .startPendingIntentDismissingKeyguard(intent);
+                                    }
+                                })
+                        : null;
+        ActionsDialog dialog = new ActionsDialog(mContext, mAdapter, panelViewController);
         dialog.setCanceledOnTouchOutside(false); // Handled by the custom class.
         dialog.setKeyguardShowing(mKeyguardShowing);
 
@@ -464,20 +478,33 @@
         }
     }
 
-    private class EmergencyDialerAction extends SinglePressAction {
-        private EmergencyDialerAction() {
-            super(R.drawable.ic_faster_emergency,
-                    R.string.global_action_emergency);
+    private abstract class EmergencyAction extends SinglePressAction {
+        EmergencyAction(int iconResId, int messageResId) {
+            super(iconResId, messageResId);
         }
 
         @Override
-        public void onPress() {
-            MetricsLogger.action(mContext, MetricsEvent.ACTION_EMERGENCY_DIALER_FROM_POWER_MENU);
-            Intent intent = new Intent(EmergencyDialerConstants.ACTION_DIAL);
-            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK | Intent.FLAG_ACTIVITY_CLEAR_TOP);
-            intent.putExtra(EmergencyDialerConstants.EXTRA_ENTRY_TYPE,
-                    EmergencyDialerConstants.ENTRY_TYPE_POWER_MENU);
-            mContext.startActivityAsUser(intent, UserHandle.CURRENT);
+        public boolean shouldBeSeparated() {
+            return shouldUseSeparatedView();
+        }
+
+        @Override
+        public View create(
+                Context context, View convertView, ViewGroup parent, LayoutInflater inflater) {
+            View v = super.create(context, convertView, parent, inflater);
+            int textColor;
+            if (shouldBeSeparated()) {
+                textColor = v.getResources().getColor(
+                        com.android.systemui.R.color.global_actions_alert_text);
+            } else {
+                textColor = v.getResources().getColor(
+                        com.android.systemui.R.color.global_actions_text);
+            }
+            TextView messageView = v.findViewById(R.id.message);
+            messageView.setTextColor(textColor);
+            ImageView icon = (ImageView) v.findViewById(R.id.icon);
+            icon.getDrawable().setTint(textColor);
+            return v;
         }
 
         @Override
@@ -489,10 +516,36 @@
         public boolean showBeforeProvisioning() {
             return true;
         }
+    }
+
+    private class EmergencyAffordanceAction extends EmergencyAction {
+        EmergencyAffordanceAction() {
+            super(R.drawable.emergency_icon,
+                    R.string.global_action_emergency);
+        }
 
         @Override
-        public boolean shouldBeSeparated() {
-            return true;
+        public void onPress() {
+            mEmergencyAffordanceManager.performEmergencyCall();
+        }
+    }
+
+    private class EmergencyDialerAction extends EmergencyAction {
+        private EmergencyDialerAction() {
+            super(R.drawable.ic_faster_emergency,
+                    R.string.global_action_emergency);
+        }
+
+        @Override
+        public void onPress() {
+            MetricsLogger.action(mContext, MetricsEvent.ACTION_EMERGENCY_DIALER_FROM_POWER_MENU);
+            Intent intent = new Intent(EmergencyDialerConstants.ACTION_DIAL);
+            intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK
+                    | Intent.FLAG_ACTIVITY_EXCLUDE_FROM_RECENTS
+                    | Intent.FLAG_ACTIVITY_CLEAR_TOP);
+            intent.putExtra(EmergencyDialerConstants.EXTRA_ENTRY_TYPE,
+                    EmergencyDialerConstants.ENTRY_TYPE_POWER_MENU);
+            mContext.startActivityAsUser(intent, UserHandle.CURRENT);
         }
     }
 
@@ -527,7 +580,6 @@
         }
     }
 
-
     private class ScreenshotAction extends SinglePressAction implements LongPressAction {
         public ScreenshotAction() {
             super(R.drawable.ic_screenshot, R.string.global_action_screenshot);
@@ -626,14 +678,6 @@
         public boolean showBeforeProvisioning() {
             return false;
         }
-
-        @Override
-        public String getStatus() {
-            return mContext.getString(
-                    R.string.bugreport_status,
-                    Build.VERSION.RELEASE,
-                    Build.ID);
-        }
     }
 
     private final class LogoutAction extends SinglePressAction {
@@ -690,32 +734,6 @@
         };
     }
 
-    private Action getEmergencyAction() {
-        Drawable emergencyIcon = mContext.getDrawable(R.drawable.emergency_icon);
-        if(!mSeparatedEmergencyButtonEnabled) {
-            // use un-colored legacy treatment
-            emergencyIcon.setTintList(null);
-        }
-
-        return new SinglePressAction(R.drawable.emergency_icon,
-                R.string.global_action_emergency) {
-            @Override
-            public void onPress() {
-                mEmergencyAffordanceManager.performEmergencyCall();
-            }
-
-            @Override
-            public boolean showDuringKeyguard() {
-                return true;
-            }
-
-            @Override
-            public boolean showBeforeProvisioning() {
-                return true;
-            }
-        };
-    }
-
     private Action getAssistAction() {
         return new SinglePressAction(R.drawable.ic_action_assist_focused,
                 R.string.global_action_assist) {
@@ -886,15 +904,6 @@
     }
 
     /** {@inheritDoc} */
-    public void onClick(DialogInterface dialog, int which) {
-        Action item = mAdapter.getItem(which);
-        if (!(item instanceof SilentModeTriStateAction)) {
-            dialog.dismiss();
-        }
-        item.onPress();
-    }
-
-    /** {@inheritDoc} */
     public void onShow(DialogInterface dialog) {
         MetricsLogger.visible(mContext, MetricsEvent.POWER_MENU);
     }
@@ -906,11 +915,10 @@
      * the device is provisioned
      * via {@link com.android.systemui.globalactions.GlobalActionsDialog#mDeviceProvisioned}.
      */
-    private class MyAdapter extends BaseAdapter {
-
+    public class MyAdapter extends MultiListAdapter {
+        @Override
         public int getCount() {
             int count = 0;
-
             for (int i = 0; i < mItems.size(); i++) {
                 final Action action = mItems.get(i);
 
@@ -930,9 +938,10 @@
             return getItem(position).isEnabled();
         }
 
-        public ArrayList<Action> getSeparatedActions(boolean shouldUseSeparatedView) {
+        @Override
+        public ArrayList<Action> getSeparatedItems() {
             ArrayList<Action> separatedActions = new ArrayList<Action>();
-            if (!shouldUseSeparatedView) {
+            if (!shouldUseSeparatedView()) {
                 return separatedActions;
             }
             for (int i = 0; i < mItems.size(); i++) {
@@ -944,8 +953,9 @@
             return separatedActions;
         }
 
-        public ArrayList<Action> getListActions(boolean shouldUseSeparatedView) {
-            if (!shouldUseSeparatedView) {
+        @Override
+        public ArrayList<Action> getListItems() {
+            if (!shouldUseSeparatedView()) {
                 return new ArrayList<Action>(mItems);
             }
             ArrayList<Action> listActions = new ArrayList<Action>();
@@ -963,6 +973,7 @@
             return false;
         }
 
+        @Override
         public Action getItem(int position) {
 
             int filteredPos = 0;
@@ -992,6 +1003,7 @@
             return position;
         }
 
+        @Override
         public View getView(int position, View convertView, ViewGroup parent) {
             Action action = getItem(position);
             View view = action.create(mContext, convertView, parent, LayoutInflater.from(mContext));
@@ -1001,6 +1013,25 @@
             }
             return view;
         }
+
+        @Override
+        public boolean onLongClickItem(int position) {
+            final Action action = mAdapter.getItem(position);
+            if (action instanceof LongPressAction) {
+                mDialog.dismiss();
+                return ((LongPressAction) action).onLongPress();
+            }
+            return false;
+        }
+
+        @Override
+        public void onClickItem(int position) {
+            Action item = mAdapter.getItem(position);
+            if (!(item instanceof SilentModeTriStateAction)) {
+                mDialog.dismiss();
+            }
+            item.onPress();
+        }
     }
 
     // note: the scheme below made more sense when we were planning on having
@@ -1012,7 +1043,7 @@
     /**
      * What each item in the global actions dialog must be able to support.
      */
-    private interface Action {
+    public interface Action {
         /**
          * @return Text that will be announced when dialog is created.  null
          * for none.
@@ -1031,7 +1062,8 @@
 
         /**
          * @return whether this action should appear in the dialog before the
-         * device is provisioned.
+         * device is provisioned.onlongpress
+         *
          */
         boolean showBeforeProvisioning();
 
@@ -1467,24 +1499,19 @@
         private final Context mContext;
         private final MyAdapter mAdapter;
         private MultiListLayout mGlobalActionsLayout;
-        private final OnClickListener mClickListener;
-        private final OnItemLongClickListener mLongClickListener;
-        private final GradientDrawable mGradientDrawable;
+        private Drawable mBackgroundDrawable;
         private final ColorExtractor mColorExtractor;
+        private final GlobalActionsPanelPlugin.PanelViewController mPanelController;
         private boolean mKeyguardShowing;
-        private boolean mShouldDisplaySeparatedButton;
         private boolean mShowing;
+        private float mScrimAlpha;
 
-        public ActionsDialog(Context context, OnClickListener clickListener, MyAdapter adapter,
-                OnItemLongClickListener longClickListener, boolean shouldDisplaySeparatedButton) {
+        ActionsDialog(Context context, MyAdapter adapter,
+                GlobalActionsPanelPlugin.PanelViewController plugin) {
             super(context, com.android.systemui.R.style.Theme_SystemUI_Dialog_GlobalActions);
             mContext = context;
             mAdapter = adapter;
-            mClickListener = clickListener;
-            mLongClickListener = longClickListener;
-            mGradientDrawable = new GradientDrawable(mContext);
             mColorExtractor = Dependency.get(SysuiColorExtractor.class);
-            mShouldDisplaySeparatedButton = shouldDisplaySeparatedButton;
 
             // Window initialization
             Window window = getWindow();
@@ -1503,20 +1530,39 @@
                     | WindowManager.LayoutParams.FLAG_SHOW_WHEN_LOCKED
                     | WindowManager.LayoutParams.FLAG_WATCH_OUTSIDE_TOUCH
                     | WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
-            window.setBackgroundDrawable(mGradientDrawable);
             window.setType(WindowManager.LayoutParams.TYPE_VOLUME_OVERLAY);
-
-            initializeLayout();
-
             setTitle(R.string.global_actions);
+
+            mPanelController = plugin;
+            initializeLayout();
+        }
+
+        private boolean initializePanel() {
+            if (!isPanelEnabled(mContext) || mPanelController == null) {
+                return false;
+            }
+            View panelView = mPanelController.getPanelContent();
+            if (panelView == null) {
+                return false;
+            }
+            FrameLayout panelContainer = new FrameLayout(mContext);
+            FrameLayout.LayoutParams panelParams =
+                    new FrameLayout.LayoutParams(
+                            FrameLayout.LayoutParams.MATCH_PARENT,
+                            FrameLayout.LayoutParams.WRAP_CONTENT);
+            panelContainer.addView(panelView, panelParams);
+            addContentView(
+                    panelContainer,
+                    new ViewGroup.LayoutParams(
+                            ViewGroup.LayoutParams.MATCH_PARENT,
+                            ViewGroup.LayoutParams.MATCH_PARENT));
+            return true;
         }
 
         private void initializeLayout() {
             setContentView(getGlobalActionsLayoutId(mContext));
-            mGlobalActionsLayout = (MultiListLayout)
-                    findViewById(com.android.systemui.R.id.global_actions_view);
+            mGlobalActionsLayout = findViewById(com.android.systemui.R.id.global_actions_view);
             mGlobalActionsLayout.setOutsideTouchListener(view -> dismiss());
-            mGlobalActionsLayout.setHasSeparatedView(mShouldDisplaySeparatedButton);
             mGlobalActionsLayout.setListViewAccessibilityDelegate(new View.AccessibilityDelegate() {
                 @Override
                 public boolean dispatchPopulateAccessibilityEvent(
@@ -1527,6 +1573,19 @@
                 }
             });
             mGlobalActionsLayout.setRotationListener(this::onRotate);
+            mGlobalActionsLayout.setAdapter(mAdapter);
+
+            boolean panelEnabled = initializePanel();
+            if (!panelEnabled) {
+                mBackgroundDrawable = new GradientDrawable(mContext);
+                mScrimAlpha = ScrimController.GRADIENT_SCRIM_ALPHA;
+            } else {
+                mBackgroundDrawable = mContext.getDrawable(
+                        com.android.systemui.R.drawable.global_action_panel_scrim);
+                mScrimAlpha = 1f;
+            }
+            mGlobalActionsLayout.setSnapToEdge(panelEnabled);
+            getWindow().setBackgroundDrawable(mBackgroundDrawable);
         }
 
         private int getGlobalActionsLayoutId(Context context) {
@@ -1539,56 +1598,24 @@
             return com.android.systemui.R.layout.global_actions_wrapped;
         }
 
-        private void updateList() {
-            mGlobalActionsLayout.removeAllItems();
-            ArrayList<Action> separatedActions =
-                    mAdapter.getSeparatedActions(mShouldDisplaySeparatedButton);
-            ArrayList<Action> listActions = mAdapter.getListActions(mShouldDisplaySeparatedButton);
-            mGlobalActionsLayout.setExpectedListItemCount(listActions.size());
-            mGlobalActionsLayout.setExpectedSeparatedItemCount(separatedActions.size());
-
-            for (int i = 0; i < mAdapter.getCount(); i++) {
-                Action action = mAdapter.getItem(i);
-                int separatedIndex = separatedActions.indexOf(action);
-                ViewGroup parent;
-                if (separatedIndex != -1) {
-                    parent = mGlobalActionsLayout.getParentView(true, separatedIndex, false);
-                } else {
-                    boolean reverse = false;
-
-                    // If we're using the grid layout and we're in seascape, reverse the order
-                    // of sublists to make sure they render in the correct positions,
-                    // since we can't reverse vertical LinearLayouts through the layout xml.
-
-                    if (isGridEnabled(mContext) && RotationUtils.getRotation(mContext)
-                            == RotationUtils.ROTATION_SEASCAPE) {
-                        reverse = true;
-                    }
-                    int listIndex = listActions.indexOf(action);
-                    parent = mGlobalActionsLayout.getParentView(false, listIndex, reverse);
-                }
-                View v = mAdapter.getView(i, null, parent);
-                final int pos = i;
-                v.setOnClickListener(view -> mClickListener.onClick(this, pos));
-                v.setOnLongClickListener(view ->
-                        mLongClickListener.onItemLongClick(null, v, pos, 0));
-                parent.addView(v);
-            }
-        }
-
         @Override
         protected void onStart() {
             super.setCanceledOnTouchOutside(true);
             super.onStart();
-            updateList();
+            mGlobalActionsLayout.updateList();
 
-            Point displaySize = new Point();
-            mContext.getDisplay().getRealSize(displaySize);
-            mColorExtractor.addOnColorsChangedListener(this);
-            mGradientDrawable.setScreenSize(displaySize.x, displaySize.y);
-            GradientColors colors = mColorExtractor.getColors(mKeyguardShowing ?
-                    WallpaperManager.FLAG_LOCK : WallpaperManager.FLAG_SYSTEM);
-            updateColors(colors, false /* animate */);
+            if (mBackgroundDrawable instanceof GradientDrawable) {
+                Point displaySize = new Point();
+                mContext.getDisplay().getRealSize(displaySize);
+                mColorExtractor.addOnColorsChangedListener(this);
+                ((GradientDrawable) mBackgroundDrawable)
+                        .setScreenSize(displaySize.x, displaySize.y);
+                GradientColors colors = mColorExtractor.getColors(
+                        mKeyguardShowing
+                                ? WallpaperManager.FLAG_LOCK
+                                : WallpaperManager.FLAG_SYSTEM);
+                updateColors(colors, false /* animate */);
+            }
         }
 
         /**
@@ -1597,11 +1624,14 @@
          * @param animate Interpolates gradient if true, just sets otherwise.
          */
         private void updateColors(GradientColors colors, boolean animate) {
-            mGradientDrawable.setColors(colors, animate);
+            if (!(mBackgroundDrawable instanceof GradientDrawable)) {
+                return;
+            }
+            ((GradientDrawable) mBackgroundDrawable).setColors(colors, animate);
             View decorView = getWindow().getDecorView();
             if (colors.supportsDarkText()) {
                 decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_NAVIGATION_BAR |
-                    View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
+                        View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
             } else {
                 decorView.setSystemUiVisibility(0);
             }
@@ -1617,7 +1647,7 @@
         public void show() {
             super.show();
             mShowing = true;
-            mGradientDrawable.setAlpha(0);
+            mBackgroundDrawable.setAlpha(0);
             mGlobalActionsLayout.setTranslationX(getAnimTranslation());
             mGlobalActionsLayout.setAlpha(0);
             mGlobalActionsLayout.animate()
@@ -1627,8 +1657,8 @@
                     .setInterpolator(Interpolators.FAST_OUT_SLOW_IN)
                     .setUpdateListener(animation -> {
                         int alpha = (int) ((Float) animation.getAnimatedValue()
-                                * ScrimController.GRADIENT_SCRIM_ALPHA * 255);
-                        mGradientDrawable.setAlpha(alpha);
+                                * mScrimAlpha * 255);
+                        mBackgroundDrawable.setAlpha(alpha);
                     })
                     .start();
         }
@@ -1645,19 +1675,25 @@
                     .alpha(0)
                     .translationX(getAnimTranslation())
                     .setDuration(300)
-                    .withEndAction(() -> super.dismiss())
+                    .withEndAction(super::dismiss)
                     .setInterpolator(new LogAccelerateInterpolator())
                     .setUpdateListener(animation -> {
                         int alpha = (int) ((1f - (Float) animation.getAnimatedValue())
-                                * ScrimController.GRADIENT_SCRIM_ALPHA * 255);
-                        mGradientDrawable.setAlpha(alpha);
+                                * mScrimAlpha * 255);
+                        mBackgroundDrawable.setAlpha(alpha);
                     })
                     .start();
+            if (mPanelController != null) {
+                mPanelController.onDismissed();
+            }
         }
 
         void dismissImmediately() {
             super.dismiss();
             mShowing = false;
+            if (mPanelController != null) {
+                mPanelController.onDismissed();
+            }
         }
 
         private float getAnimTranslation() {
@@ -1687,15 +1723,31 @@
         public void onRotate(int from, int to) {
             if (mShowing && isGridEnabled(mContext)) {
                 initializeLayout();
-                updateList();
+                mGlobalActionsLayout.updateList();
             }
         }
     }
 
     /**
-     * Determines whether or not the Global Actions Dialog should use the newer grid-style layout.
+     * Determines whether or not the Global Actions menu should use the newer grid-style layout.
      */
-    public static boolean isGridEnabled(Context context) {
+    private static boolean isGridEnabled(Context context) {
         return FeatureFlagUtils.isEnabled(context, FeatureFlagUtils.GLOBAL_ACTIONS_GRID_ENABLED);
     }
+
+    /**
+     * Determines whether or not the Global Actions Panel should appear when the power button
+     * is held.
+     */
+    private static boolean isPanelEnabled(Context context) {
+        return FeatureFlagUtils.isEnabled(
+                context, FeatureFlagUtils.GLOBAL_ACTIONS_PANEL_ENABLED);
+    }
+
+    /**
+     * Determines whether the Global Actions menu should use a separated view for emergency actions.
+     */
+    private static boolean shouldUseSeparatedView() {
+        return true;
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsGridLayout.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsGridLayout.java
index 1d04277..9a0759c 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsGridLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsGridLayout.java
@@ -17,12 +17,18 @@
 package com.android.systemui.globalactions;
 
 import android.content.Context;
+import android.text.TextUtils;
 import android.util.AttributeSet;
+import android.view.Gravity;
 import android.view.View;
 import android.view.ViewGroup;
 
 import com.android.systemui.HardwareBgDrawable;
 import com.android.systemui.MultiListLayout;
+import com.android.systemui.util.leak.RotationUtils;
+
+import java.util.ArrayList;
+import java.util.Locale;
 
 /**
  * Grid-based implementation of the button layout created by the global actions dialog.
@@ -36,11 +42,16 @@
     }
 
     private void setBackgrounds() {
+        int gridBackgroundColor = getResources().getColor(
+                com.android.systemui.R.color.global_actions_grid_background, null);
+        int separatedBackgroundColor = getResources().getColor(
+                com.android.systemui.R.color.global_actions_separated_background, null);
         HardwareBgDrawable listBackground  = new HardwareBgDrawable(true, true, getContext());
-        HardwareBgDrawable separatedViewBackground = new HardwareBgDrawable(true, true,
-                getContext());
+        HardwareBgDrawable separatedBackground = new HardwareBgDrawable(true, true, getContext());
+        listBackground.setTint(gridBackgroundColor);
+        separatedBackground.setTint(separatedBackgroundColor);
         getListView().setBackground(listBackground);
-        getSeparatedView().setBackground(separatedViewBackground);
+        getSeparatedView().setBackground(separatedBackground);
     }
 
     @Override
@@ -54,17 +65,76 @@
         }
     }
 
-    @Override
+    /**
+     * Sets the number of items expected to be rendered in the list container. This allows the
+     * layout to correctly determine which parent containers will be used for items before they have
+     * beenadded to the layout.
+     * @param count The number of items expected.
+     */
     public void setExpectedListItemCount(int count) {
-        mExpectedListItemCount = count;
         getListView().setExpectedCount(count);
     }
 
     @Override
+    public void onUpdateList() {
+        super.onUpdateList();
+        ArrayList<GlobalActionsDialog.Action> separatedActions =
+                mAdapter.getSeparatedItems();
+        ArrayList<GlobalActionsDialog.Action> listActions = mAdapter.getListItems();
+        setExpectedListItemCount(listActions.size());
+        int rotation = RotationUtils.getRotation(mContext);
+
+        boolean reverse = false; // should we add items to parents in the reverse order?
+        if (rotation == RotationUtils.ROTATION_NONE
+                || rotation == RotationUtils.ROTATION_SEASCAPE) {
+            reverse = !reverse; // if we're in portrait or seascape, reverse items
+        }
+        if (TextUtils.getLayoutDirectionFromLocale(Locale.getDefault())
+                == View.LAYOUT_DIRECTION_RTL) {
+            reverse = !reverse; // if we're in an RTL language, reverse items (again)
+        }
+
+        for (int i = 0; i < mAdapter.getCount(); i++) {
+            Object action = mAdapter.getItem(i);
+            int separatedIndex = separatedActions.indexOf(action);
+            ViewGroup parent;
+            if (separatedIndex != -1) {
+                parent = getParentView(true, separatedIndex, rotation);
+            } else {
+                int listIndex = listActions.indexOf(action);
+                parent = getParentView(false, listIndex, rotation);
+            }
+            View v = mAdapter.getView(i, null, parent);
+            final int pos = i;
+            v.setOnClickListener(view -> mAdapter.onClickItem(pos));
+            v.setOnLongClickListener(view -> mAdapter.onLongClickItem(pos));
+            if (reverse) {
+                parent.addView(v, 0); // reverse order of items
+            } else {
+                parent.addView(v);
+            }
+        }
+        updateSnapPosition();
+    }
+
+    @Override
     protected ViewGroup getSeparatedView() {
         return findViewById(com.android.systemui.R.id.separated_button);
     }
 
+    private void updateSnapPosition() {
+        if (mSnapToEdge) {
+            setPadding(0, 0, 0, 0);
+            if (mRotation == RotationUtils.ROTATION_LANDSCAPE) {
+                setGravity(Gravity.RIGHT);
+            } else if (mRotation == RotationUtils.ROTATION_SEASCAPE) {
+                setGravity(Gravity.LEFT);
+            } else {
+                setGravity(Gravity.BOTTOM);
+            }
+        }
+    }
+
     @Override
     protected ListGridLayout getListView() {
         return findViewById(android.R.id.list);
@@ -82,20 +152,26 @@
         }
     }
 
-    @Override
-    public ViewGroup getParentView(boolean separated, int index, boolean reverseOrder) {
+    public ViewGroup getParentView(boolean separated, int index, int rotation) {
         if (separated) {
             return getSeparatedView();
         } else {
-            return getListView().getParentView(index, reverseOrder);
+            switch (rotation) {
+                case RotationUtils.ROTATION_LANDSCAPE:
+                    return getListView().getParentView(index, false, true);
+                case RotationUtils.ROTATION_SEASCAPE:
+                    return getListView().getParentView(index, true, true);
+                default:
+                    return getListView().getParentView(index, false, false);
+            }
         }
     }
 
     /**
-     * Not used in this implementation of the Global Actions Menu, but necessary for some others.
+     * Not ued in this implementation of the Global Actions Menu, but necessary for some others.
      */
     @Override
     public void setDivisionView(View v) {
-
+        // do nothing
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsImpl.java b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsImpl.java
index 19a7cea..4cf58b7 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/GlobalActionsImpl.java
@@ -37,8 +37,10 @@
 import com.android.systemui.SysUiServiceProvider;
 import com.android.systemui.colorextraction.SysuiColorExtractor;
 import com.android.systemui.plugins.GlobalActions;
+import com.android.systemui.plugins.GlobalActionsPanelPlugin;
 import com.android.systemui.statusbar.CommandQueue;
 import com.android.systemui.statusbar.policy.DeviceProvisionedController;
+import com.android.systemui.statusbar.policy.ExtensionController;
 import com.android.systemui.statusbar.policy.KeyguardMonitor;
 
 public class GlobalActionsImpl implements GlobalActions, CommandQueue.Callbacks {
@@ -48,6 +50,7 @@
     private final Context mContext;
     private final KeyguardMonitor mKeyguardMonitor;
     private final DeviceProvisionedController mDeviceProvisionedController;
+    private final ExtensionController.Extension<GlobalActionsPanelPlugin> mPanelExtension;
     private GlobalActionsDialog mGlobalActions;
     private boolean mDisabled;
 
@@ -56,6 +59,10 @@
         mKeyguardMonitor = Dependency.get(KeyguardMonitor.class);
         mDeviceProvisionedController = Dependency.get(DeviceProvisionedController.class);
         SysUiServiceProvider.getComponent(context, CommandQueue.class).addCallback(this);
+        mPanelExtension = Dependency.get(ExtensionController.class)
+                .newExtension(GlobalActionsPanelPlugin.class)
+                .withPlugin(GlobalActionsPanelPlugin.class)
+                .build();
     }
 
     @Override
@@ -74,7 +81,8 @@
             mGlobalActions = new GlobalActionsDialog(mContext, manager);
         }
         mGlobalActions.showDialog(mKeyguardMonitor.isShowing(),
-                mDeviceProvisionedController.isDeviceProvisioned());
+                mDeviceProvisionedController.isDeviceProvisioned(),
+                mPanelExtension.get());
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/globalactions/ListGridLayout.java b/packages/SystemUI/src/com/android/systemui/globalactions/ListGridLayout.java
index d5dcd74..048f801 100644
--- a/packages/SystemUI/src/com/android/systemui/globalactions/ListGridLayout.java
+++ b/packages/SystemUI/src/com/android/systemui/globalactions/ListGridLayout.java
@@ -18,7 +18,6 @@
 
 import android.content.Context;
 import android.util.AttributeSet;
-import android.util.Log;
 import android.view.View;
 import android.view.ViewGroup;
 import android.widget.LinearLayout;
@@ -39,9 +38,8 @@
  */
 
 public class ListGridLayout extends LinearLayout {
+    private static final String TAG = "ListGridLayout";
     private int mExpectedCount;
-    private int mRows;
-    private int mColumns;
 
     public ListGridLayout(Context context, AttributeSet attrs) {
         super(context, attrs);
@@ -62,11 +60,11 @@
     /**
      * Get the parent view associated with the item which should be placed at the given position.
      */
-    public ViewGroup getParentView(int index, boolean reverseSublists) {
-        if (mRows == 0) {
+    public ViewGroup getParentView(int index, boolean reverseSublists, boolean swapRowsAndColumns) {
+        if (getRowCount() == 0) {
             return null;
         }
-        int column = getParentViewIndex(index, reverseSublists);
+        int column = getParentViewIndex(index, reverseSublists, swapRowsAndColumns);
         return (ViewGroup) getChildAt(column);
     }
 
@@ -74,13 +72,19 @@
         return getChildCount() - (index + 1);
     }
 
-    private int getParentViewIndex(int index, boolean reverseSublists) {
-        int column = (int) Math.floor(index / mRows);
-        int columnCount = getChildCount();
-        if (reverseSublists) {
-            column = reverseSublistIndex(column);
+    private int getParentViewIndex(int index, boolean reverseSublists, boolean swapRowsAndColumns) {
+        int sublistIndex;
+        ViewGroup row;
+        int rows = getRowCount();
+        if (swapRowsAndColumns) {
+            sublistIndex = (int) Math.floor(index / rows);
+        } else {
+            sublistIndex = index % rows;
         }
-        return column;
+        if (reverseSublists) {
+            sublistIndex = reverseSublistIndex(sublistIndex);
+        }
+        return sublistIndex;
     }
 
     /**
@@ -88,32 +92,36 @@
      */
     public void setExpectedCount(int count) {
         mExpectedCount = count;
-        mRows = getRowCount();
-        mColumns = getColumnCount();
 
         for (int i = 0; i < getChildCount(); i++) {
-            if (i <= mColumns) {
+            if (i <= getColumnCount()) {
                 setSublistVisibility(i, true);
             } else {
                 setSublistVisibility(i, false);
             }
         }
-
     }
 
     private void setSublistVisibility(int index, boolean visible) {
         View subList = getChildAt(index);
-        Log.d("ListGrid", "index: " + index  + ", visibility: "  + visible);
         if (subList != null) {
             subList.setVisibility(visible ? View.VISIBLE : View.GONE);
         }
     }
 
     private int getRowCount() {
-        return (int) Math.ceil(Math.sqrt(mExpectedCount));
+        // special case for 3 to use a single row
+        if (mExpectedCount == 3) {
+            return 1;
+        }
+        return (int) Math.round(Math.sqrt(mExpectedCount));
     }
 
     private int getColumnCount() {
-        return (int) Math.round(Math.sqrt(mExpectedCount));
+        // special case for 3 to use a single row
+        if (mExpectedCount == 3) {
+            return 3;
+        }
+        return (int) Math.ceil(Math.sqrt(mExpectedCount));
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageGLWallpaper.java b/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageGLWallpaper.java
index 19d85b1..a313336 100644
--- a/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageGLWallpaper.java
+++ b/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageGLWallpaper.java
@@ -50,7 +50,7 @@
 
     static final String A_POSITION = "aPosition";
     static final String A_TEXTURE_COORDINATES = "aTextureCoordinates";
-    static final String U_CENTER_REVEAL = "uCenterReveal";
+    static final String U_PER85 = "uPer85";
     static final String U_REVEAL = "uReveal";
     static final String U_AOD2OPACITY = "uAod2Opacity";
     static final String U_TEXTURE = "uTexture";
@@ -87,7 +87,7 @@
     private int mAttrPosition;
     private int mAttrTextureCoordinates;
     private int mUniAod2Opacity;
-    private int mUniCenterReveal;
+    private int mUniPer85;
     private int mUniReveal;
     private int mUniTexture;
     private int mTextureId;
@@ -131,7 +131,7 @@
 
     private void setupUniforms() {
         mUniAod2Opacity = mProgram.getUniformHandle(U_AOD2OPACITY);
-        mUniCenterReveal = mProgram.getUniformHandle(U_CENTER_REVEAL);
+        mUniPer85 = mProgram.getUniformHandle(U_PER85);
         mUniReveal = mProgram.getUniformHandle(U_REVEAL);
         mUniTexture = mProgram.getUniformHandle(U_TEXTURE);
     }
@@ -144,8 +144,8 @@
                 return mAttrTextureCoordinates;
             case U_AOD2OPACITY:
                 return mUniAod2Opacity;
-            case U_CENTER_REVEAL:
-                return mUniCenterReveal;
+            case U_PER85:
+                return mUniPer85;
             case U_REVEAL:
                 return mUniReveal;
             case U_TEXTURE:
diff --git a/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageWallpaperRenderer.java b/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageWallpaperRenderer.java
index 991b116..9df6ba5 100644
--- a/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageWallpaperRenderer.java
+++ b/packages/SystemUI/src/com/android/systemui/glwallpaper/ImageWallpaperRenderer.java
@@ -29,6 +29,7 @@
 import android.opengl.GLSurfaceView;
 import android.os.Build;
 import android.util.Log;
+import android.util.MathUtils;
 
 import com.android.systemui.ImageWallpaper;
 import com.android.systemui.ImageWallpaper.ImageGLView;
@@ -43,6 +44,8 @@
 public class ImageWallpaperRenderer implements GLSurfaceView.Renderer,
         ImageWallpaper.WallpaperStatusListener, ImageRevealHelper.RevealStateListener {
     private static final String TAG = ImageWallpaperRenderer.class.getSimpleName();
+    private static final float SCALE_VIEWPORT_MIN = 0.98f;
+    private static final float SCALE_VIEWPORT_MAX = 1f;
 
     private final WallpaperManager mWallpaperManager;
     private final ImageGLProgram mProgram;
@@ -52,6 +55,8 @@
     private final ImageGLView mGLView;
     private float mXOffset = 0f;
     private float mYOffset = 0f;
+    private int mWidth = 0;
+    private int mHeight = 0;
 
     public ImageWallpaperRenderer(Context context, ImageGLView glView) {
         mWallpaperManager = context.getSystemService(WallpaperManager.class);
@@ -87,25 +92,38 @@
             Log.d(TAG, "onSurfaceChanged: width=" + width + ", height=" + height
                     + ", xOffset=" + mXOffset + ", yOffset=" + mYOffset);
         }
+        mWidth = width;
+        mHeight = height;
         mWallpaper.adjustTextureCoordinates(mWallpaperManager.getBitmap(),
                 width, height, mXOffset, mYOffset);
     }
 
     @Override
     public void onDrawFrame(GL10 gl) {
-        float threshold = mImageProcessHelper.getPercentile85();
+        float per85 = mImageProcessHelper.getPercentile85();
         float reveal = mImageRevealHelper.getReveal();
 
         glClear(GL_COLOR_BUFFER_BIT);
 
         glUniform1f(mWallpaper.getHandle(ImageGLWallpaper.U_AOD2OPACITY), 1);
-        glUniform1f(mWallpaper.getHandle(ImageGLWallpaper.U_CENTER_REVEAL), threshold);
+        glUniform1f(mWallpaper.getHandle(ImageGLWallpaper.U_PER85), per85);
         glUniform1f(mWallpaper.getHandle(ImageGLWallpaper.U_REVEAL), reveal);
 
+        scaleViewport(reveal);
         mWallpaper.useTexture();
         mWallpaper.draw();
     }
 
+    private void scaleViewport(float reveal) {
+        // Interpolation between SCALE_VIEWPORT_MAX and SCALE_VIEWPORT_MIN by reveal.
+        float vpScaled = MathUtils.lerp(SCALE_VIEWPORT_MAX, SCALE_VIEWPORT_MIN, reveal);
+        // Calculate the offset amount from the lower left corner.
+        float offset = (SCALE_VIEWPORT_MAX - vpScaled) / 2;
+        // Change the viewport.
+        glViewport((int) (mWidth * offset), (int) (mHeight * offset),
+                (int) (mWidth * vpScaled), (int) (mHeight * vpScaled));
+    }
+
     @Override
     public void onAmbientModeChanged(boolean inAmbientMode, long duration) {
         mImageRevealHelper.updateAwake(!inAmbientMode, duration);
diff --git a/packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java b/packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java
index 9bca2cc..9f0f53e 100644
--- a/packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java
+++ b/packages/SystemUI/src/com/android/systemui/media/MediaProjectionPermissionActivity.java
@@ -135,7 +135,7 @@
 
         mDialog = new AlertDialog.Builder(this)
                 .setTitle(dialogTitle)
-                .setIcon(aInfo.loadIcon(packageManager))
+                .setIcon(R.drawable.ic_media_projection_permission)
                 .setMessage(message)
                 .setPositiveButton(R.string.media_projection_action_text, this)
                 .setNegativeButton(android.R.string.cancel, this)
diff --git a/packages/SystemUI/src/com/android/systemui/power/BatteryStateSnapshot.kt b/packages/SystemUI/src/com/android/systemui/power/BatteryStateSnapshot.kt
new file mode 100644
index 0000000..d7a2d9a
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/power/BatteryStateSnapshot.kt
@@ -0,0 +1,55 @@
+package com.android.systemui.power
+
+import com.android.systemui.power.PowerUI.NO_ESTIMATE_AVAILABLE
+
+/**
+ * A simple data class to snapshot battery state when a particular check for the
+ * low battery warning is running in the background.
+ */
+data class BatteryStateSnapshot(
+    val batteryLevel: Int,
+    val isPowerSaver: Boolean,
+    val plugged: Boolean,
+    val bucket: Int,
+    val batteryStatus: Int,
+    val severeLevelThreshold: Int,
+    val lowLevelThreshold: Int,
+    val timeRemainingMillis: Long,
+    val severeThresholdMillis: Long,
+    val lowThresholdMillis: Long,
+    val isBasedOnUsage: Boolean
+) {
+    /**
+     * Returns whether hybrid warning logic/copy should be used for this snapshot
+     */
+    var isHybrid: Boolean = false
+        private set
+
+    init {
+        this.isHybrid = true
+    }
+
+    constructor(
+        batteryLevel: Int,
+        isPowerSaver: Boolean,
+        plugged: Boolean,
+        bucket: Int,
+        batteryStatus: Int,
+        severeLevelThreshold: Int,
+        lowLevelThreshold: Int
+    ) : this(
+        batteryLevel,
+        isPowerSaver,
+        plugged,
+        bucket,
+        batteryStatus,
+        severeLevelThreshold,
+        lowLevelThreshold,
+        NO_ESTIMATE_AVAILABLE.toLong(),
+        NO_ESTIMATE_AVAILABLE.toLong(),
+        NO_ESTIMATE_AVAILABLE.toLong(),
+        false
+    ) {
+        this.isHybrid = false
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/power/Estimate.java b/packages/SystemUI/src/com/android/systemui/power/Estimate.java
deleted file mode 100644
index 12a8f0a..0000000
--- a/packages/SystemUI/src/com/android/systemui/power/Estimate.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package com.android.systemui.power;
-
-public class Estimate {
-    public final long estimateMillis;
-    public final boolean isBasedOnUsage;
-
-    public Estimate(long estimateMillis, boolean isBasedOnUsage) {
-        this.estimateMillis = estimateMillis;
-        this.isBasedOnUsage = isBasedOnUsage;
-    }
-}
diff --git a/packages/SystemUI/src/com/android/systemui/power/Estimate.kt b/packages/SystemUI/src/com/android/systemui/power/Estimate.kt
new file mode 100644
index 0000000..dca0d45
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/power/Estimate.kt
@@ -0,0 +1,3 @@
+package com.android.systemui.power
+
+data class Estimate(val estimateMillis: Long, val isBasedOnUsage: Boolean)
\ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java
index fdb0b36..41bcab5 100644
--- a/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java
+++ b/packages/SystemUI/src/com/android/systemui/power/PowerNotificationWarnings.java
@@ -134,10 +134,6 @@
     private int mShowing;
 
     private long mWarningTriggerTimeMs;
-
-    private Estimate mEstimate;
-    private long mLowWarningThreshold;
-    private long mSevereWarningThreshold;
     private boolean mWarning;
     private boolean mShowAutoSaverSuggestion;
     private boolean mPlaySound;
@@ -148,6 +144,7 @@
     private SystemUIDialog mHighTempDialog;
     private SystemUIDialog mThermalShutdownDialog;
     @VisibleForTesting SystemUIDialog mUsbHighTempDialog;
+    private BatteryStateSnapshot mCurrentBatterySnapshot;
 
     /**
      */
@@ -195,17 +192,8 @@
     }
 
     @Override
-    public void updateEstimate(Estimate estimate) {
-        mEstimate = estimate;
-        if (estimate.estimateMillis <= mLowWarningThreshold) {
-            mWarningTriggerTimeMs = System.currentTimeMillis();
-        }
-    }
-
-    @Override
-    public void updateThresholds(long lowThreshold, long severeThreshold) {
-        mLowWarningThreshold = lowThreshold;
-        mSevereWarningThreshold = severeThreshold;
+    public void updateSnapshot(BatteryStateSnapshot snapshot) {
+        mCurrentBatterySnapshot = snapshot;
     }
 
     private void updateNotification() {
@@ -254,15 +242,17 @@
 
     protected void showWarningNotification() {
         final String percentage = NumberFormat.getPercentInstance()
-                .format((double) mBatteryLevel / 100.0);
+                .format((double) mCurrentBatterySnapshot.getBatteryLevel() / 100.0);
 
-        // get standard notification copy
+        // get shared standard notification copy
         String title = mContext.getString(R.string.battery_low_title);
-        String contentText = mContext.getString(R.string.battery_low_percent_format, percentage);
+        String contentText;
 
-        // override notification copy if hybrid notification enabled
-        if (mEstimate != null) {
+        // get correct content text if notification is hybrid or not
+        if (mCurrentBatterySnapshot.isHybrid()) {
             contentText = getHybridContentString(percentage);
+        } else {
+            contentText = mContext.getString(R.string.battery_low_percent_format, percentage);
         }
 
         final Notification.Builder nb =
@@ -282,8 +272,9 @@
         }
         // Make the notification red if the percentage goes below a certain amount or the time
         // remaining estimate is disabled
-        if (mEstimate == null || mBucket < 0
-                || mEstimate.estimateMillis < mSevereWarningThreshold) {
+        if (!mCurrentBatterySnapshot.isHybrid() || mBucket < 0
+                || mCurrentBatterySnapshot.getTimeRemainingMillis()
+                        < mCurrentBatterySnapshot.getSevereThresholdMillis()) {
             nb.setColor(Utils.getColorAttrDefaultColor(mContext, android.R.attr.colorError));
         }
 
@@ -324,10 +315,10 @@
 
     private String getHybridContentString(String percentage) {
         return PowerUtil.getBatteryRemainingStringFormatted(
-            mContext,
-            mEstimate.estimateMillis,
-            percentage,
-            mEstimate.isBasedOnUsage);
+                mContext,
+                mCurrentBatterySnapshot.getTimeRemainingMillis(),
+                percentage,
+                mCurrentBatterySnapshot.isBasedOnUsage());
     }
 
     private PendingIntent pendingBroadcast(String action) {
diff --git a/packages/SystemUI/src/com/android/systemui/power/PowerUI.java b/packages/SystemUI/src/com/android/systemui/power/PowerUI.java
index e27c25e..1863860 100644
--- a/packages/SystemUI/src/com/android/systemui/power/PowerUI.java
+++ b/packages/SystemUI/src/com/android/systemui/power/PowerUI.java
@@ -55,6 +55,7 @@
 import java.util.concurrent.Future;
 
 public class PowerUI extends SystemUI {
+
     static final String TAG = "PowerUI";
     static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
     private static final long TEMPERATURE_INTERVAL = 30 * DateUtils.SECOND_IN_MILLIS;
@@ -63,6 +64,7 @@
     static final long THREE_HOURS_IN_MILLIS = DateUtils.HOUR_IN_MILLIS * 3;
     private static final int CHARGE_CYCLE_PERCENT_RESET = 45;
     private static final long SIX_HOURS_MILLIS = Duration.ofHours(6).toMillis();
+    public static final int NO_ESTIMATE_AVAILABLE = -1;
 
     private final Handler mHandler = new Handler();
     @VisibleForTesting
@@ -71,13 +73,9 @@
     private PowerManager mPowerManager;
     private WarningsUI mWarnings;
     private final Configuration mLastConfiguration = new Configuration();
-    private long mTimeRemaining = Long.MAX_VALUE;
     private int mPlugType = 0;
     private int mInvalidCharger = 0;
     private EnhancedEstimates mEnhancedEstimates;
-    private Estimate mLastEstimate;
-    private boolean mLowWarningShownThisChargeCycle;
-    private boolean mSevereWarningShownThisChargeCycle;
     private Future mLastShowWarningTask;
     private boolean mEnableSkinTemperatureWarning;
     private boolean mEnableUsbTemperatureAlarm;
@@ -87,6 +85,10 @@
 
     private long mScreenOffTime = -1;
 
+    @VisibleForTesting boolean mLowWarningShownThisChargeCycle;
+    @VisibleForTesting boolean mSevereWarningShownThisChargeCycle;
+    @VisibleForTesting BatteryStateSnapshot mCurrentBatteryStateSnapshot;
+    @VisibleForTesting BatteryStateSnapshot mLastBatteryStateSnapshot;
     @VisibleForTesting IThermalService mThermalService;
 
     @VisibleForTesting int mBatteryLevel = 100;
@@ -205,6 +207,7 @@
                 mPlugType = intent.getIntExtra(BatteryManager.EXTRA_PLUGGED, 1);
                 final int oldInvalidCharger = mInvalidCharger;
                 mInvalidCharger = intent.getIntExtra(BatteryManager.EXTRA_INVALID_CHARGER, 0);
+                mLastBatteryStateSnapshot = mCurrentBatteryStateSnapshot;
 
                 final boolean plugged = mPlugType != 0;
                 final boolean oldPlugged = oldPlugType != 0;
@@ -233,16 +236,22 @@
                     mWarnings.dismissInvalidChargerWarning();
                 } else if (mWarnings.isInvalidChargerWarningShowing()) {
                     // if invalid charger is showing, don't show low battery
+                    if (DEBUG) {
+                        Slog.d(TAG, "Bad Charger");
+                    }
                     return;
                 }
 
                 // Show the correct version of low battery warning if needed
                 if (mLastShowWarningTask != null) {
                     mLastShowWarningTask.cancel(true);
+                    if (DEBUG) {
+                        Slog.d(TAG, "cancelled task");
+                    }
                 }
                 mLastShowWarningTask = ThreadUtils.postOnBackgroundThread(() -> {
-                    maybeShowBatteryWarning(
-                            oldBatteryLevel, plugged, oldPlugged, oldBucket, bucket);
+                    maybeShowBatteryWarningV2(
+                            plugged, bucket);
                 });
 
             } else if (Intent.ACTION_SCREEN_OFF.equals(action)) {
@@ -257,53 +266,150 @@
         }
     }
 
-    protected void maybeShowBatteryWarning(int oldBatteryLevel, boolean plugged, boolean oldPlugged,
-            int oldBucket, int bucket) {
-        boolean isPowerSaver = mPowerManager.isPowerSaveMode();
-        // only play SFX when the dialog comes up or the bucket changes
-        final boolean playSound = bucket != oldBucket || oldPlugged;
+    protected void maybeShowBatteryWarningV2(boolean plugged, int bucket) {
         final boolean hybridEnabled = mEnhancedEstimates.isHybridNotificationEnabled();
-        if (hybridEnabled) {
-            Estimate estimate = mLastEstimate;
-            if (estimate == null || mBatteryLevel != oldBatteryLevel) {
-                estimate = mEnhancedEstimates.getEstimate();
-                mLastEstimate = estimate;
-            }
-            // Turbo is not always booted once SysUI is running so we have to make sure we actually
-            // get data back
-            if (estimate != null) {
-                mTimeRemaining = estimate.estimateMillis;
-                mWarnings.updateEstimate(estimate);
-                mWarnings.updateThresholds(mEnhancedEstimates.getLowWarningThreshold(),
-                        mEnhancedEstimates.getSevereWarningThreshold());
+        final boolean isPowerSaverMode = mPowerManager.isPowerSaveMode();
 
-                // if we are now over 45% battery & 6 hours remaining we can trigger hybrid
-                // notification again
-                if (mBatteryLevel >= CHARGE_CYCLE_PERCENT_RESET
-                        && mTimeRemaining > SIX_HOURS_MILLIS) {
-                    mLowWarningShownThisChargeCycle = false;
-                    mSevereWarningShownThisChargeCycle = false;
-                }
+        // Stick current battery state into an immutable container to determine if we should show
+        // a warning.
+        if (DEBUG) {
+            Slog.d(TAG, "evaluating which notification to show");
+        }
+        if (hybridEnabled) {
+            if (DEBUG) {
+                Slog.d(TAG, "using hybrid");
+            }
+            Estimate estimate = refreshEstimateIfNeeded();
+            mCurrentBatteryStateSnapshot = new BatteryStateSnapshot(mBatteryLevel, isPowerSaverMode,
+                    plugged, bucket, mBatteryStatus, mLowBatteryReminderLevels[1],
+                    mLowBatteryReminderLevels[0], estimate.getEstimateMillis(),
+                    mEnhancedEstimates.getSevereWarningThreshold(),
+                    mEnhancedEstimates.getLowWarningThreshold(), estimate.isBasedOnUsage());
+        } else {
+            if (DEBUG) {
+                Slog.d(TAG, "using standard");
+            }
+            mCurrentBatteryStateSnapshot = new BatteryStateSnapshot(mBatteryLevel, isPowerSaverMode,
+                    plugged, bucket, mBatteryStatus, mLowBatteryReminderLevels[1],
+                    mLowBatteryReminderLevels[0]);
+        }
+
+        mWarnings.updateSnapshot(mCurrentBatteryStateSnapshot);
+        if (mCurrentBatteryStateSnapshot.isHybrid()) {
+            maybeShowHybridWarning(mCurrentBatteryStateSnapshot, mLastBatteryStateSnapshot);
+        } else {
+            maybeShowBatteryWarning(mCurrentBatteryStateSnapshot, mLastBatteryStateSnapshot);
+        }
+    }
+
+    // updates the time estimate if we don't have one or battery level has changed.
+    @VisibleForTesting
+    Estimate refreshEstimateIfNeeded() {
+        if (mLastBatteryStateSnapshot == null
+                || mLastBatteryStateSnapshot.getTimeRemainingMillis() == NO_ESTIMATE_AVAILABLE
+                || mBatteryLevel != mLastBatteryStateSnapshot.getBatteryLevel()) {
+            final Estimate estimate = mEnhancedEstimates.getEstimate();
+            if (DEBUG) {
+                Slog.d(TAG, "updated estimate: " + estimate.getEstimateMillis());
+            }
+            return estimate;
+        }
+        return new Estimate(mLastBatteryStateSnapshot.getTimeRemainingMillis(),
+                mLastBatteryStateSnapshot.isBasedOnUsage());
+    }
+
+    @VisibleForTesting
+    void maybeShowHybridWarning(BatteryStateSnapshot currentSnapshot,
+            BatteryStateSnapshot lastSnapshot) {
+        // if we are now over 45% battery & 6 hours remaining so we can trigger hybrid
+        // notification again
+        if (currentSnapshot.getBatteryLevel() >= CHARGE_CYCLE_PERCENT_RESET
+                && currentSnapshot.getTimeRemainingMillis() > SIX_HOURS_MILLIS) {
+            mLowWarningShownThisChargeCycle = false;
+            mSevereWarningShownThisChargeCycle = false;
+            if (DEBUG) {
+                Slog.d(TAG, "Charge cycle reset! Can show warnings again");
             }
         }
 
-        if (shouldShowLowBatteryWarning(plugged, oldPlugged, oldBucket, bucket,
-                mTimeRemaining, isPowerSaver, mBatteryStatus)) {
-            mWarnings.showLowBatteryWarning(playSound);
+        final boolean playSound = currentSnapshot.getBucket() != lastSnapshot.getBucket()
+                || lastSnapshot.getPlugged();
 
+        if (shouldShowHybridWarning(currentSnapshot)) {
+            mWarnings.showLowBatteryWarning(playSound);
             // mark if we've already shown a warning this cycle. This will prevent the notification
             // trigger from spamming users by only showing low/critical warnings once per cycle
-            if (hybridEnabled) {
-                if (mTimeRemaining <= mEnhancedEstimates.getSevereWarningThreshold()
-                        || mBatteryLevel <= mLowBatteryReminderLevels[1]) {
-                    mSevereWarningShownThisChargeCycle = true;
-                    mLowWarningShownThisChargeCycle = true;
-                } else {
-                    mLowWarningShownThisChargeCycle = true;
+            if (currentSnapshot.getTimeRemainingMillis()
+                    <= currentSnapshot.getSevereLevelThreshold()
+                    || currentSnapshot.getBatteryLevel() <= mLowBatteryReminderLevels[1]) {
+                mSevereWarningShownThisChargeCycle = true;
+                mLowWarningShownThisChargeCycle = true;
+                if (DEBUG) {
+                    Slog.d(TAG, "Severe warning marked as shown this cycle");
                 }
+            } else {
+                Slog.d(TAG, "Low warning marked as shown this cycle");
+                mLowWarningShownThisChargeCycle = true;
             }
-        } else if (shouldDismissLowBatteryWarning(plugged, oldBucket, bucket, mTimeRemaining,
-                isPowerSaver)) {
+
+        } else if (shouldDismissHybridWarning(currentSnapshot)) {
+            if (DEBUG) {
+                Slog.d(TAG, "Dismissing warning");
+            }
+            mWarnings.dismissLowBatteryWarning();
+        } else {
+            if (DEBUG) {
+                Slog.d(TAG, "Updating warning");
+            }
+            mWarnings.updateLowBatteryWarning();
+        }
+    }
+
+    @VisibleForTesting
+    boolean shouldShowHybridWarning(BatteryStateSnapshot snapshot) {
+        if (snapshot.getPlugged()
+                || snapshot.getBatteryStatus() == BatteryManager.BATTERY_STATUS_UNKNOWN) {
+            Slog.d(TAG, "can't show warning due to - plugged: " + snapshot.getPlugged()
+                    + " status unknown: "
+                    + (snapshot.getBatteryStatus() == BatteryManager.BATTERY_STATUS_UNKNOWN));
+            return false;
+        }
+
+        // Only show the low warning once per charge cycle & no battery saver
+        final boolean canShowWarning = !mLowWarningShownThisChargeCycle && !snapshot.isPowerSaver()
+                && (snapshot.getTimeRemainingMillis() < snapshot.getLowThresholdMillis()
+                || snapshot.getBatteryLevel() <= snapshot.getLowLevelThreshold());
+
+        // Only show the severe warning once per charge cycle
+        final boolean canShowSevereWarning = !mSevereWarningShownThisChargeCycle
+                && (snapshot.getTimeRemainingMillis() < snapshot.getSevereThresholdMillis()
+                || snapshot.getBatteryLevel() <= snapshot.getSevereLevelThreshold());
+
+        final boolean canShow = canShowWarning || canShowSevereWarning;
+        if (DEBUG) {
+            Slog.d(TAG, "Enhanced trigger is: " + canShow + "\nwith battery snapshot:"
+                    + " mLowWarningShownThisChargeCycle: " + mLowWarningShownThisChargeCycle
+                    + " mSevereWarningShownThisChargeCycle: " + mSevereWarningShownThisChargeCycle
+                    + "\n" + snapshot.toString());
+        }
+        return canShow;
+    }
+
+    @VisibleForTesting
+    boolean shouldDismissHybridWarning(BatteryStateSnapshot snapshot) {
+        return snapshot.getPlugged()
+                || snapshot.getTimeRemainingMillis() > snapshot.getLowThresholdMillis();
+    }
+
+    protected void maybeShowBatteryWarning(
+            BatteryStateSnapshot currentSnapshot,
+            BatteryStateSnapshot lastSnapshot) {
+        final boolean playSound = currentSnapshot.getBucket() != lastSnapshot.getBucket()
+                || lastSnapshot.getPlugged();
+
+        if (shouldShowLowBatteryWarning(currentSnapshot, lastSnapshot)) {
+            mWarnings.showLowBatteryWarning(playSound);
+        } else if (shouldDismissLowBatteryWarning(currentSnapshot, lastSnapshot)) {
             mWarnings.dismissLowBatteryWarning();
         } else {
             mWarnings.updateLowBatteryWarning();
@@ -311,64 +417,25 @@
     }
 
     @VisibleForTesting
-    boolean shouldShowLowBatteryWarning(boolean plugged, boolean oldPlugged, int oldBucket,
-            int bucket, long timeRemaining, boolean isPowerSaver, int batteryStatus) {
-        if (mEnhancedEstimates.isHybridNotificationEnabled()) {
-            // triggering logic when enhanced estimate is available
-            return isEnhancedTrigger(plugged, timeRemaining, isPowerSaver, batteryStatus);
-        }
-        // legacy triggering logic
-        return !plugged
-                && !isPowerSaver
-                && (((bucket < oldBucket || oldPlugged) && bucket < 0))
-                && batteryStatus != BatteryManager.BATTERY_STATUS_UNKNOWN;
+    boolean shouldShowLowBatteryWarning(
+            BatteryStateSnapshot currentSnapshot,
+            BatteryStateSnapshot lastSnapshot) {
+        return !currentSnapshot.getPlugged()
+                && !currentSnapshot.isPowerSaver()
+                && (((currentSnapshot.getBucket() < lastSnapshot.getBucket()
+                        || lastSnapshot.getPlugged())
+                && currentSnapshot.getBucket() < 0))
+                && currentSnapshot.getBatteryStatus() != BatteryManager.BATTERY_STATUS_UNKNOWN;
     }
 
     @VisibleForTesting
-    boolean shouldDismissLowBatteryWarning(boolean plugged, int oldBucket, int bucket,
-            long timeRemaining, boolean isPowerSaver) {
-        final boolean hybridEnabled = mEnhancedEstimates.isHybridNotificationEnabled();
-        final boolean hybridWouldDismiss = hybridEnabled
-                && timeRemaining > mEnhancedEstimates.getLowWarningThreshold();
-        final boolean standardWouldDismiss = (bucket > oldBucket && bucket > 0);
-        return (isPowerSaver && !hybridEnabled)
-                || plugged
-                || (standardWouldDismiss && (!mEnhancedEstimates.isHybridNotificationEnabled()
-                        || hybridWouldDismiss));
-    }
-
-    private boolean isEnhancedTrigger(boolean plugged, long timeRemaining, boolean isPowerSaver,
-            int batteryStatus) {
-        if (plugged || batteryStatus == BatteryManager.BATTERY_STATUS_UNKNOWN) {
-            return false;
-        }
-        int warnLevel = mLowBatteryReminderLevels[0];
-        int critLevel = mLowBatteryReminderLevels[1];
-
-        // Only show the low warning once per charge cycle & no battery saver
-        final boolean canShowWarning = !mLowWarningShownThisChargeCycle && !isPowerSaver
-                && (timeRemaining < mEnhancedEstimates.getLowWarningThreshold()
-                || mBatteryLevel <= warnLevel);
-
-        // Only show the severe warning once per charge cycle
-        final boolean canShowSevereWarning = !mSevereWarningShownThisChargeCycle
-                && (timeRemaining < mEnhancedEstimates.getSevereWarningThreshold()
-                || mBatteryLevel <= critLevel);
-
-        final boolean canShow = canShowWarning || canShowSevereWarning;
-        if (DEBUG) {
-            Slog.d(TAG, "Enhanced trigger is: " + canShow + "\nwith values: "
-                    + " mLowWarningShownThisChargeCycle: " + mLowWarningShownThisChargeCycle
-                    + " mSevereWarningShownThisChargeCycle: " + mSevereWarningShownThisChargeCycle
-                    + " mEnhancedEstimates.timeremaining: " + timeRemaining
-                    + " mBatteryLevel: " + mBatteryLevel
-                    + " canShowWarning: " + canShowWarning
-                    + " canShowSevereWarning: " + canShowSevereWarning
-                    + " plugged: " + plugged
-                    + " batteryStatus: " + batteryStatus
-                    + " isPowerSaver: " + isPowerSaver);
-        }
-        return canShowWarning || canShowSevereWarning;
+    boolean shouldDismissLowBatteryWarning(
+            BatteryStateSnapshot currentSnapshot,
+            BatteryStateSnapshot lastSnapshot) {
+        return currentSnapshot.isPowerSaver()
+                || currentSnapshot.getPlugged()
+                || (currentSnapshot.getBucket() > lastSnapshot.getBucket()
+                        && currentSnapshot.getBucket() > 0);
     }
 
     private void initTemperature() {
@@ -453,13 +520,21 @@
         mWarnings.dump(pw);
     }
 
+    /**
+     * The interface to allow PowerUI to communicate with whatever implementation of WarningsUI
+     * is being used by the system.
+     */
     public interface WarningsUI {
+
+        /**
+         * Updates battery and screen info for determining whether to trigger battery warnings or
+         * not.
+         * @param batteryLevel The current battery level
+         * @param bucket The current battery bucket
+         * @param screenOffTime How long the screen has been off in millis
+         */
         void update(int batteryLevel, int bucket, long screenOffTime);
 
-        void updateEstimate(Estimate estimate);
-
-        void updateThresholds(long lowThreshold, long severeThreshold);
-
         void dismissLowBatteryWarning();
 
         void showLowBatteryWarning(boolean playSound);
@@ -486,6 +561,12 @@
         void dump(PrintWriter pw);
 
         void userSwitched();
+
+        /**
+         * Updates the snapshot of battery state used for evaluating battery warnings
+         * @param snapshot object containing relevant values for making battery warning decisions.
+         */
+        void updateSnapshot(BatteryStateSnapshot snapshot);
     }
 
     // Thermal event received from thermal service manager subsystem
diff --git a/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyChip.kt b/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyChip.kt
index 15dc43f..23742c0 100644
--- a/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyChip.kt
+++ b/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyChip.kt
@@ -17,9 +17,9 @@
 import android.content.Context
 import android.util.AttributeSet
 import android.view.ViewGroup
+import android.widget.FrameLayout
 import android.widget.ImageView
 import android.widget.LinearLayout
-import android.widget.TextView
 import com.android.systemui.Dependency
 import com.android.systemui.R
 import com.android.systemui.statusbar.policy.KeyguardMonitor
@@ -42,9 +42,8 @@
     private val sidePadding =
             context.resources.getDimensionPixelSize(R.dimen.ongoing_appops_chip_side_padding)
     private val backgroundDrawable = context.getDrawable(R.drawable.privacy_chip_bg)
-    private lateinit var text: TextView
     private lateinit var iconsContainer: LinearLayout
-    private lateinit var back: LinearLayout
+    private lateinit var back: FrameLayout
     var expanded = false
         set(value) {
             if (value != field) {
@@ -66,14 +65,14 @@
         super.onFinishInflate()
 
         back = findViewById(R.id.background)
-        text = findViewById(R.id.text_container)
         iconsContainer = findViewById(R.id.icons_container)
     }
 
     // Should only be called if the builder icons or app changed
     private fun updateView() {
         back.background = if (expanded) backgroundDrawable else null
-        back.setPaddingRelative(0, 0, if (expanded) sidePadding else 0, 0)
+        val padding = if (expanded) sidePadding else 0
+        back.setPaddingRelative(padding, 0, padding, 0)
         fun setIcons(dialogBuilder: PrivacyDialogBuilder, iconsContainer: ViewGroup) {
             iconsContainer.removeAllViews()
             dialogBuilder.generateIcons().forEachIndexed { i, it ->
@@ -95,44 +94,17 @@
         if (!privacyList.isEmpty()) {
             generateContentDescription()
             setIcons(builder, iconsContainer)
-            setApplicationText()
         } else {
-            text.visibility = GONE
             iconsContainer.removeAllViews()
         }
         requestLayout()
     }
 
-    private fun setApplicationText() {
-        text.visibility = if (builder.types.size == 1 && expanded) VISIBLE else GONE
-        if (builder.types.size == 1 && expanded) {
-            if (builder.app != null && !amISecure()) {
-                text.setText(builder.app?.applicationName)
-            } else {
-                text.text = context.resources.getQuantityString(
-                        R.plurals.ongoing_privacy_chip_multiple_apps,
-                        builder.appsAndTypes.size, builder.appsAndTypes.size)
-            }
-        }
-    }
-
     private fun amISecure() = keyguardMonitor.isShowing && keyguardMonitor.isSecure
 
     private fun generateContentDescription() {
         val typesText = builder.joinTypes()
-        if (builder.types.size > 1) {
-            contentDescription = context.getString(
-                    R.string.ongoing_privacy_chip_content_multiple_apps, typesText)
-        } else {
-            if (builder.app != null && !amISecure()) {
-                contentDescription =
-                        context.getString(R.string.ongoing_privacy_chip_content_single_app,
-                                builder.app?.applicationName, typesText)
-            } else {
-                contentDescription = context.resources.getQuantityString(
-                        R.plurals.ongoing_privacy_chip_content_multiple_apps_single_op,
-                        builder.appsAndTypes.size, builder.appsAndTypes.size, typesText)
-            }
-        }
+        contentDescription = context.getString(
+                R.string.ongoing_privacy_chip_content_multiple_apps, typesText)
     }
 }
\ No newline at end of file
diff --git a/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyDialog.kt b/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyDialog.kt
index 84a3446..cf17018 100644
--- a/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyDialog.kt
+++ b/packages/SystemUI/src/com/android/systemui/privacy/OngoingPrivacyDialog.kt
@@ -24,6 +24,7 @@
 import android.os.UserHandle
 import android.provider.Settings
 import android.util.IconDrawableFactory
+import android.util.StatsLog
 import android.view.Gravity
 import android.view.LayoutInflater
 import android.view.View
@@ -55,7 +56,13 @@
 
     fun createDialog(): Dialog {
         val builder = AlertDialog.Builder(context).apply {
-            setPositiveButton(R.string.ongoing_privacy_dialog_ok, null)
+            setPositiveButton(R.string.ongoing_privacy_dialog_ok,
+                    object : DialogInterface.OnClickListener {
+                override fun onClick(dialog: DialogInterface?, which: Int) {
+                    StatsLog.write(StatsLog.PRIVACY_INDICATORS_INTERACTED,
+                            StatsLog.PRIVACY_INDICATORS_INTERACTED__TYPE__DIALOG_DISMISS)
+                }
+            })
             setNeutralButton(R.string.ongoing_privacy_dialog_open_settings,
                     object : DialogInterface.OnClickListener {
                         val intent = Intent(Settings.ACTION_PRIVACY_SETTINGS).putExtra(
@@ -63,6 +70,8 @@
 
                         @Suppress("DEPRECATION")
                         override fun onClick(dialog: DialogInterface?, which: Int) {
+                            StatsLog.write(StatsLog.PRIVACY_INDICATORS_INTERACTED, StatsLog
+                                    .PRIVACY_INDICATORS_INTERACTED__TYPE__DIALOG_PRIVACY_SETTINGS)
                             Dependency.get(ActivityStarter::class.java)
                                     .postStartActivityDismissingKeyguard(intent, 0)
                         }
@@ -136,6 +145,9 @@
                         .putExtra(Intent.EXTRA_PACKAGE_NAME, app.packageName)
                         .putExtra(Intent.EXTRA_USER, UserHandle.getUserHandleForUid(app.uid))
                 override fun onClick(v: View?) {
+                    StatsLog.write(StatsLog.PRIVACY_INDICATORS_INTERACTED,
+                            StatsLog.PRIVACY_INDICATORS_INTERACTED__TYPE__DIALOG_LINE_ITEM,
+                            app.packageName)
                     Dependency.get(ActivityStarter::class.java)
                             .postStartActivityDismissingKeyguard(intent, 0)
                     dismissDialog?.invoke()
diff --git a/packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialogBuilder.kt b/packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialogBuilder.kt
index bbea6b2..59b3c34 100644
--- a/packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialogBuilder.kt
+++ b/packages/SystemUI/src/com/android/systemui/privacy/PrivacyDialogBuilder.kt
@@ -22,7 +22,6 @@
 
     val appsAndTypes: List<Pair<PrivacyApplication, List<PrivacyType>>>
     val types: List<PrivacyType>
-    val app: PrivacyApplication?
     private val separator = context.getString(R.string.ongoing_privacy_dialog_separator)
     private val lastSeparator = context.getString(R.string.ongoing_privacy_dialog_last_separator)
 
@@ -32,8 +31,6 @@
                 .sortedWith(compareBy({ -it.second.size }, // Sort by number of AppOps
                         { it.second.min() })) // Sort by "smallest" AppOpp (Location is largest)
         types = itemsList.map { it.privacyType }.distinct().sorted()
-        val singleApp = appsAndTypes.size == 1
-        app = if (singleApp) appsAndTypes[0].first else null
     }
 
     fun generateIconsForApp(types: List<PrivacyType>): List<Drawable> {
@@ -58,11 +55,7 @@
     }
 
     fun getDialogTitle(): String {
-        if (app != null) {
-            return context.getString(R.string.ongoing_privacy_dialog_single_app_title, joinTypes())
-        } else {
-            return context.getString(R.string.ongoing_privacy_dialog_multiple_apps_title,
+        return context.getString(R.string.ongoing_privacy_dialog_multiple_apps_title,
                     joinTypes())
-        }
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/privacy/PrivacyItemController.kt b/packages/SystemUI/src/com/android/systemui/privacy/PrivacyItemController.kt
index 625eacd..1c0974a 100644
--- a/packages/SystemUI/src/com/android/systemui/privacy/PrivacyItemController.kt
+++ b/packages/SystemUI/src/com/android/systemui/privacy/PrivacyItemController.kt
@@ -61,7 +61,8 @@
 
     @VisibleForTesting
     internal var privacyList = emptyList<PrivacyItem>()
-        get() = field.toList() // Provides a shallow copy of the list
+        @Synchronized get() = field.toList() // Returns a shallow copy of the list
+        @Synchronized set
 
     private val userManager = context.getSystemService(UserManager::class.java)
     private var currentUserIds = emptyList<Int>()
@@ -71,7 +72,8 @@
     private val callbacks = mutableListOf<WeakReference<Callback>>()
 
     private val notifyChanges = Runnable {
-        callbacks.forEach { it.get()?.privacyChanged(privacyList) }
+        val list = privacyList
+        callbacks.forEach { it.get()?.privacyChanged(list) }
     }
 
     private val updateListAndNotifyChanges = Runnable {
@@ -157,8 +159,10 @@
     }
 
     private fun updatePrivacyList() {
-        privacyList = currentUserIds.flatMap { appOpsController.getActiveAppOpsForUser(it) }
+
+        val list = currentUserIds.flatMap { appOpsController.getActiveAppOpsForUser(it) }
                 .mapNotNull { toPrivacyItem(it) }.distinct()
+        privacyList = list
     }
 
     private fun toPrivacyItem(appOpItem: AppOpItem): PrivacyItem? {
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java
index f607367..8e77851 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSAnimator.java
@@ -127,12 +127,12 @@
     @Override
     public void onTuningChanged(String key, String newValue) {
         if (ALLOW_FANCY_ANIMATION.equals(key)) {
-            mAllowFancy = newValue == null || Integer.parseInt(newValue) != 0;
+            mAllowFancy = TunerService.parseIntegerSwitch(newValue, true);
             if (!mAllowFancy) {
                 clearAnimationState();
             }
         } else if (MOVE_FULL_ROWS.equals(key)) {
-            mFullRows = newValue == null || Integer.parseInt(newValue) != 0;
+            mFullRows = TunerService.parseIntegerSwitch(newValue, true);
         } else if (QuickQSPanel.NUM_QUICK_TILES.equals(key)) {
             mNumQuickTiles = mQuickQsPanel.getNumQuickTiles(mQs.getContext());
             clearAnimationState();
@@ -261,11 +261,9 @@
             // Fade in the tiles/labels as we reach the final position.
             mFirstPageDelayedAnimator = new TouchAnimator.Builder()
                     .setStartDelay(EXPANDED_TILE_DELAY)
-                    .addFloat(mQsPanel.getPageIndicator(), "alpha", 0, 1)
                     .addFloat(tileLayout, "alpha", 0, 1)
                     .addFloat(mQsPanel.getDivider(), "alpha", 0, 1)
                     .addFloat(mQsPanel.getFooter().getView(), "alpha", 0, 1).build();
-            mAllViews.add(mQsPanel.getPageIndicator());
             mAllViews.add(mQsPanel.getDivider());
             mAllViews.add(mQsPanel.getFooter().getView());
             float px = 0;
@@ -283,7 +281,6 @@
         }
         mNonfirstPageAnimator = new TouchAnimator.Builder()
                 .addFloat(mQuickQsPanel, "alpha", 1, 0)
-                .addFloat(mQsPanel.getPageIndicator(), "alpha", 0, 1)
                 .addFloat(mQsPanel.getDivider(), "alpha", 0, 1)
                 .setListener(mNonFirstPageListener)
                 .setEndDelay(.5f)
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSCarrier.java b/packages/SystemUI/src/com/android/systemui/qs/QSCarrier.java
new file mode 100644
index 0000000..3ff30c5
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSCarrier.java
@@ -0,0 +1,141 @@
+/*
+ * 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.qs;
+
+import android.content.Context;
+import android.content.res.ColorStateList;
+import android.text.TextUtils;
+import android.util.AttributeSet;
+import android.view.View;
+import android.widget.ImageView;
+import android.widget.LinearLayout;
+import android.widget.TextView;
+
+import com.android.settingslib.Utils;
+import com.android.settingslib.graph.SignalDrawable;
+import com.android.systemui.R;
+
+public class QSCarrier extends LinearLayout {
+
+    private View mMobileGroup;
+    private QSCarrierText mCarrierText;
+    private ImageView mMobileSignal;
+    private ImageView mMobileRoaming;
+    private ColorStateList mColorForegroundStateList;
+    private float mColorForegroundIntensity;
+
+    public QSCarrier(Context context) {
+        super(context);
+    }
+
+    public QSCarrier(Context context, AttributeSet attrs) {
+        super(context, attrs);
+    }
+
+    public QSCarrier(Context context, AttributeSet attrs, int defStyleAttr) {
+        super(context, attrs, defStyleAttr);
+    }
+
+    public QSCarrier(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
+        super(context, attrs, defStyleAttr, defStyleRes);
+    }
+
+    @Override
+    protected void onFinishInflate() {
+        super.onFinishInflate();
+        mMobileGroup = findViewById(R.id.mobile_combo);
+        mMobileSignal = findViewById(R.id.mobile_signal);
+        mMobileRoaming = findViewById(R.id.mobile_roaming);
+        mCarrierText = findViewById(R.id.qs_carrier_text);
+
+        int colorForeground = Utils.getColorAttrDefaultColor(mContext,
+                android.R.attr.colorForeground);
+        mColorForegroundStateList = ColorStateList.valueOf(colorForeground);
+        mColorForegroundIntensity = QuickStatusBarHeader.getColorIntensity(colorForeground);
+
+    }
+
+    public void updateState(QSCarrierGroup.CellSignalState state) {
+        mMobileGroup.setVisibility(state.visible ? View.VISIBLE : View.GONE);
+        if (state.visible) {
+            mMobileRoaming.setVisibility(state.roaming ? View.VISIBLE : View.GONE);
+            mMobileRoaming.setImageTintList(mColorForegroundStateList);
+            SignalDrawable d = new SignalDrawable(mContext);
+            d.setDarkIntensity(mColorForegroundIntensity);
+            mMobileSignal.setImageDrawable(d);
+            mMobileSignal.setImageLevel(state.mobileSignalIconId);
+
+            StringBuilder contentDescription = new StringBuilder();
+            if (state.contentDescription != null) {
+                contentDescription.append(state.contentDescription).append(", ");
+            }
+            if (state.roaming) {
+                contentDescription
+                        .append(mContext.getString(R.string.data_connection_roaming))
+                        .append(", ");
+            }
+            // TODO: show mobile data off/no internet text for 5 seconds before carrier text
+            if (TextUtils.equals(state.typeContentDescription,
+                    mContext.getString(R.string.data_connection_no_internet))
+                    || TextUtils.equals(state.typeContentDescription,
+                    mContext.getString(R.string.cell_data_off_content_description))) {
+                contentDescription.append(state.typeContentDescription);
+            }
+            mMobileSignal.setContentDescription(contentDescription);
+        }
+    }
+
+    public void setCarrierText(CharSequence text) {
+        mCarrierText.setText(text);
+    }
+
+    /**
+     * TextView that changes its ellipsize value with its visibility.
+     */
+    public static class QSCarrierText extends TextView {
+
+        public QSCarrierText(Context context) {
+            super(context);
+        }
+
+        public QSCarrierText(Context context, AttributeSet attrs) {
+            super(context, attrs);
+        }
+
+        public QSCarrierText(Context context, AttributeSet attrs, int defStyleAttr) {
+            super(context, attrs, defStyleAttr);
+        }
+
+        public QSCarrierText(Context context, AttributeSet attrs, int defStyleAttr,
+                int defStyleRes) {
+            super(context, attrs, defStyleAttr, defStyleRes);
+        }
+
+        @Override
+        protected void onVisibilityChanged(View changedView, int visibility) {
+            super.onVisibilityChanged(changedView, visibility);
+            // Only show marquee when visible
+            if (visibility == VISIBLE) {
+                setEllipsize(TextUtils.TruncateAt.MARQUEE);
+                setSelected(true);
+            } else {
+                setEllipsize(TextUtils.TruncateAt.END);
+                setSelected(false);
+            }
+        }
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSCarrierGroup.java b/packages/SystemUI/src/com/android/systemui/qs/QSCarrierGroup.java
new file mode 100644
index 0000000..0eeaa9b
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSCarrierGroup.java
@@ -0,0 +1,224 @@
+/*
+ * 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.qs;
+
+import static com.android.systemui.util.InjectionInflationController.VIEW_CONTEXT;
+
+import android.content.Context;
+import android.telephony.SubscriptionManager;
+import android.util.AttributeSet;
+import android.util.Log;
+import android.view.View;
+import android.widget.LinearLayout;
+
+import androidx.annotation.VisibleForTesting;
+
+import com.android.keyguard.CarrierTextController;
+import com.android.systemui.Dependency;
+import com.android.systemui.R;
+import com.android.systemui.statusbar.policy.NetworkController;
+
+import javax.inject.Inject;
+import javax.inject.Named;
+
+/**
+ * Displays Carrier name and network status in QS
+ */
+public class QSCarrierGroup extends LinearLayout implements
+        CarrierTextController.CarrierTextCallback,
+        NetworkController.SignalCallback {
+
+    private static final String TAG = "QSCarrierGroup";
+    /**
+     * Support up to 3 slots which is what's supported by {@link TelephonyManager#getPhoneCount}
+     */
+    private static final int SIM_SLOTS = 3;
+    private final NetworkController mNetworkController;
+
+    private View[] mCarrierDividers = new View[SIM_SLOTS - 1];
+    private QSCarrier[] mCarrierGroups = new QSCarrier[SIM_SLOTS];
+    private final CellSignalState[] mInfos = new CellSignalState[SIM_SLOTS];
+    private CarrierTextController mCarrierTextController;
+
+    private boolean mListening;
+
+    @Inject
+    public QSCarrierGroup(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs,
+            NetworkController networkController) {
+        super(context, attrs);
+        mNetworkController = networkController;
+    }
+
+    @VisibleForTesting
+    public QSCarrierGroup(Context context, AttributeSet attrs) {
+        this(context, attrs,
+                Dependency.get(NetworkController.class));
+    }
+
+    @Override
+    protected void onFinishInflate() {
+        super.onFinishInflate();
+
+        mCarrierGroups[0] = findViewById(R.id.carrier1);
+        mCarrierGroups[1] = findViewById(R.id.carrier2);
+        mCarrierGroups[2] = findViewById(R.id.carrier3);
+
+        mCarrierDividers[0] = findViewById(R.id.qs_carrier_divider1);
+        mCarrierDividers[1] = findViewById(R.id.qs_carrier_divider2);
+
+        for (int i = 0; i < SIM_SLOTS; i++) {
+            mInfos[i] = new CellSignalState();
+        }
+
+        CharSequence separator = mContext.getString(
+                com.android.internal.R.string.kg_text_message_separator);
+        mCarrierTextController = new CarrierTextController(mContext, separator, false, false);
+        setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_YES);
+    }
+
+    public void setListening(boolean listening) {
+        if (listening == mListening) {
+            return;
+        }
+        mListening = listening;
+        updateListeners();
+    }
+
+    @Override
+    @VisibleForTesting
+    public void onDetachedFromWindow() {
+        setListening(false);
+        super.onDetachedFromWindow();
+    }
+
+    private void updateListeners() {
+        if (mListening) {
+            if (mNetworkController.hasVoiceCallingFeature()) {
+                mNetworkController.addCallback(this);
+            }
+            mCarrierTextController.setListening(this);
+        } else {
+            mNetworkController.removeCallback(this);
+            mCarrierTextController.setListening(null);
+        }
+    }
+
+    private void handleUpdateState() {
+        for (int i = 0; i < SIM_SLOTS; i++) {
+            mCarrierGroups[i].updateState(mInfos[i]);
+        }
+
+        mCarrierDividers[0].setVisibility(
+                mInfos[0].visible && mInfos[1].visible ? View.VISIBLE : View.GONE);
+        // This tackles the case of slots 2 being available as well as at least one other.
+        // In that case we show the second divider. Note that if both dividers are visible, it means
+        // all three slots are in use, and that is correct.
+        mCarrierDividers[1].setVisibility(
+                (mInfos[1].visible && mInfos[2].visible)
+                        || (mInfos[0].visible && mInfos[2].visible) ? View.VISIBLE : View.GONE);
+    }
+
+    @VisibleForTesting
+    protected int getSlotIndex(int subscriptionId) {
+        return SubscriptionManager.getSlotIndex(subscriptionId);
+    }
+
+    @Override
+    public void updateCarrierInfo(CarrierTextController.CarrierTextCallbackInfo info) {
+        if (info.anySimReady) {
+            boolean[] slotSeen = new boolean[SIM_SLOTS];
+            if (info.listOfCarriers.length == info.subscriptionIds.length) {
+                for (int i = 0; i < SIM_SLOTS && i < info.listOfCarriers.length; i++) {
+                    int slot = getSlotIndex(info.subscriptionIds[i]);
+                    if (slot >= SIM_SLOTS) {
+                        Log.w(TAG, "updateInfoCarrier - slot: " + slot);
+                        continue;
+                    }
+                    if (slot == SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
+                        Log.e(TAG,
+                                "Invalid SIM slot index for subscription: "
+                                        + info.subscriptionIds[i]);
+                        continue;
+                    }
+                    mInfos[slot].visible = true;
+                    slotSeen[slot] = true;
+                    mCarrierGroups[slot].setCarrierText(info.listOfCarriers[i].toString().trim());
+                    mCarrierGroups[slot].setVisibility(View.VISIBLE);
+                }
+                for (int i = 0; i < SIM_SLOTS; i++) {
+                    if (!slotSeen[i]) {
+                        mInfos[i].visible = false;
+                        mCarrierGroups[i].setVisibility(View.GONE);
+                    }
+                }
+            } else {
+                Log.e(TAG, "Carrier information arrays not of same length");
+            }
+        } else {
+            mInfos[0].visible = false;
+            mCarrierGroups[0].setCarrierText(info.carrierText);
+            mCarrierGroups[0].setVisibility(View.VISIBLE);
+            for (int i = 1; i < SIM_SLOTS; i++) {
+                mInfos[i].visible = false;
+                mCarrierGroups[i].setCarrierText("");
+                mCarrierGroups[i].setVisibility(View.GONE);
+            }
+        }
+        handleUpdateState();
+    }
+
+    @Override
+    public void setMobileDataIndicators(NetworkController.IconState statusIcon,
+            NetworkController.IconState qsIcon, int statusType,
+            int qsType, boolean activityIn, boolean activityOut,
+            String typeContentDescription,
+            String description, boolean isWide, int subId, boolean roaming) {
+        int slotIndex = getSlotIndex(subId);
+        if (slotIndex >= SIM_SLOTS) {
+            Log.w(TAG, "setMobileDataIndicators - slot: " + slotIndex);
+            return;
+        }
+        if (slotIndex == SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
+            Log.e(TAG, "Invalid SIM slot index for subscription: " + subId);
+            return;
+        }
+        mInfos[slotIndex].visible = statusIcon.visible;
+        mInfos[slotIndex].mobileSignalIconId = statusIcon.icon;
+        mInfos[slotIndex].contentDescription = statusIcon.contentDescription;
+        mInfos[slotIndex].typeContentDescription = typeContentDescription;
+        mInfos[slotIndex].roaming = roaming;
+        handleUpdateState();
+    }
+
+    @Override
+    public void setNoSims(boolean hasNoSims, boolean simDetected) {
+        if (hasNoSims) {
+            for (int i = 0; i < SIM_SLOTS; i++) {
+                mInfos[i].visible = false;
+            }
+        }
+        handleUpdateState();
+    }
+
+    static final class CellSignalState {
+        boolean visible;
+        int mobileSignalIconId;
+        String contentDescription;
+        String typeContentDescription;
+        boolean roaming;
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSFooterImpl.java b/packages/SystemUI/src/com/android/systemui/qs/QSFooterImpl.java
index bbd8de3..0ae8f6c 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSFooterImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSFooterImpl.java
@@ -23,24 +23,24 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.UserInfo;
-import android.content.res.ColorStateList;
 import android.content.res.Configuration;
+import android.database.ContentObserver;
 import android.graphics.PorterDuff.Mode;
 import android.graphics.drawable.Drawable;
 import android.graphics.drawable.RippleDrawable;
+import android.net.Uri;
+import android.os.Build;
 import android.os.Bundle;
+import android.os.Handler;
+import android.os.UserHandle;
 import android.os.UserManager;
-import android.telephony.SubscriptionManager;
-import android.text.TextUtils;
+import android.provider.Settings;
 import android.util.AttributeSet;
-import android.util.Log;
 import android.view.View;
 import android.view.View.OnClickListener;
-import android.view.ViewGroup;
 import android.view.accessibility.AccessibilityNodeInfo;
 import android.widget.FrameLayout;
 import android.widget.ImageView;
-import android.widget.LinearLayout;
 import android.widget.TextView;
 import android.widget.Toast;
 
@@ -49,11 +49,10 @@
 
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto;
-import com.android.keyguard.CarrierTextController;
 import com.android.keyguard.KeyguardUpdateMonitor;
 import com.android.settingslib.Utils;
+import com.android.settingslib.development.DevelopmentSettingsEnabler;
 import com.android.settingslib.drawable.UserIconDrawable;
-import com.android.settingslib.graph.SignalDrawable;
 import com.android.systemui.Dependency;
 import com.android.systemui.R;
 import com.android.systemui.R.dimen;
@@ -62,9 +61,6 @@
 import com.android.systemui.statusbar.phone.MultiUserSwitch;
 import com.android.systemui.statusbar.phone.SettingsButton;
 import com.android.systemui.statusbar.policy.DeviceProvisionedController;
-import com.android.systemui.statusbar.policy.NetworkController;
-import com.android.systemui.statusbar.policy.NetworkController.EmergencyListener;
-import com.android.systemui.statusbar.policy.NetworkController.SignalCallback;
 import com.android.systemui.statusbar.policy.UserInfoController;
 import com.android.systemui.statusbar.policy.UserInfoController.OnUserInfoChangedListener;
 import com.android.systemui.tuner.TunerService;
@@ -73,15 +69,12 @@
 import javax.inject.Named;
 
 public class QSFooterImpl extends FrameLayout implements QSFooter,
-        OnClickListener, OnUserInfoChangedListener, EmergencyListener, SignalCallback,
-        CarrierTextController.CarrierTextCallback {
+        OnClickListener, OnUserInfoChangedListener {
 
-    private static final int SIM_SLOTS = 2;
     private static final String TAG = "QSFooterImpl";
 
     private final ActivityStarter mActivityStarter;
     private final UserInfoController mUserInfoController;
-    private final NetworkController mNetworkController;
     private final DeviceProvisionedController mDeviceProvisionedController;
     private SettingsButton mSettingsButton;
     protected View mSettingsContainer;
@@ -94,7 +87,6 @@
 
     private boolean mListening;
 
-    private boolean mShowEmergencyCallsOnly;
     private View mDivider;
     protected MultiUserSwitch mMultiUserSwitch;
     private ImageView mMultiUserAvatar;
@@ -103,35 +95,30 @@
     private float mExpansionAmount;
 
     protected View mEdit;
+    protected View mEditContainer;
     private TouchAnimator mSettingsCogAnimator;
 
     private View mActionsContainer;
     private View mDragHandle;
 
-    private View mCarrierDivider;
-    private ViewGroup mMobileFooter;
-    private View[] mMobileGroups = new View[SIM_SLOTS];
-    private ViewGroup[] mCarrierGroups = new ViewGroup[SIM_SLOTS];
-    private TextView[] mCarrierTexts = new TextView[SIM_SLOTS];
-    private ImageView[] mMobileSignals = new ImageView[SIM_SLOTS];
-    private ImageView[] mMobileRoamings = new ImageView[SIM_SLOTS];
-    private final CellSignalState[] mInfos =
-            new CellSignalState[]{new CellSignalState(), new CellSignalState()};
-
-    private final int mColorForeground;
     private OnClickListener mExpandClickListener;
-    private CarrierTextController mCarrierTextController;
+
+    private final ContentObserver mDeveloperSettingsObserver = new ContentObserver(
+            new Handler(mContext.getMainLooper())) {
+        @Override
+        public void onChange(boolean selfChange, Uri uri) {
+            super.onChange(selfChange, uri);
+            setBuildText();
+        }
+    };
 
     @Inject
     public QSFooterImpl(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs,
             ActivityStarter activityStarter, UserInfoController userInfoController,
-            NetworkController networkController,
             DeviceProvisionedController deviceProvisionedController) {
         super(context, attrs);
-        mColorForeground = Utils.getColorAttrDefaultColor(context, android.R.attr.colorForeground);
         mActivityStarter = activityStarter;
         mUserInfoController = userInfoController;
-        mNetworkController = networkController;
         mDeviceProvisionedController = deviceProvisionedController;
     }
 
@@ -140,7 +127,6 @@
         this(context, attrs,
                 Dependency.get(ActivityStarter.class),
                 Dependency.get(UserInfoController.class),
-                Dependency.get(NetworkController.class),
                 Dependency.get(DeviceProvisionedController.class));
     }
 
@@ -159,26 +145,12 @@
         mSettingsContainer = findViewById(R.id.settings_button_container);
         mSettingsButton.setOnClickListener(this);
 
-        mMobileFooter = findViewById(R.id.qs_mobile);
-        mCarrierGroups[0] = findViewById(R.id.carrier1);
-        mCarrierGroups[1] = findViewById(R.id.carrier2);
-
-        for (int i = 0; i < SIM_SLOTS; i++) {
-            mMobileGroups[i] = mCarrierGroups[i].findViewById(R.id.mobile_combo);
-            mMobileSignals[i] = mCarrierGroups[i].findViewById(R.id.mobile_signal);
-            mMobileRoamings[i] = mCarrierGroups[i].findViewById(R.id.mobile_roaming);
-            mCarrierTexts[i] = mCarrierGroups[i].findViewById(R.id.qs_carrier_text);
-        }
-        mCarrierDivider = findViewById(R.id.qs_carrier_divider);
-        CharSequence separator = mContext.getString(
-                com.android.internal.R.string.kg_text_message_separator);
-        mCarrierTextController = new CarrierTextController(mContext, separator, false, false);
-
         mMultiUserSwitch = findViewById(R.id.multi_user_switch);
         mMultiUserAvatar = mMultiUserSwitch.findViewById(R.id.multi_user_avatar);
 
         mDragHandle = findViewById(R.id.qs_drag_handle_view);
         mActionsContainer = findViewById(R.id.qs_footer_actions_container);
+        mEditContainer = findViewById(R.id.qs_footer_actions_edit_container);
 
         // RenderThread is doing more harm than good when touching the header (to expand quick
         // settings), so disable it for this view
@@ -190,6 +162,21 @@
                 oldBottom) -> updateAnimator(right - left));
         setImportantForAccessibility(IMPORTANT_FOR_ACCESSIBILITY_YES);
         updateEverything();
+        setBuildText();
+    }
+
+    private void setBuildText() {
+        TextView v = findViewById(R.id.build);
+        if (v == null) return;
+        if (DevelopmentSettingsEnabler.isDevelopmentSettingsEnabled(mContext)) {
+            v.setText(mContext.getString(
+                    com.android.internal.R.string.bugreport_status,
+                    Build.VERSION.RELEASE,
+                    Build.ID));
+            v.setVisibility(View.VISIBLE);
+        } else {
+            v.setVisibility(View.GONE);
+        }
     }
 
     private void updateAnimator(int width) {
@@ -222,14 +209,6 @@
 
     private void updateResources() {
         updateFooterAnimator();
-
-        // Update the width and weight of the actions container as the page indicator can sometimes
-        // show and the layout needs to center it between the carrier text and actions container.
-        LinearLayout.LayoutParams params =
-                (LinearLayout.LayoutParams) mActionsContainer.getLayoutParams();
-        params.width = mContext.getResources().getInteger(R.integer.qs_footer_actions_width);
-        params.weight = mContext.getResources().getInteger(R.integer.qs_footer_actions_weight);
-        mActionsContainer.setLayoutParams(params);
     }
 
     private void updateFooterAnimator() {
@@ -240,9 +219,8 @@
     private TouchAnimator createFooterAnimator() {
         return new TouchAnimator.Builder()
                 .addFloat(mDivider, "alpha", 0, 1)
-                .addFloat(mMobileFooter, "alpha", 0, 0, 1)
-                .addFloat(mCarrierDivider, "alpha", 0, 1)
                 .addFloat(mActionsContainer, "alpha", 0, 1)
+                .addFloat(mEditContainer, "alpha", 0, 1)
                 .addFloat(mDragHandle, "alpha", 1, 0, 0)
                 .addFloat(mPageIndicator, "alpha", 0, 1)
                 .setStartDelay(0.15f)
@@ -277,9 +255,18 @@
     }
 
     @Override
+    protected void onAttachedToWindow() {
+        super.onAttachedToWindow();
+        mContext.getContentResolver().registerContentObserver(
+                Settings.Global.getUriFor(Settings.Global.DEVELOPMENT_SETTINGS_ENABLED), false,
+                mDeveloperSettingsObserver, UserHandle.USER_ALL);
+    }
+
+    @Override
     @VisibleForTesting
     public void onDetachedFromWindow() {
         setListening(false);
+        mContext.getContentResolver().unregisterContentObserver(mDeveloperSettingsObserver);
         super.onDetachedFromWindow();
     }
 
@@ -337,7 +324,7 @@
                 TunerService.isTunerEnabled(mContext) ? View.VISIBLE : View.INVISIBLE);
         final boolean isDemo = UserManager.isDeviceInDemoMode(mContext);
         mMultiUserSwitch.setVisibility(showUserSwitcher(isDemo) ? View.VISIBLE : View.INVISIBLE);
-        mEdit.setVisibility(isDemo || !mExpanded ? View.INVISIBLE : View.VISIBLE);
+        mEditContainer.setVisibility(isDemo || !mExpanded ? View.INVISIBLE : View.VISIBLE);
         mSettingsButton.setVisibility(isDemo || !mExpanded ? View.INVISIBLE : View.VISIBLE);
     }
 
@@ -364,16 +351,8 @@
     private void updateListeners() {
         if (mListening) {
             mUserInfoController.addCallback(this);
-            if (mNetworkController.hasVoiceCallingFeature()) {
-                mNetworkController.addEmergencyListener(this);
-                mNetworkController.addCallback(this);
-            }
-            mCarrierTextController.setListening(this);
         } else {
             mUserInfoController.removeCallback(this);
-            mNetworkController.removeEmergencyListener(this);
-            mNetworkController.removeCallback(this);
-            mCarrierTextController.setListening(null);
         }
     }
 
@@ -430,17 +409,6 @@
     }
 
     @Override
-    public void setEmergencyCallsOnly(boolean show) {
-        boolean changed = show != mShowEmergencyCallsOnly;
-        if (changed) {
-            mShowEmergencyCallsOnly = show;
-            if (mExpanded) {
-                updateEverything();
-            }
-        }
-    }
-
-    @Override
     public void onUserInfoChanged(String name, Drawable picture, String userAccount) {
         if (picture != null &&
                 UserManager.get(mContext).isGuestUser(KeyguardUpdateMonitor.getCurrentUser()) &&
@@ -452,162 +420,4 @@
         }
         mMultiUserAvatar.setImageDrawable(picture);
     }
-
-    private void handleUpdateState() {
-        for (int i = 0; i < SIM_SLOTS; i++) {
-            mMobileGroups[i].setVisibility(mInfos[i].visible ? View.VISIBLE : View.GONE);
-            if (mInfos[i].visible) {
-                mMobileRoamings[i].setVisibility(mInfos[i].roaming ? View.VISIBLE : View.GONE);
-                mMobileRoamings[i].setImageTintList(ColorStateList.valueOf(mColorForeground));
-                SignalDrawable d = new SignalDrawable(mContext);
-                d.setDarkIntensity(QuickStatusBarHeader.getColorIntensity(mColorForeground));
-                mMobileSignals[i].setImageDrawable(d);
-                mMobileSignals[i].setImageLevel(mInfos[i].mobileSignalIconId);
-
-                StringBuilder contentDescription = new StringBuilder();
-                if (mInfos[i].contentDescription != null) {
-                    contentDescription.append(mInfos[i].contentDescription).append(", ");
-                }
-                if (mInfos[i].roaming) {
-                    contentDescription
-                            .append(mContext.getString(R.string.data_connection_roaming))
-                            .append(", ");
-                }
-                // TODO: show mobile data off/no internet text for 5 seconds before carrier text
-                if (TextUtils.equals(mInfos[i].typeContentDescription,
-                        mContext.getString(R.string.data_connection_no_internet))
-                        || TextUtils.equals(mInfos[i].typeContentDescription,
-                        mContext.getString(R.string.cell_data_off_content_description))) {
-                    contentDescription.append(mInfos[i].typeContentDescription);
-                }
-                mMobileSignals[i].setContentDescription(contentDescription);
-            }
-        }
-        mCarrierDivider.setVisibility(
-                mInfos[0].visible && mInfos[1].visible ? View.VISIBLE : View.GONE);
-    }
-
-    @VisibleForTesting
-    protected int getSlotIndex(int subscriptionId) {
-        return SubscriptionManager.getSlotIndex(subscriptionId);
-    }
-
-    @Override
-    public void updateCarrierInfo(CarrierTextController.CarrierTextCallbackInfo info) {
-        if (info.anySimReady) {
-            boolean[] slotSeen = new boolean[SIM_SLOTS];
-            if (info.listOfCarriers.length == info.subscriptionIds.length) {
-                for (int i = 0; i < SIM_SLOTS && i < info.listOfCarriers.length; i++) {
-                    int slot = getSlotIndex(info.subscriptionIds[i]);
-                    if (slot >= SIM_SLOTS) {
-                        Log.w(TAG, "updateInfoCarrier - slot: " + slot);
-                        continue;
-                    }
-                    if (slot == SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
-                        Log.e(TAG,
-                                "Invalid SIM slot index for subscription: "
-                                        + info.subscriptionIds[i]);
-                        continue;
-                    }
-                    mInfos[slot].visible = true;
-                    slotSeen[slot] = true;
-                    mCarrierTexts[slot].setText(info.listOfCarriers[i].toString().trim());
-                    mCarrierGroups[slot].setVisibility(View.VISIBLE);
-                }
-                for (int i = 0; i < SIM_SLOTS; i++) {
-                    if (!slotSeen[i]) {
-                        mInfos[i].visible = false;
-                        mCarrierGroups[i].setVisibility(View.GONE);
-                    }
-                }
-            } else {
-                Log.e(TAG, "Carrier information arrays not of same length");
-            }
-        } else {
-            mInfos[0].visible = false;
-            mCarrierTexts[0].setText(info.carrierText);
-            mCarrierGroups[0].setVisibility(View.VISIBLE);
-            for (int i = 1; i < SIM_SLOTS; i++) {
-                mInfos[i].visible = false;
-                mCarrierTexts[i].setText("");
-                mCarrierGroups[i].setVisibility(View.GONE);
-            }
-        }
-        handleUpdateState();
-    }
-
-    @Override
-    public void setMobileDataIndicators(NetworkController.IconState statusIcon,
-            NetworkController.IconState qsIcon, int statusType,
-            int qsType, boolean activityIn, boolean activityOut,
-            String typeContentDescription,
-            String description, boolean isWide, int subId, boolean roaming) {
-        int slotIndex = getSlotIndex(subId);
-        if (slotIndex >= SIM_SLOTS) {
-            Log.w(TAG, "setMobileDataIndicators - slot: " + slotIndex);
-            return;
-        }
-        if (slotIndex == SubscriptionManager.INVALID_SIM_SLOT_INDEX) {
-            Log.e(TAG, "Invalid SIM slot index for subscription: " + subId);
-            return;
-        }
-        mInfos[slotIndex].visible = statusIcon.visible;
-        mInfos[slotIndex].mobileSignalIconId = statusIcon.icon;
-        mInfos[slotIndex].contentDescription = statusIcon.contentDescription;
-        mInfos[slotIndex].typeContentDescription = typeContentDescription;
-        mInfos[slotIndex].roaming = roaming;
-        handleUpdateState();
-    }
-
-    @Override
-    public void setNoSims(boolean hasNoSims, boolean simDetected) {
-        if (hasNoSims) {
-            mInfos[0].visible = false;
-            mInfos[1].visible = false;
-        }
-        handleUpdateState();
-    }
-
-    private final class CellSignalState {
-        boolean visible;
-        int mobileSignalIconId;
-        public String contentDescription;
-        String typeContentDescription;
-        boolean roaming;
-    }
-
-    /**
-     * TextView that changes its ellipsize value with its visibility.
-     */
-    public static class QSCarrierText extends TextView {
-        public QSCarrierText(Context context) {
-            super(context);
-        }
-
-        public QSCarrierText(Context context, AttributeSet attrs) {
-            super(context, attrs);
-        }
-
-        public QSCarrierText(Context context, AttributeSet attrs, int defStyleAttr) {
-            super(context, attrs, defStyleAttr);
-        }
-
-        public QSCarrierText(Context context, AttributeSet attrs, int defStyleAttr,
-                int defStyleRes) {
-            super(context, attrs, defStyleAttr, defStyleRes);
-        }
-
-        @Override
-        protected void onVisibilityChanged(View changedView, int visibility) {
-            super.onVisibilityChanged(changedView, visibility);
-            // Only show marquee when visible
-            if (visibility == VISIBLE) {
-                setEllipsize(TextUtils.TruncateAt.MARQUEE);
-                setSelected(true);
-            } else {
-                setEllipsize(TextUtils.TruncateAt.END);
-                setSelected(false);
-            }
-        }
-    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
index f1f0f69..b93f8d04 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QSPanel.java
@@ -16,8 +16,6 @@
 
 package com.android.systemui.qs;
 
-import static android.content.res.Configuration.ORIENTATION_LANDSCAPE;
-
 import static com.android.systemui.qs.tileimpl.QSTileImpl.getColorForState;
 
 import android.annotation.Nullable;
@@ -79,7 +77,6 @@
     protected QSTileHost mHost;
 
     protected QSSecurityFooter mFooter;
-    private PageIndicator mPanelPageIndicator;
     private PageIndicator mFooterPageIndicator;
     private boolean mGridContentVisible = true;
 
@@ -110,11 +107,6 @@
         mTileLayout.setListening(mListening);
         addView((View) mTileLayout);
 
-        mPanelPageIndicator = (PageIndicator) LayoutInflater.from(context).inflate(
-                R.layout.qs_page_indicator, this, false);
-        addView(mPanelPageIndicator);
-
-        ((PagedTileLayout) mTileLayout).setPageIndicator(mPanelPageIndicator);
         mQsTileRevealController = new QSTileRevealController(mContext, this,
                 (PagedTileLayout) mTileLayout);
 
@@ -141,10 +133,6 @@
         return mDivider;
     }
 
-    public View getPageIndicator() {
-        return mPanelPageIndicator;
-    }
-
     public QSTileRevealController getQsTileRevealController() {
         return mQsTileRevealController;
     }
@@ -195,7 +183,7 @@
     }
 
     private void updateViewVisibilityForTuningValue(View view, @Nullable String newValue) {
-        view.setVisibility(newValue == null || Integer.parseInt(newValue) != 0 ? VISIBLE : GONE);
+        view.setVisibility(TunerService.parseIntegerSwitch(newValue, true) ? VISIBLE : GONE);
     }
 
     public void openDetails(String subPanel) {
@@ -265,21 +253,11 @@
 
     private void updatePageIndicator() {
         if (mTileLayout instanceof PagedTileLayout) {
-            // If we're in landscape, and we have the footer page indicator (which we should if the
-            // footer has been initialized & linked), then we'll show the footer page indicator to
-            // save space in the main QS tile area. Otherwise, we'll use the default one under the
-            // tiles/above the footer.
-            boolean shouldUseFooterPageIndicator =
-                    getResources().getConfiguration().orientation == ORIENTATION_LANDSCAPE
-                            && mFooterPageIndicator != null;
-
-            mPanelPageIndicator.setVisibility(View.GONE);
             if (mFooterPageIndicator != null) {
                 mFooterPageIndicator.setVisibility(View.GONE);
-            }
 
-            ((PagedTileLayout) mTileLayout).setPageIndicator(
-                    shouldUseFooterPageIndicator ? mFooterPageIndicator : mPanelPageIndicator);
+                ((PagedTileLayout) mTileLayout).setPageIndicator(mFooterPageIndicator);
+            }
         }
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
index 6a8c19a..4862b9e 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/QuickStatusBarHeader.java
@@ -15,7 +15,6 @@
 package com.android.systemui.qs;
 
 import static android.app.StatusBarManager.DISABLE2_QUICK_SETTINGS;
-import static android.provider.Settings.System.SHOW_BATTERY_PERCENT;
 
 import static com.android.systemui.util.InjectionInflationController.VIEW_CONTEXT;
 
@@ -31,20 +30,18 @@
 import android.content.IntentFilter;
 import android.content.res.Configuration;
 import android.content.res.Resources;
-import android.database.ContentObserver;
 import android.graphics.Color;
 import android.graphics.Rect;
 import android.media.AudioManager;
-import android.net.Uri;
 import android.os.Handler;
 import android.os.Looper;
 import android.provider.AlarmClock;
-import android.provider.Settings;
 import android.service.notification.ZenModeConfig;
 import android.text.format.DateUtils;
 import android.util.AttributeSet;
 import android.util.Log;
 import android.util.Pair;
+import android.util.StatsLog;
 import android.view.DisplayCutout;
 import android.view.View;
 import android.view.WindowInsets;
@@ -75,7 +72,6 @@
 import com.android.systemui.statusbar.phone.StatusBarIconController.TintedIconManager;
 import com.android.systemui.statusbar.phone.StatusIconContainer;
 import com.android.systemui.statusbar.phone.SystemUIDialog;
-import com.android.systemui.statusbar.policy.BatteryController;
 import com.android.systemui.statusbar.policy.Clock;
 import com.android.systemui.statusbar.policy.DateView;
 import com.android.systemui.statusbar.policy.NextAlarmController;
@@ -107,7 +103,6 @@
     public static final int MAX_TOOLTIP_SHOWN_COUNT = 2;
 
     private final Handler mHandler = new Handler();
-    private final BatteryController mBatteryController;
     private final NextAlarmController mAlarmController;
     private final ZenModeController mZenController;
     private final StatusBarIconController mStatusBarIconController;
@@ -119,6 +114,7 @@
     private boolean mListening;
     private boolean mQsDisabled;
 
+    private QSCarrierGroup mCarrierGroup;
     protected QuickQSPanel mHeaderQsPanel;
     protected QSTileHost mHost;
     private TintedIconManager mIconManager;
@@ -161,9 +157,7 @@
         }
     };
     private boolean mHasTopCutout = false;
-
-    private final PercentSettingObserver mPercentSettingObserver =
-            new PercentSettingObserver(new Handler(mContext.getMainLooper()));
+    private boolean mPrivacyChipLogged = false;
 
     /**
      * Runnable for automatically fading out the long press tooltip (as if it were animating away).
@@ -181,12 +175,11 @@
     @Inject
     public QuickStatusBarHeader(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs,
             NextAlarmController nextAlarmController, ZenModeController zenModeController,
-            BatteryController batteryController, StatusBarIconController statusBarIconController,
+            StatusBarIconController statusBarIconController,
             ActivityStarter activityStarter, PrivacyItemController privacyItemController) {
         super(context, attrs);
         mAlarmController = nextAlarmController;
         mZenController = zenModeController;
-        mBatteryController = batteryController;
         mStatusBarIconController = statusBarIconController;
         mActivityStarter = activityStarter;
         mPrivacyItemController = privacyItemController;
@@ -217,6 +210,8 @@
         mRingerModeTextView = findViewById(R.id.ringer_mode_text);
         mPrivacyChip = findViewById(R.id.privacy_chip);
         mPrivacyChip.setOnClickListener(this);
+        mCarrierGroup = findViewById(R.id.carrier_group);
+
 
         updateResources();
 
@@ -241,7 +236,9 @@
         mBatteryRemainingIcon = findViewById(R.id.batteryRemainingIcon);
         // Don't need to worry about tuner settings for this icon
         mBatteryRemainingIcon.setIgnoreTunerUpdates(true);
-        updateShowPercent();
+        // QS will always show the estimate, and BatteryMeterView handles the case where
+        // it's unavailable or charging
+        mBatteryRemainingIcon.setPercentShowMode(BatteryMeterView.MODE_ESTIMATE);
     }
 
     private List<String> getIgnoredIconSlots() {
@@ -271,6 +268,13 @@
     private void setChipVisibility(boolean chipVisible) {
         if (chipVisible) {
             mPrivacyChip.setVisibility(View.VISIBLE);
+            // Makes sure that the chip is logged as viewed at most once each time QS is opened
+            // mListening makes sure that the callback didn't return after the user closed QS
+            if (!mPrivacyChipLogged && mListening) {
+                mPrivacyChipLogged = true;
+                StatsLog.write(StatsLog.PRIVACY_INDICATORS_INTERACTED,
+                        StatsLog.PRIVACY_INDICATORS_INTERACTED__TYPE__CHIP_VIEWED);
+            }
         } else {
             mPrivacyChip.setVisibility(View.GONE);
         }
@@ -480,9 +484,6 @@
         super.onAttachedToWindow();
         mStatusBarIconController.addIconGroup(mIconManager);
         requestApplyInsets();
-        mContext.getContentResolver().registerContentObserver(
-                Settings.System.getUriFor(SHOW_BATTERY_PERCENT), false, mPercentSettingObserver,
-                ActivityManager.getCurrentUser());
     }
 
     @Override
@@ -521,7 +522,6 @@
     public void onDetachedFromWindow() {
         setListening(false);
         mStatusBarIconController.removeIconGroup(mIconManager);
-        mContext.getContentResolver().unregisterContentObserver(mPercentSettingObserver);
         super.onDetachedFromWindow();
     }
 
@@ -531,6 +531,7 @@
         }
         mHeaderQsPanel.setListening(listening);
         mListening = listening;
+        mCarrierGroup.setListening(mListening);
 
         if (listening) {
             mZenController.addCallback(this);
@@ -543,6 +544,7 @@
             mAlarmController.removeCallback(this);
             mPrivacyItemController.removeCallback(mPICCallback);
             mContext.unregisterReceiver(mRingerReceiver);
+            mPrivacyChipLogged = false;
         }
     }
 
@@ -556,6 +558,8 @@
             PrivacyDialogBuilder builder = mPrivacyChip.getBuilder();
             if (builder.getAppsAndTypes().size() == 0) return;
             Handler mUiHandler = new Handler(Looper.getMainLooper());
+            StatsLog.write(StatsLog.PRIVACY_INDICATORS_INTERACTED,
+                    StatsLog.PRIVACY_INDICATORS_INTERACTED__TYPE__CHIP_CLICKED);
             mUiHandler.post(() -> {
                 Dialog mDialog = new OngoingPrivacyDialog(mContext, builder).createDialog();
                 SystemUIDialog.setShowForAllUsers(mDialog, false);
@@ -743,25 +747,4 @@
             lp.rightMargin = sideMargins;
         }
     }
-
-    private void updateShowPercent() {
-        final boolean systemSetting = 0 != Settings.System
-                .getIntForUser(getContext().getContentResolver(),
-                        SHOW_BATTERY_PERCENT, 0, ActivityManager.getCurrentUser());
-
-        mBatteryRemainingIcon.setPercentShowMode(systemSetting
-                ? BatteryMeterView.MODE_ESTIMATE : BatteryMeterView.MODE_ON);
-    }
-
-    private final class PercentSettingObserver extends ContentObserver {
-        PercentSettingObserver(Handler handler) {
-            super(handler);
-        }
-
-        @Override
-        public void onChange(boolean selfChange, Uri uri) {
-            super.onChange(selfChange, uri);
-            updateShowPercent();
-        }
-    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java b/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
index 305fbf2..b135f7b 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/external/TileLifecycleManager.java
@@ -159,8 +159,8 @@
             mBindTryCount++;
             try {
                 mIsBound = mContext.bindServiceAsUser(mIntent, this,
-                        Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE,
-                        mUser);
+                        Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE
+                        | Context.BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS, mUser);
             } catch (SecurityException e) {
                 Log.e(TAG, "Failed to bind to service", e);
                 mIsBound = false;
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
index 0b1e9c3..bdebf79 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/CastTile.java
@@ -88,7 +88,9 @@
 
     @Override
     public BooleanState newTileState() {
-        return new BooleanState();
+        BooleanState state = new BooleanState();
+        state.handlesLongClick = false;
+        return state;
     }
 
     @Override
@@ -116,20 +118,25 @@
     }
 
     @Override
+    protected void handleLongClick() {
+        handleClick();
+    }
+
+    @Override
     protected void handleClick() {
         if (getState().state == Tile.STATE_UNAVAILABLE) {
             return;
         }
-        if (mKeyguard.isSecure() && !mKeyguard.canSkipBouncer()) {
-            mActivityStarter.postQSRunnableDismissingKeyguard(() -> {
-                showDetail(true);
-            });
-            return;
-        }
 
         CastDevice activeProjection = getActiveDeviceMediaProjection();
         if (activeProjection == null) {
-            showDetail(true);
+            if (mKeyguard.isSecure() && !mKeyguard.canSkipBouncer()) {
+                mActivityStarter.postQSRunnableDismissingKeyguard(() -> {
+                    showDetail(true);
+                });
+            } else {
+                showDetail(true);
+            }
         } else {
             mController.stopCasting(activeProjection);
         }
diff --git a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
index b7e07f8..5e6f18e 100644
--- a/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
+++ b/packages/SystemUI/src/com/android/systemui/qs/tiles/HotspotTile.java
@@ -20,14 +20,12 @@
 import android.content.ComponentName;
 import android.content.Intent;
 import android.os.UserManager;
-import android.provider.Settings.Global;
 import android.service.quicksettings.Tile;
 import android.widget.Switch;
 
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.systemui.R;
-import com.android.systemui.plugins.qs.QSTile.AirplaneBooleanState;
-import com.android.systemui.qs.GlobalSetting;
+import com.android.systemui.plugins.qs.QSTile.BooleanState;
 import com.android.systemui.qs.QSHost;
 import com.android.systemui.qs.tileimpl.QSTileImpl;
 import com.android.systemui.statusbar.policy.DataSaverController;
@@ -36,7 +34,7 @@
 import javax.inject.Inject;
 
 /** Quick settings tile: Hotspot **/
-public class HotspotTile extends QSTileImpl<AirplaneBooleanState> {
+public class HotspotTile extends QSTileImpl<BooleanState> {
     private static final Intent TETHER_SETTINGS = new Intent().setComponent(new ComponentName(
             "com.android.settings", "com.android.settings.TetherSettings"));
 
@@ -46,7 +44,6 @@
     private final DataSaverController mDataSaverController;
 
     private final HotspotAndDataSaverCallbacks mCallbacks = new HotspotAndDataSaverCallbacks();
-    private final GlobalSetting mAirplaneMode;
     private boolean mListening;
 
     @Inject
@@ -55,12 +52,6 @@
         super(host);
         mHotspotController = hotspotController;
         mDataSaverController = dataSaverController;
-        mAirplaneMode = new GlobalSetting(mContext, mHandler, Global.AIRPLANE_MODE_ON) {
-            @Override
-            protected void handleValueChanged(int value) {
-                refreshState();
-            }
-        };
         mHotspotController.observe(this, mCallbacks);
         mDataSaverController.observe(this, mCallbacks);
     }
@@ -76,18 +67,12 @@
     }
 
     @Override
-    public AirplaneBooleanState newTileState() {
-        return new AirplaneBooleanState();
-    }
-
-    @Override
     public void handleSetListening(boolean listening) {
         if (mListening == listening) return;
         mListening = listening;
         if (listening) {
             refreshState();
         }
-        mAirplaneMode.setListening(listening);
     }
 
     @Override
@@ -96,10 +81,14 @@
     }
 
     @Override
+    public BooleanState newTileState() {
+        return new BooleanState();
+    }
+
+    @Override
     protected void handleClick() {
         final boolean isEnabled = mState.value;
-        if (!isEnabled &&
-                (mAirplaneMode.getValue() != 0 || mDataSaverController.isDataSaverEnabled())) {
+        if (!isEnabled && mDataSaverController.isDataSaverEnabled()) {
             return;
         }
         // Immediately enter transient enabling state when turning hotspot on.
@@ -113,7 +102,7 @@
     }
 
     @Override
-    protected void handleUpdateState(AirplaneBooleanState state, Object arg) {
+    protected void handleUpdateState(BooleanState state, Object arg) {
         final boolean transientEnabling = arg == ARG_SHOW_TRANSIENT_ENABLING;
         if (state.slash == null) {
             state.slash = new SlashState();
@@ -138,7 +127,6 @@
 
         state.icon = mEnabledStatic;
         state.label = mContext.getString(R.string.quick_settings_hotspot_label);
-        state.isAirplaneMode = mAirplaneMode.getValue() != 0;
         state.isTransient = isTransient;
         state.slash.isSlashed = !state.value && !state.isTransient;
         if (state.isTransient) {
@@ -147,7 +135,7 @@
         state.expandedAccessibilityClassName = Switch.class.getName();
         state.contentDescription = state.label;
 
-        final boolean isTileUnavailable = (state.isAirplaneMode || isDataSaverEnabled);
+        final boolean isTileUnavailable = isDataSaverEnabled;
         final boolean isTileActive = (state.value || state.isTransient);
 
         if (isTileUnavailable) {
diff --git a/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java b/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java
index b794888..9219594 100644
--- a/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java
+++ b/packages/SystemUI/src/com/android/systemui/recents/OverviewProxyService.java
@@ -16,7 +16,7 @@
 
 package com.android.systemui.recents;
 
-import static android.content.pm.PackageManager.MATCH_DIRECT_BOOT_UNAWARE;
+import static android.content.pm.PackageManager.MATCH_SYSTEM_ONLY;
 import static android.view.MotionEvent.ACTION_CANCEL;
 import static android.view.MotionEvent.ACTION_DOWN;
 import static android.view.MotionEvent.ACTION_UP;
@@ -107,6 +107,7 @@
     private IOverviewProxy mOverviewProxy;
     private int mConnectionBackoffAttempts;
     private @InteractionType int mInteractionFlags;
+    private boolean mBound;
     private boolean mIsEnabled;
     private int mCurrentBoundedUserId = -1;
     private float mBackButtonAlpha;
@@ -510,16 +511,15 @@
         mHandler.removeCallbacks(mConnectionRunnable);
         Intent launcherServiceIntent = new Intent(ACTION_QUICKSTEP)
                 .setPackage(mRecentsComponentName.getPackageName());
-        boolean bound = false;
         try {
-            bound = mContext.bindServiceAsUser(launcherServiceIntent,
+            mBound = mContext.bindServiceAsUser(launcherServiceIntent,
                     mOverviewServiceConnection,
                     Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE,
                     UserHandle.of(mDeviceProvisionedController.getCurrentUser()));
         } catch (SecurityException e) {
             Log.e(TAG_OPS, "Unable to bind because of security error", e);
         }
-        if (bound) {
+        if (mBound) {
             // Ensure that connection has been established even if it thinks it is bound
             mHandler.postDelayed(mDeferredConnectionCallback, DEFERRED_CALLBACK_MILLIS);
         } else {
@@ -573,9 +573,14 @@
     }
 
     private void disconnectFromLauncherService() {
+        if (mBound) {
+            // Always unbind the service (ie. if called through onNullBinding or onBindingDied)
+            mContext.unbindService(mOverviewServiceConnection);
+            mBound = false;
+        }
+
         if (mOverviewProxy != null) {
             mOverviewProxy.asBinder().unlinkToDeath(mOverviewServiceDeathRcpt, 0);
-            mContext.unbindService(mOverviewServiceConnection);
             mOverviewProxy = null;
             notifyBackButtonAlphaChanged(1f, false /* animate */);
             notifyConnectionChanged();
@@ -629,7 +634,7 @@
 
     private void updateEnabledState() {
         mIsEnabled = mContext.getPackageManager().resolveServiceAsUser(mQuickStepIntent,
-                MATCH_DIRECT_BOOT_UNAWARE,
+                MATCH_SYSTEM_ONLY,
                 ActivityManagerWrapper.getInstance().getCurrentUserId()) != null;
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
index bed0c45..341461b 100644
--- a/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
+++ b/packages/SystemUI/src/com/android/systemui/screenshot/GlobalScreenshot.java
@@ -42,9 +42,11 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
+import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.graphics.Bitmap;
 import android.graphics.Canvas;
+import android.graphics.Color;
 import android.graphics.ColorMatrix;
 import android.graphics.ColorMatrixColorFilter;
 import android.graphics.Matrix;
@@ -743,6 +745,15 @@
                 return (x - flashDurationPct) / (1f - flashDurationPct);
             }
         };
+
+        Resources r = mContext.getResources();
+        if ((r.getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK)
+                == Configuration.UI_MODE_NIGHT_YES) {
+            mScreenshotView.getBackground().setTint(Color.BLACK);
+        } else {
+            mScreenshotView.getBackground().setTintList(null);
+        }
+
         ValueAnimator anim = ValueAnimator.ofFloat(0f, 1f);
         anim.setDuration(SCREENSHOT_DROP_IN_DURATION);
         anim.addListener(new AnimatorListenerAdapter() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
index 0150852..2f99cf3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/CommandQueue.java
@@ -277,9 +277,13 @@
         default void hideBiometricDialog() { }
 
         /**
-        * @see IStatusBar#onDisplayReady(int)
-        */
+         * @see IStatusBar#onDisplayReady(int)
+         */
         default void onDisplayReady(int displayId) { }
+        /**
+         * @see DisplayManager.DisplayListener#onDisplayRemoved(int)
+         */
+        default void onDisplayRemoved(int displayId) { }
     }
 
     @VisibleForTesting
@@ -297,6 +301,11 @@
         synchronized (mLock) {
             mDisplayDisabled.remove(displayId);
         }
+        // This callback is registered with {@link #mHandler} that already posts to run on main
+        // thread, so it is safe to dispatch directly.
+        for (int i = mCallbacks.size() - 1; i >= 0; i--) {
+            mCallbacks.get(i).onDisplayRemoved(displayId);
+        }
     }
 
     @Override
@@ -587,7 +596,8 @@
     @Override
     public void appTransitionCancelled(int displayId) {
         synchronized (mLock) {
-            mHandler.obtainMessage(MSG_APP_TRANSITION_CANCELLED, displayId).sendToTarget();
+            mHandler.obtainMessage(MSG_APP_TRANSITION_CANCELLED, displayId, 0 /* unused */)
+                    .sendToTarget();
         }
     }
 
@@ -615,7 +625,8 @@
     @Override
     public void appTransitionFinished(int displayId) {
         synchronized (mLock) {
-            mHandler.obtainMessage(MSG_APP_TRANSITION_FINISHED, displayId).sendToTarget();
+            mHandler.obtainMessage(MSG_APP_TRANSITION_FINISHED, displayId, 0 /* unused */)
+                    .sendToTarget();
         }
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java
index 0a39549..2da6824 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardAffordanceView.java
@@ -492,13 +492,10 @@
             int currentAlpha = getImageAlpha();
             ValueAnimator animator = ValueAnimator.ofInt(currentAlpha, endAlpha);
             mAlphaAnimator = animator;
-            animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
-                @Override
-                public void onAnimationUpdate(ValueAnimator animation) {
-                    int alpha = (int) animation.getAnimatedValue();
-                    if (background != null) background.mutate().setAlpha(alpha);
-                    setImageAlpha(alpha);
-                }
+            animator.addUpdateListener(animation -> {
+                int alpha1 = (int) animation.getAnimatedValue();
+                if (background != null) background.mutate().setAlpha(alpha1);
+                setImageAlpha(alpha1);
             });
             animator.addListener(mAlphaEndListener);
             if (interpolator == null) {
@@ -520,6 +517,10 @@
         }
     }
 
+    public boolean isAnimatingAlpha() {
+        return mAlphaAnimator != null;
+    }
+
     private Animator.AnimatorListener getEndListener(final Runnable runnable) {
         return new AnimatorListenerAdapter() {
             boolean mCancelled;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
index a9fe3b2..8faeb15 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/KeyguardIndicationController.java
@@ -581,13 +581,12 @@
             if (!updateMonitor.isUnlockingWithBiometricAllowed()) {
                 return;
             }
-            ColorStateList errorColorState = Utils.getColorError(mContext);
             if (mStatusBarKeyguardViewManager.isBouncerShowing()) {
                 mStatusBarKeyguardViewManager.showBouncerMessage(helpString,
-                        errorColorState);
+                        mInitialTextColorState);
             } else if (updateMonitor.isScreenOn()) {
                 mLockIcon.setTransientBiometricsError(true);
-                showTransientIndication(helpString, errorColorState);
+                showTransientIndication(helpString);
                 hideTransientIndicationDelayed(TRANSIENT_BIOMETRIC_ERROR_TIMEOUT);
                 mHandler.removeMessages(MSG_CLEAR_BIOMETRIC_MSG);
                 mHandler.sendMessageDelayed(mHandler.obtainMessage(MSG_CLEAR_BIOMETRIC_MSG),
@@ -605,7 +604,6 @@
             if (shouldSuppressBiometricError(msgId, biometricSourceType, updateMonitor)) {
                 return;
             }
-            ColorStateList errorColorState = Utils.getColorError(mContext);
             if (mStatusBarKeyguardViewManager.isBouncerShowing()) {
                 // When swiping up right after receiving a biometric error, the bouncer calls
                 // authenticate leading to the same message being shown again on the bouncer.
@@ -613,10 +611,10 @@
                 // generic.
                 if (mLastSuccessiveErrorMessage != msgId) {
                     mStatusBarKeyguardViewManager.showBouncerMessage(errString,
-                            errorColorState);
+                            mInitialTextColorState);
                 }
             } else if (updateMonitor.isScreenOn()) {
-                showTransientIndication(errString, errorColorState);
+                showTransientIndication(errString);
                 // We want to keep this message around in case the screen was off
                 hideTransientIndicationDelayed(HIDE_DELAY_MS);
             } else {
@@ -666,6 +664,9 @@
         public void onBiometricRunningStateChanged(boolean running,
                 BiometricSourceType biometricSourceType) {
             if (running) {
+                // Let's hide any previous messages when authentication starts, otherwise
+                // multiple auth attempts would overlap.
+                hideTransientIndication();
                 mMessageToShowOnScreenOn = null;
             }
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/MediaArtworkProcessor.kt b/packages/SystemUI/src/com/android/systemui/statusbar/MediaArtworkProcessor.kt
index 52b8cc2..b7ae4ed 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/MediaArtworkProcessor.kt
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/MediaArtworkProcessor.kt
@@ -51,8 +51,15 @@
         val renderScript = RenderScript.create(context)
         val rect = Rect(0, 0, artwork.width, artwork.height)
         MathUtils.fitRect(rect, Math.max(mTmpSize.x / DOWNSAMPLE, mTmpSize.y / DOWNSAMPLE))
-        val inBitmap = Bitmap.createScaledBitmap(artwork, rect.width(), rect.height(),
+        var inBitmap = Bitmap.createScaledBitmap(artwork, rect.width(), rect.height(),
                 true /* filter */)
+        // Render script blurs only support ARGB_8888, we need a conversion if we got a
+        // different bitmap config.
+        if (inBitmap.config != Bitmap.Config.ARGB_8888) {
+            val oldIn = inBitmap
+            inBitmap = oldIn.copy(Bitmap.Config.ARGB_8888, false /* isMutable */)
+            oldIn.recycle()
+        }
         val input = Allocation.createFromBitmap(renderScript, inBitmap,
                 Allocation.MipmapControl.MIPMAP_NONE, Allocation.USAGE_GRAPHICS_TEXTURE)
         val outBitmap = Bitmap.createBitmap(inBitmap.width, inBitmap.height,
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NavigationBarController.java b/packages/SystemUI/src/com/android/systemui/statusbar/NavigationBarController.java
index 9f382ea..2bb6e3e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NavigationBarController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NavigationBarController.java
@@ -23,7 +23,6 @@
 
 import android.content.Context;
 import android.hardware.display.DisplayManager;
-import android.hardware.display.DisplayManager.DisplayListener;
 import android.os.Handler;
 import android.os.RemoteException;
 import android.util.Log;
@@ -33,6 +32,7 @@
 import android.view.View;
 import android.view.WindowManagerGlobal;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.systemui.Dependency;
 import com.android.systemui.plugins.DarkIconDispatcher;
 import com.android.systemui.statusbar.CommandQueue.Callbacks;
@@ -50,7 +50,7 @@
 
 /** A controller to handle navigation bars. */
 @Singleton
-public class NavigationBarController implements DisplayListener, Callbacks {
+public class NavigationBarController implements Callbacks {
 
     private static final String TAG = NavigationBarController.class.getName();
 
@@ -59,29 +59,23 @@
     private final DisplayManager mDisplayManager;
 
     /** A displayId - nav bar maps. */
-    private SparseArray<NavigationBarFragment> mNavigationBars = new SparseArray<>();
+    @VisibleForTesting
+    SparseArray<NavigationBarFragment> mNavigationBars = new SparseArray<>();
 
     @Inject
     public NavigationBarController(Context context, @Named(MAIN_HANDLER_NAME) Handler handler) {
         mContext = context;
         mHandler = handler;
         mDisplayManager = (DisplayManager) mContext.getSystemService(Context.DISPLAY_SERVICE);
-        mDisplayManager.registerDisplayListener(this, mHandler);
         getComponent(mContext, CommandQueue.class).addCallback(this);
     }
 
     @Override
-    public void onDisplayAdded(int displayId) { }
-
-    @Override
     public void onDisplayRemoved(int displayId) {
         removeNavigationBar(displayId);
     }
 
     @Override
-    public void onDisplayChanged(int displayId) { }
-
-    @Override
     public void onDisplayReady(int displayId) {
         Display display = mDisplayManager.getDisplay(displayId);
         createNavigationBar(display);
@@ -109,7 +103,8 @@
      *
      * @param display the display to add navigation bar on.
      */
-    private void createNavigationBar(Display display) {
+    @VisibleForTesting
+    void createNavigationBar(Display display) {
         if (display == null) {
             return;
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java
index b820dc0..a630e49 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationRemoteInputManager.java
@@ -461,9 +461,6 @@
     }
 
     public boolean shouldKeepForRemoteInputHistory(NotificationEntry entry) {
-        if (entry.isDismissed()) {
-            return false;
-        }
         if (!FORCE_REMOTE_INPUT_HISTORY) {
             return false;
         }
@@ -471,9 +468,6 @@
     }
 
     public boolean shouldKeepForSmartReplyHistory(NotificationEntry entry) {
-        if (entry.isDismissed()) {
-            return false;
-        }
         if (!FORCE_REMOTE_INPUT_HISTORY) {
             return false;
         }
@@ -661,9 +655,6 @@
     protected class RemoteInputActiveExtender extends RemoteInputExtender {
         @Override
         public boolean shouldExtendLifetime(@NonNull NotificationEntry entry) {
-            if (entry.isDismissed()) {
-                return false;
-            }
             return mRemoteInputController.isRemoteInputActive(entry);
         }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
index ee5ac7c..2e35f06 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/NotificationViewHierarchyManager.java
@@ -22,8 +22,10 @@
 import android.util.Log;
 import android.view.View;
 import android.view.ViewGroup;
+import android.view.ViewParent;
 
 import com.android.systemui.R;
+import com.android.systemui.bubbles.BubbleData;
 import com.android.systemui.plugins.statusbar.StatusBarStateController;
 import com.android.systemui.statusbar.notification.NotificationEntryManager;
 import com.android.systemui.statusbar.notification.VisualStabilityManager;
@@ -74,6 +76,7 @@
      * possible.
      */
     private final boolean mAlwaysExpandNonGroupedNotification;
+    private final BubbleData mBubbleData;
 
     private NotificationPresenter mPresenter;
     private NotificationListContainer mListContainer;
@@ -85,7 +88,8 @@
             VisualStabilityManager visualStabilityManager,
             StatusBarStateController statusBarStateController,
             NotificationEntryManager notificationEntryManager,
-            Lazy<ShadeController> shadeController) {
+            Lazy<ShadeController> shadeController,
+            BubbleData bubbleData) {
         mLockscreenUserManager = notificationLockscreenUserManager;
         mGroupManager = groupManager;
         mVisualStabilityManager = visualStabilityManager;
@@ -95,6 +99,7 @@
         Resources res = context.getResources();
         mAlwaysExpandNonGroupedNotification =
                 res.getBoolean(R.bool.config_alwaysExpandNonGroupedNotifications);
+        mBubbleData = bubbleData;
     }
 
     public void setUpWithPresenter(NotificationPresenter presenter,
@@ -114,7 +119,8 @@
         final int N = activeNotifications.size();
         for (int i = 0; i < N; i++) {
             NotificationEntry ent = activeNotifications.get(i);
-            if (ent.isRowDismissed() || ent.isRowRemoved()) {
+            if (ent.isRowDismissed() || ent.isRowRemoved()
+                    || (mBubbleData.getBubble(ent.key) != null && !ent.showInShadeWhenBubble())) {
                 // we don't want to update removed notifications because they could
                 // temporarily become children if they were isolated before.
                 continue;
@@ -185,6 +191,11 @@
             if (v.getParent() == null) {
                 mVisualStabilityManager.notifyViewAddition(v);
                 mListContainer.addContainerView(v);
+            } else if (!mListContainer.containsView(v)) {
+                // the view is added somewhere else. Let's make sure
+                // the ordering works properly below, by excluding these
+                toShow.remove(v);
+                i--;
             }
         }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java
index ad5aa57..eb386dc 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/StatusBarStateControllerImpl.java
@@ -18,15 +18,19 @@
 
 import android.animation.ObjectAnimator;
 import android.animation.ValueAnimator;
+import android.text.format.DateFormat;
 import android.util.FloatProperty;
 import android.view.animation.Interpolator;
 
 import com.android.internal.annotations.GuardedBy;
+import com.android.systemui.Dumpable;
 import com.android.systemui.Interpolators;
 import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
 import com.android.systemui.statusbar.notification.stack.StackStateAnimator;
 import com.android.systemui.statusbar.policy.CallbackController;
 
+import java.io.FileDescriptor;
+import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Comparator;
 
@@ -38,8 +42,10 @@
  */
 @Singleton
 public class StatusBarStateControllerImpl implements SysuiStatusBarStateController,
-        CallbackController<StateListener> {
+        CallbackController<StateListener>, Dumpable {
     private static final String TAG = "SbStateController";
+    // Must be a power of 2
+    private static final int HISTORY_SIZE = 32;
 
     private static final int MAX_STATE = StatusBarState.FULLSCREEN_USER_SWITCHER;
     private static final int MIN_STATE = StatusBarState.SHADE;
@@ -66,6 +72,10 @@
     private boolean mLeaveOpenOnKeyguardHide;
     private boolean mKeyguardRequested;
 
+    // Record the HISTORY_SIZE most recent states
+    private int mHistoryIndex = 0;
+    private HistoricalState[] mHistoricalRecords = new HistoricalState[HISTORY_SIZE];
+
     /**
      * If the device is currently dozing or not.
      */
@@ -93,6 +103,9 @@
 
     @Inject
     public StatusBarStateControllerImpl() {
+        for (int i = 0; i < HISTORY_SIZE; i++) {
+            mHistoricalRecords[i] = new HistoricalState();
+        }
     }
 
     @Override
@@ -108,6 +121,10 @@
         if (state == mState) {
             return false;
         }
+
+        // Record the to-be mState and mLastState
+        recordHistoricalState(state, mState);
+
         synchronized (mListeners) {
             for (RankedListener rl : new ArrayList<>(mListeners)) {
                 rl.mListener.onStatePreChange(mState, state);
@@ -281,4 +298,58 @@
     public static String describe(int state) {
         return StatusBarState.toShortString(state);
     }
+
+    @Override
+    public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+        pw.println("StatusBarStateController: ");
+        pw.println(" mState=" + mState + " (" + describe(mState) + ")");
+        pw.println(" mLastState=" + mLastState + " (" + describe(mLastState) + ")");
+        pw.println(" mLeaveOpenOnKeyguardHide=" + mLeaveOpenOnKeyguardHide);
+        pw.println(" mKeyguardRequested=" + mKeyguardRequested);
+        pw.println(" mIsDozing=" + mIsDozing);
+        pw.println(" Historical states:");
+        // Ignore records without a timestamp
+        int size = 0;
+        for (int i = 0; i < HISTORY_SIZE; i++) {
+            if (mHistoricalRecords[i].mTimestamp != 0) size++;
+        }
+        for (int i = mHistoryIndex + HISTORY_SIZE;
+                i >= mHistoryIndex + HISTORY_SIZE - size + 1; i--) {
+            pw.println("  (" + (mHistoryIndex + HISTORY_SIZE - i + 1) + ")"
+                    + mHistoricalRecords[i & (HISTORY_SIZE - 1)]);
+        }
+    }
+
+    private void recordHistoricalState(int currentState, int lastState) {
+        mHistoryIndex = (mHistoryIndex + 1) % HISTORY_SIZE;
+        HistoricalState state = mHistoricalRecords[mHistoryIndex];
+        state.mState = currentState;
+        state.mLastState = lastState;
+        state.mTimestamp = System.currentTimeMillis();
+    }
+
+    /**
+     * For keeping track of our previous state to help with debugging
+     */
+    private static class HistoricalState {
+        int mState;
+        int mLastState;
+        long mTimestamp;
+
+        @Override
+        public String toString() {
+            if (mTimestamp != 0) {
+                StringBuilder sb = new StringBuilder();
+                sb.append("state=").append(mState)
+                        .append(" (").append(describe(mState)).append(")");
+                sb.append("lastState=").append(mLastState).append(" (").append(describe(mLastState))
+                        .append(")");
+                sb.append("timestamp=")
+                        .append(DateFormat.format("MM-dd HH:mm:ss", mTimestamp));
+
+                return sb.toString();
+            }
+            return "Empty " + getClass().getSimpleName();
+        }
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/InstantAppNotifier.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/InstantAppNotifier.java
new file mode 100644
index 0000000..7748532
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/InstantAppNotifier.java
@@ -0,0 +1,376 @@
+/*
+ * 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.notification;
+
+import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED;
+import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
+import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
+import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
+
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.app.ActivityManager;
+import android.app.ActivityTaskManager;
+import android.app.AppGlobals;
+import android.app.Notification;
+import android.app.NotificationManager;
+import android.app.PendingIntent;
+import android.app.SynchronousUserSwitchObserver;
+import android.content.ComponentName;
+import android.content.Intent;
+import android.content.pm.ApplicationInfo;
+import android.content.pm.IPackageManager;
+import android.content.pm.PackageManager;
+import android.graphics.drawable.Icon;
+import android.net.Uri;
+import android.os.Bundle;
+import android.os.Handler;
+import android.os.RemoteException;
+import android.os.UserHandle;
+import android.provider.Settings;
+import android.service.notification.StatusBarNotification;
+import android.util.ArraySet;
+import android.util.Pair;
+
+import com.android.internal.messages.nano.SystemMessageProto;
+import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
+import com.android.systemui.Dependency;
+import com.android.systemui.DockedStackExistsListener;
+import com.android.systemui.R;
+import com.android.systemui.SysUiServiceProvider;
+import com.android.systemui.SystemUI;
+import com.android.systemui.UiOffloadThread;
+import com.android.systemui.shared.system.TaskStackChangeListener;
+import com.android.systemui.statusbar.CommandQueue;
+import com.android.systemui.statusbar.policy.KeyguardMonitor;
+import com.android.systemui.util.NotificationChannels;
+
+import java.util.List;
+
+/** The clsss to show notification(s) of instant apps. This may show multiple notifications on
+ * splitted screen.
+ */
+public class InstantAppNotifier extends SystemUI
+        implements CommandQueue.Callbacks, KeyguardMonitor.Callback {
+    private static final String TAG = "InstantAppNotifier";
+    public static final int NUM_TASKS_FOR_INSTANT_APP_INFO = 5;
+
+    private final Handler mHandler = new Handler();
+    private final UiOffloadThread mUiOffloadThread = Dependency.get(UiOffloadThread.class);
+    private final ArraySet<Pair<String, Integer>> mCurrentNotifs = new ArraySet<>();
+    private boolean mDockedStackExists;
+    private KeyguardMonitor mKeyguardMonitor;
+
+    public InstantAppNotifier() {}
+
+    @Override
+    public void start() {
+        mKeyguardMonitor = Dependency.get(KeyguardMonitor.class);
+
+        // listen for user / profile change.
+        try {
+            ActivityManager.getService().registerUserSwitchObserver(mUserSwitchListener, TAG);
+        } catch (RemoteException e) {
+            // Ignore
+        }
+
+        SysUiServiceProvider.getComponent(mContext, CommandQueue.class).addCallback(this);
+        mKeyguardMonitor.addCallback(this);
+
+        DockedStackExistsListener.register(
+                exists -> {
+                    mDockedStackExists = exists;
+                    updateForegroundInstantApps();
+                });
+
+        // Clear out all old notifications on startup (only present in the case where sysui dies)
+        NotificationManager noMan = mContext.getSystemService(NotificationManager.class);
+        for (StatusBarNotification notification : noMan.getActiveNotifications()) {
+            if (notification.getId() == SystemMessage.NOTE_INSTANT_APPS) {
+                noMan.cancel(notification.getTag(), notification.getId());
+            }
+        }
+    }
+
+    @Override
+    public void appTransitionStarting(
+            int displayId, long startTime, long duration, boolean forced) {
+        if (mContext.getDisplayId() == displayId) {
+            updateForegroundInstantApps();
+        }
+    }
+
+    @Override
+    public void onKeyguardShowingChanged() {
+        updateForegroundInstantApps();
+    }
+
+    @Override
+    public void preloadRecentApps() {
+        updateForegroundInstantApps();
+    }
+
+    private final SynchronousUserSwitchObserver mUserSwitchListener =
+            new SynchronousUserSwitchObserver() {
+                @Override
+                public void onUserSwitching(int newUserId) throws RemoteException {}
+
+                @Override
+                public void onUserSwitchComplete(int newUserId) throws RemoteException {
+                    mHandler.post(
+                            () -> {
+                                updateForegroundInstantApps();
+                            });
+                }
+            };
+
+    private final TaskStackChangeListener mTaskListener =
+            new TaskStackChangeListener() {
+                @Override
+                public void onTaskStackChanged() {
+                    // Listen for changes to stacks and then check which instant apps are
+                    // foreground.
+                    updateForegroundInstantApps();
+                }
+            };
+
+    private void updateForegroundInstantApps() {
+        NotificationManager noMan = mContext.getSystemService(NotificationManager.class);
+        IPackageManager pm = AppGlobals.getPackageManager();
+        mUiOffloadThread.submit(
+                () -> {
+                    ArraySet<Pair<String, Integer>> notifs = new ArraySet<>(mCurrentNotifs);
+                    try {
+                        final ActivityManager.StackInfo focusedStack =
+                                ActivityTaskManager.getService().getFocusedStackInfo();
+                        if (focusedStack != null) {
+                            final int windowingMode =
+                                    focusedStack.configuration.windowConfiguration
+                                            .getWindowingMode();
+                            if (windowingMode == WINDOWING_MODE_FULLSCREEN
+                                    || windowingMode == WINDOWING_MODE_SPLIT_SCREEN_SECONDARY) {
+                                checkAndPostForStack(focusedStack, notifs, noMan, pm);
+                            }
+                        }
+                        if (mDockedStackExists) {
+                            checkAndPostForPrimaryScreen(notifs, noMan, pm);
+                        }
+                    } catch (RemoteException e) {
+                        e.rethrowFromSystemServer();
+                    }
+
+                    // Cancel all the leftover notifications that don't have a foreground
+                    // process anymore.
+                    notifs.forEach(
+                            v -> {
+                                mCurrentNotifs.remove(v);
+
+                                noMan.cancelAsUser(
+                                        v.first,
+                                        SystemMessageProto.SystemMessage.NOTE_INSTANT_APPS,
+                                        new UserHandle(v.second));
+                            });
+                });
+    }
+
+    /**
+     * Posts an instant app notification if the top activity of the primary container in the
+     * splitted screen is an instant app and the corresponding instant app notification is not
+     * posted yet. If the notification already exists, this method removes it from {@code
+     * notifs} in the arguments.
+     */
+    private void checkAndPostForPrimaryScreen(
+            @NonNull ArraySet<Pair<String, Integer>> notifs,
+            @NonNull NotificationManager noMan,
+            @NonNull IPackageManager pm) {
+        try {
+            final ActivityManager.StackInfo info =
+                    ActivityTaskManager.getService()
+                            .getStackInfo(
+                                    WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, ACTIVITY_TYPE_UNDEFINED);
+            checkAndPostForStack(info, notifs, noMan, pm);
+        } catch (RemoteException e) {
+            e.rethrowFromSystemServer();
+        }
+    }
+
+    /**
+     * Posts an instant app notification if the top activity of the given stack is an instant app
+     * and the corresponding instant app notification is not posted yet. If the notification already
+     * exists, this method removes it from {@code notifs} in the arguments.
+     */
+    private void checkAndPostForStack(
+            @Nullable ActivityManager.StackInfo info,
+            @NonNull ArraySet<Pair<String, Integer>> notifs,
+            @NonNull NotificationManager noMan,
+            @NonNull IPackageManager pm) {
+        try {
+            if (info == null || info.topActivity == null) return;
+            String pkg = info.topActivity.getPackageName();
+            Pair<String, Integer> key = new Pair<>(pkg, info.userId);
+            if (!notifs.remove(key)) {
+                // TODO: Optimize by not always needing to get application info.
+                // Maybe cache non-instant-app packages?
+                ApplicationInfo appInfo =
+                        pm.getApplicationInfo(
+                                pkg, PackageManager.MATCH_UNINSTALLED_PACKAGES, info.userId);
+                if (appInfo.isInstantApp()) {
+                    postInstantAppNotif(
+                            pkg,
+                            info.userId,
+                            appInfo,
+                            noMan,
+                            info.taskIds[info.taskIds.length - 1]);
+                }
+            }
+        } catch (RemoteException e) {
+            e.rethrowFromSystemServer();
+        }
+    }
+
+    /** Posts an instant app notification. */
+    private void postInstantAppNotif(
+            @NonNull String pkg,
+            int userId,
+            @NonNull ApplicationInfo appInfo,
+            @NonNull NotificationManager noMan,
+            int taskId) {
+        final Bundle extras = new Bundle();
+        extras.putString(
+                Notification.EXTRA_SUBSTITUTE_APP_NAME, mContext.getString(R.string.instant_apps));
+        mCurrentNotifs.add(new Pair<>(pkg, userId));
+
+        String helpUrl = mContext.getString(R.string.instant_apps_help_url);
+        boolean hasHelpUrl = !helpUrl.isEmpty();
+        String message =
+                mContext.getString(
+                        hasHelpUrl
+                                ? R.string.instant_apps_message_with_help
+                                : R.string.instant_apps_message);
+
+        UserHandle user = UserHandle.of(userId);
+        PendingIntent appInfoAction =
+                PendingIntent.getActivityAsUser(
+                        mContext,
+                        0,
+                        new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
+                                .setData(Uri.fromParts("package", pkg, null)),
+                        0,
+                        null,
+                        user);
+        Notification.Action action =
+                new Notification.Action.Builder(
+                                null, mContext.getString(R.string.app_info), appInfoAction)
+                        .build();
+        PendingIntent helpCenterIntent =
+                hasHelpUrl
+                        ? PendingIntent.getActivityAsUser(
+                                mContext,
+                                0,
+                                new Intent(Intent.ACTION_VIEW).setData(Uri.parse(helpUrl)),
+                                0,
+                                null,
+                                user)
+                        : null;
+
+        Intent browserIntent = getTaskIntent(taskId, userId);
+        Notification.Builder builder =
+                new Notification.Builder(mContext, NotificationChannels.GENERAL);
+        if (browserIntent != null && browserIntent.isWebIntent()) {
+            // Make sure that this doesn't resolve back to an instant app
+            browserIntent
+                    .setComponent(null)
+                    .setPackage(null)
+                    .addFlags(Intent.FLAG_IGNORE_EPHEMERAL)
+                    .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
+
+            PendingIntent pendingIntent =
+                    PendingIntent.getActivityAsUser(
+                            mContext,
+                            0 /* requestCode */,
+                            browserIntent,
+                            0 /* flags */,
+                            null,
+                            user);
+            ComponentName aiaComponent = null;
+            try {
+                aiaComponent = AppGlobals.getPackageManager().getInstantAppInstallerComponent();
+            } catch (RemoteException e) {
+                e.rethrowFromSystemServer();
+            }
+            Intent goToWebIntent =
+                    new Intent()
+                            .setComponent(aiaComponent)
+                            .setAction(Intent.ACTION_VIEW)
+                            .addCategory(Intent.CATEGORY_BROWSABLE)
+                            .addCategory("unique:" + System.currentTimeMillis())
+                            .putExtra(Intent.EXTRA_PACKAGE_NAME, appInfo.packageName)
+                            .putExtra(
+                                    Intent.EXTRA_VERSION_CODE,
+                                    (int) (appInfo.versionCode & 0x7fffffff))
+                            .putExtra(Intent.EXTRA_LONG_VERSION_CODE, appInfo.versionCode)
+                            .putExtra(Intent.EXTRA_INSTANT_APP_FAILURE, pendingIntent);
+
+            PendingIntent webPendingIntent =
+                    PendingIntent.getActivityAsUser(mContext, 0, goToWebIntent, 0, null, user);
+            Notification.Action webAction =
+                    new Notification.Action.Builder(
+                                    null, mContext.getString(R.string.go_to_web), webPendingIntent)
+                            .build();
+            builder.addAction(webAction);
+        }
+
+        noMan.notifyAsUser(
+                pkg,
+                SystemMessage.NOTE_INSTANT_APPS,
+                builder.addExtras(extras)
+                        .addAction(action)
+                        .setContentIntent(helpCenterIntent)
+                        .setColor(mContext.getColor(R.color.instant_apps_color))
+                        .setContentTitle(
+                                mContext.getString(
+                                        R.string.instant_apps_title,
+                                        appInfo.loadLabel(mContext.getPackageManager())))
+                        .setLargeIcon(Icon.createWithResource(pkg, appInfo.icon))
+                        .setSmallIcon(
+                                Icon.createWithResource(
+                                        mContext.getPackageName(), R.drawable.instant_icon))
+                        .setContentText(message)
+                        .setStyle(new Notification.BigTextStyle().bigText(message))
+                        .setOngoing(true)
+                        .build(),
+                new UserHandle(userId));
+    }
+
+    @Nullable
+    private Intent getTaskIntent(int taskId, int userId) {
+        try {
+            final List<ActivityManager.RecentTaskInfo> tasks =
+                    ActivityTaskManager.getService()
+                            .getRecentTasks(NUM_TASKS_FOR_INSTANT_APP_INFO, 0, userId)
+                            .getList();
+            for (int i = 0; i < tasks.size(); i++) {
+                if (tasks.get(i).id == taskId) {
+                    return tasks.get(i).baseIntent;
+                }
+            }
+        } catch (RemoteException e) {
+            // Fall through
+        }
+        return null;
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java
index 4ed9ae4..7d224fb 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationEntryManager.java
@@ -159,16 +159,19 @@
     }
 
     public void performRemoveNotification(StatusBarNotification n) {
-        final int rank = mNotificationData.getRank(n.getKey());
-        final int count = mNotificationData.getActiveNotifications().size();
-        NotificationVisibility.NotificationLocation location =
-                NotificationLogger.getNotificationLocation(getNotificationData().get(n.getKey()));
-        final NotificationVisibility nv = NotificationVisibility.obtain(n.getKey(), rank, count,
-                true, location);
+        final NotificationVisibility nv = obtainVisibility(n.getKey());
         removeNotificationInternal(
                 n.getKey(), null, nv, false /* forceRemove */, true /* removedByUser */);
     }
 
+    private NotificationVisibility obtainVisibility(String key) {
+        final int rank = mNotificationData.getRank(key);
+        final int count = mNotificationData.getActiveNotifications().size();
+        NotificationVisibility.NotificationLocation location =
+                NotificationLogger.getNotificationLocation(getNotificationData().get(key));
+        return NotificationVisibility.obtain(key, rank, count, true, location);
+    }
+
     private void abortExistingInflation(String key) {
         if (mPendingNotifications.containsKey(key)) {
             NotificationEntry entry = mPendingNotifications.get(key);
@@ -226,8 +229,8 @@
 
     @Override
     public void removeNotification(String key, NotificationListenerService.RankingMap ranking) {
-        removeNotificationInternal(
-                key, ranking, null, false /* forceRemove */, false /* removedByUser */);
+        removeNotificationInternal(key, ranking, obtainVisibility(key), false /* forceRemove */,
+                false /* removedByUser */);
     }
 
     private void removeNotificationInternal(
@@ -245,7 +248,8 @@
         if (entry != null) {
             // If a manager needs to keep the notification around for whatever reason, we
             // keep the notification
-            if (!forceRemove) {
+            boolean entryDismissed = entry.isRowDismissed();
+            if (!forceRemove && !entryDismissed) {
                 for (NotificationLifetimeExtender extender : mNotificationLifetimeExtenders) {
                     if (extender.shouldExtendLifetime(entry)) {
                         mLatestRankingMap = ranking;
@@ -272,6 +276,7 @@
                 mNotificationData.remove(key, ranking);
                 updateNotifications();
                 Dependency.get(LeakDetector.class).trackGarbage(entry);
+                removedByUser |= entryDismissed;
 
                 for (NotificationEntryListener listener : mNotificationEntryListeners) {
                     listener.onEntryRemoved(entry, visibility, removedByUser);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationInterruptionStateProvider.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationInterruptionStateProvider.java
index 7cbe1a3..059c3f6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationInterruptionStateProvider.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/NotificationInterruptionStateProvider.java
@@ -22,10 +22,12 @@
 import android.app.NotificationManager;
 import android.content.Context;
 import android.database.ContentObserver;
+import android.hardware.display.AmbientDisplayConfiguration;
 import android.os.Bundle;
 import android.os.PowerManager;
 import android.os.RemoteException;
 import android.os.ServiceManager;
+import android.os.UserHandle;
 import android.provider.Settings;
 import android.service.dreams.DreamService;
 import android.service.dreams.IDreamManager;
@@ -54,6 +56,7 @@
     private final StatusBarStateController mStatusBarStateController =
             Dependency.get(StatusBarStateController.class);
     private final NotificationFilter mNotificationFilter = Dependency.get(NotificationFilter.class);
+    private final AmbientDisplayConfiguration mAmbientDisplayConfiguration;
 
     private final Context mContext;
     private final PowerManager mPowerManager;
@@ -73,17 +76,20 @@
         this(context,
                 (PowerManager) context.getSystemService(Context.POWER_SERVICE),
                 IDreamManager.Stub.asInterface(
-                        ServiceManager.checkService(DreamService.DREAM_SERVICE)));
+                        ServiceManager.checkService(DreamService.DREAM_SERVICE)),
+                new AmbientDisplayConfiguration(context));
     }
 
     @VisibleForTesting
     protected NotificationInterruptionStateProvider(
             Context context,
             PowerManager powerManager,
-            IDreamManager dreamManager) {
+            IDreamManager dreamManager,
+            AmbientDisplayConfiguration ambientDisplayConfiguration) {
         mContext = context;
         mPowerManager = powerManager;
         mDreamManager = dreamManager;
+        mAmbientDisplayConfiguration = ambientDisplayConfiguration;
     }
 
     /** Sets up late-binding dependencies for this component. */
@@ -232,6 +238,13 @@
     public boolean shouldPulse(NotificationEntry entry) {
         StatusBarNotification sbn = entry.notification;
 
+        if (!mAmbientDisplayConfiguration.pulseOnNotificationEnabled(UserHandle.USER_CURRENT)) {
+            if (DEBUG) {
+                Log.d(TAG, "No pulsing: disabled by setting: " + sbn.getKey());
+            }
+            return false;
+        }
+
         if (!getShadeController().isDozing()) {
             if (DEBUG) {
                 Log.d(TAG, "No pulsing: not dozing: " + sbn.getKey());
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 5cd1210..f1373d1 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
@@ -543,14 +543,6 @@
         return row == null || row.isRemoved();
     }
 
-    /**
-     * @return {@code true} if the row is null or dismissed
-     */
-    public boolean isDismissed() {
-        //TODO: recycling
-        return row == null || row.isDismissed();
-    }
-
     public boolean isRowPinned() {
         return row != null && row.isPinned();
     }
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 767e14c..d7baeee 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
@@ -334,7 +334,6 @@
     private boolean mUseIncreasedHeadsUpHeight;
     private float mTranslationWhenRemoved;
     private boolean mWasChildInGroupWhenRemoved;
-    private int mNotificationColorAmbient;
     private NotificationInlineImageResolver mImageResolver;
     private NotificationMediaManager mMediaManager;
 
@@ -1284,18 +1283,12 @@
         mNotificationColor = ContrastColorUtil.resolveContrastColor(mContext,
                 getStatusBarNotification().getNotification().color,
                 getBackgroundColorWithoutTint(), nightMode);
-        mNotificationColorAmbient = ContrastColorUtil.resolveAmbientColor(mContext,
-                getStatusBarNotification().getNotification().color);
     }
 
     public HybridNotificationView getSingleLineView() {
         return mPrivateLayout.getSingleLineView();
     }
 
-    public HybridNotificationView getAmbientSingleLineView() {
-        return getShowingLayout().getAmbientSingleLineChild();
-    }
-
     public boolean isOnKeyguard() {
         return mOnKeyguard;
     }
@@ -1628,10 +1621,6 @@
         return mNotificationInflater;
     }
 
-    public int getNotificationColorAmbient() {
-        return mNotificationColorAmbient;
-    }
-
     public interface ExpansionLogger {
         void logNotificationExpansion(String key, boolean userAction, boolean expanded);
     }
@@ -2224,11 +2213,14 @@
     }
 
     public void resetUserExpansion() {
-        boolean changed = mUserExpanded;
+        boolean wasExpanded = isExpanded();
         mHasUserChangedExpansion = false;
         mUserExpanded = false;
-        if (changed && mIsSummaryWithChildren) {
-            mChildrenContainer.onExpansionChanged();
+        if (wasExpanded != isExpanded()) {
+            if (mIsSummaryWithChildren) {
+                mChildrenContainer.onExpansionChanged();
+            }
+            notifyHeightChanged(false /* needsAnimation */);
         }
         updateShelfIconColor();
     }
@@ -2316,7 +2308,7 @@
             return mPrivateLayout.getMinHeight();
         } else if (mSensitive && mHideSensitiveForIntrinsicHeight) {
             return getMinHeight();
-        } else if (mIsSummaryWithChildren && (!mOnKeyguard || mOnAmbient)) {
+        } else if (mIsSummaryWithChildren && !mOnKeyguard) {
             return mChildrenContainer.getIntrinsicHeight();
         } else if (isHeadsUpAllowed() && (mIsHeadsUp || mHeadsupDisappearRunning)) {
             if (isPinned() || mHeadsupDisappearRunning) {
@@ -3018,9 +3010,6 @@
     public void setOnAmbient(boolean onAmbient) {
         if (onAmbient != mOnAmbient) {
             mOnAmbient = onAmbient;
-            if (mChildrenContainer != null) {
-                mChildrenContainer.notifyDozingStateChanged();
-            }
             notifyHeightChanged(false /* needsAnimation */);
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/FooterView.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/FooterView.java
index 311bf7a..c2da517 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/FooterView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/FooterView.java
@@ -79,6 +79,8 @@
         mDismissButton.setContentDescription(
                 mContext.getString(R.string.accessibility_clear_all));
         mManageButton.setText(R.string.manage_notifications_text);
+        mManageButton.setContentDescription(
+                mContext.getString(R.string.accessibility_manage_notification));
     }
 
     public boolean isButtonVisible() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridGroupManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridGroupManager.java
index 90ff4a7..fe81957 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridGroupManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/HybridGroupManager.java
@@ -36,7 +36,6 @@
 public class HybridGroupManager {
 
     private final Context mContext;
-    private final NotificationDozeHelper mDozer;
     private final ViewGroup mParent;
 
     private float mOverflowNumberSize;
@@ -47,7 +46,6 @@
     public HybridGroupManager(Context ctx, ViewGroup parent) {
         mContext = ctx;
         mParent = parent;
-        mDozer = new NotificationDozeHelper();
         initDimens();
     }
 
@@ -94,12 +92,6 @@
                 R.style.HybridNotification);
     }
 
-    public HybridNotificationView bindAmbientFromNotification(HybridNotificationView reusableView,
-            Notification notification) {
-        return bindFromNotificationWithStyle(reusableView, notification,
-                R.style.HybridNotification);
-    }
-
     private HybridNotificationView bindFromNotificationWithStyle(
             HybridNotificationView reusableView, Notification notification, int style) {
         if (reusableView == null) {
@@ -147,15 +139,4 @@
         updateOverFlowNumberColor(reusableView);
         return reusableView;
     }
-
-    public TextView bindOverflowNumberAmbient(TextView titleView, Notification notification,
-            int number) {
-        String text = mContext.getResources().getString(
-                R.string.notification_group_overflow_indicator_ambient,
-                resolveTitle(notification), number);
-        if (!text.equals(titleView.getText())) {
-            titleView.setText(text);
-        }
-        return titleView;
-    }
 }
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 3cc2e83..7850035 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
@@ -72,7 +72,6 @@
     public static final int VISIBLE_TYPE_HEADSUP = 2;
     private static final int VISIBLE_TYPE_SINGLELINE = 3;
     public static final int VISIBLE_TYPE_AMBIENT = 4;
-    private static final int VISIBLE_TYPE_AMBIENT_SINGLELINE = 5;
     public static final int UNDEFINED = -1;
 
     private final Rect mClipBounds = new Rect();
@@ -84,7 +83,6 @@
     private View mHeadsUpChild;
     private HybridNotificationView mSingleLineView;
     private View mAmbientChild;
-    private HybridNotificationView mAmbientSingleLineChild;
 
     private RemoteInputView mExpandedRemoteInput;
     private RemoteInputView mHeadsUpRemoteInput;
@@ -301,27 +299,6 @@
                             : MeasureSpec.AT_MOST));
             maxChildHeight = Math.max(maxChildHeight, mAmbientChild.getMeasuredHeight());
         }
-        if (mAmbientSingleLineChild != null) {
-            int size = mNotificationAmbientHeight;
-            ViewGroup.LayoutParams layoutParams = mAmbientSingleLineChild.getLayoutParams();
-            boolean useExactly = false;
-            if (layoutParams.height >= 0) {
-                // An actual height is set
-                size = Math.min(size, layoutParams.height);
-                useExactly = true;
-            }
-            int ambientSingleLineWidthSpec = widthMeasureSpec;
-            if (mSingleLineWidthIndention != 0
-                    && MeasureSpec.getMode(widthMeasureSpec) != MeasureSpec.UNSPECIFIED) {
-                ambientSingleLineWidthSpec = MeasureSpec.makeMeasureSpec(
-                        width - mSingleLineWidthIndention + mAmbientSingleLineChild.getPaddingEnd(),
-                        MeasureSpec.EXACTLY);
-            }
-            mAmbientSingleLineChild.measure(ambientSingleLineWidthSpec,
-                    MeasureSpec.makeMeasureSpec(size, useExactly ? MeasureSpec.EXACTLY
-                            : MeasureSpec.AT_MOST));
-            maxChildHeight = Math.max(maxChildHeight, mAmbientSingleLineChild.getMeasuredHeight());
-        }
         int ownHeight = Math.min(maxChildHeight, maxSize);
         setMeasuredDimension(width, ownHeight);
     }
@@ -351,22 +328,10 @@
             if (mExpandedChild != null
                     && mExpandedWrapper.getNotificationHeader() != null) {
                 NotificationHeaderView expandedHeader = mExpandedWrapper.getNotificationHeader();
-                int expandedSize = expandedHeader.getMeasuredWidth()
-                        - expandedHeader.getPaddingEnd();
-                int collapsedSize = contractedHeader.getMeasuredWidth()
-                        - expandedHeader.getPaddingEnd();
-                if (expandedSize != collapsedSize) {
-                    int paddingEnd = contractedHeader.getMeasuredWidth() - expandedSize;
-                    contractedHeader.setPadding(
-                            contractedHeader.isLayoutRtl()
-                                    ? paddingEnd
-                                    : contractedHeader.getPaddingLeft(),
-                            contractedHeader.getPaddingTop(),
-                            contractedHeader.isLayoutRtl()
-                                    ? contractedHeader.getPaddingLeft()
-                                    : paddingEnd,
-                            contractedHeader.getPaddingBottom());
-                    contractedHeader.setShowWorkBadgeAtEnd(true);
+
+                int headerTextMargin = expandedHeader.getHeaderTextMarginEnd();
+                if (headerTextMargin != contractedHeader.getHeaderTextMarginEnd()) {
+                    contractedHeader.setHeaderTextMarginEnd(headerTextMargin);
                     return true;
                 }
             } else {
@@ -432,10 +397,6 @@
         return mAmbientChild;
     }
 
-    public HybridNotificationView getAmbientSingleLineChild() {
-        return mAmbientSingleLineChild;
-    }
-
     /**
      * Sets the contracted view. Child may be null to remove the content view.
      *
@@ -693,10 +654,7 @@
         int hint;
         if (mAmbientChild != null && isVisibleOrTransitioning(VISIBLE_TYPE_AMBIENT)) {
             hint = mAmbientChild.getHeight();
-        } else if (mAmbientSingleLineChild != null && isVisibleOrTransitioning(
-                VISIBLE_TYPE_AMBIENT_SINGLELINE)) {
-            hint = mAmbientSingleLineChild.getHeight();
-        } else if (mHeadsUpChild != null && isVisibleOrTransitioning(VISIBLE_TYPE_HEADSUP)) {
+        }  else if (mHeadsUpChild != null && isVisibleOrTransitioning(VISIBLE_TYPE_HEADSUP)) {
             hint = getViewHeight(VISIBLE_TYPE_HEADSUP);
         } else if (mExpandedChild != null) {
             hint = getViewHeight(VISIBLE_TYPE_EXPANDED);
@@ -833,7 +791,7 @@
     }
 
     public View getShowingAmbientView() {
-        View v = mIsChildInGroup ? mAmbientSingleLineChild : mAmbientChild;
+        View v = mIsChildInGroup ? mSingleLineView : mAmbientChild;
         if (v != null) {
             return v;
         } else {
@@ -923,8 +881,6 @@
         forceUpdateVisibility(VISIBLE_TYPE_HEADSUP, mHeadsUpChild, mHeadsUpWrapper);
         forceUpdateVisibility(VISIBLE_TYPE_SINGLELINE, mSingleLineView, mSingleLineView);
         forceUpdateVisibility(VISIBLE_TYPE_AMBIENT, mAmbientChild, mAmbientWrapper);
-        forceUpdateVisibility(VISIBLE_TYPE_AMBIENT_SINGLELINE, mAmbientSingleLineChild,
-                mAmbientSingleLineChild);
         fireExpandedVisibleListenerIfVisible();
         // forceUpdateVisibilities cancels outstanding animations without updating the
         // mAnimationStartVisibleType. Do so here instead.
@@ -1002,8 +958,6 @@
                 mSingleLineView, mSingleLineView);
         updateViewVisibility(visibleType, VISIBLE_TYPE_AMBIENT,
                 mAmbientChild, mAmbientWrapper);
-        updateViewVisibility(visibleType, VISIBLE_TYPE_AMBIENT_SINGLELINE,
-                mAmbientSingleLineChild, mAmbientSingleLineChild);
         fireExpandedVisibleListenerIfVisible();
         // updateViewVisibilities cancels outstanding animations without updating the
         // mAnimationStartVisibleType. Do so here instead.
@@ -1066,8 +1020,6 @@
                 return mSingleLineView;
             case VISIBLE_TYPE_AMBIENT:
                 return mAmbientWrapper;
-            case VISIBLE_TYPE_AMBIENT_SINGLELINE:
-                return mAmbientSingleLineChild;
             default:
                 return mContractedWrapper;
         }
@@ -1087,8 +1039,6 @@
                 return mSingleLineView;
             case VISIBLE_TYPE_AMBIENT:
                 return mAmbientChild;
-            case VISIBLE_TYPE_AMBIENT_SINGLELINE:
-                return mAmbientSingleLineChild;
             default:
                 return mContractedChild;
         }
@@ -1145,8 +1095,7 @@
         }
         boolean onAmbient = mContainingNotification.isOnAmbient();
         if (!mUserExpanding && mIsChildInGroup && !isGroupExpanded()) {
-            return onAmbient ? VISIBLE_TYPE_AMBIENT_SINGLELINE
-                    : VISIBLE_TYPE_SINGLELINE;
+            return VISIBLE_TYPE_SINGLELINE;
         }
 
         if ((mIsHeadsUp || mHeadsUpAnimatingAway) && mHeadsUpChild != null
@@ -1259,7 +1208,6 @@
 
     private void updateAllSingleLineViews() {
         updateSingleLineView();
-        updateAmbientSingleLineView();
     }
 
     private void updateSingleLineView() {
@@ -1277,21 +1225,6 @@
         }
     }
 
-    private void updateAmbientSingleLineView() {
-        if (mIsChildInGroup) {
-            boolean isNewView = mAmbientSingleLineChild == null;
-            mAmbientSingleLineChild = mHybridGroupManager.bindAmbientFromNotification(
-                    mAmbientSingleLineChild, mStatusBarNotification.getNotification());
-            if (isNewView) {
-                updateViewVisibility(mVisibleType, VISIBLE_TYPE_AMBIENT_SINGLELINE,
-                        mAmbientSingleLineChild, mAmbientSingleLineChild);
-            }
-        } else if (mAmbientSingleLineChild != null) {
-            removeView(mAmbientSingleLineChild);
-            mAmbientSingleLineChild = null;
-        }
-    }
-
     private void applyMediaTransfer(final NotificationEntry entry) {
         View bigContentView = mExpandedChild;
         if (bigContentView == null || !entry.isMediaNotification()) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java
index fea01ef..54bdaa2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationGutsManager.java
@@ -122,11 +122,22 @@
     }
 
     /**
-     * Sends an intent to open the app settings for a particular package and optional
+     * Sends an intent to open the notification settings for a particular package and optional
      * channel.
      */
     private void startAppNotificationSettingsActivity(String packageName, final int appUid,
             final NotificationChannel channel, ExpandableNotificationRow row) {
+        final Intent intent = new Intent(Settings.ACTION_APP_NOTIFICATION_SETTINGS);
+        intent.putExtra(Settings.EXTRA_APP_PACKAGE, packageName);
+        intent.putExtra(Settings.EXTRA_APP_UID, appUid);
+        if (channel != null) {
+            intent.putExtra(EXTRA_FRAGMENT_ARG_KEY, channel.getId());
+        }
+        mNotificationActivityStarter.startNotificationGutsIntent(intent, appUid, row);
+    }
+
+    private void startAppDetailsSettingsActivity(String packageName, final int appUid,
+            final NotificationChannel channel, ExpandableNotificationRow row) {
         final Intent intent = new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS);
         intent.setData(Uri.fromParts("package", packageName, null));
         intent.putExtra(Settings.EXTRA_APP_PACKAGE, packageName);
@@ -141,7 +152,7 @@
             ExpandableNotificationRow row) {
         if (ops.contains(OP_SYSTEM_ALERT_WINDOW)) {
             if (ops.contains(OP_CAMERA) || ops.contains(OP_RECORD_AUDIO)) {
-                startAppNotificationSettingsActivity(pkg, uid, null, row);
+                startAppDetailsSettingsActivity(pkg, uid, null, row);
             } else {
                 Intent intent = new Intent(Settings.ACTION_MANAGE_OVERLAY_PERMISSION);
                 intent.setData(Uri.fromParts("package", pkg, null));
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationInfo.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationInfo.java
index 3723731..2e4325b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationInfo.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/row/NotificationInfo.java
@@ -17,7 +17,6 @@
 package com.android.systemui.statusbar.notification.row;
 
 import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
-import static android.app.NotificationManager.IMPORTANCE_HIGH;
 import static android.app.NotificationManager.IMPORTANCE_LOW;
 import static android.app.NotificationManager.IMPORTANCE_MIN;
 import static android.app.NotificationManager.IMPORTANCE_NONE;
@@ -38,6 +37,7 @@
 import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.pm.ResolveInfo;
+import android.graphics.Color;
 import android.graphics.drawable.Drawable;
 import android.metrics.LogMaker;
 import android.os.Handler;
@@ -81,10 +81,11 @@
     }
 
     public static final int ACTION_NONE = 0;
-    public static final int ACTION_UNDO = 1;
-    public static final int ACTION_TOGGLE_SILENT = 2;
-    public static final int ACTION_BLOCK = 3;
-    public static final int ACTION_DELIVER_SILENTLY = 4;
+    static final int ACTION_UNDO = 1;
+    static final int ACTION_TOGGLE_SILENT = 2;
+    static final int ACTION_BLOCK = 3;
+    static final int ACTION_DELIVER_SILENTLY = 4;
+    private static final int ACTION_ALERT = 5;
 
     private INotificationManager mINotificationManager;
     private PackageManager mPm;
@@ -98,6 +99,7 @@
     private NotificationChannel mSingleNotificationChannel;
     private int mStartingChannelImportance;
     private boolean mWasShownHighPriority;
+    private int mNotificationBlockState = ACTION_NONE;
     /**
      * The last importance level chosen by the user.  Null if the user has not chosen an importance
      * level; non-null once the user takes an action which indicates an explicit preference.
@@ -117,7 +119,6 @@
 
     /** Whether this view is being shown as part of the blocking helper. */
     private boolean mIsForBlockingHelper;
-    private boolean mNegativeUserSentiment;
 
     /**
      * String that describes how the user exit or quit out of this view, also used as a counter tag.
@@ -126,8 +127,8 @@
 
     private OnClickListener mOnKeepShowing = v -> {
         mExitReason = NotificationCounters.BLOCKING_HELPER_KEEP_SHOWING;
-        closeControls(v);
         if (mIsForBlockingHelper) {
+            closeControls(v);
             mMetricsLogger.write(getLogMaker().setCategory(
                     MetricsEvent.NOTIFICATION_BLOCKING_HELPER)
                     .setType(MetricsEvent.TYPE_ACTION)
@@ -135,23 +136,36 @@
         }
     };
 
-    private OnClickListener mOnToggleSilent = v -> {
-        handleSaveImportance(ACTION_TOGGLE_SILENT, MetricsEvent.BLOCKING_HELPER_CLICK_ALERT_ME);
+    private OnClickListener mOnAlert = v -> {
+        mExitReason = NotificationCounters.BLOCKING_HELPER_KEEP_SHOWING;
+        mChosenImportance = IMPORTANCE_DEFAULT;
+        updateButtonsAndHelpText(ACTION_ALERT);
+    };
+
+    private OnClickListener mOnDismissSettings = v -> {
+        closeControls(v);
     };
 
     private OnClickListener mOnDeliverSilently = v -> {
         handleSaveImportance(
                 ACTION_DELIVER_SILENTLY, MetricsEvent.BLOCKING_HELPER_CLICK_STAY_SILENT);
+        if (!mIsForBlockingHelper) {
+            updateButtonsAndHelpText(ACTION_DELIVER_SILENTLY);
+        }
     };
 
     private OnClickListener mOnStopOrMinimizeNotifications = v -> {
         handleSaveImportance(ACTION_BLOCK, MetricsEvent.BLOCKING_HELPER_CLICK_BLOCKED);
+        if (!mIsForBlockingHelper) {
+            updateButtonsAndHelpText(ACTION_BLOCK);
+        }
     };
 
     private void handleSaveImportance(int action, int metricsSubtype) {
         Runnable saveImportance = () -> {
-            swapContent(action, true /* animate */);
+            saveImportanceAndExitReason(action);
             if (mIsForBlockingHelper) {
+                swapContent(action, true /* animate */);
                 mMetricsLogger.write(getLogMaker()
                         .setCategory(MetricsEvent.NOTIFICATION_BLOCKING_HELPER)
                         .setType(MetricsEvent.TYPE_ACTION)
@@ -177,6 +191,7 @@
         } else {
             mMetricsLogger.write(importanceChangeLogMaker().setType(MetricsEvent.TYPE_DISMISS));
         }
+        saveImportanceAndExitReason(ACTION_UNDO);
         swapContent(ACTION_UNDO, true /* animate */);
     };
 
@@ -252,7 +267,6 @@
         mSingleNotificationChannel = notificationChannel;
         mStartingChannelImportance = mSingleNotificationChannel.getImportance();
         mWasShownHighPriority = wasShownHighPriority;
-        mNegativeUserSentiment = isUserSentimentNegative;
         mIsNonblockable = isNonblockable;
         mIsForeground =
                 (mSbn.getNotification().flags & Notification.FLAG_FOREGROUND_SERVICE) != 0;
@@ -329,14 +343,6 @@
         bindGroup();
         if (mIsNonblockable) {
             blockPrompt.setText(R.string.notification_unblockable_desc);
-        } else {
-            if (mNegativeUserSentiment) {
-                blockPrompt.setText(R.string.inline_blocking_helper);
-            }  else if (mIsSingleDefaultChannel || mNumUniqueChannelsInRow > 1) {
-                blockPrompt.setText(R.string.inline_keep_showing_app);
-            } else {
-                blockPrompt.setText(R.string.inline_keep_showing);
-            }
         }
     }
 
@@ -403,6 +409,7 @@
         }
     }
 
+
     @VisibleForTesting
     void logBlockingHelperCounter(String counterTag) {
         if (mIsForBlockingHelper) {
@@ -454,21 +461,20 @@
         if (showInterruptivenessSettings) {
             findViewById(R.id.block_or_minimize).setVisibility(GONE);
             findViewById(R.id.interruptiveness_settings).setVisibility(VISIBLE);
-            View block = findViewById(R.id.int_block);
-            TextView silent = findViewById(R.id.int_silent);
-            TextView alert = findViewById(R.id.int_alert);
-
+            View done = findViewById(R.id.done_button);
+            done.setOnClickListener(mOnDismissSettings);
+            View block = findViewById(R.id.int_block_wrapper);
+            View silent = findViewById(R.id.int_silent_wrapper);
+            View alert = findViewById(R.id.int_alert_wrapper);
             block.setOnClickListener(mOnStopOrMinimizeNotifications);
-            if (mWasShownHighPriority) {
-                silent.setOnClickListener(mOnToggleSilent);
-                silent.setText(R.string.inline_silent_button_silent);
-                alert.setOnClickListener(mOnKeepShowing);
-                alert.setText(R.string.inline_silent_button_keep_alerting);
+            silent.setOnClickListener(mOnDeliverSilently);
+            alert.setOnClickListener(mOnAlert);
+            if (mNotificationBlockState != ACTION_NONE) {
+                updateButtonsAndHelpText(mNotificationBlockState);
+            } else if (mWasShownHighPriority) {
+                updateButtonsAndHelpText(ACTION_ALERT);
             } else {
-                silent.setOnClickListener(mOnKeepShowing);
-                silent.setText(R.string.inline_silent_button_stay_silent);
-                alert.setOnClickListener(mOnToggleSilent);
-                alert.setText(R.string.inline_silent_button_alert);
+                updateButtonsAndHelpText(ACTION_DELIVER_SILENTLY);
             }
         } else {
             findViewById(R.id.block_or_minimize).setVisibility(VISIBLE);
@@ -515,6 +521,73 @@
         }
     }
 
+    private void updateButtonsAndHelpText(int blockState) {
+        mNotificationBlockState = blockState;
+        ImageView block = findViewById(R.id.int_block);
+        ImageView silent = findViewById(R.id.int_silent);
+        ImageView alert = findViewById(R.id.int_alert);
+        TextView hintText = findViewById(R.id.hint_text);
+        switch (blockState) {
+            case ACTION_BLOCK:
+                block.setBackgroundResource(R.drawable.circle_blue_40dp);
+                block.setColorFilter(Color.WHITE);
+                silent.setBackgroundResource(R.drawable.circle_white_40dp);
+                silent.setColorFilter(getResources().getColor(R.color.GM2_grey_400));
+                alert.setBackgroundResource(R.drawable.circle_white_40dp);
+                alert.setColorFilter(getResources().getColor(R.color.GM2_grey_400));
+                hintText.setText(R.string.hint_text_block);
+                break;
+            case ACTION_DELIVER_SILENTLY:
+                silent.setBackgroundResource(R.drawable.circle_blue_40dp);
+                silent.setColorFilter(Color.WHITE);
+                block.setBackgroundResource(R.drawable.circle_white_40dp);
+                block.setColorFilter(getResources().getColor(R.color.GM2_grey_400));
+                alert.setBackgroundResource(R.drawable.circle_white_40dp);
+                alert.setColorFilter(getResources().getColor(R.color.GM2_grey_400));
+                hintText.setText(R.string.hint_text_silent);
+                break;
+            case ACTION_ALERT:
+                alert.setBackgroundResource(R.drawable.circle_blue_40dp);
+                alert.setColorFilter(Color.WHITE);
+                block.setBackgroundResource(R.drawable.circle_white_40dp);
+                block.setColorFilter(getResources().getColor(R.color.GM2_grey_400));
+                silent.setBackgroundResource(R.drawable.circle_white_40dp);
+                silent.setColorFilter(getResources().getColor(R.color.GM2_grey_400));
+                hintText.setText(R.string.hint_text_alert);
+                break;
+        }
+    }
+
+    private void saveImportanceAndExitReason(@NotificationInfoAction int action) {
+        switch (action) {
+            case ACTION_UNDO:
+                mChosenImportance = mStartingChannelImportance;
+                break;
+            case ACTION_DELIVER_SILENTLY:
+                mExitReason = NotificationCounters.BLOCKING_HELPER_DELIVER_SILENTLY;
+                mChosenImportance = IMPORTANCE_LOW;
+                break;
+            case ACTION_TOGGLE_SILENT:
+                mExitReason = NotificationCounters.BLOCKING_HELPER_TOGGLE_SILENT;
+                if (mWasShownHighPriority) {
+                    mChosenImportance = IMPORTANCE_LOW;
+                } else {
+                    mChosenImportance = IMPORTANCE_DEFAULT;
+                }
+                break;
+            case ACTION_BLOCK:
+                mExitReason = NotificationCounters.BLOCKING_HELPER_STOP_NOTIFICATIONS;
+                if (mIsForeground) {
+                    mChosenImportance = IMPORTANCE_MIN;
+                } else {
+                    mChosenImportance = IMPORTANCE_NONE;
+                }
+                break;
+            default:
+                throw new IllegalArgumentException();
+        }
+    }
+
     private void swapContent(@NotificationInfoAction int action, boolean animate) {
         if (mExpandAnimation != null) {
             mExpandAnimation.cancel();
@@ -525,32 +598,25 @@
         TextView confirmationText = findViewById(R.id.confirmation_text);
         View header = findViewById(R.id.header);
 
+        saveImportanceAndExitReason(action);
+
         switch (action) {
             case ACTION_UNDO:
-                mChosenImportance = mStartingChannelImportance;
                 break;
             case ACTION_DELIVER_SILENTLY:
-                mExitReason = NotificationCounters.BLOCKING_HELPER_DELIVER_SILENTLY;
-                mChosenImportance = IMPORTANCE_LOW;
                 confirmationText.setText(R.string.notification_channel_silenced);
                 break;
             case ACTION_TOGGLE_SILENT:
-                mExitReason = NotificationCounters.BLOCKING_HELPER_TOGGLE_SILENT;
                 if (mWasShownHighPriority) {
-                    mChosenImportance = IMPORTANCE_LOW;
                     confirmationText.setText(R.string.notification_channel_silenced);
                 } else {
-                    mChosenImportance = IMPORTANCE_DEFAULT;
                     confirmationText.setText(R.string.notification_channel_unsilenced);
                 }
                 break;
             case ACTION_BLOCK:
-                mExitReason = NotificationCounters.BLOCKING_HELPER_STOP_NOTIFICATIONS;
                 if (mIsForeground) {
-                    mChosenImportance = IMPORTANCE_MIN;
                     confirmationText.setText(R.string.notification_channel_minimized);
                 } else {
-                    mChosenImportance = IMPORTANCE_NONE;
                     confirmationText.setText(R.string.notification_channel_disabled);
                 }
                 break;
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 8ffada4..6632ae6 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
@@ -55,8 +55,6 @@
     static final int NUMBER_OF_CHILDREN_WHEN_SYSTEM_EXPANDED = 5;
     @VisibleForTesting
     static final int NUMBER_OF_CHILDREN_WHEN_CHILDREN_EXPANDED = 8;
-    @VisibleForTesting
-    static final int NUMBER_OF_CHILDREN_WHEN_AMBIENT = 1;
     private static final AnimationProperties ALPHA_FADE_IN = new AnimationProperties() {
         private AnimationFilter mAnimationFilter = new AnimationFilter().animateAlpha();
 
@@ -95,8 +93,6 @@
     private NotificationViewWrapper mNotificationHeaderWrapper;
     private NotificationHeaderView mNotificationHeaderLowPriority;
     private NotificationViewWrapper mNotificationHeaderWrapperLowPriority;
-    private ViewGroup mNotificationHeaderAmbient;
-    private NotificationViewWrapper mNotificationHeaderWrapperAmbient;
     private NotificationHeaderUtil mHeaderUtil;
     private ViewState mHeaderViewState;
     private int mClipBottomAmount;
@@ -180,11 +176,6 @@
                     mNotificationHeaderLowPriority.getMeasuredWidth(),
                     mNotificationHeaderLowPriority.getMeasuredHeight());
         }
-        if (mNotificationHeaderAmbient != null) {
-            mNotificationHeaderAmbient.layout(0, 0,
-                    mNotificationHeaderAmbient.getMeasuredWidth(),
-                    mNotificationHeaderAmbient.getMeasuredHeight());
-        }
     }
 
     @Override
@@ -212,8 +203,7 @@
             // We need to measure all children even the GONE ones, such that the heights are
             // calculated correctly as they are used to calculate how many we can fit on the screen.
             boolean isOverflow = i == overflowIndex;
-            child.setSingleLineWidthIndention(isOverflow && mOverflowNumber != null &&
-                    !mContainingNotification.isOnAmbient()
+            child.setSingleLineWidthIndention(isOverflow && mOverflowNumber != null
                     ? mOverflowNumber.getMeasuredWidth() : 0);
             child.measure(widthMeasureSpec, newHeightSpec);
             // layout the divider
@@ -236,10 +226,6 @@
             headerHeightSpec = MeasureSpec.makeMeasureSpec(mHeaderHeight, MeasureSpec.EXACTLY);
             mNotificationHeaderLowPriority.measure(widthMeasureSpec, headerHeightSpec);
         }
-        if (mNotificationHeaderAmbient != null) {
-            headerHeightSpec = MeasureSpec.makeMeasureSpec(mHeaderHeight, MeasureSpec.EXACTLY);
-            mNotificationHeaderAmbient.measure(widthMeasureSpec, headerHeightSpec);
-        }
 
         setMeasuredDimension(width, height);
     }
@@ -332,33 +318,10 @@
         }
         mNotificationHeaderWrapper.onContentUpdated(mContainingNotification);
         recreateLowPriorityHeader(builder);
-        recreateAmbientHeader(builder);
         updateHeaderVisibility(false /* animate */);
         updateChildrenHeaderAppearance();
     }
 
-    private void recreateAmbientHeader(Notification.Builder builder) {
-        RemoteViews header;
-        StatusBarNotification notification = mContainingNotification.getStatusBarNotification();
-        if (builder == null) {
-            builder = Notification.Builder.recoverBuilder(getContext(),
-                    notification.getNotification());
-        }
-        header = builder.makeNotificationHeader();
-        if (mNotificationHeaderAmbient == null) {
-            mNotificationHeaderAmbient = (ViewGroup) header.apply(getContext(), this);
-            mNotificationHeaderWrapperAmbient = NotificationViewWrapper.wrap(getContext(),
-                    mNotificationHeaderAmbient, mContainingNotification);
-            mNotificationHeaderWrapperAmbient.onContentUpdated(mContainingNotification);
-            addView(mNotificationHeaderAmbient, 0);
-            invalidate();
-        } else {
-            header.reapply(getContext(), mNotificationHeaderAmbient);
-        }
-        resetHeaderVisibilityIfNeeded(mNotificationHeaderAmbient, calculateDesiredHeader());
-        mNotificationHeaderWrapperAmbient.onContentUpdated(mContainingNotification);
-    }
-
     /**
      * Recreate the low-priority header.
      *
@@ -406,17 +369,6 @@
         if (childCount > maxAllowedVisibleChildren) {
             int number = childCount - maxAllowedVisibleChildren;
             mOverflowNumber = mHybridGroupManager.bindOverflowNumber(mOverflowNumber, number);
-            if (mContainingNotification.isOnAmbient()) {
-                ExpandableNotificationRow overflowView = mChildren.get(0);
-                HybridNotificationView ambientSingleLineView = overflowView == null ? null
-                        : overflowView.getAmbientSingleLineView();
-                if (ambientSingleLineView != null) {
-                    mHybridGroupManager.bindOverflowNumberAmbient(
-                            ambientSingleLineView.getTitleView(),
-                            mContainingNotification.getStatusBarNotification().getNotification(),
-                            number);
-                }
-            }
             if (mGroupOverFlowState == null) {
                 mGroupOverFlowState = new ViewState();
                 mNeverAppliedGroupState = true;
@@ -522,7 +474,7 @@
         if (mUserLocked) {
             expandFactor = getGroupExpandFraction();
         }
-        boolean childrenExpanded = mChildrenExpanded || mContainingNotification.isOnAmbient();
+        boolean childrenExpanded = mChildrenExpanded;
         for (int i = 0; i < childCount; i++) {
             if (visibleChildren >= maxAllowedVisibleChildren) {
                 break;
@@ -563,7 +515,7 @@
     /**
      * Update the state of all its children based on a linear layout algorithm.
      * @param parentState the state of the parent
-     * @param ambientState
+     * @param ambientState the ambient state containing ambient information
      */
     public void updateState(ExpandableViewState parentState, AmbientState ambientState) {
         int childCount = mChildren.size();
@@ -639,9 +591,7 @@
                     getMaxAllowedVisibleChildren(true /* likeCollapsed */), childCount) - 1);
             mGroupOverFlowState.copyFrom(overflowView.getViewState());
 
-            if (mContainingNotification.isOnAmbient()) {
-                mGroupOverFlowState.alpha = 0.0f;
-            } else if (!mChildrenExpanded) {
+            if (!mChildrenExpanded) {
                 HybridNotificationView alignView = overflowView.getSingleLineView();
                 if (alignView != null) {
                     View mirrorView = alignView.getTextView();
@@ -708,9 +658,6 @@
 
     @VisibleForTesting
     int getMaxAllowedVisibleChildren(boolean likeCollapsed) {
-        if (mContainingNotification.isOnAmbient()) {
-            return NUMBER_OF_CHILDREN_WHEN_AMBIENT;
-        }
         if (!likeCollapsed && (mChildrenExpanded || mContainingNotification.isUserLocked())
                 && !showingAsLowPriority()) {
             return NUMBER_OF_CHILDREN_WHEN_CHILDREN_EXPANDED;
@@ -900,11 +847,6 @@
         return mCurrentHeader;
     }
 
-    public void notifyDozingStateChanged() {
-        updateHeaderVisibility(false);
-        updateGroupOverflow();
-    }
-
     private void updateHeaderVisibility(boolean animate) {
         ViewGroup desiredHeader;
         ViewGroup currentHeader = mCurrentHeader;
@@ -913,10 +855,6 @@
         if (currentHeader == desiredHeader) {
             return;
         }
-        if (desiredHeader == mNotificationHeaderAmbient
-                || currentHeader == mNotificationHeaderAmbient) {
-            animate = false;
-        }
 
         if (animate) {
             if (desiredHeader != null && currentHeader != null) {
@@ -948,7 +886,6 @@
         }
 
         resetHeaderVisibilityIfNeeded(mNotificationHeader, desiredHeader);
-        resetHeaderVisibilityIfNeeded(mNotificationHeaderAmbient, desiredHeader);
         resetHeaderVisibilityIfNeeded(mNotificationHeaderLowPriority, desiredHeader);
 
         mCurrentHeader = desiredHeader;
@@ -970,9 +907,7 @@
 
     private ViewGroup calculateDesiredHeader() {
         ViewGroup desiredHeader;
-        if (mContainingNotification.isOnAmbient()) {
-            desiredHeader = mNotificationHeaderAmbient;
-        } else if (showingAsLowPriority()) {
+        if (showingAsLowPriority()) {
             desiredHeader = mNotificationHeaderLowPriority;
         } else {
             desiredHeader = mNotificationHeader;
@@ -1015,9 +950,6 @@
         if (visibleHeader == mNotificationHeader) {
             return mNotificationHeaderWrapper;
         }
-        if (visibleHeader == mNotificationHeaderAmbient) {
-            return mNotificationHeaderWrapperAmbient;
-        }
         return mNotificationHeaderWrapperLowPriority;
     }
 
@@ -1126,9 +1058,7 @@
     }
 
     public int getMinHeight() {
-        return getMinHeight(mContainingNotification.isOnAmbient()
-                ? NUMBER_OF_CHILDREN_WHEN_AMBIENT
-                : NUMBER_OF_CHILDREN_WHEN_COLLAPSED, false /* likeHighPriority */);
+        return getMinHeight(NUMBER_OF_CHILDREN_WHEN_COLLAPSED, false /* likeHighPriority */);
     }
 
     public int getCollapsedHeight() {
@@ -1180,10 +1110,6 @@
             removeView(mNotificationHeaderLowPriority);
             mNotificationHeaderLowPriority = null;
         }
-        if (mNotificationHeaderAmbient != null) {
-            removeView(mNotificationHeaderAmbient);
-            mNotificationHeaderAmbient = null;
-        }
         recreateNotificationHeader(listener);
         initDimens();
         for (int i = 0; i < mDividers.size(); i++) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListContainer.java b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListContainer.java
index f771be0..212808d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListContainer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/notification/stack/NotificationListContainer.java
@@ -176,4 +176,12 @@
      * @param row The notification to bind.
      */
     default void bindRow(ExpandableNotificationRow row) {}
+
+    /**
+     * Does this list contain a given view. True by default is fine, since we only ask this if the
+     * view has a parent.
+     */
+    default boolean containsView(View v) {
+        return true;
+    }
 }
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 a54de5f..813faa9 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
@@ -2482,7 +2482,8 @@
             int minBottomPosition = minTopPosition;
             if (section == lastSection) {
                 // We need to make sure the section goes all the way to the shelf
-                minBottomPosition = (int) (mShelf.getTranslationY() + mShelf.getIntrinsicHeight());
+                minBottomPosition = (int) (ViewState.getFinalTranslationY(mShelf)
+                        + mShelf.getIntrinsicHeight());
             }
             minTopPosition = section.updateBounds(minTopPosition, minBottomPosition,
                     shiftPulsingWithFirst);
@@ -3273,6 +3274,11 @@
     }
 
     @Override
+    public boolean containsView(View v) {
+        return v.getParent() == this;
+    }
+
+    @Override
     @ShadeViewRefactor(RefactorComponent.STATE_RESOLVER)
     public void applyExpandAnimationParams(ExpandAnimationParameters params) {
         mAmbientState.setExpandAnimationTopChange(params == null ? 0 : params.getTopChange());
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoHideController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoHideController.java
index b9425d4..fdf8cce 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoHideController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/AutoHideController.java
@@ -28,6 +28,7 @@
 import android.view.MotionEvent;
 import android.view.View;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.systemui.Dependency;
 import com.android.systemui.SysUiServiceProvider;
 import com.android.systemui.statusbar.CommandQueue;
@@ -48,8 +49,10 @@
     private StatusBar mStatusBar;
     private NavigationBarFragment mNavigationBar;
 
-    private int mDisplayId;
-    private int mSystemUiVisibility;
+    @VisibleForTesting
+    int mDisplayId;
+    @VisibleForTesting
+    int mSystemUiVisibility;
     // last value sent to window manager
     private int mLastDispatchedSystemUiVisibility = ~View.SYSTEM_UI_FLAG_VISIBLE;
 
@@ -75,6 +78,13 @@
         mDisplayId = context.getDisplayId();
     }
 
+    @Override
+    public void onDisplayRemoved(int displayId) {
+        if (displayId == mDisplayId) {
+            mCommandQueue.removeCallback(this);
+        }
+    }
+
     void setStatusBar(StatusBar statusBar) {
         mStatusBar = statusBar;
     }
@@ -116,7 +126,8 @@
         }
     }
 
-    private void notifySystemUiVisibilityChanged(int vis) {
+    @VisibleForTesting
+    void notifySystemUiVisibilityChanged(int vis) {
         try {
             if (mLastDispatchedSystemUiVisibility != vis) {
                 mWindowManagerService.statusBarVisibilityChanged(mDisplayId, vis);
@@ -206,11 +217,12 @@
         return mask;
     }
 
-    private boolean hasNavigationBar() {
+    boolean hasNavigationBar() {
         return mNavigationBar != null;
     }
 
-    private boolean hasStatusBar() {
+    @VisibleForTesting
+    boolean hasStatusBar() {
         return mStatusBar != null;
     }
 }
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 2162ea7..410eeae 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/BiometricUnlockController.java
@@ -22,17 +22,21 @@
 import android.os.PowerManager;
 import android.os.SystemClock;
 import android.os.Trace;
+import android.provider.Settings;
 import android.util.Log;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.LatencyTracker;
 import com.android.keyguard.KeyguardConstants;
 import com.android.keyguard.KeyguardUpdateMonitor;
 import com.android.keyguard.KeyguardUpdateMonitorCallback;
 import com.android.systemui.Dependency;
+import com.android.systemui.R;
 import com.android.systemui.keyguard.KeyguardViewMediator;
 import com.android.systemui.keyguard.ScreenLifecycle;
 import com.android.systemui.keyguard.WakefulnessLifecycle;
 import com.android.systemui.statusbar.NotificationMediaManager;
+import com.android.systemui.tuner.TunerService;
 
 import java.io.PrintWriter;
 
@@ -95,6 +99,17 @@
      */
     private static final float BIOMETRIC_COLLAPSE_SPEEDUP_FACTOR = 1.1f;
 
+    /**
+     * If face unlock dismisses the lock screen or keeps user on keyguard by default on this device.
+     */
+    private final boolean mFaceDismissesKeyguardByDefault;
+
+    /**
+     * If face unlock dismisses the lock screen or keeps user on keyguard for the current user.
+     */
+    @VisibleForTesting
+    protected boolean mFaceDismissesKeyguard;
+
     private final NotificationMediaManager mMediaManager;
     private final PowerManager mPowerManager;
     private final Handler mHandler;
@@ -115,14 +130,42 @@
     private boolean mPendingShowBouncer;
     private boolean mHasScreenTurnedOnSinceAuthenticating;
 
+    private final TunerService.Tunable mFaceDismissedKeyguardTunable = new TunerService.Tunable() {
+        @Override
+        public void onTuningChanged(String key, String newValue) {
+            int defaultValue = mFaceDismissesKeyguardByDefault ? 1 : 0;
+            mFaceDismissesKeyguard = Settings.Secure.getIntForUser(mContext.getContentResolver(),
+                    Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD,
+                    defaultValue, KeyguardUpdateMonitor.getCurrentUser()) != 0;
+        }
+    };
+
     public BiometricUnlockController(Context context,
+            DozeScrimController dozeScrimController,
+            KeyguardViewMediator keyguardViewMediator,
+            ScrimController scrimController,
+            StatusBar statusBar,
+            UnlockMethodCache unlockMethodCache, Handler handler,
+            KeyguardUpdateMonitor keyguardUpdateMonitor,
+            TunerService tunerService) {
+        this(context, dozeScrimController, keyguardViewMediator, scrimController, statusBar,
+                unlockMethodCache, handler, keyguardUpdateMonitor, tunerService,
+                context.getResources()
+                        .getInteger(com.android.internal.R.integer.config_wakeUpDelayDoze),
+                context.getResources().getBoolean(R.bool.config_faceAuthDismissesKeyguard));
+    }
+
+    @VisibleForTesting
+    protected BiometricUnlockController(Context context,
                                      DozeScrimController dozeScrimController,
                                      KeyguardViewMediator keyguardViewMediator,
                                      ScrimController scrimController,
                                      StatusBar statusBar,
                                      UnlockMethodCache unlockMethodCache, Handler handler,
                                      KeyguardUpdateMonitor keyguardUpdateMonitor,
-                                     int wakeUpDelay) {
+                                     TunerService tunerService,
+                                     int wakeUpDelay,
+                                     boolean faceDismissesKeyguard) {
         mContext = context;
         mPowerManager = context.getSystemService(PowerManager.class);
         mUpdateMonitor = keyguardUpdateMonitor;
@@ -138,6 +181,9 @@
         mUnlockMethodCache = unlockMethodCache;
         mHandler = handler;
         mWakeUpDelay = wakeUpDelay;
+        mFaceDismissesKeyguardByDefault = faceDismissesKeyguard;
+        tunerService.addTunable(mFaceDismissedKeyguardTunable,
+                Settings.Secure.FACE_UNLOCK_DISMISSES_KEYGUARD);
     }
 
     public void setStatusBarKeyguardViewManager(
@@ -344,27 +390,28 @@
     private int calculateMode(BiometricSourceType biometricSourceType) {
         boolean unlockingAllowed = mUpdateMonitor.isUnlockingWithBiometricAllowed();
         boolean deviceDreaming = mUpdateMonitor.isDreaming();
-        boolean isFace = biometricSourceType == BiometricSourceType.FACE;
+        boolean faceStayingOnKeyguard = biometricSourceType == BiometricSourceType.FACE
+                && !mFaceDismissesKeyguard;
 
         if (!mUpdateMonitor.isDeviceInteractive()) {
             if (!mStatusBarKeyguardViewManager.isShowing()) {
                 return MODE_ONLY_WAKE;
             } else if (mDozeScrimController.isPulsing() && unlockingAllowed) {
-                return isFace ? MODE_NONE : MODE_WAKE_AND_UNLOCK_PULSING;
+                return faceStayingOnKeyguard ? MODE_NONE : MODE_WAKE_AND_UNLOCK_PULSING;
             } else if (unlockingAllowed || !mUnlockMethodCache.isMethodSecure()) {
                 return MODE_WAKE_AND_UNLOCK;
             } else {
                 return MODE_SHOW_BOUNCER;
             }
         }
-        if (unlockingAllowed && deviceDreaming && !isFace) {
+        if (unlockingAllowed && deviceDreaming && !faceStayingOnKeyguard) {
             return MODE_WAKE_AND_UNLOCK_FROM_DREAM;
         }
         if (mStatusBarKeyguardViewManager.isShowing()) {
             if (mStatusBarKeyguardViewManager.isBouncerShowing() && unlockingAllowed) {
                 return MODE_DISMISS_BOUNCER;
             } else if (unlockingAllowed) {
-                return isFace ? MODE_ONLY_WAKE : MODE_UNLOCK;
+                return faceStayingOnKeyguard ? MODE_ONLY_WAKE : MODE_UNLOCK;
             } else if (!mStatusBarKeyguardViewManager.isBouncerShowing()) {
                 return MODE_SHOW_BOUNCER;
             }
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 de0e194..9844d8e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/HeadsUpManagerPhone.java
@@ -37,7 +37,6 @@
 import com.android.systemui.Dumpable;
 import com.android.systemui.R;
 import com.android.systemui.ScreenDecorations;
-import com.android.systemui.bubbles.BubbleController;
 import com.android.systemui.plugins.statusbar.StatusBarStateController;
 import com.android.systemui.plugins.statusbar.StatusBarStateController.StateListener;
 import com.android.systemui.statusbar.StatusBarState;
@@ -57,14 +56,14 @@
  * A implementation of HeadsUpManager for phone and car.
  */
 public class HeadsUpManagerPhone extends HeadsUpManager implements Dumpable,
-        ViewTreeObserver.OnComputeInternalInsetsListener, VisualStabilityManager.Callback,
-        OnHeadsUpChangedListener, ConfigurationController.ConfigurationListener, StateListener {
+        VisualStabilityManager.Callback, OnHeadsUpChangedListener,
+        ConfigurationController.ConfigurationListener, StateListener {
     private static final String TAG = "HeadsUpManagerPhone";
 
     private final View mStatusBarWindowView;
     private final NotificationGroupManager mGroupManager;
-    private final StatusBar mBar;
     private final VisualStabilityManager mVisualStabilityManager;
+    private final StatusBarTouchableRegionManager mStatusBarTouchableRegionManager;
     private boolean mReleaseOnExpandFinish;
 
     private int mStatusBarHeight;
@@ -78,13 +77,9 @@
     private boolean mIsExpanded;
     private int[] mTmpTwoArray = new int[2];
     private boolean mHeadsUpGoingAway;
-    private boolean mWaitingOnCollapseWhenGoingAway;
-    private boolean mBubbleGoingAway;
-    private boolean mIsObserving;
     private int mStatusBarState;
 
     private AnimationStateHandler mAnimationStateHandler;
-    private BubbleController mBubbleController = Dependency.get(BubbleController.class);
 
     private final Pools.Pool<HeadsUpEntryPhone> mEntryPool = new Pools.Pool<HeadsUpEntryPhone>() {
         private Stack<HeadsUpEntryPhone> mPoolObjects = new Stack<>();
@@ -107,14 +102,17 @@
     ///////////////////////////////////////////////////////////////////////////////////////////////
     //  Constructor:
 
-    public HeadsUpManagerPhone(@NonNull final Context context, @NonNull View statusBarWindowView,
-            @NonNull NotificationGroupManager groupManager, @NonNull StatusBar bar,
-            @NonNull VisualStabilityManager visualStabilityManager) {
+    public HeadsUpManagerPhone(@NonNull final Context context,
+                               @NonNull View statusBarWindowView,
+                               @NonNull NotificationGroupManager groupManager,
+                               @NonNull StatusBar bar,
+                               @NonNull VisualStabilityManager visualStabilityManager) {
         super(context);
 
         mStatusBarWindowView = statusBarWindowView;
+        mStatusBarTouchableRegionManager = new StatusBarTouchableRegionManager(context, this, bar,
+                statusBarWindowView);
         mGroupManager = groupManager;
-        mBar = bar;
         mVisualStabilityManager = visualStabilityManager;
 
         initResources();
@@ -125,16 +123,10 @@
                 if (Log.isLoggable(TAG, Log.WARN)) {
                     Log.w(TAG, "onHeadsUpPinnedModeChanged");
                 }
-                updateTouchableRegionListener();
+                mStatusBarTouchableRegionManager.updateTouchableRegion();
             }
         });
         Dependency.get(StatusBarStateController.class).addCallback(this);
-        mBubbleController.setBubbleStateChangeListener((hasBubbles) -> {
-            if (!hasBubbles) {
-                mBubbleGoingAway = true;
-            }
-            updateTouchableRegionListener();
-        });
     }
 
     public void setAnimationStateHandler(AnimationStateHandler handler) {
@@ -209,14 +201,10 @@
         if (isExpanded != mIsExpanded) {
             mIsExpanded = isExpanded;
             if (isExpanded) {
-                // make sure our state is sane
-                mWaitingOnCollapseWhenGoingAway = false;
                 mHeadsUpGoingAway = false;
-                updateTouchableRegionListener();
             }
-            if (mBubbleController.hasBubbles() || !mIsExpanded) {
-                updateTouchableRegionListener();
-            }
+            mStatusBarTouchableRegionManager.setIsStatusBarExpanded(isExpanded);
+            mStatusBarTouchableRegionManager.updateTouchableRegion();
         }
     }
 
@@ -233,15 +221,21 @@
         if (headsUpGoingAway != mHeadsUpGoingAway) {
             mHeadsUpGoingAway = headsUpGoingAway;
             if (!headsUpGoingAway) {
-                waitForStatusBarLayout();
+                mStatusBarTouchableRegionManager.updateTouchableRegionAfterLayout();
+            } else {
+                mStatusBarTouchableRegionManager.updateTouchableRegion();
             }
-            updateTouchableRegionListener();
         }
     }
 
+    public boolean isHeadsUpGoingAway() {
+        return mHeadsUpGoingAway;
+    }
+
     /**
      * Notifies that a remote input textbox in notification gets active or inactive.
-     * @param entry The entry of the target notification.
+     *
+     * @param entry             The entry of the target notification.
      * @param remoteInputActive True to notify active, False to notify inactive.
      */
     public void setRemoteInputActive(
@@ -295,23 +289,23 @@
         dumpInternal(fd, pw, args);
     }
 
-    ///////////////////////////////////////////////////////////////////////////////////////////////
-    //  ViewTreeObserver.OnComputeInternalInsetsListener overrides:
-
     /**
-     * Overridden from TreeObserver.
+     * Update touch insets to include any area needed for touching a heads up notification.
+     *
+     * @param info Insets that will include heads up notification touch area after execution.
      */
-    @Override
-    public void onComputeInternalInsets(ViewTreeObserver.InternalInsetsInfo info) {
-        if (mIsExpanded || mBar.isBouncerShowing()) {
-            // The touchable region is always the full area when expanded
-            return;
-        }
-        if (hasPinnedHeadsUp()) {
+    @Nullable
+    public void updateTouchableRegion(ViewTreeObserver.InternalInsetsInfo info) {
+        info.setTouchableInsets(ViewTreeObserver.InternalInsetsInfo.TOUCHABLE_INSETS_REGION);
+
+        if (!hasPinnedHeadsUp()) {
+            info.touchableRegion.set(0, 0, mStatusBarWindowView.getWidth(), mStatusBarHeight);
+            updateRegionForNotch(info.touchableRegion);
+        } else {
             NotificationEntry topEntry = getTopEntry();
             if (topEntry.isChildInGroup()) {
-                final NotificationEntry groupSummary
-                        = mGroupManager.getGroupSummary(topEntry.notification);
+                final NotificationEntry groupSummary =
+                        mGroupManager.getGroupSummary(topEntry.notification);
                 if (groupSummary != null) {
                     topEntry = groupSummary;
                 }
@@ -321,23 +315,8 @@
             int minX = mTmpTwoArray[0];
             int maxX = mTmpTwoArray[0] + topRow.getWidth();
             int height = topRow.getIntrinsicHeight();
-
-            info.setTouchableInsets(ViewTreeObserver.InternalInsetsInfo.TOUCHABLE_INSETS_REGION);
             info.touchableRegion.set(minX, 0, maxX, mHeadsUpInset + height);
-        } else {
-            setCollapsedTouchableInsets(info);
         }
-        Rect r = mBubbleController.getTouchableRegion();
-        if (r != null) {
-            info.touchableRegion.union(r);
-        }
-        mBubbleGoingAway = false;
-    }
-
-    private void setCollapsedTouchableInsets(ViewTreeObserver.InternalInsetsInfo info) {
-        info.setTouchableInsets(ViewTreeObserver.InternalInsetsInfo.TOUCHABLE_INSETS_REGION);
-        info.touchableRegion.set(0, 0, mStatusBarWindowView.getWidth(), mStatusBarHeight);
-        updateRegionForNotch(info.touchableRegion);
     }
 
     private void updateRegionForNotch(Region region) {
@@ -364,9 +343,7 @@
 
     @Override
     public void onConfigChanged(Configuration newConfig) {
-        Resources resources = mContext.getResources();
-        mStatusBarHeight = resources.getDimensionPixelSize(
-                com.android.internal.R.dimen.status_bar_height);
+        initResources();
     }
 
     ///////////////////////////////////////////////////////////////////////////////////////////////
@@ -401,14 +378,15 @@
 
     @Override
     protected boolean shouldHeadsUpBecomePinned(NotificationEntry entry) {
-          return mStatusBarState != StatusBarState.KEYGUARD && !mIsExpanded
-                  || super.shouldHeadsUpBecomePinned(entry);
+        return mStatusBarState != StatusBarState.KEYGUARD && !mIsExpanded
+                || super.shouldHeadsUpBecomePinned(entry);
     }
 
     @Override
     protected void dumpInternal(FileDescriptor fd, PrintWriter pw, String[] args) {
         super.dumpInternal(fd, pw, args);
-        pw.print("  mBarState="); pw.println(mStatusBarState);
+        pw.print("  mBarState=");
+        pw.println(mStatusBarState);
     }
 
     ///////////////////////////////////////////////////////////////////////////////////////////////
@@ -438,45 +416,6 @@
         return headsUpEntry == null || headsUpEntry != topEntry || super.canRemoveImmediately(key);
     }
 
-    /**
-     * We need to wait on the whole panel to collapse, before we can remove the touchable region
-     * listener.
-     */
-    private void waitForStatusBarLayout() {
-        mWaitingOnCollapseWhenGoingAway = true;
-        mStatusBarWindowView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
-            @Override
-            public void onLayoutChange(View v, int left, int top, int right, int bottom,
-                    int oldLeft,
-                    int oldTop, int oldRight, int oldBottom) {
-                if (mStatusBarWindowView.getHeight() <= mStatusBarHeight) {
-                    mStatusBarWindowView.removeOnLayoutChangeListener(this);
-                    mWaitingOnCollapseWhenGoingAway = false;
-                    updateTouchableRegionListener();
-                }
-            }
-        });
-    }
-
-    // TODO: some kind of TouchableRegionManager to deal with this, HeadsUpManager is not really
-    // the right place
-    private void updateTouchableRegionListener() {
-        boolean shouldObserve = hasPinnedHeadsUp() || mHeadsUpGoingAway
-                || mBubbleController.hasBubbles() || mBubbleGoingAway
-                || mWaitingOnCollapseWhenGoingAway
-                || mStatusBarWindowView.getRootWindowInsets().getDisplayCutout() != null;
-        if (shouldObserve == mIsObserving) {
-            return;
-        }
-        if (shouldObserve) {
-            mStatusBarWindowView.getViewTreeObserver().addOnComputeInternalInsetsListener(this);
-            mStatusBarWindowView.requestLayout();
-        } else {
-            mStatusBarWindowView.getViewTreeObserver().removeOnComputeInternalInsetsListener(this);
-        }
-        mIsObserving = shouldObserve;
-    }
-
     ///////////////////////////////////////////////////////////////////////////////////////////////
     //  HeadsUpEntryPhone:
 
@@ -490,7 +429,7 @@
         }
 
         public void setEntry(@NonNull final NotificationEntry entry) {
-           Runnable removeHeadsUpRunnable = () -> {
+            Runnable removeHeadsUpRunnable = () -> {
                 if (!mVisualStabilityManager.isReorderingAllowed()) {
                     mEntriesToRemoveWhenReorderingAllowed.add(entry);
                     mVisualStabilityManager.addReorderingAllowedCallback(
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
index 6fe23fb..847f3ff 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBottomAreaView.java
@@ -831,6 +831,15 @@
         }
     }
 
+    /**
+     * Sets the alpha of the indication areas and affordances, excluding the lock icon.
+     */
+    public void setAffordanceAlpha(float alpha) {
+        mLeftAffordanceView.setAlpha(alpha);
+        mRightAffordanceView.setAlpha(alpha);
+        mIndicationArea.setAlpha(alpha);
+    }
+
     private class DefaultLeftButton implements IntentButton {
 
         private IconState mIconState = new IconState();
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 7d13679..19373ac 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardBouncer.java
@@ -88,6 +88,7 @@
     private int mBouncerPromptReason;
     private boolean mIsAnimatingAway;
     private boolean mIsScrimmed;
+    private ViewGroup mLockIconContainer;
 
     public KeyguardBouncer(Context context, ViewMediatorCallback callback,
             LockPatternUtils lockPatternUtils, ViewGroup container,
@@ -171,6 +172,10 @@
         return isShowing() && mIsScrimmed;
     }
 
+    public ViewGroup getLockIconContainer() {
+        return mRoot == null || mRoot.getVisibility() != View.VISIBLE ? null : mLockIconContainer;
+    }
+
     /**
      * This method must be called at the end of the bouncer animation when
      * the translation is performed manually by the user, otherwise FalsingManager
@@ -401,6 +406,7 @@
         removeView();
         mHandler.removeCallbacks(mRemoveViewRunnable);
         mRoot = (ViewGroup) LayoutInflater.from(mContext).inflate(R.layout.keyguard_bouncer, null);
+        mLockIconContainer = mRoot.findViewById(R.id.lock_icon_container);
         mKeyguardView = mRoot.findViewById(R.id.keyguard_host_view);
         mKeyguardView.setLockPatternUtils(mLockPatternUtils);
         mKeyguardView.setViewMediatorCallback(mCallback);
@@ -420,6 +426,7 @@
         if (mRoot != null && mRoot.getParent() == mContainer) {
             mContainer.removeView(mRoot);
             mRoot = null;
+            mLockIconContainer = null;
         }
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
index e953ad5..c8ce392 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/KeyguardStatusBarView.java
@@ -483,7 +483,9 @@
                 R.color.light_mode_icon_color_single_tone);
         float intensity = textColor == Color.WHITE ? 0 : 1;
         mCarrierLabel.setTextColor(iconColor);
-        mIconManager.setTint(iconColor);
+        if (mIconManager != null) {
+            mIconManager.setTint(iconColor);
+        }
 
         applyDarkness(R.id.battery, mEmptyRect, intensity * (1f - mDarkAmount), iconColor);
         applyDarkness(R.id.clock, mEmptyRect, intensity, iconColor);
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 60015ef..27394d9 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/LockIcon.java
@@ -21,6 +21,7 @@
 import android.content.res.TypedArray;
 import android.graphics.Color;
 import android.graphics.PorterDuff;
+import android.graphics.drawable.Animatable2;
 import android.graphics.drawable.AnimatedVectorDrawable;
 import android.graphics.drawable.Drawable;
 import android.util.AttributeSet;
@@ -43,18 +44,15 @@
 
     private static final int STATE_LOCKED = 0;
     private static final int STATE_LOCK_OPEN = 1;
-    private static final int STATE_FACE_UNLOCK = 2;
-    private static final int STATE_FINGERPRINT = 3;
-    private static final int STATE_BIOMETRICS_ERROR = 4;
+    private static final int STATE_SCANNING_FACE = 2;
+    private static final int STATE_BIOMETRICS_ERROR = 3;
 
     private int mLastState = 0;
     private boolean mTransientBiometricsError;
     private boolean mScreenOn;
     private boolean mLastScreenOn;
-    private Drawable mUserAvatarIcon;
     private final UnlockMethodCache mUnlockMethodCache;
     private AccessibilityController mAccessibilityController;
-    private boolean mHasFingerPrintState;
     private boolean mIsFaceUnlockState;
     private int mDensity;
     private boolean mPulsing;
@@ -77,7 +75,6 @@
 
     @Override
     public void onUserInfoChanged(String name, Drawable picture, String userAccount) {
-        mUserAvatarIcon = picture;
         update();
     }
 
@@ -110,10 +107,8 @@
 
     public void update(boolean force) {
         int state = getState();
-        boolean anyFingerprintState = state == STATE_FINGERPRINT
-                || state == STATE_BIOMETRICS_ERROR;
-        mIsFaceUnlockState = state == STATE_FACE_UNLOCK;
-        if (state != mLastState || mLastDozing == mDozing || mLastPulsing == mPulsing
+        mIsFaceUnlockState = state == STATE_SCANNING_FACE;
+        if (state != mLastState || mLastDozing != mDozing || mLastPulsing != mPulsing
                 || mLastScreenOn != mScreenOn || force) {
             int iconAnimRes = getAnimationResForTransition(mLastState, state, mLastPulsing,
                     mPulsing, mLastDozing, mDozing);
@@ -138,9 +133,18 @@
                     R.string.accessibility_scanning_face));
             }
 
-            mHasFingerPrintState = anyFingerprintState;
             if (animation != null && isAnim) {
                 animation.forceAnimationOnUI();
+                animation.clearAnimationCallbacks();
+                animation.registerAnimationCallback(new Animatable2.AnimationCallback() {
+                    @Override
+                    public void onAnimationEnd(Drawable drawable) {
+                        if (getDrawable() == animation && state == getState()
+                                && doesAnimationLoop(iconAnimRes)) {
+                            animation.start();
+                        }
+                    }
+                });
                 animation.start();
             }
 
@@ -178,7 +182,10 @@
     @Override
     public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
         super.onInitializeAccessibilityNodeInfo(info);
-        if (mHasFingerPrintState) {
+        KeyguardUpdateMonitor updateMonitor = KeyguardUpdateMonitor.getInstance(mContext);
+        boolean fingerprintRunning = updateMonitor.isFingerprintDetectionRunning();
+        boolean unlockingAllowed = updateMonitor.isUnlockingWithBiometricAllowed();
+        if (fingerprintRunning && unlockingAllowed) {
             AccessibilityNodeInfo.AccessibilityAction unlock
                     = new AccessibilityNodeInfo.AccessibilityAction(
                     AccessibilityNodeInfo.ACTION_CLICK,
@@ -201,21 +208,16 @@
     private Drawable getIconForState(int state) {
         int iconRes;
         switch (state) {
-            case STATE_FINGERPRINT:
             case STATE_LOCKED:
-            case STATE_FACE_UNLOCK:
-                iconRes = com.android.internal.R.drawable.ic_lock_24dp;
+            // Scanning animation is a pulsing padlock. This means that the resting state is
+            // just a padlock.
+            case STATE_SCANNING_FACE:
+            // Error animation also starts and ands on the padlock.
+            case STATE_BIOMETRICS_ERROR:
+                iconRes = com.android.internal.R.drawable.ic_lock;
                 break;
             case STATE_LOCK_OPEN:
-                if (mUnlockMethodCache.isTrustManaged() && mUnlockMethodCache.isTrusted()
-                    && mUserAvatarIcon != null) {
-                    return mUserAvatarIcon;
-                } else {
-                    iconRes = com.android.internal.R.drawable.ic_lock_open_24dp;
-                }
-                break;
-            case STATE_BIOMETRICS_ERROR:
-                iconRes = com.android.internal.R.drawable.ic_auth_error;
+                iconRes = com.android.internal.R.drawable.ic_lock_open;
                 break;
             default:
                 throw new IllegalArgumentException();
@@ -224,22 +226,32 @@
         return mContext.getDrawable(iconRes);
     }
 
-    private int getAnimationResForTransition(int oldState, int newState,
+    private boolean doesAnimationLoop(int resourceId) {
+        return resourceId == com.android.internal.R.anim.lock_scanning;
+    }
+
+    private static int getAnimationResForTransition(int oldState, int newState,
             boolean wasPulsing, boolean pulsing,
             boolean wasDozing, boolean dozing) {
 
-        boolean isError = newState == STATE_BIOMETRICS_ERROR;
-        boolean isUnlocked = newState == STATE_LOCK_OPEN;
-        boolean isLocked = !isUnlocked;
-        boolean wasUnlocked = oldState == STATE_LOCK_OPEN;
+        // Never animate when screen is off
+        if (dozing && !pulsing) {
+            return -1;
+        }
+
+        boolean isError = oldState != STATE_BIOMETRICS_ERROR && newState == STATE_BIOMETRICS_ERROR;
+        boolean justUnlocked = oldState != STATE_LOCK_OPEN && newState == STATE_LOCK_OPEN;
+        boolean justLocked = oldState == STATE_LOCK_OPEN && newState == STATE_LOCKED;
 
         if (isError) {
             return com.android.internal.R.anim.lock_to_error;
-        } else if (isUnlocked) {
+        } else if (justUnlocked) {
             return com.android.internal.R.anim.lock_unlock;
-        } else if (wasUnlocked && isLocked && mScreenOn) {
+        } else if (justLocked) {
             return com.android.internal.R.anim.lock_lock;
-        } else if (isLocked && (!wasPulsing && pulsing || wasDozing && !dozing)) {
+        } else if (newState == STATE_SCANNING_FACE) {
+            return com.android.internal.R.anim.lock_scanning;
+        } else if (!wasPulsing && pulsing && newState != STATE_LOCK_OPEN) {
             return com.android.internal.R.anim.lock_in;
         }
         return -1;
@@ -247,17 +259,13 @@
 
     private int getState() {
         KeyguardUpdateMonitor updateMonitor = KeyguardUpdateMonitor.getInstance(mContext);
-        boolean fingerprintRunning = updateMonitor.isFingerprintDetectionRunning();
-        boolean unlockingAllowed = updateMonitor.isUnlockingWithBiometricAllowed();
         if (mTransientBiometricsError) {
             return STATE_BIOMETRICS_ERROR;
         } else if (mUnlockMethodCache.canSkipBouncer()) {
             return STATE_LOCK_OPEN;
         } else if (mUnlockMethodCache.isFaceUnlockRunning()
                 || updateMonitor.isFaceDetectionRunning()) {
-            return STATE_FACE_UNLOCK;
-        } else if (fingerprintRunning && unlockingAllowed) {
-            return STATE_FINGERPRINT;
+            return STATE_SCANNING_FACE;
         } else {
             return STATE_LOCKED;
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavBarTintController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavBarTintController.java
index 409d60f..2d54970 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavBarTintController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavBarTintController.java
@@ -16,203 +16,159 @@
 
 package com.android.systemui.statusbar.phone;
 
+import static android.view.Display.DEFAULT_DISPLAY;
+
 import android.content.Context;
-import android.content.res.Resources;
-import android.graphics.Bitmap;
-import android.graphics.Bitmap.Config;
-import android.graphics.Color;
 import android.graphics.Rect;
 import android.os.Handler;
-import android.os.HandlerThread;
-import android.os.Looper;
 import android.provider.Settings;
-import android.util.DisplayMetrics;
-import android.view.SurfaceControl;
+import android.view.CompositionSamplingListener;
 import android.view.View;
 
-import com.android.systemui.R;
+import java.io.PrintWriter;
 
-public class NavBarTintController {
+/**
+ * Updates the nav bar tint based on the color of the content behind the nav bar.
+ */
+public class NavBarTintController implements View.OnAttachStateChangeListener,
+        View.OnLayoutChangeListener {
+
     public static final int MIN_COLOR_ADAPT_TRANSITION_TIME = 400;
     public static final int DEFAULT_COLOR_ADAPT_TRANSITION_TIME = 1700;
 
-    private final HandlerThread mColorAdaptHandlerThread = new HandlerThread("ColorExtractThread");
-    private Handler mColorAdaptionHandler;
-
-    // Poll time for each iteration to color sample
-    private static final int COLOR_ADAPTION_TIMEOUT = 300;
-
     // Passing the threshold of this luminance value will make the button black otherwise white
     private static final float LUMINANCE_THRESHOLD = 0.3f;
 
-    // The margin from the bounds of the view to color sample around
-    private static final int COLOR_SAMPLE_MARGIN = 10;
-
-    private boolean mRunning;
-
+    private final Handler mHandler = new Handler();
     private final NavigationBarView mNavigationBarView;
     private final LightBarTransitionsController mLightBarController;
-    private final Handler mMainHandler = new Handler(Looper.getMainLooper());
-    private final int mBarRadius;
-    private final int mBarBottom;
+
+    private final CompositionSamplingListener mSamplingListener;
+    private final Runnable mUpdateSamplingListener = this::updateSamplingListener;
+    private final Rect mSamplingBounds = new Rect();
+    private boolean mSamplingEnabled = false;
+    private boolean mSamplingListenerRegistered = false;
+
+    private float mLastMediaLuma;
+    private boolean mUpdateOnNextDraw;
 
     public NavBarTintController(NavigationBarView navigationBarView,
             LightBarTransitionsController lightBarController) {
+        mSamplingListener = new CompositionSamplingListener(
+                navigationBarView.getContext().getMainExecutor()) {
+            @Override
+            public void onSampleCollected(float medianLuma) {
+                updateTint(medianLuma);
+            }
+        };
         mNavigationBarView = navigationBarView;
+        mNavigationBarView.addOnAttachStateChangeListener(this);
+        mNavigationBarView.addOnLayoutChangeListener(this);
         mLightBarController = lightBarController;
-
-        final Resources res = navigationBarView.getResources();
-        mBarRadius = res.getDimensionPixelSize(R.dimen.navigation_handle_radius);
-        mBarBottom = res.getDimensionPixelSize(R.dimen.navigation_handle_bottom);
     }
 
-    public void start() {
+    void onDraw() {
+        if (mUpdateOnNextDraw) {
+            mUpdateOnNextDraw = false;
+            requestUpdateSamplingListener();
+        }
+    }
+
+    void start() {
         if (!isEnabled(mNavigationBarView.getContext())) {
             return;
         }
-        if (mColorAdaptionHandler == null) {
-            mColorAdaptHandlerThread.start();
-            mColorAdaptionHandler = new Handler(mColorAdaptHandlerThread.getLooper());
-        }
-        mColorAdaptionHandler.removeCallbacksAndMessages(null);
-        mColorAdaptionHandler.post(this::updateTint);
-        mRunning = true;
+        mSamplingEnabled = true;
+        // Defer calling updateSamplingListener since we may have just reinflated prior to this
+        requestUpdateSamplingListener();
     }
 
-    public void end() {
-        if (mColorAdaptionHandler != null) {
-            mColorAdaptionHandler.removeCallbacksAndMessages(null);
-        }
-        mRunning = false;
+    void stop() {
+        mSamplingEnabled = false;
+        requestUpdateSamplingListener();
     }
 
-    public void stop() {
-        end();
-        if (mColorAdaptionHandler != null) {
-            mColorAdaptHandlerThread.quitSafely();
-        }
+    @Override
+    public void onViewAttachedToWindow(View view) {
+        requestUpdateSamplingListener();
     }
 
-    private void updateTint() {
-        int[] navPos = new int[2];
-        int[] butPos = new int[2];
+    @Override
+    public void onViewDetachedFromWindow(View view) {
+        // Defer calling updateSamplingListener the attach info has not yet been reset
+        requestUpdateSamplingListener();
+    }
+
+    @Override
+    public void onLayoutChange(View v, int left, int top, int right, int bottom,
+            int oldLeft, int oldTop, int oldRight, int oldBottom) {
+        mSamplingBounds.setEmpty();
+        // TODO: Extend this to 2/3 button layout as well
         View view = mNavigationBarView.getHomeHandle().getCurrentView();
-        if (view == null) {
-            return;
+        if (view != null) {
+            int[] pos = new int[2];
+            view.getLocationOnScreen(pos);
+            final Rect samplingBounds = new Rect(pos[0], pos[1],
+                    pos[0] + view.getWidth(), pos[1] + view.getHeight());
+            if (!samplingBounds.equals(mSamplingBounds)) {
+                mSamplingBounds.set(samplingBounds);
+                requestUpdateSamplingListener();
+            }
         }
-
-        // Determine the area of the icon within its view bounds
-        view.getLocationInSurface(butPos);
-        final int navWidth = view.getWidth();
-        final int navHeight = view.getHeight();
-        int viewBottom = butPos[1] + navHeight - mBarBottom;
-        final Rect viewIconRect = new Rect(butPos[0], viewBottom - mBarRadius * 2,
-                butPos[0] + navWidth, viewBottom);
-
-        if (mNavigationBarView.getCurrentView() == null || viewIconRect.isEmpty()) {
-            scheduleColorAdaption();
-            return;
-        }
-        mNavigationBarView.getCurrentView().getLocationOnScreen(navPos);
-        viewIconRect.offset(navPos[0], navPos[1]);
-
-        // Apply a margin area around the button region to sample the colors, crop from screenshot
-        final Rect cropRect = new Rect(viewIconRect);
-        cropRect.inset(-COLOR_SAMPLE_MARGIN, -COLOR_SAMPLE_MARGIN);
-        if (cropRect.isEmpty()) {
-            scheduleColorAdaption();
-            return;
-        }
-
-        // Determine the size of the home area
-        Rect homeArea = new Rect(COLOR_SAMPLE_MARGIN, COLOR_SAMPLE_MARGIN,
-                viewIconRect.width() + COLOR_SAMPLE_MARGIN,
-                viewIconRect.height() + COLOR_SAMPLE_MARGIN);
-
-        // Get the screenshot around the home button icon to determine the color
-        DisplayMetrics mDisplayMetrics = new DisplayMetrics();
-        mNavigationBarView.getContext().getDisplay().getRealMetrics(mDisplayMetrics);
-        final Bitmap hardBitmap = SurfaceControl
-                .screenshot(new Rect(), mDisplayMetrics.widthPixels, mDisplayMetrics.heightPixels,
-                        mNavigationBarView.getContext().getDisplay().getRotation());
-        if (hardBitmap != null && cropRect.bottom <= hardBitmap.getHeight()
-                && cropRect.left + cropRect.width() <= hardBitmap.getWidth()) {
-            final Bitmap cropBitmap = Bitmap.createBitmap(hardBitmap, cropRect.left, cropRect.top,
-                    cropRect.width(), cropRect.height());
-            final Bitmap softBitmap = cropBitmap.copy(Config.ARGB_8888, false);
-
-            // Get the luminance value to determine if the home button should be black or white
-            final int[] pixels = new int[softBitmap.getByteCount() / 4];
-            softBitmap.getPixels(pixels, 0, softBitmap.getWidth(), 0, 0, softBitmap.getWidth(),
-                    softBitmap.getHeight());
-            float r = 0, g = 0, blue = 0;
-
-            int width = cropRect.width();
-            int total = 0;
-            for (int i = 0; i < pixels.length; i += 4) {
-                int x = i % width;
-                int y = i / width;
-                if (!homeArea.contains(x, y)) {
-                    r += Color.red(pixels[i]);
-                    g += Color.green(pixels[i]);
-                    blue += Color.blue(pixels[i]);
-                    total++;
-                }
-            }
-
-            r /= total;
-            g /= total;
-            blue /= total;
-
-            r = Math.max(Math.min(r / 255f, 1), 0);
-            g = Math.max(Math.min(g / 255f, 1), 0);
-            blue = Math.max(Math.min(blue / 255f, 1), 0);
-
-            if (r <= 0.03928) {
-                r /= 12.92;
-            } else {
-                r = (float) Math.pow((r + 0.055) / 1.055, 2.4);
-            }
-            if (g <= 0.03928) {
-                g /= 12.92;
-            } else {
-                g = (float) Math.pow((g + 0.055) / 1.055, 2.4);
-            }
-            if (blue <= 0.03928) {
-                blue /= 12.92;
-            } else {
-                blue = (float) Math.pow((blue + 0.055) / 1.055, 2.4);
-            }
-
-            if (r * 0.2126 + g * 0.7152 + blue * 0.0722 > LUMINANCE_THRESHOLD) {
-                // Black
-                mMainHandler.post(
-                        () -> mLightBarController
-                                .setIconsDark(true /* dark */, true /* animate */));
-            } else {
-                // White
-                mMainHandler.post(
-                        () -> mLightBarController
-                                .setIconsDark(false /* dark */, true /* animate */));
-            }
-            cropBitmap.recycle();
-            hardBitmap.recycle();
-        }
-        scheduleColorAdaption();
     }
 
-    private void scheduleColorAdaption() {
-        mColorAdaptionHandler.removeCallbacksAndMessages(null);
-        if (!mRunning || !isEnabled(mNavigationBarView.getContext())) {
-            return;
+    private void requestUpdateSamplingListener() {
+        mHandler.removeCallbacks(mUpdateSamplingListener);
+        mHandler.post(mUpdateSamplingListener);
+    }
+
+    private void updateSamplingListener() {
+        if (mSamplingListenerRegistered) {
+            mSamplingListenerRegistered = false;
+            CompositionSamplingListener.unregister(mSamplingListener);
         }
-        mColorAdaptionHandler.postDelayed(this::updateTint, COLOR_ADAPTION_TIMEOUT);
+        if (mSamplingEnabled && !mSamplingBounds.isEmpty()
+                && mNavigationBarView.isAttachedToWindow()) {
+            if (!mNavigationBarView.getViewRootImpl().getSurfaceControl().isValid()) {
+                // The view may still be attached, but the surface backing the window can be
+                // destroyed, so wait until the next draw to update the listener again
+                mUpdateOnNextDraw = true;
+                return;
+            }
+            mSamplingListenerRegistered = true;
+            CompositionSamplingListener.register(mSamplingListener, DEFAULT_DISPLAY,
+                    mNavigationBarView.getViewRootImpl().getSurfaceControl().getHandle(),
+                    mSamplingBounds);
+        }
+    }
+
+    private void updateTint(float medianLuma) {
+        mLastMediaLuma = medianLuma;
+        if (medianLuma > LUMINANCE_THRESHOLD) {
+            // Black
+            mLightBarController.setIconsDark(true /* dark */, true /* animate */);
+        } else {
+            // White
+            mLightBarController.setIconsDark(false /* dark */, true /* animate */);
+        }
+    }
+
+    void dump(PrintWriter pw) {
+        pw.println("NavBarTintController:");
+        pw.println("  navBar isAttached: " + mNavigationBarView.isAttachedToWindow());
+        pw.println("  navBar isScValid: " + (mNavigationBarView.isAttachedToWindow()
+                ? mNavigationBarView.getViewRootImpl().getSurfaceControl().isValid()
+                : "false"));
+        pw.println("  mSamplingListenerRegistered: " + mSamplingListenerRegistered);
+        pw.println("  mSamplingBounds: " + mSamplingBounds);
+        pw.println("  mLastMediaLuma: " + mLastMediaLuma);
     }
 
     public static boolean isEnabled(Context context) {
-        return Settings.Global.getInt(context.getContentResolver(),
-                NavigationPrototypeController.NAV_COLOR_ADAPT_ENABLE_SETTING, 0) == 1
-            && Settings.Global.getInt(context.getContentResolver(),
-                NavigationPrototypeController.SHOW_HOME_HANDLE_SETTING, 0) == 1;
+        return context.getDisplayId() == DEFAULT_DISPLAY
+                && Settings.Global.getInt(context.getContentResolver(),
+                        NavigationPrototypeController.NAV_COLOR_ADAPT_ENABLE_SETTING, 0) == 1
+                && Settings.Global.getInt(context.getContentResolver(),
+                        NavigationPrototypeController.SHOW_HOME_HANDLE_SETTING, 0) == 1;
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBackAction.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBackAction.java
index 7a42b03..1478a07 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBackAction.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBackAction.java
@@ -20,7 +20,6 @@
 import android.hardware.input.InputManager;
 import android.os.Handler;
 import android.os.SystemClock;
-import android.view.HapticFeedbackConstants;
 import android.view.InputDevice;
 import android.view.KeyCharacterMap;
 import android.view.KeyEvent;
@@ -103,7 +102,6 @@
     private void performBack() {
         sendEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_BACK);
         sendEvent(KeyEvent.ACTION_UP, KeyEvent.KEYCODE_BACK);
-        mNavigationBarView.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
     }
 
     private boolean shouldExecuteBackOnUp() {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarEdgePanel.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarEdgePanel.java
index fcf5893..4c7fdb0 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarEdgePanel.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarEdgePanel.java
@@ -22,6 +22,7 @@
 import android.graphics.Canvas;
 import android.graphics.Paint;
 import android.graphics.PixelFormat;
+import android.os.SystemClock;
 import android.util.FloatProperty;
 import android.util.MathUtils;
 import android.view.Gravity;
@@ -31,6 +32,7 @@
 import android.view.WindowManager;
 
 import com.android.systemui.R;
+import com.android.systemui.shared.system.QuickStepContract;
 
 public class NavigationBarEdgePanel extends View {
     private static final String TAG = "NavigationBarEdgePanel";
@@ -48,6 +50,7 @@
     private static final float START_POINTING_RATIO = 0.3f;
     private static final float POINTEDNESS_BEFORE_SNAP_RATIO = 0.4f;
     private static final int ANIM_DURATION_MS = 150;
+    private static final long HAPTIC_TIMEOUT_MS = 200;
 
     private final Paint mPaint = new Paint();
     private final Paint mProtectionPaint = new Paint();
@@ -65,6 +68,8 @@
     private float mStartY;
     private float mStartX;
 
+    private boolean mDragSlopPassed;
+    private long mLastSlopHapticTime;
     private boolean mGestureDetected;
     private boolean mArrowsPointLeft;
     private float mGestureLength;
@@ -169,6 +174,7 @@
     public boolean onTouchEvent(MotionEvent event) {
         switch (event.getActionMasked()) {
             case MotionEvent.ACTION_DOWN : {
+                mDragSlopPassed = false;
                 show(event.getX(), event.getY());
                 break;
             }
@@ -263,6 +269,13 @@
     private void handleNewSwipePoint(float x) {
         float dist = MathUtils.abs(x - mStartX);
 
+        // Apply a haptic on drag slop passed
+        if (!mDragSlopPassed && dist > QuickStepContract.getQuickStepDragSlopPx()) {
+            mDragSlopPassed = true;
+            performHapticFeedback(HapticFeedbackConstants.CLOCK_TICK);
+            mLastSlopHapticTime = SystemClock.uptimeMillis();
+        }
+
         setDragProgress(MathUtils.constrainedMap(
                 0, 1.0f,
                 0, mGestureLength * TRACK_LENGTH_MULTIPLIER,
@@ -286,7 +299,10 @@
             }
         } else {
             if (!mGestureDetected) {
-                performHapticFeedback(HapticFeedbackConstants.CLOCK_TICK);
+                // Prevent another haptic if it was just used
+                if (SystemClock.uptimeMillis() - mLastSlopHapticTime > HAPTIC_TIMEOUT_MS) {
+                    performHapticFeedback(HapticFeedbackConstants.CLOCK_TICK);
+                }
                 mGestureDetected = true;
 
                 mLegAnimator.setFloatValues(1f);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
index 9be47f7..ea30451 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarFragment.java
@@ -51,10 +51,12 @@
 import android.graphics.PixelFormat;
 import android.graphics.Rect;
 import android.inputmethodservice.InputMethodService;
+import android.net.Uri;
 import android.os.Binder;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.IBinder;
+import android.os.Looper;
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.provider.Settings;
@@ -137,6 +139,7 @@
     private AccessibilityManager mAccessibilityManager;
     private MagnificationContentObserver mMagnificationObserver;
     private ContentResolver mContentResolver;
+    private boolean mAssistantAvailable;
 
     private int mDisabledFlags1;
     private int mDisabledFlags2;
@@ -156,7 +159,8 @@
 
     private OverviewProxyService mOverviewProxyService;
 
-    private int mDisplayId;
+    @VisibleForTesting
+    public int mDisplayId;
     private boolean mIsOnDefaultDisplay;
     public boolean mHomeBlockedThisTouch;
 
@@ -167,6 +171,11 @@
         public void onConnectionChanged(boolean isConnected) {
             mNavigationBarView.updateStates();
             updateScreenPinningGestures();
+
+            // Send the assistant availability upon connection
+            if (isConnected) {
+                mNavigationBarView.setAssistantAvailable(mAssistantAvailable);
+            }
         }
 
         @Override
@@ -213,6 +222,19 @@
 
     private final Runnable mAutoDim = () -> getBarTransitions().setAutoDim(true);
 
+    private final ContentObserver mAssistContentObserver = new ContentObserver(
+            new Handler(Looper.getMainLooper())) {
+        @Override
+        public void onChange(boolean selfChange, Uri uri) {
+            boolean available = mAssistManager
+                    .getAssistInfoForUser(UserHandle.USER_CURRENT) != null;
+            if (mAssistantAvailable != available) {
+                mNavigationBarView.setAssistantAvailable(available);
+                mAssistantAvailable = available;
+            }
+        }
+    };
+
     @Inject
     public NavigationBarFragment(AccessibilityManagerWrapper accessibilityManagerWrapper,
             DeviceProvisionedController deviceProvisionedController, MetricsLogger metricsLogger,
@@ -221,6 +243,7 @@
         mDeviceProvisionedController = deviceProvisionedController;
         mMetricsLogger = metricsLogger;
         mAssistManager = assistManager;
+        mAssistantAvailable = mAssistManager.getAssistInfoForUser(UserHandle.USER_CURRENT) != null;
         mOverviewProxyService = overviewProxyService;
     }
 
@@ -242,6 +265,9 @@
         mContentResolver.registerContentObserver(Settings.Secure.getUriFor(
                 Settings.Secure.ACCESSIBILITY_DISPLAY_MAGNIFICATION_NAVBAR_ENABLED), false,
                 mMagnificationObserver, UserHandle.USER_ALL);
+        mContentResolver.registerContentObserver(
+                Settings.Secure.getUriFor(Settings.Secure.ASSISTANT),
+                false /* notifyForDescendants */, mAssistContentObserver, UserHandle.USER_ALL);
 
         if (savedInstanceState != null) {
             mDisabledFlags1 = savedInstanceState.getInt(EXTRA_DISABLE_STATE, 0);
@@ -258,6 +284,7 @@
         super.onDestroy();
         mAccessibilityManagerWrapper.removeCallback(mAccessibilityListener);
         mContentResolver.unregisterContentObserver(mMagnificationObserver);
+        mContentResolver.unregisterContentObserver(mAssistContentObserver);
     }
 
     @Override
@@ -965,7 +992,7 @@
                     }
                 } else {
                     // Screen off disable it
-                    mNavigationBarView.getColorAdaptionController().end();
+                    mNavigationBarView.getColorAdaptionController().stop();
                 }
             }
             if (Intent.ACTION_USER_SWITCHED.equals(action)) {
@@ -990,6 +1017,7 @@
         lp.setTitle("NavigationBar" + context.getDisplayId());
         lp.accessibilityTitle = context.getString(R.string.nav_bar);
         lp.windowAnimations = 0;
+        lp.privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC;
 
         View navigationBarView = LayoutInflater.from(context).inflate(
                 R.layout.navigation_bar_window, null);
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
index f82b05e..18612c3 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationBarView.java
@@ -42,6 +42,7 @@
 import android.annotation.SuppressLint;
 import android.app.StatusBarManager;
 import android.content.Context;
+import android.content.pm.ParceledListSlice;
 import android.content.res.Configuration;
 import android.graphics.Canvas;
 import android.graphics.Point;
@@ -59,6 +60,8 @@
 import android.util.SparseArray;
 import android.view.Display;
 import android.view.Gravity;
+import android.view.IPinnedStackController;
+import android.view.IPinnedStackListener;
 import android.view.MotionEvent;
 import android.view.Surface;
 import android.view.View;
@@ -171,6 +174,7 @@
     private NotificationPanelView mPanelView;
 
     private NavBarTintController mColorAdaptionController;
+    private boolean mAssistantAvailable;
     private NavigationPrototypeController mPrototypeController;
     private NavigationGestureAction[] mDefaultGestureMap;
     private QuickScrubAction mQuickScrubAction;
@@ -329,7 +333,7 @@
             if (enabled) {
                 mColorAdaptionController.start();
             } else {
-                mColorAdaptionController.end();
+                mColorAdaptionController.stop();
             }
         }
 
@@ -347,6 +351,51 @@
         public void onHomeHandleVisiblilityChanged(boolean visible) {
             showHomeHandle(visible);
         }
+
+        @Override
+        public void onAssistantGestureEnabled(boolean enabled) {
+            updateAssistantAvailability();
+        }
+    };
+
+    private final IPinnedStackListener.Stub mImeChangedListener = new IPinnedStackListener.Stub() {
+        @Override
+        public void onListenerRegistered(IPinnedStackController controller) {
+        }
+
+        @Override
+        public void onImeVisibilityChanged(boolean imeVisible, int imeHeight) {
+            post(() -> {
+                // When the ime changes visibility, resize the edge panels to not cover the ime
+                final int width = mPrototypeController.getEdgeSensitivityWidth();
+                final int height = mContext.getDisplay().getHeight() - imeHeight
+                        - getResources().getDimensionPixelOffset(R.dimen.status_bar_height);
+                if (mLeftEdgePanel != null) {
+                    mLeftEdgePanel.setDimensions(width, height);
+                }
+                if (mRightEdgePanel != null) {
+                    mRightEdgePanel.setDimensions(width, height);
+                }
+            });
+        }
+
+        @Override
+        public void onShelfVisibilityChanged(boolean shelfVisible, int shelfHeight) {
+        }
+
+        @Override
+        public void onMinimizedStateChanged(boolean isMinimized) {
+        }
+
+        @Override
+        public void onMovementBoundsChanged(Rect insetBounds, Rect normalBounds,
+                Rect animatingBounds, boolean fromImeAdjustment, boolean fromShelfAdjustment,
+                int displayRotation) {
+        }
+
+        @Override
+        public void onActionsChanged(ParceledListSlice actions) {
+        }
     };
 
     public NavigationBarView(Context context, AttributeSet attrs) {
@@ -436,6 +485,12 @@
         }
     }
 
+    @Override
+    protected void dispatchDraw(Canvas canvas) {
+        super.dispatchDraw(canvas);
+        mColorAdaptionController.onDraw();
+    }
+
     private void updateNavigationGestures() {
         if (mGestureHelper instanceof QuickStepController) {
             final int[] assignedMap = mPrototypeController.getGestureActionMap();
@@ -936,7 +991,24 @@
         if (visible) {
             mColorAdaptionController.start();
         } else {
-            mColorAdaptionController.end();
+            mColorAdaptionController.stop();
+        }
+    }
+
+    public void setAssistantAvailable(boolean available) {
+        mAssistantAvailable = available;
+        updateAssistantAvailability();
+    }
+
+    // TODO(b/112934365): move this back to NavigationBarFragment when prototype is removed
+    private void updateAssistantAvailability() {
+        boolean available = mAssistantAvailable && mPrototypeController.isAssistantGestureEnabled();
+        if (mOverviewProxyService.getProxy() != null) {
+            try {
+                mOverviewProxyService.getProxy().onAssistantAvailable(available);
+            } catch (RemoteException e) {
+                Log.w(TAG, "Unable to send assistant availability data to launcher");
+            }
         }
     }
 
@@ -1172,7 +1244,7 @@
         if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) {
             mColorAdaptionController.start();
         } else {
-            mColorAdaptionController.end();
+            mColorAdaptionController.stop();
         }
     }
 
@@ -1258,7 +1330,6 @@
         Dependency.get(PluginManager.class).addPluginListener(this,
                 NavGesture.class, false /* Only one */);
         setUpSwipeUpOnboarding(isQuickStepSwipeUpEnabled());
-        mColorAdaptionController.start();
 
         if (mPrototypeController.isEnabled()) {
             WindowManager wm = (WindowManager) getContext()
@@ -1267,13 +1338,19 @@
             int height = mPrototypeController.getEdgeSensitivityHeight();
             // Explicitly left and right, not start and end as this is device relative.
             mLeftEdgePanel = NavigationBarEdgePanel.create(getContext(), width, height,
-                    Gravity.LEFT | Gravity.BOTTOM);
+                    Gravity.LEFT | Gravity.TOP);
             mRightEdgePanel = NavigationBarEdgePanel.create(getContext(), width, height,
-                    Gravity.RIGHT | Gravity.BOTTOM);
+                    Gravity.RIGHT | Gravity.TOP);
             mLeftEdgePanel.setOnTouchListener(mEdgePanelTouchListener);
             mRightEdgePanel.setOnTouchListener(mEdgePanelTouchListener);
             wm.addView(mLeftEdgePanel, mLeftEdgePanel.getLayoutParams());
             wm.addView(mRightEdgePanel, mRightEdgePanel.getLayoutParams());
+
+            try {
+                WindowManagerWrapper.getInstance().addPinnedStackListener(mImeChangedListener);
+            } catch (RemoteException e) {
+                Log.e(TAG, "Failed to register pinned stack listener", e);
+            }
         }
     }
 
@@ -1285,7 +1362,6 @@
             mGestureHelper.destroy();
         }
         mPrototypeController.unregister();
-        mColorAdaptionController.stop();
         setUpSwipeUpOnboarding(false);
         for (int i = 0; i < mButtonDispatchers.size(); ++i) {
             mButtonDispatchers.valueAt(i).onDestroy();
@@ -1298,6 +1374,7 @@
         if (mRightEdgePanel != null) {
             wm.removeView(mRightEdgePanel);
         }
+        WindowManagerWrapper.getInstance().removePinnedStackListener(mImeChangedListener);
     }
 
     private void setUpSwipeUpOnboarding(boolean connectedToOverviewProxy) {
@@ -1375,6 +1452,7 @@
             mGestureHelper.dump(pw);
         }
         mRecentsOnboarding.dump(pw);
+        mColorAdaptionController.dump(pw);
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationPrototypeController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationPrototypeController.java
index 2c31e2c..31579c2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationPrototypeController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NavigationPrototypeController.java
@@ -43,6 +43,7 @@
     private final String GESTURE_MATCH_SETTING = "quickstepcontroller_gesture_match_map";
     public static final String NAV_COLOR_ADAPT_ENABLE_SETTING = "navbar_color_adapt_enable";
     public static final String SHOW_HOME_HANDLE_SETTING = "quickstepcontroller_showhandle";
+    public static final String ENABLE_ASSISTANT_GESTURE = "ENABLE_ASSISTANT_GESTURE";
 
     @Retention(RetentionPolicy.SOURCE)
     @IntDef({ACTION_DEFAULT, ACTION_QUICKSTEP, ACTION_QUICKSCRUB, ACTION_BACK,
@@ -87,6 +88,7 @@
         registerObserver(NAV_COLOR_ADAPT_ENABLE_SETTING);
         registerObserver(EDGE_SENSITIVITY_WIDTH_SETTING);
         registerObserver(SHOW_HOME_HANDLE_SETTING);
+        registerObserver(ENABLE_ASSISTANT_GESTURE);
     }
 
     /**
@@ -119,6 +121,8 @@
                         getEdgeSensitivityHeight());
             } else if (path.endsWith(SHOW_HOME_HANDLE_SETTING)) {
                 mListener.onHomeHandleVisiblilityChanged(showHomeHandle());
+            } else if (path.endsWith(ENABLE_ASSISTANT_GESTURE)) {
+                mListener.onAssistantGestureEnabled(isAssistantGestureEnabled());
             }
         }
     }
@@ -162,6 +166,11 @@
         return getGlobalBool(SHOW_HOME_HANDLE_SETTING, false /* default */);
     }
 
+    boolean isAssistantGestureEnabled() {
+        return getGlobalBool(ENABLE_ASSISTANT_GESTURE, false /* default */);
+    }
+
+
     /**
      * Since Settings.Global cannot pass arrays, use a string to represent each character as a
      * gesture map to actions corresponding to {@see GestureAction}. The number is represented as:
@@ -201,5 +210,6 @@
         void onHomeHandleVisiblilityChanged(boolean visible);
         void onColorAdaptChanged(boolean enabled);
         void onEdgeSensitivityChanged(int width, int height);
+        void onAssistantGestureEnabled(boolean enabled);
     }
 }
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 142f398..253bdfb 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/NotificationPanelView.java
@@ -192,7 +192,6 @@
     protected int mQsMinExpansionHeight;
     protected int mQsMaxExpansionHeight;
     private int mQsPeekHeight;
-    private int mBouncerTop;
     private boolean mStackScrollerOverscrolling;
     private boolean mQsExpansionFromOverscroll;
     private float mLastOverscroll;
@@ -325,6 +324,15 @@
     private final ShadeController mShadeController =
             Dependency.get(ShadeController.class);
     private int mDisplayId;
+    private KeyguardBouncer mBouncer;
+
+    /**
+     * Cache the resource id of the theme to avoid unnecessary work in onThemeChanged.
+     *
+     * onThemeChanged is forced when the theme might not have changed. So, to avoid unncessary
+     * work, check the current id with the cached id.
+     */
+    private int mThemeResId;
 
     @Inject
     public NotificationPanelView(@Named(VIEW_CONTEXT) Context context, AttributeSet attrs,
@@ -342,6 +350,7 @@
         mCommandQueue = getComponent(context, CommandQueue.class);
         mDisplayId = context.getDisplayId();
         mPulseExpansionHandler = pulseExpansionHandler;
+        mThemeResId = context.getThemeResId();
     }
 
     /**
@@ -390,6 +399,9 @@
         Dependency.get(StatusBarStateController.class).addCallback(this);
         Dependency.get(ZenModeController.class).addCallback(this);
         Dependency.get(ConfigurationController.class).addCallback(this);
+        // Theme might have changed between inflating this view and attaching it to the window, so
+        // force a call to onThemeChanged
+        onThemeChanged();
     }
 
     @Override
@@ -452,6 +464,12 @@
 
     @Override
     public void onThemeChanged() {
+        final int themeResId = getContext().getThemeResId();
+        if (mThemeResId == themeResId) {
+            return;
+        }
+        mThemeResId = themeResId;
+
         updateShowEmptyShadeView();
 
         // Re-inflate the status view group.
@@ -672,11 +690,6 @@
         return count;
     }
 
-    public void setBouncerTop(int bouncerTop) {
-        mBouncerTop = bouncerTop;
-        positionClockAndNotifications();
-    }
-
     private void updateClock() {
         if (!mKeyguardStatusViewAnimating) {
             mKeyguardStatusView.setAlpha(mClockPositionResult.clockAlpha);
@@ -1217,6 +1230,12 @@
         setQsExpansion(height);
         requestPanelHeightUpdate();
         mNotificationStackScroller.checkSnoozeLeavebehind();
+
+        // When expanding QS, let's authenticate the user if possible,
+        // this will speed up notification actions.
+        if (height == 0) {
+            mStatusBar.requestFaceAuth();
+        }
     }
 
     private void setQsExpanded(boolean expanded) {
@@ -1717,7 +1736,6 @@
         }
         updateExpandedHeight(expandedHeight);
         updateHeader();
-        updateUnlockIcon();
         updateNotificationTranslucency();
         updatePanelExpanded();
         if (DEBUG) {
@@ -1810,19 +1828,6 @@
         return mNotificationStackScroller.getCurrentOverScrolledPixels(true /* top */);
     }
 
-    private void updateUnlockIcon() {
-        if (mBarState == StatusBarState.KEYGUARD
-                || mBarState == StatusBarState.SHADE_LOCKED) {
-            boolean active = getMaxPanelHeight() - getExpandedHeight() > mUnlockMoveDistance;
-            KeyguardAffordanceView lockIcon = mKeyguardBottomArea.getLockIcon();
-            if (active != mUnlockIconActive && mTracking) {
-                lockIcon.setImageAlpha(lockIcon.getRestingAlpha(), true, 150,
-                        Interpolators.FAST_OUT_LINEAR_IN, null);
-            }
-            mUnlockIconActive = active;
-        }
-    }
-
     /**
      * Hides the header when notifications are colliding with it.
      */
@@ -1889,7 +1894,7 @@
                         ? 0 : KeyguardBouncer.ALPHA_EXPANSION_THRESHOLD, 1f,
                 0f, 1f, getExpandedFraction());
         float alpha = Math.min(expansionAlpha, 1 - getQsExpansionFraction());
-        mKeyguardBottomArea.setAlpha(alpha);
+        mKeyguardBottomArea.setAffordanceAlpha(alpha);
         mKeyguardBottomArea.setImportantForAccessibility(alpha == 0f
                 ? IMPORTANT_FOR_ACCESSIBILITY_NO_HIDE_DESCENDANTS
                 : IMPORTANT_FOR_ACCESSIBILITY_AUTO);
@@ -2037,11 +2042,6 @@
                 mAffordanceHelper.reset(true);
             }
         }
-        if (!expand && (mBarState == StatusBarState.KEYGUARD
-                || mBarState == StatusBarState.SHADE_LOCKED)) {
-            KeyguardAffordanceView lockIcon = mKeyguardBottomArea.getLockIcon();
-            lockIcon.setImageAlpha(0.0f, true, 100, Interpolators.FAST_OUT_LINEAR_IN, null);
-        }
     }
 
     @Override
@@ -2191,22 +2191,6 @@
             return;
         }
         super.startUnlockHintAnimation();
-        startHighlightIconAnimation(getCenterIcon());
-    }
-
-    /**
-     * Starts the highlight (making it fully opaque) animation on an icon.
-     */
-    private void startHighlightIconAnimation(final KeyguardAffordanceView icon) {
-        icon.setImageAlpha(1.0f, true, KeyguardAffordanceHelper.HINT_PHASE1_DURATION,
-                Interpolators.FAST_OUT_SLOW_IN, new Runnable() {
-                    @Override
-                    public void run() {
-                        icon.setImageAlpha(icon.getRestingAlpha(),
-                                true /* animate */, KeyguardAffordanceHelper.HINT_PHASE1_DURATION,
-                                Interpolators.FAST_OUT_SLOW_IN, null);
-                    }
-                });
     }
 
     @Override
@@ -2945,6 +2929,7 @@
     public void onBouncerPreHideAnimation() {
         setKeyguardStatusViewVisibility(mBarState, true /* keyguardFadingAway */,
                 false /* goingToFullShade */);
+        updateLockIcon();
     }
 
     @Override
@@ -3034,4 +3019,54 @@
     public void showTransientIndication(int id) {
         mKeyguardBottomArea.showTransientIndication(id);
     }
+
+    /**
+     * Sets the reference to the {@link KeyguardBouncer}.
+     */
+    public void setBouncer(KeyguardBouncer bouncer) {
+        mBouncer = bouncer;
+        updateLockIcon();
+    }
+
+    public void updateLockIcon() {
+        if (mBouncer == null) {
+            return;
+        }
+
+        ViewGroup bouncerContainer = mBouncer.getLockIconContainer();
+        LockIcon lockIcon = mKeyguardBottomArea.getLockIcon();
+
+        if (mBouncer.isAnimatingAway()) {
+            if (!lockIcon.isAnimatingAlpha() && lockIcon.getAlpha() != 0) {
+                lockIcon.setImageAlpha(0, true /* animate */);
+            }
+            // Let's not re-apply the translation if the bouncer is animating, its
+            // animation also includes translation and transition would be jarring.
+            return;
+        }
+
+        float translation = 0;
+        if (bouncerContainer != null) {
+            float bottomAreaContainerY = getCommonTop(lockIcon);
+            float bouncerLockY = getCommonTop(bouncerContainer);
+            if (bouncerLockY < bottomAreaContainerY) {
+                translation = bouncerLockY - bottomAreaContainerY;
+            }
+        }
+        lockIcon.setTranslationY(translation);
+
+        if (lockIcon.getAlpha() != 1) {
+            lockIcon.setImageAlpha(1, false /* animate */);
+        }
+    }
+
+    private static float getCommonTop(View view) {
+        float y = view.getTop();
+        ViewGroup parent = (ViewGroup) view.getParent();
+        while (!(parent instanceof StatusBarWindowView)) {
+            y += parent.getY();
+            parent = (ViewGroup) parent.getParent();
+        }
+        return y;
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
index 2495d22..99345d2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PanelView.java
@@ -1115,6 +1115,7 @@
 
         View[] viewsToAnimate = {
                 mKeyguardBottomArea.getIndicationArea(),
+                mKeyguardBottomArea.getLockIcon(),
                 mStatusBar.getAmbientIndicationContainer()};
         for (View v : viewsToAnimate) {
             if (v == null) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
index e0c5e59..4a86484 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/PhoneStatusBarPolicy.java
@@ -16,53 +16,29 @@
 
 package com.android.systemui.statusbar.phone;
 
-import static android.app.WindowConfiguration.ACTIVITY_TYPE_UNDEFINED;
-import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
-import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_PRIMARY;
-import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
-
 import android.app.ActivityManager;
-import android.app.ActivityManager.StackInfo;
 import android.app.ActivityTaskManager;
 import android.app.AlarmManager;
 import android.app.AlarmManager.AlarmClockInfo;
-import android.app.AppGlobals;
-import android.app.Notification;
-import android.app.Notification.Action;
-import android.app.NotificationManager;
-import android.app.PendingIntent;
 import android.app.SynchronousUserSwitchObserver;
 import android.content.BroadcastReceiver;
-import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.content.pm.ApplicationInfo;
-import android.content.pm.IPackageManager;
-import android.content.pm.PackageManager;
-import android.graphics.drawable.Icon;
 import android.media.AudioManager;
-import android.net.Uri;
-import android.os.Bundle;
 import android.os.Handler;
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.provider.Settings;
 import android.provider.Settings.Global;
-import android.service.notification.StatusBarNotification;
 import android.service.notification.ZenModeConfig;
 import android.telecom.TelecomManager;
 import android.text.format.DateFormat;
-import android.util.ArraySet;
 import android.util.Log;
-import android.util.Pair;
 
-import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
 import com.android.internal.telephony.IccCardConstants;
 import com.android.internal.telephony.TelephonyIntents;
 import com.android.systemui.Dependency;
-import com.android.systemui.DockedStackExistsListener;
 import com.android.systemui.R;
 import com.android.systemui.SysUiServiceProvider;
 import com.android.systemui.UiOffloadThread;
@@ -70,12 +46,8 @@
 import com.android.systemui.privacy.PrivacyItemController;
 import com.android.systemui.qs.tiles.DndTile;
 import com.android.systemui.qs.tiles.RotationLockTile;
-import com.android.systemui.shared.system.ActivityManagerWrapper;
-import com.android.systemui.shared.system.TaskStackChangeListener;
 import com.android.systemui.statusbar.CommandQueue;
-import com.android.systemui.statusbar.CommandQueue.Callbacks;
 import com.android.systemui.statusbar.policy.BluetoothController;
-import com.android.systemui.statusbar.policy.BluetoothController.Callback;
 import com.android.systemui.statusbar.policy.CastController;
 import com.android.systemui.statusbar.policy.CastController.CastDevice;
 import com.android.systemui.statusbar.policy.DataSaverController;
@@ -90,7 +62,6 @@
 import com.android.systemui.statusbar.policy.RotationLockController.RotationLockControllerCallback;
 import com.android.systemui.statusbar.policy.UserInfoController;
 import com.android.systemui.statusbar.policy.ZenModeController;
-import com.android.systemui.util.NotificationChannels;
 
 import java.io.PrintWriter;
 import java.io.StringWriter;
@@ -98,18 +69,22 @@
 import java.util.Locale;
 
 /**
- * This class contains all of the policy about which icons are installed in the status
- * bar at boot time.  It goes through the normal API for icons, even though it probably
- * strictly doesn't need to.
+ * This class contains all of the policy about which icons are installed in the status bar at boot
+ * time. It goes through the normal API for icons, even though it probably strictly doesn't need to.
  */
-public class PhoneStatusBarPolicy implements Callback, Callbacks,
-        RotationLockControllerCallback, Listener, ZenModeController.Callback,
-        DeviceProvisionedListener, KeyguardMonitor.Callback, PrivacyItemController.Callback {
+public class PhoneStatusBarPolicy
+        implements BluetoothController.Callback,
+                CommandQueue.Callbacks,
+                RotationLockControllerCallback,
+                Listener,
+                ZenModeController.Callback,
+                DeviceProvisionedListener,
+                KeyguardMonitor.Callback,
+                PrivacyItemController.Callback {
     private static final String TAG = "PhoneStatusBarPolicy";
     private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
 
     public static final int LOCATION_STATUS_ICON_ID = R.drawable.stat_sys_location;
-    public static final int NUM_TASKS_FOR_INSTANT_APP_INFO = 5;
 
     private final String mSlotCast;
     private final String mSlotHotspot;
@@ -142,7 +117,6 @@
     private final KeyguardMonitor mKeyguardMonitor;
     private final LocationController mLocationController;
     private final PrivacyItemController mPrivacyItemController;
-    private final ArraySet<Pair<String, Integer>> mCurrentNotifs = new ArraySet<>();
     private final UiOffloadThread mUiOffloadThread = Dependency.get(UiOffloadThread.class);
 
     // Assume it's all good unless we hear otherwise.  We don't always seem
@@ -152,7 +126,6 @@
     private boolean mZenVisible;
     private boolean mVolumeVisible;
     private boolean mCurrentUserSetup;
-    private boolean mDockedStackExists;
 
     private boolean mManagedProfileIconVisible = false;
 
@@ -271,19 +244,6 @@
         mPrivacyItemController.addCallback(this);
 
         SysUiServiceProvider.getComponent(mContext, CommandQueue.class).addCallback(this);
-        ActivityManagerWrapper.getInstance().registerTaskStackListener(mTaskListener);
-
-        // Clear out all old notifications on startup (only present in the case where sysui dies)
-        NotificationManager noMan = mContext.getSystemService(NotificationManager.class);
-        for (StatusBarNotification notification : noMan.getActiveNotifications()) {
-            if (notification.getId() == SystemMessage.NOTE_INSTANT_APPS) {
-                noMan.cancel(notification.getTag(), notification.getId());
-            }
-        }
-        DockedStackExistsListener.register(exists -> {
-            mDockedStackExists = exists;
-            updateForegroundInstantApps();
-        });
     }
 
     @Override
@@ -515,169 +475,6 @@
         });
     }
 
-    private void updateForegroundInstantApps() {
-        NotificationManager noMan = mContext.getSystemService(NotificationManager.class);
-        ArraySet<Pair<String, Integer>> notifs = new ArraySet<>(mCurrentNotifs);
-        IPackageManager pm = AppGlobals.getPackageManager();
-        mCurrentNotifs.clear();
-        mUiOffloadThread.submit(() -> {
-            try {
-                final StackInfo focusedStack =
-                        ActivityTaskManager.getService().getFocusedStackInfo();
-                if (focusedStack != null) {
-                    final int windowingMode =
-                            focusedStack.configuration.windowConfiguration.getWindowingMode();
-                    if (windowingMode == WINDOWING_MODE_FULLSCREEN
-                            || windowingMode == WINDOWING_MODE_SPLIT_SCREEN_SECONDARY) {
-                        checkStack(focusedStack, notifs, noMan, pm);
-                    }
-                }
-                if (mDockedStackExists) {
-                    checkStack(WINDOWING_MODE_SPLIT_SCREEN_PRIMARY, ACTIVITY_TYPE_UNDEFINED,
-                            notifs, noMan, pm);
-                }
-            } catch (RemoteException e) {
-                e.rethrowFromSystemServer();
-            }
-            // Cancel all the leftover notifications that don't have a foreground process anymore.
-            notifs.forEach(v -> noMan.cancelAsUser(v.first, SystemMessage.NOTE_INSTANT_APPS,
-                    new UserHandle(v.second)));
-        });
-    }
-
-    private void checkStack(int windowingMode, int activityType,
-            ArraySet<Pair<String, Integer>> notifs, NotificationManager noMan, IPackageManager pm) {
-        try {
-            final StackInfo info =
-                    ActivityTaskManager.getService().getStackInfo(windowingMode, activityType);
-            checkStack(info, notifs, noMan, pm);
-        } catch (RemoteException e) {
-            e.rethrowFromSystemServer();
-        }
-    }
-    private void checkStack(StackInfo info, ArraySet<Pair<String, Integer>> notifs,
-            NotificationManager noMan, IPackageManager pm) {
-        try {
-            if (info == null || info.topActivity == null) return;
-            String pkg = info.topActivity.getPackageName();
-            if (!hasNotif(notifs, pkg, info.userId)) {
-                // TODO: Optimize by not always needing to get application info.
-                // Maybe cache non-ephemeral packages?
-                ApplicationInfo appInfo = pm.getApplicationInfo(pkg,
-                        PackageManager.MATCH_UNINSTALLED_PACKAGES, info.userId);
-                if (appInfo.isInstantApp()) {
-                    postEphemeralNotif(pkg, info.userId, appInfo, noMan, info.taskIds[info.taskIds.length - 1]);
-                }
-            }
-        } catch (RemoteException e) {
-            e.rethrowFromSystemServer();
-        }
-    }
-
-    private void postEphemeralNotif(String pkg, int userId, ApplicationInfo appInfo,
-            NotificationManager noMan, int taskId) {
-        final Bundle extras = new Bundle();
-        extras.putString(Notification.EXTRA_SUBSTITUTE_APP_NAME,
-                mContext.getString(R.string.instant_apps));
-        mCurrentNotifs.add(new Pair<>(pkg, userId));
-
-        String helpUrl = mContext.getString(R.string.instant_apps_help_url);
-        boolean hasHelpUrl = !helpUrl.isEmpty();
-        String message = mContext.getString(hasHelpUrl
-                ? R.string.instant_apps_message_with_help
-                : R.string.instant_apps_message);
-
-        UserHandle user = UserHandle.of(userId);
-        PendingIntent appInfoAction = PendingIntent.getActivityAsUser(mContext, 0,
-                new Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
-                        .setData(Uri.fromParts("package", pkg, null)), 0, null, user);
-        Action action = new Notification.Action.Builder(null, mContext.getString(R.string.app_info),
-                appInfoAction).build();
-        PendingIntent helpCenterIntent = hasHelpUrl
-                ? PendingIntent.getActivityAsUser(mContext, 0,
-                new Intent(Intent.ACTION_VIEW).setData(Uri.parse(
-                        helpUrl)),
-                0, null, user)
-                : null;
-
-        Intent browserIntent = getTaskIntent(taskId, userId);
-        Notification.Builder builder = new Notification.Builder(mContext,
-                NotificationChannels.GENERAL);
-        if (browserIntent != null && browserIntent.isWebIntent()) {
-            // Make sure that this doesn't resolve back to an instant app
-            browserIntent.setComponent(null)
-                    .setPackage(null)
-                    .addFlags(Intent.FLAG_IGNORE_EPHEMERAL)
-                    .addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
-
-            PendingIntent pendingIntent = PendingIntent.getActivityAsUser(mContext,
-                    0 /* requestCode */, browserIntent, 0 /* flags */, null, user);
-            ComponentName aiaComponent = null;
-            try {
-                aiaComponent = AppGlobals.getPackageManager().getInstantAppInstallerComponent();
-            } catch (RemoteException e) {
-                e.rethrowFromSystemServer();
-            }
-            Intent goToWebIntent = new Intent()
-                    .setComponent(aiaComponent)
-                    .setAction(Intent.ACTION_VIEW)
-                    .addCategory(Intent.CATEGORY_BROWSABLE)
-                    .addCategory("unique:" + System.currentTimeMillis())
-                    .putExtra(Intent.EXTRA_PACKAGE_NAME, appInfo.packageName)
-                    .putExtra(Intent.EXTRA_VERSION_CODE, (int) (appInfo.versionCode & 0x7fffffff))
-                    .putExtra(Intent.EXTRA_LONG_VERSION_CODE, appInfo.versionCode)
-                    .putExtra(Intent.EXTRA_INSTANT_APP_FAILURE, pendingIntent);
-
-            PendingIntent webPendingIntent = PendingIntent.getActivityAsUser(mContext, 0,
-                    goToWebIntent, 0, null, user);
-            Action webAction = new Notification.Action.Builder(null,
-                    mContext.getString(R.string.go_to_web),
-                    webPendingIntent).build();
-            builder.addAction(webAction);
-        }
-
-        noMan.notifyAsUser(pkg, SystemMessage.NOTE_INSTANT_APPS, builder
-                        .addExtras(extras)
-                        .addAction(action)
-                        .setContentIntent(helpCenterIntent)
-                        .setColor(mContext.getColor(R.color.instant_apps_color))
-                        .setContentTitle(mContext.getString(R.string.instant_apps_title,
-                                appInfo.loadLabel(mContext.getPackageManager())))
-                        .setLargeIcon(Icon.createWithResource(pkg, appInfo.icon))
-                        .setSmallIcon(Icon.createWithResource(mContext.getPackageName(),
-                                R.drawable.instant_icon))
-                        .setContentText(message)
-                        .setStyle(new Notification.BigTextStyle().bigText(message))
-                        .setOngoing(true)
-                        .build(),
-                new UserHandle(userId));
-    }
-
-    private Intent getTaskIntent(int taskId, int userId) {
-        try {
-            final List<ActivityManager.RecentTaskInfo> tasks =
-                    ActivityTaskManager.getService().getRecentTasks(
-                            NUM_TASKS_FOR_INSTANT_APP_INFO, 0, userId).getList();
-            for (int i = 0; i < tasks.size(); i++) {
-                if (tasks.get(i).id == taskId) {
-                    return tasks.get(i).baseIntent;
-                }
-            }
-        } catch (RemoteException e) {
-            // Fall through
-        }
-        return null;
-    }
-
-    private boolean hasNotif(ArraySet<Pair<String, Integer>> notifs, String pkg, int userId) {
-        Pair<String, Integer> key = new Pair<>(pkg, userId);
-        if (notifs.remove(key)) {
-            mCurrentNotifs.add(key);
-            return true;
-        }
-        return false;
-    }
-
     private final SynchronousUserSwitchObserver mUserSwitchListener =
             new SynchronousUserSwitchObserver() {
                 @Override
@@ -690,7 +487,6 @@
                     mHandler.post(() -> {
                         updateAlarm();
                         updateManagedProfile();
-                        updateForegroundInstantApps();
                     });
                 }
             };
@@ -723,14 +519,12 @@
             boolean forced) {
         if (mContext.getDisplayId() == displayId) {
             updateManagedProfile();
-            updateForegroundInstantApps();
         }
     }
 
     @Override
     public void onKeyguardShowingChanged() {
         updateManagedProfile();
-        updateForegroundInstantApps();
     }
 
     @Override
@@ -743,11 +537,6 @@
     }
 
     @Override
-    public void preloadRecentApps() {
-        updateForegroundInstantApps();
-    }
-
-    @Override
     public void onRotationLockStateChanged(boolean rotationLocked, boolean affordanceVisible) {
         boolean portrait = RotationLockTile.isCurrentOrientationLockPortrait(
                 mRotationLockController, mContext);
@@ -822,14 +611,6 @@
         mIconController.setIconVisibility(mSlotLocation, showLocation);
     }
 
-    private final TaskStackChangeListener mTaskListener = new TaskStackChangeListener() {
-        @Override
-        public void onTaskStackChanged() {
-            // Listen for changes to stacks and then check which instant apps are foreground.
-            updateForegroundInstantApps();
-        }
-    };
-
     private BroadcastReceiver mIntentReceiver = new BroadcastReceiver() {
         @Override
         public void onReceive(Context context, Intent intent) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java
index 73ab527..3398fd34 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/QuickStepController.java
@@ -192,10 +192,6 @@
      */
     @Override
     public boolean onInterceptTouchEvent(MotionEvent event) {
-        if (mStatusBar.isKeyguardShowing()) {
-            // Disallow any handling when the keyguard is showing
-            return false;
-        }
         return handleTouchEvent(event);
     }
 
@@ -205,11 +201,6 @@
      */
     @Override
     public boolean onTouchEvent(MotionEvent event) {
-        if (mStatusBar.isKeyguardShowing()) {
-            // Disallow any handling when the keyguard is showing
-            return false;
-        }
-
         // The same down event was just sent on intercept and therefore can be ignored here
         final boolean ignoreProxyDownEvent = event.getAction() == MotionEvent.ACTION_DOWN
                 && mOverviewEventSender.getProxy() != null
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/RotationContextButton.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/RotationContextButton.java
index a7b8eff..e887f5b 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/RotationContextButton.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/RotationContextButton.java
@@ -83,6 +83,10 @@
     private final Stub mRotationWatcher = new Stub() {
         @Override
         public void onRotationChanged(final int rotation) throws RemoteException {
+            if (getCurrentView() == null) {
+                return;
+            }
+
             // We need this to be scheduled as early as possible to beat the redrawing of
             // window in response to the orientation change.
             Handler h = getCurrentView().getHandler();
@@ -235,7 +239,9 @@
 
         // If window rotation matches suggested rotation, remove any current suggestions
         if (rotation == windowRotation) {
-            getCurrentView().removeCallbacks(mRemoveRotationProposal);
+            if (getCurrentView() != null) {
+                getCurrentView().removeCallbacks(mRemoveRotationProposal);
+            }
             setRotateSuggestionButtonState(false /* visible */);
             return;
         }
@@ -259,9 +265,11 @@
             // If the navbar isn't shown, flag the rotate icon to be shown should the navbar become
             // visible given some time limit.
             mPendingRotationSuggestion = true;
-            getCurrentView().removeCallbacks(mCancelPendingRotationProposal);
-            getCurrentView().postDelayed(mCancelPendingRotationProposal,
-                    NAVBAR_HIDDEN_PENDING_ICON_TIMEOUT_MS);
+            if (getCurrentView() != null) {
+                getCurrentView().removeCallbacks(mCancelPendingRotationProposal);
+                getCurrentView().postDelayed(mCancelPendingRotationProposal,
+                        NAVBAR_HIDDEN_PENDING_ICON_TIMEOUT_MS);
+            }
         }
     }
 
@@ -328,7 +336,9 @@
     private void onRotationSuggestionsDisabled() {
         // Immediately hide the rotate button and clear any planned removal
         setRotateSuggestionButtonState(false /* visible */, true /* force */);
-        getCurrentView().removeCallbacks(mRemoveRotationProposal);
+        if (getCurrentView() != null) {
+            getCurrentView().removeCallbacks(mRemoveRotationProposal);
+        }
     }
 
     private void showAndLogRotationSuggestion() {
@@ -361,6 +371,10 @@
     }
 
     private void rescheduleRotationTimeout(final boolean reasonHover) {
+        if (getCurrentView() == null) {
+            return;
+        }
+
         // May be called due to a new rotation proposal or a change in hover state
         if (reasonHover) {
             // Don't reschedule if a hide animator is running
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 7bbd3b5..1949bad 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimController.java
@@ -90,6 +90,10 @@
      */
     public static final float GRADIENT_SCRIM_ALPHA = 0.2f;
     /**
+     * Scrim opacity when the phone is about to wake-up.
+     */
+    public static final float AOD2_SCRIM_ALPHA = 0.6f;
+    /**
      * A scrim varies its opacity based on a busyness factor, for example
      * how many notifications are currently visible.
      */
@@ -114,6 +118,7 @@
     private final DozeParameters mDozeParameters;
     private final AlarmTimeout mTimeTicker;
     private final KeyguardVisibilityCallback mKeyguardVisibilityCallback;
+    private final Handler mHandler;
 
     private final SysuiColorExtractor mColorExtractor;
     private GradientColors mLockColors;
@@ -174,8 +179,9 @@
         mKeyguardVisibilityCallback = new KeyguardVisibilityCallback();
         mKeyguardUpdateMonitor.registerCallback(mKeyguardVisibilityCallback);
         mScrimBehindAlphaResValue = mContext.getResources().getFloat(R.dimen.scrim_behind_alpha);
+        mHandler = getHandler();
         mTimeTicker = new AlarmTimeout(alarmManager, this::onHideWallpaperTimeout,
-                "hide_aod_wallpaper", new Handler());
+                "hide_aod_wallpaper", mHandler);
         mWakeLock = createWakeLock();
         // Scrim alpha is initially set to the value on the resource but might be changed
         // to make sure that text on top of it is legible.
@@ -253,8 +259,8 @@
             mScrimBehind.removeCallbacks(mPendingFrameCallback);
             mPendingFrameCallback = null;
         }
-        if (getHandler().hasCallbacks(mBlankingTransitionRunnable)) {
-            getHandler().removeCallbacks(mBlankingTransitionRunnable);
+        if (mHandler.hasCallbacks(mBlankingTransitionRunnable)) {
+            mHandler.removeCallbacks(mBlankingTransitionRunnable);
             mBlankingTransitionRunnable = null;
         }
 
@@ -419,6 +425,8 @@
                         interpolatedFract);
                 mCurrentInFrontAlpha = 0;
             }
+            mCurrentBehindTint = ColorUtils.blendARGB(ScrimState.BOUNCER.getBehindTint(),
+                    mState.getBehindTint(), interpolatedFract);
         }
     }
 
@@ -768,7 +776,7 @@
             if (DEBUG) {
                 Log.d(TAG, "Fading out scrims with delay: " + delay);
             }
-            getHandler().postDelayed(mBlankingTransitionRunnable, delay);
+            mHandler.postDelayed(mBlankingTransitionRunnable, delay);
         };
         doOnTheNextFrame(mPendingFrameCallback);
     }
@@ -786,7 +794,7 @@
 
     @VisibleForTesting
     protected Handler getHandler() {
-        return Handler.getMain();
+        return new Handler();
     }
 
     public int getBackgroundColor() {
@@ -821,8 +829,7 @@
 
     @VisibleForTesting
     protected WakeLock createWakeLock() {
-         return new DelayedWakeLock(getHandler(),
-                WakeLock.createPartial(mContext, "Scrims"));
+        return new DelayedWakeLock(mHandler, WakeLock.createPartial(mContext, "Scrims"));
     }
 
     @Override
@@ -853,12 +860,11 @@
      */
     public void onScreenTurnedOn() {
         mScreenOn = true;
-        final Handler handler = getHandler();
-        if (handler.hasCallbacks(mBlankingTransitionRunnable)) {
+        if (mHandler.hasCallbacks(mBlankingTransitionRunnable)) {
             if (DEBUG) {
                 Log.d(TAG, "Shorter blanking because screen turned on. All good.");
             }
-            handler.removeCallbacks(mBlankingTransitionRunnable);
+            mHandler.removeCallbacks(mBlankingTransitionRunnable);
             mBlankingTransitionRunnable.run();
         }
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java
index bbeebd6..2f161d5 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/ScrimState.java
@@ -54,6 +54,8 @@
             } else {
                 mAnimationDuration = ScrimController.ANIMATION_DURATION;
             }
+            mCurrentInFrontTint = Color.BLACK;
+            mCurrentBehindTint = Color.BLACK;
             mCurrentBehindAlpha = mScrimBehindAlphaKeyguard;
             mCurrentInFrontAlpha = 0;
         }
@@ -131,11 +133,10 @@
                     || mPulseReason == DozeLog.PULSE_REASON_DOCKING
                     || mPulseReason == DozeLog.PULSE_REASON_INTENT) {
                 mCurrentBehindAlpha = previousState.getBehindAlpha();
-                mCurrentBehindTint = Color.BLACK;
             } else {
-                mCurrentBehindAlpha = mScrimBehindAlphaKeyguard;
-                mCurrentBehindTint = Color.TRANSPARENT;
+                mCurrentBehindAlpha = ScrimController.AOD2_SCRIM_ALPHA;
             }
+            mCurrentBehindTint = Color.BLACK;
             mBlankScreen = mDisplayRequiresBlanking;
         }
     },
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 d18b419..c4b41d4 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBar.java
@@ -122,6 +122,7 @@
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.internal.statusbar.IStatusBarService;
 import com.android.internal.statusbar.StatusBarIcon;
+import com.android.internal.widget.LockPatternUtils;
 import com.android.keyguard.KeyguardUpdateMonitor;
 import com.android.keyguard.KeyguardUpdateMonitorCallback;
 import com.android.keyguard.ViewMediatorCallback;
@@ -215,7 +216,6 @@
 import com.android.systemui.statusbar.policy.ExtensionController;
 import com.android.systemui.statusbar.policy.HeadsUpManager;
 import com.android.systemui.statusbar.policy.KeyguardMonitor;
-import com.android.systemui.statusbar.policy.KeyguardMonitorImpl;
 import com.android.systemui.statusbar.policy.KeyguardUserSwitcher;
 import com.android.systemui.statusbar.policy.NetworkController;
 import com.android.systemui.statusbar.policy.OnHeadsUpChangedListener;
@@ -225,6 +225,7 @@
 import com.android.systemui.statusbar.policy.UserInfoControllerImpl;
 import com.android.systemui.statusbar.policy.UserSwitcherController;
 import com.android.systemui.statusbar.policy.ZenModeController;
+import com.android.systemui.tuner.TunerService;
 import com.android.systemui.util.InjectionInflationController;
 import com.android.systemui.volume.VolumeComponent;
 
@@ -532,12 +533,11 @@
     private KeyguardUserSwitcher mKeyguardUserSwitcher;
     protected UserSwitcherController mUserSwitcherController;
     private NetworkController mNetworkController;
-    private KeyguardMonitorImpl mKeyguardMonitor
-            = (KeyguardMonitorImpl) Dependency.get(KeyguardMonitor.class);
+    private KeyguardMonitor mKeyguardMonitor = Dependency.get(KeyguardMonitor.class);
     private BatteryController mBatteryController;
     protected boolean mPanelExpanded;
     private UiModeManager mUiModeManager;
-    private boolean mIsKeyguard;
+    protected boolean mIsKeyguard;
     private LogMaker mStatusBarStateLog;
     protected NotificationIconAreaController mNotificationIconAreaController;
     @Nullable private View mAmbientIndicationContainer;
@@ -881,7 +881,6 @@
                         mNotificationPanel.getLockIcon());
         mNotificationPanel.setKeyguardIndicationController(mKeyguardIndicationController);
 
-
         mAmbientIndicationContainer = mStatusBarWindow.findViewById(
                 R.id.ambient_indication_container);
 
@@ -1057,8 +1056,21 @@
         mNotificationShelf.setOnActivatedListener(mPresenter);
         mRemoteInputManager.getController().addCallback(mStatusBarWindowController);
 
-        mNotificationActivityStarter = new StatusBarNotificationActivityStarter(
-                mContext, mNotificationPanel, mPresenter, mHeadsUpManager, mActivityLaunchAnimator);
+        final StatusBarRemoteInputCallback mStatusBarRemoteInputCallback =
+                (StatusBarRemoteInputCallback) Dependency.get(
+                        NotificationRemoteInputManager.Callback.class);
+        final ShadeController shadeController = Dependency.get(ShadeController.class);
+        final ActivityStarter activityStarter = Dependency.get(ActivityStarter.class);
+
+        mNotificationActivityStarter = new StatusBarNotificationActivityStarter(mContext,
+                mCommandQueue, mAssistManager, mNotificationPanel, mPresenter, mEntryManager,
+                mHeadsUpManager, activityStarter, mActivityLaunchAnimator,
+                mBarService, mStatusBarStateController, mKeyguardManager, mDreamManager,
+                mRemoteInputManager, mStatusBarRemoteInputCallback, mGroupManager,
+                mLockscreenUserManager, shadeController, mKeyguardMonitor,
+                mNotificationInterruptionStateProvider, mMetricsLogger,
+                new LockPatternUtils(mContext));
+
         mGutsManager.setNotificationActivityStarter(mNotificationActivityStarter);
 
         mEntryManager.setRowBinder(rowBinder);
@@ -1208,8 +1220,7 @@
         mBiometricUnlockController = new BiometricUnlockController(mContext,
                 mDozeScrimController, keyguardViewMediator,
                 mScrimController, this, UnlockMethodCache.getInstance(mContext),
-                new Handler(), mKeyguardUpdateMonitor, mContext.getResources().getInteger(
-                com.android.internal.R.integer.config_wakeUpDelayDoze));
+                new Handler(), mKeyguardUpdateMonitor, Dependency.get(TunerService.class));
         mStatusBarKeyguardViewManager = keyguardViewMediator.registerStatusBar(this,
                 getBouncerContainer(), mNotificationPanel, mBiometricUnlockController);
         mKeyguardIndicationController
@@ -1220,6 +1231,7 @@
         mKeyguardViewMediatorCallback = keyguardViewMediator.getViewMediatorCallback();
         mLightBarController.setBiometricUnlockController(mBiometricUnlockController);
         mMediaManager.setBiometricUnlockController(mBiometricUnlockController);
+        mNotificationPanel.setBouncer(mStatusBarKeyguardViewManager.getBouncer());
         Dependency.get(KeyguardDismissUtil.class).setDismissHandler(this::executeWhenUnlocked);
         Trace.endSection();
     }
@@ -1315,6 +1327,15 @@
         mEntryManager.updateNotifications();
     }
 
+    /**
+     * Asks {@link KeyguardUpdateMonitor} to run face auth.
+     */
+    public void requestFaceAuth() {
+        if (!mUnlockMethodCache.canSkipBouncer()) {
+            mKeyguardUpdateMonitor.requestFaceAuth();
+        }
+    }
+
     public void updateAreThereNotifications() {
         if (SPEW) {
             final boolean clearable = hasActiveNotifications() &&
@@ -3208,7 +3229,9 @@
 
         boolean sleepingFromKeyguard =
                 mStatusBarKeyguardViewManager.isGoingToSleepVisibleNotOccluded();
-        boolean animate = (!mDozing && mDozeServiceHost.shouldAnimateWakeup())
+        boolean wakeAndUnlock = mBiometricUnlockController.getMode()
+                == BiometricUnlockController.MODE_WAKE_AND_UNLOCK;
+        boolean animate = (!mDozing && mDozeServiceHost.shouldAnimateWakeup() && !wakeAndUnlock)
                 || (mDozing && mDozeServiceHost.shouldAnimateScreenOff() && sleepingFromKeyguard);
 
         mNotificationPanel.setDozing(mDozing, animate, mWakeUpTouchLocation);
@@ -3879,7 +3902,7 @@
                 return;
             }
 
-            boolean passiveAuthInterrupt = reason == DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN;
+            boolean passiveAuthInterrupt = reason == DozeLog.PULSE_REASON_NOTIFICATION;
             // Set the state to pulsing, so ScrimController will know what to do once we ask it to
             // execute the transition. The pulse callback will then be invoked when the scrims
             // are black, indicating that StatusBar is ready to present the rest of the UI.
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 5014783..e8a5c7a 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarKeyguardViewManager.java
@@ -166,16 +166,10 @@
         mBouncer = SystemUIFactory.getInstance().createKeyguardBouncer(mContext,
                 mViewMediatorCallback, mLockPatternUtils, container, dismissCallbackRegistry,
                 mExpansionCallback);
-        mContainer.addOnLayoutChangeListener(this::onContainerLayout);
         mNotificationPanelView = notificationPanelView;
         notificationPanelView.setExpansionListener(this::onPanelExpansionChanged);
     }
 
-    private void onContainerLayout(View v, int left, int top, int right, int bottom,
-            int oldLeft, int oldTop, int oldRight, int oldBottom) {
-        mNotificationPanelView.setBouncerTop(mBouncer.getTop());
-    }
-
     @VisibleForTesting
     void onPanelExpansionChanged(float expansion, boolean tracking) {
         // We don't want to translate the bounce when:
@@ -198,6 +192,7 @@
                 mBouncer.show(false /* resetSecuritySelection */, false /* scrimmed */);
             }
         }
+        mNotificationPanelView.updateLockIcon();
     }
 
     /**
@@ -795,6 +790,10 @@
         setDozing(isDozing);
     }
 
+    public KeyguardBouncer getBouncer() {
+        return mBouncer;
+    }
+
     private static class DismissWithActionRequest {
         final OnDismissAction dismissAction;
         final Runnable cancelAction;
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java
index b0e006d..7e45507 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarNotificationActivityStarter.java
@@ -17,7 +17,6 @@
 package com.android.systemui.statusbar.phone;
 
 import static com.android.systemui.Dependency.MAIN_HANDLER;
-import static com.android.systemui.SysUiServiceProvider.getComponent;
 import static com.android.systemui.statusbar.phone.StatusBar.getActivityOptions;
 
 import android.app.ActivityManager;
@@ -32,9 +31,7 @@
 import android.os.AsyncTask;
 import android.os.Looper;
 import android.os.RemoteException;
-import android.os.ServiceManager;
 import android.os.UserHandle;
-import android.service.dreams.DreamService;
 import android.service.dreams.IDreamManager;
 import android.service.notification.StatusBarNotification;
 import android.text.TextUtils;
@@ -78,27 +75,18 @@
     private static final String TAG = "NotificationClickHandler";
     protected static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
 
-    private final AssistManager mAssistManager = Dependency.get(AssistManager.class);
-    private final NotificationGroupManager mGroupManager =
-            Dependency.get(NotificationGroupManager.class);
-    private final StatusBarRemoteInputCallback mStatusBarRemoteInputCallback =
-            (StatusBarRemoteInputCallback) Dependency.get(
-                    NotificationRemoteInputManager.Callback.class);
-    private final NotificationRemoteInputManager mRemoteInputManager =
-            Dependency.get(NotificationRemoteInputManager.class);
-    private final NotificationLockscreenUserManager mLockscreenUserManager =
-            Dependency.get(NotificationLockscreenUserManager.class);
-    private final ShadeController mShadeController = Dependency.get(ShadeController.class);
-    private final KeyguardMonitor mKeyguardMonitor = Dependency.get(KeyguardMonitor.class);
-    private final ActivityStarter mActivityStarter = Dependency.get(ActivityStarter.class);
-    private final NotificationEntryManager mEntryManager =
-            Dependency.get(NotificationEntryManager.class);
-    private final StatusBarStateController mStatusBarStateController =
-            Dependency.get(StatusBarStateController.class);
-    private final NotificationInterruptionStateProvider mNotificationInterruptionStateProvider =
-            Dependency.get(NotificationInterruptionStateProvider.class);
-    private final MetricsLogger mMetricsLogger = Dependency.get(MetricsLogger.class);
-
+    private final AssistManager mAssistManager;
+    private final NotificationGroupManager mGroupManager;
+    private final StatusBarRemoteInputCallback mStatusBarRemoteInputCallback;
+    private final NotificationRemoteInputManager mRemoteInputManager;
+    private final NotificationLockscreenUserManager mLockscreenUserManager;
+    private final ShadeController mShadeController;
+    private final KeyguardMonitor mKeyguardMonitor;
+    private final ActivityStarter mActivityStarter;
+    private final NotificationEntryManager mEntryManager;
+    private final StatusBarStateController mStatusBarStateController;
+    private final NotificationInterruptionStateProvider mNotificationInterruptionStateProvider;
+    private final MetricsLogger mMetricsLogger;
     private final Context mContext;
     private final NotificationPanelView mNotificationPanel;
     private final NotificationPresenter mPresenter;
@@ -113,29 +101,55 @@
     private boolean mIsCollapsingToShowActivityOverLockscreen;
 
     public StatusBarNotificationActivityStarter(Context context,
+            CommandQueue commandQueue,
+            AssistManager assistManager,
             NotificationPanelView panel,
             NotificationPresenter presenter,
+            NotificationEntryManager entryManager,
             HeadsUpManagerPhone headsUpManager,
-            ActivityLaunchAnimator activityLaunchAnimator) {
+            ActivityStarter activityStarter,
+            ActivityLaunchAnimator activityLaunchAnimator,
+            IStatusBarService statusBarService,
+            StatusBarStateController statusBarStateController,
+            KeyguardManager keyguardManager,
+            IDreamManager dreamManager,
+            NotificationRemoteInputManager remoteInputManager,
+            StatusBarRemoteInputCallback remoteInputCallback,
+            NotificationGroupManager groupManager,
+            NotificationLockscreenUserManager lockscreenUserManager,
+            ShadeController shadeController,
+            KeyguardMonitor keyguardMonitor,
+            NotificationInterruptionStateProvider notificationInterruptionStateProvider,
+            MetricsLogger metricsLogger,
+            LockPatternUtils lockPatternUtils) {
         mContext = context;
         mNotificationPanel = panel;
         mPresenter = presenter;
-        mLockPatternUtils = new LockPatternUtils(context);
         mHeadsUpManager = headsUpManager;
-        mKeyguardManager = context.getSystemService(KeyguardManager.class);
         mActivityLaunchAnimator = activityLaunchAnimator;
-        mBarService = IStatusBarService.Stub.asInterface(
-                ServiceManager.getService(Context.STATUS_BAR_SERVICE));
-        mCommandQueue = getComponent(context, CommandQueue.class);
-        mDreamManager = IDreamManager.Stub.asInterface(
-                ServiceManager.checkService(DreamService.DREAM_SERVICE));
-
+        mBarService = statusBarService;
+        mCommandQueue = commandQueue;
+        mKeyguardManager = keyguardManager;
+        mDreamManager = dreamManager;
+        mRemoteInputManager = remoteInputManager;
+        mLockscreenUserManager = lockscreenUserManager;
+        mShadeController = shadeController;
+        mKeyguardMonitor = keyguardMonitor;
+        mActivityStarter = activityStarter;
+        mEntryManager = entryManager;
+        mStatusBarStateController = statusBarStateController;
+        mNotificationInterruptionStateProvider = notificationInterruptionStateProvider;
+        mMetricsLogger = metricsLogger;
+        mAssistManager = assistManager;
+        mGroupManager = groupManager;
+        mLockPatternUtils = lockPatternUtils;
         mEntryManager.addNotificationEntryListener(new NotificationEntryListener() {
             @Override
             public void onPendingEntryAdded(NotificationEntry entry) {
                 handleFullScreenIntent(entry);
             }
         });
+        mStatusBarRemoteInputCallback = remoteInputCallback;
     }
 
     /**
@@ -248,7 +262,6 @@
             ActivityManager.getService().resumeAppSwitches();
         } catch (RemoteException e) {
         }
-        int launchResult;
         // If we are launching a work activity and require to launch
         // separate work challenge, we defer the activity action and cancel
         // notification until work challenge is unlocked.
@@ -277,24 +290,7 @@
             fillInIntent = new Intent().putExtra(Notification.EXTRA_REMOTE_INPUT_DRAFT,
                     remoteInputText.toString());
         }
-        RemoteAnimationAdapter adapter = mActivityLaunchAnimator.getLaunchAnimation(
-                row, wasOccluded);
-        try {
-            if (adapter != null) {
-                ActivityTaskManager.getService()
-                        .registerRemoteAnimationForNextActivityStart(
-                                intent.getCreatorPackage(), adapter);
-            }
-            launchResult = intent.sendAndReturnResult(mContext, 0, fillInIntent, null,
-                    null, null, getActivityOptions(adapter));
-            mActivityLaunchAnimator.setLaunchResult(launchResult, isActivityIntent);
-        } catch (RemoteException | PendingIntent.CanceledException e) {
-            // the stack trace isn't very helpful here.
-            // Just log the exception message.
-            Log.w(TAG, "Sending contentIntent failed: " + e);
-
-            // TODO: Dismiss Keyguard.
-        }
+        startNotificationIntent(intent, fillInIntent, row, wasOccluded, isActivityIntent);
         if (isActivityIntent) {
             mAssistManager.hideAssist();
         }
@@ -327,6 +323,27 @@
         mIsCollapsingToShowActivityOverLockscreen = false;
     }
 
+    private void startNotificationIntent(PendingIntent intent, Intent fillInIntent,
+            ExpandableNotificationRow row, boolean wasOccluded, boolean isActivityIntent) {
+        RemoteAnimationAdapter adapter = mActivityLaunchAnimator.getLaunchAnimation(row,
+                wasOccluded);
+        try {
+            if (adapter != null) {
+                ActivityTaskManager.getService()
+                        .registerRemoteAnimationForNextActivityStart(
+                                intent.getCreatorPackage(), adapter);
+            }
+            int launchResult = intent.sendAndReturnResult(mContext, 0, fillInIntent, null,
+                    null, null, getActivityOptions(adapter));
+            mActivityLaunchAnimator.setLaunchResult(launchResult, isActivityIntent);
+        } catch (RemoteException | PendingIntent.CanceledException e) {
+            // the stack trace isn't very helpful here.
+            // Just log the exception message.
+            Log.w(TAG, "Sending contentIntent failed: " + e);
+            // TODO: Dismiss Keyguard.
+        }
+    }
+
     @Override
     public void startNotificationGutsIntent(final Intent intent, final int appUid,
             ExpandableNotificationRow row) {
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarTouchableRegionManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarTouchableRegionManager.java
new file mode 100644
index 0000000..603c969
--- /dev/null
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarTouchableRegionManager.java
@@ -0,0 +1,173 @@
+/*
+ * 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 android.annotation.NonNull;
+import android.content.Context;
+import android.content.res.Configuration;
+import android.content.res.Resources;
+import android.graphics.Rect;
+import android.view.View;
+import android.view.ViewTreeObserver;
+import android.view.ViewTreeObserver.OnComputeInternalInsetsListener;
+
+import com.android.systemui.Dependency;
+import com.android.systemui.assist.AssistManager;
+import com.android.systemui.bubbles.BubbleController;
+import com.android.systemui.statusbar.policy.ConfigurationController;
+import com.android.systemui.statusbar.policy.ConfigurationController.ConfigurationListener;
+
+/**
+ * Manages what parts of the status bar are touchable. Clients are primarily UI that displays in the
+ * status bar even though the UI doesn't look like part of the status bar.
+ */
+public final class StatusBarTouchableRegionManager implements
+        OnComputeInternalInsetsListener, ConfigurationListener {
+
+    private final AssistManager mAssistManager = Dependency.get(AssistManager.class);
+    private final BubbleController mBubbleController = Dependency.get(BubbleController.class);
+    private final Context mContext;
+    private final HeadsUpManagerPhone mHeadsUpManager;
+    private boolean mIsStatusBarExpanded = false;
+    private boolean mShouldAdjustInsets = false;
+    private final StatusBar mStatusBar;
+    private int mStatusBarHeight;
+    private final View mStatusBarWindowView;
+    private boolean mForceCollapsedUntilLayout = false;
+
+    public StatusBarTouchableRegionManager(@NonNull Context context,
+                                           HeadsUpManagerPhone headsUpManager,
+                                           @NonNull StatusBar statusBar,
+                                           @NonNull View statusBarWindowView) {
+        mContext = context;
+        mHeadsUpManager = headsUpManager;
+        mStatusBar = statusBar;
+        mStatusBarWindowView = statusBarWindowView;
+
+        initResources();
+
+        mAssistManager.setAssistSysUiChangeListener((isVisible) -> {
+            updateTouchableRegion();
+        });
+        mBubbleController.setBubbleStateChangeListener((hasBubbles) -> {
+            updateTouchableRegion();
+        });
+        Dependency.get(ConfigurationController.class).addCallback(this);
+    }
+
+    /**
+     * Set the touchable portion of the status bar based on what elements are visible.
+     */
+    public void updateTouchableRegion() {
+        boolean hasCutoutInset = (mStatusBarWindowView != null)
+                && (mStatusBarWindowView.getRootWindowInsets() != null)
+                && (mStatusBarWindowView.getRootWindowInsets().getDisplayCutout() != null);
+        boolean shouldObserve =
+                mHeadsUpManager.hasPinnedHeadsUp() || mHeadsUpManager.isHeadsUpGoingAway()
+                        || mBubbleController.hasBubbles()
+                        || mAssistManager.hasAssistUi()
+                        || mForceCollapsedUntilLayout
+                        || hasCutoutInset;
+        if (shouldObserve == mShouldAdjustInsets) {
+            return;
+        }
+
+        if (shouldObserve) {
+            mStatusBarWindowView.getViewTreeObserver().addOnComputeInternalInsetsListener(this);
+            mStatusBarWindowView.requestLayout();
+        } else {
+            mStatusBarWindowView.getViewTreeObserver().removeOnComputeInternalInsetsListener(this);
+        }
+        mShouldAdjustInsets = shouldObserve;
+    }
+
+    /**
+     * Calls {@code updateTouchableRegion()} after a layout pass completes.
+     */
+    public void updateTouchableRegionAfterLayout() {
+        mForceCollapsedUntilLayout = true;
+        mStatusBarWindowView.addOnLayoutChangeListener(new View.OnLayoutChangeListener() {
+            @Override
+            public void onLayoutChange(View v, int left, int top, int right, int bottom,
+                                       int oldLeft,
+                                       int oldTop, int oldRight, int oldBottom) {
+                if (mStatusBarWindowView.getHeight() <= mStatusBarHeight) {
+                    mStatusBarWindowView.removeOnLayoutChangeListener(this);
+                    mForceCollapsedUntilLayout = false;
+                    updateTouchableRegion();
+                }
+            }
+        });
+    }
+
+    /**
+     * Notify that the status bar panel gets expanded or collapsed.
+     *
+     * @param isExpanded True to notify expanded, false to notify collapsed.
+     */
+    public void setIsStatusBarExpanded(boolean isExpanded) {
+        if (isExpanded != mIsStatusBarExpanded) {
+            mIsStatusBarExpanded = isExpanded;
+            if (isExpanded) {
+                // make sure our state is sane
+                mForceCollapsedUntilLayout = false;
+            }
+            updateTouchableRegion();
+        }
+    }
+
+    @Override
+    public void onComputeInternalInsets(ViewTreeObserver.InternalInsetsInfo info) {
+        if (mIsStatusBarExpanded || mStatusBar.isBouncerShowing()) {
+            // The touchable region is always the full area when expanded
+            return;
+        }
+
+        mHeadsUpManager.updateTouchableRegion(info);
+
+        Rect bubbleRect = mBubbleController.getTouchableRegion();
+        if (bubbleRect != null) {
+            info.touchableRegion.union(bubbleRect);
+        }
+
+        Rect assistRect = mAssistManager.getTouchableRegion();
+        if (assistRect != null) {
+            info.touchableRegion.union(assistRect);
+        }
+    }
+
+    @Override
+    public void onConfigChanged(Configuration newConfig) {
+        initResources();
+    }
+
+    @Override
+    public void onDensityOrFontScaleChanged() {
+        initResources();
+    }
+
+    @Override
+    public void onOverlayChanged() {
+        initResources();
+    }
+
+    private void initResources() {
+        Resources resources = mContext.getResources();
+        mStatusBarHeight = resources.getDimensionPixelSize(
+                com.android.internal.R.dimen.status_bar_height);
+    }
+}
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java
index ce69a48..8d71ab8 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/phone/StatusBarWindowController.java
@@ -280,6 +280,15 @@
         }
     }
 
+    private void applyStatusBarColorSpaceAgnosticFlag(State state) {
+        if (!isExpanded(state)) {
+            mLpChanged.privateFlags |= WindowManager.LayoutParams.PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC;
+        } else {
+            mLpChanged.privateFlags &=
+                    ~WindowManager.LayoutParams.PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC;
+        }
+    }
+
     private void apply(State state) {
         applyKeyguardFlags(state);
         applyForceStatusBarVisibleFlag(state);
@@ -294,6 +303,7 @@
         applyBrightness(state);
         applyHasTopUi(state);
         applyNotTouchable(state);
+        applyStatusBarColorSpaceAgnosticFlag(state);
         if (mLp != null && mLp.copyFrom(mLpChanged) != 0) {
             mWindowManager.updateViewLayout(mStatusBarView, mLp);
         }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java
index 5e94152..111cdd2 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryController.java
@@ -16,6 +16,8 @@
 
 package com.android.systemui.statusbar.policy;
 
+import android.annotation.Nullable;
+
 import com.android.systemui.DemoMode;
 import com.android.systemui.Dumpable;
 import com.android.systemui.statusbar.policy.BatteryController.BatteryStateChangeCallback;
@@ -78,6 +80,6 @@
          * The callback
          * @param estimate the estimate
          */
-        void onBatteryRemainingEstimateRetrieved(String estimate);
+        void onBatteryRemainingEstimateRetrieved(@Nullable String estimate);
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java
index af3c96f..273fa55 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/BatteryControllerImpl.java
@@ -226,7 +226,7 @@
 
         String percentage = NumberFormat.getPercentInstance().format((double) mLevel / 100.0);
         return PowerUtil.getBatteryRemainingShortStringFormatted(
-                mContext, mEstimate.estimateMillis);
+                mContext, mEstimate.getEstimateMillis());
     }
 
     private void updateEstimateInBackground() {
@@ -237,10 +237,10 @@
 
         mFetchingEstimate = true;
         Dependency.get(Dependency.BG_HANDLER).post(() -> {
-            mEstimate = mEstimates.getEstimate();
+            // Only fetch the estimate if they are enabled
+            mEstimate = mEstimates.isHybridNotificationEnabled() ? mEstimates.getEstimate() : null;
             mLastEstimateTimestamp = System.currentTimeMillis();
             mFetchingEstimate = false;
-
             Dependency.get(Dependency.MAIN_HANDLER).post(this::notifyEstimateFetchCallbacks);
         });
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
index 4299af7..c2c3f81 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/Clock.java
@@ -288,7 +288,7 @@
     @Override
     public void onTuningChanged(String key, String newValue) {
         if (CLOCK_SECONDS.equals(key)) {
-            mShowSeconds = newValue != null && Integer.parseInt(newValue) != 0;
+            mShowSeconds = TunerService.parseIntegerSwitch(newValue, false);
             updateShowSeconds();
         } else {
             setClockVisibleByUser(!StatusBarIconController.getIconBlacklist(newValue)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java
index 0461057..d1a2253 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HeadsUpManager.java
@@ -26,8 +26,10 @@
 import android.provider.Settings;
 import android.util.ArrayMap;
 import android.util.Log;
+import android.view.accessibility.AccessibilityManager;
 
 import com.android.internal.logging.MetricsLogger;
+import com.android.systemui.Dependency;
 import com.android.systemui.R;
 import com.android.systemui.statusbar.AlertingNotificationManager;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
@@ -55,9 +57,11 @@
     protected int mUser;
 
     private final ArrayMap<String, Long> mSnoozedPackages;
+    private final AccessibilityManagerWrapper mAccessibilityMgr;
 
     public HeadsUpManager(@NonNull final Context context) {
         mContext = context;
+        mAccessibilityMgr = Dependency.get(AccessibilityManagerWrapper.class);
         Resources resources = context.getResources();
         mMinimumDisplayTime = resources.getInteger(R.integer.heads_up_notification_minimum_time);
         mAutoDismissNotificationDecay = resources.getInteger(R.integer.heads_up_notification_decay);
@@ -409,5 +413,22 @@
             // The actual post time will be just after the heads-up really slided in
             return super.calculatePostTime() + mTouchAcceptanceDelay;
         }
+
+        @Override
+        protected long calculateFinishTime() {
+            return mPostTime + getRecommendedTimeoutMillis();
+        }
+
+        /**
+         * Get user-preferred or default timeout duration. The larger one will be returned.
+         * @return milliseconds before auto-dismiss
+         */
+        private int getRecommendedTimeoutMillis() {
+            return mAccessibilityMgr.getRecommendedTimeoutMillis(
+                    mAutoDismissNotificationDecay,
+                    AccessibilityManager.FLAG_CONTENT_CONTROLS
+                            | AccessibilityManager.FLAG_CONTENT_ICONS
+                            | AccessibilityManager.FLAG_CONTENT_TEXT);
+        }
     }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
index b561ac1..db2be0e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/HotspotControllerImpl.java
@@ -93,14 +93,28 @@
         return null;
     }
 
+    /**
+     * Adds {@code callback} to the controller. The controller will update the callback on state
+     * changes. It will immediately trigger the callback added to notify current state.
+     * @param callback
+     */
     @Override
     public void addCallback(Callback callback) {
         synchronized (mCallbacks) {
             if (callback == null || mCallbacks.contains(callback)) return;
             if (DEBUG) Log.d(TAG, "addCallback " + callback);
             mCallbacks.add(callback);
-
-            updateWifiStateListeners(!mCallbacks.isEmpty());
+            if (mWifiManager != null) {
+                if (mCallbacks.size() == 1) {
+                    mWifiManager.registerSoftApCallback(this, mMainHandler);
+                } else {
+                    // mWifiManager#registerSoftApCallback triggers a call to onNumClientsChanged
+                    // on the Main Handler. In order to always update the callback on added, we
+                    // make this call when adding callbacks after the first.
+                    mMainHandler.post(() ->
+                            callback.onHotspotChanged(isHotspotEnabled(), mNumConnectedDevices));
+                }
+            }
         }
     }
 
@@ -110,27 +124,9 @@
         if (DEBUG) Log.d(TAG, "removeCallback " + callback);
         synchronized (mCallbacks) {
             mCallbacks.remove(callback);
-            updateWifiStateListeners(!mCallbacks.isEmpty());
-        }
-    }
-
-    /**
-     * Updates the wifi state receiver to either start or stop listening to get updates to the
-     * hotspot status. Additionally starts listening to wifi manager state to track the number of
-     * connected devices.
-     *
-     * @param shouldListen whether we should start listening to various wifi statuses
-     */
-    private void updateWifiStateListeners(boolean shouldListen) {
-        if (mWifiManager == null) {
-            return;
-        }
-        if (shouldListen) {
-            mWifiManager.registerSoftApCallback(
-                    this,
-                    mMainHandler);
-        } else {
-            mWifiManager.unregisterSoftApCallback(this);
+            if (mCallbacks.isEmpty() && mWifiManager != null) {
+                mWifiManager.unregisterSoftApCallback(this);
+            }
         }
     }
 
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java
index d404982..024404d 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyButtonView.java
@@ -17,6 +17,7 @@
 package com.android.systemui.statusbar.policy;
 
 import static android.view.Display.INVALID_DISPLAY;
+import static android.view.KeyEvent.KEYCODE_UNKNOWN;
 import static android.view.accessibility.AccessibilityNodeInfo.ACTION_CLICK;
 import static android.view.accessibility.AccessibilityNodeInfo.ACTION_LONG_CLICK;
 
@@ -101,7 +102,7 @@
         TypedArray a = context.obtainStyledAttributes(attrs, R.styleable.KeyButtonView,
                 defStyle, 0);
 
-        mCode = a.getInteger(R.styleable.KeyButtonView_keyCode, 0);
+        mCode = a.getInteger(R.styleable.KeyButtonView_keyCode, KEYCODE_UNKNOWN);
 
         mSupportsLongpress = a.getBoolean(R.styleable.KeyButtonView_keyRepeat, true);
         mPlaySounds = a.getBoolean(R.styleable.KeyButtonView_playSound, true);
@@ -124,7 +125,7 @@
 
     @Override
     public boolean isClickable() {
-        return mCode != 0 || super.isClickable();
+        return mCode != KEYCODE_UNKNOWN || super.isClickable();
     }
 
     public void setCode(int code) {
@@ -163,7 +164,7 @@
     @Override
     public void onInitializeAccessibilityNodeInfo(AccessibilityNodeInfo info) {
         super.onInitializeAccessibilityNodeInfo(info);
-        if (mCode != 0) {
+        if (mCode != KEYCODE_UNKNOWN) {
             info.addAction(new AccessibilityNodeInfo.AccessibilityAction(ACTION_CLICK, null));
             if (mSupportsLongpress || isLongClickable()) {
                 info.addAction(
@@ -182,13 +183,13 @@
 
     @Override
     public boolean performAccessibilityActionInternal(int action, Bundle arguments) {
-        if (action == ACTION_CLICK && mCode != 0) {
+        if (action == ACTION_CLICK && mCode != KEYCODE_UNKNOWN) {
             sendEvent(KeyEvent.ACTION_DOWN, 0, SystemClock.uptimeMillis());
             sendEvent(KeyEvent.ACTION_UP, 0);
             sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
             playSoundEffect(SoundEffectConstants.CLICK);
             return true;
-        } else if (action == ACTION_LONG_CLICK && mCode != 0) {
+        } else if (action == ACTION_LONG_CLICK && mCode != KEYCODE_UNKNOWN) {
             sendEvent(KeyEvent.ACTION_DOWN, KeyEvent.FLAG_LONG_PRESS);
             sendEvent(KeyEvent.ACTION_UP, 0);
             sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_LONG_CLICKED);
@@ -197,6 +198,7 @@
         return super.performAccessibilityActionInternal(action, arguments);
     }
 
+    @Override
     public boolean onTouchEvent(MotionEvent ev) {
         final boolean showSwipeUI = mOverviewProxyService.shouldShowSwipeUpUI();
         final int action = ev.getAction();
@@ -218,7 +220,7 @@
                 // Use raw X and Y to detect gestures in case a parent changes the x and y values
                 mTouchDownX = (int) ev.getRawX();
                 mTouchDownY = (int) ev.getRawY();
-                if (mCode != 0) {
+                if (mCode != KEYCODE_UNKNOWN) {
                     sendEvent(KeyEvent.ACTION_DOWN, 0, mDownTime);
                 } else {
                     // Provide the same haptic feedback that the system offers for virtual keys.
@@ -249,7 +251,7 @@
                 break;
             case MotionEvent.ACTION_CANCEL:
                 setPressed(false);
-                if (mCode != 0) {
+                if (mCode != KEYCODE_UNKNOWN) {
                     sendEvent(KeyEvent.ACTION_UP, KeyEvent.FLAG_CANCELED);
                 }
                 removeCallbacks(mCheckLongPress);
@@ -269,7 +271,7 @@
                     // and it feels weird to sometimes get a release haptic and other times not.
                     performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY_RELEASE);
                 }
-                if (mCode != 0) {
+                if (mCode != KEYCODE_UNKNOWN) {
                     if (doIt) {
                         sendEvent(KeyEvent.ACTION_UP, 0);
                         sendAccessibilityEvent(AccessibilityEvent.TYPE_VIEW_CLICKED);
@@ -299,7 +301,7 @@
         sendEvent(action, flags, SystemClock.uptimeMillis());
     }
 
-    void sendEvent(int action, int flags, long when) {
+    private void sendEvent(int action, int flags, long when) {
         mMetricsLogger.write(new LogMaker(MetricsEvent.ACTION_NAV_BUTTON_EVENT)
                 .setType(MetricsEvent.TYPE_ACTION)
                 .setSubtype(mCode)
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java
index aba2377..01498e6 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/KeyguardMonitor.java
@@ -29,6 +29,25 @@
     long getKeyguardFadingAwayDelay();
     long calculateGoingToFullShadeDelay();
 
+    default boolean isDeviceInteractive() {
+        return false;
+    }
+
+    default void setLaunchTransitionFadingAway(boolean b) {
+    }
+
+    default void notifyKeyguardGoingAway(boolean b) {
+    }
+
+    default void notifyKeyguardFadingAway(long delay, long fadeoutDuration) {
+    }
+
+    default void notifyKeyguardDoneFading() {
+    }
+
+    default void notifyKeyguardState(boolean showing, boolean methodSecure, boolean occluded) {
+    }
+
     interface Callback {
         void onKeyguardShowingChanged();
     }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
index 3deede0..c8f389e 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/MobileSignalController.java
@@ -22,7 +22,7 @@
 import android.os.Handler;
 import android.os.Looper;
 import android.provider.Settings.Global;
-import android.telephony.NetworkRegistrationState;
+import android.telephony.NetworkRegistrationInfo;
 import android.telephony.PhoneStateListener;
 import android.telephony.ServiceState;
 import android.telephony.SignalStrength;
@@ -474,8 +474,8 @@
     private MobileIconGroup getNr5GIconGroup() {
         if (mServiceState == null) return null;
 
-        int nrStatus = mServiceState.getNrStatus();
-        if (nrStatus == NetworkRegistrationState.NR_STATUS_CONNECTED) {
+        int nrState = mServiceState.getNrState();
+        if (nrState == NetworkRegistrationInfo.NR_STATE_CONNECTED) {
             // Check if the NR 5G is using millimeter wave and the icon is config.
             if (mServiceState.getNrFrequencyRange() == ServiceState.FREQUENCY_RANGE_MMWAVE) {
                 if (mConfig.nr5GIconMap.containsKey(Config.NR_CONNECTED_MMWAVE)) {
@@ -488,11 +488,11 @@
             if (mConfig.nr5GIconMap.containsKey(Config.NR_CONNECTED)) {
                 return mConfig.nr5GIconMap.get(Config.NR_CONNECTED);
             }
-        } else if (nrStatus == NetworkRegistrationState.NR_STATUS_NOT_RESTRICTED) {
+        } else if (nrState == NetworkRegistrationInfo.NR_STATE_NOT_RESTRICTED) {
             if (mConfig.nr5GIconMap.containsKey(Config.NR_NOT_RESTRICTED)) {
                 return mConfig.nr5GIconMap.get(Config.NR_NOT_RESTRICTED);
             }
-        } else if (nrStatus == NetworkRegistrationState.NR_STATUS_RESTRICTED) {
+        } else if (nrState == NetworkRegistrationInfo.NR_STATE_RESTRICTED) {
             if (mConfig.nr5GIconMap.containsKey(Config.NR_RESTRICTED)) {
                 return mConfig.nr5GIconMap.get(Config.NR_RESTRICTED);
             }
diff --git a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
index f79ad71..f4d6237 100644
--- a/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/statusbar/policy/NetworkControllerImpl.java
@@ -21,7 +21,9 @@
 import static android.net.wifi.WifiManager.TrafficStateCallback.DATA_ACTIVITY_INOUT;
 import static android.net.wifi.WifiManager.TrafficStateCallback.DATA_ACTIVITY_NONE;
 import static android.net.wifi.WifiManager.TrafficStateCallback.DATA_ACTIVITY_OUT;
+import static android.telephony.PhoneStateListener.LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE;
 
+import static com.android.internal.telephony.PhoneConstants.MAX_PHONE_COUNT_DUAL_SIM;
 import static com.android.systemui.Dependency.BG_LOOPER_NAME;
 
 import android.content.BroadcastReceiver;
@@ -41,6 +43,7 @@
 import android.os.PersistableBundle;
 import android.provider.Settings;
 import android.telephony.CarrierConfigManager;
+import android.telephony.PhoneStateListener;
 import android.telephony.ServiceState;
 import android.telephony.SignalStrength;
 import android.telephony.SubscriptionInfo;
@@ -107,6 +110,16 @@
     private final CurrentUserTracker mUserTracker;
     private Config mConfig;
 
+    private PhoneStateListener mPhoneStateListener = new PhoneStateListener() {
+        @Override
+        public void onActiveDataSubscriptionIdChanged(int subId) {
+            mActiveMobileDataSubscription = subId;
+            doUpdateMobileControllers();
+        }
+    };
+
+    private int mActiveMobileDataSubscription = SubscriptionManager.INVALID_SUBSCRIPTION_ID;
+
     // Subcontrollers.
     @VisibleForTesting
     final WifiSignalController mWifiSignalController;
@@ -281,6 +294,7 @@
             mSubscriptionListener = new SubListener();
         }
         mSubscriptionManager.addOnSubscriptionsChangedListener(mSubscriptionListener);
+        mPhone.listen(mPhoneStateListener, LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE);
 
         // broadcasts
         IntentFilter filter = new IntentFilter();
@@ -525,6 +539,7 @@
 
     @VisibleForTesting
     void handleConfigurationChanged() {
+        updateMobileControllers();
         for (int i = 0; i < mMobileSignalControllers.size(); i++) {
             MobileSignalController controller = mMobileSignalControllers.valueAt(i);
             controller.setConfiguration(mConfig);
@@ -539,13 +554,39 @@
         doUpdateMobileControllers();
     }
 
+    private void filterMobileSubscriptionInSameGroup(List<SubscriptionInfo> subscriptions) {
+        if (subscriptions.size() == MAX_PHONE_COUNT_DUAL_SIM) {
+            SubscriptionInfo info1 = subscriptions.get(0);
+            SubscriptionInfo info2 = subscriptions.get(1);
+            if (info1.getGroupUuid() != null && info1.getGroupUuid().equals(info2.getGroupUuid())) {
+                // If both subscriptions are primary, show both.
+                if (!info1.isOpportunistic() && !info2.isOpportunistic()) return;
+
+                // If carrier required, always show signal bar of primary subscription.
+                // Otherwise, show whichever subscription is currently active for Internet.
+                boolean alwaysShowPrimary = CarrierConfigManager.getDefaultConfig()
+                        .getBoolean(CarrierConfigManager
+                        .KEY_ALWAYS_SHOW_PRIMARY_SIGNAL_BAR_IN_OPPORTUNISTIC_NETWORK_BOOLEAN);
+                if (alwaysShowPrimary) {
+                    subscriptions.remove(info1.isOpportunistic() ? info1 : info2);
+                } else {
+                    subscriptions.remove(info1.getSubscriptionId() == mActiveMobileDataSubscription
+                            ? info2 : info1);
+                }
+            }
+        }
+    }
+
     @VisibleForTesting
     void doUpdateMobileControllers() {
         List<SubscriptionInfo> subscriptions = mSubscriptionManager
-                .getActiveSubscriptionInfoList(true);
+                .getActiveSubscriptionInfoList(false);
         if (subscriptions == null) {
             subscriptions = Collections.emptyList();
         }
+
+        filterMobileSubscriptionInSameGroup(subscriptions);
+
         // If there have been no relevant changes to any of the subscriptions, we can leave as is.
         if (hasCorrectMobileControllers(subscriptions)) {
             // Even if the controllers are correct, make sure we have the right no sims state.
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerService.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerService.java
index 3bccdab..338e178 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/TunerService.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerService.java
@@ -107,4 +107,12 @@
         });
         dialog.show();
     }
+
+    public static boolean parseIntegerSwitch(String value, boolean defaultValue) {
+        try {
+            return value != null ? Integer.parseInt(value) != 0 : defaultValue;
+        } catch (NumberFormatException e) {
+            return defaultValue;
+        }
+    }
 }
diff --git a/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java b/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java
index 2df9000..52b58d4 100644
--- a/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java
+++ b/packages/SystemUI/src/com/android/systemui/tuner/TunerSwitch.java
@@ -39,7 +39,7 @@
 
     @Override
     public void onTuningChanged(String key, String newValue) {
-        setChecked(newValue != null ? Integer.parseInt(newValue) != 0 : mDefault);
+        setChecked(TunerService.parseIntegerSwitch(newValue, mDefault));
     }
 
     @Override
diff --git a/packages/SystemUI/src/com/android/systemui/util/InjectionInflationController.java b/packages/SystemUI/src/com/android/systemui/util/InjectionInflationController.java
index c6636b4..e6b6672 100644
--- a/packages/SystemUI/src/com/android/systemui/util/InjectionInflationController.java
+++ b/packages/SystemUI/src/com/android/systemui/util/InjectionInflationController.java
@@ -24,6 +24,7 @@
 import android.view.View;
 
 import com.android.systemui.SystemUIFactory;
+import com.android.systemui.qs.QSCarrierGroup;
 import com.android.systemui.qs.QSFooterImpl;
 import com.android.systemui.qs.QuickStatusBarHeader;
 import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
@@ -124,6 +125,11 @@
          * Creates the NotificationPanelView.
          */
         NotificationPanelView createPanelView();
+
+        /**
+         * Creates the QSCarrierGroup
+         */
+        QSCarrierGroup createQSCarrierGroup();
     }
 
     /**
diff --git a/packages/SystemUI/src/com/android/systemui/volume/Events.java b/packages/SystemUI/src/com/android/systemui/volume/Events.java
index 1596ddb..6e740b8 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/Events.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/Events.java
@@ -55,6 +55,7 @@
     public static final int EVENT_RINGER_TOGGLE = 18; // (ringer_mode)
     public static final int EVENT_SHOW_USB_OVERHEAT_ALARM = 19; // (reason|int) (keyguard|bool)
     public static final int EVENT_DISMISS_USB_OVERHEAT_ALARM = 20; // (reason|int) (keyguard|bool)
+    public static final int EVENT_ODI_CAPTIONS_CLICK = 21;
 
     private static final String[] EVENT_TAGS = {
             "show_dialog",
@@ -77,7 +78,8 @@
             "zen_mode_config_changed",
             "ringer_toggle",
             "show_usb_overheat_alarm",
-            "dismiss_usb_overheat_alarm"
+            "dismiss_usb_overheat_alarm",
+            "odi_captions_click"
     };
 
     public static final int DISMISS_REASON_UNKNOWN = 0;
@@ -90,6 +92,7 @@
     public static final int DISMISS_STREAM_GONE = 7;
     public static final int DISMISS_REASON_OUTPUT_CHOOSER = 8;
     public static final int DISMISS_REASON_USB_OVERHEAD_ALARM_CHANGED = 9;
+    public static final int DISMISS_REASON_ODI_CAPTIONS_CLICKED = 10;
     public static final String[] DISMISS_REASONS = {
             "unknown",
             "touch_outside",
@@ -100,7 +103,8 @@
             "done_clicked",
             "a11y_stream_changed",
             "output_chooser",
-            "usb_temperature_below_threshold"
+            "usb_temperature_below_threshold",
+            "odi_captions_clicked"
     };
 
     public static final int SHOW_REASON_UNKNOWN = 0;
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java
index 0805677..d2f185a 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogComponent.java
@@ -101,28 +101,23 @@
 
     @Override
     public void onTuningChanged(String key, String newValue) {
+        boolean volumeDownToEnterSilent = mVolumePolicy.volumeDownToEnterSilent;
+        boolean volumeUpToExitSilent = mVolumePolicy.volumeUpToExitSilent;
+        boolean doNotDisturbWhenSilent = mVolumePolicy.doNotDisturbWhenSilent;
+
         if (VOLUME_DOWN_SILENT.equals(key)) {
-            final boolean volumeDownToEnterSilent = newValue != null
-                    ? Integer.parseInt(newValue) != 0
-                    : DEFAULT_VOLUME_DOWN_TO_ENTER_SILENT;
-            setVolumePolicy(volumeDownToEnterSilent,
-                    mVolumePolicy.volumeUpToExitSilent, mVolumePolicy.doNotDisturbWhenSilent,
-                    mVolumePolicy.vibrateToSilentDebounce);
+            volumeDownToEnterSilent =
+                TunerService.parseIntegerSwitch(newValue, DEFAULT_VOLUME_DOWN_TO_ENTER_SILENT);
         } else if (VOLUME_UP_SILENT.equals(key)) {
-            final boolean volumeUpToExitSilent = newValue != null
-                    ? Integer.parseInt(newValue) != 0
-                    : DEFAULT_VOLUME_UP_TO_EXIT_SILENT;
-            setVolumePolicy(mVolumePolicy.volumeDownToEnterSilent,
-                    volumeUpToExitSilent, mVolumePolicy.doNotDisturbWhenSilent,
-                    mVolumePolicy.vibrateToSilentDebounce);
+            volumeUpToExitSilent =
+                TunerService.parseIntegerSwitch(newValue, DEFAULT_VOLUME_UP_TO_EXIT_SILENT);
         } else if (VOLUME_SILENT_DO_NOT_DISTURB.equals(key)) {
-            final boolean doNotDisturbWhenSilent = newValue != null
-                    ? Integer.parseInt(newValue) != 0
-                    : DEFAULT_DO_NOT_DISTURB_WHEN_SILENT;
-            setVolumePolicy(mVolumePolicy.volumeDownToEnterSilent,
-                    mVolumePolicy.volumeUpToExitSilent, doNotDisturbWhenSilent,
-                    mVolumePolicy.vibrateToSilentDebounce);
+            doNotDisturbWhenSilent =
+                TunerService.parseIntegerSwitch(newValue, DEFAULT_DO_NOT_DISTURB_WHEN_SILENT);
         }
+
+        setVolumePolicy(volumeDownToEnterSilent, volumeUpToExitSilent, doNotDisturbWhenSilent,
+                mVolumePolicy.vibrateToSilentDebounce);
     }
 
     private void setVolumePolicy(boolean volumeDownToEnterSilent, boolean volumeUpToExitSilent,
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java
index 4c16297..9192a25 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogControllerImpl.java
@@ -48,6 +48,7 @@
 import android.provider.Settings;
 import android.service.notification.Condition;
 import android.service.notification.ZenModeConfig;
+import android.text.TextUtils;
 import android.util.ArrayMap;
 import android.util.Log;
 import android.view.accessibility.AccessibilityManager;
@@ -270,6 +271,22 @@
         mWorker.sendEmptyMessage(W.GET_STATE);
     }
 
+    public boolean areCaptionsEnabled() {
+        int currentValue = Settings.Secure.getInt(mContext.getContentResolver(),
+                Settings.Secure.ODI_CAPTIONS_ENABLED, 0);
+        return currentValue == 1;
+    }
+
+    public void setCaptionsEnabled(boolean isEnabled) {
+        Settings.Secure.putInt(mContext.getContentResolver(),
+                Settings.Secure.ODI_CAPTIONS_ENABLED, isEnabled ? 1 : 0);
+    }
+
+    public void getCaptionsComponentState() {
+        if (mDestroyed) return;
+        mWorker.sendEmptyMessage(W.GET_CAPTIONS_COMPONENT_STATE);
+    }
+
     public void notifyVisible(boolean visible) {
         if (mDestroyed) return;
         mWorker.obtainMessage(W.NOTIFY_VISIBLE, visible ? 1 : 0, 0).sendToTarget();
@@ -365,6 +382,38 @@
         }
     }
 
+    private void onGetCaptionsComponentStateW() {
+        try {
+            String componentNameString = mContext.getString(
+                    com.android.internal.R.string.config_defaultSystemCaptionsService);
+            if (TextUtils.isEmpty(componentNameString)) {
+                // component doesn't exist
+                mCallbacks.onCaptionComponentStateChanged(false);
+                return;
+            }
+
+            if (D.BUG) {
+                Log.i(TAG, String.format(
+                        "isCaptionsServiceEnabled componentNameString=%s", componentNameString));
+            }
+
+            ComponentName componentName = ComponentName.unflattenFromString(componentNameString);
+            if (componentName == null) {
+                mCallbacks.onCaptionComponentStateChanged(false);
+                return;
+            }
+
+            PackageManager packageManager = mContext.getPackageManager();
+            mCallbacks.onCaptionComponentStateChanged(
+                    packageManager.getComponentEnabledSetting(componentName)
+                    == PackageManager.COMPONENT_ENABLED_STATE_ENABLED);
+        } catch (Exception ex) {
+            Log.e(TAG,
+                    "isCaptionsServiceEnabled failed to check for captions component", ex);
+            mCallbacks.onCaptionComponentStateChanged(false);
+        }
+    }
+
     private void onAccessibilityModeChanged(Boolean showA11yStream) {
         mCallbacks.onAccessibilityModeChanged(showA11yStream);
     }
@@ -718,6 +767,7 @@
         private static final int USER_ACTIVITY = 13;
         private static final int SHOW_SAFETY_WARNING = 14;
         private static final int ACCESSIBILITY_MODE_CHANGED = 15;
+        private static final int GET_CAPTIONS_COMPONENT_STATE = 16;
 
         W(Looper looper) {
             super(looper);
@@ -740,8 +790,8 @@
                 case NOTIFY_VISIBLE: onNotifyVisibleW(msg.arg1 != 0); break;
                 case USER_ACTIVITY: onUserActivityW(); break;
                 case SHOW_SAFETY_WARNING: onShowSafetyWarningW(msg.arg1); break;
+                case GET_CAPTIONS_COMPONENT_STATE: onGetCaptionsComponentStateW(); break;
                 case ACCESSIBILITY_MODE_CHANGED: onAccessibilityModeChanged((Boolean) msg.obj);
-
             }
         }
     }
@@ -881,6 +931,15 @@
                 });
             }
         }
+
+        @Override
+        public void onCaptionComponentStateChanged(Boolean isComponentEnabled) {
+            boolean componentEnabled = isComponentEnabled == null ? false : isComponentEnabled;
+            for (final Map.Entry<Callbacks, Handler> entry : mCallbackMap.entrySet()) {
+                entry.getValue().post(
+                        () -> entry.getKey().onCaptionComponentStateChanged(componentEnabled));
+            }
+        }
     }
 
 
diff --git a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
index ffd8206..398b309 100644
--- a/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
+++ b/packages/SystemUI/src/com/android/systemui/volume/VolumeDialogImpl.java
@@ -29,6 +29,7 @@
 import static android.view.View.GONE;
 import static android.view.View.VISIBLE;
 
+import static com.android.systemui.volume.Events.DISMISS_REASON_ODI_CAPTIONS_CLICKED;
 import static com.android.systemui.volume.Events.DISMISS_REASON_SETTINGS_CLICKED;
 
 import android.animation.ObjectAnimator;
@@ -125,6 +126,8 @@
     private ViewGroup mDialogRowsView;
     private ViewGroup mRinger;
     private ImageButton mRingerIcon;
+    private ViewGroup mODICaptionsView;
+    private ImageButton mODICaptionsIcon;
     private View mSettingsView;
     private ImageButton mSettingsIcon;
     private FrameLayout mZenIcon;
@@ -240,6 +243,10 @@
             mRingerIcon = mRinger.findViewById(R.id.ringer_icon);
             mZenIcon = mRinger.findViewById(R.id.dnd_icon);
         }
+        mODICaptionsView = mDialog.findViewById(R.id.odi_captions);
+        if (mODICaptionsView != null) {
+            mODICaptionsIcon = mODICaptionsView.findViewById(R.id.odi_captions_icon);
+        }
         mSettingsView = mDialog.findViewById(R.id.settings_container);
         mSettingsIcon = mDialog.findViewById(R.id.settings);
 
@@ -270,6 +277,7 @@
         updateRowsH(getActiveRow());
         initRingerH();
         initSettingsH();
+        initODICaptionsH();
     }
 
     protected ViewGroup getDialogView() {
@@ -478,6 +486,42 @@
         updateRingerH();
     }
 
+    private void initODICaptionsH() {
+        if (mODICaptionsIcon != null) {
+            mODICaptionsIcon.setOnClickListener(v -> {
+                onCaptionIconClicked();
+                Events.writeEvent(mContext, Events.EVENT_ODI_CAPTIONS_CLICK);
+                dismissH(DISMISS_REASON_ODI_CAPTIONS_CLICKED);
+            });
+        }
+
+        mController.getCaptionsComponentState();
+    }
+
+    private void updateODICaptionsH(boolean isServiceComponentEnabled) {
+        if (mODICaptionsView != null) {
+            mODICaptionsView.setVisibility(isServiceComponentEnabled ? VISIBLE : GONE);
+        }
+
+        if (!isServiceComponentEnabled) return;
+
+        updateCaptionsIcon();
+    }
+
+    private void updateCaptionsIcon() {
+        mHandler.post(
+                mODICaptionsIcon.setImageResourceAsync(
+                        mController.areCaptionsEnabled()
+                                ? R.drawable.ic_volume_odi_captions
+                                : R.drawable.ic_volume_odi_captions_disabled));
+    }
+
+    private void onCaptionIconClicked() {
+        boolean isEnabled = mController.areCaptionsEnabled();
+        mController.setCaptionsEnabled(!isEnabled);
+        updateCaptionsIcon();
+    }
+
     private void incrementManualToggleCount() {
         ContentResolver cr = mContext.getContentResolver();
         int ringerCount = Settings.Secure.getInt(cr, Settings.Secure.MANUAL_RINGER_TOGGLE_COUNT, 0);
@@ -558,6 +602,7 @@
         mDialog.show();
         Events.writeEvent(mContext, Events.EVENT_SHOW_DIALOG, reason, mKeyguard.isKeyguardLocked());
         mController.notifyVisible(true);
+        mController.getCaptionsComponentState();
     }
 
     protected void rescheduleTimeoutH() {
@@ -1151,6 +1196,11 @@
             }
 
         }
+
+        @Override
+        public void onCaptionComponentStateChanged(Boolean isComponentEnabled) {
+            updateODICaptionsH(isComponentEnabled);
+        }
     };
 
     private final class H extends Handler {
diff --git a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchTest.java b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchTest.java
index b0d1106..29505a2 100644
--- a/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchTest.java
+++ b/packages/SystemUI/tests/src/com/android/keyguard/KeyguardClockSwitchTest.java
@@ -101,6 +101,8 @@
         // AND the plugin returns a view for the big clock
         ClockPlugin plugin = mock(ClockPlugin.class);
         when(plugin.getBigClockView()).thenReturn(mBigClock);
+        // AND in the keyguard state
+        mStateListener.onStateChanged(StatusBarState.KEYGUARD);
         // WHEN the plugin is connected
         mKeyguardClockSwitch.getClockChangedListener().onClockChanged(plugin);
         // THEN the big clock container is visible and it is the parent of the
@@ -166,6 +168,8 @@
         ClockPlugin plugin = mock(ClockPlugin.class);
         TextClock pluginView = new TextClock(getContext());
         when(plugin.getBigClockView()).thenReturn(pluginView);
+        // AND in the keyguard state
+        mStateListener.onStateChanged(StatusBarState.KEYGUARD);
         // WHEN the plugin is connected and then disconnected
         mKeyguardClockSwitch.getClockChangedListener().onClockChanged(plugin);
         mKeyguardClockSwitch.getClockChangedListener().onClockChanged(null);
@@ -245,21 +249,25 @@
     }
 
     @Test
-    public void onStateChanged_InvisibleInShade() {
+    public void onStateChanged_GoneInShade() {
         // GIVEN that the big clock container is visible
         mBigClockContainer.setVisibility(View.VISIBLE);
         mKeyguardClockSwitch.setBigClockContainer(mBigClockContainer);
         // WHEN transitioned to SHADE state
         mStateListener.onStateChanged(StatusBarState.SHADE);
-        // THEN the container is invisible.
-        assertThat(mBigClockContainer.getVisibility()).isEqualTo(View.INVISIBLE);
+        // THEN the container is gone.
+        assertThat(mBigClockContainer.getVisibility()).isEqualTo(View.GONE);
     }
 
     @Test
     public void onStateChanged_VisibleInKeyguard() {
-        // GIVEN that the big clock container is invisible
-        mBigClockContainer.setVisibility(View.INVISIBLE);
+        // GIVEN that the big clock container is gone
+        mBigClockContainer.setVisibility(View.GONE);
         mKeyguardClockSwitch.setBigClockContainer(mBigClockContainer);
+        // AND GIVEN that a plugin is active.
+        ClockPlugin plugin = mock(ClockPlugin.class);
+        when(plugin.getBigClockView()).thenReturn(mBigClock);
+        mKeyguardClockSwitch.getClockChangedListener().onClockChanged(plugin);
         // WHEN transitioned to KEYGUARD state
         mStateListener.onStateChanged(StatusBarState.KEYGUARD);
         // THEN the container is visible.
@@ -274,6 +282,8 @@
         ClockPlugin plugin = mock(ClockPlugin.class);
         when(plugin.getBigClockView()).thenReturn(mBigClock);
         mKeyguardClockSwitch.getClockChangedListener().onClockChanged(plugin);
+        // AND in the keyguard state
+        mStateListener.onStateChanged(StatusBarState.KEYGUARD);
         // WHEN the container is associated with the clock switch
         mKeyguardClockSwitch.setBigClockContainer(mBigClockContainer);
         // THEN the container remains visible.
@@ -281,20 +291,6 @@
     }
 
     @Test
-    public void setBigClockContainer_invisible() {
-        // GIVEN that the big clock container is invisible
-        mBigClockContainer.setVisibility(View.INVISIBLE);
-        // AND GIVEN that a plugin is active.
-        ClockPlugin plugin = mock(ClockPlugin.class);
-        when(plugin.getBigClockView()).thenReturn(mBigClock);
-        mKeyguardClockSwitch.getClockChangedListener().onClockChanged(plugin);
-        // WHEN the container is associated with the clock switch
-        mKeyguardClockSwitch.setBigClockContainer(mBigClockContainer);
-        // THEN the container remains invisible.
-        assertThat(mBigClockContainer.getVisibility()).isEqualTo(View.INVISIBLE);
-    }
-
-    @Test
     public void setBigClockContainer_gone() {
         // GIVEN that the big clock container is gone
         mBigClockContainer.setVisibility(View.GONE);
@@ -302,6 +298,8 @@
         ClockPlugin plugin = mock(ClockPlugin.class);
         when(plugin.getBigClockView()).thenReturn(mBigClock);
         mKeyguardClockSwitch.getClockChangedListener().onClockChanged(plugin);
+        // AND in the keyguard state
+        mStateListener.onStateChanged(StatusBarState.KEYGUARD);
         // WHEN the container is associated with the clock switch
         mKeyguardClockSwitch.setBigClockContainer(mBigClockContainer);
         // THEN the container is made visible.
diff --git a/packages/SystemUI/tests/src/com/android/systemui/SizeCompatModeActivityControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/SizeCompatModeActivityControllerTest.java
new file mode 100644
index 0000000..587005e
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/SizeCompatModeActivityControllerTest.java
@@ -0,0 +1,102 @@
+/*
+ * 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;
+
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.verify;
+
+import android.content.Context;
+import android.inputmethodservice.InputMethodService;
+import android.os.IBinder;
+import android.testing.AndroidTestingRunner;
+import android.view.View;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.SizeCompatModeActivityController.RestartActivityButton;
+import com.android.systemui.shared.system.ActivityManagerWrapper;
+import com.android.systemui.shared.system.TaskStackChangeListener;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentCaptor;
+import org.mockito.Mock;
+import org.mockito.MockitoAnnotations;
+
+/**
+ * runtest systemui -c com.android.systemui.SizeCompatModeActivityControllerTest
+ */
+@RunWith(AndroidTestingRunner.class)
+@SmallTest
+public class SizeCompatModeActivityControllerTest extends SysuiTestCase {
+    private static final int DISPLAY_ID = 0;
+
+    private SizeCompatModeActivityController mController;
+    private TaskStackChangeListener mTaskStackListener;
+    private @Mock ActivityManagerWrapper mMockAm;
+    private @Mock RestartActivityButton mMockButton;
+    private @Mock IBinder mMockActivityToken;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+
+        mController = new SizeCompatModeActivityController(mMockAm) {
+            @Override
+            RestartActivityButton createRestartButton(Context context) {
+                return mMockButton;
+            };
+        };
+        mController.mContext = mContext;
+
+        ArgumentCaptor<TaskStackChangeListener> listenerCaptor =
+                ArgumentCaptor.forClass(TaskStackChangeListener.class);
+        verify(mMockAm).registerTaskStackListener(listenerCaptor.capture());
+        mTaskStackListener = listenerCaptor.getValue();
+    }
+
+    @Test
+    public void testOnSizeCompatModeActivityChanged() {
+        // Verifies that the restart button is added with non-null component name.
+        mTaskStackListener.onSizeCompatModeActivityChanged(DISPLAY_ID, mMockActivityToken);
+        verify(mMockButton).show();
+        verify(mMockButton).updateLastTargetActivity(eq(mMockActivityToken));
+
+        // Verifies that the restart button is removed with null component name.
+        mTaskStackListener.onSizeCompatModeActivityChanged(DISPLAY_ID, null /* activityToken */);
+        verify(mMockButton).remove();
+    }
+
+    @Test
+    public void testChangeButtonVisibilityOnImeShowHide() {
+        mTaskStackListener.onSizeCompatModeActivityChanged(DISPLAY_ID, mMockActivityToken);
+
+        // Verifies that the restart button is hidden when IME is visible.
+        doReturn(View.VISIBLE).when(mMockButton).getVisibility();
+        mController.setImeWindowStatus(DISPLAY_ID, null /* token */, InputMethodService.IME_VISIBLE,
+                0 /* backDisposition */, false /* showImeSwitcher */);
+        verify(mMockButton).setVisibility(eq(View.GONE));
+
+        // Verifies that the restart button is visible when IME is hidden.
+        doReturn(View.GONE).when(mMockButton).getVisibility();
+        mController.setImeWindowStatus(DISPLAY_ID, null /* token */, 0 /* vis */,
+                0 /* backDisposition */, false /* showImeSwitcher */);
+        verify(mMockButton).setVisibility(eq(View.VISIBLE));
+    }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/appops/AppOpsControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/appops/AppOpsControllerTest.java
index 73ee0bd..b9afea1 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/appops/AppOpsControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/appops/AppOpsControllerTest.java
@@ -22,11 +22,14 @@
 import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.ArgumentMatchers.anyLong;
 import static org.mockito.ArgumentMatchers.anyString;
+import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
 
 import android.app.AppOpsManager;
+import android.content.pm.PackageManager;
 import android.os.UserHandle;
 import android.testing.AndroidTestingRunner;
 import android.testing.TestableLooper;
@@ -47,12 +50,15 @@
 @TestableLooper.RunWithLooper
 public class AppOpsControllerTest extends SysuiTestCase {
     private static final String TEST_PACKAGE_NAME = "test";
-    private static final int TEST_UID = 0;
-    private static final int TEST_UID_OTHER = 500000;
+    private static final int TEST_UID = UserHandle.getUid(0, 0);
+    private static final int TEST_UID_OTHER = UserHandle.getUid(1, 0);
+    private static final int TEST_UID_NON_USER_SENSITIVE = UserHandle.getUid(2, 0);
 
     @Mock
     private AppOpsManager mAppOpsManager;
     @Mock
+    private PackageManager mPackageManager;
+    @Mock
     private AppOpsController.Callback mCallback;
     @Mock
     private AppOpsControllerImpl.H mMockHandler;
@@ -65,6 +71,18 @@
 
         getContext().addMockSystemService(AppOpsManager.class, mAppOpsManager);
 
+        // All permissions of TEST_UID and TEST_UID_OTHER are user sensitive. None of
+        // TEST_UID_NON_USER_SENSITIVE are user sensitive.
+        getContext().setMockPackageManager(mPackageManager);
+        when(mPackageManager.getPermissionFlags(anyString(), anyString(),
+                eq(UserHandle.getUserHandleForUid(TEST_UID)))).thenReturn(
+                PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED);
+        when(mPackageManager.getPermissionFlags(anyString(), anyString(),
+                eq(UserHandle.getUserHandleForUid(TEST_UID_OTHER)))).thenReturn(
+                PackageManager.FLAG_PERMISSION_USER_SENSITIVE_WHEN_GRANTED);
+        when(mPackageManager.getPermissionFlags(anyString(), anyString(),
+                eq(UserHandle.getUserHandleForUid(TEST_UID_NON_USER_SENSITIVE)))).thenReturn(0);
+
         mController = new AppOpsControllerImpl(mContext, Dependency.get(Dependency.BG_LOOPER));
     }
 
@@ -157,6 +175,14 @@
     }
 
     @Test
+    public void nonUserSensitiveOpsAreIgnored() {
+        mController.onOpActiveChanged(AppOpsManager.OP_RECORD_AUDIO,
+                TEST_UID_NON_USER_SENSITIVE, TEST_PACKAGE_NAME, true);
+        assertEquals(0, mController.getActiveAppOpsForUser(
+                UserHandle.getUserId(TEST_UID_NON_USER_SENSITIVE)).size());
+    }
+
+    @Test
     public void opNotedScheduledForRemoval() {
         mController.setBGHandler(mMockHandler);
         mController.onOpNoted(AppOpsManager.OP_FINE_LOCATION, TEST_UID, TEST_PACKAGE_NAME,
diff --git a/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleControllerTest.java
index 0fd7834..4e9d892 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/bubbles/BubbleControllerTest.java
@@ -20,10 +20,13 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 import static org.mockito.Mockito.atLeastOnce;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.app.IActivityManager;
+import android.app.PendingIntent;
 import android.content.Context;
 import android.testing.AndroidTestingRunner;
 import android.testing.TestableLooper;
@@ -83,6 +86,9 @@
     @Mock
     private BubbleController.BubbleExpandListener mBubbleExpandListener;
 
+    @Mock
+    private PendingIntent mDeleteIntent;
+
     private BubbleData mBubbleData;
 
     @Before
@@ -98,9 +104,9 @@
 
         // Need notifications for bubbles
         mNotificationTestHelper = new NotificationTestHelper(mContext);
-        mRow = mNotificationTestHelper.createBubble();
-        mRow2 = mNotificationTestHelper.createBubble();
-        mNoChannelRow = mNotificationTestHelper.createBubble();
+        mRow = mNotificationTestHelper.createBubble(mDeleteIntent);
+        mRow2 = mNotificationTestHelper.createBubble(mDeleteIntent);
+        mNoChannelRow = mNotificationTestHelper.createBubble(mDeleteIntent);
 
         // Return non-null notification data from the NEM
         when(mNotificationEntryManager.getNotificationData()).thenReturn(mNotificationData);
@@ -141,11 +147,10 @@
 
         verify(mBubbleStateChangeListener).onHasBubblesChanged(true);
 
-        mBubbleController.removeBubble(mRow.getEntry().key);
+        mBubbleController.removeBubble(mRow.getEntry().key, BubbleController.DISMISS_USER_GESTURE);
         assertFalse(mStatusBarWindowController.getBubblesShowing());
         assertTrue(mRow.getEntry().isBubbleDismissed());
         verify(mNotificationEntryManager).updateNotifications();
-
         verify(mBubbleStateChangeListener).onHasBubblesChanged(false);
     }
 
@@ -155,7 +160,7 @@
         mBubbleController.updateBubble(mRow2.getEntry(), true /* updatePosition */);
         assertTrue(mBubbleController.hasBubbles());
 
-        mBubbleController.dismissStack();
+        mBubbleController.dismissStack(BubbleController.DISMISS_USER_GESTURE);
         assertFalse(mStatusBarWindowController.getBubblesShowing());
         verify(mNotificationEntryManager).updateNotifications();
         assertTrue(mRow.getEntry().isBubbleDismissed());
@@ -271,7 +276,8 @@
         assertFalse(mRow2.getEntry().showInShadeWhenBubble());
 
         // Dismiss currently expanded
-        mBubbleController.removeBubble(stackView.getExpandedBubbleView().getKey());
+        mBubbleController.removeBubble(stackView.getExpandedBubbleView().getKey(),
+                BubbleController.DISMISS_USER_GESTURE);
         verify(mBubbleExpandListener).onBubbleExpandChanged(false, mRow2.getEntry().key);
 
         // Make sure next bubble is selected
@@ -279,7 +285,8 @@
         verify(mBubbleExpandListener).onBubbleExpandChanged(true, mRow.getEntry().key);
 
         // Dismiss that one
-        mBubbleController.removeBubble(stackView.getExpandedBubbleView().getKey());
+        mBubbleController.removeBubble(stackView.getExpandedBubbleView().getKey(),
+                BubbleController.DISMISS_USER_GESTURE);
 
         // Make sure state changes and collapse happens
         verify(mBubbleExpandListener).onBubbleExpandChanged(false, mRow.getEntry().key);
@@ -299,11 +306,33 @@
         assertTrue(mRow.getEntry().showInShadeWhenBubble());
     }
 
-    static class TestableBubbleController extends BubbleController {
+    @Test
+    public void testDeleteIntent_removeBubble_aged() throws PendingIntent.CanceledException {
+        mBubbleController.updateBubble(mRow.getEntry(), true /* updatePosition */);
+        mBubbleController.removeBubble(mRow.getEntry().key, BubbleController.DISMISS_AGED);
+        verify(mDeleteIntent, never()).send();
+    }
 
+    @Test
+    public void testDeleteIntent_removeBubble_user() throws PendingIntent.CanceledException {
+        mBubbleController.updateBubble(mRow.getEntry(), true /* updatePosition */);
+        mBubbleController.removeBubble(mRow.getEntry().key, BubbleController.DISMISS_USER_GESTURE);
+        verify(mDeleteIntent, times(1)).send();
+    }
+
+    @Test
+    public void testDeleteIntent_dismissStack() throws PendingIntent.CanceledException {
+        mBubbleController.updateBubble(mRow.getEntry(), true /* updatePosition */);
+        mBubbleController.updateBubble(mRow2.getEntry(), true /* updatePosition */);
+        mBubbleController.dismissStack(BubbleController.DISMISS_USER_GESTURE);
+        verify(mDeleteIntent, times(2)).send();
+    }
+
+    static class TestableBubbleController extends BubbleController {
+        // Let's assume surfaces can be synchronized immediately.
         TestableBubbleController(Context context,
                 StatusBarWindowController statusBarWindowController, BubbleData data) {
-            super(context, statusBarWindowController, data);
+            super(context, statusBarWindowController, data, Runnable::run);
         }
 
         @Override
diff --git a/packages/SystemUI/tests/src/com/android/systemui/bubbles/animation/StackAnimationControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/bubbles/animation/StackAnimationControllerTest.java
index 943d927..2ee73f3 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/bubbles/animation/StackAnimationControllerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/bubbles/animation/StackAnimationControllerTest.java
@@ -177,6 +177,7 @@
     }
 
     @Test
+    @Ignore("Occasionally flakes, ignoring pending investigation.")
     public void testChildRemoved() throws InterruptedException {
         assertEquals(0, mLayout.getTransientViewCount());
 
@@ -197,6 +198,26 @@
         assertEquals(0, mLayout.getChildAt(0).getTranslationX(), .1f);
     }
 
+    @Test
+    public void testRestoredAtRestingPosition() throws InterruptedException {
+        mStackController.flingStackThenSpringToEdge(0, 5000, 5000);
+
+        waitForPropertyAnimations(
+                DynamicAnimation.TRANSLATION_X, DynamicAnimation.TRANSLATION_Y);
+        waitForLayoutMessageQueue();
+
+        final PointF prevStackPos = mStackController.getStackPosition();
+
+        mLayout.removeAllViews();
+        mLayout.addView(new FrameLayout(getContext()));
+
+        waitForLayoutMessageQueue();
+        waitForPropertyAnimations(
+                DynamicAnimation.TRANSLATION_X, DynamicAnimation.TRANSLATION_Y);
+
+        assertEquals(prevStackPos, mStackController.getStackPosition());
+    }
+
     /**
      * Checks every child view to make sure it's stacked at the given coordinates, off to the left
      * or right side depending on offset multiplier.
@@ -216,7 +237,7 @@
      */
     private class TestableStackController extends StackAnimationController {
         @Override
-        public void flingThenSpringFirstBubbleWithStackFollowing(
+        protected void flingThenSpringFirstBubbleWithStackFollowing(
                 DynamicAnimation.ViewProperty property, float vel, float friction,
                 SpringForce spring, Float finalPosition) {
             mMainThreadHandler.post(() ->
diff --git a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeDockHandlerTest.java b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeDockHandlerTest.java
index 4ba2858..df014a4 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/doze/DozeDockHandlerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/doze/DozeDockHandlerTest.java
@@ -202,4 +202,16 @@
 
         verify(mMachine).requestState(eq(State.DOZE));
     }
+
+    @Test
+    public void testTransitionToPulsing_whenDockedHide_requestPulseOut() {
+        mDockHandler.transitionTo(DozeMachine.State.UNINITIALIZED, DozeMachine.State.INITIALIZED);
+        when(mMachine.getState()).thenReturn(DozeMachine.State.DOZE_PULSING);
+        when(mMachine.getPulseReason()).thenReturn(DozeLog.PULSE_REASON_DOCKING);
+        mDockManagerFake.setDockEvent(DockManager.STATE_DOCKED_HIDE);
+
+        mDockHandler.transitionTo(DozeMachine.State.INITIALIZED, State.DOZE_PULSING);
+
+        verify(mHost).stopPulsing();
+    }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/power/PowerNotificationWarningsTest.java b/packages/SystemUI/tests/src/com/android/systemui/power/PowerNotificationWarningsTest.java
index 5876ae1..58c9311 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/power/PowerNotificationWarningsTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/power/PowerNotificationWarningsTest.java
@@ -30,6 +30,7 @@
 
 import android.app.Notification;
 import android.app.NotificationManager;
+import android.os.BatteryManager;
 import android.test.suitebuilder.annotation.SmallTest;
 
 import androidx.test.runner.AndroidJUnit4;
@@ -57,6 +58,9 @@
         // Test Instance.
         mContext.addMockSystemService(NotificationManager.class, mMockNotificationManager);
         mPowerNotificationWarnings = new PowerNotificationWarnings(mContext);
+        BatteryStateSnapshot snapshot = new BatteryStateSnapshot(100, false, false, 1,
+                BatteryManager.BATTERY_HEALTH_GOOD, 5, 15);
+        mPowerNotificationWarnings.updateSnapshot(snapshot);
     }
 
     @Test
diff --git a/packages/SystemUI/tests/src/com/android/systemui/power/PowerUITest.java b/packages/SystemUI/tests/src/com/android/systemui/power/PowerUITest.java
index 0aed63d..f51e473 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/power/PowerUITest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/power/PowerUITest.java
@@ -17,8 +17,7 @@
 import static android.provider.Settings.Global.SHOW_TEMPERATURE_WARNING;
 import static android.provider.Settings.Global.SHOW_USB_TEMPERATURE_ALARM;
 
-import static junit.framework.Assert.assertFalse;
-import static junit.framework.Assert.assertTrue;
+import static com.google.common.truth.Truth.assertThat;
 
 import static org.mockito.Matchers.eq;
 import static org.mockito.Mockito.anyObject;
@@ -29,7 +28,6 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
-import android.content.Intent;
 import android.os.BatteryManager;
 import android.os.IThermalEventListener;
 import android.os.IThermalService;
@@ -42,22 +40,20 @@
 import android.testing.TestableLooper.RunWithLooper;
 import android.testing.TestableResources;
 
-import com.android.settingslib.utils.ThreadUtils;
 import com.android.systemui.R;
 import com.android.systemui.SysuiTestCase;
 import com.android.systemui.power.PowerUI.WarningsUI;
 import com.android.systemui.statusbar.phone.StatusBar;
 
+import java.time.Duration;
+import java.util.concurrent.TimeUnit;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
-import java.time.Duration;
-import java.util.concurrent.CountDownLatch;
-import java.util.concurrent.TimeUnit;
-
 @RunWith(AndroidTestingRunner.class)
 @RunWithLooper
 @SmallTest
@@ -75,6 +71,7 @@
     private static final int OLD_BATTERY_LEVEL_NINE = 9;
     private static final int OLD_BATTERY_LEVEL_10 = 10;
     private static final long VERY_BELOW_SEVERE_HYBRID_THRESHOLD = TimeUnit.MINUTES.toMillis(15);
+    public static final int BATTERY_LEVEL_10 = 10;
     private WarningsUI mMockWarnings;
     private PowerUI mPowerUI;
     private EnhancedEstimates mEnhancedEstimates;
@@ -176,368 +173,333 @@
     }
 
     @Test
-    public void testShouldShowLowBatteryWarning_showHybridOnly_overrideThresholdHigh_returnsNoShow() {
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold())
-                .thenReturn(Duration.ofHours(1).toMillis());
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
+    public void testMaybeShowHybridWarning() {
         mPowerUI.start();
 
-        // unplugged device that would not show the non-hybrid notification but would show the
-        // hybrid but the threshold has been overriden to be too low
-        boolean shouldShow =
-                mPowerUI.shouldShowLowBatteryWarning(UNPLUGGED, UNPLUGGED, ABOVE_WARNING_BUCKET,
-                        ABOVE_WARNING_BUCKET, BELOW_HYBRID_THRESHOLD,
-                        POWER_SAVER_OFF, BatteryManager.BATTERY_HEALTH_GOOD);
-        assertFalse(shouldShow);
+        // verify low warning shown this cycle noticed
+        BatteryStateSnapshotWrapper state = new BatteryStateSnapshotWrapper();
+        BatteryStateSnapshot lastState = state.get();
+        state.mTimeRemainingMillis = Duration.ofHours(2).toMillis();
+        state.mBatteryLevel = 15;
+
+        mPowerUI.maybeShowHybridWarning(state.get(), lastState);
+
+        assertThat(mPowerUI.mLowWarningShownThisChargeCycle).isTrue();
+        assertThat(mPowerUI.mSevereWarningShownThisChargeCycle).isFalse();
+
+        // verify severe warning noticed this cycle
+        lastState = state.get();
+        state.mBatteryLevel = 1;
+        state.mTimeRemainingMillis = Duration.ofMinutes(10).toMillis();
+
+        mPowerUI.maybeShowHybridWarning(state.get(), lastState);
+
+        assertThat(mPowerUI.mLowWarningShownThisChargeCycle).isTrue();
+        assertThat(mPowerUI.mSevereWarningShownThisChargeCycle).isTrue();
+
+        // verify getting past threshold resets values
+        lastState = state.get();
+        state.mBatteryLevel = 100;
+        state.mTimeRemainingMillis = Duration.ofDays(1).toMillis();
+
+        mPowerUI.maybeShowHybridWarning(state.get(), lastState);
+
+        assertThat(mPowerUI.mLowWarningShownThisChargeCycle).isFalse();
+        assertThat(mPowerUI.mSevereWarningShownThisChargeCycle).isFalse();
     }
 
     @Test
-    public void testShouldShowLowBatteryWarning_showHybridOnly_overrideThresholdHigh_returnsShow() {
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold())
-                .thenReturn(Duration.ofHours(5).toMillis());
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
+    public void testShouldShowHybridWarning_lowLevelWarning() {
         mPowerUI.start();
+        mPowerUI.mLowWarningShownThisChargeCycle = false;
+        mPowerUI.mSevereWarningShownThisChargeCycle = false;
+        BatteryStateSnapshotWrapper state = new BatteryStateSnapshotWrapper();
 
-        // unplugged device that would not show the non-hybrid notification but would show the
-        // hybrid since the threshold has been overriden to be much higher
-        boolean shouldShow =
-                mPowerUI.shouldShowLowBatteryWarning(UNPLUGGED, UNPLUGGED, ABOVE_WARNING_BUCKET,
-                        ABOVE_WARNING_BUCKET, ABOVE_HYBRID_THRESHOLD,
-                        POWER_SAVER_OFF, BatteryManager.BATTERY_HEALTH_GOOD);
-        assertTrue(shouldShow);
+        // sanity check to make sure we can show for a valid config
+        state.mBatteryLevel = 10;
+        state.mTimeRemainingMillis = Duration.ofHours(2).toMillis();
+        boolean shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isTrue();
+
+        // Shouldn't show if plugged in
+        state.mPlugged = true;
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isFalse();
+
+        // Shouldn't show if battery is unknown
+        state.mPlugged = false;
+        state.mBatteryStatus = BatteryManager.BATTERY_STATUS_UNKNOWN;
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isFalse();
+
+        state.mBatteryStatus = BatteryManager.BATTERY_HEALTH_GOOD;
+        // Already shown both warnings
+        mPowerUI.mLowWarningShownThisChargeCycle = true;
+        mPowerUI.mSevereWarningShownThisChargeCycle = true;
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isFalse();
+
+        // Can show low warning
+        mPowerUI.mLowWarningShownThisChargeCycle = false;
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isTrue();
+
+        // Can't show if above the threshold for time & battery
+        state.mTimeRemainingMillis = Duration.ofHours(1000).toMillis();
+        state.mBatteryLevel = 100;
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isFalse();
+
+        // Battery under low percentage threshold but not time
+        state.mBatteryLevel = 10;
+        state.mLowLevelThreshold = 50;
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isTrue();
+
+        // Should also trigger if both level and time remaining under low threshold
+        state.mTimeRemainingMillis = Duration.ofHours(2).toMillis();
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isTrue();
+
+        // battery saver should block the low level warning though
+        state.mIsPowerSaver = true;
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isFalse();
     }
 
     @Test
-    public void testShouldShowLowBatteryWarning_showHybridOnly_returnsShow() {
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
+    public void testShouldShowHybridWarning_severeLevelWarning() {
         mPowerUI.start();
+        mPowerUI.mLowWarningShownThisChargeCycle = false;
+        mPowerUI.mSevereWarningShownThisChargeCycle = false;
+        BatteryStateSnapshotWrapper state = new BatteryStateSnapshotWrapper();
 
-        // unplugged device that would not show the non-hybrid notification but would show the
-        // hybrid
-        boolean shouldShow =
-                mPowerUI.shouldShowLowBatteryWarning(UNPLUGGED, UNPLUGGED, ABOVE_WARNING_BUCKET,
-                        ABOVE_WARNING_BUCKET, BELOW_HYBRID_THRESHOLD,
-                        POWER_SAVER_OFF, BatteryManager.BATTERY_HEALTH_GOOD);
-        assertTrue(shouldShow);
+        // sanity check to make sure we can show for a valid config
+        state.mBatteryLevel = 1;
+        state.mTimeRemainingMillis = Duration.ofMinutes(1).toMillis();
+        boolean shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isTrue();
+
+        // Shouldn't show if plugged in
+        state.mPlugged = true;
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isFalse();
+
+        // Shouldn't show if battery is unknown
+        state.mPlugged = false;
+        state.mBatteryStatus = BatteryManager.BATTERY_STATUS_UNKNOWN;
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isFalse();
+
+        state.mBatteryStatus = BatteryManager.BATTERY_HEALTH_GOOD;
+        // Already shown both warnings
+        mPowerUI.mLowWarningShownThisChargeCycle = true;
+        mPowerUI.mSevereWarningShownThisChargeCycle = true;
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isFalse();
+
+        // Can show severe warning
+        mPowerUI.mSevereWarningShownThisChargeCycle = false;
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isTrue();
+
+        // Can't show if above the threshold for time & battery
+        state.mTimeRemainingMillis = Duration.ofHours(1000).toMillis();
+        state.mBatteryLevel = 100;
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isFalse();
+
+        // Battery under low percentage threshold but not time
+        state.mBatteryLevel = 1;
+        state.mSevereLevelThreshold = 5;
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isTrue();
+
+        // Should also trigger if both level and time remaining under low threshold
+        state.mTimeRemainingMillis = Duration.ofHours(2).toMillis();
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isTrue();
+
+        // battery saver should not block the severe level warning though
+        state.mIsPowerSaver = true;
+        shouldShow = mPowerUI.shouldShowHybridWarning(state.get());
+        assertThat(shouldShow).isTrue();
     }
 
     @Test
-    public void testShouldShowLowBatteryWarning_showHybrid_showStandard_returnsShow() {
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-        mPowerUI.mBatteryLevel = 10;
+    public void testShouldDismissHybridWarning() {
         mPowerUI.start();
+        BatteryStateSnapshotWrapper state = new BatteryStateSnapshotWrapper();
 
-        // unplugged device that would show the non-hybrid notification and the hybrid
-        boolean shouldShow =
-                mPowerUI.shouldShowLowBatteryWarning(UNPLUGGED, UNPLUGGED, ABOVE_WARNING_BUCKET,
-                        BELOW_WARNING_BUCKET, BELOW_HYBRID_THRESHOLD,
-                        POWER_SAVER_OFF, BatteryManager.BATTERY_HEALTH_GOOD);
-        assertTrue(shouldShow);
+        // We should dismiss if the device is plugged in
+        state.mPlugged = true;
+        state.mTimeRemainingMillis = Duration.ofHours(1).toMillis();
+        state.mLowThresholdMillis = Duration.ofHours(2).toMillis();
+        boolean shouldDismiss = mPowerUI.shouldDismissHybridWarning(state.get());
+        assertThat(shouldDismiss).isTrue();
+
+        // If not plugged in and below the threshold we should not dismiss
+        state.mPlugged = false;
+        shouldDismiss = mPowerUI.shouldDismissHybridWarning(state.get());
+        assertThat(shouldDismiss).isFalse();
+
+        // If we go over the low warning threshold we should dismiss
+        state.mTimeRemainingMillis = Duration.ofHours(3).toMillis();
+        shouldDismiss = mPowerUI.shouldDismissHybridWarning(state.get());
+        assertThat(shouldDismiss).isTrue();
     }
 
     @Test
-    public void testShouldShowLowBatteryWarning_showStandardOnly_returnsShow() {
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-        mPowerUI.mBatteryLevel = 10;
-        mPowerUI.start();
-
-        // unplugged device that would show the non-hybrid but not the hybrid
-        boolean shouldShow =
-                mPowerUI.shouldShowLowBatteryWarning(UNPLUGGED, UNPLUGGED, ABOVE_WARNING_BUCKET,
-                        BELOW_WARNING_BUCKET, ABOVE_HYBRID_THRESHOLD,
-                        POWER_SAVER_OFF, BatteryManager.BATTERY_HEALTH_GOOD);
-        assertTrue(shouldShow);
-    }
-
-    @Test
-    public void testShouldShowLowBatteryWarning_deviceHighBattery_returnsNoShow() {
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-        mPowerUI.start();
-
-        // unplugged device that would show the neither due to battery level being good
-        boolean shouldShow =
-                mPowerUI.shouldShowLowBatteryWarning(UNPLUGGED, UNPLUGGED, ABOVE_WARNING_BUCKET,
-                        ABOVE_WARNING_BUCKET, ABOVE_HYBRID_THRESHOLD,
-                        POWER_SAVER_OFF, BatteryManager.BATTERY_HEALTH_GOOD);
-        assertFalse(shouldShow);
-    }
-
-    @Test
-    public void testShouldShowLowBatteryWarning_devicePlugged_returnsNoShow() {
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-        mPowerUI.start();
-
-        // plugged device that would show the neither due to being plugged
-        boolean shouldShow =
-                mPowerUI.shouldShowLowBatteryWarning(!UNPLUGGED, UNPLUGGED, ABOVE_WARNING_BUCKET,
-                        BELOW_WARNING_BUCKET, BELOW_HYBRID_THRESHOLD,
-                        POWER_SAVER_OFF, BatteryManager.BATTERY_HEALTH_GOOD);
-        assertFalse(shouldShow);
-   }
-
-    @Test
-    public void testShouldShowLowBatteryWarning_deviceBatteryStatusUnknown_returnsNoShow() {
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-        mPowerUI.start();
-
-        // Unknown battery status device that would show the neither due to the battery status being
-        // unknown
-        boolean shouldShow =
-                mPowerUI.shouldShowLowBatteryWarning(UNPLUGGED, UNPLUGGED, ABOVE_WARNING_BUCKET,
-                        BELOW_WARNING_BUCKET, BELOW_HYBRID_THRESHOLD,
-                        !POWER_SAVER_OFF, BatteryManager.BATTERY_STATUS_UNKNOWN);
-        assertFalse(shouldShow);
-    }
-
-    @Test
-    public void testShouldShowLowBatteryWarning_batterySaverEnabled_returnsNoShow() {
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-        mPowerUI.start();
-
-        // BatterySaverEnabled device that would show the neither due to battery saver
-        boolean shouldShow =
-                mPowerUI.shouldShowLowBatteryWarning(UNPLUGGED, UNPLUGGED, ABOVE_WARNING_BUCKET,
-                        BELOW_WARNING_BUCKET, BELOW_HYBRID_THRESHOLD,
-                        !POWER_SAVER_OFF, BatteryManager.BATTERY_HEALTH_GOOD);
-        assertFalse(shouldShow);
-    }
-
-    @Test
-    public void testShouldShowLowBatteryWarning_onlyShowsOncePerChargeCycle() {
-        mPowerUI.start();
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-        when(mEnhancedEstimates.getEstimate())
-                .thenReturn(new Estimate(BELOW_HYBRID_THRESHOLD, true));
-        mPowerUI.mBatteryStatus = BatteryManager.BATTERY_HEALTH_GOOD;
-
-        mPowerUI.maybeShowBatteryWarning(OLD_BATTERY_LEVEL_NINE, UNPLUGGED, UNPLUGGED,
-                ABOVE_WARNING_BUCKET, ABOVE_WARNING_BUCKET);
-
-        // reduce battery level to handle time based trigger -> level trigger interactions
-        mPowerUI.mBatteryLevel = 10;
-        boolean shouldShow =
-                mPowerUI.shouldShowLowBatteryWarning(UNPLUGGED, UNPLUGGED, ABOVE_WARNING_BUCKET,
-                        ABOVE_WARNING_BUCKET, BELOW_HYBRID_THRESHOLD,
-                        POWER_SAVER_OFF, BatteryManager.BATTERY_HEALTH_GOOD);
-        assertFalse(shouldShow);
-    }
-
-    @Test
-    public void testShouldDismissLowBatteryWarning_dismissWhenPowerSaverEnabledLegacy() {
-        mPowerUI.start();
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(false);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-
-        // device that gets power saver turned on should dismiss
-        boolean shouldDismiss =
-                mPowerUI.shouldDismissLowBatteryWarning(UNPLUGGED, BELOW_WARNING_BUCKET,
-                        BELOW_WARNING_BUCKET, ABOVE_HYBRID_THRESHOLD, !POWER_SAVER_OFF);
-        assertTrue(shouldDismiss);
-    }
-
-    @Test
-    public void testShouldNotDismissLowBatteryWarning_dismissWhenPowerSaverEnabledHybrid() {
-        mPowerUI.start();
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-
-        // device that gets power saver turned on should dismiss
-        boolean shouldDismiss =
-            mPowerUI.shouldDismissLowBatteryWarning(UNPLUGGED, BELOW_WARNING_BUCKET,
-                BELOW_WARNING_BUCKET, ABOVE_HYBRID_THRESHOLD, !POWER_SAVER_OFF);
-        assertFalse(shouldDismiss);
-    }
-
-    @Test
-    public void testShouldDismissLowBatteryWarning_dismissWhenPlugged() {
-        mPowerUI.start();
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-
-        // device that gets plugged in should dismiss
-        boolean shouldDismiss =
-                mPowerUI.shouldDismissLowBatteryWarning(!UNPLUGGED, BELOW_WARNING_BUCKET,
-                        BELOW_WARNING_BUCKET, ABOVE_HYBRID_THRESHOLD, POWER_SAVER_OFF);
-        assertTrue(shouldDismiss);
-    }
-
-    @Test
-    public void testShouldDismissLowBatteryWarning_dismissHybridSignal_showStandardSignal_shouldShow() {
-        mPowerUI.start();
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-
-        // would dismiss hybrid but not non-hybrid should not dismiss
-        boolean shouldDismiss =
-                mPowerUI.shouldDismissLowBatteryWarning(UNPLUGGED, BELOW_WARNING_BUCKET,
-                        BELOW_WARNING_BUCKET, ABOVE_HYBRID_THRESHOLD, POWER_SAVER_OFF);
-        assertFalse(shouldDismiss);
-    }
-
-    @Test
-    public void testShouldDismissLowBatteryWarning_showHybridSignal_dismissStandardSignal_shouldShow() {
-        mPowerUI.start();
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-
-        // would dismiss non-hybrid but not hybrid should not dismiss
-        boolean shouldDismiss =
-                mPowerUI.shouldDismissLowBatteryWarning(UNPLUGGED, BELOW_WARNING_BUCKET,
-                        ABOVE_WARNING_BUCKET, BELOW_HYBRID_THRESHOLD, POWER_SAVER_OFF);
-        assertFalse(shouldDismiss);
-    }
-
-    @Test
-    public void testShouldDismissLowBatteryWarning_showBothSignal_shouldShow() {
-        mPowerUI.start();
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-
-        // should not dismiss when both would not dismiss
-        boolean shouldDismiss =
-                mPowerUI.shouldDismissLowBatteryWarning(UNPLUGGED, BELOW_WARNING_BUCKET,
-                        BELOW_WARNING_BUCKET, BELOW_HYBRID_THRESHOLD, POWER_SAVER_OFF);
-        assertFalse(shouldDismiss);
-    }
-
-    @Test
-    public void testShouldDismissLowBatteryWarning_dismissBothSignal_shouldDismiss() {
-        mPowerUI.start();
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-
-        //should dismiss if both would dismiss
-        boolean shouldDismiss =
-                mPowerUI.shouldDismissLowBatteryWarning(UNPLUGGED, BELOW_WARNING_BUCKET,
-                        ABOVE_WARNING_BUCKET, ABOVE_HYBRID_THRESHOLD, POWER_SAVER_OFF);
-        assertTrue(shouldDismiss);
-    }
-
-    @Test
-    public void testShouldDismissLowBatteryWarning_dismissStandardSignal_hybridDisabled_shouldDismiss() {
-        mPowerUI.start();
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(false);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-
-        // would dismiss non-hybrid with hybrid disabled should dismiss
-        boolean shouldDismiss =
-                mPowerUI.shouldDismissLowBatteryWarning(UNPLUGGED, BELOW_WARNING_BUCKET,
-                        ABOVE_WARNING_BUCKET, ABOVE_HYBRID_THRESHOLD, POWER_SAVER_OFF);
-        assertTrue(shouldDismiss);
-    }
-
-    @Test
-    public void testShouldDismissLowBatteryWarning_powerSaverModeEnabled()
-            throws InterruptedException {
-        when(mPowerManager.isPowerSaveMode()).thenReturn(true);
-
-        mPowerUI.start();
-        mPowerUI.mReceiver.onReceive(mContext,
-                new Intent(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED));
-
-        CountDownLatch latch = new CountDownLatch(1);
-        ThreadUtils.postOnBackgroundThread(() -> latch.countDown());
-        latch.await(5, TimeUnit.SECONDS);
-
-        verify(mMockWarnings).dismissLowBatteryWarning();
-    }
-
-    @Test
-    public void testShouldNotDismissLowBatteryWarning_powerSaverModeDisabled()
-            throws InterruptedException {
-        when(mPowerManager.isPowerSaveMode()).thenReturn(false);
-
-        mPowerUI.start();
-        mPowerUI.mReceiver.onReceive(mContext,
-                new Intent(PowerManager.ACTION_POWER_SAVE_MODE_CHANGED));
-
-        CountDownLatch latch = new CountDownLatch(1);
-        ThreadUtils.postOnBackgroundThread(() -> latch.countDown());
-        latch.await(5, TimeUnit.SECONDS);
-
-        verify(mMockWarnings, never()).dismissLowBatteryWarning();
-    }
-
-    @Test
-    public void testSevereWarning_countsAsLowAndSevere_WarningOnlyShownOnce() {
-        mPowerUI.start();
-        when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
-        when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
-        when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
-        when(mEnhancedEstimates.getEstimate())
-                .thenReturn(new Estimate(BELOW_SEVERE_HYBRID_THRESHOLD, true));
-        mPowerUI.mBatteryStatus = BatteryManager.BATTERY_HEALTH_GOOD;
-
-        // reduce battery level to handle time based trigger -> level trigger interactions
-        mPowerUI.mBatteryLevel = 5;
-        boolean shouldShow =
-                mPowerUI.shouldShowLowBatteryWarning(UNPLUGGED, UNPLUGGED, ABOVE_WARNING_BUCKET,
-                        ABOVE_WARNING_BUCKET, BELOW_SEVERE_HYBRID_THRESHOLD,
-                        POWER_SAVER_OFF, BatteryManager.BATTERY_HEALTH_GOOD);
-        assertTrue(shouldShow);
-
-        // actually run the end to end since it handles changing the internal state.
-        mPowerUI.maybeShowBatteryWarning(OLD_BATTERY_LEVEL_10, UNPLUGGED, UNPLUGGED,
-                ABOVE_WARNING_BUCKET, ABOVE_WARNING_BUCKET);
-
-        shouldShow =
-                mPowerUI.shouldShowLowBatteryWarning(UNPLUGGED, UNPLUGGED, ABOVE_WARNING_BUCKET,
-                        ABOVE_WARNING_BUCKET, VERY_BELOW_SEVERE_HYBRID_THRESHOLD,
-                        POWER_SAVER_OFF, BatteryManager.BATTERY_HEALTH_GOOD);
-        assertFalse(shouldShow);
-    }
-
-    @Test
-    public void testMaybeShowBatteryWarning_onlyQueriesEstimateOnBatteryLevelChangeOrNull() {
+    public void testRefreshEstimateIfNeeded_onlyQueriesEstimateOnBatteryLevelChangeOrNull() {
         mPowerUI.start();
         Estimate estimate = new Estimate(BELOW_HYBRID_THRESHOLD, true);
         when(mEnhancedEstimates.isHybridNotificationEnabled()).thenReturn(true);
         when(mEnhancedEstimates.getLowWarningThreshold()).thenReturn(PowerUI.THREE_HOURS_IN_MILLIS);
         when(mEnhancedEstimates.getSevereWarningThreshold()).thenReturn(ONE_HOUR_MILLIS);
         when(mEnhancedEstimates.getEstimate()).thenReturn(estimate);
-        mPowerUI.mBatteryStatus = BatteryManager.BATTERY_HEALTH_GOOD;
+        mPowerUI.mBatteryLevel = 10;
 
-        // we expect that the first time it will query even if the level is the same
+        // we expect that the first time it will query since there is no last battery snapshot.
+        // However an invalid estimate (-1) is returned.
+        Estimate refreshedEstimate = mPowerUI.refreshEstimateIfNeeded();
+        assertThat(refreshedEstimate.getEstimateMillis()).isEqualTo(BELOW_HYBRID_THRESHOLD);
+        BatteryStateSnapshot snapshot = new BatteryStateSnapshot(
+                BATTERY_LEVEL_10, false, false, 0, BatteryManager.BATTERY_HEALTH_GOOD,
+                0, 0, -1, 0, 0, false);
+        mPowerUI.mLastBatteryStateSnapshot = snapshot;
+
+        // query again since the estimate was -1
+        estimate = new Estimate(BELOW_SEVERE_HYBRID_THRESHOLD, true);
+        when(mEnhancedEstimates.getEstimate()).thenReturn(estimate);
+        refreshedEstimate = mPowerUI.refreshEstimateIfNeeded();
+        assertThat(refreshedEstimate.getEstimateMillis()).isEqualTo(BELOW_SEVERE_HYBRID_THRESHOLD);
+        snapshot = new BatteryStateSnapshot(
+                BATTERY_LEVEL_10, false, false, 0, BatteryManager.BATTERY_HEALTH_GOOD, 0,
+                0, BELOW_SEVERE_HYBRID_THRESHOLD, 0, 0, false);
+        mPowerUI.mLastBatteryStateSnapshot = snapshot;
+
+        // Battery level hasn't changed, so we don't query again
+        estimate = new Estimate(BELOW_HYBRID_THRESHOLD, true);
+        when(mEnhancedEstimates.getEstimate()).thenReturn(estimate);
+        refreshedEstimate = mPowerUI.refreshEstimateIfNeeded();
+        assertThat(refreshedEstimate.getEstimateMillis()).isEqualTo(BELOW_SEVERE_HYBRID_THRESHOLD);
+
+        // Battery level changes so we update again
         mPowerUI.mBatteryLevel = 9;
-        mPowerUI.maybeShowBatteryWarning(OLD_BATTERY_LEVEL_NINE, UNPLUGGED, UNPLUGGED,
-                ABOVE_WARNING_BUCKET, ABOVE_WARNING_BUCKET);
-        verify(mEnhancedEstimates, times(1)).getEstimate();
+        refreshedEstimate = mPowerUI.refreshEstimateIfNeeded();
+        assertThat(refreshedEstimate.getEstimateMillis()).isEqualTo(BELOW_HYBRID_THRESHOLD);
+    }
 
-        // We should NOT query again if the battery level hasn't changed
-        mPowerUI.maybeShowBatteryWarning(OLD_BATTERY_LEVEL_NINE, UNPLUGGED, UNPLUGGED,
-                ABOVE_WARNING_BUCKET, ABOVE_WARNING_BUCKET);
-        verify(mEnhancedEstimates, times(1)).getEstimate();
+    @Test
+    public void testShouldShowStandardWarning() {
+        mPowerUI.start();
+        BatteryStateSnapshotWrapper state = new BatteryStateSnapshotWrapper();
+        state.mIsHybrid = false;
+        BatteryStateSnapshot lastState = state.get();
 
-        // Battery level has changed, so we should query again
-        mPowerUI.maybeShowBatteryWarning(OLD_BATTERY_LEVEL_10, UNPLUGGED, UNPLUGGED,
-                ABOVE_WARNING_BUCKET, ABOVE_WARNING_BUCKET);
-        verify(mEnhancedEstimates, times(2)).getEstimate();
+        // sanity check to make sure we can show for a valid config
+        state.mBatteryLevel = 10;
+        state.mBucket = -1;
+        boolean shouldShow = mPowerUI.shouldShowLowBatteryWarning(state.get(), lastState);
+        assertThat(shouldShow).isTrue();
+        lastState = state.get();
+
+        // Shouldn't show if plugged in
+        state.mPlugged = true;
+        shouldShow = mPowerUI.shouldShowLowBatteryWarning(state.get(), lastState);
+        assertThat(shouldShow).isFalse();
+
+        state.mPlugged = false;
+        // Shouldn't show if battery saver
+        state.mIsPowerSaver = true;
+        shouldShow = mPowerUI.shouldShowLowBatteryWarning(state.get(), lastState);
+        assertThat(shouldShow).isFalse();
+
+        state.mIsPowerSaver = false;
+        // Shouldn't show if battery is unknown
+        state.mPlugged = false;
+        state.mBatteryStatus = BatteryManager.BATTERY_STATUS_UNKNOWN;
+        shouldShow = mPowerUI.shouldShowLowBatteryWarning(state.get(), lastState);
+        assertThat(shouldShow).isFalse();
+
+        state.mBatteryStatus = BatteryManager.BATTERY_HEALTH_GOOD;
+        // show if plugged -> unplugged, bucket -1 -> -1
+        state.mPlugged = true;
+        state.mBucket = -1;
+        lastState = state.get();
+        state.mPlugged = false;
+        state.mBucket = -1;
+        shouldShow = mPowerUI.shouldShowLowBatteryWarning(state.get(), lastState);
+        assertThat(shouldShow).isTrue();
+
+        // don't show if plugged -> unplugged, bucket 0 -> 0
+        state.mPlugged = true;
+        state.mBucket = 0;
+        lastState = state.get();
+        state.mPlugged = false;
+        state.mBucket = 0;
+        shouldShow = mPowerUI.shouldShowLowBatteryWarning(state.get(), lastState);
+        assertThat(shouldShow).isFalse();
+
+        // show if unplugged -> unplugged, bucket 0 -> -1
+        state.mPlugged = false;
+        state.mBucket = 0;
+        lastState = state.get();
+        state.mPlugged = false;
+        state.mBucket = -1;
+        shouldShow = mPowerUI.shouldShowLowBatteryWarning(state.get(), lastState);
+        assertThat(shouldShow).isTrue();
+
+        // don't show if unplugged -> unplugged, bucket -1 -> 1
+        state.mPlugged = false;
+        state.mBucket = -1;
+        lastState = state.get();
+        state.mPlugged = false;
+        state.mBucket = 1;
+        shouldShow = mPowerUI.shouldShowLowBatteryWarning(state.get(), lastState);
+        assertThat(shouldShow).isFalse();
+    }
+
+    @Test
+    public void testShouldDismissStandardWarning() {
+        mPowerUI.start();
+        BatteryStateSnapshotWrapper state = new BatteryStateSnapshotWrapper();
+        state.mIsHybrid = false;
+        BatteryStateSnapshot lastState = state.get();
+
+        // should dismiss if battery saver
+        state.mIsPowerSaver = true;
+        boolean shouldDismiss = mPowerUI.shouldDismissLowBatteryWarning(state.get(), lastState);
+        assertThat(shouldDismiss).isTrue();
+
+        state.mIsPowerSaver = false;
+        // should dismiss if plugged
+        state.mPlugged = true;
+        shouldDismiss = mPowerUI.shouldDismissLowBatteryWarning(state.get(), lastState);
+        assertThat(shouldDismiss).isTrue();
+
+        state.mPlugged = false;
+        // should dismiss if bucket 0 -> 1
+        state.mBucket = 0;
+        lastState = state.get();
+        state.mBucket = 1;
+        shouldDismiss = mPowerUI.shouldDismissLowBatteryWarning(state.get(), lastState);
+        assertThat(shouldDismiss).isTrue();
+
+        // shouldn't dismiss if bucket -1 -> 0
+        state.mBucket = -1;
+        lastState = state.get();
+        state.mBucket = 0;
+        shouldDismiss = mPowerUI.shouldDismissLowBatteryWarning(state.get(), lastState);
+        assertThat(shouldDismiss).isFalse();
+
+        // should dismiss if powersaver & bucket 0 -> 1
+        state.mIsPowerSaver = true;
+        state.mBucket = 0;
+        lastState = state.get();
+        state.mBucket = 1;
+        shouldDismiss = mPowerUI.shouldDismissLowBatteryWarning(state.get(), lastState);
+        assertThat(shouldDismiss).isTrue();
     }
 
     private Temperature getEmergencyStatusTemp(int type, String name) {
@@ -556,4 +518,35 @@
         mPowerUI.mComponents = mContext.getComponents();
         mPowerUI.mThermalService = mThermalServiceMock;
     }
+
+    /**
+     * A simple wrapper class that sets values by default and makes them not final to improve
+     * test clarity.
+     */
+    private class BatteryStateSnapshotWrapper {
+        public int mBatteryLevel = 100;
+        public boolean mIsPowerSaver = false;
+        public boolean mPlugged = false;
+        public long mSevereThresholdMillis = Duration.ofHours(1).toMillis();
+        public long mLowThresholdMillis = Duration.ofHours(3).toMillis();
+        public int mSevereLevelThreshold = 5;
+        public int mLowLevelThreshold = 15;
+        public int mBucket = 1;
+        public int mBatteryStatus = BatteryManager.BATTERY_HEALTH_GOOD;
+        public long mTimeRemainingMillis = Duration.ofHours(24).toMillis();
+        public boolean mIsBasedOnUsage = true;
+        public boolean mIsHybrid = true;
+
+        public BatteryStateSnapshot get() {
+            if (mIsHybrid) {
+                return new BatteryStateSnapshot(mBatteryLevel, mIsPowerSaver, mPlugged, mBucket,
+                        mBatteryStatus, mSevereLevelThreshold, mLowLevelThreshold,
+                        mTimeRemainingMillis, mSevereThresholdMillis, mLowThresholdMillis,
+                        mIsBasedOnUsage);
+            } else {
+                return new BatteryStateSnapshot(mBatteryLevel, mIsPowerSaver, mPlugged, mBucket,
+                        mBatteryStatus, mSevereLevelThreshold, mLowLevelThreshold);
+            }
+        }
+    }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyItemControllerTest.kt b/packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyItemControllerTest.kt
index 1783d9d..6033ed2 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyItemControllerTest.kt
+++ b/packages/SystemUI/tests/src/com/android/systemui/privacy/PrivacyItemControllerTest.kt
@@ -264,7 +264,8 @@
         val list = listOf(PrivacyItem(PrivacyType.TYPE_CAMERA,
                 PrivacyApplication("", TEST_UID, mContext)))
         privacyItemController.privacyList = list
-        assertEquals(list, privacyItemController.privacyList)
-        assertTrue(list !== privacyItemController.privacyList)
+        val privacyList = privacyItemController.privacyList
+        assertEquals(list, privacyList)
+        assertTrue(list !== privacyList)
     }
 }
\ No newline at end of file
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSCarrierGroupTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSCarrierGroupTest.java
new file mode 100644
index 0000000..f29392b
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSCarrierGroupTest.java
@@ -0,0 +1,177 @@
+/*
+ * 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.qs;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import android.telephony.SubscriptionManager;
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+import android.view.LayoutInflater;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.keyguard.CarrierTextController;
+import com.android.systemui.R;
+import com.android.systemui.statusbar.policy.NetworkController;
+import com.android.systemui.utils.leaks.LeakCheckedTest;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.Mockito;
+import org.mockito.invocation.InvocationOnMock;
+import org.mockito.stubbing.Answer;
+
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+@SmallTest
+public class QSCarrierGroupTest extends LeakCheckedTest {
+
+    private QSCarrierGroup mCarrierGroup;
+
+    @Before
+    public void setup() throws Exception {
+        injectLeakCheckedDependencies(ALL_SUPPORTED_CLASSES);
+        TestableLooper.get(this).runWithLooper(
+                () -> mCarrierGroup = (QSCarrierGroup) LayoutInflater.from(mContext).inflate(
+                        R.layout.qs_carrier_group, null));
+    }
+
+    @Test // throws no Exception
+    public void testUpdateCarrierText_sameLengths() {
+        QSCarrierGroup spiedCarrierGroup = Mockito.spy(mCarrierGroup);
+        when(spiedCarrierGroup.getSlotIndex(anyInt())).thenAnswer(
+                new Answer<Integer>() {
+                    @Override
+                    public Integer answer(InvocationOnMock invocationOnMock) throws Throwable {
+                        return invocationOnMock.getArgument(0);
+                    }
+                });
+
+        // listOfCarriers length 1, subscriptionIds length 1, anySims false
+        CarrierTextController.CarrierTextCallbackInfo
+                c1 = new CarrierTextController.CarrierTextCallbackInfo(
+                "",
+                new CharSequence[]{""},
+                false,
+                new int[]{0});
+        spiedCarrierGroup.updateCarrierInfo(c1);
+
+        // listOfCarriers length 1, subscriptionIds length 1, anySims true
+        CarrierTextController.CarrierTextCallbackInfo
+                c2 = new CarrierTextController.CarrierTextCallbackInfo(
+                "",
+                new CharSequence[]{""},
+                true,
+                new int[]{0});
+        spiedCarrierGroup.updateCarrierInfo(c2);
+
+        // listOfCarriers length 2, subscriptionIds length 2, anySims false
+        CarrierTextController.CarrierTextCallbackInfo
+                c3 = new CarrierTextController.CarrierTextCallbackInfo(
+                "",
+                new CharSequence[]{"", ""},
+                false,
+                new int[]{0, 1});
+        spiedCarrierGroup.updateCarrierInfo(c3);
+
+        // listOfCarriers length 2, subscriptionIds length 2, anySims true
+        CarrierTextController.CarrierTextCallbackInfo
+                c4 = new CarrierTextController.CarrierTextCallbackInfo(
+                "",
+                new CharSequence[]{"", ""},
+                true,
+                new int[]{0, 1});
+        spiedCarrierGroup.updateCarrierInfo(c4);
+    }
+
+    @Test // throws no Exception
+    public void testUpdateCarrierText_differentLength() {
+        QSCarrierGroup spiedCarrierGroup = Mockito.spy(mCarrierGroup);
+        when(spiedCarrierGroup.getSlotIndex(anyInt())).thenAnswer(
+                new Answer<Integer>() {
+                    @Override
+                    public Integer answer(InvocationOnMock invocationOnMock) throws Throwable {
+                        return invocationOnMock.getArgument(0);
+                    }
+                });
+
+        // listOfCarriers length 2, subscriptionIds length 1, anySims false
+        CarrierTextController.CarrierTextCallbackInfo
+                c1 = new CarrierTextController.CarrierTextCallbackInfo(
+                "",
+                new CharSequence[]{"", ""},
+                false,
+                new int[]{0});
+        spiedCarrierGroup.updateCarrierInfo(c1);
+
+        // listOfCarriers length 2, subscriptionIds length 1, anySims true
+        CarrierTextController.CarrierTextCallbackInfo
+                c2 = new CarrierTextController.CarrierTextCallbackInfo(
+                "",
+                new CharSequence[]{"", ""},
+                true,
+                new int[]{0});
+        spiedCarrierGroup.updateCarrierInfo(c2);
+
+        // listOfCarriers length 1, subscriptionIds length 2, anySims false
+        CarrierTextController.CarrierTextCallbackInfo
+                c3 = new CarrierTextController.CarrierTextCallbackInfo(
+                "",
+                new CharSequence[]{""},
+                false,
+                new int[]{0, 1});
+        spiedCarrierGroup.updateCarrierInfo(c3);
+
+        // listOfCarriers length 1, subscriptionIds length 2, anySims true
+        CarrierTextController.CarrierTextCallbackInfo
+                c4 = new CarrierTextController.CarrierTextCallbackInfo(
+                "",
+                new CharSequence[]{""},
+                true,
+                new int[]{0, 1});
+        spiedCarrierGroup.updateCarrierInfo(c4);
+    }
+
+    @Test // throws no Exception
+    public void testUpdateCarrierText_invalidSim() {
+        QSCarrierGroup spiedCarrierGroup = Mockito.spy(mCarrierGroup);
+        when(spiedCarrierGroup.getSlotIndex(anyInt())).thenReturn(
+                SubscriptionManager.INVALID_SIM_SLOT_INDEX);
+        CarrierTextController.CarrierTextCallbackInfo
+                c4 = new CarrierTextController.CarrierTextCallbackInfo(
+                "",
+                new CharSequence[]{"", ""},
+                true,
+                new int[]{0, 1});
+        spiedCarrierGroup.updateCarrierInfo(c4);
+    }
+
+    @Test // throws no Exception
+    public void testSetMobileDataIndicators_invalidSim() {
+        QSCarrierGroup spiedCarrierGroup = Mockito.spy(mCarrierGroup);
+        when(spiedCarrierGroup.getSlotIndex(anyInt())).thenReturn(
+                SubscriptionManager.INVALID_SIM_SLOT_INDEX);
+        spiedCarrierGroup.setMobileDataIndicators(
+                mock(NetworkController.IconState.class),
+                mock(NetworkController.IconState.class),
+                0, 0, true, true, "", "", true, 0, true);
+    }
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFooterImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFooterImplTest.java
index a8b169c..d4688d7 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/qs/QSFooterImplTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/qs/QSFooterImplTest.java
@@ -16,13 +16,10 @@
 
 import static org.mockito.ArgumentMatchers.any;
 import static org.mockito.ArgumentMatchers.anyBoolean;
-import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.telephony.SubscriptionManager;
 import android.testing.AndroidTestingRunner;
 import android.testing.TestableLooper;
 import android.testing.TestableLooper.RunWithLooper;
@@ -31,21 +28,16 @@
 
 import androidx.test.filters.SmallTest;
 
-import com.android.keyguard.CarrierTextController.CarrierTextCallbackInfo;
 import com.android.systemui.R;
 import com.android.systemui.R.id;
 import com.android.systemui.plugins.ActivityStarter;
 import com.android.systemui.statusbar.policy.DeviceProvisionedController;
-import com.android.systemui.statusbar.policy.NetworkController;
 import com.android.systemui.utils.leaks.LeakCheckedTest;
 
 import org.junit.Before;
 import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
-import org.mockito.Mockito;
-import org.mockito.invocation.InvocationOnMock;
-import org.mockito.stubbing.Answer;
 
 @RunWith(AndroidTestingRunner.class)
 @RunWithLooper
@@ -77,117 +69,4 @@
         // Verify Settings wasn't launched.
         verify(mActivityStarter, never()).startActivity(any(), anyBoolean());
     }
-
-    @Test // throws no Exception
-    public void testUpdateCarrierText_sameLengts() {
-        QSFooterImpl spiedFooter = Mockito.spy(mFooter);
-        when(spiedFooter.getSlotIndex(anyInt())).thenAnswer(
-                new Answer<Integer>() {
-                    @Override
-                    public Integer answer(InvocationOnMock invocationOnMock) throws Throwable {
-                        return invocationOnMock.getArgument(0);
-                    }
-                });
-
-        // listOfCarriers length 1, subscriptionIds length 1, anySims false
-        CarrierTextCallbackInfo c1 = new CarrierTextCallbackInfo(
-                "",
-                new CharSequence[]{""},
-                false,
-                new int[]{0});
-        spiedFooter.updateCarrierInfo(c1);
-
-        // listOfCarriers length 1, subscriptionIds length 1, anySims true
-        CarrierTextCallbackInfo c2 = new CarrierTextCallbackInfo(
-                "",
-                new CharSequence[]{""},
-                true,
-                new int[]{0});
-        spiedFooter.updateCarrierInfo(c2);
-
-        // listOfCarriers length 2, subscriptionIds length 2, anySims false
-        CarrierTextCallbackInfo c3 = new CarrierTextCallbackInfo(
-                "",
-                new CharSequence[]{"", ""},
-                false,
-                new int[]{0, 1});
-        spiedFooter.updateCarrierInfo(c3);
-
-        // listOfCarriers length 2, subscriptionIds length 2, anySims true
-        CarrierTextCallbackInfo c4 = new CarrierTextCallbackInfo(
-                "",
-                new CharSequence[]{"", ""},
-                true,
-                new int[]{0, 1});
-        spiedFooter.updateCarrierInfo(c4);
-    }
-
-    @Test // throws no Exception
-    public void testUpdateCarrierText_differentLength() {
-        QSFooterImpl spiedFooter = Mockito.spy(mFooter);
-        when(spiedFooter.getSlotIndex(anyInt())).thenAnswer(
-                new Answer<Integer>() {
-                    @Override
-                    public Integer answer(InvocationOnMock invocationOnMock) throws Throwable {
-                        return invocationOnMock.getArgument(0);
-                    }
-                });
-
-        // listOfCarriers length 2, subscriptionIds length 1, anySims false
-        CarrierTextCallbackInfo c1 = new CarrierTextCallbackInfo(
-                "",
-                new CharSequence[]{"", ""},
-                false,
-                new int[]{0});
-        spiedFooter.updateCarrierInfo(c1);
-
-        // listOfCarriers length 2, subscriptionIds length 1, anySims true
-        CarrierTextCallbackInfo c2 = new CarrierTextCallbackInfo(
-                "",
-                new CharSequence[]{"", ""},
-                true,
-                new int[]{0});
-        spiedFooter.updateCarrierInfo(c2);
-
-        // listOfCarriers length 1, subscriptionIds length 2, anySims false
-        CarrierTextCallbackInfo c3 = new CarrierTextCallbackInfo(
-                "",
-                new CharSequence[]{""},
-                false,
-                new int[]{0, 1});
-        spiedFooter.updateCarrierInfo(c3);
-
-        // listOfCarriers length 1, subscriptionIds length 2, anySims true
-        CarrierTextCallbackInfo c4 = new CarrierTextCallbackInfo(
-                "",
-                new CharSequence[]{""},
-                true,
-                new int[]{0, 1});
-        spiedFooter.updateCarrierInfo(c4);
-    }
-
-    @Test // throws no Exception
-    public void testUpdateCarrierText_invalidSim() {
-        QSFooterImpl spiedFooter = Mockito.spy(mFooter);
-        when(spiedFooter.getSlotIndex(anyInt())).thenReturn(
-                SubscriptionManager.INVALID_SIM_SLOT_INDEX);
-        CarrierTextCallbackInfo c4 = new CarrierTextCallbackInfo(
-                "",
-                new CharSequence[]{"", ""},
-                true,
-                new int[]{0, 1});
-        spiedFooter.updateCarrierInfo(c4);
-    }
-
-    @Test // throws no Exception
-    public void testSetMobileDataIndicators_invalidSim() {
-        QSFooterImpl spiedFooter = Mockito.spy(mFooter);
-        when(spiedFooter.getSlotIndex(anyInt())).thenReturn(
-                SubscriptionManager.INVALID_SIM_SLOT_INDEX);
-        spiedFooter.setMobileDataIndicators(
-                mock(NetworkController.IconState.class),
-                mock(NetworkController.IconState.class),
-                0, 0, true, true, "", "", true, 0, true);
-    }
-
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/CommandQueueTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/CommandQueueTest.java
index dd26368..c2f55e2 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/CommandQueueTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/CommandQueueTest.java
@@ -41,6 +41,7 @@
 
     private CommandQueue mCommandQueue;
     private Callbacks mCallbacks;
+    private static final int SECONDARY_DISPLAY = 1;
 
     @Before
     public void setup() {
@@ -68,7 +69,6 @@
         verify(mCallbacks).removeIcon(eq(slot));
     }
 
-    // TODO(b/117478341): add test case for multi-display
     @Test
     public void testDisable() {
         int state1 = 14;
@@ -79,6 +79,15 @@
     }
 
     @Test
+    public void testDisableForSecondaryDisplay() {
+        int state1 = 14;
+        int state2 = 42;
+        mCommandQueue.disable(SECONDARY_DISPLAY, state1, state2);
+        waitForIdleSync();
+        verify(mCallbacks).disable(eq(SECONDARY_DISPLAY), eq(state1), eq(state2), eq(true));
+    }
+
+    @Test
     public void testExpandNotifications() {
         mCommandQueue.animateExpandNotificationsPanel();
         waitForIdleSync();
@@ -100,7 +109,6 @@
         verify(mCallbacks).animateExpandSettingsPanel(eq(panel));
     }
 
-    // TODO(b/117478341): add test case for multi-display
     @Test
     public void testSetSystemUiVisibility() {
         Rect r = new Rect();
@@ -110,7 +118,15 @@
                 eq(null), eq(r));
     }
 
-    // TODO(b/117478341): add test case for multi-display
+    @Test
+    public void testSetSystemUiVisibilityForSecondaryDisplay() {
+        Rect r = new Rect();
+        mCommandQueue.setSystemUiVisibility(SECONDARY_DISPLAY, 1, 2, 3, 4, null, r);
+        waitForIdleSync();
+        verify(mCallbacks).setSystemUiVisibility(eq(SECONDARY_DISPLAY), eq(1), eq(2), eq(3), eq(4),
+                eq(null), eq(r));
+    }
+
     @Test
     public void testTopAppWindowChanged() {
         mCommandQueue.topAppWindowChanged(DEFAULT_DISPLAY, true);
@@ -118,7 +134,13 @@
         verify(mCallbacks).topAppWindowChanged(eq(DEFAULT_DISPLAY), eq(true));
     }
 
-    // TODO(b/117478341): add test case for multi-display
+    @Test
+    public void testTopAppWindowChangedForSecondaryDisplay() {
+        mCommandQueue.topAppWindowChanged(SECONDARY_DISPLAY, true);
+        waitForIdleSync();
+        verify(mCallbacks).topAppWindowChanged(eq(SECONDARY_DISPLAY), eq(true));
+    }
+
     @Test
     public void testShowImeButton() {
         mCommandQueue.setImeWindowStatus(DEFAULT_DISPLAY, null, 1, 2, true);
@@ -128,6 +150,14 @@
     }
 
     @Test
+    public void testShowImeButtonForSecondaryDisplay() {
+        mCommandQueue.setImeWindowStatus(SECONDARY_DISPLAY, null, 1, 2, true);
+        waitForIdleSync();
+        verify(mCallbacks).setImeWindowStatus(
+                eq(SECONDARY_DISPLAY), eq(null), eq(1), eq(2), eq(true));
+    }
+
+    @Test
     public void testShowRecentApps() {
         mCommandQueue.showRecentApps(true);
         waitForIdleSync();
@@ -176,7 +206,6 @@
         verify(mCallbacks).toggleKeyboardShortcutsMenu(eq(1));
     }
 
-    // TODO(b/117478341): add test case for multi-display
     @Test
     public void testSetWindowState() {
         mCommandQueue.setWindowState(DEFAULT_DISPLAY, 1, 2);
@@ -185,13 +214,19 @@
     }
 
     @Test
+    public void testSetWindowStateForSecondaryDisplay() {
+        mCommandQueue.setWindowState(SECONDARY_DISPLAY, 1, 2);
+        waitForIdleSync();
+        verify(mCallbacks).setWindowState(eq(SECONDARY_DISPLAY), eq(1), eq(2));
+    }
+
+    @Test
     public void testScreenPinRequest() {
         mCommandQueue.showScreenPinningRequest(1);
         waitForIdleSync();
         verify(mCallbacks).showScreenPinningRequest(eq(1));
     }
 
-    // TODO(b/117478341): add test case for multi-display
     @Test
     public void testAppTransitionPending() {
         mCommandQueue.appTransitionPending(DEFAULT_DISPLAY);
@@ -199,7 +234,13 @@
         verify(mCallbacks).appTransitionPending(eq(DEFAULT_DISPLAY), eq(false));
     }
 
-    // TODO(b/117478341): add test case for multi-display
+    @Test
+    public void testAppTransitionPendingForSecondaryDisplay() {
+        mCommandQueue.appTransitionPending(SECONDARY_DISPLAY);
+        waitForIdleSync();
+        verify(mCallbacks).appTransitionPending(eq(SECONDARY_DISPLAY), eq(false));
+    }
+
     @Test
     public void testAppTransitionCancelled() {
         mCommandQueue.appTransitionCancelled(DEFAULT_DISPLAY);
@@ -207,7 +248,13 @@
         verify(mCallbacks).appTransitionCancelled(eq(DEFAULT_DISPLAY));
     }
 
-    // TODO(b/117478341): add test case for multi-display
+    @Test
+    public void testAppTransitionCancelledForSecondaryDisplay() {
+        mCommandQueue.appTransitionCancelled(SECONDARY_DISPLAY);
+        waitForIdleSync();
+        verify(mCallbacks).appTransitionCancelled(eq(SECONDARY_DISPLAY));
+    }
+
     @Test
     public void testAppTransitionStarting() {
         mCommandQueue.appTransitionStarting(DEFAULT_DISPLAY, 1, 2);
@@ -216,7 +263,14 @@
                 eq(DEFAULT_DISPLAY), eq(1L), eq(2L), eq(false));
     }
 
-    // TODO(b/117478341): add test case for multi-display
+    @Test
+    public void testAppTransitionStartingForSecondaryDisplay() {
+        mCommandQueue.appTransitionStarting(SECONDARY_DISPLAY, 1, 2);
+        waitForIdleSync();
+        verify(mCallbacks).appTransitionStarting(
+                eq(SECONDARY_DISPLAY), eq(1L), eq(2L), eq(false));
+    }
+
     @Test
     public void testAppTransitionFinished() {
         mCommandQueue.appTransitionFinished(DEFAULT_DISPLAY);
@@ -225,6 +279,13 @@
     }
 
     @Test
+    public void testAppTransitionFinishedForSecondaryDisplay() {
+        mCommandQueue.appTransitionFinished(SECONDARY_DISPLAY);
+        waitForIdleSync();
+        verify(mCallbacks).appTransitionFinished(eq(SECONDARY_DISPLAY));
+    }
+
+    @Test
     public void testAssistDisclosure() {
         mCommandQueue.showAssistDisclosure();
         waitForIdleSync();
@@ -290,4 +351,25 @@
         waitForIdleSync();
         verify(mCallbacks).handleSystemKey(eq(1));
     }
+
+    @Test
+    public void testOnDisplayReady() {
+        mCommandQueue.onDisplayReady(DEFAULT_DISPLAY);
+        waitForIdleSync();
+        verify(mCallbacks).onDisplayReady(eq(DEFAULT_DISPLAY));
+    }
+
+    @Test
+    public void testOnDisplayReadyForSecondaryDisplay() {
+        mCommandQueue.onDisplayReady(SECONDARY_DISPLAY);
+        waitForIdleSync();
+        verify(mCallbacks).onDisplayReady(eq(SECONDARY_DISPLAY));
+    }
+
+    @Test
+    public void testOnDisplayRemoved() {
+        mCommandQueue.onDisplayRemoved(SECONDARY_DISPLAY);
+        waitForIdleSync();
+        verify(mCallbacks).onDisplayRemoved(eq(SECONDARY_DISPLAY));
+    }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NavigationBarControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NavigationBarControllerTest.java
new file mode 100644
index 0000000..34a726d
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NavigationBarControllerTest.java
@@ -0,0 +1,243 @@
+/*
+ * 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;
+
+import static android.view.Display.DEFAULT_DISPLAY;
+import static android.view.Display.INVALID_DISPLAY;
+
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.anyLong;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
+import android.content.Context;
+import android.hardware.display.DisplayManager;
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper.RunWithLooper;
+import android.util.SparseArray;
+import android.view.Display;
+import android.view.WindowManager;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.Dependency;
+import com.android.systemui.SysuiTestCase;
+import com.android.systemui.statusbar.phone.NavigationBarFragment;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/** atest NavigationBarControllerTest */
+@RunWith(AndroidTestingRunner.class)
+@RunWithLooper
+@SmallTest
+public class NavigationBarControllerTest extends SysuiTestCase {
+
+    private NavigationBarController mNavigationBarController;
+    private Display mDisplay;
+    private NavigationBarFragment mDefaultNavBar;
+    private NavigationBarFragment mSecondaryNavBar;
+
+    private static final int SECONDARY_DISPLAY = 1;
+
+    @Before
+    public void setUp() {
+        mContext.putComponent(CommandQueue.class, mock(CommandQueue.class));
+        mNavigationBarController = spy(
+                new NavigationBarController(mContext, Dependency.get(Dependency.MAIN_HANDLER)));
+        initializeNavigationBars();
+    }
+
+    private void initializeNavigationBars() {
+        mNavigationBarController.mNavigationBars = mock(SparseArray.class);
+        mDefaultNavBar = mock(NavigationBarFragment.class);
+        mDefaultNavBar.mDisplayId = DEFAULT_DISPLAY;
+        doReturn(mDefaultNavBar)
+                .when(mNavigationBarController.mNavigationBars).get(DEFAULT_DISPLAY);
+
+        mSecondaryNavBar = mock(NavigationBarFragment.class);
+        mSecondaryNavBar.mDisplayId = SECONDARY_DISPLAY;
+        doReturn(mSecondaryNavBar)
+                .when(mNavigationBarController.mNavigationBars).get(SECONDARY_DISPLAY);
+    }
+
+    @After
+    public void tearDown() {
+        mNavigationBarController = null;
+        mDisplay = null;
+        mDefaultNavBar = null;
+        mSecondaryNavBar = null;
+    }
+
+    @Test
+    public void testCreateNavigationBarsIncludeDefaultTrue() {
+        initializeDisplayManager();
+        doNothing().when(mNavigationBarController).createNavigationBar(any());
+
+        mNavigationBarController.createNavigationBars(true);
+
+        verify(mNavigationBarController).createNavigationBar(any(Display.class));
+    }
+
+    @Test
+    public void testCreateNavigationBarsIncludeDefaultFalse() {
+        initializeDisplayManager();
+        doNothing().when(mNavigationBarController).createNavigationBar(any());
+
+        mNavigationBarController.createNavigationBars(false);
+
+        verify(mNavigationBarController, never()).createNavigationBar(any());
+    }
+
+    private void initializeDisplayManager() {
+        DisplayManager displayManager = mock(DisplayManager.class);
+        mDisplay = mContext.getSystemService(WindowManager.class).getDefaultDisplay();
+        Display[] displays = {mDisplay};
+        when(displayManager.getDisplays()).thenReturn(displays);
+        mContext.addMockSystemService(Context.DISPLAY_SERVICE, displayManager);
+    }
+
+    // Tests if NPE occurs when call checkNavBarModes() with invalid display.
+    @Test
+    public void testCheckNavBarModesWithInvalidDisplay() {
+        mNavigationBarController.checkNavBarModes(INVALID_DISPLAY);
+    }
+
+    @Test
+    public void testCheckNavBarModesWithDefaultDisplay() {
+        doNothing().when(mDefaultNavBar).checkNavBarModes();
+
+        mNavigationBarController.checkNavBarModes(DEFAULT_DISPLAY);
+
+        verify(mDefaultNavBar).checkNavBarModes();
+    }
+
+    @Test
+    public void testCheckNavBarModesWithSecondaryDisplay() {
+        doNothing().when(mSecondaryNavBar).checkNavBarModes();
+
+        mNavigationBarController.checkNavBarModes(SECONDARY_DISPLAY);
+
+        verify(mSecondaryNavBar).checkNavBarModes();
+    }
+
+    // Tests if NPE occurs when call finishBarAnimations() with invalid display.
+    @Test
+    public void testFinishBarAnimationsWithInvalidDisplay() {
+        mNavigationBarController.finishBarAnimations(INVALID_DISPLAY);
+    }
+
+    @Test
+    public void testFinishBarAnimationsWithDefaultDisplay() {
+        doNothing().when(mDefaultNavBar).finishBarAnimations();
+
+        mNavigationBarController.finishBarAnimations(DEFAULT_DISPLAY);
+
+        verify(mDefaultNavBar).finishBarAnimations();
+    }
+
+    @Test
+    public void testFinishBarAnimationsWithSecondaryDisplay() {
+        doNothing().when(mSecondaryNavBar).finishBarAnimations();
+
+        mNavigationBarController.finishBarAnimations(SECONDARY_DISPLAY);
+
+        verify(mSecondaryNavBar).finishBarAnimations();
+    }
+
+    // Tests if NPE occurs when call touchAutoDim() with invalid display.
+    @Test
+    public void testTouchAutoDimWithInvalidDisplay() {
+        mNavigationBarController.touchAutoDim(INVALID_DISPLAY);
+    }
+
+    @Test
+    public void testTouchAutoDimWithDefaultDisplay() {
+        doNothing().when(mDefaultNavBar).touchAutoDim();
+
+        mNavigationBarController.touchAutoDim(DEFAULT_DISPLAY);
+
+        verify(mDefaultNavBar).touchAutoDim();
+    }
+
+    @Test
+    public void testTouchAutoDimWithSecondaryDisplay() {
+        doNothing().when(mSecondaryNavBar).touchAutoDim();
+
+        mNavigationBarController.touchAutoDim(SECONDARY_DISPLAY);
+
+        verify(mSecondaryNavBar).touchAutoDim();
+    }
+
+    // Tests if NPE occurs when call transitionTo() with invalid display.
+    @Test
+    public void testTransitionToWithInvalidDisplay() {
+        mNavigationBarController.transitionTo(INVALID_DISPLAY, 3, true);
+    }
+
+    @Test
+    public void testTransitionToWithDefaultDisplay() {
+        doNothing().when(mDefaultNavBar).transitionTo(anyInt(), anyBoolean());
+
+        mNavigationBarController.transitionTo(DEFAULT_DISPLAY, 3, true);
+
+        verify(mDefaultNavBar).transitionTo(eq(3), eq(true));
+    }
+
+    @Test
+    public void testTransitionToWithSecondaryDisplay() {
+        doNothing().when(mSecondaryNavBar).transitionTo(anyInt(), anyBoolean());
+
+        mNavigationBarController.transitionTo(SECONDARY_DISPLAY, 3, true);
+
+        verify(mSecondaryNavBar).transitionTo(eq(3), eq(true));
+    }
+
+    // Tests if NPE occurs when call disableAnimationsDuringHide() with invalid display.
+    @Test
+    public void testDisableAnimationsDuringHideWithInvalidDisplay() {
+        mNavigationBarController.disableAnimationsDuringHide(INVALID_DISPLAY, 500L);
+    }
+
+    @Test
+    public void testDisableAnimationsDuringHideWithDefaultDisplay() {
+        doNothing().when(mDefaultNavBar).disableAnimationsDuringHide(anyLong());
+
+        mNavigationBarController.disableAnimationsDuringHide(DEFAULT_DISPLAY, 500L);
+
+        verify(mDefaultNavBar).disableAnimationsDuringHide(eq(500L));
+    }
+
+    @Test
+    public void testDisableAnimationsDuringHideWithSecondaryDisplay() {
+        doNothing().when(mSecondaryNavBar).disableAnimationsDuringHide(anyLong());
+
+        mNavigationBarController.disableAnimationsDuringHide(SECONDARY_DISPLAY, 500L);
+
+        verify(mSecondaryNavBar).disableAnimationsDuringHide(eq(500L));
+    }
+}
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 cef78db..de15505 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationTestHelper.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationTestHelper.java
@@ -23,6 +23,7 @@
 import android.app.ActivityManager;
 import android.app.Instrumentation;
 import android.app.Notification;
+import android.app.Notification.BubbleMetadata;
 import android.app.NotificationChannel;
 import android.app.PendingIntent;
 import android.content.Context;
@@ -152,8 +153,18 @@
      * Returns an {@link ExpandableNotificationRow} that should be shown as a bubble.
      */
     public ExpandableNotificationRow createBubble() throws Exception {
+        return createBubble(null);
+    }
+
+    /**
+     * Returns an {@link ExpandableNotificationRow} that should be shown as a bubble.
+     *
+     * @param deleteIntent the intent to assign to {@link BubbleMetadata#deleteIntent}
+     */
+    public ExpandableNotificationRow createBubble(@Nullable PendingIntent deleteIntent)
+            throws Exception {
         Notification n = createNotification(false /* isGroupSummary */,
-                null /* groupKey */, true /* isBubble */);
+                null /* groupKey */, true /* isBubble */, deleteIntent);
         return generateRow(n, PKG, UID, USER_HANDLE, 0 /* extraInflationFlags */, IMPORTANCE_HIGH);
     }
 
@@ -196,7 +207,8 @@
      * @return a notification that is in the group specified or standalone if unspecified
      */
     private Notification createNotification(boolean isGroupSummary, @Nullable String groupKey) {
-        return createNotification(isGroupSummary, groupKey, false /* isBubble */);
+        return createNotification(isGroupSummary, groupKey, false /* isBubble */,
+                null /* bubbleDeleteIntent */);
     }
 
     /**
@@ -208,7 +220,8 @@
      * @return a notification that is in the group specified or standalone if unspecified
      */
     private Notification createNotification(boolean isGroupSummary,
-            @Nullable String groupKey, boolean isBubble) {
+            @Nullable String groupKey, boolean isBubble,
+            @Nullable PendingIntent bubbleDeleteIntent) {
         Notification publicVersion = new Notification.Builder(mContext).setSmallIcon(
                 R.drawable.ic_person)
                 .setCustomContentView(new RemoteViews(mContext.getPackageName(),
@@ -227,7 +240,8 @@
             notificationBuilder.setGroup(groupKey);
         }
         if (isBubble) {
-            notificationBuilder.setBubbleMetadata(makeBubbleMetadata());
+            BubbleMetadata metadata = makeBubbleMetadata(bubbleDeleteIntent);
+            notificationBuilder.setBubbleMetadata(metadata);
         }
         return notificationBuilder.build();
     }
@@ -291,11 +305,13 @@
         return row;
     }
 
-    private Notification.BubbleMetadata makeBubbleMetadata() {
+    private BubbleMetadata makeBubbleMetadata(PendingIntent deleteIntent) {
         Intent target = new Intent(mContext, BubblesTestActivity.class);
         PendingIntent bubbleIntent = PendingIntent.getActivity(mContext, 0, target, 0);
-        return new Notification.BubbleMetadata.Builder()
+
+        return new BubbleMetadata.Builder()
                 .setIntent(bubbleIntent)
+                .setDeleteIntent(deleteIntent)
                 .setTitle("bubble title")
                 .setIcon(Icon.createWithResource(mContext, 1))
                 .setDesiredHeight(314)
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationViewHierarchyManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationViewHierarchyManagerTest.java
index 6b2e05b..2172a12 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationViewHierarchyManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/NotificationViewHierarchyManagerTest.java
@@ -37,6 +37,7 @@
 import com.android.systemui.Dependency;
 import com.android.systemui.InitController;
 import com.android.systemui.SysuiTestCase;
+import com.android.systemui.bubbles.BubbleData;
 import com.android.systemui.plugins.statusbar.NotificationSwipeActionHelper;
 import com.android.systemui.statusbar.notification.NotificationEntryManager;
 import com.android.systemui.statusbar.notification.VisualStabilityManager;
@@ -97,7 +98,7 @@
         mViewHierarchyManager = new NotificationViewHierarchyManager(mContext,
                 mLockscreenUserManager, mGroupManager, mVisualStabilityManager,
                 mock(StatusBarStateControllerImpl.class), mEntryManager,
-                () -> mShadeController);
+                () -> mShadeController, new BubbleData());
         Dependency.get(InitController.class).executePostInitTasks();
         mViewHierarchyManager.setUpWithPresenter(mPresenter, mListContainer);
     }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationEntryManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationEntryManagerTest.java
index 5543744..c8005dd 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationEntryManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/NotificationEntryManagerTest.java
@@ -347,7 +347,7 @@
 
         verify(mPresenter).updateNotificationViews();
         verify(mEntryListener).onEntryRemoved(
-                mEntry, null, false /* removedByUser */);
+                eq(mEntry), any(), eq(false) /* removedByUser */);
         verify(mRow).setRemoved();
 
         assertNull(mEntryManager.getNotificationData().get(mSbn.getKey()));
@@ -360,7 +360,7 @@
         mEntryManager.removeNotification("not_a_real_key", mRankingMap);
 
         verify(mEntryListener, never()).onEntryRemoved(
-                mEntry, null, false /* removedByUser */);
+                eq(mEntry), any(), eq(false) /* removedByUser */);
     }
 
     @Test
@@ -373,7 +373,7 @@
         mEntryManager.removeNotification(mSbn.getKey(), mRankingMap);
 
         verify(mEntryListener, never()).onEntryRemoved(
-                mEntry, null, false /* removedByUser */);
+                eq(mEntry), any(), eq(false /* removedByUser */));
     }
 
     @Test
@@ -455,7 +455,7 @@
         verify(extender).setShouldManageLifetime(mEntry, true);
         // THEN the notification is retained
         assertNotNull(mEntryManager.getNotificationData().get(mSbn.getKey()));
-        verify(mEntryListener, never()).onEntryRemoved(mEntry, null, false);
+        verify(mEntryListener, never()).onEntryRemoved(eq(mEntry), any(), eq(false));
     }
 
     @Test
@@ -474,7 +474,7 @@
 
         // THEN the notification is removed
         assertNull(mEntryManager.getNotificationData().get(mSbn.getKey()));
-        verify(mEntryListener).onEntryRemoved(mEntry, null, false);
+        verify(mEntryListener).onEntryRemoved(eq(mEntry), any(), eq(false));
     }
 
     @Test
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerTest.java
index 785d5b0..ff849c3 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationGutsManagerTest.java
@@ -69,6 +69,7 @@
 import com.android.systemui.util.Assert;
 
 import org.junit.Before;
+import org.junit.Ignore;
 import org.junit.Rule;
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -461,6 +462,7 @@
     }
 
     @Test
+    @Ignore
     public void testSetShouldManageLifetime_setShouldManage() {
         NotificationEntry entry = createTestNotificationRow().getEntry();
         mGutsManager.setShouldManageLifetime(entry, true /* shouldManage */);
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationInfoTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationInfoTest.java
index 19a73f6..fb4fd31 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationInfoTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/row/NotificationInfoTest.java
@@ -341,79 +341,62 @@
         mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
                 IMPORTANCE_DEFAULT, true);
-        final TextView silent = mNotificationInfo.findViewById(R.id.int_silent);
+        final TextView silent = mNotificationInfo.findViewById(R.id.int_silent_label);
         assertEquals(VISIBLE, silent.getVisibility());
         assertEquals(
                 mContext.getString(R.string.inline_silent_button_silent), silent.getText());
     }
 
     @Test
-    public void testBindNotification_SilenceButton_CurrentlySilent() throws Exception {
+    public void testBindNotification_verifyButtonTexts() throws Exception {
         mNotificationChannel.setImportance(IMPORTANCE_LOW);
         mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
                 IMPORTANCE_LOW, false);
-        final TextView silent = mNotificationInfo.findViewById(R.id.int_silent);
+        final TextView block = mNotificationInfo.findViewById(R.id.int_block_label);
+        final TextView alert = mNotificationInfo.findViewById(R.id.int_alert_label);
+        final TextView silent = mNotificationInfo.findViewById(R.id.int_silent_label);
         assertEquals(VISIBLE, silent.getVisibility());
+        assertEquals(VISIBLE, block.getVisibility());
+        assertEquals(VISIBLE, alert.getVisibility());
         assertEquals(
-                mContext.getString(R.string.inline_silent_button_stay_silent),
+                mContext.getString(R.string.inline_silent_button_silent),
                 silent.getText());
+        assertEquals(
+                mContext.getString(R.string.inline_silent_button_alert), alert.getText());
+        assertEquals(
+                mContext.getString(R.string.inline_block_button), block.getText());
     }
 
     @Test
-    public void testBindNotification_AlertButton_CurrentlySilent() throws Exception {
+    public void testBindNotification_verifyHintTextForSilent() throws Exception {
         mNotificationChannel.setImportance(IMPORTANCE_LOW);
         mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
                 IMPORTANCE_LOW, false);
-        final TextView alert = mNotificationInfo.findViewById(R.id.int_alert);
-        assertEquals(VISIBLE, alert.getVisibility());
-        assertEquals(
-                mContext.getString(R.string.inline_silent_button_alert), alert.getText());
+        TextView hintText = mNotificationInfo.findViewById(R.id.hint_text);
+        assertEquals(mContext.getString(R.string.hint_text_silent), hintText.getText());
     }
 
     @Test
-    public void testBindNotification_UnSilenceButton_currentlyAlerting() throws Exception {
-        mNotificationChannel.setImportance(IMPORTANCE_DEFAULT);
-        mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
-                TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
-                IMPORTANCE_DEFAULT, true);
-        final TextView alert = mNotificationInfo.findViewById(R.id.int_alert);
-        assertEquals(VISIBLE, alert.getVisibility());
-        assertEquals(
-                mContext.getString(R.string.inline_silent_button_keep_alerting), alert.getText());
-    }
-
-    @Test
-    public void testBindNotification_ChannelImportanceUnspecified_NotifAlerting() throws Exception {
-        mNotificationChannel.setImportance(IMPORTANCE_UNSPECIFIED);
-        mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
-                TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
-                IMPORTANCE_DEFAULT, true);
-        final TextView silent = mNotificationInfo.findViewById(R.id.int_silent);
-        final TextView alert = mNotificationInfo.findViewById(R.id.int_alert);
-        assertEquals(VISIBLE, silent.getVisibility());
-        assertEquals(VISIBLE, alert.getVisibility());
-        assertEquals(
-                mContext.getString(R.string.inline_silent_button_silent), silent.getText());
-        assertEquals(
-                mContext.getString(R.string.inline_silent_button_keep_alerting), alert.getText());
-    }
-
-    @Test
-    public void testBindNotification_ChannelImportanceUnspecified_NotifSilent() throws Exception {
-        mNotificationChannel.setImportance(IMPORTANCE_UNSPECIFIED);
+    public void testBindNotification_verifyHintTextForBlock() throws Exception {
+        mNotificationChannel.setImportance(IMPORTANCE_LOW);
         mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
                 IMPORTANCE_LOW, false);
-        final TextView silent = mNotificationInfo.findViewById(R.id.int_silent);
-        final TextView alert = mNotificationInfo.findViewById(R.id.int_alert);
-        assertEquals(VISIBLE, silent.getVisibility());
-        assertEquals(VISIBLE, alert.getVisibility());
-        assertEquals(
-                mContext.getString(R.string.inline_silent_button_stay_silent), silent.getText());
-        assertEquals(
-                mContext.getString(R.string.inline_silent_button_alert), alert.getText());
+        View blockWrapper = mNotificationInfo.findViewById(R.id.int_block_wrapper);
+        blockWrapper.performClick();
+        TextView hintText = mNotificationInfo.findViewById(R.id.hint_text);
+        assertEquals(mContext.getString(R.string.hint_text_block), hintText.getText());
+    }
+
+    @Test
+    public void testBindNotification_verifyHintTextForAlert() throws Exception {
+        mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
+                TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
+                IMPORTANCE_DEFAULT, true);
+        TextView hintText = mNotificationInfo.findViewById(R.id.hint_text);
+        assertEquals(mContext.getString(R.string.hint_text_alert), hintText.getText());
     }
 
     @Test
@@ -560,16 +543,6 @@
     }
 
     @Test
-    public void testbindNotification_BlockingHelper() throws Exception {
-        mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
-                TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, false, false,
-                true, true, IMPORTANCE_DEFAULT, true);
-        final TextView view = mNotificationInfo.findViewById(R.id.block_prompt);
-        assertEquals(View.VISIBLE, view.getVisibility());
-        assertEquals(mContext.getString(R.string.inline_blocking_helper), view.getText());
-    }
-
-    @Test
     public void testbindNotification_UnblockableTextVisibleWhenAppUnblockable() throws Exception {
         mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, true,
@@ -687,8 +660,8 @@
                 true, false /* isNonblockable */, IMPORTANCE_DEFAULT, false
         );
 
-        mNotificationInfo.findViewById(R.id.int_block).performClick();
-        waitForUndoButton();
+        mNotificationInfo.findViewById(R.id.int_block_wrapper).performClick();
+        mNotificationInfo.findViewById(R.id.done_button).performClick();
         mNotificationInfo.handleCloseControls(true, false);
 
         mTestableLooper.processAllMessages();
@@ -709,8 +682,8 @@
                 true, false /* isNonblockable */, IMPORTANCE_DEFAULT, false
         );
 
-        mNotificationInfo.findViewById(R.id.int_block).performClick();
-        waitForUndoButton();
+        mNotificationInfo.findViewById(R.id.int_block_wrapper).performClick();
+        mNotificationInfo.findViewById(R.id.done_button).performClick();
         mNotificationInfo.handleCloseControls(true, false);
 
         mTestableLooper.processAllMessages();
@@ -842,7 +815,7 @@
         mNotificationChannel.setImportance(IMPORTANCE_LOW);
         mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, true,
-                IMPORTANCE_DEFAULT, false);
+                true, false, IMPORTANCE_DEFAULT, false);
         mNotificationInfo.findViewById(R.id.block).performClick();
         waitForUndoButton();
 
@@ -861,8 +834,8 @@
                 true, false,
                 IMPORTANCE_DEFAULT, false);
 
-        mNotificationInfo.findViewById(R.id.int_block).performClick();
-        waitForUndoButton();
+        mNotificationInfo.findViewById(R.id.int_block_wrapper).performClick();
+        mNotificationInfo.findViewById(R.id.done_button).performClick();
         mNotificationInfo.handleCloseControls(true, false);
 
         ArgumentCaptor<LogMaker> logMakerCaptor = ArgumentCaptor.forClass(LogMaker.class);
@@ -929,7 +902,7 @@
         mNotificationChannel.setImportance(IMPORTANCE_LOW);
         mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, true,
-                IMPORTANCE_DEFAULT, false);
+                true, false, IMPORTANCE_DEFAULT, false);
         mNotificationInfo.findViewById(R.id.minimize).performClick();
         waitForUndoButton();
 
@@ -944,7 +917,7 @@
         mSbn.getNotification().flags = Notification.FLAG_FOREGROUND_SERVICE;
         mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
-                IMPORTANCE_DEFAULT, false);
+                true, false, IMPORTANCE_DEFAULT, false);
 
         mNotificationInfo.findViewById(R.id.minimize).performClick();
         waitForUndoButton();
@@ -1014,63 +987,14 @@
     }
 
     @Test
-    public void testBlockUndoDoesNotBlockNotificationChannel_notBlockingHelper() throws Exception {
-        mNotificationChannel.setImportance(IMPORTANCE_LOW);
-        mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
-                TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn,
-                null, null, null,
-                true, false,
-                IMPORTANCE_DEFAULT, false);
-
-        mNotificationInfo.findViewById(R.id.int_block).performClick();
-        waitForUndoButton();
-        mNotificationInfo.findViewById(R.id.undo).performClick();
-        waitForStopButton();
-        // mNotificationInfo.handleCloseControls doesn't get called by this interaction.
-
-        ArgumentCaptor<LogMaker> logMakerCaptor = ArgumentCaptor.forClass(LogMaker.class);
-        verify(mMetricsLogger, times(2)).write(logMakerCaptor.capture());
-        assertEquals(MetricsEvent.ACTION_SAVE_IMPORTANCE,
-                logMakerCaptor.getValue().getCategory());
-        assertEquals(MetricsEvent.TYPE_DISMISS,
-                logMakerCaptor.getValue().getType());
-        assertEquals(IMPORTANCE_NONE - IMPORTANCE_LOW,
-                logMakerCaptor.getValue().getSubtype());
-
-
-        mTestableLooper.processAllMessages();
-        verify(mMockINotificationManager, never()).updateNotificationChannelForPackage(
-                anyString(), eq(TEST_UID), any());
-    }
-
-    @Test
-    public void testMinUndoDoesNotMinNotificationChannel_notBlockingHelper() throws Exception {
-        mNotificationChannel.setImportance(IMPORTANCE_LOW);
-        mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
-                TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn,
-                null, null, null, true,
-                true, IMPORTANCE_DEFAULT, false);
-
-        mNotificationInfo.findViewById(R.id.minimize).performClick();
-        waitForUndoButton();
-        mNotificationInfo.findViewById(R.id.undo).performClick();
-        waitForStopButton();
-        // mNotificationInfo.handleCloseControls doesn't get called by this code path
-
-        mTestableLooper.processAllMessages();
-        verify(mMockINotificationManager, times(0)).updateNotificationChannelForPackage(
-                anyString(), eq(TEST_UID), any());
-    }
-
-    @Test
     public void testSilenceCallsUpdateNotificationChannel() throws Exception {
         mNotificationChannel.setImportance(IMPORTANCE_DEFAULT);
         mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
                 IMPORTANCE_DEFAULT, true);
 
-        mNotificationInfo.findViewById(R.id.int_silent).performClick();
-        waitForUndoButton();
+        mNotificationInfo.findViewById(R.id.int_silent_wrapper).performClick();
+        mNotificationInfo.findViewById(R.id.done_button).performClick();
         mNotificationInfo.handleCloseControls(true, false);
 
         mTestableLooper.processAllMessages();
@@ -1090,8 +1014,8 @@
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
                 IMPORTANCE_DEFAULT, false);
 
-        mNotificationInfo.findViewById(R.id.int_alert).performClick();
-        waitForUndoButton();
+        mNotificationInfo.findViewById(R.id.int_alert_wrapper).performClick();
+        mNotificationInfo.findViewById(R.id.done_button).performClick();
         mNotificationInfo.handleCloseControls(true, false);
 
         mTestableLooper.processAllMessages();
@@ -1112,8 +1036,8 @@
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
                 IMPORTANCE_DEFAULT, true);
 
-        mNotificationInfo.findViewById(R.id.int_silent).performClick();
-        waitForUndoButton();
+        mNotificationInfo.findViewById(R.id.int_silent_wrapper).performClick();
+        mNotificationInfo.findViewById(R.id.done_button).performClick();
         mNotificationInfo.handleCloseControls(true, false);
 
         mTestableLooper.processAllMessages();
@@ -1134,8 +1058,8 @@
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
                 IMPORTANCE_LOW, false);
 
-        mNotificationInfo.findViewById(R.id.int_alert).performClick();
-        waitForUndoButton();
+        mNotificationInfo.findViewById(R.id.int_alert_wrapper).performClick();
+        mNotificationInfo.findViewById(R.id.done_button).performClick();
         mNotificationInfo.handleCloseControls(true, false);
 
         mTestableLooper.processAllMessages();
@@ -1153,7 +1077,7 @@
         mNotificationChannel.setImportance(IMPORTANCE_LOW);
         mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, true,
-                IMPORTANCE_DEFAULT, false);
+                true, false, IMPORTANCE_DEFAULT, false);
 
         mNotificationInfo.findViewById(R.id.minimize).performClick();
         waitForUndoButton();
@@ -1171,8 +1095,8 @@
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
                 IMPORTANCE_DEFAULT, false);
 
-        mNotificationInfo.findViewById(R.id.int_block).performClick();
-        waitForUndoButton();
+        mNotificationInfo.findViewById(R.id.int_block_wrapper).performClick();
+        mNotificationInfo.findViewById(R.id.done_button).performClick();
         mNotificationInfo.handleCloseControls(false, false);
 
         mTestableLooper.processAllMessages();
@@ -1188,9 +1112,8 @@
                 (Runnable saveImportance, StatusBarNotification sbn) -> {
                 }, null, null, true, true, IMPORTANCE_DEFAULT, false);
 
-        mNotificationInfo.findViewById(R.id.int_block).performClick();
+        mNotificationInfo.findViewById(R.id.int_block_wrapper).performClick();
         mTestableLooper.processAllMessages();
-        ensureNoUndoButton();
         mNotificationInfo.handleCloseControls(true, false);
 
         verify(mMockINotificationManager, never()).updateNotificationChannelForPackage(
@@ -1207,12 +1130,12 @@
                 }, null, null, true, false, IMPORTANCE_DEFAULT, false
         );
 
-        mNotificationInfo.findViewById(R.id.int_block).performClick();
+        mNotificationInfo.findViewById(R.id.int_block_wrapper).performClick();
+        mNotificationInfo.findViewById(R.id.done_button).performClick();
         mTestableLooper.processAllMessages();
         verify(mMockINotificationManager, never()).updateNotificationChannelForPackage(
                 eq(TEST_PACKAGE_NAME), eq(TEST_UID), eq(mNotificationChannel));
 
-        waitForUndoButton();
         mNotificationInfo.handleCloseControls(true, false);
 
         mTestableLooper.processAllMessages();
@@ -1231,78 +1154,11 @@
         mNotificationChannel.setImportance(IMPORTANCE_LOW);
         mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
                 TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, true,
-                IMPORTANCE_DEFAULT, false);
+                true, false, IMPORTANCE_DEFAULT, false);
 
         mNotificationInfo.findViewById(R.id.minimize).performClick();
         waitForUndoButton();
         TextView confirmationText = mNotificationInfo.findViewById(R.id.confirmation_text);
         assertTrue(confirmationText.getText().toString().contains("minimized"));
     }
-
-    @Test
-    public void testUndoText_block() throws Exception {
-        mNotificationChannel.setImportance(IMPORTANCE_LOW);
-        mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
-                TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
-                IMPORTANCE_DEFAULT, false);
-
-        mNotificationInfo.findViewById(R.id.int_block).performClick();
-        waitForUndoButton();
-        TextView confirmationText = mNotificationInfo.findViewById(R.id.confirmation_text);
-        assertTrue(confirmationText.getText().toString().contains("won't see"));
-    }
-
-    @Test
-    public void testUndoText_silence() throws Exception {
-        mNotificationChannel.setImportance(IMPORTANCE_DEFAULT);
-        mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
-                TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
-                IMPORTANCE_DEFAULT, true);
-
-        mNotificationInfo.findViewById(R.id.int_silent).performClick();
-        waitForUndoButton();
-        TextView confirmationText = mNotificationInfo.findViewById(R.id.confirmation_text);
-        assertEquals(mContext.getString(R.string.notification_channel_silenced),
-                confirmationText.getText());
-    }
-
-    @Test
-    public void testUndoText_unsilence() throws Exception {
-        mNotificationChannel.setImportance(IMPORTANCE_LOW);
-        mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
-                TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
-                IMPORTANCE_DEFAULT, false);
-
-        mNotificationInfo.findViewById(R.id.int_alert).performClick();
-        waitForUndoButton();
-        TextView confirmationText = mNotificationInfo.findViewById(R.id.confirmation_text);
-        assertEquals(mContext.getString(R.string.notification_channel_unsilenced),
-                confirmationText.getText());
-    }
-
-    @Test
-    public void testNoHeaderOnConfirmation() throws Exception {
-        mNotificationChannel.setImportance(IMPORTANCE_LOW);
-        mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
-                TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
-                IMPORTANCE_DEFAULT, false);
-
-        mNotificationInfo.findViewById(R.id.int_block).performClick();
-        waitForUndoButton();
-        assertEquals(GONE, mNotificationInfo.findViewById(R.id.header).getVisibility());
-    }
-
-    @Test
-    public void testHeaderOnUndo() throws Exception {
-        mNotificationChannel.setImportance(IMPORTANCE_LOW);
-        mNotificationInfo.bindNotification(mMockPackageManager, mMockINotificationManager,
-                TEST_PACKAGE_NAME, mNotificationChannel, 1, mSbn, null, null, null, true, false,
-                IMPORTANCE_DEFAULT, false);
-
-        mNotificationInfo.findViewById(R.id.int_block).performClick();
-        waitForUndoButton();
-        mNotificationInfo.findViewById(R.id.undo).performClick();
-        waitForStopButton();
-        assertEquals(VISIBLE, mNotificationInfo.findViewById(R.id.header).getVisibility());
-    }
 }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainerTest.java
index eb465676..22d2585 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainerTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/notification/stack/NotificationChildrenContainerTest.java
@@ -51,13 +51,6 @@
     }
 
     @Test
-    public void testGetMaxAllowedVisibleChildren_ambient() {
-        mGroup.setOnAmbient(true);
-        Assert.assertEquals(mChildrenContainer.getMaxAllowedVisibleChildren(),
-            NotificationChildrenContainer.NUMBER_OF_CHILDREN_WHEN_AMBIENT);
-    }
-
-    @Test
     public void testGetMaxAllowedVisibleChildren_lowPriority() {
         mChildrenContainer.setIsLowPriority(true);
         Assert.assertEquals(mChildrenContainer.getMaxAllowedVisibleChildren(),
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/AutoHideControllerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/AutoHideControllerTest.java
new file mode 100644
index 0000000..1b34a75
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/AutoHideControllerTest.java
@@ -0,0 +1,118 @@
+/*
+ * 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.view.Display.DEFAULT_DISPLAY;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.spy;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import android.graphics.Rect;
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper.RunWithLooper;
+import android.view.View;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.Dependency;
+import com.android.systemui.SysuiTestCase;
+import com.android.systemui.statusbar.CommandQueue;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+/** atest AutoHideControllerTest */
+@RunWith(AndroidTestingRunner.class)
+@RunWithLooper
+@SmallTest
+public class AutoHideControllerTest extends SysuiTestCase {
+
+    private AutoHideController mAutoHideController;
+
+    private static final int FULL_MASK = 0xffffffff;
+
+    @Before
+    public void setUp() {
+        mContext.putComponent(CommandQueue.class, mock(CommandQueue.class));
+        mAutoHideController =
+                spy(new AutoHideController(mContext, Dependency.get(Dependency.MAIN_HANDLER)));
+        mAutoHideController.mDisplayId = DEFAULT_DISPLAY;
+        mAutoHideController.mSystemUiVisibility = View.VISIBLE;
+    }
+
+    @After
+    public void tearDown() {
+        mAutoHideController = null;
+    }
+
+    @Test
+    public void testSetSystemUiVisibilityEarlyReturnWithDifferentDisplay() {
+        mAutoHideController.setSystemUiVisibility(1, 1, 2, 3, 4, null, new Rect());
+
+        verify(mAutoHideController, never()).notifySystemUiVisibilityChanged(anyInt());
+    }
+
+    @Test
+    public void testSetSystemUiVisibilityEarlyReturnWithSameVisibility() {
+        mAutoHideController
+                .setSystemUiVisibility(DEFAULT_DISPLAY, View.VISIBLE, 2, 3, 4, null, new Rect());
+
+        verify(mAutoHideController, never()).notifySystemUiVisibilityChanged(anyInt());
+    }
+
+    // Test if status bar unhide status doesn't change without status bar.
+    @Test
+    public void testSetSystemUiVisibilityWithoutStatusBar() {
+        doReturn(false).when(mAutoHideController).hasStatusBar();
+        int expectedStatus = View.STATUS_BAR_UNHIDE;
+        mAutoHideController.mSystemUiVisibility =
+                View.SYSTEM_UI_FLAG_FULLSCREEN | View.STATUS_BAR_UNHIDE;
+
+        mAutoHideController.setSystemUiVisibility(
+                DEFAULT_DISPLAY, expectedStatus, 2, 3, FULL_MASK, null, new Rect());
+
+        assertEquals("System UI visibility should not be changed",
+                expectedStatus, mAutoHideController.mSystemUiVisibility);
+        verify(mAutoHideController, times(1)).notifySystemUiVisibilityChanged(eq(expectedStatus));
+    }
+
+    @Test
+    public void testSetSystemUiVisibilityWithVisChanged() {
+        doReturn(true).when(mAutoHideController).hasStatusBar();
+        doReturn(true).when(mAutoHideController).hasNavigationBar();
+        mAutoHideController.mSystemUiVisibility = View.SYSTEM_UI_FLAG_FULLSCREEN
+                | View.STATUS_BAR_UNHIDE
+                | View.NAVIGATION_BAR_UNHIDE;
+
+        mAutoHideController.setSystemUiVisibility(
+                DEFAULT_DISPLAY, View.STATUS_BAR_UNHIDE | View.NAVIGATION_BAR_UNHIDE,
+                2, 3, FULL_MASK, null, new Rect());
+
+        int expectedStatus = View.VISIBLE;
+        assertEquals(expectedStatus, mAutoHideController.mSystemUiVisibility);
+        verify(mAutoHideController).notifySystemUiVisibilityChanged(eq(expectedStatus));
+    }
+}
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 7be4756..057f752 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
@@ -36,6 +36,7 @@
 import com.android.systemui.SysuiTestCase;
 import com.android.systemui.keyguard.KeyguardViewMediator;
 import com.android.systemui.statusbar.NotificationMediaManager;
+import com.android.systemui.tuner.TunerService;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -68,6 +69,8 @@
     private StatusBar mStatusBar;
     @Mock
     private UnlockMethodCache mUnlockMethodCache;
+    @Mock
+    private TunerService mTunerService;
     private BiometricUnlockController mBiometricUnlockController;
 
     @Before
@@ -79,9 +82,8 @@
         mDependency.injectTestDependency(NotificationMediaManager.class, mMediaManager);
         mDependency.injectTestDependency(StatusBarWindowController.class,
                 mStatusBarWindowController);
-        mBiometricUnlockController = new BiometricUnlockController(mContext, mDozeScrimController,
-                mKeyguardViewMediator, mScrimController, mStatusBar, mUnlockMethodCache,
-                new Handler(), mUpdateMonitor, 0 /* wakeUpDelay */);
+        mBiometricUnlockController = new TestableBiometricUnlockController(
+                false /* faceDismissesKeyguard */);
         mBiometricUnlockController.setStatusBarKeyguardViewManager(mStatusBarKeyguardViewManager);
     }
 
@@ -136,6 +138,19 @@
     }
 
     @Test
+    public void onBiometricAuthenticated_whenFace_dismissingKeyguard() {
+        mBiometricUnlockController = new TestableBiometricUnlockController(
+                true /* faceDismissesKeyguard */);
+        mBiometricUnlockController.setStatusBarKeyguardViewManager(mStatusBarKeyguardViewManager);
+
+        when(mUpdateMonitor.isUnlockingWithBiometricAllowed()).thenReturn(true);
+        mBiometricUnlockController.onBiometricAuthenticated(UserHandle.USER_CURRENT,
+                BiometricSourceType.FACE);
+
+        verify(mStatusBarKeyguardViewManager).animateCollapsePanels(anyFloat());
+    }
+
+    @Test
     public void onBiometricAuthenticated_whenFaceOnBouncer_dismissBouncer() {
         when(mUpdateMonitor.isUnlockingWithBiometricAllowed()).thenReturn(true);
         when(mStatusBarKeyguardViewManager.isBouncerShowing()).thenReturn(true);
@@ -156,4 +171,15 @@
 
         verify(mStatusBarKeyguardViewManager, never()).animateCollapsePanels(anyFloat());
     }
+
+    private class TestableBiometricUnlockController extends BiometricUnlockController {
+
+        TestableBiometricUnlockController(boolean faceDismissesKeyguard) {
+            super(mContext, mDozeScrimController,
+                    mKeyguardViewMediator, mScrimController, mStatusBar, mUnlockMethodCache,
+                    new Handler(), mUpdateMonitor, mTunerService, 0 /* wakeUpDelay */,
+                    faceDismissesKeyguard);
+            mFaceDismissesKeyguard = faceDismissesKeyguard;
+        }
+    }
 }
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 7797cb3..7bd4158 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
@@ -19,8 +19,10 @@
 import static junit.framework.Assert.assertFalse;
 import static junit.framework.Assert.assertTrue;
 
+import static org.mockito.ArgumentMatchers.anyInt;
 import static org.mockito.Mockito.when;
 
+import android.content.Context;
 import android.testing.AndroidTestingRunner;
 import android.testing.TestableLooper;
 import android.view.View;
@@ -31,6 +33,7 @@
 import com.android.systemui.statusbar.AlertingNotificationManagerTest;
 import com.android.systemui.statusbar.notification.VisualStabilityManager;
 import com.android.systemui.statusbar.notification.collection.NotificationEntry;
+import com.android.systemui.statusbar.policy.AccessibilityManagerWrapper;
 
 import org.junit.Before;
 import org.junit.Rule;
@@ -53,15 +56,29 @@
     @Mock private VisualStabilityManager mVSManager;
     @Mock private StatusBar mBar;
 
+    private final class TestableHeadsUpManagerPhone extends HeadsUpManagerPhone {
+        TestableHeadsUpManagerPhone(Context context, View statusBarWindowView,
+                NotificationGroupManager groupManager, StatusBar bar,
+                VisualStabilityManager vsManager) {
+            super(context, statusBarWindowView, groupManager, bar, vsManager);
+            mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME;
+            mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME;
+        }
+    }
+
     protected AlertingNotificationManager createAlertingNotificationManager() {
         return mHeadsUpManager;
     }
 
     @Before
     public void setUp() {
+        AccessibilityManagerWrapper mAccessibilityMgr =
+                mDependency.injectMockDependency(AccessibilityManagerWrapper.class);
+        when(mAccessibilityMgr.getRecommendedTimeoutMillis(anyInt(), anyInt()))
+                .thenReturn(TEST_AUTO_DISMISS_TIME);
         when(mVSManager.isReorderingAllowed()).thenReturn(true);
-        mHeadsUpManager = new HeadsUpManagerPhone(mContext, mStatusBarWindowView, mGroupManager,
-                mBar, mVSManager);
+        mHeadsUpManager = new TestableHeadsUpManagerPhone(mContext, mStatusBarWindowView,
+                mGroupManager, mBar, mVSManager);
         super.setUp();
         mHeadsUpManager.mHandler = mTestHandler;
     }
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 f88b64a..539851f 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
@@ -37,12 +37,10 @@
 import android.app.AlarmManager;
 import android.graphics.Color;
 import android.os.Handler;
-import android.os.Looper;
 import android.testing.AndroidTestingRunner;
 import android.testing.TestableLooper;
 import android.view.View;
 
-import androidx.test.filters.FlakyTest;
 import androidx.test.filters.SmallTest;
 
 import com.android.internal.colorextraction.ColorExtractor.GradientColors;
@@ -53,6 +51,7 @@
 import com.android.systemui.util.wakelock.WakeLock;
 import com.android.systemui.utils.os.FakeHandler;
 
+import org.junit.After;
 import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
@@ -78,6 +77,7 @@
     private WakeLock mWakeLock;
     private boolean mAlwaysOnEnabled;
     private AlarmManager mAlarmManager;
+    private TestableLooper mLooper;
 
 
     @Before
@@ -88,6 +88,7 @@
         mAlarmManager = mock(AlarmManager.class);
         mAlwaysOnEnabled = true;
         mDozeParamenters = mock(DozeParameters.class);
+        mLooper = TestableLooper.get(this);
         when(mDozeParamenters.getAlwaysOn()).thenAnswer(invocation -> mAlwaysOnEnabled);
         when(mDozeParamenters.getDisplayNeedsBlanking()).thenReturn(true);
         mScrimController = new SynchronousScrimController(mScrimBehind, mScrimInFront,
@@ -99,12 +100,13 @@
                 visible -> mScrimVisibility = visible, mDozeParamenters, mAlarmManager);
         mScrimController.setHasBackdrop(false);
         mScrimController.setWallpaperSupportsAmbientMode(false);
+        mScrimController.transitionTo(ScrimState.KEYGUARD);
+        mScrimController.finishAnimationsImmediately();
     }
 
-    @Test
-    public void initialState() {
-        Assert.assertEquals("ScrimController should start initialized",
-                mScrimController.getState(), ScrimState.UNINITIALIZED);
+    @After
+    public void tearDown() {
+        mScrimController.finishAnimationsImmediately();
     }
 
     @Test
@@ -114,7 +116,7 @@
         // Front scrim should be transparent
         // Back scrim should be visible without tint
         assertScrimVisibility(VISIBILITY_FULLY_TRANSPARENT, VISIBILITY_SEMI_TRANSPARENT);
-        assertScrimTint(mScrimBehind, false /* tinted */);
+        assertScrimTint(mScrimBehind, true /* tinted */);
     }
 
     @Test
@@ -230,7 +232,7 @@
         // Back scrim should be semi-transparent so the user can see the wallpaper
         // Pulse callback should have been invoked
         assertScrimVisibility(VISIBILITY_FULLY_TRANSPARENT, VISIBILITY_SEMI_TRANSPARENT);
-        assertScrimTint(mScrimBehind, false /* tinted */);
+        assertScrimTint(mScrimBehind, true /* tinted */);
     }
 
     @Test
@@ -253,7 +255,6 @@
         assertScrimTint(mScrimBehind, false /* tinted */);
     }
 
-    @FlakyTest(bugId = 124858892)
     @Test
     public void transitionToUnlocked() {
         mScrimController.setPanelExpansion(0f);
@@ -298,7 +299,6 @@
         Assert.assertEquals(mScrimState, ScrimState.BOUNCER_SCRIMMED);
     }
 
-    @FlakyTest(bugId = 124858892)
     @Test
     public void panelExpansion() {
         mScrimController.setPanelExpansion(0f);
@@ -309,19 +309,18 @@
         reset(mScrimBehind);
         mScrimController.setPanelExpansion(0f);
         mScrimController.setPanelExpansion(1.0f);
-        mScrimController.onPreDraw();
+        mScrimController.finishAnimationsImmediately();
 
         Assert.assertEquals("Scrim alpha should change after setPanelExpansion",
                 mScrimBehindAlpha, mScrimBehind.getViewAlpha(), 0.01f);
 
         mScrimController.setPanelExpansion(0f);
-        mScrimController.onPreDraw();
+        mScrimController.finishAnimationsImmediately();
 
         Assert.assertEquals("Scrim alpha should change after setPanelExpansion",
                 mScrimBehindAlpha, mScrimBehind.getViewAlpha(), 0.01f);
     }
 
-    @FlakyTest(bugId = 124858892)
     @Test
     public void panelExpansionAffectsAlpha() {
         mScrimController.setPanelExpansion(0f);
@@ -339,6 +338,7 @@
 
         mScrimController.setExpansionAffectsAlpha(true);
         mScrimController.setPanelExpansion(0.1f);
+        mScrimController.finishAnimationsImmediately();
         Assert.assertNotEquals("Scrim opacity should change when setExpansionAffectsAlpha "
                 + "is true", scrimAlpha, mScrimBehind.getViewAlpha(), 0.01f);
     }
@@ -666,7 +666,6 @@
      */
     private class SynchronousScrimController extends ScrimController {
 
-        private FakeHandler mHandler;
         private boolean mAnimationCancelled;
         boolean mOnPreDrawCalled;
 
@@ -676,7 +675,6 @@
                 AlarmManager alarmManager) {
             super(scrimBehind, scrimInFront, scrimStateListener, scrimVisibleListener,
                     dozeParameters, alarmManager);
-            mHandler = new FakeHandler(Looper.myLooper());
         }
 
         @Override
@@ -688,13 +686,10 @@
         void finishAnimationsImmediately() {
             boolean[] animationFinished = {false};
             setOnAnimationFinished(()-> animationFinished[0] = true);
-
             // Execute code that will trigger animations.
             onPreDraw();
-
-            // Force finish screen blanking.
-            mHandler.dispatchQueuedMessages();
             // Force finish all animations.
+            mLooper.processAllMessages();
             endAnimation(mScrimBehind, TAG_KEY_ANIM);
             endAnimation(mScrimInFront, TAG_KEY_ANIM);
 
@@ -724,7 +719,7 @@
 
         @Override
         protected Handler getHandler() {
-            return mHandler;
+            return new FakeHandler(mLooper.getLooper());
         }
 
         @Override
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
index f8bfc54..cb5612d 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarTest.java
@@ -41,6 +41,7 @@
 import android.app.StatusBarManager;
 import android.app.trust.TrustManager;
 import android.content.Context;
+import android.hardware.display.AmbientDisplayConfiguration;
 import android.hardware.fingerprint.FingerprintManager;
 import android.metrics.LogMaker;
 import android.os.Binder;
@@ -74,7 +75,6 @@
 import com.android.systemui.SysuiTestCase;
 import com.android.systemui.UiOffloadThread;
 import com.android.systemui.appops.AppOpsController;
-import com.android.systemui.appops.AppOpsControllerImpl;
 import com.android.systemui.assist.AssistManager;
 import com.android.systemui.bubbles.BubbleController;
 import com.android.systemui.classifier.FalsingManager;
@@ -111,7 +111,6 @@
 import com.android.systemui.statusbar.notification.stack.NotificationStackScrollLayout;
 import com.android.systemui.statusbar.policy.DeviceProvisionedController;
 import com.android.systemui.statusbar.policy.KeyguardMonitor;
-import com.android.systemui.statusbar.policy.KeyguardMonitorImpl;
 import com.android.systemui.statusbar.policy.UserSwitcherController;
 
 import org.junit.Before;
@@ -160,7 +159,6 @@
     @Mock private NotificationPresenter mNotificationPresenter;
     @Mock
     private NotificationEntryListener mEntryListener;
-    @Mock private BubbleController mBubbleController;
     @Mock
     private NotificationFilter mNotificationFilter;
     @Mock
@@ -169,6 +167,8 @@
     private NotificationLogger.ExpansionStateLogger mExpansionStateLogger;
     @Mock
     private KeyguardUpdateMonitor mKeyguardUpdateMonitor;
+    @Mock
+    private AmbientDisplayConfiguration mAmbientDisplayConfiguration;
 
     private TestableStatusBar mStatusBar;
     private FakeMetricsLogger mMetricsLogger;
@@ -189,8 +189,8 @@
                 mViewHierarchyManager);
         mDependency.injectTestDependency(VisualStabilityManager.class, mVisualStabilityManager);
         mDependency.injectTestDependency(NotificationListener.class, mNotificationListener);
-        mDependency.injectTestDependency(KeyguardMonitor.class, mock(KeyguardMonitorImpl.class));
-        mDependency.injectTestDependency(AppOpsController.class, mock(AppOpsControllerImpl.class));
+        mDependency.injectTestDependency(KeyguardMonitor.class, mock(KeyguardMonitor.class));
+        mDependency.injectTestDependency(AppOpsController.class, mock(AppOpsController.class));
         mDependency.injectTestDependency(StatusBarStateController.class, mStatusBarStateController);
         mDependency.injectTestDependency(DeviceProvisionedController.class,
                 mDeviceProvisionedController);
@@ -205,7 +205,7 @@
 
         mNotificationInterruptionStateProvider =
                 new TestableNotificationInterruptionStateProvider(mContext, mPowerManager,
-                        mDreamManager);
+                        mDreamManager, mAmbientDisplayConfiguration);
         mDependency.injectTestDependency(NotificationInterruptionStateProvider.class,
                 mNotificationInterruptionStateProvider);
         mDependency.injectMockDependency(NavigationBarController.class);
@@ -641,10 +641,10 @@
     @Test
     public void testPulseWhileDozing_notifyAuthInterrupt() {
         HashSet<Integer> reasonsWantingAuth = new HashSet<>(
-                Collections.singletonList(DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN));
+                Collections.singletonList(DozeLog.PULSE_REASON_NOTIFICATION));
         HashSet<Integer> reasonsSkippingAuth = new HashSet<>(
                 Arrays.asList(DozeLog.PULSE_REASON_INTENT,
-                        DozeLog.PULSE_REASON_NOTIFICATION,
+                        DozeLog.PULSE_REASON_SENSOR_WAKE_LOCK_SCREEN,
                         DozeLog.PULSE_REASON_SENSOR_SIGMOTION,
                         DozeLog.REASON_SENSOR_PICKUP,
                         DozeLog.REASON_SENSOR_DOUBLE_TAP,
@@ -832,8 +832,9 @@
         public TestableNotificationInterruptionStateProvider(
                 Context context,
                 PowerManager powerManager,
-                IDreamManager dreamManager) {
-            super(context, powerManager, dreamManager);
+                IDreamManager dreamManager,
+                AmbientDisplayConfiguration ambientDisplayConfiguration) {
+            super(context, powerManager, dreamManager, ambientDisplayConfiguration);
             mUseHeadsUp = true;
         }
     }
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarWindowViewTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarWindowViewTest.java
index ca0e1c6..00d87c3 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarWindowViewTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/phone/StatusBarWindowViewTest.java
@@ -22,6 +22,7 @@
 import static org.mockito.Mockito.when;
 
 import android.os.SystemClock;
+import android.testing.TestableLooper;
 import android.view.MotionEvent;
 
 import androidx.test.filters.SmallTest;
@@ -39,6 +40,7 @@
 import org.junit.runner.RunWith;
 
 @RunWith(AndroidJUnit4.class)
+@TestableLooper.RunWithLooper
 @SmallTest
 public class StatusBarWindowViewTest extends SysuiTestCase {
 
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/HeadsUpManagerTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/HeadsUpManagerTest.java
new file mode 100644
index 0000000..6b83fed
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/HeadsUpManagerTest.java
@@ -0,0 +1,88 @@
+/*
+ * 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.policy;
+
+import static junit.framework.Assert.assertFalse;
+import static junit.framework.Assert.assertTrue;
+
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.Mockito.doReturn;
+
+import android.content.Context;
+import android.testing.AndroidTestingRunner;
+import android.testing.TestableLooper;
+
+import androidx.test.filters.SmallTest;
+
+import com.android.systemui.statusbar.AlertingNotificationManager;
+import com.android.systemui.statusbar.AlertingNotificationManagerTest;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+@SmallTest
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+public class HeadsUpManagerTest extends AlertingNotificationManagerTest {
+    private static final int TEST_A11Y_AUTO_DISMISS_TIME = 600;
+    private static final int TEST_A11Y_TIMEOUT_TIME = 5_000;
+
+    private AccessibilityManagerWrapper mAccessibilityMgr;
+    private HeadsUpManager mHeadsUpManager;
+    private boolean mLivesPastNormalTime;
+
+    private final class TestableHeadsUpManager extends HeadsUpManager {
+        TestableHeadsUpManager(Context context) {
+            super(context);
+            mMinimumDisplayTime = TEST_MINIMUM_DISPLAY_TIME;
+            mAutoDismissNotificationDecay = TEST_AUTO_DISMISS_TIME;
+        }
+    }
+
+    protected AlertingNotificationManager createAlertingNotificationManager() {
+        return mHeadsUpManager;
+    }
+
+    @Before
+    public void setUp() {
+        mAccessibilityMgr = mDependency.injectMockDependency(AccessibilityManagerWrapper.class);
+
+        mHeadsUpManager = new TestableHeadsUpManager(mContext);
+        super.setUp();
+        mHeadsUpManager.mHandler = mTestHandler;
+    }
+
+    @Test
+    public void testShowNotification_autoDismissesWithAccessibilityTimeout() {
+        doReturn(TEST_A11Y_AUTO_DISMISS_TIME).when(mAccessibilityMgr)
+                .getRecommendedTimeoutMillis(anyInt(), anyInt());
+        mHeadsUpManager.showNotification(mEntry);
+        Runnable pastNormalTimeRunnable =
+                () -> mLivesPastNormalTime = mHeadsUpManager.isAlerting(mEntry.key);
+        mTestHandler.postDelayed(pastNormalTimeRunnable,
+                        (TEST_A11Y_AUTO_DISMISS_TIME + TEST_AUTO_DISMISS_TIME) / 2);
+        mTestHandler.postDelayed(TEST_TIMEOUT_RUNNABLE, TEST_A11Y_TIMEOUT_TIME);
+
+        TestableLooper.get(this).processMessages(2);
+
+        assertFalse("Test timed out", mTimedOut);
+        assertTrue("Heads up should live long enough", mLivesPastNormalTime);
+        assertFalse(mHeadsUpManager.isAlerting(mEntry.key));
+    }
+}
+
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/HotspotControllerImplTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/HotspotControllerImplTest.java
new file mode 100644
index 0000000..3e4c4d6
--- /dev/null
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/HotspotControllerImplTest.java
@@ -0,0 +1,116 @@
+/*
+ * 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.policy;
+
+import static org.mockito.ArgumentMatchers.anyBoolean;
+import static org.mockito.ArgumentMatchers.anyInt;
+import static org.mockito.ArgumentMatchers.eq;
+import static org.mockito.Mockito.any;
+import static org.mockito.Mockito.doAnswer;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+
+import android.net.ConnectivityManager;
+import android.net.wifi.WifiManager;
+import android.os.Handler;
+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;
+import org.mockito.invocation.InvocationOnMock;
+
+@SmallTest
+@RunWith(AndroidTestingRunner.class)
+@TestableLooper.RunWithLooper
+public class HotspotControllerImplTest extends SysuiTestCase {
+
+    @Mock
+    private ConnectivityManager mConnectivityManager;
+    @Mock
+    private WifiManager mWifiManager;
+    @Mock
+    private HotspotController.Callback mCallback1;
+    @Mock
+    private HotspotController.Callback mCallback2;
+    private HotspotControllerImpl mController;
+    private TestableLooper mLooper;
+
+    @Before
+    public void setUp() {
+        MockitoAnnotations.initMocks(this);
+        mLooper = TestableLooper.get(this);
+
+        mContext.addMockSystemService(ConnectivityManager.class, mConnectivityManager);
+        mContext.addMockSystemService(WifiManager.class, mWifiManager);
+
+        doAnswer((InvocationOnMock invocation) -> {
+            ((WifiManager.SoftApCallback) invocation.getArgument(0)).onNumClientsChanged(1);
+            return null;
+        }).when(mWifiManager).registerSoftApCallback(any(WifiManager.SoftApCallback.class),
+                any(Handler.class));
+
+        mController = new HotspotControllerImpl(mContext, new Handler(mLooper.getLooper()));
+    }
+
+    @Test
+    public void testAddingTwoCallbacksRegistersToWifiManagerOnce() {
+        mController.addCallback(mCallback1);
+        mController.addCallback(mCallback2);
+
+        verify(mWifiManager, times(1)).registerSoftApCallback(eq(mController), any());
+    }
+
+    @Test
+    public void testAddingCallbacksDoesntUpdateAll() {
+        mController.addCallback(mCallback1);
+        mController.addCallback(mCallback2);
+
+        mLooper.processAllMessages();
+        // Each callback should be updated only once
+        verify(mCallback1, times(1)).onHotspotChanged(anyBoolean(), anyInt());
+        verify(mCallback2, times(1)).onHotspotChanged(anyBoolean(), anyInt());
+    }
+
+    @Test
+    public void testRemovingTwoCallbacksUnegistersToWifiManagerOnce() {
+        mController.addCallback(mCallback1);
+        mController.addCallback(mCallback2);
+
+        mController.removeCallback(mCallback1);
+        mController.removeCallback(mCallback2);
+
+        verify(mWifiManager, times(1)).unregisterSoftApCallback(mController);
+    }
+
+    @Test
+    public void testDoNotUnregisterIfRemainingCallbacks() {
+        mController.addCallback(mCallback1);
+        mController.addCallback(mCallback2);
+
+        verify(mWifiManager, never()).unregisterSoftApCallback(any());
+    }
+
+}
diff --git a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java
index 2baea1a..96fad21 100644
--- a/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java
+++ b/packages/SystemUI/tests/src/com/android/systemui/statusbar/policy/NetworkControllerDataTest.java
@@ -7,7 +7,7 @@
 
 import android.net.NetworkCapabilities;
 import android.os.Looper;
-import android.telephony.NetworkRegistrationState;
+import android.telephony.NetworkRegistrationInfo;
 import android.telephony.ServiceState;
 import android.telephony.TelephonyManager;
 import android.test.suitebuilder.annotation.SmallTest;
@@ -151,7 +151,7 @@
         updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
                 TelephonyManager.NETWORK_TYPE_LTE);
         ServiceState ss = Mockito.mock(ServiceState.class);
-        doReturn(NetworkRegistrationState.NR_STATUS_CONNECTED).when(ss).getNrStatus();
+        doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(ss).getNrState();
         doReturn(ServiceState.FREQUENCY_RANGE_HIGH).when(ss).getNrFrequencyRange();
         mPhoneStateListener.onServiceStateChanged(ss);
 
@@ -165,7 +165,7 @@
         updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
                 TelephonyManager.NETWORK_TYPE_LTE);
         ServiceState ss = Mockito.mock(ServiceState.class);
-        doReturn(NetworkRegistrationState.NR_STATUS_CONNECTED).when(ss).getNrStatus();
+        doReturn(NetworkRegistrationInfo.NR_STATE_CONNECTED).when(ss).getNrState();
         doReturn(ServiceState.FREQUENCY_RANGE_MMWAVE).when(ss).getNrFrequencyRange();
         mPhoneStateListener.onServiceStateChanged(ss);
 
@@ -179,7 +179,7 @@
         updateDataConnectionState(TelephonyManager.DATA_CONNECTED,
                 TelephonyManager.NETWORK_TYPE_LTE);
         ServiceState ss = Mockito.mock(ServiceState.class);
-        doReturn(NetworkRegistrationState.NR_STATUS_RESTRICTED).when(ss).getNrStatus();
+        doReturn(NetworkRegistrationInfo.NR_STATE_RESTRICTED).when(ss).getNrState();
         mPhoneStateListener.onServiceStateChanged(mServiceState);
 
         verifyDataIndicators(TelephonyIcons.ICON_LTE);
diff --git a/packages/overlays/Android.mk b/packages/overlays/Android.mk
index 7ce13c2..a15e89c 100644
--- a/packages/overlays/Android.mk
+++ b/packages/overlays/Android.mk
@@ -25,12 +25,15 @@
 	DisplayCutoutEmulationTallOverlay \
 	FontNotoSerifSourceOverlay \
 	IconPackCircularAndroidOverlay \
+	IconPackCircularLauncherOverlay \
 	IconPackCircularSettingsOverlay \
 	IconPackCircularSystemUIOverlay \
 	IconPackFilledAndroidOverlay \
+	IconPackFilledLauncherOverlay \
 	IconPackFilledSettingsOverlay \
 	IconPackFilledSystemUIOverlay \
 	IconPackRoundedAndroidOverlay \
+	IconPackRoundedLauncherOverlay \
 	IconPackRoundedSettingsOverlay \
 	IconPackRoundedSystemUIOverlay \
 	IconShapeRoundedRectOverlay \
diff --git a/tests/LowStorageTest/Android.mk b/packages/overlays/IconPackCircularLauncherOverlay/Android.mk
similarity index 68%
rename from tests/LowStorageTest/Android.mk
rename to packages/overlays/IconPackCircularLauncherOverlay/Android.mk
index bdde6bd..a5277fa 100644
--- a/tests/LowStorageTest/Android.mk
+++ b/packages/overlays/IconPackCircularLauncherOverlay/Android.mk
@@ -1,26 +1,31 @@
-# Copyright (C) 2009 The Android Open Source Project
+#
+#  Copyright 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
+#     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.
+#
 
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
-LOCAL_MODULE_TAGS := tests
+LOCAL_RRO_THEME := IconPackCircularLauncher
 LOCAL_CERTIFICATE := platform
+LOCAL_PRODUCT_MODULE := true
 
 LOCAL_SRC_FILES := $(call all-subdir-java-files)
 
-LOCAL_PACKAGE_NAME := lowstoragetest
+LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
+
+LOCAL_PACKAGE_NAME := IconPackCircularLauncherOverlay
 LOCAL_SDK_VERSION := current
 
-include $(BUILD_PACKAGE)
+include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackCircularLauncherOverlay/AndroidManifest.xml b/packages/overlays/IconPackCircularLauncherOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..0b69eca
--- /dev/null
+++ b/packages/overlays/IconPackCircularLauncherOverlay/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<!--
+/**
+ * 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.
+ */
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.theme.icon_pack.circular.launcher"
+    android:versionCode="1"
+    android:versionName="1.0">
+    <overlay android:targetPackage="com.android.launcher3" android:category="android.theme.customization.icon_pack.launcher" android:priority="1"/>
+    <application android:label="Circular" android:hasCode="false"/>
+</manifest>
diff --git a/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_clear.xml b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_clear.xml
new file mode 100644
index 0000000..74ed9ed
--- /dev/null
+++ b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_clear.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M9,20h6c1.66,0,3-1.34,3-3V6h0.5c0.41,0,0.75-0.34,0.75-0.75S18.91,4.5,18.5,4.5H18h-3l-1-1h-4l-1,1H6H5.5 c-0.41,0-0.75,0.34-0.75,0.75S5.09,6,5.5,6H6v11C6,18.66,7.34,20,9,20z M16.5,6v11c0,0.83-0.67,1.5-1.5,1.5H9 c-0.83,0-1.5-0.67-1.5-1.5V6H16.5z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M13.97,16c0.41,0,0.75-0.34,0.75-0.75v-6.5c0-0.41-0.34-0.75-0.75-0.75s-0.75,0.34-0.75,0.75v6.5 C13.22,15.66,13.55,16,13.97,16z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M10,16c0.41,0,0.75-0.34,0.75-0.75v-6.5C10.75,8.34,10.41,8,10,8S9.25,8.34,9.25,8.75v6.5C9.25,15.66,9.59,16,10,16z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_corp.xml b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_corp.xml
new file mode 100644
index 0000000..6c4e1de
--- /dev/null
+++ b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_corp.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M16,4c0-1.1-0.9-2-2-2h-4C8.9,2,8,2.9,8,4v2H2v12c0,1.66,1.34,3,3,3h14c1.66,0,3-1.34,3-3V6h-6V4z M9.5,4 c0-0.28,0.22-0.5,0.5-0.5h4c0.28,0,0.5,0.22,0.5,0.5v2h-5V4z M20.5,7.5V18c0,0.83-0.67,1.5-1.5,1.5H5c-0.83,0-1.5-0.67-1.5-1.5V7.5 H20.5z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_empty_recents.xml b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_empty_recents.xml
new file mode 100644
index 0000000..7e363f6
--- /dev/null
+++ b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_empty_recents.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M17,18V6c0-1.1-0.9-2-2-2H9C7.9,4,7,4.9,7,6v12c0,1.1,0.9,2,2,2h6C16.1,20,17,19.1,17,18z M8.5,18V6 c0-0.28,0.22-0.5,0.5-0.5h6c0.28,0,0.5,0.22,0.5,0.5v12c0,0.28-0.22,0.5-0.5,0.5H9C8.72,18.5,8.5,18.28,8.5,18z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M21,7h-2c-0.55,0-1,0.45-1,1v8c0,0.55,0.45,1,1,1h2c0.55,0,1-0.45,1-1V8C22,7.45,21.55,7,21,7z M20.5,15.5h-1v-7h1V15.5z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M5,17c0.55,0,1-0.45,1-1V8c0-0.55-0.45-1-1-1H3C2.45,7,2,7.45,2,8v8c0,0.55,0.45,1,1,1H5z M3.5,8.5h1v7h-1V8.5z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_info_no_shadow.xml b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_info_no_shadow.xml
new file mode 100644
index 0000000..e4bc8e6
--- /dev/null
+++ b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_info_no_shadow.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M11.99,2C6.47,2,2,6.48,2,12c0,5.52,4.47,10,9.99,10C17.52,22,22,17.52,22,12C22,6.48,17.52,2,11.99,2z M11.99,20.5 c-4.68,0-8.49-3.81-8.49-8.5c0-4.69,3.81-8.5,8.49-8.5c4.69,0,8.51,3.81,8.51,8.5C20.5,16.69,16.68,20.5,11.99,20.5z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M12,10.5c-0.41,0-0.75,0.34-0.75,0.75v5c0,0.41,0.34,0.75,0.75,0.75s0.75-0.34,0.75-0.75v-5 C12.75,10.84,12.41,10.5,12,10.5z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M 12 7 C 12.5522847498 7 13 7.44771525017 13 8 C 13 8.55228474983 12.5522847498 9 12 9 C 11.4477152502 9 11 8.55228474983 11 8 C 11 7.44771525017 11.4477152502 7 12 7 Z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_remove_no_shadow.xml b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_remove_no_shadow.xml
new file mode 100644
index 0000000..c104e3e
--- /dev/null
+++ b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_remove_no_shadow.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M3.97,20.03c0.15,0.15,0.34,0.22,0.53,0.22s0.38-0.07,0.53-0.22L12,13.06l6.97,6.97c0.15,0.15,0.34,0.22,0.53,0.22 s0.38-0.07,0.53-0.22c0.29-0.29,0.29-0.77,0-1.06L13.06,12l6.97-6.97c0.29-0.29,0.29-0.77,0-1.06s-0.77-0.29-1.06,0L12,10.94 L5.03,3.97c-0.29-0.29-0.77-0.29-1.06,0s-0.29,0.77,0,1.06L10.94,12l-6.97,6.97C3.68,19.26,3.68,19.74,3.97,20.03z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_setting.xml b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_setting.xml
new file mode 100644
index 0000000..e526329
--- /dev/null
+++ b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_setting.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M12,8.5c-1.93,0-3.5,1.57-3.5,3.5s1.57,3.5,3.5,3.5c1.93,0,3.5-1.57,3.5-3.5S13.93,8.5,12,8.5z M12,14c-1.1,0-2-0.9-2-2 s0.9-2,2-2c1.1,0,2,0.9,2,2S13.1,14,12,14z M21.29,13.9l-1.83-1.05c-0.3-0.17-0.49-0.49-0.48-0.84v-0.01 c0-0.35,0.18-0.67,0.48-0.84l1.83-1.05c0.48-0.28,0.64-0.89,0.37-1.37l-2-3.46c-0.19-0.32-0.52-0.5-0.87-0.5 c-0.17,0-0.34,0.04-0.5,0.13l-1.84,1.06c-0.14,0.08-0.29,0.12-0.45,0.12c-0.17,0-0.35-0.05-0.5-0.14c0,0-0.01,0-0.01-0.01 C15.2,5.77,15,5.47,15,5.12V3c0-0.55-0.45-1-1-1h-4C9.45,2,9,2.45,9,3v2.12c0,0.34-0.2,0.65-0.5,0.82c0,0-0.01,0-0.01,0.01 c-0.16,0.09-0.33,0.14-0.5,0.14c-0.15,0-0.31-0.04-0.45-0.12L5.71,4.9c-0.16-0.09-0.33-0.13-0.5-0.13c-0.35,0-0.68,0.18-0.87,0.5 l-2,3.46C2.06,9.21,2.23,9.82,2.71,10.1l1.83,1.05c0.3,0.17,0.49,0.49,0.48,0.84v0.01c0,0.35-0.18,0.67-0.48,0.84L2.71,13.9 c-0.48,0.28-0.64,0.89-0.37,1.37l2,3.46c0.19,0.32,0.52,0.5,0.87,0.5c0.17,0,0.34-0.04,0.5-0.13l1.84-1.06 c0.14-0.08,0.29-0.12,0.45-0.12c0.17,0,0.35,0.05,0.5,0.14c0,0,0.01,0,0.01,0.01C8.8,18.23,9,18.53,9,18.88V21c0,0.55,0.45,1,1,1h4 c0.55,0,1-0.45,1-1v-2.12c0-0.34,0.2-0.65,0.5-0.82c0,0,0.01,0,0.01-0.01c0.16-0.09,0.33-0.14,0.5-0.14c0.15,0,0.31,0.04,0.45,0.12 l1.84,1.06c0.16,0.09,0.33,0.13,0.5,0.13c0.35,0,0.68-0.18,0.87-0.5l2-3.46C21.94,14.79,21.77,14.18,21.29,13.9z M18.61,17.55 l-1.41-0.81c-0.36-0.21-0.78-0.32-1.2-0.32c-0.43,0-0.86,0.12-1.25,0.34c-0.77,0.44-1.25,1.25-1.25,2.12v1.62h-3v-1.62 c0-0.87-0.48-1.68-1.26-2.12c-0.38-0.22-0.81-0.33-1.25-0.33c-0.42,0-0.84,0.11-1.2,0.32l-1.41,0.81l-1.5-2.6l1.39-0.8 c0.76-0.44,1.24-1.26,1.23-2.15c0-0.88-0.47-1.7-1.23-2.14l-1.39-0.8l1.5-2.6L6.8,7.26c0.36,0.21,0.78,0.32,1.2,0.32 c0.43,0,0.86-0.12,1.25-0.34c0.77-0.44,1.25-1.25,1.25-2.12V3.5h3v1.62c0,0.87,0.48,1.68,1.26,2.12c0.38,0.22,0.81,0.33,1.25,0.33 c0.42,0,0.84-0.11,1.2-0.32l1.41-0.81l1.5,2.6l-1.39,0.8c-0.76,0.44-1.24,1.26-1.23,2.15c0,0.88,0.47,1.7,1.23,2.14l1.39,0.8 L18.61,17.55z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_smartspace_preferences.xml b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_smartspace_preferences.xml
new file mode 100644
index 0000000..78de832
--- /dev/null
+++ b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_smartspace_preferences.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M15.08,8.01c-0.39-0.39-0.91-0.59-1.42-0.59c-0.51,0-1.02,0.2-1.41,0.59L0.59,19.67l3.75,3.75l11.66-11.66 c0.78-0.78,0.78-2.04,0.01-2.82L15.08,8.01z M4.34,21.29l-1.63-1.63l7.45-7.45l1.63,1.63L4.34,21.29z M14.93,10.7l-2.09,2.09 l-1.63-1.63l2.09-2.09c0.13-0.13,0.28-0.15,0.35-0.15c0.08,0,0.23,0.02,0.36,0.15l0.92,0.93C15.13,10.18,15.13,10.5,14.93,10.7z M17.67,5.25h1.08v1.08c0,0.41,0.34,0.75,0.75,0.75s0.75-0.34,0.75-0.75V5.25h1.08c0.41,0,0.75-0.34,0.75-0.75 s-0.34-0.75-0.75-0.75h-1.08V2.67c0-0.41-0.34-0.75-0.75-0.75s-0.75,0.34-0.75,0.75v1.08h-1.08c-0.41,0-0.75,0.34-0.75,0.75 S17.26,5.25,17.67,5.25z M5.67,5.25h1.08v1.08c0,0.41,0.34,0.75,0.75,0.75s0.75-0.34,0.75-0.75V5.25h1.08 c0.41,0,0.75-0.34,0.75-0.75S9.74,3.75,9.33,3.75H8.25V2.67c0-0.41-0.34-0.75-0.75-0.75S6.75,2.26,6.75,2.67v1.08H5.67 c-0.41,0-0.75,0.34-0.75,0.75S5.26,5.25,5.67,5.25z M21.33,15.75h-1.08v-1.08c0-0.41-0.34-0.75-0.75-0.75s-0.75,0.34-0.75,0.75 v1.08h-1.08c-0.41,0-0.75,0.34-0.75,0.75s0.34,0.75,0.75,0.75h1.08v1.08c0,0.41,0.34,0.75,0.75,0.75s0.75-0.34,0.75-0.75v-1.08 h1.08c0.41,0,0.75-0.34,0.75-0.75S21.74,15.75,21.33,15.75z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_split_screen.xml b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_split_screen.xml
new file mode 100644
index 0000000..11f0b4b
--- /dev/null
+++ b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_split_screen.xml
@@ -0,0 +1,29 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M4,6v3c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V6c0-1.1-0.9-2-2-2H6C4.9,4,4,4.9,4,6z M18.5,6v3c0,0.28-0.22,0.5-0.5,0.5H6 C5.72,9.5,5.5,9.28,5.5,9V6c0-0.28,0.22-0.5,0.5-0.5h12C18.28,5.5,18.5,5.72,18.5,6z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M4,18c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2v-3c0-1.1-0.9-2-2-2H6c-1.1,0-2,0.9-2,2V18z M5.5,15c0-0.28,0.22-0.5,0.5-0.5h12 c0.28,0,0.5,0.22,0.5,0.5v3c0,0.28-0.22,0.5-0.5,0.5H6c-0.28,0-0.5-0.22-0.5-0.5V15z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_wallpaper.xml b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_wallpaper.xml
new file mode 100644
index 0000000..3834fb6
--- /dev/null
+++ b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_wallpaper.xml
@@ -0,0 +1,46 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <group
+            android:translateX="119.000000"
+            android:translateY="358.000000">
+        <group
+                android:translateX="2.000000"
+                android:translateY="2.000000">
+            <path
+                android:fillColor="#000000"
+                android:pathData="M-109-356.5c4.69,0,8.5,3.36,8.5,7.5c0,2.48-2.02,4.5-4.5,4.5h-1.77c-1.1,0-2,0.9-2,2 c0,0.45,0.16,0.89,0.46,1.27l0.02,0.02l0.02,0.02c0.17,0.2,0.27,0.44,0.27,0.68c0,0.55-0.45,1-1,1c-4.69,0-8.5-3.81-8.5-8.5 S-113.69-356.5-109-356.5 M-109-358c-5.51,0-10,4.49-10,10s4.49,10,10,10c1.38,0,2.5-1.12,2.5-2.5c0-0.61-0.23-1.2-0.64-1.67 c-0.08-0.1-0.13-0.21-0.13-0.33c0-0.28,0.22-0.5,0.5-0.5h1.77c3.31,0,6-2.69,6-6C-99-353.96-103.49-358-109-358L-109-358z" />
+        </group>
+    </group>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M 6.5 10 C 7.32842712475 10 8 10.6715728753 8 11.5 C 8 12.3284271247 7.32842712475 13 6.5 13 C 5.67157287525 13 5 12.3284271247 5 11.5 C 5 10.6715728753 5.67157287525 10 6.5 10 Z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M 9.5 6 C 10.3284271247 6 11 6.67157287525 11 7.5 C 11 8.32842712475 10.3284271247 9 9.5 9 C 8.67157287525 9 8 8.32842712475 8 7.5 C 8 6.67157287525 8.67157287525 6 9.5 6 Z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M 14.5 6 C 15.3284271247 6 16 6.67157287525 16 7.5 C 16 8.32842712475 15.3284271247 9 14.5 9 C 13.6715728753 9 13 8.32842712475 13 7.5 C 13 6.67157287525 13.6715728753 6 14.5 6 Z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M 17.5 10 C 18.3284271247 10 19 10.6715728753 19 11.5 C 19 12.3284271247 18.3284271247 13 17.5 13 C 16.6715728753 13 16 12.3284271247 16 11.5 C 16 10.6715728753 16.6715728753 10 17.5 10 Z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_warning.xml b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_warning.xml
new file mode 100644
index 0000000..f73a9cc
--- /dev/null
+++ b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_warning.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M4.47,21h15.06c1.54,0,2.5-1.67,1.73-3L13.73,4.99c-0.39-0.67-1.06-1-1.73-1s-1.35,0.33-1.73,1L2.74,18 C1.97,19.33,2.93,21,4.47,21z M4.04,18.75l7.53-13.01c0.13-0.22,0.33-0.25,0.43-0.25s0.31,0.03,0.43,0.25l7.53,13.01 c0.13,0.22,0.05,0.41,0,0.5c-0.05,0.09-0.18,0.25-0.43,0.25H4.47c-0.25,0-0.38-0.16-0.43-0.25C3.98,19.16,3.91,18.97,4.04,18.75z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M12,14.75c0.41,0,0.75-0.34,0.75-0.75V9.75C12.75,9.33,12.41,9,12,9s-0.75,0.34-0.75,0.75V14 C11.25,14.41,11.59,14.75,12,14.75z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M 12 16 C 12.5522847498 16 13 16.4477152502 13 17 C 13 17.5522847498 12.5522847498 18 12 18 C 11.4477152502 18 11 17.5522847498 11 17 C 11 16.4477152502 11.4477152502 16 12 16 Z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_widget.xml b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_widget.xml
new file mode 100644
index 0000000..1c2470e
--- /dev/null
+++ b/packages/overlays/IconPackCircularLauncherOverlay/res/drawable/ic_widget.xml
@@ -0,0 +1,35 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M11,5c0-1.1-0.9-2-2-2H5C3.9,3,3,3.9,3,5v4c0,1.1,0.9,2,2,2h4c1.1,0,2-0.9,2-2V5z M9.5,9c0,0.28-0.22,0.5-0.5,0.5H5 C4.72,9.5,4.5,9.28,4.5,9V5c0-0.28,0.22-0.5,0.5-0.5h4c0.28,0,0.5,0.22,0.5,0.5V9z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M9,13H5c-1.1,0-2,0.9-2,2v4c0,1.1,0.9,2,2,2h4c1.1,0,2-0.9,2-2v-4C11,13.9,10.1,13,9,13z M9.5,19c0,0.28-0.22,0.5-0.5,0.5 H5c-0.28,0-0.5-0.22-0.5-0.5v-4c0-0.28,0.22-0.5,0.5-0.5h4c0.28,0,0.5,0.22,0.5,0.5V19z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M19,13h-4c-1.1,0-2,0.9-2,2v4c0,1.1,0.9,2,2,2h4c1.1,0,2-0.9,2-2v-4C21,13.9,20.1,13,19,13z M19.5,19 c0,0.28-0.22,0.5-0.5,0.5h-4c-0.28,0-0.5-0.22-0.5-0.5v-4c0-0.28,0.22-0.5,0.5-0.5h4c0.28,0,0.5,0.22,0.5,0.5V19z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M18.41,2.76c-0.39-0.39-0.9-0.59-1.41-0.59s-1.02,0.2-1.41,0.59l-2.83,2.83c-0.78,0.78-0.78,2.05,0,2.83l2.83,2.83 c0.39,0.39,0.9,0.59,1.41,0.59s1.02-0.2,1.41-0.59l2.83-2.83c0.78-0.78,0.78-2.05,0-2.83L18.41,2.76z M20.18,7.35l-2.83,2.83 c-0.13,0.13-0.28,0.15-0.35,0.15s-0.23-0.02-0.35-0.15l-2.83-2.83C13.69,7.23,13.67,7.08,13.67,7s0.02-0.23,0.15-0.35l2.83-2.83 c0.13-0.13,0.28-0.15,0.35-0.15s0.23,0.02,0.35,0.15l2.83,2.83c0.13,0.13,0.15,0.28,0.15,0.35S20.31,7.23,20.18,7.35z" />
+</vector>
\ No newline at end of file
diff --git a/tests/LowStorageTest/Android.mk b/packages/overlays/IconPackFilledLauncherOverlay/Android.mk
similarity index 68%
copy from tests/LowStorageTest/Android.mk
copy to packages/overlays/IconPackFilledLauncherOverlay/Android.mk
index bdde6bd..d2e5b60 100644
--- a/tests/LowStorageTest/Android.mk
+++ b/packages/overlays/IconPackFilledLauncherOverlay/Android.mk
@@ -1,26 +1,31 @@
-# Copyright (C) 2009 The Android Open Source Project
+#
+#  Copyright 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
+#     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.
+#
 
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
-LOCAL_MODULE_TAGS := tests
+LOCAL_RRO_THEME := IconPackFilledLauncher
 LOCAL_CERTIFICATE := platform
+LOCAL_PRODUCT_MODULE := true
 
 LOCAL_SRC_FILES := $(call all-subdir-java-files)
 
-LOCAL_PACKAGE_NAME := lowstoragetest
+LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
+
+LOCAL_PACKAGE_NAME := IconPackFilledLauncherOverlay
 LOCAL_SDK_VERSION := current
 
-include $(BUILD_PACKAGE)
+include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackFilledLauncherOverlay/AndroidManifest.xml b/packages/overlays/IconPackFilledLauncherOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..0b9f636
--- /dev/null
+++ b/packages/overlays/IconPackFilledLauncherOverlay/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<!--
+/**
+ * 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.
+ */
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.theme.icon_pack.filled.launcher"
+    android:versionCode="1"
+    android:versionName="1.0">
+    <overlay android:targetPackage="com.android.launcher3" android:category="android.theme.customization.icon_pack.launcher" android:priority="1"/>
+    <application android:label="Filled" android:hasCode="false"/>
+</manifest>
diff --git a/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_clear.xml b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_clear.xml
new file mode 100644
index 0000000..1a2f778
--- /dev/null
+++ b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_clear.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M20,4h-1h-4c0-0.55-0.45-1-1-1h-4C9.45,3,9,3.45,9,4H5H4C3.59,4,3.25,4.34,3.25,4.75S3.59,5.5,4,5.5h1V18 c0,1.66,1.34,3,3,3h8c1.66,0,3-1.34,3-3V5.5h1c0.41,0,0.75-0.34,0.75-0.75S20.41,4,20,4z M17.5,18c0,0.83-0.67,1.5-1.5,1.5H8 c-0.83,0-1.5-0.67-1.5-1.5V5.5h11V18z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M14.25,8c-0.41,0-0.75,0.34-0.75,0.75v7.5c0,0.41,0.34,0.75,0.75,0.75S15,16.66,15,16.25v-7.5C15,8.34,14.66,8,14.25,8z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M9.75,8C9.34,8,9,8.34,9,8.75v7.5C9,16.66,9.34,17,9.75,17s0.75-0.34,0.75-0.75v-7.5C10.5,8.34,10.16,8,9.75,8z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_corp.xml b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_corp.xml
new file mode 100644
index 0000000..8910308
--- /dev/null
+++ b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_corp.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M20,6h-4V4c0-1.1-0.9-2-2-2h-4C8.9,2,8,2.9,8,4v2H4C2.9,6,2,6.9,2,8v11c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V8 C22,6.9,21.1,6,20,6z M9.5,4c0-0.28,0.22-0.5,0.5-0.5h4c0.28,0,0.5,0.22,0.5,0.5v2h-5V4z M20.5,19c0,0.28-0.22,0.5-0.5,0.5H4 c-0.28,0-0.5-0.22-0.5-0.5V8c0-0.28,0.22-0.5,0.5-0.5h16c0.28,0,0.5,0.22,0.5,0.5V19z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_empty_recents.xml b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_empty_recents.xml
new file mode 100644
index 0000000..1d4c8d7
--- /dev/null
+++ b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_empty_recents.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M17,18V6c0-1.1-0.9-2-2-2H9C7.9,4,7,4.9,7,6v12c0,1.1,0.9,2,2,2h6C16.1,20,17,19.1,17,18z M8.5,18V6 c0-0.28,0.22-0.5,0.5-0.5h6c0.28,0,0.5,0.22,0.5,0.5v12c0,0.28-0.22,0.5-0.5,0.5H9C8.72,18.5,8.5,18.28,8.5,18z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M21,17c0.55,0,1-0.45,1-1V8c0-0.55-0.45-1-1-1h-2c-0.55,0-1,0.45-1,1v8c0,0.55,0.45,1,1,1H21z M19.5,8.5h1v7h-1V8.5z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M5,7H3C2.45,7,2,7.45,2,8v8c0,0.55,0.45,1,1,1h2c0.55,0,1-0.45,1-1V8C6,7.45,5.55,7,5,7z M4.5,15.5h-1v-7h1V15.5z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_info_no_shadow.xml b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_info_no_shadow.xml
new file mode 100644
index 0000000..a90141d
--- /dev/null
+++ b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_info_no_shadow.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M4.92,4.94c-3.9,3.91-3.9,10.24,0.01,14.14s10.24,3.9,14.14-0.01C20.95,17.2,22,14.65,22,12c0-2.65-1.06-5.19-2.93-7.07 C15.16,1.03,8.83,1.03,4.92,4.94z M18,18c-1.6,1.59-3.76,2.48-6.02,2.48c-4.69-0.01-8.49-3.83-8.48-8.52 c0.01-4.69,3.83-8.49,8.52-8.48c4.69,0.01,8.49,3.83,8.48,8.52C20.49,14.25,19.6,16.41,18,18z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M 12 7 C 12.5522847498 7 13 7.44771525017 13 8 C 13 8.55228474983 12.5522847498 9 12 9 C 11.4477152502 9 11 8.55228474983 11 8 C 11 7.44771525017 11.4477152502 7 12 7 Z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M12,10.5c-0.41,0-0.75,0.34-0.75,0.75v5c0,0.41,0.34,0.75,0.75,0.75s0.75-0.34,0.75-0.75v-5 C12.75,10.84,12.41,10.5,12,10.5z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_remove_no_shadow.xml b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_remove_no_shadow.xml
new file mode 100644
index 0000000..d31b6a1
--- /dev/null
+++ b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_remove_no_shadow.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M5.22,18.78C5.37,18.93,5.56,19,5.75,19s0.38-0.07,0.53-0.22L12,13.06l5.72,5.72c0.15,0.15,0.34,0.22,0.53,0.22 s0.38-0.07,0.53-0.22c0.29-0.29,0.29-0.77,0-1.06L13.06,12l5.72-5.72c0.29-0.29,0.29-0.77,0-1.06s-0.77-0.29-1.06,0L12,10.94 L6.28,5.22c-0.29-0.29-0.77-0.29-1.06,0s-0.29,0.77,0,1.06L10.94,12l-5.72,5.72C4.93,18.01,4.93,18.49,5.22,18.78z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_setting.xml b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_setting.xml
new file mode 100644
index 0000000..70dc701
--- /dev/null
+++ b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_setting.xml
@@ -0,0 +1,29 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M2.43,15.45l1.79,3.09c0.25,0.45,0.74,0.73,1.25,0.73c0.17,0,0.35-0.03,0.52-0.09l1.76-0.7c0.25,0.17,0.51,0.31,0.77,0.45 l0.26,1.84c0.09,0.71,0.69,1.24,1.42,1.24h3.61c0.72,0,1.33-0.53,1.43-1.19l0.26-1.86c0.25-0.14,0.51-0.28,0.76-0.45l1.76,0.7 c0.17,0.07,0.35,0.1,0.53,0.1c0.5,0,0.98-0.27,1.23-0.72l1.82-3.14c0.34-0.61,0.19-1.38-0.36-1.82l-1.48-1.16 c0.01-0.15,0.02-0.29,0.02-0.45s-0.01-0.3-0.02-0.45l1.48-1.16c0.55-0.43,0.7-1.19,0.35-1.84l-1.8-3.1 c-0.25-0.45-0.74-0.73-1.26-0.73c-0.17,0-0.35,0.03-0.52,0.09l-1.76,0.7c-0.25-0.17-0.51-0.31-0.77-0.45l-0.26-1.84 c-0.09-0.71-0.69-1.24-1.42-1.24h-3.61c-0.71,0-1.32,0.54-1.41,1.22L8.52,5.09C8.26,5.23,8.01,5.37,7.75,5.54L5.99,4.83 c-0.17-0.07-0.35-0.1-0.52-0.1c-0.5,0-0.98,0.27-1.22,0.72L2.43,8.55c-0.36,0.61-0.21,1.4,0.36,1.84l1.48,1.16 C4.27,11.7,4.26,11.85,4.26,12c0,0.16,0.01,0.3,0.02,0.45l-1.49,1.16C2.24,14.04,2.09,14.8,2.43,15.45z M5.2,13.63l0.63-0.49 l-0.05-0.79c-0.01-0.11-0.01-0.58,0-0.7l0.05-0.79L5.2,10.37L3.77,9.25l1.74-3l1.69,0.68l0.73,0.29l0.66-0.43 c0.19-0.13,0.4-0.25,0.65-0.38l0.67-0.36L10,5.3l0.25-1.79h3.48l0.26,1.8l0.11,0.76l0.69,0.36c0.23,0.12,0.44,0.24,0.64,0.37 l0.65,0.43l0.72-0.29l1.7-0.68l1.75,3.02l-1.43,1.12l-0.62,0.49l0.05,0.79c0.01,0.11,0.01,0.58,0,0.7l-0.05,0.79l0.62,0.49 l1.43,1.12l-1.74,3.02l-1.69-0.68l-0.72-0.29l-0.65,0.43c-0.19,0.13-0.4,0.25-0.65,0.38l-0.67,0.36l-0.11,0.75l-0.25,1.77h-3.5 L10,18.71l-0.11-0.76l-0.69-0.36c-0.23-0.12-0.44-0.24-0.64-0.37l-0.65-0.43l-0.72,0.29L5.5,17.76l-1.73-3.01L5.2,13.63z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M12,16c2.21,0,4-1.79,4-4s-1.79-4-4-4c-2.21,0-4,1.79-4,4S9.79,16,12,16z M12,9.5c1.38,0,2.5,1.12,2.5,2.5 s-1.12,2.5-2.5,2.5c-1.38,0-2.5-1.12-2.5-2.5S10.62,9.5,12,9.5z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_smartspace_preferences.xml b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_smartspace_preferences.xml
new file mode 100644
index 0000000..d754cbe
--- /dev/null
+++ b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_smartspace_preferences.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M14.38,7.3C14.18,7.1,13.92,7,13.66,7c-0.26,0-0.51,0.1-0.71,0.29L1.29,18.96c-0.39,0.39-0.39,1.02,0,1.41l2.34,2.34 C3.82,22.9,4.08,23,4.34,23s0.51-0.1,0.71-0.29L16.7,11.05c0.39-0.39,0.39-1.02,0-1.41L14.38,7.3z M4.34,21.29l-1.63-1.63 l7.45-7.45l1.63,1.63L4.34,21.29z M12.84,12.78l-1.63-1.63l2.45-2.45l1.62,1.64L12.84,12.78z M17.75,5.25h1v1 C18.75,6.66,19.09,7,19.5,7s0.75-0.34,0.75-0.75v-1h1C21.66,5.25,22,4.91,22,4.5s-0.34-0.75-0.75-0.75h-1v-1 C20.25,2.34,19.91,2,19.5,2s-0.75,0.34-0.75,0.75v1h-1C17.34,3.75,17,4.09,17,4.5S17.34,5.25,17.75,5.25z M5.75,5.25h1v1 C6.75,6.66,7.09,7,7.5,7s0.75-0.34,0.75-0.75v-1h1C9.66,5.25,10,4.91,10,4.5S9.66,3.75,9.25,3.75h-1v-1C8.25,2.34,7.91,2,7.5,2 S6.75,2.34,6.75,2.75v1h-1C5.34,3.75,5,4.09,5,4.5S5.34,5.25,5.75,5.25z M21.25,15.75h-1v-1c0-0.41-0.34-0.75-0.75-0.75 s-0.75,0.34-0.75,0.75v1h-1c-0.41,0-0.75,0.34-0.75,0.75s0.34,0.75,0.75,0.75h1v1c0,0.41,0.34,0.75,0.75,0.75s0.75-0.34,0.75-0.75 v-1h1c0.41,0,0.75-0.34,0.75-0.75S21.66,15.75,21.25,15.75z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_split_screen.xml b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_split_screen.xml
new file mode 100644
index 0000000..87a9546
--- /dev/null
+++ b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_split_screen.xml
@@ -0,0 +1,29 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M5,11h14c0.55,0,1-0.45,1-1V4c0-0.55-0.45-1-1-1H5C4.45,3,4,3.45,4,4v6C4,10.55,4.45,11,5,11z M5.5,4.5h13v5h-13V4.5z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M4,20c0,0.55,0.45,1,1,1h14c0.55,0,1-0.45,1-1v-6c0-0.55-0.45-1-1-1H5c-0.55,0-1,0.45-1,1V20z M5.5,14.5h13v5h-13V14.5z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_wallpaper.xml b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_wallpaper.xml
new file mode 100644
index 0000000..3834fb6
--- /dev/null
+++ b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_wallpaper.xml
@@ -0,0 +1,46 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <group
+            android:translateX="119.000000"
+            android:translateY="358.000000">
+        <group
+                android:translateX="2.000000"
+                android:translateY="2.000000">
+            <path
+                android:fillColor="#000000"
+                android:pathData="M-109-356.5c4.69,0,8.5,3.36,8.5,7.5c0,2.48-2.02,4.5-4.5,4.5h-1.77c-1.1,0-2,0.9-2,2 c0,0.45,0.16,0.89,0.46,1.27l0.02,0.02l0.02,0.02c0.17,0.2,0.27,0.44,0.27,0.68c0,0.55-0.45,1-1,1c-4.69,0-8.5-3.81-8.5-8.5 S-113.69-356.5-109-356.5 M-109-358c-5.51,0-10,4.49-10,10s4.49,10,10,10c1.38,0,2.5-1.12,2.5-2.5c0-0.61-0.23-1.2-0.64-1.67 c-0.08-0.1-0.13-0.21-0.13-0.33c0-0.28,0.22-0.5,0.5-0.5h1.77c3.31,0,6-2.69,6-6C-99-353.96-103.49-358-109-358L-109-358z" />
+        </group>
+    </group>
+    <path
+        android:fillColor="#000000"
+        android:pathData="M 6.5 10 C 7.32842712475 10 8 10.6715728753 8 11.5 C 8 12.3284271247 7.32842712475 13 6.5 13 C 5.67157287525 13 5 12.3284271247 5 11.5 C 5 10.6715728753 5.67157287525 10 6.5 10 Z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M 9.5 6 C 10.3284271247 6 11 6.67157287525 11 7.5 C 11 8.32842712475 10.3284271247 9 9.5 9 C 8.67157287525 9 8 8.32842712475 8 7.5 C 8 6.67157287525 8.67157287525 6 9.5 6 Z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M 14.5 6 C 15.3284271247 6 16 6.67157287525 16 7.5 C 16 8.32842712475 15.3284271247 9 14.5 9 C 13.6715728753 9 13 8.32842712475 13 7.5 C 13 6.67157287525 13.6715728753 6 14.5 6 Z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M 17.5 10 C 18.3284271247 10 19 10.6715728753 19 11.5 C 19 12.3284271247 18.3284271247 13 17.5 13 C 16.6715728753 13 16 12.3284271247 16 11.5 C 16 10.6715728753 16.6715728753 10 17.5 10 Z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_warning.xml b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_warning.xml
new file mode 100644
index 0000000..614828c
--- /dev/null
+++ b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_warning.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M4.47,21h15.06c1.54,0,2.5-1.67,1.73-3L13.73,4.99c-0.39-0.67-1.06-1-1.73-1s-1.35,0.33-1.73,1L2.74,18 C1.97,19.33,2.93,21,4.47,21z M4.04,18.75l7.53-13.01c0.13-0.22,0.33-0.25,0.43-0.25s0.31,0.03,0.43,0.25l7.53,13.01 c0.13,0.22,0.05,0.41,0,0.5c-0.05,0.09-0.18,0.25-0.43,0.25H4.47c-0.25,0-0.38-0.16-0.43-0.25C3.98,19.16,3.91,18.97,4.04,18.75z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M12,14.5c0.41,0,0.75-0.34,0.75-0.75v-4C12.75,9.33,12.41,9,12,9s-0.75,0.34-0.75,0.75v4C11.25,14.16,11.59,14.5,12,14.5z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M 12 16 C 12.5522847498 16 13 16.4477152502 13 17 C 13 17.5522847498 12.5522847498 18 12 18 C 11.4477152502 18 11 17.5522847498 11 17 C 11 16.4477152502 11.4477152502 16 12 16 Z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_widget.xml b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_widget.xml
new file mode 100644
index 0000000..a8aeaf2
--- /dev/null
+++ b/packages/overlays/IconPackFilledLauncherOverlay/res/drawable/ic_widget.xml
@@ -0,0 +1,35 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M10,3H4C3.45,3,3,3.45,3,4v6c0,0.55,0.45,1,1,1h6c0.55,0,1-0.45,1-1V4C11,3.45,10.55,3,10,3z M9.5,9.5h-5v-5h5V9.5z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M10,13H4c-0.55,0-1,0.45-1,1v6c0,0.55,0.45,1,1,1h6c0.55,0,1-0.45,1-1v-6C11,13.45,10.55,13,10,13z M9.5,19.5h-5v-5h5 V19.5z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M20,13h-6c-0.55,0-1,0.45-1,1v6c0,0.55,0.45,1,1,1h6c0.55,0,1-0.45,1-1v-6C21,13.45,20.55,13,20,13z M19.5,19.5h-5v-5h5 V19.5z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M21.95,6.29l-4.24-4.24c-0.2-0.2-0.45-0.29-0.71-0.29s-0.51,0.1-0.71,0.29l-4.24,4.24c-0.39,0.39-0.39,1.02,0,1.41 l4.24,4.24c0.2,0.2,0.45,0.29,0.71,0.29s0.51-0.1,0.71-0.29l4.24-4.24C22.34,7.32,22.34,6.68,21.95,6.29z M17,10.54L13.46,7 L17,3.46L20.54,7L17,10.54z" />
+</vector>
\ No newline at end of file
diff --git a/tests/LowStorageTest/Android.mk b/packages/overlays/IconPackRoundedLauncherOverlay/Android.mk
similarity index 68%
copy from tests/LowStorageTest/Android.mk
copy to packages/overlays/IconPackRoundedLauncherOverlay/Android.mk
index bdde6bd..7adfe3b 100644
--- a/tests/LowStorageTest/Android.mk
+++ b/packages/overlays/IconPackRoundedLauncherOverlay/Android.mk
@@ -1,26 +1,31 @@
-# Copyright (C) 2009 The Android Open Source Project
+#
+#  Copyright 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
+#     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.
+#
 
 LOCAL_PATH:= $(call my-dir)
 include $(CLEAR_VARS)
 
-LOCAL_MODULE_TAGS := tests
+LOCAL_RRO_THEME := IconPackRoundedLauncher
 LOCAL_CERTIFICATE := platform
+LOCAL_PRODUCT_MODULE := true
 
 LOCAL_SRC_FILES := $(call all-subdir-java-files)
 
-LOCAL_PACKAGE_NAME := lowstoragetest
+LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
+
+LOCAL_PACKAGE_NAME := IconPackRoundedLauncherOverlay
 LOCAL_SDK_VERSION := current
 
-include $(BUILD_PACKAGE)
+include $(BUILD_RRO_PACKAGE)
diff --git a/packages/overlays/IconPackRoundedLauncherOverlay/AndroidManifest.xml b/packages/overlays/IconPackRoundedLauncherOverlay/AndroidManifest.xml
new file mode 100644
index 0000000..8406f42
--- /dev/null
+++ b/packages/overlays/IconPackRoundedLauncherOverlay/AndroidManifest.xml
@@ -0,0 +1,24 @@
+<!--
+/**
+ * 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.
+ */
+-->
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+    package="com.android.theme.icon_pack.rounded.launcher"
+    android:versionCode="1"
+    android:versionName="1.0">
+    <overlay android:targetPackage="com.android.launcher3" android:category="android.theme.customization.icon_pack.launcher" android:priority="1"/>
+    <application android:label="Rounded" android:hasCode="false"/>
+</manifest>
diff --git a/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_clear.xml b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_clear.xml
new file mode 100644
index 0000000..919e93e
--- /dev/null
+++ b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_clear.xml
@@ -0,0 +1,29 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M18,4h-2.5l-0.71-0.71C14.61,3.11,14.35,3,14.09,3H9.9C9.64,3,9.38,3.11,9.2,3.29L8.49,4h-2.5c-0.55,0-1,0.45-1,1 s0.45,1,1,1h12c0.55,0,1-0.45,1-1C19,4.45,18.55,4,18,4z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M6,19c0,1.1,0.9,2,2,2h8c1.1,0,2-0.9,2-2V7H6V19z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_corp.xml b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_corp.xml
new file mode 100644
index 0000000..5a14373
--- /dev/null
+++ b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_corp.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M20,6h-4V4c0-1.11-0.89-2-2-2h-4C8.89,2,8,2.89,8,4v2H4C2.89,6,2.01,6.89,2.01,8L2,19c0,1.11,0.89,2,2,2h16 c1.11,0,2-0.89,2-2V8C22,6.89,21.11,6,20,6z M14,6h-4V4h4V6z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_empty_recents.xml b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_empty_recents.xml
new file mode 100644
index 0000000..76f8831
--- /dev/null
+++ b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_empty_recents.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M3,6h2c0.55,0,1,0.45,1,1v9c0,0.55-0.45,1-1,1H3c-0.55,0-1-0.45-1-1V7C2,6.45,2.45,6,3,6z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M8,19h8c0.55,0,1-0.45,1-1V5c0-0.55-0.45-1-1-1H8C7.45,4,7,4.45,7,5v13C7,18.55,7.45,19,8,19z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M19,6h2c0.55,0,1,0.45,1,1v9c0,0.55-0.45,1-1,1h-2c-0.55,0-1-0.45-1-1V7C18,6.45,18.45,6,19,6z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_info_no_shadow.xml b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_info_no_shadow.xml
new file mode 100644
index 0000000..6a4e448
--- /dev/null
+++ b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_info_no_shadow.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M12,2C6.48,2,2,6.48,2,12c0,5.52,4.48,10,10,10s10-4.48,10-10C22,6.48,17.52,2,12,2z M13,17c0,0.55-0.45,1-1,1s-1-0.45-1-1 v-5c0-0.55,0.45-1,1-1s1,0.45,1,1V17z M12,9.25c-0.69,0-1.25-0.56-1.25-1.25S11.31,6.75,12,6.75S13.25,7.31,13.25,8 S12.69,9.25,12,9.25z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_remove_no_shadow.xml b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_remove_no_shadow.xml
new file mode 100644
index 0000000..08ae89f
--- /dev/null
+++ b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_remove_no_shadow.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M5.7,18.3c0.39,0.39,1.02,0.39,1.41,0L12,13.41l4.89,4.89c0.39,0.39,1.02,0.39,1.41,0s0.39-1.02,0-1.41L13.41,12l4.89-4.89 c0.38-0.38,0.38-1.02,0-1.4c-0.39-0.39-1.02-0.39-1.41,0c0,0,0,0,0,0L12,10.59L7.11,5.7c-0.39-0.39-1.02-0.39-1.41,0 s-0.39,1.02,0,1.41L10.59,12L5.7,16.89C5.31,17.28,5.31,17.91,5.7,18.3z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_setting.xml b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_setting.xml
new file mode 100644
index 0000000..842b687
--- /dev/null
+++ b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_setting.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M21.64,8.39l-1.6-2.76c-0.28-0.48-0.88-0.7-1.36-0.5l-2.14,0.91c-0.48-0.37-1.01-0.68-1.57-0.92l-0.27-2.2 C14.64,2.4,14.14,2,13.59,2h-3.18C9.86,2,9.36,2.4,9.3,2.92L9.04,5.11c-0.57,0.24-1.1,0.55-1.58,0.92L5.32,5.12 c-0.48-0.2-1.08,0.02-1.36,0.5l-1.6,2.76C2.08,8.86,2.18,9.48,2.6,9.8l1.94,1.45C4.51,11.49,4.5,11.74,4.5,12s0.01,0.51,0.04,0.76 L2.6,14.2c-0.42,0.31-0.52,0.94-0.24,1.41l1.6,2.76c0.28,0.48,0.88,0.7,1.36,0.5l2.14-0.91c0.48,0.37,1.01,0.68,1.57,0.92 l0.27,2.19C9.36,21.6,9.86,22,10.41,22h3.18c0.55,0,1.04-0.4,1.11-0.92l0.27-2.19c0.56-0.24,1.09-0.55,1.57-0.92l2.14,0.91 c0.48,0.2,1.08-0.02,1.36-0.5l1.6-2.76c0.28-0.48,0.18-1.1-0.24-1.42l-1.94-1.45c0.03-0.25,0.04-0.5,0.04-0.76 s-0.01-0.51-0.04-0.76L21.4,9.8C21.82,9.49,21.92,8.86,21.64,8.39z M12,15.5c-1.93,0-3.5-1.57-3.5-3.5s1.57-3.5,3.5-3.5 s3.5,1.57,3.5,3.5S13.93,15.5,12,15.5z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_smartspace_preferences.xml b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_smartspace_preferences.xml
new file mode 100644
index 0000000..8950fbd
--- /dev/null
+++ b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_smartspace_preferences.xml
@@ -0,0 +1,32 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M21.23,2.43L19.5,3.4l-1.73-0.97c-0.22-0.12-0.46,0.12-0.34,0.34L18.4,4.5l-0.97,1.73c-0.12,0.22,0.12,0.46,0.34,0.34 L19.5,5.6l1.73,0.97c0.22,0.12,0.46-0.12,0.34-0.34L20.6,4.5l0.97-1.73C21.69,2.55,21.45,2.31,21.23,2.43z M14.37,7.29 c-0.39-0.39-1.02-0.39-1.41,0L1.29,18.96c-0.39,0.39-0.39,1.02,0,1.41l2.34,2.34c0.39,0.39,1.02,0.39,1.41,0L16.7,11.05 c0.39-0.39,0.39-1.02,0-1.41L14.37,7.29z M13.34,12.78l-2.12-2.12l2.44-2.44l2.12,2.12L13.34,12.78z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M21.23,14.43L19.5,15.4l-1.73-0.97c-0.22-0.12-0.46,0.12-0.34,0.34l0.97,1.73l-0.97,1.73c-0.12,0.22,0.12,0.46,0.34,0.34 l1.73-0.97l1.73,0.97c0.22,0.12,0.46-0.12,0.34-0.34L20.6,16.5l0.97-1.73C21.69,14.55,21.45,14.31,21.23,14.43z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M9.23,2.43L7.5,3.4L5.77,2.43C5.55,2.31,5.31,2.55,5.43,2.77L6.4,4.5L5.43,6.23C5.31,6.45,5.55,6.69,5.77,6.57L7.5,5.6 l1.73,0.97c0.22,0.12,0.46-0.12,0.34-0.34L8.6,4.5l0.97-1.73C9.69,2.55,9.45,2.31,9.23,2.43z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_split_screen.xml b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_split_screen.xml
new file mode 100644
index 0000000..30478b3
--- /dev/null
+++ b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_split_screen.xml
@@ -0,0 +1,29 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M18,2H6C4.9,2,4,2.9,4,4v5c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2V4C20,2.9,19.1,2,18,2z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M18,13H6c-1.1,0-2,0.9-2,2v5c0,1.1,0.9,2,2,2h12c1.1,0,2-0.9,2-2v-5C20,13.9,19.1,13,18,13z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_wallpaper.xml b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_wallpaper.xml
new file mode 100644
index 0000000..72d1d31
--- /dev/null
+++ b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_wallpaper.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M12,2C6.49,2,2,6.49,2,12s4.49,10,10,10c1.38,0,2.5-1.12,2.5-2.5c0-0.61-0.23-1.2-0.64-1.67c-0.08-0.1-0.13-0.21-0.13-0.33 c0-0.28,0.22-0.5,0.5-0.5H16c3.31,0,6-2.69,6-6C22,6.04,17.51,2,12,2z M6.5,13C5.67,13,5,12.33,5,11.5S5.67,10,6.5,10 S8,10.67,8,11.5S7.33,13,6.5,13z M9.5,9C8.67,9,8,8.33,8,7.5S8.67,6,9.5,6S11,6.67,11,7.5S10.33,9,9.5,9z M14.5,9 C13.67,9,13,8.33,13,7.5S13.67,6,14.5,6S16,6.67,16,7.5S15.33,9,14.5,9z M17.5,13c-0.83,0-1.5-0.67-1.5-1.5s0.67-1.5,1.5-1.5 s1.5,0.67,1.5,1.5S18.33,13,17.5,13z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_warning.xml b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_warning.xml
new file mode 100644
index 0000000..f92842a
--- /dev/null
+++ b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_warning.xml
@@ -0,0 +1,26 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M12.87,3.49c-0.39-0.67-1.35-0.67-1.73,0l-9.27,16C1.48,20.17,1.96,21,2.73,21h18.53c0.77,0,1.25-0.83,0.87-1.5L12.87,3.49 z M11,10c0-0.55,0.45-1,1-1s1,0.45,1,1v3c0,0.55-0.45,1-1,1s-1-0.45-1-1V10z M12,18.25c-0.69,0-1.25-0.56-1.25-1.25 s0.56-1.25,1.25-1.25s1.25,0.56,1.25,1.25S12.69,18.25,12,18.25z" />
+</vector>
\ No newline at end of file
diff --git a/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_widget.xml b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_widget.xml
new file mode 100644
index 0000000..511757f
--- /dev/null
+++ b/packages/overlays/IconPackRoundedLauncherOverlay/res/drawable/ic_widget.xml
@@ -0,0 +1,35 @@
+<?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.
+-->
+<vector xmlns:android="http://schemas.android.com/apk/res/android"
+    android:width="24dp"
+    android:height="24dp"
+    android:viewportWidth="24"
+    android:viewportHeight="24">
+
+    <path
+        android:fillColor="#000000"
+        android:pathData="M17.7,2.3c-0.4-0.4-1-0.4-1.4,0l-4,4c-0.4,0.4-0.4,1,0,1.4l4,4c0.4,0.4,1,0.4,1.4,0l4-4c0.4-0.4,0.4-1,0-1.4L17.7,2.3z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M11,4c0-0.5-0.4-1-1-1H4C3.5,3,3,3.5,3,4v6c0,0.6,0.5,1,1,1h6c0.6,0,1-0.4,1-1V4z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M20,21c0.5,0,1-0.5,1-1v-6c0-0.6-0.5-1-1-1h-6c-0.6,0-1,0.4-1,1v6c0,0.5,0.4,1,1,1H20z" />
+    <path
+        android:fillColor="#000000"
+        android:pathData="M10,13H4c-0.5,0-1,0.4-1,1v6c0,0.5,0.5,1,1,1h6c0.6,0,1-0.5,1-1v-6C11,13.4,10.6,13,10,13z" />
+</vector>
\ No newline at end of file
diff --git a/proto/src/metrics_constants/metrics_constants.proto b/proto/src/metrics_constants/metrics_constants.proto
index 0a6e923..f106228 100644
--- a/proto/src/metrics_constants/metrics_constants.proto
+++ b/proto/src/metrics_constants/metrics_constants.proto
@@ -260,6 +260,18 @@
     PREVIOUSLY_VISIBLE = 2;
   }
 
+  // Explanations for notification importance, derived from
+  // NotificationRecord.mImportanceExplanation.
+  enum NotificationImportanceExplanation {
+    IMPORTANCE_EXPLANATION_UNKNOWN = 0;
+    IMPORTANCE_EXPLANATION_APP = 1;     // App-specified channel importance.
+    IMPORTANCE_EXPLANATION_USER = 2;    // User-specified channel importance.
+    IMPORTANCE_EXPLANATION_ASST = 3;    // Notification Assistant override.
+    IMPORTANCE_EXPLANATION_SYSTEM = 4;  // System override.
+    // Like _APP, but based on pre-channels priority signal.
+    IMPORTANCE_EXPLANATION_APP_PRE_CHANNELS = 5;
+  }
+
   // Known visual elements: views or controls.
   enum View {
     // Unknown view
@@ -7078,6 +7090,36 @@
     // Open: Settings will show the conditional when Grayscale mode is on
     SETTINGS_CONDITION_GRAYSCALE_MODE = 1683;
 
+    // ACTION: Individual contextual card loading time
+    ACTION_CONTEXTUAL_CARD_LOAD = 1684;
+
+    //ACTION: Contextual card loading timeout
+    ACTION_CONTEXTUAL_CARD_LOAD_TIMEOUT = 1685;
+
+    //ACTION: Log result for each card's eligibility check
+    ACTION_CONTEXTUAL_CARD_ELIGIBILITY = 1686;
+
+    // Panel for Wifi
+    PANEL_WIFI = 1687;
+
+    // Custom tag for NotificationItem. A NotificationImportanceExplanation.
+    FIELD_NOTIFICATION_IMPORTANCE_EXPLANATION = 1688;
+
+    // Custom tag for NotificationItem. The initial "natural" importance.
+    FIELD_NOTIFICATION_IMPORTANCE_INITIAL = 1689;
+
+    // Custom tag for NotificationItem.  A NotificationImportanceExplanation.
+    // The source of the "natural" importance, if it was overridden.
+    FIELD_NOTIFICATION_IMPORTANCE_INITIAL_EXPLANATION = 1690;
+
+    // Custom tag for NotificationItem. The Notification Assistant's
+    // override of importance. Logged separately only if it was
+    // overridden by the system.
+    FIELD_NOTIFICATION_IMPORTANCE_ASST = 1691;
+
+    // Open: Settings > Special App Access > Do not disturb control for app
+    ZEN_ACCESS_DETAIL = 1692;
+
     // ---- End Q Constants, all Q constants go above this line ----
     // Add new aosp constants above this line.
     // END OF AOSP CONSTANTS
diff --git a/proto/src/system_messages.proto b/proto/src/system_messages.proto
index 3a89316..ffbf1ae 100644
--- a/proto/src/system_messages.proto
+++ b/proto/src/system_messages.proto
@@ -226,6 +226,10 @@
     // Inform that user that the USB port is free of contaminants.
     NOTE_USB_CONTAMINANT_NOT_DETECTED = 53;
 
+    // Inform the user that Test Harness Mode is active.
+    // Package: android
+    NOTE_TEST_HARNESS_MODE_ENABLED = 54;
+
     // ADD_NEW_IDS_ABOVE_THIS_LINE
     // Legacy IDs with arbitrary values appear below
     // Legacy IDs existed as stable non-conflicting constants prior to the O release
@@ -243,6 +247,8 @@
     NOTE_NETWORK_SWITCH = 743;
     // Device logged-in captive portal network successfully
     NOTE_NETWORK_LOGGED_IN = 744;
+    // A partial connectivity network was detected during network validation
+    NOTE_NETWORK_PARTIAL_CONNECTIVITY = 745;
 
     // Notify the user that their work profile has been deleted
     // Package: android
diff --git a/proto/src/wifi.proto b/proto/src/wifi.proto
index f106ced..1bcc888 100644
--- a/proto/src/wifi.proto
+++ b/proto/src/wifi.proto
@@ -1798,6 +1798,9 @@
   // Prediction horizon (in second) of Wifi usability score provided by external
   // system app
   optional int32 last_prediction_horizon_sec = 12 [default = -1];
+
+  // Whether screen status is on when WifiIsUnusableEvent happens.
+  optional bool screen_on = 13 [default = false];
 }
 
 message PasspointProfileTypeCount {
@@ -1877,6 +1880,33 @@
     PROBE_STATUS_FAILURE = 3;
   }
 
+  // Codes for cellular data network type
+  enum CellularDataNetworkType {
+    // Unknown network
+    NETWORK_TYPE_UNKNOWN = 0;
+
+    // GSM network
+    NETWORK_TYPE_GSM = 1;
+
+    // CDMA network
+    NETWORK_TYPE_CDMA = 2;
+
+    // CDMA EVDO network
+    NETWORK_TYPE_EVDO_0 = 3;
+
+    // WCDMA network
+    NETWORK_TYPE_UMTS = 4;
+
+    // TDSCDMA network
+    NETWORK_TYPE_TD_SCDMA = 5;
+
+    // LTE network
+    NETWORK_TYPE_LTE = 6;
+
+    // NR network
+    NETWORK_TYPE_NR = 7;
+  }
+
   // Absolute milliseconds from device boot when these stats were sampled
   optional int64 time_stamp_ms = 1;
 
@@ -1954,7 +1984,7 @@
   optional LinkProbeStatus probe_status_since_last_update = 24;
 
   // The elapsed time of the most recent link probe since last stats update;
-  optional int32 probe_elapsed_time_ms_since_last_update = 25;
+  optional int32 probe_elapsed_time_since_last_update_ms = 25;
 
   // The MCS rate of the most recent link probe since last stats update
   optional int32 probe_mcs_rate_since_last_update = 26;
@@ -1968,6 +1998,20 @@
   // Whether current entry is for the same BSSID on the same frequency compared
   // to last entry
   optional bool is_same_bssid_and_freq = 29;
+
+  // Cellular data network type currently in use on the device for data transmission
+  optional CellularDataNetworkType cellular_data_network_type = 30;
+
+  // Cellular signal strength in dBm, NR: CsiRsrp, LTE: Rsrp, WCDMA/TDSCDMA: Rscp,
+  // CDMA: Rssi, EVDO: Rssi, GSM: Rssi
+  optional int32 cellular_signal_strength_dbm = 31;
+
+  // Cellular signal strength in dB, NR: CsiSinr, LTE: Rsrq, WCDMA: EcNo, TDSCDMA: invalid,
+  // CDMA: Ecio, EVDO: SNR, GSM: invalid */
+  optional int32 cellular_signal_strength_db = 32;
+
+  // Whether the primary registered cell of current entry is same as that of previous entry
+  optional bool is_same_registered_cell = 33;
 }
 
 message WifiUsabilityStats {
@@ -2288,13 +2332,13 @@
   optional int32 count = 3;
 }
 
-// Single entry in a map from int32 => int32
-message MapEntryInt32Int32 {
+// Counts occurrences of a int32 key
+message Int32Count {
   // the key
   optional int32 key = 1;
 
-  // the value
-  optional int32 value = 2;
+  // the count
+  optional int32 count = 2;
 }
 
 message LinkProbeStats {
@@ -2325,16 +2369,16 @@
   }
 
   // Counts the occurrences of RSSI values when a link probe succeeds.
-  repeated MapEntryInt32Int32 success_rssi_counts = 1;
+  repeated Int32Count success_rssi_counts = 1;
 
   // Counts the occurrences of RSSI values when a link probe fails.
-  repeated MapEntryInt32Int32 failure_rssi_counts = 2;
+  repeated Int32Count failure_rssi_counts = 2;
 
   // Counts the occurrences of Link Speed values when a link probe succeeds.
-  repeated MapEntryInt32Int32 success_link_speed_counts = 3;
+  repeated Int32Count success_link_speed_counts = 3;
 
   // Counts the occurrences of Link Speed values when a link probe fails.
-  repeated MapEntryInt32Int32 failure_link_speed_counts = 4;
+  repeated Int32Count failure_link_speed_counts = 4;
 
   // Histogram for the number of seconds since the last TX success when a link probe succeeds.
   repeated HistogramBucketInt32 success_seconds_since_last_tx_success_histogram = 5;
@@ -2361,7 +2405,7 @@
   // same network selection as experiment2.
   // The keys are the number of network choices, and the values are the number of occurrences of
   // this number of network choices when exp1 and exp2 make the same network selection.
-  repeated MapEntryInt32Int32 same_selection_num_choices_counter = 3;
+  repeated Int32Count same_selection_num_choices_counter = 3;
 
   // Counts occurrences of the number of network choices there were when experiment1 makes the
   // same network selection as experiment2.
@@ -2369,7 +2413,7 @@
   // this number of network choices when exp1 and exp2 make different network selections.
   // Note that it is possible for the network selection to be different even when there only exists
   // a single network choice, since choosing not to connect to that network is a valid choice.
-  repeated MapEntryInt32Int32 different_selection_num_choices_counter = 4;
+  repeated Int32Count different_selection_num_choices_counter = 4;
 }
 
 // NetworkRequest API metrics.
diff --git a/rs/java/android/renderscript/RenderScript.java b/rs/java/android/renderscript/RenderScript.java
index 4293157..85c82bc 100644
--- a/rs/java/android/renderscript/RenderScript.java
+++ b/rs/java/android/renderscript/RenderScript.java
@@ -16,12 +16,6 @@
 
 package android.renderscript;
 
-import java.io.File;
-import java.lang.reflect.Method;
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.concurrent.locks.ReentrantReadWriteLock;
-
 import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.res.AssetManager;
@@ -32,6 +26,12 @@
 import android.util.Log;
 import android.view.Surface;
 
+import java.io.File;
+import java.lang.reflect.Method;
+import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
+
 // TODO: Clean up the whitespace that separates methods in this class.
 
 /**
@@ -114,8 +114,9 @@
                 Class<?> vm_runtime = Class.forName("dalvik.system.VMRuntime");
                 Method get_runtime = vm_runtime.getDeclaredMethod("getRuntime");
                 sRuntime = get_runtime.invoke(null);
-                registerNativeAllocation = vm_runtime.getDeclaredMethod("registerNativeAllocation", Integer.TYPE);
-                registerNativeFree = vm_runtime.getDeclaredMethod("registerNativeFree", Integer.TYPE);
+                registerNativeAllocation =
+                        vm_runtime.getDeclaredMethod("registerNativeAllocation", Long.TYPE);
+                registerNativeFree = vm_runtime.getDeclaredMethod("registerNativeFree", Long.TYPE);
             } catch (Exception e) {
                 Log.e(LOG_TAG, "Error loading GC methods: " + e);
                 throw new RSRuntimeException("Error loading GC methods: " + e);
diff --git a/rs/java/android/renderscript/ScriptIntrinsicBlur.java b/rs/java/android/renderscript/ScriptIntrinsicBlur.java
index a36873e..0891d51 100644
--- a/rs/java/android/renderscript/ScriptIntrinsicBlur.java
+++ b/rs/java/android/renderscript/ScriptIntrinsicBlur.java
@@ -62,6 +62,10 @@
         if (ain.getType().getY() == 0) {
             throw new RSIllegalArgumentException("Input set to a 1D Allocation");
         }
+        Element e = ain.getElement();
+        if ((!e.isCompatible(Element.U8_4(mRS))) && (!e.isCompatible(Element.U8(mRS)))) {
+            throw new RSIllegalArgumentException("Unsupported element type.");
+        }
         mInput = ain;
         setVar(1, ain);
     }
diff --git a/services/Android.bp b/services/Android.bp
index 31385ed..567efac 100644
--- a/services/Android.bp
+++ b/services/Android.bp
@@ -26,7 +26,6 @@
         "services.contentsuggestions",
         "services.coverage",
         "services.devicepolicy",
-        "services.ipmemorystore",
         "services.midi",
         "services.net",
         "services.print",
diff --git a/services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java b/services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java
index a19a847..3bd6220 100644
--- a/services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java
+++ b/services/accessibility/java/com/android/server/accessibility/AccessibilityServiceConnection.java
@@ -91,7 +91,8 @@
         if (userState == null) return;
         final long identity = Binder.clearCallingIdentity();
         try {
-            int flags = Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE;
+            int flags = Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE
+                    | Context.BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS;
             if (userState.getBindInstantServiceAllowed()) {
                 flags |= Context.BIND_ALLOW_INSTANT;
             }
diff --git a/services/accessibility/java/com/android/server/accessibility/TouchExplorer.java b/services/accessibility/java/com/android/server/accessibility/TouchExplorer.java
index 65e31f3..1e3f20e 100644
--- a/services/accessibility/java/com/android/server/accessibility/TouchExplorer.java
+++ b/services/accessibility/java/com/android/server/accessibility/TouchExplorer.java
@@ -809,13 +809,9 @@
 
         // Announce the end of the gesture recognition.
         sendAccessibilityEvent(AccessibilityEvent.TYPE_GESTURE_DETECTION_END);
+        // Don't announce the end of a the touch interaction if users didn't lift their fingers.
         if (interactionEnd) {
-            // Announce the end of a the touch interaction.
             sendAccessibilityEvent(AccessibilityEvent.TYPE_TOUCH_INTERACTION_END);
-        } else {
-            // If gesture detection is end, but user doesn't release the finger, announce the
-            // transition to exploration state.
-            sendAccessibilityEvent(AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START);
         }
 
         mExitGestureDetectionModeDelayed.cancel();
@@ -1151,10 +1147,7 @@
         public void run() {
             // Announce the end of gesture recognition.
             sendAccessibilityEvent(AccessibilityEvent.TYPE_GESTURE_DETECTION_END);
-            // Clearing puts is in touch exploration state with a finger already
-            // down, so announce the transition to exploration state.
             clear();
-            sendAccessibilityEvent(AccessibilityEvent.TYPE_TOUCH_EXPLORATION_GESTURE_START);
         }
     }
 
diff --git a/services/appprediction/java/com/android/server/appprediction/RemoteAppPredictionService.java b/services/appprediction/java/com/android/server/appprediction/RemoteAppPredictionService.java
index 45ea86f..922b327 100644
--- a/services/appprediction/java/com/android/server/appprediction/RemoteAppPredictionService.java
+++ b/services/appprediction/java/com/android/server/appprediction/RemoteAppPredictionService.java
@@ -46,7 +46,8 @@
             ComponentName componentName, int userId,
             RemoteAppPredictionServiceCallbacks callback, boolean bindInstantServiceAllowed,
             boolean verbose) {
-        super(context, serviceInterface, componentName, userId, callback, bindInstantServiceAllowed,
+        super(context, serviceInterface, componentName, userId, callback,
+                context.getMainThreadHandler(), bindInstantServiceAllowed,
                 verbose, /* initialCapacity= */ 1);
     }
 
diff --git a/services/art-profile b/services/art-profile
index 6de96e8..6368c63 100644
--- a/services/art-profile
+++ b/services/art-profile
@@ -1,3085 +1,1257 @@
-HPLandroid/hardware/authsecret/V1_0/IAuthSecret;->asBinder()Landroid/os/IHwBinder;
-HPLandroid/hardware/authsecret/V1_0/IAuthSecret;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HPLandroid/hardware/authsecret/V1_0/IAuthSecret;->getHashChain()Ljava/util/ArrayList;
-HPLandroid/hardware/authsecret/V1_0/IAuthSecret;->interfaceChain()Ljava/util/ArrayList;
-HPLandroid/hardware/authsecret/V1_0/IAuthSecret;->interfaceDescriptor()Ljava/lang/String;
-HPLandroid/hardware/authsecret/V1_0/IAuthSecret;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HPLandroid/hardware/authsecret/V1_0/IAuthSecret;->notifySyspropsChanged()V
-HPLandroid/hardware/authsecret/V1_0/IAuthSecret;->ping()V
-HPLandroid/hardware/authsecret/V1_0/IAuthSecret;->primaryUserCredential(Ljava/util/ArrayList;)V
-HPLandroid/hardware/authsecret/V1_0/IAuthSecret;->setHALInstrumentation()V
-HPLandroid/hardware/authsecret/V1_0/IAuthSecret;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->asBinder()Landroid/os/IHwBinder;
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->authenticate(JI)I
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->cancel()I
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->enroll([BII)I
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->enumerate()I
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->getAuthenticatorId()J
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->getHashChain()Ljava/util/ArrayList;
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->interfaceChain()Ljava/util/ArrayList;
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->interfaceDescriptor()Ljava/lang/String;
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->notifySyspropsChanged()V
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->ping()V
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->postEnroll()I
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->preEnroll()J
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->remove(II)I
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->setActiveGroup(ILjava/lang/String;)I
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->setHALInstrumentation()V
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->setNotify(Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;)J
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->asBinder()Landroid/os/IHwBinder;
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->getHashChain()Ljava/util/ArrayList;
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->interfaceChain()Ljava/util/ArrayList;
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->interfaceDescriptor()Ljava/lang/String;
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->notifySyspropsChanged()V
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->onAcquired(JII)V
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->onAuthenticated(JIILjava/util/ArrayList;)V
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->onEnrollResult(JIII)V
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->onEnumerate(JIII)V
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->onError(JII)V
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->onRemoved(JIII)V
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->ping()V
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->setHALInstrumentation()V
-HPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->asBinder()Landroid/os/IHwBinder;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->getHashChain()Ljava/util/ArrayList;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->hasHDRDisplay()Landroid/hardware/configstore/V1_0/OptionalBool;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->hasSyncFramework()Landroid/hardware/configstore/V1_0/OptionalBool;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->hasWideColorDisplay()Landroid/hardware/configstore/V1_0/OptionalBool;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->interfaceChain()Ljava/util/ArrayList;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->interfaceDescriptor()Ljava/lang/String;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->maxFrameBufferAcquiredBuffers()Landroid/hardware/configstore/V1_0/OptionalInt64;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->maxVirtualDisplaySize()Landroid/hardware/configstore/V1_0/OptionalUInt64;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->notifySyspropsChanged()V
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->ping()V
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->presentTimeOffsetFromVSyncNs()Landroid/hardware/configstore/V1_0/OptionalInt64;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->setHALInstrumentation()V
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->startGraphicsAllocatorService()Landroid/hardware/configstore/V1_0/OptionalBool;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->useContextPriority()Landroid/hardware/configstore/V1_0/OptionalBool;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->useHwcForRGBtoYUV()Landroid/hardware/configstore/V1_0/OptionalBool;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->useVrFlinger()Landroid/hardware/configstore/V1_0/OptionalBool;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->vsyncEventPhaseOffsetNs()Landroid/hardware/configstore/V1_0/OptionalInt64;
-HPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->vsyncSfEventPhaseOffsetNs()Landroid/hardware/configstore/V1_0/OptionalInt64;
-HPLandroid/hardware/health/V1_0/HealthInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HPLandroid/hardware/health/V2_0/DiskStats;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HPLandroid/hardware/health/V2_0/HealthInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HPLandroid/hardware/health/V2_0/HealthInfo;->readFromParcel(Landroid/os/HwParcel;)V
-HPLandroid/hardware/health/V2_0/IHealth$Proxy;->getCapacity(Landroid/hardware/health/V2_0/IHealth$getCapacityCallback;)V
-HPLandroid/hardware/health/V2_0/IHealth$Proxy;->getChargeCounter(Landroid/hardware/health/V2_0/IHealth$getChargeCounterCallback;)V
-HPLandroid/hardware/health/V2_0/IHealth$Proxy;->getCurrentAverage(Landroid/hardware/health/V2_0/IHealth$getCurrentAverageCallback;)V
-HPLandroid/hardware/health/V2_0/IHealth$getCapacityCallback;->onValues(II)V
-HPLandroid/hardware/health/V2_0/IHealth$getChargeCounterCallback;->onValues(II)V
-HPLandroid/hardware/health/V2_0/IHealth$getChargeStatusCallback;->onValues(II)V
-HPLandroid/hardware/health/V2_0/IHealth$getCurrentAverageCallback;->onValues(II)V
-HPLandroid/hardware/health/V2_0/IHealth$getCurrentNowCallback;->onValues(II)V
-HPLandroid/hardware/health/V2_0/IHealth$getEnergyCounterCallback;->onValues(IJ)V
-HPLandroid/hardware/health/V2_0/IHealth;->asBinder()Landroid/os/IHwBinder;
-HPLandroid/hardware/health/V2_0/IHealth;->getCapacity(Landroid/hardware/health/V2_0/IHealth$getCapacityCallback;)V
-HPLandroid/hardware/health/V2_0/IHealth;->getChargeCounter(Landroid/hardware/health/V2_0/IHealth$getChargeCounterCallback;)V
-HPLandroid/hardware/health/V2_0/IHealth;->getChargeStatus(Landroid/hardware/health/V2_0/IHealth$getChargeStatusCallback;)V
-HPLandroid/hardware/health/V2_0/IHealth;->getCurrentAverage(Landroid/hardware/health/V2_0/IHealth$getCurrentAverageCallback;)V
-HPLandroid/hardware/health/V2_0/IHealth;->getCurrentNow(Landroid/hardware/health/V2_0/IHealth$getCurrentNowCallback;)V
-HPLandroid/hardware/health/V2_0/IHealth;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HPLandroid/hardware/health/V2_0/IHealth;->getDiskStats(Landroid/hardware/health/V2_0/IHealth$getDiskStatsCallback;)V
-HPLandroid/hardware/health/V2_0/IHealth;->getEnergyCounter(Landroid/hardware/health/V2_0/IHealth$getEnergyCounterCallback;)V
-HPLandroid/hardware/health/V2_0/IHealth;->getHashChain()Ljava/util/ArrayList;
-HPLandroid/hardware/health/V2_0/IHealth;->getHealthInfo(Landroid/hardware/health/V2_0/IHealth$getHealthInfoCallback;)V
-HPLandroid/hardware/health/V2_0/IHealth;->getStorageInfo(Landroid/hardware/health/V2_0/IHealth$getStorageInfoCallback;)V
-HPLandroid/hardware/health/V2_0/IHealth;->interfaceChain()Ljava/util/ArrayList;
-HPLandroid/hardware/health/V2_0/IHealth;->interfaceDescriptor()Ljava/lang/String;
-HPLandroid/hardware/health/V2_0/IHealth;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HPLandroid/hardware/health/V2_0/IHealth;->notifySyspropsChanged()V
-HPLandroid/hardware/health/V2_0/IHealth;->ping()V
-HPLandroid/hardware/health/V2_0/IHealth;->registerCallback(Landroid/hardware/health/V2_0/IHealthInfoCallback;)I
-HPLandroid/hardware/health/V2_0/IHealth;->setHALInstrumentation()V
-HPLandroid/hardware/health/V2_0/IHealth;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HPLandroid/hardware/health/V2_0/IHealth;->unregisterCallback(Landroid/hardware/health/V2_0/IHealthInfoCallback;)I
-HPLandroid/hardware/health/V2_0/IHealth;->update()I
-HPLandroid/hardware/health/V2_0/IHealthInfoCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HPLandroid/hardware/health/V2_0/IHealthInfoCallback;->asBinder()Landroid/os/IHwBinder;
-HPLandroid/hardware/health/V2_0/IHealthInfoCallback;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HPLandroid/hardware/health/V2_0/IHealthInfoCallback;->getHashChain()Ljava/util/ArrayList;
-HPLandroid/hardware/health/V2_0/IHealthInfoCallback;->healthInfoChanged(Landroid/hardware/health/V2_0/HealthInfo;)V
-HPLandroid/hardware/health/V2_0/IHealthInfoCallback;->interfaceChain()Ljava/util/ArrayList;
-HPLandroid/hardware/health/V2_0/IHealthInfoCallback;->interfaceDescriptor()Ljava/lang/String;
-HPLandroid/hardware/health/V2_0/IHealthInfoCallback;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HPLandroid/hardware/health/V2_0/IHealthInfoCallback;->notifySyspropsChanged()V
-HPLandroid/hardware/health/V2_0/IHealthInfoCallback;->ping()V
-HPLandroid/hardware/health/V2_0/IHealthInfoCallback;->setHALInstrumentation()V
-HPLandroid/hardware/health/V2_0/IHealthInfoCallback;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HPLandroid/hardware/health/V2_0/StorageAttribute;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HPLandroid/hardware/health/V2_0/StorageInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HPLandroid/hardware/oemlock/V1_0/IOemLock$isOemUnlockAllowedByCarrierCallback;->onValues(IZ)V
-HPLandroid/hardware/oemlock/V1_0/IOemLock$isOemUnlockAllowedByDeviceCallback;->onValues(IZ)V
-HPLandroid/hardware/oemlock/V1_0/IOemLock;->asBinder()Landroid/os/IHwBinder;
-HPLandroid/hardware/oemlock/V1_0/IOemLock;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HPLandroid/hardware/oemlock/V1_0/IOemLock;->getHashChain()Ljava/util/ArrayList;
-HPLandroid/hardware/oemlock/V1_0/IOemLock;->getName(Landroid/hardware/oemlock/V1_0/IOemLock$getNameCallback;)V
-HPLandroid/hardware/oemlock/V1_0/IOemLock;->interfaceChain()Ljava/util/ArrayList;
-HPLandroid/hardware/oemlock/V1_0/IOemLock;->interfaceDescriptor()Ljava/lang/String;
-HPLandroid/hardware/oemlock/V1_0/IOemLock;->isOemUnlockAllowedByCarrier(Landroid/hardware/oemlock/V1_0/IOemLock$isOemUnlockAllowedByCarrierCallback;)V
-HPLandroid/hardware/oemlock/V1_0/IOemLock;->isOemUnlockAllowedByDevice(Landroid/hardware/oemlock/V1_0/IOemLock$isOemUnlockAllowedByDeviceCallback;)V
-HPLandroid/hardware/oemlock/V1_0/IOemLock;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HPLandroid/hardware/oemlock/V1_0/IOemLock;->notifySyspropsChanged()V
-HPLandroid/hardware/oemlock/V1_0/IOemLock;->ping()V
-HPLandroid/hardware/oemlock/V1_0/IOemLock;->setHALInstrumentation()V
-HPLandroid/hardware/oemlock/V1_0/IOemLock;->setOemUnlockAllowedByCarrier(ZLjava/util/ArrayList;)I
-HPLandroid/hardware/oemlock/V1_0/IOemLock;->setOemUnlockAllowedByDevice(Z)I
-HPLandroid/hardware/oemlock/V1_0/IOemLock;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HPLandroid/hardware/tetheroffload/control/V1_0/IOffloadControl$addDownstreamCallback;->onValues(ZLjava/lang/String;)V
-HPLandroid/hardware/tetheroffload/control/V1_0/IOffloadControl$getForwardedStatsCallback;->onValues(JJ)V
-HPLandroid/hardware/tetheroffload/control/V1_0/IOffloadControl$initOffloadCallback;->onValues(ZLjava/lang/String;)V
-HPLandroid/hardware/tetheroffload/control/V1_0/IOffloadControl$removeDownstreamCallback;->onValues(ZLjava/lang/String;)V
-HPLandroid/hardware/tetheroffload/control/V1_0/IOffloadControl$setDataLimitCallback;->onValues(ZLjava/lang/String;)V
-HPLandroid/hardware/tetheroffload/control/V1_0/IOffloadControl$setLocalPrefixesCallback;->onValues(ZLjava/lang/String;)V
-HPLandroid/hardware/tetheroffload/control/V1_0/IOffloadControl$setUpstreamParametersCallback;->onValues(ZLjava/lang/String;)V
-HPLandroid/hardware/tetheroffload/control/V1_0/IOffloadControl$stopOffloadCallback;->onValues(ZLjava/lang/String;)V
-HPLandroid/hardware/tetheroffload/control/V1_0/ITetheringOffloadCallback;->asBinder()Landroid/os/IHwBinder;
-HPLandroid/hardware/tetheroffload/control/V1_0/ITetheringOffloadCallback;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HPLandroid/hardware/tetheroffload/control/V1_0/ITetheringOffloadCallback;->getHashChain()Ljava/util/ArrayList;
-HPLandroid/hardware/tetheroffload/control/V1_0/ITetheringOffloadCallback;->interfaceChain()Ljava/util/ArrayList;
-HPLandroid/hardware/tetheroffload/control/V1_0/ITetheringOffloadCallback;->interfaceDescriptor()Ljava/lang/String;
-HPLandroid/hardware/tetheroffload/control/V1_0/ITetheringOffloadCallback;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HPLandroid/hardware/tetheroffload/control/V1_0/ITetheringOffloadCallback;->notifySyspropsChanged()V
-HPLandroid/hardware/tetheroffload/control/V1_0/ITetheringOffloadCallback;->onEvent(I)V
-HPLandroid/hardware/tetheroffload/control/V1_0/ITetheringOffloadCallback;->ping()V
-HPLandroid/hardware/tetheroffload/control/V1_0/ITetheringOffloadCallback;->setHALInstrumentation()V
-HPLandroid/hardware/tetheroffload/control/V1_0/ITetheringOffloadCallback;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HPLandroid/hardware/tetheroffload/control/V1_0/ITetheringOffloadCallback;->updateTimeout(Landroid/hardware/tetheroffload/control/V1_0/NatTimeoutUpdate;)V
-HPLandroid/hardware/usb/V1_0/IUsb;->asBinder()Landroid/os/IHwBinder;
-HPLandroid/hardware/usb/V1_0/IUsb;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HPLandroid/hardware/usb/V1_0/IUsb;->getHashChain()Ljava/util/ArrayList;
-HPLandroid/hardware/usb/V1_0/IUsb;->interfaceChain()Ljava/util/ArrayList;
-HPLandroid/hardware/usb/V1_0/IUsb;->interfaceDescriptor()Ljava/lang/String;
-HPLandroid/hardware/usb/V1_0/IUsb;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HPLandroid/hardware/usb/V1_0/IUsb;->notifySyspropsChanged()V
-HPLandroid/hardware/usb/V1_0/IUsb;->ping()V
-HPLandroid/hardware/usb/V1_0/IUsb;->queryPortStatus()V
-HPLandroid/hardware/usb/V1_0/IUsb;->setCallback(Landroid/hardware/usb/V1_0/IUsbCallback;)V
-HPLandroid/hardware/usb/V1_0/IUsb;->setHALInstrumentation()V
-HPLandroid/hardware/usb/V1_0/IUsb;->switchRole(Ljava/lang/String;Landroid/hardware/usb/V1_0/PortRole;)V
-HPLandroid/hardware/usb/V1_0/IUsb;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HPLandroid/hardware/usb/V1_0/IUsbCallback;->asBinder()Landroid/os/IHwBinder;
-HPLandroid/hardware/usb/V1_0/IUsbCallback;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HPLandroid/hardware/usb/V1_0/IUsbCallback;->getHashChain()Ljava/util/ArrayList;
-HPLandroid/hardware/usb/V1_0/IUsbCallback;->interfaceChain()Ljava/util/ArrayList;
-HPLandroid/hardware/usb/V1_0/IUsbCallback;->interfaceDescriptor()Ljava/lang/String;
-HPLandroid/hardware/usb/V1_0/IUsbCallback;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HPLandroid/hardware/usb/V1_0/IUsbCallback;->notifyPortStatusChange(Ljava/util/ArrayList;I)V
-HPLandroid/hardware/usb/V1_0/IUsbCallback;->notifyRoleSwitchStatus(Ljava/lang/String;Landroid/hardware/usb/V1_0/PortRole;I)V
-HPLandroid/hardware/usb/V1_0/IUsbCallback;->notifySyspropsChanged()V
-HPLandroid/hardware/usb/V1_0/IUsbCallback;->ping()V
-HPLandroid/hardware/usb/V1_0/IUsbCallback;->setHALInstrumentation()V
-HPLandroid/hardware/usb/V1_0/IUsbCallback;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HPLandroid/hardware/usb/V1_0/PortStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-HPLandroid/hardware/usb/V1_1/IUsbCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-HPLandroid/hardware/usb/V1_1/IUsbCallback;->asBinder()Landroid/os/IHwBinder;
-HPLandroid/hardware/usb/V1_1/IUsbCallback;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HPLandroid/hardware/usb/V1_1/IUsbCallback;->getHashChain()Ljava/util/ArrayList;
-HPLandroid/hardware/usb/V1_1/IUsbCallback;->interfaceChain()Ljava/util/ArrayList;
-HPLandroid/hardware/usb/V1_1/IUsbCallback;->interfaceDescriptor()Ljava/lang/String;
-HPLandroid/hardware/usb/V1_1/IUsbCallback;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HPLandroid/hardware/usb/V1_1/IUsbCallback;->notifyPortStatusChange_1_1(Ljava/util/ArrayList;I)V
-HPLandroid/hardware/usb/V1_1/IUsbCallback;->notifySyspropsChanged()V
-HPLandroid/hardware/usb/V1_1/IUsbCallback;->ping()V
-HPLandroid/hardware/usb/V1_1/IUsbCallback;->setHALInstrumentation()V
-HPLandroid/hardware/usb/V1_1/IUsbCallback;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HPLandroid/hardware/usb/V1_1/PortStatus_1_1;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
-HPLandroid/hardware/weaver/V1_0/IWeaver$getConfigCallback;->onValues(ILandroid/hardware/weaver/V1_0/WeaverConfig;)V
-HPLandroid/hardware/weaver/V1_0/IWeaver$readCallback;->onValues(ILandroid/hardware/weaver/V1_0/WeaverReadResponse;)V
-HPLandroid/hardware/weaver/V1_0/IWeaver;->asBinder()Landroid/os/IHwBinder;
-HPLandroid/hardware/weaver/V1_0/IWeaver;->getConfig(Landroid/hardware/weaver/V1_0/IWeaver$getConfigCallback;)V
-HPLandroid/hardware/weaver/V1_0/IWeaver;->getDebugInfo()Landroid/hidl/base/V1_0/DebugInfo;
-HPLandroid/hardware/weaver/V1_0/IWeaver;->getHashChain()Ljava/util/ArrayList;
-HPLandroid/hardware/weaver/V1_0/IWeaver;->interfaceChain()Ljava/util/ArrayList;
-HPLandroid/hardware/weaver/V1_0/IWeaver;->interfaceDescriptor()Ljava/lang/String;
-HPLandroid/hardware/weaver/V1_0/IWeaver;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-HPLandroid/hardware/weaver/V1_0/IWeaver;->notifySyspropsChanged()V
-HPLandroid/hardware/weaver/V1_0/IWeaver;->ping()V
-HPLandroid/hardware/weaver/V1_0/IWeaver;->read(ILjava/util/ArrayList;Landroid/hardware/weaver/V1_0/IWeaver$readCallback;)V
-HPLandroid/hardware/weaver/V1_0/IWeaver;->setHALInstrumentation()V
-HPLandroid/hardware/weaver/V1_0/IWeaver;->unlinkToDeath(Landroid/os/IHwBinder$DeathRecipient;)Z
-HPLandroid/hardware/weaver/V1_0/IWeaver;->write(ILjava/util/ArrayList;Ljava/util/ArrayList;)I
-HPLandroid/media/IMediaUpdateService;->loadPlugins(Ljava/lang/String;)V
-HPLandroid/net/apf/ApfGenerator$Instruction;-><init>(Landroid/net/apf/ApfGenerator;Landroid/net/apf/ApfGenerator$Opcodes;Landroid/net/apf/ApfGenerator$Register;)V
-HPLandroid/net/apf/ApfGenerator$Instruction;->calculateImmSize(IZ)B
-HPLandroid/net/apf/ApfGenerator$Instruction;->calculateTargetLabelOffset()I
-HPLandroid/net/apf/ApfGenerator$Instruction;->generatedImmSize()B
-HPLandroid/net/apf/ApfGenerator$Instruction;->shrink()Z
-HPLandroid/net/apf/ApfGenerator$Instruction;->size()I
-HPLandroid/net/apf/ApfGenerator$Instruction;->writeValue(I[BI)I
-HPLandroid/net/apf/ApfGenerator;->addInstruction(Landroid/net/apf/ApfGenerator$Instruction;)V
-HPLandroid/net/apf/ApfGenerator;->generate()[B
-HPLandroid/net/apf/ApfGenerator;->updateInstructionOffsets()I
-HPLandroid/net/ip/IpNeighborMonitor;->handlePacket([BI)V
-HPLandroid/net/ip/IpReachabilityMonitor$Callback;->notifyLost(Ljava/net/InetAddress;Ljava/lang/String;)V
-HPLandroid/net/ip/IpReachabilityMonitor$Dependencies;->acquireWakeLock(J)V
-HPLandroid/net/metrics/INetdEventListener;->onConnectEvent(IIILjava/lang/String;II)V
-HPLandroid/net/metrics/INetdEventListener;->onDnsEvent(IIIILjava/lang/String;[Ljava/lang/String;II)V
-HPLandroid/net/metrics/INetdEventListener;->onPrivateDnsValidationEvent(ILjava/lang/String;Ljava/lang/String;Z)V
-HPLandroid/net/metrics/INetdEventListener;->onTcpSocketStatsEvent([I[I[I[I[I)V
-HPLandroid/net/metrics/INetdEventListener;->onWakeupEvent(Ljava/lang/String;III[BLjava/lang/String;Ljava/lang/String;IIJ)V
-HPLandroid/net/netlink/NetlinkConstants;->alignedLengthOf(I)I
-HPLandroid/net/netlink/NetlinkConstants;->alignedLengthOf(S)I
-HPLandroid/net/netlink/RtNetlinkNeighborMessage;->findNextAttrOfType(SLjava/nio/ByteBuffer;)Landroid/net/netlink/StructNlAttr;
-HPLandroid/net/netlink/StructNlAttr;-><init>(Ljava/nio/ByteOrder;)V
-HPLandroid/net/netlink/StructNlAttr;->getAlignedLength()I
-HPLandroid/net/netlink/StructNlAttr;->peek(Ljava/nio/ByteBuffer;)Landroid/net/netlink/StructNlAttr;
-HPLandroid/net/util/ConnectivityPacketSummary;->getMacAddressString(Ljava/nio/ByteBuffer;)Ljava/lang/String;
-HPLandroid/net/util/PacketReader;->isRunning()Z
-HPLcom/android/server/-$$Lambda$AlarmManagerService$ZVedZIeWdB3G6AGM0_-9P_GEO24;-><init>(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
-HPLcom/android/server/-$$Lambda$AlarmManagerService$ZVedZIeWdB3G6AGM0_-9P_GEO24;->test(Ljava/lang/Object;)Z
-HPLcom/android/server/-$$Lambda$NetworkManagementService$D43p3Tqq7B3qaMs9AGb_3j0KZd0;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
-HPLcom/android/server/AlarmManagerInternal;->removeAlarmsForUid(I)V
-HPLcom/android/server/AlarmManagerService$2;->set(Ljava/lang/String;IJJJILandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
-HPLcom/android/server/AlarmManagerService$Alarm;-><init>(IJJJJJLandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;ILandroid/app/AlarmManager$AlarmClockInfo;ILjava/lang/String;)V
-HPLcom/android/server/AlarmManagerService$Alarm;->makeTag(Landroid/app/PendingIntent;Ljava/lang/String;I)Ljava/lang/String;
-HPLcom/android/server/AlarmManagerService$Alarm;->matches(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)Z
-HPLcom/android/server/AlarmManagerService$AlarmThread;->run()V
-HPLcom/android/server/AlarmManagerService$Batch;-><init>(Lcom/android/server/AlarmManagerService;Lcom/android/server/AlarmManagerService$Alarm;)V
-HPLcom/android/server/AlarmManagerService$Batch;->add(Lcom/android/server/AlarmManagerService$Alarm;)Z
-HPLcom/android/server/AlarmManagerService$Batch;->canHold(JJ)Z
-HPLcom/android/server/AlarmManagerService$Batch;->get(I)Lcom/android/server/AlarmManagerService$Alarm;
-HPLcom/android/server/AlarmManagerService$Batch;->hasWakeups()Z
-HPLcom/android/server/AlarmManagerService$Batch;->remove(Ljava/util/function/Predicate;)Z
-HPLcom/android/server/AlarmManagerService$Batch;->size()I
-HPLcom/android/server/AlarmManagerService$BatchTimeOrder;->compare(Lcom/android/server/AlarmManagerService$Batch;Lcom/android/server/AlarmManagerService$Batch;)I
-HPLcom/android/server/AlarmManagerService$BatchTimeOrder;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HPLcom/android/server/AlarmManagerService$ClockReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-HPLcom/android/server/AlarmManagerService$ClockReceiver;->scheduleTimeTickEvent()V
-HPLcom/android/server/AlarmManagerService$DeliveryTracker;->alarmComplete(Landroid/os/IBinder;)V
-HPLcom/android/server/AlarmManagerService$DeliveryTracker;->updateStatsLocked(Lcom/android/server/AlarmManagerService$InFlight;)V
-HPLcom/android/server/AlarmManagerService$IncreasingTimeOrder;->compare(Lcom/android/server/AlarmManagerService$Alarm;Lcom/android/server/AlarmManagerService$Alarm;)I
-HPLcom/android/server/AlarmManagerService$IncreasingTimeOrder;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HPLcom/android/server/AlarmManagerService;->access$002(Lcom/android/server/AlarmManagerService;J)J
-HPLcom/android/server/AlarmManagerService;->access$1300(Lcom/android/server/AlarmManagerService;Lcom/android/server/AlarmManagerService$Alarm;)Z
-HPLcom/android/server/AlarmManagerService;->access$600(Lcom/android/server/AlarmManagerService;)Lcom/android/server/AppStateTracker;
-HPLcom/android/server/AlarmManagerService;->access$900(Lcom/android/server/AlarmManagerService;J)I
-HPLcom/android/server/AlarmManagerService;->addBatchLocked(Ljava/util/ArrayList;Lcom/android/server/AlarmManagerService$Batch;)Z
-HPLcom/android/server/AlarmManagerService;->adjustDeliveryTimeBasedOnStandbyBucketLocked(Lcom/android/server/AlarmManagerService$Alarm;)Z
-HPLcom/android/server/AlarmManagerService;->attemptCoalesceLocked(JJ)I
-HPLcom/android/server/AlarmManagerService;->calculateDeliveryPriorities(Ljava/util/ArrayList;)V
-HPLcom/android/server/AlarmManagerService;->clampPositive(J)J
-HPLcom/android/server/AlarmManagerService;->convertToElapsed(JI)J
-HPLcom/android/server/AlarmManagerService;->deliverAlarmsLocked(Ljava/util/ArrayList;J)V
-HPLcom/android/server/AlarmManagerService;->findFirstWakeupBatchLocked()Lcom/android/server/AlarmManagerService$Batch;
-HPLcom/android/server/AlarmManagerService;->getAlarmCount(Ljava/util/ArrayList;)I
-HPLcom/android/server/AlarmManagerService;->getMinDelayForBucketLocked(I)J
-HPLcom/android/server/AlarmManagerService;->haveAlarmsTimeTickAlarm(Ljava/util/ArrayList;)Z
-HPLcom/android/server/AlarmManagerService;->haveBatchesTimeTickAlarm(Ljava/util/ArrayList;)Z
-HPLcom/android/server/AlarmManagerService;->insertAndBatchAlarmLocked(Lcom/android/server/AlarmManagerService$Alarm;)V
-HPLcom/android/server/AlarmManagerService;->isExemptFromAppStandby(Lcom/android/server/AlarmManagerService$Alarm;)Z
-HPLcom/android/server/AlarmManagerService;->lambda$removeLocked$0(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;Lcom/android/server/AlarmManagerService$Alarm;)Z
-HPLcom/android/server/AlarmManagerService;->maxTriggerTime(JJJ)J
-HPLcom/android/server/AlarmManagerService;->reAddAlarmLocked(Lcom/android/server/AlarmManagerService$Alarm;JZ)V
-HPLcom/android/server/AlarmManagerService;->rebatchAllAlarmsLocked(Z)V
-HPLcom/android/server/AlarmManagerService;->removeLocked(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
-HPLcom/android/server/AlarmManagerService;->reorderAlarmsBasedOnStandbyBuckets(Landroid/util/ArraySet;)Z
-HPLcom/android/server/AlarmManagerService;->rescheduleKernelAlarmsLocked()V
-HPLcom/android/server/AlarmManagerService;->setImpl(IJJJLandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;ILandroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;ILjava/lang/String;)V
-HPLcom/android/server/AlarmManagerService;->setImplLocked(IJJJJJLandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;IZLandroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;ILjava/lang/String;)V
-HPLcom/android/server/AlarmManagerService;->setImplLocked(Lcom/android/server/AlarmManagerService$Alarm;ZZ)V
-HPLcom/android/server/AlarmManagerService;->setLocked(IJ)V
-HPLcom/android/server/AlarmManagerService;->triggerAlarmsLocked(Ljava/util/ArrayList;JJ)Z
-HPLcom/android/server/AlarmManagerService;->updateNextAlarmClockLocked()V
-HPLcom/android/server/AppOpsService$Op;->getMode()I
-HPLcom/android/server/AppOpsService$UidState;->evalMode(I)I
-HPLcom/android/server/AppOpsService;->checkPackage(ILjava/lang/String;)I
-HPLcom/android/server/AppOpsService;->collectOps(Lcom/android/server/AppOpsService$Ops;[I)Ljava/util/ArrayList;
-HPLcom/android/server/AppOpsService;->commitUidPendingStateLocked(Lcom/android/server/AppOpsService$UidState;)V
-HPLcom/android/server/AppOpsService;->evalAllForegroundOpsLocked()V
-HPLcom/android/server/AppOpsService;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;)V
-HPLcom/android/server/AppOpsService;->finishOperationLocked(Lcom/android/server/AppOpsService$Op;Z)V
-HPLcom/android/server/AppOpsService;->getOpLocked(IILjava/lang/String;Z)Lcom/android/server/AppOpsService$Op;
-HPLcom/android/server/AppOpsService;->getOpLocked(Lcom/android/server/AppOpsService$Ops;IZ)Lcom/android/server/AppOpsService$Op;
-HPLcom/android/server/AppOpsService;->getOpsRawLocked(ILjava/lang/String;ZZ)Lcom/android/server/AppOpsService$Ops;
-HPLcom/android/server/AppOpsService;->getPackagesForOps([I)Ljava/util/List;
-HPLcom/android/server/AppOpsService;->isOpRestrictedLocked(IILjava/lang/String;)Z
-HPLcom/android/server/AppOpsService;->noteOperation(IILjava/lang/String;)I
-HPLcom/android/server/AppOpsService;->noteOperationUnchecked(IILjava/lang/String;ILjava/lang/String;)I
-HPLcom/android/server/AppOpsService;->noteProxyOperation(ILjava/lang/String;ILjava/lang/String;)I
-HPLcom/android/server/AppOpsService;->notifyOpChanged(Lcom/android/server/AppOpsService$ModeCallback;IILjava/lang/String;)V
-HPLcom/android/server/AppOpsService;->resolvePackageName(ILjava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/AppOpsService;->scheduleOpActiveChangedIfNeededLocked(IILjava/lang/String;Z)V
-HPLcom/android/server/AppOpsService;->scheduleWriteLocked()V
-HPLcom/android/server/AppOpsService;->setAudioRestriction(IIII[Ljava/lang/String;)V
-HPLcom/android/server/AppOpsService;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Z)I
-HPLcom/android/server/AppOpsService;->updateUidProcState(II)V
-HPLcom/android/server/AppOpsService;->verifyIncomingOp(I)V
-HPLcom/android/server/AppOpsService;->verifyIncomingUid(I)V
-HPLcom/android/server/AppOpsService;->writeState()V
-HPLcom/android/server/AppStateTracker$Listener;->access$1100(Lcom/android/server/AppStateTracker$Listener;Lcom/android/server/AppStateTracker;I)V
-HPLcom/android/server/AppStateTracker$Listener;->onUidForeground(IZ)V
-HPLcom/android/server/AppStateTracker$Listener;->onUidForegroundStateChanged(Lcom/android/server/AppStateTracker;I)V
-HPLcom/android/server/AppStateTracker$MyHandler;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/server/AppStateTracker$MyHandler;->handleUidStateChanged(II)V
-HPLcom/android/server/AppStateTracker$MyHandler;->onUidStateChanged(II)V
-HPLcom/android/server/AppStateTracker$UidObserver;->onUidStateChanged(IIJ)V
-HPLcom/android/server/AppStateTracker;->access$100(Lcom/android/server/AppStateTracker;)Ljava/lang/Object;
-HPLcom/android/server/AppStateTracker;->access$1800(Landroid/util/SparseBooleanArray;IZ)Z
-HPLcom/android/server/AppStateTracker;->access$200(Lcom/android/server/AppStateTracker;)Lcom/android/server/AppStateTracker$MyHandler;
-HPLcom/android/server/AppStateTracker;->access$800(Lcom/android/server/AppStateTracker;)Lcom/android/internal/util/StatLogger;
-HPLcom/android/server/AppStateTracker;->areJobsRestricted(ILjava/lang/String;Z)Z
-HPLcom/android/server/AppStateTracker;->findForcedAppStandbyUidPackageIndexLocked(ILjava/lang/String;)I
-HPLcom/android/server/AppStateTracker;->isAnyAppIdUnwhitelisted([I[I)Z
-HPLcom/android/server/AppStateTracker;->isRestricted(ILjava/lang/String;ZZ)Z
-HPLcom/android/server/AppStateTracker;->isRunAnyRestrictedLocked(ILjava/lang/String;)Z
-HPLcom/android/server/AppStateTracker;->isUidActive(I)Z
-HPLcom/android/server/AppStateTracker;->isUidInForeground(I)Z
-HPLcom/android/server/AppStateTracker;->removeUidFromArray(Landroid/util/SparseBooleanArray;IZ)Z
-HPLcom/android/server/BatteryService$HealthServiceWrapper$Callback;->onRegistration(Landroid/hardware/health/V2_0/IHealth;Landroid/hardware/health/V2_0/IHealth;Ljava/lang/String;)V
-HPLcom/android/server/BatteryService;->update(Landroid/hardware/health/V2_0/HealthInfo;)V
-HPLcom/android/server/ConnectivityService;->checkSettingsPermission(II)Z
-HPLcom/android/server/ConnectivityService;->enforceAccessPermission()V
-HPLcom/android/server/ConnectivityService;->enforceConnectivityInternalPermission()V
-HPLcom/android/server/ConnectivityService;->filterNetworkStateForUid(Landroid/net/NetworkState;IZ)V
-HPLcom/android/server/ConnectivityService;->getActiveNetwork()Landroid/net/Network;
-HPLcom/android/server/ConnectivityService;->getActiveNetworkForUid(IZ)Landroid/net/Network;
-HPLcom/android/server/ConnectivityService;->getActiveNetworkForUidInternal(IZ)Landroid/net/Network;
-HPLcom/android/server/ConnectivityService;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
-HPLcom/android/server/ConnectivityService;->getDefaultNetwork()Lcom/android/server/connectivity/NetworkAgentInfo;
-HPLcom/android/server/ConnectivityService;->getNetworkAgentInfoForNetId(I)Lcom/android/server/connectivity/NetworkAgentInfo;
-HPLcom/android/server/ConnectivityService;->getNetworkAgentInfoForNetwork(Landroid/net/Network;)Lcom/android/server/connectivity/NetworkAgentInfo;
-HPLcom/android/server/ConnectivityService;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
-HPLcom/android/server/ConnectivityService;->getNetworkCapabilitiesInternal(Lcom/android/server/connectivity/NetworkAgentInfo;)Landroid/net/NetworkCapabilities;
-HPLcom/android/server/ConnectivityService;->getNetworkForRequest(I)Lcom/android/server/connectivity/NetworkAgentInfo;
-HPLcom/android/server/ConnectivityService;->getNetworkInfoForUid(Landroid/net/Network;IZ)Landroid/net/NetworkInfo;
-HPLcom/android/server/ConnectivityService;->getUnfilteredActiveNetworkState(I)Landroid/net/NetworkState;
-HPLcom/android/server/ConnectivityService;->getVpnUnderlyingNetworks(I)[Landroid/net/Network;
-HPLcom/android/server/ConnectivityService;->isActiveNetworkMetered()Z
-HPLcom/android/server/ConnectivityService;->isNetworkWithLinkPropertiesBlocked(Landroid/net/LinkProperties;IZ)Z
-HPLcom/android/server/ConnectivityService;->isSystem(I)Z
-HPLcom/android/server/ConnectivityService;->maybeLogBlockedNetworkInfo(Landroid/net/NetworkInfo;I)V
-HPLcom/android/server/ConnectivityService;->networkCapabilitiesRestrictedForCallerPermissions(Landroid/net/NetworkCapabilities;II)Landroid/net/NetworkCapabilities;
-HPLcom/android/server/ConnectivityService;->processListenRequests(Lcom/android/server/connectivity/NetworkAgentInfo;Z)V
-HPLcom/android/server/ConnectivityService;->putParcelable(Landroid/os/Bundle;Landroid/os/Parcelable;)V
-HPLcom/android/server/ConnectivityService;->rematchNetworkAndRequests(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/ConnectivityService$ReapUnvalidatedNetworks;J)V
-HPLcom/android/server/ConnectivityService;->sendDataActivityBroadcast(IZJ)V
-HPLcom/android/server/DeviceIdleController$BinderService;->isPowerSaveWhitelistExceptIdleApp(Ljava/lang/String;)Z
-HPLcom/android/server/DeviceIdleController;->isPowerSaveWhitelistExceptIdleAppInternal(Ljava/lang/String;)Z
-HPLcom/android/server/DiskStatsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HPLcom/android/server/DropBoxManagerService$EntryFile;->compareTo(Lcom/android/server/DropBoxManagerService$EntryFile;)I
-HPLcom/android/server/DropBoxManagerService$EntryFile;->compareTo(Ljava/lang/Object;)I
-HPLcom/android/server/DropBoxManagerService$EntryFile;->hasFile()Z
-HPLcom/android/server/DropBoxManagerService;->add(Landroid/os/DropBoxManager$Entry;)V
-HPLcom/android/server/DropBoxManagerService;->createEntry(Ljava/io/File;Ljava/lang/String;I)J
-HPLcom/android/server/DropBoxManagerService;->isTagEnabled(Ljava/lang/String;)Z
-HPLcom/android/server/DropBoxManagerService;->trimToFit()J
-HPLcom/android/server/EventLogTags;->writeNotificationEnqueue(IILjava/lang/String;ILjava/lang/String;ILjava/lang/String;I)V
-HPLcom/android/server/InputMethodManagerService;->calledFromValidUser()Z
-HPLcom/android/server/IntentResolver$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HPLcom/android/server/IntentResolver;->buildResolveList(Landroid/content/Intent;Landroid/util/FastImmutableArraySet;ZZLjava/lang/String;Ljava/lang/String;[Landroid/content/IntentFilter;Ljava/util/List;I)V
-HPLcom/android/server/IntentResolver;->filterEquals(Landroid/content/IntentFilter;Landroid/content/IntentFilter;)Z
-HPLcom/android/server/IntentResolver;->filterResults(Ljava/util/List;)V
-HPLcom/android/server/IntentResolver;->getFastIntentCategories(Landroid/content/Intent;)Landroid/util/FastImmutableArraySet;
-HPLcom/android/server/IntentResolver;->isFilterStopped(Landroid/content/IntentFilter;I)Z
-HPLcom/android/server/IntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
-HPLcom/android/server/IntentResolver;->queryIntent(Landroid/content/Intent;Ljava/lang/String;ZI)Ljava/util/List;
-HPLcom/android/server/IntentResolver;->queryIntentFromList(Landroid/content/Intent;Ljava/lang/String;ZLjava/util/ArrayList;I)Ljava/util/List;
-HPLcom/android/server/IntentResolver;->sortResults(Ljava/util/List;)V
-HPLcom/android/server/IpSecService$IpSecServiceConfiguration;->getNetdInstance()Landroid/net/INetd;
-HPLcom/android/server/IpSecService$UidFdTagger;->tag(Ljava/io/FileDescriptor;I)V
-HPLcom/android/server/LocationManagerService;->checkInteractAcrossUsersPermission(I)V
-HPLcom/android/server/LocationManagerService;->checkPackageName(Ljava/lang/String;)V
-HPLcom/android/server/LocationManagerService;->getCallerAllowedResolutionLevel()I
-HPLcom/android/server/LocationManagerService;->getLastLocation(Landroid/location/LocationRequest;Ljava/lang/String;)Landroid/location/Location;
-HPLcom/android/server/LocationManagerService;->handleLocationChangedLocked(Landroid/location/Location;Z)V
-HPLcom/android/server/LocationManagerService;->isLocationEnabledForUser(I)Z
-HPLcom/android/server/LocationManagerService;->isLocationProviderEnabledForUser(Ljava/lang/String;I)Z
-HPLcom/android/server/LocationManagerService;->locationCallbackFinished(Landroid/location/ILocationListener;)V
-HPLcom/android/server/LocationManagerService;->onUidImportanceChanged(II)V
-HPLcom/android/server/NativeDaemonConnector;->appendEscaped(Ljava/lang/StringBuilder;Ljava/lang/String;)V
-HPLcom/android/server/NativeDaemonConnector;->executeForList(JLjava/lang/String;[Ljava/lang/Object;)[Lcom/android/server/NativeDaemonEvent;
-HPLcom/android/server/NativeDaemonConnector;->listenToSocket()V
-HPLcom/android/server/NativeDaemonConnector;->uptimeMillisInt()I
-HPLcom/android/server/NativeDaemonEvent;->isClassUnsolicited(I)Z
-HPLcom/android/server/NativeDaemonEvent;->unescapeArgs(Ljava/lang/String;)[Ljava/lang/String;
-HPLcom/android/server/NetworkManagementInternal;->isNetworkRestrictedForUid(I)Z
-HPLcom/android/server/NetworkManagementService$LocalService;->isNetworkRestrictedForUid(I)Z
-HPLcom/android/server/NetworkManagementService$NetdTetheringStatsProvider;->getTetherStats(I)Landroid/net/NetworkStats;
-HPLcom/android/server/NetworkManagementService;->access$1700(Lcom/android/server/NetworkManagementService;I)Z
-HPLcom/android/server/NetworkManagementService;->enforceSystemUid()V
-HPLcom/android/server/NetworkManagementService;->getFirewallChainState(I)Z
-HPLcom/android/server/NetworkManagementService;->getNetworkStatsTethering(I)Landroid/net/NetworkStats;
-HPLcom/android/server/NetworkManagementService;->invokeForAllObservers(Lcom/android/server/NetworkManagementService$NetworkManagementEventCallback;)V
-HPLcom/android/server/NetworkManagementService;->isNetworkRestrictedInternal(I)Z
-HPLcom/android/server/NetworkManagementService;->lambda$notifyInterfaceClassActivity$5(IZJLandroid/net/INetworkManagementEventObserver;)V
-HPLcom/android/server/NetworkManagementService;->setUidCleartextNetworkPolicy(II)V
-HPLcom/android/server/NetworkScoreService$ScoringServiceConnection;->getPackageName()Ljava/lang/String;
-HPLcom/android/server/NetworkScoreService;->enforceSystemOrHasScoreNetworks()V
-HPLcom/android/server/NetworkScoreService;->getActiveScorerPackage()Ljava/lang/String;
-HPLcom/android/server/NsdService$DaemonConnectionSupplier;->get(Lcom/android/server/NsdService$NativeCallbackReceiver;)Lcom/android/server/NsdService$DaemonConnection;
-HPLcom/android/server/NsdService$NsdSettings;->isEnabled()Z
-HPLcom/android/server/NsdService$NsdSettings;->putEnabledStatus(Z)V
-HPLcom/android/server/NsdService$NsdSettings;->registerContentObserver(Landroid/net/Uri;Landroid/database/ContentObserver;)V
-HPLcom/android/server/PersistentDataBlockManagerInternal;->forceOemUnlockEnabled(Z)V
-HPLcom/android/server/PersistentDataBlockManagerInternal;->getFrpCredentialHandle()[B
-HPLcom/android/server/PersistentDataBlockManagerInternal;->setFrpCredentialHandle([B)V
-HPLcom/android/server/StorageManagerService;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume;
-HPLcom/android/server/StorageManagerService;->getVolumes(I)[Landroid/os/storage/VolumeInfo;
-HPLcom/android/server/StorageManagerService;->isUserKeyUnlocked(I)Z
-HPLcom/android/server/TelephonyRegistry$Record;->matchPhoneStateListenerEvent(I)Z
-HPLcom/android/server/TelephonyRegistry;->broadcastSignalStrengthChanged(Landroid/telephony/SignalStrength;II)V
-HPLcom/android/server/TelephonyRegistry;->notifyDataConnectionForSubscriber(IIZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;IZ)V
-HPLcom/android/server/TelephonyRegistry;->notifySignalStrengthForPhoneId(IILandroid/telephony/SignalStrength;)V
-HPLcom/android/server/TelephonyRegistry;->validateEventsAndUserLocked(Lcom/android/server/TelephonyRegistry$Record;I)Z
-HPLcom/android/server/ThreadPriorityBooster;->boost()V
-HPLcom/android/server/ThreadPriorityBooster;->reset()V
-HPLcom/android/server/Watchdog$BinderThreadMonitor;->monitor()V
-HPLcom/android/server/Watchdog$HandlerChecker;->getCompletionStateLocked()I
-HPLcom/android/server/Watchdog$HandlerChecker;->run()V
-HPLcom/android/server/Watchdog$HandlerChecker;->scheduleCheckLocked()V
-HPLcom/android/server/Watchdog;->evaluateCheckerCompletionLocked()I
-HPLcom/android/server/Watchdog;->run()V
-HPLcom/android/server/accessibility/KeyEventDispatcher$KeyEventFilter;->onKeyEvent(Landroid/view/KeyEvent;I)Z
-HPLcom/android/server/accounts/AccountManagerService$Session;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;ZZLjava/lang/String;ZZ)V
-HPLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$800(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)I
-HPLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$900(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map;
-HPLcom/android/server/accounts/AccountManagerService;->accountTypeManagesContacts(Ljava/lang/String;I)Z
-HPLcom/android/server/accounts/AccountManagerService;->cancelNotification(Lcom/android/server/accounts/AccountManagerService$NotificationId;Ljava/lang/String;Landroid/os/UserHandle;)V
-HPLcom/android/server/accounts/AccountManagerService;->checkPackageSignature(Ljava/lang/String;II)I
-HPLcom/android/server/accounts/AccountManagerService;->filterAccounts(Lcom/android/server/accounts/AccountManagerService$UserAccounts;[Landroid/accounts/Account;ILjava/lang/String;Z)[Landroid/accounts/Account;
-HPLcom/android/server/accounts/AccountManagerService;->filterSharedAccounts(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/util/Map;ILjava/lang/String;)Ljava/util/Map;
-HPLcom/android/server/accounts/AccountManagerService;->getAccountVisibilityFromCache(Landroid/accounts/Account;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)I
-HPLcom/android/server/accounts/AccountManagerService;->getAccounts(ILjava/lang/String;)[Landroid/accounts/Account;
-HPLcom/android/server/accounts/AccountManagerService;->getAccountsAsUser(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;
-HPLcom/android/server/accounts/AccountManagerService;->getAccountsAsUserForPackage(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;
-HPLcom/android/server/accounts/AccountManagerService;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
-HPLcom/android/server/accounts/AccountManagerService;->getAccountsFromCache(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;
-HPLcom/android/server/accounts/AccountManagerService;->getAccountsInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;ILjava/lang/String;Ljava/util/List;Z)[Landroid/accounts/Account;
-HPLcom/android/server/accounts/AccountManagerService;->getAuthToken(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZZLandroid/os/Bundle;)V
-HPLcom/android/server/accounts/AccountManagerService;->getAuthenticatorTypes(I)[Landroid/accounts/AuthenticatorDescription;
-HPLcom/android/server/accounts/AccountManagerService;->getPackagesAndVisibilityForAccountLocked(Landroid/accounts/Account;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map;
-HPLcom/android/server/accounts/AccountManagerService;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
-HPLcom/android/server/accounts/AccountManagerService;->getTypesForCaller(IIZ)Ljava/util/List;
-HPLcom/android/server/accounts/AccountManagerService;->getTypesManagedByCaller(II)Ljava/util/List;
-HPLcom/android/server/accounts/AccountManagerService;->getTypesVisibleToCaller(IILjava/lang/String;)Ljava/util/List;
-HPLcom/android/server/accounts/AccountManagerService;->getUserAccounts(I)Lcom/android/server/accounts/AccountManagerService$UserAccounts;
-HPLcom/android/server/accounts/AccountManagerService;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/accounts/AccountManagerService;->getUserManager()Landroid/os/UserManager;
-HPLcom/android/server/accounts/AccountManagerService;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Z
-HPLcom/android/server/accounts/AccountManagerService;->isAccountManagedByCaller(Ljava/lang/String;II)Z
-HPLcom/android/server/accounts/AccountManagerService;->isPermittedForPackage(Ljava/lang/String;II[Ljava/lang/String;)Z
-HPLcom/android/server/accounts/AccountManagerService;->isPreOApplication(Ljava/lang/String;)Z
-HPLcom/android/server/accounts/AccountManagerService;->isPrivileged(I)Z
-HPLcom/android/server/accounts/AccountManagerService;->isProfileOwner(I)Z
-HPLcom/android/server/accounts/AccountManagerService;->onAccountAccessed(Ljava/lang/String;)V
-HPLcom/android/server/accounts/AccountManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/server/accounts/AccountManagerService;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/accounts/AccountManagerService;->permissionIsGranted(Landroid/accounts/Account;Ljava/lang/String;II)Z
-HPLcom/android/server/accounts/AccountManagerService;->resolveAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/lang/Integer;
-HPLcom/android/server/accounts/AccountManagerService;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-HPLcom/android/server/accounts/AccountManagerService;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-HPLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->access$600(Lcom/android/server/accounts/AccountsDb$DeDatabaseHelper;)Z
-HPLcom/android/server/accounts/AccountsDb;->isCeDatabaseAttached()Z
-HPLcom/android/server/accounts/IAccountAuthenticatorCache;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;I)V
-HPLcom/android/server/accounts/IAccountAuthenticatorCache;->getAllServices(I)Ljava/util/Collection;
-HPLcom/android/server/accounts/IAccountAuthenticatorCache;->getBindInstantServiceAllowed(I)Z
-HPLcom/android/server/accounts/IAccountAuthenticatorCache;->getServiceInfo(Landroid/accounts/AuthenticatorDescription;I)Landroid/content/pm/RegisteredServicesCache$ServiceInfo;
-HPLcom/android/server/accounts/IAccountAuthenticatorCache;->invalidateCache(I)V
-HPLcom/android/server/accounts/IAccountAuthenticatorCache;->setBindInstantServiceAllowed(IZ)V
-HPLcom/android/server/accounts/IAccountAuthenticatorCache;->setListener(Landroid/content/pm/RegisteredServicesCacheListener;Landroid/os/Handler;)V
-HPLcom/android/server/accounts/IAccountAuthenticatorCache;->updateServices(I)V
-HPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$PpNEY15dspg9oLlkg1OsyjrPTqw;-><init>(Lcom/android/server/am/BatteryExternalStatsWorker;)V
-HPLcom/android/server/am/-$$Lambda$RunningTasks$BGar3HlUsTw-0HzSmfkEWly0moY;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HPLcom/android/server/am/ActiveServices$ServiceLookupResult;-><init>(Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
-HPLcom/android/server/am/ActiveServices$ServiceMap;->ensureNotStartingBackgroundLocked(Lcom/android/server/am/ServiceRecord;)V
-HPLcom/android/server/am/ActiveServices$ServiceMap;->rescheduleDelayedStartsLocked()V
-HPLcom/android/server/am/ActiveServices$ServiceRestarter;-><init>(Lcom/android/server/am/ActiveServices;)V
-HPLcom/android/server/am/ActiveServices$ServiceRestarter;-><init>(Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices$1;)V
-HPLcom/android/server/am/ActiveServices$ServiceRestarter;->setService(Lcom/android/server/am/ServiceRecord;)V
-HPLcom/android/server/am/ActiveServices;->bindServiceLocked(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;I)I
-HPLcom/android/server/am/ActiveServices;->bringDownServiceIfNeededLocked(Lcom/android/server/am/ServiceRecord;ZZ)V
-HPLcom/android/server/am/ActiveServices;->bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;)V
-HPLcom/android/server/am/ActiveServices;->bringUpServiceLocked(Lcom/android/server/am/ServiceRecord;IZZZ)Ljava/lang/String;
-HPLcom/android/server/am/ActiveServices;->bumpServiceExecutingLocked(Lcom/android/server/am/ServiceRecord;ZLjava/lang/String;)V
-HPLcom/android/server/am/ActiveServices;->cancelForegroundNotificationLocked(Lcom/android/server/am/ServiceRecord;)V
-HPLcom/android/server/am/ActiveServices;->collectPackageServicesLocked(Ljava/lang/String;Ljava/util/Set;ZZZLandroid/util/ArrayMap;)Z
-HPLcom/android/server/am/ActiveServices;->findServiceLocked(Landroid/content/ComponentName;Landroid/os/IBinder;I)Lcom/android/server/am/ServiceRecord;
-HPLcom/android/server/am/ActiveServices;->getServiceByNameLocked(Landroid/content/ComponentName;I)Lcom/android/server/am/ServiceRecord;
-HPLcom/android/server/am/ActiveServices;->getServiceMapLocked(I)Lcom/android/server/am/ActiveServices$ServiceMap;
-HPLcom/android/server/am/ActiveServices;->hasBackgroundServicesLocked(I)Z
-HPLcom/android/server/am/ActiveServices;->isServiceNeededLocked(Lcom/android/server/am/ServiceRecord;ZZ)Z
-HPLcom/android/server/am/ActiveServices;->makeRunningServiceInfoLocked(Lcom/android/server/am/ServiceRecord;)Landroid/app/ActivityManager$RunningServiceInfo;
-HPLcom/android/server/am/ActiveServices;->publishServiceLocked(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent;Landroid/os/IBinder;)V
-HPLcom/android/server/am/ActiveServices;->realStartServiceLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ProcessRecord;Z)V
-HPLcom/android/server/am/ActiveServices;->removeConnectionLocked(Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ActivityRecord;)V
-HPLcom/android/server/am/ActiveServices;->requestServiceBindingLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/IntentBindRecord;ZZ)Z
-HPLcom/android/server/am/ActiveServices;->requestServiceBindingsLocked(Lcom/android/server/am/ServiceRecord;Z)V
-HPLcom/android/server/am/ActiveServices;->retrieveServiceLocked(Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;IIIZZZZ)Lcom/android/server/am/ActiveServices$ServiceLookupResult;
-HPLcom/android/server/am/ActiveServices;->scheduleServiceTimeoutLocked(Lcom/android/server/am/ProcessRecord;)V
-HPLcom/android/server/am/ActiveServices;->sendServiceArgsLocked(Lcom/android/server/am/ServiceRecord;ZZ)V
-HPLcom/android/server/am/ActiveServices;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;III)V
-HPLcom/android/server/am/ActiveServices;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;ZZ)V
-HPLcom/android/server/am/ActiveServices;->startServiceInnerLocked(Lcom/android/server/am/ActiveServices$ServiceMap;Landroid/content/Intent;Lcom/android/server/am/ServiceRecord;ZZ)Landroid/content/ComponentName;
-HPLcom/android/server/am/ActiveServices;->startServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;IIZLjava/lang/String;I)Landroid/content/ComponentName;
-HPLcom/android/server/am/ActiveServices;->stopInBackgroundLocked(I)V
-HPLcom/android/server/am/ActiveServices;->stopServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)I
-HPLcom/android/server/am/ActiveServices;->stopServiceLocked(Lcom/android/server/am/ServiceRecord;)V
-HPLcom/android/server/am/ActiveServices;->stopServiceTokenLocked(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
-HPLcom/android/server/am/ActiveServices;->unbindServiceLocked(Landroid/app/IServiceConnection;)Z
-HPLcom/android/server/am/ActiveServices;->unscheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;IZ)Z
-HPLcom/android/server/am/ActiveServices;->updateServiceClientActivitiesLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ConnectionRecord;Z)Z
-HPLcom/android/server/am/ActiveServices;->updateServiceForegroundLocked(Lcom/android/server/am/ProcessRecord;Z)V
-HPLcom/android/server/am/ActivityDisplay;->getChildAt(I)Lcom/android/server/am/ActivityStack;
-HPLcom/android/server/am/ActivityDisplay;->getChildCount()I
-HPLcom/android/server/am/ActivityDisplay;->isTopNotPinnedStack(Lcom/android/server/am/ActivityStack;)Z
-HPLcom/android/server/am/ActivityManagerService$2;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
-HPLcom/android/server/am/ActivityManagerService$2;->allowFilterResult(Lcom/android/server/am/BroadcastFilter;Ljava/util/List;)Z
-HPLcom/android/server/am/ActivityManagerService$2;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
-HPLcom/android/server/am/ActivityManagerService$2;->isPackageForFilter(Ljava/lang/String;Lcom/android/server/am/BroadcastFilter;)Z
-HPLcom/android/server/am/ActivityManagerService$2;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
-HPLcom/android/server/am/ActivityManagerService$2;->newResult(Lcom/android/server/am/BroadcastFilter;II)Lcom/android/server/am/BroadcastFilter;
-HPLcom/android/server/am/ActivityManagerService$3;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/server/am/ActivityManagerService$Injector;->ensureHasNetworkManagementInternal()Z
-HPLcom/android/server/am/ActivityManagerService$Injector;->isNetworkRestrictedForUid(I)Z
-HPLcom/android/server/am/ActivityManagerService$KillHandler;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/server/am/ActivityManagerService$LocalService;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;
-HPLcom/android/server/am/ActivityManagerService$LocalService;->notifyNetworkPolicyRulesUpdated(IJ)V
-HPLcom/android/server/am/ActivityManagerService$LocalService;->setPendingIntentWhitelistDuration(Landroid/content/IIntentSender;Landroid/os/IBinder;J)V
-HPLcom/android/server/am/ActivityManagerService$MainHandler;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/server/am/ActivityManagerService$UiHandler;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/server/am/ActivityManagerService;->addBroadcastStatLocked(Ljava/lang/String;Ljava/lang/String;IIJ)V
-HPLcom/android/server/am/ActivityManagerService;->appDiedLocked(Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;Z)V
-HPLcom/android/server/am/ActivityManagerService;->appRestrictedInBackgroundLocked(ILjava/lang/String;I)I
-HPLcom/android/server/am/ActivityManagerService;->applyOomAdjLocked(Lcom/android/server/am/ProcessRecord;ZJJ)Z
-HPLcom/android/server/am/ActivityManagerService;->attachApplication(Landroid/app/IApplicationThread;J)V
-HPLcom/android/server/am/ActivityManagerService;->attachApplicationLocked(Landroid/app/IApplicationThread;IIJ)Z
-HPLcom/android/server/am/ActivityManagerService;->backgroundServicesFinishedLocked(I)V
-HPLcom/android/server/am/ActivityManagerService;->bindService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;I)I
-HPLcom/android/server/am/ActivityManagerService;->boostPriorityForLockedSection()V
-HPLcom/android/server/am/ActivityManagerService;->broadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I
-HPLcom/android/server/am/ActivityManagerService;->broadcastIntentInPackage(Ljava/lang/String;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;Landroid/os/Bundle;ZZI)I
-HPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIII)I
-HPLcom/android/server/am/ActivityManagerService;->broadcastQueueForIntent(Landroid/content/Intent;)Lcom/android/server/am/BroadcastQueue;
-HPLcom/android/server/am/ActivityManagerService;->canClearIdentity(III)Z
-HPLcom/android/server/am/ActivityManagerService;->checkBroadcastFromSystem(Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;IZLjava/util/List;)V
-HPLcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
-HPLcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
-HPLcom/android/server/am/ActivityManagerService;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;
-HPLcom/android/server/am/ActivityManagerService;->checkContentProviderPermissionLocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ProcessRecord;IZ)Ljava/lang/String;
-HPLcom/android/server/am/ActivityManagerService;->checkGrantUriPermissionFromIntentLocked(ILjava/lang/String;Landroid/content/Intent;ILcom/android/server/am/ActivityManagerService$NeededUriGrants;I)Lcom/android/server/am/ActivityManagerService$NeededUriGrants;
-HPLcom/android/server/am/ActivityManagerService;->checkPermission(Ljava/lang/String;II)I
-HPLcom/android/server/am/ActivityManagerService;->checkPermissionWithToken(Ljava/lang/String;IILandroid/os/IBinder;)I
-HPLcom/android/server/am/ActivityManagerService;->checkTime(JLjava/lang/String;)V
-HPLcom/android/server/am/ActivityManagerService;->collectReceiverComponents(Landroid/content/Intent;Ljava/lang/String;I[I)Ljava/util/List;
-HPLcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
-HPLcom/android/server/am/ActivityManagerService;->computeOomAdjLocked(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;ZJ)Z
-HPLcom/android/server/am/ActivityManagerService;->decProviderCountLocked(Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;Z)Z
-HPLcom/android/server/am/ActivityManagerService;->dispatchUidsChanged()V
-HPLcom/android/server/am/ActivityManagerService;->dispatchUidsChangedForObserver(Landroid/app/IUidObserver;Lcom/android/server/am/ActivityManagerService$UidObserverRegistration;I)V
-HPLcom/android/server/am/ActivityManagerService;->enforceCallerIsRecentsOrHasPermission(Ljava/lang/String;Ljava/lang/String;)V
-HPLcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
-HPLcom/android/server/am/ActivityManagerService;->enqueueUidChangeLocked(Lcom/android/server/am/UidRecord;II)V
-HPLcom/android/server/am/ActivityManagerService;->fillInProcMemInfo(Lcom/android/server/am/ProcessRecord;Landroid/app/ActivityManager$RunningAppProcessInfo;I)V
-HPLcom/android/server/am/ActivityManagerService;->findAppProcess(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
-HPLcom/android/server/am/ActivityManagerService;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V
-HPLcom/android/server/am/ActivityManagerService;->getActivityOptions(Landroid/os/IBinder;)Landroid/os/Bundle;
-HPLcom/android/server/am/ActivityManagerService;->getAppStartModeLocked(ILjava/lang/String;IIZZZ)I
-HPLcom/android/server/am/ActivityManagerService;->getBackgroundLaunchBroadcasts()Landroid/util/ArraySet;
-HPLcom/android/server/am/ActivityManagerService;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder;
-HPLcom/android/server/am/ActivityManagerService;->getContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;I)Landroid/app/ContentProviderHolder;
-HPLcom/android/server/am/ActivityManagerService;->getContentProviderImpl(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/os/IBinder;ZI)Landroid/app/ContentProviderHolder;
-HPLcom/android/server/am/ActivityManagerService;->getCurrentUser()Landroid/content/pm/UserInfo;
-HPLcom/android/server/am/ActivityManagerService;->getFilteredTasks(III)Ljava/util/List;
-HPLcom/android/server/am/ActivityManagerService;->getFocusedStackInfo()Landroid/app/ActivityManager$StackInfo;
-HPLcom/android/server/am/ActivityManagerService;->getGlobalConfiguration()Landroid/content/res/Configuration;
-HPLcom/android/server/am/ActivityManagerService;->getIntentSender(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;I)Landroid/content/IIntentSender;
-HPLcom/android/server/am/ActivityManagerService;->getIntentSenderLocked(ILjava/lang/String;IILandroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;)Landroid/content/IIntentSender;
-HPLcom/android/server/am/ActivityManagerService;->getLRURecordIndexForAppLocked(Landroid/app/IApplicationThread;)I
-HPLcom/android/server/am/ActivityManagerService;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
-HPLcom/android/server/am/ActivityManagerService;->getMemoryTrimLevel()I
-HPLcom/android/server/am/ActivityManagerService;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
-HPLcom/android/server/am/ActivityManagerService;->getPackageForIntentSender(Landroid/content/IIntentSender;)Ljava/lang/String;
-HPLcom/android/server/am/ActivityManagerService;->getPackageManagerInternalLocked()Landroid/content/pm/PackageManagerInternal;
-HPLcom/android/server/am/ActivityManagerService;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I
-HPLcom/android/server/am/ActivityManagerService;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;
-HPLcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/lang/String;IZ)Lcom/android/server/am/ProcessRecord;
-HPLcom/android/server/am/ActivityManagerService;->getProviderMimeType(Landroid/net/Uri;I)Ljava/lang/String;
-HPLcom/android/server/am/ActivityManagerService;->getRecentTasks()Lcom/android/server/am/RecentTasks;
-HPLcom/android/server/am/ActivityManagerService;->getRecentTasks(III)Landroid/content/pm/ParceledListSlice;
-HPLcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
-HPLcom/android/server/am/ActivityManagerService;->getRunningAppProcesses()Ljava/util/List;
-HPLcom/android/server/am/ActivityManagerService;->getStackInfo(II)Landroid/app/ActivityManager$StackInfo;
-HPLcom/android/server/am/ActivityManagerService;->getTagForIntentSender(Landroid/content/IIntentSender;Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/am/ActivityManagerService;->getTagForIntentSenderLocked(Lcom/android/server/am/PendingIntentRecord;Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/am/ActivityManagerService;->getUidForIntentSender(Landroid/content/IIntentSender;)I
-HPLcom/android/server/am/ActivityManagerService;->grantEphemeralAccessLocked(ILandroid/content/Intent;II)V
-HPLcom/android/server/am/ActivityManagerService;->grantUriPermissionFromOwner(Landroid/os/IBinder;ILjava/lang/String;Landroid/net/Uri;III)V
-HPLcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
-HPLcom/android/server/am/ActivityManagerService;->handleProcessStartedLocked(Lcom/android/server/am/ProcessRecord;IZJZ)Z
-HPLcom/android/server/am/ActivityManagerService;->idleUids()V
-HPLcom/android/server/am/ActivityManagerService;->incProviderCountLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;Z)Lcom/android/server/am/ContentProviderConnection;
-HPLcom/android/server/am/ActivityManagerService;->isAppStartModeDisabled(ILjava/lang/String;)Z
-HPLcom/android/server/am/ActivityManagerService;->isInstantApp(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;I)Z
-HPLcom/android/server/am/ActivityManagerService;->isProcessAliveLocked(Lcom/android/server/am/ProcessRecord;)Z
-HPLcom/android/server/am/ActivityManagerService;->isReceivingBroadcastLocked(Lcom/android/server/am/ProcessRecord;Landroid/util/ArraySet;)Z
-HPLcom/android/server/am/ActivityManagerService;->isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)Z
-HPLcom/android/server/am/ActivityManagerService;->isUidActiveLocked(I)Z
-HPLcom/android/server/am/ActivityManagerService;->killPackageProcessesLocked(Ljava/lang/String;IIIZZZZLjava/lang/String;)Z
-HPLcom/android/server/am/ActivityManagerService;->maybeUpdateProviderUsageStatsLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
-HPLcom/android/server/am/ActivityManagerService;->maybeUpdateUsageStatsLocked(Lcom/android/server/am/ProcessRecord;J)V
-HPLcom/android/server/am/ActivityManagerService;->noteUidProcessState(II)V
-HPLcom/android/server/am/ActivityManagerService;->notifyPackageUse(Ljava/lang/String;I)V
-HPLcom/android/server/am/ActivityManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/server/am/ActivityManagerService;->procStateToImportance(IILandroid/app/ActivityManager$RunningAppProcessInfo;I)I
-HPLcom/android/server/am/ActivityManagerService;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V
-HPLcom/android/server/am/ActivityManagerService;->publishService(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/IBinder;)V
-HPLcom/android/server/am/ActivityManagerService;->refContentProvider(Landroid/os/IBinder;II)Z
-HPLcom/android/server/am/ActivityManagerService;->registerReceiver(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;
-HPLcom/android/server/am/ActivityManagerService;->removeContentProvider(Landroid/os/IBinder;Z)V
-HPLcom/android/server/am/ActivityManagerService;->removeDyingProviderLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Z)Z
-HPLcom/android/server/am/ActivityManagerService;->removeReceiverLocked(Lcom/android/server/am/ReceiverList;)V
-HPLcom/android/server/am/ActivityManagerService;->resetPriorityAfterLockedSection()V
-HPLcom/android/server/am/ActivityManagerService;->rotateBroadcastStatsIfNeededLocked()V
-HPLcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V
-HPLcom/android/server/am/ActivityManagerService;->serviceDoneExecuting(Landroid/os/IBinder;III)V
-HPLcom/android/server/am/ActivityManagerService;->setAppIdTempWhitelistStateLocked(IZ)V
-HPLcom/android/server/am/ActivityManagerService;->setProcessTrackerStateLocked(Lcom/android/server/am/ProcessRecord;IJ)V
-HPLcom/android/server/am/ActivityManagerService;->startAssociationLocked(ILjava/lang/String;IILandroid/content/ComponentName;Ljava/lang/String;)Lcom/android/server/am/ActivityManagerService$Association;
-HPLcom/android/server/am/ActivityManagerService;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Z
-HPLcom/android/server/am/ActivityManagerService;->startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILjava/lang/String;Landroid/content/ComponentName;ZZIZLjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Runnable;)Lcom/android/server/am/ProcessRecord;
-HPLcom/android/server/am/ActivityManagerService;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;I)Landroid/content/ComponentName;
-HPLcom/android/server/am/ActivityManagerService;->startServiceInPackage(ILandroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;I)Landroid/content/ComponentName;
-HPLcom/android/server/am/ActivityManagerService;->stopAssociationLocked(ILjava/lang/String;ILandroid/content/ComponentName;)V
-HPLcom/android/server/am/ActivityManagerService;->stopServiceToken(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
-HPLcom/android/server/am/ActivityManagerService;->trimApplicationsLocked()V
-HPLcom/android/server/am/ActivityManagerService;->unbindService(Landroid/app/IServiceConnection;)Z
-HPLcom/android/server/am/ActivityManagerService;->unregisterReceiver(Landroid/content/IIntentReceiver;)V
-HPLcom/android/server/am/ActivityManagerService;->updateCpuStats()V
-HPLcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V
-HPLcom/android/server/am/ActivityManagerService;->updateLruProcessInternalLocked(Lcom/android/server/am/ProcessRecord;JILjava/lang/String;Ljava/lang/Object;Lcom/android/server/am/ProcessRecord;)I
-HPLcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZLcom/android/server/am/ProcessRecord;)V
-HPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;ZJ)Z
-HPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;Z)Z
-HPLcom/android/server/am/ActivityManagerService;->updateProcessForegroundLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
-HPLcom/android/server/am/ActivityManagerService;->verifyBroadcastLocked(Landroid/content/Intent;)Landroid/content/Intent;
-HPLcom/android/server/am/ActivityRecord;->canShowWhenLocked()Z
-HPLcom/android/server/am/ActivityRecord;->getStack()Lcom/android/server/am/ActivityStack;
-HPLcom/android/server/am/ActivityRecord;->getTask()Lcom/android/server/am/TaskRecord;
-HPLcom/android/server/am/ActivityRecord;->hasDismissKeyguardWindows()Z
-HPLcom/android/server/am/ActivityRecord;->isState(Lcom/android/server/am/ActivityStack$ActivityState;)Z
-HPLcom/android/server/am/ActivityRecord;->isState(Lcom/android/server/am/ActivityStack$ActivityState;Lcom/android/server/am/ActivityStack$ActivityState;)Z
-HPLcom/android/server/am/ActivityRecord;->okToShowLocked()Z
-HPLcom/android/server/am/ActivityRecord;->shouldBeVisibleIgnoringKeyguard(Z)Z
-HPLcom/android/server/am/ActivityStack;->cancelInitializingActivities()V
-HPLcom/android/server/am/ActivityStack;->checkKeyguardVisibility(Lcom/android/server/am/ActivityRecord;ZZ)Z
-HPLcom/android/server/am/ActivityStack;->checkTranslucentActivityWaiting(Lcom/android/server/am/ActivityRecord;)V
-HPLcom/android/server/am/ActivityStack;->ensureActivitiesVisibleLocked(Lcom/android/server/am/ActivityRecord;IZZ)V
-HPLcom/android/server/am/ActivityStack;->getDisplay()Lcom/android/server/am/ActivityDisplay;
-HPLcom/android/server/am/ActivityStack;->getParent()Lcom/android/server/wm/ConfigurationContainer;
-HPLcom/android/server/am/ActivityStack;->getResumedActivity()Lcom/android/server/am/ActivityRecord;
-HPLcom/android/server/am/ActivityStack;->getRunningTasks(Ljava/util/List;IIIZ)V
-HPLcom/android/server/am/ActivityStack;->getTopDismissingKeyguardActivity()Lcom/android/server/am/ActivityRecord;
-HPLcom/android/server/am/ActivityStack;->isAttached()Z
-HPLcom/android/server/am/ActivityStack;->isStackTranslucent(Lcom/android/server/am/ActivityRecord;)Z
-HPLcom/android/server/am/ActivityStack;->makeInvisible(Lcom/android/server/am/ActivityRecord;)V
-HPLcom/android/server/am/ActivityStack;->numActivities()I
-HPLcom/android/server/am/ActivityStack;->removeHistoryRecordsForAppLocked(Lcom/android/server/am/ProcessRecord;)Z
-HPLcom/android/server/am/ActivityStack;->removeHistoryRecordsForAppLocked(Ljava/util/ArrayList;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)V
-HPLcom/android/server/am/ActivityStack;->shouldBeVisible(Lcom/android/server/am/ActivityRecord;)Z
-HPLcom/android/server/am/ActivityStack;->topRunningActivityLocked()Lcom/android/server/am/ActivityRecord;
-HPLcom/android/server/am/ActivityStack;->topRunningActivityLocked(Z)Lcom/android/server/am/ActivityRecord;
-HPLcom/android/server/am/ActivityStackSupervisor;->attachApplicationLocked(Lcom/android/server/am/ProcessRecord;)Z
-HPLcom/android/server/am/ActivityStackSupervisor;->ensureActivitiesVisibleLocked(Lcom/android/server/am/ActivityRecord;IZZ)V
-HPLcom/android/server/am/ActivityStackSupervisor;->getActivityDisplay(I)Lcom/android/server/am/ActivityDisplay;
-HPLcom/android/server/am/ActivityStackSupervisor;->getFocusedStack()Lcom/android/server/am/ActivityStack;
-HPLcom/android/server/am/ActivityStackSupervisor;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;)Z
-HPLcom/android/server/am/ActivityStackSupervisor;->isCurrentProfileLocked(I)Z
-HPLcom/android/server/am/ActivityStackSupervisor;->isFocusedStack(Lcom/android/server/am/ActivityStack;)Z
-HPLcom/android/server/am/ActivityStarter;->startActivityMayWait(Landroid/app/IApplicationThread;ILjava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/app/WaitResult;Landroid/content/res/Configuration;Lcom/android/server/am/SafeActivityOptions;ZILcom/android/server/am/TaskRecord;Ljava/lang/String;Z)I
-HPLcom/android/server/am/AppBindRecord;-><init>(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/IntentBindRecord;Lcom/android/server/am/ProcessRecord;)V
-HPLcom/android/server/am/AssistDataRequester$AssistDataRequesterCallbacks;->canHandleReceivedAssistDataLocked()Z
-HPLcom/android/server/am/AssistDataRequester$AssistDataRequesterCallbacks;->onAssistDataReceivedLocked(Landroid/os/Bundle;II)V
-HPLcom/android/server/am/AssistDataRequester$AssistDataRequesterCallbacks;->onAssistScreenshotReceivedLocked(Landroid/graphics/Bitmap;)V
-HPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleCpuSyncDueToWakelockChange(J)Ljava/util/concurrent/Future;
-HPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleDelayedSyncLocked(Ljava/util/concurrent/Future;Ljava/lang/Runnable;J)Ljava/util/concurrent/Future;
-HPLcom/android/server/am/BatteryStatsService;->enforceCallingPermission()V
-HPLcom/android/server/am/BatteryStatsService;->noteJobFinish(Ljava/lang/String;II)V
-HPLcom/android/server/am/BatteryStatsService;->noteJobStart(Ljava/lang/String;I)V
-HPLcom/android/server/am/BatteryStatsService;->noteProcessFinish(Ljava/lang/String;I)V
-HPLcom/android/server/am/BatteryStatsService;->noteProcessStart(Ljava/lang/String;I)V
-HPLcom/android/server/am/BatteryStatsService;->noteStartWakelock(IILjava/lang/String;Ljava/lang/String;IZ)V
-HPLcom/android/server/am/BatteryStatsService;->noteStartWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
-HPLcom/android/server/am/BatteryStatsService;->noteStopSensor(II)V
-HPLcom/android/server/am/BatteryStatsService;->noteStopWakelock(IILjava/lang/String;Ljava/lang/String;I)V
-HPLcom/android/server/am/BatteryStatsService;->noteStopWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;I)V
-HPLcom/android/server/am/BatteryStatsService;->noteUidProcessState(II)V
-HPLcom/android/server/am/BatteryStatsService;->noteUserActivity(II)V
-HPLcom/android/server/am/BroadcastQueue$BroadcastHandler;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/server/am/BroadcastQueue;->addBroadcastToHistoryLocked(Lcom/android/server/am/BroadcastRecord;)V
-HPLcom/android/server/am/BroadcastQueue;->cancelBroadcastTimeoutLocked()V
-HPLcom/android/server/am/BroadcastQueue;->deliverToRegisteredReceiverLocked(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastFilter;ZI)V
-HPLcom/android/server/am/BroadcastQueue;->enqueueBroadcastHelper(Lcom/android/server/am/BroadcastRecord;)V
-HPLcom/android/server/am/BroadcastQueue;->enqueueOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
-HPLcom/android/server/am/BroadcastQueue;->enqueueParallelBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
-HPLcom/android/server/am/BroadcastQueue;->finishReceiverLocked(Lcom/android/server/am/BroadcastRecord;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z
-HPLcom/android/server/am/BroadcastQueue;->getMatchingOrderedReceiver(Landroid/os/IBinder;)Lcom/android/server/am/BroadcastRecord;
-HPLcom/android/server/am/BroadcastQueue;->performReceiveLocked(Lcom/android/server/am/ProcessRecord;Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-HPLcom/android/server/am/BroadcastQueue;->processCurBroadcastLocked(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/ProcessRecord;Z)V
-HPLcom/android/server/am/BroadcastQueue;->processNextBroadcast(Z)V
-HPLcom/android/server/am/BroadcastQueue;->processNextBroadcastLocked(ZZ)V
-HPLcom/android/server/am/BroadcastQueue;->ringAdvance(III)I
-HPLcom/android/server/am/BroadcastQueue;->scheduleBroadcastsLocked()V
-HPLcom/android/server/am/BroadcastQueue;->setBroadcastTimeoutLocked(J)V
-HPLcom/android/server/am/BroadcastRecord;-><init>(Lcom/android/server/am/BroadcastQueue;Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;IIZLjava/lang/String;[Ljava/lang/String;ILandroid/app/BroadcastOptions;Ljava/util/List;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;ZZZI)V
-HPLcom/android/server/am/BroadcastRecord;-><init>(Lcom/android/server/am/BroadcastRecord;Landroid/content/Intent;)V
-HPLcom/android/server/am/BroadcastRecord;->maybeStripForHistory()Lcom/android/server/am/BroadcastRecord;
-HPLcom/android/server/am/BroadcastStats;->addBroadcast(Ljava/lang/String;Ljava/lang/String;IIJ)V
-HPLcom/android/server/am/BroadcastStats;->dumpCheckinStats(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HPLcom/android/server/am/CompatModePackages;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
-HPLcom/android/server/am/CompatModePackages;->getPackageFlags(Ljava/lang/String;)I
-HPLcom/android/server/am/ConnectionRecord;-><init>(Lcom/android/server/am/AppBindRecord;Lcom/android/server/am/ActivityRecord;Landroid/app/IServiceConnection;IILandroid/app/PendingIntent;)V
-HPLcom/android/server/am/ContentProviderConnection;-><init>(Lcom/android/server/am/ContentProviderRecord;Lcom/android/server/am/ProcessRecord;)V
-HPLcom/android/server/am/ContentProviderRecord;->canRunHere(Lcom/android/server/am/ProcessRecord;)Z
-HPLcom/android/server/am/ContentProviderRecord;->hasExternalProcessHandles()Z
-HPLcom/android/server/am/ContentProviderRecord;->newHolder(Lcom/android/server/am/ContentProviderConnection;)Landroid/app/ContentProviderHolder;
-HPLcom/android/server/am/EventLogTags;->writeAmPss(IILjava/lang/String;JJJJIIJ)V
-HPLcom/android/server/am/EventLogTags;->writeAmUidRunning(I)V
-HPLcom/android/server/am/EventLogTags;->writeAmUidStopped(I)V
-HPLcom/android/server/am/IntentBindRecord;-><init>(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent$FilterComparison;)V
-HPLcom/android/server/am/KeyguardController;->beginActivityVisibilityUpdate()V
-HPLcom/android/server/am/KeyguardController;->endActivityVisibilityUpdate()V
-HPLcom/android/server/am/KeyguardController;->isKeyguardLocked()Z
-HPLcom/android/server/am/KeyguardController;->isKeyguardOrAodShowing(I)Z
-HPLcom/android/server/am/KeyguardController;->visibilitiesUpdated()V
-HPLcom/android/server/am/PendingIntentRecord$Key;-><init>(ILjava/lang/String;Lcom/android/server/am/ActivityRecord;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILcom/android/server/am/SafeActivityOptions;I)V
-HPLcom/android/server/am/PendingIntentRecord$Key;->equals(Ljava/lang/Object;)Z
-HPLcom/android/server/am/PendingIntentRecord$Key;->hashCode()I
-HPLcom/android/server/am/PendingIntentRecord;->sendInner(ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I
-HPLcom/android/server/am/PendingIntentRecord;->setWhitelistDurationLocked(Landroid/os/IBinder;J)V
-HPLcom/android/server/am/PersistentConnection;->asInterface(Landroid/os/IBinder;)Ljava/lang/Object;
-HPLcom/android/server/am/ProcessList;->computeNextPssTime(ILcom/android/server/am/ProcessList$ProcStateMemTracker;ZZJ)J
-HPLcom/android/server/am/ProcessList;->procStatesDifferForMem(II)Z
-HPLcom/android/server/am/ProcessList;->setOomAdj(III)V
-HPLcom/android/server/am/ProcessList;->writeLmkd(Ljava/nio/ByteBuffer;)V
-HPLcom/android/server/am/ProcessRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/internal/os/BatteryStatsImpl;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)V
-HPLcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;JLcom/android/server/am/ProcessStatsService;)Z
-HPLcom/android/server/am/ProcessRecord;->forceProcessStateUpTo(I)V
-HPLcom/android/server/am/ProcessRecord;->getPackageList()[Ljava/lang/String;
-HPLcom/android/server/am/ProcessRecord;->kill(Ljava/lang/String;Z)V
-HPLcom/android/server/am/ProcessRecord;->makeInactive(Lcom/android/server/am/ProcessStatsService;)V
-HPLcom/android/server/am/ProcessRecord;->modifyRawOomAdj(I)I
-HPLcom/android/server/am/ProcessRecord;->resetPackageList(Lcom/android/server/am/ProcessStatsService;)V
-HPLcom/android/server/am/ProcessRecord;->unlinkDeathRecipient()V
-HPLcom/android/server/am/ProcessStatsService;->getServiceStateLocked(Ljava/lang/String;IJLjava/lang/String;Ljava/lang/String;)Lcom/android/internal/app/procstats/ServiceState;
-HPLcom/android/server/am/ProviderMap;->collectPackageProvidersLocked(Ljava/lang/String;Ljava/util/Set;ZZLjava/util/HashMap;Ljava/util/ArrayList;)Z
-HPLcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;
-HPLcom/android/server/am/ProviderMap;->getProvidersByClass(I)Ljava/util/HashMap;
-HPLcom/android/server/am/ProviderMap;->getProvidersByName(I)Ljava/util/HashMap;
-HPLcom/android/server/am/RecentTasks;->isCallerRecents(I)Z
-HPLcom/android/server/am/RunningTasks;->getTasks(ILjava/util/List;IILandroid/util/SparseArray;IZ)V
-HPLcom/android/server/am/RunningTasks;->lambda$static$0(Lcom/android/server/am/TaskRecord;Lcom/android/server/am/TaskRecord;)I
-HPLcom/android/server/am/SafeActivityOptions;->fromBundle(Landroid/os/Bundle;)Lcom/android/server/am/SafeActivityOptions;
-HPLcom/android/server/am/ServiceRecord$StartItem;-><init>(Lcom/android/server/am/ServiceRecord;ZILandroid/content/Intent;Lcom/android/server/am/ActivityManagerService$NeededUriGrants;I)V
-HPLcom/android/server/am/ServiceRecord$StartItem;->removeUriPermissionsLocked()V
-HPLcom/android/server/am/ServiceRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;Landroid/content/ComponentName;Landroid/content/Intent$FilterComparison;Landroid/content/pm/ServiceInfo;ZLjava/lang/Runnable;)V
-HPLcom/android/server/am/ServiceRecord;->clearDeliveredStartsLocked()V
-HPLcom/android/server/am/ServiceRecord;->findDeliveredStart(IZZ)Lcom/android/server/am/ServiceRecord$StartItem;
-HPLcom/android/server/am/ServiceRecord;->getLastStartId()I
-HPLcom/android/server/am/ServiceRecord;->getTracker()Lcom/android/internal/app/procstats/ServiceState;
-HPLcom/android/server/am/ServiceRecord;->hasAutoCreateConnections()Z
-HPLcom/android/server/am/ServiceRecord;->makeNextStartId()I
-HPLcom/android/server/am/ServiceRecord;->postNotification()V
-HPLcom/android/server/am/ServiceRecord;->resetRestartCounter()V
-HPLcom/android/server/am/ServiceRecord;->retrieveAppBindingLocked(Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;)Lcom/android/server/am/AppBindRecord;
-HPLcom/android/server/am/TaskPersister$LazyTaskWriterThread;->processNextItem()V
-HPLcom/android/server/am/TaskRecord;->getActivityType()I
-HPLcom/android/server/am/TaskRecord;->getInactiveDuration()J
-HPLcom/android/server/am/TaskRecord;->getNumRunningActivities(Lcom/android/server/am/TaskRecord$TaskActivitiesReport;)V
-HPLcom/android/server/am/TaskRecord;->getStack()Lcom/android/server/am/ActivityStack;
-HPLcom/android/server/am/TaskRecord;->getTopActivity()Lcom/android/server/am/ActivityRecord;
-HPLcom/android/server/am/TaskRecord;->getTopActivity(Z)Lcom/android/server/am/ActivityRecord;
-HPLcom/android/server/am/TaskRecord;->topRunningActivityLocked()Lcom/android/server/am/ActivityRecord;
-HPLcom/android/server/am/UidRecord;->reset()V
-HPLcom/android/server/am/UidRecord;->updateLastDispatchedProcStateSeq(I)V
-HPLcom/android/server/am/UserController$Injector;->checkCallingPermission(Ljava/lang/String;)I
-HPLcom/android/server/am/UserController$Injector;->checkComponentPermission(Ljava/lang/String;IIIZ)I
-HPLcom/android/server/am/UserController$Injector;->getUserManager()Lcom/android/server/pm/UserManagerService;
-HPLcom/android/server/am/UserController$Injector;->isCallerRecents(I)Z
-HPLcom/android/server/am/UserController;->exists(I)Z
-HPLcom/android/server/am/UserController;->getCurrentUser()Landroid/content/pm/UserInfo;
-HPLcom/android/server/am/UserController;->getStartedUserArray()[I
-HPLcom/android/server/am/UserController;->getStartedUserState(I)Lcom/android/server/am/UserState;
-HPLcom/android/server/am/UserController;->getUserInfo(I)Landroid/content/pm/UserInfo;
-HPLcom/android/server/am/UserController;->handleIncomingUser(IIIZILjava/lang/String;Ljava/lang/String;)I
-HPLcom/android/server/am/UserController;->hasStartedUserState(I)Z
-HPLcom/android/server/am/UserController;->isUserOrItsParentRunning(I)Z
-HPLcom/android/server/am/UserController;->isUserRunning(II)Z
-HPLcom/android/server/am/UserController;->unsafeConvertIncomingUser(I)I
-HPLcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;->equals(Ljava/lang/Object;)Z
-HPLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->enforceCallFromPackage(Ljava/lang/String;)V
-HPLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->getEnabledGroupProfileIds(I)[I
-HPLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->getProfileParent(I)I
-HPLcom/android/server/appwidget/AppWidgetServiceImpl;->isBoundWidgetPackage(Ljava/lang/String;I)Z
-HPLcom/android/server/appwidget/AppWidgetServiceImpl;->isProfileWithLockedParent(I)Z
-HPLcom/android/server/appwidget/AppWidgetServiceImpl;->lookupProviderLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;)Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;
-HPLcom/android/server/autofill/FieldClassificationStrategy$Command;->run(Landroid/service/autofill/IAutofillFieldClassificationService;)V
-HPLcom/android/server/autofill/RemoteFillService$FillServiceCallbacks;->onFillRequestFailure(ILjava/lang/CharSequence;Ljava/lang/String;)V
-HPLcom/android/server/autofill/RemoteFillService$FillServiceCallbacks;->onFillRequestSuccess(ILandroid/service/autofill/FillResponse;Ljava/lang/String;I)V
-HPLcom/android/server/autofill/RemoteFillService$FillServiceCallbacks;->onFillRequestTimeout(ILjava/lang/String;)V
-HPLcom/android/server/autofill/RemoteFillService$FillServiceCallbacks;->onSaveRequestFailure(Ljava/lang/CharSequence;Ljava/lang/String;)V
-HPLcom/android/server/autofill/RemoteFillService$FillServiceCallbacks;->onSaveRequestSuccess(Ljava/lang/String;Landroid/content/IntentSender;)V
-HPLcom/android/server/autofill/RemoteFillService$FillServiceCallbacks;->onServiceDied(Lcom/android/server/autofill/RemoteFillService;)V
-HPLcom/android/server/autofill/ViewState$Listener;->onFillReady(Landroid/service/autofill/FillResponse;Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;)V
-HPLcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;->authenticate(IILandroid/content/IntentSender;Landroid/os/Bundle;)V
-HPLcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;->cancelSave()V
-HPLcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;->dispatchUnhandledKey(Landroid/view/autofill/AutofillId;Landroid/view/KeyEvent;)V
-HPLcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;->fill(IILandroid/service/autofill/Dataset;)V
-HPLcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;->requestHideFillUi(Landroid/view/autofill/AutofillId;)V
-HPLcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;->requestShowFillUi(Landroid/view/autofill/AutofillId;IILandroid/view/autofill/IAutofillWindowPresenter;)V
-HPLcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;->save()V
-HPLcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;->startIntentSender(Landroid/content/IntentSender;)V
-HPLcom/android/server/autofill/ui/FillUi$Callback;->dispatchUnhandledKey(Landroid/view/KeyEvent;)V
-HPLcom/android/server/autofill/ui/FillUi$Callback;->onCanceled()V
-HPLcom/android/server/autofill/ui/FillUi$Callback;->onDatasetPicked(Landroid/service/autofill/Dataset;)V
-HPLcom/android/server/autofill/ui/FillUi$Callback;->onDestroy()V
-HPLcom/android/server/autofill/ui/FillUi$Callback;->onResponsePicked(Landroid/service/autofill/FillResponse;)V
-HPLcom/android/server/autofill/ui/FillUi$Callback;->requestHideFillUi()V
-HPLcom/android/server/autofill/ui/FillUi$Callback;->requestShowFillUi(IILandroid/view/autofill/IAutofillWindowPresenter;)V
-HPLcom/android/server/autofill/ui/FillUi$Callback;->startIntentSender(Landroid/content/IntentSender;)V
-HPLcom/android/server/autofill/ui/SaveUi$OnSaveListener;->onCancel(Landroid/content/IntentSender;)V
-HPLcom/android/server/autofill/ui/SaveUi$OnSaveListener;->onDestroy()V
-HPLcom/android/server/autofill/ui/SaveUi$OnSaveListener;->onSave()V
-HPLcom/android/server/backup/BackupManagerService;->dataChangedTargets(Ljava/lang/String;)Ljava/util/HashSet;
-HPLcom/android/server/backup/BackupManagerServiceInterface;->acknowledgeAdbBackupOrRestore(IZLjava/lang/String;Ljava/lang/String;Landroid/app/backup/IFullBackupRestoreObserver;)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->adbBackup(Landroid/os/ParcelFileDescriptor;ZZZZZZZZ[Ljava/lang/String;)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->adbRestore(Landroid/os/ParcelFileDescriptor;)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->agentConnected(Ljava/lang/String;Landroid/os/IBinder;)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->agentDisconnected(Ljava/lang/String;)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->backupNow()V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->beginFullBackup(Lcom/android/server/backup/FullBackupJob;)Z
-HPLcom/android/server/backup/BackupManagerServiceInterface;->beginRestoreSession(Ljava/lang/String;Ljava/lang/String;)Landroid/app/backup/IRestoreSession;
-HPLcom/android/server/backup/BackupManagerServiceInterface;->bindToAgentSynchronous(Landroid/content/pm/ApplicationInfo;I)Landroid/app/IBackupAgent;
-HPLcom/android/server/backup/BackupManagerServiceInterface;->cancelBackups()V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->clearBackupData(Ljava/lang/String;Ljava/lang/String;)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->dataChanged(Ljava/lang/String;)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->endFullBackup()V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->filterAppsEligibleForBackup([Ljava/lang/String;)[Ljava/lang/String;
-HPLcom/android/server/backup/BackupManagerServiceInterface;->fullTransportBackup([Ljava/lang/String;)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->generateRandomIntegerToken()I
-HPLcom/android/server/backup/BackupManagerServiceInterface;->getAgentTimeoutParameters()Lcom/android/server/backup/BackupAgentTimeoutParameters;
-HPLcom/android/server/backup/BackupManagerServiceInterface;->getAvailableRestoreToken(Ljava/lang/String;)J
-HPLcom/android/server/backup/BackupManagerServiceInterface;->getBackupManagerBinder()Landroid/app/backup/IBackupManager;
-HPLcom/android/server/backup/BackupManagerServiceInterface;->getConfigurationIntent(Ljava/lang/String;)Landroid/content/Intent;
-HPLcom/android/server/backup/BackupManagerServiceInterface;->getCurrentTransport()Ljava/lang/String;
-HPLcom/android/server/backup/BackupManagerServiceInterface;->getDataManagementIntent(Ljava/lang/String;)Landroid/content/Intent;
-HPLcom/android/server/backup/BackupManagerServiceInterface;->getDataManagementLabel(Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/backup/BackupManagerServiceInterface;->getDestinationString(Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/backup/BackupManagerServiceInterface;->getTransportWhitelist()[Ljava/lang/String;
-HPLcom/android/server/backup/BackupManagerServiceInterface;->hasBackupPassword()Z
-HPLcom/android/server/backup/BackupManagerServiceInterface;->initializeTransports([Ljava/lang/String;Landroid/app/backup/IBackupObserver;)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->isAppEligibleForBackup(Ljava/lang/String;)Z
-HPLcom/android/server/backup/BackupManagerServiceInterface;->isBackupEnabled()Z
-HPLcom/android/server/backup/BackupManagerServiceInterface;->listAllTransportComponents()[Landroid/content/ComponentName;
-HPLcom/android/server/backup/BackupManagerServiceInterface;->listAllTransports()[Ljava/lang/String;
-HPLcom/android/server/backup/BackupManagerServiceInterface;->opComplete(IJ)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->prepareOperationTimeout(IJLcom/android/server/backup/BackupRestoreTask;I)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->requestBackup([Ljava/lang/String;Landroid/app/backup/IBackupObserver;I)I
-HPLcom/android/server/backup/BackupManagerServiceInterface;->requestBackup([Ljava/lang/String;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;I)I
-HPLcom/android/server/backup/BackupManagerServiceInterface;->restoreAtInstall(Ljava/lang/String;I)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->selectBackupTransport(Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/backup/BackupManagerServiceInterface;->selectBackupTransportAsync(Landroid/content/ComponentName;Landroid/app/backup/ISelectBackupTransportCallback;)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->setAutoRestore(Z)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->setBackupEnabled(Z)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->setBackupPassword(Ljava/lang/String;Ljava/lang/String;)Z
-HPLcom/android/server/backup/BackupManagerServiceInterface;->setBackupProvisioned(Z)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->tearDownAgentAndKill(Landroid/content/pm/ApplicationInfo;)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->unlockSystemUser()V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
-HPLcom/android/server/backup/BackupManagerServiceInterface;->waitUntilOperationComplete(I)Z
-HPLcom/android/server/backup/BackupRestoreTask;->execute()V
-HPLcom/android/server/backup/BackupRestoreTask;->handleCancel(Z)V
-HPLcom/android/server/backup/BackupRestoreTask;->operationComplete(J)V
-HPLcom/android/server/backup/DataChangedJournal$Consumer;->accept(Ljava/lang/String;)V
-HPLcom/android/server/backup/fullbackup/FullBackupPreflight;->getExpectedSizeOrErrorCode()J
-HPLcom/android/server/backup/fullbackup/FullBackupPreflight;->preflightFullBackup(Landroid/content/pm/PackageInfo;Landroid/app/IBackupAgent;)I
-HPLcom/android/server/backup/transport/OnTransportRegisteredListener;->onTransportRegistered(Ljava/lang/String;Ljava/lang/String;)V
-HPLcom/android/server/backup/transport/TransportClient;->saveLogEntry(Ljava/lang/String;)V
-HPLcom/android/server/backup/transport/TransportConnectionListener;->onTransportConnectionResult(Lcom/android/internal/backup/IBackupTransport;Lcom/android/server/backup/transport/TransportClient;)V
-HPLcom/android/server/backup/transport/TransportUtils;->log(ILjava/lang/String;Ljava/lang/String;)V
-HPLcom/android/server/backup/utils/SparseArrayUtils;->union(Landroid/util/SparseArray;)Ljava/util/HashSet;
-HPLcom/android/server/clipboard/HostClipboardMonitor$HostClipboardCallback;->onHostClipboardUpdated(Ljava/lang/String;)V
-HPLcom/android/server/companion/CompanionDeviceManagerService;->getCallingUserId()I
-HPLcom/android/server/companion/CompanionDeviceManagerService;->isCallerSystem()Z
-HPLcom/android/server/connectivity/IpConnectivityMetrics$Logger;->defaultNetworkMetrics()Lcom/android/server/connectivity/DefaultNetworkMetrics;
-HPLcom/android/server/connectivity/NetdEventListenerService;->onConnectEvent(IIILjava/lang/String;II)V
-HPLcom/android/server/connectivity/NetdEventListenerService;->onDnsEvent(IIIILjava/lang/String;[Ljava/lang/String;II)V
-HPLcom/android/server/connectivity/NetdEventListenerService;->onTcpSocketStatsEvent([I[I[I[I[I)V
-HPLcom/android/server/connectivity/NetworkAgentInfo;->getNetworkState()Landroid/net/NetworkState;
-HPLcom/android/server/connectivity/NetworkAgentInfo;->isSatisfyingRequest(I)Z
-HPLcom/android/server/connectivity/NetworkAgentInfo;->numNetworkRequests()I
-HPLcom/android/server/connectivity/NetworkAgentInfo;->requestAt(I)Landroid/net/NetworkRequest;
-HPLcom/android/server/connectivity/NetworkAgentInfo;->satisfies(Landroid/net/NetworkRequest;)Z
-HPLcom/android/server/connectivity/NetworkMonitor$NetworkMonitorSettings;->getSetting(Landroid/content/Context;Ljava/lang/String;I)I
-HPLcom/android/server/connectivity/NetworkMonitor$NetworkMonitorSettings;->getSetting(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/connectivity/PermissionMonitor;->hasPermission(Landroid/content/pm/PackageInfo;Ljava/lang/String;)Z
-HPLcom/android/server/connectivity/Vpn;->appliesToUid(I)Z
-HPLcom/android/server/connectivity/Vpn;->isBlockingUid(I)Z
-HPLcom/android/server/connectivity/Vpn;->isRunningLocked()Z
-HPLcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;->getTetherStats(I)Landroid/net/NetworkStats;
-HPLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;-><init>(Lcom/android/server/content/ContentService$ObserverNode;Landroid/database/IContentObserver;ZLjava/lang/Object;III)V
-HPLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;->access$300(Lcom/android/server/content/ContentService$ObserverNode$ObserverEntry;)I
-HPLcom/android/server/content/ContentService$ObserverNode;->addObserverLocked(Landroid/net/Uri;ILandroid/database/IContentObserver;ZLjava/lang/Object;III)V
-HPLcom/android/server/content/ContentService$ObserverNode;->addObserverLocked(Landroid/net/Uri;Landroid/database/IContentObserver;ZLjava/lang/Object;III)V
-HPLcom/android/server/content/ContentService$ObserverNode;->collectMyObserversLocked(ZLandroid/database/IContentObserver;ZIILjava/util/ArrayList;)V
-HPLcom/android/server/content/ContentService$ObserverNode;->collectObserversLocked(Landroid/net/Uri;ILandroid/database/IContentObserver;ZIILjava/util/ArrayList;)V
-HPLcom/android/server/content/ContentService$ObserverNode;->countUriSegments(Landroid/net/Uri;)I
-HPLcom/android/server/content/ContentService$ObserverNode;->getUriSegment(Landroid/net/Uri;I)Ljava/lang/String;
-HPLcom/android/server/content/ContentService$ObserverNode;->removeObserverLocked(Landroid/database/IContentObserver;)Z
-HPLcom/android/server/content/ContentService;->enforceCrossUserPermission(ILjava/lang/String;)V
-HPLcom/android/server/content/ContentService;->getIsSyncableAsUser(Landroid/accounts/Account;Ljava/lang/String;I)I
-HPLcom/android/server/content/ContentService;->getMasterSyncAutomaticallyAsUser(I)Z
-HPLcom/android/server/content/ContentService;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
-HPLcom/android/server/content/ContentService;->getSyncAdapterTypesAsUser(I)[Landroid/content/SyncAdapterType;
-HPLcom/android/server/content/ContentService;->getSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
-HPLcom/android/server/content/ContentService;->getSyncManager()Lcom/android/server/content/SyncManager;
-HPLcom/android/server/content/ContentService;->handleIncomingUser(Landroid/net/Uri;IIIZI)I
-HPLcom/android/server/content/ContentService;->notifyChange(Landroid/net/Uri;Landroid/database/IContentObserver;ZIII)V
-HPLcom/android/server/content/ContentService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/server/content/ContentService;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;II)V
-HPLcom/android/server/content/ContentService;->unregisterContentObserver(Landroid/database/IContentObserver;)V
-HPLcom/android/server/content/SyncJobService;->onStartJob(Landroid/app/job/JobParameters;)Z
-HPLcom/android/server/content/SyncJobService;->onStopJob(Landroid/app/job/JobParameters;)Z
-HPLcom/android/server/content/SyncLogger$RotatingFileLogger;->log([Ljava/lang/Object;)V
-HPLcom/android/server/content/SyncManager$OnReadyCallback;->onReady()V
-HPLcom/android/server/content/SyncManager$SyncHandler;->dispatchSyncOperation(Lcom/android/server/content/SyncOperation;)Z
-HPLcom/android/server/content/SyncManager$SyncHandler;->handleSyncMessage(Landroid/os/Message;)V
-HPLcom/android/server/content/SyncManager$SyncHandler;->insertStartSyncEvent(Lcom/android/server/content/SyncOperation;)J
-HPLcom/android/server/content/SyncManager$SyncHandler;->runSyncFinishedOrCanceledH(Landroid/content/SyncResult;Lcom/android/server/content/SyncManager$ActiveSyncContext;)V
-HPLcom/android/server/content/SyncManager$SyncHandler;->startSyncH(Lcom/android/server/content/SyncOperation;)V
-HPLcom/android/server/content/SyncManager$SyncHandler;->updateOrAddPeriodicSyncH(Lcom/android/server/content/SyncStorageEngine$EndPoint;JJLandroid/os/Bundle;)V
-HPLcom/android/server/content/SyncManager;->access$2900(Lcom/android/server/content/SyncManager;)Landroid/os/PowerManager$WakeLock;
-HPLcom/android/server/content/SyncManager;->getAllPendingSyncs()Ljava/util/List;
-HPLcom/android/server/content/SyncManager;->getSyncAdapterTypes(I)[Landroid/content/SyncAdapterType;
-HPLcom/android/server/content/SyncManager;->getSyncStorageEngine()Lcom/android/server/content/SyncStorageEngine;
-HPLcom/android/server/content/SyncManager;->isJobIdInUseLockedH(ILjava/util/List;)Z
-HPLcom/android/server/content/SyncManager;->postMonitorSyncProgressMessage(Lcom/android/server/content/SyncManager$ActiveSyncContext;)V
-HPLcom/android/server/content/SyncManager;->printTwoDigitNumber(Ljava/lang/StringBuilder;JCZ)Z
-HPLcom/android/server/content/SyncManager;->rescheduleSyncs(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)V
-HPLcom/android/server/content/SyncManager;->scheduleSync(Landroid/accounts/Account;IILjava/lang/String;Landroid/os/Bundle;IJZI)V
-HPLcom/android/server/content/SyncManager;->scheduleSyncOperationH(Lcom/android/server/content/SyncOperation;J)V
-HPLcom/android/server/content/SyncManager;->setAuthorityPendingState(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
-HPLcom/android/server/content/SyncManager;->setDelayUntilTime(Lcom/android/server/content/SyncStorageEngine$EndPoint;J)V
-HPLcom/android/server/content/SyncOperation;-><init>(Lcom/android/server/content/SyncStorageEngine$EndPoint;ILjava/lang/String;IILandroid/os/Bundle;ZZIJJI)V
-HPLcom/android/server/content/SyncOperation;->dump(Landroid/content/pm/PackageManager;ZLcom/android/server/content/SyncAdapterStateFetcher;)Ljava/lang/String;
-HPLcom/android/server/content/SyncOperation;->extrasToStringBuilder(Landroid/os/Bundle;Ljava/lang/StringBuilder;)V
-HPLcom/android/server/content/SyncOperation;->maybeCreateFromJobExtras(Landroid/os/PersistableBundle;)Lcom/android/server/content/SyncOperation;
-HPLcom/android/server/content/SyncOperation;->toKey()Ljava/lang/String;
-HPLcom/android/server/content/SyncStorageEngine$EndPoint;-><init>(Landroid/accounts/Account;Ljava/lang/String;I)V
-HPLcom/android/server/content/SyncStorageEngine$EndPoint;->matchesSpec(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Z
-HPLcom/android/server/content/SyncStorageEngine$OnAuthorityRemovedListener;->onAuthorityRemoved(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
-HPLcom/android/server/content/SyncStorageEngine$OnSyncRequestListener;->onSyncRequest(Lcom/android/server/content/SyncStorageEngine$EndPoint;ILandroid/os/Bundle;I)V
-HPLcom/android/server/content/SyncStorageEngine$PeriodicSyncAddedListener;->onPeriodicSyncAdded(Lcom/android/server/content/SyncStorageEngine$EndPoint;Landroid/os/Bundle;JJ)V
-HPLcom/android/server/content/SyncStorageEngine;->getAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
-HPLcom/android/server/content/SyncStorageEngine;->getMasterSyncAutomatically(I)Z
-HPLcom/android/server/content/SyncStorageEngine;->getSyncAutomatically(Landroid/accounts/Account;ILjava/lang/String;)Z
-HPLcom/android/server/content/SyncStorageEngine;->insertStartSyncEvent(Lcom/android/server/content/SyncOperation;J)J
-HPLcom/android/server/content/SyncStorageEngine;->reportChange(I)V
-HPLcom/android/server/content/SyncStorageEngine;->stopSyncEvent(JJLjava/lang/String;JJ)V
-HPLcom/android/server/content/SyncStorageEngine;->writeStatusLocked()V
-HPLcom/android/server/devicepolicy/BaseIDevicePolicyManager;->handleStartUser(I)V
-HPLcom/android/server/devicepolicy/BaseIDevicePolicyManager;->handleStopUser(I)V
-HPLcom/android/server/devicepolicy/BaseIDevicePolicyManager;->handleUnlockUser(I)V
-HPLcom/android/server/devicepolicy/BaseIDevicePolicyManager;->systemReady(I)V
-HPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getUid()I
-HPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderClearCallingIdentity()J
-HPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderGetCallingUid()I
-HPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderRestoreCallingIdentity(J)V
-HPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->isActiveAdminWithPolicy(II)Z
-HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2600(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/content/ComponentName;II)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
-HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureLocked()V
-HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminWithPolicyForUidLocked(Landroid/content/ComponentName;II)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
-HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getLockObject()Ljava/lang/Object;
-HPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserData(I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;
-HPLcom/android/server/display/AmbientBrightnessStatsTracker$Clock;->elapsedTimeMillis()J
-HPLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->elapsedRealtimeMillis()J
-HPLcom/android/server/display/AutomaticBrightnessController$1;->onSensorChanged(Landroid/hardware/SensorEvent;)V
-HPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->getLux(I)F
-HPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->getTime(I)J
-HPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->offsetOf(I)I
-HPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->size()I
-HPLcom/android/server/display/AutomaticBrightnessController;->calculateAmbientLux(JJ)F
-HPLcom/android/server/display/AutomaticBrightnessController;->calculateWeight(JJ)F
-HPLcom/android/server/display/AutomaticBrightnessController;->updateAmbientLux()V
-HPLcom/android/server/display/AutomaticBrightnessController;->weightIntegral(J)F
-HPLcom/android/server/display/BrightnessTracker$Injector;->currentTimeMillis()J
-HPLcom/android/server/display/BrightnessTracker$Injector;->elapsedRealtimeNanos()J
-HPLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;->evaluate(F[F[F)[F
-HPLcom/android/server/display/ColorFade;->draw(F)Z
-HPLcom/android/server/display/ColorFade;->drawFaded(FF)V
-HPLcom/android/server/display/DisplayManagerService$BinderService;->getDisplayIds()[I
-HPLcom/android/server/display/DisplayManagerService$LocalService;->requestPowerState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Z)Z
-HPLcom/android/server/display/DisplayManagerService;->access$4200(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/display/DisplayPowerController;
-HPLcom/android/server/display/DisplayPowerController;->requestPowerState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Z)Z
-HPLcom/android/server/display/OverlayDisplayWindow$Listener;->onStateChanged(I)V
-HPLcom/android/server/display/OverlayDisplayWindow$Listener;->onWindowCreated(Landroid/graphics/SurfaceTexture;FJI)V
-HPLcom/android/server/display/OverlayDisplayWindow$Listener;->onWindowDestroyed()V
-HPLcom/android/server/display/RampAnimator$Listener;->onAnimationEnd()V
-HPLcom/android/server/display/utils/Plog;->emit(Ljava/lang/String;)V
-HPLcom/android/server/dreams/DreamController$Listener;->onDreamStopped(Landroid/os/Binder;)V
-HPLcom/android/server/dreams/DreamManagerService$BinderService;->isDreaming()Z
-HPLcom/android/server/dreams/DreamManagerService$LocalService;->isDreaming()Z
-HPLcom/android/server/dreams/DreamManagerService;->access$1400(Lcom/android/server/dreams/DreamManagerService;)Z
-HPLcom/android/server/dreams/DreamManagerService;->isDreamingInternal()Z
-HPLcom/android/server/fingerprint/AuthenticationClient;->handleFailedAttempt()I
-HPLcom/android/server/fingerprint/AuthenticationClient;->onStart()V
-HPLcom/android/server/fingerprint/AuthenticationClient;->onStop()V
-HPLcom/android/server/fingerprint/AuthenticationClient;->resetFailedAttempts()V
-HPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->queryByComponent(Landroid/content/ComponentName;Ljava/util/List;)V
-HPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->sortResults(Ljava/util/List;)V
-HPLcom/android/server/firewall/IntentFirewall;->checkBroadcast(Landroid/content/Intent;IILjava/lang/String;I)Z
-HPLcom/android/server/firewall/IntentFirewall;->checkIntent(Lcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;Landroid/content/ComponentName;ILandroid/content/Intent;IILjava/lang/String;I)Z
-HPLcom/android/server/firewall/IntentFirewall;->checkService(Landroid/content/ComponentName;Landroid/content/Intent;IILjava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
-HPLcom/android/server/input/InputManagerService;->injectInputEventInternal(Landroid/view/InputEvent;II)Z
-HPLcom/android/server/input/InputManagerService;->monitor()V
-HPLcom/android/server/input/InputManagerService;->setInputWindows([Lcom/android/server/input/InputWindowHandle;Lcom/android/server/input/InputWindowHandle;)V
-HPLcom/android/server/job/-$$Lambda$JobSchedulerService$LocalService$yaChpLJ2odu2Fk7A6H8erUndrN8;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/job/-$$Lambda$JobSchedulerService$V6_ZmVmzJutg4w0s0LktDOsRAss;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HPLcom/android/server/job/-$$Lambda$JobStore$1$Wgepg1oHZp0-Q01q1baIVZKWujU;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/job/JobPackageTracker$DataSet;->decPending(ILjava/lang/String;J)V
-HPLcom/android/server/job/JobPackageTracker$DataSet;->getEntry(ILjava/lang/String;)Lcom/android/server/job/JobPackageTracker$PackageEntry;
-HPLcom/android/server/job/JobPackageTracker$DataSet;->getOrCreateEntry(ILjava/lang/String;)Lcom/android/server/job/JobPackageTracker$PackageEntry;
-HPLcom/android/server/job/JobPackageTracker$DataSet;->getTotalTime(J)J
-HPLcom/android/server/job/JobPackageTracker$DataSet;->incPending(ILjava/lang/String;J)V
-HPLcom/android/server/job/JobPackageTracker$PackageEntry;->getActiveTime(J)J
-HPLcom/android/server/job/JobPackageTracker$PackageEntry;->getPendingTime(J)J
-HPLcom/android/server/job/JobPackageTracker;->getLoadFactor(Lcom/android/server/job/controllers/JobStatus;)F
-HPLcom/android/server/job/JobPackageTracker;->noteConcurrency(II)V
-HPLcom/android/server/job/JobPackageTracker;->noteNonpending(Lcom/android/server/job/controllers/JobStatus;)V
-HPLcom/android/server/job/JobPackageTracker;->notePending(Lcom/android/server/job/controllers/JobStatus;)V
-HPLcom/android/server/job/JobPackageTracker;->rebatchIfNeeded(J)V
-HPLcom/android/server/job/JobSchedulerInternal;->addBackingUpUid(I)V
-HPLcom/android/server/job/JobSchedulerInternal;->baseHeartbeatForApp(Ljava/lang/String;II)J
-HPLcom/android/server/job/JobSchedulerInternal;->cancelJobsForUid(ILjava/lang/String;)V
-HPLcom/android/server/job/JobSchedulerInternal;->clearAllBackingUpUids()V
-HPLcom/android/server/job/JobSchedulerInternal;->currentHeartbeat()J
-HPLcom/android/server/job/JobSchedulerInternal;->getPersistStats()Lcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;
-HPLcom/android/server/job/JobSchedulerInternal;->getSystemScheduledPendingJobs()Ljava/util/List;
-HPLcom/android/server/job/JobSchedulerInternal;->nextHeartbeatForBucket(I)J
-HPLcom/android/server/job/JobSchedulerInternal;->noteJobStart(Ljava/lang/String;I)V
-HPLcom/android/server/job/JobSchedulerInternal;->removeBackingUpUid(I)V
-HPLcom/android/server/job/JobSchedulerInternal;->reportAppUsage(Ljava/lang/String;I)V
-HPLcom/android/server/job/JobSchedulerService$2;->onUidStateChanged(IIJ)V
-HPLcom/android/server/job/JobSchedulerService$JobHandler;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->cancel(I)V
-HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->getAllPendingJobs()Ljava/util/List;
-HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->getPendingJob(I)Landroid/app/job/JobInfo;
-HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->schedule(Landroid/app/job/JobInfo;)I
-HPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->scheduleAsPackage(Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I
-HPLcom/android/server/job/JobSchedulerService$LocalService;->lambda$getSystemScheduledPendingJobs$0(Lcom/android/server/job/JobSchedulerService$LocalService;Ljava/util/List;Lcom/android/server/job/controllers/JobStatus;)V
-HPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V
-HPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V
-HPLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/job/JobSchedulerService;->access$200(Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/controllers/JobStatus;)Z
-HPLcom/android/server/job/JobSchedulerService;->access$700(Lcom/android/server/job/JobSchedulerService;)V
-HPLcom/android/server/job/JobSchedulerService;->access$800(Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/controllers/JobStatus;)Z
-HPLcom/android/server/job/JobSchedulerService;->adjustJobPriority(ILcom/android/server/job/controllers/JobStatus;)I
-HPLcom/android/server/job/JobSchedulerService;->assignJobsToContextsLocked()V
-HPLcom/android/server/job/JobSchedulerService;->evaluateJobPriorityLocked(Lcom/android/server/job/controllers/JobStatus;)I
-HPLcom/android/server/job/JobSchedulerService;->findJobContextIdFromMap(Lcom/android/server/job/controllers/JobStatus;[Lcom/android/server/job/controllers/JobStatus;)I
-HPLcom/android/server/job/JobSchedulerService;->getPendingJob(II)Landroid/app/job/JobInfo;
-HPLcom/android/server/job/JobSchedulerService;->getPendingJobs(I)Ljava/util/List;
-HPLcom/android/server/job/JobSchedulerService;->isCurrentlyActiveLocked(Lcom/android/server/job/controllers/JobStatus;)Z
-HPLcom/android/server/job/JobSchedulerService;->isReadyToBeExecutedLocked(Lcom/android/server/job/controllers/JobStatus;)Z
-HPLcom/android/server/job/JobSchedulerService;->lambda$static$0(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)I
-HPLcom/android/server/job/JobSchedulerService;->maybeRunPendingJobsLocked()V
-HPLcom/android/server/job/JobSchedulerService;->noteJobsNonpending(Ljava/util/List;)V
-HPLcom/android/server/job/JobSchedulerService;->noteJobsPending(Ljava/util/List;)V
-HPLcom/android/server/job/JobSchedulerService;->reportActiveLocked()V
-HPLcom/android/server/job/JobSchedulerService;->scheduleAsPackage(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;ILjava/lang/String;ILjava/lang/String;)I
-HPLcom/android/server/job/JobSchedulerService;->startTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-HPLcom/android/server/job/JobSchedulerService;->stopJobOnServiceContextLocked(Lcom/android/server/job/controllers/JobStatus;ILjava/lang/String;)Z
-HPLcom/android/server/job/JobSchedulerService;->stopNonReadyActiveJobsLocked()V
-HPLcom/android/server/job/JobSchedulerService;->stopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)Z
-HPLcom/android/server/job/JobSchedulerService;->updateUidState(II)V
-HPLcom/android/server/job/JobServiceContext;->clearPreferredUid()V
-HPLcom/android/server/job/JobServiceContext;->doCallback(Lcom/android/server/job/JobServiceContext$JobCallback;ZLjava/lang/String;)V
-HPLcom/android/server/job/JobServiceContext;->getPreferredUid()I
-HPLcom/android/server/job/JobServiceContext;->getRunningJobLocked()Lcom/android/server/job/controllers/JobStatus;
-HPLcom/android/server/job/JobServiceContext;->removeOpTimeOutLocked()V
-HPLcom/android/server/job/JobServiceContext;->scheduleOpTimeOutLocked()V
-HPLcom/android/server/job/JobStore$1;->addAttributesToJobTag(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V
-HPLcom/android/server/job/JobStore$1;->deepCopyBundle(Landroid/os/PersistableBundle;I)Landroid/os/PersistableBundle;
-HPLcom/android/server/job/JobStore$1;->lambda$run$0(Ljava/util/List;Lcom/android/server/job/controllers/JobStatus;)V
-HPLcom/android/server/job/JobStore$1;->writeBundleToXml(Landroid/os/PersistableBundle;Lorg/xmlpull/v1/XmlSerializer;)V
-HPLcom/android/server/job/JobStore$1;->writeConstraintsToXml(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V
-HPLcom/android/server/job/JobStore$1;->writeExecutionCriteriaToXml(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V
-HPLcom/android/server/job/JobStore$1;->writeJobsMapImpl(Ljava/util/List;)V
-HPLcom/android/server/job/JobStore$JobSet;->contains(Lcom/android/server/job/controllers/JobStatus;)Z
-HPLcom/android/server/job/JobStore$JobSet;->countJobsForUid(I)I
-HPLcom/android/server/job/JobStore$JobSet;->forEachJob(ILjava/util/function/Consumer;)V
-HPLcom/android/server/job/JobStore$JobSet;->forEachJob(Ljava/util/function/Predicate;Ljava/util/function/Consumer;)V
-HPLcom/android/server/job/JobStore$JobSet;->forEachJobForSourceUid(ILjava/util/function/Consumer;)V
-HPLcom/android/server/job/JobStore$JobSet;->get(II)Lcom/android/server/job/controllers/JobStatus;
-HPLcom/android/server/job/JobStore$JobSet;->remove(Lcom/android/server/job/controllers/JobStatus;)Z
-HPLcom/android/server/job/JobStore;->access$000()Z
-HPLcom/android/server/job/JobStore;->access$100(Lcom/android/server/job/controllers/JobStatus;)Z
-HPLcom/android/server/job/JobStore;->containsJob(Lcom/android/server/job/controllers/JobStatus;)Z
-HPLcom/android/server/job/JobStore;->isSyncJob(Lcom/android/server/job/controllers/JobStatus;)Z
-HPLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V
-HPLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/job/controllers/BackgroundJobsController;->updateSingleJobRestrictionLocked(Lcom/android/server/job/controllers/JobStatus;I)Z
-HPLcom/android/server/job/controllers/ConnectivityController;->isCongestionDelayed(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z
-HPLcom/android/server/job/controllers/ConnectivityController;->isInsane(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z
-HPLcom/android/server/job/controllers/ConnectivityController;->isSatisfied(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z
-HPLcom/android/server/job/controllers/ConnectivityController;->isStrictSatisfied(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z
-HPLcom/android/server/job/controllers/ConnectivityController;->updateConstraintsSatisfied(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;)Z
-HPLcom/android/server/job/controllers/ConnectivityController;->updateTrackedJobs(ILandroid/net/Network;)V
-HPLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V
-HPLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/job/controllers/DeviceIdleJobsController;->access$600(Lcom/android/server/job/controllers/DeviceIdleJobsController;Lcom/android/server/job/controllers/JobStatus;)Z
-HPLcom/android/server/job/controllers/DeviceIdleJobsController;->isWhitelistedLocked(Lcom/android/server/job/controllers/JobStatus;)Z
-HPLcom/android/server/job/controllers/DeviceIdleJobsController;->updateTaskStateLocked(Lcom/android/server/job/controllers/JobStatus;)Z
-HPLcom/android/server/job/controllers/JobStatus;-><init>(Landroid/app/job/JobInfo;IILjava/lang/String;IIJLjava/lang/String;IJJJJI)V
-HPLcom/android/server/job/controllers/JobStatus;-><init>(Lcom/android/server/job/controllers/JobStatus;)V
-HPLcom/android/server/job/controllers/JobStatus;->clearTrackingController(I)Z
-HPLcom/android/server/job/controllers/JobStatus;->computeEstimatedNetworkBytesLocked()J
-HPLcom/android/server/job/controllers/JobStatus;->getBaseHeartbeat()J
-HPLcom/android/server/job/controllers/JobStatus;->getBatteryName()Ljava/lang/String;
-HPLcom/android/server/job/controllers/JobStatus;->getEarliestRunTime()J
-HPLcom/android/server/job/controllers/JobStatus;->getEstimatedNetworkBytes()J
-HPLcom/android/server/job/controllers/JobStatus;->getFlags()I
-HPLcom/android/server/job/controllers/JobStatus;->getInternalFlags()I
-HPLcom/android/server/job/controllers/JobStatus;->getJob()Landroid/app/job/JobInfo;
-HPLcom/android/server/job/controllers/JobStatus;->getJobId()I
-HPLcom/android/server/job/controllers/JobStatus;->getLastFailedRunTime()J
-HPLcom/android/server/job/controllers/JobStatus;->getLastSuccessfulRunTime()J
-HPLcom/android/server/job/controllers/JobStatus;->getLatestRunTimeElapsed()J
-HPLcom/android/server/job/controllers/JobStatus;->getNumFailures()I
-HPLcom/android/server/job/controllers/JobStatus;->getPersistedUtcTimes()Landroid/util/Pair;
-HPLcom/android/server/job/controllers/JobStatus;->getPriority()I
-HPLcom/android/server/job/controllers/JobStatus;->getServiceComponent()Landroid/content/ComponentName;
-HPLcom/android/server/job/controllers/JobStatus;->getSourcePackageName()Ljava/lang/String;
-HPLcom/android/server/job/controllers/JobStatus;->getSourceTag()Ljava/lang/String;
-HPLcom/android/server/job/controllers/JobStatus;->getSourceUid()I
-HPLcom/android/server/job/controllers/JobStatus;->getSourceUserId()I
-HPLcom/android/server/job/controllers/JobStatus;->getStandbyBucket()I
-HPLcom/android/server/job/controllers/JobStatus;->getUid()I
-HPLcom/android/server/job/controllers/JobStatus;->getUserId()I
-HPLcom/android/server/job/controllers/JobStatus;->hasBatteryNotLowConstraint()Z
-HPLcom/android/server/job/controllers/JobStatus;->hasChargingConstraint()Z
-HPLcom/android/server/job/controllers/JobStatus;->hasConnectivityConstraint()Z
-HPLcom/android/server/job/controllers/JobStatus;->hasDeadlineConstraint()Z
-HPLcom/android/server/job/controllers/JobStatus;->hasIdleConstraint()Z
-HPLcom/android/server/job/controllers/JobStatus;->hasTimingDelayConstraint()Z
-HPLcom/android/server/job/controllers/JobStatus;->isConstraintSatisfied(I)Z
-HPLcom/android/server/job/controllers/JobStatus;->isConstraintsSatisfied()Z
-HPLcom/android/server/job/controllers/JobStatus;->isPersisted()Z
-HPLcom/android/server/job/controllers/JobStatus;->isReady()Z
-HPLcom/android/server/job/controllers/JobStatus;->matches(II)Z
-HPLcom/android/server/job/controllers/JobStatus;->setBackgroundNotRestrictedConstraintSatisfied(Z)Z
-HPLcom/android/server/job/controllers/JobStatus;->setConnectivityConstraintSatisfied(Z)Z
-HPLcom/android/server/job/controllers/JobStatus;->setConstraintSatisfied(IZ)Z
-HPLcom/android/server/job/controllers/JobStatus;->setDeviceNotDozingConstraintSatisfied(ZZ)Z
-HPLcom/android/server/job/controllers/JobStatus;->setTimingDelayConstraintSatisfied(Z)Z
-HPLcom/android/server/job/controllers/JobStatus;->setUidActive(Z)Z
-HPLcom/android/server/job/controllers/JobStatus;->updateEstimatedNetworkBytesLocked()V
-HPLcom/android/server/job/controllers/StateController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V
-HPLcom/android/server/job/controllers/TimeController;->canStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;)Z
-HPLcom/android/server/job/controllers/TimeController;->checkExpiredDelaysAndResetAlarm()V
-HPLcom/android/server/job/controllers/TimeController;->evaluateTimingDelayConstraint(Lcom/android/server/job/controllers/JobStatus;J)Z
-HPLcom/android/server/job/controllers/TimeController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-HPLcom/android/server/location/ContextHubServiceUtil;->createPrimitiveByteArray(Ljava/util/ArrayList;)[B
-HPLcom/android/server/location/GnssLocationProvider$GnssMetricsProvider;->getGnssMetricsAsProtoString()Ljava/lang/String;
-HPLcom/android/server/location/GnssLocationProvider$GnssSystemInfoProvider;->getGnssHardwareModelName()Ljava/lang/String;
-HPLcom/android/server/location/GnssLocationProvider$GnssSystemInfoProvider;->getGnssYearOfHardware()I
-HPLcom/android/server/location/GnssLocationProvider$ProviderHandler;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/server/location/GnssLocationProvider;->handleReportLocation(ZLandroid/location/Location;)V
-HPLcom/android/server/location/GnssLocationProvider;->handleReportSvStatus(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;)V
-HPLcom/android/server/location/GnssLocationProvider;->reportNmea(J)V
-HPLcom/android/server/location/GnssLocationProvider;->sendMessage(IILjava/lang/Object;)V
-HPLcom/android/server/location/GnssStatusListenerHelper$5;-><init>(Lcom/android/server/location/GnssStatusListenerHelper;JLjava/lang/String;)V
-HPLcom/android/server/location/GnssStatusListenerHelper$5;->execute(Landroid/location/IGnssStatusListener;)V
-HPLcom/android/server/location/GnssStatusListenerHelper$5;->execute(Landroid/os/IInterface;)V
-HPLcom/android/server/location/GnssStatusListenerHelper;->onNmeaReceived(JLjava/lang/String;)V
-HPLcom/android/server/location/RemoteListenerHelper$HandlerRunnable;-><init>(Lcom/android/server/location/RemoteListenerHelper;Landroid/os/IInterface;Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;)V
-HPLcom/android/server/location/RemoteListenerHelper$HandlerRunnable;->run()V
-HPLcom/android/server/location/RemoteListenerHelper$LinkedListener;->getUnderlyingListener()Landroid/os/IInterface;
-HPLcom/android/server/location/RemoteListenerHelper;->foreach(Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;)V
-HPLcom/android/server/location/RemoteListenerHelper;->foreachUnsafe(Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;)V
-HPLcom/android/server/location/RemoteListenerHelper;->post(Landroid/os/IInterface;Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;)V
-HPLcom/android/server/locksettings/LockSettingsService;->checkReadPermission(Ljava/lang/String;I)V
-HPLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->equals(Ljava/lang/Object;)Z
-HPLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->hashCode()I
-HPLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->set(ILjava/lang/String;I)Lcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;
-HPLcom/android/server/locksettings/LockSettingsStorage$Callback;->initialize(Landroid/database/sqlite/SQLiteDatabase;)V
-HPLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxy;->containsAlias(Ljava/lang/String;)Z
-HPLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxy;->deleteEntry(Ljava/lang/String;)V
-HPLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxy;->getKey(Ljava/lang/String;[C)Ljava/security/Key;
-HPLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxy;->setEntry(Ljava/lang/String;Ljava/security/KeyStore$Entry;Ljava/security/KeyStore$ProtectionParameter;)V
-HPLcom/android/server/media/AudioPlayerStateMonitor;->dispatchPlaybackConfigChange(Ljava/util/List;Z)V
-HPLcom/android/server/media/MediaSessionService$SessionManagerImpl;->getSessions(Landroid/content/ComponentName;I)Ljava/util/List;
-HPLcom/android/server/media/MediaSessionStack$OnMediaButtonSessionChangedListener;->onMediaButtonSessionChanged(Lcom/android/server/media/MediaSessionRecord;Lcom/android/server/media/MediaSessionRecord;)V
-HPLcom/android/server/media/RemoteDisplayProviderProxy$Callback;->onDisplayStateChanged(Lcom/android/server/media/RemoteDisplayProviderProxy;Landroid/media/RemoteDisplayState;)V
-HPLcom/android/server/media/RemoteDisplayProviderWatcher$Callback;->addProvider(Lcom/android/server/media/RemoteDisplayProviderProxy;)V
-HPLcom/android/server/media/RemoteDisplayProviderWatcher$Callback;->removeProvider(Lcom/android/server/media/RemoteDisplayProviderProxy;)V
-HPLcom/android/server/net/NetworkIdentitySet;->areAllMembersOnDefaultNetwork()Z
-HPLcom/android/server/net/NetworkIdentitySet;->isAnyMemberMetered()Z
-HPLcom/android/server/net/NetworkIdentitySet;->isAnyMemberRoaming()Z
-HPLcom/android/server/net/NetworkPolicyLogger$Data;->reset()V
-HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->networkBlocked(II)V
-HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->uidFirewallRuleChanged(III)V
-HPLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->uidStateChanged(IIJ)V
-HPLcom/android/server/net/NetworkPolicyLogger;->networkBlocked(II)V
-HPLcom/android/server/net/NetworkPolicyLogger;->uidStateChanged(IIJ)V
-HPLcom/android/server/net/NetworkPolicyManagerInternal;->getSubscriptionOpportunisticQuota(Landroid/net/Network;I)J
-HPLcom/android/server/net/NetworkPolicyManagerInternal;->getSubscriptionPlan(Landroid/net/Network;)Landroid/telephony/SubscriptionPlan;
-HPLcom/android/server/net/NetworkPolicyManagerInternal;->getSubscriptionPlan(Landroid/net/NetworkTemplate;)Landroid/telephony/SubscriptionPlan;
-HPLcom/android/server/net/NetworkPolicyManagerInternal;->isUidNetworkingBlocked(ILjava/lang/String;)Z
-HPLcom/android/server/net/NetworkPolicyManagerInternal;->isUidRestrictedOnMeteredNetworks(I)Z
-HPLcom/android/server/net/NetworkPolicyManagerInternal;->onAdminDataAvailable()V
-HPLcom/android/server/net/NetworkPolicyManagerInternal;->onTempPowerSaveWhitelistChange(IZ)V
-HPLcom/android/server/net/NetworkPolicyManagerInternal;->resetUserState(I)V
-HPLcom/android/server/net/NetworkPolicyManagerInternal;->setMeteredRestrictedPackages(Ljava/util/Set;I)V
-HPLcom/android/server/net/NetworkPolicyManagerInternal;->setMeteredRestrictedPackagesAsync(Ljava/util/Set;I)V
-HPLcom/android/server/net/NetworkPolicyManagerService$17;->handleMessage(Landroid/os/Message;)Z
-HPLcom/android/server/net/NetworkPolicyManagerService$18;->handleMessage(Landroid/os/Message;)Z
-HPLcom/android/server/net/NetworkPolicyManagerService$4;->onUidStateChanged(IIJ)V
-HPLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->isUidNetworkingBlocked(ILjava/lang/String;)Z
-HPLcom/android/server/net/NetworkPolicyManagerService;->access$2100(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/os/RemoteCallbackList;
-HPLcom/android/server/net/NetworkPolicyManagerService;->access$2200(Lcom/android/server/net/NetworkPolicyManagerService;Landroid/net/INetworkPolicyListener;II)V
-HPLcom/android/server/net/NetworkPolicyManagerService;->access$2400(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/util/ArraySet;
-HPLcom/android/server/net/NetworkPolicyManagerService;->access$3600(Lcom/android/server/net/NetworkPolicyManagerService;IZ)Z
-HPLcom/android/server/net/NetworkPolicyManagerService;->dispatchUidRulesChanged(Landroid/net/INetworkPolicyListener;II)V
-HPLcom/android/server/net/NetworkPolicyManagerService;->getRestrictBackgroundByCaller()I
-HPLcom/android/server/net/NetworkPolicyManagerService;->handleUidChanged(IIJ)V
-HPLcom/android/server/net/NetworkPolicyManagerService;->hasInternetPermissions(I)Z
-HPLcom/android/server/net/NetworkPolicyManagerService;->hasRule(II)Z
-HPLcom/android/server/net/NetworkPolicyManagerService;->isUidForegroundOnRestrictPowerUL(I)Z
-HPLcom/android/server/net/NetworkPolicyManagerService;->isUidIdle(I)Z
-HPLcom/android/server/net/NetworkPolicyManagerService;->isUidNetworkingBlockedInternal(IZ)Z
-HPLcom/android/server/net/NetworkPolicyManagerService;->isUidStateForeground(I)Z
-HPLcom/android/server/net/NetworkPolicyManagerService;->isUidValidForBlacklistRules(I)Z
-HPLcom/android/server/net/NetworkPolicyManagerService;->isWhitelistedBatterySaverUL(IZ)Z
-HPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkStats(IZ)V
-HPLcom/android/server/net/NetworkPolicyManagerService;->updateRestrictBackgroundRulesOnUidStatusChangedUL(III)V
-HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForAllAppsUL(I)V
-HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsUL(I)V
-HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsUL(IIZ)I
-HPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsULInner(IIZ)I
-HPLcom/android/server/net/NetworkPolicyManagerService;->updateUidStateUL(II)V
-HPLcom/android/server/net/NetworkStatsAccess;->isAccessibleToUser(III)Z
-HPLcom/android/server/net/NetworkStatsCollection$Key;-><init>(Lcom/android/server/net/NetworkIdentitySet;III)V
-HPLcom/android/server/net/NetworkStatsCollection$Key;->equals(Ljava/lang/Object;)Z
-HPLcom/android/server/net/NetworkStatsCollection$Key;->hashCode()I
-HPLcom/android/server/net/NetworkStatsCollection;->findOrCreateHistory(Lcom/android/server/net/NetworkIdentitySet;III)Landroid/net/NetworkStatsHistory;
-HPLcom/android/server/net/NetworkStatsCollection;->getSummary(Landroid/net/NetworkTemplate;JJII)Landroid/net/NetworkStats;
-HPLcom/android/server/net/NetworkStatsCollection;->noteRecordedHistory(JJJ)V
-HPLcom/android/server/net/NetworkStatsCollection;->read(Ljava/io/DataInputStream;)V
-HPLcom/android/server/net/NetworkStatsCollection;->recordData(Lcom/android/server/net/NetworkIdentitySet;IIIJJLandroid/net/NetworkStats$Entry;)V
-HPLcom/android/server/net/NetworkStatsCollection;->templateMatches(Landroid/net/NetworkTemplate;Lcom/android/server/net/NetworkIdentitySet;)Z
-HPLcom/android/server/net/NetworkStatsCollection;->write(Ljava/io/DataOutputStream;)V
-HPLcom/android/server/net/NetworkStatsRecorder;->getTotalSinceBootLocked(Landroid/net/NetworkTemplate;)Landroid/net/NetworkStats$Entry;
-HPLcom/android/server/net/NetworkStatsRecorder;->recordSnapshotLocked(Landroid/net/NetworkStats;Ljava/util/Map;[Lcom/android/internal/net/VpnInfo;J)V
-HPLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;->setUidForeground(IZ)V
-HPLcom/android/server/net/NetworkStatsService;->checkBpfStatsEnable()Z
-HPLcom/android/server/net/NetworkStatsService;->getIfaceStats(Ljava/lang/String;I)J
-HPLcom/android/server/net/NetworkStatsService;->getUidStats(II)J
-HPLcom/android/server/net/NetworkStatsService;->isBandwidthControlEnabled()Z
-HPLcom/android/server/net/NetworkStatsService;->resolveSubscriptionPlan(Landroid/net/NetworkTemplate;I)Landroid/telephony/SubscriptionPlan;
-HPLcom/android/server/net/NetworkStatsService;->setUidForeground(IZ)V
-HPLcom/android/server/net/watchlist/DigestUtils;->getSha256Hash(Ljava/io/InputStream;)[B
-HPLcom/android/server/net/watchlist/HarmfulDigests;->contains([B)Z
-HPLcom/android/server/net/watchlist/WatchlistConfig;->containsIp(Ljava/lang/String;)Z
-HPLcom/android/server/net/watchlist/WatchlistConfig;->getCrc32(Ljava/lang/String;)[B
-HPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->asyncNetworkEvent(Ljava/lang/String;[Ljava/lang/String;I)V
-HPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->isIpInWatchlist(Ljava/lang/String;)Z
-HPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->searchAllSubDomainsInWatchlist(Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->searchIpInWatchlist([Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/notification/BadgeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HPLcom/android/server/notification/CalendarTracker$Callback;->onChanged()V
-HPLcom/android/server/notification/ConditionProviders$Callback;->onBootComplete()V
-HPLcom/android/server/notification/ConditionProviders$Callback;->onConditionChanged(Landroid/net/Uri;Landroid/service/notification/Condition;)V
-HPLcom/android/server/notification/ConditionProviders$Callback;->onServiceAdded(Landroid/content/ComponentName;)V
-HPLcom/android/server/notification/ConditionProviders$Callback;->onUserSwitched()V
-HPLcom/android/server/notification/GlobalSortKeyComparator;->compare(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)I
-HPLcom/android/server/notification/GlobalSortKeyComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HPLcom/android/server/notification/GroupHelper$Callback;->addAutoGroup(Ljava/lang/String;)V
-HPLcom/android/server/notification/GroupHelper$Callback;->addAutoGroupSummary(ILjava/lang/String;Ljava/lang/String;)V
-HPLcom/android/server/notification/GroupHelper$Callback;->removeAutoGroup(Ljava/lang/String;)V
-HPLcom/android/server/notification/GroupHelper$Callback;->removeAutoGroupSummary(ILjava/lang/String;)V
-HPLcom/android/server/notification/ImportanceExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->enabledAndUserMatches(I)Z
-HPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isEnabledForCurrentProfiles()Z
-HPLcom/android/server/notification/ManagedServices;->access$900(Lcom/android/server/notification/ManagedServices;)Landroid/util/ArraySet;
-HPLcom/android/server/notification/ManagedServices;->writeXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
-HPLcom/android/server/notification/NotificationAdjustmentExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HPLcom/android/server/notification/NotificationChannelExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HPLcom/android/server/notification/NotificationComparator;->compare(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)I
-HPLcom/android/server/notification/NotificationComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HPLcom/android/server/notification/NotificationComparator;->isImportantColorized(Lcom/android/server/notification/NotificationRecord;)Z
-HPLcom/android/server/notification/NotificationComparator;->isImportantMessaging(Lcom/android/server/notification/NotificationRecord;)Z
-HPLcom/android/server/notification/NotificationComparator;->isImportantOngoing(Lcom/android/server/notification/NotificationRecord;)Z
-HPLcom/android/server/notification/NotificationComparator;->isImportantPeople(Lcom/android/server/notification/NotificationRecord;)Z
-HPLcom/android/server/notification/NotificationComparator;->isOngoing(Lcom/android/server/notification/NotificationRecord;)Z
-HPLcom/android/server/notification/NotificationDelegate;->clearEffects()V
-HPLcom/android/server/notification/NotificationDelegate;->onClearAll(III)V
-HPLcom/android/server/notification/NotificationDelegate;->onNotificationActionClick(IILjava/lang/String;ILcom/android/internal/statusbar/NotificationVisibility;)V
-HPLcom/android/server/notification/NotificationDelegate;->onNotificationClear(IILjava/lang/String;Ljava/lang/String;IILjava/lang/String;ILcom/android/internal/statusbar/NotificationVisibility;)V
-HPLcom/android/server/notification/NotificationDelegate;->onNotificationClick(IILjava/lang/String;Lcom/android/internal/statusbar/NotificationVisibility;)V
-HPLcom/android/server/notification/NotificationDelegate;->onNotificationDirectReplied(Ljava/lang/String;)V
-HPLcom/android/server/notification/NotificationDelegate;->onNotificationError(IILjava/lang/String;Ljava/lang/String;IIILjava/lang/String;I)V
-HPLcom/android/server/notification/NotificationDelegate;->onNotificationExpansionChanged(Ljava/lang/String;ZZ)V
-HPLcom/android/server/notification/NotificationDelegate;->onNotificationSettingsViewed(Ljava/lang/String;)V
-HPLcom/android/server/notification/NotificationDelegate;->onNotificationSmartRepliesAdded(Ljava/lang/String;I)V
-HPLcom/android/server/notification/NotificationDelegate;->onNotificationSmartReplySent(Ljava/lang/String;I)V
-HPLcom/android/server/notification/NotificationDelegate;->onNotificationVisibilityChanged([Lcom/android/internal/statusbar/NotificationVisibility;[Lcom/android/internal/statusbar/NotificationVisibility;)V
-HPLcom/android/server/notification/NotificationDelegate;->onPanelHidden()V
-HPLcom/android/server/notification/NotificationDelegate;->onPanelRevealed(ZI)V
-HPLcom/android/server/notification/NotificationDelegate;->onSetDisabled(I)V
-HPLcom/android/server/notification/NotificationIntrusivenessExtractor$1;->applyChangesLocked(Lcom/android/server/notification/NotificationRecord;)V
-HPLcom/android/server/notification/NotificationIntrusivenessExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HPLcom/android/server/notification/NotificationManagerInternal;->enqueueNotification(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILandroid/app/Notification;I)V
-HPLcom/android/server/notification/NotificationManagerInternal;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;)Landroid/app/NotificationChannel;
-HPLcom/android/server/notification/NotificationManagerInternal;->removeForegroundServiceFlagFromNotification(Ljava/lang/String;II)V
-HPLcom/android/server/notification/NotificationManagerService$10;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;II)V
-HPLcom/android/server/notification/NotificationManagerService$10;->createNotificationChannels(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-HPLcom/android/server/notification/NotificationManagerService$10;->enqueueNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;I)V
-HPLcom/android/server/notification/NotificationManagerService$10;->getActiveNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-HPLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannel(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;
-HPLcom/android/server/notification/NotificationManagerService$FlagChecker;->apply(I)Z
-HPLcom/android/server/notification/NotificationManagerService;->access$3000(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
-HPLcom/android/server/notification/NotificationManagerService;->access$3700(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
-HPLcom/android/server/notification/NotificationManagerService;->access$4400(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$WorkerHandler;
-HPLcom/android/server/notification/NotificationManagerService;->access$700(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/RankingHelper;
-HPLcom/android/server/notification/NotificationManagerService;->access$800(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$NotificationListeners;
-HPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSameApp(Ljava/lang/String;)V
-HPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSystemOrSameApp(Ljava/lang/String;)V
-HPLcom/android/server/notification/NotificationManagerService;->clamp(III)I
-HPLcom/android/server/notification/NotificationManagerService;->enqueueNotificationInternal(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILandroid/app/Notification;I)V
-HPLcom/android/server/notification/NotificationManagerService;->findNotificationByListLocked(Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
-HPLcom/android/server/notification/NotificationManagerService;->findNotificationRecordIndexLocked(Lcom/android/server/notification/NotificationRecord;)I
-HPLcom/android/server/notification/NotificationManagerService;->getNotificationCountLocked(Ljava/lang/String;IILjava/lang/String;)I
-HPLcom/android/server/notification/NotificationManagerService;->grantUriPermission(Landroid/os/IBinder;Landroid/net/Uri;ILjava/lang/String;I)V
-HPLcom/android/server/notification/NotificationManagerService;->handleRankingSort()V
-HPLcom/android/server/notification/NotificationManagerService;->hasCompanionDevice(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
-HPLcom/android/server/notification/NotificationManagerService;->indexOfNotificationLocked(Ljava/lang/String;)I
-HPLcom/android/server/notification/NotificationManagerService;->isCallerSystemOrPhone()Z
-HPLcom/android/server/notification/NotificationManagerService;->isCallingUidSystem()Z
-HPLcom/android/server/notification/NotificationManagerService;->isNotificationForCurrentUser(Lcom/android/server/notification/NotificationRecord;)Z
-HPLcom/android/server/notification/NotificationManagerService;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
-HPLcom/android/server/notification/NotificationManagerService;->isUidSystemOrPhone(I)Z
-HPLcom/android/server/notification/NotificationManagerService;->isVisibleToListener(Landroid/service/notification/StatusBarNotification;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
-HPLcom/android/server/notification/NotificationManagerService;->makeRankingUpdateLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
-HPLcom/android/server/notification/NotificationManagerService;->notificationMatchesUserId(Lcom/android/server/notification/NotificationRecord;I)Z
-HPLcom/android/server/notification/NotificationManagerService;->updateUriPermissions(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;I)V
-HPLcom/android/server/notification/NotificationRecord;->applyAdjustments()V
-HPLcom/android/server/notification/NotificationRecord;->applyUserImportance()V
-HPLcom/android/server/notification/NotificationRecord;->calculateImportance()I
-HPLcom/android/server/notification/NotificationRecord;->calculateUserSentiment()V
-HPLcom/android/server/notification/NotificationRecord;->canShowBadge()Z
-HPLcom/android/server/notification/NotificationRecord;->getAudioAttributes()Landroid/media/AudioAttributes;
-HPLcom/android/server/notification/NotificationRecord;->getAuthoritativeRank()I
-HPLcom/android/server/notification/NotificationRecord;->getChannel()Landroid/app/NotificationChannel;
-HPLcom/android/server/notification/NotificationRecord;->getContactAffinity()F
-HPLcom/android/server/notification/NotificationRecord;->getFreshnessMs(J)I
-HPLcom/android/server/notification/NotificationRecord;->getGlobalSortKey()Ljava/lang/String;
-HPLcom/android/server/notification/NotificationRecord;->getGrantableUris()Landroid/util/ArraySet;
-HPLcom/android/server/notification/NotificationRecord;->getGroupKey()Ljava/lang/String;
-HPLcom/android/server/notification/NotificationRecord;->getImportance()I
-HPLcom/android/server/notification/NotificationRecord;->getImportanceExplanation()Ljava/lang/CharSequence;
-HPLcom/android/server/notification/NotificationRecord;->getKey()Ljava/lang/String;
-HPLcom/android/server/notification/NotificationRecord;->getNotification()Landroid/app/Notification;
-HPLcom/android/server/notification/NotificationRecord;->getPackagePriority()I
-HPLcom/android/server/notification/NotificationRecord;->getPackageVisibilityOverride()I
-HPLcom/android/server/notification/NotificationRecord;->getPeopleOverride()Ljava/util/ArrayList;
-HPLcom/android/server/notification/NotificationRecord;->getRankingTimeMs()J
-HPLcom/android/server/notification/NotificationRecord;->getSnoozeCriteria()Ljava/util/ArrayList;
-HPLcom/android/server/notification/NotificationRecord;->getSuppressedVisualEffects()I
-HPLcom/android/server/notification/NotificationRecord;->getUser()Landroid/os/UserHandle;
-HPLcom/android/server/notification/NotificationRecord;->getUserExplanation()Ljava/lang/String;
-HPLcom/android/server/notification/NotificationRecord;->getUserId()I
-HPLcom/android/server/notification/NotificationRecord;->getUserSentiment()I
-HPLcom/android/server/notification/NotificationRecord;->isAudioAttributesUsage(I)Z
-HPLcom/android/server/notification/NotificationRecord;->isCategory(Ljava/lang/String;)Z
-HPLcom/android/server/notification/NotificationRecord;->isHidden()Z
-HPLcom/android/server/notification/NotificationRecord;->isIntercepted()Z
-HPLcom/android/server/notification/NotificationRecord;->isRecentlyIntrusive()Z
-HPLcom/android/server/notification/NotificationRecord;->setAuthoritativeRank(I)V
-HPLcom/android/server/notification/NotificationRecord;->setContactAffinity(F)V
-HPLcom/android/server/notification/NotificationRecord;->setGlobalSortKey(Ljava/lang/String;)V
-HPLcom/android/server/notification/NotificationRecord;->setIntercepted(Z)Z
-HPLcom/android/server/notification/NotificationRecord;->setPackagePriority(I)V
-HPLcom/android/server/notification/NotificationRecord;->setPackageVisibilityOverride(I)V
-HPLcom/android/server/notification/NotificationRecord;->setRecentlyIntrusive(Z)V
-HPLcom/android/server/notification/NotificationRecord;->setShowBadge(Z)V
-HPLcom/android/server/notification/NotificationRecord;->setSuppressedVisualEffects(I)V
-HPLcom/android/server/notification/NotificationRecord;->setUserImportance(I)V
-HPLcom/android/server/notification/NotificationRecord;->updateNotificationChannel(Landroid/app/NotificationChannel;)V
-HPLcom/android/server/notification/NotificationRecord;->visitGrantableUri(Landroid/net/Uri;)V
-HPLcom/android/server/notification/NotificationUsageStats$SQLiteLog$1;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->pruneIfNecessary(Landroid/database/sqlite/SQLiteDatabase;)V
-HPLcom/android/server/notification/NotificationUsageStats;->getAggregatedStatsLocked(Lcom/android/server/notification/NotificationRecord;)[Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;
-HPLcom/android/server/notification/NotificationUsageStats;->getAggregatedStatsLocked(Ljava/lang/String;)[Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;
-HPLcom/android/server/notification/NotificationUsageStats;->getAppEnqueueRate(Ljava/lang/String;)F
-HPLcom/android/server/notification/NotificationUsageStats;->getOrCreateAggregatedStatsLocked(Ljava/lang/String;)Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;
-HPLcom/android/server/notification/NotificationUsageStats;->registerPeopleAffinity(Lcom/android/server/notification/NotificationRecord;ZZZ)V
-HPLcom/android/server/notification/NotificationUsageStats;->registerUpdatedByApp(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)V
-HPLcom/android/server/notification/NotificationUsageStats;->releaseAggregatedStatsLocked([Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;)V
-HPLcom/android/server/notification/PriorityExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HPLcom/android/server/notification/RankingConfig;->badgingEnabled(Landroid/os/UserHandle;)Z
-HPLcom/android/server/notification/RankingConfig;->canShowBadge(Ljava/lang/String;I)Z
-HPLcom/android/server/notification/RankingConfig;->createNotificationChannel(Ljava/lang/String;ILandroid/app/NotificationChannel;ZZ)V
-HPLcom/android/server/notification/RankingConfig;->createNotificationChannelGroup(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;Z)V
-HPLcom/android/server/notification/RankingConfig;->deleteNotificationChannel(Ljava/lang/String;ILjava/lang/String;)V
-HPLcom/android/server/notification/RankingConfig;->getImportance(Ljava/lang/String;I)I
-HPLcom/android/server/notification/RankingConfig;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannel;
-HPLcom/android/server/notification/RankingConfig;->getNotificationChannelGroups(Ljava/lang/String;I)Ljava/util/Collection;
-HPLcom/android/server/notification/RankingConfig;->getNotificationChannelGroups(Ljava/lang/String;IZZ)Landroid/content/pm/ParceledListSlice;
-HPLcom/android/server/notification/RankingConfig;->getNotificationChannels(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
-HPLcom/android/server/notification/RankingConfig;->isGroupBlocked(Ljava/lang/String;ILjava/lang/String;)Z
-HPLcom/android/server/notification/RankingConfig;->permanentlyDeleteNotificationChannel(Ljava/lang/String;ILjava/lang/String;)V
-HPLcom/android/server/notification/RankingConfig;->permanentlyDeleteNotificationChannels(Ljava/lang/String;I)V
-HPLcom/android/server/notification/RankingConfig;->setImportance(Ljava/lang/String;II)V
-HPLcom/android/server/notification/RankingConfig;->setShowBadge(Ljava/lang/String;IZ)V
-HPLcom/android/server/notification/RankingConfig;->updateNotificationChannel(Ljava/lang/String;ILandroid/app/NotificationChannel;Z)V
-HPLcom/android/server/notification/RankingHandler;->requestReconsideration(Lcom/android/server/notification/RankingReconsideration;)V
-HPLcom/android/server/notification/RankingHandler;->requestSort()V
-HPLcom/android/server/notification/RankingHelper;->badgingEnabled(Landroid/os/UserHandle;)Z
-HPLcom/android/server/notification/RankingHelper;->canShowBadge(Ljava/lang/String;I)Z
-HPLcom/android/server/notification/RankingHelper;->extractSignals(Lcom/android/server/notification/NotificationRecord;)V
-HPLcom/android/server/notification/RankingHelper;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannel;
-HPLcom/android/server/notification/RankingHelper;->getOrCreateRecord(Ljava/lang/String;I)Lcom/android/server/notification/RankingHelper$Record;
-HPLcom/android/server/notification/RankingHelper;->getOrCreateRecord(Ljava/lang/String;IIIIZ)Lcom/android/server/notification/RankingHelper$Record;
-HPLcom/android/server/notification/RankingHelper;->indexOf(Ljava/util/ArrayList;Lcom/android/server/notification/NotificationRecord;)I
-HPLcom/android/server/notification/RankingHelper;->recordKey(Ljava/lang/String;I)Ljava/lang/String;
-HPLcom/android/server/notification/RankingHelper;->sort(Ljava/util/ArrayList;)V
-HPLcom/android/server/notification/RankingHelper;->updateConfig()V
-HPLcom/android/server/notification/RankingHelper;->writeXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
-HPLcom/android/server/notification/RankingReconsideration;->run()V
-HPLcom/android/server/notification/SnoozeHelper$Callback;->repost(ILcom/android/server/notification/NotificationRecord;)V
-HPLcom/android/server/notification/ValidateNotificationPeople$LookupResult;-><init>()V
-HPLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->access$400(Lcom/android/server/notification/ValidateNotificationPeople$LookupResult;)Z
-HPLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->getAffinity()F
-HPLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->isExpired()Z
-HPLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->isInvalid()Z
-HPLcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;->work()V
-HPLcom/android/server/notification/ValidateNotificationPeople;->access$000()Z
-HPLcom/android/server/notification/ValidateNotificationPeople;->access$300(Lcom/android/server/notification/ValidateNotificationPeople;)Landroid/util/LruCache;
-HPLcom/android/server/notification/ValidateNotificationPeople;->combineLists([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
-HPLcom/android/server/notification/ValidateNotificationPeople;->getCacheKey(ILjava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/notification/ValidateNotificationPeople;->getContextAsUser(Landroid/os/UserHandle;)Landroid/content/Context;
-HPLcom/android/server/notification/ValidateNotificationPeople;->getExtraPeople(Landroid/os/Bundle;)[Ljava/lang/String;
-HPLcom/android/server/notification/ValidateNotificationPeople;->getExtraPeopleForKey(Landroid/os/Bundle;Ljava/lang/String;)[Ljava/lang/String;
-HPLcom/android/server/notification/ValidateNotificationPeople;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HPLcom/android/server/notification/ValidateNotificationPeople;->validatePeople(Landroid/content/Context;Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HPLcom/android/server/notification/ValidateNotificationPeople;->validatePeople(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/List;[F)Lcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;
-HPLcom/android/server/notification/VisibilityExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HPLcom/android/server/notification/ZenLog;->traceIntercepted(Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;)V
-HPLcom/android/server/notification/ZenModeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
-HPLcom/android/server/notification/ZenModeFiltering;->isAlarm(Lcom/android/server/notification/NotificationRecord;)Z
-HPLcom/android/server/notification/ZenModeFiltering;->isCall(Lcom/android/server/notification/NotificationRecord;)Z
-HPLcom/android/server/notification/ZenModeFiltering;->isDefaultPhoneApp(Ljava/lang/String;)Z
-HPLcom/android/server/notification/ZenModeFiltering;->isEvent(Lcom/android/server/notification/NotificationRecord;)Z
-HPLcom/android/server/notification/ZenModeFiltering;->isMedia(Lcom/android/server/notification/NotificationRecord;)Z
-HPLcom/android/server/notification/ZenModeFiltering;->isMessage(Lcom/android/server/notification/NotificationRecord;)Z
-HPLcom/android/server/notification/ZenModeFiltering;->isReminder(Lcom/android/server/notification/NotificationRecord;)Z
-HPLcom/android/server/notification/ZenModeFiltering;->isSystem(Lcom/android/server/notification/NotificationRecord;)Z
-HPLcom/android/server/notification/ZenModeFiltering;->shouldIntercept(ILandroid/service/notification/ZenModeConfig;Lcom/android/server/notification/NotificationRecord;)Z
-HPLcom/android/server/notification/ZenModeHelper;->applyRestrictions(ZII)V
-HPLcom/android/server/notification/ZenModeHelper;->getNotificationPolicy()Landroid/app/NotificationManager$Policy;
-HPLcom/android/server/notification/ZenModeHelper;->getNotificationPolicy(Landroid/service/notification/ZenModeConfig;)Landroid/app/NotificationManager$Policy;
-HPLcom/android/server/notification/ZenModeHelper;->shouldIntercept(Lcom/android/server/notification/NotificationRecord;)Z
-HPLcom/android/server/om/OverlayManagerServiceImpl$OverlayChangeListener;->onOverlaysChanged(Ljava/lang/String;I)V
-HPLcom/android/server/om/OverlayManagerServiceImpl$PackageManagerHelper;->getOverlayPackages(I)Ljava/util/List;
-HPLcom/android/server/om/OverlayManagerServiceImpl$PackageManagerHelper;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
-HPLcom/android/server/om/OverlayManagerServiceImpl$PackageManagerHelper;->signaturesMatching(Ljava/lang/String;Ljava/lang/String;I)Z
-HPLcom/android/server/pm/-$$Lambda$ShortcutService$3$n_VdEzyBcjs0pGZO8GnB0FoTgR0;-><init>(Lcom/android/server/pm/ShortcutService$3;II)V
-HPLcom/android/server/pm/-$$Lambda$ShortcutService$3$n_VdEzyBcjs0pGZO8GnB0FoTgR0;->run()V
-HPLcom/android/server/pm/AbstractStatsBase;->maybeWriteAsync(Ljava/lang/Object;)Z
-HPLcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;->clearCallingIdentity()J
-HPLcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;->getActivityManagerInternal()Landroid/app/ActivityManagerInternal;
-HPLcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;->getAppOpsManager()Landroid/app/AppOpsManager;
-HPLcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;->getCallingUid()I
-HPLcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;->getCallingUserHandle()Landroid/os/UserHandle;
-HPLcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;->getCallingUserId()I
-HPLcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;->getPackageManager()Landroid/content/pm/PackageManager;
-HPLcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
-HPLcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;->getUserManager()Landroid/os/UserManager;
-HPLcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;->restoreCallingIdentity(J)V
-HPLcom/android/server/pm/InstantAppRegistry;->getInstalledInstantApplicationsLPr(I)Ljava/util/List;
-HPLcom/android/server/pm/InstantAppRegistry;->grantInstantAccessLPw(ILandroid/content/Intent;II)V
-HPLcom/android/server/pm/InstantAppResolverConnection$PhaseTwoCallback;->onPhaseTwoResolved(Ljava/util/List;J)V
-HPLcom/android/server/pm/InstantAppResolverConnection;->getRemoteInstanceLazy(Ljava/lang/String;)Landroid/app/IInstantAppResolver;
-HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectBinderCallingPid()I
-HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectBinderCallingUid()I
-HPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->verifyCallingPackage(Ljava/lang/String;)V
-HPLcom/android/server/pm/PackageDexOptimizer;->acquireWakeLockLI(I)J
-HPLcom/android/server/pm/PackageDexOptimizer;->dexOptPath(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;IILcom/android/server/pm/CompilerStats$PackageStats;ZLjava/lang/String;Ljava/lang/String;I)I
-HPLcom/android/server/pm/PackageDexOptimizer;->getDexFlags(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Lcom/android/server/pm/dex/DexoptOptions;)I
-HPLcom/android/server/pm/PackageDexOptimizer;->getDexoptNeeded(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)I
-HPLcom/android/server/pm/PackageDexOptimizer;->getRealCompilerFilter(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Z)Ljava/lang/String;
-HPLcom/android/server/pm/PackageDexOptimizer;->releaseWakeLockLI(J)V
-HPLcom/android/server/pm/PackageKeySetData;->getAliases()Landroid/util/ArrayMap;
-HPLcom/android/server/pm/PackageKeySetData;->isUsingUpgradeKeySets()Z
-HPLcom/android/server/pm/PackageManagerService$1;->onPermissionUpdated([IZ)V
-HPLcom/android/server/pm/PackageManagerService$5;->compare(Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;)I
-HPLcom/android/server/pm/PackageManagerService$5;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-HPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
-HPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->allowFilterResult(Landroid/content/pm/PackageParser$ActivityIntentInfo;Ljava/util/List;)Z
-HPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->isFilterStopped(Landroid/content/IntentFilter;I)Z
-HPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->isFilterStopped(Landroid/content/pm/PackageParser$ActivityIntentInfo;I)Z
-HPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
-HPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/pm/PackageParser$ActivityIntentInfo;)Z
-HPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
-HPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->newResult(Landroid/content/pm/PackageParser$ActivityIntentInfo;II)Landroid/content/pm/ResolveInfo;
-HPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->queryIntent(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
-HPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->queryIntentForPackage(Landroid/content/Intent;Ljava/lang/String;ILjava/util/ArrayList;I)Ljava/util/List;
-HPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->sortResults(Ljava/util/List;)V
-HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->canAccessInstantApps(II)Z
-HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->filterAppAccess(Landroid/content/pm/PackageParser$Package;II)Z
-HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getInstantAppPackageName(I)Ljava/lang/String;
-HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getKnownPackageName(II)Ljava/lang/String;
-HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackage(Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
-HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getSigningDetails(I)Landroid/content/pm/PackageParser$SigningDetails;
-HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->grantEphemeralAccess(ILandroid/content/Intent;II)V
-HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->hasSignatureCapability(III)Z
-HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPackageEphemeral(ILjava/lang/String;)Z
-HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->notifyPackageUse(Ljava/lang/String;I)V
-HPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->resolveService(Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
-HPLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;->access$2300(Lcom/android/server/pm/PackageManagerService$ServiceIntentResolver;)Landroid/util/ArrayMap;
-HPLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
-HPLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;->allowFilterResult(Landroid/content/pm/PackageParser$ServiceIntentInfo;Ljava/util/List;)Z
-HPLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
-HPLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/pm/PackageParser$ServiceIntentInfo;)Z
-HPLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
-HPLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;->newResult(Landroid/content/pm/PackageParser$ServiceIntentInfo;II)Landroid/content/pm/ResolveInfo;
-HPLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;->queryIntentForPackage(Landroid/content/Intent;Ljava/lang/String;ILjava/util/ArrayList;I)Ljava/util/List;
-HPLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;->sortResults(Ljava/util/List;)V
-HPLcom/android/server/pm/PackageManagerService;->access$2900(Lcom/android/server/pm/PackageManagerService;I)Z
-HPLcom/android/server/pm/PackageManagerService;->access$3000()Ljava/util/Comparator;
-HPLcom/android/server/pm/PackageManagerService;->access$5100(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/InstantAppRegistry;
-HPLcom/android/server/pm/PackageManagerService;->access$6400(Lcom/android/server/pm/PackageManagerService;I)Ljava/lang/String;
-HPLcom/android/server/pm/PackageManagerService;->access$6500(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageSetting;II)Z
-HPLcom/android/server/pm/PackageManagerService;->access$6600(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;J)Ljava/lang/String;
-HPLcom/android/server/pm/PackageManagerService;->access$8200(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
-HPLcom/android/server/pm/PackageManagerService;->access$8600(Lcom/android/server/pm/PackageManagerService;II)Z
-HPLcom/android/server/pm/PackageManagerService;->access$8800(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;I)V
-HPLcom/android/server/pm/PackageManagerService;->addPackageHoldingPermissions(Ljava/util/ArrayList;Lcom/android/server/pm/PackageSetting;[Ljava/lang/String;[ZII)V
-HPLcom/android/server/pm/PackageManagerService;->applyPostResolutionFilter(Ljava/util/List;Ljava/lang/String;ZIILandroid/content/Intent;)Ljava/util/List;
-HPLcom/android/server/pm/PackageManagerService;->applyPostServiceResolutionFilter(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
-HPLcom/android/server/pm/PackageManagerService;->canViewInstantApps(II)Z
-HPLcom/android/server/pm/PackageManagerService;->checkPackageStartable(Ljava/lang/String;I)V
-HPLcom/android/server/pm/PackageManagerService;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I
-HPLcom/android/server/pm/PackageManagerService;->checkUidPermission(Ljava/lang/String;I)I
-HPLcom/android/server/pm/PackageManagerService;->filterAppAccessLPr(Lcom/android/server/pm/PackageSetting;II)Z
-HPLcom/android/server/pm/PackageManagerService;->filterAppAccessLPr(Lcom/android/server/pm/PackageSetting;ILandroid/content/ComponentName;II)Z
-HPLcom/android/server/pm/PackageManagerService;->filterIfNotSystemUser(Ljava/util/List;I)Ljava/util/List;
-HPLcom/android/server/pm/PackageManagerService;->filterSharedLibPackageLPr(Lcom/android/server/pm/PackageSetting;III)Z
-HPLcom/android/server/pm/PackageManagerService;->findPreferredActivity(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;IZZZI)Landroid/content/pm/ResolveInfo;
-HPLcom/android/server/pm/PackageManagerService;->generatePackageInfo(Lcom/android/server/pm/PackageSetting;II)Landroid/content/pm/PackageInfo;
-HPLcom/android/server/pm/PackageManagerService;->getActivityInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
-HPLcom/android/server/pm/PackageManagerService;->getActivityInfoInternal(Landroid/content/ComponentName;III)Landroid/content/pm/ActivityInfo;
-HPLcom/android/server/pm/PackageManagerService;->getApplicationEnabledSetting(Ljava/lang/String;I)I
-HPLcom/android/server/pm/PackageManagerService;->getApplicationInfo(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
-HPLcom/android/server/pm/PackageManagerService;->getApplicationInfoInternal(Ljava/lang/String;III)Landroid/content/pm/ApplicationInfo;
-HPLcom/android/server/pm/PackageManagerService;->getComponentEnabledSetting(Landroid/content/ComponentName;I)I
-HPLcom/android/server/pm/PackageManagerService;->getInstalledApplications(II)Landroid/content/pm/ParceledListSlice;
-HPLcom/android/server/pm/PackageManagerService;->getInstalledPackages(II)Landroid/content/pm/ParceledListSlice;
-HPLcom/android/server/pm/PackageManagerService;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/pm/PackageManagerService;->getInstantAppPackageName(I)Ljava/lang/String;
-HPLcom/android/server/pm/PackageManagerService;->getInstantApps(I)Landroid/content/pm/ParceledListSlice;
-HPLcom/android/server/pm/PackageManagerService;->getNameForUid(I)Ljava/lang/String;
-HPLcom/android/server/pm/PackageManagerService;->getPackageGids(Ljava/lang/String;II)[I
-HPLcom/android/server/pm/PackageManagerService;->getPackageInfo(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
-HPLcom/android/server/pm/PackageManagerService;->getPackageInfoInternal(Ljava/lang/String;JIII)Landroid/content/pm/PackageInfo;
-HPLcom/android/server/pm/PackageManagerService;->getPackageUid(Ljava/lang/String;II)I
-HPLcom/android/server/pm/PackageManagerService;->getPackagesForUid(I)[Ljava/lang/String;
-HPLcom/android/server/pm/PackageManagerService;->getPackagesHoldingPermissions([Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HPLcom/android/server/pm/PackageManagerService;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
-HPLcom/android/server/pm/PackageManagerService;->getProfileParent(I)Landroid/content/pm/UserInfo;
-HPLcom/android/server/pm/PackageManagerService;->getReceiverInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
-HPLcom/android/server/pm/PackageManagerService;->getServiceInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ServiceInfo;
-HPLcom/android/server/pm/PackageManagerService;->getUserManagerInternal()Landroid/os/UserManagerInternal;
-HPLcom/android/server/pm/PackageManagerService;->isCallerSameApp(Ljava/lang/String;I)Z
-HPLcom/android/server/pm/PackageManagerService;->isInstantApp(Ljava/lang/String;I)Z
-HPLcom/android/server/pm/PackageManagerService;->isPackageAvailable(Ljava/lang/String;I)Z
-HPLcom/android/server/pm/PackageManagerService;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
-HPLcom/android/server/pm/PackageManagerService;->isProtectedBroadcast(Ljava/lang/String;)Z
-HPLcom/android/server/pm/PackageManagerService;->logAppProcessStartIfNeeded(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V
-HPLcom/android/server/pm/PackageManagerService;->notifyPackageUseLocked(Ljava/lang/String;I)V
-HPLcom/android/server/pm/PackageManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/server/pm/PackageManagerService;->performDexOptInternal(Lcom/android/server/pm/dex/DexoptOptions;)I
-HPLcom/android/server/pm/PackageManagerService;->queryContentProviders(Ljava/lang/String;IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
-HPLcom/android/server/pm/PackageManagerService;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HPLcom/android/server/pm/PackageManagerService;->queryIntentActivitiesInternal(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
-HPLcom/android/server/pm/PackageManagerService;->queryIntentActivitiesInternal(Landroid/content/Intent;Ljava/lang/String;IIIZZ)Ljava/util/List;
-HPLcom/android/server/pm/PackageManagerService;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HPLcom/android/server/pm/PackageManagerService;->queryIntentReceiversInternal(Landroid/content/Intent;Ljava/lang/String;IIZ)Ljava/util/List;
-HPLcom/android/server/pm/PackageManagerService;->queryIntentServices(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
-HPLcom/android/server/pm/PackageManagerService;->queryIntentServicesInternal(Landroid/content/Intent;Ljava/lang/String;IIIZ)Ljava/util/List;
-HPLcom/android/server/pm/PackageManagerService;->replacePreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
-HPLcom/android/server/pm/PackageManagerService;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-HPLcom/android/server/pm/PackageManagerService;->resolveContentProviderInternal(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-HPLcom/android/server/pm/PackageManagerService;->resolveExternalPackageNameLPr(Landroid/content/pm/PackageParser$Package;)Ljava/lang/String;
-HPLcom/android/server/pm/PackageManagerService;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
-HPLcom/android/server/pm/PackageManagerService;->resolveIntentInternal(Landroid/content/Intent;Ljava/lang/String;IIZI)Landroid/content/pm/ResolveInfo;
-HPLcom/android/server/pm/PackageManagerService;->resolveInternalPackageNameLPr(Ljava/lang/String;J)Ljava/lang/String;
-HPLcom/android/server/pm/PackageManagerService;->resolveService(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
-HPLcom/android/server/pm/PackageManagerService;->resolveServiceInternal(Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
-HPLcom/android/server/pm/PackageManagerService;->setEnabledSetting(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;)V
-HPLcom/android/server/pm/PackageManagerService;->setPackageStoppedState(Ljava/lang/String;ZI)V
-HPLcom/android/server/pm/PackageManagerService;->updateFlags(II)I
-HPLcom/android/server/pm/PackageManagerService;->updateFlagsForApplication(IILjava/lang/Object;)I
-HPLcom/android/server/pm/PackageManagerService;->updateFlagsForComponent(IILjava/lang/Object;)I
-HPLcom/android/server/pm/PackageManagerService;->updateFlagsForPackage(IILjava/lang/Object;)I
-HPLcom/android/server/pm/PackageManagerService;->updateFlagsForResolve(IILandroid/content/Intent;IZ)I
-HPLcom/android/server/pm/PackageManagerService;->updateFlagsForResolve(IILandroid/content/Intent;IZZ)I
-HPLcom/android/server/pm/PackageManagerService;->userNeedsBadging(I)Z
-HPLcom/android/server/pm/PackageManagerServiceUtils;->dumpCriticalInfo(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HPLcom/android/server/pm/PackageManagerServiceUtils;->enforceShellRestriction(Ljava/lang/String;II)V
-HPLcom/android/server/pm/PackageSettingBase;->getEnabled(I)I
-HPLcom/android/server/pm/PackageSettingBase;->getHarmfulAppWarning(I)Ljava/lang/String;
-HPLcom/android/server/pm/PackageSettingBase;->getHidden(I)Z
-HPLcom/android/server/pm/PackageSettingBase;->getInstalled(I)Z
-HPLcom/android/server/pm/PackageSettingBase;->getLastDisabledAppCaller(I)Ljava/lang/String;
-HPLcom/android/server/pm/PackageSettingBase;->getNotLaunched(I)Z
-HPLcom/android/server/pm/PackageSettingBase;->getSigningDetails()Landroid/content/pm/PackageParser$SigningDetails;
-HPLcom/android/server/pm/PackageSettingBase;->getStopped(I)Z
-HPLcom/android/server/pm/PackageSettingBase;->getSuspended(I)Z
-HPLcom/android/server/pm/PackageSignatures;->writeCertsListXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/ArrayList;[Landroid/content/pm/Signature;[I)V
-HPLcom/android/server/pm/PackageSignatures;->writeXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Ljava/util/ArrayList;)V
-HPLcom/android/server/pm/PackageUsage;->readToken(Ljava/io/InputStream;Ljava/lang/StringBuffer;C)Ljava/lang/String;
-HPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writePermissions(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
-HPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writePermissionsForUserAsyncLPr(I)V
-HPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writePermissionsSync(I)V
-HPLcom/android/server/pm/Settings;->dumpPackageLPr(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/PackageSetting;Ljava/text/SimpleDateFormat;Ljava/util/Date;Ljava/util/List;Z)V
-HPLcom/android/server/pm/Settings;->dumpPackagesLPr(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;Z)V
-HPLcom/android/server/pm/Settings;->isEnabledAndMatchLPr(Landroid/content/pm/ComponentInfo;II)Z
-HPLcom/android/server/pm/Settings;->setPackageStoppedStateLPw(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ZZII)Z
-HPLcom/android/server/pm/Settings;->writeChildPackagesLPw(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
-HPLcom/android/server/pm/Settings;->writeDomainVerificationsLPr(Lorg/xmlpull/v1/XmlSerializer;Landroid/content/pm/IntentFilterVerificationInfo;)V
-HPLcom/android/server/pm/Settings;->writeKeySetAliasesLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V
-HPLcom/android/server/pm/Settings;->writeLPr()V
-HPLcom/android/server/pm/Settings;->writePackageLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageSetting;)V
-HPLcom/android/server/pm/Settings;->writePackageListLPr(I)V
-HPLcom/android/server/pm/Settings;->writePackageRestrictionsLPr(I)V
-HPLcom/android/server/pm/Settings;->writePermissionsLPr(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
-HPLcom/android/server/pm/Settings;->writeSigningKeySetLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V
-HPLcom/android/server/pm/Settings;->writeUpgradeKeySetsLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V
-HPLcom/android/server/pm/Settings;->writeUsesStaticLibLPw(Lorg/xmlpull/v1/XmlSerializer;[Ljava/lang/String;[J)V
-HPLcom/android/server/pm/ShortcutPackage;->saveShortcut(Lorg/xmlpull/v1/XmlSerializer;Landroid/content/pm/ShortcutInfo;ZZ)V
-HPLcom/android/server/pm/ShortcutPackage;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
-HPLcom/android/server/pm/ShortcutPackageItem;->getPackageInfo()Lcom/android/server/pm/ShortcutPackageInfo;
-HPLcom/android/server/pm/ShortcutPackageItem;->getPackageName()Ljava/lang/String;
-HPLcom/android/server/pm/ShortcutPackageItem;->getPackageUserId()I
-HPLcom/android/server/pm/ShortcutService$3;->lambda$onUidStateChanged$0(Lcom/android/server/pm/ShortcutService$3;II)V
-HPLcom/android/server/pm/ShortcutService$3;->onUidStateChanged(IIJ)V
-HPLcom/android/server/pm/ShortcutService;->handleOnUidStateChanged(II)V
-HPLcom/android/server/pm/ShortcutService;->injectClearCallingIdentity()J
-HPLcom/android/server/pm/ShortcutService;->injectCurrentTimeMillis()J
-HPLcom/android/server/pm/ShortcutService;->injectElapsedRealtime()J
-HPLcom/android/server/pm/ShortcutService;->injectPostToHandler(Ljava/lang/Runnable;)V
-HPLcom/android/server/pm/ShortcutService;->injectRestoreCallingIdentity(J)V
-HPLcom/android/server/pm/ShortcutService;->isProcessStateForeground(I)Z
-HPLcom/android/server/pm/ShortcutService;->writeAttr(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;J)V
-HPLcom/android/server/pm/ShortcutService;->writeAttr(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Ljava/lang/CharSequence;)V
-HPLcom/android/server/pm/ShortcutService;->writeAttr(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Z)V
-HPLcom/android/server/pm/ShortcutService;->writeTagExtra(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Landroid/os/PersistableBundle;)V
-HPLcom/android/server/pm/UserManagerService$LocalService;->exists(I)Z
-HPLcom/android/server/pm/UserManagerService$LocalService;->isUserUnlockingOrUnlocked(I)Z
-HPLcom/android/server/pm/UserManagerService;->access$2800(Lcom/android/server/pm/UserManagerService;)Landroid/util/SparseIntArray;
-HPLcom/android/server/pm/UserManagerService;->access$2900(Lcom/android/server/pm/UserManagerService;I)Landroid/content/pm/UserInfo;
-HPLcom/android/server/pm/UserManagerService;->checkManageOrInteractPermIfCallerInOtherProfileGroup(ILjava/lang/String;)V
-HPLcom/android/server/pm/UserManagerService;->exists(I)Z
-HPLcom/android/server/pm/UserManagerService;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
-HPLcom/android/server/pm/UserManagerService;->getApplicationRestrictionsForUser(Ljava/lang/String;I)Landroid/os/Bundle;
-HPLcom/android/server/pm/UserManagerService;->getProfileIds(IZ)[I
-HPLcom/android/server/pm/UserManagerService;->getProfileIdsLU(IZ)Landroid/util/IntArray;
-HPLcom/android/server/pm/UserManagerService;->getProfiles(IZ)Ljava/util/List;
-HPLcom/android/server/pm/UserManagerService;->getUidForPackage(Ljava/lang/String;)I
-HPLcom/android/server/pm/UserManagerService;->getUserDataLU(I)Lcom/android/server/pm/UserManagerService$UserData;
-HPLcom/android/server/pm/UserManagerService;->getUserIds()[I
-HPLcom/android/server/pm/UserManagerService;->getUserInfo(I)Landroid/content/pm/UserInfo;
-HPLcom/android/server/pm/UserManagerService;->getUserInfoLU(I)Landroid/content/pm/UserInfo;
-HPLcom/android/server/pm/UserManagerService;->getUserInfoNoChecks(I)Landroid/content/pm/UserInfo;
-HPLcom/android/server/pm/UserManagerService;->getUserStartRealtime()J
-HPLcom/android/server/pm/UserManagerService;->getUserUnlockRealtime()J
-HPLcom/android/server/pm/UserManagerService;->hasManageUsersPermission()Z
-HPLcom/android/server/pm/UserManagerService;->hasManagedProfile(I)Z
-HPLcom/android/server/pm/UserManagerService;->hasPermissionGranted(Ljava/lang/String;I)Z
-HPLcom/android/server/pm/UserManagerService;->packageToRestrictionsFileName(Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/pm/UserManagerService;->readApplicationRestrictionsLAr(Landroid/util/AtomicFile;)Landroid/os/Bundle;
-HPLcom/android/server/pm/UserManagerService;->readApplicationRestrictionsLAr(Ljava/lang/String;I)Landroid/os/Bundle;
-HPLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->searchDex(Ljava/lang/String;I)I
-HPLcom/android/server/pm/dex/DexManager;->access$400()I
-HPLcom/android/server/pm/dex/DexManager;->getDexPackage(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)Lcom/android/server/pm/dex/DexManager$DexSearchResult;
-HPLcom/android/server/pm/permission/BasePermission;->getSourcePackageName()Ljava/lang/String;
-HPLcom/android/server/pm/permission/BasePermission;->getSourcePackageSetting()Lcom/android/server/pm/PackageSettingBase;
-HPLcom/android/server/pm/permission/BasePermission;->isDynamic()Z
-HPLcom/android/server/pm/permission/BasePermission;->isNormal()Z
-HPLcom/android/server/pm/permission/BasePermission;->isOEM()Z
-HPLcom/android/server/pm/permission/BasePermission;->isPrivileged()Z
-HPLcom/android/server/pm/permission/BasePermission;->isRuntime()Z
-HPLcom/android/server/pm/permission/BasePermission;->isRuntimeOnly()Z
-HPLcom/android/server/pm/permission/BasePermission;->isSignature()Z
-HPLcom/android/server/pm/permission/BasePermission;->isVendorPrivileged()Z
-HPLcom/android/server/pm/permission/BasePermission;->writeLPr(Lorg/xmlpull/v1/XmlSerializer;)V
-HPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantRuntimePermissions(Landroid/content/pm/PackageParser$Package;Ljava/util/Set;ZZI)V
-HPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->checkPermission(Ljava/lang/String;Ljava/lang/String;II)I
-HPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->checkUidPermission(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;II)I
-HPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->enforceCrossUserPermission(IIZZLjava/lang/String;)V
-HPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->enforceCrossUserPermission(IIZZZLjava/lang/String;)V
-HPLcom/android/server/pm/permission/PermissionManagerService;->access$1900(Lcom/android/server/pm/permission/PermissionManagerService;IIZZZLjava/lang/String;)V
-HPLcom/android/server/pm/permission/PermissionManagerService;->access$2100(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;Ljava/lang/String;II)I
-HPLcom/android/server/pm/permission/PermissionManagerService;->access$2200(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;Landroid/content/pm/PackageParser$Package;II)I
-HPLcom/android/server/pm/permission/PermissionManagerService;->checkPermission(Ljava/lang/String;Ljava/lang/String;II)I
-HPLcom/android/server/pm/permission/PermissionManagerService;->checkUidPermission(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;II)I
-HPLcom/android/server/pm/permission/PermissionManagerService;->enforceCrossUserPermission(IIZZZLjava/lang/String;)V
-HPLcom/android/server/pm/permission/PermissionManagerService;->grantPermissions(Landroid/content/pm/PackageParser$Package;ZLjava/lang/String;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-HPLcom/android/server/pm/permission/PermissionManagerService;->grantSignaturePermission(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/permission/BasePermission;Lcom/android/server/pm/permission/PermissionsState;)Z
-HPLcom/android/server/pm/permission/PermissionManagerService;->hasPrivappWhitelistEntry(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;)Z
-HPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;I)I
-HPLcom/android/server/pm/permission/PermissionSettings;->writePermissions(Lorg/xmlpull/v1/XmlSerializer;)V
-HPLcom/android/server/pm/permission/PermissionsState$PermissionData;->getPermissionState(I)Lcom/android/server/pm/permission/PermissionsState$PermissionState;
-HPLcom/android/server/pm/permission/PermissionsState$PermissionState;->getFlags()I
-HPLcom/android/server/pm/permission/PermissionsState$PermissionState;->getName()Ljava/lang/String;
-HPLcom/android/server/pm/permission/PermissionsState$PermissionState;->isGranted()Z
-HPLcom/android/server/pm/permission/PermissionsState;->computeGids([I)[I
-HPLcom/android/server/pm/permission/PermissionsState;->getInstallPermissionStates()Ljava/util/List;
-HPLcom/android/server/pm/permission/PermissionsState;->getPermissionState(Ljava/lang/String;I)Lcom/android/server/pm/permission/PermissionsState$PermissionState;
-HPLcom/android/server/pm/permission/PermissionsState;->getPermissionStatesInternal(I)Ljava/util/List;
-HPLcom/android/server/pm/permission/PermissionsState;->getPermissions(I)Ljava/util/Set;
-HPLcom/android/server/pm/permission/PermissionsState;->getRuntimePermissionState(Ljava/lang/String;I)Lcom/android/server/pm/permission/PermissionsState$PermissionState;
-HPLcom/android/server/pm/permission/PermissionsState;->getRuntimePermissionStates(I)Ljava/util/List;
-HPLcom/android/server/pm/permission/PermissionsState;->hasInstallPermission(Ljava/lang/String;)Z
-HPLcom/android/server/pm/permission/PermissionsState;->hasRuntimePermission(Ljava/lang/String;I)Z
-HPLcom/android/server/policy/BarController$OnBarVisibilityChangedListener;->onBarVisibilityChanged(Z)V
-HPLcom/android/server/policy/BarController;->applyTranslucentFlagLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;II)I
-HPLcom/android/server/policy/BarController;->checkHiddenLw()Z
-HPLcom/android/server/policy/BarController;->computeStateLw(ZZLcom/android/server/policy/WindowManagerPolicy$WindowState;Z)I
-HPLcom/android/server/policy/BarController;->isTransientShowRequested()Z
-HPLcom/android/server/policy/BarController;->isTransientShowing()Z
-HPLcom/android/server/policy/BarController;->isTransparentAllowed(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
-HPLcom/android/server/policy/BarController;->setBarShowingLw(Z)Z
-HPLcom/android/server/policy/BarController;->setContentFrame(Landroid/graphics/Rect;)V
-HPLcom/android/server/policy/BarController;->updateStateLw(I)Z
-HPLcom/android/server/policy/BarController;->updateVisibilityLw(ZII)I
-HPLcom/android/server/policy/GlobalActionsProvider$GlobalActionsListener;->onGlobalActionsAvailableChanged(Z)V
-HPLcom/android/server/policy/GlobalActionsProvider$GlobalActionsListener;->onGlobalActionsDismissed()V
-HPLcom/android/server/policy/GlobalActionsProvider$GlobalActionsListener;->onGlobalActionsShown()V
-HPLcom/android/server/policy/GlobalActionsProvider;->isGlobalActionsDisabled()Z
-HPLcom/android/server/policy/GlobalActionsProvider;->setGlobalActionsListener(Lcom/android/server/policy/GlobalActionsProvider$GlobalActionsListener;)V
-HPLcom/android/server/policy/GlobalActionsProvider;->showGlobalActions()V
-HPLcom/android/server/policy/PhoneWindowManager;->applyKeyguardPolicyLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
-HPLcom/android/server/policy/PhoneWindowManager;->applyPostLayoutPolicyLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
-HPLcom/android/server/policy/PhoneWindowManager;->applyStableConstraints(IILandroid/graphics/Rect;Lcom/android/server/wm/DisplayFrames;)V
-HPLcom/android/server/policy/PhoneWindowManager;->areTranslucentBarsAllowed()Z
-HPLcom/android/server/policy/PhoneWindowManager;->canBeHiddenByKeyguardLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
-HPLcom/android/server/policy/PhoneWindowManager;->canHideNavigationBar()Z
-HPLcom/android/server/policy/PhoneWindowManager;->drawsStatusBarBackground(ILcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
-HPLcom/android/server/policy/PhoneWindowManager;->getImpliedSysUiFlagsForLayout(Landroid/view/WindowManager$LayoutParams;)I
-HPLcom/android/server/policy/PhoneWindowManager;->getNavigationBarHeight(II)I
-HPLcom/android/server/policy/PhoneWindowManager;->inKeyguardRestrictedKeyInputMode()Z
-HPLcom/android/server/policy/PhoneWindowManager;->isImmersiveMode(I)Z
-HPLcom/android/server/policy/PhoneWindowManager;->isKeyguardLocked()Z
-HPLcom/android/server/policy/PhoneWindowManager;->isKeyguardShowingAndNotOccluded()Z
-HPLcom/android/server/policy/PhoneWindowManager;->isStatusBarKeyguard()Z
-HPLcom/android/server/policy/PhoneWindowManager;->keyguardOn()Z
-HPLcom/android/server/policy/PhoneWindowManager;->layoutWindowLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/wm/DisplayFrames;)V
-HPLcom/android/server/policy/PhoneWindowManager;->shouldBeHiddenByKeyguard(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
-HPLcom/android/server/policy/PhoneWindowManager;->shouldUseOutsets(Landroid/view/WindowManager$LayoutParams;I)Z
-HPLcom/android/server/policy/PhoneWindowManager;->updateLightStatusBarLw(ILcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)I
-HPLcom/android/server/policy/PhoneWindowManager;->updateSystemBarsLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;II)I
-HPLcom/android/server/policy/PhoneWindowManager;->userActivity()V
-HPLcom/android/server/policy/PolicyControl;->getSystemUiVisibility(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;)I
-HPLcom/android/server/policy/PolicyControl;->getWindowFlags(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;)I
-HPLcom/android/server/policy/SystemGesturesPointerEventListener$Callbacks;->onDebug()V
-HPLcom/android/server/policy/SystemGesturesPointerEventListener$Callbacks;->onDown()V
-HPLcom/android/server/policy/SystemGesturesPointerEventListener$Callbacks;->onFling(I)V
-HPLcom/android/server/policy/SystemGesturesPointerEventListener$Callbacks;->onMouseHoverAtBottom()V
-HPLcom/android/server/policy/SystemGesturesPointerEventListener$Callbacks;->onMouseHoverAtTop()V
-HPLcom/android/server/policy/SystemGesturesPointerEventListener$Callbacks;->onMouseLeaveFromEdge()V
-HPLcom/android/server/policy/SystemGesturesPointerEventListener$Callbacks;->onSwipeFromBottom()V
-HPLcom/android/server/policy/SystemGesturesPointerEventListener$Callbacks;->onSwipeFromLeft()V
-HPLcom/android/server/policy/SystemGesturesPointerEventListener$Callbacks;->onSwipeFromRight()V
-HPLcom/android/server/policy/SystemGesturesPointerEventListener$Callbacks;->onSwipeFromTop()V
-HPLcom/android/server/policy/SystemGesturesPointerEventListener$Callbacks;->onUpOrCancel()V
-HPLcom/android/server/policy/SystemGesturesPointerEventListener$FlingGestureDetector;->onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
-HPLcom/android/server/policy/SystemGesturesPointerEventListener;->detectSwipe(IJFF)I
-HPLcom/android/server/policy/SystemGesturesPointerEventListener;->detectSwipe(Landroid/view/MotionEvent;)I
-HPLcom/android/server/policy/SystemGesturesPointerEventListener;->findIndex(I)I
-HPLcom/android/server/policy/SystemGesturesPointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;)V
-HPLcom/android/server/policy/WakeGestureListener;->onWakeUp()V
-HPLcom/android/server/policy/WindowManagerPolicy$InputConsumer;->dismiss()V
-HPLcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;->onScreenOff()V
-HPLcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;->onScreenOn()V
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->canAcquireSleepToken()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->canAffectSystemUiFlags()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->computeFrameLw(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Lcom/android/server/wm/utils/WmDisplayCutout;Z)V
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getAppToken()Landroid/view/IApplicationToken;
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getAttrs()Landroid/view/WindowManager$LayoutParams;
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getBaseType()I
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getContentFrameLw()Landroid/graphics/Rect;
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getDisplayFrameLw()Landroid/graphics/Rect;
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getDisplayId()I
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getFrameLw()Landroid/graphics/Rect;
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getGivenContentInsetsLw()Landroid/graphics/Rect;
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getGivenInsetsPendingLw()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getGivenVisibleInsetsLw()Landroid/graphics/Rect;
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getNeedsMenuLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getOverscanFrameLw()Landroid/graphics/Rect;
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getOwningPackage()Ljava/lang/String;
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getOwningUid()I
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getRotationAnimationHint()I
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getSurfaceLayer()I
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getSystemUiVisibility()I
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getVisibleFrameLw()Landroid/graphics/Rect;
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->getWindowingMode()I
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->hasAppShownWindows()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->hasDrawnLw()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->hideLw(Z)Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->isAlive()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->isAnimatingLw()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->isDefaultDisplay()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->isDimming()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->isDisplayedLw()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->isDrawnLw()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->isGoneForLayoutLw()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->isInMultiWindowMode()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->isInputMethodTarget()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->isInputMethodWindow()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->isVisibleLw()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->isVoiceInteraction()Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->showLw(Z)Z
-HPLcom/android/server/policy/WindowManagerPolicy$WindowState;->writeIdentifierToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(I)I
-HPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(IZ)I
-HPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)I
-HPLcom/android/server/policy/WindowOrientationListener;->onProposedRotationChanged(I)V
-HPLcom/android/server/policy/WindowOrientationListener;->onTouchEnd()V
-HPLcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;->onDrawn()V
-HPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isInputRestricted()Z
-HPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isShowing()Z
-HPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isInputRestricted()Z
-HPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isShowing()Z
-HPLcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;->onShowingChanged()V
-HPLcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;->onTrustedChanged()V
-HPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isInputRestricted()Z
-HPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isShowing()Z
-HPLcom/android/server/power/Notifier$NotifierHandler;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/server/power/Notifier;->access$500(Lcom/android/server/power/Notifier;)V
-HPLcom/android/server/power/Notifier;->getBatteryStatsWakeLockMonitorType(I)I
-HPLcom/android/server/power/Notifier;->onUserActivity(II)V
-HPLcom/android/server/power/Notifier;->onWakeLockAcquired(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
-HPLcom/android/server/power/Notifier;->onWakeLockReleased(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
-HPLcom/android/server/power/Notifier;->sendUserActivity()V
-HPLcom/android/server/power/PowerManagerService$BinderService;->acquireWakeLock(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;)V
-HPLcom/android/server/power/PowerManagerService$BinderService;->isDeviceIdleMode()Z
-HPLcom/android/server/power/PowerManagerService$BinderService;->isInteractive()Z
-HPLcom/android/server/power/PowerManagerService$BinderService;->isLightDeviceIdleMode()Z
-HPLcom/android/server/power/PowerManagerService$BinderService;->isPowerSaveMode()Z
-HPLcom/android/server/power/PowerManagerService$BinderService;->releaseWakeLock(Landroid/os/IBinder;I)V
-HPLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;)V
-HPLcom/android/server/power/PowerManagerService$LocalService;->finishUidChanges()V
-HPLcom/android/server/power/PowerManagerService$LocalService;->startUidChanges()V
-HPLcom/android/server/power/PowerManagerService$LocalService;->updateUidProcState(II)V
-HPLcom/android/server/power/PowerManagerService$PowerManagerHandler;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/server/power/PowerManagerService$WakeLock;-><init>(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;IILcom/android/server/power/PowerManagerService$UidState;)V
-HPLcom/android/server/power/PowerManagerService$WakeLock;->hasSameProperties(ILjava/lang/String;Landroid/os/WorkSource;II)Z
-HPLcom/android/server/power/PowerManagerService$WakeLock;->hasSameWorkSource(Landroid/os/WorkSource;)Z
-HPLcom/android/server/power/PowerManagerService;->access$2600(Lcom/android/server/power/PowerManagerService;)V
-HPLcom/android/server/power/PowerManagerService;->access$2800(Landroid/os/WorkSource;)Landroid/os/WorkSource;
-HPLcom/android/server/power/PowerManagerService;->access$3000(Ljava/lang/String;)V
-HPLcom/android/server/power/PowerManagerService;->access$3300(Lcom/android/server/power/PowerManagerService;)Landroid/content/Context;
-HPLcom/android/server/power/PowerManagerService;->access$3400(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;II)V
-HPLcom/android/server/power/PowerManagerService;->access$3500(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;I)V
-HPLcom/android/server/power/PowerManagerService;->access$4300(Lcom/android/server/power/PowerManagerService;)Z
-HPLcom/android/server/power/PowerManagerService;->acquireWakeLockInternal(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;II)V
-HPLcom/android/server/power/PowerManagerService;->adjustWakeLockSummaryLocked(I)I
-HPLcom/android/server/power/PowerManagerService;->applyWakeLockFlagsOnAcquireLocked(Lcom/android/server/power/PowerManagerService$WakeLock;I)V
-HPLcom/android/server/power/PowerManagerService;->applyWakeLockFlagsOnReleaseLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
-HPLcom/android/server/power/PowerManagerService;->checkForLongWakeLocks()V
-HPLcom/android/server/power/PowerManagerService;->copyWorkSource(Landroid/os/WorkSource;)Landroid/os/WorkSource;
-HPLcom/android/server/power/PowerManagerService;->findWakeLockIndexLocked(Landroid/os/IBinder;)I
-HPLcom/android/server/power/PowerManagerService;->finishUidChangesInternal()V
-HPLcom/android/server/power/PowerManagerService;->finishWakefulnessChangeIfNeededLocked()V
-HPLcom/android/server/power/PowerManagerService;->getDesiredScreenPolicyLocked()I
-HPLcom/android/server/power/PowerManagerService;->getNextProfileTimeoutLocked(J)J
-HPLcom/android/server/power/PowerManagerService;->getScreenDimDurationLocked(J)J
-HPLcom/android/server/power/PowerManagerService;->getScreenOffTimeoutLocked(J)J
-HPLcom/android/server/power/PowerManagerService;->getSleepTimeoutLocked()J
-HPLcom/android/server/power/PowerManagerService;->getWakeLockSummaryFlags(Lcom/android/server/power/PowerManagerService$WakeLock;)I
-HPLcom/android/server/power/PowerManagerService;->handleSandman()V
-HPLcom/android/server/power/PowerManagerService;->isBeingKeptAwakeLocked()Z
-HPLcom/android/server/power/PowerManagerService;->isInteractiveInternal()Z
-HPLcom/android/server/power/PowerManagerService;->isItBedTimeYetLocked()Z
-HPLcom/android/server/power/PowerManagerService;->isMaximumScreenOffTimeoutFromDeviceAdminEnforcedLocked()Z
-HPLcom/android/server/power/PowerManagerService;->isValidBrightness(I)Z
-HPLcom/android/server/power/PowerManagerService;->maybeUpdateForegroundProfileLastActivityLocked(J)V
-HPLcom/android/server/power/PowerManagerService;->needDisplaySuspendBlockerLocked()Z
-HPLcom/android/server/power/PowerManagerService;->notifyWakeLockAcquiredLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
-HPLcom/android/server/power/PowerManagerService;->notifyWakeLockLongFinishedLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
-HPLcom/android/server/power/PowerManagerService;->notifyWakeLockReleasedLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
-HPLcom/android/server/power/PowerManagerService;->powerHintInternal(II)V
-HPLcom/android/server/power/PowerManagerService;->releaseWakeLockInternal(Landroid/os/IBinder;I)V
-HPLcom/android/server/power/PowerManagerService;->removeWakeLockLocked(Lcom/android/server/power/PowerManagerService$WakeLock;I)V
-HPLcom/android/server/power/PowerManagerService;->restartNofifyLongTimerLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
-HPLcom/android/server/power/PowerManagerService;->scheduleSandmanLocked()V
-HPLcom/android/server/power/PowerManagerService;->scheduleUserInactivityTimeout(J)V
-HPLcom/android/server/power/PowerManagerService;->setHalAutoSuspendModeLocked(Z)V
-HPLcom/android/server/power/PowerManagerService;->setHalInteractiveModeLocked(Z)V
-HPLcom/android/server/power/PowerManagerService;->setWakeLockDisabledStateLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)Z
-HPLcom/android/server/power/PowerManagerService;->shouldBoostScreenBrightness()Z
-HPLcom/android/server/power/PowerManagerService;->shouldUseProximitySensorLocked()Z
-HPLcom/android/server/power/PowerManagerService;->startUidChangesInternal()V
-HPLcom/android/server/power/PowerManagerService;->updateDisplayPowerStateLocked(I)Z
-HPLcom/android/server/power/PowerManagerService;->updateDreamLocked(IZ)V
-HPLcom/android/server/power/PowerManagerService;->updateIsPoweredLocked(I)V
-HPLcom/android/server/power/PowerManagerService;->updatePowerRequestFromBatterySaverPolicy(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;)V
-HPLcom/android/server/power/PowerManagerService;->updatePowerStateLocked()V
-HPLcom/android/server/power/PowerManagerService;->updateProfilesLocked(J)V
-HPLcom/android/server/power/PowerManagerService;->updateScreenBrightnessBoostLocked(I)V
-HPLcom/android/server/power/PowerManagerService;->updateStayOnLocked(I)V
-HPLcom/android/server/power/PowerManagerService;->updateSuspendBlockerLocked()V
-HPLcom/android/server/power/PowerManagerService;->updateUidProcStateInternal(II)V
-HPLcom/android/server/power/PowerManagerService;->updateUserActivitySummaryLocked(JI)V
-HPLcom/android/server/power/PowerManagerService;->updateWakeLockSummaryLocked(I)V
-HPLcom/android/server/power/PowerManagerService;->updateWakefulnessLocked(I)Z
-HPLcom/android/server/power/PowerManagerService;->userActivityFromNative(JII)V
-HPLcom/android/server/power/PowerManagerService;->userActivityNoUpdateLocked(JIII)Z
-HPLcom/android/server/print/RemotePrintService$PrintServiceCallbacks;->onCustomPrinterIconLoaded(Landroid/print/PrinterId;Landroid/graphics/drawable/Icon;)V
-HPLcom/android/server/print/RemotePrintService$PrintServiceCallbacks;->onPrintersAdded(Ljava/util/List;)V
-HPLcom/android/server/print/RemotePrintService$PrintServiceCallbacks;->onPrintersRemoved(Ljava/util/List;)V
-HPLcom/android/server/print/RemotePrintService$PrintServiceCallbacks;->onServiceDied(Lcom/android/server/print/RemotePrintService;)V
-HPLcom/android/server/print/RemotePrintServiceRecommendationService$RemotePrintServiceRecommendationServiceCallbacks;->onPrintServiceRecommendationsUpdated(Ljava/util/List;)V
-HPLcom/android/server/print/RemotePrintSpooler$PrintSpoolerCallbacks;->onAllPrintJobsForServiceHandled(Landroid/content/ComponentName;)V
-HPLcom/android/server/print/RemotePrintSpooler$PrintSpoolerCallbacks;->onPrintJobQueued(Landroid/print/PrintJobInfo;)V
-HPLcom/android/server/print/RemotePrintSpooler$PrintSpoolerCallbacks;->onPrintJobStateChanged(Landroid/print/PrintJobInfo;)V
-HPLcom/android/server/print/UserState$PrintJobStateChangeListenerRecord;->onBinderDied()V
-HPLcom/android/server/soundtrigger/SoundTriggerInternal;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HPLcom/android/server/soundtrigger/SoundTriggerInternal;->getModuleProperties()Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;
-HPLcom/android/server/soundtrigger/SoundTriggerInternal;->startRecognition(ILandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
-HPLcom/android/server/soundtrigger/SoundTriggerInternal;->stopRecognition(ILandroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
-HPLcom/android/server/soundtrigger/SoundTriggerInternal;->unloadKeyphraseModel(I)I
-HPLcom/android/server/stats/-$$Lambda$StatsCompanionService$HnKmFmrhuaLvGqFujHXRVkF_MsY;->onUidCpuPolicyTime(I[J)V
-HPLcom/android/server/stats/-$$Lambda$StatsCompanionService$huFrwWUJ-ABqZn7Xg215J22rAxY;->onUidCpuTime(IJJ)V
-HPLcom/android/server/stats/-$$Lambda$StatsCompanionService$jXfS7_WmvALP_3l6Dg3O1qMWGdk;->onUidCpuActiveTime(IJ)V
-HPLcom/android/server/stats/StatsCompanionService;->addNetworkStats(ILjava/util/List;Landroid/net/NetworkStats;Z)V
-HPLcom/android/server/stats/StatsCompanionService;->cancelAnomalyAlarm()V
-HPLcom/android/server/stats/StatsCompanionService;->enforceCallingPermission()V
-HPLcom/android/server/stats/StatsCompanionService;->lambda$pullKernelUidCpuActiveTime$3(JILjava/util/List;IJ)V
-HPLcom/android/server/stats/StatsCompanionService;->lambda$pullKernelUidCpuClusterTime$2(JILjava/util/List;I[J)V
-HPLcom/android/server/stats/StatsCompanionService;->lambda$pullKernelUidCpuTime$0(JILjava/util/List;IJJ)V
-HPLcom/android/server/stats/StatsCompanionService;->pullKernelWakelock(ILjava/util/List;)V
-HPLcom/android/server/stats/StatsCompanionService;->pullSystemElapsedRealtime(ILjava/util/List;)V
-HPLcom/android/server/stats/StatsCompanionService;->pullWifiBytesTransferByFgBg(ILjava/util/List;)V
-HPLcom/android/server/stats/StatsCompanionService;->rollupNetworkStatsByFGBG(Landroid/net/NetworkStats;)Landroid/net/NetworkStats;
-HPLcom/android/server/stats/StatsCompanionService;->setAnomalyAlarm(J)V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->appTransitionCancelled()V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->appTransitionFinished()V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->appTransitionPending()V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->appTransitionStarting(JJ)V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->cancelPreloadRecentApps()V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->dismissKeyboardShortcutsMenu()V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->hideRecentApps(ZZ)V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->onCameraLaunchGestureDetected(I)V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->onProposedRotationChanged(IZ)V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->preloadRecentApps()V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->setCurrentUser(I)V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->setNotificationDelegate(Lcom/android/server/notification/NotificationDelegate;)V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->setSystemUiVisibility(IIIILandroid/graphics/Rect;Landroid/graphics/Rect;Ljava/lang/String;)V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->setTopAppHidesStatusBar(Z)V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->setWindowState(II)V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->showAssistDisclosure()V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->showChargingAnimation(I)V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->showPictureInPictureMenu()V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->showRecentApps(Z)V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->showScreenPinningRequest(I)V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->showShutdownUi(ZLjava/lang/String;)Z
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->startAssist(Landroid/os/Bundle;)V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->toggleKeyboardShortcutsMenu(I)V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->toggleRecentApps()V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->toggleSplitScreen()V
-HPLcom/android/server/statusbar/StatusBarManagerInternal;->topAppWindowChanged(Z)V
-HPLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;->getFlags(I)I
-HPLcom/android/server/statusbar/StatusBarManagerService;->access$100(Lcom/android/server/statusbar/StatusBarManagerService;)Lcom/android/internal/statusbar/IStatusBar;
-HPLcom/android/server/statusbar/StatusBarManagerService;->enforceStatusBarService()V
-HPLcom/android/server/statusbar/StatusBarManagerService;->gatherDisableActionsLocked(II)I
-HPLcom/android/server/statusbar/StatusBarManagerService;->manageDisableListLocked(IILandroid/os/IBinder;Ljava/lang/String;I)V
-HPLcom/android/server/storage/AppFuseBridge$MountScope;->open()Landroid/os/ParcelFileDescriptor;
-HPLcom/android/server/storage/DeviceStorageMonitorInternal;->checkMemory()V
-HPLcom/android/server/storage/DeviceStorageMonitorInternal;->getMemoryLowThreshold()J
-HPLcom/android/server/storage/DeviceStorageMonitorInternal;->isMemoryLow()Z
-HPLcom/android/server/storage/DeviceStorageMonitorService;->isBootImageOnDisk()Z
-HPLcom/android/server/timezone/ConfigHelper;->getCheckTimeAllowedMillis()I
-HPLcom/android/server/timezone/ConfigHelper;->getDataAppPackageName()Ljava/lang/String;
-HPLcom/android/server/timezone/ConfigHelper;->getFailedCheckRetryCount()I
-HPLcom/android/server/timezone/ConfigHelper;->getUpdateAppPackageName()Ljava/lang/String;
-HPLcom/android/server/timezone/ConfigHelper;->isTrackingEnabled()Z
-HPLcom/android/server/timezone/PackageManagerHelper;->contentProviderRegistered(Ljava/lang/String;Ljava/lang/String;)Z
-HPLcom/android/server/timezone/PackageManagerHelper;->getInstalledPackageVersion(Ljava/lang/String;)J
-HPLcom/android/server/timezone/PackageManagerHelper;->isPrivilegedApp(Ljava/lang/String;)Z
-HPLcom/android/server/timezone/PackageManagerHelper;->receiverRegistered(Landroid/content/Intent;Ljava/lang/String;)Z
-HPLcom/android/server/timezone/PackageManagerHelper;->usesPermission(Ljava/lang/String;Ljava/lang/String;)Z
-HPLcom/android/server/timezone/PackageTrackerIntentHelper;->initialize(Ljava/lang/String;Ljava/lang/String;Lcom/android/server/timezone/PackageTracker;)V
-HPLcom/android/server/timezone/PackageTrackerIntentHelper;->scheduleReliabilityTrigger(J)V
-HPLcom/android/server/timezone/PackageTrackerIntentHelper;->sendTriggerUpdateCheck(Lcom/android/server/timezone/CheckToken;)V
-HPLcom/android/server/timezone/PackageTrackerIntentHelper;->unscheduleReliabilityTrigger()V
-HPLcom/android/server/timezone/PermissionHelper;->checkDumpPermission(Ljava/lang/String;Ljava/io/PrintWriter;)Z
-HPLcom/android/server/timezone/PermissionHelper;->enforceCallerHasPermission(Ljava/lang/String;)V
-HPLcom/android/server/timezone/RulesManagerIntentHelper;->sendTimeZoneOperationStaged()V
-HPLcom/android/server/timezone/RulesManagerIntentHelper;->sendTimeZoneOperationUnstaged()V
-HPLcom/android/server/trust/TrustManagerService$1;->isDeviceLocked(I)Z
-HPLcom/android/server/trust/TrustManagerService$1;->isDeviceSecure(I)Z
-HPLcom/android/server/trust/TrustManagerService;->resolveProfileParent(I)I
-HPLcom/android/server/twilight/TwilightManager;->getLastTwilightState()Lcom/android/server/twilight/TwilightState;
-HPLcom/android/server/twilight/TwilightManager;->registerListener(Lcom/android/server/twilight/TwilightListener;Landroid/os/Handler;)V
-HPLcom/android/server/twilight/TwilightManager;->unregisterListener(Lcom/android/server/twilight/TwilightListener;)V
-HPLcom/android/server/usage/AppIdleHistory;->getAppStandbyBucket(Ljava/lang/String;IJ)I
-HPLcom/android/server/usage/AppIdleHistory;->getAppUsageHistory(Ljava/lang/String;IJ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
-HPLcom/android/server/usage/AppIdleHistory;->getElapsedTime(J)J
-HPLcom/android/server/usage/AppIdleHistory;->getPackageHistory(Landroid/util/ArrayMap;Ljava/lang/String;JZ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
-HPLcom/android/server/usage/AppIdleHistory;->getScreenOnTime(J)J
-HPLcom/android/server/usage/AppIdleHistory;->getThresholdIndex(Ljava/lang/String;IJ[J[J)I
-HPLcom/android/server/usage/AppIdleHistory;->getUserHistory(I)Landroid/util/ArrayMap;
-HPLcom/android/server/usage/AppIdleHistory;->isIdle(Ljava/lang/String;IJ)Z
-HPLcom/android/server/usage/AppIdleHistory;->reportUsage(Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;Ljava/lang/String;IIJJ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
-HPLcom/android/server/usage/AppIdleHistory;->shouldInformListeners(Ljava/lang/String;IJI)Z
-HPLcom/android/server/usage/AppStandbyController$AppStandbyHandler;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/server/usage/AppStandbyController$Injector;->elapsedRealtime()J
-HPLcom/android/server/usage/AppStandbyController$Injector;->getActiveNetworkScorer()Ljava/lang/String;
-HPLcom/android/server/usage/AppStandbyController$Injector;->isBoundWidgetPackage(Landroid/appwidget/AppWidgetManager;Ljava/lang/String;I)Z
-HPLcom/android/server/usage/AppStandbyController$Injector;->isPackageEphemeral(ILjava/lang/String;)Z
-HPLcom/android/server/usage/AppStandbyController$Injector;->isPowerSaveWhitelistExceptIdleApp(Ljava/lang/String;)Z
-HPLcom/android/server/usage/AppStandbyController;->access$400(Lcom/android/server/usage/AppStandbyController;Ljava/lang/String;IIJ)V
-HPLcom/android/server/usage/AppStandbyController;->checkAndUpdateStandbyState(Ljava/lang/String;IIJ)V
-HPLcom/android/server/usage/AppStandbyController;->getAppId(Ljava/lang/String;)I
-HPLcom/android/server/usage/AppStandbyController;->getAppStandbyBucket(Ljava/lang/String;IJZ)I
-HPLcom/android/server/usage/AppStandbyController;->getBucketForLocked(Ljava/lang/String;IJ)I
-HPLcom/android/server/usage/AppStandbyController;->isActiveDeviceAdmin(Ljava/lang/String;I)Z
-HPLcom/android/server/usage/AppStandbyController;->isActiveNetworkScorer(Ljava/lang/String;)Z
-HPLcom/android/server/usage/AppStandbyController;->isAppIdleFiltered(Ljava/lang/String;IIJ)Z
-HPLcom/android/server/usage/AppStandbyController;->isAppIdleFilteredOrParoled(Ljava/lang/String;IJZ)Z
-HPLcom/android/server/usage/AppStandbyController;->isAppIdleUnfiltered(Ljava/lang/String;IJ)Z
-HPLcom/android/server/usage/AppStandbyController;->isAppSpecial(Ljava/lang/String;II)Z
-HPLcom/android/server/usage/AppStandbyController;->isCarrierApp(Ljava/lang/String;)Z
-HPLcom/android/server/usage/AppStandbyController;->isDeviceProvisioningPackage(Ljava/lang/String;)Z
-HPLcom/android/server/usage/AppStandbyController;->isParoledOrCharging()Z
-HPLcom/android/server/usage/AppStandbyController;->maybeInformListeners(Ljava/lang/String;IJIIZ)V
-HPLcom/android/server/usage/AppStandbyController;->predictionTimedOut(Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;J)Z
-HPLcom/android/server/usage/AppStandbyController;->reportEvent(Landroid/app/usage/UsageEvents$Event;JI)V
-HPLcom/android/server/usage/AppStandbyController;->usageEventToSubReason(I)I
-HPLcom/android/server/usage/AppTimeLimitController$OnLimitReachedListener;->onLimitReached(IIJJLandroid/app/PendingIntent;)V
-HPLcom/android/server/usage/IntervalStats;->buildEvent(Ljava/lang/String;Ljava/lang/String;)Landroid/app/usage/UsageEvents$Event;
-HPLcom/android/server/usage/IntervalStats;->getCachedStringRef(Ljava/lang/String;)Ljava/lang/String;
-HPLcom/android/server/usage/IntervalStats;->getOrCreateUsageStats(Ljava/lang/String;)Landroid/app/usage/UsageStats;
-HPLcom/android/server/usage/IntervalStats;->isStatefulEvent(I)Z
-HPLcom/android/server/usage/IntervalStats;->isUserVisibleEvent(I)Z
-HPLcom/android/server/usage/IntervalStats;->update(Ljava/lang/String;JI)V
-HPLcom/android/server/usage/StorageStatsService;->getAppIds(I)[I
-HPLcom/android/server/usage/StorageStatsService;->queryStatsForPackage(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
-HPLcom/android/server/usage/StorageStatsService;->queryStatsForUid(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
-HPLcom/android/server/usage/UnixCalendar;->getTimeInMillis()J
-HPLcom/android/server/usage/UsageStatsDatabase$CheckinAction;->checkin(Lcom/android/server/usage/IntervalStats;)Z
-HPLcom/android/server/usage/UsageStatsProto;->readStringPool(Landroid/util/proto/ProtoInputStream;)Ljava/util/List;
-HPLcom/android/server/usage/UsageStatsProto;->loadUsageStats(Landroid/util/proto/ProtoInputStream;Lcom/android/server/usage/IntervalStats;Ljava/util/List;)V
-HPLcom/android/server/usage/UsageStatsProto;->loadCountAndTime(Landroid/util/proto/ProtoInputStream;JLcom/android/server/usage/IntervalStats;$EventTracker)V
-HPLcom/android/server/usage/UsageStatsProto;->loadChooserCounts(Landroid/util/proto/ProtoInputStream;Landroid/app/usage/UsageStats;)V
-HPLcom/android/server/usage/UsageStatsProto;->loadCountsForAction(Landroid/util/proto/ProtoInputStream;Landroid/util/ArrayMap;)V
-HPLcom/android/server/usage/UsageStatsProto;->loadConfigStats(Landroid/util/proto/ProtoInputStream;JLcom/android/server/usage/IntervalStats;)V
-HPLcom/android/server/usage/UsageStatsProto;->loadEvent(Landroid/util/proto/ProtoInputStream;JLcom/android/server/usage/IntervalStats;Ljava/util/List;)V
-HPLcom/android/server/usage/UsageStatsProto;->writeStringPool(Landroid/util/proto/ProtoOutputStream;Lcom/android/server/usage/IntervalStats;)V
-HPLcom/android/server/usage/UsageStatsProto;->writeUsageStats(Landroid/util/proto/ProtoOutputStream;JLcom/android/server/usage/IntervalStats;Landroid/app/usage/UsageStats;)V
-HPLcom/android/server/usage/UsageStatsProto;->writeCountAndTime(Landroid/util/proto/ProtoOutputStream;JIJ)V
-HPLcom/android/server/usage/UsageStatsProto;->writeChooserCounts(Landroid/util/proto/ProtoOutputStream;Landroid/app/usage/UsageStats;)V
-HPLcom/android/server/usage/UsageStatsProto;->writeCountsForAction(Landroid/util/proto/ProtoOutputStream;Landroid/util/ArrayMap;)V
-HPLcom/android/server/usage/UsageStatsProto;->writeConfigStats(Landroid/util/proto/ProtoOutputStream;JLcom/android/server/usage/IntervalStats;Landroid/app/usage/ConfigurationStats;Z)V
-HPLcom/android/server/usage/UsageStatsProto;->writeEvent(Landroid/util/proto/ProtoOutputStream;JLcom/android/server/usage/IntervalStats;Landroid/app/usage/UsageEvents$Event;)V
-HPLcom/android/server/usage/UsageStatsProto;->read(Ljava/io/InputStream;Lcom/android/server/usage/IntervalStats;)V
-HPLcom/android/server/usage/UsageStatsProto;->write(Ljava/io/OutputStream;Lcom/android/server/usage/IntervalStats;)V
-HPLcom/android/server/usage/UsageStatsService$2;->onUidStateChanged(IIJ)V
-HPLcom/android/server/usage/UsageStatsService$BinderService;->hasPermission(Ljava/lang/String;)Z
-HPLcom/android/server/usage/UsageStatsService$BinderService;->isAppInactive(Ljava/lang/String;I)Z
-HPLcom/android/server/usage/UsageStatsService$BinderService;->queryEvents(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
-HPLcom/android/server/usage/UsageStatsService$H;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/server/usage/UsageStatsService$LocalService;->getAppStandbyBucket(Ljava/lang/String;IJ)I
-HPLcom/android/server/usage/UsageStatsService$LocalService;->isAppIdle(Ljava/lang/String;II)Z
-HPLcom/android/server/usage/UsageStatsService$LocalService;->reportEvent(Ljava/lang/String;II)V
-HPLcom/android/server/usage/UsageStatsService$LocalService;->reportInterruptiveNotification(Ljava/lang/String;Ljava/lang/String;I)V
-HPLcom/android/server/usage/UsageStatsService;->access$300(Lcom/android/server/usage/UsageStatsService;)Landroid/util/SparseIntArray;
-HPLcom/android/server/usage/UsageStatsService;->access$600(Lcom/android/server/usage/UsageStatsService;II)Z
-HPLcom/android/server/usage/UsageStatsService;->checkAndGetTimeLocked()J
-HPLcom/android/server/usage/UsageStatsService;->convertToSystemTimeLocked(Landroid/app/usage/UsageEvents$Event;)V
-HPLcom/android/server/usage/UsageStatsService;->getUserDataAndInitializeIfNeededLocked(IJ)Lcom/android/server/usage/UserUsageStatsService;
-HPLcom/android/server/usage/UsageStatsService;->reportEvent(Landroid/app/usage/UsageEvents$Event;I)V
-HPLcom/android/server/usage/UsageStatsService;->shouldObfuscateInstantAppsForCaller(II)Z
-HPLcom/android/server/usage/UsageStatsXmlV1;->loadEvent(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/usage/IntervalStats;)V
-HPLcom/android/server/usage/UsageStatsXmlV1;->loadUsageStats(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/usage/IntervalStats;)V
-HPLcom/android/server/usage/UsageStatsXmlV1;->read(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/usage/IntervalStats;)V
-HPLcom/android/server/usage/UsageStatsXmlV1;->write(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/usage/IntervalStats;)V
-HPLcom/android/server/usage/UsageStatsXmlV1;->writeChooserCounts(Lorg/xmlpull/v1/XmlSerializer;Landroid/app/usage/UsageStats;)V
-HPLcom/android/server/usage/UsageStatsXmlV1;->writeEvent(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/usage/IntervalStats;Landroid/app/usage/UsageEvents$Event;)V
-HPLcom/android/server/usage/UsageStatsXmlV1;->writeUsageStats(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/usage/IntervalStats;Landroid/app/usage/UsageStats;)V
-HPLcom/android/server/usage/UserUsageStatsService$4;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)V
-HPLcom/android/server/usage/UserUsageStatsService;->notifyStatsChanged()V
-HPLcom/android/server/usage/UserUsageStatsService;->reportEvent(Landroid/app/usage/UsageEvents$Event;)V
-HPLcom/android/server/usb/MtpNotificationManager$OnOpenInAppListener;->onOpenInApp(Landroid/hardware/usb/UsbDevice;)V
-HPLcom/android/server/utils/ManagedApplicationService$BinderChecker;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
-HPLcom/android/server/utils/ManagedApplicationService$BinderChecker;->checkType(Landroid/os/IInterface;)Z
-HPLcom/android/server/utils/ManagedApplicationService$EventCallback;->onServiceEvent(Lcom/android/server/utils/ManagedApplicationService$LogEvent;)V
-HPLcom/android/server/utils/ManagedApplicationService$PendingEvent;->runEvent(Landroid/os/IInterface;)V
-HPLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection$Callback;->onSessionHidden(Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;)V
-HPLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection$Callback;->onSessionShown(Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;)V
-HPLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection$Callback;->sessionConnectionGone(Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;)V
-HPLcom/android/server/vr/SettingsObserver$SettingChangeListener;->onSettingChanged()V
-HPLcom/android/server/vr/SettingsObserver$SettingChangeListener;->onSettingRestored(Ljava/lang/String;Ljava/lang/String;I)V
-HPLcom/android/server/vr/VrManagerInternal;->addPersistentVrModeStateListener(Landroid/service/vr/IPersistentVrStateCallbacks;)V
-HPLcom/android/server/vr/VrManagerInternal;->getVr2dDisplayId()I
-HPLcom/android/server/vr/VrManagerInternal;->hasVrPackage(Landroid/content/ComponentName;I)I
-HPLcom/android/server/vr/VrManagerInternal;->isCurrentVrListener(Ljava/lang/String;I)Z
-HPLcom/android/server/vr/VrManagerInternal;->onScreenStateChanged(Z)V
-HPLcom/android/server/vr/VrManagerInternal;->setPersistentVrModeEnabled(Z)V
-HPLcom/android/server/vr/VrManagerInternal;->setVr2dDisplayProperties(Landroid/app/Vr2dDisplayProperties;)V
-HPLcom/android/server/vr/VrManagerInternal;->setVrMode(ZLandroid/content/ComponentName;IILandroid/content/ComponentName;)V
-HPLcom/android/server/wallpaper/IWallpaperManagerService;->onBootPhase(I)V
-HPLcom/android/server/wallpaper/IWallpaperManagerService;->onUnlockUser(I)V
-HPLcom/android/server/webkit/SystemInterface;->enableFallbackLogic(Z)V
-HPLcom/android/server/webkit/SystemInterface;->enablePackageForAllUsers(Landroid/content/Context;Ljava/lang/String;Z)V
-HPLcom/android/server/webkit/SystemInterface;->enablePackageForUser(Ljava/lang/String;ZI)V
-HPLcom/android/server/webkit/SystemInterface;->getFactoryPackageVersion(Ljava/lang/String;)J
-HPLcom/android/server/webkit/SystemInterface;->getMultiProcessSetting(Landroid/content/Context;)I
-HPLcom/android/server/webkit/SystemInterface;->getPackageInfoForProvider(Landroid/webkit/WebViewProviderInfo;)Landroid/content/pm/PackageInfo;
-HPLcom/android/server/webkit/SystemInterface;->getPackageInfoForProviderAllUsers(Landroid/content/Context;Landroid/webkit/WebViewProviderInfo;)Ljava/util/List;
-HPLcom/android/server/webkit/SystemInterface;->getUserChosenWebViewProvider(Landroid/content/Context;)Ljava/lang/String;
-HPLcom/android/server/webkit/SystemInterface;->getWebViewPackages()[Landroid/webkit/WebViewProviderInfo;
-HPLcom/android/server/webkit/SystemInterface;->isFallbackLogicEnabled()Z
-HPLcom/android/server/webkit/SystemInterface;->isMultiProcessDefaultEnabled()Z
-HPLcom/android/server/webkit/SystemInterface;->killPackageDependents(Ljava/lang/String;)V
-HPLcom/android/server/webkit/SystemInterface;->notifyZygote(Z)V
-HPLcom/android/server/webkit/SystemInterface;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;)I
-HPLcom/android/server/webkit/SystemInterface;->setMultiProcessSetting(Landroid/content/Context;I)V
-HPLcom/android/server/webkit/SystemInterface;->systemIsDebuggable()Z
-HPLcom/android/server/webkit/SystemInterface;->uninstallAndDisablePackageForAllUsers(Landroid/content/Context;Ljava/lang/String;)V
-HPLcom/android/server/webkit/SystemInterface;->updateUserSetting(Landroid/content/Context;Ljava/lang/String;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayContent$0yxrqH9eGY2qTjH1u_BvaVrXCSA;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayContent$7uZtakUXzuXqF_Qht5Uq7LUvubI;->apply(Ljava/lang/Object;)Z
-HPLcom/android/server/wm/-$$Lambda$DisplayContent$7voe_dEKk2BYMriCvPuvaznb9WQ;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayContent$D0QJUvhaQkGgoMtOmjw5foY9F8M;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayContent$JibsaX4YnJd0ta_wiDDdSp-PjQk;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$FI_O7m2qEDfIRZef3D32AxG-rcs;->test(Ljava/lang/Object;)Z
-HPLcom/android/server/wm/-$$Lambda$DisplayContent$qT01Aq6xt_ZOs86A1yDQe-qmPFQ;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$DisplayContent$qxt4izS31fb0LF2uo_OF9DMa7gc;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$puhYAP5tF0mSSJva-eUz59HnrkA;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
-HPLcom/android/server/wm/-$$Lambda$WallpaperController$6pruPGLeSJAwNl9vGfC87eso21w;->apply(Ljava/lang/Object;)Z
-HPLcom/android/server/wm/AnimationAdapter;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
-HPLcom/android/server/wm/AnimationAdapter;->getBackgroundColor()I
-HPLcom/android/server/wm/AnimationAdapter;->getDetachWallpaper()Z
-HPLcom/android/server/wm/AnimationAdapter;->getDurationHint()J
-HPLcom/android/server/wm/AnimationAdapter;->getShowWallpaper()Z
-HPLcom/android/server/wm/AnimationAdapter;->getStatusBarTransitionsStartTime()J
-HPLcom/android/server/wm/AnimationAdapter;->onAnimationCancelled(Landroid/view/SurfaceControl;)V
-HPLcom/android/server/wm/AnimationAdapter;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
-HPLcom/android/server/wm/AnimationAdapter;->writeToProto(Landroid/util/proto/ProtoOutputStream;)V
-HPLcom/android/server/wm/AppTransition;->isRunning()Z
-HPLcom/android/server/wm/AppTransition;->isTransitionSet()Z
-HPLcom/android/server/wm/AppWindowToken;->asAppWindowToken()Lcom/android/server/wm/AppWindowToken;
-HPLcom/android/server/wm/AppWindowToken;->checkAppWindowsReadyToShow()V
-HPLcom/android/server/wm/AppWindowToken;->checkCompleteDeferredRemoval()Z
-HPLcom/android/server/wm/AppWindowToken;->containsDismissKeyguardWindow()Z
-HPLcom/android/server/wm/AppWindowToken;->containsShowWhenLockedWindow()Z
-HPLcom/android/server/wm/AppWindowToken;->findMainWindow()Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/AppWindowToken;->findMainWindow(Z)Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/AppWindowToken;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HPLcom/android/server/wm/AppWindowToken;->forAllWindowsUnchecked(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HPLcom/android/server/wm/AppWindowToken;->getTask()Lcom/android/server/wm/Task;
-HPLcom/android/server/wm/AppWindowToken;->isAppAnimating()Z
-HPLcom/android/server/wm/AppWindowToken;->isClientHidden()Z
-HPLcom/android/server/wm/AppWindowToken;->isLetterboxOverlappingWith(Landroid/graphics/Rect;)Z
-HPLcom/android/server/wm/AppWindowToken;->isReallyAnimating()Z
-HPLcom/android/server/wm/AppWindowToken;->isRelaunching()Z
-HPLcom/android/server/wm/AppWindowToken;->isSelfAnimating()Z
-HPLcom/android/server/wm/AppWindowToken;->isWaitingForTransitionStart()Z
-HPLcom/android/server/wm/AppWindowToken;->layoutLetterbox(Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/AppWindowToken;->needsZBoost()Z
-HPLcom/android/server/wm/AppWindowToken;->prepareSurfaces()V
-HPLcom/android/server/wm/AppWindowToken;->updateDrawnWindowStates(Lcom/android/server/wm/WindowState;)Z
-HPLcom/android/server/wm/AppWindowToken;->updateLetterboxSurface(Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/AppWindowToken;->windowsAreFocusable()Z
-HPLcom/android/server/wm/BoundsAnimationTarget;->onAnimationEnd(ZLandroid/graphics/Rect;Z)V
-HPLcom/android/server/wm/BoundsAnimationTarget;->onAnimationStart(ZZ)V
-HPLcom/android/server/wm/BoundsAnimationTarget;->setPinnedStackSize(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
-HPLcom/android/server/wm/BoundsAnimationTarget;->shouldDeferStartOnMoveToFullscreen()Z
-HPLcom/android/server/wm/ConfigurationContainer;->getActivityType()I
-HPLcom/android/server/wm/ConfigurationContainer;->getBounds()Landroid/graphics/Rect;
-HPLcom/android/server/wm/ConfigurationContainer;->getBounds(Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/ConfigurationContainer;->getConfiguration()Landroid/content/res/Configuration;
-HPLcom/android/server/wm/ConfigurationContainer;->getOverrideBounds()Landroid/graphics/Rect;
-HPLcom/android/server/wm/ConfigurationContainer;->getOverrideConfiguration()Landroid/content/res/Configuration;
-HPLcom/android/server/wm/ConfigurationContainer;->getWindowConfiguration()Landroid/app/WindowConfiguration;
-HPLcom/android/server/wm/ConfigurationContainer;->getWindowingMode()I
-HPLcom/android/server/wm/ConfigurationContainer;->inFreeformWindowingMode()Z
-HPLcom/android/server/wm/ConfigurationContainer;->inPinnedWindowingMode()Z
-HPLcom/android/server/wm/ConfigurationContainer;->inSplitScreenPrimaryWindowingMode()Z
-HPLcom/android/server/wm/ConfigurationContainer;->inSplitScreenWindowingMode()Z
-HPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeAssistant()Z
-HPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeHome()Z
-HPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeStandardOrUndefined()Z
-HPLcom/android/server/wm/ConfigurationContainer;->isAlwaysOnTop()Z
-HPLcom/android/server/wm/ConfigurationContainer;->isCompatible(II)Z
-HPLcom/android/server/wm/ConfigurationContainer;->matchParentBounds()Z
-HPLcom/android/server/wm/Dimmer$SurfaceAnimatorStarter;->startAnimation(Lcom/android/server/wm/SurfaceAnimator;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;Z)V
-HPLcom/android/server/wm/Dimmer;->resetDimStates()V
-HPLcom/android/server/wm/Dimmer;->updateDims(Landroid/view/SurfaceControl$Transaction;Landroid/graphics/Rect;)Z
-HPLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowContainer;)V
-HPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->getDimmer()Lcom/android/server/wm/Dimmer;
-HPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->lambda$new$1(Lcom/android/server/wm/WindowState;)Z
-HPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->prepareSurfaces()V
-HPLcom/android/server/wm/DisplayContent$TaskStackContainers;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
-HPLcom/android/server/wm/DisplayContent$TaskStackContainers;->assignStackOrdering(Landroid/view/SurfaceControl$Transaction;)V
-HPLcom/android/server/wm/DisplayContent$TaskStackContainers;->forAllExitingAppTokenWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HPLcom/android/server/wm/DisplayContent$TaskStackContainers;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HPLcom/android/server/wm/DisplayContent$TaskStackContainers;->getHomeStack()Lcom/android/server/wm/TaskStack;
-HPLcom/android/server/wm/DisplayContent$TaskStackContainers;->getSplitScreenPrimaryStack()Lcom/android/server/wm/TaskStack;
-HPLcom/android/server/wm/DisplayContent$TaskStackContainers;->getStack(II)Lcom/android/server/wm/TaskStack;
-HPLcom/android/server/wm/DisplayContent$TaskStackContainers;->removeExistingAppTokensIfPossible()V
-HPLcom/android/server/wm/DisplayContent$TaskStackContainers;->setExitingTokensHasVisible(Z)V
-HPLcom/android/server/wm/DisplayContent;->access$100(Lcom/android/server/wm/DisplayContent;)Lcom/android/server/wm/DisplayContent$TaskStackContainers;
-HPLcom/android/server/wm/DisplayContent;->adjustForImeIfNeeded()V
-HPLcom/android/server/wm/DisplayContent;->calculateBounds(Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/DisplayContent;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HPLcom/android/server/wm/DisplayContent;->getAppWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/AppWindowToken;
-HPLcom/android/server/wm/DisplayContent;->getBounds(Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/DisplayContent;->getDisplayId()I
-HPLcom/android/server/wm/DisplayContent;->getDisplayInfo()Landroid/view/DisplayInfo;
-HPLcom/android/server/wm/DisplayContent;->getDockedDividerController()Lcom/android/server/wm/DockedStackDividerController;
-HPLcom/android/server/wm/DisplayContent;->getHomeStack()Lcom/android/server/wm/TaskStack;
-HPLcom/android/server/wm/DisplayContent;->getSplitScreenPrimaryStack()Lcom/android/server/wm/TaskStack;
-HPLcom/android/server/wm/DisplayContent;->getSplitScreenPrimaryStackIgnoringVisibility()Lcom/android/server/wm/TaskStack;
-HPLcom/android/server/wm/DisplayContent;->getStack(II)Lcom/android/server/wm/TaskStack;
-HPLcom/android/server/wm/DisplayContent;->getTopStackInWindowingMode(I)Lcom/android/server/wm/TaskStack;
-HPLcom/android/server/wm/DisplayContent;->getWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken;
-HPLcom/android/server/wm/DisplayContent;->isLayoutNeeded()Z
-HPLcom/android/server/wm/DisplayContent;->isStackVisible(I)Z
-HPLcom/android/server/wm/DisplayContent;->lambda$new$0(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/DisplayContent;->lambda$new$1(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/DisplayContent;->lambda$new$3(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)Z
-HPLcom/android/server/wm/DisplayContent;->lambda$new$4(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/DisplayContent;->lambda$new$5(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/DisplayContent;->lambda$new$7(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/DisplayContent;->lambda$new$8(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/DisplayContent;->prepareSurfaces()V
-HPLcom/android/server/wm/DisplayContent;->resetAnimationBackgroundAnimator()V
-HPLcom/android/server/wm/DisplayContent;->skipTraverseChild(Lcom/android/server/wm/WindowContainer;)Z
-HPLcom/android/server/wm/DisplayContent;->updateOrientationFromAppTokens(Z)Z
-HPLcom/android/server/wm/DisplayContent;->updateTouchExcludeRegion()V
-HPLcom/android/server/wm/DockedStackDividerController;->isResizing()Z
-HPLcom/android/server/wm/DragDropController;->dragDropActiveLocked()Z
-HPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->accept(Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->accept(Ljava/lang/Object;)V
-HPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->access$100(Lcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;Z)V
-HPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->updateInputWindows(Z)V
-HPLcom/android/server/wm/InputMonitor;->access$1000(Lcom/android/server/wm/InputMonitor;)[Lcom/android/server/input/InputWindowHandle;
-HPLcom/android/server/wm/InputMonitor;->access$1100(Lcom/android/server/wm/InputMonitor;)Lcom/android/server/input/InputWindowHandle;
-HPLcom/android/server/wm/InputMonitor;->access$1200(Lcom/android/server/wm/InputMonitor;)V
-HPLcom/android/server/wm/InputMonitor;->access$1300(Lcom/android/server/wm/InputMonitor;)Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/InputMonitor;->access$200(Lcom/android/server/wm/InputMonitor;)Z
-HPLcom/android/server/wm/InputMonitor;->access$202(Lcom/android/server/wm/InputMonitor;Z)Z
-HPLcom/android/server/wm/InputMonitor;->access$302(Lcom/android/server/wm/InputMonitor;Z)Z
-HPLcom/android/server/wm/InputMonitor;->access$400(Lcom/android/server/wm/InputMonitor;)Z
-HPLcom/android/server/wm/InputMonitor;->access$402(Lcom/android/server/wm/InputMonitor;Z)Z
-HPLcom/android/server/wm/InputMonitor;->access$500(Lcom/android/server/wm/InputMonitor;)Z
-HPLcom/android/server/wm/InputMonitor;->access$502(Lcom/android/server/wm/InputMonitor;Z)Z
-HPLcom/android/server/wm/InputMonitor;->access$600(Lcom/android/server/wm/InputMonitor;)Landroid/graphics/Rect;
-HPLcom/android/server/wm/InputMonitor;->access$702(Lcom/android/server/wm/InputMonitor;Z)Z
-HPLcom/android/server/wm/InputMonitor;->access$800(Lcom/android/server/wm/InputMonitor;)Lcom/android/server/wm/WindowManagerService;
-HPLcom/android/server/wm/InputMonitor;->addInputWindowHandle(Lcom/android/server/input/InputWindowHandle;)V
-HPLcom/android/server/wm/InputMonitor;->addInputWindowHandle(Lcom/android/server/input/InputWindowHandle;Lcom/android/server/wm/WindowState;IIZZZ)V
-HPLcom/android/server/wm/InputMonitor;->clearInputWindowHandlesLw()V
-HPLcom/android/server/wm/InputMonitor;->getInputConsumer(Ljava/lang/String;I)Lcom/android/server/wm/InputConsumerImpl;
-HPLcom/android/server/wm/InputMonitor;->layoutInputConsumers(II)V
-HPLcom/android/server/wm/InputMonitor;->updateInputWindowsLw(Z)V
-HPLcom/android/server/wm/PointerEventDispatcher;->onInputEvent(Landroid/view/InputEvent;I)V
-HPLcom/android/server/wm/RootWindowContainer$MyHandler;->handleMessage(Landroid/os/Message;)V
-HPLcom/android/server/wm/RootWindowContainer;->applySurfaceChangesTransaction(ZII)V
-HPLcom/android/server/wm/RootWindowContainer;->getAppWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/AppWindowToken;
-HPLcom/android/server/wm/RootWindowContainer;->getDisplayContent(I)Lcom/android/server/wm/DisplayContent;
-HPLcom/android/server/wm/RootWindowContainer;->getStack(II)Lcom/android/server/wm/TaskStack;
-HPLcom/android/server/wm/RootWindowContainer;->handleNotObscuredLocked(Lcom/android/server/wm/WindowState;ZZ)Z
-HPLcom/android/server/wm/RootWindowContainer;->hasPendingLayoutChanges(Lcom/android/server/wm/WindowAnimator;)Z
-HPLcom/android/server/wm/RootWindowContainer;->isLayoutNeeded()Z
-HPLcom/android/server/wm/RootWindowContainer;->performSurfacePlacement(Z)V
-HPLcom/android/server/wm/RootWindowContainer;->scheduleAnimation()V
-HPLcom/android/server/wm/Session;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/server/wm/Session;->pokeDrawLock(Landroid/os/IBinder;)V
-HPLcom/android/server/wm/SurfaceAnimationRunner$AnimatorFactory;->makeAnimator()Landroid/animation/ValueAnimator;
-HPLcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;->access$000(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;)Z
-HPLcom/android/server/wm/SurfaceAnimationRunner;->applyTransformation(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/view/SurfaceControl$Transaction;J)V
-HPLcom/android/server/wm/SurfaceAnimationRunner;->lambda$startAnimationLocked$3(Lcom/android/server/wm/SurfaceAnimationRunner;Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;)V
-HPLcom/android/server/wm/SurfaceAnimationRunner;->scheduleApplyTransaction()V
-HPLcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;->onAnimationFinished(Lcom/android/server/wm/AnimationAdapter;)V
-HPLcom/android/server/wm/SurfaceAnimator;->getAnimation()Lcom/android/server/wm/AnimationAdapter;
-HPLcom/android/server/wm/SurfaceAnimator;->hasLeash()Z
-HPLcom/android/server/wm/SurfaceAnimator;->isAnimating()Z
-HPLcom/android/server/wm/SurfaceBuilderFactory;->make(Landroid/view/SurfaceSession;)Landroid/view/SurfaceControl$Builder;
-HPLcom/android/server/wm/Task;->canAffectSystemUiFlags()Z
-HPLcom/android/server/wm/Task;->cropWindowsToStackBounds()Z
-HPLcom/android/server/wm/Task;->getDimBounds(Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/Task;->getDimmer()Lcom/android/server/wm/Dimmer;
-HPLcom/android/server/wm/Task;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
-HPLcom/android/server/wm/Task;->getTopVisibleAppToken()Lcom/android/server/wm/AppWindowToken;
-HPLcom/android/server/wm/Task;->isFullscreen()Z
-HPLcom/android/server/wm/Task;->isResizeable()Z
-HPLcom/android/server/wm/Task;->isTaskAnimating()Z
-HPLcom/android/server/wm/Task;->prepareSurfaces()V
-HPLcom/android/server/wm/Task;->useCurrentBounds()Z
-HPLcom/android/server/wm/TaskPositioningController;->isPositioningLocked()Z
-HPLcom/android/server/wm/TaskSnapshotPersister$DirectoryResolver;->getSystemDirectoryForUser(I)Ljava/io/File;
-HPLcom/android/server/wm/TaskStack;->checkCompleteDeferredRemoval()Z
-HPLcom/android/server/wm/TaskStack;->fillsParent()Z
-HPLcom/android/server/wm/TaskStack;->getBounds()Landroid/graphics/Rect;
-HPLcom/android/server/wm/TaskStack;->getBounds(Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/TaskStack;->getDimBounds(Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/TaskStack;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
-HPLcom/android/server/wm/TaskStack;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;
-HPLcom/android/server/wm/TaskStack;->getStackOutset()I
-HPLcom/android/server/wm/TaskStack;->hideAnimationSurface()V
-HPLcom/android/server/wm/TaskStack;->isAdjustedForMinimizedDockedStack()Z
-HPLcom/android/server/wm/TaskStack;->isForceScaled()Z
-HPLcom/android/server/wm/TaskStack;->isTaskAnimating()Z
-HPLcom/android/server/wm/TaskStack;->prepareSurfaces()V
-HPLcom/android/server/wm/TaskStack;->resetAdjustedForIme(Z)V
-HPLcom/android/server/wm/TaskStack;->resetAnimationBackgroundAnimator()V
-HPLcom/android/server/wm/TaskStack;->setTouchExcludeRegion(Lcom/android/server/wm/Task;ILandroid/graphics/Region;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/TaskStack;->shouldIgnoreInput()Z
-HPLcom/android/server/wm/TaskStack;->useCurrentBounds()Z
-HPLcom/android/server/wm/TaskTapPointerEventListener;->getDisplayId()I
-HPLcom/android/server/wm/TaskTapPointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;)V
-HPLcom/android/server/wm/TaskTapPointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;I)V
-HPLcom/android/server/wm/TransactionFactory;->make()Landroid/view/SurfaceControl$Transaction;
-HPLcom/android/server/wm/WallpaperController;->hideWallpapers(Lcom/android/server/wm/WindowState;)V
-HPLcom/android/server/wm/WallpaperController;->isWallpaperTarget(Lcom/android/server/wm/WindowState;)Z
-HPLcom/android/server/wm/WallpaperController;->lambda$new$0(Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WindowState;)Z
-HPLcom/android/server/wm/WallpaperWindowToken;->hideWallpaperToken(ZLjava/lang/String;)V
-HPLcom/android/server/wm/WindowAnimationSpec;->apply(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;J)V
-HPLcom/android/server/wm/WindowAnimationSpec;->needsEarlyWakeup()Z
-HPLcom/android/server/wm/WindowAnimator;->animate(J)V
-HPLcom/android/server/wm/WindowAnimator;->executeAfterPrepareSurfacesRunnables()V
-HPLcom/android/server/wm/WindowAnimator;->getDisplayContentsAnimatorLocked(I)Lcom/android/server/wm/WindowAnimator$DisplayContentsAnimator;
-HPLcom/android/server/wm/WindowAnimator;->getScreenRotationAnimationLocked(I)Lcom/android/server/wm/ScreenRotationAnimation;
-HPLcom/android/server/wm/WindowAnimator;->scheduleAnimation()V
-HPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->apply(Lcom/android/server/wm/WindowState;)Z
-HPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->apply(Ljava/lang/Object;)Z
-HPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->release()V
-HPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->setConsumer(Ljava/util/function/Consumer;)V
-HPLcom/android/server/wm/WindowContainer;->access$100(Lcom/android/server/wm/WindowContainer;)Landroid/util/Pools$SynchronizedPool;
-HPLcom/android/server/wm/WindowContainer;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
-HPLcom/android/server/wm/WindowContainer;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V
-HPLcom/android/server/wm/WindowContainer;->checkAppWindowsReadyToShow()V
-HPLcom/android/server/wm/WindowContainer;->checkCompleteDeferredRemoval()Z
-HPLcom/android/server/wm/WindowContainer;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HPLcom/android/server/wm/WindowContainer;->forAllWindows(Ljava/util/function/Consumer;Z)V
-HPLcom/android/server/wm/WindowContainer;->getAnimation()Lcom/android/server/wm/AnimationAdapter;
-HPLcom/android/server/wm/WindowContainer;->getChildAt(I)Lcom/android/server/wm/WindowContainer;
-HPLcom/android/server/wm/WindowContainer;->getChildCount()I
-HPLcom/android/server/wm/WindowContainer;->getDimmer()Lcom/android/server/wm/Dimmer;
-HPLcom/android/server/wm/WindowContainer;->getParent()Lcom/android/server/wm/WindowContainer;
-HPLcom/android/server/wm/WindowContainer;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;
-HPLcom/android/server/wm/WindowContainer;->getPrefixOrderIndex(Lcom/android/server/wm/WindowContainer;)I
-HPLcom/android/server/wm/WindowContainer;->getSurfaceControl()Landroid/view/SurfaceControl;
-HPLcom/android/server/wm/WindowContainer;->getWindow(Ljava/util/function/Predicate;)Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/WindowContainer;->isAnimating()Z
-HPLcom/android/server/wm/WindowContainer;->isAppAnimating()Z
-HPLcom/android/server/wm/WindowContainer;->isSelfAnimating()Z
-HPLcom/android/server/wm/WindowContainer;->isSelfOrChildAnimating()Z
-HPLcom/android/server/wm/WindowContainer;->needsZBoost()Z
-HPLcom/android/server/wm/WindowContainer;->obtainConsumerWrapper(Ljava/util/function/Consumer;)Lcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;
-HPLcom/android/server/wm/WindowContainer;->onAppTransitionDone()V
-HPLcom/android/server/wm/WindowContainer;->prepareSurfaces()V
-HPLcom/android/server/wm/WindowContainer;->scheduleAnimation()V
-HPLcom/android/server/wm/WindowManagerInternal$OnHardKeyboardStatusChangeListener;->onHardKeyboardStatusChange(Z)V
-HPLcom/android/server/wm/WindowManagerInternal$WindowsForAccessibilityCallback;->onWindowsForAccessibilityChanged(Ljava/util/List;)V
-HPLcom/android/server/wm/WindowManagerInternal;->addWindowToken(Landroid/os/IBinder;II)V
-HPLcom/android/server/wm/WindowManagerInternal;->clearLastInputMethodWindowForTransition()V
-HPLcom/android/server/wm/WindowManagerInternal;->computeWindowsForAccessibility()V
-HPLcom/android/server/wm/WindowManagerInternal;->getCompatibleMagnificationSpecForWindow(Landroid/os/IBinder;)Landroid/view/MagnificationSpec;
-HPLcom/android/server/wm/WindowManagerInternal;->getFocusedWindowToken()Landroid/os/IBinder;
-HPLcom/android/server/wm/WindowManagerInternal;->getInputMethodWindowVisibleHeight()I
-HPLcom/android/server/wm/WindowManagerInternal;->getMagnificationRegion(Landroid/graphics/Region;)V
-HPLcom/android/server/wm/WindowManagerInternal;->getWindowFrame(Landroid/os/IBinder;Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/WindowManagerInternal;->getWindowOwnerUserId(Landroid/os/IBinder;)I
-HPLcom/android/server/wm/WindowManagerInternal;->isDockedDividerResizing()Z
-HPLcom/android/server/wm/WindowManagerInternal;->isHardKeyboardAvailable()Z
-HPLcom/android/server/wm/WindowManagerInternal;->isKeyguardLocked()Z
-HPLcom/android/server/wm/WindowManagerInternal;->isKeyguardShowingAndNotOccluded()Z
-HPLcom/android/server/wm/WindowManagerInternal;->isStackVisible(I)Z
-HPLcom/android/server/wm/WindowManagerInternal;->lockNow()V
-HPLcom/android/server/wm/WindowManagerInternal;->registerAppTransitionListener(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V
-HPLcom/android/server/wm/WindowManagerInternal;->registerDragDropControllerCallback(Lcom/android/server/wm/WindowManagerInternal$IDragDropCallback;)V
-HPLcom/android/server/wm/WindowManagerInternal;->removeWindowToken(Landroid/os/IBinder;ZI)V
-HPLcom/android/server/wm/WindowManagerInternal;->requestTraversalFromDisplayManager()V
-HPLcom/android/server/wm/WindowManagerInternal;->saveLastInputMethodWindowForTransition()V
-HPLcom/android/server/wm/WindowManagerInternal;->setForceShowMagnifiableBounds(Z)V
-HPLcom/android/server/wm/WindowManagerInternal;->setInputFilter(Landroid/view/IInputFilter;)V
-HPLcom/android/server/wm/WindowManagerInternal;->setMagnificationCallbacks(Lcom/android/server/wm/WindowManagerInternal$MagnificationCallbacks;)V
-HPLcom/android/server/wm/WindowManagerInternal;->setMagnificationSpec(Landroid/view/MagnificationSpec;)V
-HPLcom/android/server/wm/WindowManagerInternal;->setOnHardKeyboardStatusChangeListener(Lcom/android/server/wm/WindowManagerInternal$OnHardKeyboardStatusChangeListener;)V
-HPLcom/android/server/wm/WindowManagerInternal;->setVr2dDisplayId(I)V
-HPLcom/android/server/wm/WindowManagerInternal;->setWindowsForAccessibilityCallback(Lcom/android/server/wm/WindowManagerInternal$WindowsForAccessibilityCallback;)V
-HPLcom/android/server/wm/WindowManagerInternal;->showGlobalActions()V
-HPLcom/android/server/wm/WindowManagerInternal;->updateInputMethodWindowStatus(Landroid/os/IBinder;ZZLandroid/os/IBinder;)V
-HPLcom/android/server/wm/WindowManagerInternal;->waitForAllWindowsDrawn(Ljava/lang/Runnable;J)V
-HPLcom/android/server/wm/WindowManagerService$AppFreezeListener;->onAppFreezeTimeout()V
-HPLcom/android/server/wm/WindowManagerService$LocalService;->isStackVisible(I)Z
-HPLcom/android/server/wm/WindowManagerService$MousePositionTracker;->onPointerEvent(Landroid/view/MotionEvent;)V
-HPLcom/android/server/wm/WindowManagerService;->boostPriorityForLockedSection()V
-HPLcom/android/server/wm/WindowManagerService;->checkCallingPermission(Ljava/lang/String;Ljava/lang/String;)Z
-HPLcom/android/server/wm/WindowManagerService;->closeSurfaceTransaction(Ljava/lang/String;)V
-HPLcom/android/server/wm/WindowManagerService;->containsDismissKeyguardWindow(Landroid/os/IBinder;)Z
-HPLcom/android/server/wm/WindowManagerService;->containsShowWhenLockedWindow(Landroid/os/IBinder;)Z
-HPLcom/android/server/wm/WindowManagerService;->finishDrawingWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;)V
-HPLcom/android/server/wm/WindowManagerService;->getDefaultDisplayContentLocked()Lcom/android/server/wm/DisplayContent;
-HPLcom/android/server/wm/WindowManagerService;->getInputMethodWindowLw()Lcom/android/server/policy/WindowManagerPolicy$WindowState;
-HPLcom/android/server/wm/WindowManagerService;->getRecentsAnimationController()Lcom/android/server/wm/RecentsAnimationController;
-HPLcom/android/server/wm/WindowManagerService;->getStackBounds(IILandroid/graphics/Rect;)V
-HPLcom/android/server/wm/WindowManagerService;->isCurrentProfileLocked(I)Z
-HPLcom/android/server/wm/WindowManagerService;->isKeyguardLocked()Z
-HPLcom/android/server/wm/WindowManagerService;->markForSeamlessRotation(Lcom/android/server/wm/WindowState;Z)V
-HPLcom/android/server/wm/WindowManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-HPLcom/android/server/wm/WindowManagerService;->openSurfaceTransaction()V
-HPLcom/android/server/wm/WindowManagerService;->pokeDrawLock(Lcom/android/server/wm/Session;Landroid/os/IBinder;)V
-HPLcom/android/server/wm/WindowManagerService;->relayoutWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/Surface;)I
-HPLcom/android/server/wm/WindowManagerService;->resetPriorityAfterLockedSection()V
-HPLcom/android/server/wm/WindowManagerService;->scheduleAnimationLocked()V
-HPLcom/android/server/wm/WindowManagerService;->traceStateLocked(Ljava/lang/String;)V
-HPLcom/android/server/wm/WindowManagerService;->windowForClientLocked(Lcom/android/server/wm/Session;Landroid/os/IBinder;Z)Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->boost()V
-HPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->reset()V
-HPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->updatePriorityLocked()V
-HPLcom/android/server/wm/WindowState$PowerManagerWrapper;->isInteractive()Z
-HPLcom/android/server/wm/WindowState$PowerManagerWrapper;->wakeUp(JLjava/lang/String;)V
-HPLcom/android/server/wm/WindowState;->applyDims(Lcom/android/server/wm/Dimmer;)V
-HPLcom/android/server/wm/WindowState;->applyGravityAndUpdateFrame(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/WindowState;->applyImeWindowsIfNeeded(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HPLcom/android/server/wm/WindowState;->applyInOrderWithImeWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HPLcom/android/server/wm/WindowState;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
-HPLcom/android/server/wm/WindowState;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V
-HPLcom/android/server/wm/WindowState;->calculatePolicyCrop(Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/WindowState;->calculateSystemDecorRect(Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/WindowState;->canAddInternalSystemWindow()Z
-HPLcom/android/server/wm/WindowState;->canAffectSystemUiFlags()Z
-HPLcom/android/server/wm/WindowState;->canReceiveKeys()Z
-HPLcom/android/server/wm/WindowState;->canReceiveTouchInput()Z
-HPLcom/android/server/wm/WindowState;->computeDragResizing()Z
-HPLcom/android/server/wm/WindowState;->computeFrameLw(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Lcom/android/server/wm/utils/WmDisplayCutout;Z)V
-HPLcom/android/server/wm/WindowState;->cropRegionToStackBoundsIfNeeded(Landroid/graphics/Region;)V
-HPLcom/android/server/wm/WindowState;->expandForSurfaceInsets(Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/WindowState;->fillsDisplay()Z
-HPLcom/android/server/wm/WindowState;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-HPLcom/android/server/wm/WindowState;->getAppToken()Landroid/view/IApplicationToken;
-HPLcom/android/server/wm/WindowState;->getAttrs()Landroid/view/WindowManager$LayoutParams;
-HPLcom/android/server/wm/WindowState;->getBaseType()I
-HPLcom/android/server/wm/WindowState;->getConfiguration()Landroid/content/res/Configuration;
-HPLcom/android/server/wm/WindowState;->getContentFrameLw()Landroid/graphics/Rect;
-HPLcom/android/server/wm/WindowState;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
-HPLcom/android/server/wm/WindowState;->getDisplayId()I
-HPLcom/android/server/wm/WindowState;->getDisplayInfo()Landroid/view/DisplayInfo;
-HPLcom/android/server/wm/WindowState;->getInputDispatchingTimeoutNanos()J
-HPLcom/android/server/wm/WindowState;->getLastReportedConfiguration()Landroid/content/res/Configuration;
-HPLcom/android/server/wm/WindowState;->getOrientationChanging()Z
-HPLcom/android/server/wm/WindowState;->getParentWindow()Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/WindowState;->getStack()Lcom/android/server/wm/TaskStack;
-HPLcom/android/server/wm/WindowState;->getSurfaceLayer()I
-HPLcom/android/server/wm/WindowState;->getSystemUiVisibility()I
-HPLcom/android/server/wm/WindowState;->getTask()Lcom/android/server/wm/Task;
-HPLcom/android/server/wm/WindowState;->getTopParentWindow()Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/WindowState;->getTouchableRegion(Landroid/graphics/Region;)V
-HPLcom/android/server/wm/WindowState;->getTouchableRegion(Landroid/graphics/Region;I)I
-HPLcom/android/server/wm/WindowState;->getWindow(Ljava/util/function/Predicate;)Lcom/android/server/wm/WindowState;
-HPLcom/android/server/wm/WindowState;->getWindowTag()Ljava/lang/CharSequence;
-HPLcom/android/server/wm/WindowState;->handleWindowMovedIfNeeded()V
-HPLcom/android/server/wm/WindowState;->hasMoved()Z
-HPLcom/android/server/wm/WindowState;->hideLw(Z)Z
-HPLcom/android/server/wm/WindowState;->hideLw(ZZ)Z
-HPLcom/android/server/wm/WindowState;->inFullscreenContainer()Z
-HPLcom/android/server/wm/WindowState;->isAnimatingLw()Z
-HPLcom/android/server/wm/WindowState;->isChildWindow()Z
-HPLcom/android/server/wm/WindowState;->isConfigChanged()Z
-HPLcom/android/server/wm/WindowState;->isDefaultDisplay()Z
-HPLcom/android/server/wm/WindowState;->isDimming()Z
-HPLcom/android/server/wm/WindowState;->isDisplayedLw()Z
-HPLcom/android/server/wm/WindowState;->isDockedResizing()Z
-HPLcom/android/server/wm/WindowState;->isDragResizeChanged()Z
-HPLcom/android/server/wm/WindowState;->isDragResizing()Z
-HPLcom/android/server/wm/WindowState;->isDrawnLw()Z
-HPLcom/android/server/wm/WindowState;->isGoneForLayoutLw()Z
-HPLcom/android/server/wm/WindowState;->isHiddenFromUserLocked()Z
-HPLcom/android/server/wm/WindowState;->isInMultiWindowMode()Z
-HPLcom/android/server/wm/WindowState;->isInputMethodTarget()Z
-HPLcom/android/server/wm/WindowState;->isInputMethodWindow()Z
-HPLcom/android/server/wm/WindowState;->isLaidOut()Z
-HPLcom/android/server/wm/WindowState;->isLetterboxedAppWindow()Z
-HPLcom/android/server/wm/WindowState;->isLetterboxedForDisplayCutoutLw()Z
-HPLcom/android/server/wm/WindowState;->isLetterboxedOverlappingWith(Landroid/graphics/Rect;)Z
-HPLcom/android/server/wm/WindowState;->isObscuringDisplay()Z
-HPLcom/android/server/wm/WindowState;->isOnScreen()Z
-HPLcom/android/server/wm/WindowState;->isOpaqueDrawn()Z
-HPLcom/android/server/wm/WindowState;->isParentWindowHidden()Z
-HPLcom/android/server/wm/WindowState;->isVisible()Z
-HPLcom/android/server/wm/WindowState;->isVisibleLw()Z
-HPLcom/android/server/wm/WindowState;->isVisibleOrAdding()Z
-HPLcom/android/server/wm/WindowState;->needsRelativeLayeringToIme()Z
-HPLcom/android/server/wm/WindowState;->needsZBoost()Z
-HPLcom/android/server/wm/WindowState;->pokeDrawLockLw(J)V
-HPLcom/android/server/wm/WindowState;->prelayout()V
-HPLcom/android/server/wm/WindowState;->prepareSurfaces()V
-HPLcom/android/server/wm/WindowState;->setDrawnStateEvaluated(Z)V
-HPLcom/android/server/wm/WindowState;->setReportResizeHints()Z
-HPLcom/android/server/wm/WindowState;->showLw(Z)Z
-HPLcom/android/server/wm/WindowState;->showLw(ZZ)Z
-HPLcom/android/server/wm/WindowState;->skipDecorCrop()Z
-HPLcom/android/server/wm/WindowState;->toString()Ljava/lang/String;
-HPLcom/android/server/wm/WindowState;->transformClipRectFromScreenToSurfaceSpace(Landroid/graphics/Rect;)V
-HPLcom/android/server/wm/WindowState;->transformFrameToSurfacePosition(IILandroid/graphics/Point;)V
-HPLcom/android/server/wm/WindowState;->updateResizingWindowIfNeeded()V
-HPLcom/android/server/wm/WindowState;->updateSurfacePosition()V
-HPLcom/android/server/wm/WindowState;->updateSurfacePosition(Landroid/view/SurfaceControl$Transaction;)V
-HPLcom/android/server/wm/WindowState;->wouldBeVisibleIfPolicyIgnored()Z
-HPLcom/android/server/wm/WindowStateAnimator;->applyCrop(Landroid/graphics/Rect;Z)V
-HPLcom/android/server/wm/WindowStateAnimator;->calculateCrop(Landroid/graphics/Rect;)Z
-HPLcom/android/server/wm/WindowStateAnimator;->calculateSurfaceBounds(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)V
-HPLcom/android/server/wm/WindowStateAnimator;->commitFinishDrawingLocked()Z
-HPLcom/android/server/wm/WindowStateAnimator;->computeShownFrameLocked()V
-HPLcom/android/server/wm/WindowStateAnimator;->getShown()Z
-HPLcom/android/server/wm/WindowStateAnimator;->hasSurface()Z
-HPLcom/android/server/wm/WindowStateAnimator;->hide(Landroid/view/SurfaceControl$Transaction;Ljava/lang/String;)V
-HPLcom/android/server/wm/WindowStateAnimator;->hide(Ljava/lang/String;)V
-HPLcom/android/server/wm/WindowStateAnimator;->isAnimationSet()Z
-HPLcom/android/server/wm/WindowStateAnimator;->isForceScaled()Z
-HPLcom/android/server/wm/WindowStateAnimator;->prepareSurfaceLocked(Z)V
-HPLcom/android/server/wm/WindowStateAnimator;->setSurfaceBoundariesLocked(Z)V
-HPLcom/android/server/wm/WindowSurfaceController;->clearCropInTransaction(Z)V
-HPLcom/android/server/wm/WindowSurfaceController;->getHeight()I
-HPLcom/android/server/wm/WindowSurfaceController;->getShown()Z
-HPLcom/android/server/wm/WindowSurfaceController;->getWidth()I
-HPLcom/android/server/wm/WindowSurfaceController;->hasSurface()Z
-HPLcom/android/server/wm/WindowSurfaceController;->setMatrix(Landroid/view/SurfaceControl$Transaction;FFFFZ)V
-HPLcom/android/server/wm/WindowSurfaceController;->setMatrixInTransaction(FFFFZ)V
-HPLcom/android/server/wm/WindowSurfaceController;->setPosition(Landroid/view/SurfaceControl$Transaction;FFZ)V
-HPLcom/android/server/wm/WindowSurfaceController;->setPositionInTransaction(FFZ)V
-HPLcom/android/server/wm/WindowToken;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
-HPLcom/android/server/wm/WindowToken;->isHidden()Z
-HPLcom/android/server/wm/WindowTracing;->isEnabled()Z
-HPLcom/android/server/wm/WindowTracing;->traceStateLocked(Ljava/lang/String;Lcom/android/server/wm/WindowManagerService;)V
-HPLcom/android/server/wm/utils/RotationCache$RotationDependentComputation;->compute(Ljava/lang/Object;I)Ljava/lang/Object;
-HPLcom/android/server/wm/utils/WmDisplayCutout;->calculateRelativeTo(Landroid/graphics/Rect;)Lcom/android/server/wm/utils/WmDisplayCutout;
-HPLcom/android/server/wm/utils/WmDisplayCutout;->equals(Ljava/lang/Object;)Z
-HPLcom/android/server/wm/utils/WmDisplayCutout;->getDisplayCutout()Landroid/view/DisplayCutout;
-HSLcom/android/server/location/LocationProviderInterface;->disable()V
-HSLcom/android/server/location/LocationProviderInterface;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSLcom/android/server/location/LocationProviderInterface;->enable()V
-HSLcom/android/server/location/LocationProviderInterface;->getName()Ljava/lang/String;
-HSLcom/android/server/location/LocationProviderInterface;->getProperties()Lcom/android/internal/location/ProviderProperties;
-HSLcom/android/server/location/LocationProviderInterface;->getStatus(Landroid/os/Bundle;)I
-HSLcom/android/server/location/LocationProviderInterface;->getStatusUpdateTime()J
-HSLcom/android/server/location/LocationProviderInterface;->isEnabled()Z
-HSLcom/android/server/location/LocationProviderInterface;->sendExtraCommand(Ljava/lang/String;Landroid/os/Bundle;)Z
-HSLcom/android/server/location/LocationProviderInterface;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
-HSPLcom/android/server/AnyMotionDetector$DeviceIdleCallback;->onAnyMotionResult(I)V
-HSPLcom/android/server/AppOpsService$Op;-><init>(Lcom/android/server/AppOpsService$UidState;Ljava/lang/String;I)V
-HSPLcom/android/server/AppOpsService$UidState;->evalForegroundOps(Landroid/util/SparseArray;)V
-HSPLcom/android/server/AppOpsService;->getUidStateLocked(IZ)Lcom/android/server/AppOpsService$UidState;
-HSPLcom/android/server/AppOpsService;->readPackage(Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/AppOpsService;->readUid(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)V
+HSPLcom/android/server/-$$Lambda$AlarmManagerService$ZVedZIeWdB3G6AGM0_-9P_GEO24;->test(Ljava/lang/Object;)Z
+HSPLcom/android/server/AlarmManagerService$Alarm;->matches(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)Z
+HSPLcom/android/server/AlarmManagerService$AppStandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+HSPLcom/android/server/AlarmManagerService$Batch;->remove(Ljava/util/function/Predicate;)Z
+HSPLcom/android/server/AlarmManagerService$BatchTimeOrder;->compare(Lcom/android/server/AlarmManagerService$Batch;Lcom/android/server/AlarmManagerService$Batch;)I
+HSPLcom/android/server/AlarmManagerService$BatchTimeOrder;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLcom/android/server/AlarmManagerService;->attemptCoalesceLocked(JJ)I
+HSPLcom/android/server/AlarmManagerService;->rebatchAllAlarmsLocked(Z)V
+HSPLcom/android/server/AlarmManagerService;->removeLocked(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
+HSPLcom/android/server/AppStateTracker$StandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+HSPLcom/android/server/AppStateTracker;->isUidActive(I)Z
+HSPLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->getCallingUid()I
+HSPLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->resolveWorkSourceUid(I)I
+HSPLcom/android/server/ConnectivityService$5;->onUidRulesChanged(II)V
+HSPLcom/android/server/ConnectivityService$InternalHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/ConnectivityService;->getNetworkAgentInfoForNetwork(Landroid/net/Network;)Lcom/android/server/connectivity/NetworkAgentInfo;
+HSPLcom/android/server/ConnectivityService;->getNetworkInfoForUid(Landroid/net/Network;IZ)Landroid/net/NetworkInfo;
+HSPLcom/android/server/ConnectivityService;->handleUidRulesChanged(II)V
+HSPLcom/android/server/DeviceIdleController$BinderService;->isPowerSaveWhitelistExceptIdleApp(Ljava/lang/String;)Z
+HSPLcom/android/server/DeviceIdleController;->isPowerSaveWhitelistExceptIdleAppInternal(Ljava/lang/String;)Z
+HSPLcom/android/server/DropBoxManagerService$EntryFile;-><init>(Ljava/io/File;I)V
+HSPLcom/android/server/DropBoxManagerService$EntryFile;->compareTo(Lcom/android/server/DropBoxManagerService$EntryFile;)I
+HSPLcom/android/server/DropBoxManagerService$EntryFile;->compareTo(Ljava/lang/Object;)I
+HSPLcom/android/server/DropBoxManagerService$FileList;->compareTo(Lcom/android/server/DropBoxManagerService$FileList;)I
+HSPLcom/android/server/DropBoxManagerService$FileList;->compareTo(Ljava/lang/Object;)I
+HSPLcom/android/server/DropBoxManagerService;->enrollEntry(Lcom/android/server/DropBoxManagerService$EntryFile;)V
+HSPLcom/android/server/DropBoxManagerService;->init()V
 HSPLcom/android/server/IntentResolver;->addFilter(Landroid/content/IntentFilter;)V
 HSPLcom/android/server/IntentResolver;->addFilter(Landroid/util/ArrayMap;Ljava/lang/String;Landroid/content/IntentFilter;)V
-HSPLcom/android/server/IntentResolver;->register_intent_filter(Landroid/content/IntentFilter;Ljava/util/Iterator;Landroid/util/ArrayMap;Ljava/lang/String;)I
+HSPLcom/android/server/IntentResolver;->buildResolveList(Landroid/content/Intent;Landroid/util/FastImmutableArraySet;ZZLjava/lang/String;Ljava/lang/String;[Landroid/content/IntentFilter;Ljava/util/List;I)V
+HSPLcom/android/server/IntentResolver;->collectFilters([Landroid/content/IntentFilter;Landroid/content/IntentFilter;)Ljava/util/ArrayList;
+HSPLcom/android/server/IntentResolver;->filterEquals(Landroid/content/IntentFilter;Landroid/content/IntentFilter;)Z
+HSPLcom/android/server/IntentResolver;->filterResults(Ljava/util/List;)V
+HSPLcom/android/server/IntentResolver;->findFilters(Landroid/content/IntentFilter;)Ljava/util/ArrayList;
+HSPLcom/android/server/IntentResolver;->queryIntent(Landroid/content/Intent;Ljava/lang/String;ZI)Ljava/util/List;
+HSPLcom/android/server/IntentResolver;->queryIntentFromList(Landroid/content/Intent;Ljava/lang/String;ZLjava/util/ArrayList;I)Ljava/util/List;
 HSPLcom/android/server/IntentResolver;->register_mime_types(Landroid/content/IntentFilter;Ljava/lang/String;)I
-HSPLcom/android/server/IntentResolver;->removeFilter(Landroid/content/IntentFilter;)V
-HSPLcom/android/server/IntentResolver;->removeFilterInternal(Landroid/content/IntentFilter;)V
-HSPLcom/android/server/IntentResolver;->remove_all_objects(Landroid/util/ArrayMap;Ljava/lang/String;Ljava/lang/Object;)V
-HSPLcom/android/server/IntentResolver;->unregister_intent_filter(Landroid/content/IntentFilter;Ljava/util/Iterator;Landroid/util/ArrayMap;Ljava/lang/String;)I
-HSPLcom/android/server/IntentResolver;->unregister_mime_types(Landroid/content/IntentFilter;Ljava/lang/String;)I
-HSPLcom/android/server/SystemService;->getContext()Landroid/content/Context;
+HSPLcom/android/server/LockGuard;->guard(I)V
+HSPLcom/android/server/NetworkManagementService$LocalService;->isNetworkRestrictedForUid(I)Z
+HSPLcom/android/server/NetworkManagementService;->getFirewallChainState(I)Z
+HSPLcom/android/server/NetworkManagementService;->getUidFirewallRulesLR(I)Landroid/util/SparseIntArray;
+HSPLcom/android/server/NetworkManagementService;->isNetworkRestrictedInternal(I)Z
+HSPLcom/android/server/NetworkManagementService;->setFirewallUidRules(I[I[I)V
+HSPLcom/android/server/NetworkManagementService;->updateFirewallUidRuleLocked(III)Z
+HSPLcom/android/server/NetworkScoreService;->getActiveScorerPackage()Ljava/lang/String;
+HSPLcom/android/server/PersistentDataBlockService;->computeDigestLocked([B)[B
+HSPLcom/android/server/PinnerService$PinRangeSourceStream;->read(Lcom/android/server/PinnerService$PinRange;)Z
+HSPLcom/android/server/PinnerService;->pinFileRanges(Ljava/lang/String;ILcom/android/server/PinnerService$PinRangeSource;)Lcom/android/server/PinnerService$PinnedFile;
+HSPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->prepareSandboxForApp(Ljava/lang/String;ILjava/lang/String;I)V
+HSPLcom/android/server/StorageManagerService;->isUserKeyUnlocked(I)Z
 HSPLcom/android/server/SystemServiceManager;->startBootPhase(I)V
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;->ensureWindowsAvailableTimed()V
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;->getCompatibleMagnificationSpecLocked(I)Landroid/view/MagnificationSpec;
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;->getConnectionLocked(I)Lcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;->getCurrentUserIdLocked()I
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;->getFingerprintGestureDispatcher()Lcom/android/server/accessibility/FingerprintGestureDispatcher;
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;->getKeyEventDispatcher()Lcom/android/server/accessibility/KeyEventDispatcher;
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;->getMagnificationController()Lcom/android/server/accessibility/MagnificationController;
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;->getMotionEventInjectorLocked()Lcom/android/server/accessibility/MotionEventInjector;
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;->getPendingIntentActivity(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;->isAccessibilityButtonShown()Z
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;->onClientChange(Z)V
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;->performAccessibilityAction(IJILandroid/os/Bundle;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IJ)Z
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;->persistComponentNamesToSettingLocked(Ljava/lang/String;Ljava/util/Set;I)V
-HSPLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;->replaceCallbackIfNeeded(Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIIJ)Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;
-HSPLcom/android/server/am/ActivityDisplay$OnStackOrderChangedListener;->onStackOrderChanged()V
+HSPLcom/android/server/SystemServiceManager;->warnIfTooLong(JLcom/android/server/SystemService;Ljava/lang/String;)V
+HSPLcom/android/server/TelephonyRegistry;->add(Landroid/os/IBinder;)Lcom/android/server/TelephonyRegistry$Record;
+HSPLcom/android/server/ThreadPriorityBooster;->boost()V
+HSPLcom/android/server/ThreadPriorityBooster;->reset()V
+HSPLcom/android/server/accounts/AccountManagerService;->getUidsOfInstalledOrUpdatedPackagesAsUser(I)Landroid/util/SparseBooleanArray;
+HSPLcom/android/server/am/-$$Lambda$ActivityManagerService$XMDHDkKdzWb8nQlDZRKevGp6Oa8;->needed(Lcom/android/internal/os/ProcessCpuTracker$Stats;)Z
+HSPLcom/android/server/am/ActiveUids;->valueAt(I)Lcom/android/server/am/UidRecord;
+HSPLcom/android/server/am/ActivityManagerService$18;->run()V
+HSPLcom/android/server/am/ActivityManagerService$21;->compare(Lcom/android/server/am/ProcessMemInfo;Lcom/android/server/am/ProcessMemInfo;)I
+HSPLcom/android/server/am/ActivityManagerService$21;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLcom/android/server/am/ActivityManagerService$2;->allowFilterResult(Lcom/android/server/am/BroadcastFilter;Ljava/util/List;)Z
+HSPLcom/android/server/am/ActivityManagerService$2;->newArray(I)[Landroid/content/IntentFilter;
+HSPLcom/android/server/am/ActivityManagerService$2;->newArray(I)[Lcom/android/server/am/BroadcastFilter;
+HSPLcom/android/server/am/ActivityManagerService$Injector;->isNetworkRestrictedForUid(I)Z
+HSPLcom/android/server/am/ActivityManagerService$LocalService;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;
+HSPLcom/android/server/am/ActivityManagerService;->appendBasicMemEntry(Ljava/lang/StringBuilder;IIJJLjava/lang/String;)V
+HSPLcom/android/server/am/ActivityManagerService;->boostPriorityForLockedSection()V
+HSPLcom/android/server/am/ActivityManagerService;->checkContentProviderAccess(Ljava/lang/String;I)Ljava/lang/String;
+HSPLcom/android/server/am/ActivityManagerService;->checkContentProviderPermissionLocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ProcessRecord;IZ)Ljava/lang/String;
+HSPLcom/android/server/am/ActivityManagerService;->checkPermission(Ljava/lang/String;II)I
+HSPLcom/android/server/am/ActivityManagerService;->dispatchUidsChanged()V
+HSPLcom/android/server/am/ActivityManagerService;->dispatchUidsChangedForObserver(Landroid/app/IUidObserver;Lcom/android/server/am/ActivityManagerService$UidObserverRegistration;I)V
+HSPLcom/android/server/am/ActivityManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
+HSPLcom/android/server/am/ActivityManagerService;->ensureAllowedAssociations()V
+HSPLcom/android/server/am/ActivityManagerService;->getPackageManagerInternalLocked()Landroid/content/pm/PackageManagerInternal;
+HSPLcom/android/server/am/ActivityManagerService;->getRecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
+HSPLcom/android/server/am/ActivityManagerService;->handleIncomingUser(IIIZZLjava/lang/String;Ljava/lang/String;)I
 HSPLcom/android/server/am/ActivityManagerService;->incrementProcStateSeqAndNotifyAppsLocked()V
-HSPLcom/android/server/am/ActivityManagerService;->isSleepingLocked()Z
-HSPLcom/android/server/am/ActivityManagerService;->resumedAppLocked()Lcom/android/server/am/ActivityRecord;
-HSPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
-HSPLcom/android/server/am/ActivityStackSupervisor;->getKeyguardController()Lcom/android/server/am/KeyguardController;
-HSPLcom/android/server/am/ActivityStackSupervisor;->getResumedActivityLocked()Lcom/android/server/am/ActivityRecord;
-HSPLcom/android/server/am/ActivityStackSupervisor;->rankTaskLayersIfNeeded()V
-HSPLcom/android/server/am/ActivityStarter$Factory;->obtain()Lcom/android/server/am/ActivityStarter;
-HSPLcom/android/server/am/ActivityStarter$Factory;->recycle(Lcom/android/server/am/ActivityStarter;)V
-HSPLcom/android/server/am/ActivityStarter$Factory;->setController(Lcom/android/server/am/ActivityStartController;)V
-HSPLcom/android/server/am/BatteryExternalStatsWorker$1;->run()V
-HSPLcom/android/server/am/BatteryExternalStatsWorker;->updateExternalStatsLocked(Ljava/lang/String;IZZZ)V
-HSPLcom/android/server/am/BatteryStatsService;->access$100(Ljava/nio/ByteBuffer;)I
-HSPLcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
-HSPLcom/android/server/am/PreBootBroadcaster;->onFinished()V
-HSPLcom/android/server/am/ProcessList;->getMemLevel(I)J
-HSPLcom/android/server/am/ProcessStatsService;->getMemFactorLocked()I
-HSPLcom/android/server/am/ProcessStatsService;->setMemFactorLocked(IZJ)Z
-HSPLcom/android/server/am/ProcessStatsService;->shouldWriteNowLocked(J)Z
-HSPLcom/android/server/am/RecentTasks$Callbacks;->onRecentTaskAdded(Lcom/android/server/am/TaskRecord;)V
-HSPLcom/android/server/am/RecentTasks$Callbacks;->onRecentTaskRemoved(Lcom/android/server/am/TaskRecord;Z)V
-HSPLcom/android/server/display/AutomaticBrightnessController$Callbacks;->updateBrightness()V
-HSPLcom/android/server/display/DisplayAdapter$Listener;->onDisplayDeviceEvent(Lcom/android/server/display/DisplayDevice;I)V
-HSPLcom/android/server/display/DisplayAdapter$Listener;->onTraversalRequested()V
-HSPLcom/android/server/display/DisplayBlanker;->requestDisplayState(II)V
+HSPLcom/android/server/am/ActivityManagerService;->isInstantApp(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;I)Z
+HSPLcom/android/server/am/ActivityManagerService;->isReceivingBroadcastLocked(Lcom/android/server/am/ProcessRecord;Landroid/util/ArraySet;)Z
+HSPLcom/android/server/am/ActivityManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLcom/android/server/am/ActivityManagerService;->registerReceiver(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/IIntentReceiver;Landroid/content/IntentFilter;Ljava/lang/String;II)Landroid/content/Intent;
+HSPLcom/android/server/am/ActivityManagerService;->reportMemUsage(Ljava/util/ArrayList;)V
+HSPLcom/android/server/am/ActivityManagerService;->resetPriorityAfterLockedSection()V
+HSPLcom/android/server/am/ActivityManagerService;->updateCpuStatsNow()V
+HSPLcom/android/server/am/ActivityManagerService;->updateLowMemStateLocked(III)Z
+HSPLcom/android/server/am/BroadcastFilter;-><init>(Landroid/content/IntentFilter;Lcom/android/server/am/ReceiverList;Ljava/lang/String;Ljava/lang/String;IIZZ)V
+HSPLcom/android/server/am/BroadcastQueue;->processNextBroadcastLocked(ZZ)V
+HSPLcom/android/server/am/OomAdjuster;->applyOomAdjLocked(Lcom/android/server/am/ProcessRecord;ZJJ)Z
+HSPLcom/android/server/am/OomAdjuster;->computeOomAdjLocked(Lcom/android/server/am/ProcessRecord;ILcom/android/server/am/ProcessRecord;ZJZ)Z
+HSPLcom/android/server/am/OomAdjuster;->updateOomAdjImpl()V
+HSPLcom/android/server/am/OomAdjuster;->updateOomAdjLocked()V
+HSPLcom/android/server/am/ProcessList;->buildOomTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIZ)Ljava/lang/String;
+HSPLcom/android/server/am/ProcessList;->getLRURecordForAppLocked(Landroid/app/IApplicationThread;)Lcom/android/server/am/ProcessRecord;
+HSPLcom/android/server/am/ProcessList;->makeOomAdjString(IZ)Ljava/lang/String;
+HSPLcom/android/server/am/ProcessList;->makeProcStateString(I)Ljava/lang/String;
+HSPLcom/android/server/am/ProcessRecord;->getCurProcState()I
+HSPLcom/android/server/am/ProcessRecord;->getWindowProcessController()Lcom/android/server/wm/WindowProcessController;
+HSPLcom/android/server/am/ProcessRecord;->hasForegroundServices()Z
+HSPLcom/android/server/am/ProcessRecord;->setCurProcState(I)V
+HSPLcom/android/server/am/ProcessRecord;->setCurRawAdj(I)V
+HSPLcom/android/server/am/ProcessRecord;->setCurRawProcState(I)V
+HSPLcom/android/server/am/ProcessRecord;->setCurrentSchedulingGroup(I)V
+HSPLcom/android/server/am/ProcessRecord;->setHasForegroundActivities(Z)V
+HSPLcom/android/server/am/ReceiverList;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;IIILandroid/content/IIntentReceiver;)V
+HSPLcom/android/server/am/ReceiverList;->containsFilter(Landroid/content/IntentFilter;)Z
+HSPLcom/android/server/am/ReceiverList;->hashCode()I
+HSPLcom/android/server/am/UidRecord;->reset()V
+HSPLcom/android/server/am/UserController;->ensureNotSpecialUser(I)V
+HSPLcom/android/server/am/UserController;->getCurrentUserId()I
+HSPLcom/android/server/am/UserController;->getStartedUserState(I)Lcom/android/server/am/UserState;
+HSPLcom/android/server/am/UserController;->handleIncomingUser(IIIZILjava/lang/String;Ljava/lang/String;)I
+HSPLcom/android/server/am/UserController;->isUserRunning(II)Z
+HSPLcom/android/server/am/UserController;->unsafeConvertIncomingUser(I)I
+HSPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->setAllPkgModesToDefault(II)V
+HSPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->setUidMode(III)V
+HSPLcom/android/server/appop/AppOpsService$Op;-><init>(Lcom/android/server/appop/AppOpsService$UidState;Ljava/lang/String;I)V
+HSPLcom/android/server/appop/AppOpsService$UidState;->evalForegroundOps(Landroid/util/SparseArray;)V
+HSPLcom/android/server/appop/AppOpsService$UidState;->evalForegroundWatchers(ILandroid/util/SparseArray;Landroid/util/SparseBooleanArray;)V
+HSPLcom/android/server/appop/AppOpsService;->collectOps(Lcom/android/server/appop/AppOpsService$Ops;[I)Ljava/util/ArrayList;
+HSPLcom/android/server/appop/AppOpsService;->enforceManageAppOpsModes(III)V
+HSPLcom/android/server/appop/AppOpsService;->getOpsRawLocked(ILjava/lang/String;ZZ)Lcom/android/server/appop/AppOpsService$Ops;
+HSPLcom/android/server/appop/AppOpsService;->getPackagesForOps([I)Ljava/util/List;
+HSPLcom/android/server/appop/AppOpsService;->getPackagesForUid(I)[Ljava/lang/String;
+HSPLcom/android/server/appop/AppOpsService;->getUidStateLocked(IZ)Lcom/android/server/appop/AppOpsService$UidState;
+HSPLcom/android/server/appop/AppOpsService;->notifyWatchersOfChange(II)V
+HSPLcom/android/server/appop/AppOpsService;->readPackage(Lorg/xmlpull/v1/XmlPullParser;)V
+HSPLcom/android/server/appop/AppOpsService;->readState()V
+HSPLcom/android/server/appop/AppOpsService;->readUid(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)V
+HSPLcom/android/server/appop/AppOpsService;->setAllPkgModesToDefault(II)V
+HSPLcom/android/server/appop/AppOpsService;->setUidMode(III)V
+HSPLcom/android/server/appop/AppOpsService;->setUserRestrictions(Landroid/os/Bundle;Landroid/os/IBinder;I)V
+HSPLcom/android/server/appop/AppOpsService;->startWatchingModeWithFlags(ILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
+HSPLcom/android/server/appop/AppOpsService;->systemReady()V
+HSPLcom/android/server/appop/AppOpsService;->verifyIncomingUid(I)V
+HSPLcom/android/server/appwidget/AppWidgetServiceImpl;->isBoundWidgetPackage(Ljava/lang/String;I)Z
+HSPLcom/android/server/audio/AudioService$VolumeStreamState;->getMaxIndex()I
+HSPLcom/android/server/audio/AudioService$VolumeStreamState;->getSettingNameForDevice(I)Ljava/lang/String;
+HSPLcom/android/server/audio/AudioService$VolumeStreamState;->readSettings()V
+HSPLcom/android/server/audio/AudioService$VolumeStreamState;->setIndex(IILjava/lang/String;)Z
+HSPLcom/android/server/connectivity/PermissionMonitor;->hasPermission(Landroid/content/pm/PackageInfo;Ljava/lang/String;)Z
+HSPLcom/android/server/connectivity/PermissionMonitor;->hasRestrictedNetworkPermission(Landroid/content/pm/PackageInfo;)Z
+HSPLcom/android/server/connectivity/PermissionMonitor;->startMonitoring()V
+HSPLcom/android/server/connectivity/PermissionMonitor;->update(Ljava/util/Set;Ljava/util/Map;Z)V
+HSPLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;-><init>(Lcom/android/server/content/ContentService$ObserverNode;Landroid/database/IContentObserver;ZLjava/lang/Object;III)V
+HSPLcom/android/server/content/ContentService$ObserverNode;->addObserverLocked(Landroid/net/Uri;ILandroid/database/IContentObserver;ZLjava/lang/Object;III)V
+HSPLcom/android/server/content/ContentService$ObserverNode;->collectObserversLocked(Landroid/net/Uri;ILandroid/database/IContentObserver;ZIILjava/util/ArrayList;)V
+HSPLcom/android/server/content/ContentService$ObserverNode;->removeObserverLocked(Landroid/database/IContentObserver;)Z
+HSPLcom/android/server/content/ContentService;->handleIncomingUser(Landroid/net/Uri;IIIZI)I
+HSPLcom/android/server/content/ContentService;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/IContentObserver;II)V
+HSPLcom/android/server/content/SyncLogger$RotatingFileLogger;->logInner(J[Ljava/lang/Object;)V
+HSPLcom/android/server/content/SyncStorageEngine;->readAccountInfoLocked()V
+HSPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->readAttributeValues(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/util/Collection;)V
+HSPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;-><init>(Landroid/hardware/display/BrightnessConfiguration;[F[IF)V
+HSPLcom/android/server/display/BrightnessMappingStrategy;->create(Landroid/content/res/Resources;)Lcom/android/server/display/BrightnessMappingStrategy;
+HSPLcom/android/server/display/BrightnessMappingStrategy;->normalizeAbsoluteBrightness(I)F
+HSPLcom/android/server/display/BrightnessTracker;->readEventsLocked(Ljava/io/InputStream;)V
 HSPLcom/android/server/display/DisplayManagerService$BinderService;->getDisplayInfo(I)Landroid/view/DisplayInfo;
-HSPLcom/android/server/display/DisplayManagerService$BinderService;->registerCallback(Landroid/hardware/display/IDisplayManagerCallback;)V
-HSPLcom/android/server/display/DisplayManagerService;->access$2000(Lcom/android/server/display/DisplayManagerService;II)Landroid/view/DisplayInfo;
-HSPLcom/android/server/display/DisplayManagerService;->access$600(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/display/DisplayManagerService$SyncRoot;
 HSPLcom/android/server/display/DisplayManagerService;->getDisplayInfoInternal(II)Landroid/view/DisplayInfo;
-HSPLcom/android/server/display/DisplayManagerService;->registerCallbackInternal(Landroid/hardware/display/IDisplayManagerCallback;I)V
 HSPLcom/android/server/display/LogicalDisplay;->getDisplayInfoLocked()Landroid/view/DisplayInfo;
-HSPLcom/android/server/display/VirtualDisplayAdapter$SurfaceControlDisplayFactory;->createDisplay(Ljava/lang/String;Z)Landroid/os/IBinder;
-HSPLcom/android/server/firewall/IntentFirewall$AMSInterface;->checkComponentPermission(Ljava/lang/String;IIIZ)I
-HSPLcom/android/server/firewall/IntentFirewall$AMSInterface;->getAMSLock()Ljava/lang/Object;
-HSPLcom/android/server/input/InputManagerService$WindowManagerCallbacks;->dispatchUnhandledKey(Lcom/android/server/input/InputWindowHandle;Landroid/view/KeyEvent;I)Landroid/view/KeyEvent;
-HSPLcom/android/server/input/InputManagerService$WindowManagerCallbacks;->getPointerLayer()I
-HSPLcom/android/server/input/InputManagerService$WindowManagerCallbacks;->interceptKeyBeforeDispatching(Lcom/android/server/input/InputWindowHandle;Landroid/view/KeyEvent;I)J
-HSPLcom/android/server/input/InputManagerService$WindowManagerCallbacks;->interceptKeyBeforeQueueing(Landroid/view/KeyEvent;I)I
-HSPLcom/android/server/input/InputManagerService$WindowManagerCallbacks;->interceptMotionBeforeQueueingNonInteractive(JI)I
-HSPLcom/android/server/input/InputManagerService$WindowManagerCallbacks;->notifyANR(Lcom/android/server/input/InputApplicationHandle;Lcom/android/server/input/InputWindowHandle;Ljava/lang/String;)J
-HSPLcom/android/server/input/InputManagerService$WindowManagerCallbacks;->notifyCameraLensCoverSwitchChanged(JZ)V
-HSPLcom/android/server/input/InputManagerService$WindowManagerCallbacks;->notifyConfigurationChanged()V
-HSPLcom/android/server/input/InputManagerService$WindowManagerCallbacks;->notifyInputChannelBroken(Lcom/android/server/input/InputWindowHandle;)V
-HSPLcom/android/server/input/InputManagerService$WindowManagerCallbacks;->notifyLidSwitchChanged(JZ)V
-HSPLcom/android/server/input/InputManagerService$WiredAccessoryCallbacks;->notifyWiredAccessoryChanged(JII)V
-HSPLcom/android/server/input/InputManagerService$WiredAccessoryCallbacks;->systemReady()V
-HSPLcom/android/server/job/JobCompletedListener;->onJobCompletedLocked(Lcom/android/server/job/controllers/JobStatus;Z)V
-HSPLcom/android/server/job/StateChangedListener;->onControllerStateChanged()V
-HSPLcom/android/server/job/StateChangedListener;->onDeviceIdleStateChanged(Z)V
-HSPLcom/android/server/job/StateChangedListener;->onRunJobNow(Lcom/android/server/job/controllers/JobStatus;)V
-HSPLcom/android/server/lights/Light;->pulse()V
-HSPLcom/android/server/lights/Light;->pulse(II)V
-HSPLcom/android/server/lights/Light;->setBrightness(I)V
-HSPLcom/android/server/lights/Light;->setBrightness(II)V
-HSPLcom/android/server/lights/Light;->setColor(I)V
-HSPLcom/android/server/lights/Light;->setFlashing(IIII)V
-HSPLcom/android/server/lights/Light;->setVrMode(Z)V
-HSPLcom/android/server/lights/Light;->turnOff()V
-HSPLcom/android/server/lights/LightsManager;->getLight(I)Lcom/android/server/lights/Light;
-HSPLcom/android/server/location/GnssSatelliteBlacklistHelper$GnssSatelliteBlacklistCallback;->onUpdateSatelliteBlacklist([I[I)V
-HSPLcom/android/server/location/NtpTimeHelper$InjectNtpTimeCallback;->injectTime(JJI)V
-HSPLcom/android/server/net/NetworkStatsManagerInternal;->advisePersistThreshold(J)V
-HSPLcom/android/server/net/NetworkStatsManagerInternal;->forceUpdate()V
-HSPLcom/android/server/net/NetworkStatsManagerInternal;->getNetworkTotalBytes(Landroid/net/NetworkTemplate;JJ)J
-HSPLcom/android/server/net/NetworkStatsManagerInternal;->getNetworkUidBytes(Landroid/net/NetworkTemplate;JJ)Landroid/net/NetworkStats;
-HSPLcom/android/server/net/NetworkStatsManagerInternal;->setUidForeground(IZ)V
-HSPLcom/android/server/net/NetworkStatsService$NetworkStatsSettings;->getAugmentEnabled()Z
-HSPLcom/android/server/net/NetworkStatsService$NetworkStatsSettings;->getDevConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
-HSPLcom/android/server/net/NetworkStatsService$NetworkStatsSettings;->getDevPersistBytes(J)J
-HSPLcom/android/server/net/NetworkStatsService$NetworkStatsSettings;->getGlobalAlertBytes(J)J
-HSPLcom/android/server/net/NetworkStatsService$NetworkStatsSettings;->getPollInterval()J
-HSPLcom/android/server/net/NetworkStatsService$NetworkStatsSettings;->getSampleEnabled()Z
-HSPLcom/android/server/net/NetworkStatsService$NetworkStatsSettings;->getUidConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
-HSPLcom/android/server/net/NetworkStatsService$NetworkStatsSettings;->getUidPersistBytes(J)J
-HSPLcom/android/server/net/NetworkStatsService$NetworkStatsSettings;->getUidTagConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
-HSPLcom/android/server/net/NetworkStatsService$NetworkStatsSettings;->getUidTagPersistBytes(J)J
-HSPLcom/android/server/net/NetworkStatsService$NetworkStatsSettings;->getXtConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
-HSPLcom/android/server/net/NetworkStatsService$NetworkStatsSettings;->getXtPersistBytes(J)J
-HSPLcom/android/server/pm/InstructionSets;->getPreferredInstructionSet()Ljava/lang/String;
-HSPLcom/android/server/pm/InstructionSets;->getPrimaryInstructionSet(Landroid/content/pm/ApplicationInfo;)Ljava/lang/String;
+HSPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList;->getSortedInputMethodAndSubtypeList(ZZ)Ljava/util/List;
+HSPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodSubtypeListLocked(Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/List;
+HSPLcom/android/server/inputmethod/InputMethodUtils;->getImplicitlyApplicableSubtypesLockedImpl(Landroid/content/res/Resources;Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/ArrayList;
+HSPLcom/android/server/job/-$$Lambda$JobSchedulerService$Lfddr1PhKRLtm92W7niRGMWO69M;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/job/-$$Lambda$JobStore$JobSet$D9839QVHHu4X-hnxouyIMkP5NWA;->test(Ljava/lang/Object;)Z
+HSPLcom/android/server/job/-$$Lambda$JobStore$JobSet$id1Y3Yh8Y9sEb-njlNCUNay6U9k;->test(Ljava/lang/Object;)Z
+HSPLcom/android/server/job/JobConcurrencyManager;->assignJobsToContextsInternalLocked()V
+HSPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V
+HSPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/job/JobSchedulerService$StandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+HSPLcom/android/server/job/JobSchedulerService;->isReadyToBeExecutedLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+HSPLcom/android/server/job/JobSchedulerService;->lambda$onBootPhase$2$JobSchedulerService(Lcom/android/server/job/controllers/JobStatus;)V
+HSPLcom/android/server/job/JobSchedulerService;->reportActiveLocked()V
+HSPLcom/android/server/job/JobStore$JobSet;->countJobsForUid(I)I
+HSPLcom/android/server/job/JobStore$JobSet;->forEachJob(Ljava/util/function/Predicate;Ljava/util/function/Consumer;)V
+HSPLcom/android/server/job/JobStore$JobSet;->get(II)Lcom/android/server/job/controllers/JobStatus;
+HSPLcom/android/server/job/JobStore$JobSet;->removeAll(Ljava/util/function/Predicate;)V
+HSPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->readJobMapImpl(Ljava/io/FileInputStream;Z)Ljava/util/List;
+HSPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->restoreJobFromXml(ZLorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/job/controllers/JobStatus;
+HSPLcom/android/server/job/controllers/-$$Lambda$QuotaController$StandbyTracker$UNCXPiY4xGPFhTnC-LuVzvqiAl4;->run()V
+HSPLcom/android/server/job/controllers/ConnectivityController$2;->onUidRulesChanged(II)V
+HSPLcom/android/server/job/controllers/ConnectivityController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V
+HSPLcom/android/server/job/controllers/ConnectivityController;->isSatisfied(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z
+HSPLcom/android/server/job/controllers/ConnectivityController;->updateConstraintsSatisfied(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;)Z
+HSPLcom/android/server/job/controllers/ConnectivityController;->updateTrackedJobs(ILandroid/net/Network;)V
+HSPLcom/android/server/job/controllers/ConnectivityController;->updateTrackedJobsLocked(Landroid/util/ArraySet;Landroid/net/Network;Landroid/util/SparseArray;)Z
+HSPLcom/android/server/job/controllers/JobStatus;->getProtoConstraint(I)I
+HSPLcom/android/server/job/controllers/JobStatus;->setConstraintSatisfied(IZ)Z
+HSPLcom/android/server/job/controllers/JobStatus;->wouldBeReadyWithConstraint(I)Z
+HSPLcom/android/server/job/controllers/QuotaController$StandbyTracker;->lambda$onAppIdleStateChanged$0$QuotaController$StandbyTracker(IILjava/lang/String;)V
+HSPLcom/android/server/job/controllers/QuotaController$StandbyTracker;->lambda$onAppIdleStateChanged$0(Lcom/android/server/job/controllers/QuotaController$StandbyTracker;IILjava/lang/String;)V
+HSPLcom/android/server/job/controllers/QuotaController$StandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+HSPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->get(ILjava/lang/String;)Ljava/lang/Object;
+HSPLcom/android/server/job/controllers/QuotaController;->getExecutionStatsLocked(ILjava/lang/String;IZ)Lcom/android/server/job/controllers/QuotaController$ExecutionStats;
+HSPLcom/android/server/job/controllers/QuotaController;->isUnderJobCountQuotaLocked(Lcom/android/server/job/controllers/QuotaController$ExecutionStats;I)Z
+HSPLcom/android/server/job/controllers/QuotaController;->isWithinQuotaLocked(ILjava/lang/String;I)Z
+HSPLcom/android/server/job/controllers/StateController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V
+HSPLcom/android/server/job/controllers/StateController;->wouldBeReadyWithConstraintLocked(Lcom/android/server/job/controllers/JobStatus;I)Z
+HSPLcom/android/server/job/controllers/TimeController;->checkExpiredDelaysAndResetAlarm()V
+HSPLcom/android/server/job/controllers/TimeController;->evaluateStateLocked(Lcom/android/server/job/controllers/JobStatus;)V
+HSPLcom/android/server/job/controllers/TimeController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+HSPLcom/android/server/location/GnssConfiguration;->loadPropertiesFromCarrierConfig()V
+HSPLcom/android/server/locksettings/LockSettingsService;->checkReadPermission(Ljava/lang/String;I)V
+HSPLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->hashCode()I
+HSPLcom/android/server/net/NetworkIdentitySet;-><init>(Ljava/io/DataInputStream;)V
+HSPLcom/android/server/net/NetworkPolicyLogger$Data;-><init>()V
+HSPLcom/android/server/net/NetworkPolicyLogger;->appIdleStateChanged(IZ)V
+HSPLcom/android/server/net/NetworkPolicyManagerService$17;->handleMessage(Landroid/os/Message;)Z
+HSPLcom/android/server/net/NetworkPolicyManagerService$AppIdleStateChangeListener;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+HSPLcom/android/server/net/NetworkPolicyManagerService;->dispatchUidRulesChanged(Landroid/net/INetworkPolicyListener;II)V
+HSPLcom/android/server/net/NetworkPolicyManagerService;->hasInternetPermissions(I)Z
+HSPLcom/android/server/net/NetworkPolicyManagerService;->isUidIdle(I)Z
+HSPLcom/android/server/net/NetworkPolicyManagerService;->isWhitelistedFromPowerSaveUL(IZ)Z
+HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForAppIdleUL(I)V
+HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForAllAppsUL(I)V
+HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForAppIdleUL()V
+HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDataUsageRestrictionsUL(I)V
+HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDataUsageRestrictionsULInner(I)V
+HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsUL(IIZ)I
+HSPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerRestrictionsULInner(IIZ)I
+HSPLcom/android/server/net/NetworkStatsCollection$Key;-><init>(Lcom/android/server/net/NetworkIdentitySet;III)V
+HSPLcom/android/server/net/NetworkStatsCollection$Key;->hashCode()I
+HSPLcom/android/server/net/NetworkStatsCollection;->read(Ljava/io/DataInputStream;)V
+HSPLcom/android/server/net/NetworkStatsCollection;->recordHistory(Lcom/android/server/net/NetworkStatsCollection$Key;Landroid/net/NetworkStatsHistory;)V
+HSPLcom/android/server/net/watchlist/DigestUtils;->getSha256Hash(Ljava/io/File;)[B
+HSPLcom/android/server/notification/PreferencesHelper;->getOrCreatePackagePreferences(Ljava/lang/String;IIIIZZ)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;
+HSPLcom/android/server/notification/PreferencesHelper;->isGroupBlocked(Ljava/lang/String;ILjava/lang/String;)Z
+HSPLcom/android/server/notification/PreferencesHelper;->lockChannelsForOEM([Ljava/lang/String;)V
+HSPLcom/android/server/notification/PreferencesHelper;->readXml(Lorg/xmlpull/v1/XmlPullParser;ZI)V
+HSPLcom/android/server/notification/PreferencesHelper;->updateChannelsBypassingDnd(I)V
+HSPLcom/android/server/notification/PreferencesHelper;->writeXml(Lorg/xmlpull/v1/XmlSerializer;ZI)V
+HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$bX7CTrJVR3B_eQmD43OOHtRIxgw;->test(Ljava/lang/Object;)Z
+HSPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$mq-CHAn1jQBVquxuOUv0eQANHIY;->test(Ljava/lang/Object;)Z
+HSPLcom/android/server/om/OverlayManagerService;->updateOverlayPaths(ILjava/util/List;)V
+HSPLcom/android/server/om/OverlayManagerServiceImpl;->getEnabledOverlayPackageNames(Ljava/lang/String;I)Ljava/util/List;
+HSPLcom/android/server/om/OverlayManagerServiceImpl;->updateOverlaysForUser(I)Ljava/util/ArrayList;
+HSPLcom/android/server/om/OverlayManagerSettings;->init(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ZILjava/lang/String;)V
+HSPLcom/android/server/om/OverlayManagerSettings;->select(Ljava/lang/String;I)I
+HSPLcom/android/server/pm/-$$Lambda$ComponentResolver$PuHbZd5KEOMGjkH8xDOhOwfLtC0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+HSPLcom/android/server/pm/-$$Lambda$ParallelPackageParser$FTtinPrp068lVeI7K6bC1tNE3iM;->run()V
+HSPLcom/android/server/pm/CompilerStats$PackageStats;->setCompileTime(Ljava/lang/String;J)V
+HSPLcom/android/server/pm/CompilerStats;->createPackageStats(Ljava/lang/String;)Lcom/android/server/pm/CompilerStats$PackageStats;
+HSPLcom/android/server/pm/CompilerStats;->getOrCreatePackageStats(Ljava/lang/String;)Lcom/android/server/pm/CompilerStats$PackageStats;
+HSPLcom/android/server/pm/CompilerStats;->read(Ljava/io/Reader;)Z
+HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->addActivity(Landroid/content/pm/PackageParser$Activity;Ljava/lang/String;Ljava/util/List;)V
+HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
+HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->allowFilterResult(Landroid/content/pm/PackageParser$ActivityIntentInfo;Ljava/util/List;)Z
+HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->isFilterStopped(Landroid/content/IntentFilter;I)Z
+HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->isFilterStopped(Landroid/content/pm/PackageParser$ActivityIntentInfo;I)Z
+HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
+HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
+HSPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->queryIntentForPackage(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
+HSPLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->addProvider(Landroid/content/pm/PackageParser$Provider;)V
+HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->addService(Landroid/content/pm/PackageParser$Service;)V
+HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
+HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->allowFilterResult(Landroid/content/pm/PackageParser$ServiceIntentInfo;Ljava/util/List;)Z
+HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
+HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
+HSPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->queryIntentForPackage(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
+HSPLcom/android/server/pm/ComponentResolver;->addActivitiesLocked(Landroid/content/pm/PackageParser$Package;Ljava/util/List;Z)V
+HSPLcom/android/server/pm/ComponentResolver;->addAllComponents(Landroid/content/pm/PackageParser$Package;Z)V
+HSPLcom/android/server/pm/ComponentResolver;->addProvidersLocked(Landroid/content/pm/PackageParser$Package;Z)V
+HSPLcom/android/server/pm/ComponentResolver;->addReceiversLocked(Landroid/content/pm/PackageParser$Package;Z)V
+HSPLcom/android/server/pm/ComponentResolver;->addServicesLocked(Landroid/content/pm/PackageParser$Package;Z)V
+HSPLcom/android/server/pm/ComponentResolver;->adjustPriority(Ljava/util/List;Landroid/content/pm/PackageParser$ActivityIntentInfo;Ljava/lang/String;)V
+HSPLcom/android/server/pm/ComponentResolver;->findMatchingActivity(Ljava/util/List;Landroid/content/pm/ActivityInfo;)Landroid/content/pm/PackageParser$Activity;
+HSPLcom/android/server/pm/ComponentResolver;->getIntentListSubset(Ljava/util/List;Lcom/android/server/pm/ComponentResolver$IterGenerator;Ljava/util/Iterator;)V
+HSPLcom/android/server/pm/ComponentResolver;->lambda$static$0(Landroid/content/pm/ResolveInfo;Landroid/content/pm/ResolveInfo;)I
+HSPLcom/android/server/pm/ComponentResolver;->queryProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
+HSPLcom/android/server/pm/ComponentResolver;->queryProviders(Ljava/lang/String;Ljava/lang/String;III)Ljava/util/List;
+HSPLcom/android/server/pm/Installer;->checkBeforeRemote()Z
+HSPLcom/android/server/pm/Installer;->createAppData(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;I)J
+HSPLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;->getKey()Ljava/security/PublicKey;
+HSPLcom/android/server/pm/KeySetManagerService;->addRefCountsFromSavedPackagesLPw(Landroid/util/ArrayMap;)V
+HSPLcom/android/server/pm/KeySetManagerService;->addScannedPackageLPw(Landroid/content/pm/PackageParser$Package;)V
+HSPLcom/android/server/pm/KeySetManagerService;->addSigningKeySetToPackageLPw(Lcom/android/server/pm/PackageSetting;Landroid/util/ArraySet;)V
+HSPLcom/android/server/pm/KeySetManagerService;->assertScannedPackageValid(Landroid/content/pm/PackageParser$Package;)V
+HSPLcom/android/server/pm/KeySetManagerService;->getIdForPublicKeyLPr(Ljava/security/PublicKey;)J
+HSPLcom/android/server/pm/KeySetManagerService;->getIdFromKeyIdsLPr(Ljava/util/Set;)J
 HSPLcom/android/server/pm/KeySetManagerService;->getPublicKeysFromKeySetLPr(J)Landroid/util/ArraySet;
 HSPLcom/android/server/pm/KeySetManagerService;->readKeySetListLPw(Lorg/xmlpull/v1/XmlPullParser;)V
+HSPLcom/android/server/pm/KeySetManagerService;->readKeysLPw(Lorg/xmlpull/v1/XmlPullParser;)V
+HSPLcom/android/server/pm/KeySetManagerService;->shouldCheckUpgradeKeySetLocked(Lcom/android/server/pm/PackageSettingBase;I)Z
+HSPLcom/android/server/pm/KeySetManagerService;->writeKeySetsLPr(Lorg/xmlpull/v1/XmlSerializer;)V
+HSPLcom/android/server/pm/PackageInstallerService;->isStageName(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/PackageKeySetData;-><init>()V
+HSPLcom/android/server/pm/PackageKeySetData;->getAliases()Landroid/util/ArrayMap;
 HSPLcom/android/server/pm/PackageKeySetData;->getProperSigningKeySet()J
-HSPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->addActivity(Landroid/content/pm/PackageParser$Activity;Ljava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->adjustPriority(Ljava/util/List;Landroid/content/pm/PackageParser$ActivityIntentInfo;)V
-HSPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->isProtectedAction(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Z
-HSPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
-HSPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->newArray(I)[Landroid/content/pm/PackageParser$ActivityIntentInfo;
-HSPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->removeActivity(Landroid/content/pm/PackageParser$Activity;Ljava/lang/String;)V
-HSPLcom/android/server/pm/PackageManagerService$HandlerParams;->handleReturnCode()V
-HSPLcom/android/server/pm/PackageManagerService$HandlerParams;->handleServiceError()V
-HSPLcom/android/server/pm/PackageManagerService$HandlerParams;->handleStartCopy()V
-HSPLcom/android/server/pm/PackageManagerService$IntentFilterVerifier;->addOneIntentFilterVerification(IIILandroid/content/IntentFilter;Ljava/lang/String;)Z
-HSPLcom/android/server/pm/PackageManagerService$IntentFilterVerifier;->receiveVerificationResponse(I)V
-HSPLcom/android/server/pm/PackageManagerService$IntentFilterVerifier;->startVerifications(I)V
+HSPLcom/android/server/pm/PackageKeySetData;->isUsingUpgradeKeySets()Z
+HSPLcom/android/server/pm/PackageKeySetData;->setProperSigningKeySet(J)V
+HSPLcom/android/server/pm/PackageManagerService$1;->onPermissionUpdated([IZ)V
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->filterAppAccess(Landroid/content/pm/PackageParser$Package;II)Z
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getApplicationEnabledState(Ljava/lang/String;I)I
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getDisabledComponents(Ljava/lang/String;I)Landroid/util/ArraySet;
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getDisabledSystemPackage(Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getEnabledComponents(Ljava/lang/String;I)Landroid/util/ArraySet;
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getInstantAppPackageName(I)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getKnownPackageName(II)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getOverlayPackages(I)Ljava/util/List;
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackage(Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageList(Landroid/content/pm/PackageManagerInternal$PackageListObserver;)Landroid/content/pm/PackageList;
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getTargetPackageNames(I)Ljava/util/List;
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isEnabledAndMatches(Landroid/content/pm/ComponentInfo;II)Z
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isLegacySystemApp(Landroid/content/pm/PackageParser$Package;)Z
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPackageEphemeral(ILjava/lang/String;)Z
+HSPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setEnabledOverlayPackages(ILjava/lang/String;Ljava/util/List;)Z
+HSPLcom/android/server/pm/PackageManagerService$PackageParserCallback;->getOverlayApks(Ljava/lang/String;)[Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService$PackageParserCallback;->getOverlayPaths(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
 HSPLcom/android/server/pm/PackageManagerService$PackageParserCallback;->getStaticOverlayPackages(Ljava/util/Collection;Ljava/lang/String;)Ljava/util/List;
-HSPLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;->addService(Landroid/content/pm/PackageParser$Service;)V
-HSPLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
-HSPLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;->newArray(I)[Landroid/content/pm/PackageParser$ServiceIntentInfo;
-HSPLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;->removeService(Landroid/content/pm/PackageParser$Service;)V
+HSPLcom/android/server/pm/PackageManagerService$PackageParserCallback;->getStaticOverlayPaths(Ljava/util/List;Ljava/lang/String;)[Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService$ParallelPackageParserCallback;->getStaticOverlayPaths(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService$ReconcileRequest;-><init>(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Lcom/android/server/pm/PackageManagerService$1;)V
+HSPLcom/android/server/pm/PackageManagerService$ReconciledPackage;-><init>(Lcom/android/server/pm/PackageManagerService$InstallArgs;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Lcom/android/server/pm/PackageManagerService$PrepareResult;Lcom/android/server/pm/PackageManagerService$ScanResult;Lcom/android/server/pm/PackageManagerService$DeletePackageAction;Ljava/util/List;Landroid/content/pm/PackageParser$SigningDetails;ZZLcom/android/server/pm/PackageManagerService$1;)V
+HSPLcom/android/server/pm/PackageManagerService$ReconciledPackage;->hasDynamicSharedLibraries()Z
+HSPLcom/android/server/pm/PackageManagerService$ScanRequest;-><init>(Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/SharedUserSetting;Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Ljava/lang/String;IIZLandroid/os/UserHandle;)V
+HSPLcom/android/server/pm/PackageManagerService$ScanResult;-><init>(Lcom/android/server/pm/PackageManagerService$ScanRequest;ZLcom/android/server/pm/PackageSetting;Ljava/util/List;ZLandroid/content/pm/SharedLibraryInfo;Ljava/util/List;)V
 HSPLcom/android/server/pm/PackageManagerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/Installer;ZZ)V
+HSPLcom/android/server/pm/PackageManagerService;->addForInitLI(Landroid/content/pm/PackageParser$Package;IIJLandroid/os/UserHandle;)Landroid/content/pm/PackageParser$Package;
+HSPLcom/android/server/pm/PackageManagerService;->addPackageHoldingPermissions(Ljava/util/ArrayList;Lcom/android/server/pm/PackageSetting;[Ljava/lang/String;[ZII)V
+HSPLcom/android/server/pm/PackageManagerService;->addSharedLibraryLPr(Landroid/content/pm/PackageParser$Package;Ljava/util/Set;Landroid/content/pm/SharedLibraryInfo;Landroid/content/pm/PackageParser$Package;)V
+HSPLcom/android/server/pm/PackageManagerService;->adjustScanFlags(ILcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Landroid/os/UserHandle;Landroid/content/pm/PackageParser$Package;)I
+HSPLcom/android/server/pm/PackageManagerService;->applyDefiningSharedLibraryUpdateLocked(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/SharedLibraryInfo;Ljava/util/function/BiConsumer;)V
 HSPLcom/android/server/pm/PackageManagerService;->applyPolicy(Landroid/content/pm/PackageParser$Package;IILandroid/content/pm/PackageParser$Package;)V
-HSPLcom/android/server/pm/PackageManagerService;->cleanPackageDataStructuresLILPw(Landroid/content/pm/PackageParser$Package;Z)V
-HSPLcom/android/server/pm/PackageManagerService;->commitPackageSettings(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/PackageSetting;Landroid/os/UserHandle;IZ)V
-HSPLcom/android/server/pm/PackageManagerService;->fixProcessName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService;->assertPackageIsValid(Landroid/content/pm/PackageParser$Package;II)V
+HSPLcom/android/server/pm/PackageManagerService;->assertPackageKnownAndInstalled(Ljava/lang/String;Ljava/lang/String;I)V
+HSPLcom/android/server/pm/PackageManagerService;->calculateBundledApkRoot(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService;->checkUidPermission(Ljava/lang/String;I)I
+HSPLcom/android/server/pm/PackageManagerService;->checkUidPermissionImpl(Ljava/lang/String;I)I
+HSPLcom/android/server/pm/PackageManagerService;->collectAbsoluteCodePaths()Ljava/util/List;
+HSPLcom/android/server/pm/PackageManagerService;->collectCertificatesLI(Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageParser$Package;ZZ)V
+HSPLcom/android/server/pm/PackageManagerService;->collectSharedLibraryInfos(Landroid/content/pm/PackageParser$Package;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)Ljava/util/ArrayList;
+HSPLcom/android/server/pm/PackageManagerService;->collectSharedLibraryInfos(Ljava/util/List;[J[[Ljava/lang/String;Ljava/lang/String;ZILjava/util/ArrayList;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)Ljava/util/ArrayList;
+HSPLcom/android/server/pm/PackageManagerService;->commitPackageSettings(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/PackageSetting;IZLcom/android/server/pm/PackageManagerService$ReconciledPackage;)V
+HSPLcom/android/server/pm/PackageManagerService;->commitReconciledScanResultLocked(Lcom/android/server/pm/PackageManagerService$ReconciledPackage;)V
+HSPLcom/android/server/pm/PackageManagerService;->deriveCodePathName(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService;->derivePackageAbi(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Z)V
+HSPLcom/android/server/pm/PackageManagerService;->executeSharedLibrariesUpdateLPr(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;)V
+HSPLcom/android/server/pm/PackageManagerService;->filterAppAccessLPr(Lcom/android/server/pm/PackageSetting;ILandroid/content/ComponentName;II)Z
+HSPLcom/android/server/pm/PackageManagerService;->filterSharedLibPackageLPr(Lcom/android/server/pm/PackageSetting;III)Z
+HSPLcom/android/server/pm/PackageManagerService;->forEachPackage(Ljava/util/function/Consumer;)V
+HSPLcom/android/server/pm/PackageManagerService;->generatePackageInfo(Lcom/android/server/pm/PackageSetting;II)Landroid/content/pm/PackageInfo;
+HSPLcom/android/server/pm/PackageManagerService;->getAllowedSharedLibInfos(Lcom/android/server/pm/PackageManagerService$ScanResult;Ljava/util/Map;)Ljava/util/List;
+HSPLcom/android/server/pm/PackageManagerService;->getApplicationInfo(Ljava/lang/String;II)Landroid/content/pm/ApplicationInfo;
+HSPLcom/android/server/pm/PackageManagerService;->getApplicationInfoInternal(Ljava/lang/String;III)Landroid/content/pm/ApplicationInfo;
+HSPLcom/android/server/pm/PackageManagerService;->getInstalledApplicationsListInternal(III)Ljava/util/List;
+HSPLcom/android/server/pm/PackageManagerService;->getInstalledPackages(II)Landroid/content/pm/ParceledListSlice;
+HSPLcom/android/server/pm/PackageManagerService;->getInstallerPackageName(Ljava/lang/String;)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService;->getInstantAppPackageName(I)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService;->getLatestSharedLibraVersionLPr(Landroid/content/pm/PackageParser$Package;)Landroid/content/pm/SharedLibraryInfo;
 HSPLcom/android/server/pm/PackageManagerService;->getOriginalPackageLocked(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageManagerService;->getPackageUid(Ljava/lang/String;II)I
+HSPLcom/android/server/pm/PackageManagerService;->getPackagesForUid(I)[Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService;->getPackagesHoldingPermissions([Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+HSPLcom/android/server/pm/PackageManagerService;->getPersistentApplicationsInternal(I)Ljava/util/List;
 HSPLcom/android/server/pm/PackageManagerService;->getRealPackageName(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/server/pm/PackageManagerService;->getSettingsVersionForPackage(Landroid/content/pm/PackageParser$Package;)Lcom/android/server/pm/Settings$VersionInfo;
-HSPLcom/android/server/pm/PackageManagerService;->hasSystemFeature(Ljava/lang/String;I)Z
-HSPLcom/android/server/pm/PackageManagerService;->isExternal(Landroid/content/pm/PackageParser$Package;)Z
+HSPLcom/android/server/pm/PackageManagerService;->getSharedLibLatestVersionSetting(Lcom/android/server/pm/PackageManagerService$ScanResult;)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/PackageManagerService;->getSharedLibraryInfo(Ljava/lang/String;JLjava/util/Map;Ljava/util/Map;)Landroid/content/pm/SharedLibraryInfo;
+HSPLcom/android/server/pm/PackageManagerService;->isCompatSignatureUpdateNeeded(Lcom/android/server/pm/Settings$VersionInfo;)Z
+HSPLcom/android/server/pm/PackageManagerService;->isExternal(Lcom/android/server/pm/PackageSetting;)Z
 HSPLcom/android/server/pm/PackageManagerService;->isPackageRenamed(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)Z
+HSPLcom/android/server/pm/PackageManagerService;->isRecentsAccessingChildProfiles(II)Z
+HSPLcom/android/server/pm/PackageManagerService;->isRecoverSignatureUpdateNeeded(Lcom/android/server/pm/Settings$VersionInfo;)Z
 HSPLcom/android/server/pm/PackageManagerService;->isSystemApp(Landroid/content/pm/PackageParser$Package;)Z
+HSPLcom/android/server/pm/PackageManagerService;->isUpgrade()Z
+HSPLcom/android/server/pm/PackageManagerService;->lambda$new$0$PackageManagerService(Ljava/util/List;I)V
+HSPLcom/android/server/pm/PackageManagerService;->lambda$new$0(Lcom/android/server/pm/PackageManagerService;Ljava/util/List;I)V
+HSPLcom/android/server/pm/PackageManagerService;->maybeClearProfilesForUpgradesLI(Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageParser$Package;)V
+HSPLcom/android/server/pm/PackageManagerService;->maybeMigrateAppDataLIF(Landroid/content/pm/PackageParser$Package;I)Z
+HSPLcom/android/server/pm/PackageManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+HSPLcom/android/server/pm/PackageManagerService;->prepareAppDataContentsLeafLIF(Landroid/content/pm/PackageParser$Package;II)V
+HSPLcom/android/server/pm/PackageManagerService;->prepareAppDataLIF(Landroid/content/pm/PackageParser$Package;II)V
+HSPLcom/android/server/pm/PackageManagerService;->prepareAppDataLeafLIF(Landroid/content/pm/PackageParser$Package;II)V
+HSPLcom/android/server/pm/PackageManagerService;->prepareScanResultLocked(Lcom/android/server/pm/PackageManagerService$ScanResult;)V
+HSPLcom/android/server/pm/PackageManagerService;->reconcileApps(Ljava/lang/String;)V
+HSPLcom/android/server/pm/PackageManagerService;->reconcileAppsDataLI(Ljava/lang/String;IIZZ)Ljava/util/List;
+HSPLcom/android/server/pm/PackageManagerService;->reconcilePackagesLocked(Lcom/android/server/pm/PackageManagerService$ReconcileRequest;Lcom/android/server/pm/KeySetManagerService;)Ljava/util/Map;
+HSPLcom/android/server/pm/PackageManagerService;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
+HSPLcom/android/server/pm/PackageManagerService;->resolveContentProviderInternal(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
+HSPLcom/android/server/pm/PackageManagerService;->resolveInternalPackageNameLPr(Ljava/lang/String;J)Ljava/lang/String;
 HSPLcom/android/server/pm/PackageManagerService;->scanDirLI(Ljava/io/File;IIJ)V
-HSPLcom/android/server/pm/PackageManagerService;->scanPackageNewLI(Landroid/content/pm/PackageParser$Package;IIJLandroid/os/UserHandle;)Landroid/content/pm/PackageParser$Package;
+HSPLcom/android/server/pm/PackageManagerService;->scanPackageChildLI(Landroid/content/pm/PackageParser$Package;IIJLandroid/os/UserHandle;)Landroid/content/pm/PackageParser$Package;
+HSPLcom/android/server/pm/PackageManagerService;->scanPackageNewLI(Landroid/content/pm/PackageParser$Package;IIJLandroid/os/UserHandle;)Lcom/android/server/pm/PackageManagerService$ScanResult;
+HSPLcom/android/server/pm/PackageManagerService;->scanPackageOnlyLI(Lcom/android/server/pm/PackageManagerService$ScanRequest;ZJ)Lcom/android/server/pm/PackageManagerService$ScanResult;
+HSPLcom/android/server/pm/PackageManagerService;->setInstantAppForUser(Lcom/android/server/pm/PackageSetting;IZZ)V
 HSPLcom/android/server/pm/PackageManagerService;->setNativeLibraryPaths(Landroid/content/pm/PackageParser$Package;Ljava/io/File;)V
-HSPLcom/android/server/pm/PackageManagerServiceCompilerMapping;->getAndCheckValidity(I)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerService;->unsuspendForSuspendingPackages(Ljava/util/function/Predicate;I)V
+HSPLcom/android/server/pm/PackageManagerService;->updateAllSharedLibrariesLPw(Landroid/content/pm/PackageParser$Package;)Ljava/util/ArrayList;
+HSPLcom/android/server/pm/PackageManagerService;->updateFlagsForPackage(IILjava/lang/Object;)I
+HSPLcom/android/server/pm/PackageManagerService;->updateFlagsForResolve(IILandroid/content/Intent;IZ)I
+HSPLcom/android/server/pm/PackageManagerService;->updateFlagsForResolve(IILandroid/content/Intent;IZZ)I
+HSPLcom/android/server/pm/PackageManagerServiceUtils;->compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
+HSPLcom/android/server/pm/PackageManagerServiceUtils;->deriveAbiOverride(Ljava/lang/String;Lcom/android/server/pm/PackageSetting;)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageManagerServiceUtils;->getCompressedFiles(Ljava/lang/String;)[Ljava/io/File;
 HSPLcom/android/server/pm/PackageManagerServiceUtils;->getLastModifiedTime(Landroid/content/pm/PackageParser$Package;)J
-HSPLcom/android/server/pm/PackageSender;->notifyPackageAdded(Ljava/lang/String;)V
-HSPLcom/android/server/pm/PackageSender;->notifyPackageRemoved(Ljava/lang/String;)V
-HSPLcom/android/server/pm/PackageSender;->sendPackageAddedForNewUsers(Ljava/lang/String;ZZI[I[I)V
-HSPLcom/android/server/pm/PackageSender;->sendPackageBroadcast(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I[I)V
+HSPLcom/android/server/pm/PackageManagerServiceUtils;->isApkVerificationForced(Lcom/android/server/pm/PackageSetting;)Z
+HSPLcom/android/server/pm/PackageManagerServiceUtils;->verifySignatures(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageParser$SigningDetails;ZZ)Z
+HSPLcom/android/server/pm/PackageSetting;-><init>(Lcom/android/server/pm/PackageSetting;)V
+HSPLcom/android/server/pm/PackageSetting;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JIILjava/lang/String;Ljava/util/List;I[Ljava/lang/String;[J)V
 HSPLcom/android/server/pm/PackageSetting;->getPermissionsState()Lcom/android/server/pm/permission/PermissionsState;
-HSPLcom/android/server/pm/PackageSetting;->isSystem()Z
+HSPLcom/android/server/pm/PackageSettingBase;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JIILjava/lang/String;Ljava/util/List;[Ljava/lang/String;[J)V
 HSPLcom/android/server/pm/PackageSettingBase;->doCopy(Lcom/android/server/pm/PackageSettingBase;)V
-HSPLcom/android/server/pm/PackageSettingBase;->getInstantApp(I)Z
 HSPLcom/android/server/pm/PackageSettingBase;->getNotInstalledUserIds()[I
-HSPLcom/android/server/pm/PackageSettingBase;->getPermissionsState()Lcom/android/server/pm/permission/PermissionsState;
-HSPLcom/android/server/pm/PackageSettingBase;->getVirtulalPreload(I)Z
+HSPLcom/android/server/pm/PackageSettingBase;->getSigningDetails()Landroid/content/pm/PackageParser$SigningDetails;
+HSPLcom/android/server/pm/PackageSettingBase;->init(Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
 HSPLcom/android/server/pm/PackageSettingBase;->modifyUserState(I)Landroid/content/pm/PackageUserState;
 HSPLcom/android/server/pm/PackageSettingBase;->readUserState(I)Landroid/content/pm/PackageUserState;
-HSPLcom/android/server/pm/PackageSettingBase;->setTimeStamp(J)V
-HSPLcom/android/server/pm/PackageSignatures;->readCertsListXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/ArrayList;[Landroid/content/pm/Signature;[ILandroid/content/pm/PackageParser$SigningDetails$Builder;)I
+HSPLcom/android/server/pm/PackageSettingBase;->setEnabled(IILjava/lang/String;)V
+HSPLcom/android/server/pm/PackageSettingBase;->setUserState(IJIZZZZIZLjava/lang/String;Landroid/content/pm/SuspendDialogInfo;Landroid/os/PersistableBundle;Landroid/os/PersistableBundle;ZZLjava/lang/String;Landroid/util/ArraySet;Landroid/util/ArraySet;IIILjava/lang/String;)V
+HSPLcom/android/server/pm/PackageSettingBase;->updateFrom(Lcom/android/server/pm/PackageSettingBase;)Lcom/android/server/pm/PackageSettingBase;
+HSPLcom/android/server/pm/PackageSignatures;->readCertsListXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/ArrayList;Ljava/util/ArrayList;IZLandroid/content/pm/PackageParser$SigningDetails$Builder;)I
+HSPLcom/android/server/pm/PackageSignatures;->readXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/ArrayList;)V
+HSPLcom/android/server/pm/PackageSignatures;->writeCertsListXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/ArrayList;[Landroid/content/pm/Signature;Z)V
+HSPLcom/android/server/pm/PackageSignatures;->writeXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Ljava/util/ArrayList;)V
+HSPLcom/android/server/pm/PackageUsage;->parseAsLong(Ljava/lang/String;)J
+HSPLcom/android/server/pm/PackageUsage;->readToken(Ljava/io/InputStream;Ljava/lang/StringBuffer;C)Ljava/lang/String;
+HSPLcom/android/server/pm/PackageUsage;->readVersion1LP(Ljava/util/Map;Ljava/io/InputStream;Ljava/lang/StringBuffer;)V
+HSPLcom/android/server/pm/ParallelPackageParser;->lambda$submit$0$ParallelPackageParser(Ljava/io/File;I)V
+HSPLcom/android/server/pm/ParallelPackageParser;->lambda$submit$0(Lcom/android/server/pm/ParallelPackageParser;Ljava/io/File;I)V
+HSPLcom/android/server/pm/ParallelPackageParser;->parsePackage(Landroid/content/pm/PackageParser;Ljava/io/File;I)Landroid/content/pm/PackageParser$Package;
+HSPLcom/android/server/pm/ParallelPackageParser;->take()Lcom/android/server/pm/ParallelPackageParser$ParseResult;
 HSPLcom/android/server/pm/Policy;->getMatchedSeInfo(Landroid/content/pm/PackageParser$Package;)Ljava/lang/String;
-HSPLcom/android/server/pm/PreferredComponent$Callbacks;->onReadTag(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;)Z
+HSPLcom/android/server/pm/PreferredComponent;-><init>(Lcom/android/server/pm/PreferredComponent$Callbacks;Lorg/xmlpull/v1/XmlPullParser;)V
 HSPLcom/android/server/pm/SELinuxMMAC;->getSeInfo(Landroid/content/pm/PackageParser$Package;ZII)Ljava/lang/String;
-HSPLcom/android/server/pm/SettingBase;->getPermissionsState()Lcom/android/server/pm/permission/PermissionsState;
+HSPLcom/android/server/pm/SettingBase;-><init>(II)V
 HSPLcom/android/server/pm/SettingBase;->setFlags(I)V
 HSPLcom/android/server/pm/SettingBase;->setPrivateFlags(I)V
 HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->parsePermissionsLPr(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/pm/permission/PermissionsState;I)V
-HSPLcom/android/server/pm/Settings;->addUserIdLPw(ILjava/lang/Object;Ljava/lang/Object;)Z
+HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->parseRuntimePermissionsLPr(Lorg/xmlpull/v1/XmlPullParser;I)V
+HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writePermissions(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
+HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writePermissionsForUserAsyncLPr(I)V
+HSPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->writePermissionsSync(I)V
+HSPLcom/android/server/pm/Settings;->acquireAndRegisterNewAppIdLPw(Lcom/android/server/pm/SettingBase;)I
+HSPLcom/android/server/pm/Settings;->addPackageLPw(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IJIILjava/lang/String;Ljava/util/List;[Ljava/lang/String;[J)Lcom/android/server/pm/PackageSetting;
+HSPLcom/android/server/pm/Settings;->addPackageSettingLPw(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/SharedUserSetting;)V
 HSPLcom/android/server/pm/Settings;->getAllUsers(Lcom/android/server/pm/UserManagerService;)Ljava/util/List;
 HSPLcom/android/server/pm/Settings;->getDisabledSystemPkgLPr(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
-HSPLcom/android/server/pm/Settings;->getInternalVersion()Lcom/android/server/pm/Settings$VersionInfo;
+HSPLcom/android/server/pm/Settings;->getInstallerPackageNameLPr(Ljava/lang/String;)Ljava/lang/String;
 HSPLcom/android/server/pm/Settings;->getPackageLPr(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
 HSPLcom/android/server/pm/Settings;->getRenamedPackageLPr(Ljava/lang/String;)Ljava/lang/String;
-HSPLcom/android/server/pm/Settings;->getUserIdLPr(I)Ljava/lang/Object;
+HSPLcom/android/server/pm/Settings;->getSettingLPr(I)Lcom/android/server/pm/SettingBase;
+HSPLcom/android/server/pm/Settings;->getVolumePackagesLPr(Ljava/lang/String;)Ljava/util/List;
+HSPLcom/android/server/pm/Settings;->insertPackageSettingLPw(Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageParser$Package;)V
+HSPLcom/android/server/pm/Settings;->isDisabledSystemPackageLPr(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/Settings;->readComponentsLPr(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/ArraySet;
+HSPLcom/android/server/pm/Settings;->readCrossProfileIntentFiltersLPw(Lorg/xmlpull/v1/XmlPullParser;I)V
 HSPLcom/android/server/pm/Settings;->readInstallPermissionsLPr(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/pm/permission/PermissionsState;)V
 HSPLcom/android/server/pm/Settings;->readLPw(Ljava/util/List;)Z
 HSPLcom/android/server/pm/Settings;->readPackageLPw(Lorg/xmlpull/v1/XmlPullParser;)V
 HSPLcom/android/server/pm/Settings;->readPackageRestrictionsLPr(I)V
-HSPLcom/android/server/pm/Settings;->readSharedUserLPw(Lorg/xmlpull/v1/XmlPullParser;)V
+HSPLcom/android/server/pm/Settings;->registerExistingAppIdLPw(ILcom/android/server/pm/SettingBase;Ljava/lang/Object;)Z
+HSPLcom/android/server/pm/Settings;->updatePackageSetting(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/SharedUserSetting;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILjava/util/List;Lcom/android/server/pm/UserManagerService;[Ljava/lang/String;[J)V
+HSPLcom/android/server/pm/Settings;->writeChildPackagesLPw(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
 HSPLcom/android/server/pm/Settings;->writeIntToFile(Ljava/io/File;I)V
 HSPLcom/android/server/pm/Settings;->writeKernelMappingLPr()V
 HSPLcom/android/server/pm/Settings;->writeKernelMappingLPr(Lcom/android/server/pm/PackageSetting;)V
+HSPLcom/android/server/pm/Settings;->writeKernelMappingLPr(Ljava/lang/String;I[I)V
+HSPLcom/android/server/pm/Settings;->writeKeySetAliasesLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V
+HSPLcom/android/server/pm/Settings;->writeLPr()V
+HSPLcom/android/server/pm/Settings;->writePackageLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageSetting;)V
+HSPLcom/android/server/pm/Settings;->writePackageListLPr(I)V
+HSPLcom/android/server/pm/Settings;->writePackageRestrictionsLPr(I)V
+HSPLcom/android/server/pm/Settings;->writePermissionsLPr(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
+HSPLcom/android/server/pm/Settings;->writeUpgradeKeySetsLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageKeySetData;)V
 HSPLcom/android/server/pm/Settings;->writeUserRestrictionsLPw(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;)V
-HSPLcom/android/server/pm/SharedUserSetting;->getPermissionsState()Lcom/android/server/pm/permission/PermissionsState;
-HSPLcom/android/server/pm/UserManagerService;->checkManageOrCreateUsersPermission(Ljava/lang/String;)V
+HSPLcom/android/server/pm/Settings;->writeUsesStaticLibLPw(Lorg/xmlpull/v1/XmlSerializer;[Ljava/lang/String;[J)V
+HSPLcom/android/server/pm/SharedUserSetting;->getNotInstalledUserIds()[I
+HSPLcom/android/server/pm/UserManagerService$LocalService;->exists(I)Z
+HSPLcom/android/server/pm/UserManagerService$LocalService;->isUserUnlockingOrUnlocked(I)Z
+HSPLcom/android/server/pm/UserManagerService;->exists(I)Z
 HSPLcom/android/server/pm/UserManagerService;->getInstance()Lcom/android/server/pm/UserManagerService;
+HSPLcom/android/server/pm/UserManagerService;->getUserIds()[I
+HSPLcom/android/server/pm/UserManagerService;->getUserInfoLU(I)Landroid/content/pm/UserInfo;
+HSPLcom/android/server/pm/UserManagerService;->getUserInfoNoChecks(I)Landroid/content/pm/UserInfo;
 HSPLcom/android/server/pm/UserManagerService;->getUsers(Z)Ljava/util/List;
 HSPLcom/android/server/pm/UserManagerService;->hasManageOrCreateUsersPermission()Z
-HSPLcom/android/server/pm/UserManagerService;->userWithName(Landroid/content/pm/UserInfo;)Landroid/content/pm/UserInfo;
-HSPLcom/android/server/pm/dex/DexManager$Listener;->onReconcileSecondaryDexFile(Landroid/content/pm/ApplicationInfo;Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;Ljava/lang/String;I)V
-HSPLcom/android/server/pm/permission/BasePermission;-><init>(Ljava/lang/String;Ljava/lang/String;I)V
-HSPLcom/android/server/pm/permission/BasePermission;->computeGids(I)[I
+HSPLcom/android/server/pm/UserManagerService;->hasManagedProfile(I)Z
+HSPLcom/android/server/pm/UserRestrictionsUtils;->readRestrictions(Lorg/xmlpull/v1/XmlPullParser;Landroid/os/Bundle;)V
+HSPLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->mergeAppDataDirs(Ljava/lang/String;I)V
+HSPLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->searchDex(Ljava/lang/String;I)I
+HSPLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->updateCodeLocation(Ljava/lang/String;[Ljava/lang/String;)V
+HSPLcom/android/server/pm/dex/DexManager;->cachePackageCodeLocation(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I)V
+HSPLcom/android/server/pm/dex/DexManager;->getDexPackage(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)Lcom/android/server/pm/dex/DexManager$DexSearchResult;
+HSPLcom/android/server/pm/dex/DexManager;->loadInternal(Ljava/util/Map;)V
+HSPLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;->syncData(Ljava/util/Map;Ljava/util/Set;)V
 HSPLcom/android/server/pm/permission/BasePermission;->createOrUpdate(Lcom/android/server/pm/permission/BasePermission;Landroid/content/pm/PackageParser$Permission;Landroid/content/pm/PackageParser$Package;Ljava/util/Collection;Z)Lcom/android/server/pm/permission/BasePermission;
 HSPLcom/android/server/pm/permission/BasePermission;->findPermissionTree(Ljava/util/Collection;Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
-HSPLcom/android/server/pm/permission/BasePermission;->getName()Ljava/lang/String;
-HSPLcom/android/server/pm/permission/BasePermission;->isAppOp()Z
+HSPLcom/android/server/pm/permission/BasePermission;->generatePermissionInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
 HSPLcom/android/server/pm/permission/BasePermission;->readInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;I)I
 HSPLcom/android/server/pm/permission/BasePermission;->readLPw(Ljava/util/Map;Lorg/xmlpull/v1/XmlPullParser;)Z
-HSPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DefaultPermissionGrantedCallback;->onDefaultRuntimePermissionsGranted(I)V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->addAllPermissionGroups(Landroid/content/pm/PackageParser$Package;Z)V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->addAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->addDynamicPermission(Landroid/content/pm/PermissionInfo;ZILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)Z
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->checkPermission(Ljava/lang/String;Ljava/lang/String;II)I
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->checkUidPermission(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;II)I
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->enforceCrossUserPermission(IIZZLjava/lang/String;)V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->enforceCrossUserPermission(IIZZZLjava/lang/String;)V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->enforceGrantRevokeRuntimePermissionPermissions(Ljava/lang/String;)V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->getAllPermissionGroups(II)Ljava/util/List;
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->getAppOpPermissionPackages(Ljava/lang/String;)[Ljava/lang/String;
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->getDefaultPermissionGrantPolicy()Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;II)I
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->getPermissionGroupInfo(Ljava/lang/String;II)Landroid/content/pm/PermissionGroupInfo;
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;II)Landroid/content/pm/PermissionInfo;
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->getPermissionInfoByGroup(Ljava/lang/String;II)Ljava/util/List;
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->getPermissionSettings()Lcom/android/server/pm/permission/PermissionSettings;
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->getPermissionTEMP(Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->grantRequestedRuntimePermissions(Landroid/content/pm/PackageParser$Package;[I[Ljava/lang/String;ILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->grantRuntimePermissionsGrantedToDisabledPackage(Landroid/content/pm/PackageParser$Package;ILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->isPermissionsReviewRequired(Landroid/content/pm/PackageParser$Package;I)Z
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->removeAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->removeDynamicPermission(Ljava/lang/String;ILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->revokeRuntimePermissionsIfGroupChanged(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->systemReady()V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->updateAllPermissions(Ljava/lang/String;ZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIIILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->updatePermissionFlagsForAllApps(IIIILjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)Z
-HSPLcom/android/server/pm/permission/PermissionManagerInternal;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;ZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
+HSPLcom/android/server/pm/permission/BasePermission;->writeLPr(Lorg/xmlpull/v1/XmlSerializer;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->addAllPermissionGroups(Landroid/content/pm/PackageParser$Package;Z)V
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->addAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->checkUidPermission(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;II)I
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->enforceCrossUserPermission(IIZZLjava/lang/String;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->isPermissionUsageInfoRequired(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->addAllPermissionGroups(Landroid/content/pm/PackageParser$Package;Z)V
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->addAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->checkUidPermission(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;II)I
+HSPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->enforceCrossUserPermission(IIZZLjava/lang/String;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->addAllPermissionGroups(Landroid/content/pm/PackageParser$Package;Z)V
 HSPLcom/android/server/pm/permission/PermissionManagerService;->addAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
-HSPLcom/android/server/pm/permission/PermissionManagerService;->removeAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->checkUidPermission(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;II)I
+HSPLcom/android/server/pm/permission/PermissionManagerService;->enforceCrossUserPermission(IIZZZLjava/lang/String;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionInfoByGroup(Ljava/lang/String;II)Ljava/util/List;
+HSPLcom/android/server/pm/permission/PermissionManagerService;->grantSignaturePermission(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/permission/BasePermission;Lcom/android/server/pm/permission/PermissionsState;)Z
+HSPLcom/android/server/pm/permission/PermissionManagerService;->hasPrivappWhitelistEntry(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;)Z
+HSPLcom/android/server/pm/permission/PermissionManagerService;->isNewPlatformPermissionForPackage(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;)Z
+HSPLcom/android/server/pm/permission/PermissionManagerService;->restorePermissionState(Landroid/content/pm/PackageParser$Package;ZLjava/lang/String;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->restorePermissionState(Landroid/content/pm/PackageParser$Package;ZLjava/lang/String;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->revokePermissionsNoLongerImplicitLocked(Lcom/android/server/pm/permission/PermissionsState;Landroid/content/pm/PackageParser$Package;[I)[I
+HSPLcom/android/server/pm/permission/PermissionManagerService;->setAppOpsLocked(Lcom/android/server/pm/permission/PermissionsState;Landroid/content/pm/PackageParser$Package;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->setInitialGrantForNewImplicitPermissionsLocked(Lcom/android/server/pm/permission/PermissionsState;Lcom/android/server/pm/permission/PermissionsState;Landroid/content/pm/PackageParser$Package;[I)[I
+HSPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;I)I
+HSPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;Ljava/lang/String;ILjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
+HSPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;Ljava/lang/String;ILjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
 HSPLcom/android/server/pm/permission/PermissionSettings;->getAllPermissionTreesLocked()Ljava/util/Collection;
 HSPLcom/android/server/pm/permission/PermissionSettings;->getPermission(Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
 HSPLcom/android/server/pm/permission/PermissionSettings;->getPermissionLocked(Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
-HSPLcom/android/server/pm/permission/PermissionSettings;->isPermissionAppOp(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/permission/PermissionSettings;->putPermissionLocked(Ljava/lang/String;Lcom/android/server/pm/permission/BasePermission;)V
 HSPLcom/android/server/pm/permission/PermissionSettings;->readPermissions(Landroid/util/ArrayMap;Lorg/xmlpull/v1/XmlPullParser;)V
-HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;-><init>(Lcom/android/server/pm/permission/BasePermission;)V
+HSPLcom/android/server/pm/permission/PermissionSettings;->writePermissions(Lorg/xmlpull/v1/XmlSerializer;)V
 HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;-><init>(Lcom/android/server/pm/permission/PermissionsState$PermissionData;)V
-HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->computeGids(I)[I
-HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->getFlags(I)I
 HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->grant(I)Z
-HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->isCompatibleUserId(I)Z
-HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->isDefault()Z
-HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->isGranted(I)Z
-HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->isInstallPermission()Z
-HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->isInstallPermissionKey(I)Z
 HSPLcom/android/server/pm/permission/PermissionsState$PermissionData;->updateFlags(III)Z
-HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;-><init>(Lcom/android/server/pm/permission/PermissionsState$PermissionState;)V
-HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;-><init>(Ljava/lang/String;)V
-HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;->access$000(Lcom/android/server/pm/permission/PermissionsState$PermissionState;)Z
-HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;->access$002(Lcom/android/server/pm/permission/PermissionsState$PermissionState;Z)Z
-HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;->access$100(Lcom/android/server/pm/permission/PermissionsState$PermissionState;)I
-HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;->access$102(Lcom/android/server/pm/permission/PermissionsState$PermissionState;I)I
-HSPLcom/android/server/pm/permission/PermissionsState$PermissionState;->isDefault()Z
-HSPLcom/android/server/pm/permission/PermissionsState;-><init>()V
-HSPLcom/android/server/pm/permission/PermissionsState;->appendInts([I[I)[I
 HSPLcom/android/server/pm/permission/PermissionsState;->computeGids(I)[I
 HSPLcom/android/server/pm/permission/PermissionsState;->copyFrom(Lcom/android/server/pm/permission/PermissionsState;)V
-HSPLcom/android/server/pm/permission/PermissionsState;->enforceValidUserId(I)V
 HSPLcom/android/server/pm/permission/PermissionsState;->ensurePermissionData(Lcom/android/server/pm/permission/BasePermission;)Lcom/android/server/pm/permission/PermissionsState$PermissionData;
+HSPLcom/android/server/pm/permission/PermissionsState;->getPermissionState(Ljava/lang/String;I)Lcom/android/server/pm/permission/PermissionsState$PermissionState;
+HSPLcom/android/server/pm/permission/PermissionsState;->getPermissionStatesInternal(I)Ljava/util/List;
+HSPLcom/android/server/pm/permission/PermissionsState;->getPermissions(I)Ljava/util/Set;
+HSPLcom/android/server/pm/permission/PermissionsState;->getRuntimePermissionState(Ljava/lang/String;I)Lcom/android/server/pm/permission/PermissionsState$PermissionState;
+HSPLcom/android/server/pm/permission/PermissionsState;->getRuntimePermissionStates(I)Ljava/util/List;
 HSPLcom/android/server/pm/permission/PermissionsState;->grantInstallPermission(Lcom/android/server/pm/permission/BasePermission;)I
 HSPLcom/android/server/pm/permission/PermissionsState;->grantPermission(Lcom/android/server/pm/permission/BasePermission;I)I
 HSPLcom/android/server/pm/permission/PermissionsState;->grantRuntimePermission(Lcom/android/server/pm/permission/BasePermission;I)I
+HSPLcom/android/server/pm/permission/PermissionsState;->hasInstallPermission(Ljava/lang/String;)Z
 HSPLcom/android/server/pm/permission/PermissionsState;->hasPermission(Ljava/lang/String;I)Z
+HSPLcom/android/server/pm/permission/PermissionsState;->hasRequestedPermission(Ljava/lang/String;)Z
+HSPLcom/android/server/pm/permission/PermissionsState;->hasRuntimePermission(Ljava/lang/String;I)Z
+HSPLcom/android/server/pm/permission/PermissionsState;->revokeInstallPermission(Lcom/android/server/pm/permission/BasePermission;)I
+HSPLcom/android/server/pm/permission/PermissionsState;->revokePermission(Lcom/android/server/pm/permission/BasePermission;I)I
+HSPLcom/android/server/pm/permission/PermissionsState;->setGlobalGids([I)V
 HSPLcom/android/server/pm/permission/PermissionsState;->updatePermissionFlags(Lcom/android/server/pm/permission/BasePermission;III)Z
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->createInputConsumer(Landroid/os/Looper;Ljava/lang/String;Landroid/view/InputEventReceiver$Factory;)Lcom/android/server/policy/WindowManagerPolicy$InputConsumer;
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->getCameraLensCoverState()I
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->getDockedDividerInsetsLw()I
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->getInputMethodWindowLw()Lcom/android/server/policy/WindowManagerPolicy$WindowState;
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->getLidState()I
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->getStackBounds(IILandroid/graphics/Rect;)V
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->getWindowManagerLock()Ljava/lang/Object;
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->lockDeviceNow()V
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->notifyKeyguardTrustedChanged()V
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->notifyShowingDreamChanged()V
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->onKeyguardShowingAndNotOccludedChanged()V
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->reboot(Z)V
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->rebootSafeMode(Z)V
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->reevaluateStatusBarVisibility()V
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->registerPointerEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->screenTurningOff(Lcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)V
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->shutdown(Z)V
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->switchInputMethod(Z)V
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->switchKeyboardLayout(II)V
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->triggerAnimationFailsafe()V
-HSPLcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;->unregisterPointerEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->addSplashScreen(Landroid/os/IBinder;Ljava/lang/String;ILandroid/content/res/CompatibilityInfo;Ljava/lang/CharSequence;IIIILandroid/content/res/Configuration;I)Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;
-HSPLcom/android/server/policy/WindowManagerPolicy;->adjustConfigurationLw(Landroid/content/res/Configuration;II)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->adjustSystemUiVisibilityLw(I)I
-HSPLcom/android/server/policy/WindowManagerPolicy;->adjustWindowParamsLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;Z)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->allowAppAnimationsLw()Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->applyPostLayoutPolicyLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->beginPostLayoutPolicyLw(II)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->canBeHiddenByKeyguardLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->canDismissBootAnimation()Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->checkAddPermission(Landroid/view/WindowManager$LayoutParams;[I)I
-HSPLcom/android/server/policy/WindowManagerPolicy;->checkShowToOwnerOnly(Landroid/view/WindowManager$LayoutParams;)Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->createHiddenByKeyguardExit(ZZ)Landroid/view/animation/Animation;
-HSPLcom/android/server/policy/WindowManagerPolicy;->createKeyguardWallpaperExit(Z)Landroid/view/animation/Animation;
-HSPLcom/android/server/policy/WindowManagerPolicy;->dismissKeyguardLw(Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->dispatchUnhandledKey(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/KeyEvent;I)Landroid/view/KeyEvent;
-HSPLcom/android/server/policy/WindowManagerPolicy;->dump(Ljava/lang/String;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->enableKeyguard(Z)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->enableScreenAfterBoot()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->exitKeyguardSecurely(Lcom/android/server/policy/WindowManagerPolicy$OnKeyguardExitResult;)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->finishPostLayoutPolicyLw()I
-HSPLcom/android/server/policy/WindowManagerPolicy;->finishedGoingToSleep(I)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->finishedWakingUp()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->focusChangedLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)I
-HSPLcom/android/server/policy/WindowManagerPolicy;->getConfigDisplayHeight(IIIIILandroid/view/DisplayCutout;)I
-HSPLcom/android/server/policy/WindowManagerPolicy;->getConfigDisplayWidth(IIIIILandroid/view/DisplayCutout;)I
-HSPLcom/android/server/policy/WindowManagerPolicy;->getMaxWallpaperLayer()I
-HSPLcom/android/server/policy/WindowManagerPolicy;->getNavBarPosition()I
-HSPLcom/android/server/policy/WindowManagerPolicy;->getNonDecorDisplayHeight(IIIIILandroid/view/DisplayCutout;)I
-HSPLcom/android/server/policy/WindowManagerPolicy;->getNonDecorDisplayWidth(IIIIILandroid/view/DisplayCutout;)I
-HSPLcom/android/server/policy/WindowManagerPolicy;->getNonDecorInsetsLw(IIILandroid/view/DisplayCutout;Landroid/graphics/Rect;)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->getStableInsetsLw(IIILandroid/view/DisplayCutout;Landroid/graphics/Rect;)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->getSystemDecorLayerLw()I
-HSPLcom/android/server/policy/WindowManagerPolicy;->getUserRotationMode()I
-HSPLcom/android/server/policy/WindowManagerPolicy;->hasNavigationBar()Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->hideBootMessages()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->inKeyguardRestrictedKeyInputMode()Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->init(Landroid/content/Context;Landroid/view/IWindowManager;Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->interceptKeyBeforeDispatching(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/KeyEvent;I)J
-HSPLcom/android/server/policy/WindowManagerPolicy;->interceptKeyBeforeQueueing(Landroid/view/KeyEvent;I)I
-HSPLcom/android/server/policy/WindowManagerPolicy;->interceptMotionBeforeQueueingNonInteractive(JI)I
-HSPLcom/android/server/policy/WindowManagerPolicy;->isDefaultOrientationForced()Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->isDockSideAllowed(IIIII)Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->isKeyguardDrawnLw()Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->isKeyguardHostWindow(Landroid/view/WindowManager$LayoutParams;)Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->isKeyguardLocked()Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->isKeyguardOccluded()Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->isKeyguardSecure(I)Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->isKeyguardShowingAndNotOccluded()Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->isKeyguardTrustedLw()Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->isNavBarForcedShownLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->isScreenOn()Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->isShowingDreamLw()Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->isTopLevelWindow(I)Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->keepScreenOnStartedLw()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->keepScreenOnStoppedLw()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->lockNow(Landroid/os/Bundle;)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->notifyCameraLensCoverSwitchChanged(JZ)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->notifyLidSwitchChanged(JZ)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->okToAnimate()Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->onConfigurationChanged()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->onKeyguardOccludedChangedLw(Z)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->onLockTaskStateChangedLw(I)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->onSystemUiStarted()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->performHapticFeedback(ILjava/lang/String;IZ)Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->prepareAddWindowLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;)I
-HSPLcom/android/server/policy/WindowManagerPolicy;->registerShortcutKey(JLcom/android/internal/policy/IShortcutService;)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->removeWindowLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->requestUserActivityNotification()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->rotationForOrientationLw(IIZ)I
-HSPLcom/android/server/policy/WindowManagerPolicy;->rotationHasCompatibleMetricsLw(II)Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->screenTurnedOff()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->screenTurnedOn()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->screenTurningOff(Lcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->screenTurningOn(Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->selectAnimationLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;I)I
-HSPLcom/android/server/policy/WindowManagerPolicy;->selectRotationAnimationLw([I)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->setCurrentOrientationLw(I)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->setCurrentUserLw(I)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->setInitialDisplaySize(Landroid/view/Display;III)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->setLastInputMethodWindowLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->setNavBarVirtualKeyHapticFeedbackEnabledLw(Z)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->setPipVisibilityLw(Z)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->setRecentsVisibilityLw(Z)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->setRotationLw(I)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->setSafeMode(Z)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->setSwitchingUser(Z)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->setUserRotationMode(II)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->shouldRotateSeamlessly(II)Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->showBootMessage(Ljava/lang/CharSequence;Z)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->showGlobalActions()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->showRecentApps()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->startKeyguardExitAnimation(JJ)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->startedGoingToSleep(I)V
-HSPLcom/android/server/policy/WindowManagerPolicy;->startedWakingUp()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->systemBooted()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->systemReady()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->userActivity()V
-HSPLcom/android/server/policy/WindowManagerPolicy;->validateRotationAnimationLw(IIZ)Z
-HSPLcom/android/server/policy/WindowManagerPolicy;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/power/BatterySaverPolicy$BatterySaverPolicyListener;->onBatterySaverPolicyChanged(Lcom/android/server/power/BatterySaverPolicy;)V
-HSPLcom/android/server/power/BatterySaverPolicy;->getBatterySaverPolicy(IZ)Landroid/os/PowerSaveState;
-HSPLcom/android/server/power/PowerManagerService;->access$3100(Ljava/lang/String;)V
-HSPLcom/android/server/power/SuspendBlocker;->acquire()V
-HSPLcom/android/server/power/SuspendBlocker;->release()V
-HSPLcom/android/server/power/SuspendBlocker;->writeToProto(Landroid/util/proto/ProtoOutputStream;J)V
-HSPLcom/android/server/power/batterysaver/BatterySaverController$Plugin;->onBatterySaverChanged(Lcom/android/server/power/batterysaver/BatterySaverController;)V
-HSPLcom/android/server/power/batterysaver/BatterySaverController$Plugin;->onSystemReady(Lcom/android/server/power/batterysaver/BatterySaverController;)V
-HSPLcom/android/server/power/batterysaver/BatterySaverController;->isEnabled()Z
-HSPLcom/android/server/usage/UserUsageStatsService$StatsUpdatedListener;->onNewUpdate(I)V
-HSPLcom/android/server/usage/UserUsageStatsService$StatsUpdatedListener;->onStatsReloaded()V
-HSPLcom/android/server/usage/UserUsageStatsService$StatsUpdatedListener;->onStatsUpdated()V
-HSPLcom/android/server/usb/descriptors/report/Reporting;->report(Lcom/android/server/usb/descriptors/report/ReportCanvas;)V
-HSPLcom/android/server/usb/descriptors/report/Reporting;->shortReport(Lcom/android/server/usb/descriptors/report/ReportCanvas;)V
-HSPLcom/android/server/vr/EnabledComponentsObserver$EnabledComponentChangeListener;->onEnabledComponentChanged()V
-HSPLcom/android/server/wm/AppWindowContainerListener;->keyDispatchingTimedOut(Ljava/lang/String;I)Z
-HSPLcom/android/server/wm/AppWindowContainerListener;->onStartingWindowDrawn(J)V
-HSPLcom/android/server/wm/AppWindowContainerListener;->onWindowsDrawn(J)V
-HSPLcom/android/server/wm/AppWindowContainerListener;->onWindowsGone()V
-HSPLcom/android/server/wm/AppWindowContainerListener;->onWindowsVisible()V
-HSPLcom/android/server/wm/RecentsAnimationController$RecentsAnimationCallbacks;->onAnimationFinished(IZ)V
-HSPLcom/android/server/wm/StackWindowListener;->requestResize(Landroid/graphics/Rect;)V
-HSPLcom/android/server/wm/TaskWindowContainerListener;->onSnapshotChanged(Landroid/app/ActivityManager$TaskSnapshot;)V
-HSPLcom/android/server/wm/TaskWindowContainerListener;->requestResize(Landroid/graphics/Rect;I)V
-HSPLcom/android/server/wm/WindowContainerListener;->registerConfigurationChangeListener(Lcom/android/server/wm/ConfigurationContainerListener;)V
-HSPLcom/android/server/wm/WindowContainerListener;->unregisterConfigurationChangeListener(Lcom/android/server/wm/ConfigurationContainerListener;)V
-Lcom/android/server/-$$Lambda$AppOpsService$1lQKm3WHEUQsD7KzYyJ5stQSc04;
-Lcom/android/server/-$$Lambda$AppOpsService$NC5g1JY4YR6y4VePru4TO7AKp8M;
-Lcom/android/server/-$$Lambda$AppOpsService$UKMH8n9xZqCOX59uFPylskhjBgo;
-Lcom/android/server/-$$Lambda$AppOpsService$lxgFmOnGguOiLyfUZbyOpNBfTVw;
+HSPLcom/android/server/policy/PhoneWindowManager;->applyKeyguardPolicyLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
+HSPLcom/android/server/policy/PhoneWindowManager;->canBeHiddenByKeyguardLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
+HSPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(IZ)I
+HSPLcom/android/server/power/PowerManagerService;->acquireWakeLockInternal(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;II)V
+HSPLcom/android/server/power/PowerManagerService;->getWakeLockSummaryFlags(Lcom/android/server/power/PowerManagerService$WakeLock;)I
+HSPLcom/android/server/power/PowerManagerService;->updateWakeLockSummaryLocked(I)V
+HSPLcom/android/server/role/-$$Lambda$RoleManagerService$puhjbRBOtgaj-Pp3Y2aQs0UA-58;->acceptOrThrow(Ljava/lang/Object;)V
+HSPLcom/android/server/role/RoleManagerService;->lambda$computeComponentStateHash$0(Ljava/io/ByteArrayOutputStream;Landroid/content/pm/PackageManagerInternal;ILandroid/content/pm/PackageParser$Package;)V
+HSPLcom/android/server/stats/StatsCompanionService;->informAllUidsLocked(Landroid/content/Context;)V
+HSPLcom/android/server/usage/AppIdleHistory;->getAppUsageHistory(Ljava/lang/String;IJ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
+HSPLcom/android/server/usage/AppIdleHistory;->getElapsedTime(J)J
+HSPLcom/android/server/usage/AppIdleHistory;->getPackageHistory(Landroid/util/ArrayMap;Ljava/lang/String;JZ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
+HSPLcom/android/server/usage/AppIdleHistory;->getScreenOnTime(J)J
+HSPLcom/android/server/usage/AppIdleHistory;->getThresholdIndex(Ljava/lang/String;IJ[J[J)I
+HSPLcom/android/server/usage/AppIdleHistory;->isIdle(Ljava/lang/String;IJ)Z
+HSPLcom/android/server/usage/AppIdleHistory;->readAppIdleTimes(ILandroid/util/ArrayMap;)V
+HSPLcom/android/server/usage/AppIdleHistory;->setAppStandbyBucket(Ljava/lang/String;IJII)V
+HSPLcom/android/server/usage/AppIdleHistory;->setAppStandbyBucket(Ljava/lang/String;IJIIZ)V
+HSPLcom/android/server/usage/AppIdleHistory;->shouldInformListeners(Ljava/lang/String;IJI)Z
+HSPLcom/android/server/usage/AppStandbyController$AppStandbyHandler;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/usage/AppStandbyController$Injector;->getActiveNetworkScorer()Ljava/lang/String;
+HSPLcom/android/server/usage/AppStandbyController$Injector;->isBoundWidgetPackage(Landroid/appwidget/AppWidgetManager;Ljava/lang/String;I)Z
+HSPLcom/android/server/usage/AppStandbyController$Injector;->isPowerSaveWhitelistExceptIdleApp(Ljava/lang/String;)Z
+HSPLcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;->obtain(Ljava/lang/String;IIIZ)Lcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;
+HSPLcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;->recycle()V
+HSPLcom/android/server/usage/AppStandbyController;->checkAndUpdateStandbyState(Ljava/lang/String;IIJ)V
+HSPLcom/android/server/usage/AppStandbyController;->checkIdleStates(I)Z
+HSPLcom/android/server/usage/AppStandbyController;->getBucketForLocked(Ljava/lang/String;IJ)I
+HSPLcom/android/server/usage/AppStandbyController;->getIdleUidsForUser(I)[I
+HSPLcom/android/server/usage/AppStandbyController;->informListeners(Ljava/lang/String;IIIZ)V
+HSPLcom/android/server/usage/AppStandbyController;->isActiveDeviceAdmin(Ljava/lang/String;I)Z
+HSPLcom/android/server/usage/AppStandbyController;->isAppIdleFiltered(Ljava/lang/String;IIJ)Z
+HSPLcom/android/server/usage/AppStandbyController;->isAppIdleUnfiltered(Ljava/lang/String;IJ)Z
+HSPLcom/android/server/usage/AppStandbyController;->isAppSpecial(Ljava/lang/String;II)Z
+HSPLcom/android/server/usage/AppStandbyController;->isCarrierApp(Ljava/lang/String;)Z
+HSPLcom/android/server/usage/AppStandbyController;->maybeInformListeners(Ljava/lang/String;IJIIZ)V
+HSPLcom/android/server/usage/AppStandbyController;->reportEvent(Landroid/app/usage/UsageEvents$Event;JI)V
+HSPLcom/android/server/usage/IntervalStats;->addEvent(Landroid/app/usage/UsageEvents$Event;)V
+HSPLcom/android/server/usage/IntervalStats;->buildEvent(Landroid/util/proto/ProtoInputStream;Ljava/util/List;)Landroid/app/usage/UsageEvents$Event;
+HSPLcom/android/server/usage/IntervalStats;->getOrCreateUsageStats(Ljava/lang/String;)Landroid/app/usage/UsageStats;
+HSPLcom/android/server/usage/IntervalStats;->update(Ljava/lang/String;Ljava/lang/String;JII)V
+HSPLcom/android/server/usage/UnixCalendar;->getTimeInMillis()J
+HSPLcom/android/server/usage/UsageStatsDatabase;->parseBeginTime(Ljava/io/File;)J
+HSPLcom/android/server/usage/UsageStatsDatabase;->readLocked(Landroid/util/AtomicFile;Lcom/android/server/usage/IntervalStats;I)V
+HSPLcom/android/server/usage/UsageStatsProto;->loadConfigStats(Landroid/util/proto/ProtoInputStream;JLcom/android/server/usage/IntervalStats;)V
+HSPLcom/android/server/usage/UsageStatsProto;->loadEvent(Landroid/util/proto/ProtoInputStream;JLcom/android/server/usage/IntervalStats;Ljava/util/List;)V
+HSPLcom/android/server/usage/UsageStatsProto;->loadUsageStats(Landroid/util/proto/ProtoInputStream;JLcom/android/server/usage/IntervalStats;Ljava/util/List;)V
+HSPLcom/android/server/usage/UsageStatsProto;->read(Ljava/io/InputStream;Lcom/android/server/usage/IntervalStats;)V
+HSPLcom/android/server/usage/UsageStatsProto;->readStringPool(Landroid/util/proto/ProtoInputStream;)Ljava/util/List;
+HSPLcom/android/server/usage/UsageStatsProto;->write(Ljava/io/OutputStream;Lcom/android/server/usage/IntervalStats;)V
+HSPLcom/android/server/usage/UsageStatsProto;->writeChooserCounts(Landroid/util/proto/ProtoOutputStream;Landroid/app/usage/UsageStats;)V
+HSPLcom/android/server/usage/UsageStatsProto;->writeEvent(Landroid/util/proto/ProtoOutputStream;JLcom/android/server/usage/IntervalStats;Landroid/app/usage/UsageEvents$Event;)V
+HSPLcom/android/server/usage/UsageStatsProto;->writeStringPool(Landroid/util/proto/ProtoOutputStream;Lcom/android/server/usage/IntervalStats;)V
+HSPLcom/android/server/usage/UsageStatsProto;->writeUsageStats(Landroid/util/proto/ProtoOutputStream;JLcom/android/server/usage/IntervalStats;Landroid/app/usage/UsageStats;)V
+HSPLcom/android/server/usage/UsageStatsService$1;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
+HSPLcom/android/server/usage/UsageStatsService$H;->handleMessage(Landroid/os/Message;)V
+HSPLcom/android/server/usage/UsageStatsService$LocalService;->isAppIdle(Ljava/lang/String;II)Z
+HSPLcom/android/server/usage/UsageStatsService;->checkAndGetTimeLocked()J
+HSPLcom/android/server/usage/UsageStatsService;->getUserDataAndInitializeIfNeededLocked(IJ)Lcom/android/server/usage/UserUsageStatsService;
+HSPLcom/android/server/usage/UsageStatsService;->reportEvent(Landroid/app/usage/UsageEvents$Event;I)V
+HSPLcom/android/server/usage/UserUsageStatsService;->reportEvent(Landroid/app/usage/UsageEvents$Event;)V
+HSPLcom/android/server/wifi/scanner/KnownBandsChannelHelper;->setBandChannels([I[I[I)V
+HSPLcom/android/server/wm/-$$Lambda$DisplayContent$JibsaX4YnJd0ta_wiDDdSp-PjQk;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/wm/ActivityStack;->getDisplay()Lcom/android/server/wm/ActivityDisplay;
+HSPLcom/android/server/wm/ActivityStack;->topRunningActivityLocked()Lcom/android/server/wm/ActivityRecord;
+HSPLcom/android/server/wm/ActivityStack;->topRunningActivityLocked(Z)Lcom/android/server/wm/ActivityRecord;
+HSPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isCallerRecents(I)Z
+HSPLcom/android/server/wm/ActivityTaskManagerService;->getGlobalConfigurationForPid(I)Landroid/content/res/Configuration;
+HSPLcom/android/server/wm/ActivityTaskManagerService;->getRecentTasks()Lcom/android/server/wm/RecentTasks;
+HSPLcom/android/server/wm/AppWindowToken;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HSPLcom/android/server/wm/AppWindowToken;->forAllWindowsUnchecked(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HSPLcom/android/server/wm/AppWindowToken;->getTask()Lcom/android/server/wm/Task;
+HSPLcom/android/server/wm/ConfigurationContainer;->getActivityType()I
+HSPLcom/android/server/wm/ConfigurationContainer;->getBounds()Landroid/graphics/Rect;
+HSPLcom/android/server/wm/ConfigurationContainer;->getConfiguration()Landroid/content/res/Configuration;
+HSPLcom/android/server/wm/ConfigurationContainer;->getMergedOverrideConfiguration()Landroid/content/res/Configuration;
+HSPLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideBounds()Landroid/graphics/Rect;
+HSPLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideConfiguration()Landroid/content/res/Configuration;
+HSPLcom/android/server/wm/ConfigurationContainer;->getWindowConfiguration()Landroid/app/WindowConfiguration;
+HSPLcom/android/server/wm/ConfigurationContainer;->getWindowingMode()I
+HSPLcom/android/server/wm/ConfigurationContainer;->inPinnedWindowingMode()Z
+HSPLcom/android/server/wm/ConfigurationContainer;->inSplitScreenPrimaryWindowingMode()Z
+HSPLcom/android/server/wm/ConfigurationContainer;->matchParentBounds()Z
+HSPLcom/android/server/wm/Dimmer;->resetDimStates()V
+HSPLcom/android/server/wm/Dimmer;->updateDims(Landroid/view/SurfaceControl$Transaction;Landroid/graphics/Rect;)Z
+HSPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->getDimmer()Lcom/android/server/wm/Dimmer;
+HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->forAllExitingAppTokenWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HSPLcom/android/server/wm/DisplayContent$TaskStackContainers;->getHomeStack()Lcom/android/server/wm/TaskStack;
+HSPLcom/android/server/wm/DisplayContent;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HSPLcom/android/server/wm/DisplayContent;->getDisplayId()I
+HSPLcom/android/server/wm/DisplayContent;->getDisplayPolicy()Lcom/android/server/wm/DisplayPolicy;
+HSPLcom/android/server/wm/DisplayContent;->getHomeStack()Lcom/android/server/wm/TaskStack;
+HSPLcom/android/server/wm/DisplayContent;->lambda$new$7$DisplayContent(Lcom/android/server/wm/WindowState;)V
+HSPLcom/android/server/wm/DisplayPolicy;->applyPostLayoutPolicyLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V
+HSPLcom/android/server/wm/DisplayPolicy;->hasNavigationBar()Z
+HSPLcom/android/server/wm/DisplayPolicy;->navigationBarCanMove()Z
+HSPLcom/android/server/wm/DisplayPolicy;->navigationBarPosition(III)I
+HSPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->accept(Lcom/android/server/wm/WindowState;)V
+HSPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->accept(Ljava/lang/Object;)V
+HSPLcom/android/server/wm/PolicyControl;->getWindowFlags(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)I
+HSPLcom/android/server/wm/RecentTasks;->isCallerRecents(I)Z
+HSPLcom/android/server/wm/RootActivityContainer;->getActivityDisplay(I)Lcom/android/server/wm/ActivityDisplay;
+HSPLcom/android/server/wm/RootWindowContainer;->getDisplayContent(I)Lcom/android/server/wm/DisplayContent;
+HSPLcom/android/server/wm/RootWindowContainer;->performSurfacePlacement(Z)V
+HSPLcom/android/server/wm/SurfaceAnimator;->hasLeash()Z
+HSPLcom/android/server/wm/SurfaceAnimator;->isAnimating()Z
+HSPLcom/android/server/wm/TaskStack;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
+HSPLcom/android/server/wm/TaskStack;->getStackOutset()I
+HSPLcom/android/server/wm/WindowAnimator;->scheduleAnimation()V
+HSPLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;->apply(Ljava/lang/Object;)Z
+HSPLcom/android/server/wm/WindowContainer;->checkAppWindowsReadyToShow()V
+HSPLcom/android/server/wm/WindowContainer;->checkCompleteDeferredRemoval()Z
+HSPLcom/android/server/wm/WindowContainer;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HSPLcom/android/server/wm/WindowContainer;->forAllWindows(Ljava/util/function/Consumer;Z)V
+HSPLcom/android/server/wm/WindowContainer;->getDimmer()Lcom/android/server/wm/Dimmer;
+HSPLcom/android/server/wm/WindowContainer;->getDisplayedBounds()Landroid/graphics/Rect;
+HSPLcom/android/server/wm/WindowContainer;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;
+HSPLcom/android/server/wm/WindowContainer;->getWindow(Ljava/util/function/Predicate;)Lcom/android/server/wm/WindowState;
+HSPLcom/android/server/wm/WindowContainer;->isAnimating()Z
+HSPLcom/android/server/wm/WindowContainer;->isAppAnimating()Z
+HSPLcom/android/server/wm/WindowContainer;->isSelfAnimating()Z
+HSPLcom/android/server/wm/WindowContainer;->isSelfOrChildAnimating()Z
+HSPLcom/android/server/wm/WindowContainer;->prepareSurfaces()V
+HSPLcom/android/server/wm/WindowContainer;->scheduleAnimation()V
+HSPLcom/android/server/wm/WindowFrames;->setContentChanged(Z)V
+HSPLcom/android/server/wm/WindowManagerService;->scheduleAnimationLocked()V
+HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->boost()V
+HSPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->reset()V
+HSPLcom/android/server/wm/WindowProcessController;->setCurrentProcState(I)V
+HSPLcom/android/server/wm/WindowProcessController;->setCurrentSchedulingGroup(I)V
+HSPLcom/android/server/wm/WindowProcessController;->setHasForegroundActivities(Z)V
+HSPLcom/android/server/wm/WindowProcessController;->setPerceptible(Z)V
+HSPLcom/android/server/wm/WindowState;->applyDims(Lcom/android/server/wm/Dimmer;)V
+HSPLcom/android/server/wm/WindowState;->canAffectSystemUiFlags()Z
+HSPLcom/android/server/wm/WindowState;->canReceiveKeys()Z
+HSPLcom/android/server/wm/WindowState;->cantReceiveTouchInput()Z
+HSPLcom/android/server/wm/WindowState;->computeDragResizing()Z
+HSPLcom/android/server/wm/WindowState;->forAllWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
+HSPLcom/android/server/wm/WindowState;->getAttrs()Landroid/view/WindowManager$LayoutParams;
+HSPLcom/android/server/wm/WindowState;->getConfiguration()Landroid/content/res/Configuration;
+HSPLcom/android/server/wm/WindowState;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
+HSPLcom/android/server/wm/WindowState;->getDisplayId()I
+HSPLcom/android/server/wm/WindowState;->getFrameLw()Landroid/graphics/Rect;
+HSPLcom/android/server/wm/WindowState;->getOrientationChanging()Z
+HSPLcom/android/server/wm/WindowState;->getParentWindow()Lcom/android/server/wm/WindowState;
+HSPLcom/android/server/wm/WindowState;->getProcessGlobalConfiguration()Landroid/content/res/Configuration;
+HSPLcom/android/server/wm/WindowState;->getStack()Lcom/android/server/wm/TaskStack;
+HSPLcom/android/server/wm/WindowState;->getTask()Lcom/android/server/wm/Task;
+HSPLcom/android/server/wm/WindowState;->getTopParentWindow()Lcom/android/server/wm/WindowState;
+HSPLcom/android/server/wm/WindowState;->getTouchableRegion(Landroid/graphics/Region;)V
+HSPLcom/android/server/wm/WindowState;->getWindowTag()Ljava/lang/CharSequence;
+HSPLcom/android/server/wm/WindowState;->inSizeCompatMode()Z
+HSPLcom/android/server/wm/WindowState;->isChildWindow()Z
+HSPLcom/android/server/wm/WindowState;->isDisplayedLw()Z
+HSPLcom/android/server/wm/WindowState;->isDragResizeChanged()Z
+HSPLcom/android/server/wm/WindowState;->isDrawnLw()Z
+HSPLcom/android/server/wm/WindowState;->isGoneForLayoutLw()Z
+HSPLcom/android/server/wm/WindowState;->isInputMethodTarget()Z
+HSPLcom/android/server/wm/WindowState;->isOnScreen()Z
+HSPLcom/android/server/wm/WindowState;->isParentWindowHidden()Z
+HSPLcom/android/server/wm/WindowState;->isVisible()Z
+HSPLcom/android/server/wm/WindowState;->isVisibleLw()Z
+HSPLcom/android/server/wm/WindowState;->isVisibleOrAdding()Z
+HSPLcom/android/server/wm/WindowState;->prepareSurfaces()V
+HSPLcom/android/server/wm/WindowState;->resetContentChanged()V
+HSPLcom/android/server/wm/WindowState;->transformFrameToSurfacePosition(IILandroid/graphics/Point;)V
+HSPLcom/android/server/wm/WindowState;->transformSurfaceInsetsPosition(Landroid/graphics/Point;Landroid/graphics/Rect;)V
+HSPLcom/android/server/wm/WindowState;->updateSurfacePosition()V
+HSPLcom/android/server/wm/WindowState;->updateSurfacePosition(Landroid/view/SurfaceControl$Transaction;)V
+HSPLcom/android/server/wm/WindowState;->wouldBeVisibleIfPolicyIgnored()Z
+HSPLcom/android/server/wm/WindowStateAnimator;->hasSurface()Z
+HSPLcom/android/server/wm/WindowStateAnimator;->prepareSurfaceLocked(Z)V
+HSPLcom/android/server/wm/WindowSurfaceController;->hasSurface()Z
+HSPLcom/android/server/wm/WindowToken;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
+HSPLcom/android/server/wm/WindowToken;->isHidden()Z
+HSPLcom/android/server/wm/utils/InsetUtils;->insetsBetweenFrames(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+Landroid/hardware/authsecret/V1_0/IAuthSecret$Proxy;
+Landroid/hardware/authsecret/V1_0/IAuthSecret;
+Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;
+Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
+Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback$Stub;
+Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;
+Landroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs$Proxy;
+Landroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;
+Landroid/hardware/configstore/V1_0/OptionalBool;
+Landroid/hardware/health/V1_0/HealthInfo;
+Landroid/hardware/health/V2_0/DiskStats;
+Landroid/hardware/health/V2_0/HealthInfo;
+Landroid/hardware/health/V2_0/IHealth$Proxy;
+Landroid/hardware/health/V2_0/IHealth;
+Landroid/hardware/health/V2_0/IHealthInfoCallback$Stub;
+Landroid/hardware/health/V2_0/IHealthInfoCallback;
+Landroid/hardware/health/V2_0/StorageAttribute;
+Landroid/hardware/health/V2_0/StorageInfo;
+Landroid/hardware/oemlock/V1_0/IOemLock$Proxy;
+Landroid/hardware/oemlock/V1_0/IOemLock;
+Landroid/hardware/usb/V1_0/IUsb$Proxy;
+Landroid/hardware/usb/V1_0/IUsb;
+Landroid/hardware/usb/V1_0/IUsbCallback;
+Landroid/hardware/usb/V1_0/PortStatus;
+Landroid/hardware/usb/V1_1/IUsbCallback;
+Landroid/hardware/usb/V1_1/PortStatus_1_1;
+Landroid/hardware/usb/V1_2/IUsbCallback$Stub;
+Landroid/hardware/usb/V1_2/IUsbCallback;
+Landroid/hardware/weaver/V1_0/IWeaver$Proxy;
+Landroid/hardware/weaver/V1_0/IWeaver$getConfigCallback;
+Landroid/hardware/weaver/V1_0/IWeaver;
+Landroid/hardware/weaver/V1_0/WeaverConfig;
+Landroid/hardware/wifi/V1_0/IWifi$Proxy;
+Landroid/hardware/wifi/V1_0/IWifi$getChipCallback;
+Landroid/hardware/wifi/V1_0/IWifi$getChipIdsCallback;
+Landroid/hardware/wifi/V1_0/IWifi;
+Landroid/hardware/wifi/V1_0/IWifiApIface;
+Landroid/hardware/wifi/V1_0/IWifiChip$ChipIfaceCombination;
+Landroid/hardware/wifi/V1_0/IWifiChip$ChipIfaceCombinationLimit;
+Landroid/hardware/wifi/V1_0/IWifiChip$ChipMode;
+Landroid/hardware/wifi/V1_0/IWifiChip$Proxy;
+Landroid/hardware/wifi/V1_0/IWifiChip$createApIfaceCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip$createNanIfaceCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip$createP2pIfaceCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip$createRttControllerCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip$createStaIfaceCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip$getApIfaceCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip$getApIfaceNamesCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip$getAvailableModesCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip$getIdCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip$getModeCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip$getNanIfaceCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip$getNanIfaceNamesCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip$getP2pIfaceCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip$getP2pIfaceNamesCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip$getStaIfaceCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip$getStaIfaceNamesCallback;
+Landroid/hardware/wifi/V1_0/IWifiChip;
+Landroid/hardware/wifi/V1_0/IWifiChipEventCallback$Stub;
+Landroid/hardware/wifi/V1_0/IWifiChipEventCallback;
+Landroid/hardware/wifi/V1_0/IWifiEventCallback$Stub;
+Landroid/hardware/wifi/V1_0/IWifiEventCallback;
+Landroid/hardware/wifi/V1_0/IWifiIface$getNameCallback;
+Landroid/hardware/wifi/V1_0/IWifiIface$getTypeCallback;
+Landroid/hardware/wifi/V1_0/IWifiIface;
+Landroid/hardware/wifi/V1_0/IWifiNanIface$Proxy;
+Landroid/hardware/wifi/V1_0/IWifiNanIface;
+Landroid/hardware/wifi/V1_0/IWifiNanIfaceEventCallback;
+Landroid/hardware/wifi/V1_0/IWifiP2pIface;
+Landroid/hardware/wifi/V1_0/IWifiRttController$Proxy;
+Landroid/hardware/wifi/V1_0/IWifiRttController$getCapabilitiesCallback;
+Landroid/hardware/wifi/V1_0/IWifiRttController;
+Landroid/hardware/wifi/V1_0/IWifiRttControllerEventCallback$Stub;
+Landroid/hardware/wifi/V1_0/IWifiRttControllerEventCallback;
+Landroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;
+Landroid/hardware/wifi/V1_0/IWifiStaIface$getBackgroundScanCapabilitiesCallback;
+Landroid/hardware/wifi/V1_0/IWifiStaIface;
+Landroid/hardware/wifi/V1_0/IWifiStaIfaceEventCallback$Stub;
+Landroid/hardware/wifi/V1_0/IWifiStaIfaceEventCallback;
+Landroid/hardware/wifi/V1_0/NanCapabilities;
+Landroid/hardware/wifi/V1_0/RttCapabilities;
+Landroid/hardware/wifi/V1_0/StaBackgroundScanCapabilities;
+Landroid/hardware/wifi/V1_0/WifiNanStatus;
+Landroid/hardware/wifi/V1_0/WifiStatus;
+Landroid/hardware/wifi/V1_1/IWifiChip;
+Landroid/hardware/wifi/V1_2/IWifiChip$Proxy;
+Landroid/hardware/wifi/V1_2/IWifiChip;
+Landroid/hardware/wifi/V1_2/IWifiChipEventCallback$Stub;
+Landroid/hardware/wifi/V1_2/IWifiChipEventCallback;
+Landroid/hardware/wifi/V1_2/IWifiNanIface$Proxy;
+Landroid/hardware/wifi/V1_2/IWifiNanIface;
+Landroid/hardware/wifi/V1_2/IWifiNanIfaceEventCallback$Stub;
+Landroid/hardware/wifi/V1_2/IWifiNanIfaceEventCallback;
+Landroid/hardware/wifi/V1_3/IWifiChip$Proxy;
+Landroid/hardware/wifi/V1_3/IWifiChip$getCapabilities_1_3Callback;
+Landroid/hardware/wifi/V1_3/IWifiChip;
+Landroid/hardware/wifi/hostapd/V1_0/HostapdStatus;
+Landroid/hardware/wifi/hostapd/V1_0/IHostapd$ChannelParams;
+Landroid/hardware/wifi/hostapd/V1_0/IHostapd$HwModeParams;
+Landroid/hardware/wifi/hostapd/V1_0/IHostapd$IfaceParams;
+Landroid/hardware/wifi/hostapd/V1_0/IHostapd$NetworkParams;
+Landroid/hardware/wifi/hostapd/V1_0/IHostapd;
+Landroid/hardware/wifi/hostapd/V1_1/IHostapd$AcsChannelRange;
+Landroid/hardware/wifi/hostapd/V1_1/IHostapd$ChannelParams;
+Landroid/hardware/wifi/hostapd/V1_1/IHostapd$IfaceParams;
+Landroid/hardware/wifi/hostapd/V1_1/IHostapd;
+Landroid/hardware/wifi/hostapd/V1_1/IHostapdCallback$Stub;
+Landroid/hardware/wifi/hostapd/V1_1/IHostapdCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicant$IfaceInfo;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicant$Proxy;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicant$getInterfaceCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicant$listInterfacesCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicant;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantIface$Proxy;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantIface$addNetworkCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantIface$getNameCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantIface$getNetworkCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantIface$listNetworksCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantIface;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantNetwork;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pIface$FreqRange;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pIface$connectCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pIface$createNfcHandoverRequestMessageCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pIface$createNfcHandoverSelectMessageCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pIface$getDeviceAddressCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pIface$getGroupCapabilityCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pIface$getSsidCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pIface$requestServiceDiscoveryCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pIface$startWpsPinDisplayCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pIface;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pIfaceCallback$Stub;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pIfaceCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pNetwork$getBssidCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pNetwork$getClientListCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pNetwork$getSsidCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pNetwork$isCurrentCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pNetwork$isGoCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantP2pNetwork;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIface$getMacAddressCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIface$startWpsPinDisplayCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIface;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIfaceCallback$Stub;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIfaceCallback;
+Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork;
+Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+Landroid/hardware/wifi/supplicant/V1_1/ISupplicant$Proxy;
+Landroid/hardware/wifi/supplicant/V1_1/ISupplicant$addInterfaceCallback;
+Landroid/hardware/wifi/supplicant/V1_1/ISupplicant;
+Landroid/hardware/wifi/supplicant/V1_1/ISupplicantStaIface;
+Landroid/hardware/wifi/supplicant/V1_1/ISupplicantStaIfaceCallback$Stub;
+Landroid/hardware/wifi/supplicant/V1_1/ISupplicantStaIfaceCallback;
+Landroid/hardware/wifi/supplicant/V1_2/ISupplicant;
+Landroid/hardware/wifi/supplicant/V1_2/ISupplicantP2pIface;
+Landroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;
+Landroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$addDppPeerUriCallback;
+Landroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$getKeyMgmtCapabilitiesCallback;
+Landroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface;
+Landroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIfaceCallback$Stub;
+Landroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIfaceCallback;
+Landroid/hidl/base/V1_0/IBase;
+Landroid/hidl/manager/V1_0/IServiceManager$Proxy;
+Landroid/hidl/manager/V1_0/IServiceManager;
+Landroid/hidl/manager/V1_0/IServiceNotification$Stub;
+Landroid/hidl/manager/V1_0/IServiceNotification;
+Landroid/hidl/manager/V1_1/IServiceManager;
+Landroid/hidl/manager/V1_2/IServiceManager$Proxy;
+Landroid/hidl/manager/V1_2/IServiceManager;
+Landroid/net/-$$Lambda$NetworkStackClient$EsrnifYD8E-HxTwVQsf45HJKvtM;
+Landroid/net/INetd$Stub$Proxy;
+Landroid/net/INetd$Stub;
+Landroid/net/INetd;
+Landroid/net/INetdUnsolicitedEventListener$Stub;
+Landroid/net/INetdUnsolicitedEventListener;
+Landroid/net/INetworkMonitor;
+Landroid/net/INetworkStackConnector;
+Landroid/net/NetworkStackClient$NetworkStackCallback;
+Landroid/net/NetworkStackClient$NetworkStackConnection;
+Landroid/net/NetworkStackClient;
+Landroid/net/ProvisioningConfigurationParcelable;
+Landroid/net/ProxyInfoParcelable;
+Landroid/net/dhcp/IDhcpServer;
+Landroid/net/ip/IIpClient;
+Landroid/net/ip/IIpClientCallbacks$Stub;
+Landroid/net/ip/IIpClientCallbacks;
+Landroid/net/ip/InterfaceController;
+Landroid/net/ip/IpClientCallbacks;
+Landroid/net/ip/IpClientUtil$IpClientCallbacksProxy;
+Landroid/net/ip/IpClientUtil;
+Landroid/net/ip/IpServer$BaseServingState;
+Landroid/net/ip/IpServer$Callback;
+Landroid/net/ip/IpServer$Dependencies;
+Landroid/net/ip/IpServer$InitialState;
+Landroid/net/ip/IpServer$LocalHotspotState;
+Landroid/net/ip/IpServer$TetheredState;
+Landroid/net/ip/IpServer$UnavailableState;
+Landroid/net/ip/IpServer;
+Landroid/net/ip/RouterAdvertisementDaemon$RaParams;
+Landroid/net/ip/RouterAdvertisementDaemon;
+Landroid/net/metrics/INetdEventListener$Stub;
+Landroid/net/metrics/INetdEventListener;
+Landroid/net/shared/LinkPropertiesParcelableUtil;
+Landroid/net/shared/PrivateDnsConfig;
+Landroid/net/shared/ProvisioningConfiguration$Builder;
+Landroid/net/shared/ProvisioningConfiguration;
+Landroid/net/util/InterfaceParams;
+Landroid/net/util/InterfaceSet;
+Landroid/net/util/NetdService;
+Landroid/net/util/PrefixUtils;
+Landroid/net/util/SharedLog$Category;
+Landroid/net/util/SharedLog;
+Landroid/net/util/VersionedBroadcastListener$Receiver;
+Landroid/net/util/VersionedBroadcastListener;
+Landroid/net/wifi/IClientInterface$Stub$Proxy;
+Landroid/net/wifi/IClientInterface$Stub;
+Landroid/net/wifi/IClientInterface;
+Landroid/net/wifi/IPnoScanEvent$Stub;
+Landroid/net/wifi/IPnoScanEvent;
+Landroid/net/wifi/IScanEvent$Stub;
+Landroid/net/wifi/IScanEvent;
+Landroid/net/wifi/IWifiScannerImpl$Stub$Proxy;
+Landroid/net/wifi/IWifiScannerImpl$Stub;
+Landroid/net/wifi/IWifiScannerImpl;
+Landroid/net/wifi/IWificond$Stub$Proxy;
+Landroid/net/wifi/IWificond$Stub;
+Landroid/net/wifi/IWificond;
+Landroid/os/IIdmap2$Stub$Proxy;
+Landroid/os/IIdmap2$Stub;
+Landroid/os/IIdmap2;
+Lcom/android/location/provider/LocationProviderBase$Service;
+Lcom/android/location/provider/LocationProviderBase;
+Lcom/android/location/provider/LocationRequestUnbundled;
+Lcom/android/location/provider/ProviderPropertiesUnbundled;
+Lcom/android/location/provider/ProviderRequestUnbundled;
+Lcom/android/server/-$$Lambda$1xUIIN0BU8izGcnYWT-VzczLBFU;
+Lcom/android/server/-$$Lambda$AlarmManagerService$ZVedZIeWdB3G6AGM0_-9P_GEO24;
+Lcom/android/server/-$$Lambda$AppStateTracker$zzioY8jvEm-1GnJ13CUiQGauPEE;
+Lcom/android/server/-$$Lambda$BatteryService$2x73lvpB0jctMSVP4qb9sHAqRPw;
+Lcom/android/server/-$$Lambda$BatteryService$D1kwd7L7yyqN5niz3KWkTepVmUk;
+Lcom/android/server/-$$Lambda$ConnectivityService$SFqiR4Pfksb1C7csMC3uNxCllR8;
+Lcom/android/server/-$$Lambda$ContextHubSystemService$q-5gSEKm3he-4vIHcay4DLtf85E;
+Lcom/android/server/-$$Lambda$DeviceIdleController$Lhneg3gOUCFQWz6Y-5S75AWemY8;
+Lcom/android/server/-$$Lambda$GraphicsStatsService$2EDVu98hsJvSwNgKvijVLSR3IrQ;
+Lcom/android/server/-$$Lambda$HALkbmbB2IPr_wdFkPjiIWCzJsY;
+Lcom/android/server/-$$Lambda$IpSecService$AnqunmSwm_yQvDDEPg-gokhVs5M;
+Lcom/android/server/-$$Lambda$LocationManagerService$LocationProvider$nsL4uwojBLPzs1TzMfpQIBSm7p0;
+Lcom/android/server/-$$Lambda$LocationManagerService$bojY6dMaI07zh6_sF7ERxgmk6U0;
+Lcom/android/server/-$$Lambda$LocationManagerService$c--nwJDEsjSPyI_6OK8sVC5iClY;
+Lcom/android/server/-$$Lambda$LocationManagerService$pUnNobtfzLC9eAlVqCMKySwbo3U;
+Lcom/android/server/-$$Lambda$LocationManagerService$ta09t47XwQMZdhPftO1K9zdy5Mk;
 Lcom/android/server/-$$Lambda$LockGuard$C107ImDhsfBAwlfWxZPBoVXIl_4;
+Lcom/android/server/-$$Lambda$NetworkManagementService$JKmkb4AIm_PPzQp1XOHOgPPRswo;
+Lcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$KpFpi2qBs2OPscTclZ3JRRr-G-g;
+Lcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$QjjL0oku3yfQh6xuCG2xu7lWiSM;
+Lcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$ne4qDQiQuX7-WNuF8Q_c7HnWnG0;
+Lcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$pOV71EYm5PphEVG1PGQnV_c6XiA;
+Lcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$praKgcnQG9FTHNMGfCVPTVY8mK8;
+Lcom/android/server/-$$Lambda$NetworkManagementService$VhSl9D6THA_3jE0unleMmkHavJ0;
+Lcom/android/server/-$$Lambda$NetworkManagementService$Yw12yNgo43yul34SibAKDtttAK8;
+Lcom/android/server/-$$Lambda$NetworkManagementService$_L953cbquVj0BMBP1MZlSTm0Umg;
+Lcom/android/server/-$$Lambda$NetworkManagementService$hs6djmKbGd8sG4u1TMglrogNP_s;
+Lcom/android/server/-$$Lambda$NetworkManagementService$vX8dVVYxxv3YT9jQuN34bgGgRa8;
+Lcom/android/server/-$$Lambda$PackageWatchdog$a9_AwAvl6vknTazIAvycouLJHwo;
+Lcom/android/server/-$$Lambda$PersistentDataBlockService$EZl9OYaT2eNL7kfSr2nKUBjxidk;
+Lcom/android/server/-$$Lambda$PinnerService$3$3Ta6TX4Jq9YbpUYE5Y0r8Xt8rBw;
+Lcom/android/server/-$$Lambda$PinnerService$3$RQBbrt9b8esLBxJImxDgVTsP34I;
+Lcom/android/server/-$$Lambda$PinnerService$GeEX-8XoHeV0LEszxat7jOSlrs4;
+Lcom/android/server/-$$Lambda$QTLvklqCTz22VSzZPEWJs-o0bv4;
+Lcom/android/server/-$$Lambda$ServiceWatcher$IP3HV4ye72eH3YxzGb9dMfcGWPE;
+Lcom/android/server/-$$Lambda$ServiceWatcher$gVk2fFkq2-aamIua2kIpukAFtf8;
+Lcom/android/server/-$$Lambda$ServiceWatcher$uru7j1zD-GiN8rndFZ3KWaTrxYo;
+Lcom/android/server/-$$Lambda$StorageManagerService$o2Z_M70khUX2rrLNnknKPHIZ0_A;
 Lcom/android/server/-$$Lambda$SystemServer$NlJmG18aPrQduhRqASIdcn7G0z8;
+Lcom/android/server/-$$Lambda$SystemServer$RIWNR87PnJ4Y6VHItRXU0J6ocqQ;
 Lcom/android/server/-$$Lambda$SystemServer$UyrPns7R814g-ZEylCbDKhe8It4;
 Lcom/android/server/-$$Lambda$SystemServer$VBGb9VpEls6bUcVBPwYLtX7qDTs;
 Lcom/android/server/-$$Lambda$SystemServer$Y1gEdKr_Hb7K7cbTDAo_WOJ-SYI;
-Lcom/android/server/-$$Lambda$SystemServer$s9erd2iGXiS7bbg_mQJUxyVboQM;
 Lcom/android/server/-$$Lambda$SystemServerInitThreadPool$7wfLGkZF7FvYZv7xj3ghvuiJJGk;
+Lcom/android/server/-$$Lambda$UiModeManagerService$vYS4_RzjAavNRF50rrGN0tXI5JM;
+Lcom/android/server/-$$Lambda$UiModeManagerService$vuGxqIEDBezs_Xyz-NAh0Bonp5g;
 Lcom/android/server/-$$Lambda$YWiwiKm_Qgqb55C6tTuq_n2JzdY;
+Lcom/android/server/-$$Lambda$hu439-4T6QBT8QyZnspMtXqICWs;
+Lcom/android/server/-$$Lambda$qoNbXUvSu3yuTPVXPUfZW_HDrTQ;
+Lcom/android/server/AlarmManagerInternal$InFlightListener;
 Lcom/android/server/AlarmManagerInternal;
+Lcom/android/server/AlarmManagerService$1;
+Lcom/android/server/AlarmManagerService$2;
+Lcom/android/server/AlarmManagerService$3;
+Lcom/android/server/AlarmManagerService$6;
+Lcom/android/server/AlarmManagerService$Alarm;
+Lcom/android/server/AlarmManagerService$AlarmHandler;
+Lcom/android/server/AlarmManagerService$AlarmThread;
+Lcom/android/server/AlarmManagerService$AppStandbyTracker;
+Lcom/android/server/AlarmManagerService$AppWakeupHistory;
+Lcom/android/server/AlarmManagerService$Batch;
+Lcom/android/server/AlarmManagerService$BatchTimeOrder;
+Lcom/android/server/AlarmManagerService$BroadcastStats;
+Lcom/android/server/AlarmManagerService$ClockReceiver;
+Lcom/android/server/AlarmManagerService$Constants;
+Lcom/android/server/AlarmManagerService$DeliveryTracker;
+Lcom/android/server/AlarmManagerService$FilterStats;
+Lcom/android/server/AlarmManagerService$InFlight;
+Lcom/android/server/AlarmManagerService$IncreasingTimeOrder;
+Lcom/android/server/AlarmManagerService$Injector;
+Lcom/android/server/AlarmManagerService$InteractiveStateReceiver;
+Lcom/android/server/AlarmManagerService$LocalService;
+Lcom/android/server/AlarmManagerService$PriorityClass;
+Lcom/android/server/AlarmManagerService$UidObserver;
+Lcom/android/server/AlarmManagerService$UninstallReceiver;
 Lcom/android/server/AlarmManagerService;
 Lcom/android/server/AnimationThread;
+Lcom/android/server/AnyMotionDetector$1;
+Lcom/android/server/AnyMotionDetector$2;
+Lcom/android/server/AnyMotionDetector$3;
+Lcom/android/server/AnyMotionDetector$4;
 Lcom/android/server/AnyMotionDetector$DeviceIdleCallback;
-Lcom/android/server/AppOpsService$1$1;
-Lcom/android/server/AppOpsService$1;
-Lcom/android/server/AppOpsService$2;
-Lcom/android/server/AppOpsService$3;
-Lcom/android/server/AppOpsService$ActiveCallback;
-Lcom/android/server/AppOpsService$AppOpsManagerInternalImpl;
-Lcom/android/server/AppOpsService$ChangeRec;
-Lcom/android/server/AppOpsService$ClientRestrictionState;
-Lcom/android/server/AppOpsService$ClientState;
-Lcom/android/server/AppOpsService$Constants;
-Lcom/android/server/AppOpsService$ModeCallback;
-Lcom/android/server/AppOpsService$Op;
-Lcom/android/server/AppOpsService$Ops;
-Lcom/android/server/AppOpsService$Restriction;
-Lcom/android/server/AppOpsService$Shell;
-Lcom/android/server/AppOpsService$UidState;
-Lcom/android/server/AppOpsService;
+Lcom/android/server/AnyMotionDetector$RunningSignalStats;
+Lcom/android/server/AnyMotionDetector$Vector3;
+Lcom/android/server/AnyMotionDetector;
+Lcom/android/server/AppStateTracker$AppOpsWatcher;
+Lcom/android/server/AppStateTracker$FeatureFlagsObserver;
 Lcom/android/server/AppStateTracker$Listener;
+Lcom/android/server/AppStateTracker$MyHandler;
+Lcom/android/server/AppStateTracker$MyReceiver;
+Lcom/android/server/AppStateTracker$StandbyTracker;
+Lcom/android/server/AppStateTracker$UidObserver;
 Lcom/android/server/AppStateTracker;
+Lcom/android/server/AttributeCache$Entry;
+Lcom/android/server/AttributeCache$Package;
 Lcom/android/server/AttributeCache;
+Lcom/android/server/BatteryService$2;
+Lcom/android/server/BatteryService$3;
+Lcom/android/server/BatteryService$4;
+Lcom/android/server/BatteryService$8;
+Lcom/android/server/BatteryService$9;
+Lcom/android/server/BatteryService$BatteryPropertiesRegistrar;
+Lcom/android/server/BatteryService$BinderService;
+Lcom/android/server/BatteryService$HealthHalCallback;
+Lcom/android/server/BatteryService$HealthServiceWrapper$Callback;
+Lcom/android/server/BatteryService$HealthServiceWrapper$IHealthSupplier;
+Lcom/android/server/BatteryService$HealthServiceWrapper$IServiceManagerSupplier;
+Lcom/android/server/BatteryService$HealthServiceWrapper$Notification$1;
+Lcom/android/server/BatteryService$HealthServiceWrapper$Notification;
+Lcom/android/server/BatteryService$HealthServiceWrapper;
+Lcom/android/server/BatteryService$Led;
+Lcom/android/server/BatteryService$LocalService;
 Lcom/android/server/BatteryService;
+Lcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;
+Lcom/android/server/BinderCallsStatsService$Internal;
+Lcom/android/server/BinderCallsStatsService$LifeCycle;
+Lcom/android/server/BinderCallsStatsService$SettingsObserver;
 Lcom/android/server/BinderCallsStatsService;
+Lcom/android/server/BluetoothManagerService$1;
+Lcom/android/server/BluetoothManagerService$2;
+Lcom/android/server/BluetoothManagerService$3;
+Lcom/android/server/BluetoothManagerService$4;
+Lcom/android/server/BluetoothManagerService$5;
+Lcom/android/server/BluetoothManagerService$ActiveLog;
+Lcom/android/server/BluetoothManagerService$BluetoothHandler;
+Lcom/android/server/BluetoothManagerService$BluetoothServiceConnection;
+Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;
+Lcom/android/server/BluetoothManagerService;
 Lcom/android/server/BluetoothService;
+Lcom/android/server/CachedDeviceStateService$1;
+Lcom/android/server/CachedDeviceStateService;
+Lcom/android/server/CertBlacklister$BlacklistObserver;
 Lcom/android/server/CertBlacklister;
-Lcom/android/server/CommonTimeManagementService;
+Lcom/android/server/ConnectivityService$1;
+Lcom/android/server/ConnectivityService$2;
+Lcom/android/server/ConnectivityService$3;
+Lcom/android/server/ConnectivityService$4;
+Lcom/android/server/ConnectivityService$5;
+Lcom/android/server/ConnectivityService$6;
+Lcom/android/server/ConnectivityService$7;
+Lcom/android/server/ConnectivityService$InternalHandler;
+Lcom/android/server/ConnectivityService$LegacyTypeTracker;
+Lcom/android/server/ConnectivityService$NetworkFactoryInfo;
+Lcom/android/server/ConnectivityService$NetworkRequestInfo;
+Lcom/android/server/ConnectivityService$NetworkStateTrackerHandler;
+Lcom/android/server/ConnectivityService$SettingsObserver;
 Lcom/android/server/ConnectivityService;
 Lcom/android/server/ConsumerIrService;
 Lcom/android/server/ContextHubSystemService;
+Lcom/android/server/CountryDetectorService$1;
+Lcom/android/server/CountryDetectorService$2;
+Lcom/android/server/CountryDetectorService$Receiver;
 Lcom/android/server/CountryDetectorService;
+Lcom/android/server/DeviceIdleController$1;
+Lcom/android/server/DeviceIdleController$2;
+Lcom/android/server/DeviceIdleController$3;
+Lcom/android/server/DeviceIdleController$4;
+Lcom/android/server/DeviceIdleController$5;
+Lcom/android/server/DeviceIdleController$6;
+Lcom/android/server/DeviceIdleController$7;
+Lcom/android/server/DeviceIdleController$8;
+Lcom/android/server/DeviceIdleController$9;
+Lcom/android/server/DeviceIdleController$BinderService;
+Lcom/android/server/DeviceIdleController$Constants;
+Lcom/android/server/DeviceIdleController$Injector;
 Lcom/android/server/DeviceIdleController$LocalService;
+Lcom/android/server/DeviceIdleController$MotionListener;
+Lcom/android/server/DeviceIdleController$MyHandler;
 Lcom/android/server/DeviceIdleController;
 Lcom/android/server/DiskStatsService;
 Lcom/android/server/DisplayThread;
+Lcom/android/server/DockObserver$1;
+Lcom/android/server/DockObserver$2;
+Lcom/android/server/DockObserver$BinderService;
 Lcom/android/server/DockObserver;
+Lcom/android/server/DropBoxManagerService$1$1;
+Lcom/android/server/DropBoxManagerService$1;
+Lcom/android/server/DropBoxManagerService$2;
+Lcom/android/server/DropBoxManagerService$3;
+Lcom/android/server/DropBoxManagerService$4;
+Lcom/android/server/DropBoxManagerService$EntryFile;
+Lcom/android/server/DropBoxManagerService$FileList;
 Lcom/android/server/DropBoxManagerService;
+Lcom/android/server/DynamicAndroidService;
+Lcom/android/server/EntropyMixer$1;
+Lcom/android/server/EntropyMixer$2;
 Lcom/android/server/EntropyMixer;
 Lcom/android/server/EventLogTags;
+Lcom/android/server/ExtconStateObserver;
+Lcom/android/server/ExtconUEventObserver$ExtconInfo;
+Lcom/android/server/ExtconUEventObserver;
 Lcom/android/server/FgThread;
+Lcom/android/server/GestureLauncherService$1;
+Lcom/android/server/GestureLauncherService$2;
+Lcom/android/server/GestureLauncherService$CameraLiftTriggerEventListener;
+Lcom/android/server/GestureLauncherService$GestureEventListener;
 Lcom/android/server/GestureLauncherService;
+Lcom/android/server/GraphicsStatsService$1;
+Lcom/android/server/GraphicsStatsService$ActiveBuffer;
+Lcom/android/server/GraphicsStatsService$BufferInfo;
 Lcom/android/server/GraphicsStatsService;
 Lcom/android/server/HardwarePropertiesManagerService;
-Lcom/android/server/InputMethodManagerService$Lifecycle;
+Lcom/android/server/INativeDaemonConnectorCallbacks;
 Lcom/android/server/IntentResolver$1;
 Lcom/android/server/IntentResolver$IteratorWrapper;
 Lcom/android/server/IntentResolver;
 Lcom/android/server/IoThread;
+Lcom/android/server/IpSecService$1;
+Lcom/android/server/IpSecService$IpSecServiceConfiguration$1;
+Lcom/android/server/IpSecService$IpSecServiceConfiguration;
+Lcom/android/server/IpSecService$UidFdTagger;
+Lcom/android/server/IpSecService$UserResourceTracker;
 Lcom/android/server/IpSecService;
+Lcom/android/server/LocationManagerService$1;
+Lcom/android/server/LocationManagerService$2;
+Lcom/android/server/LocationManagerService$3;
+Lcom/android/server/LocationManagerService$4;
+Lcom/android/server/LocationManagerService$5;
+Lcom/android/server/LocationManagerService$6;
+Lcom/android/server/LocationManagerService$7;
+Lcom/android/server/LocationManagerService$8;
+Lcom/android/server/LocationManagerService$LinkedListenerBase;
+Lcom/android/server/LocationManagerService$LocationProvider;
+Lcom/android/server/LocationManagerService$Receiver;
+Lcom/android/server/LocationManagerService$UpdateRecord;
 Lcom/android/server/LocationManagerService;
 Lcom/android/server/LockGuard$1;
 Lcom/android/server/LockGuard$LockInfo;
 Lcom/android/server/LockGuard;
+Lcom/android/server/LooperStatsService$Lifecycle;
+Lcom/android/server/LooperStatsService$SettingsObserver;
+Lcom/android/server/LooperStatsService;
+Lcom/android/server/MmsServiceBroker$1;
+Lcom/android/server/MmsServiceBroker$2;
+Lcom/android/server/MmsServiceBroker$3;
+Lcom/android/server/MmsServiceBroker$BinderService;
 Lcom/android/server/MmsServiceBroker;
+Lcom/android/server/MountServiceIdler;
+Lcom/android/server/NativeDaemonConnector$ResponseQueue;
+Lcom/android/server/NativeDaemonConnector;
+Lcom/android/server/NativeDaemonConnectorException;
 Lcom/android/server/NetworkManagementInternal;
+Lcom/android/server/NetworkManagementService$LocalService;
+Lcom/android/server/NetworkManagementService$NetdCallbackReceiver;
+Lcom/android/server/NetworkManagementService$NetdTetheringStatsProvider;
+Lcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;
+Lcom/android/server/NetworkManagementService$NetworkManagementEventCallback;
+Lcom/android/server/NetworkManagementService$SystemServices;
 Lcom/android/server/NetworkManagementService;
+Lcom/android/server/NetworkScoreService$1;
+Lcom/android/server/NetworkScoreService$2;
+Lcom/android/server/NetworkScoreService$3;
+Lcom/android/server/NetworkScoreService$4;
+Lcom/android/server/NetworkScoreService$5;
+Lcom/android/server/NetworkScoreService$DispatchingContentObserver;
 Lcom/android/server/NetworkScoreService$Lifecycle;
+Lcom/android/server/NetworkScoreService$ServiceHandler;
+Lcom/android/server/NetworkScoreService;
+Lcom/android/server/NetworkScorerAppManager$SettingsFacade;
+Lcom/android/server/NetworkScorerAppManager;
 Lcom/android/server/NetworkTimeUpdateService;
+Lcom/android/server/NewNetworkTimeUpdateService$1;
+Lcom/android/server/NewNetworkTimeUpdateService$2;
+Lcom/android/server/NewNetworkTimeUpdateService$MyHandler;
+Lcom/android/server/NewNetworkTimeUpdateService$NetworkTimeUpdateCallback;
+Lcom/android/server/NewNetworkTimeUpdateService$SettingsObserver;
+Lcom/android/server/NewNetworkTimeUpdateService;
+Lcom/android/server/NsdService$DaemonConnection;
+Lcom/android/server/NsdService$DaemonConnectionSupplier;
+Lcom/android/server/NsdService$NativeCallbackReceiver;
+Lcom/android/server/NsdService$NsdSettings$1;
+Lcom/android/server/NsdService$NsdSettings;
+Lcom/android/server/NsdService$NsdStateMachine$1;
+Lcom/android/server/NsdService$NsdStateMachine$DefaultState;
+Lcom/android/server/NsdService$NsdStateMachine$DisabledState;
+Lcom/android/server/NsdService$NsdStateMachine$EnabledState;
+Lcom/android/server/NsdService$NsdStateMachine;
 Lcom/android/server/NsdService;
+Lcom/android/server/PackageWatchdog$ObserverInternal;
+Lcom/android/server/PackageWatchdog$PackageHealthObserver;
+Lcom/android/server/PackageWatchdog;
+Lcom/android/server/PersistentDataBlockManagerInternal;
+Lcom/android/server/PersistentDataBlockService$1;
+Lcom/android/server/PersistentDataBlockService$2;
 Lcom/android/server/PersistentDataBlockService;
+Lcom/android/server/PinnerService$1;
+Lcom/android/server/PinnerService$2;
+Lcom/android/server/PinnerService$3;
+Lcom/android/server/PinnerService$BinderService;
+Lcom/android/server/PinnerService$PinRange;
+Lcom/android/server/PinnerService$PinRangeSource;
+Lcom/android/server/PinnerService$PinRangeSourceStatic;
+Lcom/android/server/PinnerService$PinRangeSourceStream;
+Lcom/android/server/PinnerService$PinnedApp;
+Lcom/android/server/PinnerService$PinnedFile;
+Lcom/android/server/PinnerService$PinnerHandler;
 Lcom/android/server/PinnerService;
 Lcom/android/server/PruneInstantAppsJobService;
+Lcom/android/server/RandomBlock;
 Lcom/android/server/RecoverySystemService$1;
 Lcom/android/server/RecoverySystemService$BinderService;
 Lcom/android/server/RecoverySystemService;
@@ -3087,23 +1259,68 @@
 Lcom/android/server/RescueParty$BootThreshold;
 Lcom/android/server/RescueParty$Threshold;
 Lcom/android/server/RescueParty;
+Lcom/android/server/RuntimeService;
 Lcom/android/server/SensorNotificationService;
+Lcom/android/server/SensorPrivacyService$DeathRecipient;
+Lcom/android/server/SensorPrivacyService$SensorPrivacyHandler;
+Lcom/android/server/SensorPrivacyService$SensorPrivacyServiceImpl;
+Lcom/android/server/SensorPrivacyService;
 Lcom/android/server/SerialService;
 Lcom/android/server/ServiceThread;
+Lcom/android/server/ServiceWatcher$1;
+Lcom/android/server/ServiceWatcher$2;
+Lcom/android/server/ServiceWatcher$BinderRunner;
+Lcom/android/server/ServiceWatcher;
+Lcom/android/server/StorageManagerService$12;
+Lcom/android/server/StorageManagerService$1;
+Lcom/android/server/StorageManagerService$2;
+Lcom/android/server/StorageManagerService$3;
+Lcom/android/server/StorageManagerService$4;
+Lcom/android/server/StorageManagerService$5;
+Lcom/android/server/StorageManagerService$6;
+Lcom/android/server/StorageManagerService$8;
+Lcom/android/server/StorageManagerService$Callbacks;
+Lcom/android/server/StorageManagerService$Lifecycle;
+Lcom/android/server/StorageManagerService$ObbActionHandler;
+Lcom/android/server/StorageManagerService$StorageManagerInternalImpl;
+Lcom/android/server/StorageManagerService$StorageManagerServiceHandler;
+Lcom/android/server/StorageManagerService;
 Lcom/android/server/SystemServer$1;
 Lcom/android/server/SystemServer;
 Lcom/android/server/SystemServerInitThreadPool;
 Lcom/android/server/SystemService;
 Lcom/android/server/SystemServiceManager;
 Lcom/android/server/SystemUpdateManagerService;
+Lcom/android/server/TelephonyRegistry$1;
+Lcom/android/server/TelephonyRegistry$2;
+Lcom/android/server/TelephonyRegistry$3;
+Lcom/android/server/TelephonyRegistry$Record;
+Lcom/android/server/TelephonyRegistry$TelephonyRegistryDeathRecipient;
 Lcom/android/server/TelephonyRegistry;
-Lcom/android/server/TextServicesManagerService$Lifecycle;
 Lcom/android/server/ThreadPriorityBooster$1;
 Lcom/android/server/ThreadPriorityBooster$PriorityState;
 Lcom/android/server/ThreadPriorityBooster;
+Lcom/android/server/UiModeManagerInternal;
+Lcom/android/server/UiModeManagerService$1;
+Lcom/android/server/UiModeManagerService$2;
+Lcom/android/server/UiModeManagerService$3;
+Lcom/android/server/UiModeManagerService$4;
+Lcom/android/server/UiModeManagerService$5;
+Lcom/android/server/UiModeManagerService$6;
+Lcom/android/server/UiModeManagerService$LocalService;
+Lcom/android/server/UiModeManagerService$UserSwitchedReceiver;
 Lcom/android/server/UiModeManagerService;
 Lcom/android/server/UiThread;
+Lcom/android/server/UpdateLockService$LockWatcher;
 Lcom/android/server/UpdateLockService;
+Lcom/android/server/VibratorService$1;
+Lcom/android/server/VibratorService$2;
+Lcom/android/server/VibratorService$3;
+Lcom/android/server/VibratorService$4;
+Lcom/android/server/VibratorService$5;
+Lcom/android/server/VibratorService$ExternalVibratorService;
+Lcom/android/server/VibratorService$ScaleLevel;
+Lcom/android/server/VibratorService$SettingsObserver;
 Lcom/android/server/VibratorService;
 Lcom/android/server/Watchdog$1;
 Lcom/android/server/Watchdog$BinderThreadMonitor;
@@ -3113,63 +1330,87 @@
 Lcom/android/server/Watchdog$RebootRequestReceiver;
 Lcom/android/server/Watchdog;
 Lcom/android/server/WatchdogDiagnostics;
+Lcom/android/server/WiredAccessoryManager$1;
+Lcom/android/server/WiredAccessoryManager$WiredAccessoryExtconObserver;
+Lcom/android/server/WiredAccessoryManager$WiredAccessoryObserver$UEventInfo;
+Lcom/android/server/WiredAccessoryManager$WiredAccessoryObserver;
 Lcom/android/server/WiredAccessoryManager;
+Lcom/android/server/ZramWriteback;
+Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$5vwr6qV-eqdCr73CeDmVnsJlZHM;
+Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$CNt8wbTQCYcsUnUkUCQHtKqr-tY;
+Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$Gu-W_dQ2mWyy8l4tm19TzFxGbeM;
+Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$K4sS36agT2_B03tVUTy8mldugxY;
+Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$RFkfb_W9wnTTs_gy8Dg3k2uQOYQ;
+Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$_rvRsbhZRBJitXrpMqI0NptLUa8;
+Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$heq1MRdQjg8BGWFbpV3PEpnDVcg;
+Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$mAPLBShddfLlktd9Q8jVo04VVXo;
+Lcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$w0ifSldCn8nADYgU7v1foSdmfe0;
 Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;
+Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;
+Lcom/android/server/accessibility/AccessibilityManagerService$1;
+Lcom/android/server/accessibility/AccessibilityManagerService$2;
+Lcom/android/server/accessibility/AccessibilityManagerService$AccessibilityContentObserver;
+Lcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;
+Lcom/android/server/accessibility/AccessibilityManagerService$Client;
+Lcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;
+Lcom/android/server/accessibility/AccessibilityManagerService$MainHandler;
+Lcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;
+Lcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;
+Lcom/android/server/accessibility/AccessibilityManagerService$UserState;
 Lcom/android/server/accessibility/AccessibilityManagerService;
+Lcom/android/server/accessibility/AccessibilityServiceConnection;
+Lcom/android/server/accessibility/FingerprintGestureDispatcher$FingerprintGestureClient;
+Lcom/android/server/accessibility/GlobalActionPerformer;
+Lcom/android/server/accessibility/KeyEventDispatcher$KeyEventFilter;
+Lcom/android/server/accessibility/UiAutomationManager$1;
+Lcom/android/server/accessibility/UiAutomationManager;
+Lcom/android/server/accounts/-$$Lambda$AccountManagerService$c6GExIY3Vh2fORdBziuAPJbExac;
+Lcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;
+Lcom/android/server/accounts/AccountAuthenticatorCache;
+Lcom/android/server/accounts/AccountManagerService$1;
+Lcom/android/server/accounts/AccountManagerService$2;
+Lcom/android/server/accounts/AccountManagerService$3;
+Lcom/android/server/accounts/AccountManagerService$4;
+Lcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;
+Lcom/android/server/accounts/AccountManagerService$Injector;
+Lcom/android/server/accounts/AccountManagerService$Lifecycle;
+Lcom/android/server/accounts/AccountManagerService$MessageHandler;
+Lcom/android/server/accounts/AccountManagerService$UserAccounts;
+Lcom/android/server/accounts/AccountManagerService;
+Lcom/android/server/accounts/AccountsDb$DeDatabaseHelper;
+Lcom/android/server/accounts/AccountsDb;
+Lcom/android/server/accounts/IAccountAuthenticatorCache;
+Lcom/android/server/accounts/TokenCache$TokenLruCache;
+Lcom/android/server/accounts/TokenCache;
+Lcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;
+Lcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;
+Lcom/android/server/adb/AdbDebuggingManager;
+Lcom/android/server/adb/AdbService$AdbHandler;
+Lcom/android/server/adb/AdbService$AdbManagerInternalImpl;
+Lcom/android/server/adb/AdbService$AdbSettingsObserver;
+Lcom/android/server/adb/AdbService$Lifecycle;
+Lcom/android/server/adb/AdbService;
 Lcom/android/server/am/-$$Lambda$5hokEl5hcign5FXeGZdl53qh2zg;
-Lcom/android/server/am/-$$Lambda$ActivityManagerService$3$poTyYzHinA8s8lAJ-y6Bb3JsBNo;
-Lcom/android/server/am/-$$Lambda$ActivityManagerService$UgpguyCBuObHjnmry_xkrJGkFi0;
-Lcom/android/server/am/-$$Lambda$ActivityManagerService$dLQ66dH4nIti4hweaVJTGHj2tMU;
-Lcom/android/server/am/-$$Lambda$ActivityManagerService$eFxS8Z-_MXzP9a8ro45rBMHy3bk;
-Lcom/android/server/am/-$$Lambda$ActivityManagerService$gATL8uvTPRd405IfefK1RL9bNqA;
-Lcom/android/server/am/-$$Lambda$ActivityManagerService$nLON5M4YCRoJpSNB1Y_UERhbBKo;
-Lcom/android/server/am/-$$Lambda$ActivityManagerService$w5jCshLsk1jfv4UDTmEfq_HU0OQ;
-Lcom/android/server/am/-$$Lambda$ActivityMetricsLogger$EXtnEt47a9lJOX0u5R1TXhfh0XE;
-Lcom/android/server/am/-$$Lambda$ActivityStackSupervisor$2EfPspQe887pLmnBFuHkVjyLdzE;
-Lcom/android/server/am/-$$Lambda$ActivityStackSupervisor$x0Vocp-itdO3YPTBM6d_k8Yij7g;
-Lcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$7toxTvZDSEytL0rCkoEfGilPDWM;
-Lcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$Nx17DLnpsjeC2juW1TuPEAogLvE;
+Lcom/android/server/am/-$$Lambda$ActivityManagerService$2afaFERxNQEnSdevJxY5plp1fS4;
+Lcom/android/server/am/-$$Lambda$ActivityManagerService$30I5N5ZS7997YvRBJqVkTZMPd6M;
+Lcom/android/server/am/-$$Lambda$ActivityManagerService$XMDHDkKdzWb8nQlDZRKevGp6Oa8;
+Lcom/android/server/am/-$$Lambda$ActivityManagerService$Z3G4KWA2tlTOhqhFtAvVby1SjyQ;
+Lcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$ML8sXrbYk0MflPvsY2cfCYlcU0w;
 Lcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$PpNEY15dspg9oLlkg1OsyjrPTqw;
-Lcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$cC4f0pNQX9_D9f8AXLmKk2sArGY;
-Lcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$eNtlYRY6yBjSWzaL4STPjcGEduM;
-Lcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$y4b5S_CLdUbDV0ejaQDagLXGZRg;
+Lcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$ddVY5lmqswnSjXppAxPTOHbuzzQ;
+Lcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$r3x3xYmhrLG8kgeNVPXl5EILHwU;
 Lcom/android/server/am/-$$Lambda$BatteryStatsService$ZxbqtJ7ozYmzYFkkNV3m_QRd0Sk;
 Lcom/android/server/am/-$$Lambda$BatteryStatsService$rRONgIFHr4sujxPESRmo9P5RJ6w;
 Lcom/android/server/am/-$$Lambda$HKoBBTwYfMTyX1rzuzxIXu0s2cc;
-Lcom/android/server/am/-$$Lambda$LockTaskController$CFBSOJhWPyFwVT85DSWkAEj1wF0;
-Lcom/android/server/am/-$$Lambda$LockTaskController$HCwwKEV1_Hy1M3bHXdwhoMEXmJM;
-Lcom/android/server/am/-$$Lambda$LockTaskController$utz-CwgPkuGXoN5jp5hMoe4EpuQ;
-Lcom/android/server/am/-$$Lambda$RecentTasks$NgzE6eN0wIO1cgLW7RzciPDBTHk;
-Lcom/android/server/am/-$$Lambda$RunningTasks$BGar3HlUsTw-0HzSmfkEWly0moY;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$1RAH1a7gRlnrDczBty2_cTiNlBI;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$3Qs2duXCIzQ1W3uon7k5iYUmOy8;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$5xMsPmGMl_n12-F1m2p9OBuXGrA;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$FNdlAMBaRkRCa4U_pc-uamD9VHw;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$IPqcWaWHIL4UnZEYJhAve5H7KmE;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$K9kaSj6_p5pzfyRh9i93xiC9T3s;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$Ln9-GPCsfrWRlWBInk_Po_Uv-_U;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$O2UuB84QeMcZfsRHiuiFSTwwWHY;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$YDk9fnP8p2R_OweiU9rSGaheQeE;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$YVmGNqlD5lzQCN49aly8kWWz1po;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$a1rNhcYLIsgLeCng0_osaimgbqE;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$bteC39aBoUFmJeWf3dk2BX1xZ6k;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$d9Depygk2x7Vm_pl1RSk9_SSjvA;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$grn5FwM5ofT98exjpSvrJhz-e7s;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$iVGVcx2Ee37igl6ebl_htq_WO9o;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$kftD881t3KfWCASQEbeTkieVI2M;
-Lcom/android/server/am/-$$Lambda$TaskChangeNotificationController$sw023kIrIGSeLwYwKC0ioKX3zEA;
-Lcom/android/server/am/-$$Lambda$UserController$6-7xYKliE1NO81VB53uGwFaD8Jg;
-Lcom/android/server/am/-$$Lambda$UserController$AHHTCREuropaUGilzG-tndQCCSM;
-Lcom/android/server/am/-$$Lambda$UserController$Eh5Od1-6teHInq04bnfmHhMt3-E;
-Lcom/android/server/am/-$$Lambda$UserController$GGvEPHwny2cP0yTZnJTgitTq9_U;
-Lcom/android/server/am/-$$Lambda$UserController$OCWSENtTocgCKtAUTrbiQWfjiB4;
-Lcom/android/server/am/-$$Lambda$UserController$d0zeElfogOIugnQQLWhCzumk53k;
-Lcom/android/server/am/-$$Lambda$UserController$o6oQFjGYYIfx-I94cSakTLPLt6s;
+Lcom/android/server/am/-$$Lambda$OomAdjProfiler$5x1ooCPxPmlzbXvtcEuYDu_6Uz4;
+Lcom/android/server/am/-$$Lambda$PendingIntentRecord$hlEHdgdG_SS5n3v7IRr7e6QZgLQ;
+Lcom/android/server/am/-$$Lambda$ProcessList$Clv-1gpwGcZ-lQ1Ghdh2VzSdPZ4;
+Lcom/android/server/am/-$$Lambda$SettingsToPropertiesMapper$Rzo06OjarvWLxZlB1l32KTp3emA;
 Lcom/android/server/am/-$$Lambda$Y_KRxxoOXfy-YceuDG7WHd46Y_I;
+Lcom/android/server/am/-$$Lambda$gATL8uvTPRd405IfefK1RL9bNqA;
 Lcom/android/server/am/ActiveInstrumentation;
 Lcom/android/server/am/ActiveServices$1;
 Lcom/android/server/am/ActiveServices$2;
-Lcom/android/server/am/ActiveServices$3;
 Lcom/android/server/am/ActiveServices$4;
 Lcom/android/server/am/ActiveServices$ActiveForegroundApp;
 Lcom/android/server/am/ActiveServices$ForcedStandbyListener;
@@ -3178,15 +1419,10 @@
 Lcom/android/server/am/ActiveServices$ServiceMap;
 Lcom/android/server/am/ActiveServices$ServiceRestarter;
 Lcom/android/server/am/ActiveServices;
-Lcom/android/server/am/ActivityDisplay$OnStackOrderChangedListener;
-Lcom/android/server/am/ActivityDisplay;
-Lcom/android/server/am/ActivityLaunchParamsModifier;
+Lcom/android/server/am/ActiveUids;
+Lcom/android/server/am/ActivityManagerConstants$1;
 Lcom/android/server/am/ActivityManagerConstants;
-Lcom/android/server/am/ActivityManagerService$10;
-Lcom/android/server/am/ActivityManagerService$11;
 Lcom/android/server/am/ActivityManagerService$12;
-Lcom/android/server/am/ActivityManagerService$13;
-Lcom/android/server/am/ActivityManagerService$14;
 Lcom/android/server/am/ActivityManagerService$15;
 Lcom/android/server/am/ActivityManagerService$16;
 Lcom/android/server/am/ActivityManagerService$17;
@@ -3196,91 +1432,53 @@
 Lcom/android/server/am/ActivityManagerService$20;
 Lcom/android/server/am/ActivityManagerService$21;
 Lcom/android/server/am/ActivityManagerService$22;
-Lcom/android/server/am/ActivityManagerService$23;
-Lcom/android/server/am/ActivityManagerService$24;
-Lcom/android/server/am/ActivityManagerService$25;
-Lcom/android/server/am/ActivityManagerService$26;
-Lcom/android/server/am/ActivityManagerService$27;
-Lcom/android/server/am/ActivityManagerService$28;
 Lcom/android/server/am/ActivityManagerService$2;
 Lcom/android/server/am/ActivityManagerService$3;
 Lcom/android/server/am/ActivityManagerService$4;
 Lcom/android/server/am/ActivityManagerService$5;
-Lcom/android/server/am/ActivityManagerService$6;
 Lcom/android/server/am/ActivityManagerService$7;
-Lcom/android/server/am/ActivityManagerService$8;
-Lcom/android/server/am/ActivityManagerService$9;
 Lcom/android/server/am/ActivityManagerService$AppDeathRecipient;
 Lcom/android/server/am/ActivityManagerService$Association;
+Lcom/android/server/am/ActivityManagerService$CpuBinder$1;
 Lcom/android/server/am/ActivityManagerService$CpuBinder;
 Lcom/android/server/am/ActivityManagerService$DbBinder;
 Lcom/android/server/am/ActivityManagerService$DevelopmentSettingsObserver;
-Lcom/android/server/am/ActivityManagerService$DumpStackFileObserver;
-Lcom/android/server/am/ActivityManagerService$FontScaleSettingObserver;
-Lcom/android/server/am/ActivityManagerService$GrantUri;
 Lcom/android/server/am/ActivityManagerService$GraphicsBinder;
 Lcom/android/server/am/ActivityManagerService$HiddenApiSettings;
 Lcom/android/server/am/ActivityManagerService$Identity;
-Lcom/android/server/am/ActivityManagerService$ImportanceToken;
 Lcom/android/server/am/ActivityManagerService$Injector;
 Lcom/android/server/am/ActivityManagerService$IntentFirewallInterface;
 Lcom/android/server/am/ActivityManagerService$ItemMatcher;
-Lcom/android/server/am/ActivityManagerService$KillHandler;
 Lcom/android/server/am/ActivityManagerService$Lifecycle;
 Lcom/android/server/am/ActivityManagerService$LocalService;
 Lcom/android/server/am/ActivityManagerService$MainHandler$1;
 Lcom/android/server/am/ActivityManagerService$MainHandler;
+Lcom/android/server/am/ActivityManagerService$MemBinder$1;
 Lcom/android/server/am/ActivityManagerService$MemBinder;
 Lcom/android/server/am/ActivityManagerService$MemItem;
 Lcom/android/server/am/ActivityManagerService$MemoryUsageDumpOptions;
-Lcom/android/server/am/ActivityManagerService$NeededUriGrants;
 Lcom/android/server/am/ActivityManagerService$OomAdjObserver;
-Lcom/android/server/am/ActivityManagerService$PendingAssistExtras;
+Lcom/android/server/am/ActivityManagerService$PackageAssociationInfo;
 Lcom/android/server/am/ActivityManagerService$PendingTempWhitelist;
 Lcom/android/server/am/ActivityManagerService$PermissionController;
+Lcom/android/server/am/ActivityManagerService$PidMap;
 Lcom/android/server/am/ActivityManagerService$ProcessChangeItem;
 Lcom/android/server/am/ActivityManagerService$ProcessInfoService;
+Lcom/android/server/am/ActivityManagerService$ProfileData;
 Lcom/android/server/am/ActivityManagerService$UiHandler;
 Lcom/android/server/am/ActivityManagerService$UidObserverRegistration;
-Lcom/android/server/am/ActivityManagerService$UpdateConfigurationResult;
 Lcom/android/server/am/ActivityManagerService;
-Lcom/android/server/am/ActivityManagerShellCommand;
-Lcom/android/server/am/ActivityMetricsLogger$1;
-Lcom/android/server/am/ActivityMetricsLogger$H;
-Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;
-Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;
-Lcom/android/server/am/ActivityMetricsLogger;
-Lcom/android/server/am/ActivityRecord;
-Lcom/android/server/am/ActivityStack$ActivityState;
-Lcom/android/server/am/ActivityStack;
-Lcom/android/server/am/ActivityStackSupervisor$ActivityStackSupervisorHandler;
-Lcom/android/server/am/ActivityStackSupervisor$FindTaskResult;
-Lcom/android/server/am/ActivityStackSupervisor$PendingActivityLaunch;
-Lcom/android/server/am/ActivityStackSupervisor$SleepTokenImpl;
-Lcom/android/server/am/ActivityStackSupervisor$WaitInfo;
-Lcom/android/server/am/ActivityStackSupervisor;
-Lcom/android/server/am/ActivityStartController$StartHandler;
-Lcom/android/server/am/ActivityStartController;
-Lcom/android/server/am/ActivityStartInterceptor;
-Lcom/android/server/am/ActivityStarter$DefaultFactory;
-Lcom/android/server/am/ActivityStarter$Factory;
-Lcom/android/server/am/ActivityStarter;
 Lcom/android/server/am/AppBindRecord;
+Lcom/android/server/am/AppCompactor$1;
+Lcom/android/server/am/AppCompactor$MemCompactionHandler;
+Lcom/android/server/am/AppCompactor;
 Lcom/android/server/am/AppErrorDialog$Data;
-Lcom/android/server/am/AppErrorDialog;
 Lcom/android/server/am/AppErrorResult;
 Lcom/android/server/am/AppErrors$BadProcessInfo;
 Lcom/android/server/am/AppErrors;
 Lcom/android/server/am/AppNotRespondingDialog$Data;
-Lcom/android/server/am/AppNotRespondingDialog;
-Lcom/android/server/am/AppTaskImpl;
 Lcom/android/server/am/AppTimeTracker;
-Lcom/android/server/am/AppWaitingForDebuggerDialog;
-Lcom/android/server/am/AppWarnings$ConfigHandler;
-Lcom/android/server/am/AppWarnings$UiHandler;
-Lcom/android/server/am/AppWarnings;
 Lcom/android/server/am/BackupRecord;
-Lcom/android/server/am/BaseErrorDialog;
 Lcom/android/server/am/BatteryExternalStatsWorker$1;
 Lcom/android/server/am/BatteryExternalStatsWorker$2;
 Lcom/android/server/am/BatteryExternalStatsWorker;
@@ -3288,52 +1486,52 @@
 Lcom/android/server/am/BatteryStatsService$LocalService;
 Lcom/android/server/am/BatteryStatsService$WakeupReasonThread;
 Lcom/android/server/am/BatteryStatsService;
+Lcom/android/server/am/BroadcastConstants$SettingsObserver;
+Lcom/android/server/am/BroadcastConstants;
+Lcom/android/server/am/BroadcastDispatcher$1;
+Lcom/android/server/am/BroadcastDispatcher$2;
+Lcom/android/server/am/BroadcastDispatcher;
 Lcom/android/server/am/BroadcastFilter;
 Lcom/android/server/am/BroadcastQueue$1;
 Lcom/android/server/am/BroadcastQueue$AppNotResponding;
 Lcom/android/server/am/BroadcastQueue$BroadcastHandler;
 Lcom/android/server/am/BroadcastQueue;
 Lcom/android/server/am/BroadcastRecord;
+Lcom/android/server/am/BroadcastStats$1;
+Lcom/android/server/am/BroadcastStats$ActionEntry;
+Lcom/android/server/am/BroadcastStats$PackageEntry;
+Lcom/android/server/am/BroadcastStats$ViolationEntry;
 Lcom/android/server/am/BroadcastStats;
-Lcom/android/server/am/CarUserSwitchingDialog;
-Lcom/android/server/am/ClientLifecycleManager;
-Lcom/android/server/am/CompatModeDialog;
-Lcom/android/server/am/CompatModePackages$CompatHandler;
-Lcom/android/server/am/CompatModePackages;
 Lcom/android/server/am/ConnectionRecord;
 Lcom/android/server/am/ContentProviderConnection;
 Lcom/android/server/am/ContentProviderRecord;
 Lcom/android/server/am/CoreSettingsObserver;
-Lcom/android/server/am/DeprecatedTargetSdkVersionDialog;
 Lcom/android/server/am/DumpHeapProvider;
 Lcom/android/server/am/EventLogTags;
-Lcom/android/server/am/FactoryErrorDialog;
-Lcom/android/server/am/GlobalSettingsToPropertiesMapper;
 Lcom/android/server/am/HealthStatsBatteryStatsWriter;
 Lcom/android/server/am/InstrumentationReporter$MyThread;
 Lcom/android/server/am/InstrumentationReporter$Report;
 Lcom/android/server/am/InstrumentationReporter;
 Lcom/android/server/am/IntentBindRecord;
-Lcom/android/server/am/KeyguardController;
-Lcom/android/server/am/LaunchParamsController$LaunchParams;
-Lcom/android/server/am/LaunchParamsController$LaunchParamsModifier;
-Lcom/android/server/am/LaunchParamsController;
-Lcom/android/server/am/LaunchTimeTracker$Entry;
-Lcom/android/server/am/LaunchTimeTracker;
-Lcom/android/server/am/LockTaskController$1;
-Lcom/android/server/am/LockTaskController;
 Lcom/android/server/am/MemoryStatUtil$MemoryStat;
 Lcom/android/server/am/MemoryStatUtil;
 Lcom/android/server/am/NativeCrashListener;
+Lcom/android/server/am/OomAdjProfiler$CpuTimes;
+Lcom/android/server/am/OomAdjProfiler;
+Lcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;
+Lcom/android/server/am/OomAdjuster;
+Lcom/android/server/am/PendingIntentController;
 Lcom/android/server/am/PendingIntentRecord$Key;
 Lcom/android/server/am/PendingIntentRecord;
-Lcom/android/server/am/PendingRemoteAnimationRegistry$Entry;
-Lcom/android/server/am/PendingRemoteAnimationRegistry;
-Lcom/android/server/am/PinnedActivityStack;
-Lcom/android/server/am/PreBootBroadcaster;
+Lcom/android/server/am/PendingTempWhitelists;
+Lcom/android/server/am/ProcessList$IsolatedUidRange;
+Lcom/android/server/am/ProcessList$IsolatedUidRangeAllocator;
+Lcom/android/server/am/ProcessList$KillHandler;
+Lcom/android/server/am/ProcessList$MyProcessMap;
 Lcom/android/server/am/ProcessList$ProcStateMemTracker;
 Lcom/android/server/am/ProcessList;
 Lcom/android/server/am/ProcessMemInfo;
+Lcom/android/server/am/ProcessRecord$PackageList;
 Lcom/android/server/am/ProcessRecord;
 Lcom/android/server/am/ProcessStatsService$1;
 Lcom/android/server/am/ProcessStatsService$2;
@@ -3341,52 +1539,167 @@
 Lcom/android/server/am/ProcessStatsService;
 Lcom/android/server/am/ProviderMap;
 Lcom/android/server/am/ReceiverList;
-Lcom/android/server/am/RecentTasks$Callbacks;
-Lcom/android/server/am/RecentTasks;
-Lcom/android/server/am/RecentsAnimation;
-Lcom/android/server/am/RunningTasks;
-Lcom/android/server/am/SafeActivityOptions;
 Lcom/android/server/am/ServiceRecord$StartItem;
 Lcom/android/server/am/ServiceRecord;
-Lcom/android/server/am/StrictModeViolationDialog;
-Lcom/android/server/am/TaskChangeNotificationController$MainHandler;
-Lcom/android/server/am/TaskChangeNotificationController$TaskStackConsumer;
-Lcom/android/server/am/TaskChangeNotificationController;
-Lcom/android/server/am/TaskLaunchParamsModifier;
-Lcom/android/server/am/TaskPersister$1;
-Lcom/android/server/am/TaskPersister$ImageWriteQueueItem;
-Lcom/android/server/am/TaskPersister$LazyTaskWriterThread;
-Lcom/android/server/am/TaskPersister$TaskWriteQueueItem;
-Lcom/android/server/am/TaskPersister$WriteQueueItem;
-Lcom/android/server/am/TaskPersister;
-Lcom/android/server/am/TaskRecord$TaskActivitiesReport;
-Lcom/android/server/am/TaskRecord;
+Lcom/android/server/am/SettingsToPropertiesMapper$1;
+Lcom/android/server/am/SettingsToPropertiesMapper;
 Lcom/android/server/am/UidRecord$ChangeItem;
 Lcom/android/server/am/UidRecord;
-Lcom/android/server/am/UnsupportedCompileSdkDialog;
-Lcom/android/server/am/UnsupportedDisplaySizeDialog;
-Lcom/android/server/am/UriPermission$PersistedTimeComparator;
-Lcom/android/server/am/UriPermission$Snapshot;
-Lcom/android/server/am/UriPermission;
-Lcom/android/server/am/UriPermissionOwner;
-Lcom/android/server/am/UserController$1;
-Lcom/android/server/am/UserController$2;
-Lcom/android/server/am/UserController$3;
-Lcom/android/server/am/UserController$4;
-Lcom/android/server/am/UserController$5;
-Lcom/android/server/am/UserController$6;
-Lcom/android/server/am/UserController$7;
-Lcom/android/server/am/UserController$Injector$1;
 Lcom/android/server/am/UserController$Injector;
 Lcom/android/server/am/UserController$UserProgressListener;
 Lcom/android/server/am/UserController;
 Lcom/android/server/am/UserState;
-Lcom/android/server/am/UserSwitchingDialog;
-Lcom/android/server/am/VrController$1;
-Lcom/android/server/am/VrController;
+Lcom/android/server/appbinding/-$$Lambda$AppBindingService$D_3boeCn8eAANOp2ZDk6OC2rNaI;
+Lcom/android/server/appbinding/-$$Lambda$xkEFYM78dwFMyAjWJXkB7AxgA2c;
+Lcom/android/server/appbinding/AppBindingConstants;
+Lcom/android/server/appbinding/AppBindingService$1;
+Lcom/android/server/appbinding/AppBindingService$2;
+Lcom/android/server/appbinding/AppBindingService$Injector;
+Lcom/android/server/appbinding/AppBindingService$Lifecycle;
+Lcom/android/server/appbinding/AppBindingService;
+Lcom/android/server/appbinding/AppBindingUtils;
+Lcom/android/server/appbinding/finders/-$$Lambda$CarrierMessagingClientServiceFinder$HEVyQ3IEZ8Eseze74Vyp3NHEREg;
+Lcom/android/server/appbinding/finders/AppServiceFinder;
+Lcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder$1;
+Lcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;
+Lcom/android/server/appop/-$$Lambda$AppOpsService$GUeKjlbzT65s86vaxy5gvOajuhw;
+Lcom/android/server/appop/AppOpsService$1;
+Lcom/android/server/appop/AppOpsService$2;
+Lcom/android/server/appop/AppOpsService$3;
+Lcom/android/server/appop/AppOpsService$ActiveCallback;
+Lcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;
+Lcom/android/server/appop/AppOpsService$ClientRestrictionState;
+Lcom/android/server/appop/AppOpsService$ClientState;
+Lcom/android/server/appop/AppOpsService$Constants;
+Lcom/android/server/appop/AppOpsService$ModeCallback;
+Lcom/android/server/appop/AppOpsService$NotedCallback;
+Lcom/android/server/appop/AppOpsService$Op;
+Lcom/android/server/appop/AppOpsService$Ops;
+Lcom/android/server/appop/AppOpsService$Restriction;
+Lcom/android/server/appop/AppOpsService$UidState;
+Lcom/android/server/appop/AppOpsService;
+Lcom/android/server/appop/HistoricalRegistry$1;
+Lcom/android/server/appop/HistoricalRegistry$Persistence;
+Lcom/android/server/appop/HistoricalRegistry;
+Lcom/android/server/appprediction/AppPredictionManagerService$PredictionManagerServiceStub;
+Lcom/android/server/appprediction/AppPredictionManagerService;
+Lcom/android/server/appprediction/AppPredictionPerUserService;
+Lcom/android/server/appprediction/RemoteAppPredictionService$RemoteAppPredictionServiceCallbacks;
+Lcom/android/server/appwidget/AppWidgetService;
+Lcom/android/server/appwidget/AppWidgetServiceImpl$1;
+Lcom/android/server/appwidget/AppWidgetServiceImpl$AppWidgetManagerLocal;
+Lcom/android/server/appwidget/AppWidgetServiceImpl$BackupRestoreController;
+Lcom/android/server/appwidget/AppWidgetServiceImpl$CallbackHandler;
+Lcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;
+Lcom/android/server/appwidget/AppWidgetServiceImpl;
+Lcom/android/server/attention/AttentionManagerService$AttentionHandler;
+Lcom/android/server/attention/AttentionManagerService$LocalService;
+Lcom/android/server/attention/AttentionManagerService;
+Lcom/android/server/audio/AudioDeviceBroker$BrokerHandler;
+Lcom/android/server/audio/AudioDeviceBroker$BrokerThread;
+Lcom/android/server/audio/AudioDeviceBroker;
+Lcom/android/server/audio/AudioDeviceInventory;
+Lcom/android/server/audio/AudioEventLogger$Event;
+Lcom/android/server/audio/AudioEventLogger;
+Lcom/android/server/audio/AudioService$1;
+Lcom/android/server/audio/AudioService$2;
+Lcom/android/server/audio/AudioService$3;
+Lcom/android/server/audio/AudioService$4;
+Lcom/android/server/audio/AudioService$AudioHandler;
+Lcom/android/server/audio/AudioService$AudioServiceBroadcastReceiver;
+Lcom/android/server/audio/AudioService$AudioServiceInternal;
+Lcom/android/server/audio/AudioService$AudioServiceUserRestrictionsListener;
+Lcom/android/server/audio/AudioService$AudioSystemThread;
 Lcom/android/server/audio/AudioService$Lifecycle;
+Lcom/android/server/audio/AudioService$MyDisplayStatusCallback;
+Lcom/android/server/audio/AudioService$SettingsObserver;
+Lcom/android/server/audio/AudioService$SoundPoolCallback;
+Lcom/android/server/audio/AudioService$SoundPoolListenerThread;
+Lcom/android/server/audio/AudioService$VolumeController;
+Lcom/android/server/audio/AudioService$VolumeStreamState;
+Lcom/android/server/audio/AudioService;
+Lcom/android/server/audio/AudioServiceEvents$ForceUseEvent;
+Lcom/android/server/audio/BtHelper$1;
+Lcom/android/server/audio/BtHelper;
+Lcom/android/server/audio/MediaFocusControl;
+Lcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;
+Lcom/android/server/audio/PlaybackActivityMonitor$NewPlayerEvent;
+Lcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;
+Lcom/android/server/audio/PlaybackActivityMonitor;
+Lcom/android/server/audio/PlayerFocusEnforcer;
+Lcom/android/server/audio/RecordingActivityMonitor$RecMonitorClient;
+Lcom/android/server/audio/RecordingActivityMonitor;
+Lcom/android/server/audio/RotationHelper$AudioDisplayListener;
+Lcom/android/server/audio/RotationHelper;
+Lcom/android/server/autofill/-$$Lambda$AutofillManagerService$HTAoqR1LxaXvx4-rCytnamMG1c0;
+Lcom/android/server/autofill/-$$Lambda$AutofillManagerServiceImpl$nyZ0mdl_PuYUAmxyoumBpVz6Dxk;
+Lcom/android/server/autofill/AutofillManagerService$1;
+Lcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;
+Lcom/android/server/autofill/AutofillManagerService$AutofillCompatState;
+Lcom/android/server/autofill/AutofillManagerService$LocalService;
+Lcom/android/server/autofill/AutofillManagerService;
+Lcom/android/server/autofill/AutofillManagerServiceImpl;
+Lcom/android/server/autofill/FieldClassificationStrategy;
+Lcom/android/server/autofill/Helper;
+Lcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$XWhvh2-Jd9NLMoEos-e8RkZdQaI;
+Lcom/android/server/autofill/ui/AutoFillUI;
+Lcom/android/server/autofill/ui/OverlayControl;
+Lcom/android/server/backup/BackupManagerService$Lifecycle;
+Lcom/android/server/backup/BackupManagerService;
+Lcom/android/server/backup/Trampoline;
+Lcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$F4H2HbJPkB5kHnCG99RJzq63ETk;
+Lcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$HtA60PD2POS70xjo2Wkv9Ds3iIM;
+Lcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$d8jmYuo4MyZZpxoeouUPEq4DMII;
+Lcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$fPrFwbkIihZrGIgPSW0LZgzpmas;
+Lcom/android/server/biometrics/AuthenticationClient;
+Lcom/android/server/biometrics/BiometricService$1;
+Lcom/android/server/biometrics/BiometricService$Authenticator;
+Lcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$1;
+Lcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$BiometricTaskStackListener;
+Lcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;
+Lcom/android/server/biometrics/BiometricService$EnabledOnKeyguardCallback;
+Lcom/android/server/biometrics/BiometricService$SettingObserver;
+Lcom/android/server/biometrics/BiometricService;
+Lcom/android/server/biometrics/BiometricServiceBase$1;
+Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;
+Lcom/android/server/biometrics/BiometricServiceBase$BiometricTaskStackListener;
+Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;
+Lcom/android/server/biometrics/BiometricServiceBase$EnumerateClientImpl;
+Lcom/android/server/biometrics/BiometricServiceBase$H;
+Lcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;
+Lcom/android/server/biometrics/BiometricServiceBase$LockoutReceiver;
+Lcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor$2;
+Lcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;
+Lcom/android/server/biometrics/BiometricServiceBase$PerformanceStats;
+Lcom/android/server/biometrics/BiometricServiceBase$RemovalClientImpl;
+Lcom/android/server/biometrics/BiometricServiceBase$ResetClientStateRunnable;
+Lcom/android/server/biometrics/BiometricServiceBase$ResetFailedAttemptsForUserRunnable;
+Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;
+Lcom/android/server/biometrics/BiometricServiceBase;
+Lcom/android/server/biometrics/BiometricUserState$1;
+Lcom/android/server/biometrics/BiometricUserState;
+Lcom/android/server/biometrics/BiometricUtils;
+Lcom/android/server/biometrics/ClientMonitor;
+Lcom/android/server/biometrics/EnumerateClient;
+Lcom/android/server/biometrics/LoggableMonitor;
+Lcom/android/server/biometrics/Metrics;
+Lcom/android/server/biometrics/RemovalClient;
+Lcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$3I9ge5BoesXZUovbayCOCR754fc;
+Lcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$YOMIOLvco2SvXVeJIulOSVKdX7A;
+Lcom/android/server/biometrics/fingerprint/FingerprintMetrics;
+Lcom/android/server/biometrics/fingerprint/FingerprintService$1;
+Lcom/android/server/biometrics/fingerprint/FingerprintService$2;
+Lcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;
+Lcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;
+Lcom/android/server/biometrics/fingerprint/FingerprintService$InternalEnumerateClient;
+Lcom/android/server/biometrics/fingerprint/FingerprintService$InternalRemovalClient;
+Lcom/android/server/biometrics/fingerprint/FingerprintService$LockoutReceiver;
+Lcom/android/server/biometrics/fingerprint/FingerprintService$ResetFailedAttemptsForUserRunnable;
+Lcom/android/server/biometrics/fingerprint/FingerprintService$ServiceListenerImpl;
+Lcom/android/server/biometrics/fingerprint/FingerprintService;
+Lcom/android/server/biometrics/fingerprint/FingerprintUserState;
+Lcom/android/server/biometrics/fingerprint/FingerprintUtils;
 Lcom/android/server/broadcastradio/BroadcastRadioService;
-Lcom/android/server/broadcastradio/hal1/-$$Lambda$-XcW_oxw3YwSco8d8bZQoqwUTnM;
 Lcom/android/server/broadcastradio/hal1/-$$Lambda$TunerCallback$-h4udaDmWtN-rprVGi_U0x7oSJc;
 Lcom/android/server/broadcastradio/hal1/-$$Lambda$TunerCallback$C_-9BcvTpHXxQ-jC-hu9LBHT0XU;
 Lcom/android/server/broadcastradio/hal1/-$$Lambda$TunerCallback$QNBMPvImBEGMe4jaw6iOF4QPjns;
@@ -3403,17 +1716,205 @@
 Lcom/android/server/broadcastradio/hal1/Tuner;
 Lcom/android/server/broadcastradio/hal1/TunerCallback$RunnableThrowingRemoteException;
 Lcom/android/server/broadcastradio/hal1/TunerCallback;
+Lcom/android/server/camera/CameraServiceProxy$1;
+Lcom/android/server/camera/CameraServiceProxy$2;
 Lcom/android/server/camera/CameraServiceProxy;
+Lcom/android/server/camera/CameraStatsJobService;
+Lcom/android/server/clipboard/ClipboardService$ClipboardImpl;
 Lcom/android/server/clipboard/ClipboardService;
+Lcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$1$EelUlD0Ldboon98oq6H5kDCPW9I;
+Lcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$1$IwZz9SPheLuA45R-qkZX_v1sHV4;
+Lcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$CompanionDeviceManagerImpl$bdv3Vfadbb8b9nrSgkARO4oYOXU;
+Lcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$bh5xRJq9-CRJoXvmerYRNjK1xEQ;
+Lcom/android/server/companion/CompanionDeviceManagerService$1;
+Lcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;
+Lcom/android/server/companion/CompanionDeviceManagerService;
+Lcom/android/server/connectivity/-$$Lambda$IpConnectivityMetrics$B0oR30xfeM300kIzUVaV_zUNLCg;
+Lcom/android/server/connectivity/-$$Lambda$Tethering$5JkghhOVq1MW7iK03DMZUSuLdFM;
+Lcom/android/server/connectivity/-$$Lambda$Tethering$CZZ1cyMeU7DUmSuQSKselF5XA5o;
+Lcom/android/server/connectivity/DataConnectionStats$1;
+Lcom/android/server/connectivity/DataConnectionStats;
+Lcom/android/server/connectivity/DefaultNetworkMetrics;
+Lcom/android/server/connectivity/DnsManager;
+Lcom/android/server/connectivity/IpConnectivityMetrics$Impl;
+Lcom/android/server/connectivity/IpConnectivityMetrics$Logger;
+Lcom/android/server/connectivity/IpConnectivityMetrics$LoggerImpl;
 Lcom/android/server/connectivity/IpConnectivityMetrics;
+Lcom/android/server/connectivity/KeepaliveTracker;
+Lcom/android/server/connectivity/LingerMonitor;
+Lcom/android/server/connectivity/MockableSystemProperties;
+Lcom/android/server/connectivity/MultipathPolicyTracker$1;
+Lcom/android/server/connectivity/MultipathPolicyTracker$2;
+Lcom/android/server/connectivity/MultipathPolicyTracker$ConfigChangeReceiver;
+Lcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;
+Lcom/android/server/connectivity/MultipathPolicyTracker$SettingsObserver;
+Lcom/android/server/connectivity/MultipathPolicyTracker;
+Lcom/android/server/connectivity/Nat464Xlat;
+Lcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;
+Lcom/android/server/connectivity/NetdEventListenerService;
+Lcom/android/server/connectivity/NetworkAgentInfo;
+Lcom/android/server/connectivity/NetworkNotificationManager;
+Lcom/android/server/connectivity/PacManager$1;
+Lcom/android/server/connectivity/PacManager$PacRefreshIntentReceiver;
+Lcom/android/server/connectivity/PacManager;
+Lcom/android/server/connectivity/PermissionMonitor$PackageListObserver;
+Lcom/android/server/connectivity/PermissionMonitor;
+Lcom/android/server/connectivity/ProxyTracker;
+Lcom/android/server/connectivity/TcpKeepaliveController;
+Lcom/android/server/connectivity/Tethering$3;
+Lcom/android/server/connectivity/Tethering$StateReceiver;
+Lcom/android/server/connectivity/Tethering$TetherMasterSM$ErrorState;
+Lcom/android/server/connectivity/Tethering$TetherMasterSM$InitialState;
+Lcom/android/server/connectivity/Tethering$TetherMasterSM$OffloadWrapper;
+Lcom/android/server/connectivity/Tethering$TetherMasterSM$SetDnsForwardersErrorState;
+Lcom/android/server/connectivity/Tethering$TetherMasterSM$SetIpForwardingDisabledErrorState;
+Lcom/android/server/connectivity/Tethering$TetherMasterSM$SetIpForwardingEnabledErrorState;
+Lcom/android/server/connectivity/Tethering$TetherMasterSM$StartTetheringErrorState;
+Lcom/android/server/connectivity/Tethering$TetherMasterSM$StopTetheringErrorState;
+Lcom/android/server/connectivity/Tethering$TetherMasterSM$TetherModeAliveState;
+Lcom/android/server/connectivity/Tethering$TetherMasterSM;
+Lcom/android/server/connectivity/Tethering$TetherState;
+Lcom/android/server/connectivity/Tethering$TetheringUserRestrictionListener;
+Lcom/android/server/connectivity/Tethering;
+Lcom/android/server/connectivity/Vpn$2;
+Lcom/android/server/connectivity/Vpn$SystemServices;
 Lcom/android/server/connectivity/Vpn;
+Lcom/android/server/connectivity/tethering/-$$Lambda$OffloadController$OffloadTetheringStatsProvider$3TF0NI3fE8A-xW0925oMv3YzAOk;
+Lcom/android/server/connectivity/tethering/EntitlementManager;
+Lcom/android/server/connectivity/tethering/IPv6TetheringCoordinator;
+Lcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;
+Lcom/android/server/connectivity/tethering/OffloadController;
+Lcom/android/server/connectivity/tethering/OffloadHardwareInterface$ForwardedStats;
 Lcom/android/server/connectivity/tethering/OffloadHardwareInterface;
+Lcom/android/server/connectivity/tethering/TetheringConfiguration;
+Lcom/android/server/connectivity/tethering/TetheringDependencies;
+Lcom/android/server/connectivity/tethering/UpstreamNetworkMonitor$UpstreamNetworkCallback;
+Lcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;
+Lcom/android/server/content/-$$Lambda$SyncManager$68MEyNkTh36YmYoFlURJoRa_-cY;
+Lcom/android/server/content/-$$Lambda$SyncManager$CjX_2uO4O4xJPQnKzeqvGwd87Dc;
+Lcom/android/server/content/-$$Lambda$SyncManager$HhiSFjEoPA_Hnv3xYZGfwkalc68;
+Lcom/android/server/content/-$$Lambda$SyncManager$bVs0A6OYdmGkOiq_lbp5MiBwelw;
+Lcom/android/server/content/-$$Lambda$SyncManagerConstants$qo5ldQVp10jCUY9aavBZDKP2k6Q;
+Lcom/android/server/content/ContentService$1;
+Lcom/android/server/content/ContentService$3;
+Lcom/android/server/content/ContentService$Lifecycle;
+Lcom/android/server/content/ContentService$ObserverCall;
+Lcom/android/server/content/ContentService$ObserverNode$ObserverEntry;
+Lcom/android/server/content/ContentService$ObserverNode;
+Lcom/android/server/content/ContentService;
+Lcom/android/server/content/SyncJobService;
+Lcom/android/server/content/SyncLogger$RotatingFileLogger$MyHandler;
+Lcom/android/server/content/SyncLogger$RotatingFileLogger;
+Lcom/android/server/content/SyncLogger;
+Lcom/android/server/content/SyncManager$10;
+Lcom/android/server/content/SyncManager$11;
+Lcom/android/server/content/SyncManager$1;
+Lcom/android/server/content/SyncManager$2;
+Lcom/android/server/content/SyncManager$3;
+Lcom/android/server/content/SyncManager$4;
+Lcom/android/server/content/SyncManager$5;
+Lcom/android/server/content/SyncManager$6;
+Lcom/android/server/content/SyncManager$8;
+Lcom/android/server/content/SyncManager$9;
+Lcom/android/server/content/SyncManager$SyncHandler;
+Lcom/android/server/content/SyncManager$SyncTimeTracker;
+Lcom/android/server/content/SyncManager;
+Lcom/android/server/content/SyncManagerConstants;
+Lcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;
+Lcom/android/server/content/SyncStorageEngine$AccountInfo;
+Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
+Lcom/android/server/content/SyncStorageEngine$DayStats;
+Lcom/android/server/content/SyncStorageEngine$EndPoint;
+Lcom/android/server/content/SyncStorageEngine$MyHandler;
+Lcom/android/server/content/SyncStorageEngine$OnAuthorityRemovedListener;
+Lcom/android/server/content/SyncStorageEngine$OnSyncRequestListener;
+Lcom/android/server/content/SyncStorageEngine$PeriodicSyncAddedListener;
+Lcom/android/server/content/SyncStorageEngine;
+Lcom/android/server/contentcapture/-$$Lambda$ContentCaptureManagerService$mHKdlupOKTP3w3jJnNMhJi6ns5w;
+Lcom/android/server/contentcapture/ContentCaptureManagerInternal;
+Lcom/android/server/contentcapture/ContentCaptureManagerService$ContentCaptureManagerServiceStub;
+Lcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;
+Lcom/android/server/contentcapture/ContentCaptureManagerService;
+Lcom/android/server/contentcapture/ContentCapturePerUserService$ContentCaptureServiceRemoteCallback;
+Lcom/android/server/contentcapture/ContentCapturePerUserService;
+Lcom/android/server/contentcapture/RemoteContentCaptureService$ContentCaptureServiceCallbacks;
+Lcom/android/server/contentcapture/RemoteContentCaptureService;
+Lcom/android/server/contentsuggestions/ContentSuggestionsManagerService$ContentSuggestionsManagerStub;
+Lcom/android/server/contentsuggestions/ContentSuggestionsManagerService;
+Lcom/android/server/contentsuggestions/ContentSuggestionsPerUserService;
 Lcom/android/server/coverage/CoverageService;
+Lcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$_Nw-YGl5ncBg-LJs8W81WNW6xoU;
+Lcom/android/server/devicepolicy/BaseIDevicePolicyManager;
+Lcom/android/server/devicepolicy/CertificateMonitor$1;
+Lcom/android/server/devicepolicy/CertificateMonitor;
 Lcom/android/server/devicepolicy/CryptoTestHelper;
+Lcom/android/server/devicepolicy/DeviceAdminServiceController;
+Lcom/android/server/devicepolicy/DevicePolicyCacheImpl;
+Lcom/android/server/devicepolicy/DevicePolicyConstants;
+Lcom/android/server/devicepolicy/DevicePolicyManagerService$1;
+Lcom/android/server/devicepolicy/DevicePolicyManagerService$2;
+Lcom/android/server/devicepolicy/DevicePolicyManagerService$3;
+Lcom/android/server/devicepolicy/DevicePolicyManagerService$4;
+Lcom/android/server/devicepolicy/DevicePolicyManagerService$8;
+Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyConstantsObserver;
+Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;
+Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;
 Lcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;
+Lcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;
+Lcom/android/server/devicepolicy/DevicePolicyManagerService$RestrictionsListener;
+Lcom/android/server/devicepolicy/DevicePolicyManagerService$SetupContentObserver;
+Lcom/android/server/devicepolicy/DevicePolicyManagerService;
+Lcom/android/server/devicepolicy/OverlayPackagesProvider$DefaultInjector;
+Lcom/android/server/devicepolicy/OverlayPackagesProvider$Injector;
+Lcom/android/server/devicepolicy/OverlayPackagesProvider;
+Lcom/android/server/devicepolicy/Owners$DeviceOwnerReadWriter;
+Lcom/android/server/devicepolicy/Owners$FileReadWriter;
+Lcom/android/server/devicepolicy/Owners$Injector;
+Lcom/android/server/devicepolicy/Owners$OwnerInfo;
+Lcom/android/server/devicepolicy/Owners$ProfileOwnerReadWriter;
+Lcom/android/server/devicepolicy/Owners;
+Lcom/android/server/devicepolicy/SecurityLogMonitor;
+Lcom/android/server/devicepolicy/TransferOwnershipMetadataManager$Injector;
+Lcom/android/server/devicepolicy/TransferOwnershipMetadataManager;
+Lcom/android/server/display/-$$Lambda$AmbientBrightnessStatsTracker$vQZYn_dAhbvzT-Un4vvpuyIATII;
 Lcom/android/server/display/-$$Lambda$VirtualDisplayAdapter$PFyqe-aYIEBicSVtuy5lL_bT8B0;
+Lcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;
+Lcom/android/server/display/AmbientBrightnessStatsTracker$Clock;
+Lcom/android/server/display/AmbientBrightnessStatsTracker$Injector;
+Lcom/android/server/display/AmbientBrightnessStatsTracker$Timer;
+Lcom/android/server/display/AmbientBrightnessStatsTracker;
+Lcom/android/server/display/AppSaturationController$SaturationController;
+Lcom/android/server/display/AppSaturationController;
+Lcom/android/server/display/AutomaticBrightnessController$2;
+Lcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;
+Lcom/android/server/display/AutomaticBrightnessController$AutomaticBrightnessHandler;
 Lcom/android/server/display/AutomaticBrightnessController$Callbacks;
-Lcom/android/server/display/color/ColorDisplayService;
+Lcom/android/server/display/AutomaticBrightnessController$TaskStackListenerImpl;
+Lcom/android/server/display/AutomaticBrightnessController;
+Lcom/android/server/display/BrightnessIdleJob;
+Lcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;
+Lcom/android/server/display/BrightnessMappingStrategy;
+Lcom/android/server/display/BrightnessTracker$DisplayListener;
+Lcom/android/server/display/BrightnessTracker$Injector;
+Lcom/android/server/display/BrightnessTracker$LightData;
+Lcom/android/server/display/BrightnessTracker$Receiver;
+Lcom/android/server/display/BrightnessTracker$SensorListener;
+Lcom/android/server/display/BrightnessTracker$SettingsObserver;
+Lcom/android/server/display/BrightnessTracker$TrackerHandler;
+Lcom/android/server/display/BrightnessTracker;
+Lcom/android/server/display/ColorDisplayService$1;
+Lcom/android/server/display/ColorDisplayService$2;
+Lcom/android/server/display/ColorDisplayService$BinderService;
+Lcom/android/server/display/ColorDisplayService$ColorDisplayServiceInternal;
+Lcom/android/server/display/ColorDisplayService$ColorMatrixEvaluator;
+Lcom/android/server/display/ColorDisplayService$ColorTransformController;
+Lcom/android/server/display/ColorDisplayService$DisplayWhiteBalanceListener;
+Lcom/android/server/display/ColorDisplayService$NightDisplayTintController;
+Lcom/android/server/display/ColorDisplayService$TintController;
+Lcom/android/server/display/ColorDisplayService$TintHandler;
+Lcom/android/server/display/ColorDisplayService;
+Lcom/android/server/display/ColorFade;
 Lcom/android/server/display/DisplayAdapter$1;
 Lcom/android/server/display/DisplayAdapter$2;
 Lcom/android/server/display/DisplayAdapter$Listener;
@@ -3431,15 +1932,33 @@
 Lcom/android/server/display/DisplayManagerService$LocalService;
 Lcom/android/server/display/DisplayManagerService$SyncRoot;
 Lcom/android/server/display/DisplayManagerService;
-Lcom/android/server/display/DisplayManagerShellCommand;
+Lcom/android/server/display/DisplayPowerController$1;
+Lcom/android/server/display/DisplayPowerController$2;
+Lcom/android/server/display/DisplayPowerController$3;
+Lcom/android/server/display/DisplayPowerController$4;
+Lcom/android/server/display/DisplayPowerController$5;
+Lcom/android/server/display/DisplayPowerController$6;
+Lcom/android/server/display/DisplayPowerController$8;
+Lcom/android/server/display/DisplayPowerController$DisplayControllerHandler;
+Lcom/android/server/display/DisplayPowerController$SettingsObserver;
 Lcom/android/server/display/DisplayPowerController;
-Lcom/android/server/display/color/DisplayTransformManager;
+Lcom/android/server/display/DisplayPowerState$1;
+Lcom/android/server/display/DisplayPowerState$2;
+Lcom/android/server/display/DisplayPowerState$3;
+Lcom/android/server/display/DisplayPowerState$4;
+Lcom/android/server/display/DisplayPowerState$PhotonicModulator;
+Lcom/android/server/display/DisplayPowerState;
+Lcom/android/server/display/DisplayTransformManager;
+Lcom/android/server/display/HysteresisLevels;
 Lcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;
 Lcom/android/server/display/LocalDisplayAdapter$HotplugDisplayEventReceiver;
 Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;
 Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;
+Lcom/android/server/display/LocalDisplayAdapter$PhysicalDisplayEventReceiver;
 Lcom/android/server/display/LocalDisplayAdapter;
 Lcom/android/server/display/LogicalDisplay;
+Lcom/android/server/display/OverlayDisplayAdapter$1$1;
+Lcom/android/server/display/OverlayDisplayAdapter$1;
 Lcom/android/server/display/OverlayDisplayAdapter;
 Lcom/android/server/display/PersistentDataStore$1;
 Lcom/android/server/display/PersistentDataStore$BrightnessConfigurations;
@@ -3447,15 +1966,72 @@
 Lcom/android/server/display/PersistentDataStore$Injector;
 Lcom/android/server/display/PersistentDataStore$StableDeviceValues;
 Lcom/android/server/display/PersistentDataStore;
-Lcom/android/server/display/VirtualDisplayAdapter$Callback;
-Lcom/android/server/display/VirtualDisplayAdapter$MediaProjectionCallback;
+Lcom/android/server/display/RampAnimator$1;
+Lcom/android/server/display/RampAnimator$Listener;
+Lcom/android/server/display/RampAnimator;
 Lcom/android/server/display/VirtualDisplayAdapter$SurfaceControlDisplayFactory;
-Lcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;
 Lcom/android/server/display/VirtualDisplayAdapter;
 Lcom/android/server/display/WifiDisplayAdapter;
+Lcom/android/server/display/color/AppSaturationController$SaturationController;
+Lcom/android/server/display/color/AppSaturationController;
+Lcom/android/server/display/color/ColorDisplayService$1;
+Lcom/android/server/display/color/ColorDisplayService$BinderService;
+Lcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;
+Lcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;
+Lcom/android/server/display/color/ColorDisplayService$ColorTransformController;
+Lcom/android/server/display/color/ColorDisplayService$DisplayWhiteBalanceListener;
+Lcom/android/server/display/color/ColorDisplayService$DisplayWhiteBalanceTintController;
+Lcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;
+Lcom/android/server/display/color/ColorDisplayService$TintController;
+Lcom/android/server/display/color/ColorDisplayService$TintHandler;
+Lcom/android/server/display/color/ColorDisplayService;
+Lcom/android/server/display/color/DisplayTransformManager;
+Lcom/android/server/display/utils/History;
+Lcom/android/server/display/utils/Plog$SystemPlog;
+Lcom/android/server/display/utils/Plog;
+Lcom/android/server/display/utils/RollingBuffer;
+Lcom/android/server/display/whitebalance/AmbientFilter$WeightedMovingAverageAmbientFilter;
+Lcom/android/server/display/whitebalance/AmbientFilter;
+Lcom/android/server/display/whitebalance/AmbientSensor$1;
+Lcom/android/server/display/whitebalance/AmbientSensor$AmbientBrightnessSensor;
+Lcom/android/server/display/whitebalance/AmbientSensor$AmbientColorTemperatureSensor;
+Lcom/android/server/display/whitebalance/AmbientSensor;
+Lcom/android/server/display/whitebalance/DisplayWhiteBalanceController$Callbacks;
+Lcom/android/server/display/whitebalance/DisplayWhiteBalanceFactory;
+Lcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings$DisplayWhiteBalanceSettingsHandler;
+Lcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings$SettingsObserver;
+Lcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings;
+Lcom/android/server/dreams/DreamController$1;
+Lcom/android/server/dreams/DreamController$2;
+Lcom/android/server/dreams/DreamController$Listener;
+Lcom/android/server/dreams/DreamController;
+Lcom/android/server/dreams/DreamManagerService$1;
+Lcom/android/server/dreams/DreamManagerService$4;
+Lcom/android/server/dreams/DreamManagerService$5;
+Lcom/android/server/dreams/DreamManagerService$6;
+Lcom/android/server/dreams/DreamManagerService$BinderService;
+Lcom/android/server/dreams/DreamManagerService$DreamHandler;
+Lcom/android/server/dreams/DreamManagerService$LocalService;
 Lcom/android/server/dreams/DreamManagerService;
+Lcom/android/server/emergency/EmergencyAffordanceService$1;
+Lcom/android/server/emergency/EmergencyAffordanceService$2;
+Lcom/android/server/emergency/EmergencyAffordanceService$3;
+Lcom/android/server/emergency/EmergencyAffordanceService$MyHandler;
 Lcom/android/server/emergency/EmergencyAffordanceService;
-Lcom/android/server/fingerprint/FingerprintService;
+Lcom/android/server/ethernet/-$$Lambda$EthernetNetworkFactory$EmftAjIay22czoGb8k_mrRGmnzg;
+Lcom/android/server/ethernet/-$$Lambda$EthernetNetworkFactory$KXwxO15KBNVyyYS-UjD-Flm1vQ0;
+Lcom/android/server/ethernet/-$$Lambda$EthernetNetworkFactory$TVQUJVMLGgbguTOK63vgn0fV1JA;
+Lcom/android/server/ethernet/-$$Lambda$EthernetNetworkFactory$b1ndnzBiSX1ihvZw7GtATwTUsto;
+Lcom/android/server/ethernet/-$$Lambda$EthernetTracker$7ZSuSvoSqcExye5DLwv_gyq6gyM;
+Lcom/android/server/ethernet/-$$Lambda$EthernetTracker$InterfaceObserver$RwJV-Ek3mzxwZq-yoQwiconpRi8;
+Lcom/android/server/ethernet/-$$Lambda$EthernetTracker$InterfaceObserver$d1ixKZZuAxwm1Dz_AX3HmL4JVLA;
+Lcom/android/server/ethernet/EthernetConfigStore;
+Lcom/android/server/ethernet/EthernetNetworkFactory$NetworkInterfaceState;
+Lcom/android/server/ethernet/EthernetNetworkFactory;
+Lcom/android/server/ethernet/EthernetService;
+Lcom/android/server/ethernet/EthernetServiceImpl;
+Lcom/android/server/ethernet/EthernetTracker$InterfaceObserver;
+Lcom/android/server/ethernet/EthernetTracker;
 Lcom/android/server/firewall/AndFilter$1;
 Lcom/android/server/firewall/AndFilter;
 Lcom/android/server/firewall/CategoryFilter$1;
@@ -3505,10 +2081,25 @@
 Lcom/android/server/firewall/StringFilter$StartsWithFilter;
 Lcom/android/server/firewall/StringFilter$ValueProvider;
 Lcom/android/server/firewall/StringFilter;
+Lcom/android/server/gpu/GpuService$PackageReceiver;
+Lcom/android/server/gpu/GpuService;
 Lcom/android/server/hdmi/HdmiCecController;
 Lcom/android/server/hdmi/HdmiControlService;
-Lcom/android/server/input/InputApplicationHandle;
-Lcom/android/server/input/InputForwarder;
+Lcom/android/server/incident/IncidentCompanionService$BinderService;
+Lcom/android/server/incident/IncidentCompanionService;
+Lcom/android/server/incident/PendingReports;
+Lcom/android/server/incident/RequestQueue$1;
+Lcom/android/server/incident/RequestQueue;
+Lcom/android/server/infra/-$$Lambda$AbstractMasterSystemService$D8HGGcjBX_RP_b5u02Ee0u4nYKM;
+Lcom/android/server/infra/-$$Lambda$AbstractMasterSystemService$_fKw-VUP0pSfcMMlgRqoT4OPhxw;
+Lcom/android/server/infra/AbstractMasterSystemService$1;
+Lcom/android/server/infra/AbstractMasterSystemService$SettingsObserver;
+Lcom/android/server/infra/AbstractMasterSystemService;
+Lcom/android/server/infra/AbstractPerUserSystemService;
+Lcom/android/server/infra/FrameworkResourcesServiceNameResolver;
+Lcom/android/server/infra/SecureSettingsServiceNameResolver;
+Lcom/android/server/infra/ServiceNameResolver$NameResolverListener;
+Lcom/android/server/infra/ServiceNameResolver;
 Lcom/android/server/input/InputManagerService$10;
 Lcom/android/server/input/InputManagerService$11;
 Lcom/android/server/input/InputManagerService$12;
@@ -3521,53 +2112,372 @@
 Lcom/android/server/input/InputManagerService$7;
 Lcom/android/server/input/InputManagerService$8;
 Lcom/android/server/input/InputManagerService$9;
-Lcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;
-Lcom/android/server/input/InputManagerService$InputFilterHost;
 Lcom/android/server/input/InputManagerService$InputManagerHandler;
 Lcom/android/server/input/InputManagerService$KeyboardLayoutDescriptor;
 Lcom/android/server/input/InputManagerService$KeyboardLayoutVisitor;
 Lcom/android/server/input/InputManagerService$LocalService;
-Lcom/android/server/input/InputManagerService$TabletModeChangedListenerRecord;
-Lcom/android/server/input/InputManagerService$VibratorToken;
 Lcom/android/server/input/InputManagerService$WindowManagerCallbacks;
 Lcom/android/server/input/InputManagerService$WiredAccessoryCallbacks;
 Lcom/android/server/input/InputManagerService;
-Lcom/android/server/input/InputWindowHandle;
+Lcom/android/server/input/PersistentDataStore$InputDeviceState;
 Lcom/android/server/input/PersistentDataStore;
+Lcom/android/server/inputmethod/-$$Lambda$InputMethodManagerService$WKeggbXOK74NyV9Xn48GoWFf9Js;
+Lcom/android/server/inputmethod/AdditionalSubtypeUtils;
+Lcom/android/server/inputmethod/InputMethodManagerInternal$1;
+Lcom/android/server/inputmethod/InputMethodManagerInternal;
+Lcom/android/server/inputmethod/InputMethodManagerService$1;
+Lcom/android/server/inputmethod/InputMethodManagerService$2;
+Lcom/android/server/inputmethod/InputMethodManagerService$ClientDeathRecipient;
+Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;
+Lcom/android/server/inputmethod/InputMethodManagerService$DebugFlag;
+Lcom/android/server/inputmethod/InputMethodManagerService$DebugFlags;
+Lcom/android/server/inputmethod/InputMethodManagerService$HardKeyboardListener;
+Lcom/android/server/inputmethod/InputMethodManagerService$ImeDisplayValidator;
+Lcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiver;
+Lcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;
+Lcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;
+Lcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;
+Lcom/android/server/inputmethod/InputMethodManagerService$SettingsObserver;
+Lcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory$Entry;
+Lcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory;
+Lcom/android/server/inputmethod/InputMethodManagerService;
+Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;
+Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;
+Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;
+Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList;
+Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$StaticRotationList;
+Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController;
+Lcom/android/server/inputmethod/InputMethodUtils$1;
+Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;
+Lcom/android/server/inputmethod/InputMethodUtils;
+Lcom/android/server/inputmethod/LocaleUtils$LocaleExtractor;
+Lcom/android/server/job/-$$Lambda$JobConcurrencyManager$5dmb0pQscXPwEG6SBnhs7aCwpSs;
+Lcom/android/server/job/-$$Lambda$JobSchedulerService$AauD0it1BcgWldVm_V1m2Jo7_Zc;
+Lcom/android/server/job/-$$Lambda$JobSchedulerService$Lfddr1PhKRLtm92W7niRGMWO69M;
+Lcom/android/server/job/-$$Lambda$JobSchedulerService$V6_ZmVmzJutg4w0s0LktDOsRAss;
+Lcom/android/server/job/-$$Lambda$JobSchedulerService$nXpbkYDrU0yC5DuTafFiblXBdTY;
+Lcom/android/server/job/-$$Lambda$JobStore$JobSet$D9839QVHHu4X-hnxouyIMkP5NWA;
+Lcom/android/server/job/-$$Lambda$JobStore$JobSet$id1Y3Yh8Y9sEb-njlNCUNay6U9k;
 Lcom/android/server/job/JobCompletedListener;
+Lcom/android/server/job/JobConcurrencyManager$1;
+Lcom/android/server/job/JobConcurrencyManager$JobCountTracker;
+Lcom/android/server/job/JobConcurrencyManager;
+Lcom/android/server/job/JobPackageTracker$DataSet;
+Lcom/android/server/job/JobPackageTracker;
+Lcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;
 Lcom/android/server/job/JobSchedulerInternal;
+Lcom/android/server/job/JobSchedulerService$1;
+Lcom/android/server/job/JobSchedulerService$2;
+Lcom/android/server/job/JobSchedulerService$3;
+Lcom/android/server/job/JobSchedulerService$Constants;
+Lcom/android/server/job/JobSchedulerService$ConstantsObserver;
+Lcom/android/server/job/JobSchedulerService$DeferredJobCounter;
+Lcom/android/server/job/JobSchedulerService$HeartbeatAlarmListener;
+Lcom/android/server/job/JobSchedulerService$JobHandler;
+Lcom/android/server/job/JobSchedulerService$JobSchedulerStub;
+Lcom/android/server/job/JobSchedulerService$LocalService;
+Lcom/android/server/job/JobSchedulerService$MaxJobCounts;
+Lcom/android/server/job/JobSchedulerService$MaxJobCountsPerMemoryTrimLevel;
+Lcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;
+Lcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;
+Lcom/android/server/job/JobSchedulerService$StandbyTracker;
+Lcom/android/server/job/JobSchedulerService$ThermalStatusListener;
 Lcom/android/server/job/JobSchedulerService;
+Lcom/android/server/job/JobServiceContext$JobServiceHandler;
+Lcom/android/server/job/JobServiceContext;
+Lcom/android/server/job/JobStore$1;
+Lcom/android/server/job/JobStore$JobSet;
+Lcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;
+Lcom/android/server/job/JobStore;
 Lcom/android/server/job/StateChangedListener;
+Lcom/android/server/job/controllers/-$$Lambda$QuotaController$Nr0Q3oPwHBGHfHSdpzIm80t7M7s;
+Lcom/android/server/job/controllers/-$$Lambda$QuotaController$StandbyTracker$HBosnPX15xU_maD6xbBsC7aJqOU;
+Lcom/android/server/job/controllers/-$$Lambda$QuotaController$StandbyTracker$UNCXPiY4xGPFhTnC-LuVzvqiAl4;
+Lcom/android/server/job/controllers/BackgroundJobsController$1;
+Lcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;
+Lcom/android/server/job/controllers/BackgroundJobsController;
+Lcom/android/server/job/controllers/BatteryController$ChargingTracker;
+Lcom/android/server/job/controllers/BatteryController;
+Lcom/android/server/job/controllers/ConnectivityController$1;
+Lcom/android/server/job/controllers/ConnectivityController$2;
+Lcom/android/server/job/controllers/ConnectivityController;
+Lcom/android/server/job/controllers/ContentObserverController;
+Lcom/android/server/job/controllers/DeviceIdleJobsController$1;
+Lcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleJobsDelayHandler;
+Lcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;
+Lcom/android/server/job/controllers/DeviceIdleJobsController;
+Lcom/android/server/job/controllers/IdleController;
+Lcom/android/server/job/controllers/JobStatus;
+Lcom/android/server/job/controllers/QuotaController$1;
+Lcom/android/server/job/controllers/QuotaController$2;
+Lcom/android/server/job/controllers/QuotaController$ChargingTracker;
+Lcom/android/server/job/controllers/QuotaController$DeleteTimingSessionsFunctor$1;
+Lcom/android/server/job/controllers/QuotaController$DeleteTimingSessionsFunctor;
+Lcom/android/server/job/controllers/QuotaController$EarliestEndTimeFunctor;
+Lcom/android/server/job/controllers/QuotaController$ExecutionStats;
+Lcom/android/server/job/controllers/QuotaController$QcAlarmListener;
+Lcom/android/server/job/controllers/QuotaController$QcHandler;
+Lcom/android/server/job/controllers/QuotaController$StandbyTracker;
+Lcom/android/server/job/controllers/QuotaController$Timer;
+Lcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;
+Lcom/android/server/job/controllers/QuotaController$UserPackageMap;
+Lcom/android/server/job/controllers/QuotaController;
+Lcom/android/server/job/controllers/StateController;
+Lcom/android/server/job/controllers/StorageController$StorageTracker;
+Lcom/android/server/job/controllers/StorageController;
+Lcom/android/server/job/controllers/TimeController$1;
+Lcom/android/server/job/controllers/TimeController$2;
+Lcom/android/server/job/controllers/TimeController;
+Lcom/android/server/job/controllers/idle/-$$Lambda$DeviceIdlenessTracker$-H1-ZwZAJ-vh10A0PeYXaZLj_R0;
+Lcom/android/server/job/controllers/idle/DeviceIdlenessTracker;
+Lcom/android/server/job/controllers/idle/IdlenessListener;
+Lcom/android/server/job/controllers/idle/IdlenessTracker;
 Lcom/android/server/lights/Light;
 Lcom/android/server/lights/LightsManager;
 Lcom/android/server/lights/LightsService$1;
 Lcom/android/server/lights/LightsService$2;
 Lcom/android/server/lights/LightsService$LightImpl;
 Lcom/android/server/lights/LightsService;
+Lcom/android/server/location/-$$Lambda$5U-_NhZgxqnYDZhpyacq4qBxh8k;
+Lcom/android/server/location/-$$Lambda$ContextHubClientBroker$CFacmt7807NhDDkp6CgbkeGnMvQ;
+Lcom/android/server/location/-$$Lambda$ContextHubClientBroker$P9IUEzaG4gP8jALe00of9jdlrGw;
+Lcom/android/server/location/-$$Lambda$ContextHubClientManager$f15OSYbsSONpkXn7GinnrBPeumw;
+Lcom/android/server/location/-$$Lambda$ContextHubTransactionManager$sHbjr4TaLEATkCX_yhD2L7ebuxE;
+Lcom/android/server/location/-$$Lambda$GeofenceProxy$nfSKchjbT2ANT9GbYwyAcTjzBwQ;
+Lcom/android/server/location/-$$Lambda$GnssConfiguration$1$384RrX20Mx6OJsRiqsQcSxYdcZc;
+Lcom/android/server/location/-$$Lambda$GnssConfiguration$1$5tBf0Ru8L994vqKbXOeOBj2A-CA;
+Lcom/android/server/location/-$$Lambda$GnssConfiguration$1$8lp2ukEzg_Agf73p3ka-dqhWUpE;
+Lcom/android/server/location/-$$Lambda$GnssConfiguration$1$9cfNUAWKKutp5KSqhvHSGJNe0ao;
+Lcom/android/server/location/-$$Lambda$GnssConfiguration$1$aaV8BigB_1Oil1H82EHUb0zvWPo;
+Lcom/android/server/location/-$$Lambda$GnssConfiguration$1$rRu0NBMB8DgPt3DY5__6u_WNl7A;
+Lcom/android/server/location/-$$Lambda$GnssConfiguration$1$sKzdHBM7V7DxdhcWx1u8hipJYFo;
+Lcom/android/server/location/-$$Lambda$GnssLocationProvider$DiR2gLZsU3wguaAfx6x4XN_Suhg;
+Lcom/android/server/location/-$$Lambda$GnssLocationProvider$Q6M8z_ZBiD7BNs3kvNmVrqoHSng;
+Lcom/android/server/location/-$$Lambda$GnssLocationProvider$WbIUWqWbiKrZx6NHwSpsFU1pHKI;
+Lcom/android/server/location/-$$Lambda$GnssLocationProvider$jI_1ijylK8qgSMUNPTBQdsK_VgI;
+Lcom/android/server/location/-$$Lambda$LocationProviderProxy$2$QT3uzVX4fLIc1b7F_cP9P1hzluA;
+Lcom/android/server/location/-$$Lambda$LocationProviderProxy$p3DjIvk7Of_sUF4Dc9plMNfdklc;
+Lcom/android/server/location/-$$Lambda$RemoteListenerHelper$0Rlnad83RE1JdiVK0ULOLm530JM;
+Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;
+Lcom/android/server/location/AbstractLocationProvider;
+Lcom/android/server/location/ActivityRecognitionProxy$1;
+Lcom/android/server/location/ActivityRecognitionProxy;
+Lcom/android/server/location/CallerIdentity;
+Lcom/android/server/location/ComprehensiveCountryDetector$1;
+Lcom/android/server/location/ComprehensiveCountryDetector$2;
+Lcom/android/server/location/ComprehensiveCountryDetector$3;
+Lcom/android/server/location/ComprehensiveCountryDetector$4;
+Lcom/android/server/location/ComprehensiveCountryDetector;
+Lcom/android/server/location/ContextHubClientBroker$CallbackConsumer;
+Lcom/android/server/location/ContextHubClientBroker$PendingIntentRequest;
+Lcom/android/server/location/ContextHubClientBroker;
+Lcom/android/server/location/ContextHubClientManager;
+Lcom/android/server/location/ContextHubService$1;
+Lcom/android/server/location/ContextHubService$4;
+Lcom/android/server/location/ContextHubService$ContextHubServiceCallback;
+Lcom/android/server/location/ContextHubService;
+Lcom/android/server/location/ContextHubServiceTransaction;
+Lcom/android/server/location/ContextHubServiceUtil;
+Lcom/android/server/location/ContextHubTransactionManager$5;
+Lcom/android/server/location/ContextHubTransactionManager;
+Lcom/android/server/location/CountryDetectorBase;
+Lcom/android/server/location/ExponentialBackOff;
+Lcom/android/server/location/GeocoderProxy;
+Lcom/android/server/location/GeofenceManager$1;
+Lcom/android/server/location/GeofenceManager$GeofenceHandler;
+Lcom/android/server/location/GeofenceManager;
+Lcom/android/server/location/GeofenceProxy$1;
+Lcom/android/server/location/GeofenceProxy$GeofenceProxyServiceConnection;
+Lcom/android/server/location/GeofenceProxy;
+Lcom/android/server/location/GnssBatchingProvider$GnssBatchingProviderNative;
 Lcom/android/server/location/GnssBatchingProvider;
+Lcom/android/server/location/GnssConfiguration$1;
+Lcom/android/server/location/GnssConfiguration$HalInterfaceVersion;
+Lcom/android/server/location/GnssConfiguration$SetCarrierProperty;
+Lcom/android/server/location/GnssConfiguration;
+Lcom/android/server/location/GnssGeofenceProvider$GnssGeofenceProviderNative;
 Lcom/android/server/location/GnssGeofenceProvider;
+Lcom/android/server/location/GnssLocationProvider$1;
+Lcom/android/server/location/GnssLocationProvider$2;
+Lcom/android/server/location/GnssLocationProvider$3;
+Lcom/android/server/location/GnssLocationProvider$4;
+Lcom/android/server/location/GnssLocationProvider$5;
+Lcom/android/server/location/GnssLocationProvider$6;
+Lcom/android/server/location/GnssLocationProvider$7;
+Lcom/android/server/location/GnssLocationProvider$8;
+Lcom/android/server/location/GnssLocationProvider$9;
+Lcom/android/server/location/GnssLocationProvider$FusedLocationListener;
+Lcom/android/server/location/GnssLocationProvider$GnssMetricsProvider;
+Lcom/android/server/location/GnssLocationProvider$GnssSystemInfoProvider;
+Lcom/android/server/location/GnssLocationProvider$GpsRequest;
+Lcom/android/server/location/GnssLocationProvider$LocationChangeListener;
+Lcom/android/server/location/GnssLocationProvider$LocationExtras;
+Lcom/android/server/location/GnssLocationProvider$NetworkLocationListener;
+Lcom/android/server/location/GnssLocationProvider$ProviderHandler;
 Lcom/android/server/location/GnssLocationProvider;
+Lcom/android/server/location/GnssMeasurementsProvider$GnssMeasurementProviderNative;
 Lcom/android/server/location/GnssMeasurementsProvider;
+Lcom/android/server/location/GnssNavigationMessageProvider$GnssNavigationMessageProviderNative;
+Lcom/android/server/location/GnssNavigationMessageProvider$StatusChangedOperation;
 Lcom/android/server/location/GnssNavigationMessageProvider;
+Lcom/android/server/location/GnssNetworkConnectivityHandler$1;
+Lcom/android/server/location/GnssNetworkConnectivityHandler$2;
+Lcom/android/server/location/GnssNetworkConnectivityHandler$GnssNetworkListener;
+Lcom/android/server/location/GnssNetworkConnectivityHandler;
+Lcom/android/server/location/GnssSatelliteBlacklistHelper$1;
 Lcom/android/server/location/GnssSatelliteBlacklistHelper$GnssSatelliteBlacklistCallback;
-Lcom/android/server/location/LocationProviderInterface;
+Lcom/android/server/location/GnssSatelliteBlacklistHelper;
+Lcom/android/server/location/GnssStatusListenerHelper;
+Lcom/android/server/location/GnssVisibilityControl;
+Lcom/android/server/location/LocationBasedCountryDetector$1;
+Lcom/android/server/location/LocationBasedCountryDetector$2;
+Lcom/android/server/location/LocationBasedCountryDetector;
+Lcom/android/server/location/LocationBlacklist;
+Lcom/android/server/location/LocationFudger$1;
+Lcom/android/server/location/LocationFudger;
+Lcom/android/server/location/LocationProviderProxy$1;
+Lcom/android/server/location/LocationProviderProxy$2;
+Lcom/android/server/location/LocationProviderProxy;
+Lcom/android/server/location/LocationRequestStatistics$PackageProviderKey;
+Lcom/android/server/location/LocationRequestStatistics$PackageStatistics;
+Lcom/android/server/location/LocationRequestStatistics;
+Lcom/android/server/location/NanoAppStateManager;
 Lcom/android/server/location/NtpTimeHelper$InjectNtpTimeCallback;
+Lcom/android/server/location/NtpTimeHelper;
+Lcom/android/server/location/PassiveProvider;
+Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;
 Lcom/android/server/location/RemoteListenerHelper;
+Lcom/android/server/locksettings/-$$Lambda$SyntheticPasswordManager$WjMV-qfQ1YUbeAiLzyAhyepqPFI;
+Lcom/android/server/locksettings/LockSettingsService$2;
+Lcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;
+Lcom/android/server/locksettings/LockSettingsService$GateKeeperDiedRecipient;
+Lcom/android/server/locksettings/LockSettingsService$Injector$1;
+Lcom/android/server/locksettings/LockSettingsService$Injector;
+Lcom/android/server/locksettings/LockSettingsService$Lifecycle;
+Lcom/android/server/locksettings/LockSettingsService$LocalService;
+Lcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;
+Lcom/android/server/locksettings/LockSettingsService;
+Lcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;
+Lcom/android/server/locksettings/LockSettingsStorage$Cache;
+Lcom/android/server/locksettings/LockSettingsStorage$Callback;
+Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
+Lcom/android/server/locksettings/LockSettingsStorage$DatabaseHelper;
+Lcom/android/server/locksettings/LockSettingsStorage;
+Lcom/android/server/locksettings/LockSettingsStrongAuth$1;
+Lcom/android/server/locksettings/LockSettingsStrongAuth;
+Lcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;
 Lcom/android/server/locksettings/SyntheticPasswordManager;
+Lcom/android/server/locksettings/recoverablekeystore/InsecureUserException;
+Lcom/android/server/locksettings/recoverablekeystore/KeyStoreProxy;
+Lcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;
+Lcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;
+Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyGenerator;
+Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStorageException;
+Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;
+Lcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;
+Lcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;
+Lcom/android/server/locksettings/recoverablekeystore/certificate/CertParsingException;
+Lcom/android/server/locksettings/recoverablekeystore/certificate/CertValidationException;
+Lcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotParserException;
+Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;
+Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;
+Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper;
+Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySessionStorage;
+Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;
+Lcom/android/server/media/-$$Lambda$MediaSessionServiceImpl$a3VtB0CQuvV4UG4nWgvCgkL6hec;
+Lcom/android/server/media/AudioPlayerStateMonitor$MessageHandler;
+Lcom/android/server/media/AudioPlayerStateMonitor$OnAudioPlayerActiveStateChangedListener;
+Lcom/android/server/media/AudioPlayerStateMonitor;
+Lcom/android/server/media/MediaResourceMonitorService$MediaResourceMonitorImpl;
 Lcom/android/server/media/MediaResourceMonitorService;
+Lcom/android/server/media/MediaRouterService$1$1;
+Lcom/android/server/media/MediaRouterService$1;
+Lcom/android/server/media/MediaRouterService$2;
+Lcom/android/server/media/MediaRouterService$3;
+Lcom/android/server/media/MediaRouterService$ClientRecord;
+Lcom/android/server/media/MediaRouterService$MediaRouterServiceBroadcastReceiver;
+Lcom/android/server/media/MediaRouterService$UserHandler;
+Lcom/android/server/media/MediaRouterService$UserRecord;
 Lcom/android/server/media/MediaRouterService;
+Lcom/android/server/media/MediaSessionRecord$3;
+Lcom/android/server/media/MediaSessionRecord$ControllerStub;
+Lcom/android/server/media/MediaSessionRecord$MessageHandler;
+Lcom/android/server/media/MediaSessionRecord$SessionCb;
+Lcom/android/server/media/MediaSessionRecord$SessionStub;
+Lcom/android/server/media/MediaSessionRecord;
+Lcom/android/server/media/MediaSessionService$ServiceImpl;
 Lcom/android/server/media/MediaSessionService;
-Lcom/android/server/media/MediaUpdateService;
+Lcom/android/server/media/MediaSessionServiceImpl$1;
+Lcom/android/server/media/MediaSessionServiceImpl$Controller2Callback;
+Lcom/android/server/media/MediaSessionServiceImpl$FullUserRecord;
+Lcom/android/server/media/MediaSessionServiceImpl$MessageHandler;
+Lcom/android/server/media/MediaSessionServiceImpl$Session2TokensListenerRecord;
+Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$1;
+Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$2;
+Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$3;
+Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$4;
+Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$5;
+Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$KeyEventWakeLockReceiver;
+Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$MediaKeyListenerResultReceiver;
+Lcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;
+Lcom/android/server/media/MediaSessionServiceImpl$SessionsListenerRecord;
+Lcom/android/server/media/MediaSessionServiceImpl$SettingsObserver;
+Lcom/android/server/media/MediaSessionServiceImpl;
+Lcom/android/server/media/MediaSessionStack$OnMediaButtonSessionChangedListener;
+Lcom/android/server/media/MediaSessionStack;
+Lcom/android/server/media/RemoteDisplayProviderProxy$Callback;
+Lcom/android/server/media/RemoteDisplayProviderWatcher$1;
+Lcom/android/server/media/RemoteDisplayProviderWatcher$2;
+Lcom/android/server/media/RemoteDisplayProviderWatcher$Callback;
+Lcom/android/server/media/RemoteDisplayProviderWatcher;
+Lcom/android/server/media/projection/MediaProjectionManagerService$1;
+Lcom/android/server/media/projection/MediaProjectionManagerService$BinderService;
+Lcom/android/server/media/projection/MediaProjectionManagerService$CallbackDelegate;
+Lcom/android/server/media/projection/MediaProjectionManagerService$MediaRouterCallback;
 Lcom/android/server/media/projection/MediaProjectionManagerService;
+Lcom/android/server/midi/MidiService$1;
+Lcom/android/server/midi/MidiService$Lifecycle;
+Lcom/android/server/midi/MidiService;
+Lcom/android/server/net/-$$Lambda$NetworkPolicyManagerService$HDTUqowtgL-W_V0Kq6psXLWC9ws;
+Lcom/android/server/net/DelayedDiskWrite$Writer;
+Lcom/android/server/net/DelayedDiskWrite;
+Lcom/android/server/net/IpConfigStore;
+Lcom/android/server/net/LockdownVpnTracker;
 Lcom/android/server/net/NetworkIdentitySet;
+Lcom/android/server/net/NetworkPolicyLogger$Data;
+Lcom/android/server/net/NetworkPolicyLogger$LogBuffer;
+Lcom/android/server/net/NetworkPolicyLogger;
 Lcom/android/server/net/NetworkPolicyManagerInternal;
+Lcom/android/server/net/NetworkPolicyManagerService$10;
+Lcom/android/server/net/NetworkPolicyManagerService$11;
+Lcom/android/server/net/NetworkPolicyManagerService$12;
+Lcom/android/server/net/NetworkPolicyManagerService$13;
+Lcom/android/server/net/NetworkPolicyManagerService$14;
+Lcom/android/server/net/NetworkPolicyManagerService$15;
+Lcom/android/server/net/NetworkPolicyManagerService$16;
+Lcom/android/server/net/NetworkPolicyManagerService$17;
+Lcom/android/server/net/NetworkPolicyManagerService$18;
+Lcom/android/server/net/NetworkPolicyManagerService$1;
+Lcom/android/server/net/NetworkPolicyManagerService$2;
+Lcom/android/server/net/NetworkPolicyManagerService$3;
+Lcom/android/server/net/NetworkPolicyManagerService$4;
+Lcom/android/server/net/NetworkPolicyManagerService$5;
+Lcom/android/server/net/NetworkPolicyManagerService$6;
+Lcom/android/server/net/NetworkPolicyManagerService$7;
+Lcom/android/server/net/NetworkPolicyManagerService$8;
+Lcom/android/server/net/NetworkPolicyManagerService$9;
+Lcom/android/server/net/NetworkPolicyManagerService$AppIdleStateChangeListener;
+Lcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;
 Lcom/android/server/net/NetworkPolicyManagerService;
 Lcom/android/server/net/NetworkStatsAccess;
+Lcom/android/server/net/NetworkStatsCollection$Key;
 Lcom/android/server/net/NetworkStatsCollection;
 Lcom/android/server/net/NetworkStatsManagerInternal;
+Lcom/android/server/net/NetworkStatsObservers$1;
+Lcom/android/server/net/NetworkStatsObservers$StatsContext;
 Lcom/android/server/net/NetworkStatsObservers;
+Lcom/android/server/net/NetworkStatsRecorder$CombiningRewriter;
 Lcom/android/server/net/NetworkStatsRecorder;
-Lcom/android/server/net/NetworkStatsService$1;
 Lcom/android/server/net/NetworkStatsService$2;
 Lcom/android/server/net/NetworkStatsService$3;
 Lcom/android/server/net/NetworkStatsService$4;
@@ -3577,33 +2487,183 @@
 Lcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;
 Lcom/android/server/net/NetworkStatsService$DropBoxNonMonotonicObserver;
 Lcom/android/server/net/NetworkStatsService$HandlerCallback;
+Lcom/android/server/net/NetworkStatsService$NetworkStatsHandler;
 Lcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;
 Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
 Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings;
 Lcom/android/server/net/NetworkStatsService;
+Lcom/android/server/net/ipmemorystore/IpMemoryStoreDatabase$DbHelper;
+Lcom/android/server/net/ipmemorystore/IpMemoryStoreService;
+Lcom/android/server/net/watchlist/-$$Lambda$WatchlistLoggingHandler$GBD0dX6RhipHIkM0Z_B5jLlwfHQ;
+Lcom/android/server/net/watchlist/DigestUtils;
+Lcom/android/server/net/watchlist/HarmfulDigests;
+Lcom/android/server/net/watchlist/NetworkWatchlistService$1;
 Lcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;
+Lcom/android/server/net/watchlist/NetworkWatchlistService;
+Lcom/android/server/net/watchlist/ReportWatchlistJobService;
+Lcom/android/server/net/watchlist/WatchlistConfig$CrcShaDigests;
+Lcom/android/server/net/watchlist/WatchlistConfig;
+Lcom/android/server/net/watchlist/WatchlistLoggingHandler;
+Lcom/android/server/net/watchlist/WatchlistReportDbHelper$AggregatedResult;
+Lcom/android/server/net/watchlist/WatchlistReportDbHelper;
+Lcom/android/server/net/watchlist/WatchlistSettings;
+Lcom/android/server/notification/-$$Lambda$NotificationManagerService$14$hWnH6mjUAxwVmpU3QRoPHh5_FyI;
+Lcom/android/server/notification/-$$Lambda$NotificationManagerService$Ehw7Jxsy3ZIwTcAa2DFsHjIULas;
+Lcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$T5BM1IF40aMGtqZZRr6BWGjzNxA;
+Lcom/android/server/notification/-$$Lambda$ouaYRM5YVYoMkUW8dm6TnIjLfgg;
+Lcom/android/server/notification/BadgeExtractor;
+Lcom/android/server/notification/BubbleExtractor;
+Lcom/android/server/notification/CalendarTracker$1;
+Lcom/android/server/notification/CalendarTracker$Callback;
+Lcom/android/server/notification/CalendarTracker$CheckEventResult;
+Lcom/android/server/notification/CalendarTracker;
+Lcom/android/server/notification/ConditionProviders$Callback;
+Lcom/android/server/notification/ConditionProviders$ConditionRecord;
+Lcom/android/server/notification/ConditionProviders;
+Lcom/android/server/notification/CountdownConditionProvider$Receiver;
+Lcom/android/server/notification/CountdownConditionProvider;
+Lcom/android/server/notification/CriticalNotificationExtractor;
+Lcom/android/server/notification/EventConditionProvider$1;
+Lcom/android/server/notification/EventConditionProvider$2;
+Lcom/android/server/notification/EventConditionProvider$3;
+Lcom/android/server/notification/EventConditionProvider$4;
+Lcom/android/server/notification/EventConditionProvider;
+Lcom/android/server/notification/GlobalSortKeyComparator;
+Lcom/android/server/notification/GroupHelper$Callback;
+Lcom/android/server/notification/GroupHelper;
+Lcom/android/server/notification/ImportanceExtractor;
+Lcom/android/server/notification/ManagedServices$1;
+Lcom/android/server/notification/ManagedServices$Config;
+Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+Lcom/android/server/notification/ManagedServices$UserProfiles;
+Lcom/android/server/notification/ManagedServices;
+Lcom/android/server/notification/NotificationAdjustmentExtractor;
+Lcom/android/server/notification/NotificationChannelExtractor;
+Lcom/android/server/notification/NotificationComparator$1;
+Lcom/android/server/notification/NotificationComparator;
+Lcom/android/server/notification/NotificationDelegate;
+Lcom/android/server/notification/NotificationIntrusivenessExtractor;
+Lcom/android/server/notification/NotificationManagerInternal;
+Lcom/android/server/notification/NotificationManagerService$10$1;
+Lcom/android/server/notification/NotificationManagerService$10;
+Lcom/android/server/notification/NotificationManagerService$11;
+Lcom/android/server/notification/NotificationManagerService$14;
+Lcom/android/server/notification/NotificationManagerService$16;
+Lcom/android/server/notification/NotificationManagerService$1;
+Lcom/android/server/notification/NotificationManagerService$2;
+Lcom/android/server/notification/NotificationManagerService$3;
+Lcom/android/server/notification/NotificationManagerService$4;
+Lcom/android/server/notification/NotificationManagerService$5;
+Lcom/android/server/notification/NotificationManagerService$6;
+Lcom/android/server/notification/NotificationManagerService$7;
+Lcom/android/server/notification/NotificationManagerService$8;
+Lcom/android/server/notification/NotificationManagerService$9;
+Lcom/android/server/notification/NotificationManagerService$Archive;
+Lcom/android/server/notification/NotificationManagerService$CancelNotificationRunnable;
+Lcom/android/server/notification/NotificationManagerService$FlagChecker;
+Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;
+Lcom/android/server/notification/NotificationManagerService$NotificationListeners;
+Lcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;
+Lcom/android/server/notification/NotificationManagerService$SettingsObserver;
+Lcom/android/server/notification/NotificationManagerService$WorkerHandler;
 Lcom/android/server/notification/NotificationManagerService;
+Lcom/android/server/notification/NotificationSignalExtractor;
+Lcom/android/server/notification/NotificationUsageStats$1;
+Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;
+Lcom/android/server/notification/NotificationUsageStats$SQLiteLog$1;
+Lcom/android/server/notification/NotificationUsageStats$SQLiteLog$2;
+Lcom/android/server/notification/NotificationUsageStats$SQLiteLog;
+Lcom/android/server/notification/NotificationUsageStats;
+Lcom/android/server/notification/PreferencesHelper$PackagePreferences;
+Lcom/android/server/notification/PreferencesHelper;
+Lcom/android/server/notification/PriorityExtractor;
+Lcom/android/server/notification/PropConfig;
+Lcom/android/server/notification/RankingConfig;
+Lcom/android/server/notification/RankingHandler;
+Lcom/android/server/notification/RankingHelper;
+Lcom/android/server/notification/ScheduleConditionProvider$1;
+Lcom/android/server/notification/ScheduleConditionProvider;
+Lcom/android/server/notification/SnoozeHelper$1;
+Lcom/android/server/notification/SnoozeHelper$Callback;
+Lcom/android/server/notification/SnoozeHelper;
+Lcom/android/server/notification/SystemConditionProviderService;
+Lcom/android/server/notification/ValidateNotificationPeople$1;
+Lcom/android/server/notification/ValidateNotificationPeople;
+Lcom/android/server/notification/VisibilityExtractor;
+Lcom/android/server/notification/ZenLog;
+Lcom/android/server/notification/ZenModeConditions;
+Lcom/android/server/notification/ZenModeExtractor;
+Lcom/android/server/notification/ZenModeFiltering$RepeatCallers;
+Lcom/android/server/notification/ZenModeFiltering;
+Lcom/android/server/notification/ZenModeHelper$Callback;
+Lcom/android/server/notification/ZenModeHelper$H$ConfigMessageData;
+Lcom/android/server/notification/ZenModeHelper$H;
+Lcom/android/server/notification/ZenModeHelper$Metrics;
+Lcom/android/server/notification/ZenModeHelper$RingerModeDelegate;
+Lcom/android/server/notification/ZenModeHelper$SettingsObserver;
+Lcom/android/server/notification/ZenModeHelper;
+Lcom/android/server/oemlock/OemLock;
+Lcom/android/server/oemlock/OemLockService$1;
+Lcom/android/server/oemlock/OemLockService$2;
 Lcom/android/server/oemlock/OemLockService;
+Lcom/android/server/oemlock/VendorLock;
+Lcom/android/server/om/-$$Lambda$OverlayManagerService$_WGEV7N0qhntbqqDW3A1O-TVv5o;
+Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$ATr0DZmWpSWdKD0COw4t2qS-DRk;
+Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$IkswmT9ZZJXmNAztGRVrD3hODMw;
+Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$WYtPK6Ebqjgxm8_8Cot-ijv_z_8;
+Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$bX7CTrJVR3B_eQmD43OOHtRIxgw;
+Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$jZUujzDxrP0hpAqUxnqEf-b-nQc;
+Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$mq-CHAn1jQBVquxuOUv0eQANHIY;
+Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$sx0Nyvq91kCH_A-4Ctf09G_0u9M;
+Lcom/android/server/om/-$$Lambda$OverlayManagerSettings$vXm2C4y9Q-F5yYZNimB-Lr6w-oI;
+Lcom/android/server/om/-$$Lambda$bXuJGR0fITXNwGnQfQHv9KS-XgY;
+Lcom/android/server/om/IdmapManager$1;
+Lcom/android/server/om/IdmapManager;
+Lcom/android/server/om/OverlayManagerService$1;
+Lcom/android/server/om/OverlayManagerService$OverlayChangeListener;
+Lcom/android/server/om/OverlayManagerService$PackageManagerHelper;
+Lcom/android/server/om/OverlayManagerService$PackageReceiver;
+Lcom/android/server/om/OverlayManagerService$UserReceiver;
 Lcom/android/server/om/OverlayManagerService;
+Lcom/android/server/om/OverlayManagerServiceImpl$OverlayChangeListener;
+Lcom/android/server/om/OverlayManagerServiceImpl$PackageManagerHelper;
+Lcom/android/server/om/OverlayManagerServiceImpl;
+Lcom/android/server/om/OverlayManagerSettings$BadKeyException;
+Lcom/android/server/om/OverlayManagerSettings$Serializer;
+Lcom/android/server/om/OverlayManagerSettings$SettingsItem;
+Lcom/android/server/om/OverlayManagerSettings;
+Lcom/android/server/os/-$$Lambda$SchedulingPolicyService$ao2OiSvvlyzmJ0li0c0nhHy-IDk;
+Lcom/android/server/os/BugreportManagerService;
+Lcom/android/server/os/BugreportManagerServiceImpl;
 Lcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;
 Lcom/android/server/os/DeviceIdentifiersPolicyService;
+Lcom/android/server/os/SchedulingPolicyService$1;
 Lcom/android/server/os/SchedulingPolicyService;
+Lcom/android/server/pm/-$$Lambda$ApexManager$Nr-JVjEMcDAmAF2rSRdMapKh1Go;
+Lcom/android/server/pm/-$$Lambda$ComponentResolver$PuHbZd5KEOMGjkH8xDOhOwfLtC0;
 Lcom/android/server/pm/-$$Lambda$Installer$SebeftIfAJ7KsTmM0tju6PfW4Pc;
 Lcom/android/server/pm/-$$Lambda$InstantAppRegistry$BuKCbLr_MGBazMPl54-pWTuGHYY;
 Lcom/android/server/pm/-$$Lambda$InstantAppRegistry$UOn4sUy4zBQuofxUbY8RBYhkNSE;
 Lcom/android/server/pm/-$$Lambda$InstantAppRegistry$eaYsiecM_Rq6dliDvliwVtj695o;
 Lcom/android/server/pm/-$$Lambda$InstantAppRegistry$o-Qxi7Gaam-yhhMK-IMWv499oME;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$1IFDaSQRqG4pqlUtBm87Yzturic;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$8-IQ5_GLnR11f6LVoppcC-6hZ78;
+Lcom/android/server/pm/-$$Lambda$PackageInstallerService$vra5ZkE3juVvcgDBu5xv0wVzno8;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$5hSpumAE5maEOgUlkeKZ3EJQUOU;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$9ZEk0HhVZsj2KQghpPxi82zlVQA;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$HNA1AuKrPFdIr9HtUSHHnPIBTTk;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$Iz1l7RVtATr5Ybl_zHeYuCbGMvA;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$S4BXTl5Ly3EHhXAReFCtlz2B8eo;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$bnLYyNywBZdr_a6WGQKRTv8z0S4;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$JUo3M6zuPH65x1voKjSOJvOMHRw;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$O5iApY07YeJyXA8KUFVcxpCf1NI;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$PackageParserCallback$xinvBJUpQse3J1IBBKjvYTIW8MQ;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$QuhmYCmH6DQCctkuIoqu3zaZWSE;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$ThH5vuBggVL5a6g8JW6gf8x0jT8;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$YHri1Lu_7U5nzv2NPItDUIuocnY;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$gOdSzzOoHvFHJbKlJkAgg4fzOH8;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$gqdNHYJiYM0w_nIH0nGMWWU8yzQ;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$mOTJOturHO9FjzNA-qffT913E0M;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$nmexRk77HBh5Ag-q02zd0jSuaUk;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$opO5L-t6aW9gAx6B5CGlW6sAaX8;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$pG5M8N0ge8cs9_1xCnV9yYuSdCw;
 Lcom/android/server/pm/-$$Lambda$PackageManagerService$sJ5w9GfSftnZPyv5hBDxQkxDJMU;
-Lcom/android/server/pm/-$$Lambda$PackageManagerService$yfOQ0T-7_IM-V0KeaeTUW5KgZRQ;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$xJ_pDKPvSH0lgOwva8xeI2zJ2ns;
+Lcom/android/server/pm/-$$Lambda$PackageManagerService$xKFHvZAUir1Y_lClMWZh87peKs8;
 Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$Fz3elZ0VmMMv9-wl_G3AN15dUU8;
 Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$QMV-UHbRIK26QMZL5iM27MchX7U;
 Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$ePZ6rsJ05hJ2glmOqcq1_jX6J8w;
@@ -3613,16 +2673,35 @@
 Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$p5q19y4-2x-i747j_hTNL1EMzt0;
 Lcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$whx96xO50U3fax1NRe1upTcx9jc;
 Lcom/android/server/pm/-$$Lambda$ParallelPackageParser$FTtinPrp068lVeI7K6bC1tNE3iM;
+Lcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$AUDgG57FGyGDUVDAjL-7cuiE0pM;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$3$WghiV-HLnzJqZabObC5uHCmb960;
+Lcom/android/server/pm/-$$Lambda$ShortcutService$3$n_VdEzyBcjs0pGZO8GnB0FoTgR0;
 Lcom/android/server/pm/-$$Lambda$UserManagerService$1$DQ_02g7kZ7QrJXO6aCATwE6DYCE;
+Lcom/android/server/pm/-$$Lambda$jZzCUQd1whVIqs_s1XMLbFqTP_E;
 Lcom/android/server/pm/AbstractStatsBase$1;
 Lcom/android/server/pm/AbstractStatsBase;
+Lcom/android/server/pm/ApexManager$1;
+Lcom/android/server/pm/ApexManager;
 Lcom/android/server/pm/BackgroundDexOptService;
 Lcom/android/server/pm/CompilerStats$PackageStats;
 Lcom/android/server/pm/CompilerStats;
+Lcom/android/server/pm/ComponentResolver$ActionIterGenerator;
+Lcom/android/server/pm/ComponentResolver$ActivityIntentResolver;
+Lcom/android/server/pm/ComponentResolver$AuthoritiesIterGenerator;
+Lcom/android/server/pm/ComponentResolver$CategoriesIterGenerator;
+Lcom/android/server/pm/ComponentResolver$IterGenerator;
+Lcom/android/server/pm/ComponentResolver$ProviderIntentResolver;
+Lcom/android/server/pm/ComponentResolver$SchemesIterGenerator;
+Lcom/android/server/pm/ComponentResolver$ServiceIntentResolver;
+Lcom/android/server/pm/ComponentResolver;
 Lcom/android/server/pm/CrossProfileAppsService;
+Lcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;
+Lcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;
+Lcom/android/server/pm/CrossProfileAppsServiceImpl;
 Lcom/android/server/pm/CrossProfileIntentFilter;
 Lcom/android/server/pm/CrossProfileIntentResolver;
 Lcom/android/server/pm/DumpState;
+Lcom/android/server/pm/DynamicCodeLoggingService;
 Lcom/android/server/pm/Installer$1;
 Lcom/android/server/pm/Installer$InstallerException;
 Lcom/android/server/pm/Installer;
@@ -3630,6 +2709,10 @@
 Lcom/android/server/pm/InstantAppRegistry$UninstalledInstantAppState;
 Lcom/android/server/pm/InstantAppRegistry;
 Lcom/android/server/pm/InstantAppResolver;
+Lcom/android/server/pm/InstantAppResolverConnection$ConnectionException;
+Lcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller$1;
+Lcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller;
+Lcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection;
 Lcom/android/server/pm/InstantAppResolverConnection;
 Lcom/android/server/pm/InstructionSets;
 Lcom/android/server/pm/IntentFilterVerificationResponse;
@@ -3638,7 +2721,12 @@
 Lcom/android/server/pm/KeySetManagerService$1;
 Lcom/android/server/pm/KeySetManagerService$PublicKeyHandle;
 Lcom/android/server/pm/KeySetManagerService;
+Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;
+Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$PackageCallbackList;
+Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$VouchesChangedMonitor;
+Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;
 Lcom/android/server/pm/LauncherAppsService;
+Lcom/android/server/pm/ModuleInfoProvider;
 Lcom/android/server/pm/OtaDexoptService;
 Lcom/android/server/pm/PackageDexOptimizer$ForcedUpdatePackageDexOptimizer;
 Lcom/android/server/pm/PackageDexOptimizer;
@@ -3646,54 +2734,20 @@
 Lcom/android/server/pm/PackageInstallerService$2;
 Lcom/android/server/pm/PackageInstallerService$Callbacks;
 Lcom/android/server/pm/PackageInstallerService$InternalCallback;
-Lcom/android/server/pm/PackageInstallerService$PackageDeleteObserverAdapter;
 Lcom/android/server/pm/PackageInstallerService;
-Lcom/android/server/pm/PackageInstallerSession;
 Lcom/android/server/pm/PackageKeySetData;
 Lcom/android/server/pm/PackageManagerException;
-Lcom/android/server/pm/PackageManagerService$1$1;
-Lcom/android/server/pm/PackageManagerService$10;
-Lcom/android/server/pm/PackageManagerService$11;
-Lcom/android/server/pm/PackageManagerService$12;
-Lcom/android/server/pm/PackageManagerService$13;
-Lcom/android/server/pm/PackageManagerService$14;
-Lcom/android/server/pm/PackageManagerService$15;
-Lcom/android/server/pm/PackageManagerService$16;
-Lcom/android/server/pm/PackageManagerService$17;
-Lcom/android/server/pm/PackageManagerService$18;
-Lcom/android/server/pm/PackageManagerService$19;
 Lcom/android/server/pm/PackageManagerService$1;
-Lcom/android/server/pm/PackageManagerService$20;
-Lcom/android/server/pm/PackageManagerService$21;
-Lcom/android/server/pm/PackageManagerService$22;
-Lcom/android/server/pm/PackageManagerService$23;
-Lcom/android/server/pm/PackageManagerService$24;
-Lcom/android/server/pm/PackageManagerService$25;
-Lcom/android/server/pm/PackageManagerService$26;
-Lcom/android/server/pm/PackageManagerService$27;
-Lcom/android/server/pm/PackageManagerService$28;
-Lcom/android/server/pm/PackageManagerService$29;
 Lcom/android/server/pm/PackageManagerService$2;
-Lcom/android/server/pm/PackageManagerService$30;
-Lcom/android/server/pm/PackageManagerService$31;
 Lcom/android/server/pm/PackageManagerService$3;
 Lcom/android/server/pm/PackageManagerService$4;
 Lcom/android/server/pm/PackageManagerService$5;
 Lcom/android/server/pm/PackageManagerService$6;
 Lcom/android/server/pm/PackageManagerService$7;
 Lcom/android/server/pm/PackageManagerService$8;
-Lcom/android/server/pm/PackageManagerService$9;
-Lcom/android/server/pm/PackageManagerService$ActivityIntentResolver$ActionIterGenerator;
-Lcom/android/server/pm/PackageManagerService$ActivityIntentResolver$AuthoritiesIterGenerator;
-Lcom/android/server/pm/PackageManagerService$ActivityIntentResolver$CategoriesIterGenerator;
-Lcom/android/server/pm/PackageManagerService$ActivityIntentResolver$IterGenerator;
-Lcom/android/server/pm/PackageManagerService$ActivityIntentResolver$SchemesIterGenerator;
-Lcom/android/server/pm/PackageManagerService$ActivityIntentResolver;
 Lcom/android/server/pm/PackageManagerService$BlobXmlRestorer;
-Lcom/android/server/pm/PackageManagerService$ClearStorageConnection;
 Lcom/android/server/pm/PackageManagerService$CrossProfileDomainInfo;
-Lcom/android/server/pm/PackageManagerService$DefaultContainerConnection;
-Lcom/android/server/pm/PackageManagerService$FileInstallArgs$1;
+Lcom/android/server/pm/PackageManagerService$DeletePackageAction;
 Lcom/android/server/pm/PackageManagerService$FileInstallArgs;
 Lcom/android/server/pm/PackageManagerService$HandlerParams;
 Lcom/android/server/pm/PackageManagerService$IFVerificationParams;
@@ -3711,24 +2765,25 @@
 Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;
 Lcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;
 Lcom/android/server/pm/PackageManagerService$PackageManagerNative;
-Lcom/android/server/pm/PackageManagerService$PackageParserCallback$1;
 Lcom/android/server/pm/PackageManagerService$PackageParserCallback;
 Lcom/android/server/pm/PackageManagerService$PackageRemovedInfo;
 Lcom/android/server/pm/PackageManagerService$ParallelPackageParserCallback;
 Lcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;
 Lcom/android/server/pm/PackageManagerService$PostInstallData;
-Lcom/android/server/pm/PackageManagerService$ProviderIntentResolver;
+Lcom/android/server/pm/PackageManagerService$PrepareFailure;
+Lcom/android/server/pm/PackageManagerService$PrepareResult;
+Lcom/android/server/pm/PackageManagerService$ReconcileFailure;
+Lcom/android/server/pm/PackageManagerService$ReconcileRequest;
+Lcom/android/server/pm/PackageManagerService$ReconciledPackage;
 Lcom/android/server/pm/PackageManagerService$ScanRequest;
 Lcom/android/server/pm/PackageManagerService$ScanResult;
-Lcom/android/server/pm/PackageManagerService$ServiceIntentResolver;
-Lcom/android/server/pm/PackageManagerService$SharedLibraryEntry;
+Lcom/android/server/pm/PackageManagerService$SystemDeleteException;
 Lcom/android/server/pm/PackageManagerService$VerificationInfo;
 Lcom/android/server/pm/PackageManagerService;
 Lcom/android/server/pm/PackageManagerServiceCompilerMapping;
-Lcom/android/server/pm/PackageManagerServiceUtils$1;
 Lcom/android/server/pm/PackageManagerServiceUtils;
-Lcom/android/server/pm/PackageManagerShellCommand;
 Lcom/android/server/pm/PackageSender;
+Lcom/android/server/pm/PackageSessionProvider;
 Lcom/android/server/pm/PackageSetting;
 Lcom/android/server/pm/PackageSettingBase;
 Lcom/android/server/pm/PackageSignatures;
@@ -3737,7 +2792,6 @@
 Lcom/android/server/pm/PackageVerificationState;
 Lcom/android/server/pm/ParallelPackageParser$ParseResult;
 Lcom/android/server/pm/ParallelPackageParser;
-Lcom/android/server/pm/PersistentPreferredActivity;
 Lcom/android/server/pm/PersistentPreferredIntentResolver;
 Lcom/android/server/pm/Policy$1;
 Lcom/android/server/pm/Policy$PolicyBuilder;
@@ -3759,20 +2813,27 @@
 Lcom/android/server/pm/Settings$VersionInfo;
 Lcom/android/server/pm/Settings;
 Lcom/android/server/pm/SharedUserSetting;
+Lcom/android/server/pm/ShortcutBitmapSaver;
+Lcom/android/server/pm/ShortcutDumpFiles;
+Lcom/android/server/pm/ShortcutRequestPinProcessor;
+Lcom/android/server/pm/ShortcutService$1;
+Lcom/android/server/pm/ShortcutService$2;
+Lcom/android/server/pm/ShortcutService$3;
+Lcom/android/server/pm/ShortcutService$4;
+Lcom/android/server/pm/ShortcutService$5;
+Lcom/android/server/pm/ShortcutService$InvalidFileFormatException;
 Lcom/android/server/pm/ShortcutService$Lifecycle;
+Lcom/android/server/pm/ShortcutService$LocalService;
+Lcom/android/server/pm/ShortcutService;
+Lcom/android/server/pm/StagingManager;
 Lcom/android/server/pm/UserDataPreparer;
 Lcom/android/server/pm/UserManagerService$1;
 Lcom/android/server/pm/UserManagerService$2;
 Lcom/android/server/pm/UserManagerService$3;
 Lcom/android/server/pm/UserManagerService$4;
-Lcom/android/server/pm/UserManagerService$5;
-Lcom/android/server/pm/UserManagerService$6;
-Lcom/android/server/pm/UserManagerService$DisableQuietModeUserUnlockedCallback;
 Lcom/android/server/pm/UserManagerService$LifeCycle;
-Lcom/android/server/pm/UserManagerService$LocalService$1;
 Lcom/android/server/pm/UserManagerService$LocalService;
 Lcom/android/server/pm/UserManagerService$MainHandler;
-Lcom/android/server/pm/UserManagerService$Shell;
 Lcom/android/server/pm/UserManagerService$UserData;
 Lcom/android/server/pm/UserManagerService;
 Lcom/android/server/pm/UserRestrictionsUtils;
@@ -3782,18 +2843,20 @@
 Lcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl;
 Lcom/android/server/pm/dex/ArtManagerService;
 Lcom/android/server/pm/dex/DexLogger;
-Lcom/android/server/pm/dex/DexManager$1;
-Lcom/android/server/pm/dex/DexManager$2;
 Lcom/android/server/pm/dex/DexManager$DexSearchResult;
-Lcom/android/server/pm/dex/DexManager$Listener;
 Lcom/android/server/pm/dex/DexManager$PackageCodeLocations;
 Lcom/android/server/pm/dex/DexManager$RegisterDexModuleResult;
 Lcom/android/server/pm/dex/DexManager;
 Lcom/android/server/pm/dex/DexoptOptions;
 Lcom/android/server/pm/dex/DexoptUtils;
+Lcom/android/server/pm/dex/DynamicCodeLogger;
 Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;
 Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;
 Lcom/android/server/pm/dex/PackageDexUsage;
+Lcom/android/server/pm/dex/PackageDynamicCodeLoading$DynamicCodeFile;
+Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;
+Lcom/android/server/pm/dex/PackageDynamicCodeLoading;
+Lcom/android/server/pm/dex/ViewCompiler;
 Lcom/android/server/pm/permission/BasePermission;
 Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;
 Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DefaultPermissionGrant;
@@ -3803,18 +2866,70 @@
 Lcom/android/server/pm/permission/PermissionManagerInternal;
 Lcom/android/server/pm/permission/PermissionManagerService$1;
 Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;
+Lcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;
 Lcom/android/server/pm/permission/PermissionManagerService;
+Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;
+Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
 Lcom/android/server/pm/permission/PermissionSettings;
 Lcom/android/server/pm/permission/PermissionsState$PermissionData;
 Lcom/android/server/pm/permission/PermissionsState$PermissionState;
 Lcom/android/server/pm/permission/PermissionsState;
+Lcom/android/server/policy/GlobalActionsProvider;
+Lcom/android/server/policy/GlobalKeyManager;
+Lcom/android/server/policy/IconUtilities;
+Lcom/android/server/policy/LogDecelerateInterpolator;
+Lcom/android/server/policy/PhoneWindowManager$10;
+Lcom/android/server/policy/PhoneWindowManager$11;
+Lcom/android/server/policy/PhoneWindowManager$12;
+Lcom/android/server/policy/PhoneWindowManager$13;
+Lcom/android/server/policy/PhoneWindowManager$1;
+Lcom/android/server/policy/PhoneWindowManager$2;
+Lcom/android/server/policy/PhoneWindowManager$3;
+Lcom/android/server/policy/PhoneWindowManager$4;
+Lcom/android/server/policy/PhoneWindowManager$5;
+Lcom/android/server/policy/PhoneWindowManager$6;
+Lcom/android/server/policy/PhoneWindowManager$7;
+Lcom/android/server/policy/PhoneWindowManager$8;
+Lcom/android/server/policy/PhoneWindowManager$HdmiVideoExtconUEventObserver;
+Lcom/android/server/policy/PhoneWindowManager$MyWakeGestureListener;
+Lcom/android/server/policy/PhoneWindowManager$PolicyHandler;
+Lcom/android/server/policy/PhoneWindowManager$ScreenLockTimeout;
+Lcom/android/server/policy/PhoneWindowManager$ScreenshotRunnable;
+Lcom/android/server/policy/PhoneWindowManager$SettingsObserver;
 Lcom/android/server/policy/PhoneWindowManager;
+Lcom/android/server/policy/ShortcutManager$ShortcutInfo;
+Lcom/android/server/policy/ShortcutManager;
+Lcom/android/server/policy/WakeGestureListener$1;
+Lcom/android/server/policy/WakeGestureListener$2;
+Lcom/android/server/policy/WakeGestureListener;
+Lcom/android/server/policy/WindowManagerPolicy$DisplayContentInfo;
 Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;
+Lcom/android/server/policy/WindowManagerPolicy$WindowState;
 Lcom/android/server/policy/WindowManagerPolicy;
-Lcom/android/server/power/-$$Lambda$BatterySaverPolicy$9q6hxnTofoZqK_ebwl_HDCH8A4A;
-Lcom/android/server/power/-$$Lambda$BatterySaverPolicy$DPeh8xGdH0ye3BQJ8Ozaqeu6Y30;
-Lcom/android/server/power/BatterySaverPolicy$BatterySaverPolicyListener;
-Lcom/android/server/power/BatterySaverPolicy;
+Lcom/android/server/policy/WindowOrientationListener$OrientationJudge;
+Lcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge$1;
+Lcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;
+Lcom/android/server/policy/WindowOrientationListener;
+Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$1;
+Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;
+Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardShowDelegate;
+Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardState;
+Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;
+Lcom/android/server/policy/keyguard/KeyguardServiceWrapper;
+Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;
+Lcom/android/server/policy/keyguard/KeyguardStateMonitor;
+Lcom/android/server/policy/role/LegacyRoleResolutionPolicy;
+Lcom/android/server/power/-$$Lambda$PowerManagerService$FUW_os-Z9SregUE_DR9vDwaRuXo;
+Lcom/android/server/power/-$$Lambda$ThermalManagerService$9JFHCKCwrnUIYoXDsqNamhlY5VU;
+Lcom/android/server/power/-$$Lambda$ThermalManagerService$ThermalHal20Wrapper$R9S8YWn8x1F3V2TOvXtmky1V44Q;
+Lcom/android/server/power/-$$Lambda$ThermalManagerService$ZPQKzo9ZjU-hL4QYH693hWuTqjk;
+Lcom/android/server/power/-$$Lambda$ThermalManagerService$x5obtNvJKZxnpguOiQsFBDmBZ4k;
+Lcom/android/server/power/AttentionDetector$1;
+Lcom/android/server/power/AttentionDetector;
+Lcom/android/server/power/Notifier$6;
+Lcom/android/server/power/Notifier$7;
+Lcom/android/server/power/Notifier$8;
+Lcom/android/server/power/Notifier$NotifierHandler;
 Lcom/android/server/power/Notifier;
 Lcom/android/server/power/PowerManagerService$1;
 Lcom/android/server/power/PowerManagerService$2;
@@ -3826,7 +2941,9 @@
 Lcom/android/server/power/PowerManagerService$DockReceiver;
 Lcom/android/server/power/PowerManagerService$DreamReceiver;
 Lcom/android/server/power/PowerManagerService$ForegroundProfileObserver;
+Lcom/android/server/power/PowerManagerService$Injector;
 Lcom/android/server/power/PowerManagerService$LocalService;
+Lcom/android/server/power/PowerManagerService$NativeWrapper;
 Lcom/android/server/power/PowerManagerService$PowerManagerHandler;
 Lcom/android/server/power/PowerManagerService$ProfilePowerState;
 Lcom/android/server/power/PowerManagerService$SettingsObserver;
@@ -3835,9 +2952,18 @@
 Lcom/android/server/power/PowerManagerService$UserSwitchedReceiver;
 Lcom/android/server/power/PowerManagerService$WakeLock;
 Lcom/android/server/power/PowerManagerService;
-Lcom/android/server/power/PowerManagerShellCommand;
 Lcom/android/server/power/SuspendBlocker;
+Lcom/android/server/power/ThermalManagerService$1;
+Lcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper$1;
+Lcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;
+Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper$DeathRecipient;
+Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper$TemperatureChangedCallback;
+Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper;
+Lcom/android/server/power/ThermalManagerService;
+Lcom/android/server/power/WirelessChargerDetector$1;
+Lcom/android/server/power/WirelessChargerDetector$2;
 Lcom/android/server/power/WirelessChargerDetector;
+Lcom/android/server/power/batterysaver/-$$Lambda$BatterySaverPolicy$rfw31Sb8JX1OVD2rGHGtCXyfop8;
 Lcom/android/server/power/batterysaver/-$$Lambda$BatterySaverStateMachine$SSfmWJrD4RBoVg8A8loZrS-jhAo;
 Lcom/android/server/power/batterysaver/-$$Lambda$BatterySaverStateMachine$fEidyt_9TXlXBpF6D2lhOOrfOC4;
 Lcom/android/server/power/batterysaver/-$$Lambda$FileUpdater$NUmipjKCJwbgmFbIcGS3uaz3QFk;
@@ -3846,1384 +2972,1718 @@
 Lcom/android/server/power/batterysaver/BatterySaverController$Plugin;
 Lcom/android/server/power/batterysaver/BatterySaverController;
 Lcom/android/server/power/batterysaver/BatterySaverLocationPlugin;
+Lcom/android/server/power/batterysaver/BatterySaverPolicy$BatterySaverPolicyListener;
+Lcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;
+Lcom/android/server/power/batterysaver/BatterySaverPolicy;
 Lcom/android/server/power/batterysaver/BatterySaverStateMachine$1;
 Lcom/android/server/power/batterysaver/BatterySaverStateMachine;
 Lcom/android/server/power/batterysaver/BatterySavingStats$BatterySaverState;
 Lcom/android/server/power/batterysaver/BatterySavingStats$DozeState;
 Lcom/android/server/power/batterysaver/BatterySavingStats$InteractiveState;
-Lcom/android/server/power/batterysaver/BatterySavingStats$MetricsLoggerHelper;
 Lcom/android/server/power/batterysaver/BatterySavingStats$Stat;
 Lcom/android/server/power/batterysaver/BatterySavingStats;
 Lcom/android/server/power/batterysaver/CpuFrequencies;
 Lcom/android/server/power/batterysaver/FileUpdater;
+Lcom/android/server/print/PrintManagerService$PrintManagerImpl$1;
+Lcom/android/server/print/PrintManagerService$PrintManagerImpl$2;
+Lcom/android/server/print/PrintManagerService$PrintManagerImpl;
+Lcom/android/server/print/PrintManagerService;
+Lcom/android/server/restrictions/RestrictionsManagerService$RestrictionsManagerImpl;
 Lcom/android/server/restrictions/RestrictionsManagerService;
+Lcom/android/server/role/-$$Lambda$RemoteRoleControllerService$Connection$Call$quCS1zX7o0cTn5na72KxrDUH02Q;
+Lcom/android/server/role/-$$Lambda$RemoteRoleControllerService$Connection$JT0tphPh3CS3yG7jQxEV-ehCZIw;
+Lcom/android/server/role/-$$Lambda$RemoteRoleControllerService$Connection$yJ60VDeVaOyaxXiM-qb5uWJhTkw;
+Lcom/android/server/role/-$$Lambda$RoleManagerService$puhjbRBOtgaj-Pp3Y2aQs0UA-58;
+Lcom/android/server/role/-$$Lambda$awRgkWhcVYhq1r1FVyYMnmMSXMs;
+Lcom/android/server/role/RemoteRoleControllerService$Connection$Call$CallExecutor;
+Lcom/android/server/role/RemoteRoleControllerService$Connection$Call$CallbackDelegate;
+Lcom/android/server/role/RemoteRoleControllerService$Connection$Call;
+Lcom/android/server/role/RemoteRoleControllerService$Connection;
+Lcom/android/server/role/RemoteRoleControllerService;
+Lcom/android/server/role/RoleManagerInternal;
+Lcom/android/server/role/RoleManagerService$1;
+Lcom/android/server/role/RoleManagerService$2;
+Lcom/android/server/role/RoleManagerService$3;
+Lcom/android/server/role/RoleManagerService$4;
+Lcom/android/server/role/RoleManagerService$DefaultBrowserProvider;
+Lcom/android/server/role/RoleManagerService$DefaultHomeProvider;
+Lcom/android/server/role/RoleManagerService$Internal;
+Lcom/android/server/role/RoleManagerService$RoleHoldersResolver;
+Lcom/android/server/role/RoleManagerService$Stub;
+Lcom/android/server/role/RoleManagerService;
+Lcom/android/server/role/RoleUserState$Callback;
+Lcom/android/server/role/RoleUserState;
+Lcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$2_NDf9EpLcTKkJVpkadZhudKips;
+Lcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$9jRyv0ATJ7l2lc6xAd3tmkVmx7g;
+Lcom/android/server/rollback/AppDataRollbackHelper;
+Lcom/android/server/rollback/RollbackManagerService;
+Lcom/android/server/rollback/RollbackManagerServiceImpl$1;
+Lcom/android/server/rollback/RollbackManagerServiceImpl$2;
+Lcom/android/server/rollback/RollbackManagerServiceImpl$3;
+Lcom/android/server/rollback/RollbackManagerServiceImpl$4;
+Lcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;
+Lcom/android/server/rollback/RollbackManagerServiceImpl;
+Lcom/android/server/rollback/RollbackPackageHealthObserver;
+Lcom/android/server/rollback/RollbackStore;
+Lcom/android/server/search/SearchManagerService$GlobalSearchProviderObserver;
+Lcom/android/server/search/SearchManagerService$Lifecycle;
+Lcom/android/server/search/SearchManagerService$MyPackageMonitor;
+Lcom/android/server/search/SearchManagerService;
 Lcom/android/server/security/KeyAttestationApplicationIdProviderService;
+Lcom/android/server/security/KeyChainSystemService$1;
 Lcom/android/server/security/KeyChainSystemService;
 Lcom/android/server/security/VerityUtils$SetupResult;
 Lcom/android/server/security/VerityUtils;
+Lcom/android/server/signedconfig/SignedConfigService$UpdateReceiver;
+Lcom/android/server/signedconfig/SignedConfigService;
+Lcom/android/server/slice/-$$Lambda$PinnedSliceState$KzxFkvfomRuMb5PD8_pIHDIhUUE;
+Lcom/android/server/slice/-$$Lambda$PinnedSliceState$TZdoqC_LDA8If7sQ7WXz9LM6VHg;
+Lcom/android/server/slice/-$$Lambda$SliceManagerService$LkusK1jmu9JKJTiMRWqWxNGEGbY;
+Lcom/android/server/slice/-$$Lambda$SliceManagerService$ic_PW16x_KcVi-NszMwHhErqI0s;
+Lcom/android/server/slice/-$$Lambda$SliceManagerService$pJ39TkC3AEVezLFEPuJgSQSTDJM;
+Lcom/android/server/slice/DirtyTracker$Persistable;
+Lcom/android/server/slice/DirtyTracker;
+Lcom/android/server/slice/PinnedSliceState$ListenerInfo;
+Lcom/android/server/slice/PinnedSliceState;
+Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;
+Lcom/android/server/slice/SliceClientPermissions;
+Lcom/android/server/slice/SliceManagerService$1;
+Lcom/android/server/slice/SliceManagerService$Lifecycle;
+Lcom/android/server/slice/SliceManagerService$PackageMatchingCache;
+Lcom/android/server/slice/SliceManagerService;
+Lcom/android/server/slice/SlicePermissionManager$H;
+Lcom/android/server/slice/SlicePermissionManager$ParserHolder;
+Lcom/android/server/slice/SlicePermissionManager$PkgUser;
+Lcom/android/server/slice/SlicePermissionManager;
+Lcom/android/server/slice/SliceProviderPermissions;
+Lcom/android/server/soundtrigger/SoundTriggerDbHelper;
+Lcom/android/server/soundtrigger/SoundTriggerHelper$MyCallStateListener;
+Lcom/android/server/soundtrigger/SoundTriggerHelper;
+Lcom/android/server/soundtrigger/SoundTriggerInternal;
+Lcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;
+Lcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;
 Lcom/android/server/soundtrigger/SoundTriggerService;
+Lcom/android/server/stats/StatsCompanionService$1;
+Lcom/android/server/stats/StatsCompanionService$AnomalyAlarmListener;
+Lcom/android/server/stats/StatsCompanionService$AppUpdateReceiver;
+Lcom/android/server/stats/StatsCompanionService$CompanionHandler;
+Lcom/android/server/stats/StatsCompanionService$ConnectivityStatsCallback;
 Lcom/android/server/stats/StatsCompanionService$Lifecycle;
+Lcom/android/server/stats/StatsCompanionService$PeriodicAlarmListener;
+Lcom/android/server/stats/StatsCompanionService$PullingAlarmListener;
+Lcom/android/server/stats/StatsCompanionService$ShutdownEventReceiver;
+Lcom/android/server/stats/StatsCompanionService$StatsdDeathRecipient;
+Lcom/android/server/stats/StatsCompanionService$ThermalEventListener;
+Lcom/android/server/stats/StatsCompanionService;
+Lcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$Ex4WQoiXjzWDsRHD7oXCkXIQBB4;
+Lcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$QO0p6KVnf0wFwF8hglhodfvx26s;
+Lcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$UR67Ud0NgV9VHyelUmYzZNtR6O4;
+Lcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$yr21OX4Hyd_XfExwnVnVIn3Jfe4;
 Lcom/android/server/statusbar/StatusBarManagerInternal;
+Lcom/android/server/statusbar/StatusBarManagerService$1;
+Lcom/android/server/statusbar/StatusBarManagerService$2;
+Lcom/android/server/statusbar/StatusBarManagerService$DeathRecipient;
+Lcom/android/server/statusbar/StatusBarManagerService$DisableRecord;
+Lcom/android/server/statusbar/StatusBarManagerService$UiState;
 Lcom/android/server/statusbar/StatusBarManagerService;
 Lcom/android/server/storage/AppFuseBridge$MountScope;
 Lcom/android/server/storage/AppFuseBridge;
+Lcom/android/server/storage/CacheQuotaStrategy;
 Lcom/android/server/storage/DeviceStorageMonitorInternal;
+Lcom/android/server/storage/DeviceStorageMonitorService$1;
+Lcom/android/server/storage/DeviceStorageMonitorService$2;
+Lcom/android/server/storage/DeviceStorageMonitorService$3;
+Lcom/android/server/storage/DeviceStorageMonitorService$CacheFileDeletedObserver;
+Lcom/android/server/storage/DeviceStorageMonitorService$State;
 Lcom/android/server/storage/DeviceStorageMonitorService;
+Lcom/android/server/storage/DiskStatsLoggingService;
+Lcom/android/server/telecom/-$$Lambda$TelecomLoaderService$-gelHWcVU9jWWZhCeN99A3Sudtw;
+Lcom/android/server/telecom/-$$Lambda$TelecomLoaderService$VVmvEgI0M6umDuBUYKUoUMO7-l0;
+Lcom/android/server/telecom/-$$Lambda$TelecomLoaderService$lBXoYxesURvEmfzumX9uIBbg66M;
+Lcom/android/server/telecom/TelecomLoaderService$1;
+Lcom/android/server/telecom/TelecomLoaderService$2;
+Lcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection$1;
+Lcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;
 Lcom/android/server/telecom/TelecomLoaderService;
+Lcom/android/server/testharness/TestHarnessModeService$1;
+Lcom/android/server/testharness/TestHarnessModeService;
 Lcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;
+Lcom/android/server/textclassifier/TextClassificationManagerService$UserState$TextClassifierServiceConnection;
+Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;
+Lcom/android/server/textclassifier/TextClassificationManagerService;
+Lcom/android/server/textservices/-$$Lambda$TextServicesManagerService$otJ1a5fe5mYJvLrIEr3o1Ia1kSo;
+Lcom/android/server/textservices/LazyIntToIntMap;
+Lcom/android/server/textservices/TextServicesManagerInternal$1;
+Lcom/android/server/textservices/TextServicesManagerInternal;
+Lcom/android/server/textservices/TextServicesManagerService$Lifecycle$1;
+Lcom/android/server/textservices/TextServicesManagerService$Lifecycle;
+Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;
+Lcom/android/server/textservices/TextServicesManagerService$TextServicesMonitor;
+Lcom/android/server/textservices/TextServicesManagerService;
+Lcom/android/server/timedetector/SimpleTimeDetectorStrategy;
+Lcom/android/server/timedetector/TimeDetectorService$1;
+Lcom/android/server/timedetector/TimeDetectorService$Lifecycle;
+Lcom/android/server/timedetector/TimeDetectorService;
+Lcom/android/server/timedetector/TimeDetectorStrategy$Callback;
+Lcom/android/server/timedetector/TimeDetectorStrategy;
+Lcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;
+Lcom/android/server/trust/-$$Lambda$TrustManagerService$1$98HKBkg-C1PLlz_Q1vJz1OJtw4c;
+Lcom/android/server/trust/TrustArchive;
+Lcom/android/server/trust/TrustManagerService$1;
+Lcom/android/server/trust/TrustManagerService$2;
+Lcom/android/server/trust/TrustManagerService$3;
+Lcom/android/server/trust/TrustManagerService$AgentInfo;
+Lcom/android/server/trust/TrustManagerService$Receiver;
+Lcom/android/server/trust/TrustManagerService$SettingsAttrs;
+Lcom/android/server/trust/TrustManagerService$SettingsObserver;
+Lcom/android/server/trust/TrustManagerService$StrongAuthTracker;
 Lcom/android/server/trust/TrustManagerService;
 Lcom/android/server/tv/TvInputHal$Callback;
 Lcom/android/server/tv/TvInputHal;
 Lcom/android/server/tv/TvInputManagerService;
 Lcom/android/server/tv/TvRemoteService;
 Lcom/android/server/tv/UinputBridge;
+Lcom/android/server/twilight/TwilightListener;
+Lcom/android/server/twilight/TwilightManager;
+Lcom/android/server/twilight/TwilightService$1;
 Lcom/android/server/twilight/TwilightService;
+Lcom/android/server/uri/GrantUri;
+Lcom/android/server/uri/UriGrantsManagerInternal;
+Lcom/android/server/uri/UriGrantsManagerService$H;
+Lcom/android/server/uri/UriGrantsManagerService$Lifecycle;
+Lcom/android/server/uri/UriGrantsManagerService$LocalService;
+Lcom/android/server/uri/UriGrantsManagerService;
+Lcom/android/server/uri/UriPermissionOwner$ExternalToken;
+Lcom/android/server/uri/UriPermissionOwner;
+Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
+Lcom/android/server/usage/AppIdleHistory;
+Lcom/android/server/usage/AppStandbyController$1;
+Lcom/android/server/usage/AppStandbyController$2;
+Lcom/android/server/usage/AppStandbyController$AppStandbyHandler;
+Lcom/android/server/usage/AppStandbyController$DeviceStateReceiver;
+Lcom/android/server/usage/AppStandbyController$Injector;
+Lcom/android/server/usage/AppStandbyController$Lock;
+Lcom/android/server/usage/AppStandbyController$PackageReceiver;
+Lcom/android/server/usage/AppStandbyController$SettingsObserver;
+Lcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;
+Lcom/android/server/usage/AppStandbyController;
+Lcom/android/server/usage/AppTimeLimitController$Lock;
+Lcom/android/server/usage/AppTimeLimitController$MyHandler;
+Lcom/android/server/usage/AppTimeLimitController$TimeLimitCallbackListener;
+Lcom/android/server/usage/AppTimeLimitController$UserData;
+Lcom/android/server/usage/AppTimeLimitController;
+Lcom/android/server/usage/IntervalStats$EventTracker;
+Lcom/android/server/usage/IntervalStats;
+Lcom/android/server/usage/StorageStatsService$1;
+Lcom/android/server/usage/StorageStatsService$H;
+Lcom/android/server/usage/StorageStatsService$Lifecycle;
+Lcom/android/server/usage/StorageStatsService;
+Lcom/android/server/usage/UnixCalendar;
+Lcom/android/server/usage/UsageStatsDatabase$1;
+Lcom/android/server/usage/UsageStatsDatabase$StatCombiner;
+Lcom/android/server/usage/UsageStatsDatabase;
+Lcom/android/server/usage/UsageStatsProto;
+Lcom/android/server/usage/UsageStatsService$1;
+Lcom/android/server/usage/UsageStatsService$2;
+Lcom/android/server/usage/UsageStatsService$3;
+Lcom/android/server/usage/UsageStatsService$ActivityData;
+Lcom/android/server/usage/UsageStatsService$BinderService;
+Lcom/android/server/usage/UsageStatsService$H;
+Lcom/android/server/usage/UsageStatsService$LocalService;
+Lcom/android/server/usage/UsageStatsService$UserActionsReceiver;
 Lcom/android/server/usage/UsageStatsService;
+Lcom/android/server/usage/UserUsageStatsService$1;
+Lcom/android/server/usage/UserUsageStatsService$2;
+Lcom/android/server/usage/UserUsageStatsService$3;
 Lcom/android/server/usage/UserUsageStatsService$StatsUpdatedListener;
+Lcom/android/server/usage/UserUsageStatsService;
 Lcom/android/server/usb/-$$Lambda$UsbHostManager$XT3F5aQci4H6VWSBYBQQNSzpnvs;
+Lcom/android/server/usb/-$$Lambda$UsbPortManager$FUqGOOupcl6RrRkZBk-BnrRQyPI;
+Lcom/android/server/usb/-$$Lambda$UsbProfileGroupSettingsManager$IQKTzU0q3lyaW9nLL_sbxJPW8ME;
+Lcom/android/server/usb/MtpNotificationManager$OnOpenInAppListener;
+Lcom/android/server/usb/MtpNotificationManager$Receiver;
+Lcom/android/server/usb/MtpNotificationManager;
 Lcom/android/server/usb/UsbAlsaJackDetector;
 Lcom/android/server/usb/UsbAlsaManager;
+Lcom/android/server/usb/UsbDeviceManager$1;
+Lcom/android/server/usb/UsbDeviceManager$2;
+Lcom/android/server/usb/UsbDeviceManager$3;
+Lcom/android/server/usb/UsbDeviceManager$4;
+Lcom/android/server/usb/UsbDeviceManager$UsbHandler$AdbTransport;
+Lcom/android/server/usb/UsbDeviceManager$UsbHandler;
+Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$ServiceNotification;
+Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$UsbGadgetCallback;
+Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$UsbGadgetDeathRecipient;
+Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;
+Lcom/android/server/usb/UsbDeviceManager$UsbUEventObserver;
 Lcom/android/server/usb/UsbDeviceManager;
+Lcom/android/server/usb/UsbHandlerManager;
 Lcom/android/server/usb/UsbHostManager$ConnectionRecord;
 Lcom/android/server/usb/UsbHostManager;
-Lcom/android/server/usb/UsbMidiDevice$1;
 Lcom/android/server/usb/UsbMidiDevice$2;
 Lcom/android/server/usb/UsbMidiDevice$3;
-Lcom/android/server/usb/UsbMidiDevice$InputReceiverProxy;
 Lcom/android/server/usb/UsbMidiDevice;
+Lcom/android/server/usb/UsbPortManager$1;
+Lcom/android/server/usb/UsbPortManager$DeathRecipient;
+Lcom/android/server/usb/UsbPortManager$HALCallback;
+Lcom/android/server/usb/UsbPortManager$PortInfo;
+Lcom/android/server/usb/UsbPortManager$RawPortInfo$1;
+Lcom/android/server/usb/UsbPortManager$RawPortInfo;
+Lcom/android/server/usb/UsbPortManager$ServiceNotification;
+Lcom/android/server/usb/UsbPortManager;
+Lcom/android/server/usb/UsbProfileGroupSettingsManager$MyPackageMonitor;
+Lcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;
 Lcom/android/server/usb/UsbProfileGroupSettingsManager;
+Lcom/android/server/usb/UsbService$1;
+Lcom/android/server/usb/UsbService$Lifecycle;
+Lcom/android/server/usb/UsbService;
 Lcom/android/server/usb/UsbSettingsManager;
 Lcom/android/server/usb/UsbUserSettingsManager;
 Lcom/android/server/usb/descriptors/UsbDescriptor;
 Lcom/android/server/usb/descriptors/UsbDescriptorParser;
 Lcom/android/server/usb/descriptors/UsbDeviceDescriptor;
 Lcom/android/server/usb/descriptors/report/Reporting;
+Lcom/android/server/utils/ManagedApplicationService$BinderChecker;
+Lcom/android/server/utils/ManagedApplicationService$EventCallback;
+Lcom/android/server/utils/ManagedApplicationService$LogFormattable;
 Lcom/android/server/utils/PriorityDump$PriorityDumper;
 Lcom/android/server/utils/PriorityDump;
+Lcom/android/server/utils/UserTokenWatcher$Callback;
+Lcom/android/server/utils/UserTokenWatcher;
+Lcom/android/server/voiceinteraction/DatabaseHelper;
+Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$1;
+Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$LocalService;
+Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$2;
+Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$RoleObserver;
+Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$SettingsObserver;
+Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;
+Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;
+Lcom/android/server/vr/EnabledComponentsObserver$1;
 Lcom/android/server/vr/EnabledComponentsObserver$EnabledComponentChangeListener;
+Lcom/android/server/vr/EnabledComponentsObserver;
+Lcom/android/server/vr/SettingsObserver$1;
+Lcom/android/server/vr/SettingsObserver$2;
+Lcom/android/server/vr/SettingsObserver$SettingChangeListener;
+Lcom/android/server/vr/SettingsObserver;
+Lcom/android/server/vr/Vr2dDisplay$1;
+Lcom/android/server/vr/Vr2dDisplay;
 Lcom/android/server/vr/VrManagerInternal;
+Lcom/android/server/vr/VrManagerService$1;
+Lcom/android/server/vr/VrManagerService$2;
+Lcom/android/server/vr/VrManagerService$3;
+Lcom/android/server/vr/VrManagerService$4;
+Lcom/android/server/vr/VrManagerService$5;
+Lcom/android/server/vr/VrManagerService$LocalService;
+Lcom/android/server/vr/VrManagerService$NotificationAccessManager;
+Lcom/android/server/vr/VrManagerService$VrState;
 Lcom/android/server/vr/VrManagerService;
+Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$SxaUJpgTTfzUoz6u3AWuAOQdoNw;
+Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$UhAlBGB5jhuZrLndUPRmIvoHRZc;
+Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$NrNkceFJLqjCb8eAxErUhpLd5c8;
+Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$QhODF3v-swnwSYvDbeEhU85gOBw;
+Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$la7x4YHA-l88Cd6HFTscnLBbKfI;
+Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$tRb4SPHGj0pcxb3p7arcqKFqs08;
+Lcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$xeJGAwCI8tssclwKFf8jMsYdoKQ;
+Lcom/android/server/wallpaper/IWallpaperManagerService;
+Lcom/android/server/wallpaper/WallpaperManagerService$1;
+Lcom/android/server/wallpaper/WallpaperManagerService$2;
+Lcom/android/server/wallpaper/WallpaperManagerService$3;
+Lcom/android/server/wallpaper/WallpaperManagerService$4;
+Lcom/android/server/wallpaper/WallpaperManagerService$DisplayData;
+Lcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;
+Lcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;
+Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;
+Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;
+Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;
+Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;
+Lcom/android/server/wallpaper/WallpaperManagerService;
+Lcom/android/server/webkit/SystemImpl$LazyHolder;
+Lcom/android/server/webkit/SystemImpl;
+Lcom/android/server/webkit/SystemInterface;
+Lcom/android/server/webkit/WebViewUpdateService$1;
+Lcom/android/server/webkit/WebViewUpdateService$BinderService;
 Lcom/android/server/webkit/WebViewUpdateService;
-Lcom/android/server/wm/AppWindowContainerListener;
+Lcom/android/server/webkit/WebViewUpdateServiceImpl;
+Lcom/android/server/webkit/WebViewUpdater$ProviderAndPackageInfo;
+Lcom/android/server/webkit/WebViewUpdater$WebViewPackageMissingException;
+Lcom/android/server/webkit/WebViewUpdater;
+Lcom/android/server/wifi/-$$Lambda$AvailableNetworkNotifier$uFi1H-bLBjC8591OGivQMgKmiaU;
+Lcom/android/server/wifi/-$$Lambda$DppManager$J9Orgg4nAdvBMsVtJK-uYWJzo2s;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$0fExlzrQXvHvboqrhwLsuIEN8sQ;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$BkJ-u2mnM7l_bsdJ9qDxHZJRcVM;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$ErxCpEghr4yhQpGHX1NQPumvouc;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$GV5vgwCMe-GctE92pSijMSntP7M;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$G_a1DJorXSzwXeeGcyX-nUw44LU;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$InterfaceRttControllerLifecycleCallbackProxy$Jq3jiK0PF_ihQmDGnOqjWGZKR74;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$InterfaceRttControllerLifecycleCallbackProxy$Vt8Gvz01jOxC1TqVEIeBuJ45xAg;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$J6ItBAiUMCzTjCuPD7lYSuJSIGU;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$J_rq9pD25U5x_bgsE9o4bIVv6Rs;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$ListenerProxy$EUZ7m5GXHY27oKauEW_8pihGjbw;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$ListenerProxy$YGLSZf58sxTORRCaSB1wOY_oquo;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$MPjapT5h9jFZYNnOBjLSEdwh6tg;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$NbsSOlQ2rIfa_a-hKmLVOeqJ0sk;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$OnsWneK7WJWdtu1Yc97G_SlWc5w;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$SeJCUxQL5U06-W-tkK8XwQet85g;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$WPv-AGl6UabBR2Zo5mjPN7Pljlo;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$X9vx2J4m1oo365x_oO3URsq_nqo;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$Y4lM61kLmbzKhU2PVXYtGOePWWM;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$bTmsDoAj9faJCBOTeT1Q3Ww5yNM;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$eCjBY_x53LlceEqam19pM9GP8Hg;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$hzrxXx9RDE1QCGSaFElLzJYP5ag;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$jNAzj5YlVhwJm5NjZ6HiKskQStI;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$jZreS4fq6SFMLm2Ky9h8uCsiqO8;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$kKpeJmcjHk7E6pKqNwVTgOU76EA;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$kMV_gE_EG84f-tY-S0Yp4P7U_NM;
+Lcom/android/server/wifi/-$$Lambda$HalDeviceManager$yPcf5jFsIHD8FLJVWQLrQ1Z9fSc;
+Lcom/android/server/wifi/-$$Lambda$HostapdHal$BanSRPFiiwZZpFD4d63QpeU1xBA;
+Lcom/android/server/wifi/-$$Lambda$HostapdHal$ykyXfQPF5iy3e1W0s1ikBBPfH-Y;
+Lcom/android/server/wifi/-$$Lambda$SarManager$VrXGaN2lCt0CybxxEfgneaY4FvY;
+Lcom/android/server/wifi/-$$Lambda$SarManager$cF1vmoM2QYZACA-YzJsns9WSQI4;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$2ubym8DdxOpNx3j5LJMa4TR8Ymw;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$3BgnlkDDdIw0PJrJmWjhjGZmtCg;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$HYy_ivRYb5h7sLwkHNoi3DEuZxA;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$MZb8lbLDfmk9dJzRNOzLSOYC9_Y;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$Mgp0Eoph8SizT8uo8FHJiCwug2k;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$MsPuzKcT4xAfuigKAAOs1rYm9CU;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$QKKt5Vr7ONbMGW-5Dn_SiW886n4;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$RN5yy1Bc5d6E1Z6k9lqZIMdLATc;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$RSD0ugMIGhWHhmPxXCkALD2N5cU;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$RyQnT_v7B4l3vVijvOVBxHlvVoY;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$Tm7D8fgqduAQdeOyODnUSwEesVo;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$VAcJuhn-A2EvvfEuRumjrowBtmo;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$XsrWSKX1XbMPWPdWWAyIK9DGRmM;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$YDQh6cDTkoX-9I2n83JHX76YpAA;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$baCrbI3eo-P-3PfmPzF28q6ekLM;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$cXGuXuTjj3krF9NRtvw_FHEGZiQ;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$hjOhCW02yzYNlDwHJaely2IS-v0;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$iSySXJBDDsRLtEbI_9u6zKZ-gXU;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$jt86rUfXpbjU1MKB5KeL4Iv2b0k;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$kPu1HFl0FicFP9N2B4hh_sincE8;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$oY40I1ZV1zNoEKNITjSxjIr7WaE;
+Lcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$obLcU23CRIRzqBy01VuBJv-lyUg;
+Lcom/android/server/wifi/-$$Lambda$WifiLockManager$1$CkMHEvkkoNUZsaBQmCb9B-0F8lI;
+Lcom/android/server/wifi/-$$Lambda$WifiNative$NetworkObserverInternal$x2MXZjJ72D1RHdyNl7XjvdO7CHI;
+Lcom/android/server/wifi/-$$Lambda$WifiNetworkFactory$FWSc-VL5YZolV22WpOQkmaAHmpU;
+Lcom/android/server/wifi/-$$Lambda$WifiServiceImpl$W4P-xarfb3gYRA7uctWs90nU6nM;
+Lcom/android/server/wifi/-$$Lambda$WifiServiceImpl$WH1yXObMcpzajFG1KwwEOakTA7o;
+Lcom/android/server/wifi/-$$Lambda$WifiServiceImpl$ck1sc9jNKsBP5gycroIN0Rn-f5Q;
+Lcom/android/server/wifi/-$$Lambda$WifiVendorHal$XwdlM1fW3hc4x8NTlPEdTo9qP_w;
+Lcom/android/server/wifi/-$$Lambda$WifiVendorHal$qPUuRnlo2XMDrsA1gI_KLrbvPAI;
+Lcom/android/server/wifi/ActiveModeManager;
+Lcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$ClientModeActiveState$ClientListener;
+Lcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$ClientModeActiveState;
+Lcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$ModeActiveState;
+Lcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$ScanOnlyModeActiveState$ScanOnlyListener;
+Lcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$ScanOnlyModeActiveState;
+Lcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$WifiDisabledState;
+Lcom/android/server/wifi/ActiveModeWarden$ModeStateMachine;
+Lcom/android/server/wifi/ActiveModeWarden$WifiNativeStatusListener;
+Lcom/android/server/wifi/ActiveModeWarden;
+Lcom/android/server/wifi/AggressiveConnectedScore;
+Lcom/android/server/wifi/AvailableNetworkNotifier$1;
+Lcom/android/server/wifi/AvailableNetworkNotifier$AvailableNetworkNotifierStoreData;
+Lcom/android/server/wifi/AvailableNetworkNotifier$NotificationEnabledSettingObserver;
+Lcom/android/server/wifi/AvailableNetworkNotifier;
+Lcom/android/server/wifi/BackupManagerProxy;
+Lcom/android/server/wifi/BaseWifiDiagnostics;
+Lcom/android/server/wifi/BuildProperties;
+Lcom/android/server/wifi/CarrierNetworkConfig$1;
+Lcom/android/server/wifi/CarrierNetworkConfig$2;
+Lcom/android/server/wifi/CarrierNetworkConfig;
+Lcom/android/server/wifi/CarrierNetworkEvaluator;
+Lcom/android/server/wifi/CarrierNetworkNotifier;
+Lcom/android/server/wifi/ClientModeImpl$1;
+Lcom/android/server/wifi/ClientModeImpl$2;
+Lcom/android/server/wifi/ClientModeImpl$3;
+Lcom/android/server/wifi/ClientModeImpl$ConnectModeState;
+Lcom/android/server/wifi/ClientModeImpl$ConnectedState;
+Lcom/android/server/wifi/ClientModeImpl$DefaultState;
+Lcom/android/server/wifi/ClientModeImpl$DisconnectedState;
+Lcom/android/server/wifi/ClientModeImpl$DisconnectingState;
+Lcom/android/server/wifi/ClientModeImpl$IpClientCallbacksImpl;
+Lcom/android/server/wifi/ClientModeImpl$L2ConnectedState$RssiEventHandler;
+Lcom/android/server/wifi/ClientModeImpl$L2ConnectedState;
+Lcom/android/server/wifi/ClientModeImpl$McastLockManagerFilterController;
+Lcom/android/server/wifi/ClientModeImpl$ObtainingIpState;
+Lcom/android/server/wifi/ClientModeImpl$RoamingState;
+Lcom/android/server/wifi/ClientModeImpl$WifiNetworkAgent;
+Lcom/android/server/wifi/ClientModeImpl;
+Lcom/android/server/wifi/ClientModeManager$ClientModeStateMachine$1;
+Lcom/android/server/wifi/ClientModeManager$ClientModeStateMachine$IdleState;
+Lcom/android/server/wifi/ClientModeManager$ClientModeStateMachine$StartedState;
+Lcom/android/server/wifi/ClientModeManager$ClientModeStateMachine;
+Lcom/android/server/wifi/ClientModeManager$Listener;
+Lcom/android/server/wifi/ClientModeManager;
+Lcom/android/server/wifi/Clock;
+Lcom/android/server/wifi/CompatibiltyScorer;
+Lcom/android/server/wifi/ConfigurationMap;
+Lcom/android/server/wifi/ConnectToNetworkNotificationBuilder;
+Lcom/android/server/wifi/ConnectedScore;
+Lcom/android/server/wifi/DefaultModeManager;
+Lcom/android/server/wifi/DeletedEphemeralSsidsStoreData;
+Lcom/android/server/wifi/DppManager$1;
+Lcom/android/server/wifi/DppManager;
+Lcom/android/server/wifi/DppMetrics;
+Lcom/android/server/wifi/DummyLogMessage;
+Lcom/android/server/wifi/ExtendedWifiInfo;
+Lcom/android/server/wifi/FakeWifiLog;
+Lcom/android/server/wifi/FrameworkFacade;
+Lcom/android/server/wifi/HalDeviceManager$1;
+Lcom/android/server/wifi/HalDeviceManager$IfaceCreationData;
+Lcom/android/server/wifi/HalDeviceManager$InterfaceAvailableForRequestListener;
+Lcom/android/server/wifi/HalDeviceManager$InterfaceAvailableForRequestListenerProxy;
+Lcom/android/server/wifi/HalDeviceManager$InterfaceCacheEntry;
+Lcom/android/server/wifi/HalDeviceManager$InterfaceDestroyedListener;
+Lcom/android/server/wifi/HalDeviceManager$InterfaceDestroyedListenerProxy;
+Lcom/android/server/wifi/HalDeviceManager$InterfaceRttControllerLifecycleCallback;
+Lcom/android/server/wifi/HalDeviceManager$InterfaceRttControllerLifecycleCallbackProxy;
+Lcom/android/server/wifi/HalDeviceManager$ListenerProxy;
+Lcom/android/server/wifi/HalDeviceManager$ManagerStatusListener;
+Lcom/android/server/wifi/HalDeviceManager$ManagerStatusListenerProxy;
+Lcom/android/server/wifi/HalDeviceManager$WifiChipInfo;
+Lcom/android/server/wifi/HalDeviceManager$WifiEventCallback;
+Lcom/android/server/wifi/HalDeviceManager$WifiIfaceInfo;
+Lcom/android/server/wifi/HalDeviceManager;
+Lcom/android/server/wifi/HostapdHal$1;
+Lcom/android/server/wifi/HostapdHal$HostapdCallback;
+Lcom/android/server/wifi/HostapdHal$HostapdDeathRecipient;
+Lcom/android/server/wifi/HostapdHal$ServiceManagerDeathRecipient;
+Lcom/android/server/wifi/HostapdHal;
+Lcom/android/server/wifi/LastMileLogger;
+Lcom/android/server/wifi/LinkProbeManager$1;
+Lcom/android/server/wifi/LinkProbeManager;
+Lcom/android/server/wifi/LogcatLog$RealLogMessage;
+Lcom/android/server/wifi/LogcatLog;
+Lcom/android/server/wifi/NetworkListSharedStoreData;
+Lcom/android/server/wifi/NetworkListStoreData;
+Lcom/android/server/wifi/NetworkListUserStoreData;
+Lcom/android/server/wifi/NetworkRequestStoreData$DataSource;
+Lcom/android/server/wifi/NetworkRequestStoreData;
+Lcom/android/server/wifi/NetworkSuggestionEvaluator;
+Lcom/android/server/wifi/NetworkSuggestionStoreData$DataSource;
+Lcom/android/server/wifi/NetworkSuggestionStoreData;
+Lcom/android/server/wifi/NetworkUpdateResult;
+Lcom/android/server/wifi/OpenNetworkNotifier;
+Lcom/android/server/wifi/PropertyService;
+Lcom/android/server/wifi/RandomizedMacStoreData;
+Lcom/android/server/wifi/SIMAccessor;
+Lcom/android/server/wifi/SarInfo;
+Lcom/android/server/wifi/SarManager$1;
+Lcom/android/server/wifi/SarManager$SarSensorEventListener;
+Lcom/android/server/wifi/SarManager$WifiPhoneStateListener;
+Lcom/android/server/wifi/SarManager;
+Lcom/android/server/wifi/SavedNetworkEvaluator;
+Lcom/android/server/wifi/ScanDetail;
+Lcom/android/server/wifi/ScanDetailCache;
+Lcom/android/server/wifi/ScanOnlyModeManager$Listener;
+Lcom/android/server/wifi/ScanOnlyModeManager$ScanOnlyModeStateMachine$1;
+Lcom/android/server/wifi/ScanOnlyModeManager$ScanOnlyModeStateMachine$IdleState;
+Lcom/android/server/wifi/ScanOnlyModeManager$ScanOnlyModeStateMachine$StartedState;
+Lcom/android/server/wifi/ScanOnlyModeManager$ScanOnlyModeStateMachine;
+Lcom/android/server/wifi/ScanOnlyModeManager;
+Lcom/android/server/wifi/ScanRequestProxy$GlobalScanListener;
+Lcom/android/server/wifi/ScanRequestProxy$ThrottleEnabledSettingObserver;
+Lcom/android/server/wifi/ScanRequestProxy;
+Lcom/android/server/wifi/ScanResultMatchInfo;
+Lcom/android/server/wifi/ScoreCardBasedScorer;
+Lcom/android/server/wifi/ScoredNetworkEvaluator$1;
+Lcom/android/server/wifi/ScoredNetworkEvaluator;
+Lcom/android/server/wifi/ScoringParams$1;
+Lcom/android/server/wifi/ScoringParams$Values;
+Lcom/android/server/wifi/ScoringParams;
+Lcom/android/server/wifi/SelfRecovery;
+Lcom/android/server/wifi/SoftApManager;
+Lcom/android/server/wifi/SoftApModeConfiguration;
+Lcom/android/server/wifi/SsidSetStoreData$DataSource;
+Lcom/android/server/wifi/SsidSetStoreData;
+Lcom/android/server/wifi/StateChangeResult;
+Lcom/android/server/wifi/SupplicantStaIfaceHal$1;
+Lcom/android/server/wifi/SupplicantStaIfaceHal$ServiceManagerDeathRecipient;
+Lcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantDeathRecipient;
+Lcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallback;
+Lcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_1;
+Lcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_2;
+Lcom/android/server/wifi/SupplicantStaIfaceHal;
+Lcom/android/server/wifi/SupplicantStaNetworkHal;
+Lcom/android/server/wifi/SupplicantStateTracker$CompletedState;
+Lcom/android/server/wifi/SupplicantStateTracker$ConnectionActiveState;
+Lcom/android/server/wifi/SupplicantStateTracker$DefaultState;
+Lcom/android/server/wifi/SupplicantStateTracker$DisconnectedState;
+Lcom/android/server/wifi/SupplicantStateTracker$DormantState;
+Lcom/android/server/wifi/SupplicantStateTracker$HandshakeState;
+Lcom/android/server/wifi/SupplicantStateTracker$InactiveState;
+Lcom/android/server/wifi/SupplicantStateTracker$ScanState;
+Lcom/android/server/wifi/SupplicantStateTracker$UninitializedState;
+Lcom/android/server/wifi/SupplicantStateTracker;
+Lcom/android/server/wifi/SystemBuildProperties;
+Lcom/android/server/wifi/SystemPropertyService;
+Lcom/android/server/wifi/UntrustedWifiNetworkFactory;
+Lcom/android/server/wifi/VelocityBasedConnectedScore;
+Lcom/android/server/wifi/WakeupConfigStoreData$DataSource;
+Lcom/android/server/wifi/WakeupConfigStoreData;
+Lcom/android/server/wifi/WakeupController$1;
+Lcom/android/server/wifi/WakeupController$2;
+Lcom/android/server/wifi/WakeupController$IsActiveDataSource;
+Lcom/android/server/wifi/WakeupController;
+Lcom/android/server/wifi/WakeupEvaluator;
+Lcom/android/server/wifi/WakeupLock$WakeupLockDataSource;
+Lcom/android/server/wifi/WakeupLock;
+Lcom/android/server/wifi/WakeupNotificationFactory;
+Lcom/android/server/wifi/WakeupOnboarding$1;
+Lcom/android/server/wifi/WakeupOnboarding$IsOnboardedDataSource;
+Lcom/android/server/wifi/WakeupOnboarding$NotificationsDataSource;
+Lcom/android/server/wifi/WakeupOnboarding;
+Lcom/android/server/wifi/WifiApConfigStore$1;
+Lcom/android/server/wifi/WifiApConfigStore;
+Lcom/android/server/wifi/WifiBackupDataParser;
+Lcom/android/server/wifi/WifiBackupDataV1Parser;
+Lcom/android/server/wifi/WifiBackupRestore$SupplicantBackupMigration$SupplicantNetworks;
+Lcom/android/server/wifi/WifiBackupRestore$SupplicantBackupMigration;
+Lcom/android/server/wifi/WifiBackupRestore;
+Lcom/android/server/wifi/WifiCandidates$CandidateScorer;
+Lcom/android/server/wifi/WifiConfigManager$1;
+Lcom/android/server/wifi/WifiConfigManager$2;
+Lcom/android/server/wifi/WifiConfigManager$3;
+Lcom/android/server/wifi/WifiConfigManager$OnSavedNetworkUpdateListener;
+Lcom/android/server/wifi/WifiConfigManager;
+Lcom/android/server/wifi/WifiConfigStore$1;
+Lcom/android/server/wifi/WifiConfigStore$2;
+Lcom/android/server/wifi/WifiConfigStore$StoreData;
+Lcom/android/server/wifi/WifiConfigStore$StoreFile;
+Lcom/android/server/wifi/WifiConfigStore;
+Lcom/android/server/wifi/WifiConfigStoreLegacy$IpConfigStoreWrapper;
+Lcom/android/server/wifi/WifiConfigStoreLegacy;
+Lcom/android/server/wifi/WifiConfigurationUtil$WifiConfigurationComparator;
+Lcom/android/server/wifi/WifiConfigurationUtil;
+Lcom/android/server/wifi/WifiConnectivityHelper;
+Lcom/android/server/wifi/WifiConnectivityManager$1;
+Lcom/android/server/wifi/WifiConnectivityManager$2;
+Lcom/android/server/wifi/WifiConnectivityManager$3;
+Lcom/android/server/wifi/WifiConnectivityManager$AllSingleScanListener;
+Lcom/android/server/wifi/WifiConnectivityManager$OnSavedNetworkUpdateListener;
+Lcom/android/server/wifi/WifiConnectivityManager$PnoScanListener;
+Lcom/android/server/wifi/WifiConnectivityManager;
+Lcom/android/server/wifi/WifiController$1;
+Lcom/android/server/wifi/WifiController$ClientModeCallback;
+Lcom/android/server/wifi/WifiController$DefaultState;
+Lcom/android/server/wifi/WifiController$EcmState;
+Lcom/android/server/wifi/WifiController$ScanOnlyCallback;
+Lcom/android/server/wifi/WifiController$StaDisabledState;
+Lcom/android/server/wifi/WifiController$StaDisabledWithScanState;
+Lcom/android/server/wifi/WifiController$StaEnabledState;
+Lcom/android/server/wifi/WifiController;
+Lcom/android/server/wifi/WifiCountryCode;
+Lcom/android/server/wifi/WifiDataStall;
+Lcom/android/server/wifi/WifiDiagnostics$1;
+Lcom/android/server/wifi/WifiDiagnostics$2;
+Lcom/android/server/wifi/WifiDiagnostics$BugReport;
+Lcom/android/server/wifi/WifiDiagnostics$LimitedCircularArray;
+Lcom/android/server/wifi/WifiDiagnostics;
+Lcom/android/server/wifi/WifiInjector;
+Lcom/android/server/wifi/WifiKeyStore;
+Lcom/android/server/wifi/WifiLastResortWatchdog;
+Lcom/android/server/wifi/WifiLinkLayerStats;
+Lcom/android/server/wifi/WifiLockManager$1;
+Lcom/android/server/wifi/WifiLockManager$ClientModeImplInterfaceHandler;
+Lcom/android/server/wifi/WifiLockManager$UidRec;
+Lcom/android/server/wifi/WifiLockManager;
+Lcom/android/server/wifi/WifiLog$LogMessage;
+Lcom/android/server/wifi/WifiLog;
+Lcom/android/server/wifi/WifiMetrics$1;
+Lcom/android/server/wifi/WifiMetrics;
+Lcom/android/server/wifi/WifiMonitor;
+Lcom/android/server/wifi/WifiMulticastLockManager$FilterController;
+Lcom/android/server/wifi/WifiMulticastLockManager;
+Lcom/android/server/wifi/WifiNative$BucketSettings;
+Lcom/android/server/wifi/WifiNative$DppEventCallback;
+Lcom/android/server/wifi/WifiNative$FateReport;
+Lcom/android/server/wifi/WifiNative$HostapdDeathEventHandler;
+Lcom/android/server/wifi/WifiNative$Iface;
+Lcom/android/server/wifi/WifiNative$IfaceManager;
+Lcom/android/server/wifi/WifiNative$InterfaceCallback;
+Lcom/android/server/wifi/WifiNative$InterfaceDestoyedListenerInternal;
+Lcom/android/server/wifi/WifiNative$NetworkObserverInternal;
+Lcom/android/server/wifi/WifiNative$PnoEventHandler;
+Lcom/android/server/wifi/WifiNative$RingBufferStatus;
+Lcom/android/server/wifi/WifiNative$RxFateReport;
+Lcom/android/server/wifi/WifiNative$ScanCapabilities;
+Lcom/android/server/wifi/WifiNative$ScanEventHandler;
+Lcom/android/server/wifi/WifiNative$ScanSettings;
+Lcom/android/server/wifi/WifiNative$SignalPollResult;
+Lcom/android/server/wifi/WifiNative$SoftApListener;
+Lcom/android/server/wifi/WifiNative$StatusListener;
+Lcom/android/server/wifi/WifiNative$SupplicantDeathEventHandler;
+Lcom/android/server/wifi/WifiNative$SupplicantDeathHandlerInternal;
+Lcom/android/server/wifi/WifiNative$TxFateReport;
+Lcom/android/server/wifi/WifiNative$TxPacketCounters;
+Lcom/android/server/wifi/WifiNative$VendorHalDeathEventHandler;
+Lcom/android/server/wifi/WifiNative$VendorHalDeathHandlerInternal;
+Lcom/android/server/wifi/WifiNative$VendorHalRadioModeChangeEventHandler;
+Lcom/android/server/wifi/WifiNative$VendorHalRadioModeChangeHandlerInternal;
+Lcom/android/server/wifi/WifiNative$WifiLoggerEventHandler;
+Lcom/android/server/wifi/WifiNative$WifiRssiEventHandler;
+Lcom/android/server/wifi/WifiNative$WificondDeathEventHandler;
+Lcom/android/server/wifi/WifiNative$WificondDeathHandlerInternal;
+Lcom/android/server/wifi/WifiNative;
+Lcom/android/server/wifi/WifiNetworkFactory$ConnectionTimeoutAlarmListener;
+Lcom/android/server/wifi/WifiNetworkFactory$NetworkFactoryScanListener;
+Lcom/android/server/wifi/WifiNetworkFactory$NetworkRequestDataSource;
+Lcom/android/server/wifi/WifiNetworkFactory$PeriodicScanAlarmListener;
+Lcom/android/server/wifi/WifiNetworkFactory;
+Lcom/android/server/wifi/WifiNetworkHistory$1;
+Lcom/android/server/wifi/WifiNetworkHistory;
+Lcom/android/server/wifi/WifiNetworkSelector$NetworkEvaluator;
+Lcom/android/server/wifi/WifiNetworkSelector;
+Lcom/android/server/wifi/WifiNetworkSuggestionsManager$1;
+Lcom/android/server/wifi/WifiNetworkSuggestionsManager$NetworkSuggestionDataSource;
+Lcom/android/server/wifi/WifiNetworkSuggestionsManager;
+Lcom/android/server/wifi/WifiPowerMetrics;
+Lcom/android/server/wifi/WifiScoreCard$PerBssid;
+Lcom/android/server/wifi/WifiScoreCard;
+Lcom/android/server/wifi/WifiScoreReport;
+Lcom/android/server/wifi/WifiService;
+Lcom/android/server/wifi/WifiServiceImpl$1;
+Lcom/android/server/wifi/WifiServiceImpl$2;
+Lcom/android/server/wifi/WifiServiceImpl$3;
+Lcom/android/server/wifi/WifiServiceImpl$4;
+Lcom/android/server/wifi/WifiServiceImpl$5;
+Lcom/android/server/wifi/WifiServiceImpl$6;
+Lcom/android/server/wifi/WifiServiceImpl$AsyncChannelExternalClientHandler;
+Lcom/android/server/wifi/WifiServiceImpl$ClientModeImplHandler;
+Lcom/android/server/wifi/WifiServiceImpl$SoftApCallbackImpl;
+Lcom/android/server/wifi/WifiServiceImpl;
+Lcom/android/server/wifi/WifiSettingsStore;
+Lcom/android/server/wifi/WifiStateTracker;
+Lcom/android/server/wifi/WifiTrafficPoller;
+Lcom/android/server/wifi/WifiVendorHal$6AnswerBox;
+Lcom/android/server/wifi/WifiVendorHal$ChipEventCallback;
+Lcom/android/server/wifi/WifiVendorHal$ChipEventCallbackV12;
+Lcom/android/server/wifi/WifiVendorHal$HalDeviceManagerStatusListener;
+Lcom/android/server/wifi/WifiVendorHal$StaIfaceEventCallback;
+Lcom/android/server/wifi/WifiVendorHal$StaInterfaceDestroyedListenerInternal;
+Lcom/android/server/wifi/WifiVendorHal;
+Lcom/android/server/wifi/WifiWakeMetrics;
+Lcom/android/server/wifi/WificondControl$PnoScanEventHandler;
+Lcom/android/server/wifi/WificondControl$ScanEventHandler;
+Lcom/android/server/wifi/WificondControl;
+Lcom/android/server/wifi/WlanWakeReasonAndCounts;
+Lcom/android/server/wifi/WrongPasswordNotifier;
+Lcom/android/server/wifi/aware/Capabilities;
+Lcom/android/server/wifi/aware/WifiAwareDataPathStateManager$NetworkInterfaceWrapper;
+Lcom/android/server/wifi/aware/WifiAwareDataPathStateManager$WifiAwareNetworkFactory;
+Lcom/android/server/wifi/aware/WifiAwareDataPathStateManager;
+Lcom/android/server/wifi/aware/WifiAwareMetrics;
+Lcom/android/server/wifi/aware/WifiAwareNativeApi;
+Lcom/android/server/wifi/aware/WifiAwareNativeCallback;
+Lcom/android/server/wifi/aware/WifiAwareNativeManager$InterfaceAvailableForRequestListener;
+Lcom/android/server/wifi/aware/WifiAwareNativeManager$InterfaceDestroyedListener;
+Lcom/android/server/wifi/aware/WifiAwareNativeManager;
+Lcom/android/server/wifi/aware/WifiAwareService;
+Lcom/android/server/wifi/aware/WifiAwareServiceImpl$1;
+Lcom/android/server/wifi/aware/WifiAwareServiceImpl;
+Lcom/android/server/wifi/aware/WifiAwareShellCommand$DelegatedShellCommand;
+Lcom/android/server/wifi/aware/WifiAwareShellCommand;
+Lcom/android/server/wifi/aware/WifiAwareStateManager$1;
+Lcom/android/server/wifi/aware/WifiAwareStateManager$2;
+Lcom/android/server/wifi/aware/WifiAwareStateManager$3;
+Lcom/android/server/wifi/aware/WifiAwareStateManager$WifiAwareStateMachine$DefaultState;
+Lcom/android/server/wifi/aware/WifiAwareStateManager$WifiAwareStateMachine$WaitForResponseState;
+Lcom/android/server/wifi/aware/WifiAwareStateManager$WifiAwareStateMachine$WaitState;
+Lcom/android/server/wifi/aware/WifiAwareStateManager$WifiAwareStateMachine;
+Lcom/android/server/wifi/aware/WifiAwareStateManager;
+Lcom/android/server/wifi/hotspot2/-$$Lambda$PasspointProvisioner$8fmJnU9XPoTzX8nPAlmJHjKftJw;
+Lcom/android/server/wifi/hotspot2/ANQPRequestManager;
+Lcom/android/server/wifi/hotspot2/AnqpCache;
+Lcom/android/server/wifi/hotspot2/AnqpEvent;
+Lcom/android/server/wifi/hotspot2/CertificateVerifier;
+Lcom/android/server/wifi/hotspot2/IconEvent;
+Lcom/android/server/wifi/hotspot2/LegacyPasspointConfigParser;
+Lcom/android/server/wifi/hotspot2/NetworkDetail$Ant;
+Lcom/android/server/wifi/hotspot2/NetworkDetail;
+Lcom/android/server/wifi/hotspot2/OsuNetworkConnection$1;
+Lcom/android/server/wifi/hotspot2/OsuNetworkConnection$Callbacks;
+Lcom/android/server/wifi/hotspot2/OsuNetworkConnection$ConnectivityCallbacks;
+Lcom/android/server/wifi/hotspot2/OsuNetworkConnection;
+Lcom/android/server/wifi/hotspot2/OsuServerConnection$WFATrustManager;
+Lcom/android/server/wifi/hotspot2/OsuServerConnection;
+Lcom/android/server/wifi/hotspot2/PasspointConfigSharedStoreData$DataSource;
+Lcom/android/server/wifi/hotspot2/PasspointConfigSharedStoreData;
+Lcom/android/server/wifi/hotspot2/PasspointConfigUserStoreData$DataSource;
+Lcom/android/server/wifi/hotspot2/PasspointConfigUserStoreData;
+Lcom/android/server/wifi/hotspot2/PasspointEventHandler$Callbacks;
+Lcom/android/server/wifi/hotspot2/PasspointEventHandler;
+Lcom/android/server/wifi/hotspot2/PasspointManager$CallbackHandler;
+Lcom/android/server/wifi/hotspot2/PasspointManager$SharedDataSourceHandler;
+Lcom/android/server/wifi/hotspot2/PasspointManager$UserDataSourceHandler;
+Lcom/android/server/wifi/hotspot2/PasspointManager;
+Lcom/android/server/wifi/hotspot2/PasspointNetworkEvaluator;
+Lcom/android/server/wifi/hotspot2/PasspointObjectFactory;
+Lcom/android/server/wifi/hotspot2/PasspointProvider;
+Lcom/android/server/wifi/hotspot2/PasspointProvisioner$OsuNetworkCallbacks;
+Lcom/android/server/wifi/hotspot2/PasspointProvisioner$OsuServerCallbacks;
+Lcom/android/server/wifi/hotspot2/PasspointProvisioner$ProvisioningStateMachine;
+Lcom/android/server/wifi/hotspot2/PasspointProvisioner;
+Lcom/android/server/wifi/hotspot2/SystemInfo;
+Lcom/android/server/wifi/hotspot2/WfaCertBuilder;
+Lcom/android/server/wifi/hotspot2/WfaKeyStore;
+Lcom/android/server/wifi/hotspot2/WnmData;
+Lcom/android/server/wifi/hotspot2/anqp/Constants$ANQPElementType;
+Lcom/android/server/wifi/hotspot2/soap/-$$Lambda$RedirectListener$bYoYNT_lbW4WMGJVpKLEbMvo1nY;
+Lcom/android/server/wifi/hotspot2/soap/RedirectListener;
+Lcom/android/server/wifi/p2p/-$$Lambda$22Qhg7RQJlX-ihi83tqGgsfF-Ms;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$AwvLtkH4UyCOhUYx__3ExZj_7jQ;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$DZ5hjM0K-k-jbWASpzD6nJ3e6xU;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$E4Spq_q7PRsXiNIycR53oa-9H68;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$EtDVjv9sBbwd_VKqTeizuRtV3z4;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$FjqymoOlHfh38YnKZwagVaL8Jog;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$JzKiJ4oLypdiaI_2kjk3anuHsPQ;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$NNtqsQiP2_K4VCIPid6vvSLYwJg;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$PuXtgEcUoHfMGA1SHt2CZh5_b1Q;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$WkGSeTaZoJDTkSe2fqKEjLQpWuk;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$Wvwk6xCSAknWmsVUgpUqV_3NQiE;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$bXMI596Kq7T2WYp5S1uvxkboxxk;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$cZS-3bDskhEdL9pvSQ9NTW85EOo;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$dFKn5oY7OFr4d91vo-vY6YUffTI;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$ek6pjXj3dGTF-HTMzJ4YwbyD3Dc;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$fAd_Ie2bVgQhtfKKOMlJdzPJyMU;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$izMglHV1zYg-bjEUsC4ooS9V9rc;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$kpewDgmpbiuLCclRVxVxZiaoom8;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$l7P05UXArQDgqCiDU1muZnDZyB4;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$qdAVPJtKWPe5tcjcdhPA5D2APmU;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$uOALwzLWCrgwsgrkWxQlW6drzT8;
+Lcom/android/server/wifi/p2p/-$$Lambda$SupplicantP2pIfaceHal$xxcrLmh4P3s14clwwWnJ79St0UM;
+Lcom/android/server/wifi/p2p/-$$Lambda$WifiP2pNative$OugPqsliuKv73AxYwflB8JKX3Gg;
+Lcom/android/server/wifi/p2p/-$$Lambda$WifiP2pServiceImpl$LwceCrSRIRY_Lp9TjCEZZ62j-ls;
+Lcom/android/server/wifi/p2p/-$$Lambda$WifiP2pServiceImpl$P2pStateMachine$zMDJmVHxNOQccRUsy4cDbijFDbc;
+Lcom/android/server/wifi/p2p/SupplicantP2pIfaceCallback;
+Lcom/android/server/wifi/p2p/SupplicantP2pIfaceHal$1;
+Lcom/android/server/wifi/p2p/SupplicantP2pIfaceHal$SupplicantResult;
+Lcom/android/server/wifi/p2p/SupplicantP2pIfaceHal;
+Lcom/android/server/wifi/p2p/WifiP2pMetrics;
+Lcom/android/server/wifi/p2p/WifiP2pMonitor;
+Lcom/android/server/wifi/p2p/WifiP2pNative$InterfaceAvailableListenerInternal;
+Lcom/android/server/wifi/p2p/WifiP2pNative;
+Lcom/android/server/wifi/p2p/WifiP2pService;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$1;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$ClientHandler;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$DeathHandlerData;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$IpClientCallbacksImpl;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$1;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$2;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$3;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$4;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$DefaultState;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$FrequencyConflictState;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$GroupCreatedState;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$GroupCreatingState;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$GroupNegotiationState;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$InactiveState;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$OngoingGroupRemovalState;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$P2pDisabledState;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$P2pDisablingState;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$P2pEnabledState;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$P2pNotSupportedState;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$ProvisionDiscoveryState;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$UserAuthorizingInviteRequestState;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$UserAuthorizingJoinState;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$UserAuthorizingNegotiationRequestState;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStatus;
+Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;
+Lcom/android/server/wifi/rtt/-$$Lambda$RttNative$nRSOFcP2WhqxmfStf2OeZAekTCY;
+Lcom/android/server/wifi/rtt/-$$Lambda$RttNative$rJS9dcQwV7YDCbGMGmH46AVDmws;
+Lcom/android/server/wifi/rtt/-$$Lambda$RttServiceImpl$RttServiceSynchronized$nvl34lO7P1KT2zH6q5nTdziEODs;
+Lcom/android/server/wifi/rtt/-$$Lambda$RttServiceImpl$ehyq-_xe9BYccoyltP3Gc2lh51g;
+Lcom/android/server/wifi/rtt/-$$Lambda$RttServiceImpl$q9ANpyRqIip_-lKXLzaUsSwgxFs;
+Lcom/android/server/wifi/rtt/-$$Lambda$RttServiceImpl$wP--CWXsaxeveXsy_7abZeA-Q-w;
+Lcom/android/server/wifi/rtt/RttMetrics$PerPeerTypeInfo;
+Lcom/android/server/wifi/rtt/RttMetrics;
+Lcom/android/server/wifi/rtt/RttNative$1;
+Lcom/android/server/wifi/rtt/RttNative;
+Lcom/android/server/wifi/rtt/RttService;
+Lcom/android/server/wifi/rtt/RttServiceImpl$1;
+Lcom/android/server/wifi/rtt/RttServiceImpl$2;
+Lcom/android/server/wifi/rtt/RttServiceImpl$3;
+Lcom/android/server/wifi/rtt/RttServiceImpl$4;
+Lcom/android/server/wifi/rtt/RttServiceImpl$RttServiceSynchronized;
+Lcom/android/server/wifi/rtt/RttServiceImpl$RttShellCommand;
+Lcom/android/server/wifi/rtt/RttServiceImpl;
+Lcom/android/server/wifi/scanner/BackgroundScanScheduler$Bucket;
+Lcom/android/server/wifi/scanner/BackgroundScanScheduler$BucketList$1;
+Lcom/android/server/wifi/scanner/BackgroundScanScheduler$BucketList;
+Lcom/android/server/wifi/scanner/BackgroundScanScheduler;
+Lcom/android/server/wifi/scanner/ChannelHelper;
+Lcom/android/server/wifi/scanner/HalWifiScannerImpl;
+Lcom/android/server/wifi/scanner/KnownBandsChannelHelper;
+Lcom/android/server/wifi/scanner/WifiScannerImpl$1;
+Lcom/android/server/wifi/scanner/WifiScannerImpl$2;
+Lcom/android/server/wifi/scanner/WifiScannerImpl$WifiScannerImplFactory;
+Lcom/android/server/wifi/scanner/WifiScannerImpl;
+Lcom/android/server/wifi/scanner/WifiScanningService;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientHandler;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$ExternalClientInfo;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$RequestInfo;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$RequestList;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiBackgroundScanStateMachine$DefaultState;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiBackgroundScanStateMachine$PausedState;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiBackgroundScanStateMachine$StartedState;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiBackgroundScanStateMachine;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine$DefaultState;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine$HwPnoScanState;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine$SingleScanState;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine$StartedState;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine$DefaultState;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine$DriverStartedState;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine$IdleState;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine$ScanningState;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine;
+Lcom/android/server/wifi/scanner/WifiScanningServiceImpl;
+Lcom/android/server/wifi/scanner/WificondChannelHelper;
+Lcom/android/server/wifi/scanner/WificondScannerImpl;
+Lcom/android/server/wifi/util/-$$Lambda$ExternalCallbackTracker$8QoY6PIJITD7KnJG1izwMVWuxyA;
+Lcom/android/server/wifi/util/ByteArrayRingBuffer;
+Lcom/android/server/wifi/util/DataIntegrityChecker;
+Lcom/android/server/wifi/util/ExternalCallbackTracker$ExternalCallbackHolder$DeathCallback;
+Lcom/android/server/wifi/util/ExternalCallbackTracker$ExternalCallbackHolder;
+Lcom/android/server/wifi/util/ExternalCallbackTracker;
+Lcom/android/server/wifi/util/IntCounter;
+Lcom/android/server/wifi/util/IntHistogram;
+Lcom/android/server/wifi/util/KalmanFilter;
+Lcom/android/server/wifi/util/Matrix;
+Lcom/android/server/wifi/util/MetricsUtils$LogHistParms;
+Lcom/android/server/wifi/util/MetricsUtils;
+Lcom/android/server/wifi/util/NativeUtil;
+Lcom/android/server/wifi/util/TelephonyUtil$SimAuthRequestData;
+Lcom/android/server/wifi/util/TelephonyUtil$SimAuthResponseData;
+Lcom/android/server/wifi/util/TelephonyUtil;
+Lcom/android/server/wifi/util/WifiAsyncChannel;
+Lcom/android/server/wifi/util/WifiHandler;
+Lcom/android/server/wifi/util/WifiPermissionsUtil;
+Lcom/android/server/wifi/util/WifiPermissionsWrapper;
+Lcom/android/server/wifi/util/XmlUtil$IpConfigurationXmlUtil;
+Lcom/android/server/wifi/util/XmlUtil$WifiConfigurationXmlUtil;
+Lcom/android/server/wifi/util/XmlUtil;
+Lcom/android/server/wm/-$$Lambda$01bPtngJg5AqEoOWfW3rWfV7MH4;
+Lcom/android/server/wm/-$$Lambda$1636dquQO0UvkFayOGf_gceB4iw;
+Lcom/android/server/wm/-$$Lambda$2KrtdmjrY7Nagc4IRqzCk9gDuQU;
+Lcom/android/server/wm/-$$Lambda$3W4Y_XVQUddVKzLjibuHW7h0R1g;
+Lcom/android/server/wm/-$$Lambda$6DEhn1zqxqV5_Ytb_NyzMW23Ano;
+Lcom/android/server/wm/-$$Lambda$ADNhW0r9Skcs9ezrOGURijI-lyQ;
+Lcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$28Zuzbi6usdgbDcOi8hrJg6nZO0;
+Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$-xFyZDUKMraVkermSJGXQdN3oJ4;
+Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$7Ia1bmRpPHHSNlbH8cuLw8dKG04;
+Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$BXul1K8BX6JEv_ff3NT76qpeZGQ;
+Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$iduseKQrjIWQYD0hJ8Q5DMmuSfE;
+Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$oP6xxIfnD4kb4JN7aSJU073ULR4;
+Lcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$p4I6RZJqLXjaEjdISFyNzjAe4HE;
+Lcom/android/server/wm/-$$Lambda$AppTransition$xrq-Gwel_FcpfDvO2DrCfGN_3bk;
+Lcom/android/server/wm/-$$Lambda$AppTransitionController$ESsBJ2royCDDfelW3z7cgYH5q2I;
+Lcom/android/server/wm/-$$Lambda$AppTransitionController$YfQg1m68hbvcHoXbvzomyslzuaU;
+Lcom/android/server/wm/-$$Lambda$AppTransitionController$j4jrKo6PKtYRjRfPVQMMiQB02jg;
+Lcom/android/server/wm/-$$Lambda$AppWindowToken$cwsF3cyeJjO4UiuaM07w8TBc698;
+Lcom/android/server/wm/-$$Lambda$AppWindowToken$dqGwEWgT9i_0MfthapjlHK23UrM;
+Lcom/android/server/wm/-$$Lambda$AppWindowToken$jUUD3GIacKfmiVanGs_Dyy3FFqI;
+Lcom/android/server/wm/-$$Lambda$BoundsAnimationController$3-yWz6AXIW5r1KElGtHEgHZdi5Q;
+Lcom/android/server/wm/-$$Lambda$DZzr1xJVO2dSdamoKdlelCfv9o4;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$0yxrqH9eGY2qTjH1u_BvaVrXCSA;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$7uZtakUXzuXqF_Qht5Uq7LUvubI;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$7voe_dEKk2BYMriCvPuvaznb9WQ;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$GuCKVzKP141d6J0gfRAjKtuBJUU;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$JibsaX4YnJd0ta_wiDDdSp-PjQk;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$FI_O7m2qEDfIRZef3D32AxG-rcs;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$nqCymC3xR9b3qaeohnnJJpSiajc;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$TPj3OjTsuIg5GTLb5nMmFqIghA4;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$fiC19lMy-d_-rvza7hhOSw6bOM8;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$hRKjZwmneu0T85LNNY6_Zcs4gKM;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$qT01Aq6xt_ZOs86A1yDQe-qmPFQ;
+Lcom/android/server/wm/-$$Lambda$DisplayContent$qxt4izS31fb0LF2uo_OF9DMa7gc;
+Lcom/android/server/wm/-$$Lambda$DisplayPolicy$ZodRZMHxBPaPezVW2fanpbNIqqQ;
+Lcom/android/server/wm/-$$Lambda$DisplayPolicy$_FsvHpVUi-gbWmSpT009cJNNmgM;
+Lcom/android/server/wm/-$$Lambda$DisplayPolicy$n40v5T_KP7EALj7NP3i_hv76V5o;
+Lcom/android/server/wm/-$$Lambda$DisplayPolicy$xlVRxCROc8UPmV4pH747oZzvS58;
+Lcom/android/server/wm/-$$Lambda$HLz_SQuxQoIiuaK5SB5xJ6FnoxY;
+Lcom/android/server/wm/-$$Lambda$InsetsStateController$pXoYGy4X5aPw1QFi0iIWKiTMlDg;
+Lcom/android/server/wm/-$$Lambda$InsetsStateController$sIYEJIR4ztgffCLMi5Z1RvdxyYs;
+Lcom/android/server/wm/-$$Lambda$LYW1ECaEajjYgarzgKdTZ4O1fi0;
+Lcom/android/server/wm/-$$Lambda$OPdXuZQLetMnocdH6XV32JbNQ3I;
+Lcom/android/server/wm/-$$Lambda$OuObUsm0bB9g5X0kIXYkBYHvodY;
+Lcom/android/server/wm/-$$Lambda$PersisterQueue$HOTPBvinkMOqT3zxV3gRm6Y9Wi4;
+Lcom/android/server/wm/-$$Lambda$RecentTasks$KPkDUQ9KJ-vmXlmV8HHAucQJJdQ;
+Lcom/android/server/wm/-$$Lambda$RootWindowContainer$Vvv8jzH2oSE9-eakZwTuKd5NpsU;
+Lcom/android/server/wm/-$$Lambda$RootWindowContainer$qT2ficAmvrvFcBdiJIGNKxJ8Z9Q;
+Lcom/android/server/wm/-$$Lambda$RootWindowContainer$vMW2dyMvZQ0PDhptvNKN5WXpK_w;
+Lcom/android/server/wm/-$$Lambda$RootWindowContainer$zN9AhOirpieCrP6YNeTmpaApULQ;
+Lcom/android/server/wm/-$$Lambda$RunningTasks$B8bQN-i7MO0XIePhmkVnejRGNp0;
+Lcom/android/server/wm/-$$Lambda$StatusBarController$1$3FiQ0kybPCSlgcNJkCsNm5M12iA;
+Lcom/android/server/wm/-$$Lambda$StatusBarController$1$CizMeoiz6ZVrkt6kAKpSV5htmyc;
+Lcom/android/server/wm/-$$Lambda$StatusBarController$1$t71qcQIBSxRShk0Xohf1lk53bOw;
+Lcom/android/server/wm/-$$Lambda$StatusBarController$1$x4q7e0Eysf0ynMSdT1A-JN_ucuI;
+Lcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$lSzwjoKEGADoEFOzdEnwriAk0T4;
+Lcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$we7K92eAl3biB_bzyqbv5xCmasE;
+Lcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$xDyZdsMrcbp64p4BQmOGPvVnSWA;
+Lcom/android/server/wm/-$$Lambda$SurfaceAnimator$vdRZk66hQVbQCvVXEaQCT1kVmFc;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$0m_-qN9QkcgkoWun2Biw8le4l1Y;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$1ziXgnyLi0gQjqMGJAbSzs0-dmE;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$9ngbiJ2r3x2ASHwN59tUFO2-2BQ;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Ge3jFevRwpndz6qRSLDXODq2VjE;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$M2NSB3SSVJR2Tu4vihNfsIL31s4;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$MS67FdGix7tWO0Od9imcaKVXL7I;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$NLoKy9SbVr1EJpEjznsKi7yAlpg;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SAbrujQOZNUflKs1FAg2mBnjx3A;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SByuGj5tpcCpjTH9lf5zHHv2gNM;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$ZLPZtiEvD_F4WUgH7BD4KPpdAWM;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$byMDuIFUN4cQ1lT9jVjMwLhaLDw;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$k0FXXC-HcWJhmtm6-Kruo6nGeXI;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$kss8MGli3T9b_Y-QDzR2cB843y8;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$ncM_yje7-m7HuiJvorBIH_C8Ou4;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$qONfw3ssOxjb_iMuO2oMzCbXfrg;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$wuBjs4dj7gB_MI4dIdt2gV2Osus;
+Lcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$yaW9HlZsz3L55CTQ4b7y33IGo94;
+Lcom/android/server/wm/-$$Lambda$TaskTapPointerEventListener$Qq8YAj6yai3RMz5wJNKGVJNqsPM;
+Lcom/android/server/wm/-$$Lambda$UB90fpYUkajpKCLGR93ZDlgDhyw;
+Lcom/android/server/wm/-$$Lambda$WallpaperController$6pruPGLeSJAwNl9vGfC87eso21w;
+Lcom/android/server/wm/-$$Lambda$WindowAnimator$U3Fu5_RzEyNo8Jt6zTb2ozdXiqM;
+Lcom/android/server/wm/-$$Lambda$WindowAnimator$ddXU8gK8rmDqri0OZVMNa3Y4GHk;
+Lcom/android/server/wm/-$$Lambda$WindowManagerService$Ui3P_hFzUBaAtWwv4aQ-Lnn2NnQ;
+Lcom/android/server/wm/-$$Lambda$WindowManagerService$wGh8jzmWqrd_7ruovSXZoiIk1s0;
+Lcom/android/server/wm/-$$Lambda$WindowSurfacePlacer$4Hbamt-LFcbu8AoZBoOZN_LveKQ;
+Lcom/android/server/wm/-$$Lambda$WindowToken$tFLHn4S6WuSXW1gp1kvT_sp7WC0;
+Lcom/android/server/wm/-$$Lambda$WindowTracing$lz89IHzR4nKO_ZtXtwyNGkRleMY;
+Lcom/android/server/wm/-$$Lambda$XZ-U3HlCFtHp_gydNmNMeRmQMCI;
+Lcom/android/server/wm/-$$Lambda$_jL5KNK44AQYPj1d8Hd3FYO0W-M;
+Lcom/android/server/wm/-$$Lambda$cJE-iQ28Rv-ThCcuht9wXeFzPgo;
+Lcom/android/server/wm/-$$Lambda$hBnABSAsqXWvQ0zKwHWE4BZ3Mc0;
+Lcom/android/server/wm/-$$Lambda$hOONSPF2N4ZIr-bSc1utsg8aP-c;
+Lcom/android/server/wm/-$$Lambda$hT1kyMEAhvB1-Uxr0DFAlnuU3cQ;
+Lcom/android/server/wm/-$$Lambda$iQxeP_PsHHArcPSFabJ3FXyPKNc;
+Lcom/android/server/wm/-$$Lambda$ibmQVLjaQW2x74Wk8TcE0Og2MJM;
+Lcom/android/server/wm/-$$Lambda$p4YgPONtKWpvUwa_nwQPB8_Za6I;
+Lcom/android/server/wm/-$$Lambda$pOh7At8PXGw9JWVkfdjoNb7hsIg;
+Lcom/android/server/wm/-$$Lambda$swA_sUfSJdP8eC8AA9Iby3-SuOY;
+Lcom/android/server/wm/-$$Lambda$yACUZqn1Ak-GL14-Nu3kHUSaLX0;
+Lcom/android/server/wm/-$$Lambda$yIIsPVyXvnU3Rv8mcliit-gIpSs;
+Lcom/android/server/wm/-$$Lambda$yVRF8YoeNdTa8GR1wDStVsHu8xM;
+Lcom/android/server/wm/-$$Lambda$zwLNi4Hz7werGBGptK8eYRpBWpw;
+Lcom/android/server/wm/ActivityDisplay;
+Lcom/android/server/wm/ActivityMetricsLaunchObserver;
+Lcom/android/server/wm/ActivityMetricsLaunchObserverRegistry;
+Lcom/android/server/wm/ActivityMetricsLogger$H;
+Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;
+Lcom/android/server/wm/ActivityMetricsLogger;
+Lcom/android/server/wm/ActivityRecord$Token;
+Lcom/android/server/wm/ActivityRecord;
+Lcom/android/server/wm/ActivityStack$1;
+Lcom/android/server/wm/ActivityStack$ActivityStackHandler;
+Lcom/android/server/wm/ActivityStack$ActivityState;
+Lcom/android/server/wm/ActivityStack;
+Lcom/android/server/wm/ActivityStackSupervisor$ActivityStackSupervisorHandler;
+Lcom/android/server/wm/ActivityStackSupervisor;
+Lcom/android/server/wm/ActivityStartController$StartHandler;
+Lcom/android/server/wm/ActivityStartController;
+Lcom/android/server/wm/ActivityStartInterceptor;
+Lcom/android/server/wm/ActivityStarter$DefaultFactory;
+Lcom/android/server/wm/ActivityStarter$Factory;
+Lcom/android/server/wm/ActivityStarter$Request;
+Lcom/android/server/wm/ActivityStarter;
+Lcom/android/server/wm/ActivityTaskManagerInternal$ScreenObserver;
+Lcom/android/server/wm/ActivityTaskManagerInternal$SleepToken;
+Lcom/android/server/wm/ActivityTaskManagerInternal;
+Lcom/android/server/wm/ActivityTaskManagerService$FontScaleSettingObserver;
+Lcom/android/server/wm/ActivityTaskManagerService$H;
+Lcom/android/server/wm/ActivityTaskManagerService$Lifecycle;
+Lcom/android/server/wm/ActivityTaskManagerService$LocalService;
+Lcom/android/server/wm/ActivityTaskManagerService$UiHandler;
+Lcom/android/server/wm/ActivityTaskManagerService$UpdateConfigurationResult;
+Lcom/android/server/wm/ActivityTaskManagerService;
+Lcom/android/server/wm/AnimatingAppWindowTokenRegistry;
+Lcom/android/server/wm/AppTokenList;
+Lcom/android/server/wm/AppTransition$1;
+Lcom/android/server/wm/AppTransition$2;
+Lcom/android/server/wm/AppTransition;
+Lcom/android/server/wm/AppTransitionController;
+Lcom/android/server/wm/AppWarnings$ConfigHandler;
+Lcom/android/server/wm/AppWarnings$UiHandler;
+Lcom/android/server/wm/AppWarnings;
+Lcom/android/server/wm/AppWindowToken$1;
+Lcom/android/server/wm/AppWindowToken;
+Lcom/android/server/wm/BarController$BarHandler;
+Lcom/android/server/wm/BarController$OnBarVisibilityChangedListener;
+Lcom/android/server/wm/BarController;
+Lcom/android/server/wm/BoundsAnimationController$AppTransitionNotifier;
+Lcom/android/server/wm/BoundsAnimationController;
+Lcom/android/server/wm/BoundsAnimationTarget;
+Lcom/android/server/wm/ClientLifecycleManager;
+Lcom/android/server/wm/CompatModePackages$CompatHandler;
+Lcom/android/server/wm/CompatModePackages;
 Lcom/android/server/wm/ConfigurationContainer;
 Lcom/android/server/wm/ConfigurationContainerListener;
+Lcom/android/server/wm/Dimmer$SurfaceAnimatorStarter;
+Lcom/android/server/wm/Dimmer;
+Lcom/android/server/wm/DisplayContent$AboveAppWindowContainers;
+Lcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;
+Lcom/android/server/wm/DisplayContent$DisplayChildWindowContainer;
+Lcom/android/server/wm/DisplayContent$NonAppWindowContainers;
+Lcom/android/server/wm/DisplayContent$NonMagnifiableWindowContainers;
+Lcom/android/server/wm/DisplayContent$TaskForResizePointSearchResult;
+Lcom/android/server/wm/DisplayContent$TaskStackContainers;
+Lcom/android/server/wm/DisplayContent;
+Lcom/android/server/wm/DisplayFrames;
+Lcom/android/server/wm/DisplayPolicy$1;
+Lcom/android/server/wm/DisplayPolicy$2;
+Lcom/android/server/wm/DisplayPolicy$3;
+Lcom/android/server/wm/DisplayPolicy$4;
+Lcom/android/server/wm/DisplayPolicy$PolicyHandler;
+Lcom/android/server/wm/DisplayPolicy;
+Lcom/android/server/wm/DisplayRotation$OrientationListener;
+Lcom/android/server/wm/DisplayRotation$SettingsObserver;
+Lcom/android/server/wm/DisplayRotation;
+Lcom/android/server/wm/DisplayWindowSettings$Entry;
+Lcom/android/server/wm/DisplayWindowSettings;
+Lcom/android/server/wm/DockedStackDividerController;
+Lcom/android/server/wm/DragDropController$1;
+Lcom/android/server/wm/DragDropController$DragHandler;
+Lcom/android/server/wm/DragDropController;
+Lcom/android/server/wm/ImmersiveModeConfirmation$1;
+Lcom/android/server/wm/ImmersiveModeConfirmation$H;
+Lcom/android/server/wm/ImmersiveModeConfirmation;
+Lcom/android/server/wm/InputConsumerImpl;
+Lcom/android/server/wm/InputManagerCallback;
+Lcom/android/server/wm/InputMonitor$1;
+Lcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;
 Lcom/android/server/wm/InputMonitor;
-Lcom/android/server/wm/PinnedStackWindowController;
-Lcom/android/server/wm/PinnedStackWindowListener;
+Lcom/android/server/wm/InsetsSourceProvider;
+Lcom/android/server/wm/InsetsStateController;
+Lcom/android/server/wm/KeyguardController$KeyguardDisplayState;
+Lcom/android/server/wm/KeyguardController;
+Lcom/android/server/wm/KeyguardDisableHandler$1;
+Lcom/android/server/wm/KeyguardDisableHandler$2;
+Lcom/android/server/wm/KeyguardDisableHandler$Injector;
+Lcom/android/server/wm/KeyguardDisableHandler;
+Lcom/android/server/wm/LaunchObserverRegistryImpl;
+Lcom/android/server/wm/LaunchParamsController$LaunchParams;
+Lcom/android/server/wm/LaunchParamsController$LaunchParamsModifier;
+Lcom/android/server/wm/LaunchParamsController;
+Lcom/android/server/wm/LaunchParamsPersister$PackageListObserver;
+Lcom/android/server/wm/LaunchParamsPersister;
+Lcom/android/server/wm/LockTaskController$LockTaskToken;
+Lcom/android/server/wm/LockTaskController;
+Lcom/android/server/wm/MirrorActiveUids;
+Lcom/android/server/wm/NavigationBarExperiments;
+Lcom/android/server/wm/PendingRemoteAnimationRegistry$Entry;
+Lcom/android/server/wm/PendingRemoteAnimationRegistry;
+Lcom/android/server/wm/PersisterQueue$LazyTaskWriterThread;
+Lcom/android/server/wm/PersisterQueue$Listener;
+Lcom/android/server/wm/PersisterQueue$WriteQueueItem;
+Lcom/android/server/wm/PersisterQueue;
+Lcom/android/server/wm/PinnedStackController$PinnedStackControllerCallback;
+Lcom/android/server/wm/PinnedStackController$PinnedStackListenerDeathHandler;
+Lcom/android/server/wm/PinnedStackController;
+Lcom/android/server/wm/PointerEventDispatcher;
+Lcom/android/server/wm/PolicyControl;
+Lcom/android/server/wm/RecentTasks$Callbacks;
+Lcom/android/server/wm/RecentTasks;
 Lcom/android/server/wm/RecentsAnimationController$RecentsAnimationCallbacks;
-Lcom/android/server/wm/StackWindowController;
-Lcom/android/server/wm/StackWindowListener;
+Lcom/android/server/wm/RootActivityContainer$FindTaskResult;
+Lcom/android/server/wm/RootActivityContainer$SleepTokenImpl;
+Lcom/android/server/wm/RootActivityContainer;
+Lcom/android/server/wm/RootWindowContainer$MyHandler;
+Lcom/android/server/wm/RootWindowContainer;
+Lcom/android/server/wm/RunningTasks;
+Lcom/android/server/wm/SafeActivityOptions;
+Lcom/android/server/wm/Session;
+Lcom/android/server/wm/StatusBarController$1;
+Lcom/android/server/wm/StatusBarController;
+Lcom/android/server/wm/SurfaceAnimationRunner$AnimatorFactory;
+Lcom/android/server/wm/SurfaceAnimationRunner;
 Lcom/android/server/wm/SurfaceAnimationThread;
-Lcom/android/server/wm/TaskWindowContainerListener;
+Lcom/android/server/wm/SurfaceAnimator$Animatable;
+Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;
+Lcom/android/server/wm/SurfaceAnimator;
+Lcom/android/server/wm/SurfaceBuilderFactory;
+Lcom/android/server/wm/SurfaceFactory;
+Lcom/android/server/wm/SystemGesturesPointerEventListener$Callbacks;
+Lcom/android/server/wm/SystemGesturesPointerEventListener$FlingGestureDetector;
+Lcom/android/server/wm/SystemGesturesPointerEventListener;
+Lcom/android/server/wm/Task;
+Lcom/android/server/wm/TaskChangeNotificationController$MainHandler;
+Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;
+Lcom/android/server/wm/TaskChangeNotificationController;
+Lcom/android/server/wm/TaskLaunchParamsModifier;
+Lcom/android/server/wm/TaskPersister;
+Lcom/android/server/wm/TaskPositioningController;
+Lcom/android/server/wm/TaskRecord$TaskActivitiesReport;
+Lcom/android/server/wm/TaskRecord$TaskRecordFactory;
+Lcom/android/server/wm/TaskRecord;
+Lcom/android/server/wm/TaskSnapshotCache;
+Lcom/android/server/wm/TaskSnapshotController;
+Lcom/android/server/wm/TaskSnapshotLoader;
+Lcom/android/server/wm/TaskSnapshotPersister$1;
+Lcom/android/server/wm/TaskSnapshotPersister$DirectoryResolver;
+Lcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;
+Lcom/android/server/wm/TaskSnapshotPersister$WriteQueueItem;
+Lcom/android/server/wm/TaskSnapshotPersister;
+Lcom/android/server/wm/TaskStack;
+Lcom/android/server/wm/TaskTapPointerEventListener;
+Lcom/android/server/wm/TransactionFactory;
+Lcom/android/server/wm/UnknownAppVisibilityController;
+Lcom/android/server/wm/VrController$1;
+Lcom/android/server/wm/VrController;
+Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;
+Lcom/android/server/wm/WallpaperController;
+Lcom/android/server/wm/WallpaperVisibilityListeners;
+Lcom/android/server/wm/WallpaperWindowToken;
+Lcom/android/server/wm/WindowAnimator$DisplayContentsAnimator;
+Lcom/android/server/wm/WindowAnimator;
+Lcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;
+Lcom/android/server/wm/WindowContainer;
 Lcom/android/server/wm/WindowContainerController;
 Lcom/android/server/wm/WindowContainerListener;
+Lcom/android/server/wm/WindowFrames;
+Lcom/android/server/wm/WindowHashMap;
+Lcom/android/server/wm/WindowList;
+Lcom/android/server/wm/WindowManagerGlobalLock;
+Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;
+Lcom/android/server/wm/WindowManagerInternal$IDragDropCallback;
+Lcom/android/server/wm/WindowManagerInternal$OnHardKeyboardStatusChangeListener;
 Lcom/android/server/wm/WindowManagerInternal;
+Lcom/android/server/wm/WindowManagerService$10;
+Lcom/android/server/wm/WindowManagerService$1;
+Lcom/android/server/wm/WindowManagerService$2;
+Lcom/android/server/wm/WindowManagerService$3;
+Lcom/android/server/wm/WindowManagerService$4;
+Lcom/android/server/wm/WindowManagerService$5;
+Lcom/android/server/wm/WindowManagerService$6;
+Lcom/android/server/wm/WindowManagerService$7;
+Lcom/android/server/wm/WindowManagerService$8;
+Lcom/android/server/wm/WindowManagerService$AppFreezeListener;
+Lcom/android/server/wm/WindowManagerService$H;
+Lcom/android/server/wm/WindowManagerService$LocalService;
+Lcom/android/server/wm/WindowManagerService$MousePositionTracker;
+Lcom/android/server/wm/WindowManagerService$RotationWatcher;
+Lcom/android/server/wm/WindowManagerService$SettingsObserver;
 Lcom/android/server/wm/WindowManagerService;
-PLandroid/hardware/authsecret/V1_0/IAuthSecret;->getService()Landroid/hardware/authsecret/V1_0/IAuthSecret;
-PLandroid/hardware/authsecret/V1_0/IAuthSecret;->getService(Ljava/lang/String;)Landroid/hardware/authsecret/V1_0/IAuthSecret;
-PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;-><init>(Landroid/os/IHwBinder;)V
-PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->asBinder()Landroid/os/IHwBinder;
+Lcom/android/server/wm/WindowManagerThreadPriorityBooster;
+Lcom/android/server/wm/WindowProcessController$ComputeOomAdjCallback;
+Lcom/android/server/wm/WindowProcessController;
+Lcom/android/server/wm/WindowProcessListener;
+Lcom/android/server/wm/WindowState$1;
+Lcom/android/server/wm/WindowState$2;
+Lcom/android/server/wm/WindowState$DeathRecipient;
+Lcom/android/server/wm/WindowState$PowerManagerWrapper;
+Lcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;
+Lcom/android/server/wm/WindowState$WindowId;
+Lcom/android/server/wm/WindowState;
+Lcom/android/server/wm/WindowStateAnimator;
+Lcom/android/server/wm/WindowSurfaceController;
+Lcom/android/server/wm/WindowSurfacePlacer;
+Lcom/android/server/wm/WindowToken;
+Lcom/android/server/wm/WindowTraceBuffer$Builder;
+Lcom/android/server/wm/WindowTraceBuffer;
+Lcom/android/server/wm/WindowTracing;
+Lcom/android/server/wm/utils/CoordinateTransforms;
+Lcom/android/server/wm/utils/DisplayRotationUtil;
+Lcom/android/server/wm/utils/InsetUtils;
+Lcom/android/server/wm/utils/RotationCache$RotationDependentComputation;
+Lcom/android/server/wm/utils/RotationCache;
+Lcom/android/server/wm/utils/WmDisplayCutout;
+Lcom/android/timezone/distro/DistroException;
+Lcom/google/android/startop/iorap/IorapForwardingService$AppLaunchObserver;
+Lcom/google/android/startop/iorap/IorapForwardingService$BinderConnectionHandler;
+Lcom/google/android/startop/iorap/IorapForwardingService;
+Lcom/google/protobuf/InvalidProtocolBufferException;
+Lfi/iki/elonen/NanoHTTPD$AsyncRunner;
+Lfi/iki/elonen/NanoHTTPD$DefaultAsyncRunner;
+Lfi/iki/elonen/NanoHTTPD$DefaultServerSocketFactory;
+Lfi/iki/elonen/NanoHTTPD$DefaultTempFileManagerFactory;
+Lfi/iki/elonen/NanoHTTPD$ResponseException;
+Lfi/iki/elonen/NanoHTTPD$ServerSocketFactory;
+Lfi/iki/elonen/NanoHTTPD$TempFileManagerFactory;
+Lfi/iki/elonen/NanoHTTPD;
+PLandroid/hardware/authsecret/V1_0/IAuthSecret$Proxy;->primaryUserCredential(Ljava/util/ArrayList;)V
 PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->authenticate(JI)I
 PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->cancel()I
-PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->enumerate()I
-PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->getAuthenticatorId()J
-PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->interfaceChain()Ljava/util/ArrayList;
-PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->setActiveGroup(ILjava/lang/String;)I
-PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->setNotify(Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;)J
-PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
-PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->getService()Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
-PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->getService(Ljava/lang/String;)Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
-PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback$Stub;-><init>()V
-PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback$Stub;->asBinder()Landroid/os/IHwBinder;
-PLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
-PLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs$Proxy;-><init>(Landroid/os/IHwBinder;)V
-PLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs$Proxy;->hasWideColorDisplay()Landroid/hardware/configstore/V1_0/OptionalBool;
-PLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs$Proxy;->interfaceChain()Ljava/util/ArrayList;
-PLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;
-PLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->getService()Landroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;
-PLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->getService(Ljava/lang/String;)Landroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;
-PLandroid/hardware/configstore/V1_0/OptionalBool;-><init>()V
-PLandroid/hardware/configstore/V1_0/OptionalBool;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-PLandroid/hardware/configstore/V1_0/OptionalBool;->readFromParcel(Landroid/os/HwParcel;)V
-PLandroid/hardware/health/V1_0/HealthInfo;-><init>()V
-PLandroid/hardware/health/V2_0/DiskStats;-><init>()V
-PLandroid/hardware/health/V2_0/HealthInfo;-><init>()V
-PLandroid/hardware/health/V2_0/IHealth$Proxy;-><init>(Landroid/os/IHwBinder;)V
-PLandroid/hardware/health/V2_0/IHealth$Proxy;->asBinder()Landroid/os/IHwBinder;
-PLandroid/hardware/health/V2_0/IHealth$Proxy;->equals(Ljava/lang/Object;)Z
-PLandroid/hardware/health/V2_0/IHealth$Proxy;->interfaceChain()Ljava/util/ArrayList;
-PLandroid/hardware/health/V2_0/IHealth$Proxy;->registerCallback(Landroid/hardware/health/V2_0/IHealthInfoCallback;)I
-PLandroid/hardware/health/V2_0/IHealth$Proxy;->update()I
-PLandroid/hardware/health/V2_0/IHealth;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/health/V2_0/IHealth;
-PLandroid/hardware/health/V2_0/IHealth;->getService(Ljava/lang/String;Z)Landroid/hardware/health/V2_0/IHealth;
-PLandroid/hardware/health/V2_0/IHealthInfoCallback$Stub;-><init>()V
-PLandroid/hardware/health/V2_0/IHealthInfoCallback$Stub;->asBinder()Landroid/os/IHwBinder;
-PLandroid/hardware/health/V2_0/StorageAttribute;-><init>()V
-PLandroid/hardware/health/V2_0/StorageInfo;-><init>()V
-PLandroid/hardware/oemlock/V1_0/IOemLock$Proxy;-><init>(Landroid/os/IHwBinder;)V
-PLandroid/hardware/oemlock/V1_0/IOemLock$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/health/V2_0/IHealth$Proxy;->getCapacity(Landroid/hardware/health/V2_0/IHealth$getCapacityCallback;)V
+PLandroid/hardware/health/V2_0/IHealth$Proxy;->getChargeCounter(Landroid/hardware/health/V2_0/IHealth$getChargeCounterCallback;)V
+PLandroid/hardware/health/V2_0/IHealth$Proxy;->getCurrentAverage(Landroid/hardware/health/V2_0/IHealth$getCurrentAverageCallback;)V
+PLandroid/hardware/health/V2_0/IHealth$Proxy;->getEnergyCounter(Landroid/hardware/health/V2_0/IHealth$getEnergyCounterCallback;)V
 PLandroid/hardware/oemlock/V1_0/IOemLock$Proxy;->isOemUnlockAllowedByCarrier(Landroid/hardware/oemlock/V1_0/IOemLock$isOemUnlockAllowedByCarrierCallback;)V
-PLandroid/hardware/oemlock/V1_0/IOemLock;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/oemlock/V1_0/IOemLock;
-PLandroid/hardware/oemlock/V1_0/IOemLock;->getService()Landroid/hardware/oemlock/V1_0/IOemLock;
-PLandroid/hardware/oemlock/V1_0/IOemLock;->getService(Ljava/lang/String;)Landroid/hardware/oemlock/V1_0/IOemLock;
-PLandroid/hardware/usb/V1_0/IUsb$Proxy;-><init>(Landroid/os/IHwBinder;)V
-PLandroid/hardware/usb/V1_0/IUsb$Proxy;->interfaceChain()Ljava/util/ArrayList;
-PLandroid/hardware/usb/V1_0/IUsb$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
-PLandroid/hardware/usb/V1_0/IUsb$Proxy;->queryPortStatus()V
-PLandroid/hardware/usb/V1_0/IUsb$Proxy;->setCallback(Landroid/hardware/usb/V1_0/IUsbCallback;)V
-PLandroid/hardware/usb/V1_0/IUsb;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/usb/V1_0/IUsb;
-PLandroid/hardware/usb/V1_0/IUsb;->getService()Landroid/hardware/usb/V1_0/IUsb;
-PLandroid/hardware/usb/V1_0/IUsb;->getService(Ljava/lang/String;)Landroid/hardware/usb/V1_0/IUsb;
-PLandroid/hardware/usb/V1_0/PortStatus;-><init>()V
-PLandroid/hardware/usb/V1_1/IUsbCallback$Stub;-><init>()V
-PLandroid/hardware/usb/V1_1/IUsbCallback$Stub;->asBinder()Landroid/os/IHwBinder;
-PLandroid/hardware/usb/V1_1/IUsbCallback$Stub;->interfaceChain()Ljava/util/ArrayList;
-PLandroid/hardware/usb/V1_1/PortStatus_1_1;-><init>()V
-PLandroid/hardware/usb/V1_1/PortStatus_1_1;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-PLandroid/hardware/weaver/V1_0/IWeaver$Proxy;-><init>(Landroid/os/IHwBinder;)V
-PLandroid/hardware/weaver/V1_0/IWeaver$Proxy;->getConfig(Landroid/hardware/weaver/V1_0/IWeaver$getConfigCallback;)V
-PLandroid/hardware/weaver/V1_0/IWeaver$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/oemlock/V1_0/IOemLock$Proxy;->setOemUnlockAllowedByCarrier(ZLjava/util/ArrayList;)I
 PLandroid/hardware/weaver/V1_0/IWeaver$Proxy;->read(ILjava/util/ArrayList;Landroid/hardware/weaver/V1_0/IWeaver$readCallback;)V
-PLandroid/hardware/weaver/V1_0/IWeaver;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/weaver/V1_0/IWeaver;
-PLandroid/hardware/weaver/V1_0/IWeaver;->getService()Landroid/hardware/weaver/V1_0/IWeaver;
-PLandroid/hardware/weaver/V1_0/IWeaver;->getService(Ljava/lang/String;)Landroid/hardware/weaver/V1_0/IWeaver;
-PLandroid/hardware/weaver/V1_0/WeaverConfig;-><init>()V
-PLandroid/hardware/weaver/V1_0/WeaverConfig;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-PLandroid/hardware/weaver/V1_0/WeaverConfig;->readFromParcel(Landroid/os/HwParcel;)V
-PLandroid/hardware/weaver/V1_0/WeaverReadResponse;-><init>()V
 PLandroid/hardware/weaver/V1_0/WeaverReadResponse;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
-PLandroid/hardware/weaver/V1_0/WeaverReadResponse;->readFromParcel(Landroid/os/HwParcel;)V
-PLandroid/media/IMediaUpdateService$Stub$Proxy;-><init>(Landroid/os/IBinder;)V
-PLandroid/media/IMediaUpdateService$Stub$Proxy;->loadPlugins(Ljava/lang/String;)V
-PLandroid/media/IMediaUpdateService$Stub;->asInterface(Landroid/os/IBinder;)Landroid/media/IMediaExtractorUpdateService;
-PLandroid/net/apf/-$$Lambda$ApfFilter$UV1wDVoVlbcxpr8zevj_aMFtUGw;-><init>()V
-PLandroid/net/apf/-$$Lambda$ApfFilter$UV1wDVoVlbcxpr8zevj_aMFtUGw;->applyAsInt(Ljava/lang/Object;)I
-PLandroid/net/apf/ApfCapabilities;-><init>(III)V
-PLandroid/net/apf/ApfCapabilities;->hasDataAccess()Z
-PLandroid/net/apf/ApfCapabilities;->toString()Ljava/lang/String;
-PLandroid/net/apf/ApfFilter$1;-><init>(Landroid/net/apf/ApfFilter;)V
-PLandroid/net/apf/ApfFilter$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLandroid/net/apf/ApfFilter$ApfConfiguration;-><init>()V
-PLandroid/net/apf/ApfFilter$Counter;-><init>(Ljava/lang/String;I)V
-PLandroid/net/apf/ApfFilter$ProcessRaResult;-><init>(Ljava/lang/String;I)V
-PLandroid/net/apf/ApfFilter$ProcessRaResult;->values()[Landroid/net/apf/ApfFilter$ProcessRaResult;
-PLandroid/net/apf/ApfFilter$Ra;-><init>(Landroid/net/apf/ApfFilter;[BI)V
-PLandroid/net/apf/ApfFilter$Ra;->IPv6AddresstoString(I)Ljava/lang/String;
-PLandroid/net/apf/ApfFilter$Ra;->addNonLifetime(III)I
-PLandroid/net/apf/ApfFilter$Ra;->addNonLifetimeU32(I)I
-PLandroid/net/apf/ApfFilter$Ra;->currentLifetime()J
-PLandroid/net/apf/ApfFilter$Ra;->generateFilterLocked(Landroid/net/apf/ApfGenerator;)J
-PLandroid/net/apf/ApfFilter$Ra;->isExpired()Z
-PLandroid/net/apf/ApfFilter$Ra;->matches([BI)Z
-PLandroid/net/apf/ApfFilter$Ra;->minLifetime([BI)J
-PLandroid/net/apf/ApfFilter$Ra;->prefixOptionToString(Ljava/lang/StringBuffer;I)V
-PLandroid/net/apf/ApfFilter$Ra;->rdnssOptionToString(Ljava/lang/StringBuffer;I)V
-PLandroid/net/apf/ApfFilter$Ra;->toString()Ljava/lang/String;
-PLandroid/net/apf/ApfFilter$ReceiveThread;-><init>(Landroid/net/apf/ApfFilter;Ljava/io/FileDescriptor;)V
-PLandroid/net/apf/ApfFilter$ReceiveThread;->halt()V
-PLandroid/net/apf/ApfFilter$ReceiveThread;->logStats()V
-PLandroid/net/apf/ApfFilter$ReceiveThread;->run()V
-PLandroid/net/apf/ApfFilter$ReceiveThread;->updateStats(Landroid/net/apf/ApfFilter$ProcessRaResult;)V
-PLandroid/net/apf/ApfFilter;-><init>(Landroid/content/Context;Landroid/net/apf/ApfFilter$ApfConfiguration;Landroid/net/util/InterfaceParams;Landroid/net/ip/IpClient$Callback;Landroid/net/metrics/IpConnectivityLog;)V
-PLandroid/net/apf/ApfFilter;->access$000(Landroid/net/apf/ApfFilter;Ljava/lang/String;)V
-PLandroid/net/apf/ApfFilter;->access$100(Landroid/net/apf/ApfFilter;)Landroid/net/apf/ApfCapabilities;
-PLandroid/net/apf/ApfFilter;->access$200(Landroid/net/apf/ApfFilter;)I
-PLandroid/net/apf/ApfFilter;->access$300(Landroid/net/apf/ApfFilter;)I
-PLandroid/net/apf/ApfFilter;->access$400(Landroid/net/apf/ApfFilter;)Landroid/net/metrics/IpConnectivityLog;
-PLandroid/net/apf/ApfFilter;->access$500(Landroid/net/apf/ApfFilter;J)V
-PLandroid/net/apf/ApfFilter;->access$600(Landroid/net/apf/ApfFilter;)J
-PLandroid/net/apf/ApfFilter;->access$700(Landroid/net/apf/ApfFilter;Landroid/net/apf/ApfGenerator;Landroid/net/apf/ApfFilter$Counter;)V
-PLandroid/net/apf/ApfFilter;->access$800(Landroid/net/apf/ApfFilter;)Ljava/lang/String;
-PLandroid/net/apf/ApfFilter;->currentTimeSeconds()J
-PLandroid/net/apf/ApfFilter;->emitEpilogue(Landroid/net/apf/ApfGenerator;)V
-PLandroid/net/apf/ApfFilter;->emitPrologueLocked()Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfFilter;->filterEthTypeBlackList([I)[I
-PLandroid/net/apf/ApfFilter;->findIPv4LinkAddress(Landroid/net/LinkProperties;)Landroid/net/LinkAddress;
-PLandroid/net/apf/ApfFilter;->generateArpFilterLocked(Landroid/net/apf/ApfGenerator;)V
-PLandroid/net/apf/ApfFilter;->generateIPv4FilterLocked(Landroid/net/apf/ApfGenerator;)V
-PLandroid/net/apf/ApfFilter;->generateIPv6FilterLocked(Landroid/net/apf/ApfGenerator;)V
-PLandroid/net/apf/ApfFilter;->getUniqueNumberLocked()J
-PLandroid/net/apf/ApfFilter;->installNewProgramLocked()V
-PLandroid/net/apf/ApfFilter;->ipv4BroadcastAddress([BI)I
-PLandroid/net/apf/ApfFilter;->lambda$UV1wDVoVlbcxpr8zevj_aMFtUGw(Ljava/lang/Integer;)I
-PLandroid/net/apf/ApfFilter;->log(Ljava/lang/String;)V
-PLandroid/net/apf/ApfFilter;->logApfProgramEventLocked(J)V
-PLandroid/net/apf/ApfFilter;->maybeCreate(Landroid/content/Context;Landroid/net/apf/ApfFilter$ApfConfiguration;Landroid/net/util/InterfaceParams;Landroid/net/ip/IpClient$Callback;)Landroid/net/apf/ApfFilter;
-PLandroid/net/apf/ApfFilter;->maybeSetCounter(Landroid/net/apf/ApfGenerator;Landroid/net/apf/ApfFilter$Counter;)V
-PLandroid/net/apf/ApfFilter;->maybeStartFilter()V
-PLandroid/net/apf/ApfFilter;->processRa([BI)Landroid/net/apf/ApfFilter$ProcessRaResult;
-PLandroid/net/apf/ApfFilter;->purgeExpiredRasLocked()V
-PLandroid/net/apf/ApfFilter;->setDozeMode(Z)V
-PLandroid/net/apf/ApfFilter;->setLinkProperties(Landroid/net/LinkProperties;)V
-PLandroid/net/apf/ApfFilter;->shouldInstallnewProgram()Z
-PLandroid/net/apf/ApfFilter;->shutdown()V
-PLandroid/net/apf/ApfGenerator$ExtendedOpcodes;-><init>(Ljava/lang/String;II)V
-PLandroid/net/apf/ApfGenerator$Instruction;-><init>(Landroid/net/apf/ApfGenerator;Landroid/net/apf/ApfGenerator$Opcodes;)V
-PLandroid/net/apf/ApfGenerator$Instruction;->generate([B)V
-PLandroid/net/apf/ApfGenerator$Instruction;->generateImmSizeField()B
-PLandroid/net/apf/ApfGenerator$Instruction;->generateInstructionByte()B
-PLandroid/net/apf/ApfGenerator$Instruction;->setCompareBytes([B)V
-PLandroid/net/apf/ApfGenerator$Instruction;->setImm(IZ)V
-PLandroid/net/apf/ApfGenerator$Instruction;->setLabel(Ljava/lang/String;)V
-PLandroid/net/apf/ApfGenerator$Instruction;->setSignedImm(I)V
-PLandroid/net/apf/ApfGenerator$Instruction;->setTargetLabel(Ljava/lang/String;)V
-PLandroid/net/apf/ApfGenerator$Instruction;->setUnsignedImm(I)V
-PLandroid/net/apf/ApfGenerator$Opcodes;-><init>(Ljava/lang/String;II)V
-PLandroid/net/apf/ApfGenerator$Register;-><init>(Ljava/lang/String;II)V
-PLandroid/net/apf/ApfGenerator;-><init>(I)V
-PLandroid/net/apf/ApfGenerator;->access$000(Landroid/net/apf/ApfGenerator;)Ljava/util/HashMap;
-PLandroid/net/apf/ApfGenerator;->access$100(Landroid/net/apf/ApfGenerator;)Landroid/net/apf/ApfGenerator$Instruction;
-PLandroid/net/apf/ApfGenerator;->access$200(Landroid/net/apf/ApfGenerator;)Landroid/net/apf/ApfGenerator$Instruction;
-PLandroid/net/apf/ApfGenerator;->addAddR1()Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->addAnd(I)Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->addJump(Ljava/lang/String;)Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->addJumpIfBytesNotEqual(Landroid/net/apf/ApfGenerator$Register;[BLjava/lang/String;)Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->addJumpIfR0AnyBitsSet(ILjava/lang/String;)Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->addJumpIfR0Equals(ILjava/lang/String;)Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->addJumpIfR0GreaterThan(ILjava/lang/String;)Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->addJumpIfR0LessThan(ILjava/lang/String;)Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->addJumpIfR0NotEquals(ILjava/lang/String;)Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->addLoad16(Landroid/net/apf/ApfGenerator$Register;I)Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->addLoad16Indexed(Landroid/net/apf/ApfGenerator$Register;I)Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->addLoad32(Landroid/net/apf/ApfGenerator$Register;I)Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->addLoad8(Landroid/net/apf/ApfGenerator$Register;I)Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->addLoadFromMemory(Landroid/net/apf/ApfGenerator$Register;I)Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->addLoadImmediate(Landroid/net/apf/ApfGenerator$Register;I)Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->defineLabel(Ljava/lang/String;)Landroid/net/apf/ApfGenerator;
-PLandroid/net/apf/ApfGenerator;->programLengthOverEstimate()I
-PLandroid/net/apf/ApfGenerator;->requireApfVersion(I)V
-PLandroid/net/apf/ApfGenerator;->supportsVersion(I)Z
-PLandroid/net/dhcp/DhcpAckPacket;-><init>(ISZLjava/net/Inet4Address;Ljava/net/Inet4Address;Ljava/net/Inet4Address;[B)V
-PLandroid/net/dhcp/DhcpAckPacket;->toString()Ljava/lang/String;
-PLandroid/net/dhcp/DhcpClient$ConfiguringInterfaceState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$ConfiguringInterfaceState;->enter()V
-PLandroid/net/dhcp/DhcpClient$ConfiguringInterfaceState;->processMessage(Landroid/os/Message;)Z
-PLandroid/net/dhcp/DhcpClient$DhcpBoundState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$DhcpBoundState;->enter()V
-PLandroid/net/dhcp/DhcpClient$DhcpBoundState;->exit()V
-PLandroid/net/dhcp/DhcpClient$DhcpBoundState;->logTimeToBoundState()V
-PLandroid/net/dhcp/DhcpClient$DhcpBoundState;->processMessage(Landroid/os/Message;)Z
-PLandroid/net/dhcp/DhcpClient$DhcpHaveLeaseState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$DhcpHaveLeaseState;->exit()V
-PLandroid/net/dhcp/DhcpClient$DhcpHaveLeaseState;->processMessage(Landroid/os/Message;)Z
-PLandroid/net/dhcp/DhcpClient$DhcpInitRebootState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$DhcpInitState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$DhcpInitState;->enter()V
-PLandroid/net/dhcp/DhcpClient$DhcpInitState;->receivePacket(Landroid/net/dhcp/DhcpPacket;)V
-PLandroid/net/dhcp/DhcpClient$DhcpInitState;->sendPacket()Z
-PLandroid/net/dhcp/DhcpClient$DhcpReacquiringState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$DhcpReacquiringState;->enter()V
-PLandroid/net/dhcp/DhcpClient$DhcpReacquiringState;->receivePacket(Landroid/net/dhcp/DhcpPacket;)V
-PLandroid/net/dhcp/DhcpClient$DhcpReacquiringState;->sendPacket()Z
-PLandroid/net/dhcp/DhcpClient$DhcpRebindingState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$DhcpRebindingState;->enter()V
-PLandroid/net/dhcp/DhcpClient$DhcpRebindingState;->packetDestination()Ljava/net/Inet4Address;
-PLandroid/net/dhcp/DhcpClient$DhcpRebootingState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$DhcpRenewingState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$DhcpRenewingState;->packetDestination()Ljava/net/Inet4Address;
-PLandroid/net/dhcp/DhcpClient$DhcpRenewingState;->processMessage(Landroid/os/Message;)Z
-PLandroid/net/dhcp/DhcpClient$DhcpRequestingState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$DhcpRequestingState;->receivePacket(Landroid/net/dhcp/DhcpPacket;)V
-PLandroid/net/dhcp/DhcpClient$DhcpRequestingState;->sendPacket()Z
-PLandroid/net/dhcp/DhcpClient$DhcpSelectingState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$DhcpState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$DhcpState;->enter()V
-PLandroid/net/dhcp/DhcpClient$DhcpState;->exit()V
-PLandroid/net/dhcp/DhcpClient$DhcpState;->processMessage(Landroid/os/Message;)Z
-PLandroid/net/dhcp/DhcpClient$LoggingState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$LoggingState;->enter()V
-PLandroid/net/dhcp/DhcpClient$LoggingState;->exit()V
-PLandroid/net/dhcp/DhcpClient$LoggingState;->getName()Ljava/lang/String;
-PLandroid/net/dhcp/DhcpClient$LoggingState;->processMessage(Landroid/os/Message;)Z
-PLandroid/net/dhcp/DhcpClient$PacketRetransmittingState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$PacketRetransmittingState;->enter()V
-PLandroid/net/dhcp/DhcpClient$PacketRetransmittingState;->exit()V
-PLandroid/net/dhcp/DhcpClient$PacketRetransmittingState;->initTimer()V
-PLandroid/net/dhcp/DhcpClient$PacketRetransmittingState;->jitterTimer(I)I
-PLandroid/net/dhcp/DhcpClient$PacketRetransmittingState;->maybeInitTimeout()V
-PLandroid/net/dhcp/DhcpClient$PacketRetransmittingState;->processMessage(Landroid/os/Message;)Z
-PLandroid/net/dhcp/DhcpClient$PacketRetransmittingState;->scheduleKick()V
-PLandroid/net/dhcp/DhcpClient$ReceiveThread;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$ReceiveThread;->halt()V
-PLandroid/net/dhcp/DhcpClient$ReceiveThread;->run()V
-PLandroid/net/dhcp/DhcpClient$StoppedState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$StoppedState;->processMessage(Landroid/os/Message;)Z
-PLandroid/net/dhcp/DhcpClient$WaitBeforeOtherState;-><init>(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient$WaitBeforeOtherState;->enter()V
-PLandroid/net/dhcp/DhcpClient$WaitBeforeOtherState;->processMessage(Landroid/os/Message;)Z
-PLandroid/net/dhcp/DhcpClient$WaitBeforeRenewalState;-><init>(Landroid/net/dhcp/DhcpClient;Lcom/android/internal/util/State;)V
-PLandroid/net/dhcp/DhcpClient$WaitBeforeStartState;-><init>(Landroid/net/dhcp/DhcpClient;Lcom/android/internal/util/State;)V
-PLandroid/net/dhcp/DhcpClient;-><init>(Landroid/content/Context;Lcom/android/internal/util/StateMachine;Ljava/lang/String;)V
-PLandroid/net/dhcp/DhcpClient;->acceptDhcpResults(Landroid/net/DhcpResults;Ljava/lang/String;)V
-PLandroid/net/dhcp/DhcpClient;->access$000(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient;->access$100(Landroid/net/dhcp/DhcpClient;)Ljava/io/FileDescriptor;
-PLandroid/net/dhcp/DhcpClient;->access$1000(Landroid/net/dhcp/DhcpClient;)Z
-PLandroid/net/dhcp/DhcpClient;->access$1100(Landroid/net/dhcp/DhcpClient;)Z
-PLandroid/net/dhcp/DhcpClient;->access$1200(Landroid/net/dhcp/DhcpClient;)Landroid/net/dhcp/DhcpClient$ReceiveThread;
-PLandroid/net/dhcp/DhcpClient;->access$1202(Landroid/net/dhcp/DhcpClient;Landroid/net/dhcp/DhcpClient$ReceiveThread;)Landroid/net/dhcp/DhcpClient$ReceiveThread;
-PLandroid/net/dhcp/DhcpClient;->access$1400(Landroid/net/dhcp/DhcpClient;)Lcom/android/internal/util/State;
-PLandroid/net/dhcp/DhcpClient;->access$1500(Landroid/net/dhcp/DhcpClient;)Lcom/android/internal/util/WakeupMessage;
-PLandroid/net/dhcp/DhcpClient;->access$1600(Landroid/net/dhcp/DhcpClient;)Lcom/android/internal/util/WakeupMessage;
-PLandroid/net/dhcp/DhcpClient;->access$1700(Landroid/net/dhcp/DhcpClient;)Ljava/util/Random;
-PLandroid/net/dhcp/DhcpClient;->access$1800(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient;->access$1900(Landroid/net/dhcp/DhcpClient;)J
-PLandroid/net/dhcp/DhcpClient;->access$1902(Landroid/net/dhcp/DhcpClient;J)J
-PLandroid/net/dhcp/DhcpClient;->access$2000(Landroid/net/dhcp/DhcpClient;)Z
-PLandroid/net/dhcp/DhcpClient;->access$2100(Landroid/net/dhcp/DhcpClient;)Landroid/net/DhcpResults;
-PLandroid/net/dhcp/DhcpClient;->access$2102(Landroid/net/dhcp/DhcpClient;Landroid/net/DhcpResults;)Landroid/net/DhcpResults;
-PLandroid/net/dhcp/DhcpClient;->access$2200(Landroid/net/dhcp/DhcpClient;)Lcom/android/internal/util/State;
-PLandroid/net/dhcp/DhcpClient;->access$2300(Landroid/net/dhcp/DhcpClient;Ljava/net/Inet4Address;Ljava/net/Inet4Address;Ljava/net/Inet4Address;Ljava/net/Inet4Address;)Z
-PLandroid/net/dhcp/DhcpClient;->access$2400(Landroid/net/dhcp/DhcpClient;Landroid/net/DhcpResults;Ljava/lang/String;)V
-PLandroid/net/dhcp/DhcpClient;->access$2500(Landroid/net/dhcp/DhcpClient;)Lcom/android/internal/util/State;
-PLandroid/net/dhcp/DhcpClient;->access$2600(Landroid/net/dhcp/DhcpClient;)Lcom/android/internal/util/WakeupMessage;
-PLandroid/net/dhcp/DhcpClient;->access$2700(Landroid/net/dhcp/DhcpClient;)Lcom/android/internal/util/WakeupMessage;
-PLandroid/net/dhcp/DhcpClient;->access$2800(Landroid/net/dhcp/DhcpClient;)Lcom/android/internal/util/WakeupMessage;
-PLandroid/net/dhcp/DhcpClient;->access$2900(Landroid/net/dhcp/DhcpClient;)Landroid/net/DhcpResults;
-PLandroid/net/dhcp/DhcpClient;->access$300(Landroid/net/dhcp/DhcpClient;Ljava/lang/String;I)V
-PLandroid/net/dhcp/DhcpClient;->access$3000(Landroid/net/dhcp/DhcpClient;)Lcom/android/internal/util/State;
-PLandroid/net/dhcp/DhcpClient;->access$3100(Landroid/net/dhcp/DhcpClient;Ljava/net/Inet4Address;)Z
-PLandroid/net/dhcp/DhcpClient;->access$3200(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient;->access$3300(Landroid/net/dhcp/DhcpClient;)J
-PLandroid/net/dhcp/DhcpClient;->access$3302(Landroid/net/dhcp/DhcpClient;J)J
-PLandroid/net/dhcp/DhcpClient;->access$3400(Landroid/net/dhcp/DhcpClient;)Lcom/android/internal/util/State;
-PLandroid/net/dhcp/DhcpClient;->access$3600(Landroid/net/dhcp/DhcpClient;)Lcom/android/internal/util/State;
-PLandroid/net/dhcp/DhcpClient;->access$3700(Landroid/net/dhcp/DhcpClient;)Ljava/io/FileDescriptor;
-PLandroid/net/dhcp/DhcpClient;->access$3800(Ljava/io/FileDescriptor;)V
-PLandroid/net/dhcp/DhcpClient;->access$3900(Landroid/net/dhcp/DhcpClient;)Z
-PLandroid/net/dhcp/DhcpClient;->access$500(Landroid/net/dhcp/DhcpClient;)Lcom/android/internal/util/StateMachine;
-PLandroid/net/dhcp/DhcpClient;->access$600(Landroid/net/dhcp/DhcpClient;)Z
-PLandroid/net/dhcp/DhcpClient;->access$700(Landroid/net/dhcp/DhcpClient;)Lcom/android/internal/util/State;
-PLandroid/net/dhcp/DhcpClient;->access$900(Landroid/net/dhcp/DhcpClient;)V
-PLandroid/net/dhcp/DhcpClient;->clearDhcpState()V
-PLandroid/net/dhcp/DhcpClient;->closeQuietly(Ljava/io/FileDescriptor;)V
-PLandroid/net/dhcp/DhcpClient;->closeSockets()V
-PLandroid/net/dhcp/DhcpClient;->connectUdpSock(Ljava/net/Inet4Address;)Z
-PLandroid/net/dhcp/DhcpClient;->doQuit()V
-PLandroid/net/dhcp/DhcpClient;->getSecs()S
-PLandroid/net/dhcp/DhcpClient;->initInterface()Z
-PLandroid/net/dhcp/DhcpClient;->initPacketSocket()Z
-PLandroid/net/dhcp/DhcpClient;->initSockets()Z
-PLandroid/net/dhcp/DhcpClient;->initUdpSocket()Z
-PLandroid/net/dhcp/DhcpClient;->isValidPacket(Landroid/net/dhcp/DhcpPacket;)Z
-PLandroid/net/dhcp/DhcpClient;->logState(Ljava/lang/String;I)V
-PLandroid/net/dhcp/DhcpClient;->makeDhcpClient(Landroid/content/Context;Lcom/android/internal/util/StateMachine;Landroid/net/util/InterfaceParams;)Landroid/net/dhcp/DhcpClient;
-PLandroid/net/dhcp/DhcpClient;->makeWakeupMessage(Ljava/lang/String;I)Lcom/android/internal/util/WakeupMessage;
-PLandroid/net/dhcp/DhcpClient;->notifySuccess()V
-PLandroid/net/dhcp/DhcpClient;->onQuitting()V
-PLandroid/net/dhcp/DhcpClient;->registerForPreDhcpNotification()V
-PLandroid/net/dhcp/DhcpClient;->scheduleLeaseTimers()V
-PLandroid/net/dhcp/DhcpClient;->sendDiscoverPacket()Z
-PLandroid/net/dhcp/DhcpClient;->sendRequestPacket(Ljava/net/Inet4Address;Ljava/net/Inet4Address;Ljava/net/Inet4Address;Ljava/net/Inet4Address;)Z
-PLandroid/net/dhcp/DhcpClient;->setDhcpLeaseExpiry(Landroid/net/dhcp/DhcpPacket;)V
-PLandroid/net/dhcp/DhcpClient;->startNewTransaction()V
-PLandroid/net/dhcp/DhcpClient;->transmitPacket(Ljava/nio/ByteBuffer;Ljava/lang/String;ILjava/net/Inet4Address;)Z
-PLandroid/net/dhcp/DhcpDiscoverPacket;-><init>(IS[BZ)V
-PLandroid/net/dhcp/DhcpDiscoverPacket;->buildPacket(ISS)Ljava/nio/ByteBuffer;
-PLandroid/net/dhcp/DhcpDiscoverPacket;->finishPacket(Ljava/nio/ByteBuffer;)V
-PLandroid/net/dhcp/DhcpDiscoverPacket;->toString()Ljava/lang/String;
-PLandroid/net/dhcp/DhcpOfferPacket;-><init>(ISZLjava/net/Inet4Address;Ljava/net/Inet4Address;Ljava/net/Inet4Address;[B)V
-PLandroid/net/dhcp/DhcpOfferPacket;->toString()Ljava/lang/String;
-PLandroid/net/dhcp/DhcpPacket;-><init>(ISLjava/net/Inet4Address;Ljava/net/Inet4Address;Ljava/net/Inet4Address;Ljava/net/Inet4Address;[BZ)V
-PLandroid/net/dhcp/DhcpPacket;->addCommonClientTlvs(Ljava/nio/ByteBuffer;)V
-PLandroid/net/dhcp/DhcpPacket;->addTlv(Ljava/nio/ByteBuffer;BB)V
-PLandroid/net/dhcp/DhcpPacket;->addTlv(Ljava/nio/ByteBuffer;BLjava/lang/Short;)V
-PLandroid/net/dhcp/DhcpPacket;->addTlv(Ljava/nio/ByteBuffer;BLjava/lang/String;)V
-PLandroid/net/dhcp/DhcpPacket;->addTlv(Ljava/nio/ByteBuffer;BLjava/net/Inet4Address;)V
-PLandroid/net/dhcp/DhcpPacket;->addTlv(Ljava/nio/ByteBuffer;B[B)V
-PLandroid/net/dhcp/DhcpPacket;->addTlvEnd(Ljava/nio/ByteBuffer;)V
-PLandroid/net/dhcp/DhcpPacket;->buildDiscoverPacket(IIS[BZ[B)Ljava/nio/ByteBuffer;
-PLandroid/net/dhcp/DhcpPacket;->buildRequestPacket(IISLjava/net/Inet4Address;Z[BLjava/net/Inet4Address;Ljava/net/Inet4Address;[BLjava/lang/String;)Ljava/nio/ByteBuffer;
-PLandroid/net/dhcp/DhcpPacket;->checksum(Ljava/nio/ByteBuffer;III)I
-PLandroid/net/dhcp/DhcpPacket;->decodeFullPacket(Ljava/nio/ByteBuffer;I)Landroid/net/dhcp/DhcpPacket;
-PLandroid/net/dhcp/DhcpPacket;->decodeFullPacket([BII)Landroid/net/dhcp/DhcpPacket;
-PLandroid/net/dhcp/DhcpPacket;->fillInPacket(ILjava/net/Inet4Address;Ljava/net/Inet4Address;SSLjava/nio/ByteBuffer;BZ)V
-PLandroid/net/dhcp/DhcpPacket;->getClientId()[B
-PLandroid/net/dhcp/DhcpPacket;->getClientMac()[B
-PLandroid/net/dhcp/DhcpPacket;->getHostname()Ljava/lang/String;
-PLandroid/net/dhcp/DhcpPacket;->getLeaseTimeMillis()J
-PLandroid/net/dhcp/DhcpPacket;->getTransactionId()I
-PLandroid/net/dhcp/DhcpPacket;->getVendorId()Ljava/lang/String;
-PLandroid/net/dhcp/DhcpPacket;->intAbs(S)I
-PLandroid/net/dhcp/DhcpPacket;->isPacketToOrFromClient(SS)Z
-PLandroid/net/dhcp/DhcpPacket;->macToString([B)Ljava/lang/String;
-PLandroid/net/dhcp/DhcpPacket;->readAsciiString(Ljava/nio/ByteBuffer;IZ)Ljava/lang/String;
-PLandroid/net/dhcp/DhcpPacket;->readIpAddress(Ljava/nio/ByteBuffer;)Ljava/net/Inet4Address;
-PLandroid/net/dhcp/DhcpPacket;->toDhcpResults()Landroid/net/DhcpResults;
-PLandroid/net/dhcp/DhcpPacket;->toString()Ljava/lang/String;
-PLandroid/net/dhcp/DhcpRequestPacket;-><init>(ISLjava/net/Inet4Address;[BZ)V
-PLandroid/net/dhcp/DhcpRequestPacket;->buildPacket(ISS)Ljava/nio/ByteBuffer;
-PLandroid/net/dhcp/DhcpRequestPacket;->finishPacket(Ljava/nio/ByteBuffer;)V
-PLandroid/net/dhcp/DhcpRequestPacket;->toString()Ljava/lang/String;
-PLandroid/net/dns/ResolvUtil;->blockingResolveAllLocally(Landroid/net/Network;Ljava/lang/String;)[Ljava/net/InetAddress;
-PLandroid/net/dns/ResolvUtil;->blockingResolveAllLocally(Landroid/net/Network;Ljava/lang/String;I)[Ljava/net/InetAddress;
-PLandroid/net/dns/ResolvUtil;->getNetworkWithUseLocalNameserversFlag(Landroid/net/Network;)Landroid/net/Network;
-PLandroid/net/ip/-$$Lambda$IpClient$RunningState$62CnAIrZ9p4JQ9DgmmpMjXifdaw;-><init>(Landroid/net/ip/IpClient$RunningState;)V
-PLandroid/net/ip/-$$Lambda$IpReachabilityMonitor$5Sg30oRgfU2r5ogQj53SRYnnFiQ;-><init>(Landroid/net/ip/IpReachabilityMonitor;)V
-PLandroid/net/ip/-$$Lambda$IpReachabilityMonitor$5Sg30oRgfU2r5ogQj53SRYnnFiQ;->accept(Landroid/net/ip/IpNeighborMonitor$NeighborEvent;)V
-PLandroid/net/ip/ConnectivityPacketTracker$PacketListener;-><init>(Landroid/net/ip/ConnectivityPacketTracker;Landroid/os/Handler;Landroid/net/util/InterfaceParams;)V
-PLandroid/net/ip/ConnectivityPacketTracker$PacketListener;->addLogEntry(Ljava/lang/String;)V
-PLandroid/net/ip/ConnectivityPacketTracker$PacketListener;->createFd()Ljava/io/FileDescriptor;
-PLandroid/net/ip/ConnectivityPacketTracker$PacketListener;->handlePacket([BI)V
-PLandroid/net/ip/ConnectivityPacketTracker$PacketListener;->onStart()V
-PLandroid/net/ip/ConnectivityPacketTracker$PacketListener;->onStop()V
-PLandroid/net/ip/ConnectivityPacketTracker;-><init>(Landroid/os/Handler;Landroid/net/util/InterfaceParams;Landroid/util/LocalLog;)V
-PLandroid/net/ip/ConnectivityPacketTracker;->access$000(Landroid/net/ip/ConnectivityPacketTracker;)Ljava/lang/String;
-PLandroid/net/ip/ConnectivityPacketTracker;->access$100(Landroid/net/ip/ConnectivityPacketTracker;)Landroid/util/LocalLog;
-PLandroid/net/ip/ConnectivityPacketTracker;->access$200(Landroid/net/ip/ConnectivityPacketTracker;)Z
-PLandroid/net/ip/ConnectivityPacketTracker;->start(Ljava/lang/String;)V
-PLandroid/net/ip/ConnectivityPacketTracker;->stop()V
-PLandroid/net/ip/InterfaceController;-><init>(Ljava/lang/String;Landroid/os/INetworkManagementService;Landroid/net/INetd;Landroid/net/util/SharedLog;)V
-PLandroid/net/ip/InterfaceController;->clearAllAddresses()Z
-PLandroid/net/ip/InterfaceController;->clearIPv4Address()Z
-PLandroid/net/ip/InterfaceController;->disableIPv6()Z
-PLandroid/net/ip/InterfaceController;->enableIPv6()Z
-PLandroid/net/ip/InterfaceController;->setIPv4Address(Landroid/net/LinkAddress;)Z
-PLandroid/net/ip/InterfaceController;->setIPv6AddrGenModeIfSupported(I)Z
-PLandroid/net/ip/InterfaceController;->setIPv6PrivacyExtensions(Z)Z
-PLandroid/net/ip/IpClient$2;-><init>(Landroid/net/ip/IpClient;)V
-PLandroid/net/ip/IpClient$2;->update()V
-PLandroid/net/ip/IpClient$3;-><init>(Landroid/net/ip/IpClient;Ljava/lang/String;Lcom/android/server/net/NetlinkTracker$Callback;)V
-PLandroid/net/ip/IpClient$4;-><init>(Landroid/net/ip/IpClient;)V
-PLandroid/net/ip/IpClient$Callback;-><init>()V
-PLandroid/net/ip/IpClient$Dependencies;-><init>()V
-PLandroid/net/ip/IpClient$Dependencies;->getInterfaceParams(Ljava/lang/String;)Landroid/net/util/InterfaceParams;
-PLandroid/net/ip/IpClient$Dependencies;->getNMS()Landroid/os/INetworkManagementService;
-PLandroid/net/ip/IpClient$Dependencies;->getNetd()Landroid/net/INetd;
-PLandroid/net/ip/IpClient$InitialConfiguration;->copy(Landroid/net/ip/IpClient$InitialConfiguration;)Landroid/net/ip/IpClient$InitialConfiguration;
-PLandroid/net/ip/IpClient$LoggingCallbackWrapper;-><init>(Landroid/net/ip/IpClient;Landroid/net/ip/IpClient$Callback;)V
-PLandroid/net/ip/IpClient$LoggingCallbackWrapper;->installPacketFilter([B)V
-PLandroid/net/ip/IpClient$LoggingCallbackWrapper;->log(Ljava/lang/String;)V
-PLandroid/net/ip/IpClient$LoggingCallbackWrapper;->onLinkPropertiesChange(Landroid/net/LinkProperties;)V
-PLandroid/net/ip/IpClient$LoggingCallbackWrapper;->onNewDhcpResults(Landroid/net/DhcpResults;)V
-PLandroid/net/ip/IpClient$LoggingCallbackWrapper;->onPostDhcpAction()V
-PLandroid/net/ip/IpClient$LoggingCallbackWrapper;->onPreDhcpAction()V
-PLandroid/net/ip/IpClient$LoggingCallbackWrapper;->onProvisioningSuccess(Landroid/net/LinkProperties;)V
-PLandroid/net/ip/IpClient$LoggingCallbackWrapper;->setNeighborDiscoveryOffload(Z)V
-PLandroid/net/ip/IpClient$MessageHandlingLogger;-><init>()V
-PLandroid/net/ip/IpClient$MessageHandlingLogger;-><init>(Landroid/net/ip/IpClient$1;)V
-PLandroid/net/ip/IpClient$MessageHandlingLogger;->handled(Lcom/android/internal/util/State;Lcom/android/internal/util/IState;)V
-PLandroid/net/ip/IpClient$MessageHandlingLogger;->reset()V
-PLandroid/net/ip/IpClient$MessageHandlingLogger;->toString()Ljava/lang/String;
-PLandroid/net/ip/IpClient$ProvisioningConfiguration$Builder;-><init>()V
-PLandroid/net/ip/IpClient$ProvisioningConfiguration$Builder;->build()Landroid/net/ip/IpClient$ProvisioningConfiguration;
-PLandroid/net/ip/IpClient$ProvisioningConfiguration$Builder;->withApfCapabilities(Landroid/net/apf/ApfCapabilities;)Landroid/net/ip/IpClient$ProvisioningConfiguration$Builder;
-PLandroid/net/ip/IpClient$ProvisioningConfiguration$Builder;->withDisplayName(Ljava/lang/String;)Landroid/net/ip/IpClient$ProvisioningConfiguration$Builder;
-PLandroid/net/ip/IpClient$ProvisioningConfiguration$Builder;->withNetwork(Landroid/net/Network;)Landroid/net/ip/IpClient$ProvisioningConfiguration$Builder;
-PLandroid/net/ip/IpClient$ProvisioningConfiguration$Builder;->withPreDhcpAction()Landroid/net/ip/IpClient$ProvisioningConfiguration$Builder;
-PLandroid/net/ip/IpClient$ProvisioningConfiguration$Builder;->withRandomMacAddress()Landroid/net/ip/IpClient$ProvisioningConfiguration$Builder;
-PLandroid/net/ip/IpClient$ProvisioningConfiguration;-><init>()V
-PLandroid/net/ip/IpClient$ProvisioningConfiguration;-><init>(Landroid/net/ip/IpClient$ProvisioningConfiguration;)V
-PLandroid/net/ip/IpClient$ProvisioningConfiguration;->isValid()Z
-PLandroid/net/ip/IpClient$ProvisioningConfiguration;->toString()Ljava/lang/String;
-PLandroid/net/ip/IpClient$RunningState;-><init>(Landroid/net/ip/IpClient;)V
-PLandroid/net/ip/IpClient$RunningState;->createPacketTracker()Landroid/net/ip/ConnectivityPacketTracker;
-PLandroid/net/ip/IpClient$RunningState;->ensureDhcpAction()V
-PLandroid/net/ip/IpClient$RunningState;->enter()V
-PLandroid/net/ip/IpClient$RunningState;->exit()V
-PLandroid/net/ip/IpClient$RunningState;->processMessage(Landroid/os/Message;)Z
-PLandroid/net/ip/IpClient$RunningState;->stopDhcpAction()V
-PLandroid/net/ip/IpClient$StartedState;-><init>(Landroid/net/ip/IpClient;)V
-PLandroid/net/ip/IpClient$StartedState;->enter()V
-PLandroid/net/ip/IpClient$StartedState;->exit()V
-PLandroid/net/ip/IpClient$StartedState;->readyToProceed()Z
-PLandroid/net/ip/IpClient$StoppedState;-><init>(Landroid/net/ip/IpClient;)V
-PLandroid/net/ip/IpClient$StoppedState;->enter()V
-PLandroid/net/ip/IpClient$StoppedState;->processMessage(Landroid/os/Message;)Z
-PLandroid/net/ip/IpClient$StoppingState;-><init>(Landroid/net/ip/IpClient;)V
-PLandroid/net/ip/IpClient$StoppingState;->enter()V
-PLandroid/net/ip/IpClient$StoppingState;->processMessage(Landroid/os/Message;)Z
-PLandroid/net/ip/IpClient;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/net/ip/IpClient$Callback;)V
-PLandroid/net/ip/IpClient;-><init>(Landroid/content/Context;Ljava/lang/String;Landroid/net/ip/IpClient$Callback;Landroid/net/ip/IpClient$Dependencies;)V
-PLandroid/net/ip/IpClient;->access$000(Landroid/net/ip/IpClient;)Landroid/net/util/SharedLog;
-PLandroid/net/ip/IpClient;->access$1000(Landroid/net/ip/IpClient;)Landroid/net/ip/IpClient$ProvisioningConfiguration;
-PLandroid/net/ip/IpClient;->access$1002(Landroid/net/ip/IpClient;Landroid/net/ip/IpClient$ProvisioningConfiguration;)Landroid/net/ip/IpClient$ProvisioningConfiguration;
-PLandroid/net/ip/IpClient;->access$1100(Landroid/net/ip/IpClient;)Lcom/android/internal/util/State;
-PLandroid/net/ip/IpClient;->access$1200(Landroid/net/ip/IpClient;Z)Z
-PLandroid/net/ip/IpClient;->access$1302(Landroid/net/ip/IpClient;Ljava/lang/String;)Ljava/lang/String;
-PLandroid/net/ip/IpClient;->access$1402(Landroid/net/ip/IpClient;Landroid/net/ProxyInfo;)Landroid/net/ProxyInfo;
-PLandroid/net/ip/IpClient;->access$1500(Landroid/net/ip/IpClient;)Z
-PLandroid/net/ip/IpClient;->access$1502(Landroid/net/ip/IpClient;Z)Z
-PLandroid/net/ip/IpClient;->access$1700(Landroid/net/ip/IpClient;)Landroid/net/ip/IpClient$MessageHandlingLogger;
-PLandroid/net/ip/IpClient;->access$1800(Landroid/net/ip/IpClient;)Landroid/net/dhcp/DhcpClient;
-PLandroid/net/ip/IpClient;->access$1802(Landroid/net/ip/IpClient;Landroid/net/dhcp/DhcpClient;)Landroid/net/dhcp/DhcpClient;
-PLandroid/net/ip/IpClient;->access$1900(Landroid/net/ip/IpClient;)Lcom/android/internal/util/State;
-PLandroid/net/ip/IpClient;->access$2000(Landroid/net/ip/IpClient;)Landroid/net/ip/InterfaceController;
-PLandroid/net/ip/IpClient;->access$2100(Landroid/net/ip/IpClient;)Lcom/android/internal/util/WakeupMessage;
-PLandroid/net/ip/IpClient;->access$2200(Landroid/net/ip/IpClient;)Lcom/android/internal/util/State;
-PLandroid/net/ip/IpClient;->access$2300(Landroid/net/ip/IpClient;)Lcom/android/internal/util/State;
-PLandroid/net/ip/IpClient;->access$2500(Landroid/net/ip/IpClient;)Landroid/net/LinkProperties;
-PLandroid/net/ip/IpClient;->access$2600(Landroid/net/ip/IpClient;)Landroid/content/Context;
-PLandroid/net/ip/IpClient;->access$2700(Landroid/net/ip/IpClient;)Landroid/net/apf/ApfFilter;
-PLandroid/net/ip/IpClient;->access$2702(Landroid/net/ip/IpClient;Landroid/net/apf/ApfFilter;)Landroid/net/apf/ApfFilter;
-PLandroid/net/ip/IpClient;->access$2800(Landroid/net/ip/IpClient;)Landroid/net/util/InterfaceParams;
-PLandroid/net/ip/IpClient;->access$2900(Landroid/net/ip/IpClient;)Z
-PLandroid/net/ip/IpClient;->access$3100(Landroid/net/ip/IpClient;)Z
-PLandroid/net/ip/IpClient;->access$3300(Landroid/net/ip/IpClient;)Landroid/net/util/MultinetworkPolicyTracker;
-PLandroid/net/ip/IpClient;->access$3302(Landroid/net/ip/IpClient;Landroid/net/util/MultinetworkPolicyTracker;)Landroid/net/util/MultinetworkPolicyTracker;
-PLandroid/net/ip/IpClient;->access$3400(Landroid/net/ip/IpClient;)Z
-PLandroid/net/ip/IpClient;->access$3500(Landroid/net/ip/IpClient;)Landroid/net/ip/IpReachabilityMonitor;
-PLandroid/net/ip/IpClient;->access$3502(Landroid/net/ip/IpClient;Landroid/net/ip/IpReachabilityMonitor;)Landroid/net/ip/IpReachabilityMonitor;
-PLandroid/net/ip/IpClient;->access$3600(Landroid/net/ip/IpClient;)Landroid/util/LocalLog;
-PLandroid/net/ip/IpClient;->access$3700(Landroid/net/ip/IpClient;)Lcom/android/internal/util/WakeupMessage;
-PLandroid/net/ip/IpClient;->access$4000(Landroid/net/ip/IpClient;Landroid/net/DhcpResults;)V
-PLandroid/net/ip/IpClient;->access$500(Landroid/net/ip/IpClient;)V
-PLandroid/net/ip/IpClient;->access$600(Landroid/net/ip/IpClient;)V
-PLandroid/net/ip/IpClient;->access$700(Landroid/net/ip/IpClient;)J
-PLandroid/net/ip/IpClient;->access$702(Landroid/net/ip/IpClient;J)J
-PLandroid/net/ip/IpClient;->access$800(Landroid/net/ip/IpClient;I)V
-PLandroid/net/ip/IpClient;->addAllReachableDnsServers(Landroid/net/LinkProperties;Ljava/lang/Iterable;)V
-PLandroid/net/ip/IpClient;->assembleLinkProperties()Landroid/net/LinkProperties;
-PLandroid/net/ip/IpClient;->buildProvisioningConfiguration()Landroid/net/ip/IpClient$ProvisioningConfiguration$Builder;
-PLandroid/net/ip/IpClient;->compareProvisioning(Landroid/net/LinkProperties;Landroid/net/LinkProperties;)Landroid/net/LinkProperties$ProvisioningChange;
-PLandroid/net/ip/IpClient;->completedPreDhcpAction()V
-PLandroid/net/ip/IpClient;->configureAndStartStateMachine()V
-PLandroid/net/ip/IpClient;->confirmConfiguration()V
-PLandroid/net/ip/IpClient;->dispatchCallback(Landroid/net/LinkProperties$ProvisioningChange;Landroid/net/LinkProperties;)V
-PLandroid/net/ip/IpClient;->getLogRecString(Landroid/os/Message;)Ljava/lang/String;
-PLandroid/net/ip/IpClient;->getWhatToString(I)Ljava/lang/String;
-PLandroid/net/ip/IpClient;->handleIPv4Success(Landroid/net/DhcpResults;)V
-PLandroid/net/ip/IpClient;->handleLinkPropertiesUpdate(Z)Z
-PLandroid/net/ip/IpClient;->isProvisioned(Landroid/net/LinkProperties;Landroid/net/ip/IpClient$InitialConfiguration;)Z
-PLandroid/net/ip/IpClient;->recordLogRec(Landroid/os/Message;)Z
-PLandroid/net/ip/IpClient;->recordMetric(I)V
-PLandroid/net/ip/IpClient;->resetLinkProperties()V
-PLandroid/net/ip/IpClient;->setHttpProxy(Landroid/net/ProxyInfo;)V
-PLandroid/net/ip/IpClient;->setLinkProperties(Landroid/net/LinkProperties;)Landroid/net/LinkProperties$ProvisioningChange;
-PLandroid/net/ip/IpClient;->setMulticastFilter(Z)V
-PLandroid/net/ip/IpClient;->setTcpBufferSizes(Ljava/lang/String;)V
-PLandroid/net/ip/IpClient;->startIPv4()Z
-PLandroid/net/ip/IpClient;->startIPv6()Z
-PLandroid/net/ip/IpClient;->startIpReachabilityMonitor()Z
-PLandroid/net/ip/IpClient;->startProvisioning(Landroid/net/ip/IpClient$ProvisioningConfiguration;)V
-PLandroid/net/ip/IpClient;->startStateMachineUpdaters()V
-PLandroid/net/ip/IpClient;->stop()V
-PLandroid/net/ip/IpClient;->stopAllIP()V
-PLandroid/net/ip/IpNeighborMonitor$NeighborEvent;-><init>(JSILjava/net/InetAddress;SLandroid/net/MacAddress;)V
-PLandroid/net/ip/IpNeighborMonitor;-><init>(Landroid/os/Handler;Landroid/net/util/SharedLog;Landroid/net/ip/IpNeighborMonitor$NeighborEventConsumer;)V
-PLandroid/net/ip/IpNeighborMonitor;->createFd()Ljava/io/FileDescriptor;
-PLandroid/net/ip/IpNeighborMonitor;->evaluateRtNetlinkNeighborMessage(Landroid/net/netlink/RtNetlinkNeighborMessage;J)V
-PLandroid/net/ip/IpNeighborMonitor;->getMacAddress([B)Landroid/net/MacAddress;
-PLandroid/net/ip/IpNeighborMonitor;->parseNetlinkMessageBuffer(Ljava/nio/ByteBuffer;J)V
-PLandroid/net/ip/IpNeighborMonitor;->startKernelNeighborProbe(ILjava/net/InetAddress;)I
-PLandroid/net/ip/IpReachabilityMonitor$Dependencies$1;-><init>(Landroid/os/PowerManager$WakeLock;)V
-PLandroid/net/ip/IpReachabilityMonitor$Dependencies$1;->acquireWakeLock(J)V
-PLandroid/net/ip/IpReachabilityMonitor$Dependencies;->makeDefault(Landroid/content/Context;Ljava/lang/String;)Landroid/net/ip/IpReachabilityMonitor$Dependencies;
-PLandroid/net/ip/IpReachabilityMonitor;-><init>(Landroid/content/Context;Landroid/net/util/InterfaceParams;Landroid/os/Handler;Landroid/net/util/SharedLog;Landroid/net/ip/IpReachabilityMonitor$Callback;Landroid/net/util/MultinetworkPolicyTracker;)V
-PLandroid/net/ip/IpReachabilityMonitor;-><init>(Landroid/net/util/InterfaceParams;Landroid/os/Handler;Landroid/net/util/SharedLog;Landroid/net/ip/IpReachabilityMonitor$Callback;Landroid/net/util/MultinetworkPolicyTracker;Landroid/net/ip/IpReachabilityMonitor$Dependencies;)V
-PLandroid/net/ip/IpReachabilityMonitor;->clearLinkProperties()V
-PLandroid/net/ip/IpReachabilityMonitor;->getProbeWakeLockDuration()J
-PLandroid/net/ip/IpReachabilityMonitor;->isOnLink(Ljava/util/List;Ljava/net/InetAddress;)Z
-PLandroid/net/ip/IpReachabilityMonitor;->lambda$new$0(Landroid/net/ip/IpReachabilityMonitor;Landroid/net/ip/IpNeighborMonitor$NeighborEvent;)V
-PLandroid/net/ip/IpReachabilityMonitor;->logEvent(II)V
-PLandroid/net/ip/IpReachabilityMonitor;->probeAll()V
-PLandroid/net/ip/IpReachabilityMonitor;->stop()V
-PLandroid/net/ip/IpReachabilityMonitor;->updateLinkProperties(Landroid/net/LinkProperties;)V
-PLandroid/net/metrics/INetdEventListener$Stub;-><init>()V
-PLandroid/net/metrics/INetdEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLandroid/net/netlink/NetlinkErrorMessage;-><init>(Landroid/net/netlink/StructNlMsgHdr;)V
-PLandroid/net/netlink/NetlinkErrorMessage;->getNlMsgError()Landroid/net/netlink/StructNlMsgErr;
-PLandroid/net/netlink/NetlinkErrorMessage;->parse(Landroid/net/netlink/StructNlMsgHdr;Ljava/nio/ByteBuffer;)Landroid/net/netlink/NetlinkErrorMessage;
-PLandroid/net/netlink/NetlinkMessage;-><init>(Landroid/net/netlink/StructNlMsgHdr;)V
-PLandroid/net/netlink/NetlinkMessage;->getHeader()Landroid/net/netlink/StructNlMsgHdr;
-PLandroid/net/netlink/NetlinkMessage;->parse(Ljava/nio/ByteBuffer;)Landroid/net/netlink/NetlinkMessage;
-PLandroid/net/netlink/NetlinkSocket;->checkTimeout(J)V
-PLandroid/net/netlink/NetlinkSocket;->connectToKernel(Ljava/io/FileDescriptor;)V
-PLandroid/net/netlink/NetlinkSocket;->forProto(I)Ljava/io/FileDescriptor;
-PLandroid/net/netlink/NetlinkSocket;->recvMessage(Ljava/io/FileDescriptor;IJ)Ljava/nio/ByteBuffer;
-PLandroid/net/netlink/NetlinkSocket;->sendMessage(Ljava/io/FileDescriptor;[BIIJ)I
-PLandroid/net/netlink/NetlinkSocket;->sendOneShotKernelMessage(I[B)V
-PLandroid/net/netlink/RtNetlinkNeighborMessage;-><init>(Landroid/net/netlink/StructNlMsgHdr;)V
-PLandroid/net/netlink/RtNetlinkNeighborMessage;->getDestination()Ljava/net/InetAddress;
-PLandroid/net/netlink/RtNetlinkNeighborMessage;->getLinkLayerAddress()[B
-PLandroid/net/netlink/RtNetlinkNeighborMessage;->getNdHeader()Landroid/net/netlink/StructNdMsg;
-PLandroid/net/netlink/RtNetlinkNeighborMessage;->getRequiredSpace()I
-PLandroid/net/netlink/RtNetlinkNeighborMessage;->newNewNeighborMessage(ILjava/net/InetAddress;SI[B)[B
-PLandroid/net/netlink/RtNetlinkNeighborMessage;->pack(Ljava/nio/ByteBuffer;)V
-PLandroid/net/netlink/RtNetlinkNeighborMessage;->packNlAttr(S[BLjava/nio/ByteBuffer;)V
-PLandroid/net/netlink/RtNetlinkNeighborMessage;->parse(Landroid/net/netlink/StructNlMsgHdr;Ljava/nio/ByteBuffer;)Landroid/net/netlink/RtNetlinkNeighborMessage;
-PLandroid/net/netlink/StructNdMsg;-><init>()V
-PLandroid/net/netlink/StructNdMsg;->hasAvailableSpace(Ljava/nio/ByteBuffer;)Z
-PLandroid/net/netlink/StructNdMsg;->pack(Ljava/nio/ByteBuffer;)V
-PLandroid/net/netlink/StructNdMsg;->parse(Ljava/nio/ByteBuffer;)Landroid/net/netlink/StructNdMsg;
-PLandroid/net/netlink/StructNdaCacheInfo;-><init>()V
-PLandroid/net/netlink/StructNdaCacheInfo;->hasAvailableSpace(Ljava/nio/ByteBuffer;)Z
-PLandroid/net/netlink/StructNdaCacheInfo;->parse(Ljava/nio/ByteBuffer;)Landroid/net/netlink/StructNdaCacheInfo;
-PLandroid/net/netlink/StructNlAttr;-><init>()V
-PLandroid/net/netlink/StructNlAttr;->getValueAsByteBuffer()Ljava/nio/ByteBuffer;
-PLandroid/net/netlink/StructNlAttr;->getValueAsInetAddress()Ljava/net/InetAddress;
-PLandroid/net/netlink/StructNlAttr;->getValueAsInt(I)I
-PLandroid/net/netlink/StructNlAttr;->pack(Ljava/nio/ByteBuffer;)V
-PLandroid/net/netlink/StructNlAttr;->parse(Ljava/nio/ByteBuffer;)Landroid/net/netlink/StructNlAttr;
-PLandroid/net/netlink/StructNlMsgErr;-><init>()V
-PLandroid/net/netlink/StructNlMsgErr;->hasAvailableSpace(Ljava/nio/ByteBuffer;)Z
-PLandroid/net/netlink/StructNlMsgErr;->parse(Ljava/nio/ByteBuffer;)Landroid/net/netlink/StructNlMsgErr;
-PLandroid/net/netlink/StructNlMsgHdr;-><init>()V
-PLandroid/net/netlink/StructNlMsgHdr;->hasAvailableSpace(Ljava/nio/ByteBuffer;)Z
-PLandroid/net/netlink/StructNlMsgHdr;->pack(Ljava/nio/ByteBuffer;)V
-PLandroid/net/netlink/StructNlMsgHdr;->parse(Ljava/nio/ByteBuffer;)Landroid/net/netlink/StructNlMsgHdr;
-PLandroid/net/util/-$$Lambda$MultinetworkPolicyTracker$0siHK6f4lHJz8hbdHbT6G4Kp-V4;-><init>(Landroid/net/util/MultinetworkPolicyTracker;Ljava/lang/Runnable;)V
-PLandroid/net/util/-$$Lambda$MultinetworkPolicyTracker$0siHK6f4lHJz8hbdHbT6G4Kp-V4;->run()V
-PLandroid/net/util/ConnectivityPacketSummary;-><init>(Landroid/net/MacAddress;[BI)V
-PLandroid/net/util/ConnectivityPacketSummary;->getIPv4AddressString(Ljava/nio/ByteBuffer;)Ljava/lang/String;
-PLandroid/net/util/ConnectivityPacketSummary;->getIPv6AddressString(Ljava/nio/ByteBuffer;)Ljava/lang/String;
-PLandroid/net/util/ConnectivityPacketSummary;->getIpAddressString(Ljava/nio/ByteBuffer;I)Ljava/lang/String;
-PLandroid/net/util/ConnectivityPacketSummary;->parseARP(Ljava/util/StringJoiner;)V
-PLandroid/net/util/ConnectivityPacketSummary;->parseDHCPv4(Ljava/util/StringJoiner;)V
-PLandroid/net/util/ConnectivityPacketSummary;->parseEther(Ljava/util/StringJoiner;)V
-PLandroid/net/util/ConnectivityPacketSummary;->parseICMPv6(Ljava/util/StringJoiner;)V
-PLandroid/net/util/ConnectivityPacketSummary;->parseICMPv6NeighborDiscoveryOptions(Ljava/util/StringJoiner;)V
-PLandroid/net/util/ConnectivityPacketSummary;->parseICMPv6NeighborMessage(Ljava/util/StringJoiner;)V
-PLandroid/net/util/ConnectivityPacketSummary;->parseICMPv6RouterAdvertisement(Ljava/util/StringJoiner;)V
-PLandroid/net/util/ConnectivityPacketSummary;->parseICMPv6RouterSolicitation(Ljava/util/StringJoiner;)V
-PLandroid/net/util/ConnectivityPacketSummary;->parseIPv4(Ljava/util/StringJoiner;)V
-PLandroid/net/util/ConnectivityPacketSummary;->parseIPv6(Ljava/util/StringJoiner;)V
-PLandroid/net/util/ConnectivityPacketSummary;->parseUDP(Ljava/util/StringJoiner;)V
-PLandroid/net/util/ConnectivityPacketSummary;->summarize(Landroid/net/MacAddress;[BI)Ljava/lang/String;
-PLandroid/net/util/ConnectivityPacketSummary;->toString()Ljava/lang/String;
-PLandroid/net/util/InterfaceParams;-><init>(Ljava/lang/String;ILandroid/net/MacAddress;I)V
-PLandroid/net/util/InterfaceParams;->getByName(Ljava/lang/String;)Landroid/net/util/InterfaceParams;
-PLandroid/net/util/InterfaceParams;->getMacAddress(Ljava/net/NetworkInterface;)Landroid/net/MacAddress;
-PLandroid/net/util/InterfaceParams;->getNetworkInterfaceByName(Ljava/lang/String;)Ljava/net/NetworkInterface;
-PLandroid/net/util/MultinetworkPolicyTracker$1;-><init>(Landroid/net/util/MultinetworkPolicyTracker;)V
-PLandroid/net/util/MultinetworkPolicyTracker$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLandroid/net/util/MultinetworkPolicyTracker$SettingObserver;-><init>(Landroid/net/util/MultinetworkPolicyTracker;)V
-PLandroid/net/util/MultinetworkPolicyTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/Runnable;)V
-PLandroid/net/util/MultinetworkPolicyTracker;->configMeteredMultipathPreference()I
-PLandroid/net/util/MultinetworkPolicyTracker;->configRestrictsAvoidBadWifi()Z
-PLandroid/net/util/MultinetworkPolicyTracker;->getAvoidBadWifi()Z
-PLandroid/net/util/MultinetworkPolicyTracker;->getAvoidBadWifiSetting()Ljava/lang/String;
-PLandroid/net/util/MultinetworkPolicyTracker;->lambda$new$0(Landroid/net/util/MultinetworkPolicyTracker;Ljava/lang/Runnable;)V
-PLandroid/net/util/MultinetworkPolicyTracker;->reevaluate()V
-PLandroid/net/util/MultinetworkPolicyTracker;->shutdown()V
-PLandroid/net/util/MultinetworkPolicyTracker;->start()V
-PLandroid/net/util/MultinetworkPolicyTracker;->updateAvoidBadWifi()Z
-PLandroid/net/util/MultinetworkPolicyTracker;->updateMeteredMultipathPreference()V
-PLandroid/net/util/NetdService;->get()Landroid/net/INetd;
-PLandroid/net/util/NetdService;->get(J)Landroid/net/INetd;
-PLandroid/net/util/NetdService;->getInstance()Landroid/net/INetd;
-PLandroid/net/util/NetworkConstants;->asByte(I)B
-PLandroid/net/util/NetworkConstants;->asString(I)Ljava/lang/String;
-PLandroid/net/util/NetworkConstants;->asUint(B)I
-PLandroid/net/util/NetworkConstants;->asUint(S)I
-PLandroid/net/util/PacketReader$1;-><init>(Landroid/net/util/PacketReader;)V
-PLandroid/net/util/PacketReader$1;->onFileDescriptorEvents(Ljava/io/FileDescriptor;I)I
-PLandroid/net/util/PacketReader;-><init>(Landroid/os/Handler;I)V
-PLandroid/net/util/PacketReader;->access$000(Landroid/net/util/PacketReader;)Z
-PLandroid/net/util/PacketReader;->access$100(Landroid/net/util/PacketReader;)Z
-PLandroid/net/util/PacketReader;->closeFd(Ljava/io/FileDescriptor;)V
-PLandroid/net/util/PacketReader;->createAndRegisterFd()V
-PLandroid/net/util/PacketReader;->handleInput()Z
-PLandroid/net/util/PacketReader;->onCorrectThread()Z
-PLandroid/net/util/PacketReader;->onStart()V
-PLandroid/net/util/PacketReader;->onStop()V
-PLandroid/net/util/PacketReader;->readPacket(Ljava/io/FileDescriptor;[B)I
-PLandroid/net/util/PacketReader;->start()V
-PLandroid/net/util/PacketReader;->stop()V
-PLandroid/net/util/PacketReader;->unregisterAndDestroyFd()V
-PLandroid/net/util/PrefixUtils;->addNonForwardablePrefixes(Ljava/util/Set;)V
-PLandroid/net/util/PrefixUtils;->pfx(Ljava/lang/String;)Landroid/net/IpPrefix;
-PLandroid/net/util/SharedLog$Category;-><init>(Ljava/lang/String;I)V
-PLandroid/net/util/SharedLog;-><init>(ILjava/lang/String;)V
-PLandroid/net/util/SharedLog;-><init>(Landroid/util/LocalLog;Ljava/lang/String;Ljava/lang/String;)V
-PLandroid/net/util/SharedLog;-><init>(Ljava/lang/String;)V
-PLandroid/net/util/SharedLog;->forSubComponent(Ljava/lang/String;)Landroid/net/util/SharedLog;
-PLandroid/net/util/SharedLog;->isRootLogInstance()Z
-PLandroid/net/util/SharedLog;->log(Ljava/lang/String;)V
-PLandroid/net/util/SharedLog;->logLine(Landroid/net/util/SharedLog$Category;Ljava/lang/String;)Ljava/lang/String;
-PLandroid/net/util/SharedLog;->mark(Ljava/lang/String;)V
-PLandroid/net/util/SharedLog;->record(Landroid/net/util/SharedLog$Category;Ljava/lang/String;)Ljava/lang/String;
-PLandroid/net/util/Stopwatch;-><init>()V
-PLandroid/net/util/Stopwatch;->isRunning()Z
-PLandroid/net/util/Stopwatch;->isStarted()Z
-PLandroid/net/util/Stopwatch;->isStopped()Z
-PLandroid/net/util/Stopwatch;->reset()V
-PLandroid/net/util/Stopwatch;->start()Landroid/net/util/Stopwatch;
-PLandroid/net/util/Stopwatch;->stop()J
-PLandroid/net/util/VersionedBroadcastListener$Receiver;-><init>(Ljava/lang/String;Ljava/util/concurrent/atomic/AtomicInteger;Ljava/util/function/Consumer;)V
+PLandroid/hardware/wifi/V1_0/IWifiChip$ChipDebugInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->enableDebugErrorAlerts(Z)Landroid/hardware/wifi/V1_0/WifiStatus;
+PLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->forceDumpToDebugRingBuffer(Ljava/lang/String;)Landroid/hardware/wifi/V1_0/WifiStatus;
+PLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->getDebugRingBuffersStatus(Landroid/hardware/wifi/V1_0/IWifiChip$getDebugRingBuffersStatusCallback;)V
+PLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->requestChipDebugInfo(Landroid/hardware/wifi/V1_0/IWifiChip$requestChipDebugInfoCallback;)V
+PLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->startLoggingToDebugRingBuffer(Ljava/lang/String;III)Landroid/hardware/wifi/V1_0/WifiStatus;
+PLandroid/hardware/wifi/V1_0/IWifiRttController$Proxy;->rangeRequest(ILjava/util/ArrayList;)Landroid/hardware/wifi/V1_0/WifiStatus;
+PLandroid/hardware/wifi/V1_0/IWifiRttControllerEventCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+PLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->asBinder()Landroid/os/IHwBinder;
+PLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->configureRoaming(Landroid/hardware/wifi/V1_0/StaRoamingConfig;)Landroid/hardware/wifi/V1_0/WifiStatus;
+PLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->enableNdOffload(Z)Landroid/hardware/wifi/V1_0/WifiStatus;
+PLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->getApfPacketFilterCapabilities(Landroid/hardware/wifi/V1_0/IWifiStaIface$getApfPacketFilterCapabilitiesCallback;)V
+PLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->getCapabilities(Landroid/hardware/wifi/V1_0/IWifiStaIface$getCapabilitiesCallback;)V
+PLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->getDebugRxPacketFates(Landroid/hardware/wifi/V1_0/IWifiStaIface$getDebugRxPacketFatesCallback;)V
+PLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->getDebugTxPacketFates(Landroid/hardware/wifi/V1_0/IWifiStaIface$getDebugTxPacketFatesCallback;)V
+PLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->getRoamingCapabilities(Landroid/hardware/wifi/V1_0/IWifiStaIface$getRoamingCapabilitiesCallback;)V
+PLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->installApfPacketFilter(ILjava/util/ArrayList;)Landroid/hardware/wifi/V1_0/WifiStatus;
+PLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->setScanningMacOui([B)Landroid/hardware/wifi/V1_0/WifiStatus;
+PLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->startDebugPacketFateMonitoring()Landroid/hardware/wifi/V1_0/WifiStatus;
+PLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->startSendingKeepAlivePackets(ILjava/util/ArrayList;S[B[BI)Landroid/hardware/wifi/V1_0/WifiStatus;
+PLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->stopRssiMonitoring(I)Landroid/hardware/wifi/V1_0/WifiStatus;
+PLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->stopSendingKeepAlivePackets(I)Landroid/hardware/wifi/V1_0/WifiStatus;
+PLandroid/hardware/wifi/V1_0/RttConfig;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_0/RttConfig;->writeVectorToParcel(Landroid/os/HwParcel;Ljava/util/ArrayList;)V
+PLandroid/hardware/wifi/V1_0/RttResult;-><init>()V
+PLandroid/hardware/wifi/V1_0/RttResult;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_0/RttResult;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
+PLandroid/hardware/wifi/V1_0/StaLinkLayerIfacePacketStats;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_0/StaLinkLayerIfaceStats;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_0/StaLinkLayerRadioStats;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_0/StaRoamingConfig;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_0/WifiBand;->toString(I)Ljava/lang/String;
+PLandroid/hardware/wifi/V1_0/WifiChannelInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_0/WifiChannelInfo;->writeEmbeddedToBlob(Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_0/WifiDebugPacketFateFrameInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_0/WifiDebugRingBufferStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_0/WifiDebugRingBufferStatus;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
+PLandroid/hardware/wifi/V1_0/WifiDebugRxPacketFateReport;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
+PLandroid/hardware/wifi/V1_0/WifiDebugTxPacketFateReport;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
+PLandroid/hardware/wifi/V1_0/WifiInformationElement;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_0/WifiRateInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_0/WifiStatus;->toString()Ljava/lang/String;
+PLandroid/hardware/wifi/V1_0/WifiStatusCode;->toString(I)Ljava/lang/String;
+PLandroid/hardware/wifi/V1_2/IWifiChip$Proxy;->selectTxPowerScenario_1_2(I)Landroid/hardware/wifi/V1_0/WifiStatus;
+PLandroid/hardware/wifi/V1_2/IWifiChipEventCallback$IfaceInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_2/IWifiChipEventCallback$IfaceInfo;->toString()Ljava/lang/String;
+PLandroid/hardware/wifi/V1_2/IWifiChipEventCallback$RadioModeInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_2/IWifiChipEventCallback$RadioModeInfo;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
+PLandroid/hardware/wifi/V1_2/IWifiChipEventCallback$RadioModeInfo;->toString()Ljava/lang/String;
+PLandroid/hardware/wifi/V1_2/IWifiStaIface$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/wifi/V1_2/IWifiStaIface$Proxy;->setMacAddress([B)Landroid/hardware/wifi/V1_0/WifiStatus;
+PLandroid/hardware/wifi/V1_2/IWifiStaIface;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/V1_2/IWifiStaIface;
+PLandroid/hardware/wifi/V1_3/IWifiChip$Proxy;->flushRingBufferToFile()Landroid/hardware/wifi/V1_0/WifiStatus;
+PLandroid/hardware/wifi/V1_3/IWifiStaIface$Proxy;->getFactoryMacAddress(Landroid/hardware/wifi/V1_3/IWifiStaIface$getFactoryMacAddressCallback;)V
+PLandroid/hardware/wifi/V1_3/IWifiStaIface$Proxy;->getLinkLayerStats_1_3(Landroid/hardware/wifi/V1_3/IWifiStaIface$getLinkLayerStats_1_3Callback;)V
+PLandroid/hardware/wifi/V1_3/IWifiStaIface$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/wifi/V1_3/IWifiStaIface;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/V1_3/IWifiStaIface;
+PLandroid/hardware/wifi/V1_3/StaLinkLayerRadioStats;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/V1_3/StaLinkLayerStats;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicant$Proxy;->setConcurrencyPriority(I)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicant$Proxy;->setDebugParams(IZZ)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantNetwork$Proxy;->asBinder()Landroid/os/IHwBinder;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantNetwork$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantNetwork;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/supplicant/V1_0/ISupplicantNetwork;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIfaceCallback$AnqpData;-><init>()V
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIfaceCallback$AnqpData;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIfaceCallback$Hs20AnqpData;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->asBinder()Landroid/os/IHwBinder;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->registerCallback(Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetworkCallback;)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->select()Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->setAuthAlg(I)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->setBssid([B)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->setEapEngine(Z)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->setEapIdentity(Ljava/util/ArrayList;)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->setEapMethod(I)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->setEapPassword(Ljava/util/ArrayList;)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->setEapPhase2Method(I)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->setIdStr(Ljava/lang/String;)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->setProactiveKeyCaching(Z)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->setProto(I)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->setPskPassphrase(Ljava/lang/String;)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->setRequirePmf(Z)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->setScanSsid(Z)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork$Proxy;->setSsid(Ljava/util/ArrayList;)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork;
+PLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetworkCallback$Stub;->asBinder()Landroid/os/IHwBinder;
+PLandroid/hardware/wifi/supplicant/V1_1/ISupplicant$Proxy;->removeInterface(Landroid/hardware/wifi/supplicant/V1_0/ISupplicant$IfaceInfo;)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_1/ISupplicant$Proxy;->terminate()V
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->addNetwork(Landroid/hardware/wifi/supplicant/V1_0/ISupplicantIface$addNetworkCallback;)V
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->addRxFilter(B)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->asBinder()Landroid/os/IHwBinder;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->disconnect()Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->enableAutoReconnect(Z)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->getKeyMgmtCapabilities(Landroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$getKeyMgmtCapabilitiesCallback;)V
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->getMacAddress(Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIface$getMacAddressCallback;)V
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->initiateAnqpQuery([BLjava/util/ArrayList;Ljava/util/ArrayList;)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->listNetworks(Landroid/hardware/wifi/supplicant/V1_0/ISupplicantIface$listNetworksCallback;)V
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->removeNetwork(I)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->setBtCoexistenceMode(B)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->setBtCoexistenceScanModeEnabled(Z)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->setCountryCode([B)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->setExternalSim(Z)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->setPowerSave(Z)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->setSuspendModeEnabled(Z)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->startRxFilter()Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->stopRxFilter()Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIfaceCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaNetwork$Proxy;->interfaceChain()Ljava/util/ArrayList;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaNetwork$Proxy;->setGroupCipher_1_2(I)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaNetwork$Proxy;->setKeyMgmt_1_2(I)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaNetwork$Proxy;->setPairwiseCipher_1_2(I)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+PLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaNetwork;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/supplicant/V1_2/ISupplicantStaNetwork;
+PLandroid/net/-$$Lambda$NetworkStackClient$EsrnifYD8E-HxTwVQsf45HJKvtM;->onNetworkStackConnected(Landroid/net/INetworkStackConnector;)V
+PLandroid/net/-$$Lambda$NetworkStackClient$PNrRE8Z8ZxjPluNA7VaApBPsJ4A;->onNetworkStackConnected(Landroid/net/INetworkStackConnector;)V
+PLandroid/net/ApfCapabilitiesParcelable$1;-><init>()V
+PLandroid/net/ApfCapabilitiesParcelable;->writeToParcel(Landroid/os/Parcel;I)V
+PLandroid/net/DhcpResultsParcelable$1;-><init>()V
+PLandroid/net/DhcpResultsParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/DhcpResultsParcelable;
+PLandroid/net/DhcpResultsParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/net/DhcpResultsParcelable;->readFromParcel(Landroid/os/Parcel;)V
+PLandroid/net/INetd$Stub$Proxy;->bandwidthAddNiceApp(I)V
+PLandroid/net/INetd$Stub$Proxy;->bandwidthRemoveInterfaceQuota(Ljava/lang/String;)V
+PLandroid/net/INetd$Stub$Proxy;->bandwidthSetInterfaceQuota(Ljava/lang/String;J)V
+PLandroid/net/INetd$Stub$Proxy;->clatdStart(Ljava/lang/String;)V
+PLandroid/net/INetd$Stub$Proxy;->clatdStop(Ljava/lang/String;)V
+PLandroid/net/INetd$Stub$Proxy;->idletimerAddInterface(Ljava/lang/String;ILjava/lang/String;)V
+PLandroid/net/INetd$Stub$Proxy;->idletimerRemoveInterface(Ljava/lang/String;ILjava/lang/String;)V
+PLandroid/net/INetd$Stub$Proxy;->interfaceSetMtu(Ljava/lang/String;I)V
+PLandroid/net/INetd$Stub$Proxy;->networkAddInterface(ILjava/lang/String;)V
+PLandroid/net/INetd$Stub$Proxy;->networkAddRoute(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLandroid/net/INetd$Stub$Proxy;->networkCreatePhysical(II)V
+PLandroid/net/INetd$Stub$Proxy;->networkDestroy(I)V
+PLandroid/net/INetd$Stub$Proxy;->networkRemoveRoute(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLandroid/net/INetd$Stub$Proxy;->networkSetDefault(I)V
+PLandroid/net/INetd$Stub$Proxy;->networkSetPermissionForNetwork(II)V
+PLandroid/net/INetd$Stub$Proxy;->resolverStartPrefix64Discovery(I)V
+PLandroid/net/INetd$Stub$Proxy;->resolverStopPrefix64Discovery(I)V
+PLandroid/net/INetd$Stub$Proxy;->setResolverConfiguration(I[Ljava/lang/String;[Ljava/lang/String;[ILjava/lang/String;[Ljava/lang/String;[Ljava/lang/String;)V
+PLandroid/net/INetd$Stub$Proxy;->setTcpRWmemorySize(Ljava/lang/String;Ljava/lang/String;)V
+PLandroid/net/INetd$Stub$Proxy;->wakeupAddInterface(Ljava/lang/String;Ljava/lang/String;II)V
+PLandroid/net/INetd$Stub$Proxy;->wakeupDelInterface(Ljava/lang/String;Ljava/lang/String;II)V
+PLandroid/net/INetworkMonitor$Stub$Proxy;->forceReevaluation(I)V
+PLandroid/net/INetworkMonitor$Stub$Proxy;->notifyDnsResponse(I)V
+PLandroid/net/INetworkMonitor$Stub$Proxy;->notifyLinkPropertiesChanged()V
+PLandroid/net/INetworkMonitor$Stub$Proxy;->notifyNetworkCapabilitiesChanged()V
+PLandroid/net/INetworkMonitor$Stub$Proxy;->notifyNetworkConnected()V
+PLandroid/net/INetworkMonitor$Stub$Proxy;->notifyNetworkDisconnected()V
+PLandroid/net/INetworkMonitor$Stub$Proxy;->notifyPrivateDnsChanged(Landroid/net/PrivateDnsConfigParcel;)V
+PLandroid/net/INetworkMonitor$Stub$Proxy;->notifySystemReady()V
+PLandroid/net/INetworkMonitor$Stub$Proxy;->start()V
+PLandroid/net/INetworkMonitorCallbacks$Stub;->asBinder()Landroid/os/IBinder;
+PLandroid/net/INetworkMonitorCallbacks$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/INetworkStackConnector$Stub$Proxy;->makeIpClient(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;)V
+PLandroid/net/INetworkStackConnector$Stub$Proxy;->makeNetworkMonitor(Landroid/net/NetworkParcelable;Ljava/lang/String;Landroid/net/INetworkMonitorCallbacks;)V
+PLandroid/net/IpPrefixParcelable$1;-><init>()V
+PLandroid/net/IpPrefixParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/IpPrefixParcelable;
+PLandroid/net/IpPrefixParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/net/IpPrefixParcelable;->readFromParcel(Landroid/os/Parcel;)V
+PLandroid/net/LinkAddressParcelable$1;-><init>()V
+PLandroid/net/LinkAddressParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/LinkAddressParcelable;
+PLandroid/net/LinkAddressParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/net/LinkAddressParcelable$1;->newArray(I)[Landroid/net/LinkAddressParcelable;
+PLandroid/net/LinkAddressParcelable$1;->newArray(I)[Ljava/lang/Object;
+PLandroid/net/LinkAddressParcelable;->readFromParcel(Landroid/os/Parcel;)V
+PLandroid/net/LinkPropertiesParcelable$1;-><init>()V
+PLandroid/net/LinkPropertiesParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/LinkPropertiesParcelable;
+PLandroid/net/LinkPropertiesParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/net/LinkPropertiesParcelable;->readFromParcel(Landroid/os/Parcel;)V
+PLandroid/net/NetworkParcelable$1;-><init>()V
+PLandroid/net/NetworkParcelable;-><init>()V
+PLandroid/net/NetworkStackClient$NetworkStackConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLandroid/net/NetworkStackClient;->lambda$makeIpClient$1(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;Landroid/net/INetworkStackConnector;)V
+PLandroid/net/NetworkStackClient;->lambda$makeNetworkMonitor$2(Landroid/net/NetworkParcelable;Ljava/lang/String;Landroid/net/INetworkMonitorCallbacks;Landroid/net/INetworkStackConnector;)V
+PLandroid/net/NetworkStackClient;->makeNetworkMonitor(Landroid/net/NetworkParcelable;Ljava/lang/String;Landroid/net/INetworkMonitorCallbacks;)V
+PLandroid/net/NetworkStackClient;->registerNetworkStackService(Landroid/os/IBinder;)V
+PLandroid/net/PrivateDnsConfigParcel$1;-><init>()V
+PLandroid/net/PrivateDnsConfigParcel;->writeToParcel(Landroid/os/Parcel;I)V
+PLandroid/net/ProvisioningConfigurationParcelable$1;-><init>()V
+PLandroid/net/ProvisioningConfigurationParcelable;->writeToParcel(Landroid/os/Parcel;I)V
+PLandroid/net/RouteInfoParcelable$1;-><init>()V
+PLandroid/net/RouteInfoParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/RouteInfoParcelable;
+PLandroid/net/RouteInfoParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/net/RouteInfoParcelable$1;->newArray(I)[Landroid/net/RouteInfoParcelable;
+PLandroid/net/RouteInfoParcelable$1;->newArray(I)[Ljava/lang/Object;
+PLandroid/net/RouteInfoParcelable;->readFromParcel(Landroid/os/Parcel;)V
+PLandroid/net/StaticIpConfigurationParcelable$1;-><init>()V
+PLandroid/net/StaticIpConfigurationParcelable$1;->createFromParcel(Landroid/os/Parcel;)Landroid/net/StaticIpConfigurationParcelable;
+PLandroid/net/StaticIpConfigurationParcelable$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLandroid/net/StaticIpConfigurationParcelable;->readFromParcel(Landroid/os/Parcel;)V
+PLandroid/net/ip/IIpClient$Stub$Proxy;->completedPreDhcpAction()V
+PLandroid/net/ip/IIpClient$Stub$Proxy;->confirmConfiguration()V
+PLandroid/net/ip/IIpClient$Stub$Proxy;->setHttpProxy(Landroid/net/ProxyInfoParcelable;)V
+PLandroid/net/ip/IIpClient$Stub$Proxy;->setMulticastFilter(Z)V
+PLandroid/net/ip/IIpClient$Stub$Proxy;->setTcpBufferSizes(Ljava/lang/String;)V
+PLandroid/net/ip/IIpClient$Stub$Proxy;->startProvisioning(Landroid/net/ProvisioningConfigurationParcelable;)V
+PLandroid/net/ip/IIpClient$Stub$Proxy;->stop()V
+PLandroid/net/ip/IIpClientCallbacks$Stub;->asBinder()Landroid/os/IBinder;
+PLandroid/net/ip/IIpClientCallbacks$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->installPacketFilter([B)V
+PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onIpClientCreated(Landroid/net/ip/IIpClient;)V
+PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onLinkPropertiesChange(Landroid/net/LinkPropertiesParcelable;)V
+PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onNewDhcpResults(Landroid/net/DhcpResultsParcelable;)V
+PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onPostDhcpAction()V
+PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onPreDhcpAction()V
+PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onProvisioningFailure(Landroid/net/LinkPropertiesParcelable;)V
+PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onProvisioningSuccess(Landroid/net/LinkPropertiesParcelable;)V
+PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onQuit()V
+PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->onReachabilityLost(Ljava/lang/String;)V
+PLandroid/net/ip/IpClientUtil$IpClientCallbacksProxy;->setNeighborDiscoveryOffload(Z)V
+PLandroid/net/shared/-$$Lambda$OsobWheG5dMvEj_cOJtueqUBqBI;-><init>()V
+PLandroid/net/shared/-$$Lambda$SYWvjOUPlAZ_O2Z6yfFU9np1858;-><init>()V
+PLandroid/net/shared/-$$Lambda$pBUdv03KJnEfgt6nWSHELvAxJyA;-><init>()V
+PLandroid/net/shared/IpConfigurationParcelableUtil;->fromStableParcelable(Landroid/net/DhcpResultsParcelable;)Landroid/net/DhcpResults;
+PLandroid/net/shared/IpConfigurationParcelableUtil;->fromStableParcelable(Landroid/net/StaticIpConfigurationParcelable;)Landroid/net/StaticIpConfiguration;
+PLandroid/net/shared/IpConfigurationParcelableUtil;->toStableParcelable(Landroid/net/StaticIpConfiguration;)Landroid/net/StaticIpConfigurationParcelable;
+PLandroid/net/shared/LinkPropertiesParcelableUtil;->fromStableParcelable(Landroid/net/LinkPropertiesParcelable;)Landroid/net/LinkProperties;
+PLandroid/net/shared/LinkPropertiesParcelableUtil;->fromStableParcelable(Landroid/net/ProxyInfoParcelable;)Landroid/net/ProxyInfo;
+PLandroid/net/shared/LinkPropertiesParcelableUtil;->toStableParcelable(Landroid/net/ProxyInfo;)Landroid/net/ProxyInfoParcelable;
+PLandroid/net/shared/NetworkMonitorUtils;->isValidationRequired(Landroid/net/NetworkCapabilities;)Z
+PLandroid/net/shared/ParcelableUtil;->toParcelableArray(Ljava/util/Collection;Ljava/util/function/Function;Ljava/lang/Class;)[Ljava/lang/Object;
+PLandroid/net/shared/PrivateDnsConfig;->inStrictMode()Z
+PLandroid/net/shared/PrivateDnsConfig;->toParcel()Landroid/net/PrivateDnsConfigParcel;
+PLandroid/net/shared/PrivateDnsConfig;->toString()Ljava/lang/String;
+PLandroid/net/shared/ProvisioningConfiguration$Builder;-><init>()V
+PLandroid/net/shared/ProvisioningConfiguration$Builder;->build()Landroid/net/shared/ProvisioningConfiguration;
+PLandroid/net/shared/ProvisioningConfiguration$Builder;->withApfCapabilities(Landroid/net/apf/ApfCapabilities;)Landroid/net/shared/ProvisioningConfiguration$Builder;
+PLandroid/net/shared/ProvisioningConfiguration$Builder;->withDisplayName(Ljava/lang/String;)Landroid/net/shared/ProvisioningConfiguration$Builder;
+PLandroid/net/shared/ProvisioningConfiguration$Builder;->withNetwork(Landroid/net/Network;)Landroid/net/shared/ProvisioningConfiguration$Builder;
+PLandroid/net/shared/ProvisioningConfiguration$Builder;->withPreDhcpAction()Landroid/net/shared/ProvisioningConfiguration$Builder;
+PLandroid/net/shared/ProvisioningConfiguration$Builder;->withRandomMacAddress()Landroid/net/shared/ProvisioningConfiguration$Builder;
+PLandroid/net/shared/ProvisioningConfiguration;-><init>(Landroid/net/shared/ProvisioningConfiguration;)V
+PLandroid/net/shared/ProvisioningConfiguration;->toStableParcelable()Landroid/net/ProvisioningConfigurationParcelable;
 PLandroid/net/util/VersionedBroadcastListener$Receiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLandroid/net/util/VersionedBroadcastListener;-><init>(Ljava/lang/String;Landroid/content/Context;Landroid/os/Handler;Landroid/content/IntentFilter;Ljava/util/function/Consumer;)V
-PLandroid/net/util/VersionedBroadcastListener;->startListening()V
-PLcom/android/server/-$$Lambda$1xUIIN0BU8izGcnYWT-VzczLBFU;-><init>()V
-PLcom/android/server/-$$Lambda$1xUIIN0BU8izGcnYWT-VzczLBFU;->get(Lcom/android/server/NsdService$NativeCallbackReceiver;)Lcom/android/server/NsdService$DaemonConnection;
-PLcom/android/server/-$$Lambda$AlarmManagerService$Batch$Xltkj5RTKUMuFVeuavpuY7-Ogzc;-><init>(Lcom/android/server/AlarmManagerService$Alarm;)V
+PLandroid/net/wifi/IClientInterface$Stub$Proxy;->signalPoll()[I
+PLandroid/net/wifi/IPnoScanEvent$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/wifi/IScanEvent$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+PLandroid/net/wifi/IWifiScannerImpl$Stub$Proxy;->abortScan()V
+PLandroid/net/wifi/IWifiScannerImpl$Stub$Proxy;->getPnoScanResults()[Lcom/android/server/wifi/wificond/NativeScanResult;
+PLandroid/net/wifi/IWifiScannerImpl$Stub$Proxy;->getScanResults()[Lcom/android/server/wifi/wificond/NativeScanResult;
+PLandroid/net/wifi/IWifiScannerImpl$Stub$Proxy;->scan(Lcom/android/server/wifi/wificond/SingleScanSettings;)Z
+PLandroid/net/wifi/IWifiScannerImpl$Stub$Proxy;->startPnoScan(Lcom/android/server/wifi/wificond/PnoSettings;)Z
+PLandroid/os/IIdmap2$Stub$Proxy;->createIdmap(Ljava/lang/String;Ljava/lang/String;IZI)Ljava/lang/String;
+PLandroid/os/IIdmap2$Stub$Proxy;->removeIdmap(Ljava/lang/String;I)Z
+PLcom/android/server/-$$Lambda$1kw1pGRY14l4iRI8vioJeswbbZ0;->accept(Ljava/lang/Object;)V
+PLcom/android/server/-$$Lambda$AlarmManagerService$2$Eo-D98J-N9R2METkD-12gPs320c;->run()V
 PLcom/android/server/-$$Lambda$AlarmManagerService$Batch$Xltkj5RTKUMuFVeuavpuY7-Ogzc;->test(Ljava/lang/Object;)Z
-PLcom/android/server/-$$Lambda$AppOpsService$NC5g1JY4YR6y4VePru4TO7AKp8M;-><init>()V
-PLcom/android/server/-$$Lambda$AppOpsService$NC5g1JY4YR6y4VePru4TO7AKp8M;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/-$$Lambda$AppOpsService$UKMH8n9xZqCOX59uFPylskhjBgo;-><init>()V
-PLcom/android/server/-$$Lambda$AppOpsService$UKMH8n9xZqCOX59uFPylskhjBgo;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/-$$Lambda$AppStateTracker$zzioY8jvEm-1GnJ13CUiQGauPEE;-><init>(Lcom/android/server/AppStateTracker;)V
-PLcom/android/server/-$$Lambda$BatteryService$2x73lvpB0jctMSVP4qb9sHAqRPw;-><init>(Landroid/content/Intent;)V
-PLcom/android/server/-$$Lambda$BatteryService$2x73lvpB0jctMSVP4qb9sHAqRPw;->run()V
-PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$7Y-B9O7NDYgUY9hQvFzC2FQ2V5w;-><init>(Landroid/util/MutableInt;Landroid/os/BatteryProperty;)V
+PLcom/android/server/-$$Lambda$AlarmManagerService$gKXZ864LsHRTGbnNeLAgHKL2YPk;->run()V
+PLcom/android/server/-$$Lambda$AlarmManagerService$nhEd_CDoc7mzdNLRwGUhwl9TaGk;->test(Ljava/lang/Object;)Z
+PLcom/android/server/-$$Lambda$AlarmManagerService$qehVSjTLWvtJYPGgKh2mkJ6ePnk;->test(Ljava/lang/Object;)Z
+PLcom/android/server/-$$Lambda$AppStateTracker$zzioY8jvEm-1GnJ13CUiQGauPEE;->accept(Ljava/lang/Object;)V
 PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$7Y-B9O7NDYgUY9hQvFzC2FQ2V5w;->onValues(II)V
-PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$DM4ow6LC--JYWBfhHp2f1JW8nww;-><init>(Landroid/util/MutableInt;Landroid/os/BatteryProperty;)V
+PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$9z3zqgxtPzBN8Qoni5nHVb0m8EY;->onValues(IJ)V
 PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$DM4ow6LC--JYWBfhHp2f1JW8nww;->onValues(II)V
-PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$KZAu97wwr_7_MI0awCjQTzdIuAI;-><init>(Landroid/util/MutableInt;Landroid/os/BatteryProperty;)V
 PLcom/android/server/-$$Lambda$BatteryService$BatteryPropertiesRegistrar$KZAu97wwr_7_MI0awCjQTzdIuAI;->onValues(II)V
-PLcom/android/server/-$$Lambda$BatteryService$D1kwd7L7yyqN5niz3KWkTepVmUk;-><init>(Lcom/android/server/BatteryService;)V
 PLcom/android/server/-$$Lambda$BatteryService$D1kwd7L7yyqN5niz3KWkTepVmUk;->run()V
-PLcom/android/server/-$$Lambda$CommonTimeManagementService$2pDf0xdhqutmGymQBZY0XdP5zLg;-><init>(Lcom/android/server/CommonTimeManagementService;)V
-PLcom/android/server/-$$Lambda$CommonTimeManagementService$G4hdVfmKjXahO1EZQGCi66JNtFI;-><init>(Lcom/android/server/CommonTimeManagementService;)V
-PLcom/android/server/-$$Lambda$CommonTimeManagementService$o7NVT2DAE8gGyUPocEDzMJMp3rY;-><init>(Lcom/android/server/CommonTimeManagementService;)V
-PLcom/android/server/-$$Lambda$ConnectivityService$SFqiR4Pfksb1C7csMC3uNxCllR8;-><init>(Lcom/android/server/ConnectivityService;)V
-PLcom/android/server/-$$Lambda$ContextHubSystemService$q-5gSEKm3he-4vIHcay4DLtf85E;-><init>(Lcom/android/server/ContextHubSystemService;Landroid/content/Context;)V
-PLcom/android/server/-$$Lambda$ContextHubSystemService$q-5gSEKm3he-4vIHcay4DLtf85E;->run()V
-PLcom/android/server/-$$Lambda$GraphicsStatsService$2EDVu98hsJvSwNgKvijVLSR3IrQ;-><init>(Lcom/android/server/GraphicsStatsService;)V
+PLcom/android/server/-$$Lambda$DeviceIdleController$Lhneg3gOUCFQWz6Y-5S75AWemY8;->accept(Ljava/lang/Object;)V
 PLcom/android/server/-$$Lambda$GraphicsStatsService$2EDVu98hsJvSwNgKvijVLSR3IrQ;->onAlarm()V
-PLcom/android/server/-$$Lambda$IpSecService$AnqunmSwm_yQvDDEPg-gokhVs5M;-><init>()V
-PLcom/android/server/-$$Lambda$NetworkManagementService$8J1LB_n8vMkXxx2KS06P_lQCw6w;-><init>(Ljava/lang/String;J[Ljava/lang/String;)V
-PLcom/android/server/-$$Lambda$NetworkManagementService$8J1LB_n8vMkXxx2KS06P_lQCw6w;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/-$$Lambda$NetworkManagementService$D43p3Tqq7B3qaMs9AGb_3j0KZd0;-><init>(IZJ)V
-PLcom/android/server/-$$Lambda$NetworkManagementService$V2aaK7-IK-mKPVvhONFoyFWi4zM;-><init>(Ljava/lang/String;Landroid/net/LinkAddress;)V
-PLcom/android/server/-$$Lambda$NetworkManagementService$V2aaK7-IK-mKPVvhONFoyFWi4zM;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/-$$Lambda$NetworkManagementService$VhSl9D6THA_3jE0unleMmkHavJ0;-><init>(Landroid/net/RouteInfo;)V
-PLcom/android/server/-$$Lambda$NetworkManagementService$VhSl9D6THA_3jE0unleMmkHavJ0;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/-$$Lambda$NetworkManagementService$_L953cbquVj0BMBP1MZlSTm0Umg;-><init>(Ljava/lang/String;Z)V
-PLcom/android/server/-$$Lambda$NetworkManagementService$_L953cbquVj0BMBP1MZlSTm0Umg;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/-$$Lambda$NetworkManagementService$glaDh2pKbTpJLW8cwpYGiYd-sCA;-><init>(Landroid/net/RouteInfo;)V
-PLcom/android/server/-$$Lambda$NetworkManagementService$glaDh2pKbTpJLW8cwpYGiYd-sCA;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/-$$Lambda$NetworkManagementService$iDseO-DhVR7T2LR6qxVJCC-3wfI;-><init>(Ljava/lang/String;Landroid/net/LinkAddress;)V
-PLcom/android/server/-$$Lambda$NetworkManagementService$iDseO-DhVR7T2LR6qxVJCC-3wfI;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/-$$Lambda$NetworkManagementService$xer7k2RLU4mODjrkZqaX89S9gD8;-><init>(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/-$$Lambda$LocationManagerService$LocationProvider$R123rmQLJrCf8yBSKrQD6XPhpZs;->run()V
+PLcom/android/server/-$$Lambda$LocationManagerService$bojY6dMaI07zh6_sF7ERxgmk6U0;->getPackages(I)[Ljava/lang/String;
+PLcom/android/server/-$$Lambda$LocationManagerService$pUnNobtfzLC9eAlVqCMKySwbo3U;->getPackages(I)[Ljava/lang/String;
+PLcom/android/server/-$$Lambda$LocationManagerService$ta09t47XwQMZdhPftO1K9zdy5Mk;->onPermissionsChanged(I)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$15DusjG2gzn5UASV-lMS3BUUn9c;->run()V
+PLcom/android/server/-$$Lambda$NetworkManagementService$D43p3Tqq7B3qaMs9AGb_3j0KZd0;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$FsR_UD5xfj4hgrwGdX74wq881Bk;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$0xWa9DGxTnoGVHppsM-nng2PygE;->run()V
+PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$L7i_Z-ii6zMptHCt2_Igy3iBvKk;->run()V
+PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$h2iz-IbnHpQ97mlJ7G62W2mmanw;->run()V
+PLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$hh3pIkVnnzeRGeDRAOOmVvc6VxE;->run()V
+PLcom/android/server/-$$Lambda$NetworkManagementService$RVCc8O9RWjyrynN9cyM7inAv-fk;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+PLcom/android/server/-$$Lambda$NetworkManagementService$YKgmK-4MuJjN-VLuMBhmJy1eWj4;->run()V
 PLcom/android/server/-$$Lambda$NetworkManagementService$xer7k2RLU4mODjrkZqaX89S9gD8;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/-$$Lambda$PersistentDataBlockService$EZl9OYaT2eNL7kfSr2nKUBjxidk;-><init>(Lcom/android/server/PersistentDataBlockService;)V
-PLcom/android/server/-$$Lambda$PersistentDataBlockService$EZl9OYaT2eNL7kfSr2nKUBjxidk;->run()V
-PLcom/android/server/-$$Lambda$PruneInstantAppsJobService$i4sLSJdxcTXdgPAQZFbP66ZRprE;-><init>(Lcom/android/server/PruneInstantAppsJobService;Landroid/app/job/JobParameters;)V
+PLcom/android/server/-$$Lambda$PackageWatchdog$YWaPZrg-b7PWDORq6WFyD-xtIC8;->run()V
+PLcom/android/server/-$$Lambda$PinnerService$6bekYOn4YXi0x7vYNWO40QyA-s8;-><init>()V
+PLcom/android/server/-$$Lambda$PinnerService$6bekYOn4YXi0x7vYNWO40QyA-s8;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/-$$Lambda$PruneInstantAppsJobService$i4sLSJdxcTXdgPAQZFbP66ZRprE;->run()V
-PLcom/android/server/-$$Lambda$QTLvklqCTz22VSzZPEWJs-o0bv4;-><init>()V
 PLcom/android/server/-$$Lambda$QTLvklqCTz22VSzZPEWJs-o0bv4;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/-$$Lambda$SystemServer$NlJmG18aPrQduhRqASIdcn7G0z8;-><init>()V
-PLcom/android/server/-$$Lambda$SystemServer$NlJmG18aPrQduhRqASIdcn7G0z8;->run()V
-PLcom/android/server/-$$Lambda$SystemServer$UyrPns7R814g-ZEylCbDKhe8It4;-><init>()V
-PLcom/android/server/-$$Lambda$SystemServer$UyrPns7R814g-ZEylCbDKhe8It4;->run()V
-PLcom/android/server/-$$Lambda$SystemServer$VBGb9VpEls6bUcVBPwYLtX7qDTs;-><init>()V
-PLcom/android/server/-$$Lambda$SystemServer$VBGb9VpEls6bUcVBPwYLtX7qDTs;->run()V
-PLcom/android/server/-$$Lambda$SystemServer$Y1gEdKr_Hb7K7cbTDAo_WOJ-SYI;-><init>(Lcom/android/server/SystemServer;)V
-PLcom/android/server/-$$Lambda$SystemServer$Y1gEdKr_Hb7K7cbTDAo_WOJ-SYI;->run()V
-PLcom/android/server/-$$Lambda$SystemServer$s9erd2iGXiS7bbg_mQJUxyVboQM;-><init>(Lcom/android/server/SystemServer;Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;Lcom/android/server/NetworkManagementService;Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/IpSecService;Lcom/android/server/net/NetworkStatsService;Lcom/android/server/ConnectivityService;Lcom/android/server/LocationManagerService;Lcom/android/server/CountryDetectorService;Lcom/android/server/NetworkTimeUpdateService;Lcom/android/server/CommonTimeManagementService;Lcom/android/server/input/InputManagerService;Lcom/android/server/TelephonyRegistry;Lcom/android/server/media/MediaRouterService;Lcom/android/server/MmsServiceBroker;)V
-PLcom/android/server/-$$Lambda$SystemServer$s9erd2iGXiS7bbg_mQJUxyVboQM;->run()V
-PLcom/android/server/-$$Lambda$TextServicesManagerService$Gx5nx59gL-Y47MWUiJn5TqC2DLs;-><init>(Lcom/android/server/TextServicesManagerService;)V
-PLcom/android/server/-$$Lambda$TextServicesManagerService$Gx5nx59gL-Y47MWUiJn5TqC2DLs;->applyAsInt(I)I
-PLcom/android/server/-$$Lambda$TextServicesManagerService$SpellCheckerBindGroup$WPb2Qavn5gWhsY_rCdz_4UGBTAw;-><init>(Landroid/os/IBinder;)V
-PLcom/android/server/-$$Lambda$UiModeManagerService$SMGExVQCkMpTx7aAoJee7KHGMA0;-><init>(Lcom/android/server/UiModeManagerService;)V
-PLcom/android/server/-$$Lambda$UiModeManagerService$SMGExVQCkMpTx7aAoJee7KHGMA0;->run()V
-PLcom/android/server/AlarmManagerService$1;-><init>(Lcom/android/server/AlarmManagerService;)V
-PLcom/android/server/AlarmManagerService$1;->compare(Lcom/android/server/AlarmManagerService$Alarm;Lcom/android/server/AlarmManagerService$Alarm;)I
-PLcom/android/server/AlarmManagerService$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/AlarmManagerService$2;-><init>(Lcom/android/server/AlarmManagerService;)V
-PLcom/android/server/AlarmManagerService$2;->currentNetworkTimeMillis()J
-PLcom/android/server/AlarmManagerService$2;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
-PLcom/android/server/AlarmManagerService$2;->getNextWakeFromIdleTime()J
-PLcom/android/server/AlarmManagerService$2;->remove(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
-PLcom/android/server/AlarmManagerService$2;->setTime(J)Z
-PLcom/android/server/AlarmManagerService$2;->setTimeZone(Ljava/lang/String;)V
-PLcom/android/server/AlarmManagerService$5;-><init>(Lcom/android/server/AlarmManagerService;)V
-PLcom/android/server/AlarmManagerService$5;->onUidForeground(IZ)V
-PLcom/android/server/AlarmManagerService$5;->unblockAlarmsForUid(I)V
-PLcom/android/server/AlarmManagerService$AlarmHandler;-><init>(Lcom/android/server/AlarmManagerService;)V
-PLcom/android/server/AlarmManagerService$AlarmHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/AlarmManagerService$AlarmThread;-><init>(Lcom/android/server/AlarmManagerService;)V
-PLcom/android/server/AlarmManagerService$AppStandbyTracker;-><init>(Lcom/android/server/AlarmManagerService;)V
-PLcom/android/server/AlarmManagerService$AppStandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
-PLcom/android/server/AlarmManagerService$AppStandbyTracker;->onParoleStateChanged(Z)V
-PLcom/android/server/AlarmManagerService$Batch;->lambda$remove$0(Lcom/android/server/AlarmManagerService$Alarm;Lcom/android/server/AlarmManagerService$Alarm;)Z
-PLcom/android/server/AlarmManagerService$Batch;->remove(Lcom/android/server/AlarmManagerService$Alarm;)Z
-PLcom/android/server/AlarmManagerService$BatchTimeOrder;-><init>()V
-PLcom/android/server/AlarmManagerService$BroadcastStats;-><init>(ILjava/lang/String;)V
-PLcom/android/server/AlarmManagerService$ClockReceiver;-><init>(Lcom/android/server/AlarmManagerService;)V
-PLcom/android/server/AlarmManagerService$ClockReceiver;->scheduleDateChangedEvent()V
-PLcom/android/server/AlarmManagerService$Constants;-><init>(Lcom/android/server/AlarmManagerService;Landroid/os/Handler;)V
-PLcom/android/server/AlarmManagerService$Constants;->start(Landroid/content/ContentResolver;)V
-PLcom/android/server/AlarmManagerService$Constants;->updateAllowWhileIdleWhitelistDurationLocked()V
-PLcom/android/server/AlarmManagerService$Constants;->updateConstants()V
-PLcom/android/server/AlarmManagerService$DeliveryTracker;-><init>(Lcom/android/server/AlarmManagerService;)V
-PLcom/android/server/AlarmManagerService$DeliveryTracker;->deliverLocked(Lcom/android/server/AlarmManagerService$Alarm;JZ)V
-PLcom/android/server/AlarmManagerService$DeliveryTracker;->onSendFinished(Landroid/app/PendingIntent;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;)V
-PLcom/android/server/AlarmManagerService$DeliveryTracker;->removeLocked(Landroid/app/PendingIntent;Landroid/content/Intent;)Lcom/android/server/AlarmManagerService$InFlight;
-PLcom/android/server/AlarmManagerService$DeliveryTracker;->removeLocked(Landroid/os/IBinder;)Lcom/android/server/AlarmManagerService$InFlight;
-PLcom/android/server/AlarmManagerService$DeliveryTracker;->updateTrackingLocked(Lcom/android/server/AlarmManagerService$InFlight;)V
-PLcom/android/server/AlarmManagerService$FilterStats;-><init>(Lcom/android/server/AlarmManagerService$BroadcastStats;Ljava/lang/String;)V
-PLcom/android/server/AlarmManagerService$InFlight;-><init>(Lcom/android/server/AlarmManagerService;Landroid/app/PendingIntent;Landroid/app/IAlarmListener;Landroid/os/WorkSource;ILjava/lang/String;ILjava/lang/String;J)V
-PLcom/android/server/AlarmManagerService$IncreasingTimeOrder;-><init>()V
-PLcom/android/server/AlarmManagerService$InteractiveStateReceiver;-><init>(Lcom/android/server/AlarmManagerService;)V
+PLcom/android/server/-$$Lambda$ServiceWatcher$b1z9OeL-1VpQ_8p47qz7nMNUpsE;->call()Ljava/lang/Object;
+PLcom/android/server/-$$Lambda$ServiceWatcher$uCZpuTwrOz-CS9PQS2NY1ZXaU8U;->run()V
+PLcom/android/server/-$$Lambda$TelephonyRegistry$DwCXmd4oWQx5WUUkyBqzIQVAiYs;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/-$$Lambda$TelephonyRegistry$eRzX29fBu-inXqRR2l1fF6fzbSo;->getOrThrow()Ljava/lang/Object;
+PLcom/android/server/-$$Lambda$UiModeManagerService$vYS4_RzjAavNRF50rrGN0tXI5JM;->accept(Ljava/lang/Object;)V
+PLcom/android/server/-$$Lambda$hu439-4T6QBT8QyZnspMtXqICWs;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/AlarmManagerService$2;->doAlarm(Landroid/app/IAlarmCompleteListener;)V
+PLcom/android/server/AlarmManagerService$2;->lambda$doAlarm$0$AlarmManagerService$2(Landroid/app/IAlarmCompleteListener;)V
+PLcom/android/server/AlarmManagerService$2;->lambda$doAlarm$0(Lcom/android/server/AlarmManagerService$2;Landroid/app/IAlarmCompleteListener;)V
+PLcom/android/server/AlarmManagerService$3;->getNextWakeFromIdleTime()J
+PLcom/android/server/AlarmManagerService$3;->setTimeZone(Ljava/lang/String;)V
+PLcom/android/server/AlarmManagerService$AppWakeupHistory;->getLastWakeupForPackage(Ljava/lang/String;II)J
+PLcom/android/server/AlarmManagerService$AppWakeupHistory;->getTotalWakeupsInWindow(Ljava/lang/String;I)I
+PLcom/android/server/AlarmManagerService$AppWakeupHistory;->recordAlarmForPackage(Ljava/lang/String;IJ)V
+PLcom/android/server/AlarmManagerService$AppWakeupHistory;->removeForPackage(Ljava/lang/String;I)V
+PLcom/android/server/AlarmManagerService$AppWakeupHistory;->removeForUser(I)V
+PLcom/android/server/AlarmManagerService$ClockReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/AlarmManagerService$DeliveryTracker;->alarmTimedOut(Landroid/os/IBinder;)V
+PLcom/android/server/AlarmManagerService$Injector;->getNextAlarm(I)J
 PLcom/android/server/AlarmManagerService$InteractiveStateReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/AlarmManagerService$LocalService;-><init>(Lcom/android/server/AlarmManagerService;)V
-PLcom/android/server/AlarmManagerService$LocalService;-><init>(Lcom/android/server/AlarmManagerService;Lcom/android/server/AlarmManagerService$1;)V
-PLcom/android/server/AlarmManagerService$PriorityClass;-><init>(Lcom/android/server/AlarmManagerService;)V
-PLcom/android/server/AlarmManagerService$UidObserver;-><init>(Lcom/android/server/AlarmManagerService;)V
-PLcom/android/server/AlarmManagerService$UidObserver;->onUidActive(I)V
-PLcom/android/server/AlarmManagerService$UidObserver;->onUidGone(IZ)V
-PLcom/android/server/AlarmManagerService$UidObserver;->onUidIdle(IZ)V
-PLcom/android/server/AlarmManagerService$UninstallReceiver;-><init>(Lcom/android/server/AlarmManagerService;)V
 PLcom/android/server/AlarmManagerService$UninstallReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/AlarmManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/AlarmManagerService;->access$1002(Lcom/android/server/AlarmManagerService;J)J
-PLcom/android/server/AlarmManagerService;->access$1102(Lcom/android/server/AlarmManagerService;J)J
-PLcom/android/server/AlarmManagerService;->access$1200(Lcom/android/server/AlarmManagerService;)V
-PLcom/android/server/AlarmManagerService;->access$1502(Lcom/android/server/AlarmManagerService;Z)Z
-PLcom/android/server/AlarmManagerService;->access$1602(Lcom/android/server/AlarmManagerService;J)J
-PLcom/android/server/AlarmManagerService;->access$1802(Lcom/android/server/AlarmManagerService;J)J
-PLcom/android/server/AlarmManagerService;->access$1900(Lcom/android/server/AlarmManagerService;)Landroid/util/ArrayMap;
-PLcom/android/server/AlarmManagerService;->access$2008(Lcom/android/server/AlarmManagerService;)I
-PLcom/android/server/AlarmManagerService;->access$202(Lcom/android/server/AlarmManagerService;J)J
-PLcom/android/server/AlarmManagerService;->access$2108(Lcom/android/server/AlarmManagerService;)I
-PLcom/android/server/AlarmManagerService;->access$2208(Lcom/android/server/AlarmManagerService;)I
-PLcom/android/server/AlarmManagerService;->access$2302(Lcom/android/server/AlarmManagerService;J)J
-PLcom/android/server/AlarmManagerService;->access$2400(Lcom/android/server/AlarmManagerService;)Landroid/content/Intent;
-PLcom/android/server/AlarmManagerService;->access$2508(Lcom/android/server/AlarmManagerService;)I
-PLcom/android/server/AlarmManagerService;->access$400(Lcom/android/server/AlarmManagerService;Landroid/app/PendingIntent;)Lcom/android/server/AlarmManagerService$BroadcastStats;
-PLcom/android/server/AlarmManagerService;->access$500(Lcom/android/server/AlarmManagerService;ILjava/lang/String;)Lcom/android/server/AlarmManagerService$BroadcastStats;
-PLcom/android/server/AlarmManagerService;->access$700(Lcom/android/server/AlarmManagerService;Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
-PLcom/android/server/AlarmManagerService;->checkAllowNonWakeupDelayLocked(J)Z
+PLcom/android/server/AlarmManagerService;->access$1000(Lcom/android/server/AlarmManagerService;)Lcom/android/server/AppStateTracker;
+PLcom/android/server/AlarmManagerService;->access$1100(Lcom/android/server/AlarmManagerService;)Lcom/android/server/AppStateTracker;
 PLcom/android/server/AlarmManagerService;->currentNonWakeupFuzzLocked(J)J
-PLcom/android/server/AlarmManagerService;->fuzzForDuration(J)I
-PLcom/android/server/AlarmManagerService;->getNextAlarmClockImpl(I)Landroid/app/AlarmManager$AlarmClockInfo;
+PLcom/android/server/AlarmManagerService;->formatNextAlarm(Landroid/content/Context;Landroid/app/AlarmManager$AlarmClockInfo;I)Ljava/lang/String;
 PLcom/android/server/AlarmManagerService;->getNextWakeFromIdleTimeImpl()J
-PLcom/android/server/AlarmManagerService;->getStatsLocked(ILjava/lang/String;)Lcom/android/server/AlarmManagerService$BroadcastStats;
-PLcom/android/server/AlarmManagerService;->getStatsLocked(Landroid/app/PendingIntent;)Lcom/android/server/AlarmManagerService$BroadcastStats;
+PLcom/android/server/AlarmManagerService;->getQuotaForBucketLocked(I)I
 PLcom/android/server/AlarmManagerService;->getWhileIdleMinIntervalLocked(I)J
 PLcom/android/server/AlarmManagerService;->interactiveStateChangedLocked(Z)V
-PLcom/android/server/AlarmManagerService;->isBackgroundRestricted(Lcom/android/server/AlarmManagerService$Alarm;)Z
-PLcom/android/server/AlarmManagerService;->onBootPhase(I)V
-PLcom/android/server/AlarmManagerService;->onStart()V
-PLcom/android/server/AlarmManagerService;->rebatchAllAlarms()V
-PLcom/android/server/AlarmManagerService;->removeImpl(Landroid/app/PendingIntent;)V
+PLcom/android/server/AlarmManagerService;->lambda$interactiveStateChangedLocked$5$AlarmManagerService()V
+PLcom/android/server/AlarmManagerService;->removeLocked(I)V
+PLcom/android/server/AlarmManagerService;->removeUserLocked(I)V
 PLcom/android/server/AlarmManagerService;->restorePendingWhileIdleAlarmsLocked()V
-PLcom/android/server/AlarmManagerService;->sendPendingBackgroundAlarmsLocked(ILjava/lang/String;)V
-PLcom/android/server/AlarmManagerService;->setTimeImpl(J)Z
-PLcom/android/server/AlarmManagerService;->setTimeZoneImpl(Ljava/lang/String;)V
-PLcom/android/server/AlarmManagerService;->setWakelockWorkSource(Landroid/app/PendingIntent;Landroid/os/WorkSource;ILjava/lang/String;IZ)V
-PLcom/android/server/AnimationThread;-><init>()V
-PLcom/android/server/AnimationThread;->ensureThreadLocked()V
-PLcom/android/server/AnimationThread;->get()Lcom/android/server/AnimationThread;
-PLcom/android/server/AnimationThread;->getHandler()Landroid/os/Handler;
-PLcom/android/server/AnyMotionDetector$1;-><init>(Lcom/android/server/AnyMotionDetector;)V
+PLcom/android/server/AlarmManagerService;->sendNextAlarmClockChanged()V
 PLcom/android/server/AnyMotionDetector$1;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
 PLcom/android/server/AnyMotionDetector$1;->onSensorChanged(Landroid/hardware/SensorEvent;)V
-PLcom/android/server/AnyMotionDetector$2;-><init>(Lcom/android/server/AnyMotionDetector;)V
 PLcom/android/server/AnyMotionDetector$2;->run()V
-PLcom/android/server/AnyMotionDetector$3;-><init>(Lcom/android/server/AnyMotionDetector;)V
-PLcom/android/server/AnyMotionDetector$4;-><init>(Lcom/android/server/AnyMotionDetector;)V
-PLcom/android/server/AnyMotionDetector$RunningSignalStats;-><init>()V
 PLcom/android/server/AnyMotionDetector$RunningSignalStats;->accumulate(Lcom/android/server/AnyMotionDetector$Vector3;)V
 PLcom/android/server/AnyMotionDetector$RunningSignalStats;->getEnergy()F
 PLcom/android/server/AnyMotionDetector$RunningSignalStats;->getRunningAverage()Lcom/android/server/AnyMotionDetector$Vector3;
 PLcom/android/server/AnyMotionDetector$RunningSignalStats;->getSampleCount()I
 PLcom/android/server/AnyMotionDetector$RunningSignalStats;->reset()V
-PLcom/android/server/AnyMotionDetector$Vector3;-><init>(JFFF)V
 PLcom/android/server/AnyMotionDetector$Vector3;->angleBetween(Lcom/android/server/AnyMotionDetector$Vector3;)F
 PLcom/android/server/AnyMotionDetector$Vector3;->cross(Lcom/android/server/AnyMotionDetector$Vector3;)Lcom/android/server/AnyMotionDetector$Vector3;
-PLcom/android/server/AnyMotionDetector$Vector3;->dotProduct(Lcom/android/server/AnyMotionDetector$Vector3;)F
-PLcom/android/server/AnyMotionDetector$Vector3;->minus(Lcom/android/server/AnyMotionDetector$Vector3;)Lcom/android/server/AnyMotionDetector$Vector3;
-PLcom/android/server/AnyMotionDetector$Vector3;->norm()F
-PLcom/android/server/AnyMotionDetector$Vector3;->normalized()Lcom/android/server/AnyMotionDetector$Vector3;
-PLcom/android/server/AnyMotionDetector$Vector3;->plus(Lcom/android/server/AnyMotionDetector$Vector3;)Lcom/android/server/AnyMotionDetector$Vector3;
-PLcom/android/server/AnyMotionDetector$Vector3;->times(F)Lcom/android/server/AnyMotionDetector$Vector3;
 PLcom/android/server/AnyMotionDetector$Vector3;->toString()Ljava/lang/String;
-PLcom/android/server/AnyMotionDetector;-><init>(Landroid/os/PowerManager;Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/android/server/AnyMotionDetector$DeviceIdleCallback;F)V
-PLcom/android/server/AnyMotionDetector;->access$000(Lcom/android/server/AnyMotionDetector;)Ljava/lang/Object;
-PLcom/android/server/AnyMotionDetector;->access$100(Lcom/android/server/AnyMotionDetector;)Lcom/android/server/AnyMotionDetector$RunningSignalStats;
-PLcom/android/server/AnyMotionDetector;->access$200(Lcom/android/server/AnyMotionDetector;)I
-PLcom/android/server/AnyMotionDetector;->access$300(Lcom/android/server/AnyMotionDetector;)I
-PLcom/android/server/AnyMotionDetector;->access$400(Lcom/android/server/AnyMotionDetector;)Ljava/lang/Runnable;
-PLcom/android/server/AnyMotionDetector;->access$500(Lcom/android/server/AnyMotionDetector;)Landroid/os/Handler;
-PLcom/android/server/AnyMotionDetector;->access$602(Lcom/android/server/AnyMotionDetector;Z)Z
-PLcom/android/server/AnyMotionDetector;->access$700(Lcom/android/server/AnyMotionDetector;)Lcom/android/server/AnyMotionDetector$DeviceIdleCallback;
-PLcom/android/server/AnyMotionDetector;->access$800(Lcom/android/server/AnyMotionDetector;)Z
-PLcom/android/server/AnyMotionDetector;->access$802(Lcom/android/server/AnyMotionDetector;Z)Z
-PLcom/android/server/AnyMotionDetector;->access$900(Lcom/android/server/AnyMotionDetector;)V
 PLcom/android/server/AnyMotionDetector;->checkForAnyMotion()V
 PLcom/android/server/AnyMotionDetector;->getStationaryStatus()I
+PLcom/android/server/AnyMotionDetector;->hasSensor()Z
 PLcom/android/server/AnyMotionDetector;->startOrientationMeasurementLocked()V
 PLcom/android/server/AnyMotionDetector;->stop()V
 PLcom/android/server/AnyMotionDetector;->stopOrientationMeasurementLocked()I
-PLcom/android/server/AppOpsService$1$1;-><init>(Lcom/android/server/AppOpsService$1;)V
-PLcom/android/server/AppOpsService$1$1;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/AppOpsService$1$1;->doInBackground([Ljava/lang/Void;)Ljava/lang/Void;
-PLcom/android/server/AppOpsService$1;->run()V
-PLcom/android/server/AppOpsService$2;-><init>(Lcom/android/server/AppOpsService;)V
-PLcom/android/server/AppOpsService$3;-><init>(Lcom/android/server/AppOpsService;)V
-PLcom/android/server/AppOpsService$3;->getMountMode(ILjava/lang/String;)I
-PLcom/android/server/AppOpsService$3;->hasExternalStorage(ILjava/lang/String;)Z
-PLcom/android/server/AppOpsService$ActiveCallback;-><init>(Lcom/android/server/AppOpsService;Lcom/android/internal/app/IAppOpsActiveCallback;III)V
-PLcom/android/server/AppOpsService$AppOpsManagerInternalImpl;->setDeviceAndProfileOwners(Landroid/util/SparseIntArray;)V
-PLcom/android/server/AppOpsService$ClientRestrictionState;-><init>(Lcom/android/server/AppOpsService;Landroid/os/IBinder;)V
-PLcom/android/server/AppOpsService$ClientRestrictionState;->destroy()V
-PLcom/android/server/AppOpsService$ClientRestrictionState;->hasRestriction(ILjava/lang/String;I)Z
-PLcom/android/server/AppOpsService$ClientRestrictionState;->isDefault()Z
-PLcom/android/server/AppOpsService$ClientRestrictionState;->isDefault([Z)Z
-PLcom/android/server/AppOpsService$ClientRestrictionState;->setRestriction(IZ[Ljava/lang/String;I)Z
-PLcom/android/server/AppOpsService$ClientState;-><init>(Lcom/android/server/AppOpsService;Landroid/os/IBinder;)V
-PLcom/android/server/AppOpsService$Constants;->startMonitoring(Landroid/content/ContentResolver;)V
-PLcom/android/server/AppOpsService$ModeCallback;-><init>(Lcom/android/server/AppOpsService;Lcom/android/internal/app/IAppOpsCallback;IIII)V
-PLcom/android/server/AppOpsService$ModeCallback;->binderDied()V
-PLcom/android/server/AppOpsService$ModeCallback;->unlinkToDeath()V
-PLcom/android/server/AppOpsService$Restriction;-><init>()V
-PLcom/android/server/AppOpsService$Restriction;-><init>(Lcom/android/server/AppOpsService$1;)V
-PLcom/android/server/AppOpsService$UidState;->clear()V
-PLcom/android/server/AppOpsService$UidState;->isDefault()Z
-PLcom/android/server/AppOpsService;->checkAudioOperation(IIILjava/lang/String;)I
-PLcom/android/server/AppOpsService;->checkOperation(IILjava/lang/String;)I
-PLcom/android/server/AppOpsService;->checkRestrictionLocked(IIILjava/lang/String;)I
-PLcom/android/server/AppOpsService;->checkSystemUid(Ljava/lang/String;)V
-PLcom/android/server/AppOpsService;->enforceManageAppOpsModes(III)V
-PLcom/android/server/AppOpsService;->getOpsForPackage(ILjava/lang/String;[I)Ljava/util/List;
-PLcom/android/server/AppOpsService;->getPackagesForUid(I)[Ljava/lang/String;
-PLcom/android/server/AppOpsService;->getToken(Landroid/os/IBinder;)Landroid/os/IBinder;
-PLcom/android/server/AppOpsService;->isOperationActive(IILjava/lang/String;)Z
-PLcom/android/server/AppOpsService;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
-PLcom/android/server/AppOpsService;->lambda$NC5g1JY4YR6y4VePru4TO7AKp8M(Lcom/android/server/AppOpsService;Landroid/util/ArraySet;IILjava/lang/String;Z)V
-PLcom/android/server/AppOpsService;->lambda$UKMH8n9xZqCOX59uFPylskhjBgo(Lcom/android/server/AppOpsService;II)V
-PLcom/android/server/AppOpsService;->notifyOpActiveChanged(Landroid/util/ArraySet;IILjava/lang/String;Z)V
-PLcom/android/server/AppOpsService;->notifyOpChanged(Landroid/util/ArraySet;IILjava/lang/String;)V
-PLcom/android/server/AppOpsService;->notifyWatchersOfChange(II)V
-PLcom/android/server/AppOpsService;->permissionToOpCode(Ljava/lang/String;)I
-PLcom/android/server/AppOpsService;->resolveUid(Ljava/lang/String;)I
-PLcom/android/server/AppOpsService;->scheduleFastWriteLocked()V
-PLcom/android/server/AppOpsService;->setMode(IILjava/lang/String;I)V
-PLcom/android/server/AppOpsService;->setUidMode(III)V
-PLcom/android/server/AppOpsService;->setUserRestriction(IZLandroid/os/IBinder;I[Ljava/lang/String;)V
-PLcom/android/server/AppOpsService;->setUserRestrictionNoCheck(IZLandroid/os/IBinder;I[Ljava/lang/String;)V
-PLcom/android/server/AppOpsService;->setUserRestrictions(Landroid/os/Bundle;Landroid/os/IBinder;I)V
-PLcom/android/server/AppOpsService;->startWatchingActive([ILcom/android/internal/app/IAppOpsActiveCallback;)V
-PLcom/android/server/AppOpsService;->startWatchingMode(ILjava/lang/String;Lcom/android/internal/app/IAppOpsCallback;)V
-PLcom/android/server/AppOpsService;->startWatchingModeWithFlags(ILjava/lang/String;ILcom/android/internal/app/IAppOpsCallback;)V
-PLcom/android/server/AppOpsService;->stopWatchingMode(Lcom/android/internal/app/IAppOpsCallback;)V
-PLcom/android/server/AppOpsService;->systemReady()V
-PLcom/android/server/AppStateTracker$AppOpsWatcher;-><init>(Lcom/android/server/AppStateTracker;)V
-PLcom/android/server/AppStateTracker$AppOpsWatcher;-><init>(Lcom/android/server/AppStateTracker;Lcom/android/server/AppStateTracker$1;)V
-PLcom/android/server/AppStateTracker$FeatureFlagsObserver;-><init>(Lcom/android/server/AppStateTracker;)V
-PLcom/android/server/AppStateTracker$FeatureFlagsObserver;->isForcedAppStandbyEnabled()Z
-PLcom/android/server/AppStateTracker$FeatureFlagsObserver;->isForcedAppStandbyForSmallBatteryEnabled()Z
-PLcom/android/server/AppStateTracker$FeatureFlagsObserver;->register()V
-PLcom/android/server/AppStateTracker$Listener;-><init>()V
-PLcom/android/server/AppStateTracker$Listener;->access$1000(Lcom/android/server/AppStateTracker$Listener;Lcom/android/server/AppStateTracker;I)V
-PLcom/android/server/AppStateTracker$Listener;->access$1500(Lcom/android/server/AppStateTracker$Listener;Lcom/android/server/AppStateTracker;)V
-PLcom/android/server/AppStateTracker$Listener;->onTempPowerSaveWhitelistChanged(Lcom/android/server/AppStateTracker;)V
-PLcom/android/server/AppStateTracker$Listener;->onUidActiveStateChanged(Lcom/android/server/AppStateTracker;I)V
-PLcom/android/server/AppStateTracker$Listener;->unblockAlarmsForUid(I)V
 PLcom/android/server/AppStateTracker$Listener;->updateAllJobs()V
-PLcom/android/server/AppStateTracker$Listener;->updateJobsForUid(IZ)V
-PLcom/android/server/AppStateTracker$MyHandler;-><init>(Lcom/android/server/AppStateTracker;Landroid/os/Looper;)V
-PLcom/android/server/AppStateTracker$MyHandler;->handleUidActive(I)V
-PLcom/android/server/AppStateTracker$MyHandler;->handleUidGone(IZ)V
-PLcom/android/server/AppStateTracker$MyHandler;->handleUidIdle(IZ)V
-PLcom/android/server/AppStateTracker$MyHandler;->notifyAllWhitelistChanged()V
+PLcom/android/server/AppStateTracker$MyHandler;->notifyForceAllAppsStandbyChanged()V
 PLcom/android/server/AppStateTracker$MyHandler;->notifyTempWhitelistChanged()V
-PLcom/android/server/AppStateTracker$MyHandler;->notifyUidActiveStateChanged(I)V
-PLcom/android/server/AppStateTracker$MyHandler;->notifyUidForegroundStateChanged(I)V
-PLcom/android/server/AppStateTracker$MyHandler;->onUidActive(I)V
-PLcom/android/server/AppStateTracker$MyHandler;->onUidGone(IZ)V
-PLcom/android/server/AppStateTracker$MyHandler;->onUidIdle(IZ)V
-PLcom/android/server/AppStateTracker$MyHandler;->removeUid(IZ)V
-PLcom/android/server/AppStateTracker$MyReceiver;-><init>(Lcom/android/server/AppStateTracker;)V
-PLcom/android/server/AppStateTracker$MyReceiver;-><init>(Lcom/android/server/AppStateTracker;Lcom/android/server/AppStateTracker$1;)V
-PLcom/android/server/AppStateTracker$MyReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/AppStateTracker$StandbyTracker;-><init>(Lcom/android/server/AppStateTracker;)V
-PLcom/android/server/AppStateTracker$StandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
-PLcom/android/server/AppStateTracker$StandbyTracker;->onParoleStateChanged(Z)V
-PLcom/android/server/AppStateTracker$UidObserver;-><init>(Lcom/android/server/AppStateTracker;)V
-PLcom/android/server/AppStateTracker$UidObserver;-><init>(Lcom/android/server/AppStateTracker;Lcom/android/server/AppStateTracker$1;)V
-PLcom/android/server/AppStateTracker$UidObserver;->onUidActive(I)V
-PLcom/android/server/AppStateTracker$UidObserver;->onUidGone(IZ)V
-PLcom/android/server/AppStateTracker$UidObserver;->onUidIdle(IZ)V
-PLcom/android/server/AppStateTracker;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-PLcom/android/server/AppStateTracker;->access$000(Lcom/android/server/AppStateTracker;)Landroid/content/Context;
-PLcom/android/server/AppStateTracker;->access$1900(Landroid/util/SparseBooleanArray;I)Z
-PLcom/android/server/AppStateTracker;->access$300(Lcom/android/server/AppStateTracker;)V
-PLcom/android/server/AppStateTracker;->access$700(Lcom/android/server/AppStateTracker;)Landroid/util/SparseSetArray;
-PLcom/android/server/AppStateTracker;->access$900(Lcom/android/server/AppStateTracker;)[Lcom/android/server/AppStateTracker$Listener;
-PLcom/android/server/AppStateTracker;->addListener(Lcom/android/server/AppStateTracker$Listener;)V
-PLcom/android/server/AppStateTracker;->addUidToArray(Landroid/util/SparseBooleanArray;I)Z
-PLcom/android/server/AppStateTracker;->areAlarmsRestricted(ILjava/lang/String;Z)Z
-PLcom/android/server/AppStateTracker;->cloneListeners()[Lcom/android/server/AppStateTracker$Listener;
-PLcom/android/server/AppStateTracker;->injectActivityManagerInternal()Landroid/app/ActivityManagerInternal;
-PLcom/android/server/AppStateTracker;->injectAppOpsManager()Landroid/app/AppOpsManager;
-PLcom/android/server/AppStateTracker;->injectGetGlobalSettingInt(Ljava/lang/String;I)I
-PLcom/android/server/AppStateTracker;->injectIActivityManager()Landroid/app/IActivityManager;
-PLcom/android/server/AppStateTracker;->injectIAppOpsService()Lcom/android/internal/app/IAppOpsService;
-PLcom/android/server/AppStateTracker;->injectPowerManagerInternal()Landroid/os/PowerManagerInternal;
-PLcom/android/server/AppStateTracker;->injectUsageStatsManagerInternal()Landroid/app/usage/UsageStatsManagerInternal;
 PLcom/android/server/AppStateTracker;->isForceAllAppsStandbyEnabled()Z
 PLcom/android/server/AppStateTracker;->isUidActiveSynced(I)Z
 PLcom/android/server/AppStateTracker;->isUidPowerSaveUserWhitelisted(I)Z
-PLcom/android/server/AppStateTracker;->onSystemServicesReady()V
-PLcom/android/server/AppStateTracker;->refreshForcedAppStandbyUidPackagesLocked()V
-PLcom/android/server/AppStateTracker;->setPowerSaveWhitelistAppIds([I[I[I)V
-PLcom/android/server/AppStateTracker;->toggleForceAllAppsStandbyLocked(Z)V
-PLcom/android/server/AppStateTracker;->updateForceAllAppStandbyState()V
-PLcom/android/server/AttributeCache$Entry;-><init>(Landroid/content/Context;Landroid/content/res/TypedArray;)V
-PLcom/android/server/AttributeCache$Entry;->recycle()V
-PLcom/android/server/AttributeCache$Package;-><init>(Landroid/content/Context;)V
-PLcom/android/server/AttributeCache$Package;->access$000(Lcom/android/server/AttributeCache$Package;)Landroid/util/SparseArray;
-PLcom/android/server/AttributeCache;-><init>(Landroid/content/Context;)V
-PLcom/android/server/AttributeCache;->get(Ljava/lang/String;I[II)Lcom/android/server/AttributeCache$Entry;
-PLcom/android/server/AttributeCache;->init(Landroid/content/Context;)V
-PLcom/android/server/AttributeCache;->instance()Lcom/android/server/AttributeCache;
-PLcom/android/server/AttributeCache;->removePackage(Ljava/lang/String;)V
-PLcom/android/server/AttributeCache;->updateConfiguration(Landroid/content/res/Configuration;)V
-PLcom/android/server/BatteryService$2;-><init>(Lcom/android/server/BatteryService;Landroid/os/Handler;)V
-PLcom/android/server/BatteryService$2;->onChange(Z)V
-PLcom/android/server/BatteryService$3;-><init>(Lcom/android/server/BatteryService;)V
-PLcom/android/server/BatteryService$4;-><init>(Lcom/android/server/BatteryService;)V
-PLcom/android/server/BatteryService$7;-><init>(Lcom/android/server/BatteryService;Landroid/content/Intent;)V
+PLcom/android/server/AppStateTracker;->lambda$onSystemServicesReady$0$AppStateTracker(Landroid/os/PowerSaveState;)V
+PLcom/android/server/BatteryService$10;->run()V
 PLcom/android/server/BatteryService$7;->run()V
-PLcom/android/server/BatteryService$8;-><init>(Lcom/android/server/BatteryService;Landroid/content/Intent;)V
-PLcom/android/server/BatteryService$8;->run()V
-PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;-><init>(Lcom/android/server/BatteryService;)V
-PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;-><init>(Lcom/android/server/BatteryService;Lcom/android/server/BatteryService$1;)V
 PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->getProperty(ILandroid/os/BatteryProperty;)I
-PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->lambda$getProperty$0(Landroid/util/MutableInt;Landroid/os/BatteryProperty;II)V
-PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->lambda$getProperty$2(Landroid/util/MutableInt;Landroid/os/BatteryProperty;II)V
-PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->lambda$getProperty$3(Landroid/util/MutableInt;Landroid/os/BatteryProperty;II)V
-PLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->scheduleUpdate()V
-PLcom/android/server/BatteryService$BinderService;-><init>(Lcom/android/server/BatteryService;)V
-PLcom/android/server/BatteryService$BinderService;-><init>(Lcom/android/server/BatteryService;Lcom/android/server/BatteryService$1;)V
-PLcom/android/server/BatteryService$HealthHalCallback;-><init>(Lcom/android/server/BatteryService;)V
-PLcom/android/server/BatteryService$HealthHalCallback;-><init>(Lcom/android/server/BatteryService;Lcom/android/server/BatteryService$1;)V
-PLcom/android/server/BatteryService$HealthHalCallback;->healthInfoChanged(Landroid/hardware/health/V2_0/HealthInfo;)V
-PLcom/android/server/BatteryService$HealthHalCallback;->onRegistration(Landroid/hardware/health/V2_0/IHealth;Landroid/hardware/health/V2_0/IHealth;Ljava/lang/String;)V
-PLcom/android/server/BatteryService$HealthServiceWrapper$IHealthSupplier;->get(Ljava/lang/String;)Landroid/hardware/health/V2_0/IHealth;
-PLcom/android/server/BatteryService$HealthServiceWrapper$IServiceManagerSupplier;->get()Landroid/hidl/manager/V1_0/IServiceManager;
-PLcom/android/server/BatteryService$HealthServiceWrapper$Notification$1;-><init>(Lcom/android/server/BatteryService$HealthServiceWrapper$Notification;)V
-PLcom/android/server/BatteryService$HealthServiceWrapper$Notification$1;->run()V
-PLcom/android/server/BatteryService$HealthServiceWrapper$Notification;-><init>(Lcom/android/server/BatteryService$HealthServiceWrapper;)V
-PLcom/android/server/BatteryService$HealthServiceWrapper$Notification;-><init>(Lcom/android/server/BatteryService$HealthServiceWrapper;Lcom/android/server/BatteryService$1;)V
-PLcom/android/server/BatteryService$HealthServiceWrapper$Notification;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
-PLcom/android/server/BatteryService$HealthServiceWrapper;-><init>()V
-PLcom/android/server/BatteryService$HealthServiceWrapper;->access$2200(Lcom/android/server/BatteryService$HealthServiceWrapper;)Ljava/lang/String;
-PLcom/android/server/BatteryService$HealthServiceWrapper;->access$2300(Lcom/android/server/BatteryService$HealthServiceWrapper;)Lcom/android/server/BatteryService$HealthServiceWrapper$IHealthSupplier;
-PLcom/android/server/BatteryService$HealthServiceWrapper;->access$2400(Lcom/android/server/BatteryService$HealthServiceWrapper;)Ljava/util/concurrent/atomic/AtomicReference;
-PLcom/android/server/BatteryService$HealthServiceWrapper;->access$2600(Lcom/android/server/BatteryService$HealthServiceWrapper;)Landroid/os/HandlerThread;
-PLcom/android/server/BatteryService$HealthServiceWrapper;->getLastService()Landroid/hardware/health/V2_0/IHealth;
-PLcom/android/server/BatteryService$HealthServiceWrapper;->init(Lcom/android/server/BatteryService$HealthServiceWrapper$Callback;Lcom/android/server/BatteryService$HealthServiceWrapper$IServiceManagerSupplier;Lcom/android/server/BatteryService$HealthServiceWrapper$IHealthSupplier;)V
-PLcom/android/server/BatteryService$Led;-><init>(Lcom/android/server/BatteryService;Landroid/content/Context;Lcom/android/server/lights/LightsManager;)V
-PLcom/android/server/BatteryService$Led;->updateLightsLocked()V
-PLcom/android/server/BatteryService$LocalService;-><init>(Lcom/android/server/BatteryService;)V
-PLcom/android/server/BatteryService$LocalService;-><init>(Lcom/android/server/BatteryService;Lcom/android/server/BatteryService$1;)V
-PLcom/android/server/BatteryService$LocalService;->getBatteryChargeCounter()I
-PLcom/android/server/BatteryService$LocalService;->getBatteryLevel()I
-PLcom/android/server/BatteryService$LocalService;->getBatteryLevelLow()Z
-PLcom/android/server/BatteryService$LocalService;->getPlugType()I
-PLcom/android/server/BatteryService$LocalService;->isPowered(I)Z
-PLcom/android/server/BatteryService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/BatteryService;->access$000(Lcom/android/server/BatteryService;)Ljava/lang/Object;
-PLcom/android/server/BatteryService;->access$1000(Lcom/android/server/BatteryService;)I
-PLcom/android/server/BatteryService;->access$1100(Lcom/android/server/BatteryService;Landroid/hardware/health/V2_0/HealthInfo;)V
-PLcom/android/server/BatteryService;->access$1200(Ljava/lang/String;)V
-PLcom/android/server/BatteryService;->access$1400()V
-PLcom/android/server/BatteryService;->access$1700(Lcom/android/server/BatteryService;)Lcom/android/server/BatteryService$HealthServiceWrapper;
-PLcom/android/server/BatteryService;->access$1800(Lcom/android/server/BatteryService;I)Z
-PLcom/android/server/BatteryService;->access$1900(Lcom/android/server/BatteryService;)I
-PLcom/android/server/BatteryService;->access$2000(Lcom/android/server/BatteryService;)Z
-PLcom/android/server/BatteryService;->access$500(Lcom/android/server/BatteryService;)V
-PLcom/android/server/BatteryService;->access$800(Lcom/android/server/BatteryService;)Landroid/content/Context;
-PLcom/android/server/BatteryService;->access$900(Lcom/android/server/BatteryService;)Landroid/hardware/health/V1_0/HealthInfo;
-PLcom/android/server/BatteryService;->getIconLocked(I)I
-PLcom/android/server/BatteryService;->isPoweredLocked(I)Z
-PLcom/android/server/BatteryService;->lambda$D1kwd7L7yyqN5niz3KWkTepVmUk(Lcom/android/server/BatteryService;)V
-PLcom/android/server/BatteryService;->lambda$sendBatteryChangedIntentLocked$0(Landroid/content/Intent;)V
+PLcom/android/server/BatteryService$BinderService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/BatteryService;->dumpProto(Ljava/io/FileDescriptor;)V
 PLcom/android/server/BatteryService;->logBatteryStatsLocked()V
 PLcom/android/server/BatteryService;->logOutlierLocked(J)V
-PLcom/android/server/BatteryService;->onBootPhase(I)V
-PLcom/android/server/BatteryService;->onStart()V
-PLcom/android/server/BatteryService;->processValuesLocked(Z)V
-PLcom/android/server/BatteryService;->registerHealthCallback()V
-PLcom/android/server/BatteryService;->sendBatteryChangedIntentLocked()V
-PLcom/android/server/BatteryService;->sendBatteryLevelChangedIntentLocked()V
 PLcom/android/server/BatteryService;->sendEnqueuedBatteryLevelChangedEvents()V
-PLcom/android/server/BatteryService;->shouldSendBatteryLowLocked()Z
-PLcom/android/server/BatteryService;->shutdownIfNoPowerLocked()V
-PLcom/android/server/BatteryService;->shutdownIfOverTempLocked()V
-PLcom/android/server/BatteryService;->traceBegin(Ljava/lang/String;)V
-PLcom/android/server/BatteryService;->traceEnd()V
-PLcom/android/server/BatteryService;->updateBatteryWarningLevelLocked()V
-PLcom/android/server/BinderCallsStatsService;-><init>()V
-PLcom/android/server/BinderCallsStatsService;->reset()V
-PLcom/android/server/BinderCallsStatsService;->start()V
-PLcom/android/server/BluetoothManagerService$1;-><init>(Lcom/android/server/BluetoothManagerService;)V
-PLcom/android/server/BluetoothManagerService$1;->onBluetoothStateChange(II)V
-PLcom/android/server/BluetoothManagerService$2;-><init>(Lcom/android/server/BluetoothManagerService;)V
-PLcom/android/server/BluetoothManagerService$2;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
-PLcom/android/server/BluetoothManagerService$3;-><init>(Lcom/android/server/BluetoothManagerService;Landroid/os/Handler;)V
-PLcom/android/server/BluetoothManagerService$4;-><init>(Lcom/android/server/BluetoothManagerService;)V
-PLcom/android/server/BluetoothManagerService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/BluetoothManagerService$5;-><init>(Lcom/android/server/BluetoothManagerService;Landroid/os/Handler;)V
-PLcom/android/server/BluetoothManagerService$ActiveLog;-><init>(Lcom/android/server/BluetoothManagerService;ILjava/lang/String;ZJ)V
-PLcom/android/server/BluetoothManagerService$BluetoothHandler;-><init>(Lcom/android/server/BluetoothManagerService;Landroid/os/Looper;)V
-PLcom/android/server/BluetoothManagerService$BluetoothHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/BluetoothManagerService$BluetoothServiceConnection;-><init>(Lcom/android/server/BluetoothManagerService;)V
-PLcom/android/server/BluetoothManagerService$BluetoothServiceConnection;-><init>(Lcom/android/server/BluetoothManagerService;Lcom/android/server/BluetoothManagerService$1;)V
-PLcom/android/server/BluetoothManagerService$BluetoothServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/BluetoothManagerService$ClientDeathRecipient;-><init>(Lcom/android/server/BluetoothManagerService;Ljava/lang/String;)V
-PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;-><init>(Lcom/android/server/BluetoothManagerService;Landroid/content/Intent;)V
-PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$2000(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;)Z
+PLcom/android/server/BinderCallsStatsService$Internal;->getExportedCallStats()Ljava/util/ArrayList;
+PLcom/android/server/BinderCallsStatsService$Internal;->reset()V
+PLcom/android/server/BinderCallsStatsService$SettingsObserver;->onChange(ZLandroid/net/Uri;I)V
+PLcom/android/server/BluetoothManagerService$ClientDeathRecipient;->binderDied()V
 PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->access$3300(Lcom/android/server/BluetoothManagerService$ProfileServiceConnections;Landroid/bluetooth/IBluetoothProfileServiceConnection;)V
 PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->addProxy(Landroid/bluetooth/IBluetoothProfileServiceConnection;)V
-PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->bindService()Z
 PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/BluetoothManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/BluetoothManagerService;->access$1000(Lcom/android/server/BluetoothManagerService;)Landroid/bluetooth/IBluetooth;
-PLcom/android/server/BluetoothManagerService;->access$1002(Lcom/android/server/BluetoothManagerService;Landroid/bluetooth/IBluetooth;)Landroid/bluetooth/IBluetooth;
-PLcom/android/server/BluetoothManagerService;->access$1300(Lcom/android/server/BluetoothManagerService;)Z
-PLcom/android/server/BluetoothManagerService;->access$1302(Lcom/android/server/BluetoothManagerService;Z)Z
-PLcom/android/server/BluetoothManagerService;->access$1700(Lcom/android/server/BluetoothManagerService;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/BluetoothManagerService;->access$200(Lcom/android/server/BluetoothManagerService;)Lcom/android/server/BluetoothManagerService$BluetoothHandler;
+PLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->removeProxy(Landroid/bluetooth/IBluetoothProfileServiceConnection;)V
 PLcom/android/server/BluetoothManagerService;->access$2400(Lcom/android/server/BluetoothManagerService;)Z
-PLcom/android/server/BluetoothManagerService;->access$2402(Lcom/android/server/BluetoothManagerService;Z)Z
-PLcom/android/server/BluetoothManagerService;->access$2600(Lcom/android/server/BluetoothManagerService;)Z
-PLcom/android/server/BluetoothManagerService;->access$2602(Lcom/android/server/BluetoothManagerService;Z)Z
-PLcom/android/server/BluetoothManagerService;->access$2700(Lcom/android/server/BluetoothManagerService;Z)V
-PLcom/android/server/BluetoothManagerService;->access$3000(Lcom/android/server/BluetoothManagerService;)Landroid/os/RemoteCallbackList;
-PLcom/android/server/BluetoothManagerService;->access$3100(Lcom/android/server/BluetoothManagerService;)Landroid/os/RemoteCallbackList;
 PLcom/android/server/BluetoothManagerService;->access$3200(Lcom/android/server/BluetoothManagerService;)Ljava/util/Map;
 PLcom/android/server/BluetoothManagerService;->access$3402(Lcom/android/server/BluetoothManagerService;Landroid/bluetooth/IBluetoothGatt;)Landroid/bluetooth/IBluetoothGatt;
 PLcom/android/server/BluetoothManagerService;->access$3500(Lcom/android/server/BluetoothManagerService;)V
-PLcom/android/server/BluetoothManagerService;->access$3602(Lcom/android/server/BluetoothManagerService;Landroid/os/IBinder;)Landroid/os/IBinder;
-PLcom/android/server/BluetoothManagerService;->access$3700(Lcom/android/server/BluetoothManagerService;)Z
-PLcom/android/server/BluetoothManagerService;->access$3800(Lcom/android/server/BluetoothManagerService;)Landroid/bluetooth/IBluetoothCallback;
-PLcom/android/server/BluetoothManagerService;->access$3900(Lcom/android/server/BluetoothManagerService;)V
-PLcom/android/server/BluetoothManagerService;->access$4002(Lcom/android/server/BluetoothManagerService;I)I
-PLcom/android/server/BluetoothManagerService;->access$4100(Lcom/android/server/BluetoothManagerService;II)V
 PLcom/android/server/BluetoothManagerService;->access$4300(Lcom/android/server/BluetoothManagerService;)I
-PLcom/android/server/BluetoothManagerService;->access$900(Lcom/android/server/BluetoothManagerService;)Ljava/util/concurrent/locks/ReentrantReadWriteLock;
-PLcom/android/server/BluetoothManagerService;->addActiveLog(ILjava/lang/String;Z)V
-PLcom/android/server/BluetoothManagerService;->bindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)Z
-PLcom/android/server/BluetoothManagerService;->bluetoothStateChangeHandler(II)V
 PLcom/android/server/BluetoothManagerService;->checkIfCallerIsForegroundUser()Z
 PLcom/android/server/BluetoothManagerService;->continueFromBleOnState()V
-PLcom/android/server/BluetoothManagerService;->doBind(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z
 PLcom/android/server/BluetoothManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 PLcom/android/server/BluetoothManagerService;->getAddress()Ljava/lang/String;
 PLcom/android/server/BluetoothManagerService;->getBluetoothGatt()Landroid/bluetooth/IBluetoothGatt;
-PLcom/android/server/BluetoothManagerService;->handleEnable(Z)V
-PLcom/android/server/BluetoothManagerService;->handleOnBootPhase()V
+PLcom/android/server/BluetoothManagerService;->getName()Ljava/lang/String;
 PLcom/android/server/BluetoothManagerService;->handleOnUnlockUser(I)V
-PLcom/android/server/BluetoothManagerService;->isAirplaneModeOn()Z
 PLcom/android/server/BluetoothManagerService;->isBleScanAlwaysAvailable()Z
-PLcom/android/server/BluetoothManagerService;->isBluetoothDisallowed()Z
-PLcom/android/server/BluetoothManagerService;->isBluetoothPersistedStateOn()Z
-PLcom/android/server/BluetoothManagerService;->isBluetoothPersistedStateOnBluetooth()Z
-PLcom/android/server/BluetoothManagerService;->isNameAndAddressSet()Z
-PLcom/android/server/BluetoothManagerService;->loadStoredNameAndAddress()V
 PLcom/android/server/BluetoothManagerService;->persistBluetoothSetting(I)V
-PLcom/android/server/BluetoothManagerService;->registerAdapter(Landroid/bluetooth/IBluetoothManagerCallback;)Landroid/bluetooth/IBluetooth;
-PLcom/android/server/BluetoothManagerService;->registerForBleScanModeChange()V
-PLcom/android/server/BluetoothManagerService;->registerStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
-PLcom/android/server/BluetoothManagerService;->sendBleStateChanged(II)V
-PLcom/android/server/BluetoothManagerService;->sendBluetoothServiceUpCallback()V
 PLcom/android/server/BluetoothManagerService;->sendBluetoothStateCallback(Z)V
-PLcom/android/server/BluetoothManagerService;->sendEnableMsg(ZILjava/lang/String;)V
-PLcom/android/server/BluetoothManagerService;->storeNameAndAddress(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/BluetoothManagerService;->supportBluetoothPersistedState()Z
+PLcom/android/server/BluetoothManagerService;->unbindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)V
 PLcom/android/server/BluetoothManagerService;->unregisterStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
 PLcom/android/server/BluetoothManagerService;->updateBleAppCount(Landroid/os/IBinder;ZLjava/lang/String;)I
-PLcom/android/server/BluetoothService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/BluetoothService;->onBootPhase(I)V
-PLcom/android/server/BluetoothService;->onStart()V
 PLcom/android/server/BluetoothService;->onUnlockUser(I)V
-PLcom/android/server/CertBlacklister$BlacklistObserver;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/content/ContentResolver;)V
-PLcom/android/server/CertBlacklister;-><init>(Landroid/content/Context;)V
-PLcom/android/server/CertBlacklister;->buildPubkeyObserver(Landroid/content/ContentResolver;)Lcom/android/server/CertBlacklister$BlacklistObserver;
-PLcom/android/server/CertBlacklister;->buildSerialObserver(Landroid/content/ContentResolver;)Lcom/android/server/CertBlacklister$BlacklistObserver;
-PLcom/android/server/CertBlacklister;->registerObservers(Landroid/content/ContentResolver;)V
-PLcom/android/server/CommonTimeManagementService$1;-><init>(Lcom/android/server/CommonTimeManagementService;)V
-PLcom/android/server/CommonTimeManagementService$2;-><init>(Lcom/android/server/CommonTimeManagementService;)V
-PLcom/android/server/CommonTimeManagementService$InterfaceScoreRule;-><init>(Ljava/lang/String;B)V
-PLcom/android/server/CommonTimeManagementService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/CommonTimeManagementService;->systemRunning()V
-PLcom/android/server/ConnectivityService$1;-><init>(Lcom/android/server/ConnectivityService;)V
-PLcom/android/server/ConnectivityService$2;-><init>(Lcom/android/server/ConnectivityService;)V
-PLcom/android/server/ConnectivityService$2;->isTetheringSupported()Z
-PLcom/android/server/ConnectivityService$3;-><init>(Lcom/android/server/ConnectivityService;)V
 PLcom/android/server/ConnectivityService$3;->interfaceClassDataActivityChanged(Ljava/lang/String;ZJ)V
-PLcom/android/server/ConnectivityService$4;-><init>(Lcom/android/server/ConnectivityService;)V
+PLcom/android/server/ConnectivityService$4;->onDnsEvent(IIILjava/lang/String;[Ljava/lang/String;IJI)V
 PLcom/android/server/ConnectivityService$4;->onPrivateDnsValidationEvent(ILjava/lang/String;Ljava/lang/String;Z)V
-PLcom/android/server/ConnectivityService$5;-><init>(Lcom/android/server/ConnectivityService;)V
-PLcom/android/server/ConnectivityService$5;->onUidRulesChanged(II)V
-PLcom/android/server/ConnectivityService$6;-><init>(Lcom/android/server/ConnectivityService;)V
-PLcom/android/server/ConnectivityService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/ConnectivityService$7;-><init>(Lcom/android/server/ConnectivityService;)V
 PLcom/android/server/ConnectivityService$7;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/ConnectivityService$InternalHandler;-><init>(Lcom/android/server/ConnectivityService;Landroid/os/Looper;)V
-PLcom/android/server/ConnectivityService$InternalHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/ConnectivityService$LegacyTypeTracker;-><init>(Lcom/android/server/ConnectivityService;)V
 PLcom/android/server/ConnectivityService$LegacyTypeTracker;->add(ILcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/ConnectivityService$LegacyTypeTracker;->addSupportedType(I)V
 PLcom/android/server/ConnectivityService$LegacyTypeTracker;->getNetworkForType(I)Lcom/android/server/connectivity/NetworkAgentInfo;
-PLcom/android/server/ConnectivityService$LegacyTypeTracker;->isTypeSupported(I)Z
 PLcom/android/server/ConnectivityService$LegacyTypeTracker;->maybeLogBroadcast(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkInfo$DetailedState;IZ)V
 PLcom/android/server/ConnectivityService$LegacyTypeTracker;->remove(ILcom/android/server/connectivity/NetworkAgentInfo;Z)V
 PLcom/android/server/ConnectivityService$LegacyTypeTracker;->remove(Lcom/android/server/connectivity/NetworkAgentInfo;Z)V
-PLcom/android/server/ConnectivityService$NetworkFactoryInfo;-><init>(Ljava/lang/String;Landroid/os/Messenger;Lcom/android/internal/util/AsyncChannel;)V
-PLcom/android/server/ConnectivityService$NetworkRequestInfo;-><init>(Lcom/android/server/ConnectivityService;Landroid/os/Messenger;Landroid/net/NetworkRequest;Landroid/os/IBinder;)V
+PLcom/android/server/ConnectivityService$LegacyTypeTracker;->update(Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;-><init>(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;->hideProvisioningNotification()V
+PLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;->notifyNetworkTested(ILjava/lang/String;)V
+PLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;->onNetworkMonitorCreated(Landroid/net/INetworkMonitor;)V
+PLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;->showProvisioningNotification(Ljava/lang/String;)V
+PLcom/android/server/ConnectivityService$NetworkMonitorCallbacks;->showProvisioningNotification(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/ConnectivityService$NetworkRequestInfo;->binderDied()V
-PLcom/android/server/ConnectivityService$NetworkRequestInfo;->enforceRequestCountLimit()V
-PLcom/android/server/ConnectivityService$NetworkRequestInfo;->toString()Ljava/lang/String;
 PLcom/android/server/ConnectivityService$NetworkRequestInfo;->unlinkDeathRecipient()V
-PLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;-><init>(Lcom/android/server/ConnectivityService;Landroid/os/Looper;)V
-PLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->getCaptivePortalMode()I
-PLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->maybeHandleAsyncChannelMessage(Landroid/os/Message;)Z
-PLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->maybeHandleNetworkAgentInfoMessage(Landroid/os/Message;)Z
-PLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->maybeHandleNetworkAgentMessage(Landroid/os/Message;)V
-PLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->maybeHandleNetworkMonitorMessage(Landroid/os/Message;)Z
 PLcom/android/server/ConnectivityService$ReapUnvalidatedNetworks;-><init>(Ljava/lang/String;I)V
-PLcom/android/server/ConnectivityService$SettingsObserver;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-PLcom/android/server/ConnectivityService$SettingsObserver;->observe(Landroid/net/Uri;I)V
 PLcom/android/server/ConnectivityService$UnneededFor;-><init>(Ljava/lang/String;I)V
 PLcom/android/server/ConnectivityService$UnneededFor;->values()[Lcom/android/server/ConnectivityService$UnneededFor;
-PLcom/android/server/ConnectivityService$ValidationLog;-><init>(Landroid/net/Network;Ljava/lang/String;Landroid/util/LocalLog$ReadOnlyLocalLog;)V
-PLcom/android/server/ConnectivityService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Landroid/net/INetworkPolicyManager;)V
-PLcom/android/server/ConnectivityService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Landroid/net/INetworkPolicyManager;Landroid/net/metrics/IpConnectivityLog;)V
-PLcom/android/server/ConnectivityService;->access$000(Ljava/lang/String;)V
-PLcom/android/server/ConnectivityService;->access$100(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;)Z
-PLcom/android/server/ConnectivityService;->access$1000(Lcom/android/server/ConnectivityService;)Ljava/util/HashMap;
-PLcom/android/server/ConnectivityService;->access$1100(Lcom/android/server/ConnectivityService;Landroid/os/Message;)V
-PLcom/android/server/ConnectivityService;->access$1300(Lcom/android/server/ConnectivityService;ILcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkCapabilities;)V
-PLcom/android/server/ConnectivityService;->access$1400(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkInfo;)V
-PLcom/android/server/ConnectivityService;->access$1500(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;I)V
-PLcom/android/server/ConnectivityService;->access$1700(Lcom/android/server/ConnectivityService;I)Lcom/android/server/connectivity/NetworkAgentInfo;
-PLcom/android/server/ConnectivityService;->access$1800(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/ConnectivityService;->access$1900(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/ConnectivityService;->access$200(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkInfo$DetailedState;I)V
-PLcom/android/server/ConnectivityService;->access$2100(I)Z
-PLcom/android/server/ConnectivityService;->access$2300(Lcom/android/server/ConnectivityService;)Lcom/android/server/connectivity/NetworkNotificationManager;
-PLcom/android/server/ConnectivityService;->access$2500(Lcom/android/server/ConnectivityService;)Landroid/content/Context;
-PLcom/android/server/ConnectivityService;->access$2800(Lcom/android/server/ConnectivityService;I)V
-PLcom/android/server/ConnectivityService;->access$2900(Lcom/android/server/ConnectivityService;)V
-PLcom/android/server/ConnectivityService;->access$3100(Lcom/android/server/ConnectivityService;Lcom/android/server/ConnectivityService$NetworkFactoryInfo;)V
-PLcom/android/server/ConnectivityService;->access$3300(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/ConnectivityService;->access$3400(Lcom/android/server/ConnectivityService;Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
-PLcom/android/server/ConnectivityService;->access$3800(Lcom/android/server/ConnectivityService;Landroid/net/NetworkRequest;I)V
-PLcom/android/server/ConnectivityService;->access$400(Lcom/android/server/ConnectivityService;)Z
-PLcom/android/server/ConnectivityService;->access$4100(Lcom/android/server/ConnectivityService;Landroid/net/Network;)V
-PLcom/android/server/ConnectivityService;->access$4200(Lcom/android/server/ConnectivityService;)V
-PLcom/android/server/ConnectivityService;->access$4400(Lcom/android/server/ConnectivityService;Landroid/net/Network;IZ)V
-PLcom/android/server/ConnectivityService;->access$4600(Lcom/android/server/ConnectivityService;Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationUpdate;)V
-PLcom/android/server/ConnectivityService;->access$4700(Lcom/android/server/ConnectivityService;I)V
-PLcom/android/server/ConnectivityService;->access$500(Lcom/android/server/ConnectivityService;IZJ)V
-PLcom/android/server/ConnectivityService;->access$5100(Lcom/android/server/ConnectivityService;I)V
-PLcom/android/server/ConnectivityService;->access$5200(Lcom/android/server/ConnectivityService;Landroid/net/NetworkRequest;)V
-PLcom/android/server/ConnectivityService;->access$5300(Lcom/android/server/ConnectivityService;)Landroid/util/SparseIntArray;
-PLcom/android/server/ConnectivityService;->access$600(Lcom/android/server/ConnectivityService;)Lcom/android/server/ConnectivityService$InternalHandler;
-PLcom/android/server/ConnectivityService;->access$900(Lcom/android/server/ConnectivityService;Landroid/os/Message;)V
-PLcom/android/server/ConnectivityService;->addValidationLogs(Landroid/util/LocalLog$ReadOnlyLocalLog;Landroid/net/Network;Ljava/lang/String;)V
 PLcom/android/server/ConnectivityService;->avoidBadWifi()Z
 PLcom/android/server/ConnectivityService;->callCallbackForRequest(Lcom/android/server/ConnectivityService$NetworkRequestInfo;Lcom/android/server/connectivity/NetworkAgentInfo;II)V
-PLcom/android/server/ConnectivityService;->canonicalizeProxyInfo(Landroid/net/ProxyInfo;)Landroid/net/ProxyInfo;
-PLcom/android/server/ConnectivityService;->checkSettingsPermission()Z
 PLcom/android/server/ConnectivityService;->clearNetworkForRequest(I)V
-PLcom/android/server/ConnectivityService;->createDefaultInternetRequestForTransport(ILandroid/net/NetworkRequest$Type;)Landroid/net/NetworkRequest;
-PLcom/android/server/ConnectivityService;->createDefaultNetworkCapabilitiesForUid(I)Landroid/net/NetworkCapabilities;
-PLcom/android/server/ConnectivityService;->createMultinetworkPolicyTracker(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/Runnable;)Landroid/net/util/MultinetworkPolicyTracker;
-PLcom/android/server/ConnectivityService;->createNetworkMonitor(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkRequest;)Lcom/android/server/connectivity/NetworkMonitor;
-PLcom/android/server/ConnectivityService;->createVpnInfo(Lcom/android/server/connectivity/Vpn;)Lcom/android/internal/net/VpnInfo;
 PLcom/android/server/ConnectivityService;->disconnectAndDestroyNetwork(Lcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/ConnectivityService;->encodeBool(Z)I
-PLcom/android/server/ConnectivityService;->enforceChangePermission()V
-PLcom/android/server/ConnectivityService;->enforceCrossUserPermission(I)V
-PLcom/android/server/ConnectivityService;->enforceInternetPermission()V
-PLcom/android/server/ConnectivityService;->enforceMeteredApnPolicy(Landroid/net/NetworkCapabilities;)V
-PLcom/android/server/ConnectivityService;->enforceNetworkRequestPermissions(Landroid/net/NetworkCapabilities;)V
-PLcom/android/server/ConnectivityService;->enforceTetherAccessPermission()V
-PLcom/android/server/ConnectivityService;->ensureNetworkRequestHasType(Landroid/net/NetworkRequest;)V
+PLcom/android/server/ConnectivityService;->enforceConnectivityRestrictedNetworksPermission()V
 PLcom/android/server/ConnectivityService;->ensureNetworkTransitionWakelock(Ljava/lang/String;)V
-PLcom/android/server/ConnectivityService;->ensureRequestableCapabilities(Landroid/net/NetworkCapabilities;)V
-PLcom/android/server/ConnectivityService;->ensureSufficientPermissionsForRequest(Landroid/net/NetworkCapabilities;II)V
-PLcom/android/server/ConnectivityService;->ensureValidNetworkSpecifier(Landroid/net/NetworkCapabilities;)V
-PLcom/android/server/ConnectivityService;->eventName(I)Ljava/lang/String;
 PLcom/android/server/ConnectivityService;->getActiveLinkProperties()Landroid/net/LinkProperties;
+PLcom/android/server/ConnectivityService;->getActiveNetwork()Landroid/net/Network;
 PLcom/android/server/ConnectivityService;->getAllNetworkInfo()[Landroid/net/NetworkInfo;
 PLcom/android/server/ConnectivityService;->getAllNetworkState()[Landroid/net/NetworkState;
 PLcom/android/server/ConnectivityService;->getAllNetworks()[Landroid/net/Network;
-PLcom/android/server/ConnectivityService;->getAllVpnInfo()[Lcom/android/internal/net/VpnInfo;
+PLcom/android/server/ConnectivityService;->getAvoidBadWifi()Z
 PLcom/android/server/ConnectivityService;->getDefaultNetworkCapabilitiesForUser(I)[Landroid/net/NetworkCapabilities;
 PLcom/android/server/ConnectivityService;->getDefaultNetworks()[Landroid/net/Network;
-PLcom/android/server/ConnectivityService;->getDefaultProxy()Landroid/net/ProxyInfo;
-PLcom/android/server/ConnectivityService;->getFilteredNetworkState(IIZ)Landroid/net/NetworkState;
-PLcom/android/server/ConnectivityService;->getGlobalProxy()Landroid/net/ProxyInfo;
+PLcom/android/server/ConnectivityService;->getFilteredNetworkState(II)Landroid/net/NetworkState;
 PLcom/android/server/ConnectivityService;->getLinkProperties(Landroid/net/Network;)Landroid/net/LinkProperties;
 PLcom/android/server/ConnectivityService;->getLinkProperties(Lcom/android/server/connectivity/NetworkAgentInfo;)Landroid/net/LinkProperties;
+PLcom/android/server/ConnectivityService;->getLinkPropertiesProxyInfo(Landroid/net/Network;)Landroid/net/ProxyInfo;
 PLcom/android/server/ConnectivityService;->getNetworkInfo(I)Landroid/net/NetworkInfo;
-PLcom/android/server/ConnectivityService;->getNetworkPermission(Landroid/net/NetworkCapabilities;)Ljava/lang/String;
+PLcom/android/server/ConnectivityService;->getNetworkStack()Landroid/net/NetworkStackClient;
 PLcom/android/server/ConnectivityService;->getNriForAppRequest(Landroid/net/NetworkRequest;ILjava/lang/String;)Lcom/android/server/ConnectivityService$NetworkRequestInfo;
-PLcom/android/server/ConnectivityService;->getProxyForNetwork(Landroid/net/Network;)Landroid/net/ProxyInfo;
 PLcom/android/server/ConnectivityService;->getSignalStrengthThresholds(Lcom/android/server/connectivity/NetworkAgentInfo;)Ljava/util/ArrayList;
-PLcom/android/server/ConnectivityService;->getSystemProperties()Lcom/android/server/connectivity/MockableSystemProperties;
 PLcom/android/server/ConnectivityService;->getTetherableBluetoothRegexs()[Ljava/lang/String;
 PLcom/android/server/ConnectivityService;->getTetherableUsbRegexs()[Ljava/lang/String;
-PLcom/android/server/ConnectivityService;->getTetherableWifiRegexs()[Ljava/lang/String;
 PLcom/android/server/ConnectivityService;->getTetheredIfaces()[Ljava/lang/String;
 PLcom/android/server/ConnectivityService;->getVpnConfig(I)Lcom/android/internal/net/VpnConfig;
-PLcom/android/server/ConnectivityService;->handleApplyDefaultProxy(Landroid/net/ProxyInfo;)V
 PLcom/android/server/ConnectivityService;->handleAsyncChannelDisconnected(Landroid/os/Message;)V
-PLcom/android/server/ConnectivityService;->handleAsyncChannelHalfConnect(Landroid/os/Message;)V
-PLcom/android/server/ConnectivityService;->handleDeprecatedGlobalHttpProxy()V
-PLcom/android/server/ConnectivityService;->handleMobileDataAlwaysOn()V
-PLcom/android/server/ConnectivityService;->handlePerNetworkPrivateDnsConfig(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/connectivity/DnsManager$PrivateDnsConfig;)V
-PLcom/android/server/ConnectivityService;->handlePrivateDnsValidationUpdate(Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationUpdate;)V
+PLcom/android/server/ConnectivityService;->handleLingerComplete(Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->handleNetworkUnvalidated(Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->handlePerNetworkPrivateDnsConfig(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/shared/PrivateDnsConfig;)V
 PLcom/android/server/ConnectivityService;->handlePromptUnvalidated(Landroid/net/Network;)V
-PLcom/android/server/ConnectivityService;->handleRegisterNetworkAgent(Lcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/ConnectivityService;->handleRegisterNetworkFactory(Lcom/android/server/ConnectivityService$NetworkFactoryInfo;)V
-PLcom/android/server/ConnectivityService;->handleRegisterNetworkRequest(Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
+PLcom/android/server/ConnectivityService;->handleRegisterNetworkAgent(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/INetworkMonitor;)V
 PLcom/android/server/ConnectivityService;->handleReleaseNetworkRequest(Landroid/net/NetworkRequest;I)V
+PLcom/android/server/ConnectivityService;->handleReleaseNetworkRequest(Landroid/net/NetworkRequest;IZ)V
 PLcom/android/server/ConnectivityService;->handleReleaseNetworkTransitionWakelock(I)V
 PLcom/android/server/ConnectivityService;->handleRemoveNetworkRequest(Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
 PLcom/android/server/ConnectivityService;->handleReportNetworkConnectivity(Landroid/net/Network;IZ)V
+PLcom/android/server/ConnectivityService;->handleTimedOutNetworkRequest(Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
 PLcom/android/server/ConnectivityService;->handleUpdateLinkProperties(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/LinkProperties;)V
-PLcom/android/server/ConnectivityService;->hasWifiNetworkListenPermission(Landroid/net/NetworkCapabilities;)Z
-PLcom/android/server/ConnectivityService;->isDefaultNetwork(Lcom/android/server/connectivity/NetworkAgentInfo;)Z
-PLcom/android/server/ConnectivityService;->isDefaultRequest(Lcom/android/server/ConnectivityService$NetworkRequestInfo;)Z
-PLcom/android/server/ConnectivityService;->isNetworkSupported(I)Z
-PLcom/android/server/ConnectivityService;->isTetheringSupported()Z
-PLcom/android/server/ConnectivityService;->isTetheringSupported(Ljava/lang/String;)Z
-PLcom/android/server/ConnectivityService;->listenForNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/NetworkRequest;
-PLcom/android/server/ConnectivityService;->loadGlobalProxy()V
-PLcom/android/server/ConnectivityService;->log(Ljava/lang/String;)V
+PLcom/android/server/ConnectivityService;->isActiveNetworkMetered()Z
+PLcom/android/server/ConnectivityService;->isLiveNetworkAgent(Lcom/android/server/connectivity/NetworkAgentInfo;I)Z
+PLcom/android/server/ConnectivityService;->isNetworkWithLinkPropertiesBlocked(Landroid/net/LinkProperties;IZ)Z
+PLcom/android/server/ConnectivityService;->isUidNetworkingWithVpnBlocked(IIZZ)Z
 PLcom/android/server/ConnectivityService;->makeDefault(Lcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/ConnectivityService;->makeGeneralIntent(Landroid/net/NetworkInfo;Ljava/lang/String;)Landroid/content/Intent;
-PLcom/android/server/ConnectivityService;->makeTethering()Lcom/android/server/connectivity/Tethering;
+PLcom/android/server/ConnectivityService;->makeWakeupMessage(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;ILjava/lang/Object;)Lcom/android/internal/util/WakeupMessage;
+PLcom/android/server/ConnectivityService;->maybeLogBlockedStatusChanged(Lcom/android/server/ConnectivityService$NetworkRequestInfo;Landroid/net/Network;Z)V
 PLcom/android/server/ConnectivityService;->metricsLogger()Lcom/android/server/connectivity/IpConnectivityMetrics$Logger;
 PLcom/android/server/ConnectivityService;->mixInCapabilities(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkCapabilities;)Landroid/net/NetworkCapabilities;
-PLcom/android/server/ConnectivityService;->networkRequiresValidation(Lcom/android/server/connectivity/NetworkAgentInfo;)Z
-PLcom/android/server/ConnectivityService;->nextNetworkRequestId()I
+PLcom/android/server/ConnectivityService;->networkCapabilitiesRestrictedForCallerPermissions(Landroid/net/NetworkCapabilities;II)Landroid/net/NetworkCapabilities;
 PLcom/android/server/ConnectivityService;->notifyIfacesChangedForNetworkStats()V
 PLcom/android/server/ConnectivityService;->notifyLockdownVpn(Lcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/ConnectivityService;->notifyNetworkAvailable(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
 PLcom/android/server/ConnectivityService;->notifyNetworkCallbacks(Lcom/android/server/connectivity/NetworkAgentInfo;I)V
 PLcom/android/server/ConnectivityService;->notifyNetworkCallbacks(Lcom/android/server/connectivity/NetworkAgentInfo;II)V
-PLcom/android/server/ConnectivityService;->onUserStart(I)V
+PLcom/android/server/ConnectivityService;->onPackageAdded(Ljava/lang/String;I)V
+PLcom/android/server/ConnectivityService;->onPackageReplaced(Ljava/lang/String;I)V
+PLcom/android/server/ConnectivityService;->onUserStop(I)V
 PLcom/android/server/ConnectivityService;->onUserUnlocked(I)V
-PLcom/android/server/ConnectivityService;->proxyInfoEqual(Landroid/net/ProxyInfo;Landroid/net/ProxyInfo;)Z
-PLcom/android/server/ConnectivityService;->registerNetdEventCallback()V
-PLcom/android/server/ConnectivityService;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkMisc;)I
-PLcom/android/server/ConnectivityService;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)V
-PLcom/android/server/ConnectivityService;->registerPrivateDnsSettingsCallbacks()V
-PLcom/android/server/ConnectivityService;->registerSettingsCallbacks()V
+PLcom/android/server/ConnectivityService;->processListenRequests(Lcom/android/server/connectivity/NetworkAgentInfo;Z)V
+PLcom/android/server/ConnectivityService;->queryUserAccess(II)Z
+PLcom/android/server/ConnectivityService;->registerNetworkAgent(Landroid/os/Messenger;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/net/NetworkMisc;I)I
 PLcom/android/server/ConnectivityService;->releaseNetworkRequest(Landroid/net/NetworkRequest;)V
-PLcom/android/server/ConnectivityService;->rematchAllNetworksAndRequests(Lcom/android/server/connectivity/NetworkAgentInfo;I)V
+PLcom/android/server/ConnectivityService;->rematchNetworkAndRequests(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/ConnectivityService$ReapUnvalidatedNetworks;J)V
 PLcom/android/server/ConnectivityService;->removeDataActivityTracking(Lcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/ConnectivityService;->reportNetworkConnectivity(Landroid/net/Network;Z)V
-PLcom/android/server/ConnectivityService;->requestNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;ILandroid/os/IBinder;I)Landroid/net/NetworkRequest;
+PLcom/android/server/ConnectivityService;->requestRouteToHostAddress(I[B)Z
 PLcom/android/server/ConnectivityService;->reserveNetId()I
-PLcom/android/server/ConnectivityService;->restrictBackgroundRequestForCaller(Landroid/net/NetworkCapabilities;)V
-PLcom/android/server/ConnectivityService;->restrictRequestUidsForCaller(Landroid/net/NetworkCapabilities;)V
 PLcom/android/server/ConnectivityService;->scheduleReleaseNetworkTransitionWakelock()V
 PLcom/android/server/ConnectivityService;->scheduleUnvalidatedPrompt(Lcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/ConnectivityService;->sendConnectedBroadcast(Landroid/net/NetworkInfo;)V
-PLcom/android/server/ConnectivityService;->sendGeneralBroadcast(Landroid/net/NetworkInfo;Ljava/lang/String;)V
-PLcom/android/server/ConnectivityService;->sendInetConditionBroadcast(Landroid/net/NetworkInfo;)V
+PLcom/android/server/ConnectivityService;->sendDataActivityBroadcast(IZJ)V
 PLcom/android/server/ConnectivityService;->sendLegacyNetworkBroadcast(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkInfo$DetailedState;I)V
 PLcom/android/server/ConnectivityService;->sendStickyBroadcast(Landroid/content/Intent;)V
-PLcom/android/server/ConnectivityService;->sendUpdatedScoreToFactories(Landroid/net/NetworkRequest;I)V
-PLcom/android/server/ConnectivityService;->sendUpdatedScoreToFactories(Lcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/ConnectivityService;->setLockdownTracker(Lcom/android/server/net/LockdownVpnTracker;)V
 PLcom/android/server/ConnectivityService;->setNetworkForRequest(ILcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->setProvisioningNotificationVisible(ZILjava/lang/String;)V
 PLcom/android/server/ConnectivityService;->setupDataActivityTracking(Lcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/ConnectivityService;->startAlwaysOnVpn(I)Z
-PLcom/android/server/ConnectivityService;->systemReady()V
-PLcom/android/server/ConnectivityService;->toBool(I)Z
+PLcom/android/server/ConnectivityService;->startNattKeepalive(Landroid/net/Network;ILandroid/os/Messenger;Landroid/os/IBinder;Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/ConnectivityService;->stopKeepalive(Landroid/net/Network;I)V
+PLcom/android/server/ConnectivityService;->teardownUnneededNetwork(Lcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/ConnectivityService;->unneeded(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/ConnectivityService$UnneededFor;)Z
 PLcom/android/server/ConnectivityService;->updateAllVpnsCapabilities()V
 PLcom/android/server/ConnectivityService;->updateCapabilities(ILcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkCapabilities;)V
@@ -5231,98 +4691,45 @@
 PLcom/android/server/ConnectivityService;->updateInetCondition(Lcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/ConnectivityService;->updateInterfaces(Landroid/net/LinkProperties;Landroid/net/LinkProperties;ILandroid/net/NetworkCapabilities;)V
 PLcom/android/server/ConnectivityService;->updateLingerState(Lcom/android/server/connectivity/NetworkAgentInfo;J)V
-PLcom/android/server/ConnectivityService;->updateLinkProperties(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/LinkProperties;)V
-PLcom/android/server/ConnectivityService;->updateLockdownVpn()Z
+PLcom/android/server/ConnectivityService;->updateLinkProperties(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/LinkProperties;Landroid/net/LinkProperties;)V
 PLcom/android/server/ConnectivityService;->updateMtu(Landroid/net/LinkProperties;Landroid/net/LinkProperties;)V
 PLcom/android/server/ConnectivityService;->updateNetworkInfo(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkInfo;)V
 PLcom/android/server/ConnectivityService;->updateNetworkScore(Lcom/android/server/connectivity/NetworkAgentInfo;I)V
-PLcom/android/server/ConnectivityService;->updatePrivateDns(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/connectivity/DnsManager$PrivateDnsConfig;)V
-PLcom/android/server/ConnectivityService;->updateProxy(Landroid/net/LinkProperties;Landroid/net/LinkProperties;Lcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/ConnectivityService;->updateRoutes(Landroid/net/LinkProperties;Landroid/net/LinkProperties;I)Z
 PLcom/android/server/ConnectivityService;->updateSignalStrengthThresholds(Lcom/android/server/connectivity/NetworkAgentInfo;Ljava/lang/String;Landroid/net/NetworkRequest;)V
-PLcom/android/server/ConnectivityService;->updateTcpBufferSizes(Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/ConnectivityService;->updateTcpBufferSizes(Ljava/lang/String;)V
 PLcom/android/server/ConnectivityService;->updateUids(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;)V
 PLcom/android/server/ConnectivityService;->wakeupModifyInterface(Ljava/lang/String;Landroid/net/NetworkCapabilities;Z)V
-PLcom/android/server/ConsumerIrService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/ContextHubSystemService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/ContextHubSystemService;->lambda$new$0(Lcom/android/server/ContextHubSystemService;Landroid/content/Context;)V
-PLcom/android/server/ContextHubSystemService;->onBootPhase(I)V
-PLcom/android/server/ContextHubSystemService;->onStart()V
-PLcom/android/server/CountryDetectorService$1;-><init>(Lcom/android/server/CountryDetectorService;)V
-PLcom/android/server/CountryDetectorService$2;-><init>(Lcom/android/server/CountryDetectorService;Landroid/location/CountryListener;)V
-PLcom/android/server/CountryDetectorService$2;->run()V
-PLcom/android/server/CountryDetectorService$Receiver;-><init>(Lcom/android/server/CountryDetectorService;Landroid/location/ICountryListener;)V
+PLcom/android/server/CountryDetectorService$1$1;->run()V
+PLcom/android/server/CountryDetectorService$1;->onCountryDetected(Landroid/location/Country;)V
 PLcom/android/server/CountryDetectorService$Receiver;->binderDied()V
-PLcom/android/server/CountryDetectorService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/CountryDetectorService;->access$000(Lcom/android/server/CountryDetectorService;Landroid/os/IBinder;)V
-PLcom/android/server/CountryDetectorService;->access$200(Lcom/android/server/CountryDetectorService;)Lcom/android/server/location/ComprehensiveCountryDetector;
-PLcom/android/server/CountryDetectorService;->addCountryListener(Landroid/location/ICountryListener;)V
-PLcom/android/server/CountryDetectorService;->addListener(Landroid/location/ICountryListener;)V
-PLcom/android/server/CountryDetectorService;->detectCountry()Landroid/location/Country;
-PLcom/android/server/CountryDetectorService;->initialize()V
+PLcom/android/server/CountryDetectorService;->notifyReceivers(Landroid/location/Country;)V
 PLcom/android/server/CountryDetectorService;->removeListener(Landroid/os/IBinder;)V
-PLcom/android/server/CountryDetectorService;->run()V
-PLcom/android/server/CountryDetectorService;->setCountryListener(Landroid/location/CountryListener;)V
-PLcom/android/server/CountryDetectorService;->systemRunning()V
-PLcom/android/server/DeviceIdleController$1;-><init>(Lcom/android/server/DeviceIdleController;)V
-PLcom/android/server/DeviceIdleController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/DeviceIdleController$2;-><init>(Lcom/android/server/DeviceIdleController;)V
 PLcom/android/server/DeviceIdleController$2;->onAlarm()V
-PLcom/android/server/DeviceIdleController$3;-><init>(Lcom/android/server/DeviceIdleController;)V
-PLcom/android/server/DeviceIdleController$4;-><init>(Lcom/android/server/DeviceIdleController;)V
 PLcom/android/server/DeviceIdleController$4;->onAlarm()V
-PLcom/android/server/DeviceIdleController$5;-><init>(Lcom/android/server/DeviceIdleController;)V
 PLcom/android/server/DeviceIdleController$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/DeviceIdleController$6;-><init>(Lcom/android/server/DeviceIdleController;)V
 PLcom/android/server/DeviceIdleController$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/DeviceIdleController$7;-><init>(Lcom/android/server/DeviceIdleController;)V
 PLcom/android/server/DeviceIdleController$7;->onLocationChanged(Landroid/location/Location;)V
-PLcom/android/server/DeviceIdleController$8;-><init>(Lcom/android/server/DeviceIdleController;)V
-PLcom/android/server/DeviceIdleController$9;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$8;->onLocationChanged(Landroid/location/Location;)V
 PLcom/android/server/DeviceIdleController$9;->onAwakeStateChanged(Z)V
-PLcom/android/server/DeviceIdleController$9;->onKeyguardStateChanged(Z)V
-PLcom/android/server/DeviceIdleController$BinderService;-><init>(Lcom/android/server/DeviceIdleController;)V
-PLcom/android/server/DeviceIdleController$BinderService;-><init>(Lcom/android/server/DeviceIdleController;Lcom/android/server/DeviceIdleController$1;)V
+PLcom/android/server/DeviceIdleController$BinderService;->addPowerSaveTempWhitelistApp(Ljava/lang/String;JILjava/lang/String;)V
+PLcom/android/server/DeviceIdleController$BinderService;->addPowerSaveTempWhitelistAppForMms(Ljava/lang/String;ILjava/lang/String;)J
+PLcom/android/server/DeviceIdleController$BinderService;->addPowerSaveTempWhitelistAppForSms(Ljava/lang/String;ILjava/lang/String;)J
 PLcom/android/server/DeviceIdleController$BinderService;->exitIdle(Ljava/lang/String;)V
-PLcom/android/server/DeviceIdleController$BinderService;->getAppIdWhitelist()[I
-PLcom/android/server/DeviceIdleController$BinderService;->getAppIdWhitelistExceptIdle()[I
 PLcom/android/server/DeviceIdleController$BinderService;->isPowerSaveWhitelistApp(Ljava/lang/String;)Z
-PLcom/android/server/DeviceIdleController$Constants;-><init>(Lcom/android/server/DeviceIdleController;Landroid/os/Handler;Landroid/content/ContentResolver;)V
-PLcom/android/server/DeviceIdleController$Constants;->updateConstants()V
-PLcom/android/server/DeviceIdleController$LocalService;-><init>(Lcom/android/server/DeviceIdleController;)V
+PLcom/android/server/DeviceIdleController$Injector;->getLocationManager()Landroid/location/LocationManager;
 PLcom/android/server/DeviceIdleController$LocalService;->addPowerSaveTempWhitelistApp(ILjava/lang/String;JIZLjava/lang/String;)V
 PLcom/android/server/DeviceIdleController$LocalService;->addPowerSaveTempWhitelistAppDirect(IJZLjava/lang/String;)V
 PLcom/android/server/DeviceIdleController$LocalService;->getNotificationWhitelistDuration()J
-PLcom/android/server/DeviceIdleController$LocalService;->getPowerSaveTempWhitelistAppIds()[I
-PLcom/android/server/DeviceIdleController$LocalService;->getPowerSaveWhitelistUserAppIds()[I
-PLcom/android/server/DeviceIdleController$LocalService;->setAlarmsActive(Z)V
 PLcom/android/server/DeviceIdleController$LocalService;->setJobsActive(Z)V
-PLcom/android/server/DeviceIdleController$MotionListener;-><init>(Lcom/android/server/DeviceIdleController;)V
-PLcom/android/server/DeviceIdleController$MotionListener;-><init>(Lcom/android/server/DeviceIdleController;Lcom/android/server/DeviceIdleController$1;)V
+PLcom/android/server/DeviceIdleController$MotionListener;->onTrigger(Landroid/hardware/TriggerEvent;)V
 PLcom/android/server/DeviceIdleController$MotionListener;->registerLocked()Z
 PLcom/android/server/DeviceIdleController$MotionListener;->unregisterLocked()V
-PLcom/android/server/DeviceIdleController$MyHandler;-><init>(Lcom/android/server/DeviceIdleController;Landroid/os/Looper;)V
 PLcom/android/server/DeviceIdleController$MyHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/DeviceIdleController;-><init>(Landroid/content/Context;)V
-PLcom/android/server/DeviceIdleController;->access$100(Lcom/android/server/DeviceIdleController;)Lcom/android/server/DeviceIdleController$Constants;
-PLcom/android/server/DeviceIdleController;->access$1000(Lcom/android/server/DeviceIdleController;)Landroid/content/Intent;
-PLcom/android/server/DeviceIdleController;->access$1100(Lcom/android/server/DeviceIdleController;)Landroid/os/PowerManager$WakeLock;
-PLcom/android/server/DeviceIdleController;->access$1200(Lcom/android/server/DeviceIdleController;)Landroid/content/BroadcastReceiver;
-PLcom/android/server/DeviceIdleController;->access$1300(Lcom/android/server/DeviceIdleController;)Landroid/os/RemoteCallbackList;
-PLcom/android/server/DeviceIdleController;->access$1400(Lcom/android/server/DeviceIdleController;)Lcom/android/server/net/NetworkPolicyManagerInternal;
-PLcom/android/server/DeviceIdleController;->access$200(Lcom/android/server/DeviceIdleController;)Landroid/hardware/Sensor;
-PLcom/android/server/DeviceIdleController;->access$300(Lcom/android/server/DeviceIdleController;)Landroid/hardware/SensorManager;
-PLcom/android/server/DeviceIdleController;->access$400(Lcom/android/server/DeviceIdleController;)Lcom/android/server/DeviceIdleController$MotionListener;
-PLcom/android/server/DeviceIdleController;->access$600(Lcom/android/server/DeviceIdleController;)Landroid/os/PowerManagerInternal;
-PLcom/android/server/DeviceIdleController;->access$700(Lcom/android/server/DeviceIdleController;)Landroid/net/INetworkPolicyManager;
-PLcom/android/server/DeviceIdleController;->access$800(Lcom/android/server/DeviceIdleController;)Lcom/android/internal/app/IBatteryStats;
-PLcom/android/server/DeviceIdleController;->access$900(Lcom/android/server/DeviceIdleController;)Landroid/content/Intent;
 PLcom/android/server/DeviceIdleController;->addEvent(ILjava/lang/String;)V
+PLcom/android/server/DeviceIdleController;->addPowerSaveTempWhitelistAppChecked(Ljava/lang/String;JILjava/lang/String;)V
 PLcom/android/server/DeviceIdleController;->addPowerSaveTempWhitelistAppDirectInternal(IIJZLjava/lang/String;)V
 PLcom/android/server/DeviceIdleController;->addPowerSaveTempWhitelistAppInternal(ILjava/lang/String;JIZLjava/lang/String;)V
-PLcom/android/server/DeviceIdleController;->becomeActiveLocked(Ljava/lang/String;I)V
-PLcom/android/server/DeviceIdleController;->becomeInactiveIfAppropriateLocked()V
-PLcom/android/server/DeviceIdleController;->buildAppIdArray(Landroid/util/ArrayMap;Landroid/util/ArrayMap;Landroid/util/SparseBooleanArray;)[I
 PLcom/android/server/DeviceIdleController;->cancelAlarmLocked()V
 PLcom/android/server/DeviceIdleController;->cancelLightAlarmLocked()V
 PLcom/android/server/DeviceIdleController;->cancelLocatingLocked()V
@@ -5330,1288 +4737,501 @@
 PLcom/android/server/DeviceIdleController;->checkTempAppWhitelistTimeout(I)V
 PLcom/android/server/DeviceIdleController;->decActiveIdleOps()V
 PLcom/android/server/DeviceIdleController;->exitIdleInternal(Ljava/lang/String;)V
-PLcom/android/server/DeviceIdleController;->exitMaintenanceEarlyIfNeededLocked()V
-PLcom/android/server/DeviceIdleController;->getAppIdTempWhitelistInternal()[I
-PLcom/android/server/DeviceIdleController;->getAppIdWhitelistExceptIdleInternal()[I
-PLcom/android/server/DeviceIdleController;->getAppIdWhitelistInternal()[I
-PLcom/android/server/DeviceIdleController;->getPowerSaveWhitelistUserAppIds()[I
-PLcom/android/server/DeviceIdleController;->getSystemDir()Ljava/io/File;
+PLcom/android/server/DeviceIdleController;->handleMotionDetectedLocked(JLjava/lang/String;)V
 PLcom/android/server/DeviceIdleController;->incActiveIdleOps()V
 PLcom/android/server/DeviceIdleController;->isOpsInactiveLocked()Z
 PLcom/android/server/DeviceIdleController;->isPowerSaveWhitelistAppInternal(Ljava/lang/String;)Z
-PLcom/android/server/DeviceIdleController;->keyguardShowingLocked(Z)V
+PLcom/android/server/DeviceIdleController;->lambda$onBootPhase$0$DeviceIdleController(Landroid/os/PowerSaveState;)V
+PLcom/android/server/DeviceIdleController;->motionLocked()V
 PLcom/android/server/DeviceIdleController;->onAnyMotionResult(I)V
 PLcom/android/server/DeviceIdleController;->onAppRemovedFromTempWhitelistLocked(ILjava/lang/String;)V
-PLcom/android/server/DeviceIdleController;->onBootPhase(I)V
-PLcom/android/server/DeviceIdleController;->onStart()V
-PLcom/android/server/DeviceIdleController;->passWhiteListsToForceAppStandbyTrackerLocked()V
-PLcom/android/server/DeviceIdleController;->postTempActiveTimeoutMessage(IJ)V
-PLcom/android/server/DeviceIdleController;->readConfigFileLocked()V
 PLcom/android/server/DeviceIdleController;->receivedGenericLocationLocked(Landroid/location/Location;)V
+PLcom/android/server/DeviceIdleController;->receivedGpsLocationLocked(Landroid/location/Location;)V
+PLcom/android/server/DeviceIdleController;->removePowerSaveWhitelistAppInternal(Ljava/lang/String;)Z
 PLcom/android/server/DeviceIdleController;->reportMaintenanceActivityIfNeededLocked()V
-PLcom/android/server/DeviceIdleController;->reportTempWhitelistChangedLocked()V
-PLcom/android/server/DeviceIdleController;->resetIdleManagementLocked()V
-PLcom/android/server/DeviceIdleController;->resetLightIdleManagementLocked()V
 PLcom/android/server/DeviceIdleController;->scheduleAlarmLocked(JZ)V
 PLcom/android/server/DeviceIdleController;->scheduleLightAlarmLocked(J)V
 PLcom/android/server/DeviceIdleController;->scheduleReportActiveLocked(Ljava/lang/String;I)V
 PLcom/android/server/DeviceIdleController;->scheduleSensingTimeoutAlarmLocked(J)V
-PLcom/android/server/DeviceIdleController;->setAlarmsActive(Z)V
 PLcom/android/server/DeviceIdleController;->setJobsActive(Z)V
 PLcom/android/server/DeviceIdleController;->startMonitoringMotionLocked()V
 PLcom/android/server/DeviceIdleController;->stepIdleStateLocked(Ljava/lang/String;)V
 PLcom/android/server/DeviceIdleController;->stepLightIdleStateLocked(Ljava/lang/String;)V
 PLcom/android/server/DeviceIdleController;->stopMonitoringMotionLocked()V
-PLcom/android/server/DeviceIdleController;->updateChargingLocked(Z)V
-PLcom/android/server/DeviceIdleController;->updateConnectivityState(Landroid/content/Intent;)V
-PLcom/android/server/DeviceIdleController;->updateInteractivityLocked()V
+PLcom/android/server/DeviceIdleController;->updateActiveConstraintsLocked()V
 PLcom/android/server/DeviceIdleController;->updateTempWhitelistAppIdsLocked(IZ)V
-PLcom/android/server/DeviceIdleController;->updateWhitelistAppIdsLocked()V
-PLcom/android/server/DiskStatsService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/DiskStatsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 PLcom/android/server/DiskStatsService;->getRecentPerf()I
-PLcom/android/server/DiskStatsService;->hasOption([Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/DiskStatsService;->reportCachedValues(Ljava/io/PrintWriter;)V
 PLcom/android/server/DiskStatsService;->reportDiskWriteSpeed(Ljava/io/PrintWriter;)V
 PLcom/android/server/DiskStatsService;->reportFreeSpace(Ljava/io/File;Ljava/lang/String;Ljava/io/PrintWriter;Landroid/util/proto/ProtoOutputStream;I)V
-PLcom/android/server/DockObserver$1;-><init>(Lcom/android/server/DockObserver;Z)V
-PLcom/android/server/DockObserver$2;-><init>(Lcom/android/server/DockObserver;)V
-PLcom/android/server/DockObserver$BinderService;-><init>(Lcom/android/server/DockObserver;)V
-PLcom/android/server/DockObserver$BinderService;-><init>(Lcom/android/server/DockObserver;Lcom/android/server/DockObserver$1;)V
-PLcom/android/server/DockObserver;-><init>(Landroid/content/Context;)V
-PLcom/android/server/DockObserver;->init()V
-PLcom/android/server/DockObserver;->onBootPhase(I)V
-PLcom/android/server/DockObserver;->onStart()V
-PLcom/android/server/DropBoxManagerService$1$1;-><init>(Lcom/android/server/DropBoxManagerService$1;)V
-PLcom/android/server/DropBoxManagerService$1$1;->run()V
-PLcom/android/server/DropBoxManagerService$1;-><init>(Lcom/android/server/DropBoxManagerService;)V
-PLcom/android/server/DropBoxManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/DropBoxManagerService$2;-><init>(Lcom/android/server/DropBoxManagerService;)V
-PLcom/android/server/DropBoxManagerService$2;->add(Landroid/os/DropBoxManager$Entry;)V
-PLcom/android/server/DropBoxManagerService$2;->getNextEntry(Ljava/lang/String;J)Landroid/os/DropBoxManager$Entry;
-PLcom/android/server/DropBoxManagerService$2;->isTagEnabled(Ljava/lang/String;)Z
-PLcom/android/server/DropBoxManagerService$3;-><init>(Lcom/android/server/DropBoxManagerService;Landroid/os/Looper;)V
-PLcom/android/server/DropBoxManagerService$3;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/DropBoxManagerService$4;-><init>(Lcom/android/server/DropBoxManagerService;Landroid/os/Handler;)V
-PLcom/android/server/DropBoxManagerService$4;->onChange(Z)V
-PLcom/android/server/DropBoxManagerService$EntryFile;-><init>(J)V
-PLcom/android/server/DropBoxManagerService$EntryFile;-><init>(Ljava/io/File;I)V
-PLcom/android/server/DropBoxManagerService$EntryFile;-><init>(Ljava/io/File;Ljava/io/File;Ljava/lang/String;JII)V
-PLcom/android/server/DropBoxManagerService$EntryFile;->getExtension()Ljava/lang/String;
+PLcom/android/server/DropBoxManagerService$2;->getNextEntry(Ljava/lang/String;JLjava/lang/String;)Landroid/os/DropBoxManager$Entry;
 PLcom/android/server/DropBoxManagerService$EntryFile;->getFile(Ljava/io/File;)Ljava/io/File;
-PLcom/android/server/DropBoxManagerService$EntryFile;->getFilename()Ljava/lang/String;
-PLcom/android/server/DropBoxManagerService$FileList;-><init>()V
-PLcom/android/server/DropBoxManagerService$FileList;-><init>(Lcom/android/server/DropBoxManagerService$1;)V
-PLcom/android/server/DropBoxManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/DropBoxManagerService;-><init>(Landroid/content/Context;Ljava/io/File;Landroid/os/Looper;)V
-PLcom/android/server/DropBoxManagerService;->access$002(Lcom/android/server/DropBoxManagerService;J)J
-PLcom/android/server/DropBoxManagerService;->access$100(Lcom/android/server/DropBoxManagerService;)V
-PLcom/android/server/DropBoxManagerService;->access$200(Lcom/android/server/DropBoxManagerService;)J
-PLcom/android/server/DropBoxManagerService;->access$300(Lcom/android/server/DropBoxManagerService;)Landroid/content/BroadcastReceiver;
-PLcom/android/server/DropBoxManagerService;->enrollEntry(Lcom/android/server/DropBoxManagerService$EntryFile;)V
-PLcom/android/server/DropBoxManagerService;->getNextEntry(Ljava/lang/String;J)Landroid/os/DropBoxManager$Entry;
-PLcom/android/server/DropBoxManagerService;->init()V
-PLcom/android/server/DropBoxManagerService;->onBootPhase(I)V
-PLcom/android/server/DropBoxManagerService;->onStart()V
-PLcom/android/server/EntropyMixer$1;-><init>(Lcom/android/server/EntropyMixer;Landroid/os/Looper;)V
+PLcom/android/server/DropBoxManagerService;->checkPermission(ILjava/lang/String;)Z
+PLcom/android/server/DropBoxManagerService;->getNextEntry(Ljava/lang/String;JLjava/lang/String;)Landroid/os/DropBoxManager$Entry;
+PLcom/android/server/DynamicAndroidService;->connect(Landroid/os/IBinder$DeathRecipient;)Landroid/gsi/IGsiService;
+PLcom/android/server/DynamicAndroidService;->getGsiService()Landroid/gsi/IGsiService;
+PLcom/android/server/DynamicAndroidService;->isInUse()Z
 PLcom/android/server/EntropyMixer$1;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/EntropyMixer$2;-><init>(Lcom/android/server/EntropyMixer;)V
 PLcom/android/server/EntropyMixer$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/EntropyMixer;-><init>(Landroid/content/Context;)V
-PLcom/android/server/EntropyMixer;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/EntropyMixer;->access$000(Lcom/android/server/EntropyMixer;)V
-PLcom/android/server/EntropyMixer;->access$100(Lcom/android/server/EntropyMixer;)V
-PLcom/android/server/EntropyMixer;->access$200(Lcom/android/server/EntropyMixer;)V
-PLcom/android/server/EntropyMixer;->addDeviceSpecificEntropy()V
-PLcom/android/server/EntropyMixer;->addHwRandomEntropy()V
-PLcom/android/server/EntropyMixer;->getSystemDir()Ljava/lang/String;
-PLcom/android/server/EntropyMixer;->loadInitialEntropy()V
-PLcom/android/server/EntropyMixer;->scheduleEntropyWriter()V
-PLcom/android/server/EntropyMixer;->writeEntropy()V
-PLcom/android/server/EventLogTags;->writeBatterySaverSetting(I)V
+PLcom/android/server/EventLogTags;->writeBatterySaverMode(IIIIILjava/lang/String;I)V
 PLcom/android/server/EventLogTags;->writeBatterySavingStats(IIIJIIJII)V
-PLcom/android/server/EventLogTags;->writeDeviceIdle(ILjava/lang/String;)V
-PLcom/android/server/EventLogTags;->writeDeviceIdleLight(ILjava/lang/String;)V
-PLcom/android/server/EventLogTags;->writeDeviceIdleLightStep()V
-PLcom/android/server/EventLogTags;->writeDeviceIdleOffComplete()V
-PLcom/android/server/EventLogTags;->writeDeviceIdleOffPhase(Ljava/lang/String;)V
-PLcom/android/server/EventLogTags;->writeDeviceIdleOffStart(Ljava/lang/String;)V
-PLcom/android/server/EventLogTags;->writeDeviceIdleOnComplete()V
-PLcom/android/server/EventLogTags;->writeDeviceIdleOnPhase(Ljava/lang/String;)V
-PLcom/android/server/EventLogTags;->writeDeviceIdleOnStart()V
-PLcom/android/server/EventLogTags;->writeDeviceIdleStep()V
-PLcom/android/server/EventLogTags;->writeNetstatsMobileSample(JJJJJJJJJJJJJ)V
-PLcom/android/server/EventLogTags;->writeNetstatsWifiSample(JJJJJJJJJJJJJ)V
+PLcom/android/server/EventLogTags;->writeDeviceIdleWakeFromIdle(ILjava/lang/String;)V
+PLcom/android/server/EventLogTags;->writeNotificationActionClicked(Ljava/lang/String;IIIIII)V
 PLcom/android/server/EventLogTags;->writeNotificationAlert(Ljava/lang/String;III)V
 PLcom/android/server/EventLogTags;->writeNotificationCancel(IILjava/lang/String;ILjava/lang/String;IIIILjava/lang/String;)V
-PLcom/android/server/EventLogTags;->writeNotificationCancelAll(IILjava/lang/String;IIIILjava/lang/String;)V
 PLcom/android/server/EventLogTags;->writeNotificationCanceled(Ljava/lang/String;IIIIIILjava/lang/String;)V
 PLcom/android/server/EventLogTags;->writeNotificationClicked(Ljava/lang/String;IIIII)V
-PLcom/android/server/EventLogTags;->writeNotificationExpansion(Ljava/lang/String;IIIII)V
-PLcom/android/server/EventLogTags;->writeNotificationPanelHidden()V
-PLcom/android/server/EventLogTags;->writeNotificationPanelRevealed(I)V
+PLcom/android/server/EventLogTags;->writeNotificationEnqueue(IILjava/lang/String;ILjava/lang/String;ILjava/lang/String;I)V
 PLcom/android/server/EventLogTags;->writeNotificationVisibility(Ljava/lang/String;IIIII)V
 PLcom/android/server/EventLogTags;->writePowerScreenState(IIJII)V
-PLcom/android/server/EventLogTags;->writePowerSleepRequested(I)V
-PLcom/android/server/EventLogTags;->writeStorageState(Ljava/lang/String;IIJJ)V
-PLcom/android/server/EventLogTags;->writeStreamDevicesChanged(III)V
-PLcom/android/server/EventLogTags;->writeUserActivityTimeoutOverride(J)V
-PLcom/android/server/GestureLauncherService$1;-><init>(Lcom/android/server/GestureLauncherService;)V
-PLcom/android/server/GestureLauncherService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/GestureLauncherService$2;-><init>(Lcom/android/server/GestureLauncherService;Landroid/os/Handler;)V
-PLcom/android/server/GestureLauncherService$CameraLiftTriggerEventListener;-><init>(Lcom/android/server/GestureLauncherService;)V
-PLcom/android/server/GestureLauncherService$CameraLiftTriggerEventListener;-><init>(Lcom/android/server/GestureLauncherService;Lcom/android/server/GestureLauncherService$1;)V
-PLcom/android/server/GestureLauncherService$GestureEventListener;-><init>(Lcom/android/server/GestureLauncherService;)V
-PLcom/android/server/GestureLauncherService$GestureEventListener;-><init>(Lcom/android/server/GestureLauncherService;Lcom/android/server/GestureLauncherService$1;)V
-PLcom/android/server/GestureLauncherService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/GestureLauncherService;-><init>(Landroid/content/Context;Lcom/android/internal/logging/MetricsLogger;)V
-PLcom/android/server/GestureLauncherService;->access$202(Lcom/android/server/GestureLauncherService;I)I
-PLcom/android/server/GestureLauncherService;->access$300(Lcom/android/server/GestureLauncherService;)Landroid/database/ContentObserver;
-PLcom/android/server/GestureLauncherService;->access$400(Lcom/android/server/GestureLauncherService;)Landroid/content/Context;
-PLcom/android/server/GestureLauncherService;->access$500(Lcom/android/server/GestureLauncherService;)V
-PLcom/android/server/GestureLauncherService;->access$600(Lcom/android/server/GestureLauncherService;)V
+PLcom/android/server/EventLogTags;->writeVolumeChanged(IIIILjava/lang/String;)V
+PLcom/android/server/GestureLauncherService;->handleCameraGesture(ZI)Z
 PLcom/android/server/GestureLauncherService;->interceptPowerKeyDown(Landroid/view/KeyEvent;ZLandroid/util/MutableBoolean;)Z
-PLcom/android/server/GestureLauncherService;->isCameraDoubleTapPowerEnabled(Landroid/content/res/Resources;)Z
-PLcom/android/server/GestureLauncherService;->isCameraDoubleTapPowerSettingEnabled(Landroid/content/Context;I)Z
-PLcom/android/server/GestureLauncherService;->isCameraLaunchEnabled(Landroid/content/res/Resources;)Z
-PLcom/android/server/GestureLauncherService;->isCameraLaunchSettingEnabled(Landroid/content/Context;I)Z
-PLcom/android/server/GestureLauncherService;->isCameraLiftTriggerEnabled(Landroid/content/res/Resources;)Z
-PLcom/android/server/GestureLauncherService;->isCameraLiftTriggerSettingEnabled(Landroid/content/Context;I)Z
-PLcom/android/server/GestureLauncherService;->isGestureLauncherEnabled(Landroid/content/res/Resources;)Z
-PLcom/android/server/GestureLauncherService;->onBootPhase(I)V
-PLcom/android/server/GestureLauncherService;->onStart()V
-PLcom/android/server/GestureLauncherService;->registerContentObservers()V
-PLcom/android/server/GestureLauncherService;->unregisterCameraLaunchGesture()V
-PLcom/android/server/GestureLauncherService;->unregisterCameraLiftTrigger()V
-PLcom/android/server/GestureLauncherService;->updateCameraDoubleTapPowerEnabled()V
-PLcom/android/server/GestureLauncherService;->updateCameraRegistered()V
-PLcom/android/server/GraphicsStatsService$1;-><init>(Lcom/android/server/GraphicsStatsService;)V
 PLcom/android/server/GraphicsStatsService$1;->handleMessage(Landroid/os/Message;)Z
-PLcom/android/server/GraphicsStatsService$ActiveBuffer;-><init>(Lcom/android/server/GraphicsStatsService;Landroid/view/IGraphicsStatsCallback;IILjava/lang/String;J)V
 PLcom/android/server/GraphicsStatsService$ActiveBuffer;->binderDied()V
-PLcom/android/server/GraphicsStatsService$ActiveBuffer;->closeAllBuffers()V
-PLcom/android/server/GraphicsStatsService$BufferInfo;-><init>(Lcom/android/server/GraphicsStatsService;Ljava/lang/String;JJ)V
 PLcom/android/server/GraphicsStatsService$HistoricalBuffer;-><init>(Lcom/android/server/GraphicsStatsService;Lcom/android/server/GraphicsStatsService$ActiveBuffer;)V
-PLcom/android/server/GraphicsStatsService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/GraphicsStatsService;->access$000(Lcom/android/server/GraphicsStatsService;Lcom/android/server/GraphicsStatsService$HistoricalBuffer;)V
-PLcom/android/server/GraphicsStatsService;->access$100(Lcom/android/server/GraphicsStatsService;)V
-PLcom/android/server/GraphicsStatsService;->access$200(Lcom/android/server/GraphicsStatsService;)I
-PLcom/android/server/GraphicsStatsService;->access$300(Lcom/android/server/GraphicsStatsService;)[B
-PLcom/android/server/GraphicsStatsService;->access$400(Lcom/android/server/GraphicsStatsService;Lcom/android/server/GraphicsStatsService$ActiveBuffer;)V
 PLcom/android/server/GraphicsStatsService;->addToSaveQueue(Lcom/android/server/GraphicsStatsService$ActiveBuffer;)V
 PLcom/android/server/GraphicsStatsService;->deleteOldBuffers()V
-PLcom/android/server/GraphicsStatsService;->fetchActiveBuffersLocked(Landroid/view/IGraphicsStatsCallback;IILjava/lang/String;J)Lcom/android/server/GraphicsStatsService$ActiveBuffer;
-PLcom/android/server/GraphicsStatsService;->getPfd(Landroid/os/MemoryFile;)Landroid/os/ParcelFileDescriptor;
-PLcom/android/server/GraphicsStatsService;->lambda$2EDVu98hsJvSwNgKvijVLSR3IrQ(Lcom/android/server/GraphicsStatsService;)V
-PLcom/android/server/GraphicsStatsService;->normalizeDate(J)Ljava/util/Calendar;
+PLcom/android/server/GraphicsStatsService;->deleteRecursiveLocked(Ljava/io/File;)V
+PLcom/android/server/GraphicsStatsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/GraphicsStatsService;->dumpActiveLocked(JLjava/util/ArrayList;)Ljava/util/HashSet;
+PLcom/android/server/GraphicsStatsService;->dumpHistoricalLocked(JLjava/util/HashSet;)V
 PLcom/android/server/GraphicsStatsService;->onAlarm()V
 PLcom/android/server/GraphicsStatsService;->pathForApp(Lcom/android/server/GraphicsStatsService$BufferInfo;)Ljava/io/File;
 PLcom/android/server/GraphicsStatsService;->processDied(Lcom/android/server/GraphicsStatsService$ActiveBuffer;)V
-PLcom/android/server/GraphicsStatsService;->requestBufferForProcess(Ljava/lang/String;Landroid/view/IGraphicsStatsCallback;)Landroid/os/ParcelFileDescriptor;
-PLcom/android/server/GraphicsStatsService;->requestBufferForProcessLocked(Landroid/view/IGraphicsStatsCallback;IILjava/lang/String;J)Landroid/os/ParcelFileDescriptor;
 PLcom/android/server/GraphicsStatsService;->saveBuffer(Lcom/android/server/GraphicsStatsService$HistoricalBuffer;)V
-PLcom/android/server/GraphicsStatsService;->scheduleRotateLocked()V
-PLcom/android/server/HardwarePropertiesManagerService;-><init>(Landroid/content/Context;)V
 PLcom/android/server/HardwarePropertiesManagerService;->enforceHardwarePropertiesRetrievalAllowed(Ljava/lang/String;)V
 PLcom/android/server/HardwarePropertiesManagerService;->getDeviceTemperatures(Ljava/lang/String;II)[F
-PLcom/android/server/InputMethodManagerService$1;-><init>(Lcom/android/server/InputMethodManagerService;)V
-PLcom/android/server/InputMethodManagerService$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/InputMethodManagerService$2;-><init>(Lcom/android/server/InputMethodManagerService;)V
-PLcom/android/server/InputMethodManagerService$3;-><init>(Lcom/android/server/InputMethodManagerService;)V
-PLcom/android/server/InputMethodManagerService$ClientState;-><init>(Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;II)V
-PLcom/android/server/InputMethodManagerService$ClientState;->toString()Ljava/lang/String;
-PLcom/android/server/InputMethodManagerService$DebugFlag;-><init>(Ljava/lang/String;Z)V
-PLcom/android/server/InputMethodManagerService$DebugFlag;->value()Z
-PLcom/android/server/InputMethodManagerService$HardKeyboardListener;-><init>(Lcom/android/server/InputMethodManagerService;)V
-PLcom/android/server/InputMethodManagerService$HardKeyboardListener;-><init>(Lcom/android/server/InputMethodManagerService;Lcom/android/server/InputMethodManagerService$1;)V
-PLcom/android/server/InputMethodManagerService$ImmsBroadcastReceiver;-><init>(Lcom/android/server/InputMethodManagerService;)V
-PLcom/android/server/InputMethodManagerService$ImmsBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/InputMethodManagerService$InputMethodFileManager;-><init>(Ljava/util/HashMap;I)V
-PLcom/android/server/InputMethodManagerService$InputMethodFileManager;->getAllAdditionalInputMethodSubtypes()Ljava/util/HashMap;
-PLcom/android/server/InputMethodManagerService$InputMethodFileManager;->readAdditionalInputMethodSubtypes(Ljava/util/HashMap;Landroid/util/AtomicFile;)V
-PLcom/android/server/InputMethodManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/InputMethodManagerService$Lifecycle;->onBootPhase(I)V
-PLcom/android/server/InputMethodManagerService$Lifecycle;->onStart()V
-PLcom/android/server/InputMethodManagerService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/InputMethodManagerService$LocalServiceImpl;-><init>(Landroid/os/Handler;)V
-PLcom/android/server/InputMethodManagerService$LocalServiceImpl;->setInteractive(Z)V
-PLcom/android/server/InputMethodManagerService$MethodCallback;-><init>(Lcom/android/server/InputMethodManagerService;Lcom/android/internal/view/IInputMethod;Landroid/view/InputChannel;)V
-PLcom/android/server/InputMethodManagerService$MethodCallback;->sessionCreated(Lcom/android/internal/view/IInputMethodSession;)V
-PLcom/android/server/InputMethodManagerService$MyPackageMonitor;-><init>(Lcom/android/server/InputMethodManagerService;)V
-PLcom/android/server/InputMethodManagerService$MyPackageMonitor;->addKnownImePackageNameLocked(Ljava/lang/String;)V
-PLcom/android/server/InputMethodManagerService$MyPackageMonitor;->clearKnownImePackageNamesLocked()V
-PLcom/android/server/InputMethodManagerService$MyPackageMonitor;->clearPackageChangeState()V
-PLcom/android/server/InputMethodManagerService$MyPackageMonitor;->isChangingPackagesOfCurrentUserLocked()Z
-PLcom/android/server/InputMethodManagerService$MyPackageMonitor;->onBeginPackageChanges()V
-PLcom/android/server/InputMethodManagerService$MyPackageMonitor;->onFinishPackageChanges()V
-PLcom/android/server/InputMethodManagerService$MyPackageMonitor;->onFinishPackageChangesInternal()V
-PLcom/android/server/InputMethodManagerService$MyPackageMonitor;->onPackageAppeared(Ljava/lang/String;I)V
-PLcom/android/server/InputMethodManagerService$MyPackageMonitor;->onPackageDisappeared(Ljava/lang/String;I)V
-PLcom/android/server/InputMethodManagerService$MyPackageMonitor;->onPackageModified(Ljava/lang/String;)V
-PLcom/android/server/InputMethodManagerService$MyPackageMonitor;->shouldRebuildInputMethodListLocked()Z
-PLcom/android/server/InputMethodManagerService$SessionState;-><init>(Lcom/android/server/InputMethodManagerService$ClientState;Lcom/android/internal/view/IInputMethod;Lcom/android/internal/view/IInputMethodSession;Landroid/view/InputChannel;)V
-PLcom/android/server/InputMethodManagerService$SettingsObserver;-><init>(Lcom/android/server/InputMethodManagerService;Landroid/os/Handler;)V
-PLcom/android/server/InputMethodManagerService$SettingsObserver;->registerContentObserverLocked(I)V
-PLcom/android/server/InputMethodManagerService$StartInputHistory$Entry;-><init>(Lcom/android/server/InputMethodManagerService$StartInputInfo;)V
-PLcom/android/server/InputMethodManagerService$StartInputHistory$Entry;->set(Lcom/android/server/InputMethodManagerService$StartInputInfo;)V
-PLcom/android/server/InputMethodManagerService$StartInputHistory;-><init>()V
-PLcom/android/server/InputMethodManagerService$StartInputHistory;-><init>(Lcom/android/server/InputMethodManagerService$1;)V
-PLcom/android/server/InputMethodManagerService$StartInputHistory;->addEntry(Lcom/android/server/InputMethodManagerService$StartInputInfo;)V
-PLcom/android/server/InputMethodManagerService$StartInputHistory;->getEntrySize()I
-PLcom/android/server/InputMethodManagerService$StartInputInfo;-><init>(Landroid/os/IBinder;Ljava/lang/String;IZLandroid/os/IBinder;Landroid/view/inputmethod/EditorInfo;II)V
-PLcom/android/server/InputMethodManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/InputMethodManagerService;->access$500(Lcom/android/server/InputMethodManagerService;I)I
-PLcom/android/server/InputMethodManagerService;->addClient(Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;II)V
-PLcom/android/server/InputMethodManagerService;->attachNewInputLocked(IZ)Lcom/android/internal/view/InputBindResult;
-PLcom/android/server/InputMethodManagerService;->bindCurrentInputMethodServiceLocked(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z
-PLcom/android/server/InputMethodManagerService;->buildInputMethodListLocked(Z)V
-PLcom/android/server/InputMethodManagerService;->calledWithValidToken(Landroid/os/IBinder;)Z
-PLcom/android/server/InputMethodManagerService;->clearClientSessionLocked(Lcom/android/server/InputMethodManagerService$ClientState;)V
-PLcom/android/server/InputMethodManagerService;->clearCurMethodLocked()V
-PLcom/android/server/InputMethodManagerService;->executeOrSendMessage(Landroid/os/IInterface;Landroid/os/Message;)V
-PLcom/android/server/InputMethodManagerService;->finishInput(Lcom/android/internal/view/IInputMethodClient;)V
-PLcom/android/server/InputMethodManagerService;->finishSessionLocked(Lcom/android/server/InputMethodManagerService$SessionState;)V
-PLcom/android/server/InputMethodManagerService;->getAppShowFlags()I
-PLcom/android/server/InputMethodManagerService;->getComponentMatchingFlags(I)I
-PLcom/android/server/InputMethodManagerService;->getCurrentInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;
-PLcom/android/server/InputMethodManagerService;->getCurrentInputMethodSubtypeLocked()Landroid/view/inputmethod/InputMethodSubtype;
-PLcom/android/server/InputMethodManagerService;->getEnabledInputMethodList()Ljava/util/List;
-PLcom/android/server/InputMethodManagerService;->getEnabledInputMethodSubtypeList(Ljava/lang/String;Z)Ljava/util/List;
-PLcom/android/server/InputMethodManagerService;->getImeShowFlags()I
-PLcom/android/server/InputMethodManagerService;->getInputMethodList()Ljava/util/List;
-PLcom/android/server/InputMethodManagerService;->getInputMethodList(Z)Ljava/util/List;
-PLcom/android/server/InputMethodManagerService;->getInputMethodWindowVisibleHeight()I
-PLcom/android/server/InputMethodManagerService;->handleMessage(Landroid/os/Message;)Z
-PLcom/android/server/InputMethodManagerService;->handleSetInteractive(Z)V
-PLcom/android/server/InputMethodManagerService;->hideCurrentInputLocked(ILandroid/os/ResultReceiver;)Z
-PLcom/android/server/InputMethodManagerService;->hideInputMethodMenu()V
-PLcom/android/server/InputMethodManagerService;->hideInputMethodMenuLocked()V
-PLcom/android/server/InputMethodManagerService;->hideSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
-PLcom/android/server/InputMethodManagerService;->isKeyguardLocked()Z
-PLcom/android/server/InputMethodManagerService;->notifyUserAction(I)V
-PLcom/android/server/InputMethodManagerService;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/InputMethodManagerService;->onSessionCreated(Lcom/android/internal/view/IInputMethod;Lcom/android/internal/view/IInputMethodSession;Landroid/view/InputChannel;)V
-PLcom/android/server/InputMethodManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLcom/android/server/InputMethodManagerService;->onUnlockUser(I)V
-PLcom/android/server/InputMethodManagerService;->removeClient(Lcom/android/internal/view/IInputMethodClient;)V
-PLcom/android/server/InputMethodManagerService;->reportFullscreenMode(Landroid/os/IBinder;Z)V
-PLcom/android/server/InputMethodManagerService;->requestClientSessionLocked(Lcom/android/server/InputMethodManagerService$ClientState;)V
-PLcom/android/server/InputMethodManagerService;->resetDefaultImeLocked(Landroid/content/Context;)V
-PLcom/android/server/InputMethodManagerService;->setEnabledSessionInMainThread(Lcom/android/server/InputMethodManagerService$SessionState;)V
-PLcom/android/server/InputMethodManagerService;->setImeWindowStatus(Landroid/os/IBinder;Landroid/os/IBinder;II)V
-PLcom/android/server/InputMethodManagerService;->setInputMethodEnabledLocked(Ljava/lang/String;Z)Z
-PLcom/android/server/InputMethodManagerService;->setInputMethodLocked(Ljava/lang/String;I)V
-PLcom/android/server/InputMethodManagerService;->setSelectedInputMethodAndSubtypeLocked(Landroid/view/inputmethod/InputMethodInfo;IZ)V
-PLcom/android/server/InputMethodManagerService;->shouldOfferSwitchingToNextInputMethod(Landroid/os/IBinder;)Z
-PLcom/android/server/InputMethodManagerService;->shouldShowImeSwitcherLocked(I)Z
-PLcom/android/server/InputMethodManagerService;->showCurrentInputLocked(ILandroid/os/ResultReceiver;)Z
-PLcom/android/server/InputMethodManagerService;->showSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
-PLcom/android/server/InputMethodManagerService;->startInput(ILcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;I)Lcom/android/internal/view/InputBindResult;
-PLcom/android/server/InputMethodManagerService;->startInputInnerLocked()Lcom/android/internal/view/InputBindResult;
-PLcom/android/server/InputMethodManagerService;->startInputLocked(ILcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;I)Lcom/android/internal/view/InputBindResult;
-PLcom/android/server/InputMethodManagerService;->startInputOrWindowGainedFocus(ILcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/view/IInputContext;II)Lcom/android/internal/view/InputBindResult;
-PLcom/android/server/InputMethodManagerService;->startInputUncheckedLocked(Lcom/android/server/InputMethodManagerService$ClientState;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;II)Lcom/android/internal/view/InputBindResult;
-PLcom/android/server/InputMethodManagerService;->systemRunning(Lcom/android/server/statusbar/StatusBarManagerService;)V
-PLcom/android/server/InputMethodManagerService;->unbindCurrentClientLocked(I)V
-PLcom/android/server/InputMethodManagerService;->unbindCurrentMethodLocked(Z)V
-PLcom/android/server/InputMethodManagerService;->updateCurrentProfileIds()V
-PLcom/android/server/InputMethodManagerService;->updateFromSettingsLocked(Z)V
-PLcom/android/server/InputMethodManagerService;->updateInputMethodsFromSettingsLocked(Z)V
-PLcom/android/server/InputMethodManagerService;->updateKeyboardFromSettingsLocked()V
-PLcom/android/server/InputMethodManagerService;->updateStatusIcon(Landroid/os/IBinder;Ljava/lang/String;I)V
-PLcom/android/server/InputMethodManagerService;->updateSystemUiLocked(Landroid/os/IBinder;II)V
-PLcom/android/server/InputMethodManagerService;->windowGainedFocus(ILcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/view/IInputContext;II)Lcom/android/internal/view/InputBindResult;
-PLcom/android/server/IntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
-PLcom/android/server/IntentResolver;->collectFilters([Landroid/content/IntentFilter;Landroid/content/IntentFilter;)Ljava/util/ArrayList;
-PLcom/android/server/IntentResolver;->findFilters(Landroid/content/IntentFilter;)Ljava/util/ArrayList;
-PLcom/android/server/IpSecService$1;-><init>(Lcom/android/server/IpSecService;)V
-PLcom/android/server/IpSecService$1;->run()V
-PLcom/android/server/IpSecService$IpSecServiceConfiguration$1;-><init>()V
-PLcom/android/server/IpSecService$IpSecServiceConfiguration$1;->getNetdInstance()Landroid/net/INetd;
-PLcom/android/server/IpSecService$UserResourceTracker;-><init>()V
-PLcom/android/server/IpSecService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/IpSecService;-><init>(Landroid/content/Context;Lcom/android/server/IpSecService$IpSecServiceConfiguration;)V
-PLcom/android/server/IpSecService;-><init>(Landroid/content/Context;Lcom/android/server/IpSecService$IpSecServiceConfiguration;Lcom/android/server/IpSecService$UidFdTagger;)V
-PLcom/android/server/IpSecService;->connectNativeNetdService()V
-PLcom/android/server/IpSecService;->create(Landroid/content/Context;)Lcom/android/server/IpSecService;
-PLcom/android/server/IpSecService;->isNetdAlive()Z
-PLcom/android/server/IpSecService;->systemReady()V
-PLcom/android/server/LocationManagerService$1;-><init>(Lcom/android/server/LocationManagerService;)V
-PLcom/android/server/LocationManagerService$1;->getPackages(I)[Ljava/lang/String;
-PLcom/android/server/LocationManagerService$2;-><init>(Lcom/android/server/LocationManagerService;)V
-PLcom/android/server/LocationManagerService$3;-><init>(Lcom/android/server/LocationManagerService;)V
-PLcom/android/server/LocationManagerService$3;->onPermissionsChanged(I)V
-PLcom/android/server/LocationManagerService$4$1;-><init>(Lcom/android/server/LocationManagerService$4;II)V
-PLcom/android/server/LocationManagerService$4$1;->run()V
-PLcom/android/server/LocationManagerService$4;-><init>(Lcom/android/server/LocationManagerService;)V
-PLcom/android/server/LocationManagerService$4;->onUidImportance(II)V
-PLcom/android/server/LocationManagerService$5;-><init>(Lcom/android/server/LocationManagerService;Landroid/os/Handler;)V
-PLcom/android/server/LocationManagerService$5;->onChange(Z)V
-PLcom/android/server/LocationManagerService$6;-><init>(Lcom/android/server/LocationManagerService;Landroid/os/Handler;)V
-PLcom/android/server/LocationManagerService$7;-><init>(Lcom/android/server/LocationManagerService;Landroid/os/Handler;)V
-PLcom/android/server/LocationManagerService$8;-><init>(Lcom/android/server/LocationManagerService;)V
-PLcom/android/server/LocationManagerService$8;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/LocationManagerService$9;-><init>(Lcom/android/server/LocationManagerService;)V
-PLcom/android/server/LocationManagerService$9;->onPackageDisappeared(Ljava/lang/String;I)V
-PLcom/android/server/LocationManagerService$Identity;-><init>(IILjava/lang/String;)V
-PLcom/android/server/LocationManagerService$LocationWorkerHandler;-><init>(Lcom/android/server/LocationManagerService;Landroid/os/Looper;)V
-PLcom/android/server/LocationManagerService$LocationWorkerHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/LocationManagerService$Receiver;-><init>(Lcom/android/server/LocationManagerService;Landroid/location/ILocationListener;Landroid/app/PendingIntent;IILjava/lang/String;Landroid/os/WorkSource;Z)V
-PLcom/android/server/LocationManagerService$Receiver;->access$1800(Lcom/android/server/LocationManagerService$Receiver;)V
+PLcom/android/server/IntentResolver;->removeFilter(Landroid/content/IntentFilter;)V
+PLcom/android/server/IntentResolver;->removeFilterInternal(Landroid/content/IntentFilter;)V
+PLcom/android/server/IntentResolver;->remove_all_objects(Landroid/util/ArrayMap;Ljava/lang/String;Ljava/lang/Object;)V
+PLcom/android/server/IntentResolver;->unregister_mime_types(Landroid/content/IntentFilter;Ljava/lang/String;)I
+PLcom/android/server/LocationManagerService$1;->onOpChanged(ILjava/lang/String;)V
+PLcom/android/server/LocationManagerService$7;->onPackageDisappeared(Ljava/lang/String;I)V
+PLcom/android/server/LocationManagerService$LinkedListener;->binderDied()V
+PLcom/android/server/LocationManagerService$LinkedListenerBase;-><init>(Lcom/android/server/location/CallerIdentity;Ljava/lang/String;Lcom/android/server/LocationManagerService$1;)V
+PLcom/android/server/LocationManagerService$LocationProvider;->getPackagesLocked()Ljava/util/List;
+PLcom/android/server/LocationManagerService$LocationProvider;->isPassiveLocked()Z
+PLcom/android/server/LocationManagerService$LocationProvider;->lambda$onReportLocation$0$LocationManagerService$LocationProvider(Landroid/location/Location;)V
+PLcom/android/server/LocationManagerService$LocationProvider;->lambda$onReportLocation$0(Lcom/android/server/LocationManagerService$LocationProvider;Landroid/location/Location;)V
+PLcom/android/server/LocationManagerService$LocationProvider;->onReportLocation(Landroid/location/Location;)V
+PLcom/android/server/LocationManagerService$Receiver;->binderDied()V
 PLcom/android/server/LocationManagerService$Receiver;->callLocationChangedLocked(Landroid/location/Location;)Z
+PLcom/android/server/LocationManagerService$Receiver;->callProviderEnabledLocked(Ljava/lang/String;Z)Z
 PLcom/android/server/LocationManagerService$Receiver;->clearPendingBroadcastsLocked()V
 PLcom/android/server/LocationManagerService$Receiver;->decrementPendingBroadcastsLocked()V
-PLcom/android/server/LocationManagerService$Receiver;->getListener()Landroid/location/ILocationListener;
 PLcom/android/server/LocationManagerService$Receiver;->incrementPendingBroadcastsLocked()V
-PLcom/android/server/LocationManagerService$Receiver;->isListener()Z
-PLcom/android/server/LocationManagerService$Receiver;->updateMonitoring(Z)V
-PLcom/android/server/LocationManagerService$Receiver;->updateMonitoring(ZZI)Z
-PLcom/android/server/LocationManagerService$UpdateRecord;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;Landroid/location/LocationRequest;Lcom/android/server/LocationManagerService$Receiver;)V
+PLcom/android/server/LocationManagerService$Receiver;->onSendFinished(Landroid/app/PendingIntent;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;)V
 PLcom/android/server/LocationManagerService$UpdateRecord;->disposeLocked(Z)V
-PLcom/android/server/LocationManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/LocationManagerService;->access$000(Lcom/android/server/LocationManagerService;)Landroid/content/Context;
-PLcom/android/server/LocationManagerService;->access$100(Lcom/android/server/LocationManagerService;)Ljava/lang/Object;
-PLcom/android/server/LocationManagerService;->access$1100(Lcom/android/server/LocationManagerService;II)I
-PLcom/android/server/LocationManagerService;->access$1200(Lcom/android/server/LocationManagerService;)Landroid/os/PowerManager;
-PLcom/android/server/LocationManagerService;->access$1300(Lcom/android/server/LocationManagerService;Ljava/lang/String;)Z
-PLcom/android/server/LocationManagerService;->access$1400(Lcom/android/server/LocationManagerService;)Ljava/util/HashMap;
-PLcom/android/server/LocationManagerService;->access$1500(Lcom/android/server/LocationManagerService;)Landroid/app/AppOpsManager;
-PLcom/android/server/LocationManagerService;->access$1700(Lcom/android/server/LocationManagerService;Lcom/android/server/LocationManagerService$Receiver;)V
-PLcom/android/server/LocationManagerService;->access$1900(Lcom/android/server/LocationManagerService;)Landroid/app/ActivityManager;
-PLcom/android/server/LocationManagerService;->access$200(Lcom/android/server/LocationManagerService;)Ljava/util/HashMap;
-PLcom/android/server/LocationManagerService;->access$2000(I)Z
-PLcom/android/server/LocationManagerService;->access$2100(Lcom/android/server/LocationManagerService;)Ljava/util/HashMap;
-PLcom/android/server/LocationManagerService;->access$2200(Lcom/android/server/LocationManagerService;)Lcom/android/server/location/LocationRequestStatistics;
-PLcom/android/server/LocationManagerService;->access$2300(Lcom/android/server/LocationManagerService;Landroid/location/Location;Z)V
-PLcom/android/server/LocationManagerService;->access$300(Lcom/android/server/LocationManagerService;)V
-PLcom/android/server/LocationManagerService;->access$400(Lcom/android/server/LocationManagerService;II)V
-PLcom/android/server/LocationManagerService;->access$500(Lcom/android/server/LocationManagerService;)Lcom/android/server/LocationManagerService$LocationWorkerHandler;
-PLcom/android/server/LocationManagerService;->access$600(Lcom/android/server/LocationManagerService;)V
-PLcom/android/server/LocationManagerService;->access$800(Lcom/android/server/LocationManagerService;I)V
+PLcom/android/server/LocationManagerService;->addGnssDataListener(Landroid/os/IInterface;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/location/RemoteListenerHelper;Landroid/util/ArrayMap;Ljava/util/function/Consumer;)Z
 PLcom/android/server/LocationManagerService;->addGnssMeasurementsListener(Landroid/location/IGnssMeasurementsListener;Ljava/lang/String;)Z
-PLcom/android/server/LocationManagerService;->addProviderLocked(Lcom/android/server/location/LocationProviderInterface;)V
-PLcom/android/server/LocationManagerService;->applyAllProviderRequirementsLocked()V
-PLcom/android/server/LocationManagerService;->applyRequirementsLocked(Ljava/lang/String;)V
-PLcom/android/server/LocationManagerService;->checkCallerIsProvider()V
-PLcom/android/server/LocationManagerService;->checkDeviceStatsAllowed()V
-PLcom/android/server/LocationManagerService;->checkListenerOrIntentLocked(Landroid/location/ILocationListener;Landroid/app/PendingIntent;IILjava/lang/String;Landroid/os/WorkSource;Z)Lcom/android/server/LocationManagerService$Receiver;
-PLcom/android/server/LocationManagerService;->checkLocationAccess(IILjava/lang/String;I)Z
-PLcom/android/server/LocationManagerService;->checkResolutionLevelIsSufficientForProviderUse(ILjava/lang/String;)V
-PLcom/android/server/LocationManagerService;->checkUpdateAppOpsAllowed()V
-PLcom/android/server/LocationManagerService;->createSanitizedRequest(Landroid/location/LocationRequest;IZ)Landroid/location/LocationRequest;
-PLcom/android/server/LocationManagerService;->doesUidHavePackage(ILjava/lang/String;)Z
 PLcom/android/server/LocationManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/LocationManagerService;->ensureFallbackFusedProviderPresentLocked(Ljava/util/ArrayList;)V
-PLcom/android/server/LocationManagerService;->geocoderIsPresent()Z
 PLcom/android/server/LocationManagerService;->getAllProviders()Ljava/util/List;
-PLcom/android/server/LocationManagerService;->getAllowedResolutionLevel(II)I
-PLcom/android/server/LocationManagerService;->getMinimumResolutionLevelForProviderUse(Ljava/lang/String;)I
+PLcom/android/server/LocationManagerService;->getBestProvider(Landroid/location/Criteria;Z)Ljava/lang/String;
+PLcom/android/server/LocationManagerService;->getFromLocation(DDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
+PLcom/android/server/LocationManagerService;->getLastLocation(Landroid/location/LocationRequest;Ljava/lang/String;)Landroid/location/Location;
+PLcom/android/server/LocationManagerService;->getLocationControllerExtraPackage()Ljava/lang/String;
 PLcom/android/server/LocationManagerService;->getProviderProperties(Ljava/lang/String;)Lcom/android/internal/location/ProviderProperties;
-PLcom/android/server/LocationManagerService;->getProviders(Landroid/location/Criteria;Z)Ljava/util/List;
-PLcom/android/server/LocationManagerService;->getReceiverLocked(Landroid/location/ILocationListener;IILjava/lang/String;Landroid/os/WorkSource;Z)Lcom/android/server/LocationManagerService$Receiver;
-PLcom/android/server/LocationManagerService;->handleLocationChanged(Landroid/location/Location;Z)V
+PLcom/android/server/LocationManagerService;->getReceiverLocked(Landroid/app/PendingIntent;IILjava/lang/String;Landroid/os/WorkSource;Z)Lcom/android/server/LocationManagerService$Receiver;
+PLcom/android/server/LocationManagerService;->handleLocationChangedLocked(Landroid/location/Location;Lcom/android/server/LocationManagerService$LocationProvider;)V
 PLcom/android/server/LocationManagerService;->hasGnssPermissions(Ljava/lang/String;)Z
-PLcom/android/server/LocationManagerService;->isAllowedByCurrentUserSettingsLocked(Ljava/lang/String;)Z
-PLcom/android/server/LocationManagerService;->isAllowedByUserSettingsLocked(Ljava/lang/String;II)Z
-PLcom/android/server/LocationManagerService;->isAllowedByUserSettingsLockedForUser(Ljava/lang/String;I)Z
-PLcom/android/server/LocationManagerService;->isCurrentProfile(I)Z
-PLcom/android/server/LocationManagerService;->isImportanceForeground(I)Z
-PLcom/android/server/LocationManagerService;->isMockProvider(Ljava/lang/String;)Z
-PLcom/android/server/LocationManagerService;->isProviderEnabledForUser(Ljava/lang/String;I)Z
-PLcom/android/server/LocationManagerService;->isThrottlingExemptLocked(Lcom/android/server/LocationManagerService$Identity;)Z
-PLcom/android/server/LocationManagerService;->isUidALocationProvider(I)Z
+PLcom/android/server/LocationManagerService;->isProviderPackage(Ljava/lang/String;)Z
+PLcom/android/server/LocationManagerService;->isSettingsExemptLocked(Lcom/android/server/LocationManagerService$UpdateRecord;)Z
 PLcom/android/server/LocationManagerService;->isValidWorkSource(Landroid/os/WorkSource;)Z
-PLcom/android/server/LocationManagerService;->loadProvidersLocked()V
+PLcom/android/server/LocationManagerService;->lambda$initializeLocked$2$LocationManagerService(I)V
+PLcom/android/server/LocationManagerService;->lambda$initializeLocked$2(Lcom/android/server/LocationManagerService;I)V
+PLcom/android/server/LocationManagerService;->lambda$new$0$LocationManagerService(I)[Ljava/lang/String;
+PLcom/android/server/LocationManagerService;->lambda$new$1$LocationManagerService(I)[Ljava/lang/String;
+PLcom/android/server/LocationManagerService;->locationCallbackFinished(Landroid/location/ILocationListener;)V
+PLcom/android/server/LocationManagerService;->onAppOpChangedLocked()V
+PLcom/android/server/LocationManagerService;->onPackageDisappearedLocked(Ljava/lang/String;)V
 PLcom/android/server/LocationManagerService;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;Ljava/lang/String;)Z
+PLcom/android/server/LocationManagerService;->removeGnssDataListener(Landroid/os/IInterface;Lcom/android/server/location/RemoteListenerHelper;Landroid/util/ArrayMap;)V
 PLcom/android/server/LocationManagerService;->removeGnssMeasurementsListener(Landroid/location/IGnssMeasurementsListener;)V
 PLcom/android/server/LocationManagerService;->removeUpdates(Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
 PLcom/android/server/LocationManagerService;->removeUpdatesLocked(Lcom/android/server/LocationManagerService$Receiver;)V
-PLcom/android/server/LocationManagerService;->reportLocation(Landroid/location/Location;Z)V
-PLcom/android/server/LocationManagerService;->reportLocationAccessNoThrow(IILjava/lang/String;I)Z
-PLcom/android/server/LocationManagerService;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
-PLcom/android/server/LocationManagerService;->requestLocationUpdatesLocked(Landroid/location/LocationRequest;Lcom/android/server/LocationManagerService$Receiver;IILjava/lang/String;)V
-PLcom/android/server/LocationManagerService;->resolutionLevelToOp(I)I
-PLcom/android/server/LocationManagerService;->shouldBroadcastSafe(Landroid/location/Location;Landroid/location/Location;Lcom/android/server/LocationManagerService$UpdateRecord;J)Z
-PLcom/android/server/LocationManagerService;->switchUser(I)V
-PLcom/android/server/LocationManagerService;->systemRunning()V
+PLcom/android/server/LocationManagerService;->setLocationControllerExtraPackage(Ljava/lang/String;)V
+PLcom/android/server/LocationManagerService;->setLocationControllerExtraPackageEnabled(Z)V
+PLcom/android/server/LocationManagerService;->shouldBroadcastSafeLocked(Landroid/location/Location;Landroid/location/Location;Lcom/android/server/LocationManagerService$UpdateRecord;J)Z
+PLcom/android/server/LocationManagerService;->unlinkFromListenerDeathNotificationLocked(Landroid/os/IBinder;Lcom/android/server/LocationManagerService$LinkedListenerBase;)Z
 PLcom/android/server/LocationManagerService;->unregisterGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
-PLcom/android/server/LocationManagerService;->updateBackgroundThrottlingWhitelistLocked()V
 PLcom/android/server/LocationManagerService;->updateLastLocationLocked(Landroid/location/Location;Ljava/lang/String;)V
-PLcom/android/server/LocationManagerService;->updateProviderListenersLocked(Ljava/lang/String;Z)V
-PLcom/android/server/LocationManagerService;->updateProvidersLocked()V
-PLcom/android/server/LocationManagerService;->updateUserProfiles(I)V
-PLcom/android/server/MmsServiceBroker$1;-><init>(Lcom/android/server/MmsServiceBroker;)V
-PLcom/android/server/MmsServiceBroker$2;-><init>(Lcom/android/server/MmsServiceBroker;)V
-PLcom/android/server/MmsServiceBroker$3;-><init>(Lcom/android/server/MmsServiceBroker;)V
-PLcom/android/server/MmsServiceBroker$BinderService;-><init>(Lcom/android/server/MmsServiceBroker;)V
-PLcom/android/server/MmsServiceBroker$BinderService;-><init>(Lcom/android/server/MmsServiceBroker;Lcom/android/server/MmsServiceBroker$1;)V
-PLcom/android/server/MmsServiceBroker;-><init>(Landroid/content/Context;)V
-PLcom/android/server/MmsServiceBroker;->onStart()V
-PLcom/android/server/MmsServiceBroker;->systemRunning()V
-PLcom/android/server/MountServiceIdler;->scheduleIdlePass(Landroid/content/Context;)V
-PLcom/android/server/MountServiceIdler;->tomorrowMidnight()Ljava/util/Calendar;
-PLcom/android/server/NativeDaemonConnector$Command;-><init>(Ljava/lang/String;[Ljava/lang/Object;)V
-PLcom/android/server/NativeDaemonConnector$Command;->access$000(Lcom/android/server/NativeDaemonConnector$Command;)Ljava/lang/String;
-PLcom/android/server/NativeDaemonConnector$Command;->access$100(Lcom/android/server/NativeDaemonConnector$Command;)Ljava/util/ArrayList;
-PLcom/android/server/NativeDaemonConnector$Command;->appendArg(Ljava/lang/Object;)Lcom/android/server/NativeDaemonConnector$Command;
-PLcom/android/server/NativeDaemonConnector$ResponseQueue$PendingCmd;-><init>(ILjava/lang/String;)V
-PLcom/android/server/NativeDaemonConnector$ResponseQueue;-><init>(I)V
+PLcom/android/server/LooperStatsService$SettingsObserver;->onChange(ZLandroid/net/Uri;I)V
+PLcom/android/server/MmsServiceBroker$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/MmsServiceBroker$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/MmsServiceBroker$BinderService;->adjustUriForUserAndGrantPermission(Landroid/net/Uri;Ljava/lang/String;I)Landroid/net/Uri;
+PLcom/android/server/MmsServiceBroker$BinderService;->downloadMessage(ILjava/lang/String;Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
+PLcom/android/server/MmsServiceBroker$BinderService;->getAutoPersisting()Z
+PLcom/android/server/MmsServiceBroker$BinderService;->getCarrierConfigValues(I)Landroid/os/Bundle;
+PLcom/android/server/MmsServiceBroker$BinderService;->sendMessage(ILjava/lang/String;Landroid/net/Uri;Ljava/lang/String;Landroid/os/Bundle;Landroid/app/PendingIntent;)V
+PLcom/android/server/MmsServiceBroker;->getOrConnectService()Lcom/android/internal/telephony/IMms;
+PLcom/android/server/MmsServiceBroker;->tryConnecting()V
+PLcom/android/server/MountServiceIdler$1;->run()V
+PLcom/android/server/MountServiceIdler;-><init>()V
+PLcom/android/server/MountServiceIdler;->onStartJob(Landroid/app/job/JobParameters;)Z
+PLcom/android/server/MountServiceIdler;->onStopJob(Landroid/app/job/JobParameters;)Z
 PLcom/android/server/NativeDaemonConnector$ResponseQueue;->add(ILcom/android/server/NativeDaemonEvent;)V
 PLcom/android/server/NativeDaemonConnector$ResponseQueue;->remove(IJLjava/lang/String;)Lcom/android/server/NativeDaemonEvent;
-PLcom/android/server/NativeDaemonConnector;-><init>(Lcom/android/server/INativeDaemonConnectorCallbacks;Ljava/lang/String;ILjava/lang/String;ILandroid/os/PowerManager$WakeLock;)V
-PLcom/android/server/NativeDaemonConnector;-><init>(Lcom/android/server/INativeDaemonConnectorCallbacks;Ljava/lang/String;ILjava/lang/String;ILandroid/os/PowerManager$WakeLock;Landroid/os/Looper;)V
-PLcom/android/server/NativeDaemonConnector;->determineSocketAddress()Landroid/net/LocalSocketAddress;
+PLcom/android/server/NativeDaemonConnector;->appendEscaped(Ljava/lang/StringBuilder;Ljava/lang/String;)V
 PLcom/android/server/NativeDaemonConnector;->execute(JLjava/lang/String;[Ljava/lang/Object;)Lcom/android/server/NativeDaemonEvent;
-PLcom/android/server/NativeDaemonConnector;->execute(Lcom/android/server/NativeDaemonConnector$Command;)Lcom/android/server/NativeDaemonEvent;
-PLcom/android/server/NativeDaemonConnector;->execute(Ljava/lang/String;[Ljava/lang/Object;)Lcom/android/server/NativeDaemonEvent;
-PLcom/android/server/NativeDaemonConnector;->executeForList(Ljava/lang/String;[Ljava/lang/Object;)[Lcom/android/server/NativeDaemonEvent;
-PLcom/android/server/NativeDaemonConnector;->handleMessage(Landroid/os/Message;)Z
-PLcom/android/server/NativeDaemonConnector;->isShuttingDown()Z
-PLcom/android/server/NativeDaemonConnector;->log(Ljava/lang/String;)V
-PLcom/android/server/NativeDaemonConnector;->loge(Ljava/lang/String;)V
+PLcom/android/server/NativeDaemonConnector;->executeForList(JLjava/lang/String;[Ljava/lang/Object;)[Lcom/android/server/NativeDaemonEvent;
 PLcom/android/server/NativeDaemonConnector;->makeCommand(Ljava/lang/StringBuilder;Ljava/lang/StringBuilder;ILjava/lang/String;[Ljava/lang/Object;)V
-PLcom/android/server/NativeDaemonConnector;->monitor()V
-PLcom/android/server/NativeDaemonConnector;->run()V
-PLcom/android/server/NativeDaemonEvent;-><init>(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/io/FileDescriptor;)V
-PLcom/android/server/NativeDaemonEvent;->checkCode(I)V
-PLcom/android/server/NativeDaemonEvent;->filterMessageList([Lcom/android/server/NativeDaemonEvent;I)[Ljava/lang/String;
 PLcom/android/server/NativeDaemonEvent;->getCmdNumber()I
-PLcom/android/server/NativeDaemonEvent;->getCode()I
-PLcom/android/server/NativeDaemonEvent;->getMessage()Ljava/lang/String;
-PLcom/android/server/NativeDaemonEvent;->getRawEvent()Ljava/lang/String;
 PLcom/android/server/NativeDaemonEvent;->isClassClientError()Z
 PLcom/android/server/NativeDaemonEvent;->isClassContinue()Z
 PLcom/android/server/NativeDaemonEvent;->isClassServerError()Z
 PLcom/android/server/NativeDaemonEvent;->isClassUnsolicited()Z
 PLcom/android/server/NativeDaemonEvent;->parseRawEvent(Ljava/lang/String;[Ljava/io/FileDescriptor;)Lcom/android/server/NativeDaemonEvent;
 PLcom/android/server/NativeDaemonEvent;->toString()Ljava/lang/String;
-PLcom/android/server/NetworkManagementInternal;-><init>()V
-PLcom/android/server/NetworkManagementService$1;-><init>(Lcom/android/server/NetworkManagementService;I)V
-PLcom/android/server/NetworkManagementService$1;->run()V
-PLcom/android/server/NetworkManagementService$2;-><init>(Lcom/android/server/NetworkManagementService;Lcom/android/server/NetworkManagementService$IdleTimerParams;)V
-PLcom/android/server/NetworkManagementService$2;->run()V
-PLcom/android/server/NetworkManagementService$IdleTimerParams;-><init>(II)V
-PLcom/android/server/NetworkManagementService$LocalService;-><init>(Lcom/android/server/NetworkManagementService;)V
-PLcom/android/server/NetworkManagementService$NetdCallbackReceiver;-><init>(Lcom/android/server/NetworkManagementService;)V
-PLcom/android/server/NetworkManagementService$NetdCallbackReceiver;-><init>(Lcom/android/server/NetworkManagementService;Lcom/android/server/NetworkManagementService$1;)V
-PLcom/android/server/NetworkManagementService$NetdCallbackReceiver;->onCheckHoldWakeLock(I)Z
-PLcom/android/server/NetworkManagementService$NetdCallbackReceiver;->onDaemonConnected()V
-PLcom/android/server/NetworkManagementService$NetdCallbackReceiver;->onEvent(ILjava/lang/String;[Ljava/lang/String;)Z
-PLcom/android/server/NetworkManagementService$NetdTetheringStatsProvider;-><init>(Lcom/android/server/NetworkManagementService;)V
-PLcom/android/server/NetworkManagementService$NetdTetheringStatsProvider;-><init>(Lcom/android/server/NetworkManagementService;Lcom/android/server/NetworkManagementService$1;)V
-PLcom/android/server/NetworkManagementService$SystemServices;-><init>()V
-PLcom/android/server/NetworkManagementService$SystemServices;->getNetd()Landroid/net/INetd;
-PLcom/android/server/NetworkManagementService$SystemServices;->getService(Ljava/lang/String;)Landroid/os/IBinder;
-PLcom/android/server/NetworkManagementService$SystemServices;->registerLocalService(Lcom/android/server/NetworkManagementInternal;)V
-PLcom/android/server/NetworkManagementService;-><init>(Landroid/content/Context;Ljava/lang/String;Lcom/android/server/NetworkManagementService$SystemServices;)V
-PLcom/android/server/NetworkManagementService;->access$1000(Lcom/android/server/NetworkManagementService;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->access$1100(Lcom/android/server/NetworkManagementService;IIJIZ)V
-PLcom/android/server/NetworkManagementService;->access$1200(Lcom/android/server/NetworkManagementService;Ljava/lang/String;Landroid/net/LinkAddress;)V
-PLcom/android/server/NetworkManagementService;->access$1300(Lcom/android/server/NetworkManagementService;Ljava/lang/String;Landroid/net/LinkAddress;)V
-PLcom/android/server/NetworkManagementService;->access$1400(Lcom/android/server/NetworkManagementService;Ljava/lang/String;J[Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->access$1500(Lcom/android/server/NetworkManagementService;Ljava/lang/String;Landroid/net/RouteInfo;)V
-PLcom/android/server/NetworkManagementService;->access$1600(Lcom/android/server/NetworkManagementService;)Landroid/net/INetd;
-PLcom/android/server/NetworkManagementService;->access$200(Lcom/android/server/NetworkManagementService;)Ljava/util/concurrent/CountDownLatch;
-PLcom/android/server/NetworkManagementService;->access$202(Lcom/android/server/NetworkManagementService;Ljava/util/concurrent/CountDownLatch;)Ljava/util/concurrent/CountDownLatch;
-PLcom/android/server/NetworkManagementService;->access$900(Lcom/android/server/NetworkManagementService;Ljava/lang/String;Z)V
+PLcom/android/server/NetworkManagementService$NetdTetheringStatsProvider;->setInterfaceQuota(Ljava/lang/String;J)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceClassActivityChanged$0$NetworkManagementService$NetdUnsolicitedEventListener(IZJI)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceDnsServerInfo$2$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;J[Ljava/lang/String;)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceRemoved$6$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onQuotaLimitReached$1$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceClassActivityChanged(ZIJI)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceDnsServerInfo(Ljava/lang/String;J[Ljava/lang/String;)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceRemoved(Ljava/lang/String;)V
+PLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onQuotaLimitReached(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/NetworkManagementService;->addIdleTimer(Ljava/lang/String;II)V
 PLcom/android/server/NetworkManagementService;->addInterfaceToNetwork(Ljava/lang/String;I)V
 PLcom/android/server/NetworkManagementService;->addRoute(ILandroid/net/RouteInfo;)V
-PLcom/android/server/NetworkManagementService;->clearInterfaceAddresses(Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->closeSocketsForFirewallChainLocked(ILjava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->connectNativeNetdService()V
-PLcom/android/server/NetworkManagementService;->create(Landroid/content/Context;)Lcom/android/server/NetworkManagementService;
-PLcom/android/server/NetworkManagementService;->create(Landroid/content/Context;Ljava/lang/String;Lcom/android/server/NetworkManagementService$SystemServices;)Lcom/android/server/NetworkManagementService;
-PLcom/android/server/NetworkManagementService;->createPhysicalNetwork(ILjava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->disableIpv6(Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->enableIpv6(Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->getBatteryStats()Lcom/android/internal/app/IBatteryStats;
-PLcom/android/server/NetworkManagementService;->getFirewallChainName(I)Ljava/lang/String;
-PLcom/android/server/NetworkManagementService;->getFirewallRuleName(II)Ljava/lang/String;
-PLcom/android/server/NetworkManagementService;->getFirewallType(I)I
-PLcom/android/server/NetworkManagementService;->getInterfaceConfig(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;
-PLcom/android/server/NetworkManagementService;->getNetdService()Landroid/net/INetd;
-PLcom/android/server/NetworkManagementService;->getNetworkStatsSummaryDev()Landroid/net/NetworkStats;
-PLcom/android/server/NetworkManagementService;->getNetworkStatsSummaryXt()Landroid/net/NetworkStats;
-PLcom/android/server/NetworkManagementService;->getNetworkStatsUidDetail(I[Ljava/lang/String;)Landroid/net/NetworkStats;
-PLcom/android/server/NetworkManagementService;->getUidFirewallRulesLR(I)Landroid/util/SparseIntArray;
-PLcom/android/server/NetworkManagementService;->isBandwidthControlEnabled()Z
+PLcom/android/server/NetworkManagementService;->createPhysicalNetwork(II)V
 PLcom/android/server/NetworkManagementService;->isNetworkActive()Z
-PLcom/android/server/NetworkManagementService;->lambda$notifyAddressRemoved$7(Ljava/lang/String;Landroid/net/LinkAddress;Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/NetworkManagementService;->lambda$notifyAddressUpdated$6(Ljava/lang/String;Landroid/net/LinkAddress;Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/NetworkManagementService;->lambda$notifyInterfaceDnsServerInfo$8(Ljava/lang/String;J[Ljava/lang/String;Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/NetworkManagementService;->lambda$notifyInterfaceLinkStateChanged$1(Ljava/lang/String;ZLandroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/NetworkManagementService;->lambda$notifyLimitReached$4(Ljava/lang/String;Ljava/lang/String;Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/NetworkManagementService;->lambda$notifyRouteChange$10(Landroid/net/RouteInfo;Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/NetworkManagementService;->lambda$notifyRouteChange$9(Landroid/net/RouteInfo;Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/NetworkManagementService;->listInterfaces()[Ljava/lang/String;
-PLcom/android/server/NetworkManagementService;->modifyInterfaceInNetwork(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->modifyRoute(Ljava/lang/String;Ljava/lang/String;Landroid/net/RouteInfo;)V
-PLcom/android/server/NetworkManagementService;->monitor()V
-PLcom/android/server/NetworkManagementService;->notifyAddressRemoved(Ljava/lang/String;Landroid/net/LinkAddress;)V
-PLcom/android/server/NetworkManagementService;->notifyAddressUpdated(Ljava/lang/String;Landroid/net/LinkAddress;)V
-PLcom/android/server/NetworkManagementService;->notifyInterfaceClassActivity(IIJIZ)V
-PLcom/android/server/NetworkManagementService;->notifyInterfaceDnsServerInfo(Ljava/lang/String;J[Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->notifyInterfaceLinkStateChanged(Ljava/lang/String;Z)V
-PLcom/android/server/NetworkManagementService;->notifyLimitReached(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->notifyRouteChange(Ljava/lang/String;Landroid/net/RouteInfo;)V
-PLcom/android/server/NetworkManagementService;->prepareNativeDaemon()V
-PLcom/android/server/NetworkManagementService;->registerObserver(Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/NetworkManagementService;->registerTetheringStatsProvider(Landroid/net/ITetheringStatsProvider;Ljava/lang/String;)V
+PLcom/android/server/NetworkManagementService;->lambda$addIdleTimer$12$NetworkManagementService(I)V
+PLcom/android/server/NetworkManagementService;->lambda$removeIdleTimer$13$NetworkManagementService(Lcom/android/server/NetworkManagementService$IdleTimerParams;)V
+PLcom/android/server/NetworkManagementService;->modifyInterfaceInNetwork(ZILjava/lang/String;)V
+PLcom/android/server/NetworkManagementService;->modifyRoute(ZILandroid/net/RouteInfo;)V
+PLcom/android/server/NetworkManagementService;->notifyInterfaceClassActivity(IZJIZ)V
+PLcom/android/server/NetworkManagementService;->registerNetworkActivityListener(Landroid/os/INetworkActivityListener;)V
 PLcom/android/server/NetworkManagementService;->removeIdleTimer(Ljava/lang/String;)V
+PLcom/android/server/NetworkManagementService;->removeInterfaceQuota(Ljava/lang/String;)V
 PLcom/android/server/NetworkManagementService;->removeNetwork(I)V
+PLcom/android/server/NetworkManagementService;->removeRoute(ILandroid/net/RouteInfo;)V
 PLcom/android/server/NetworkManagementService;->reportNetworkActive()V
-PLcom/android/server/NetworkManagementService;->setDataSaverModeEnabled(Z)Z
 PLcom/android/server/NetworkManagementService;->setDefaultNetId(I)V
 PLcom/android/server/NetworkManagementService;->setDnsConfigurationForNetwork(I[Ljava/lang/String;[Ljava/lang/String;[ILjava/lang/String;[Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->setFirewallChainEnabled(IZ)V
-PLcom/android/server/NetworkManagementService;->setFirewallChainState(IZ)V
-PLcom/android/server/NetworkManagementService;->setFirewallEnabled(Z)V
-PLcom/android/server/NetworkManagementService;->setFirewallUidRule(III)V
-PLcom/android/server/NetworkManagementService;->setFirewallUidRuleLocked(III)V
-PLcom/android/server/NetworkManagementService;->setFirewallUidRules(I[I[I)V
-PLcom/android/server/NetworkManagementService;->setGlobalAlert(J)V
-PLcom/android/server/NetworkManagementService;->setIPv6AddrGenMode(Ljava/lang/String;I)V
-PLcom/android/server/NetworkManagementService;->setInterfaceConfig(Ljava/lang/String;Landroid/net/InterfaceConfiguration;)V
-PLcom/android/server/NetworkManagementService;->setInterfaceIpv6PrivacyExtensions(Ljava/lang/String;Z)V
-PLcom/android/server/NetworkManagementService;->setPermission(Ljava/lang/String;[I)V
+PLcom/android/server/NetworkManagementService;->setInterfaceQuota(Ljava/lang/String;J)V
+PLcom/android/server/NetworkManagementService;->setMtu(Ljava/lang/String;I)V
+PLcom/android/server/NetworkManagementService;->setNetworkPermission(II)V
 PLcom/android/server/NetworkManagementService;->setUidMeteredNetworkWhitelist(IZ)V
 PLcom/android/server/NetworkManagementService;->setUidOnMeteredNetworkList(IZZ)V
-PLcom/android/server/NetworkManagementService;->startClatd(Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->stopClatd(Ljava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->syncFirewallChainLocked(ILjava/lang/String;)V
-PLcom/android/server/NetworkManagementService;->systemReady()V
-PLcom/android/server/NetworkManagementService;->unregisterObserver(Landroid/net/INetworkManagementEventObserver;)V
-PLcom/android/server/NetworkManagementService;->updateFirewallUidRuleLocked(III)Z
-PLcom/android/server/NetworkScoreService$1;-><init>(Lcom/android/server/NetworkScoreService;)V
 PLcom/android/server/NetworkScoreService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/NetworkScoreService$2;-><init>(Lcom/android/server/NetworkScoreService;)V
-PLcom/android/server/NetworkScoreService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/NetworkScoreService$3;-><init>(Lcom/android/server/NetworkScoreService;Landroid/os/Handler;)V
-PLcom/android/server/NetworkScoreService$4;-><init>(Lcom/android/server/NetworkScoreService;)V
 PLcom/android/server/NetworkScoreService$4;->getPackages(I)[Ljava/lang/String;
-PLcom/android/server/NetworkScoreService$5;-><init>(Lcom/android/server/NetworkScoreService;)V
-PLcom/android/server/NetworkScoreService$5;->accept(Landroid/net/INetworkScoreCache;Ljava/lang/Object;)V
-PLcom/android/server/NetworkScoreService$5;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/NetworkScoreService$CurrentNetworkScoreCacheFilter;-><init>(Ljava/util/function/Supplier;)V
 PLcom/android/server/NetworkScoreService$CurrentNetworkScoreCacheFilter;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/NetworkScoreService$CurrentNetworkScoreCacheFilter;->apply(Ljava/util/List;)Ljava/util/List;
-PLcom/android/server/NetworkScoreService$DispatchingContentObserver;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-PLcom/android/server/NetworkScoreService$DispatchingContentObserver;->observe(Landroid/net/Uri;I)V
-PLcom/android/server/NetworkScoreService$DispatchingContentObserver;->onChange(ZLandroid/net/Uri;)V
-PLcom/android/server/NetworkScoreService$FilteringCacheUpdatingConsumer;-><init>(Landroid/content/Context;Ljava/util/List;ILjava/util/function/UnaryOperator;Ljava/util/function/UnaryOperator;)V
 PLcom/android/server/NetworkScoreService$FilteringCacheUpdatingConsumer;->accept(Landroid/net/INetworkScoreCache;Ljava/lang/Object;)V
 PLcom/android/server/NetworkScoreService$FilteringCacheUpdatingConsumer;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/NetworkScoreService$FilteringCacheUpdatingConsumer;->create(Landroid/content/Context;Ljava/util/List;I)Lcom/android/server/NetworkScoreService$FilteringCacheUpdatingConsumer;
 PLcom/android/server/NetworkScoreService$FilteringCacheUpdatingConsumer;->filterScores(Ljava/util/List;I)Ljava/util/List;
-PLcom/android/server/NetworkScoreService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/NetworkScoreService$Lifecycle;->onBootPhase(I)V
-PLcom/android/server/NetworkScoreService$Lifecycle;->onStart()V
-PLcom/android/server/NetworkScoreService$NetworkScorerPackageMonitor;-><init>(Lcom/android/server/NetworkScoreService;Ljava/lang/String;)V
-PLcom/android/server/NetworkScoreService$NetworkScorerPackageMonitor;-><init>(Lcom/android/server/NetworkScoreService;Ljava/lang/String;Lcom/android/server/NetworkScoreService$1;)V
 PLcom/android/server/NetworkScoreService$NetworkScorerPackageMonitor;->evaluateBinding(Ljava/lang/String;Z)V
 PLcom/android/server/NetworkScoreService$NetworkScorerPackageMonitor;->onPackageAdded(Ljava/lang/String;I)V
 PLcom/android/server/NetworkScoreService$NetworkScorerPackageMonitor;->onPackageModified(Ljava/lang/String;)V
 PLcom/android/server/NetworkScoreService$NetworkScorerPackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
-PLcom/android/server/NetworkScoreService$ScoringServiceConnection;-><init>(Landroid/net/NetworkScorerAppData;)V
+PLcom/android/server/NetworkScoreService$ScanResultsScoreCacheFilter;-><init>(Ljava/util/function/Supplier;)V
+PLcom/android/server/NetworkScoreService$ScanResultsScoreCacheFilter;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/NetworkScoreService$ScanResultsScoreCacheFilter;->apply(Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/NetworkScoreService$ScanResultsSupplier;->get()Ljava/lang/Object;
+PLcom/android/server/NetworkScoreService$ScanResultsSupplier;->get()Ljava/util/List;
 PLcom/android/server/NetworkScoreService$ScoringServiceConnection;->bind(Landroid/content/Context;)V
 PLcom/android/server/NetworkScoreService$ScoringServiceConnection;->getAppData()Landroid/net/NetworkScorerAppData;
+PLcom/android/server/NetworkScoreService$ScoringServiceConnection;->getPackageName()Ljava/lang/String;
 PLcom/android/server/NetworkScoreService$ScoringServiceConnection;->getRecommendationProvider()Landroid/net/INetworkRecommendationProvider;
 PLcom/android/server/NetworkScoreService$ScoringServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/NetworkScoreService$ServiceHandler;-><init>(Lcom/android/server/NetworkScoreService;Landroid/os/Looper;)V
-PLcom/android/server/NetworkScoreService$ServiceHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/NetworkScoreService$WifiInfoSupplier;-><init>(Landroid/content/Context;)V
-PLcom/android/server/NetworkScoreService$WifiInfoSupplier;->get()Landroid/net/wifi/WifiInfo;
-PLcom/android/server/NetworkScoreService$WifiInfoSupplier;->get()Ljava/lang/Object;
-PLcom/android/server/NetworkScoreService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/NetworkScoreService;-><init>(Landroid/content/Context;Lcom/android/server/NetworkScorerAppManager;Ljava/util/function/Function;Landroid/os/Looper;)V
-PLcom/android/server/NetworkScoreService;->access$000()Z
-PLcom/android/server/NetworkScoreService;->access$100(Lcom/android/server/NetworkScoreService;)V
-PLcom/android/server/NetworkScoreService;->access$200(Lcom/android/server/NetworkScoreService;)Lcom/android/server/NetworkScorerAppManager;
-PLcom/android/server/NetworkScoreService;->access$400(Lcom/android/server/NetworkScoreService;Landroid/net/NetworkScorerAppData;)V
-PLcom/android/server/NetworkScoreService;->access$500(Lcom/android/server/NetworkScoreService;)Landroid/content/Context;
-PLcom/android/server/NetworkScoreService;->bindToScoringServiceIfNeeded()V
-PLcom/android/server/NetworkScoreService;->bindToScoringServiceIfNeeded(Landroid/net/NetworkScorerAppData;)V
-PLcom/android/server/NetworkScoreService;->clearInternal()V
-PLcom/android/server/NetworkScoreService;->enforceSystemOnly()V
+PLcom/android/server/NetworkScoreService$ScoringServiceConnection;->onServiceDisconnected(Landroid/content/ComponentName;)V
+PLcom/android/server/NetworkScoreService$ScoringServiceConnection;->unbind(Landroid/content/Context;)V
+PLcom/android/server/NetworkScoreService;->clearScores()Z
 PLcom/android/server/NetworkScoreService;->getActiveScorer()Landroid/net/NetworkScorerAppData;
 PLcom/android/server/NetworkScoreService;->getRecommendationProvider()Landroid/net/INetworkRecommendationProvider;
-PLcom/android/server/NetworkScoreService;->getScoreCacheLists()Ljava/util/Collection;
 PLcom/android/server/NetworkScoreService;->isCallerActiveScorer(I)Z
 PLcom/android/server/NetworkScoreService;->onUserUnlocked(I)V
-PLcom/android/server/NetworkScoreService;->refreshBinding()V
-PLcom/android/server/NetworkScoreService;->registerNetworkScoreCache(ILandroid/net/INetworkScoreCache;I)V
-PLcom/android/server/NetworkScoreService;->registerPackageMonitorIfNeeded()V
-PLcom/android/server/NetworkScoreService;->registerRecommendationSettingsObserver()V
 PLcom/android/server/NetworkScoreService;->requestScores([Landroid/net/NetworkKey;)Z
-PLcom/android/server/NetworkScoreService;->sendCacheUpdateCallback(Ljava/util/function/BiConsumer;Ljava/util/Collection;)V
-PLcom/android/server/NetworkScoreService;->systemReady()V
 PLcom/android/server/NetworkScoreService;->systemRunning()V
-PLcom/android/server/NetworkScoreService;->unbindFromScoringServiceIfNeeded()V
 PLcom/android/server/NetworkScoreService;->unregisterNetworkScoreCache(ILandroid/net/INetworkScoreCache;)V
 PLcom/android/server/NetworkScoreService;->updateScores([Landroid/net/ScoredNetwork;)Z
-PLcom/android/server/NetworkScorerAppManager$SettingsFacade;-><init>()V
-PLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getInt(Landroid/content/Context;Ljava/lang/String;I)I
 PLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getSecureInt(Landroid/content/Context;Ljava/lang/String;I)I
-PLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getString(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/NetworkScorerAppManager$SettingsFacade;->putInt(Landroid/content/Context;Ljava/lang/String;I)Z
-PLcom/android/server/NetworkScorerAppManager;-><init>(Landroid/content/Context;)V
-PLcom/android/server/NetworkScorerAppManager;-><init>(Landroid/content/Context;Lcom/android/server/NetworkScorerAppManager$SettingsFacade;)V
 PLcom/android/server/NetworkScorerAppManager;->canAccessLocation(ILjava/lang/String;)Z
 PLcom/android/server/NetworkScorerAppManager;->findUseOpenWifiNetworksActivity(Landroid/content/pm/ServiceInfo;)Landroid/content/ComponentName;
-PLcom/android/server/NetworkScorerAppManager;->getActiveScorer()Landroid/net/NetworkScorerAppData;
-PLcom/android/server/NetworkScorerAppManager;->getAllValidScorers()Ljava/util/List;
-PLcom/android/server/NetworkScorerAppManager;->getDefaultPackageSetting()Ljava/lang/String;
 PLcom/android/server/NetworkScorerAppManager;->getNetworkAvailableNotificationChannelId(Landroid/content/pm/ServiceInfo;)Ljava/lang/String;
-PLcom/android/server/NetworkScorerAppManager;->getNetworkRecommendationsEnabledSetting()I
-PLcom/android/server/NetworkScorerAppManager;->getNetworkRecommendationsPackage()Ljava/lang/String;
-PLcom/android/server/NetworkScorerAppManager;->getRecommendationServiceLabel(Landroid/content/pm/ServiceInfo;Landroid/content/pm/PackageManager;)Ljava/lang/String;
-PLcom/android/server/NetworkScorerAppManager;->getScorer(Ljava/lang/String;)Landroid/net/NetworkScorerAppData;
-PLcom/android/server/NetworkScorerAppManager;->hasPermissions(ILjava/lang/String;)Z
-PLcom/android/server/NetworkScorerAppManager;->hasScoreNetworksPermission(Ljava/lang/String;)Z
-PLcom/android/server/NetworkScorerAppManager;->isLocationModeEnabled()Z
-PLcom/android/server/NetworkScorerAppManager;->migrateNetworkScorerAppSettingIfNeeded()V
-PLcom/android/server/NetworkScorerAppManager;->setNetworkRecommendationsEnabledSetting(I)V
-PLcom/android/server/NetworkScorerAppManager;->updateState()V
-PLcom/android/server/NetworkTimeUpdateService$1;-><init>(Lcom/android/server/NetworkTimeUpdateService;)V
-PLcom/android/server/NetworkTimeUpdateService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/NetworkTimeUpdateService$2;-><init>(Lcom/android/server/NetworkTimeUpdateService;)V
-PLcom/android/server/NetworkTimeUpdateService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/NetworkTimeUpdateService$MyHandler;-><init>(Lcom/android/server/NetworkTimeUpdateService;Landroid/os/Looper;)V
-PLcom/android/server/NetworkTimeUpdateService$MyHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/NetworkTimeUpdateService$NetworkTimeUpdateCallback;-><init>(Lcom/android/server/NetworkTimeUpdateService;)V
-PLcom/android/server/NetworkTimeUpdateService$NetworkTimeUpdateCallback;-><init>(Lcom/android/server/NetworkTimeUpdateService;Lcom/android/server/NetworkTimeUpdateService$1;)V
-PLcom/android/server/NetworkTimeUpdateService$NetworkTimeUpdateCallback;->onAvailable(Landroid/net/Network;)V
-PLcom/android/server/NetworkTimeUpdateService$NetworkTimeUpdateCallback;->onLost(Landroid/net/Network;)V
-PLcom/android/server/NetworkTimeUpdateService$SettingsObserver;-><init>(Landroid/os/Handler;I)V
-PLcom/android/server/NetworkTimeUpdateService$SettingsObserver;->observe(Landroid/content/Context;)V
-PLcom/android/server/NetworkTimeUpdateService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/NetworkTimeUpdateService;->access$100(Lcom/android/server/NetworkTimeUpdateService;)Landroid/os/Handler;
-PLcom/android/server/NetworkTimeUpdateService;->access$202(Lcom/android/server/NetworkTimeUpdateService;J)J
-PLcom/android/server/NetworkTimeUpdateService;->access$300(Lcom/android/server/NetworkTimeUpdateService;I)V
-PLcom/android/server/NetworkTimeUpdateService;->access$400(Lcom/android/server/NetworkTimeUpdateService;)Landroid/net/Network;
-PLcom/android/server/NetworkTimeUpdateService;->access$402(Lcom/android/server/NetworkTimeUpdateService;Landroid/net/Network;)Landroid/net/Network;
-PLcom/android/server/NetworkTimeUpdateService;->getNitzAge()J
-PLcom/android/server/NetworkTimeUpdateService;->isAutomaticTimeRequested()Z
-PLcom/android/server/NetworkTimeUpdateService;->onPollNetworkTime(I)V
-PLcom/android/server/NetworkTimeUpdateService;->onPollNetworkTimeUnderWakeLock(I)V
-PLcom/android/server/NetworkTimeUpdateService;->registerForAlarms()V
-PLcom/android/server/NetworkTimeUpdateService;->registerForTelephonyIntents()V
-PLcom/android/server/NetworkTimeUpdateService;->resetAlarm(J)V
-PLcom/android/server/NetworkTimeUpdateService;->systemRunning()V
-PLcom/android/server/NetworkTimeUpdateService;->updateSystemClock(I)V
-PLcom/android/server/NsdService$DaemonConnection;-><init>(Lcom/android/server/NsdService$NativeCallbackReceiver;)V
-PLcom/android/server/NsdService$NativeCallbackReceiver;-><init>(Lcom/android/server/NsdService;)V
-PLcom/android/server/NsdService$NativeCallbackReceiver;->awaitConnection()V
-PLcom/android/server/NsdService$NativeCallbackReceiver;->onDaemonConnected()V
-PLcom/android/server/NsdService$NsdSettings$1;-><init>(Landroid/content/ContentResolver;)V
-PLcom/android/server/NsdService$NsdSettings$1;->isEnabled()Z
-PLcom/android/server/NsdService$NsdSettings$1;->registerContentObserver(Landroid/net/Uri;Landroid/database/ContentObserver;)V
-PLcom/android/server/NsdService$NsdSettings;->makeDefault(Landroid/content/Context;)Lcom/android/server/NsdService$NsdSettings;
-PLcom/android/server/NsdService$NsdStateMachine$1;-><init>(Lcom/android/server/NsdService$NsdStateMachine;Landroid/os/Handler;)V
-PLcom/android/server/NsdService$NsdStateMachine$DefaultState;-><init>(Lcom/android/server/NsdService$NsdStateMachine;)V
-PLcom/android/server/NsdService$NsdStateMachine$DisabledState;-><init>(Lcom/android/server/NsdService$NsdStateMachine;)V
-PLcom/android/server/NsdService$NsdStateMachine$EnabledState;-><init>(Lcom/android/server/NsdService$NsdStateMachine;)V
-PLcom/android/server/NsdService$NsdStateMachine$EnabledState;->enter()V
-PLcom/android/server/NsdService$NsdStateMachine;-><init>(Lcom/android/server/NsdService;Ljava/lang/String;Landroid/os/Handler;)V
-PLcom/android/server/NsdService$NsdStateMachine;->registerForNsdSetting()V
-PLcom/android/server/NsdService;-><init>(Landroid/content/Context;Lcom/android/server/NsdService$NsdSettings;Landroid/os/Handler;Lcom/android/server/NsdService$DaemonConnectionSupplier;)V
-PLcom/android/server/NsdService;->access$000(Lcom/android/server/NsdService;)Z
-PLcom/android/server/NsdService;->access$200(Lcom/android/server/NsdService;)Lcom/android/server/NsdService$NsdSettings;
-PLcom/android/server/NsdService;->access$400(Lcom/android/server/NsdService;)Ljava/util/HashMap;
-PLcom/android/server/NsdService;->access$900(Lcom/android/server/NsdService;Z)V
-PLcom/android/server/NsdService;->create(Landroid/content/Context;)Lcom/android/server/NsdService;
-PLcom/android/server/NsdService;->isNsdEnabled()Z
-PLcom/android/server/NsdService;->sendNsdStateChangeBroadcast(Z)V
-PLcom/android/server/PersistentDataBlockService$1;-><init>(Lcom/android/server/PersistentDataBlockService;)V
+PLcom/android/server/NewNetworkTimeUpdateService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/NewNetworkTimeUpdateService$MyHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/NewNetworkTimeUpdateService$NetworkTimeUpdateCallback;->onAvailable(Landroid/net/Network;)V
+PLcom/android/server/NewNetworkTimeUpdateService$NetworkTimeUpdateCallback;->onLost(Landroid/net/Network;)V
+PLcom/android/server/NewNetworkTimeUpdateService;->onPollNetworkTime(I)V
+PLcom/android/server/NewNetworkTimeUpdateService;->onPollNetworkTimeUnderWakeLock(I)V
+PLcom/android/server/NewNetworkTimeUpdateService;->updateSystemClock(I)V
+PLcom/android/server/NsdService$ClientInfo;-><init>(Lcom/android/server/NsdService;Lcom/android/internal/util/AsyncChannel;Landroid/os/Messenger;)V
+PLcom/android/server/NsdService$ClientInfo;->expungeAllRequests()V
+PLcom/android/server/NsdService$DaemonConnection;->execute([Ljava/lang/Object;)Z
+PLcom/android/server/NsdService$DaemonConnection;->start()V
+PLcom/android/server/NsdService$DaemonConnection;->stop()V
+PLcom/android/server/NsdService$NsdStateMachine$DefaultState;->processMessage(Landroid/os/Message;)Z
+PLcom/android/server/NsdService$NsdStateMachine$EnabledState;->processMessage(Landroid/os/Message;)Z
+PLcom/android/server/NsdService$NsdStateMachine$EnabledState;->requestLimitReached(Lcom/android/server/NsdService$ClientInfo;)Z
+PLcom/android/server/NsdService;->getMessenger()Landroid/os/Messenger;
+PLcom/android/server/PackageWatchdog;->lambda$onPackageFailure$0$PackageWatchdog(Ljava/util/List;)V
+PLcom/android/server/PackageWatchdog;->lambda$onPackageFailure$0(Lcom/android/server/PackageWatchdog;Ljava/util/List;)V
+PLcom/android/server/PackageWatchdog;->onPackageFailure(Ljava/util/List;)V
 PLcom/android/server/PersistentDataBlockService$1;->getFlashLockState()I
 PLcom/android/server/PersistentDataBlockService$1;->getMaximumDataBlockSize()J
 PLcom/android/server/PersistentDataBlockService$1;->read()[B
 PLcom/android/server/PersistentDataBlockService$1;->write([B)I
-PLcom/android/server/PersistentDataBlockService$2;-><init>(Lcom/android/server/PersistentDataBlockService;)V
-PLcom/android/server/PersistentDataBlockService$2;->forceOemUnlockEnabled(Z)V
-PLcom/android/server/PersistentDataBlockService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/PersistentDataBlockService;->access$000(Lcom/android/server/PersistentDataBlockService;I)V
-PLcom/android/server/PersistentDataBlockService;->access$100(Lcom/android/server/PersistentDataBlockService;)J
-PLcom/android/server/PersistentDataBlockService;->access$1300(Lcom/android/server/PersistentDataBlockService;Z)V
-PLcom/android/server/PersistentDataBlockService;->access$1400(Lcom/android/server/PersistentDataBlockService;)V
-PLcom/android/server/PersistentDataBlockService;->access$200(Lcom/android/server/PersistentDataBlockService;)Ljava/lang/String;
-PLcom/android/server/PersistentDataBlockService;->access$400(Lcom/android/server/PersistentDataBlockService;)Ljava/lang/Object;
-PLcom/android/server/PersistentDataBlockService;->access$500(Lcom/android/server/PersistentDataBlockService;)Z
-PLcom/android/server/PersistentDataBlockService;->access$600(Lcom/android/server/PersistentDataBlockService;)Z
-PLcom/android/server/PersistentDataBlockService;->access$700(Lcom/android/server/PersistentDataBlockService;)Z
-PLcom/android/server/PersistentDataBlockService;->access$800(Lcom/android/server/PersistentDataBlockService;Ljava/io/DataInputStream;)I
-PLcom/android/server/PersistentDataBlockService;->computeAndWriteDigestLocked()Z
-PLcom/android/server/PersistentDataBlockService;->computeDigestLocked([B)[B
-PLcom/android/server/PersistentDataBlockService;->doGetMaximumDataBlockSize()J
-PLcom/android/server/PersistentDataBlockService;->doGetOemUnlockEnabled()Z
-PLcom/android/server/PersistentDataBlockService;->doSetOemUnlockEnabledLocked(Z)V
-PLcom/android/server/PersistentDataBlockService;->enforceChecksumValidity()Z
-PLcom/android/server/PersistentDataBlockService;->enforceOemUnlockReadPermission()V
 PLcom/android/server/PersistentDataBlockService;->enforceUid(I)V
-PLcom/android/server/PersistentDataBlockService;->formatIfOemUnlockEnabled()V
-PLcom/android/server/PersistentDataBlockService;->getAllowedUid(I)I
-PLcom/android/server/PersistentDataBlockService;->getBlockDeviceSize()J
-PLcom/android/server/PersistentDataBlockService;->getTotalDataSizeLocked(Ljava/io/DataInputStream;)I
-PLcom/android/server/PersistentDataBlockService;->lambda$onStart$0(Lcom/android/server/PersistentDataBlockService;)V
-PLcom/android/server/PersistentDataBlockService;->onBootPhase(I)V
-PLcom/android/server/PersistentDataBlockService;->onStart()V
-PLcom/android/server/PinnerService$1;-><init>(Lcom/android/server/PinnerService;)V
 PLcom/android/server/PinnerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/PinnerService$BinderService;-><init>(Lcom/android/server/PinnerService;)V
-PLcom/android/server/PinnerService$BinderService;-><init>(Lcom/android/server/PinnerService;Lcom/android/server/PinnerService$1;)V
-PLcom/android/server/PinnerService$PinRange;-><init>()V
-PLcom/android/server/PinnerService$PinRangeSource;-><init>()V
-PLcom/android/server/PinnerService$PinRangeSource;-><init>(Lcom/android/server/PinnerService$1;)V
-PLcom/android/server/PinnerService$PinRangeSourceStatic;-><init>(II)V
-PLcom/android/server/PinnerService$PinRangeSourceStatic;->read(Lcom/android/server/PinnerService$PinRange;)Z
-PLcom/android/server/PinnerService$PinnedFile;-><init>(JILjava/lang/String;I)V
-PLcom/android/server/PinnerService$PinnedFile;->close()V
 PLcom/android/server/PinnerService$PinnedFile;->finalize()V
-PLcom/android/server/PinnerService$PinnerHandler;-><init>(Lcom/android/server/PinnerService;Landroid/os/Looper;)V
-PLcom/android/server/PinnerService$PinnerHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/PinnerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/PinnerService;->access$400(JJ)V
-PLcom/android/server/PinnerService;->access$500(Lcom/android/server/PinnerService;I)V
-PLcom/android/server/PinnerService;->access$600(Lcom/android/server/PinnerService;)V
-PLcom/android/server/PinnerService;->clamp(III)I
-PLcom/android/server/PinnerService;->getCameraInfo(I)Landroid/content/pm/ApplicationInfo;
-PLcom/android/server/PinnerService;->handlePinCamera(I)V
-PLcom/android/server/PinnerService;->handlePinOnStart()V
-PLcom/android/server/PinnerService;->isResolverActivity(Landroid/content/pm/ActivityInfo;)Z
-PLcom/android/server/PinnerService;->maybeOpenPinMetaInZip(Ljava/util/zip/ZipFile;Ljava/lang/String;)Ljava/io/InputStream;
-PLcom/android/server/PinnerService;->maybeOpenZip(Ljava/lang/String;)Ljava/util/zip/ZipFile;
-PLcom/android/server/PinnerService;->onStart()V
-PLcom/android/server/PinnerService;->pinCamera(I)Z
-PLcom/android/server/PinnerService;->pinFile(Ljava/lang/String;IZ)Lcom/android/server/PinnerService$PinnedFile;
-PLcom/android/server/PinnerService;->pinFileRanges(Ljava/lang/String;ILcom/android/server/PinnerService$PinRangeSource;)Lcom/android/server/PinnerService$PinnedFile;
-PLcom/android/server/PinnerService;->safeClose(Ljava/io/Closeable;)V
-PLcom/android/server/PinnerService;->safeClose(Ljava/io/FileDescriptor;)V
+PLcom/android/server/PinnerService;->onUnlockUser(I)V
 PLcom/android/server/PinnerService;->safeMunmap(JJ)V
-PLcom/android/server/PinnerService;->unpinCameraApp()V
-PLcom/android/server/PinnerService;->update(Landroid/util/ArraySet;)V
+PLcom/android/server/PinnerService;->update(Landroid/util/ArraySet;Z)V
 PLcom/android/server/PruneInstantAppsJobService;-><init>()V
-PLcom/android/server/PruneInstantAppsJobService;->lambda$onStartJob$0(Lcom/android/server/PruneInstantAppsJobService;Landroid/app/job/JobParameters;)V
+PLcom/android/server/PruneInstantAppsJobService;->lambda$onStartJob$0$PruneInstantAppsJobService(Landroid/app/job/JobParameters;)V
 PLcom/android/server/PruneInstantAppsJobService;->onStartJob(Landroid/app/job/JobParameters;)Z
-PLcom/android/server/PruneInstantAppsJobService;->schedule(Landroid/content/Context;)V
-PLcom/android/server/RandomBlock;-><init>()V
-PLcom/android/server/RandomBlock;->close(Ljava/io/Closeable;)V
-PLcom/android/server/RandomBlock;->fromFile(Ljava/lang/String;)Lcom/android/server/RandomBlock;
-PLcom/android/server/RandomBlock;->fromStream(Ljava/io/InputStream;)Lcom/android/server/RandomBlock;
-PLcom/android/server/RandomBlock;->toDataOut(Ljava/io/DataOutput;)V
-PLcom/android/server/RandomBlock;->toFile(Ljava/lang/String;Z)V
-PLcom/android/server/RandomBlock;->truncateIfPossible(Ljava/io/RandomAccessFile;)V
-PLcom/android/server/RescueParty;->executeRescueLevel(Landroid/content/Context;)V
-PLcom/android/server/RescueParty;->onSettingsProviderPublished(Landroid/content/Context;)V
-PLcom/android/server/SensorNotificationService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/SensorNotificationService;->onBootPhase(I)V
 PLcom/android/server/SensorNotificationService;->onLocationChanged(Landroid/location/Location;)V
-PLcom/android/server/SensorNotificationService;->onStart()V
-PLcom/android/server/SensorNotificationService;->useMockedLocation()Z
-PLcom/android/server/SerialService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/ServiceWatcher$1;-><init>(Lcom/android/server/ServiceWatcher;)V
-PLcom/android/server/ServiceWatcher$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/ServiceWatcher$2;-><init>(Lcom/android/server/ServiceWatcher;)V
-PLcom/android/server/ServiceWatcher$2;->onPackageAdded(Ljava/lang/String;I)V
-PLcom/android/server/ServiceWatcher$2;->onPackageChanged(Ljava/lang/String;I[Ljava/lang/String;)Z
-PLcom/android/server/ServiceWatcher$2;->onPackageUpdateFinished(Ljava/lang/String;I)V
-PLcom/android/server/ServiceWatcher;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;IIILjava/lang/Runnable;Landroid/os/Handler;)V
-PLcom/android/server/ServiceWatcher;->access$000(Lcom/android/server/ServiceWatcher;)Ljava/lang/Object;
-PLcom/android/server/ServiceWatcher;->access$100(Lcom/android/server/ServiceWatcher;)Ljava/lang/String;
-PLcom/android/server/ServiceWatcher;->access$200(Lcom/android/server/ServiceWatcher;Ljava/lang/String;Z)Z
-PLcom/android/server/ServiceWatcher;->bindBestPackageLocked(Ljava/lang/String;Z)Z
-PLcom/android/server/ServiceWatcher;->bindToPackageLocked(Landroid/content/ComponentName;II)V
-PLcom/android/server/ServiceWatcher;->getBestPackageName()Ljava/lang/String;
-PLcom/android/server/ServiceWatcher;->getSignatureSets(Landroid/content/Context;Ljava/util/List;)Ljava/util/ArrayList;
-PLcom/android/server/ServiceWatcher;->isServiceMissing()Z
-PLcom/android/server/ServiceWatcher;->isSignatureMatch([Landroid/content/pm/Signature;)Z
-PLcom/android/server/ServiceWatcher;->isSignatureMatch([Landroid/content/pm/Signature;Ljava/util/List;)Z
-PLcom/android/server/ServiceWatcher;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/ServiceWatcher;->runOnBinder(Lcom/android/server/ServiceWatcher$BinderRunner;)Z
-PLcom/android/server/ServiceWatcher;->start()Z
-PLcom/android/server/ServiceWatcher;->switchUser(I)V
-PLcom/android/server/ServiceWatcher;->unbindLocked()V
-PLcom/android/server/ServiceWatcher;->unlockUser(I)V
-PLcom/android/server/StorageManagerService$1;-><init>(Lcom/android/server/StorageManagerService;)V
-PLcom/android/server/StorageManagerService$2;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/Handler;)V
-PLcom/android/server/StorageManagerService$3;-><init>(Lcom/android/server/StorageManagerService;)V
-PLcom/android/server/StorageManagerService$3;->onVolumeCreated(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/StorageManagerService$3;->onVolumeDestroyed(Ljava/lang/String;)V
-PLcom/android/server/StorageManagerService$3;->onVolumeInternalPathChanged(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/StorageManagerService$3;->onVolumePathChanged(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/StorageManagerService$3;->onVolumeStateChanged(Ljava/lang/String;I)V
-PLcom/android/server/StorageManagerService$4;-><init>(Lcom/android/server/StorageManagerService;)V
-PLcom/android/server/StorageManagerService$5;-><init>(Lcom/android/server/StorageManagerService;)V
-PLcom/android/server/StorageManagerService$Callbacks;-><init>(Landroid/os/Looper;)V
-PLcom/android/server/StorageManagerService$Callbacks;->access$2000(Lcom/android/server/StorageManagerService$Callbacks;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/StorageManagerService$Callbacks;->access$2900(Lcom/android/server/StorageManagerService$Callbacks;Landroid/os/storage/VolumeInfo;II)V
-PLcom/android/server/StorageManagerService$Callbacks;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/StorageManagerService$Callbacks;->invokeCallback(Landroid/os/storage/IStorageEventListener;ILcom/android/internal/os/SomeArgs;)V
-PLcom/android/server/StorageManagerService$Callbacks;->notifyStorageStateChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/StorageManagerService$Callbacks;->notifyVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
-PLcom/android/server/StorageManagerService$Callbacks;->register(Landroid/os/storage/IStorageEventListener;)V
-PLcom/android/server/StorageManagerService$DefaultContainerConnection;-><init>(Lcom/android/server/StorageManagerService;)V
-PLcom/android/server/StorageManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/StorageManagerService$Lifecycle;->onBootPhase(I)V
-PLcom/android/server/StorageManagerService$Lifecycle;->onStart()V
+PLcom/android/server/SensorNotificationService;->onProviderDisabled(Ljava/lang/String;)V
+PLcom/android/server/ServiceWatcher$1;->onPackageAdded(Ljava/lang/String;I)V
+PLcom/android/server/ServiceWatcher$1;->onPackageChanged(Ljava/lang/String;I[Ljava/lang/String;)Z
+PLcom/android/server/ServiceWatcher$1;->onPackageUpdateFinished(Ljava/lang/String;I)V
+PLcom/android/server/ServiceWatcher;->lambda$runOnBinderBlocking$2$ServiceWatcher(Ljava/lang/Object;Lcom/android/server/ServiceWatcher$BlockingBinderRunner;)Ljava/lang/Object;
+PLcom/android/server/ServiceWatcher;->lambda$runOnBinderBlocking$2(Lcom/android/server/ServiceWatcher;Ljava/lang/Object;Lcom/android/server/ServiceWatcher$BlockingBinderRunner;)Ljava/lang/Object;
+PLcom/android/server/ServiceWatcher;->onBind()V
+PLcom/android/server/ServiceWatcher;->onServiceDisconnected(Landroid/content/ComponentName;)V
+PLcom/android/server/ServiceWatcher;->onUnbind()V
+PLcom/android/server/ServiceWatcher;->runOnBinderBlocking(Lcom/android/server/ServiceWatcher$BlockingBinderRunner;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/ServiceWatcher;->runOnHandlerBlocking(Ljava/util/concurrent/Callable;)Ljava/lang/Object;
+PLcom/android/server/StorageManagerService$10;->onFinished(ILandroid/os/PersistableBundle;)V
+PLcom/android/server/StorageManagerService$12;->opChanged(IILjava/lang/String;)V
+PLcom/android/server/StorageManagerService$9;->onFinished(ILandroid/os/PersistableBundle;)V
+PLcom/android/server/StorageManagerService$AppFuseMountScope;->close()V
+PLcom/android/server/StorageManagerService$AppFuseMountScope;->open()Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/StorageManagerService$AppFuseMountScope;->openFile(III)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/StorageManagerService$Lifecycle;->onCleanupUser(I)V
 PLcom/android/server/StorageManagerService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/StorageManagerService$ObbActionHandler;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/Looper;)V
-PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;-><init>(Lcom/android/server/StorageManagerService;)V
-PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;-><init>(Lcom/android/server/StorageManagerService;Lcom/android/server/StorageManagerService$1;)V
-PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->addExternalStoragePolicy(Landroid/os/storage/StorageManagerInternal$ExternalStorageMountPolicy;)V
-PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->getExternalStorageMountMode(ILjava/lang/String;)I
-PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->hasExternalStorage(ILjava/lang/String;)Z
-PLcom/android/server/StorageManagerService$StorageManagerServiceHandler;-><init>(Lcom/android/server/StorageManagerService;Landroid/os/Looper;)V
-PLcom/android/server/StorageManagerService$StorageManagerServiceHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/StorageManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/StorageManagerService;->access$000(Lcom/android/server/StorageManagerService;)V
-PLcom/android/server/StorageManagerService;->access$100(Lcom/android/server/StorageManagerService;)V
-PLcom/android/server/StorageManagerService;->access$1200(Lcom/android/server/StorageManagerService;)Landroid/os/IVold;
-PLcom/android/server/StorageManagerService;->access$1300(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)Z
-PLcom/android/server/StorageManagerService;->access$1400(Lcom/android/server/StorageManagerService;)Landroid/content/Context;
-PLcom/android/server/StorageManagerService;->access$1700(Lcom/android/server/StorageManagerService;)Landroid/util/ArrayMap;
-PLcom/android/server/StorageManagerService;->access$200(Lcom/android/server/StorageManagerService;)V
-PLcom/android/server/StorageManagerService;->access$2100(Lcom/android/server/StorageManagerService;)Ljava/lang/Object;
-PLcom/android/server/StorageManagerService;->access$2200(Lcom/android/server/StorageManagerService;)Landroid/util/ArrayMap;
-PLcom/android/server/StorageManagerService;->access$2600(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;)V
-PLcom/android/server/StorageManagerService;->access$2700(Lcom/android/server/StorageManagerService;Landroid/os/storage/VolumeInfo;II)V
-PLcom/android/server/StorageManagerService;->access$400(Lcom/android/server/StorageManagerService;I)V
-PLcom/android/server/StorageManagerService;->access$800(Lcom/android/server/StorageManagerService;)V
-PLcom/android/server/StorageManagerService;->access$900(Lcom/android/server/StorageManagerService;)V
-PLcom/android/server/StorageManagerService;->addInternalVolumeLocked()V
+PLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->onExternalStoragePolicyChanged(ILjava/lang/String;)V
+PLcom/android/server/StorageManagerService;->abortIdleMaint(Ljava/lang/Runnable;)V
 PLcom/android/server/StorageManagerService;->adjustAllocateFlags(IILjava/lang/String;)I
 PLcom/android/server/StorageManagerService;->allocateBytes(Ljava/lang/String;JILjava/lang/String;)V
-PLcom/android/server/StorageManagerService;->bootCompleted()V
 PLcom/android/server/StorageManagerService;->clearPassword()V
-PLcom/android/server/StorageManagerService;->connect()V
-PLcom/android/server/StorageManagerService;->copyLocaleFromMountService()V
-PLcom/android/server/StorageManagerService;->encodeBytes([B)Ljava/lang/String;
-PLcom/android/server/StorageManagerService;->enforcePermission(Ljava/lang/String;)V
+PLcom/android/server/StorageManagerService;->commitChanges()V
 PLcom/android/server/StorageManagerService;->getAllocatableBytes(Ljava/lang/String;ILjava/lang/String;)J
-PLcom/android/server/StorageManagerService;->getDefaultPrimaryStorageUuid()Ljava/lang/String;
-PLcom/android/server/StorageManagerService;->getDisks()[Landroid/os/storage/DiskInfo;
-PLcom/android/server/StorageManagerService;->getField(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/StorageManagerService;->getCacheQuotaBytes(Ljava/lang/String;I)J
+PLcom/android/server/StorageManagerService;->getCacheSizeBytes(Ljava/lang/String;I)J
 PLcom/android/server/StorageManagerService;->getPassword()Ljava/lang/String;
 PLcom/android/server/StorageManagerService;->getPrimaryStorageUuid()Ljava/lang/String;
-PLcom/android/server/StorageManagerService;->getVolumeRecords(I)[Landroid/os/storage/VolumeRecord;
-PLcom/android/server/StorageManagerService;->handleDaemonConnected()V
-PLcom/android/server/StorageManagerService;->handleSystemReady()V
-PLcom/android/server/StorageManagerService;->initIfReadyAndConnected()V
 PLcom/android/server/StorageManagerService;->isConvertibleToFBE()Z
-PLcom/android/server/StorageManagerService;->isMountDisallowed(Landroid/os/storage/VolumeInfo;)Z
-PLcom/android/server/StorageManagerService;->killMediaProvider(Ljava/util/List;)V
-PLcom/android/server/StorageManagerService;->lastMaintenance()J
-PLcom/android/server/StorageManagerService;->maybeLogMediaMount(Landroid/os/storage/VolumeInfo;I)V
-PLcom/android/server/StorageManagerService;->mkdirs(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/StorageManagerService;->lockUserKey(I)V
+PLcom/android/server/StorageManagerService;->mountProxyFileDescriptorBridge()Lcom/android/internal/os/AppFuseMount;
 PLcom/android/server/StorageManagerService;->onAwakeStateChanged(Z)V
-PLcom/android/server/StorageManagerService;->onDaemonConnected()V
-PLcom/android/server/StorageManagerService;->onKeyguardStateChanged(Z)V
+PLcom/android/server/StorageManagerService;->onCleanupUser(I)V
 PLcom/android/server/StorageManagerService;->onUnlockUser(I)V
-PLcom/android/server/StorageManagerService;->onVolumeCreatedLocked(Landroid/os/storage/VolumeInfo;)V
-PLcom/android/server/StorageManagerService;->onVolumeStateChangedLocked(Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/StorageManagerService;->openProxyFileDescriptor(III)Landroid/os/ParcelFileDescriptor;
 PLcom/android/server/StorageManagerService;->prepareUserStorage(Ljava/lang/String;III)V
-PLcom/android/server/StorageManagerService;->readSettingsLocked()V
-PLcom/android/server/StorageManagerService;->refreshZramSettings()V
-PLcom/android/server/StorageManagerService;->registerListener(Landroid/os/storage/IStorageEventListener;)V
-PLcom/android/server/StorageManagerService;->resetIfReadyAndConnected()V
-PLcom/android/server/StorageManagerService;->start()V
-PLcom/android/server/StorageManagerService;->systemReady()V
+PLcom/android/server/StorageManagerService;->remountUidExternalStorage(II)V
+PLcom/android/server/StorageManagerService;->runIdleMaint(Ljava/lang/Runnable;)V
+PLcom/android/server/StorageManagerService;->sendUserStartedCallback(I)V
+PLcom/android/server/StorageManagerService;->translateAppToSystem(Ljava/lang/String;II)Ljava/lang/String;
+PLcom/android/server/StorageManagerService;->translateInternal(Ljava/lang/String;IIZ)Ljava/lang/String;
+PLcom/android/server/StorageManagerService;->translateSystemToApp(Ljava/lang/String;II)Ljava/lang/String;
 PLcom/android/server/StorageManagerService;->unlockUserKey(II[B[B)V
-PLcom/android/server/SystemServer;->isFirstBootOrUpgrade()Z
-PLcom/android/server/SystemServer;->lambda$startBootstrapServices$0()V
-PLcom/android/server/SystemServer;->lambda$startOtherServices$1()V
-PLcom/android/server/SystemServer;->lambda$startOtherServices$2()V
-PLcom/android/server/SystemServer;->lambda$startOtherServices$3(Lcom/android/server/SystemServer;)V
-PLcom/android/server/SystemServer;->lambda$startOtherServices$4(Lcom/android/server/SystemServer;Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;Lcom/android/server/NetworkManagementService;Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/IpSecService;Lcom/android/server/net/NetworkStatsService;Lcom/android/server/ConnectivityService;Lcom/android/server/LocationManagerService;Lcom/android/server/CountryDetectorService;Lcom/android/server/NetworkTimeUpdateService;Lcom/android/server/CommonTimeManagementService;Lcom/android/server/input/InputManagerService;Lcom/android/server/TelephonyRegistry;Lcom/android/server/media/MediaRouterService;Lcom/android/server/MmsServiceBroker;)V
-PLcom/android/server/SystemServer;->startCoreServices()V
-PLcom/android/server/SystemServer;->startOtherServices()V
-PLcom/android/server/SystemServer;->startSystemUi(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/SystemServerInitThreadPool;->shutdown()V
-PLcom/android/server/SystemService;->getBinderService(Ljava/lang/String;)Landroid/os/IBinder;
-PLcom/android/server/SystemService;->getLocalService(Ljava/lang/Class;)Ljava/lang/Object;
-PLcom/android/server/SystemService;->getManager()Lcom/android/server/SystemServiceManager;
-PLcom/android/server/SystemService;->isSafeMode()Z
-PLcom/android/server/SystemService;->onStartUser(I)V
+PLcom/android/server/SystemService;->onCleanupUser(I)V
+PLcom/android/server/SystemService;->onStopUser(I)V
 PLcom/android/server/SystemService;->onUnlockUser(I)V
-PLcom/android/server/SystemServiceManager;->isBootCompleted()Z
-PLcom/android/server/SystemServiceManager;->isRuntimeRestarted()Z
-PLcom/android/server/SystemServiceManager;->isSafeMode()Z
-PLcom/android/server/SystemServiceManager;->setSafeMode(Z)V
-PLcom/android/server/SystemServiceManager;->startService(Ljava/lang/String;)Lcom/android/server/SystemService;
-PLcom/android/server/SystemServiceManager;->startUser(I)V
+PLcom/android/server/SystemServiceManager;->cleanupUser(I)V
+PLcom/android/server/SystemServiceManager;->stopUser(I)V
 PLcom/android/server/SystemServiceManager;->unlockUser(I)V
-PLcom/android/server/SystemUpdateManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/SystemUpdateManagerService;->loadSystemUpdateInfoLocked()Landroid/os/Bundle;
-PLcom/android/server/SystemUpdateManagerService;->removeInfoFileAndGetDefaultInfoBundleLocked()Landroid/os/Bundle;
 PLcom/android/server/SystemUpdateManagerService;->retrieveSystemUpdateInfo()Landroid/os/Bundle;
-PLcom/android/server/TelephonyRegistry$1;-><init>(Lcom/android/server/TelephonyRegistry;)V
-PLcom/android/server/TelephonyRegistry$1;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/TelephonyRegistry$2;-><init>(Lcom/android/server/TelephonyRegistry;)V
-PLcom/android/server/TelephonyRegistry$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/TelephonyRegistry$Record;-><init>()V
-PLcom/android/server/TelephonyRegistry$Record;-><init>(Lcom/android/server/TelephonyRegistry$1;)V
+PLcom/android/server/SystemUpdateManagerService;->saveSystemUpdateInfoLocked(Landroid/os/PersistableBundle;I)V
+PLcom/android/server/SystemUpdateManagerService;->updateSystemUpdateInfo(Landroid/os/PersistableBundle;)V
+PLcom/android/server/SystemUpdateManagerService;->writeInfoFileLocked(Landroid/os/PersistableBundle;)Z
 PLcom/android/server/TelephonyRegistry$Record;->canReadCallLog()Z
 PLcom/android/server/TelephonyRegistry$Record;->matchOnSubscriptionsChangedListener()Z
-PLcom/android/server/TelephonyRegistry$TelephonyRegistryDeathRecipient;-><init>(Lcom/android/server/TelephonyRegistry;Landroid/os/IBinder;)V
 PLcom/android/server/TelephonyRegistry$TelephonyRegistryDeathRecipient;->binderDied()V
-PLcom/android/server/TelephonyRegistry;-><init>(Landroid/content/Context;)V
-PLcom/android/server/TelephonyRegistry;->access$000(Lcom/android/server/TelephonyRegistry;)[Landroid/os/Bundle;
-PLcom/android/server/TelephonyRegistry;->access$100(Lcom/android/server/TelephonyRegistry;)Ljava/util/ArrayList;
-PLcom/android/server/TelephonyRegistry;->access$200(Lcom/android/server/TelephonyRegistry;Lcom/android/server/TelephonyRegistry$Record;I)V
-PLcom/android/server/TelephonyRegistry;->access$300(Lcom/android/server/TelephonyRegistry;)V
-PLcom/android/server/TelephonyRegistry;->access$400(Lcom/android/server/TelephonyRegistry;)I
-PLcom/android/server/TelephonyRegistry;->access$402(Lcom/android/server/TelephonyRegistry;I)I
-PLcom/android/server/TelephonyRegistry;->access$502(Lcom/android/server/TelephonyRegistry;I)I
-PLcom/android/server/TelephonyRegistry;->access$600(Lcom/android/server/TelephonyRegistry;Landroid/os/IBinder;)V
-PLcom/android/server/TelephonyRegistry;->access$700(Lcom/android/server/TelephonyRegistry;)Landroid/os/Handler;
-PLcom/android/server/TelephonyRegistry;->access$800(Lcom/android/server/TelephonyRegistry;I)Z
-PLcom/android/server/TelephonyRegistry;->add(Landroid/os/IBinder;)Lcom/android/server/TelephonyRegistry$Record;
-PLcom/android/server/TelephonyRegistry;->addOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
+PLcom/android/server/TelephonyRegistry;->addOnOpportunisticSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
 PLcom/android/server/TelephonyRegistry;->broadcastCallStateChanged(ILjava/lang/String;II)V
-PLcom/android/server/TelephonyRegistry;->broadcastDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/TelephonyRegistry;->broadcastDataConnectionStateChanged(IZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ZI)V
-PLcom/android/server/TelephonyRegistry;->broadcastPreciseDataConnectionStateChanged(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Ljava/lang/String;)V
-PLcom/android/server/TelephonyRegistry;->broadcastServiceStateChanged(Landroid/telephony/ServiceState;II)V
-PLcom/android/server/TelephonyRegistry;->checkListenerPermission(IILjava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/TelephonyRegistry;->broadcastPreciseCallStateChanged(III)V
+PLcom/android/server/TelephonyRegistry;->checkCoarseLocationAccess(Lcom/android/server/TelephonyRegistry$Record;I)Z
+PLcom/android/server/TelephonyRegistry;->checkFineLocationAccess(Lcom/android/server/TelephonyRegistry$Record;I)Z
 PLcom/android/server/TelephonyRegistry;->checkLocationAccess(Lcom/android/server/TelephonyRegistry$Record;)Z
-PLcom/android/server/TelephonyRegistry;->checkNotifyPermission()Z
-PLcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z
 PLcom/android/server/TelephonyRegistry;->checkPossibleMissNotify(Lcom/android/server/TelephonyRegistry$Record;I)V
-PLcom/android/server/TelephonyRegistry;->getCallIncomingNumber(Lcom/android/server/TelephonyRegistry$Record;I)Ljava/lang/String;
-PLcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V
-PLcom/android/server/TelephonyRegistry;->idMatch(III)Z
-PLcom/android/server/TelephonyRegistry;->listen(Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZI)V
-PLcom/android/server/TelephonyRegistry;->listenForSubscriber(ILjava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V
-PLcom/android/server/TelephonyRegistry;->log(Ljava/lang/String;)V
+PLcom/android/server/TelephonyRegistry;->lambda$checkCoarseLocationAccess$1$TelephonyRegistry(Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;)Ljava/lang/Boolean;
+PLcom/android/server/TelephonyRegistry;->lambda$checkFineLocationAccess$0$TelephonyRegistry(Landroid/telephony/LocationAccessPolicy$LocationPermissionQuery;)Ljava/lang/Boolean;
 PLcom/android/server/TelephonyRegistry;->notifyCallForwardingChangedForSubscriber(IZ)V
+PLcom/android/server/TelephonyRegistry;->notifyCallQualityChanged(Landroid/telephony/CallQuality;I)V
+PLcom/android/server/TelephonyRegistry;->notifyCallQualityChanged(Landroid/telephony/CallQuality;II)V
+PLcom/android/server/TelephonyRegistry;->notifyCallState(ILjava/lang/String;)V
 PLcom/android/server/TelephonyRegistry;->notifyCallStateForPhoneId(IIILjava/lang/String;)V
-PLcom/android/server/TelephonyRegistry;->notifyCellLocationForSubscriber(ILandroid/os/Bundle;)V
-PLcom/android/server/TelephonyRegistry;->notifyDataActivityForSubscriber(II)V
-PLcom/android/server/TelephonyRegistry;->notifyDataConnectionFailedForSubscriber(ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/TelephonyRegistry;->notifyCellInfoForSubscriber(ILjava/util/List;)V
+PLcom/android/server/TelephonyRegistry;->notifyDataConnectionFailedForSubscriber(ILjava/lang/String;)V
+PLcom/android/server/TelephonyRegistry;->notifyEmergencyNumberList()V
+PLcom/android/server/TelephonyRegistry;->notifyImsDisconnectCause(ILandroid/telephony/ims/ImsReasonInfo;)V
 PLcom/android/server/TelephonyRegistry;->notifyMessageWaitingChangedForPhoneId(IIZ)V
-PLcom/android/server/TelephonyRegistry;->notifyOemHookRawEventForSubscriber(I[B)V
-PLcom/android/server/TelephonyRegistry;->notifyOtaspChanged(I)V
-PLcom/android/server/TelephonyRegistry;->notifyServiceStateForPhoneId(IILandroid/telephony/ServiceState;)V
+PLcom/android/server/TelephonyRegistry;->notifyPreciseCallState(IIII)V
+PLcom/android/server/TelephonyRegistry;->notifyPreciseDataConnectionFailed(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/TelephonyRegistry;->notifySimActivationStateChangedForPhoneId(IIII)V
 PLcom/android/server/TelephonyRegistry;->notifySubscriptionInfoChanged()V
 PLcom/android/server/TelephonyRegistry;->remove(Landroid/os/IBinder;)V
-PLcom/android/server/TelephonyRegistry;->systemRunning()V
-PLcom/android/server/TelephonyRegistry;->validatePhoneId(I)Z
-PLcom/android/server/TextServicesManagerService$ISpellCheckerServiceCallbackBinder;-><init>(Lcom/android/server/TextServicesManagerService$SpellCheckerBindGroup;Lcom/android/server/TextServicesManagerService$SessionRequest;)V
-PLcom/android/server/TextServicesManagerService$ISpellCheckerServiceCallbackBinder;->onSessionCreated(Lcom/android/internal/textservice/ISpellCheckerSession;)V
-PLcom/android/server/TextServicesManagerService$InternalDeathRecipients;-><init>(Lcom/android/server/TextServicesManagerService$SpellCheckerBindGroup;)V
-PLcom/android/server/TextServicesManagerService$InternalServiceConnection;-><init>(Lcom/android/server/TextServicesManagerService;Ljava/lang/String;Ljava/util/HashMap;)V
-PLcom/android/server/TextServicesManagerService$InternalServiceConnection;->access$1900(Lcom/android/server/TextServicesManagerService$InternalServiceConnection;)Ljava/util/HashMap;
-PLcom/android/server/TextServicesManagerService$InternalServiceConnection;->access$2000(Lcom/android/server/TextServicesManagerService$InternalServiceConnection;)Ljava/lang/String;
-PLcom/android/server/TextServicesManagerService$InternalServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/TextServicesManagerService$InternalServiceConnection;->onServiceConnectedInnerLocked(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/TextServicesManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/TextServicesManagerService$Lifecycle;->onStart()V
-PLcom/android/server/TextServicesManagerService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/TextServicesManagerService$SessionRequest;-><init>(ILjava/lang/String;Lcom/android/internal/textservice/ITextServicesSessionListener;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;)V
-PLcom/android/server/TextServicesManagerService$SpellCheckerBindGroup;-><init>(Lcom/android/server/TextServicesManagerService;Lcom/android/server/TextServicesManagerService$InternalServiceConnection;)V
-PLcom/android/server/TextServicesManagerService$SpellCheckerBindGroup;->access$100(Lcom/android/server/TextServicesManagerService$SpellCheckerBindGroup;)Lcom/android/server/TextServicesManagerService$InternalServiceConnection;
-PLcom/android/server/TextServicesManagerService$SpellCheckerBindGroup;->cleanLocked()V
-PLcom/android/server/TextServicesManagerService$SpellCheckerBindGroup;->getISpellCheckerSessionOrQueueLocked(Lcom/android/server/TextServicesManagerService$SessionRequest;)V
-PLcom/android/server/TextServicesManagerService$SpellCheckerBindGroup;->onServiceConnectedLocked(Lcom/android/internal/textservice/ISpellCheckerService;)V
-PLcom/android/server/TextServicesManagerService$SpellCheckerBindGroup;->onSessionCreated(Lcom/android/internal/textservice/ISpellCheckerSession;Lcom/android/server/TextServicesManagerService$SessionRequest;)V
-PLcom/android/server/TextServicesManagerService$SpellCheckerBindGroup;->removeListener(Lcom/android/internal/textservice/ISpellCheckerSessionListener;)V
-PLcom/android/server/TextServicesManagerService$TextServicesData;-><init>(ILandroid/content/Context;)V
-PLcom/android/server/TextServicesManagerService$TextServicesData;->access$1400(Lcom/android/server/TextServicesManagerService$TextServicesData;)Ljava/util/HashMap;
-PLcom/android/server/TextServicesManagerService$TextServicesData;->access$1600(Lcom/android/server/TextServicesManagerService$TextServicesData;)Ljava/util/HashMap;
-PLcom/android/server/TextServicesManagerService$TextServicesData;->access$1700(Lcom/android/server/TextServicesManagerService$TextServicesData;)I
-PLcom/android/server/TextServicesManagerService$TextServicesData;->access$900(Lcom/android/server/TextServicesManagerService$TextServicesData;)V
-PLcom/android/server/TextServicesManagerService$TextServicesData;->getBoolean(Ljava/lang/String;Z)Z
-PLcom/android/server/TextServicesManagerService$TextServicesData;->getCurrentSpellChecker()Landroid/view/textservice/SpellCheckerInfo;
-PLcom/android/server/TextServicesManagerService$TextServicesData;->getInt(Ljava/lang/String;I)I
-PLcom/android/server/TextServicesManagerService$TextServicesData;->getSelectedSpellChecker()Ljava/lang/String;
-PLcom/android/server/TextServicesManagerService$TextServicesData;->getSelectedSpellCheckerSubtype(I)I
-PLcom/android/server/TextServicesManagerService$TextServicesData;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/TextServicesManagerService$TextServicesData;->initializeTextServicesData()V
-PLcom/android/server/TextServicesManagerService$TextServicesData;->isSpellCheckerEnabled()Z
-PLcom/android/server/TextServicesManagerService$TextServicesMonitor;-><init>(Lcom/android/server/TextServicesManagerService;)V
-PLcom/android/server/TextServicesManagerService$TextServicesMonitor;-><init>(Lcom/android/server/TextServicesManagerService;Lcom/android/server/TextServicesManagerService$1;)V
-PLcom/android/server/TextServicesManagerService$TextServicesMonitor;->onSomePackagesChanged()V
-PLcom/android/server/TextServicesManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/TextServicesManagerService;->access$1000(Lcom/android/server/TextServicesManagerService;)Ljava/lang/Object;
-PLcom/android/server/TextServicesManagerService;->access$1100(Lcom/android/server/TextServicesManagerService;)Landroid/util/SparseArray;
-PLcom/android/server/TextServicesManagerService;->access$2100(Lcom/android/server/TextServicesManagerService;)Landroid/content/Context;
-PLcom/android/server/TextServicesManagerService;->bindCurrentSpellCheckerService(Landroid/content/Intent;Landroid/content/ServiceConnection;II)Z
-PLcom/android/server/TextServicesManagerService;->finishSpellCheckerService(Lcom/android/internal/textservice/ISpellCheckerSessionListener;)V
-PLcom/android/server/TextServicesManagerService;->getCurrentSpellChecker(Ljava/lang/String;)Landroid/view/textservice/SpellCheckerInfo;
-PLcom/android/server/TextServicesManagerService;->getCurrentSpellCheckerSubtype(Ljava/lang/String;Z)Landroid/view/textservice/SpellCheckerSubtype;
-PLcom/android/server/TextServicesManagerService;->getDataFromCallingUserIdLocked(I)Lcom/android/server/TextServicesManagerService$TextServicesData;
-PLcom/android/server/TextServicesManagerService;->getSpellCheckerService(Ljava/lang/String;Ljava/lang/String;Lcom/android/internal/textservice/ITextServicesSessionListener;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;)V
-PLcom/android/server/TextServicesManagerService;->initializeInternalStateLocked(I)V
-PLcom/android/server/TextServicesManagerService;->isSpellCheckerEnabled()Z
-PLcom/android/server/TextServicesManagerService;->lambda$new$0(Lcom/android/server/TextServicesManagerService;I)I
-PLcom/android/server/TextServicesManagerService;->onUnlockUser(I)V
-PLcom/android/server/TextServicesManagerService;->startSpellCheckerServiceInnerLocked(Landroid/view/textservice/SpellCheckerInfo;Lcom/android/server/TextServicesManagerService$TextServicesData;)Lcom/android/server/TextServicesManagerService$SpellCheckerBindGroup;
-PLcom/android/server/ThreadPriorityBooster$1;->initialValue()Lcom/android/server/ThreadPriorityBooster$PriorityState;
-PLcom/android/server/ThreadPriorityBooster$1;->initialValue()Ljava/lang/Object;
-PLcom/android/server/ThreadPriorityBooster$PriorityState;-><init>()V
-PLcom/android/server/ThreadPriorityBooster$PriorityState;-><init>(Lcom/android/server/ThreadPriorityBooster$1;)V
-PLcom/android/server/ThreadPriorityBooster;->setBoostToPriority(I)V
-PLcom/android/server/UiModeManagerService$1;-><init>(Lcom/android/server/UiModeManagerService;)V
-PLcom/android/server/UiModeManagerService$2;-><init>(Lcom/android/server/UiModeManagerService;)V
-PLcom/android/server/UiModeManagerService$3;-><init>(Lcom/android/server/UiModeManagerService;)V
-PLcom/android/server/UiModeManagerService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/UiModeManagerService$4;-><init>(Lcom/android/server/UiModeManagerService;)V
-PLcom/android/server/UiModeManagerService$5;-><init>(Lcom/android/server/UiModeManagerService;)V
-PLcom/android/server/UiModeManagerService$6;-><init>(Lcom/android/server/UiModeManagerService;)V
-PLcom/android/server/UiModeManagerService$6;->getCurrentModeType()I
+PLcom/android/server/TelephonyRegistry;->removeOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
+PLcom/android/server/TelephonyRegistry;->validateEventsAndUserLocked(Lcom/android/server/TelephonyRegistry$Record;I)Z
+PLcom/android/server/UiModeManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/UiModeManagerService$6;->disableCarMode(I)V
+PLcom/android/server/UiModeManagerService$6;->enableCarMode(I)V
 PLcom/android/server/UiModeManagerService$6;->getNightMode()I
-PLcom/android/server/UiModeManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/UiModeManagerService;->access$202(Lcom/android/server/UiModeManagerService;Z)Z
-PLcom/android/server/UiModeManagerService;->access$300(Lcom/android/server/UiModeManagerService;)I
-PLcom/android/server/UiModeManagerService;->isDeskDockState(I)Z
-PLcom/android/server/UiModeManagerService;->lambda$onStart$0(Lcom/android/server/UiModeManagerService;)V
-PLcom/android/server/UiModeManagerService;->onBootPhase(I)V
-PLcom/android/server/UiModeManagerService;->onStart()V
-PLcom/android/server/UiModeManagerService;->registerVrStateListener()V
-PLcom/android/server/UiModeManagerService;->sendConfigurationAndStartDreamOrDockAppLocked(Ljava/lang/String;)V
-PLcom/android/server/UiModeManagerService;->sendConfigurationLocked()V
-PLcom/android/server/UiModeManagerService;->updateComputedNightModeLocked()V
-PLcom/android/server/UiModeManagerService;->updateConfigurationLocked()V
-PLcom/android/server/UiModeManagerService;->updateLocked(II)V
-PLcom/android/server/UpdateLockService$LockWatcher;-><init>(Lcom/android/server/UpdateLockService;Landroid/os/Handler;Ljava/lang/String;)V
-PLcom/android/server/UpdateLockService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/UpdateLockService;->sendLockChangedBroadcast(Z)V
-PLcom/android/server/VibratorService$1;-><init>(Lcom/android/server/VibratorService;)V
-PLcom/android/server/VibratorService$2;-><init>(Lcom/android/server/VibratorService;)V
-PLcom/android/server/VibratorService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/VibratorService$3;-><init>(Lcom/android/server/VibratorService;)V
-PLcom/android/server/VibratorService$3;->run()V
-PLcom/android/server/VibratorService$4;-><init>(Lcom/android/server/VibratorService;)V
-PLcom/android/server/VibratorService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/VibratorService$ScaleLevel;-><init>(F)V
-PLcom/android/server/VibratorService$ScaleLevel;-><init>(FI)V
-PLcom/android/server/VibratorService$SettingsObserver;-><init>(Lcom/android/server/VibratorService;Landroid/os/Handler;)V
-PLcom/android/server/VibratorService$Vibration;-><init>(Lcom/android/server/VibratorService;Landroid/os/IBinder;Landroid/os/VibrationEffect;IILjava/lang/String;)V
-PLcom/android/server/VibratorService$Vibration;-><init>(Lcom/android/server/VibratorService;Landroid/os/IBinder;Landroid/os/VibrationEffect;IILjava/lang/String;Lcom/android/server/VibratorService$1;)V
+PLcom/android/server/UiModeManagerService$6;->isNightModeLocked()Z
+PLcom/android/server/UiModeManagerService$6;->isUiModeLocked()Z
+PLcom/android/server/UiModeManagerService$6;->setNightMode(I)V
+PLcom/android/server/UiModeManagerService$LocalService;->isNightMode()Z
+PLcom/android/server/UiModeManagerService;->adjustStatusBarCarModeLocked()V
+PLcom/android/server/UiModeManagerService;->lambda$onStart$0$UiModeManagerService(Landroid/os/PowerSaveState;)V
+PLcom/android/server/UiModeManagerService;->setCarModeLocked(ZI)V
+PLcom/android/server/UiModeManagerService;->shouldTransientNightWhenInCarMode()Z
+PLcom/android/server/UiModeManagerService;->updateAfterBroadcastLocked(Ljava/lang/String;II)V
+PLcom/android/server/VibratorService$2;->getServiceType()I
+PLcom/android/server/VibratorService$2;->onLowPowerModeChanged(Landroid/os/PowerSaveState;)V
+PLcom/android/server/VibratorService$4;->run()V
+PLcom/android/server/VibratorService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/VibratorService$VibrateThread;->cancel()V
+PLcom/android/server/VibratorService$VibrateThread;->delayLocked(J)J
+PLcom/android/server/VibratorService$VibrateThread;->playWaveform()Z
+PLcom/android/server/VibratorService$VibrateThread;->run()V
+PLcom/android/server/VibratorService$Vibration;-><init>(Lcom/android/server/VibratorService;Landroid/os/IBinder;Landroid/os/VibrationEffect;IILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/VibratorService$Vibration;->isFromSystem()Z
 PLcom/android/server/VibratorService$Vibration;->isHapticFeedback()Z
 PLcom/android/server/VibratorService$Vibration;->isNotification()Z
 PLcom/android/server/VibratorService$Vibration;->isRingtone()Z
-PLcom/android/server/VibratorService$Vibration;->toInfo()Lcom/android/server/VibratorService$VibrationInfo;
-PLcom/android/server/VibratorService$VibrationInfo;-><init>(JLandroid/os/VibrationEffect;Landroid/os/VibrationEffect;IILjava/lang/String;)V
-PLcom/android/server/VibratorService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/VibratorService;->access$000(Lcom/android/server/VibratorService;)Ljava/lang/Object;
-PLcom/android/server/VibratorService;->access$100(Lcom/android/server/VibratorService;)Lcom/android/server/VibratorService$Vibration;
-PLcom/android/server/VibratorService;->access$300(Lcom/android/server/VibratorService;)V
-PLcom/android/server/VibratorService;->addToPreviousVibrationsLocked(Lcom/android/server/VibratorService$Vibration;)V
+PLcom/android/server/VibratorService$VibrationInfo;-><init>(JLandroid/os/VibrationEffect;Landroid/os/VibrationEffect;IILjava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/VibratorService;->applyVibrationIntensityScalingLocked(Lcom/android/server/VibratorService$Vibration;I)V
 PLcom/android/server/VibratorService;->cancelVibrate(Landroid/os/IBinder;)V
-PLcom/android/server/VibratorService;->createEffectFromResource(I)Landroid/os/VibrationEffect;
-PLcom/android/server/VibratorService;->createEffectFromTimings([J)Landroid/os/VibrationEffect;
 PLcom/android/server/VibratorService;->doCancelVibrateLocked()V
-PLcom/android/server/VibratorService;->doVibratorExists()Z
 PLcom/android/server/VibratorService;->doVibratorOff()V
+PLcom/android/server/VibratorService;->doVibratorOn(JIII)V
 PLcom/android/server/VibratorService;->doVibratorPrebakedEffectLocked(Lcom/android/server/VibratorService$Vibration;)J
-PLcom/android/server/VibratorService;->getAppOpMode(Lcom/android/server/VibratorService$Vibration;)I
-PLcom/android/server/VibratorService;->getCurrentIntensityLocked(Lcom/android/server/VibratorService$Vibration;)I
-PLcom/android/server/VibratorService;->getLongIntArray(Landroid/content/res/Resources;I)[J
-PLcom/android/server/VibratorService;->hasVibrator()Z
 PLcom/android/server/VibratorService;->intensityToEffectStrength(I)I
-PLcom/android/server/VibratorService;->isAllowedToVibrateLocked(Lcom/android/server/VibratorService$Vibration;)Z
-PLcom/android/server/VibratorService;->isRepeatingVibration(Landroid/os/VibrationEffect;)Z
 PLcom/android/server/VibratorService;->linkVibration(Lcom/android/server/VibratorService$Vibration;)V
 PLcom/android/server/VibratorService;->noteVibratorOffLocked()V
 PLcom/android/server/VibratorService;->noteVibratorOnLocked(IJ)V
 PLcom/android/server/VibratorService;->onVibrationFinished()V
 PLcom/android/server/VibratorService;->reportFinishVibrationLocked()V
+PLcom/android/server/VibratorService;->shouldVibrateForRingtone()Z
 PLcom/android/server/VibratorService;->startVibrationInnerLocked(Lcom/android/server/VibratorService$Vibration;)V
 PLcom/android/server/VibratorService;->startVibrationLocked(Lcom/android/server/VibratorService$Vibration;)V
-PLcom/android/server/VibratorService;->systemReady()V
-PLcom/android/server/VibratorService;->unlinkVibration(Lcom/android/server/VibratorService$Vibration;)V
-PLcom/android/server/VibratorService;->updateInputDeviceVibratorsLocked()Z
-PLcom/android/server/VibratorService;->updateLowPowerModeLocked()Z
-PLcom/android/server/VibratorService;->updateVibrationIntensityLocked()V
-PLcom/android/server/VibratorService;->updateVibrators()V
 PLcom/android/server/VibratorService;->verifyIncomingUid(I)V
 PLcom/android/server/VibratorService;->verifyVibrationEffect(Landroid/os/VibrationEffect;)Z
-PLcom/android/server/VibratorService;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;ILandroid/os/IBinder;)V
-PLcom/android/server/Watchdog$OpenFdMonitor;->monitor()Z
-PLcom/android/server/Watchdog$RebootRequestReceiver;-><init>(Lcom/android/server/Watchdog;)V
-PLcom/android/server/Watchdog;->init(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/Watchdog;->processStarted(Ljava/lang/String;I)V
-PLcom/android/server/WiredAccessoryManager$1;-><init>(Lcom/android/server/WiredAccessoryManager;Landroid/os/Looper;Landroid/os/Handler$Callback;Z)V
-PLcom/android/server/WiredAccessoryManager$1;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver$UEventInfo;-><init>(Lcom/android/server/WiredAccessoryManager$WiredAccessoryObserver;Ljava/lang/String;III)V
-PLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver$UEventInfo;->checkSwitchExists()Z
-PLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver$UEventInfo;->getDevPath()Ljava/lang/String;
-PLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver$UEventInfo;->getSwitchStatePath()Ljava/lang/String;
-PLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver;-><init>(Lcom/android/server/WiredAccessoryManager;)V
-PLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver;->init()V
-PLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver;->makeObservedUEventList()Ljava/util/List;
-PLcom/android/server/WiredAccessoryManager;-><init>(Landroid/content/Context;Lcom/android/server/input/InputManagerService;)V
-PLcom/android/server/WiredAccessoryManager;->access$100(Lcom/android/server/WiredAccessoryManager;)Landroid/os/PowerManager$WakeLock;
-PLcom/android/server/WiredAccessoryManager;->access$200(Lcom/android/server/WiredAccessoryManager;)V
-PLcom/android/server/WiredAccessoryManager;->access$300(Lcom/android/server/WiredAccessoryManager;)Ljava/lang/Object;
-PLcom/android/server/WiredAccessoryManager;->access$400()Ljava/lang/String;
-PLcom/android/server/WiredAccessoryManager;->access$500(Lcom/android/server/WiredAccessoryManager;)Z
-PLcom/android/server/WiredAccessoryManager;->notifyWiredAccessoryChanged(JII)V
-PLcom/android/server/WiredAccessoryManager;->onSystemReady()V
-PLcom/android/server/WiredAccessoryManager;->switchCodeToString(II)Ljava/lang/String;
-PLcom/android/server/WiredAccessoryManager;->systemReady()V
-PLcom/android/server/WiredAccessoryManager;->updateLocked(Ljava/lang/String;I)V
-PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$5vwr6qV-eqdCr73CeDmVnsJlZHM;-><init>()V
-PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$5vwr6qV-eqdCr73CeDmVnsJlZHM;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$CNt8wbTQCYcsUnUkUCQHtKqr-tY;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$CNt8wbTQCYcsUnUkUCQHtKqr-tY;->acceptOrThrow(Ljava/lang/Object;)V
-PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$K4sS36agT2_B03tVUTy8mldugxY;-><init>(I)V
-PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$K4sS36agT2_B03tVUTy8mldugxY;->acceptOrThrow(Ljava/lang/Object;)V
-PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$RFkfb_W9wnTTs_gy8Dg3k2uQOYQ;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$RFkfb_W9wnTTs_gy8Dg3k2uQOYQ;->run()V
-PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$mAPLBShddfLlktd9Q8jVo04VVXo;-><init>()V
-PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$mAPLBShddfLlktd9Q8jVo04VVXo;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$w0ifSldCn8nADYgU7v1foSdmfe0;-><init>()V
-PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$w0ifSldCn8nADYgU7v1foSdmfe0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/VibratorService;->vibrate(ILjava/lang/String;Landroid/os/VibrationEffect;ILjava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/Watchdog$HandlerChecker;->getCompletionStateLocked()I
+PLcom/android/server/WiredAccessoryManager$WiredAccessoryExtconObserver;->init()V
+PLcom/android/server/ZramWriteback$1;->run()V
+PLcom/android/server/ZramWriteback;-><init>()V
+PLcom/android/server/ZramWriteback;->flushIdlePages()V
+PLcom/android/server/ZramWriteback;->getWrittenPageCount()I
+PLcom/android/server/ZramWriteback;->isWritebackEnabled()Z
+PLcom/android/server/ZramWriteback;->markAndFlushPages()V
+PLcom/android/server/ZramWriteback;->markPagesAsIdle()V
+PLcom/android/server/ZramWriteback;->onStartJob(Landroid/app/job/JobParameters;)Z
+PLcom/android/server/ZramWriteback;->onStopJob(Landroid/app/job/JobParameters;)Z
+PLcom/android/server/ZramWriteback;->schedNextWriteback(Landroid/content/Context;)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$Gu-W_dQ2mWyy8l4tm19TzFxGbeM;->accept(Ljava/lang/Object;)V
 PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$zXJtauhUptSkQJSF-M55-grAVbo;-><init>()V
 PLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$zXJtauhUptSkQJSF-M55-grAVbo;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/accessibility/AccessibilityManagerService$1;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityServiceConnection$ASP9bmSvpeD7ZE_uJ8sm-9hCwiU;-><init>()V
+PLcom/android/server/accessibility/-$$Lambda$AccessibilityServiceConnection$ASP9bmSvpeD7ZE_uJ8sm-9hCwiU;->accept(Ljava/lang/Object;)V
+PLcom/android/server/accessibility/-$$Lambda$X-d4PICw0vnPU2BuBjOCbMMfcgU;-><init>()V
+PLcom/android/server/accessibility/-$$Lambda$X-d4PICw0vnPU2BuBjOCbMMfcgU;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/-$$Lambda$X8i00nfnUx_qUoIgZixkfu6ddSY;-><init>()V
+PLcom/android/server/accessibility/-$$Lambda$X8i00nfnUx_qUoIgZixkfu6ddSY;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;-><init>(Landroid/content/Context;Landroid/content/ComponentName;Landroid/accessibilityservice/AccessibilityServiceInfo;ILandroid/os/Handler;Ljava/lang/Object;Lcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/accessibility/GlobalActionPerformer;)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->canReceiveEventsLocked()Z
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->findAccessibilityNodeInfoByAccessibilityId(IJILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IJLandroid/os/Bundle;)[Ljava/lang/String;
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->findAccessibilityNodeInfosByViewId(IJLjava/lang/String;ILandroid/view/accessibility/IAccessibilityInteractionConnectionCallback;J)[Ljava/lang/String;
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->getCapabilities()I
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->getComponentName()Landroid/content/ComponentName;
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->getRelevantEventTypes()I
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->notifyAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->notifyAccessibilityEventInternal(ILandroid/view/accessibility/AccessibilityEvent;Z)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->onAdded()V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->resolveAccessibilityWindowIdLocked(I)I
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->setDynamicallyConfigurableProperties(Landroid/accessibilityservice/AccessibilityServiceInfo;)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->setServiceInfo(Landroid/accessibilityservice/AccessibilityServiceInfo;)V
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->supportsFlagForNotImportantViews(Landroid/accessibilityservice/AccessibilityServiceInfo;)Z
+PLcom/android/server/accessibility/AbstractAccessibilityServiceConnection;->wantsEventLocked(Landroid/view/accessibility/AccessibilityEvent;)Z
 PLcom/android/server/accessibility/AccessibilityManagerService$1;->onPackageUpdateFinished(Ljava/lang/String;I)V
-PLcom/android/server/accessibility/AccessibilityManagerService$1;->onSomePackagesChanged()V
-PLcom/android/server/accessibility/AccessibilityManagerService$2;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V
-PLcom/android/server/accessibility/AccessibilityManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityContentObserver;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/os/Handler;)V
-PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityContentObserver;->register(Landroid/content/ContentResolver;)V
-PLcom/android/server/accessibility/AccessibilityManagerService$Client;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/view/accessibility/IAccessibilityManagerClient;ILcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService$Client;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/view/accessibility/IAccessibilityManagerClient;ILcom/android/server/accessibility/AccessibilityManagerService$UserState;Lcom/android/server/accessibility/AccessibilityManagerService$1;)V
-PLcom/android/server/accessibility/AccessibilityManagerService$MainHandler;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/os/Looper;)V
-PLcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;ILandroid/view/accessibility/IAccessibilityInteractionConnection;Ljava/lang/String;II)V
-PLcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;->linkToDeath()V
-PLcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;->unlinkToDeath()V
-PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V
-PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->access$1400(Lcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->access$1600(Lcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;I)I
-PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->hasPermission(Ljava/lang/String;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->isCallerInteractingAcrossUsers(I)Z
-PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->resolveCallingUserIdEnforcingPermissionsLocked(I)I
-PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->resolveProfileParentLocked(I)I
-PLcom/android/server/accessibility/AccessibilityManagerService$UserState;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;I)V
-PLcom/android/server/accessibility/AccessibilityManagerService$UserState;->access$1500(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Ljava/util/Set;
-PLcom/android/server/accessibility/AccessibilityManagerService$UserState;->getClientState()I
-PLcom/android/server/accessibility/AccessibilityManagerService$UserState;->isHandlingAccessibilityEvents()Z
-PLcom/android/server/accessibility/AccessibilityManagerService$UserState;->onSwitchToAnotherUserLocked()V
-PLcom/android/server/accessibility/AccessibilityManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->access$1700(Lcom/android/server/accessibility/AccessibilityManagerService;)Landroid/content/Context;
-PLcom/android/server/accessibility/AccessibilityManagerService;->access$200(Lcom/android/server/accessibility/AccessibilityManagerService;)Ljava/lang/Object;
-PLcom/android/server/accessibility/AccessibilityManagerService;->access$300(Lcom/android/server/accessibility/AccessibilityManagerService;)I
-PLcom/android/server/accessibility/AccessibilityManagerService;->access$3200(Lcom/android/server/accessibility/AccessibilityManagerService;)Landroid/content/pm/PackageManager;
-PLcom/android/server/accessibility/AccessibilityManagerService;->access$400(Lcom/android/server/accessibility/AccessibilityManagerService;)Lcom/android/server/accessibility/AccessibilityManagerService$UserState;
-PLcom/android/server/accessibility/AccessibilityManagerService;->access$4000()I
-PLcom/android/server/accessibility/AccessibilityManagerService;->access$4100(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityManagerService$UserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)I
-PLcom/android/server/accessibility/AccessibilityManagerService;->access$4200(Lcom/android/server/accessibility/AccessibilityManagerService;)Lcom/android/server/accessibility/UiAutomationManager;
-PLcom/android/server/accessibility/AccessibilityManagerService;->access$4300(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->access$500(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService;->access$600(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->access$700(Lcom/android/server/accessibility/AccessibilityManagerService;I)Lcom/android/server/accessibility/AccessibilityManagerService$UserState;
-PLcom/android/server/accessibility/AccessibilityManagerService;->access$800(Lcom/android/server/accessibility/AccessibilityManagerService;I)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->access$900(Lcom/android/server/accessibility/AccessibilityManagerService;I)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->addClient(Landroid/view/accessibility/IAccessibilityManagerClient;I)J
-PLcom/android/server/accessibility/AccessibilityManagerService;->broadcastToClients(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;Ljava/util/function/Consumer;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->canRegisterService(Landroid/content/pm/ServiceInfo;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService;->computeRelevantEventTypesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)I
-PLcom/android/server/accessibility/AccessibilityManagerService;->getCurrentUserStateLocked()Lcom/android/server/accessibility/AccessibilityManagerService$UserState;
-PLcom/android/server/accessibility/AccessibilityManagerService;->getEnabledAccessibilityServiceList(II)Ljava/util/List;
+PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->onDisplayAdded(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->onDisplayRemoved(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService$InteractionBridge$1;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService$InteractionBridge;Lcom/android/server/accessibility/AccessibilityManagerService$UserState;Landroid/content/Context;Landroid/content/ComponentName;Landroid/accessibilityservice/AccessibilityServiceInfo;ILandroid/os/Handler;Ljava/lang/Object;Lcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/accessibility/GlobalActionPerformer;Lcom/android/server/accessibility/AccessibilityManagerService;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$InteractionBridge$1;->supportsFlagForNotImportantViews(Landroid/accessibilityservice/AccessibilityServiceInfo;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService$InteractionBridge;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$InteractionBridge;->clearAccessibilityFocusNotLocked(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;->binderDied()V
+PLcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;->getPackageName()Ljava/lang/String;
+PLcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;->getRemote()Landroid/view/accessibility/IAccessibilityInteractionConnection;
+PLcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;->getUid()I
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->canCaptureFingerprintGestures(Lcom/android/server/accessibility/AccessibilityServiceConnection;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->canControlMagnification(Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->canDispatchAccessibilityEventLocked(Landroid/view/accessibility/AccessibilityEvent;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->canGetAccessibilityNodeInfoLocked(Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;I)Z
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->canRetrieveWindowContentLocked(Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->checkAccessibilityAccess(Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->computePartialInteractiveRegionForWindowLocked(ILandroid/graphics/Region;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->computeValidReportedPackages(Ljava/lang/String;I)[Ljava/lang/String;
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->findA11yWindowInfoById(I)Landroid/view/accessibility/AccessibilityWindowInfo;
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->getActiveWindowId()I
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->getFocusedWindowId()I
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->isRetrievalAllowingWindowLocked(I)Z
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->isValidPackageForUid(Ljava/lang/String;I)Z
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->resolveValidReportedPackageLocked(Ljava/lang/CharSequence;II)Ljava/lang/String;
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->sendEventsForChangedWindowsLocked(Ljava/util/List;Landroid/util/SparseArray;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->setAccessibilityFocusedWindowLocked(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->updateActiveAndAccessibilityFocusedWindowLocked(IJII)V
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->updateEventSourceLocked(Landroid/view/accessibility/AccessibilityEvent;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->updateWindowsLocked(Ljava/util/List;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$UserState;->addServiceLocked(Lcom/android/server/accessibility/AccessibilityServiceConnection;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$UserState;->getBindingServicesLocked()Ljava/util/Set;
+PLcom/android/server/accessibility/AccessibilityManagerService$WindowsForAccessibilityCallback;->getTypeForWindowManagerWindowType(I)I
+PLcom/android/server/accessibility/AccessibilityManagerService$WindowsForAccessibilityCallback;->onWindowsForAccessibilityChanged(Ljava/util/List;)V
+PLcom/android/server/accessibility/AccessibilityManagerService$WindowsForAccessibilityCallback;->populateReportedWindowLocked(Landroid/view/WindowInfo;)Landroid/view/accessibility/AccessibilityWindowInfo;
+PLcom/android/server/accessibility/AccessibilityManagerService;->addAccessibilityInteractionConnection(Landroid/view/IWindow;Landroid/view/accessibility/IAccessibilityInteractionConnection;Ljava/lang/String;I)I
+PLcom/android/server/accessibility/AccessibilityManagerService;->announceNewUserIfNeeded()V
+PLcom/android/server/accessibility/AccessibilityManagerService;->canRequestAndRequestsTouchExplorationLocked(Lcom/android/server/accessibility/AccessibilityServiceConnection;Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
+PLcom/android/server/accessibility/AccessibilityManagerService;->clearAccessibilityFocus(I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->clearAccessibilityFocus(Ljava/util/function/IntSupplier;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->findWindowIdLocked(Landroid/os/IBinder;)I
+PLcom/android/server/accessibility/AccessibilityManagerService;->getCompatibleMagnificationSpecLocked(I)Landroid/view/MagnificationSpec;
+PLcom/android/server/accessibility/AccessibilityManagerService;->getConnectionLocked(I)Lcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;
+PLcom/android/server/accessibility/AccessibilityManagerService;->getCurrentUserIdLocked()I
 PLcom/android/server/accessibility/AccessibilityManagerService;->getInstalledAccessibilityServiceList(I)Ljava/util/List;
-PLcom/android/server/accessibility/AccessibilityManagerService;->getUserState(I)Lcom/android/server/accessibility/AccessibilityManagerService$UserState;
-PLcom/android/server/accessibility/AccessibilityManagerService;->getUserStateLocked(I)Lcom/android/server/accessibility/AccessibilityManagerService$UserState;
-PLcom/android/server/accessibility/AccessibilityManagerService;->isClientInPackageWhitelist(Landroid/accessibilityservice/AccessibilityServiceInfo;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$5vwr6qV-eqdCr73CeDmVnsJlZHM(Lcom/android/server/accessibility/AccessibilityManagerService;II)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$mAPLBShddfLlktd9Q8jVo04VVXo(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$sendStateToClients$2(ILandroid/view/accessibility/IAccessibilityManagerClient;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateRelevantEventsLocked$0(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityManagerService$UserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateRelevantEventsLocked$1(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$w0ifSldCn8nADYgU7v1foSdmfe0(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->lambda$zXJtauhUptSkQJSF-M55-grAVbo(Lcom/android/server/accessibility/AccessibilityManagerService;II)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->notifyAccessibilityButtonVisibilityChanged(Z)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->notifyAccessibilityButtonVisibilityChangedLocked(Z)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->onUserStateChangedLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->readAccessibilityButtonSettingsLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService;->readAccessibilityShortcutSettingLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService;->readAutoclickEnabledSettingLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService;->readComponentNamesFromSettingLocked(Ljava/lang/String;ILjava/util/Set;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->readComponentNamesFromStringLocked(Ljava/lang/String;Ljava/util/Set;Z)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->readConfigurationForUserStateLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService;->readEnabledAccessibilityServicesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService;->readHighTextContrastEnabledSettingLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService;->readInstalledAccessibilityServiceLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService;->readMagnificationEnabledSettingsLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService;->readTouchExplorationEnabledSettingLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService;->readTouchExplorationGrantedAccessibilityServicesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService;->registerBroadcastReceivers()V
-PLcom/android/server/accessibility/AccessibilityManagerService;->scheduleUpdateClientsIfNeededLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->scheduleUpdateFingerprintGestureHandling(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->scheduleUpdateInputFilter(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->sendStateToAllClients(II)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->sendStateToClients(II)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->sendStateToClients(ILandroid/os/RemoteCallbackList;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->setPictureInPictureActionReplacingConnection(Landroid/view/accessibility/IAccessibilityInteractionConnection;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->switchUser(I)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->unbindAllServicesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->getInteractionBridge()Lcom/android/server/accessibility/AccessibilityManagerService$InteractionBridge;
+PLcom/android/server/accessibility/AccessibilityManagerService;->getPendingIntentActivity(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
+PLcom/android/server/accessibility/AccessibilityManagerService;->notifyAccessibilityServicesDelayedLocked(Landroid/view/accessibility/AccessibilityEvent;Z)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->onClientChangeLocked(Z)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->removeAccessibilityInteractionConnection(Landroid/view/IWindow;)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->removeAccessibilityInteractionConnectionInternalLocked(Landroid/os/IBinder;Landroid/util/SparseArray;Landroid/util/SparseArray;)I
+PLcom/android/server/accessibility/AccessibilityManagerService;->replaceCallbackIfNeeded(Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;IIIJ)Landroid/view/accessibility/IAccessibilityInteractionConnectionCallback;
+PLcom/android/server/accessibility/AccessibilityManagerService;->sendAccessibilityEvent(Landroid/view/accessibility/AccessibilityEvent;I)V
+PLcom/android/server/accessibility/AccessibilityManagerService;->sendFingerprintGesture(I)Z
 PLcom/android/server/accessibility/AccessibilityManagerService;->unlockUser(I)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityButtonTargetsLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityEnabledSetting(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityFocusBehaviorLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityShortcutLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateDisplayDaltonizerLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateDisplayInversionLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateFilterKeyEventsLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateFingerprintGestureHandling(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateInputFilter(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateLegacyCapabilitiesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateMagnificationLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updatePerformGesturesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateRelevantEventsLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateServicesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateSoftKeyboardShowModeLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateTouchExplorationLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->updateWindowsForAccessibilityCallbackLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
-PLcom/android/server/accessibility/AccessibilityManagerService;->userHasListeningMagnificationServicesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-PLcom/android/server/accessibility/AccessibilityManagerService;->userHasMagnificationServicesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
-PLcom/android/server/accessibility/DisplayAdjustmentUtils;->applyDaltonizerSetting(Landroid/content/Context;I)V
-PLcom/android/server/accessibility/DisplayAdjustmentUtils;->applyInversionSetting(Landroid/content/Context;I)V
-PLcom/android/server/accessibility/GlobalActionPerformer;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerInternal;)V
-PLcom/android/server/accessibility/UiAutomationManager$1;-><init>(Lcom/android/server/accessibility/UiAutomationManager;)V
-PLcom/android/server/accessibility/UiAutomationManager;-><init>()V
-PLcom/android/server/accessibility/UiAutomationManager;->canRetrieveInteractiveWindowsLocked()Z
-PLcom/android/server/accessibility/UiAutomationManager;->getServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;
-PLcom/android/server/accessibility/UiAutomationManager;->isTouchExplorationEnabledLocked()Z
-PLcom/android/server/accessibility/UiAutomationManager;->isUiAutomationRunningLocked()Z
-PLcom/android/server/accessibility/UiAutomationManager;->suppressingAccessibilityServicesLocked()Z
-PLcom/android/server/accounts/-$$Lambda$AccountManagerService$c6GExIY3Vh2fORdBziuAPJbExac;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
+PLcom/android/server/accessibility/AccessibilityServiceConnection;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;Landroid/content/Context;Landroid/content/ComponentName;Landroid/accessibilityservice/AccessibilityServiceInfo;ILandroid/os/Handler;Ljava/lang/Object;Lcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;Lcom/android/server/accessibility/AbstractAccessibilityServiceConnection$SystemSupport;Lcom/android/server/wm/WindowManagerInternal;Lcom/android/server/accessibility/GlobalActionPerformer;)V
+PLcom/android/server/accessibility/AccessibilityServiceConnection;->bindLocked()V
+PLcom/android/server/accessibility/AccessibilityServiceConnection;->canRetrieveInteractiveWindowsLocked()Z
+PLcom/android/server/accessibility/AccessibilityServiceConnection;->getServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;
+PLcom/android/server/accessibility/AccessibilityServiceConnection;->initializeService()V
+PLcom/android/server/accessibility/AccessibilityServiceConnection;->isCalledForCurrentUserLocked()Z
+PLcom/android/server/accessibility/AccessibilityServiceConnection;->isCapturingFingerprintGestures()Z
+PLcom/android/server/accessibility/AccessibilityServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/accessibility/UiAutomationManager;->sendAccessibilityEventLocked(Landroid/view/accessibility/AccessibilityEvent;)V
 PLcom/android/server/accounts/-$$Lambda$AccountManagerService$c6GExIY3Vh2fORdBziuAPJbExac;->onPermissionsChanged(I)V
-PLcom/android/server/accounts/-$$Lambda$AccountManagerService$nCdu9dc3c8qBwJIwS0ZQk2waXfY;-><init>(Landroid/accounts/AccountManagerInternal$OnAppPermissionChangeListener;Landroid/accounts/Account;I)V
+PLcom/android/server/accounts/-$$Lambda$AccountManagerService$lqbNdAUKUSipmpqby9oIO8JlNTQ;->run()V
 PLcom/android/server/accounts/-$$Lambda$AccountManagerService$nCdu9dc3c8qBwJIwS0ZQk2waXfY;->run()V
-PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;-><init>()V
-PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;-><init>(Lcom/android/server/accounts/AccountAuthenticatorCache$1;)V
-PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;->createFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/accounts/AuthenticatorDescription;
-PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;->createFromXml(Lorg/xmlpull/v1/XmlPullParser;)Ljava/lang/Object;
+PLcom/android/server/accounts/-$$Lambda$AccountManagerService$ncg6hlXg7I0Ee1EZqbXw8fQH9bY;->run()V
 PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;->writeAsXml(Landroid/accounts/AuthenticatorDescription;Lorg/xmlpull/v1/XmlSerializer;)V
 PLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;->writeAsXml(Ljava/lang/Object;Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/accounts/AccountAuthenticatorCache;-><init>(Landroid/content/Context;)V
 PLcom/android/server/accounts/AccountAuthenticatorCache;->getServiceInfo(Landroid/accounts/AuthenticatorDescription;I)Landroid/content/pm/RegisteredServicesCache$ServiceInfo;
-PLcom/android/server/accounts/AccountAuthenticatorCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/accounts/AuthenticatorDescription;
-PLcom/android/server/accounts/AccountAuthenticatorCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
-PLcom/android/server/accounts/AccountManagerBackupHelper;-><init>(Lcom/android/server/accounts/AccountManagerService;Landroid/accounts/AccountManagerInternal;)V
 PLcom/android/server/accounts/AccountManagerBackupHelper;->backupAccountAccessPermissions(I)[B
-PLcom/android/server/accounts/AccountManagerService$10;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;ZZLjava/lang/String;ZZLjava/lang/String;[Ljava/lang/String;Landroid/os/Bundle;Ljava/lang/String;)V
-PLcom/android/server/accounts/AccountManagerService$10;->run()V
-PLcom/android/server/accounts/AccountManagerService$1;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
+PLcom/android/server/accounts/AccountManagerService$1$1;->run()V
 PLcom/android/server/accounts/AccountManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/accounts/AccountManagerService$1LogRecordTask;-><init>(Lcom/android/server/accounts/AccountManagerService;Ljava/lang/String;Ljava/lang/String;JLcom/android/server/accounts/AccountManagerService$UserAccounts;IJ)V
 PLcom/android/server/accounts/AccountManagerService$1LogRecordTask;->run()V
-PLcom/android/server/accounts/AccountManagerService$2;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
-PLcom/android/server/accounts/AccountManagerService$3;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
 PLcom/android/server/accounts/AccountManagerService$3;->onPackageAdded(Ljava/lang/String;I)V
 PLcom/android/server/accounts/AccountManagerService$3;->onPackageUpdateFinished(Ljava/lang/String;I)V
-PLcom/android/server/accounts/AccountManagerService$4;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
+PLcom/android/server/accounts/AccountManagerService$4;->onOpChanged(ILjava/lang/String;)V
 PLcom/android/server/accounts/AccountManagerService$8;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;ZZLjava/lang/String;ZLandroid/os/Bundle;Landroid/accounts/Account;Ljava/lang/String;ZZIZLjava/lang/String;[BLcom/android/server/accounts/AccountManagerService$UserAccounts;)V
 PLcom/android/server/accounts/AccountManagerService$8;->onResult(Landroid/os/Bundle;)V
 PLcom/android/server/accounts/AccountManagerService$8;->run()V
-PLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;-><init>(Lcom/android/server/accounts/AccountManagerService;)V
-PLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$1;)V
-PLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;->addOnAppPermissionChangeListener(Landroid/accounts/AccountManagerInternal$OnAppPermissionChangeListener;)V
 PLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;->backupAccountAccessPermissions(I)[B
 PLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;->hasAccountAccess(Landroid/accounts/Account;I)Z
 PLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;ILjava/lang/String;Z)V
@@ -6619,25 +5239,14 @@
 PLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;->onResult(Landroid/os/Bundle;)V
 PLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;->run()V
 PLcom/android/server/accounts/AccountManagerService$GetAccountsByTypeAndFeatureSession;->sendResult()V
-PLcom/android/server/accounts/AccountManagerService$Injector;-><init>(Landroid/content/Context;)V
-PLcom/android/server/accounts/AccountManagerService$Injector;->addLocalService(Landroid/accounts/AccountManagerInternal;)V
-PLcom/android/server/accounts/AccountManagerService$Injector;->getAccountAuthenticatorCache()Lcom/android/server/accounts/IAccountAuthenticatorCache;
 PLcom/android/server/accounts/AccountManagerService$Injector;->getCeDatabaseName(I)Ljava/lang/String;
-PLcom/android/server/accounts/AccountManagerService$Injector;->getContext()Landroid/content/Context;
-PLcom/android/server/accounts/AccountManagerService$Injector;->getDeDatabaseName(I)Ljava/lang/String;
-PLcom/android/server/accounts/AccountManagerService$Injector;->getMessageHandlerLooper()Landroid/os/Looper;
 PLcom/android/server/accounts/AccountManagerService$Injector;->getNotificationManager()Landroid/app/INotificationManager;
-PLcom/android/server/accounts/AccountManagerService$Injector;->getPreNDatabaseName(I)Ljava/lang/String;
-PLcom/android/server/accounts/AccountManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/accounts/AccountManagerService$Lifecycle;->onStart()V
+PLcom/android/server/accounts/AccountManagerService$Lifecycle;->onStopUser(I)V
 PLcom/android/server/accounts/AccountManagerService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/accounts/AccountManagerService$MessageHandler;-><init>(Lcom/android/server/accounts/AccountManagerService;Landroid/os/Looper;)V
-PLcom/android/server/accounts/AccountManagerService$NotificationId;-><init>(Ljava/lang/String;I)V
-PLcom/android/server/accounts/AccountManagerService$NotificationId;->access$3800(Lcom/android/server/accounts/AccountManagerService$NotificationId;)I
-PLcom/android/server/accounts/AccountManagerService$RemoveAccountSession;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Z)V
 PLcom/android/server/accounts/AccountManagerService$RemoveAccountSession;->onResult(Landroid/os/Bundle;)V
 PLcom/android/server/accounts/AccountManagerService$RemoveAccountSession;->run()V
 PLcom/android/server/accounts/AccountManagerService$Session;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;ZZLjava/lang/String;Z)V
+PLcom/android/server/accounts/AccountManagerService$Session;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;ZZLjava/lang/String;ZZ)V
 PLcom/android/server/accounts/AccountManagerService$Session;->bind()V
 PLcom/android/server/accounts/AccountManagerService$Session;->bindToAuthenticator(Ljava/lang/String;)Z
 PLcom/android/server/accounts/AccountManagerService$Session;->cancelTimeout()V
@@ -6647,87 +5256,71 @@
 PLcom/android/server/accounts/AccountManagerService$Session;->isExportedSystemActivity(Landroid/content/pm/ActivityInfo;)Z
 PLcom/android/server/accounts/AccountManagerService$Session;->onResult(Landroid/os/Bundle;)V
 PLcom/android/server/accounts/AccountManagerService$Session;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/accounts/AccountManagerService$Session;->unbind()V
-PLcom/android/server/accounts/AccountManagerService$TestFeaturesSession;-><init>(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;[Ljava/lang/String;)V
 PLcom/android/server/accounts/AccountManagerService$TestFeaturesSession;->onResult(Landroid/os/Bundle;)V
 PLcom/android/server/accounts/AccountManagerService$TestFeaturesSession;->run()V
-PLcom/android/server/accounts/AccountManagerService$UserAccounts;-><init>(Landroid/content/Context;ILjava/io/File;Ljava/io/File;)V
-PLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$1000(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map;
-PLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$1100(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map;
-PLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$1200(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map;
-PLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$1300(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Lcom/android/server/accounts/TokenCache;
-PLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$1400(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Landroid/database/sqlite/SQLiteStatement;
-PLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$1402(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/database/sqlite/SQLiteStatement;)Landroid/database/sqlite/SQLiteStatement;
-PLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$1500(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/HashMap;
-PLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$1700(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/HashMap;
-PLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$2300(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/HashMap;
-PLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$3700(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)I
-PLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$3702(Lcom/android/server/accounts/AccountManagerService$UserAccounts;I)I
-PLcom/android/server/accounts/AccountManagerService;-><init>(Lcom/android/server/accounts/AccountManagerService$Injector;)V
-PLcom/android/server/accounts/AccountManagerService;->access$1800(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;I)Z
-PLcom/android/server/accounts/AccountManagerService;->access$2100(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;[BLjava/lang/String;Ljava/lang/String;J)V
-PLcom/android/server/accounts/AccountManagerService;->access$2900(Lcom/android/server/accounts/AccountManagerService;)Ljava/util/LinkedHashMap;
-PLcom/android/server/accounts/AccountManagerService;->access$3200(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;)Lcom/android/server/accounts/AccountManagerService$NotificationId;
-PLcom/android/server/accounts/AccountManagerService;->access$3300(Lcom/android/server/accounts/AccountManagerService;Lcom/android/server/accounts/AccountManagerService$NotificationId;Landroid/os/UserHandle;)V
-PLcom/android/server/accounts/AccountManagerService;->access$3400(Lcom/android/server/accounts/AccountManagerService;)Lcom/android/server/accounts/IAccountAuthenticatorCache;
-PLcom/android/server/accounts/AccountManagerService;->access$3500(Lcom/android/server/accounts/AccountManagerService;I)Z
-PLcom/android/server/accounts/AccountManagerService;->access$3600(Lcom/android/server/accounts/AccountManagerService;)Ljava/text/SimpleDateFormat;
-PLcom/android/server/accounts/AccountManagerService;->access$400(Lcom/android/server/accounts/AccountManagerService;IZ)V
-PLcom/android/server/accounts/AccountManagerService;->access$4200(Lcom/android/server/accounts/AccountManagerService;)Ljava/util/concurrent/CopyOnWriteArrayList;
-PLcom/android/server/accounts/AccountManagerService;->access$4300(Lcom/android/server/accounts/AccountManagerService;Landroid/accounts/Account;Ljava/lang/String;I)Z
+PLcom/android/server/accounts/AccountManagerService$UserAccounts;->access$800(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)I
 PLcom/android/server/accounts/AccountManagerService;->accountExistsCache(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;)Z
-PLcom/android/server/accounts/AccountManagerService;->addAccountAsUser(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;ZLandroid/os/Bundle;I)V
+PLcom/android/server/accounts/AccountManagerService;->accountTypeManagesContacts(Ljava/lang/String;I)Z
 PLcom/android/server/accounts/AccountManagerService;->addAccountExplicitly(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)Z
 PLcom/android/server/accounts/AccountManagerService;->addAccountExplicitlyWithVisibility(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/Map;)Z
 PLcom/android/server/accounts/AccountManagerService;->addAccountInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;ILjava/util/Map;)Z
 PLcom/android/server/accounts/AccountManagerService;->addAccountToLinkedRestrictedUsers(Landroid/accounts/Account;I)V
 PLcom/android/server/accounts/AccountManagerService;->calculatePackageSignatureDigest(Ljava/lang/String;)[B
-PLcom/android/server/accounts/AccountManagerService;->canHaveProfile(I)Z
 PLcom/android/server/accounts/AccountManagerService;->canUserModifyAccounts(II)Z
 PLcom/android/server/accounts/AccountManagerService;->canUserModifyAccountsForType(ILjava/lang/String;I)Z
-PLcom/android/server/accounts/AccountManagerService;->cancelAccountAccessRequestNotificationIfNeeded(IZ)V
-PLcom/android/server/accounts/AccountManagerService;->cancelAccountAccessRequestNotificationIfNeeded(Landroid/accounts/Account;ILjava/lang/String;Z)V
-PLcom/android/server/accounts/AccountManagerService;->cancelAccountAccessRequestNotificationIfNeeded(Landroid/accounts/Account;IZ)V
-PLcom/android/server/accounts/AccountManagerService;->cancelNotification(Lcom/android/server/accounts/AccountManagerService$NotificationId;Landroid/os/UserHandle;)V
-PLcom/android/server/accounts/AccountManagerService;->checkGetAccountsPermission(Ljava/lang/String;II)Z
+PLcom/android/server/accounts/AccountManagerService;->cancelNotification(Lcom/android/server/accounts/AccountManagerService$NotificationId;Ljava/lang/String;Landroid/os/UserHandle;)V
+PLcom/android/server/accounts/AccountManagerService;->checkPackageSignature(Ljava/lang/String;II)I
 PLcom/android/server/accounts/AccountManagerService;->checkReadAccountsPermitted(ILjava/lang/String;ILjava/lang/String;)V
-PLcom/android/server/accounts/AccountManagerService;->checkReadContactsPermission(Ljava/lang/String;II)Z
+PLcom/android/server/accounts/AccountManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/accounts/AccountManagerService;->dumpUser(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
 PLcom/android/server/accounts/AccountManagerService;->getAccountRemovedReceivers(Landroid/accounts/Account;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/List;
+PLcom/android/server/accounts/AccountManagerService;->getAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;)I
+PLcom/android/server/accounts/AccountManagerService;->getAccountVisibilityFromCache(Landroid/accounts/Account;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)I
+PLcom/android/server/accounts/AccountManagerService;->getAccounts(ILjava/lang/String;)[Landroid/accounts/Account;
 PLcom/android/server/accounts/AccountManagerService;->getAccounts(Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
 PLcom/android/server/accounts/AccountManagerService;->getAccounts([I)[Landroid/accounts/AccountAndUser;
 PLcom/android/server/accounts/AccountManagerService;->getAccountsByFeatures(Landroid/accounts/IAccountManagerResponse;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/accounts/AccountManagerService;->getAccountsByTypeForPackage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)[Landroid/accounts/Account;
 PLcom/android/server/accounts/AccountManagerService;->getAllAccounts()[Landroid/accounts/AccountAndUser;
-PLcom/android/server/accounts/AccountManagerService;->getAuthenticatorTypeAndUIDForUser(Lcom/android/server/accounts/IAccountAuthenticatorCache;I)Ljava/util/HashMap;
+PLcom/android/server/accounts/AccountManagerService;->getAuthToken(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Ljava/lang/String;ZZLandroid/os/Bundle;)V
+PLcom/android/server/accounts/AccountManagerService;->getAuthenticatorTypes(I)[Landroid/accounts/AuthenticatorDescription;
 PLcom/android/server/accounts/AccountManagerService;->getAuthenticatorTypesInternal(I)[Landroid/accounts/AuthenticatorDescription;
 PLcom/android/server/accounts/AccountManagerService;->getCredentialPermissionNotificationId(Landroid/accounts/Account;Ljava/lang/String;I)Lcom/android/server/accounts/AccountManagerService$NotificationId;
 PLcom/android/server/accounts/AccountManagerService;->getPackageNameForUid(I)Ljava/lang/String;
+PLcom/android/server/accounts/AccountManagerService;->getPackagesAndVisibilityForAccountLocked(Landroid/accounts/Account;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map;
+PLcom/android/server/accounts/AccountManagerService;->getPassword(Landroid/accounts/Account;)Ljava/lang/String;
 PLcom/android/server/accounts/AccountManagerService;->getPreviousName(Landroid/accounts/Account;)Ljava/lang/String;
 PLcom/android/server/accounts/AccountManagerService;->getRequestingPackages(Landroid/accounts/Account;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/util/Map;
 PLcom/android/server/accounts/AccountManagerService;->getRunningAccounts()[Landroid/accounts/AccountAndUser;
+PLcom/android/server/accounts/AccountManagerService;->getSharedAccountsAsUser(I)[Landroid/accounts/Account;
 PLcom/android/server/accounts/AccountManagerService;->getSigninRequiredNotificationId(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;)Lcom/android/server/accounts/AccountManagerService$NotificationId;
-PLcom/android/server/accounts/AccountManagerService;->getSingleton()Lcom/android/server/accounts/AccountManagerService;
-PLcom/android/server/accounts/AccountManagerService;->getUidsOfInstalledOrUpdatedPackagesAsUser(I)Landroid/util/SparseBooleanArray;
+PLcom/android/server/accounts/AccountManagerService;->getUserData(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
 PLcom/android/server/accounts/AccountManagerService;->grantAppPermission(Landroid/accounts/Account;Ljava/lang/String;I)V
+PLcom/android/server/accounts/AccountManagerService;->handleIncomingUser(I)I
 PLcom/android/server/accounts/AccountManagerService;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;I)Z
+PLcom/android/server/accounts/AccountManagerService;->hasAccountAccess(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/UserHandle;)Z
 PLcom/android/server/accounts/AccountManagerService;->hasExplicitlyGrantedPermission(Landroid/accounts/Account;Ljava/lang/String;I)Z
 PLcom/android/server/accounts/AccountManagerService;->hasFeatures(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;[Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/accounts/AccountManagerService;->initializeDebugDbSizeAndCompileSqlStatementForLogging(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
 PLcom/android/server/accounts/AccountManagerService;->insertAccountIntoCacheLocked(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;)Landroid/accounts/Account;
 PLcom/android/server/accounts/AccountManagerService;->invalidateAuthToken(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/accounts/AccountManagerService;->invalidateAuthTokenLocked(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/lang/String;Ljava/lang/String;)Ljava/util/List;
-PLcom/android/server/accounts/AccountManagerService;->isAccountVisibleToCaller(Ljava/lang/String;IILjava/lang/String;)Z
-PLcom/android/server/accounts/AccountManagerService;->isCrossUser(II)Z
-PLcom/android/server/accounts/AccountManagerService;->isLocalUnlockedUser(I)Z
-PLcom/android/server/accounts/AccountManagerService;->lambda$grantAppPermission$3(Landroid/accounts/AccountManagerInternal$OnAppPermissionChangeListener;Landroid/accounts/Account;I)V
+PLcom/android/server/accounts/AccountManagerService;->isPermittedForPackage(Ljava/lang/String;II[Ljava/lang/String;)Z
+PLcom/android/server/accounts/AccountManagerService;->isPreOApplication(Ljava/lang/String;)Z
+PLcom/android/server/accounts/AccountManagerService;->isPrivileged(I)Z
+PLcom/android/server/accounts/AccountManagerService;->lambda$new$0$AccountManagerService(I)V
 PLcom/android/server/accounts/AccountManagerService;->lambda$new$0(Lcom/android/server/accounts/AccountManagerService;I)V
+PLcom/android/server/accounts/AccountManagerService;->lambda$onUnlockUser$1$AccountManagerService(I)V
 PLcom/android/server/accounts/AccountManagerService;->logRecord(Ljava/lang/String;Ljava/lang/String;JLcom/android/server/accounts/AccountManagerService$UserAccounts;I)V
-PLcom/android/server/accounts/AccountManagerService;->logRecordWithUid(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/accounts/AccountManagerService;->notifyPackage(Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
+PLcom/android/server/accounts/AccountManagerService;->onAccountAccessed(Ljava/lang/String;)V
 PLcom/android/server/accounts/AccountManagerService;->onResult(Landroid/accounts/IAccountManagerResponse;Landroid/os/Bundle;)V
 PLcom/android/server/accounts/AccountManagerService;->onServiceChanged(Landroid/accounts/AuthenticatorDescription;IZ)V
 PLcom/android/server/accounts/AccountManagerService;->onServiceChanged(Ljava/lang/Object;IZ)V
+PLcom/android/server/accounts/AccountManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 PLcom/android/server/accounts/AccountManagerService;->onUnlockUser(I)V
-PLcom/android/server/accounts/AccountManagerService;->purgeOldGrants(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
+PLcom/android/server/accounts/AccountManagerService;->peekAuthToken(Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/accounts/AccountManagerService;->permissionIsGranted(Landroid/accounts/Account;Ljava/lang/String;II)Z
+PLcom/android/server/accounts/AccountManagerService;->purgeOldGrantsAll()V
+PLcom/android/server/accounts/AccountManagerService;->purgeUserData(I)V
 PLcom/android/server/accounts/AccountManagerService;->readAuthTokenInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;)Ljava/lang/String;
 PLcom/android/server/accounts/AccountManagerService;->readCachedTokenInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;[B)Ljava/lang/String;
 PLcom/android/server/accounts/AccountManagerService;->readPasswordInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;)Ljava/lang/String;
@@ -6737,47 +5330,43 @@
 PLcom/android/server/accounts/AccountManagerService;->registerAccountListener([Ljava/lang/String;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
 PLcom/android/server/accounts/AccountManagerService;->removeAccount(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;Z)V
 PLcom/android/server/accounts/AccountManagerService;->removeAccountAsUser(Landroid/accounts/IAccountManagerResponse;Landroid/accounts/Account;ZI)V
+PLcom/android/server/accounts/AccountManagerService;->removeAccountFromCacheLocked(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;)V
 PLcom/android/server/accounts/AccountManagerService;->removeAccountInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;I)Z
+PLcom/android/server/accounts/AccountManagerService;->removeVisibilityValuesForPackage(Ljava/lang/String;)V
 PLcom/android/server/accounts/AccountManagerService;->saveAuthTokenToDatabase(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/accounts/AccountManagerService;->saveCachedToken(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;[BLjava/lang/String;Ljava/lang/String;J)V
+PLcom/android/server/accounts/AccountManagerService;->sendAccountRemovedBroadcast(Landroid/accounts/Account;Ljava/lang/String;I)V
 PLcom/android/server/accounts/AccountManagerService;->sendAccountsChangedBroadcast(I)V
 PLcom/android/server/accounts/AccountManagerService;->sendNotificationAccountUpdated(Landroid/accounts/Account;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
-PLcom/android/server/accounts/AccountManagerService;->setPassword(Landroid/accounts/Account;Ljava/lang/String;)V
-PLcom/android/server/accounts/AccountManagerService;->setPasswordInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;I)V
+PLcom/android/server/accounts/AccountManagerService;->setAuthToken(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/accounts/AccountManagerService;->setUserData(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/accounts/AccountManagerService;->setUserdataInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/accounts/AccountManagerService;->syncDeCeAccountsLocked(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
+PLcom/android/server/accounts/AccountManagerService;->syncSharedAccounts(I)V
 PLcom/android/server/accounts/AccountManagerService;->unregisterAccountListener([Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/accounts/AccountManagerService;->unregisterAccountListener([Ljava/lang/String;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
 PLcom/android/server/accounts/AccountManagerService;->updateAppPermission(Landroid/accounts/Account;Ljava/lang/String;IZ)V
 PLcom/android/server/accounts/AccountManagerService;->validateAccounts(I)V
-PLcom/android/server/accounts/AccountManagerService;->validateAccountsInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Z)V
 PLcom/android/server/accounts/AccountManagerService;->writeAuthTokenIntoCacheLocked(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/accounts/AccountManagerService;->writeUserDataIntoCacheLocked(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/accounts/AccountsDb$CeDatabaseHelper;-><init>(Landroid/content/Context;Ljava/lang/String;)V
 PLcom/android/server/accounts/AccountsDb$CeDatabaseHelper;->create(Landroid/content/Context;Ljava/io/File;Ljava/io/File;)Lcom/android/server/accounts/AccountsDb$CeDatabaseHelper;
 PLcom/android/server/accounts/AccountsDb$CeDatabaseHelper;->onOpen(Landroid/database/sqlite/SQLiteDatabase;)V
-PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;-><init>(Landroid/content/Context;ILjava/lang/String;)V
-PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;-><init>(Landroid/content/Context;ILjava/lang/String;Lcom/android/server/accounts/AccountsDb$1;)V
-PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->access$602(Lcom/android/server/accounts/AccountsDb$DeDatabaseHelper;Z)Z
 PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->getReadableDatabaseUserIsUnlocked()Landroid/database/sqlite/SQLiteDatabase;
 PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->getWritableDatabaseUserIsUnlocked()Landroid/database/sqlite/SQLiteDatabase;
-PLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->onOpen(Landroid/database/sqlite/SQLiteDatabase;)V
-PLcom/android/server/accounts/AccountsDb;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/accounts/AccountsDb;-><init>(Lcom/android/server/accounts/AccountsDb$DeDatabaseHelper;Landroid/content/Context;Ljava/io/File;)V
 PLcom/android/server/accounts/AccountsDb;->attachCeDatabase(Ljava/io/File;)V
 PLcom/android/server/accounts/AccountsDb;->beginTransaction()V
-PLcom/android/server/accounts/AccountsDb;->calculateDebugTableInsertionPoint()I
+PLcom/android/server/accounts/AccountsDb;->calculateDebugTableInsertionPoint()J
+PLcom/android/server/accounts/AccountsDb;->close()V
+PLcom/android/server/accounts/AccountsDb;->closeDebugStatement()V
 PLcom/android/server/accounts/AccountsDb;->compileSqlStatementForLogging()Landroid/database/sqlite/SQLiteStatement;
-PLcom/android/server/accounts/AccountsDb;->create(Landroid/content/Context;ILjava/io/File;Ljava/io/File;)Lcom/android/server/accounts/AccountsDb;
 PLcom/android/server/accounts/AccountsDb;->deleteAuthToken(Ljava/lang/String;)Z
-PLcom/android/server/accounts/AccountsDb;->deleteAuthTokensByAccountId(J)Z
 PLcom/android/server/accounts/AccountsDb;->deleteAuthtokensByAccountIdAndType(JLjava/lang/String;)Z
+PLcom/android/server/accounts/AccountsDb;->deleteCeAccount(J)Z
+PLcom/android/server/accounts/AccountsDb;->deleteDeAccount(J)Z
+PLcom/android/server/accounts/AccountsDb;->dumpDeAccountsTable(Ljava/io/PrintWriter;)V
 PLcom/android/server/accounts/AccountsDb;->endTransaction()V
 PLcom/android/server/accounts/AccountsDb;->findAccountPasswordByNameAndType(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 PLcom/android/server/accounts/AccountsDb;->findAllAccountGrants()Ljava/util/List;
-PLcom/android/server/accounts/AccountsDb;->findAllDeAccounts()Ljava/util/Map;
-PLcom/android/server/accounts/AccountsDb;->findAllUidGrants()Ljava/util/List;
-PLcom/android/server/accounts/AccountsDb;->findAllVisibilityValues()Ljava/util/Map;
 PLcom/android/server/accounts/AccountsDb;->findAuthTokensByAccount(Landroid/accounts/Account;)Ljava/util/Map;
 PLcom/android/server/accounts/AccountsDb;->findAuthtokenForAllAccounts(Ljava/lang/String;Ljava/lang/String;)Landroid/database/Cursor;
 PLcom/android/server/accounts/AccountsDb;->findCeAccountId(Landroid/accounts/Account;)J
@@ -6786,1058 +5375,271 @@
 PLcom/android/server/accounts/AccountsDb;->findDeAccountPreviousName(Landroid/accounts/Account;)Ljava/lang/String;
 PLcom/android/server/accounts/AccountsDb;->findExtrasIdByAccountId(JLjava/lang/String;)J
 PLcom/android/server/accounts/AccountsDb;->findMatchingGrantsCountAnyToken(ILandroid/accounts/Account;)J
-PLcom/android/server/accounts/AccountsDb;->findMetaAuthUid()Ljava/util/Map;
 PLcom/android/server/accounts/AccountsDb;->findUserExtrasForAccount(Landroid/accounts/Account;)Ljava/util/Map;
+PLcom/android/server/accounts/AccountsDb;->getSharedAccounts()Ljava/util/List;
+PLcom/android/server/accounts/AccountsDb;->getStatementForLogging()Landroid/database/sqlite/SQLiteStatement;
 PLcom/android/server/accounts/AccountsDb;->insertAuthToken(JLjava/lang/String;Ljava/lang/String;)J
 PLcom/android/server/accounts/AccountsDb;->insertCeAccount(Landroid/accounts/Account;Ljava/lang/String;)J
 PLcom/android/server/accounts/AccountsDb;->insertDeAccount(Landroid/accounts/Account;J)J
 PLcom/android/server/accounts/AccountsDb;->insertExtra(JLjava/lang/String;Ljava/lang/String;)J
 PLcom/android/server/accounts/AccountsDb;->insertGrant(JLjava/lang/String;I)J
 PLcom/android/server/accounts/AccountsDb;->insertOrReplaceMetaAuthTypeAndUid(Ljava/lang/String;I)J
+PLcom/android/server/accounts/AccountsDb;->reserveDebugDbInsertionPoint()J
 PLcom/android/server/accounts/AccountsDb;->setTransactionSuccessful()V
-PLcom/android/server/accounts/AccountsDb;->updateCeAccountPassword(JLjava/lang/String;)I
 PLcom/android/server/accounts/AccountsDb;->updateExtra(JLjava/lang/String;)Z
-PLcom/android/server/accounts/TokenCache$Key;-><init>(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;[B)V
 PLcom/android/server/accounts/TokenCache$Key;->equals(Ljava/lang/Object;)Z
 PLcom/android/server/accounts/TokenCache$Key;->hashCode()I
-PLcom/android/server/accounts/TokenCache$TokenLruCache$Evictor;-><init>(Lcom/android/server/accounts/TokenCache$TokenLruCache;)V
 PLcom/android/server/accounts/TokenCache$TokenLruCache$Evictor;->add(Lcom/android/server/accounts/TokenCache$Key;)V
 PLcom/android/server/accounts/TokenCache$TokenLruCache$Evictor;->evict()V
-PLcom/android/server/accounts/TokenCache$TokenLruCache;-><init>()V
 PLcom/android/server/accounts/TokenCache$TokenLruCache;->entryRemoved(ZLcom/android/server/accounts/TokenCache$Key;Lcom/android/server/accounts/TokenCache$Value;Lcom/android/server/accounts/TokenCache$Value;)V
 PLcom/android/server/accounts/TokenCache$TokenLruCache;->entryRemoved(ZLjava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/accounts/TokenCache$TokenLruCache;->evict(Landroid/accounts/Account;)V
 PLcom/android/server/accounts/TokenCache$TokenLruCache;->evict(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/accounts/TokenCache$TokenLruCache;->putToken(Lcom/android/server/accounts/TokenCache$Key;Lcom/android/server/accounts/TokenCache$Value;)V
 PLcom/android/server/accounts/TokenCache$TokenLruCache;->sizeOf(Lcom/android/server/accounts/TokenCache$Key;Lcom/android/server/accounts/TokenCache$Value;)I
 PLcom/android/server/accounts/TokenCache$TokenLruCache;->sizeOf(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/accounts/TokenCache$Value;-><init>(Ljava/lang/String;J)V
-PLcom/android/server/accounts/TokenCache;-><init>()V
 PLcom/android/server/accounts/TokenCache;->get(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;[B)Ljava/lang/String;
 PLcom/android/server/accounts/TokenCache;->put(Landroid/accounts/Account;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[BJ)V
-PLcom/android/server/accounts/TokenCache;->remove(Landroid/accounts/Account;)V
 PLcom/android/server/accounts/TokenCache;->remove(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/-$$Lambda$5hokEl5hcign5FXeGZdl53qh2zg;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/am/-$$Lambda$5hokEl5hcign5FXeGZdl53qh2zg;->run()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->closeSocketLocked()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->listenToSocket()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->openSocketLocked()V
+PLcom/android/server/adb/AdbDebuggingManager$AdbDebuggingThread;->run()V
+PLcom/android/server/adb/AdbDebuggingManager;->getAdbTempKeysFile()Ljava/io/File;
+PLcom/android/server/adb/AdbDebuggingManager;->setAdbEnabled(Z)V
+PLcom/android/server/adb/AdbService$AdbHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/adb/AdbService;->bootCompleted()V
+PLcom/android/server/am/-$$Lambda$ActiveServices$97uxZ3dWwvVNFn6w-f_UMeMUNcs;-><init>(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ServiceRecord;)V
+PLcom/android/server/am/-$$Lambda$ActiveServices$97uxZ3dWwvVNFn6w-f_UMeMUNcs;->run()V
 PLcom/android/server/am/-$$Lambda$ActivityManagerService$3$poTyYzHinA8s8lAJ-y6Bb3JsBNo;-><init>()V
 PLcom/android/server/am/-$$Lambda$ActivityManagerService$3$poTyYzHinA8s8lAJ-y6Bb3JsBNo;->needed(Lcom/android/internal/os/ProcessCpuTracker$Stats;)Z
-PLcom/android/server/am/-$$Lambda$ActivityManagerService$UgpguyCBuObHjnmry_xkrJGkFi0;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;JLjava/lang/String;Ljava/lang/String;[IIILjava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/-$$Lambda$ActivityManagerService$UgpguyCBuObHjnmry_xkrJGkFi0;->run()V
-PLcom/android/server/am/-$$Lambda$ActivityManagerService$eFxS8Z-_MXzP9a8ro45rBMHy3bk;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/-$$Lambda$ActivityManagerService$gATL8uvTPRd405IfefK1RL9bNqA;-><init>(Landroid/hardware/display/DisplayManagerInternal;)V
-PLcom/android/server/am/-$$Lambda$ActivityManagerService$gATL8uvTPRd405IfefK1RL9bNqA;->run()V
-PLcom/android/server/am/-$$Lambda$ActivityManagerService$w5jCshLsk1jfv4UDTmEfq_HU0OQ;-><init>(Landroid/os/DropBoxManager;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/-$$Lambda$ActivityManagerService$w5jCshLsk1jfv4UDTmEfq_HU0OQ;->run()V
-PLcom/android/server/am/-$$Lambda$ActivityMetricsLogger$EXtnEt47a9lJOX0u5R1TXhfh0XE;-><init>(Lcom/android/server/am/ActivityMetricsLogger;IILcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
-PLcom/android/server/am/-$$Lambda$ActivityMetricsLogger$EXtnEt47a9lJOX0u5R1TXhfh0XE;->run()V
-PLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$Nx17DLnpsjeC2juW1TuPEAogLvE;-><init>(Lcom/android/server/am/BatteryExternalStatsWorker;)V
-PLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$Nx17DLnpsjeC2juW1TuPEAogLvE;->run()V
-PLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$PpNEY15dspg9oLlkg1OsyjrPTqw;->run()V
-PLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$cC4f0pNQX9_D9f8AXLmKk2sArGY;-><init>()V
-PLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$cC4f0pNQX9_D9f8AXLmKk2sArGY;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$eNtlYRY6yBjSWzaL4STPjcGEduM;-><init>(Lcom/android/server/am/BatteryExternalStatsWorker;)V
-PLcom/android/server/am/-$$Lambda$BatteryStatsService$ZxbqtJ7ozYmzYFkkNV3m_QRd0Sk;-><init>(Lcom/android/server/am/BatteryStatsService;IIIIIIII)V
-PLcom/android/server/am/-$$Lambda$BatteryStatsService$ZxbqtJ7ozYmzYFkkNV3m_QRd0Sk;->run()V
-PLcom/android/server/am/-$$Lambda$BatteryStatsService$rRONgIFHr4sujxPESRmo9P5RJ6w;-><init>(Lcom/android/server/am/BatteryStatsService;IIIIIIII)V
-PLcom/android/server/am/-$$Lambda$BatteryStatsService$rRONgIFHr4sujxPESRmo9P5RJ6w;->run()V
-PLcom/android/server/am/-$$Lambda$PendingRemoteAnimationRegistry$Entry$nMsaTjyghAPVeCjs7XjsdMM78mc;-><init>(Lcom/android/server/am/PendingRemoteAnimationRegistry$Entry;Ljava/lang/String;)V
-PLcom/android/server/am/-$$Lambda$PendingRemoteAnimationRegistry$Entry$nMsaTjyghAPVeCjs7XjsdMM78mc;->run()V
-PLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$1RAH1a7gRlnrDczBty2_cTiNlBI;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$IPqcWaWHIL4UnZEYJhAve5H7KmE;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$K9kaSj6_p5pzfyRh9i93xiC9T3s;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$O2UuB84QeMcZfsRHiuiFSTwwWHY;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$YDk9fnP8p2R_OweiU9rSGaheQeE;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$bteC39aBoUFmJeWf3dk2BX1xZ6k;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$grn5FwM5ofT98exjpSvrJhz-e7s;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$kftD881t3KfWCASQEbeTkieVI2M;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/-$$Lambda$UserController$Eh5Od1-6teHInq04bnfmHhMt3-E;-><init>(Lcom/android/server/am/UserController;I)V
-PLcom/android/server/am/-$$Lambda$UserController$Eh5Od1-6teHInq04bnfmHhMt3-E;->run()V
-PLcom/android/server/am/-$$Lambda$UserController$d0zeElfogOIugnQQLWhCzumk53k;-><init>(Lcom/android/server/am/UserController;Lcom/android/server/am/UserState;)V
-PLcom/android/server/am/-$$Lambda$UserController$d0zeElfogOIugnQQLWhCzumk53k;->run()V
-PLcom/android/server/am/-$$Lambda$UserController$o6oQFjGYYIfx-I94cSakTLPLt6s;-><init>(Lcom/android/server/am/UserController;ILcom/android/server/am/UserState;)V
-PLcom/android/server/am/-$$Lambda$UserController$o6oQFjGYYIfx-I94cSakTLPLt6s;->run()V
+PLcom/android/server/am/-$$Lambda$ActivityManagerService$LocalService$2LeEPdXnhP_I5Tz5a2OSkhUL0oc;->accept(Ljava/lang/Object;)V
+PLcom/android/server/am/-$$Lambda$ActivityManagerService$Z3G4KWA2tlTOhqhFtAvVby1SjyQ;->accept(Ljava/lang/Object;)V
+PLcom/android/server/am/-$$Lambda$BroadcastQueue$UYhESkevIwvEc0Mcevy6z7vfzgY;->run()V
+PLcom/android/server/am/-$$Lambda$BroadcastQueue$thwmo_4kN7le1xsy6iCxQvtXbB8;->run()V
+PLcom/android/server/am/-$$Lambda$HKoBBTwYfMTyX1rzuzxIXu0s2cc;-><init>()V
+PLcom/android/server/am/-$$Lambda$PendingIntentController$pDmmJDvS20vSAAXh9qdzbN0P8N0;-><init>()V
+PLcom/android/server/am/-$$Lambda$PendingIntentController$pDmmJDvS20vSAAXh9qdzbN0P8N0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/am/-$$Lambda$PendingIntentController$sPmaborOkBSSEP2wiimxXw-eYDQ;-><init>()V
+PLcom/android/server/am/-$$Lambda$PendingIntentController$sPmaborOkBSSEP2wiimxXw-eYDQ;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/am/-$$Lambda$PersistentConnection$rkvbuN0FQdQUv1hqSwDvmwwh6Uk;->run()V
+PLcom/android/server/am/-$$Lambda$ProcessRecord$1qn6-pj5yWgiSnKANZpVz3gwd30;-><init>(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/-$$Lambda$ProcessRecord$2DImTokd0AWNTECl3WgBxJkOOqs;-><init>(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/-$$Lambda$ProcessRecord$Cb3MKja7_iTlaFQrvQTzPvLyoT8;-><init>(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/-$$Lambda$SettingsToPropertiesMapper$Rzo06OjarvWLxZlB1l32KTp3emA;->onPropertyChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/-$$Lambda$UserController$4$P3Sj7pxBXLC7k_puCIIki2uVgGE;->run()V
+PLcom/android/server/am/-$$Lambda$UserController$H8axiHUqxiRcO9vLZzFeTEGfxxg;->run()V
+PLcom/android/server/am/-$$Lambda$UserController$Injector$MYTLl7MOQKjyMJknWdxPeBLoPCc;->run()V
+PLcom/android/server/am/-$$Lambda$UserController$K71HFCIuD0iCwrDTKYnIUDyAeWg;-><init>(Lcom/android/server/am/UserController;Lcom/android/server/am/UserState;)V
+PLcom/android/server/am/-$$Lambda$UserController$K71HFCIuD0iCwrDTKYnIUDyAeWg;->run()V
+PLcom/android/server/am/-$$Lambda$UserController$O8GIT-HtdCM0CCjYajdW2AFcrWQ;->run()V
+PLcom/android/server/am/-$$Lambda$UserController$po8Tw8x_WDTtEiHYm0TQVgSw3pg;->run()V
+PLcom/android/server/am/-$$Lambda$UserController$qRaFvFpU0fG-BFv-EOAM55wngno;->run()V
+PLcom/android/server/am/-$$Lambda$UserController$stQk1028ON105v_u-VMykVjcxLk;->run()V
 PLcom/android/server/am/-$$Lambda$Y_KRxxoOXfy-YceuDG7WHd46Y_I;-><init>()V
-PLcom/android/server/am/ActiveServices$ForcedStandbyListener;-><init>(Lcom/android/server/am/ActiveServices;)V
-PLcom/android/server/am/ActiveServices$ServiceMap;-><init>(Lcom/android/server/am/ActiveServices;Landroid/os/Looper;I)V
+PLcom/android/server/am/-$$Lambda$yk1Ms9fVlF6PvprMwF2rru-dw4Q;-><init>()V
+PLcom/android/server/am/-$$Lambda$yk1Ms9fVlF6PvprMwF2rru-dw4Q;->applyAsLong(Ljava/lang/Object;)J
 PLcom/android/server/am/ActiveServices$ServiceMap;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/am/ActiveServices$ServiceMap;->rescheduleDelayedStartsLocked()V
 PLcom/android/server/am/ActiveServices$ServiceRestarter;->run()V
+PLcom/android/server/am/ActiveServices$ServiceRestarter;->setService(Lcom/android/server/am/ServiceRecord;)V
 PLcom/android/server/am/ActiveServices;->appRestrictedAnyInBackground(ILjava/lang/String;)Z
-PLcom/android/server/am/ActiveServices;->attachApplicationLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)Z
-PLcom/android/server/am/ActiveServices;->bringDownDisabledPackageServicesLocked(Ljava/lang/String;Ljava/util/Set;IZZZ)Z
-PLcom/android/server/am/ActiveServices;->cleanUpRemovedTaskLocked(Lcom/android/server/am/TaskRecord;Landroid/content/ComponentName;Landroid/content/Intent;)V
+PLcom/android/server/am/ActiveServices;->bringDownServiceLocked(Lcom/android/server/am/ServiceRecord;)V
+PLcom/android/server/am/ActiveServices;->cancelForegroundNotificationLocked(Lcom/android/server/am/ServiceRecord;)V
+PLcom/android/server/am/ActiveServices;->cleanUpServices(ILandroid/content/ComponentName;Landroid/content/Intent;)V
 PLcom/android/server/am/ActiveServices;->clearRestartingIfNeededLocked(Lcom/android/server/am/ServiceRecord;)V
+PLcom/android/server/am/ActiveServices;->decActiveForegroundAppLocked(Lcom/android/server/am/ActiveServices$ServiceMap;Lcom/android/server/am/ServiceRecord;)V
 PLcom/android/server/am/ActiveServices;->dumpService(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;IZ)Z
 PLcom/android/server/am/ActiveServices;->dumpService(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Lcom/android/server/am/ServiceRecord;[Ljava/lang/String;Z)V
-PLcom/android/server/am/ActiveServices;->forceStopPackageLocked(Ljava/lang/String;I)V
+PLcom/android/server/am/ActiveServices;->foregroundAppShownEnoughLocked(Lcom/android/server/am/ActiveServices$ActiveForegroundApp;J)Z
+PLcom/android/server/am/ActiveServices;->foregroundServiceProcStateChangedLocked(Lcom/android/server/am/UidRecord;)V
 PLcom/android/server/am/ActiveServices;->getRunningServiceInfoLocked(IIIZZ)Ljava/util/List;
-PLcom/android/server/am/ActiveServices;->getServicesLocked(I)Landroid/util/ArrayMap;
-PLcom/android/server/am/ActiveServices;->killServicesLocked(Lcom/android/server/am/ProcessRecord;Z)V
+PLcom/android/server/am/ActiveServices;->makeRunningServiceInfoLocked(Lcom/android/server/am/ServiceRecord;)Landroid/app/ActivityManager$RunningServiceInfo;
 PLcom/android/server/am/ActiveServices;->performServiceRestartLocked(Lcom/android/server/am/ServiceRecord;)V
+PLcom/android/server/am/ActiveServices;->processStartTimedOutLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActiveServices;->removeAllowBackgroundActivityStartsServiceToken(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ServiceRecord;I)V
+PLcom/android/server/am/ActiveServices;->removeConnectionLocked(Lcom/android/server/am/ConnectionRecord;Lcom/android/server/am/ProcessRecord;Lcom/android/server/wm/ActivityServiceConnectionsHolder;)V
+PLcom/android/server/am/ActiveServices;->requestUpdateActiveForegroundAppsLocked(Lcom/android/server/am/ActiveServices$ServiceMap;J)V
+PLcom/android/server/am/ActiveServices;->scheduleServiceForegroundTransitionTimeoutLocked(Lcom/android/server/am/ServiceRecord;)V
 PLcom/android/server/am/ActiveServices;->scheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;Z)Z
 PLcom/android/server/am/ActiveServices;->serviceProcessGoneLocked(Lcom/android/server/am/ServiceRecord;)V
 PLcom/android/server/am/ActiveServices;->serviceTimeout(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/ActiveServices;->setServiceForegroundInnerLocked(Lcom/android/server/am/ServiceRecord;ILandroid/app/Notification;I)V
-PLcom/android/server/am/ActiveServices;->setServiceForegroundLocked(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;I)V
-PLcom/android/server/am/ActiveServices;->systemServicesReady()V
+PLcom/android/server/am/ActiveServices;->setServiceForegroundInnerLocked(Lcom/android/server/am/ServiceRecord;ILandroid/app/Notification;II)V
+PLcom/android/server/am/ActiveServices;->setServiceForegroundLocked(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;II)V
+PLcom/android/server/am/ActiveServices;->stopServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)I
+PLcom/android/server/am/ActiveServices;->stopServiceLocked(Lcom/android/server/am/ServiceRecord;)V
+PLcom/android/server/am/ActiveServices;->stopServiceTokenLocked(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
 PLcom/android/server/am/ActiveServices;->unbindFinishedLocked(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent;Z)V
+PLcom/android/server/am/ActiveServices;->unbindServiceLocked(Landroid/app/IServiceConnection;)Z
+PLcom/android/server/am/ActiveServices;->updateForegroundApps(Lcom/android/server/am/ActiveServices$ServiceMap;)V
 PLcom/android/server/am/ActiveServices;->updateScreenStateLocked(Z)V
 PLcom/android/server/am/ActiveServices;->updateServiceApplicationInfoLocked(Landroid/content/pm/ApplicationInfo;)V
-PLcom/android/server/am/ActiveServices;->updateServiceConnectionActivitiesLocked(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/ActiveServices;->updateWhitelistManagerLocked(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/ActivityDisplay;-><init>(Lcom/android/server/am/ActivityStackSupervisor;Landroid/view/Display;)V
-PLcom/android/server/am/ActivityDisplay;->addChild(Lcom/android/server/am/ActivityStack;I)V
-PLcom/android/server/am/ActivityDisplay;->addStackReferenceIfNeeded(Lcom/android/server/am/ActivityStack;)V
-PLcom/android/server/am/ActivityDisplay;->alwaysCreateStack(II)Z
-PLcom/android/server/am/ActivityDisplay;->continueUpdateImeTarget()V
-PLcom/android/server/am/ActivityDisplay;->createStack(IIZ)Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityDisplay;->createStackUnchecked(IIIZ)Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityDisplay;->createWindowContainerController()Lcom/android/server/wm/DisplayWindowController;
-PLcom/android/server/am/ActivityDisplay;->deferUpdateImeTarget()V
-PLcom/android/server/am/ActivityDisplay;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
-PLcom/android/server/am/ActivityDisplay;->getIndexOf(Lcom/android/server/am/ActivityStack;)I
-PLcom/android/server/am/ActivityDisplay;->getNextStackId()I
-PLcom/android/server/am/ActivityDisplay;->getOrCreateStack(IIZ)Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityDisplay;->getOrCreateStack(Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/am/TaskRecord;IZ)Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityDisplay;->getParent()Lcom/android/server/wm/ConfigurationContainer;
-PLcom/android/server/am/ActivityDisplay;->getSplitScreenPrimaryStack()Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityDisplay;->getStack(I)Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityDisplay;->getStack(II)Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityDisplay;->getTopInsertPosition(Lcom/android/server/am/ActivityStack;I)I
-PLcom/android/server/am/ActivityDisplay;->getTopStack()Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityDisplay;->hasPinnedStack()Z
-PLcom/android/server/am/ActivityDisplay;->hasSplitScreenPrimaryStack()Z
-PLcom/android/server/am/ActivityDisplay;->isPrivate()Z
-PLcom/android/server/am/ActivityDisplay;->isSleeping()Z
-PLcom/android/server/am/ActivityDisplay;->isTopStack(Lcom/android/server/am/ActivityStack;)Z
-PLcom/android/server/am/ActivityDisplay;->isWindowingModeSupported(IZZZZI)Z
-PLcom/android/server/am/ActivityDisplay;->onLockTaskPackagesUpdated()V
-PLcom/android/server/am/ActivityDisplay;->onStackOrderChanged()V
-PLcom/android/server/am/ActivityDisplay;->onStackWindowingModeChanged(Lcom/android/server/am/ActivityStack;)V
-PLcom/android/server/am/ActivityDisplay;->positionChildAt(Lcom/android/server/am/ActivityStack;I)V
-PLcom/android/server/am/ActivityDisplay;->positionChildAtBottom(Lcom/android/server/am/ActivityStack;)V
-PLcom/android/server/am/ActivityDisplay;->positionChildAtTop(Lcom/android/server/am/ActivityStack;)V
-PLcom/android/server/am/ActivityDisplay;->removeChild(Lcom/android/server/am/ActivityStack;)V
-PLcom/android/server/am/ActivityDisplay;->removeStackReferenceIfNeeded(Lcom/android/server/am/ActivityStack;)V
-PLcom/android/server/am/ActivityDisplay;->resolveWindowingMode(Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/am/TaskRecord;I)I
-PLcom/android/server/am/ActivityDisplay;->setIsSleeping(Z)V
-PLcom/android/server/am/ActivityDisplay;->shouldSleep()Z
-PLcom/android/server/am/ActivityDisplay;->updateBounds()V
-PLcom/android/server/am/ActivityLaunchParamsModifier;->onCalculate(Lcom/android/server/am/TaskRecord;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/am/LaunchParamsController$LaunchParams;Lcom/android/server/am/LaunchParamsController$LaunchParams;)I
-PLcom/android/server/am/ActivityManagerConstants;->getOverrideMaxCachedProcesses()I
-PLcom/android/server/am/ActivityManagerConstants;->start(Landroid/content/ContentResolver;)V
-PLcom/android/server/am/ActivityManagerConstants;->updateConstants()V
-PLcom/android/server/am/ActivityManagerService$10;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService$11;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService$11;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-PLcom/android/server/am/ActivityManagerService$12;-><init>(Lcom/android/server/am/ActivityManagerService;ILandroid/os/IBinder;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService$19;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService$19;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+PLcom/android/server/am/ActivityManagerConstants$1;->onPropertyChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerConstants;->onChange(ZLandroid/net/Uri;)V
+PLcom/android/server/am/ActivityManagerService$10;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
 PLcom/android/server/am/ActivityManagerService$1;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-PLcom/android/server/am/ActivityManagerService$20;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService$21;-><init>(Lcom/android/server/am/ActivityManagerService;IILandroid/os/IBinder;Ljava/lang/String;Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;)V
-PLcom/android/server/am/ActivityManagerService$21;->run()V
-PLcom/android/server/am/ActivityManagerService$22;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;Ljava/lang/String;Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;Landroid/os/DropBoxManager;)V
-PLcom/android/server/am/ActivityManagerService$22;->run()V
-PLcom/android/server/am/ActivityManagerService$28;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService$28;->run()V
-PLcom/android/server/am/ActivityManagerService$2;->newArray(I)[Landroid/content/IntentFilter;
-PLcom/android/server/am/ActivityManagerService$2;->newArray(I)[Lcom/android/server/am/BroadcastFilter;
-PLcom/android/server/am/ActivityManagerService$3;->lambda$handleMessage$0(Lcom/android/internal/os/ProcessCpuTracker$Stats;)Z
-PLcom/android/server/am/ActivityManagerService$4;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService$9;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService$AppDeathRecipient;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;)V
-PLcom/android/server/am/ActivityManagerService$AppDeathRecipient;->binderDied()V
-PLcom/android/server/am/ActivityManagerService$CpuBinder$1;-><init>(Lcom/android/server/am/ActivityManagerService$CpuBinder;)V
-PLcom/android/server/am/ActivityManagerService$CpuBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService$DbBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService$DevelopmentSettingsObserver;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService$DevelopmentSettingsObserver;->onChange()V
-PLcom/android/server/am/ActivityManagerService$FontScaleSettingObserver;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService$GrantUri;-><init>(ILandroid/net/Uri;Z)V
-PLcom/android/server/am/ActivityManagerService$GrantUri;->equals(Ljava/lang/Object;)Z
-PLcom/android/server/am/ActivityManagerService$GrantUri;->hashCode()I
-PLcom/android/server/am/ActivityManagerService$GrantUri;->resolve(ILandroid/net/Uri;)Lcom/android/server/am/ActivityManagerService$GrantUri;
-PLcom/android/server/am/ActivityManagerService$GraphicsBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->getPolicyForPApps()I
-PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->getPolicyForPrePApps()I
-PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->getValidEnforcementPolicy(Ljava/lang/String;)I
-PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->isDisabled()Z
-PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->registerObserver()V
-PLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->update()V
-PLcom/android/server/am/ActivityManagerService$ImportanceToken;-><init>(Lcom/android/server/am/ActivityManagerService;ILandroid/os/IBinder;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService$LocalService;->acquireSleepToken(Ljava/lang/String;I)Landroid/app/ActivityManagerInternal$SleepToken;
-PLcom/android/server/am/ActivityManagerService$LocalService;->enforceCallerIsRecentsOrHasPermission(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService$3;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/am/ActivityManagerService$ImportanceToken;->toString()Ljava/lang/String;
+PLcom/android/server/am/ActivityManagerService$Lifecycle;->onCleanupUser(I)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->broadcastCloseSystemDialogs(Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->broadcastIntentInPackage(Ljava/lang/String;IIILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;Landroid/os/Bundle;ZZIZ)I
+PLcom/android/server/am/ActivityManagerService$LocalService;->cleanUpServices(ILandroid/content/ComponentName;Landroid/content/Intent;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->disconnectActivityFromServices(Ljava/lang/Object;)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->ensureNotSpecialUser(I)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->getActivityInfoForUser(Landroid/content/pm/ActivityInfo;I)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/am/ActivityManagerService$LocalService;->getActivityPresentationInfo(Landroid/os/IBinder;)Landroid/content/pm/ActivityPresentationInfo;
+PLcom/android/server/am/ActivityManagerService$LocalService;->getMemoryHighWaterMarkForProcesses()Ljava/util/List;
 PLcom/android/server/am/ActivityManagerService$LocalService;->getMemoryStateForProcesses()Ljava/util/List;
-PLcom/android/server/am/ActivityManagerService$LocalService;->getTopVisibleActivities()Ljava/util/List;
-PLcom/android/server/am/ActivityManagerService$LocalService;->getUidProcessState(I)I
+PLcom/android/server/am/ActivityManagerService$LocalService;->getStorageMountMode(II)I
+PLcom/android/server/am/ActivityManagerService$LocalService;->getTaskIdForActivity(Landroid/os/IBinder;Z)I
+PLcom/android/server/am/ActivityManagerService$LocalService;->handleIncomingUser(IIIZILjava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/am/ActivityManagerService$LocalService;->isActivityStartsLoggingEnabled()Z
 PLcom/android/server/am/ActivityManagerService$LocalService;->isAppForeground(I)Z
-PLcom/android/server/am/ActivityManagerService$LocalService;->isCallerRecents(I)Z
-PLcom/android/server/am/ActivityManagerService$LocalService;->isRuntimeRestarted()Z
-PLcom/android/server/am/ActivityManagerService$LocalService;->isSystemReady()Z
-PLcom/android/server/am/ActivityManagerService$LocalService;->isUidActive(I)Z
-PLcom/android/server/am/ActivityManagerService$LocalService;->notifyActiveVoiceInteractionServiceChanged(Landroid/content/ComponentName;)V
-PLcom/android/server/am/ActivityManagerService$LocalService;->notifyAppTransitionFinished()V
-PLcom/android/server/am/ActivityManagerService$LocalService;->notifyAppTransitionStarting(Landroid/util/SparseIntArray;J)V
-PLcom/android/server/am/ActivityManagerService$LocalService;->notifyDockedStackMinimizedChanged(Z)V
-PLcom/android/server/am/ActivityManagerService$LocalService;->notifyKeyguardFlagsChanged(Ljava/lang/Runnable;)V
-PLcom/android/server/am/ActivityManagerService$LocalService;->notifyKeyguardTrustedChanged()V
+PLcom/android/server/am/ActivityManagerService$LocalService;->isBackgroundActivityStartsEnabled()Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->isCurrentProfile(I)Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->killForegroundAppsForUser(I)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->killProcessesForRemovedTask(Ljava/util/ArrayList;)V
 PLcom/android/server/am/ActivityManagerService$LocalService;->onWakefulnessChanged(I)V
-PLcom/android/server/am/ActivityManagerService$LocalService;->registerScreenObserver(Landroid/app/ActivityManagerInternal$ScreenObserver;)V
-PLcom/android/server/am/ActivityManagerService$LocalService;->setAllowAppSwitches(Ljava/lang/String;II)V
-PLcom/android/server/am/ActivityManagerService$LocalService;->setDeviceIdleWhitelist([I[I)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->sendForegroundProfileChanged(I)V
 PLcom/android/server/am/ActivityManagerService$LocalService;->setHasOverlayUi(IZ)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setPendingIntentAllowBgActivityStarts(Landroid/content/IIntentSender;Landroid/os/IBinder;I)V
+PLcom/android/server/am/ActivityManagerService$LocalService;->setPendingIntentWhitelistDuration(Landroid/content/IIntentSender;Landroid/os/IBinder;J)V
 PLcom/android/server/am/ActivityManagerService$LocalService;->setRunningRemoteAnimation(IZ)V
-PLcom/android/server/am/ActivityManagerService$LocalService;->startIsolatedProcess(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Runnable;)Z
+PLcom/android/server/am/ActivityManagerService$LocalService;->startServiceInPackage(ILandroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;IZ)Landroid/content/ComponentName;
+PLcom/android/server/am/ActivityManagerService$LocalService;->tempWhitelistForPendingIntent(IIIJLjava/lang/String;)V
 PLcom/android/server/am/ActivityManagerService$LocalService;->updateDeviceIdleTempWhitelist([IIZ)V
-PLcom/android/server/am/ActivityManagerService$MemBinder$1;-><init>(Lcom/android/server/am/ActivityManagerService$MemBinder;)V
-PLcom/android/server/am/ActivityManagerService$MemBinder;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService$PendingAssistExtras;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityRecord;Landroid/os/Bundle;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IAssistDataReceiver;Landroid/os/Bundle;I)V
-PLcom/android/server/am/ActivityManagerService$PendingTempWhitelist;-><init>(IJLjava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService$PermissionController;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService$PermissionController;->checkPermission(Ljava/lang/String;II)Z
-PLcom/android/server/am/ActivityManagerService$PermissionController;->getPackagesForUid(I)[Ljava/lang/String;
-PLcom/android/server/am/ActivityManagerService$PermissionController;->isRuntimePermission(Ljava/lang/String;)Z
-PLcom/android/server/am/ActivityManagerService$PermissionController;->noteOp(Ljava/lang/String;ILjava/lang/String;)I
-PLcom/android/server/am/ActivityManagerService$ProcessChangeItem;-><init>()V
-PLcom/android/server/am/ActivityManagerService$ProcessInfoService;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService$UidObserverRegistration;-><init>(ILjava/lang/String;II)V
-PLcom/android/server/am/ActivityManagerService;->access$000(Lcom/android/server/am/ActivityManagerService;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-PLcom/android/server/am/ActivityManagerService;->access$1200(Lcom/android/server/am/ActivityManagerService;)Lcom/android/server/am/VrController;
-PLcom/android/server/am/ActivityManagerService;->access$1800(Lcom/android/server/am/ActivityManagerService;)Lcom/android/server/am/KeyguardController;
-PLcom/android/server/am/ActivityManagerService;->access$600(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/ActivityManagerService;->access$700(Lcom/android/server/am/ActivityManagerService;II)V
-PLcom/android/server/am/ActivityManagerService;->acquireSleepToken(Ljava/lang/String;I)Landroid/app/ActivityManagerInternal$SleepToken;
-PLcom/android/server/am/ActivityManagerService;->activityDestroyed(Landroid/os/IBinder;)V
-PLcom/android/server/am/ActivityManagerService;->activityIdle(Landroid/os/IBinder;Landroid/content/res/Configuration;Z)V
-PLcom/android/server/am/ActivityManagerService;->activityPaused(Landroid/os/IBinder;)V
-PLcom/android/server/am/ActivityManagerService;->activityRelaunched(Landroid/os/IBinder;)V
-PLcom/android/server/am/ActivityManagerService;->activityResumed(Landroid/os/IBinder;)V
-PLcom/android/server/am/ActivityManagerService;->activitySlept(Landroid/os/IBinder;)V
-PLcom/android/server/am/ActivityManagerService;->activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
-PLcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZLjava/lang/String;)Lcom/android/server/am/ProcessRecord;
-PLcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZZLjava/lang/String;)Lcom/android/server/am/ProcessRecord;
-PLcom/android/server/am/ActivityManagerService;->addBackgroundCheckViolationLocked(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->addErrorToDropBox(Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;)V
-PLcom/android/server/am/ActivityManagerService;->addPackageDependency(Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->addProcessNameLocked(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/ActivityManagerService;->addServiceToMap(Landroid/util/ArrayMap;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->appServicesRestrictedInBackgroundLocked(ILjava/lang/String;I)I
-PLcom/android/server/am/ActivityManagerService;->appendDropBoxProcessHeaders(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/StringBuilder;)V
-PLcom/android/server/am/ActivityManagerService;->applyUpdateLockStateLocked(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityManagerService;->applyUpdateVrModeLocked(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityManagerService;->backupAgentCreated(Ljava/lang/String;Landroid/os/IBinder;)V
-PLcom/android/server/am/ActivityManagerService;->batteryNeedsCpuUpdate()V
-PLcom/android/server/am/ActivityManagerService;->batteryPowerChanged(Z)V
-PLcom/android/server/am/ActivityManagerService;->batterySendBroadcast(Landroid/content/Intent;)V
-PLcom/android/server/am/ActivityManagerService;->batteryStatsReset()V
+PLcom/android/server/am/ActivityManagerService$PidMap;->indexOfKey(I)I
+PLcom/android/server/am/ActivityManagerService$PidMap;->removeIfNoThread(I)Z
+PLcom/android/server/am/ActivityManagerService$ProcStatsRunnable;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessStatsService;)V
+PLcom/android/server/am/ActivityManagerService$ProcStatsRunnable;->run()V
+PLcom/android/server/am/ActivityManagerService$ProcessInfoService;->getProcessStatesAndOomScoresFromPids([I[I[I)V
+PLcom/android/server/am/ActivityManagerService;->access$400(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService;->appDiedLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService;->backgroundServicesFinishedLocked(I)V
+PLcom/android/server/am/ActivityManagerService;->backupAgentCreated(Ljava/lang/String;Landroid/os/IBinder;I)V
 PLcom/android/server/am/ActivityManagerService;->bindBackupAgent(Ljava/lang/String;II)Z
 PLcom/android/server/am/ActivityManagerService;->bootAnimationComplete()V
-PLcom/android/server/am/ActivityManagerService;->buildAssistBundleLocked(Lcom/android/server/am/ActivityManagerService$PendingAssistExtras;Landroid/os/Bundle;)V
+PLcom/android/server/am/ActivityManagerService;->broadcastIntentInPackage(Ljava/lang/String;IIILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;Landroid/os/Bundle;ZZIZ)I
+PLcom/android/server/am/ActivityManagerService;->canGcNowLocked()Z
 PLcom/android/server/am/ActivityManagerService;->cancelIntentSender(Landroid/content/IIntentSender;)V
-PLcom/android/server/am/ActivityManagerService;->cancelIntentSenderLocked(Lcom/android/server/am/PendingIntentRecord;Z)V
-PLcom/android/server/am/ActivityManagerService;->checkAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;)Z
-PLcom/android/server/am/ActivityManagerService;->checkAppSwitchAllowedLocked(IIIILjava/lang/String;)Z
-PLcom/android/server/am/ActivityManagerService;->checkAuthorityGrants(ILandroid/content/pm/ProviderInfo;IZ)Z
 PLcom/android/server/am/ActivityManagerService;->checkExcessivePowerUsageLocked()V
-PLcom/android/server/am/ActivityManagerService;->checkGrantUriPermission(ILjava/lang/String;Landroid/net/Uri;II)I
-PLcom/android/server/am/ActivityManagerService;->checkGrantUriPermissionLocked(ILjava/lang/String;Lcom/android/server/am/ActivityManagerService$GrantUri;II)I
-PLcom/android/server/am/ActivityManagerService;->checkHoldingPermissionsInternalLocked(Landroid/content/pm/IPackageManager;Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ActivityManagerService$GrantUri;IIZ)Z
-PLcom/android/server/am/ActivityManagerService;->checkHoldingPermissionsLocked(Landroid/content/pm/IPackageManager;Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ActivityManagerService$GrantUri;II)Z
-PLcom/android/server/am/ActivityManagerService;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I
-PLcom/android/server/am/ActivityManagerService;->checkUriPermissionLocked(Lcom/android/server/am/ActivityManagerService$GrantUri;II)Z
-PLcom/android/server/am/ActivityManagerService;->cleanUpApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;ZZIZ)Z
-PLcom/android/server/am/ActivityManagerService;->cleanupAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;Z)Z
-PLcom/android/server/am/ActivityManagerService;->cleanupDisabledPackageComponentsLocked(Ljava/lang/String;IZ[Ljava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->checkPermissionWithToken(Ljava/lang/String;IILandroid/os/IBinder;)I
+PLcom/android/server/am/ActivityManagerService;->cleanupDisabledPackageComponentsLocked(Ljava/lang/String;I[Ljava/lang/String;)V
 PLcom/android/server/am/ActivityManagerService;->closeSystemDialogs(Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->closeSystemDialogsLocked(Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->constructResumedTraceName(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/am/ActivityManagerService;->convertFromTranslucent(Landroid/os/IBinder;)Z
-PLcom/android/server/am/ActivityManagerService;->dispatchProcessDied(II)V
-PLcom/android/server/am/ActivityManagerService;->dispatchProcessesChanged()V
+PLcom/android/server/am/ActivityManagerService;->createAnrDumpFile(Ljava/io/File;)Ljava/io/File;
 PLcom/android/server/am/ActivityManagerService;->doDump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;Z)V
-PLcom/android/server/am/ActivityManagerService;->doLowMemReportIfNeededLocked(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/ActivityManagerService;->doStopUidLocked(ILcom/android/server/am/UidRecord;)V
 PLcom/android/server/am/ActivityManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 PLcom/android/server/am/ActivityManagerService;->dumpBroadcastStatsCheckinLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->enableScreenAfterBoot()V
-PLcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->enqueueAssistContext(ILandroid/content/Intent;Ljava/lang/String;Landroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;ZZILandroid/os/Bundle;JI)Lcom/android/server/am/ActivityManagerService$PendingAssistExtras;
-PLcom/android/server/am/ActivityManagerService;->ensureConfigAndVisibilityAfterUpdate(Lcom/android/server/am/ActivityRecord;I)Z
-PLcom/android/server/am/ActivityManagerService;->findOrCreateUriPermissionLocked(Ljava/lang/String;Ljava/lang/String;ILcom/android/server/am/ActivityManagerService$GrantUri;)Lcom/android/server/am/UriPermission;
-PLcom/android/server/am/ActivityManagerService;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z
-PLcom/android/server/am/ActivityManagerService;->finishActivityAffinity(Landroid/os/IBinder;)Z
-PLcom/android/server/am/ActivityManagerService;->finishBooting()V
-PLcom/android/server/am/ActivityManagerService;->finishRunningVoiceLocked()V
-PLcom/android/server/am/ActivityManagerService;->finishVoiceTask(Landroid/service/voice/IVoiceInteractionSession;)V
-PLcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZZILjava/lang/String;)Z
-PLcom/android/server/am/ActivityManagerService;->generateApplicationProvidersLocked(Lcom/android/server/am/ProcessRecord;)Ljava/util/List;
-PLcom/android/server/am/ActivityManagerService;->getActivityDisplayId(Landroid/os/IBinder;)I
+PLcom/android/server/am/ActivityManagerService;->dumpProviderProto(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;)Z
+PLcom/android/server/am/ActivityManagerService;->dumpStackTraces(Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;Ljava/util/ArrayList;)V
+PLcom/android/server/am/ActivityManagerService;->dumpStackTraces(Ljava/util/ArrayList;Lcom/android/internal/os/ProcessCpuTracker;Landroid/util/SparseArray;Ljava/util/ArrayList;)Ljava/io/File;
+PLcom/android/server/am/ActivityManagerService;->enforcePermission(Ljava/lang/String;IILjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->ensureBootCompleted()V
 PLcom/android/server/am/ActivityManagerService;->getActivityInfoForUser(Landroid/content/pm/ActivityInfo;I)Landroid/content/pm/ActivityInfo;
-PLcom/android/server/am/ActivityManagerService;->getActivityStartController()Lcom/android/server/am/ActivityStartController;
 PLcom/android/server/am/ActivityManagerService;->getAppId(Ljava/lang/String;)I
 PLcom/android/server/am/ActivityManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
-PLcom/android/server/am/ActivityManagerService;->getAppOpsService()Lcom/android/internal/app/IAppOpsService;
-PLcom/android/server/am/ActivityManagerService;->getAppTasks(Ljava/lang/String;)Ljava/util/List;
-PLcom/android/server/am/ActivityManagerService;->getAppWarningsLocked()Lcom/android/server/am/AppWarnings;
-PLcom/android/server/am/ActivityManagerService;->getBlockStateForUid(Lcom/android/server/am/UidRecord;)I
-PLcom/android/server/am/ActivityManagerService;->getCallingActivity(Landroid/os/IBinder;)Landroid/content/ComponentName;
-PLcom/android/server/am/ActivityManagerService;->getCallingPackage(Landroid/os/IBinder;)Ljava/lang/String;
-PLcom/android/server/am/ActivityManagerService;->getCallingRecordLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityManagerService;->getCheckedForSetup()Z
-PLcom/android/server/am/ActivityManagerService;->getCommonServicesLocked(Z)Landroid/util/ArrayMap;
 PLcom/android/server/am/ActivityManagerService;->getConfiguration()Landroid/content/res/Configuration;
-PLcom/android/server/am/ActivityManagerService;->getContentProviderExternal(Ljava/lang/String;ILandroid/os/IBinder;)Landroid/app/ContentProviderHolder;
-PLcom/android/server/am/ActivityManagerService;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
-PLcom/android/server/am/ActivityManagerService;->getFocusedStack()Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityManagerService;->getHomeIntent()Landroid/content/Intent;
-PLcom/android/server/am/ActivityManagerService;->getInputDispatchingTimeoutLocked(Lcom/android/server/am/ActivityRecord;)J
-PLcom/android/server/am/ActivityManagerService;->getInputDispatchingTimeoutLocked(Lcom/android/server/am/ProcessRecord;)J
 PLcom/android/server/am/ActivityManagerService;->getIntentForIntentSender(Landroid/content/IIntentSender;)Landroid/content/Intent;
-PLcom/android/server/am/ActivityManagerService;->getLastResumedActivityUserId()I
-PLcom/android/server/am/ActivityManagerService;->getLaunchedFromPackage(Landroid/os/IBinder;)Ljava/lang/String;
 PLcom/android/server/am/ActivityManagerService;->getLaunchedFromUid(Landroid/os/IBinder;)I
-PLcom/android/server/am/ActivityManagerService;->getLifecycleManager()Lcom/android/server/am/ClientLifecycleManager;
-PLcom/android/server/am/ActivityManagerService;->getLockTaskController()Lcom/android/server/am/LockTaskController;
-PLcom/android/server/am/ActivityManagerService;->getLockTaskModeState()I
-PLcom/android/server/am/ActivityManagerService;->getPackageManager()Landroid/content/pm/IPackageManager;
-PLcom/android/server/am/ActivityManagerService;->getPersistedUriPermissions(Ljava/lang/String;Z)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/am/ActivityManagerService;->getProcessLimit()I
+PLcom/android/server/am/ActivityManagerService;->getMyMemoryState(Landroid/app/ActivityManager$RunningAppProcessInfo;)V
+PLcom/android/server/am/ActivityManagerService;->getProcessStatesAndOomScoresForPIDs([I[I[I)V
+PLcom/android/server/am/ActivityManagerService;->getProcessesInErrorState()Ljava/util/List;
 PLcom/android/server/am/ActivityManagerService;->getProviderInfoLocked(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-PLcom/android/server/am/ActivityManagerService;->getRequestedOrientation(Landroid/os/IBinder;)I
-PLcom/android/server/am/ActivityManagerService;->getRunningUserIds()[I
+PLcom/android/server/am/ActivityManagerService;->getProviderMimeType(Landroid/net/Uri;I)Ljava/lang/String;
 PLcom/android/server/am/ActivityManagerService;->getServices(II)Ljava/util/List;
-PLcom/android/server/am/ActivityManagerService;->getTaskDescriptionIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap;
 PLcom/android/server/am/ActivityManagerService;->getTaskForActivity(Landroid/os/IBinder;Z)I
-PLcom/android/server/am/ActivityManagerService;->getTaskSnapshot(IZ)Landroid/app/ActivityManager$TaskSnapshot;
-PLcom/android/server/am/ActivityManagerService;->getTasks(I)Ljava/util/List;
-PLcom/android/server/am/ActivityManagerService;->getUidFromIntent(Landroid/content/Intent;)I
-PLcom/android/server/am/ActivityManagerService;->getUidState(I)I
-PLcom/android/server/am/ActivityManagerService;->getUidStateLocked(I)I
+PLcom/android/server/am/ActivityManagerService;->getUidProcessState(ILjava/lang/String;)I
 PLcom/android/server/am/ActivityManagerService;->grantUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
-PLcom/android/server/am/ActivityManagerService;->grantUriPermissionFromIntentLocked(ILjava/lang/String;Landroid/content/Intent;Lcom/android/server/am/UriPermissionOwner;I)V
-PLcom/android/server/am/ActivityManagerService;->grantUriPermissionLocked(ILjava/lang/String;Lcom/android/server/am/ActivityManagerService$GrantUri;ILcom/android/server/am/UriPermissionOwner;I)V
-PLcom/android/server/am/ActivityManagerService;->grantUriPermissionUncheckedLocked(ILjava/lang/String;Lcom/android/server/am/ActivityManagerService$GrantUri;ILcom/android/server/am/UriPermissionOwner;)V
-PLcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
-PLcom/android/server/am/ActivityManagerService;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
-PLcom/android/server/am/ActivityManagerService;->handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;)Z
-PLcom/android/server/am/ActivityManagerService;->handleApplicationWtfInner(IILandroid/os/IBinder;Ljava/lang/String;Landroid/app/ApplicationErrorReport$CrashInfo;)Lcom/android/server/am/ProcessRecord;
-PLcom/android/server/am/ActivityManagerService;->handleProcessStartedLocked(Lcom/android/server/am/ProcessRecord;Landroid/os/Process$ProcessStartResult;J)Z
-PLcom/android/server/am/ActivityManagerService;->hasUsageStatsPermission(Ljava/lang/String;)Z
+PLcom/android/server/am/ActivityManagerService;->handleApplicationCrash(Landroid/os/IBinder;Landroid/app/ApplicationErrorReport$ParcelableCrashInfo;)V
+PLcom/android/server/am/ActivityManagerService;->handleApplicationCrashInner(Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/app/ApplicationErrorReport$CrashInfo;)V
+PLcom/android/server/am/ActivityManagerService;->idleUids()V
 PLcom/android/server/am/ActivityManagerService;->installEncryptionUnawareProviders(I)V
-PLcom/android/server/am/ActivityManagerService;->installSystemProviders()V
-PLcom/android/server/am/ActivityManagerService;->isAllowedWhileBooting(Landroid/content/pm/ApplicationInfo;)Z
-PLcom/android/server/am/ActivityManagerService;->isAssistDataAllowedOnCurrentActivity()Z
-PLcom/android/server/am/ActivityManagerService;->isGetTasksAllowed(Ljava/lang/String;II)Z
-PLcom/android/server/am/ActivityManagerService;->isInLockTaskMode()Z
-PLcom/android/server/am/ActivityManagerService;->isInMultiWindowMode(Landroid/os/IBinder;)Z
-PLcom/android/server/am/ActivityManagerService;->isIntentSenderAForegroundService(Landroid/content/IIntentSender;)Z
-PLcom/android/server/am/ActivityManagerService;->isIntentSenderAnActivity(Landroid/content/IIntentSender;)Z
-PLcom/android/server/am/ActivityManagerService;->isKeyguardLocked()Z
-PLcom/android/server/am/ActivityManagerService;->isNextTransitionForward()Z
+PLcom/android/server/am/ActivityManagerService;->isAppForeground(I)Z
+PLcom/android/server/am/ActivityManagerService;->isBackgroundRestricted(Ljava/lang/String;)Z
+PLcom/android/server/am/ActivityManagerService;->isBackgroundRestrictedNoCheck(ILjava/lang/String;)Z
+PLcom/android/server/am/ActivityManagerService;->isIntentSenderTargetedToPackage(Landroid/content/IIntentSender;)Z
 PLcom/android/server/am/ActivityManagerService;->isOnDeviceIdleWhitelistLocked(IZ)Z
-PLcom/android/server/am/ActivityManagerService;->isPendingBroadcastProcessLocked(I)Z
-PLcom/android/server/am/ActivityManagerService;->isProcStartValidLocked(Lcom/android/server/am/ProcessRecord;J)Ljava/lang/String;
-PLcom/android/server/am/ActivityManagerService;->isShuttingDownLocked()Z
-PLcom/android/server/am/ActivityManagerService;->isSleepingOrShuttingDownLocked()Z
-PLcom/android/server/am/ActivityManagerService;->isSplitConfigurationChange(I)Z
-PLcom/android/server/am/ActivityManagerService;->isTopOfTask(Landroid/os/IBinder;)Z
 PLcom/android/server/am/ActivityManagerService;->isUserAMonkey()Z
-PLcom/android/server/am/ActivityManagerService;->isUserRunning(II)Z
 PLcom/android/server/am/ActivityManagerService;->isValidSingletonCall(II)Z
-PLcom/android/server/am/ActivityManagerService;->keyguardGoingAway(I)V
-PLcom/android/server/am/ActivityManagerService;->killAllBackgroundProcessesExcept(II)V
-PLcom/android/server/am/ActivityManagerService;->killApplication(Ljava/lang/String;IILjava/lang/String;)V
 PLcom/android/server/am/ActivityManagerService;->killApplicationProcess(Ljava/lang/String;I)V
-PLcom/android/server/am/ActivityManagerService;->killProcessGroup(II)V
-PLcom/android/server/am/ActivityManagerService;->lambda$gATL8uvTPRd405IfefK1RL9bNqA(Landroid/hardware/display/DisplayManagerInternal;)V
-PLcom/android/server/am/ActivityManagerService;->lambda$logStrictModeViolationToDropBox$3(Landroid/os/DropBoxManager;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->lambda$startProcessLocked$0(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;JLjava/lang/String;Ljava/lang/String;[IIILjava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->logAppTooSlow(Lcom/android/server/am/ProcessRecord;JLjava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->logStrictModeViolationToDropBox(Lcom/android/server/am/ProcessRecord;Landroid/os/StrictMode$ViolationInfo;)V
-PLcom/android/server/am/ActivityManagerService;->makeIntentSenderCanceledLocked(Lcom/android/server/am/PendingIntentRecord;)V
-PLcom/android/server/am/ActivityManagerService;->matchesProvider(Landroid/net/Uri;Landroid/content/pm/ProviderInfo;)Z
-PLcom/android/server/am/ActivityManagerService;->monitor()V
-PLcom/android/server/am/ActivityManagerService;->moveActivityTaskToBack(Landroid/os/IBinder;Z)Z
-PLcom/android/server/am/ActivityManagerService;->moveTaskToFrontLocked(IILcom/android/server/am/SafeActivityOptions;Z)V
-PLcom/android/server/am/ActivityManagerService;->navigateUpTo(Landroid/os/IBinder;Landroid/content/Intent;ILandroid/content/Intent;)Z
-PLcom/android/server/am/ActivityManagerService;->newProcessRecordLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZI)Lcom/android/server/am/ProcessRecord;
-PLcom/android/server/am/ActivityManagerService;->newUriPermissionOwner(Ljava/lang/String;)Landroid/os/IBinder;
-PLcom/android/server/am/ActivityManagerService;->noteAlarmFinish(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->noteAlarmStart(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->noteWakeupAlarm(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->notifyActivityDrawn(Landroid/os/IBinder;)V
-PLcom/android/server/am/ActivityManagerService;->notifyEnterAnimationComplete(Landroid/os/IBinder;)V
-PLcom/android/server/am/ActivityManagerService;->notifyTaskPersisterLocked(Lcom/android/server/am/TaskRecord;Z)V
-PLcom/android/server/am/ActivityManagerService;->onCoreSettingsChange(Landroid/os/Bundle;)V
+PLcom/android/server/am/ActivityManagerService;->killBackgroundProcesses(Ljava/lang/String;I)V
+PLcom/android/server/am/ActivityManagerService;->killUid(IILjava/lang/String;)V
+PLcom/android/server/am/ActivityManagerService;->lambda$systemReady$1$ActivityManagerService(Landroid/os/PowerSaveState;)V
+PLcom/android/server/am/ActivityManagerService;->maybePruneOldTraces(Ljava/io/File;)V
+PLcom/android/server/am/ActivityManagerService;->onShellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
 PLcom/android/server/am/ActivityManagerService;->onWakefulnessChanged(I)V
-PLcom/android/server/am/ActivityManagerService;->overridePendingTransition(Landroid/os/IBinder;Ljava/lang/String;II)V
-PLcom/android/server/am/ActivityManagerService;->performDisplayOverrideConfigUpdate(Landroid/content/res/Configuration;ZI)I
-PLcom/android/server/am/ActivityManagerService;->postFinishBooting(ZZ)V
-PLcom/android/server/am/ActivityManagerService;->processClass(Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
+PLcom/android/server/am/ActivityManagerService;->openContentUri(Ljava/lang/String;)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/am/ActivityManagerService;->performAppGcLocked(Lcom/android/server/am/ProcessRecord;)V
+PLcom/android/server/am/ActivityManagerService;->performAppGcsLocked()V
+PLcom/android/server/am/ActivityManagerService;->performIdleMaintenance()V
+PLcom/android/server/am/ActivityManagerService;->processStartTimedOutLocked(Lcom/android/server/am/ProcessRecord;)V
 PLcom/android/server/am/ActivityManagerService;->pushTempWhitelist()V
-PLcom/android/server/am/ActivityManagerService;->readGrantedUriPermissionsLocked()V
 PLcom/android/server/am/ActivityManagerService;->recordPssSampleLocked(Lcom/android/server/am/ProcessRecord;IJJJJIJJ)V
+PLcom/android/server/am/ActivityManagerService;->refContentProvider(Landroid/os/IBinder;II)Z
 PLcom/android/server/am/ActivityManagerService;->registerIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
 PLcom/android/server/am/ActivityManagerService;->registerProcessObserver(Landroid/app/IProcessObserver;)V
-PLcom/android/server/am/ActivityManagerService;->registerRemoteAnimationForNextActivityStart(Ljava/lang/String;Landroid/view/RemoteAnimationAdapter;)V
-PLcom/android/server/am/ActivityManagerService;->registerRemoteAnimations(Landroid/os/IBinder;Landroid/view/RemoteAnimationDefinition;)V
-PLcom/android/server/am/ActivityManagerService;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
-PLcom/android/server/am/ActivityManagerService;->registerUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->removeContentProviderExternal(Ljava/lang/String;Landroid/os/IBinder;)V
 PLcom/android/server/am/ActivityManagerService;->removeContentProviderExternalUnchecked(Ljava/lang/String;Landroid/os/IBinder;I)V
-PLcom/android/server/am/ActivityManagerService;->removeLruProcessLocked(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/ActivityManagerService;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;)Z
-PLcom/android/server/am/ActivityManagerService;->removeProcessNameLocked(Ljava/lang/String;I)Lcom/android/server/am/ProcessRecord;
-PLcom/android/server/am/ActivityManagerService;->removeProcessNameLocked(Ljava/lang/String;ILcom/android/server/am/ProcessRecord;)Lcom/android/server/am/ProcessRecord;
-PLcom/android/server/am/ActivityManagerService;->removeUriPermissionsForPackageLocked(Ljava/lang/String;IZZ)V
-PLcom/android/server/am/ActivityManagerService;->reportAssistContextExtras(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;Landroid/net/Uri;)V
-PLcom/android/server/am/ActivityManagerService;->reportCurKeyguardUsageEventLocked()V
-PLcom/android/server/am/ActivityManagerService;->reportCurWakefulnessUsageEventLocked()V
-PLcom/android/server/am/ActivityManagerService;->reportGlobalUsageEventLocked(I)V
-PLcom/android/server/am/ActivityManagerService;->reportOomAdjMessageLocked(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->reportSizeConfigurations(Landroid/os/IBinder;[I[I[I)V
-PLcom/android/server/am/ActivityManagerService;->reportUidInfoMessageLocked(Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/am/ActivityManagerService;->requestAssistContextExtras(ILandroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;ZZ)Z
-PLcom/android/server/am/ActivityManagerService;->requestAutofillData(Landroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;I)Z
+PLcom/android/server/am/ActivityManagerService;->removeDyingProviderLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Z)Z
+PLcom/android/server/am/ActivityManagerService;->removeReceiverLocked(Lcom/android/server/am/ReceiverList;)V
 PLcom/android/server/am/ActivityManagerService;->requestPssLocked(Lcom/android/server/am/ProcessRecord;I)Z
-PLcom/android/server/am/ActivityManagerService;->resolveActivityInfo(Landroid/content/Intent;II)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/am/ActivityManagerService;->requestTargetProviderPermissionsReviewIfNeededLocked(Landroid/content/pm/ProviderInfo;Lcom/android/server/am/ProcessRecord;I)Z
+PLcom/android/server/am/ActivityManagerService;->requireAllowedAssociationsLocked(Ljava/lang/String;)V
 PLcom/android/server/am/ActivityManagerService;->resumeAppSwitches()V
-PLcom/android/server/am/ActivityManagerService;->retrieveSettings()V
 PLcom/android/server/am/ActivityManagerService;->revokeUriPermission(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/net/Uri;II)V
-PLcom/android/server/am/ActivityManagerService;->revokeUriPermissionFromOwner(Landroid/os/IBinder;Landroid/net/Uri;II)V
-PLcom/android/server/am/ActivityManagerService;->revokeUriPermissionLocked(Ljava/lang/String;ILcom/android/server/am/ActivityManagerService$GrantUri;I)V
-PLcom/android/server/am/ActivityManagerService;->scheduleApplicationInfoChanged(Ljava/util/List;I)V
-PLcom/android/server/am/ActivityManagerService;->sendIntentSender(Landroid/content/IIntentSender;Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)I
-PLcom/android/server/am/ActivityManagerService;->sendPackageBroadcastLocked(I[Ljava/lang/String;I)V
-PLcom/android/server/am/ActivityManagerService;->sendPendingBroadcastsLocked(Lcom/android/server/am/ProcessRecord;)Z
-PLcom/android/server/am/ActivityManagerService;->setCheckedForSetup(Z)V
-PLcom/android/server/am/ActivityManagerService;->setDebugApp(Ljava/lang/String;ZZ)V
 PLcom/android/server/am/ActivityManagerService;->setHasTopUi(Z)V
-PLcom/android/server/am/ActivityManagerService;->setLockScreenShown(ZZI)V
 PLcom/android/server/am/ActivityManagerService;->setProcessImportant(Landroid/os/IBinder;IZLjava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->setRenderThread(I)V
-PLcom/android/server/am/ActivityManagerService;->setRequestedOrientation(Landroid/os/IBinder;I)V
-PLcom/android/server/am/ActivityManagerService;->setResumedActivityUncheckLocked(Lcom/android/server/am/ActivityRecord;Ljava/lang/String;)V
 PLcom/android/server/am/ActivityManagerService;->setRunningRemoteAnimation(IZ)V
-PLcom/android/server/am/ActivityManagerService;->setServiceForeground(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;I)V
-PLcom/android/server/am/ActivityManagerService;->setSystemProcess()V
-PLcom/android/server/am/ActivityManagerService;->setTaskDescription(Landroid/os/IBinder;Landroid/app/ActivityManager$TaskDescription;)V
-PLcom/android/server/am/ActivityManagerService;->setUidTempWhitelistStateLocked(IZ)V
-PLcom/android/server/am/ActivityManagerService;->setUsageStatsManager(Landroid/app/usage/UsageStatsManagerInternal;)V
-PLcom/android/server/am/ActivityManagerService;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/am/ActivityManagerService;->shouldDisableNonVrUiLocked()Z
-PLcom/android/server/am/ActivityManagerService;->shouldUpRecreateTask(Landroid/os/IBinder;Ljava/lang/String;)Z
-PLcom/android/server/am/ActivityManagerService;->showAskCompatModeDialogLocked(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityManagerService;->skipCurrentReceiverLocked(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/ActivityManagerService;->startActivities(Landroid/app/IApplicationThread;Ljava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
-PLcom/android/server/am/ActivityManagerService;->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
-PLcom/android/server/am/ActivityManagerService;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)I
-PLcom/android/server/am/ActivityManagerService;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;IZ)I
-PLcom/android/server/am/ActivityManagerService;->startActivityFromRecents(ILandroid/os/Bundle;)I
-PLcom/android/server/am/ActivityManagerService;->startActivityIntentSender(Landroid/app/IApplicationThread;Landroid/content/IIntentSender;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I
-PLcom/android/server/am/ActivityManagerService;->startAssistantActivity(Ljava/lang/String;IILandroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;I)I
-PLcom/android/server/am/ActivityManagerService;->startHomeActivityLocked(ILjava/lang/String;)Z
-PLcom/android/server/am/ActivityManagerService;->startIsolatedProcess(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Runnable;)Z
-PLcom/android/server/am/ActivityManagerService;->startObservingNativeCrashes()V
-PLcom/android/server/am/ActivityManagerService;->startPersistentApps(I)V
-PLcom/android/server/am/ActivityManagerService;->startProcess(Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;I[IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)Landroid/os/Process$ProcessStartResult;
-PLcom/android/server/am/ActivityManagerService;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/am/ActivityManagerService;->startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILjava/lang/String;Landroid/content/ComponentName;ZZZ)Lcom/android/server/am/ProcessRecord;
-PLcom/android/server/am/ActivityManagerService;->startProcessLocked(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;I[IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)Z
-PLcom/android/server/am/ActivityManagerService;->startTimeTrackingFocusedActivityLocked()V
+PLcom/android/server/am/ActivityManagerService;->setServiceForeground(Landroid/content/ComponentName;Landroid/os/IBinder;ILandroid/app/Notification;II)V
+PLcom/android/server/am/ActivityManagerService;->skipPendingBroadcastLocked(I)V
 PLcom/android/server/am/ActivityManagerService;->stopAppSwitches()V
 PLcom/android/server/am/ActivityManagerService;->stopService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;I)I
-PLcom/android/server/am/ActivityManagerService;->systemReady(Ljava/lang/Runnable;Landroid/util/TimingsTraceLog;)V
+PLcom/android/server/am/ActivityManagerService;->stopServiceToken(Landroid/content/ComponentName;Landroid/os/IBinder;I)Z
+PLcom/android/server/am/ActivityManagerService;->stopUser(IZLandroid/app/IStopUserCallback;)I
 PLcom/android/server/am/ActivityManagerService;->tempWhitelistForPendingIntentLocked(IIIJLjava/lang/String;)V
 PLcom/android/server/am/ActivityManagerService;->tempWhitelistUidLocked(IJLjava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->trimApplications()V
-PLcom/android/server/am/ActivityManagerService;->uidOnBackgroundWhitelist(I)Z
 PLcom/android/server/am/ActivityManagerService;->unbindBackupAgent(Landroid/content/pm/ApplicationInfo;)V
 PLcom/android/server/am/ActivityManagerService;->unbindFinished(Landroid/os/IBinder;Landroid/content/Intent;Z)V
+PLcom/android/server/am/ActivityManagerService;->unbindService(Landroid/app/IServiceConnection;)Z
 PLcom/android/server/am/ActivityManagerService;->unlockUser(I[B[BLandroid/os/IProgressListener;)Z
 PLcom/android/server/am/ActivityManagerService;->unregisterIntentSenderCancelListener(Landroid/content/IIntentSender;Lcom/android/internal/os/IResultReceiver;)V
+PLcom/android/server/am/ActivityManagerService;->unregisterReceiver(Landroid/content/IIntentReceiver;)V
 PLcom/android/server/am/ActivityManagerService;->unregisterTaskStackListener(Landroid/app/ITaskStackListener;)V
-PLcom/android/server/am/ActivityManagerService;->updateApplicationInfoLocked(Ljava/util/List;I)V
+PLcom/android/server/am/ActivityManagerService;->unregisterUserSwitchObserver(Landroid/app/IUserSwitchObserver;)V
+PLcom/android/server/am/ActivityManagerService;->unstableProviderDied(Landroid/os/IBinder;)V
+PLcom/android/server/am/ActivityManagerService;->updateAssociationForApp(Landroid/content/pm/ApplicationInfo;)V
 PLcom/android/server/am/ActivityManagerService;->updateConfiguration(Landroid/content/res/Configuration;)Z
-PLcom/android/server/am/ActivityManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;Z)Z
-PLcom/android/server/am/ActivityManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;ZZ)Z
-PLcom/android/server/am/ActivityManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;ZZIZ)Z
-PLcom/android/server/am/ActivityManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;ZZIZLcom/android/server/am/ActivityManagerService$UpdateConfigurationResult;)Z
-PLcom/android/server/am/ActivityManagerService;->updateDisplayOverrideConfiguration(Landroid/content/res/Configuration;I)Z
-PLcom/android/server/am/ActivityManagerService;->updateDisplayOverrideConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;ZI)Z
-PLcom/android/server/am/ActivityManagerService;->updateDisplayOverrideConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;ZILcom/android/server/am/ActivityManagerService$UpdateConfigurationResult;)Z
-PLcom/android/server/am/ActivityManagerService;->updateEventDispatchingLocked()V
-PLcom/android/server/am/ActivityManagerService;->updateForceBackgroundCheck(Z)V
-PLcom/android/server/am/ActivityManagerService;->updateGlobalConfigurationLocked(Landroid/content/res/Configuration;ZZIZ)I
-PLcom/android/server/am/ActivityManagerService;->updateLockTaskFeatures(II)V
-PLcom/android/server/am/ActivityManagerService;->updateLockTaskPackages(I[Ljava/lang/String;)V
-PLcom/android/server/am/ActivityManagerService;->updateResumedAppTrace(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityManagerService;->updateShouldShowDialogsLocked(Landroid/content/res/Configuration;)V
-PLcom/android/server/am/ActivityManagerService;->updateSleepIfNeededLocked()V
-PLcom/android/server/am/ActivityManagerService;->updateUsageStats(Lcom/android/server/am/ActivityRecord;Z)V
+PLcom/android/server/am/ActivityManagerService;->updateForegroundServiceUsageStats(Landroid/content/ComponentName;IZ)V
 PLcom/android/server/am/ActivityManagerService;->waitForNetworkStateUpdate(J)V
-PLcom/android/server/am/ActivityMetricsLogger$H;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;-><init>(Lcom/android/server/am/ActivityMetricsLogger;)V
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;-><init>(Lcom/android/server/am/ActivityMetricsLogger;Lcom/android/server/am/ActivityMetricsLogger$1;)V
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$100(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$1000(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;)I
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$1002(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;I)I
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$102(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$1100(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;)Z
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$1102(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;Z)Z
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$1200(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;)Z
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$1202(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;Z)Z
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$200(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;)I
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$202(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;I)I
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$300(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;)I
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$302(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;I)I
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$400(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;)I
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$402(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;I)I
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$500(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;)I
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$502(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;I)I
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$900(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;)Z
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;->access$902(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;Z)Z
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;-><init>(Lcom/android/server/am/ActivityMetricsLogger;Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;)V
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;-><init>(Lcom/android/server/am/ActivityMetricsLogger;Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;Lcom/android/server/am/ActivityMetricsLogger$1;)V
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;->access$1400(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)Ljava/lang/String;
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;->access$1500(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)I
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;->access$1600(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)Ljava/lang/String;
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;->access$1700(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)Landroid/content/pm/ApplicationInfo;
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;->access$1800(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)Ljava/lang/String;
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;->access$1900(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)Ljava/lang/String;
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;->access$2000(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)I
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;->access$2100(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)I
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;->access$2200(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)I
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;->access$2300(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)I
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;->access$2400(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)Ljava/lang/String;
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;->access$2500(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)Lcom/android/server/am/ProcessRecord;
-PLcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;->access$2600(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)Ljava/lang/String;
-PLcom/android/server/am/ActivityMetricsLogger;->access$000(Lcom/android/server/am/ActivityMetricsLogger;Lcom/android/server/am/TaskRecord;Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityMetricsLogger;->access$600(Lcom/android/server/am/ActivityMetricsLogger;Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;)I
-PLcom/android/server/am/ActivityMetricsLogger;->access$700(Lcom/android/server/am/ActivityMetricsLogger;Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ProcessRecord;
-PLcom/android/server/am/ActivityMetricsLogger;->allWindowsDrawn()Z
-PLcom/android/server/am/ActivityMetricsLogger;->calculateCurrentDelay()I
-PLcom/android/server/am/ActivityMetricsLogger;->calculateDelay(J)I
-PLcom/android/server/am/ActivityMetricsLogger;->checkVisibility(Lcom/android/server/am/TaskRecord;Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityMetricsLogger;->convertAppStartTransitionType(I)I
-PLcom/android/server/am/ActivityMetricsLogger;->findProcessForActivity(Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ProcessRecord;
-PLcom/android/server/am/ActivityMetricsLogger;->getArtManagerInternal()Landroid/content/pm/dex/ArtManagerInternal;
-PLcom/android/server/am/ActivityMetricsLogger;->getTransitionType(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;)I
-PLcom/android/server/am/ActivityMetricsLogger;->hasStartedActivity(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ActivityRecord;)Z
-PLcom/android/server/am/ActivityMetricsLogger;->isAnyTransitionActive()Z
-PLcom/android/server/am/ActivityMetricsLogger;->isLoggableResultCode(I)Z
-PLcom/android/server/am/ActivityMetricsLogger;->lambda$logAppTransitionMultiEvents$0(Lcom/android/server/am/ActivityMetricsLogger;IILcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
-PLcom/android/server/am/ActivityMetricsLogger;->logAppStartMemoryStateCapture(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
-PLcom/android/server/am/ActivityMetricsLogger;->logAppTransition(IILcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
-PLcom/android/server/am/ActivityMetricsLogger;->logAppTransitionCancel(Lcom/android/server/am/ActivityMetricsLogger$WindowingModeTransitionInfo;)V
-PLcom/android/server/am/ActivityMetricsLogger;->logAppTransitionMultiEvents()V
-PLcom/android/server/am/ActivityMetricsLogger;->logWindowState()V
-PLcom/android/server/am/ActivityMetricsLogger;->notifyActivityLaunched(ILcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityMetricsLogger;->notifyActivityLaunched(ILcom/android/server/am/ActivityRecord;ZZ)V
-PLcom/android/server/am/ActivityMetricsLogger;->notifyActivityLaunching()V
-PLcom/android/server/am/ActivityMetricsLogger;->notifyBindApplication(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/ActivityMetricsLogger;->notifyStartingWindowDrawn(IJ)V
-PLcom/android/server/am/ActivityMetricsLogger;->notifyTransitionStarting(Landroid/util/SparseIntArray;J)V
-PLcom/android/server/am/ActivityMetricsLogger;->notifyVisibilityChanged(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityMetricsLogger;->notifyWindowsDrawn(IJ)V
-PLcom/android/server/am/ActivityMetricsLogger;->reset(Z)V
-PLcom/android/server/am/ActivityRecord$Token;-><init>(Lcom/android/server/am/ActivityRecord;Landroid/content/Intent;)V
-PLcom/android/server/am/ActivityRecord$Token;->access$000(Lcom/android/server/am/ActivityRecord$Token;)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityRecord$Token;->toString()Ljava/lang/String;
-PLcom/android/server/am/ActivityRecord$Token;->tokenToActivityRecordLocked(Lcom/android/server/am/ActivityRecord$Token;)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;IILjava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Lcom/android/server/am/ActivityRecord;Ljava/lang/String;IZZLcom/android/server/am/ActivityStackSupervisor;Landroid/app/ActivityOptions;Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityRecord;->activityResumedLocked(Landroid/os/IBinder;)V
-PLcom/android/server/am/ActivityRecord;->activityStoppedLocked(Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
-PLcom/android/server/am/ActivityRecord;->addNewIntentLocked(Lcom/android/internal/content/ReferrerIntent;)V
-PLcom/android/server/am/ActivityRecord;->addResultLocked(Lcom/android/server/am/ActivityRecord;Ljava/lang/String;IILandroid/content/Intent;)V
-PLcom/android/server/am/ActivityRecord;->allowTaskSnapshot()Z
-PLcom/android/server/am/ActivityRecord;->applyOptionsLocked()V
-PLcom/android/server/am/ActivityRecord;->canBeLaunchedOnDisplay(I)Z
-PLcom/android/server/am/ActivityRecord;->canLaunchAssistActivity(Ljava/lang/String;)Z
-PLcom/android/server/am/ActivityRecord;->canLaunchHomeActivity(ILcom/android/server/am/ActivityRecord;)Z
-PLcom/android/server/am/ActivityRecord;->canTurnScreenOn()Z
-PLcom/android/server/am/ActivityRecord;->changeWindowTranslucency(Z)Z
-PLcom/android/server/am/ActivityRecord;->checkEnterPictureInPictureAppOpsState()Z
-PLcom/android/server/am/ActivityRecord;->checkEnterPictureInPictureState(Ljava/lang/String;Z)Z
-PLcom/android/server/am/ActivityRecord;->clearOptionsLocked()V
-PLcom/android/server/am/ActivityRecord;->clearOptionsLocked(Z)V
-PLcom/android/server/am/ActivityRecord;->completeResumeLocked()V
-PLcom/android/server/am/ActivityRecord;->computeBounds(Landroid/graphics/Rect;)V
-PLcom/android/server/am/ActivityRecord;->continueLaunchTickingLocked()Z
-PLcom/android/server/am/ActivityRecord;->createImageFilename(JI)Ljava/lang/String;
-PLcom/android/server/am/ActivityRecord;->createWindowContainer()V
-PLcom/android/server/am/ActivityRecord;->crossesHorizontalSizeThreshold(II)Z
-PLcom/android/server/am/ActivityRecord;->crossesSizeThreshold([III)Z
-PLcom/android/server/am/ActivityRecord;->deliverNewIntentLocked(ILandroid/content/Intent;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityRecord;->ensureActivityConfiguration(IZ)Z
-PLcom/android/server/am/ActivityRecord;->ensureActivityConfiguration(IZZ)Z
-PLcom/android/server/am/ActivityRecord;->finishLaunchTickingLocked()V
-PLcom/android/server/am/ActivityRecord;->forTokenLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityRecord;->getChildCount()I
-PLcom/android/server/am/ActivityRecord;->getConfigurationChanges(Landroid/content/res/Configuration;)I
-PLcom/android/server/am/ActivityRecord;->getDisplay()Lcom/android/server/am/ActivityDisplay;
-PLcom/android/server/am/ActivityRecord;->getDisplayId()I
-PLcom/android/server/am/ActivityRecord;->getParent()Lcom/android/server/wm/ConfigurationContainer;
-PLcom/android/server/am/ActivityRecord;->getRequestedOrientation()I
-PLcom/android/server/am/ActivityRecord;->getStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityRecord;->getState()Lcom/android/server/am/ActivityStack$ActivityState;
-PLcom/android/server/am/ActivityRecord;->getTaskForActivityLocked(Landroid/os/IBinder;Z)I
-PLcom/android/server/am/ActivityRecord;->getUriPermissionsLocked()Lcom/android/server/am/UriPermissionOwner;
-PLcom/android/server/am/ActivityRecord;->getWindowContainerController()Lcom/android/server/wm/AppWindowContainerController;
-PLcom/android/server/am/ActivityRecord;->handleAlreadyVisible()Z
-PLcom/android/server/am/ActivityRecord;->isAlwaysFocusable()Z
-PLcom/android/server/am/ActivityRecord;->isFocusable()Z
-PLcom/android/server/am/ActivityRecord;->isHomeIntent(Landroid/content/Intent;)Z
-PLcom/android/server/am/ActivityRecord;->isInStackLocked()Z
-PLcom/android/server/am/ActivityRecord;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityRecord;->isMainIntent(Landroid/content/Intent;)Z
-PLcom/android/server/am/ActivityRecord;->isNoHistory()Z
-PLcom/android/server/am/ActivityRecord;->isPersistable()Z
-PLcom/android/server/am/ActivityRecord;->isProcessRunning()Z
-PLcom/android/server/am/ActivityRecord;->isResizeOnlyChange(I)Z
-PLcom/android/server/am/ActivityRecord;->isResizeable()Z
-PLcom/android/server/am/ActivityRecord;->isResolverActivity()Z
-PLcom/android/server/am/ActivityRecord;->isSleeping()Z
-PLcom/android/server/am/ActivityRecord;->isState(Lcom/android/server/am/ActivityStack$ActivityState;Lcom/android/server/am/ActivityStack$ActivityState;Lcom/android/server/am/ActivityStack$ActivityState;)Z
-PLcom/android/server/am/ActivityRecord;->isState(Lcom/android/server/am/ActivityStack$ActivityState;Lcom/android/server/am/ActivityStack$ActivityState;Lcom/android/server/am/ActivityStack$ActivityState;Lcom/android/server/am/ActivityStack$ActivityState;)Z
-PLcom/android/server/am/ActivityRecord;->isTopRunningActivity()Z
-PLcom/android/server/am/ActivityRecord;->makeClientVisible()V
-PLcom/android/server/am/ActivityRecord;->makeFinishingLocked()V
-PLcom/android/server/am/ActivityRecord;->makeVisibleIfNeeded(Lcom/android/server/am/ActivityRecord;Z)V
-PLcom/android/server/am/ActivityRecord;->mayFreezeScreenLocked(Lcom/android/server/am/ProcessRecord;)Z
-PLcom/android/server/am/ActivityRecord;->notifyAppResumed(Z)V
-PLcom/android/server/am/ActivityRecord;->notifyUnknownVisibilityLaunched()V
-PLcom/android/server/am/ActivityRecord;->onStartingWindowDrawn(J)V
-PLcom/android/server/am/ActivityRecord;->onWindowsDrawn(J)V
-PLcom/android/server/am/ActivityRecord;->onWindowsGone()V
-PLcom/android/server/am/ActivityRecord;->onWindowsVisible()V
-PLcom/android/server/am/ActivityRecord;->onlyVrUiModeChanged(ILandroid/content/res/Configuration;)Z
-PLcom/android/server/am/ActivityRecord;->pauseKeyDispatchingLocked()V
-PLcom/android/server/am/ActivityRecord;->registerRemoteAnimations(Landroid/view/RemoteAnimationDefinition;)V
-PLcom/android/server/am/ActivityRecord;->relaunchActivityLocked(ZZ)V
-PLcom/android/server/am/ActivityRecord;->removeOrphanedStartingWindow(Z)V
-PLcom/android/server/am/ActivityRecord;->removeResultsLocked(Lcom/android/server/am/ActivityRecord;Ljava/lang/String;I)V
-PLcom/android/server/am/ActivityRecord;->removeUriPermissionsLocked()V
-PLcom/android/server/am/ActivityRecord;->removeWindowContainer()V
-PLcom/android/server/am/ActivityRecord;->reportLaunchTimeLocked(J)V
-PLcom/android/server/am/ActivityRecord;->resumeKeyDispatchingLocked()V
-PLcom/android/server/am/ActivityRecord;->scheduleConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/am/ActivityRecord;->setActivityType(ZILandroid/content/Intent;Landroid/app/ActivityOptions;Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityRecord;->setDeferHidingClient(Z)V
-PLcom/android/server/am/ActivityRecord;->setLastReportedConfiguration(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)V
-PLcom/android/server/am/ActivityRecord;->setLastReportedConfiguration(Landroid/util/MergedConfiguration;)V
-PLcom/android/server/am/ActivityRecord;->setLastReportedGlobalConfiguration(Landroid/content/res/Configuration;)V
-PLcom/android/server/am/ActivityRecord;->setProcess(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/ActivityRecord;->setRequestedOrientation(I)V
-PLcom/android/server/am/ActivityRecord;->setSizeConfigurations([I[I[I)V
-PLcom/android/server/am/ActivityRecord;->setSleeping(Z)V
-PLcom/android/server/am/ActivityRecord;->setSleeping(ZZ)V
-PLcom/android/server/am/ActivityRecord;->setState(Lcom/android/server/am/ActivityStack$ActivityState;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityRecord;->setTask(Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/ActivityRecord;->setTask(Lcom/android/server/am/TaskRecord;Z)V
-PLcom/android/server/am/ActivityRecord;->setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V
-PLcom/android/server/am/ActivityRecord;->setVisibility(Z)V
-PLcom/android/server/am/ActivityRecord;->setVisible(Z)V
-PLcom/android/server/am/ActivityRecord;->shouldPauseWhenBecomingVisible()Z
-PLcom/android/server/am/ActivityRecord;->shouldRelaunchLocked(ILandroid/content/res/Configuration;)Z
-PLcom/android/server/am/ActivityRecord;->showStartingWindow(Lcom/android/server/am/ActivityRecord;ZZ)V
-PLcom/android/server/am/ActivityRecord;->showStartingWindow(Lcom/android/server/am/ActivityRecord;ZZZ)V
-PLcom/android/server/am/ActivityRecord;->startFreezingScreenLocked(Lcom/android/server/am/ProcessRecord;I)V
-PLcom/android/server/am/ActivityRecord;->startLaunchTickingLocked()V
-PLcom/android/server/am/ActivityRecord;->stopFreezingScreenLocked(Z)V
-PLcom/android/server/am/ActivityRecord;->supportsFreeform()Z
-PLcom/android/server/am/ActivityRecord;->supportsPictureInPicture()Z
-PLcom/android/server/am/ActivityRecord;->supportsResizeableMultiWindow()Z
-PLcom/android/server/am/ActivityRecord;->supportsSplitScreenWindowingMode()Z
-PLcom/android/server/am/ActivityRecord;->takeFromHistory()V
-PLcom/android/server/am/ActivityRecord;->takeOptionsLocked()Landroid/app/ActivityOptions;
-PLcom/android/server/am/ActivityRecord;->toString()Ljava/lang/String;
-PLcom/android/server/am/ActivityRecord;->updateApplicationInfo(Landroid/content/pm/ApplicationInfo;)V
-PLcom/android/server/am/ActivityRecord;->updateOptionsLocked(Landroid/app/ActivityOptions;)V
-PLcom/android/server/am/ActivityRecord;->updateOverrideConfiguration()V
-PLcom/android/server/am/ActivityRecord;->updateTaskDescription(Ljava/lang/CharSequence;)V
-PLcom/android/server/am/ActivityResult;-><init>(Lcom/android/server/am/ActivityRecord;Ljava/lang/String;IILandroid/content/Intent;)V
-PLcom/android/server/am/ActivityStack$ActivityStackHandler;-><init>(Lcom/android/server/am/ActivityStack;Landroid/os/Looper;)V
-PLcom/android/server/am/ActivityStack$ActivityStackHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/am/ActivityStack$ActivityState;-><init>(Ljava/lang/String;I)V
-PLcom/android/server/am/ActivityStack$ActivityState;->values()[Lcom/android/server/am/ActivityStack$ActivityState;
-PLcom/android/server/am/ActivityStack;-><init>(Lcom/android/server/am/ActivityDisplay;ILcom/android/server/am/ActivityStackSupervisor;IIZ)V
-PLcom/android/server/am/ActivityStack;->activityDestroyedLocked(Landroid/os/IBinder;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityStack;->activityDestroyedLocked(Lcom/android/server/am/ActivityRecord;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityStack;->activityPausedLocked(Landroid/os/IBinder;Z)V
-PLcom/android/server/am/ActivityStack;->addStartingWindowsForVisibleActivities(Z)V
-PLcom/android/server/am/ActivityStack;->addTask(Lcom/android/server/am/TaskRecord;IZLjava/lang/String;)V
-PLcom/android/server/am/ActivityStack;->addTask(Lcom/android/server/am/TaskRecord;ZLjava/lang/String;)V
-PLcom/android/server/am/ActivityStack;->addToStopping(Lcom/android/server/am/ActivityRecord;ZZ)V
-PLcom/android/server/am/ActivityStack;->adjustFocusToNextFocusableStack(Ljava/lang/String;)Z
-PLcom/android/server/am/ActivityStack;->adjustFocusToNextFocusableStack(Ljava/lang/String;Z)Z
-PLcom/android/server/am/ActivityStack;->adjustFocusedActivityStack(Lcom/android/server/am/ActivityRecord;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityStack;->awakeFromSleepingLocked()V
-PLcom/android/server/am/ActivityStack;->canEnterPipOnTaskSwitch(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/TaskRecord;Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;)Z
-PLcom/android/server/am/ActivityStack;->canShowWithInsecureKeyguard()Z
-PLcom/android/server/am/ActivityStack;->checkReadyForSleep()V
-PLcom/android/server/am/ActivityStack;->cleanUpActivityLocked(Lcom/android/server/am/ActivityRecord;ZZ)V
-PLcom/android/server/am/ActivityStack;->cleanUpActivityServicesLocked(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStack;->clearLaunchTime(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStack;->closeSystemDialogsLocked()V
-PLcom/android/server/am/ActivityStack;->completePauseLocked(ZLcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStack;->containsActivityFromStack(Ljava/util/List;)Z
-PLcom/android/server/am/ActivityStack;->continueUpdateBounds()V
-PLcom/android/server/am/ActivityStack;->createStackWindowController(IZLandroid/graphics/Rect;)Lcom/android/server/wm/StackWindowController;
-PLcom/android/server/am/ActivityStack;->createTaskRecord(ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;ZLcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;)Lcom/android/server/am/TaskRecord;
-PLcom/android/server/am/ActivityStack;->destroyActivityLocked(Lcom/android/server/am/ActivityRecord;ZLjava/lang/String;)Z
-PLcom/android/server/am/ActivityStack;->ensureActivitiesVisibleLocked(Lcom/android/server/am/ActivityRecord;IZ)V
-PLcom/android/server/am/ActivityStack;->executeAppTransition(Landroid/app/ActivityOptions;)V
-PLcom/android/server/am/ActivityStack;->findActivityLocked(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Z)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStack;->findTaskLocked(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityStackSupervisor$FindTaskResult;)V
-PLcom/android/server/am/ActivityStack;->finishActivityAffinityLocked(Lcom/android/server/am/ActivityRecord;)Z
-PLcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;ILandroid/content/Intent;Ljava/lang/String;Z)Z
-PLcom/android/server/am/ActivityStack;->finishActivityLocked(Lcom/android/server/am/ActivityRecord;ILandroid/content/Intent;Ljava/lang/String;ZZ)Z
-PLcom/android/server/am/ActivityStack;->finishActivityResultsLocked(Lcom/android/server/am/ActivityRecord;ILandroid/content/Intent;)V
-PLcom/android/server/am/ActivityStack;->finishCurrentActivityLocked(Lcom/android/server/am/ActivityRecord;IZLjava/lang/String;)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStack;->finishDisabledPackageActivitiesLocked(Ljava/lang/String;Ljava/util/Set;ZZI)Z
-PLcom/android/server/am/ActivityStack;->finishVoiceTask(Landroid/service/voice/IVoiceInteractionSession;)V
-PLcom/android/server/am/ActivityStack;->getAdjustedPositionForTask(Lcom/android/server/am/TaskRecord;ILcom/android/server/am/ActivityRecord;)I
-PLcom/android/server/am/ActivityStack;->getAllRunningVisibleActivitiesLocked(Ljava/util/ArrayList;)V
-PLcom/android/server/am/ActivityStack;->getAllTasks()Ljava/util/ArrayList;
-PLcom/android/server/am/ActivityStack;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
-PLcom/android/server/am/ActivityStack;->getChildCount()I
-PLcom/android/server/am/ActivityStack;->getStackId()I
-PLcom/android/server/am/ActivityStack;->getTopActivity()Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStack;->getWindowContainerBounds(Landroid/graphics/Rect;)V
-PLcom/android/server/am/ActivityStack;->getWindowContainerController()Lcom/android/server/wm/StackWindowController;
-PLcom/android/server/am/ActivityStack;->goToSleep()V
-PLcom/android/server/am/ActivityStack;->goToSleepIfPossible(Z)Z
-PLcom/android/server/am/ActivityStack;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;)Z
-PLcom/android/server/am/ActivityStack;->insertTaskAtBottom(Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/ActivityStack;->insertTaskAtTop(Lcom/android/server/am/TaskRecord;Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStack;->isCompatible(II)Z
-PLcom/android/server/am/ActivityStack;->isFocusable()Z
-PLcom/android/server/am/ActivityStack;->isHomeOrRecentsStack()Z
-PLcom/android/server/am/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStack;->isInStackLocked(Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStack;->isInStackLocked(Lcom/android/server/am/TaskRecord;)Z
-PLcom/android/server/am/ActivityStack;->isOnHomeDisplay()Z
-PLcom/android/server/am/ActivityStack;->isTaskSwitch(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;)Z
-PLcom/android/server/am/ActivityStack;->isTopStackOnDisplay()Z
-PLcom/android/server/am/ActivityStack;->logStartActivity(ILcom/android/server/am/ActivityRecord;Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/ActivityStack;->makeVisibleAndRestartIfNeeded(Lcom/android/server/am/ActivityRecord;IZZLcom/android/server/am/ActivityRecord;)Z
-PLcom/android/server/am/ActivityStack;->minimalResumeActivityLocked(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStack;->moveHomeStackTaskToTop()V
-PLcom/android/server/am/ActivityStack;->moveTaskToBackLocked(I)Z
-PLcom/android/server/am/ActivityStack;->moveTaskToFrontLocked(Lcom/android/server/am/TaskRecord;ZLandroid/app/ActivityOptions;Lcom/android/server/am/AppTimeTracker;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityStack;->moveToBack(Ljava/lang/String;Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/ActivityStack;->moveToFront(Ljava/lang/String;)V
-PLcom/android/server/am/ActivityStack;->moveToFront(Ljava/lang/String;Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/ActivityStack;->navigateUpToLocked(Lcom/android/server/am/ActivityRecord;Landroid/content/Intent;ILandroid/content/Intent;)Z
-PLcom/android/server/am/ActivityStack;->notifyActivityDrawnLocked(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStack;->onActivityAddedToStack(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStack;->onActivityRemovedFromStack(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStack;->onActivityStateChanged(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityStack$ActivityState;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityStack;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/am/ActivityStack;->onLockTaskPackagesUpdated()V
-PLcom/android/server/am/ActivityStack;->onParentChanged()V
-PLcom/android/server/am/ActivityStack;->postAddTask(Lcom/android/server/am/TaskRecord;Lcom/android/server/am/ActivityStack;Z)V
-PLcom/android/server/am/ActivityStack;->postAddToDisplay(Lcom/android/server/am/ActivityDisplay;Landroid/graphics/Rect;Z)V
-PLcom/android/server/am/ActivityStack;->preAddTask(Lcom/android/server/am/TaskRecord;Ljava/lang/String;Z)Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityStack;->rankTaskLayers(I)I
-PLcom/android/server/am/ActivityStack;->remove()V
-PLcom/android/server/am/ActivityStack;->removeActivitiesFromLRUListLocked(Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/ActivityStack;->removeActivityFromHistoryLocked(Lcom/android/server/am/ActivityRecord;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityStack;->removeFromDisplay()V
-PLcom/android/server/am/ActivityStack;->removeTask(Lcom/android/server/am/TaskRecord;Ljava/lang/String;I)V
-PLcom/android/server/am/ActivityStack;->removeTimeoutsForActivityLocked(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStack;->requestFinishActivityLocked(Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Z)Z
-PLcom/android/server/am/ActivityStack;->resetTargetTaskIfNeededLocked(Lcom/android/server/am/TaskRecord;Z)Landroid/app/ActivityOptions;
-PLcom/android/server/am/ActivityStack;->resetTaskIfNeededLocked(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStack;->resumeTopActivityInNextFocusableStack(Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;Ljava/lang/String;)Z
-PLcom/android/server/am/ActivityStack;->resumeTopActivityInnerLocked(Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;)Z
-PLcom/android/server/am/ActivityStack;->resumeTopActivityUncheckedLocked(Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;)Z
-PLcom/android/server/am/ActivityStack;->returnsToHomeStack()Z
-PLcom/android/server/am/ActivityStack;->schedulePauseTimeout(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStack;->sendActivityResultLocked(ILcom/android/server/am/ActivityRecord;Ljava/lang/String;IILandroid/content/Intent;)V
-PLcom/android/server/am/ActivityStack;->setBounds(Landroid/graphics/Rect;)I
-PLcom/android/server/am/ActivityStack;->setResumedActivity(Lcom/android/server/am/ActivityRecord;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityStack;->setWindowingMode(I)V
-PLcom/android/server/am/ActivityStack;->setWindowingMode(IZZZZ)V
-PLcom/android/server/am/ActivityStack;->shouldSleepActivities()Z
-PLcom/android/server/am/ActivityStack;->shouldSleepOrShutDownActivities()Z
-PLcom/android/server/am/ActivityStack;->shouldUpRecreateTaskLocked(Lcom/android/server/am/ActivityRecord;Ljava/lang/String;)Z
-PLcom/android/server/am/ActivityStack;->startActivityLocked(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;ZZLandroid/app/ActivityOptions;)V
-PLcom/android/server/am/ActivityStack;->startPausingLocked(ZZLcom/android/server/am/ActivityRecord;Z)Z
-PLcom/android/server/am/ActivityStack;->stopActivityLocked(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStack;->taskForIdLocked(I)Lcom/android/server/am/TaskRecord;
-PLcom/android/server/am/ActivityStack;->topActivityOccludesKeyguard()Z
-PLcom/android/server/am/ActivityStack;->topRunningNonDelayedActivityLocked(Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStack;->topTask()Lcom/android/server/am/TaskRecord;
-PLcom/android/server/am/ActivityStack;->updateActivityApplicationInfoLocked(Landroid/content/pm/ApplicationInfo;)V
-PLcom/android/server/am/ActivityStack;->updateBehindFullscreen(ZZLcom/android/server/am/ActivityRecord;)Z
-PLcom/android/server/am/ActivityStack;->updateLRUListLocked(Lcom/android/server/am/ActivityRecord;)Z
-PLcom/android/server/am/ActivityStack;->updateTaskMovement(Lcom/android/server/am/TaskRecord;Z)V
-PLcom/android/server/am/ActivityStack;->updateTransitLocked(ILandroid/app/ActivityOptions;)V
-PLcom/android/server/am/ActivityStackSupervisor$ActivityStackSupervisorHandler;->activityIdleInternal(Lcom/android/server/am/ActivityRecord;Z)V
-PLcom/android/server/am/ActivityStackSupervisor$ActivityStackSupervisorHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/am/ActivityStackSupervisor$SleepTokenImpl;-><init>(Lcom/android/server/am/ActivityStackSupervisor;Ljava/lang/String;I)V
-PLcom/android/server/am/ActivityStackSupervisor$SleepTokenImpl;->access$000(Lcom/android/server/am/ActivityStackSupervisor$SleepTokenImpl;)I
-PLcom/android/server/am/ActivityStackSupervisor$SleepTokenImpl;->release()V
-PLcom/android/server/am/ActivityStackSupervisor;->access$200(Lcom/android/server/am/ActivityStackSupervisor;I)V
-PLcom/android/server/am/ActivityStackSupervisor;->access$500(Lcom/android/server/am/ActivityStackSupervisor;Lcom/android/server/am/ActivityStackSupervisor$SleepTokenImpl;)V
-PLcom/android/server/am/ActivityStackSupervisor;->acquireLaunchWakelock()V
-PLcom/android/server/am/ActivityStackSupervisor;->activityIdleInternalLocked(Landroid/os/IBinder;ZZLandroid/content/res/Configuration;)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStackSupervisor;->activityRelaunchedLocked(Landroid/os/IBinder;)V
-PLcom/android/server/am/ActivityStackSupervisor;->activityRelaunchingLocked(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStackSupervisor;->activitySleptLocked(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStackSupervisor;->addStartingWindowsForVisibleActivities(Z)V
-PLcom/android/server/am/ActivityStackSupervisor;->allPausedActivitiesComplete()Z
-PLcom/android/server/am/ActivityStackSupervisor;->allResumedActivitiesComplete()Z
-PLcom/android/server/am/ActivityStackSupervisor;->allResumedActivitiesIdle()Z
-PLcom/android/server/am/ActivityStackSupervisor;->allResumedActivitiesVisible()Z
-PLcom/android/server/am/ActivityStackSupervisor;->anyTaskForIdLocked(I)Lcom/android/server/am/TaskRecord;
-PLcom/android/server/am/ActivityStackSupervisor;->anyTaskForIdLocked(II)Lcom/android/server/am/TaskRecord;
-PLcom/android/server/am/ActivityStackSupervisor;->anyTaskForIdLocked(IILandroid/app/ActivityOptions;Z)Lcom/android/server/am/TaskRecord;
-PLcom/android/server/am/ActivityStackSupervisor;->applySleepTokensLocked(Z)V
-PLcom/android/server/am/ActivityStackSupervisor;->beginDeferResume()V
-PLcom/android/server/am/ActivityStackSupervisor;->calculateDefaultMinimalSizeOfResizeableTasks(Lcom/android/server/am/ActivityDisplay;)V
-PLcom/android/server/am/ActivityStackSupervisor;->canLaunchOnDisplay(Lcom/android/server/am/ActivityRecord;I)Z
-PLcom/android/server/am/ActivityStackSupervisor;->canPlaceEntityOnDisplay(IZIILandroid/content/pm/ActivityInfo;)Z
-PLcom/android/server/am/ActivityStackSupervisor;->canUseActivityOptionsLaunchBounds(Landroid/app/ActivityOptions;)Z
-PLcom/android/server/am/ActivityStackSupervisor;->cancelInitializingActivities()V
-PLcom/android/server/am/ActivityStackSupervisor;->checkFinishBootingLocked()Z
-PLcom/android/server/am/ActivityStackSupervisor;->checkReadyForSleepLocked(Z)V
-PLcom/android/server/am/ActivityStackSupervisor;->checkStartAnyActivityPermission(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/String;IIILjava/lang/String;ZZLcom/android/server/am/ProcessRecord;Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityStack;)Z
-PLcom/android/server/am/ActivityStackSupervisor;->cleanUpRemovedTaskLocked(Lcom/android/server/am/TaskRecord;ZZ)V
-PLcom/android/server/am/ActivityStackSupervisor;->cleanupActivity(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStackSupervisor;->closeSystemDialogsLocked()V
-PLcom/android/server/am/ActivityStackSupervisor;->comeOutOfSleepIfNeededLocked()V
-PLcom/android/server/am/ActivityStackSupervisor;->continueUpdateBounds(I)V
-PLcom/android/server/am/ActivityStackSupervisor;->continueUpdateRecentsHomeStackBounds()V
-PLcom/android/server/am/ActivityStackSupervisor;->createSleepTokenLocked(Ljava/lang/String;I)Landroid/app/ActivityManagerInternal$SleepToken;
-PLcom/android/server/am/ActivityStackSupervisor;->endDeferResume()V
-PLcom/android/server/am/ActivityStackSupervisor;->ensureActivitiesVisibleLocked(Lcom/android/server/am/ActivityRecord;IZ)V
-PLcom/android/server/am/ActivityStackSupervisor;->ensureVisibilityAndConfig(Lcom/android/server/am/ActivityRecord;IZZ)Z
-PLcom/android/server/am/ActivityStackSupervisor;->findActivityLocked(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Z)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStackSupervisor;->findTaskLocked(Lcom/android/server/am/ActivityRecord;I)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStackSupervisor;->findTaskToMoveToFront(Lcom/android/server/am/TaskRecord;ILandroid/app/ActivityOptions;Ljava/lang/String;Z)V
-PLcom/android/server/am/ActivityStackSupervisor;->finishDisabledPackageActivitiesLocked(Ljava/lang/String;Ljava/util/Set;ZZI)Z
-PLcom/android/server/am/ActivityStackSupervisor;->finishVoiceTask(Landroid/service/voice/IVoiceInteractionSession;)V
-PLcom/android/server/am/ActivityStackSupervisor;->getActionRestrictionForCallingPackage(Ljava/lang/String;Ljava/lang/String;II)I
-PLcom/android/server/am/ActivityStackSupervisor;->getActivityDisplayOrCreateLocked(I)Lcom/android/server/am/ActivityDisplay;
-PLcom/android/server/am/ActivityStackSupervisor;->getActivityMetricsLogger()Lcom/android/server/am/ActivityMetricsLogger;
-PLcom/android/server/am/ActivityStackSupervisor;->getChildAt(I)Lcom/android/server/am/ActivityDisplay;
-PLcom/android/server/am/ActivityStackSupervisor;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
-PLcom/android/server/am/ActivityStackSupervisor;->getComponentRestrictionForCallingPackage(Landroid/content/pm/ActivityInfo;Ljava/lang/String;IIZ)I
-PLcom/android/server/am/ActivityStackSupervisor;->getDefaultDisplay()Lcom/android/server/am/ActivityDisplay;
-PLcom/android/server/am/ActivityStackSupervisor;->getDisplayOverrideConfiguration(I)Landroid/content/res/Configuration;
-PLcom/android/server/am/ActivityStackSupervisor;->getHomeActivity()Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStackSupervisor;->getHomeActivityForUser(I)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStackSupervisor;->getLastStack()Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityStackSupervisor;->getLaunchParamsController()Lcom/android/server/am/LaunchParamsController;
-PLcom/android/server/am/ActivityStackSupervisor;->getLaunchStack(Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/am/TaskRecord;Z)Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityStackSupervisor;->getLaunchStack(Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/am/TaskRecord;ZI)Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityStackSupervisor;->getLaunchTimeTracker()Lcom/android/server/am/LaunchTimeTracker;
-PLcom/android/server/am/ActivityStackSupervisor;->getNextFocusableStackLocked(Lcom/android/server/am/ActivityStack;Z)Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityStackSupervisor;->getNextTaskIdForUserLocked(I)I
-PLcom/android/server/am/ActivityStackSupervisor;->getRunningTasks(ILjava/util/List;IIIZ)V
-PLcom/android/server/am/ActivityStackSupervisor;->getStack(I)Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityStackSupervisor;->getStack(II)Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityStackSupervisor;->getStackInfo(I)Landroid/app/ActivityManager$StackInfo;
-PLcom/android/server/am/ActivityStackSupervisor;->getStackInfo(II)Landroid/app/ActivityManager$StackInfo;
-PLcom/android/server/am/ActivityStackSupervisor;->getStackInfo(Lcom/android/server/am/ActivityStack;)Landroid/app/ActivityManager$StackInfo;
-PLcom/android/server/am/ActivityStackSupervisor;->getTopVisibleActivities()Ljava/util/List;
-PLcom/android/server/am/ActivityStackSupervisor;->goingToSleepLocked()V
-PLcom/android/server/am/ActivityStackSupervisor;->handleDisplayChanged(I)V
-PLcom/android/server/am/ActivityStackSupervisor;->handleNonResizableTaskIfNeeded(Lcom/android/server/am/TaskRecord;IILcom/android/server/am/ActivityStack;)V
-PLcom/android/server/am/ActivityStackSupervisor;->handleNonResizableTaskIfNeeded(Lcom/android/server/am/TaskRecord;IILcom/android/server/am/ActivityStack;Z)V
-PLcom/android/server/am/ActivityStackSupervisor;->hasAwakeDisplay()Z
-PLcom/android/server/am/ActivityStackSupervisor;->invalidateTaskLayers()V
-PLcom/android/server/am/ActivityStackSupervisor;->isDisplayAdded(I)Z
-PLcom/android/server/am/ActivityStackSupervisor;->isFocusable(Lcom/android/server/wm/ConfigurationContainer;Z)Z
-PLcom/android/server/am/ActivityStackSupervisor;->isInAnyStackLocked(Landroid/os/IBinder;)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStackSupervisor;->isStoppingNoHistoryActivity()Z
-PLcom/android/server/am/ActivityStackSupervisor;->isValidTopRunningActivity(Lcom/android/server/am/ActivityRecord;Z)Z
-PLcom/android/server/am/ActivityStackSupervisor;->logIfTransactionTooLarge(Landroid/content/Intent;Landroid/os/Bundle;)V
-PLcom/android/server/am/ActivityStackSupervisor;->logStackState()V
-PLcom/android/server/am/ActivityStackSupervisor;->moveFocusableActivityStackToFrontLocked(Lcom/android/server/am/ActivityRecord;Ljava/lang/String;)Z
-PLcom/android/server/am/ActivityStackSupervisor;->moveHomeStackTaskToTop(Ljava/lang/String;)Z
-PLcom/android/server/am/ActivityStackSupervisor;->moveHomeStackToFront(Ljava/lang/String;)V
-PLcom/android/server/am/ActivityStackSupervisor;->nextTaskIdForUser(II)I
-PLcom/android/server/am/ActivityStackSupervisor;->notifyAppTransitionDone()V
-PLcom/android/server/am/ActivityStackSupervisor;->onDisplayChanged(I)V
-PLcom/android/server/am/ActivityStackSupervisor;->onRecentTaskAdded(Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/ActivityStackSupervisor;->onRecentTaskRemoved(Lcom/android/server/am/TaskRecord;Z)V
-PLcom/android/server/am/ActivityStackSupervisor;->pauseBackStacks(ZLcom/android/server/am/ActivityRecord;Z)Z
-PLcom/android/server/am/ActivityStackSupervisor;->processStoppingActivitiesLocked(Lcom/android/server/am/ActivityRecord;ZZ)Ljava/util/ArrayList;
-PLcom/android/server/am/ActivityStackSupervisor;->putStacksToSleepLocked(ZZ)Z
-PLcom/android/server/am/ActivityStackSupervisor;->readyToResume()Z
-PLcom/android/server/am/ActivityStackSupervisor;->realStartActivityLocked(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ProcessRecord;ZZ)Z
-PLcom/android/server/am/ActivityStackSupervisor;->removeSleepTimeouts()V
-PLcom/android/server/am/ActivityStackSupervisor;->removeSleepTokenLocked(Lcom/android/server/am/ActivityStackSupervisor$SleepTokenImpl;)V
-PLcom/android/server/am/ActivityStackSupervisor;->removeTaskByIdLocked(IZZLjava/lang/String;)Z
-PLcom/android/server/am/ActivityStackSupervisor;->removeTaskByIdLocked(IZZZLjava/lang/String;)Z
-PLcom/android/server/am/ActivityStackSupervisor;->removeTimeoutsForActivityLocked(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStackSupervisor;->reportActivityLaunchedLocked(ZLcom/android/server/am/ActivityRecord;JJ)V
-PLcom/android/server/am/ActivityStackSupervisor;->reportActivityVisibleLocked(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStackSupervisor;->reportResumedActivityLocked(Lcom/android/server/am/ActivityRecord;)Z
-PLcom/android/server/am/ActivityStackSupervisor;->reportWaitingActivityLaunchedIfNeeded(Lcom/android/server/am/ActivityRecord;I)V
-PLcom/android/server/am/ActivityStackSupervisor;->resolveActivity(Landroid/content/Intent;Landroid/content/pm/ResolveInfo;ILandroid/app/ProfilerInfo;)Landroid/content/pm/ActivityInfo;
-PLcom/android/server/am/ActivityStackSupervisor;->resolveActivity(Landroid/content/Intent;Ljava/lang/String;ILandroid/app/ProfilerInfo;II)Landroid/content/pm/ActivityInfo;
-PLcom/android/server/am/ActivityStackSupervisor;->resolveActivityType(Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/am/TaskRecord;)I
-PLcom/android/server/am/ActivityStackSupervisor;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
-PLcom/android/server/am/ActivityStackSupervisor;->restoreRecentTaskLocked(Lcom/android/server/am/TaskRecord;Landroid/app/ActivityOptions;Z)Z
-PLcom/android/server/am/ActivityStackSupervisor;->resumeFocusedStackTopActivityLocked()Z
-PLcom/android/server/am/ActivityStackSupervisor;->resumeFocusedStackTopActivityLocked(Lcom/android/server/am/ActivityStack;Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;)Z
-PLcom/android/server/am/ActivityStackSupervisor;->resumeHomeStackTask(Lcom/android/server/am/ActivityRecord;Ljava/lang/String;)Z
-PLcom/android/server/am/ActivityStackSupervisor;->scheduleIdleLocked()V
-PLcom/android/server/am/ActivityStackSupervisor;->scheduleIdleTimeoutLocked(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStackSupervisor;->scheduleResumeTopActivities()V
-PLcom/android/server/am/ActivityStackSupervisor;->scheduleSleepTimeout()V
-PLcom/android/server/am/ActivityStackSupervisor;->sendPowerHintForLaunchEndIfNeeded()V
-PLcom/android/server/am/ActivityStackSupervisor;->sendPowerHintForLaunchStartIfNeeded(ZLcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStackSupervisor;->sendWaitingVisibleReportLocked(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStackSupervisor;->setDisplayOverrideConfiguration(Landroid/content/res/Configuration;I)V
-PLcom/android/server/am/ActivityStackSupervisor;->setDockedStackMinimized(Z)V
-PLcom/android/server/am/ActivityStackSupervisor;->setFocusStackUnchecked(Ljava/lang/String;Lcom/android/server/am/ActivityStack;)V
-PLcom/android/server/am/ActivityStackSupervisor;->setLaunchSource(I)V
-PLcom/android/server/am/ActivityStackSupervisor;->setNextTaskIdForUserLocked(II)V
-PLcom/android/server/am/ActivityStackSupervisor;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/am/ActivityStackSupervisor;->startActivityFromRecents(IIILcom/android/server/am/SafeActivityOptions;)I
-PLcom/android/server/am/ActivityStackSupervisor;->startSpecificActivityLocked(Lcom/android/server/am/ActivityRecord;ZZ)V
-PLcom/android/server/am/ActivityStackSupervisor;->topRunningActivityLocked()Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStackSupervisor;->topRunningActivityLocked(Z)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStackSupervisor;->updateActivityApplicationInfoLocked(Landroid/content/pm/ApplicationInfo;)V
-PLcom/android/server/am/ActivityStackSupervisor;->updatePreviousProcessLocked(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStackSupervisor;->updateUIDsPresentOnDisplay()V
-PLcom/android/server/am/ActivityStackSupervisor;->updateUserStackLocked(ILcom/android/server/am/ActivityStack;)V
-PLcom/android/server/am/ActivityStartController$StartHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/am/ActivityStartController;->access$000(Lcom/android/server/am/ActivityStartController;)Lcom/android/server/am/ActivityManagerService;
-PLcom/android/server/am/ActivityStartController;->checkTargetUser(IZIILjava/lang/String;)I
-PLcom/android/server/am/ActivityStartController;->clearPendingActivityLaunches(Ljava/lang/String;)Z
-PLcom/android/server/am/ActivityStartController;->doPendingActivityLaunches(Z)V
-PLcom/android/server/am/ActivityStartController;->getPendingRemoteAnimationRegistry()Lcom/android/server/am/PendingRemoteAnimationRegistry;
-PLcom/android/server/am/ActivityStartController;->obtainStarter(Landroid/content/Intent;Ljava/lang/String;)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStartController;->onExecutionComplete(Lcom/android/server/am/ActivityStarter;)V
-PLcom/android/server/am/ActivityStartController;->postStartActivityProcessingForLastStarter(Lcom/android/server/am/ActivityRecord;ILcom/android/server/am/ActivityStack;)V
-PLcom/android/server/am/ActivityStartController;->registerRemoteAnimationForNextActivityStart(Ljava/lang/String;Landroid/view/RemoteAnimationAdapter;)V
-PLcom/android/server/am/ActivityStartController;->schedulePendingActivityLaunches(J)V
-PLcom/android/server/am/ActivityStartController;->startActivities(Landroid/app/IApplicationThread;ILjava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Lcom/android/server/am/SafeActivityOptions;ILjava/lang/String;)I
-PLcom/android/server/am/ActivityStartController;->startActivityInPackage(IIILjava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILcom/android/server/am/SafeActivityOptions;ILcom/android/server/am/TaskRecord;Ljava/lang/String;Z)I
-PLcom/android/server/am/ActivityStartController;->startHomeActivity(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityStartController;->startSetupActivity()V
-PLcom/android/server/am/ActivityStartInterceptor;->intercept(Landroid/content/Intent;Landroid/content/pm/ResolveInfo;Landroid/content/pm/ActivityInfo;Ljava/lang/String;Lcom/android/server/am/TaskRecord;IILandroid/app/ActivityOptions;)Z
-PLcom/android/server/am/ActivityStartInterceptor;->interceptHarmfulAppIfNeeded()Z
-PLcom/android/server/am/ActivityStartInterceptor;->interceptQuietProfileIfNeeded()Z
-PLcom/android/server/am/ActivityStartInterceptor;->interceptSuspendedPackageIfNeeded()Z
-PLcom/android/server/am/ActivityStartInterceptor;->interceptWithConfirmCredentialsIfNeeded(Landroid/content/pm/ActivityInfo;I)Landroid/content/Intent;
-PLcom/android/server/am/ActivityStartInterceptor;->interceptWorkProfileChallengeIfNeeded()Z
-PLcom/android/server/am/ActivityStartInterceptor;->setStates(IIIILjava/lang/String;)V
-PLcom/android/server/am/ActivityStarter$DefaultFactory;->obtain()Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter$DefaultFactory;->recycle(Lcom/android/server/am/ActivityStarter;)V
-PLcom/android/server/am/ActivityStarter$Request;-><init>()V
-PLcom/android/server/am/ActivityStarter$Request;->reset()V
-PLcom/android/server/am/ActivityStarter$Request;->set(Lcom/android/server/am/ActivityStarter$Request;)V
-PLcom/android/server/am/ActivityStarter;-><init>(Lcom/android/server/am/ActivityStartController;Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityStackSupervisor;Lcom/android/server/am/ActivityStartInterceptor;)V
-PLcom/android/server/am/ActivityStarter;->addOrReparentStartingActivity(Lcom/android/server/am/TaskRecord;Ljava/lang/String;)V
-PLcom/android/server/am/ActivityStarter;->adjustLaunchFlagsToDocumentMode(Lcom/android/server/am/ActivityRecord;ZZI)I
-PLcom/android/server/am/ActivityStarter;->computeLaunchingTaskFlags()V
-PLcom/android/server/am/ActivityStarter;->computeResolveFilterUid(III)I
-PLcom/android/server/am/ActivityStarter;->computeSourceStack()V
-PLcom/android/server/am/ActivityStarter;->computeStackFocus(Lcom/android/server/am/ActivityRecord;ZILandroid/app/ActivityOptions;)Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityStarter;->deliverNewIntent(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStarter;->execute()I
-PLcom/android/server/am/ActivityStarter;->getExternalResult(I)I
-PLcom/android/server/am/ActivityStarter;->getLaunchStack(Lcom/android/server/am/ActivityRecord;ILcom/android/server/am/TaskRecord;Landroid/app/ActivityOptions;)Lcom/android/server/am/ActivityStack;
-PLcom/android/server/am/ActivityStarter;->getPreferedDisplayId(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;)I
-PLcom/android/server/am/ActivityStarter;->getReusableIntentActivity()Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStarter;->isDocumentLaunchesIntoExisting(I)Z
-PLcom/android/server/am/ActivityStarter;->isLaunchModeOneOf(II)Z
-PLcom/android/server/am/ActivityStarter;->onExecutionComplete()V
-PLcom/android/server/am/ActivityStarter;->postStartActivityProcessing(Lcom/android/server/am/ActivityRecord;ILcom/android/server/am/ActivityStack;)V
-PLcom/android/server/am/ActivityStarter;->reset(Z)V
-PLcom/android/server/am/ActivityStarter;->resumeTargetStackIfNeeded()V
-PLcom/android/server/am/ActivityStarter;->sendNewTaskResultRequestIfNeeded()V
-PLcom/android/server/am/ActivityStarter;->set(Lcom/android/server/am/ActivityStarter;)V
-PLcom/android/server/am/ActivityStarter;->setActivityInfo(Landroid/content/pm/ActivityInfo;)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setActivityOptions(Landroid/os/Bundle;)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setActivityOptions(Lcom/android/server/am/SafeActivityOptions;)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setAllowPendingRemoteAnimationRegistryLookup(Z)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setCaller(Landroid/app/IApplicationThread;)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setCallingPackage(Ljava/lang/String;)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setCallingPid(I)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setCallingUid(I)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setComponentSpecified(Z)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setInTask(Lcom/android/server/am/TaskRecord;)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setInitialState(Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/am/TaskRecord;ZILcom/android/server/am/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)V
-PLcom/android/server/am/ActivityStarter;->setIntent(Landroid/content/Intent;)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setMayWait(I)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setOutActivity([Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setProfilerInfo(Landroid/app/ProfilerInfo;)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setRealCallingPid(I)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setRealCallingUid(I)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setReason(Ljava/lang/String;)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setRequestCode(I)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setResolvedType(Ljava/lang/String;)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setResultTo(Landroid/os/IBinder;)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setResultWho(Ljava/lang/String;)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setStartFlags(I)Lcom/android/server/am/ActivityStarter;
-PLcom/android/server/am/ActivityStarter;->setTargetStackAndMoveToFrontIfNeeded(Lcom/android/server/am/ActivityRecord;)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/ActivityStarter;->setTaskFromInTask()I
-PLcom/android/server/am/ActivityStarter;->setTaskFromIntentActivity(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/ActivityStarter;->setTaskFromReuseOrCreateNewTask(Lcom/android/server/am/TaskRecord;Lcom/android/server/am/ActivityStack;)I
-PLcom/android/server/am/ActivityStarter;->setTaskFromSourceRecord()I
-PLcom/android/server/am/ActivityStarter;->startActivity(Landroid/app/IApplicationThread;Landroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/content/pm/ResolveInfo;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Landroid/os/IBinder;Ljava/lang/String;IIILjava/lang/String;IIILcom/android/server/am/SafeActivityOptions;ZZ[Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/TaskRecord;Ljava/lang/String;Z)I
-PLcom/android/server/am/ActivityStarter;->startActivity(Landroid/app/IApplicationThread;Landroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/content/pm/ResolveInfo;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Landroid/os/IBinder;Ljava/lang/String;IIILjava/lang/String;IIILcom/android/server/am/SafeActivityOptions;ZZ[Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/TaskRecord;Z)I
-PLcom/android/server/am/ActivityStarter;->startActivity(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;IZLandroid/app/ActivityOptions;Lcom/android/server/am/TaskRecord;[Lcom/android/server/am/ActivityRecord;)I
-PLcom/android/server/am/ActivityStarter;->startActivityUnchecked(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;IZLandroid/app/ActivityOptions;Lcom/android/server/am/TaskRecord;[Lcom/android/server/am/ActivityRecord;)I
-PLcom/android/server/am/ActivityStarter;->updateBounds(Lcom/android/server/am/TaskRecord;Landroid/graphics/Rect;)V
-PLcom/android/server/am/AppErrors;->isBadProcessLocked(Landroid/content/pm/ApplicationInfo;)Z
-PLcom/android/server/am/AppErrors;->loadAppsNotReportingCrashesFromConfigLocked(Ljava/lang/String;)V
-PLcom/android/server/am/AppErrors;->resetProcessCrashTimeLocked(Landroid/content/pm/ApplicationInfo;)V
-PLcom/android/server/am/AppErrors;->resetProcessCrashTimeLocked(ZII)V
-PLcom/android/server/am/AppTaskImpl;-><init>(Lcom/android/server/am/ActivityManagerService;II)V
-PLcom/android/server/am/AppTaskImpl;->checkCaller()V
-PLcom/android/server/am/AppTaskImpl;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;
-PLcom/android/server/am/AppTaskImpl;->setExcludeFromRecents(Z)V
-PLcom/android/server/am/AppWarnings$UiHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/am/AppWarnings$UiHandler;->hideUnsupportedDisplaySizeDialog()V
-PLcom/android/server/am/AppWarnings;->access$100(Lcom/android/server/am/AppWarnings;)V
-PLcom/android/server/am/AppWarnings;->hideUnsupportedDisplaySizeDialogUiThread()V
-PLcom/android/server/am/AppWarnings;->onDensityChanged()V
-PLcom/android/server/am/AppWarnings;->onResumeActivity(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/AppWarnings;->onStartActivity(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/AppWarnings;->showDeprecatedTargetDialogIfNeeded(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/AppWarnings;->showUnsupportedCompileSdkDialogIfNeeded(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/AppWarnings;->showUnsupportedDisplaySizeDialogIfNeeded(Lcom/android/server/am/ActivityRecord;)V
+PLcom/android/server/am/ActivityManagerShellCommand;->makeIntent(I)Landroid/content/Intent;
+PLcom/android/server/am/ActivityManagerShellCommand;->onCommand(Ljava/lang/String;)I
+PLcom/android/server/am/ActivityManagerShellCommand;->runStartService(Ljava/io/PrintWriter;Z)I
+PLcom/android/server/am/AppCompactor$1;->onPropertyChanged(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/AppErrorResult;->get()I
+PLcom/android/server/am/AppErrorResult;->set(I)V
+PLcom/android/server/am/AppErrors;->crashApplication(Lcom/android/server/am/ProcessRecord;Landroid/app/ApplicationErrorReport$CrashInfo;)V
+PLcom/android/server/am/AppErrors;->crashApplicationInner(Lcom/android/server/am/ProcessRecord;Landroid/app/ApplicationErrorReport$CrashInfo;II)V
+PLcom/android/server/am/AppErrors;->generateProcessError(Lcom/android/server/am/ProcessRecord;ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Landroid/app/ActivityManager$ProcessErrorStateInfo;
+PLcom/android/server/am/AppErrors;->handleAppCrashInActivityController(Lcom/android/server/am/ProcessRecord;Landroid/app/ApplicationErrorReport$CrashInfo;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JII)Z
+PLcom/android/server/am/AppErrors;->handleAppCrashLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/AppErrorDialog$Data;)Z
+PLcom/android/server/am/AppErrors;->handleShowAppErrorUi(Landroid/os/Message;)V
+PLcom/android/server/am/AppErrors;->makeAppCrashingLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/AppErrorDialog$Data;)Z
 PLcom/android/server/am/AssistDataRequester$AssistDataRequesterCallbacks;->onAssistRequestCompleted()V
-PLcom/android/server/am/AssistDataRequester;-><init>(Landroid/content/Context;Landroid/app/IActivityManager;Landroid/view/IWindowManager;Landroid/app/AppOpsManager;Lcom/android/server/am/AssistDataRequester$AssistDataRequesterCallbacks;Ljava/lang/Object;II)V
 PLcom/android/server/am/AssistDataRequester;->cancel()V
 PLcom/android/server/am/AssistDataRequester;->dispatchAssistDataReceived(Landroid/os/Bundle;)V
-PLcom/android/server/am/AssistDataRequester;->dispatchAssistScreenshotReceived(Landroid/graphics/Bitmap;)V
 PLcom/android/server/am/AssistDataRequester;->flushPendingAssistData()V
 PLcom/android/server/am/AssistDataRequester;->getPendingDataCount()I
+PLcom/android/server/am/AssistDataRequester;->getPendingScreenshotCount()I
 PLcom/android/server/am/AssistDataRequester;->onHandleAssistData(Landroid/os/Bundle;)V
 PLcom/android/server/am/AssistDataRequester;->onHandleAssistScreenshot(Landroid/graphics/Bitmap;)V
 PLcom/android/server/am/AssistDataRequester;->processPendingAssistData()V
 PLcom/android/server/am/AssistDataRequester;->requestAssistData(Ljava/util/List;ZZZZILjava/lang/String;)V
-PLcom/android/server/am/AssistDataRequester;->tryDispatchRequestComplete()V
-PLcom/android/server/am/BackupRecord;-><init>(Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;Landroid/content/pm/ApplicationInfo;I)V
+PLcom/android/server/am/AssistDataRequester;->requestAutofillData(Ljava/util/List;ILjava/lang/String;)V
+PLcom/android/server/am/AssistDataRequester;->requestData(Ljava/util/List;ZZZZZILjava/lang/String;)V
 PLcom/android/server/am/BatteryExternalStatsWorker;->extractDeltaLocked(Landroid/net/wifi/WifiActivityEnergyInfo;)Landroid/net/wifi/WifiActivityEnergyInfo;
 PLcom/android/server/am/BatteryExternalStatsWorker;->getLastCollectionTimeStamp()J
-PLcom/android/server/am/BatteryExternalStatsWorker;->lambda$cC4f0pNQX9_D9f8AXLmKk2sArGY(Lcom/android/internal/os/BatteryStatsImpl;ZZ)V
-PLcom/android/server/am/BatteryExternalStatsWorker;->lambda$scheduleCpuSyncDueToWakelockChange$1(Lcom/android/server/am/BatteryExternalStatsWorker;)V
-PLcom/android/server/am/BatteryExternalStatsWorker;->lambda$scheduleCpuSyncDueToWakelockChange$2(Lcom/android/server/am/BatteryExternalStatsWorker;)V
-PLcom/android/server/am/BatteryExternalStatsWorker;->scheduleCpuSyncDueToRemovedUid(I)Ljava/util/concurrent/Future;
-PLcom/android/server/am/BatteryExternalStatsWorker;->scheduleCpuSyncDueToScreenStateChange(ZZ)Ljava/util/concurrent/Future;
-PLcom/android/server/am/BatteryExternalStatsWorker;->scheduleReadProcStateCpuTimes(ZZJ)Ljava/util/concurrent/Future;
-PLcom/android/server/am/BatteryExternalStatsWorker;->scheduleRunnable(Ljava/lang/Runnable;)V
-PLcom/android/server/am/BatteryExternalStatsWorker;->scheduleSync(Ljava/lang/String;I)Ljava/util/concurrent/Future;
 PLcom/android/server/am/BatteryExternalStatsWorker;->scheduleSyncDueToBatteryLevelChange(J)Ljava/util/concurrent/Future;
-PLcom/android/server/am/BatteryStatsService$1;->getUserIds()[I
 PLcom/android/server/am/BatteryStatsService$LocalService;->getMobileIfaces()[Ljava/lang/String;
-PLcom/android/server/am/BatteryStatsService$LocalService;->getWifiIfaces()[Ljava/lang/String;
 PLcom/android/server/am/BatteryStatsService$LocalService;->noteJobsDeferred(IIJ)V
-PLcom/android/server/am/BatteryStatsService;->addIsolatedUid(II)V
 PLcom/android/server/am/BatteryStatsService;->awaitUninterruptibly(Ljava/util/concurrent/Future;)V
 PLcom/android/server/am/BatteryStatsService;->computeChargeTimeRemaining()J
 PLcom/android/server/am/BatteryStatsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
@@ -7845,1166 +5647,799 @@
 PLcom/android/server/am/BatteryStatsService;->getCellularBatteryStats()Landroid/os/connectivity/CellularBatteryStats;
 PLcom/android/server/am/BatteryStatsService;->getGpsBatteryStats()Landroid/os/connectivity/GpsBatteryStats;
 PLcom/android/server/am/BatteryStatsService;->getHealthStatsForUidLocked(I)Landroid/os/health/HealthStatsParceler;
-PLcom/android/server/am/BatteryStatsService;->getPlatformLowPowerStats()Ljava/lang/String;
-PLcom/android/server/am/BatteryStatsService;->getService()Lcom/android/internal/app/IBatteryStats;
+PLcom/android/server/am/BatteryStatsService;->getServiceType()I
+PLcom/android/server/am/BatteryStatsService;->getStatistics()[B
 PLcom/android/server/am/BatteryStatsService;->getStatisticsStream()Landroid/os/ParcelFileDescriptor;
-PLcom/android/server/am/BatteryStatsService;->getSubsystemLowPowerStats()Ljava/lang/String;
 PLcom/android/server/am/BatteryStatsService;->getWifiBatteryStats()Landroid/os/connectivity/WifiBatteryStats;
-PLcom/android/server/am/BatteryStatsService;->isCharging()Z
-PLcom/android/server/am/BatteryStatsService;->isOnBattery()Z
-PLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$0(Lcom/android/server/am/BatteryStatsService;IIIIIIII)V
-PLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$1(Lcom/android/server/am/BatteryStatsService;IIIIIIII)V
-PLcom/android/server/am/BatteryStatsService;->noteAlarmFinish(Ljava/lang/String;Landroid/os/WorkSource;I)V
-PLcom/android/server/am/BatteryStatsService;->noteAlarmStart(Ljava/lang/String;Landroid/os/WorkSource;I)V
 PLcom/android/server/am/BatteryStatsService;->noteBleScanResults(Landroid/os/WorkSource;I)V
 PLcom/android/server/am/BatteryStatsService;->noteBleScanStarted(Landroid/os/WorkSource;Z)V
 PLcom/android/server/am/BatteryStatsService;->noteBleScanStopped(Landroid/os/WorkSource;Z)V
 PLcom/android/server/am/BatteryStatsService;->noteChangeWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;ILandroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
 PLcom/android/server/am/BatteryStatsService;->noteConnectivityChanged(ILjava/lang/String;)V
 PLcom/android/server/am/BatteryStatsService;->noteDeviceIdleMode(ILjava/lang/String;I)V
-PLcom/android/server/am/BatteryStatsService;->noteEvent(ILjava/lang/String;I)V
-PLcom/android/server/am/BatteryStatsService;->noteFlashlightOff(I)V
-PLcom/android/server/am/BatteryStatsService;->noteFlashlightOn(I)V
 PLcom/android/server/am/BatteryStatsService;->noteFullWifiLockAcquiredFromSource(Landroid/os/WorkSource;)V
 PLcom/android/server/am/BatteryStatsService;->noteFullWifiLockReleasedFromSource(Landroid/os/WorkSource;)V
 PLcom/android/server/am/BatteryStatsService;->noteGpsChanged(Landroid/os/WorkSource;Landroid/os/WorkSource;)V
 PLcom/android/server/am/BatteryStatsService;->noteGpsSignalQuality(I)V
-PLcom/android/server/am/BatteryStatsService;->noteInteractive(Z)V
+PLcom/android/server/am/BatteryStatsService;->noteJobFinish(Ljava/lang/String;II)V
+PLcom/android/server/am/BatteryStatsService;->noteJobStart(Ljava/lang/String;I)V
 PLcom/android/server/am/BatteryStatsService;->noteJobsDeferred(IIJ)V
 PLcom/android/server/am/BatteryStatsService;->noteLongPartialWakelockFinish(Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/am/BatteryStatsService;->noteLongPartialWakelockFinishFromSource(Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
 PLcom/android/server/am/BatteryStatsService;->noteLongPartialWakelockStart(Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/am/BatteryStatsService;->noteLongPartialWakelockStartFromSource(Ljava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;)V
+PLcom/android/server/am/BatteryStatsService;->noteMobileRadioPowerState(IJI)V
 PLcom/android/server/am/BatteryStatsService;->noteNetworkInterfaceType(Ljava/lang/String;I)V
-PLcom/android/server/am/BatteryStatsService;->noteNetworkStatsEnabled()V
 PLcom/android/server/am/BatteryStatsService;->notePackageInstalled(Ljava/lang/String;J)V
 PLcom/android/server/am/BatteryStatsService;->notePhoneDataConnectionState(IZ)V
 PLcom/android/server/am/BatteryStatsService;->notePhoneOff()V
-PLcom/android/server/am/BatteryStatsService;->notePhoneSignalStrength(Landroid/telephony/SignalStrength;)V
-PLcom/android/server/am/BatteryStatsService;->notePhoneState(I)V
-PLcom/android/server/am/BatteryStatsService;->noteResetBleScan()V
-PLcom/android/server/am/BatteryStatsService;->noteScreenBrightness(I)V
-PLcom/android/server/am/BatteryStatsService;->noteScreenState(I)V
+PLcom/android/server/am/BatteryStatsService;->notePhoneOn()V
+PLcom/android/server/am/BatteryStatsService;->noteProcessAnr(Ljava/lang/String;I)V
+PLcom/android/server/am/BatteryStatsService;->noteProcessCrash(Ljava/lang/String;I)V
 PLcom/android/server/am/BatteryStatsService;->noteStartAudio(I)V
-PLcom/android/server/am/BatteryStatsService;->noteStartSensor(II)V
+PLcom/android/server/am/BatteryStatsService;->noteStartCamera(I)V
 PLcom/android/server/am/BatteryStatsService;->noteStartVideo(I)V
 PLcom/android/server/am/BatteryStatsService;->noteStopAudio(I)V
+PLcom/android/server/am/BatteryStatsService;->noteStopCamera(I)V
+PLcom/android/server/am/BatteryStatsService;->noteStopSensor(II)V
 PLcom/android/server/am/BatteryStatsService;->noteStopVideo(I)V
 PLcom/android/server/am/BatteryStatsService;->noteSyncFinish(Ljava/lang/String;I)V
 PLcom/android/server/am/BatteryStatsService;->noteSyncStart(Ljava/lang/String;I)V
+PLcom/android/server/am/BatteryStatsService;->noteUserActivity(II)V
 PLcom/android/server/am/BatteryStatsService;->noteVibratorOff(I)V
 PLcom/android/server/am/BatteryStatsService;->noteVibratorOn(IJ)V
 PLcom/android/server/am/BatteryStatsService;->noteWakeUp(Ljava/lang/String;I)V
-PLcom/android/server/am/BatteryStatsService;->noteWakupAlarm(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;)V
-PLcom/android/server/am/BatteryStatsService;->noteWifiOff()V
-PLcom/android/server/am/BatteryStatsService;->noteWifiOn()V
+PLcom/android/server/am/BatteryStatsService;->noteWifiMulticastDisabled(I)V
+PLcom/android/server/am/BatteryStatsService;->noteWifiMulticastEnabled(I)V
 PLcom/android/server/am/BatteryStatsService;->noteWifiRadioPowerState(IJI)V
 PLcom/android/server/am/BatteryStatsService;->noteWifiRssiChanged(I)V
 PLcom/android/server/am/BatteryStatsService;->noteWifiRunning(Landroid/os/WorkSource;)V
 PLcom/android/server/am/BatteryStatsService;->noteWifiScanStartedFromSource(Landroid/os/WorkSource;)V
 PLcom/android/server/am/BatteryStatsService;->noteWifiScanStoppedFromSource(Landroid/os/WorkSource;)V
-PLcom/android/server/am/BatteryStatsService;->noteWifiState(ILjava/lang/String;)V
+PLcom/android/server/am/BatteryStatsService;->noteWifiStopped(Landroid/os/WorkSource;)V
 PLcom/android/server/am/BatteryStatsService;->noteWifiSupplicantStateChanged(IZ)V
-PLcom/android/server/am/BatteryStatsService;->removeIsolatedUid(II)V
-PLcom/android/server/am/BatteryStatsService;->setBatteryState(IIIIIIII)V
-PLcom/android/server/am/BatteryStatsService;->shouldCollectExternalStats()Z
+PLcom/android/server/am/BatteryStatsService;->onCleanupUser(I)V
+PLcom/android/server/am/BatteryStatsService;->onLowPowerModeChanged(Landroid/os/PowerSaveState;)V
 PLcom/android/server/am/BatteryStatsService;->syncStats(Ljava/lang/String;I)V
-PLcom/android/server/am/BatteryStatsService;->systemServicesReady()V
 PLcom/android/server/am/BatteryStatsService;->takeUidSnapshot(I)Landroid/os/health/HealthStatsParceler;
-PLcom/android/server/am/BroadcastFilter;-><init>(Landroid/content/IntentFilter;Lcom/android/server/am/ReceiverList;Ljava/lang/String;Ljava/lang/String;IIZZ)V
+PLcom/android/server/am/BroadcastDispatcher$2;->run()V
+PLcom/android/server/am/BroadcastDispatcher$Deferrals;->add(Lcom/android/server/am/BroadcastRecord;)V
+PLcom/android/server/am/BroadcastDispatcher$Deferrals;->size()I
+PLcom/android/server/am/BroadcastDispatcher;->addDeferredBroadcast(ILcom/android/server/am/BroadcastRecord;)V
+PLcom/android/server/am/BroadcastDispatcher;->isEmpty()Z
+PLcom/android/server/am/BroadcastDispatcher;->startDeferring(I)V
+PLcom/android/server/am/BroadcastFilter;->toString()Ljava/lang/String;
+PLcom/android/server/am/BroadcastQueue$AppNotResponding;->run()V
 PLcom/android/server/am/BroadcastQueue;->backgroundServicesFinishedLocked(I)V
-PLcom/android/server/am/BroadcastQueue;->cleanupDisabledPackageReceiversLocked(Ljava/lang/String;Ljava/util/Set;IZ)Z
-PLcom/android/server/am/BroadcastQueue;->isPendingBroadcastProcessLocked(I)Z
-PLcom/android/server/am/BroadcastQueue;->isSignaturePerm([Ljava/lang/String;)Z
-PLcom/android/server/am/BroadcastQueue;->replaceBroadcastLocked(Ljava/util/ArrayList;Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;)Lcom/android/server/am/BroadcastRecord;
-PLcom/android/server/am/BroadcastQueue;->replaceOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)Lcom/android/server/am/BroadcastRecord;
-PLcom/android/server/am/BroadcastQueue;->replaceParallelBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)Lcom/android/server/am/BroadcastRecord;
+PLcom/android/server/am/BroadcastQueue;->broadcastTimeoutLocked(Z)V
+PLcom/android/server/am/BroadcastQueue;->logBroadcastReceiverDiscardLocked(Lcom/android/server/am/BroadcastRecord;)V
+PLcom/android/server/am/BroadcastQueue;->nextSplitTokenLocked()I
 PLcom/android/server/am/BroadcastQueue;->scheduleTempWhitelistLocked(IJLcom/android/server/am/BroadcastRecord;)V
-PLcom/android/server/am/BroadcastQueue;->sendPendingBroadcastsLocked(Lcom/android/server/am/ProcessRecord;)Z
-PLcom/android/server/am/BroadcastQueue;->skipCurrentReceiverLocked(Lcom/android/server/am/ProcessRecord;)V
 PLcom/android/server/am/BroadcastRecord;->cleanupDisabledPackageReceiversLocked(Ljava/lang/String;Ljava/util/Set;IZ)Z
-PLcom/android/server/am/BroadcastRecord;->toString()Ljava/lang/String;
-PLcom/android/server/am/BroadcastStats$1;-><init>()V
-PLcom/android/server/am/BroadcastStats$ActionEntry;-><init>(Ljava/lang/String;)V
-PLcom/android/server/am/BroadcastStats$PackageEntry;-><init>()V
-PLcom/android/server/am/BroadcastStats$ViolationEntry;-><init>()V
-PLcom/android/server/am/BroadcastStats;-><init>()V
-PLcom/android/server/am/BroadcastStats;->addBackgroundCheckViolation(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/ClientLifecycleManager;->scheduleTransaction(Landroid/app/IApplicationThread;Landroid/app/servertransaction/ClientTransactionItem;)V
-PLcom/android/server/am/ClientLifecycleManager;->scheduleTransaction(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/servertransaction/ActivityLifecycleItem;)V
-PLcom/android/server/am/ClientLifecycleManager;->scheduleTransaction(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/servertransaction/ClientTransactionItem;)V
-PLcom/android/server/am/ClientLifecycleManager;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V
-PLcom/android/server/am/ClientLifecycleManager;->transactionWithCallback(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/servertransaction/ClientTransactionItem;)Landroid/app/servertransaction/ClientTransaction;
-PLcom/android/server/am/ClientLifecycleManager;->transactionWithState(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/servertransaction/ActivityLifecycleItem;)Landroid/app/servertransaction/ClientTransaction;
-PLcom/android/server/am/CompatModePackages;->handlePackageAddedLocked(Ljava/lang/String;Z)V
-PLcom/android/server/am/ContentProviderRecord$ExternalProcessHandle;-><init>(Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;)V
-PLcom/android/server/am/ContentProviderRecord$ExternalProcessHandle;->access$000(Lcom/android/server/am/ContentProviderRecord$ExternalProcessHandle;)I
-PLcom/android/server/am/ContentProviderRecord$ExternalProcessHandle;->access$008(Lcom/android/server/am/ContentProviderRecord$ExternalProcessHandle;)I
-PLcom/android/server/am/ContentProviderRecord$ExternalProcessHandle;->access$010(Lcom/android/server/am/ContentProviderRecord$ExternalProcessHandle;)I
-PLcom/android/server/am/ContentProviderRecord$ExternalProcessHandle;->unlinkFromOwnDeathLocked()V
-PLcom/android/server/am/ContentProviderRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ProviderInfo;Landroid/content/pm/ApplicationInfo;Landroid/content/ComponentName;Z)V
-PLcom/android/server/am/ContentProviderRecord;->addExternalProcessHandleLocked(Landroid/os/IBinder;)V
-PLcom/android/server/am/ContentProviderRecord;->removeExternalProcessHandleInternalLocked(Landroid/os/IBinder;)V
+PLcom/android/server/am/BroadcastRecord;->splitRecipientsLocked(II)Lcom/android/server/am/BroadcastRecord;
+PLcom/android/server/am/BroadcastStats;->dumpCheckinStats(Ljava/io/PrintWriter;Ljava/lang/String;)V
+PLcom/android/server/am/ContentProviderConnection;->trackProcState(IIJ)V
+PLcom/android/server/am/ContentProviderRecord;->addExternalProcessHandleLocked(Landroid/os/IBinder;ILjava/lang/String;)V
+PLcom/android/server/am/ContentProviderRecord;->getComponentName()Landroid/content/ComponentName;
 PLcom/android/server/am/ContentProviderRecord;->removeExternalProcessHandleLocked(Landroid/os/IBinder;)Z
-PLcom/android/server/am/CoreSettingsObserver;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/CoreSettingsObserver;->beginObserveCoreSettings()V
-PLcom/android/server/am/CoreSettingsObserver;->getCoreSettingsLocked()Landroid/os/Bundle;
-PLcom/android/server/am/CoreSettingsObserver;->populateSettings(Landroid/os/Bundle;Ljava/util/Map;)V
-PLcom/android/server/am/CoreSettingsObserver;->sendCoreSettings()V
-PLcom/android/server/am/DumpHeapProvider;-><init>()V
-PLcom/android/server/am/DumpHeapProvider;->onCreate()Z
-PLcom/android/server/am/EventLogTags;->writeAmFocusedStack(IIILjava/lang/String;)V
-PLcom/android/server/am/EventLogTags;->writeAmMemFactor(II)V
+PLcom/android/server/am/CoreSettingsObserver;->onChange(Z)V
+PLcom/android/server/am/EventLogTags;->writeAmFocusedStack(IIIILjava/lang/String;)V
 PLcom/android/server/am/EventLogTags;->writeAmMeminfo(JJJJJ)V
-PLcom/android/server/am/EventLogTags;->writeAmPauseActivity(IILjava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/EventLogTags;->writeAmPreBoot(ILjava/lang/String;)V
-PLcom/android/server/am/EventLogTags;->writeAmSetResumedActivity(ILjava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/EventLogTags;->writeAmStopActivity(IILjava/lang/String;)V
-PLcom/android/server/am/EventLogTags;->writeAmStopIdleService(ILjava/lang/String;)V
-PLcom/android/server/am/EventLogTags;->writeAmUidActive(I)V
-PLcom/android/server/am/EventLogTags;->writeAmUidIdle(I)V
-PLcom/android/server/am/EventLogTags;->writeAmUserStateChanged(II)V
-PLcom/android/server/am/GlobalSettingsToPropertiesMapper$1;-><init>(Lcom/android/server/am/GlobalSettingsToPropertiesMapper;Landroid/os/Handler;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/GlobalSettingsToPropertiesMapper$1;->onChange(Z)V
-PLcom/android/server/am/GlobalSettingsToPropertiesMapper;-><init>(Landroid/content/ContentResolver;[[Ljava/lang/String;)V
-PLcom/android/server/am/GlobalSettingsToPropertiesMapper;->getGlobalSetting(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/am/GlobalSettingsToPropertiesMapper;->setProperty(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/GlobalSettingsToPropertiesMapper;->start(Landroid/content/ContentResolver;)V
-PLcom/android/server/am/GlobalSettingsToPropertiesMapper;->systemPropertiesGet(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/am/GlobalSettingsToPropertiesMapper;->systemPropertiesSet(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/GlobalSettingsToPropertiesMapper;->updatePropertiesFromGlobalSettings()V
-PLcom/android/server/am/GlobalSettingsToPropertiesMapper;->updatePropertyFromSetting(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/am/HealthStatsBatteryStatsWriter;-><init>()V
-PLcom/android/server/am/HealthStatsBatteryStatsWriter;->addTimer(Landroid/os/health/HealthStatsWriter;ILandroid/os/BatteryStats$Timer;)V
-PLcom/android/server/am/HealthStatsBatteryStatsWriter;->addTimers(Landroid/os/health/HealthStatsWriter;ILjava/lang/String;Landroid/os/BatteryStats$Timer;)V
+PLcom/android/server/am/EventLogTags;->writeAmPss(IILjava/lang/String;JJJJIIJ)V
 PLcom/android/server/am/HealthStatsBatteryStatsWriter;->writePid(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats$Uid$Pid;)V
 PLcom/android/server/am/HealthStatsBatteryStatsWriter;->writePkg(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats$Uid$Pkg;)V
 PLcom/android/server/am/HealthStatsBatteryStatsWriter;->writeProc(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats$Uid$Proc;)V
 PLcom/android/server/am/HealthStatsBatteryStatsWriter;->writeServ(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats$Uid$Pkg$Serv;)V
 PLcom/android/server/am/HealthStatsBatteryStatsWriter;->writeUid(Landroid/os/health/HealthStatsWriter;Landroid/os/BatteryStats;Landroid/os/BatteryStats$Uid;)V
-PLcom/android/server/am/KeyguardController;->canShowActivityWhileKeyguardShowing(Lcom/android/server/am/ActivityRecord;Z)Z
-PLcom/android/server/am/KeyguardController;->convertTransitFlags(I)I
-PLcom/android/server/am/KeyguardController;->dismissDockedStackIfNeeded()V
-PLcom/android/server/am/KeyguardController;->handleOccludedChanged()V
-PLcom/android/server/am/KeyguardController;->isKeyguardGoingAway()Z
-PLcom/android/server/am/KeyguardController;->isKeyguardShowing(I)Z
-PLcom/android/server/am/KeyguardController;->keyguardGoingAway(I)V
-PLcom/android/server/am/KeyguardController;->setKeyguardGoingAway(Z)V
-PLcom/android/server/am/KeyguardController;->setKeyguardShown(ZZI)V
-PLcom/android/server/am/KeyguardController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/am/KeyguardController;->updateKeyguardSleepToken()V
-PLcom/android/server/am/LaunchParamsController$LaunchParams;->isEmpty()Z
-PLcom/android/server/am/LaunchParamsController$LaunchParams;->reset()V
-PLcom/android/server/am/LaunchParamsController$LaunchParams;->set(Lcom/android/server/am/LaunchParamsController$LaunchParams;)V
-PLcom/android/server/am/LaunchParamsController;->calculate(Lcom/android/server/am/TaskRecord;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/am/LaunchParamsController$LaunchParams;)V
-PLcom/android/server/am/LaunchParamsController;->layoutTask(Lcom/android/server/am/TaskRecord;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;)Z
-PLcom/android/server/am/LaunchTimeTracker$Entry;-><init>()V
-PLcom/android/server/am/LaunchTimeTracker$Entry;->access$000(Lcom/android/server/am/LaunchTimeTracker$Entry;)V
-PLcom/android/server/am/LaunchTimeTracker$Entry;->setLaunchTime(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/LaunchTimeTracker$Entry;->startLaunchTraces(Ljava/lang/String;)V
-PLcom/android/server/am/LaunchTimeTracker$Entry;->stopFullyDrawnTraceIfNeeded()V
-PLcom/android/server/am/LaunchTimeTracker;->getEntry(I)Lcom/android/server/am/LaunchTimeTracker$Entry;
-PLcom/android/server/am/LaunchTimeTracker;->setLaunchTime(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/LaunchTimeTracker;->stopFullyDrawnTraceIfNeeded(I)V
-PLcom/android/server/am/LockTaskController;->activityBlockedFromFinish(Lcom/android/server/am/ActivityRecord;)Z
-PLcom/android/server/am/LockTaskController;->canMoveTaskToBack(Lcom/android/server/am/TaskRecord;)Z
-PLcom/android/server/am/LockTaskController;->clearLockedTask(Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/LockTaskController;->getLockTaskFeaturesForUser(I)I
-PLcom/android/server/am/LockTaskController;->getLockTaskModeState()I
-PLcom/android/server/am/LockTaskController;->getRootTask()Lcom/android/server/am/TaskRecord;
-PLcom/android/server/am/LockTaskController;->isKeyguardAllowed(I)Z
-PLcom/android/server/am/LockTaskController;->isLockTaskModeViolation(Lcom/android/server/am/TaskRecord;)Z
-PLcom/android/server/am/LockTaskController;->isLockTaskModeViolation(Lcom/android/server/am/TaskRecord;Z)Z
-PLcom/android/server/am/LockTaskController;->isLockTaskModeViolationInternal(Lcom/android/server/am/TaskRecord;Z)Z
-PLcom/android/server/am/LockTaskController;->isPackageWhitelisted(ILjava/lang/String;)Z
-PLcom/android/server/am/LockTaskController;->isRootTask(Lcom/android/server/am/TaskRecord;)Z
-PLcom/android/server/am/LockTaskController;->isTaskLocked(Lcom/android/server/am/TaskRecord;)Z
-PLcom/android/server/am/LockTaskController;->isTaskWhitelisted(Lcom/android/server/am/TaskRecord;)Z
-PLcom/android/server/am/LockTaskController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/am/LockTaskController;->updateLockTaskFeatures(II)V
-PLcom/android/server/am/LockTaskController;->updateLockTaskPackages(I[Ljava/lang/String;)V
-PLcom/android/server/am/MemoryStatUtil$MemoryStat;-><init>()V
-PLcom/android/server/am/MemoryStatUtil;->hasMemcg()Z
 PLcom/android/server/am/MemoryStatUtil;->parseMemoryStatFromProcfs(Ljava/lang/String;)Lcom/android/server/am/MemoryStatUtil$MemoryStat;
+PLcom/android/server/am/MemoryStatUtil;->parseVmHWMFromProcfs(Ljava/lang/String;)J
 PLcom/android/server/am/MemoryStatUtil;->readFileContents(Ljava/lang/String;)Ljava/lang/String;
 PLcom/android/server/am/MemoryStatUtil;->readMemoryStatFromFilesystem(II)Lcom/android/server/am/MemoryStatUtil$MemoryStat;
-PLcom/android/server/am/MemoryStatUtil;->readMemoryStatFromProcfs(I)Lcom/android/server/am/MemoryStatUtil$MemoryStat;
-PLcom/android/server/am/NativeCrashListener;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-PLcom/android/server/am/NativeCrashListener;->run()V
-PLcom/android/server/am/PendingIntentRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/PendingIntentRecord$Key;I)V
-PLcom/android/server/am/PendingIntentRecord;->completeFinalize()V
-PLcom/android/server/am/PendingIntentRecord;->detachCancelListenersLocked()Landroid/os/RemoteCallbackList;
-PLcom/android/server/am/PendingIntentRecord;->finalize()V
-PLcom/android/server/am/PendingIntentRecord;->registerCancelListenerLocked(Lcom/android/internal/os/IResultReceiver;)V
-PLcom/android/server/am/PendingIntentRecord;->sendWithResult(ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)I
-PLcom/android/server/am/PendingIntentRecord;->unregisterCancelListenerLocked(Lcom/android/internal/os/IResultReceiver;)V
-PLcom/android/server/am/PendingRemoteAnimationRegistry$Entry;-><init>(Lcom/android/server/am/PendingRemoteAnimationRegistry;Ljava/lang/String;Landroid/view/RemoteAnimationAdapter;)V
-PLcom/android/server/am/PendingRemoteAnimationRegistry$Entry;->lambda$new$0(Lcom/android/server/am/PendingRemoteAnimationRegistry$Entry;Ljava/lang/String;)V
-PLcom/android/server/am/PendingRemoteAnimationRegistry;->access$000(Lcom/android/server/am/PendingRemoteAnimationRegistry;)Landroid/os/Handler;
-PLcom/android/server/am/PendingRemoteAnimationRegistry;->access$100(Lcom/android/server/am/PendingRemoteAnimationRegistry;)Lcom/android/server/am/ActivityManagerService;
-PLcom/android/server/am/PendingRemoteAnimationRegistry;->access$200(Lcom/android/server/am/PendingRemoteAnimationRegistry;)Landroid/util/ArrayMap;
-PLcom/android/server/am/PendingRemoteAnimationRegistry;->addPendingAnimation(Ljava/lang/String;Landroid/view/RemoteAnimationAdapter;)V
-PLcom/android/server/am/PendingRemoteAnimationRegistry;->overrideOptionsIfNeeded(Ljava/lang/String;Landroid/app/ActivityOptions;)Landroid/app/ActivityOptions;
-PLcom/android/server/am/PreBootBroadcaster$1;-><init>(Lcom/android/server/am/PreBootBroadcaster;Landroid/os/Looper;Landroid/os/Handler$Callback;Z)V
+PLcom/android/server/am/NativeCrashListener$NativeCrashReporter;->run()V
+PLcom/android/server/am/NativeCrashListener;->consumeNativeCrashData(Ljava/io/FileDescriptor;)V
+PLcom/android/server/am/OomAdjProfiler;->onWakefulnessChanged(I)V
+PLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->initialize(Lcom/android/server/am/ProcessRecord;IZIIIII)V
+PLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onOtherActivity()V
+PLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onPausedActivity()V
+PLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onStoppingActivity(Z)V
+PLcom/android/server/am/OomAdjuster$ComputeOomAdjWindowCallback;->onVisibleActivity()V
+PLcom/android/server/am/OomAdjuster;->idleUidsLocked()V
+PLcom/android/server/am/OomAdjuster;->setAppIdTempWhitelistStateLocked(IZ)V
+PLcom/android/server/am/PendingIntentController;->cancelIntentSender(Landroid/content/IIntentSender;)V
+PLcom/android/server/am/PendingIntentController;->cancelIntentSender(Lcom/android/server/am/PendingIntentRecord;Z)V
+PLcom/android/server/am/PendingIntentController;->handlePendingIntentCancelled(Landroid/os/RemoteCallbackList;)V
+PLcom/android/server/am/PendingIntentController;->makeIntentSenderCanceled(Lcom/android/server/am/PendingIntentRecord;)V
+PLcom/android/server/am/PendingIntentRecord$Key;->typeName()Ljava/lang/String;
+PLcom/android/server/am/PendingIntentRecord;->setWhitelistDurationLocked(Landroid/os/IBinder;J)V
+PLcom/android/server/am/PendingIntentRecord;->toString()Ljava/lang/String;
+PLcom/android/server/am/PersistentConnection$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/am/PersistentConnection;-><init>(Ljava/lang/String;Landroid/content/Context;Landroid/os/Handler;ILandroid/content/ComponentName;JDJJ)V
+PLcom/android/server/am/PersistentConnection;->bind()V
+PLcom/android/server/am/PersistentConnection;->bindInnerLocked(Z)V
+PLcom/android/server/am/PersistentConnection;->injectPostAtTime(Ljava/lang/Runnable;J)V
+PLcom/android/server/am/PersistentConnection;->injectRemoveCallbacks(Ljava/lang/Runnable;)V
+PLcom/android/server/am/PersistentConnection;->injectUptimeMillis()J
+PLcom/android/server/am/PersistentConnection;->resetBackoffLocked()V
+PLcom/android/server/am/PersistentConnection;->stableConnectionCheck()V
+PLcom/android/server/am/PersistentConnection;->unbind()V
+PLcom/android/server/am/PersistentConnection;->unbindLocked()V
+PLcom/android/server/am/PersistentConnection;->unscheduleRebindLocked()V
 PLcom/android/server/am/PreBootBroadcaster$1;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/am/PreBootBroadcaster;-><init>(Lcom/android/server/am/ActivityManagerService;ILcom/android/internal/util/ProgressReporter;Z)V
-PLcom/android/server/am/PreBootBroadcaster;->access$000(Lcom/android/server/am/PreBootBroadcaster;)Lcom/android/server/am/ActivityManagerService;
-PLcom/android/server/am/PreBootBroadcaster;->access$100(Lcom/android/server/am/PreBootBroadcaster;)I
 PLcom/android/server/am/PreBootBroadcaster;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
 PLcom/android/server/am/PreBootBroadcaster;->sendNext()V
-PLcom/android/server/am/ProcessList$ProcStateMemTracker;-><init>()V
+PLcom/android/server/am/ProcessList$IsolatedUidRange;->allocateIsolatedUidLocked(I)I
 PLcom/android/server/am/ProcessList;->abortNextPssTime(Lcom/android/server/am/ProcessList$ProcStateMemTracker;)V
-PLcom/android/server/am/ProcessList;->applyDisplaySize(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/am/ProcessList;->buildOomTag(Ljava/lang/String;Ljava/lang/String;II)Ljava/lang/String;
+PLcom/android/server/am/ProcessList;->clearAllDnsCacheLocked()V
 PLcom/android/server/am/ProcessList;->commitNextPssTime(Lcom/android/server/am/ProcessList$ProcStateMemTracker;)V
+PLcom/android/server/am/ProcessList;->doStopUidForIdleUidsLocked()V
+PLcom/android/server/am/ProcessList;->fillInProcMemInfoLocked(Lcom/android/server/am/ProcessRecord;Landroid/app/ActivityManager$RunningAppProcessInfo;I)V
+PLcom/android/server/am/ProcessList;->findAppProcessLocked(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
 PLcom/android/server/am/ProcessList;->getCachedRestoreThresholdKb()J
-PLcom/android/server/am/ProcessList;->makeOomAdjString(I)Ljava/lang/String;
-PLcom/android/server/am/ProcessList;->makeProcStateString(I)Ljava/lang/String;
-PLcom/android/server/am/ProcessList;->minTimeFromStateChange(Z)J
-PLcom/android/server/am/ProcessList;->openLmkdSocket()Z
-PLcom/android/server/am/ProcessList;->remove(I)V
-PLcom/android/server/am/ProcessRecord;->clearRecentTasks()V
-PLcom/android/server/am/ProcessRecord;->makeActive(Landroid/app/IApplicationThread;Lcom/android/server/am/ProcessStatsService;)V
+PLcom/android/server/am/ProcessList;->getRunningAppProcessesLocked(ZIZII)Ljava/util/List;
+PLcom/android/server/am/ProcessList;->killProcessGroup(II)V
+PLcom/android/server/am/ProcessList;->removeProcessLocked(Lcom/android/server/am/ProcessRecord;ZZLjava/lang/String;)Z
+PLcom/android/server/am/ProcessList;->updateLruProcessInternalLocked(Lcom/android/server/am/ProcessRecord;JIILjava/lang/String;Ljava/lang/Object;Lcom/android/server/am/ProcessRecord;)I
+PLcom/android/server/am/ProcessRecord;->addAllowBackgroundActivityStartsToken(Landroid/os/Binder;)V
+PLcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;J)V
+PLcom/android/server/am/ProcessRecord;->appNotResponding(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Lcom/android/server/wm/WindowProcessController;ZLjava/lang/String;)V
+PLcom/android/server/am/ProcessRecord;->getPackageListWithVersionCode()Ljava/util/List;
+PLcom/android/server/am/ProcessRecord;->getProcessClassEnum()I
+PLcom/android/server/am/ProcessRecord;->hasActivities()Z
+PLcom/android/server/am/ProcessRecord;->hasLocationForegroundServices()Z
+PLcom/android/server/am/ProcessRecord;->isInterestingForBackgroundTraces()Z
+PLcom/android/server/am/ProcessRecord;->isInterestingToUserLocked()Z
+PLcom/android/server/am/ProcessRecord;->isUsingWrapper()Z
+PLcom/android/server/am/ProcessRecord;->kill(Ljava/lang/String;Z)V
+PLcom/android/server/am/ProcessRecord;->scheduleCrash(Ljava/lang/String;)V
+PLcom/android/server/am/ProcessRecord;->setNotResponding(Z)V
+PLcom/android/server/am/ProcessRecord;->setPendingUiCleanAndForceProcessStateUpTo(I)V
 PLcom/android/server/am/ProcessRecord;->setPid(I)V
-PLcom/android/server/am/ProcessRecord;->setStartParams(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
-PLcom/android/server/am/ProcessRecord;->toShortString()Ljava/lang/String;
-PLcom/android/server/am/ProcessRecord;->toShortString(Ljava/lang/StringBuilder;)V
-PLcom/android/server/am/ProcessRecord;->toString()Ljava/lang/String;
-PLcom/android/server/am/ProcessStatsService$1;->run()V
-PLcom/android/server/am/ProcessStatsService$2;-><init>(Lcom/android/server/am/ProcessStatsService;J)V
+PLcom/android/server/am/ProcessRecord;->startAppProblemLocked()V
+PLcom/android/server/am/ProcessRecord;->updateHasAboveClientLocked()V
 PLcom/android/server/am/ProcessStatsService$2;->run()V
-PLcom/android/server/am/ProcessStatsService$3;-><init>(Lcom/android/server/am/ProcessStatsService;Ljava/lang/String;[Landroid/os/ParcelFileDescriptor;[B)V
-PLcom/android/server/am/ProcessStatsService$3;->run()V
+PLcom/android/server/am/ProcessStatsService$4;->run()V
 PLcom/android/server/am/ProcessStatsService;->addSysMemUsageLocked(JJJJJ)V
 PLcom/android/server/am/ProcessStatsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/am/ProcessStatsService;->dumpAggregatedStats(Ljava/io/PrintWriter;JJLjava/lang/String;ZZZZZI)V
 PLcom/android/server/am/ProcessStatsService;->dumpInner(Ljava/io/PrintWriter;[Ljava/lang/String;)V
 PLcom/android/server/am/ProcessStatsService;->getCommittedFiles(IZZ)Ljava/util/ArrayList;
-PLcom/android/server/am/ProcessStatsService;->getProcessStateLocked(Ljava/lang/String;IJLjava/lang/String;)Lcom/android/internal/app/procstats/ProcessState;
 PLcom/android/server/am/ProcessStatsService;->getStatsOverTime(J)Landroid/os/ParcelFileDescriptor;
 PLcom/android/server/am/ProcessStatsService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
 PLcom/android/server/am/ProcessStatsService;->performWriteState(J)V
 PLcom/android/server/am/ProcessStatsService;->readLocked(Lcom/android/internal/app/procstats/ProcessStats;Landroid/util/AtomicFile;)Z
 PLcom/android/server/am/ProcessStatsService;->trimHistoricStatesWriteLocked()V
-PLcom/android/server/am/ProcessStatsService;->writeStateAsyncLocked()V
-PLcom/android/server/am/ProcessStatsService;->writeStateLocked(Z)V
 PLcom/android/server/am/ProcessStatsService;->writeStateLocked(ZZ)V
-PLcom/android/server/am/ProviderMap;->collectPackageProvidersLocked(Ljava/lang/String;Ljava/util/Set;ZZILjava/util/ArrayList;)Z
+PLcom/android/server/am/ProviderMap;->dumpProviderProto(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/lang/String;[Ljava/lang/String;)Z
+PLcom/android/server/am/ProviderMap;->dumpToTransferPipe(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Lcom/android/server/am/ContentProviderRecord;[Ljava/lang/String;)V
 PLcom/android/server/am/ProviderMap;->getProviderByClass(Landroid/content/ComponentName;I)Lcom/android/server/am/ContentProviderRecord;
+PLcom/android/server/am/ProviderMap;->getProvidersForName(Ljava/lang/String;)Ljava/util/ArrayList;
 PLcom/android/server/am/ProviderMap;->putProviderByClass(Landroid/content/ComponentName;Lcom/android/server/am/ContentProviderRecord;)V
 PLcom/android/server/am/ProviderMap;->putProviderByName(Ljava/lang/String;Lcom/android/server/am/ContentProviderRecord;)V
 PLcom/android/server/am/ProviderMap;->removeProviderByClass(Landroid/content/ComponentName;I)V
 PLcom/android/server/am/ProviderMap;->removeProviderByName(Ljava/lang/String;I)V
-PLcom/android/server/am/ReceiverList;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;IIILandroid/content/IIntentReceiver;)V
-PLcom/android/server/am/ReceiverList;->containsFilter(Landroid/content/IntentFilter;)Z
 PLcom/android/server/am/ReceiverList;->equals(Ljava/lang/Object;)Z
-PLcom/android/server/am/ReceiverList;->hashCode()I
 PLcom/android/server/am/ReceiverList;->toString()Ljava/lang/String;
-PLcom/android/server/am/RecentTasks;->add(Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/RecentTasks;->cleanupDisabledPackageTasksLocked(Ljava/lang/String;Ljava/util/Set;I)V
-PLcom/android/server/am/RecentTasks;->cleanupLocked(I)V
-PLcom/android/server/am/RecentTasks;->containsTaskId(II)Z
-PLcom/android/server/am/RecentTasks;->createRecentTaskInfo(Lcom/android/server/am/TaskRecord;)Landroid/app/ActivityManager$RecentTaskInfo;
-PLcom/android/server/am/RecentTasks;->findRemoveIndexForAddTask(Lcom/android/server/am/TaskRecord;)I
-PLcom/android/server/am/RecentTasks;->getAppTasksList(ILjava/lang/String;)Ljava/util/ArrayList;
-PLcom/android/server/am/RecentTasks;->getPersistableTaskIds(Landroid/util/ArraySet;)V
-PLcom/android/server/am/RecentTasks;->getRecentTasks(IIZZII)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/am/RecentTasks;->getTask(I)Lcom/android/server/am/TaskRecord;
-PLcom/android/server/am/RecentTasks;->getTaskDescriptionIcon(Ljava/lang/String;)Landroid/graphics/Bitmap;
-PLcom/android/server/am/RecentTasks;->getTaskIdsForUser(I)Landroid/util/SparseBooleanArray;
-PLcom/android/server/am/RecentTasks;->hasCompatibleActivityTypeAndWindowingMode(Lcom/android/server/am/TaskRecord;Lcom/android/server/am/TaskRecord;)Z
-PLcom/android/server/am/RecentTasks;->isActiveRecentTask(Lcom/android/server/am/TaskRecord;Landroid/util/SparseBooleanArray;)Z
-PLcom/android/server/am/RecentTasks;->isInVisibleRange(Lcom/android/server/am/TaskRecord;I)Z
-PLcom/android/server/am/RecentTasks;->isRecentsComponent(Landroid/content/ComponentName;I)Z
-PLcom/android/server/am/RecentTasks;->isTrimmable(Lcom/android/server/am/TaskRecord;)Z
-PLcom/android/server/am/RecentTasks;->isVisibleRecentTask(Lcom/android/server/am/TaskRecord;)Z
-PLcom/android/server/am/RecentTasks;->loadPersistedTaskIdsForUserLocked(I)V
-PLcom/android/server/am/RecentTasks;->loadRecentsComponent(Landroid/content/res/Resources;)V
-PLcom/android/server/am/RecentTasks;->loadUserRecentsLocked(I)V
-PLcom/android/server/am/RecentTasks;->notifyTaskAdded(Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/RecentTasks;->notifyTaskPersisterLocked(Lcom/android/server/am/TaskRecord;Z)V
-PLcom/android/server/am/RecentTasks;->notifyTaskRemoved(Lcom/android/server/am/TaskRecord;Z)V
-PLcom/android/server/am/RecentTasks;->onSystemReadyLocked()V
-PLcom/android/server/am/RecentTasks;->processNextAffiliateChainLocked(I)I
-PLcom/android/server/am/RecentTasks;->remove(Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/RecentTasks;->removeForAddTask(Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/RecentTasks;->saveImage(Landroid/graphics/Bitmap;Ljava/lang/String;)V
-PLcom/android/server/am/RecentTasks;->shouldPersistTaskLocked(Lcom/android/server/am/TaskRecord;)Z
-PLcom/android/server/am/RecentTasks;->syncPersistentTaskIdsLocked()V
-PLcom/android/server/am/RecentTasks;->trimInactiveRecentTasks()V
-PLcom/android/server/am/RecentTasks;->usersWithRecentsLoadedLocked()[I
-PLcom/android/server/am/RunningTasks;->createRunningTaskInfo(Lcom/android/server/am/TaskRecord;)Landroid/app/ActivityManager$RunningTaskInfo;
-PLcom/android/server/am/SafeActivityOptions;-><init>(Landroid/app/ActivityOptions;)V
-PLcom/android/server/am/SafeActivityOptions;->abort()V
-PLcom/android/server/am/SafeActivityOptions;->abort(Lcom/android/server/am/SafeActivityOptions;)V
-PLcom/android/server/am/SafeActivityOptions;->checkPermissions(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ActivityStackSupervisor;Landroid/app/ActivityOptions;II)V
-PLcom/android/server/am/SafeActivityOptions;->getOptions(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ActivityStackSupervisor;)Landroid/app/ActivityOptions;
-PLcom/android/server/am/SafeActivityOptions;->getOptions(Lcom/android/server/am/ActivityStackSupervisor;)Landroid/app/ActivityOptions;
-PLcom/android/server/am/SafeActivityOptions;->mergeActivityOptions(Landroid/app/ActivityOptions;Landroid/app/ActivityOptions;)Landroid/app/ActivityOptions;
-PLcom/android/server/am/SafeActivityOptions;->popAppVerificationBundle()Landroid/os/Bundle;
-PLcom/android/server/am/SafeActivityOptions;->setCallingPidForRemoteAnimationAdapter(Landroid/app/ActivityOptions;I)V
-PLcom/android/server/am/ServiceRecord;->forceClearTracker()V
+PLcom/android/server/am/ServiceRecord$1;->run()V
+PLcom/android/server/am/ServiceRecord$2;->run()V
+PLcom/android/server/am/ServiceRecord$3;-><init>(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;II)V
+PLcom/android/server/am/ServiceRecord$3;->run()V
+PLcom/android/server/am/ServiceRecord$StartItem;->removeUriPermissionsLocked()V
+PLcom/android/server/am/ServiceRecord;->dumpStartList(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/util/List;J)V
 PLcom/android/server/am/ServiceRecord;->getComponentName()Landroid/content/ComponentName;
 PLcom/android/server/am/ServiceRecord;->makeRestarting(IJ)V
-PLcom/android/server/am/ServiceRecord;->stripForegroundServiceFlagFromNotification()V
-PLcom/android/server/am/ServiceRecord;->toString()Ljava/lang/String;
 PLcom/android/server/am/ServiceRecord;->updateWhitelistManager()V
-PLcom/android/server/am/TaskChangeNotificationController$MainHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/am/TaskChangeNotificationController;->access$000(Lcom/android/server/am/TaskChangeNotificationController;)Lcom/android/server/am/ActivityManagerService;
-PLcom/android/server/am/TaskChangeNotificationController;->access$100(Lcom/android/server/am/TaskChangeNotificationController;)Lcom/android/server/am/ActivityStackSupervisor;
-PLcom/android/server/am/TaskChangeNotificationController;->access$1900(Lcom/android/server/am/TaskChangeNotificationController;)Lcom/android/server/am/TaskChangeNotificationController$TaskStackConsumer;
-PLcom/android/server/am/TaskChangeNotificationController;->access$200(Lcom/android/server/am/TaskChangeNotificationController;)Lcom/android/server/am/TaskChangeNotificationController$TaskStackConsumer;
-PLcom/android/server/am/TaskChangeNotificationController;->access$300(Lcom/android/server/am/TaskChangeNotificationController;Lcom/android/server/am/TaskChangeNotificationController$TaskStackConsumer;Landroid/os/Message;)V
-PLcom/android/server/am/TaskChangeNotificationController;->access$400(Lcom/android/server/am/TaskChangeNotificationController;)Lcom/android/server/am/TaskChangeNotificationController$TaskStackConsumer;
-PLcom/android/server/am/TaskChangeNotificationController;->access$500(Lcom/android/server/am/TaskChangeNotificationController;)Lcom/android/server/am/TaskChangeNotificationController$TaskStackConsumer;
-PLcom/android/server/am/TaskChangeNotificationController;->access$600(Lcom/android/server/am/TaskChangeNotificationController;)Lcom/android/server/am/TaskChangeNotificationController$TaskStackConsumer;
-PLcom/android/server/am/TaskChangeNotificationController;->access$700(Lcom/android/server/am/TaskChangeNotificationController;)Lcom/android/server/am/TaskChangeNotificationController$TaskStackConsumer;
-PLcom/android/server/am/TaskChangeNotificationController;->access$800(Lcom/android/server/am/TaskChangeNotificationController;)Lcom/android/server/am/TaskChangeNotificationController$TaskStackConsumer;
-PLcom/android/server/am/TaskChangeNotificationController;->access$900(Lcom/android/server/am/TaskChangeNotificationController;)Lcom/android/server/am/TaskChangeNotificationController$TaskStackConsumer;
-PLcom/android/server/am/TaskChangeNotificationController;->forAllLocalListeners(Lcom/android/server/am/TaskChangeNotificationController$TaskStackConsumer;Landroid/os/Message;)V
-PLcom/android/server/am/TaskChangeNotificationController;->forAllRemoteListeners(Lcom/android/server/am/TaskChangeNotificationController$TaskStackConsumer;Landroid/os/Message;)V
-PLcom/android/server/am/TaskChangeNotificationController;->lambda$new$0(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/TaskChangeNotificationController;->lambda$new$1(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/TaskChangeNotificationController;->lambda$new$16(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/TaskChangeNotificationController;->lambda$new$2(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/TaskChangeNotificationController;->lambda$new$3(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/TaskChangeNotificationController;->lambda$new$4(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/TaskChangeNotificationController;->lambda$new$5(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/TaskChangeNotificationController;->lambda$new$6(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
-PLcom/android/server/am/TaskChangeNotificationController;->notifyActivityRequestedOrientationChanged(II)V
-PLcom/android/server/am/TaskChangeNotificationController;->notifyTaskCreated(ILandroid/content/ComponentName;)V
-PLcom/android/server/am/TaskChangeNotificationController;->notifyTaskDescriptionChanged(ILandroid/app/ActivityManager$TaskDescription;)V
-PLcom/android/server/am/TaskChangeNotificationController;->notifyTaskMovedToFront(I)V
-PLcom/android/server/am/TaskChangeNotificationController;->notifyTaskRemovalStarted(I)V
-PLcom/android/server/am/TaskChangeNotificationController;->notifyTaskRemoved(I)V
-PLcom/android/server/am/TaskChangeNotificationController;->notifyTaskSnapshotChanged(ILandroid/app/ActivityManager$TaskSnapshot;)V
-PLcom/android/server/am/TaskChangeNotificationController;->notifyTaskStackChanged()V
-PLcom/android/server/am/TaskChangeNotificationController;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
-PLcom/android/server/am/TaskChangeNotificationController;->unregisterTaskStackListener(Landroid/app/ITaskStackListener;)V
-PLcom/android/server/am/TaskLaunchParamsModifier;->onCalculate(Lcom/android/server/am/TaskRecord;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/am/LaunchParamsController$LaunchParams;Lcom/android/server/am/LaunchParamsController$LaunchParams;)I
-PLcom/android/server/am/TaskPersister$1;-><init>(Lcom/android/server/am/TaskPersister;)V
-PLcom/android/server/am/TaskPersister$1;->compare(Lcom/android/server/am/TaskRecord;Lcom/android/server/am/TaskRecord;)I
-PLcom/android/server/am/TaskPersister$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/am/TaskPersister$ImageWriteQueueItem;-><init>(Ljava/lang/String;Landroid/graphics/Bitmap;)V
-PLcom/android/server/am/TaskPersister$LazyTaskWriterThread;->run()V
-PLcom/android/server/am/TaskPersister$TaskWriteQueueItem;-><init>(Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/TaskPersister$WriteQueueItem;-><init>()V
-PLcom/android/server/am/TaskPersister$WriteQueueItem;-><init>(Lcom/android/server/am/TaskPersister$1;)V
-PLcom/android/server/am/TaskPersister;->access$100(Lcom/android/server/am/TaskPersister;)Lcom/android/server/am/ActivityManagerService;
-PLcom/android/server/am/TaskPersister;->access$200(Lcom/android/server/am/TaskPersister;)Lcom/android/server/am/RecentTasks;
-PLcom/android/server/am/TaskPersister;->access$300(Lcom/android/server/am/TaskPersister;Landroid/util/ArraySet;)V
-PLcom/android/server/am/TaskPersister;->access$400(Lcom/android/server/am/TaskPersister;)V
-PLcom/android/server/am/TaskPersister;->access$500(Lcom/android/server/am/TaskPersister;)J
-PLcom/android/server/am/TaskPersister;->access$502(Lcom/android/server/am/TaskPersister;J)J
-PLcom/android/server/am/TaskPersister;->access$600(Ljava/lang/String;)Z
-PLcom/android/server/am/TaskPersister;->access$700(Lcom/android/server/am/TaskPersister;Lcom/android/server/am/TaskRecord;)Ljava/io/StringWriter;
-PLcom/android/server/am/TaskPersister;->createParentDirectory(Ljava/lang/String;)Z
-PLcom/android/server/am/TaskPersister;->getImageFromWriteQueue(Ljava/lang/String;)Landroid/graphics/Bitmap;
-PLcom/android/server/am/TaskPersister;->getTaskDescriptionIcon(Ljava/lang/String;)Landroid/graphics/Bitmap;
-PLcom/android/server/am/TaskPersister;->getUserImagesDir(I)Ljava/io/File;
-PLcom/android/server/am/TaskPersister;->getUserPersistedTaskIdsFile(I)Ljava/io/File;
-PLcom/android/server/am/TaskPersister;->getUserTasksDir(I)Ljava/io/File;
-PLcom/android/server/am/TaskPersister;->loadPersistedTaskIdsForUser(I)Landroid/util/SparseBooleanArray;
-PLcom/android/server/am/TaskPersister;->removeObsoleteFiles(Landroid/util/ArraySet;)V
-PLcom/android/server/am/TaskPersister;->removeObsoleteFiles(Landroid/util/ArraySet;[Ljava/io/File;)V
-PLcom/android/server/am/TaskPersister;->removeThumbnails(Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/TaskPersister;->restoreImage(Ljava/lang/String;)Landroid/graphics/Bitmap;
-PLcom/android/server/am/TaskPersister;->restoreTasksForUserLocked(ILandroid/util/SparseBooleanArray;)Ljava/util/List;
-PLcom/android/server/am/TaskPersister;->saveImage(Landroid/graphics/Bitmap;Ljava/lang/String;)V
-PLcom/android/server/am/TaskPersister;->saveToXml(Lcom/android/server/am/TaskRecord;)Ljava/io/StringWriter;
-PLcom/android/server/am/TaskPersister;->startPersisting()V
-PLcom/android/server/am/TaskPersister;->taskIdToTask(ILjava/util/ArrayList;)Lcom/android/server/am/TaskRecord;
-PLcom/android/server/am/TaskPersister;->wakeup(Lcom/android/server/am/TaskRecord;Z)V
-PLcom/android/server/am/TaskPersister;->writePersistedTaskIdsForUser(Landroid/util/SparseBooleanArray;I)V
-PLcom/android/server/am/TaskPersister;->writeTaskIdsFiles()V
-PLcom/android/server/am/TaskPersister;->yieldIfQueueTooDeep()V
-PLcom/android/server/am/TaskRecord$TaskActivitiesReport;->reset()V
-PLcom/android/server/am/TaskRecord$TaskRecordFactory;-><init>()V
-PLcom/android/server/am/TaskRecord$TaskRecordFactory;->create(Lcom/android/server/am/ActivityManagerService;ILandroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZIILjava/lang/String;Ljava/util/ArrayList;JZLandroid/app/ActivityManager$TaskDescription;IIIIILjava/lang/String;IZZZII)Lcom/android/server/am/TaskRecord;
-PLcom/android/server/am/TaskRecord$TaskRecordFactory;->create(Lcom/android/server/am/ActivityManagerService;ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)Lcom/android/server/am/TaskRecord;
-PLcom/android/server/am/TaskRecord$TaskRecordFactory;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/am/ActivityStackSupervisor;)Lcom/android/server/am/TaskRecord;
-PLcom/android/server/am/TaskRecord;-><init>(Lcom/android/server/am/ActivityManagerService;ILandroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZIILjava/lang/String;Ljava/util/ArrayList;JZLandroid/app/ActivityManager$TaskDescription;IIIIILjava/lang/String;IZZZII)V
-PLcom/android/server/am/TaskRecord;-><init>(Lcom/android/server/am/ActivityManagerService;ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)V
-PLcom/android/server/am/TaskRecord;->addActivityAtIndex(ILcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/TaskRecord;->addActivityToTop(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/TaskRecord;->addStartingWindowsForVisibleActivities(Z)V
-PLcom/android/server/am/TaskRecord;->autoRemoveFromRecents()Z
-PLcom/android/server/am/TaskRecord;->clearAllPendingOptions()V
-PLcom/android/server/am/TaskRecord;->clearRootProcess()V
-PLcom/android/server/am/TaskRecord;->closeRecentsChain()V
-PLcom/android/server/am/TaskRecord;->create(Lcom/android/server/am/ActivityManagerService;ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)Lcom/android/server/am/TaskRecord;
-PLcom/android/server/am/TaskRecord;->createWindowContainer(ZZ)V
-PLcom/android/server/am/TaskRecord;->findEffectiveRootIndex()I
-PLcom/android/server/am/TaskRecord;->getAllRunningVisibleActivitiesLocked(Ljava/util/ArrayList;)V
-PLcom/android/server/am/TaskRecord;->getBaseIntent()Landroid/content/Intent;
-PLcom/android/server/am/TaskRecord;->getChildAt(I)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/TaskRecord;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
-PLcom/android/server/am/TaskRecord;->getChildCount()I
-PLcom/android/server/am/TaskRecord;->getLaunchBounds()Landroid/graphics/Rect;
-PLcom/android/server/am/TaskRecord;->getParent()Lcom/android/server/wm/ConfigurationContainer;
-PLcom/android/server/am/TaskRecord;->getRootActivity()Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/TaskRecord;->getSnapshot(Z)Landroid/app/ActivityManager$TaskSnapshot;
-PLcom/android/server/am/TaskRecord;->getStackId()I
-PLcom/android/server/am/TaskRecord;->getTaskRecordFactory()Lcom/android/server/am/TaskRecord$TaskRecordFactory;
-PLcom/android/server/am/TaskRecord;->getWindowContainerBounds(Landroid/graphics/Rect;)V
-PLcom/android/server/am/TaskRecord;->getWindowContainerController()Lcom/android/server/wm/TaskWindowContainerController;
-PLcom/android/server/am/TaskRecord;->isClearingToReuseTask()Z
-PLcom/android/server/am/TaskRecord;->isResizeable()Z
-PLcom/android/server/am/TaskRecord;->isResizeable(Z)Z
-PLcom/android/server/am/TaskRecord;->isSameIntentFilter(Lcom/android/server/am/ActivityRecord;)Z
-PLcom/android/server/am/TaskRecord;->isVisible()Z
-PLcom/android/server/am/TaskRecord;->okToShowLocked()Z
-PLcom/android/server/am/TaskRecord;->onActivityStateChanged(Lcom/android/server/am/ActivityRecord;Lcom/android/server/am/ActivityStack$ActivityState;Ljava/lang/String;)V
-PLcom/android/server/am/TaskRecord;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/am/TaskRecord;->onParentChanged()V
-PLcom/android/server/am/TaskRecord;->onSnapshotChanged(Landroid/app/ActivityManager$TaskSnapshot;)V
-PLcom/android/server/am/TaskRecord;->onlyHasTaskOverlayActivities(Z)Z
-PLcom/android/server/am/TaskRecord;->performClearTaskAtIndexLocked(IZLjava/lang/String;)V
-PLcom/android/server/am/TaskRecord;->performClearTaskForReuseLocked(Lcom/android/server/am/ActivityRecord;I)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/TaskRecord;->performClearTaskLocked()V
-PLcom/android/server/am/TaskRecord;->performClearTaskLocked(Lcom/android/server/am/ActivityRecord;I)Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/TaskRecord;->removeActivity(Lcom/android/server/am/ActivityRecord;)Z
-PLcom/android/server/am/TaskRecord;->removeActivity(Lcom/android/server/am/ActivityRecord;Z)Z
-PLcom/android/server/am/TaskRecord;->removeTaskActivitiesLocked(ZLjava/lang/String;)V
-PLcom/android/server/am/TaskRecord;->removeWindowContainer()V
-PLcom/android/server/am/TaskRecord;->removedFromRecents()V
-PLcom/android/server/am/TaskRecord;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/am/ActivityStackSupervisor;)Lcom/android/server/am/TaskRecord;
-PLcom/android/server/am/TaskRecord;->returnsToHomeStack()Z
-PLcom/android/server/am/TaskRecord;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/am/TaskRecord;->setFrontOfTask()V
-PLcom/android/server/am/TaskRecord;->setIntent(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;)V
-PLcom/android/server/am/TaskRecord;->setIntent(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/TaskRecord;->setLockTaskAuth()V
-PLcom/android/server/am/TaskRecord;->setLockTaskAuth(Lcom/android/server/am/ActivityRecord;)V
-PLcom/android/server/am/TaskRecord;->setMinDimensions(Landroid/content/pm/ActivityInfo;)V
-PLcom/android/server/am/TaskRecord;->setNextAffiliate(Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/TaskRecord;->setPrevAffiliate(Lcom/android/server/am/TaskRecord;)V
-PLcom/android/server/am/TaskRecord;->setRootProcess(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/TaskRecord;->setStack(Lcom/android/server/am/ActivityStack;)V
-PLcom/android/server/am/TaskRecord;->setTaskRecordFactory(Lcom/android/server/am/TaskRecord$TaskRecordFactory;)V
-PLcom/android/server/am/TaskRecord;->setWindowContainerController(Lcom/android/server/wm/TaskWindowContainerController;)V
-PLcom/android/server/am/TaskRecord;->supportsSplitScreenWindowingMode()Z
-PLcom/android/server/am/TaskRecord;->toString()Ljava/lang/String;
-PLcom/android/server/am/TaskRecord;->topRunningActivityWithStartingWindowLocked()Lcom/android/server/am/ActivityRecord;
-PLcom/android/server/am/TaskRecord;->touchActiveTime()V
-PLcom/android/server/am/TaskRecord;->updateEffectiveIntent()V
-PLcom/android/server/am/TaskRecord;->updateOverrideConfiguration(Landroid/graphics/Rect;)Z
-PLcom/android/server/am/TaskRecord;->updateOverrideConfiguration(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
-PLcom/android/server/am/TaskRecord;->updateOverrideConfigurationFromLaunchBounds()Landroid/graphics/Rect;
-PLcom/android/server/am/TaskRecord;->updateTaskDescription()V
-PLcom/android/server/am/UidRecord$ChangeItem;-><init>()V
-PLcom/android/server/am/UidRecord;-><init>(I)V
-PLcom/android/server/am/UidRecord;->toString()Ljava/lang/String;
+PLcom/android/server/am/SettingsToPropertiesMapper;->lambda$updatePropertiesFromSettings$0(Lcom/android/server/am/SettingsToPropertiesMapper;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/am/SettingsToPropertiesMapper;->systemPropertiesSet(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/am/UidRecord;->updateHasInternetPermission()V
-PLcom/android/server/am/UriPermission;-><init>(Ljava/lang/String;Ljava/lang/String;ILcom/android/server/am/ActivityManagerService$GrantUri;)V
-PLcom/android/server/am/UriPermission;->getStrength(I)I
-PLcom/android/server/am/UriPermission;->grantModes(ILcom/android/server/am/UriPermissionOwner;)V
-PLcom/android/server/am/UriPermission;->revokeModes(IZ)Z
-PLcom/android/server/am/UriPermission;->updateModeFlags()V
-PLcom/android/server/am/UriPermissionOwner$ExternalToken;-><init>(Lcom/android/server/am/UriPermissionOwner;)V
-PLcom/android/server/am/UriPermissionOwner$ExternalToken;->getOwner()Lcom/android/server/am/UriPermissionOwner;
-PLcom/android/server/am/UriPermissionOwner;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/Object;)V
-PLcom/android/server/am/UriPermissionOwner;->fromExternalToken(Landroid/os/IBinder;)Lcom/android/server/am/UriPermissionOwner;
-PLcom/android/server/am/UriPermissionOwner;->getExternalTokenLocked()Landroid/os/Binder;
-PLcom/android/server/am/UriPermissionOwner;->removeUriPermissionLocked(Lcom/android/server/am/ActivityManagerService$GrantUri;I)V
-PLcom/android/server/am/UriPermissionOwner;->removeUriPermissionsLocked()V
-PLcom/android/server/am/UriPermissionOwner;->removeUriPermissionsLocked(I)V
-PLcom/android/server/am/UserController$2;-><init>(Lcom/android/server/am/UserController;I)V
 PLcom/android/server/am/UserController$2;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
-PLcom/android/server/am/UserController$Injector$1;-><init>(Lcom/android/server/am/UserController$Injector;Lcom/android/server/am/ActivityManagerService;ILcom/android/internal/util/ProgressReporter;ZLjava/lang/Runnable;)V
+PLcom/android/server/am/UserController$4;->lambda$performReceive$0$UserController$4(ILcom/android/server/am/UserState;)V
+PLcom/android/server/am/UserController$4;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+PLcom/android/server/am/UserController$5$1;->run()V
+PLcom/android/server/am/UserController$5;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+PLcom/android/server/am/UserController$6;-><init>(Lcom/android/server/am/UserController;)V
+PLcom/android/server/am/UserController$6;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
 PLcom/android/server/am/UserController$Injector$1;->onFinished()V
-PLcom/android/server/am/UserController$Injector;->broadcastIntent(Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIII)I
+PLcom/android/server/am/UserController$Injector;->activityManagerForceStopPackage(ILjava/lang/String;)V
+PLcom/android/server/am/UserController$Injector;->activityManagerOnUserStopped(I)V
+PLcom/android/server/am/UserController$Injector;->batteryStatsServiceNoteEvent(ILjava/lang/String;I)V
+PLcom/android/server/am/UserController$Injector;->clearBroadcastQueueForUser(I)V
 PLcom/android/server/am/UserController$Injector;->getSystemServiceManager()Lcom/android/server/SystemServiceManager;
 PLcom/android/server/am/UserController$Injector;->getUserManagerInternal()Landroid/os/UserManagerInternal;
+PLcom/android/server/am/UserController$Injector;->getWindowManager()Lcom/android/server/wm/WindowManagerService;
 PLcom/android/server/am/UserController$Injector;->installEncryptionUnawareProviders(I)V
 PLcom/android/server/am/UserController$Injector;->isFirstBootOrUpgrade()Z
 PLcom/android/server/am/UserController$Injector;->isRuntimeRestarted()Z
 PLcom/android/server/am/UserController$Injector;->loadUserRecents(I)V
-PLcom/android/server/am/UserController$Injector;->reportCurWakefulnessUsageEvent()V
 PLcom/android/server/am/UserController$Injector;->sendPreBootBroadcast(IZLjava/lang/Runnable;)V
+PLcom/android/server/am/UserController$Injector;->stackSupervisorRemoveUser(I)V
 PLcom/android/server/am/UserController$Injector;->startPersistentApps(I)V
+PLcom/android/server/am/UserController$Injector;->startUserWidgets(I)V
+PLcom/android/server/am/UserController$Injector;->systemServiceManagerCleanupUser(I)V
+PLcom/android/server/am/UserController$UserProgressListener;-><init>(Lcom/android/server/am/UserController$1;)V
 PLcom/android/server/am/UserController$UserProgressListener;->onFinished(ILandroid/os/Bundle;)V
 PLcom/android/server/am/UserController$UserProgressListener;->onProgress(IILandroid/os/Bundle;)V
 PLcom/android/server/am/UserController$UserProgressListener;->onStarted(ILandroid/os/Bundle;)V
+PLcom/android/server/am/UserController;->dispatchForegroundProfileChanged(I)V
 PLcom/android/server/am/UserController;->dispatchLockedBootComplete(I)V
-PLcom/android/server/am/UserController;->ensureNotSpecialUser(I)V
+PLcom/android/server/am/UserController;->enforceShellRestriction(Ljava/lang/String;I)V
+PLcom/android/server/am/UserController;->expandUserId(I)[I
+PLcom/android/server/am/UserController;->finishUserBoot(Lcom/android/server/am/UserState;)V
 PLcom/android/server/am/UserController;->finishUserBoot(Lcom/android/server/am/UserState;Landroid/content/IIntentReceiver;)V
+PLcom/android/server/am/UserController;->finishUserStopped(Lcom/android/server/am/UserState;)V
+PLcom/android/server/am/UserController;->finishUserStopping(ILcom/android/server/am/UserState;)V
 PLcom/android/server/am/UserController;->finishUserUnlocked(Lcom/android/server/am/UserState;)V
 PLcom/android/server/am/UserController;->finishUserUnlockedCompleted(Lcom/android/server/am/UserState;)V
 PLcom/android/server/am/UserController;->finishUserUnlocking(Lcom/android/server/am/UserState;)V
-PLcom/android/server/am/UserController;->getCurrentProfileIds()[I
-PLcom/android/server/am/UserController;->getCurrentUserId()I
-PLcom/android/server/am/UserController;->getProfileIds(I)Ljava/util/Set;
-PLcom/android/server/am/UserController;->getStorageManager()Landroid/os/storage/IStorageManager;
-PLcom/android/server/am/UserController;->getUsers()[I
+PLcom/android/server/am/UserController;->forceStopUser(ILjava/lang/String;)V
+PLcom/android/server/am/UserController;->getCurrentOrTargetUserId()I
+PLcom/android/server/am/UserController;->getCurrentOrTargetUserIdLU()I
+PLcom/android/server/am/UserController;->getUserInfo(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/am/UserController;->getUsersToStopLU(I)[I
 PLcom/android/server/am/UserController;->handleMessage(Landroid/os/Message;)Z
-PLcom/android/server/am/UserController;->isSameProfileGroup(II)Z
-PLcom/android/server/am/UserController;->lambda$finishUserUnlocked$1(Lcom/android/server/am/UserController;Lcom/android/server/am/UserState;)V
-PLcom/android/server/am/UserController;->lambda$finishUserUnlocking$0(Lcom/android/server/am/UserController;ILcom/android/server/am/UserState;)V
-PLcom/android/server/am/UserController;->lambda$handleMessage$6(Lcom/android/server/am/UserController;I)V
-PLcom/android/server/am/UserController;->maybeUnlockUser(I)Z
-PLcom/android/server/am/UserController;->onSystemReady()V
-PLcom/android/server/am/UserController;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
+PLcom/android/server/am/UserController;->isCurrentProfile(I)Z
+PLcom/android/server/am/UserController;->lambda$finishUserStopped$5$UserController(I)V
+PLcom/android/server/am/UserController;->lambda$finishUserUnlocked$2$UserController(Lcom/android/server/am/UserState;)V
+PLcom/android/server/am/UserController;->lambda$finishUserUnlocking$1$UserController(ILcom/android/server/am/UserState;)V
+PLcom/android/server/am/UserController;->lambda$finishUserUnlocking$1(Lcom/android/server/am/UserController;ILcom/android/server/am/UserState;)V
+PLcom/android/server/am/UserController;->lambda$handleMessage$8$UserController(I)V
+PLcom/android/server/am/UserController;->lambda$scheduleStartProfiles$6$UserController()V
+PLcom/android/server/am/UserController;->lambda$stopSingleUserLU$4$UserController(ILcom/android/server/am/UserState;)V
 PLcom/android/server/am/UserController;->scheduleStartProfiles()V
 PLcom/android/server/am/UserController;->sendBootCompleted(Landroid/content/IIntentReceiver;)V
-PLcom/android/server/am/UserController;->sendUserSwitchBroadcasts(II)V
-PLcom/android/server/am/UserController;->shouldConfirmCredentials(I)Z
+PLcom/android/server/am/UserController;->sendForegroundProfileChanged(I)V
 PLcom/android/server/am/UserController;->startProfiles()V
+PLcom/android/server/am/UserController;->startUser(IZ)Z
+PLcom/android/server/am/UserController;->startUser(IZLandroid/os/IProgressListener;)Z
+PLcom/android/server/am/UserController;->stopSingleUserLU(ILandroid/app/IStopUserCallback;)V
+PLcom/android/server/am/UserController;->stopUser(IZLandroid/app/IStopUserCallback;)I
+PLcom/android/server/am/UserController;->stopUsersLU(IZLandroid/app/IStopUserCallback;)I
 PLcom/android/server/am/UserController;->unlockUser(I[B[BLandroid/os/IProgressListener;)Z
 PLcom/android/server/am/UserController;->unlockUserCleared(I[B[BLandroid/os/IProgressListener;)Z
-PLcom/android/server/am/UserController;->updateCurrentProfileIds()V
+PLcom/android/server/am/UserController;->unregisterUserSwitchObserver(Landroid/app/IUserSwitchObserver;)V
 PLcom/android/server/am/UserState;->setState(I)V
 PLcom/android/server/am/UserState;->setState(II)Z
-PLcom/android/server/am/UserState;->stateToString(I)Ljava/lang/String;
-PLcom/android/server/am/VrController;->changeVrModeLocked(ZLcom/android/server/am/ProcessRecord;)Z
-PLcom/android/server/am/VrController;->clearVrRenderThreadLocked(Z)V
-PLcom/android/server/am/VrController;->hasPersistentVrFlagSet()Z
-PLcom/android/server/am/VrController;->inVrMode()Z
-PLcom/android/server/am/VrController;->onSystemReady()V
-PLcom/android/server/am/VrController;->onTopProcChangedLocked(Lcom/android/server/am/ProcessRecord;)V
-PLcom/android/server/am/VrController;->onVrModeChanged(Lcom/android/server/am/ActivityRecord;)Z
-PLcom/android/server/am/VrController;->setVrRenderThreadLocked(IIZ)I
-PLcom/android/server/am/VrController;->shouldDisableNonVrUiLocked()Z
-PLcom/android/server/am/VrController;->updateVrRenderThreadLocked(IZ)I
-PLcom/android/server/appwidget/-$$Lambda$AppWidgetService$HIwvoPMyKqEhLVIiysgUKH8QJg8;-><init>(Lcom/android/server/appwidget/AppWidgetService;I)V
-PLcom/android/server/appwidget/-$$Lambda$AppWidgetService$HIwvoPMyKqEhLVIiysgUKH8QJg8;->run()V
-PLcom/android/server/appwidget/AppWidgetService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/appwidget/AppWidgetService;->lambda$onUnlockUser$0(Lcom/android/server/appwidget/AppWidgetService;I)V
-PLcom/android/server/appwidget/AppWidgetService;->onBootPhase(I)V
-PLcom/android/server/appwidget/AppWidgetService;->onStart()V
-PLcom/android/server/appwidget/AppWidgetService;->onUnlockUser(I)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$1;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$AppWidgetManagerLocal;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$AppWidgetManagerLocal;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;Lcom/android/server/appwidget/AppWidgetServiceImpl$1;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$BackupRestoreController;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$BackupRestoreController;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;Lcom/android/server/appwidget/AppWidgetServiceImpl$1;)V
+PLcom/android/server/appbinding/AppBindingService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/appbinding/AppBindingService$Lifecycle;->onStopUser(I)V
+PLcom/android/server/appbinding/AppBindingService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/appbinding/AppBindingService;->findFinderLocked(ILjava/lang/String;)Lcom/android/server/appbinding/finders/AppServiceFinder;
+PLcom/android/server/appbinding/AppBindingService;->handlePackageAddedReplacing(Ljava/lang/String;I)V
+PLcom/android/server/appbinding/AppBindingService;->handlePackageChanged(Ljava/lang/String;I)V
+PLcom/android/server/appbinding/AppBindingService;->onStopUser(I)V
+PLcom/android/server/appbinding/AppBindingService;->onUnlockUser(I)V
+PLcom/android/server/appbinding/AppBindingService;->unbindServicesLocked(ILcom/android/server/appbinding/finders/AppServiceFinder;Ljava/lang/String;)V
+PLcom/android/server/appbinding/finders/-$$Lambda$CarrierMessagingClientServiceFinder$HEVyQ3IEZ8Eseze74Vyp3NHEREg;->onRoleHoldersChanged(Ljava/lang/String;Landroid/os/UserHandle;)V
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getAppDescription()Ljava/lang/String;
+PLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->lambda$new$0$CarrierMessagingClientServiceFinder(Ljava/lang/String;Landroid/os/UserHandle;)V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$AfBLuTvVESlqN91IyRX84hMV5nE;-><init>()V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$AfBLuTvVESlqN91IyRX84hMV5nE;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$FYLTtxqrHmv8Y5UdZ9ybXKsSJhs;-><init>()V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$FYLTtxqrHmv8Y5UdZ9ybXKsSJhs;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$NDUi03ZZuuR42-RDEIQ0UELKycc;-><init>()V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$NDUi03ZZuuR42-RDEIQ0UELKycc;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$ac4Ra3Yhj0OQzvkaL2dLbsuLAmQ;-><init>()V
+PLcom/android/server/appop/-$$Lambda$AppOpsService$ac4Ra3Yhj0OQzvkaL2dLbsuLAmQ;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/appop/-$$Lambda$HistoricalRegistry$dJrtb4M71TzV6sx9vPEImQG_akU;-><init>()V
+PLcom/android/server/appop/-$$Lambda$HistoricalRegistry$dJrtb4M71TzV6sx9vPEImQG_akU;->accept(Ljava/lang/Object;)V
+PLcom/android/server/appop/AppOpsService$1$1;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/appop/AppOpsService$1$1;->doInBackground([Ljava/lang/Void;)Ljava/lang/Void;
+PLcom/android/server/appop/AppOpsService$1;->run()V
+PLcom/android/server/appop/AppOpsService$ClientState;->binderDied()V
+PLcom/android/server/appop/AppOpsService$ModeCallback;->binderDied()V
+PLcom/android/server/appop/AppOpsService;->getOpsForPackage(ILjava/lang/String;[I)Ljava/util/List;
+PLcom/android/server/appop/AppOpsService;->isOperationActive(IILjava/lang/String;)Z
+PLcom/android/server/appop/AppOpsService;->noteProxyOperation(IILjava/lang/String;ILjava/lang/String;)I
+PLcom/android/server/appop/AppOpsService;->notifyOpActiveChanged(Landroid/util/ArraySet;IILjava/lang/String;Z)V
+PLcom/android/server/appop/AppOpsService;->notifyOpChecked(Landroid/util/ArraySet;IILjava/lang/String;I)V
+PLcom/android/server/appop/AppOpsService;->setUserRestriction(IZLandroid/os/IBinder;I[Ljava/lang/String;)V
+PLcom/android/server/appop/AppOpsService;->stopWatchingMode(Lcom/android/internal/app/IAppOpsCallback;)V
+PLcom/android/server/appop/AppOpsService;->writeState()V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->collectHistoricalOpsBaseDLocked(ILjava/lang/String;[Ljava/lang/String;JJ)Ljava/util/LinkedList;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->collectHistoricalOpsRecursiveDLocked(Ljava/io/File;ILjava/lang/String;[Ljava/lang/String;JJ[JLjava/util/LinkedList;ILjava/util/Set;)Ljava/util/LinkedList;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->computeGlobalIntervalBeginMillis(I)J
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->generateFile(Ljava/io/File;I)Ljava/io/File;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->getHistoricalFileNames(Ljava/io/File;)Ljava/util/Set;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->handlePersistHistoricalOpsRecursiveDLocked(Ljava/io/File;Ljava/io/File;Ljava/util/List;Ljava/util/Set;I)V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->normalizeSnapshotForSlotDuration(Ljava/util/List;J)V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->persistHistoricalOpsDLocked(Ljava/util/List;)V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;Lorg/xmlpull/v1/XmlPullParser;[Ljava/lang/String;D)Landroid/app/AppOpsManager$HistoricalOps;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpsLocked(Ljava/io/File;ILjava/lang/String;[Ljava/lang/String;JJ[J)Ljava/util/List;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalOpsLocked(Ljava/io/File;JJILjava/lang/String;[Ljava/lang/String;JJ[JILjava/util/Set;)Ljava/util/List;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalPackageOpsDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;[Ljava/lang/String;D)Landroid/app/AppOpsManager$HistoricalOps;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->readHistoricalUidOpsDLocked(Landroid/app/AppOpsManager$HistoricalOps;Lorg/xmlpull/v1/XmlPullParser;ILjava/lang/String;[Ljava/lang/String;D)Landroid/app/AppOpsManager$HistoricalOps;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->readUidStateDLocked(Landroid/app/AppOpsManager$HistoricalOps;ILjava/lang/String;ILorg/xmlpull/v1/XmlPullParser;D)Landroid/app/AppOpsManager$HistoricalOps;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->readeHistoricalOpsDLocked(Lorg/xmlpull/v1/XmlPullParser;ILjava/lang/String;[Ljava/lang/String;JJ[J)Landroid/app/AppOpsManager$HistoricalOps;
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOp;Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalOpDLocked(Landroid/app/AppOpsManager$HistoricalOps;Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalOpsDLocked(Ljava/util/List;JLjava/io/File;)V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalPackageOpsDLocked(Landroid/app/AppOpsManager$HistoricalPackageOps;Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->writeHistoricalUidOpsDLocked(Landroid/app/AppOpsManager$HistoricalUidOps;Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/appop/HistoricalRegistry$Persistence;->writeUidStateOnLocked(Landroid/app/AppOpsManager$HistoricalOp;ILorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/appop/HistoricalRegistry;->clearHistory()V
+PLcom/android/server/appop/HistoricalRegistry;->clearHistoryOnDiskLocked()V
+PLcom/android/server/appop/HistoricalRegistry;->offsetHistory(J)V
+PLcom/android/server/appop/HistoricalRegistry;->persistPendingHistory()V
+PLcom/android/server/appop/HistoricalRegistry;->persistPendingHistory(Ljava/util/List;)V
+PLcom/android/server/appprediction/AppPredictionPerUserService;->newServiceInfoLocked(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/appwidget/-$$Lambda$AppWidgetServiceImpl$7z3EwuT55saMxTVomcNfb1VOVL0;->run()V
+PLcom/android/server/appwidget/-$$Lambda$AppWidgetServiceImpl$TEG8Dmf_tnBoLQ8rTg9_1sFaVu8;->run()V
+PLcom/android/server/appwidget/AppWidgetService;->onStopUser(I)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$AppWidgetManagerLocal;->getHostedWidgetPackages(I)Landroid/util/ArraySet;
+PLcom/android/server/appwidget/AppWidgetServiceImpl$AppWidgetManagerLocal;->unlockUser(I)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl$BackupRestoreController;->getWidgetState(Ljava/lang/String;I)[B
 PLcom/android/server/appwidget/AppWidgetServiceImpl$BackupRestoreController;->packageNeedsWidgetBackupLocked(Ljava/lang/String;I)Z
-PLcom/android/server/appwidget/AppWidgetServiceImpl$CallbackHandler;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;Landroid/os/Looper;)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl$CallbackHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$Host;-><init>()V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$Host;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl$1;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$Host;->getUserId()I
-PLcom/android/server/appwidget/AppWidgetServiceImpl$HostId;-><init>(IILjava/lang/String;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$Host;->getPendingUpdatesForId(ILandroid/util/LongSparseArray;)Z
+PLcom/android/server/appwidget/AppWidgetServiceImpl$Host;->hostsPackageForUser(Ljava/lang/String;I)Z
 PLcom/android/server/appwidget/AppWidgetServiceImpl$HostId;->equals(Ljava/lang/Object;)Z
-PLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;-><init>()V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl$1;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;->getUserId()I
-PLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;->setMaskedByLockedProfileLocked(Z)Z
-PLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;->setMaskedByQuietProfileLocked(Z)Z
-PLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;->setMaskedBySuspendedPackageLocked(Z)Z
-PLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;->shouldBePersisted()Z
+PLcom/android/server/appwidget/AppWidgetServiceImpl$Provider;->hostedByPackageForUser(Ljava/lang/String;I)Z
 PLcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;-><init>(ILandroid/content/ComponentName;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;-><init>(ILandroid/content/ComponentName;Lcom/android/server/appwidget/AppWidgetServiceImpl$1;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;->equals(Ljava/lang/Object;)Z
 PLcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;->hashCode()I
-PLcom/android/server/appwidget/AppWidgetServiceImpl$SaveStateRunnable;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;I)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl$SaveStateRunnable;->run()V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;-><init>(Lcom/android/server/appwidget/AppWidgetServiceImpl;Lcom/android/server/appwidget/AppWidgetServiceImpl$1;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->getGroupParent(I)I
+PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->canAccessAppWidget(Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;ILjava/lang/String;)Z
+PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->getEnabledGroupProfileIds(I)[I
+PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->getProfileParent(I)I
+PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->hasCallerBindPermissionOrBindWhiteListedLocked(Ljava/lang/String;)Z
 PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->isCallerInstantAppLocked()Z
-PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->isEnabledGroupProfile(I)Z
 PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->isInstantAppLocked(Ljava/lang/String;I)Z
-PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->isParentOrProfile(II)Z
 PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->isProfileEnabled(I)Z
-PLcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;->isProviderInCallerOrInProfileAndWhitelListed(Ljava/lang/String;I)Z
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;-><init>(Landroid/content/Context;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->access$000()Z
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->access$100(Lcom/android/server/appwidget/AppWidgetServiceImpl;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->access$1800(Lcom/android/server/appwidget/AppWidgetServiceImpl;Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;Lcom/android/internal/appwidget/IAppWidgetHost;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->access$200(Lcom/android/server/appwidget/AppWidgetServiceImpl;)Ljava/lang/Object;
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->access$2000(Lcom/android/server/appwidget/AppWidgetServiceImpl;)Landroid/os/UserManager;
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->access$2100(Lcom/android/server/appwidget/AppWidgetServiceImpl;)Landroid/content/pm/IPackageManager;
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->access$2200(Lcom/android/server/appwidget/AppWidgetServiceImpl;)Landroid/app/AppOpsManager;
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->access$2700(Lcom/android/server/appwidget/AppWidgetServiceImpl;)Lcom/android/server/appwidget/AppWidgetServiceImpl$SecurityPolicy;
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->access$2900(Lcom/android/server/appwidget/AppWidgetServiceImpl;IZ)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->access$3000(Lcom/android/server/appwidget/AppWidgetServiceImpl;I)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->access$3100(Lcom/android/server/appwidget/AppWidgetServiceImpl;)Ljava/util/ArrayList;
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->access$400(Lcom/android/server/appwidget/AppWidgetServiceImpl;Landroid/content/Intent;I)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->addProviderLocked(Landroid/content/pm/ResolveInfo;)Z
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->addWidgetLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->allocateAppWidgetId(Ljava/lang/String;I)I
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->bindAppWidgetId(Ljava/lang/String;IILandroid/content/ComponentName;Landroid/os/Bundle;)Z
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->bindLoadedWidgetsLocked(Ljava/util/List;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->cancelBroadcastsLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->clearProvidersAndHostsTagsLocked()V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->cloneIfLocalBinder(Landroid/appwidget/AppWidgetProviderInfo;)Landroid/appwidget/AppWidgetProviderInfo;
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->computeMaximumWidgetBitmapMemory()V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->ensureGroupStateLoadedLocked(I)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->ensureGroupStateLoadedLocked(IZ)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->getAppWidgetIds(Landroid/content/ComponentName;)[I
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->getAppWidgetInfo(Ljava/lang/String;I)Landroid/appwidget/AppWidgetProviderInfo;
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->getAppWidgetOptions(Ljava/lang/String;I)Landroid/os/Bundle;
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->getAppWidgetViews(Ljava/lang/String;I)Landroid/widget/RemoteViews;
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->getCanonicalPackageName(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->getInstalledProvidersForProfile(IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->getSavedStateFile(I)Landroid/util/AtomicFile;
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->getStateFile(I)Ljava/io/File;
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->getUidForPackage(Ljava/lang/String;I)I
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->getWidgetIds(Ljava/util/ArrayList;)[I
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->getWidgetState(Ljava/lang/String;I)[B
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->handleNotifyProvidersChanged(Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;Lcom/android/internal/appwidget/IAppWidgetHost;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->isLocalBinder()Z
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->handleNotifyUpdateAppWidget(Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;Lcom/android/internal/appwidget/IAppWidgetHost;ILandroid/widget/RemoteViews;J)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->handleUserUnlocked(I)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->hasBindAppWidgetPermission(Ljava/lang/String;I)Z
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->isProfileWithLockedParent(I)Z
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->isProfileWithUnlockedParent(I)Z
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->isUserRunningAndUnlocked(I)Z
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->lambda$cancelBroadcastsLocked$0$AppWidgetServiceImpl(Landroid/app/PendingIntent;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->lambda$registerForBroadcastsLocked$1$AppWidgetServiceImpl(JLandroid/app/PendingIntent;)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->loadGroupStateLocked([I)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->loadGroupWidgetProvidersLocked([I)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->lookupHostLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$HostId;)Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->lookupOrAddHostLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$HostId;)Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->onConfigurationChanged()V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->lookupWidgetLocked(IILjava/lang/String;)Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->maskWidgetsViewsLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->onPackageBroadcastReceived(Landroid/content/Intent;I)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->onStart()V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->onUserUnlocked(I)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->onUserStopped(I)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->onWidgetProviderAddedOrChangedLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->parseAppWidgetProviderInfo(Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;Landroid/content/pm/ActivityInfo;Ljava/lang/String;)Landroid/appwidget/AppWidgetProviderInfo;
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->parseProviderInfoXml(Lcom/android/server/appwidget/AppWidgetServiceImpl$ProviderId;Landroid/content/pm/ResolveInfo;Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;)Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->partiallyUpdateAppWidgetIds(Ljava/lang/String;[ILandroid/widget/RemoteViews;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->peekNextAppWidgetIdLocked(I)I
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->performUpgradeLocked(I)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->pruneHostLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->queryIntentReceivers(Landroid/content/Intent;I)Ljava/util/List;
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->readProfileStateFromFileLocked(Ljava/io/FileInputStream;ILjava/util/List;)I
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->registerBroadcastReceiver()V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->registerOnCrossProfileProvidersChangedListener()V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->registerForBroadcastsLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;[I)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->reloadWidgetsMaskedState(I)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->reloadWidgetsMaskedStateForGroup(I)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->resolveHostUidLocked(Ljava/lang/String;I)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->saveGroupStateAsync(I)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->saveStateLocked(I)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->scheduleNotifyGroupHostsForProvidersChangedLocked(I)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->scheduleNotifyProviderChangedLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->scheduleNotifyUpdateAppWidgetLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;Landroid/widget/RemoteViews;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->sendBroadcastAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->serializeAppWidget(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->serializeHost(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/appwidget/AppWidgetServiceImpl$Host;)V
-PLcom/android/server/appwidget/AppWidgetServiceImpl;->setSafeMode(Z)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->serializeProvider(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/appwidget/AppWidgetServiceImpl$Provider;)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->startListening(Lcom/android/internal/appwidget/IAppWidgetHost;Ljava/lang/String;I[I)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->stopListening(Ljava/lang/String;I)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->tagProvidersAndHosts()V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->updateAppWidgetIds(Ljava/lang/String;[ILandroid/widget/RemoteViews;)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->updateAppWidgetIds(Ljava/lang/String;[ILandroid/widget/RemoteViews;Z)V
+PLcom/android/server/appwidget/AppWidgetServiceImpl;->updateAppWidgetInstanceLocked(Lcom/android/server/appwidget/AppWidgetServiceImpl$Widget;Landroid/widget/RemoteViews;Z)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->updateAppWidgetProvider(Landroid/content/ComponentName;Landroid/widget/RemoteViews;)V
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->updateProvidersForPackageLocked(Ljava/lang/String;ILjava/util/Set;)Z
 PLcom/android/server/appwidget/AppWidgetServiceImpl;->writeProfileStateToFileLocked(Ljava/io/FileOutputStream;I)Z
-PLcom/android/server/audio/AudioEventLogger$Event;-><init>()V
+PLcom/android/server/audio/-$$Lambda$AudioDeviceInventory$MfLl81BWvF9OIWh52LJfesOjVdw;->test(Ljava/lang/Object;)Z
+PLcom/android/server/audio/-$$Lambda$AudioService$YLQrBBB6SFLzNISvF6dG1Zz8wEY;-><init>()V
+PLcom/android/server/audio/-$$Lambda$AudioService$YLQrBBB6SFLzNISvF6dG1Zz8wEY;->test(Ljava/lang/Object;)Z
+PLcom/android/server/audio/AudioDeviceBroker;->getA2dpCodec(Landroid/bluetooth/BluetoothDevice;)I
+PLcom/android/server/audio/AudioDeviceBroker;->handleDeviceConnection(ZILjava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/audio/AudioDeviceBroker;->isBluetoothA2dpOn()Z
+PLcom/android/server/audio/AudioDeviceBroker;->isSpeakerphoneOn()Z
+PLcom/android/server/audio/AudioDeviceBroker;->postSetAvrcpAbsoluteVolumeIndex(I)V
+PLcom/android/server/audio/AudioDeviceBroker;->receiveBtEvent(Landroid/content/Intent;)V
+PLcom/android/server/audio/AudioDeviceBroker;->sendBroadcastToAll(Landroid/content/Intent;)V
+PLcom/android/server/audio/AudioDeviceBroker;->setAvrcpAbsoluteVolumeSupported(Z)V
+PLcom/android/server/audio/AudioDeviceBroker;->setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(Landroid/bluetooth/BluetoothDevice;IIZI)I
+PLcom/android/server/audio/AudioDeviceBroker;->setBluetoothA2dpOnInt(ZLjava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceBroker;->setBluetoothA2dpOn_Async(ZLjava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceBroker;->setSpeakerphoneOn(ZLjava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceBroker;->setWiredDeviceConnectionState(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceInventory;->checkSendBecomingNoisyIntentInt(III)I
+PLcom/android/server/audio/AudioDeviceInventory;->handleDeviceConnection(ZILjava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/audio/AudioDeviceInventory;->makeA2dpDeviceAvailable(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/audio/AudioDeviceInventory;->makeA2dpDeviceUnavailableNow(Ljava/lang/String;I)V
+PLcom/android/server/audio/AudioDeviceInventory;->onBluetoothA2dpDeviceConfigChange(Lcom/android/server/audio/BtHelper$BluetoothA2dpDeviceInfo;)V
+PLcom/android/server/audio/AudioDeviceInventory;->onReportNewRoutes()V
+PLcom/android/server/audio/AudioDeviceInventory;->onSetA2dpSinkConnectionState(Lcom/android/server/audio/BtHelper$BluetoothA2dpDeviceInfo;I)V
+PLcom/android/server/audio/AudioDeviceInventory;->onSetWiredDeviceConnectionState(Lcom/android/server/audio/AudioDeviceInventory$WiredDeviceConnectionState;)V
+PLcom/android/server/audio/AudioDeviceInventory;->sendDeviceConnectionIntent(IILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceInventory;->setBluetoothA2dpDeviceConnectionState(Landroid/bluetooth/BluetoothDevice;IIZII)I
+PLcom/android/server/audio/AudioDeviceInventory;->setCurrentAudioRouteNameIfPossible(Ljava/lang/String;)V
+PLcom/android/server/audio/AudioDeviceInventory;->setWiredDeviceConnectionState(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/audio/AudioDeviceInventory;->updateAudioRoutes(II)V
 PLcom/android/server/audio/AudioEventLogger$Event;->printLog(Ljava/lang/String;)Lcom/android/server/audio/AudioEventLogger$Event;
 PLcom/android/server/audio/AudioEventLogger$StringEvent;-><init>(Ljava/lang/String;)V
 PLcom/android/server/audio/AudioEventLogger$StringEvent;->eventToString()Ljava/lang/String;
-PLcom/android/server/audio/AudioEventLogger;-><init>(ILjava/lang/String;)V
-PLcom/android/server/audio/AudioEventLogger;->log(Lcom/android/server/audio/AudioEventLogger$Event;)V
-PLcom/android/server/audio/AudioService$1;-><init>(Lcom/android/server/audio/AudioService;)V
-PLcom/android/server/audio/AudioService$1;->onError(I)V
-PLcom/android/server/audio/AudioService$2;-><init>(Lcom/android/server/audio/AudioService;)V
-PLcom/android/server/audio/AudioService$3;-><init>(Lcom/android/server/audio/AudioService;)V
-PLcom/android/server/audio/AudioService$3;->onServiceConnected(ILandroid/bluetooth/BluetoothProfile;)V
-PLcom/android/server/audio/AudioService$4;-><init>(Lcom/android/server/audio/AudioService;Landroid/media/IVolumeController;)V
-PLcom/android/server/audio/AudioService$5;-><init>(Lcom/android/server/audio/AudioService;)V
-PLcom/android/server/audio/AudioService$AudioHandler;-><init>(Lcom/android/server/audio/AudioService;)V
-PLcom/android/server/audio/AudioService$AudioHandler;-><init>(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$1;)V
-PLcom/android/server/audio/AudioService$AudioHandler;->getSoundEffectFilePath(I)Ljava/lang/String;
-PLcom/android/server/audio/AudioService$AudioHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/audio/AudioService$AudioHandler;->onLoadSoundEffects()Z
-PLcom/android/server/audio/AudioService$AudioHandler;->onPersistSafeVolumeState(I)V
-PLcom/android/server/audio/AudioService$AudioHandler;->setAllVolumes(Lcom/android/server/audio/AudioService$VolumeStreamState;)V
-PLcom/android/server/audio/AudioService$AudioHandler;->setForceUse(IILjava/lang/String;)V
-PLcom/android/server/audio/AudioService$AudioServiceBroadcastReceiver;-><init>(Lcom/android/server/audio/AudioService;)V
-PLcom/android/server/audio/AudioService$AudioServiceBroadcastReceiver;-><init>(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$1;)V
-PLcom/android/server/audio/AudioService$AudioServiceBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/audio/AudioService$AudioServiceInternal;-><init>(Lcom/android/server/audio/AudioService;)V
+PLcom/android/server/audio/AudioService$AudioHandler;->onPlaySoundEffect(II)V
+PLcom/android/server/audio/AudioService$AudioHandler;->persistVolume(Lcom/android/server/audio/AudioService$VolumeStreamState;I)V
+PLcom/android/server/audio/AudioService$AudioPolicyProxy;-><init>(Lcom/android/server/audio/AudioService;Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/audiopolicy/IAudioPolicyCallback;ZZZ)V
+PLcom/android/server/audio/AudioService$AudioPolicyProxy;->connectMixes()V
+PLcom/android/server/audio/AudioService$AudioPolicyProxy;->hasMixAffectingUsage(I)Z
+PLcom/android/server/audio/AudioService$AudioPolicyProxy;->release()V
+PLcom/android/server/audio/AudioService$AudioServiceInternal;->adjustStreamVolumeForUid(IIILjava/lang/String;I)V
+PLcom/android/server/audio/AudioService$AudioServiceInternal;->adjustSuggestedStreamVolumeForUid(IIILjava/lang/String;I)V
 PLcom/android/server/audio/AudioService$AudioServiceInternal;->getRingerModeInternal()I
-PLcom/android/server/audio/AudioService$AudioServiceInternal;->setAccessibilityServiceUids(Landroid/util/IntArray;)V
-PLcom/android/server/audio/AudioService$AudioServiceInternal;->setRingerModeDelegate(Landroid/media/AudioManagerInternal$RingerModeDelegate;)V
 PLcom/android/server/audio/AudioService$AudioServiceInternal;->setRingerModeInternal(ILjava/lang/String;)V
-PLcom/android/server/audio/AudioService$AudioServiceInternal;->updateRingerModeAffectedStreamsInternal()V
-PLcom/android/server/audio/AudioService$AudioServiceUserRestrictionsListener;-><init>(Lcom/android/server/audio/AudioService;)V
-PLcom/android/server/audio/AudioService$AudioServiceUserRestrictionsListener;-><init>(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$1;)V
-PLcom/android/server/audio/AudioService$AudioServiceUserRestrictionsListener;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
-PLcom/android/server/audio/AudioService$AudioSystemThread;-><init>(Lcom/android/server/audio/AudioService;)V
-PLcom/android/server/audio/AudioService$AudioSystemThread;->run()V
-PLcom/android/server/audio/AudioService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/audio/AudioService$Lifecycle;->onBootPhase(I)V
-PLcom/android/server/audio/AudioService$Lifecycle;->onStart()V
-PLcom/android/server/audio/AudioService$MyDisplayStatusCallback;-><init>(Lcom/android/server/audio/AudioService;)V
-PLcom/android/server/audio/AudioService$MyDisplayStatusCallback;-><init>(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$1;)V
-PLcom/android/server/audio/AudioService$SettingsObserver;-><init>(Lcom/android/server/audio/AudioService;)V
-PLcom/android/server/audio/AudioService$SettingsObserver;->onChange(Z)V
-PLcom/android/server/audio/AudioService$SettingsObserver;->updateEncodedSurroundOutput()V
-PLcom/android/server/audio/AudioService$SoundPoolCallback;-><init>(Lcom/android/server/audio/AudioService;)V
-PLcom/android/server/audio/AudioService$SoundPoolCallback;-><init>(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$1;)V
-PLcom/android/server/audio/AudioService$SoundPoolCallback;->onLoadComplete(Landroid/media/SoundPool;II)V
-PLcom/android/server/audio/AudioService$SoundPoolCallback;->setSamples([I)V
-PLcom/android/server/audio/AudioService$SoundPoolCallback;->status()I
-PLcom/android/server/audio/AudioService$SoundPoolListenerThread;-><init>(Lcom/android/server/audio/AudioService;)V
-PLcom/android/server/audio/AudioService$SoundPoolListenerThread;->run()V
-PLcom/android/server/audio/AudioService$VolumeController;-><init>()V
-PLcom/android/server/audio/AudioService$VolumeController;->asBinder()Landroid/os/IBinder;
-PLcom/android/server/audio/AudioService$VolumeController;->binder(Landroid/media/IVolumeController;)Landroid/os/IBinder;
-PLcom/android/server/audio/AudioService$VolumeController;->isSameBinder(Landroid/media/IVolumeController;)Z
-PLcom/android/server/audio/AudioService$VolumeController;->loadSettings(Landroid/content/ContentResolver;)V
-PLcom/android/server/audio/AudioService$VolumeController;->postDismiss()V
-PLcom/android/server/audio/AudioService$VolumeController;->setController(Landroid/media/IVolumeController;)V
-PLcom/android/server/audio/AudioService$VolumeController;->setLayoutDirection(I)V
+PLcom/android/server/audio/AudioService$AudioServiceInternal;->silenceRingerModeInternal(Ljava/lang/String;)V
+PLcom/android/server/audio/AudioService$ForceControlStreamClient;-><init>(Lcom/android/server/audio/AudioService;Landroid/os/IBinder;)V
+PLcom/android/server/audio/AudioService$ForceControlStreamClient;->release()V
+PLcom/android/server/audio/AudioService$RmtSbmxFullVolDeathHandler;-><init>(Lcom/android/server/audio/AudioService;Landroid/os/IBinder;)V
+PLcom/android/server/audio/AudioService$RmtSbmxFullVolDeathHandler;->forget()V
+PLcom/android/server/audio/AudioService$RmtSbmxFullVolDeathHandler;->isHandlerFor(Landroid/os/IBinder;)Z
+PLcom/android/server/audio/AudioService$SetModeDeathHandler;->getBinder()Landroid/os/IBinder;
+PLcom/android/server/audio/AudioService$SetModeDeathHandler;->getMode()I
+PLcom/android/server/audio/AudioService$SetModeDeathHandler;->getPid()I
+PLcom/android/server/audio/AudioService$SetModeDeathHandler;->setMode(I)V
+PLcom/android/server/audio/AudioService$VolumeController;->postVolumeChanged(II)V
 PLcom/android/server/audio/AudioService$VolumeController;->setVisible(Z)V
-PLcom/android/server/audio/AudioService$VolumeStreamState;-><init>(Lcom/android/server/audio/AudioService;Ljava/lang/String;I)V
-PLcom/android/server/audio/AudioService$VolumeStreamState;-><init>(Lcom/android/server/audio/AudioService;Ljava/lang/String;ILcom/android/server/audio/AudioService$1;)V
-PLcom/android/server/audio/AudioService$VolumeStreamState;->access$500(Lcom/android/server/audio/AudioService$VolumeStreamState;)I
-PLcom/android/server/audio/AudioService$VolumeStreamState;->access$700(Lcom/android/server/audio/AudioService$VolumeStreamState;)Z
-PLcom/android/server/audio/AudioService$VolumeStreamState;->access$800(Lcom/android/server/audio/AudioService$VolumeStreamState;)I
-PLcom/android/server/audio/AudioService$VolumeStreamState;->applyAllVolumes()V
-PLcom/android/server/audio/AudioService$VolumeStreamState;->applyDeviceVolume_syncVSS(I)V
-PLcom/android/server/audio/AudioService$VolumeStreamState;->checkFixedVolumeDevices()V
-PLcom/android/server/audio/AudioService$VolumeStreamState;->getIndex(I)I
-PLcom/android/server/audio/AudioService$VolumeStreamState;->getMaxIndex()I
-PLcom/android/server/audio/AudioService$VolumeStreamState;->getMinIndex()I
-PLcom/android/server/audio/AudioService$VolumeStreamState;->getSettingNameForDevice(I)Ljava/lang/String;
-PLcom/android/server/audio/AudioService$VolumeStreamState;->getStreamType()I
-PLcom/android/server/audio/AudioService$VolumeStreamState;->getValidIndex(I)I
-PLcom/android/server/audio/AudioService$VolumeStreamState;->hasValidSettingsName()Z
-PLcom/android/server/audio/AudioService$VolumeStreamState;->mute(Z)V
-PLcom/android/server/audio/AudioService$VolumeStreamState;->observeDevicesForStream_syncVSS(Z)I
-PLcom/android/server/audio/AudioService$VolumeStreamState;->readSettings()V
-PLcom/android/server/audio/AudioService$VolumeStreamState;->setAllIndexes(Lcom/android/server/audio/AudioService$VolumeStreamState;Ljava/lang/String;)V
-PLcom/android/server/audio/AudioService$VolumeStreamState;->setIndex(IILjava/lang/String;)Z
-PLcom/android/server/audio/AudioService;-><init>(Landroid/content/Context;)V
+PLcom/android/server/audio/AudioService$VolumeController;->suppressAdjustment(IIZ)Z
+PLcom/android/server/audio/AudioService$VolumeStreamState;->access$800(Lcom/android/server/audio/AudioService$VolumeStreamState;)Z
+PLcom/android/server/audio/AudioService$VolumeStreamState;->adjustIndex(IILjava/lang/String;)Z
+PLcom/android/server/audio/AudioService$VolumeStreamState;->getAbsoluteVolumeIndex(I)I
+PLcom/android/server/audio/AudioService$VolumeStreamState;->hasIndexForDevice(I)Z
+PLcom/android/server/audio/AudioService$VolumeStreamState;->refreshRange(I)V
 PLcom/android/server/audio/AudioService;->abandonAudioFocus(Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Landroid/media/AudioAttributes;Ljava/lang/String;)I
-PLcom/android/server/audio/AudioService;->access$000(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/AudioService$AudioHandler;
-PLcom/android/server/audio/AudioService;->access$002(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$AudioHandler;)Lcom/android/server/audio/AudioService$AudioHandler;
-PLcom/android/server/audio/AudioService;->access$100(Landroid/os/Handler;IIIILjava/lang/Object;I)V
-PLcom/android/server/audio/AudioService;->access$10000(Lcom/android/server/audio/AudioService;)Z
-PLcom/android/server/audio/AudioService;->access$10002(Lcom/android/server/audio/AudioService;Z)Z
-PLcom/android/server/audio/AudioService;->access$10100(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/MediaFocusControl;
-PLcom/android/server/audio/AudioService;->access$10200(Lcom/android/server/audio/AudioService;Z)V
-PLcom/android/server/audio/AudioService;->access$11300(Lcom/android/server/audio/AudioService;)Landroid/media/AudioManagerInternal$RingerModeDelegate;
-PLcom/android/server/audio/AudioService;->access$11302(Lcom/android/server/audio/AudioService;Landroid/media/AudioManagerInternal$RingerModeDelegate;)Landroid/media/AudioManagerInternal$RingerModeDelegate;
-PLcom/android/server/audio/AudioService;->access$11600(Lcom/android/server/audio/AudioService;)Ljava/lang/Object;
-PLcom/android/server/audio/AudioService;->access$11702(Lcom/android/server/audio/AudioService;[I)[I
-PLcom/android/server/audio/AudioService;->access$2100(Lcom/android/server/audio/AudioService;)Landroid/os/Looper;
-PLcom/android/server/audio/AudioService;->access$2102(Lcom/android/server/audio/AudioService;Landroid/os/Looper;)Landroid/os/Looper;
-PLcom/android/server/audio/AudioService;->access$2200(Lcom/android/server/audio/AudioService;)Ljava/lang/Object;
-PLcom/android/server/audio/AudioService;->access$2300(Lcom/android/server/audio/AudioService;)Landroid/media/SoundPool;
-PLcom/android/server/audio/AudioService;->access$2302(Lcom/android/server/audio/AudioService;Landroid/media/SoundPool;)Landroid/media/SoundPool;
-PLcom/android/server/audio/AudioService;->access$2400(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/AudioService$SoundPoolCallback;
-PLcom/android/server/audio/AudioService;->access$2402(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$SoundPoolCallback;)Lcom/android/server/audio/AudioService$SoundPoolCallback;
-PLcom/android/server/audio/AudioService;->access$2600(Lcom/android/server/audio/AudioService;)Ljava/util/ArrayList;
-PLcom/android/server/audio/AudioService;->access$2700(Lcom/android/server/audio/AudioService;)V
-PLcom/android/server/audio/AudioService;->access$2900(Lcom/android/server/audio/AudioService;)I
-PLcom/android/server/audio/AudioService;->access$3200(Lcom/android/server/audio/AudioService;)Landroid/content/ContentResolver;
-PLcom/android/server/audio/AudioService;->access$3300(Lcom/android/server/audio/AudioService;)Landroid/bluetooth/BluetoothHeadset;
-PLcom/android/server/audio/AudioService;->access$3302(Lcom/android/server/audio/AudioService;Landroid/bluetooth/BluetoothHeadset;)Landroid/bluetooth/BluetoothHeadset;
-PLcom/android/server/audio/AudioService;->access$3700(Lcom/android/server/audio/AudioService;)Landroid/util/ArrayMap;
-PLcom/android/server/audio/AudioService;->access$3800(Lcom/android/server/audio/AudioService;)Ljava/lang/Object;
-PLcom/android/server/audio/AudioService;->access$3900(Lcom/android/server/audio/AudioService;)Landroid/bluetooth/BluetoothA2dp;
-PLcom/android/server/audio/AudioService;->access$3902(Lcom/android/server/audio/AudioService;Landroid/bluetooth/BluetoothA2dp;)Landroid/bluetooth/BluetoothA2dp;
-PLcom/android/server/audio/AudioService;->access$4100(Lcom/android/server/audio/AudioService;Landroid/bluetooth/BluetoothDevice;)V
-PLcom/android/server/audio/AudioService;->access$4200(Lcom/android/server/audio/AudioService;)Ljava/lang/Object;
-PLcom/android/server/audio/AudioService;->access$4300(Lcom/android/server/audio/AudioService;)Landroid/bluetooth/BluetoothHearingAid;
-PLcom/android/server/audio/AudioService;->access$4302(Lcom/android/server/audio/AudioService;Landroid/bluetooth/BluetoothHearingAid;)Landroid/bluetooth/BluetoothHearingAid;
-PLcom/android/server/audio/AudioService;->access$4400(Lcom/android/server/audio/AudioService;I)V
-PLcom/android/server/audio/AudioService;->access$4500(Lcom/android/server/audio/AudioService;Landroid/content/Intent;)V
-PLcom/android/server/audio/AudioService;->access$4600(Lcom/android/server/audio/AudioService;)Ljava/lang/Object;
-PLcom/android/server/audio/AudioService;->access$4700(Lcom/android/server/audio/AudioService;)Z
-PLcom/android/server/audio/AudioService;->access$4800(Lcom/android/server/audio/AudioService;)Z
-PLcom/android/server/audio/AudioService;->access$5000(Lcom/android/server/audio/AudioService;I)I
-PLcom/android/server/audio/AudioService;->access$5100(Lcom/android/server/audio/AudioService;)[Lcom/android/server/audio/AudioService$VolumeStreamState;
-PLcom/android/server/audio/AudioService;->access$5200(Lcom/android/server/audio/AudioService;III)I
-PLcom/android/server/audio/AudioService;->access$5700(Lcom/android/server/audio/AudioService;)[[I
-PLcom/android/server/audio/AudioService;->access$5800()Ljava/util/List;
-PLcom/android/server/audio/AudioService;->access$5900(Lcom/android/server/audio/AudioService;)Z
-PLcom/android/server/audio/AudioService;->access$6000(Lcom/android/server/audio/AudioService;)V
-PLcom/android/server/audio/AudioService;->access$6100(Lcom/android/server/audio/AudioService;)Lcom/android/server/audio/AudioService$SoundPoolListenerThread;
-PLcom/android/server/audio/AudioService;->access$6102(Lcom/android/server/audio/AudioService;Lcom/android/server/audio/AudioService$SoundPoolListenerThread;)Lcom/android/server/audio/AudioService$SoundPoolListenerThread;
-PLcom/android/server/audio/AudioService;->access$6400(Lcom/android/server/audio/AudioService;IILjava/lang/String;)V
-PLcom/android/server/audio/AudioService;->access$7900(Lcom/android/server/audio/AudioService;ZLjava/lang/String;)V
-PLcom/android/server/audio/AudioService;->access$8000(Lcom/android/server/audio/AudioService;I)V
-PLcom/android/server/audio/AudioService;->access$8500(Lcom/android/server/audio/AudioService;)I
-PLcom/android/server/audio/AudioService;->access$8502(Lcom/android/server/audio/AudioService;I)I
-PLcom/android/server/audio/AudioService;->access$8602(Lcom/android/server/audio/AudioService;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/audio/AudioService;->access$8700(Lcom/android/server/audio/AudioService;)Z
-PLcom/android/server/audio/AudioService;->access$8800(Lcom/android/server/audio/AudioService;IZ)V
-PLcom/android/server/audio/AudioService;->access$8900(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;)V
-PLcom/android/server/audio/AudioService;->access$9000(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;)V
-PLcom/android/server/audio/AudioService;->access$9100(Lcom/android/server/audio/AudioService;)Z
-PLcom/android/server/audio/AudioService;->access$9102(Lcom/android/server/audio/AudioService;Z)Z
-PLcom/android/server/audio/AudioService;->access$9200(Lcom/android/server/audio/AudioService;Landroid/content/ContentResolver;Z)V
-PLcom/android/server/audio/AudioService;->access$9800(Lcom/android/server/audio/AudioService;)Z
-PLcom/android/server/audio/AudioService;->access$9900(Lcom/android/server/audio/AudioService;Landroid/content/Context;)V
-PLcom/android/server/audio/AudioService;->broadcastMasterMuteStatus(Z)V
-PLcom/android/server/audio/AudioService;->broadcastRingerMode(Ljava/lang/String;I)V
-PLcom/android/server/audio/AudioService;->broadcastScoConnectionState(I)V
-PLcom/android/server/audio/AudioService;->broadcastVibrateSetting(I)V
-PLcom/android/server/audio/AudioService;->checkAllAliasStreamVolumes()V
-PLcom/android/server/audio/AudioService;->checkAllFixedVolumeDevices()V
-PLcom/android/server/audio/AudioService;->checkMuteAffectedStreams()V
-PLcom/android/server/audio/AudioService;->checkScoAudioState()V
-PLcom/android/server/audio/AudioService;->clearAllScoClients(IZ)V
-PLcom/android/server/audio/AudioService;->createAudioSystemThread()V
-PLcom/android/server/audio/AudioService;->createStreamStates()V
-PLcom/android/server/audio/AudioService;->enforceVolumeController(Ljava/lang/String;)V
-PLcom/android/server/audio/AudioService;->ensureValidRingerMode(I)V
-PLcom/android/server/audio/AudioService;->ensureValidStreamType(I)V
+PLcom/android/server/audio/AudioService;->adjustStreamVolume(IIILjava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/audio/AudioService;->adjustSuggestedStreamVolume(IIILjava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/audio/AudioService;->avrcpSupportsAbsoluteVolume(Ljava/lang/String;Z)V
+PLcom/android/server/audio/AudioService;->checkAudioSettingsPermission(Ljava/lang/String;)Z
+PLcom/android/server/audio/AudioService;->checkMusicActive(ILjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->checkSafeMediaVolume(III)Z
+PLcom/android/server/audio/AudioService;->checkVolumeCecOnHdmiConnection(ILjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->discardRmtSbmxFullVolDeathHandlerFor(Landroid/os/IBinder;)Z
+PLcom/android/server/audio/AudioService;->ensureValidDirection(I)V
 PLcom/android/server/audio/AudioService;->forceFocusDuckingForAccessibility(Landroid/media/AudioAttributes;II)Z
-PLcom/android/server/audio/AudioService;->getBluetoothHeadset()Z
+PLcom/android/server/audio/AudioService;->forceRemoteSubmixFullVolume(ZLandroid/os/IBinder;)V
+PLcom/android/server/audio/AudioService;->forceVolumeControlStream(ILandroid/os/IBinder;)V
+PLcom/android/server/audio/AudioService;->getActiveStreamType(I)I
 PLcom/android/server/audio/AudioService;->getCurrentAudioFocus()I
-PLcom/android/server/audio/AudioService;->getCurrentUserId()I
-PLcom/android/server/audio/AudioService;->getDeviceForStream(I)I
-PLcom/android/server/audio/AudioService;->getDevicesForStream(I)I
-PLcom/android/server/audio/AudioService;->getDevicesForStream(IZ)I
-PLcom/android/server/audio/AudioService;->getLastAudibleStreamVolume(I)I
-PLcom/android/server/audio/AudioService;->getMode()I
-PLcom/android/server/audio/AudioService;->getRingerModeExternal()I
-PLcom/android/server/audio/AudioService;->getRingerModeInternal()I
+PLcom/android/server/audio/AudioService;->getFocusRampTimeMs(ILandroid/media/AudioAttributes;)I
+PLcom/android/server/audio/AudioService;->getNewRingerMode(III)I
 PLcom/android/server/audio/AudioService;->getRingtonePlayer()Landroid/media/IRingtonePlayer;
-PLcom/android/server/audio/AudioService;->getSafeUsbMediaVolumeIndex()I
-PLcom/android/server/audio/AudioService;->getStreamMaxVolume(I)I
-PLcom/android/server/audio/AudioService;->getStreamMinVolume(I)I
+PLcom/android/server/audio/AudioService;->getStreamState(I)Lcom/android/server/audio/AudioService$VolumeStreamState;
 PLcom/android/server/audio/AudioService;->getStreamVolume(I)I
 PLcom/android/server/audio/AudioService;->getUiSoundsStreamType()I
-PLcom/android/server/audio/AudioService;->getVibrateSetting(I)I
-PLcom/android/server/audio/AudioService;->handleConfigurationChanged(Landroid/content/Context;)V
-PLcom/android/server/audio/AudioService;->initA11yMonitoring()V
-PLcom/android/server/audio/AudioService;->isBluetoothScoOn()Z
+PLcom/android/server/audio/AudioService;->handleAudioEffectBroadcast(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/audio/AudioService;->handleBluetoothA2dpDeviceConfigChange(Landroid/bluetooth/BluetoothDevice;)V
+PLcom/android/server/audio/AudioService;->hasMediaDynamicPolicy()Z
+PLcom/android/server/audio/AudioService;->isAndroidNPlus(Ljava/lang/String;)Z
+PLcom/android/server/audio/AudioService;->isBluetoothA2dpOn()Z
 PLcom/android/server/audio/AudioService;->isCameraSoundForced()Z
-PLcom/android/server/audio/AudioService;->isInCommunication()Z
-PLcom/android/server/audio/AudioService;->isPlatformTelevision()Z
+PLcom/android/server/audio/AudioService;->isPolicyRegisterAllowed(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/projection/IMediaProjection;)Z
 PLcom/android/server/audio/AudioService;->isSpeakerphoneOn()Z
-PLcom/android/server/audio/AudioService;->isStreamAffectedByMute(I)Z
-PLcom/android/server/audio/AudioService;->isStreamAffectedByRingerMode(I)Z
-PLcom/android/server/audio/AudioService;->isStreamMute(I)Z
-PLcom/android/server/audio/AudioService;->isStreamMutedByRingerOrZenMode(I)Z
-PLcom/android/server/audio/AudioService;->isSystem(I)Z
-PLcom/android/server/audio/AudioService;->isValidRingerMode(I)Z
-PLcom/android/server/audio/AudioService;->loadTouchSoundAssetDefaults()V
-PLcom/android/server/audio/AudioService;->loadTouchSoundAssets()V
-PLcom/android/server/audio/AudioService;->muteRingerModeStreams()V
+PLcom/android/server/audio/AudioService;->maybeVibrate(Landroid/os/VibrationEffect;Ljava/lang/String;)Z
 PLcom/android/server/audio/AudioService;->notifyVolumeControllerVisible(Landroid/media/IVolumeController;Z)V
-PLcom/android/server/audio/AudioService;->observeDevicesForStreams(I)V
-PLcom/android/server/audio/AudioService;->onBroadcastScoConnectionState(I)V
+PLcom/android/server/audio/AudioService;->observeDevicesForAllStreams()V
+PLcom/android/server/audio/AudioService;->onAccessoryPlugMediaUnmute(I)V
+PLcom/android/server/audio/AudioService;->onCheckMusicActive(Ljava/lang/String;)V
 PLcom/android/server/audio/AudioService;->onConfigureSafeVolume(ZLjava/lang/String;)V
-PLcom/android/server/audio/AudioService;->onIndicateSystemReady()V
-PLcom/android/server/audio/AudioService;->onSystemReady()V
+PLcom/android/server/audio/AudioService;->onSetStreamVolume(IIIILjava/lang/String;)V
 PLcom/android/server/audio/AudioService;->playSoundEffect(I)V
 PLcom/android/server/audio/AudioService;->playSoundEffectVolume(IF)V
 PLcom/android/server/audio/AudioService;->playerAttributes(ILandroid/media/AudioAttributes;)V
 PLcom/android/server/audio/AudioService;->playerEvent(II)V
 PLcom/android/server/audio/AudioService;->playerHasOpPlayAudio(IZ)V
-PLcom/android/server/audio/AudioService;->readAndSetLowRamDevice()V
-PLcom/android/server/audio/AudioService;->readAudioSettings(Z)V
-PLcom/android/server/audio/AudioService;->readCameraSoundForced()Z
-PLcom/android/server/audio/AudioService;->readDockAudioSettings(Landroid/content/ContentResolver;)V
-PLcom/android/server/audio/AudioService;->readPersistedSettings()V
-PLcom/android/server/audio/AudioService;->readUserRestrictions()V
-PLcom/android/server/audio/AudioService;->registerPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)V
+PLcom/android/server/audio/AudioService;->postAccessoryPlugMediaUnmute(I)V
+PLcom/android/server/audio/AudioService;->registerAudioPolicy(Landroid/media/audiopolicy/AudioPolicyConfig;Landroid/media/audiopolicy/IAudioPolicyCallback;ZZZLandroid/media/projection/IMediaProjection;)Ljava/lang/String;
+PLcom/android/server/audio/AudioService;->registerAudioServerStateDispatcher(Landroid/media/IAudioServerStateDispatcher;)V
 PLcom/android/server/audio/AudioService;->releasePlayer(I)V
 PLcom/android/server/audio/AudioService;->requestAudioFocus(Landroid/media/AudioAttributes;ILandroid/os/IBinder;Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Ljava/lang/String;ILandroid/media/audiopolicy/IAudioPolicyCallback;I)I
-PLcom/android/server/audio/AudioService;->rescaleIndex(III)I
-PLcom/android/server/audio/AudioService;->resetBluetoothSco()V
-PLcom/android/server/audio/AudioService;->sendBroadcastToAll(Landroid/content/Intent;)V
-PLcom/android/server/audio/AudioService;->sendEnabledSurroundFormats(Landroid/content/ContentResolver;Z)V
-PLcom/android/server/audio/AudioService;->sendEncodedSurroundMode(ILjava/lang/String;)V
-PLcom/android/server/audio/AudioService;->sendEncodedSurroundMode(Landroid/content/ContentResolver;Ljava/lang/String;)V
 PLcom/android/server/audio/AudioService;->sendMsg(Landroid/os/Handler;IIIILjava/lang/Object;I)V
-PLcom/android/server/audio/AudioService;->sendStickyBroadcastToAll(Landroid/content/Intent;)V
-PLcom/android/server/audio/AudioService;->setBluetoothScoOnInt(ZLjava/lang/String;)V
-PLcom/android/server/audio/AudioService;->setBtScoActiveDevice(Landroid/bluetooth/BluetoothDevice;)V
-PLcom/android/server/audio/AudioService;->setForceUseInt_SyncDevices(IILjava/lang/String;)V
-PLcom/android/server/audio/AudioService;->setRingerMode(ILjava/lang/String;Z)V
-PLcom/android/server/audio/AudioService;->setRingerModeExt(I)V
-PLcom/android/server/audio/AudioService;->setRingerModeInt(IZ)V
-PLcom/android/server/audio/AudioService;->setRingerModeInternal(ILjava/lang/String;)V
-PLcom/android/server/audio/AudioService;->setRingtonePlayer(Landroid/media/IRingtonePlayer;)V
-PLcom/android/server/audio/AudioService;->setSystemAudioMute(Z)V
-PLcom/android/server/audio/AudioService;->setVolumeController(Landroid/media/IVolumeController;)V
-PLcom/android/server/audio/AudioService;->setVolumePolicy(Landroid/media/VolumePolicy;)V
-PLcom/android/server/audio/AudioService;->shouldZenMuteStream(I)Z
-PLcom/android/server/audio/AudioService;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
-PLcom/android/server/audio/AudioService;->systemReady()V
-PLcom/android/server/audio/AudioService;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I
-PLcom/android/server/audio/AudioService;->updateA11yVolumeAlias(Z)V
-PLcom/android/server/audio/AudioService;->updateDefaultStreamOverrideDelay(Z)V
-PLcom/android/server/audio/AudioService;->updateDefaultVolumes()V
-PLcom/android/server/audio/AudioService;->updateMasterMono(Landroid/content/ContentResolver;)V
-PLcom/android/server/audio/AudioService;->updateRingerAndZenModeAffectedStreams()Z
-PLcom/android/server/audio/AudioService;->updateStreamVolumeAlias(ZLjava/lang/String;)V
-PLcom/android/server/audio/AudioService;->updateZenModeAffectedStreams()Z
-PLcom/android/server/audio/AudioService;->waitForAudioHandlerCreation()V
-PLcom/android/server/audio/AudioServiceEvents$ForceUseEvent;-><init>(IILjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->sendVolumeUpdate(IIII)V
+PLcom/android/server/audio/AudioService;->setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(Landroid/bluetooth/BluetoothDevice;IIZI)I
+PLcom/android/server/audio/AudioService;->setBluetoothA2dpOn(Z)V
+PLcom/android/server/audio/AudioService;->setDeviceVolume(Lcom/android/server/audio/AudioService$VolumeStreamState;I)V
+PLcom/android/server/audio/AudioService;->setMicrophoneMute(ZLjava/lang/String;I)V
+PLcom/android/server/audio/AudioService;->setMicrophoneMuteNoCallerCheck(ZI)V
+PLcom/android/server/audio/AudioService;->setMode(ILandroid/os/IBinder;Ljava/lang/String;)V
+PLcom/android/server/audio/AudioService;->setModeInt(ILandroid/os/IBinder;ILjava/lang/String;)I
+PLcom/android/server/audio/AudioService;->setSpeakerphoneOn(Z)V
+PLcom/android/server/audio/AudioService;->setStreamVolume(IIILjava/lang/String;)V
+PLcom/android/server/audio/AudioService;->setStreamVolume(IIILjava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/audio/AudioService;->setSystemAudioVolume(IIII)V
+PLcom/android/server/audio/AudioService;->setWiredDeviceConnectionState(IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/audio/AudioService;->silenceRingerModeInternal(Ljava/lang/String;)V
+PLcom/android/server/audio/AudioService;->stopBluetoothSco(Landroid/os/IBinder;)V
+PLcom/android/server/audio/AudioService;->unregisterAudioPolicyAsync(Landroid/media/audiopolicy/IAudioPolicyCallback;)V
+PLcom/android/server/audio/AudioService;->updateFlagsForSystemAudio(I)I
+PLcom/android/server/audio/AudioService;->volumeAdjustmentAllowedByDnd(II)Z
+PLcom/android/server/audio/BtHelper$1;->onServiceConnected(ILandroid/bluetooth/BluetoothProfile;)V
+PLcom/android/server/audio/BtHelper$BluetoothA2dpDeviceInfo;->getBtDevice()Landroid/bluetooth/BluetoothDevice;
+PLcom/android/server/audio/BtHelper$BluetoothA2dpDeviceInfo;->getCodec()I
+PLcom/android/server/audio/BtHelper$BluetoothA2dpDeviceInfo;->getVolume()I
+PLcom/android/server/audio/BtHelper;->disconnectBluetoothSco(I)V
+PLcom/android/server/audio/BtHelper;->getA2dpCodec(Landroid/bluetooth/BluetoothDevice;)I
+PLcom/android/server/audio/BtHelper;->getScoClient(Landroid/os/IBinder;Z)Lcom/android/server/audio/BtHelper$ScoClient;
+PLcom/android/server/audio/BtHelper;->handleBtScoActiveDeviceChange(Landroid/bluetooth/BluetoothDevice;Z)Z
+PLcom/android/server/audio/BtHelper;->isBluetoothScoOn()Z
+PLcom/android/server/audio/BtHelper;->onA2dpProfileConnected(Landroid/bluetooth/BluetoothA2dp;)V
+PLcom/android/server/audio/BtHelper;->onHeadsetProfileConnected(Landroid/bluetooth/BluetoothHeadset;)V
+PLcom/android/server/audio/BtHelper;->onHearingAidProfileConnected(Landroid/bluetooth/BluetoothHearingAid;)V
+PLcom/android/server/audio/BtHelper;->receiveBtEvent(Landroid/content/Intent;)V
+PLcom/android/server/audio/BtHelper;->setAvrcpAbsoluteVolumeIndex(I)V
+PLcom/android/server/audio/BtHelper;->setAvrcpAbsoluteVolumeSupported(Z)V
+PLcom/android/server/audio/BtHelper;->setBtScoActiveDevice(Landroid/bluetooth/BluetoothDevice;)V
+PLcom/android/server/audio/BtHelper;->stopBluetoothScoForClient(Landroid/os/IBinder;Ljava/lang/String;)V
 PLcom/android/server/audio/FocusRequester;-><init>(Landroid/media/AudioAttributes;IILandroid/media/IAudioFocusDispatcher;Landroid/os/IBinder;Ljava/lang/String;Lcom/android/server/audio/MediaFocusControl$AudioFocusDeathHandler;Ljava/lang/String;ILcom/android/server/audio/MediaFocusControl;I)V
 PLcom/android/server/audio/FocusRequester;->finalize()V
 PLcom/android/server/audio/FocusRequester;->focusLossForGainRequest(I)I
+PLcom/android/server/audio/FocusRequester;->getClientId()Ljava/lang/String;
 PLcom/android/server/audio/FocusRequester;->getClientUid()I
+PLcom/android/server/audio/FocusRequester;->getGainRequest()I
+PLcom/android/server/audio/FocusRequester;->getGrantFlags()I
+PLcom/android/server/audio/FocusRequester;->getSdkTarget()I
+PLcom/android/server/audio/FocusRequester;->handleFocusGain(I)V
 PLcom/android/server/audio/FocusRequester;->handleFocusGainFromRequest(I)V
 PLcom/android/server/audio/FocusRequester;->handleFocusLoss(ILcom/android/server/audio/FocusRequester;Z)V
 PLcom/android/server/audio/FocusRequester;->handleFocusLossFromGain(ILcom/android/server/audio/FocusRequester;Z)Z
+PLcom/android/server/audio/FocusRequester;->hasSameBinder(Landroid/os/IBinder;)Z
 PLcom/android/server/audio/FocusRequester;->hasSameClient(Ljava/lang/String;)Z
+PLcom/android/server/audio/FocusRequester;->hasSameUid(I)Z
 PLcom/android/server/audio/FocusRequester;->isLockedFocusOwner()Z
 PLcom/android/server/audio/FocusRequester;->release()V
 PLcom/android/server/audio/FocusRequester;->toAudioFocusInfo()Landroid/media/AudioFocusInfo;
+PLcom/android/server/audio/MediaFocusControl$1;->run()V
+PLcom/android/server/audio/MediaFocusControl$2;->run()V
 PLcom/android/server/audio/MediaFocusControl$AudioFocusDeathHandler;-><init>(Lcom/android/server/audio/MediaFocusControl;Landroid/os/IBinder;)V
-PLcom/android/server/audio/MediaFocusControl;-><init>(Landroid/content/Context;Lcom/android/server/audio/PlayerFocusEnforcer;)V
+PLcom/android/server/audio/MediaFocusControl$AudioFocusDeathHandler;->binderDied()V
 PLcom/android/server/audio/MediaFocusControl;->abandonAudioFocus(Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Landroid/media/AudioAttributes;Ljava/lang/String;)I
+PLcom/android/server/audio/MediaFocusControl;->addFocusFollower(Landroid/media/audiopolicy/IAudioPolicyCallback;)V
 PLcom/android/server/audio/MediaFocusControl;->canReassignAudioFocus()Z
-PLcom/android/server/audio/MediaFocusControl;->discardAudioFocusOwner()V
+PLcom/android/server/audio/MediaFocusControl;->duckPlayers(Lcom/android/server/audio/FocusRequester;Lcom/android/server/audio/FocusRequester;Z)Z
 PLcom/android/server/audio/MediaFocusControl;->getCurrentAudioFocus()I
-PLcom/android/server/audio/MediaFocusControl;->getFocusRampTimeMs(ILandroid/media/AudioAttributes;)I
-PLcom/android/server/audio/MediaFocusControl;->isLockedFocusOwner(Lcom/android/server/audio/FocusRequester;)Z
 PLcom/android/server/audio/MediaFocusControl;->mustNotifyFocusOwnerOnDuck()Z
 PLcom/android/server/audio/MediaFocusControl;->notifyExtFocusPolicyFocusRequest_syncAf(Landroid/media/AudioFocusInfo;Landroid/media/IAudioFocusDispatcher;Landroid/os/IBinder;)Z
+PLcom/android/server/audio/MediaFocusControl;->notifyExtPolicyCurrentFocusAsync(Landroid/media/audiopolicy/IAudioPolicyCallback;)V
 PLcom/android/server/audio/MediaFocusControl;->notifyExtPolicyFocusGrant_syncAf(Landroid/media/AudioFocusInfo;I)V
 PLcom/android/server/audio/MediaFocusControl;->notifyExtPolicyFocusLoss_syncAf(Landroid/media/AudioFocusInfo;Z)V
-PLcom/android/server/audio/MediaFocusControl;->notifyTopOfAudioFocusStack()V
 PLcom/android/server/audio/MediaFocusControl;->propagateFocusLossFromGain_syncAf(ILcom/android/server/audio/FocusRequester;Z)V
+PLcom/android/server/audio/MediaFocusControl;->pushBelowLockedFocusOwners(Lcom/android/server/audio/FocusRequester;)I
+PLcom/android/server/audio/MediaFocusControl;->removeFocusFollower(Landroid/media/audiopolicy/IAudioPolicyCallback;)V
 PLcom/android/server/audio/MediaFocusControl;->removeFocusStackEntry(Ljava/lang/String;ZZ)V
+PLcom/android/server/audio/MediaFocusControl;->removeFocusStackEntryOnDeath(Landroid/os/IBinder;)V
 PLcom/android/server/audio/MediaFocusControl;->requestAudioFocus(Landroid/media/AudioAttributes;ILandroid/os/IBinder;Landroid/media/IAudioFocusDispatcher;Ljava/lang/String;Ljava/lang/String;IIZ)I
+PLcom/android/server/audio/MediaFocusControl;->runAudioCheckerForRingOrCallAsync(Z)V
 PLcom/android/server/audio/MediaFocusControl;->unduckPlayers(Lcom/android/server/audio/FocusRequester;)V
-PLcom/android/server/audio/PlaybackActivityMonitor$AudioAttrEvent;-><init>(ILandroid/media/AudioAttributes;)V
-PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;-><init>()V
-PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;-><init>(Lcom/android/server/audio/PlaybackActivityMonitor$1;)V
+PLcom/android/server/audio/PlaybackActivityMonitor$DuckEvent;->eventToString()Ljava/lang/String;
+PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager$DuckedApp;->addDuck(Landroid/media/AudioPlaybackConfiguration;Z)V
+PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager$DuckedApp;->removeUnduckAll(Ljava/util/HashMap;)V
 PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;->checkDuck(Landroid/media/AudioPlaybackConfiguration;)V
+PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;->duckUid(ILjava/util/ArrayList;)V
 PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;->removeReleased(Landroid/media/AudioPlaybackConfiguration;)V
 PLcom/android/server/audio/PlaybackActivityMonitor$DuckingManager;->unduckUid(ILjava/util/HashMap;)V
-PLcom/android/server/audio/PlaybackActivityMonitor$NewPlayerEvent;-><init>(Landroid/media/AudioPlaybackConfiguration;)V
-PLcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;-><init>(Landroid/media/IPlaybackConfigDispatcher;Z)V
-PLcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;->init()Z
-PLcom/android/server/audio/PlaybackActivityMonitor$PlayerEvent;-><init>(II)V
-PLcom/android/server/audio/PlaybackActivityMonitor$PlayerOpPlayAudioEvent;-><init>(IZI)V
-PLcom/android/server/audio/PlaybackActivityMonitor;-><init>(Landroid/content/Context;I)V
+PLcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;->binderDied()V
 PLcom/android/server/audio/PlaybackActivityMonitor;->checkConfigurationCaller(ILandroid/media/AudioPlaybackConfiguration;I)Z
 PLcom/android/server/audio/PlaybackActivityMonitor;->checkVolumeForPrivilegedAlarm(Landroid/media/AudioPlaybackConfiguration;I)V
 PLcom/android/server/audio/PlaybackActivityMonitor;->dispatchPlaybackChange(Z)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->duckPlayers(Lcom/android/server/audio/FocusRequester;Lcom/android/server/audio/FocusRequester;Z)Z
+PLcom/android/server/audio/PlaybackActivityMonitor;->mutePlayersForCall([I)V
 PLcom/android/server/audio/PlaybackActivityMonitor;->playerAttributes(ILandroid/media/AudioAttributes;I)V
 PLcom/android/server/audio/PlaybackActivityMonitor;->playerDeath(I)V
 PLcom/android/server/audio/PlaybackActivityMonitor;->playerEvent(III)V
-PLcom/android/server/audio/PlaybackActivityMonitor;->playerHasOpPlayAudio(IZI)V
-PLcom/android/server/audio/PlaybackActivityMonitor;->registerPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;Z)V
 PLcom/android/server/audio/PlaybackActivityMonitor;->releasePlayer(II)V
-PLcom/android/server/audio/PlaybackActivityMonitor;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I
 PLcom/android/server/audio/PlaybackActivityMonitor;->unduckPlayers(Lcom/android/server/audio/FocusRequester;)V
+PLcom/android/server/audio/PlaybackActivityMonitor;->unmutePlayersForCall()V
+PLcom/android/server/audio/PlaybackActivityMonitor;->unregisterPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)V
 PLcom/android/server/audio/RecordingActivityMonitor$RecordingEvent;-><init>(IIIILjava/lang/String;)V
-PLcom/android/server/audio/RecordingActivityMonitor;-><init>(Landroid/content/Context;)V
-PLcom/android/server/audio/RecordingActivityMonitor;->initMonitor()V
-PLcom/android/server/audio/RecordingActivityMonitor;->onRecordingConfigurationChanged(IIII[ILjava/lang/String;)V
-PLcom/android/server/audio/RecordingActivityMonitor;->updateSnapshot(IIII[I)Ljava/util/List;
-PLcom/android/server/audio/RotationHelper$AudioDisplayListener;-><init>()V
+PLcom/android/server/audio/RecordingActivityMonitor;->dispatchCallbacks(Ljava/util/List;)V
+PLcom/android/server/audio/RecordingActivityMonitor;->onRecordingConfigurationChanged(IIIIIZ[I[Landroid/media/audiofx/AudioEffect$Descriptor;[Landroid/media/audiofx/AudioEffect$Descriptor;ILjava/lang/String;)V
+PLcom/android/server/audio/RecordingActivityMonitor;->updateSnapshot(IIII[IIZI[Landroid/media/audiofx/AudioEffect$Descriptor;[Landroid/media/audiofx/AudioEffect$Descriptor;)Ljava/util/List;
+PLcom/android/server/audio/RotationHelper$AudioDisplayListener;->onDisplayAdded(I)V
 PLcom/android/server/audio/RotationHelper$AudioDisplayListener;->onDisplayChanged(I)V
-PLcom/android/server/audio/RotationHelper;->disable()V
-PLcom/android/server/audio/RotationHelper;->enable()V
-PLcom/android/server/audio/RotationHelper;->init(Landroid/content/Context;Landroid/os/Handler;)V
+PLcom/android/server/audio/RotationHelper$AudioDisplayListener;->onDisplayRemoved(I)V
 PLcom/android/server/audio/RotationHelper;->publishRotation(I)V
-PLcom/android/server/audio/RotationHelper;->updateOrientation()V
-PLcom/android/server/autofill/-$$Lambda$AutofillManagerService$Yt8ZUfnHlFcXzCNLhvGde5dPRDA;-><init>(Lcom/android/server/autofill/AutofillManagerService;)V
-PLcom/android/server/autofill/-$$Lambda$AutofillManagerService$Yt8ZUfnHlFcXzCNLhvGde5dPRDA;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
-PLcom/android/server/autofill/-$$Lambda$RemoteFillService$KN9CcjjmJTg_PJcamzzLgVvQt9M;-><init>()V
-PLcom/android/server/autofill/-$$Lambda$RemoteFillService$KN9CcjjmJTg_PJcamzzLgVvQt9M;->accept(Ljava/lang/Object;)V
-PLcom/android/server/autofill/-$$Lambda$RemoteFillService$PendingRequest$Wzl5nwSdboq2CuUeWvFraQLBZk8;-><init>(Lcom/android/server/autofill/RemoteFillService$PendingRequest;)V
-PLcom/android/server/autofill/-$$Lambda$RemoteFillService$YjPsINV7QuCehWwsB0GTTg1hvr4;-><init>()V
-PLcom/android/server/autofill/-$$Lambda$RemoteFillService$YjPsINV7QuCehWwsB0GTTg1hvr4;->accept(Ljava/lang/Object;)V
-PLcom/android/server/autofill/-$$Lambda$RemoteFillService$_5v43Gwb-Yar1uuVIqDgfleCP_4;-><init>(Lcom/android/server/autofill/RemoteFillService;Lcom/android/server/autofill/RemoteFillService$PendingFillRequest;Landroid/service/autofill/FillResponse;I)V
+PLcom/android/server/autofill/-$$Lambda$AutofillManagerService$1$1-WNu3tTkxodB_LsZ7dGIlvrPN0;-><init>()V
+PLcom/android/server/autofill/-$$Lambda$Helper$nK3g_oXXf8NGajcUf0W5JsQzf3w;->matches(Landroid/app/assist/AssistStructure$ViewNode;)Z
+PLcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$e7zSmzv77rBdYV5oCl-Y8EJj9dY;-><init>()V
+PLcom/android/server/autofill/-$$Lambda$RemoteAugmentedAutofillService$e7zSmzv77rBdYV5oCl-Y8EJj9dY;->run(Landroid/os/IInterface;)V
 PLcom/android/server/autofill/-$$Lambda$RemoteFillService$_5v43Gwb-Yar1uuVIqDgfleCP_4;->run()V
-PLcom/android/server/autofill/-$$Lambda$RemoteFillService$h6FPsdmILphrDZs953cJIyumyqg;-><init>()V
-PLcom/android/server/autofill/-$$Lambda$RemoteFillService$h6FPsdmILphrDZs953cJIyumyqg;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
-PLcom/android/server/autofill/-$$Lambda$Session$xw4trZ-LA7gCvZvpKJ93vf377ak;-><init>(Lcom/android/server/autofill/Session;)V
-PLcom/android/server/autofill/AutofillManagerService$1;-><init>(Lcom/android/server/autofill/AutofillManagerService;)V
+PLcom/android/server/autofill/-$$Lambda$Session$0VAc60LP16186Azy3Ov7dL7BsAE;-><init>()V
+PLcom/android/server/autofill/-$$Lambda$Session$0VAc60LP16186Azy3Ov7dL7BsAE;->accept(Ljava/lang/Object;)V
+PLcom/android/server/autofill/-$$Lambda$Session$eVloK5PeyeuPZn1G52SC-fXIsjk;->run()V
+PLcom/android/server/autofill/-$$Lambda$Session$xw4trZ-LA7gCvZvpKJ93vf377ak;->binderDied()V
 PLcom/android/server/autofill/AutofillManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/autofill/AutofillManagerService$2;-><init>(Lcom/android/server/autofill/AutofillManagerService;)V
-PLcom/android/server/autofill/AutofillManagerService$2;->getActiveAutofillServicePackageName()Ljava/lang/String;
-PLcom/android/server/autofill/AutofillManagerService$2;->handlePackageUpdateLocked(Ljava/lang/String;)V
-PLcom/android/server/autofill/AutofillManagerService$2;->onPackageUpdateFinished(Ljava/lang/String;I)V
-PLcom/android/server/autofill/AutofillManagerService$2;->onSomePackagesChanged()V
-PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;-><init>(Lcom/android/server/autofill/AutofillManagerService;)V
-PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->addClient(Landroid/view/autofill/IAutoFillManagerClient;I)I
-PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->getFillEventHistory()Landroid/service/autofill/FillEventHistory;
+PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->addClient(Landroid/view/autofill/IAutoFillManagerClient;ILcom/android/internal/os/IResultReceiver;)V
+PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->cancelSession(II)V
+PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->finishSession(II)V
+PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->getFillEventHistory(Lcom/android/internal/os/IResultReceiver;)V
+PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->isServiceSupported(ILcom/android/internal/os/IResultReceiver;)V
 PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->removeClient(Landroid/view/autofill/IAutoFillManagerClient;I)V
+PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->restoreSession(ILandroid/os/IBinder;Landroid/os/IBinder;Lcom/android/internal/os/IResultReceiver;)V
+PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->setAugmentedAutofillWhitelist(Ljava/util/List;Ljava/util/List;Lcom/android/internal/os/IResultReceiver;)V
 PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->setHasCallback(IIZ)V
-PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->startSession(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;IZILandroid/content/ComponentName;Z)I
+PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->startSession(Landroid/os/IBinder;Landroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;IZILandroid/content/ComponentName;ZLcom/android/internal/os/IResultReceiver;)V
 PLcom/android/server/autofill/AutofillManagerService$AutoFillManagerServiceStub;->updateSession(ILandroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;III)V
-PLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;-><init>()V
-PLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->isCompatibilityModeRequested(Ljava/lang/String;JI)Z
-PLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->reset(I)V
-PLcom/android/server/autofill/AutofillManagerService$LocalService;-><init>(Lcom/android/server/autofill/AutofillManagerService;)V
-PLcom/android/server/autofill/AutofillManagerService$LocalService;-><init>(Lcom/android/server/autofill/AutofillManagerService;Lcom/android/server/autofill/AutofillManagerService$1;)V
-PLcom/android/server/autofill/AutofillManagerService$LocalService;->isCompatibilityModeRequested(Ljava/lang/String;JI)Z
+PLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->addCompatibilityModeRequest(Ljava/lang/String;J[Ljava/lang/String;I)V
 PLcom/android/server/autofill/AutofillManagerService$LocalService;->onBackKeyPressed()V
-PLcom/android/server/autofill/AutofillManagerService$SettingsObserver;-><init>(Lcom/android/server/autofill/AutofillManagerService;Landroid/os/Handler;)V
-PLcom/android/server/autofill/AutofillManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/autofill/AutofillManagerService;->access$100(Lcom/android/server/autofill/AutofillManagerService;)Ljava/lang/Object;
-PLcom/android/server/autofill/AutofillManagerService;->access$1000(Lcom/android/server/autofill/AutofillManagerService;)Z
-PLcom/android/server/autofill/AutofillManagerService;->access$200(Lcom/android/server/autofill/AutofillManagerService;)Landroid/util/SparseArray;
-PLcom/android/server/autofill/AutofillManagerService;->access$300(Lcom/android/server/autofill/AutofillManagerService;)Lcom/android/server/autofill/ui/AutoFillUI;
-PLcom/android/server/autofill/AutofillManagerService;->access$400(Lcom/android/server/autofill/AutofillManagerService;I)V
-PLcom/android/server/autofill/AutofillManagerService;->access$600(Lcom/android/server/autofill/AutofillManagerService;)Landroid/content/Context;
-PLcom/android/server/autofill/AutofillManagerService;->access$700(Lcom/android/server/autofill/AutofillManagerService;)Lcom/android/server/autofill/AutofillManagerService$AutofillCompatState;
-PLcom/android/server/autofill/AutofillManagerService;->addCompatibilityModeRequestsLocked(Lcom/android/server/autofill/AutofillManagerServiceImpl;I)V
-PLcom/android/server/autofill/AutofillManagerService;->getServiceForUserLocked(I)Lcom/android/server/autofill/AutofillManagerServiceImpl;
-PLcom/android/server/autofill/AutofillManagerService;->lambda$new$0(Lcom/android/server/autofill/AutofillManagerService;ILandroid/os/Bundle;Landroid/os/Bundle;)V
-PLcom/android/server/autofill/AutofillManagerService;->onBootPhase(I)V
-PLcom/android/server/autofill/AutofillManagerService;->onStart()V
-PLcom/android/server/autofill/AutofillManagerService;->onUnlockUser(I)V
-PLcom/android/server/autofill/AutofillManagerService;->peekServiceForUserLocked(I)Lcom/android/server/autofill/AutofillManagerServiceImpl;
-PLcom/android/server/autofill/AutofillManagerService;->setDebugLocked(Z)V
-PLcom/android/server/autofill/AutofillManagerService;->startTrackingPackageChanges()V
-PLcom/android/server/autofill/AutofillManagerService;->updateCachedServiceLocked(I)V
-PLcom/android/server/autofill/AutofillManagerService;->updateCachedServiceLocked(IZ)V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;-><init>(Landroid/content/Context;Ljava/lang/Object;Landroid/util/LocalLog;Landroid/util/LocalLog;Landroid/util/LocalLog;ILcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/AutofillManagerService$AutofillCompatState;Z)V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->addClientLocked(Landroid/view/autofill/IAutoFillManagerClient;)Z
+PLcom/android/server/autofill/AutofillManagerService;->access$1100(Lcom/android/server/autofill/AutofillManagerService;Lcom/android/internal/os/IResultReceiver;I)V
+PLcom/android/server/autofill/AutofillManagerService;->access$1300(Lcom/android/server/autofill/AutofillManagerService;Lcom/android/internal/os/IResultReceiver;I)V
+PLcom/android/server/autofill/AutofillManagerService;->access$1800(Lcom/android/server/autofill/AutofillManagerService;)Landroid/app/ActivityManagerInternal;
+PLcom/android/server/autofill/AutofillManagerService;->access$1900(Lcom/android/server/autofill/AutofillManagerService;)Ljava/lang/Object;
+PLcom/android/server/autofill/AutofillManagerService;->access$2000(Lcom/android/server/autofill/AutofillManagerService;)Landroid/app/ActivityManagerInternal;
+PLcom/android/server/autofill/AutofillManagerService;->access$2000(Lcom/android/server/autofill/AutofillManagerService;I)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/autofill/AutofillManagerService;->access$2100(Lcom/android/server/autofill/AutofillManagerService;)Ljava/lang/Object;
+PLcom/android/server/autofill/AutofillManagerService;->access$2100(Lcom/android/server/autofill/AutofillManagerService;)Z
+PLcom/android/server/autofill/AutofillManagerService;->access$2200(Lcom/android/server/autofill/AutofillManagerService;I)Lcom/android/server/infra/AbstractPerUserSystemService;
+PLcom/android/server/autofill/AutofillManagerService;->access$2300(Lcom/android/server/autofill/AutofillManagerService;)Z
+PLcom/android/server/autofill/AutofillManagerService;->getPartitionMaxCount()I
+PLcom/android/server/autofill/AutofillManagerService;->getVisibleDatasetsMaxCount()I
+PLcom/android/server/autofill/AutofillManagerService;->getWhitelistedCompatModePackages(Ljava/lang/String;)Ljava/util/Map;
+PLcom/android/server/autofill/AutofillManagerService;->send(Lcom/android/internal/os/IResultReceiver;I)V
+PLcom/android/server/autofill/AutofillManagerService;->send(Lcom/android/internal/os/IResultReceiver;Landroid/os/Bundle;)V
+PLcom/android/server/autofill/AutofillManagerServiceImpl$PruneTask;->doInBackground([Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/autofill/AutofillManagerServiceImpl$PruneTask;->doInBackground([Ljava/lang/Void;)Ljava/lang/Void;
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->assertCallerLocked(Landroid/content/ComponentName;Z)V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->createSessionByTokenLocked(Landroid/os/IBinder;ILandroid/os/IBinder;ZLandroid/content/ComponentName;ZZI)Lcom/android/server/autofill/Session;
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->cancelSessionLocked(II)V
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->createSessionByTokenLocked(Landroid/os/IBinder;IILandroid/os/IBinder;ZLandroid/content/ComponentName;ZZI)Lcom/android/server/autofill/Session;
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->destroyFinishedSessionsLocked()V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->destroySessionsLocked()V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->getCompatibilityPackagesLocked()Landroid/util/ArrayMap;
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->getComponentNameFromSettings()Ljava/lang/String;
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->finishSessionLocked(II)V
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->getFillEventHistory(I)Landroid/service/autofill/FillEventHistory;
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->getServiceComponentName()Landroid/content/ComponentName;
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->getServicePackageName()Ljava/lang/String;
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->getPreviousSessionsLocked(Lcom/android/server/autofill/Session;)Ljava/util/ArrayList;
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->getRemoteAugmentedAutofillServiceLocked()Lcom/android/server/autofill/RemoteAugmentedAutofillService;
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->handlePackageUpdateLocked(Ljava/lang/String;)V
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->isAutofillDisabledLocked(Landroid/content/ComponentName;)Z
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->isEnabledLocked()Z
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->isSetupCompletedLocked()Z
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->isCalledByAugmentedAutofillServiceLocked(Ljava/lang/String;I)Z
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->isCalledByServiceLocked(Ljava/lang/String;I)Z
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->newServiceInfoLocked(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->pruneAbandonedSessionsLocked()V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->removeClientLocked(Landroid/view/autofill/IAutoFillManagerClient;)V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->removeSessionLocked(I)V
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->resetLastResponse()V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->sendStateToClients(Z)V
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->setAugmentedAutofillWhitelistLocked(Ljava/util/List;Ljava/util/List;I)Z
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->setHasCallback(IIZ)V
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->startSessionLocked(Landroid/os/IBinder;ILandroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;ZLandroid/content/ComponentName;ZZI)I
-PLcom/android/server/autofill/AutofillManagerServiceImpl;->updateLocked(Z)V
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->setLastResponse(ILandroid/service/autofill/FillResponse;)V
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->startSessionLocked(Landroid/os/IBinder;IILandroid/os/IBinder;Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;ZLandroid/content/ComponentName;ZZI)I
 PLcom/android/server/autofill/AutofillManagerServiceImpl;->updateSessionLocked(IILandroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;II)Z
-PLcom/android/server/autofill/FieldClassificationStrategy;-><init>(Landroid/content/Context;I)V
+PLcom/android/server/autofill/AutofillManagerServiceImpl;->whitelistForAugmentedAutofillPackages(Ljava/util/List;)V
 PLcom/android/server/autofill/FieldClassificationStrategy;->getServiceInfo()Landroid/content/pm/ServiceInfo;
-PLcom/android/server/autofill/Helper;->newLogMaker(ILandroid/content/ComponentName;Ljava/lang/String;IZ)Landroid/metrics/LogMaker;
+PLcom/android/server/autofill/Helper;->findViewNode(Landroid/app/assist/AssistStructure;Lcom/android/server/autofill/Helper$ViewNodeFilter;)Landroid/app/assist/AssistStructure$ViewNode;
 PLcom/android/server/autofill/Helper;->newLogMaker(ILjava/lang/String;IZ)Landroid/metrics/LogMaker;
-PLcom/android/server/autofill/RemoteFillService$PendingFillRequest$1;-><init>(Lcom/android/server/autofill/RemoteFillService$PendingFillRequest;Landroid/service/autofill/FillRequest;)V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService$MyPendingRequest;-><init>(Lcom/android/server/autofill/RemoteAugmentedAutofillService;ILcom/android/server/autofill/RemoteAugmentedAutofillService$1;)V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService$PendingAutofillRequest$1;-><init>(Lcom/android/server/autofill/RemoteAugmentedAutofillService$PendingAutofillRequest;)V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService$PendingAutofillRequest$1;->onSuccess()V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService$PendingAutofillRequest$2;->send(ILandroid/os/Bundle;)V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService$PendingAutofillRequest;->onTimeout(Lcom/android/internal/infra/AbstractRemoteService;)V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService$PendingAutofillRequest;->run()V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService;->getComponentName(Ljava/lang/String;IZ)Landroid/content/ComponentName;
+PLcom/android/server/autofill/RemoteAugmentedAutofillService;->getComponentName(Ljava/lang/String;IZ)Landroid/util/Pair;
+PLcom/android/server/autofill/RemoteAugmentedAutofillService;->getRemoteRequestMillis()J
+PLcom/android/server/autofill/RemoteAugmentedAutofillService;->getServiceInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
+PLcom/android/server/autofill/RemoteAugmentedAutofillService;->getTimeoutIdleBindMillis()J
+PLcom/android/server/autofill/RemoteAugmentedAutofillService;->handleOnConnectedStateChanged(Z)V
+PLcom/android/server/autofill/RemoteAugmentedAutofillService;->toString()Ljava/lang/String;
 PLcom/android/server/autofill/RemoteFillService$PendingFillRequest$1;->onCancellable(Landroid/os/ICancellationSignal;)V
 PLcom/android/server/autofill/RemoteFillService$PendingFillRequest$1;->onSuccess(Landroid/service/autofill/FillResponse;)V
-PLcom/android/server/autofill/RemoteFillService$PendingFillRequest;-><init>(Landroid/service/autofill/FillRequest;Lcom/android/server/autofill/RemoteFillService;)V
-PLcom/android/server/autofill/RemoteFillService$PendingFillRequest;->access$100(Lcom/android/server/autofill/RemoteFillService$PendingFillRequest;)Landroid/service/autofill/FillRequest;
-PLcom/android/server/autofill/RemoteFillService$PendingFillRequest;->access$1002(Lcom/android/server/autofill/RemoteFillService$PendingFillRequest;Landroid/os/ICancellationSignal;)Landroid/os/ICancellationSignal;
+PLcom/android/server/autofill/RemoteFillService$PendingFillRequest;->cancel()Z
 PLcom/android/server/autofill/RemoteFillService$PendingFillRequest;->run()V
-PLcom/android/server/autofill/RemoteFillService$PendingRequest;-><init>(Lcom/android/server/autofill/RemoteFillService;)V
-PLcom/android/server/autofill/RemoteFillService$PendingRequest;->finish()Z
-PLcom/android/server/autofill/RemoteFillService$PendingRequest;->getService()Lcom/android/server/autofill/RemoteFillService;
-PLcom/android/server/autofill/RemoteFillService$PendingRequest;->isCancelledLocked()Z
-PLcom/android/server/autofill/RemoteFillService$PendingRequest;->isFinal()Z
-PLcom/android/server/autofill/RemoteFillService$RemoteServiceConnection;-><init>(Lcom/android/server/autofill/RemoteFillService;)V
-PLcom/android/server/autofill/RemoteFillService$RemoteServiceConnection;-><init>(Lcom/android/server/autofill/RemoteFillService;Lcom/android/server/autofill/RemoteFillService$1;)V
-PLcom/android/server/autofill/RemoteFillService$RemoteServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
 PLcom/android/server/autofill/RemoteFillService;-><init>(Landroid/content/Context;Landroid/content/ComponentName;ILcom/android/server/autofill/RemoteFillService$FillServiceCallbacks;Z)V
-PLcom/android/server/autofill/RemoteFillService;->access$1100(Lcom/android/server/autofill/RemoteFillService;Lcom/android/server/autofill/RemoteFillService$PendingFillRequest;Landroid/service/autofill/FillResponse;I)V
-PLcom/android/server/autofill/RemoteFillService;->access$200(Lcom/android/server/autofill/RemoteFillService;)Z
-PLcom/android/server/autofill/RemoteFillService;->access$300(Lcom/android/server/autofill/RemoteFillService;)Z
-PLcom/android/server/autofill/RemoteFillService;->access$302(Lcom/android/server/autofill/RemoteFillService;Z)Z
-PLcom/android/server/autofill/RemoteFillService;->access$400(Lcom/android/server/autofill/RemoteFillService;)Landroid/service/autofill/IAutoFillService;
-PLcom/android/server/autofill/RemoteFillService;->access$402(Lcom/android/server/autofill/RemoteFillService;Landroid/service/autofill/IAutoFillService;)Landroid/service/autofill/IAutoFillService;
-PLcom/android/server/autofill/RemoteFillService;->access$600(Lcom/android/server/autofill/RemoteFillService;)Lcom/android/server/autofill/RemoteFillService$PendingRequest;
-PLcom/android/server/autofill/RemoteFillService;->access$602(Lcom/android/server/autofill/RemoteFillService;Lcom/android/server/autofill/RemoteFillService$PendingRequest;)Lcom/android/server/autofill/RemoteFillService$PendingRequest;
-PLcom/android/server/autofill/RemoteFillService;->access$700(Lcom/android/server/autofill/RemoteFillService;Lcom/android/server/autofill/RemoteFillService$PendingRequest;)V
-PLcom/android/server/autofill/RemoteFillService;->access$802(Lcom/android/server/autofill/RemoteFillService;Z)Z
-PLcom/android/server/autofill/RemoteFillService;->access$900(Lcom/android/server/autofill/RemoteFillService;)Landroid/os/Handler;
 PLcom/android/server/autofill/RemoteFillService;->cancelCurrentRequest()I
-PLcom/android/server/autofill/RemoteFillService;->cancelScheduledUnbind()V
-PLcom/android/server/autofill/RemoteFillService;->checkIfDestroyed()Z
-PLcom/android/server/autofill/RemoteFillService;->destroy()V
-PLcom/android/server/autofill/RemoteFillService;->dispatchOnFillRequestSuccess(Lcom/android/server/autofill/RemoteFillService$PendingFillRequest;Landroid/service/autofill/FillResponse;I)V
-PLcom/android/server/autofill/RemoteFillService;->ensureBound()V
-PLcom/android/server/autofill/RemoteFillService;->ensureUnbound()V
-PLcom/android/server/autofill/RemoteFillService;->handleDestroy()V
-PLcom/android/server/autofill/RemoteFillService;->handlePendingRequest(Lcom/android/server/autofill/RemoteFillService$PendingRequest;)V
-PLcom/android/server/autofill/RemoteFillService;->handleResponseCallbackCommon(Lcom/android/server/autofill/RemoteFillService$PendingRequest;)Z
-PLcom/android/server/autofill/RemoteFillService;->handleUnbind()V
-PLcom/android/server/autofill/RemoteFillService;->isBound()Z
-PLcom/android/server/autofill/RemoteFillService;->lambda$KN9CcjjmJTg_PJcamzzLgVvQt9M(Lcom/android/server/autofill/RemoteFillService;)V
-PLcom/android/server/autofill/RemoteFillService;->lambda$YjPsINV7QuCehWwsB0GTTg1hvr4(Lcom/android/server/autofill/RemoteFillService;)V
-PLcom/android/server/autofill/RemoteFillService;->lambda$dispatchOnFillRequestSuccess$0(Lcom/android/server/autofill/RemoteFillService;Lcom/android/server/autofill/RemoteFillService$PendingFillRequest;Landroid/service/autofill/FillResponse;I)V
-PLcom/android/server/autofill/RemoteFillService;->lambda$h6FPsdmILphrDZs953cJIyumyqg(Lcom/android/server/autofill/RemoteFillService;Lcom/android/server/autofill/RemoteFillService$PendingRequest;)V
-PLcom/android/server/autofill/RemoteFillService;->onFillRequest(Landroid/service/autofill/FillRequest;)V
-PLcom/android/server/autofill/RemoteFillService;->scheduleRequest(Lcom/android/server/autofill/RemoteFillService$PendingRequest;)V
-PLcom/android/server/autofill/RemoteFillService;->scheduleUnbind()V
+PLcom/android/server/autofill/RemoteFillService;->getRemoteRequestMillis()J
+PLcom/android/server/autofill/RemoteFillService;->getServiceInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
+PLcom/android/server/autofill/RemoteFillService;->getTimeoutIdleBindMillis()J
+PLcom/android/server/autofill/RemoteFillService;->handleOnConnectedStateChanged(Z)V
 PLcom/android/server/autofill/Session$1;-><init>(Lcom/android/server/autofill/Session;)V
 PLcom/android/server/autofill/Session$1;->onHandleAssistData(Landroid/os/Bundle;)V
-PLcom/android/server/autofill/Session;-><init>(Lcom/android/server/autofill/AutofillManagerServiceImpl;Lcom/android/server/autofill/ui/AutoFillUI;Landroid/content/Context;Landroid/os/Handler;ILjava/lang/Object;IILandroid/os/IBinder;Landroid/os/IBinder;ZLandroid/util/LocalLog;Landroid/util/LocalLog;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZI)V
-PLcom/android/server/autofill/Session;->access$000(Lcom/android/server/autofill/Session;)Ljava/lang/Object;
-PLcom/android/server/autofill/Session;->access$1000(Lcom/android/server/autofill/Session;)V
-PLcom/android/server/autofill/Session;->access$1100(Lcom/android/server/autofill/Session;Landroid/service/autofill/FillContext;I)V
-PLcom/android/server/autofill/Session;->access$1200(Lcom/android/server/autofill/Session;)Landroid/os/Bundle;
-PLcom/android/server/autofill/Session;->access$1300(Lcom/android/server/autofill/Session;)Lcom/android/server/autofill/RemoteFillService;
-PLcom/android/server/autofill/Session;->access$200(Lcom/android/server/autofill/Session;)Landroid/content/ComponentName;
-PLcom/android/server/autofill/Session;->access$500(Lcom/android/server/autofill/Session;)Z
-PLcom/android/server/autofill/Session;->access$900(Lcom/android/server/autofill/Session;)Ljava/util/ArrayList;
-PLcom/android/server/autofill/Session;->access$902(Lcom/android/server/autofill/Session;Ljava/util/ArrayList;)Ljava/util/ArrayList;
+PLcom/android/server/autofill/Session;-><init>(Lcom/android/server/autofill/AutofillManagerServiceImpl;Lcom/android/server/autofill/ui/AutoFillUI;Landroid/content/Context;Landroid/os/Handler;ILjava/lang/Object;IIILandroid/os/IBinder;Landroid/os/IBinder;ZLandroid/util/LocalLog;Landroid/util/LocalLog;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZI)V
+PLcom/android/server/autofill/Session;->addTaggedDataToRequestLogLocked(IILjava/lang/Object;)V
 PLcom/android/server/autofill/Session;->cancelCurrentRequestLocked()V
+PLcom/android/server/autofill/Session;->createOrUpdateViewStateLocked(Landroid/view/autofill/AutofillId;ILandroid/view/autofill/AutofillValue;)Lcom/android/server/autofill/ViewState;
+PLcom/android/server/autofill/Session;->createSanitizers(Landroid/service/autofill/SaveInfo;)Landroid/util/ArrayMap;
 PLcom/android/server/autofill/Session;->destroyLocked()Lcom/android/server/autofill/RemoteFillService;
+PLcom/android/server/autofill/Session;->doLogContextCommitted()V
 PLcom/android/server/autofill/Session;->fillContextWithAllowedValuesLocked(Landroid/service/autofill/FillContext;I)V
-PLcom/android/server/autofill/Session;->getIdsOfAllViewStatesLocked()[Landroid/view/autofill/AutofillId;
+PLcom/android/server/autofill/Session;->forceRemoveSelfLocked(I)V
 PLcom/android/server/autofill/Session;->getLastResponseLocked(Ljava/lang/String;)Landroid/service/autofill/FillResponse;
 PLcom/android/server/autofill/Session;->getUiForShowing()Lcom/android/server/autofill/ui/AutoFillUI;
-PLcom/android/server/autofill/Session;->isIgnoredLocked(Landroid/view/autofill/AutofillId;)Z
-PLcom/android/server/autofill/Session;->isSaveUiPendingLocked()Z
+PLcom/android/server/autofill/Session;->getValueFromContextsLocked(Landroid/view/autofill/AutofillId;)Landroid/view/autofill/AutofillValue;
+PLcom/android/server/autofill/Session;->lambda$setClientLocked$0$Session()V
+PLcom/android/server/autofill/Session;->lambda$setClientLocked$0(Lcom/android/server/autofill/Session;)V
+PLcom/android/server/autofill/Session;->logContextCommittedLocked()V
+PLcom/android/server/autofill/Session;->mergePreviousSessionLocked(Z)Ljava/util/ArrayList;
 PLcom/android/server/autofill/Session;->newLogMaker(I)Landroid/metrics/LogMaker;
-PLcom/android/server/autofill/Session;->newLogMaker(ILjava/lang/String;)Landroid/metrics/LogMaker;
 PLcom/android/server/autofill/Session;->notifyUnavailableToClient(I)V
+PLcom/android/server/autofill/Session;->onFillReady(Landroid/service/autofill/FillResponse;Landroid/view/autofill/AutofillId;Landroid/view/autofill/AutofillValue;)V
 PLcom/android/server/autofill/Session;->onFillRequestSuccess(ILandroid/service/autofill/FillResponse;Ljava/lang/String;I)V
 PLcom/android/server/autofill/Session;->processNullResponseLocked(I)V
+PLcom/android/server/autofill/Session;->processResponseLocked(Landroid/service/autofill/FillResponse;Landroid/os/Bundle;I)V
 PLcom/android/server/autofill/Session;->removeSelf()V
 PLcom/android/server/autofill/Session;->removeSelfLocked()V
+PLcom/android/server/autofill/Session;->requestHideFillUi(Landroid/view/autofill/AutofillId;)V
 PLcom/android/server/autofill/Session;->requestNewFillResponseLocked(I)V
 PLcom/android/server/autofill/Session;->requestNewFillResponseOnViewEnteredIfNecessaryLocked(Landroid/view/autofill/AutofillId;Lcom/android/server/autofill/ViewState;I)V
+PLcom/android/server/autofill/Session;->requestShowFillUi(Landroid/view/autofill/AutofillId;IILandroid/view/autofill/IAutofillWindowPresenter;)V
 PLcom/android/server/autofill/Session;->setClientLocked(Landroid/os/IBinder;)V
+PLcom/android/server/autofill/Session;->setHasCallbackLocked(Z)V
+PLcom/android/server/autofill/Session;->setViewStatesLocked(Landroid/service/autofill/FillResponse;IZ)V
+PLcom/android/server/autofill/Session;->setViewStatesLocked(Landroid/service/autofill/FillResponse;Landroid/service/autofill/Dataset;IZ)V
 PLcom/android/server/autofill/Session;->shouldStartNewPartitionLocked(Landroid/view/autofill/AutofillId;)Z
+PLcom/android/server/autofill/Session;->showSaveLocked()Z
+PLcom/android/server/autofill/Session;->switchActivity(Landroid/os/IBinder;Landroid/os/IBinder;)V
+PLcom/android/server/autofill/Session;->triggerAugmentedAutofillLocked()Ljava/lang/Runnable;
 PLcom/android/server/autofill/Session;->unlinkClientVultureLocked()V
 PLcom/android/server/autofill/Session;->updateLocked(Landroid/view/autofill/AutofillId;Landroid/graphics/Rect;Landroid/view/autofill/AutofillValue;II)V
-PLcom/android/server/autofill/ViewState;-><init>(Lcom/android/server/autofill/Session;Landroid/view/autofill/AutofillId;Lcom/android/server/autofill/ViewState$Listener;I)V
-PLcom/android/server/autofill/ViewState;->getAutofilledValue()Landroid/view/autofill/AutofillValue;
-PLcom/android/server/autofill/ViewState;->getCurrentValue()Landroid/view/autofill/AutofillValue;
-PLcom/android/server/autofill/ViewState;->getStateAsString()Ljava/lang/String;
-PLcom/android/server/autofill/ViewState;->getStateAsString(I)Ljava/lang/String;
+PLcom/android/server/autofill/Session;->updateTrackedIdsLocked()V
 PLcom/android/server/autofill/ViewState;->maybeCallOnFillReady(I)V
-PLcom/android/server/autofill/ViewState;->setCurrentValue(Landroid/view/autofill/AutofillValue;)V
-PLcom/android/server/autofill/ViewState;->setState(I)V
-PLcom/android/server/autofill/ViewState;->update(Landroid/view/autofill/AutofillValue;Landroid/graphics/Rect;I)V
-PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$56AC3ykfo4h_e2LSjdkJ3XQn370;-><init>(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
 PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$56AC3ykfo4h_e2LSjdkJ3XQn370;->run()V
-PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$LjywPhTUqjU0ZUlG1crxBg8qhRA;-><init>(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Ljava/lang/String;)V
+PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$H0BWucCEHDp2_3FUpZ9-CLDtxYQ;->run()V
 PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$LjywPhTUqjU0ZUlG1crxBg8qhRA;->run()V
-PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$VF2EbGE70QNyGDbklN9Uz5xHqyQ;-><init>(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
 PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$VF2EbGE70QNyGDbklN9Uz5xHqyQ;->run()V
-PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$XWhvh2-Jd9NLMoEos-e8RkZdQaI;-><init>(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/PendingUi;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Z)V
-PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$XWhvh2-Jd9NLMoEos-e8RkZdQaI;->run()V
-PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$Z-Di7CGd-L0nOI4i7_RO1FYbhgU;-><init>(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
 PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$Z-Di7CGd-L0nOI4i7_RO1FYbhgU;->run()V
-PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$i7qTc5vqiej5Psbl-bIkD7js-Ao;-><init>(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
 PLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$i7qTc5vqiej5Psbl-bIkD7js-Ao;->run()V
-PLcom/android/server/autofill/ui/AutoFillUI;-><init>(Landroid/content/Context;)V
-PLcom/android/server/autofill/ui/AutoFillUI;->clearCallback(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
-PLcom/android/server/autofill/ui/AutoFillUI;->destroyAll(Lcom/android/server/autofill/ui/PendingUi;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Z)V
-PLcom/android/server/autofill/ui/AutoFillUI;->destroyAllUiThread(Lcom/android/server/autofill/ui/PendingUi;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Z)V
-PLcom/android/server/autofill/ui/AutoFillUI;->destroySaveUiUiThread(Lcom/android/server/autofill/ui/PendingUi;Z)V
-PLcom/android/server/autofill/ui/AutoFillUI;->filterFillUi(Ljava/lang/String;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
-PLcom/android/server/autofill/ui/AutoFillUI;->hideAll(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
-PLcom/android/server/autofill/ui/AutoFillUI;->hideAllUiThread(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
-PLcom/android/server/autofill/ui/AutoFillUI;->hideFillUi(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
+PLcom/android/server/autofill/ui/-$$Lambda$E4J-3bUcyqJNd4ZlExSBhwy8Tx4;->run()V
+PLcom/android/server/autofill/ui/-$$Lambda$FillUi$AutofillWindowPresenter$N4xQe2B0oe5MBiqZlsy3Lb7vZTg;->run()V
+PLcom/android/server/autofill/ui/-$$Lambda$FillUi$FY016gv4LQ5AA6yOkKTH3EM5zaM;-><init>(Lcom/android/server/autofill/ui/FillUi;)V
+PLcom/android/server/autofill/ui/-$$Lambda$FillUi$QXIyKJs3cMApGd5ifauQkxdpdqk;-><init>(Lcom/android/server/autofill/ui/FillUi;)V
+PLcom/android/server/autofill/ui/-$$Lambda$FillUi$h0jT24YuSGGDnoZ6Tf22n1QRkO8;-><init>(Lcom/android/server/autofill/ui/FillUi;Landroid/service/autofill/FillResponse;)V
+PLcom/android/server/autofill/ui/AutoFillUI$1;->onDestroy()V
+PLcom/android/server/autofill/ui/AutoFillUI$1;->requestHideFillUi()V
+PLcom/android/server/autofill/ui/AutoFillUI$1;->requestShowFillUi(IILandroid/view/autofill/IAutofillWindowPresenter;)V
 PLcom/android/server/autofill/ui/AutoFillUI;->hideFillUiUiThread(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Z)V
 PLcom/android/server/autofill/ui/AutoFillUI;->hideSaveUiUiThread(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)Lcom/android/server/autofill/ui/PendingUi;
-PLcom/android/server/autofill/ui/AutoFillUI;->lambda$clearCallback$1(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
-PLcom/android/server/autofill/ui/AutoFillUI;->lambda$destroyAll$9(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/PendingUi;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Z)V
-PLcom/android/server/autofill/ui/AutoFillUI;->lambda$filterFillUi$4(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Ljava/lang/String;)V
-PLcom/android/server/autofill/ui/AutoFillUI;->lambda$hideAll$8(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
-PLcom/android/server/autofill/ui/AutoFillUI;->lambda$hideFillUi$3(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
-PLcom/android/server/autofill/ui/AutoFillUI;->lambda$setCallback$0(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
-PLcom/android/server/autofill/ui/AutoFillUI;->setCallback(Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;)V
-PLcom/android/server/autofill/ui/OverlayControl;-><init>(Landroid/content/Context;)V
-PLcom/android/server/backup/-$$Lambda$-xfpm33S8Jqv3KpU_-llxhj8ZPI;-><init>(Ljava/util/Set;)V
+PLcom/android/server/autofill/ui/AutoFillUI;->lambda$showFillUi$5(Lcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;Landroid/service/autofill/FillResponse;Landroid/view/autofill/AutofillId;Ljava/lang/String;Ljava/lang/CharSequence;Landroid/graphics/drawable/Drawable;Landroid/metrics/LogMaker;)V
+PLcom/android/server/autofill/ui/AutoFillUI;->showFillUi(Landroid/view/autofill/AutofillId;Landroid/service/autofill/FillResponse;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Ljava/lang/CharSequence;Landroid/graphics/drawable/Drawable;Lcom/android/server/autofill/ui/AutoFillUI$AutoFillUiCallback;IZ)V
+PLcom/android/server/autofill/ui/FillUi$AnchoredWindow;-><init>(Lcom/android/server/autofill/ui/FillUi;Landroid/view/View;Lcom/android/server/autofill/ui/OverlayControl;)V
+PLcom/android/server/autofill/ui/FillUi$AnchoredWindow;->hide(Z)V
+PLcom/android/server/autofill/ui/FillUi$AnchoredWindow;->show(Landroid/view/WindowManager$LayoutParams;)V
+PLcom/android/server/autofill/ui/FillUi$AutofillWindowPresenter;-><init>(Lcom/android/server/autofill/ui/FillUi;Lcom/android/server/autofill/ui/FillUi$1;)V
+PLcom/android/server/autofill/ui/FillUi$AutofillWindowPresenter;->hide(Landroid/graphics/Rect;)V
+PLcom/android/server/autofill/ui/FillUi$AutofillWindowPresenter;->show(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;ZI)V
+PLcom/android/server/autofill/ui/FillUi;-><init>(Landroid/content/Context;Landroid/service/autofill/FillResponse;Landroid/view/autofill/AutofillId;Ljava/lang/String;Lcom/android/server/autofill/ui/OverlayControl;Ljava/lang/CharSequence;Landroid/graphics/drawable/Drawable;ZLcom/android/server/autofill/ui/FillUi$Callback;)V
+PLcom/android/server/autofill/ui/FillUi;->isFullScreen(Landroid/content/Context;)Z
+PLcom/android/server/autofill/ui/FillUi;->requestShowFillUi()V
+PLcom/android/server/autofill/ui/FillUi;->resolveMaxWindowSize(Landroid/content/Context;Landroid/graphics/Point;)V
+PLcom/android/server/autofill/ui/FillUi;->setFilterText(Ljava/lang/String;)V
+PLcom/android/server/autofill/ui/OverlayControl;->hideOverlays()V
+PLcom/android/server/autofill/ui/OverlayControl;->showOverlays()V
 PLcom/android/server/backup/-$$Lambda$-xfpm33S8Jqv3KpU_-llxhj8ZPI;->test(Ljava/lang/Object;)Z
-PLcom/android/server/backup/-$$Lambda$BackupManagerService$-mOc1e-1SsZws3njOjKXfyubq98;-><init>(Lcom/android/server/backup/BackupManagerService;)V
-PLcom/android/server/backup/-$$Lambda$BackupManagerService$-mOc1e-1SsZws3njOjKXfyubq98;->accept(Ljava/lang/String;)V
-PLcom/android/server/backup/-$$Lambda$BackupManagerService$2$8WilE3DKM3p1qJhvhqvZiHtD9hI;-><init>(Lcom/android/server/backup/BackupManagerService$2;Ljava/lang/String;)V
-PLcom/android/server/backup/-$$Lambda$BackupManagerService$2$8WilE3DKM3p1qJhvhqvZiHtD9hI;->run()V
-PLcom/android/server/backup/-$$Lambda$BackupManagerService$2$PXK_S3ijBAkFZ4wQtjneIECynPo;-><init>(Lcom/android/server/backup/BackupManagerService$2;Ljava/lang/String;)V
-PLcom/android/server/backup/-$$Lambda$BackupManagerService$2$PXK_S3ijBAkFZ4wQtjneIECynPo;->run()V
-PLcom/android/server/backup/-$$Lambda$BackupManagerService$2$k3_lOimiIJDhWdG7_SCrtoKbtjY;-><init>(Lcom/android/server/backup/BackupManagerService$2;Ljava/lang/String;[Ljava/lang/String;)V
-PLcom/android/server/backup/-$$Lambda$BackupManagerService$2$k3_lOimiIJDhWdG7_SCrtoKbtjY;->run()V
-PLcom/android/server/backup/-$$Lambda$BackupManagerService$7naKh6MW6ryzdPxgJfM5jV1nHp4;-><init>(Lcom/android/server/backup/BackupManagerService;)V
-PLcom/android/server/backup/-$$Lambda$BackupManagerService$7naKh6MW6ryzdPxgJfM5jV1nHp4;->run()V
-PLcom/android/server/backup/-$$Lambda$BackupManagerService$QlgHuOXOPKAZpwyUhPFAintPnqM;-><init>(Lcom/android/server/backup/BackupManagerService;)V
-PLcom/android/server/backup/-$$Lambda$BackupManagerService$QlgHuOXOPKAZpwyUhPFAintPnqM;->onTransportRegistered(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/backup/-$$Lambda$Trampoline$zhmxdOntlNYAyF3FWA7uhVoZeFI;-><init>(Lcom/android/server/backup/Trampoline;)V
-PLcom/android/server/backup/-$$Lambda$Trampoline$zhmxdOntlNYAyF3FWA7uhVoZeFI;->run()V
+PLcom/android/server/backup/-$$Lambda$Trampoline$RB5ywBeynPqhAQ6VHW4qi9U4c84;->run()V
+PLcom/android/server/backup/-$$Lambda$Trampoline$_vkvTSe7bkLYa64kIjWjqjTHe7E;->run()V
+PLcom/android/server/backup/-$$Lambda$Trampoline$a6uexAeN8zHcMQQ9h_KZ71UQV_A;->run()V
 PLcom/android/server/backup/-$$Lambda$TransportManager$4ND1hZMerK5gHU67okq6DZjKDQw;-><init>()V
+PLcom/android/server/backup/-$$Lambda$TransportManager$4ND1hZMerK5gHU67okq6DZjKDQw;->test(Ljava/lang/Object;)Z
 PLcom/android/server/backup/-$$Lambda$TransportManager$Qbutmzd17ICwZdy0UzRrO-3_VK0;-><init>()V
 PLcom/android/server/backup/-$$Lambda$TransportManager$Qbutmzd17ICwZdy0UzRrO-3_VK0;->test(Ljava/lang/Object;)Z
 PLcom/android/server/backup/-$$Lambda$TransportManager$Z9ckpFUW2V4jkdHnyXIEiLuAoBc;-><init>()V
-PLcom/android/server/backup/-$$Lambda$TransportManager$_dxJobf45tWiMkaNlKY-z26kB2Q;-><init>(Ljava/lang/String;)V
 PLcom/android/server/backup/-$$Lambda$TransportManager$_dxJobf45tWiMkaNlKY-z26kB2Q;->test(Ljava/lang/Object;)Z
-PLcom/android/server/backup/-$$Lambda$pM_c5tVAGDtxjxLF_ONtACWWq6Q;-><init>(Lcom/android/server/backup/TransportManager;)V
+PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$076XriH8-AsUaXKFvRearB4ERls;->run()V
+PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$2$9w65wn45YYtTkXbyQZdj_7K5LSs;->run()V
+PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$2$ICUfBQAK1UQkmGSsPDmR00etFBk;->run()V
+PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$2$VpHOYQHCWBG618oharjEXEDr57U;->run()V
+PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$9cuIH_XloqtNByp_6hXeGaVars8;->onTransportRegistered(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$W51Aw9Pu9AOsFVYQgIZy31INmwI;->accept(Ljava/lang/Object;)V
+PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$_gNqJq9Ygtc0ZVwYhCSDKCUKrKY;->run()V
+PLcom/android/server/backup/-$$Lambda$UserBackupManagerService$sAYsrY5C5zAl7EgKgwo188kx6JE;->onFinished(Ljava/lang/String;)V
 PLcom/android/server/backup/-$$Lambda$pM_c5tVAGDtxjxLF_ONtACWWq6Q;->run()V
-PLcom/android/server/backup/BackupAgentTimeoutParameters;-><init>(Landroid/os/Handler;Landroid/content/ContentResolver;)V
 PLcom/android/server/backup/BackupAgentTimeoutParameters;->getFullBackupAgentTimeoutMillis()J
 PLcom/android/server/backup/BackupAgentTimeoutParameters;->getKvBackupAgentTimeoutMillis()J
+PLcom/android/server/backup/BackupAgentTimeoutParameters;->getQuotaExceededTimeoutMillis()J
 PLcom/android/server/backup/BackupAgentTimeoutParameters;->getSettingValue(Landroid/content/ContentResolver;)Ljava/lang/String;
 PLcom/android/server/backup/BackupAgentTimeoutParameters;->update(Landroid/util/KeyValueListParser;)V
-PLcom/android/server/backup/BackupManagerConstants;-><init>(Landroid/os/Handler;Landroid/content/ContentResolver;)V
 PLcom/android/server/backup/BackupManagerConstants;->getBackupFinishedNotificationReceivers()[Ljava/lang/String;
 PLcom/android/server/backup/BackupManagerConstants;->getFullBackupIntervalMilliseconds()J
 PLcom/android/server/backup/BackupManagerConstants;->getFullBackupRequireCharging()Z
@@ -9015,894 +6450,705 @@
 PLcom/android/server/backup/BackupManagerConstants;->getKeyValueBackupRequiredNetworkType()I
 PLcom/android/server/backup/BackupManagerConstants;->getSettingValue(Landroid/content/ContentResolver;)Ljava/lang/String;
 PLcom/android/server/backup/BackupManagerConstants;->update(Landroid/util/KeyValueListParser;)V
-PLcom/android/server/backup/BackupManagerService$1;-><init>(Lcom/android/server/backup/BackupManagerService;)V
-PLcom/android/server/backup/BackupManagerService$1;->run()V
-PLcom/android/server/backup/BackupManagerService$2;-><init>(Lcom/android/server/backup/BackupManagerService;)V
-PLcom/android/server/backup/BackupManagerService$2;->lambda$onReceive$0(Lcom/android/server/backup/BackupManagerService$2;Ljava/lang/String;[Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService$2;->lambda$onReceive$1(Lcom/android/server/backup/BackupManagerService$2;Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService$2;->lambda$onReceive$2(Lcom/android/server/backup/BackupManagerService$2;Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/backup/BackupManagerService$3;-><init>(Lcom/android/server/backup/BackupManagerService;J)V
-PLcom/android/server/backup/BackupManagerService$3;->run()V
-PLcom/android/server/backup/BackupManagerService$4;-><init>(Lcom/android/server/backup/BackupManagerService;J)V
-PLcom/android/server/backup/BackupManagerService$4;->run()V
-PLcom/android/server/backup/BackupManagerService$6;-><init>(Lcom/android/server/backup/BackupManagerService;Ljava/lang/String;Ljava/util/HashSet;)V
-PLcom/android/server/backup/BackupManagerService$6;->run()V
-PLcom/android/server/backup/BackupManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/backup/BackupManagerService$Lifecycle;->onStart()V
+PLcom/android/server/backup/BackupManagerService$Lifecycle;->onStopUser(I)V
 PLcom/android/server/backup/BackupManagerService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/backup/BackupManagerService;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/backup/BackupManagerService;-><init>(Landroid/content/Context;Lcom/android/server/backup/Trampoline;Landroid/os/HandlerThread;Ljava/io/File;Ljava/io/File;Lcom/android/server/backup/TransportManager;)V
-PLcom/android/server/backup/BackupManagerService;->access$000(Lcom/android/server/backup/BackupManagerService;)Ljava/lang/Object;
-PLcom/android/server/backup/BackupManagerService;->access$100(Lcom/android/server/backup/BackupManagerService;)Ljava/util/ArrayList;
-PLcom/android/server/backup/BackupManagerService;->access$1000(Lcom/android/server/backup/BackupManagerService;)Lcom/android/server/backup/TransportManager;
-PLcom/android/server/backup/BackupManagerService;->access$1100(Lcom/android/server/backup/BackupManagerService;)Landroid/content/Context;
-PLcom/android/server/backup/BackupManagerService;->access$1200(Lcom/android/server/backup/BackupManagerService;)Lcom/android/server/backup/BackupManagerConstants;
-PLcom/android/server/backup/BackupManagerService;->access$1400(Lcom/android/server/backup/BackupManagerService;Ljava/lang/String;Ljava/util/HashSet;)V
-PLcom/android/server/backup/BackupManagerService;->access$200(Lcom/android/server/backup/BackupManagerService;)Ljava/io/File;
-PLcom/android/server/backup/BackupManagerService;->access$300(Lcom/android/server/backup/BackupManagerService;)Lcom/android/server/backup/internal/BackupHandler;
-PLcom/android/server/backup/BackupManagerService;->access$400(Lcom/android/server/backup/BackupManagerService;)Landroid/util/SparseArray;
-PLcom/android/server/backup/BackupManagerService;->access$500(Lcom/android/server/backup/BackupManagerService;[Ljava/lang/String;I)V
-PLcom/android/server/backup/BackupManagerService;->access$600(Lcom/android/server/backup/BackupManagerService;[Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService;->access$700(Lcom/android/server/backup/BackupManagerService;)Landroid/content/pm/PackageManager;
-PLcom/android/server/backup/BackupManagerService;->access$800(Lcom/android/server/backup/BackupManagerService;Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService;->access$900(Lcom/android/server/backup/BackupManagerService;)V
-PLcom/android/server/backup/BackupManagerService;->addBackupTrace(Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService;->addPackageParticipantsLocked([Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService;->addPackageParticipantsLockedInner(Ljava/lang/String;Ljava/util/List;)V
-PLcom/android/server/backup/BackupManagerService;->agentConnected(Ljava/lang/String;Landroid/os/IBinder;)V
-PLcom/android/server/backup/BackupManagerService;->allAgentPackages()Ljava/util/List;
-PLcom/android/server/backup/BackupManagerService;->backupNow()V
-PLcom/android/server/backup/BackupManagerService;->backupSettingMigrated(I)Z
-PLcom/android/server/backup/BackupManagerService;->beginFullBackup(Lcom/android/server/backup/FullBackupJob;)Z
-PLcom/android/server/backup/BackupManagerService;->bindToAgentSynchronous(Landroid/content/pm/ApplicationInfo;I)Landroid/app/IBackupAgent;
-PLcom/android/server/backup/BackupManagerService;->clearBackupTrace()V
-PLcom/android/server/backup/BackupManagerService;->create(Landroid/content/Context;Lcom/android/server/backup/Trampoline;Landroid/os/HandlerThread;)Lcom/android/server/backup/BackupManagerService;
-PLcom/android/server/backup/BackupManagerService;->dataChanged(Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService;->dataChangedImpl(Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService;->dataChangedImpl(Ljava/lang/String;Ljava/util/HashSet;)V
-PLcom/android/server/backup/BackupManagerService;->dequeueFullBackupLocked(Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService;->enqueueFullBackup(Ljava/lang/String;J)V
-PLcom/android/server/backup/BackupManagerService;->fullBackupAllowable(Ljava/lang/String;)Z
-PLcom/android/server/backup/BackupManagerService;->generateRandomIntegerToken()I
-PLcom/android/server/backup/BackupManagerService;->getActivityManager()Landroid/app/IActivityManager;
-PLcom/android/server/backup/BackupManagerService;->getAgentTimeoutParameters()Lcom/android/server/backup/BackupAgentTimeoutParameters;
-PLcom/android/server/backup/BackupManagerService;->getAvailableRestoreToken(Ljava/lang/String;)J
-PLcom/android/server/backup/BackupManagerService;->getBackupHandler()Landroid/os/Handler;
-PLcom/android/server/backup/BackupManagerService;->getBackupManagerBinder()Landroid/app/backup/IBackupManager;
-PLcom/android/server/backup/BackupManagerService;->getBaseStateDir()Ljava/io/File;
-PLcom/android/server/backup/BackupManagerService;->getConstants()Lcom/android/server/backup/BackupManagerConstants;
-PLcom/android/server/backup/BackupManagerService;->getContext()Landroid/content/Context;
-PLcom/android/server/backup/BackupManagerService;->getCurrentOpLock()Ljava/lang/Object;
-PLcom/android/server/backup/BackupManagerService;->getCurrentOperations()Landroid/util/SparseArray;
-PLcom/android/server/backup/BackupManagerService;->getCurrentToken()J
-PLcom/android/server/backup/BackupManagerService;->getCurrentTransport()Ljava/lang/String;
-PLcom/android/server/backup/BackupManagerService;->getDataDir()Ljava/io/File;
-PLcom/android/server/backup/BackupManagerService;->getInstance()Lcom/android/server/backup/Trampoline;
-PLcom/android/server/backup/BackupManagerService;->getJournal()Lcom/android/server/backup/DataChangedJournal;
-PLcom/android/server/backup/BackupManagerService;->getMessageIdForOperationType(I)I
-PLcom/android/server/backup/BackupManagerService;->getPackageManager()Landroid/content/pm/PackageManager;
-PLcom/android/server/backup/BackupManagerService;->getPendingBackups()Ljava/util/HashMap;
-PLcom/android/server/backup/BackupManagerService;->getPendingInits()Landroid/util/ArraySet;
-PLcom/android/server/backup/BackupManagerService;->getQueueLock()Ljava/lang/Object;
-PLcom/android/server/backup/BackupManagerService;->getTransportManager()Lcom/android/server/backup/TransportManager;
-PLcom/android/server/backup/BackupManagerService;->getWakelock()Landroid/os/PowerManager$WakeLock;
-PLcom/android/server/backup/BackupManagerService;->handleCancel(IZ)V
-PLcom/android/server/backup/BackupManagerService;->hasBackupPassword()Z
-PLcom/android/server/backup/BackupManagerService;->initPackageTracking()V
-PLcom/android/server/backup/BackupManagerService;->isBackupEnabled()Z
-PLcom/android/server/backup/BackupManagerService;->isBackupOperationInProgress()Z
-PLcom/android/server/backup/BackupManagerService;->isBackupRunning()Z
-PLcom/android/server/backup/BackupManagerService;->isEnabled()Z
-PLcom/android/server/backup/BackupManagerService;->isProvisioned()Z
-PLcom/android/server/backup/BackupManagerService;->lambda$7naKh6MW6ryzdPxgJfM5jV1nHp4(Lcom/android/server/backup/BackupManagerService;)V
-PLcom/android/server/backup/BackupManagerService;->lambda$QlgHuOXOPKAZpwyUhPFAintPnqM(Lcom/android/server/backup/BackupManagerService;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService;->lambda$parseLeftoverJournals$0(Lcom/android/server/backup/BackupManagerService;Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService;->logBackupComplete(Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService;->makeMetadataAgent()Lcom/android/server/backup/PackageManagerBackupAgent;
-PLcom/android/server/backup/BackupManagerService;->onTransportRegistered(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService;->opComplete(IJ)V
-PLcom/android/server/backup/BackupManagerService;->parseLeftoverJournals()V
-PLcom/android/server/backup/BackupManagerService;->prepareOperationTimeout(IJLcom/android/server/backup/BackupRestoreTask;I)V
-PLcom/android/server/backup/BackupManagerService;->readBackupEnableState(I)Z
-PLcom/android/server/backup/BackupManagerService;->readFullBackupSchedule()Ljava/util/ArrayList;
-PLcom/android/server/backup/BackupManagerService;->removeOperation(I)V
-PLcom/android/server/backup/BackupManagerService;->removePackageFromSetLocked(Ljava/util/HashSet;Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService;->removePackageParticipantsLocked([Ljava/lang/String;I)V
-PLcom/android/server/backup/BackupManagerService;->restoreAtInstall(Ljava/lang/String;I)V
-PLcom/android/server/backup/BackupManagerService;->scheduleNextFullBackupJob(J)V
-PLcom/android/server/backup/BackupManagerService;->setBackupEnabled(Z)V
-PLcom/android/server/backup/BackupManagerService;->setBackupRunning(Z)V
-PLcom/android/server/backup/BackupManagerService;->setJournal(Lcom/android/server/backup/DataChangedJournal;)V
-PLcom/android/server/backup/BackupManagerService;->setLastBackupPass(J)V
-PLcom/android/server/backup/BackupManagerService;->setRunningFullBackupTask(Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;)V
-PLcom/android/server/backup/BackupManagerService;->tearDownAgentAndKill(Landroid/content/pm/ApplicationInfo;)V
-PLcom/android/server/backup/BackupManagerService;->unlockSystemUser()V
+PLcom/android/server/backup/BackupManagerService;-><init>(Landroid/content/Context;Lcom/android/server/backup/Trampoline;Landroid/os/HandlerThread;)V
+PLcom/android/server/backup/BackupManagerService;->agentConnected(ILjava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/backup/BackupManagerService;->backupNow(I)V
+PLcom/android/server/backup/BackupManagerService;->beginFullBackup(ILcom/android/server/backup/FullBackupJob;)Z
+PLcom/android/server/backup/BackupManagerService;->cancelBackups(I)V
+PLcom/android/server/backup/BackupManagerService;->dataChanged(ILjava/lang/String;)V
+PLcom/android/server/backup/BackupManagerService;->endFullBackup(I)V
+PLcom/android/server/backup/BackupManagerService;->getCurrentTransport(I)Ljava/lang/String;
+PLcom/android/server/backup/BackupManagerService;->getDataManagementIntent(ILjava/lang/String;)Landroid/content/Intent;
+PLcom/android/server/backup/BackupManagerService;->getServiceForUserIfCallerHasPermission(ILjava/lang/String;)Lcom/android/server/backup/UserBackupManagerService;
+PLcom/android/server/backup/BackupManagerService;->getServiceUsers()Landroid/util/SparseArray;
+PLcom/android/server/backup/BackupManagerService;->isAppEligibleForBackup(ILjava/lang/String;)Z
+PLcom/android/server/backup/BackupManagerService;->isBackupEnabled(I)Z
+PLcom/android/server/backup/BackupManagerService;->opComplete(IIJ)V
+PLcom/android/server/backup/BackupManagerService;->requestBackup(I[Ljava/lang/String;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;I)I
+PLcom/android/server/backup/BackupManagerService;->selectBackupTransportAsync(ILandroid/content/ComponentName;Landroid/app/backup/ISelectBackupTransportCallback;)V
+PLcom/android/server/backup/BackupManagerService;->setBackupEnabled(IZ)V
+PLcom/android/server/backup/BackupManagerService;->startServiceForUser(I)V
+PLcom/android/server/backup/BackupManagerService;->startServiceForUser(ILcom/android/server/backup/UserBackupManagerService;)V
+PLcom/android/server/backup/BackupManagerService;->stopServiceForUser(I)V
 PLcom/android/server/backup/BackupManagerService;->updateTransportAttributes(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
-PLcom/android/server/backup/BackupManagerService;->waitUntilOperationComplete(I)Z
-PLcom/android/server/backup/BackupManagerService;->writeBackupEnableState(ZI)V
-PLcom/android/server/backup/BackupManagerService;->writeFullBackupScheduleAsync()V
-PLcom/android/server/backup/BackupManagerService;->writeToJournalLocked(Ljava/lang/String;)V
-PLcom/android/server/backup/BackupPasswordManager$PasswordHashFileCodec;-><init>()V
-PLcom/android/server/backup/BackupPasswordManager$PasswordHashFileCodec;-><init>(Lcom/android/server/backup/BackupPasswordManager$1;)V
-PLcom/android/server/backup/BackupPasswordManager$PasswordVersionFileCodec;-><init>()V
-PLcom/android/server/backup/BackupPasswordManager$PasswordVersionFileCodec;-><init>(Lcom/android/server/backup/BackupPasswordManager$1;)V
-PLcom/android/server/backup/BackupPasswordManager;-><init>(Landroid/content/Context;Ljava/io/File;Ljava/security/SecureRandom;)V
-PLcom/android/server/backup/BackupPasswordManager;->getPasswordHashFile()Ljava/io/File;
-PLcom/android/server/backup/BackupPasswordManager;->getPasswordHashFileCodec()Lcom/android/server/backup/utils/DataStreamFileCodec;
-PLcom/android/server/backup/BackupPasswordManager;->getPasswordVersionFileCodec()Lcom/android/server/backup/utils/DataStreamFileCodec;
-PLcom/android/server/backup/BackupPasswordManager;->hasBackupPassword()Z
 PLcom/android/server/backup/BackupPasswordManager;->loadStateFromFilesystem()V
-PLcom/android/server/backup/BackupPolicyEnforcer;-><init>(Landroid/content/Context;)V
 PLcom/android/server/backup/BackupUtils;->hashSignature(Landroid/content/pm/Signature;)[B
 PLcom/android/server/backup/BackupUtils;->hashSignature([B)[B
-PLcom/android/server/backup/BackupUtils;->hashSignatureArray([Landroid/content/pm/Signature;)Ljava/util/ArrayList;
+PLcom/android/server/backup/BackupUtils;->signaturesMatch(Ljava/util/ArrayList;Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageManagerInternal;)Z
 PLcom/android/server/backup/DataChangedJournal;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/backup/DataChangedJournal;-><init>(Ljava/io/File;)V
 PLcom/android/server/backup/DataChangedJournal;->addPackage(Ljava/lang/String;)V
 PLcom/android/server/backup/DataChangedJournal;->delete()Z
 PLcom/android/server/backup/DataChangedJournal;->equals(Ljava/lang/Object;)Z
-PLcom/android/server/backup/DataChangedJournal;->forEach(Lcom/android/server/backup/DataChangedJournal$Consumer;)V
-PLcom/android/server/backup/DataChangedJournal;->listJournals(Ljava/io/File;)Ljava/util/ArrayList;
-PLcom/android/server/backup/DataChangedJournal;->newJournal(Ljava/io/File;)Lcom/android/server/backup/DataChangedJournal;
+PLcom/android/server/backup/DataChangedJournal;->forEach(Ljava/util/function/Consumer;)V
 PLcom/android/server/backup/FullBackupJob;-><init>()V
-PLcom/android/server/backup/FullBackupJob;->finishBackupPass()V
+PLcom/android/server/backup/FullBackupJob;->finishBackupPass(I)V
 PLcom/android/server/backup/FullBackupJob;->onStartJob(Landroid/app/job/JobParameters;)Z
-PLcom/android/server/backup/FullBackupJob;->schedule(Landroid/content/Context;JLcom/android/server/backup/BackupManagerConstants;)V
+PLcom/android/server/backup/FullBackupJob;->onStopJob(Landroid/app/job/JobParameters;)Z
+PLcom/android/server/backup/FullBackupJob;->schedule(ILandroid/content/Context;JLcom/android/server/backup/BackupManagerConstants;)V
 PLcom/android/server/backup/KeyValueBackupJob;-><init>()V
-PLcom/android/server/backup/KeyValueBackupJob;->cancel(Landroid/content/Context;)V
+PLcom/android/server/backup/KeyValueBackupJob;->cancel(ILandroid/content/Context;)V
+PLcom/android/server/backup/KeyValueBackupJob;->getJobIdForUserId(I)I
 PLcom/android/server/backup/KeyValueBackupJob;->onStartJob(Landroid/app/job/JobParameters;)Z
-PLcom/android/server/backup/KeyValueBackupJob;->schedule(Landroid/content/Context;JLcom/android/server/backup/BackupManagerConstants;)V
-PLcom/android/server/backup/KeyValueBackupJob;->schedule(Landroid/content/Context;Lcom/android/server/backup/BackupManagerConstants;)V
-PLcom/android/server/backup/PackageManagerBackupAgent$Metadata;-><init>(Lcom/android/server/backup/PackageManagerBackupAgent;JLjava/util/ArrayList;)V
-PLcom/android/server/backup/PackageManagerBackupAgent;-><init>(Landroid/content/pm/PackageManager;)V
-PLcom/android/server/backup/PackageManagerBackupAgent;->evaluateStorablePackages()V
-PLcom/android/server/backup/PackageManagerBackupAgent;->getPreferredHomeComponent()Landroid/content/ComponentName;
-PLcom/android/server/backup/PackageManagerBackupAgent;->getStorableApplications(Landroid/content/pm/PackageManager;)Ljava/util/List;
-PLcom/android/server/backup/PackageManagerBackupAgent;->init(Landroid/content/pm/PackageManager;Ljava/util/List;)V
+PLcom/android/server/backup/KeyValueBackupJob;->schedule(ILandroid/content/Context;JLcom/android/server/backup/BackupManagerConstants;)V
+PLcom/android/server/backup/PackageManagerBackupAgent;->getStorableApplications(Landroid/content/pm/PackageManager;I)Ljava/util/List;
 PLcom/android/server/backup/PackageManagerBackupAgent;->onBackup(Landroid/os/ParcelFileDescriptor;Landroid/app/backup/BackupDataOutput;Landroid/os/ParcelFileDescriptor;)V
 PLcom/android/server/backup/PackageManagerBackupAgent;->parseStateFile(Landroid/os/ParcelFileDescriptor;)V
-PLcom/android/server/backup/PackageManagerBackupAgent;->writeEntity(Landroid/app/backup/BackupDataOutput;Ljava/lang/String;[B)V
-PLcom/android/server/backup/PackageManagerBackupAgent;->writeSignatureHashArray(Ljava/io/DataOutputStream;Ljava/util/ArrayList;)V
+PLcom/android/server/backup/PackageManagerBackupAgent;->readSignatureHashArray(Ljava/io/DataInputStream;)Ljava/util/ArrayList;
 PLcom/android/server/backup/PackageManagerBackupAgent;->writeStateFile(Ljava/util/List;Landroid/content/ComponentName;JLjava/util/ArrayList;Landroid/os/ParcelFileDescriptor;)V
 PLcom/android/server/backup/ProcessedPackagesJournal;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/backup/ProcessedPackagesJournal;-><init>(Ljava/io/File;)V
 PLcom/android/server/backup/ProcessedPackagesJournal;->addPackage(Ljava/lang/String;)V
-PLcom/android/server/backup/ProcessedPackagesJournal;->hasBeenProcessed(Ljava/lang/String;)Z
 PLcom/android/server/backup/ProcessedPackagesJournal;->init()V
 PLcom/android/server/backup/ProcessedPackagesJournal;->loadFromDisk()V
-PLcom/android/server/backup/Trampoline;-><init>(Landroid/content/Context;)V
-PLcom/android/server/backup/Trampoline;->agentConnected(Ljava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/backup/ProcessedPackagesJournal;->reset()V
+PLcom/android/server/backup/Trampoline;->agentConnectedForUser(ILjava/lang/String;Landroid/os/IBinder;)V
 PLcom/android/server/backup/Trampoline;->backupNow()V
-PLcom/android/server/backup/Trampoline;->beginFullBackup(Lcom/android/server/backup/FullBackupJob;)Z
-PLcom/android/server/backup/Trampoline;->createBackupManagerService()Lcom/android/server/backup/BackupManagerServiceInterface;
-PLcom/android/server/backup/Trampoline;->dataChanged(Ljava/lang/String;)V
+PLcom/android/server/backup/Trampoline;->backupNowForUser(I)V
+PLcom/android/server/backup/Trampoline;->beginFullBackup(ILcom/android/server/backup/FullBackupJob;)Z
+PLcom/android/server/backup/Trampoline;->cancelBackups()V
+PLcom/android/server/backup/Trampoline;->cancelBackupsForUser(I)V
+PLcom/android/server/backup/Trampoline;->createBackupManagerService()Lcom/android/server/backup/BackupManagerService;
+PLcom/android/server/backup/Trampoline;->endFullBackup(I)V
+PLcom/android/server/backup/Trampoline;->getActivatedFileForNonSystemUser(I)Ljava/io/File;
 PLcom/android/server/backup/Trampoline;->getCurrentTransport()Ljava/lang/String;
-PLcom/android/server/backup/Trampoline;->getSuppressFile()Ljava/io/File;
-PLcom/android/server/backup/Trampoline;->hasBackupPassword()Z
-PLcom/android/server/backup/Trampoline;->initialize(I)V
-PLcom/android/server/backup/Trampoline;->isBackupDisabled()Z
+PLcom/android/server/backup/Trampoline;->getCurrentTransportForUser(I)Ljava/lang/String;
+PLcom/android/server/backup/Trampoline;->getDataManagementIntent(Ljava/lang/String;)Landroid/content/Intent;
+PLcom/android/server/backup/Trampoline;->getDataManagementIntentForUser(ILjava/lang/String;)Landroid/content/Intent;
+PLcom/android/server/backup/Trampoline;->getSuppressFileForSystemUser()Ljava/io/File;
+PLcom/android/server/backup/Trampoline;->initializeService()V
+PLcom/android/server/backup/Trampoline;->isAppEligibleForBackupForUser(ILjava/lang/String;)Z
 PLcom/android/server/backup/Trampoline;->isBackupEnabled()Z
+PLcom/android/server/backup/Trampoline;->isBackupEnabledForUser(I)Z
 PLcom/android/server/backup/Trampoline;->isBackupServiceActive(I)Z
-PLcom/android/server/backup/Trampoline;->lambda$unlockSystemUser$0(Lcom/android/server/backup/Trampoline;)V
-PLcom/android/server/backup/Trampoline;->opComplete(IJ)V
-PLcom/android/server/backup/Trampoline;->restoreAtInstall(Ljava/lang/String;I)V
+PLcom/android/server/backup/Trampoline;->lambda$initializeService$0$Trampoline()V
+PLcom/android/server/backup/Trampoline;->lambda$initializeService$0(Lcom/android/server/backup/Trampoline;)V
+PLcom/android/server/backup/Trampoline;->lambda$stopUser$2$Trampoline(I)V
+PLcom/android/server/backup/Trampoline;->lambda$unlockUser$1$Trampoline(I)V
+PLcom/android/server/backup/Trampoline;->opCompleteForUser(IIJ)V
+PLcom/android/server/backup/Trampoline;->postToHandler(Ljava/lang/Runnable;)V
+PLcom/android/server/backup/Trampoline;->requestBackup([Ljava/lang/String;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;I)I
+PLcom/android/server/backup/Trampoline;->requestBackupForUser(I[Ljava/lang/String;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;I)I
+PLcom/android/server/backup/Trampoline;->selectBackupTransport(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/backup/Trampoline;->selectBackupTransportAsyncForUser(ILandroid/content/ComponentName;Landroid/app/backup/ISelectBackupTransportCallback;)V
+PLcom/android/server/backup/Trampoline;->selectBackupTransportForUser(ILjava/lang/String;)Ljava/lang/String;
 PLcom/android/server/backup/Trampoline;->setBackupEnabled(Z)V
-PLcom/android/server/backup/Trampoline;->unlockSystemUser()V
-PLcom/android/server/backup/Trampoline;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
-PLcom/android/server/backup/TransportManager$TransportDescription;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
-PLcom/android/server/backup/TransportManager$TransportDescription;-><init>(Ljava/lang/String;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Lcom/android/server/backup/TransportManager$1;)V
-PLcom/android/server/backup/TransportManager$TransportDescription;->access$000(Lcom/android/server/backup/TransportManager$TransportDescription;)Ljava/lang/String;
-PLcom/android/server/backup/TransportManager$TransportDescription;->access$002(Lcom/android/server/backup/TransportManager$TransportDescription;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/backup/TransportManager$TransportDescription;->access$100(Lcom/android/server/backup/TransportManager$TransportDescription;)Ljava/lang/String;
-PLcom/android/server/backup/TransportManager$TransportDescription;->access$202(Lcom/android/server/backup/TransportManager$TransportDescription;Landroid/content/Intent;)Landroid/content/Intent;
-PLcom/android/server/backup/TransportManager$TransportDescription;->access$302(Lcom/android/server/backup/TransportManager$TransportDescription;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/backup/TransportManager$TransportDescription;->access$402(Lcom/android/server/backup/TransportManager$TransportDescription;Landroid/content/Intent;)Landroid/content/Intent;
-PLcom/android/server/backup/TransportManager$TransportDescription;->access$502(Lcom/android/server/backup/TransportManager$TransportDescription;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/backup/TransportManager;-><init>(Landroid/content/Context;Ljava/util/Set;Ljava/lang/String;)V
-PLcom/android/server/backup/TransportManager;->checkCanUseTransport()V
+PLcom/android/server/backup/Trampoline;->setBackupEnabledForUser(IZ)V
+PLcom/android/server/backup/Trampoline;->startServiceForUser(I)V
+PLcom/android/server/backup/Trampoline;->stopUser(I)V
+PLcom/android/server/backup/Trampoline;->unlockUser(I)V
+PLcom/android/server/backup/Trampoline;->updateTransportAttributesForUser(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
+PLcom/android/server/backup/TransportManager;-><init>(ILandroid/content/Context;Ljava/util/Set;Ljava/lang/String;)V
 PLcom/android/server/backup/TransportManager;->disposeOfTransportClient(Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;)V
-PLcom/android/server/backup/TransportManager;->fromPackageFilter(Ljava/lang/String;)Ljava/util/function/Predicate;
 PLcom/android/server/backup/TransportManager;->getCurrentTransportClient(Ljava/lang/String;)Lcom/android/server/backup/transport/TransportClient;
+PLcom/android/server/backup/TransportManager;->getCurrentTransportClientOrThrow(Ljava/lang/String;)Lcom/android/server/backup/transport/TransportClient;
 PLcom/android/server/backup/TransportManager;->getCurrentTransportName()Ljava/lang/String;
-PLcom/android/server/backup/TransportManager;->getRegisteredTransportComponentLocked(Ljava/lang/String;)Landroid/content/ComponentName;
-PLcom/android/server/backup/TransportManager;->getRegisteredTransportDescriptionLocked(Ljava/lang/String;)Lcom/android/server/backup/TransportManager$TransportDescription;
+PLcom/android/server/backup/TransportManager;->getRegisteredTransportDescriptionOrThrowLocked(Landroid/content/ComponentName;)Lcom/android/server/backup/TransportManager$TransportDescription;
 PLcom/android/server/backup/TransportManager;->getRegisteredTransportDescriptionOrThrowLocked(Ljava/lang/String;)Lcom/android/server/backup/TransportManager$TransportDescription;
 PLcom/android/server/backup/TransportManager;->getRegisteredTransportEntryLocked(Ljava/lang/String;)Ljava/util/Map$Entry;
 PLcom/android/server/backup/TransportManager;->getTransportClient(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/backup/transport/TransportClient;
 PLcom/android/server/backup/TransportManager;->getTransportClientOrThrow(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/backup/transport/TransportClient;
+PLcom/android/server/backup/TransportManager;->getTransportDataManagementIntent(Ljava/lang/String;)Landroid/content/Intent;
 PLcom/android/server/backup/TransportManager;->getTransportDirName(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/backup/TransportManager;->getTransportName(Landroid/content/ComponentName;)Ljava/lang/String;
 PLcom/android/server/backup/TransportManager;->isTransportRegistered(Ljava/lang/String;)Z
 PLcom/android/server/backup/TransportManager;->isTransportTrusted(Landroid/content/ComponentName;)Z
-PLcom/android/server/backup/TransportManager;->lambda$fromPackageFilter$3(Ljava/lang/String;Landroid/content/ComponentName;)Z
-PLcom/android/server/backup/TransportManager;->lambda$registerTransports$2(Landroid/content/ComponentName;)Z
 PLcom/android/server/backup/TransportManager;->onPackageAdded(Ljava/lang/String;)V
 PLcom/android/server/backup/TransportManager;->onPackageChanged(Ljava/lang/String;[Ljava/lang/String;)V
 PLcom/android/server/backup/TransportManager;->onPackageRemoved(Ljava/lang/String;)V
+PLcom/android/server/backup/TransportManager;->registerAndSelectTransport(Landroid/content/ComponentName;)I
 PLcom/android/server/backup/TransportManager;->registerTransport(Landroid/content/ComponentName;)I
 PLcom/android/server/backup/TransportManager;->registerTransport(Landroid/content/ComponentName;Lcom/android/internal/backup/IBackupTransport;)V
 PLcom/android/server/backup/TransportManager;->registerTransports()V
 PLcom/android/server/backup/TransportManager;->registerTransportsForIntent(Landroid/content/Intent;Ljava/util/function/Predicate;)V
 PLcom/android/server/backup/TransportManager;->registerTransportsFromPackage(Ljava/lang/String;Ljava/util/function/Predicate;)V
+PLcom/android/server/backup/TransportManager;->selectTransport(Ljava/lang/String;)Ljava/lang/String;
 PLcom/android/server/backup/TransportManager;->setOnTransportRegisteredListener(Lcom/android/server/backup/transport/OnTransportRegisteredListener;)V
 PLcom/android/server/backup/TransportManager;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
-PLcom/android/server/backup/fullbackup/-$$Lambda$PerformFullTransportBackupTask$ymLoQLrsEpmGaMrcudrdAgsU1Zk;-><init>(Lcom/android/server/backup/TransportManager;Lcom/android/server/backup/transport/TransportClient;)V
+PLcom/android/server/backup/UserBackupManagerFilePersistedSettings;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+PLcom/android/server/backup/UserBackupManagerFilePersistedSettings;->readBackupEnableState(Ljava/io/File;)Z
+PLcom/android/server/backup/UserBackupManagerFilePersistedSettings;->writeBackupEnableState(Ljava/io/File;Z)V
+PLcom/android/server/backup/UserBackupManagerService$1;->run()V
+PLcom/android/server/backup/UserBackupManagerService$2;->lambda$onReceive$0$UserBackupManagerService$2(Ljava/lang/String;[Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService$2;->lambda$onReceive$1$UserBackupManagerService$2(Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService$2;->lambda$onReceive$2$UserBackupManagerService$2(Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/backup/UserBackupManagerService$3;->run()V
+PLcom/android/server/backup/UserBackupManagerService$4;->run()V
+PLcom/android/server/backup/UserBackupManagerService;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+PLcom/android/server/backup/UserBackupManagerService;-><init>(ILandroid/content/Context;Lcom/android/server/backup/Trampoline;Landroid/os/HandlerThread;Ljava/io/File;Ljava/io/File;Lcom/android/server/backup/TransportManager;)V
+PLcom/android/server/backup/UserBackupManagerService;->addPackageParticipantsLockedInner(Ljava/lang/String;Ljava/util/List;)V
+PLcom/android/server/backup/UserBackupManagerService;->agentConnected(Ljava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/backup/UserBackupManagerService;->allAgentPackages()Ljava/util/List;
+PLcom/android/server/backup/UserBackupManagerService;->backupNow()V
+PLcom/android/server/backup/UserBackupManagerService;->beginFullBackup(Lcom/android/server/backup/FullBackupJob;)Z
+PLcom/android/server/backup/UserBackupManagerService;->bindToAgentSynchronous(Landroid/content/pm/ApplicationInfo;I)Landroid/app/IBackupAgent;
+PLcom/android/server/backup/UserBackupManagerService;->cancelBackups()V
+PLcom/android/server/backup/UserBackupManagerService;->createAndInitializeService(ILandroid/content/Context;Lcom/android/server/backup/Trampoline;Ljava/util/Set;)Lcom/android/server/backup/UserBackupManagerService;
+PLcom/android/server/backup/UserBackupManagerService;->dataChanged(Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->dataChangedImpl(Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->dataChangedImpl(Ljava/lang/String;Ljava/util/HashSet;)V
+PLcom/android/server/backup/UserBackupManagerService;->dataChangedTargets(Ljava/lang/String;)Ljava/util/HashSet;
+PLcom/android/server/backup/UserBackupManagerService;->dequeueFullBackupLocked(Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->endFullBackup()V
+PLcom/android/server/backup/UserBackupManagerService;->enqueueFullBackup(Ljava/lang/String;J)V
+PLcom/android/server/backup/UserBackupManagerService;->fullBackupAllowable(Ljava/lang/String;)Z
+PLcom/android/server/backup/UserBackupManagerService;->generateRandomIntegerToken()I
+PLcom/android/server/backup/UserBackupManagerService;->getActivityManager()Landroid/app/IActivityManager;
+PLcom/android/server/backup/UserBackupManagerService;->getAgentTimeoutParameters()Lcom/android/server/backup/BackupAgentTimeoutParameters;
+PLcom/android/server/backup/UserBackupManagerService;->getBackupHandler()Landroid/os/Handler;
+PLcom/android/server/backup/UserBackupManagerService;->getBackupManagerBinder()Landroid/app/backup/IBackupManager;
+PLcom/android/server/backup/UserBackupManagerService;->getBaseStateDir()Ljava/io/File;
+PLcom/android/server/backup/UserBackupManagerService;->getConstants()Lcom/android/server/backup/BackupManagerConstants;
+PLcom/android/server/backup/UserBackupManagerService;->getContext()Landroid/content/Context;
+PLcom/android/server/backup/UserBackupManagerService;->getCurrentOpLock()Ljava/lang/Object;
+PLcom/android/server/backup/UserBackupManagerService;->getCurrentOperations()Landroid/util/SparseArray;
+PLcom/android/server/backup/UserBackupManagerService;->getCurrentToken()J
+PLcom/android/server/backup/UserBackupManagerService;->getCurrentTransport()Ljava/lang/String;
+PLcom/android/server/backup/UserBackupManagerService;->getDataDir()Ljava/io/File;
+PLcom/android/server/backup/UserBackupManagerService;->getDataManagementIntent(Ljava/lang/String;)Landroid/content/Intent;
+PLcom/android/server/backup/UserBackupManagerService;->getJournal()Lcom/android/server/backup/DataChangedJournal;
+PLcom/android/server/backup/UserBackupManagerService;->getMessageIdForOperationType(I)I
+PLcom/android/server/backup/UserBackupManagerService;->getPackageManager()Landroid/content/pm/PackageManager;
+PLcom/android/server/backup/UserBackupManagerService;->getPendingBackups()Ljava/util/HashMap;
+PLcom/android/server/backup/UserBackupManagerService;->getPendingInits()Landroid/util/ArraySet;
+PLcom/android/server/backup/UserBackupManagerService;->getQueueLock()Ljava/lang/Object;
+PLcom/android/server/backup/UserBackupManagerService;->getTransportManager()Lcom/android/server/backup/TransportManager;
+PLcom/android/server/backup/UserBackupManagerService;->getUserId()I
+PLcom/android/server/backup/UserBackupManagerService;->getWakelock()Landroid/os/PowerManager$WakeLock;
+PLcom/android/server/backup/UserBackupManagerService;->handleCancel(IZ)V
+PLcom/android/server/backup/UserBackupManagerService;->initPackageTracking()V
+PLcom/android/server/backup/UserBackupManagerService;->initializeBackupEnableState()V
+PLcom/android/server/backup/UserBackupManagerService;->isAppEligibleForBackup(Ljava/lang/String;)Z
+PLcom/android/server/backup/UserBackupManagerService;->isBackupEnabled()Z
+PLcom/android/server/backup/UserBackupManagerService;->isBackupOperationInProgress()Z
+PLcom/android/server/backup/UserBackupManagerService;->isBackupRunning()Z
+PLcom/android/server/backup/UserBackupManagerService;->isEnabled()Z
+PLcom/android/server/backup/UserBackupManagerService;->isSetupComplete()Z
+PLcom/android/server/backup/UserBackupManagerService;->lambda$parseLeftoverJournals$0$UserBackupManagerService(Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->lambda$selectBackupTransportAsync$5(Lcom/android/server/backup/UserBackupManagerService;Landroid/content/ComponentName;Landroid/app/backup/ISelectBackupTransportCallback;)V
+PLcom/android/server/backup/UserBackupManagerService;->logBackupComplete(Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->makeMetadataAgent()Landroid/app/backup/BackupAgent;
+PLcom/android/server/backup/UserBackupManagerService;->onTransportRegistered(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->opComplete(IJ)V
+PLcom/android/server/backup/UserBackupManagerService;->parseLeftoverJournals()V
+PLcom/android/server/backup/UserBackupManagerService;->prepareOperationTimeout(IJLcom/android/server/backup/BackupRestoreTask;I)V
+PLcom/android/server/backup/UserBackupManagerService;->putOperation(ILcom/android/server/backup/internal/Operation;)V
+PLcom/android/server/backup/UserBackupManagerService;->readFullBackupSchedule()Ljava/util/ArrayList;
+PLcom/android/server/backup/UserBackupManagerService;->removeOperation(I)V
+PLcom/android/server/backup/UserBackupManagerService;->removePackageParticipantsLocked([Ljava/lang/String;I)V
+PLcom/android/server/backup/UserBackupManagerService;->requestBackup([Ljava/lang/String;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;I)I
+PLcom/android/server/backup/UserBackupManagerService;->resetBackupState(Ljava/io/File;)V
+PLcom/android/server/backup/UserBackupManagerService;->scheduleNextFullBackupJob(J)V
+PLcom/android/server/backup/UserBackupManagerService;->selectBackupTransportAsync(Landroid/content/ComponentName;Landroid/app/backup/ISelectBackupTransportCallback;)V
+PLcom/android/server/backup/UserBackupManagerService;->setBackupEnabled(Z)V
+PLcom/android/server/backup/UserBackupManagerService;->setBackupRunning(Z)V
+PLcom/android/server/backup/UserBackupManagerService;->setCurrentToken(J)V
+PLcom/android/server/backup/UserBackupManagerService;->setJournal(Lcom/android/server/backup/DataChangedJournal;)V
+PLcom/android/server/backup/UserBackupManagerService;->setLastBackupPass(J)V
+PLcom/android/server/backup/UserBackupManagerService;->setRunningFullBackupTask(Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;)V
+PLcom/android/server/backup/UserBackupManagerService;->setWorkSource(Landroid/os/WorkSource;)V
+PLcom/android/server/backup/UserBackupManagerService;->tearDownAgentAndKill(Landroid/content/pm/ApplicationInfo;)V
+PLcom/android/server/backup/UserBackupManagerService;->unbindAgent(Landroid/content/pm/ApplicationInfo;)V
+PLcom/android/server/backup/UserBackupManagerService;->updateStateForTransport(Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->updateTransportAttributes(ILandroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->updateTransportAttributes(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;)V
+PLcom/android/server/backup/UserBackupManagerService;->waitUntilOperationComplete(I)Z
+PLcom/android/server/backup/UserBackupManagerService;->writeRestoreTokens()V
+PLcom/android/server/backup/UserBackupManagerService;->writeToJournalLocked(Ljava/lang/String;)V
+PLcom/android/server/backup/fullbackup/-$$Lambda$PerformFullTransportBackupTask$SinglePackageBackupPreflight$hWbC3_rWMPrteAdbbM5aSW2SKD0;->call(Ljava/lang/Object;)V
 PLcom/android/server/backup/fullbackup/-$$Lambda$PerformFullTransportBackupTask$ymLoQLrsEpmGaMrcudrdAgsU1Zk;->onFinished(Ljava/lang/String;)V
-PLcom/android/server/backup/fullbackup/FullBackupEngine$FullBackupRunner;-><init>(Lcom/android/server/backup/fullbackup/FullBackupEngine;Landroid/content/pm/PackageInfo;Landroid/app/IBackupAgent;Landroid/os/ParcelFileDescriptor;IZZ[B)V
+PLcom/android/server/backup/fullbackup/AppMetadataBackupWriter;->backupManifest(Landroid/content/pm/PackageInfo;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Z)V
+PLcom/android/server/backup/fullbackup/AppMetadataBackupWriter;->backupWidget(Landroid/content/pm/PackageInfo;Ljava/io/File;Ljava/io/File;[B)V
+PLcom/android/server/backup/fullbackup/AppMetadataBackupWriter;->getManifestBytes(Landroid/content/pm/PackageInfo;Z)[B
+PLcom/android/server/backup/fullbackup/FullBackupEngine$FullBackupRunner;-><init>(Lcom/android/server/backup/fullbackup/FullBackupEngine;Lcom/android/server/backup/UserBackupManagerService;Landroid/content/pm/PackageInfo;Landroid/app/IBackupAgent;Landroid/os/ParcelFileDescriptor;IZ)V
 PLcom/android/server/backup/fullbackup/FullBackupEngine$FullBackupRunner;->run()V
-PLcom/android/server/backup/fullbackup/FullBackupEngine;-><init>(Lcom/android/server/backup/BackupManagerService;Ljava/io/OutputStream;Lcom/android/server/backup/fullbackup/FullBackupPreflight;Landroid/content/pm/PackageInfo;ZLcom/android/server/backup/BackupRestoreTask;JII)V
-PLcom/android/server/backup/fullbackup/FullBackupEngine;->access$000(Lcom/android/server/backup/fullbackup/FullBackupEngine;)I
-PLcom/android/server/backup/fullbackup/FullBackupEngine;->access$100(Lcom/android/server/backup/fullbackup/FullBackupEngine;)Lcom/android/server/backup/BackupManagerService;
-PLcom/android/server/backup/fullbackup/FullBackupEngine;->access$400(Lcom/android/server/backup/fullbackup/FullBackupEngine;)Lcom/android/server/backup/BackupAgentTimeoutParameters;
-PLcom/android/server/backup/fullbackup/FullBackupEngine;->access$500(Lcom/android/server/backup/fullbackup/FullBackupEngine;)J
+PLcom/android/server/backup/fullbackup/FullBackupEngine;-><init>(Lcom/android/server/backup/UserBackupManagerService;Ljava/io/OutputStream;Lcom/android/server/backup/fullbackup/FullBackupPreflight;Landroid/content/pm/PackageInfo;ZLcom/android/server/backup/BackupRestoreTask;JII)V
 PLcom/android/server/backup/fullbackup/FullBackupEngine;->backupOnePackage()I
-PLcom/android/server/backup/fullbackup/FullBackupEngine;->initializeAgent()Z
 PLcom/android/server/backup/fullbackup/FullBackupEngine;->preflightCheck()I
-PLcom/android/server/backup/fullbackup/FullBackupEngine;->tearDown()V
-PLcom/android/server/backup/fullbackup/FullBackupEntry;-><init>(Ljava/lang/String;J)V
 PLcom/android/server/backup/fullbackup/FullBackupEntry;->compareTo(Lcom/android/server/backup/fullbackup/FullBackupEntry;)I
 PLcom/android/server/backup/fullbackup/FullBackupEntry;->compareTo(Ljava/lang/Object;)I
-PLcom/android/server/backup/fullbackup/FullBackupTask;-><init>(Landroid/app/backup/IFullBackupRestoreObserver;)V
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupPreflight;-><init>(Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;Lcom/android/server/backup/transport/TransportClient;JII)V
 PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupPreflight;->getExpectedSizeOrErrorCode()J
 PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupPreflight;->operationComplete(J)V
 PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupPreflight;->preflightFullBackup(Landroid/content/pm/PackageInfo;Landroid/app/IBackupAgent;)I
 PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;-><init>(Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;Landroid/os/ParcelFileDescriptor;Landroid/content/pm/PackageInfo;Lcom/android/server/backup/transport/TransportClient;JII)V
 PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;->getBackupResultBlocking()I
 PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;->getPreflightResultBlocking()J
+PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;->handleCancel(Z)V
 PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;->operationComplete(J)V
 PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;->registerTask()V
 PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;->run()V
 PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask$SinglePackageBackupRunner;->unregisterTask()V
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;-><init>(Lcom/android/server/backup/BackupManagerService;Lcom/android/server/backup/transport/TransportClient;Landroid/app/backup/IFullBackupRestoreObserver;[Ljava/lang/String;ZLcom/android/server/backup/FullBackupJob;Ljava/util/concurrent/CountDownLatch;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;Lcom/android/server/backup/internal/OnTaskFinishedListener;Z)V
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->access$000(Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;)Lcom/android/server/backup/BackupAgentTimeoutParameters;
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->access$100(Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;)Lcom/android/server/backup/BackupManagerService;
+PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;-><init>(Lcom/android/server/backup/UserBackupManagerService;Lcom/android/server/backup/transport/TransportClient;Landroid/app/backup/IFullBackupRestoreObserver;[Ljava/lang/String;ZLcom/android/server/backup/FullBackupJob;Ljava/util/concurrent/CountDownLatch;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;Lcom/android/server/backup/internal/OnTaskFinishedListener;Z)V
 PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->cleanUpPipes([Landroid/os/ParcelFileDescriptor;)V
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->lambda$newWithCurrentTransport$0(Lcom/android/server/backup/TransportManager;Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;)V
-PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->newWithCurrentTransport(Lcom/android/server/backup/BackupManagerService;Landroid/app/backup/IFullBackupRestoreObserver;[Ljava/lang/String;ZLcom/android/server/backup/FullBackupJob;Ljava/util/concurrent/CountDownLatch;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;ZLjava/lang/String;)Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;
+PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->handleCancel(Z)V
+PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->newWithCurrentTransport(Lcom/android/server/backup/UserBackupManagerService;Landroid/app/backup/IFullBackupRestoreObserver;[Ljava/lang/String;ZLcom/android/server/backup/FullBackupJob;Ljava/util/concurrent/CountDownLatch;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;ZLjava/lang/String;)Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;
 PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->registerTask()V
 PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->run()V
 PLcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;->unregisterTask()V
-PLcom/android/server/backup/internal/-$$Lambda$BackupHandler$TJcRazGYTaUxjeiX6mPLlipfZUI;-><init>(Lcom/android/server/backup/TransportManager;Lcom/android/server/backup/transport/TransportClient;)V
 PLcom/android/server/backup/internal/-$$Lambda$BackupHandler$TJcRazGYTaUxjeiX6mPLlipfZUI;->onFinished(Ljava/lang/String;)V
-PLcom/android/server/backup/internal/BackupHandler;-><init>(Lcom/android/server/backup/BackupManagerService;Landroid/os/Looper;)V
 PLcom/android/server/backup/internal/BackupHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/backup/internal/BackupHandler;->lambda$handleMessage$0(Lcom/android/server/backup/TransportManager;Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;)V
-PLcom/android/server/backup/internal/BackupRequest;-><init>(Ljava/lang/String;)V
-PLcom/android/server/backup/internal/BackupRequest;->toString()Ljava/lang/String;
-PLcom/android/server/backup/internal/BackupState;-><init>(Ljava/lang/String;I)V
-PLcom/android/server/backup/internal/BackupState;->values()[Lcom/android/server/backup/internal/BackupState;
-PLcom/android/server/backup/internal/Operation;-><init>(ILcom/android/server/backup/BackupRestoreTask;I)V
-PLcom/android/server/backup/internal/ProvisionedObserver;-><init>(Lcom/android/server/backup/BackupManagerService;Landroid/os/Handler;)V
-PLcom/android/server/backup/internal/RunBackupReceiver;-><init>(Lcom/android/server/backup/BackupManagerService;)V
 PLcom/android/server/backup/internal/RunBackupReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/backup/internal/RunInitializeReceiver;-><init>(Lcom/android/server/backup/BackupManagerService;)V
-PLcom/android/server/backup/keyvalue/KeyValueBackupTask;-><init>(Lcom/android/server/backup/BackupManagerService;Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;Ljava/util/List;Lcom/android/server/backup/DataChangedJournal;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;Lcom/android/server/backup/internal/OnTaskFinishedListener;Ljava/util/List;ZZ)V
+PLcom/android/server/backup/keyvalue/-$$Lambda$KeyValueBackupTask$NN2H32cNizGxrUxqHgqPqGldNsA;->call(Ljava/lang/Object;)V
+PLcom/android/server/backup/keyvalue/AgentException;->isTransitory()Z
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->getMonitor()Landroid/app/backup/IBackupManagerMonitor;
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->getObserver()Landroid/app/backup/IBackupObserver;
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onAgentFilesReady(Ljava/io/File;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onBackupFinished(I)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onEmptyData(Landroid/content/pm/PackageInfo;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onEmptyQueueAtStart()V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onExtractAgentData(Ljava/lang/String;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onInitializeTransport(Ljava/lang/String;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onPackageBackupComplete(Ljava/lang/String;J)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onPackageBackupNonIncrementalRequired(Landroid/content/pm/PackageInfo;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onPackageNotEligibleForBackup(Ljava/lang/String;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onPackageStopped(Ljava/lang/String;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onQueueReady(Ljava/util/List;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onRemoteCallReturned(Lcom/android/server/backup/remote/RemoteResult;Ljava/lang/String;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onRevertTask()V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onSkipBackup()V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onSkipPm()V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onStartFullBackup(Ljava/util/List;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onStartPackageBackup(Ljava/lang/String;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onTaskFinished()V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onTransportInitialized(I)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onTransportPerformBackup(Ljava/lang/String;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onTransportReady(Ljava/lang/String;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupReporter;->onWriteWidgetData(Z[B)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;-><init>(Lcom/android/server/backup/UserBackupManagerService;Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;Ljava/util/List;Lcom/android/server/backup/DataChangedJournal;Lcom/android/server/backup/keyvalue/KeyValueBackupReporter;Lcom/android/server/backup/internal/OnTaskFinishedListener;Ljava/util/List;ZZ)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->SHA1Checksum([B)Ljava/lang/String;
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->applyStateTransaction(I)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->backupPackage(Ljava/lang/String;)V
 PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->backupPm()V
-PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->beginBackup()V
-PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->clearAgentState()V
-PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->execute()V
-PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->executeNextState(Lcom/android/server/backup/internal/BackupState;)V
-PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->finalizeBackup()V
-PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->invokeAgentForBackup(Ljava/lang/String;Landroid/app/IBackupAgent;)I
-PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->invokeNextAgent()V
-PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->operationComplete(J)V
-PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->registerTask()V
-PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->revertAndEndBackup()V
-PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->unregisterTask()V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->bindAgent(Landroid/content/pm/PackageInfo;)Landroid/app/IBackupAgent;
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->checkAgentResult(Landroid/content/pm/PackageInfo;Lcom/android/server/backup/remote/RemoteResult;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->checkBackupData(Landroid/content/pm/ApplicationInfo;Ljava/io/File;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->cleanUpAgent(I)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->cleanUpAgentForTransportStatus(I)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->createFullBackupTask(Ljava/util/List;)Lcom/android/server/backup/fullbackup/PerformFullTransportBackupTask;
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->extractAgentData(Landroid/content/pm/PackageInfo;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->extractAgentData(Landroid/content/pm/PackageInfo;Landroid/app/IBackupAgent;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->extractPmAgentData(Landroid/content/pm/PackageInfo;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->finishTask(I)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->getPackageForBackup(Ljava/lang/String;)Landroid/content/pm/PackageInfo;
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->handleTransportStatus(ILjava/lang/String;J)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->lambda$extractAgentData$0$KeyValueBackupTask(Landroid/app/IBackupAgent;JILandroid/app/backup/IBackupCallback;)V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->revertTask()V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->run()V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->sendDataToTransport()I
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->sendDataToTransport(Landroid/content/pm/PackageInfo;)I
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->start(Lcom/android/server/backup/UserBackupManagerService;Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;Ljava/util/List;Lcom/android/server/backup/DataChangedJournal;Landroid/app/backup/IBackupObserver;Landroid/app/backup/IBackupManagerMonitor;Lcom/android/server/backup/internal/OnTaskFinishedListener;Ljava/util/List;ZZ)Lcom/android/server/backup/keyvalue/KeyValueBackupTask;
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->startTask()V
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->transportPerformBackup(Landroid/content/pm/PackageInfo;Ljava/io/File;Z)I
+PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->tryCloseFileDescriptor(Ljava/io/Closeable;Ljava/lang/String;)V
 PLcom/android/server/backup/keyvalue/KeyValueBackupTask;->writeWidgetPayloadIfAppropriate(Ljava/io/FileDescriptor;Ljava/lang/String;)V
-PLcom/android/server/backup/transport/-$$Lambda$TransportClient$ciIUj0x0CRg93UETUpy2FB5aqCQ;-><init>(Lcom/android/server/backup/transport/TransportClient;Lcom/android/server/backup/transport/TransportConnectionListener;Lcom/android/internal/backup/IBackupTransport;)V
+PLcom/android/server/backup/keyvalue/TaskException;->getStatus()I
+PLcom/android/server/backup/keyvalue/TaskException;->isStateCompromised()Z
+PLcom/android/server/backup/remote/-$$Lambda$RemoteCall$UZaEiTGjS9e2j04YYkGl3Y2ltU4;->run()V
+PLcom/android/server/backup/remote/FutureBackupCallback;->operationComplete(J)V
+PLcom/android/server/backup/remote/RemoteCall;->call()Lcom/android/server/backup/remote/RemoteResult;
+PLcom/android/server/backup/remote/RemoteResult;-><init>(IJ)V
+PLcom/android/server/backup/remote/RemoteResult;->get()J
+PLcom/android/server/backup/remote/RemoteResult;->isPresent()Z
 PLcom/android/server/backup/transport/-$$Lambda$TransportClient$ciIUj0x0CRg93UETUpy2FB5aqCQ;->run()V
-PLcom/android/server/backup/transport/-$$Lambda$TransportClient$uc3fygwQjQIS_JT7mlt-yMBfJcE;-><init>(Ljava/util/concurrent/CompletableFuture;)V
 PLcom/android/server/backup/transport/-$$Lambda$TransportClient$uc3fygwQjQIS_JT7mlt-yMBfJcE;->onTransportConnectionResult(Lcom/android/internal/backup/IBackupTransport;Lcom/android/server/backup/transport/TransportClient;)V
-PLcom/android/server/backup/transport/TransportClient$TransportConnection;-><init>(Landroid/content/Context;Lcom/android/server/backup/transport/TransportClient;)V
-PLcom/android/server/backup/transport/TransportClient$TransportConnection;-><init>(Landroid/content/Context;Lcom/android/server/backup/transport/TransportClient;Lcom/android/server/backup/transport/TransportClient$1;)V
 PLcom/android/server/backup/transport/TransportClient$TransportConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/backup/transport/TransportClient;-><init>(Landroid/content/Context;Lcom/android/server/backup/transport/TransportStats;Landroid/content/Intent;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/backup/transport/TransportClient;-><init>(Landroid/content/Context;Lcom/android/server/backup/transport/TransportStats;Landroid/content/Intent;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/os/Handler;)V
-PLcom/android/server/backup/transport/TransportClient;->access$100(Lcom/android/server/backup/transport/TransportClient;Landroid/os/IBinder;)V
-PLcom/android/server/backup/transport/TransportClient;->checkState(ZLjava/lang/String;)V
+PLcom/android/server/backup/transport/TransportClient;-><init>(ILandroid/content/Context;Lcom/android/server/backup/transport/TransportStats;Landroid/content/Intent;Landroid/content/ComponentName;Ljava/lang/String;Ljava/lang/String;Landroid/os/Handler;)V
 PLcom/android/server/backup/transport/TransportClient;->checkStateIntegrityLocked()V
 PLcom/android/server/backup/transport/TransportClient;->connect(Ljava/lang/String;)Lcom/android/internal/backup/IBackupTransport;
 PLcom/android/server/backup/transport/TransportClient;->connectAsync(Lcom/android/server/backup/transport/TransportConnectionListener;Ljava/lang/String;)V
 PLcom/android/server/backup/transport/TransportClient;->connectOrThrow(Ljava/lang/String;)Lcom/android/internal/backup/IBackupTransport;
 PLcom/android/server/backup/transport/TransportClient;->finalize()V
-PLcom/android/server/backup/transport/TransportClient;->lambda$connect$0(Ljava/util/concurrent/CompletableFuture;Lcom/android/internal/backup/IBackupTransport;Lcom/android/server/backup/transport/TransportClient;)V
-PLcom/android/server/backup/transport/TransportClient;->lambda$notifyListener$1(Lcom/android/server/backup/transport/TransportClient;Lcom/android/server/backup/transport/TransportConnectionListener;Lcom/android/internal/backup/IBackupTransport;)V
-PLcom/android/server/backup/transport/TransportClient;->log(ILjava/lang/String;)V
-PLcom/android/server/backup/transport/TransportClient;->log(ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/backup/transport/TransportClient;->getConnectedTransport(Ljava/lang/String;)Lcom/android/internal/backup/IBackupTransport;
+PLcom/android/server/backup/transport/TransportClient;->lambda$notifyListener$1$TransportClient(Lcom/android/server/backup/transport/TransportConnectionListener;Lcom/android/internal/backup/IBackupTransport;)V
 PLcom/android/server/backup/transport/TransportClient;->markAsDisposed()V
 PLcom/android/server/backup/transport/TransportClient;->notifyListener(Lcom/android/server/backup/transport/TransportConnectionListener;Lcom/android/internal/backup/IBackupTransport;Ljava/lang/String;)V
 PLcom/android/server/backup/transport/TransportClient;->notifyListenersAndClearLocked(Lcom/android/internal/backup/IBackupTransport;)V
 PLcom/android/server/backup/transport/TransportClient;->onServiceConnected(Landroid/os/IBinder;)V
 PLcom/android/server/backup/transport/TransportClient;->onStateTransition(II)V
+PLcom/android/server/backup/transport/TransportClient;->saveLogEntry(Ljava/lang/String;)V
 PLcom/android/server/backup/transport/TransportClient;->setStateLocked(ILcom/android/internal/backup/IBackupTransport;)V
 PLcom/android/server/backup/transport/TransportClient;->stateToString(I)Ljava/lang/String;
 PLcom/android/server/backup/transport/TransportClient;->toString()Ljava/lang/String;
-PLcom/android/server/backup/transport/TransportClient;->transitionThroughState(III)I
 PLcom/android/server/backup/transport/TransportClient;->unbind(Ljava/lang/String;)V
-PLcom/android/server/backup/transport/TransportClientManager;-><init>(Landroid/content/Context;Lcom/android/server/backup/transport/TransportStats;)V
 PLcom/android/server/backup/transport/TransportClientManager;->disposeOfTransportClient(Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;)V
 PLcom/android/server/backup/transport/TransportClientManager;->getTransportClient(Landroid/content/ComponentName;Landroid/os/Bundle;Ljava/lang/String;)Lcom/android/server/backup/transport/TransportClient;
 PLcom/android/server/backup/transport/TransportClientManager;->getTransportClient(Landroid/content/ComponentName;Ljava/lang/String;)Lcom/android/server/backup/transport/TransportClient;
 PLcom/android/server/backup/transport/TransportClientManager;->getTransportClient(Landroid/content/ComponentName;Ljava/lang/String;Landroid/content/Intent;)Lcom/android/server/backup/transport/TransportClient;
-PLcom/android/server/backup/transport/TransportStats$Stats;-><init>()V
-PLcom/android/server/backup/transport/TransportStats$Stats;->access$000(Lcom/android/server/backup/transport/TransportStats$Stats;J)V
 PLcom/android/server/backup/transport/TransportStats$Stats;->register(J)V
-PLcom/android/server/backup/transport/TransportStats;-><init>()V
 PLcom/android/server/backup/transport/TransportStats;->registerConnectionTime(Landroid/content/ComponentName;J)V
-PLcom/android/server/backup/transport/TransportUtils;->checkTransportNotNull(Lcom/android/internal/backup/IBackupTransport;)Lcom/android/internal/backup/IBackupTransport;
 PLcom/android/server/backup/transport/TransportUtils;->formatMessage(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/backup/utils/AppBackupUtils;->appGetsFullBackup(Landroid/content/pm/PackageInfo;)Z
-PLcom/android/server/backup/utils/AppBackupUtils;->appIsDisabled(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/PackageManager;)Z
-PLcom/android/server/backup/utils/AppBackupUtils;->appIsEligibleForBackup(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/PackageManager;)Z
-PLcom/android/server/backup/utils/AppBackupUtils;->appIsStopped(Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/backup/utils/AppBackupUtils;->appIsDisabled(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/IPackageManager;I)Z
+PLcom/android/server/backup/utils/AppBackupUtils;->appIsEligibleForBackup(Landroid/content/pm/ApplicationInfo;Landroid/content/pm/IPackageManager;I)Z
+PLcom/android/server/backup/utils/AppBackupUtils;->appIsRunningAndEligibleForBackupWithTransport(Lcom/android/server/backup/transport/TransportClient;Ljava/lang/String;Landroid/content/pm/PackageManager;I)Z
 PLcom/android/server/backup/utils/BackupManagerMonitorUtils;->monitorEvent(Landroid/app/backup/IBackupManagerMonitor;ILandroid/content/pm/PackageInfo;ILandroid/os/Bundle;)Landroid/app/backup/IBackupManagerMonitor;
 PLcom/android/server/backup/utils/BackupManagerMonitorUtils;->putMonitoringExtra(Landroid/os/Bundle;Ljava/lang/String;J)Landroid/os/Bundle;
+PLcom/android/server/backup/utils/BackupManagerMonitorUtils;->putMonitoringExtra(Landroid/os/Bundle;Ljava/lang/String;Ljava/lang/String;)Landroid/os/Bundle;
 PLcom/android/server/backup/utils/BackupObserverUtils;->sendBackupFinished(Landroid/app/backup/IBackupObserver;I)V
 PLcom/android/server/backup/utils/BackupObserverUtils;->sendBackupOnPackageResult(Landroid/app/backup/IBackupObserver;Ljava/lang/String;I)V
-PLcom/android/server/backup/utils/DataStreamFileCodec;-><init>(Ljava/io/File;Lcom/android/server/backup/utils/DataStreamCodec;)V
+PLcom/android/server/backup/utils/BackupObserverUtils;->sendBackupOnUpdate(Landroid/app/backup/IBackupObserver;Ljava/lang/String;Landroid/app/backup/BackupProgress;)V
 PLcom/android/server/backup/utils/DataStreamFileCodec;->deserialize()Ljava/lang/Object;
 PLcom/android/server/backup/utils/FullBackupUtils;->routeSocketDataToOutput(Landroid/os/ParcelFileDescriptor;Ljava/io/OutputStream;)V
-PLcom/android/server/backup/utils/FullBackupUtils;->writeAppManifest(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageManager;Ljava/io/File;ZZ)V
-PLcom/android/server/camera/CameraServiceProxy$1;-><init>(Lcom/android/server/camera/CameraServiceProxy;)V
-PLcom/android/server/camera/CameraServiceProxy$2;-><init>(Lcom/android/server/camera/CameraServiceProxy;)V
-PLcom/android/server/camera/CameraServiceProxy;-><init>(Landroid/content/Context;)V
-PLcom/android/server/camera/CameraServiceProxy;->getEnabledUserHandles(I)Ljava/util/Set;
-PLcom/android/server/camera/CameraServiceProxy;->notifyMediaserverLocked(ILjava/util/Set;)Z
-PLcom/android/server/camera/CameraServiceProxy;->onStart()V
-PLcom/android/server/camera/CameraServiceProxy;->onStartUser(I)V
-PLcom/android/server/camera/CameraServiceProxy;->switchUserLocked(I)V
-PLcom/android/server/camera/CameraServiceProxy;->toArray(Ljava/util/Collection;)[I
-PLcom/android/server/camera/CameraStatsJobService;->schedule(Landroid/content/Context;)V
-PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;-><init>(Lcom/android/server/clipboard/ClipboardService;)V
-PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;-><init>(Lcom/android/server/clipboard/ClipboardService;Lcom/android/server/clipboard/ClipboardService$1;)V
+PLcom/android/server/biometrics/-$$Lambda$BiometricService$BiometricServiceWrapper$1$7MpVK6dfs7BQNE8DXIXrFLyl8b4;->run()V
+PLcom/android/server/biometrics/-$$Lambda$BiometricService$BiometricServiceWrapper$bgbBfrWEA-53t1YOW_QO7St1x3A;->run()V
+PLcom/android/server/biometrics/-$$Lambda$BiometricService$BiometricServiceWrapper$v2gsmYId8wGVd_ghB6mIixc4qWA;->run()V
+PLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$3BDtQ31Of-KLPO7tQ7xlp7blHK4;->run()V
+PLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$aivpKkOumO0Y5eW-DasbcdjcN4o;->run()V
+PLcom/android/server/biometrics/AuthenticationClient;->getRequireConfirmation()Z
+PLcom/android/server/biometrics/AuthenticationClient;->isBiometricPrompt()Z
+PLcom/android/server/biometrics/AuthenticationClient;->isCryptoOperation()Z
+PLcom/android/server/biometrics/AuthenticationClient;->onAuthenticated(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;ZLjava/util/ArrayList;)Z
+PLcom/android/server/biometrics/AuthenticationClient;->onError(JII)Z
+PLcom/android/server/biometrics/AuthenticationClient;->start()I
+PLcom/android/server/biometrics/AuthenticationClient;->statsAction()I
+PLcom/android/server/biometrics/AuthenticationClient;->stop(Z)I
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$1;->lambda$onError$0(Lcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$1;ILjava/lang/String;)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$1;->logDialogDismissed(I)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$1;->onAcquired(ILjava/lang/String;)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$1;->onAuthenticationFailed(IZ)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$1;->onAuthenticationSucceeded(Z[B)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$1;->onDialogDismissed(I)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$1;->onError(IILjava/lang/String;)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$1;->statsModality()I
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$AuthSession;-><init>(Lcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;Ljava/util/HashMap;Landroid/os/IBinder;JILandroid/hardware/biometrics/IBiometricServiceReceiver;Ljava/lang/String;Landroid/os/Bundle;IIIIZ)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$AuthSession;->access$502(Lcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$AuthSession;I)I
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$AuthSession;->containsCookie(I)Z
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper$BiometricTaskStackListener;->onTaskStackChanged()V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->authenticate(Landroid/os/IBinder;JILandroid/hardware/biometrics/IBiometricServiceReceiver;Ljava/lang/String;Landroid/os/Bundle;)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->authenticateInternal(Landroid/os/IBinder;JILandroid/hardware/biometrics/IBiometricServiceReceiver;Ljava/lang/String;Landroid/os/Bundle;IIII)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->cancelAuthentication(Landroid/os/IBinder;Ljava/lang/String;)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->cancelInternal(Landroid/os/IBinder;Ljava/lang/String;Z)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->lambda$authenticate$1(Lcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;ILandroid/hardware/biometrics/IBiometricServiceReceiver;Landroid/os/IBinder;JLjava/lang/String;Landroid/os/Bundle;III)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->lambda$cancelInternal$3(Lcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;Landroid/os/IBinder;Ljava/lang/String;IIIZ)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->onConfirmDeviceCredentialError(ILjava/lang/String;)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->onConfirmDeviceCredentialSuccess()V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->onReadyForAuthentication(IZI)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->resetLockout([B)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->resetTimeout([B)V
+PLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->setActiveUser(I)V
+PLcom/android/server/biometrics/BiometricService;->access$1100(Lcom/android/server/biometrics/BiometricService;)Landroid/hardware/fingerprint/IFingerprintService;
+PLcom/android/server/biometrics/BiometricService;->checkAndGetBiometricModality(I)Landroid/util/Pair;
+PLcom/android/server/biometrics/BiometricService;->isEnabledForApp(I)Z
+PLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;->handleFailedAttempt()I
+PLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;->notifyUserActivity()V
+PLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;->onStart()V
+PLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;->onStop()V
+PLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;->resetFailedAttempts()V
+PLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;->statsClient()I
+PLcom/android/server/biometrics/BiometricServiceBase$BiometricServiceListener;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/hardware/biometrics/IBiometricServiceReceiverInternal;)V
+PLcom/android/server/biometrics/BiometricServiceBase$BiometricServiceListener;->getWrapperReceiver()Landroid/hardware/biometrics/IBiometricServiceReceiverInternal;
+PLcom/android/server/biometrics/BiometricServiceBase$BiometricServiceListener;->onAuthenticationFailedInternal(IZ)V
+PLcom/android/server/biometrics/BiometricServiceBase$BiometricServiceListener;->onAuthenticationSucceededInternal(Z[B)V
+PLcom/android/server/biometrics/BiometricServiceBase$BiometricTaskStackListener;->onTaskStackChanged()V
+PLcom/android/server/biometrics/BiometricServiceBase$LockoutReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor$1;->sendResult(Landroid/os/Bundle;)V
+PLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;->sendLockoutReset()V
+PLcom/android/server/biometrics/BiometricServiceBase$ResetClientStateRunnable;->run()V
+PLcom/android/server/biometrics/BiometricServiceBase$ResetFailedAttemptsForUserRunnable;->run()V
+PLcom/android/server/biometrics/BiometricServiceBase;->cancelAuthenticationInternal(Landroid/os/IBinder;Ljava/lang/String;)V
+PLcom/android/server/biometrics/BiometricServiceBase;->cancelAuthenticationInternal(Landroid/os/IBinder;Ljava/lang/String;IIIZ)V
+PLcom/android/server/biometrics/BiometricServiceBase;->handleAcquired(JII)V
+PLcom/android/server/biometrics/BiometricServiceBase;->handleAuthenticated(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;Ljava/util/ArrayList;)V
+PLcom/android/server/biometrics/BiometricServiceBase;->handleError(JII)V
+PLcom/android/server/biometrics/BiometricServiceBase;->isCurrentUserOrProfile(I)Z
+PLcom/android/server/biometrics/BiometricServiceBase;->isForegroundActivity(II)Z
+PLcom/android/server/biometrics/BiometricServiceBase;->lambda$cancelAuthenticationInternal$3$BiometricServiceBase(Landroid/os/IBinder;Z)V
+PLcom/android/server/biometrics/BiometricServiceBase;->lambda$cancelAuthenticationInternal$3(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/os/IBinder;Z)V
+PLcom/android/server/biometrics/BiometricServiceBase;->notifyLockoutResetMonitors()V
+PLcom/android/server/biometrics/BiometricServiceBase;->resetFailedAttemptsForUser(ZI)V
+PLcom/android/server/biometrics/BiometricServiceBase;->setActiveUserInternal(I)V
+PLcom/android/server/biometrics/ClientMonitor;->finalize()V
+PLcom/android/server/biometrics/ClientMonitor;->getLogTag()Ljava/lang/String;
+PLcom/android/server/biometrics/ClientMonitor;->onAcquired(II)Z
+PLcom/android/server/biometrics/ClientMonitor;->onError(JII)Z
+PLcom/android/server/biometrics/LoggableMonitor;->logOnAcquired(III)V
+PLcom/android/server/biometrics/LoggableMonitor;->logOnAuthenticated(ZZIZ)V
+PLcom/android/server/biometrics/LoggableMonitor;->logOnError(III)V
+PLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$7nMWCt41OE3k8ihjPNPqB0O8POU;->run()V
+PLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$N1Y2Zwqq-x5yDKQsDTj2KQ5q7g4;->run()V
+PLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$cO88ecWuvWIBecLAEccxr5yeJK4;->run()V
+PLcom/android/server/biometrics/fingerprint/FingerprintMetrics;->actionBiometricAuth()I
+PLcom/android/server/biometrics/fingerprint/FingerprintMetrics;->logTag()Ljava/lang/String;
+PLcom/android/server/biometrics/fingerprint/FingerprintService$1;->lambda$onAcquired$1$FingerprintService$1(JII)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$1;->lambda$onAuthenticated$2$FingerprintService$1(IIJLjava/util/ArrayList;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$1;->lambda$onError$3$FingerprintService$1(JII)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$1;->lambda$onError$3(Lcom/android/server/biometrics/fingerprint/FingerprintService$1;JII)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$1;->onAcquired(JII)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$1;->onAuthenticated(JIILjava/util/ArrayList;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$1;->onError(JII)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$2;->authenticate(JI)I
+PLcom/android/server/biometrics/fingerprint/FingerprintService$2;->cancel()I
+PLcom/android/server/biometrics/fingerprint/FingerprintService$BiometricPromptServiceListenerImpl;->onAcquired(JII)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$BiometricPromptServiceListenerImpl;->onError(JIII)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->handleFailedAttempt()I
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->resetFailedAttempts()V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->shouldFrameworkHandleLockout()Z
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintAuthClient;->statsModality()I
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->cancelAuthentication(Landroid/os/IBinder;Ljava/lang/String;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->cancelAuthenticationFromService(Landroid/os/IBinder;Ljava/lang/String;IIIZ)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->getAuthenticatorId(Ljava/lang/String;)J
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->hasEnrolledFingerprints(ILjava/lang/String;)Z
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->prepareForAuthentication(Landroid/os/IBinder;JILandroid/hardware/biometrics/IBiometricServiceReceiverInternal;Ljava/lang/String;IIII)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->resetTimeout([B)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->setActiveUser(I)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->startPreparedClient(I)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$ResetFailedAttemptsForUserRunnable;->run()V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$ServiceListenerImpl;->onAcquired(JII)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$ServiceListenerImpl;->onAuthenticationFailed(J)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$ServiceListenerImpl;->onAuthenticationSucceeded(JLandroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService$ServiceListenerImpl;->onError(JIII)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->checkAppOps(ILjava/lang/String;)Z
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->dumpInternal(Ljava/io/PrintWriter;)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->getFailedAttemptsLockoutTimed()I
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->getHalDeviceId()J
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->resetFailedAttemptsForUser(ZI)V
+PLcom/android/server/biometrics/fingerprint/FingerprintService;->statsModality()I
+PLcom/android/server/camera/CameraServiceProxy$2;->notifyCameraState(Ljava/lang/String;IILjava/lang/String;I)V
+PLcom/android/server/camera/CameraServiceProxy$CameraUsageEvent;->getDuration()J
+PLcom/android/server/camera/CameraServiceProxy$CameraUsageEvent;->markCompleted()V
+PLcom/android/server/camera/CameraServiceProxy;->dumpUsageEvents()V
+PLcom/android/server/camera/CameraServiceProxy;->updateActivityCount(Ljava/lang/String;IILjava/lang/String;I)V
+PLcom/android/server/camera/CameraStatsJobService;-><init>()V
+PLcom/android/server/camera/CameraStatsJobService;->onStartJob(Landroid/app/job/JobParameters;)Z
 PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->addPrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;Ljava/lang/String;)V
+PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->getPrimaryClip(Ljava/lang/String;)Landroid/content/ClipData;
 PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->hasPrimaryClip(Ljava/lang/String;)Z
 PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLcom/android/server/clipboard/ClipboardService$ListenerInfo;-><init>(Lcom/android/server/clipboard/ClipboardService;ILjava/lang/String;)V
-PLcom/android/server/clipboard/ClipboardService$PerUserClipboard;-><init>(Lcom/android/server/clipboard/ClipboardService;I)V
-PLcom/android/server/clipboard/ClipboardService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/clipboard/ClipboardService;->access$300(Lcom/android/server/clipboard/ClipboardService;ILjava/lang/String;I)Z
-PLcom/android/server/clipboard/ClipboardService;->access$500(Lcom/android/server/clipboard/ClipboardService;)Z
-PLcom/android/server/clipboard/ClipboardService;->access$700(Lcom/android/server/clipboard/ClipboardService;)Lcom/android/server/clipboard/ClipboardService$PerUserClipboard;
+PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->removePrimaryClipChangedListener(Landroid/content/IOnPrimaryClipChangedListener;)V
+PLcom/android/server/clipboard/ClipboardService$ClipboardImpl;->setPrimaryClip(Landroid/content/ClipData;Ljava/lang/String;)V
+PLcom/android/server/clipboard/ClipboardService;->addActiveOwnerLocked(ILjava/lang/String;)V
+PLcom/android/server/clipboard/ClipboardService;->checkItemOwnerLocked(Landroid/content/ClipData$Item;I)V
 PLcom/android/server/clipboard/ClipboardService;->clipboardAccessAllowed(ILjava/lang/String;I)Z
-PLcom/android/server/clipboard/ClipboardService;->getClipboard()Lcom/android/server/clipboard/ClipboardService$PerUserClipboard;
 PLcom/android/server/clipboard/ClipboardService;->getClipboard(I)Lcom/android/server/clipboard/ClipboardService$PerUserClipboard;
+PLcom/android/server/clipboard/ClipboardService;->getRelatedProfiles(I)Ljava/util/List;
+PLcom/android/server/clipboard/ClipboardService;->grantItemLocked(Landroid/content/ClipData$Item;ILjava/lang/String;I)V
 PLcom/android/server/clipboard/ClipboardService;->isDeviceLocked()Z
-PLcom/android/server/clipboard/ClipboardService;->onStart()V
-PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$CompanionDeviceManagerImpl$bdv3Vfadbb8b9nrSgkARO4oYOXU;-><init>()V
-PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$bh5xRJq9-CRJoXvmerYRNjK1xEQ;-><init>()V
-PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$bh5xRJq9-CRJoXvmerYRNjK1xEQ;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/companion/CompanionDeviceManagerService$1;-><init>(Lcom/android/server/companion/CompanionDeviceManagerService;)V
+PLcom/android/server/clipboard/ClipboardService;->onCleanupUser(I)V
+PLcom/android/server/clipboard/ClipboardService;->revokeItemLocked(Landroid/content/ClipData$Item;I)V
+PLcom/android/server/clipboard/ClipboardService;->setPrimaryClipInternal(Landroid/content/ClipData;I)V
+PLcom/android/server/clipboard/ClipboardService;->setPrimaryClipInternal(Lcom/android/server/clipboard/ClipboardService$PerUserClipboard;Landroid/content/ClipData;I)V
+PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$0VKz9ecFqvfFXzRrfaz-Pf5wW2s;-><init>()V
+PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$0VKz9ecFqvfFXzRrfaz-Pf5wW2s;->apply(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$CompanionDeviceManagerImpl$bdv3Vfadbb8b9nrSgkARO4oYOXU;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/companion/CompanionDeviceManagerService$1;->onPackageModified(Ljava/lang/String;)V
-PLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;-><init>(Lcom/android/server/companion/CompanionDeviceManagerService;)V
-PLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->checkCallerIsSystemOr(Ljava/lang/String;I)V
-PLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->checkUsesFeature(Ljava/lang/String;I)V
-PLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->getAssociations(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/companion/CompanionDeviceManagerService$Association;->hashCode()I
 PLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLcom/android/server/companion/CompanionDeviceManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/companion/CompanionDeviceManagerService;->access$100(Lcom/android/server/companion/CompanionDeviceManagerService;ILjava/lang/String;)Ljava/util/Set;
-PLcom/android/server/companion/CompanionDeviceManagerService;->access$1000()Z
-PLcom/android/server/companion/CompanionDeviceManagerService;->access$300()I
-PLcom/android/server/companion/CompanionDeviceManagerService;->getStorageFileForUser(I)Landroid/util/AtomicFile;
-PLcom/android/server/companion/CompanionDeviceManagerService;->lambda$getStorageFileForUser$5(Ljava/lang/Integer;)Landroid/util/AtomicFile;
-PLcom/android/server/companion/CompanionDeviceManagerService;->onStart()V
-PLcom/android/server/companion/CompanionDeviceManagerService;->readAllAssociations(ILjava/lang/String;)Ljava/util/Set;
-PLcom/android/server/companion/CompanionDeviceManagerService;->registerPackageMonitor()V
-PLcom/android/server/connectivity/-$$Lambda$IpConnectivityMetrics$B0oR30xfeM300kIzUVaV_zUNLCg;-><init>()V
-PLcom/android/server/connectivity/-$$Lambda$IpConnectivityMetrics$B0oR30xfeM300kIzUVaV_zUNLCg;->applyAsInt(Ljava/lang/Object;)I
-PLcom/android/server/connectivity/-$$Lambda$MultipathPolicyTracker$2$dvyDLfu9d6g2XoEdL3QMHx7ut6k;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker$2;)V
+PLcom/android/server/companion/CompanionDeviceManagerService;->lambda$getPackageInfo$1(Landroid/content/Context;Ljava/lang/String;Ljava/lang/Integer;)Landroid/content/pm/PackageInfo;
+PLcom/android/server/connectivity/-$$Lambda$DnsManager$PrivateDnsValidationStatuses$_X4_M08nKysv-L4hDpqAsa4SBxI;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/connectivity/-$$Lambda$MultipathPolicyTracker$2$dvyDLfu9d6g2XoEdL3QMHx7ut6k;->run()V
-PLcom/android/server/connectivity/-$$Lambda$Tethering$5JkghhOVq1MW7iK03DMZUSuLdFM;-><init>(Lcom/android/server/connectivity/Tethering;)V
+PLcom/android/server/connectivity/-$$Lambda$Nat464Xlat$40jKHQd7R0zgcegyEyc9zPHKXVA;->run()V
+PLcom/android/server/connectivity/-$$Lambda$Nat464Xlat$PACHOP9HoYvr_jzHtIwFDy31Ud4;->run()V
 PLcom/android/server/connectivity/-$$Lambda$Tethering$5JkghhOVq1MW7iK03DMZUSuLdFM;->accept(Ljava/lang/Object;)V
-PLcom/android/server/connectivity/-$$Lambda$Tethering$G9TtPVJE34-mHCiIrkFoFBxZRf8;-><init>(Lcom/android/server/connectivity/Tethering;)V
-PLcom/android/server/connectivity/DataConnectionStats$1;-><init>(Lcom/android/server/connectivity/DataConnectionStats;)V
+PLcom/android/server/connectivity/-$$Lambda$Tethering$CZZ1cyMeU7DUmSuQSKselF5XA5o;->accept(Ljava/lang/Object;)V
 PLcom/android/server/connectivity/DataConnectionStats$1;->onDataActivity(I)V
 PLcom/android/server/connectivity/DataConnectionStats$1;->onDataConnectionStateChanged(II)V
 PLcom/android/server/connectivity/DataConnectionStats$1;->onServiceStateChanged(Landroid/telephony/ServiceState;)V
 PLcom/android/server/connectivity/DataConnectionStats$1;->onSignalStrengthsChanged(Landroid/telephony/SignalStrength;)V
-PLcom/android/server/connectivity/DataConnectionStats;-><init>(Landroid/content/Context;)V
-PLcom/android/server/connectivity/DataConnectionStats;->access$002(Lcom/android/server/connectivity/DataConnectionStats;Landroid/telephony/SignalStrength;)Landroid/telephony/SignalStrength;
-PLcom/android/server/connectivity/DataConnectionStats;->access$102(Lcom/android/server/connectivity/DataConnectionStats;Landroid/telephony/ServiceState;)Landroid/telephony/ServiceState;
-PLcom/android/server/connectivity/DataConnectionStats;->access$200(Lcom/android/server/connectivity/DataConnectionStats;)V
-PLcom/android/server/connectivity/DataConnectionStats;->access$302(Lcom/android/server/connectivity/DataConnectionStats;I)I
-PLcom/android/server/connectivity/DataConnectionStats;->hasService()Z
 PLcom/android/server/connectivity/DataConnectionStats;->notePhoneDataConnectionState()V
 PLcom/android/server/connectivity/DataConnectionStats;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/connectivity/DataConnectionStats;->startMonitoring()V
 PLcom/android/server/connectivity/DataConnectionStats;->updateSimState(Landroid/content/Intent;)V
-PLcom/android/server/connectivity/DefaultNetworkMetrics;-><init>()V
 PLcom/android/server/connectivity/DefaultNetworkMetrics;->fillLinkInfo(Landroid/net/metrics/DefaultNetworkEvent;Lcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/connectivity/DefaultNetworkMetrics;->flushEvents(Ljava/util/List;)V
 PLcom/android/server/connectivity/DefaultNetworkMetrics;->logCurrentDefaultNetwork(JLcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/connectivity/DefaultNetworkMetrics;->logDefaultNetworkEvent(JLcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/connectivity/DefaultNetworkMetrics;->logDefaultNetworkValidity(JZ)V
-PLcom/android/server/connectivity/DefaultNetworkMetrics;->newDefaultNetwork(JLcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/connectivity/DefaultNetworkMetrics;->updateValidationTime(J)V
-PLcom/android/server/connectivity/DnsManager$PrivateDnsConfig;-><init>()V
-PLcom/android/server/connectivity/DnsManager$PrivateDnsConfig;-><init>(Z)V
-PLcom/android/server/connectivity/DnsManager$PrivateDnsConfig;->inStrictMode()Z
-PLcom/android/server/connectivity/DnsManager$PrivateDnsConfig;->toString()Ljava/lang/String;
 PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses$ValidationStatus;-><init>(Ljava/lang/String;I)V
-PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;-><init>()V
-PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;-><init>(Lcom/android/server/connectivity/DnsManager$1;)V
-PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->access$000(Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;)Z
-PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->access$200(Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationUpdate;)V
-PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->access$400(Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;[Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->hasValidatedServer()Z
 PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->updateStatus(Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationUpdate;)V
 PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationStatuses;->updateTrackedDnses([Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/connectivity/DnsManager$PrivateDnsValidationUpdate;-><init>(ILjava/net/InetAddress;Ljava/lang/String;Z)V
-PLcom/android/server/connectivity/DnsManager;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Lcom/android/server/connectivity/MockableSystemProperties;)V
 PLcom/android/server/connectivity/DnsManager;->flushVmDnsCache()V
-PLcom/android/server/connectivity/DnsManager;->getDomainStrings(Ljava/lang/String;)[Ljava/lang/String;
-PLcom/android/server/connectivity/DnsManager;->getIntSetting(Ljava/lang/String;I)I
-PLcom/android/server/connectivity/DnsManager;->getPrivateDnsConfig()Lcom/android/server/connectivity/DnsManager$PrivateDnsConfig;
-PLcom/android/server/connectivity/DnsManager;->getPrivateDnsConfig(Landroid/content/ContentResolver;)Lcom/android/server/connectivity/DnsManager$PrivateDnsConfig;
-PLcom/android/server/connectivity/DnsManager;->getPrivateDnsMode(Landroid/content/ContentResolver;)Ljava/lang/String;
-PLcom/android/server/connectivity/DnsManager;->getPrivateDnsSettingsUris()[Landroid/net/Uri;
-PLcom/android/server/connectivity/DnsManager;->getStringSetting(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/connectivity/DnsManager;->getPrivateDnsConfig()Landroid/net/shared/PrivateDnsConfig;
+PLcom/android/server/connectivity/DnsManager;->getPrivateDnsConfig(Landroid/content/ContentResolver;)Landroid/net/shared/PrivateDnsConfig;
 PLcom/android/server/connectivity/DnsManager;->removeNetwork(Landroid/net/Network;)V
 PLcom/android/server/connectivity/DnsManager;->setDefaultDnsSystemProperties(Ljava/util/Collection;)V
 PLcom/android/server/connectivity/DnsManager;->setDnsConfigurationForNetwork(ILandroid/net/LinkProperties;Z)V
 PLcom/android/server/connectivity/DnsManager;->setNetDnsProperty(ILjava/lang/String;)V
 PLcom/android/server/connectivity/DnsManager;->updateParametersSettings()V
-PLcom/android/server/connectivity/DnsManager;->updatePrivateDns(Landroid/net/Network;Lcom/android/server/connectivity/DnsManager$PrivateDnsConfig;)Lcom/android/server/connectivity/DnsManager$PrivateDnsConfig;
+PLcom/android/server/connectivity/DnsManager;->updatePrivateDns(Landroid/net/Network;Landroid/net/shared/PrivateDnsConfig;)Landroid/net/shared/PrivateDnsConfig;
 PLcom/android/server/connectivity/DnsManager;->updatePrivateDnsStatus(ILandroid/net/LinkProperties;)V
 PLcom/android/server/connectivity/DnsManager;->updatePrivateDnsValidation(Lcom/android/server/connectivity/DnsManager$PrivateDnsValidationUpdate;)V
-PLcom/android/server/connectivity/IpConnectivityEventBuilder;->buildEvent(IJLjava/lang/String;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
-PLcom/android/server/connectivity/IpConnectivityEventBuilder;->bytesToInts([B)[I
-PLcom/android/server/connectivity/IpConnectivityEventBuilder;->ifnameToLinkLayer(Ljava/lang/String;)I
 PLcom/android/server/connectivity/IpConnectivityEventBuilder;->inferLinkLayer(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;)V
-PLcom/android/server/connectivity/IpConnectivityEventBuilder;->ipSupportOf(Landroid/net/metrics/DefaultNetworkEvent;)I
 PLcom/android/server/connectivity/IpConnectivityEventBuilder;->serialize(ILjava/util/List;)[B
-PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setDhcpClientEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/DhcpClientEvent;)V
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setApfProgramEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/ApfProgramEvent;)V
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setApfStats(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/ApfStats;)V
 PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/os/Parcelable;)Z
-PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setIpManagerEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/IpManagerEvent;)V
-PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setIpReachabilityEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/IpReachabilityEvent;)V
-PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setNetworkEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/NetworkEvent;)V
-PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setValidationProbeEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/ValidationProbeEvent;)V
-PLcom/android/server/connectivity/IpConnectivityEventBuilder;->toPairArray(Landroid/util/SparseIntArray;)[Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$Pair;
-PLcom/android/server/connectivity/IpConnectivityEventBuilder;->toProto(Landroid/net/ConnectivityMetricsEvent;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
+PLcom/android/server/connectivity/IpConnectivityEventBuilder;->setRaEvent(Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;Landroid/net/metrics/RaEvent;)V
 PLcom/android/server/connectivity/IpConnectivityEventBuilder;->toProto(Landroid/net/metrics/ConnectStats;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
 PLcom/android/server/connectivity/IpConnectivityEventBuilder;->toProto(Landroid/net/metrics/DefaultNetworkEvent;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
 PLcom/android/server/connectivity/IpConnectivityEventBuilder;->toProto(Landroid/net/metrics/DnsEvent;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
 PLcom/android/server/connectivity/IpConnectivityEventBuilder;->toProto(Landroid/net/metrics/WakeupStats;)Lcom/android/server/connectivity/metrics/nano/IpConnectivityLogClass$IpConnectivityEvent;
 PLcom/android/server/connectivity/IpConnectivityEventBuilder;->toProto(Ljava/util/List;)Ljava/util/List;
-PLcom/android/server/connectivity/IpConnectivityEventBuilder;->transportToLinkLayer(I)I
-PLcom/android/server/connectivity/IpConnectivityEventBuilder;->transportsToLinkLayer(J)I
-PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;-><init>(Lcom/android/server/connectivity/IpConnectivityMetrics;)V
-PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->addNetdEventCallback(ILandroid/net/INetdEventCallback;)Z
 PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->enforceConnectivityInternalPermission()V
-PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->enforceDumpPermission()V
-PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->enforceNetdEventListeningPermission()V
-PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->enforcePermission(Ljava/lang/String;)V
 PLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->logEvent(Landroid/net/ConnectivityMetricsEvent;)I
-PLcom/android/server/connectivity/IpConnectivityMetrics$LoggerImpl;-><init>(Lcom/android/server/connectivity/IpConnectivityMetrics;)V
-PLcom/android/server/connectivity/IpConnectivityMetrics$LoggerImpl;-><init>(Lcom/android/server/connectivity/IpConnectivityMetrics;Lcom/android/server/connectivity/IpConnectivityMetrics$1;)V
 PLcom/android/server/connectivity/IpConnectivityMetrics$LoggerImpl;->defaultNetworkMetrics()Lcom/android/server/connectivity/DefaultNetworkMetrics;
-PLcom/android/server/connectivity/IpConnectivityMetrics;-><init>(Landroid/content/Context;)V
-PLcom/android/server/connectivity/IpConnectivityMetrics;-><init>(Landroid/content/Context;Ljava/util/function/ToIntFunction;)V
-PLcom/android/server/connectivity/IpConnectivityMetrics;->access$100(Lcom/android/server/connectivity/IpConnectivityMetrics;Landroid/net/ConnectivityMetricsEvent;)I
-PLcom/android/server/connectivity/IpConnectivityMetrics;->access$200(Lcom/android/server/connectivity/IpConnectivityMetrics;Ljava/io/PrintWriter;)V
 PLcom/android/server/connectivity/IpConnectivityMetrics;->append(Landroid/net/ConnectivityMetricsEvent;)I
-PLcom/android/server/connectivity/IpConnectivityMetrics;->bufferCapacity()I
-PLcom/android/server/connectivity/IpConnectivityMetrics;->cmdFlush(Ljava/io/PrintWriter;)V
 PLcom/android/server/connectivity/IpConnectivityMetrics;->flushEncodedOutput()Ljava/lang/String;
-PLcom/android/server/connectivity/IpConnectivityMetrics;->initBuffer()V
-PLcom/android/server/connectivity/IpConnectivityMetrics;->isRateLimited(Landroid/net/ConnectivityMetricsEvent;)Z
-PLcom/android/server/connectivity/IpConnectivityMetrics;->lambda$static$0(Landroid/content/Context;)I
-PLcom/android/server/connectivity/IpConnectivityMetrics;->makeRateLimitingBuckets()Landroid/util/ArrayMap;
-PLcom/android/server/connectivity/IpConnectivityMetrics;->onBootPhase(I)V
-PLcom/android/server/connectivity/IpConnectivityMetrics;->onStart()V
-PLcom/android/server/connectivity/KeepaliveTracker;-><init>(Landroid/os/Handler;)V
+PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;-><init>(Lcom/android/server/connectivity/KeepaliveTracker;Landroid/os/Messenger;Landroid/os/IBinder;Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/KeepalivePacketData;IILjava/io/FileDescriptor;)V
+PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->checkSourceAddress()I
+PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->getNai()Lcom/android/server/connectivity/NetworkAgentInfo;
+PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->isValid()I
+PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->notifyMessenger(II)V
+PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->start(I)V
+PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->stop(I)V
+PLcom/android/server/connectivity/KeepaliveTracker$KeepaliveInfo;->unlinkDeathRecipient()V
+PLcom/android/server/connectivity/KeepaliveTracker;->findFirstFreeSlot(Lcom/android/server/connectivity/NetworkAgentInfo;)I
 PLcom/android/server/connectivity/KeepaliveTracker;->handleCheckKeepalivesStillValid(Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/connectivity/KeepaliveTracker;->handleEventSocketKeepalive(Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/os/Message;)V
+PLcom/android/server/connectivity/KeepaliveTracker;->handleStartKeepalive(Landroid/os/Message;)V
 PLcom/android/server/connectivity/KeepaliveTracker;->handleStopAllKeepalives(Lcom/android/server/connectivity/NetworkAgentInfo;I)V
-PLcom/android/server/connectivity/LingerMonitor;-><init>(Landroid/content/Context;Lcom/android/server/connectivity/NetworkNotificationManager;IJ)V
+PLcom/android/server/connectivity/KeepaliveTracker;->handleStopKeepalive(Lcom/android/server/connectivity/NetworkAgentInfo;II)V
+PLcom/android/server/connectivity/KeepaliveTracker;->notifyMessenger(Landroid/os/Messenger;II)V
+PLcom/android/server/connectivity/KeepaliveTracker;->startNattKeepalive(Lcom/android/server/connectivity/NetworkAgentInfo;ILandroid/os/Messenger;Landroid/os/IBinder;Ljava/lang/String;ILjava/lang/String;I)V
 PLcom/android/server/connectivity/LingerMonitor;->getNotificationSource(Lcom/android/server/connectivity/NetworkAgentInfo;)I
-PLcom/android/server/connectivity/LingerMonitor;->makeTransportToNameMap()Ljava/util/HashMap;
-PLcom/android/server/connectivity/LingerMonitor;->maybeStopNotifying(Lcom/android/server/connectivity/NetworkAgentInfo;)V
+PLcom/android/server/connectivity/LingerMonitor;->isNotificationEnabled(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/connectivity/NetworkAgentInfo;)Z
 PLcom/android/server/connectivity/LingerMonitor;->noteDisconnect(Lcom/android/server/connectivity/NetworkAgentInfo;)V
-PLcom/android/server/connectivity/MockableSystemProperties;-><init>()V
-PLcom/android/server/connectivity/MockableSystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/connectivity/MockableSystemProperties;->getBoolean(Ljava/lang/String;Z)Z
-PLcom/android/server/connectivity/MockableSystemProperties;->getInt(Ljava/lang/String;I)I
+PLcom/android/server/connectivity/LingerMonitor;->noteLingerDefaultNetwork(Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/connectivity/MockableSystemProperties;->set(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/connectivity/MultipathPolicyTracker$1;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;)V
-PLcom/android/server/connectivity/MultipathPolicyTracker$2;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;)V
-PLcom/android/server/connectivity/MultipathPolicyTracker$2;->lambda$onMeteredIfacesChanged$0(Lcom/android/server/connectivity/MultipathPolicyTracker$2;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$1;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$1;->onLost(Landroid/net/Network;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$2;->lambda$onMeteredIfacesChanged$0$MultipathPolicyTracker$2()V
 PLcom/android/server/connectivity/MultipathPolicyTracker$2;->onMeteredIfacesChanged([Ljava/lang/String;)V
-PLcom/android/server/connectivity/MultipathPolicyTracker$ConfigChangeReceiver;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;)V
-PLcom/android/server/connectivity/MultipathPolicyTracker$ConfigChangeReceiver;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;Lcom/android/server/connectivity/MultipathPolicyTracker$1;)V
-PLcom/android/server/connectivity/MultipathPolicyTracker$ConfigChangeReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;-><init>()V
-PLcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;->getClock()Ljava/time/Clock;
-PLcom/android/server/connectivity/MultipathPolicyTracker$SettingsObserver;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;Landroid/os/Handler;)V
-PLcom/android/server/connectivity/MultipathPolicyTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-PLcom/android/server/connectivity/MultipathPolicyTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;)V
-PLcom/android/server/connectivity/MultipathPolicyTracker;->access$1200(Lcom/android/server/connectivity/MultipathPolicyTracker;)V
-PLcom/android/server/connectivity/MultipathPolicyTracker;->access$900(Lcom/android/server/connectivity/MultipathPolicyTracker;)Landroid/os/Handler;
-PLcom/android/server/connectivity/MultipathPolicyTracker;->registerNetworkPolicyListener()V
-PLcom/android/server/connectivity/MultipathPolicyTracker;->registerTrackMobileCallback()V
-PLcom/android/server/connectivity/MultipathPolicyTracker;->start()V
-PLcom/android/server/connectivity/MultipathPolicyTracker;->updateAllMultipathBudgets()V
+PLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;-><init>(Lcom/android/server/connectivity/MultipathPolicyTracker;Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->getDailyNonDefaultDataUsage()J
+PLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->getNetworkTotalBytes(JJ)J
+PLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->getRemainingDailyBudget(JLandroid/util/Range;)J
+PLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->getUserPolicyOpportunisticQuotaBytes()J
+PLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->setNetworkCapabilities(Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->shutdown()V
+PLcom/android/server/connectivity/MultipathPolicyTracker$MultipathTracker;->updateMultipathBudget()V
+PLcom/android/server/connectivity/MultipathPolicyTracker;->getDefaultDailyMultipathQuotaBytes()J
 PLcom/android/server/connectivity/Nat464Xlat$State;-><init>(Ljava/lang/String;I)V
-PLcom/android/server/connectivity/Nat464Xlat;-><init>(Landroid/os/INetworkManagementService;Lcom/android/server/connectivity/NetworkAgentInfo;)V
 PLcom/android/server/connectivity/Nat464Xlat;->enterIdleState()V
 PLcom/android/server/connectivity/Nat464Xlat;->enterStartingState(Ljava/lang/String;)V
 PLcom/android/server/connectivity/Nat464Xlat;->enterStoppingState()V
-PLcom/android/server/connectivity/Nat464Xlat;->fixupLinkProperties(Landroid/net/LinkProperties;)V
+PLcom/android/server/connectivity/Nat464Xlat;->fixupLinkProperties(Landroid/net/LinkProperties;Landroid/net/LinkProperties;)V
+PLcom/android/server/connectivity/Nat464Xlat;->getLinkAddress(Ljava/lang/String;)Landroid/net/LinkAddress;
+PLcom/android/server/connectivity/Nat464Xlat;->getNetId()I
+PLcom/android/server/connectivity/Nat464Xlat;->handleInterfaceLinkStateChanged(Ljava/lang/String;Z)V
+PLcom/android/server/connectivity/Nat464Xlat;->handleInterfaceRemoved(Ljava/lang/String;)V
+PLcom/android/server/connectivity/Nat464Xlat;->interfaceLinkStateChanged(Ljava/lang/String;Z)V
+PLcom/android/server/connectivity/Nat464Xlat;->interfaceRemoved(Ljava/lang/String;)V
+PLcom/android/server/connectivity/Nat464Xlat;->isPrefixDiscoveryStarted()Z
 PLcom/android/server/connectivity/Nat464Xlat;->isRunning()Z
 PLcom/android/server/connectivity/Nat464Xlat;->isStarted()Z
 PLcom/android/server/connectivity/Nat464Xlat;->isStarting()Z
+PLcom/android/server/connectivity/Nat464Xlat;->isStopping()Z
+PLcom/android/server/connectivity/Nat464Xlat;->lambda$interfaceLinkStateChanged$0$Nat464Xlat(Ljava/lang/String;Z)V
+PLcom/android/server/connectivity/Nat464Xlat;->lambda$interfaceRemoved$1$Nat464Xlat(Ljava/lang/String;)V
+PLcom/android/server/connectivity/Nat464Xlat;->leaveStartedState()V
+PLcom/android/server/connectivity/Nat464Xlat;->makeLinkProperties(Landroid/net/LinkAddress;)Landroid/net/LinkProperties;
 PLcom/android/server/connectivity/Nat464Xlat;->requiresClat(Lcom/android/server/connectivity/NetworkAgentInfo;)Z
 PLcom/android/server/connectivity/Nat464Xlat;->start()V
+PLcom/android/server/connectivity/Nat464Xlat;->startPrefixDiscovery()V
 PLcom/android/server/connectivity/Nat464Xlat;->stop()V
+PLcom/android/server/connectivity/Nat464Xlat;->stopPrefixDiscovery()V
 PLcom/android/server/connectivity/Nat464Xlat;->toString()Ljava/lang/String;
-PLcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;-><init>()V
-PLcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;->collect(JLandroid/util/SparseArray;)Lcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;
-PLcom/android/server/connectivity/NetdEventListenerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/connectivity/NetdEventListenerService;-><init>(Landroid/net/ConnectivityManager;)V
-PLcom/android/server/connectivity/NetdEventListenerService;->addNetdEventCallback(ILandroid/net/INetdEventCallback;)Z
-PLcom/android/server/connectivity/NetdEventListenerService;->addWakeupEvent(Landroid/net/metrics/WakeupEvent;)V
-PLcom/android/server/connectivity/NetdEventListenerService;->collectPendingMetricsSnapshot(J)V
+PLcom/android/server/connectivity/Nat464Xlat;->update()V
 PLcom/android/server/connectivity/NetdEventListenerService;->flushStatistics(Ljava/util/List;)V
-PLcom/android/server/connectivity/NetdEventListenerService;->getMetricsForNetwork(JI)Landroid/net/metrics/NetworkMetrics;
-PLcom/android/server/connectivity/NetdEventListenerService;->getTransports(I)J
-PLcom/android/server/connectivity/NetdEventListenerService;->isValidCallerType(I)Z
+PLcom/android/server/connectivity/NetdEventListenerService;->onConnectEvent(IIILjava/lang/String;II)V
+PLcom/android/server/connectivity/NetdEventListenerService;->onNat64PrefixEvent(IZLjava/lang/String;I)V
 PLcom/android/server/connectivity/NetdEventListenerService;->onPrivateDnsValidationEvent(ILjava/lang/String;Ljava/lang/String;Z)V
+PLcom/android/server/connectivity/NetdEventListenerService;->onTcpSocketStatsEvent([I[I[I[I[I)V
 PLcom/android/server/connectivity/NetdEventListenerService;->onWakeupEvent(Ljava/lang/String;III[BLjava/lang/String;Ljava/lang/String;IIJ)V
-PLcom/android/server/connectivity/NetdEventListenerService;->projectSnapshotTime(J)J
-PLcom/android/server/connectivity/NetworkAgentInfo;-><init>(Landroid/os/Messenger;Lcom/android/internal/util/AsyncChannel;Landroid/net/Network;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/content/Context;Landroid/os/Handler;Landroid/net/NetworkMisc;Landroid/net/NetworkRequest;Lcom/android/server/ConnectivityService;)V
+PLcom/android/server/connectivity/NetworkAgentInfo$LingerTimer;->compareTo(Lcom/android/server/connectivity/NetworkAgentInfo$LingerTimer;)I
+PLcom/android/server/connectivity/NetworkAgentInfo$LingerTimer;->compareTo(Ljava/lang/Object;)I
+PLcom/android/server/connectivity/NetworkAgentInfo;-><init>(Landroid/os/Messenger;Lcom/android/internal/util/AsyncChannel;Landroid/net/Network;Landroid/net/NetworkInfo;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ILandroid/content/Context;Landroid/os/Handler;Landroid/net/NetworkMisc;Lcom/android/server/ConnectivityService;Landroid/net/INetd;Landroid/os/INetworkManagementService;I)V
 PLcom/android/server/connectivity/NetworkAgentInfo;->addRequest(Landroid/net/NetworkRequest;)Z
 PLcom/android/server/connectivity/NetworkAgentInfo;->clearLingerState()V
+PLcom/android/server/connectivity/NetworkAgentInfo;->compareTo(Lcom/android/server/connectivity/NetworkAgentInfo;)I
+PLcom/android/server/connectivity/NetworkAgentInfo;->compareTo(Ljava/lang/Object;)I
+PLcom/android/server/connectivity/NetworkAgentInfo;->connService()Lcom/android/server/ConnectivityService;
 PLcom/android/server/connectivity/NetworkAgentInfo;->getCurrentScore()I
 PLcom/android/server/connectivity/NetworkAgentInfo;->getCurrentScore(Z)I
+PLcom/android/server/connectivity/NetworkAgentInfo;->getCurrentScoreAsValidated()I
+PLcom/android/server/connectivity/NetworkAgentInfo;->getLingerExpiry()J
+PLcom/android/server/connectivity/NetworkAgentInfo;->getNetworkState()Landroid/net/NetworkState;
+PLcom/android/server/connectivity/NetworkAgentInfo;->handler()Landroid/os/Handler;
 PLcom/android/server/connectivity/NetworkAgentInfo;->ignoreWifiUnvalidationPenalty()Z
 PLcom/android/server/connectivity/NetworkAgentInfo;->isBackgroundNetwork()Z
 PLcom/android/server/connectivity/NetworkAgentInfo;->isLingering()Z
+PLcom/android/server/connectivity/NetworkAgentInfo;->isSatisfyingRequest(I)Z
 PLcom/android/server/connectivity/NetworkAgentInfo;->isSuspended()Z
 PLcom/android/server/connectivity/NetworkAgentInfo;->isVPN()Z
-PLcom/android/server/connectivity/NetworkAgentInfo;->maybeStartClat(Landroid/os/INetworkManagementService;)V
+PLcom/android/server/connectivity/NetworkAgentInfo;->linger()V
+PLcom/android/server/connectivity/NetworkAgentInfo;->lingerRequest(Landroid/net/NetworkRequest;JJ)V
+PLcom/android/server/connectivity/NetworkAgentInfo;->maybeStartClat()V
 PLcom/android/server/connectivity/NetworkAgentInfo;->maybeStopClat()V
 PLcom/android/server/connectivity/NetworkAgentInfo;->name()Ljava/lang/String;
+PLcom/android/server/connectivity/NetworkAgentInfo;->netMisc()Landroid/net/NetworkMisc;
 PLcom/android/server/connectivity/NetworkAgentInfo;->network()Landroid/net/Network;
+PLcom/android/server/connectivity/NetworkAgentInfo;->networkMonitor()Landroid/net/INetworkMonitor;
 PLcom/android/server/connectivity/NetworkAgentInfo;->numForegroundNetworkRequests()I
+PLcom/android/server/connectivity/NetworkAgentInfo;->numNetworkRequests()I
 PLcom/android/server/connectivity/NetworkAgentInfo;->numRequestNetworkRequests()I
+PLcom/android/server/connectivity/NetworkAgentInfo;->onNetworkMonitorCreated(Landroid/net/INetworkMonitor;)V
 PLcom/android/server/connectivity/NetworkAgentInfo;->removeRequest(I)V
+PLcom/android/server/connectivity/NetworkAgentInfo;->requestAt(I)Landroid/net/NetworkRequest;
+PLcom/android/server/connectivity/NetworkAgentInfo;->satisfies(Landroid/net/NetworkRequest;)Z
 PLcom/android/server/connectivity/NetworkAgentInfo;->setCurrentScore(I)V
 PLcom/android/server/connectivity/NetworkAgentInfo;->toString()Ljava/lang/String;
+PLcom/android/server/connectivity/NetworkAgentInfo;->unlinger()V
 PLcom/android/server/connectivity/NetworkAgentInfo;->unlingerRequest(Landroid/net/NetworkRequest;)Z
 PLcom/android/server/connectivity/NetworkAgentInfo;->updateClat(Landroid/os/INetworkManagementService;)V
 PLcom/android/server/connectivity/NetworkAgentInfo;->updateLingerTimer()V
 PLcom/android/server/connectivity/NetworkAgentInfo;->updateRequestCounts(ZLandroid/net/NetworkRequest;)V
-PLcom/android/server/connectivity/NetworkMonitor$1ProbeThread;-><init>(Lcom/android/server/connectivity/NetworkMonitor;ZLandroid/net/ProxyInfo;Ljava/net/URL;Ljava/net/URL;Ljava/util/concurrent/CountDownLatch;)V
-PLcom/android/server/connectivity/NetworkMonitor$1ProbeThread;->result()Landroid/net/captiveportal/CaptivePortalProbeResult;
-PLcom/android/server/connectivity/NetworkMonitor$1ProbeThread;->run()V
-PLcom/android/server/connectivity/NetworkMonitor$CaptivePortalState;-><init>(Lcom/android/server/connectivity/NetworkMonitor;)V
-PLcom/android/server/connectivity/NetworkMonitor$CaptivePortalState;-><init>(Lcom/android/server/connectivity/NetworkMonitor;Lcom/android/server/connectivity/NetworkMonitor$1;)V
-PLcom/android/server/connectivity/NetworkMonitor$CaptivePortalState;->enter()V
-PLcom/android/server/connectivity/NetworkMonitor$CaptivePortalState;->exit()V
-PLcom/android/server/connectivity/NetworkMonitor$CustomIntentReceiver;-><init>(Lcom/android/server/connectivity/NetworkMonitor;Ljava/lang/String;II)V
-PLcom/android/server/connectivity/NetworkMonitor$CustomIntentReceiver;->getPendingIntent()Landroid/app/PendingIntent;
-PLcom/android/server/connectivity/NetworkMonitor$CustomIntentReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/connectivity/NetworkMonitor$DefaultNetworkMonitorSettings;-><init>()V
-PLcom/android/server/connectivity/NetworkMonitor$DefaultNetworkMonitorSettings;->getSetting(Landroid/content/Context;Ljava/lang/String;I)I
-PLcom/android/server/connectivity/NetworkMonitor$DefaultNetworkMonitorSettings;->getSetting(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/connectivity/NetworkMonitor$DefaultState;-><init>(Lcom/android/server/connectivity/NetworkMonitor;)V
-PLcom/android/server/connectivity/NetworkMonitor$DefaultState;-><init>(Lcom/android/server/connectivity/NetworkMonitor;Lcom/android/server/connectivity/NetworkMonitor$1;)V
-PLcom/android/server/connectivity/NetworkMonitor$DefaultState;->processMessage(Landroid/os/Message;)Z
-PLcom/android/server/connectivity/NetworkMonitor$EvaluatingPrivateDnsState;-><init>(Lcom/android/server/connectivity/NetworkMonitor;)V
-PLcom/android/server/connectivity/NetworkMonitor$EvaluatingPrivateDnsState;-><init>(Lcom/android/server/connectivity/NetworkMonitor;Lcom/android/server/connectivity/NetworkMonitor$1;)V
-PLcom/android/server/connectivity/NetworkMonitor$EvaluatingPrivateDnsState;->enter()V
-PLcom/android/server/connectivity/NetworkMonitor$EvaluatingPrivateDnsState;->inStrictMode()Z
-PLcom/android/server/connectivity/NetworkMonitor$EvaluatingPrivateDnsState;->processMessage(Landroid/os/Message;)Z
-PLcom/android/server/connectivity/NetworkMonitor$EvaluatingState;-><init>(Lcom/android/server/connectivity/NetworkMonitor;)V
-PLcom/android/server/connectivity/NetworkMonitor$EvaluatingState;-><init>(Lcom/android/server/connectivity/NetworkMonitor;Lcom/android/server/connectivity/NetworkMonitor$1;)V
-PLcom/android/server/connectivity/NetworkMonitor$EvaluatingState;->enter()V
-PLcom/android/server/connectivity/NetworkMonitor$EvaluatingState;->exit()V
-PLcom/android/server/connectivity/NetworkMonitor$EvaluatingState;->processMessage(Landroid/os/Message;)Z
-PLcom/android/server/connectivity/NetworkMonitor$EvaluationResult;-><init>(Ljava/lang/String;IZ)V
-PLcom/android/server/connectivity/NetworkMonitor$MaybeNotifyState$1;-><init>(Lcom/android/server/connectivity/NetworkMonitor$MaybeNotifyState;)V
-PLcom/android/server/connectivity/NetworkMonitor$MaybeNotifyState$1;->appResponse(I)V
-PLcom/android/server/connectivity/NetworkMonitor$MaybeNotifyState;-><init>(Lcom/android/server/connectivity/NetworkMonitor;)V
-PLcom/android/server/connectivity/NetworkMonitor$MaybeNotifyState;-><init>(Lcom/android/server/connectivity/NetworkMonitor;Lcom/android/server/connectivity/NetworkMonitor$1;)V
-PLcom/android/server/connectivity/NetworkMonitor$MaybeNotifyState;->exit()V
-PLcom/android/server/connectivity/NetworkMonitor$MaybeNotifyState;->processMessage(Landroid/os/Message;)Z
-PLcom/android/server/connectivity/NetworkMonitor$OneAddressPerFamilyNetwork;-><init>(Landroid/net/Network;)V
-PLcom/android/server/connectivity/NetworkMonitor$OneAddressPerFamilyNetwork;->getAllByName(Ljava/lang/String;)[Ljava/net/InetAddress;
-PLcom/android/server/connectivity/NetworkMonitor$ValidatedState;-><init>(Lcom/android/server/connectivity/NetworkMonitor;)V
-PLcom/android/server/connectivity/NetworkMonitor$ValidatedState;-><init>(Lcom/android/server/connectivity/NetworkMonitor;Lcom/android/server/connectivity/NetworkMonitor$1;)V
-PLcom/android/server/connectivity/NetworkMonitor$ValidatedState;->enter()V
-PLcom/android/server/connectivity/NetworkMonitor$ValidatedState;->processMessage(Landroid/os/Message;)Z
-PLcom/android/server/connectivity/NetworkMonitor$ValidationStage;-><init>(Ljava/lang/String;IZ)V
-PLcom/android/server/connectivity/NetworkMonitor;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkRequest;)V
-PLcom/android/server/connectivity/NetworkMonitor;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/net/NetworkRequest;Landroid/net/metrics/IpConnectivityLog;Lcom/android/server/connectivity/NetworkMonitor$NetworkMonitorSettings;)V
-PLcom/android/server/connectivity/NetworkMonitor;->access$1000(Lcom/android/server/connectivity/NetworkMonitor;)I
-PLcom/android/server/connectivity/NetworkMonitor;->access$1002(Lcom/android/server/connectivity/NetworkMonitor;I)I
-PLcom/android/server/connectivity/NetworkMonitor;->access$1102(Lcom/android/server/connectivity/NetworkMonitor;Z)Z
-PLcom/android/server/connectivity/NetworkMonitor;->access$1200(Lcom/android/server/connectivity/NetworkMonitor;)Z
-PLcom/android/server/connectivity/NetworkMonitor;->access$1300(Lcom/android/server/connectivity/NetworkMonitor;)Lcom/android/internal/util/State;
-PLcom/android/server/connectivity/NetworkMonitor;->access$1400(Lcom/android/server/connectivity/NetworkMonitor;)Z
-PLcom/android/server/connectivity/NetworkMonitor;->access$1500(Lcom/android/server/connectivity/NetworkMonitor;Ljava/lang/Object;)V
-PLcom/android/server/connectivity/NetworkMonitor;->access$1600(Lcom/android/server/connectivity/NetworkMonitor;)Z
-PLcom/android/server/connectivity/NetworkMonitor;->access$1700(Lcom/android/server/connectivity/NetworkMonitor;)Ljava/lang/String;
-PLcom/android/server/connectivity/NetworkMonitor;->access$1702(Lcom/android/server/connectivity/NetworkMonitor;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/connectivity/NetworkMonitor;->access$1800(Lcom/android/server/connectivity/NetworkMonitor;)Lcom/android/server/connectivity/NetworkMonitor$ValidationStage;
-PLcom/android/server/connectivity/NetworkMonitor;->access$1900(Lcom/android/server/connectivity/NetworkMonitor;Lcom/android/server/connectivity/NetworkMonitor$ValidationStage;Lcom/android/server/connectivity/NetworkMonitor$EvaluationResult;)I
-PLcom/android/server/connectivity/NetworkMonitor;->access$2000(Lcom/android/server/connectivity/NetworkMonitor;I)V
-PLcom/android/server/connectivity/NetworkMonitor;->access$2100(Lcom/android/server/connectivity/NetworkMonitor;)I
-PLcom/android/server/connectivity/NetworkMonitor;->access$2200(Lcom/android/server/connectivity/NetworkMonitor;)Landroid/os/Handler;
-PLcom/android/server/connectivity/NetworkMonitor;->access$2308(Lcom/android/server/connectivity/NetworkMonitor;)I
-PLcom/android/server/connectivity/NetworkMonitor;->access$2400(Lcom/android/server/connectivity/NetworkMonitor;)Lcom/android/internal/util/State;
-PLcom/android/server/connectivity/NetworkMonitor;->access$2500(Lcom/android/server/connectivity/NetworkMonitor;)Landroid/net/Network;
-PLcom/android/server/connectivity/NetworkMonitor;->access$2600(Lcom/android/server/connectivity/NetworkMonitor;)Landroid/net/captiveportal/CaptivePortalProbeResult;
-PLcom/android/server/connectivity/NetworkMonitor;->access$2602(Lcom/android/server/connectivity/NetworkMonitor;Landroid/net/captiveportal/CaptivePortalProbeResult;)Landroid/net/captiveportal/CaptivePortalProbeResult;
-PLcom/android/server/connectivity/NetworkMonitor;->access$2700(Lcom/android/server/connectivity/NetworkMonitor;)Ljava/lang/String;
-PLcom/android/server/connectivity/NetworkMonitor;->access$2800(Lcom/android/server/connectivity/NetworkMonitor;)Landroid/net/util/Stopwatch;
-PLcom/android/server/connectivity/NetworkMonitor;->access$2900(Lcom/android/server/connectivity/NetworkMonitor;)I
-PLcom/android/server/connectivity/NetworkMonitor;->access$2904(Lcom/android/server/connectivity/NetworkMonitor;)I
-PLcom/android/server/connectivity/NetworkMonitor;->access$3100(Lcom/android/server/connectivity/NetworkMonitor;)Lcom/android/internal/util/State;
-PLcom/android/server/connectivity/NetworkMonitor;->access$3200(Lcom/android/server/connectivity/NetworkMonitor;I)V
-PLcom/android/server/connectivity/NetworkMonitor;->access$3400(Lcom/android/server/connectivity/NetworkMonitor;Landroid/net/ProxyInfo;Ljava/net/URL;I)Landroid/net/captiveportal/CaptivePortalProbeResult;
-PLcom/android/server/connectivity/NetworkMonitor;->access$600(Lcom/android/server/connectivity/NetworkMonitor;I)V
-PLcom/android/server/connectivity/NetworkMonitor;->access$700(Lcom/android/server/connectivity/NetworkMonitor;)Lcom/android/internal/util/State;
-PLcom/android/server/connectivity/NetworkMonitor;->access$800(Lcom/android/server/connectivity/NetworkMonitor;)Lcom/android/server/connectivity/NetworkMonitor$CustomIntentReceiver;
-PLcom/android/server/connectivity/NetworkMonitor;->access$802(Lcom/android/server/connectivity/NetworkMonitor;Lcom/android/server/connectivity/NetworkMonitor$CustomIntentReceiver;)Lcom/android/server/connectivity/NetworkMonitor$CustomIntentReceiver;
-PLcom/android/server/connectivity/NetworkMonitor;->access$900(Lcom/android/server/connectivity/NetworkMonitor;)Landroid/content/Context;
-PLcom/android/server/connectivity/NetworkMonitor;->getCaptivePortalServerHttpUrl(Lcom/android/server/connectivity/NetworkMonitor$NetworkMonitorSettings;Landroid/content/Context;)Ljava/lang/String;
-PLcom/android/server/connectivity/NetworkMonitor;->getCaptivePortalServerHttpsUrl()Ljava/lang/String;
-PLcom/android/server/connectivity/NetworkMonitor;->getCaptivePortalUserAgent()Ljava/lang/String;
-PLcom/android/server/connectivity/NetworkMonitor;->getIsCaptivePortalCheckEnabled()Z
-PLcom/android/server/connectivity/NetworkMonitor;->getUseHttpsValidation()Z
-PLcom/android/server/connectivity/NetworkMonitor;->getValidationLogs()Landroid/util/LocalLog$ReadOnlyLocalLog;
-PLcom/android/server/connectivity/NetworkMonitor;->getWifiScansAlwaysAvailableDisabled()Z
-PLcom/android/server/connectivity/NetworkMonitor;->isCaptivePortal()Landroid/net/captiveportal/CaptivePortalProbeResult;
-PLcom/android/server/connectivity/NetworkMonitor;->isValidationRequired()Z
-PLcom/android/server/connectivity/NetworkMonitor;->isValidationRequired(Landroid/net/NetworkCapabilities;Landroid/net/NetworkCapabilities;)Z
-PLcom/android/server/connectivity/NetworkMonitor;->log(Ljava/lang/String;)V
-PLcom/android/server/connectivity/NetworkMonitor;->logNetworkEvent(I)V
-PLcom/android/server/connectivity/NetworkMonitor;->logValidationProbe(JII)V
-PLcom/android/server/connectivity/NetworkMonitor;->makeCaptivePortalFallbackProbeSpecs()[Landroid/net/captiveportal/CaptivePortalProbeSpec;
-PLcom/android/server/connectivity/NetworkMonitor;->makeCaptivePortalFallbackUrls()[Ljava/net/URL;
-PLcom/android/server/connectivity/NetworkMonitor;->makeURL(Ljava/lang/String;)Ljava/net/URL;
-PLcom/android/server/connectivity/NetworkMonitor;->maybeLogEvaluationResult(I)V
-PLcom/android/server/connectivity/NetworkMonitor;->networkEventType(Lcom/android/server/connectivity/NetworkMonitor$ValidationStage;Lcom/android/server/connectivity/NetworkMonitor$EvaluationResult;)I
-PLcom/android/server/connectivity/NetworkMonitor;->notifyNetworkTestResultInvalid(Ljava/lang/Object;)V
-PLcom/android/server/connectivity/NetworkMonitor;->notifyPrivateDnsSettingsChanged(Lcom/android/server/connectivity/DnsManager$PrivateDnsConfig;)V
-PLcom/android/server/connectivity/NetworkMonitor;->sendDnsAndHttpProbes(Landroid/net/ProxyInfo;Ljava/net/URL;I)Landroid/net/captiveportal/CaptivePortalProbeResult;
-PLcom/android/server/connectivity/NetworkMonitor;->sendDnsProbe(Ljava/lang/String;)V
-PLcom/android/server/connectivity/NetworkMonitor;->sendHttpProbe(Ljava/net/URL;ILandroid/net/captiveportal/CaptivePortalProbeSpec;)Landroid/net/captiveportal/CaptivePortalProbeResult;
-PLcom/android/server/connectivity/NetworkMonitor;->sendNetworkConditionsBroadcast(ZZJJ)V
-PLcom/android/server/connectivity/NetworkMonitor;->sendParallelHttpProbes(Landroid/net/ProxyInfo;Ljava/net/URL;Ljava/net/URL;)Landroid/net/captiveportal/CaptivePortalProbeResult;
-PLcom/android/server/connectivity/NetworkMonitor;->validationLog(ILjava/lang/Object;Ljava/lang/String;)V
-PLcom/android/server/connectivity/NetworkMonitor;->validationLog(Ljava/lang/String;)V
-PLcom/android/server/connectivity/NetworkMonitor;->validationStage()Lcom/android/server/connectivity/NetworkMonitor$ValidationStage;
-PLcom/android/server/connectivity/NetworkNotificationManager$NotificationType$Holder;->access$000()Landroid/util/SparseArray;
 PLcom/android/server/connectivity/NetworkNotificationManager$NotificationType;-><init>(Ljava/lang/String;II)V
-PLcom/android/server/connectivity/NetworkNotificationManager$NotificationType;->getFromId(I)Lcom/android/server/connectivity/NetworkNotificationManager$NotificationType;
 PLcom/android/server/connectivity/NetworkNotificationManager$NotificationType;->values()[Lcom/android/server/connectivity/NetworkNotificationManager$NotificationType;
-PLcom/android/server/connectivity/NetworkNotificationManager;-><init>(Landroid/content/Context;Landroid/telephony/TelephonyManager;Landroid/app/NotificationManager;)V
 PLcom/android/server/connectivity/NetworkNotificationManager;->clearNotification(I)V
-PLcom/android/server/connectivity/NetworkNotificationManager;->getFirstTransportType(Lcom/android/server/connectivity/NetworkAgentInfo;)I
-PLcom/android/server/connectivity/NetworkNotificationManager;->getIcon(I)I
+PLcom/android/server/connectivity/NetworkNotificationManager;->clearNotification(ILcom/android/server/connectivity/NetworkNotificationManager$NotificationType;)V
 PLcom/android/server/connectivity/NetworkNotificationManager;->getTransportName(I)Ljava/lang/String;
-PLcom/android/server/connectivity/NetworkNotificationManager;->nameOf(I)Ljava/lang/String;
-PLcom/android/server/connectivity/NetworkNotificationManager;->priority(Lcom/android/server/connectivity/NetworkNotificationManager$NotificationType;)I
+PLcom/android/server/connectivity/NetworkNotificationManager;->setProvNotificationVisible(ZILjava/lang/String;)V
 PLcom/android/server/connectivity/NetworkNotificationManager;->showNotification(ILcom/android/server/connectivity/NetworkNotificationManager$NotificationType;Lcom/android/server/connectivity/NetworkAgentInfo;Lcom/android/server/connectivity/NetworkAgentInfo;Landroid/app/PendingIntent;Z)V
-PLcom/android/server/connectivity/NetworkNotificationManager;->tagFor(I)Ljava/lang/String;
-PLcom/android/server/connectivity/PacManager$1;-><init>(Lcom/android/server/connectivity/PacManager;)V
-PLcom/android/server/connectivity/PacManager$PacRefreshIntentReceiver;-><init>(Lcom/android/server/connectivity/PacManager;)V
-PLcom/android/server/connectivity/PacManager;-><init>(Landroid/content/Context;Landroid/os/Handler;I)V
-PLcom/android/server/connectivity/PermissionMonitor$1;-><init>(Lcom/android/server/connectivity/PermissionMonitor;)V
-PLcom/android/server/connectivity/PermissionMonitor$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/connectivity/PermissionMonitor;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;)V
-PLcom/android/server/connectivity/PermissionMonitor;->access$200(Lcom/android/server/connectivity/PermissionMonitor;Ljava/lang/String;I)V
-PLcom/android/server/connectivity/PermissionMonitor;->access$300(Lcom/android/server/connectivity/PermissionMonitor;I)V
-PLcom/android/server/connectivity/PermissionMonitor;->hasNetworkPermission(Landroid/content/pm/PackageInfo;)Z
-PLcom/android/server/connectivity/PermissionMonitor;->hasRestrictedNetworkPermission(Landroid/content/pm/PackageInfo;)Z
-PLcom/android/server/connectivity/PermissionMonitor;->hasUseBackgroundNetworksPermission(I)Z
-PLcom/android/server/connectivity/PermissionMonitor;->hasUseBackgroundNetworksPermission(Landroid/content/pm/PackageInfo;)Z
 PLcom/android/server/connectivity/PermissionMonitor;->highestPermissionForUid(Ljava/lang/Boolean;Ljava/lang/String;)Ljava/lang/Boolean;
-PLcom/android/server/connectivity/PermissionMonitor;->isPreinstalledSystemApp(Landroid/content/pm/PackageInfo;)Z
-PLcom/android/server/connectivity/PermissionMonitor;->log(Ljava/lang/String;)V
-PLcom/android/server/connectivity/PermissionMonitor;->onAppAdded(Ljava/lang/String;I)V
-PLcom/android/server/connectivity/PermissionMonitor;->onAppRemoved(I)V
-PLcom/android/server/connectivity/PermissionMonitor;->startMonitoring()V
-PLcom/android/server/connectivity/PermissionMonitor;->toIntArray(Ljava/util/List;)[I
-PLcom/android/server/connectivity/PermissionMonitor;->update(Ljava/util/Set;Ljava/util/Map;Z)V
-PLcom/android/server/connectivity/Tethering$3;-><init>(Lcom/android/server/connectivity/Tethering;Ljava/lang/String;)V
-PLcom/android/server/connectivity/Tethering$3;->updateInterfaceState(Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;II)V
-PLcom/android/server/connectivity/Tethering$3;->updateLinkProperties(Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;Landroid/net/LinkProperties;)V
-PLcom/android/server/connectivity/Tethering$StateReceiver;-><init>(Lcom/android/server/connectivity/Tethering;)V
-PLcom/android/server/connectivity/Tethering$StateReceiver;-><init>(Lcom/android/server/connectivity/Tethering;Lcom/android/server/connectivity/Tethering$1;)V
+PLcom/android/server/connectivity/PermissionMonitor;->onPackageAdded(Ljava/lang/String;I)V
+PLcom/android/server/connectivity/ProxyTracker;->proxyInfoEqual(Landroid/net/ProxyInfo;Landroid/net/ProxyInfo;)Z
+PLcom/android/server/connectivity/ProxyTracker;->setDefaultProxy(Landroid/net/ProxyInfo;)V
 PLcom/android/server/connectivity/Tethering$StateReceiver;->handleConnectivityAction(Landroid/content/Intent;)V
 PLcom/android/server/connectivity/Tethering$StateReceiver;->handleUsbAction(Landroid/content/Intent;)V
-PLcom/android/server/connectivity/Tethering$StateReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/connectivity/Tethering$TetherMasterSM$ErrorState;-><init>(Lcom/android/server/connectivity/Tethering$TetherMasterSM;)V
-PLcom/android/server/connectivity/Tethering$TetherMasterSM$InitialState;-><init>(Lcom/android/server/connectivity/Tethering$TetherMasterSM;)V
-PLcom/android/server/connectivity/Tethering$TetherMasterSM$InitialState;->processMessage(Landroid/os/Message;)Z
-PLcom/android/server/connectivity/Tethering$TetherMasterSM$OffloadWrapper;-><init>(Lcom/android/server/connectivity/Tethering$TetherMasterSM;)V
-PLcom/android/server/connectivity/Tethering$TetherMasterSM$OffloadWrapper;->excludeDownstreamInterface(Ljava/lang/String;)V
-PLcom/android/server/connectivity/Tethering$TetherMasterSM$OffloadWrapper;->sendOffloadExemptPrefixes()V
-PLcom/android/server/connectivity/Tethering$TetherMasterSM$OffloadWrapper;->sendOffloadExemptPrefixes(Ljava/util/Set;)V
-PLcom/android/server/connectivity/Tethering$TetherMasterSM$SetDnsForwardersErrorState;-><init>(Lcom/android/server/connectivity/Tethering$TetherMasterSM;)V
-PLcom/android/server/connectivity/Tethering$TetherMasterSM$SetIpForwardingDisabledErrorState;-><init>(Lcom/android/server/connectivity/Tethering$TetherMasterSM;)V
-PLcom/android/server/connectivity/Tethering$TetherMasterSM$SetIpForwardingEnabledErrorState;-><init>(Lcom/android/server/connectivity/Tethering$TetherMasterSM;)V
-PLcom/android/server/connectivity/Tethering$TetherMasterSM$StartTetheringErrorState;-><init>(Lcom/android/server/connectivity/Tethering$TetherMasterSM;)V
-PLcom/android/server/connectivity/Tethering$TetherMasterSM$StopTetheringErrorState;-><init>(Lcom/android/server/connectivity/Tethering$TetherMasterSM;)V
-PLcom/android/server/connectivity/Tethering$TetherMasterSM$TetherModeAliveState;-><init>(Lcom/android/server/connectivity/Tethering$TetherMasterSM;)V
-PLcom/android/server/connectivity/Tethering$TetherMasterSM;-><init>(Lcom/android/server/connectivity/Tethering;Ljava/lang/String;Landroid/os/Looper;Lcom/android/server/connectivity/tethering/TetheringDependencies;)V
-PLcom/android/server/connectivity/Tethering$TetherMasterSM;->access$1500(Lcom/android/server/connectivity/Tethering$TetherMasterSM;Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;)V
-PLcom/android/server/connectivity/Tethering$TetherMasterSM;->access$2800(Lcom/android/server/connectivity/Tethering$TetherMasterSM;)Ljava/util/ArrayList;
-PLcom/android/server/connectivity/Tethering$TetherMasterSM;->handleInterfaceServingStateInactive(Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;)V
-PLcom/android/server/connectivity/Tethering$TetherState;-><init>(Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;)V
-PLcom/android/server/connectivity/Tethering$TetheringUserRestrictionListener;-><init>(Lcom/android/server/connectivity/Tethering;)V
-PLcom/android/server/connectivity/Tethering$TetheringUserRestrictionListener;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
-PLcom/android/server/connectivity/Tethering;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Landroid/net/INetworkPolicyManager;Landroid/os/Looper;Lcom/android/server/connectivity/MockableSystemProperties;Lcom/android/server/connectivity/tethering/TetheringDependencies;)V
-PLcom/android/server/connectivity/Tethering;->access$1200(Lcom/android/server/connectivity/Tethering;Lcom/android/internal/util/State;I)V
-PLcom/android/server/connectivity/Tethering;->access$1900(Lcom/android/server/connectivity/Tethering;)Lcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;
-PLcom/android/server/connectivity/Tethering;->access$2200(Lcom/android/server/connectivity/Tethering;)Ljava/util/HashSet;
-PLcom/android/server/connectivity/Tethering;->access$3100(Lcom/android/server/connectivity/Tethering;)Lcom/android/server/connectivity/tethering/OffloadController;
-PLcom/android/server/connectivity/Tethering;->access$3200(Lcom/android/server/connectivity/Tethering;Ljava/lang/String;Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;II)V
-PLcom/android/server/connectivity/Tethering;->access$3300(Lcom/android/server/connectivity/Tethering;Ljava/lang/String;Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;Landroid/net/LinkProperties;)V
-PLcom/android/server/connectivity/Tethering;->access$400(Lcom/android/server/connectivity/Tethering;)Landroid/net/util/SharedLog;
-PLcom/android/server/connectivity/Tethering;->access$500(Lcom/android/server/connectivity/Tethering;)V
-PLcom/android/server/connectivity/Tethering;->access$600(Lcom/android/server/connectivity/Tethering;)Lcom/android/internal/util/StateMachine;
-PLcom/android/server/connectivity/Tethering;->access$700(Lcom/android/server/connectivity/Tethering;)Ljava/lang/Object;
-PLcom/android/server/connectivity/Tethering;->access$800(Lcom/android/server/connectivity/Tethering;)Z
-PLcom/android/server/connectivity/Tethering;->access$802(Lcom/android/server/connectivity/Tethering;Z)Z
-PLcom/android/server/connectivity/Tethering;->carrierConfigAffirmsEntitlementCheckNotRequired()Z
-PLcom/android/server/connectivity/Tethering;->clearTetheredNotification()V
-PLcom/android/server/connectivity/Tethering;->copy([Ljava/lang/String;)[Ljava/lang/String;
 PLcom/android/server/connectivity/Tethering;->getTetherableBluetoothRegexs()[Ljava/lang/String;
 PLcom/android/server/connectivity/Tethering;->getTetherableUsbRegexs()[Ljava/lang/String;
-PLcom/android/server/connectivity/Tethering;->getTetherableWifiRegexs()[Ljava/lang/String;
 PLcom/android/server/connectivity/Tethering;->getTetheredIfaces()[Ljava/lang/String;
-PLcom/android/server/connectivity/Tethering;->hasTetherableConfiguration()Z
-PLcom/android/server/connectivity/Tethering;->ifaceNameToType(Ljava/lang/String;)I
-PLcom/android/server/connectivity/Tethering;->interfaceLinkStateChanged(Ljava/lang/String;Z)V
-PLcom/android/server/connectivity/Tethering;->interfaceStatusChanged(Ljava/lang/String;Z)V
-PLcom/android/server/connectivity/Tethering;->lambda$new$0(Lcom/android/server/connectivity/Tethering;Landroid/content/Intent;)V
-PLcom/android/server/connectivity/Tethering;->logMessage(Lcom/android/internal/util/State;I)V
-PLcom/android/server/connectivity/Tethering;->makeControlCallback(Ljava/lang/String;)Lcom/android/server/connectivity/tethering/IControlsTethering;
-PLcom/android/server/connectivity/Tethering;->maybeTrackNewInterfaceLocked(Ljava/lang/String;)V
-PLcom/android/server/connectivity/Tethering;->maybeTrackNewInterfaceLocked(Ljava/lang/String;I)V
-PLcom/android/server/connectivity/Tethering;->notifyInterfaceStateChange(Ljava/lang/String;Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;II)V
-PLcom/android/server/connectivity/Tethering;->notifyLinkPropertiesChanged(Ljava/lang/String;Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;Landroid/net/LinkProperties;)V
-PLcom/android/server/connectivity/Tethering;->reevaluateSimCardProvisioning()V
-PLcom/android/server/connectivity/Tethering;->sendTetherStateChangedBroadcast()V
-PLcom/android/server/connectivity/Tethering;->startStateMachineUpdaters()V
-PLcom/android/server/connectivity/Tethering;->updateConfiguration()V
-PLcom/android/server/connectivity/Vpn$1;-><init>(Lcom/android/server/connectivity/Vpn;)V
-PLcom/android/server/connectivity/Vpn$3;-><init>(Lcom/android/server/connectivity/Vpn;)V
-PLcom/android/server/connectivity/Vpn$SystemServices;-><init>(Landroid/content/Context;)V
-PLcom/android/server/connectivity/Vpn$SystemServices;->settingsSecureGetIntForUser(Ljava/lang/String;II)I
-PLcom/android/server/connectivity/Vpn$SystemServices;->settingsSecureGetStringForUser(Ljava/lang/String;I)Ljava/lang/String;
-PLcom/android/server/connectivity/Vpn;-><init>(Landroid/os/Looper;Landroid/content/Context;Landroid/os/INetworkManagementService;I)V
-PLcom/android/server/connectivity/Vpn;-><init>(Landroid/os/Looper;Landroid/content/Context;Landroid/os/INetworkManagementService;ILcom/android/server/connectivity/Vpn$SystemServices;)V
-PLcom/android/server/connectivity/Vpn;->enforceControlPermission()V
-PLcom/android/server/connectivity/Vpn;->enforceControlPermissionOrInternalCaller()V
+PLcom/android/server/connectivity/Tethering;->interfaceRemoved(Ljava/lang/String;)V
+PLcom/android/server/connectivity/Tethering;->lambda$new$0$Tethering(Landroid/content/Intent;)V
+PLcom/android/server/connectivity/Tethering;->lambda$new$1$Tethering(Landroid/content/Intent;)V
+PLcom/android/server/connectivity/Tethering;->stopTrackingInterfaceLocked(Ljava/lang/String;)V
+PLcom/android/server/connectivity/Vpn$2;->interfaceRemoved(Ljava/lang/String;)V
 PLcom/android/server/connectivity/Vpn;->getAlwaysOnPackage()Ljava/lang/String;
-PLcom/android/server/connectivity/Vpn;->getAppUid(Ljava/lang/String;I)I
+PLcom/android/server/connectivity/Vpn;->getLockdown()Z
+PLcom/android/server/connectivity/Vpn;->getNetId()I
 PLcom/android/server/connectivity/Vpn;->getUnderlyingNetworks()[Landroid/net/Network;
 PLcom/android/server/connectivity/Vpn;->getVpnConfig()Lcom/android/internal/net/VpnConfig;
-PLcom/android/server/connectivity/Vpn;->getVpnInfo()Lcom/android/internal/net/VpnInfo;
-PLcom/android/server/connectivity/Vpn;->isCurrentPreparedPackage(Ljava/lang/String;)Z
-PLcom/android/server/connectivity/Vpn;->isNullOrLegacyVpn(Ljava/lang/String;)Z
-PLcom/android/server/connectivity/Vpn;->loadAlwaysOnPackage()V
-PLcom/android/server/connectivity/Vpn;->maybeRegisterPackageChangeReceiverLocked(Ljava/lang/String;)V
-PLcom/android/server/connectivity/Vpn;->setAllowOnlyVpnForUids(ZLjava/util/Collection;)Z
-PLcom/android/server/connectivity/Vpn;->setAlwaysOnPackageInternal(Ljava/lang/String;Z)Z
-PLcom/android/server/connectivity/Vpn;->setVpnForcedLocked(Z)V
+PLcom/android/server/connectivity/Vpn;->onUserStopped()V
+PLcom/android/server/connectivity/Vpn;->setLockdown(Z)V
 PLcom/android/server/connectivity/Vpn;->startAlwaysOnVpn()Z
-PLcom/android/server/connectivity/Vpn;->unregisterPackageChangeReceiverLocked()V
-PLcom/android/server/connectivity/Vpn;->updateAlwaysOnNotification(Landroid/net/NetworkInfo$DetailedState;)V
-PLcom/android/server/connectivity/Vpn;->updateCapabilities()V
-PLcom/android/server/connectivity/Vpn;->updateCapabilities(Landroid/net/ConnectivityManager;[Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
-PLcom/android/server/connectivity/tethering/-$$Lambda$OffloadController$OffloadTetheringStatsProvider$3TF0NI3fE8A-xW0925oMv3YzAOk;-><init>(Lcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;)V
-PLcom/android/server/connectivity/tethering/-$$Lambda$OffloadController$OffloadTetheringStatsProvider$3TF0NI3fE8A-xW0925oMv3YzAOk;->run()V
-PLcom/android/server/connectivity/tethering/IControlsTethering;-><init>()V
-PLcom/android/server/connectivity/tethering/IControlsTethering;->getStateString(I)Ljava/lang/String;
-PLcom/android/server/connectivity/tethering/IPv6TetheringCoordinator;-><init>(Ljava/util/ArrayList;Landroid/net/util/SharedLog;)V
-PLcom/android/server/connectivity/tethering/IPv6TetheringCoordinator;->findDownstream(Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;)Lcom/android/server/connectivity/tethering/IPv6TetheringCoordinator$Downstream;
-PLcom/android/server/connectivity/tethering/IPv6TetheringCoordinator;->generateUniqueLocalPrefix()[B
-PLcom/android/server/connectivity/tethering/IPv6TetheringCoordinator;->removeActiveDownstream(Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;)V
-PLcom/android/server/connectivity/tethering/IPv6TetheringCoordinator;->stopIPv6TetheringOn(Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;)V
-PLcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;-><init>(Lcom/android/server/connectivity/tethering/OffloadController;)V
-PLcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;-><init>(Lcom/android/server/connectivity/tethering/OffloadController;Lcom/android/server/connectivity/tethering/OffloadController$1;)V
-PLcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;->lambda$getTetherStats$0(Lcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;)V
-PLcom/android/server/connectivity/tethering/OffloadController;-><init>(Landroid/os/Handler;Lcom/android/server/connectivity/tethering/OffloadHardwareInterface;Landroid/content/ContentResolver;Landroid/os/INetworkManagementService;Landroid/net/util/SharedLog;)V
-PLcom/android/server/connectivity/tethering/OffloadController;->access$1000(Lcom/android/server/connectivity/tethering/OffloadController;)Landroid/os/Handler;
-PLcom/android/server/connectivity/tethering/OffloadController;->access$1100(Lcom/android/server/connectivity/tethering/OffloadController;)Ljava/util/concurrent/ConcurrentHashMap;
-PLcom/android/server/connectivity/tethering/OffloadController;->access$800(Lcom/android/server/connectivity/tethering/OffloadController;)V
-PLcom/android/server/connectivity/tethering/OffloadController;->currentUpstreamInterface()Ljava/lang/String;
-PLcom/android/server/connectivity/tethering/OffloadController;->maybeUpdateStats(Ljava/lang/String;)V
-PLcom/android/server/connectivity/tethering/OffloadController;->removeDownstreamInterface(Ljava/lang/String;)V
-PLcom/android/server/connectivity/tethering/OffloadController;->setLocalPrefixes(Ljava/util/Set;)V
-PLcom/android/server/connectivity/tethering/OffloadController;->started()Z
-PLcom/android/server/connectivity/tethering/OffloadController;->updateStatsForCurrentUpstream()V
-PLcom/android/server/connectivity/tethering/OffloadHardwareInterface$ForwardedStats;-><init>()V
-PLcom/android/server/connectivity/tethering/OffloadHardwareInterface;-><init>(Landroid/os/Handler;Landroid/net/util/SharedLog;)V
-PLcom/android/server/connectivity/tethering/SimChangeListener$1;-><init>(Ljava/lang/Runnable;)V
-PLcom/android/server/connectivity/tethering/SimChangeListener;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/Runnable;)V
-PLcom/android/server/connectivity/tethering/SimChangeListener;->makeCallback(Ljava/lang/Runnable;)Ljava/util/function/Consumer;
-PLcom/android/server/connectivity/tethering/SimChangeListener;->makeIntentFilter()Landroid/content/IntentFilter;
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine$BaseServingState;-><init>(Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;)V
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine$InitialState;-><init>(Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;)V
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine$InitialState;->enter()V
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine$InitialState;->processMessage(Landroid/os/Message;)Z
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine$LocalHotspotState;-><init>(Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;)V
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine$TetheredState;-><init>(Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;)V
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine$UnavailableState;-><init>(Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;)V
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;-><init>(Ljava/lang/String;Landroid/os/Looper;ILandroid/net/util/SharedLog;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Lcom/android/server/connectivity/tethering/IControlsTethering;Lcom/android/server/connectivity/tethering/TetheringDependencies;)V
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;->access$000(Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;I)V
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;->access$100(Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;Lcom/android/internal/util/State;I)V
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;->access$700(Lcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;Landroid/net/LinkProperties;)V
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;->interfaceName()Ljava/lang/String;
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;->interfaceType()I
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;->lastError()I
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;->logMessage(Lcom/android/internal/util/State;I)V
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;->resetLinkProperties()V
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;->sendInterfaceState(I)V
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;->sendLinkProperties()V
-PLcom/android/server/connectivity/tethering/TetherInterfaceStateMachine;->updateUpstreamIPv6LinkProperties(Landroid/net/LinkProperties;)V
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;-><init>(Landroid/content/Context;Landroid/net/util/SharedLog;)V
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->checkDunRequired(Landroid/content/Context;)I
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->containsOneOf(Ljava/util/ArrayList;[Ljava/lang/Integer;)Z
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->copy([Ljava/lang/String;)[Ljava/lang/String;
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->dunCheckString(I)Ljava/lang/String;
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->getDhcpRanges(Landroid/content/Context;)[Ljava/lang/String;
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->getProvisioningAppNoUi(Landroid/content/Context;)Ljava/lang/String;
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->getResourceStringArray(Landroid/content/Context;I)[Ljava/lang/String;
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->getUpstreamIfaceTypes(Landroid/content/Context;I)Ljava/util/Collection;
+PLcom/android/server/connectivity/tethering/-$$Lambda$OffloadController$OffloadTetheringStatsProvider$qF4r7cON-_Hdae6JwwsXWcAUxEQ;->run()V
+PLcom/android/server/connectivity/tethering/EntitlementManager;->reevaluateSimCardProvisioning()V
+PLcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;->lambda$setInterfaceQuota$1$OffloadController$OffloadTetheringStatsProvider(JLjava/lang/String;)V
+PLcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;->lambda$setInterfaceQuota$1(Lcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;JLjava/lang/String;)V
+PLcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;->setInterfaceQuota(Ljava/lang/String;J)V
+PLcom/android/server/connectivity/tethering/OffloadController;->maybeUpdateDataLimit(Ljava/lang/String;)Z
+PLcom/android/server/connectivity/tethering/TetheringConfiguration;->getResourcesForSubIdWrapper(Landroid/content/Context;I)Landroid/content/res/Resources;
 PLcom/android/server/connectivity/tethering/TetheringConfiguration;->hasMobileHotspotProvisionApp()Z
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->isWifi(Ljava/lang/String;)Z
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->makeString([Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->matchesDownstreamRegexs(Ljava/lang/String;[Ljava/lang/String;)Z
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->preferredUpstreamNames(Ljava/util/Collection;)[Ljava/lang/String;
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->prependIfNotPresent(Ljava/util/ArrayList;I)V
-PLcom/android/server/connectivity/tethering/TetheringConfiguration;->toString()Ljava/lang/String;
-PLcom/android/server/connectivity/tethering/TetheringDependencies;-><init>()V
-PLcom/android/server/connectivity/tethering/TetheringDependencies;->getIPv6TetheringCoordinator(Ljava/util/ArrayList;Landroid/net/util/SharedLog;)Lcom/android/server/connectivity/tethering/IPv6TetheringCoordinator;
-PLcom/android/server/connectivity/tethering/TetheringDependencies;->getNetdService()Landroid/net/INetd;
-PLcom/android/server/connectivity/tethering/TetheringDependencies;->getOffloadHardwareInterface(Landroid/os/Handler;Landroid/net/util/SharedLog;)Lcom/android/server/connectivity/tethering/OffloadHardwareInterface;
-PLcom/android/server/connectivity/tethering/TetheringDependencies;->getUpstreamNetworkMonitor(Landroid/content/Context;Lcom/android/internal/util/StateMachine;Landroid/net/util/SharedLog;I)Lcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;
-PLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;-><init>(Landroid/content/Context;Lcom/android/internal/util/StateMachine;Landroid/net/util/SharedLog;I)V
-PLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;->getLocalPrefixes()Ljava/util/Set;
-PLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;->updateMobileRequiresDun(Z)V
-PLcom/android/server/content/-$$Lambda$SyncManager$68MEyNkTh36YmYoFlURJoRa_-cY;-><init>()V
-PLcom/android/server/content/-$$Lambda$SyncManager$6y-gkGdDn-rSLmR9G8Pz_n9zy2A;-><init>(Lcom/android/server/content/SyncManager;I)V
+PLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor$UpstreamNetworkCallback;->onAvailable(Landroid/net/Network;)V
+PLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor$UpstreamNetworkCallback;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor$UpstreamNetworkCallback;->onLinkPropertiesChanged(Landroid/net/Network;Landroid/net/LinkProperties;)V
+PLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor$UpstreamNetworkCallback;->onLost(Landroid/net/Network;)V
+PLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor$UpstreamNetworkCallback;->onNetworkResumed(Landroid/net/Network;)V
+PLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor$UpstreamNetworkCallback;->onNetworkSuspended(Landroid/net/Network;)V
+PLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;->mobileNetworkRequested()Z
+PLcom/android/server/content/-$$Lambda$SyncManager$4nklbtZn-JuPLOkU32f34xZoiug;->run()V
 PLcom/android/server/content/-$$Lambda$SyncManager$6y-gkGdDn-rSLmR9G8Pz_n9zy2A;->run()V
-PLcom/android/server/content/-$$Lambda$SyncManager$CjX_2uO4O4xJPQnKzeqvGwd87Dc;-><init>(Lcom/android/server/content/SyncManager;I)V
-PLcom/android/server/content/-$$Lambda$SyncManager$CjX_2uO4O4xJPQnKzeqvGwd87Dc;->run()V
-PLcom/android/server/content/-$$Lambda$SyncManager$Dly2yZUw2lCDXffoc_fe8npXe2U;-><init>(Lcom/android/server/content/SyncManager;Landroid/accounts/AccountAndUser;ILjava/lang/String;Landroid/os/Bundle;IJI)V
-PLcom/android/server/content/-$$Lambda$SyncManager$Dly2yZUw2lCDXffoc_fe8npXe2U;->onReady()V
-PLcom/android/server/content/-$$Lambda$SyncManager$HhiSFjEoPA_Hnv3xYZGfwkalc68;-><init>(Lcom/android/server/content/SyncManager;)V
 PLcom/android/server/content/-$$Lambda$SyncManager$HhiSFjEoPA_Hnv3xYZGfwkalc68;->onAppPermissionChanged(Landroid/accounts/Account;I)V
-PLcom/android/server/content/-$$Lambda$SyncManager$bVs0A6OYdmGkOiq_lbp5MiBwelw;-><init>()V
-PLcom/android/server/content/-$$Lambda$SyncManager$zZUXjd-GLFQgHtMQ3vq0EWHvir8;-><init>(Landroid/content/Context;Lcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;)V
+PLcom/android/server/content/-$$Lambda$SyncManager$XKEiBZ17uDgUCTwf_kh9_pH7usQ;-><init>(Lcom/android/server/content/SyncManager;Landroid/accounts/AccountAndUser;ILjava/lang/String;Landroid/os/Bundle;IJIIILjava/lang/String;)V
+PLcom/android/server/content/-$$Lambda$SyncManager$XKEiBZ17uDgUCTwf_kh9_pH7usQ;->onReady()V
 PLcom/android/server/content/-$$Lambda$SyncManager$zZUXjd-GLFQgHtMQ3vq0EWHvir8;->run()V
-PLcom/android/server/content/-$$Lambda$SyncManagerConstants$qo5ldQVp10jCUY9aavBZDKP2k6Q;-><init>(Lcom/android/server/content/SyncManagerConstants;)V
-PLcom/android/server/content/-$$Lambda$SyncManagerConstants$qo5ldQVp10jCUY9aavBZDKP2k6Q;->run()V
-PLcom/android/server/content/ContentService$1;-><init>(Lcom/android/server/content/ContentService;)V
 PLcom/android/server/content/ContentService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/content/ContentService$3;-><init>(Lcom/android/server/content/ContentService;)V
 PLcom/android/server/content/ContentService$3;->getPackages(Ljava/lang/String;I)[Ljava/lang/String;
-PLcom/android/server/content/ContentService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/content/ContentService$Lifecycle;->onBootPhase(I)V
-PLcom/android/server/content/ContentService$Lifecycle;->onStart()V
-PLcom/android/server/content/ContentService$Lifecycle;->onStartUser(I)V
+PLcom/android/server/content/ContentService$Lifecycle;->onCleanupUser(I)V
+PLcom/android/server/content/ContentService$Lifecycle;->onStopUser(I)V
 PLcom/android/server/content/ContentService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/content/ContentService$ObserverCall;-><init>(Lcom/android/server/content/ContentService$ObserverNode;Landroid/database/IContentObserver;ZI)V
 PLcom/android/server/content/ContentService$ObserverNode$ObserverEntry;->binderDied()V
-PLcom/android/server/content/ContentService$ObserverNode;-><init>(Ljava/lang/String;)V
-PLcom/android/server/content/ContentService;-><init>(Landroid/content/Context;Z)V
-PLcom/android/server/content/ContentService;->access$000(Lcom/android/server/content/ContentService;)Landroid/util/SparseArray;
-PLcom/android/server/content/ContentService;->access$100(Lcom/android/server/content/ContentService;ILjava/lang/String;Landroid/net/Uri;)V
 PLcom/android/server/content/ContentService;->addPeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;J)V
 PLcom/android/server/content/ContentService;->addStatusChangeListener(ILandroid/content/ISyncStatusObserver;)V
 PLcom/android/server/content/ContentService;->cancelSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)V
@@ -9911,213 +7157,147 @@
 PLcom/android/server/content/ContentService;->findOrCreateCacheLocked(ILjava/lang/String;)Landroid/util/ArrayMap;
 PLcom/android/server/content/ContentService;->getCache(Ljava/lang/String;Landroid/net/Uri;I)Landroid/os/Bundle;
 PLcom/android/server/content/ContentService;->getIsSyncable(Landroid/accounts/Account;Ljava/lang/String;)I
+PLcom/android/server/content/ContentService;->getIsSyncableAsUser(Landroid/accounts/Account;Ljava/lang/String;I)I
 PLcom/android/server/content/ContentService;->getMasterSyncAutomatically()Z
+PLcom/android/server/content/ContentService;->getMasterSyncAutomaticallyAsUser(I)Z
 PLcom/android/server/content/ContentService;->getPeriodicSyncs(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Ljava/util/List;
-PLcom/android/server/content/ContentService;->getProviderPackageName(Landroid/net/Uri;)Ljava/lang/String;
 PLcom/android/server/content/ContentService;->getSyncAdapterTypes()[Landroid/content/SyncAdapterType;
+PLcom/android/server/content/ContentService;->getSyncAdapterTypesAsUser(I)[Landroid/content/SyncAdapterType;
 PLcom/android/server/content/ContentService;->getSyncAutomatically(Landroid/accounts/Account;Ljava/lang/String;)Z
-PLcom/android/server/content/ContentService;->getSyncExemptionAndCleanUpExtrasForCaller(ILandroid/os/Bundle;)I
-PLcom/android/server/content/ContentService;->getSyncExemptionForCaller(I)I
-PLcom/android/server/content/ContentService;->invalidateCacheLocked(ILjava/lang/String;Landroid/net/Uri;)V
-PLcom/android/server/content/ContentService;->normalizeSyncable(I)I
-PLcom/android/server/content/ContentService;->onBootPhase(I)V
-PLcom/android/server/content/ContentService;->onStartUser(I)V
-PLcom/android/server/content/ContentService;->onUnlockUser(I)V
+PLcom/android/server/content/ContentService;->getSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;I)Z
+PLcom/android/server/content/ContentService;->isSyncActive(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;)Z
+PLcom/android/server/content/ContentService;->isSyncPendingAsUser(Landroid/accounts/Account;Ljava/lang/String;Landroid/content/ComponentName;I)Z
+PLcom/android/server/content/ContentService;->onDbCorruption(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/content/ContentService;->putCache(Ljava/lang/String;Landroid/net/Uri;Landroid/os/Bundle;I)V
 PLcom/android/server/content/ContentService;->removePeriodicSync(Landroid/accounts/Account;Ljava/lang/String;Landroid/os/Bundle;)V
 PLcom/android/server/content/ContentService;->removeStatusChangeListener(Landroid/content/ISyncStatusObserver;)V
 PLcom/android/server/content/ContentService;->setIsSyncable(Landroid/accounts/Account;Ljava/lang/String;I)V
+PLcom/android/server/content/ContentService;->setIsSyncableAsUser(Landroid/accounts/Account;Ljava/lang/String;II)V
 PLcom/android/server/content/ContentService;->setSyncAutomaticallyAsUser(Landroid/accounts/Account;Ljava/lang/String;ZI)V
-PLcom/android/server/content/ContentService;->syncAsUser(Landroid/content/SyncRequest;I)V
+PLcom/android/server/content/ContentService;->syncAsUser(Landroid/content/SyncRequest;ILjava/lang/String;)V
 PLcom/android/server/content/ContentService;->validateExtras(ILandroid/os/Bundle;)V
 PLcom/android/server/content/SyncJobService;-><init>()V
-PLcom/android/server/content/SyncJobService;->callJobFinished(IZLjava/lang/String;)V
+PLcom/android/server/content/SyncJobService;->callJobFinishedInner(IZLjava/lang/String;)V
+PLcom/android/server/content/SyncJobService;->getInstance()Lcom/android/server/content/SyncJobService;
+PLcom/android/server/content/SyncJobService;->isReady()Z
 PLcom/android/server/content/SyncJobService;->jobParametersToString(Landroid/app/job/JobParameters;)Ljava/lang/String;
 PLcom/android/server/content/SyncJobService;->markSyncStarted(I)V
-PLcom/android/server/content/SyncJobService;->onStartCommand(Landroid/content/Intent;II)I
-PLcom/android/server/content/SyncJobService;->sendMessage(Landroid/os/Message;)V
-PLcom/android/server/content/SyncJobService;->wtf(Ljava/lang/String;)V
-PLcom/android/server/content/SyncLogger$RotatingFileLogger;-><init>()V
-PLcom/android/server/content/SyncLogger$RotatingFileLogger;->closeCurrentLogLocked()V
-PLcom/android/server/content/SyncLogger$RotatingFileLogger;->enabled()Z
+PLcom/android/server/content/SyncJobService;->onStartJob(Landroid/app/job/JobParameters;)Z
+PLcom/android/server/content/SyncJobService;->onStopJob(Landroid/app/job/JobParameters;)Z
+PLcom/android/server/content/SyncJobService;->updateInstance()V
 PLcom/android/server/content/SyncLogger$RotatingFileLogger;->jobParametersToString(Landroid/app/job/JobParameters;)Ljava/lang/String;
-PLcom/android/server/content/SyncLogger$RotatingFileLogger;->openLogLocked(J)V
 PLcom/android/server/content/SyncLogger$RotatingFileLogger;->purgeOldLogs()V
-PLcom/android/server/content/SyncLogger;-><init>()V
-PLcom/android/server/content/SyncLogger;->getInstance()Lcom/android/server/content/SyncLogger;
-PLcom/android/server/content/SyncManager$10;-><init>(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/SyncManager$10;->onPeriodicSyncAdded(Lcom/android/server/content/SyncStorageEngine$EndPoint;Landroid/os/Bundle;JJ)V
-PLcom/android/server/content/SyncManager$11;-><init>(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/SyncManager$12;-><init>(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/SyncManager$12;->onServiceChanged(Landroid/content/SyncAdapterType;IZ)V
-PLcom/android/server/content/SyncManager$12;->onServiceChanged(Ljava/lang/Object;IZ)V
-PLcom/android/server/content/SyncManager$14;-><init>(Lcom/android/server/content/SyncManager;Landroid/content/Intent;)V
-PLcom/android/server/content/SyncManager$14;->run()V
-PLcom/android/server/content/SyncManager$1;-><init>(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/SyncManager$2;-><init>(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncLogger;->logSafe(Lcom/android/server/content/SyncOperation;)Ljava/lang/String;
+PLcom/android/server/content/SyncManager$10;->onAuthorityRemoved(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
+PLcom/android/server/content/SyncManager$11;->onServiceChanged(Landroid/content/SyncAdapterType;IZ)V
+PLcom/android/server/content/SyncManager$11;->onServiceChanged(Ljava/lang/Object;IZ)V
 PLcom/android/server/content/SyncManager$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/content/SyncManager$3;-><init>(Lcom/android/server/content/SyncManager;)V
 PLcom/android/server/content/SyncManager$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/content/SyncManager$4;-><init>(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/SyncManager$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/content/SyncManager$5;-><init>(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/SyncManager$6;-><init>(Lcom/android/server/content/SyncManager;)V
 PLcom/android/server/content/SyncManager$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/content/SyncManager$7;-><init>(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/SyncManager$7;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/content/SyncManager$8;-><init>(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/SyncManager$8;->run()V
-PLcom/android/server/content/SyncManager$9;-><init>(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/SyncManager$9;->onSyncRequest(Lcom/android/server/content/SyncStorageEngine$EndPoint;ILandroid/os/Bundle;I)V
+PLcom/android/server/content/SyncManager$7;->run()V
+PLcom/android/server/content/SyncManager$8;->onSyncRequest(Lcom/android/server/content/SyncStorageEngine$EndPoint;ILandroid/os/Bundle;III)V
+PLcom/android/server/content/SyncManager$9;->onPeriodicSyncAdded(Lcom/android/server/content/SyncStorageEngine$EndPoint;Landroid/os/Bundle;JJ)V
 PLcom/android/server/content/SyncManager$ActiveSyncContext;-><init>(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncOperation;JI)V
 PLcom/android/server/content/SyncManager$ActiveSyncContext;->bindToSyncAdapter(Landroid/content/ComponentName;I)Z
 PLcom/android/server/content/SyncManager$ActiveSyncContext;->close()V
 PLcom/android/server/content/SyncManager$ActiveSyncContext;->onFinished(Landroid/content/SyncResult;)V
 PLcom/android/server/content/SyncManager$ActiveSyncContext;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/content/SyncManager$ActiveSyncContext;->onServiceDisconnected(Landroid/content/ComponentName;)V
+PLcom/android/server/content/SyncManager$ActiveSyncContext;->toSafeString()Ljava/lang/String;
 PLcom/android/server/content/SyncManager$ActiveSyncContext;->toString()Ljava/lang/String;
-PLcom/android/server/content/SyncManager$ActiveSyncContext;->toString(Ljava/lang/StringBuilder;)V
-PLcom/android/server/content/SyncManager$OnUnsyncableAccountCheck$1;-><init>(Lcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;)V
+PLcom/android/server/content/SyncManager$ActiveSyncContext;->toString(Ljava/lang/StringBuilder;Z)V
 PLcom/android/server/content/SyncManager$OnUnsyncableAccountCheck$1;->onUnsyncableAccountDone(Z)V
-PLcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;-><init>(Landroid/content/pm/RegisteredServicesCache$ServiceInfo;Lcom/android/server/content/SyncManager$OnReadyCallback;)V
-PLcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;->access$2600(Lcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;)V
 PLcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;->onReady()V
 PLcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/content/SyncManager$ScheduleSyncMessagePayload;-><init>(Lcom/android/server/content/SyncOperation;J)V
-PLcom/android/server/content/SyncManager$ServiceConnectionData;-><init>(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager$ActiveSyncContext;Landroid/os/IBinder;)V
-PLcom/android/server/content/SyncManager$SyncFinishedOrCancelledMessagePayload;-><init>(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager$ActiveSyncContext;Landroid/content/SyncResult;)V
-PLcom/android/server/content/SyncManager$SyncHandler;-><init>(Lcom/android/server/content/SyncManager;Landroid/os/Looper;)V
-PLcom/android/server/content/SyncManager$SyncHandler;->access$2100(Lcom/android/server/content/SyncManager$SyncHandler;Lcom/android/server/content/SyncOperation;)Landroid/os/PowerManager$WakeLock;
 PLcom/android/server/content/SyncManager$SyncHandler;->cancelActiveSyncH(Lcom/android/server/content/SyncStorageEngine$EndPoint;Landroid/os/Bundle;Ljava/lang/String;)V
-PLcom/android/server/content/SyncManager$SyncHandler;->checkIfDeviceReady()V
 PLcom/android/server/content/SyncManager$SyncHandler;->closeActiveSyncContext(Lcom/android/server/content/SyncManager$ActiveSyncContext;)V
 PLcom/android/server/content/SyncManager$SyncHandler;->computeSyncOpState(Lcom/android/server/content/SyncOperation;)I
-PLcom/android/server/content/SyncManager$SyncHandler;->deferActiveSyncH(Lcom/android/server/content/SyncManager$ActiveSyncContext;Ljava/lang/String;)V
-PLcom/android/server/content/SyncManager$SyncHandler;->deferStoppedSyncH(Lcom/android/server/content/SyncOperation;J)V
 PLcom/android/server/content/SyncManager$SyncHandler;->deferSyncH(Lcom/android/server/content/SyncOperation;JLjava/lang/String;)V
-PLcom/android/server/content/SyncManager$SyncHandler;->findActiveSyncContextH(I)Lcom/android/server/content/SyncManager$ActiveSyncContext;
+PLcom/android/server/content/SyncManager$SyncHandler;->dispatchSyncOperation(Lcom/android/server/content/SyncOperation;)Z
 PLcom/android/server/content/SyncManager$SyncHandler;->getSyncWakeLock(Lcom/android/server/content/SyncOperation;)Landroid/os/PowerManager$WakeLock;
 PLcom/android/server/content/SyncManager$SyncHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/content/SyncManager$SyncHandler;->handleSyncMessage(Landroid/os/Message;)V
+PLcom/android/server/content/SyncManager$SyncHandler;->insertStartSyncEvent(Lcom/android/server/content/SyncOperation;)J
 PLcom/android/server/content/SyncManager$SyncHandler;->isSyncNotUsingNetworkH(Lcom/android/server/content/SyncManager$ActiveSyncContext;)Z
 PLcom/android/server/content/SyncManager$SyncHandler;->maybeUpdateSyncPeriodH(Lcom/android/server/content/SyncOperation;JJ)V
-PLcom/android/server/content/SyncManager$SyncHandler;->onBootCompleted()V
 PLcom/android/server/content/SyncManager$SyncHandler;->removePeriodicSyncH(Lcom/android/server/content/SyncStorageEngine$EndPoint;Landroid/os/Bundle;Ljava/lang/String;)V
 PLcom/android/server/content/SyncManager$SyncHandler;->removePeriodicSyncInternalH(Lcom/android/server/content/SyncOperation;Ljava/lang/String;)V
 PLcom/android/server/content/SyncManager$SyncHandler;->reschedulePeriodicSyncH(Lcom/android/server/content/SyncOperation;)V
 PLcom/android/server/content/SyncManager$SyncHandler;->runBoundToAdapterH(Lcom/android/server/content/SyncManager$ActiveSyncContext;Landroid/os/IBinder;)V
+PLcom/android/server/content/SyncManager$SyncHandler;->runSyncFinishedOrCanceledH(Landroid/content/SyncResult;Lcom/android/server/content/SyncManager$ActiveSyncContext;)V
+PLcom/android/server/content/SyncManager$SyncHandler;->startSyncH(Lcom/android/server/content/SyncOperation;)V
 PLcom/android/server/content/SyncManager$SyncHandler;->stopSyncEvent(JLcom/android/server/content/SyncOperation;Ljava/lang/String;IIJ)V
 PLcom/android/server/content/SyncManager$SyncHandler;->syncResultToErrorNumber(Landroid/content/SyncResult;)I
-PLcom/android/server/content/SyncManager$SyncHandler;->tryEnqueueMessageUntilReadyToRun(Landroid/os/Message;)Z
+PLcom/android/server/content/SyncManager$SyncHandler;->updateOrAddPeriodicSyncH(Lcom/android/server/content/SyncStorageEngine$EndPoint;JJLandroid/os/Bundle;)V
 PLcom/android/server/content/SyncManager$SyncHandler;->updateRunningAccountsH(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
-PLcom/android/server/content/SyncManager$SyncTimeTracker;-><init>(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/SyncManager$SyncTimeTracker;-><init>(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager$1;)V
 PLcom/android/server/content/SyncManager$SyncTimeTracker;->update()V
-PLcom/android/server/content/SyncManager$UpdatePeriodicSyncMessagePayload;-><init>(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncStorageEngine$EndPoint;JJLandroid/os/Bundle;)V
-PLcom/android/server/content/SyncManager;-><init>(Landroid/content/Context;Z)V
-PLcom/android/server/content/SyncManager;->access$000(Lcom/android/server/content/SyncManager;)Z
-PLcom/android/server/content/SyncManager;->access$1000(Lcom/android/server/content/SyncManager;)Lcom/android/server/content/SyncLogger;
-PLcom/android/server/content/SyncManager;->access$1100(Lcom/android/server/content/SyncManager;)Lcom/android/server/content/SyncStorageEngine;
-PLcom/android/server/content/SyncManager;->access$1300(Lcom/android/server/content/SyncManager;I)V
-PLcom/android/server/content/SyncManager;->access$1500(Lcom/android/server/content/SyncManager;)Ljava/util/List;
-PLcom/android/server/content/SyncManager;->access$1600(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncOperation;Ljava/lang/String;)V
-PLcom/android/server/content/SyncManager;->access$1800(Lcom/android/server/content/SyncManager;)Z
-PLcom/android/server/content/SyncManager;->access$200(Lcom/android/server/content/SyncManager;)Z
-PLcom/android/server/content/SyncManager;->access$2000(Lcom/android/server/content/SyncManager;)Landroid/content/Context;
-PLcom/android/server/content/SyncManager;->access$202(Lcom/android/server/content/SyncManager;Z)Z
-PLcom/android/server/content/SyncManager;->access$2200(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager$ActiveSyncContext;Landroid/content/SyncResult;)V
-PLcom/android/server/content/SyncManager;->access$2300(Lcom/android/server/content/SyncManager;)Lcom/android/internal/app/IBatteryStats;
-PLcom/android/server/content/SyncManager;->access$2800(Lcom/android/server/content/SyncManager;)Z
-PLcom/android/server/content/SyncManager;->access$2802(Lcom/android/server/content/SyncManager;Z)Z
-PLcom/android/server/content/SyncManager;->access$300(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/SyncManager;->access$3000(Lcom/android/server/content/SyncManager;)Lcom/android/server/content/SyncJobService;
-PLcom/android/server/content/SyncManager;->access$3002(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncJobService;)Lcom/android/server/content/SyncJobService;
-PLcom/android/server/content/SyncManager;->access$3100(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncOperation;J)V
-PLcom/android/server/content/SyncManager;->access$3200(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
-PLcom/android/server/content/SyncManager;->access$3300(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager$ActiveSyncContext;)Z
-PLcom/android/server/content/SyncManager;->access$3400(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncManager$ActiveSyncContext;)V
-PLcom/android/server/content/SyncManager;->access$3500(Lcom/android/server/content/SyncManager;)Landroid/os/PowerManager;
-PLcom/android/server/content/SyncManager;->access$3600(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncStorageEngine$EndPoint;)Z
-PLcom/android/server/content/SyncManager;->access$3700(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
-PLcom/android/server/content/SyncManager;->access$3800(Lcom/android/server/content/SyncManager;)[Landroid/accounts/AccountAndUser;
-PLcom/android/server/content/SyncManager;->access$3802(Lcom/android/server/content/SyncManager;[Landroid/accounts/AccountAndUser;)[Landroid/accounts/AccountAndUser;
-PLcom/android/server/content/SyncManager;->access$3900(Lcom/android/server/content/SyncManager;)V
-PLcom/android/server/content/SyncManager;->access$400(Lcom/android/server/content/SyncManager;)Lcom/android/server/content/SyncManager$SyncHandler;
-PLcom/android/server/content/SyncManager;->access$4000(Lcom/android/server/content/SyncManager;[Landroid/accounts/AccountAndUser;Landroid/accounts/Account;I)Z
-PLcom/android/server/content/SyncManager;->access$4100(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncOperation;)V
-PLcom/android/server/content/SyncManager;->access$4400(Lcom/android/server/content/SyncManager;I)J
-PLcom/android/server/content/SyncManager;->access$4500(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)V
-PLcom/android/server/content/SyncManager;->access$4600(Lcom/android/server/content/SyncManager;)Lcom/android/server/content/SyncManagerConstants;
-PLcom/android/server/content/SyncManager;->access$4700(Lcom/android/server/content/SyncManager;Landroid/content/SyncResult;Lcom/android/server/content/SyncOperation;)V
-PLcom/android/server/content/SyncManager;->access$4900(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncStorageEngine$EndPoint;J)V
-PLcom/android/server/content/SyncManager;->access$500(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
-PLcom/android/server/content/SyncManager;->access$5000(Lcom/android/server/content/SyncManager;)Landroid/app/NotificationManager;
-PLcom/android/server/content/SyncManager;->access$600(Lcom/android/server/content/SyncManager;)Z
-PLcom/android/server/content/SyncManager;->access$602(Lcom/android/server/content/SyncManager;Z)Z
-PLcom/android/server/content/SyncManager;->access$700(Lcom/android/server/content/SyncManager;)Z
-PLcom/android/server/content/SyncManager;->access$800(Lcom/android/server/content/SyncManager;Ljava/lang/String;)V
+PLcom/android/server/content/SyncManager;->access$1200(Lcom/android/server/content/SyncManager;)Ljava/util/List;
+PLcom/android/server/content/SyncManager;->access$1300(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncOperation;Ljava/lang/String;)V
+PLcom/android/server/content/SyncManager;->access$2800(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
+PLcom/android/server/content/SyncManager;->access$3700(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncOperation;)V
+PLcom/android/server/content/SyncManager;->access$3800(Lcom/android/server/content/SyncManager;)V
+PLcom/android/server/content/SyncManager;->access$4200(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)V
+PLcom/android/server/content/SyncManager;->access$4300(Lcom/android/server/content/SyncManager;)Lcom/android/server/content/SyncManagerConstants;
+PLcom/android/server/content/SyncManager;->access$4400(Lcom/android/server/content/SyncManager;Landroid/content/SyncResult;Lcom/android/server/content/SyncOperation;)V
+PLcom/android/server/content/SyncManager;->access$4500(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncOperation;J)V
+PLcom/android/server/content/SyncManager;->access$4600(Lcom/android/server/content/SyncManager;Lcom/android/server/content/SyncStorageEngine$EndPoint;J)V
+PLcom/android/server/content/SyncManager;->access$4700(Lcom/android/server/content/SyncManager;)Landroid/app/NotificationManager;
+PLcom/android/server/content/SyncManager;->access$700(Lcom/android/server/content/SyncManager;)Lcom/android/server/content/SyncLogger;
+PLcom/android/server/content/SyncManager;->access$800(Lcom/android/server/content/SyncManager;)Lcom/android/server/content/SyncStorageEngine;
 PLcom/android/server/content/SyncManager;->canAccessAccount(Landroid/accounts/Account;Ljava/lang/String;I)Z
 PLcom/android/server/content/SyncManager;->cancelActiveSync(Lcom/android/server/content/SyncStorageEngine$EndPoint;Landroid/os/Bundle;Ljava/lang/String;)V
 PLcom/android/server/content/SyncManager;->cancelJob(Lcom/android/server/content/SyncOperation;Ljava/lang/String;)V
-PLcom/android/server/content/SyncManager;->cleanupJobs()V
-PLcom/android/server/content/SyncManager;->clearAllBackoffs(Ljava/lang/String;)V
 PLcom/android/server/content/SyncManager;->clearBackoffSetting(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)V
 PLcom/android/server/content/SyncManager;->clearScheduledSyncOperations(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
 PLcom/android/server/content/SyncManager;->computeSyncable(Landroid/accounts/Account;ILjava/lang/String;Z)I
-PLcom/android/server/content/SyncManager;->containsAccountAndUser([Landroid/accounts/AccountAndUser;Landroid/accounts/Account;I)Z
-PLcom/android/server/content/SyncManager;->doDatabaseCleanup()V
 PLcom/android/server/content/SyncManager;->formatDurationHMS(Ljava/lang/StringBuilder;J)Ljava/lang/StringBuilder;
 PLcom/android/server/content/SyncManager;->getAdapterBindIntent(Landroid/content/Context;Landroid/content/ComponentName;I)Landroid/content/Intent;
+PLcom/android/server/content/SyncManager;->getAllPendingSyncs()Ljava/util/List;
 PLcom/android/server/content/SyncManager;->getConnectivityManager()Landroid/net/ConnectivityManager;
+PLcom/android/server/content/SyncManager;->getInstance()Lcom/android/server/content/SyncManager;
 PLcom/android/server/content/SyncManager;->getIsSyncable(Landroid/accounts/Account;ILjava/lang/String;)I
-PLcom/android/server/content/SyncManager;->getJobScheduler()Landroid/app/job/JobScheduler;
 PLcom/android/server/content/SyncManager;->getJobStats()Ljava/lang/String;
 PLcom/android/server/content/SyncManager;->getPeriodicSyncs(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Ljava/util/List;
-PLcom/android/server/content/SyncManager;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
-PLcom/android/server/content/SyncManager;->getTotalBytesTransferredByUid(I)J
-PLcom/android/server/content/SyncManager;->getUnusedJobIdH()I
+PLcom/android/server/content/SyncManager;->getSyncAdapterTypes(I)[Landroid/content/SyncAdapterType;
+PLcom/android/server/content/SyncManager;->getSyncStorageEngine()Lcom/android/server/content/SyncStorageEngine;
 PLcom/android/server/content/SyncManager;->increaseBackoffSetting(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
 PLcom/android/server/content/SyncManager;->isAdapterDelayed(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Z
-PLcom/android/server/content/SyncManager;->isDeviceProvisioned()Z
-PLcom/android/server/content/SyncManager;->isSyncStillActiveH(Lcom/android/server/content/SyncManager$ActiveSyncContext;)Z
+PLcom/android/server/content/SyncManager;->isJobIdInUseLockedH(ILjava/util/List;)Z
+PLcom/android/server/content/SyncManager;->isUserUnlocked(I)Z
 PLcom/android/server/content/SyncManager;->jitterize(JJ)J
-PLcom/android/server/content/SyncManager;->lambda$new$0(Lcom/android/server/content/SyncManager;Landroid/accounts/Account;I)V
-PLcom/android/server/content/SyncManager;->lambda$onStartUser$1(Lcom/android/server/content/SyncManager;I)V
-PLcom/android/server/content/SyncManager;->lambda$onUnlockUser$2(Lcom/android/server/content/SyncManager;I)V
-PLcom/android/server/content/SyncManager;->lambda$scheduleSync$5(Lcom/android/server/content/SyncManager;Landroid/accounts/AccountAndUser;ILjava/lang/String;Landroid/os/Bundle;IJI)V
-PLcom/android/server/content/SyncManager;->lambda$sendOnUnsyncableAccount$12(Landroid/content/Context;Lcom/android/server/content/SyncManager$OnUnsyncableAccountCheck;)V
+PLcom/android/server/content/SyncManager;->lambda$onStopUser$3$SyncManager(I)V
+PLcom/android/server/content/SyncManager;->lambda$onUnlockUser$2$SyncManager(I)V
+PLcom/android/server/content/SyncManager;->lambda$scheduleSync$5$SyncManager(Landroid/accounts/AccountAndUser;ILjava/lang/String;Landroid/os/Bundle;IJIIILjava/lang/String;)V
 PLcom/android/server/content/SyncManager;->maybeRescheduleSync(Landroid/content/SyncResult;Lcom/android/server/content/SyncOperation;)V
-PLcom/android/server/content/SyncManager;->onBootPhase(I)V
-PLcom/android/server/content/SyncManager;->onStartUser(I)V
+PLcom/android/server/content/SyncManager;->onStopUser(I)V
 PLcom/android/server/content/SyncManager;->onUnlockUser(I)V
 PLcom/android/server/content/SyncManager;->onUserUnlocked(I)V
+PLcom/android/server/content/SyncManager;->postMonitorSyncProgressMessage(Lcom/android/server/content/SyncManager$ActiveSyncContext;)V
 PLcom/android/server/content/SyncManager;->postScheduleSyncMessage(Lcom/android/server/content/SyncOperation;J)V
-PLcom/android/server/content/SyncManager;->readDataConnectionState()Z
-PLcom/android/server/content/SyncManager;->readyToSync()Z
 PLcom/android/server/content/SyncManager;->removePeriodicSync(Lcom/android/server/content/SyncStorageEngine$EndPoint;Landroid/os/Bundle;Ljava/lang/String;)V
-PLcom/android/server/content/SyncManager;->scheduleLocalSync(Landroid/accounts/Account;IILjava/lang/String;I)V
-PLcom/android/server/content/SyncManager;->scheduleSync(Landroid/accounts/Account;IILjava/lang/String;Landroid/os/Bundle;II)V
-PLcom/android/server/content/SyncManager;->scheduleSyncOperationH(Lcom/android/server/content/SyncOperation;)V
+PLcom/android/server/content/SyncManager;->removeStaleAccounts()V
+PLcom/android/server/content/SyncManager;->removeSyncsForAuthority(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)V
+PLcom/android/server/content/SyncManager;->rescheduleSyncs(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)V
+PLcom/android/server/content/SyncManager;->scheduleSync(Landroid/accounts/Account;IILjava/lang/String;Landroid/os/Bundle;IIIILjava/lang/String;)V
+PLcom/android/server/content/SyncManager;->scheduleSyncOperationH(Lcom/android/server/content/SyncOperation;J)V
 PLcom/android/server/content/SyncManager;->sendCancelSyncsMessage(Lcom/android/server/content/SyncStorageEngine$EndPoint;Landroid/os/Bundle;Ljava/lang/String;)V
 PLcom/android/server/content/SyncManager;->sendOnUnsyncableAccount(Landroid/content/Context;Landroid/content/pm/RegisteredServicesCache$ServiceInfo;ILcom/android/server/content/SyncManager$OnReadyCallback;)V
 PLcom/android/server/content/SyncManager;->sendSyncFinishedOrCanceledMessage(Lcom/android/server/content/SyncManager$ActiveSyncContext;Landroid/content/SyncResult;)V
+PLcom/android/server/content/SyncManager;->setAuthorityPendingState(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
+PLcom/android/server/content/SyncManager;->setDelayUntilTime(Lcom/android/server/content/SyncStorageEngine$EndPoint;J)V
 PLcom/android/server/content/SyncManager;->syncExtrasEquals(Landroid/os/Bundle;Landroid/os/Bundle;Z)Z
 PLcom/android/server/content/SyncManager;->updateOrAddPeriodicSync(Lcom/android/server/content/SyncStorageEngine$EndPoint;JJLandroid/os/Bundle;)V
-PLcom/android/server/content/SyncManager;->updateRunningAccounts(Lcom/android/server/content/SyncStorageEngine$EndPoint;)V
 PLcom/android/server/content/SyncManager;->verifyJobScheduler()V
-PLcom/android/server/content/SyncManager;->whiteListExistingSyncAdaptersIfNeeded()V
-PLcom/android/server/content/SyncManagerConstants;-><init>(Landroid/content/Context;)V
 PLcom/android/server/content/SyncManagerConstants;->getInitialSyncRetryTimeInSeconds()I
 PLcom/android/server/content/SyncManagerConstants;->getKeyExemptionTempWhitelistDurationInSeconds()I
 PLcom/android/server/content/SyncManagerConstants;->getMaxRetriesWithAppStandbyExemption()I
 PLcom/android/server/content/SyncManagerConstants;->getMaxSyncRetryTimeInSeconds()I
 PLcom/android/server/content/SyncManagerConstants;->getRetryTimeIncreaseFactor()F
-PLcom/android/server/content/SyncManagerConstants;->lambda$start$0(Lcom/android/server/content/SyncManagerConstants;)V
-PLcom/android/server/content/SyncManagerConstants;->refresh()V
-PLcom/android/server/content/SyncManagerConstants;->start()V
 PLcom/android/server/content/SyncOperation;-><init>(Landroid/accounts/Account;IILjava/lang/String;IILjava/lang/String;Landroid/os/Bundle;ZI)V
-PLcom/android/server/content/SyncOperation;-><init>(Lcom/android/server/content/SyncOperation;JJ)V
-PLcom/android/server/content/SyncOperation;-><init>(Lcom/android/server/content/SyncStorageEngine$EndPoint;ILjava/lang/String;IILandroid/os/Bundle;ZI)V
+PLcom/android/server/content/SyncOperation;-><init>(Lcom/android/server/content/SyncStorageEngine$EndPoint;ILjava/lang/String;IILandroid/os/Bundle;ZZIJJI)V
 PLcom/android/server/content/SyncOperation;->createOneTimeSyncOperation()Lcom/android/server/content/SyncOperation;
-PLcom/android/server/content/SyncOperation;->extrasToString(Landroid/os/Bundle;)Ljava/lang/String;
+PLcom/android/server/content/SyncOperation;->dump(Landroid/content/pm/PackageManager;ZLcom/android/server/content/SyncAdapterStateFetcher;Z)Ljava/lang/String;
+PLcom/android/server/content/SyncOperation;->extrasToStringBuilder(Landroid/os/Bundle;Ljava/lang/StringBuilder;)V
 PLcom/android/server/content/SyncOperation;->findPriority()I
 PLcom/android/server/content/SyncOperation;->ignoreBackoff()Z
 PLcom/android/server/content/SyncOperation;->isAppStandbyExempted()Z
@@ -10128,284 +7308,196 @@
 PLcom/android/server/content/SyncOperation;->isInitialization()Z
 PLcom/android/server/content/SyncOperation;->isNotAllowedOnMetered()Z
 PLcom/android/server/content/SyncOperation;->matchesPeriodicOperation(Lcom/android/server/content/SyncOperation;)Z
+PLcom/android/server/content/SyncOperation;->maybeCreateFromJobExtras(Landroid/os/PersistableBundle;)Lcom/android/server/content/SyncOperation;
 PLcom/android/server/content/SyncOperation;->reasonToString(Landroid/content/pm/PackageManager;I)Ljava/lang/String;
 PLcom/android/server/content/SyncOperation;->toEventLog(I)[Ljava/lang/Object;
 PLcom/android/server/content/SyncOperation;->toJobInfoExtras()Landroid/os/PersistableBundle;
+PLcom/android/server/content/SyncOperation;->toKey()Ljava/lang/String;
+PLcom/android/server/content/SyncOperation;->toSafeString()Ljava/lang/String;
 PLcom/android/server/content/SyncOperation;->toString()Ljava/lang/String;
 PLcom/android/server/content/SyncOperation;->wakeLockName()Ljava/lang/String;
-PLcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;-><init>(Landroid/content/Context;)V
-PLcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;->isAccountValid(Landroid/accounts/Account;I)Z
-PLcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;->isAuthorityValid(Ljava/lang/String;I)Z
-PLcom/android/server/content/SyncStorageEngine$AccountInfo;-><init>(Landroid/accounts/AccountAndUser;)V
-PLcom/android/server/content/SyncStorageEngine$AuthorityInfo;-><init>(Lcom/android/server/content/SyncStorageEngine$EndPoint;I)V
-PLcom/android/server/content/SyncStorageEngine$AuthorityInfo;->defaultInitialisation()V
-PLcom/android/server/content/SyncStorageEngine$AuthorityInfo;->toString()Ljava/lang/String;
 PLcom/android/server/content/SyncStorageEngine$DayStats;-><init>(I)V
-PLcom/android/server/content/SyncStorageEngine$EndPoint;->toString()Ljava/lang/String;
-PLcom/android/server/content/SyncStorageEngine$MyHandler;-><init>(Lcom/android/server/content/SyncStorageEngine;Landroid/os/Looper;)V
+PLcom/android/server/content/SyncStorageEngine$EndPoint;->matchesSpec(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Z
+PLcom/android/server/content/SyncStorageEngine$EndPoint;->toSafeString()Ljava/lang/String;
 PLcom/android/server/content/SyncStorageEngine$MyHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/content/SyncStorageEngine$SyncHistoryItem;-><init>()V
-PLcom/android/server/content/SyncStorageEngine;-><init>(Landroid/content/Context;Ljava/io/File;Landroid/os/Looper;)V
-PLcom/android/server/content/SyncStorageEngine;->access$000()Lcom/android/server/content/SyncStorageEngine$PeriodicSyncAddedListener;
-PLcom/android/server/content/SyncStorageEngine;->access$100(Lcom/android/server/content/SyncStorageEngine;)Landroid/util/SparseArray;
-PLcom/android/server/content/SyncStorageEngine;->access$200(Lcom/android/server/content/SyncStorageEngine;)V
-PLcom/android/server/content/SyncStorageEngine;->access$300(Lcom/android/server/content/SyncStorageEngine;)V
 PLcom/android/server/content/SyncStorageEngine;->addActiveSync(Lcom/android/server/content/SyncManager$ActiveSyncContext;)Landroid/content/SyncInfo;
 PLcom/android/server/content/SyncStorageEngine;->addStatusChangeListener(ILandroid/content/ISyncStatusObserver;)V
-PLcom/android/server/content/SyncStorageEngine;->calculateDefaultFlexTime(J)J
 PLcom/android/server/content/SyncStorageEngine;->clearAllBackoffsLocked()V
-PLcom/android/server/content/SyncStorageEngine;->createAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;IZ)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
-PLcom/android/server/content/SyncStorageEngine;->doDatabaseCleanup([Landroid/accounts/Account;I)V
+PLcom/android/server/content/SyncStorageEngine;->getAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;Ljava/lang/String;)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
 PLcom/android/server/content/SyncStorageEngine;->getBackoff(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Landroid/util/Pair;
 PLcom/android/server/content/SyncStorageEngine;->getCurrentDayLocked()I
 PLcom/android/server/content/SyncStorageEngine;->getCurrentSyncs(I)Ljava/util/List;
-PLcom/android/server/content/SyncStorageEngine;->getCurrentSyncsLocked(I)Ljava/util/List;
 PLcom/android/server/content/SyncStorageEngine;->getDelayUntilTime(Lcom/android/server/content/SyncStorageEngine$EndPoint;)J
 PLcom/android/server/content/SyncStorageEngine;->getIsSyncable(Landroid/accounts/Account;ILjava/lang/String;)I
-PLcom/android/server/content/SyncStorageEngine;->getOrCreateAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;IZ)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
+PLcom/android/server/content/SyncStorageEngine;->getMasterSyncAutomatically(I)Z
 PLcom/android/server/content/SyncStorageEngine;->getOrCreateSyncStatusLocked(I)Landroid/content/SyncStatusInfo;
-PLcom/android/server/content/SyncStorageEngine;->getSingleton()Lcom/android/server/content/SyncStorageEngine;
-PLcom/android/server/content/SyncStorageEngine;->init(Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/content/SyncStorageEngine;->getSyncAutomatically(Landroid/accounts/Account;ILjava/lang/String;)Z
+PLcom/android/server/content/SyncStorageEngine;->insertStartSyncEvent(Lcom/android/server/content/SyncOperation;J)J
 PLcom/android/server/content/SyncStorageEngine;->isClockValid()Z
+PLcom/android/server/content/SyncStorageEngine;->isSyncActive(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Z
+PLcom/android/server/content/SyncStorageEngine;->isSyncPending(Lcom/android/server/content/SyncStorageEngine$EndPoint;)Z
 PLcom/android/server/content/SyncStorageEngine;->markPending(Lcom/android/server/content/SyncStorageEngine$EndPoint;Z)V
-PLcom/android/server/content/SyncStorageEngine;->maybeDeleteLegacyPendingInfoLocked(Ljava/io/File;)V
-PLcom/android/server/content/SyncStorageEngine;->maybeMigrateSettingsForRenamedAuthorities()Z
-PLcom/android/server/content/SyncStorageEngine;->parseAuthority(Lorg/xmlpull/v1/XmlPullParser;ILcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
-PLcom/android/server/content/SyncStorageEngine;->parseListenForTickles(Lorg/xmlpull/v1/XmlPullParser;)V
 PLcom/android/server/content/SyncStorageEngine;->queueBackup()V
-PLcom/android/server/content/SyncStorageEngine;->readAccountInfoLocked()V
-PLcom/android/server/content/SyncStorageEngine;->readAndDeleteLegacyAccountInfoLocked()V
-PLcom/android/server/content/SyncStorageEngine;->readStatisticsLocked()V
-PLcom/android/server/content/SyncStorageEngine;->readStatusLocked()V
 PLcom/android/server/content/SyncStorageEngine;->removeActiveSync(Landroid/content/SyncInfo;I)V
+PLcom/android/server/content/SyncStorageEngine;->removeStaleAccounts([Landroid/accounts/Account;I)V
 PLcom/android/server/content/SyncStorageEngine;->removeStatusChangeListener(Landroid/content/ISyncStatusObserver;)V
 PLcom/android/server/content/SyncStorageEngine;->reportActiveChange()V
-PLcom/android/server/content/SyncStorageEngine;->requestSync(Landroid/accounts/Account;IILjava/lang/String;Landroid/os/Bundle;I)V
-PLcom/android/server/content/SyncStorageEngine;->requestSync(Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;ILandroid/os/Bundle;I)V
-PLcom/android/server/content/SyncStorageEngine;->restoreAllPeriodicSyncs()Z
+PLcom/android/server/content/SyncStorageEngine;->reportChange(I)V
+PLcom/android/server/content/SyncStorageEngine;->requestSync(Landroid/accounts/Account;IILjava/lang/String;Landroid/os/Bundle;III)V
+PLcom/android/server/content/SyncStorageEngine;->requestSync(Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;ILandroid/os/Bundle;III)V
 PLcom/android/server/content/SyncStorageEngine;->setBackoff(Lcom/android/server/content/SyncStorageEngine$EndPoint;JJ)V
-PLcom/android/server/content/SyncStorageEngine;->setClockValid()V
 PLcom/android/server/content/SyncStorageEngine;->setDelayUntilTime(Lcom/android/server/content/SyncStorageEngine$EndPoint;J)V
-PLcom/android/server/content/SyncStorageEngine;->setIsSyncable(Landroid/accounts/Account;ILjava/lang/String;II)V
-PLcom/android/server/content/SyncStorageEngine;->setOnAuthorityRemovedListener(Lcom/android/server/content/SyncStorageEngine$OnAuthorityRemovedListener;)V
-PLcom/android/server/content/SyncStorageEngine;->setOnSyncRequestListener(Lcom/android/server/content/SyncStorageEngine$OnSyncRequestListener;)V
-PLcom/android/server/content/SyncStorageEngine;->setPeriodicSyncAddedListener(Lcom/android/server/content/SyncStorageEngine$PeriodicSyncAddedListener;)V
-PLcom/android/server/content/SyncStorageEngine;->setSyncAutomatically(Landroid/accounts/Account;ILjava/lang/String;ZII)V
-PLcom/android/server/content/SyncStorageEngine;->setSyncableStateForEndPoint(Lcom/android/server/content/SyncStorageEngine$EndPoint;II)V
-PLcom/android/server/content/SyncStorageEngine;->shouldGrantSyncAdaptersAccountAccess()Z
+PLcom/android/server/content/SyncStorageEngine;->setIsSyncable(Landroid/accounts/Account;ILjava/lang/String;III)V
+PLcom/android/server/content/SyncStorageEngine;->setSyncAutomatically(Landroid/accounts/Account;ILjava/lang/String;ZIII)V
+PLcom/android/server/content/SyncStorageEngine;->setSyncableStateForEndPoint(Lcom/android/server/content/SyncStorageEngine$EndPoint;III)V
+PLcom/android/server/content/SyncStorageEngine;->stopSyncEvent(JJLjava/lang/String;JJ)V
 PLcom/android/server/content/SyncStorageEngine;->writeAccountInfoLocked()V
 PLcom/android/server/content/SyncStorageEngine;->writeStatisticsLocked()V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$_Nw-YGl5ncBg-LJs8W81WNW6xoU;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
-PLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$_Nw-YGl5ncBg-LJs8W81WNW6xoU;->run()V
-PLcom/android/server/devicepolicy/BaseIDevicePolicyManager;-><init>()V
-PLcom/android/server/devicepolicy/CertificateMonitor$1;-><init>(Lcom/android/server/devicepolicy/CertificateMonitor;)V
-PLcom/android/server/devicepolicy/CertificateMonitor$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/content/SyncStorageEngine;->writeStatusLocked()V
+PLcom/android/server/contentcapture/-$$Lambda$RemoteContentCaptureService$7ssteYnH5iRJT2R7PgyV-ZHLXCY;->run(Landroid/os/IInterface;)V
+PLcom/android/server/contentcapture/-$$Lambda$RemoteContentCaptureService$KVmM6r6Iw8boRKZ7kOfyPuZfUb0;->run(Landroid/os/IInterface;)V
+PLcom/android/server/contentcapture/-$$Lambda$RemoteContentCaptureService$O44WLb7J8oROD70V7UUgHX2c8Qw;->run(Landroid/os/IInterface;)V
+PLcom/android/server/contentcapture/ContentCaptureManagerService$ContentCaptureManagerServiceStub;->finishSession(Ljava/lang/String;)V
+PLcom/android/server/contentcapture/ContentCaptureManagerService$ContentCaptureManagerServiceStub;->startSession(Landroid/os/IBinder;Landroid/content/ComponentName;Ljava/lang/String;ILcom/android/internal/os/IResultReceiver;)V
+PLcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;->isContentCaptureServiceForUser(II)Z
+PLcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;->sendActivityAssistData(ILandroid/os/IBinder;Landroid/os/Bundle;)Z
+PLcom/android/server/contentcapture/ContentCaptureManagerService;->getAmInternal()Landroid/app/ActivityManagerInternal;
+PLcom/android/server/contentcapture/ContentCapturePerUserService$ContentCaptureServiceRemoteCallback;->setContentCaptureWhitelist(Ljava/util/List;Ljava/util/List;)V
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->finishSessionLocked(Ljava/lang/String;)V
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->getOptionsForPackageLocked(Ljava/lang/String;)Landroid/content/ContentCaptureOptions;
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->getSessionId(Landroid/os/IBinder;)Ljava/lang/String;
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->newServiceInfoLocked(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->onServiceDied(Lcom/android/server/contentcapture/RemoteContentCaptureService;)V
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->onServiceDied(Ljava/lang/Object;)V
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->sendActivityAssistDataLocked(Landroid/os/IBinder;Landroid/os/Bundle;)Z
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->startSessionLocked(Landroid/os/IBinder;Landroid/content/pm/ActivityPresentationInfo;Ljava/lang/String;IILcom/android/internal/os/IResultReceiver;)V
+PLcom/android/server/contentcapture/ContentCapturePerUserService;->whitelistPackages(Ljava/util/List;)V
+PLcom/android/server/contentcapture/ContentCaptureServerSession;-><init>(Landroid/os/IBinder;Lcom/android/server/contentcapture/ContentCapturePerUserService;Lcom/android/server/contentcapture/RemoteContentCaptureService;Landroid/content/ComponentName;IILjava/lang/String;II)V
+PLcom/android/server/contentcapture/ContentCaptureServerSession;->destroyLocked(Z)V
+PLcom/android/server/contentcapture/ContentCaptureServerSession;->removeSelfLocked(Z)V
+PLcom/android/server/contentcapture/ContentCaptureServerSession;->sendActivitySnapshotLocked(Landroid/service/contentcapture/SnapshotData;)V
+PLcom/android/server/contentcapture/RemoteContentCaptureService;->getRemoteRequestMillis()J
+PLcom/android/server/contentcapture/RemoteContentCaptureService;->getServiceInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
+PLcom/android/server/contentcapture/RemoteContentCaptureService;->getTimeoutIdleBindMillis()J
+PLcom/android/server/contentcapture/RemoteContentCaptureService;->handleOnConnectedStateChanged(Z)V
+PLcom/android/server/contentcapture/RemoteContentCaptureService;->onSessionStarted(Landroid/view/contentcapture/ContentCaptureContext;Ljava/lang/String;ILcom/android/internal/os/IResultReceiver;)V
+PLcom/android/server/contentsuggestions/ContentSuggestionsPerUserService;->newServiceInfoLocked(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
 PLcom/android/server/devicepolicy/CertificateMonitor;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/devicepolicy/CertificateMonitor;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Landroid/os/Handler;)V
-PLcom/android/server/devicepolicy/CertificateMonitor;->access$000(Lcom/android/server/devicepolicy/CertificateMonitor;Landroid/os/UserHandle;)V
 PLcom/android/server/devicepolicy/CertificateMonitor;->getInstalledCaCertificates(Landroid/os/UserHandle;)Ljava/util/List;
-PLcom/android/server/devicepolicy/CertificateMonitor;->updateInstalledCertificates(Landroid/os/UserHandle;)V
-PLcom/android/server/devicepolicy/DeviceAdminServiceController;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyConstants;)V
-PLcom/android/server/devicepolicy/DevicePolicyCacheImpl;-><init>()V
-PLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->getScreenCaptureDisabled(I)Z
-PLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->setScreenCaptureDisabled(IZ)V
-PLcom/android/server/devicepolicy/DevicePolicyConstants;-><init>(Ljava/lang/String;)V
-PLcom/android/server/devicepolicy/DevicePolicyConstants;->loadFromString(Ljava/lang/String;)Lcom/android/server/devicepolicy/DevicePolicyConstants;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$1;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$2;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$3;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$4$1;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService$4;I)V
+PLcom/android/server/devicepolicy/DeviceAdminServiceController$DevicePolicyServiceConnection;-><init>(Lcom/android/server/devicepolicy/DeviceAdminServiceController;ILandroid/content/ComponentName;)V
+PLcom/android/server/devicepolicy/DeviceAdminServiceController$DevicePolicyServiceConnection;->asInterface(Landroid/os/IBinder;)Landroid/app/admin/IDeviceAdminService;
+PLcom/android/server/devicepolicy/DeviceAdminServiceController$DevicePolicyServiceConnection;->asInterface(Landroid/os/IBinder;)Ljava/lang/Object;
+PLcom/android/server/devicepolicy/DeviceAdminServiceController$DevicePolicyServiceConnection;->getBindFlags()I
+PLcom/android/server/devicepolicy/DeviceAdminServiceController;->disconnectServiceOnUserLocked(ILjava/lang/String;)V
+PLcom/android/server/devicepolicy/DeviceAdminServiceController;->startServiceForOwner(Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/devicepolicy/DeviceAdminServiceController;->stopServiceForOwner(ILjava/lang/String;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$4$1;->run()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$4;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$4;->sendDeviceOwnerUserCommand(Ljava/lang/String;I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$8;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$8;->run()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;-><init>(Landroid/app/admin/DeviceAdminInfo;Z)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getUserHandle()Landroid/os/UserHandle;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->hasUserRestrictions()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->writeAttributeValuesToXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Ljava/util/Collection;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->writePackageListToXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Ljava/util/List;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;-><init>(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;-><init>(Landroid/content/Context;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getAlarmManager()Landroid/app/AlarmManager;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getDevicePolicyFilePathForSystemUser()Ljava/lang/String;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIActivityManager()Landroid/app/IActivityManager;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIPackageManager()Landroid/content/pm/IPackageManager;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIWindowManager()Landroid/view/IWindowManager;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getMyLooper()Landroid/os/Looper;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getNetworkPolicyManagerInternal()Lcom/android/server/net/NetworkPolicyManagerInternal;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getNotificationManager()Landroid/app/NotificationManager;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManager()Landroid/content/pm/PackageManager;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPowerManagerInternal()Landroid/os/PowerManagerInternal;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getTelephonyManager()Landroid/telephony/TelephonyManager;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getUsageStatsManagerInternal()Landroid/app/usage/UsageStatsManagerInternal;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getUserManager()Landroid/os/UserManager;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getUserManagerInternal()Landroid/os/UserManagerInternal;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->hasFeature()Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->isBuildDebuggable()Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->keyChainBindAsUser(Landroid/os/UserHandle;)Landroid/security/KeyChain$KeyChainConnection;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->newLockPatternUtils()Lcom/android/internal/widget/LockPatternUtils;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->newOwners()Lcom/android/server/devicepolicy/Owners;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->newTransferOwnershipMetadataManager()Lcom/android/server/devicepolicy/TransferOwnershipMetadataManager;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->postOnSystemServerInitThreadPool(Ljava/lang/Runnable;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->securityLogIsLoggingEnabled()Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsGlobalGetInt(Ljava/lang/String;I)I
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsGlobalGetString(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsGlobalPutInt(Ljava/lang/String;I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsSecureGetIntForUser(Ljava/lang/String;II)I
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->storageManagerIsFileBasedEncryptionEnabled()Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->systemPropertiesGet(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->systemPropertiesGetLong(Ljava/lang/String;J)J
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->systemPropertiesSet(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->userHandleGetCallingUserId()I
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->userManagerIsSplitSystemUser()Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onBootPhase(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onStart()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onStartUser(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onStopUser(I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->addOnCrossProfileWidgetProvidersChangeListener(Landroid/app/admin/DevicePolicyManagerInternal$OnCrossProfileWidgetProvidersChangeListener;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->canSilentlyInstallPackage(Ljava/lang/String;I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->canUserHaveUntrustedCredentialReset(I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getDevicePolicyCache()Landroid/app/admin/DevicePolicyCache;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$RestrictionsListener;-><init>(Landroid/content/Context;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$RestrictionsListener;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$SetupContentObserver;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/os/Handler;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService$SetupContentObserver;->register()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$1400(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$1500(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Ljava/lang/String;I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$1700(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Z)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$2900(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$3000(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)Lcom/android/server/devicepolicy/DevicePolicyCacheImpl;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->access$900(Lcom/android/server/devicepolicy/DevicePolicyManagerService;I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getCrossProfileWidgetProviders(I)Ljava/util/List;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->isActiveAdminWithPolicy(II)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->canUserBindToDeviceOwnerLocked(I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->canUserHaveUntrustedCredentialReset(I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkActiveAdminPrecondition(Landroid/content/ComponentName;Landroid/app/admin/DeviceAdminInfo;Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkDeviceIdentifierAccess(Ljava/lang/String;III)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkDeviceOwnerProvisioningPreCondition(I)I
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkDeviceOwnerProvisioningPreConditionLocked(Landroid/content/ComponentName;IZZ)I
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkManagedProfileProvisioningPreCondition(Ljava/lang/String;I)I
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->checkProvisioningPreConditionSkipPermission(Ljava/lang/String;Ljava/lang/String;)I
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->cleanUpOldUsers()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enableIfNecessary(Ljava/lang/String;I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceDeviceOwnerOrManageUsers()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceFullCrossUsersPermission(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceManageUsers()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceSystemUserOrPermissionIfCrossUser(ILjava/lang/String;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceUserUnlocked(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceUserUnlocked(IZ)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceCanManageScopeOrCheckPermission(Landroid/content/ComponentName;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceManagedProfile(ILjava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceNotManagedProfile(ILjava/lang/String;)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceProfileOrDeviceOwner(Landroid/content/ComponentName;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureCallerPackage(Ljava/lang/String;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureDeviceOwnerUserStarted()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->findAdmin(Landroid/content/ComponentName;IZ)Landroid/app/admin/DeviceAdminInfo;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->findOwnerComponentIfNecessaryLocked()V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getAcceptedCaCertificates(Landroid/os/UserHandle;)Ljava/util/Set;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getAccountTypesWithManagementDisabledAsUser(I)[Ljava/lang/String;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminForCallerLocked(Landroid/content/ComponentName;I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminForCallerLocked(Landroid/content/ComponentName;IZ)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminForUidLocked(Landroid/content/ComponentName;I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminPackagesLocked(I)Ljava/util/Set;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminUncheckedLocked(Landroid/content/ComponentName;I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminOrCheckPermissionForCallerLocked(Landroid/content/ComponentName;ILjava/lang/String;)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminOrCheckPermissionForCallerLocked(Landroid/content/ComponentName;IZLjava/lang/String;)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminUncheckedLocked(Landroid/content/ComponentName;IZ)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdmins(I)Ljava/util/List;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminsForLockscreenPoliciesLocked(IZ)Ljava/util/List;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getAdminWithMinimumFailedPasswordsForWipeLocked(IZ)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCameraDisabled(Landroid/content/ComponentName;I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCameraDisabled(Landroid/content/ComponentName;IZ)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCameraRestrictionScopeLocked(IZ)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getBindDeviceAdminTargetUsers(Landroid/content/ComponentName;)Ljava/util/List;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getBluetoothContactSharingDisabledForUser(I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCredentialOwner(IZ)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCrossProfileCallerIdDisabledForUser(I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCrossProfileContactsSearchDisabledForUser(I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCurrentFailedPasswordAttempts(IZ)I
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerAdminLocked()Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerComponent(Z)Landroid/content/ComponentName;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerOrganizationName()Ljava/lang/CharSequence;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerUserId()I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDisallowedSystemApps(Landroid/content/ComponentName;ILjava/lang/String;)Ljava/util/List;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getEncryptionStatus()I
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getGlobalProxyAdmin(I)Landroid/content/ComponentName;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getKeepUninstalledPackagesLocked()Ljava/util/List;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)I
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMaximumFailedPasswordsForWipe(Landroid/content/ComponentName;IZ)I
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMaximumTimeToLock(Landroid/content/ComponentName;IZ)J
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMaximumTimeToLockPolicyFromAdmins(Ljava/util/List;)J
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMeteredDisabledPackagesLocked(I)Ljava/util/Set;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMinimumStrongAuthTimeoutMs()J
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOwnerComponent(I)Landroid/content/ComponentName;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOwnerComponent(Ljava/lang/String;I)Landroid/content/ComponentName;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOrganizationNameForUser(I)Ljava/lang/CharSequence;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPasswordExpirationLocked(Landroid/content/ComponentName;IZ)J
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPasswordExpirationTimeout(Landroid/content/ComponentName;IZ)J
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPasswordQuality(Landroid/content/ComponentName;IZ)I
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPendingSystemUpdate(Landroid/content/ComponentName;)Landroid/app/admin/SystemUpdateInfo;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPermissionPolicy(Landroid/content/ComponentName;)I
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getPolicyFileDirectory(I)Ljava/io/File;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwner(I)Landroid/content/ComponentName;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerAdminLocked(I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileParentId(I)I
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getRequiredStrongAuthTimeout(Landroid/content/ComponentName;IZ)J
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getScreenCaptureDisabled(Landroid/content/ComponentName;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getRestrictionsProvider(I)Landroid/content/ComponentName;
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getStorageEncryptionStatus(Ljava/lang/String;I)I
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserDataUnchecked(I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserInfo(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getTargetSdk(Ljava/lang/String;I)I
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserPasswordMetricsLocked(I)Landroid/app/admin/PasswordMetrics;
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->handlePackagesChanged(Ljava/lang/String;I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->handlePasswordExpirationNotification(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->handleStartUser(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->handleStopUser(I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->handleUnlockUser(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasDeviceOwner()Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasFeatureManagedUsers()Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasGrantedPolicy(Landroid/content/ComponentName;II)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasUserSetupCompleted(I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isActiveAdminWithPolicyForUserLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;II)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isActivePasswordSufficient(IZ)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isActivePasswordSufficientForUserLocked(ZLandroid/app/admin/PasswordMetrics;IZ)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isAdminActive(Landroid/content/ComponentName;I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCallerWithSystemUid()Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCallerApplicationRestrictionsManagingPackage(Ljava/lang/String;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isCallerDelegate(Ljava/lang/String;ILjava/lang/String;)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceOwner(Landroid/content/ComponentName;I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceOwnerPackage(Ljava/lang/String;I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isDeviceProvisioned()Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isLockTaskPermitted(Ljava/lang/String;)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isLogoutEnabled()Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isManagedProfile(I)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isNetworkLoggingEnabled(Landroid/content/ComponentName;)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isNetworkLoggingEnabledInternalLocked()Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isPackageTestOnly(Ljava/lang/String;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isManagedProfile(Landroid/content/ComponentName;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isNetworkLoggingEnabled(Landroid/content/ComponentName;Ljava/lang/String;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isNotificationListenerServicePermitted(Ljava/lang/String;I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isPasswordSufficientForUserWithoutCheckpointLocked(Landroid/app/admin/PasswordMetrics;IZ)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProfileOwner(Landroid/content/ComponentName;I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProfileOwnerPackage(Ljava/lang/String;I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isProvisioningAllowed(Ljava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSeparateProfileChallengeEnabled(I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isRemovedPackage(Ljava/lang/String;Ljava/lang/String;I)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSeparateProfileChallengeAllowed(I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUninstallBlocked(Landroid/content/ComponentName;Ljava/lang/String;)Z
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$loadAdminDataAsync$0(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadAdminDataAsync()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadOwners()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadSettingsLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->makeJournaledFile(I)Lcom/android/internal/util/JournaledFile;
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUninstallInQueue(Ljava/lang/String;)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->isUserAffiliatedWithDeviceLocked(I)Z
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeLogPasswordComplexitySet(Landroid/content/ComponentName;IZLandroid/app/admin/PasswordMetrics;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeLogStart()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeSendAdminEnabledBroadcastLocked(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeSetDefaultDeviceOwnerUserRestrictionsLocked()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeSetDefaultProfileOwnerUserRestrictions()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->migrateUserRestrictionsIfNecessaryLocked()V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->notifyPendingSystemUpdate(Landroid/app/admin/SystemUpdateInfo;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->onInstalledCertificatesChanged(Landroid/os/UserHandle;Ljava/util/Collection;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->onLockSettingsReady()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->pushActiveAdminPackages()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->pushAllMeteredRestrictedPackages()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->pushUserRestrictions(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->reportFailedFingerprintAttempt(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->reportFailedBiometricAttempt(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->reportFailedPasswordAttempt(I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->reportKeyguardDismissed(I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->reportKeyguardSecured(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->reportSuccessfulFingerprintAttempt(I)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->reportSuccessfulBiometricAttempt(I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->reportSuccessfulPasswordAttempt(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->revertTransferOwnershipIfNecessaryLocked()V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->saveSettingsLocked(I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendAdminCommandLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;Ljava/lang/String;Landroid/os/Bundle;Landroid/content/BroadcastReceiver;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendAdminCommandLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;Ljava/lang/String;Landroid/os/Bundle;Landroid/content/BroadcastReceiver;Z)Z
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendAdminCommandLocked(Ljava/lang/String;IILandroid/os/Bundle;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->sendChangedNotification(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setActiveAdmin(Landroid/content/ComponentName;ZI)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setActiveAdmin(Landroid/content/ComponentName;ZILandroid/os/Bundle;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setActivePasswordState(Landroid/app/admin/PasswordMetrics;I)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setCameraDisabled(Landroid/content/ComponentName;Z)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setDeviceOwnerSystemPropertyLocked()V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setExpirationAlarmCheckLocked(Landroid/content/Context;IZ)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setLongSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
@@ -10414,261 +7506,125 @@
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPasswordHistoryLength(Landroid/content/ComponentName;IZ)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPasswordMinimumLength(Landroid/content/ComponentName;IZ)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setPasswordQuality(Landroid/content/ComponentName;IZ)V
+PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setRestrictionsProvider(Landroid/content/ComponentName;Landroid/content/ComponentName;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->setShortSupportMessage(Landroid/content/ComponentName;Ljava/lang/CharSequence;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->startOwnerService(ILjava/lang/String;)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->systemReady(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateDeviceOwnerLocked()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateLockTaskFeaturesLocked(II)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateLockTaskPackagesLocked(Ljava/util/List;I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateMaximumTimeToLockLocked(I)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updatePasswordValidityCheckpointLocked(IZ)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateScreenCaptureDisabled(IZ)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateSystemUpdateFreezePeriodsRecord(Z)V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateUserSetupCompleteAndPaired()V
-PLcom/android/server/devicepolicy/DevicePolicyManagerService;->validatePasswordOwnerLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;)V
 PLcom/android/server/devicepolicy/DevicePolicyManagerService;->validateQualityConstant(I)V
-PLcom/android/server/devicepolicy/OverlayPackagesProvider;-><init>(Landroid/content/Context;)V
-PLcom/android/server/devicepolicy/OverlayPackagesProvider;-><init>(Landroid/content/Context;Lcom/android/internal/view/IInputMethodManager;)V
-PLcom/android/server/devicepolicy/OverlayPackagesProvider;->getIInputMethodManager()Lcom/android/internal/view/IInputMethodManager;
-PLcom/android/server/devicepolicy/Owners$DeviceOwnerReadWriter;-><init>(Lcom/android/server/devicepolicy/Owners;)V
-PLcom/android/server/devicepolicy/Owners$FileReadWriter;-><init>(Ljava/io/File;)V
-PLcom/android/server/devicepolicy/Owners$FileReadWriter;->readFromFileLocked()V
-PLcom/android/server/devicepolicy/Owners$Injector;-><init>()V
-PLcom/android/server/devicepolicy/Owners$Injector;->environmentGetDataSystemDirectory()Ljava/io/File;
-PLcom/android/server/devicepolicy/Owners$Injector;->environmentGetUserSystemDirectory(I)Ljava/io/File;
-PLcom/android/server/devicepolicy/Owners$ProfileOwnerReadWriter;-><init>(Lcom/android/server/devicepolicy/Owners;I)V
-PLcom/android/server/devicepolicy/Owners;-><init>(Landroid/os/UserManager;Landroid/os/UserManagerInternal;Landroid/content/pm/PackageManagerInternal;)V
-PLcom/android/server/devicepolicy/Owners;-><init>(Landroid/os/UserManager;Landroid/os/UserManagerInternal;Landroid/content/pm/PackageManagerInternal;Lcom/android/server/devicepolicy/Owners$Injector;)V
-PLcom/android/server/devicepolicy/Owners;->getDeviceOwnerComponent()Landroid/content/ComponentName;
-PLcom/android/server/devicepolicy/Owners;->getDeviceOwnerFile()Ljava/io/File;
-PLcom/android/server/devicepolicy/Owners;->getDeviceOwnerUserId()I
-PLcom/android/server/devicepolicy/Owners;->getDeviceOwnerUserRestrictionsNeedsMigration()Z
-PLcom/android/server/devicepolicy/Owners;->getLegacyConfigFile()Ljava/io/File;
-PLcom/android/server/devicepolicy/Owners;->getProfileOwnerComponent(I)Landroid/content/ComponentName;
-PLcom/android/server/devicepolicy/Owners;->getProfileOwnerFile(I)Ljava/io/File;
-PLcom/android/server/devicepolicy/Owners;->getProfileOwnerKeys()Ljava/util/Set;
-PLcom/android/server/devicepolicy/Owners;->getProfileOwnerUserRestrictionsNeedsMigration(I)Z
-PLcom/android/server/devicepolicy/Owners;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
-PLcom/android/server/devicepolicy/Owners;->hasDeviceOwner()Z
-PLcom/android/server/devicepolicy/Owners;->hasProfileOwner(I)Z
-PLcom/android/server/devicepolicy/Owners;->isDeviceOwnerUserId(I)Z
-PLcom/android/server/devicepolicy/Owners;->load()V
-PLcom/android/server/devicepolicy/Owners;->pushToAppOpsLocked()V
-PLcom/android/server/devicepolicy/Owners;->pushToPackageManagerLocked()V
-PLcom/android/server/devicepolicy/Owners;->readLegacyOwnerFileLocked(Ljava/io/File;)Z
-PLcom/android/server/devicepolicy/Owners;->systemReady()V
-PLcom/android/server/devicepolicy/SecurityLogMonitor;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;)V
-PLcom/android/server/devicepolicy/SecurityLogMonitor;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;J)V
-PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager$Injector;-><init>()V
-PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager$Injector;->getOwnerTransferMetadataDir()Ljava/io/File;
-PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager;-><init>()V
-PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager;-><init>(Lcom/android/server/devicepolicy/TransferOwnershipMetadataManager$Injector;)V
-PLcom/android/server/devicepolicy/TransferOwnershipMetadataManager;->metadataFileExists()Z
-PLcom/android/server/display/-$$Lambda$AmbientBrightnessStatsTracker$vQZYn_dAhbvzT-Un4vvpuyIATII;-><init>(Lcom/android/server/display/AmbientBrightnessStatsTracker;)V
-PLcom/android/server/display/-$$Lambda$AmbientBrightnessStatsTracker$vQZYn_dAhbvzT-Un4vvpuyIATII;->elapsedTimeMillis()J
-PLcom/android/server/display/-$$Lambda$BrightnessTracker$fmx2Mcw7OCEtRi9DwxxGQgA74fg;-><init>(Lcom/android/server/display/BrightnessTracker;)V
+PLcom/android/server/devicepolicy/OverlayPackagesProvider$DefaultInjector;->getInputMethodListAsUser(I)Ljava/util/List;
+PLcom/android/server/devicepolicy/OverlayPackagesProvider$DefaultInjector;->isPerProfileImeEnabled()Z
+PLcom/android/server/devicepolicy/OverlayPackagesProvider;->getDisallowedAppsSet(Ljava/lang/String;)Ljava/util/Set;
+PLcom/android/server/devicepolicy/OverlayPackagesProvider;->getLaunchableApps(I)Ljava/util/Set;
+PLcom/android/server/devicepolicy/OverlayPackagesProvider;->getNonRequiredApps(Landroid/content/ComponentName;ILjava/lang/String;)Ljava/util/Set;
+PLcom/android/server/devicepolicy/OverlayPackagesProvider;->getRequiredAppsSet(Ljava/lang/String;)Ljava/util/Set;
+PLcom/android/server/devicepolicy/OverlayPackagesProvider;->getSystemInputMethods(I)Ljava/util/Set;
+PLcom/android/server/devicepolicy/OverlayPackagesProvider;->getVendorDisallowedAppsSet(Ljava/lang/String;)Ljava/util/Set;
+PLcom/android/server/devicepolicy/OverlayPackagesProvider;->getVendorRequiredAppsSet(Ljava/lang/String;)Ljava/util/Set;
+PLcom/android/server/devicepolicy/Owners;->getSystemUpdateInfo()Landroid/app/admin/SystemUpdateInfo;
+PLcom/android/server/devicepolicy/Owners;->saveSystemUpdateInfo(Landroid/app/admin/SystemUpdateInfo;)Z
 PLcom/android/server/display/-$$Lambda$BrightnessTracker$fmx2Mcw7OCEtRi9DwxxGQgA74fg;->run()V
-PLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;-><init>(Lcom/android/server/display/AmbientBrightnessStatsTracker;)V
-PLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->getOrCreateDayStats(Ljava/util/Deque;Ljava/time/LocalDate;)Landroid/hardware/display/AmbientBrightnessDayStats;
-PLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->getOrCreateUserStats(Ljava/util/Map;I)Ljava/util/Deque;
+PLcom/android/server/display/-$$Lambda$ColorDisplayService$Id97_YQBas-gkp6qQ7p4A67QJiQ;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
+PLcom/android/server/display/-$$Lambda$VirtualDisplayAdapter$PFyqe-aYIEBicSVtuy5lL_bT8B0;->createDisplay(Ljava/lang/String;Z)Landroid/os/IBinder;
 PLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->getUserStats(I)Ljava/util/ArrayList;
-PLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->log(ILjava/time/LocalDate;FF)V
-PLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->readFromXML(Ljava/io/InputStream;)V
 PLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->writeToXML(Ljava/io/OutputStream;)V
-PLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;-><init>()V
-PLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->getLocalDate()Ljava/time/LocalDate;
-PLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->getUserId(Landroid/os/UserManager;I)I
 PLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->getUserSerialNumber(Landroid/os/UserManager;I)I
-PLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;-><init>(Lcom/android/server/display/AmbientBrightnessStatsTracker$Clock;)V
-PLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->isRunning()Z
-PLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->reset()V
-PLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->start()V
-PLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->totalDurationSec()F
-PLcom/android/server/display/AmbientBrightnessStatsTracker;-><init>(Landroid/os/UserManager;Lcom/android/server/display/AmbientBrightnessStatsTracker$Injector;)V
-PLcom/android/server/display/AmbientBrightnessStatsTracker;->access$000(Lcom/android/server/display/AmbientBrightnessStatsTracker;)Lcom/android/server/display/AmbientBrightnessStatsTracker$Injector;
-PLcom/android/server/display/AmbientBrightnessStatsTracker;->access$100(Lcom/android/server/display/AmbientBrightnessStatsTracker;)Landroid/os/UserManager;
-PLcom/android/server/display/AmbientBrightnessStatsTracker;->add(IF)V
 PLcom/android/server/display/AmbientBrightnessStatsTracker;->getUserStats(I)Ljava/util/ArrayList;
-PLcom/android/server/display/AmbientBrightnessStatsTracker;->lambda$new$0(Lcom/android/server/display/AmbientBrightnessStatsTracker;)J
-PLcom/android/server/display/AmbientBrightnessStatsTracker;->readStats(Ljava/io/InputStream;)V
-PLcom/android/server/display/AmbientBrightnessStatsTracker;->start()V
 PLcom/android/server/display/AmbientBrightnessStatsTracker;->stop()V
 PLcom/android/server/display/AmbientBrightnessStatsTracker;->writeStats(Ljava/io/OutputStream;)V
-PLcom/android/server/display/AutomaticBrightnessController$1;-><init>(Lcom/android/server/display/AutomaticBrightnessController;)V
-PLcom/android/server/display/AutomaticBrightnessController$1;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
-PLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;-><init>(JI)V
-PLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->clear()V
+PLcom/android/server/display/AutomaticBrightnessController$1;->run()V
+PLcom/android/server/display/AutomaticBrightnessController$2;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
+PLcom/android/server/display/AutomaticBrightnessController$2;->onSensorChanged(Landroid/hardware/SensorEvent;)V
 PLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->prune(J)V
 PLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;->push(JF)V
-PLcom/android/server/display/AutomaticBrightnessController$AutomaticBrightnessHandler;-><init>(Lcom/android/server/display/AutomaticBrightnessController;Landroid/os/Looper;)V
 PLcom/android/server/display/AutomaticBrightnessController$AutomaticBrightnessHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/display/AutomaticBrightnessController;-><init>(Lcom/android/server/display/AutomaticBrightnessController$Callbacks;Landroid/os/Looper;Landroid/hardware/SensorManager;Lcom/android/server/display/BrightnessMappingStrategy;IIIFIIJJZLcom/android/server/display/HysteresisLevels;)V
-PLcom/android/server/display/AutomaticBrightnessController;->access$000(Lcom/android/server/display/AutomaticBrightnessController;)V
-PLcom/android/server/display/AutomaticBrightnessController;->access$100(Lcom/android/server/display/AutomaticBrightnessController;)V
-PLcom/android/server/display/AutomaticBrightnessController;->access$200(Lcom/android/server/display/AutomaticBrightnessController;)V
-PLcom/android/server/display/AutomaticBrightnessController;->access$300(Lcom/android/server/display/AutomaticBrightnessController;)Z
-PLcom/android/server/display/AutomaticBrightnessController;->access$400(Lcom/android/server/display/AutomaticBrightnessController;JF)V
+PLcom/android/server/display/AutomaticBrightnessController$TaskStackListenerImpl;->onTaskStackChanged()V
 PLcom/android/server/display/AutomaticBrightnessController;->adjustLightSensorRate(I)V
-PLcom/android/server/display/AutomaticBrightnessController;->applyLightSensorMeasurement(JF)V
-PLcom/android/server/display/AutomaticBrightnessController;->clampScreenBrightness(I)I
-PLcom/android/server/display/AutomaticBrightnessController;->collectBrightnessAdjustmentSample()V
-PLcom/android/server/display/AutomaticBrightnessController;->configure(ZLandroid/hardware/display/BrightnessConfiguration;FZFZI)V
+PLcom/android/server/display/AutomaticBrightnessController;->calculateAmbientLux(JJ)F
 PLcom/android/server/display/AutomaticBrightnessController;->getAutomaticScreenBrightness()I
 PLcom/android/server/display/AutomaticBrightnessController;->getAutomaticScreenBrightnessAdjustment()F
 PLcom/android/server/display/AutomaticBrightnessController;->handleLightSensorEvent(JF)V
-PLcom/android/server/display/AutomaticBrightnessController;->hasUserDataPoints()Z
-PLcom/android/server/display/AutomaticBrightnessController;->invalidateShortTermModel()V
 PLcom/android/server/display/AutomaticBrightnessController;->isDefaultConfig()Z
-PLcom/android/server/display/AutomaticBrightnessController;->isInteractivePolicy(I)Z
 PLcom/android/server/display/AutomaticBrightnessController;->nextAmbientLightBrighteningTransition(J)J
 PLcom/android/server/display/AutomaticBrightnessController;->nextAmbientLightDarkeningTransition(J)J
-PLcom/android/server/display/AutomaticBrightnessController;->prepareBrightnessAdjustmentSample()V
-PLcom/android/server/display/AutomaticBrightnessController;->resetShortTermModel()V
+PLcom/android/server/display/AutomaticBrightnessController;->registerForegroundAppUpdater()V
 PLcom/android/server/display/AutomaticBrightnessController;->setAmbientLux(F)V
-PLcom/android/server/display/AutomaticBrightnessController;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)Z
-PLcom/android/server/display/AutomaticBrightnessController;->setDisplayPolicy(I)Z
-PLcom/android/server/display/AutomaticBrightnessController;->setLightSensorEnabled(Z)Z
-PLcom/android/server/display/AutomaticBrightnessController;->setScreenBrightnessByUser(F)Z
+PLcom/android/server/display/AutomaticBrightnessController;->unregisterForegroundAppUpdater()V
 PLcom/android/server/display/AutomaticBrightnessController;->updateAmbientLux(J)V
-PLcom/android/server/display/AutomaticBrightnessController;->updateAutoBrightness(Z)V
+PLcom/android/server/display/AutomaticBrightnessController;->updateForegroundAppSync()V
 PLcom/android/server/display/BrightnessIdleJob;-><init>()V
 PLcom/android/server/display/BrightnessIdleJob;->onStartJob(Landroid/app/job/JobParameters;)Z
-PLcom/android/server/display/BrightnessIdleJob;->scheduleJob(Landroid/content/Context;)V
-PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;-><init>(Landroid/hardware/display/BrightnessConfiguration;[F[IF)V
-PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->addUserDataPoint(FF)V
-PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->clearUserDataPoints()V
-PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->computeSpline()V
-PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->convertToNits(I)F
 PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->getAutoBrightnessAdjustment()F
-PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->getBrightness(F)F
-PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->getUnadjustedBrightness(F)F
-PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->hasUserDataPoints()Z
+PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->getBrightness(FLjava/lang/String;I)F
 PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->isDefaultConfig()Z
-PLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)Z
-PLcom/android/server/display/BrightnessMappingStrategy;-><init>()V
-PLcom/android/server/display/BrightnessMappingStrategy;->access$000(I)F
-PLcom/android/server/display/BrightnessMappingStrategy;->access$100(FFF)F
-PLcom/android/server/display/BrightnessMappingStrategy;->access$200([F[FFFFF)Landroid/util/Pair;
-PLcom/android/server/display/BrightnessMappingStrategy;->create(Landroid/content/res/Resources;)Lcom/android/server/display/BrightnessMappingStrategy;
-PLcom/android/server/display/BrightnessMappingStrategy;->findInsertionPoint([FF)I
-PLcom/android/server/display/BrightnessMappingStrategy;->getAdjustedCurve([F[FFFFF)Landroid/util/Pair;
-PLcom/android/server/display/BrightnessMappingStrategy;->getFloatArray(Landroid/content/res/TypedArray;)[F
-PLcom/android/server/display/BrightnessMappingStrategy;->getLuxLevels([I)[F
-PLcom/android/server/display/BrightnessMappingStrategy;->inferAutoBrightnessAdjustment(FFF)F
-PLcom/android/server/display/BrightnessMappingStrategy;->insertControlPoint([F[FFF)Landroid/util/Pair;
-PLcom/android/server/display/BrightnessMappingStrategy;->isValidMapping([F[F)Z
-PLcom/android/server/display/BrightnessMappingStrategy;->isValidMapping([F[I)Z
-PLcom/android/server/display/BrightnessMappingStrategy;->normalizeAbsoluteBrightness(I)F
-PLcom/android/server/display/BrightnessMappingStrategy;->permissibleRatio(FF)F
-PLcom/android/server/display/BrightnessMappingStrategy;->smoothCurve([F[FI)V
-PLcom/android/server/display/BrightnessTracker$BrightnessChangeValues;-><init>(FFZZJ)V
-PLcom/android/server/display/BrightnessTracker$Injector;-><init>()V
-PLcom/android/server/display/BrightnessTracker$Injector;->getBackgroundHandler()Landroid/os/Handler;
-PLcom/android/server/display/BrightnessTracker$Injector;->getFile(Ljava/lang/String;)Landroid/util/AtomicFile;
-PLcom/android/server/display/BrightnessTracker$Injector;->getFocusedStack()Landroid/app/ActivityManager$StackInfo;
+PLcom/android/server/display/BrightnessTracker$DisplayListener;->onDisplayAdded(I)V
+PLcom/android/server/display/BrightnessTracker$DisplayListener;->onDisplayRemoved(I)V
 PLcom/android/server/display/BrightnessTracker$Injector;->getProfileIds(Landroid/os/UserManager;I)[I
-PLcom/android/server/display/BrightnessTracker$Injector;->getSecureIntForUser(Landroid/content/ContentResolver;Ljava/lang/String;II)I
 PLcom/android/server/display/BrightnessTracker$Injector;->getUserSerialNumber(Landroid/os/UserManager;I)I
-PLcom/android/server/display/BrightnessTracker$Injector;->isBrightnessModeAutomatic(Landroid/content/ContentResolver;)Z
-PLcom/android/server/display/BrightnessTracker$Injector;->isInteractive(Landroid/content/Context;)Z
-PLcom/android/server/display/BrightnessTracker$Injector;->registerBrightnessModeObserver(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
-PLcom/android/server/display/BrightnessTracker$Injector;->registerReceiver(Landroid/content/Context;Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)V
-PLcom/android/server/display/BrightnessTracker$Injector;->registerSensorListener(Landroid/content/Context;Landroid/hardware/SensorEventListener;Landroid/os/Handler;)V
-PLcom/android/server/display/BrightnessTracker$Injector;->scheduleIdleJob(Landroid/content/Context;)V
+PLcom/android/server/display/BrightnessTracker$Injector;->unRegisterDisplayListener(Landroid/content/Context;Landroid/hardware/display/DisplayManager$DisplayListener;)V
 PLcom/android/server/display/BrightnessTracker$Injector;->unregisterSensorListener(Landroid/content/Context;Landroid/hardware/SensorEventListener;)V
-PLcom/android/server/display/BrightnessTracker$LightData;-><init>()V
-PLcom/android/server/display/BrightnessTracker$LightData;-><init>(Lcom/android/server/display/BrightnessTracker$1;)V
-PLcom/android/server/display/BrightnessTracker$Receiver;-><init>(Lcom/android/server/display/BrightnessTracker;)V
-PLcom/android/server/display/BrightnessTracker$Receiver;-><init>(Lcom/android/server/display/BrightnessTracker;Lcom/android/server/display/BrightnessTracker$1;)V
-PLcom/android/server/display/BrightnessTracker$Receiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/display/BrightnessTracker$SensorListener;-><init>(Lcom/android/server/display/BrightnessTracker;)V
-PLcom/android/server/display/BrightnessTracker$SensorListener;-><init>(Lcom/android/server/display/BrightnessTracker;Lcom/android/server/display/BrightnessTracker$1;)V
-PLcom/android/server/display/BrightnessTracker$SensorListener;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
-PLcom/android/server/display/BrightnessTracker$SensorListener;->onSensorChanged(Landroid/hardware/SensorEvent;)V
-PLcom/android/server/display/BrightnessTracker$SettingsObserver;-><init>(Lcom/android/server/display/BrightnessTracker;Landroid/os/Handler;)V
-PLcom/android/server/display/BrightnessTracker$TrackerHandler;-><init>(Lcom/android/server/display/BrightnessTracker;Landroid/os/Looper;)V
-PLcom/android/server/display/BrightnessTracker$TrackerHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/display/BrightnessTracker;-><init>(Landroid/content/Context;Lcom/android/server/display/BrightnessTracker$Injector;)V
-PLcom/android/server/display/BrightnessTracker;->access$1000(Lcom/android/server/display/BrightnessTracker;F)V
-PLcom/android/server/display/BrightnessTracker;->access$1100(Lcom/android/server/display/BrightnessTracker;FZFZZJ)V
-PLcom/android/server/display/BrightnessTracker;->access$1200(Lcom/android/server/display/BrightnessTracker;)V
-PLcom/android/server/display/BrightnessTracker;->access$1300(Lcom/android/server/display/BrightnessTracker;)V
-PLcom/android/server/display/BrightnessTracker;->access$300(Lcom/android/server/display/BrightnessTracker;Landroid/hardware/SensorEvent;)V
-PLcom/android/server/display/BrightnessTracker;->access$400(Lcom/android/server/display/BrightnessTracker;Landroid/hardware/SensorEvent;)V
-PLcom/android/server/display/BrightnessTracker;->access$700(Lcom/android/server/display/BrightnessTracker;)Landroid/os/Handler;
-PLcom/android/server/display/BrightnessTracker;->access$900(Lcom/android/server/display/BrightnessTracker;II)V
-PLcom/android/server/display/BrightnessTracker;->backgroundStart(F)V
-PLcom/android/server/display/BrightnessTracker;->batteryLevelChanged(II)V
 PLcom/android/server/display/BrightnessTracker;->getAmbientBrightnessStats(I)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/display/BrightnessTracker;->getEvents(IZ)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/display/BrightnessTracker;->handleBrightnessChanged(FZFZZJ)V
-PLcom/android/server/display/BrightnessTracker;->lambda$scheduleWriteBrightnessTrackerState$0(Lcom/android/server/display/BrightnessTracker;)V
+PLcom/android/server/display/BrightnessTracker;->lambda$scheduleWriteBrightnessTrackerState$0$BrightnessTracker()V
 PLcom/android/server/display/BrightnessTracker;->notifyBrightnessChanged(FZFZZ)V
 PLcom/android/server/display/BrightnessTracker;->persistBrightnessTrackerState()V
-PLcom/android/server/display/BrightnessTracker;->readAmbientBrightnessStats()V
-PLcom/android/server/display/BrightnessTracker;->readEvents()V
-PLcom/android/server/display/BrightnessTracker;->recordAmbientBrightnessStats(Landroid/hardware/SensorEvent;)V
-PLcom/android/server/display/BrightnessTracker;->recordSensorEvent(Landroid/hardware/SensorEvent;)V
-PLcom/android/server/display/BrightnessTracker;->scheduleWriteBrightnessTrackerState()V
-PLcom/android/server/display/BrightnessTracker;->start(F)V
-PLcom/android/server/display/BrightnessTracker;->startSensorListener()V
-PLcom/android/server/display/BrightnessTracker;->stopSensorListener()V
 PLcom/android/server/display/BrightnessTracker;->writeAmbientBrightnessStats()V
 PLcom/android/server/display/BrightnessTracker;->writeEvents()V
 PLcom/android/server/display/BrightnessTracker;->writeEventsLocked(Ljava/io/OutputStream;)V
-PLcom/android/server/display/color/ColorDisplayService$2;-><init>(Lcom/android/server/display/color/ColorDisplayService;Lcom/android/server/display/color/DisplayTransformManager;)V
-PLcom/android/server/display/color/ColorDisplayService$2;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
-PLcom/android/server/display/color/ColorDisplayService$3;-><init>(Lcom/android/server/display/color/ColorDisplayService;Lcom/android/server/display/color/DisplayTransformManager;[F)V
-PLcom/android/server/display/color/ColorDisplayService$3;->onAnimationEnd(Landroid/animation/Animator;)V
-PLcom/android/server/display/color/ColorDisplayService$AutoMode;-><init>(Lcom/android/server/display/color/ColorDisplayService;)V
-PLcom/android/server/display/color/ColorDisplayService$AutoMode;-><init>(Lcom/android/server/display/color/ColorDisplayService;Lcom/android/server/display/color/ColorDisplayService$1;)V
-PLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;-><init>()V
-PLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;-><init>(Lcom/android/server/display/color/ColorDisplayService$1;)V
-PLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/display/color/ColorDisplayService$CustomAutoMode$1;-><init>(Lcom/android/server/display/color/ColorDisplayService$CustomAutoMode;Lcom/android/server/display/color/ColorDisplayService;)V
-PLcom/android/server/display/color/ColorDisplayService$CustomAutoMode;-><init>(Lcom/android/server/display/color/ColorDisplayService;)V
-PLcom/android/server/display/color/ColorDisplayService$CustomAutoMode;->onActivated(Z)V
-PLcom/android/server/display/color/ColorDisplayService$CustomAutoMode;->onAlarm()V
-PLcom/android/server/display/color/ColorDisplayService$CustomAutoMode;->onStart()V
-PLcom/android/server/display/color/ColorDisplayService$CustomAutoMode;->updateActivated()V
-PLcom/android/server/display/color/ColorDisplayService$CustomAutoMode;->updateNextAlarm(Ljava/lang/Boolean;Ljava/time/LocalDateTime;)V
-PLcom/android/server/display/color/ColorDisplayService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/display/color/ColorDisplayService;->access$1000(Lcom/android/server/display/color/ColorDisplayService;)Ljava/lang/Boolean;
-PLcom/android/server/display/color/ColorDisplayService;->access$602(Lcom/android/server/display/color/ColorDisplayService;Landroid/animation/ValueAnimator;)Landroid/animation/ValueAnimator;
-PLcom/android/server/display/color/ColorDisplayService;->applyTint(Z)V
-PLcom/android/server/display/color/ColorDisplayService;->getDateTimeAfter(Ljava/time/LocalTime;Ljava/time/LocalDateTime;)Ljava/time/LocalDateTime;
-PLcom/android/server/display/color/ColorDisplayService;->getDateTimeBefore(Ljava/time/LocalTime;Ljava/time/LocalDateTime;)Ljava/time/LocalDateTime;
-PLcom/android/server/display/color/ColorDisplayService;->isUserSetupCompleted(Landroid/content/ContentResolver;I)Z
-PLcom/android/server/display/color/ColorDisplayService;->onActivated(Z)V
-PLcom/android/server/display/color/ColorDisplayService;->onAutoModeChanged(I)V
-PLcom/android/server/display/color/ColorDisplayService;->onBootPhase(I)V
-PLcom/android/server/display/color/ColorDisplayService;->onDisplayColorModeChanged(I)V
-PLcom/android/server/display/color/ColorDisplayService;->onStart()V
-PLcom/android/server/display/color/ColorDisplayService;->onStartUser(I)V
-PLcom/android/server/display/color/ColorDisplayService;->onUserChanged(I)V
-PLcom/android/server/display/color/ColorDisplayService;->setCoefficientMatrix(Landroid/content/Context;Z)V
-PLcom/android/server/display/color/ColorDisplayService;->setMatrix(I[F)V
-PLcom/android/server/display/color/ColorDisplayService;->setUp()V
-PLcom/android/server/display/ColorFade$NaturalSurfaceLayout;-><init>(Landroid/hardware/display/DisplayManagerInternal;ILandroid/view/SurfaceControl;)V
+PLcom/android/server/display/ColorDisplayService$1;->getLevel()I
+PLcom/android/server/display/ColorDisplayService$1;->getMatrix()[F
+PLcom/android/server/display/ColorDisplayService$1;->isAvailable(Landroid/content/Context;)Z
+PLcom/android/server/display/ColorDisplayService$1;->setMatrix(I)V
+PLcom/android/server/display/ColorDisplayService$2;->getLevel()I
+PLcom/android/server/display/ColorDisplayService$2;->getMatrix()[F
+PLcom/android/server/display/ColorDisplayService$2;->setMatrix(I)V
+PLcom/android/server/display/ColorDisplayService$4;->onAnimationCancel(Landroid/animation/Animator;)V
+PLcom/android/server/display/ColorDisplayService$4;->onAnimationEnd(Landroid/animation/Animator;)V
+PLcom/android/server/display/ColorDisplayService$4;->onChange(ZLandroid/net/Uri;)V
+PLcom/android/server/display/ColorDisplayService$5;->onAnimationCancel(Landroid/animation/Animator;)V
+PLcom/android/server/display/ColorDisplayService$5;->onAnimationEnd(Landroid/animation/Animator;)V
+PLcom/android/server/display/ColorDisplayService$BinderService;->getColorMode()I
+PLcom/android/server/display/ColorDisplayService$BinderService;->getNightDisplayAutoMode()I
+PLcom/android/server/display/ColorDisplayService$BinderService;->getNightDisplayAutoModeRaw()I
+PLcom/android/server/display/ColorDisplayService$BinderService;->isNightDisplayActivated()Z
+PLcom/android/server/display/ColorDisplayService$BinderService;->setNightDisplayActivated(Z)Z
+PLcom/android/server/display/ColorDisplayService$BinderService;->setSaturationLevel(I)Z
+PLcom/android/server/display/ColorDisplayService$ColorMatrixEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/display/ColorDisplayService$ColorMatrixEvaluator;->evaluate(F[F[F)[F
+PLcom/android/server/display/ColorDisplayService$DisplayWhiteBalanceTintController;-><init>(Lcom/android/server/display/ColorDisplayService;)V
+PLcom/android/server/display/ColorDisplayService$DisplayWhiteBalanceTintController;->getLevel()I
+PLcom/android/server/display/ColorDisplayService$DisplayWhiteBalanceTintController;->getMatrix()[F
+PLcom/android/server/display/ColorDisplayService$NightDisplayTintController;->clampNightDisplayColorTemperature(I)I
+PLcom/android/server/display/ColorDisplayService$NightDisplayTintController;->getLevel()I
+PLcom/android/server/display/ColorDisplayService$NightDisplayTintController;->getMatrix()[F
+PLcom/android/server/display/ColorDisplayService$NightDisplayTintController;->onActivated(Z)V
+PLcom/android/server/display/ColorDisplayService$NightDisplayTintController;->setActivated(Ljava/lang/Boolean;)V
+PLcom/android/server/display/ColorDisplayService$NightDisplayTintController;->setMatrix(I)V
+PLcom/android/server/display/ColorDisplayService$NightDisplayTintController;->setUp(Landroid/content/Context;Z)V
+PLcom/android/server/display/ColorDisplayService$TintController;->cancelAnimator()V
+PLcom/android/server/display/ColorDisplayService$TintController;->getAnimator()Landroid/animation/ValueAnimator;
+PLcom/android/server/display/ColorDisplayService$TintController;->setActivated(Ljava/lang/Boolean;)V
+PLcom/android/server/display/ColorDisplayService$TintController;->setAnimator(Landroid/animation/ValueAnimator;)V
+PLcom/android/server/display/ColorDisplayService$TintHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/display/ColorDisplayService;->applyTint(Lcom/android/server/display/ColorDisplayService$TintController;Z)V
+PLcom/android/server/display/ColorDisplayService;->clampNightDisplayColorTemperature(I)I
+PLcom/android/server/display/ColorDisplayService;->getColorModeInternal()I
+PLcom/android/server/display/ColorDisplayService;->getCurrentColorModeFromSystemProperties()I
+PLcom/android/server/display/ColorDisplayService;->getNightDisplayAutoModeInternal()I
+PLcom/android/server/display/ColorDisplayService;->onDisplayColorModeChanged(I)V
+PLcom/android/server/display/ColorDisplayService;->onNightDisplayAutoModeChanged(I)V
+PLcom/android/server/display/ColorDisplayService;->onStopUser(I)V
+PLcom/android/server/display/ColorDisplayService;->setUp()V
+PLcom/android/server/display/ColorDisplayService;->updateDisplayWhiteBalanceStatus()V
 PLcom/android/server/display/ColorFade$NaturalSurfaceLayout;->dispose()V
-PLcom/android/server/display/ColorFade$NaturalSurfaceLayout;->onDisplayTransaction()V
-PLcom/android/server/display/ColorFade;-><init>(I)V
-PLcom/android/server/display/ColorFade;->attachEglContext()Z
+PLcom/android/server/display/ColorFade$NaturalSurfaceLayout;->onDisplayTransaction(Landroid/view/SurfaceControl$Transaction;)V
 PLcom/android/server/display/ColorFade;->captureScreenshotTextureAndSetViewport()Z
-PLcom/android/server/display/ColorFade;->checkGlErrors(Ljava/lang/String;)Z
 PLcom/android/server/display/ColorFade;->checkGlErrors(Ljava/lang/String;Z)Z
 PLcom/android/server/display/ColorFade;->createEglContext()Z
 PLcom/android/server/display/ColorFade;->createEglSurface()Z
-PLcom/android/server/display/ColorFade;->createNativeFloatBuffer(I)Ljava/nio/FloatBuffer;
 PLcom/android/server/display/ColorFade;->createSurface()Z
-PLcom/android/server/display/ColorFade;->destroyEglSurface()V
-PLcom/android/server/display/ColorFade;->destroyGLBuffers()V
-PLcom/android/server/display/ColorFade;->destroyGLShaders()V
-PLcom/android/server/display/ColorFade;->destroyScreenshotTexture()V
 PLcom/android/server/display/ColorFade;->destroySurface()V
-PLcom/android/server/display/ColorFade;->detachEglContext()V
-PLcom/android/server/display/ColorFade;->dismiss()V
 PLcom/android/server/display/ColorFade;->dismissResources()V
+PLcom/android/server/display/ColorFade;->draw(F)Z
+PLcom/android/server/display/ColorFade;->drawFaded(FF)V
 PLcom/android/server/display/ColorFade;->initGLBuffers()Z
 PLcom/android/server/display/ColorFade;->initGLShaders(Landroid/content/Context;)Z
 PLcom/android/server/display/ColorFade;->loadShader(Landroid/content/Context;II)I
@@ -10677,1707 +7633,779 @@
 PLcom/android/server/display/ColorFade;->readFile(Landroid/content/Context;I)Ljava/lang/String;
 PLcom/android/server/display/ColorFade;->setQuad(Ljava/nio/FloatBuffer;FFFF)V
 PLcom/android/server/display/ColorFade;->showSurface(F)Z
-PLcom/android/server/display/DisplayAdapter;->getContext()Landroid/content/Context;
-PLcom/android/server/display/DisplayAdapter;->getSyncRoot()Lcom/android/server/display/DisplayManagerService$SyncRoot;
-PLcom/android/server/display/DisplayDevice;->performTraversalLocked(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/display/DisplayDevice;->populateViewportLocked(Landroid/hardware/display/DisplayViewport;)V
-PLcom/android/server/display/DisplayDevice;->setLayerStackLocked(Landroid/view/SurfaceControl$Transaction;I)V
-PLcom/android/server/display/DisplayDevice;->setProjectionLocked(Landroid/view/SurfaceControl$Transaction;ILandroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/display/DisplayDevice;->applyPendingDisplayDeviceInfoChangesLocked()V
+PLcom/android/server/display/DisplayDevice;->requestDisplayModesLocked(II)V
+PLcom/android/server/display/DisplayManagerService$BinderService;->createVirtualDisplay(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/media/projection/IMediaProjection;Ljava/lang/String;Ljava/lang/String;IIILandroid/view/Surface;ILjava/lang/String;)I
 PLcom/android/server/display/DisplayManagerService$BinderService;->getAmbientBrightnessStats()Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/display/DisplayManagerService$BinderService;->getBrightnessEvents(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/display/DisplayManagerService$BinderService;->getStableDisplaySize()Landroid/graphics/Point;
-PLcom/android/server/display/DisplayManagerService$BinderService;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
-PLcom/android/server/display/DisplayManagerService$BinderService;->requestColorMode(II)V
+PLcom/android/server/display/DisplayManagerService$BinderService;->releaseVirtualDisplay(Landroid/hardware/display/IVirtualDisplayCallback;)V
 PLcom/android/server/display/DisplayManagerService$BinderService;->setBrightnessConfigurationForUser(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
-PLcom/android/server/display/DisplayManagerService$BinderService;->setTemporaryBrightness(I)V
+PLcom/android/server/display/DisplayManagerService$BinderService;->setVirtualDisplayState(Landroid/hardware/display/IVirtualDisplayCallback;Z)V
+PLcom/android/server/display/DisplayManagerService$BinderService;->setVirtualDisplaySurface(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/view/Surface;)V
 PLcom/android/server/display/DisplayManagerService$BinderService;->validatePackageName(ILjava/lang/String;)Z
 PLcom/android/server/display/DisplayManagerService$CallbackRecord;->binderDied()V
-PLcom/android/server/display/DisplayManagerService$CallbackRecord;->notifyDisplayEventAsync(II)V
-PLcom/android/server/display/DisplayManagerService$LocalService$1;-><init>(Lcom/android/server/display/DisplayManagerService$LocalService;Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;)V
-PLcom/android/server/display/DisplayManagerService$LocalService$1;->requestDisplayState(II)V
-PLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayInfo(I)Landroid/view/DisplayInfo;
-PLcom/android/server/display/DisplayManagerService$LocalService;->getNonOverrideDisplayInfo(ILandroid/view/DisplayInfo;)V
-PLcom/android/server/display/DisplayManagerService$LocalService;->initPowerManagement(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;Landroid/os/Handler;Landroid/hardware/SensorManager;)V
-PLcom/android/server/display/DisplayManagerService$LocalService;->isProximitySensorAvailable()Z
-PLcom/android/server/display/DisplayManagerService$LocalService;->onOverlayChanged()V
-PLcom/android/server/display/DisplayManagerService$LocalService;->performTraversal(Landroid/view/SurfaceControl$Transaction;)V
 PLcom/android/server/display/DisplayManagerService$LocalService;->persistBrightnessTrackerState()V
 PLcom/android/server/display/DisplayManagerService$LocalService;->registerDisplayTransactionListener(Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
-PLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayAccessUIDs(Landroid/util/SparseArray;)V
-PLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayInfoOverrideFromWindowManager(ILandroid/view/DisplayInfo;)V
-PLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayProperties(IZFIZ)V
+PLcom/android/server/display/DisplayManagerService$LocalService;->screenshot(ILandroid/view/Surface;)Z
 PLcom/android/server/display/DisplayManagerService$LocalService;->unregisterDisplayTransactionListener(Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
-PLcom/android/server/display/DisplayManagerService;->access$1000(Lcom/android/server/display/DisplayManagerService;)Landroid/hardware/display/DisplayViewport;
-PLcom/android/server/display/DisplayManagerService;->access$1100(Lcom/android/server/display/DisplayManagerService;)Ljava/util/ArrayList;
-PLcom/android/server/display/DisplayManagerService;->access$1200(Lcom/android/server/display/DisplayManagerService;)Ljava/util/ArrayList;
-PLcom/android/server/display/DisplayManagerService;->access$1300(Lcom/android/server/display/DisplayManagerService;)Landroid/hardware/input/InputManagerInternal;
-PLcom/android/server/display/DisplayManagerService;->access$1400(Lcom/android/server/display/DisplayManagerService;)V
-PLcom/android/server/display/DisplayManagerService;->access$1900(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService$CallbackRecord;)V
-PLcom/android/server/display/DisplayManagerService;->access$2100(Lcom/android/server/display/DisplayManagerService;I)[I
-PLcom/android/server/display/DisplayManagerService;->access$2200(Lcom/android/server/display/DisplayManagerService;)Landroid/graphics/Point;
-PLcom/android/server/display/DisplayManagerService;->access$2400(Lcom/android/server/display/DisplayManagerService;)Landroid/content/Context;
-PLcom/android/server/display/DisplayManagerService;->access$300(Lcom/android/server/display/DisplayManagerService;)V
-PLcom/android/server/display/DisplayManagerService;->access$3300(Lcom/android/server/display/DisplayManagerService;)Landroid/hardware/display/WifiDisplayStatus;
-PLcom/android/server/display/DisplayManagerService;->access$3400(Lcom/android/server/display/DisplayManagerService;II)V
-PLcom/android/server/display/DisplayManagerService;->access$4202(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayPowerController;)Lcom/android/server/display/DisplayPowerController;
-PLcom/android/server/display/DisplayManagerService;->access$4300(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
-PLcom/android/server/display/DisplayManagerService;->access$4600(Lcom/android/server/display/DisplayManagerService;II)V
-PLcom/android/server/display/DisplayManagerService;->access$4700(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/display/DisplayManagerService$DisplayManagerHandler;
-PLcom/android/server/display/DisplayManagerService;->access$4800(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
-PLcom/android/server/display/DisplayManagerService;->access$4900(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
-PLcom/android/server/display/DisplayManagerService;->access$500(Lcom/android/server/display/DisplayManagerService;)Lcom/android/server/wm/WindowManagerInternal;
-PLcom/android/server/display/DisplayManagerService;->access$5000(Lcom/android/server/display/DisplayManagerService;ILandroid/view/DisplayInfo;)V
-PLcom/android/server/display/DisplayManagerService;->access$5100(Lcom/android/server/display/DisplayManagerService;ILandroid/view/DisplayInfo;)V
-PLcom/android/server/display/DisplayManagerService;->access$5200(Lcom/android/server/display/DisplayManagerService;IZFIZ)V
-PLcom/android/server/display/DisplayManagerService;->access$5400(Lcom/android/server/display/DisplayManagerService;Landroid/util/SparseArray;)V
-PLcom/android/server/display/DisplayManagerService;->access$5600(Lcom/android/server/display/DisplayManagerService;)Ljava/util/ArrayList;
-PLcom/android/server/display/DisplayManagerService;->access$700(Lcom/android/server/display/DisplayManagerService;)Landroid/hardware/display/DisplayViewport;
-PLcom/android/server/display/DisplayManagerService;->access$800(Lcom/android/server/display/DisplayManagerService;)Landroid/hardware/display/DisplayViewport;
-PLcom/android/server/display/DisplayManagerService;->access$900(Lcom/android/server/display/DisplayManagerService;)Landroid/hardware/display/DisplayViewport;
-PLcom/android/server/display/DisplayManagerService;->applyGlobalDisplayStateLocked(Ljava/util/List;)V
-PLcom/android/server/display/DisplayManagerService;->clearViewportsLocked()V
-PLcom/android/server/display/DisplayManagerService;->configureDisplayLocked(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/display/DisplayDevice;)V
-PLcom/android/server/display/DisplayManagerService;->findLogicalDisplayForDeviceLocked(Lcom/android/server/display/DisplayDevice;)Lcom/android/server/display/LogicalDisplay;
-PLcom/android/server/display/DisplayManagerService;->getDisplayIdsInternal(I)[I
-PLcom/android/server/display/DisplayManagerService;->getNonOverrideDisplayInfoInternal(ILandroid/view/DisplayInfo;)V
+PLcom/android/server/display/DisplayManagerService;->createVirtualDisplayInternal(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/media/projection/IMediaProjection;ILjava/lang/String;Ljava/lang/String;IIILandroid/view/Surface;ILjava/lang/String;)I
 PLcom/android/server/display/DisplayManagerService;->getStableDisplaySizeInternal()Landroid/graphics/Point;
-PLcom/android/server/display/DisplayManagerService;->getUserManager()Landroid/os/UserManager;
-PLcom/android/server/display/DisplayManagerService;->getWifiDisplayStatusInternal()Landroid/hardware/display/WifiDisplayStatus;
+PLcom/android/server/display/DisplayManagerService;->handleDisplayDeviceRemoved(Lcom/android/server/display/DisplayDevice;)V
+PLcom/android/server/display/DisplayManagerService;->handleDisplayDeviceRemovedLocked(Lcom/android/server/display/DisplayDevice;)V
 PLcom/android/server/display/DisplayManagerService;->isBrightnessConfigurationTooDark(Landroid/hardware/display/BrightnessConfiguration;)Z
-PLcom/android/server/display/DisplayManagerService;->loadBrightnessConfiguration()V
+PLcom/android/server/display/DisplayManagerService;->isUidPresentOnDisplayInternal(II)Z
 PLcom/android/server/display/DisplayManagerService;->onCallbackDied(Lcom/android/server/display/DisplayManagerService$CallbackRecord;)V
-PLcom/android/server/display/DisplayManagerService;->performTraversalInternal(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/display/DisplayManagerService;->performTraversalLocked(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/display/DisplayManagerService;->registerAdditionalDisplayAdapters()V
-PLcom/android/server/display/DisplayManagerService;->registerDisplayTransactionListenerInternal(Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
-PLcom/android/server/display/DisplayManagerService;->registerOverlayDisplayAdapterLocked()V
-PLcom/android/server/display/DisplayManagerService;->registerWifiDisplayAdapterLocked()V
-PLcom/android/server/display/DisplayManagerService;->requestColorModeInternal(II)V
-PLcom/android/server/display/DisplayManagerService;->requestGlobalDisplayStateInternal(II)V
+PLcom/android/server/display/DisplayManagerService;->releaseVirtualDisplayInternal(Landroid/os/IBinder;)V
+PLcom/android/server/display/DisplayManagerService;->screenshotInternal(ILandroid/view/Surface;)Z
 PLcom/android/server/display/DisplayManagerService;->setBrightnessConfigurationForUserInternal(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
-PLcom/android/server/display/DisplayManagerService;->setDisplayAccessUIDsInternal(Landroid/util/SparseArray;)V
-PLcom/android/server/display/DisplayManagerService;->setDisplayInfoOverrideFromWindowManagerInternal(ILandroid/view/DisplayInfo;)V
-PLcom/android/server/display/DisplayManagerService;->setDisplayPropertiesInternal(IZFIZ)V
-PLcom/android/server/display/DisplayManagerService;->setViewportLocked(Landroid/hardware/display/DisplayViewport;Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/DisplayDevice;)V
-PLcom/android/server/display/DisplayManagerService;->setupSchedulerPolicies()V
-PLcom/android/server/display/DisplayManagerService;->shouldRegisterNonEssentialDisplayAdaptersLocked()Z
+PLcom/android/server/display/DisplayManagerService;->setVirtualDisplayStateInternal(Landroid/os/IBinder;Z)V
+PLcom/android/server/display/DisplayManagerService;->setVirtualDisplaySurfaceInternal(Landroid/os/IBinder;Landroid/view/Surface;)V
 PLcom/android/server/display/DisplayManagerService;->stopWifiDisplayScanLocked(Lcom/android/server/display/DisplayManagerService$CallbackRecord;)V
-PLcom/android/server/display/DisplayManagerService;->systemReady(ZZ)V
-PLcom/android/server/display/DisplayManagerService;->unregisterDisplayTransactionListenerInternal(Landroid/hardware/display/DisplayManagerInternal$DisplayTransactionListener;)V
-PLcom/android/server/display/DisplayManagerService;->validateBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)V
-PLcom/android/server/display/DisplayManagerService;->windowManagerAndInputReady()V
-PLcom/android/server/display/DisplayPowerController$1;-><init>(Lcom/android/server/display/DisplayPowerController;)V
 PLcom/android/server/display/DisplayPowerController$1;->onAnimationEnd(Landroid/animation/Animator;)V
 PLcom/android/server/display/DisplayPowerController$1;->onAnimationStart(Landroid/animation/Animator;)V
-PLcom/android/server/display/DisplayPowerController$2;-><init>(Lcom/android/server/display/DisplayPowerController;)V
-PLcom/android/server/display/DisplayPowerController$2;->onAnimationEnd()V
-PLcom/android/server/display/DisplayPowerController$3;-><init>(Lcom/android/server/display/DisplayPowerController;)V
-PLcom/android/server/display/DisplayPowerController$3;->run()V
-PLcom/android/server/display/DisplayPowerController$4;-><init>(Lcom/android/server/display/DisplayPowerController;)V
-PLcom/android/server/display/DisplayPowerController$4;->run()V
-PLcom/android/server/display/DisplayPowerController$5;-><init>(Lcom/android/server/display/DisplayPowerController;)V
-PLcom/android/server/display/DisplayPowerController$6;-><init>(Lcom/android/server/display/DisplayPowerController;)V
-PLcom/android/server/display/DisplayPowerController$8;-><init>(Lcom/android/server/display/DisplayPowerController;)V
-PLcom/android/server/display/DisplayPowerController$DisplayControllerHandler;-><init>(Lcom/android/server/display/DisplayPowerController;Landroid/os/Looper;)V
-PLcom/android/server/display/DisplayPowerController$DisplayControllerHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/display/DisplayPowerController$ScreenOffUnblocker;-><init>(Lcom/android/server/display/DisplayPowerController;)V
-PLcom/android/server/display/DisplayPowerController$ScreenOffUnblocker;-><init>(Lcom/android/server/display/DisplayPowerController;Lcom/android/server/display/DisplayPowerController$1;)V
+PLcom/android/server/display/DisplayPowerController$5;->run()V
+PLcom/android/server/display/DisplayPowerController$6;->run()V
+PLcom/android/server/display/DisplayPowerController$8;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
+PLcom/android/server/display/DisplayPowerController$8;->onSensorChanged(Landroid/hardware/SensorEvent;)V
 PLcom/android/server/display/DisplayPowerController$ScreenOffUnblocker;->onScreenOff()V
-PLcom/android/server/display/DisplayPowerController$ScreenOnUnblocker;-><init>(Lcom/android/server/display/DisplayPowerController;)V
-PLcom/android/server/display/DisplayPowerController$ScreenOnUnblocker;-><init>(Lcom/android/server/display/DisplayPowerController;Lcom/android/server/display/DisplayPowerController$1;)V
 PLcom/android/server/display/DisplayPowerController$ScreenOnUnblocker;->onScreenOn()V
-PLcom/android/server/display/DisplayPowerController$SettingsObserver;-><init>(Lcom/android/server/display/DisplayPowerController;Landroid/os/Handler;)V
 PLcom/android/server/display/DisplayPowerController$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
-PLcom/android/server/display/DisplayPowerController;-><init>(Landroid/content/Context;Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/android/server/display/DisplayBlanker;)V
-PLcom/android/server/display/DisplayPowerController;->access$000(Lcom/android/server/display/DisplayPowerController;)V
-PLcom/android/server/display/DisplayPowerController;->access$1102(Lcom/android/server/display/DisplayPowerController;Landroid/hardware/display/BrightnessConfiguration;)Landroid/hardware/display/BrightnessConfiguration;
-PLcom/android/server/display/DisplayPowerController;->access$1202(Lcom/android/server/display/DisplayPowerController;I)I
-PLcom/android/server/display/DisplayPowerController;->access$1700(Lcom/android/server/display/DisplayPowerController;Z)V
-PLcom/android/server/display/DisplayPowerController;->access$1800(Lcom/android/server/display/DisplayPowerController;)Lcom/android/server/display/DisplayPowerController$DisplayControllerHandler;
-PLcom/android/server/display/DisplayPowerController;->access$300(Lcom/android/server/display/DisplayPowerController;)Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;
-PLcom/android/server/display/DisplayPowerController;->access$500(Lcom/android/server/display/DisplayPowerController;)V
-PLcom/android/server/display/DisplayPowerController;->access$700(Lcom/android/server/display/DisplayPowerController;)Lcom/android/server/display/DisplayPowerController$ScreenOnUnblocker;
-PLcom/android/server/display/DisplayPowerController;->access$800(Lcom/android/server/display/DisplayPowerController;)V
-PLcom/android/server/display/DisplayPowerController;->access$900(Lcom/android/server/display/DisplayPowerController;)Lcom/android/server/display/DisplayPowerController$ScreenOffUnblocker;
-PLcom/android/server/display/DisplayPowerController;->animateScreenBrightness(II)V
-PLcom/android/server/display/DisplayPowerController;->animateScreenStateChange(IZ)V
 PLcom/android/server/display/DisplayPowerController;->blockScreenOff()V
 PLcom/android/server/display/DisplayPowerController;->blockScreenOn()V
-PLcom/android/server/display/DisplayPowerController;->clampAbsoluteBrightness(I)I
-PLcom/android/server/display/DisplayPowerController;->clampAutoBrightnessAdjustment(F)F
-PLcom/android/server/display/DisplayPowerController;->clampScreenBrightness(I)I
-PLcom/android/server/display/DisplayPowerController;->clampScreenBrightnessForVr(I)I
-PLcom/android/server/display/DisplayPowerController;->convertToNits(I)F
-PLcom/android/server/display/DisplayPowerController;->getAmbientBrightnessStats(I)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/display/DisplayPowerController;->getAutoBrightnessAdjustmentSetting()F
-PLcom/android/server/display/DisplayPowerController;->getBrightnessEvents(IZ)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/display/DisplayPowerController;->getScreenBrightnessForVrSetting()I
-PLcom/android/server/display/DisplayPowerController;->getScreenBrightnessSetting()I
+PLcom/android/server/display/DisplayPowerController;->debounceProximitySensor()V
+PLcom/android/server/display/DisplayPowerController;->handleProximitySensorEvent(JZ)V
 PLcom/android/server/display/DisplayPowerController;->handleSettingsChange(Z)V
-PLcom/android/server/display/DisplayPowerController;->initialize()V
-PLcom/android/server/display/DisplayPowerController;->isProximitySensorAvailable()Z
-PLcom/android/server/display/DisplayPowerController;->notifyBrightnessChanged(IZZ)V
-PLcom/android/server/display/DisplayPowerController;->persistBrightnessTrackerState()V
-PLcom/android/server/display/DisplayPowerController;->putAutoBrightnessAdjustmentSetting(F)V
-PLcom/android/server/display/DisplayPowerController;->putScreenBrightnessSetting(I)V
-PLcom/android/server/display/DisplayPowerController;->sendOnStateChangedWithWakelock()V
-PLcom/android/server/display/DisplayPowerController;->sendUpdatePowerState()V
-PLcom/android/server/display/DisplayPowerController;->sendUpdatePowerStateLocked()V
-PLcom/android/server/display/DisplayPowerController;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)V
-PLcom/android/server/display/DisplayPowerController;->setProximitySensorEnabled(Z)V
-PLcom/android/server/display/DisplayPowerController;->setReportedScreenState(I)V
-PLcom/android/server/display/DisplayPowerController;->setScreenState(I)Z
-PLcom/android/server/display/DisplayPowerController;->setScreenState(IZ)Z
-PLcom/android/server/display/DisplayPowerController;->setTemporaryBrightness(I)V
 PLcom/android/server/display/DisplayPowerController;->unblockScreenOff()V
-PLcom/android/server/display/DisplayPowerController;->unblockScreenOn()V
-PLcom/android/server/display/DisplayPowerController;->updateAutoBrightnessAdjustment()Z
 PLcom/android/server/display/DisplayPowerController;->updateBrightness()V
-PLcom/android/server/display/DisplayPowerController;->updatePowerState()V
-PLcom/android/server/display/DisplayPowerController;->updateUserSetScreenBrightness()Z
-PLcom/android/server/display/DisplayPowerState$1;-><init>(Ljava/lang/String;)V
 PLcom/android/server/display/DisplayPowerState$1;->setValue(Lcom/android/server/display/DisplayPowerState;F)V
 PLcom/android/server/display/DisplayPowerState$1;->setValue(Ljava/lang/Object;F)V
-PLcom/android/server/display/DisplayPowerState$2;-><init>(Ljava/lang/String;)V
-PLcom/android/server/display/DisplayPowerState$2;->setValue(Lcom/android/server/display/DisplayPowerState;I)V
-PLcom/android/server/display/DisplayPowerState$2;->setValue(Ljava/lang/Object;I)V
-PLcom/android/server/display/DisplayPowerState$3;-><init>(Lcom/android/server/display/DisplayPowerState;)V
-PLcom/android/server/display/DisplayPowerState$3;->run()V
-PLcom/android/server/display/DisplayPowerState$4;-><init>(Lcom/android/server/display/DisplayPowerState;)V
 PLcom/android/server/display/DisplayPowerState$4;->run()V
-PLcom/android/server/display/DisplayPowerState$PhotonicModulator;-><init>(Lcom/android/server/display/DisplayPowerState;)V
-PLcom/android/server/display/DisplayPowerState$PhotonicModulator;->run()V
-PLcom/android/server/display/DisplayPowerState$PhotonicModulator;->setState(II)Z
-PLcom/android/server/display/DisplayPowerState;-><init>(Lcom/android/server/display/DisplayBlanker;Lcom/android/server/display/ColorFade;)V
-PLcom/android/server/display/DisplayPowerState;->access$002(Lcom/android/server/display/DisplayPowerState;Z)Z
-PLcom/android/server/display/DisplayPowerState;->access$100(Lcom/android/server/display/DisplayPowerState;)I
-PLcom/android/server/display/DisplayPowerState;->access$1000(Lcom/android/server/display/DisplayPowerState;)Lcom/android/server/display/ColorFade;
-PLcom/android/server/display/DisplayPowerState;->access$1100()Ljava/lang/String;
-PLcom/android/server/display/DisplayPowerState;->access$1202(Lcom/android/server/display/DisplayPowerState;Z)Z
-PLcom/android/server/display/DisplayPowerState;->access$1300(Lcom/android/server/display/DisplayPowerState;)V
-PLcom/android/server/display/DisplayPowerState;->access$1400(Lcom/android/server/display/DisplayPowerState;)Lcom/android/server/display/DisplayBlanker;
-PLcom/android/server/display/DisplayPowerState;->access$200(Lcom/android/server/display/DisplayPowerState;)F
-PLcom/android/server/display/DisplayPowerState;->access$300(Lcom/android/server/display/DisplayPowerState;)I
-PLcom/android/server/display/DisplayPowerState;->access$400(Lcom/android/server/display/DisplayPowerState;)Lcom/android/server/display/DisplayPowerState$PhotonicModulator;
-PLcom/android/server/display/DisplayPowerState;->access$500()Z
-PLcom/android/server/display/DisplayPowerState;->access$602(Lcom/android/server/display/DisplayPowerState;Z)Z
-PLcom/android/server/display/DisplayPowerState;->access$700(Lcom/android/server/display/DisplayPowerState;)V
-PLcom/android/server/display/DisplayPowerState;->access$802(Lcom/android/server/display/DisplayPowerState;Z)Z
-PLcom/android/server/display/DisplayPowerState;->access$900(Lcom/android/server/display/DisplayPowerState;)Z
-PLcom/android/server/display/DisplayPowerState;->dismissColorFade()V
-PLcom/android/server/display/DisplayPowerState;->dismissColorFadeResources()V
-PLcom/android/server/display/DisplayPowerState;->getColorFadeLevel()F
-PLcom/android/server/display/DisplayPowerState;->getScreenBrightness()I
-PLcom/android/server/display/DisplayPowerState;->getScreenState()I
-PLcom/android/server/display/DisplayPowerState;->invokeCleanListenerIfNeeded()V
-PLcom/android/server/display/DisplayPowerState;->postScreenUpdateThreadSafe()V
-PLcom/android/server/display/DisplayPowerState;->prepareColorFade(Landroid/content/Context;I)Z
-PLcom/android/server/display/DisplayPowerState;->scheduleColorFadeDraw()V
-PLcom/android/server/display/DisplayPowerState;->scheduleScreenUpdate()V
-PLcom/android/server/display/DisplayPowerState;->setColorFadeLevel(F)V
-PLcom/android/server/display/DisplayPowerState;->setScreenBrightness(I)V
 PLcom/android/server/display/DisplayPowerState;->setScreenState(I)V
-PLcom/android/server/display/DisplayPowerState;->waitUntilClean(Ljava/lang/Runnable;)Z
+PLcom/android/server/display/DisplayTransformManager;->applyColorMatrix([F)V
+PLcom/android/server/display/DisplayTransformManager;->applySaturation(F)V
+PLcom/android/server/display/DisplayTransformManager;->computeColorMatrixLocked()[F
+PLcom/android/server/display/DisplayTransformManager;->getColorMatrix(I)[F
+PLcom/android/server/display/DisplayTransformManager;->setColorMatrix(I[F)V
+PLcom/android/server/display/DisplayTransformManager;->setColorMode(I[F)Z
+PLcom/android/server/display/DisplayTransformManager;->setDisplayColor(I)V
+PLcom/android/server/display/DisplayTransformManager;->updateConfiguration()V
+PLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->setBrightnessConfigurationForUser(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)Z
+PLcom/android/server/display/RampAnimator$1;->run()V
+PLcom/android/server/display/VirtualDisplayAdapter$Callback;-><init>(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/os/Handler;)V
+PLcom/android/server/display/VirtualDisplayAdapter$Callback;->dispatchDisplayStopped()V
+PLcom/android/server/display/VirtualDisplayAdapter$Callback;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;-><init>(Lcom/android/server/display/VirtualDisplayAdapter;Landroid/os/IBinder;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;IIILandroid/view/Surface;ILcom/android/server/display/VirtualDisplayAdapter$Callback;Ljava/lang/String;I)V
+PLcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;->binderDied()V
+PLcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;->getDisplayDeviceInfoLocked()Lcom/android/server/display/DisplayDeviceInfo;
+PLcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;->hasStableUniqueId()Z
+PLcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;->performTraversalLocked(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/display/VirtualDisplayAdapter$VirtualDisplayDevice;->setSurfaceLocked(Landroid/view/Surface;)V
+PLcom/android/server/display/VirtualDisplayAdapter;->createVirtualDisplayLocked(Landroid/hardware/display/IVirtualDisplayCallback;Landroid/media/projection/IMediaProjection;ILjava/lang/String;Ljava/lang/String;IIILandroid/view/Surface;ILjava/lang/String;)Lcom/android/server/display/DisplayDevice;
+PLcom/android/server/display/VirtualDisplayAdapter;->getNextUniqueIndex(Ljava/lang/String;)I
+PLcom/android/server/display/VirtualDisplayAdapter;->releaseVirtualDisplayLocked(Landroid/os/IBinder;)Lcom/android/server/display/DisplayDevice;
+PLcom/android/server/display/VirtualDisplayAdapter;->setVirtualDisplayStateLocked(Landroid/os/IBinder;Z)V
+PLcom/android/server/display/VirtualDisplayAdapter;->setVirtualDisplaySurfaceLocked(Landroid/os/IBinder;Landroid/view/Surface;)V
+PLcom/android/server/display/color/-$$Lambda$ColorDisplayService$XscOX8OTjfyzvSYcYE2MMIKvvNo;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
+PLcom/android/server/display/color/ColorDisplayService$1;->getLevel()I
+PLcom/android/server/display/color/ColorDisplayService$1;->getMatrix()[F
+PLcom/android/server/display/color/ColorDisplayService$1;->setMatrix(I)V
+PLcom/android/server/display/color/ColorDisplayService$3;->onChange(ZLandroid/net/Uri;)V
+PLcom/android/server/display/color/ColorDisplayService$4;->onAnimationCancel(Landroid/animation/Animator;)V
+PLcom/android/server/display/color/ColorDisplayService$4;->onAnimationEnd(Landroid/animation/Animator;)V
+PLcom/android/server/display/color/ColorDisplayService$BinderService;->getNightDisplayAutoMode()I
+PLcom/android/server/display/color/ColorDisplayService$BinderService;->getNightDisplayAutoModeRaw()I
+PLcom/android/server/display/color/ColorDisplayService$BinderService;->getNightDisplayCustomEndTime()Landroid/hardware/display/Time;
+PLcom/android/server/display/color/ColorDisplayService$BinderService;->getNightDisplayCustomStartTime()Landroid/hardware/display/Time;
+PLcom/android/server/display/color/ColorDisplayService$BinderService;->isDeviceColorManaged()Z
+PLcom/android/server/display/color/ColorDisplayService$BinderService;->isNightDisplayActivated()Z
+PLcom/android/server/display/color/ColorDisplayService$BinderService;->setSaturationLevel(I)Z
+PLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;->evaluate(FLjava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;->evaluate(F[F[F)[F
+PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->onActivated(Z)V
+PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->onAlarm()V
+PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->onStart()V
+PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->updateActivated()V
+PLcom/android/server/display/color/ColorDisplayService$CustomNightDisplayAutoMode;->updateNextAlarm(Ljava/lang/Boolean;Ljava/time/LocalDateTime;)V
+PLcom/android/server/display/color/ColorDisplayService$DisplayWhiteBalanceTintController;->getLevel()I
+PLcom/android/server/display/color/ColorDisplayService$DisplayWhiteBalanceTintController;->getMatrix()[F
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->clampNightDisplayColorTemperature(I)I
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->getLevel()I
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->getMatrix()[F
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->onActivated(Z)V
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->setActivated(Ljava/lang/Boolean;)V
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->setMatrix(I)V
+PLcom/android/server/display/color/ColorDisplayService$NightDisplayTintController;->setUp(Landroid/content/Context;Z)V
+PLcom/android/server/display/color/ColorDisplayService$TintController;->cancelAnimator()V
+PLcom/android/server/display/color/ColorDisplayService$TintController;->getAnimator()Landroid/animation/ValueAnimator;
+PLcom/android/server/display/color/ColorDisplayService$TintController;->setActivated(Ljava/lang/Boolean;)V
+PLcom/android/server/display/color/ColorDisplayService$TintController;->setAnimator(Landroid/animation/ValueAnimator;)V
+PLcom/android/server/display/color/ColorDisplayService$TintHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/display/color/ColorDisplayService;->applyTint(Lcom/android/server/display/color/ColorDisplayService$TintController;Z)V
+PLcom/android/server/display/color/ColorDisplayService;->getColorModeInternal()I
+PLcom/android/server/display/color/ColorDisplayService;->getCurrentColorModeFromSystemProperties()I
+PLcom/android/server/display/color/ColorDisplayService;->getDateTimeAfter(Ljava/time/LocalTime;Ljava/time/LocalDateTime;)Ljava/time/LocalDateTime;
+PLcom/android/server/display/color/ColorDisplayService;->getDateTimeBefore(Ljava/time/LocalTime;Ljava/time/LocalDateTime;)Ljava/time/LocalDateTime;
+PLcom/android/server/display/color/ColorDisplayService;->getNightDisplayAutoModeInternal()I
+PLcom/android/server/display/color/ColorDisplayService;->getNightDisplayCustomEndTimeInternal()Landroid/hardware/display/Time;
+PLcom/android/server/display/color/ColorDisplayService;->getNightDisplayCustomStartTimeInternal()Landroid/hardware/display/Time;
+PLcom/android/server/display/color/ColorDisplayService;->getNightDisplayLastActivatedTimeSetting()Ljava/time/LocalDateTime;
+PLcom/android/server/display/color/ColorDisplayService;->onDisplayColorModeChanged(I)V
+PLcom/android/server/display/color/ColorDisplayService;->onNightDisplayAutoModeChanged(I)V
+PLcom/android/server/display/color/ColorDisplayService;->setUp()V
+PLcom/android/server/display/color/ColorDisplayService;->updateDisplayWhiteBalanceStatus()V
 PLcom/android/server/display/color/DisplayTransformManager;->applyColorMatrix([F)V
 PLcom/android/server/display/color/DisplayTransformManager;->applySaturation(F)V
 PLcom/android/server/display/color/DisplayTransformManager;->computeColorMatrixLocked()[F
 PLcom/android/server/display/color/DisplayTransformManager;->getColorMatrix(I)[F
-PLcom/android/server/display/color/DisplayTransformManager;->needsLinearColorMatrix()Z
-PLcom/android/server/display/color/DisplayTransformManager;->needsLinearColorMatrix(I)Z
+PLcom/android/server/display/color/DisplayTransformManager;->isDeviceColorManaged()Z
 PLcom/android/server/display/color/DisplayTransformManager;->setColorMatrix(I[F)V
 PLcom/android/server/display/color/DisplayTransformManager;->setColorMode(I[F)Z
-PLcom/android/server/display/color/DisplayTransformManager;->setDaltonizerMode(I)V
 PLcom/android/server/display/color/DisplayTransformManager;->setDisplayColor(I)V
 PLcom/android/server/display/color/DisplayTransformManager;->updateConfiguration()V
-PLcom/android/server/display/HysteresisLevels;-><init>([I[I[I)V
-PLcom/android/server/display/HysteresisLevels;->getBrighteningThreshold(F)F
-PLcom/android/server/display/HysteresisLevels;->getDarkeningThreshold(F)F
-PLcom/android/server/display/HysteresisLevels;->getReferenceLevel(F[F)F
-PLcom/android/server/display/HysteresisLevels;->setArrayFormat([IF)[F
-PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->onOverlayChangedLocked()V
-PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->requestColorModeLocked(I)Z
-PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->requestDisplayModesLocked(II)V
-PLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->requestModeLocked(I)Z
-PLcom/android/server/display/LogicalDisplay;->configureDisplayLocked(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/display/DisplayDevice;Z)V
-PLcom/android/server/display/LogicalDisplay;->getDisplayIdLocked()I
-PLcom/android/server/display/LogicalDisplay;->getNonOverrideDisplayInfoLocked(Landroid/view/DisplayInfo;)V
-PLcom/android/server/display/LogicalDisplay;->getRequestedColorModeLocked()I
-PLcom/android/server/display/LogicalDisplay;->getRequestedModeIdLocked()I
-PLcom/android/server/display/LogicalDisplay;->hasContentLocked()Z
-PLcom/android/server/display/LogicalDisplay;->setDisplayInfoOverrideFromWindowManagerLocked(Landroid/view/DisplayInfo;)Z
-PLcom/android/server/display/LogicalDisplay;->setHasContentLocked(Z)V
-PLcom/android/server/display/OverlayDisplayAdapter$1$1;-><init>(Lcom/android/server/display/OverlayDisplayAdapter$1;Landroid/os/Handler;)V
-PLcom/android/server/display/OverlayDisplayAdapter$1;-><init>(Lcom/android/server/display/OverlayDisplayAdapter;)V
-PLcom/android/server/display/OverlayDisplayAdapter$1;->run()V
-PLcom/android/server/display/OverlayDisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Landroid/os/Handler;)V
-PLcom/android/server/display/OverlayDisplayAdapter;->access$000(Lcom/android/server/display/OverlayDisplayAdapter;)V
-PLcom/android/server/display/OverlayDisplayAdapter;->registerLocked()V
-PLcom/android/server/display/OverlayDisplayAdapter;->updateOverlayDisplayDevices()V
-PLcom/android/server/display/OverlayDisplayAdapter;->updateOverlayDisplayDevicesLocked()V
-PLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->access$200(Lcom/android/server/display/PersistentDataStore$BrightnessConfigurations;Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)Z
-PLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->getBrightnessConfiguration(I)Landroid/hardware/display/BrightnessConfiguration;
-PLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->saveConfigurationToXml(Lorg/xmlpull/v1/XmlSerializer;Landroid/hardware/display/BrightnessConfiguration;)V
-PLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->setBrightnessConfigurationForUser(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)Z
-PLcom/android/server/display/PersistentDataStore$Injector;->finishWrite(Ljava/io/OutputStream;Z)V
-PLcom/android/server/display/PersistentDataStore$Injector;->startWrite()Ljava/io/OutputStream;
-PLcom/android/server/display/PersistentDataStore$StableDeviceValues;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/display/PersistentDataStore;->getBrightnessConfiguration(I)Landroid/hardware/display/BrightnessConfiguration;
-PLcom/android/server/display/PersistentDataStore;->save()V
-PLcom/android/server/display/PersistentDataStore;->saveIfNeeded()V
-PLcom/android/server/display/PersistentDataStore;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/display/PersistentDataStore;->setBrightnessConfigurationForUser(Landroid/hardware/display/BrightnessConfiguration;ILjava/lang/String;)V
-PLcom/android/server/display/PersistentDataStore;->setDirty()V
-PLcom/android/server/display/RampAnimator$1;-><init>(Lcom/android/server/display/RampAnimator;)V
-PLcom/android/server/display/RampAnimator$1;->run()V
-PLcom/android/server/display/RampAnimator;-><init>(Ljava/lang/Object;Landroid/util/IntProperty;)V
-PLcom/android/server/display/RampAnimator;->access$000(Lcom/android/server/display/RampAnimator;)Landroid/view/Choreographer;
-PLcom/android/server/display/RampAnimator;->access$100(Lcom/android/server/display/RampAnimator;)J
-PLcom/android/server/display/RampAnimator;->access$1000(Lcom/android/server/display/RampAnimator;)Lcom/android/server/display/RampAnimator$Listener;
-PLcom/android/server/display/RampAnimator;->access$102(Lcom/android/server/display/RampAnimator;J)J
-PLcom/android/server/display/RampAnimator;->access$200(Lcom/android/server/display/RampAnimator;)F
-PLcom/android/server/display/RampAnimator;->access$202(Lcom/android/server/display/RampAnimator;F)F
-PLcom/android/server/display/RampAnimator;->access$300(Lcom/android/server/display/RampAnimator;)I
-PLcom/android/server/display/RampAnimator;->access$400(Lcom/android/server/display/RampAnimator;)I
-PLcom/android/server/display/RampAnimator;->access$500(Lcom/android/server/display/RampAnimator;)I
-PLcom/android/server/display/RampAnimator;->access$502(Lcom/android/server/display/RampAnimator;I)I
-PLcom/android/server/display/RampAnimator;->access$600(Lcom/android/server/display/RampAnimator;)Ljava/lang/Object;
-PLcom/android/server/display/RampAnimator;->access$700(Lcom/android/server/display/RampAnimator;)Landroid/util/IntProperty;
-PLcom/android/server/display/RampAnimator;->access$800(Lcom/android/server/display/RampAnimator;)V
-PLcom/android/server/display/RampAnimator;->access$902(Lcom/android/server/display/RampAnimator;Z)Z
-PLcom/android/server/display/RampAnimator;->animateTo(II)Z
-PLcom/android/server/display/RampAnimator;->isAnimating()Z
-PLcom/android/server/display/RampAnimator;->postAnimationCallback()V
-PLcom/android/server/display/RampAnimator;->setListener(Lcom/android/server/display/RampAnimator$Listener;)V
-PLcom/android/server/display/utils/Plog$SystemPlog;-><init>(Ljava/lang/String;)V
-PLcom/android/server/display/utils/Plog;-><init>()V
-PLcom/android/server/display/utils/Plog;->createSystemPlog(Ljava/lang/String;)Lcom/android/server/display/utils/Plog;
-PLcom/android/server/dreams/-$$Lambda$DreamManagerService$f7cEVKQvPKMm_Ir9dq0e6PSOkX8;-><init>(Lcom/android/server/dreams/DreamManagerService;Landroid/os/Binder;Landroid/content/ComponentName;ZZILandroid/os/PowerManager$WakeLock;)V
 PLcom/android/server/dreams/-$$Lambda$DreamManagerService$f7cEVKQvPKMm_Ir9dq0e6PSOkX8;->run()V
-PLcom/android/server/dreams/-$$Lambda$gXC4nM2f5GMCBX0ED45DCQQjqv0;-><init>(Lcom/android/server/dreams/DreamController$DreamRecord;)V
 PLcom/android/server/dreams/-$$Lambda$gXC4nM2f5GMCBX0ED45DCQQjqv0;->run()V
-PLcom/android/server/dreams/DreamController$1;-><init>(Lcom/android/server/dreams/DreamController;)V
 PLcom/android/server/dreams/DreamController$1;->run()V
-PLcom/android/server/dreams/DreamController$2;-><init>(Lcom/android/server/dreams/DreamController;)V
-PLcom/android/server/dreams/DreamController$3;-><init>(Lcom/android/server/dreams/DreamController;Lcom/android/server/dreams/DreamController$DreamRecord;)V
 PLcom/android/server/dreams/DreamController$3;->run()V
-PLcom/android/server/dreams/DreamController$DreamRecord$2;-><init>(Lcom/android/server/dreams/DreamController$DreamRecord;Landroid/os/IBinder;)V
 PLcom/android/server/dreams/DreamController$DreamRecord$2;->run()V
-PLcom/android/server/dreams/DreamController$DreamRecord$4;-><init>(Lcom/android/server/dreams/DreamController$DreamRecord;)V
 PLcom/android/server/dreams/DreamController$DreamRecord$4;->sendResult(Landroid/os/Bundle;)V
 PLcom/android/server/dreams/DreamController$DreamRecord;-><init>(Lcom/android/server/dreams/DreamController;Landroid/os/Binder;Landroid/content/ComponentName;ZZILandroid/os/PowerManager$WakeLock;)V
 PLcom/android/server/dreams/DreamController$DreamRecord;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/dreams/DreamController$DreamRecord;->releaseWakeLockIfNeeded()V
-PLcom/android/server/dreams/DreamController;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/dreams/DreamController$Listener;)V
-PLcom/android/server/dreams/DreamController;->access$000(Lcom/android/server/dreams/DreamController;)Lcom/android/server/dreams/DreamController$DreamRecord;
-PLcom/android/server/dreams/DreamController;->access$100(Lcom/android/server/dreams/DreamController;)Lcom/android/server/dreams/DreamController$Listener;
-PLcom/android/server/dreams/DreamController;->access$200(Lcom/android/server/dreams/DreamController;)Landroid/os/Handler;
-PLcom/android/server/dreams/DreamController;->access$300(Lcom/android/server/dreams/DreamController;Landroid/service/dreams/IDreamService;)V
 PLcom/android/server/dreams/DreamController;->attach(Landroid/service/dreams/IDreamService;)V
 PLcom/android/server/dreams/DreamController;->startDream(Landroid/os/Binder;Landroid/content/ComponentName;ZZILandroid/os/PowerManager$WakeLock;)V
 PLcom/android/server/dreams/DreamController;->stopDream(Z)V
-PLcom/android/server/dreams/DreamManagerService$1;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
-PLcom/android/server/dreams/DreamManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/dreams/DreamManagerService$3;-><init>(Lcom/android/server/dreams/DreamManagerService;Z)V
 PLcom/android/server/dreams/DreamManagerService$3;->run()V
-PLcom/android/server/dreams/DreamManagerService$4;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
 PLcom/android/server/dreams/DreamManagerService$4;->onDreamStopped(Landroid/os/Binder;)V
-PLcom/android/server/dreams/DreamManagerService$5;-><init>(Lcom/android/server/dreams/DreamManagerService;Landroid/os/Handler;)V
-PLcom/android/server/dreams/DreamManagerService$6;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
-PLcom/android/server/dreams/DreamManagerService$6;->run()V
-PLcom/android/server/dreams/DreamManagerService$BinderService;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
-PLcom/android/server/dreams/DreamManagerService$BinderService;-><init>(Lcom/android/server/dreams/DreamManagerService;Lcom/android/server/dreams/DreamManagerService$1;)V
 PLcom/android/server/dreams/DreamManagerService$BinderService;->awaken()V
 PLcom/android/server/dreams/DreamManagerService$BinderService;->finishSelf(Landroid/os/IBinder;Z)V
+PLcom/android/server/dreams/DreamManagerService$BinderService;->forceAmbientDisplayEnabled(Z)V
+PLcom/android/server/dreams/DreamManagerService$BinderService;->getDefaultDreamComponent()Landroid/content/ComponentName;
+PLcom/android/server/dreams/DreamManagerService$BinderService;->getDreamComponents()[Landroid/content/ComponentName;
+PLcom/android/server/dreams/DreamManagerService$BinderService;->isDreaming()Z
 PLcom/android/server/dreams/DreamManagerService$BinderService;->startDozing(Landroid/os/IBinder;II)V
-PLcom/android/server/dreams/DreamManagerService$DreamHandler;-><init>(Lcom/android/server/dreams/DreamManagerService;Landroid/os/Looper;)V
-PLcom/android/server/dreams/DreamManagerService$LocalService;-><init>(Lcom/android/server/dreams/DreamManagerService;)V
-PLcom/android/server/dreams/DreamManagerService$LocalService;-><init>(Lcom/android/server/dreams/DreamManagerService;Lcom/android/server/dreams/DreamManagerService$1;)V
 PLcom/android/server/dreams/DreamManagerService$LocalService;->startDream(Z)V
 PLcom/android/server/dreams/DreamManagerService$LocalService;->stopDream(Z)V
-PLcom/android/server/dreams/DreamManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/dreams/DreamManagerService;->access$1000(Lcom/android/server/dreams/DreamManagerService;Ljava/lang/String;)V
-PLcom/android/server/dreams/DreamManagerService;->access$1700(Lcom/android/server/dreams/DreamManagerService;)V
-PLcom/android/server/dreams/DreamManagerService;->access$1800(Lcom/android/server/dreams/DreamManagerService;Landroid/os/IBinder;Z)V
-PLcom/android/server/dreams/DreamManagerService;->access$1900(Lcom/android/server/dreams/DreamManagerService;Landroid/os/IBinder;II)V
-PLcom/android/server/dreams/DreamManagerService;->access$200(Lcom/android/server/dreams/DreamManagerService;)V
-PLcom/android/server/dreams/DreamManagerService;->access$2100(Lcom/android/server/dreams/DreamManagerService;Z)V
-PLcom/android/server/dreams/DreamManagerService;->access$2200(Lcom/android/server/dreams/DreamManagerService;Z)V
-PLcom/android/server/dreams/DreamManagerService;->access$2300(Lcom/android/server/dreams/DreamManagerService;)Landroid/content/ComponentName;
-PLcom/android/server/dreams/DreamManagerService;->access$300(Lcom/android/server/dreams/DreamManagerService;)Ljava/lang/Object;
-PLcom/android/server/dreams/DreamManagerService;->access$400(Lcom/android/server/dreams/DreamManagerService;Z)V
-PLcom/android/server/dreams/DreamManagerService;->access$500(Lcom/android/server/dreams/DreamManagerService;)Lcom/android/server/dreams/DreamController;
-PLcom/android/server/dreams/DreamManagerService;->access$600(Lcom/android/server/dreams/DreamManagerService;)Landroid/os/Binder;
 PLcom/android/server/dreams/DreamManagerService;->checkPermission(Ljava/lang/String;)V
-PLcom/android/server/dreams/DreamManagerService;->chooseDreamForUser(ZI)Landroid/content/ComponentName;
-PLcom/android/server/dreams/DreamManagerService;->cleanupDreamLocked()V
 PLcom/android/server/dreams/DreamManagerService;->finishSelfInternal(Landroid/os/IBinder;Z)V
-PLcom/android/server/dreams/DreamManagerService;->getDozeComponent()Landroid/content/ComponentName;
-PLcom/android/server/dreams/DreamManagerService;->getDozeComponent(I)Landroid/content/ComponentName;
-PLcom/android/server/dreams/DreamManagerService;->getServiceInfo(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
-PLcom/android/server/dreams/DreamManagerService;->lambda$startDreamLocked$0(Lcom/android/server/dreams/DreamManagerService;Landroid/os/Binder;Landroid/content/ComponentName;ZZILandroid/os/PowerManager$WakeLock;)V
-PLcom/android/server/dreams/DreamManagerService;->onBootPhase(I)V
-PLcom/android/server/dreams/DreamManagerService;->onStart()V
-PLcom/android/server/dreams/DreamManagerService;->requestAwakenInternal()V
+PLcom/android/server/dreams/DreamManagerService;->forceAmbientDisplayEnabledInternal(Z)V
+PLcom/android/server/dreams/DreamManagerService;->getDreamComponentsForUser(I)[Landroid/content/ComponentName;
 PLcom/android/server/dreams/DreamManagerService;->startDozingInternal(Landroid/os/IBinder;II)V
 PLcom/android/server/dreams/DreamManagerService;->startDreamInternal(Z)V
 PLcom/android/server/dreams/DreamManagerService;->startDreamLocked(Landroid/content/ComponentName;ZZI)V
 PLcom/android/server/dreams/DreamManagerService;->stopDreamInternal(Z)V
-PLcom/android/server/dreams/DreamManagerService;->stopDreamLocked(Z)V
-PLcom/android/server/dreams/DreamManagerService;->validateDream(Landroid/content/ComponentName;)Z
-PLcom/android/server/dreams/DreamManagerService;->writePulseGestureEnabled()V
-PLcom/android/server/emergency/EmergencyAffordanceService$1;-><init>(Lcom/android/server/emergency/EmergencyAffordanceService;)V
 PLcom/android/server/emergency/EmergencyAffordanceService$1;->onCellInfoChanged(Ljava/util/List;)V
 PLcom/android/server/emergency/EmergencyAffordanceService$1;->onCellLocationChanged(Landroid/telephony/CellLocation;)V
-PLcom/android/server/emergency/EmergencyAffordanceService$2;-><init>(Lcom/android/server/emergency/EmergencyAffordanceService;)V
-PLcom/android/server/emergency/EmergencyAffordanceService$3;-><init>(Lcom/android/server/emergency/EmergencyAffordanceService;)V
 PLcom/android/server/emergency/EmergencyAffordanceService$3;->onSubscriptionsChanged()V
-PLcom/android/server/emergency/EmergencyAffordanceService$MyHandler;-><init>(Lcom/android/server/emergency/EmergencyAffordanceService;Landroid/os/Looper;)V
-PLcom/android/server/emergency/EmergencyAffordanceService$MyHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/emergency/EmergencyAffordanceService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/emergency/EmergencyAffordanceService;->access$000(Lcom/android/server/emergency/EmergencyAffordanceService;)Z
-PLcom/android/server/emergency/EmergencyAffordanceService;->access$100(Lcom/android/server/emergency/EmergencyAffordanceService;)V
-PLcom/android/server/emergency/EmergencyAffordanceService;->access$300(Lcom/android/server/emergency/EmergencyAffordanceService;)Lcom/android/server/emergency/EmergencyAffordanceService$MyHandler;
-PLcom/android/server/emergency/EmergencyAffordanceService;->access$400(Lcom/android/server/emergency/EmergencyAffordanceService;)V
-PLcom/android/server/emergency/EmergencyAffordanceService;->access$500(Lcom/android/server/emergency/EmergencyAffordanceService;)Z
-PLcom/android/server/emergency/EmergencyAffordanceService;->access$600(Lcom/android/server/emergency/EmergencyAffordanceService;)Z
-PLcom/android/server/emergency/EmergencyAffordanceService;->handleInitializeState()V
-PLcom/android/server/emergency/EmergencyAffordanceService;->handleUpdateCellInfo()Z
-PLcom/android/server/emergency/EmergencyAffordanceService;->handleUpdateSimSubscriptionInfo()Z
 PLcom/android/server/emergency/EmergencyAffordanceService;->isEmergencyAffordanceNeeded()Z
-PLcom/android/server/emergency/EmergencyAffordanceService;->mccRequiresEmergencyAffordance(I)Z
-PLcom/android/server/emergency/EmergencyAffordanceService;->onBootPhase(I)V
-PLcom/android/server/emergency/EmergencyAffordanceService;->onStart()V
-PLcom/android/server/emergency/EmergencyAffordanceService;->requestCellScan()V
+PLcom/android/server/emergency/EmergencyAffordanceService;->onCellScanFinishedUnsuccessful()V
 PLcom/android/server/emergency/EmergencyAffordanceService;->setNetworkNeedsEmergencyAffordance(Z)V
-PLcom/android/server/emergency/EmergencyAffordanceService;->setSimNeedsEmergencyAffordance(Z)V
-PLcom/android/server/emergency/EmergencyAffordanceService;->simNeededAffordanceBefore()Z
-PLcom/android/server/emergency/EmergencyAffordanceService;->startScanning()V
 PLcom/android/server/emergency/EmergencyAffordanceService;->stopScanning()V
-PLcom/android/server/emergency/EmergencyAffordanceService;->updateEmergencyAffordanceNeeded()V
-PLcom/android/server/fingerprint/-$$Lambda$l42rkDmfSgEoarEM7da3vinr3Iw;-><init>(Lcom/android/server/fingerprint/FingerprintService;)V
-PLcom/android/server/fingerprint/-$$Lambda$l42rkDmfSgEoarEM7da3vinr3Iw;->run()V
-PLcom/android/server/fingerprint/AuthenticationClient$1;-><init>(Lcom/android/server/fingerprint/AuthenticationClient;)V
-PLcom/android/server/fingerprint/AuthenticationClient;-><init>(Landroid/content/Context;JLandroid/os/IBinder;Landroid/hardware/fingerprint/IFingerprintServiceReceiver;IIJZLjava/lang/String;Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricPromptReceiver;Lcom/android/internal/statusbar/IStatusBarService;)V
-PLcom/android/server/fingerprint/AuthenticationClient;->onAcquired(II)Z
-PLcom/android/server/fingerprint/AuthenticationClient;->onAuthenticated(II)Z
-PLcom/android/server/fingerprint/AuthenticationClient;->onError(II)Z
-PLcom/android/server/fingerprint/AuthenticationClient;->start()I
-PLcom/android/server/fingerprint/AuthenticationClient;->stop(Z)I
-PLcom/android/server/fingerprint/ClientMonitor;-><init>(Landroid/content/Context;JLandroid/os/IBinder;Landroid/hardware/fingerprint/IFingerprintServiceReceiver;IIZLjava/lang/String;)V
-PLcom/android/server/fingerprint/ClientMonitor;->destroy()V
-PLcom/android/server/fingerprint/ClientMonitor;->finalize()V
-PLcom/android/server/fingerprint/ClientMonitor;->getContext()Landroid/content/Context;
-PLcom/android/server/fingerprint/ClientMonitor;->getGroupId()I
-PLcom/android/server/fingerprint/ClientMonitor;->getHalDeviceId()J
-PLcom/android/server/fingerprint/ClientMonitor;->getIsRestricted()Z
-PLcom/android/server/fingerprint/ClientMonitor;->getOwnerString()Ljava/lang/String;
-PLcom/android/server/fingerprint/ClientMonitor;->getReceiver()Landroid/hardware/fingerprint/IFingerprintServiceReceiver;
-PLcom/android/server/fingerprint/ClientMonitor;->getTargetUserId()I
-PLcom/android/server/fingerprint/ClientMonitor;->getToken()Landroid/os/IBinder;
-PLcom/android/server/fingerprint/ClientMonitor;->onAcquired(II)Z
-PLcom/android/server/fingerprint/ClientMonitor;->onError(II)Z
-PLcom/android/server/fingerprint/ClientMonitor;->vibrateError()V
-PLcom/android/server/fingerprint/ClientMonitor;->vibrateSuccess()V
-PLcom/android/server/fingerprint/EnumerateClient;-><init>(Landroid/content/Context;JLandroid/os/IBinder;Landroid/hardware/fingerprint/IFingerprintServiceReceiver;IIZLjava/lang/String;)V
-PLcom/android/server/fingerprint/EnumerateClient;->start()I
-PLcom/android/server/fingerprint/FingerprintService$10;-><init>(Lcom/android/server/fingerprint/FingerprintService;Landroid/content/Context;JLandroid/os/IBinder;Landroid/hardware/fingerprint/IFingerprintServiceReceiver;IIJZLjava/lang/String;Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricPromptReceiver;Lcom/android/internal/statusbar/IStatusBarService;)V
-PLcom/android/server/fingerprint/FingerprintService$10;->getFingerprintDaemon()Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
-PLcom/android/server/fingerprint/FingerprintService$10;->handleFailedAttempt()I
-PLcom/android/server/fingerprint/FingerprintService$10;->notifyUserActivity()V
-PLcom/android/server/fingerprint/FingerprintService$10;->onStart()V
-PLcom/android/server/fingerprint/FingerprintService$10;->onStop()V
-PLcom/android/server/fingerprint/FingerprintService$10;->resetFailedAttempts()V
-PLcom/android/server/fingerprint/FingerprintService$12$2;-><init>(Lcom/android/server/fingerprint/FingerprintService$12;JII)V
-PLcom/android/server/fingerprint/FingerprintService$12$2;->run()V
-PLcom/android/server/fingerprint/FingerprintService$12$3;-><init>(Lcom/android/server/fingerprint/FingerprintService$12;JIILjava/util/ArrayList;)V
-PLcom/android/server/fingerprint/FingerprintService$12$3;->run()V
-PLcom/android/server/fingerprint/FingerprintService$12$4;-><init>(Lcom/android/server/fingerprint/FingerprintService$12;JII)V
-PLcom/android/server/fingerprint/FingerprintService$12$4;->run()V
-PLcom/android/server/fingerprint/FingerprintService$12$6;-><init>(Lcom/android/server/fingerprint/FingerprintService$12;JIII)V
-PLcom/android/server/fingerprint/FingerprintService$12$6;->run()V
-PLcom/android/server/fingerprint/FingerprintService$12;-><init>(Lcom/android/server/fingerprint/FingerprintService;)V
-PLcom/android/server/fingerprint/FingerprintService$12;->onAcquired(JII)V
-PLcom/android/server/fingerprint/FingerprintService$12;->onAuthenticated(JIILjava/util/ArrayList;)V
-PLcom/android/server/fingerprint/FingerprintService$12;->onEnumerate(JIII)V
-PLcom/android/server/fingerprint/FingerprintService$12;->onError(JII)V
-PLcom/android/server/fingerprint/FingerprintService$13;-><init>(Lcom/android/server/fingerprint/FingerprintService;)V
-PLcom/android/server/fingerprint/FingerprintService$1;-><init>(Lcom/android/server/fingerprint/FingerprintService;)V
-PLcom/android/server/fingerprint/FingerprintService$2;-><init>(Lcom/android/server/fingerprint/FingerprintService;)V
-PLcom/android/server/fingerprint/FingerprintService$3;-><init>(Lcom/android/server/fingerprint/FingerprintService;)V
-PLcom/android/server/fingerprint/FingerprintService$3;->run()V
-PLcom/android/server/fingerprint/FingerprintService$4;-><init>(Lcom/android/server/fingerprint/FingerprintService;)V
-PLcom/android/server/fingerprint/FingerprintService$5;-><init>(Lcom/android/server/fingerprint/FingerprintService;)V
-PLcom/android/server/fingerprint/FingerprintService$5;->onTaskStackChanged()V
-PLcom/android/server/fingerprint/FingerprintService$8;-><init>(Lcom/android/server/fingerprint/FingerprintService;Landroid/content/Context;JLandroid/os/IBinder;Landroid/hardware/fingerprint/IFingerprintServiceReceiver;IIZLjava/lang/String;Ljava/util/List;)V
-PLcom/android/server/fingerprint/FingerprintService$8;->getFingerprintDaemon()Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceLockoutResetMonitor$1;-><init>(Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceLockoutResetMonitor;)V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceLockoutResetMonitor$1;->sendResult(Landroid/os/Bundle;)V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceLockoutResetMonitor$2;-><init>(Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceLockoutResetMonitor;)V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceLockoutResetMonitor;-><init>(Lcom/android/server/fingerprint/FingerprintService;Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback;)V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceLockoutResetMonitor;->access$1400(Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceLockoutResetMonitor;)V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceLockoutResetMonitor;->releaseWakelock()V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceLockoutResetMonitor;->sendLockoutReset()V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper$3;-><init>(Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;JLandroid/os/IBinder;IILandroid/hardware/fingerprint/IFingerprintServiceReceiver;IZLjava/lang/String;Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricPromptReceiver;)V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper$3;->run()V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper$4;-><init>(Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;Landroid/os/IBinder;)V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper$4;->run()V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper$5;-><init>(Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;I)V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper$5;->run()V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper$9;-><init>(Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback;)V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper$9;->run()V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-><init>(Lcom/android/server/fingerprint/FingerprintService;)V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;-><init>(Lcom/android/server/fingerprint/FingerprintService;Lcom/android/server/fingerprint/FingerprintService$1;)V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;->addLockoutResetCallback(Landroid/hardware/fingerprint/IFingerprintServiceLockoutResetCallback;)V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;->authenticate(Landroid/os/IBinder;JILandroid/hardware/fingerprint/IFingerprintServiceReceiver;ILjava/lang/String;Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricPromptReceiver;)V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;->cancelAuthentication(Landroid/os/IBinder;Ljava/lang/String;)V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;->getEnrolledFingerprints(ILjava/lang/String;)Ljava/util/List;
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;->hasEnrolledFingerprints(ILjava/lang/String;)Z
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;->isHardwareDetected(JLjava/lang/String;)Z
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;->isRestricted()Z
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;->resetTimeout([B)V
-PLcom/android/server/fingerprint/FingerprintService$FingerprintServiceWrapper;->setActiveUser(I)V
-PLcom/android/server/fingerprint/FingerprintService$PerformanceStats;-><init>(Lcom/android/server/fingerprint/FingerprintService;)V
-PLcom/android/server/fingerprint/FingerprintService$PerformanceStats;-><init>(Lcom/android/server/fingerprint/FingerprintService;Lcom/android/server/fingerprint/FingerprintService$1;)V
-PLcom/android/server/fingerprint/FingerprintService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/fingerprint/FingerprintService;->access$000(Lcom/android/server/fingerprint/FingerprintService;)Lcom/android/server/fingerprint/ClientMonitor;
-PLcom/android/server/fingerprint/FingerprintService;->access$1002(Lcom/android/server/fingerprint/FingerprintService;Lcom/android/server/fingerprint/FingerprintService$PerformanceStats;)Lcom/android/server/fingerprint/FingerprintService$PerformanceStats;
-PLcom/android/server/fingerprint/FingerprintService;->access$1200(Lcom/android/server/fingerprint/FingerprintService;)Landroid/os/PowerManager;
-PLcom/android/server/fingerprint/FingerprintService;->access$1300(Lcom/android/server/fingerprint/FingerprintService;)J
-PLcom/android/server/fingerprint/FingerprintService;->access$1500(Lcom/android/server/fingerprint/FingerprintService;)Landroid/os/Handler;
-PLcom/android/server/fingerprint/FingerprintService;->access$1700(Lcom/android/server/fingerprint/FingerprintService;)Landroid/content/Context;
-PLcom/android/server/fingerprint/FingerprintService;->access$1900(Lcom/android/server/fingerprint/FingerprintService;Ljava/lang/String;ZIII)Z
-PLcom/android/server/fingerprint/FingerprintService;->access$2000(Lcom/android/server/fingerprint/FingerprintService;)Ljava/util/HashMap;
-PLcom/android/server/fingerprint/FingerprintService;->access$2200(Lcom/android/server/fingerprint/FingerprintService;)I
-PLcom/android/server/fingerprint/FingerprintService;->access$2400(Lcom/android/server/fingerprint/FingerprintService;Landroid/os/IBinder;JIILandroid/hardware/fingerprint/IFingerprintServiceReceiver;IZLjava/lang/String;Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricPromptReceiver;)V
-PLcom/android/server/fingerprint/FingerprintService;->access$2500(Lcom/android/server/fingerprint/FingerprintService;ILjava/lang/String;)V
-PLcom/android/server/fingerprint/FingerprintService;->access$2900(Lcom/android/server/fingerprint/FingerprintService;)Ljava/lang/Runnable;
-PLcom/android/server/fingerprint/FingerprintService;->access$300(Lcom/android/server/fingerprint/FingerprintService;Ljava/lang/String;)Z
-PLcom/android/server/fingerprint/FingerprintService;->access$3000(Lcom/android/server/fingerprint/FingerprintService;Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceLockoutResetMonitor;)V
-PLcom/android/server/fingerprint/FingerprintService;->access$400(Lcom/android/server/fingerprint/FingerprintService;)Landroid/app/IActivityManager;
-PLcom/android/server/fingerprint/FingerprintService;->access$500(Lcom/android/server/fingerprint/FingerprintService;)V
-PLcom/android/server/fingerprint/FingerprintService;->access$600(Lcom/android/server/fingerprint/FingerprintService;)Landroid/app/TaskStackListener;
-PLcom/android/server/fingerprint/FingerprintService;->access$700(Lcom/android/server/fingerprint/FingerprintService;)Landroid/util/SparseIntArray;
-PLcom/android/server/fingerprint/FingerprintService;->access$800(Lcom/android/server/fingerprint/FingerprintService;)Landroid/util/SparseBooleanArray;
-PLcom/android/server/fingerprint/FingerprintService;->access$900(Lcom/android/server/fingerprint/FingerprintService;)I
-PLcom/android/server/fingerprint/FingerprintService;->addLockoutResetMonitor(Lcom/android/server/fingerprint/FingerprintService$FingerprintServiceLockoutResetMonitor;)V
-PLcom/android/server/fingerprint/FingerprintService;->canUseFingerprint(Ljava/lang/String;ZIII)Z
-PLcom/android/server/fingerprint/FingerprintService;->cancelLockoutResetForUser(I)V
-PLcom/android/server/fingerprint/FingerprintService;->checkPermission(Ljava/lang/String;)V
-PLcom/android/server/fingerprint/FingerprintService;->cleanupUnknownFingerprints()V
-PLcom/android/server/fingerprint/FingerprintService;->clearEnumerateState()V
-PLcom/android/server/fingerprint/FingerprintService;->doFingerprintCleanupForUser(I)V
-PLcom/android/server/fingerprint/FingerprintService;->enumerateUser(I)V
-PLcom/android/server/fingerprint/FingerprintService;->getEffectiveUserId(I)I
-PLcom/android/server/fingerprint/FingerprintService;->getEnrolledFingerprints(I)Ljava/util/List;
-PLcom/android/server/fingerprint/FingerprintService;->getFingerprintDaemon()Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
-PLcom/android/server/fingerprint/FingerprintService;->getLockoutMode()I
-PLcom/android/server/fingerprint/FingerprintService;->getLockoutResetIntentForUser(I)Landroid/app/PendingIntent;
-PLcom/android/server/fingerprint/FingerprintService;->getUserOrWorkProfileId(Ljava/lang/String;I)I
-PLcom/android/server/fingerprint/FingerprintService;->handleAcquired(JII)V
-PLcom/android/server/fingerprint/FingerprintService;->handleAuthenticated(JIILjava/util/ArrayList;)V
-PLcom/android/server/fingerprint/FingerprintService;->handleEnumerate(JIII)V
-PLcom/android/server/fingerprint/FingerprintService;->handleError(JII)V
-PLcom/android/server/fingerprint/FingerprintService;->hasEnrolledFingerprints(I)Z
-PLcom/android/server/fingerprint/FingerprintService;->hasPermission(Ljava/lang/String;)Z
-PLcom/android/server/fingerprint/FingerprintService;->isCurrentUserOrProfile(I)Z
-PLcom/android/server/fingerprint/FingerprintService;->isForegroundActivity(II)Z
-PLcom/android/server/fingerprint/FingerprintService;->isKeyguard(Ljava/lang/String;)Z
-PLcom/android/server/fingerprint/FingerprintService;->isWorkProfile(I)Z
-PLcom/android/server/fingerprint/FingerprintService;->listenForUserSwitches()V
-PLcom/android/server/fingerprint/FingerprintService;->loadAuthenticatorIds()V
-PLcom/android/server/fingerprint/FingerprintService;->notifyClientActiveCallbacks(Z)V
-PLcom/android/server/fingerprint/FingerprintService;->notifyLockoutResetMonitors()V
-PLcom/android/server/fingerprint/FingerprintService;->onStart()V
-PLcom/android/server/fingerprint/FingerprintService;->removeClient(Lcom/android/server/fingerprint/ClientMonitor;)V
-PLcom/android/server/fingerprint/FingerprintService;->resetFailedAttemptsForUser(ZI)V
-PLcom/android/server/fingerprint/FingerprintService;->startAuthentication(Landroid/os/IBinder;JIILandroid/hardware/fingerprint/IFingerprintServiceReceiver;IZLjava/lang/String;Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricPromptReceiver;)V
-PLcom/android/server/fingerprint/FingerprintService;->startClient(Lcom/android/server/fingerprint/ClientMonitor;Z)V
-PLcom/android/server/fingerprint/FingerprintService;->startEnumerate(Landroid/os/IBinder;ILandroid/hardware/fingerprint/IFingerprintServiceReceiver;ZZ)V
-PLcom/android/server/fingerprint/FingerprintService;->updateActiveGroup(ILjava/lang/String;)V
-PLcom/android/server/fingerprint/FingerprintService;->userActivity()V
-PLcom/android/server/fingerprint/FingerprintUtils;-><init>()V
-PLcom/android/server/fingerprint/FingerprintUtils;->getFingerprintsForUser(Landroid/content/Context;I)Ljava/util/List;
-PLcom/android/server/fingerprint/FingerprintUtils;->getInstance()Lcom/android/server/fingerprint/FingerprintUtils;
-PLcom/android/server/fingerprint/FingerprintUtils;->getStateForUser(Landroid/content/Context;I)Lcom/android/server/fingerprint/FingerprintsUserState;
-PLcom/android/server/fingerprint/FingerprintsUserState$1;-><init>(Lcom/android/server/fingerprint/FingerprintsUserState;)V
-PLcom/android/server/fingerprint/FingerprintsUserState;-><init>(Landroid/content/Context;I)V
-PLcom/android/server/fingerprint/FingerprintsUserState;->getCopy(Ljava/util/ArrayList;)Ljava/util/ArrayList;
-PLcom/android/server/fingerprint/FingerprintsUserState;->getFileForUser(I)Ljava/io/File;
-PLcom/android/server/fingerprint/FingerprintsUserState;->getFingerprints()Ljava/util/List;
-PLcom/android/server/fingerprint/FingerprintsUserState;->parseFingerprintsLocked(Lorg/xmlpull/v1/XmlPullParser;)V
-PLcom/android/server/fingerprint/FingerprintsUserState;->parseStateLocked(Lorg/xmlpull/v1/XmlPullParser;)V
-PLcom/android/server/fingerprint/FingerprintsUserState;->readStateSyncLocked()V
-PLcom/android/server/fingerprint/InternalEnumerateClient;-><init>(Landroid/content/Context;JLandroid/os/IBinder;Landroid/hardware/fingerprint/IFingerprintServiceReceiver;IIZLjava/lang/String;Ljava/util/List;)V
-PLcom/android/server/fingerprint/InternalEnumerateClient;->doFingerprintCleanup()V
-PLcom/android/server/fingerprint/InternalEnumerateClient;->getUnknownFingerprints()Ljava/util/List;
-PLcom/android/server/fingerprint/InternalEnumerateClient;->handleEnumeratedFingerprint(III)V
-PLcom/android/server/fingerprint/InternalEnumerateClient;->onEnumerationResult(III)Z
-PLcom/android/server/firewall/AndFilter;-><init>()V
-PLcom/android/server/firewall/FilterList;-><init>()V
-PLcom/android/server/firewall/FilterList;->readChild(Lorg/xmlpull/v1/XmlPullParser;)V
-PLcom/android/server/firewall/FilterList;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/firewall/FilterList;
-PLcom/android/server/firewall/IntentFirewall$FirewallHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;-><init>(Lcom/android/server/firewall/IntentFirewall$Rule;)V
-PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
-PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->newArray(I)[Lcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;
-PLcom/android/server/firewall/IntentFirewall$Rule;-><init>()V
-PLcom/android/server/firewall/IntentFirewall$Rule;-><init>(Lcom/android/server/firewall/IntentFirewall$1;)V
-PLcom/android/server/firewall/IntentFirewall$Rule;->getComponentFilterCount()I
-PLcom/android/server/firewall/IntentFirewall$Rule;->getIntentFilter(I)Lcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;
-PLcom/android/server/firewall/IntentFirewall$Rule;->getIntentFilterCount()I
-PLcom/android/server/firewall/IntentFirewall$Rule;->readChild(Lorg/xmlpull/v1/XmlPullParser;)V
-PLcom/android/server/firewall/IntentFirewall$Rule;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/firewall/IntentFirewall$Rule;
-PLcom/android/server/firewall/IntentFirewall$RuleObserver;->onEvent(ILjava/lang/String;)V
-PLcom/android/server/firewall/IntentFirewall;->access$300(Lcom/android/server/firewall/IntentFirewall;Ljava/io/File;)V
-PLcom/android/server/firewall/IntentFirewall;->checkStartActivity(Landroid/content/Intent;IILjava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
-PLcom/android/server/firewall/IntentFirewall;->parseFilter(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/firewall/Filter;
-PLcom/android/server/firewall/IntentFirewall;->readRules(Ljava/io/File;[Lcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;)V
-PLcom/android/server/firewall/StringFilter$EqualsFilter;-><init>(Lcom/android/server/firewall/StringFilter$ValueProvider;Ljava/lang/String;)V
-PLcom/android/server/firewall/StringFilter$ValueProvider;->newFilter(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/firewall/Filter;
-PLcom/android/server/firewall/StringFilter;-><init>(Lcom/android/server/firewall/StringFilter$ValueProvider;)V
-PLcom/android/server/firewall/StringFilter;-><init>(Lcom/android/server/firewall/StringFilter$ValueProvider;Lcom/android/server/firewall/StringFilter$1;)V
-PLcom/android/server/firewall/StringFilter;->getFilter(Lcom/android/server/firewall/StringFilter$ValueProvider;Lorg/xmlpull/v1/XmlPullParser;I)Lcom/android/server/firewall/StringFilter;
-PLcom/android/server/firewall/StringFilter;->readFromXml(Lcom/android/server/firewall/StringFilter$ValueProvider;Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/firewall/StringFilter;
-PLcom/android/server/input/InputApplicationHandle;-><init>(Ljava/lang/Object;)V
-PLcom/android/server/input/InputApplicationHandle;->finalize()V
-PLcom/android/server/input/InputManagerService$10;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/Handler;)V
-PLcom/android/server/input/InputManagerService$11;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/Handler;)V
-PLcom/android/server/input/InputManagerService$1;-><init>(Lcom/android/server/input/InputManagerService;)V
-PLcom/android/server/input/InputManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/input/InputManagerService$2;-><init>(Lcom/android/server/input/InputManagerService;)V
+PLcom/android/server/ethernet/-$$Lambda$EthernetTracker$InterfaceObserver$N47vO7QrVbS59gsxVAc8Mt2Opco;->run()V
+PLcom/android/server/ethernet/EthernetNetworkFactory;->removeInterface(Ljava/lang/String;)V
+PLcom/android/server/ethernet/EthernetNetworkFactory;->updateCapabilityFilter()V
+PLcom/android/server/ethernet/EthernetTracker$InterfaceObserver;->interfaceRemoved(Ljava/lang/String;)V
+PLcom/android/server/ethernet/EthernetTracker$InterfaceObserver;->lambda$interfaceRemoved$2$EthernetTracker$InterfaceObserver(Ljava/lang/String;)V
+PLcom/android/server/firewall/AndFilter;->matches(Lcom/android/server/firewall/IntentFirewall;Landroid/content/ComponentName;Landroid/content/Intent;IILjava/lang/String;I)Z
+PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
+PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->allowFilterResult(Lcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;Ljava/util/List;)Z
+PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
+PLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->newResult(Lcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;II)Lcom/android/server/firewall/IntentFirewall$Rule;
+PLcom/android/server/firewall/StringFilter$3;->getValue(Landroid/content/ComponentName;Landroid/content/Intent;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/firewall/StringFilter$EqualsFilter;->matchesValue(Ljava/lang/String;)Z
+PLcom/android/server/firewall/StringFilter;->matches(Lcom/android/server/firewall/IntentFirewall;Landroid/content/ComponentName;Landroid/content/Intent;IILjava/lang/String;I)Z
+PLcom/android/server/gpu/GpuService$PackageReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/gpu/GpuService;->assetToSettingsGlobal(Landroid/content/Context;Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/CharSequence;)V
+PLcom/android/server/gpu/GpuService;->fetchGameDriverPackageProperties()V
+PLcom/android/server/gpu/GpuService;->processBlacklists()V
+PLcom/android/server/gpu/GpuService;->setBlacklist()V
+PLcom/android/server/incident/PendingReports;->onBootCompleted()V
+PLcom/android/server/incident/RequestQueue;->start()V
+PLcom/android/server/infra/-$$Lambda$AbstractMasterSystemService$1$TLhe3_2yHs5UB69Y7lf2s7OxJCo;->visit(Ljava/lang/Object;)V
+PLcom/android/server/infra/AbstractMasterSystemService$1;->onPackageUpdateFinished(Ljava/lang/String;I)V
+PLcom/android/server/infra/AbstractMasterSystemService;->onCleanupUser(I)V
+PLcom/android/server/infra/AbstractMasterSystemService;->onUnlockUser(I)V
+PLcom/android/server/infra/AbstractMasterSystemService;->visitServicesLocked(Lcom/android/server/infra/AbstractMasterSystemService$Visitor;)V
+PLcom/android/server/infra/AbstractPerUserSystemService;->getContext()Landroid/content/Context;
+PLcom/android/server/infra/AbstractPerUserSystemService;->getServiceComponentName()Landroid/content/ComponentName;
+PLcom/android/server/infra/AbstractPerUserSystemService;->handlePackageUpdateLocked(Ljava/lang/String;)V
+PLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->isTemporary(I)Z
 PLcom/android/server/input/InputManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/input/InputManagerService$3;-><init>(Lcom/android/server/input/InputManagerService;)V
-PLcom/android/server/input/InputManagerService$5;-><init>(Lcom/android/server/input/InputManagerService;Ljava/util/HashSet;)V
-PLcom/android/server/input/InputManagerService$5;->visitKeyboardLayout(Landroid/content/res/Resources;ILandroid/hardware/input/KeyboardLayout;)V
-PLcom/android/server/input/InputManagerService$9;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/Handler;)V
-PLcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;-><init>(Lcom/android/server/input/InputManagerService;ILandroid/hardware/input/IInputDevicesChangedListener;)V
 PLcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;->binderDied()V
 PLcom/android/server/input/InputManagerService$InputDevicesChangedListenerRecord;->notifyInputDevicesChanged([I)V
-PLcom/android/server/input/InputManagerService$InputManagerHandler;-><init>(Lcom/android/server/input/InputManagerService;Landroid/os/Looper;)V
-PLcom/android/server/input/InputManagerService$InputManagerHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/input/InputManagerService$KeyboardLayoutDescriptor;->format(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/input/InputManagerService$LocalService;-><init>(Lcom/android/server/input/InputManagerService;)V
-PLcom/android/server/input/InputManagerService$LocalService;-><init>(Lcom/android/server/input/InputManagerService;Lcom/android/server/input/InputManagerService$1;)V
-PLcom/android/server/input/InputManagerService$LocalService;->setDisplayViewports(Landroid/hardware/display/DisplayViewport;Landroid/hardware/display/DisplayViewport;Ljava/util/List;)V
 PLcom/android/server/input/InputManagerService$LocalService;->setInteractive(Z)V
-PLcom/android/server/input/InputManagerService$LocalService;->setPulseGestureEnabled(Z)V
-PLcom/android/server/input/InputManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/input/InputManagerService;->access$100(Lcom/android/server/input/InputManagerService;)V
-PLcom/android/server/input/InputManagerService;->access$1100(Lcom/android/server/input/InputManagerService;I)V
-PLcom/android/server/input/InputManagerService;->access$1300(Lcom/android/server/input/InputManagerService;Landroid/hardware/display/DisplayViewport;Landroid/hardware/display/DisplayViewport;Ljava/util/List;)V
-PLcom/android/server/input/InputManagerService;->access$1500(JZ)V
-PLcom/android/server/input/InputManagerService;->access$1700(Lcom/android/server/input/InputManagerService;)Ljava/io/File;
-PLcom/android/server/input/InputManagerService;->access$200(Lcom/android/server/input/InputManagerService;)V
-PLcom/android/server/input/InputManagerService;->access$500(Lcom/android/server/input/InputManagerService;[Landroid/view/InputDevice;)V
-PLcom/android/server/input/InputManagerService;->access$900(Lcom/android/server/input/InputManagerService;)J
 PLcom/android/server/input/InputManagerService;->checkInjectEventsPermission(II)Z
-PLcom/android/server/input/InputManagerService;->deliverInputDevicesChanged([Landroid/view/InputDevice;)V
-PLcom/android/server/input/InputManagerService;->dispatchUnhandledKey(Lcom/android/server/input/InputWindowHandle;Landroid/view/KeyEvent;I)Landroid/view/KeyEvent;
-PLcom/android/server/input/InputManagerService;->getCurrentKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)Ljava/lang/String;
-PLcom/android/server/input/InputManagerService;->getDeviceAlias(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/input/InputManagerService;->getDoubleTapTimeout()I
-PLcom/android/server/input/InputManagerService;->getExcludedDeviceNames()[Ljava/lang/String;
-PLcom/android/server/input/InputManagerService;->getHoverTapSlop()I
-PLcom/android/server/input/InputManagerService;->getHoverTapTimeout()I
+PLcom/android/server/input/InputManagerService;->dispatchUnhandledKey(Landroid/os/IBinder;Landroid/view/KeyEvent;I)Landroid/view/KeyEvent;
 PLcom/android/server/input/InputManagerService;->getInputDevice(I)Landroid/view/InputDevice;
 PLcom/android/server/input/InputManagerService;->getInputDeviceIds()[I
-PLcom/android/server/input/InputManagerService;->getInputDevices()[Landroid/view/InputDevice;
-PLcom/android/server/input/InputManagerService;->getKeyCodeState(III)I
-PLcom/android/server/input/InputManagerService;->getKeyRepeatDelay()I
-PLcom/android/server/input/InputManagerService;->getKeyRepeatTimeout()I
-PLcom/android/server/input/InputManagerService;->getKeyboardLayoutOverlay(Landroid/hardware/input/InputDeviceIdentifier;)[Ljava/lang/String;
-PLcom/android/server/input/InputManagerService;->getLayoutDescriptor(Landroid/hardware/input/InputDeviceIdentifier;)Ljava/lang/String;
-PLcom/android/server/input/InputManagerService;->getLocalesFromLanguageTags(Ljava/lang/String;)Landroid/os/LocaleList;
-PLcom/android/server/input/InputManagerService;->getLongPressTimeout()I
-PLcom/android/server/input/InputManagerService;->getPointerSpeedSetting()I
-PLcom/android/server/input/InputManagerService;->getScanCodeState(III)I
-PLcom/android/server/input/InputManagerService;->getShowTouchesSetting(I)I
-PLcom/android/server/input/InputManagerService;->getSwitchState(III)I
-PLcom/android/server/input/InputManagerService;->getTouchCalibrationForInputDevice(Ljava/lang/String;I)Landroid/hardware/input/TouchCalibration;
-PLcom/android/server/input/InputManagerService;->getVirtualKeyQuietTimeMillis()I
 PLcom/android/server/input/InputManagerService;->hasKeys(II[I[Z)Z
 PLcom/android/server/input/InputManagerService;->injectInputEvent(Landroid/view/InputEvent;I)Z
-PLcom/android/server/input/InputManagerService;->interceptKeyBeforeDispatching(Lcom/android/server/input/InputWindowHandle;Landroid/view/KeyEvent;I)J
+PLcom/android/server/input/InputManagerService;->injectInputEventInternal(Landroid/view/InputEvent;I)Z
+PLcom/android/server/input/InputManagerService;->interceptKeyBeforeDispatching(Landroid/os/IBinder;Landroid/view/KeyEvent;I)J
 PLcom/android/server/input/InputManagerService;->interceptKeyBeforeQueueing(Landroid/view/KeyEvent;I)I
-PLcom/android/server/input/InputManagerService;->monitorInput(Ljava/lang/String;)Landroid/view/InputChannel;
-PLcom/android/server/input/InputManagerService;->notifyConfigurationChanged(J)V
-PLcom/android/server/input/InputManagerService;->notifyInputDevicesChanged([Landroid/view/InputDevice;)V
+PLcom/android/server/input/InputManagerService;->interceptMotionBeforeQueueingNonInteractive(IJI)I
+PLcom/android/server/input/InputManagerService;->interceptMotionBeforeQueueingNonInteractive(JI)I
+PLcom/android/server/input/InputManagerService;->notifyFocusChanged(Landroid/os/IBinder;Landroid/os/IBinder;)V
 PLcom/android/server/input/InputManagerService;->onInputDevicesChangedListenerDied(I)V
-PLcom/android/server/input/InputManagerService;->registerAccessibilityLargePointerSettingObserver()V
-PLcom/android/server/input/InputManagerService;->registerInputChannel(Landroid/view/InputChannel;Lcom/android/server/input/InputWindowHandle;)V
 PLcom/android/server/input/InputManagerService;->registerInputDevicesChangedListener(Landroid/hardware/input/IInputDevicesChangedListener;)V
-PLcom/android/server/input/InputManagerService;->registerPointerSpeedSettingObserver()V
-PLcom/android/server/input/InputManagerService;->registerShowTouchesSettingObserver()V
-PLcom/android/server/input/InputManagerService;->reloadDeviceAliases()V
-PLcom/android/server/input/InputManagerService;->reloadKeyboardLayouts()V
-PLcom/android/server/input/InputManagerService;->setDisplayViewport(ILandroid/hardware/display/DisplayViewport;)V
-PLcom/android/server/input/InputManagerService;->setDisplayViewportsInternal(Landroid/hardware/display/DisplayViewport;Landroid/hardware/display/DisplayViewport;Ljava/util/List;)V
-PLcom/android/server/input/InputManagerService;->setFocusedApplication(Lcom/android/server/input/InputApplicationHandle;)V
 PLcom/android/server/input/InputManagerService;->setInputDispatchMode(ZZ)V
-PLcom/android/server/input/InputManagerService;->setPointerSpeedUnchecked(I)V
+PLcom/android/server/input/InputManagerService;->setPointerCapture(Z)V
 PLcom/android/server/input/InputManagerService;->setSystemUiVisibility(I)V
-PLcom/android/server/input/InputManagerService;->setWindowManagerCallbacks(Lcom/android/server/input/InputManagerService$WindowManagerCallbacks;)V
-PLcom/android/server/input/InputManagerService;->setWiredAccessoryCallbacks(Lcom/android/server/input/InputManagerService$WiredAccessoryCallbacks;)V
-PLcom/android/server/input/InputManagerService;->start()V
-PLcom/android/server/input/InputManagerService;->systemRunning()V
 PLcom/android/server/input/InputManagerService;->unregisterInputChannel(Landroid/view/InputChannel;)V
-PLcom/android/server/input/InputManagerService;->updateAccessibilityLargePointerFromSettings()V
-PLcom/android/server/input/InputManagerService;->updateKeyboardLayouts()V
-PLcom/android/server/input/InputManagerService;->updatePointerSpeedFromSettings()V
-PLcom/android/server/input/InputManagerService;->updateShowTouchesFromSettings()V
-PLcom/android/server/input/InputManagerService;->visitAllKeyboardLayouts(Lcom/android/server/input/InputManagerService$KeyboardLayoutVisitor;)V
-PLcom/android/server/input/InputManagerService;->visitKeyboardLayoutsInPackage(Landroid/content/pm/PackageManager;Landroid/content/pm/ActivityInfo;Ljava/lang/String;ILcom/android/server/input/InputManagerService$KeyboardLayoutVisitor;)V
-PLcom/android/server/input/InputWindowHandle;-><init>(Lcom/android/server/input/InputApplicationHandle;Ljava/lang/Object;Landroid/view/IWindow;I)V
-PLcom/android/server/input/InputWindowHandle;->finalize()V
-PLcom/android/server/input/PersistentDataStore;-><init>()V
-PLcom/android/server/input/PersistentDataStore;->clearState()V
-PLcom/android/server/input/PersistentDataStore;->getCurrentKeyboardLayout(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/input/PersistentDataStore;->getInputDeviceState(Ljava/lang/String;Z)Lcom/android/server/input/PersistentDataStore$InputDeviceState;
-PLcom/android/server/input/PersistentDataStore;->getTouchCalibration(Ljava/lang/String;I)Landroid/hardware/input/TouchCalibration;
-PLcom/android/server/input/PersistentDataStore;->load()V
-PLcom/android/server/input/PersistentDataStore;->loadIfNeeded()V
-PLcom/android/server/input/PersistentDataStore;->removeUninstalledKeyboardLayouts(Ljava/util/Set;)Z
-PLcom/android/server/input/PersistentDataStore;->saveIfNeeded()V
-PLcom/android/server/job/-$$Lambda$JobSchedulerService$AauD0it1BcgWldVm_V1m2Jo7_Zc;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/inputmethod/AdditionalSubtypeUtils;->save(Landroid/util/ArrayMap;Landroid/util/ArrayMap;I)V
+PLcom/android/server/inputmethod/InputContentUriTokenHandler;->doTakeLocked(Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputContentUriTokenHandler;->finalize()V
+PLcom/android/server/inputmethod/InputContentUriTokenHandler;->release()V
+PLcom/android/server/inputmethod/InputContentUriTokenHandler;->take()V
+PLcom/android/server/inputmethod/InputMethodManagerService$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$ClientDeathRecipient;->binderDied()V
+PLcom/android/server/inputmethod/InputMethodManagerService$ClientState;->toString()Ljava/lang/String;
+PLcom/android/server/inputmethod/InputMethodManagerService$ImmsBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->createInputContentUriToken(Landroid/net/Uri;Ljava/lang/String;)Lcom/android/internal/inputmethod/IInputContentUriToken;
+PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->hideMySoftInput(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->notifyUserAction()V
+PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->reportFullscreenMode(Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->reportStartInput(Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->setImeWindowStatus(II)V
+PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->shouldOfferSwitchingToNextInputMethod()Z
+PLcom/android/server/inputmethod/InputMethodManagerService$InputMethodPrivilegedOperationsImpl;->updateStatusIcon(Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->getInputMethodListAsUser(I)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->hideCurrentInputMethod()V
+PLcom/android/server/inputmethod/InputMethodManagerService$LocalServiceImpl;->setInteractive(Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService$MethodCallback;->sessionCreated(Lcom/android/internal/view/IInputMethodSession;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onBeginPackageChanges()V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onFinishPackageChanges()V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onFinishPackageChangesInternal()V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onPackageAppeared(Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onPackageDisappeared(Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->onPackageModified(Ljava/lang/String;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$MyPackageMonitor;->shouldRebuildInputMethodListLocked()Z
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputHistory$Entry;->set(Lcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;)V
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;-><init>(ILandroid/os/IBinder;ILjava/lang/String;IZIILandroid/os/IBinder;Landroid/view/inputmethod/EditorInfo;II)V
+PLcom/android/server/inputmethod/InputMethodManagerService$StartInputInfo;-><init>(Landroid/os/IBinder;Ljava/lang/String;IZLandroid/os/IBinder;Landroid/view/inputmethod/EditorInfo;II)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->attachNewInputLocked(IZ)Lcom/android/internal/view/InputBindResult;
+PLcom/android/server/inputmethod/InputMethodManagerService;->calledFromValidUserLocked()Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->calledWithValidTokenLocked(Landroid/os/IBinder;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->clearClientSessionLocked(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->createInputContentUriToken(Landroid/os/IBinder;Landroid/net/Uri;Ljava/lang/String;)Lcom/android/internal/inputmethod/IInputContentUriToken;
+PLcom/android/server/inputmethod/InputMethodManagerService;->finishSessionLocked(Lcom/android/server/inputmethod/InputMethodManagerService$SessionState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->getCurrentInputMethodSubtype()Landroid/view/inputmethod/InputMethodSubtype;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getCurrentInputMethodSubtypeLocked()Landroid/view/inputmethod/InputMethodSubtype;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodList(I)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodListLocked(I)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodSubtypeList(Ljava/lang/String;Z)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getEnabledInputMethodSubtypeListLocked(Ljava/lang/String;ZI)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getInputMethodList(I)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getInputMethodListAsUser(I)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodManagerService;->getInputMethodListLocked(I)Ljava/util/List;
+PLcom/android/server/inputmethod/InputMethodManagerService;->handleSetInteractive(Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->hideInputMethodMenu()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->hideInputMethodMenuLocked()V
+PLcom/android/server/inputmethod/InputMethodManagerService;->hideMySoftInput(Landroid/os/IBinder;I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->hideSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->notifyUserAction(Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->onServiceDisconnected(Landroid/content/ComponentName;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->onSessionCreated(Lcom/android/internal/view/IInputMethod;Lcom/android/internal/view/IInputMethodSession;Landroid/view/InputChannel;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->onUnlockUser(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->removeClient(Lcom/android/internal/view/IInputMethodClient;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->reportFullscreenMode(Landroid/os/IBinder;Z)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->reportStartInput(Landroid/os/IBinder;Landroid/os/IBinder;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->requestClientSessionLocked(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->resetCurrentMethodAndClient(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->setEnabledSessionInMainThread(Lcom/android/server/inputmethod/InputMethodManagerService$SessionState;)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->setImeWindowStatus(Landroid/os/IBinder;II)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->shouldOfferSwitchingToNextInputMethod(Landroid/os/IBinder;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->shouldShowImeSwitcherLocked(I)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->showCurrentInputLocked(ILandroid/os/ResultReceiver;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->showSoftInput(Lcom/android/internal/view/IInputMethodClient;ILandroid/os/ResultReceiver;)Z
+PLcom/android/server/inputmethod/InputMethodManagerService;->switchUserLocked(I)V
+PLcom/android/server/inputmethod/InputMethodManagerService;->updateStatusIcon(Landroid/os/IBinder;Ljava/lang/String;I)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->getNextInputMethod(ZLandroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->onUserActionLocked(Landroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)V
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;->getNextInputMethodLocked(ZLandroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;->getUsageRank(Landroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)I
+PLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$DynamicRotationList;->onUserAction(Landroid/view/inputmethod/InputMethodInfo;Landroid/view/inputmethod/InputMethodSubtype;)V
+PLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->isSubtypeSelected()Z
+PLcom/android/server/inputmethod/InputMethodUtils;->resolveUserId(IILjava/io/PrintWriter;)[I
+PLcom/android/server/job/-$$Lambda$JobConcurrencyManager$5dmb0pQscXPwEG6SBnhs7aCwpSs;->run()V
 PLcom/android/server/job/-$$Lambda$JobSchedulerService$AauD0it1BcgWldVm_V1m2Jo7_Zc;->test(Ljava/lang/Object;)Z
-PLcom/android/server/job/-$$Lambda$JobSchedulerService$Lfddr1PhKRLtm92W7niRGMWO69M;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/-$$Lambda$JobSchedulerService$Lfddr1PhKRLtm92W7niRGMWO69M;->accept(Ljava/lang/Object;)V
-PLcom/android/server/job/-$$Lambda$JobSchedulerService$LocalService$yaChpLJ2odu2Fk7A6H8erUndrN8;-><init>(Lcom/android/server/job/JobSchedulerService$LocalService;Ljava/util/List;)V
-PLcom/android/server/job/-$$Lambda$JobSchedulerService$StandbyTracker$18Nt1smLe-l9bimlwR39k5RbMdM;-><init>(Lcom/android/server/job/JobSchedulerService$StandbyTracker;IILjava/lang/String;)V
-PLcom/android/server/job/-$$Lambda$JobSchedulerService$StandbyTracker$18Nt1smLe-l9bimlwR39k5RbMdM;->run()V
-PLcom/android/server/job/-$$Lambda$JobSchedulerService$StandbyTracker$Ofnn0P__SXhzXRU-7eLyuPrl31w;-><init>(Ljava/lang/String;I)V
-PLcom/android/server/job/-$$Lambda$JobSchedulerService$StandbyTracker$Ofnn0P__SXhzXRU-7eLyuPrl31w;->accept(Ljava/lang/Object;)V
-PLcom/android/server/job/-$$Lambda$JobSchedulerService$V6_ZmVmzJutg4w0s0LktDOsRAss;-><init>()V
-PLcom/android/server/job/-$$Lambda$JobSchedulerService$nXpbkYDrU0yC5DuTafFiblXBdTY;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/-$$Lambda$JobStore$1$Wgepg1oHZp0-Q01q1baIVZKWujU;-><init>(Ljava/util/List;)V
-PLcom/android/server/job/-$$Lambda$JobStore$JobSet$D9839QVHHu4X-hnxouyIMkP5NWA;-><init>([I)V
-PLcom/android/server/job/-$$Lambda$JobStore$JobSet$D9839QVHHu4X-hnxouyIMkP5NWA;->test(Ljava/lang/Object;)Z
-PLcom/android/server/job/-$$Lambda$JobStore$JobSet$id1Y3Yh8Y9sEb-njlNCUNay6U9k;-><init>([I)V
-PLcom/android/server/job/-$$Lambda$JobStore$JobSet$id1Y3Yh8Y9sEb-njlNCUNay6U9k;->test(Ljava/lang/Object;)Z
-PLcom/android/server/job/GrantedUriPermissions;->checkGrantFlags(I)Z
-PLcom/android/server/job/JobPackageTracker$DataSet;-><init>()V
+PLcom/android/server/job/-$$Lambda$JobSchedulerService$V6_ZmVmzJutg4w0s0LktDOsRAss;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/job/-$$Lambda$JobStore$1$Wgepg1oHZp0-Q01q1baIVZKWujU;->accept(Ljava/lang/Object;)V
+PLcom/android/server/job/JobConcurrencyManager$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->canJobStart(Z)Z
+PLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->incrementPendingJobCount(Z)V
+PLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->incrementRunningJobCount(Z)V
+PLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->onStartingNewJob(Z)V
+PLcom/android/server/job/JobConcurrencyManager;->rampUpForScreenOff()V
 PLcom/android/server/job/JobPackageTracker$DataSet;->decActive(ILjava/lang/String;JI)V
 PLcom/android/server/job/JobPackageTracker$DataSet;->decActiveTop(ILjava/lang/String;JI)V
 PLcom/android/server/job/JobPackageTracker$DataSet;->finish(Lcom/android/server/job/JobPackageTracker$DataSet;J)V
-PLcom/android/server/job/JobPackageTracker$DataSet;->incActive(ILjava/lang/String;J)V
-PLcom/android/server/job/JobPackageTracker$DataSet;->incActiveTop(ILjava/lang/String;J)V
-PLcom/android/server/job/JobPackageTracker$PackageEntry;-><init>()V
-PLcom/android/server/job/JobPackageTracker;-><init>()V
+PLcom/android/server/job/JobPackageTracker$DataSet;->getOrCreateEntry(ILjava/lang/String;)Lcom/android/server/job/JobPackageTracker$PackageEntry;
 PLcom/android/server/job/JobPackageTracker;->addEvent(IILjava/lang/String;IILjava/lang/String;)V
+PLcom/android/server/job/JobPackageTracker;->getLoadFactor(Lcom/android/server/job/controllers/JobStatus;)F
 PLcom/android/server/job/JobPackageTracker;->noteActive(Lcom/android/server/job/controllers/JobStatus;)V
 PLcom/android/server/job/JobPackageTracker;->noteInactive(Lcom/android/server/job/controllers/JobStatus;ILjava/lang/String;)V
-PLcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;-><init>()V
+PLcom/android/server/job/JobPackageTracker;->rebatchIfNeeded(J)V
 PLcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;-><init>(Lcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;)V
 PLcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;->toString()Ljava/lang/String;
-PLcom/android/server/job/JobSchedulerService$1;-><init>(Lcom/android/server/job/JobSchedulerService;)V
 PLcom/android/server/job/JobSchedulerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/job/JobSchedulerService$2;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/JobSchedulerService$2;->onUidActive(I)V
-PLcom/android/server/job/JobSchedulerService$2;->onUidGone(IZ)V
-PLcom/android/server/job/JobSchedulerService$2;->onUidIdle(IZ)V
-PLcom/android/server/job/JobSchedulerService$3;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/JobSchedulerService$Constants;-><init>()V
-PLcom/android/server/job/JobSchedulerService$Constants;->updateConstantsLocked(Ljava/lang/String;)V
-PLcom/android/server/job/JobSchedulerService$ConstantsObserver;-><init>(Lcom/android/server/job/JobSchedulerService;Landroid/os/Handler;)V
-PLcom/android/server/job/JobSchedulerService$ConstantsObserver;->start(Landroid/content/ContentResolver;)V
-PLcom/android/server/job/JobSchedulerService$ConstantsObserver;->updateConstants()V
-PLcom/android/server/job/JobSchedulerService$DeferredJobCounter;-><init>()V
-PLcom/android/server/job/JobSchedulerService$DeferredJobCounter;->accept(Lcom/android/server/job/controllers/JobStatus;)V
-PLcom/android/server/job/JobSchedulerService$DeferredJobCounter;->accept(Ljava/lang/Object;)V
-PLcom/android/server/job/JobSchedulerService$DeferredJobCounter;->numDeferred()I
-PLcom/android/server/job/JobSchedulerService$HeartbeatAlarmListener;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/JobSchedulerService$HeartbeatAlarmListener;->onAlarm()V
-PLcom/android/server/job/JobSchedulerService$JobHandler;-><init>(Lcom/android/server/job/JobSchedulerService;Landroid/os/Looper;)V
-PLcom/android/server/job/JobSchedulerService$JobSchedulerStub;-><init>(Lcom/android/server/job/JobSchedulerService;)V
 PLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->canPersistJobs(II)Z
-PLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->cancelAll()V
-PLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->enforceValidJobRequest(ILandroid/app/job/JobInfo;)V
+PLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->cancel(I)V
 PLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->enqueue(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;)I
-PLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->validateJobFlags(Landroid/app/job/JobInfo;I)V
-PLcom/android/server/job/JobSchedulerService$LocalService;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->getAllPendingJobs()Ljava/util/List;
+PLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->scheduleAsPackage(Landroid/app/job/JobInfo;Ljava/lang/String;ILjava/lang/String;)I
 PLcom/android/server/job/JobSchedulerService$LocalService;->addBackingUpUid(I)V
-PLcom/android/server/job/JobSchedulerService$LocalService;->baseHeartbeatForApp(Ljava/lang/String;II)J
-PLcom/android/server/job/JobSchedulerService$LocalService;->currentHeartbeat()J
 PLcom/android/server/job/JobSchedulerService$LocalService;->getPersistStats()Lcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;
 PLcom/android/server/job/JobSchedulerService$LocalService;->getSystemScheduledPendingJobs()Ljava/util/List;
 PLcom/android/server/job/JobSchedulerService$LocalService;->noteJobStart(Ljava/lang/String;I)V
 PLcom/android/server/job/JobSchedulerService$LocalService;->removeBackingUpUid(I)V
-PLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->postProcess()V
-PLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->reset()V
-PLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;->accept(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;->accept(Ljava/lang/Object;)V
 PLcom/android/server/job/JobSchedulerService$ReadyJobQueueFunctor;->postProcess()V
-PLcom/android/server/job/JobSchedulerService$StandbyTracker;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/JobSchedulerService$StandbyTracker;->lambda$onAppIdleStateChanged$0(Ljava/lang/String;ILcom/android/server/job/controllers/JobStatus;)V
-PLcom/android/server/job/JobSchedulerService$StandbyTracker;->lambda$onAppIdleStateChanged$1(Lcom/android/server/job/JobSchedulerService$StandbyTracker;IILjava/lang/String;)V
-PLcom/android/server/job/JobSchedulerService$StandbyTracker;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
-PLcom/android/server/job/JobSchedulerService$StandbyTracker;->onParoleStateChanged(Z)V
-PLcom/android/server/job/JobSchedulerService$StandbyTracker;->onUserInteractionStarted(Ljava/lang/String;I)V
-PLcom/android/server/job/JobSchedulerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/job/JobSchedulerService;->access$000(Lcom/android/server/job/JobSchedulerService;Landroid/content/Intent;)Ljava/lang/String;
-PLcom/android/server/job/JobSchedulerService;->access$300(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/JobSchedulerService;->access$400(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/JobSchedulerService;->access$600(Lcom/android/server/job/JobSchedulerService;)Lcom/android/server/job/controllers/DeviceIdleJobsController;
-PLcom/android/server/job/JobSchedulerService;->addOrderedItem(Ljava/util/ArrayList;Ljava/lang/Object;Ljava/util/Comparator;)V
-PLcom/android/server/job/JobSchedulerService;->advanceHeartbeatLocked(J)V
 PLcom/android/server/job/JobSchedulerService;->cancelJob(III)Z
 PLcom/android/server/job/JobSchedulerService;->cancelJobImplLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Ljava/lang/String;)V
-PLcom/android/server/job/JobSchedulerService;->cancelJobsForNonExistentUsers()V
-PLcom/android/server/job/JobSchedulerService;->cancelJobsForUid(ILjava/lang/String;)Z
-PLcom/android/server/job/JobSchedulerService;->getConstants()Lcom/android/server/job/JobSchedulerService$Constants;
-PLcom/android/server/job/JobSchedulerService;->getCurrentHeartbeat()J
-PLcom/android/server/job/JobSchedulerService;->getJobStore()Lcom/android/server/job/JobStore;
-PLcom/android/server/job/JobSchedulerService;->getLock()Ljava/lang/Object;
-PLcom/android/server/job/JobSchedulerService;->getPackageName(Landroid/content/Intent;)Ljava/lang/String;
+PLcom/android/server/job/JobSchedulerService;->cancelJobsForPackageAndUid(Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/job/JobSchedulerService;->evaluateJobPriorityLocked(Lcom/android/server/job/controllers/JobStatus;)I
+PLcom/android/server/job/JobSchedulerService;->getPendingJobs(I)Ljava/util/List;
 PLcom/android/server/job/JobSchedulerService;->getRescheduleJobForFailureLocked(Lcom/android/server/job/controllers/JobStatus;)Lcom/android/server/job/controllers/JobStatus;
 PLcom/android/server/job/JobSchedulerService;->getRescheduleJobForPeriodic(Lcom/android/server/job/controllers/JobStatus;)Lcom/android/server/job/controllers/JobStatus;
-PLcom/android/server/job/JobSchedulerService;->getTestableContext()Landroid/content/Context;
-PLcom/android/server/job/JobSchedulerService;->heartbeatWhenJobsLastRun(Lcom/android/server/job/controllers/JobStatus;)J
 PLcom/android/server/job/JobSchedulerService;->heartbeatWhenJobsLastRun(Ljava/lang/String;I)J
-PLcom/android/server/job/JobSchedulerService;->isUidActive(I)Z
-PLcom/android/server/job/JobSchedulerService;->lambda$AauD0it1BcgWldVm_V1m2Jo7_Zc(Lcom/android/server/job/JobSchedulerService;I)Z
-PLcom/android/server/job/JobSchedulerService;->lambda$onBootPhase$2(Lcom/android/server/job/JobSchedulerService;Lcom/android/server/job/controllers/JobStatus;)V
-PLcom/android/server/job/JobSchedulerService;->maybeQueueReadyJobsForExecutionLocked()V
-PLcom/android/server/job/JobSchedulerService;->onBootPhase(I)V
-PLcom/android/server/job/JobSchedulerService;->onControllerStateChanged()V
+PLcom/android/server/job/JobSchedulerService;->noteJobsPending(Ljava/util/List;)V
 PLcom/android/server/job/JobSchedulerService;->onDeviceIdleStateChanged(Z)V
 PLcom/android/server/job/JobSchedulerService;->onJobCompletedLocked(Lcom/android/server/job/controllers/JobStatus;Z)V
 PLcom/android/server/job/JobSchedulerService;->onRunJobNow(Lcom/android/server/job/controllers/JobStatus;)V
-PLcom/android/server/job/JobSchedulerService;->onStart()V
-PLcom/android/server/job/JobSchedulerService;->onStartUser(I)V
+PLcom/android/server/job/JobSchedulerService;->onStopUser(I)V
 PLcom/android/server/job/JobSchedulerService;->onUnlockUser(I)V
 PLcom/android/server/job/JobSchedulerService;->queueReadyJobsForExecutionLocked()V
 PLcom/android/server/job/JobSchedulerService;->setLastJobHeartbeatLocked(Ljava/lang/String;IJ)V
-PLcom/android/server/job/JobSchedulerService;->setNextHeartbeatAlarm()V
-PLcom/android/server/job/JobSchedulerService;->standbyBucketForPackage(Ljava/lang/String;IJ)I
-PLcom/android/server/job/JobSchedulerService;->standbyBucketToBucketIndex(I)I
-PLcom/android/server/job/JobServiceContext$JobCallback;-><init>(Lcom/android/server/job/JobServiceContext;)V
+PLcom/android/server/job/JobSchedulerService;->stopJobOnServiceContextLocked(Lcom/android/server/job/controllers/JobStatus;ILjava/lang/String;)Z
+PLcom/android/server/job/JobSchedulerService;->stopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)Z
 PLcom/android/server/job/JobServiceContext$JobCallback;->acknowledgeStartMessage(IZ)V
 PLcom/android/server/job/JobServiceContext$JobCallback;->acknowledgeStopMessage(IZ)V
 PLcom/android/server/job/JobServiceContext$JobCallback;->completeWork(II)Z
 PLcom/android/server/job/JobServiceContext$JobCallback;->dequeueWork(I)Landroid/app/job/JobWorkItem;
 PLcom/android/server/job/JobServiceContext$JobCallback;->jobFinished(IZ)V
-PLcom/android/server/job/JobServiceContext$JobServiceHandler;-><init>(Lcom/android/server/job/JobServiceContext;Landroid/os/Looper;)V
-PLcom/android/server/job/JobServiceContext;-><init>(Landroid/content/Context;Ljava/lang/Object;Lcom/android/internal/app/IBatteryStats;Lcom/android/server/job/JobPackageTracker;Lcom/android/server/job/JobCompletedListener;Landroid/os/Looper;)V
-PLcom/android/server/job/JobServiceContext;-><init>(Lcom/android/server/job/JobSchedulerService;Lcom/android/internal/app/IBatteryStats;Lcom/android/server/job/JobPackageTracker;Landroid/os/Looper;)V
-PLcom/android/server/job/JobServiceContext;->applyStoppedReasonLocked(Ljava/lang/String;)V
+PLcom/android/server/job/JobServiceContext$JobServiceHandler;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/job/JobServiceContext;->assertCallerLocked(Lcom/android/server/job/JobServiceContext$JobCallback;)V
-PLcom/android/server/job/JobServiceContext;->cancelExecutingJobLocked(ILjava/lang/String;)V
 PLcom/android/server/job/JobServiceContext;->closeAndCleanupJobLocked(ZLjava/lang/String;)V
 PLcom/android/server/job/JobServiceContext;->deriveWorkSource(Lcom/android/server/job/controllers/JobStatus;)Landroid/os/WorkSource;
-PLcom/android/server/job/JobServiceContext;->doAcknowledgeStartMessage(Lcom/android/server/job/JobServiceContext$JobCallback;IZ)V
-PLcom/android/server/job/JobServiceContext;->doAcknowledgeStopMessage(Lcom/android/server/job/JobServiceContext$JobCallback;IZ)V
+PLcom/android/server/job/JobServiceContext;->doCallback(Lcom/android/server/job/JobServiceContext$JobCallback;ZLjava/lang/String;)V
 PLcom/android/server/job/JobServiceContext;->doCallbackLocked(ZLjava/lang/String;)V
 PLcom/android/server/job/JobServiceContext;->doCancelLocked(ILjava/lang/String;)V
 PLcom/android/server/job/JobServiceContext;->doCompleteWork(Lcom/android/server/job/JobServiceContext$JobCallback;II)Z
 PLcom/android/server/job/JobServiceContext;->doDequeueWork(Lcom/android/server/job/JobServiceContext$JobCallback;I)Landroid/app/job/JobWorkItem;
-PLcom/android/server/job/JobServiceContext;->doJobFinished(Lcom/android/server/job/JobServiceContext$JobCallback;IZ)V
-PLcom/android/server/job/JobServiceContext;->doServiceBoundLocked()V
 PLcom/android/server/job/JobServiceContext;->executeRunnableJob(Lcom/android/server/job/controllers/JobStatus;)Z
 PLcom/android/server/job/JobServiceContext;->handleCancelLocked(Ljava/lang/String;)V
 PLcom/android/server/job/JobServiceContext;->handleFinishedLocked(ZLjava/lang/String;)V
+PLcom/android/server/job/JobServiceContext;->handleOpTimeoutLocked()V
 PLcom/android/server/job/JobServiceContext;->handleServiceBoundLocked()V
 PLcom/android/server/job/JobServiceContext;->handleStartedLocked(Z)V
 PLcom/android/server/job/JobServiceContext;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
 PLcom/android/server/job/JobServiceContext;->onServiceDisconnected(Landroid/content/ComponentName;)V
-PLcom/android/server/job/JobServiceContext;->preemptExecutingJobLocked()V
+PLcom/android/server/job/JobServiceContext;->scheduleOpTimeOutLocked()V
 PLcom/android/server/job/JobServiceContext;->sendStopMessageLocked(Ljava/lang/String;)V
-PLcom/android/server/job/JobServiceContext;->verifyCallerLocked(Lcom/android/server/job/JobServiceContext$JobCallback;)Z
-PLcom/android/server/job/JobStore$1;-><init>(Lcom/android/server/job/JobStore;)V
+PLcom/android/server/job/JobStore$1;->addAttributesToJobTag(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/JobStore$1;->deepCopyBundle(Landroid/os/PersistableBundle;I)Landroid/os/PersistableBundle;
 PLcom/android/server/job/JobStore$1;->run()V
-PLcom/android/server/job/JobStore$JobSet;-><init>()V
-PLcom/android/server/job/JobStore$JobSet;->add(Lcom/android/server/job/controllers/JobStatus;)Z
-PLcom/android/server/job/JobStore$JobSet;->getJobsByUid(I)Ljava/util/List;
-PLcom/android/server/job/JobStore$JobSet;->lambda$removeJobsOfNonUsers$0([ILcom/android/server/job/controllers/JobStatus;)Z
-PLcom/android/server/job/JobStore$JobSet;->lambda$removeJobsOfNonUsers$1([ILcom/android/server/job/controllers/JobStatus;)Z
-PLcom/android/server/job/JobStore$JobSet;->removeAll(Ljava/util/function/Predicate;)V
-PLcom/android/server/job/JobStore$JobSet;->removeJobsOfNonUsers([I)V
-PLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;-><init>(Lcom/android/server/job/JobStore;Lcom/android/server/job/JobStore$JobSet;Z)V
-PLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->buildBuilderFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/app/job/JobInfo$Builder;
-PLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->buildConstraintsFromXml(Landroid/app/job/JobInfo$Builder;Lorg/xmlpull/v1/XmlPullParser;)V
-PLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->buildRtcExecutionTimesFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/Pair;
-PLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->maybeBuildBackoffPolicyFromXml(Landroid/app/job/JobInfo$Builder;Lorg/xmlpull/v1/XmlPullParser;)V
-PLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->readJobMapImpl(Ljava/io/FileInputStream;Z)Ljava/util/List;
-PLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->restoreJobFromXml(ZLorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/job/controllers/JobStatus;
-PLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->run()V
-PLcom/android/server/job/JobStore;-><init>(Landroid/content/Context;Ljava/lang/Object;Ljava/io/File;)V
-PLcom/android/server/job/JobStore;->access$200(Lcom/android/server/job/JobStore;)Landroid/util/AtomicFile;
-PLcom/android/server/job/JobStore;->access$302(Lcom/android/server/job/JobStore;I)I
-PLcom/android/server/job/JobStore;->access$400(Lcom/android/server/job/JobStore;)Lcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;
-PLcom/android/server/job/JobStore;->access$500(Landroid/util/Pair;J)Landroid/util/Pair;
-PLcom/android/server/job/JobStore;->add(Lcom/android/server/job/controllers/JobStatus;)Z
-PLcom/android/server/job/JobStore;->convertRtcBoundsToElapsed(Landroid/util/Pair;J)Landroid/util/Pair;
-PLcom/android/server/job/JobStore;->countJobsForUid(I)I
-PLcom/android/server/job/JobStore;->forEachJob(ILjava/util/function/Consumer;)V
-PLcom/android/server/job/JobStore;->forEachJob(Ljava/util/function/Consumer;)V
-PLcom/android/server/job/JobStore;->forEachJobForSourceUid(ILjava/util/function/Consumer;)V
-PLcom/android/server/job/JobStore;->getJobByUidAndJobId(II)Lcom/android/server/job/controllers/JobStatus;
-PLcom/android/server/job/JobStore;->getJobsByUid(I)Ljava/util/List;
-PLcom/android/server/job/JobStore;->getPersistStats()Lcom/android/server/job/JobSchedulerInternal$JobStorePersistStats;
-PLcom/android/server/job/JobStore;->initAndGet(Lcom/android/server/job/JobSchedulerService;)Lcom/android/server/job/JobStore;
-PLcom/android/server/job/JobStore;->jobTimesInflatedValid()Z
+PLcom/android/server/job/JobStore$1;->writeConstraintsToXml(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/JobStore$1;->writeExecutionCriteriaToXml(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/JobStore$1;->writeJobsMapImpl(Ljava/util/List;)V
 PLcom/android/server/job/JobStore;->maybeWriteStatusToDiskAsync()V
-PLcom/android/server/job/JobStore;->readJobMapFromDisk(Lcom/android/server/job/JobStore$JobSet;Z)V
 PLcom/android/server/job/JobStore;->remove(Lcom/android/server/job/controllers/JobStatus;Z)Z
-PLcom/android/server/job/JobStore;->removeJobsOfNonUsers([I)V
-PLcom/android/server/job/controllers/-$$Lambda$IdleController$IdlenessTracker$nTdS-lGBXcES5VWKcJFmQFgU7IU;-><init>(Lcom/android/server/job/controllers/IdleController$IdlenessTracker;)V
-PLcom/android/server/job/controllers/-$$Lambda$IdleController$IdlenessTracker$nTdS-lGBXcES5VWKcJFmQFgU7IU;->onAlarm()V
-PLcom/android/server/job/controllers/BackgroundJobsController$1;-><init>(Lcom/android/server/job/controllers/BackgroundJobsController;)V
+PLcom/android/server/job/controllers/-$$Lambda$QuotaController$Sy3xZVkjJSYUVy4yBTZGfwQdAZ8;->accept(Ljava/lang/Object;)V
 PLcom/android/server/job/controllers/BackgroundJobsController$1;->updateAllJobs()V
-PLcom/android/server/job/controllers/BackgroundJobsController$1;->updateJobsForUid(IZ)V
-PLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;-><init>(Lcom/android/server/job/controllers/BackgroundJobsController;I)V
-PLcom/android/server/job/controllers/BackgroundJobsController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/controllers/BackgroundJobsController;->access$000(Lcom/android/server/job/controllers/BackgroundJobsController;)V
-PLcom/android/server/job/controllers/BackgroundJobsController;->access$100(Lcom/android/server/job/controllers/BackgroundJobsController;IZ)V
-PLcom/android/server/job/controllers/BackgroundJobsController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/BackgroundJobsController$UpdateJobFunctor;->accept(Ljava/lang/Object;)V
 PLcom/android/server/job/controllers/BackgroundJobsController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
-PLcom/android/server/job/controllers/BackgroundJobsController;->updateAllJobRestrictionsLocked()V
-PLcom/android/server/job/controllers/BackgroundJobsController;->updateJobRestrictionsForUidLocked(IZ)V
-PLcom/android/server/job/controllers/BackgroundJobsController;->updateJobRestrictionsLocked(II)V
-PLcom/android/server/job/controllers/BatteryController$ChargingTracker;-><init>(Lcom/android/server/job/controllers/BatteryController;)V
-PLcom/android/server/job/controllers/BatteryController$ChargingTracker;->isBatteryNotLow()Z
-PLcom/android/server/job/controllers/BatteryController$ChargingTracker;->isOnStablePower()Z
 PLcom/android/server/job/controllers/BatteryController$ChargingTracker;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 PLcom/android/server/job/controllers/BatteryController$ChargingTracker;->onReceiveInternal(Landroid/content/Intent;)V
-PLcom/android/server/job/controllers/BatteryController$ChargingTracker;->startTracking()V
-PLcom/android/server/job/controllers/BatteryController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/controllers/BatteryController;->access$000()Z
-PLcom/android/server/job/controllers/BatteryController;->access$100(Lcom/android/server/job/controllers/BatteryController;)V
 PLcom/android/server/job/controllers/BatteryController;->maybeReportNewChargingStateLocked()V
-PLcom/android/server/job/controllers/BatteryController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
 PLcom/android/server/job/controllers/BatteryController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
-PLcom/android/server/job/controllers/ConnectivityController$1;-><init>(Lcom/android/server/job/controllers/ConnectivityController;)V
+PLcom/android/server/job/controllers/ConnectivityController$1;->onAvailable(Landroid/net/Network;)V
 PLcom/android/server/job/controllers/ConnectivityController$1;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
 PLcom/android/server/job/controllers/ConnectivityController$1;->onLost(Landroid/net/Network;)V
-PLcom/android/server/job/controllers/ConnectivityController$2;-><init>(Lcom/android/server/job/controllers/ConnectivityController;)V
-PLcom/android/server/job/controllers/ConnectivityController$2;->onUidRulesChanged(II)V
-PLcom/android/server/job/controllers/ConnectivityController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/controllers/ConnectivityController;->access$000()Z
-PLcom/android/server/job/controllers/ConnectivityController;->access$100(Lcom/android/server/job/controllers/ConnectivityController;ILandroid/net/Network;)V
+PLcom/android/server/job/controllers/ConnectivityController;->isInsane(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z
 PLcom/android/server/job/controllers/ConnectivityController;->isRelaxedSatisfied(Lcom/android/server/job/controllers/JobStatus;Landroid/net/Network;Landroid/net/NetworkCapabilities;Lcom/android/server/job/JobSchedulerService$Constants;)Z
-PLcom/android/server/job/controllers/ConnectivityController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
 PLcom/android/server/job/controllers/ConnectivityController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
-PLcom/android/server/job/controllers/ConnectivityController;->updateConstraintsSatisfied(Lcom/android/server/job/controllers/JobStatus;)Z
+PLcom/android/server/job/controllers/ConnectivityController;->onAppRemovedLocked(Ljava/lang/String;I)V
+PLcom/android/server/job/controllers/ConnectivityController;->reevaluateStateLocked(I)V
+PLcom/android/server/job/controllers/ConnectivityController;->requestStandbyExceptionLocked(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/ConnectivityController;->revokeStandbyExceptionLocked(I)V
 PLcom/android/server/job/controllers/ContentObserverController$JobInstance;-><init>(Lcom/android/server/job/controllers/ContentObserverController;Lcom/android/server/job/controllers/JobStatus;)V
 PLcom/android/server/job/controllers/ContentObserverController$JobInstance;->detachLocked()V
 PLcom/android/server/job/controllers/ContentObserverController$JobInstance;->scheduleLocked()V
 PLcom/android/server/job/controllers/ContentObserverController$JobInstance;->trigger()V
-PLcom/android/server/job/controllers/ContentObserverController$JobInstance;->unscheduleLocked()V
-PLcom/android/server/job/controllers/ContentObserverController$ObserverInstance;-><init>(Lcom/android/server/job/controllers/ContentObserverController;Landroid/os/Handler;Landroid/app/job/JobInfo$TriggerContentUri;I)V
 PLcom/android/server/job/controllers/ContentObserverController$ObserverInstance;->onChange(ZLandroid/net/Uri;)V
-PLcom/android/server/job/controllers/ContentObserverController$TriggerRunnable;-><init>(Lcom/android/server/job/controllers/ContentObserverController$JobInstance;)V
 PLcom/android/server/job/controllers/ContentObserverController$TriggerRunnable;->run()V
-PLcom/android/server/job/controllers/ContentObserverController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/controllers/ContentObserverController;->access$000()Z
-PLcom/android/server/job/controllers/ContentObserverController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
 PLcom/android/server/job/controllers/ContentObserverController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
 PLcom/android/server/job/controllers/ContentObserverController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V
 PLcom/android/server/job/controllers/ContentObserverController;->rescheduleForFailureLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-PLcom/android/server/job/controllers/DeviceIdleJobsController$1;-><init>(Lcom/android/server/job/controllers/DeviceIdleJobsController;)V
 PLcom/android/server/job/controllers/DeviceIdleJobsController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleJobsDelayHandler;-><init>(Lcom/android/server/job/controllers/DeviceIdleJobsController;Landroid/os/Looper;)V
 PLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleJobsDelayHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;-><init>(Lcom/android/server/job/controllers/DeviceIdleJobsController;)V
-PLcom/android/server/job/controllers/DeviceIdleJobsController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/controllers/DeviceIdleJobsController;->access$000(Lcom/android/server/job/controllers/DeviceIdleJobsController;)Landroid/os/PowerManager;
-PLcom/android/server/job/controllers/DeviceIdleJobsController;->access$200(Lcom/android/server/job/controllers/DeviceIdleJobsController;)Lcom/android/server/DeviceIdleController$LocalService;
-PLcom/android/server/job/controllers/DeviceIdleJobsController;->access$300()Z
-PLcom/android/server/job/controllers/DeviceIdleJobsController;->access$402(Lcom/android/server/job/controllers/DeviceIdleJobsController;[I)[I
-PLcom/android/server/job/controllers/DeviceIdleJobsController;->access$500(Lcom/android/server/job/controllers/DeviceIdleJobsController;)Landroid/util/ArraySet;
-PLcom/android/server/job/controllers/DeviceIdleJobsController;->access$700(Lcom/android/server/job/controllers/DeviceIdleJobsController;)Lcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;
-PLcom/android/server/job/controllers/DeviceIdleJobsController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/DeviceIdleJobsController$DeviceIdleUpdateFunctor;->accept(Ljava/lang/Object;)V
 PLcom/android/server/job/controllers/DeviceIdleJobsController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
-PLcom/android/server/job/controllers/DeviceIdleJobsController;->setUidActiveLocked(IZ)V
 PLcom/android/server/job/controllers/DeviceIdleJobsController;->updateIdleMode(Z)V
-PLcom/android/server/job/controllers/IdleController$IdlenessTracker;-><init>(Lcom/android/server/job/controllers/IdleController;)V
-PLcom/android/server/job/controllers/IdleController$IdlenessTracker;->handleIdleTrigger()V
-PLcom/android/server/job/controllers/IdleController$IdlenessTracker;->isIdle()Z
-PLcom/android/server/job/controllers/IdleController$IdlenessTracker;->lambda$new$0(Lcom/android/server/job/controllers/IdleController$IdlenessTracker;)V
-PLcom/android/server/job/controllers/IdleController$IdlenessTracker;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/job/controllers/IdleController$IdlenessTracker;->startTracking()V
-PLcom/android/server/job/controllers/IdleController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/controllers/IdleController;->access$000()Z
-PLcom/android/server/job/controllers/IdleController;->access$100(Lcom/android/server/job/controllers/IdleController;)J
-PLcom/android/server/job/controllers/IdleController;->access$200(Lcom/android/server/job/controllers/IdleController;)J
-PLcom/android/server/job/controllers/IdleController;->initIdleStateTracking()V
-PLcom/android/server/job/controllers/IdleController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
 PLcom/android/server/job/controllers/IdleController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
 PLcom/android/server/job/controllers/IdleController;->reportNewIdleState(Z)V
-PLcom/android/server/job/controllers/JobStatus;-><init>(Landroid/app/job/JobInfo;ILjava/lang/String;IIJLjava/lang/String;JJJJLandroid/util/Pair;I)V
+PLcom/android/server/job/controllers/JobStatus;-><init>(Lcom/android/server/job/controllers/JobStatus;)V
 PLcom/android/server/job/controllers/JobStatus;-><init>(Lcom/android/server/job/controllers/JobStatus;JJJIJJ)V
-PLcom/android/server/job/controllers/JobStatus;->addInternalFlags(I)V
-PLcom/android/server/job/controllers/JobStatus;->clearPersistedUtcTimes()V
 PLcom/android/server/job/controllers/JobStatus;->completeWorkLocked(Landroid/app/IActivityManager;I)Z
-PLcom/android/server/job/controllers/JobStatus;->createFromJobInfo(Landroid/app/job/JobInfo;ILjava/lang/String;ILjava/lang/String;)Lcom/android/server/job/controllers/JobStatus;
 PLcom/android/server/job/controllers/JobStatus;->dequeueWorkLocked()Landroid/app/job/JobWorkItem;
 PLcom/android/server/job/controllers/JobStatus;->enqueueWorkLocked(Landroid/app/IActivityManager;Landroid/app/job/JobWorkItem;)V
-PLcom/android/server/job/controllers/JobStatus;->getTag()Ljava/lang/String;
-PLcom/android/server/job/controllers/JobStatus;->getTriggerContentMaxDelay()J
-PLcom/android/server/job/controllers/JobStatus;->getTriggerContentUpdateDelay()J
-PLcom/android/server/job/controllers/JobStatus;->getWhenStandbyDeferred()J
-PLcom/android/server/job/controllers/JobStatus;->hasContentTriggerConstraint()Z
-PLcom/android/server/job/controllers/JobStatus;->hasExecutingWorkLocked()Z
-PLcom/android/server/job/controllers/JobStatus;->hasPowerConstraint()Z
-PLcom/android/server/job/controllers/JobStatus;->hasStorageNotLowConstraint()Z
-PLcom/android/server/job/controllers/JobStatus;->hasWorkLocked()Z
-PLcom/android/server/job/controllers/JobStatus;->isPreparedLocked()Z
-PLcom/android/server/job/controllers/JobStatus;->maybeAddForegroundExemption(Ljava/util/function/Predicate;)V
-PLcom/android/server/job/controllers/JobStatus;->prepareLocked(Landroid/app/IActivityManager;)V
-PLcom/android/server/job/controllers/JobStatus;->resolveTargetSdkVersion(Landroid/app/job/JobInfo;)I
-PLcom/android/server/job/controllers/JobStatus;->setBatteryNotLowConstraintSatisfied(Z)Z
-PLcom/android/server/job/controllers/JobStatus;->setChargingConstraintSatisfied(Z)Z
-PLcom/android/server/job/controllers/JobStatus;->setContentTriggerConstraintSatisfied(Z)Z
-PLcom/android/server/job/controllers/JobStatus;->setDeadlineConstraintSatisfied(Z)Z
-PLcom/android/server/job/controllers/JobStatus;->setIdleConstraintSatisfied(Z)Z
-PLcom/android/server/job/controllers/JobStatus;->setStandbyBucket(I)V
-PLcom/android/server/job/controllers/JobStatus;->setStorageNotLowConstraintSatisfied(Z)Z
-PLcom/android/server/job/controllers/JobStatus;->setTrackingController(I)V
-PLcom/android/server/job/controllers/JobStatus;->setWhenStandbyDeferred(J)V
 PLcom/android/server/job/controllers/JobStatus;->stopTrackingJobLocked(Landroid/app/IActivityManager;Lcom/android/server/job/controllers/JobStatus;)V
-PLcom/android/server/job/controllers/JobStatus;->ungrantWorkItem(Landroid/app/IActivityManager;Landroid/app/job/JobWorkItem;)V
-PLcom/android/server/job/controllers/JobStatus;->ungrantWorkList(Landroid/app/IActivityManager;Ljava/util/ArrayList;)V
+PLcom/android/server/job/controllers/JobStatus;->toShortString()Ljava/lang/String;
 PLcom/android/server/job/controllers/JobStatus;->unprepareLocked(Landroid/app/IActivityManager;)V
-PLcom/android/server/job/controllers/StateController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+PLcom/android/server/job/controllers/QuotaController$1;->onAlarm()V
+PLcom/android/server/job/controllers/QuotaController$ChargingTracker;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/job/controllers/QuotaController$DeleteTimingSessionsFunctor$1;->test(Lcom/android/server/job/controllers/QuotaController$TimingSession;)Z
+PLcom/android/server/job/controllers/QuotaController$DeleteTimingSessionsFunctor$1;->test(Ljava/lang/Object;)Z
+PLcom/android/server/job/controllers/QuotaController$DeleteTimingSessionsFunctor;->accept(Ljava/lang/Object;)V
+PLcom/android/server/job/controllers/QuotaController$EarliestEndTimeFunctor;->accept(Ljava/lang/Object;)V
+PLcom/android/server/job/controllers/QuotaController$QcAlarmListener;->getTriggerTimeElapsed()J
+PLcom/android/server/job/controllers/QuotaController$QcAlarmListener;->isWaiting()Z
+PLcom/android/server/job/controllers/QuotaController$QcAlarmListener;->onAlarm()V
+PLcom/android/server/job/controllers/QuotaController$QcAlarmListener;->setTriggerTime(J)V
+PLcom/android/server/job/controllers/QuotaController$Timer;->emitSessionLocked(J)V
+PLcom/android/server/job/controllers/QuotaController$Timer;->getBgJobCount()I
+PLcom/android/server/job/controllers/QuotaController$Timer;->getCurrentDuration(J)J
+PLcom/android/server/job/controllers/QuotaController$Timer;->isActive()Z
+PLcom/android/server/job/controllers/QuotaController$Timer;->onStateChanged(JZ)V
+PLcom/android/server/job/controllers/QuotaController$Timer;->scheduleCutoff()V
+PLcom/android/server/job/controllers/QuotaController$Timer;->startTrackingJob(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/QuotaController$Timer;->stopTrackingJob(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/QuotaController$TimingSession;-><init>(JJI)V
+PLcom/android/server/job/controllers/QuotaController$UserPackageMap;->delete(ILjava/lang/String;)V
+PLcom/android/server/job/controllers/QuotaController$UserPackageMap;->forEach(Ljava/util/function/Consumer;)V
+PLcom/android/server/job/controllers/QuotaController$UserPackageMap;->keyAt(I)I
+PLcom/android/server/job/controllers/QuotaController$UserPackageMap;->keyAt(II)Ljava/lang/String;
+PLcom/android/server/job/controllers/QuotaController$UserPackageMap;->numPackagesForUser(I)I
+PLcom/android/server/job/controllers/QuotaController$UserPackageMap;->valueAt(II)Ljava/lang/Object;
+PLcom/android/server/job/controllers/QuotaController;->handleNewChargingStateLocked()V
+PLcom/android/server/job/controllers/QuotaController;->incrementJobCount(ILjava/lang/String;I)V
+PLcom/android/server/job/controllers/QuotaController;->maybeScheduleCleanupAlarmLocked()V
+PLcom/android/server/job/controllers/QuotaController;->maybeScheduleStartAlarmLocked(ILjava/lang/String;I)V
+PLcom/android/server/job/controllers/QuotaController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
+PLcom/android/server/job/controllers/QuotaController;->onAppRemovedLocked(Ljava/lang/String;I)V
+PLcom/android/server/job/controllers/QuotaController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/QuotaController;->saveTimingSession(ILjava/lang/String;Lcom/android/server/job/controllers/QuotaController$TimingSession;)V
+PLcom/android/server/job/controllers/StateController;->onAppRemovedLocked(Ljava/lang/String;I)V
+PLcom/android/server/job/controllers/StateController;->prepareForExecutionLocked(Lcom/android/server/job/controllers/JobStatus;)V
+PLcom/android/server/job/controllers/StateController;->reevaluateStateLocked(I)V
 PLcom/android/server/job/controllers/StateController;->rescheduleForFailureLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
-PLcom/android/server/job/controllers/StorageController$StorageTracker;-><init>(Lcom/android/server/job/controllers/StorageController;)V
-PLcom/android/server/job/controllers/StorageController$StorageTracker;->isStorageNotLow()Z
-PLcom/android/server/job/controllers/StorageController$StorageTracker;->startTracking()V
-PLcom/android/server/job/controllers/StorageController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/controllers/StorageController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
 PLcom/android/server/job/controllers/StorageController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
-PLcom/android/server/job/controllers/TimeController$1;-><init>(Lcom/android/server/job/controllers/TimeController;)V
 PLcom/android/server/job/controllers/TimeController$1;->onAlarm()V
-PLcom/android/server/job/controllers/TimeController$2;-><init>(Lcom/android/server/job/controllers/TimeController;)V
-PLcom/android/server/job/controllers/TimeController$2;->onAlarm()V
-PLcom/android/server/job/controllers/TimeController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
-PLcom/android/server/job/controllers/TimeController;->access$000()Z
-PLcom/android/server/job/controllers/TimeController;->access$100(Lcom/android/server/job/controllers/TimeController;)V
-PLcom/android/server/job/controllers/TimeController;->access$200(Lcom/android/server/job/controllers/TimeController;)V
-PLcom/android/server/job/controllers/TimeController;->checkExpiredDeadlinesAndResetAlarm()V
-PLcom/android/server/job/controllers/TimeController;->deriveWorkSource(ILjava/lang/String;)Landroid/os/WorkSource;
-PLcom/android/server/job/controllers/TimeController;->ensureAlarmServiceLocked()V
-PLcom/android/server/job/controllers/TimeController;->evaluateDeadlineConstraint(Lcom/android/server/job/controllers/JobStatus;J)Z
-PLcom/android/server/job/controllers/TimeController;->maybeAdjustAlarmTime(J)J
 PLcom/android/server/job/controllers/TimeController;->maybeStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;Z)V
-PLcom/android/server/job/controllers/TimeController;->maybeUpdateAlarmsLocked(JJLandroid/os/WorkSource;)V
-PLcom/android/server/job/controllers/TimeController;->setDeadlineExpiredAlarmLocked(JLandroid/os/WorkSource;)V
-PLcom/android/server/job/controllers/TimeController;->setDelayExpiredAlarmLocked(JLandroid/os/WorkSource;)V
-PLcom/android/server/job/controllers/TimeController;->updateAlarmWithListenerLocked(Ljava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;JLandroid/os/WorkSource;)V
-PLcom/android/server/lights/LightsService$LightImpl;->setColor(I)V
-PLcom/android/server/lights/LightsService$LightImpl;->turnOff()V
-PLcom/android/server/location/-$$Lambda$5U-_NhZgxqnYDZhpyacq4qBxh8k;-><init>(Lcom/android/server/location/GnssSatelliteBlacklistHelper;)V
-PLcom/android/server/location/-$$Lambda$5U-_NhZgxqnYDZhpyacq4qBxh8k;->run()V
-PLcom/android/server/location/-$$Lambda$ContextHubClientManager$f15OSYbsSONpkXn7GinnrBPeumw;-><init>(Landroid/hardware/location/NanoAppMessage;)V
-PLcom/android/server/location/-$$Lambda$ContextHubClientManager$f15OSYbsSONpkXn7GinnrBPeumw;->accept(Ljava/lang/Object;)V
-PLcom/android/server/location/-$$Lambda$ContextHubTransactionManager$sHbjr4TaLEATkCX_yhD2L7ebuxE;-><init>(Lcom/android/server/location/ContextHubTransactionManager;Lcom/android/server/location/ContextHubServiceTransaction;)V
-PLcom/android/server/location/-$$Lambda$GnssGeofenceProvider$x-gy6KDILxd4rIEjriAkYQ46QwA;-><init>(Lcom/android/server/location/GnssGeofenceProvider;)V
-PLcom/android/server/location/-$$Lambda$GnssGeofenceProvider$x-gy6KDILxd4rIEjriAkYQ46QwA;->run()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$2m3d6BkqWO0fZAJAijxHyPDHfxI;-><init>([I[I)V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$2m3d6BkqWO0fZAJAijxHyPDHfxI;->run()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$6$0TBIDASC8cGFJxhCk2blveu19LI;-><init>()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$6$0TBIDASC8cGFJxhCk2blveu19LI;->set(I)Z
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$6$7ITcPSS3RLwdJLvqPT1qDZbuYgU;-><init>()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$6$7ITcPSS3RLwdJLvqPT1qDZbuYgU;->set(I)Z
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$6$M4Zfb6dp_EFsOdGGju4tOPs-lc4;-><init>()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$6$M4Zfb6dp_EFsOdGGju4tOPs-lc4;->set(I)Z
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$6$d34_RfOwt4eW2WTSkMsS8UoXSqY;-><init>()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$6$d34_RfOwt4eW2WTSkMsS8UoXSqY;->set(I)Z
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$6$fIEuYdSEFZVtEQQ5H4O-bTmj-LE;-><init>()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$6$fIEuYdSEFZVtEQQ5H4O-bTmj-LE;->set(I)Z
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$6$pJxRP_yDkUU0yl--Fw431I8fN70;-><init>()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$6$pJxRP_yDkUU0yl--Fw431I8fN70;->set(I)Z
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$6$vt8zMIL_RIFwKcgd1rz4Y33NVyk;-><init>()V
-PLcom/android/server/location/-$$Lambda$GnssLocationProvider$6$vt8zMIL_RIFwKcgd1rz4Y33NVyk;->set(I)Z
-PLcom/android/server/location/-$$Lambda$GnssMeasurementsProvider$865xzodmeiSeR2xhh7cKZjiZkhE;-><init>(Landroid/location/GnssMeasurementsEvent;)V
-PLcom/android/server/location/-$$Lambda$GnssMeasurementsProvider$865xzodmeiSeR2xhh7cKZjiZkhE;->execute(Landroid/os/IInterface;)V
-PLcom/android/server/location/-$$Lambda$NtpTimeHelper$xPxgficKWFyuwUj60WMuiGEEjdg;-><init>(Lcom/android/server/location/NtpTimeHelper;JJJ)V
+PLcom/android/server/job/controllers/TimeController;->reevaluateStateLocked(I)V
+PLcom/android/server/job/controllers/idle/-$$Lambda$DeviceIdlenessTracker$-H1-ZwZAJ-vh10A0PeYXaZLj_R0;->onAlarm()V
+PLcom/android/server/job/controllers/idle/DeviceIdlenessTracker;->handleIdleTrigger()V
+PLcom/android/server/job/controllers/idle/DeviceIdlenessTracker;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/location/-$$Lambda$ActivityRecognitionProxy$1$d2hvjp-Sk2zwb2N0mtEiubZ0jBE;->run(Landroid/os/IBinder;)V
+PLcom/android/server/location/-$$Lambda$ContextHubClientBroker$iBGtMeLZ6k5dYJZb_VEUfBBYh9s;->accept(Landroid/hardware/location/IContextHubClientCallback;)V
+PLcom/android/server/location/-$$Lambda$ContextHubClientBroker$ykmLCadaR6NcV4R42i4K8zw4AWs;->accept(Landroid/hardware/location/IContextHubClientCallback;)V
+PLcom/android/server/location/-$$Lambda$ContextHubClientManager$VPD5ebhe8Z67S8QKuTR4KzeshK8;->accept(Ljava/lang/Object;)V
+PLcom/android/server/location/-$$Lambda$ContextHubClientManager$gN_vRogwyzr9qBjrQpKwwHzrFAo;->accept(Ljava/lang/Object;)V
+PLcom/android/server/location/-$$Lambda$ContextHubService$yrt4Ybb62ufyqsQQMJoTJ2JMw_4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/location/-$$Lambda$GeocoderProxy$jfLn3HL2BzwsKdoI6ZZeFfEe10k;->run(Landroid/os/IBinder;)Ljava/lang/Object;
+PLcom/android/server/location/-$$Lambda$GeofenceProxy$nfSKchjbT2ANT9GbYwyAcTjzBwQ;->run(Landroid/os/IBinder;)V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$0fU7r6Mv7Rbb1locIu94oMkPETY;->run()V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$5JRdlnlBuHBzONt9pybF9IzcyVI;->run()V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$7an4_QLRsGpd_GYEEX9o8MWsh5g;->run()V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$NDN1yShW9DAV5AOPPdGxx-2UjAs;->run()V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$Q6M8z_ZBiD7BNs3kvNmVrqoHSng;->onNetworkAvailable()V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$gtHcvVLWX2LfpdP__1ZXfgMzijE;->run()V
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$jI_1ijylK8qgSMUNPTBQdsK_VgI;->getGnssMetricsAsProtoString()Ljava/lang/String;
+PLcom/android/server/location/-$$Lambda$GnssLocationProvider$oV78CWPlpzb195CgVgv-_YipNWw;->run()V
+PLcom/android/server/location/-$$Lambda$GnssMeasurementsProvider$7zkPZ1cZT9il6UQ7nu_IZ88b3MU;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/-$$Lambda$GnssNetworkConnectivityHandler$YEGTN3glQ7Hr1FK-xXGbC4KcmJY;->run()V
+PLcom/android/server/location/-$$Lambda$GnssNetworkConnectivityHandler$aTyNcuGLHmJGtXKl9qoZpMmhfBY;->run()V
+PLcom/android/server/location/-$$Lambda$GnssNetworkConnectivityHandler$axxNnxmo3KqgsSDot69yokC4KVE;->run()V
+PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$0MNjUouf1HJVcFD10rzoJIkzCrw;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$68FOYPQxCAVSdtoWmmZNfYGGIJE;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$6s2HBSMgP5pXrugfCvtIf9QHndI;-><init>()V
+PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$6s2HBSMgP5pXrugfCvtIf9QHndI;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$AtHI8E6PAjonHH1N0ZGabW0VF6c;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$H9Tg_OtCE9BSJiAQYs_ITHFpiHU;-><init>()V
+PLcom/android/server/location/-$$Lambda$GnssStatusListenerHelper$H9Tg_OtCE9BSJiAQYs_ITHFpiHU;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
 PLcom/android/server/location/-$$Lambda$NtpTimeHelper$xPxgficKWFyuwUj60WMuiGEEjdg;->run()V
-PLcom/android/server/location/-$$Lambda$NtpTimeHelper$xWqlqJuq4jBJ5-xhFLCwEKGVB0k;-><init>(Lcom/android/server/location/NtpTimeHelper;)V
 PLcom/android/server/location/-$$Lambda$NtpTimeHelper$xWqlqJuq4jBJ5-xhFLCwEKGVB0k;->run()V
-PLcom/android/server/location/-$$Lambda$nmIoImstXHuMaecjUXtG9FcFizs;-><init>(Lcom/android/server/location/GnssGeofenceProvider$GnssGeofenceProviderNative;)V
-PLcom/android/server/location/-$$Lambda$nmIoImstXHuMaecjUXtG9FcFizs;->call()Ljava/lang/Object;
-PLcom/android/server/location/ActivityRecognitionProxy$1;-><init>(Lcom/android/server/location/ActivityRecognitionProxy;)V
-PLcom/android/server/location/ActivityRecognitionProxy$1;->run()V
-PLcom/android/server/location/ActivityRecognitionProxy$2;-><init>(Lcom/android/server/location/ActivityRecognitionProxy;)V
-PLcom/android/server/location/ActivityRecognitionProxy$2;->run(Landroid/os/IBinder;)V
-PLcom/android/server/location/ActivityRecognitionProxy;-><init>(Landroid/content/Context;Landroid/os/Handler;ZLandroid/hardware/location/ActivityRecognitionHardware;III)V
-PLcom/android/server/location/ActivityRecognitionProxy;->access$000(Lcom/android/server/location/ActivityRecognitionProxy;)V
-PLcom/android/server/location/ActivityRecognitionProxy;->access$100(Lcom/android/server/location/ActivityRecognitionProxy;)Landroid/hardware/location/ActivityRecognitionHardware;
-PLcom/android/server/location/ActivityRecognitionProxy;->access$200(Lcom/android/server/location/ActivityRecognitionProxy;)Z
-PLcom/android/server/location/ActivityRecognitionProxy;->bindProvider()V
-PLcom/android/server/location/ActivityRecognitionProxy;->createAndBind(Landroid/content/Context;Landroid/os/Handler;ZLandroid/hardware/location/ActivityRecognitionHardware;III)Lcom/android/server/location/ActivityRecognitionProxy;
-PLcom/android/server/location/ComprehensiveCountryDetector$1;-><init>(Lcom/android/server/location/ComprehensiveCountryDetector;)V
-PLcom/android/server/location/ComprehensiveCountryDetector$2;-><init>(Lcom/android/server/location/ComprehensiveCountryDetector;Landroid/location/Country;Landroid/location/Country;ZZ)V
-PLcom/android/server/location/ComprehensiveCountryDetector$2;->run()V
-PLcom/android/server/location/ComprehensiveCountryDetector$4;-><init>(Lcom/android/server/location/ComprehensiveCountryDetector;)V
+PLcom/android/server/location/AbstractLocationProvider;->getProviderPackages()Ljava/util/List;
+PLcom/android/server/location/AbstractLocationProvider;->reportLocation(Landroid/location/Location;)V
+PLcom/android/server/location/ActivityRecognitionProxy$1;->onBind()V
+PLcom/android/server/location/ActivityRecognitionProxy;->initializeService(Landroid/os/IBinder;)V
+PLcom/android/server/location/ComprehensiveCountryDetector$1;->onCountryDetected(Landroid/location/Country;)V
 PLcom/android/server/location/ComprehensiveCountryDetector$4;->onServiceStateChanged(Landroid/telephony/ServiceState;)V
-PLcom/android/server/location/ComprehensiveCountryDetector;-><init>(Landroid/content/Context;)V
-PLcom/android/server/location/ComprehensiveCountryDetector;->access$100(Lcom/android/server/location/ComprehensiveCountryDetector;ZZ)Landroid/location/Country;
-PLcom/android/server/location/ComprehensiveCountryDetector;->access$308(Lcom/android/server/location/ComprehensiveCountryDetector;)I
-PLcom/android/server/location/ComprehensiveCountryDetector;->access$408(Lcom/android/server/location/ComprehensiveCountryDetector;)I
-PLcom/android/server/location/ComprehensiveCountryDetector;->access$500(Lcom/android/server/location/ComprehensiveCountryDetector;)Z
-PLcom/android/server/location/ComprehensiveCountryDetector;->addPhoneStateListener()V
-PLcom/android/server/location/ComprehensiveCountryDetector;->addToLogs(Landroid/location/Country;)V
 PLcom/android/server/location/ComprehensiveCountryDetector;->cancelLocationRefresh()V
-PLcom/android/server/location/ComprehensiveCountryDetector;->detectCountry()Landroid/location/Country;
-PLcom/android/server/location/ComprehensiveCountryDetector;->detectCountry(ZZ)Landroid/location/Country;
-PLcom/android/server/location/ComprehensiveCountryDetector;->getCountry()Landroid/location/Country;
-PLcom/android/server/location/ComprehensiveCountryDetector;->getNetworkBasedCountry()Landroid/location/Country;
-PLcom/android/server/location/ComprehensiveCountryDetector;->isNetworkCountryCodeAvailable()Z
-PLcom/android/server/location/ComprehensiveCountryDetector;->notifyIfCountryChanged(Landroid/location/Country;Landroid/location/Country;)V
 PLcom/android/server/location/ComprehensiveCountryDetector;->removePhoneStateListener()V
-PLcom/android/server/location/ComprehensiveCountryDetector;->runAfterDetection(Landroid/location/Country;Landroid/location/Country;ZZ)V
-PLcom/android/server/location/ComprehensiveCountryDetector;->runAfterDetectionAsync(Landroid/location/Country;Landroid/location/Country;ZZ)V
-PLcom/android/server/location/ComprehensiveCountryDetector;->setCountryListener(Landroid/location/CountryListener;)V
 PLcom/android/server/location/ComprehensiveCountryDetector;->stopLocationBasedDetector()V
-PLcom/android/server/location/ContextHubClientBroker;-><init>(Landroid/content/Context;Landroid/hardware/contexthub/V1_0/IContexthub;Lcom/android/server/location/ContextHubClientManager;ISLandroid/hardware/location/IContextHubClientCallback;)V
-PLcom/android/server/location/ContextHubClientBroker;->attachDeathRecipient()V
-PLcom/android/server/location/ContextHubClientBroker;->getAttachedContextHubId()I
-PLcom/android/server/location/ContextHubClientBroker;->getHostEndPointId()S
-PLcom/android/server/location/ContextHubClientBroker;->sendMessageToClient(Landroid/hardware/location/NanoAppMessage;)V
-PLcom/android/server/location/ContextHubClientBroker;->sendMessageToNanoApp(Landroid/hardware/location/NanoAppMessage;)I
-PLcom/android/server/location/ContextHubClientManager;-><init>(Landroid/content/Context;Landroid/hardware/contexthub/V1_0/IContexthub;)V
-PLcom/android/server/location/ContextHubClientManager;->broadcastMessage(ILandroid/hardware/location/NanoAppMessage;)V
-PLcom/android/server/location/ContextHubClientManager;->createNewClientBroker(Landroid/hardware/location/IContextHubClientCallback;I)Lcom/android/server/location/ContextHubClientBroker;
-PLcom/android/server/location/ContextHubClientManager;->forEachClientOfHub(ILjava/util/function/Consumer;)V
-PLcom/android/server/location/ContextHubClientManager;->lambda$broadcastMessage$4(Landroid/hardware/location/NanoAppMessage;Lcom/android/server/location/ContextHubClientBroker;)V
-PLcom/android/server/location/ContextHubClientManager;->onMessageFromNanoApp(ILandroid/hardware/contexthub/V1_0/ContextHubMsg;)V
-PLcom/android/server/location/ContextHubClientManager;->registerClient(Landroid/hardware/location/IContextHubClientCallback;I)Landroid/hardware/location/IContextHubClient;
-PLcom/android/server/location/ContextHubService$1;-><init>(Lcom/android/server/location/ContextHubService;I)V
-PLcom/android/server/location/ContextHubService$1;->onMessageFromNanoApp(Landroid/hardware/location/NanoAppMessage;)V
-PLcom/android/server/location/ContextHubService$4;-><init>(Lcom/android/server/location/ContextHubService;I)V
-PLcom/android/server/location/ContextHubService$4;->onQueryResponse(ILjava/util/List;)V
-PLcom/android/server/location/ContextHubService$ContextHubServiceCallback;-><init>(Lcom/android/server/location/ContextHubService;I)V
-PLcom/android/server/location/ContextHubService$ContextHubServiceCallback;->handleAppsInfo(Ljava/util/ArrayList;)V
-PLcom/android/server/location/ContextHubService$ContextHubServiceCallback;->handleClientMsg(Landroid/hardware/contexthub/V1_0/ContextHubMsg;)V
-PLcom/android/server/location/ContextHubService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/location/ContextHubService;->access$000(Lcom/android/server/location/ContextHubService;ILandroid/hardware/contexthub/V1_0/ContextHubMsg;)V
-PLcom/android/server/location/ContextHubService;->access$400(Lcom/android/server/location/ContextHubService;ILjava/util/List;)V
-PLcom/android/server/location/ContextHubService;->access$500(Lcom/android/server/location/ContextHubService;)Lcom/android/server/location/NanoAppStateManager;
-PLcom/android/server/location/ContextHubService;->access$600(Lcom/android/server/location/ContextHubService;III[B)I
+PLcom/android/server/location/ContextHubClientBroker$PendingIntentRequest;->clear()V
+PLcom/android/server/location/ContextHubClientBroker;->close()V
+PLcom/android/server/location/ContextHubClientBroker;->onClientExit()V
+PLcom/android/server/location/ContextHubClientBroker;->onNanoAppLoaded(J)V
+PLcom/android/server/location/ContextHubClientBroker;->onNanoAppUnloaded(J)V
+PLcom/android/server/location/ContextHubClientManager;->onNanoAppLoaded(IJ)V
+PLcom/android/server/location/ContextHubClientManager;->onNanoAppUnloaded(IJ)V
+PLcom/android/server/location/ContextHubClientManager;->unregisterClient(S)V
+PLcom/android/server/location/ContextHubService$1;->onNanoAppLoaded(J)V
+PLcom/android/server/location/ContextHubService$1;->onNanoAppUnloaded(J)V
+PLcom/android/server/location/ContextHubService$2;->onTransactionComplete(I)V
+PLcom/android/server/location/ContextHubService$3;->onTransactionComplete(I)V
+PLcom/android/server/location/ContextHubService$ContextHubServiceCallback;->handleTxnResult(II)V
 PLcom/android/server/location/ContextHubService;->checkHalProxyAndContextHubId(ILandroid/hardware/location/IContextHubTransactionCallback;I)Z
-PLcom/android/server/location/ContextHubService;->checkPermissions()V
-PLcom/android/server/location/ContextHubService;->createDefaultClientCallback(I)Landroid/hardware/location/IContextHubClientCallback;
-PLcom/android/server/location/ContextHubService;->createQueryTransactionCallback(I)Landroid/hardware/location/IContextHubTransactionCallback;
 PLcom/android/server/location/ContextHubService;->findNanoAppOnHub(ILandroid/hardware/location/NanoAppFilter;)[I
 PLcom/android/server/location/ContextHubService;->getContextHubHandles()[I
 PLcom/android/server/location/ContextHubService;->getContextHubInfo(I)Landroid/hardware/location/ContextHubInfo;
-PLcom/android/server/location/ContextHubService;->getContextHubProxy()Landroid/hardware/contexthub/V1_0/IContexthub;
-PLcom/android/server/location/ContextHubService;->getContextHubs()Ljava/util/List;
 PLcom/android/server/location/ContextHubService;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
-PLcom/android/server/location/ContextHubService;->handleClientMessageCallback(ILandroid/hardware/contexthub/V1_0/ContextHubMsg;)V
-PLcom/android/server/location/ContextHubService;->handleQueryAppsCallback(ILjava/util/List;)V
-PLcom/android/server/location/ContextHubService;->isValidContextHubId(I)Z
-PLcom/android/server/location/ContextHubService;->onMessageReceiptOldApi(III[B)I
+PLcom/android/server/location/ContextHubService;->handleLoadResponseOldApi(IILandroid/hardware/location/NanoAppBinary;)V
+PLcom/android/server/location/ContextHubService;->loadNanoApp(ILandroid/hardware/location/NanoApp;)I
 PLcom/android/server/location/ContextHubService;->queryNanoApps(ILandroid/hardware/location/IContextHubTransactionCallback;)V
-PLcom/android/server/location/ContextHubService;->queryNanoAppsInternal(I)I
-PLcom/android/server/location/ContextHubService;->registerCallback(Landroid/hardware/location/IContextHubCallback;)I
 PLcom/android/server/location/ContextHubService;->sendMessage(IILandroid/hardware/location/ContextHubMessage;)I
-PLcom/android/server/location/ContextHubServiceTransaction;-><init>(II)V
-PLcom/android/server/location/ContextHubServiceTransaction;->getTimeout(Ljava/util/concurrent/TimeUnit;)J
-PLcom/android/server/location/ContextHubServiceTransaction;->getTransactionType()I
-PLcom/android/server/location/ContextHubServiceTransaction;->setComplete()V
-PLcom/android/server/location/ContextHubServiceUtil;->checkPermissions(Landroid/content/Context;)V
-PLcom/android/server/location/ContextHubServiceUtil;->copyToByteArrayList([BLjava/util/ArrayList;)V
-PLcom/android/server/location/ContextHubServiceUtil;->createContextHubInfoMap(Ljava/util/List;)Ljava/util/HashMap;
-PLcom/android/server/location/ContextHubServiceUtil;->createHidlContextHubMessage(SLandroid/hardware/location/NanoAppMessage;)Landroid/hardware/contexthub/V1_0/ContextHubMsg;
-PLcom/android/server/location/ContextHubServiceUtil;->createNanoAppMessage(Landroid/hardware/contexthub/V1_0/ContextHubMsg;)Landroid/hardware/location/NanoAppMessage;
-PLcom/android/server/location/ContextHubServiceUtil;->createNanoAppStateList(Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/location/ContextHubService;->unloadNanoApp(I)I
+PLcom/android/server/location/ContextHubServiceTransaction;->getTransactionId()I
+PLcom/android/server/location/ContextHubServiceUtil;->createHidlNanoAppBinary(Landroid/hardware/location/NanoAppBinary;)Landroid/hardware/contexthub/V1_0/NanoAppBinary;
 PLcom/android/server/location/ContextHubServiceUtil;->createPrimitiveIntArray(Ljava/util/Collection;)[I
-PLcom/android/server/location/ContextHubServiceUtil;->toTransactionResult(I)I
-PLcom/android/server/location/ContextHubTransactionManager$5;-><init>(Lcom/android/server/location/ContextHubTransactionManager;IIILandroid/hardware/location/IContextHubTransactionCallback;)V
-PLcom/android/server/location/ContextHubTransactionManager$5;->onQueryResponse(ILjava/util/List;)V
-PLcom/android/server/location/ContextHubTransactionManager$5;->onTransact()I
-PLcom/android/server/location/ContextHubTransactionManager;-><init>(Landroid/hardware/contexthub/V1_0/IContexthub;Lcom/android/server/location/ContextHubClientManager;Lcom/android/server/location/NanoAppStateManager;)V
-PLcom/android/server/location/ContextHubTransactionManager;->access$000(Lcom/android/server/location/ContextHubTransactionManager;)Landroid/hardware/contexthub/V1_0/IContexthub;
-PLcom/android/server/location/ContextHubTransactionManager;->addTransaction(Lcom/android/server/location/ContextHubServiceTransaction;)V
-PLcom/android/server/location/ContextHubTransactionManager;->createQueryTransaction(ILandroid/hardware/location/IContextHubTransactionCallback;)Lcom/android/server/location/ContextHubServiceTransaction;
-PLcom/android/server/location/ContextHubTransactionManager;->onQueryResponse(Ljava/util/List;)V
-PLcom/android/server/location/ContextHubTransactionManager;->removeTransactionAndStartNext()V
-PLcom/android/server/location/ContextHubTransactionManager;->startNextTransaction()V
-PLcom/android/server/location/CountryDetectorBase;-><init>(Landroid/content/Context;)V
-PLcom/android/server/location/ExponentialBackOff;-><init>(JJ)V
+PLcom/android/server/location/ContextHubTransactionManager$1;->onTransact()I
+PLcom/android/server/location/ContextHubTransactionManager$1;->onTransactionComplete(I)V
+PLcom/android/server/location/ContextHubTransactionManager$2;->onTransact()I
+PLcom/android/server/location/ContextHubTransactionManager$2;->onTransactionComplete(I)V
+PLcom/android/server/location/ContextHubTransactionManager;->createLoadTransaction(ILandroid/hardware/location/NanoAppBinary;Landroid/hardware/location/IContextHubTransactionCallback;)Lcom/android/server/location/ContextHubServiceTransaction;
+PLcom/android/server/location/ContextHubTransactionManager;->createUnloadTransaction(IJLandroid/hardware/location/IContextHubTransactionCallback;)Lcom/android/server/location/ContextHubServiceTransaction;
+PLcom/android/server/location/ContextHubTransactionManager;->onTransactionResponse(II)V
+PLcom/android/server/location/CountryDetectorBase;->notifyListener(Landroid/location/Country;)V
+PLcom/android/server/location/ExponentialBackOff;->nextBackoffMillis()J
 PLcom/android/server/location/ExponentialBackOff;->reset()V
-PLcom/android/server/location/GeocoderProxy;-><init>(Landroid/content/Context;IIILandroid/os/Handler;)V
-PLcom/android/server/location/GeocoderProxy;->bind()Z
-PLcom/android/server/location/GeocoderProxy;->createAndBind(Landroid/content/Context;IIILandroid/os/Handler;)Lcom/android/server/location/GeocoderProxy;
-PLcom/android/server/location/GeocoderProxy;->getConnectedPackageName()Ljava/lang/String;
-PLcom/android/server/location/GeofenceManager$1;-><init>(Lcom/android/server/location/GeofenceManager;Landroid/os/Handler;)V
-PLcom/android/server/location/GeofenceManager$GeofenceHandler;-><init>(Lcom/android/server/location/GeofenceManager;)V
-PLcom/android/server/location/GeofenceManager;-><init>(Landroid/content/Context;Lcom/android/server/location/LocationBlacklist;)V
-PLcom/android/server/location/GeofenceManager;->updateMinInterval()V
-PLcom/android/server/location/GeofenceProxy$1;-><init>(Lcom/android/server/location/GeofenceProxy;)V
-PLcom/android/server/location/GeofenceProxy$1;->run()V
-PLcom/android/server/location/GeofenceProxy$2;-><init>(Lcom/android/server/location/GeofenceProxy;)V
-PLcom/android/server/location/GeofenceProxy$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/location/GeofenceProxy$3;-><init>(Lcom/android/server/location/GeofenceProxy;)V
-PLcom/android/server/location/GeofenceProxy$3;->run(Landroid/os/IBinder;)V
-PLcom/android/server/location/GeofenceProxy$4;-><init>(Lcom/android/server/location/GeofenceProxy;)V
-PLcom/android/server/location/GeofenceProxy$4;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/location/GeofenceProxy;-><init>(Landroid/content/Context;IIILandroid/os/Handler;Landroid/location/IGpsGeofenceHardware;Landroid/location/IFusedGeofenceHardware;)V
-PLcom/android/server/location/GeofenceProxy;->access$000(Lcom/android/server/location/GeofenceProxy;)Landroid/os/Handler;
-PLcom/android/server/location/GeofenceProxy;->access$100(Lcom/android/server/location/GeofenceProxy;)Ljava/lang/Object;
-PLcom/android/server/location/GeofenceProxy;->access$200(Lcom/android/server/location/GeofenceProxy;)Landroid/hardware/location/IGeofenceHardware;
-PLcom/android/server/location/GeofenceProxy;->access$202(Lcom/android/server/location/GeofenceProxy;Landroid/hardware/location/IGeofenceHardware;)Landroid/hardware/location/IGeofenceHardware;
-PLcom/android/server/location/GeofenceProxy;->access$300(Lcom/android/server/location/GeofenceProxy;)V
-PLcom/android/server/location/GeofenceProxy;->access$400(Lcom/android/server/location/GeofenceProxy;)V
-PLcom/android/server/location/GeofenceProxy;->access$500(Lcom/android/server/location/GeofenceProxy;)V
-PLcom/android/server/location/GeofenceProxy;->bindGeofenceProvider()Z
-PLcom/android/server/location/GeofenceProxy;->bindHardwareGeofence()V
-PLcom/android/server/location/GeofenceProxy;->createAndBind(Landroid/content/Context;IIILandroid/os/Handler;Landroid/location/IGpsGeofenceHardware;Landroid/location/IFusedGeofenceHardware;)Lcom/android/server/location/GeofenceProxy;
-PLcom/android/server/location/GeofenceProxy;->setFusedGeofenceLocked()V
-PLcom/android/server/location/GeofenceProxy;->setGeofenceHardwareInProviderLocked()V
-PLcom/android/server/location/GeofenceProxy;->setGpsGeofenceLocked()V
-PLcom/android/server/location/GnssBatchingProvider$GnssBatchingProviderNative;-><init>()V
-PLcom/android/server/location/GnssBatchingProvider$GnssBatchingProviderNative;->initBatching()Z
-PLcom/android/server/location/GnssBatchingProvider;-><init>()V
-PLcom/android/server/location/GnssBatchingProvider;-><init>(Lcom/android/server/location/GnssBatchingProvider$GnssBatchingProviderNative;)V
-PLcom/android/server/location/GnssBatchingProvider;->access$400()Z
-PLcom/android/server/location/GnssBatchingProvider;->enable()V
-PLcom/android/server/location/GnssBatchingProvider;->resumeIfStarted()V
-PLcom/android/server/location/GnssGeofenceProvider$GnssGeofenceProviderNative;-><init>()V
-PLcom/android/server/location/GnssGeofenceProvider$GnssGeofenceProviderNative;->isGeofenceSupported()Z
-PLcom/android/server/location/GnssGeofenceProvider;-><init>(Landroid/os/Looper;)V
-PLcom/android/server/location/GnssGeofenceProvider;-><init>(Landroid/os/Looper;Lcom/android/server/location/GnssGeofenceProvider$GnssGeofenceProviderNative;)V
-PLcom/android/server/location/GnssGeofenceProvider;->access$000()Z
-PLcom/android/server/location/GnssGeofenceProvider;->isHardwareGeofenceSupported()Z
-PLcom/android/server/location/GnssGeofenceProvider;->lambda$resumeIfStarted$0(Lcom/android/server/location/GnssGeofenceProvider;)V
-PLcom/android/server/location/GnssGeofenceProvider;->resumeIfStarted()V
-PLcom/android/server/location/GnssGeofenceProvider;->runOnHandlerThread(Ljava/util/concurrent/Callable;)Z
-PLcom/android/server/location/GnssLocationProvider$11;-><init>(Lcom/android/server/location/GnssLocationProvider;Landroid/location/GnssMeasurementsEvent;)V
-PLcom/android/server/location/GnssLocationProvider$11;->run()V
-PLcom/android/server/location/GnssLocationProvider$13;-><init>(Lcom/android/server/location/GnssLocationProvider;I)V
-PLcom/android/server/location/GnssLocationProvider$13;->run()V
-PLcom/android/server/location/GnssLocationProvider$14;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider$15;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider$15;->getGnssMetricsAsProtoString()Ljava/lang/String;
-PLcom/android/server/location/GnssLocationProvider$16;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider$1;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider$1;->registerGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
-PLcom/android/server/location/GnssLocationProvider$1;->unregisterGnssStatusCallback(Landroid/location/IGnssStatusListener;)V
-PLcom/android/server/location/GnssLocationProvider$2;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider$2;->onAvailable(Landroid/net/Network;)V
-PLcom/android/server/location/GnssLocationProvider$2;->onLost(Landroid/net/Network;)V
-PLcom/android/server/location/GnssLocationProvider$3;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider$4;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/location/GnssLocationProvider$5;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider$5;->onSubscriptionsChanged()V
-PLcom/android/server/location/GnssLocationProvider$6;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider$6;->lambda$new$0(I)Z
-PLcom/android/server/location/GnssLocationProvider$6;->lambda$new$1(I)Z
-PLcom/android/server/location/GnssLocationProvider$6;->lambda$new$2(I)Z
-PLcom/android/server/location/GnssLocationProvider$6;->lambda$new$3(I)Z
-PLcom/android/server/location/GnssLocationProvider$6;->lambda$new$4(I)Z
-PLcom/android/server/location/GnssLocationProvider$6;->lambda$new$5(I)Z
-PLcom/android/server/location/GnssLocationProvider$6;->lambda$new$6(I)Z
-PLcom/android/server/location/GnssLocationProvider$7;-><init>(Lcom/android/server/location/GnssLocationProvider;Landroid/os/Handler;)V
-PLcom/android/server/location/GnssLocationProvider$7;->isAvailableInPlatform()Z
-PLcom/android/server/location/GnssLocationProvider$7;->isGpsEnabled()Z
-PLcom/android/server/location/GnssLocationProvider$8;-><init>(Lcom/android/server/location/GnssLocationProvider;Landroid/content/Context;Landroid/os/Handler;)V
-PLcom/android/server/location/GnssLocationProvider$8;->isGpsEnabled()Z
-PLcom/android/server/location/GnssLocationProvider$9;-><init>(Lcom/android/server/location/GnssLocationProvider;Landroid/os/Handler;)V
-PLcom/android/server/location/GnssLocationProvider$9;->isGpsEnabled()Z
-PLcom/android/server/location/GnssLocationProvider$FusedLocationListener;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider$FusedLocationListener;-><init>(Lcom/android/server/location/GnssLocationProvider;Lcom/android/server/location/GnssLocationProvider$1;)V
-PLcom/android/server/location/GnssLocationProvider$GpsRequest;-><init>(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
-PLcom/android/server/location/GnssLocationProvider$LocationChangeListener;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider$LocationChangeListener;-><init>(Lcom/android/server/location/GnssLocationProvider;Lcom/android/server/location/GnssLocationProvider$1;)V
-PLcom/android/server/location/GnssLocationProvider$LocationExtras;-><init>()V
+PLcom/android/server/location/GeocoderProxy;->getFromLocation(DDILandroid/location/GeocoderParams;Ljava/util/List;)Ljava/lang/String;
+PLcom/android/server/location/GeofenceProxy$1;->onBind()V
+PLcom/android/server/location/GeofenceProxy;->lambda$new$0$GeofenceProxy(Landroid/os/IBinder;)V
+PLcom/android/server/location/GeofenceProxy;->lambda$new$0(Lcom/android/server/location/GeofenceProxy;Landroid/os/IBinder;)V
+PLcom/android/server/location/GnssBatchingProvider$GnssBatchingProviderNative;->cleanupBatching()V
+PLcom/android/server/location/GnssBatchingProvider$GnssBatchingProviderNative;->stopBatch()Z
+PLcom/android/server/location/GnssBatchingProvider;->disable()V
+PLcom/android/server/location/GnssBatchingProvider;->stop()Z
+PLcom/android/server/location/GnssConfiguration;->getLppProfile()Ljava/lang/String;
+PLcom/android/server/location/GnssGeofenceProvider$GnssGeofenceProviderNative;->addGeofence(IDDDIIII)Z
+PLcom/android/server/location/GnssGeofenceProvider$GnssGeofenceProviderNative;->removeGeofence(I)Z
+PLcom/android/server/location/GnssGeofenceProvider;->addCircularHardwareGeofence(IDDDIIII)Z
+PLcom/android/server/location/GnssGeofenceProvider;->removeHardwareGeofence(I)Z
+PLcom/android/server/location/GnssLocationProvider$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/location/GnssLocationProvider$2;->onSubscriptionsChanged()V
+PLcom/android/server/location/GnssLocationProvider$3;->isAvailableInPlatform()Z
+PLcom/android/server/location/GnssLocationProvider$3;->isGpsEnabled()Z
+PLcom/android/server/location/GnssLocationProvider$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/location/GnssLocationProvider$LocationChangeListener;->onProviderDisabled(Ljava/lang/String;)V
 PLcom/android/server/location/GnssLocationProvider$LocationExtras;->getBundle()Landroid/os/Bundle;
 PLcom/android/server/location/GnssLocationProvider$LocationExtras;->reset()V
 PLcom/android/server/location/GnssLocationProvider$LocationExtras;->set(III)V
 PLcom/android/server/location/GnssLocationProvider$LocationExtras;->setBundle(Landroid/os/Bundle;)V
-PLcom/android/server/location/GnssLocationProvider$NetworkLocationListener;-><init>(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider$NetworkLocationListener;-><init>(Lcom/android/server/location/GnssLocationProvider;Lcom/android/server/location/GnssLocationProvider$1;)V
 PLcom/android/server/location/GnssLocationProvider$NetworkLocationListener;->onLocationChanged(Landroid/location/Location;)V
-PLcom/android/server/location/GnssLocationProvider$ProviderHandler;-><init>(Lcom/android/server/location/GnssLocationProvider;Landroid/os/Looper;)V
-PLcom/android/server/location/GnssLocationProvider$ProviderHandler;->handleInitialize()V
-PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;-><init>()V
-PLcom/android/server/location/GnssLocationProvider$SvStatusInfo;-><init>(Lcom/android/server/location/GnssLocationProvider$1;)V
-PLcom/android/server/location/GnssLocationProvider;-><init>(Landroid/content/Context;Landroid/location/ILocationManager;Landroid/os/Looper;)V
-PLcom/android/server/location/GnssLocationProvider;->access$1200(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider;->access$1300(Lcom/android/server/location/GnssLocationProvider;Landroid/content/Context;)V
-PLcom/android/server/location/GnssLocationProvider;->access$1400(I)Z
-PLcom/android/server/location/GnssLocationProvider;->access$1500(I)Z
-PLcom/android/server/location/GnssLocationProvider;->access$1600(I)Z
-PLcom/android/server/location/GnssLocationProvider;->access$1700(I)Z
-PLcom/android/server/location/GnssLocationProvider;->access$1800(I)Z
-PLcom/android/server/location/GnssLocationProvider;->access$1900(I)Z
-PLcom/android/server/location/GnssLocationProvider;->access$200(Lcom/android/server/location/GnssLocationProvider;)Lcom/android/server/location/GnssStatusListenerHelper;
-PLcom/android/server/location/GnssLocationProvider;->access$2000(I)Z
-PLcom/android/server/location/GnssLocationProvider;->access$2100(Lcom/android/server/location/GnssLocationProvider;)Ljava/util/Properties;
-PLcom/android/server/location/GnssLocationProvider;->access$2800(Lcom/android/server/location/GnssLocationProvider;)Lcom/android/server/location/GnssMeasurementsProvider;
-PLcom/android/server/location/GnssLocationProvider;->access$2900(Lcom/android/server/location/GnssLocationProvider;)Lcom/android/server/location/GnssNavigationMessageProvider;
-PLcom/android/server/location/GnssLocationProvider;->access$300(Lcom/android/server/location/GnssLocationProvider;)Lcom/android/server/location/NtpTimeHelper;
-PLcom/android/server/location/GnssLocationProvider;->access$3002(Lcom/android/server/location/GnssLocationProvider;I)I
-PLcom/android/server/location/GnssLocationProvider;->access$3100(Lcom/android/server/location/GnssLocationProvider;I)Z
-PLcom/android/server/location/GnssLocationProvider;->access$3300(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider;->access$3600(Lcom/android/server/location/GnssLocationProvider;)Lcom/android/internal/location/gnssmetrics/GnssMetrics;
-PLcom/android/server/location/GnssLocationProvider;->access$3800(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider;->access$400(Lcom/android/server/location/GnssLocationProvider;)I
-PLcom/android/server/location/GnssLocationProvider;->access$4000(Lcom/android/server/location/GnssLocationProvider;Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
-PLcom/android/server/location/GnssLocationProvider;->access$4100(Lcom/android/server/location/GnssLocationProvider;Landroid/net/Network;)V
-PLcom/android/server/location/GnssLocationProvider;->access$4200(Lcom/android/server/location/GnssLocationProvider;Ljava/net/InetAddress;)V
-PLcom/android/server/location/GnssLocationProvider;->access$4300(Lcom/android/server/location/GnssLocationProvider;I)V
-PLcom/android/server/location/GnssLocationProvider;->access$4600(Lcom/android/server/location/GnssLocationProvider;Landroid/location/Location;)V
-PLcom/android/server/location/GnssLocationProvider;->access$4700(Lcom/android/server/location/GnssLocationProvider;)Landroid/content/Context;
-PLcom/android/server/location/GnssLocationProvider;->access$4800(Lcom/android/server/location/GnssLocationProvider;ZLandroid/location/Location;)V
-PLcom/android/server/location/GnssLocationProvider;->access$4900(Lcom/android/server/location/GnssLocationProvider;Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;)V
-PLcom/android/server/location/GnssLocationProvider;->access$500(Lcom/android/server/location/GnssLocationProvider;)Z
-PLcom/android/server/location/GnssLocationProvider;->access$5000(Lcom/android/server/location/GnssLocationProvider;)Landroid/os/PowerManager$WakeLock;
-PLcom/android/server/location/GnssLocationProvider;->access$5100(Lcom/android/server/location/GnssLocationProvider;I)Ljava/lang/String;
-PLcom/android/server/location/GnssLocationProvider;->access$5200()V
-PLcom/android/server/location/GnssLocationProvider;->access$5300(Lcom/android/server/location/GnssLocationProvider;)Z
-PLcom/android/server/location/GnssLocationProvider;->access$5400(Lcom/android/server/location/GnssLocationProvider;)V
-PLcom/android/server/location/GnssLocationProvider;->access$5500(Lcom/android/server/location/GnssLocationProvider;Landroid/content/Context;Ljava/util/Properties;)V
-PLcom/android/server/location/GnssLocationProvider;->access$5600(Lcom/android/server/location/GnssLocationProvider;)Landroid/telephony/SubscriptionManager$OnSubscriptionsChangedListener;
-PLcom/android/server/location/GnssLocationProvider;->access$5700()Z
-PLcom/android/server/location/GnssLocationProvider;->access$5800(Lcom/android/server/location/GnssLocationProvider;)Landroid/content/BroadcastReceiver;
-PLcom/android/server/location/GnssLocationProvider;->access$5900(Lcom/android/server/location/GnssLocationProvider;)Landroid/net/ConnectivityManager$NetworkCallback;
-PLcom/android/server/location/GnssLocationProvider;->access$6000(Lcom/android/server/location/GnssLocationProvider;)Landroid/net/ConnectivityManager;
-PLcom/android/server/location/GnssLocationProvider;->access$700(Lcom/android/server/location/GnssLocationProvider;IILjava/lang/Object;)V
-PLcom/android/server/location/GnssLocationProvider;->access$900()Z
-PLcom/android/server/location/GnssLocationProvider;->enable()V
-PLcom/android/server/location/GnssLocationProvider;->getGnssBatchingProvider()Lcom/android/server/location/GnssBatchingProvider;
-PLcom/android/server/location/GnssLocationProvider;->getGnssMeasurementsProvider()Lcom/android/server/location/GnssMeasurementsProvider;
-PLcom/android/server/location/GnssLocationProvider;->getGnssMetricsProvider()Lcom/android/server/location/GnssLocationProvider$GnssMetricsProvider;
-PLcom/android/server/location/GnssLocationProvider;->getGnssNavigationMessageProvider()Lcom/android/server/location/GnssNavigationMessageProvider;
-PLcom/android/server/location/GnssLocationProvider;->getGnssStatusProvider()Landroid/location/IGnssStatusProvider;
-PLcom/android/server/location/GnssLocationProvider;->getGnssSystemInfoProvider()Lcom/android/server/location/GnssLocationProvider$GnssSystemInfoProvider;
-PLcom/android/server/location/GnssLocationProvider;->getGpsGeofenceProxy()Landroid/location/IGpsGeofenceHardware;
-PLcom/android/server/location/GnssLocationProvider;->getName()Ljava/lang/String;
-PLcom/android/server/location/GnssLocationProvider;->getNetInitiatedListener()Landroid/location/INetInitiatedListener;
-PLcom/android/server/location/GnssLocationProvider;->getProperties()Lcom/android/internal/location/ProviderProperties;
-PLcom/android/server/location/GnssLocationProvider;->getSelectedApn()Ljava/lang/String;
-PLcom/android/server/location/GnssLocationProvider;->getStatus(Landroid/os/Bundle;)I
-PLcom/android/server/location/GnssLocationProvider;->getStatusUpdateTime()J
-PLcom/android/server/location/GnssLocationProvider;->getSuplMode(Ljava/util/Properties;ZZ)I
-PLcom/android/server/location/GnssLocationProvider;->handleEnable()V
-PLcom/android/server/location/GnssLocationProvider;->handleReleaseSuplConnection(I)V
-PLcom/android/server/location/GnssLocationProvider;->handleRequestSuplConnection(Ljava/net/InetAddress;)V
-PLcom/android/server/location/GnssLocationProvider;->handleSetRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
-PLcom/android/server/location/GnssLocationProvider;->handleUpdateLocation(Landroid/location/Location;)V
-PLcom/android/server/location/GnssLocationProvider;->handleUpdateNetworkState(Landroid/net/Network;)V
-PLcom/android/server/location/GnssLocationProvider;->hasCapability(I)Z
+PLcom/android/server/location/GnssLocationProvider;->getGeofenceStatus(I)I
+PLcom/android/server/location/GnssLocationProvider;->handleDisable()V
+PLcom/android/server/location/GnssLocationProvider;->handleReportLocation(ZLandroid/location/Location;)V
+PLcom/android/server/location/GnssLocationProvider;->handleReportSvStatus(Lcom/android/server/location/GnssLocationProvider$SvStatusInfo;)V
+PLcom/android/server/location/GnssLocationProvider;->handleRequestLocation(Z)V
 PLcom/android/server/location/GnssLocationProvider;->injectTime(JJI)V
-PLcom/android/server/location/GnssLocationProvider;->isEnabled()Z
-PLcom/android/server/location/GnssLocationProvider;->isSupported()Z
-PLcom/android/server/location/GnssLocationProvider;->lambda$onUpdateSatelliteBlacklist$0([I[I)V
-PLcom/android/server/location/GnssLocationProvider;->loadPropertiesFromFile(Ljava/lang/String;Ljava/util/Properties;)Z
-PLcom/android/server/location/GnssLocationProvider;->loadPropertiesFromResource(Landroid/content/Context;Ljava/util/Properties;)V
-PLcom/android/server/location/GnssLocationProvider;->messageIdAsString(I)Ljava/lang/String;
-PLcom/android/server/location/GnssLocationProvider;->onUpdateSatelliteBlacklist([I[I)V
-PLcom/android/server/location/GnssLocationProvider;->releaseSuplConnection(I)V
-PLcom/android/server/location/GnssLocationProvider;->reloadGpsProperties(Landroid/content/Context;Ljava/util/Properties;)V
+PLcom/android/server/location/GnssLocationProvider;->lambda$getGnssMetricsProvider$7$GnssLocationProvider()Ljava/lang/String;
+PLcom/android/server/location/GnssLocationProvider;->lambda$reportGeofenceAddStatus$10$GnssLocationProvider(II)V
+PLcom/android/server/location/GnssLocationProvider;->lambda$reportGeofenceRemoveStatus$11$GnssLocationProvider(II)V
+PLcom/android/server/location/GnssLocationProvider;->lambda$reportGeofenceStatus$9$GnssLocationProvider(ILandroid/location/Location;)V
+PLcom/android/server/location/GnssLocationProvider;->lambda$reportGeofenceTransition$8$GnssLocationProvider(ILandroid/location/Location;IJ)V
+PLcom/android/server/location/GnssLocationProvider;->lambda$reportMeasurementData$3$GnssLocationProvider(Landroid/location/GnssMeasurementsEvent;)V
 PLcom/android/server/location/GnssLocationProvider;->reportAGpsStatus(II[B)V
+PLcom/android/server/location/GnssLocationProvider;->reportGeofenceAddStatus(II)V
+PLcom/android/server/location/GnssLocationProvider;->reportGeofenceRemoveStatus(II)V
+PLcom/android/server/location/GnssLocationProvider;->reportGeofenceStatus(ILandroid/location/Location;)V
+PLcom/android/server/location/GnssLocationProvider;->reportGeofenceTransition(ILandroid/location/Location;IJ)V
 PLcom/android/server/location/GnssLocationProvider;->reportLocation(ZLandroid/location/Location;)V
 PLcom/android/server/location/GnssLocationProvider;->reportMeasurementData(Landroid/location/GnssMeasurementsEvent;)V
+PLcom/android/server/location/GnssLocationProvider;->reportNmea(J)V
 PLcom/android/server/location/GnssLocationProvider;->reportStatus(I)V
 PLcom/android/server/location/GnssLocationProvider;->reportSvStatus(I[I[F[F[F[F)V
-PLcom/android/server/location/GnssLocationProvider;->restartLocationRequest()V
-PLcom/android/server/location/GnssLocationProvider;->restartRequests()V
-PLcom/android/server/location/GnssLocationProvider;->setEngineCapabilities(I)V
-PLcom/android/server/location/GnssLocationProvider;->setGnssYearOfHardware(I)V
-PLcom/android/server/location/GnssLocationProvider;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
-PLcom/android/server/location/GnssLocationProvider;->setSuplHostPort(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/location/GnssLocationProvider;->startNavigating(Z)V
-PLcom/android/server/location/GnssLocationProvider;->stopNavigating()V
-PLcom/android/server/location/GnssLocationProvider;->subscriptionOrSimChanged(Landroid/content/Context;)V
-PLcom/android/server/location/GnssLocationProvider;->updateClientUids(Landroid/os/WorkSource;)V
+PLcom/android/server/location/GnssLocationProvider;->requestLocation(Z)V
+PLcom/android/server/location/GnssLocationProvider;->setPositionMode(IIIIIZ)Z
+PLcom/android/server/location/GnssLocationProvider;->startNavigating()V
+PLcom/android/server/location/GnssLocationProvider;->subscriptionOrCarrierConfigChanged(Landroid/content/Context;)V
 PLcom/android/server/location/GnssLocationProvider;->updateLowPowerMode()V
-PLcom/android/server/location/GnssLocationProvider;->updateRequirements()V
-PLcom/android/server/location/GnssLocationProvider;->updateStatus(I)V
-PLcom/android/server/location/GnssMeasurementsProvider$GnssMeasurementProviderNative;-><init>()V
-PLcom/android/server/location/GnssMeasurementsProvider$GnssMeasurementProviderNative;->isMeasurementSupported()Z
 PLcom/android/server/location/GnssMeasurementsProvider$GnssMeasurementProviderNative;->startMeasurementCollection(Z)Z
 PLcom/android/server/location/GnssMeasurementsProvider$GnssMeasurementProviderNative;->stopMeasurementCollection()Z
-PLcom/android/server/location/GnssMeasurementsProvider$StatusChangedOperation;-><init>(I)V
-PLcom/android/server/location/GnssMeasurementsProvider$StatusChangedOperation;->execute(Landroid/location/IGnssMeasurementsListener;)V
-PLcom/android/server/location/GnssMeasurementsProvider$StatusChangedOperation;->execute(Landroid/os/IInterface;)V
-PLcom/android/server/location/GnssMeasurementsProvider;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-PLcom/android/server/location/GnssMeasurementsProvider;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/location/GnssMeasurementsProvider$GnssMeasurementProviderNative;)V
-PLcom/android/server/location/GnssMeasurementsProvider;->access$000()Z
-PLcom/android/server/location/GnssMeasurementsProvider;->access$100(Z)Z
-PLcom/android/server/location/GnssMeasurementsProvider;->access$200()Z
+PLcom/android/server/location/GnssMeasurementsProvider$StatusChangedOperation;->execute(Landroid/location/IGnssMeasurementsListener;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/GnssMeasurementsProvider$StatusChangedOperation;->execute(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
 PLcom/android/server/location/GnssMeasurementsProvider;->getHandlerOperation(I)Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;
-PLcom/android/server/location/GnssMeasurementsProvider;->isAvailableInPlatform()Z
-PLcom/android/server/location/GnssMeasurementsProvider;->lambda$onMeasurementsAvailable$0(Landroid/location/GnssMeasurementsEvent;Landroid/location/IGnssMeasurementsListener;)V
-PLcom/android/server/location/GnssMeasurementsProvider;->onCapabilitiesUpdated(Z)V
-PLcom/android/server/location/GnssMeasurementsProvider;->onGpsEnabledChanged()V
+PLcom/android/server/location/GnssMeasurementsProvider;->lambda$onMeasurementsAvailable$1$GnssMeasurementsProvider(Landroid/location/GnssMeasurementsEvent;Landroid/location/IGnssMeasurementsListener;Lcom/android/server/location/CallerIdentity;)V
 PLcom/android/server/location/GnssMeasurementsProvider;->onMeasurementsAvailable(Landroid/location/GnssMeasurementsEvent;)V
 PLcom/android/server/location/GnssMeasurementsProvider;->registerWithService()I
-PLcom/android/server/location/GnssMeasurementsProvider;->resumeIfStarted()V
 PLcom/android/server/location/GnssMeasurementsProvider;->unregisterFromService()V
-PLcom/android/server/location/GnssNavigationMessageProvider$GnssNavigationMessageProviderNative;-><init>()V
-PLcom/android/server/location/GnssNavigationMessageProvider$GnssNavigationMessageProviderNative;->isNavigationMessageSupported()Z
-PLcom/android/server/location/GnssNavigationMessageProvider$StatusChangedOperation;-><init>(I)V
-PLcom/android/server/location/GnssNavigationMessageProvider;-><init>(Landroid/os/Handler;)V
-PLcom/android/server/location/GnssNavigationMessageProvider;-><init>(Landroid/os/Handler;Lcom/android/server/location/GnssNavigationMessageProvider$GnssNavigationMessageProviderNative;)V
-PLcom/android/server/location/GnssNavigationMessageProvider;->access$000()Z
-PLcom/android/server/location/GnssNavigationMessageProvider;->getHandlerOperation(I)Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;
-PLcom/android/server/location/GnssNavigationMessageProvider;->isAvailableInPlatform()Z
-PLcom/android/server/location/GnssNavigationMessageProvider;->onCapabilitiesUpdated(Z)V
-PLcom/android/server/location/GnssNavigationMessageProvider;->onGpsEnabledChanged()V
-PLcom/android/server/location/GnssNavigationMessageProvider;->resumeIfStarted()V
-PLcom/android/server/location/GnssSatelliteBlacklistHelper$1;-><init>(Lcom/android/server/location/GnssSatelliteBlacklistHelper;Landroid/os/Handler;)V
-PLcom/android/server/location/GnssSatelliteBlacklistHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/location/GnssSatelliteBlacklistHelper$GnssSatelliteBlacklistCallback;)V
-PLcom/android/server/location/GnssSatelliteBlacklistHelper;->parseSatelliteBlacklist(Ljava/lang/String;)Ljava/util/List;
-PLcom/android/server/location/GnssSatelliteBlacklistHelper;->updateSatelliteBlacklist()V
-PLcom/android/server/location/GnssStatusListenerHelper$1;-><init>(Lcom/android/server/location/GnssStatusListenerHelper;)V
-PLcom/android/server/location/GnssStatusListenerHelper$1;->execute(Landroid/location/IGnssStatusListener;)V
-PLcom/android/server/location/GnssStatusListenerHelper$1;->execute(Landroid/os/IInterface;)V
-PLcom/android/server/location/GnssStatusListenerHelper$2;-><init>(Lcom/android/server/location/GnssStatusListenerHelper;)V
-PLcom/android/server/location/GnssStatusListenerHelper$2;->execute(Landroid/location/IGnssStatusListener;)V
-PLcom/android/server/location/GnssStatusListenerHelper$2;->execute(Landroid/os/IInterface;)V
-PLcom/android/server/location/GnssStatusListenerHelper$3;-><init>(Lcom/android/server/location/GnssStatusListenerHelper;I)V
-PLcom/android/server/location/GnssStatusListenerHelper$3;->execute(Landroid/location/IGnssStatusListener;)V
-PLcom/android/server/location/GnssStatusListenerHelper$3;->execute(Landroid/os/IInterface;)V
-PLcom/android/server/location/GnssStatusListenerHelper$4;-><init>(Lcom/android/server/location/GnssStatusListenerHelper;I[I[F[F[F[F)V
-PLcom/android/server/location/GnssStatusListenerHelper$4;->execute(Landroid/location/IGnssStatusListener;)V
-PLcom/android/server/location/GnssStatusListenerHelper$4;->execute(Landroid/os/IInterface;)V
-PLcom/android/server/location/GnssStatusListenerHelper;-><init>(Landroid/os/Handler;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler$1;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler$1;->onLost(Landroid/net/Network;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler$2;->onAvailable(Landroid/net/Network;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->getApnIpType(Ljava/lang/String;)I
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->getNetworkCapability(I)I
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->handleReleaseSuplConnection(I)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->handleRequestSuplConnection(I[B)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->handleSuplConnectionAvailable(Landroid/net/Network;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->handleUpdateNetworkState(Landroid/net/Network;ZLandroid/net/NetworkCapabilities;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->lambda$onReportAGpsStatus$0$GnssNetworkConnectivityHandler(I[B)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->lambda$onReportAGpsStatus$1$GnssNetworkConnectivityHandler()V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->lambda$runEventAndReleaseWakeLock$2$GnssNetworkConnectivityHandler(Ljava/lang/Runnable;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->lambda$runEventAndReleaseWakeLock$2(Lcom/android/server/location/GnssNetworkConnectivityHandler;Ljava/lang/Runnable;)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->onReportAGpsStatus(II[B)V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->setRouting()V
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->translateToApnIpType(Ljava/lang/String;Ljava/lang/String;)I
+PLcom/android/server/location/GnssNetworkConnectivityHandler;->updateTrackedNetworksState(ZLandroid/net/Network;Landroid/net/NetworkCapabilities;)Lcom/android/server/location/GnssNetworkConnectivityHandler$NetworkAttributes;
+PLcom/android/server/location/GnssPositionMode;->equals(Ljava/lang/Object;)Z
 PLcom/android/server/location/GnssStatusListenerHelper;->getHandlerOperation(I)Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;
+PLcom/android/server/location/GnssStatusListenerHelper;->lambda$onNmeaReceived$4$GnssStatusListenerHelper(JLjava/lang/String;Landroid/location/IGnssStatusListener;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/GnssStatusListenerHelper;->lambda$onSvStatusChanged$3$GnssStatusListenerHelper(I[I[F[F[F[FLandroid/location/IGnssStatusListener;Lcom/android/server/location/CallerIdentity;)V
 PLcom/android/server/location/GnssStatusListenerHelper;->onFirstFix(I)V
+PLcom/android/server/location/GnssStatusListenerHelper;->onNmeaReceived(JLjava/lang/String;)V
 PLcom/android/server/location/GnssStatusListenerHelper;->onStatusChanged(Z)V
 PLcom/android/server/location/GnssStatusListenerHelper;->onSvStatusChanged(I[I[F[F[F[F)V
 PLcom/android/server/location/GnssStatusListenerHelper;->registerWithService()I
-PLcom/android/server/location/LocationBlacklist;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-PLcom/android/server/location/LocationBlacklist;->getStringArrayLocked(Ljava/lang/String;)[Ljava/lang/String;
-PLcom/android/server/location/LocationBlacklist;->init()V
+PLcom/android/server/location/GnssStatusListenerHelper;->unregisterFromService()V
+PLcom/android/server/location/LocationBasedCountryDetector$1;->onLocationChanged(Landroid/location/Location;)V
+PLcom/android/server/location/LocationBasedCountryDetector$2;->run()V
+PLcom/android/server/location/LocationBasedCountryDetector$3;->run()V
+PLcom/android/server/location/LocationBasedCountryDetector;->getCountryFromLocation(Landroid/location/Location;)Ljava/lang/String;
+PLcom/android/server/location/LocationBasedCountryDetector;->getLastKnownLocation()Landroid/location/Location;
+PLcom/android/server/location/LocationBasedCountryDetector;->queryCountryCode(Landroid/location/Location;)V
+PLcom/android/server/location/LocationBasedCountryDetector;->stop()V
+PLcom/android/server/location/LocationBasedCountryDetector;->unregisterListener(Landroid/location/LocationListener;)V
 PLcom/android/server/location/LocationBlacklist;->isBlacklisted(Ljava/lang/String;)Z
-PLcom/android/server/location/LocationBlacklist;->reloadBlacklist()V
-PLcom/android/server/location/LocationBlacklist;->reloadBlacklistLocked()V
-PLcom/android/server/location/LocationFudger$1;-><init>(Lcom/android/server/location/LocationFudger;Landroid/os/Handler;)V
-PLcom/android/server/location/LocationFudger;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-PLcom/android/server/location/LocationFudger;->addCoarseLocationExtraLocked(Landroid/location/Location;)Landroid/location/Location;
 PLcom/android/server/location/LocationFudger;->createCoarseLocked(Landroid/location/Location;)Landroid/location/Location;
 PLcom/android/server/location/LocationFudger;->getOrCreate(Landroid/location/Location;)Landroid/location/Location;
-PLcom/android/server/location/LocationFudger;->loadCoarseAccuracy()F
-PLcom/android/server/location/LocationFudger;->metersToDegreesLatitude(D)D
-PLcom/android/server/location/LocationFudger;->metersToDegreesLongitude(DD)D
-PLcom/android/server/location/LocationFudger;->nextOffsetLocked()D
-PLcom/android/server/location/LocationFudger;->setAccuracyInMetersLocked(F)V
 PLcom/android/server/location/LocationFudger;->updateRandomOffsetLocked()V
-PLcom/android/server/location/LocationFudger;->wrapLatitude(D)D
-PLcom/android/server/location/LocationFudger;->wrapLongitude(D)D
-PLcom/android/server/location/LocationProviderProxy$1$1;-><init>(Lcom/android/server/location/LocationProviderProxy$1;[Lcom/android/internal/location/ProviderProperties;ZLcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
-PLcom/android/server/location/LocationProviderProxy$1$1;->run(Landroid/os/IBinder;)V
-PLcom/android/server/location/LocationProviderProxy$1;-><init>(Lcom/android/server/location/LocationProviderProxy;)V
-PLcom/android/server/location/LocationProviderProxy$1;->run()V
-PLcom/android/server/location/LocationProviderProxy$2;-><init>(Lcom/android/server/location/LocationProviderProxy;)V
-PLcom/android/server/location/LocationProviderProxy$4;-><init>(Lcom/android/server/location/LocationProviderProxy;Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
-PLcom/android/server/location/LocationProviderProxy$4;->run(Landroid/os/IBinder;)V
-PLcom/android/server/location/LocationProviderProxy$6;-><init>(Lcom/android/server/location/LocationProviderProxy;[ILandroid/os/Bundle;)V
-PLcom/android/server/location/LocationProviderProxy$6;->run(Landroid/os/IBinder;)V
-PLcom/android/server/location/LocationProviderProxy$7;-><init>(Lcom/android/server/location/LocationProviderProxy;[J)V
-PLcom/android/server/location/LocationProviderProxy$7;->run(Landroid/os/IBinder;)V
-PLcom/android/server/location/LocationProviderProxy;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;IIILandroid/os/Handler;)V
-PLcom/android/server/location/LocationProviderProxy;->access$000()Z
-PLcom/android/server/location/LocationProviderProxy;->access$100(Lcom/android/server/location/LocationProviderProxy;)Ljava/lang/Object;
-PLcom/android/server/location/LocationProviderProxy;->access$200(Lcom/android/server/location/LocationProviderProxy;)Z
-PLcom/android/server/location/LocationProviderProxy;->access$300(Lcom/android/server/location/LocationProviderProxy;)Lcom/android/internal/location/ProviderRequest;
-PLcom/android/server/location/LocationProviderProxy;->access$400(Lcom/android/server/location/LocationProviderProxy;)Landroid/os/WorkSource;
-PLcom/android/server/location/LocationProviderProxy;->access$500(Lcom/android/server/location/LocationProviderProxy;)Lcom/android/server/ServiceWatcher;
-PLcom/android/server/location/LocationProviderProxy;->access$602(Lcom/android/server/location/LocationProviderProxy;Lcom/android/internal/location/ProviderProperties;)Lcom/android/internal/location/ProviderProperties;
-PLcom/android/server/location/LocationProviderProxy;->bind()Z
-PLcom/android/server/location/LocationProviderProxy;->createAndBind(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;IIILandroid/os/Handler;)Lcom/android/server/location/LocationProviderProxy;
-PLcom/android/server/location/LocationProviderProxy;->enable()V
-PLcom/android/server/location/LocationProviderProxy;->getName()Ljava/lang/String;
-PLcom/android/server/location/LocationProviderProxy;->getProperties()Lcom/android/internal/location/ProviderProperties;
-PLcom/android/server/location/LocationProviderProxy;->getStatus(Landroid/os/Bundle;)I
-PLcom/android/server/location/LocationProviderProxy;->getStatusUpdateTime()J
-PLcom/android/server/location/LocationProviderProxy;->isEnabled()Z
-PLcom/android/server/location/LocationProviderProxy;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
-PLcom/android/server/location/LocationRequestStatistics$PackageProviderKey;-><init>(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/location/LocationRequestStatistics$PackageProviderKey;->equals(Ljava/lang/Object;)Z
-PLcom/android/server/location/LocationRequestStatistics$PackageProviderKey;->hashCode()I
-PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;-><init>()V
-PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;-><init>(Lcom/android/server/location/LocationRequestStatistics$1;)V
-PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->access$100(Lcom/android/server/location/LocationRequestStatistics$PackageStatistics;J)V
-PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->access$200(Lcom/android/server/location/LocationRequestStatistics$PackageStatistics;Z)V
-PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->access$300(Lcom/android/server/location/LocationRequestStatistics$PackageStatistics;)V
-PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->startRequesting(J)V
+PLcom/android/server/location/LocationProviderProxy$1;->onReportLocation(Landroid/location/Location;)V
+PLcom/android/server/location/LocationProviderProxy$2;->onUnbind()V
+PLcom/android/server/location/LocationProviderProxy;->getProviderPackages()Ljava/util/List;
 PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->stopRequesting()V
-PLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->updateForeground(Z)V
-PLcom/android/server/location/LocationRequestStatistics;-><init>()V
-PLcom/android/server/location/LocationRequestStatistics;->startRequesting(Ljava/lang/String;Ljava/lang/String;JZ)V
 PLcom/android/server/location/LocationRequestStatistics;->stopRequesting(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/location/NanoAppStateManager;-><init>()V
-PLcom/android/server/location/NanoAppStateManager;->addNanoAppInstance(IJI)V
-PLcom/android/server/location/NanoAppStateManager;->getNanoAppHandle(IJ)I
+PLcom/android/server/location/LocationRequestStatistics;->updateForeground(Ljava/lang/String;Ljava/lang/String;Z)V
+PLcom/android/server/location/NanoAppStateManager;->foreachNanoAppInstanceInfo(Ljava/util/function/Consumer;)V
 PLcom/android/server/location/NanoAppStateManager;->getNanoAppInstanceInfo(I)Landroid/hardware/location/NanoAppInstanceInfo;
-PLcom/android/server/location/NanoAppStateManager;->getNanoAppInstanceInfoCollection()Ljava/util/Collection;
-PLcom/android/server/location/NanoAppStateManager;->handleQueryAppEntry(IJI)V
-PLcom/android/server/location/NanoAppStateManager;->removeNanoAppInstance(IJ)V
-PLcom/android/server/location/NanoAppStateManager;->updateCache(ILjava/util/List;)V
-PLcom/android/server/location/NtpTimeHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/location/NtpTimeHelper$InjectNtpTimeCallback;)V
-PLcom/android/server/location/NtpTimeHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/location/NtpTimeHelper$InjectNtpTimeCallback;Landroid/util/NtpTrustedTime;)V
 PLcom/android/server/location/NtpTimeHelper;->blockingGetNtpTimeAndInject()V
-PLcom/android/server/location/NtpTimeHelper;->isNetworkConnected()Z
-PLcom/android/server/location/NtpTimeHelper;->lambda$blockingGetNtpTimeAndInject$0(Lcom/android/server/location/NtpTimeHelper;JJJ)V
-PLcom/android/server/location/NtpTimeHelper;->lambda$xWqlqJuq4jBJ5-xhFLCwEKGVB0k(Lcom/android/server/location/NtpTimeHelper;)V
+PLcom/android/server/location/NtpTimeHelper;->lambda$blockingGetNtpTimeAndInject$0$NtpTimeHelper(JJJ)V
 PLcom/android/server/location/NtpTimeHelper;->onNetworkAvailable()V
 PLcom/android/server/location/NtpTimeHelper;->retrieveAndInjectNtpTime()V
-PLcom/android/server/location/PassiveProvider;-><init>(Landroid/location/ILocationManager;)V
-PLcom/android/server/location/PassiveProvider;->getName()Ljava/lang/String;
-PLcom/android/server/location/PassiveProvider;->getProperties()Lcom/android/internal/location/ProviderProperties;
-PLcom/android/server/location/PassiveProvider;->getStatus(Landroid/os/Bundle;)I
-PLcom/android/server/location/PassiveProvider;->getStatusUpdateTime()J
-PLcom/android/server/location/PassiveProvider;->isEnabled()Z
-PLcom/android/server/location/PassiveProvider;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
 PLcom/android/server/location/PassiveProvider;->updateLocation(Landroid/location/Location;)V
-PLcom/android/server/location/RemoteListenerHelper$1;-><init>(Lcom/android/server/location/RemoteListenerHelper;)V
 PLcom/android/server/location/RemoteListenerHelper$1;->run()V
-PLcom/android/server/location/RemoteListenerHelper$2;-><init>(Lcom/android/server/location/RemoteListenerHelper;)V
-PLcom/android/server/location/RemoteListenerHelper$2;->run()V
-PLcom/android/server/location/RemoteListenerHelper$LinkedListener;-><init>(Lcom/android/server/location/RemoteListenerHelper;Landroid/os/IInterface;)V
-PLcom/android/server/location/RemoteListenerHelper;-><init>(Landroid/os/Handler;Ljava/lang/String;)V
-PLcom/android/server/location/RemoteListenerHelper;->access$000(Lcom/android/server/location/RemoteListenerHelper;)Z
-PLcom/android/server/location/RemoteListenerHelper;->access$002(Lcom/android/server/location/RemoteListenerHelper;Z)Z
-PLcom/android/server/location/RemoteListenerHelper;->addListener(Landroid/os/IInterface;)Z
-PLcom/android/server/location/RemoteListenerHelper;->calculateCurrentResultUnsafe()I
+PLcom/android/server/location/RemoteListenerHelper$HandlerRunnable;->run()V
+PLcom/android/server/location/RemoteListenerHelper$LinkedListener;->binderDied()V
+PLcom/android/server/location/RemoteListenerHelper;->addListener(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)V
+PLcom/android/server/location/RemoteListenerHelper;->addListener(Landroid/os/IInterface;Lcom/android/server/location/CallerIdentity;)Z
+PLcom/android/server/location/RemoteListenerHelper;->foreach(Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;)V
+PLcom/android/server/location/RemoteListenerHelper;->hasPermission(Landroid/content/Context;Lcom/android/server/location/CallerIdentity;)Z
 PLcom/android/server/location/RemoteListenerHelper;->removeListener(Landroid/os/IInterface;)V
-PLcom/android/server/location/RemoteListenerHelper;->setSupported(Z)V
-PLcom/android/server/location/RemoteListenerHelper;->tryRegister()V
-PLcom/android/server/location/RemoteListenerHelper;->tryUnregister()V
-PLcom/android/server/location/RemoteListenerHelper;->tryUpdateRegistrationWithService()V
-PLcom/android/server/location/RemoteListenerHelper;->updateResult()V
 PLcom/android/server/locksettings/-$$Lambda$LockSettingsService$Hh44Kcp05cKI6Hc6dJfQupn4QY8;-><init>(Lcom/android/server/locksettings/LockSettingsService;Landroid/app/admin/PasswordMetrics;I)V
 PLcom/android/server/locksettings/-$$Lambda$LockSettingsService$Hh44Kcp05cKI6Hc6dJfQupn4QY8;->run()V
-PLcom/android/server/locksettings/-$$Lambda$LockSettingsService$lWTrcqR9gZxL-pxwBbtvTGqAifU;-><init>(Lcom/android/server/locksettings/LockSettingsService;I)V
 PLcom/android/server/locksettings/-$$Lambda$LockSettingsService$lWTrcqR9gZxL-pxwBbtvTGqAifU;->run()V
-PLcom/android/server/locksettings/-$$Lambda$SyntheticPasswordManager$WjMV-qfQ1YUbeAiLzyAhyepqPFI;-><init>(Lcom/android/server/locksettings/SyntheticPasswordManager;)V
-PLcom/android/server/locksettings/-$$Lambda$SyntheticPasswordManager$WjMV-qfQ1YUbeAiLzyAhyepqPFI;->onValues(ILandroid/hardware/weaver/V1_0/WeaverConfig;)V
-PLcom/android/server/locksettings/-$$Lambda$SyntheticPasswordManager$aWnbfYziDTrRrLqWFePMTj6-dy0;-><init>([Lcom/android/internal/widget/VerifyCredentialResponse;I)V
 PLcom/android/server/locksettings/-$$Lambda$SyntheticPasswordManager$aWnbfYziDTrRrLqWFePMTj6-dy0;->onValues(ILandroid/hardware/weaver/V1_0/WeaverReadResponse;)V
-PLcom/android/server/locksettings/LockSettingsService$1;-><init>(Lcom/android/server/locksettings/LockSettingsService;I)V
 PLcom/android/server/locksettings/LockSettingsService$1;->run()V
-PLcom/android/server/locksettings/LockSettingsService$2;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
-PLcom/android/server/locksettings/LockSettingsService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/locksettings/LockSettingsService$3;-><init>(Lcom/android/server/locksettings/LockSettingsService;Ljava/util/concurrent/CountDownLatch;)V
 PLcom/android/server/locksettings/LockSettingsService$3;->onFinished(ILandroid/os/Bundle;)V
 PLcom/android/server/locksettings/LockSettingsService$3;->onProgress(IILandroid/os/Bundle;)V
 PLcom/android/server/locksettings/LockSettingsService$3;->onStarted(ILandroid/os/Bundle;)V
-PLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
-PLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->isProvisioned()Z
-PLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->onSystemReady()V
-PLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->updateRegistration()V
-PLcom/android/server/locksettings/LockSettingsService$GateKeeperDiedRecipient;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
-PLcom/android/server/locksettings/LockSettingsService$GateKeeperDiedRecipient;-><init>(Lcom/android/server/locksettings/LockSettingsService;Lcom/android/server/locksettings/LockSettingsService$1;)V
-PLcom/android/server/locksettings/LockSettingsService$Injector$1;-><init>(Lcom/android/server/locksettings/LockSettingsService$Injector;Lcom/android/server/locksettings/LockSettingsStorage;)V
-PLcom/android/server/locksettings/LockSettingsService$Injector;-><init>(Landroid/content/Context;)V
-PLcom/android/server/locksettings/LockSettingsService$Injector;->getActivityManager()Landroid/app/IActivityManager;
-PLcom/android/server/locksettings/LockSettingsService$Injector;->getContext()Landroid/content/Context;
 PLcom/android/server/locksettings/LockSettingsService$Injector;->getDevicePolicyManager()Landroid/app/admin/DevicePolicyManager;
-PLcom/android/server/locksettings/LockSettingsService$Injector;->getHandler()Landroid/os/Handler;
-PLcom/android/server/locksettings/LockSettingsService$Injector;->getKeyStore()Landroid/security/KeyStore;
-PLcom/android/server/locksettings/LockSettingsService$Injector;->getLockPatternUtils()Lcom/android/internal/widget/LockPatternUtils;
-PLcom/android/server/locksettings/LockSettingsService$Injector;->getNotificationManager()Landroid/app/NotificationManager;
-PLcom/android/server/locksettings/LockSettingsService$Injector;->getRecoverableKeyStoreManager(Landroid/security/KeyStore;)Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;
-PLcom/android/server/locksettings/LockSettingsService$Injector;->getStorage()Lcom/android/server/locksettings/LockSettingsStorage;
 PLcom/android/server/locksettings/LockSettingsService$Injector;->getStorageManager()Landroid/os/storage/IStorageManager;
-PLcom/android/server/locksettings/LockSettingsService$Injector;->getStrongAuth()Lcom/android/server/locksettings/LockSettingsStrongAuth;
-PLcom/android/server/locksettings/LockSettingsService$Injector;->getStrongAuthTracker()Lcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;
-PLcom/android/server/locksettings/LockSettingsService$Injector;->getSyntheticPasswordManager(Lcom/android/server/locksettings/LockSettingsStorage;)Lcom/android/server/locksettings/SyntheticPasswordManager;
-PLcom/android/server/locksettings/LockSettingsService$Injector;->getUserManager()Landroid/os/UserManager;
-PLcom/android/server/locksettings/LockSettingsService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onBootPhase(I)V
-PLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onStart()V
-PLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onStartUser(I)V
+PLcom/android/server/locksettings/LockSettingsService$Injector;->hasBiometrics()Z
+PLcom/android/server/locksettings/LockSettingsService$Injector;->isGsiRunning()Z
+PLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onCleanupUser(I)V
 PLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/locksettings/LockSettingsService$LocalService;-><init>(Lcom/android/server/locksettings/LockSettingsService;)V
-PLcom/android/server/locksettings/LockSettingsService$LocalService;-><init>(Lcom/android/server/locksettings/LockSettingsService;Lcom/android/server/locksettings/LockSettingsService$1;)V
-PLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;-><init>(Landroid/content/Context;)V
 PLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;->getStrongAuthForUser(I)I
 PLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;->handleStrongAuthRequiredChanged(II)V
-PLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;->register(Lcom/android/server/locksettings/LockSettingsStrongAuth;)V
-PLcom/android/server/locksettings/LockSettingsService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/locksettings/LockSettingsService;-><init>(Lcom/android/server/locksettings/LockSettingsService$Injector;)V
-PLcom/android/server/locksettings/LockSettingsService;->access$000(Lcom/android/server/locksettings/LockSettingsService;)V
-PLcom/android/server/locksettings/LockSettingsService;->access$1100(Lcom/android/server/locksettings/LockSettingsService;)Landroid/content/Context;
-PLcom/android/server/locksettings/LockSettingsService;->access$200(Lcom/android/server/locksettings/LockSettingsService;I)V
-PLcom/android/server/locksettings/LockSettingsService;->access$300(Lcom/android/server/locksettings/LockSettingsService;Landroid/os/UserHandle;)V
-PLcom/android/server/locksettings/LockSettingsService;->access$400(Lcom/android/server/locksettings/LockSettingsService;)Landroid/os/UserManager;
-PLcom/android/server/locksettings/LockSettingsService;->access$500(Lcom/android/server/locksettings/LockSettingsService;I)Z
 PLcom/android/server/locksettings/LockSettingsService;->activateEscrowTokens(Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;I)V
 PLcom/android/server/locksettings/LockSettingsService;->checkCredential(Ljava/lang/String;IILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
-PLcom/android/server/locksettings/LockSettingsService;->checkPasswordHavePermission(I)V
-PLcom/android/server/locksettings/LockSettingsService;->checkPasswordReadPermission(I)V
+PLcom/android/server/locksettings/LockSettingsService;->checkCredential([BIILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
 PLcom/android/server/locksettings/LockSettingsService;->checkVoldPassword(I)Z
-PLcom/android/server/locksettings/LockSettingsService;->checkWritePermission(I)V
 PLcom/android/server/locksettings/LockSettingsService;->disableEscrowTokenOnNonManagedDevicesIfNeeded(I)V
 PLcom/android/server/locksettings/LockSettingsService;->doVerifyCredential(Ljava/lang/String;IZJILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
+PLcom/android/server/locksettings/LockSettingsService;->doVerifyCredential([BIZJILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
 PLcom/android/server/locksettings/LockSettingsService;->ensureProfileKeystoreUnlocked(I)V
-PLcom/android/server/locksettings/LockSettingsService;->getBoolean(Ljava/lang/String;ZI)Z
-PLcom/android/server/locksettings/LockSettingsService;->getGateKeeperService()Landroid/service/gatekeeper/IGateKeeperService;
+PLcom/android/server/locksettings/LockSettingsService;->getDecryptedPasswordForTiedProfile(I)Ljava/lang/String;
+PLcom/android/server/locksettings/LockSettingsService;->getDecryptedPasswordForTiedProfile(I)[B
 PLcom/android/server/locksettings/LockSettingsService;->getKey(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/locksettings/LockSettingsService;->getLong(Ljava/lang/String;JI)J
+PLcom/android/server/locksettings/LockSettingsService;->getKeyChainSnapshot()Landroid/security/keystore/recovery/KeyChainSnapshot;
+PLcom/android/server/locksettings/LockSettingsService;->getRecoverySecretTypes()[I
 PLcom/android/server/locksettings/LockSettingsService;->getRecoveryStatus()Ljava/util/Map;
-PLcom/android/server/locksettings/LockSettingsService;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-PLcom/android/server/locksettings/LockSettingsService;->getStringUnchecked(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
 PLcom/android/server/locksettings/LockSettingsService;->getStrongAuthForUser(I)I
-PLcom/android/server/locksettings/LockSettingsService;->getSyntheticPasswordHandleLocked(I)J
-PLcom/android/server/locksettings/LockSettingsService;->havePattern(I)Z
-PLcom/android/server/locksettings/LockSettingsService;->hideEncryptionNotification(Landroid/os/UserHandle;)V
 PLcom/android/server/locksettings/LockSettingsService;->initRecoveryServiceWithSigFile(Ljava/lang/String;[B[B)V
-PLcom/android/server/locksettings/LockSettingsService;->isManagedProfileWithSeparatedLock(I)Z
-PLcom/android/server/locksettings/LockSettingsService;->isSyntheticPasswordBasedCredentialLocked(I)Z
 PLcom/android/server/locksettings/LockSettingsService;->isUserSecure(I)Z
-PLcom/android/server/locksettings/LockSettingsService;->lambda$notifyActivePasswordMetricsAvailable$0(Lcom/android/server/locksettings/LockSettingsService;Landroid/app/admin/PasswordMetrics;I)V
+PLcom/android/server/locksettings/LockSettingsService;->lambda$notifyActivePasswordMetricsAvailable$0$LockSettingsService(Landroid/app/admin/PasswordMetrics;I)V
+PLcom/android/server/locksettings/LockSettingsService;->lambda$tryRemoveUserFromSpCacheLater$2$LockSettingsService(I)V
 PLcom/android/server/locksettings/LockSettingsService;->lambda$tryRemoveUserFromSpCacheLater$2(Lcom/android/server/locksettings/LockSettingsService;I)V
-PLcom/android/server/locksettings/LockSettingsService;->maybeShowEncryptionNotificationForUser(I)V
-PLcom/android/server/locksettings/LockSettingsService;->migrateOldData()V
-PLcom/android/server/locksettings/LockSettingsService;->migrateOldDataAfterSystemReady()V
-PLcom/android/server/locksettings/LockSettingsService;->notifyActivePasswordMetricsAvailable(Ljava/lang/String;I)V
 PLcom/android/server/locksettings/LockSettingsService;->onAuthTokenKnownForUser(ILcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;)V
-PLcom/android/server/locksettings/LockSettingsService;->onStartUser(I)V
+PLcom/android/server/locksettings/LockSettingsService;->onCleanupUser(I)V
 PLcom/android/server/locksettings/LockSettingsService;->onUnlockUser(I)V
-PLcom/android/server/locksettings/LockSettingsService;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
+PLcom/android/server/locksettings/LockSettingsService;->requireStrongAuth(II)V
 PLcom/android/server/locksettings/LockSettingsService;->setBoolean(Ljava/lang/String;ZI)V
 PLcom/android/server/locksettings/LockSettingsService;->setRecoverySecretTypes([I)V
 PLcom/android/server/locksettings/LockSettingsService;->setServerParams([B)V
 PLcom/android/server/locksettings/LockSettingsService;->setSnapshotCreatedPendingIntent(Landroid/app/PendingIntent;)V
-PLcom/android/server/locksettings/LockSettingsService;->setStringUnchecked(Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/locksettings/LockSettingsService;->shouldCacheSpForUser(I)Z
+PLcom/android/server/locksettings/LockSettingsService;->showEncryptionNotification(Landroid/os/UserHandle;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/app/PendingIntent;)V
+PLcom/android/server/locksettings/LockSettingsService;->showEncryptionNotificationForProfile(Landroid/os/UserHandle;)V
 PLcom/android/server/locksettings/LockSettingsService;->spBasedDoVerifyCredential(Ljava/lang/String;IZJILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
-PLcom/android/server/locksettings/LockSettingsService;->systemReady()V
+PLcom/android/server/locksettings/LockSettingsService;->spBasedDoVerifyCredential([BIZJILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/internal/widget/VerifyCredentialResponse;
+PLcom/android/server/locksettings/LockSettingsService;->tieManagedProfileLockIfNecessary(ILjava/lang/String;)V
+PLcom/android/server/locksettings/LockSettingsService;->tieManagedProfileLockIfNecessary(I[B)V
 PLcom/android/server/locksettings/LockSettingsService;->tiedManagedProfileReadyToUnlock(Landroid/content/pm/UserInfo;)Z
-PLcom/android/server/locksettings/LockSettingsService;->tryRemoveUserFromSpCacheLater(I)V
-PLcom/android/server/locksettings/LockSettingsService;->unlockKeystore(Ljava/lang/String;I)V
+PLcom/android/server/locksettings/LockSettingsService;->unlockChildProfile(IZ)V
 PLcom/android/server/locksettings/LockSettingsService;->unlockUser(I[B[B)V
 PLcom/android/server/locksettings/LockSettingsService;->userPresent(I)V
-PLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;-><init>()V
-PLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;-><init>(Lcom/android/server/locksettings/LockSettingsStorage$1;)V
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;-><init>()V
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;-><init>(Lcom/android/server/locksettings/LockSettingsStorage$1;)V
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;->access$100(Lcom/android/server/locksettings/LockSettingsStorage$Cache;)I
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;->contains(ILjava/lang/String;I)Z
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;->getVersion()I
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;->hasFile(Ljava/lang/String;)Z
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;->hasKeyValue(Ljava/lang/String;I)Z
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;->isFetched(I)Z
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;->peek(ILjava/lang/String;I)Ljava/lang/Object;
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;->peekFile(Ljava/lang/String;)[B
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;->peekKeyValue(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;->put(ILjava/lang/String;Ljava/lang/Object;I)V
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;->putFileIfUnchanged(Ljava/lang/String;[BI)V
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;->putIfUnchanged(ILjava/lang/String;Ljava/lang/Object;II)V
 PLcom/android/server/locksettings/LockSettingsStorage$Cache;->putKeyValue(Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;->putKeyValueIfUnchanged(Ljava/lang/String;Ljava/lang/Object;II)V
-PLcom/android/server/locksettings/LockSettingsStorage$Cache;->setFetched(I)V
-PLcom/android/server/locksettings/LockSettingsStorage$CredentialHash;-><init>([BII)V
-PLcom/android/server/locksettings/LockSettingsStorage$CredentialHash;-><init>([BIIZ)V
-PLcom/android/server/locksettings/LockSettingsStorage$CredentialHash;->createEmptyHash()Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
-PLcom/android/server/locksettings/LockSettingsStorage$DatabaseHelper;-><init>(Landroid/content/Context;)V
-PLcom/android/server/locksettings/LockSettingsStorage$DatabaseHelper;->setCallback(Lcom/android/server/locksettings/LockSettingsStorage$Callback;)V
-PLcom/android/server/locksettings/LockSettingsStorage;-><init>(Landroid/content/Context;)V
-PLcom/android/server/locksettings/LockSettingsStorage;->access$500()Ljava/lang/Object;
 PLcom/android/server/locksettings/LockSettingsStorage;->deleteSyntheticPasswordState(IJLjava/lang/String;)V
-PLcom/android/server/locksettings/LockSettingsStorage;->getBaseZeroLockPatternFilename(I)Ljava/lang/String;
-PLcom/android/server/locksettings/LockSettingsStorage;->getLegacyLockPasswordFilename(I)Ljava/lang/String;
-PLcom/android/server/locksettings/LockSettingsStorage;->getLegacyLockPatternFilename(I)Ljava/lang/String;
-PLcom/android/server/locksettings/LockSettingsStorage;->getLockCredentialFilePathForUser(ILjava/lang/String;)Ljava/lang/String;
-PLcom/android/server/locksettings/LockSettingsStorage;->getLockPasswordFilename(I)Ljava/lang/String;
-PLcom/android/server/locksettings/LockSettingsStorage;->getLockPatternFilename(I)Ljava/lang/String;
-PLcom/android/server/locksettings/LockSettingsStorage;->getSynthenticPasswordStateFilePathForUser(IJLjava/lang/String;)Ljava/lang/String;
-PLcom/android/server/locksettings/LockSettingsStorage;->getSyntheticPasswordDirectoryForUser(I)Ljava/io/File;
-PLcom/android/server/locksettings/LockSettingsStorage;->prefetchUser(I)V
-PLcom/android/server/locksettings/LockSettingsStorage;->readCredentialHash(I)Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
-PLcom/android/server/locksettings/LockSettingsStorage;->readFile(Ljava/lang/String;)[B
-PLcom/android/server/locksettings/LockSettingsStorage;->readKeyValue(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
-PLcom/android/server/locksettings/LockSettingsStorage;->readPasswordHashIfExists(I)Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
-PLcom/android/server/locksettings/LockSettingsStorage;->readPatternHashIfExists(I)Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
-PLcom/android/server/locksettings/LockSettingsStorage;->readSyntheticPasswordState(IJLjava/lang/String;)[B
-PLcom/android/server/locksettings/LockSettingsStorage;->setDatabaseOnCreateCallback(Lcom/android/server/locksettings/LockSettingsStorage$Callback;)V
+PLcom/android/server/locksettings/LockSettingsStorage;->readChildProfileLock(I)[B
 PLcom/android/server/locksettings/LockSettingsStorage;->writeKeyValue(Landroid/database/sqlite/SQLiteDatabase;Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/locksettings/LockSettingsStorage;->writeKeyValue(Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/locksettings/LockSettingsStrongAuth$1;-><init>(Lcom/android/server/locksettings/LockSettingsStrongAuth;)V
-PLcom/android/server/locksettings/LockSettingsStrongAuth$1;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/locksettings/LockSettingsStrongAuth$StrongAuthTimeoutAlarmListener;-><init>(Lcom/android/server/locksettings/LockSettingsStrongAuth;I)V
-PLcom/android/server/locksettings/LockSettingsStrongAuth;-><init>(Landroid/content/Context;)V
-PLcom/android/server/locksettings/LockSettingsStrongAuth;->access$000(Lcom/android/server/locksettings/LockSettingsStrongAuth;Landroid/app/trust/IStrongAuthTracker;)V
-PLcom/android/server/locksettings/LockSettingsStrongAuth;->access$200(Lcom/android/server/locksettings/LockSettingsStrongAuth;II)V
-PLcom/android/server/locksettings/LockSettingsStrongAuth;->access$400(Lcom/android/server/locksettings/LockSettingsStrongAuth;I)V
-PLcom/android/server/locksettings/LockSettingsStrongAuth;->handleAddStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
-PLcom/android/server/locksettings/LockSettingsStrongAuth;->handleRequireStrongAuth(II)V
-PLcom/android/server/locksettings/LockSettingsStrongAuth;->handleRequireStrongAuthOneUser(II)V
 PLcom/android/server/locksettings/LockSettingsStrongAuth;->handleScheduleStrongAuthTimeout(I)V
 PLcom/android/server/locksettings/LockSettingsStrongAuth;->notifyStrongAuthTrackers(II)V
-PLcom/android/server/locksettings/LockSettingsStrongAuth;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
 PLcom/android/server/locksettings/LockSettingsStrongAuth;->reportSuccessfulStrongAuthUnlock(I)V
 PLcom/android/server/locksettings/LockSettingsStrongAuth;->reportUnlock(I)V
 PLcom/android/server/locksettings/LockSettingsStrongAuth;->requireStrongAuth(II)V
-PLcom/android/server/locksettings/LockSettingsStrongAuth;->systemReady()V
+PLcom/android/server/locksettings/SP800Derive;->getMac()Ljavax/crypto/Mac;
+PLcom/android/server/locksettings/SP800Derive;->withContext([B[B)[B
 PLcom/android/server/locksettings/SyntheticPasswordCrypto;->decrypt(Ljavax/crypto/SecretKey;[B)[B
 PLcom/android/server/locksettings/SyntheticPasswordCrypto;->decrypt([B[B[B)[B
 PLcom/android/server/locksettings/SyntheticPasswordCrypto;->decryptBlob(Ljava/lang/String;[B[B)[B
 PLcom/android/server/locksettings/SyntheticPasswordCrypto;->personalisedHash([B[[B)[B
-PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationResult;-><init>()V
-PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;-><init>()V
-PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->access$902(Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;Ljava/lang/String;)Ljava/lang/String;
 PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->deriveDiskEncryptionKey()[B
 PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->deriveGkPassword()[B
 PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->deriveKeyStorePassword()Ljava/lang/String;
-PLcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;-><init>()V
-PLcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;->fromBytes([B)Lcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;
-PLcom/android/server/locksettings/SyntheticPasswordManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/LockSettingsStorage;Landroid/os/UserManager;)V
-PLcom/android/server/locksettings/SyntheticPasswordManager;->access$000()[B
-PLcom/android/server/locksettings/SyntheticPasswordManager;->access$100()[B
-PLcom/android/server/locksettings/SyntheticPasswordManager;->access$200()[B
+PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->deriveKeyStorePassword()[B
+PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->derivePassword([B)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;->deriveVendorAuthSecret()[B
 PLcom/android/server/locksettings/SyntheticPasswordManager;->bytesToHex([B)Ljava/lang/String;
-PLcom/android/server/locksettings/SyntheticPasswordManager;->computePasswordToken(Ljava/lang/String;Lcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->bytesToHex([B)[B
 PLcom/android/server/locksettings/SyntheticPasswordManager;->decryptSPBlob(Ljava/lang/String;[B[B)[B
 PLcom/android/server/locksettings/SyntheticPasswordManager;->destroyEscrowData(I)V
-PLcom/android/server/locksettings/SyntheticPasswordManager;->destroyState(Ljava/lang/String;JI)V
-PLcom/android/server/locksettings/SyntheticPasswordManager;->fromByteArrayList(Ljava/util/ArrayList;)[B
-PLcom/android/server/locksettings/SyntheticPasswordManager;->getCredentialType(JI)I
-PLcom/android/server/locksettings/SyntheticPasswordManager;->getHandleName(J)Ljava/lang/String;
 PLcom/android/server/locksettings/SyntheticPasswordManager;->getPendingTokensForUser(I)Ljava/util/Set;
-PLcom/android/server/locksettings/SyntheticPasswordManager;->getWeaverService()Landroid/hardware/weaver/V1_0/IWeaver;
-PLcom/android/server/locksettings/SyntheticPasswordManager;->initWeaverService()V
 PLcom/android/server/locksettings/SyntheticPasswordManager;->isWeaverAvailable()Z
-PLcom/android/server/locksettings/SyntheticPasswordManager;->lambda$initWeaverService$0(Lcom/android/server/locksettings/SyntheticPasswordManager;ILandroid/hardware/weaver/V1_0/WeaverConfig;)V
 PLcom/android/server/locksettings/SyntheticPasswordManager;->lambda$weaverVerify$1([Lcom/android/internal/widget/VerifyCredentialResponse;IILandroid/hardware/weaver/V1_0/WeaverReadResponse;)V
-PLcom/android/server/locksettings/SyntheticPasswordManager;->loadState(Ljava/lang/String;JI)[B
-PLcom/android/server/locksettings/SyntheticPasswordManager;->loadSyntheticPasswordHandle(I)[B
 PLcom/android/server/locksettings/SyntheticPasswordManager;->loadWeaverSlot(JI)I
 PLcom/android/server/locksettings/SyntheticPasswordManager;->passwordTokenToWeaverKey([B)[B
 PLcom/android/server/locksettings/SyntheticPasswordManager;->scrypt(Ljava/lang/String;[BIIII)[B
-PLcom/android/server/locksettings/SyntheticPasswordManager;->toByteArrayList([B)Ljava/util/ArrayList;
-PLcom/android/server/locksettings/SyntheticPasswordManager;->transformUnderWeaverSecret([B[B)[B
+PLcom/android/server/locksettings/SyntheticPasswordManager;->scrypt([B[BIIII)[B
 PLcom/android/server/locksettings/SyntheticPasswordManager;->unwrapPasswordBasedSyntheticPassword(Landroid/service/gatekeeper/IGateKeeperService;JLjava/lang/String;ILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationResult;
+PLcom/android/server/locksettings/SyntheticPasswordManager;->unwrapPasswordBasedSyntheticPassword(Landroid/service/gatekeeper/IGateKeeperService;J[BILcom/android/internal/widget/ICheckCredentialProgressCallback;)Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationResult;
 PLcom/android/server/locksettings/SyntheticPasswordManager;->unwrapSyntheticPasswordBlob(JB[BJI)Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;
 PLcom/android/server/locksettings/SyntheticPasswordManager;->verifyChallenge(Landroid/service/gatekeeper/IGateKeeperService;Lcom/android/server/locksettings/SyntheticPasswordManager$AuthenticationToken;JI)Lcom/android/internal/widget/VerifyCredentialResponse;
 PLcom/android/server/locksettings/SyntheticPasswordManager;->weaverVerify(I[B)Lcom/android/internal/widget/VerifyCredentialResponse;
-PLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;-><init>(Ljava/security/KeyStore;)V
-PLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;->getAndLoadAndroidKeyStore()Ljava/security/KeyStore;
 PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;-><init>(Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;Lcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;IILjava/lang/String;ZLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;Lcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;Landroid/security/Scrypt;)V
-PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;->isCustomLockScreen()Z
-PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;->newInstance(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;Lcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;IILjava/lang/String;Z)Lcom/android/server/locksettings/recoverablekeystore/KeySyncTask;
+PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;-><init>(Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;Lcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;II[BZLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;Lcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;Landroid/security/Scrypt;)V
 PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;->run()V
 PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;->shouldCreateSnapshot(I)Z
 PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;->syncKeys()V
 PLcom/android/server/locksettings/recoverablekeystore/KeySyncTask;->syncKeysForAgent(I)V
-PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/KeyStoreProxy;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;)V
-PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getAndLoadAndroidKeyStore()Ljava/security/KeyStore;
 PLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getInstance(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;)Lcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;
-PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyGenerator;-><init>(Ljavax/crypto/KeyGenerator;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;)V
-PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyGenerator;->newInstance(Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;)Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyGenerator;
-PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySessionStorage;Ljava/util/concurrent/ExecutorService;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;Lcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;Lcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;Lcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;)V
 PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->checkRecoverKeyStorePermission()V
-PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->getAlias(IILjava/lang/String;)Ljava/lang/String;
-PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->getInstance(Landroid/content/Context;Landroid/security/KeyStore;)Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;
 PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->getKey(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->getKeyChainSnapshot()Landroid/security/keystore/recovery/KeyChainSnapshot;
+PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->getRecoverySecretTypes()[I
 PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->getRecoveryStatus()Ljava/util/Map;
 PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->initRecoveryService(Ljava/lang/String;[B)V
 PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->initRecoveryServiceWithSigFile(Ljava/lang/String;[B[B)V
 PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->lockScreenSecretAvailable(ILjava/lang/String;I)V
+PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->lockScreenSecretAvailable(I[BI)V
 PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->setRecoverySecretTypes([I)V
 PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->setServerParams([B)V
 PLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->setSnapshotCreatedPendingIntent(Landroid/app/PendingIntent;)V
-PLcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;-><init>()V
 PLcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;->setSnapshotListener(ILandroid/app/PendingIntent;)V
 PLcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;-><init>()V
 PLcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;->getDefaultCertificateAliasIfEmpty(Ljava/lang/String;)Ljava/lang/String;
@@ -12388,25 +8416,18 @@
 PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->buildPkixParams(Ljava/util/Date;Ljava/security/cert/X509Certificate;Ljava/util/List;Ljava/security/cert/X509Certificate;)Ljava/security/cert/PKIXParameters;
 PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->decodeBase64(Ljava/lang/String;)[B
 PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->decodeCert(Ljava/io/InputStream;)Ljava/security/cert/X509Certificate;
-PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->decodeCert([B)Ljava/security/cert/X509Certificate;
+PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->getXmlDirectChildren(Lorg/w3c/dom/Element;Ljava/lang/String;)Ljava/util/List;
 PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->getXmlNodeContents(ILorg/w3c/dom/Element;[Ljava/lang/String;)Ljava/util/List;
 PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->getXmlRootNode([B)Lorg/w3c/dom/Element;
 PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->validateCert(Ljava/util/Date;Ljava/security/cert/X509Certificate;Ljava/util/List;Ljava/security/cert/X509Certificate;)Ljava/security/cert/CertPath;
 PLcom/android/server/locksettings/recoverablekeystore/certificate/CertUtils;->verifyRsaSha256Signature(Ljava/security/PublicKey;[B[B)V
 PLcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;-><init>(JJLjava/util/List;Ljava/util/List;)V
-PLcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;->getSerial()J
-PLcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;->parse([B)Lcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;
+PLcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;-><init>(JLjava/util/List;Ljava/util/List;)V
 PLcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;->parseEndpointCerts(Lorg/w3c/dom/Element;)Ljava/util/List;
 PLcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;->parseIntermediateCerts(Lorg/w3c/dom/Element;)Ljava/util/List;
 PLcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;->parseRefreshInterval(Lorg/w3c/dom/Element;)J
 PLcom/android/server/locksettings/recoverablekeystore/certificate/CertXml;->parseSerial(Lorg/w3c/dom/Element;)J
-PLcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;-><init>(Ljava/util/List;Ljava/security/cert/X509Certificate;[B)V
-PLcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;->parse([B)Lcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;
-PLcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;->parseFileSignature(Lorg/w3c/dom/Element;)[B
 PLcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;->parseIntermediateCerts(Lorg/w3c/dom/Element;)Ljava/util/List;
-PLcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;->parseSignerCert(Lorg/w3c/dom/Element;)Ljava/security/cert/X509Certificate;
-PLcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;->verifyFileSignature(Ljava/security/cert/X509Certificate;[B)V
-PLcom/android/server/locksettings/recoverablekeystore/certificate/SigXml;->verifyFileSignature(Ljava/security/cert/X509Certificate;[BLjava/util/Date;)V
 PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->deserialize(Ljava/io/InputStream;)Landroid/security/keystore/recovery/KeyChainSnapshot;
 PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->deserializeInternal(Ljava/io/InputStream;)Landroid/security/keystore/recovery/KeyChainSnapshot;
 PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readBlobTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)[B
@@ -12416,16 +8437,10 @@
 PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readKeyChainProtectionParamsList(Lorg/xmlpull/v1/XmlPullParser;)Ljava/util/List;
 PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readKeyDerivationParams(Lorg/xmlpull/v1/XmlPullParser;)Landroid/security/keystore/recovery/KeyDerivationParams;
 PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readLongTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)J
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readStringTag(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readText(Lorg/xmlpull/v1/XmlPullParser;)Ljava/lang/String;
 PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readWrappedApplicationKey(Lorg/xmlpull/v1/XmlPullParser;)Landroid/security/keystore/recovery/WrappedApplicationKey;
 PLcom/android/server/locksettings/recoverablekeystore/serialization/KeyChainSnapshotDeserializer;->readWrappedApplicationKeys(Lorg/xmlpull/v1/XmlPullParser;)Ljava/util/List;
-PLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;-><init>(Lcom/android/server/locksettings/recoverablekeystore/KeyStoreProxy;Landroid/security/KeyStore;)V
 PLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;->getGrantAlias(IILjava/lang/String;)Ljava/lang/String;
-PLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;->getInstance(Landroid/security/KeyStore;)Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;
-PLcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;->getInternalAlias(IILjava/lang/String;)Ljava/lang/String;
 PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;-><init>(Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper;)V
 PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->ensureRecoveryServiceMetadataEntryExists(II)V
 PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getActiveRootOfTrust(II)Ljava/lang/String;
 PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getBytes(IILjava/lang/String;)[B
@@ -12438,987 +8453,464 @@
 PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getShouldCreateSnapshot(II)Z
 PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getSnapshotVersion(II)Ljava/lang/Long;
 PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->getStatusForAllKeys(I)Ljava/util/Map;
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->newInstance(Landroid/content/Context;)Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;
 PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;->setActiveRootOfTrust(IILjava/lang/String;)J
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper;-><init>(Landroid/content/Context;)V
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySessionStorage;-><init>()V
 PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;-><init>(Ljava/io/File;)V
 PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;->get(I)Landroid/security/keystore/recovery/KeyChainSnapshot;
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;->getSnapshotFile(I)Ljava/io/File;
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;->getSnapshotFileName(I)Ljava/lang/String;
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;->getStorageFolder()Ljava/io/File;
-PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;->newInstance()Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;
 PLcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;->readFromDisk(I)Landroid/security/keystore/recovery/KeyChainSnapshot;
-PLcom/android/server/media/-$$Lambda$MediaSessionService$za_9dlUSlnaiZw6eCdPVEZq0XLw;-><init>(Lcom/android/server/media/MediaSessionService;)V
-PLcom/android/server/media/-$$Lambda$MediaSessionService$za_9dlUSlnaiZw6eCdPVEZq0XLw;->onAudioPlayerActiveStateChanged(Landroid/media/AudioPlaybackConfiguration;Z)V
-PLcom/android/server/media/AudioPlayerStateMonitor$MessageHandler;-><init>(Landroid/os/Looper;Lcom/android/server/media/AudioPlayerStateMonitor$OnAudioPlayerActiveStateChangedListener;)V
+PLcom/android/server/media/-$$Lambda$MediaSessionServiceImpl$a3VtB0CQuvV4UG4nWgvCgkL6hec;->onAudioPlayerActiveStateChanged(Landroid/media/AudioPlaybackConfiguration;Z)V
 PLcom/android/server/media/AudioPlayerStateMonitor$MessageHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/media/AudioPlayerStateMonitor$MessageHandler;->sendAudioPlayerActiveStateChangedMessage(Landroid/media/AudioPlaybackConfiguration;Z)V
-PLcom/android/server/media/AudioPlayerStateMonitor;-><init>()V
-PLcom/android/server/media/AudioPlayerStateMonitor;->getInstance()Lcom/android/server/media/AudioPlayerStateMonitor;
-PLcom/android/server/media/AudioPlayerStateMonitor;->getSortedAudioPlaybackClientUids()Landroid/util/IntArray;
-PLcom/android/server/media/AudioPlayerStateMonitor;->isPlaybackActive(I)Z
-PLcom/android/server/media/AudioPlayerStateMonitor;->registerListener(Lcom/android/server/media/AudioPlayerStateMonitor$OnAudioPlayerActiveStateChangedListener;Landroid/os/Handler;)V
-PLcom/android/server/media/AudioPlayerStateMonitor;->registerSelfIntoAudioServiceIfNeeded(Landroid/media/IAudioService;)V
-PLcom/android/server/media/AudioPlayerStateMonitor;->sendAudioPlayerActiveStateChangedMessageLocked(Landroid/media/AudioPlaybackConfiguration;Z)V
-PLcom/android/server/media/MediaResourceMonitorService$MediaResourceMonitorImpl;-><init>(Lcom/android/server/media/MediaResourceMonitorService;)V
+PLcom/android/server/media/AudioPlayerStateMonitor;->cleanUpAudioPlaybackUids(I)V
+PLcom/android/server/media/AudioPlayerStateMonitor;->dispatchPlaybackConfigChange(Ljava/util/List;Z)V
 PLcom/android/server/media/MediaResourceMonitorService$MediaResourceMonitorImpl;->getPackageNamesFromPid(I)[Ljava/lang/String;
 PLcom/android/server/media/MediaResourceMonitorService$MediaResourceMonitorImpl;->notifyResourceGranted(II)V
-PLcom/android/server/media/MediaResourceMonitorService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/media/MediaResourceMonitorService;->access$000()Z
-PLcom/android/server/media/MediaResourceMonitorService;->onStart()V
-PLcom/android/server/media/MediaRouterService$1$1;-><init>(Lcom/android/server/media/MediaRouterService$1;)V
 PLcom/android/server/media/MediaRouterService$1$1;->run()V
-PLcom/android/server/media/MediaRouterService$1;-><init>(Lcom/android/server/media/MediaRouterService;)V
 PLcom/android/server/media/MediaRouterService$1;->onAudioPlayerActiveStateChanged(Landroid/media/AudioPlaybackConfiguration;Z)V
-PLcom/android/server/media/MediaRouterService$2;-><init>(Lcom/android/server/media/MediaRouterService;)V
-PLcom/android/server/media/MediaRouterService$3;-><init>(Lcom/android/server/media/MediaRouterService;)V
-PLcom/android/server/media/MediaRouterService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/media/MediaRouterService$ClientRecord;-><init>(Lcom/android/server/media/MediaRouterService;Lcom/android/server/media/MediaRouterService$UserRecord;Landroid/media/IMediaRouterClient;IILjava/lang/String;Z)V
+PLcom/android/server/media/MediaRouterService$2;->dispatchAudioRoutesChanged(Landroid/media/AudioRoutesInfo;)V
 PLcom/android/server/media/MediaRouterService$ClientRecord;->binderDied()V
-PLcom/android/server/media/MediaRouterService$ClientRecord;->dispose()V
-PLcom/android/server/media/MediaRouterService$ClientRecord;->getState()Landroid/media/MediaRouterClientState;
-PLcom/android/server/media/MediaRouterService$MediaRouterServiceBroadcastReceiver;-><init>(Lcom/android/server/media/MediaRouterService;)V
 PLcom/android/server/media/MediaRouterService$MediaRouterServiceBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 PLcom/android/server/media/MediaRouterService$UserHandler$ProviderRecord;-><init>(Lcom/android/server/media/RemoteDisplayProviderProxy;)V
-PLcom/android/server/media/MediaRouterService$UserHandler$ProviderRecord;->appendClientState(Landroid/media/MediaRouterClientState;)V
 PLcom/android/server/media/MediaRouterService$UserHandler$ProviderRecord;->updateDescriptor(Landroid/media/RemoteDisplayState;)Z
-PLcom/android/server/media/MediaRouterService$UserHandler;-><init>(Lcom/android/server/media/MediaRouterService;Lcom/android/server/media/MediaRouterService$UserRecord;)V
 PLcom/android/server/media/MediaRouterService$UserHandler;->addProvider(Lcom/android/server/media/RemoteDisplayProviderProxy;)V
-PLcom/android/server/media/MediaRouterService$UserHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/media/MediaRouterService$UserHandler;->scheduleUpdateClientState()V
-PLcom/android/server/media/MediaRouterService$UserHandler;->start()V
 PLcom/android/server/media/MediaRouterService$UserHandler;->updateClientState()V
-PLcom/android/server/media/MediaRouterService$UserRecord;-><init>(Lcom/android/server/media/MediaRouterService;I)V
-PLcom/android/server/media/MediaRouterService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/media/MediaRouterService;->access$000(Lcom/android/server/media/MediaRouterService;)Landroid/util/IntArray;
-PLcom/android/server/media/MediaRouterService;->access$100(Lcom/android/server/media/MediaRouterService;)Landroid/util/IntArray;
-PLcom/android/server/media/MediaRouterService;->access$200(Lcom/android/server/media/MediaRouterService;)Landroid/os/Handler;
-PLcom/android/server/media/MediaRouterService;->access$300()Z
-PLcom/android/server/media/MediaRouterService;->access$400(Lcom/android/server/media/MediaRouterService;)Ljava/lang/Object;
-PLcom/android/server/media/MediaRouterService;->access$500(Lcom/android/server/media/MediaRouterService;)Landroid/content/Context;
+PLcom/android/server/media/MediaRouterService$UserHandler;->updateDiscoveryRequest()V
 PLcom/android/server/media/MediaRouterService;->clientDied(Lcom/android/server/media/MediaRouterService$ClientRecord;)V
 PLcom/android/server/media/MediaRouterService;->disposeClientLocked(Lcom/android/server/media/MediaRouterService$ClientRecord;Z)V
 PLcom/android/server/media/MediaRouterService;->disposeUserIfNeededLocked(Lcom/android/server/media/MediaRouterService$UserRecord;)V
-PLcom/android/server/media/MediaRouterService;->getState(Landroid/media/IMediaRouterClient;)Landroid/media/MediaRouterClientState;
-PLcom/android/server/media/MediaRouterService;->getStateLocked(Landroid/media/IMediaRouterClient;)Landroid/media/MediaRouterClientState;
-PLcom/android/server/media/MediaRouterService;->initializeClientLocked(Lcom/android/server/media/MediaRouterService$ClientRecord;)V
-PLcom/android/server/media/MediaRouterService;->initializeUserLocked(Lcom/android/server/media/MediaRouterService$UserRecord;)V
-PLcom/android/server/media/MediaRouterService;->isPlaybackActive(Landroid/media/IMediaRouterClient;)Z
-PLcom/android/server/media/MediaRouterService;->monitor()V
-PLcom/android/server/media/MediaRouterService;->registerClientAsUser(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
-PLcom/android/server/media/MediaRouterService;->registerClientLocked(Landroid/media/IMediaRouterClient;IILjava/lang/String;IZ)V
 PLcom/android/server/media/MediaRouterService;->restoreBluetoothA2dp()V
 PLcom/android/server/media/MediaRouterService;->restoreRoute(I)V
-PLcom/android/server/media/MediaRouterService;->setDiscoveryRequest(Landroid/media/IMediaRouterClient;IZ)V
-PLcom/android/server/media/MediaRouterService;->setDiscoveryRequestLocked(Landroid/media/IMediaRouterClient;IZ)V
-PLcom/android/server/media/MediaRouterService;->setSelectedRoute(Landroid/media/IMediaRouterClient;Ljava/lang/String;Z)V
-PLcom/android/server/media/MediaRouterService;->setSelectedRouteLocked(Landroid/media/IMediaRouterClient;Ljava/lang/String;Z)V
-PLcom/android/server/media/MediaRouterService;->switchUser()V
-PLcom/android/server/media/MediaRouterService;->systemRunning()V
-PLcom/android/server/media/MediaRouterService;->unregisterClientLocked(Landroid/media/IMediaRouterClient;Z)V
-PLcom/android/server/media/MediaRouterService;->validatePackageName(ILjava/lang/String;)Z
-PLcom/android/server/media/MediaSessionRecord$2;-><init>(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionRecord$ControllerStub;-><init>(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionRecord$2;->run()V
+PLcom/android/server/media/MediaSessionRecord$3;->run()V
+PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getExtras()Landroid/os/Bundle;
+PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getFlags()J
 PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getMetadata()Landroid/media/MediaMetadata;
 PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getPackageName()Ljava/lang/String;
 PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getPlaybackState()Landroid/media/session/PlaybackState;
-PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getQueue()Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getVolumeAttributes()Landroid/media/session/ParcelableVolumeInfo;
-PLcom/android/server/media/MediaSessionRecord$ControllerStub;->registerCallbackListener(Ljava/lang/String;Landroid/media/session/ISessionControllerCallback;)V
-PLcom/android/server/media/MediaSessionRecord$ControllerStub;->unregisterCallbackListener(Landroid/media/session/ISessionControllerCallback;)V
-PLcom/android/server/media/MediaSessionRecord$ISessionControllerCallbackHolder;-><init>(Lcom/android/server/media/MediaSessionRecord;Landroid/media/session/ISessionControllerCallback;Ljava/lang/String;I)V
-PLcom/android/server/media/MediaSessionRecord$ISessionControllerCallbackHolder;->access$400(Lcom/android/server/media/MediaSessionRecord$ISessionControllerCallbackHolder;)Landroid/media/session/ISessionControllerCallback;
-PLcom/android/server/media/MediaSessionRecord$MessageHandler;-><init>(Lcom/android/server/media/MediaSessionRecord;Landroid/os/Looper;)V
-PLcom/android/server/media/MediaSessionRecord$MessageHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/media/MediaSessionRecord$MessageHandler;->post(I)V
-PLcom/android/server/media/MediaSessionRecord$MessageHandler;->post(ILjava/lang/Object;)V
-PLcom/android/server/media/MediaSessionRecord$SessionCb;-><init>(Lcom/android/server/media/MediaSessionRecord;Landroid/media/session/ISessionCallback;)V
-PLcom/android/server/media/MediaSessionRecord$SessionCb;->access$100(Lcom/android/server/media/MediaSessionRecord$SessionCb;)Landroid/media/session/ISessionCallback;
-PLcom/android/server/media/MediaSessionRecord$SessionStub;-><init>(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionRecord$SessionStub;-><init>(Lcom/android/server/media/MediaSessionRecord;Lcom/android/server/media/MediaSessionRecord$1;)V
-PLcom/android/server/media/MediaSessionRecord$SessionStub;->destroy()V
-PLcom/android/server/media/MediaSessionRecord$SessionStub;->getController()Landroid/media/session/ISessionController;
+PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getQueue()Ljava/util/List;
+PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getQueueTitle()Ljava/lang/CharSequence;
+PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getRatingType()I
+PLcom/android/server/media/MediaSessionRecord$ControllerStub;->getVolumeAttributes()Landroid/media/session/MediaController$PlaybackInfo;
+PLcom/android/server/media/MediaSessionRecord$ControllerStub;->registerCallback(Ljava/lang/String;Landroid/media/session/ControllerCallbackLink;)V
+PLcom/android/server/media/MediaSessionRecord$ControllerStub;->sendCommand(Ljava/lang/String;Landroid/media/session/ControllerCallbackLink;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
+PLcom/android/server/media/MediaSessionRecord$ControllerStub;->sendMediaButton(Ljava/lang/String;Landroid/media/session/ControllerCallbackLink;Landroid/view/KeyEvent;)Z
+PLcom/android/server/media/MediaSessionRecord$ControllerStub;->unregisterCallback(Landroid/media/session/ControllerCallbackLink;)V
+PLcom/android/server/media/MediaSessionRecord$SessionCb;->adjustVolume(Ljava/lang/String;IILandroid/media/session/ControllerCallbackLink;ZI)V
+PLcom/android/server/media/MediaSessionRecord$SessionCb;->sendCommand(Ljava/lang/String;IILandroid/media/session/ControllerCallbackLink;Ljava/lang/String;Landroid/os/Bundle;Landroid/os/ResultReceiver;)V
+PLcom/android/server/media/MediaSessionRecord$SessionCb;->sendMediaButton(Ljava/lang/String;IILandroid/media/session/ControllerCallbackLink;ZLandroid/view/KeyEvent;)Z
+PLcom/android/server/media/MediaSessionRecord$SessionStub;->destroySession()V
 PLcom/android/server/media/MediaSessionRecord$SessionStub;->setActive(Z)V
+PLcom/android/server/media/MediaSessionRecord$SessionStub;->setCurrentVolume(I)V
 PLcom/android/server/media/MediaSessionRecord$SessionStub;->setExtras(Landroid/os/Bundle;)V
-PLcom/android/server/media/MediaSessionRecord$SessionStub;->setFlags(I)V
 PLcom/android/server/media/MediaSessionRecord$SessionStub;->setLaunchPendingIntent(Landroid/app/PendingIntent;)V
 PLcom/android/server/media/MediaSessionRecord$SessionStub;->setMediaButtonReceiver(Landroid/app/PendingIntent;)V
+PLcom/android/server/media/MediaSessionRecord$SessionStub;->setMetadata(Landroid/media/MediaMetadata;JLjava/lang/String;)V
 PLcom/android/server/media/MediaSessionRecord$SessionStub;->setPlaybackState(Landroid/media/session/PlaybackState;)V
-PLcom/android/server/media/MediaSessionRecord$SessionStub;->setPlaybackToLocal(Landroid/media/AudioAttributes;)V
-PLcom/android/server/media/MediaSessionRecord$SessionStub;->setQueue(Landroid/content/pm/ParceledListSlice;)V
+PLcom/android/server/media/MediaSessionRecord$SessionStub;->setPlaybackToRemote(II)V
+PLcom/android/server/media/MediaSessionRecord$SessionStub;->setQueue(Ljava/util/List;)V
 PLcom/android/server/media/MediaSessionRecord$SessionStub;->setQueueTitle(Ljava/lang/CharSequence;)V
 PLcom/android/server/media/MediaSessionRecord$SessionStub;->setRatingType(I)V
-PLcom/android/server/media/MediaSessionRecord;-><init>(IIILjava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;Lcom/android/server/media/MediaSessionService;Landroid/os/Looper;)V
-PLcom/android/server/media/MediaSessionRecord;->access$1000(Lcom/android/server/media/MediaSessionRecord;)Lcom/android/server/media/MediaSessionRecord$ControllerStub;
-PLcom/android/server/media/MediaSessionRecord;->access$1102(Lcom/android/server/media/MediaSessionRecord;Z)Z
-PLcom/android/server/media/MediaSessionRecord;->access$1202(Lcom/android/server/media/MediaSessionRecord;J)J
-PLcom/android/server/media/MediaSessionRecord;->access$1302(Lcom/android/server/media/MediaSessionRecord;Landroid/app/PendingIntent;)Landroid/app/PendingIntent;
-PLcom/android/server/media/MediaSessionRecord;->access$1402(Lcom/android/server/media/MediaSessionRecord;Landroid/app/PendingIntent;)Landroid/app/PendingIntent;
-PLcom/android/server/media/MediaSessionRecord;->access$1500(Lcom/android/server/media/MediaSessionRecord;)Ljava/lang/Object;
-PLcom/android/server/media/MediaSessionRecord;->access$1600(Lcom/android/server/media/MediaSessionRecord;)Landroid/media/MediaMetadata;
-PLcom/android/server/media/MediaSessionRecord;->access$1700(Lcom/android/server/media/MediaSessionRecord;)Landroid/media/session/PlaybackState;
-PLcom/android/server/media/MediaSessionRecord;->access$1702(Lcom/android/server/media/MediaSessionRecord;Landroid/media/session/PlaybackState;)Landroid/media/session/PlaybackState;
-PLcom/android/server/media/MediaSessionRecord;->access$1800(Lcom/android/server/media/MediaSessionRecord;)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/media/MediaSessionRecord;->access$1802(Lcom/android/server/media/MediaSessionRecord;Landroid/content/pm/ParceledListSlice;)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/media/MediaSessionRecord;->access$1902(Lcom/android/server/media/MediaSessionRecord;Ljava/lang/CharSequence;)Ljava/lang/CharSequence;
-PLcom/android/server/media/MediaSessionRecord;->access$2002(Lcom/android/server/media/MediaSessionRecord;Landroid/os/Bundle;)Landroid/os/Bundle;
-PLcom/android/server/media/MediaSessionRecord;->access$2102(Lcom/android/server/media/MediaSessionRecord;I)I
-PLcom/android/server/media/MediaSessionRecord;->access$2200(Lcom/android/server/media/MediaSessionRecord;)I
-PLcom/android/server/media/MediaSessionRecord;->access$2202(Lcom/android/server/media/MediaSessionRecord;I)I
-PLcom/android/server/media/MediaSessionRecord;->access$2300(Lcom/android/server/media/MediaSessionRecord;)Landroid/media/AudioAttributes;
-PLcom/android/server/media/MediaSessionRecord;->access$2302(Lcom/android/server/media/MediaSessionRecord;Landroid/media/AudioAttributes;)Landroid/media/AudioAttributes;
-PLcom/android/server/media/MediaSessionRecord;->access$2800(Lcom/android/server/media/MediaSessionRecord;)Z
-PLcom/android/server/media/MediaSessionRecord;->access$2900(Lcom/android/server/media/MediaSessionRecord;Landroid/media/session/ISessionControllerCallback;)I
-PLcom/android/server/media/MediaSessionRecord;->access$3000(Lcom/android/server/media/MediaSessionRecord;)Ljava/util/ArrayList;
-PLcom/android/server/media/MediaSessionRecord;->access$3100()Z
-PLcom/android/server/media/MediaSessionRecord;->access$3200(Lcom/android/server/media/MediaSessionRecord;)Ljava/lang/String;
-PLcom/android/server/media/MediaSessionRecord;->access$3400(Lcom/android/server/media/MediaSessionRecord;)Landroid/media/AudioManager;
-PLcom/android/server/media/MediaSessionRecord;->access$3600(Lcom/android/server/media/MediaSessionRecord;)Landroid/media/session/PlaybackState;
-PLcom/android/server/media/MediaSessionRecord;->access$3800(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionRecord;->access$3900(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionRecord;->access$4000(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionRecord;->access$4100(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionRecord;->access$4300(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionRecord;->access$800(Lcom/android/server/media/MediaSessionRecord;)Lcom/android/server/media/MediaSessionService;
-PLcom/android/server/media/MediaSessionRecord;->access$900(Lcom/android/server/media/MediaSessionRecord;)Lcom/android/server/media/MediaSessionRecord$MessageHandler;
+PLcom/android/server/media/MediaSessionRecord;->adjustVolume(Ljava/lang/String;Ljava/lang/String;IILandroid/media/session/ControllerCallbackLink;ZIIZ)V
 PLcom/android/server/media/MediaSessionRecord;->binderDied()V
-PLcom/android/server/media/MediaSessionRecord;->getCallback()Landroid/media/session/ISessionCallback;
-PLcom/android/server/media/MediaSessionRecord;->getControllerBinder()Landroid/media/session/ISessionController;
-PLcom/android/server/media/MediaSessionRecord;->getControllerHolderIndexForCb(Landroid/media/session/ISessionControllerCallback;)I
+PLcom/android/server/media/MediaSessionRecord;->getCallback()Landroid/media/session/SessionCallbackLink;
+PLcom/android/server/media/MediaSessionRecord;->getControllerHolderIndexForCb(Landroid/media/session/ControllerCallbackLink;)I
+PLcom/android/server/media/MediaSessionRecord;->getControllerLink()Landroid/media/session/ControllerLink;
 PLcom/android/server/media/MediaSessionRecord;->getFlags()J
+PLcom/android/server/media/MediaSessionRecord;->getMediaButtonReceiver()Landroid/app/PendingIntent;
+PLcom/android/server/media/MediaSessionRecord;->getPackageName()Ljava/lang/String;
+PLcom/android/server/media/MediaSessionRecord;->getPlaybackState()Landroid/media/session/PlaybackState;
 PLcom/android/server/media/MediaSessionRecord;->getPlaybackType()I
-PLcom/android/server/media/MediaSessionRecord;->getSessionBinder()Landroid/media/session/ISession;
+PLcom/android/server/media/MediaSessionRecord;->getSessionToken()Landroid/media/session/MediaSession$Token;
 PLcom/android/server/media/MediaSessionRecord;->getStateWithUpdatedPosition()Landroid/media/session/PlaybackState;
-PLcom/android/server/media/MediaSessionRecord;->getUserId()I
-PLcom/android/server/media/MediaSessionRecord;->isActive()Z
+PLcom/android/server/media/MediaSessionRecord;->getUid()I
+PLcom/android/server/media/MediaSessionRecord;->getVolumeAttributes()Landroid/media/session/MediaController$PlaybackInfo;
+PLcom/android/server/media/MediaSessionRecord;->hasFlag(I)Z
 PLcom/android/server/media/MediaSessionRecord;->isPlaybackActive()Z
 PLcom/android/server/media/MediaSessionRecord;->onDestroy()V
+PLcom/android/server/media/MediaSessionRecord;->postAdjustLocalVolume(IIILjava/lang/String;IIZZI)V
 PLcom/android/server/media/MediaSessionRecord;->pushExtrasUpdate()V
+PLcom/android/server/media/MediaSessionRecord;->pushMetadataUpdate()V
 PLcom/android/server/media/MediaSessionRecord;->pushPlaybackStateUpdate()V
 PLcom/android/server/media/MediaSessionRecord;->pushQueueTitleUpdate()V
 PLcom/android/server/media/MediaSessionRecord;->pushQueueUpdate()V
 PLcom/android/server/media/MediaSessionRecord;->pushSessionDestroyed()V
-PLcom/android/server/media/MediaSessionRecord;->toString()Ljava/lang/String;
-PLcom/android/server/media/MediaSessionService$1;-><init>(Lcom/android/server/media/MediaSessionService;)V
-PLcom/android/server/media/MediaSessionService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/media/MediaSessionService$FullUserRecord;-><init>(Lcom/android/server/media/MediaSessionService;I)V
-PLcom/android/server/media/MediaSessionService$FullUserRecord;->access$200(Lcom/android/server/media/MediaSessionService$FullUserRecord;)V
-PLcom/android/server/media/MediaSessionService$FullUserRecord;->access$300(Lcom/android/server/media/MediaSessionService$FullUserRecord;)Lcom/android/server/media/MediaSessionStack;
-PLcom/android/server/media/MediaSessionService$FullUserRecord;->access$3100(Lcom/android/server/media/MediaSessionService$FullUserRecord;)Landroid/media/session/ICallback;
-PLcom/android/server/media/MediaSessionService$FullUserRecord;->access$3102(Lcom/android/server/media/MediaSessionService$FullUserRecord;Landroid/media/session/ICallback;)Landroid/media/session/ICallback;
-PLcom/android/server/media/MediaSessionService$FullUserRecord;->access$400(Lcom/android/server/media/MediaSessionService$FullUserRecord;)I
-PLcom/android/server/media/MediaSessionService$FullUserRecord;->getMediaButtonSessionLocked()Lcom/android/server/media/MediaSessionRecord;
-PLcom/android/server/media/MediaSessionService$FullUserRecord;->pushAddressedPlayerChangedLocked()V
-PLcom/android/server/media/MediaSessionService$MessageHandler;-><init>(Lcom/android/server/media/MediaSessionService;)V
-PLcom/android/server/media/MediaSessionService$MessageHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/media/MediaSessionService$MessageHandler;->postSessionsChanged(I)V
-PLcom/android/server/media/MediaSessionService$SessionManagerImpl$1;-><init>(Lcom/android/server/media/MediaSessionService$SessionManagerImpl;Lcom/android/server/media/MediaSessionService$FullUserRecord;)V
-PLcom/android/server/media/MediaSessionService$SessionManagerImpl$5;-><init>(Lcom/android/server/media/MediaSessionService$SessionManagerImpl;)V
-PLcom/android/server/media/MediaSessionService$SessionManagerImpl$KeyEventWakeLockReceiver;-><init>(Lcom/android/server/media/MediaSessionService$SessionManagerImpl;Landroid/os/Handler;)V
-PLcom/android/server/media/MediaSessionService$SessionManagerImpl;-><init>(Lcom/android/server/media/MediaSessionService;)V
-PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->addSessionsListener(Landroid/media/session/IActiveSessionsListener;Landroid/content/ComponentName;I)V
-PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->createSession(Ljava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;I)Landroid/media/session/ISession;
-PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->removeSessionsListener(Landroid/media/session/IActiveSessionsListener;)V
-PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->setCallback(Landroid/media/session/ICallback;)V
-PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->setRemoteVolumeController(Landroid/media/IRemoteVolumeController;)V
-PLcom/android/server/media/MediaSessionService$SessionManagerImpl;->verifySessionsRequest(Landroid/content/ComponentName;III)I
-PLcom/android/server/media/MediaSessionService$SessionsListenerRecord;-><init>(Lcom/android/server/media/MediaSessionService;Landroid/media/session/IActiveSessionsListener;Landroid/content/ComponentName;III)V
-PLcom/android/server/media/MediaSessionService$SessionsListenerRecord;->access$800(Lcom/android/server/media/MediaSessionService$SessionsListenerRecord;)I
-PLcom/android/server/media/MediaSessionService$SessionsListenerRecord;->access$900(Lcom/android/server/media/MediaSessionService$SessionsListenerRecord;)Landroid/media/session/IActiveSessionsListener;
-PLcom/android/server/media/MediaSessionService$SettingsObserver;-><init>(Lcom/android/server/media/MediaSessionService;)V
-PLcom/android/server/media/MediaSessionService$SettingsObserver;-><init>(Lcom/android/server/media/MediaSessionService;Lcom/android/server/media/MediaSessionService$1;)V
-PLcom/android/server/media/MediaSessionService$SettingsObserver;->access$100(Lcom/android/server/media/MediaSessionService$SettingsObserver;)V
-PLcom/android/server/media/MediaSessionService$SettingsObserver;->observe()V
-PLcom/android/server/media/MediaSessionService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/media/MediaSessionService;->access$1000(Lcom/android/server/media/MediaSessionService;)V
-PLcom/android/server/media/MediaSessionService;->access$1200(Lcom/android/server/media/MediaSessionService;)Lcom/android/server/media/AudioPlayerStateMonitor;
-PLcom/android/server/media/MediaSessionService;->access$1300(Lcom/android/server/media/MediaSessionService;)Landroid/content/ContentResolver;
-PLcom/android/server/media/MediaSessionService;->access$1600(Lcom/android/server/media/MediaSessionService;I)Ljava/lang/String;
-PLcom/android/server/media/MediaSessionService;->access$1700(Lcom/android/server/media/MediaSessionService;)Ljava/lang/Object;
-PLcom/android/server/media/MediaSessionService;->access$1800(Lcom/android/server/media/MediaSessionService;)Lcom/android/server/media/MediaSessionService$MessageHandler;
-PLcom/android/server/media/MediaSessionService;->access$1900(Lcom/android/server/media/MediaSessionService;)Lcom/android/server/media/MediaSessionService$FullUserRecord;
-PLcom/android/server/media/MediaSessionService;->access$2000(Lcom/android/server/media/MediaSessionService;)Z
-PLcom/android/server/media/MediaSessionService;->access$2200(Lcom/android/server/media/MediaSessionService;)Ljava/util/ArrayList;
-PLcom/android/server/media/MediaSessionService;->access$2400(Lcom/android/server/media/MediaSessionService;Ljava/lang/String;I)V
-PLcom/android/server/media/MediaSessionService;->access$2500(Lcom/android/server/media/MediaSessionService;IIILjava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;)Lcom/android/server/media/MediaSessionRecord;
-PLcom/android/server/media/MediaSessionService;->access$2600(Lcom/android/server/media/MediaSessionService;I)Ljava/util/List;
-PLcom/android/server/media/MediaSessionService;->access$2700(Lcom/android/server/media/MediaSessionService;Landroid/media/session/IActiveSessionsListener;)I
-PLcom/android/server/media/MediaSessionService;->access$3000(Lcom/android/server/media/MediaSessionService;I)Lcom/android/server/media/MediaSessionService$FullUserRecord;
-PLcom/android/server/media/MediaSessionService;->access$3900(Lcom/android/server/media/MediaSessionService;Ljava/lang/String;II)V
-PLcom/android/server/media/MediaSessionService;->access$4002(Lcom/android/server/media/MediaSessionService;Landroid/media/IRemoteVolumeController;)Landroid/media/IRemoteVolumeController;
-PLcom/android/server/media/MediaSessionService;->access$4700(Lcom/android/server/media/MediaSessionService;Landroid/content/ComponentName;III)V
-PLcom/android/server/media/MediaSessionService;->access$6200(Lcom/android/server/media/MediaSessionService;I)V
-PLcom/android/server/media/MediaSessionService;->buildMediaSessionService2List()V
-PLcom/android/server/media/MediaSessionService;->createSessionInternal(IIILjava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;)Lcom/android/server/media/MediaSessionRecord;
-PLcom/android/server/media/MediaSessionService;->createSessionLocked(IIILjava/lang/String;Landroid/media/session/ISessionCallback;Ljava/lang/String;)Lcom/android/server/media/MediaSessionRecord;
-PLcom/android/server/media/MediaSessionService;->destroySession(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionService;->destroySessionLocked(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionService;->enforceMediaPermissions(Landroid/content/ComponentName;III)V
-PLcom/android/server/media/MediaSessionService;->enforcePackageName(Ljava/lang/String;I)V
-PLcom/android/server/media/MediaSessionService;->enforcePhoneStatePermission(II)V
-PLcom/android/server/media/MediaSessionService;->enforceSystemUiPermission(Ljava/lang/String;II)V
-PLcom/android/server/media/MediaSessionService;->findIndexOfSessionsListenerLocked(Landroid/media/session/IActiveSessionsListener;)I
-PLcom/android/server/media/MediaSessionService;->getActiveSessionsLocked(I)Ljava/util/List;
-PLcom/android/server/media/MediaSessionService;->getAudioService()Landroid/media/IAudioService;
-PLcom/android/server/media/MediaSessionService;->getCallingPackageName(I)Ljava/lang/String;
-PLcom/android/server/media/MediaSessionService;->getFullUserRecordLocked(I)Lcom/android/server/media/MediaSessionService$FullUserRecord;
-PLcom/android/server/media/MediaSessionService;->isCurrentVolumeController(II)Z
-PLcom/android/server/media/MediaSessionService;->isGlobalPriorityActiveLocked()Z
-PLcom/android/server/media/MediaSessionService;->lambda$onStart$0(Lcom/android/server/media/MediaSessionService;Landroid/media/AudioPlaybackConfiguration;Z)V
-PLcom/android/server/media/MediaSessionService;->monitor()V
-PLcom/android/server/media/MediaSessionService;->onMediaButtonReceiverChanged(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionService;->onSessionPlaystateChanged(Lcom/android/server/media/MediaSessionRecord;II)V
-PLcom/android/server/media/MediaSessionService;->onStart()V
-PLcom/android/server/media/MediaSessionService;->onStartUser(I)V
-PLcom/android/server/media/MediaSessionService;->pushRemoteVolumeUpdateLocked(I)V
-PLcom/android/server/media/MediaSessionService;->pushSessionsChanged(I)V
-PLcom/android/server/media/MediaSessionService;->registerPackageBroadcastReceivers()V
-PLcom/android/server/media/MediaSessionService;->sessionDied(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionService;->setGlobalPrioritySession(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionService;->updateSession(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionService;->updateUser()V
-PLcom/android/server/media/MediaSessionStack;-><init>(Lcom/android/server/media/AudioPlayerStateMonitor;Lcom/android/server/media/MediaSessionStack$OnMediaButtonSessionChangedListener;)V
-PLcom/android/server/media/MediaSessionStack;->addSession(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionStack;->clearCache(I)V
-PLcom/android/server/media/MediaSessionStack;->contains(Lcom/android/server/media/MediaSessionRecord;)Z
-PLcom/android/server/media/MediaSessionStack;->containsState(I[I)Z
+PLcom/android/server/media/MediaSessionRecord;->pushVolumeUpdate()V
+PLcom/android/server/media/MediaSessionService;->onStopUser(I)V
+PLcom/android/server/media/MediaSessionServiceImpl$FullUserRecord;->getComponentType(Landroid/content/ComponentName;)I
+PLcom/android/server/media/MediaSessionServiceImpl$FullUserRecord;->onMediaButtonSessionChanged(Lcom/android/server/media/MediaSessionRecord;Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionServiceImpl$FullUserRecord;->pushAddressedPlayerChangedLocked()V
+PLcom/android/server/media/MediaSessionServiceImpl$FullUserRecord;->rememberMediaButtonReceiverLocked(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl$4;->run()V
+PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->dispatchAdjustVolumeLocked(Ljava/lang/String;Ljava/lang/String;IIZIII)V
+PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->dispatchMediaKeyEvent(Ljava/lang/String;ZLandroid/view/KeyEvent;Z)V
+PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->dispatchMediaKeyEventLocked(Ljava/lang/String;IIZLandroid/view/KeyEvent;Z)V
+PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->dispatchVolumeKeyEvent(Ljava/lang/String;Ljava/lang/String;ZLandroid/view/KeyEvent;IZ)V
+PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->dispatchVolumeKeyEventLocked(Ljava/lang/String;Ljava/lang/String;IIZLandroid/view/KeyEvent;IZ)V
+PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->dispatchVolumeKeyEventToSessionAsSystemService(Ljava/lang/String;Ljava/lang/String;Landroid/media/session/MediaSession$Token;Landroid/view/KeyEvent;)V
+PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->removeSessionsListener(Landroid/media/session/IActiveSessionsListener;)V
+PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->setCallback(Landroid/media/session/ICallback;)V
+PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->setOnMediaKeyListener(Landroid/media/session/IOnMediaKeyListener;)V
+PLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->setOnVolumeKeyLongPressListener(Landroid/media/session/IOnVolumeKeyLongPressListener;)V
+PLcom/android/server/media/MediaSessionServiceImpl;->access$2100(Lcom/android/server/media/MediaSessionServiceImpl;Ljava/lang/String;I)V
+PLcom/android/server/media/MediaSessionServiceImpl;->destroySession(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionServiceImpl;->destroySessionLocked(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionServiceImpl;->getFullUserRecordLocked(I)Lcom/android/server/media/MediaSessionServiceImpl$FullUserRecord;
+PLcom/android/server/media/MediaSessionServiceImpl;->isEnabledNotificationListener(Landroid/content/ComponentName;II)Z
+PLcom/android/server/media/MediaSessionServiceImpl;->isGlobalPriorityActiveLocked()Z
+PLcom/android/server/media/MediaSessionServiceImpl;->lambda$onStart$0$MediaSessionServiceImpl(Landroid/media/AudioPlaybackConfiguration;Z)V
+PLcom/android/server/media/MediaSessionServiceImpl;->lambda$onStart$0(Lcom/android/server/media/MediaSessionServiceImpl;Landroid/media/AudioPlaybackConfiguration;Z)V
+PLcom/android/server/media/MediaSessionServiceImpl;->notifyRemoteVolumeChanged(ILcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionServiceImpl;->onMediaButtonReceiverChanged(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionServiceImpl;->onSessionPlaybackTypeChanged(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionServiceImpl;->onSessionPlaystateChanged(Lcom/android/server/media/MediaSessionRecord;II)V
+PLcom/android/server/media/MediaSessionServiceImpl;->onStopUser(I)V
+PLcom/android/server/media/MediaSessionServiceImpl;->sessionDied(Lcom/android/server/media/MediaSessionRecord;)V
+PLcom/android/server/media/MediaSessionServiceImpl;->updateSession(Lcom/android/server/media/MediaSessionRecord;)V
 PLcom/android/server/media/MediaSessionStack;->findMediaButtonSession(I)Lcom/android/server/media/MediaSessionRecord;
-PLcom/android/server/media/MediaSessionStack;->getActiveSessions(I)Ljava/util/ArrayList;
-PLcom/android/server/media/MediaSessionStack;->getDefaultRemoteSession(I)Lcom/android/server/media/MediaSessionRecord;
+PLcom/android/server/media/MediaSessionStack;->getDefaultVolumeSession()Lcom/android/server/media/MediaSessionRecord;
 PLcom/android/server/media/MediaSessionStack;->getMediaButtonSession()Lcom/android/server/media/MediaSessionRecord;
-PLcom/android/server/media/MediaSessionStack;->getPriorityList(ZI)Ljava/util/ArrayList;
+PLcom/android/server/media/MediaSessionStack;->getMediaSessionRecord(Landroid/media/session/MediaSession$Token;)Lcom/android/server/media/MediaSessionRecord;
 PLcom/android/server/media/MediaSessionStack;->onPlaystateChanged(Lcom/android/server/media/MediaSessionRecord;II)V
 PLcom/android/server/media/MediaSessionStack;->onSessionStateChange(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionStack;->removeSession(Lcom/android/server/media/MediaSessionRecord;)V
-PLcom/android/server/media/MediaSessionStack;->shouldUpdatePriority(II)Z
-PLcom/android/server/media/MediaSessionStack;->updateMediaButtonSessionIfNeeded()V
-PLcom/android/server/media/MediaUpdateService$1;-><init>(Lcom/android/server/media/MediaUpdateService;)V
-PLcom/android/server/media/MediaUpdateService$2;-><init>(Lcom/android/server/media/MediaUpdateService;)V
-PLcom/android/server/media/MediaUpdateService$2;->run()V
-PLcom/android/server/media/MediaUpdateService$3;-><init>(Lcom/android/server/media/MediaUpdateService;)V
-PLcom/android/server/media/MediaUpdateService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/media/MediaUpdateService;->access$200(Lcom/android/server/media/MediaUpdateService;)V
-PLcom/android/server/media/MediaUpdateService;->connect()V
-PLcom/android/server/media/MediaUpdateService;->loadExtractorPlugins(Ljava/lang/String;)V
-PLcom/android/server/media/MediaUpdateService;->onStart()V
-PLcom/android/server/media/MediaUpdateService;->packageStateChanged()V
-PLcom/android/server/media/MediaUpdateService;->registerBroadcastReceiver()V
-PLcom/android/server/media/RemoteDisplayProviderProxy$1;-><init>(Lcom/android/server/media/RemoteDisplayProviderProxy;)V
-PLcom/android/server/media/RemoteDisplayProviderProxy;-><init>(Landroid/content/Context;Landroid/content/ComponentName;I)V
-PLcom/android/server/media/RemoteDisplayProviderProxy;->getDisplayState()Landroid/media/RemoteDisplayState;
-PLcom/android/server/media/RemoteDisplayProviderProxy;->getFlattenedComponentName()Ljava/lang/String;
-PLcom/android/server/media/RemoteDisplayProviderProxy;->hasComponentName(Ljava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/media/RemoteDisplayProviderProxy;->rebindIfDisconnected()V
-PLcom/android/server/media/RemoteDisplayProviderProxy;->setCallback(Lcom/android/server/media/RemoteDisplayProviderProxy$Callback;)V
-PLcom/android/server/media/RemoteDisplayProviderProxy;->setDiscoveryMode(I)V
 PLcom/android/server/media/RemoteDisplayProviderProxy;->setSelectedDisplay(Ljava/lang/String;)V
-PLcom/android/server/media/RemoteDisplayProviderProxy;->shouldBind()Z
 PLcom/android/server/media/RemoteDisplayProviderProxy;->start()V
 PLcom/android/server/media/RemoteDisplayProviderProxy;->unbind()V
-PLcom/android/server/media/RemoteDisplayProviderProxy;->updateBinding()V
-PLcom/android/server/media/RemoteDisplayProviderWatcher$1;-><init>(Lcom/android/server/media/RemoteDisplayProviderWatcher;)V
 PLcom/android/server/media/RemoteDisplayProviderWatcher$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/media/RemoteDisplayProviderWatcher$2;-><init>(Lcom/android/server/media/RemoteDisplayProviderWatcher;)V
-PLcom/android/server/media/RemoteDisplayProviderWatcher$2;->run()V
-PLcom/android/server/media/RemoteDisplayProviderWatcher;-><init>(Landroid/content/Context;Lcom/android/server/media/RemoteDisplayProviderWatcher$Callback;Landroid/os/Handler;I)V
-PLcom/android/server/media/RemoteDisplayProviderWatcher;->access$000()Z
-PLcom/android/server/media/RemoteDisplayProviderWatcher;->access$100(Lcom/android/server/media/RemoteDisplayProviderWatcher;)V
-PLcom/android/server/media/RemoteDisplayProviderWatcher;->findProvider(Ljava/lang/String;Ljava/lang/String;)I
-PLcom/android/server/media/RemoteDisplayProviderWatcher;->hasCaptureVideoPermission(Ljava/lang/String;)Z
-PLcom/android/server/media/RemoteDisplayProviderWatcher;->scanPackages()V
-PLcom/android/server/media/RemoteDisplayProviderWatcher;->start()V
 PLcom/android/server/media/RemoteDisplayProviderWatcher;->verifyServiceTrusted(Landroid/content/pm/ServiceInfo;)Z
-PLcom/android/server/media/projection/MediaProjectionManagerService$1;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;Landroid/media/projection/IMediaProjectionWatcherCallback;)V
-PLcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;)V
-PLcom/android/server/media/projection/MediaProjectionManagerService$BinderService;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;Lcom/android/server/media/projection/MediaProjectionManagerService$1;)V
-PLcom/android/server/media/projection/MediaProjectionManagerService$BinderService;->addCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
-PLcom/android/server/media/projection/MediaProjectionManagerService$BinderService;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
-PLcom/android/server/media/projection/MediaProjectionManagerService$CallbackDelegate;-><init>()V
-PLcom/android/server/media/projection/MediaProjectionManagerService$CallbackDelegate;->add(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
-PLcom/android/server/media/projection/MediaProjectionManagerService$MediaRouterCallback;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;)V
-PLcom/android/server/media/projection/MediaProjectionManagerService$MediaRouterCallback;-><init>(Lcom/android/server/media/projection/MediaProjectionManagerService;Lcom/android/server/media/projection/MediaProjectionManagerService$1;)V
-PLcom/android/server/media/projection/MediaProjectionManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/media/projection/MediaProjectionManagerService;->access$400(Lcom/android/server/media/projection/MediaProjectionManagerService;)Landroid/content/Context;
-PLcom/android/server/media/projection/MediaProjectionManagerService;->access$600(Lcom/android/server/media/projection/MediaProjectionManagerService;)Landroid/media/projection/MediaProjectionInfo;
-PLcom/android/server/media/projection/MediaProjectionManagerService;->access$800(Lcom/android/server/media/projection/MediaProjectionManagerService;Landroid/media/projection/IMediaProjectionWatcherCallback;)V
-PLcom/android/server/media/projection/MediaProjectionManagerService;->addCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
-PLcom/android/server/media/projection/MediaProjectionManagerService;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
-PLcom/android/server/media/projection/MediaProjectionManagerService;->linkDeathRecipientLocked(Landroid/media/projection/IMediaProjectionWatcherCallback;Landroid/os/IBinder$DeathRecipient;)V
-PLcom/android/server/media/projection/MediaProjectionManagerService;->monitor()V
-PLcom/android/server/media/projection/MediaProjectionManagerService;->onStart()V
-PLcom/android/server/midi/MidiService$1;-><init>(Lcom/android/server/midi/MidiService;)V
 PLcom/android/server/midi/MidiService$1;->onPackageAdded(Ljava/lang/String;I)V
 PLcom/android/server/midi/MidiService$1;->onPackageModified(Ljava/lang/String;)V
-PLcom/android/server/midi/MidiService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/midi/MidiService$Lifecycle;->onStart()V
 PLcom/android/server/midi/MidiService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/midi/MidiService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/midi/MidiService;->access$000(Lcom/android/server/midi/MidiService;)V
-PLcom/android/server/midi/MidiService;->access$100(Lcom/android/server/midi/MidiService;Ljava/lang/String;)V
-PLcom/android/server/midi/MidiService;->access$200(Lcom/android/server/midi/MidiService;Ljava/lang/String;)V
 PLcom/android/server/midi/MidiService;->addPackageDeviceServer(Landroid/content/pm/ServiceInfo;)V
 PLcom/android/server/midi/MidiService;->addPackageDeviceServers(Ljava/lang/String;)V
 PLcom/android/server/midi/MidiService;->onUnlockUser()V
 PLcom/android/server/midi/MidiService;->removePackageDeviceServers(Ljava/lang/String;)V
-PLcom/android/server/net/-$$Lambda$NetworkPolicyManagerService$HDTUqowtgL-W_V0Kq6psXLWC9ws;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;Ljava/util/concurrent/CountDownLatch;)V
-PLcom/android/server/net/-$$Lambda$NetworkPolicyManagerService$HDTUqowtgL-W_V0Kq6psXLWC9ws;->run()V
-PLcom/android/server/net/DelayedDiskWrite;-><init>()V
-PLcom/android/server/net/IpConfigStore;-><init>()V
-PLcom/android/server/net/IpConfigStore;-><init>(Lcom/android/server/net/DelayedDiskWrite;)V
-PLcom/android/server/net/IpConfigStore;->loge(Ljava/lang/String;)V
-PLcom/android/server/net/IpConfigStore;->readIpConfigurations(Ljava/lang/String;)Landroid/util/ArrayMap;
-PLcom/android/server/net/LockdownVpnTracker;->isEnabled()Z
-PLcom/android/server/net/NetworkIdentitySet;-><init>()V
-PLcom/android/server/net/NetworkIdentitySet;-><init>(Ljava/io/DataInputStream;)V
-PLcom/android/server/net/NetworkIdentitySet;->readOptionalString(Ljava/io/DataInputStream;)Ljava/lang/String;
-PLcom/android/server/net/NetworkIdentitySet;->writeOptionalString(Ljava/io/DataOutputStream;Ljava/lang/String;)V
+PLcom/android/server/net/NetworkIdentitySet;->areAllMembersOnDefaultNetwork()Z
+PLcom/android/server/net/NetworkIdentitySet;->compareTo(Lcom/android/server/net/NetworkIdentitySet;)I
+PLcom/android/server/net/NetworkIdentitySet;->isAnyMemberMetered()Z
+PLcom/android/server/net/NetworkIdentitySet;->isAnyMemberRoaming()Z
 PLcom/android/server/net/NetworkIdentitySet;->writeToStream(Ljava/io/DataOutputStream;)V
-PLcom/android/server/net/NetworkPolicyLogger$Data;-><init>()V
-PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;-><init>(I)V
-PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->appIdleStateChanged(IZ)V
-PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->deviceIdleModeEnabled(Z)V
-PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->event(Ljava/lang/String;)V
-PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->firewallChainEnabled(IZ)V
-PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->meterednessChanged(IZ)V
-PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->paroleStateChanged(Z)V
-PLcom/android/server/net/NetworkPolicyLogger$LogBuffer;->tempPowerSaveWlChanged(IZ)V
-PLcom/android/server/net/NetworkPolicyLogger;-><init>()V
-PLcom/android/server/net/NetworkPolicyLogger;->appIdleStateChanged(IZ)V
+PLcom/android/server/net/NetworkPolicyLogger;->appIdleWlChanged(IZ)V
 PLcom/android/server/net/NetworkPolicyLogger;->deviceIdleModeEnabled(Z)V
-PLcom/android/server/net/NetworkPolicyLogger;->firewallChainEnabled(IZ)V
-PLcom/android/server/net/NetworkPolicyLogger;->firewallRulesChanged(I[I[I)V
-PLcom/android/server/net/NetworkPolicyLogger;->getFirewallChainName(I)Ljava/lang/String;
-PLcom/android/server/net/NetworkPolicyLogger;->meteredRestrictedPkgsChanged(Ljava/util/Set;)V
 PLcom/android/server/net/NetworkPolicyLogger;->meterednessChanged(IZ)V
-PLcom/android/server/net/NetworkPolicyLogger;->paroleStateChanged(Z)V
+PLcom/android/server/net/NetworkPolicyLogger;->networkBlocked(II)V
 PLcom/android/server/net/NetworkPolicyLogger;->tempPowerSaveWlChanged(IZ)V
-PLcom/android/server/net/NetworkPolicyLogger;->uidFirewallRuleChanged(III)V
-PLcom/android/server/net/NetworkPolicyManagerInternal;-><init>()V
-PLcom/android/server/net/NetworkPolicyManagerService$10;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
-PLcom/android/server/net/NetworkPolicyManagerService$11;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
-PLcom/android/server/net/NetworkPolicyManagerService$12;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
 PLcom/android/server/net/NetworkPolicyManagerService$12;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/net/NetworkPolicyManagerService$13;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
 PLcom/android/server/net/NetworkPolicyManagerService$13;->onCapabilitiesChanged(Landroid/net/Network;Landroid/net/NetworkCapabilities;)V
-PLcom/android/server/net/NetworkPolicyManagerService$14;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
 PLcom/android/server/net/NetworkPolicyManagerService$14;->limitReached(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/net/NetworkPolicyManagerService$15;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
 PLcom/android/server/net/NetworkPolicyManagerService$15;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/net/NetworkPolicyManagerService$16;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
 PLcom/android/server/net/NetworkPolicyManagerService$16;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/net/NetworkPolicyManagerService$17;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
-PLcom/android/server/net/NetworkPolicyManagerService$18;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
-PLcom/android/server/net/NetworkPolicyManagerService$1;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
-PLcom/android/server/net/NetworkPolicyManagerService$2;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
-PLcom/android/server/net/NetworkPolicyManagerService$3;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;Landroid/os/Looper;)V
+PLcom/android/server/net/NetworkPolicyManagerService$1;->getServiceType()I
+PLcom/android/server/net/NetworkPolicyManagerService$1;->onLowPowerModeChanged(Landroid/os/PowerSaveState;)V
+PLcom/android/server/net/NetworkPolicyManagerService$2;->getServiceType()I
+PLcom/android/server/net/NetworkPolicyManagerService$2;->onLowPowerModeChanged(Landroid/os/PowerSaveState;)V
 PLcom/android/server/net/NetworkPolicyManagerService$3;->onSubscriptionsChanged()V
-PLcom/android/server/net/NetworkPolicyManagerService$4;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
-PLcom/android/server/net/NetworkPolicyManagerService$4;->onUidGone(IZ)V
-PLcom/android/server/net/NetworkPolicyManagerService$5;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
-PLcom/android/server/net/NetworkPolicyManagerService$6;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
 PLcom/android/server/net/NetworkPolicyManagerService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/net/NetworkPolicyManagerService$7;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
-PLcom/android/server/net/NetworkPolicyManagerService$8;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
-PLcom/android/server/net/NetworkPolicyManagerService$9;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
-PLcom/android/server/net/NetworkPolicyManagerService$9;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/net/NetworkPolicyManagerService$AppIdleStateChangeListener;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
-PLcom/android/server/net/NetworkPolicyManagerService$AppIdleStateChangeListener;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService$1;)V
-PLcom/android/server/net/NetworkPolicyManagerService$AppIdleStateChangeListener;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
-PLcom/android/server/net/NetworkPolicyManagerService$AppIdleStateChangeListener;->onParoleStateChanged(Z)V
-PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;)V
-PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;-><init>(Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/net/NetworkPolicyManagerService$1;)V
+PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->getSubscriptionOpportunisticQuota(Landroid/net/Network;I)J
 PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->getSubscriptionPlan(Landroid/net/NetworkTemplate;)Landroid/telephony/SubscriptionPlan;
-PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->onAdminDataAvailable()V
+PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->isUidNetworkingBlocked(ILjava/lang/String;)Z
+PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->isUidRestrictedOnMeteredNetworks(I)Z
 PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->onTempPowerSaveWhitelistChange(IZ)V
-PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->setMeteredRestrictedPackagesAsync(Ljava/util/Set;I)V
-PLcom/android/server/net/NetworkPolicyManagerService;-><init>(Landroid/content/Context;Landroid/app/IActivityManager;Landroid/os/INetworkManagementService;)V
-PLcom/android/server/net/NetworkPolicyManagerService;-><init>(Landroid/content/Context;Landroid/app/IActivityManager;Landroid/os/INetworkManagementService;Landroid/content/pm/IPackageManager;Ljava/time/Clock;Ljava/io/File;Z)V
-PLcom/android/server/net/NetworkPolicyManagerService;->access$1100(Lcom/android/server/net/NetworkPolicyManagerService;)V
-PLcom/android/server/net/NetworkPolicyManagerService;->access$1200(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/content/Context;
-PLcom/android/server/net/NetworkPolicyManagerService;->access$1300(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/util/SparseBooleanArray;
-PLcom/android/server/net/NetworkPolicyManagerService;->access$1400(Landroid/util/SparseBooleanArray;ZLandroid/net/Network;)Z
-PLcom/android/server/net/NetworkPolicyManagerService;->access$1500(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/util/SparseBooleanArray;
-PLcom/android/server/net/NetworkPolicyManagerService;->access$1600(Lcom/android/server/net/NetworkPolicyManagerService;)Lcom/android/server/net/NetworkPolicyLogger;
-PLcom/android/server/net/NetworkPolicyManagerService;->access$1700(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/util/SparseArray;
-PLcom/android/server/net/NetworkPolicyManagerService;->access$1800(Lcom/android/server/net/NetworkPolicyManagerService;ILjava/lang/String;)Z
-PLcom/android/server/net/NetworkPolicyManagerService;->access$1900(Lcom/android/server/net/NetworkPolicyManagerService;ILjava/lang/String;)Z
-PLcom/android/server/net/NetworkPolicyManagerService;->access$2000(Lcom/android/server/net/NetworkPolicyManagerService;I)V
-PLcom/android/server/net/NetworkPolicyManagerService;->access$2300(Lcom/android/server/net/NetworkPolicyManagerService;Landroid/net/INetworkPolicyListener;[Ljava/lang/String;)V
-PLcom/android/server/net/NetworkPolicyManagerService;->access$2500(Lcom/android/server/net/NetworkPolicyManagerService;)Lcom/android/server/net/NetworkStatsManagerInternal;
-PLcom/android/server/net/NetworkPolicyManagerService;->access$3300(Lcom/android/server/net/NetworkPolicyManagerService;Ljava/util/Set;I)V
-PLcom/android/server/net/NetworkPolicyManagerService;->access$3400(Lcom/android/server/net/NetworkPolicyManagerService;Landroid/net/NetworkTemplate;Z)V
-PLcom/android/server/net/NetworkPolicyManagerService;->access$3700(Lcom/android/server/net/NetworkPolicyManagerService;)Landroid/util/SparseBooleanArray;
-PLcom/android/server/net/NetworkPolicyManagerService;->access$3800(Lcom/android/server/net/NetworkPolicyManagerService;I)V
-PLcom/android/server/net/NetworkPolicyManagerService;->access$400(Lcom/android/server/net/NetworkPolicyManagerService;)V
-PLcom/android/server/net/NetworkPolicyManagerService;->access$4000(Lcom/android/server/net/NetworkPolicyManagerService;I)Landroid/telephony/SubscriptionPlan;
-PLcom/android/server/net/NetworkPolicyManagerService;->access$4100(Lcom/android/server/net/NetworkPolicyManagerService;Landroid/net/NetworkTemplate;)I
-PLcom/android/server/net/NetworkPolicyManagerService;->access$4200(Lcom/android/server/net/NetworkPolicyManagerService;)Ljava/util/concurrent/CountDownLatch;
-PLcom/android/server/net/NetworkPolicyManagerService;->access$500()Z
-PLcom/android/server/net/NetworkPolicyManagerService;->access$600(Lcom/android/server/net/NetworkPolicyManagerService;I)V
-PLcom/android/server/net/NetworkPolicyManagerService;->addDefaultRestrictBackgroundWhitelistUidsUL()Z
-PLcom/android/server/net/NetworkPolicyManagerService;->addDefaultRestrictBackgroundWhitelistUidsUL(I)Z
-PLcom/android/server/net/NetworkPolicyManagerService;->bindConnectivityManager(Landroid/net/IConnectivityManager;)V
+PLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->setAppIdleWhitelist(IZ)V
+PLcom/android/server/net/NetworkPolicyManagerService;->collectIfaces(Landroid/util/ArraySet;Landroid/net/NetworkState;)V
 PLcom/android/server/net/NetworkPolicyManagerService;->defeatNullable([Landroid/net/NetworkState;)[Landroid/net/NetworkState;
 PLcom/android/server/net/NetworkPolicyManagerService;->dispatchMeteredIfacesChanged(Landroid/net/INetworkPolicyListener;[Ljava/lang/String;)V
-PLcom/android/server/net/NetworkPolicyManagerService;->enableFirewallChainUL(IZ)V
 PLcom/android/server/net/NetworkPolicyManagerService;->enforceSubscriptionPlanAccess(IILjava/lang/String;)V
 PLcom/android/server/net/NetworkPolicyManagerService;->ensureActiveMobilePolicyAL()V
 PLcom/android/server/net/NetworkPolicyManagerService;->ensureActiveMobilePolicyAL(ILjava/lang/String;)Z
-PLcom/android/server/net/NetworkPolicyManagerService;->findRelevantSubIdNL(Landroid/net/NetworkTemplate;)I
 PLcom/android/server/net/NetworkPolicyManagerService;->getBooleanDefeatingNullable(Landroid/os/PersistableBundle;Ljava/lang/String;Z)Z
 PLcom/android/server/net/NetworkPolicyManagerService;->getCycleDayFromCarrierConfig(Landroid/os/PersistableBundle;I)I
-PLcom/android/server/net/NetworkPolicyManagerService;->getDefaultClock()Ljava/time/Clock;
-PLcom/android/server/net/NetworkPolicyManagerService;->getDefaultSystemDir()Ljava/io/File;
 PLcom/android/server/net/NetworkPolicyManagerService;->getLimitBytesFromCarrierConfig(Landroid/os/PersistableBundle;J)J
 PLcom/android/server/net/NetworkPolicyManagerService;->getNetworkPolicies(Ljava/lang/String;)[Landroid/net/NetworkPolicy;
 PLcom/android/server/net/NetworkPolicyManagerService;->getNetworkTotalBytes(Landroid/net/NetworkTemplate;JJ)J
-PLcom/android/server/net/NetworkPolicyManagerService;->getPlatformDefaultLimitBytes()J
-PLcom/android/server/net/NetworkPolicyManagerService;->getPlatformDefaultWarningBytes()J
 PLcom/android/server/net/NetworkPolicyManagerService;->getPrimarySubscriptionPlanLocked(I)Landroid/telephony/SubscriptionPlan;
-PLcom/android/server/net/NetworkPolicyManagerService;->getRestrictBackground()Z
+PLcom/android/server/net/NetworkPolicyManagerService;->getRestrictBackgroundByCaller()I
 PLcom/android/server/net/NetworkPolicyManagerService;->getSubIdLocked(Landroid/net/Network;)I
 PLcom/android/server/net/NetworkPolicyManagerService;->getSubscriptionPlans(ILjava/lang/String;)[Landroid/telephony/SubscriptionPlan;
 PLcom/android/server/net/NetworkPolicyManagerService;->getTotalBytes(Landroid/net/NetworkTemplate;JJ)J
 PLcom/android/server/net/NetworkPolicyManagerService;->getUidPolicy(I)I
 PLcom/android/server/net/NetworkPolicyManagerService;->getWarningBytesFromCarrierConfig(Landroid/os/PersistableBundle;J)J
 PLcom/android/server/net/NetworkPolicyManagerService;->handleNetworkPoliciesUpdateAL(Z)V
-PLcom/android/server/net/NetworkPolicyManagerService;->handleRestrictedPackagesChangeUL(Ljava/util/Set;Ljava/util/Set;)V
-PLcom/android/server/net/NetworkPolicyManagerService;->handleUidGone(I)V
-PLcom/android/server/net/NetworkPolicyManagerService;->initService(Ljava/util/concurrent/CountDownLatch;)V
-PLcom/android/server/net/NetworkPolicyManagerService;->isBandwidthControlEnabled()Z
-PLcom/android/server/net/NetworkPolicyManagerService;->isRestrictedByAdminUL(I)Z
-PLcom/android/server/net/NetworkPolicyManagerService;->isUidForegroundOnRestrictBackgroundUL(I)Z
-PLcom/android/server/net/NetworkPolicyManagerService;->isUidValidForWhitelistRules(I)Z
-PLcom/android/server/net/NetworkPolicyManagerService;->lambda$networkScoreAndNetworkManagementServiceReady$0(Lcom/android/server/net/NetworkPolicyManagerService;Ljava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->isUidNetworkingBlockedInternal(IIZZLcom/android/server/net/NetworkPolicyLogger;)Z
 PLcom/android/server/net/NetworkPolicyManagerService;->maybeUpdateMobilePolicyCycleAL(ILjava/lang/String;)Z
-PLcom/android/server/net/NetworkPolicyManagerService;->networkScoreAndNetworkManagementServiceReady()Ljava/util/concurrent/CountDownLatch;
-PLcom/android/server/net/NetworkPolicyManagerService;->normalizePoliciesNL()V
 PLcom/android/server/net/NetworkPolicyManagerService;->normalizePoliciesNL([Landroid/net/NetworkPolicy;)V
 PLcom/android/server/net/NetworkPolicyManagerService;->notifyUnderLimitNL(Landroid/net/NetworkTemplate;)V
-PLcom/android/server/net/NetworkPolicyManagerService;->onTetheringChanged(Ljava/lang/String;Z)V
 PLcom/android/server/net/NetworkPolicyManagerService;->parseSubId(Landroid/net/NetworkState;)I
-PLcom/android/server/net/NetworkPolicyManagerService;->readPolicyAL()V
-PLcom/android/server/net/NetworkPolicyManagerService;->registerListener(Landroid/net/INetworkPolicyListener;)V
-PLcom/android/server/net/NetworkPolicyManagerService;->removeUidStateUL(I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->removeInterfaceQuota(Ljava/lang/String;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->removeInterfaceQuotaAsync(Ljava/lang/String;)V
+PLcom/android/server/net/NetworkPolicyManagerService;->setAppIdleWhitelist(IZ)V
 PLcom/android/server/net/NetworkPolicyManagerService;->setDeviceIdleMode(Z)V
+PLcom/android/server/net/NetworkPolicyManagerService;->setInterfaceQuota(Ljava/lang/String;J)V
+PLcom/android/server/net/NetworkPolicyManagerService;->setInterfaceQuotaAsync(Ljava/lang/String;J)V
 PLcom/android/server/net/NetworkPolicyManagerService;->setMeteredNetworkWhitelist(IZ)V
-PLcom/android/server/net/NetworkPolicyManagerService;->setMeteredRestrictedPackagesInternal(Ljava/util/Set;I)V
-PLcom/android/server/net/NetworkPolicyManagerService;->setNetworkTemplateEnabled(Landroid/net/NetworkTemplate;Z)V
-PLcom/android/server/net/NetworkPolicyManagerService;->setNetworkTemplateEnabledInner(Landroid/net/NetworkTemplate;Z)V
-PLcom/android/server/net/NetworkPolicyManagerService;->setRestrictBackgroundUL(Z)V
 PLcom/android/server/net/NetworkPolicyManagerService;->setSubscriptionPlans(I[Landroid/telephony/SubscriptionPlan;Ljava/lang/String;)V
-PLcom/android/server/net/NetworkPolicyManagerService;->setUidFirewallRule(III)V
-PLcom/android/server/net/NetworkPolicyManagerService;->setUidFirewallRulesUL(ILandroid/util/SparseIntArray;)V
-PLcom/android/server/net/NetworkPolicyManagerService;->setUidFirewallRulesUL(ILandroid/util/SparseIntArray;I)V
-PLcom/android/server/net/NetworkPolicyManagerService;->setUidPolicyUncheckedUL(IIZ)V
-PLcom/android/server/net/NetworkPolicyManagerService;->systemReady(Ljava/util/concurrent/CountDownLatch;)V
 PLcom/android/server/net/NetworkPolicyManagerService;->unregisterListener(Landroid/net/INetworkPolicyListener;)V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateCapabilityChange(Landroid/util/SparseBooleanArray;ZLandroid/net/Network;)Z
 PLcom/android/server/net/NetworkPolicyManagerService;->updateDefaultMobilePolicyAL(ILandroid/net/NetworkPolicy;)Z
-PLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkEnabledNL()V
 PLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkRulesNL()V
 PLcom/android/server/net/NetworkPolicyManagerService;->updateNetworksInternal()V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateNotificationsNL()V
-PLcom/android/server/net/NetworkPolicyManagerService;->updatePowerSaveWhitelistUL()V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateRestrictionRulesForUidUL(I)V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForAppIdleUL(I)V
+PLcom/android/server/net/NetworkPolicyManagerService;->updateRestrictBackgroundByLowPowerModeUL(Landroid/os/PowerSaveState;)V
 PLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForDeviceIdleUL(I)V
 PLcom/android/server/net/NetworkPolicyManagerService;->updateRuleForRestrictPowerUL(I)V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForAppIdleParoleUL()V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForAppIdleUL()V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDataUsageRestrictionsUL(I)V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDataUsageRestrictionsULInner(I)V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDeviceIdleUL()V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForGlobalChangeAL(Z)V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerSaveUL()V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForRestrictBackgroundUL()V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForRestrictPowerUL()V
 PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForTempWhitelistChangeUL(I)V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForWhitelistedAppIds(Landroid/util/SparseIntArray;Landroid/util/SparseBooleanArray;I)V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForWhitelistedPowerSaveUL(IZI)V
-PLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForWhitelistedPowerSaveUL(ZILandroid/util/SparseIntArray;)V
 PLcom/android/server/net/NetworkPolicyManagerService;->updateSubscriptions()V
 PLcom/android/server/net/NetworkPolicyManagerService;->upgradeWifiMeteredOverrideAL()V
-PLcom/android/server/net/NetworkPolicyManagerService;->waitForAdminData()V
-PLcom/android/server/net/NetworkPolicyManagerService;->writePolicyAL()V
 PLcom/android/server/net/NetworkStatsAccess;->checkAccessLevel(Landroid/content/Context;ILjava/lang/String;)I
 PLcom/android/server/net/NetworkStatsAccess;->hasAppOpsPermission(Landroid/content/Context;ILjava/lang/String;)Z
-PLcom/android/server/net/NetworkStatsCollection;-><init>(J)V
+PLcom/android/server/net/NetworkStatsAccess;->isAccessibleToUser(III)Z
+PLcom/android/server/net/NetworkStatsCollection$Key;->compareTo(Lcom/android/server/net/NetworkStatsCollection$Key;)I
+PLcom/android/server/net/NetworkStatsCollection$Key;->compareTo(Ljava/lang/Object;)I
+PLcom/android/server/net/NetworkStatsCollection;->dump(Lcom/android/internal/util/IndentingPrintWriter;)V
+PLcom/android/server/net/NetworkStatsCollection;->findOrCreateHistory(Lcom/android/server/net/NetworkIdentitySet;III)Landroid/net/NetworkStatsHistory;
 PLcom/android/server/net/NetworkStatsCollection;->getHistory(Landroid/net/NetworkTemplate;Landroid/telephony/SubscriptionPlan;IIIIJJII)Landroid/net/NetworkStatsHistory;
-PLcom/android/server/net/NetworkStatsCollection;->getTotalBytes()J
 PLcom/android/server/net/NetworkStatsCollection;->isDirty()Z
-PLcom/android/server/net/NetworkStatsCollection;->read(Ljava/io/InputStream;)V
-PLcom/android/server/net/NetworkStatsCollection;->recordCollection(Lcom/android/server/net/NetworkStatsCollection;)V
-PLcom/android/server/net/NetworkStatsCollection;->recordHistory(Lcom/android/server/net/NetworkStatsCollection$Key;Landroid/net/NetworkStatsHistory;)V
+PLcom/android/server/net/NetworkStatsCollection;->recordData(Lcom/android/server/net/NetworkIdentitySet;IIIJJLandroid/net/NetworkStats$Entry;)V
 PLcom/android/server/net/NetworkStatsCollection;->reset()V
-PLcom/android/server/net/NetworkStatsManagerInternal;-><init>()V
-PLcom/android/server/net/NetworkStatsObservers$1;-><init>(Lcom/android/server/net/NetworkStatsObservers;)V
-PLcom/android/server/net/NetworkStatsObservers$1;->handleMessage(Landroid/os/Message;)Z
-PLcom/android/server/net/NetworkStatsObservers$StatsContext;-><init>(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Landroid/util/ArrayMap;Landroid/util/ArrayMap;[Lcom/android/internal/net/VpnInfo;J)V
-PLcom/android/server/net/NetworkStatsObservers;-><init>()V
-PLcom/android/server/net/NetworkStatsObservers;->access$200(Lcom/android/server/net/NetworkStatsObservers;Lcom/android/server/net/NetworkStatsObservers$StatsContext;)V
-PLcom/android/server/net/NetworkStatsObservers;->getHandler()Landroid/os/Handler;
-PLcom/android/server/net/NetworkStatsObservers;->getHandlerLooperLocked()Landroid/os/Looper;
-PLcom/android/server/net/NetworkStatsObservers;->handleUpdateStats(Lcom/android/server/net/NetworkStatsObservers$StatsContext;)V
-PLcom/android/server/net/NetworkStatsObservers;->updateStats(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Landroid/util/ArrayMap;Landroid/util/ArrayMap;[Lcom/android/internal/net/VpnInfo;J)V
-PLcom/android/server/net/NetworkStatsRecorder$CombiningRewriter;-><init>(Lcom/android/server/net/NetworkStatsCollection;)V
+PLcom/android/server/net/NetworkStatsCollection;->templateMatches(Landroid/net/NetworkTemplate;Lcom/android/server/net/NetworkIdentitySet;)Z
+PLcom/android/server/net/NetworkStatsCollection;->write(Ljava/io/DataOutputStream;)V
+PLcom/android/server/net/NetworkStatsObservers$NetworkUsageRequestInfo;->checkStats()Z
+PLcom/android/server/net/NetworkStatsObservers$NetworkUsageRequestInfo;->recordSample(Lcom/android/server/net/NetworkStatsObservers$StatsContext;)V
+PLcom/android/server/net/NetworkStatsObservers$RequestInfo;-><init>(Lcom/android/server/net/NetworkStatsObservers;Landroid/net/DataUsageRequest;Landroid/os/Messenger;Landroid/os/IBinder;II)V
+PLcom/android/server/net/NetworkStatsObservers$RequestInfo;->callCallback(I)V
+PLcom/android/server/net/NetworkStatsObservers;->buildRequest(Landroid/net/DataUsageRequest;)Landroid/net/DataUsageRequest;
+PLcom/android/server/net/NetworkStatsObservers;->buildRequestInfo(Landroid/net/DataUsageRequest;Landroid/os/Messenger;Landroid/os/IBinder;II)Lcom/android/server/net/NetworkStatsObservers$RequestInfo;
+PLcom/android/server/net/NetworkStatsObservers;->handleUnregister(Landroid/net/DataUsageRequest;I)V
+PLcom/android/server/net/NetworkStatsObservers;->register(Landroid/net/DataUsageRequest;Landroid/os/Messenger;Landroid/os/IBinder;II)Landroid/net/DataUsageRequest;
+PLcom/android/server/net/NetworkStatsObservers;->unregister(Landroid/net/DataUsageRequest;I)V
 PLcom/android/server/net/NetworkStatsRecorder$CombiningRewriter;->read(Ljava/io/InputStream;)V
 PLcom/android/server/net/NetworkStatsRecorder$CombiningRewriter;->reset()V
 PLcom/android/server/net/NetworkStatsRecorder$CombiningRewriter;->shouldWrite()Z
 PLcom/android/server/net/NetworkStatsRecorder$CombiningRewriter;->write(Ljava/io/OutputStream;)V
-PLcom/android/server/net/NetworkStatsRecorder;-><init>(Lcom/android/internal/util/FileRotator;Landroid/net/NetworkStats$NonMonotonicObserver;Landroid/os/DropBoxManager;Ljava/lang/String;JZ)V
+PLcom/android/server/net/NetworkStatsRecorder;-><init>()V
+PLcom/android/server/net/NetworkStatsRecorder;->dumpLocked(Lcom/android/internal/util/IndentingPrintWriter;Z)V
 PLcom/android/server/net/NetworkStatsRecorder;->forcePersistLocked(J)V
-PLcom/android/server/net/NetworkStatsRecorder;->getOrLoadCompleteLocked()Lcom/android/server/net/NetworkStatsCollection;
-PLcom/android/server/net/NetworkStatsRecorder;->loadLocked(JJ)Lcom/android/server/net/NetworkStatsCollection;
-PLcom/android/server/net/NetworkStatsRecorder;->maybePersistLocked(J)V
-PLcom/android/server/net/NetworkStatsRecorder;->setPersistThreshold(J)V
-PLcom/android/server/net/NetworkStatsService$1;-><init>(Lcom/android/server/net/NetworkStatsService;ILjava/lang/String;I)V
+PLcom/android/server/net/NetworkStatsRecorder;->getSinceBoot()Lcom/android/server/net/NetworkStatsCollection;
 PLcom/android/server/net/NetworkStatsService$1;->close()V
+PLcom/android/server/net/NetworkStatsService$1;->getDeviceSummaryForNetwork(Landroid/net/NetworkTemplate;JJ)Landroid/net/NetworkStats;
 PLcom/android/server/net/NetworkStatsService$1;->getHistoryForNetwork(Landroid/net/NetworkTemplate;I)Landroid/net/NetworkStatsHistory;
+PLcom/android/server/net/NetworkStatsService$1;->getHistoryForUid(Landroid/net/NetworkTemplate;IIII)Landroid/net/NetworkStatsHistory;
+PLcom/android/server/net/NetworkStatsService$1;->getHistoryIntervalForUid(Landroid/net/NetworkTemplate;IIIIJJ)Landroid/net/NetworkStatsHistory;
 PLcom/android/server/net/NetworkStatsService$1;->getSummaryForAllUid(Landroid/net/NetworkTemplate;JJZ)Landroid/net/NetworkStats;
 PLcom/android/server/net/NetworkStatsService$1;->getUidComplete()Lcom/android/server/net/NetworkStatsCollection;
-PLcom/android/server/net/NetworkStatsService$2;-><init>(Lcom/android/server/net/NetworkStatsService;)V
-PLcom/android/server/net/NetworkStatsService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/net/NetworkStatsService$3;-><init>(Lcom/android/server/net/NetworkStatsService;)V
-PLcom/android/server/net/NetworkStatsService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/net/NetworkStatsService$4;-><init>(Lcom/android/server/net/NetworkStatsService;)V
-PLcom/android/server/net/NetworkStatsService$5;-><init>(Lcom/android/server/net/NetworkStatsService;)V
-PLcom/android/server/net/NetworkStatsService$6;-><init>(Lcom/android/server/net/NetworkStatsService;)V
-PLcom/android/server/net/NetworkStatsService$7;-><init>(Lcom/android/server/net/NetworkStatsService;)V
+PLcom/android/server/net/NetworkStatsService$1;->getUidTagComplete()Lcom/android/server/net/NetworkStatsCollection;
 PLcom/android/server/net/NetworkStatsService$7;->limitReached(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;-><init>(Landroid/content/Context;)V
 PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getAugmentEnabled()Z
-PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getDevConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
-PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getDevPersistBytes(J)J
-PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getGlobalAlertBytes(J)J
-PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getGlobalBoolean(Ljava/lang/String;Z)Z
-PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getGlobalLong(Ljava/lang/String;J)J
-PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getPollInterval()J
-PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getSampleEnabled()Z
-PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
-PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidPersistBytes(J)J
-PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidTagConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
-PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidTagPersistBytes(J)J
-PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getXtConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
-PLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getXtPersistBytes(J)J
-PLcom/android/server/net/NetworkStatsService$DropBoxNonMonotonicObserver;-><init>(Lcom/android/server/net/NetworkStatsService;)V
-PLcom/android/server/net/NetworkStatsService$DropBoxNonMonotonicObserver;-><init>(Lcom/android/server/net/NetworkStatsService;Lcom/android/server/net/NetworkStatsService$1;)V
-PLcom/android/server/net/NetworkStatsService$HandlerCallback;-><init>(Lcom/android/server/net/NetworkStatsService;)V
 PLcom/android/server/net/NetworkStatsService$HandlerCallback;->handleMessage(Landroid/os/Message;)Z
-PLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;-><init>(Lcom/android/server/net/NetworkStatsService;)V
-PLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;-><init>(Lcom/android/server/net/NetworkStatsService;Lcom/android/server/net/NetworkStatsService$1;)V
 PLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;->advisePersistThreshold(J)V
 PLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;->getNetworkTotalBytes(Landroid/net/NetworkTemplate;JJ)J
-PLcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;-><init>(JJJ)V
-PLcom/android/server/net/NetworkStatsService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/app/AlarmManager;Landroid/os/PowerManager$WakeLock;Ljava/time/Clock;Landroid/telephony/TelephonyManager;Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings;Lcom/android/server/net/NetworkStatsObservers;Ljava/io/File;Ljava/io/File;)V
-PLcom/android/server/net/NetworkStatsService;->access$1400(Lcom/android/server/net/NetworkStatsService;)Landroid/content/Context;
-PLcom/android/server/net/NetworkStatsService;->access$1500(Lcom/android/server/net/NetworkStatsService;)Landroid/os/Handler;
-PLcom/android/server/net/NetworkStatsService;->access$1600(Lcom/android/server/net/NetworkStatsService;Landroid/net/NetworkTemplate;JJ)J
-PLcom/android/server/net/NetworkStatsService;->access$1800(Lcom/android/server/net/NetworkStatsService;J)V
-PLcom/android/server/net/NetworkStatsService;->access$200(Lcom/android/server/net/NetworkStatsService;Ljava/lang/String;)I
-PLcom/android/server/net/NetworkStatsService;->access$300(Lcom/android/server/net/NetworkStatsService;)Ljava/lang/Object;
-PLcom/android/server/net/NetworkStatsService;->access$400(Lcom/android/server/net/NetworkStatsService;)Lcom/android/server/net/NetworkStatsRecorder;
-PLcom/android/server/net/NetworkStatsService;->access$700(Lcom/android/server/net/NetworkStatsService;Landroid/net/NetworkTemplate;IIII)Landroid/net/NetworkStatsHistory;
-PLcom/android/server/net/NetworkStatsService;->access$800(Lcom/android/server/net/NetworkStatsService;I)V
-PLcom/android/server/net/NetworkStatsService;->access$900(Lcom/android/server/net/NetworkStatsService;)V
 PLcom/android/server/net/NetworkStatsService;->advisePersistThreshold(J)V
 PLcom/android/server/net/NetworkStatsService;->assertBandwidthControlEnabled()V
 PLcom/android/server/net/NetworkStatsService;->assertSystemReady()V
-PLcom/android/server/net/NetworkStatsService;->bindConnectivityManager(Landroid/net/IConnectivityManager;)V
-PLcom/android/server/net/NetworkStatsService;->bootstrapStatsLocked()V
-PLcom/android/server/net/NetworkStatsService;->buildRecorder(Ljava/lang/String;Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;Z)Lcom/android/server/net/NetworkStatsRecorder;
-PLcom/android/server/net/NetworkStatsService;->checkAccessLevel(Ljava/lang/String;)I
-PLcom/android/server/net/NetworkStatsService;->create(Landroid/content/Context;Landroid/os/INetworkManagementService;)Lcom/android/server/net/NetworkStatsService;
-PLcom/android/server/net/NetworkStatsService;->findOrCreateNetworkIdentitySet(Landroid/util/ArrayMap;Ljava/lang/Object;)Lcom/android/server/net/NetworkIdentitySet;
+PLcom/android/server/net/NetworkStatsService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 PLcom/android/server/net/NetworkStatsService;->forceUpdateIfaces([Landroid/net/Network;)V
-PLcom/android/server/net/NetworkStatsService;->getDefaultBaseDir()Ljava/io/File;
-PLcom/android/server/net/NetworkStatsService;->getDefaultClock()Ljava/time/Clock;
-PLcom/android/server/net/NetworkStatsService;->getDefaultSystemDir()Ljava/io/File;
+PLcom/android/server/net/NetworkStatsService;->getDetailedUidStats([Ljava/lang/String;)Landroid/net/NetworkStats;
+PLcom/android/server/net/NetworkStatsService;->getIfaceStats(Ljava/lang/String;I)J
 PLcom/android/server/net/NetworkStatsService;->getMobileIfaces()[Ljava/lang/String;
-PLcom/android/server/net/NetworkStatsService;->getNetworkStatsTethering(I)Landroid/net/NetworkStats;
-PLcom/android/server/net/NetworkStatsService;->getNetworkStatsUidDetail([Ljava/lang/String;)Landroid/net/NetworkStats;
-PLcom/android/server/net/NetworkStatsService;->getNetworkStatsXt()Landroid/net/NetworkStats;
-PLcom/android/server/net/NetworkStatsService;->getNetworkTotalBytes(Landroid/net/NetworkTemplate;JJ)J
+PLcom/android/server/net/NetworkStatsService;->getTetherStats(Ljava/lang/String;I)J
 PLcom/android/server/net/NetworkStatsService;->getTotalStats(I)J
+PLcom/android/server/net/NetworkStatsService;->getUidStats(II)J
 PLcom/android/server/net/NetworkStatsService;->incrementOperationCount(III)V
 PLcom/android/server/net/NetworkStatsService;->internalGetHistoryForNetwork(Landroid/net/NetworkTemplate;IIII)Landroid/net/NetworkStatsHistory;
 PLcom/android/server/net/NetworkStatsService;->internalGetSummaryForNetwork(Landroid/net/NetworkTemplate;IJJII)Landroid/net/NetworkStats;
 PLcom/android/server/net/NetworkStatsService;->isRateLimitedForPoll(I)Z
-PLcom/android/server/net/NetworkStatsService;->maybeUpgradeLegacyStatsLocked()V
 PLcom/android/server/net/NetworkStatsService;->openSession()Landroid/net/INetworkStatsSession;
 PLcom/android/server/net/NetworkStatsService;->openSessionForUsageStats(ILjava/lang/String;)Landroid/net/INetworkStatsSession;
 PLcom/android/server/net/NetworkStatsService;->openSessionInternal(ILjava/lang/String;)Landroid/net/INetworkStatsSession;
-PLcom/android/server/net/NetworkStatsService;->performPoll(I)V
-PLcom/android/server/net/NetworkStatsService;->performPollLocked(I)V
-PLcom/android/server/net/NetworkStatsService;->performSampleLocked()V
-PLcom/android/server/net/NetworkStatsService;->recordSnapshotLocked(J)V
-PLcom/android/server/net/NetworkStatsService;->registerGlobalAlert()V
-PLcom/android/server/net/NetworkStatsService;->registerPollAlarmLocked()V
-PLcom/android/server/net/NetworkStatsService;->setHandler(Landroid/os/Handler;Landroid/os/Handler$Callback;)V
-PLcom/android/server/net/NetworkStatsService;->systemReady()V
+PLcom/android/server/net/NetworkStatsService;->registerUsageCallback(Ljava/lang/String;Landroid/net/DataUsageRequest;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/DataUsageRequest;
+PLcom/android/server/net/NetworkStatsService;->resolveSubscriptionPlan(Landroid/net/NetworkTemplate;I)Landroid/telephony/SubscriptionPlan;
+PLcom/android/server/net/NetworkStatsService;->unregisterUsageRequest(Landroid/net/DataUsageRequest;)V
 PLcom/android/server/net/NetworkStatsService;->updateIfaces([Landroid/net/Network;)V
 PLcom/android/server/net/NetworkStatsService;->updateIfacesLocked([Landroid/net/Network;)V
-PLcom/android/server/net/NetworkStatsService;->updatePersistThresholdsLocked()V
-PLcom/android/server/net/watchlist/-$$Lambda$WatchlistLoggingHandler$GBD0dX6RhipHIkM0Z_B5jLlwfHQ;-><init>(Lcom/android/server/net/watchlist/WatchlistLoggingHandler;I)V
-PLcom/android/server/net/watchlist/-$$Lambda$WatchlistLoggingHandler$GBD0dX6RhipHIkM0Z_B5jLlwfHQ;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/net/watchlist/DigestUtils;->getSha256Hash(Ljava/io/File;)[B
-PLcom/android/server/net/watchlist/HarmfulDigests;-><init>(Ljava/util/List;)V
-PLcom/android/server/net/watchlist/NetworkWatchlistService$1;-><init>(Lcom/android/server/net/watchlist/NetworkWatchlistService;)V
+PLcom/android/server/net/watchlist/HarmfulDigests;->contains([B)Z
 PLcom/android/server/net/watchlist/NetworkWatchlistService$1;->onConnectEvent(Ljava/lang/String;IJI)V
-PLcom/android/server/net/watchlist/NetworkWatchlistService$1;->onDnsEvent(Ljava/lang/String;[Ljava/lang/String;IJI)V
-PLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;->onBootPhase(I)V
-PLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;->onStart()V
-PLcom/android/server/net/watchlist/NetworkWatchlistService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/net/watchlist/NetworkWatchlistService;->access$100(Lcom/android/server/net/watchlist/NetworkWatchlistService;)V
-PLcom/android/server/net/watchlist/NetworkWatchlistService;->access$200(Lcom/android/server/net/watchlist/NetworkWatchlistService;)V
-PLcom/android/server/net/watchlist/NetworkWatchlistService;->access$300(Lcom/android/server/net/watchlist/NetworkWatchlistService;)Z
-PLcom/android/server/net/watchlist/NetworkWatchlistService;->enforceWatchlistLoggingPermission()V
-PLcom/android/server/net/watchlist/NetworkWatchlistService;->init()V
-PLcom/android/server/net/watchlist/NetworkWatchlistService;->initIpConnectivityMetrics()V
-PLcom/android/server/net/watchlist/NetworkWatchlistService;->reloadWatchlist()V
+PLcom/android/server/net/watchlist/NetworkWatchlistService$1;->onDnsEvent(IIILjava/lang/String;[Ljava/lang/String;IJI)V
 PLcom/android/server/net/watchlist/NetworkWatchlistService;->reportWatchlistIfNecessary()V
-PLcom/android/server/net/watchlist/NetworkWatchlistService;->startWatchlistLogging()Z
-PLcom/android/server/net/watchlist/NetworkWatchlistService;->startWatchlistLoggingImpl()Z
 PLcom/android/server/net/watchlist/PrivacyUtils;->createDpEncodedReportMap(Z[BLjava/util/List;Lcom/android/server/net/watchlist/WatchlistReportDbHelper$AggregatedResult;)Ljava/util/Map;
 PLcom/android/server/net/watchlist/PrivacyUtils;->createLongitudinalReportingConfig(Ljava/lang/String;)Landroid/privacy/internal/longitudinalreporting/LongitudinalReportingConfig;
-PLcom/android/server/net/watchlist/PrivacyUtils;->createSecureDPEncoder([BLjava/lang/String;)Landroid/privacy/DifferentialPrivacyEncoder;
-PLcom/android/server/net/watchlist/ReportEncoder;->encodeWatchlistReport(Lcom/android/server/net/watchlist/WatchlistConfig;[BLjava/util/List;Lcom/android/server/net/watchlist/WatchlistReportDbHelper$AggregatedResult;)[B
 PLcom/android/server/net/watchlist/ReportEncoder;->serializeReport(Lcom/android/server/net/watchlist/WatchlistConfig;Ljava/util/Map;)[B
 PLcom/android/server/net/watchlist/ReportWatchlistJobService;-><init>()V
 PLcom/android/server/net/watchlist/ReportWatchlistJobService;->onStartJob(Landroid/app/job/JobParameters;)Z
-PLcom/android/server/net/watchlist/ReportWatchlistJobService;->schedule(Landroid/content/Context;)V
-PLcom/android/server/net/watchlist/WatchlistConfig$CrcShaDigests;-><init>(Lcom/android/server/net/watchlist/HarmfulDigests;Lcom/android/server/net/watchlist/HarmfulDigests;)V
-PLcom/android/server/net/watchlist/WatchlistConfig;-><init>()V
-PLcom/android/server/net/watchlist/WatchlistConfig;-><init>(Ljava/io/File;)V
 PLcom/android/server/net/watchlist/WatchlistConfig;->containsDomain(Ljava/lang/String;)Z
-PLcom/android/server/net/watchlist/WatchlistConfig;->getInstance()Lcom/android/server/net/watchlist/WatchlistConfig;
-PLcom/android/server/net/watchlist/WatchlistConfig;->getSha256(Ljava/lang/String;)[B
+PLcom/android/server/net/watchlist/WatchlistConfig;->containsIp(Ljava/lang/String;)Z
+PLcom/android/server/net/watchlist/WatchlistConfig;->getCrc32(Ljava/lang/String;)[B
 PLcom/android/server/net/watchlist/WatchlistConfig;->getWatchlistConfigHash()[B
 PLcom/android/server/net/watchlist/WatchlistConfig;->isConfigSecure()Z
-PLcom/android/server/net/watchlist/WatchlistConfig;->parseHashes(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/util/List;)V
-PLcom/android/server/net/watchlist/WatchlistConfig;->reloadConfig()V
-PLcom/android/server/net/watchlist/WatchlistConfig;->removeTestModeConfig()V
-PLcom/android/server/net/watchlist/WatchlistLoggingHandler;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getAllDigestsForReport(Lcom/android/server/net/watchlist/WatchlistReportDbHelper$AggregatedResult;)Ljava/util/List;
+PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->asyncNetworkEvent(Ljava/lang/String;[Ljava/lang/String;I)V
 PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getAllSubDomains(Ljava/lang/String;)[Ljava/lang/String;
-PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getDigestFromUid(I)[B
-PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getLastMidnightTime()J
-PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getMidnightTimestamp(I)J
-PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getPrimaryUserId()I
-PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->handleNetworkEvent(Ljava/lang/String;[Ljava/lang/String;IJ)V
-PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->insertRecord(ILjava/lang/String;J)Z
-PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->isHostInWatchlist(Ljava/lang/String;)Z
-PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->lambda$getDigestFromUid$0(Lcom/android/server/net/watchlist/WatchlistLoggingHandler;ILjava/lang/Integer;)[B
-PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->reportWatchlistIfNecessary()V
-PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->shouldReportNetworkWatchlist(J)Z
-PLcom/android/server/net/watchlist/WatchlistLoggingHandler;->tryAggregateRecords(J)V
-PLcom/android/server/net/watchlist/WatchlistReportDbHelper$AggregatedResult;-><init>(Ljava/util/Set;Ljava/lang/String;Ljava/util/HashMap;)V
-PLcom/android/server/net/watchlist/WatchlistReportDbHelper;-><init>(Landroid/content/Context;)V
-PLcom/android/server/net/watchlist/WatchlistReportDbHelper;->cleanup(J)Z
-PLcom/android/server/net/watchlist/WatchlistReportDbHelper;->getAggregatedRecords(J)Lcom/android/server/net/watchlist/WatchlistReportDbHelper$AggregatedResult;
-PLcom/android/server/net/watchlist/WatchlistReportDbHelper;->getInstance(Landroid/content/Context;)Lcom/android/server/net/watchlist/WatchlistReportDbHelper;
-PLcom/android/server/net/watchlist/WatchlistReportDbHelper;->getSystemWatchlistDbFile()Ljava/io/File;
-PLcom/android/server/net/watchlist/WatchlistReportDbHelper;->insertNewRecord([BLjava/lang/String;J)Z
-PLcom/android/server/net/watchlist/WatchlistSettings;-><init>()V
-PLcom/android/server/net/watchlist/WatchlistSettings;-><init>(Ljava/io/File;)V
-PLcom/android/server/net/watchlist/WatchlistSettings;->getInstance()Lcom/android/server/net/watchlist/WatchlistSettings;
 PLcom/android/server/net/watchlist/WatchlistSettings;->getPrivacySecretKey()[B
-PLcom/android/server/net/watchlist/WatchlistSettings;->getSystemWatchlistFile()Ljava/io/File;
-PLcom/android/server/net/watchlist/WatchlistSettings;->parseSecretKey(Lorg/xmlpull/v1/XmlPullParser;)[B
-PLcom/android/server/net/watchlist/WatchlistSettings;->reloadSettings()V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$15$wXaTmmz_lG6grUqU8upk0686eXA;-><init>(II)V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$15$wXaTmmz_lG6grUqU8upk0686eXA;->apply(I)Z
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$E8qsF-PrFYYUtUGked50-pRub20;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$E8qsF-PrFYYUtUGked50-pRub20;->run()V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$ZpwYxOiDD13VBHvGZVH3p7iGkFI;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$ZpwYxOiDD13VBHvGZVH3p7iGkFI;->run()V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$Zsu32u2gOsCsEatsnnXTLoY37u0;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$Zsu32u2gOsCsEatsnnXTLoY37u0;->run()V
-PLcom/android/server/notification/-$$Lambda$NotificationRecord$XgkrZGcjOHPHem34oE9qLGy3siA;-><init>(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$11$zVdn9N0ybkMxz8xM8Qa1AXowlic;->run()V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$14$hWnH6mjUAxwVmpU3QRoPHh5_FyI;->apply(I)Z
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$9w6AHlBdw5iqUuefzw5prTMG5fg;-><init>(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/CharSequence;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$9w6AHlBdw5iqUuefzw5prTMG5fg;->runOrThrow()V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$03ForXNcU0L8j72c6kqcuawuSgg;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$8526LUpwQ8eBesZREQSLe_J-CfQ;->run()V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$FeL2M_vNfZUM3ReF-ma0lRPyBKs;->run()V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$cPE_ZmWqkchox5ocNJyIa3vlbAU;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$yo8elBmcIwdMbMVaigHxvG4j5zc;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationAssistants$yzxmk-scq72eWJGdHVo6qLs876g;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$3bretMyG2YyNFKU5plLQgmxuGr0;->run()V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$Srt8NNqA1xJUAp_7nDU6CBZJm_0;->run()V
+PLcom/android/server/notification/-$$Lambda$NotificationManagerService$j4BPSChjnlmaf86eJ3K-gjNHWGc;->run()V
 PLcom/android/server/notification/-$$Lambda$NotificationRecord$XgkrZGcjOHPHem34oE9qLGy3siA;->accept(Ljava/lang/Object;)V
-PLcom/android/server/notification/-$$Lambda$ouaYRM5YVYoMkUW8dm6TnIjLfgg;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/-$$Lambda$ouaYRM5YVYoMkUW8dm6TnIjLfgg;->test(Ljava/lang/Object;)Z
-PLcom/android/server/notification/AlertRateLimiter;-><init>()V
 PLcom/android/server/notification/AlertRateLimiter;->shouldRateLimitAlert(J)Z
-PLcom/android/server/notification/BadgeExtractor;-><init>()V
-PLcom/android/server/notification/BadgeExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-PLcom/android/server/notification/BadgeExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-PLcom/android/server/notification/BadgeExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-PLcom/android/server/notification/CalendarTracker$1;-><init>(Lcom/android/server/notification/CalendarTracker;Landroid/os/Handler;)V
+PLcom/android/server/notification/BadgeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/BubbleExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
 PLcom/android/server/notification/CalendarTracker$1;->onChange(ZLandroid/net/Uri;)V
-PLcom/android/server/notification/CalendarTracker$CheckEventResult;-><init>()V
-PLcom/android/server/notification/CalendarTracker;-><init>(Landroid/content/Context;Landroid/content/Context;)V
-PLcom/android/server/notification/CalendarTracker;->access$000()Z
-PLcom/android/server/notification/CalendarTracker;->access$200(Lcom/android/server/notification/CalendarTracker;)Lcom/android/server/notification/CalendarTracker$Callback;
-PLcom/android/server/notification/CalendarTracker;->checkEvent(Landroid/service/notification/ZenModeConfig$EventInfo;J)Lcom/android/server/notification/CalendarTracker$CheckEventResult;
-PLcom/android/server/notification/CalendarTracker;->getPrimaryCalendars()Landroid/util/ArraySet;
 PLcom/android/server/notification/CalendarTracker;->meetsAttendee(Landroid/service/notification/ZenModeConfig$EventInfo;ILjava/lang/String;)Z
-PLcom/android/server/notification/CalendarTracker;->meetsReply(II)Z
-PLcom/android/server/notification/CalendarTracker;->setCallback(Lcom/android/server/notification/CalendarTracker$Callback;)V
-PLcom/android/server/notification/CalendarTracker;->setRegistered(Z)V
-PLcom/android/server/notification/ConditionProviders$ConditionRecord;-><init>(Landroid/net/Uri;Landroid/content/ComponentName;)V
-PLcom/android/server/notification/ConditionProviders$ConditionRecord;-><init>(Landroid/net/Uri;Landroid/content/ComponentName;Lcom/android/server/notification/ConditionProviders$1;)V
-PLcom/android/server/notification/ConditionProviders;-><init>(Landroid/content/Context;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;)V
-PLcom/android/server/notification/ConditionProviders;->addSystemProvider(Lcom/android/server/notification/SystemConditionProviderService;)V
 PLcom/android/server/notification/ConditionProviders;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
-PLcom/android/server/notification/ConditionProviders;->checkServiceToken(Landroid/service/notification/IConditionProvider;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
-PLcom/android/server/notification/ConditionProviders;->ensureRecordExists(Landroid/content/ComponentName;Landroid/net/Uri;Landroid/service/notification/IConditionProvider;)V
-PLcom/android/server/notification/ConditionProviders;->getConfig()Lcom/android/server/notification/ManagedServices$Config;
-PLcom/android/server/notification/ConditionProviders;->getRecordLocked(Landroid/net/Uri;Landroid/content/ComponentName;Z)Lcom/android/server/notification/ConditionProviders$ConditionRecord;
-PLcom/android/server/notification/ConditionProviders;->getSystemProviders()Ljava/lang/Iterable;
-PLcom/android/server/notification/ConditionProviders;->isSystemProviderEnabled(Ljava/lang/String;)Z
 PLcom/android/server/notification/ConditionProviders;->isValidEntry(Ljava/lang/String;I)Z
-PLcom/android/server/notification/ConditionProviders;->notifyConditions(Ljava/lang/String;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;[Landroid/service/notification/Condition;)V
-PLcom/android/server/notification/ConditionProviders;->onBootPhaseAppsCanStart()V
 PLcom/android/server/notification/ConditionProviders;->onPackagesChanged(Z[Ljava/lang/String;[I)V
-PLcom/android/server/notification/ConditionProviders;->onServiceAdded(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
 PLcom/android/server/notification/ConditionProviders;->onServiceRemovedLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
-PLcom/android/server/notification/ConditionProviders;->onUserSwitched(I)V
-PLcom/android/server/notification/ConditionProviders;->provider(Lcom/android/server/notification/ConditionProviders$ConditionRecord;)Landroid/service/notification/IConditionProvider;
-PLcom/android/server/notification/ConditionProviders;->provider(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/IConditionProvider;
-PLcom/android/server/notification/ConditionProviders;->removeDuplicateConditions(Ljava/lang/String;[Landroid/service/notification/Condition;)[Landroid/service/notification/Condition;
-PLcom/android/server/notification/ConditionProviders;->safeSet([Ljava/lang/Object;)Landroid/util/ArraySet;
-PLcom/android/server/notification/ConditionProviders;->setCallback(Lcom/android/server/notification/ConditionProviders$Callback;)V
-PLcom/android/server/notification/ConditionProviders;->subscribeIfNecessary(Landroid/content/ComponentName;Landroid/net/Uri;)Z
-PLcom/android/server/notification/ConditionProviders;->subscribeLocked(Lcom/android/server/notification/ConditionProviders$ConditionRecord;)V
-PLcom/android/server/notification/CountdownConditionProvider$Receiver;-><init>(Lcom/android/server/notification/CountdownConditionProvider;)V
-PLcom/android/server/notification/CountdownConditionProvider$Receiver;-><init>(Lcom/android/server/notification/CountdownConditionProvider;Lcom/android/server/notification/CountdownConditionProvider$1;)V
-PLcom/android/server/notification/CountdownConditionProvider;-><init>()V
-PLcom/android/server/notification/CountdownConditionProvider;->asInterface()Landroid/service/notification/IConditionProvider;
-PLcom/android/server/notification/CountdownConditionProvider;->attachBase(Landroid/content/Context;)V
-PLcom/android/server/notification/CountdownConditionProvider;->getComponent()Landroid/content/ComponentName;
-PLcom/android/server/notification/CountdownConditionProvider;->isValidConditionId(Landroid/net/Uri;)Z
-PLcom/android/server/notification/CountdownConditionProvider;->onBootComplete()V
-PLcom/android/server/notification/CountdownConditionProvider;->onConnected()V
-PLcom/android/server/notification/EventConditionProvider$1;-><init>(Lcom/android/server/notification/EventConditionProvider;)V
-PLcom/android/server/notification/EventConditionProvider$2;-><init>(Lcom/android/server/notification/EventConditionProvider;)V
+PLcom/android/server/notification/CriticalNotificationExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
 PLcom/android/server/notification/EventConditionProvider$2;->onChanged()V
-PLcom/android/server/notification/EventConditionProvider$3;-><init>(Lcom/android/server/notification/EventConditionProvider;)V
-PLcom/android/server/notification/EventConditionProvider$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/notification/EventConditionProvider$4;-><init>(Lcom/android/server/notification/EventConditionProvider;)V
-PLcom/android/server/notification/EventConditionProvider$4;->run()V
-PLcom/android/server/notification/EventConditionProvider;-><init>()V
-PLcom/android/server/notification/EventConditionProvider;->access$100()Z
-PLcom/android/server/notification/EventConditionProvider;->access$200(Lcom/android/server/notification/EventConditionProvider;)Ljava/lang/Runnable;
-PLcom/android/server/notification/EventConditionProvider;->access$300(Lcom/android/server/notification/EventConditionProvider;)Landroid/os/Handler;
-PLcom/android/server/notification/EventConditionProvider;->access$400(Lcom/android/server/notification/EventConditionProvider;)V
-PLcom/android/server/notification/EventConditionProvider;->access$500(Lcom/android/server/notification/EventConditionProvider;)V
-PLcom/android/server/notification/EventConditionProvider;->asInterface()Landroid/service/notification/IConditionProvider;
-PLcom/android/server/notification/EventConditionProvider;->attachBase(Landroid/content/Context;)V
-PLcom/android/server/notification/EventConditionProvider;->createCondition(Landroid/net/Uri;I)Landroid/service/notification/Condition;
-PLcom/android/server/notification/EventConditionProvider;->evaluateSubscriptions()V
-PLcom/android/server/notification/EventConditionProvider;->evaluateSubscriptionsW()V
-PLcom/android/server/notification/EventConditionProvider;->getComponent()Landroid/content/ComponentName;
-PLcom/android/server/notification/EventConditionProvider;->isValidConditionId(Landroid/net/Uri;)Z
-PLcom/android/server/notification/EventConditionProvider;->onBootComplete()V
-PLcom/android/server/notification/EventConditionProvider;->onConnected()V
-PLcom/android/server/notification/EventConditionProvider;->onSubscribe(Landroid/net/Uri;)V
-PLcom/android/server/notification/EventConditionProvider;->reloadTrackers()V
-PLcom/android/server/notification/EventConditionProvider;->rescheduleAlarm(JJ)V
-PLcom/android/server/notification/EventConditionProvider;->setRegistered(Z)V
-PLcom/android/server/notification/GlobalSortKeyComparator;-><init>()V
-PLcom/android/server/notification/GroupHelper;-><init>(Lcom/android/server/notification/GroupHelper$Callback;)V
-PLcom/android/server/notification/GroupHelper;->adjustAutogroupingSummary(ILjava/lang/String;Ljava/lang/String;Z)V
+PLcom/android/server/notification/GlobalSortKeyComparator;->compare(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)I
+PLcom/android/server/notification/GlobalSortKeyComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/notification/GroupHelper;->adjustNotificationBundling(Ljava/util/List;Z)V
 PLcom/android/server/notification/GroupHelper;->maybeUngroup(Landroid/service/notification/StatusBarNotification;ZI)V
 PLcom/android/server/notification/GroupHelper;->onNotificationPosted(Landroid/service/notification/StatusBarNotification;Z)V
 PLcom/android/server/notification/GroupHelper;->onNotificationRemoved(Landroid/service/notification/StatusBarNotification;)V
-PLcom/android/server/notification/ImportanceExtractor;-><init>()V
-PLcom/android/server/notification/ImportanceExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-PLcom/android/server/notification/ImportanceExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-PLcom/android/server/notification/ImportanceExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-PLcom/android/server/notification/ManagedServices$1;-><init>(Lcom/android/server/notification/ManagedServices;Ljava/lang/String;IZI)V
-PLcom/android/server/notification/ManagedServices$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/notification/ImportanceExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/ManagedServices$1$1;->run()V
+PLcom/android/server/notification/ManagedServices$1;->onBindingDied(Landroid/content/ComponentName;)V
 PLcom/android/server/notification/ManagedServices$1;->onServiceDisconnected(Landroid/content/ComponentName;)V
-PLcom/android/server/notification/ManagedServices$Config;-><init>()V
-PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;-><init>(Lcom/android/server/notification/ManagedServices;Landroid/os/IInterface;Landroid/content/ComponentName;IZLandroid/content/ServiceConnection;I)V
 PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->binderDied()V
 PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->getOwner()Lcom/android/server/notification/ManagedServices;
+PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->hashCode()I
 PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isGuest(Lcom/android/server/notification/ManagedServices;)Z
-PLcom/android/server/notification/ManagedServices$UserProfiles;-><init>()V
-PLcom/android/server/notification/ManagedServices$UserProfiles;->getCurrentProfileIds()[I
+PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isPermittedForProfile(I)Z
+PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isSameUser(I)Z
+PLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->supportsProfiles()Z
 PLcom/android/server/notification/ManagedServices$UserProfiles;->isCurrentProfile(I)Z
-PLcom/android/server/notification/ManagedServices$UserProfiles;->updateCache(Landroid/content/Context;)V
-PLcom/android/server/notification/ManagedServices;-><init>(Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;)V
-PLcom/android/server/notification/ManagedServices;->access$000(Lcom/android/server/notification/ManagedServices;)Landroid/util/ArraySet;
-PLcom/android/server/notification/ManagedServices;->access$100(Lcom/android/server/notification/ManagedServices;)Ljava/util/ArrayList;
-PLcom/android/server/notification/ManagedServices;->access$200(Lcom/android/server/notification/ManagedServices;Landroid/os/IInterface;Landroid/content/ComponentName;IZLandroid/content/ServiceConnection;I)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
-PLcom/android/server/notification/ManagedServices;->access$300(Lcom/android/server/notification/ManagedServices;)Ljava/util/ArrayList;
-PLcom/android/server/notification/ManagedServices;->access$400(Lcom/android/server/notification/ManagedServices;)Ljava/lang/String;
-PLcom/android/server/notification/ManagedServices;->access$800(Lcom/android/server/notification/ManagedServices;Landroid/os/IInterface;I)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
-PLcom/android/server/notification/ManagedServices;->addApprovedList(Ljava/lang/String;IZ)V
-PLcom/android/server/notification/ManagedServices;->checkNotNull(Landroid/os/IInterface;)V
-PLcom/android/server/notification/ManagedServices;->checkServiceTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
-PLcom/android/server/notification/ManagedServices;->getAllowedPackages(I)Ljava/util/List;
-PLcom/android/server/notification/ManagedServices;->getApprovedValue(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/notification/ManagedServices;->getCaption()Ljava/lang/String;
-PLcom/android/server/notification/ManagedServices;->getPackageName(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/notification/ManagedServices;->getServiceFromTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
-PLcom/android/server/notification/ManagedServices;->getServices()Ljava/util/List;
-PLcom/android/server/notification/ManagedServices;->hasMatchingServices(Ljava/lang/String;I)Z
 PLcom/android/server/notification/ManagedServices;->isComponentEnabledForCurrentProfiles(Landroid/content/ComponentName;)Z
-PLcom/android/server/notification/ManagedServices;->isPackageOrComponentAllowed(Ljava/lang/String;I)Z
+PLcom/android/server/notification/ManagedServices;->isComponentEnabledForPackage(Ljava/lang/String;)Z
+PLcom/android/server/notification/ManagedServices;->isPackageAllowed(Ljava/lang/String;I)Z
+PLcom/android/server/notification/ManagedServices;->isSameUser(Landroid/os/IInterface;I)Z
 PLcom/android/server/notification/ManagedServices;->isServiceTokenValidLocked(Landroid/os/IInterface;)Z
 PLcom/android/server/notification/ManagedServices;->isValidEntry(Ljava/lang/String;I)Z
-PLcom/android/server/notification/ManagedServices;->loadComponentNamesFromValues(Landroid/util/ArraySet;I)Landroid/util/ArraySet;
-PLcom/android/server/notification/ManagedServices;->newServiceInfo(Landroid/os/IInterface;Landroid/content/ComponentName;IZLandroid/content/ServiceConnection;I)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
-PLcom/android/server/notification/ManagedServices;->onBootPhaseAppsCanStart()V
 PLcom/android/server/notification/ManagedServices;->onPackagesChanged(Z[Ljava/lang/String;[I)V
-PLcom/android/server/notification/ManagedServices;->onUserSwitched(I)V
 PLcom/android/server/notification/ManagedServices;->onUserUnlocked(I)V
-PLcom/android/server/notification/ManagedServices;->queryPackageForServices(Ljava/lang/String;I)Ljava/util/Set;
-PLcom/android/server/notification/ManagedServices;->queryPackageForServices(Ljava/lang/String;II)Ljava/util/Set;
-PLcom/android/server/notification/ManagedServices;->readXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/function/Predicate;)V
-PLcom/android/server/notification/ManagedServices;->rebindServices(Z)V
-PLcom/android/server/notification/ManagedServices;->registerGuestService(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
-PLcom/android/server/notification/ManagedServices;->registerService(Landroid/content/ComponentName;I)V
-PLcom/android/server/notification/ManagedServices;->registerService(Landroid/os/IInterface;Landroid/content/ComponentName;I)V
-PLcom/android/server/notification/ManagedServices;->registerServiceImpl(Landroid/os/IInterface;Landroid/content/ComponentName;I)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
-PLcom/android/server/notification/ManagedServices;->registerServiceImpl(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
-PLcom/android/server/notification/ManagedServices;->registerServiceLocked(Landroid/content/ComponentName;I)V
-PLcom/android/server/notification/ManagedServices;->registerServiceLocked(Landroid/content/ComponentName;IZ)V
 PLcom/android/server/notification/ManagedServices;->removeServiceImpl(Landroid/os/IInterface;I)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
-PLcom/android/server/notification/ManagedServices;->removeServiceLocked(I)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+PLcom/android/server/notification/ManagedServices;->removeUninstalledItemsFromApprovedLists(ILjava/lang/String;)Z
 PLcom/android/server/notification/ManagedServices;->setComponentState(Landroid/content/ComponentName;Z)V
-PLcom/android/server/notification/ManagedServices;->setPackageOrComponentEnabled(Ljava/lang/String;IZZ)V
-PLcom/android/server/notification/ManagedServices;->trimApprovedListsAccordingToInstalledServices()V
+PLcom/android/server/notification/ManagedServices;->trimApprovedListsAccordingToInstalledServices(I)V
+PLcom/android/server/notification/ManagedServices;->unbindService(Landroid/content/ServiceConnection;Landroid/content/ComponentName;I)V
 PLcom/android/server/notification/ManagedServices;->unregisterService(Landroid/content/ComponentName;I)V
 PLcom/android/server/notification/ManagedServices;->unregisterService(Landroid/os/IInterface;I)V
-PLcom/android/server/notification/ManagedServices;->unregisterServiceImpl(Landroid/os/IInterface;I)V
 PLcom/android/server/notification/ManagedServices;->unregisterServiceLocked(Landroid/content/ComponentName;I)V
-PLcom/android/server/notification/ManagedServices;->upgradeXml(II)V
-PLcom/android/server/notification/NotificationAdjustmentExtractor;-><init>()V
-PLcom/android/server/notification/NotificationAdjustmentExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-PLcom/android/server/notification/NotificationAdjustmentExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-PLcom/android/server/notification/NotificationAdjustmentExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-PLcom/android/server/notification/NotificationChannelExtractor;-><init>()V
-PLcom/android/server/notification/NotificationChannelExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-PLcom/android/server/notification/NotificationChannelExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-PLcom/android/server/notification/NotificationChannelExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-PLcom/android/server/notification/NotificationComparator$1;-><init>(Lcom/android/server/notification/NotificationComparator;)V
-PLcom/android/server/notification/NotificationComparator;-><init>(Landroid/content/Context;)V
-PLcom/android/server/notification/NotificationIntrusivenessExtractor$1;-><init>(Lcom/android/server/notification/NotificationIntrusivenessExtractor;Ljava/lang/String;J)V
+PLcom/android/server/notification/NotificationAdjustmentExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/NotificationChannelExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/NotificationComparator;->compare(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)I
+PLcom/android/server/notification/NotificationComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/notification/NotificationComparator;->isDefaultPhoneApp(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationComparator;->isImportantMessaging(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationComparator;->isImportantPeople(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationIntrusivenessExtractor$1;->applyChangesLocked(Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationIntrusivenessExtractor$1;->work()V
-PLcom/android/server/notification/NotificationIntrusivenessExtractor;-><init>()V
-PLcom/android/server/notification/NotificationIntrusivenessExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-PLcom/android/server/notification/NotificationIntrusivenessExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-PLcom/android/server/notification/NotificationIntrusivenessExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-PLcom/android/server/notification/NotificationManagerService$10$1;-><init>(Lcom/android/server/notification/NotificationManagerService$10;Ljava/lang/String;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;[Landroid/service/notification/Condition;)V
-PLcom/android/server/notification/NotificationManagerService$10$1;->run()V
-PLcom/android/server/notification/NotificationManagerService$10;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationIntrusivenessExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/NotificationManagerService$10;->applyAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
+PLcom/android/server/notification/NotificationManagerService$10;->applyAdjustmentsFromAssistant(Landroid/service/notification/INotificationListener;Ljava/util/List;)V
+PLcom/android/server/notification/NotificationManagerService$10;->applyEnqueuedAdjustmentFromAssistant(Landroid/service/notification/INotificationListener;Landroid/service/notification/Adjustment;)V
+PLcom/android/server/notification/NotificationManagerService$10;->areBubblesAllowedForPackage(Ljava/lang/String;I)Z
 PLcom/android/server/notification/NotificationManagerService$10;->areNotificationsEnabled(Ljava/lang/String;)Z
 PLcom/android/server/notification/NotificationManagerService$10;->areNotificationsEnabledForPackage(Ljava/lang/String;I)Z
 PLcom/android/server/notification/NotificationManagerService$10;->canShowBadge(Ljava/lang/String;I)Z
 PLcom/android/server/notification/NotificationManagerService$10;->cancelAllNotifications(Ljava/lang/String;I)V
+PLcom/android/server/notification/NotificationManagerService$10;->cancelNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$10;->cancelToast(Ljava/lang/String;Landroid/app/ITransientNotification;)V
+PLcom/android/server/notification/NotificationManagerService$10;->checkPolicyAccess(Ljava/lang/String;)Z
 PLcom/android/server/notification/NotificationManagerService$10;->createNotificationChannelGroups(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
-PLcom/android/server/notification/NotificationManagerService$10;->createNotificationChannelsImpl(Ljava/lang/String;ILandroid/content/pm/ParceledListSlice;)V
-PLcom/android/server/notification/NotificationManagerService$10;->deleteNotificationChannel(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$10;->deleteNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$10;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService$10;->enforcePolicyAccess(ILjava/lang/String;)V
-PLcom/android/server/notification/NotificationManagerService$10;->enforceSystemOrSystemUI(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$10;->enforcePolicyAccess(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$10;->enforceSystemOrSystemUIOrSamePackage(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$10;->enqueueNotificationWithTag(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/app/Notification;I)V
 PLcom/android/server/notification/NotificationManagerService$10;->enqueueToast(Ljava/lang/String;Landroid/app/ITransientNotification;II)V
 PLcom/android/server/notification/NotificationManagerService$10;->finishToken(Ljava/lang/String;Landroid/app/ITransientNotification;)V
-PLcom/android/server/notification/NotificationManagerService$10;->getAppActiveNotifications(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/notification/NotificationManagerService$10;->getAppsBypassingDndCount(I)I
+PLcom/android/server/notification/NotificationManagerService$10;->getAutomaticZenRule(Ljava/lang/String;)Landroid/app/AutomaticZenRule;
 PLcom/android/server/notification/NotificationManagerService$10;->getBackupPayload(I)[B
 PLcom/android/server/notification/NotificationManagerService$10;->getBlockedChannelCount(Ljava/lang/String;I)I
-PLcom/android/server/notification/NotificationManagerService$10;->getDeletedChannelCount(Ljava/lang/String;I)I
-PLcom/android/server/notification/NotificationManagerService$10;->getEffectsSuppressor()Landroid/content/ComponentName;
+PLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannelGroupForPackage(Ljava/lang/String;Ljava/lang/String;I)Landroid/app/NotificationChannelGroup;
 PLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannelGroups(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannelGroupsForPackage(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannels(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/notification/NotificationManagerService$10;->getNotificationPolicy(Ljava/lang/String;)Landroid/app/NotificationManager$Policy;
 PLcom/android/server/notification/NotificationManagerService$10;->getNumNotificationChannelsForPackage(Ljava/lang/String;IZ)I
-PLcom/android/server/notification/NotificationManagerService$10;->getZenMode()I
-PLcom/android/server/notification/NotificationManagerService$10;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
+PLcom/android/server/notification/NotificationManagerService$10;->getPackageImportance(Ljava/lang/String;)I
+PLcom/android/server/notification/NotificationManagerService$10;->getPrivateNotificationsAllowed()Z
 PLcom/android/server/notification/NotificationManagerService$10;->getZenRules()Ljava/util/List;
-PLcom/android/server/notification/NotificationManagerService$10;->notifyConditions(Ljava/lang/String;Landroid/service/notification/IConditionProvider;[Landroid/service/notification/Condition;)V
-PLcom/android/server/notification/NotificationManagerService$10;->onlyHasDefaultChannel(Ljava/lang/String;I)Z
-PLcom/android/server/notification/NotificationManagerService$10;->registerListener(Landroid/service/notification/INotificationListener;Landroid/content/ComponentName;I)V
+PLcom/android/server/notification/NotificationManagerService$10;->isNotificationListenerAccessGranted(Landroid/content/ComponentName;)Z
+PLcom/android/server/notification/NotificationManagerService$10;->isNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;I)Z
+PLcom/android/server/notification/NotificationManagerService$10;->isNotificationPolicyAccessGranted(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationManagerService$10;->matchesCallFilter(Landroid/os/Bundle;)Z
+PLcom/android/server/notification/NotificationManagerService$10;->removeAutomaticZenRules(Ljava/lang/String;)Z
 PLcom/android/server/notification/NotificationManagerService$10;->requestBindListener(Landroid/content/ComponentName;)V
+PLcom/android/server/notification/NotificationManagerService$10;->requestBindProvider(Landroid/content/ComponentName;)V
+PLcom/android/server/notification/NotificationManagerService$10;->requestHintsFromListener(Landroid/service/notification/INotificationListener;I)V
 PLcom/android/server/notification/NotificationManagerService$10;->requestUnbindListener(Landroid/service/notification/INotificationListener;)V
 PLcom/android/server/notification/NotificationManagerService$10;->requestUnbindProvider(Landroid/service/notification/IConditionProvider;)V
 PLcom/android/server/notification/NotificationManagerService$10;->sanitizeSbn(Ljava/lang/String;ILandroid/service/notification/StatusBarNotification;)Landroid/service/notification/StatusBarNotification;
-PLcom/android/server/notification/NotificationManagerService$10;->setNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;IZ)V
-PLcom/android/server/notification/NotificationManagerService$10;->setNotificationPolicyAccessGranted(Ljava/lang/String;Z)V
-PLcom/android/server/notification/NotificationManagerService$10;->setNotificationPolicyAccessGrantedForUser(Ljava/lang/String;IZ)V
-PLcom/android/server/notification/NotificationManagerService$10;->setNotificationsEnabledForPackage(Ljava/lang/String;IZ)V
+PLcom/android/server/notification/NotificationManagerService$10;->setInterruptionFilter(Ljava/lang/String;I)V
+PLcom/android/server/notification/NotificationManagerService$10;->setNotificationPolicy(Ljava/lang/String;Landroid/app/NotificationManager$Policy;)V
 PLcom/android/server/notification/NotificationManagerService$10;->setNotificationsShownFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$10;->setPrivateNotificationsAllowed(Z)V
 PLcom/android/server/notification/NotificationManagerService$10;->setZenMode(ILandroid/net/Uri;Ljava/lang/String;)V
-PLcom/android/server/notification/NotificationManagerService$11;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService$13;-><init>(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService$10;->updateAutomaticZenRule(Ljava/lang/String;Landroid/app/AutomaticZenRule;)Z
+PLcom/android/server/notification/NotificationManagerService$10;->updateNotificationChannelForPackage(Ljava/lang/String;ILandroid/app/NotificationChannel;)V
+PLcom/android/server/notification/NotificationManagerService$11;->enqueueNotification(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILandroid/app/Notification;I)V
+PLcom/android/server/notification/NotificationManagerService$11;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;)Landroid/app/NotificationChannel;
+PLcom/android/server/notification/NotificationManagerService$11;->lambda$removeForegroundServiceFlagFromNotification$0$NotificationManagerService$11(Ljava/lang/String;II)V
+PLcom/android/server/notification/NotificationManagerService$11;->lambda$removeForegroundServiceFlagFromNotification$0(Lcom/android/server/notification/NotificationManagerService$11;Ljava/lang/String;II)V
+PLcom/android/server/notification/NotificationManagerService$11;->removeForegroundServiceFlagFromNotification(Ljava/lang/String;II)V
 PLcom/android/server/notification/NotificationManagerService$13;->run()V
-PLcom/android/server/notification/NotificationManagerService$14;-><init>(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;IILjava/lang/String;ILjava/lang/String;IIIIZII)V
-PLcom/android/server/notification/NotificationManagerService$14;->run()V
-PLcom/android/server/notification/NotificationManagerService$15;-><init>(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;IILjava/lang/String;IIIIZLjava/lang/String;)V
-PLcom/android/server/notification/NotificationManagerService$15;->lambda$run$0(III)Z
-PLcom/android/server/notification/NotificationManagerService$15;->run()V
-PLcom/android/server/notification/NotificationManagerService$17;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService$1;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
 PLcom/android/server/notification/NotificationManagerService$1;->clearEffects()V
-PLcom/android/server/notification/NotificationManagerService$1;->onNotificationClear(IILjava/lang/String;Ljava/lang/String;IILjava/lang/String;ILcom/android/internal/statusbar/NotificationVisibility;)V
+PLcom/android/server/notification/NotificationManagerService$1;->onNotificationActionClick(IILjava/lang/String;ILandroid/app/Notification$Action;Lcom/android/internal/statusbar/NotificationVisibility;Z)V
+PLcom/android/server/notification/NotificationManagerService$1;->onNotificationClear(IILjava/lang/String;Ljava/lang/String;IILjava/lang/String;IILcom/android/internal/statusbar/NotificationVisibility;)V
 PLcom/android/server/notification/NotificationManagerService$1;->onNotificationClick(IILjava/lang/String;Lcom/android/internal/statusbar/NotificationVisibility;)V
-PLcom/android/server/notification/NotificationManagerService$1;->onNotificationExpansionChanged(Ljava/lang/String;ZZ)V
+PLcom/android/server/notification/NotificationManagerService$1;->onNotificationDirectReplied(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$1;->onNotificationExpansionChanged(Ljava/lang/String;ZZI)V
+PLcom/android/server/notification/NotificationManagerService$1;->onNotificationSmartSuggestionsAdded(Ljava/lang/String;IIZZ)V
 PLcom/android/server/notification/NotificationManagerService$1;->onNotificationVisibilityChanged([Lcom/android/internal/statusbar/NotificationVisibility;[Lcom/android/internal/statusbar/NotificationVisibility;)V
 PLcom/android/server/notification/NotificationManagerService$1;->onPanelHidden()V
 PLcom/android/server/notification/NotificationManagerService$1;->onPanelRevealed(ZI)V
-PLcom/android/server/notification/NotificationManagerService$1;->onSetDisabled(I)V
-PLcom/android/server/notification/NotificationManagerService$2;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService$3;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService$4;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService$5;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 PLcom/android/server/notification/NotificationManagerService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/notification/NotificationManagerService$6;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/notification/NotificationManagerService$7;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService$7;->onConfigChanged()V
-PLcom/android/server/notification/NotificationManagerService$7;->onPolicyChanged()V
-PLcom/android/server/notification/NotificationManagerService$7;->onZenModeChanged()V
-PLcom/android/server/notification/NotificationManagerService$8;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService$9;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+PLcom/android/server/notification/NotificationManagerService$9;->addAutoGroup(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$9;->addAutoGroupSummary(ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService$9;->removeAutoGroup(Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService$9;->removeAutoGroupSummary(ILjava/lang/String;)V
-PLcom/android/server/notification/NotificationManagerService$Archive;-><init>(I)V
 PLcom/android/server/notification/NotificationManagerService$Archive;->record(Landroid/service/notification/StatusBarNotification;)V
-PLcom/android/server/notification/NotificationManagerService$EnqueueNotificationRunnable;-><init>(Lcom/android/server/notification/NotificationManagerService;ILcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService$DumpFilter;->parseFromArguments([Ljava/lang/String;)Lcom/android/server/notification/NotificationManagerService$DumpFilter;
 PLcom/android/server/notification/NotificationManagerService$EnqueueNotificationRunnable;->run()V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants$1;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants$1;->run()V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->access$8200(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->ensureAssistant()V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->getConfig()Lcom/android/server/notification/ManagedServices$Config;
 PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->isEnabled()Z
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifyEnqueued(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onNotificationEnqueued(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onServiceAdded(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$notifyAssistantActionClicked$5$NotificationManagerService$NotificationAssistants(Ljava/lang/String;Landroid/app/Notification$Action;ZLandroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$notifyAssistantActionClicked$5(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Ljava/lang/String;Landroid/app/Notification$Action;ZLandroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$notifyAssistantExpansionChangedLocked$2$NotificationManagerService$NotificationAssistants(Ljava/lang/String;ZZLandroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$notifyAssistantExpansionChangedLocked$2(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Ljava/lang/String;ZZLandroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$notifyAssistantNotificationDirectReplyLocked$3(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Ljava/lang/String;Landroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$onNotificationEnqueuedLocked$1$NotificationManagerService$NotificationAssistants(Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$onNotificationEnqueuedLocked$1(Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/NotificationRecord;Landroid/service/notification/INotificationListener;Lcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->lambda$onNotificationsSeenLocked$0$NotificationManagerService$NotificationAssistants(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/util/ArrayList;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifyAssistantActionClicked(Landroid/service/notification/StatusBarNotification;ILandroid/app/Notification$Action;Z)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifyAssistantExpansionChangedLocked(Landroid/service/notification/StatusBarNotification;ZZ)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifyAssistantLocked(Landroid/service/notification/StatusBarNotification;ZLjava/util/function/BiConsumer;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifyAssistantNotificationDirectReplyLocked(Landroid/service/notification/StatusBarNotification;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->notifySeen(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/util/ArrayList;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onNotificationsSeenLocked(Ljava/util/ArrayList;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onServiceRemovedLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onUserUnlocked(I)V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners$2;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners$2;->run()V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners$3;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners$3;->run()V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners$4;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/NotificationRankingUpdate;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners$4;->run()V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners$6;-><init>(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners$5;->run()V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners$6;->run()V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/content/pm/IPackageManager;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$8500(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$8600(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$8700(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/NotificationRankingUpdate;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->access$8900(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->checkType(Landroid/os/IInterface;)Z
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getConfig()Lcom/android/server/notification/ManagedServices$Config;
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getOnNotificationPostedTrim(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)I
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->isListenerPackage(Ljava/lang/String;)Z
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$notifyNotificationChannelChanged$1(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$notifyNotificationChannelGroupChanged$2(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$notifyRemovedLocked$0(Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$notifyNotificationChannelGroupChanged$3$NotificationManagerService$NotificationListeners(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$notifyRemovedLocked$1$NotificationManagerService$NotificationListeners(Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyInterruptionFilterChanged(I)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyInterruptionFilterChanged(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyNotificationChannelChanged(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyListenerHintsChanged(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyListenerHintsChangedLocked(I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyNotificationChannelChanged(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
+PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyNotificationChannelGroupChanged(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyNotificationChannelGroupChanged(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannelGroup;I)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyPosted(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyPostedLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)V
@@ -13427,195 +8919,120 @@
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRankingUpdateLocked(Ljava/util/List;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRemoved(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Landroid/service/notification/StatusBarNotification;Landroid/service/notification/NotificationRankingUpdate;Landroid/service/notification/NotificationStats;I)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyRemovedLocked(Lcom/android/server/notification/NotificationRecord;ILandroid/service/notification/NotificationStats;)V
-PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->onServiceAdded(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
 PLcom/android/server/notification/NotificationManagerService$NotificationListeners;->onServiceRemovedLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
-PLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable$1;-><init>(Lcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;Landroid/service/notification/StatusBarNotification;)V
 PLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable$1;->run()V
-PLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;-><init>(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService$PostNotificationRunnable;->run()V
-PLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Looper;)V
-PLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->requestReconsideration(Lcom/android/server/notification/RankingReconsideration;)V
-PLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->requestSort()V
-PLcom/android/server/notification/NotificationManagerService$SettingsObserver;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Handler;)V
-PLcom/android/server/notification/NotificationManagerService$SettingsObserver;->observe()V
-PLcom/android/server/notification/NotificationManagerService$SettingsObserver;->update(Landroid/net/Uri;)V
-PLcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;-><init>(Landroid/service/notification/StatusBarNotification;)V
 PLcom/android/server/notification/NotificationManagerService$StatusBarNotificationHolder;->get()Landroid/service/notification/StatusBarNotification;
-PLcom/android/server/notification/NotificationManagerService$ToastRecord;-><init>(ILjava/lang/String;Landroid/app/ITransientNotification;ILandroid/os/Binder;)V
-PLcom/android/server/notification/NotificationManagerService$TrimCache;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;)V
 PLcom/android/server/notification/NotificationManagerService$TrimCache;->ForListener(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/StatusBarNotification;
-PLcom/android/server/notification/NotificationManagerService$WorkerHandler;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Looper;)V
 PLcom/android/server/notification/NotificationManagerService$WorkerHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/notification/NotificationManagerService$WorkerHandler;->scheduleOnPackageChanged(ZI[Ljava/lang/String;[I)V
 PLcom/android/server/notification/NotificationManagerService$WorkerHandler;->scheduleSendRankingUpdate()V
-PLcom/android/server/notification/NotificationManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/notification/NotificationManagerService;->access$002(Lcom/android/server/notification/NotificationManagerService;Z)Z
-PLcom/android/server/notification/NotificationManagerService;->access$100(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Ljava/lang/String;
-PLcom/android/server/notification/NotificationManagerService;->access$1200(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/IPackageManager;
-PLcom/android/server/notification/NotificationManagerService;->access$1300()I
+PLcom/android/server/notification/NotificationManagerService;->access$1300(Lcom/android/server/notification/NotificationManagerService;)Landroid/content/pm/IPackageManager;
 PLcom/android/server/notification/NotificationManagerService;->access$1400()I
-PLcom/android/server/notification/NotificationManagerService;->access$1500(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;
-PLcom/android/server/notification/NotificationManagerService;->access$1602(Lcom/android/server/notification/NotificationManagerService;Z)Z
-PLcom/android/server/notification/NotificationManagerService;->access$1700(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService;->access$1800(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/lights/Light;
-PLcom/android/server/notification/NotificationManagerService;->access$1900(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$SettingsObserver;
+PLcom/android/server/notification/NotificationManagerService;->access$1500()I
+PLcom/android/server/notification/NotificationManagerService;->access$1600(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationManagerService$WorkerHandler;
 PLcom/android/server/notification/NotificationManagerService;->access$200(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService;->access$2000(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/ManagedServices$UserProfiles;
-PLcom/android/server/notification/NotificationManagerService;->access$2100(Lcom/android/server/notification/NotificationManagerService;)Z
-PLcom/android/server/notification/NotificationManagerService;->access$2200(Lcom/android/server/notification/NotificationManagerService;)F
-PLcom/android/server/notification/NotificationManagerService;->access$2202(Lcom/android/server/notification/NotificationManagerService;F)F
-PLcom/android/server/notification/NotificationManagerService;->access$2300(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;)V
-PLcom/android/server/notification/NotificationManagerService;->access$2400(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService;->access$2500(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/RankingHandler;
-PLcom/android/server/notification/NotificationManagerService;->access$2700(Lcom/android/server/notification/NotificationManagerService;ILjava/lang/String;)V
-PLcom/android/server/notification/NotificationManagerService;->access$2800(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;I)Z
-PLcom/android/server/notification/NotificationManagerService;->access$2900(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/wm/WindowManagerInternal;
-PLcom/android/server/notification/NotificationManagerService;->access$300(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService;->access$3100(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService;->access$3200(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/String;ILandroid/app/NotificationChannelGroup;ZZ)V
-PLcom/android/server/notification/NotificationManagerService;->access$3500(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/SnoozeHelper;
-PLcom/android/server/notification/NotificationManagerService;->access$400(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService;->access$500(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService;->access$5000(Lcom/android/server/notification/NotificationManagerService;)Ljava/util/List;
-PLcom/android/server/notification/NotificationManagerService;->access$5100(Lcom/android/server/notification/NotificationManagerService;)Landroid/util/AtomicFile;
-PLcom/android/server/notification/NotificationManagerService;->access$5200(Lcom/android/server/notification/NotificationManagerService;Ljava/io/OutputStream;Z)V
-PLcom/android/server/notification/NotificationManagerService;->access$5300(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService;->access$5400(Lcom/android/server/notification/NotificationManagerService;)Ljava/util/function/Predicate;
-PLcom/android/server/notification/NotificationManagerService;->access$5900(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
-PLcom/android/server/notification/NotificationManagerService;->access$6100(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V
-PLcom/android/server/notification/NotificationManagerService;->access$6200(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)Z
-PLcom/android/server/notification/NotificationManagerService;->access$6300(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/NotificationUsageStats;
-PLcom/android/server/notification/NotificationManagerService;->access$6400(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/NotificationManagerService;->access$6500(Lcom/android/server/notification/NotificationManagerService;Landroid/service/notification/StatusBarNotification;)Z
-PLcom/android/server/notification/NotificationManagerService;->access$6600(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/GroupHelper;
-PLcom/android/server/notification/NotificationManagerService;->access$7000(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationManagerService$ToastRecord;)V
-PLcom/android/server/notification/NotificationManagerService;->access$7100(Lcom/android/server/notification/NotificationManagerService;Landroid/os/IBinder;)V
-PLcom/android/server/notification/NotificationManagerService;->access$7200(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService;->access$7300(Lcom/android/server/notification/NotificationManagerService;)V
-PLcom/android/server/notification/NotificationManagerService;->access$7500(Lcom/android/server/notification/NotificationManagerService;I)V
-PLcom/android/server/notification/NotificationManagerService;->access$7600(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Message;)V
-PLcom/android/server/notification/NotificationManagerService;->access$7700(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;ZIIIZLjava/lang/String;)V
-PLcom/android/server/notification/NotificationManagerService;->access$7800(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZLcom/android/server/notification/NotificationManagerService$FlagChecker;)V
-PLcom/android/server/notification/NotificationManagerService;->access$7900(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
-PLcom/android/server/notification/NotificationManagerService;->access$8300(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
-PLcom/android/server/notification/NotificationManagerService;->access$8400(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
-PLcom/android/server/notification/NotificationManagerService;->access$900(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/ConditionProviders;
-PLcom/android/server/notification/NotificationManagerService;->applyZenModeLocked(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService;->addAutoGroupAdjustment(Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationManagerService;->addAutogroupKeyLocked(Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService;->buzzBeepBlinkLocked(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/NotificationManagerService;->canUseManagedServices(Ljava/lang/String;)Z
-PLcom/android/server/notification/NotificationManagerService;->cancelAllNotificationsByListLocked(Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
-PLcom/android/server/notification/NotificationManagerService;->cancelAllNotificationsInt(IILjava/lang/String;Ljava/lang/String;IIZIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+PLcom/android/server/notification/NotificationManagerService;->calculateHints()I
+PLcom/android/server/notification/NotificationManagerService;->calculateSuppressedVisualEffects(Landroid/app/NotificationManager$Policy;Landroid/app/NotificationManager$Policy;I)I
+PLcom/android/server/notification/NotificationManagerService;->canShowLightsLocked(Lcom/android/server/notification/NotificationRecord;Z)Z
 PLcom/android/server/notification/NotificationManagerService;->cancelGroupChildrenByListLocked(Ljava/util/ArrayList;Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZZLcom/android/server/notification/NotificationManagerService$FlagChecker;)V
 PLcom/android/server/notification/NotificationManagerService;->cancelGroupChildrenLocked(Lcom/android/server/notification/NotificationRecord;IILjava/lang/String;ZLcom/android/server/notification/NotificationManagerService$FlagChecker;)V
-PLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIIIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
-PLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
 PLcom/android/server/notification/NotificationManagerService;->cancelNotificationLocked(Lcom/android/server/notification/NotificationRecord;ZIIIZLjava/lang/String;)V
-PLcom/android/server/notification/NotificationManagerService;->cancelNotificationLocked(Lcom/android/server/notification/NotificationRecord;ZIZLjava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService;->cancelToastLocked(I)V
-PLcom/android/server/notification/NotificationManagerService;->checkCallerIsSystem()V
-PLcom/android/server/notification/NotificationManagerService;->checkCallerIsSystemOrShell()V
 PLcom/android/server/notification/NotificationManagerService;->checkDisqualifyingFeatures(IIILjava/lang/String;Lcom/android/server/notification/NotificationRecord;Z)Z
+PLcom/android/server/notification/NotificationManagerService;->checkRestrictedCategories(Landroid/app/Notification;)V
 PLcom/android/server/notification/NotificationManagerService;->clearAutogroupSummaryLocked(ILjava/lang/String;)V
-PLcom/android/server/notification/NotificationManagerService;->clearLightsLocked()V
 PLcom/android/server/notification/NotificationManagerService;->clearSoundLocked()V
 PLcom/android/server/notification/NotificationManagerService;->clearVibrateLocked()V
+PLcom/android/server/notification/NotificationManagerService;->createAutoGroupSummary(ILjava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService;->createNotificationChannelGroup(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;ZZ)V
-PLcom/android/server/notification/NotificationManagerService;->disableNotificationEffects(Lcom/android/server/notification/NotificationRecord;)Ljava/lang/String;
+PLcom/android/server/notification/NotificationManagerService;->dumpJson(Ljava/io/PrintWriter;Lcom/android/server/notification/NotificationManagerService$DumpFilter;)V
+PLcom/android/server/notification/NotificationManagerService;->enqueueNotificationInternal(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILandroid/app/Notification;I)V
 PLcom/android/server/notification/NotificationManagerService;->exitIdle()V
 PLcom/android/server/notification/NotificationManagerService;->findNotificationByListLocked(Ljava/util/ArrayList;Ljava/lang/String;)Lcom/android/server/notification/NotificationRecord;
-PLcom/android/server/notification/NotificationManagerService;->findNotificationLocked(Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
-PLcom/android/server/notification/NotificationManagerService;->finishTokenLocked(Landroid/os/IBinder;)V
-PLcom/android/server/notification/NotificationManagerService;->getCompanionManager()Landroid/companion/ICompanionDeviceManager;
-PLcom/android/server/notification/NotificationManagerService;->getGroupHelper()Lcom/android/server/notification/GroupHelper;
-PLcom/android/server/notification/NotificationManagerService;->getLongArray(Landroid/content/res/Resources;II[J)[J
-PLcom/android/server/notification/NotificationManagerService;->getRealUserId(I)I
+PLcom/android/server/notification/NotificationManagerService;->findNotificationsByListLocked(Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Ljava/util/List;
+PLcom/android/server/notification/NotificationManagerService;->finishTokenLocked(Landroid/os/IBinder;I)V
+PLcom/android/server/notification/NotificationManagerService;->fixNotification(Landroid/app/Notification;Ljava/lang/String;I)V
+PLcom/android/server/notification/NotificationManagerService;->getNotificationCountLocked(Ljava/lang/String;IILjava/lang/String;)I
+PLcom/android/server/notification/NotificationManagerService;->getSuppressors()Ljava/util/ArrayList;
+PLcom/android/server/notification/NotificationManagerService;->grantUriPermission(Landroid/os/IBinder;Landroid/net/Uri;ILjava/lang/String;I)V
 PLcom/android/server/notification/NotificationManagerService;->handleDurationReached(Lcom/android/server/notification/NotificationManagerService$ToastRecord;)V
 PLcom/android/server/notification/NotificationManagerService;->handleGroupedNotificationLocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;II)V
-PLcom/android/server/notification/NotificationManagerService;->handleKillTokenTimeout(Landroid/os/IBinder;)V
+PLcom/android/server/notification/NotificationManagerService;->handleKillTokenTimeout(Lcom/android/server/notification/NotificationManagerService$ToastRecord;)V
+PLcom/android/server/notification/NotificationManagerService;->handleListenerHintsChanged(I)V
 PLcom/android/server/notification/NotificationManagerService;->handleListenerInterruptionFilterChanged(I)V
 PLcom/android/server/notification/NotificationManagerService;->handleRankingReconsideration(Landroid/os/Message;)V
-PLcom/android/server/notification/NotificationManagerService;->handleSavePolicyFile()V
 PLcom/android/server/notification/NotificationManagerService;->handleSendRankingUpdate()V
-PLcom/android/server/notification/NotificationManagerService;->hasAutoGroupSummaryLocked(Landroid/service/notification/StatusBarNotification;)Z
+PLcom/android/server/notification/NotificationManagerService;->indexOfNotificationLocked(Ljava/lang/String;)I
 PLcom/android/server/notification/NotificationManagerService;->indexOfToastLocked(Ljava/lang/String;Landroid/app/ITransientNotification;)I
-PLcom/android/server/notification/NotificationManagerService;->indexOfToastPackageLocked(Ljava/lang/String;)I
-PLcom/android/server/notification/NotificationManagerService;->init(Landroid/os/Looper;Landroid/content/pm/IPackageManager;Landroid/content/pm/PackageManager;Lcom/android/server/lights/LightsManager;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/ConditionProviders;Landroid/companion/ICompanionDeviceManager;Lcom/android/server/notification/SnoozeHelper;Lcom/android/server/notification/NotificationUsageStats;Landroid/util/AtomicFile;Landroid/app/ActivityManager;Lcom/android/server/notification/GroupHelper;Landroid/app/IActivityManager;Landroid/app/usage/UsageStatsManagerInternal;Landroid/app/admin/DevicePolicyManagerInternal;)V
+PLcom/android/server/notification/NotificationManagerService;->isBlocked(Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/NotificationManagerService;->isBlocked(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationUsageStats;)Z
-PLcom/android/server/notification/NotificationManagerService;->isCallerInstantApp(Ljava/lang/String;)Z
-PLcom/android/server/notification/NotificationManagerService;->isPackageSuspendedLocked(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationManagerService;->isCallerInstantApp(II)Z
+PLcom/android/server/notification/NotificationManagerService;->isCallerSameApp(Ljava/lang/String;II)Z
+PLcom/android/server/notification/NotificationManagerService;->isNotificationForCurrentUser(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/NotificationManagerService;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
+PLcom/android/server/notification/NotificationManagerService;->isVisibleToListener(Landroid/service/notification/StatusBarNotification;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
 PLcom/android/server/notification/NotificationManagerService;->isVisuallyInterruptive(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/NotificationManagerService;->keepProcessAliveIfNeededLocked(I)V
-PLcom/android/server/notification/NotificationManagerService;->listenForCallState()V
-PLcom/android/server/notification/NotificationManagerService;->loadPolicyFile()V
+PLcom/android/server/notification/NotificationManagerService;->lambda$doChannelWarningToast$1(Lcom/android/server/notification/NotificationManagerService;Ljava/lang/CharSequence;)V
+PLcom/android/server/notification/NotificationManagerService;->lambda$playVibration$2$NotificationManagerService(Lcom/android/server/notification/NotificationRecord;Landroid/os/VibrationEffect;)V
+PLcom/android/server/notification/NotificationManagerService;->lambda$playVibration$2(Lcom/android/server/notification/NotificationManagerService;Lcom/android/server/notification/NotificationRecord;Landroid/os/VibrationEffect;)V
 PLcom/android/server/notification/NotificationManagerService;->logRecentLocked(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationManagerService;->logSmartSuggestionsVisible(Lcom/android/server/notification/NotificationRecord;I)V
+PLcom/android/server/notification/NotificationManagerService;->maybeNotifyChannelOwner(Ljava/lang/String;ILandroid/app/NotificationChannel;Landroid/app/NotificationChannel;)V
 PLcom/android/server/notification/NotificationManagerService;->maybeRecordInterruptionLocked(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/NotificationManagerService;->onBootPhase(I)V
-PLcom/android/server/notification/NotificationManagerService;->onStart()V
+PLcom/android/server/notification/NotificationManagerService;->playInCallNotification()V
 PLcom/android/server/notification/NotificationManagerService;->playSound(Lcom/android/server/notification/NotificationRecord;Landroid/net/Uri;)Z
-PLcom/android/server/notification/NotificationManagerService;->readPolicyXml(Ljava/io/InputStream;Z)V
-PLcom/android/server/notification/NotificationManagerService;->recordCallerLocked(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/NotificationManagerService;->removeDisabledHints(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
+PLcom/android/server/notification/NotificationManagerService;->playVibration(Lcom/android/server/notification/NotificationRecord;[JZ)Z
+PLcom/android/server/notification/NotificationManagerService;->removeAutogroupKeyLocked(Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService;->removeDisabledHints(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;I)Z
 PLcom/android/server/notification/NotificationManagerService;->removeFromNotificationListsLocked(Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/NotificationManagerService;->reportSeen(Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationManagerService;->reportUserInteraction(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/NotificationManagerService;->resolveNotificationUid(Ljava/lang/String;II)I
-PLcom/android/server/notification/NotificationManagerService;->savePolicyFile()V
+PLcom/android/server/notification/NotificationManagerService;->resolveNotificationUid(Ljava/lang/String;Ljava/lang/String;II)I
 PLcom/android/server/notification/NotificationManagerService;->scheduleDurationReachedLocked(Lcom/android/server/notification/NotificationManagerService$ToastRecord;)V
-PLcom/android/server/notification/NotificationManagerService;->scheduleInterruptionFilterChanged(I)V
-PLcom/android/server/notification/NotificationManagerService;->scheduleKillTokenTimeout(Landroid/os/IBinder;)V
 PLcom/android/server/notification/NotificationManagerService;->scheduleTimeoutLocked(Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationManagerService;->sendAccessibilityEvent(Landroid/app/Notification;Ljava/lang/CharSequence;)V
-PLcom/android/server/notification/NotificationManagerService;->sendRegisteredOnlyBroadcast(Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationManagerService;->shouldMuteNotificationLocked(Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/NotificationManagerService;->showNextToastLocked()V
-PLcom/android/server/notification/NotificationManagerService;->updateInterruptionFilterLocked()V
+PLcom/android/server/notification/NotificationManagerService;->updateEffectsSuppressorLocked()V
 PLcom/android/server/notification/NotificationManagerService;->updateLightsLocked()V
+PLcom/android/server/notification/NotificationManagerService;->updateNotificationChannelInt(Ljava/lang/String;ILandroid/app/NotificationChannel;Z)V
 PLcom/android/server/notification/NotificationManagerService;->updateNotificationPulse()V
-PLcom/android/server/notification/NotificationManagerService;->writePolicyXml(Ljava/io/OutputStream;Z)V
-PLcom/android/server/notification/NotificationRecord$Light;-><init>(III)V
+PLcom/android/server/notification/NotificationManagerService;->updateUriPermissions(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;I)V
 PLcom/android/server/notification/NotificationRecord;-><init>(Landroid/content/Context;Landroid/service/notification/StatusBarNotification;Landroid/app/NotificationChannel;)V
+PLcom/android/server/notification/NotificationRecord;->addAdjustment(Landroid/service/notification/Adjustment;)V
+PLcom/android/server/notification/NotificationRecord;->applyAdjustments()V
 PLcom/android/server/notification/NotificationRecord;->calculateAttributes()Landroid/media/AudioAttributes;
 PLcom/android/server/notification/NotificationRecord;->calculateGrantableUris()V
+PLcom/android/server/notification/NotificationRecord;->calculateImportance()V
+PLcom/android/server/notification/NotificationRecord;->calculateInitialImportance()I
 PLcom/android/server/notification/NotificationRecord;->calculateLights()Lcom/android/server/notification/NotificationRecord$Light;
 PLcom/android/server/notification/NotificationRecord;->calculateRankingTimeMs(J)J
 PLcom/android/server/notification/NotificationRecord;->calculateSound()Landroid/net/Uri;
+PLcom/android/server/notification/NotificationRecord;->calculateUserSentiment()V
 PLcom/android/server/notification/NotificationRecord;->calculateVibration()[J
 PLcom/android/server/notification/NotificationRecord;->copyRankingInformation(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/NotificationRecord;->getChannelIdLogTag()Ljava/lang/String;
-PLcom/android/server/notification/NotificationRecord;->getExposureMs(J)I
-PLcom/android/server/notification/NotificationRecord;->getFlags()I
-PLcom/android/server/notification/NotificationRecord;->getGroupLogTag()Ljava/lang/String;
-PLcom/android/server/notification/NotificationRecord;->getLastIntrusive()J
-PLcom/android/server/notification/NotificationRecord;->getLifespanMs(J)I
-PLcom/android/server/notification/NotificationRecord;->getLight()Lcom/android/server/notification/NotificationRecord$Light;
-PLcom/android/server/notification/NotificationRecord;->getLogMaker()Landroid/metrics/LogMaker;
+PLcom/android/server/notification/NotificationRecord;->getItemLogMaker()Landroid/metrics/LogMaker;
 PLcom/android/server/notification/NotificationRecord;->getLogMaker(J)Landroid/metrics/LogMaker;
-PLcom/android/server/notification/NotificationRecord;->getNumSmartRepliesAdded()I
-PLcom/android/server/notification/NotificationRecord;->getSound()Landroid/net/Uri;
-PLcom/android/server/notification/NotificationRecord;->getStats()Landroid/service/notification/NotificationStats;
-PLcom/android/server/notification/NotificationRecord;->getUid()I
-PLcom/android/server/notification/NotificationRecord;->getVibration()[J
-PLcom/android/server/notification/NotificationRecord;->hasRecordedInterruption()Z
-PLcom/android/server/notification/NotificationRecord;->isInterruptive()Z
-PLcom/android/server/notification/NotificationRecord;->isPreChannelsNotification()Z
-PLcom/android/server/notification/NotificationRecord;->isSeen()Z
-PLcom/android/server/notification/NotificationRecord;->lambda$calculateGrantableUris$0(Lcom/android/server/notification/NotificationRecord;Landroid/net/Uri;)V
+PLcom/android/server/notification/NotificationRecord;->getNotification()Landroid/app/Notification;
+PLcom/android/server/notification/NotificationRecord;->getUserId()I
+PLcom/android/server/notification/NotificationRecord;->isCategory(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationRecord;->recordDismissalSentiment(I)V
 PLcom/android/server/notification/NotificationRecord;->recordDismissalSurface(I)V
-PLcom/android/server/notification/NotificationRecord;->recordExpanded()V
-PLcom/android/server/notification/NotificationRecord;->setHidden(Z)V
 PLcom/android/server/notification/NotificationRecord;->setInterruptive(Z)V
-PLcom/android/server/notification/NotificationRecord;->setIsAppImportanceLocked(Z)V
-PLcom/android/server/notification/NotificationRecord;->setRecordedInterruption(Z)V
-PLcom/android/server/notification/NotificationRecord;->setSeen()V
-PLcom/android/server/notification/NotificationRecord;->setTextChanged(Z)V
 PLcom/android/server/notification/NotificationRecord;->setVisibility(ZII)V
-PLcom/android/server/notification/NotificationRecord;->shortenTag(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/notification/NotificationUsageStats$1;-><init>(Lcom/android/server/notification/NotificationUsageStats;Landroid/os/Looper;)V
+PLcom/android/server/notification/NotificationRecord;->visitGrantableUri(Landroid/net/Uri;Z)V
 PLcom/android/server/notification/NotificationUsageStats$1;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;-><init>(Landroid/content/Context;Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->countApiUse(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->dumpJson()Lorg/json/JSONObject;
 PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->emit()V
+PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->getEnqueueRate()F
 PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->getEnqueueRate(J)F
 PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->getPrevious()Lcom/android/server/notification/NotificationUsageStats$AggregatedStats;
 PLcom/android/server/notification/NotificationUsageStats$AggregatedStats;->isAlertRateLimited()Z
@@ -13624,17 +9041,19 @@
 PLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;-><init>(Landroid/content/Context;Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;->increment(I)V
 PLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;->maybeCount(Lcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;)V
+PLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;->maybePut(Lorg/json/JSONObject;Lcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;)V
 PLcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;->update(Lcom/android/server/notification/NotificationUsageStats$ImportanceHistogram;)V
-PLcom/android/server/notification/NotificationUsageStats$SQLiteLog$1;-><init>(Lcom/android/server/notification/NotificationUsageStats$SQLiteLog;Landroid/os/Looper;)V
-PLcom/android/server/notification/NotificationUsageStats$SQLiteLog$2;-><init>(Lcom/android/server/notification/NotificationUsageStats$SQLiteLog;Landroid/content/Context;Ljava/lang/String;Landroid/database/sqlite/SQLiteDatabase$CursorFactory;I)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog$1;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/notification/NotificationUsageStats$SQLiteLog$2;->onConfigure(Landroid/database/sqlite/SQLiteDatabase;)V
-PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;-><init>(Landroid/content/Context;)V
-PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->access$000(Lcom/android/server/notification/NotificationUsageStats$SQLiteLog;JILcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->dumpJson(Lcom/android/server/notification/NotificationManagerService$DumpFilter;)Lorg/json/JSONObject;
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->getMidnightMs()J
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->jsonPostFrequencies(Lcom/android/server/notification/NotificationManagerService$DumpFilter;)Lorg/json/JSONArray;
 PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->logClicked(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->logDismissed(Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->logPosted(Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->logRemoved(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->pruneIfNecessary(Landroid/database/sqlite/SQLiteDatabase;)V
 PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->putNotificationDetails(Lcom/android/server/notification/NotificationRecord;Landroid/content/ContentValues;)V
-PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->putNotificationIdentifiers(Lcom/android/server/notification/NotificationRecord;Landroid/content/ContentValues;)V
 PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->putPosttimeVisibility(Lcom/android/server/notification/NotificationRecord;Landroid/content/ContentValues;)V
 PLcom/android/server/notification/NotificationUsageStats$SQLiteLog;->writeEvent(JILcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;-><init>()V
@@ -13642,525 +9061,285 @@
 PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->getCurrentAirtimeExpandedMs()J
 PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->getCurrentAirtimeMs()J
 PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->getCurrentPosttimeMs()J
+PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->hasBeenVisiblyExpanded()Z
 PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->onClick()V
+PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->onDismiss()V
 PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->onExpansionChanged(ZZ)V
 PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->onRemoved()V
 PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->onVisibilityChanged(Z)V
 PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->updateFrom(Lcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;)V
 PLcom/android/server/notification/NotificationUsageStats$SingleNotificationStats;->updateVisiblyExpandedStats()V
-PLcom/android/server/notification/NotificationUsageStats;-><init>(Landroid/content/Context;)V
+PLcom/android/server/notification/NotificationUsageStats;->dumpJson(Lcom/android/server/notification/NotificationManagerService$DumpFilter;)Lorg/json/JSONObject;
 PLcom/android/server/notification/NotificationUsageStats;->emit()V
+PLcom/android/server/notification/NotificationUsageStats;->getAppEnqueueRate(Ljava/lang/String;)F
 PLcom/android/server/notification/NotificationUsageStats;->isAlertRateLimited(Ljava/lang/String;)Z
+PLcom/android/server/notification/NotificationUsageStats;->registerBlocked(Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationUsageStats;->registerClickedByUser(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/NotificationUsageStats;->registerDismissedByUser(Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationUsageStats;->registerEnqueuedByApp(Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationUsageStats;->registerOverCountQuota(Ljava/lang/String;)V
 PLcom/android/server/notification/NotificationUsageStats;->registerOverRateQuota(Ljava/lang/String;)V
+PLcom/android/server/notification/NotificationUsageStats;->registerPeopleAffinity(Lcom/android/server/notification/NotificationRecord;ZZZ)V
 PLcom/android/server/notification/NotificationUsageStats;->registerPostedByApp(Lcom/android/server/notification/NotificationRecord;)V
 PLcom/android/server/notification/NotificationUsageStats;->registerRemovedByApp(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/PriorityExtractor;-><init>()V
-PLcom/android/server/notification/PriorityExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-PLcom/android/server/notification/PriorityExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-PLcom/android/server/notification/PriorityExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-PLcom/android/server/notification/PropConfig;->getStringArray(Landroid/content/Context;Ljava/lang/String;I)[Ljava/lang/String;
-PLcom/android/server/notification/RankingHelper$Record;-><init>()V
-PLcom/android/server/notification/RankingHelper$Record;-><init>(Lcom/android/server/notification/RankingHelper$1;)V
-PLcom/android/server/notification/RankingHelper;-><init>(Landroid/content/Context;Landroid/content/pm/PackageManager;Lcom/android/server/notification/RankingHandler;Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/NotificationUsageStats;[Ljava/lang/String;)V
-PLcom/android/server/notification/RankingHelper;->clearLockedFields(Landroid/app/NotificationChannel;)V
-PLcom/android/server/notification/RankingHelper;->createDefaultChannelIfNeeded(Lcom/android/server/notification/RankingHelper$Record;)V
-PLcom/android/server/notification/RankingHelper;->createNotificationChannel(Ljava/lang/String;ILandroid/app/NotificationChannel;ZZ)V
-PLcom/android/server/notification/RankingHelper;->createNotificationChannelGroup(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;Z)V
-PLcom/android/server/notification/RankingHelper;->deleteDefaultChannelIfNeeded(Lcom/android/server/notification/RankingHelper$Record;)V
-PLcom/android/server/notification/RankingHelper;->deleteNotificationChannel(Ljava/lang/String;ILjava/lang/String;)V
-PLcom/android/server/notification/RankingHelper;->getBlockedChannelCount(Ljava/lang/String;I)I
-PLcom/android/server/notification/RankingHelper;->getChannelGroupLog(Ljava/lang/String;Ljava/lang/String;)Landroid/metrics/LogMaker;
-PLcom/android/server/notification/RankingHelper;->getChannelLog(Landroid/app/NotificationChannel;Ljava/lang/String;)Landroid/metrics/LogMaker;
-PLcom/android/server/notification/RankingHelper;->getDeletedChannelCount(Ljava/lang/String;I)I
-PLcom/android/server/notification/RankingHelper;->getImportance(Ljava/lang/String;I)I
-PLcom/android/server/notification/RankingHelper;->getIsAppImportanceLocked(Ljava/lang/String;I)Z
-PLcom/android/server/notification/RankingHelper;->getNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;I)Landroid/app/NotificationChannelGroup;
-PLcom/android/server/notification/RankingHelper;->getNotificationChannelGroups(Ljava/lang/String;IZZ)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/notification/RankingHelper;->getNotificationChannels(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/notification/RankingHelper;->getRecord(Ljava/lang/String;I)Lcom/android/server/notification/RankingHelper$Record;
-PLcom/android/server/notification/RankingHelper;->isGroupBlocked(Ljava/lang/String;ILjava/lang/String;)Z
-PLcom/android/server/notification/RankingHelper;->onPackagesChanged(ZI[Ljava/lang/String;[I)V
-PLcom/android/server/notification/RankingHelper;->onlyHasDefaultChannel(Ljava/lang/String;I)Z
-PLcom/android/server/notification/RankingHelper;->readXml(Lorg/xmlpull/v1/XmlPullParser;Z)V
-PLcom/android/server/notification/RankingHelper;->setEnabled(Ljava/lang/String;IZ)V
-PLcom/android/server/notification/RankingHelper;->setImportance(Ljava/lang/String;II)V
-PLcom/android/server/notification/RankingHelper;->shouldHaveDefaultChannel(Lcom/android/server/notification/RankingHelper$Record;)Z
-PLcom/android/server/notification/RankingHelper;->updateBadgingEnabled()V
-PLcom/android/server/notification/RankingHelper;->updateChannelsBypassingDnd()V
+PLcom/android/server/notification/NotificationUsageStats;->registerUpdatedByApp(Lcom/android/server/notification/NotificationRecord;Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/PreferencesHelper;->areBubblesAllowed(Ljava/lang/String;I)Z
+PLcom/android/server/notification/PreferencesHelper;->badgingEnabled(Landroid/os/UserHandle;)Z
+PLcom/android/server/notification/PreferencesHelper;->bubblesEnabled(Landroid/os/UserHandle;)Z
+PLcom/android/server/notification/PreferencesHelper;->canShowBadge(Ljava/lang/String;I)Z
+PLcom/android/server/notification/PreferencesHelper;->clearLockedFields(Landroid/app/NotificationChannel;)V
+PLcom/android/server/notification/PreferencesHelper;->createNotificationChannelGroup(Ljava/lang/String;ILandroid/app/NotificationChannelGroup;Z)V
+PLcom/android/server/notification/PreferencesHelper;->dumpBansJson(Lcom/android/server/notification/NotificationManagerService$DumpFilter;)Lorg/json/JSONArray;
+PLcom/android/server/notification/PreferencesHelper;->dumpChannelsJson(Lcom/android/server/notification/NotificationManagerService$DumpFilter;)Lorg/json/JSONArray;
+PLcom/android/server/notification/PreferencesHelper;->dumpJson(Lcom/android/server/notification/NotificationManagerService$DumpFilter;)Lorg/json/JSONObject;
+PLcom/android/server/notification/PreferencesHelper;->getAppsBypassingDndCount(I)I
+PLcom/android/server/notification/PreferencesHelper;->getBlockedChannelCount(Ljava/lang/String;I)I
+PLcom/android/server/notification/PreferencesHelper;->getChannelLog(Landroid/app/NotificationChannel;Ljava/lang/String;)Landroid/metrics/LogMaker;
+PLcom/android/server/notification/PreferencesHelper;->getImportance(Ljava/lang/String;I)I
+PLcom/android/server/notification/PreferencesHelper;->getIsAppImportanceLocked(Ljava/lang/String;I)Z
+PLcom/android/server/notification/PreferencesHelper;->getNotificationChannelGroup(Ljava/lang/String;Ljava/lang/String;I)Landroid/app/NotificationChannelGroup;
+PLcom/android/server/notification/PreferencesHelper;->getNotificationChannelGroups(Ljava/lang/String;IZZZ)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/notification/PreferencesHelper;->getNotificationChannels(Ljava/lang/String;IZ)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/notification/PreferencesHelper;->getPackageBans()Ljava/util/Map;
+PLcom/android/server/notification/PreferencesHelper;->getPackageChannels()Ljava/util/Map;
+PLcom/android/server/notification/PreferencesHelper;->lockFieldsForUpdate(Landroid/app/NotificationChannel;Landroid/app/NotificationChannel;)V
+PLcom/android/server/notification/PreferencesHelper;->onPackagesChanged(ZI[Ljava/lang/String;[I)V
+PLcom/android/server/notification/PreferencesHelper;->onUserUnlocked(I)V
+PLcom/android/server/notification/PreferencesHelper;->onlyHasDefaultChannel(Ljava/lang/String;I)Z
+PLcom/android/server/notification/PreferencesHelper;->updateNotificationChannel(Ljava/lang/String;ILandroid/app/NotificationChannel;Z)V
+PLcom/android/server/notification/PriorityExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/RankingHelper;->extractSignals(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/RankingHelper;->findExtractor(Ljava/lang/Class;)Lcom/android/server/notification/NotificationSignalExtractor;
+PLcom/android/server/notification/RankingHelper;->indexOf(Ljava/util/ArrayList;Lcom/android/server/notification/NotificationRecord;)I
 PLcom/android/server/notification/RankingReconsideration;-><init>(Ljava/lang/String;J)V
 PLcom/android/server/notification/RankingReconsideration;->getDelay(Ljava/util/concurrent/TimeUnit;)J
 PLcom/android/server/notification/RankingReconsideration;->getKey()Ljava/lang/String;
-PLcom/android/server/notification/RateEstimator;-><init>()V
+PLcom/android/server/notification/RankingReconsideration;->run()V
 PLcom/android/server/notification/RateEstimator;->getInterarrivalEstimate(J)D
 PLcom/android/server/notification/RateEstimator;->getRate(J)F
 PLcom/android/server/notification/RateEstimator;->update(J)F
-PLcom/android/server/notification/ScheduleConditionProvider$1;-><init>(Lcom/android/server/notification/ScheduleConditionProvider;)V
-PLcom/android/server/notification/ScheduleConditionProvider$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/notification/ScheduleConditionProvider;-><init>()V
-PLcom/android/server/notification/ScheduleConditionProvider;->access$100(Lcom/android/server/notification/ScheduleConditionProvider;)V
-PLcom/android/server/notification/ScheduleConditionProvider;->asInterface()Landroid/service/notification/IConditionProvider;
-PLcom/android/server/notification/ScheduleConditionProvider;->attachBase(Landroid/content/Context;)V
 PLcom/android/server/notification/ScheduleConditionProvider;->conditionSnoozed(Landroid/net/Uri;)Z
-PLcom/android/server/notification/ScheduleConditionProvider;->createCondition(Landroid/net/Uri;ILjava/lang/String;)Landroid/service/notification/Condition;
-PLcom/android/server/notification/ScheduleConditionProvider;->evaluateSubscriptionLocked(Landroid/net/Uri;Landroid/service/notification/ScheduleCalendar;JJ)Landroid/service/notification/Condition;
-PLcom/android/server/notification/ScheduleConditionProvider;->evaluateSubscriptions()V
-PLcom/android/server/notification/ScheduleConditionProvider;->getComponent()Landroid/content/ComponentName;
-PLcom/android/server/notification/ScheduleConditionProvider;->getNextAlarm()J
-PLcom/android/server/notification/ScheduleConditionProvider;->isValidConditionId(Landroid/net/Uri;)Z
-PLcom/android/server/notification/ScheduleConditionProvider;->onBootComplete()V
-PLcom/android/server/notification/ScheduleConditionProvider;->onConnected()V
-PLcom/android/server/notification/ScheduleConditionProvider;->onSubscribe(Landroid/net/Uri;)V
-PLcom/android/server/notification/ScheduleConditionProvider;->readSnoozed()V
-PLcom/android/server/notification/ScheduleConditionProvider;->removeSnoozed(Landroid/net/Uri;)V
-PLcom/android/server/notification/ScheduleConditionProvider;->saveSnoozedLocked()V
-PLcom/android/server/notification/ScheduleConditionProvider;->setRegistered(Z)V
-PLcom/android/server/notification/ScheduleConditionProvider;->updateAlarm(JJ)V
-PLcom/android/server/notification/SnoozeHelper$1;-><init>(Lcom/android/server/notification/SnoozeHelper;)V
-PLcom/android/server/notification/SnoozeHelper;-><init>(Landroid/content/Context;Lcom/android/server/notification/SnoozeHelper$Callback;Lcom/android/server/notification/ManagedServices$UserProfiles;)V
-PLcom/android/server/notification/SnoozeHelper;->cancel(ILjava/lang/String;)Z
-PLcom/android/server/notification/SnoozeHelper;->cancel(ILjava/lang/String;Ljava/lang/String;I)Z
-PLcom/android/server/notification/SnoozeHelper;->getSnoozed(ILjava/lang/String;)Ljava/util/Collection;
 PLcom/android/server/notification/SnoozeHelper;->isSnoozed(ILjava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/notification/SnoozeHelper;->repostGroupSummary(Ljava/lang/String;ILjava/lang/String;)V
-PLcom/android/server/notification/SystemConditionProviderService;-><init>()V
-PLcom/android/server/notification/SystemConditionProviderService;->formatDuration(J)Ljava/lang/String;
-PLcom/android/server/notification/SystemConditionProviderService;->ts(J)Ljava/lang/String;
-PLcom/android/server/notification/ValidateNotificationPeople$1;-><init>(Lcom/android/server/notification/ValidateNotificationPeople;Landroid/os/Handler;)V
 PLcom/android/server/notification/ValidateNotificationPeople$1;->onChange(ZLandroid/net/Uri;I)V
-PLcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;-><init>(Lcom/android/server/notification/ValidateNotificationPeople;Landroid/content/Context;Ljava/lang/String;Ljava/util/LinkedList;)V
-PLcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;-><init>(Lcom/android/server/notification/ValidateNotificationPeople;Landroid/content/Context;Ljava/lang/String;Ljava/util/LinkedList;Lcom/android/server/notification/ValidateNotificationPeople$1;)V
+PLcom/android/server/notification/ValidateNotificationPeople$2;->run()V
+PLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->getAffinity()F
+PLcom/android/server/notification/ValidateNotificationPeople$LookupResult;->mergeContact(Landroid/database/Cursor;)V
 PLcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;->applyChangesLocked(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;->getContactAffinity()F
 PLcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;->setRecord(Lcom/android/server/notification/NotificationRecord;)V
-PLcom/android/server/notification/ValidateNotificationPeople;-><init>()V
-PLcom/android/server/notification/ValidateNotificationPeople;->access$100(Lcom/android/server/notification/ValidateNotificationPeople;)I
-PLcom/android/server/notification/ValidateNotificationPeople;->access$1000(Lcom/android/server/notification/ValidateNotificationPeople;)Lcom/android/server/notification/NotificationUsageStats;
-PLcom/android/server/notification/ValidateNotificationPeople;->access$108(Lcom/android/server/notification/ValidateNotificationPeople;)I
-PLcom/android/server/notification/ValidateNotificationPeople;->access$200()Z
-PLcom/android/server/notification/ValidateNotificationPeople;->access$700(Lcom/android/server/notification/ValidateNotificationPeople;Landroid/content/Context;Ljava/lang/String;)Lcom/android/server/notification/ValidateNotificationPeople$LookupResult;
-PLcom/android/server/notification/ValidateNotificationPeople;->access$900(Lcom/android/server/notification/ValidateNotificationPeople;ILjava/lang/String;)Ljava/lang/String;
-PLcom/android/server/notification/ValidateNotificationPeople;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-PLcom/android/server/notification/ValidateNotificationPeople;->resolveEmailContact(Landroid/content/Context;Ljava/lang/String;)Lcom/android/server/notification/ValidateNotificationPeople$LookupResult;
+PLcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;->work()V
+PLcom/android/server/notification/ValidateNotificationPeople;->combineLists([Ljava/lang/String;[Ljava/lang/String;)[Ljava/lang/String;
+PLcom/android/server/notification/ValidateNotificationPeople;->getContactAffinity(Landroid/os/UserHandle;Landroid/os/Bundle;IF)F
+PLcom/android/server/notification/ValidateNotificationPeople;->getContextAsUser(Landroid/os/UserHandle;)Landroid/content/Context;
+PLcom/android/server/notification/ValidateNotificationPeople;->getExtraPeopleForKey(Landroid/os/Bundle;Ljava/lang/String;)[Ljava/lang/String;
+PLcom/android/server/notification/ValidateNotificationPeople;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
 PLcom/android/server/notification/ValidateNotificationPeople;->searchContacts(Landroid/content/Context;Landroid/net/Uri;)Lcom/android/server/notification/ValidateNotificationPeople$LookupResult;
-PLcom/android/server/notification/ValidateNotificationPeople;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-PLcom/android/server/notification/ValidateNotificationPeople;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-PLcom/android/server/notification/VisibilityExtractor;-><init>()V
-PLcom/android/server/notification/VisibilityExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-PLcom/android/server/notification/VisibilityExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-PLcom/android/server/notification/VisibilityExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-PLcom/android/server/notification/ZenLog;->append(ILjava/lang/String;)V
-PLcom/android/server/notification/ZenLog;->subscribeResult(Landroid/service/notification/IConditionProvider;Landroid/os/RemoteException;)Ljava/lang/String;
-PLcom/android/server/notification/ZenLog;->traceConfig(Ljava/lang/String;Landroid/service/notification/ZenModeConfig;Landroid/service/notification/ZenModeConfig;)V
-PLcom/android/server/notification/ZenLog;->traceSetZenMode(ILjava/lang/String;)V
-PLcom/android/server/notification/ZenLog;->traceSubscribe(Landroid/net/Uri;Landroid/service/notification/IConditionProvider;Landroid/os/RemoteException;)V
-PLcom/android/server/notification/ZenLog;->typeToString(I)Ljava/lang/String;
-PLcom/android/server/notification/ZenLog;->zenModeToString(I)Ljava/lang/String;
-PLcom/android/server/notification/ZenModeConditions;-><init>(Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/ConditionProviders;)V
-PLcom/android/server/notification/ZenModeConditions;->evaluateConfig(Landroid/service/notification/ZenModeConfig;Z)V
-PLcom/android/server/notification/ZenModeConditions;->evaluateRule(Landroid/service/notification/ZenModeConfig$ZenRule;Landroid/util/ArraySet;Z)V
-PLcom/android/server/notification/ZenModeConditions;->onBootComplete()V
-PLcom/android/server/notification/ZenModeConditions;->onConditionChanged(Landroid/net/Uri;Landroid/service/notification/Condition;)V
+PLcom/android/server/notification/ValidateNotificationPeople;->validatePeople(Landroid/content/Context;Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/ValidateNotificationPeople;->validatePeople(Landroid/content/Context;Ljava/lang/String;Landroid/os/Bundle;Ljava/util/List;[F)Lcom/android/server/notification/ValidateNotificationPeople$PeopleRankingReconsideration;
+PLcom/android/server/notification/VisibilityExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/ZenLog;->componentListToString(Ljava/util/List;)Ljava/lang/String;
+PLcom/android/server/notification/ZenLog;->traceEffectsSuppressorChanged(Ljava/util/List;Ljava/util/List;J)V
+PLcom/android/server/notification/ZenLog;->traceIntercepted(Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;)V
+PLcom/android/server/notification/ZenLog;->traceListenerHintsChanged(III)V
+PLcom/android/server/notification/ZenLog;->traceNotIntercepted(Lcom/android/server/notification/NotificationRecord;Ljava/lang/String;)V
+PLcom/android/server/notification/ZenLog;->traceSetNotificationPolicy(Ljava/lang/String;ILandroid/app/NotificationManager$Policy;)V
 PLcom/android/server/notification/ZenModeConditions;->onServiceAdded(Landroid/content/ComponentName;)V
-PLcom/android/server/notification/ZenModeConditions;->onUserSwitched()V
-PLcom/android/server/notification/ZenModeConditions;->updateCondition(Landroid/net/Uri;Landroid/service/notification/Condition;Landroid/service/notification/ZenModeConfig$ZenRule;)Z
-PLcom/android/server/notification/ZenModeConditions;->updateSnoozing(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
-PLcom/android/server/notification/ZenModeExtractor;-><init>()V
-PLcom/android/server/notification/ZenModeExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
-PLcom/android/server/notification/ZenModeExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
-PLcom/android/server/notification/ZenModeExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
-PLcom/android/server/notification/ZenModeFiltering$RepeatCallers;-><init>()V
-PLcom/android/server/notification/ZenModeFiltering$RepeatCallers;-><init>(Lcom/android/server/notification/ZenModeFiltering$1;)V
-PLcom/android/server/notification/ZenModeFiltering;-><init>(Landroid/content/Context;)V
-PLcom/android/server/notification/ZenModeHelper$Callback;-><init>()V
-PLcom/android/server/notification/ZenModeHelper$Callback;->onConfigChanged()V
-PLcom/android/server/notification/ZenModeHelper$Callback;->onPolicyChanged()V
-PLcom/android/server/notification/ZenModeHelper$H$ConfigMessageData;-><init>(Lcom/android/server/notification/ZenModeHelper$H;Landroid/service/notification/ZenModeConfig;Ljava/lang/String;Z)V
-PLcom/android/server/notification/ZenModeHelper$H;-><init>(Lcom/android/server/notification/ZenModeHelper;Landroid/os/Looper;)V
-PLcom/android/server/notification/ZenModeHelper$H;-><init>(Lcom/android/server/notification/ZenModeHelper;Landroid/os/Looper;Lcom/android/server/notification/ZenModeHelper$1;)V
-PLcom/android/server/notification/ZenModeHelper$H;->access$200(Lcom/android/server/notification/ZenModeHelper$H;)V
-PLcom/android/server/notification/ZenModeHelper$H;->access$300(Lcom/android/server/notification/ZenModeHelper$H;Landroid/service/notification/ZenModeConfig;Ljava/lang/String;Z)V
-PLcom/android/server/notification/ZenModeHelper$H;->access$400(Lcom/android/server/notification/ZenModeHelper$H;)V
-PLcom/android/server/notification/ZenModeHelper$H;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/notification/ZenModeHelper$H;->postApplyConfig(Landroid/service/notification/ZenModeConfig;Ljava/lang/String;Z)V
-PLcom/android/server/notification/ZenModeHelper$H;->postDispatchOnZenModeChanged()V
-PLcom/android/server/notification/ZenModeHelper$H;->postMetricsTimer()V
-PLcom/android/server/notification/ZenModeHelper$Metrics;-><init>(Lcom/android/server/notification/ZenModeHelper;)V
-PLcom/android/server/notification/ZenModeHelper$Metrics;-><init>(Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/ZenModeHelper$1;)V
-PLcom/android/server/notification/ZenModeHelper$Metrics;->emit()V
-PLcom/android/server/notification/ZenModeHelper$Metrics;->onZenModeChanged()V
-PLcom/android/server/notification/ZenModeHelper$RingerModeDelegate;-><init>(Lcom/android/server/notification/ZenModeHelper;)V
-PLcom/android/server/notification/ZenModeHelper$RingerModeDelegate;->getRingerModeAffectedStreams(I)I
-PLcom/android/server/notification/ZenModeHelper$RingerModeDelegate;->onSetRingerModeInternal(IILjava/lang/String;ILandroid/media/VolumePolicy;)I
-PLcom/android/server/notification/ZenModeHelper$SettingsObserver;-><init>(Lcom/android/server/notification/ZenModeHelper;Landroid/os/Handler;)V
-PLcom/android/server/notification/ZenModeHelper$SettingsObserver;->observe()V
+PLcom/android/server/notification/ZenModeExtractor;->process(Lcom/android/server/notification/NotificationRecord;)Lcom/android/server/notification/RankingReconsideration;
+PLcom/android/server/notification/ZenModeFiltering$RepeatCallers;->cleanUp(Landroid/util/ArrayMap;J)V
+PLcom/android/server/notification/ZenModeFiltering$RepeatCallers;->peopleString(Landroid/os/Bundle;)Ljava/lang/String;
+PLcom/android/server/notification/ZenModeFiltering$RepeatCallers;->recordCall(Landroid/content/Context;Landroid/os/Bundle;)V
+PLcom/android/server/notification/ZenModeFiltering;->audienceMatches(IF)Z
+PLcom/android/server/notification/ZenModeFiltering;->isCall(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/ZenModeFiltering;->isDefaultPhoneApp(Ljava/lang/String;)Z
+PLcom/android/server/notification/ZenModeFiltering;->isMedia(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/ZenModeFiltering;->isMessage(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/ZenModeFiltering;->isSystem(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/ZenModeFiltering;->matchesCallFilter(Landroid/content/Context;ILandroid/app/NotificationManager$Policy;Landroid/os/UserHandle;Landroid/os/Bundle;Lcom/android/server/notification/ValidateNotificationPeople;IF)Z
+PLcom/android/server/notification/ZenModeFiltering;->recordCall(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/ZenModeFiltering;->shouldIntercept(ILandroid/app/NotificationManager$Policy;Lcom/android/server/notification/NotificationRecord;)Z
 PLcom/android/server/notification/ZenModeHelper$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
-PLcom/android/server/notification/ZenModeHelper$SettingsObserver;->update(Landroid/net/Uri;)V
-PLcom/android/server/notification/ZenModeHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/notification/ConditionProviders;)V
-PLcom/android/server/notification/ZenModeHelper;->access$1000(Lcom/android/server/notification/ZenModeHelper;)V
-PLcom/android/server/notification/ZenModeHelper;->access$1300(Lcom/android/server/notification/ZenModeHelper;Landroid/service/notification/ZenModeConfig;Ljava/lang/String;Z)V
-PLcom/android/server/notification/ZenModeHelper;->access$500(Lcom/android/server/notification/ZenModeHelper;Ljava/lang/Integer;)V
-PLcom/android/server/notification/ZenModeHelper;->access$700(Lcom/android/server/notification/ZenModeHelper;)Landroid/content/Context;
-PLcom/android/server/notification/ZenModeHelper;->access$800(Lcom/android/server/notification/ZenModeHelper;)I
-PLcom/android/server/notification/ZenModeHelper;->access$900(Lcom/android/server/notification/ZenModeHelper;)Lcom/android/server/notification/ZenModeHelper$H;
-PLcom/android/server/notification/ZenModeHelper;->addCallback(Lcom/android/server/notification/ZenModeHelper$Callback;)V
-PLcom/android/server/notification/ZenModeHelper;->appendDefaultEventRules(Landroid/service/notification/ZenModeConfig;)V
-PLcom/android/server/notification/ZenModeHelper;->appendDefaultEveryNightRule(Landroid/service/notification/ZenModeConfig;)V
-PLcom/android/server/notification/ZenModeHelper;->appendDefaultRules(Landroid/service/notification/ZenModeConfig;)V
-PLcom/android/server/notification/ZenModeHelper;->applyConfig(Landroid/service/notification/ZenModeConfig;Ljava/lang/String;Z)V
-PLcom/android/server/notification/ZenModeHelper;->applyRestrictions()V
-PLcom/android/server/notification/ZenModeHelper;->applyRestrictions(ZI)V
-PLcom/android/server/notification/ZenModeHelper;->applyZenToRingerMode()V
 PLcom/android/server/notification/ZenModeHelper;->canManageAutomaticZenRule(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
-PLcom/android/server/notification/ZenModeHelper;->cleanUpZenRules()V
-PLcom/android/server/notification/ZenModeHelper;->computeZenMode()I
-PLcom/android/server/notification/ZenModeHelper;->dispatchOnConfigChanged()V
-PLcom/android/server/notification/ZenModeHelper;->dispatchOnPolicyChanged()V
-PLcom/android/server/notification/ZenModeHelper;->dispatchOnZenModeChanged()V
-PLcom/android/server/notification/ZenModeHelper;->evaluateZenMode(Ljava/lang/String;Z)Z
-PLcom/android/server/notification/ZenModeHelper;->getConfig()Landroid/service/notification/ZenModeConfig;
-PLcom/android/server/notification/ZenModeHelper;->getDefaultRuleNames()V
-PLcom/android/server/notification/ZenModeHelper;->getZenMode()I
-PLcom/android/server/notification/ZenModeHelper;->getZenModeListenerInterruptionFilter()I
-PLcom/android/server/notification/ZenModeHelper;->getZenModeSetting()I
+PLcom/android/server/notification/ZenModeHelper;->createAutomaticZenRule(Landroid/service/notification/ZenModeConfig$ZenRule;)Landroid/app/AutomaticZenRule;
+PLcom/android/server/notification/ZenModeHelper;->getAutomaticZenRule(Ljava/lang/String;)Landroid/app/AutomaticZenRule;
+PLcom/android/server/notification/ZenModeHelper;->getSuppressedEffects()J
 PLcom/android/server/notification/ZenModeHelper;->getZenRules()Ljava/util/List;
-PLcom/android/server/notification/ZenModeHelper;->initZenMode()V
 PLcom/android/server/notification/ZenModeHelper;->isCall(Lcom/android/server/notification/NotificationRecord;)Z
-PLcom/android/server/notification/ZenModeHelper;->loadConfigForUser(ILjava/lang/String;)V
-PLcom/android/server/notification/ZenModeHelper;->onSystemReady()V
-PLcom/android/server/notification/ZenModeHelper;->onUserSwitched(I)V
+PLcom/android/server/notification/ZenModeHelper;->matchesCallFilter(Landroid/os/UserHandle;Landroid/os/Bundle;Lcom/android/server/notification/ValidateNotificationPeople;IF)Z
 PLcom/android/server/notification/ZenModeHelper;->onUserUnlocked(I)V
-PLcom/android/server/notification/ZenModeHelper;->readDefaultConfig(Landroid/content/res/Resources;)Landroid/service/notification/ZenModeConfig;
-PLcom/android/server/notification/ZenModeHelper;->readXml(Lorg/xmlpull/v1/XmlPullParser;Z)V
-PLcom/android/server/notification/ZenModeHelper;->setConfig(Landroid/service/notification/ZenModeConfig;Ljava/lang/String;)V
-PLcom/android/server/notification/ZenModeHelper;->setConfigLocked(Landroid/service/notification/ZenModeConfig;Ljava/lang/String;)Z
-PLcom/android/server/notification/ZenModeHelper;->setConfigLocked(Landroid/service/notification/ZenModeConfig;Ljava/lang/String;Z)Z
-PLcom/android/server/notification/ZenModeHelper;->setDefaultZenRules(Landroid/content/Context;)V
+PLcom/android/server/notification/ZenModeHelper;->populateZenRule(Landroid/app/AutomaticZenRule;Landroid/service/notification/ZenModeConfig$ZenRule;Z)V
+PLcom/android/server/notification/ZenModeHelper;->recordCaller(Lcom/android/server/notification/NotificationRecord;)V
+PLcom/android/server/notification/ZenModeHelper;->removeAutomaticZenRules(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/notification/ZenModeHelper;->setConfig(Landroid/service/notification/ZenModeConfig;Landroid/content/ComponentName;Ljava/lang/String;)V
 PLcom/android/server/notification/ZenModeHelper;->setManualZenMode(ILandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/notification/ZenModeHelper;->setManualZenMode(ILandroid/net/Uri;Ljava/lang/String;Ljava/lang/String;Z)V
-PLcom/android/server/notification/ZenModeHelper;->setPreviousRingerModeSetting(Ljava/lang/Integer;)V
-PLcom/android/server/notification/ZenModeHelper;->setZenModeSetting(I)V
-PLcom/android/server/notification/ZenModeHelper;->showZenUpgradeNotification(I)V
-PLcom/android/server/notification/ZenModeHelper;->updateRingerModeAffectedStreams()V
-PLcom/android/server/notification/ZenModeHelper;->writeXml(Lorg/xmlpull/v1/XmlSerializer;ZLjava/lang/Integer;)V
-PLcom/android/server/oemlock/-$$Lambda$VendorLock$Xnx-_jv8ufdo_3b8_MqM0reCecE;-><init>([Ljava/lang/Integer;[Ljava/lang/Boolean;)V
-PLcom/android/server/oemlock/-$$Lambda$VendorLock$Xnx-_jv8ufdo_3b8_MqM0reCecE;->onValues(IZ)V
-PLcom/android/server/oemlock/OemLock;-><init>()V
-PLcom/android/server/oemlock/OemLockService$1;-><init>(Lcom/android/server/oemlock/OemLockService;)V
-PLcom/android/server/oemlock/OemLockService$1;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
-PLcom/android/server/oemlock/OemLockService$2;-><init>(Lcom/android/server/oemlock/OemLockService;)V
-PLcom/android/server/oemlock/OemLockService$2;->isDeviceOemUnlocked()Z
-PLcom/android/server/oemlock/OemLockService$2;->isOemUnlockAllowed()Z
-PLcom/android/server/oemlock/OemLockService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/oemlock/OemLockService;-><init>(Landroid/content/Context;Lcom/android/server/oemlock/OemLock;)V
-PLcom/android/server/oemlock/OemLockService;->access$000(Lcom/android/server/oemlock/OemLockService;)Lcom/android/server/oemlock/OemLock;
-PLcom/android/server/oemlock/OemLockService;->access$100(Lcom/android/server/oemlock/OemLockService;Z)V
-PLcom/android/server/oemlock/OemLockService;->access$600(Lcom/android/server/oemlock/OemLockService;)V
-PLcom/android/server/oemlock/OemLockService;->enforceOemUnlockReadPermission()V
-PLcom/android/server/oemlock/OemLockService;->getOemLock(Landroid/content/Context;)Lcom/android/server/oemlock/OemLock;
-PLcom/android/server/oemlock/OemLockService;->onStart()V
-PLcom/android/server/oemlock/OemLockService;->setPersistentDataBlockOemUnlockAllowedBit(Z)V
-PLcom/android/server/oemlock/VendorLock;-><init>(Landroid/content/Context;Landroid/hardware/oemlock/V1_0/IOemLock;)V
-PLcom/android/server/oemlock/VendorLock;->getOemLockHalService()Landroid/hardware/oemlock/V1_0/IOemLock;
+PLcom/android/server/notification/ZenModeHelper;->setNotificationPolicy(Landroid/app/NotificationManager$Policy;)V
+PLcom/android/server/notification/ZenModeHelper;->setSuppressedEffects(J)V
+PLcom/android/server/notification/ZenModeHelper;->shouldIntercept(Lcom/android/server/notification/NotificationRecord;)Z
+PLcom/android/server/notification/ZenModeHelper;->updateAutomaticZenRule(Ljava/lang/String;Landroid/app/AutomaticZenRule;Ljava/lang/String;)Z
+PLcom/android/server/oemlock/-$$Lambda$VendorLock$HjegvthxXAHFarV_FukbaMGePGU;->onValues(IZ)V
+PLcom/android/server/oemlock/OemLockService$2;->isOemUnlockAllowedByCarrier()Z
+PLcom/android/server/oemlock/OemLockService$2;->setOemUnlockAllowedByCarrier(Z[B)V
+PLcom/android/server/oemlock/OemLockService;->enforceUserIsAdmin()V
 PLcom/android/server/oemlock/VendorLock;->isOemUnlockAllowedByCarrier()Z
-PLcom/android/server/oemlock/VendorLock;->lambda$isOemUnlockAllowedByCarrier$0([Ljava/lang/Integer;[Ljava/lang/Boolean;IZ)V
-PLcom/android/server/om/-$$Lambda$OverlayManagerService$OverlayChangeListener$u9oeN2C0PDMo0pYiLqfMBkwuMNA;-><init>(Lcom/android/server/om/OverlayManagerService$OverlayChangeListener;ILjava/lang/String;)V
+PLcom/android/server/oemlock/VendorLock;->setOemUnlockAllowedByCarrier(Z[B)V
 PLcom/android/server/om/-$$Lambda$OverlayManagerService$OverlayChangeListener$u9oeN2C0PDMo0pYiLqfMBkwuMNA;->run()V
-PLcom/android/server/om/-$$Lambda$OverlayManagerService$YGMOwF5u3kvuRAEYnGl_xpXcVC4;-><init>(Lcom/android/server/om/OverlayManagerService;)V
-PLcom/android/server/om/-$$Lambda$OverlayManagerService$YGMOwF5u3kvuRAEYnGl_xpXcVC4;->run()V
-PLcom/android/server/om/-$$Lambda$OverlayManagerService$mX9VnR-_2XOwgKo9C81uZcpqETM;-><init>(Lcom/android/server/om/OverlayManagerService;)V
-PLcom/android/server/om/-$$Lambda$OverlayManagerService$mX9VnR-_2XOwgKo9C81uZcpqETM;->run()V
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$ATr0DZmWpSWdKD0COw4t2qS-DRk;-><init>()V
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$ATr0DZmWpSWdKD0COw4t2qS-DRk;->test(Ljava/lang/Object;)Z
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$IkswmT9ZZJXmNAztGRVrD3hODMw;-><init>()V
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$IkswmT9ZZJXmNAztGRVrD3hODMw;->test(Ljava/lang/Object;)Z
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$WYtPK6Ebqjgxm8_8Cot-ijv_z_8;-><init>()V
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$WYtPK6Ebqjgxm8_8Cot-ijv_z_8;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$bX7CTrJVR3B_eQmD43OOHtRIxgw;-><init>(I)V
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$bX7CTrJVR3B_eQmD43OOHtRIxgw;->test(Ljava/lang/Object;)Z
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$bXuJGR0fITXNwGnQfQHv9KS-XgY;-><init>()V
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$bXuJGR0fITXNwGnQfQHv9KS-XgY;->get()Ljava/lang/Object;
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$jZUujzDxrP0hpAqUxnqEf-b-nQc;-><init>()V
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$jZUujzDxrP0hpAqUxnqEf-b-nQc;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$mq-CHAn1jQBVquxuOUv0eQANHIY;-><init>(Ljava/lang/String;)V
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$mq-CHAn1jQBVquxuOUv0eQANHIY;->test(Ljava/lang/Object;)Z
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$sx0Nyvq91kCH_A-4Ctf09G_0u9M;-><init>()V
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$sx0Nyvq91kCH_A-4Ctf09G_0u9M;->apply(Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$vXm2C4y9Q-F5yYZNimB-Lr6w-oI;-><init>()V
-PLcom/android/server/om/-$$Lambda$OverlayManagerSettings$vXm2C4y9Q-F5yYZNimB-Lr6w-oI;->applyAsInt(Ljava/lang/Object;)I
-PLcom/android/server/om/IdmapManager;-><init>(Lcom/android/server/pm/Installer;)V
-PLcom/android/server/om/IdmapManager;->createIdmap(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;I)Z
-PLcom/android/server/om/IdmapManager;->getIdmapPath(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/om/IdmapManager;->idmapExists(Landroid/content/pm/PackageInfo;I)Z
-PLcom/android/server/om/OverlayManagerService$1;-><init>(Lcom/android/server/om/OverlayManagerService;)V
-PLcom/android/server/om/OverlayManagerService$1;->getOverlayInfo(Ljava/lang/String;I)Landroid/content/om/OverlayInfo;
+PLcom/android/server/om/IdmapManager;->idmapExists(Landroid/content/om/OverlayInfo;)Z
+PLcom/android/server/om/IdmapManager;->removeIdmap(Landroid/content/om/OverlayInfo;I)Z
 PLcom/android/server/om/OverlayManagerService$1;->getOverlayInfosForTarget(Ljava/lang/String;I)Ljava/util/List;
-PLcom/android/server/om/OverlayManagerService$1;->handleIncomingUser(ILjava/lang/String;)I
-PLcom/android/server/om/OverlayManagerService$OverlayChangeListener;-><init>(Lcom/android/server/om/OverlayManagerService;)V
-PLcom/android/server/om/OverlayManagerService$OverlayChangeListener;-><init>(Lcom/android/server/om/OverlayManagerService;Lcom/android/server/om/OverlayManagerService$1;)V
+PLcom/android/server/om/OverlayManagerService$OverlayChangeListener;->lambda$onOverlaysChanged$0$OverlayManagerService$OverlayChangeListener(ILjava/lang/String;)V
 PLcom/android/server/om/OverlayManagerService$OverlayChangeListener;->lambda$onOverlaysChanged$0(Lcom/android/server/om/OverlayManagerService$OverlayChangeListener;ILjava/lang/String;)V
 PLcom/android/server/om/OverlayManagerService$OverlayChangeListener;->onOverlaysChanged(Ljava/lang/String;I)V
-PLcom/android/server/om/OverlayManagerService$PackageManagerHelper;-><init>()V
-PLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->cachePackageInfo(Ljava/lang/String;ILandroid/content/pm/PackageInfo;)V
-PLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->forgetPackageInfo(Ljava/lang/String;I)V
-PLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->getCachedPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
-PLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->getOverlayPackages(I)Ljava/util/List;
-PLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
-PLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->getPackageInfo(Ljava/lang/String;IZ)Landroid/content/pm/PackageInfo;
-PLcom/android/server/om/OverlayManagerService$PackageReceiver;-><init>(Lcom/android/server/om/OverlayManagerService;)V
-PLcom/android/server/om/OverlayManagerService$PackageReceiver;-><init>(Lcom/android/server/om/OverlayManagerService;Lcom/android/server/om/OverlayManagerService$1;)V
 PLcom/android/server/om/OverlayManagerService$PackageReceiver;->onPackageAdded(Ljava/lang/String;[I)V
 PLcom/android/server/om/OverlayManagerService$PackageReceiver;->onPackageChanged(Ljava/lang/String;[I)V
+PLcom/android/server/om/OverlayManagerService$PackageReceiver;->onPackageRemoved(Ljava/lang/String;[I)V
 PLcom/android/server/om/OverlayManagerService$PackageReceiver;->onPackageUpgraded(Ljava/lang/String;[I)V
 PLcom/android/server/om/OverlayManagerService$PackageReceiver;->onPackageUpgrading(Ljava/lang/String;[I)V
 PLcom/android/server/om/OverlayManagerService$PackageReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/om/OverlayManagerService$UserReceiver;-><init>(Lcom/android/server/om/OverlayManagerService;)V
-PLcom/android/server/om/OverlayManagerService$UserReceiver;-><init>(Lcom/android/server/om/OverlayManagerService;Lcom/android/server/om/OverlayManagerService$1;)V
-PLcom/android/server/om/OverlayManagerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/Installer;)V
-PLcom/android/server/om/OverlayManagerService;->access$200(Lcom/android/server/om/OverlayManagerService;)Ljava/lang/Object;
-PLcom/android/server/om/OverlayManagerService;->access$300(Lcom/android/server/om/OverlayManagerService;)Lcom/android/server/om/OverlayManagerService$PackageManagerHelper;
-PLcom/android/server/om/OverlayManagerService;->access$400(Lcom/android/server/om/OverlayManagerService;)Lcom/android/server/om/OverlayManagerServiceImpl;
-PLcom/android/server/om/OverlayManagerService;->access$600(Lcom/android/server/om/OverlayManagerService;)V
-PLcom/android/server/om/OverlayManagerService;->access$700(Lcom/android/server/om/OverlayManagerService;ILjava/lang/String;)V
-PLcom/android/server/om/OverlayManagerService;->getDefaultOverlayPackages()[Ljava/lang/String;
-PLcom/android/server/om/OverlayManagerService;->initIfNeeded()V
-PLcom/android/server/om/OverlayManagerService;->lambda$new$0(Lcom/android/server/om/OverlayManagerService;)V
-PLcom/android/server/om/OverlayManagerService;->lambda$schedulePersistSettings$1(Lcom/android/server/om/OverlayManagerService;)V
-PLcom/android/server/om/OverlayManagerService;->onBootPhase(I)V
-PLcom/android/server/om/OverlayManagerService;->onStart()V
-PLcom/android/server/om/OverlayManagerService;->onSwitchUser(I)V
-PLcom/android/server/om/OverlayManagerService;->restoreSettings()V
-PLcom/android/server/om/OverlayManagerService;->schedulePersistSettings()V
-PLcom/android/server/om/OverlayManagerService;->updateAssets(ILjava/lang/String;)V
-PLcom/android/server/om/OverlayManagerService;->updateAssets(ILjava/util/List;)V
-PLcom/android/server/om/OverlayManagerService;->updateOverlayPaths(ILjava/util/List;)V
-PLcom/android/server/om/OverlayManagerServiceImpl;-><init>(Lcom/android/server/om/OverlayManagerServiceImpl$PackageManagerHelper;Lcom/android/server/om/IdmapManager;Lcom/android/server/om/OverlayManagerSettings;[Ljava/lang/String;Lcom/android/server/om/OverlayManagerServiceImpl$OverlayChangeListener;)V
-PLcom/android/server/om/OverlayManagerServiceImpl;->calculateNewState(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;II)I
-PLcom/android/server/om/OverlayManagerServiceImpl;->getEnabledOverlayPackageNames(Ljava/lang/String;I)Ljava/util/List;
 PLcom/android/server/om/OverlayManagerServiceImpl;->getOverlayInfo(Ljava/lang/String;I)Landroid/content/om/OverlayInfo;
-PLcom/android/server/om/OverlayManagerServiceImpl;->getOverlayInfosForTarget(Ljava/lang/String;I)Ljava/util/List;
-PLcom/android/server/om/OverlayManagerServiceImpl;->mustReinitializeOverlay(Landroid/content/pm/PackageInfo;Landroid/content/om/OverlayInfo;)Z
-PLcom/android/server/om/OverlayManagerServiceImpl;->onTargetPackageAdded(Ljava/lang/String;I)V
-PLcom/android/server/om/OverlayManagerServiceImpl;->onTargetPackageChanged(Ljava/lang/String;I)V
-PLcom/android/server/om/OverlayManagerServiceImpl;->onTargetPackageUpgraded(Ljava/lang/String;I)V
-PLcom/android/server/om/OverlayManagerServiceImpl;->onTargetPackageUpgrading(Ljava/lang/String;I)V
+PLcom/android/server/om/OverlayManagerServiceImpl;->removeIdmapIfPossible(Landroid/content/om/OverlayInfo;)V
 PLcom/android/server/om/OverlayManagerServiceImpl;->updateAllOverlaysForTarget(Ljava/lang/String;II)Z
-PLcom/android/server/om/OverlayManagerServiceImpl;->updateOverlaysForUser(I)Ljava/util/ArrayList;
-PLcom/android/server/om/OverlayManagerServiceImpl;->updateState(Ljava/lang/String;Ljava/lang/String;II)Z
-PLcom/android/server/om/OverlayManagerSettings$BadKeyException;-><init>(Ljava/lang/String;I)V
-PLcom/android/server/om/OverlayManagerSettings$Serializer;->persist(Ljava/util/ArrayList;Ljava/io/OutputStream;)V
-PLcom/android/server/om/OverlayManagerSettings$Serializer;->persistRow(Lcom/android/internal/util/FastXmlSerializer;Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)V
-PLcom/android/server/om/OverlayManagerSettings$Serializer;->restore(Ljava/util/ArrayList;Ljava/io/InputStream;)V
-PLcom/android/server/om/OverlayManagerSettings$Serializer;->restoreRow(Lorg/xmlpull/v1/XmlPullParser;I)Lcom/android/server/om/OverlayManagerSettings$SettingsItem;
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;IZZILjava/lang/String;)V
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ZILjava/lang/String;)V
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$000(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Z)Z
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$100(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1000(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1100(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1300(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1400(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1500(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1600(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1700(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Ljava/lang/String;
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1800(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$1900(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$200(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$300(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Landroid/content/om/OverlayInfo;
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$400(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Ljava/lang/String;)Z
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$500(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;Ljava/lang/String;)Z
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$600(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$700(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$800(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;I)Z
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->access$900(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)I
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getOverlayInfo()Landroid/content/om/OverlayInfo;
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getState()I
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getTargetPackageName()Ljava/lang/String;
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->getUserId()I
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->invalidateCache()V
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->isEnabled()Z
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->isStatic()Z
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->setBaseCodePath(Ljava/lang/String;)Z
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->setCategory(Ljava/lang/String;)Z
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->setEnabled(Z)Z
-PLcom/android/server/om/OverlayManagerSettings$SettingsItem;->setState(I)Z
-PLcom/android/server/om/OverlayManagerSettings;-><init>()V
-PLcom/android/server/om/OverlayManagerSettings;->getEnabled(Ljava/lang/String;I)Z
-PLcom/android/server/om/OverlayManagerSettings;->getOverlayInfo(Ljava/lang/String;I)Landroid/content/om/OverlayInfo;
-PLcom/android/server/om/OverlayManagerSettings;->getOverlaysForTarget(Ljava/lang/String;I)Ljava/util/List;
-PLcom/android/server/om/OverlayManagerSettings;->getOverlaysForUser(I)Landroid/util/ArrayMap;
-PLcom/android/server/om/OverlayManagerSettings;->getState(Ljava/lang/String;I)I
-PLcom/android/server/om/OverlayManagerSettings;->getUsers()[I
-PLcom/android/server/om/OverlayManagerSettings;->init(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;ZILjava/lang/String;)V
-PLcom/android/server/om/OverlayManagerSettings;->lambda$bXuJGR0fITXNwGnQfQHv9KS-XgY()Landroid/util/ArrayMap;
-PLcom/android/server/om/OverlayManagerSettings;->lambda$getOverlaysForTarget$0(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
-PLcom/android/server/om/OverlayManagerSettings;->lambda$getOverlaysForTarget$1(Ljava/lang/Object;)Landroid/content/om/OverlayInfo;
-PLcom/android/server/om/OverlayManagerSettings;->lambda$getOverlaysForUser$2(Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
-PLcom/android/server/om/OverlayManagerSettings;->lambda$getOverlaysForUser$3(Ljava/lang/Object;)Landroid/content/om/OverlayInfo;
-PLcom/android/server/om/OverlayManagerSettings;->lambda$getOverlaysForUser$4(Landroid/content/om/OverlayInfo;)Ljava/lang/String;
-PLcom/android/server/om/OverlayManagerSettings;->lambda$getUsers$5(Ljava/lang/Object;)I
-PLcom/android/server/om/OverlayManagerSettings;->lambda$selectWhereTarget$7(Ljava/lang/String;Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
-PLcom/android/server/om/OverlayManagerSettings;->lambda$selectWhereUser$6(ILcom/android/server/om/OverlayManagerSettings$SettingsItem;)Z
-PLcom/android/server/om/OverlayManagerSettings;->persist(Ljava/io/OutputStream;)V
-PLcom/android/server/om/OverlayManagerSettings;->remove(Ljava/lang/String;I)Z
-PLcom/android/server/om/OverlayManagerSettings;->restore(Ljava/io/InputStream;)V
-PLcom/android/server/om/OverlayManagerSettings;->select(Ljava/lang/String;I)I
-PLcom/android/server/om/OverlayManagerSettings;->selectWhereTarget(Ljava/lang/String;I)Ljava/util/stream/Stream;
-PLcom/android/server/om/OverlayManagerSettings;->selectWhereUser(I)Ljava/util/stream/Stream;
-PLcom/android/server/om/OverlayManagerSettings;->setBaseCodePath(Ljava/lang/String;ILjava/lang/String;)Z
-PLcom/android/server/om/OverlayManagerSettings;->setCategory(Ljava/lang/String;ILjava/lang/String;)Z
-PLcom/android/server/om/OverlayManagerSettings;->setState(Ljava/lang/String;II)Z
-PLcom/android/server/os/-$$Lambda$SchedulingPolicyService$ao2OiSvvlyzmJ0li0c0nhHy-IDk;-><init>(Lcom/android/server/os/SchedulingPolicyService;)V
-PLcom/android/server/os/-$$Lambda$SchedulingPolicyService$ao2OiSvvlyzmJ0li0c0nhHy-IDk;->run()V
-PLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;->getSerial()Ljava/lang/String;
-PLcom/android/server/os/SchedulingPolicyService$1;-><init>(Lcom/android/server/os/SchedulingPolicyService;)V
-PLcom/android/server/os/SchedulingPolicyService;-><init>()V
-PLcom/android/server/os/SchedulingPolicyService;->disableCpusetBoost(I)I
-PLcom/android/server/os/SchedulingPolicyService;->isPermitted()Z
-PLcom/android/server/os/SchedulingPolicyService;->lambda$new$0(Lcom/android/server/os/SchedulingPolicyService;)V
-PLcom/android/server/os/SchedulingPolicyService;->requestPriority(IIIZ)I
+PLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;->getSerialForPackage(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/-$$Lambda$ApexManager$fDbC18mNN6grw85kgXXSUd-qPFA;-><init>()V
+PLcom/android/server/pm/-$$Lambda$ApexManager$fDbC18mNN6grw85kgXXSUd-qPFA;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$BackgroundDexOptService$-KiE2NsUP--OYmoSDt9BwEQICZw;->get()Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$BackgroundDexOptService$TAsfDUuoxt92xKFoSCfpMUmY2Es;->get()Ljava/lang/Object;
+PLcom/android/server/pm/-$$Lambda$FW40Da1L1EZJ_usDX0ew1qRMmtc;-><init>()V
+PLcom/android/server/pm/-$$Lambda$FW40Da1L1EZJ_usDX0ew1qRMmtc;->test(Ljava/lang/Object;)Z
 PLcom/android/server/pm/-$$Lambda$InstantAppRegistry$BuKCbLr_MGBazMPl54-pWTuGHYY;-><init>(J)V
-PLcom/android/server/pm/-$$Lambda$InstantAppRegistry$o-Qxi7Gaam-yhhMK-IMWv499oME;-><init>(Landroid/content/pm/PackageParser$Package;)V
-PLcom/android/server/pm/-$$Lambda$InstantAppResolverConnection$D-JKXi4qrYjnPQMOwj8UtfZenps;-><init>(Lcom/android/server/pm/InstantAppResolverConnection;)V
 PLcom/android/server/pm/-$$Lambda$InstantAppResolverConnection$D-JKXi4qrYjnPQMOwj8UtfZenps;->run()V
-PLcom/android/server/pm/-$$Lambda$LauncherAppsService$LauncherAppsImpl$MyPackageMonitor$eTair5Mvr14v4M0nq9aQEW2cp-Y;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;Ljava/lang/String;I)V
+PLcom/android/server/pm/-$$Lambda$K2g8Oho05j5S7zVOkoQrHzM_Gig;-><init>()V
+PLcom/android/server/pm/-$$Lambda$K2g8Oho05j5S7zVOkoQrHzM_Gig;->test(Ljava/lang/Object;)Z
 PLcom/android/server/pm/-$$Lambda$LauncherAppsService$LauncherAppsImpl$MyPackageMonitor$eTair5Mvr14v4M0nq9aQEW2cp-Y;->run()V
-PLcom/android/server/pm/-$$Lambda$PackageManagerService$1IFDaSQRqG4pqlUtBm87Yzturic;-><init>(Lcom/android/server/pm/PackageManagerService;[Ljava/lang/String;I)V
-PLcom/android/server/pm/-$$Lambda$PackageManagerService$1IFDaSQRqG4pqlUtBm87Yzturic;->runOrThrow()V
-PLcom/android/server/pm/-$$Lambda$PackageManagerService$Iz1l7RVtATr5Ybl_zHeYuCbGMvA;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
+PLcom/android/server/pm/-$$Lambda$PackageInstallerService$vra5ZkE3juVvcgDBu5xv0wVzno8;->test(I)Z
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$4R9Zu2zflm9xqt9wOD23IIJnqLs;->run()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$7HjdhhFZo8gOrsDCJlkCvdaQEOk;->run()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerService$Iz1l7RVtATr5Ybl_zHeYuCbGMvA;->run()V
-PLcom/android/server/pm/-$$Lambda$PackageManagerService$mOTJOturHO9FjzNA-qffT913E0M;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;)V
-PLcom/android/server/pm/-$$Lambda$PackageManagerService$mOTJOturHO9FjzNA-qffT913E0M;->run()V
-PLcom/android/server/pm/-$$Lambda$PackageManagerService$sJ5w9GfSftnZPyv5hBDxQkxDJMU;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/util/List;I)V
-PLcom/android/server/pm/-$$Lambda$PackageManagerService$sJ5w9GfSftnZPyv5hBDxQkxDJMU;->run()V
-PLcom/android/server/pm/-$$Lambda$PackageManagerService$yfOQ0T-7_IM-V0KeaeTUW5KgZRQ;-><init>(Lcom/android/server/pm/PackageManagerService;[Ljava/lang/String;I)V
-PLcom/android/server/pm/-$$Lambda$PackageManagerService$yfOQ0T-7_IM-V0KeaeTUW5KgZRQ;->runOrThrow()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$MJFsiYQii6YHHiZmQVJ6_-AWFd0;->runOrThrow()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$S4WxZjKnT0iu1kmEXSrs7BiizN4;->run()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$dR0QsEeIVnA2M2a7vKNvBVkA7Eo;->run()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$flUQp0qTsxUQY0aupDT6UsHb48I;->run()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$gBfmUwr3vJpLKJEYBEtR1vtJL-Q;->run()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$jiWj-rF_ZhwQGw4UG_eVrRLMJC0;->runOrThrow()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$qAu0GY28zjo3OL4CDN4HmpcCPTU;-><init>()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$rBFEstQVW677jj2Z8w3Ei9Li_HQ;->run()V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$rdLHjmsGR7uMsqkjihg7l_9Kulg;->onGetRuntimePermissionsBackup([B)V
+PLcom/android/server/pm/-$$Lambda$PackageManagerService$zctU2dgZjxqnOdALZC5siQN33Bs;->run()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$QMV-UHbRIK26QMZL5iM27MchX7U;-><init>()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$QMV-UHbRIK26QMZL5iM27MchX7U;->test(Ljava/lang/Object;)Z
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$ePZ6rsJ05hJ2glmOqcq1_jX6J8w;-><init>()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$ePZ6rsJ05hJ2glmOqcq1_jX6J8w;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$fMBP3pPR7BB2hICieRxkdNG-3H8;-><init>(Lcom/android/server/pm/dex/DexManager;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$fMBP3pPR7BB2hICieRxkdNG-3H8;->test(Ljava/lang/Object;)Z
-PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$nPt0Hym3GvYeWA2vwfOLFDxZmCE;-><init>(Landroid/util/ArraySet;)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$nPt0Hym3GvYeWA2vwfOLFDxZmCE;->test(Ljava/lang/Object;)Z
-PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$p5q19y4-2x-i747j_hTNL1EMzt0;-><init>(J)V
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$p5q19y4-2x-i747j_hTNL1EMzt0;->test(Ljava/lang/Object;)Z
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$whx96xO50U3fax1NRe1upTcx9jc;-><init>()V
 PLcom/android/server/pm/-$$Lambda$PackageManagerServiceUtils$whx96xO50U3fax1NRe1upTcx9jc;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$AUDgG57FGyGDUVDAjL-7cuiE0pM;-><init>(Lcom/android/server/pm/ShortcutBitmapSaver;)V
 PLcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$AUDgG57FGyGDUVDAjL-7cuiE0pM;->run()V
-PLcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$xgjvZfaiKXavxgGCSta_eIdVBnk;-><init>(Ljava/util/concurrent/CountDownLatch;)V
 PLcom/android/server/pm/-$$Lambda$ShortcutBitmapSaver$xgjvZfaiKXavxgGCSta_eIdVBnk;->run()V
-PLcom/android/server/pm/-$$Lambda$ShortcutDumpFiles$rwmVVp6PnQCcurF7D6VzrdNqEdk;-><init>([B)V
 PLcom/android/server/pm/-$$Lambda$ShortcutDumpFiles$rwmVVp6PnQCcurF7D6VzrdNqEdk;->accept(Ljava/lang/Object;)V
 PLcom/android/server/pm/-$$Lambda$ShortcutPackage$ZN-r6tS0M7WKGK6nbXyJZPwNRGc;-><init>()V
 PLcom/android/server/pm/-$$Lambda$ShortcutPackage$hEXnzlESoRjagj8Pd9f4PrqudKE;-><init>()V
 PLcom/android/server/pm/-$$Lambda$ShortcutPackage$hEXnzlESoRjagj8Pd9f4PrqudKE;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/pm/-$$Lambda$ShortcutService$3$WghiV-HLnzJqZabObC5uHCmb960;-><init>(Lcom/android/server/pm/ShortcutService$3;I)V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$3$WghiV-HLnzJqZabObC5uHCmb960;->run()V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$5PQDuMeuJAK9L5YMuS3D3xeOzEc;-><init>()V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$5PQDuMeuJAK9L5YMuS3D3xeOzEc;->accept(Ljava/lang/Object;)V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$DzwraUeMWDwA0XDfFxd3sGOsA0E;-><init>(Lcom/android/server/pm/ShortcutService;ILjava/lang/String;)V
 PLcom/android/server/pm/-$$Lambda$ShortcutService$DzwraUeMWDwA0XDfFxd3sGOsA0E;->run()V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$FW40Da1L1EZJ_usDX0ew1qRMmtc;-><init>()V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$FW40Da1L1EZJ_usDX0ew1qRMmtc;->test(Ljava/lang/Object;)Z
-PLcom/android/server/pm/-$$Lambda$ShortcutService$K2g8Oho05j5S7zVOkoQrHzM_Gig;-><init>()V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$K2g8Oho05j5S7zVOkoQrHzM_Gig;->test(Ljava/lang/Object;)Z
-PLcom/android/server/pm/-$$Lambda$ShortcutService$KKtB89b9du8RtyDY2LIMGlzZzzg;-><init>(Lcom/android/server/pm/ShortcutService;Ljava/util/ArrayList;)V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$KKtB89b9du8RtyDY2LIMGlzZzzg;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$H1HFyb1U9E1-y03suEsi37_w-t0;->accept(Ljava/lang/Object;)V
 PLcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$Q0t7aDuDFJ8HWAf1NHW1dGQjOf8;-><init>(Lcom/android/server/pm/ShortcutService$LocalService;ILjava/lang/String;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;III)V
 PLcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$Q0t7aDuDFJ8HWAf1NHW1dGQjOf8;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$a6cj3oQpS-Z6FB4DytB0FytYmiM;->test(Ljava/lang/Object;)Z
 PLcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$ltDE7qm9grkumxffFI8cLCFpNqU;-><init>(JLandroid/util/ArraySet;Landroid/content/ComponentName;ZZZZ)V
 PLcom/android/server/pm/-$$Lambda$ShortcutService$LocalService$ltDE7qm9grkumxffFI8cLCFpNqU;->test(Ljava/lang/Object;)Z
-PLcom/android/server/pm/-$$Lambda$ShortcutService$QFWliMhWloedhnaZCwVKaqKPVb4;-><init>(Lcom/android/server/pm/ShortcutService;JI)V
 PLcom/android/server/pm/-$$Lambda$ShortcutService$QFWliMhWloedhnaZCwVKaqKPVb4;->run()V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$XepsJlzLd-VitYi8_ThhUsx37Ok;-><init>(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutUser;I)V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$XepsJlzLd-VitYi8_ThhUsx37Ok;->accept(Ljava/lang/Object;)V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$bdUeaAkcePSCZBDxdJttl1FPOmI;-><init>()V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$bdUeaAkcePSCZBDxdJttl1FPOmI;->accept(Ljava/lang/Object;)V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$qeFlXbEdNY-s36xnqPf5bs5axg0;-><init>()V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$qeFlXbEdNY-s36xnqPf5bs5axg0;->accept(Ljava/lang/Object;)V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$vv6Ko6L2p38nn3EYcL5PZxcyRyk;-><init>()V
-PLcom/android/server/pm/-$$Lambda$ShortcutService$vv6Ko6L2p38nn3EYcL5PZxcyRyk;->test(Ljava/lang/Object;)Z
-PLcom/android/server/pm/-$$Lambda$ShortcutUser$XHWlvjfCvG1SoVwGHi3envhmtfM;-><init>(ILjava/lang/String;Ljava/util/function/Consumer;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$TUT0CJsDhxqkpcseduaAriOs6bg;-><init>()V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$TUT0CJsDhxqkpcseduaAriOs6bg;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$exGcjcSQADxpLL30XenIn9sDxlI;-><init>()V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$exGcjcSQADxpLL30XenIn9sDxlI;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$io6aQoSP1ibWQCoayRXJaxbmJvA;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$l8T8kXBB-Gktym0FoX_WiKj2Glc;-><init>()V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$l8T8kXBB-Gktym0FoX_WiKj2Glc;->accept(Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$ShortcutService$y1mZhNAWeEp6GCbsOBAt4g-DS3s;->accept(Ljava/lang/Object;)V
 PLcom/android/server/pm/-$$Lambda$ShortcutUser$XHWlvjfCvG1SoVwGHi3envhmtfM;->accept(Ljava/lang/Object;)V
 PLcom/android/server/pm/-$$Lambda$ShortcutUser$bsc89E_40a5X2amehalpqawQ5hY;-><init>()V
 PLcom/android/server/pm/-$$Lambda$ShortcutUser$bsc89E_40a5X2amehalpqawQ5hY;->accept(Ljava/lang/Object;)V
-PLcom/android/server/pm/-$$Lambda$jZzCUQd1whVIqs_s1XMLbFqTP_E;-><init>(Lcom/android/server/pm/ShortcutService;)V
 PLcom/android/server/pm/-$$Lambda$jZzCUQd1whVIqs_s1XMLbFqTP_E;->run()V
-PLcom/android/server/pm/AbstractStatsBase$1;-><init>(Lcom/android/server/pm/AbstractStatsBase;Ljava/lang/String;Ljava/lang/Object;)V
+PLcom/android/server/pm/-$$Lambda$vv6Ko6L2p38nn3EYcL5PZxcyRyk;-><init>()V
+PLcom/android/server/pm/-$$Lambda$vv6Ko6L2p38nn3EYcL5PZxcyRyk;->test(Ljava/lang/Object;)Z
 PLcom/android/server/pm/AbstractStatsBase$1;->run()V
-PLcom/android/server/pm/AbstractStatsBase;->access$000(Lcom/android/server/pm/AbstractStatsBase;Ljava/lang/Object;)V
-PLcom/android/server/pm/AbstractStatsBase;->access$100(Lcom/android/server/pm/AbstractStatsBase;)Ljava/util/concurrent/atomic/AtomicLong;
-PLcom/android/server/pm/AbstractStatsBase;->access$200(Lcom/android/server/pm/AbstractStatsBase;)Ljava/util/concurrent/atomic/AtomicBoolean;
-PLcom/android/server/pm/AbstractStatsBase;->getFile()Landroid/util/AtomicFile;
-PLcom/android/server/pm/AbstractStatsBase;->read(Ljava/lang/Object;)V
 PLcom/android/server/pm/AbstractStatsBase;->writeImpl(Ljava/lang/Object;)V
-PLcom/android/server/pm/BackgroundDexOptService$1;-><init>(Lcom/android/server/pm/BackgroundDexOptService;Ljava/lang/String;Landroid/app/job/JobParameters;Lcom/android/server/pm/PackageManagerService;Landroid/util/ArraySet;)V
+PLcom/android/server/pm/ApexManager$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/pm/ApexManager;->onBootCompleted()V
+PLcom/android/server/pm/ApexManager;->populateActivePackagesCacheIfNeeded()V
 PLcom/android/server/pm/BackgroundDexOptService$1;->run()V
-PLcom/android/server/pm/BackgroundDexOptService$2;-><init>(Lcom/android/server/pm/BackgroundDexOptService;Ljava/lang/String;Lcom/android/server/pm/PackageManagerService;Landroid/util/ArraySet;Landroid/app/job/JobParameters;)V
 PLcom/android/server/pm/BackgroundDexOptService$2;->run()V
 PLcom/android/server/pm/BackgroundDexOptService;-><init>()V
 PLcom/android/server/pm/BackgroundDexOptService;->abortIdleOptimizations(J)I
-PLcom/android/server/pm/BackgroundDexOptService;->access$000(Lcom/android/server/pm/BackgroundDexOptService;Landroid/app/job/JobParameters;Lcom/android/server/pm/PackageManagerService;Landroid/util/ArraySet;)V
-PLcom/android/server/pm/BackgroundDexOptService;->access$100(Lcom/android/server/pm/BackgroundDexOptService;Lcom/android/server/pm/PackageManagerService;Landroid/util/ArraySet;Landroid/content/Context;)I
 PLcom/android/server/pm/BackgroundDexOptService;->getBatteryLevel()I
-PLcom/android/server/pm/BackgroundDexOptService;->getDowngradeUnusedAppsThresholdInMillis()J
-PLcom/android/server/pm/BackgroundDexOptService;->getLowStorageThreshold(Landroid/content/Context;)J
 PLcom/android/server/pm/BackgroundDexOptService;->idleOptimization(Lcom/android/server/pm/PackageManagerService;Landroid/util/ArraySet;Landroid/content/Context;)I
-PLcom/android/server/pm/BackgroundDexOptService;->isBackgroundDexoptDisabled()Z
 PLcom/android/server/pm/BackgroundDexOptService;->notifyPackageChanged(Ljava/lang/String;)V
 PLcom/android/server/pm/BackgroundDexOptService;->notifyPinService(Landroid/util/ArraySet;)V
 PLcom/android/server/pm/BackgroundDexOptService;->onStartJob(Landroid/app/job/JobParameters;)Z
 PLcom/android/server/pm/BackgroundDexOptService;->onStopJob(Landroid/app/job/JobParameters;)Z
-PLcom/android/server/pm/BackgroundDexOptService;->optimizePackages(Lcom/android/server/pm/PackageManagerService;Landroid/util/ArraySet;JZLandroid/util/ArraySet;)I
+PLcom/android/server/pm/BackgroundDexOptService;->optimizePackages(Lcom/android/server/pm/PackageManagerService;Landroid/util/ArraySet;JZ)I
 PLcom/android/server/pm/BackgroundDexOptService;->postBootUpdate(Landroid/app/job/JobParameters;Lcom/android/server/pm/PackageManagerService;Landroid/util/ArraySet;)V
 PLcom/android/server/pm/BackgroundDexOptService;->reconcileSecondaryDexFiles(Lcom/android/server/pm/dex/DexManager;)I
-PLcom/android/server/pm/BackgroundDexOptService;->runIdleOptimization(Landroid/app/job/JobParameters;Lcom/android/server/pm/PackageManagerService;Landroid/util/ArraySet;)Z
-PLcom/android/server/pm/BackgroundDexOptService;->runPostBootUpdate(Landroid/app/job/JobParameters;Lcom/android/server/pm/PackageManagerService;Landroid/util/ArraySet;)Z
-PLcom/android/server/pm/BackgroundDexOptService;->schedule(Landroid/content/Context;)V
-PLcom/android/server/pm/BackgroundDexOptService;->shouldDowngrade(J)Z
-PLcom/android/server/pm/CompilerStats$PackageStats;-><init>(Ljava/lang/String;)V
-PLcom/android/server/pm/CompilerStats$PackageStats;->access$000(Lcom/android/server/pm/CompilerStats$PackageStats;)Ljava/util/Map;
+PLcom/android/server/pm/BackgroundDexOptService;->trackPerformDexOpt(Ljava/lang/String;ZLjava/util/function/Supplier;)I
 PLcom/android/server/pm/CompilerStats$PackageStats;->getPackageName()Ljava/lang/String;
-PLcom/android/server/pm/CompilerStats$PackageStats;->getStoredPathFromCodePath(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/pm/CompilerStats$PackageStats;->setCompileTime(Ljava/lang/String;J)V
-PLcom/android/server/pm/CompilerStats;->createPackageStats(Ljava/lang/String;)Lcom/android/server/pm/CompilerStats$PackageStats;
-PLcom/android/server/pm/CompilerStats;->getOrCreatePackageStats(Ljava/lang/String;)Lcom/android/server/pm/CompilerStats$PackageStats;
 PLcom/android/server/pm/CompilerStats;->maybeWriteAsync()Z
-PLcom/android/server/pm/CompilerStats;->read()V
-PLcom/android/server/pm/CompilerStats;->read(Ljava/io/Reader;)Z
-PLcom/android/server/pm/CompilerStats;->readInternal(Ljava/lang/Object;)V
-PLcom/android/server/pm/CompilerStats;->readInternal(Ljava/lang/Void;)V
 PLcom/android/server/pm/CompilerStats;->write(Ljava/io/Writer;)V
 PLcom/android/server/pm/CompilerStats;->writeInternal(Ljava/lang/Object;)V
 PLcom/android/server/pm/CompilerStats;->writeInternal(Ljava/lang/Void;)V
-PLcom/android/server/pm/CrossProfileAppsService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/pm/CrossProfileAppsService;->onStart()V
-PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;-><init>(Landroid/content/Context;)V
-PLcom/android/server/pm/CrossProfileAppsServiceImpl;-><init>(Landroid/content/Context;)V
-PLcom/android/server/pm/CrossProfileAppsServiceImpl;-><init>(Landroid/content/Context;Lcom/android/server/pm/CrossProfileAppsServiceImpl$Injector;)V
+PLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->removeActivity(Landroid/content/pm/PackageParser$Activity;Ljava/lang/String;)V
+PLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;->filterResults(Ljava/util/List;)V
+PLcom/android/server/pm/ComponentResolver$InstantAppIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
+PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
+PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->allowFilterResult(Landroid/content/pm/PackageParser$ProviderIntentInfo;Ljava/util/List;)Z
+PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
+PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
+PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->newResult(Landroid/content/pm/PackageParser$ProviderIntentInfo;II)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->queryIntentForPackage(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
+PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->removeProvider(Landroid/content/pm/PackageParser$Provider;)V
+PLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->sortResults(Ljava/util/List;)V
+PLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->isFilterStopped(Landroid/content/IntentFilter;I)Z
+PLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->isFilterStopped(Landroid/content/pm/PackageParser$ServiceIntentInfo;I)Z
+PLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->removeService(Landroid/content/pm/PackageParser$Service;)V
+PLcom/android/server/pm/ComponentResolver;->assertProvidersNotDefined(Landroid/content/pm/PackageParser$Package;)V
+PLcom/android/server/pm/ComponentResolver;->assertProvidersNotDefinedLocked(Landroid/content/pm/PackageParser$Package;)V
+PLcom/android/server/pm/ComponentResolver;->getProvider(Landroid/content/ComponentName;)Landroid/content/pm/PackageParser$Provider;
+PLcom/android/server/pm/ComponentResolver;->queryProviders(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
+PLcom/android/server/pm/ComponentResolver;->queryProviders(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
+PLcom/android/server/pm/ComponentResolver;->removeAllComponents(Landroid/content/pm/PackageParser$Package;Z)V
+PLcom/android/server/pm/ComponentResolver;->removeAllComponentsLocked(Landroid/content/pm/PackageParser$Package;Z)V
+PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->clearCallingIdentity()J
+PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->getAppOpsManager()Landroid/app/AppOpsManager;
+PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->getCallingUid()I
+PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->getCallingUserId()I
+PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
+PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->getUserManager()Landroid/os/UserManager;
+PLcom/android/server/pm/CrossProfileAppsServiceImpl$InjectorImpl;->restoreCallingIdentity(J)V
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->getTargetUserProfiles(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->getTargetUserProfilesUnchecked(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/pm/CrossProfileAppsServiceImpl;->isPackageEnabled(Ljava/lang/String;I)Z
+PLcom/android/server/pm/CrossProfileIntentFilter;->getFlags()I
+PLcom/android/server/pm/CrossProfileIntentFilter;->getOwnerPackage()Ljava/lang/String;
+PLcom/android/server/pm/CrossProfileIntentFilter;->getTargetUserId()I
 PLcom/android/server/pm/DumpState;-><init>()V
 PLcom/android/server/pm/DumpState;->isDumping(I)Z
 PLcom/android/server/pm/DumpState;->onTitlePrinted()Z
-PLcom/android/server/pm/Installer$InstallerException;-><init>(Ljava/lang/String;)V
-PLcom/android/server/pm/Installer$InstallerException;->from(Ljava/lang/Exception;)Lcom/android/server/pm/Installer$InstallerException;
+PLcom/android/server/pm/DynamicCodeLoggingService$AuditWatchingThread;->processAuditEvents()Z
+PLcom/android/server/pm/DynamicCodeLoggingService$AuditWatchingThread;->run()V
+PLcom/android/server/pm/DynamicCodeLoggingService$IdleLoggingThread;->run()V
+PLcom/android/server/pm/DynamicCodeLoggingService;-><init>()V
+PLcom/android/server/pm/DynamicCodeLoggingService;->onStartJob(Landroid/app/job/JobParameters;)Z
 PLcom/android/server/pm/Installer;->clearAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
 PLcom/android/server/pm/Installer;->copySystemProfile(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/pm/Installer;->createAppData(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;I)J
 PLcom/android/server/pm/Installer;->createOatDir(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/pm/Installer;->createProfileSnapshot(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/pm/Installer;->createUserData(Ljava/lang/String;III)V
-PLcom/android/server/pm/Installer;->destroyAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
 PLcom/android/server/pm/Installer;->destroyProfileSnapshot(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/pm/Installer;->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
-PLcom/android/server/pm/Installer;->fixupAppData(Ljava/lang/String;I)V
 PLcom/android/server/pm/Installer;->getAppSize(Ljava/lang/String;[Ljava/lang/String;III[J[Ljava/lang/String;Landroid/content/pm/PackageStats;)V
 PLcom/android/server/pm/Installer;->getExternalSize(Ljava/lang/String;II[I)[J
 PLcom/android/server/pm/Installer;->getUserSize(Ljava/lang/String;II[ILandroid/content/pm/PackageStats;)V
 PLcom/android/server/pm/Installer;->hashSecondaryDexFile(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;I)[B
-PLcom/android/server/pm/Installer;->idmap(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/pm/Installer;->installApkVerity(Ljava/lang/String;Ljava/io/FileDescriptor;I)V
 PLcom/android/server/pm/Installer;->isQuotaSupported(Ljava/lang/String;)Z
 PLcom/android/server/pm/Installer;->linkNativeLibraryDirectory(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/pm/Installer;->markBootComplete(Ljava/lang/String;)V
@@ -14168,9 +9347,7 @@
 PLcom/android/server/pm/Installer;->moveAb(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/pm/Installer;->prepareAppProfile(Ljava/lang/String;IILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/pm/Installer;->reconcileSecondaryDexFile(Ljava/lang/String;Ljava/lang/String;I[Ljava/lang/String;Ljava/lang/String;I)Z
-PLcom/android/server/pm/Installer;->setAppQuota(Ljava/lang/String;IIJ)V
-PLcom/android/server/pm/Installer;->setWarnIfHeld(Ljava/lang/Object;)V
-PLcom/android/server/pm/InstantAppRegistry;->getInstantApplicationDir(Ljava/lang/String;I)Ljava/io/File;
+PLcom/android/server/pm/InstantAppRegistry;->getInstalledInstantApplicationsLPr(I)Ljava/util/List;
 PLcom/android/server/pm/InstantAppRegistry;->getInstantApplicationsDir(I)Ljava/io/File;
 PLcom/android/server/pm/InstantAppRegistry;->getInstantAppsLPr(I)Ljava/util/List;
 PLcom/android/server/pm/InstantAppRegistry;->getUninstalledInstantAppStatesLPr(I)Ljava/util/List;
@@ -14187,35 +9364,22 @@
 PLcom/android/server/pm/InstantAppResolver;->computeResolveFilters(Landroid/content/Intent;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Landroid/content/pm/InstantAppResolveInfo;)Ljava/util/List;
 PLcom/android/server/pm/InstantAppResolver;->doInstantAppResolutionPhaseOne(Lcom/android/server/pm/InstantAppResolverConnection;Landroid/content/pm/InstantAppRequest;)Landroid/content/pm/AuxiliaryResolveInfo;
 PLcom/android/server/pm/InstantAppResolver;->filterInstantAppIntent(Ljava/util/List;Landroid/content/Intent;Ljava/lang/String;ILjava/lang/String;Landroid/content/pm/InstantAppResolveInfo$InstantAppDigest;Ljava/lang/String;)Landroid/content/pm/AuxiliaryResolveInfo;
-PLcom/android/server/pm/InstantAppResolver;->getLogger()Lcom/android/internal/logging/MetricsLogger;
 PLcom/android/server/pm/InstantAppResolver;->logMetrics(IJLjava/lang/String;I)V
 PLcom/android/server/pm/InstantAppResolver;->sanitizeIntent(Landroid/content/Intent;)Landroid/content/Intent;
-PLcom/android/server/pm/InstantAppResolverConnection$ConnectionException;-><init>(I)V
-PLcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller$1;-><init>(Lcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller;)V
 PLcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller$1;->sendResult(Landroid/os/Bundle;)V
-PLcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller;-><init>()V
-PLcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller;->access$700(Lcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller;Ljava/lang/Object;I)V
-PLcom/android/server/pm/InstantAppResolverConnection$GetInstantAppResolveInfoCaller;->getInstantAppResolveInfoList(Landroid/app/IInstantAppResolver;Landroid/content/Intent;[ILjava/lang/String;)Ljava/util/List;
-PLcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection;-><init>(Lcom/android/server/pm/InstantAppResolverConnection;)V
-PLcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection;-><init>(Lcom/android/server/pm/InstantAppResolverConnection;Lcom/android/server/pm/InstantAppResolverConnection$1;)V
 PLcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/pm/InstantAppResolverConnection;-><init>(Landroid/content/Context;Landroid/content/ComponentName;Ljava/lang/String;)V
-PLcom/android/server/pm/InstantAppResolverConnection;->access$100()Z
-PLcom/android/server/pm/InstantAppResolverConnection;->access$200(Lcom/android/server/pm/InstantAppResolverConnection;)Ljava/lang/Object;
-PLcom/android/server/pm/InstantAppResolverConnection;->access$302(Lcom/android/server/pm/InstantAppResolverConnection;Landroid/app/IInstantAppResolver;)Landroid/app/IInstantAppResolver;
-PLcom/android/server/pm/InstantAppResolverConnection;->access$400(Lcom/android/server/pm/InstantAppResolverConnection;)I
-PLcom/android/server/pm/InstantAppResolverConnection;->access$402(Lcom/android/server/pm/InstantAppResolverConnection;I)I
-PLcom/android/server/pm/InstantAppResolverConnection;->access$600()J
+PLcom/android/server/pm/InstantAppResolverConnection$MyServiceConnection;->onServiceDisconnected(Landroid/content/ComponentName;)V
 PLcom/android/server/pm/InstantAppResolverConnection;->bind(Ljava/lang/String;)Landroid/app/IInstantAppResolver;
-PLcom/android/server/pm/InstantAppResolverConnection;->getInstantAppResolveInfoList(Landroid/content/Intent;[ILjava/lang/String;)Ljava/util/List;
+PLcom/android/server/pm/InstantAppResolverConnection;->binderDied()V
+PLcom/android/server/pm/InstantAppResolverConnection;->getInstantAppResolveInfoList(Landroid/content/Intent;[IILjava/lang/String;)Ljava/util/List;
+PLcom/android/server/pm/InstantAppResolverConnection;->getRemoteInstanceLazy(Ljava/lang/String;)Landroid/app/IInstantAppResolver;
+PLcom/android/server/pm/InstantAppResolverConnection;->handleBinderDiedLocked()V
+PLcom/android/server/pm/InstantAppResolverConnection;->lambda$optimisticBind$0$InstantAppResolverConnection()V
 PLcom/android/server/pm/InstantAppResolverConnection;->lambda$optimisticBind$0(Lcom/android/server/pm/InstantAppResolverConnection;)V
-PLcom/android/server/pm/InstantAppResolverConnection;->optimisticBind()V
-PLcom/android/server/pm/InstantAppResolverConnection;->throwIfCalledOnMainThread()V
 PLcom/android/server/pm/InstantAppResolverConnection;->waitForBindLocked(Ljava/lang/String;)V
-PLcom/android/server/pm/InstructionSets;->getAllDexCodeInstructionSets()[Ljava/lang/String;
 PLcom/android/server/pm/InstructionSets;->getAppDexInstructionSets(Landroid/content/pm/ApplicationInfo;)[Ljava/lang/String;
-PLcom/android/server/pm/IntentFilterVerificationResponse;-><init>(IILjava/util/List;)V
-PLcom/android/server/pm/IntentFilterVerificationState;-><init>(IILjava/lang/String;)V
+PLcom/android/server/pm/InstructionSets;->getDexCodeInstructionSet(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/InstructionSets;->getPreferredInstructionSet()Ljava/lang/String;
 PLcom/android/server/pm/IntentFilterVerificationState;->addFilter(Landroid/content/pm/PackageParser$ActivityIntentInfo;)V
 PLcom/android/server/pm/IntentFilterVerificationState;->getFilters()Ljava/util/ArrayList;
 PLcom/android/server/pm/IntentFilterVerificationState;->getHostsString()Ljava/lang/String;
@@ -14223,147 +9387,110 @@
 PLcom/android/server/pm/IntentFilterVerificationState;->getUserId()I
 PLcom/android/server/pm/IntentFilterVerificationState;->isVerificationComplete()Z
 PLcom/android/server/pm/IntentFilterVerificationState;->isVerified()Z
-PLcom/android/server/pm/IntentFilterVerificationState;->setPendingState()V
 PLcom/android/server/pm/IntentFilterVerificationState;->setState(I)V
 PLcom/android/server/pm/IntentFilterVerificationState;->setVerifierResponse(II)Z
-PLcom/android/server/pm/KeySetHandle;-><init>(J)V
-PLcom/android/server/pm/KeySetHandle;->getId()J
-PLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;-><init>(Lcom/android/server/pm/KeySetManagerService;JLjava/security/PublicKey;)V
-PLcom/android/server/pm/KeySetManagerService;->addKeySetLPw(Landroid/util/ArraySet;)Lcom/android/server/pm/KeySetHandle;
-PLcom/android/server/pm/KeySetManagerService;->addPublicKeyLPw(Ljava/security/PublicKey;)J
-PLcom/android/server/pm/KeySetManagerService;->encodePublicKey(Ljava/security/PublicKey;)Ljava/lang/String;
-PLcom/android/server/pm/KeySetManagerService;->getFreeKeySetIDLPw()J
-PLcom/android/server/pm/KeySetManagerService;->getFreePublicKeyIdLPw()J
-PLcom/android/server/pm/KeySetManagerService;->getIdForPublicKeyLPr(Ljava/security/PublicKey;)J
-PLcom/android/server/pm/KeySetManagerService;->getIdFromKeyIdsLPr(Ljava/util/Set;)J
-PLcom/android/server/pm/KeySetManagerService;->writeKeySetManagerServiceLPr(Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/pm/KeySetManagerService;->writeKeySetsLPr(Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/pm/KeySetManagerService;->writePublicKeysLPr(Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/pm/LauncherAppsService$BroadcastCookie;-><init>(Landroid/os/UserHandle;Ljava/lang/String;II)V
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;)V
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Lcom/android/server/pm/LauncherAppsService$1;)V
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->lambda$onShortcutChanged$0(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;Ljava/lang/String;I)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->lambda$onShortcutChanged$0$LauncherAppsService$LauncherAppsImpl$MyPackageMonitor(Ljava/lang/String;I)V
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->onPackageAdded(Ljava/lang/String;I)V
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->onPackageModified(Ljava/lang/String;)V
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->onShortcutChanged(Ljava/lang/String;I)V
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$MyPackageMonitor;->onShortcutChangedInner(Ljava/lang/String;I)V
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$PackageCallbackList;-><init>(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;)V
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$PackageCallbackList;->onCallbackDied(Landroid/os/IInterface;Ljava/lang/Object;)V
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;-><init>(Landroid/content/Context;)V
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->access$100(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;)Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$PackageCallbackList;
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->access$200(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;Landroid/os/UserHandle;Landroid/os/UserHandle;Ljava/lang/String;)Z
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->access$300(Lcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;)Landroid/content/pm/ShortcutServiceInternal;
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$VouchesChangedMonitor;->onPackageAdded(Ljava/lang/String;I)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl$VouchesChangedMonitor;->onPackageModified(Ljava/lang/String;)V
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->addOnAppsChangedListener(Ljava/lang/String;Landroid/content/pm/IOnAppsChangedListener;)V
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->canAccessProfile(ILjava/lang/String;)Z
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->checkCallbackCount()V
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->ensureShortcutPermission(Ljava/lang/String;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->computePackageCertDigest(Landroid/content/pm/Signature;)Ljava/lang/String;
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getAppUsageLimit(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/LauncherApps$AppUsageLimit;
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getApplicationInfo(Ljava/lang/String;Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ApplicationInfo;
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getCallingUserId()I
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getHiddenAppActivityInfo(Ljava/lang/String;ILandroid/os/UserHandle;)Landroid/content/pm/ResolveInfo;
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getLauncherActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getShortcutConfigActivities(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getShortcutIconFd(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor;
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->getShortcuts(Ljava/lang/String;JLjava/lang/String;Ljava/util/List;Landroid/content/ComponentName;ILandroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->hasShortcutHostPermission(Ljava/lang/String;)Z
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectCallingUserId()I
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->initVouchedSignatures(Landroid/os/UserHandle;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectBinderCallingPid()I
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectBinderCallingUid()I
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectClearCallingIdentity()J
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->injectRestoreCallingIdentity(J)V
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isActivityEnabled(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Z
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isEnabledProfileOf(Landroid/os/UserHandle;Landroid/os/UserHandle;Ljava/lang/String;)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isManagedProfileAdmin(Landroid/os/UserHandle;Ljava/lang/String;)Z
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->isPackageEnabled(Ljava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;)Z
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->postToPackageMonitorHandler(Ljava/lang/Runnable;)V
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->queryActivitiesForUser(Ljava/lang/String;Landroid/content/Intent;Landroid/os/UserHandle;)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->resolveActivity(Ljava/lang/String;Landroid/content/ComponentName;Landroid/os/UserHandle;)Landroid/content/pm/ActivityInfo;
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->startWatchingPackageBroadcasts()V
-PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->stopWatchingPackageBroadcasts()V
-PLcom/android/server/pm/LauncherAppsService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/pm/LauncherAppsService;->onStart()V
-PLcom/android/server/pm/OtaDexoptService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;)V
-PLcom/android/server/pm/OtaDexoptService;->main(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/OtaDexoptService;
-PLcom/android/server/pm/OtaDexoptService;->moveAbArtifacts(Lcom/android/server/pm/Installer;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->shouldHideFromSuggestions(Ljava/lang/String;Landroid/os/UserHandle;)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->shouldShowHiddenApp(Landroid/os/UserHandle;Landroid/content/pm/ApplicationInfo;)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/ComponentName;Landroid/graphics/Rect;Landroid/os/Bundle;Landroid/os/UserHandle;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->startShortcut(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Rect;Landroid/os/Bundle;I)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->startShortcutIntentsAsPublisher([Landroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;I)Z
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->updateVouches(Landroid/content/pm/ApplicationInfo;Landroid/os/UserHandle;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->updateVouches(Ljava/lang/String;Landroid/os/UserHandle;)V
+PLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;->verifyCallingPackage(Ljava/lang/String;)V
+PLcom/android/server/pm/ModuleInfoProvider;->getInstalledModules(I)Ljava/util/List;
 PLcom/android/server/pm/PackageDexOptimizer;->adjustDexoptFlags(I)I
 PLcom/android/server/pm/PackageDexOptimizer;->adjustDexoptNeeded(I)I
-PLcom/android/server/pm/PackageDexOptimizer;->canOptimizePackage(Landroid/content/pm/PackageParser$Package;)Z
 PLcom/android/server/pm/PackageDexOptimizer;->createOatDirIfSupported(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/PackageDexOptimizer;->dexOptPath(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;IILcom/android/server/pm/CompilerStats$PackageStats;ZLjava/lang/String;Ljava/lang/String;I)I
 PLcom/android/server/pm/PackageDexOptimizer;->dexOptSecondaryDexPath(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;Lcom/android/server/pm/dex/DexoptOptions;)I
 PLcom/android/server/pm/PackageDexOptimizer;->dexOptSecondaryDexPathLI(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;Lcom/android/server/pm/dex/DexoptOptions;)I
+PLcom/android/server/pm/PackageDexOptimizer;->getAugmentedReasonName(IZ)Ljava/lang/String;
+PLcom/android/server/pm/PackageDexOptimizer;->getDexFlags(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Lcom/android/server/pm/dex/DexoptOptions;)I
 PLcom/android/server/pm/PackageDexOptimizer;->getDexFlags(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Lcom/android/server/pm/dex/DexoptOptions;)I
-PLcom/android/server/pm/PackageDexOptimizer;->getOatDir(Ljava/io/File;)Ljava/io/File;
-PLcom/android/server/pm/PackageDexOptimizer;->isAppImageEnabled()Z
+PLcom/android/server/pm/PackageDexOptimizer;->getDexoptNeeded(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZZ)I
+PLcom/android/server/pm/PackageDexOptimizer;->getRealCompilerFilter(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;Z)Ljava/lang/String;
 PLcom/android/server/pm/PackageDexOptimizer;->isProfileUpdated(Landroid/content/pm/PackageParser$Package;ILjava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/pm/PackageDexOptimizer;->performDexOpt(Landroid/content/pm/PackageParser$Package;[Ljava/lang/String;[Ljava/lang/String;Lcom/android/server/pm/CompilerStats$PackageStats;Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Lcom/android/server/pm/dex/DexoptOptions;)I
-PLcom/android/server/pm/PackageDexOptimizer;->performDexOptLI(Landroid/content/pm/PackageParser$Package;[Ljava/lang/String;[Ljava/lang/String;Lcom/android/server/pm/CompilerStats$PackageStats;Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Lcom/android/server/pm/dex/DexoptOptions;)I
+PLcom/android/server/pm/PackageDexOptimizer;->performDexOpt(Landroid/content/pm/PackageParser$Package;Ljava/util/List;[Ljava/lang/String;Lcom/android/server/pm/CompilerStats$PackageStats;Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Lcom/android/server/pm/dex/DexoptOptions;)I
+PLcom/android/server/pm/PackageDexOptimizer;->performDexOpt(Landroid/content/pm/PackageParser$Package;[Ljava/lang/String;Lcom/android/server/pm/CompilerStats$PackageStats;Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Lcom/android/server/pm/dex/DexoptOptions;)I
+PLcom/android/server/pm/PackageDexOptimizer;->performDexOptLI(Landroid/content/pm/PackageParser$Package;Ljava/util/List;[Ljava/lang/String;Lcom/android/server/pm/CompilerStats$PackageStats;Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Lcom/android/server/pm/dex/DexoptOptions;)I
+PLcom/android/server/pm/PackageDexOptimizer;->performDexOptLI(Landroid/content/pm/PackageParser$Package;[Ljava/lang/String;Lcom/android/server/pm/CompilerStats$PackageStats;Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Lcom/android/server/pm/dex/DexoptOptions;)I
 PLcom/android/server/pm/PackageDexOptimizer;->printDexoptFlags(I)Ljava/lang/String;
-PLcom/android/server/pm/PackageDexOptimizer;->systemReady()V
-PLcom/android/server/pm/PackageInstallerService$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
-PLcom/android/server/pm/PackageInstallerService$2;-><init>(Lcom/android/server/pm/PackageInstallerService;)V
+PLcom/android/server/pm/PackageDexOptimizer;->releaseWakeLockLI(J)V
+PLcom/android/server/pm/PackageInstallerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 PLcom/android/server/pm/PackageInstallerService$2;->run()V
-PLcom/android/server/pm/PackageInstallerService$Callbacks;-><init>(Landroid/os/Looper;)V
+PLcom/android/server/pm/PackageInstallerService$3;->run()V
 PLcom/android/server/pm/PackageInstallerService$Callbacks;->access$200(Lcom/android/server/pm/PackageInstallerService$Callbacks;II)V
-PLcom/android/server/pm/PackageInstallerService$Callbacks;->access$700(Lcom/android/server/pm/PackageInstallerService$Callbacks;IIZ)V
-PLcom/android/server/pm/PackageInstallerService$Callbacks;->access$800(Lcom/android/server/pm/PackageInstallerService$Callbacks;IIF)V
+PLcom/android/server/pm/PackageInstallerService$Callbacks;->access$400(Lcom/android/server/pm/PackageInstallerService$Callbacks;II)V
 PLcom/android/server/pm/PackageInstallerService$Callbacks;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/pm/PackageInstallerService$Callbacks;->invokeCallback(Landroid/content/pm/IPackageInstallerCallback;Landroid/os/Message;)V
-PLcom/android/server/pm/PackageInstallerService$Callbacks;->notifySessionActiveChanged(IIZ)V
-PLcom/android/server/pm/PackageInstallerService$Callbacks;->notifySessionCreated(II)V
 PLcom/android/server/pm/PackageInstallerService$Callbacks;->notifySessionFinished(IIZ)V
-PLcom/android/server/pm/PackageInstallerService$Callbacks;->notifySessionProgressChanged(IIF)V
-PLcom/android/server/pm/PackageInstallerService$Callbacks;->register(Landroid/content/pm/IPackageInstallerCallback;I)V
-PLcom/android/server/pm/PackageInstallerService$InternalCallback$1;-><init>(Lcom/android/server/pm/PackageInstallerService$InternalCallback;Lcom/android/server/pm/PackageInstallerSession;)V
+PLcom/android/server/pm/PackageInstallerService$Callbacks;->unregister(Landroid/content/pm/IPackageInstallerCallback;)V
 PLcom/android/server/pm/PackageInstallerService$InternalCallback$1;->run()V
-PLcom/android/server/pm/PackageInstallerService$InternalCallback;-><init>(Lcom/android/server/pm/PackageInstallerService;)V
 PLcom/android/server/pm/PackageInstallerService$InternalCallback;->onSessionActiveChanged(Lcom/android/server/pm/PackageInstallerSession;Z)V
 PLcom/android/server/pm/PackageInstallerService$InternalCallback;->onSessionFinished(Lcom/android/server/pm/PackageInstallerSession;Z)V
 PLcom/android/server/pm/PackageInstallerService$InternalCallback;->onSessionPrepared(Lcom/android/server/pm/PackageInstallerSession;)V
 PLcom/android/server/pm/PackageInstallerService$InternalCallback;->onSessionProgressChanged(Lcom/android/server/pm/PackageInstallerSession;F)V
 PLcom/android/server/pm/PackageInstallerService$InternalCallback;->onSessionSealedBlocking(Lcom/android/server/pm/PackageInstallerSession;)V
-PLcom/android/server/pm/PackageInstallerService$PackageInstallObserverAdapter;-><init>(Landroid/content/Context;Landroid/content/IntentSender;IZI)V
 PLcom/android/server/pm/PackageInstallerService$PackageInstallObserverAdapter;->onPackageInstalled(Ljava/lang/String;ILjava/lang/String;Landroid/os/Bundle;)V
-PLcom/android/server/pm/PackageInstallerService$PackageInstallObserverAdapter;->onUserActionRequired(Landroid/content/Intent;)V
-PLcom/android/server/pm/PackageInstallerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;)V
 PLcom/android/server/pm/PackageInstallerService;->abandonSession(I)V
-PLcom/android/server/pm/PackageInstallerService;->access$000(Lcom/android/server/pm/PackageInstallerService;)Landroid/util/SparseArray;
-PLcom/android/server/pm/PackageInstallerService;->access$100(Lcom/android/server/pm/PackageInstallerService;)V
-PLcom/android/server/pm/PackageInstallerService;->access$1000(Lcom/android/server/pm/PackageInstallerService;I)Ljava/io/File;
-PLcom/android/server/pm/PackageInstallerService;->access$1100(Lcom/android/server/pm/PackageInstallerService;)Landroid/os/Handler;
-PLcom/android/server/pm/PackageInstallerService;->access$400(Lcom/android/server/pm/PackageInstallerService;)Lcom/android/server/pm/PackageInstallerService$Callbacks;
-PLcom/android/server/pm/PackageInstallerService;->access$600(Lcom/android/server/pm/PackageInstallerService;)V
-PLcom/android/server/pm/PackageInstallerService;->access$900(Lcom/android/server/pm/PackageInstallerService;Lcom/android/server/pm/PackageInstallerSession;)V
 PLcom/android/server/pm/PackageInstallerService;->addHistoricalSessionLocked(Lcom/android/server/pm/PackageInstallerSession;)V
 PLcom/android/server/pm/PackageInstallerService;->allocateSessionIdLocked()I
-PLcom/android/server/pm/PackageInstallerService;->buildAppIconFile(I)Ljava/io/File;
-PLcom/android/server/pm/PackageInstallerService;->buildStageDir(Ljava/lang/String;IZ)Ljava/io/File;
-PLcom/android/server/pm/PackageInstallerService;->buildStagingDir(Ljava/lang/String;Z)Ljava/io/File;
+PLcom/android/server/pm/PackageInstallerService;->buildSessionDir(ILandroid/content/pm/PackageInstaller$SessionParams;)Ljava/io/File;
+PLcom/android/server/pm/PackageInstallerService;->buildTmpSessionDir(ILjava/lang/String;)Ljava/io/File;
 PLcom/android/server/pm/PackageInstallerService;->createSession(Landroid/content/pm/PackageInstaller$SessionParams;Ljava/lang/String;I)I
 PLcom/android/server/pm/PackageInstallerService;->createSessionInternal(Landroid/content/pm/PackageInstaller$SessionParams;Ljava/lang/String;I)I
 PLcom/android/server/pm/PackageInstallerService;->getAllSessions(I)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/pm/PackageInstallerService;->getMySessions(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/pm/PackageInstallerService;->getSessionCount(Landroid/util/SparseArray;I)I
 PLcom/android/server/pm/PackageInstallerService;->getSessionInfo(I)Landroid/content/pm/PackageInstaller$SessionInfo;
-PLcom/android/server/pm/PackageInstallerService;->isCallingUidOwner(Lcom/android/server/pm/PackageInstallerSession;)Z
-PLcom/android/server/pm/PackageInstallerService;->newArraySet([Ljava/lang/Object;)Landroid/util/ArraySet;
+PLcom/android/server/pm/PackageInstallerService;->getStagedSessions()Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/PackageInstallerService;->isBootCompleted()Z
 PLcom/android/server/pm/PackageInstallerService;->openSession(I)Landroid/content/pm/IPackageInstallerSession;
 PLcom/android/server/pm/PackageInstallerService;->openSessionInternal(I)Landroid/content/pm/IPackageInstallerSession;
 PLcom/android/server/pm/PackageInstallerService;->prepareStageDir(Ljava/io/File;)V
-PLcom/android/server/pm/PackageInstallerService;->readSessionsLocked()V
-PLcom/android/server/pm/PackageInstallerService;->reconcileStagesLocked(Ljava/lang/String;Z)V
-PLcom/android/server/pm/PackageInstallerService;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;I)V
-PLcom/android/server/pm/PackageInstallerService;->setPermissionsResult(IZ)V
-PLcom/android/server/pm/PackageInstallerService;->systemReady()V
+PLcom/android/server/pm/PackageInstallerService;->unregisterCallback(Landroid/content/pm/IPackageInstallerCallback;)V
 PLcom/android/server/pm/PackageInstallerService;->writeSessionsAsync()V
-PLcom/android/server/pm/PackageInstallerService;->writeSessionsLocked()V
 PLcom/android/server/pm/PackageInstallerSession$1;-><init>()V
 PLcom/android/server/pm/PackageInstallerSession$1;->accept(Ljava/io/File;)Z
 PLcom/android/server/pm/PackageInstallerSession$2;-><init>()V
 PLcom/android/server/pm/PackageInstallerSession$2;->accept(Ljava/io/File;)Z
 PLcom/android/server/pm/PackageInstallerSession$3;-><init>(Lcom/android/server/pm/PackageInstallerSession;)V
 PLcom/android/server/pm/PackageInstallerSession$3;->handleMessage(Landroid/os/Message;)Z
-PLcom/android/server/pm/PackageInstallerSession$4;-><init>(Lcom/android/server/pm/PackageInstallerSession;)V
 PLcom/android/server/pm/PackageInstallerSession$4;->onPackageInstalled(Ljava/lang/String;ILjava/lang/String;Landroid/os/Bundle;)V
-PLcom/android/server/pm/PackageInstallerSession;-><init>(Lcom/android/server/pm/PackageInstallerService$InternalCallback;Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Landroid/os/Looper;IILjava/lang/String;ILandroid/content/pm/PackageInstaller$SessionParams;JLjava/io/File;Ljava/lang/String;ZZ)V
+PLcom/android/server/pm/PackageInstallerSession;-><init>(Lcom/android/server/pm/PackageInstallerService$InternalCallback;Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageSessionProvider;Landroid/os/Looper;Lcom/android/server/pm/StagingManager;IILjava/lang/String;ILandroid/content/pm/PackageInstaller$SessionParams;JLjava/io/File;Ljava/lang/String;ZZ[IIZZZILjava/lang/String;)V
 PLcom/android/server/pm/PackageInstallerSession;->abandon()V
-PLcom/android/server/pm/PackageInstallerSession;->access$100(Lcom/android/server/pm/PackageInstallerSession;)Ljava/lang/Object;
-PLcom/android/server/pm/PackageInstallerSession;->access$200(Lcom/android/server/pm/PackageInstallerSession;)V
-PLcom/android/server/pm/PackageInstallerSession;->access$300(Lcom/android/server/pm/PackageInstallerSession;)V
-PLcom/android/server/pm/PackageInstallerSession;->access$400(Lcom/android/server/pm/PackageInstallerSession;ILjava/lang/String;Landroid/os/Bundle;)V
+PLcom/android/server/pm/PackageInstallerSession;->addClientProgress(F)V
 PLcom/android/server/pm/PackageInstallerSession;->assertApkConsistentLocked(Ljava/lang/String;Landroid/content/pm/PackageParser$ApkLite;)V
 PLcom/android/server/pm/PackageInstallerSession;->assertCallerIsOwnerOrRootLocked()V
 PLcom/android/server/pm/PackageInstallerSession;->assertNoWriteFileTransfersOpenLocked()V
@@ -14375,6 +9502,7 @@
 PLcom/android/server/pm/PackageInstallerSession;->closeInternal(Z)V
 PLcom/android/server/pm/PackageInstallerSession;->commit(Landroid/content/IntentSender;Z)V
 PLcom/android/server/pm/PackageInstallerSession;->commitLocked()V
+PLcom/android/server/pm/PackageInstallerSession;->commitNonStagedLocked(Ljava/util/List;)V
 PLcom/android/server/pm/PackageInstallerSession;->computeProgressLocked(Z)V
 PLcom/android/server/pm/PackageInstallerSession;->destroyInternal()V
 PLcom/android/server/pm/PackageInstallerSession;->dispatchSessionFinished(ILjava/lang/String;Landroid/os/Bundle;)V
@@ -14384,249 +9512,141 @@
 PLcom/android/server/pm/PackageInstallerSession;->extractNativeLibraries(Ljava/io/File;Ljava/lang/String;Z)V
 PLcom/android/server/pm/PackageInstallerSession;->generateInfo()Landroid/content/pm/PackageInstaller$SessionInfo;
 PLcom/android/server/pm/PackageInstallerSession;->generateInfo(Z)Landroid/content/pm/PackageInstaller$SessionInfo;
+PLcom/android/server/pm/PackageInstallerSession;->getChildSessionIds()[I
 PLcom/android/server/pm/PackageInstallerSession;->getInstallerUid()I
 PLcom/android/server/pm/PackageInstallerSession;->getNames()[Ljava/lang/String;
+PLcom/android/server/pm/PackageInstallerSession;->handleCommit()V
+PLcom/android/server/pm/PackageInstallerSession;->hasParentSessionId()Z
 PLcom/android/server/pm/PackageInstallerSession;->isInstallerDeviceOwnerOrAffiliatedProfileOwnerLocked()Z
+PLcom/android/server/pm/PackageInstallerSession;->isMultiPackage()Z
 PLcom/android/server/pm/PackageInstallerSession;->isPrepared()Z
 PLcom/android/server/pm/PackageInstallerSession;->isSealed()Z
-PLcom/android/server/pm/PackageInstallerSession;->mayInheritNativeLibs()Z
+PLcom/android/server/pm/PackageInstallerSession;->isStaged()Z
+PLcom/android/server/pm/PackageInstallerSession;->makeSessionActiveLocked()Lcom/android/server/pm/PackageManagerService$ActiveInstallSession;
+PLcom/android/server/pm/PackageInstallerSession;->markAsCommitted(Landroid/content/IntentSender;Z)Z
 PLcom/android/server/pm/PackageInstallerSession;->maybeRenameFile(Ljava/io/File;Ljava/io/File;)V
 PLcom/android/server/pm/PackageInstallerSession;->needToAskForPermissionsLocked()Z
 PLcom/android/server/pm/PackageInstallerSession;->open()V
 PLcom/android/server/pm/PackageInstallerSession;->openWrite(Ljava/lang/String;JJ)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/pm/PackageInstallerSession;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/pm/PackageInstallerService$InternalCallback;Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Landroid/os/Looper;Lcom/android/server/pm/StagingManager;Ljava/io/File;Lcom/android/server/pm/PackageSessionProvider;)Lcom/android/server/pm/PackageInstallerSession;
+PLcom/android/server/pm/PackageInstallerSession;->resolveAndStageFile(Ljava/io/File;Ljava/io/File;)V
 PLcom/android/server/pm/PackageInstallerSession;->resolveStageDirLocked()Ljava/io/File;
 PLcom/android/server/pm/PackageInstallerSession;->sealAndValidateLocked()V
 PLcom/android/server/pm/PackageInstallerSession;->setClientProgress(F)V
-PLcom/android/server/pm/PackageInstallerSession;->setPermissionsResult(Z)V
-PLcom/android/server/pm/PackageInstallerSession;->validateInstallLocked(Landroid/content/pm/PackageInfo;)V
+PLcom/android/server/pm/PackageInstallerSession;->validateApkInstallLocked(Landroid/content/pm/PackageInfo;)V
 PLcom/android/server/pm/PackageInstallerSession;->write(Lorg/xmlpull/v1/XmlSerializer;Ljava/io/File;)V
-PLcom/android/server/pm/PackageInstallerSession;->writeGrantedRuntimePermissionsLocked(Lorg/xmlpull/v1/XmlSerializer;[Ljava/lang/String;)V
-PLcom/android/server/pm/PackageManagerException;-><init>(Ljava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService$10;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ILjava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService$10;->run()V
 PLcom/android/server/pm/PackageManagerService$1;->onPermissionGranted(II)V
-PLcom/android/server/pm/PackageManagerService$21;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/os/Handler;Landroid/content/ContentResolver;)V
-PLcom/android/server/pm/PackageManagerService$21;->onChange(Z)V
-PLcom/android/server/pm/PackageManagerService$22;-><init>(Lcom/android/server/pm/PackageManagerService;)V
-PLcom/android/server/pm/PackageManagerService$22;->getMountMode(ILjava/lang/String;)I
-PLcom/android/server/pm/PackageManagerService$22;->hasExternalStorage(ILjava/lang/String;)Z
-PLcom/android/server/pm/PackageManagerService$23;-><init>(Lcom/android/server/pm/PackageManagerService;)V
-PLcom/android/server/pm/PackageManagerService$23;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/pm/PackageManagerService$2;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
+PLcom/android/server/pm/PackageManagerService$1;->onPermissionRevoked(II)V
 PLcom/android/server/pm/PackageManagerService$3;->onDefaultRuntimePermissionsGranted(I)V
-PLcom/android/server/pm/PackageManagerService$4;-><init>(Lcom/android/server/pm/PackageManagerService;Z)V
 PLcom/android/server/pm/PackageManagerService$4;->onPermissionChanged()V
-PLcom/android/server/pm/PackageManagerService$6;->compare(Landroid/content/pm/ProviderInfo;Landroid/content/pm/ProviderInfo;)I
-PLcom/android/server/pm/PackageManagerService$6;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/pm/PackageManagerService$7;-><init>(Lcom/android/server/pm/PackageManagerService;[ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I)V
-PLcom/android/server/pm/PackageManagerService$7;->run()V
-PLcom/android/server/pm/PackageManagerService$9;-><init>(Lcom/android/server/pm/PackageManagerService;ILcom/android/server/pm/PackageManagerService$InstallArgs;)V
-PLcom/android/server/pm/PackageManagerService$9;->run()V
-PLcom/android/server/pm/PackageManagerService$ActivityIntentResolver$ActionIterGenerator;-><init>(Lcom/android/server/pm/PackageManagerService$ActivityIntentResolver;)V
-PLcom/android/server/pm/PackageManagerService$ActivityIntentResolver$ActionIterGenerator;->generate(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Ljava/util/Iterator;
-PLcom/android/server/pm/PackageManagerService$ActivityIntentResolver$CategoriesIterGenerator;-><init>(Lcom/android/server/pm/PackageManagerService$ActivityIntentResolver;)V
-PLcom/android/server/pm/PackageManagerService$ActivityIntentResolver$CategoriesIterGenerator;->generate(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Ljava/util/Iterator;
-PLcom/android/server/pm/PackageManagerService$ActivityIntentResolver$IterGenerator;-><init>(Lcom/android/server/pm/PackageManagerService$ActivityIntentResolver;)V
-PLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->access$2200(Lcom/android/server/pm/PackageManagerService$ActivityIntentResolver;)Landroid/util/ArrayMap;
-PLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->findMatchingActivity(Ljava/util/List;Landroid/content/pm/ActivityInfo;)Landroid/content/pm/PackageParser$Activity;
-PLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;->getIntentListSubset(Ljava/util/List;Lcom/android/server/pm/PackageManagerService$ActivityIntentResolver$IterGenerator;Ljava/util/Iterator;)V
-PLcom/android/server/pm/PackageManagerService$DefaultContainerConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/pm/PackageManagerService$8;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getInstallerPackageName()Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getInstallerUid()I
+PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getObserver()Landroid/content/pm/IPackageInstallObserver2;
+PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getSessionParams()Landroid/content/pm/PackageInstaller$SessionParams;
+PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getSigningDetails()Landroid/content/pm/PackageParser$SigningDetails;
+PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getStagedDir()Ljava/io/File;
+PLcom/android/server/pm/PackageManagerService$ActiveInstallSession;->getUser()Landroid/os/UserHandle;
 PLcom/android/server/pm/PackageManagerService$FileInstallArgs;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$InstallParams;)V
-PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->copyApk(Lcom/android/internal/app/IMediaContainerService;Z)I
-PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doCopyApk(Lcom/android/internal/app/IMediaContainerService;Z)I
+PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->copyApk()I
+PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doCopyApk()I
 PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doPostDeleteLI(Z)Z
 PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doPostInstall(II)I
 PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doPreInstall(I)I
-PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doRename(ILandroid/content/pm/PackageParser$Package;Ljava/lang/String;)Z
+PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->doRename(ILandroid/content/pm/PackageParser$Package;)Z
 PLcom/android/server/pm/PackageManagerService$FileInstallArgs;->getCodePath()Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService$HandlerParams;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/os/UserHandle;)V
 PLcom/android/server/pm/PackageManagerService$HandlerParams;->getUser()Landroid/os/UserHandle;
-PLcom/android/server/pm/PackageManagerService$HandlerParams;->setTraceCookie(I)Lcom/android/server/pm/PackageManagerService$HandlerParams;
-PLcom/android/server/pm/PackageManagerService$HandlerParams;->setTraceMethod(Ljava/lang/String;)Lcom/android/server/pm/PackageManagerService$HandlerParams;
-PLcom/android/server/pm/PackageManagerService$HandlerParams;->startCopy()Z
-PLcom/android/server/pm/PackageManagerService$IFVerificationParams;-><init>(Landroid/content/pm/PackageParser$Package;ZII)V
 PLcom/android/server/pm/PackageManagerService$InstallArgs;->getUser()Landroid/os/UserHandle;
-PLcom/android/server/pm/PackageManagerService$InstallArgs;->isFwdLocked()Z
 PLcom/android/server/pm/PackageManagerService$InstallParams$1;-><init>(Lcom/android/server/pm/PackageManagerService$InstallParams;I)V
 PLcom/android/server/pm/PackageManagerService$InstallParams$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/pm/PackageManagerService$InstallParams;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$OriginInfo;Lcom/android/server/pm/PackageManagerService$MoveInfo;Landroid/content/pm/IPackageInstallObserver2;ILjava/lang/String;Ljava/lang/String;Lcom/android/server/pm/PackageManagerService$VerificationInfo;Landroid/os/UserHandle;Ljava/lang/String;[Ljava/lang/String;Landroid/content/pm/PackageParser$SigningDetails;I)V
+PLcom/android/server/pm/PackageManagerService$InstallParams;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$ActiveInstallSession;)V
 PLcom/android/server/pm/PackageManagerService$InstallParams;->handleReturnCode()V
 PLcom/android/server/pm/PackageManagerService$InstallParams;->handleStartCopy()V
+PLcom/android/server/pm/PackageManagerService$InstallParams;->handleVerificationFinished()V
 PLcom/android/server/pm/PackageManagerService$InstallParams;->installLocationPolicy(Landroid/content/pm/PackageInfoLite;)I
-PLcom/android/server/pm/PackageManagerService$InstantAppIntentResolver;-><init>()V
-PLcom/android/server/pm/PackageManagerService$InstantAppIntentResolver;->filterResults(Ljava/util/List;)V
-PLcom/android/server/pm/PackageManagerService$InstantAppIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
-PLcom/android/server/pm/PackageManagerService$InstantAppIntentResolver;->newArray(I)[Landroid/content/pm/AuxiliaryResolveInfo$AuxiliaryFilter;
-PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/content/Context;Landroid/content/ComponentName;)V
 PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->addOneIntentFilterVerification(IIILandroid/content/IntentFilter;Ljava/lang/String;)Z
 PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->addOneIntentFilterVerification(IIILandroid/content/pm/PackageParser$ActivityIntentInfo;Ljava/lang/String;)Z
 PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->createDomainVerificationState(IIILjava/lang/String;)Lcom/android/server/pm/IntentFilterVerificationState;
-PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->getDefaultScheme()Ljava/lang/String;
 PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->receiveVerificationResponse(I)V
 PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->sendVerificationRequest(ILcom/android/server/pm/IntentFilterVerificationState;)V
 PLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;->startVerifications(I)V
-PLcom/android/server/pm/PackageManagerService$MoveCallbacks;->register(Landroid/content/pm/IPackageMoveObserver;)V
-PLcom/android/server/pm/PackageManagerService$OnPermissionChangeListeners;->addListenerLocked(Landroid/content/pm/IOnPermissionsChangeListener;)V
 PLcom/android/server/pm/PackageManagerService$OnPermissionChangeListeners;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/pm/PackageManagerService$OnPermissionChangeListeners;->handleOnPermissionsChanged(I)V
-PLcom/android/server/pm/PackageManagerService$OnPermissionChangeListeners;->onPermissionsChanged(I)V
-PLcom/android/server/pm/PackageManagerService$OnPermissionChangeListeners;->removeListenerLocked(Landroid/content/pm/IOnPermissionsChangeListener;)V
-PLcom/android/server/pm/PackageManagerService$OriginInfo;->fromStagedFile(Ljava/io/File;)Lcom/android/server/pm/PackageManagerService$OriginInfo;
-PLcom/android/server/pm/PackageManagerService$PackageFreezer;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ILjava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService$PackageFreezer;->close()V
 PLcom/android/server/pm/PackageManagerService$PackageFreezer;->finalize()V
-PLcom/android/server/pm/PackageManagerService$PackageHandler;->connectToService()Z
-PLcom/android/server/pm/PackageManagerService$PackageHandler;->disconnectService()V
 PLcom/android/server/pm/PackageManagerService$PackageHandler;->doHandleMessage(Landroid/os/Message;)V
 PLcom/android/server/pm/PackageManagerService$PackageHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/pm/PackageManagerService$PackageInstalledInfo;-><init>()V
 PLcom/android/server/pm/PackageManagerService$PackageInstalledInfo;->setReturnCode(I)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->addIsolatedUid(II)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->canAccessComponent(ILandroid/content/ComponentName;I)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->canAccessInstantApps(II)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->finishPackageInstall(IZ)V
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->freeStorage(Ljava/lang/String;JI)V
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getActivityInfo(Landroid/content/ComponentName;III)Landroid/content/pm/ActivityInfo;
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getApplicationInfo(Ljava/lang/String;III)Landroid/content/pm/ApplicationInfo;
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getDisabledPackage(Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getHomeActivitiesAsUser(Ljava/util/List;I)Landroid/content/ComponentName;
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getOverlayPackages(I)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getAppsWithSharedUserIds()Landroid/util/SparseArray;
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getDistractingPackageRestrictions(Ljava/lang/String;I)I
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getInstalledApplications(III)Ljava/util/List;
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageInfo(Ljava/lang/String;III)Landroid/content/pm/PackageInfo;
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageList(Landroid/content/pm/PackageManagerInternal$PackageListObserver;)Landroid/content/pm/PackageList;
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageTargetSdkVersion(Ljava/lang/String;)I
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageUid(Ljava/lang/String;II)I
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPermissionFlagsTEMP(Ljava/lang/String;Ljava/lang/String;I)I
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getSetupWizardPackageName()Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getTargetPackageNames(I)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getUidTargetSdkVersion(I)I
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->grantDefaultPermissionsToDefaultDialerApp(Ljava/lang/String;I)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;IZ)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isInstantApp(Ljava/lang/String;I)Z
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isInstantAppInstallerComponent(Landroid/content/ComponentName;)Z
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isLegacySystemApp(Landroid/content/pm/PackageParser$Package;)Z
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPackagePersistent(Ljava/lang/String;)Z
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPackageSuspended(Ljava/lang/String;I)Z
+PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPlatformSigned(Ljava/lang/String;)Z
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isResolveActivityComponent(Landroid/content/pm/ComponentInfo;)Z
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->pruneInstantApps()V
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->queryIntentActivities(Landroid/content/Intent;III)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->queryIntentServices(Landroid/content/Intent;III)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
 PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;IIZI)Landroid/content/pm/ResolveInfo;
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setDeviceAndProfileOwnerPackages(ILjava/lang/String;Landroid/util/SparseArray;)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setDialerAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setEnabledOverlayPackages(ILjava/lang/String;Ljava/util/List;)Z
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setExternalSourcesPolicy(Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setLocationPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setSimCallManagerPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setSmsAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setSyncAdapterPackagesprovider(Landroid/content/pm/PackageManagerInternal$SyncAdapterPackagesProvider;)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setUseOpenWifiAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setVoiceInteractionPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->updatePermissionFlagsTEMP(Ljava/lang/String;Ljava/lang/String;III)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerNative;-><init>(Lcom/android/server/pm/PackageManagerService;)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerNative;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$1;)V
-PLcom/android/server/pm/PackageManagerService$PackageManagerNative;->getInstallerForPackage(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService$PackageManagerNative;->getNamesForUids([I)[Ljava/lang/String;
 PLcom/android/server/pm/PackageManagerService$PackageManagerNative;->getVersionCodeForPackage(Ljava/lang/String;)J
 PLcom/android/server/pm/PackageManagerService$PackageParserCallback;->getStaticOverlayPaths(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
 PLcom/android/server/pm/PackageManagerService$PackageRemovedInfo;-><init>(Lcom/android/server/pm/PackageSender;)V
 PLcom/android/server/pm/PackageManagerService$PackageRemovedInfo;->populateUsers([ILcom/android/server/pm/PackageSetting;)V
-PLcom/android/server/pm/PackageManagerService$PackageRemovedInfo;->sendPackageRemovedBroadcastInternal(Z)V
 PLcom/android/server/pm/PackageManagerService$PackageRemovedInfo;->sendPackageRemovedBroadcasts(Z)V
 PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->clear()V
 PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->get(ILjava/lang/String;)Ljava/util/ArrayList;
-PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->getOrAllocate(I)Landroid/util/ArrayMap;
 PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->packagesForUserId(I)Landroid/util/ArrayMap;
 PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->put(ILjava/lang/String;Ljava/util/ArrayList;)V
 PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->size()I
 PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->userIdAt(I)I
 PLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;->userIdCount()I
-PLcom/android/server/pm/PackageManagerService$PostInstallData;-><init>(Lcom/android/server/pm/PackageManagerService$InstallArgs;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;)V
-PLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;->access$2400(Lcom/android/server/pm/PackageManagerService$ProviderIntentResolver;)Landroid/util/ArrayMap;
-PLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
-PLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;->allowFilterResult(Landroid/content/pm/PackageParser$ProviderIntentInfo;Ljava/util/List;)Z
-PLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
-PLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;->isPackageForFilter(Ljava/lang/String;Landroid/content/pm/PackageParser$ProviderIntentInfo;)Z
-PLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
-PLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;->newResult(Landroid/content/pm/PackageParser$ProviderIntentInfo;II)Landroid/content/pm/ResolveInfo;
-PLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;->queryIntent(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;->queryIntentForPackage(Landroid/content/Intent;Ljava/lang/String;ILjava/util/ArrayList;I)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;->sortResults(Ljava/util/List;)V
-PLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;->queryIntent(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService$VerificationInfo;-><init>(Landroid/net/Uri;Landroid/net/Uri;II)V
-PLcom/android/server/pm/PackageManagerService;->access$1100(Lcom/android/server/pm/PackageManagerService;ILandroid/net/Uri;ILandroid/os/UserHandle;)V
-PLcom/android/server/pm/PackageManagerService;->access$1200(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$InstallArgs;I)V
-PLcom/android/server/pm/PackageManagerService;->access$1300(Lcom/android/server/pm/PackageManagerService;IIZLandroid/content/pm/PackageParser$Package;)V
-PLcom/android/server/pm/PackageManagerService;->access$1400(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageManagerService$IntentFilterVerifier;
-PLcom/android/server/pm/PackageManagerService;->access$1600(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageManagerService$OnPermissionChangeListeners;
-PLcom/android/server/pm/PackageManagerService;->access$200(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/DeviceIdleController$LocalService;
-PLcom/android/server/pm/PackageManagerService;->access$300(Lcom/android/server/pm/PackageManagerService;)J
-PLcom/android/server/pm/PackageManagerService;->access$3100(Lcom/android/server/pm/PackageManagerService;Landroid/app/IActivityManager;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[IZ)V
-PLcom/android/server/pm/PackageManagerService;->access$3200()[I
-PLcom/android/server/pm/PackageManagerService;->access$3300(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$InstallArgs;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;)V
-PLcom/android/server/pm/PackageManagerService;->access$3400(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;Ljava/lang/String;[I[I)V
-PLcom/android/server/pm/PackageManagerService;->access$3500(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageInfoLite;)V
-PLcom/android/server/pm/PackageManagerService;->access$3600(Landroid/content/pm/PackageParser$Package;)Z
-PLcom/android/server/pm/PackageManagerService;->access$3700()Z
-PLcom/android/server/pm/PackageManagerService;->access$3800(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$InstallParams;)Lcom/android/server/pm/PackageManagerService$InstallArgs;
-PLcom/android/server/pm/PackageManagerService;->access$3900(Lcom/android/server/pm/PackageManagerService;III)Z
-PLcom/android/server/pm/PackageManagerService;->access$400(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Z
-PLcom/android/server/pm/PackageManagerService;->access$4000(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;IIZ)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->access$4108(Lcom/android/server/pm/PackageManagerService;)I
-PLcom/android/server/pm/PackageManagerService;->access$4200(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/PackageInfoLite;Ljava/util/List;Lcom/android/server/pm/PackageVerificationState;)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->access$4300(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;Ljava/util/List;)Landroid/content/ComponentName;
-PLcom/android/server/pm/PackageManagerService;->access$4500(Lcom/android/server/pm/PackageManagerService;Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
-PLcom/android/server/pm/PackageManagerService;->access$500(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/PackageManagerService$DefaultContainerConnection;
-PLcom/android/server/pm/PackageManagerService;->access$5402(Lcom/android/server/pm/PackageManagerService;Z)Z
-PLcom/android/server/pm/PackageManagerService;->access$5700(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;IILjava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->access$600(Lcom/android/server/pm/PackageManagerService;)Lcom/android/internal/app/IMediaContainerService;
-PLcom/android/server/pm/PackageManagerService;->access$602(Lcom/android/server/pm/PackageManagerService;Lcom/android/internal/app/IMediaContainerService;)Lcom/android/internal/app/IMediaContainerService;
-PLcom/android/server/pm/PackageManagerService;->access$700(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ZLjava/util/ArrayList;I)V
-PLcom/android/server/pm/PackageManagerService;->access$7000(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/permission/PermissionManagerInternal;
-PLcom/android/server/pm/PackageManagerService;->access$7100(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;JIII)Landroid/content/pm/PackageInfo;
-PLcom/android/server/pm/PackageManagerService;->access$7200(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;III)Landroid/content/pm/ApplicationInfo;
-PLcom/android/server/pm/PackageManagerService;->access$7300(Lcom/android/server/pm/PackageManagerService;Landroid/content/ComponentName;III)Landroid/content/pm/ActivityInfo;
-PLcom/android/server/pm/PackageManagerService;->access$7400(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;IIIZZ)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->access$7500(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;IIIZ)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->access$7700(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;
-PLcom/android/server/pm/PackageManagerService;->access$800(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;ZZZ[Ljava/lang/String;ZLjava/lang/String;Landroid/content/pm/IPackageInstallObserver2;)V
-PLcom/android/server/pm/PackageManagerService;->access$8000(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageSetting;II)Landroid/content/pm/PackageInfo;
-PLcom/android/server/pm/PackageManagerService;->access$8100(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;IIZI)Landroid/content/pm/ResolveInfo;
-PLcom/android/server/pm/PackageManagerService;->access$8300(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
-PLcom/android/server/pm/PackageManagerService;->access$8400(Lcom/android/server/pm/PackageManagerService;I)I
-PLcom/android/server/pm/PackageManagerService;->access$8500(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;)I
-PLcom/android/server/pm/PackageManagerService;->access$900(Lcom/android/server/pm/PackageManagerService;)Landroid/util/ArraySet;
-PLcom/android/server/pm/PackageManagerService;->addDynamicPermission(Landroid/content/pm/PermissionInfo;Z)Z
-PLcom/android/server/pm/PackageManagerService;->addOnPermissionsChangeListener(Landroid/content/pm/IOnPermissionsChangeListener;)V
+PLcom/android/server/pm/PackageManagerService$PrepareResult;-><init>(ILjava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;ZIILandroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;ZZLjava/lang/String;Lcom/android/server/pm/PackageManagerService$PackageFreezer;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;[Lcom/android/server/pm/PackageSetting;)V
+PLcom/android/server/pm/PackageManagerService$PrepareResult;-><init>(ILjava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;ZIILandroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;ZZLjava/lang/String;Lcom/android/server/pm/PackageManagerService$PackageFreezer;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;[Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageManagerService$1;)V
+PLcom/android/server/pm/PackageManagerService$ReconcileRequest;-><init>(Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;Ljava/util/Map;)V
+PLcom/android/server/pm/PackageManagerService;->access$000(Lcom/android/server/pm/PackageManagerService;)J
+PLcom/android/server/pm/PackageManagerService;->access$000(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/DeviceIdleController$LocalService;
+PLcom/android/server/pm/PackageManagerService;->access$100(Lcom/android/server/pm/PackageManagerService;)J
+PLcom/android/server/pm/PackageManagerService;->access$100(Lcom/android/server/pm/PackageManagerService;)Lcom/android/server/DeviceIdleController$LocalService;
+PLcom/android/server/pm/PackageManagerService;->access$2300()Z
+PLcom/android/server/pm/PackageManagerService;->access$2700(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$InstallParams;)Lcom/android/server/pm/PackageManagerService$InstallArgs;
+PLcom/android/server/pm/PackageManagerService;->access$2800(Lcom/android/server/pm/PackageManagerService;III)Z
+PLcom/android/server/pm/PackageManagerService;->access$2900(Lcom/android/server/pm/PackageManagerService;Landroid/content/Intent;Ljava/lang/String;IIZ)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerService;->access$3008(Lcom/android/server/pm/PackageManagerService;)I
+PLcom/android/server/pm/PackageManagerService;->access$3100(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/PackageInfoLite;Ljava/util/List;Lcom/android/server/pm/PackageVerificationState;)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerService;->access$3200(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;Ljava/util/List;)Landroid/content/ComponentName;
+PLcom/android/server/pm/PackageManagerService;->addCrossProfileIntentFilter(Landroid/content/IntentFilter;Ljava/lang/String;III)V
 PLcom/android/server/pm/PackageManagerService;->addPermissionAsync(Landroid/content/pm/PermissionInfo;)Z
-PLcom/android/server/pm/PackageManagerService;->addSharedLibrariesLPw(Ljava/util/List;[J[[Ljava/lang/String;Ljava/lang/String;Landroid/content/pm/PackageParser$Package;ZILjava/util/Set;)Ljava/util/Set;
-PLcom/android/server/pm/PackageManagerService;->addSharedLibraryLPr(Ljava/util/Set;Lcom/android/server/pm/PackageManagerService$SharedLibraryEntry;Landroid/content/pm/PackageParser$Package;)V
-PLcom/android/server/pm/PackageManagerService;->adjustCpuAbisForSharedUserLPw(Ljava/util/Set;Landroid/content/pm/PackageParser$Package;)Ljava/util/List;
+PLcom/android/server/pm/PackageManagerService;->addPreferredActivityInternal(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;ZILjava/lang/String;)V
 PLcom/android/server/pm/PackageManagerService;->apkHasCode(Ljava/lang/String;)Z
 PLcom/android/server/pm/PackageManagerService;->applyPostContentProviderResolutionFilter(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->areWebInstantAppsDisabled()Z
 PLcom/android/server/pm/PackageManagerService;->assertCodePolicy(Landroid/content/pm/PackageParser$Package;)V
-PLcom/android/server/pm/PackageManagerService;->assertPackageKnownAndInstalled(Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/pm/PackageManagerService;->broadcastPackageVerified(ILandroid/net/Uri;ILandroid/os/UserHandle;)V
+PLcom/android/server/pm/PackageManagerService;->canSuspendPackageForUserInternal(Ljava/lang/String;I)Z
 PLcom/android/server/pm/PackageManagerService;->canonicalToCurrentPackageNames([Ljava/lang/String;)[Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->checkDefaultBrowser()V
 PLcom/android/server/pm/PackageManagerService;->checkDowngrade(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageInfoLite;)V
 PLcom/android/server/pm/PackageManagerService;->checkPackageFrozen(Ljava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
 PLcom/android/server/pm/PackageManagerService;->checkUidSignatures(II)I
-PLcom/android/server/pm/PackageManagerService;->chooseBestActivity(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/PackageManagerService;->cleanPackageDataStructuresLILPw(Landroid/content/pm/PackageParser$Package;Z)V
 PLcom/android/server/pm/PackageManagerService;->clearAppDataLIF(Landroid/content/pm/PackageParser$Package;II)V
 PLcom/android/server/pm/PackageManagerService;->clearAppDataLeafLIF(Landroid/content/pm/PackageParser$Package;II)V
-PLcom/android/server/pm/PackageManagerService;->collectAbsoluteCodePaths()Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->createInstallArgs(Lcom/android/server/pm/PackageManagerService$InstallParams;)Lcom/android/server/pm/PackageManagerService$InstallArgs;
-PLcom/android/server/pm/PackageManagerService;->decompressSystemApplications(Ljava/util/List;I)V
-PLcom/android/server/pm/PackageManagerService;->deleteInstalledPackageLIF(Lcom/android/server/pm/PackageSetting;ZI[ILcom/android/server/pm/PackageManagerService$PackageRemovedInfo;ZLandroid/content/pm/PackageParser$Package;)Z
-PLcom/android/server/pm/PackageManagerService;->deletePackageLIF(Ljava/lang/String;Landroid/os/UserHandle;Z[IILcom/android/server/pm/PackageManagerService$PackageRemovedInfo;ZLandroid/content/pm/PackageParser$Package;)Z
+PLcom/android/server/pm/PackageManagerService;->clearCrossProfileIntentFilters(ILjava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->commitPackagesLocked(Lcom/android/server/pm/PackageManagerService$CommitRequest;)V
+PLcom/android/server/pm/PackageManagerService;->createForwardingResolveInfo(Lcom/android/server/pm/CrossProfileIntentFilter;Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/PackageManagerService;->createForwardingResolveInfoUnchecked(Landroid/content/IntentFilter;II)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/pm/PackageManagerService;->deleteInstalledPackageLIF(Lcom/android/server/pm/PackageSetting;ZI[ILcom/android/server/pm/PackageManagerService$PackageRemovedInfo;ZLandroid/content/pm/PackageParser$Package;)V
 PLcom/android/server/pm/PackageManagerService;->disableSystemPackageLPw(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;)Z
-PLcom/android/server/pm/PackageManagerService;->doSendBroadcast(Landroid/app/IActivityManager;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[IZ)V
 PLcom/android/server/pm/PackageManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->enableSystemUserPackages()V
-PLcom/android/server/pm/PackageManagerService;->enforceSystemOrPhoneCaller(Ljava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->enforceSystemOrRoot(Ljava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->dumpFeaturesProto(Landroid/util/proto/ProtoOutputStream;)V
+PLcom/android/server/pm/PackageManagerService;->dumpProto(Ljava/io/FileDescriptor;)V
+PLcom/android/server/pm/PackageManagerService;->dumpSharedLibrariesProto(Landroid/util/proto/ProtoOutputStream;)V
+PLcom/android/server/pm/PackageManagerService;->enforceOwnerRights(Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerService;->executePostCommitSteps(Lcom/android/server/pm/PackageManagerService$CommitRequest;)V
 PLcom/android/server/pm/PackageManagerService;->extrasForInstallResult(Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;)Landroid/os/Bundle;
 PLcom/android/server/pm/PackageManagerService;->filterCandidatesWithDomainPreferredActivitiesLPr(Landroid/content/Intent;ILjava/util/List;Lcom/android/server/pm/PackageManagerService$CrossProfileDomainInfo;I)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->findPersistentPreferredActivityLP(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;ZI)Landroid/content/pm/ResolveInfo;
 PLcom/android/server/pm/PackageManagerService;->findSharedNonSystemLibraries(Landroid/content/pm/PackageParser$Package;)Ljava/util/List;
 PLcom/android/server/pm/PackageManagerService;->findSharedNonSystemLibrariesRecursive(Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;Ljava/util/Set;)V
 PLcom/android/server/pm/PackageManagerService;->findSharedNonSystemLibrariesRecursive(Ljava/util/ArrayList;[JLjava/util/ArrayList;Ljava/util/Set;)V
@@ -14635,303 +9655,220 @@
 PLcom/android/server/pm/PackageManagerService;->fixUpInstallReason(Ljava/lang/String;II)I
 PLcom/android/server/pm/PackageManagerService;->freeStorage(Ljava/lang/String;JI)V
 PLcom/android/server/pm/PackageManagerService;->freeStorageAndNotify(Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
-PLcom/android/server/pm/PackageManagerService;->freezePackage(Ljava/lang/String;ILjava/lang/String;)Lcom/android/server/pm/PackageManagerService$PackageFreezer;
 PLcom/android/server/pm/PackageManagerService;->freezePackageForInstall(Ljava/lang/String;IILjava/lang/String;)Lcom/android/server/pm/PackageManagerService$PackageFreezer;
 PLcom/android/server/pm/PackageManagerService;->freezePackageForInstall(Ljava/lang/String;ILjava/lang/String;)Lcom/android/server/pm/PackageManagerService$PackageFreezer;
 PLcom/android/server/pm/PackageManagerService;->generateApplicationInfoFromSettingsLPw(Ljava/lang/String;III)Landroid/content/pm/ApplicationInfo;
-PLcom/android/server/pm/PackageManagerService;->getActivityManagerInternal()Landroid/app/ActivityManagerInternal;
+PLcom/android/server/pm/PackageManagerService;->getActiveLauncherPackageName(I)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getAllIntentFilters(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/PackageManagerService;->getAppOpPermissionPackages(Ljava/lang/String;)[Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getApplicationEnabledSetting(Ljava/lang/String;I)I
+PLcom/android/server/pm/PackageManagerService;->getAppsWithSharedUserIdsLocked()Landroid/util/SparseArray;
 PLcom/android/server/pm/PackageManagerService;->getArtManager()Landroid/content/pm/dex/IArtManager;
-PLcom/android/server/pm/PackageManagerService;->getBlockUninstallForUser(Ljava/lang/String;I)Z
 PLcom/android/server/pm/PackageManagerService;->getChangedPackages(II)Landroid/content/pm/ChangedPackages;
+PLcom/android/server/pm/PackageManagerService;->getComponentEnabledSetting(Landroid/content/ComponentName;I)I
+PLcom/android/server/pm/PackageManagerService;->getContentCaptureServicePackageName()Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getCrossProfileDomainPreferredLpr(Landroid/content/Intent;Ljava/lang/String;III)Lcom/android/server/pm/PackageManagerService$CrossProfileDomainInfo;
 PLcom/android/server/pm/PackageManagerService;->getDefaultAppsBackup(I)[B
-PLcom/android/server/pm/PackageManagerService;->getDefaultBrowserPackageName(I)Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->getDefaultHomeActivity(I)Landroid/content/ComponentName;
-PLcom/android/server/pm/PackageManagerService;->getDeviceIdleController()Lcom/android/server/DeviceIdleController$LocalService;
+PLcom/android/server/pm/PackageManagerService;->getDefaultDialerPackageName(I)Ljava/lang/String;
 PLcom/android/server/pm/PackageManagerService;->getDexManager()Lcom/android/server/pm/dex/DexManager;
-PLcom/android/server/pm/PackageManagerService;->getHarmfulAppWarning(Ljava/lang/String;I)Ljava/lang/CharSequence;
+PLcom/android/server/pm/PackageManagerService;->getDomainVerificationStatusLPr(Lcom/android/server/pm/PackageSetting;I)J
 PLcom/android/server/pm/PackageManagerService;->getHomeActivities(Ljava/util/List;)Landroid/content/ComponentName;
-PLcom/android/server/pm/PackageManagerService;->getHomeActivitiesAsUser(Ljava/util/List;I)Landroid/content/ComponentName;
-PLcom/android/server/pm/PackageManagerService;->getHomeIntent()Landroid/content/Intent;
+PLcom/android/server/pm/PackageManagerService;->getInstalledModules(I)Ljava/util/List;
 PLcom/android/server/pm/PackageManagerService;->getInstantAppAndroidId(Ljava/lang/String;I)Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->getInstantAppInstallerLPr()Landroid/content/pm/ActivityInfo;
-PLcom/android/server/pm/PackageManagerService;->getInstantAppResolverLPr()Landroid/util/Pair;
-PLcom/android/server/pm/PackageManagerService;->getInstantAppResolverSettingsLPr(Landroid/content/ComponentName;)Landroid/content/ComponentName;
+PLcom/android/server/pm/PackageManagerService;->getInstantAppResolverSettingsComponent()Landroid/content/ComponentName;
+PLcom/android/server/pm/PackageManagerService;->getInstantApps(I)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/pm/PackageManagerService;->getIntentFilterVerificationBackup(I)[B
-PLcom/android/server/pm/PackageManagerService;->getIntentFilterVerifierComponentNameLPr()Landroid/content/ComponentName;
+PLcom/android/server/pm/PackageManagerService;->getIntentFilterVerifications(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/PackageManagerService;->getIntentVerificationStatus(Ljava/lang/String;I)I
 PLcom/android/server/pm/PackageManagerService;->getLastChosenActivity(Landroid/content/Intent;Ljava/lang/String;I)Landroid/content/pm/ResolveInfo;
-PLcom/android/server/pm/PackageManagerService;->getMatchingCrossProfileIntentFilters(Landroid/content/Intent;Ljava/lang/String;I)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->getNamesForUids([I)[Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getNameForUid(I)Ljava/lang/String;
 PLcom/android/server/pm/PackageManagerService;->getNextCodePath(Ljava/io/File;Ljava/lang/String;)Ljava/io/File;
 PLcom/android/server/pm/PackageManagerService;->getOptimizablePackages()Landroid/util/ArraySet;
 PLcom/android/server/pm/PackageManagerService;->getOrCreateCompilerPackageStats(Landroid/content/pm/PackageParser$Package;)Lcom/android/server/pm/CompilerStats$PackageStats;
 PLcom/android/server/pm/PackageManagerService;->getOrCreateCompilerPackageStats(Ljava/lang/String;)Lcom/android/server/pm/CompilerStats$PackageStats;
-PLcom/android/server/pm/PackageManagerService;->getPackageInstaller()Landroid/content/pm/IPackageInstaller;
-PLcom/android/server/pm/PackageManagerService;->getPackageTargetSdkVersionLockedLPr(Ljava/lang/String;)I
 PLcom/android/server/pm/PackageManagerService;->getPackages()Ljava/util/Collection;
 PLcom/android/server/pm/PackageManagerService;->getParentOrChildPackageChangedSharedUser(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;)Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->getPermissionControllerPackageName()Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;I)I
 PLcom/android/server/pm/PackageManagerService;->getPermissionGrantBackup(I)[B
 PLcom/android/server/pm/PackageManagerService;->getPermissionGroupInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionGroupInfo;
-PLcom/android/server/pm/PackageManagerService;->getPersistentApplications(I)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/pm/PackageManagerService;->getPersistentApplicationsInternal(I)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->getPrebuildProfilePath(Landroid/content/pm/PackageParser$Package;)Ljava/lang/String;
+PLcom/android/server/pm/PackageManagerService;->getPreferredActivities(Ljava/util/List;Ljava/util/List;Ljava/lang/String;)I
 PLcom/android/server/pm/PackageManagerService;->getPreferredActivityBackup(I)[B
+PLcom/android/server/pm/PackageManagerService;->getProfileParent(I)Landroid/content/pm/UserInfo;
 PLcom/android/server/pm/PackageManagerService;->getProviderInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ProviderInfo;
-PLcom/android/server/pm/PackageManagerService;->getRequiredButNotReallyRequiredVerifierLPr()Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->getRequiredInstallerLPr()Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->getRequiredSharedLibraryLPr(Ljava/lang/String;I)Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->getRequiredUninstallerLPr()Ljava/lang/String;
 PLcom/android/server/pm/PackageManagerService;->getServicesSystemSharedLibraryPackageName()Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->getSetupWizardPackageName()Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->getSharedLibraryEntryLPr(Ljava/lang/String;J)Lcom/android/server/pm/PackageManagerService$SharedLibraryEntry;
 PLcom/android/server/pm/PackageManagerService;->getSharedSystemSharedLibraryPackageName()Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->getStorageManagerPackageName()Ljava/lang/String;
 PLcom/android/server/pm/PackageManagerService;->getSystemAvailableFeatures()Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/pm/PackageManagerService;->getSystemSharedLibraryNames()[Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->getSystemTextClassifierPackageName()Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->getUidTargetSdkVersionLockedLPr(I)I
 PLcom/android/server/pm/PackageManagerService;->getUnknownSourcesSettings()I
+PLcom/android/server/pm/PackageManagerService;->getUnsuspendablePackagesForUser([Ljava/lang/String;I)[Ljava/lang/String;
 PLcom/android/server/pm/PackageManagerService;->getUnusedPackages(J)Ljava/util/Set;
-PLcom/android/server/pm/PackageManagerService;->getVerificationTimeout()J
-PLcom/android/server/pm/PackageManagerService;->grantDefaultPermissionsToEnabledImsServices([Ljava/lang/String;I)V
-PLcom/android/server/pm/PackageManagerService;->grantDefaultPermissionsToEnabledTelephonyDataServices([Ljava/lang/String;I)V
-PLcom/android/server/pm/PackageManagerService;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/pm/PackageManagerService;->handlePackagePostInstall(Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;ZZZ[Ljava/lang/String;ZLjava/lang/String;Landroid/content/pm/IPackageInstallObserver2;)V
-PLcom/android/server/pm/PackageManagerService;->hasDomainURLs(Landroid/content/pm/PackageParser$Package;)Z
-PLcom/android/server/pm/PackageManagerService;->hasNonNegativePriority(Ljava/util/List;)Z
-PLcom/android/server/pm/PackageManagerService;->hasSystemUidErrors()Z
-PLcom/android/server/pm/PackageManagerService;->hasValidDomains(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Z
-PLcom/android/server/pm/PackageManagerService;->installNewPackageLIF(Landroid/content/pm/PackageParser$Package;IILandroid/os/UserHandle;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;I)V
-PLcom/android/server/pm/PackageManagerService;->installPackageLI(Lcom/android/server/pm/PackageManagerService$InstallArgs;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;)V
-PLcom/android/server/pm/PackageManagerService;->installPackageTracedLI(Lcom/android/server/pm/PackageManagerService$InstallArgs;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;)V
-PLcom/android/server/pm/PackageManagerService;->installStage(Ljava/lang/String;Ljava/io/File;Landroid/content/pm/IPackageInstallObserver2;Landroid/content/pm/PackageInstaller$SessionParams;Ljava/lang/String;ILandroid/os/UserHandle;Landroid/content/pm/PackageParser$SigningDetails;)V
-PLcom/android/server/pm/PackageManagerService;->isFirstBoot()Z
+PLcom/android/server/pm/PackageManagerService;->installExistingPackageAsUser(Ljava/lang/String;III)I
+PLcom/android/server/pm/PackageManagerService;->installExistingPackageAsUser(Ljava/lang/String;IIILandroid/content/IntentSender;)I
+PLcom/android/server/pm/PackageManagerService;->installPackagesLI(Ljava/util/List;)V
+PLcom/android/server/pm/PackageManagerService;->installPackagesTracedLI(Ljava/util/List;)V
+PLcom/android/server/pm/PackageManagerService;->installStage(Lcom/android/server/pm/PackageManagerService$ActiveInstallSession;)V
+PLcom/android/server/pm/PackageManagerService;->isCompatSignatureUpdateNeeded(Landroid/content/pm/PackageParser$Package;)Z
+PLcom/android/server/pm/PackageManagerService;->isExternal(Landroid/content/pm/PackageParser$Package;)Z
 PLcom/android/server/pm/PackageManagerService;->isHistoricalPackageUsageAvailable()Z
-PLcom/android/server/pm/PackageManagerService;->isInstantAppResolutionAllowed(Landroid/content/Intent;Ljava/util/List;IZ)Z
-PLcom/android/server/pm/PackageManagerService;->isOnlyCoreApps()Z
+PLcom/android/server/pm/PackageManagerService;->isOemApp(Landroid/content/pm/PackageParser$Package;)Z
 PLcom/android/server/pm/PackageManagerService;->isPermissionRevokedByPolicy(Ljava/lang/String;Ljava/lang/String;I)Z
-PLcom/android/server/pm/PackageManagerService;->isRecentsAccessingChildProfiles(II)Z
+PLcom/android/server/pm/PackageManagerService;->isPrivilegedApp(Landroid/content/pm/PackageParser$Package;)Z
+PLcom/android/server/pm/PackageManagerService;->isProductApp(Landroid/content/pm/PackageParser$Package;)Z
+PLcom/android/server/pm/PackageManagerService;->isRecoverSignatureUpdateNeeded(Landroid/content/pm/PackageParser$Package;)Z
 PLcom/android/server/pm/PackageManagerService;->isSafeMode()Z
 PLcom/android/server/pm/PackageManagerService;->isStorageLow()Z
-PLcom/android/server/pm/PackageManagerService;->isSystemApp(Lcom/android/server/pm/PackageSetting;)Z
 PLcom/android/server/pm/PackageManagerService;->isUidPrivileged(I)Z
-PLcom/android/server/pm/PackageManagerService;->isUserRestricted(ILjava/lang/String;)Z
+PLcom/android/server/pm/PackageManagerService;->isUserEnabled(I)Z
+PLcom/android/server/pm/PackageManagerService;->isVendorApp(Landroid/content/pm/PackageParser$Package;)Z
 PLcom/android/server/pm/PackageManagerService;->isVerificationEnabled(III)Z
-PLcom/android/server/pm/PackageManagerService;->killApplication(Ljava/lang/String;IILjava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->lambda$commitPackageSettings$4(Lcom/android/server/pm/PackageManagerService;Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;)V
+PLcom/android/server/pm/PackageManagerService;->killUid(IILjava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$commitPackageSettings$6$PackageManagerService(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$freeStorageAndNotify$1$PackageManagerService(Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
 PLcom/android/server/pm/PackageManagerService;->lambda$freeStorageAndNotify$1(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;JILandroid/content/pm/IPackageDataObserver;)V
-PLcom/android/server/pm/PackageManagerService;->lambda$grantDefaultPermissionsToEnabledTelephonyDataServices$8(Lcom/android/server/pm/PackageManagerService;[Ljava/lang/String;I)V
-PLcom/android/server/pm/PackageManagerService;->lambda$new$0(Lcom/android/server/pm/PackageManagerService;Ljava/util/List;I)V
-PLcom/android/server/pm/PackageManagerService;->lambda$revokeDefaultPermissionsFromDisabledTelephonyDataServices$9(Lcom/android/server/pm/PackageManagerService;[Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerService;->lambda$getPermissionGrantBackup$26(Ljava/util/concurrent/atomic/AtomicReference;[B)V
+PLcom/android/server/pm/PackageManagerService;->lambda$grantDefaultPermissionsToEnabledTelephonyDataServices$32$PackageManagerService([Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerService;->lambda$notifyFirstLaunch$13(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$notifyFirstLaunch$14$PackageManagerService(Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$postPreferredActivityChangedBroadcast$22(I)V
+PLcom/android/server/pm/PackageManagerService;->lambda$postPreferredActivityChangedBroadcast$23(I)V
+PLcom/android/server/pm/PackageManagerService;->lambda$processInstallRequestsAsync$12$PackageManagerService(ZLjava/util/List;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$processInstallRequestsAsync$12(Lcom/android/server/pm/PackageManagerService;ZLjava/util/List;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$processInstallRequestsAsync$13$PackageManagerService(ZLjava/util/List;)V
+PLcom/android/server/pm/PackageManagerService;->lambda$revokeDefaultPermissionsFromDisabledTelephonyDataServices$33$PackageManagerService([Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerService;->lambda$sendPackageAddedForNewUsers$9$PackageManagerService([ILjava/lang/String;Z)V
+PLcom/android/server/pm/PackageManagerService;->lambda$sendPackageBroadcast$7(Lcom/android/server/pm/PackageManagerService;[ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I)V
 PLcom/android/server/pm/PackageManagerService;->matchComponentForVerifier(Ljava/lang/String;Ljava/util/List;)Landroid/content/ComponentName;
 PLcom/android/server/pm/PackageManagerService;->matchVerifiers(Landroid/content/pm/PackageInfoLite;Ljava/util/List;Lcom/android/server/pm/PackageVerificationState;)Ljava/util/List;
 PLcom/android/server/pm/PackageManagerService;->maybeAddInstantAppInstaller(Ljava/util/List;Landroid/content/Intent;Ljava/lang/String;IIZ)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->maybeMigrateAppDataLIF(Landroid/content/pm/PackageParser$Package;I)Z
 PLcom/android/server/pm/PackageManagerService;->needsNetworkVerificationLPr(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Z
-PLcom/android/server/pm/PackageManagerService;->normalizePackageNameLPr(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/pm/PackageManagerService;->notifyDexLoad(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
 PLcom/android/server/pm/PackageManagerService;->notifyFirstLaunch(Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/pm/PackageManagerService;->notifyPackageAdded(Ljava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->notifyPackageUse(Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerService;->onShellCommand(Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;Ljava/io/FileDescriptor;[Ljava/lang/String;Landroid/os/ShellCallback;Landroid/os/ResultReceiver;)V
 PLcom/android/server/pm/PackageManagerService;->packageIsBrowser(Ljava/lang/String;I)Z
 PLcom/android/server/pm/PackageManagerService;->performDexOpt(Lcom/android/server/pm/dex/DexoptOptions;)Z
+PLcom/android/server/pm/PackageManagerService;->performDexOptInternal(Lcom/android/server/pm/dex/DexoptOptions;)I
 PLcom/android/server/pm/PackageManagerService;->performDexOptInternalWithDependenciesLI(Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/dex/DexoptOptions;)I
 PLcom/android/server/pm/PackageManagerService;->performDexOptTraced(Lcom/android/server/pm/dex/DexoptOptions;)I
 PLcom/android/server/pm/PackageManagerService;->performDexOptUpgrade(Ljava/util/List;ZIZ)[I
 PLcom/android/server/pm/PackageManagerService;->performDexOptWithStatus(Lcom/android/server/pm/dex/DexoptOptions;)I
-PLcom/android/server/pm/PackageManagerService;->performFstrimIfNeeded()V
 PLcom/android/server/pm/PackageManagerService;->prepareAppDataAfterInstallLIF(Landroid/content/pm/PackageParser$Package;)V
-PLcom/android/server/pm/PackageManagerService;->prepareAppDataAndMigrateLIF(Landroid/content/pm/PackageParser$Package;IIZ)V
-PLcom/android/server/pm/PackageManagerService;->prepareAppDataContentsLeafLIF(Landroid/content/pm/PackageParser$Package;II)V
-PLcom/android/server/pm/PackageManagerService;->prepareAppDataLIF(Landroid/content/pm/PackageParser$Package;II)V
-PLcom/android/server/pm/PackageManagerService;->prepareAppDataLeafLIF(Landroid/content/pm/PackageParser$Package;II)V
+PLcom/android/server/pm/PackageManagerService;->preparePackageLI(Lcom/android/server/pm/PackageManagerService$InstallArgs;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;)Lcom/android/server/pm/PackageManagerService$PrepareResult;
 PLcom/android/server/pm/PackageManagerService;->processPendingInstall(Lcom/android/server/pm/PackageManagerService$InstallArgs;I)V
-PLcom/android/server/pm/PackageManagerService;->queryCrossProfileIntents(Ljava/util/List;Landroid/content/Intent;Ljava/lang/String;IIZ)Landroid/content/pm/ResolveInfo;
 PLcom/android/server/pm/PackageManagerService;->queryIntentContentProviders(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/pm/PackageManagerService;->queryIntentContentProvidersInternal(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->queryPermissionsByGroup(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/pm/PackageManagerService;->querySkipCurrentProfileIntents(Ljava/util/List;Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
-PLcom/android/server/pm/PackageManagerService;->reconcileApps(Ljava/lang/String;)V
 PLcom/android/server/pm/PackageManagerService;->reconcileAppsData(IIZ)V
-PLcom/android/server/pm/PackageManagerService;->reconcileAppsDataLI(Ljava/lang/String;IIZ)V
-PLcom/android/server/pm/PackageManagerService;->reconcileAppsDataLI(Ljava/lang/String;IIZZ)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerService;->registerMoveCallback(Landroid/content/pm/IPackageMoveObserver;)V
 PLcom/android/server/pm/PackageManagerService;->removeOnPermissionsChangeListener(Landroid/content/pm/IOnPermissionsChangeListener;)V
 PLcom/android/server/pm/PackageManagerService;->removePackageDataLIF(Lcom/android/server/pm/PackageSetting;[ILcom/android/server/pm/PackageManagerService$PackageRemovedInfo;IZ)V
-PLcom/android/server/pm/PackageManagerService;->replaceNonSystemPackageLIF(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;IILandroid/os/UserHandle;[ILjava/lang/String;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;I)V
-PLcom/android/server/pm/PackageManagerService;->replacePackageLIF(Landroid/content/pm/PackageParser$Package;IILandroid/os/UserHandle;Ljava/lang/String;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;I)V
-PLcom/android/server/pm/PackageManagerService;->replaceSystemPackageLIF(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;IILandroid/os/UserHandle;[ILjava/lang/String;Lcom/android/server/pm/PackageManagerService$PackageInstalledInfo;I)V
-PLcom/android/server/pm/PackageManagerService;->resolveUserIds(I)[I
-PLcom/android/server/pm/PackageManagerService;->revokeDefaultPermissionsFromDisabledTelephonyDataServices([Ljava/lang/String;I)V
-PLcom/android/server/pm/PackageManagerService;->scanPackageTracedLI(Landroid/content/pm/PackageParser$Package;IIJLandroid/os/UserHandle;)Landroid/content/pm/PackageParser$Package;
-PLcom/android/server/pm/PackageManagerService;->scheduleWritePackageRestrictionsLocked(I)V
+PLcom/android/server/pm/PackageManagerService;->removePackageLI(Landroid/content/pm/PackageParser$Package;Z)V
+PLcom/android/server/pm/PackageManagerService;->removePackageLI(Ljava/lang/String;Z)V
+PLcom/android/server/pm/PackageManagerService;->removeSharedLibraryLPw(Ljava/lang/String;J)Z
+PLcom/android/server/pm/PackageManagerService;->replacePreferredActivity(Landroid/content/IntentFilter;I[Landroid/content/ComponentName;Landroid/content/ComponentName;I)V
+PLcom/android/server/pm/PackageManagerService;->restoreAndPostInstall(ILcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Lcom/android/server/pm/PackageManagerService$PostInstallData;)V
+PLcom/android/server/pm/PackageManagerService;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/pm/PackageManagerService;->scanPackageTracedLI(Landroid/content/pm/PackageParser$Package;IIJLandroid/os/UserHandle;)Ljava/util/List;
 PLcom/android/server/pm/PackageManagerService;->scheduleWriteSettingsLocked()V
-PLcom/android/server/pm/PackageManagerService;->sendFirstLaunchBroadcast(Ljava/lang/String;Ljava/lang/String;[I[I)V
+PLcom/android/server/pm/PackageManagerService;->sendBootCompletedBroadcastToSystemApp(Ljava/lang/String;ZI)V
 PLcom/android/server/pm/PackageManagerService;->sendPackageAddedForNewUsers(Ljava/lang/String;ZZI[I[I)V
-PLcom/android/server/pm/PackageManagerService;->sendPackageBroadcast(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I[I)V
+PLcom/android/server/pm/PackageManagerService;->sendPackageAddedForUser(Ljava/lang/String;Lcom/android/server/pm/PackageSetting;I)V
 PLcom/android/server/pm/PackageManagerService;->sendPackageChangedBroadcast(Ljava/lang/String;ZLjava/util/ArrayList;I)V
 PLcom/android/server/pm/PackageManagerService;->sendSessionCommitBroadcast(Landroid/content/pm/PackageInstaller$SessionInfo;I)V
-PLcom/android/server/pm/PackageManagerService;->serializeRuntimePermissionGrantsLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
 PLcom/android/server/pm/PackageManagerService;->setApplicationCategoryHint(Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/pm/PackageManagerService;->setApplicationEnabledSetting(Ljava/lang/String;IIILjava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->setComponentEnabledSetting(Landroid/content/ComponentName;III)V
+PLcom/android/server/pm/PackageManagerService;->setDefaultBrowserPackageName(Ljava/lang/String;I)Z
 PLcom/android/server/pm/PackageManagerService;->setInstallAndUpdateTime(Landroid/content/pm/PackageParser$Package;JJ)V
-PLcom/android/server/pm/PackageManagerService;->setUpInstantAppInstallerActivityLP(Landroid/content/pm/ActivityInfo;)V
+PLcom/android/server/pm/PackageManagerService;->setUpFsVerityIfPossible(Landroid/content/pm/PackageParser$Package;)V
 PLcom/android/server/pm/PackageManagerService;->shouldShowRequestPermissionRationale(Ljava/lang/String;Ljava/lang/String;I)Z
 PLcom/android/server/pm/PackageManagerService;->startIntentFilterVerifications(IZLandroid/content/pm/PackageParser$Package;)V
-PLcom/android/server/pm/PackageManagerService;->systemReady()V
-PLcom/android/server/pm/PackageManagerService;->unsuspendForNonSystemSuspendingPackages(Landroid/util/ArraySet;)V
-PLcom/android/server/pm/PackageManagerService;->updateAllSharedLibrariesLPw(Landroid/content/pm/PackageParser$Package;)Ljava/util/ArrayList;
-PLcom/android/server/pm/PackageManagerService;->updateInstantAppInstallerLocked(Ljava/lang/String;)V
-PLcom/android/server/pm/PackageManagerService;->updateIntentForResolve(Landroid/content/Intent;)Landroid/content/Intent;
-PLcom/android/server/pm/PackageManagerService;->updatePackagesIfNeeded()V
+PLcom/android/server/pm/PackageManagerService;->updateDefaultHomeLPw(I)V
 PLcom/android/server/pm/PackageManagerService;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;III)V
-PLcom/android/server/pm/PackageManagerService;->updateSequenceNumberLP(Lcom/android/server/pm/PackageSetting;[I)V
 PLcom/android/server/pm/PackageManagerService;->updateSettingsInternalLI(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;[I[ILcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Landroid/os/UserHandle;I)V
 PLcom/android/server/pm/PackageManagerService;->updateSettingsLI(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;[ILcom/android/server/pm/PackageManagerService$PackageInstalledInfo;Landroid/os/UserHandle;I)V
-PLcom/android/server/pm/PackageManagerService;->updateSharedLibrariesLPr(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;)V
 PLcom/android/server/pm/PackageManagerService;->verifyIntentFilter(IILjava/util/List;)V
 PLcom/android/server/pm/PackageManagerService;->verifyIntentFiltersIfNeeded(IIZLandroid/content/pm/PackageParser$Package;)V
 PLcom/android/server/pm/PackageManagerService;->verifyPendingInstall(II)V
-PLcom/android/server/pm/PackageManagerService;->waitForAppDataPrepared()V
 PLcom/android/server/pm/PackageManagerServiceCompilerMapping;->getCompilerFilterForReason(I)Ljava/lang/String;
 PLcom/android/server/pm/PackageManagerServiceCompilerMapping;->getReasonName(I)Ljava/lang/String;
 PLcom/android/server/pm/PackageManagerServiceUtils;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
 PLcom/android/server/pm/PackageManagerServiceUtils;->applyPackageFilter(Ljava/util/function/Predicate;Ljava/util/Collection;Ljava/util/Collection;Ljava/util/List;Lcom/android/server/pm/PackageManagerService;)V
-PLcom/android/server/pm/PackageManagerServiceUtils;->checkISA(Ljava/lang/String;)Z
+PLcom/android/server/pm/PackageManagerServiceUtils;->dumpCriticalInfo(Landroid/util/proto/ProtoOutputStream;)V
+PLcom/android/server/pm/PackageManagerServiceUtils;->dumpCriticalInfo(Ljava/io/PrintWriter;Ljava/lang/String;)V
+PLcom/android/server/pm/PackageManagerServiceUtils;->getMinimalPackageInfo(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;)Landroid/content/pm/PackageInfoLite;
 PLcom/android/server/pm/PackageManagerServiceUtils;->getPackageNamesForIntent(Landroid/content/Intent;I)Landroid/util/ArraySet;
-PLcom/android/server/pm/PackageManagerServiceUtils;->getPackagesForDexopt(Ljava/util/Collection;Lcom/android/server/pm/PackageManagerService;)Ljava/util/List;
-PLcom/android/server/pm/PackageManagerServiceUtils;->isApkVerityEnabled()Z
+PLcom/android/server/pm/PackageManagerServiceUtils;->getPackagesForDexopt(Ljava/util/Collection;Lcom/android/server/pm/PackageManagerService;Z)Ljava/util/List;
 PLcom/android/server/pm/PackageManagerServiceUtils;->isUnusedSinceTimeInMillis(JJJLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;JJ)Z
-PLcom/android/server/pm/PackageManagerServiceUtils;->lambda$getPackagesForDexopt$1(Landroid/content/pm/PackageParser$Package;)Z
-PLcom/android/server/pm/PackageManagerServiceUtils;->lambda$getPackagesForDexopt$2(Landroid/util/ArraySet;Landroid/content/pm/PackageParser$Package;)Z
-PLcom/android/server/pm/PackageManagerServiceUtils;->lambda$getPackagesForDexopt$3(Lcom/android/server/pm/dex/DexManager;Landroid/content/pm/PackageParser$Package;)Z
-PLcom/android/server/pm/PackageManagerServiceUtils;->lambda$getPackagesForDexopt$4(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;)I
-PLcom/android/server/pm/PackageManagerServiceUtils;->lambda$getPackagesForDexopt$5(JLandroid/content/pm/PackageParser$Package;)Z
-PLcom/android/server/pm/PackageManagerServiceUtils;->lambda$sortPackagesByUsageDate$0(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;)I
-PLcom/android/server/pm/PackageManagerServiceUtils;->sortPackagesByUsageDate(Ljava/util/List;Lcom/android/server/pm/PackageManagerService;)V
-PLcom/android/server/pm/PackageSetting;->areInstallPermissionsFixed()Z
-PLcom/android/server/pm/PackageSetting;->getAppId()I
-PLcom/android/server/pm/PackageSetting;->getSharedUser()Lcom/android/server/pm/SharedUserSetting;
+PLcom/android/server/pm/PackageManagerShellCommand$SnapshotRuntimeProfileCallback;->onSuccess(Landroid/os/ParcelFileDescriptor;)V
+PLcom/android/server/pm/PackageManagerShellCommand$SnapshotRuntimeProfileCallback;->waitTillDone()Z
+PLcom/android/server/pm/PackageManagerShellCommand;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+PLcom/android/server/pm/PackageManagerShellCommand;->onCommand(Ljava/lang/String;)I
+PLcom/android/server/pm/PackageManagerShellCommand;->runList()I
+PLcom/android/server/pm/PackageManagerShellCommand;->runListPackages(Z)I
+PLcom/android/server/pm/PackageManagerShellCommand;->runSnapshotProfile()I
 PLcom/android/server/pm/PackageSetting;->isSharedUser()Z
-PLcom/android/server/pm/PackageSetting;->isUpdatedSystem()Z
-PLcom/android/server/pm/PackageSetting;->setInstallPermissionsFixed(Z)V
-PLcom/android/server/pm/PackageSettingBase;->disableComponentLPw(Ljava/lang/String;I)Z
-PLcom/android/server/pm/PackageSettingBase;->enableComponentLPw(Ljava/lang/String;I)Z
-PLcom/android/server/pm/PackageSettingBase;->getCeDataInode(I)J
+PLcom/android/server/pm/PackageSetting;->writeToProto(Landroid/util/proto/ProtoOutputStream;JLjava/util/List;)V
 PLcom/android/server/pm/PackageSettingBase;->getCurrentEnabledStateLPr(Ljava/lang/String;I)I
 PLcom/android/server/pm/PackageSettingBase;->getDomainVerificationStatusForUser(I)J
+PLcom/android/server/pm/PackageSettingBase;->getEnabled(I)I
+PLcom/android/server/pm/PackageSettingBase;->getHarmfulAppWarning(I)Ljava/lang/String;
+PLcom/android/server/pm/PackageSettingBase;->getHidden(I)Z
 PLcom/android/server/pm/PackageSettingBase;->getInstallReason(I)I
-PLcom/android/server/pm/PackageSettingBase;->getIntentFilterVerificationInfo()Landroid/content/pm/IntentFilterVerificationInfo;
-PLcom/android/server/pm/PackageSettingBase;->modifyUserStateComponents(IZZ)Landroid/content/pm/PackageUserState;
-PLcom/android/server/pm/PackageSettingBase;->queryInstalledUsers([IZ)[I
-PLcom/android/server/pm/PackageSettingBase;->restoreComponentLPw(Ljava/lang/String;I)Z
-PLcom/android/server/pm/PackageSettingBase;->setCeDataInode(JI)V
-PLcom/android/server/pm/PackageSettingBase;->setDomainVerificationStatusForUser(III)V
-PLcom/android/server/pm/PackageSettingBase;->setInstallReason(II)V
-PLcom/android/server/pm/PackageSettingBase;->setInstalled(ZI)V
-PLcom/android/server/pm/PackageSettingBase;->setInstallerPackageName(Ljava/lang/String;)V
-PLcom/android/server/pm/PackageSettingBase;->setNotLaunched(ZI)V
-PLcom/android/server/pm/PackageSettingBase;->setOverlayPaths(Ljava/util/List;I)V
-PLcom/android/server/pm/PackageSettingBase;->setStopped(ZI)V
-PLcom/android/server/pm/PackageSettingBase;->setUpdateAvailable(Z)V
+PLcom/android/server/pm/PackageSettingBase;->getLastDisabledAppCaller(I)Ljava/lang/String;
+PLcom/android/server/pm/PackageSettingBase;->getNotLaunched(I)Z
+PLcom/android/server/pm/PackageSettingBase;->getPermissionsState()Lcom/android/server/pm/permission/PermissionsState;
+PLcom/android/server/pm/PackageSettingBase;->getStopped(I)Z
+PLcom/android/server/pm/PackageSettingBase;->getSuspended(I)Z
+PLcom/android/server/pm/PackageSettingBase;->getVirtulalPreload(I)Z
+PLcom/android/server/pm/PackageSettingBase;->writeUsersInfoToProto(Landroid/util/proto/ProtoOutputStream;J)V
 PLcom/android/server/pm/PackageUsage;->isHistoricalPackageUsageAvailable()Z
-PLcom/android/server/pm/PackageUsage;->parseAsLong(Ljava/lang/String;)J
-PLcom/android/server/pm/PackageUsage;->readInternal(Ljava/lang/Object;)V
-PLcom/android/server/pm/PackageUsage;->readInternal(Ljava/util/Map;)V
-PLcom/android/server/pm/PackageUsage;->readLine(Ljava/io/InputStream;Ljava/lang/StringBuffer;)Ljava/lang/String;
-PLcom/android/server/pm/PackageUsage;->readVersion1LP(Ljava/util/Map;Ljava/io/InputStream;Ljava/lang/StringBuffer;)V
 PLcom/android/server/pm/PackageUsage;->writeInternal(Ljava/lang/Object;)V
 PLcom/android/server/pm/PackageUsage;->writeInternal(Ljava/util/Map;)V
-PLcom/android/server/pm/PackageVerificationResponse;-><init>(II)V
-PLcom/android/server/pm/PackageVerificationState;-><init>(ILcom/android/server/pm/PackageManagerService$InstallArgs;)V
-PLcom/android/server/pm/PackageVerificationState;->getInstallArgs()Lcom/android/server/pm/PackageManagerService$InstallArgs;
+PLcom/android/server/pm/PackageVerificationState;-><init>(ILcom/android/server/pm/PackageManagerService$InstallParams;)V
+PLcom/android/server/pm/PackageVerificationState;->getInstallParams()Lcom/android/server/pm/PackageManagerService$InstallParams;
 PLcom/android/server/pm/PackageVerificationState;->isInstallAllowed()Z
 PLcom/android/server/pm/PackageVerificationState;->isVerificationComplete()Z
 PLcom/android/server/pm/PackageVerificationState;->setVerifierResponse(II)Z
-PLcom/android/server/pm/PreferredActivity;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
+PLcom/android/server/pm/PreferredComponent;-><init>(Lcom/android/server/pm/PreferredComponent$Callbacks;I[Landroid/content/ComponentName;Landroid/content/ComponentName;Z)V
 PLcom/android/server/pm/PreferredComponent;->sameSet([Landroid/content/ComponentName;)Z
-PLcom/android/server/pm/PreferredComponent;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
 PLcom/android/server/pm/ProcessLoggingHandler;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/pm/ProcessLoggingHandler;->invalidateProcessLoggingBaseApkHash(Ljava/lang/String;)V
-PLcom/android/server/pm/ProtectedPackages;->getDeviceOwnerOrProfileOwnerPackage(I)Ljava/lang/String;
-PLcom/android/server/pm/ProtectedPackages;->hasDeviceOwnerOrProfileOwner(ILjava/lang/String;)Z
-PLcom/android/server/pm/ProtectedPackages;->isPackageStateProtected(ILjava/lang/String;)Z
-PLcom/android/server/pm/ProtectedPackages;->isProtectedPackage(Ljava/lang/String;)Z
-PLcom/android/server/pm/ProtectedPackages;->setDeviceAndProfileOwnerPackages(ILjava/lang/String;Landroid/util/SparseArray;)V
-PLcom/android/server/pm/Settings$RuntimePermissionPersistence$MyHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->access$400(Lcom/android/server/pm/Settings$RuntimePermissionPersistence;I)V
-PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->areDefaultRuntimPermissionsGrantedLPr(I)Z
-PLcom/android/server/pm/Settings$RuntimePermissionPersistence;->onDefaultRuntimePermissionsGrantedLPr(I)V
-PLcom/android/server/pm/Settings;->access$300(Lcom/android/server/pm/Settings;)Landroid/util/SparseArray;
-PLcom/android/server/pm/Settings;->addUserToSettingLPw(Lcom/android/server/pm/PackageSetting;)V
 PLcom/android/server/pm/Settings;->applyPendingPermissionGrantsLPw(Ljava/lang/String;I)V
-PLcom/android/server/pm/Settings;->areDefaultRuntimePermissionsGrantedLPr(I)Z
-PLcom/android/server/pm/Settings;->createIntentFilterVerificationIfNeededLPw(Ljava/lang/String;Landroid/util/ArraySet;)Landroid/content/pm/IntentFilterVerificationInfo;
-PLcom/android/server/pm/Settings;->createNewSetting(Ljava/lang/String;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Ljava/lang/String;Lcom/android/server/pm/SharedUserSetting;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JIILandroid/os/UserHandle;ZZZLjava/lang/String;Ljava/util/List;Lcom/android/server/pm/UserManagerService;[Ljava/lang/String;[J)Lcom/android/server/pm/PackageSetting;
 PLcom/android/server/pm/Settings;->disableSystemPackageLPw(Ljava/lang/String;Z)Z
+PLcom/android/server/pm/Settings;->dumpPackageLPr(Ljava/io/PrintWriter;Ljava/lang/String;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/PackageSetting;Ljava/text/SimpleDateFormat;Ljava/util/Date;Ljava/util/List;ZZ)V
+PLcom/android/server/pm/Settings;->dumpPackagesLPr(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;Z)V
+PLcom/android/server/pm/Settings;->dumpPackagesProto(Landroid/util/proto/ProtoOutputStream;)V
 PLcom/android/server/pm/Settings;->dumpSharedUsersLPr(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/util/ArraySet;Lcom/android/server/pm/DumpState;Z)V
-PLcom/android/server/pm/Settings;->getAllSharedUsersLPw()Ljava/util/Collection;
 PLcom/android/server/pm/Settings;->getApplicationEnabledSettingLPr(Ljava/lang/String;I)I
-PLcom/android/server/pm/Settings;->getBlockUninstallLPr(ILjava/lang/String;)Z
 PLcom/android/server/pm/Settings;->getComponentEnabledSettingLPr(Landroid/content/ComponentName;I)I
-PLcom/android/server/pm/Settings;->getDefaultBrowserPackageNameLPw(I)Ljava/lang/String;
-PLcom/android/server/pm/Settings;->getHarmfulAppWarningLPr(Ljava/lang/String;I)Ljava/lang/String;
-PLcom/android/server/pm/Settings;->getInstallerPackageNameLPr(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/pm/Settings;->getIntentFilterVerificationLPr(Ljava/lang/String;)Landroid/content/pm/IntentFilterVerificationInfo;
-PLcom/android/server/pm/Settings;->getIntentFilterVerificationStatusLPr(Ljava/lang/String;I)I
-PLcom/android/server/pm/Settings;->getVolumePackagesLPr(Ljava/lang/String;)Ljava/util/List;
-PLcom/android/server/pm/Settings;->newUserIdLPw(Ljava/lang/Object;)I
-PLcom/android/server/pm/Settings;->onDefaultRuntimePermissionsGrantedLPr(I)V
-PLcom/android/server/pm/Settings;->replacePackageLPw(Ljava/lang/String;Lcom/android/server/pm/PackageSetting;)V
-PLcom/android/server/pm/Settings;->replaceUserIdLPw(ILjava/lang/Object;)V
-PLcom/android/server/pm/Settings;->setDefaultDialerPackageNameLPw(Ljava/lang/String;I)Z
-PLcom/android/server/pm/Settings;->setInstallerPackageName(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/Settings;->getDisabledSystemPkgLPr(Lcom/android/server/pm/PackageSetting;)Lcom/android/server/pm/PackageSetting;
+PLcom/android/server/pm/Settings;->getIntentFilterVerificationsLPr(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/pm/Settings;->removeDisabledSystemPackageLPw(Ljava/lang/String;)V
 PLcom/android/server/pm/Settings;->updateIntentFilterVerificationStatusLPw(Ljava/lang/String;II)Z
 PLcom/android/server/pm/Settings;->writeAllDomainVerificationsLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
-PLcom/android/server/pm/Settings;->writeAllRuntimePermissionsLPr()V
-PLcom/android/server/pm/Settings;->writeAllUsersPackageRestrictionsLPr()V
-PLcom/android/server/pm/Settings;->writeBlockUninstallPackagesLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
-PLcom/android/server/pm/Settings;->writeCrossProfileIntentFiltersLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
-PLcom/android/server/pm/Settings;->writeDefaultAppsLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
-PLcom/android/server/pm/Settings;->writeDisabledSysPackageLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageSetting;)V
-PLcom/android/server/pm/Settings;->writePackageListLPr()V
-PLcom/android/server/pm/Settings;->writePersistentPreferredActivitiesLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
-PLcom/android/server/pm/Settings;->writePreferredActivitiesLPr(Lorg/xmlpull/v1/XmlSerializer;IZ)V
-PLcom/android/server/pm/Settings;->writeRuntimePermissionsForUserLPr(IZ)V
-PLcom/android/server/pm/SharedUserSetting;->fixSeInfoLocked()V
-PLcom/android/server/pm/SharedUserSetting;->getPackages()Ljava/util/List;
-PLcom/android/server/pm/ShortcutBitmapSaver$PendingItem;-><init>(Landroid/content/pm/ShortcutInfo;[B)V
-PLcom/android/server/pm/ShortcutBitmapSaver$PendingItem;-><init>(Landroid/content/pm/ShortcutInfo;[BLcom/android/server/pm/ShortcutBitmapSaver$1;)V
-PLcom/android/server/pm/ShortcutBitmapSaver;-><init>(Lcom/android/server/pm/ShortcutService;)V
-PLcom/android/server/pm/ShortcutBitmapSaver;->lambda$new$1(Lcom/android/server/pm/ShortcutBitmapSaver;)V
-PLcom/android/server/pm/ShortcutBitmapSaver;->lambda$waitForAllSavesLocked$0(Ljava/util/concurrent/CountDownLatch;)V
+PLcom/android/server/pm/SharedUserSetting;->getPermissionsState()Lcom/android/server/pm/permission/PermissionsState;
+PLcom/android/server/pm/ShortcutBitmapSaver;->getBitmapPathMayWaitLocked(Landroid/content/pm/ShortcutInfo;)Ljava/lang/String;
+PLcom/android/server/pm/ShortcutBitmapSaver;->lambda$new$1$ShortcutBitmapSaver()V
 PLcom/android/server/pm/ShortcutBitmapSaver;->processPendingItems()Z
 PLcom/android/server/pm/ShortcutBitmapSaver;->removeIcon(Landroid/content/pm/ShortcutInfo;)V
 PLcom/android/server/pm/ShortcutBitmapSaver;->saveBitmapLocked(Landroid/content/pm/ShortcutInfo;ILandroid/graphics/Bitmap$CompressFormat;I)V
 PLcom/android/server/pm/ShortcutBitmapSaver;->waitForAllSavesLocked()Z
 PLcom/android/server/pm/ShortcutDumpFiles;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/pm/ShortcutDumpFiles;-><init>(Lcom/android/server/pm/ShortcutService;)V
-PLcom/android/server/pm/ShortcutDumpFiles;->lambda$save$0([BLjava/io/PrintWriter;)V
 PLcom/android/server/pm/ShortcutDumpFiles;->save(Ljava/lang/String;Ljava/util/function/Consumer;)Z
 PLcom/android/server/pm/ShortcutDumpFiles;->save(Ljava/lang/String;[B)Z
-PLcom/android/server/pm/ShortcutLauncher;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;I)V
 PLcom/android/server/pm/ShortcutLauncher;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;ILcom/android/server/pm/ShortcutPackageInfo;)V
 PLcom/android/server/pm/ShortcutLauncher;->ensurePackageInfo()V
 PLcom/android/server/pm/ShortcutLauncher;->getOwnerUserId()I
 PLcom/android/server/pm/ShortcutLauncher;->getPinnedShortcutIds(Ljava/lang/String;I)Landroid/util/ArraySet;
+PLcom/android/server/pm/ShortcutLauncher;->loadFromXml(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/pm/ShortcutUser;IZ)Lcom/android/server/pm/ShortcutLauncher;
 PLcom/android/server/pm/ShortcutLauncher;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
-PLcom/android/server/pm/ShortcutNonPersistentUser;-><init>(Lcom/android/server/pm/ShortcutService;I)V
 PLcom/android/server/pm/ShortcutNonPersistentUser;->hasHostPackage(Ljava/lang/String;)Z
 PLcom/android/server/pm/ShortcutNonPersistentUser;->setShortcutHostPackage(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/pm/ShortcutPackage;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;)V
 PLcom/android/server/pm/ShortcutPackage;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;Lcom/android/server/pm/ShortcutPackageInfo;)V
 PLcom/android/server/pm/ShortcutPackage;->addOrReplaceDynamicShortcut(Landroid/content/pm/ShortcutInfo;)V
 PLcom/android/server/pm/ShortcutPackage;->adjustRanks()V
 PLcom/android/server/pm/ShortcutPackage;->areAllActivitiesStillEnabled()Z
 PLcom/android/server/pm/ShortcutPackage;->clearAllImplicitRanks()V
 PLcom/android/server/pm/ShortcutPackage;->deleteAllDynamicShortcuts(Z)V
+PLcom/android/server/pm/ShortcutPackage;->deleteDynamicWithId(Ljava/lang/String;Z)Z
+PLcom/android/server/pm/ShortcutPackage;->deleteOrDisableWithId(Ljava/lang/String;ZZZI)Landroid/content/pm/ShortcutInfo;
 PLcom/android/server/pm/ShortcutPackage;->enforceShortcutCountsBeforeOperation(Ljava/util/List;I)V
 PLcom/android/server/pm/ShortcutPackage;->ensureImmutableShortcutsNotIncluded(Ljava/util/List;Z)V
 PLcom/android/server/pm/ShortcutPackage;->ensureImmutableShortcutsNotIncludedWithIds(Ljava/util/List;Z)V
@@ -14940,14 +9877,12 @@
 PLcom/android/server/pm/ShortcutPackage;->findAll(Ljava/util/List;Ljava/util/function/Predicate;I)V
 PLcom/android/server/pm/ShortcutPackage;->findAll(Ljava/util/List;Ljava/util/function/Predicate;ILjava/lang/String;IZ)V
 PLcom/android/server/pm/ShortcutPackage;->findShortcutById(Ljava/lang/String;)Landroid/content/pm/ShortcutInfo;
-PLcom/android/server/pm/ShortcutPackage;->forceDeleteShortcutInner(Ljava/lang/String;)Landroid/content/pm/ShortcutInfo;
-PLcom/android/server/pm/ShortcutPackage;->forceReplaceShortcutInner(Landroid/content/pm/ShortcutInfo;)V
 PLcom/android/server/pm/ShortcutPackage;->getApiCallCount(Z)I
-PLcom/android/server/pm/ShortcutPackage;->getFileName(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/ShortcutPackage;->getMatchingShareTargets(Landroid/content/IntentFilter;)Ljava/util/List;
 PLcom/android/server/pm/ShortcutPackage;->getOwnerUserId()I
 PLcom/android/server/pm/ShortcutPackage;->getPackageResources()Landroid/content/res/Resources;
 PLcom/android/server/pm/ShortcutPackage;->getUsedBitmapFiles()Landroid/util/ArraySet;
-PLcom/android/server/pm/ShortcutPackage;->incrementCountForActivity(Landroid/util/ArrayMap;Landroid/content/ComponentName;I)V
+PLcom/android/server/pm/ShortcutPackage;->hasShareTargets()Z
 PLcom/android/server/pm/ShortcutPackage;->isShortcutExistsAndVisibleToPublisher(Ljava/lang/String;)Z
 PLcom/android/server/pm/ShortcutPackage;->lambda$new$2(Landroid/content/pm/ShortcutInfo;Landroid/content/pm/ShortcutInfo;)I
 PLcom/android/server/pm/ShortcutPackage;->loadFromXml(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutUser;Lorg/xmlpull/v1/XmlPullParser;Z)Lcom/android/server/pm/ShortcutPackage;
@@ -14958,6 +9893,9 @@
 PLcom/android/server/pm/ShortcutPackage;->removeOrphans()V
 PLcom/android/server/pm/ShortcutPackage;->rescanPackageIfNeeded(ZZ)Z
 PLcom/android/server/pm/ShortcutPackage;->resetRateLimiting()V
+PLcom/android/server/pm/ShortcutPackage;->resetRateLimitingForCommandLineNoSaving()V
+PLcom/android/server/pm/ShortcutPackage;->saveShortcut(Lorg/xmlpull/v1/XmlSerializer;Landroid/content/pm/ShortcutInfo;ZZ)V
+PLcom/android/server/pm/ShortcutPackage;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
 PLcom/android/server/pm/ShortcutPackage;->sortShortcutsToActivities()Landroid/util/ArrayMap;
 PLcom/android/server/pm/ShortcutPackage;->tryApiCall(Z)Z
 PLcom/android/server/pm/ShortcutPackageInfo;-><init>(JJLjava/util/ArrayList;Z)V
@@ -14966,60 +9904,43 @@
 PLcom/android/server/pm/ShortcutPackageInfo;->isBackupAllowed()Z
 PLcom/android/server/pm/ShortcutPackageInfo;->isShadow()Z
 PLcom/android/server/pm/ShortcutPackageInfo;->loadFromXml(Lorg/xmlpull/v1/XmlPullParser;Z)V
-PLcom/android/server/pm/ShortcutPackageInfo;->newEmpty()Lcom/android/server/pm/ShortcutPackageInfo;
 PLcom/android/server/pm/ShortcutPackageInfo;->refreshSignature(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutPackageItem;)V
 PLcom/android/server/pm/ShortcutPackageInfo;->saveToXml(Lcom/android/server/pm/ShortcutService;Lorg/xmlpull/v1/XmlSerializer;Z)V
 PLcom/android/server/pm/ShortcutPackageInfo;->updateFromPackageInfo(Landroid/content/pm/PackageInfo;)V
-PLcom/android/server/pm/ShortcutPackageItem;-><init>(Lcom/android/server/pm/ShortcutUser;ILjava/lang/String;Lcom/android/server/pm/ShortcutPackageInfo;)V
 PLcom/android/server/pm/ShortcutPackageItem;->attemptToRestoreIfNeededAndSave()V
+PLcom/android/server/pm/ShortcutPackageItem;->getPackageInfo()Lcom/android/server/pm/ShortcutPackageInfo;
+PLcom/android/server/pm/ShortcutPackageItem;->getPackageName()Ljava/lang/String;
+PLcom/android/server/pm/ShortcutPackageItem;->getPackageUserId()I
 PLcom/android/server/pm/ShortcutPackageItem;->getUser()Lcom/android/server/pm/ShortcutUser;
 PLcom/android/server/pm/ShortcutPackageItem;->refreshPackageSignatureAndSave()V
+PLcom/android/server/pm/ShortcutPackageItem;->replaceUser(Lcom/android/server/pm/ShortcutUser;)V
 PLcom/android/server/pm/ShortcutParser;->createShortcutFromManifest(Lcom/android/server/pm/ShortcutService;ILjava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;IIIIIZ)Landroid/content/pm/ShortcutInfo;
 PLcom/android/server/pm/ShortcutParser;->parseCategories(Lcom/android/server/pm/ShortcutService;Landroid/util/AttributeSet;)Ljava/lang/String;
 PLcom/android/server/pm/ShortcutParser;->parseShortcutAttributes(Lcom/android/server/pm/ShortcutService;Landroid/util/AttributeSet;Ljava/lang/String;Landroid/content/ComponentName;II)Landroid/content/pm/ShortcutInfo;
-PLcom/android/server/pm/ShortcutParser;->parseShortcuts(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)Ljava/util/List;
-PLcom/android/server/pm/ShortcutParser;->parseShortcutsOneFile(Lcom/android/server/pm/ShortcutService;Landroid/content/pm/ActivityInfo;Ljava/lang/String;ILjava/util/List;)Ljava/util/List;
-PLcom/android/server/pm/ShortcutRequestPinProcessor;-><init>(Lcom/android/server/pm/ShortcutService;Ljava/lang/Object;)V
+PLcom/android/server/pm/ShortcutParser;->parseShortcuts(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;ILjava/util/List;)Ljava/util/List;
+PLcom/android/server/pm/ShortcutParser;->parseShortcutsOneFile(Lcom/android/server/pm/ShortcutService;Landroid/content/pm/ActivityInfo;Ljava/lang/String;ILjava/util/List;Ljava/util/List;)Ljava/util/List;
 PLcom/android/server/pm/ShortcutRequestPinProcessor;->getRequestPinConfirmationActivity(II)Landroid/util/Pair;
 PLcom/android/server/pm/ShortcutRequestPinProcessor;->isRequestPinItemSupported(II)Z
-PLcom/android/server/pm/ShortcutService$1;-><init>()V
 PLcom/android/server/pm/ShortcutService$1;->test(Landroid/content/pm/ResolveInfo;)Z
 PLcom/android/server/pm/ShortcutService$1;->test(Ljava/lang/Object;)Z
-PLcom/android/server/pm/ShortcutService$2;-><init>()V
 PLcom/android/server/pm/ShortcutService$2;->test(Landroid/content/pm/PackageInfo;)Z
 PLcom/android/server/pm/ShortcutService$2;->test(Ljava/lang/Object;)Z
-PLcom/android/server/pm/ShortcutService$3;-><init>(Lcom/android/server/pm/ShortcutService;)V
-PLcom/android/server/pm/ShortcutService$3;->lambda$onUidGone$1(Lcom/android/server/pm/ShortcutService$3;I)V
-PLcom/android/server/pm/ShortcutService$3;->onUidGone(IZ)V
-PLcom/android/server/pm/ShortcutService$4;-><init>(Lcom/android/server/pm/ShortcutService;)V
-PLcom/android/server/pm/ShortcutService$5;-><init>(Lcom/android/server/pm/ShortcutService;)V
-PLcom/android/server/pm/ShortcutService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/pm/ShortcutService$FileOutputStreamWithPath;-><init>(Ljava/io/File;)V
 PLcom/android/server/pm/ShortcutService$FileOutputStreamWithPath;->getFile()Ljava/io/File;
-PLcom/android/server/pm/ShortcutService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/pm/ShortcutService$Lifecycle;->onBootPhase(I)V
-PLcom/android/server/pm/ShortcutService$Lifecycle;->onStart()V
+PLcom/android/server/pm/ShortcutService$Lifecycle;->onStopUser(I)V
 PLcom/android/server/pm/ShortcutService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/pm/ShortcutService$LocalService;-><init>(Lcom/android/server/pm/ShortcutService;)V
-PLcom/android/server/pm/ShortcutService$LocalService;-><init>(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutService$1;)V
-PLcom/android/server/pm/ShortcutService$LocalService;->addListener(Landroid/content/pm/ShortcutServiceInternal$ShortcutChangeListener;)V
+PLcom/android/server/pm/ShortcutService$LocalService;->createShortcutIntents(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;III)[Landroid/content/Intent;
+PLcom/android/server/pm/ShortcutService$LocalService;->getShortcutIconFd(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/pm/ShortcutService$LocalService;->getShortcutInfoLocked(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;IZ)Landroid/content/pm/ShortcutInfo;
 PLcom/android/server/pm/ShortcutService$LocalService;->getShortcuts(ILjava/lang/String;JLjava/lang/String;Ljava/util/List;Landroid/content/ComponentName;IIII)Ljava/util/List;
 PLcom/android/server/pm/ShortcutService$LocalService;->getShortcutsInnerLocked(ILjava/lang/String;Ljava/lang/String;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;III)V
 PLcom/android/server/pm/ShortcutService$LocalService;->hasShortcutHostPermission(ILjava/lang/String;II)Z
-PLcom/android/server/pm/ShortcutService$LocalService;->lambda$getShortcuts$0(Lcom/android/server/pm/ShortcutService$LocalService;ILjava/lang/String;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;IIILcom/android/server/pm/ShortcutPackage;)V
+PLcom/android/server/pm/ShortcutService$LocalService;->isPinnedByCaller(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;I)Z
+PLcom/android/server/pm/ShortcutService$LocalService;->lambda$getShortcuts$0$ShortcutService$LocalService(ILjava/lang/String;Ljava/util/List;JLandroid/content/ComponentName;IILjava/util/ArrayList;IIILcom/android/server/pm/ShortcutPackage;)V
 PLcom/android/server/pm/ShortcutService$LocalService;->lambda$getShortcutsInnerLocked$1(JLandroid/util/ArraySet;Landroid/content/ComponentName;ZZZZLandroid/content/pm/ShortcutInfo;)Z
 PLcom/android/server/pm/ShortcutService$LocalService;->setShortcutHostPackage(Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/pm/ShortcutService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/pm/ShortcutService;-><init>(Landroid/content/Context;Landroid/os/Looper;Z)V
-PLcom/android/server/pm/ShortcutService;->access$000(Landroid/content/pm/PackageInfo;)Z
-PLcom/android/server/pm/ShortcutService;->access$1100(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)V
 PLcom/android/server/pm/ShortcutService;->access$200(Lcom/android/server/pm/ShortcutService;)Ljava/lang/Object;
 PLcom/android/server/pm/ShortcutService;->access$300(Lcom/android/server/pm/ShortcutService;Ljava/util/List;)Ljava/util/List;
-PLcom/android/server/pm/ShortcutService;->access$400(Lcom/android/server/pm/ShortcutService;)Ljava/util/ArrayList;
-PLcom/android/server/pm/ShortcutService;->access$800(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)V
-PLcom/android/server/pm/ShortcutService;->access$900(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)V
 PLcom/android/server/pm/ShortcutService;->addDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-PLcom/android/server/pm/ShortcutService;->assignImplicitRanks(Ljava/util/List;)V
 PLcom/android/server/pm/ShortcutService;->canSeeAnyPinnedShortcut(Ljava/lang/String;III)Z
 PLcom/android/server/pm/ShortcutService;->checkPackageChanges(I)V
 PLcom/android/server/pm/ShortcutService;->cleanupDanglingBitmapDirectoriesLocked(I)V
@@ -15027,51 +9948,44 @@
 PLcom/android/server/pm/ShortcutService;->disableShortcuts(Ljava/lang/String;Ljava/util/List;Ljava/lang/CharSequence;II)V
 PLcom/android/server/pm/ShortcutService;->enableShortcuts(Ljava/lang/String;Ljava/util/List;I)V
 PLcom/android/server/pm/ShortcutService;->enforceMaxActivityShortcuts(I)V
-PLcom/android/server/pm/ShortcutService;->enforceSystem()V
 PLcom/android/server/pm/ShortcutService;->fillInDefaultActivity(Ljava/util/List;)V
-PLcom/android/server/pm/ShortcutService;->fixUpIncomingShortcutInfo(Landroid/content/pm/ShortcutInfo;Z)V
 PLcom/android/server/pm/ShortcutService;->fixUpIncomingShortcutInfo(Landroid/content/pm/ShortcutInfo;ZZ)V
 PLcom/android/server/pm/ShortcutService;->fixUpShortcutResourceNamesAndValues(Landroid/content/pm/ShortcutInfo;)V
 PLcom/android/server/pm/ShortcutService;->forUpdatedPackages(IJZLjava/util/function/Consumer;)V
-PLcom/android/server/pm/ShortcutService;->getActivityInfoWithMetadata(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
-PLcom/android/server/pm/ShortcutService;->getApplicationInfo(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
 PLcom/android/server/pm/ShortcutService;->getBackupPayload(I)[B
-PLcom/android/server/pm/ShortcutService;->getBaseStateFile()Landroid/util/AtomicFile;
 PLcom/android/server/pm/ShortcutService;->getDefaultLauncher(I)Landroid/content/ComponentName;
 PLcom/android/server/pm/ShortcutService;->getDumpPath()Ljava/io/File;
 PLcom/android/server/pm/ShortcutService;->getDynamicShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/ShortcutService;->getIconMaxDimensions(Ljava/lang/String;I)I
 PLcom/android/server/pm/ShortcutService;->getInstalledPackages(I)Ljava/util/List;
-PLcom/android/server/pm/ShortcutService;->getLastResetTimeLocked()J
 PLcom/android/server/pm/ShortcutService;->getLauncherShortcutsLocked(Ljava/lang/String;II)Lcom/android/server/pm/ShortcutLauncher;
-PLcom/android/server/pm/ShortcutService;->getMainActivityIntent()Landroid/content/Intent;
 PLcom/android/server/pm/ShortcutService;->getManifestShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/pm/ShortcutService;->getMaxActivityShortcuts()I
 PLcom/android/server/pm/ShortcutService;->getMaxShortcutCountPerActivity(Ljava/lang/String;I)I
 PLcom/android/server/pm/ShortcutService;->getNonPersistentUserLocked(I)Lcom/android/server/pm/ShortcutNonPersistentUser;
-PLcom/android/server/pm/ShortcutService;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
-PLcom/android/server/pm/ShortcutService;->getPackageInfo(Ljava/lang/String;IZ)Landroid/content/pm/PackageInfo;
-PLcom/android/server/pm/ShortcutService;->getPackageInfoWithSignatures(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
 PLcom/android/server/pm/ShortcutService;->getPackageShortcutsForPublisherLocked(Ljava/lang/String;I)Lcom/android/server/pm/ShortcutPackage;
+PLcom/android/server/pm/ShortcutService;->getPackageShortcutsLocked(Ljava/lang/String;I)Lcom/android/server/pm/ShortcutPackage;
 PLcom/android/server/pm/ShortcutService;->getParentOrSelfUserId(I)I
 PLcom/android/server/pm/ShortcutService;->getPinnedShortcuts(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
-PLcom/android/server/pm/ShortcutService;->getShortcutsWithQueryLocked(Ljava/lang/String;IILjava/util/function/Predicate;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/pm/ShortcutService;->getRemainingCallCount(Ljava/lang/String;I)I
+PLcom/android/server/pm/ShortcutService;->getShareTargets(Ljava/lang/String;Landroid/content/IntentFilter;I)Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/pm/ShortcutService;->getStatStartTime()J
 PLcom/android/server/pm/ShortcutService;->getUidLastForegroundElapsedTimeLocked(I)J
 PLcom/android/server/pm/ShortcutService;->getUserBitmapFilePath(I)Ljava/io/File;
-PLcom/android/server/pm/ShortcutService;->getUserFile(I)Ljava/io/File;
 PLcom/android/server/pm/ShortcutService;->getUserShortcutsLocked(I)Lcom/android/server/pm/ShortcutUser;
 PLcom/android/server/pm/ShortcutService;->handlePackageAdded(Ljava/lang/String;I)V
 PLcom/android/server/pm/ShortcutService;->handlePackageChanged(Ljava/lang/String;I)V
 PLcom/android/server/pm/ShortcutService;->handlePackageUpdateFinished(Ljava/lang/String;I)V
+PLcom/android/server/pm/ShortcutService;->handleStopUser(I)V
 PLcom/android/server/pm/ShortcutService;->handleUnlockUser(I)V
+PLcom/android/server/pm/ShortcutService;->hasShareTargets(Ljava/lang/String;Ljava/lang/String;I)Z
 PLcom/android/server/pm/ShortcutService;->hasShortcutHostPermission(Ljava/lang/String;III)Z
 PLcom/android/server/pm/ShortcutService;->hasShortcutHostPermissionInner(Ljava/lang/String;I)Z
-PLcom/android/server/pm/ShortcutService;->initialize()V
 PLcom/android/server/pm/ShortcutService;->injectApplicationInfoWithUninstalled(Ljava/lang/String;I)Landroid/content/pm/ApplicationInfo;
 PLcom/android/server/pm/ShortcutService;->injectBinderCallingPid()I
 PLcom/android/server/pm/ShortcutService;->injectBinderCallingUid()I
 PLcom/android/server/pm/ShortcutService;->injectBuildFingerprint()Ljava/lang/String;
-PLcom/android/server/pm/ShortcutService;->injectDipToPixel(I)I
+PLcom/android/server/pm/ShortcutService;->injectEnforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/pm/ShortcutService;->injectGetActivityInfoWithMetadataWithUninstalled(Landroid/content/ComponentName;I)Landroid/content/pm/ActivityInfo;
 PLcom/android/server/pm/ShortcutService;->injectGetDefaultMainActivity(Ljava/lang/String;I)Landroid/content/ComponentName;
 PLcom/android/server/pm/ShortcutService;->injectGetLocaleTagsForUser(I)Ljava/lang/String;
@@ -15083,94 +9997,60 @@
 PLcom/android/server/pm/ShortcutService;->injectHasAccessShortcutsPermission(II)Z
 PLcom/android/server/pm/ShortcutService;->injectHasUnlimitedShortcutsApiCallsPermission(II)Z
 PLcom/android/server/pm/ShortcutService;->injectIsActivityEnabledAndExported(Landroid/content/ComponentName;I)Z
-PLcom/android/server/pm/ShortcutService;->injectIsLowRamDevice()Z
 PLcom/android/server/pm/ShortcutService;->injectIsMainActivity(Landroid/content/ComponentName;I)Z
 PLcom/android/server/pm/ShortcutService;->injectIsSafeModeEnabled()Z
 PLcom/android/server/pm/ShortcutService;->injectPackageInfoWithUninstalled(Ljava/lang/String;IZ)Landroid/content/pm/PackageInfo;
-PLcom/android/server/pm/ShortcutService;->injectRegisterUidObserver(Landroid/app/IUidObserver;I)V
 PLcom/android/server/pm/ShortcutService;->injectRunOnNewThread(Ljava/lang/Runnable;)V
-PLcom/android/server/pm/ShortcutService;->injectShortcutManagerConstants()Ljava/lang/String;
 PLcom/android/server/pm/ShortcutService;->injectShouldPerformVerification()Z
-PLcom/android/server/pm/ShortcutService;->injectSystemDataPath()Ljava/io/File;
 PLcom/android/server/pm/ShortcutService;->injectUserDataPath(I)Ljava/io/File;
 PLcom/android/server/pm/ShortcutService;->injectValidateIconResPackage(Landroid/content/pm/ShortcutInfo;Landroid/graphics/drawable/Icon;)V
 PLcom/android/server/pm/ShortcutService;->injectXmlMetaData(Landroid/content/pm/ActivityInfo;Ljava/lang/String;)Landroid/content/res/XmlResourceParser;
-PLcom/android/server/pm/ShortcutService;->isCallerSystem()Z
-PLcom/android/server/pm/ShortcutService;->isClockValid(J)Z
-PLcom/android/server/pm/ShortcutService;->isEphemeralApp(Landroid/content/pm/ApplicationInfo;)Z
 PLcom/android/server/pm/ShortcutService;->isEphemeralApp(Ljava/lang/String;I)Z
-PLcom/android/server/pm/ShortcutService;->isInstalled(Landroid/content/pm/ActivityInfo;)Z
-PLcom/android/server/pm/ShortcutService;->isInstalled(Landroid/content/pm/ApplicationInfo;)Z
 PLcom/android/server/pm/ShortcutService;->isInstalled(Landroid/content/pm/PackageInfo;)Z
-PLcom/android/server/pm/ShortcutService;->isInstalledOrNull(Landroid/content/pm/ActivityInfo;)Landroid/content/pm/ActivityInfo;
-PLcom/android/server/pm/ShortcutService;->isInstalledOrNull(Landroid/content/pm/ApplicationInfo;)Landroid/content/pm/ApplicationInfo;
-PLcom/android/server/pm/ShortcutService;->isInstalledOrNull(Landroid/content/pm/PackageInfo;)Landroid/content/pm/PackageInfo;
 PLcom/android/server/pm/ShortcutService;->isPackageInstalled(Ljava/lang/String;I)Z
 PLcom/android/server/pm/ShortcutService;->isRequestPinItemSupported(II)Z
 PLcom/android/server/pm/ShortcutService;->isUidForegroundLocked(I)Z
-PLcom/android/server/pm/ShortcutService;->isUserUnlockedL(I)Z
-PLcom/android/server/pm/ShortcutService;->lambda$FW40Da1L1EZJ_usDX0ew1qRMmtc(Landroid/content/pm/ShortcutInfo;)Z
-PLcom/android/server/pm/ShortcutService;->lambda$K2g8Oho05j5S7zVOkoQrHzM_Gig(Landroid/content/pm/ShortcutInfo;)Z
-PLcom/android/server/pm/ShortcutService;->lambda$checkPackageChanges$6(Lcom/android/server/pm/ShortcutService;Ljava/util/ArrayList;Lcom/android/server/pm/ShortcutPackageItem;)V
-PLcom/android/server/pm/ShortcutService;->lambda$getBackupPayload$10(Lcom/android/server/pm/ShortcutLauncher;)V
-PLcom/android/server/pm/ShortcutService;->lambda$getBackupPayload$8(Lcom/android/server/pm/ShortcutPackageItem;)V
-PLcom/android/server/pm/ShortcutService;->lambda$getBackupPayload$9(Lcom/android/server/pm/ShortcutPackage;)V
+PLcom/android/server/pm/ShortcutService;->lambda$checkPackageChanges$7$ShortcutService(Ljava/util/ArrayList;Lcom/android/server/pm/ShortcutPackageItem;)V
+PLcom/android/server/pm/ShortcutService;->lambda$checkPackageChanges$7(Lcom/android/server/pm/ShortcutService;Ljava/util/ArrayList;Lcom/android/server/pm/ShortcutPackageItem;)V
+PLcom/android/server/pm/ShortcutService;->lambda$handleUnlockUser$0$ShortcutService(JI)V
 PLcom/android/server/pm/ShortcutService;->lambda$handleUnlockUser$0(Lcom/android/server/pm/ShortcutService;JI)V
+PLcom/android/server/pm/ShortcutService;->lambda$notifyListeners$1$ShortcutService(ILjava/lang/String;)V
 PLcom/android/server/pm/ShortcutService;->lambda$notifyListeners$1(Lcom/android/server/pm/ShortcutService;ILjava/lang/String;)V
-PLcom/android/server/pm/ShortcutService;->lambda$rescanUpdatedPackagesLocked$7(Lcom/android/server/pm/ShortcutService;Lcom/android/server/pm/ShortcutUser;ILandroid/content/pm/ApplicationInfo;)V
-PLcom/android/server/pm/ShortcutService;->lambda$vv6Ko6L2p38nn3EYcL5PZxcyRyk(Landroid/content/pm/ShortcutInfo;)Z
-PLcom/android/server/pm/ShortcutService;->loadBaseStateLocked()V
-PLcom/android/server/pm/ShortcutService;->loadConfigurationLocked()V
+PLcom/android/server/pm/ShortcutService;->lambda$rescanUpdatedPackagesLocked$8$ShortcutService(Lcom/android/server/pm/ShortcutUser;ILandroid/content/pm/ApplicationInfo;)V
 PLcom/android/server/pm/ShortcutService;->loadUserInternal(ILjava/io/InputStream;Z)Lcom/android/server/pm/ShortcutUser;
 PLcom/android/server/pm/ShortcutService;->loadUserLocked(I)Lcom/android/server/pm/ShortcutUser;
 PLcom/android/server/pm/ShortcutService;->logDurationStat(IJ)V
-PLcom/android/server/pm/ShortcutService;->notifyListeners(Ljava/lang/String;I)V
-PLcom/android/server/pm/ShortcutService;->onBootPhase(I)V
+PLcom/android/server/pm/ShortcutService;->onApplicationActive(Ljava/lang/String;I)V
 PLcom/android/server/pm/ShortcutService;->openIconFileForWrite(ILandroid/content/pm/ShortcutInfo;)Lcom/android/server/pm/ShortcutService$FileOutputStreamWithPath;
 PLcom/android/server/pm/ShortcutService;->packageShortcutsChanged(Ljava/lang/String;I)V
-PLcom/android/server/pm/ShortcutService;->parseBooleanAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Z
-PLcom/android/server/pm/ShortcutService;->parseBooleanAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Z)Z
 PLcom/android/server/pm/ShortcutService;->parseComponentNameAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/content/ComponentName;
 PLcom/android/server/pm/ShortcutService;->parseIntAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)I
-PLcom/android/server/pm/ShortcutService;->parseIntentAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/content/Intent;
 PLcom/android/server/pm/ShortcutService;->parseIntentAttributeNoDefault(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Landroid/content/Intent;
 PLcom/android/server/pm/ShortcutService;->parseLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)J
-PLcom/android/server/pm/ShortcutService;->parseLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
 PLcom/android/server/pm/ShortcutService;->parseStringAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/String;
 PLcom/android/server/pm/ShortcutService;->queryActivities(Landroid/content/Intent;IZ)Ljava/util/List;
 PLcom/android/server/pm/ShortcutService;->queryActivities(Landroid/content/Intent;Ljava/lang/String;Landroid/content/ComponentName;I)Ljava/util/List;
 PLcom/android/server/pm/ShortcutService;->removeAllDynamicShortcuts(Ljava/lang/String;I)V
+PLcom/android/server/pm/ShortcutService;->removeDynamicShortcuts(Ljava/lang/String;Ljava/util/List;I)V
 PLcom/android/server/pm/ShortcutService;->removeIconLocked(Landroid/content/pm/ShortcutInfo;)V
+PLcom/android/server/pm/ShortcutService;->reportShortcutUsed(Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/pm/ShortcutService;->rescanUpdatedPackagesLocked(IJ)V
 PLcom/android/server/pm/ShortcutService;->saveBaseStateLocked()V
 PLcom/android/server/pm/ShortcutService;->saveDirtyInfo()V
 PLcom/android/server/pm/ShortcutService;->saveIconAndFixUpShortcutLocked(Landroid/content/pm/ShortcutInfo;)V
 PLcom/android/server/pm/ShortcutService;->saveUserInternalLocked(ILjava/io/OutputStream;Z)V
 PLcom/android/server/pm/ShortcutService;->saveUserLocked(I)V
-PLcom/android/server/pm/ShortcutService;->scheduleSaveBaseState()V
 PLcom/android/server/pm/ShortcutService;->scheduleSaveInner(I)V
 PLcom/android/server/pm/ShortcutService;->scheduleSaveUser(I)V
 PLcom/android/server/pm/ShortcutService;->setDynamicShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-PLcom/android/server/pm/ShortcutService;->setReturnedByServer(Ljava/util/List;)Ljava/util/List;
 PLcom/android/server/pm/ShortcutService;->setShortcutHostPackage(Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/pm/ShortcutService;->shouldBackupApp(Landroid/content/pm/PackageInfo;)Z
 PLcom/android/server/pm/ShortcutService;->shrinkBitmap(Landroid/graphics/Bitmap;I)Landroid/graphics/Bitmap;
 PLcom/android/server/pm/ShortcutService;->throwIfUserLockedL(I)V
-PLcom/android/server/pm/ShortcutService;->updateConfigurationLocked(Ljava/lang/String;)Z
 PLcom/android/server/pm/ShortcutService;->updateShortcuts(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;I)Z
-PLcom/android/server/pm/ShortcutService;->updateTimesLocked()V
 PLcom/android/server/pm/ShortcutService;->verifyCaller(Ljava/lang/String;I)V
-PLcom/android/server/pm/ShortcutService;->verifyStates()V
-PLcom/android/server/pm/ShortcutService;->writeAttr(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Landroid/content/ComponentName;)V
-PLcom/android/server/pm/ShortcutService;->writeAttr(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Landroid/content/Intent;)V
-PLcom/android/server/pm/ShortcutService;->writeTagValue(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;J)V
-PLcom/android/server/pm/ShortcutService;->writeTagValue(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Landroid/content/ComponentName;)V
-PLcom/android/server/pm/ShortcutService;->writeTagValue(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/pm/ShortcutUser$PackageWithUser;-><init>(ILjava/lang/String;)V
+PLcom/android/server/pm/ShortcutService;->verifyShortcutInfoPackage(Ljava/lang/String;Landroid/content/pm/ShortcutInfo;)V
 PLcom/android/server/pm/ShortcutUser$PackageWithUser;->equals(Ljava/lang/Object;)Z
 PLcom/android/server/pm/ShortcutUser$PackageWithUser;->hashCode()I
-PLcom/android/server/pm/ShortcutUser$PackageWithUser;->of(ILjava/lang/String;)Lcom/android/server/pm/ShortcutUser$PackageWithUser;
-PLcom/android/server/pm/ShortcutUser;-><init>(Lcom/android/server/pm/ShortcutService;I)V
 PLcom/android/server/pm/ShortcutUser;->attemptToRestoreIfNeededAndSave(Lcom/android/server/pm/ShortcutService;Ljava/lang/String;I)V
 PLcom/android/server/pm/ShortcutUser;->clearLauncher()V
 PLcom/android/server/pm/ShortcutUser;->detectLocaleChange()V
@@ -15179,7 +10059,6 @@
 PLcom/android/server/pm/ShortcutUser;->forAllPackages(Ljava/util/function/Consumer;)V
 PLcom/android/server/pm/ShortcutUser;->forPackageItem(Ljava/lang/String;ILjava/util/function/Consumer;)V
 PLcom/android/server/pm/ShortcutUser;->getCachedLauncher()Landroid/content/ComponentName;
-PLcom/android/server/pm/ShortcutUser;->getKnownLocales()Ljava/lang/String;
 PLcom/android/server/pm/ShortcutUser;->getLastAppScanOsFingerprint()Ljava/lang/String;
 PLcom/android/server/pm/ShortcutUser;->getLastAppScanTime()J
 PLcom/android/server/pm/ShortcutUser;->getLastKnownLauncher()Landroid/content/ComponentName;
@@ -15188,1229 +10067,659 @@
 PLcom/android/server/pm/ShortcutUser;->getPackageShortcutsIfExists(Ljava/lang/String;)Lcom/android/server/pm/ShortcutPackage;
 PLcom/android/server/pm/ShortcutUser;->getUserId()I
 PLcom/android/server/pm/ShortcutUser;->hasPackage(Ljava/lang/String;)Z
-PLcom/android/server/pm/ShortcutUser;->lambda$attemptToRestoreIfNeededAndSave$2(Lcom/android/server/pm/ShortcutPackageItem;)V
-PLcom/android/server/pm/ShortcutUser;->lambda$forPackageItem$0(ILjava/lang/String;Ljava/util/function/Consumer;Lcom/android/server/pm/ShortcutPackageItem;)V
 PLcom/android/server/pm/ShortcutUser;->loadFromXml(Lcom/android/server/pm/ShortcutService;Lorg/xmlpull/v1/XmlPullParser;IZ)Lcom/android/server/pm/ShortcutUser;
 PLcom/android/server/pm/ShortcutUser;->onCalledByPublisher(Ljava/lang/String;)V
 PLcom/android/server/pm/ShortcutUser;->rescanPackageIfNeeded(Ljava/lang/String;Z)V
-PLcom/android/server/pm/ShortcutUser;->saveShortcutPackageItem(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/ShortcutPackageItem;Z)V
 PLcom/android/server/pm/ShortcutUser;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
 PLcom/android/server/pm/ShortcutUser;->setLastAppScanOsFingerprint(Ljava/lang/String;)V
 PLcom/android/server/pm/ShortcutUser;->setLastAppScanTime(J)V
 PLcom/android/server/pm/ShortcutUser;->setLauncher(Landroid/content/ComponentName;)V
-PLcom/android/server/pm/ShortcutUser;->setLauncher(Landroid/content/ComponentName;Z)V
-PLcom/android/server/pm/UserDataPreparer;->enforceSerialNumber(Ljava/io/File;I)V
+PLcom/android/server/pm/StagingManager;->getSessions()Landroid/content/pm/ParceledListSlice;
 PLcom/android/server/pm/UserDataPreparer;->getDataSystemCeDirectory(I)Ljava/io/File;
+PLcom/android/server/pm/UserDataPreparer;->getDataSystemDeDirectory(I)Ljava/io/File;
 PLcom/android/server/pm/UserDataPreparer;->getDataUserCeDirectory(Ljava/lang/String;I)Ljava/io/File;
-PLcom/android/server/pm/UserDataPreparer;->getSerialNumber(Ljava/io/File;)I
-PLcom/android/server/pm/UserDataPreparer;->isFileEncryptedEmulatedOnly()Z
+PLcom/android/server/pm/UserDataPreparer;->getDataUserDeDirectory(Ljava/lang/String;I)Ljava/io/File;
 PLcom/android/server/pm/UserDataPreparer;->prepareUserData(III)V
 PLcom/android/server/pm/UserDataPreparer;->prepareUserDataLI(Ljava/lang/String;IIIZ)V
-PLcom/android/server/pm/UserDataPreparer;->reconcileUsers(Ljava/lang/String;Ljava/util/List;)V
-PLcom/android/server/pm/UserDataPreparer;->reconcileUsers(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
-PLcom/android/server/pm/UserManagerService$2;-><init>(Lcom/android/server/pm/UserManagerService;Landroid/os/Bundle;I)V
-PLcom/android/server/pm/UserManagerService$2;->run()V
-PLcom/android/server/pm/UserManagerService$3;-><init>(Lcom/android/server/pm/UserManagerService;ILandroid/os/Bundle;Landroid/os/Bundle;)V
-PLcom/android/server/pm/UserManagerService$3;->run()V
-PLcom/android/server/pm/UserManagerService$LifeCycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/pm/UserManagerService$LifeCycle;->onBootPhase(I)V
-PLcom/android/server/pm/UserManagerService$LifeCycle;->onStart()V
-PLcom/android/server/pm/UserManagerService$LifeCycle;->onStartUser(I)V
+PLcom/android/server/pm/UserManagerService$LifeCycle;->onStopUser(I)V
 PLcom/android/server/pm/UserManagerService$LifeCycle;->onUnlockUser(I)V
-PLcom/android/server/pm/UserManagerService$LocalService;->addUserRestrictionsListener(Landroid/os/UserManagerInternal$UserRestrictionsListener;)V
 PLcom/android/server/pm/UserManagerService$LocalService;->getProfileParentId(I)I
-PLcom/android/server/pm/UserManagerService$LocalService;->getUserIds()[I
-PLcom/android/server/pm/UserManagerService$LocalService;->getUserRestriction(ILjava/lang/String;)Z
 PLcom/android/server/pm/UserManagerService$LocalService;->isProfileAccessible(IILjava/lang/String;Z)Z
-PLcom/android/server/pm/UserManagerService$LocalService;->isSettingRestrictedForUser(Ljava/lang/String;ILjava/lang/String;I)Z
-PLcom/android/server/pm/UserManagerService$LocalService;->isUserRunning(I)Z
-PLcom/android/server/pm/UserManagerService$LocalService;->isUserUnlocked(I)Z
-PLcom/android/server/pm/UserManagerService$LocalService;->setDeviceManaged(Z)V
-PLcom/android/server/pm/UserManagerService$LocalService;->setDevicePolicyUserRestrictions(ILandroid/os/Bundle;ZI)V
-PLcom/android/server/pm/UserManagerService$LocalService;->setUserManaged(IZ)V
+PLcom/android/server/pm/UserManagerService$LocalService;->isUserInitialized(I)Z
+PLcom/android/server/pm/UserManagerService$LocalService;->removeUserState(I)V
 PLcom/android/server/pm/UserManagerService$LocalService;->setUserState(II)V
 PLcom/android/server/pm/UserManagerService$MainHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/pm/UserManagerService;->access$100(Lcom/android/server/pm/UserManagerService;)Landroid/content/Context;
-PLcom/android/server/pm/UserManagerService;->access$1100(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object;
-PLcom/android/server/pm/UserManagerService;->access$1200(Lcom/android/server/pm/UserManagerService;I)Lcom/android/server/pm/UserManagerService$UserData;
-PLcom/android/server/pm/UserManagerService;->access$1300(Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService$UserData;)V
-PLcom/android/server/pm/UserManagerService;->access$1400(Lcom/android/server/pm/UserManagerService;ILandroid/os/Bundle;ZI)V
-PLcom/android/server/pm/UserManagerService;->access$1802(Lcom/android/server/pm/UserManagerService;Z)Z
-PLcom/android/server/pm/UserManagerService;->access$1900(Lcom/android/server/pm/UserManagerService;)Landroid/util/SparseBooleanArray;
-PLcom/android/server/pm/UserManagerService;->access$200(Lcom/android/server/pm/UserManagerService;)Ljava/lang/Object;
-PLcom/android/server/pm/UserManagerService;->access$300(Lcom/android/server/pm/UserManagerService;I)Lcom/android/server/pm/UserManagerService$UserData;
-PLcom/android/server/pm/UserManagerService;->access$3000(Lcom/android/server/pm/UserManagerService;I)Landroid/content/pm/UserInfo;
-PLcom/android/server/pm/UserManagerService;->access$500()Landroid/os/IBinder;
-PLcom/android/server/pm/UserManagerService;->access$600(Lcom/android/server/pm/UserManagerService;)Lcom/android/internal/app/IAppOpsService;
-PLcom/android/server/pm/UserManagerService;->access$700(Lcom/android/server/pm/UserManagerService;)Ljava/util/ArrayList;
-PLcom/android/server/pm/UserManagerService;->applyUserRestrictionsLR(I)V
+PLcom/android/server/pm/UserManagerService$UserData;->getLastRequestQuietModeEnabledMillis()J
+PLcom/android/server/pm/UserManagerService$UserData;->setLastRequestQuietModeEnabledMillis(J)V
+PLcom/android/server/pm/UserManagerService;->broadcastProfileAvailabilityChanges(Landroid/os/UserHandle;Landroid/os/UserHandle;Z)V
 PLcom/android/server/pm/UserManagerService;->canAddMoreManagedProfiles(IZ)Z
-PLcom/android/server/pm/UserManagerService;->checkManageUserAndAcrossUsersFullPermission(Ljava/lang/String;)V
-PLcom/android/server/pm/UserManagerService;->checkManageUsersPermission(Ljava/lang/String;)V
-PLcom/android/server/pm/UserManagerService;->cleanupPartialUsers()V
-PLcom/android/server/pm/UserManagerService;->computeEffectiveUserRestrictionsLR(I)Landroid/os/Bundle;
 PLcom/android/server/pm/UserManagerService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/pm/UserManagerService;->dumpTimeAgo(Ljava/io/PrintWriter;Ljava/lang/StringBuilder;JJ)V
-PLcom/android/server/pm/UserManagerService;->findCurrentGuestUser()Landroid/content/pm/UserInfo;
+PLcom/android/server/pm/UserManagerService;->ensureCanModifyQuietMode(Ljava/lang/String;IZ)V
 PLcom/android/server/pm/UserManagerService;->getAliveUsersExcludingGuestsCountLU()I
-PLcom/android/server/pm/UserManagerService;->getCredentialOwnerProfile(I)I
-PLcom/android/server/pm/UserManagerService;->getEffectiveUserRestrictions(I)Landroid/os/Bundle;
-PLcom/android/server/pm/UserManagerService;->getMaxManagedProfiles()I
-PLcom/android/server/pm/UserManagerService;->getPrimaryUser()Landroid/content/pm/UserInfo;
-PLcom/android/server/pm/UserManagerService;->getProfileParent(I)Landroid/content/pm/UserInfo;
-PLcom/android/server/pm/UserManagerService;->getProfileParentLU(I)Landroid/content/pm/UserInfo;
-PLcom/android/server/pm/UserManagerService;->getProfilesLU(IZZ)Ljava/util/List;
-PLcom/android/server/pm/UserManagerService;->getUserAccount(I)Ljava/lang/String;
-PLcom/android/server/pm/UserManagerService;->getUserDataNoChecks(I)Lcom/android/server/pm/UserManagerService$UserData;
-PLcom/android/server/pm/UserManagerService;->getUserHandle(I)I
-PLcom/android/server/pm/UserManagerService;->getUserIcon(I)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/pm/UserManagerService;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
+PLcom/android/server/pm/UserManagerService;->getApplicationRestrictionsForUser(Ljava/lang/String;I)Landroid/os/Bundle;
+PLcom/android/server/pm/UserManagerService;->getManagedProfileBadge(I)I
+PLcom/android/server/pm/UserManagerService;->getUidForPackage(Ljava/lang/String;)I
 PLcom/android/server/pm/UserManagerService;->getUserRestrictionSource(Ljava/lang/String;I)I
-PLcom/android/server/pm/UserManagerService;->getUserRestrictionSources(Ljava/lang/String;I)Ljava/util/List;
-PLcom/android/server/pm/UserManagerService;->getUserRestrictions(I)Landroid/os/Bundle;
-PLcom/android/server/pm/UserManagerService;->getUserSerialNumber(I)I
-PLcom/android/server/pm/UserManagerService;->hasBaseUserRestriction(Ljava/lang/String;I)Z
-PLcom/android/server/pm/UserManagerService;->hasUserRestriction(Ljava/lang/String;I)Z
+PLcom/android/server/pm/UserManagerService;->getUserStartRealtime()J
+PLcom/android/server/pm/UserManagerService;->getUserUnlockRealtime()J
+PLcom/android/server/pm/UserManagerService;->hasUserRestrictionOnAnyUser(Ljava/lang/String;)Z
 PLcom/android/server/pm/UserManagerService;->isDemoUser(I)Z
-PLcom/android/server/pm/UserManagerService;->isManagedProfile(I)Z
-PLcom/android/server/pm/UserManagerService;->isProfileOf(Landroid/content/pm/UserInfo;Landroid/content/pm/UserInfo;)Z
-PLcom/android/server/pm/UserManagerService;->isQuietModeEnabled(I)Z
 PLcom/android/server/pm/UserManagerService;->isRestricted()Z
-PLcom/android/server/pm/UserManagerService;->isSameProfileGroup(II)Z
-PLcom/android/server/pm/UserManagerService;->isUserRunning(I)Z
-PLcom/android/server/pm/UserManagerService;->isUserUnlocked(I)Z
-PLcom/android/server/pm/UserManagerService;->isUserUnlockingOrUnlocked(I)Z
+PLcom/android/server/pm/UserManagerService;->logQuietModeEnabled(IZLjava/lang/String;)V
+PLcom/android/server/pm/UserManagerService;->onBeforeStartUser(I)V
 PLcom/android/server/pm/UserManagerService;->onBeforeUnlockUser(I)V
 PLcom/android/server/pm/UserManagerService;->onUserLoggedIn(I)V
-PLcom/android/server/pm/UserManagerService;->propagateUserRestrictionsLR(ILandroid/os/Bundle;Landroid/os/Bundle;)V
-PLcom/android/server/pm/UserManagerService;->reconcileUsers(Ljava/lang/String;)V
-PLcom/android/server/pm/UserManagerService;->scheduleWriteUser(Lcom/android/server/pm/UserManagerService$UserData;)V
-PLcom/android/server/pm/UserManagerService;->setDevicePolicyUserRestrictionsInner(ILandroid/os/Bundle;ZI)V
-PLcom/android/server/pm/UserManagerService;->setUserRestriction(Ljava/lang/String;ZI)V
-PLcom/android/server/pm/UserManagerService;->systemReady()V
-PLcom/android/server/pm/UserManagerService;->updateRestrictionsIfNeededLR(ILandroid/os/Bundle;Landroid/util/SparseArray;)Z
-PLcom/android/server/pm/UserManagerService;->updateUserRestrictionsInternalLR(Landroid/os/Bundle;I)V
+PLcom/android/server/pm/UserManagerService;->readApplicationRestrictionsLAr(Landroid/util/AtomicFile;)Landroid/os/Bundle;
+PLcom/android/server/pm/UserManagerService;->readEntry(Landroid/os/Bundle;Ljava/util/ArrayList;Lorg/xmlpull/v1/XmlPullParser;)V
+PLcom/android/server/pm/UserManagerService;->requestQuietModeEnabled(Ljava/lang/String;ZILandroid/content/IntentSender;)Z
+PLcom/android/server/pm/UserManagerService;->setQuietModeEnabled(IZLandroid/content/IntentSender;Ljava/lang/String;)V
 PLcom/android/server/pm/UserManagerService;->writeUserLP(Lcom/android/server/pm/UserManagerService$UserData;)V
 PLcom/android/server/pm/UserManagerService;->writeUserLP(Lcom/android/server/pm/UserManagerService$UserData;Ljava/io/OutputStream;)V
-PLcom/android/server/pm/UserRestrictionsUtils;->applyUserRestrictions(Landroid/content/Context;ILandroid/os/Bundle;Landroid/os/Bundle;)V
-PLcom/android/server/pm/UserRestrictionsUtils;->areEqual(Landroid/os/Bundle;Landroid/os/Bundle;)Z
-PLcom/android/server/pm/UserRestrictionsUtils;->clone(Landroid/os/Bundle;)Landroid/os/Bundle;
 PLcom/android/server/pm/UserRestrictionsUtils;->dumpRestrictions(Ljava/io/PrintWriter;Ljava/lang/String;Landroid/os/Bundle;)V
-PLcom/android/server/pm/UserRestrictionsUtils;->isEmpty(Landroid/os/Bundle;)Z
-PLcom/android/server/pm/UserRestrictionsUtils;->isSettingRestrictedForUser(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;I)Z
-PLcom/android/server/pm/UserRestrictionsUtils;->isValidRestriction(Ljava/lang/String;)Z
-PLcom/android/server/pm/UserRestrictionsUtils;->mergeAll(Landroid/util/SparseArray;)Landroid/os/Bundle;
-PLcom/android/server/pm/UserRestrictionsUtils;->nonNull(Landroid/os/Bundle;)Landroid/os/Bundle;
-PLcom/android/server/pm/UserRestrictionsUtils;->restrictionsChanged(Landroid/os/Bundle;Landroid/os/Bundle;[Ljava/lang/String;)Z
-PLcom/android/server/pm/UserRestrictionsUtils;->sortToGlobalAndLocal(Landroid/os/Bundle;ZILandroid/os/Bundle;Landroid/os/Bundle;)V
+PLcom/android/server/pm/UserRestrictionsUtils;->isGlobal(ZLjava/lang/String;)Z
 PLcom/android/server/pm/UserRestrictionsUtils;->writeRestrictions(Lorg/xmlpull/v1/XmlSerializer;Landroid/os/Bundle;Ljava/lang/String;)V
-PLcom/android/server/pm/dex/-$$Lambda$ArtManagerService$MEVzU-orlv4msZVF-bA5NLti04g;-><init>(Landroid/os/ParcelFileDescriptor;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;Ljava/lang/String;)V
 PLcom/android/server/pm/dex/-$$Lambda$ArtManagerService$MEVzU-orlv4msZVF-bA5NLti04g;->run()V
+PLcom/android/server/pm/dex/-$$Lambda$ArtManagerService$_rD0Y6OPSJHMdjTIOtucoGQ1xag;->run()V
 PLcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl;->getPackageOptimizationInfo(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;)Landroid/content/pm/dex/PackageOptimizationInfo;
-PLcom/android/server/pm/dex/ArtManagerService;->access$100(Ljava/lang/String;)I
-PLcom/android/server/pm/dex/ArtManagerService;->access$200(Ljava/lang/String;)I
 PLcom/android/server/pm/dex/ArtManagerService;->checkAndroidPermissions(ILjava/lang/String;)Z
 PLcom/android/server/pm/dex/ArtManagerService;->checkShellPermissions(ILjava/lang/String;I)Z
 PLcom/android/server/pm/dex/ArtManagerService;->createProfileSnapshot(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/content/pm/dex/ISnapshotRuntimeProfileCallback;)V
 PLcom/android/server/pm/dex/ArtManagerService;->destroyProfileSnapshot(Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/pm/dex/ArtManagerService;->getCompilationFilterTronValue(Ljava/lang/String;)I
 PLcom/android/server/pm/dex/ArtManagerService;->isRuntimeProfilingEnabled(ILjava/lang/String;)Z
+PLcom/android/server/pm/dex/ArtManagerService;->lambda$postError$0(Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;ILjava/lang/String;)V
 PLcom/android/server/pm/dex/ArtManagerService;->lambda$postSuccess$1(Landroid/os/ParcelFileDescriptor;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;Ljava/lang/String;)V
+PLcom/android/server/pm/dex/ArtManagerService;->postError(Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;Ljava/lang/String;I)V
 PLcom/android/server/pm/dex/ArtManagerService;->postSuccess(Ljava/lang/String;Landroid/os/ParcelFileDescriptor;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;)V
-PLcom/android/server/pm/dex/ArtManagerService;->prepareAppProfiles(Landroid/content/pm/PackageParser$Package;I)V
-PLcom/android/server/pm/dex/ArtManagerService;->prepareAppProfiles(Landroid/content/pm/PackageParser$Package;[I)V
+PLcom/android/server/pm/dex/ArtManagerService;->prepareAppProfiles(Landroid/content/pm/PackageParser$Package;IZ)V
+PLcom/android/server/pm/dex/ArtManagerService;->prepareAppProfiles(Landroid/content/pm/PackageParser$Package;[IZ)V
 PLcom/android/server/pm/dex/ArtManagerService;->snapshotAppProfile(Ljava/lang/String;Ljava/lang/String;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;)V
 PLcom/android/server/pm/dex/ArtManagerService;->snapshotBootImageProfile(Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;)V
 PLcom/android/server/pm/dex/ArtManagerService;->snapshotRuntimeProfile(ILjava/lang/String;Ljava/lang/String;Landroid/content/pm/dex/ISnapshotRuntimeProfileCallback;Ljava/lang/String;)V
-PLcom/android/server/pm/dex/DexLogger;->onReconcileSecondaryDexFile(Landroid/content/pm/ApplicationInfo;Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;Ljava/lang/String;I)V
-PLcom/android/server/pm/dex/DexLogger;->writeDclEvent(ILjava/lang/String;)V
-PLcom/android/server/pm/dex/DexManager$1;-><init>(Lcom/android/server/pm/dex/DexManager;Landroid/os/Handler;Landroid/content/ContentResolver;)V
-PLcom/android/server/pm/dex/DexManager$1;->onChange(Z)V
-PLcom/android/server/pm/dex/DexManager$2;-><init>(Lcom/android/server/pm/dex/DexManager;Landroid/os/Handler;Landroid/content/ContentResolver;)V
-PLcom/android/server/pm/dex/DexManager$2;->onChange(Z)V
-PLcom/android/server/pm/dex/DexManager$DexSearchResult;-><init>(Lcom/android/server/pm/dex/DexManager;Ljava/lang/String;I)V
-PLcom/android/server/pm/dex/DexManager$DexSearchResult;->access$000(Lcom/android/server/pm/dex/DexManager$DexSearchResult;)I
-PLcom/android/server/pm/dex/DexManager$DexSearchResult;->access$100(Lcom/android/server/pm/dex/DexManager$DexSearchResult;)Ljava/lang/String;
-PLcom/android/server/pm/dex/DexManager$PackageCodeLocations;-><init>(Landroid/content/pm/ApplicationInfo;I)V
-PLcom/android/server/pm/dex/DexManager$PackageCodeLocations;-><init>(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
-PLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->access$200(Lcom/android/server/pm/dex/DexManager$PackageCodeLocations;)Ljava/lang/String;
-PLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->mergeAppDataDirs(Ljava/lang/String;I)V
-PLcom/android/server/pm/dex/DexManager$PackageCodeLocations;->updateCodeLocation(Ljava/lang/String;[Ljava/lang/String;)V
-PLcom/android/server/pm/dex/DexManager;->access$300(Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/pm/dex/DexManager;->access$500()I
-PLcom/android/server/pm/dex/DexManager;->access$700()I
-PLcom/android/server/pm/dex/DexManager;->cachePackageCodeLocation(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;[Ljava/lang/String;I)V
-PLcom/android/server/pm/dex/DexManager;->cachePackageInfo(Landroid/content/pm/PackageInfo;I)V
+PLcom/android/server/pm/dex/DexLogger;->fileIsUnder(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/pm/dex/DexLogger;->getAllPackagesWithDynamicCodeLoading()Ljava/util/Set;
+PLcom/android/server/pm/dex/DexLogger;->getPackageDynamicCodeInfo(Ljava/lang/String;)Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;
+PLcom/android/server/pm/dex/DexLogger;->logDynamicCodeLoading(Ljava/lang/String;)V
+PLcom/android/server/pm/dex/DexLogger;->recordNative(ILjava/lang/String;)V
+PLcom/android/server/pm/dex/DexLogger;->writeDclEvent(Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/pm/dex/DexManager;->dexoptSecondaryDex(Lcom/android/server/pm/dex/DexoptOptions;)Z
 PLcom/android/server/pm/dex/DexManager;->getAllPackagesWithSecondaryDexFiles()Ljava/util/Set;
+PLcom/android/server/pm/dex/DexManager;->getDexLogger()Lcom/android/server/pm/dex/DexLogger;
+PLcom/android/server/pm/dex/DexManager;->getDynamicCodeLogger()Lcom/android/server/pm/dex/DynamicCodeLogger;
 PLcom/android/server/pm/dex/DexManager;->getPackageUseInfoOrDefault(Ljava/lang/String;)Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;
-PLcom/android/server/pm/dex/DexManager;->load(Ljava/util/Map;)V
-PLcom/android/server/pm/dex/DexManager;->loadInternal(Ljava/util/Map;)V
-PLcom/android/server/pm/dex/DexManager;->notifyDexLoad(Landroid/content/pm/ApplicationInfo;Ljava/util/List;Ljava/util/List;Ljava/lang/String;I)V
-PLcom/android/server/pm/dex/DexManager;->notifyDexLoadInternal(Landroid/content/pm/ApplicationInfo;Ljava/util/List;Ljava/util/List;Ljava/lang/String;I)V
 PLcom/android/server/pm/dex/DexManager;->notifyPackageInstalled(Landroid/content/pm/PackageInfo;I)V
 PLcom/android/server/pm/dex/DexManager;->notifyPackageUpdated(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
-PLcom/android/server/pm/dex/DexManager;->putIfAbsent(Ljava/util/Map;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/pm/dex/DexManager;->reconcileSecondaryDexFiles(Ljava/lang/String;)V
-PLcom/android/server/pm/dex/DexManager;->registerSettingObserver()V
-PLcom/android/server/pm/dex/DexManager;->systemReady()V
-PLcom/android/server/pm/dex/DexoptOptions;-><init>(Ljava/lang/String;II)V
 PLcom/android/server/pm/dex/DexoptOptions;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/pm/dex/DexoptOptions;->getCompilationReason()I
-PLcom/android/server/pm/dex/DexoptOptions;->getCompilerFilter()Ljava/lang/String;
-PLcom/android/server/pm/dex/DexoptOptions;->getPackageName()Ljava/lang/String;
-PLcom/android/server/pm/dex/DexoptOptions;->getSplitName()Ljava/lang/String;
-PLcom/android/server/pm/dex/DexoptOptions;->isBootComplete()Z
-PLcom/android/server/pm/dex/DexoptOptions;->isCheckForProfileUpdates()Z
-PLcom/android/server/pm/dex/DexoptOptions;->isDexoptAsSharedLibrary()Z
-PLcom/android/server/pm/dex/DexoptOptions;->isDexoptIdleBackgroundJob()Z
-PLcom/android/server/pm/dex/DexoptOptions;->isDexoptInstallWithDexMetadata()Z
-PLcom/android/server/pm/dex/DexoptOptions;->isDexoptOnlySecondaryDex()Z
-PLcom/android/server/pm/dex/DexoptOptions;->isDexoptOnlySharedDex()Z
-PLcom/android/server/pm/dex/DexoptOptions;->isDowngrade()Z
-PLcom/android/server/pm/dex/DexoptOptions;->isForce()Z
-PLcom/android/server/pm/dex/DexoptUtils;->encodeClassLoader(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/pm/dex/DexoptUtils;->encodeClassLoaderChain(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/pm/dex/DexoptUtils;->encodeClasspath(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/pm/dex/DexoptUtils;->encodeClasspath([Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/pm/dex/DexoptUtils;->getClassLoaderContexts(Landroid/content/pm/ApplicationInfo;[Ljava/lang/String;[Z)[Ljava/lang/String;
-PLcom/android/server/pm/dex/DexoptUtils;->processContextForDexLoad(Ljava/util/List;Ljava/util/List;)[Ljava/lang/String;
+PLcom/android/server/pm/dex/DexoptUtils;->encodeSharedLibraries(Ljava/util/List;)Ljava/lang/String;
+PLcom/android/server/pm/dex/DexoptUtils;->encodeSharedLibrary(Landroid/content/pm/SharedLibraryInfo;)Ljava/lang/String;
+PLcom/android/server/pm/dex/DexoptUtils;->getClassLoaderContexts(Landroid/content/pm/ApplicationInfo;Ljava/util/List;[Z)[Ljava/lang/String;
+PLcom/android/server/pm/dex/DexoptUtils;->getSplitRelativeCodePaths(Landroid/content/pm/ApplicationInfo;)[Ljava/lang/String;
+PLcom/android/server/pm/dex/DynamicCodeLogger;->fileIsUnder(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/pm/dex/DynamicCodeLogger;->getAllPackagesWithDynamicCodeLoading()Ljava/util/Set;
+PLcom/android/server/pm/dex/DynamicCodeLogger;->getPackageDynamicCodeInfo(Ljava/lang/String;)Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;
+PLcom/android/server/pm/dex/DynamicCodeLogger;->logDynamicCodeLoading(Ljava/lang/String;)V
+PLcom/android/server/pm/dex/DynamicCodeLogger;->recordDex(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/dex/DynamicCodeLogger;->recordNative(ILjava/lang/String;)V
+PLcom/android/server/pm/dex/DynamicCodeLogger;->writeDclEvent(Ljava/lang/String;ILjava/lang/String;)V
 PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;-><init>(Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;)V
-PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;-><init>(ZILjava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->access$200(Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;)Ljava/util/Set;
-PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->access$300(Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;)I
-PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->access$400(Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;)Z
-PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->access$600(Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;)Z
-PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->access$700(Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;)Ljava/util/Set;
 PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->getClassLoaderContext()Ljava/lang/String;
 PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->getLoaderIsas()Ljava/util/Set;
-PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->getLoadingPackages()Ljava/util/Set;
 PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->getOwnerUserId()I
+PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->isUnknownClassLoaderContext()Z
 PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->isUsedByOtherApps()Z
+PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->isVariableClassLoaderContext()Z
 PLcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;->merge(Lcom/android/server/pm/dex/PackageDexUsage$DexUseInfo;)Z
 PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;-><init>(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;)V
-PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->access$000(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->access$100(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;)Ljava/util/Map;
-PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->access$500(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;)Ljava/util/Map;
-PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->access$800(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;)Z
 PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->clearCodePathUsedByOtherApps()Z
 PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->getDexUseInfoMap()Ljava/util/Map;
-PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->isAnyCodePathUsedByOtherApps()Z
 PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->isUsedByOtherApps(Ljava/lang/String;)Z
-PLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->mergeCodePathUsedByOtherApps(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/pm/dex/PackageDexUsage;->clearUsedByOtherApps(Ljava/lang/String;)Z
 PLcom/android/server/pm/dex/PackageDexUsage;->clonePackageUseInfoMap()Ljava/util/Map;
 PLcom/android/server/pm/dex/PackageDexUsage;->getAllPackagesWithSecondaryDexFiles()Ljava/util/Set;
 PLcom/android/server/pm/dex/PackageDexUsage;->getPackageUseInfo(Ljava/lang/String;)Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;
-PLcom/android/server/pm/dex/PackageDexUsage;->isSupportedVersion(I)Z
-PLcom/android/server/pm/dex/PackageDexUsage;->maybeAddLoadingPackage(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;)Z
-PLcom/android/server/pm/dex/PackageDexUsage;->maybeReadClassLoaderContext(Ljava/io/BufferedReader;I)Ljava/lang/String;
-PLcom/android/server/pm/dex/PackageDexUsage;->maybeReadLoadingPackages(Ljava/io/BufferedReader;I)Ljava/util/Set;
 PLcom/android/server/pm/dex/PackageDexUsage;->maybeWriteAsync()V
-PLcom/android/server/pm/dex/PackageDexUsage;->read()V
-PLcom/android/server/pm/dex/PackageDexUsage;->read(Ljava/io/Reader;)V
-PLcom/android/server/pm/dex/PackageDexUsage;->readBoolean(Ljava/lang/String;)Z
-PLcom/android/server/pm/dex/PackageDexUsage;->readInternal(Ljava/lang/Object;)V
-PLcom/android/server/pm/dex/PackageDexUsage;->readInternal(Ljava/lang/Void;)V
-PLcom/android/server/pm/dex/PackageDexUsage;->record(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;ZZLjava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/pm/dex/PackageDexUsage;->removeDexFile(Lcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;Ljava/lang/String;I)Z
 PLcom/android/server/pm/dex/PackageDexUsage;->removeDexFile(Ljava/lang/String;Ljava/lang/String;I)Z
-PLcom/android/server/pm/dex/PackageDexUsage;->syncData(Ljava/util/Map;Ljava/util/Map;)V
 PLcom/android/server/pm/dex/PackageDexUsage;->write(Ljava/io/Writer;)V
-PLcom/android/server/pm/dex/PackageDexUsage;->writeBoolean(Z)Ljava/lang/String;
 PLcom/android/server/pm/dex/PackageDexUsage;->writeInternal(Ljava/lang/Object;)V
 PLcom/android/server/pm/dex/PackageDexUsage;->writeInternal(Ljava/lang/Void;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;-><init>(Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->escape(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->getAllPackagesWithDynamicCodeLoading()Ljava/util/Set;
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->getPackageDynamicCodeInfo(Ljava/lang/String;)Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->removeFile(Ljava/lang/String;Ljava/lang/String;I)Z
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->write(Ljava/io/OutputStream;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->write(Ljava/io/OutputStream;Ljava/util/Map;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->writeInternal(Ljava/lang/Object;)V
+PLcom/android/server/pm/dex/PackageDynamicCodeLoading;->writeInternal(Ljava/lang/Void;)V
+PLcom/android/server/pm/permission/-$$Lambda$DefaultPermissionGrantPolicy$SHfHTWKpfBf_vZtWArm-FlNBI8k;-><init>()V
+PLcom/android/server/pm/permission/-$$Lambda$DefaultPermissionGrantPolicy$SHfHTWKpfBf_vZtWArm-FlNBI8k;->apply(I)Ljava/lang/Object;
+PLcom/android/server/pm/permission/-$$Lambda$js2BSmz1ucAEj8fgl3jw5trxIjw;->onGetRuntimePermissionsBackup([B)V
 PLcom/android/server/pm/permission/BasePermission;->addToTree(ILandroid/content/pm/PermissionInfo;Lcom/android/server/pm/permission/BasePermission;)Z
-PLcom/android/server/pm/permission/BasePermission;->calculateFootprint(Lcom/android/server/pm/permission/BasePermission;)I
 PLcom/android/server/pm/permission/BasePermission;->comparePermissionInfos(Landroid/content/pm/PermissionInfo;Landroid/content/pm/PermissionInfo;)Z
-PLcom/android/server/pm/permission/BasePermission;->compareStrings(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Z
-PLcom/android/server/pm/permission/BasePermission;->enforceDeclaredUsedAndRuntimeOrDevelopment(Landroid/content/pm/PackageParser$Package;)V
 PLcom/android/server/pm/permission/BasePermission;->enforcePermissionTree(Ljava/util/Collection;Ljava/lang/String;I)Lcom/android/server/pm/permission/BasePermission;
-PLcom/android/server/pm/permission/BasePermission;->generatePermissionInfo(II)Landroid/content/pm/PermissionInfo;
-PLcom/android/server/pm/permission/BasePermission;->generatePermissionInfo(Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
-PLcom/android/server/pm/permission/BasePermission;->getProtectionLevel()I
-PLcom/android/server/pm/permission/BasePermission;->getUid()I
-PLcom/android/server/pm/permission/BasePermission;->isDevelopment()Z
-PLcom/android/server/pm/permission/BasePermission;->isInstaller()Z
-PLcom/android/server/pm/permission/BasePermission;->isPre23()Z
-PLcom/android/server/pm/permission/BasePermission;->isPreInstalled()Z
-PLcom/android/server/pm/permission/BasePermission;->isSetup()Z
-PLcom/android/server/pm/permission/BasePermission;->isSystemTextClassifier()Z
-PLcom/android/server/pm/permission/BasePermission;->isVerifier()Z
-PLcom/android/server/pm/permission/BasePermission;->setPermission(Landroid/content/pm/PackageParser$Permission;)V
-PLcom/android/server/pm/permission/BasePermission;->setSourcePackageSetting(Lcom/android/server/pm/PackageSettingBase;)V
-PLcom/android/server/pm/permission/BasePermission;->updateDynamicPermission(Ljava/util/Collection;)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DefaultPermissionGrant;-><init>(Ljava/lang/String;Z)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->doesPackageSupportRuntimePermissions(Landroid/content/pm/PackageParser$Package;)Z
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultPermissionFiles()[Ljava/io/File;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultProviderAuthorityPackage(Ljava/lang/String;I)Landroid/content/pm/PackageParser$Package;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultSystemHandlerActivityPackage(Landroid/content/Intent;I)Landroid/content/pm/PackageParser$Package;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultSystemHandlerServicePackage(Landroid/content/Intent;I)Landroid/content/pm/PackageParser$Package;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getHeadlessSyncAdapterPackages([Ljava/lang/String;I)Ljava/util/List;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getPackage(Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getSystemPackage(Ljava/lang/String;)Landroid/content/pm/PackageParser$Package;
+PLcom/android/server/pm/permission/BasePermission;->getSourcePackageName()Ljava/lang/String;
+PLcom/android/server/pm/permission/BasePermission;->getSourcePackageSetting()Lcom/android/server/pm/PackageSettingBase;
+PLcom/android/server/pm/permission/BasePermission;->isRuntime()Z
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->doesPackageSupportRuntimePermissions(Landroid/content/pm/PackageInfo;)Z
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getBackgroundPermission(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultProviderAuthorityPackage(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultSystemHandlerActivityPackage(Landroid/content/Intent;I)Ljava/lang/String;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultSystemHandlerActivityPackage(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultSystemHandlerActivityPackageForCategory(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultSystemHandlerServicePackage(Landroid/content/Intent;I)Ljava/lang/String;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultSystemHandlerServicePackage(Ljava/lang/String;I)Ljava/lang/String;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getHeadlessSyncAdapterPackages([Ljava/lang/String;I)Ljava/util/ArrayList;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getKnownPackage(II)Ljava/lang/String;
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getPackageInfo(Ljava/lang/String;)Landroid/content/pm/PackageInfo;
 PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionExceptions(I)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissions(I)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToDefaultDialerApp(Ljava/lang/String;I)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToDefaultSystemDialerApp(Landroid/content/pm/PackageParser$Package;I)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToDefaultSystemSmsApp(Landroid/content/pm/PackageParser$Package;I)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToEnabledImsServices([Ljava/lang/String;I)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToEnabledTelephonyDataServices([Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToDefaultSmsApp(Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToDefaultSystemDialerApp(Ljava/lang/String;I)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToDefaultSystemSmsApp(Ljava/lang/String;I)V
 PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultSystemHandlerPermissions(I)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantPermissionToEachSystemPackage(Ljava/util/ArrayList;I[Ljava/util/Set;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantPermissionsToPackage(Ljava/lang/String;IZ[Ljava/util/Set;)V
 PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantPermissionsToSysComponentsAndPrivApps(I)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantRuntimePermissions(Landroid/content/pm/PackageParser$Package;Ljava/util/Set;I)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantRuntimePermissions(Landroid/content/pm/PackageParser$Package;Ljava/util/Set;ZI)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantRuntimePermissionsForPackage(ILandroid/content/pm/PackageParser$Package;)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->isSysComponentOrPersistentPlatformSignedPrivApp(Landroid/content/pm/PackageParser$Package;)Z
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->parse(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Map;)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->parseExceptions(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Map;)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->parsePermission(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/List;)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->readDefaultPermissionExceptionsLocked()Landroid/util/ArrayMap;
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->revokeDefaultPermissionsFromDisabledTelephonyDataServices([Ljava/lang/String;I)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setDialerAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setLocationPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSimCallManagerPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSmsAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSyncAdapterPackagesProvider(Landroid/content/pm/PackageManagerInternal$SyncAdapterPackagesProvider;)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setUseOpenWifiAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
-PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setVoiceInteractionPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantPermissionsToSystemPackage(Ljava/lang/String;I[Ljava/util/Set;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantRuntimePermissions(Landroid/content/pm/PackageInfo;Ljava/util/Set;ZZI)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantRuntimePermissionsForSystemPackage(ILandroid/content/pm/PackageInfo;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantSystemFixedPermissionsToSystemPackage(Ljava/lang/String;I[Ljava/util/Set;)V
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->isPermissionDangerous(Ljava/lang/String;)Z
+PLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->isSystemPackage(Ljava/lang/String;)Z
 PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->addDynamicPermission(Landroid/content/pm/PermissionInfo;ZILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)Z
-PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;II)I
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->getAllPermissionGroups(II)Ljava/util/List;
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->getAppOpPermissionPackages(Ljava/lang/String;)[Ljava/lang/String;
 PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->getPermissionGroupInfo(Ljava/lang/String;II)Landroid/content/pm/PermissionGroupInfo;
-PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;II)Landroid/content/pm/PermissionInfo;
 PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->getPermissionInfoByGroup(Ljava/lang/String;II)Ljava/util/List;
 PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->getPermissionTEMP(Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
 PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->grantRequestedRuntimePermissions(Landroid/content/pm/PackageParser$Package;[I[Ljava/lang/String;ILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->removeAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
 PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->revokeRuntimePermissionsIfGroupChanged(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->systemReady()V
-PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->updateAllPermissions(Ljava/lang/String;ZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
 PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIIILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
 PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;ZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-PLcom/android/server/pm/permission/PermissionManagerService;->access$100(Lcom/android/server/pm/permission/PermissionManagerService;)V
-PLcom/android/server/pm/permission/PermissionManagerService;->access$1000(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/PackageParser$Package;[I[Ljava/lang/String;ILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-PLcom/android/server/pm/permission/PermissionManagerService;->access$1300(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;Landroid/content/pm/PackageParser$Package;ZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-PLcom/android/server/pm/permission/PermissionManagerService;->access$1400(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;ZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-PLcom/android/server/pm/permission/PermissionManagerService;->access$1600(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;Ljava/lang/String;II)I
-PLcom/android/server/pm/permission/PermissionManagerService;->access$1700(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;Ljava/lang/String;IIIILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-PLcom/android/server/pm/permission/PermissionManagerService;->access$2300(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;II)Landroid/content/pm/PermissionGroupInfo;
-PLcom/android/server/pm/permission/PermissionManagerService;->access$2500(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;Ljava/lang/String;II)Landroid/content/pm/PermissionInfo;
-PLcom/android/server/pm/permission/PermissionManagerService;->access$2600(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;II)Ljava/util/List;
-PLcom/android/server/pm/permission/PermissionManagerService;->access$2900(Lcom/android/server/pm/permission/PermissionManagerService;)Ljava/lang/Object;
-PLcom/android/server/pm/permission/PermissionManagerService;->access$300(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-PLcom/android/server/pm/permission/PermissionManagerService;->access$700(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/PermissionInfo;ILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)Z
-PLcom/android/server/pm/permission/PermissionManagerService;->access$900(Lcom/android/server/pm/permission/PermissionManagerService;Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->addDynamicPermission(Landroid/content/pm/PermissionInfo;ZILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)Z
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->backupRuntimePermissions(Landroid/os/UserHandle;)[B
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getPermissionGroupInfo(Ljava/lang/String;II)Landroid/content/pm/PermissionGroupInfo;
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->removeAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->revokeRuntimePermissionsIfGroupChanged(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIIILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;ZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
 PLcom/android/server/pm/permission/PermissionManagerService;->addDynamicPermission(Landroid/content/pm/PermissionInfo;ILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)Z
-PLcom/android/server/pm/permission/PermissionManagerService;->adjustPermissionProtectionFlagsLocked(ILjava/lang/String;I)I
-PLcom/android/server/pm/permission/PermissionManagerService;->calculateCurrentPermissionFootprintLocked(Lcom/android/server/pm/permission/BasePermission;)I
-PLcom/android/server/pm/permission/PermissionManagerService;->enforceGrantRevokeRuntimePermissionPermissions(Ljava/lang/String;)V
-PLcom/android/server/pm/permission/PermissionManagerService;->enforcePermissionCapLocked(Landroid/content/pm/PermissionInfo;Lcom/android/server/pm/permission/BasePermission;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->addDynamicPermission(Landroid/content/pm/PermissionInfo;ILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)Z
+PLcom/android/server/pm/permission/PermissionManagerService;->backupRuntimePermissions(Landroid/os/UserHandle;)[B
+PLcom/android/server/pm/permission/PermissionManagerService;->getAppOpPermissionPackages(Ljava/lang/String;)[Ljava/lang/String;
+PLcom/android/server/pm/permission/PermissionManagerService;->getBackgroundPermissions()Landroid/util/ArrayMap;
 PLcom/android/server/pm/permission/PermissionManagerService;->getPermission(Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
-PLcom/android/server/pm/permission/PermissionManagerService;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;II)I
 PLcom/android/server/pm/permission/PermissionManagerService;->getPermissionGroupInfo(Ljava/lang/String;II)Landroid/content/pm/PermissionGroupInfo;
-PLcom/android/server/pm/permission/PermissionManagerService;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;II)Landroid/content/pm/PermissionInfo;
-PLcom/android/server/pm/permission/PermissionManagerService;->getPermissionInfoByGroup(Ljava/lang/String;II)Ljava/util/List;
-PLcom/android/server/pm/permission/PermissionManagerService;->getVolumeUuidForPackage(Landroid/content/pm/PackageParser$Package;)Ljava/lang/String;
-PLcom/android/server/pm/permission/PermissionManagerService;->grantRequestedRuntimePermissions(Landroid/content/pm/PackageParser$Package;[I[Ljava/lang/String;ILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
 PLcom/android/server/pm/permission/PermissionManagerService;->grantRequestedRuntimePermissionsForUser(Landroid/content/pm/PackageParser$Package;I[Ljava/lang/String;ILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-PLcom/android/server/pm/permission/PermissionManagerService;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
 PLcom/android/server/pm/permission/PermissionManagerService;->hasPermission(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)Z
-PLcom/android/server/pm/permission/PermissionManagerService;->isNewPlatformPermissionForPackage(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;)Z
-PLcom/android/server/pm/permission/PermissionManagerService;->isPackageRequestingPermission(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;)Z
-PLcom/android/server/pm/permission/PermissionManagerService;->logPermission(ILjava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->removeAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
+PLcom/android/server/pm/permission/PermissionManagerService;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->revokeRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
 PLcom/android/server/pm/permission/PermissionManagerService;->revokeRuntimePermissionsIfGroupChanged(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->revokeRuntimePermissionsIfGroupChanged(Landroid/content/pm/PackageParser$Package;Landroid/content/pm/PackageParser$Package;Ljava/util/ArrayList;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
 PLcom/android/server/pm/permission/PermissionManagerService;->revokeUnusedSharedUserPermissionsLocked(Lcom/android/server/pm/SharedUserSetting;[I)[I
-PLcom/android/server/pm/permission/PermissionManagerService;->systemReady()V
-PLcom/android/server/pm/permission/PermissionManagerService;->updateAllPermissions(Ljava/lang/String;ZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
 PLcom/android/server/pm/permission/PermissionManagerService;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIIILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-PLcom/android/server/pm/permission/PermissionManagerService;->updatePermissionTrees(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;I)I
-PLcom/android/server/pm/permission/PermissionManagerService;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;Ljava/lang/String;ILjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIIILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
 PLcom/android/server/pm/permission/PermissionManagerService;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;ZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
-PLcom/android/server/pm/permission/PermissionSettings;->addAppOpPackage(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/pm/permission/PermissionManagerService;->updatePermissions(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;ZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
 PLcom/android/server/pm/permission/PermissionSettings;->enforcePermissionTree(Ljava/lang/String;I)Lcom/android/server/pm/permission/BasePermission;
-PLcom/android/server/pm/permission/PermissionSettings;->writePermissionTrees(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/pm/permission/PermissionSettings;->isPermissionAppOp(Ljava/lang/String;)Z
+PLcom/android/server/pm/permission/PermissionSettings;->removePermissionLocked(Ljava/lang/String;)V
 PLcom/android/server/pm/permission/PermissionsState;-><init>(Lcom/android/server/pm/permission/PermissionsState;)V
 PLcom/android/server/pm/permission/PermissionsState;->getInstallPermissionState(Ljava/lang/String;)Lcom/android/server/pm/permission/PermissionsState$PermissionState;
-PLcom/android/server/pm/permission/PermissionsState;->getPermissionFlags(Ljava/lang/String;I)I
 PLcom/android/server/pm/permission/PermissionsState;->reset()V
-PLcom/android/server/pm/permission/PermissionsState;->revokeInstallPermission(Lcom/android/server/pm/permission/BasePermission;)I
-PLcom/android/server/pm/permission/PermissionsState;->revokePermission(Lcom/android/server/pm/permission/BasePermission;I)I
-PLcom/android/server/pm/permission/PermissionsState;->setGlobalGids([I)V
-PLcom/android/server/policy/-$$Lambda$PhoneWindowManager$SMVPfeuVGHeByGLchxVc-pxEEMw;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/-$$Lambda$PhoneWindowManager$SMVPfeuVGHeByGLchxVc-pxEEMw;->run()V
-PLcom/android/server/policy/-$$Lambda$PhoneWindowManager$qkEs_boDTAbqA6wKqcLwnsgoklc;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/-$$Lambda$PhoneWindowManager$qkEs_boDTAbqA6wKqcLwnsgoklc;->run()V
-PLcom/android/server/policy/-$$Lambda$oXa0y3A-00RiQs6-KTPBgpkGtgw;-><init>(Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;)V
 PLcom/android/server/policy/-$$Lambda$oXa0y3A-00RiQs6-KTPBgpkGtgw;->run()V
-PLcom/android/server/policy/BarController$BarHandler;-><init>(Lcom/android/server/policy/BarController;)V
-PLcom/android/server/policy/BarController$BarHandler;-><init>(Lcom/android/server/policy/BarController;Lcom/android/server/policy/BarController$1;)V
-PLcom/android/server/policy/BarController$BarHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/policy/BarController;-><init>(Ljava/lang/String;IIIIII)V
-PLcom/android/server/policy/BarController;->access$200(Lcom/android/server/policy/BarController;)Lcom/android/server/policy/BarController$OnBarVisibilityChangedListener;
-PLcom/android/server/policy/BarController;->adjustSystemUiVisibilityLw(II)V
-PLcom/android/server/policy/BarController;->checkShowTransientBarLw()Z
-PLcom/android/server/policy/BarController;->getStatusBarInternal()Lcom/android/server/statusbar/StatusBarManagerInternal;
-PLcom/android/server/policy/BarController;->setOnBarVisibilityChangedListener(Lcom/android/server/policy/BarController$OnBarVisibilityChangedListener;Z)V
-PLcom/android/server/policy/BarController;->setShowTransparent(Z)V
-PLcom/android/server/policy/BarController;->setWindow(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
-PLcom/android/server/policy/BarController;->skipAnimation()Z
-PLcom/android/server/policy/BarController;->wasRecentlyTranslucent()Z
-PLcom/android/server/policy/GlobalKeyManager;-><init>(Landroid/content/Context;)V
+PLcom/android/server/policy/GlobalActions;-><init>(Landroid/content/Context;Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;)V
+PLcom/android/server/policy/GlobalActions;->onGlobalActionsAvailableChanged(Z)V
+PLcom/android/server/policy/GlobalActions;->onGlobalActionsDismissed()V
+PLcom/android/server/policy/GlobalActions;->onGlobalActionsShown()V
+PLcom/android/server/policy/GlobalActions;->showDialog(ZZ)V
 PLcom/android/server/policy/GlobalKeyManager;->handleGlobalKey(Landroid/content/Context;ILandroid/view/KeyEvent;)Z
-PLcom/android/server/policy/GlobalKeyManager;->loadGlobalKeys(Landroid/content/Context;)V
-PLcom/android/server/policy/GlobalKeyManager;->shouldHandleGlobalKey(ILandroid/view/KeyEvent;)Z
-PLcom/android/server/policy/IconUtilities;-><init>(Landroid/content/Context;)V
-PLcom/android/server/policy/ImmersiveModeConfirmation$1;-><init>(Lcom/android/server/policy/ImmersiveModeConfirmation;)V
-PLcom/android/server/policy/ImmersiveModeConfirmation$2;-><init>(Lcom/android/server/policy/ImmersiveModeConfirmation;)V
-PLcom/android/server/policy/ImmersiveModeConfirmation$H;-><init>(Lcom/android/server/policy/ImmersiveModeConfirmation;)V
-PLcom/android/server/policy/ImmersiveModeConfirmation$H;-><init>(Lcom/android/server/policy/ImmersiveModeConfirmation;Lcom/android/server/policy/ImmersiveModeConfirmation$1;)V
-PLcom/android/server/policy/ImmersiveModeConfirmation;-><init>(Landroid/content/Context;)V
-PLcom/android/server/policy/ImmersiveModeConfirmation;->getNavBarExitDuration()J
-PLcom/android/server/policy/ImmersiveModeConfirmation;->getWindowToken()Landroid/os/IBinder;
-PLcom/android/server/policy/ImmersiveModeConfirmation;->loadSetting(I)V
-PLcom/android/server/policy/ImmersiveModeConfirmation;->onPowerKeyDown(ZJZZ)Z
-PLcom/android/server/policy/ImmersiveModeConfirmation;->systemReady()V
-PLcom/android/server/policy/LogDecelerateInterpolator;-><init>(II)V
-PLcom/android/server/policy/LogDecelerateInterpolator;->computeLog(FII)F
+PLcom/android/server/policy/IconUtilities;->createIconBitmap(Landroid/graphics/drawable/Drawable;)Landroid/graphics/Bitmap;
 PLcom/android/server/policy/LogDecelerateInterpolator;->getInterpolation(F)F
-PLcom/android/server/policy/PhoneWindowManager$10;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$10;->onShowingChanged()V
-PLcom/android/server/policy/PhoneWindowManager$10;->onTrustedChanged()V
-PLcom/android/server/policy/PhoneWindowManager$13;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$14;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$15;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$15;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/policy/PhoneWindowManager$16;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$16;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/policy/PhoneWindowManager$17;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$18;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$18;->run()V
-PLcom/android/server/policy/PhoneWindowManager$1;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$10;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/policy/PhoneWindowManager$11;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 PLcom/android/server/policy/PhoneWindowManager$1;->run()V
-PLcom/android/server/policy/PhoneWindowManager$20;-><init>(Lcom/android/server/policy/PhoneWindowManager;IIILandroid/graphics/Rect;Landroid/graphics/Rect;Lcom/android/server/policy/WindowManagerPolicy$WindowState;Z)V
-PLcom/android/server/policy/PhoneWindowManager$20;->run()V
-PLcom/android/server/policy/PhoneWindowManager$2;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
 PLcom/android/server/policy/PhoneWindowManager$2;->onDrawn()V
-PLcom/android/server/policy/PhoneWindowManager$3;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$4;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$5;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$5;->onBarVisibilityChanged(Z)V
-PLcom/android/server/policy/PhoneWindowManager$6;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$7;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$8;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$8;->onDown()V
-PLcom/android/server/policy/PhoneWindowManager$8;->onFling(I)V
-PLcom/android/server/policy/PhoneWindowManager$8;->onSwipeFromBottom()V
-PLcom/android/server/policy/PhoneWindowManager$8;->onSwipeFromLeft()V
-PLcom/android/server/policy/PhoneWindowManager$8;->onSwipeFromRight()V
-PLcom/android/server/policy/PhoneWindowManager$8;->onSwipeFromTop()V
-PLcom/android/server/policy/PhoneWindowManager$8;->onUpOrCancel()V
-PLcom/android/server/policy/PhoneWindowManager$9;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$9;->onAppTransitionStartingLocked(ILandroid/os/IBinder;Landroid/os/IBinder;JJJ)I
-PLcom/android/server/policy/PhoneWindowManager$MyOrientationListener$UpdateRunnable;-><init>(Lcom/android/server/policy/PhoneWindowManager$MyOrientationListener;I)V
-PLcom/android/server/policy/PhoneWindowManager$MyOrientationListener$UpdateRunnable;->run()V
-PLcom/android/server/policy/PhoneWindowManager$MyOrientationListener;-><init>(Lcom/android/server/policy/PhoneWindowManager;Landroid/content/Context;Landroid/os/Handler;)V
-PLcom/android/server/policy/PhoneWindowManager$MyOrientationListener;->onProposedRotationChanged(I)V
-PLcom/android/server/policy/PhoneWindowManager$MyWakeGestureListener;-><init>(Lcom/android/server/policy/PhoneWindowManager;Landroid/content/Context;Landroid/os/Handler;)V
-PLcom/android/server/policy/PhoneWindowManager$PolicyHandler;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$PolicyHandler;-><init>(Lcom/android/server/policy/PhoneWindowManager;Lcom/android/server/policy/PhoneWindowManager$1;)V
+PLcom/android/server/policy/PhoneWindowManager$7;->onAppTransitionCancelledLocked(I)V
+PLcom/android/server/policy/PhoneWindowManager$DisplayHomeButtonHandler;-><init>(Lcom/android/server/policy/PhoneWindowManager;I)V
+PLcom/android/server/policy/PhoneWindowManager$DisplayHomeButtonHandler;->handleHomeButton(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/KeyEvent;)I
 PLcom/android/server/policy/PhoneWindowManager$PolicyHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/policy/PhoneWindowManager$ScreenLockTimeout;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$ScreenshotRunnable;-><init>(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager$ScreenshotRunnable;-><init>(Lcom/android/server/policy/PhoneWindowManager;Lcom/android/server/policy/PhoneWindowManager$1;)V
-PLcom/android/server/policy/PhoneWindowManager$SettingsObserver;-><init>(Lcom/android/server/policy/PhoneWindowManager;Landroid/os/Handler;)V
-PLcom/android/server/policy/PhoneWindowManager$SettingsObserver;->observe()V
-PLcom/android/server/policy/PhoneWindowManager$SettingsObserver;->onChange(Z)V
-PLcom/android/server/policy/PhoneWindowManager;-><init>()V
-PLcom/android/server/policy/PhoneWindowManager;->access$1300(Lcom/android/server/policy/PhoneWindowManager;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
-PLcom/android/server/policy/PhoneWindowManager;->access$2000(Lcom/android/server/policy/PhoneWindowManager;I)V
-PLcom/android/server/policy/PhoneWindowManager;->access$300(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager;->access$3400(Lcom/android/server/policy/PhoneWindowManager;IJ)I
-PLcom/android/server/policy/PhoneWindowManager;->access$3600(Lcom/android/server/policy/PhoneWindowManager;)I
-PLcom/android/server/policy/PhoneWindowManager;->access$400(Lcom/android/server/policy/PhoneWindowManager;)V
+PLcom/android/server/policy/PhoneWindowManager$ScreenLockTimeout;->run()V
+PLcom/android/server/policy/PhoneWindowManager$ScreenshotRunnable;->run()V
+PLcom/android/server/policy/PhoneWindowManager$ScreenshotRunnable;->setScreenshotType(I)V
 PLcom/android/server/policy/PhoneWindowManager;->addSplashScreen(Landroid/os/IBinder;Ljava/lang/String;ILandroid/content/res/CompatibilityInfo;Ljava/lang/CharSequence;IIIILandroid/content/res/Configuration;I)Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;
 PLcom/android/server/policy/PhoneWindowManager;->addSplashscreenContent(Lcom/android/internal/policy/PhoneWindow;Landroid/content/Context;)V
-PLcom/android/server/policy/PhoneWindowManager;->adjustConfigurationLw(Landroid/content/res/Configuration;II)V
-PLcom/android/server/policy/PhoneWindowManager;->adjustSystemUiVisibilityLw(I)I
-PLcom/android/server/policy/PhoneWindowManager;->adjustWindowParamsLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;Z)V
-PLcom/android/server/policy/PhoneWindowManager;->allowAppAnimationsLw()Z
 PLcom/android/server/policy/PhoneWindowManager;->applyLidSwitchState()V
 PLcom/android/server/policy/PhoneWindowManager;->awakenDreams()V
-PLcom/android/server/policy/PhoneWindowManager;->beginLayoutLw(Lcom/android/server/wm/DisplayFrames;I)V
-PLcom/android/server/policy/PhoneWindowManager;->beginPostLayoutPolicyLw(II)V
-PLcom/android/server/policy/PhoneWindowManager;->bindKeyguard()V
-PLcom/android/server/policy/PhoneWindowManager;->calculateRelevantTaskInsets(Landroid/graphics/Rect;Landroid/graphics/Rect;II)V
-PLcom/android/server/policy/PhoneWindowManager;->canDismissBootAnimation()Z
-PLcom/android/server/policy/PhoneWindowManager;->canReceiveInput(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
-PLcom/android/server/policy/PhoneWindowManager;->cancelPendingAccessibilityShortcutAction()V
-PLcom/android/server/policy/PhoneWindowManager;->cancelPendingBackKeyAction()V
-PLcom/android/server/policy/PhoneWindowManager;->cancelPendingPowerKeyAction()V
-PLcom/android/server/policy/PhoneWindowManager;->cancelPendingScreenshotChordAction()V
-PLcom/android/server/policy/PhoneWindowManager;->cancelPreloadRecentApps()V
-PLcom/android/server/policy/PhoneWindowManager;->checkAddPermission(Landroid/view/WindowManager$LayoutParams;[I)I
-PLcom/android/server/policy/PhoneWindowManager;->checkShowToOwnerOnly(Landroid/view/WindowManager$LayoutParams;)Z
-PLcom/android/server/policy/PhoneWindowManager;->chooseNavigationColorWindowLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;I)Lcom/android/server/policy/WindowManagerPolicy$WindowState;
-PLcom/android/server/policy/PhoneWindowManager;->configureNavBarOpacity(IZZZ)I
 PLcom/android/server/policy/PhoneWindowManager;->createHiddenByKeyguardExit(ZZ)Landroid/view/animation/Animation;
 PLcom/android/server/policy/PhoneWindowManager;->createHomeDockIntent()Landroid/content/Intent;
+PLcom/android/server/policy/PhoneWindowManager;->createKeyguardWallpaperExit(Z)Landroid/view/animation/Animation;
+PLcom/android/server/policy/PhoneWindowManager;->dismissKeyguardLw(Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
 PLcom/android/server/policy/PhoneWindowManager;->dispatchUnhandledKey(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/KeyEvent;I)Landroid/view/KeyEvent;
 PLcom/android/server/policy/PhoneWindowManager;->enableKeyguard(Z)V
 PLcom/android/server/policy/PhoneWindowManager;->enableScreenAfterBoot()V
 PLcom/android/server/policy/PhoneWindowManager;->finishKeyguardDrawn()V
-PLcom/android/server/policy/PhoneWindowManager;->finishPostLayoutPolicyLw()I
-PLcom/android/server/policy/PhoneWindowManager;->finishPowerKeyPress()V
 PLcom/android/server/policy/PhoneWindowManager;->finishScreenTurningOn()V
-PLcom/android/server/policy/PhoneWindowManager;->finishWindowsDrawn()V
 PLcom/android/server/policy/PhoneWindowManager;->finishedGoingToSleep(I)V
-PLcom/android/server/policy/PhoneWindowManager;->finishedWakingUp()V
-PLcom/android/server/policy/PhoneWindowManager;->focusChangedLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)I
-PLcom/android/server/policy/PhoneWindowManager;->getConfigDisplayHeight(IIIIILandroid/view/DisplayCutout;)I
-PLcom/android/server/policy/PhoneWindowManager;->getConfigDisplayWidth(IIIIILandroid/view/DisplayCutout;)I
+PLcom/android/server/policy/PhoneWindowManager;->finishedWakingUp(I)V
+PLcom/android/server/policy/PhoneWindowManager;->getAccessibilityShortcutTimeout()J
+PLcom/android/server/policy/PhoneWindowManager;->getAudioManagerInternal()Landroid/media/AudioManagerInternal;
 PLcom/android/server/policy/PhoneWindowManager;->getDisplayContext(Landroid/content/Context;I)Landroid/content/Context;
-PLcom/android/server/policy/PhoneWindowManager;->getDreamManager()Landroid/service/dreams/IDreamManager;
 PLcom/android/server/policy/PhoneWindowManager;->getHdmiControl()Lcom/android/server/policy/PhoneWindowManager$HdmiControl;
-PLcom/android/server/policy/PhoneWindowManager;->getKeyguardDrawnTimeout()J
-PLcom/android/server/policy/PhoneWindowManager;->getLayoutHintLw(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;Lcom/android/server/wm/DisplayFrames;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;)Z
-PLcom/android/server/policy/PhoneWindowManager;->getLongIntArray(Landroid/content/res/Resources;I)[J
-PLcom/android/server/policy/PhoneWindowManager;->getMaxMultiPressPowerCount()I
-PLcom/android/server/policy/PhoneWindowManager;->getNavBarPosition()I
-PLcom/android/server/policy/PhoneWindowManager;->getNavigationBarWidth(II)I
-PLcom/android/server/policy/PhoneWindowManager;->getNonDecorDisplayHeight(IIIIILandroid/view/DisplayCutout;)I
-PLcom/android/server/policy/PhoneWindowManager;->getNonDecorDisplayWidth(IIIIILandroid/view/DisplayCutout;)I
-PLcom/android/server/policy/PhoneWindowManager;->getNonDecorInsetsLw(IIILandroid/view/DisplayCutout;Landroid/graphics/Rect;)V
-PLcom/android/server/policy/PhoneWindowManager;->getResolvedLongPressOnPowerBehavior()I
-PLcom/android/server/policy/PhoneWindowManager;->getStableInsetsLw(IIILandroid/view/DisplayCutout;Landroid/graphics/Rect;)V
-PLcom/android/server/policy/PhoneWindowManager;->getStatusBarManagerInternal()Lcom/android/server/statusbar/StatusBarManagerInternal;
+PLcom/android/server/policy/PhoneWindowManager;->getScreenshotChordLongPressDelay()J
 PLcom/android/server/policy/PhoneWindowManager;->getStatusBarService()Lcom/android/internal/statusbar/IStatusBarService;
-PLcom/android/server/policy/PhoneWindowManager;->getSystemDecorLayerLw()I
-PLcom/android/server/policy/PhoneWindowManager;->getSystemUiContext()Landroid/content/Context;
 PLcom/android/server/policy/PhoneWindowManager;->getTelecommService()Landroid/telecom/TelecomManager;
 PLcom/android/server/policy/PhoneWindowManager;->getVibrationEffect(I)Landroid/os/VibrationEffect;
-PLcom/android/server/policy/PhoneWindowManager;->goToSleep(JII)V
-PLcom/android/server/policy/PhoneWindowManager;->handleShortPressOnHome()V
-PLcom/android/server/policy/PhoneWindowManager;->handleStartTransitionForKeyguardLw(IJ)I
-PLcom/android/server/policy/PhoneWindowManager;->hasLongPressOnBackBehavior()Z
-PLcom/android/server/policy/PhoneWindowManager;->hasLongPressOnPowerBehavior()Z
-PLcom/android/server/policy/PhoneWindowManager;->hasNavigationBar()Z
-PLcom/android/server/policy/PhoneWindowManager;->hasVeryLongPressOnPowerBehavior()Z
-PLcom/android/server/policy/PhoneWindowManager;->init(Landroid/content/Context;Landroid/view/IWindowManager;Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;)V
-PLcom/android/server/policy/PhoneWindowManager;->initializeHdmiState()V
-PLcom/android/server/policy/PhoneWindowManager;->initializeHdmiStateInternal()V
+PLcom/android/server/policy/PhoneWindowManager;->handleRingerChordGesture()V
+PLcom/android/server/policy/PhoneWindowManager;->inKeyguardRestrictedKeyInputMode()Z
+PLcom/android/server/policy/PhoneWindowManager;->interceptAccessibilityShortcutChord()V
 PLcom/android/server/policy/PhoneWindowManager;->interceptBackKeyDown()V
 PLcom/android/server/policy/PhoneWindowManager;->interceptBackKeyUp(Landroid/view/KeyEvent;)Z
 PLcom/android/server/policy/PhoneWindowManager;->interceptKeyBeforeDispatching(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/KeyEvent;I)J
+PLcom/android/server/policy/PhoneWindowManager;->interceptKeyBeforeDispatchingInner(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/KeyEvent;I)J
 PLcom/android/server/policy/PhoneWindowManager;->interceptKeyBeforeQueueing(Landroid/view/KeyEvent;I)I
+PLcom/android/server/policy/PhoneWindowManager;->interceptMotionBeforeQueueingNonInteractive(IJI)I
+PLcom/android/server/policy/PhoneWindowManager;->interceptMotionBeforeQueueingNonInteractive(JI)I
 PLcom/android/server/policy/PhoneWindowManager;->interceptPowerKeyDown(Landroid/view/KeyEvent;Z)V
 PLcom/android/server/policy/PhoneWindowManager;->interceptPowerKeyUp(Landroid/view/KeyEvent;ZZ)V
 PLcom/android/server/policy/PhoneWindowManager;->interceptRingerToggleChord()V
 PLcom/android/server/policy/PhoneWindowManager;->interceptScreenshotChord()V
 PLcom/android/server/policy/PhoneWindowManager;->interceptSystemNavigationKey(Landroid/view/KeyEvent;)V
-PLcom/android/server/policy/PhoneWindowManager;->isAnyPortrait(I)Z
-PLcom/android/server/policy/PhoneWindowManager;->isDefaultOrientationForced()Z
+PLcom/android/server/policy/PhoneWindowManager;->isDeviceProvisioned()Z
 PLcom/android/server/policy/PhoneWindowManager;->isKeyguardDrawnLw()Z
 PLcom/android/server/policy/PhoneWindowManager;->isKeyguardHostWindow(Landroid/view/WindowManager$LayoutParams;)Z
-PLcom/android/server/policy/PhoneWindowManager;->isKeyguardOccluded()Z
 PLcom/android/server/policy/PhoneWindowManager;->isKeyguardSecure(I)Z
-PLcom/android/server/policy/PhoneWindowManager;->isNavBarEmpty(I)Z
-PLcom/android/server/policy/PhoneWindowManager;->isNavBarForcedShownLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
-PLcom/android/server/policy/PhoneWindowManager;->isRotationChoicePossible(I)Z
-PLcom/android/server/policy/PhoneWindowManager;->isScreenOn()Z
-PLcom/android/server/policy/PhoneWindowManager;->isShowingDreamLw()Z
+PLcom/android/server/policy/PhoneWindowManager;->isKeyguardTrustedLw()Z
 PLcom/android/server/policy/PhoneWindowManager;->isTheaterModeEnabled()Z
 PLcom/android/server/policy/PhoneWindowManager;->isUserSetupComplete()Z
 PLcom/android/server/policy/PhoneWindowManager;->isValidGlobalKey(I)Z
 PLcom/android/server/policy/PhoneWindowManager;->keepScreenOnStartedLw()V
 PLcom/android/server/policy/PhoneWindowManager;->keepScreenOnStoppedLw()V
-PLcom/android/server/policy/PhoneWindowManager;->lambda$new$0(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager;->lambda$new$1(Lcom/android/server/policy/PhoneWindowManager;)V
-PLcom/android/server/policy/PhoneWindowManager;->launchHomeFromHotKey()V
-PLcom/android/server/policy/PhoneWindowManager;->launchHomeFromHotKey(ZZ)V
-PLcom/android/server/policy/PhoneWindowManager;->layoutNavigationBar(Lcom/android/server/wm/DisplayFrames;ILandroid/graphics/Rect;ZZZZ)Z
-PLcom/android/server/policy/PhoneWindowManager;->layoutScreenDecorWindows(Lcom/android/server/wm/DisplayFrames;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-PLcom/android/server/policy/PhoneWindowManager;->layoutStatusBar(Lcom/android/server/wm/DisplayFrames;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;IZ)Z
-PLcom/android/server/policy/PhoneWindowManager;->layoutWallpaper(Lcom/android/server/wm/DisplayFrames;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-PLcom/android/server/policy/PhoneWindowManager;->navigationBarPosition(III)I
-PLcom/android/server/policy/PhoneWindowManager;->needSensorRunningLp()Z
-PLcom/android/server/policy/PhoneWindowManager;->offsetInputMethodWindowLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/wm/DisplayFrames;)V
+PLcom/android/server/policy/PhoneWindowManager;->launchHomeFromHotKey(I)V
+PLcom/android/server/policy/PhoneWindowManager;->launchHomeFromHotKey(IZZ)V
 PLcom/android/server/policy/PhoneWindowManager;->okToAnimate()Z
-PLcom/android/server/policy/PhoneWindowManager;->onConfigurationChanged()V
 PLcom/android/server/policy/PhoneWindowManager;->onKeyguardOccludedChangedLw(Z)V
-PLcom/android/server/policy/PhoneWindowManager;->onOverlayChangedLw()V
-PLcom/android/server/policy/PhoneWindowManager;->onSystemUiStarted()V
-PLcom/android/server/policy/PhoneWindowManager;->performHapticFeedback(ILjava/lang/String;IZ)Z
+PLcom/android/server/policy/PhoneWindowManager;->performHapticFeedback(ILjava/lang/String;IZLjava/lang/String;)Z
+PLcom/android/server/policy/PhoneWindowManager;->performHapticFeedbackLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;IZLjava/lang/String;)Z
+PLcom/android/server/policy/PhoneWindowManager;->powerLongPress()V
 PLcom/android/server/policy/PhoneWindowManager;->powerPress(JZI)V
-PLcom/android/server/policy/PhoneWindowManager;->prepareAddWindowLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Landroid/view/WindowManager$LayoutParams;)I
-PLcom/android/server/policy/PhoneWindowManager;->readCameraLensCoverState()V
-PLcom/android/server/policy/PhoneWindowManager;->readConfigurationDependentBehaviors()V
-PLcom/android/server/policy/PhoneWindowManager;->readLidState()V
-PLcom/android/server/policy/PhoneWindowManager;->readRotation(I)I
-PLcom/android/server/policy/PhoneWindowManager;->registerShortcutKey(JLcom/android/internal/policy/IShortcutService;)V
-PLcom/android/server/policy/PhoneWindowManager;->removeWindowLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
-PLcom/android/server/policy/PhoneWindowManager;->reportScreenStateToVrManager(Z)V
-PLcom/android/server/policy/PhoneWindowManager;->requestTransientBars(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
-PLcom/android/server/policy/PhoneWindowManager;->rotationForOrientationLw(IIZ)I
-PLcom/android/server/policy/PhoneWindowManager;->rotationHasCompatibleMetricsLw(II)Z
 PLcom/android/server/policy/PhoneWindowManager;->screenTurnedOff()V
-PLcom/android/server/policy/PhoneWindowManager;->screenTurnedOn()V
 PLcom/android/server/policy/PhoneWindowManager;->screenTurningOff(Lcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)V
-PLcom/android/server/policy/PhoneWindowManager;->screenTurningOn(Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;)V
-PLcom/android/server/policy/PhoneWindowManager;->selectAnimationLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;I)I
-PLcom/android/server/policy/PhoneWindowManager;->selectRotationAnimationLw([I)V
 PLcom/android/server/policy/PhoneWindowManager;->sendCloseSystemWindows(Ljava/lang/String;)V
 PLcom/android/server/policy/PhoneWindowManager;->sendSystemKeyToStatusBar(I)V
-PLcom/android/server/policy/PhoneWindowManager;->sendSystemKeyToStatusBarAsync(I)V
-PLcom/android/server/policy/PhoneWindowManager;->setAttachedWindowFrames(Lcom/android/server/policy/WindowManagerPolicy$WindowState;IILcom/android/server/policy/WindowManagerPolicy$WindowState;ZLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Lcom/android/server/wm/DisplayFrames;)V
-PLcom/android/server/policy/PhoneWindowManager;->setCurrentOrientationLw(I)V
 PLcom/android/server/policy/PhoneWindowManager;->setDismissImeOnBackKeyPressed(Z)V
-PLcom/android/server/policy/PhoneWindowManager;->setHdmiPlugged(Z)V
-PLcom/android/server/policy/PhoneWindowManager;->setInitialDisplaySize(Landroid/view/Display;III)V
-PLcom/android/server/policy/PhoneWindowManager;->setKeyguardOccludedLw(ZZ)Z
-PLcom/android/server/policy/PhoneWindowManager;->setLastInputMethodWindowLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
 PLcom/android/server/policy/PhoneWindowManager;->setNavBarVirtualKeyHapticFeedbackEnabledLw(Z)V
-PLcom/android/server/policy/PhoneWindowManager;->setRotationLw(I)V
-PLcom/android/server/policy/PhoneWindowManager;->setSafeMode(Z)V
+PLcom/android/server/policy/PhoneWindowManager;->setPipVisibilityLw(Z)V
+PLcom/android/server/policy/PhoneWindowManager;->shouldDispatchInputWhenNonInteractive(II)Z
 PLcom/android/server/policy/PhoneWindowManager;->shouldDispatchInputWhenNonInteractive(Landroid/view/KeyEvent;)Z
-PLcom/android/server/policy/PhoneWindowManager;->shouldEnableWakeGestureLp()Z
-PLcom/android/server/policy/PhoneWindowManager;->shouldRotateSeamlessly(II)Z
-PLcom/android/server/policy/PhoneWindowManager;->startActivityAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
-PLcom/android/server/policy/PhoneWindowManager;->startDockOrHome(ZZ)V
+PLcom/android/server/policy/PhoneWindowManager;->showGlobalActionsInternal()V
+PLcom/android/server/policy/PhoneWindowManager;->startActivityAsUser(Landroid/content/Intent;Landroid/os/Bundle;Landroid/os/UserHandle;)V
+PLcom/android/server/policy/PhoneWindowManager;->startDockOrHome(IZZ)V
 PLcom/android/server/policy/PhoneWindowManager;->startKeyguardExitAnimation(JJ)V
 PLcom/android/server/policy/PhoneWindowManager;->startedGoingToSleep(I)V
-PLcom/android/server/policy/PhoneWindowManager;->startedWakingUp()V
-PLcom/android/server/policy/PhoneWindowManager;->systemBooted()V
-PLcom/android/server/policy/PhoneWindowManager;->systemReady()V
-PLcom/android/server/policy/PhoneWindowManager;->topAppHidesStatusBar()Z
-PLcom/android/server/policy/PhoneWindowManager;->updateLightNavigationBarLw(ILcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)I
-PLcom/android/server/policy/PhoneWindowManager;->updateLockScreenTimeout()V
-PLcom/android/server/policy/PhoneWindowManager;->updateOrientationListenerLp()V
-PLcom/android/server/policy/PhoneWindowManager;->updateRotation(Z)V
-PLcom/android/server/policy/PhoneWindowManager;->updateRotation(ZZ)V
-PLcom/android/server/policy/PhoneWindowManager;->updateScreenOffSleepToken(Z)V
-PLcom/android/server/policy/PhoneWindowManager;->updateSettings()V
-PLcom/android/server/policy/PhoneWindowManager;->updateSystemUiVisibilityLw()I
-PLcom/android/server/policy/PhoneWindowManager;->updateUiMode()V
-PLcom/android/server/policy/PhoneWindowManager;->updateWakeGestureListenerLp()V
-PLcom/android/server/policy/PhoneWindowManager;->updateWindowSleepToken()V
-PLcom/android/server/policy/PhoneWindowManager;->validateRotationAnimationLw(IIZ)Z
-PLcom/android/server/policy/PhoneWindowManager;->wakeUp(JZLjava/lang/String;)Z
-PLcom/android/server/policy/PhoneWindowManager;->wakeUpFromPowerKey(J)V
-PLcom/android/server/policy/PolicyControl;->reloadFromSetting(Landroid/content/Context;)V
-PLcom/android/server/policy/PolicyControl;->setFilters(Ljava/lang/String;)V
-PLcom/android/server/policy/ShortcutManager$ShortcutInfo;-><init>(Ljava/lang/String;Landroid/content/Intent;)V
-PLcom/android/server/policy/ShortcutManager;-><init>(Landroid/content/Context;)V
-PLcom/android/server/policy/ShortcutManager;->loadShortcuts()V
+PLcom/android/server/policy/PhoneWindowManager;->userActivity()V
 PLcom/android/server/policy/SplashScreenSurface;-><init>(Landroid/view/View;Landroid/os/IBinder;)V
 PLcom/android/server/policy/SplashScreenSurface;->remove()V
-PLcom/android/server/policy/StatusBarController$1$1;-><init>(Lcom/android/server/policy/StatusBarController$1;)V
-PLcom/android/server/policy/StatusBarController$1$1;->run()V
-PLcom/android/server/policy/StatusBarController$1$2;-><init>(Lcom/android/server/policy/StatusBarController$1;JJ)V
-PLcom/android/server/policy/StatusBarController$1$2;->run()V
-PLcom/android/server/policy/StatusBarController$1$4;-><init>(Lcom/android/server/policy/StatusBarController$1;)V
-PLcom/android/server/policy/StatusBarController$1$4;->run()V
-PLcom/android/server/policy/StatusBarController$1;-><init>(Lcom/android/server/policy/StatusBarController;)V
-PLcom/android/server/policy/StatusBarController$1;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
-PLcom/android/server/policy/StatusBarController$1;->onAppTransitionPendingLocked()V
-PLcom/android/server/policy/StatusBarController$1;->onAppTransitionStartingLocked(ILandroid/os/IBinder;Landroid/os/IBinder;JJJ)I
-PLcom/android/server/policy/StatusBarController;-><init>()V
-PLcom/android/server/policy/StatusBarController;->getAppTransitionListener()Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;
-PLcom/android/server/policy/StatusBarController;->setTopAppHidesStatusBar(Z)V
-PLcom/android/server/policy/StatusBarController;->skipAnimation()Z
-PLcom/android/server/policy/SystemGesturesPointerEventListener$FlingGestureDetector;-><init>(Lcom/android/server/policy/SystemGesturesPointerEventListener;)V
-PLcom/android/server/policy/SystemGesturesPointerEventListener$FlingGestureDetector;-><init>(Lcom/android/server/policy/SystemGesturesPointerEventListener;Lcom/android/server/policy/SystemGesturesPointerEventListener$1;)V
-PLcom/android/server/policy/SystemGesturesPointerEventListener$FlingGestureDetector;->onSingleTapUp(Landroid/view/MotionEvent;)Z
-PLcom/android/server/policy/SystemGesturesPointerEventListener;-><init>(Landroid/content/Context;Lcom/android/server/policy/SystemGesturesPointerEventListener$Callbacks;)V
-PLcom/android/server/policy/SystemGesturesPointerEventListener;->access$100(Lcom/android/server/policy/SystemGesturesPointerEventListener;)Landroid/widget/OverScroller;
-PLcom/android/server/policy/SystemGesturesPointerEventListener;->access$200(Lcom/android/server/policy/SystemGesturesPointerEventListener;)J
-PLcom/android/server/policy/SystemGesturesPointerEventListener;->access$202(Lcom/android/server/policy/SystemGesturesPointerEventListener;J)J
-PLcom/android/server/policy/SystemGesturesPointerEventListener;->access$300(Lcom/android/server/policy/SystemGesturesPointerEventListener;)Lcom/android/server/policy/SystemGesturesPointerEventListener$Callbacks;
-PLcom/android/server/policy/SystemGesturesPointerEventListener;->captureDown(Landroid/view/MotionEvent;I)V
-PLcom/android/server/policy/SystemGesturesPointerEventListener;->checkNull(Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
-PLcom/android/server/policy/SystemGesturesPointerEventListener;->systemReady()V
-PLcom/android/server/policy/WakeGestureListener$1;-><init>(Lcom/android/server/policy/WakeGestureListener;)V
-PLcom/android/server/policy/WakeGestureListener$2;-><init>(Lcom/android/server/policy/WakeGestureListener;)V
-PLcom/android/server/policy/WakeGestureListener;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-PLcom/android/server/policy/WakeGestureListener;->cancelWakeUpTrigger()V
-PLcom/android/server/policy/WakeGestureListener;->isSupported()Z
 PLcom/android/server/policy/WindowManagerPolicy;->getSubWindowLayerFromTypeLw(I)I
-PLcom/android/server/policy/WindowOrientationListener$OrientationJudge;-><init>(Lcom/android/server/policy/WindowOrientationListener;)V
-PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge$1;-><init>(Lcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;)V
 PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge$1;->run()V
-PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;-><init>(Lcom/android/server/policy/WindowOrientationListener;)V
-PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->access$402(Lcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;Z)Z
-PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->evaluateRotationChangeLocked()I
 PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->getProposedRotationLocked()I
-PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->isDesiredRotationAcceptableLocked(J)Z
 PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
 PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->onSensorChanged(Landroid/hardware/SensorEvent;)V
 PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->onTouchEndLocked(J)V
 PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->onTouchStartLocked()V
 PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->resetLocked(Z)V
 PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->scheduleRotationEvaluationIfNecessaryLocked(J)V
-PLcom/android/server/policy/WindowOrientationListener$OrientationSensorJudge;->unscheduleRotationEvaluationLocked()V
-PLcom/android/server/policy/WindowOrientationListener;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
-PLcom/android/server/policy/WindowOrientationListener;-><init>(Landroid/content/Context;Landroid/os/Handler;I)V
-PLcom/android/server/policy/WindowOrientationListener;->access$000(Lcom/android/server/policy/WindowOrientationListener;)Ljava/lang/Object;
-PLcom/android/server/policy/WindowOrientationListener;->access$100()Z
-PLcom/android/server/policy/WindowOrientationListener;->access$300(Lcom/android/server/policy/WindowOrientationListener;)Landroid/os/Handler;
-PLcom/android/server/policy/WindowOrientationListener;->canDetectOrientation()Z
 PLcom/android/server/policy/WindowOrientationListener;->disable()V
 PLcom/android/server/policy/WindowOrientationListener;->enable(Z)V
+PLcom/android/server/policy/WindowOrientationListener;->getHandler()Landroid/os/Handler;
 PLcom/android/server/policy/WindowOrientationListener;->getProposedRotation()I
+PLcom/android/server/policy/WindowOrientationListener;->onTouchEnd()V
 PLcom/android/server/policy/WindowOrientationListener;->onTouchStart()V
-PLcom/android/server/policy/WindowOrientationListener;->setCurrentRotation(I)V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$1;-><init>(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardShowDelegate;-><init>(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;)V
 PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardShowDelegate;->onDrawn()V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardState;-><init>()V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardState;->reset()V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;-><init>(Landroid/content/Context;Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;)V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->access$000(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)Landroid/content/Context;
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->access$100(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->access$200(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$KeyguardState;
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->access$300(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;)Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->access$302(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate;Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;)Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->bindService(Landroid/content/Context;)V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->hasKeyguard()Z
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->hasLockscreenWallpaper()Z
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->doKeyguardTimeout(Landroid/os/Bundle;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isInputRestricted()Z
 PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isSecure(I)Z
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onBootCompleted()V
+PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isTrusted()Z
 PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onDreamingStarted()V
 PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onDreamingStopped()V
 PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onFinishedGoingToSleep(IZ)V
 PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onFinishedWakingUp()V
 PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onScreenTurnedOff()V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onScreenTurnedOn()V
 PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onScreenTurningOff()V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onScreenTurningOn(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;)V
 PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onStartedGoingToSleep(I)V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onStartedWakingUp()V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onSystemReady()V
 PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->setKeyguardEnabled(Z)V
-PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->setOccluded(ZZ)V
 PLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->startKeyguardExitAnimation(JJ)V
-PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;-><init>(Landroid/content/Context;Lcom/android/internal/policy/IKeyguardService;Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->doKeyguardTimeout(Landroid/os/Bundle;)V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->hasLockscreenWallpaper()Z
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isInputRestricted()Z
 PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isSecure(I)Z
-PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onBootCompleted()V
+PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isTrusted()Z
 PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onDreamingStarted()V
 PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onDreamingStopped()V
 PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onFinishedGoingToSleep(IZ)V
 PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onFinishedWakingUp()V
 PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onScreenTurnedOff()V
-PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onScreenTurnedOn()V
 PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onScreenTurningOff()V
-PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onScreenTurningOn(Lcom/android/internal/policy/IKeyguardDrawnCallback;)V
 PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onStartedGoingToSleep(I)V
-PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onStartedWakingUp()V
-PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onSystemReady()V
 PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->setKeyguardEnabled(Z)V
 PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->setOccluded(ZZ)V
 PLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->startKeyguardExitAnimation(JJ)V
-PLcom/android/server/policy/keyguard/KeyguardStateMonitor;-><init>(Landroid/content/Context;Lcom/android/internal/policy/IKeyguardService;Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;)V
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->hasLockscreenWallpaper()Z
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isInputRestricted()Z
 PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isSecure(I)Z
-PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onHasLockscreenWallpaperChanged(Z)V
-PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onInputRestrictedStateChanged(Z)V
-PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onShowingStateChanged(Z)V
-PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onSimSecureStateChanged(Z)V
-PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onTrustedChanged(Z)V
-PLcom/android/server/power/-$$Lambda$BatterySaverPolicy$9q6hxnTofoZqK_ebwl_HDCH8A4A;-><init>(Lcom/android/server/power/BatterySaverPolicy;[Lcom/android/server/power/BatterySaverPolicy$BatterySaverPolicyListener;)V
-PLcom/android/server/power/-$$Lambda$BatterySaverPolicy$9q6hxnTofoZqK_ebwl_HDCH8A4A;->run()V
-PLcom/android/server/power/-$$Lambda$BatterySaverPolicy$DPeh8xGdH0ye3BQJ8Ozaqeu6Y30;-><init>(Lcom/android/server/power/BatterySaverPolicy;)V
-PLcom/android/server/power/BatterySaverPolicy;->getDeviceSpecificConfigResId()I
-PLcom/android/server/power/BatterySaverPolicy;->getGlobalSetting(Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/power/BatterySaverPolicy;->getGpsMode()I
-PLcom/android/server/power/BatterySaverPolicy;->lambda$refreshSettings$1(Lcom/android/server/power/BatterySaverPolicy;[Lcom/android/server/power/BatterySaverPolicy$BatterySaverPolicyListener;)V
-PLcom/android/server/power/BatterySaverPolicy;->onChange(ZLandroid/net/Uri;)V
-PLcom/android/server/power/BatterySaverPolicy;->refreshSettings()V
-PLcom/android/server/power/BatterySaverPolicy;->systemReady()V
-PLcom/android/server/power/BatterySaverPolicy;->updateConstantsLocked(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/power/Notifier$1;-><init>(Lcom/android/server/power/Notifier;I)V
+PLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isTrusted()Z
+PLcom/android/server/policy/role/LegacyRoleResolutionPolicy;->getRoleHolders(Ljava/lang/String;I)Ljava/util/List;
+PLcom/android/server/power/-$$Lambda$ThermalManagerService$9JFHCKCwrnUIYoXDsqNamhlY5VU;->onValues(Landroid/os/Temperature;)V
+PLcom/android/server/power/AttentionDetector;->onUserActivity(JI)I
+PLcom/android/server/power/AttentionDetector;->onWakefulnessChangeStarted(I)V
 PLcom/android/server/power/Notifier$1;->run()V
-PLcom/android/server/power/Notifier$2;-><init>(Lcom/android/server/power/Notifier;)V
 PLcom/android/server/power/Notifier$2;->run()V
-PLcom/android/server/power/Notifier$3;-><init>(Lcom/android/server/power/Notifier;I)V
 PLcom/android/server/power/Notifier$3;->run()V
-PLcom/android/server/power/Notifier$4;-><init>(Lcom/android/server/power/Notifier;)V
 PLcom/android/server/power/Notifier$4;->run()V
-PLcom/android/server/power/Notifier$5;-><init>(Lcom/android/server/power/Notifier;I)V
 PLcom/android/server/power/Notifier$5;->run()V
-PLcom/android/server/power/Notifier$6;-><init>(Lcom/android/server/power/Notifier;)V
-PLcom/android/server/power/Notifier$7;-><init>(Lcom/android/server/power/Notifier;)V
 PLcom/android/server/power/Notifier$7;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/power/Notifier$8;-><init>(Lcom/android/server/power/Notifier;)V
 PLcom/android/server/power/Notifier$8;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/power/Notifier$NotifierHandler;-><init>(Lcom/android/server/power/Notifier;Landroid/os/Looper;)V
-PLcom/android/server/power/Notifier;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/internal/app/IBatteryStats;Lcom/android/server/power/SuspendBlocker;Lcom/android/server/policy/WindowManagerPolicy;)V
-PLcom/android/server/power/Notifier;->access$000(Lcom/android/server/power/Notifier;)Landroid/app/ActivityManagerInternal;
-PLcom/android/server/power/Notifier;->access$100(Lcom/android/server/power/Notifier;)Lcom/android/server/policy/WindowManagerPolicy;
-PLcom/android/server/power/Notifier;->access$300(Lcom/android/server/power/Notifier;)J
-PLcom/android/server/power/Notifier;->access$400(Lcom/android/server/power/Notifier;)V
-PLcom/android/server/power/Notifier;->access$900(Lcom/android/server/power/Notifier;)V
-PLcom/android/server/power/Notifier;->finishPendingBroadcastLocked()V
+PLcom/android/server/power/Notifier$NotifierHandler;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/power/Notifier;->handleEarlyInteractiveChange()V
 PLcom/android/server/power/Notifier;->handleLateInteractiveChange()V
-PLcom/android/server/power/Notifier;->isChargingFeedbackEnabled()Z
+PLcom/android/server/power/Notifier;->isChargingFeedbackEnabled(I)Z
 PLcom/android/server/power/Notifier;->onLongPartialWakeLockFinish(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;)V
 PLcom/android/server/power/Notifier;->onLongPartialWakeLockStart(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;)V
-PLcom/android/server/power/Notifier;->onWakeLockChanging(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
-PLcom/android/server/power/Notifier;->onWakeUp(Ljava/lang/String;ILjava/lang/String;I)V
+PLcom/android/server/power/Notifier;->onUserActivity(II)V
+PLcom/android/server/power/Notifier;->onWakeUp(ILjava/lang/String;ILjava/lang/String;I)V
 PLcom/android/server/power/Notifier;->onWakefulnessChangeFinished()V
-PLcom/android/server/power/Notifier;->onWakefulnessChangeStarted(II)V
-PLcom/android/server/power/Notifier;->onWiredChargingStarted()V
-PLcom/android/server/power/Notifier;->playChargingStartedSound()V
+PLcom/android/server/power/Notifier;->onWakefulnessChangeStarted(IIJ)V
+PLcom/android/server/power/Notifier;->onWiredChargingStarted(I)V
+PLcom/android/server/power/Notifier;->onWirelessChargingStarted(II)V
+PLcom/android/server/power/Notifier;->playChargingStartedFeedback(I)V
+PLcom/android/server/power/Notifier;->playChargingStartedVibration(I)V
 PLcom/android/server/power/Notifier;->sendGoToSleepBroadcast()V
 PLcom/android/server/power/Notifier;->sendNextBroadcast()V
+PLcom/android/server/power/Notifier;->sendUserActivity()V
 PLcom/android/server/power/Notifier;->sendWakeUpBroadcast()V
-PLcom/android/server/power/Notifier;->showWiredChargingStarted()V
-PLcom/android/server/power/Notifier;->translateOffReason(I)I
 PLcom/android/server/power/Notifier;->updatePendingBroadcastLocked()V
-PLcom/android/server/power/PowerManagerService$1;->acquireSuspendBlocker()V
-PLcom/android/server/power/PowerManagerService$1;->onDisplayStateChange(I)V
-PLcom/android/server/power/PowerManagerService$1;->onStateChanged()V
-PLcom/android/server/power/PowerManagerService$1;->releaseSuspendBlocker()V
-PLcom/android/server/power/PowerManagerService$BatteryReceiver;-><init>(Lcom/android/server/power/PowerManagerService;)V
-PLcom/android/server/power/PowerManagerService$BatteryReceiver;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$1;)V
-PLcom/android/server/power/PowerManagerService$BatteryReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/power/PowerManagerService$BinderService;->getLastShutdownReason()I
-PLcom/android/server/power/PowerManagerService$BinderService;->getPowerSaveState(I)Landroid/os/PowerSaveState;
+PLcom/android/server/power/PowerManagerService$1;->onProximityNegative()V
+PLcom/android/server/power/PowerManagerService$1;->onProximityPositive()V
 PLcom/android/server/power/PowerManagerService$BinderService;->goToSleep(JII)V
-PLcom/android/server/power/PowerManagerService$BinderService;->isWakeLockLevelSupported(I)Z
-PLcom/android/server/power/PowerManagerService$BinderService;->setDozeAfterScreenOff(Z)V
-PLcom/android/server/power/PowerManagerService$BinderService;->setPowerSaveMode(Z)Z
 PLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockUids(Landroid/os/IBinder;[I)V
-PLcom/android/server/power/PowerManagerService$BinderService;->userActivity(JII)V
-PLcom/android/server/power/PowerManagerService$BinderService;->wakeUp(JLjava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/power/PowerManagerService$Constants;->start(Landroid/content/ContentResolver;)V
-PLcom/android/server/power/PowerManagerService$Constants;->updateConstants()V
-PLcom/android/server/power/PowerManagerService$DockReceiver;-><init>(Lcom/android/server/power/PowerManagerService;)V
-PLcom/android/server/power/PowerManagerService$DockReceiver;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$1;)V
-PLcom/android/server/power/PowerManagerService$DreamReceiver;-><init>(Lcom/android/server/power/PowerManagerService;)V
-PLcom/android/server/power/PowerManagerService$DreamReceiver;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$1;)V
+PLcom/android/server/power/PowerManagerService$BinderService;->wakeUp(JILjava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/power/PowerManagerService$DreamReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/power/PowerManagerService$ForegroundProfileObserver;-><init>(Lcom/android/server/power/PowerManagerService;)V
-PLcom/android/server/power/PowerManagerService$ForegroundProfileObserver;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$1;)V
-PLcom/android/server/power/PowerManagerService$LocalService;->powerHint(II)V
+PLcom/android/server/power/PowerManagerService$ForegroundProfileObserver;->onForegroundProfileSwitch(I)V
 PLcom/android/server/power/PowerManagerService$LocalService;->setDeviceIdleMode(Z)Z
 PLcom/android/server/power/PowerManagerService$LocalService;->setDeviceIdleTempWhitelist([I)V
-PLcom/android/server/power/PowerManagerService$LocalService;->setDeviceIdleWhitelist([I)V
 PLcom/android/server/power/PowerManagerService$LocalService;->setDozeOverrideFromDreamManager(II)V
 PLcom/android/server/power/PowerManagerService$LocalService;->setLightDeviceIdleMode(Z)Z
-PLcom/android/server/power/PowerManagerService$LocalService;->setMaximumScreenOffTimeoutFromDeviceAdmin(IJ)V
-PLcom/android/server/power/PowerManagerService$LocalService;->setScreenBrightnessOverrideFromWindowManager(I)V
-PLcom/android/server/power/PowerManagerService$LocalService;->setUserActivityTimeoutOverrideFromWindowManager(J)V
-PLcom/android/server/power/PowerManagerService$LocalService;->uidActive(I)V
-PLcom/android/server/power/PowerManagerService$LocalService;->uidGone(I)V
-PLcom/android/server/power/PowerManagerService$LocalService;->uidIdle(I)V
-PLcom/android/server/power/PowerManagerService$SettingsObserver;-><init>(Lcom/android/server/power/PowerManagerService;Landroid/os/Handler;)V
-PLcom/android/server/power/PowerManagerService$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
-PLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->release()V
-PLcom/android/server/power/PowerManagerService$UidState;-><init>(I)V
-PLcom/android/server/power/PowerManagerService$UserSwitchedReceiver;-><init>(Lcom/android/server/power/PowerManagerService;)V
-PLcom/android/server/power/PowerManagerService$UserSwitchedReceiver;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$1;)V
-PLcom/android/server/power/PowerManagerService$UserSwitchedReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 PLcom/android/server/power/PowerManagerService$WakeLock;->binderDied()V
-PLcom/android/server/power/PowerManagerService$WakeLock;->updateWorkSource(Landroid/os/WorkSource;)V
-PLcom/android/server/power/PowerManagerService;->access$000(Lcom/android/server/power/PowerManagerService;)Ljava/lang/Object;
-PLcom/android/server/power/PowerManagerService;->access$1076(Lcom/android/server/power/PowerManagerService;I)I
-PLcom/android/server/power/PowerManagerService;->access$1100(Lcom/android/server/power/PowerManagerService;)V
-PLcom/android/server/power/PowerManagerService;->access$1400(Lcom/android/server/power/PowerManagerService;)Z
-PLcom/android/server/power/PowerManagerService;->access$1600(Lcom/android/server/power/PowerManagerService;)Z
-PLcom/android/server/power/PowerManagerService;->access$1800(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/SuspendBlocker;
-PLcom/android/server/power/PowerManagerService;->access$1900(Lcom/android/server/power/PowerManagerService;)V
-PLcom/android/server/power/PowerManagerService;->access$2000(Lcom/android/server/power/PowerManagerService;)V
-PLcom/android/server/power/PowerManagerService;->access$2100(Lcom/android/server/power/PowerManagerService;)V
-PLcom/android/server/power/PowerManagerService;->access$2300(Lcom/android/server/power/PowerManagerService;II)V
-PLcom/android/server/power/PowerManagerService;->access$2500(Lcom/android/server/power/PowerManagerService;)V
-PLcom/android/server/power/PowerManagerService;->access$2900(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$WakeLock;)V
-PLcom/android/server/power/PowerManagerService;->access$3600(Lcom/android/server/power/PowerManagerService;Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;I)V
-PLcom/android/server/power/PowerManagerService;->access$3700(Lcom/android/server/power/PowerManagerService;I)Z
-PLcom/android/server/power/PowerManagerService;->access$3900(Lcom/android/server/power/PowerManagerService;JIII)V
-PLcom/android/server/power/PowerManagerService;->access$4000(Lcom/android/server/power/PowerManagerService;JLjava/lang/String;ILjava/lang/String;I)V
-PLcom/android/server/power/PowerManagerService;->access$4100(Lcom/android/server/power/PowerManagerService;JIII)V
-PLcom/android/server/power/PowerManagerService;->access$4600(Lcom/android/server/power/PowerManagerService;Z)Z
-PLcom/android/server/power/PowerManagerService;->access$5000(Lcom/android/server/power/PowerManagerService;Z)V
-PLcom/android/server/power/PowerManagerService;->access$5500(Lcom/android/server/power/PowerManagerService;I)V
-PLcom/android/server/power/PowerManagerService;->access$5600(Lcom/android/server/power/PowerManagerService;II)V
-PLcom/android/server/power/PowerManagerService;->access$5800(Lcom/android/server/power/PowerManagerService;J)V
-PLcom/android/server/power/PowerManagerService;->canDozeLocked()Z
 PLcom/android/server/power/PowerManagerService;->canDreamLocked()Z
-PLcom/android/server/power/PowerManagerService;->enqueueNotifyLongMsgLocked(J)V
-PLcom/android/server/power/PowerManagerService;->getLastShutdownReasonInternal(Ljava/lang/String;)I
+PLcom/android/server/power/PowerManagerService;->checkForLongWakeLocks()V
+PLcom/android/server/power/PowerManagerService;->getFirstNonEmptyWorkChain(Landroid/os/WorkSource;)Landroid/os/WorkSource$WorkChain;
 PLcom/android/server/power/PowerManagerService;->goToSleepInternal(JIII)V
 PLcom/android/server/power/PowerManagerService;->goToSleepNoUpdateLocked(JIII)Z
-PLcom/android/server/power/PowerManagerService;->handleBatteryStateChangedLocked()V
-PLcom/android/server/power/PowerManagerService;->handleSettingsChangedLocked()V
-PLcom/android/server/power/PowerManagerService;->handleUidStateChangeLocked()V
 PLcom/android/server/power/PowerManagerService;->handleUserActivityTimeout()V
 PLcom/android/server/power/PowerManagerService;->handleWakeLockDeath(Lcom/android/server/power/PowerManagerService$WakeLock;)V
-PLcom/android/server/power/PowerManagerService;->incrementBootCount()V
-PLcom/android/server/power/PowerManagerService;->isDeviceIdleModeInternal()Z
-PLcom/android/server/power/PowerManagerService;->isLightDeviceIdleModeInternal()Z
-PLcom/android/server/power/PowerManagerService;->isScreenLock(Lcom/android/server/power/PowerManagerService$WakeLock;)Z
-PLcom/android/server/power/PowerManagerService;->isWakeLockLevelSupportedInternal(I)Z
-PLcom/android/server/power/PowerManagerService;->logScreenOn()V
-PLcom/android/server/power/PowerManagerService;->logSleepTimeoutRecapturedLocked()V
-PLcom/android/server/power/PowerManagerService;->monitor()V
-PLcom/android/server/power/PowerManagerService;->notifyWakeLockChangingLocked(Lcom/android/server/power/PowerManagerService$WakeLock;ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
-PLcom/android/server/power/PowerManagerService;->notifyWakeLockLongStartedLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
-PLcom/android/server/power/PowerManagerService;->readConfigurationLocked()V
+PLcom/android/server/power/PowerManagerService;->reallyGoToSleepNoUpdateLocked(JI)Z
 PLcom/android/server/power/PowerManagerService;->setDeviceIdleModeInternal(Z)Z
 PLcom/android/server/power/PowerManagerService;->setDeviceIdleTempWhitelistInternal([I)V
-PLcom/android/server/power/PowerManagerService;->setDeviceIdleWhitelistInternal([I)V
-PLcom/android/server/power/PowerManagerService;->setDozeAfterScreenOffInternal(Z)V
 PLcom/android/server/power/PowerManagerService;->setDozeOverrideFromDreamManagerInternal(II)V
 PLcom/android/server/power/PowerManagerService;->setLightDeviceIdleModeInternal(Z)Z
-PLcom/android/server/power/PowerManagerService;->setLowPowerModeInternal(Z)Z
-PLcom/android/server/power/PowerManagerService;->setMaximumScreenOffTimeoutFromDeviceAdminInternal(IJ)V
-PLcom/android/server/power/PowerManagerService;->setScreenBrightnessOverrideFromWindowManagerInternal(I)V
-PLcom/android/server/power/PowerManagerService;->setUserActivityTimeoutOverrideFromWindowManagerInternal(J)V
-PLcom/android/server/power/PowerManagerService;->setWakefulnessLocked(II)V
-PLcom/android/server/power/PowerManagerService;->shouldNapAtBedTimeLocked()Z
-PLcom/android/server/power/PowerManagerService;->shouldWakeUpWhenPluggedOrUnpluggedLocked(ZIZ)Z
-PLcom/android/server/power/PowerManagerService;->systemReady(Lcom/android/internal/app/IAppOpsService;)V
-PLcom/android/server/power/PowerManagerService;->uidActiveInternal(I)V
-PLcom/android/server/power/PowerManagerService;->uidGoneInternal(I)V
-PLcom/android/server/power/PowerManagerService;->uidIdleInternal(I)V
-PLcom/android/server/power/PowerManagerService;->updateSettingsLocked()V
 PLcom/android/server/power/PowerManagerService;->updateWakeLockDisabledStatesLocked()V
-PLcom/android/server/power/PowerManagerService;->updateWakeLockWorkSourceInternal(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;I)V
-PLcom/android/server/power/PowerManagerService;->userActivityInternal(JIII)V
-PLcom/android/server/power/PowerManagerService;->wakeUpInternal(JLjava/lang/String;ILjava/lang/String;I)V
-PLcom/android/server/power/PowerManagerService;->wakeUpNoUpdateLocked(JLjava/lang/String;ILjava/lang/String;I)Z
-PLcom/android/server/power/WirelessChargerDetector$1;-><init>(Lcom/android/server/power/WirelessChargerDetector;)V
-PLcom/android/server/power/WirelessChargerDetector$2;-><init>(Lcom/android/server/power/WirelessChargerDetector;)V
-PLcom/android/server/power/WirelessChargerDetector;-><init>(Landroid/hardware/SensorManager;Lcom/android/server/power/SuspendBlocker;Landroid/os/Handler;)V
-PLcom/android/server/power/WirelessChargerDetector;->update(ZI)Z
-PLcom/android/server/power/batterysaver/-$$Lambda$BatterySaverStateMachine$SSfmWJrD4RBoVg8A8loZrS-jhAo;->run()V
-PLcom/android/server/power/batterysaver/-$$Lambda$BatterySaverStateMachine$fEidyt_9TXlXBpF6D2lhOOrfOC4;-><init>(Lcom/android/server/power/batterysaver/BatterySaverStateMachine;)V
+PLcom/android/server/power/PowerManagerService;->wakeUpInternal(JILjava/lang/String;ILjava/lang/String;I)V
+PLcom/android/server/power/ThermalManagerService$1;->getCurrentTemperatures()Ljava/util/List;
+PLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper$1;->notifyThrottling(Landroid/hardware/thermal/V2_0/Temperature;)V
+PLcom/android/server/power/ThermalManagerService;->onTemperatureChangedCallback(Landroid/os/Temperature;)V
+PLcom/android/server/power/WirelessChargerDetector$1;->onSensorChanged(Landroid/hardware/SensorEvent;)V
+PLcom/android/server/power/WirelessChargerDetector$2;->run()V
+PLcom/android/server/power/WirelessChargerDetector;->finishDetectionLocked()V
+PLcom/android/server/power/WirelessChargerDetector;->hasMoved(FFFFFF)Z
+PLcom/android/server/power/WirelessChargerDetector;->processSampleLocked(FFF)V
+PLcom/android/server/power/WirelessChargerDetector;->startDetectionLocked()V
+PLcom/android/server/power/batterysaver/-$$Lambda$BatterySaverPolicy$rfw31Sb8JX1OVD2rGHGtCXyfop8;->onAccessibilityStateChanged(Z)V
 PLcom/android/server/power/batterysaver/-$$Lambda$BatterySaverStateMachine$fEidyt_9TXlXBpF6D2lhOOrfOC4;->run()V
-PLcom/android/server/power/batterysaver/BatterySaverController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/power/batterysaver/BatterySaverController$MyHandler;->dispatchMessage(Landroid/os/Message;)V
-PLcom/android/server/power/batterysaver/BatterySaverController$MyHandler;->postSystemReady()V
-PLcom/android/server/power/batterysaver/BatterySaverController;->access$000(Lcom/android/server/power/batterysaver/BatterySaverController;)V
-PLcom/android/server/power/batterysaver/BatterySaverController;->access$200(Lcom/android/server/power/batterysaver/BatterySaverController;)Ljava/lang/Object;
-PLcom/android/server/power/batterysaver/BatterySaverController;->access$302(Lcom/android/server/power/batterysaver/BatterySaverController;Z)Z
-PLcom/android/server/power/batterysaver/BatterySaverController;->access$400(Lcom/android/server/power/batterysaver/BatterySaverController;)[Lcom/android/server/power/batterysaver/BatterySaverController$Plugin;
-PLcom/android/server/power/batterysaver/BatterySaverController;->getBatterySaverPolicy()Lcom/android/server/power/BatterySaverPolicy;
-PLcom/android/server/power/batterysaver/BatterySaverController;->getPowerManager()Landroid/os/PowerManager;
-PLcom/android/server/power/batterysaver/BatterySaverController;->isLaunchBoostDisabled()Z
-PLcom/android/server/power/batterysaver/BatterySaverController;->onBatterySaverPolicyChanged(Lcom/android/server/power/BatterySaverPolicy;)V
-PLcom/android/server/power/batterysaver/BatterySaverController;->systemReady()V
-PLcom/android/server/power/batterysaver/BatterySaverController;->updateBatterySavingStats()V
-PLcom/android/server/power/batterysaver/BatterySaverLocationPlugin;->onSystemReady(Lcom/android/server/power/batterysaver/BatterySaverController;)V
-PLcom/android/server/power/batterysaver/BatterySaverLocationPlugin;->updateLocationState(Lcom/android/server/power/batterysaver/BatterySaverController;)V
+PLcom/android/server/power/batterysaver/-$$Lambda$FileUpdater$NUmipjKCJwbgmFbIcGS3uaz3QFk;->run()V
+PLcom/android/server/power/batterysaver/BatterySaverController$MyHandler;->postStateChanged(ZI)V
+PLcom/android/server/power/batterysaver/BatterySaverController;->enableBatterySaver(ZI)V
+PLcom/android/server/power/batterysaver/BatterySaverController;->handleBatterySaverStateChanged(ZI)V
+PLcom/android/server/power/batterysaver/BatterySaverController;->isFullEnabled()Z
+PLcom/android/server/power/batterysaver/BatterySaverController;->isInteractive()Z
+PLcom/android/server/power/batterysaver/BatterySaverController;->resetAdaptivePolicyLocked(I)Z
+PLcom/android/server/power/batterysaver/BatterySaverController;->setAdaptivePolicyEnabledLocked(ZI)Z
+PLcom/android/server/power/batterysaver/BatterySaverLocationPlugin;->onBatterySaverChanged(Lcom/android/server/power/batterysaver/BatterySaverController;)V
+PLcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/power/batterysaver/BatterySaverPolicy;->getFileValues(Z)Landroid/util/ArrayMap;
+PLcom/android/server/power/batterysaver/BatterySaverPolicy;->isLaunchBoostDisabled()Z
+PLcom/android/server/power/batterysaver/BatterySaverPolicy;->lambda$systemReady$0$BatterySaverPolicy(Z)V
+PLcom/android/server/power/batterysaver/BatterySaverPolicy;->resetAdaptivePolicyLocked()Z
+PLcom/android/server/power/batterysaver/BatterySaverPolicy;->setAdaptivePolicyLocked(Lcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;)Z
+PLcom/android/server/power/batterysaver/BatterySaverPolicy;->setPolicyLevel(I)Z
+PLcom/android/server/power/batterysaver/BatterySaverPolicy;->toEventLogString()Ljava/lang/String;
 PLcom/android/server/power/batterysaver/BatterySaverStateMachine$1;->onChange(Z)V
-PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->access$000(Lcom/android/server/power/batterysaver/BatterySaverStateMachine;)Ljava/lang/Object;
-PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->doAutoBatterySaverLocked()V
 PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->enableBatterySaverLocked(ZZILjava/lang/String;)V
 PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->getGlobalSetting(Ljava/lang/String;I)I
-PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->lambda$new$1(Lcom/android/server/power/batterysaver/BatterySaverStateMachine;)V
+PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->lambda$onBootCompleted$0$BatterySaverStateMachine()V
 PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->lambda$onBootCompleted$0(Lcom/android/server/power/batterysaver/BatterySaverStateMachine;)V
 PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->onBootCompleted()V
 PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->putGlobalSetting(Ljava/lang/String;I)V
 PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->refreshSettingsLocked()V
 PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->runOnBgThread(Ljava/lang/Runnable;)V
-PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->runOnBgThreadLazy(Ljava/lang/Runnable;I)V
-PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->setBatteryStatus(ZIZ)V
-PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->setSettingsLocked(ZZI)V
-PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->updateSnoozingLocked(ZLjava/lang/String;)V
-PLcom/android/server/power/batterysaver/BatterySavingStats$BatterySaverState;->fromIndex(I)I
-PLcom/android/server/power/batterysaver/BatterySavingStats$DozeState;->fromIndex(I)I
-PLcom/android/server/power/batterysaver/BatterySavingStats$InteractiveState;->fromIndex(I)I
-PLcom/android/server/power/batterysaver/BatterySavingStats$MetricsLoggerHelper;->reportLocked(IJIIII)V
-PLcom/android/server/power/batterysaver/BatterySavingStats$MetricsLoggerHelper;->transitionStateLocked(IJII)V
-PLcom/android/server/power/batterysaver/BatterySavingStats$Stat;-><init>()V
-PLcom/android/server/power/batterysaver/BatterySavingStats;->access$000(Lcom/android/server/power/batterysaver/BatterySavingStats;)Z
-PLcom/android/server/power/batterysaver/BatterySavingStats;->endLastStateLocked(JII)V
-PLcom/android/server/power/batterysaver/BatterySavingStats;->getBatteryManagerInternal()Landroid/os/BatteryManagerInternal;
-PLcom/android/server/power/batterysaver/BatterySavingStats;->getStat(I)Lcom/android/server/power/batterysaver/BatterySavingStats$Stat;
-PLcom/android/server/power/batterysaver/BatterySavingStats;->injectBatteryLevel()I
-PLcom/android/server/power/batterysaver/BatterySavingStats;->injectBatteryPercent()I
-PLcom/android/server/power/batterysaver/BatterySavingStats;->injectCurrentTime()J
-PLcom/android/server/power/batterysaver/BatterySavingStats;->setSendTronLog(Z)V
+PLcom/android/server/power/batterysaver/BatterySaverStateMachine;->setSettingsLocked(ZZIZIIZI)V
 PLcom/android/server/power/batterysaver/BatterySavingStats;->startCharging()V
-PLcom/android/server/power/batterysaver/BatterySavingStats;->startNewStateLocked(IJII)V
-PLcom/android/server/power/batterysaver/BatterySavingStats;->statesToIndex(III)I
-PLcom/android/server/power/batterysaver/BatterySavingStats;->transitionState(III)V
-PLcom/android/server/power/batterysaver/BatterySavingStats;->transitionStateLocked(I)V
-PLcom/android/server/power/batterysaver/CpuFrequencies;-><init>()V
-PLcom/android/server/power/batterysaver/CpuFrequencies;->addToSysFileMap(Ljava/util/Map;)V
-PLcom/android/server/power/batterysaver/CpuFrequencies;->parseString(Ljava/lang/String;)Lcom/android/server/power/batterysaver/CpuFrequencies;
-PLcom/android/server/power/batterysaver/CpuFrequencies;->toSysFileMap()Landroid/util/ArrayMap;
-PLcom/android/server/power/batterysaver/FileUpdater;->injectDefaultValuesFilename()Ljava/io/File;
-PLcom/android/server/power/batterysaver/FileUpdater;->systemReady(Z)V
+PLcom/android/server/power/batterysaver/FileUpdater;->handleWriteOnHandler()V
+PLcom/android/server/power/batterysaver/FileUpdater;->lambda$new$0$FileUpdater()V
+PLcom/android/server/power/batterysaver/FileUpdater;->restoreDefault()V
+PLcom/android/server/power/batterysaver/FileUpdater;->writeFiles(Landroid/util/ArrayMap;)V
+PLcom/android/server/print/-$$Lambda$RemotePrintService$tI07K2u4Z5L72sd1hvSEunGclrg;-><init>()V
+PLcom/android/server/print/-$$Lambda$RemotePrintService$tI07K2u4Z5L72sd1hvSEunGclrg;->accept(Ljava/lang/Object;)V
 PLcom/android/server/print/-$$Lambda$UserState$LdWYUAKz4cbWqoxOD4oZ_ZslKdg;-><init>()V
 PLcom/android/server/print/-$$Lambda$UserState$LdWYUAKz4cbWqoxOD4oZ_ZslKdg;->accept(Ljava/lang/Object;)V
-PLcom/android/server/print/PrintManagerService$PrintManagerImpl$1;-><init>(Lcom/android/server/print/PrintManagerService$PrintManagerImpl;Landroid/os/Handler;Landroid/net/Uri;)V
-PLcom/android/server/print/PrintManagerService$PrintManagerImpl$2;-><init>(Lcom/android/server/print/PrintManagerService$PrintManagerImpl;)V
 PLcom/android/server/print/PrintManagerService$PrintManagerImpl$2;->hadPrintService(Lcom/android/server/print/UserState;Ljava/lang/String;)Z
 PLcom/android/server/print/PrintManagerService$PrintManagerImpl$2;->hasPrintService(Ljava/lang/String;)Z
 PLcom/android/server/print/PrintManagerService$PrintManagerImpl$2;->onPackageAdded(Ljava/lang/String;I)V
 PLcom/android/server/print/PrintManagerService$PrintManagerImpl$2;->onPackageModified(Ljava/lang/String;)V
-PLcom/android/server/print/PrintManagerService$PrintManagerImpl$3;-><init>(Lcom/android/server/print/PrintManagerService$PrintManagerImpl;I)V
 PLcom/android/server/print/PrintManagerService$PrintManagerImpl$3;->run()V
-PLcom/android/server/print/PrintManagerService$PrintManagerImpl;-><init>(Lcom/android/server/print/PrintManagerService;Landroid/content/Context;)V
-PLcom/android/server/print/PrintManagerService$PrintManagerImpl;->access$000(Lcom/android/server/print/PrintManagerService$PrintManagerImpl;I)V
-PLcom/android/server/print/PrintManagerService$PrintManagerImpl;->access$200(Lcom/android/server/print/PrintManagerService$PrintManagerImpl;)Ljava/lang/Object;
-PLcom/android/server/print/PrintManagerService$PrintManagerImpl;->access$400(Lcom/android/server/print/PrintManagerService$PrintManagerImpl;)Landroid/content/Context;
-PLcom/android/server/print/PrintManagerService$PrintManagerImpl;->access$500(Lcom/android/server/print/PrintManagerService$PrintManagerImpl;)Landroid/os/UserManager;
-PLcom/android/server/print/PrintManagerService$PrintManagerImpl;->access$600(Lcom/android/server/print/PrintManagerService$PrintManagerImpl;IZZ)Lcom/android/server/print/UserState;
+PLcom/android/server/print/PrintManagerService$PrintManagerImpl$4;->run()V
 PLcom/android/server/print/PrintManagerService$PrintManagerImpl;->getOrCreateUserStateLocked(IZZ)Lcom/android/server/print/UserState;
-PLcom/android/server/print/PrintManagerService$PrintManagerImpl;->handleUserUnlocked(I)V
-PLcom/android/server/print/PrintManagerService$PrintManagerImpl;->registerBroadcastReceivers()V
-PLcom/android/server/print/PrintManagerService$PrintManagerImpl;->registerContentObservers()V
-PLcom/android/server/print/PrintManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/print/PrintManagerService;->onStart()V
+PLcom/android/server/print/PrintManagerService;->onStopUser(I)V
 PLcom/android/server/print/PrintManagerService;->onUnlockUser(I)V
-PLcom/android/server/print/RemotePrintService$RemotePrintServiceClient;-><init>(Lcom/android/server/print/RemotePrintService;)V
-PLcom/android/server/print/RemotePrintService$RemoteServiceConneciton;-><init>(Lcom/android/server/print/RemotePrintService;)V
-PLcom/android/server/print/RemotePrintService$RemoteServiceConneciton;-><init>(Lcom/android/server/print/RemotePrintService;Lcom/android/server/print/RemotePrintService$1;)V
 PLcom/android/server/print/RemotePrintService;-><init>(Landroid/content/Context;Landroid/content/ComponentName;ILcom/android/server/print/RemotePrintSpooler;Lcom/android/server/print/RemotePrintService$PrintServiceCallbacks;)V
-PLcom/android/server/print/RemotePrintService;->getComponentName()Landroid/content/ComponentName;
-PLcom/android/server/print/RemotePrintSpooler$BasePrintSpoolerServiceCallbacks;-><init>()V
-PLcom/android/server/print/RemotePrintSpooler$BasePrintSpoolerServiceCallbacks;-><init>(Lcom/android/server/print/RemotePrintSpooler$1;)V
-PLcom/android/server/print/RemotePrintSpooler$ClearCustomPrinterIconCacheCaller$1;-><init>(Lcom/android/server/print/RemotePrintSpooler$ClearCustomPrinterIconCacheCaller;)V
-PLcom/android/server/print/RemotePrintSpooler$ClearCustomPrinterIconCacheCaller;-><init>()V
-PLcom/android/server/print/RemotePrintSpooler$GetCustomPrinterIconCaller$1;-><init>(Lcom/android/server/print/RemotePrintSpooler$GetCustomPrinterIconCaller;)V
-PLcom/android/server/print/RemotePrintSpooler$GetCustomPrinterIconCaller;-><init>()V
-PLcom/android/server/print/RemotePrintSpooler$GetPrintJobInfoCaller$1;-><init>(Lcom/android/server/print/RemotePrintSpooler$GetPrintJobInfoCaller;)V
-PLcom/android/server/print/RemotePrintSpooler$GetPrintJobInfoCaller;-><init>()V
-PLcom/android/server/print/RemotePrintSpooler$GetPrintJobInfosCaller$1;-><init>(Lcom/android/server/print/RemotePrintSpooler$GetPrintJobInfosCaller;)V
-PLcom/android/server/print/RemotePrintSpooler$GetPrintJobInfosCaller;-><init>()V
-PLcom/android/server/print/RemotePrintSpooler$MyServiceConnection;-><init>(Lcom/android/server/print/RemotePrintSpooler;)V
-PLcom/android/server/print/RemotePrintSpooler$MyServiceConnection;-><init>(Lcom/android/server/print/RemotePrintSpooler;Lcom/android/server/print/RemotePrintSpooler$1;)V
+PLcom/android/server/print/RemotePrintService;->ensureUnbound()V
+PLcom/android/server/print/RemotePrintService;->stopTrackingAllPrinters()V
 PLcom/android/server/print/RemotePrintSpooler$MyServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/print/RemotePrintSpooler$OnCustomPrinterIconLoadedCaller$1;-><init>(Lcom/android/server/print/RemotePrintSpooler$OnCustomPrinterIconLoadedCaller;)V
-PLcom/android/server/print/RemotePrintSpooler$OnCustomPrinterIconLoadedCaller;-><init>()V
-PLcom/android/server/print/RemotePrintSpooler$PrintSpoolerClient;-><init>(Lcom/android/server/print/RemotePrintSpooler;)V
 PLcom/android/server/print/RemotePrintSpooler$PrintSpoolerClient;->onAllPrintJobsHandled()V
-PLcom/android/server/print/RemotePrintSpooler$SetPrintJobStateCaller$1;-><init>(Lcom/android/server/print/RemotePrintSpooler$SetPrintJobStateCaller;)V
-PLcom/android/server/print/RemotePrintSpooler$SetPrintJobStateCaller;-><init>()V
-PLcom/android/server/print/RemotePrintSpooler$SetPrintJobTagCaller$1;-><init>(Lcom/android/server/print/RemotePrintSpooler$SetPrintJobTagCaller;)V
-PLcom/android/server/print/RemotePrintSpooler$SetPrintJobTagCaller;-><init>()V
 PLcom/android/server/print/RemotePrintSpooler;-><init>(Landroid/content/Context;IZLcom/android/server/print/RemotePrintSpooler$PrintSpoolerCallbacks;)V
-PLcom/android/server/print/RemotePrintSpooler;->access$100(Lcom/android/server/print/RemotePrintSpooler;)Ljava/lang/Object;
-PLcom/android/server/print/RemotePrintSpooler;->access$1400(Lcom/android/server/print/RemotePrintSpooler;)V
-PLcom/android/server/print/RemotePrintSpooler;->access$202(Lcom/android/server/print/RemotePrintSpooler;Landroid/print/IPrintSpooler;)Landroid/print/IPrintSpooler;
-PLcom/android/server/print/RemotePrintSpooler;->access$300(Lcom/android/server/print/RemotePrintSpooler;)V
 PLcom/android/server/print/RemotePrintSpooler;->bindLocked()V
 PLcom/android/server/print/RemotePrintSpooler;->clearClientLocked()V
+PLcom/android/server/print/RemotePrintSpooler;->destroy()V
 PLcom/android/server/print/RemotePrintSpooler;->getRemoteInstanceLazy()Landroid/print/IPrintSpooler;
 PLcom/android/server/print/RemotePrintSpooler;->increasePriority()V
 PLcom/android/server/print/RemotePrintSpooler;->onAllPrintJobsHandled()V
 PLcom/android/server/print/RemotePrintSpooler;->pruneApprovedPrintServices(Ljava/util/List;)V
 PLcom/android/server/print/RemotePrintSpooler;->removeObsoletePrintJobs()V
 PLcom/android/server/print/RemotePrintSpooler;->setClientLocked()V
-PLcom/android/server/print/RemotePrintSpooler;->throwIfCalledOnMainThread()V
 PLcom/android/server/print/RemotePrintSpooler;->throwIfDestroyedLocked()V
 PLcom/android/server/print/RemotePrintSpooler;->unbindLocked()V
-PLcom/android/server/print/UserState$PrintJobForAppCache;-><init>(Lcom/android/server/print/UserState;)V
-PLcom/android/server/print/UserState$PrintJobForAppCache;-><init>(Lcom/android/server/print/UserState;Lcom/android/server/print/UserState$1;)V
 PLcom/android/server/print/UserState;-><init>(Landroid/content/Context;ILjava/lang/Object;Z)V
-PLcom/android/server/print/UserState;->addServiceLocked(Lcom/android/server/print/RemotePrintService;)V
+PLcom/android/server/print/UserState;->destroyLocked()V
 PLcom/android/server/print/UserState;->getInstalledComponents()Ljava/util/ArrayList;
 PLcom/android/server/print/UserState;->getPrintServices(I)Ljava/util/List;
 PLcom/android/server/print/UserState;->handleDispatchPrintServicesChanged()V
-PLcom/android/server/print/UserState;->increasePriority()V
-PLcom/android/server/print/UserState;->lambda$LdWYUAKz4cbWqoxOD4oZ_ZslKdg(Lcom/android/server/print/UserState;)V
 PLcom/android/server/print/UserState;->onConfigurationChanged()V
 PLcom/android/server/print/UserState;->onConfigurationChangedLocked()V
-PLcom/android/server/print/UserState;->onPrintServicesChanged()V
 PLcom/android/server/print/UserState;->prunePrintServices()V
-PLcom/android/server/print/UserState;->readConfigurationLocked()V
-PLcom/android/server/print/UserState;->readDisabledPrintServicesLocked()V
 PLcom/android/server/print/UserState;->readInstalledPrintServicesLocked()V
 PLcom/android/server/print/UserState;->readPrintServicesFromSettingLocked(Ljava/lang/String;Ljava/util/Set;)V
-PLcom/android/server/print/UserState;->removeObsoletePrintJobs()V
-PLcom/android/server/print/UserState;->throwIfDestroyedLocked()V
 PLcom/android/server/print/UserState;->updateIfNeededLocked()V
 PLcom/android/server/print/UserState;->upgradePersistentStateIfNeeded()V
-PLcom/android/server/restrictions/RestrictionsManagerService$RestrictionsManagerImpl;-><init>(Lcom/android/server/restrictions/RestrictionsManagerService;Landroid/content/Context;)V
 PLcom/android/server/restrictions/RestrictionsManagerService$RestrictionsManagerImpl;->getApplicationRestrictions(Ljava/lang/String;)Landroid/os/Bundle;
-PLcom/android/server/restrictions/RestrictionsManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/restrictions/RestrictionsManagerService;->access$000(Lcom/android/server/restrictions/RestrictionsManagerService;Ljava/lang/String;)Landroid/os/IBinder;
-PLcom/android/server/restrictions/RestrictionsManagerService;->access$100(Lcom/android/server/restrictions/RestrictionsManagerService;Ljava/lang/String;)Landroid/os/IBinder;
-PLcom/android/server/restrictions/RestrictionsManagerService;->onStart()V
-PLcom/android/server/search/SearchManagerService$GlobalSearchProviderObserver;-><init>(Lcom/android/server/search/SearchManagerService;Landroid/content/ContentResolver;)V
-PLcom/android/server/search/SearchManagerService$Lifecycle$1;-><init>(Lcom/android/server/search/SearchManagerService$Lifecycle;I)V
+PLcom/android/server/restrictions/RestrictionsManagerService$RestrictionsManagerImpl;->hasRestrictionsProvider()Z
+PLcom/android/server/role/-$$Lambda$RemoteRoleControllerService$Connection$Call$CallbackDelegate$CVzmIkaLmJgs1i9DlvvzTRUP480;-><init>()V
+PLcom/android/server/role/-$$Lambda$RemoteRoleControllerService$Connection$Call$CallbackDelegate$CVzmIkaLmJgs1i9DlvvzTRUP480;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/role/-$$Lambda$RemoteRoleControllerService$Connection$JT0tphPh3CS3yG7jQxEV-ehCZIw;->run()V
+PLcom/android/server/role/-$$Lambda$RemoteRoleControllerService$wGrZc65FsK5pnjX7WAKn-2TkjbA;->execute(Landroid/rolecontrollerservice/IRoleControllerService;Landroid/app/role/IRoleManagerCallback;)V
+PLcom/android/server/role/-$$Lambda$RoleManagerService$fFhedpUuSpSjKJZ9TlWFGJ-_xeo;-><init>()V
+PLcom/android/server/role/-$$Lambda$RoleManagerService$fFhedpUuSpSjKJZ9TlWFGJ-_xeo;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/role/-$$Lambda$RoleUserState$e8W_Zaq_FyocW_DX1qcbN0ld0co;-><init>()V
+PLcom/android/server/role/-$$Lambda$RoleUserState$e8W_Zaq_FyocW_DX1qcbN0ld0co;->accept(Ljava/lang/Object;)V
+PLcom/android/server/role/RemoteRoleControllerService$Connection$Call$CallbackDelegate;->onSuccess()V
+PLcom/android/server/role/RemoteRoleControllerService$Connection$Call;->notifyCallback(Z)V
+PLcom/android/server/role/RemoteRoleControllerService$Connection;->onBindingDied(Landroid/content/ComponentName;)V
+PLcom/android/server/role/RemoteRoleControllerService;->onClearRoleHolders(Ljava/lang/String;ILandroid/app/role/IRoleManagerCallback;)V
+PLcom/android/server/role/RoleManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/role/RoleManagerService$4;->onSuccess()V
+PLcom/android/server/role/RoleManagerService$DefaultBrowserProvider$1;->onSuccess()V
+PLcom/android/server/role/RoleManagerService$DefaultBrowserProvider;->setDefaultBrowser(Ljava/lang/String;I)Z
+PLcom/android/server/role/RoleManagerService$DefaultHomeProvider$1;->onSuccess()V
+PLcom/android/server/role/RoleManagerService$DefaultHomeProvider;->setDefaultHomeAsync(Ljava/lang/String;I)V
+PLcom/android/server/role/RoleManagerService$Stub;->addRoleHolderFromController(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/role/RoleManagerService$Stub;->getHeldRolesFromController(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/role/RoleManagerService$Stub;->removeRoleHolderFromController(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/role/RoleManagerService;->getListeners(I)Landroid/os/RemoteCallbackList;
+PLcom/android/server/role/RoleManagerService;->notifyRoleHoldersChangedForListeners(Landroid/os/RemoteCallbackList;Ljava/lang/String;I)V
+PLcom/android/server/role/RoleManagerService;->onRoleHoldersChanged(Ljava/lang/String;I)V
+PLcom/android/server/role/RoleUserState;->addRoleHolder(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/role/RoleUserState;->getHeldRoles(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/role/RoleUserState;->removeRoleHolder(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/role/RoleUserState;->scheduleWriteFileLocked()V
+PLcom/android/server/role/RoleUserState;->serializeRoles(Lorg/xmlpull/v1/XmlSerializer;ILjava/lang/String;Landroid/util/ArrayMap;)V
+PLcom/android/server/role/RoleUserState;->setPackagesHash(Ljava/lang/String;)V
+PLcom/android/server/role/RoleUserState;->snapshotRolesLocked()Landroid/util/ArrayMap;
+PLcom/android/server/role/RoleUserState;->writeFile()V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$5VimxC3UlEV_IzyoBdYlrATzYd8;->run()V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$7mIH_4Cm4A-tqsIceQEQSUp2ycU;->run()V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$Ia4HWfDcXKuiMklIIxUfsk4MRKg;->run()V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$dWP3a0DA6Sn9vs01tikxWWbZIZs;->run()V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$mJNIXm_c6MQdH60jiRiYOGk2vQs;->run()V
+PLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$pS5jbfXLgvSVqxzjSkJaMnydaOY;->run()V
+PLcom/android/server/rollback/AppDataRollbackHelper;->commitPendingBackupAndRestoreForUser(ILjava/util/ArrayList;Ljava/util/Map;Ljava/util/List;)V
+PLcom/android/server/rollback/AppDataRollbackHelper;->commitPendingBackupAndRestoreForUser(ILjava/util/List;Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/rollback/AppDataRollbackHelper;->computePendingBackups(ILjava/util/Map;Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/rollback/AppDataRollbackHelper;->computePendingBackupsAndRestores(ILjava/util/ArrayList;Ljava/util/Map;Ljava/util/List;Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/rollback/AppDataRollbackHelper;->computePendingRestores(ILjava/util/Map;Ljava/util/List;)Ljava/util/List;
+PLcom/android/server/rollback/AppDataRollbackHelper;->restoreAppData(Ljava/lang/String;Lcom/android/server/rollback/RollbackData;IIJLjava/lang/String;)Z
+PLcom/android/server/rollback/RollbackManagerService;->onUnlockUser(I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;->onActiveChanged(IZ)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;->onCreated(I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;->onFinished(IZ)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl$SessionCallback;->onProgressChanged(IF)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->completeEnableRollback(IZ)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->getInstalledPackageVersion(Ljava/lang/String;)Landroid/content/pm/VersionedPackage;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->getRollbackForPackage(Ljava/lang/String;)Lcom/android/server/rollback/RollbackData;
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onBootCompleted$6$RollbackManagerServiceImpl()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onBootCompleted$6(Lcom/android/server/rollback/RollbackManagerServiceImpl;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onBootCompleted$7$RollbackManagerServiceImpl()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onUnlockUser$5$RollbackManagerServiceImpl(I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$onUnlockUser$5(Lcom/android/server/rollback/RollbackManagerServiceImpl;I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$restoreUserData$8(Lcom/android/server/rollback/RollbackManagerServiceImpl;Ljava/lang/String;[IIJLjava/lang/String;I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$restoreUserData$9$RollbackManagerServiceImpl(Ljava/lang/String;[IIJLjava/lang/String;I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$scheduleExpiration$8$RollbackManagerServiceImpl()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->onBootCompleted()V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->onPackageReplaced(Ljava/lang/String;)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->onUnlockUser(I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->restoreUserData(Ljava/lang/String;[IIJLjava/lang/String;I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->restoreUserDataInternal(Ljava/lang/String;[IIJLjava/lang/String;I)V
+PLcom/android/server/rollback/RollbackManagerServiceImpl;->updateRollbackLifetimeDurationInMillis()V
+PLcom/android/server/rollback/RollbackStore;->saveRecentlyExecutedRollbacks(Ljava/util/List;)V
 PLcom/android/server/search/SearchManagerService$Lifecycle$1;->run()V
-PLcom/android/server/search/SearchManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/search/SearchManagerService$Lifecycle;->access$000(Lcom/android/server/search/SearchManagerService$Lifecycle;)Lcom/android/server/search/SearchManagerService;
-PLcom/android/server/search/SearchManagerService$Lifecycle;->onStart()V
+PLcom/android/server/search/SearchManagerService$Lifecycle;->onCleanupUser(I)V
 PLcom/android/server/search/SearchManagerService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/search/SearchManagerService$MyPackageMonitor;-><init>(Lcom/android/server/search/SearchManagerService;)V
 PLcom/android/server/search/SearchManagerService$MyPackageMonitor;->onPackageModified(Ljava/lang/String;)V
-PLcom/android/server/search/SearchManagerService$MyPackageMonitor;->onSomePackagesChanged()V
-PLcom/android/server/search/SearchManagerService$MyPackageMonitor;->updateSearchables()V
-PLcom/android/server/search/SearchManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/search/SearchManagerService;->access$100(Lcom/android/server/search/SearchManagerService;I)V
-PLcom/android/server/search/SearchManagerService;->access$300(Lcom/android/server/search/SearchManagerService;)Landroid/util/SparseArray;
-PLcom/android/server/search/SearchManagerService;->access$400(Lcom/android/server/search/SearchManagerService;)Landroid/content/Context;
+PLcom/android/server/search/SearchManagerService;->getSearchableInfo(Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
 PLcom/android/server/search/SearchManagerService;->getSearchables(IZ)Lcom/android/server/search/Searchables;
+PLcom/android/server/search/SearchManagerService;->onCleanupUser(I)V
 PLcom/android/server/search/SearchManagerService;->onUnlockUser(I)V
 PLcom/android/server/search/Searchables$1;-><init>()V
-PLcom/android/server/search/Searchables;-><init>(Landroid/content/Context;I)V
-PLcom/android/server/search/Searchables;->findGlobalSearchActivities()Ljava/util/List;
-PLcom/android/server/search/Searchables;->findGlobalSearchActivity(Ljava/util/List;)Landroid/content/ComponentName;
 PLcom/android/server/search/Searchables;->findWebSearchActivity(Landroid/content/ComponentName;)Landroid/content/ComponentName;
 PLcom/android/server/search/Searchables;->getDefaultGlobalSearchProvider(Ljava/util/List;)Landroid/content/ComponentName;
-PLcom/android/server/search/Searchables;->getGlobalSearchProviderSetting()Ljava/lang/String;
+PLcom/android/server/search/Searchables;->getSearchableInfo(Landroid/content/ComponentName;)Landroid/app/SearchableInfo;
 PLcom/android/server/search/Searchables;->queryIntentActivities(Landroid/content/Intent;I)Ljava/util/List;
 PLcom/android/server/search/Searchables;->updateSearchableList()V
-PLcom/android/server/security/KeyAttestationApplicationIdProviderService;-><init>(Landroid/content/Context;)V
 PLcom/android/server/security/KeyAttestationApplicationIdProviderService;->getKeyAttestationApplicationId(I)Landroid/security/keymaster/KeyAttestationApplicationId;
-PLcom/android/server/security/KeyChainSystemService$1;-><init>(Lcom/android/server/security/KeyChainSystemService;)V
 PLcom/android/server/security/KeyChainSystemService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/security/KeyChainSystemService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/security/KeyChainSystemService;->access$000(Lcom/android/server/security/KeyChainSystemService;Landroid/content/Intent;Landroid/os/UserHandle;)V
-PLcom/android/server/security/KeyChainSystemService;->onStart()V
 PLcom/android/server/security/KeyChainSystemService;->startServiceInBackgroundAsUser(Landroid/content/Intent;Landroid/os/UserHandle;)V
-PLcom/android/server/slice/-$$Lambda$PinnedSliceState$KzxFkvfomRuMb5PD8_pIHDIhUUE;-><init>(Lcom/android/server/slice/PinnedSliceState;)V
-PLcom/android/server/slice/-$$Lambda$PinnedSliceState$TZdoqC_LDA8If7sQ7WXz9LM6VHg;-><init>(Lcom/android/server/slice/PinnedSliceState;)V
-PLcom/android/server/slice/-$$Lambda$PinnedSliceState$TZdoqC_LDA8If7sQ7WXz9LM6VHg;->run()V
-PLcom/android/server/slice/-$$Lambda$PinnedSliceState$t5Vl61Ns1u_83c4ri7920sczEu0;-><init>(Lcom/android/server/slice/PinnedSliceState;)V
+PLcom/android/server/security/VerityUtils$SetupResult;->getContentSize()I
+PLcom/android/server/security/VerityUtils$SetupResult;->getUnownedFileDescriptor()Ljava/io/FileDescriptor;
+PLcom/android/server/security/VerityUtils$SetupResult;->isFailed()Z
+PLcom/android/server/security/VerityUtils$SetupResult;->isOk()Z
+PLcom/android/server/security/VerityUtils$TrackedShmBufferFactory;->create(I)Ljava/nio/ByteBuffer;
+PLcom/android/server/security/VerityUtils;->generateApkVeritySetupData(Ljava/lang/String;)Lcom/android/server/security/VerityUtils$SetupResult;
+PLcom/android/server/security/VerityUtils;->generateFsVerityIntoSharedMemory(Ljava/lang/String;[B)Landroid/util/Pair;
+PLcom/android/server/signedconfig/SignedConfigService$UpdateReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/signedconfig/SignedConfigService;->handlePackageBroadcast(Landroid/content/Intent;)V
+PLcom/android/server/slice/-$$Lambda$PinnedSliceState$2PaYhOaggf1E5xg82LTTEwxmLE4;-><init>()V
+PLcom/android/server/slice/-$$Lambda$PinnedSliceState$2PaYhOaggf1E5xg82LTTEwxmLE4;->test(Ljava/lang/Object;)Z
+PLcom/android/server/slice/-$$Lambda$PinnedSliceState$KzxFkvfomRuMb5PD8_pIHDIhUUE;->binderDied()V
+PLcom/android/server/slice/-$$Lambda$PinnedSliceState$j_JfEZwPCa729MjgsTSd8MAItIw;->apply(Ljava/lang/Object;)Ljava/lang/Object;
 PLcom/android/server/slice/-$$Lambda$PinnedSliceState$t5Vl61Ns1u_83c4ri7920sczEu0;->run()V
-PLcom/android/server/slice/-$$Lambda$SliceManagerService$LkusK1jmu9JKJTiMRWqWxNGEGbY;-><init>(Lcom/android/server/slice/SliceManagerService;I)V
-PLcom/android/server/slice/-$$Lambda$SliceManagerService$LkusK1jmu9JKJTiMRWqWxNGEGbY;->get()Ljava/lang/Object;
-PLcom/android/server/slice/-$$Lambda$SliceManagerService$ic_PW16x_KcVi-NszMwHhErqI0s;-><init>(Lcom/android/server/slice/SliceManagerService;I)V
-PLcom/android/server/slice/-$$Lambda$SliceManagerService$ic_PW16x_KcVi-NszMwHhErqI0s;->get()Ljava/lang/Object;
-PLcom/android/server/slice/-$$Lambda$SliceManagerService$pJ39TkC3AEVezLFEPuJgSQSTDJM;-><init>(Lcom/android/server/slice/SliceManagerService;Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/slice/-$$Lambda$SliceManagerService$pJ39TkC3AEVezLFEPuJgSQSTDJM;->run()V
+PLcom/android/server/slice/-$$Lambda$PinnedSliceState$vxnx7v9Z67Tj9aywVmtdX48br1M;-><init>()V
+PLcom/android/server/slice/-$$Lambda$PinnedSliceState$vxnx7v9Z67Tj9aywVmtdX48br1M;->apply(I)Ljava/lang/Object;
+PLcom/android/server/slice/-$$Lambda$SliceManagerService$EsoJb3dNe0G_qzoQixj72OS5gnw;->test(Ljava/lang/Object;)Z
 PLcom/android/server/slice/-$$Lambda$SlicePermissionManager$y3Tun5dTftw8s8sky62syeWR34U;-><init>()V
-PLcom/android/server/slice/PinnedSliceState$ListenerInfo;-><init>(Lcom/android/server/slice/PinnedSliceState;Landroid/os/IBinder;Ljava/lang/String;ZII)V
-PLcom/android/server/slice/PinnedSliceState;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/slice/PinnedSliceState;-><init>(Lcom/android/server/slice/SliceManagerService;Landroid/net/Uri;Ljava/lang/String;)V
 PLcom/android/server/slice/PinnedSliceState;->destroy()V
-PLcom/android/server/slice/PinnedSliceState;->getClient()Landroid/content/ContentProviderClient;
 PLcom/android/server/slice/PinnedSliceState;->getPkg()Ljava/lang/String;
+PLcom/android/server/slice/PinnedSliceState;->getSpecs()[Landroid/app/slice/SliceSpec;
 PLcom/android/server/slice/PinnedSliceState;->getUri()Landroid/net/Uri;
-PLcom/android/server/slice/PinnedSliceState;->handleSendPinned()V
+PLcom/android/server/slice/PinnedSliceState;->handleRecheckListeners()V
 PLcom/android/server/slice/PinnedSliceState;->handleSendUnpinned()V
 PLcom/android/server/slice/PinnedSliceState;->hasPinOrListener()Z
-PLcom/android/server/slice/PinnedSliceState;->lambda$TZdoqC_LDA8If7sQ7WXz9LM6VHg(Lcom/android/server/slice/PinnedSliceState;)V
-PLcom/android/server/slice/PinnedSliceState;->lambda$t5Vl61Ns1u_83c4ri7920sczEu0(Lcom/android/server/slice/PinnedSliceState;)V
-PLcom/android/server/slice/PinnedSliceState;->mergeSpecs([Landroid/app/slice/SliceSpec;)V
-PLcom/android/server/slice/PinnedSliceState;->pin(Ljava/lang/String;[Landroid/app/slice/SliceSpec;Landroid/os/IBinder;)V
-PLcom/android/server/slice/PinnedSliceState;->setSlicePinned(Z)V
+PLcom/android/server/slice/PinnedSliceState;->lambda$mergeSpecs$0$PinnedSliceState([Landroid/app/slice/SliceSpec;Landroid/app/slice/SliceSpec;)Landroid/app/slice/SliceSpec;
 PLcom/android/server/slice/PinnedSliceState;->unpin(Ljava/lang/String;Landroid/os/IBinder;)Z
-PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;-><init>(Ljava/lang/String;Lcom/android/server/slice/SlicePermissionManager$PkgUser;Lcom/android/server/slice/DirtyTracker;)V
-PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->access$000(Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;)Ljava/lang/String;
-PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->access$100(Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;)Lcom/android/server/slice/SlicePermissionManager$PkgUser;
 PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->addPath(Ljava/util/List;)V
-PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->decodeSegments(Ljava/lang/String;)[Ljava/lang/String;
-PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->encodeSegments([Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->getAuthority()Ljava/lang/String;
-PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->isPathPrefixMatch([Ljava/lang/String;[Ljava/lang/String;)Z
+PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->hasPermission(Ljava/util/List;)Z
 PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->readFrom(Lorg/xmlpull/v1/XmlPullParser;)V
 PLcom/android/server/slice/SliceClientPermissions$SliceAuthority;->writeTo(Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/slice/SliceClientPermissions;-><init>(Lcom/android/server/slice/SlicePermissionManager$PkgUser;Lcom/android/server/slice/DirtyTracker;)V
-PLcom/android/server/slice/SliceClientPermissions;->access$200()Ljava/lang/String;
 PLcom/android/server/slice/SliceClientPermissions;->createFrom(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/slice/DirtyTracker;)Lcom/android/server/slice/SliceClientPermissions;
-PLcom/android/server/slice/SliceClientPermissions;->getAuthority(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;
-PLcom/android/server/slice/SliceClientPermissions;->getFileName(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Ljava/lang/String;
+PLcom/android/server/slice/SliceClientPermissions;->getFileName()Ljava/lang/String;
 PLcom/android/server/slice/SliceClientPermissions;->getOrCreateAuthority(Lcom/android/server/slice/SlicePermissionManager$PkgUser;Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;
 PLcom/android/server/slice/SliceClientPermissions;->grantUri(Landroid/net/Uri;Lcom/android/server/slice/SlicePermissionManager$PkgUser;)V
-PLcom/android/server/slice/SliceClientPermissions;->hasFullAccess()Z
-PLcom/android/server/slice/SliceClientPermissions;->hasPermission(Landroid/net/Uri;I)Z
+PLcom/android/server/slice/SliceClientPermissions;->onPersistableDirty(Lcom/android/server/slice/DirtyTracker$Persistable;)V
 PLcom/android/server/slice/SliceClientPermissions;->writeTo(Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/slice/SliceManagerService$1;-><init>(Lcom/android/server/slice/SliceManagerService;)V
-PLcom/android/server/slice/SliceManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/slice/SliceManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/slice/SliceManagerService$Lifecycle;->onBootPhase(I)V
-PLcom/android/server/slice/SliceManagerService$Lifecycle;->onStart()V
+PLcom/android/server/slice/SliceManagerService$Lifecycle;->onStopUser(I)V
 PLcom/android/server/slice/SliceManagerService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/slice/SliceManagerService$PackageMatchingCache;-><init>(Ljava/util/function/Supplier;)V
-PLcom/android/server/slice/SliceManagerService$PackageMatchingCache;->matches(Ljava/lang/String;)Z
-PLcom/android/server/slice/SliceManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/slice/SliceManagerService;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-PLcom/android/server/slice/SliceManagerService;->access$100(Lcom/android/server/slice/SliceManagerService;)V
-PLcom/android/server/slice/SliceManagerService;->access$200(Lcom/android/server/slice/SliceManagerService;I)V
-PLcom/android/server/slice/SliceManagerService;->checkAccess(Ljava/lang/String;Landroid/net/Uri;II)I
-PLcom/android/server/slice/SliceManagerService;->checkSlicePermission(Landroid/net/Uri;Ljava/lang/String;II[Ljava/lang/String;)I
-PLcom/android/server/slice/SliceManagerService;->createHandler()Lcom/android/server/ServiceThread;
-PLcom/android/server/slice/SliceManagerService;->createPinnedSlice(Landroid/net/Uri;Ljava/lang/String;)Lcom/android/server/slice/PinnedSliceState;
-PLcom/android/server/slice/SliceManagerService;->enforceAccess(Ljava/lang/String;Landroid/net/Uri;)V
-PLcom/android/server/slice/SliceManagerService;->enforceCrossUser(Ljava/lang/String;Landroid/net/Uri;)V
 PLcom/android/server/slice/SliceManagerService;->enforceOwner(Ljava/lang/String;Landroid/net/Uri;I)V
-PLcom/android/server/slice/SliceManagerService;->getAssistant(I)Ljava/lang/String;
-PLcom/android/server/slice/SliceManagerService;->getAssistantMatcher(I)Lcom/android/server/slice/SliceManagerService$PackageMatchingCache;
 PLcom/android/server/slice/SliceManagerService;->getBackupPayload(I)[B
-PLcom/android/server/slice/SliceManagerService;->getContext()Landroid/content/Context;
-PLcom/android/server/slice/SliceManagerService;->getDefaultHome(I)Ljava/lang/String;
-PLcom/android/server/slice/SliceManagerService;->getHandler()Landroid/os/Handler;
-PLcom/android/server/slice/SliceManagerService;->getHomeMatcher(I)Lcom/android/server/slice/SliceManagerService$PackageMatchingCache;
-PLcom/android/server/slice/SliceManagerService;->getLock()Ljava/lang/Object;
-PLcom/android/server/slice/SliceManagerService;->getOrCreatePinnedSlice(Landroid/net/Uri;Ljava/lang/String;)Lcom/android/server/slice/PinnedSliceState;
 PLcom/android/server/slice/SliceManagerService;->getPinnedSlice(Landroid/net/Uri;)Lcom/android/server/slice/PinnedSliceState;
-PLcom/android/server/slice/SliceManagerService;->getPinnedSlices(Ljava/lang/String;)[Landroid/net/Uri;
-PLcom/android/server/slice/SliceManagerService;->getProviderPkg(Landroid/net/Uri;I)Ljava/lang/String;
+PLcom/android/server/slice/SliceManagerService;->getPinnedSpecs(Landroid/net/Uri;Ljava/lang/String;)[Landroid/app/slice/SliceSpec;
 PLcom/android/server/slice/SliceManagerService;->grantSlicePermission(Ljava/lang/String;Ljava/lang/String;Landroid/net/Uri;)V
-PLcom/android/server/slice/SliceManagerService;->hasFullSliceAccess(Ljava/lang/String;I)Z
-PLcom/android/server/slice/SliceManagerService;->isAssistant(Ljava/lang/String;I)Z
-PLcom/android/server/slice/SliceManagerService;->isDefaultHomeApp(Ljava/lang/String;I)Z
-PLcom/android/server/slice/SliceManagerService;->isGrantedFullAccess(Ljava/lang/String;I)Z
-PLcom/android/server/slice/SliceManagerService;->lambda$getAssistantMatcher$2(Lcom/android/server/slice/SliceManagerService;I)Ljava/lang/String;
-PLcom/android/server/slice/SliceManagerService;->lambda$getHomeMatcher$3(Lcom/android/server/slice/SliceManagerService;I)Ljava/lang/String;
-PLcom/android/server/slice/SliceManagerService;->lambda$pinSlice$1(Lcom/android/server/slice/SliceManagerService;Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/slice/SliceManagerService;->onUnlockUser(I)V
-PLcom/android/server/slice/SliceManagerService;->pinSlice(Ljava/lang/String;Landroid/net/Uri;[Landroid/app/slice/SliceSpec;Landroid/os/IBinder;)V
+PLcom/android/server/slice/SliceManagerService;->onStopUser(I)V
 PLcom/android/server/slice/SliceManagerService;->removePinnedSlice(Landroid/net/Uri;)V
-PLcom/android/server/slice/SliceManagerService;->systemReady()V
 PLcom/android/server/slice/SliceManagerService;->unpinSlice(Ljava/lang/String;Landroid/net/Uri;Landroid/os/IBinder;)V
-PLcom/android/server/slice/SliceManagerService;->verifyCaller(Ljava/lang/String;)V
-PLcom/android/server/slice/SlicePermissionManager$H;-><init>(Lcom/android/server/slice/SlicePermissionManager;Landroid/os/Looper;)V
 PLcom/android/server/slice/SlicePermissionManager$H;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/slice/SlicePermissionManager$ParserHolder;-><init>(Lcom/android/server/slice/SlicePermissionManager;)V
-PLcom/android/server/slice/SlicePermissionManager$ParserHolder;-><init>(Lcom/android/server/slice/SlicePermissionManager;Lcom/android/server/slice/SlicePermissionManager$1;)V
-PLcom/android/server/slice/SlicePermissionManager$ParserHolder;->access$100(Lcom/android/server/slice/SlicePermissionManager$ParserHolder;)Lorg/xmlpull/v1/XmlPullParser;
-PLcom/android/server/slice/SlicePermissionManager$ParserHolder;->access$102(Lcom/android/server/slice/SlicePermissionManager$ParserHolder;Lorg/xmlpull/v1/XmlPullParser;)Lorg/xmlpull/v1/XmlPullParser;
-PLcom/android/server/slice/SlicePermissionManager$ParserHolder;->access$300(Lcom/android/server/slice/SlicePermissionManager$ParserHolder;)Ljava/io/InputStream;
-PLcom/android/server/slice/SlicePermissionManager$ParserHolder;->access$302(Lcom/android/server/slice/SlicePermissionManager$ParserHolder;Ljava/io/InputStream;)Ljava/io/InputStream;
 PLcom/android/server/slice/SlicePermissionManager$ParserHolder;->close()V
 PLcom/android/server/slice/SlicePermissionManager$PkgUser;-><init>(Ljava/lang/String;)V
-PLcom/android/server/slice/SlicePermissionManager$PkgUser;-><init>(Ljava/lang/String;I)V
-PLcom/android/server/slice/SlicePermissionManager$PkgUser;->equals(Ljava/lang/Object;)Z
 PLcom/android/server/slice/SlicePermissionManager$PkgUser;->getUserId()I
-PLcom/android/server/slice/SlicePermissionManager$PkgUser;->hashCode()I
-PLcom/android/server/slice/SlicePermissionManager$PkgUser;->toString()Ljava/lang/String;
 PLcom/android/server/slice/SlicePermissionManager;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/slice/SlicePermissionManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-PLcom/android/server/slice/SlicePermissionManager;-><init>(Landroid/content/Context;Landroid/os/Looper;Ljava/io/File;)V
-PLcom/android/server/slice/SlicePermissionManager;->access$700(Lcom/android/server/slice/SlicePermissionManager;)Landroid/util/ArrayMap;
-PLcom/android/server/slice/SlicePermissionManager;->access$800(Lcom/android/server/slice/SlicePermissionManager;)Landroid/util/ArrayMap;
-PLcom/android/server/slice/SlicePermissionManager;->getClient(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceClientPermissions;
-PLcom/android/server/slice/SlicePermissionManager;->getFile(Ljava/lang/String;)Landroid/util/AtomicFile;
-PLcom/android/server/slice/SlicePermissionManager;->getParser(Ljava/lang/String;)Lcom/android/server/slice/SlicePermissionManager$ParserHolder;
-PLcom/android/server/slice/SlicePermissionManager;->getProvider(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceProviderPermissions;
 PLcom/android/server/slice/SlicePermissionManager;->grantSliceAccess(Ljava/lang/String;ILjava/lang/String;ILandroid/net/Uri;)V
-PLcom/android/server/slice/SlicePermissionManager;->hasFullAccess(Ljava/lang/String;I)Z
-PLcom/android/server/slice/SlicePermissionManager;->hasPermission(Ljava/lang/String;ILandroid/net/Uri;)Z
+PLcom/android/server/slice/SlicePermissionManager;->handlePersist()V
+PLcom/android/server/slice/SlicePermissionManager;->onPersistableDirty(Lcom/android/server/slice/DirtyTracker$Persistable;)V
 PLcom/android/server/slice/SlicePermissionManager;->writeBackup(Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/slice/SliceProviderPermissions$SliceAuthority;-><init>(Ljava/lang/String;Lcom/android/server/slice/DirtyTracker;)V
-PLcom/android/server/slice/SliceProviderPermissions$SliceAuthority;->access$000(Lcom/android/server/slice/SliceProviderPermissions$SliceAuthority;)Ljava/lang/String;
 PLcom/android/server/slice/SliceProviderPermissions$SliceAuthority;->addPkg(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)V
-PLcom/android/server/slice/SliceProviderPermissions$SliceAuthority;->getAuthority()Ljava/lang/String;
 PLcom/android/server/slice/SliceProviderPermissions$SliceAuthority;->readFrom(Lorg/xmlpull/v1/XmlPullParser;)V
 PLcom/android/server/slice/SliceProviderPermissions$SliceAuthority;->writeTo(Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/slice/SliceProviderPermissions;-><init>(Lcom/android/server/slice/SlicePermissionManager$PkgUser;Lcom/android/server/slice/DirtyTracker;)V
-PLcom/android/server/slice/SliceProviderPermissions;->access$100()Ljava/lang/String;
 PLcom/android/server/slice/SliceProviderPermissions;->createFrom(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/slice/DirtyTracker;)Lcom/android/server/slice/SliceProviderPermissions;
-PLcom/android/server/slice/SliceProviderPermissions;->getFileName(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Ljava/lang/String;
 PLcom/android/server/slice/SliceProviderPermissions;->getOrCreateAuthority(Ljava/lang/String;)Lcom/android/server/slice/SliceProviderPermissions$SliceAuthority;
 PLcom/android/server/slice/SliceProviderPermissions;->writeTo(Lorg/xmlpull/v1/XmlSerializer;)V
-PLcom/android/server/soundtrigger/SoundTriggerDbHelper;-><init>(Landroid/content/Context;)V
+PLcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$F-iA254xzDfAHrQW86c2oSqXfwI;->run(ILandroid/media/soundtrigger/ISoundTriggerDetectionService;)V
+PLcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$t5mBYXswwLAAdm47WS10stLjYng;->run()V
+PLcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$wfDlqQ7aPvu9qZCZ24jJu4tfUMY;-><init>()V
+PLcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$wfDlqQ7aPvu9qZCZ24jJu4tfUMY;->accept(Ljava/lang/Object;)V
+PLcom/android/server/soundtrigger/-$$Lambda$SoundTriggerService$RemoteSoundTriggerDetectionService$yqLMvkOmrO13yWrggtSaVrLgsWo;->run()V
 PLcom/android/server/soundtrigger/SoundTriggerDbHelper;->deleteGenericSoundModel(Ljava/util/UUID;)Z
 PLcom/android/server/soundtrigger/SoundTriggerDbHelper;->getGenericSoundModel(Ljava/util/UUID;)Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;
-PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;-><init>(Ljava/util/UUID;I)V
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->clearCallback()V
-PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->createKeyphraseModelData(Ljava/util/UUID;)Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;
+PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->clearState()V
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->getCallback()Landroid/hardware/soundtrigger/IRecognitionStatusCallback;
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->getHandle()I
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->getModelId()Ljava/util/UUID;
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->getRecognitionConfig()Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->getSoundModel()Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;
+PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->isGenericModel()Z
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->isKeyphraseModel()Z
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->isModelLoaded()Z
-PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->isModelNotLoaded()Z
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->isModelStarted()Z
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->isRequested()Z
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->setCallback(Landroid/hardware/soundtrigger/IRecognitionStatusCallback;)V
@@ -16421,26 +10730,21 @@
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->setSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;)V
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->setStarted()V
 PLcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;->setStopped()V
-PLcom/android/server/soundtrigger/SoundTriggerHelper$MyCallStateListener;-><init>(Lcom/android/server/soundtrigger/SoundTriggerHelper;)V
 PLcom/android/server/soundtrigger/SoundTriggerHelper$MyCallStateListener;->onCallStateChanged(ILjava/lang/String;)V
-PLcom/android/server/soundtrigger/SoundTriggerHelper$PowerSaveModeListener;-><init>(Lcom/android/server/soundtrigger/SoundTriggerHelper;)V
-PLcom/android/server/soundtrigger/SoundTriggerHelper;-><init>(Landroid/content/Context;)V
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->access$000(Lcom/android/server/soundtrigger/SoundTriggerHelper;)Ljava/lang/Object;
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->access$100(Lcom/android/server/soundtrigger/SoundTriggerHelper;Z)V
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->computeRecognitionRunningLocked()Z
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->createKeyphraseModelDataLocked(Ljava/util/UUID;I)Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->getKeyphraseIdFromEvent(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;)I
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->getKeyphraseModelDataLocked(I)Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;
+PLcom/android/server/soundtrigger/SoundTriggerHelper;->forceStopAndUnloadModelLocked(Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;Ljava/lang/Exception;Ljava/util/Iterator;)V
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->getModuleProperties()Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;
+PLcom/android/server/soundtrigger/SoundTriggerHelper;->getOrCreateGenericModelDataLocked(Ljava/util/UUID;)Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->initializeTelephonyAndPowerStateListeners()V
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->internalClearGlobalStateLocked()V
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->isKeyphraseRecognitionEvent(Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;)Z
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->isRecognitionAllowed()Z
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->onCallStateChangedLocked(Z)V
+PLcom/android/server/soundtrigger/SoundTriggerHelper;->isRecognitionRequested(Ljava/util/UUID;)Z
+PLcom/android/server/soundtrigger/SoundTriggerHelper;->onGenericRecognitionSuccessLocked(Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;)V
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->onKeyphraseRecognitionSuccessLocked(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseRecognitionEvent;)V
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->onRecognition(Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;)V
+PLcom/android/server/soundtrigger/SoundTriggerHelper;->onRecognitionAbortLocked(Landroid/hardware/soundtrigger/SoundTrigger$RecognitionEvent;)V
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->onServiceStateChange(I)V
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->onServiceStateChangedLocked(Z)V
+PLcom/android/server/soundtrigger/SoundTriggerHelper;->startGenericRecognition(Ljava/util/UUID;Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->startKeyphraseRecognition(ILandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->startRecognition(Landroid/hardware/soundtrigger/SoundTrigger$SoundModel;Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;I)I
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->startRecognitionLocked(Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;Z)I
@@ -16448,990 +10752,606 @@
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->stopKeyphraseRecognition(ILandroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->stopRecognition(Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->stopRecognitionLocked(Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;Z)I
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->tryStopAndUnloadLocked(Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;ZZ)I
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->unloadGenericSoundModel(Ljava/util/UUID;)I
+PLcom/android/server/soundtrigger/SoundTriggerHelper;->unloadKeyphraseSoundModel(I)I
 PLcom/android/server/soundtrigger/SoundTriggerHelper;->updateAllRecognitionsLocked(Z)V
-PLcom/android/server/soundtrigger/SoundTriggerHelper;->updateRecognitionLocked(Lcom/android/server/soundtrigger/SoundTriggerHelper$ModelData;ZZ)I
-PLcom/android/server/soundtrigger/SoundTriggerInternal;-><init>()V
-PLcom/android/server/soundtrigger/SoundTriggerService$1;-><init>(Lcom/android/server/soundtrigger/SoundTriggerService;)V
-PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;-><init>(Lcom/android/server/soundtrigger/SoundTriggerService;Landroid/content/Context;)V
 PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;->getModuleProperties()Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;
 PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;->isInitialized()Z
-PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;->setSoundTriggerHelper(Lcom/android/server/soundtrigger/SoundTriggerHelper;)V
 PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;->startRecognition(ILandroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
 PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;->stopRecognition(ILandroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
-PLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;-><init>(Lcom/android/server/soundtrigger/SoundTriggerService;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;->unloadKeyphraseModel(I)I
+PLcom/android/server/soundtrigger/SoundTriggerService$NumOps;->addOp(J)V
+PLcom/android/server/soundtrigger/SoundTriggerService$NumOps;->clearOldOps(J)V
+PLcom/android/server/soundtrigger/SoundTriggerService$NumOps;->getOpsAdded()I
+PLcom/android/server/soundtrigger/SoundTriggerService$Operation;->drop()V
+PLcom/android/server/soundtrigger/SoundTriggerService$Operation;->run(ILandroid/media/soundtrigger/ISoundTriggerDetectionService;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService$1;->onOpFinished(I)V
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;-><init>(Lcom/android/server/soundtrigger/SoundTriggerService;Ljava/util/UUID;Landroid/os/Bundle;Landroid/content/ComponentName;Landroid/os/UserHandle;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->bind()V
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->destroy()V
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->disconnectLocked()V
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->lambda$onError$3$SoundTriggerService$RemoteSoundTriggerDetectionService()V
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->lambda$onGenericSoundTriggerDetected$0$SoundTriggerService$RemoteSoundTriggerDetectionService()V
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->lambda$onGenericSoundTriggerDetected$1$SoundTriggerService$RemoteSoundTriggerDetectionService(Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;ILandroid/media/soundtrigger/ISoundTriggerDetectionService;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->onError(I)V
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->onGenericSoundTriggerDetected(Landroid/hardware/soundtrigger/SoundTrigger$GenericRecognitionEvent;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->onRecognitionPaused()V
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->onRecognitionResumed()V
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->pingBinder()Z
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->runOrAddOperation(Lcom/android/server/soundtrigger/SoundTriggerService$Operation;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$RemoteSoundTriggerDetectionService;->stopAllPendingOperations()V
 PLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;->deleteSoundModel(Landroid/os/ParcelUuid;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;->isRecognitionActive(Landroid/os/ParcelUuid;)Z
+PLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;->loadGenericSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$GenericSoundModel;)I
 PLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLcom/android/server/soundtrigger/SoundTriggerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/soundtrigger/SoundTriggerService;->access$000(Lcom/android/server/soundtrigger/SoundTriggerService;Ljava/lang/String;)V
-PLcom/android/server/soundtrigger/SoundTriggerService;->access$200(Lcom/android/server/soundtrigger/SoundTriggerService;)Lcom/android/server/soundtrigger/SoundTriggerHelper;
-PLcom/android/server/soundtrigger/SoundTriggerService;->access$300(Lcom/android/server/soundtrigger/SoundTriggerService;)Lcom/android/server/soundtrigger/SoundTriggerDbHelper;
-PLcom/android/server/soundtrigger/SoundTriggerService;->enforceCallingPermission(Ljava/lang/String;)V
-PLcom/android/server/soundtrigger/SoundTriggerService;->initSoundTriggerHelper()V
-PLcom/android/server/soundtrigger/SoundTriggerService;->onBootPhase(I)V
-PLcom/android/server/soundtrigger/SoundTriggerService;->onStart()V
-PLcom/android/server/soundtrigger/SoundTriggerService;->onStartUser(I)V
-PLcom/android/server/stats/-$$Lambda$StatsCompanionService$HnKmFmrhuaLvGqFujHXRVkF_MsY;-><init>(JILjava/util/List;)V
-PLcom/android/server/stats/-$$Lambda$StatsCompanionService$huFrwWUJ-ABqZn7Xg215J22rAxY;-><init>(JILjava/util/List;)V
-PLcom/android/server/stats/-$$Lambda$StatsCompanionService$jXfS7_WmvALP_3l6Dg3O1qMWGdk;-><init>(JILjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService$1;-><init>(Lcom/android/server/stats/StatsCompanionService;)V
-PLcom/android/server/stats/StatsCompanionService$AppUpdateReceiver;-><init>()V
-PLcom/android/server/stats/StatsCompanionService$AppUpdateReceiver;-><init>(Lcom/android/server/stats/StatsCompanionService$1;)V
+PLcom/android/server/soundtrigger/SoundTriggerService$SoundTriggerServiceStub;->startRecognitionForService(Landroid/os/ParcelUuid;Landroid/os/Bundle;Landroid/content/ComponentName;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
+PLcom/android/server/soundtrigger/SoundTriggerService;->isInitialized()Z
+PLcom/android/server/stats/-$$Lambda$StatsCompanionService$NHd5PvhbQidUUj9jg6uXxw6FMs0;->onUidCpuTime(ILjava/lang/Object;)V
 PLcom/android/server/stats/StatsCompanionService$AppUpdateReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/stats/StatsCompanionService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/stats/StatsCompanionService$Lifecycle;->onBootPhase(I)V
-PLcom/android/server/stats/StatsCompanionService$Lifecycle;->onStart()V
-PLcom/android/server/stats/StatsCompanionService$PullingAlarmReceiver;-><init>()V
-PLcom/android/server/stats/StatsCompanionService$PullingAlarmReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/stats/StatsCompanionService$ShutdownEventReceiver;-><init>()V
-PLcom/android/server/stats/StatsCompanionService$StatsdDeathRecipient;-><init>(Lcom/android/server/stats/StatsCompanionService;)V
-PLcom/android/server/stats/StatsCompanionService$StatsdDeathRecipient;-><init>(Lcom/android/server/stats/StatsCompanionService;Lcom/android/server/stats/StatsCompanionService$1;)V
-PLcom/android/server/stats/StatsCompanionService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/stats/StatsCompanionService;->access$100()Ljava/lang/Object;
-PLcom/android/server/stats/StatsCompanionService;->access$200()Landroid/os/IStatsManager;
-PLcom/android/server/stats/StatsCompanionService;->access$600(Lcom/android/server/stats/StatsCompanionService;)V
-PLcom/android/server/stats/StatsCompanionService;->awaitControllerInfo(Landroid/os/SynchronousResultReceiver;)Landroid/os/Parcelable;
-PLcom/android/server/stats/StatsCompanionService;->fetchStatsdService()Landroid/os/IStatsManager;
-PLcom/android/server/stats/StatsCompanionService;->informAllUidsLocked(Landroid/content/Context;)V
-PLcom/android/server/stats/StatsCompanionService;->pullBluetoothActivityInfo(ILjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullBluetoothBytesTransfer(ILjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullBluetoothData()Landroid/bluetooth/BluetoothActivityEnergyInfo;
+PLcom/android/server/stats/StatsCompanionService$ConnectivityStatsCallback;->onAvailable(Landroid/net/Network;)V
+PLcom/android/server/stats/StatsCompanionService$ConnectivityStatsCallback;->onLost(Landroid/net/Network;)V
+PLcom/android/server/stats/StatsCompanionService$PeriodicAlarmListener;->onAlarm()V
+PLcom/android/server/stats/StatsCompanionService$PullingAlarmListener;->onAlarm()V
+PLcom/android/server/stats/StatsCompanionService$ShutdownEventReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/stats/StatsCompanionService;->addNetworkStats(ILjava/util/List;Landroid/net/NetworkStats;Z)V
+PLcom/android/server/stats/StatsCompanionService;->cancelAlarmForSubscriberTriggering()V
+PLcom/android/server/stats/StatsCompanionService;->cancelAnomalyAlarm()V
+PLcom/android/server/stats/StatsCompanionService;->pullBinderCallsStats(IJJLjava/util/List;)V
+PLcom/android/server/stats/StatsCompanionService;->pullCpuTimePerThreadFreq(IJJLjava/util/List;)V
 PLcom/android/server/stats/StatsCompanionService;->pullData(I)[Landroid/os/StatsLogEventWrapper;
-PLcom/android/server/stats/StatsCompanionService;->pullDiskSpace(ILjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullKernelUidCpuActiveTime(ILjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullKernelUidCpuClusterTime(ILjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullKernelUidCpuTime(ILjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullMobileBytesTransfer(ILjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullMobileBytesTransferByFgBg(ILjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullModemActivityInfo(ILjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullProcessMemoryState(ILjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullSystemUpTime(ILjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullWifiActivityInfo(ILjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->pullWifiBytesTransfer(ILjava/util/List;)V
-PLcom/android/server/stats/StatsCompanionService;->sayHiToStatsd()V
+PLcom/android/server/stats/StatsCompanionService;->pullDebugElapsedClock(IJJLjava/util/List;)V
+PLcom/android/server/stats/StatsCompanionService;->pullDebugFailingElapsedClock(IJJLjava/util/List;)V
+PLcom/android/server/stats/StatsCompanionService;->pullLooperStats(IJJLjava/util/List;)V
+PLcom/android/server/stats/StatsCompanionService;->pullMobileBytesTransferByFgBg(IJJLjava/util/List;)V
+PLcom/android/server/stats/StatsCompanionService;->pullNativeProcessMemoryState(IJJLjava/util/List;)V
+PLcom/android/server/stats/StatsCompanionService;->pullProcessMemoryHighWaterMark(IJJLjava/util/List;)V
+PLcom/android/server/stats/StatsCompanionService;->pullProcessMemoryState(IJJLjava/util/List;)V
+PLcom/android/server/stats/StatsCompanionService;->pullTemperature(IJJLjava/util/List;)V
+PLcom/android/server/stats/StatsCompanionService;->rollupNetworkStatsByFGBG(Landroid/net/NetworkStats;)Landroid/net/NetworkStats;
 PLcom/android/server/stats/StatsCompanionService;->sendDataBroadcast(Landroid/os/IBinder;J)V
-PLcom/android/server/stats/StatsCompanionService;->setPullingAlarm(J)V
-PLcom/android/server/stats/StatsCompanionService;->systemReady()V
-PLcom/android/server/stats/StatsCompanionService;->toIntArray(Ljava/util/List;)[I
-PLcom/android/server/stats/StatsCompanionService;->toLongArray(Ljava/util/List;)[J
-PLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$yJtT-4wu2t7bMtUpZNqcLBShMU8;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
-PLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$yJtT-4wu2t7bMtUpZNqcLBShMU8;->run()V
-PLcom/android/server/statusbar/StatusBarManagerService$1;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
-PLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionFinished()V
-PLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionPending()V
-PLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionStarting(JJ)V
-PLcom/android/server/statusbar/StatusBarManagerService$1;->setNotificationDelegate(Lcom/android/server/notification/NotificationDelegate;)V
-PLcom/android/server/statusbar/StatusBarManagerService$1;->setSystemUiVisibility(IIIILandroid/graphics/Rect;Landroid/graphics/Rect;Ljava/lang/String;)V
-PLcom/android/server/statusbar/StatusBarManagerService$1;->setTopAppHidesStatusBar(Z)V
-PLcom/android/server/statusbar/StatusBarManagerService$1;->topAppWindowChanged(Z)V
-PLcom/android/server/statusbar/StatusBarManagerService$2;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
-PLcom/android/server/statusbar/StatusBarManagerService$3;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;I)V
-PLcom/android/server/statusbar/StatusBarManagerService$3;->run()V
-PLcom/android/server/statusbar/StatusBarManagerService$4;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;Z)V
-PLcom/android/server/statusbar/StatusBarManagerService$4;->run()V
-PLcom/android/server/statusbar/StatusBarManagerService$5;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;Landroid/os/IBinder;IIZ)V
-PLcom/android/server/statusbar/StatusBarManagerService$5;->run()V
-PLcom/android/server/statusbar/StatusBarManagerService$6;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;IIIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
-PLcom/android/server/statusbar/StatusBarManagerService$6;->run()V
-PLcom/android/server/statusbar/StatusBarManagerService$7;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
-PLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;ILandroid/os/IBinder;)V
-PLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;->isEmpty()Z
-PLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;->setFlags(IILjava/lang/String;)V
-PLcom/android/server/statusbar/StatusBarManagerService;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/statusbar/StatusBarManagerService;->access$000(Lcom/android/server/statusbar/StatusBarManagerService;)Lcom/android/server/notification/NotificationDelegate;
-PLcom/android/server/statusbar/StatusBarManagerService;->access$002(Lcom/android/server/statusbar/StatusBarManagerService;Lcom/android/server/notification/NotificationDelegate;)Lcom/android/server/notification/NotificationDelegate;
-PLcom/android/server/statusbar/StatusBarManagerService;->access$200(Lcom/android/server/statusbar/StatusBarManagerService;Z)V
-PLcom/android/server/statusbar/StatusBarManagerService;->access$300(Lcom/android/server/statusbar/StatusBarManagerService;IIIILandroid/graphics/Rect;Landroid/graphics/Rect;Ljava/lang/String;)V
-PLcom/android/server/statusbar/StatusBarManagerService;->access$400(Lcom/android/server/statusbar/StatusBarManagerService;)V
+PLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$hFIYx92VN4dEb4589FKdmNsCofc;->run()V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionCancelled(I)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionPending(I)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionStarting(IJJ)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->onCameraLaunchGestureDetected(I)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->onDisplayReady(I)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->onProposedRotationChanged(IZ)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->setWindowState(III)V
+PLcom/android/server/statusbar/StatusBarManagerService$1;->showChargingAnimation(I)V
+PLcom/android/server/statusbar/StatusBarManagerService$2;->isGlobalActionsDisabled()Z
+PLcom/android/server/statusbar/StatusBarManagerService$2;->setGlobalActionsListener(Lcom/android/server/policy/GlobalActionsProvider$GlobalActionsListener;)V
+PLcom/android/server/statusbar/StatusBarManagerService$2;->showGlobalActions()V
 PLcom/android/server/statusbar/StatusBarManagerService;->clearNotificationEffects()V
-PLcom/android/server/statusbar/StatusBarManagerService;->disable(ILandroid/os/IBinder;Ljava/lang/String;)V
-PLcom/android/server/statusbar/StatusBarManagerService;->disableForUser(ILandroid/os/IBinder;Ljava/lang/String;I)V
-PLcom/android/server/statusbar/StatusBarManagerService;->disableLocked(IILandroid/os/IBinder;Ljava/lang/String;I)V
-PLcom/android/server/statusbar/StatusBarManagerService;->enforceExpandStatusBar()V
-PLcom/android/server/statusbar/StatusBarManagerService;->enforceStatusBar()V
 PLcom/android/server/statusbar/StatusBarManagerService;->handleSystemKey(I)V
-PLcom/android/server/statusbar/StatusBarManagerService;->lambda$notifyBarAttachChanged$0(Lcom/android/server/statusbar/StatusBarManagerService;)V
-PLcom/android/server/statusbar/StatusBarManagerService;->notifyBarAttachChanged()V
-PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationClear(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;ILcom/android/internal/statusbar/NotificationVisibility;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->lambda$setImeWindowStatus$2$StatusBarManagerService(Landroid/os/IBinder;IIZ)V
+PLcom/android/server/statusbar/StatusBarManagerService;->lambda$setImeWindowStatus$2(Lcom/android/server/statusbar/StatusBarManagerService;Landroid/os/IBinder;IIZ)V
+PLcom/android/server/statusbar/StatusBarManagerService;->onBiometricAuthenticated(Z)V
+PLcom/android/server/statusbar/StatusBarManagerService;->onBiometricError(Ljava/lang/String;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->onBiometricHelp(Ljava/lang/String;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->onDisplayAdded(I)V
+PLcom/android/server/statusbar/StatusBarManagerService;->onDisplayRemoved(I)V
+PLcom/android/server/statusbar/StatusBarManagerService;->onGlobalActionsHidden()V
+PLcom/android/server/statusbar/StatusBarManagerService;->onGlobalActionsShown()V
+PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationActionClick(Ljava/lang/String;ILandroid/app/Notification$Action;Lcom/android/internal/statusbar/NotificationVisibility;Z)V
+PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationClear(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;IILcom/android/internal/statusbar/NotificationVisibility;)V
 PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationClick(Ljava/lang/String;Lcom/android/internal/statusbar/NotificationVisibility;)V
-PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationExpansionChanged(Ljava/lang/String;ZZ)V
+PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationDirectReplied(Ljava/lang/String;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationExpansionChanged(Ljava/lang/String;ZZI)V
+PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationSmartSuggestionsAdded(Ljava/lang/String;IIZZ)V
 PLcom/android/server/statusbar/StatusBarManagerService;->onNotificationVisibilityChanged([Lcom/android/internal/statusbar/NotificationVisibility;[Lcom/android/internal/statusbar/NotificationVisibility;)V
 PLcom/android/server/statusbar/StatusBarManagerService;->onPanelHidden()V
 PLcom/android/server/statusbar/StatusBarManagerService;->onPanelRevealed(ZI)V
-PLcom/android/server/statusbar/StatusBarManagerService;->registerStatusBar(Lcom/android/internal/statusbar/IStatusBar;Ljava/util/List;Ljava/util/List;[ILjava/util/List;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-PLcom/android/server/statusbar/StatusBarManagerService;->setIconVisibility(Ljava/lang/String;Z)V
+PLcom/android/server/statusbar/StatusBarManagerService;->remTile(Landroid/content/ComponentName;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->removeIcon(Ljava/lang/String;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->setIcon(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;)V
 PLcom/android/server/statusbar/StatusBarManagerService;->setImeWindowStatus(Landroid/os/IBinder;IIZ)V
-PLcom/android/server/statusbar/StatusBarManagerService;->setSystemUiVisibility(IIIILandroid/graphics/Rect;Landroid/graphics/Rect;Ljava/lang/String;)V
-PLcom/android/server/statusbar/StatusBarManagerService;->topAppWindowChanged(Z)V
-PLcom/android/server/statusbar/StatusBarManagerService;->updateUiVisibilityLocked(IIIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
-PLcom/android/server/storage/AppCollector$BackgroundHandler;-><init>(Lcom/android/server/storage/AppCollector;Landroid/os/Looper;Landroid/os/storage/VolumeInfo;Landroid/content/pm/PackageManager;Landroid/os/UserManager;Landroid/app/usage/StorageStatsManager;)V
+PLcom/android/server/statusbar/StatusBarManagerService;->showBiometricDialog(Landroid/os/Bundle;Landroid/hardware/biometrics/IBiometricServiceReceiverInternal;IZI)V
 PLcom/android/server/storage/AppCollector$BackgroundHandler;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/storage/AppCollector;-><init>(Landroid/content/Context;Landroid/os/storage/VolumeInfo;)V
-PLcom/android/server/storage/AppCollector;->access$100(Lcom/android/server/storage/AppCollector;)Ljava/util/concurrent/CompletableFuture;
 PLcom/android/server/storage/AppCollector;->getPackageStats(J)Ljava/util/List;
-PLcom/android/server/storage/CacheQuotaStrategy$1$1;-><init>(Lcom/android/server/storage/CacheQuotaStrategy$1;Landroid/os/IBinder;)V
+PLcom/android/server/storage/AppFuseBridge$MountScope;->setMountResultLocked(Z)V
+PLcom/android/server/storage/AppFuseBridge$MountScope;->waitForMount()Z
+PLcom/android/server/storage/AppFuseBridge;->addBridge(Lcom/android/server/storage/AppFuseBridge$MountScope;)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/storage/AppFuseBridge;->onClosed(I)V
+PLcom/android/server/storage/AppFuseBridge;->onMount(I)V
+PLcom/android/server/storage/AppFuseBridge;->openFile(III)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/storage/AppFuseBridge;->run()V
 PLcom/android/server/storage/CacheQuotaStrategy$1$1;->run()V
-PLcom/android/server/storage/CacheQuotaStrategy$1;-><init>(Lcom/android/server/storage/CacheQuotaStrategy;)V
 PLcom/android/server/storage/CacheQuotaStrategy$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/storage/CacheQuotaStrategy;-><init>(Landroid/content/Context;Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/pm/Installer;Landroid/util/ArrayMap;)V
-PLcom/android/server/storage/CacheQuotaStrategy;->access$000(Lcom/android/server/storage/CacheQuotaStrategy;)Ljava/lang/Object;
-PLcom/android/server/storage/CacheQuotaStrategy;->access$100(Lcom/android/server/storage/CacheQuotaStrategy;)Landroid/app/usage/ICacheQuotaService;
-PLcom/android/server/storage/CacheQuotaStrategy;->access$102(Lcom/android/server/storage/CacheQuotaStrategy;Landroid/app/usage/ICacheQuotaService;)Landroid/app/usage/ICacheQuotaService;
-PLcom/android/server/storage/CacheQuotaStrategy;->access$200(Lcom/android/server/storage/CacheQuotaStrategy;)Ljava/util/List;
-PLcom/android/server/storage/CacheQuotaStrategy;->createServiceConnection()V
-PLcom/android/server/storage/CacheQuotaStrategy;->disconnectService()V
-PLcom/android/server/storage/CacheQuotaStrategy;->getRequestFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/app/usage/CacheQuotaHint;
 PLcom/android/server/storage/CacheQuotaStrategy;->getServiceComponentName()Landroid/content/ComponentName;
 PLcom/android/server/storage/CacheQuotaStrategy;->getUnfulfilledRequests()Ljava/util/List;
-PLcom/android/server/storage/CacheQuotaStrategy;->insertIntoQuotaMap(Ljava/lang/String;IIJ)V
 PLcom/android/server/storage/CacheQuotaStrategy;->onResult(Landroid/os/Bundle;)V
-PLcom/android/server/storage/CacheQuotaStrategy;->pushProcessedQuotas(Ljava/util/List;)V
-PLcom/android/server/storage/CacheQuotaStrategy;->readFromXml(Ljava/io/InputStream;)Landroid/util/Pair;
-PLcom/android/server/storage/CacheQuotaStrategy;->recalculateQuotas()V
 PLcom/android/server/storage/CacheQuotaStrategy;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;J)V
-PLcom/android/server/storage/CacheQuotaStrategy;->setupQuotasFromFile()J
 PLcom/android/server/storage/CacheQuotaStrategy;->writeXmlToFile(Ljava/util/List;)V
-PLcom/android/server/storage/DeviceStorageMonitorService$1;-><init>(Lcom/android/server/storage/DeviceStorageMonitorService;Landroid/os/Looper;)V
-PLcom/android/server/storage/DeviceStorageMonitorService$1;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/storage/DeviceStorageMonitorService$2;-><init>(Lcom/android/server/storage/DeviceStorageMonitorService;)V
 PLcom/android/server/storage/DeviceStorageMonitorService$2;->getMemoryLowThreshold()J
 PLcom/android/server/storage/DeviceStorageMonitorService$2;->isMemoryLow()Z
-PLcom/android/server/storage/DeviceStorageMonitorService$3;-><init>(Lcom/android/server/storage/DeviceStorageMonitorService;)V
-PLcom/android/server/storage/DeviceStorageMonitorService$CacheFileDeletedObserver;-><init>()V
-PLcom/android/server/storage/DeviceStorageMonitorService$State;-><init>()V
-PLcom/android/server/storage/DeviceStorageMonitorService$State;-><init>(Lcom/android/server/storage/DeviceStorageMonitorService$1;)V
-PLcom/android/server/storage/DeviceStorageMonitorService$State;->access$400(III)Z
-PLcom/android/server/storage/DeviceStorageMonitorService$State;->access$500(III)Z
-PLcom/android/server/storage/DeviceStorageMonitorService$State;->isEntering(III)Z
-PLcom/android/server/storage/DeviceStorageMonitorService$State;->isLeaving(III)Z
-PLcom/android/server/storage/DeviceStorageMonitorService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/storage/DeviceStorageMonitorService;->access$100(Lcom/android/server/storage/DeviceStorageMonitorService;)V
-PLcom/android/server/storage/DeviceStorageMonitorService;->check()V
-PLcom/android/server/storage/DeviceStorageMonitorService;->findOrCreateState(Ljava/util/UUID;)Lcom/android/server/storage/DeviceStorageMonitorService$State;
-PLcom/android/server/storage/DeviceStorageMonitorService;->onStart()V
-PLcom/android/server/storage/DeviceStorageMonitorService;->updateBroadcasts(Landroid/os/storage/VolumeInfo;III)V
-PLcom/android/server/storage/DeviceStorageMonitorService;->updateNotifications(Landroid/os/storage/VolumeInfo;II)V
-PLcom/android/server/storage/DiskStatsFileLogger;-><init>(Lcom/android/server/storage/FileCollector$MeasurementResult;Lcom/android/server/storage/FileCollector$MeasurementResult;Ljava/util/List;J)V
 PLcom/android/server/storage/DiskStatsFileLogger;->addAppsToJson(Lorg/json/JSONObject;)V
-PLcom/android/server/storage/DiskStatsFileLogger;->dumpToFile(Ljava/io/File;)V
 PLcom/android/server/storage/DiskStatsFileLogger;->filterOnlyPrimaryUser()Landroid/util/ArrayMap;
 PLcom/android/server/storage/DiskStatsFileLogger;->getJsonRepresentation()Lorg/json/JSONObject;
-PLcom/android/server/storage/DiskStatsLoggingService$LogRunnable;-><init>()V
-PLcom/android/server/storage/DiskStatsLoggingService$LogRunnable;->finishJob(Z)V
 PLcom/android/server/storage/DiskStatsLoggingService$LogRunnable;->logToFile(Lcom/android/server/storage/FileCollector$MeasurementResult;Lcom/android/server/storage/FileCollector$MeasurementResult;Ljava/util/List;J)V
 PLcom/android/server/storage/DiskStatsLoggingService$LogRunnable;->run()V
-PLcom/android/server/storage/DiskStatsLoggingService$LogRunnable;->setAppCollector(Lcom/android/server/storage/AppCollector;)V
-PLcom/android/server/storage/DiskStatsLoggingService$LogRunnable;->setContext(Landroid/content/Context;)V
-PLcom/android/server/storage/DiskStatsLoggingService$LogRunnable;->setDownloadsDirectory(Ljava/io/File;)V
-PLcom/android/server/storage/DiskStatsLoggingService$LogRunnable;->setJobService(Landroid/app/job/JobService;Landroid/app/job/JobParameters;)V
-PLcom/android/server/storage/DiskStatsLoggingService$LogRunnable;->setLogOutputFile(Ljava/io/File;)V
-PLcom/android/server/storage/DiskStatsLoggingService$LogRunnable;->setSystemSize(J)V
 PLcom/android/server/storage/DiskStatsLoggingService;-><init>()V
-PLcom/android/server/storage/DiskStatsLoggingService;->isCharging(Landroid/content/Context;)Z
-PLcom/android/server/storage/DiskStatsLoggingService;->isDumpsysTaskEnabled(Landroid/content/ContentResolver;)Z
 PLcom/android/server/storage/DiskStatsLoggingService;->onStartJob(Landroid/app/job/JobParameters;)Z
-PLcom/android/server/storage/DiskStatsLoggingService;->schedule(Landroid/content/Context;)V
-PLcom/android/server/storage/FileCollector$MeasurementResult;-><init>()V
 PLcom/android/server/storage/FileCollector$MeasurementResult;->totalAccountedSize()J
 PLcom/android/server/storage/FileCollector;->collectFiles(Ljava/io/File;Lcom/android/server/storage/FileCollector$MeasurementResult;)Lcom/android/server/storage/FileCollector$MeasurementResult;
 PLcom/android/server/storage/FileCollector;->getMeasurementResult(Landroid/content/Context;)Lcom/android/server/storage/FileCollector$MeasurementResult;
-PLcom/android/server/storage/FileCollector;->getMeasurementResult(Ljava/io/File;)Lcom/android/server/storage/FileCollector$MeasurementResult;
 PLcom/android/server/storage/FileCollector;->getSystemSize(Landroid/content/Context;)J
-PLcom/android/server/telecom/TelecomLoaderService$1;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
-PLcom/android/server/telecom/TelecomLoaderService$1;->getPackages(I)[Ljava/lang/String;
-PLcom/android/server/telecom/TelecomLoaderService$2;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
-PLcom/android/server/telecom/TelecomLoaderService$2;->getPackages(I)[Ljava/lang/String;
-PLcom/android/server/telecom/TelecomLoaderService$3;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
-PLcom/android/server/telecom/TelecomLoaderService$3;->getPackages(I)[Ljava/lang/String;
-PLcom/android/server/telecom/TelecomLoaderService$4;-><init>(Lcom/android/server/telecom/TelecomLoaderService;Landroid/os/Handler;Landroid/net/Uri;Landroid/content/pm/PackageManagerInternal;Landroid/net/Uri;)V
-PLcom/android/server/telecom/TelecomLoaderService$5;-><init>(Lcom/android/server/telecom/TelecomLoaderService;Landroid/content/pm/PackageManagerInternal;)V
-PLcom/android/server/telecom/TelecomLoaderService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection$1;-><init>(Lcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;)V
-PLcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;-><init>(Lcom/android/server/telecom/TelecomLoaderService;)V
-PLcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;-><init>(Lcom/android/server/telecom/TelecomLoaderService;Lcom/android/server/telecom/TelecomLoaderService$1;)V
-PLcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/telecom/TelecomLoaderService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/telecom/TelecomLoaderService;->access$100(Lcom/android/server/telecom/TelecomLoaderService;)Landroid/content/Context;
-PLcom/android/server/telecom/TelecomLoaderService;->access$200(Lcom/android/server/telecom/TelecomLoaderService;)Ljava/lang/Object;
-PLcom/android/server/telecom/TelecomLoaderService;->access$300(Lcom/android/server/telecom/TelecomLoaderService;)Landroid/util/IntArray;
-PLcom/android/server/telecom/TelecomLoaderService;->access$302(Lcom/android/server/telecom/TelecomLoaderService;Landroid/util/IntArray;)Landroid/util/IntArray;
-PLcom/android/server/telecom/TelecomLoaderService;->access$400(Lcom/android/server/telecom/TelecomLoaderService;)Landroid/util/IntArray;
-PLcom/android/server/telecom/TelecomLoaderService;->access$402(Lcom/android/server/telecom/TelecomLoaderService;Landroid/util/IntArray;)Landroid/util/IntArray;
-PLcom/android/server/telecom/TelecomLoaderService;->access$500(Lcom/android/server/telecom/TelecomLoaderService;)Landroid/util/IntArray;
-PLcom/android/server/telecom/TelecomLoaderService;->access$502(Lcom/android/server/telecom/TelecomLoaderService;Landroid/util/IntArray;)Landroid/util/IntArray;
-PLcom/android/server/telecom/TelecomLoaderService;->access$700(Lcom/android/server/telecom/TelecomLoaderService;)Lcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;
-PLcom/android/server/telecom/TelecomLoaderService;->access$800(Lcom/android/server/telecom/TelecomLoaderService;Landroid/content/pm/PackageManagerInternal;I)V
-PLcom/android/server/telecom/TelecomLoaderService;->connectToTelecom()V
-PLcom/android/server/telecom/TelecomLoaderService;->onBootPhase(I)V
-PLcom/android/server/telecom/TelecomLoaderService;->onStart()V
-PLcom/android/server/telecom/TelecomLoaderService;->registerCarrierConfigChangedReceiver()V
-PLcom/android/server/telecom/TelecomLoaderService;->registerDefaultAppNotifier()V
-PLcom/android/server/telecom/TelecomLoaderService;->registerDefaultAppProviders()V
-PLcom/android/server/telecom/TelecomLoaderService;->updateSimCallManagerPermissions(Landroid/content/pm/PackageManagerInternal;I)V
-PLcom/android/server/textclassifier/-$$Lambda$6tTWS9-rW6CtxVP0xKRcg3Q5kmI;-><init>(Landroid/service/textclassifier/ITextClassificationCallback;)V
-PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$0ahBOnx4jsgbPYQhVmIdEMzPn5Q;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService;Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassification$Request;Landroid/service/textclassifier/ITextClassificationCallback;)V
-PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$0ahBOnx4jsgbPYQhVmIdEMzPn5Q;->runOrThrow()V
-PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$AlzZLOTDy6ySI7ijsc3zdoY2qPo;-><init>(Ljava/lang/String;)V
-PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$AlzZLOTDy6ySI7ijsc3zdoY2qPo;->accept(Ljava/lang/Object;)V
-PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$BPyCtyAA7AehDOdMNqubn2TPsH0;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService;Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassificationSessionId;)V
-PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$BPyCtyAA7AehDOdMNqubn2TPsH0;->runOrThrow()V
-PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$Xo8FJ3LmQoamgJ2foxZOcS-n70c;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService;Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/SelectionEvent;)V
-PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$Xo8FJ3LmQoamgJ2foxZOcS-n70c;->runOrThrow()V
-PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->onStart()V
-PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->onStartUser(I)V
+PLcom/android/server/telecom/-$$Lambda$TelecomLoaderService$-gelHWcVU9jWWZhCeN99A3Sudtw;->getPackages(I)[Ljava/lang/String;
+PLcom/android/server/telecom/-$$Lambda$TelecomLoaderService$VVmvEgI0M6umDuBUYKUoUMO7-l0;->getPackages(I)[Ljava/lang/String;
+PLcom/android/server/telecom/-$$Lambda$TelecomLoaderService$lBXoYxesURvEmfzumX9uIBbg66M;->getPackages(I)[Ljava/lang/String;
+PLcom/android/server/telecom/TelecomLoaderService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/telecom/TelecomLoaderService;->lambda$registerDefaultAppProviders$0$TelecomLoaderService(I)[Ljava/lang/String;
+PLcom/android/server/telecom/TelecomLoaderService;->lambda$registerDefaultAppProviders$0(Lcom/android/server/telecom/TelecomLoaderService;I)[Ljava/lang/String;
+PLcom/android/server/telecom/TelecomLoaderService;->lambda$registerDefaultAppProviders$1$TelecomLoaderService(I)[Ljava/lang/String;
+PLcom/android/server/telecom/TelecomLoaderService;->lambda$registerDefaultAppProviders$1(Lcom/android/server/telecom/TelecomLoaderService;I)[Ljava/lang/String;
+PLcom/android/server/telecom/TelecomLoaderService;->lambda$registerDefaultAppProviders$2$TelecomLoaderService(I)[Ljava/lang/String;
+PLcom/android/server/telecom/TelecomLoaderService;->lambda$registerDefaultAppProviders$2(Lcom/android/server/telecom/TelecomLoaderService;I)[Ljava/lang/String;
+PLcom/android/server/telecom/TelecomLoaderService;->updateSimCallManagerPermissions(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;I)V
+PLcom/android/server/testharness/TestHarnessModeService;->configureSettings()V
+PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$-O5SqJ3O93lhUbxb9PI9hMy-SaM;->runOrThrow()V
+PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$R4aPVSf5_OfouCzD96pPpSsbUOs;->accept(Ljava/lang/Object;)V
+PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$VJv3uBIZCqmZIvsx-lAI2iNIBz0;->runOrThrow()V
+PLcom/android/server/textclassifier/-$$Lambda$TextClassificationManagerService$sMLFGuslbXgLyLQJD4NeR5KkZn0;->runOrThrow()V
+PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->onStopUser(I)V
 PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->processAnyPendingWork(I)V
 PLcom/android/server/textclassifier/TextClassificationManagerService$PendingRequest;-><init>(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Landroid/os/IBinder;Lcom/android/server/textclassifier/TextClassificationManagerService;Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService$PendingRequest;->access$1000(Lcom/android/server/textclassifier/TextClassificationManagerService$PendingRequest;)Landroid/os/IBinder;
-PLcom/android/server/textclassifier/TextClassificationManagerService$PendingRequest;->access$800(Lcom/android/server/textclassifier/TextClassificationManagerService$PendingRequest;)Ljava/lang/Runnable;
-PLcom/android/server/textclassifier/TextClassificationManagerService$UserState$TextClassifierServiceConnection;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService$UserState$TextClassifierServiceConnection;-><init>(Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;Lcom/android/server/textclassifier/TextClassificationManagerService$1;)V
 PLcom/android/server/textclassifier/TextClassificationManagerService$UserState$TextClassifierServiceConnection;->init(Landroid/service/textclassifier/ITextClassifierService;)V
 PLcom/android/server/textclassifier/TextClassificationManagerService$UserState$TextClassifierServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;-><init>(ILandroid/content/Context;Ljava/lang/Object;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;-><init>(ILandroid/content/Context;Ljava/lang/Object;Lcom/android/server/textclassifier/TextClassificationManagerService$1;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->access$1100(Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;)Ljava/lang/Object;
-PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->access$1200(Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->access$300(Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;)Z
-PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->access$400(Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;)Z
-PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->bindIfHasPendingRequestsLocked()Z
 PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->bindLocked()Z
 PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->handlePendingRequestsLocked()V
-PLcom/android/server/textclassifier/TextClassificationManagerService$UserState;->isBoundLocked()Z
-PLcom/android/server/textclassifier/TextClassificationManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService;-><init>(Landroid/content/Context;Lcom/android/server/textclassifier/TextClassificationManagerService$1;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService;->access$100(Lcom/android/server/textclassifier/TextClassificationManagerService;)Ljava/lang/Object;
-PLcom/android/server/textclassifier/TextClassificationManagerService;->access$200(Lcom/android/server/textclassifier/TextClassificationManagerService;I)Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;
-PLcom/android/server/textclassifier/TextClassificationManagerService;->access$600(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Ljava/lang/String;)Ljava/lang/Runnable;
-PLcom/android/server/textclassifier/TextClassificationManagerService;->getCallingUserStateLocked()Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;
-PLcom/android/server/textclassifier/TextClassificationManagerService;->getUserStateLocked(I)Lcom/android/server/textclassifier/TextClassificationManagerService$UserState;
-PLcom/android/server/textclassifier/TextClassificationManagerService;->lambda$logOnFailure$6(Ljava/lang/String;Ljava/lang/Throwable;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService;->lambda$onClassifyText$1(Lcom/android/server/textclassifier/TextClassificationManagerService;Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassification$Request;Landroid/service/textclassifier/ITextClassificationCallback;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService;->lambda$onCreateTextClassificationSession$4(Lcom/android/server/textclassifier/TextClassificationManagerService;Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassificationSessionId;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService;->lambda$onSelectionEvent$3(Lcom/android/server/textclassifier/TextClassificationManagerService;Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/SelectionEvent;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService;->logOnFailure(Lcom/android/internal/util/FunctionalUtils$ThrowingRunnable;Ljava/lang/String;)Ljava/lang/Runnable;
+PLcom/android/server/textclassifier/TextClassificationManagerService;->lambda$logOnFailure$9(Ljava/lang/String;Ljava/lang/Throwable;)V
 PLcom/android/server/textclassifier/TextClassificationManagerService;->onClassifyText(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassification$Request;Landroid/service/textclassifier/ITextClassificationCallback;)V
 PLcom/android/server/textclassifier/TextClassificationManagerService;->onCreateTextClassificationSession(Landroid/view/textclassifier/TextClassificationContext;Landroid/view/textclassifier/TextClassificationSessionId;)V
 PLcom/android/server/textclassifier/TextClassificationManagerService;->onDestroyTextClassificationSession(Landroid/view/textclassifier/TextClassificationSessionId;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService;->onGenerateLinks(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextLinks$Request;Landroid/service/textclassifier/ITextLinksCallback;)V
 PLcom/android/server/textclassifier/TextClassificationManagerService;->onSelectionEvent(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/SelectionEvent;)V
-PLcom/android/server/textclassifier/TextClassificationManagerService;->validateInput(Ljava/lang/String;Landroid/content/Context;)V
-PLcom/android/server/timezone/PackageStatus;-><init>(ILcom/android/server/timezone/PackageVersions;)V
-PLcom/android/server/timezone/PackageStatusStorage;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/timezone/PackageStatusStorage;-><init>(Ljava/io/File;)V
-PLcom/android/server/timezone/PackageStatusStorage;->getIntAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)I
-PLcom/android/server/timezone/PackageStatusStorage;->getNullableIntAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/Integer;
-PLcom/android/server/timezone/PackageStatusStorage;->getPackageStatus()Lcom/android/server/timezone/PackageStatus;
-PLcom/android/server/timezone/PackageStatusStorage;->getPackageStatusLocked()Lcom/android/server/timezone/PackageStatus;
-PLcom/android/server/timezone/PackageStatusStorage;->initialize()V
-PLcom/android/server/timezone/PackageStatusStorage;->parseToPackageStatusTag(Ljava/io/FileInputStream;)Lorg/xmlpull/v1/XmlPullParser;
-PLcom/android/server/timezone/PackageTracker;-><init>(Ljava/time/Clock;Lcom/android/server/timezone/ConfigHelper;Lcom/android/server/timezone/PackageManagerHelper;Lcom/android/server/timezone/PackageStatusStorage;Lcom/android/server/timezone/PackageTrackerIntentHelper;)V
-PLcom/android/server/timezone/PackageTracker;->create(Landroid/content/Context;)Lcom/android/server/timezone/PackageTracker;
-PLcom/android/server/timezone/PackageTracker;->lookupInstalledPackageVersions()Lcom/android/server/timezone/PackageVersions;
-PLcom/android/server/timezone/PackageTracker;->start()Z
-PLcom/android/server/timezone/PackageTracker;->throwIfDeviceSettingsOrAppsAreBad()V
-PLcom/android/server/timezone/PackageTracker;->throwRuntimeExceptionIfNullOrEmpty(Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/timezone/PackageTracker;->triggerUpdateIfNeeded(Z)V
-PLcom/android/server/timezone/PackageTracker;->validateDataAppManifest()Z
-PLcom/android/server/timezone/PackageTracker;->validateUpdaterAppManifest()Z
-PLcom/android/server/timezone/PackageTrackerHelperImpl;-><init>(Landroid/content/Context;)V
-PLcom/android/server/timezone/PackageTrackerHelperImpl;->contentProviderRegistered(Ljava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/timezone/PackageTrackerHelperImpl;->getCheckTimeAllowedMillis()I
-PLcom/android/server/timezone/PackageTrackerHelperImpl;->getDataAppPackageName()Ljava/lang/String;
-PLcom/android/server/timezone/PackageTrackerHelperImpl;->getFailedCheckRetryCount()I
-PLcom/android/server/timezone/PackageTrackerHelperImpl;->getInstalledPackageVersion(Ljava/lang/String;)J
-PLcom/android/server/timezone/PackageTrackerHelperImpl;->getUpdateAppPackageName()Ljava/lang/String;
-PLcom/android/server/timezone/PackageTrackerHelperImpl;->isPrivilegedApp(Ljava/lang/String;)Z
-PLcom/android/server/timezone/PackageTrackerHelperImpl;->isTrackingEnabled()Z
-PLcom/android/server/timezone/PackageTrackerHelperImpl;->receiverRegistered(Landroid/content/Intent;Ljava/lang/String;)Z
-PLcom/android/server/timezone/PackageTrackerHelperImpl;->usesPermission(Ljava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/timezone/PackageTrackerIntentHelperImpl$Receiver;-><init>(Lcom/android/server/timezone/PackageTracker;)V
-PLcom/android/server/timezone/PackageTrackerIntentHelperImpl$Receiver;-><init>(Lcom/android/server/timezone/PackageTracker;Lcom/android/server/timezone/PackageTrackerIntentHelperImpl$1;)V
-PLcom/android/server/timezone/PackageTrackerIntentHelperImpl;-><init>(Landroid/content/Context;)V
-PLcom/android/server/timezone/PackageTrackerIntentHelperImpl;->initialize(Ljava/lang/String;Ljava/lang/String;Lcom/android/server/timezone/PackageTracker;)V
-PLcom/android/server/timezone/PackageTrackerIntentHelperImpl;->scheduleReliabilityTrigger(J)V
-PLcom/android/server/timezone/PackageTrackerIntentHelperImpl;->unscheduleReliabilityTrigger()V
-PLcom/android/server/timezone/PackageVersions;-><init>(JJ)V
-PLcom/android/server/timezone/PackageVersions;->equals(Ljava/lang/Object;)Z
-PLcom/android/server/timezone/PackageVersions;->toString()Ljava/lang/String;
-PLcom/android/server/timezone/RulesManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/timezone/RulesManagerService$Lifecycle;->onStart()V
-PLcom/android/server/timezone/RulesManagerService;-><init>(Lcom/android/server/timezone/PermissionHelper;Ljava/util/concurrent/Executor;Lcom/android/server/timezone/RulesManagerIntentHelper;Lcom/android/server/timezone/PackageTracker;Lcom/android/timezone/distro/installer/TimeZoneDistroInstaller;)V
-PLcom/android/server/timezone/RulesManagerService;->access$000(Landroid/content/Context;)Lcom/android/server/timezone/RulesManagerService;
-PLcom/android/server/timezone/RulesManagerService;->create(Landroid/content/Context;)Lcom/android/server/timezone/RulesManagerService;
-PLcom/android/server/timezone/RulesManagerService;->notifyIdle()V
-PLcom/android/server/timezone/RulesManagerService;->start()V
-PLcom/android/server/timezone/RulesManagerServiceHelperImpl;-><init>(Landroid/content/Context;)V
-PLcom/android/server/timezone/TimeZoneUpdateIdler;-><init>()V
-PLcom/android/server/timezone/TimeZoneUpdateIdler;->onStartJob(Landroid/app/job/JobParameters;)Z
-PLcom/android/server/timezone/TimeZoneUpdateIdler;->schedule(Landroid/content/Context;J)V
-PLcom/android/server/timezone/TimeZoneUpdateIdler;->unschedule(Landroid/content/Context;)V
-PLcom/android/server/trust/-$$Lambda$TrustManagerService$1$98HKBkg-C1PLlz_Q1vJz1OJtw4c;-><init>()V
-PLcom/android/server/trust/-$$Lambda$TrustManagerService$1$98HKBkg-C1PLlz_Q1vJz1OJtw4c;->run()V
-PLcom/android/server/trust/TrustAgentWrapper$1;-><init>(Lcom/android/server/trust/TrustAgentWrapper;)V
-PLcom/android/server/trust/TrustAgentWrapper$2;-><init>(Lcom/android/server/trust/TrustAgentWrapper;)V
-PLcom/android/server/trust/TrustAgentWrapper$3;-><init>(Lcom/android/server/trust/TrustAgentWrapper;)V
-PLcom/android/server/trust/TrustAgentWrapper$4;-><init>(Lcom/android/server/trust/TrustAgentWrapper;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService;->onSuggestConversationActions(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/ConversationActions$Request;Landroid/service/textclassifier/IConversationActionsCallback;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService;->onSuggestSelection(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextSelection$Request;Landroid/service/textclassifier/ITextSelectionCallback;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService;->onTextClassifierEvent(Landroid/view/textclassifier/TextClassificationSessionId;Landroid/view/textclassifier/TextClassifierEvent;)V
+PLcom/android/server/textclassifier/TextClassificationManagerService;->validateInput(Landroid/content/Context;Ljava/lang/String;)V
+PLcom/android/server/textservices/TextServicesManagerService$ISpellCheckerServiceCallbackBinder;-><init>(Lcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;Lcom/android/server/textservices/TextServicesManagerService$SessionRequest;)V
+PLcom/android/server/textservices/TextServicesManagerService$ISpellCheckerServiceCallbackBinder;->onSessionCreated(Lcom/android/internal/textservice/ISpellCheckerSession;)V
+PLcom/android/server/textservices/TextServicesManagerService$InternalDeathRecipients;->onCallbackDied(Landroid/os/IInterface;)V
+PLcom/android/server/textservices/TextServicesManagerService$InternalServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/textservices/TextServicesManagerService$Lifecycle;->onStopUser(I)V
+PLcom/android/server/textservices/TextServicesManagerService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;-><init>(Lcom/android/server/textservices/TextServicesManagerService;Lcom/android/server/textservices/TextServicesManagerService$InternalServiceConnection;)V
+PLcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;->cleanLocked()V
+PLcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;->getISpellCheckerSessionOrQueueLocked(Lcom/android/server/textservices/TextServicesManagerService$SessionRequest;)V
+PLcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;->onServiceConnectedLocked(Lcom/android/internal/textservice/ISpellCheckerService;)V
+PLcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;->onSessionCreated(Lcom/android/internal/textservice/ISpellCheckerSession;Lcom/android/server/textservices/TextServicesManagerService$SessionRequest;)V
+PLcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;->removeListener(Lcom/android/internal/textservice/ISpellCheckerSessionListener;)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;-><init>(ILandroid/content/Context;)V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getCurrentSpellChecker()Landroid/view/textservice/SpellCheckerInfo;
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->getSelectedSpellCheckerSubtype(I)I
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->initializeTextServicesData()V
+PLcom/android/server/textservices/TextServicesManagerService$TextServicesData;->isSpellCheckerEnabled()Z
+PLcom/android/server/textservices/TextServicesManagerService;->bindCurrentSpellCheckerService(Landroid/content/Intent;Landroid/content/ServiceConnection;II)Z
+PLcom/android/server/textservices/TextServicesManagerService;->finishSpellCheckerService(ILcom/android/internal/textservice/ISpellCheckerSessionListener;)V
+PLcom/android/server/textservices/TextServicesManagerService;->getCurrentSpellChecker(ILjava/lang/String;)Landroid/view/textservice/SpellCheckerInfo;
+PLcom/android/server/textservices/TextServicesManagerService;->getCurrentSpellCheckerSubtype(IZ)Landroid/view/textservice/SpellCheckerSubtype;
+PLcom/android/server/textservices/TextServicesManagerService;->getDataFromCallingUserIdLocked(I)Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;
+PLcom/android/server/textservices/TextServicesManagerService;->getSpellCheckerService(ILjava/lang/String;Ljava/lang/String;Lcom/android/internal/textservice/ITextServicesSessionListener;Lcom/android/internal/textservice/ISpellCheckerSessionListener;Landroid/os/Bundle;)V
+PLcom/android/server/textservices/TextServicesManagerService;->initializeInternalStateLocked(I)V
+PLcom/android/server/textservices/TextServicesManagerService;->isSpellCheckerEnabled(I)Z
+PLcom/android/server/textservices/TextServicesManagerService;->onStopUser(I)V
+PLcom/android/server/textservices/TextServicesManagerService;->onUnlockUser(I)V
+PLcom/android/server/textservices/TextServicesManagerService;->startSpellCheckerServiceInnerLocked(Landroid/view/textservice/SpellCheckerInfo;Lcom/android/server/textservices/TextServicesManagerService$TextServicesData;)Lcom/android/server/textservices/TextServicesManagerService$SpellCheckerBindGroup;
+PLcom/android/server/textservices/TextServicesManagerService;->verifyUser(I)V
+PLcom/android/server/trust/TrustAgentWrapper$2;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/trust/TrustAgentWrapper$3;->grantTrust(Ljava/lang/CharSequence;JI)V
+PLcom/android/server/trust/TrustAgentWrapper$3;->revokeTrust()V
+PLcom/android/server/trust/TrustAgentWrapper$3;->setManagingTrust(Z)V
 PLcom/android/server/trust/TrustAgentWrapper$4;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/trust/TrustAgentWrapper$4;->onServiceDisconnected(Landroid/content/ComponentName;)V
 PLcom/android/server/trust/TrustAgentWrapper;-><init>(Landroid/content/Context;Lcom/android/server/trust/TrustManagerService;Landroid/content/Intent;Landroid/os/UserHandle;)V
-PLcom/android/server/trust/TrustAgentWrapper;->access$100(Lcom/android/server/trust/TrustAgentWrapper;)Landroid/os/Handler;
-PLcom/android/server/trust/TrustAgentWrapper;->access$1000(Lcom/android/server/trust/TrustAgentWrapper;)I
-PLcom/android/server/trust/TrustAgentWrapper;->access$1100(Lcom/android/server/trust/TrustAgentWrapper;)Lcom/android/server/trust/TrustManagerService;
-PLcom/android/server/trust/TrustAgentWrapper;->access$1602(Lcom/android/server/trust/TrustAgentWrapper;Landroid/service/trust/ITrustAgentService;)Landroid/service/trust/ITrustAgentService;
-PLcom/android/server/trust/TrustAgentWrapper;->access$1800(Lcom/android/server/trust/TrustAgentWrapper;)Landroid/service/trust/ITrustAgentServiceCallback;
-PLcom/android/server/trust/TrustAgentWrapper;->access$1900(Lcom/android/server/trust/TrustAgentWrapper;Landroid/service/trust/ITrustAgentServiceCallback;)V
-PLcom/android/server/trust/TrustAgentWrapper;->access$2000(Lcom/android/server/trust/TrustAgentWrapper;)Z
-PLcom/android/server/trust/TrustAgentWrapper;->access$500()Z
+PLcom/android/server/trust/TrustAgentWrapper;->destroy()V
 PLcom/android/server/trust/TrustAgentWrapper;->isConnected()Z
 PLcom/android/server/trust/TrustAgentWrapper;->isManagingTrust()Z
 PLcom/android/server/trust/TrustAgentWrapper;->isTrusted()Z
 PLcom/android/server/trust/TrustAgentWrapper;->onDeviceLocked()V
 PLcom/android/server/trust/TrustAgentWrapper;->onDeviceUnlocked()V
 PLcom/android/server/trust/TrustAgentWrapper;->onUnlockAttempt(Z)V
-PLcom/android/server/trust/TrustAgentWrapper;->scheduleRestart()V
+PLcom/android/server/trust/TrustAgentWrapper;->onUnlockLockout(I)V
 PLcom/android/server/trust/TrustAgentWrapper;->setCallback(Landroid/service/trust/ITrustAgentServiceCallback;)V
 PLcom/android/server/trust/TrustAgentWrapper;->updateDevicePolicyFeatures()Z
-PLcom/android/server/trust/TrustArchive$Event;-><init>(IILandroid/content/ComponentName;Ljava/lang/String;JIZ)V
-PLcom/android/server/trust/TrustArchive$Event;-><init>(IILandroid/content/ComponentName;Ljava/lang/String;JIZLcom/android/server/trust/TrustArchive$1;)V
-PLcom/android/server/trust/TrustArchive;-><init>()V
-PLcom/android/server/trust/TrustArchive;->addEvent(Lcom/android/server/trust/TrustArchive$Event;)V
 PLcom/android/server/trust/TrustArchive;->logAgentConnected(ILandroid/content/ComponentName;)V
+PLcom/android/server/trust/TrustArchive;->logAgentDied(ILandroid/content/ComponentName;)V
+PLcom/android/server/trust/TrustArchive;->logAgentStopped(ILandroid/content/ComponentName;)V
 PLcom/android/server/trust/TrustArchive;->logDevicePolicyChanged()V
-PLcom/android/server/trust/TrustManagerService$1;-><init>(Lcom/android/server/trust/TrustManagerService;)V
-PLcom/android/server/trust/TrustManagerService$1;->clearAllFingerprints()V
-PLcom/android/server/trust/TrustManagerService$1;->enforceListenerPermission()V
-PLcom/android/server/trust/TrustManagerService$1;->enforceReportPermission()V
+PLcom/android/server/trust/TrustArchive;->logGrantTrust(ILandroid/content/ComponentName;Ljava/lang/String;JI)V
+PLcom/android/server/trust/TrustArchive;->logManagingTrust(ILandroid/content/ComponentName;Z)V
+PLcom/android/server/trust/TrustArchive;->logRevokeTrust(ILandroid/content/ComponentName;)V
+PLcom/android/server/trust/TrustManagerService$1;->clearAllBiometricRecognized(Landroid/hardware/biometrics/BiometricSourceType;)V
+PLcom/android/server/trust/TrustManagerService$1;->isDeviceLocked(I)Z
 PLcom/android/server/trust/TrustManagerService$1;->isTrustUsuallyManaged(I)Z
-PLcom/android/server/trust/TrustManagerService$1;->lambda$reportKeyguardShowingChanged$0()V
-PLcom/android/server/trust/TrustManagerService$1;->registerTrustListener(Landroid/app/trust/ITrustListener;)V
-PLcom/android/server/trust/TrustManagerService$1;->reportKeyguardShowingChanged()V
 PLcom/android/server/trust/TrustManagerService$1;->reportUnlockAttempt(ZI)V
-PLcom/android/server/trust/TrustManagerService$1;->unlockedByFingerprintForUser(I)V
-PLcom/android/server/trust/TrustManagerService$2;-><init>(Lcom/android/server/trust/TrustManagerService;)V
-PLcom/android/server/trust/TrustManagerService$2;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/trust/TrustManagerService$3;-><init>(Lcom/android/server/trust/TrustManagerService;)V
+PLcom/android/server/trust/TrustManagerService$1;->reportUnlockLockout(II)V
+PLcom/android/server/trust/TrustManagerService$1;->setDeviceLockedForUser(IZ)V
+PLcom/android/server/trust/TrustManagerService$1;->unlockedByBiometricForUser(ILandroid/hardware/biometrics/BiometricSourceType;)V
 PLcom/android/server/trust/TrustManagerService$3;->onPackageChanged(Ljava/lang/String;I[Ljava/lang/String;)Z
 PLcom/android/server/trust/TrustManagerService$3;->onPackageDisappeared(Ljava/lang/String;I)V
 PLcom/android/server/trust/TrustManagerService$3;->onSomePackagesChanged()V
-PLcom/android/server/trust/TrustManagerService$AgentInfo;-><init>()V
-PLcom/android/server/trust/TrustManagerService$AgentInfo;-><init>(Lcom/android/server/trust/TrustManagerService$1;)V
 PLcom/android/server/trust/TrustManagerService$AgentInfo;->equals(Ljava/lang/Object;)Z
-PLcom/android/server/trust/TrustManagerService$AgentInfo;->hashCode()I
-PLcom/android/server/trust/TrustManagerService$Receiver;-><init>(Lcom/android/server/trust/TrustManagerService;)V
-PLcom/android/server/trust/TrustManagerService$Receiver;-><init>(Lcom/android/server/trust/TrustManagerService;Lcom/android/server/trust/TrustManagerService$1;)V
 PLcom/android/server/trust/TrustManagerService$Receiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/trust/TrustManagerService$Receiver;->register(Landroid/content/Context;)V
-PLcom/android/server/trust/TrustManagerService$SettingsAttrs;-><init>(Landroid/content/ComponentName;Z)V
-PLcom/android/server/trust/TrustManagerService$StrongAuthTracker;-><init>(Lcom/android/server/trust/TrustManagerService;Landroid/content/Context;)V
 PLcom/android/server/trust/TrustManagerService$StrongAuthTracker;->allowTrustFromUnlock(I)V
 PLcom/android/server/trust/TrustManagerService$StrongAuthTracker;->canAgentsRunForUser(I)Z
 PLcom/android/server/trust/TrustManagerService$StrongAuthTracker;->onStrongAuthRequiredChanged(I)V
-PLcom/android/server/trust/TrustManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/trust/TrustManagerService;->access$1500(Lcom/android/server/trust/TrustManagerService;I)Z
-PLcom/android/server/trust/TrustManagerService;->access$1600(Lcom/android/server/trust/TrustManagerService;)Landroid/util/SparseBooleanArray;
-PLcom/android/server/trust/TrustManagerService;->access$1700(Lcom/android/server/trust/TrustManagerService;Landroid/app/trust/ITrustListener;)V
-PLcom/android/server/trust/TrustManagerService;->access$1900(Lcom/android/server/trust/TrustManagerService;ZI)V
-PLcom/android/server/trust/TrustManagerService;->access$200(Lcom/android/server/trust/TrustManagerService;)Landroid/os/Handler;
-PLcom/android/server/trust/TrustManagerService;->access$2100(Lcom/android/server/trust/TrustManagerService;I)V
-PLcom/android/server/trust/TrustManagerService;->access$2400(Lcom/android/server/trust/TrustManagerService;Ljava/lang/String;)V
-PLcom/android/server/trust/TrustManagerService;->access$300(Lcom/android/server/trust/TrustManagerService;)Lcom/android/internal/widget/LockPatternUtils;
-PLcom/android/server/trust/TrustManagerService;->access$400(Lcom/android/server/trust/TrustManagerService;I)I
-PLcom/android/server/trust/TrustManagerService;->access$500(Lcom/android/server/trust/TrustManagerService;)Landroid/content/Context;
-PLcom/android/server/trust/TrustManagerService;->access$800(Lcom/android/server/trust/TrustManagerService;)I
-PLcom/android/server/trust/TrustManagerService;->addListener(Landroid/app/trust/ITrustListener;)V
-PLcom/android/server/trust/TrustManagerService;->aggregateIsTrustManaged(I)Z
-PLcom/android/server/trust/TrustManagerService;->aggregateIsTrusted(I)Z
+PLcom/android/server/trust/TrustManagerService$TrustTimeoutAlarmListener;->isQueued()Z
+PLcom/android/server/trust/TrustManagerService$TrustTimeoutAlarmListener;->onAlarm()V
+PLcom/android/server/trust/TrustManagerService$TrustTimeoutAlarmListener;->setQueued(Z)V
 PLcom/android/server/trust/TrustManagerService;->dispatchDeviceLocked(IZ)V
-PLcom/android/server/trust/TrustManagerService;->dispatchOnTrustChanged(ZII)V
-PLcom/android/server/trust/TrustManagerService;->dispatchOnTrustManagedChanged(ZI)V
 PLcom/android/server/trust/TrustManagerService;->dispatchUnlockAttempt(ZI)V
-PLcom/android/server/trust/TrustManagerService;->getComponentName(Landroid/content/pm/ResolveInfo;)Landroid/content/ComponentName;
-PLcom/android/server/trust/TrustManagerService;->getSettingsAttrs(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;)Lcom/android/server/trust/TrustManagerService$SettingsAttrs;
-PLcom/android/server/trust/TrustManagerService;->isDeviceLockedInner(I)Z
+PLcom/android/server/trust/TrustManagerService;->handleScheduleTrustTimeout(II)V
 PLcom/android/server/trust/TrustManagerService;->isTrustUsuallyManagedInternal(I)Z
 PLcom/android/server/trust/TrustManagerService;->maybeEnableFactoryTrustAgents(Lcom/android/internal/widget/LockPatternUtils;I)V
-PLcom/android/server/trust/TrustManagerService;->onBootPhase(I)V
-PLcom/android/server/trust/TrustManagerService;->onStart()V
-PLcom/android/server/trust/TrustManagerService;->onStartUser(I)V
+PLcom/android/server/trust/TrustManagerService;->maybeLockScreen(I)V
+PLcom/android/server/trust/TrustManagerService;->onCleanupUser(I)V
+PLcom/android/server/trust/TrustManagerService;->onStopUser(I)V
 PLcom/android/server/trust/TrustManagerService;->onUnlockUser(I)V
-PLcom/android/server/trust/TrustManagerService;->refreshAgentList(I)V
-PLcom/android/server/trust/TrustManagerService;->refreshDeviceLockedForUser(I)V
 PLcom/android/server/trust/TrustManagerService;->removeAgentsOfPackage(Ljava/lang/String;)V
-PLcom/android/server/trust/TrustManagerService;->resolveAllowedTrustAgents(Landroid/content/pm/PackageManager;I)Ljava/util/List;
-PLcom/android/server/trust/TrustManagerService;->setDeviceLockedForUser(IZ)V
 PLcom/android/server/trust/TrustManagerService;->updateDevicePolicyFeatures()V
-PLcom/android/server/trust/TrustManagerService;->updateTrust(II)V
-PLcom/android/server/trust/TrustManagerService;->updateTrustAll()V
-PLcom/android/server/twilight/TwilightService$1;-><init>(Lcom/android/server/twilight/TwilightService;)V
-PLcom/android/server/twilight/TwilightService$1;->getLastTwilightState()Lcom/android/server/twilight/TwilightState;
-PLcom/android/server/twilight/TwilightService$1;->unregisterListener(Lcom/android/server/twilight/TwilightListener;)V
-PLcom/android/server/twilight/TwilightService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/twilight/TwilightService;->access$000(Lcom/android/server/twilight/TwilightService;)Landroid/util/ArrayMap;
-PLcom/android/server/twilight/TwilightService;->onBootPhase(I)V
-PLcom/android/server/twilight/TwilightService;->onStart()V
-PLcom/android/server/updates/ConfigUpdateInstallReceiver$1;-><init>(Lcom/android/server/updates/ConfigUpdateInstallReceiver;Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/updates/ConfigUpdateInstallReceiver$1;->run()V
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->access$000(Lcom/android/server/updates/ConfigUpdateInstallReceiver;Landroid/content/Context;Landroid/content/Intent;)[B
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->access$100(Lcom/android/server/updates/ConfigUpdateInstallReceiver;Landroid/content/Intent;)I
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->access$200(Lcom/android/server/updates/ConfigUpdateInstallReceiver;Landroid/content/Intent;)Ljava/lang/String;
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->access$300(Lcom/android/server/updates/ConfigUpdateInstallReceiver;)I
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->access$400(Lcom/android/server/updates/ConfigUpdateInstallReceiver;)[B
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->access$500([B)Ljava/lang/String;
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->access$600(Lcom/android/server/updates/ConfigUpdateInstallReceiver;Ljava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->getAltContent(Landroid/content/Context;Landroid/content/Intent;)[B
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->getContentFromIntent(Landroid/content/Intent;)Landroid/net/Uri;
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->getCurrentContent()[B
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->getCurrentHash([B)Ljava/lang/String;
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->getCurrentVersion()I
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->getRequiredHashFromIntent(Landroid/content/Intent;)Ljava/lang/String;
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->getVersionFromIntent(Landroid/content/Intent;)I
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->install([BI)V
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->postInstall(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->verifyPreviousHash(Ljava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->verifyVersion(II)Z
-PLcom/android/server/updates/ConfigUpdateInstallReceiver;->writeUpdate(Ljava/io/File;Ljava/io/File;[B)V
-PLcom/android/server/updates/IntentFirewallInstallReceiver;-><init>()V
-PLcom/android/server/updates/NetworkWatchlistInstallReceiver;-><init>()V
-PLcom/android/server/updates/NetworkWatchlistInstallReceiver;->postInstall(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/updates/SmartSelectionInstallReceiver;-><init>()V
-PLcom/android/server/updates/SmartSelectionInstallReceiver;->verifyVersion(II)Z
-PLcom/android/server/updates/SmsShortCodesInstallReceiver;-><init>()V
-PLcom/android/server/usage/-$$Lambda$UsageStatsService$VoLNrRDaTqGpWDfCW6NTYC92LRY;-><init>(Lcom/android/server/usage/UsageStatsService;)V
-PLcom/android/server/usage/AppIdleHistory$AppUsageHistory;-><init>()V
-PLcom/android/server/usage/AppIdleHistory;-><init>(Ljava/io/File;J)V
-PLcom/android/server/usage/AppIdleHistory;->clearUsage(Ljava/lang/String;I)V
+PLcom/android/server/trust/TrustManagerService;->updateTrustUsuallyManaged(IZ)V
+PLcom/android/server/uri/GrantUri;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/uri/GrantUri;->hashCode()I
+PLcom/android/server/uri/GrantUri;->resolve(ILandroid/net/Uri;)Lcom/android/server/uri/GrantUri;
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkGrantUriPermission(ILjava/lang/String;Landroid/net/Uri;II)I
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->grantUriPermission(ILjava/lang/String;Lcom/android/server/uri/GrantUri;ILcom/android/server/uri/UriPermissionOwner;I)V
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->grantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;I)V
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->removeUriPermissionIfNeeded(Lcom/android/server/uri/UriPermission;)V
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->revokeUriPermission(Ljava/lang/String;ILcom/android/server/uri/GrantUri;I)V
+PLcom/android/server/uri/UriGrantsManagerService$LocalService;->revokeUriPermissionFromOwner(Landroid/os/IBinder;Landroid/net/Uri;II)V
+PLcom/android/server/uri/UriGrantsManagerService;->checkGrantUriPermission(ILjava/lang/String;Landroid/net/Uri;II)I
+PLcom/android/server/uri/UriGrantsManagerService;->checkGrantUriPermission(ILjava/lang/String;Lcom/android/server/uri/GrantUri;II)I
+PLcom/android/server/uri/UriGrantsManagerService;->checkHoldingPermissionsInternal(Landroid/content/pm/IPackageManager;Landroid/content/pm/ProviderInfo;Lcom/android/server/uri/GrantUri;IIZ)Z
+PLcom/android/server/uri/UriGrantsManagerService;->findOrCreateUriPermission(Ljava/lang/String;Ljava/lang/String;ILcom/android/server/uri/GrantUri;)Lcom/android/server/uri/UriPermission;
+PLcom/android/server/uri/UriGrantsManagerService;->getGrantedUriPermissions(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/uri/UriGrantsManagerService;->getPersistedUriPermissions(Ljava/lang/String;Z)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/uri/UriGrantsManagerService;->getProviderInfo(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
+PLcom/android/server/uri/UriGrantsManagerService;->grantUriPermission(ILjava/lang/String;Lcom/android/server/uri/GrantUri;ILcom/android/server/uri/UriPermissionOwner;I)V
+PLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionFromOwner(Landroid/os/IBinder;ILjava/lang/String;Landroid/net/Uri;III)V
+PLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionUnchecked(ILjava/lang/String;Lcom/android/server/uri/GrantUri;ILcom/android/server/uri/UriPermissionOwner;)V
+PLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionUncheckedFromIntent(Lcom/android/server/uri/NeededUriGrants;Lcom/android/server/uri/UriPermissionOwner;)V
+PLcom/android/server/uri/UriGrantsManagerService;->matchesProvider(Landroid/net/Uri;Landroid/content/pm/ProviderInfo;)Z
+PLcom/android/server/uri/UriGrantsManagerService;->removeUriPermissionIfNeeded(Lcom/android/server/uri/UriPermission;)V
+PLcom/android/server/uri/UriGrantsManagerService;->revokeUriPermission(Ljava/lang/String;ILcom/android/server/uri/GrantUri;I)V
+PLcom/android/server/uri/UriPermission;-><init>(Ljava/lang/String;Ljava/lang/String;ILcom/android/server/uri/GrantUri;)V
+PLcom/android/server/uri/UriPermission;->grantModes(ILcom/android/server/uri/UriPermissionOwner;)V
+PLcom/android/server/uri/UriPermission;->removeReadOwner(Lcom/android/server/uri/UriPermissionOwner;)V
+PLcom/android/server/uri/UriPermission;->removeWriteOwner(Lcom/android/server/uri/UriPermissionOwner;)V
+PLcom/android/server/uri/UriPermission;->revokeModes(IZ)Z
+PLcom/android/server/uri/UriPermission;->updateModeFlags()V
+PLcom/android/server/uri/UriPermissionOwner$ExternalToken;->getOwner()Lcom/android/server/uri/UriPermissionOwner;
+PLcom/android/server/uri/UriPermissionOwner;->addReadPermission(Lcom/android/server/uri/UriPermission;)V
+PLcom/android/server/uri/UriPermissionOwner;->addWritePermission(Lcom/android/server/uri/UriPermission;)V
+PLcom/android/server/uri/UriPermissionOwner;->removeReadPermission(Lcom/android/server/uri/UriPermission;)V
+PLcom/android/server/uri/UriPermissionOwner;->removeUriPermission(Lcom/android/server/uri/GrantUri;I)V
+PLcom/android/server/uri/UriPermissionOwner;->removeUriPermissions()V
+PLcom/android/server/uri/UriPermissionOwner;->removeUriPermissions(I)V
+PLcom/android/server/usage/-$$Lambda$UserUsageStatsService$wWX7s9XZT5O4B7JcG_IB_VcPI9s;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)V
 PLcom/android/server/usage/AppIdleHistory;->dump(Lcom/android/internal/util/IndentingPrintWriter;ILjava/lang/String;)V
 PLcom/android/server/usage/AppIdleHistory;->getAppStandbyBuckets(IZ)Ljava/util/ArrayList;
-PLcom/android/server/usage/AppIdleHistory;->getLongValue(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
-PLcom/android/server/usage/AppIdleHistory;->getScreenOnTimeFile()Ljava/io/File;
-PLcom/android/server/usage/AppIdleHistory;->getTimeSinceLastJobRun(Ljava/lang/String;IJ)J
-PLcom/android/server/usage/AppIdleHistory;->getUserFile(I)Ljava/io/File;
-PLcom/android/server/usage/AppIdleHistory;->readAppIdleTimes(ILandroid/util/ArrayMap;)V
-PLcom/android/server/usage/AppIdleHistory;->readScreenOnTime()V
 PLcom/android/server/usage/AppIdleHistory;->reportUsage(Ljava/lang/String;IIIJJ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
-PLcom/android/server/usage/AppIdleHistory;->setAppStandbyBucket(Ljava/lang/String;IJII)V
-PLcom/android/server/usage/AppIdleHistory;->setAppStandbyBucket(Ljava/lang/String;IJIIZ)V
 PLcom/android/server/usage/AppIdleHistory;->setLastJobRunTime(Ljava/lang/String;IJ)V
-PLcom/android/server/usage/AppIdleHistory;->updateDisplay(ZJ)V
 PLcom/android/server/usage/AppIdleHistory;->updateLastPrediction(Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;JI)V
 PLcom/android/server/usage/AppIdleHistory;->writeAppIdleDurations()V
 PLcom/android/server/usage/AppIdleHistory;->writeAppIdleTimes(I)V
 PLcom/android/server/usage/AppIdleHistory;->writeScreenOnTime()V
-PLcom/android/server/usage/AppStandbyController$1;-><init>(Lcom/android/server/usage/AppStandbyController;)V
-PLcom/android/server/usage/AppStandbyController$2;-><init>(Lcom/android/server/usage/AppStandbyController;)V
-PLcom/android/server/usage/AppStandbyController$2;->onDisplayChanged(I)V
-PLcom/android/server/usage/AppStandbyController$AppStandbyHandler;-><init>(Lcom/android/server/usage/AppStandbyController;Landroid/os/Looper;)V
-PLcom/android/server/usage/AppStandbyController$DeviceStateReceiver;-><init>(Lcom/android/server/usage/AppStandbyController;)V
-PLcom/android/server/usage/AppStandbyController$DeviceStateReceiver;-><init>(Lcom/android/server/usage/AppStandbyController;Lcom/android/server/usage/AppStandbyController$1;)V
-PLcom/android/server/usage/AppStandbyController$DeviceStateReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/usage/AppStandbyController$Injector;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+PLcom/android/server/usage/AppStandbyController$2;->onDisplayAdded(I)V
+PLcom/android/server/usage/AppStandbyController$2;->onDisplayRemoved(I)V
 PLcom/android/server/usage/AppStandbyController$Injector;->currentTimeMillis()J
-PLcom/android/server/usage/AppStandbyController$Injector;->getAppIdleSettings()Ljava/lang/String;
-PLcom/android/server/usage/AppStandbyController$Injector;->getBootPhase()I
-PLcom/android/server/usage/AppStandbyController$Injector;->getContext()Landroid/content/Context;
-PLcom/android/server/usage/AppStandbyController$Injector;->getDataSystemDirectory()Ljava/io/File;
-PLcom/android/server/usage/AppStandbyController$Injector;->getLooper()Landroid/os/Looper;
-PLcom/android/server/usage/AppStandbyController$Injector;->getRunningUserIds()[I
-PLcom/android/server/usage/AppStandbyController$Injector;->isAppIdleEnabled()Z
-PLcom/android/server/usage/AppStandbyController$Injector;->isDefaultDisplayOn()Z
+PLcom/android/server/usage/AppStandbyController$Injector;->isCharging()Z
 PLcom/android/server/usage/AppStandbyController$Injector;->isDeviceIdleMode()Z
-PLcom/android/server/usage/AppStandbyController$Injector;->noteEvent(ILjava/lang/String;I)V
-PLcom/android/server/usage/AppStandbyController$Injector;->onBootPhase(I)V
-PLcom/android/server/usage/AppStandbyController$Injector;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
-PLcom/android/server/usage/AppStandbyController$Lock;-><init>()V
-PLcom/android/server/usage/AppStandbyController$PackageReceiver;-><init>(Lcom/android/server/usage/AppStandbyController;)V
-PLcom/android/server/usage/AppStandbyController$PackageReceiver;-><init>(Lcom/android/server/usage/AppStandbyController;Lcom/android/server/usage/AppStandbyController$1;)V
-PLcom/android/server/usage/AppStandbyController$PackageReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/usage/AppStandbyController$SettingsObserver;-><init>(Lcom/android/server/usage/AppStandbyController;Landroid/os/Handler;)V
-PLcom/android/server/usage/AppStandbyController$SettingsObserver;->parseLongArray(Ljava/lang/String;[J)[J
-PLcom/android/server/usage/AppStandbyController$SettingsObserver;->registerObserver()V
-PLcom/android/server/usage/AppStandbyController$SettingsObserver;->updateSettings()V
-PLcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;-><init>(Ljava/lang/String;IIIZ)V
-PLcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;->obtain(Ljava/lang/String;IIIZ)Lcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;
-PLcom/android/server/usage/AppStandbyController$StandbyUpdateRecord;->recycle()V
-PLcom/android/server/usage/AppStandbyController;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
-PLcom/android/server/usage/AppStandbyController;-><init>(Lcom/android/server/usage/AppStandbyController$Injector;)V
-PLcom/android/server/usage/AppStandbyController;->access$200(Lcom/android/server/usage/AppStandbyController;)Lcom/android/server/usage/AppStandbyController$AppStandbyHandler;
-PLcom/android/server/usage/AppStandbyController;->access$300(Lcom/android/server/usage/AppStandbyController;)V
-PLcom/android/server/usage/AppStandbyController;->access$600(Lcom/android/server/usage/AppStandbyController;)Ljava/lang/Object;
-PLcom/android/server/usage/AppStandbyController;->access$700(Lcom/android/server/usage/AppStandbyController;)Lcom/android/server/usage/AppIdleHistory;
-PLcom/android/server/usage/AppStandbyController;->access$800(Lcom/android/server/usage/AppStandbyController;)Landroid/content/Context;
-PLcom/android/server/usage/AppStandbyController;->addActiveDeviceAdmin(Ljava/lang/String;I)V
-PLcom/android/server/usage/AppStandbyController;->addListener(Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;)V
-PLcom/android/server/usage/AppStandbyController;->checkIdleStates(I)Z
-PLcom/android/server/usage/AppStandbyController;->clearAppIdleForPackage(Ljava/lang/String;I)V
+PLcom/android/server/usage/AppStandbyController$Injector;->isPackageEphemeral(ILjava/lang/String;)Z
+PLcom/android/server/usage/AppStandbyController$Injector;->isPackageInstalled(Ljava/lang/String;II)Z
+PLcom/android/server/usage/AppStandbyController;->checkParoleTimeout()V
 PLcom/android/server/usage/AppStandbyController;->clearCarrierPrivilegedApps()V
 PLcom/android/server/usage/AppStandbyController;->dumpUser(Lcom/android/internal/util/IndentingPrintWriter;ILjava/lang/String;)V
-PLcom/android/server/usage/AppStandbyController;->fetchCarrierPrivilegedAppsLocked()V
 PLcom/android/server/usage/AppStandbyController;->flushDurationsToDisk()V
 PLcom/android/server/usage/AppStandbyController;->flushToDisk(I)V
+PLcom/android/server/usage/AppStandbyController;->getAppId(Ljava/lang/String;)I
 PLcom/android/server/usage/AppStandbyController;->getAppStandbyBuckets(I)Ljava/util/List;
-PLcom/android/server/usage/AppStandbyController;->getIdleUidsForUser(I)[I
-PLcom/android/server/usage/AppStandbyController;->getTimeSinceLastJobRun(Ljava/lang/String;I)J
-PLcom/android/server/usage/AppStandbyController;->informListeners(Ljava/lang/String;IIIZ)V
-PLcom/android/server/usage/AppStandbyController;->informParoleStateChanged()V
 PLcom/android/server/usage/AppStandbyController;->initializeDefaultsForSystemApps(I)V
-PLcom/android/server/usage/AppStandbyController;->isDisplayOn()Z
-PLcom/android/server/usage/AppStandbyController;->notifyBatteryStats(Ljava/lang/String;IZ)V
-PLcom/android/server/usage/AppStandbyController;->onAdminDataAvailable()V
-PLcom/android/server/usage/AppStandbyController;->onBootPhase(I)V
+PLcom/android/server/usage/AppStandbyController;->isAppIdleFilteredOrParoled(Ljava/lang/String;IJZ)Z
 PLcom/android/server/usage/AppStandbyController;->onDeviceIdleModeChanged()V
-PLcom/android/server/usage/AppStandbyController;->postCheckIdleStates(I)V
-PLcom/android/server/usage/AppStandbyController;->postNextParoleTimeout(JZ)V
-PLcom/android/server/usage/AppStandbyController;->postOneTimeCheckIdleStates()V
-PLcom/android/server/usage/AppStandbyController;->postParoleEndTimeout()V
-PLcom/android/server/usage/AppStandbyController;->postParoleStateChanged()V
-PLcom/android/server/usage/AppStandbyController;->postReportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/usage/AppStandbyController;->postReportExemptedSyncScheduled(Ljava/lang/String;I)V
 PLcom/android/server/usage/AppStandbyController;->postReportExemptedSyncStart(Ljava/lang/String;I)V
-PLcom/android/server/usage/AppStandbyController;->reportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/usage/AppStandbyController;->reportExemptedSyncScheduled(Ljava/lang/String;I)V
 PLcom/android/server/usage/AppStandbyController;->reportExemptedSyncStart(Ljava/lang/String;I)V
-PLcom/android/server/usage/AppStandbyController;->setActiveAdminApps(Ljava/util/Set;I)V
-PLcom/android/server/usage/AppStandbyController;->setAppIdleEnabled(Z)V
 PLcom/android/server/usage/AppStandbyController;->setAppIdleParoled(Z)V
 PLcom/android/server/usage/AppStandbyController;->setAppStandbyBucket(Ljava/lang/String;IIIJZ)V
-PLcom/android/server/usage/AppStandbyController;->setChargingState(Z)V
 PLcom/android/server/usage/AppStandbyController;->setLastJobRunTime(Ljava/lang/String;IJ)V
 PLcom/android/server/usage/AppStandbyController;->updateChargingStableState()V
-PLcom/android/server/usage/AppStandbyController;->waitForAdminData()V
-PLcom/android/server/usage/AppTimeLimitController$Lock;-><init>()V
-PLcom/android/server/usage/AppTimeLimitController$Lock;-><init>(Lcom/android/server/usage/AppTimeLimitController$1;)V
-PLcom/android/server/usage/AppTimeLimitController$MyHandler;-><init>(Lcom/android/server/usage/AppTimeLimitController;Landroid/os/Looper;)V
-PLcom/android/server/usage/AppTimeLimitController$UserData;-><init>(I)V
-PLcom/android/server/usage/AppTimeLimitController$UserData;-><init>(ILcom/android/server/usage/AppTimeLimitController$1;)V
-PLcom/android/server/usage/AppTimeLimitController$UserData;->access$400(Lcom/android/server/usage/AppTimeLimitController$UserData;)Landroid/util/SparseArray;
-PLcom/android/server/usage/AppTimeLimitController$UserData;->access$500(Lcom/android/server/usage/AppTimeLimitController$UserData;)Ljava/lang/String;
-PLcom/android/server/usage/AppTimeLimitController$UserData;->access$502(Lcom/android/server/usage/AppTimeLimitController$UserData;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/usage/AppTimeLimitController$UserData;->access$600(Lcom/android/server/usage/AppTimeLimitController$UserData;)J
-PLcom/android/server/usage/AppTimeLimitController$UserData;->access$602(Lcom/android/server/usage/AppTimeLimitController$UserData;J)J
-PLcom/android/server/usage/AppTimeLimitController$UserData;->access$700(Lcom/android/server/usage/AppTimeLimitController$UserData;)Landroid/util/ArrayMap;
-PLcom/android/server/usage/AppTimeLimitController$UserData;->access$800(Lcom/android/server/usage/AppTimeLimitController$UserData;)I
-PLcom/android/server/usage/AppTimeLimitController;-><init>(Lcom/android/server/usage/AppTimeLimitController$OnLimitReachedListener;Landroid/os/Looper;)V
-PLcom/android/server/usage/AppTimeLimitController;->dump(Ljava/io/PrintWriter;)V
-PLcom/android/server/usage/AppTimeLimitController;->getOrCreateUserDataLocked(I)Lcom/android/server/usage/AppTimeLimitController$UserData;
-PLcom/android/server/usage/AppTimeLimitController;->getUptimeMillis()J
-PLcom/android/server/usage/AppTimeLimitController;->maybeWatchForPackageLocked(Lcom/android/server/usage/AppTimeLimitController$UserData;Ljava/lang/String;J)V
-PLcom/android/server/usage/AppTimeLimitController;->moveToBackground(Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/usage/AppTimeLimitController;->moveToForeground(Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/usage/IntervalStats$EventTracker;-><init>()V
-PLcom/android/server/usage/IntervalStats$EventTracker;->commitTime(J)V
-PLcom/android/server/usage/IntervalStats$EventTracker;->update(J)V
-PLcom/android/server/usage/IntervalStats;-><init>()V
+PLcom/android/server/usage/AppTimeLimitController$UserData;->dump(Ljava/io/PrintWriter;)V
+PLcom/android/server/usage/AppTimeLimitController;->dump([Ljava/lang/String;Ljava/io/PrintWriter;)V
+PLcom/android/server/usage/AppTimeLimitController;->getAppUsageLimit(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/UsageStatsManagerInternal$AppUsageLimitData;
 PLcom/android/server/usage/IntervalStats;->commitTime(J)V
-PLcom/android/server/usage/IntervalStats;->getOrCreateConfigurationStats(Landroid/content/res/Configuration;)Landroid/app/usage/ConfigurationStats;
-PLcom/android/server/usage/IntervalStats;->incrementAppLaunchCount(Ljava/lang/String;)V
-PLcom/android/server/usage/IntervalStats;->updateConfigurationStats(Landroid/content/res/Configuration;J)V
+PLcom/android/server/usage/IntervalStats;->updateChooserCounts(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/usage/IntervalStats;->updateKeyguardHidden(J)V
-PLcom/android/server/usage/IntervalStats;->updateKeyguardShown(J)V
-PLcom/android/server/usage/IntervalStats;->updateScreenInteractive(J)V
 PLcom/android/server/usage/IntervalStats;->updateScreenNonInteractive(J)V
-PLcom/android/server/usage/StorageStatsService$1;-><init>(Lcom/android/server/usage/StorageStatsService;)V
-PLcom/android/server/usage/StorageStatsService$1;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
-PLcom/android/server/usage/StorageStatsService$H;-><init>(Lcom/android/server/usage/StorageStatsService;Landroid/os/Looper;)V
-PLcom/android/server/usage/StorageStatsService$H;->getInitializedStrategy()Lcom/android/server/storage/CacheQuotaStrategy;
-PLcom/android/server/usage/StorageStatsService$H;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/usage/StorageStatsService$H;->recalculateQuotas(Lcom/android/server/storage/CacheQuotaStrategy;)V
-PLcom/android/server/usage/StorageStatsService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/usage/StorageStatsService$Lifecycle;->onStart()V
-PLcom/android/server/usage/StorageStatsService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/usage/StorageStatsService;->access$000(Lcom/android/server/usage/StorageStatsService;)V
-PLcom/android/server/usage/StorageStatsService;->access$100(Lcom/android/server/usage/StorageStatsService;)Landroid/content/Context;
-PLcom/android/server/usage/StorageStatsService;->access$200(Lcom/android/server/usage/StorageStatsService;)Lcom/android/server/pm/Installer;
-PLcom/android/server/usage/StorageStatsService;->access$300(Lcom/android/server/usage/StorageStatsService;)Landroid/util/ArrayMap;
 PLcom/android/server/usage/StorageStatsService;->enforcePermission(ILjava/lang/String;)V
+PLcom/android/server/usage/StorageStatsService;->getAppIds(I)[I
 PLcom/android/server/usage/StorageStatsService;->getCacheBytes(Ljava/lang/String;Ljava/lang/String;)J
-PLcom/android/server/usage/StorageStatsService;->getDefaultFlags()I
+PLcom/android/server/usage/StorageStatsService;->getCacheQuotaBytes(Ljava/lang/String;ILjava/lang/String;)J
 PLcom/android/server/usage/StorageStatsService;->getFreeBytes(Ljava/lang/String;Ljava/lang/String;)J
 PLcom/android/server/usage/StorageStatsService;->getTotalBytes(Ljava/lang/String;Ljava/lang/String;)J
-PLcom/android/server/usage/StorageStatsService;->invalidateMounts()V
-PLcom/android/server/usage/StorageStatsService;->isCacheQuotaCalculationsEnabled(Landroid/content/ContentResolver;)Z
 PLcom/android/server/usage/StorageStatsService;->isQuotaSupported(Ljava/lang/String;Ljava/lang/String;)Z
 PLcom/android/server/usage/StorageStatsService;->notifySignificantDelta()V
 PLcom/android/server/usage/StorageStatsService;->queryExternalStatsForUser(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/ExternalStorageStats;
+PLcom/android/server/usage/StorageStatsService;->queryStatsForPackage(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
+PLcom/android/server/usage/StorageStatsService;->queryStatsForUid(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
 PLcom/android/server/usage/StorageStatsService;->queryStatsForUser(Ljava/lang/String;ILjava/lang/String;)Landroid/app/usage/StorageStats;
-PLcom/android/server/usage/StorageStatsService;->translate(Landroid/content/pm/PackageStats;)Landroid/app/usage/StorageStats;
-PLcom/android/server/usage/UnixCalendar;-><init>(J)V
-PLcom/android/server/usage/UnixCalendar;->addDays(I)V
 PLcom/android/server/usage/UnixCalendar;->addMonths(I)V
 PLcom/android/server/usage/UnixCalendar;->addWeeks(I)V
 PLcom/android/server/usage/UnixCalendar;->addYears(I)V
-PLcom/android/server/usage/UnixCalendar;->setTimeInMillis(J)V
-PLcom/android/server/usage/UsageStatsDatabase$1;-><init>(Lcom/android/server/usage/UsageStatsDatabase;)V
-PLcom/android/server/usage/UsageStatsDatabase$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
-PLcom/android/server/usage/UsageStatsDatabase;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-PLcom/android/server/usage/UsageStatsDatabase;-><init>(Ljava/io/File;)V
-PLcom/android/server/usage/UsageStatsDatabase;->checkVersionAndBuildLocked()V
 PLcom/android/server/usage/UsageStatsDatabase;->checkinDailyFiles(Lcom/android/server/usage/UsageStatsDatabase$CheckinAction;)Z
 PLcom/android/server/usage/UsageStatsDatabase;->findBestFitBucket(JJ)I
 PLcom/android/server/usage/UsageStatsDatabase;->getBackupPayload(Ljava/lang/String;)[B
-PLcom/android/server/usage/UsageStatsDatabase;->getBuildFingerprint()Ljava/lang/String;
-PLcom/android/server/usage/UsageStatsDatabase;->getLatestUsageStats(I)Lcom/android/server/usage/IntervalStats;
-PLcom/android/server/usage/UsageStatsDatabase;->indexFilesLocked()V
-PLcom/android/server/usage/UsageStatsDatabase;->init(J)V
-PLcom/android/server/usage/UsageStatsDatabase;->isNewUpdate()Z
+PLcom/android/server/usage/UsageStatsDatabase;->getBackupPayload(Ljava/lang/String;I)[B
 PLcom/android/server/usage/UsageStatsDatabase;->prune(J)V
 PLcom/android/server/usage/UsageStatsDatabase;->pruneChooserCountsOlderThan(Ljava/io/File;J)V
 PLcom/android/server/usage/UsageStatsDatabase;->pruneFilesOlderThan(Ljava/io/File;J)V
-PLcom/android/server/usage/UsageStatsDatabase;->putUsageStats(ILcom/android/server/usage/IntervalStats;)V
 PLcom/android/server/usage/UsageStatsDatabase;->queryUsageStats(IJJLcom/android/server/usage/UsageStatsDatabase$StatCombiner;)Ljava/util/List;
-PLcom/android/server/usage/UsageStatsDatabase;->sanitizeIntervalStatsForBackup(Lcom/android/server/usage/IntervalStats;)V
-PLcom/android/server/usage/UsageStatsDatabase;->serializeIntervalStats(Lcom/android/server/usage/IntervalStats;)[B
-PLcom/android/server/usage/UsageStatsDatabase;->writeIntervalStatsToStream(Ljava/io/DataOutputStream;Landroid/util/AtomicFile;)V
-PLcom/android/server/usage/UsageStatsService$1;-><init>(Lcom/android/server/usage/UsageStatsService;)V
-PLcom/android/server/usage/UsageStatsService$1;->onAppIdleStateChanged(Ljava/lang/String;IZII)V
-PLcom/android/server/usage/UsageStatsService$1;->onParoleStateChanged(Z)V
-PLcom/android/server/usage/UsageStatsService$2;-><init>(Lcom/android/server/usage/UsageStatsService;)V
-PLcom/android/server/usage/UsageStatsService$2;->onUidGone(IZ)V
-PLcom/android/server/usage/UsageStatsService$BinderService;-><init>(Lcom/android/server/usage/UsageStatsService;)V
-PLcom/android/server/usage/UsageStatsService$BinderService;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$1;)V
+PLcom/android/server/usage/UsageStatsDatabase;->serializeIntervalStats(Lcom/android/server/usage/IntervalStats;I)[B
+PLcom/android/server/usage/UsageStatsDatabase;->writeIntervalStatsToStream(Ljava/io/DataOutputStream;Landroid/util/AtomicFile;I)V
+PLcom/android/server/usage/UsageStatsService$BinderService;->checkCallerIsSameApp(Ljava/lang/String;)V
 PLcom/android/server/usage/UsageStatsService$BinderService;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/usage/UsageStatsService$BinderService;->getAppStandbyBucket(Ljava/lang/String;Ljava/lang/String;I)I
 PLcom/android/server/usage/UsageStatsService$BinderService;->getAppStandbyBuckets(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/usage/UsageStatsService$BinderService;->hasPermission(Ljava/lang/String;)Z
+PLcom/android/server/usage/UsageStatsService$BinderService;->isAppInactive(Ljava/lang/String;I)Z
 PLcom/android/server/usage/UsageStatsService$BinderService;->onCarrierPrivilegedAppsChanged()V
+PLcom/android/server/usage/UsageStatsService$BinderService;->queryEvents(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
+PLcom/android/server/usage/UsageStatsService$BinderService;->queryEventsForPackage(JJLjava/lang/String;)Landroid/app/usage/UsageEvents;
+PLcom/android/server/usage/UsageStatsService$BinderService;->queryEventsForPackageForUser(JJILjava/lang/String;Ljava/lang/String;)Landroid/app/usage/UsageEvents;
 PLcom/android/server/usage/UsageStatsService$BinderService;->queryUsageStats(IJJLjava/lang/String;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/usage/UsageStatsService$BinderService;->reportChooserSelection(Ljava/lang/String;ILjava/lang/String;[Ljava/lang/String;Ljava/lang/String;)V
 PLcom/android/server/usage/UsageStatsService$BinderService;->setAppStandbyBuckets(Landroid/content/pm/ParceledListSlice;I)V
-PLcom/android/server/usage/UsageStatsService$H;-><init>(Lcom/android/server/usage/UsageStatsService;Landroid/os/Looper;)V
-PLcom/android/server/usage/UsageStatsService$LocalService;-><init>(Lcom/android/server/usage/UsageStatsService;)V
-PLcom/android/server/usage/UsageStatsService$LocalService;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$1;)V
-PLcom/android/server/usage/UsageStatsService$LocalService;->addAppIdleStateChangeListener(Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;)V
+PLcom/android/server/usage/UsageStatsService$BinderService;->whitelistAppTemporarily(Ljava/lang/String;JI)V
+PLcom/android/server/usage/UsageStatsService$LocalService;->getAppUsageLimit(Ljava/lang/String;Landroid/os/UserHandle;)Landroid/app/usage/UsageStatsManagerInternal$AppUsageLimitData;
 PLcom/android/server/usage/UsageStatsService$LocalService;->getBackupPayload(ILjava/lang/String;)[B
-PLcom/android/server/usage/UsageStatsService$LocalService;->getIdleUidsForUser(I)[I
-PLcom/android/server/usage/UsageStatsService$LocalService;->getTimeSinceLastJobRun(Ljava/lang/String;I)J
-PLcom/android/server/usage/UsageStatsService$LocalService;->isAppIdleParoleOn()Z
-PLcom/android/server/usage/UsageStatsService$LocalService;->onActiveAdminAdded(Ljava/lang/String;I)V
-PLcom/android/server/usage/UsageStatsService$LocalService;->onAdminDataAvailable()V
 PLcom/android/server/usage/UsageStatsService$LocalService;->queryUsageStatsForUser(IIJJZ)Ljava/util/List;
-PLcom/android/server/usage/UsageStatsService$LocalService;->reportConfigurationChange(Landroid/content/res/Configuration;I)V
-PLcom/android/server/usage/UsageStatsService$LocalService;->reportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V
-PLcom/android/server/usage/UsageStatsService$LocalService;->reportEvent(Landroid/content/ComponentName;II)V
 PLcom/android/server/usage/UsageStatsService$LocalService;->reportExemptedSyncScheduled(Ljava/lang/String;I)V
 PLcom/android/server/usage/UsageStatsService$LocalService;->reportExemptedSyncStart(Ljava/lang/String;I)V
-PLcom/android/server/usage/UsageStatsService$LocalService;->setActiveAdminApps(Ljava/util/Set;I)V
+PLcom/android/server/usage/UsageStatsService$LocalService;->reportInterruptiveNotification(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/usage/UsageStatsService$LocalService;->reportShortcutUsage(Ljava/lang/String;Ljava/lang/String;I)V
 PLcom/android/server/usage/UsageStatsService$LocalService;->setLastJobRunTime(Ljava/lang/String;IJ)V
-PLcom/android/server/usage/UsageStatsService$UserActionsReceiver;-><init>(Lcom/android/server/usage/UsageStatsService;)V
-PLcom/android/server/usage/UsageStatsService$UserActionsReceiver;-><init>(Lcom/android/server/usage/UsageStatsService;Lcom/android/server/usage/UsageStatsService$1;)V
-PLcom/android/server/usage/UsageStatsService$UserActionsReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/usage/UsageStatsService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/usage/UsageStatsService;->access$400()Ljava/io/File;
-PLcom/android/server/usage/UsageStatsService;->access$700(Lcom/android/server/usage/UsageStatsService;)Ljava/lang/Object;
-PLcom/android/server/usage/UsageStatsService;->access$800(Lcom/android/server/usage/UsageStatsService;)J
-PLcom/android/server/usage/UsageStatsService;->access$900(Lcom/android/server/usage/UsageStatsService;IJ)Lcom/android/server/usage/UserUsageStatsService;
-PLcom/android/server/usage/UsageStatsService;->cleanUpRemovedUsersLocked()V
 PLcom/android/server/usage/UsageStatsService;->dump([Ljava/lang/String;Ljava/io/PrintWriter;)V
 PLcom/android/server/usage/UsageStatsService;->flushToDisk()V
 PLcom/android/server/usage/UsageStatsService;->flushToDiskLocked()V
-PLcom/android/server/usage/UsageStatsService;->getDpmInternal()Landroid/app/admin/DevicePolicyManagerInternal;
-PLcom/android/server/usage/UsageStatsService;->onBootPhase(I)V
 PLcom/android/server/usage/UsageStatsService;->onNewUpdate(I)V
-PLcom/android/server/usage/UsageStatsService;->onStart()V
-PLcom/android/server/usage/UsageStatsService;->onStatsReloaded()V
-PLcom/android/server/usage/UsageStatsService;->onStatsUpdated()V
 PLcom/android/server/usage/UsageStatsService;->queryEvents(IJJZ)Landroid/app/usage/UsageEvents;
+PLcom/android/server/usage/UsageStatsService;->queryEventsForPackage(IJJLjava/lang/String;Z)Landroid/app/usage/UsageEvents;
 PLcom/android/server/usage/UsageStatsService;->queryUsageStats(IIJJZ)Ljava/util/List;
-PLcom/android/server/usage/UsageStatsService;->validRange(JJJ)Z
-PLcom/android/server/usage/UsageStatsXml;->parseBeginTime(Landroid/util/AtomicFile;)J
-PLcom/android/server/usage/UsageStatsXml;->parseBeginTime(Ljava/io/File;)J
-PLcom/android/server/usage/UsageStatsXml;->read(Landroid/util/AtomicFile;Lcom/android/server/usage/IntervalStats;)V
-PLcom/android/server/usage/UsageStatsXml;->read(Ljava/io/InputStream;Lcom/android/server/usage/IntervalStats;)V
-PLcom/android/server/usage/UsageStatsXml;->write(Landroid/util/AtomicFile;Lcom/android/server/usage/IntervalStats;)V
-PLcom/android/server/usage/UsageStatsXml;->write(Ljava/io/OutputStream;Lcom/android/server/usage/IntervalStats;)V
-PLcom/android/server/usage/UsageStatsXmlV1;->loadConfigStats(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/usage/IntervalStats;)V
-PLcom/android/server/usage/UsageStatsXmlV1;->loadCountAndTime(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/usage/IntervalStats$EventTracker;)V
-PLcom/android/server/usage/UsageStatsXmlV1;->writeConfigStats(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/usage/IntervalStats;Landroid/app/usage/ConfigurationStats;Z)V
-PLcom/android/server/usage/UsageStatsXmlV1;->writeCountAndTime(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;IJ)V
-PLcom/android/server/usage/UserUsageStatsService$1;-><init>()V
+PLcom/android/server/usage/UsageStatsService;->reportEventToAllUserId(Landroid/app/usage/UsageEvents$Event;)V
 PLcom/android/server/usage/UserUsageStatsService$1;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)V
-PLcom/android/server/usage/UserUsageStatsService$2;-><init>()V
-PLcom/android/server/usage/UserUsageStatsService$3;-><init>()V
-PLcom/android/server/usage/UserUsageStatsService$4;-><init>(Lcom/android/server/usage/UserUsageStatsService;JJZLandroid/util/ArraySet;)V
-PLcom/android/server/usage/UserUsageStatsService$5;-><init>(Lcom/android/server/usage/UserUsageStatsService;Lcom/android/internal/util/IndentingPrintWriter;)V
+PLcom/android/server/usage/UserUsageStatsService$4;->combine(Lcom/android/server/usage/IntervalStats;ZLjava/util/List;)V
 PLcom/android/server/usage/UserUsageStatsService$5;->checkin(Lcom/android/server/usage/IntervalStats;)Z
-PLcom/android/server/usage/UserUsageStatsService;-><init>(Landroid/content/Context;ILjava/io/File;Lcom/android/server/usage/UserUsageStatsService$StatsUpdatedListener;)V
 PLcom/android/server/usage/UserUsageStatsService;->checkin(Lcom/android/internal/util/IndentingPrintWriter;)V
 PLcom/android/server/usage/UserUsageStatsService;->eventToString(I)Ljava/lang/String;
 PLcom/android/server/usage/UserUsageStatsService;->formatDateTime(JZ)Ljava/lang/String;
 PLcom/android/server/usage/UserUsageStatsService;->formatElapsedTime(JZ)Ljava/lang/String;
 PLcom/android/server/usage/UserUsageStatsService;->getBackupPayload(Ljava/lang/String;)[B
-PLcom/android/server/usage/UserUsageStatsService;->init(J)V
-PLcom/android/server/usage/UserUsageStatsService;->loadActiveStats(J)V
-PLcom/android/server/usage/UserUsageStatsService;->notifyNewUpdate()V
-PLcom/android/server/usage/UserUsageStatsService;->persistActiveStats()V
+PLcom/android/server/usage/UserUsageStatsService;->lambda$queryEventsForPackage$0(JJLjava/lang/String;Landroid/util/ArraySet;ZLcom/android/server/usage/IntervalStats;ZLjava/util/List;)V
+PLcom/android/server/usage/UserUsageStatsService;->notifyStatsChanged()V
 PLcom/android/server/usage/UserUsageStatsService;->printEvent(Lcom/android/internal/util/IndentingPrintWriter;Landroid/app/usage/UsageEvents$Event;Z)V
 PLcom/android/server/usage/UserUsageStatsService;->printEventAggregation(Lcom/android/internal/util/IndentingPrintWriter;Ljava/lang/String;Lcom/android/server/usage/IntervalStats$EventTracker;Z)V
 PLcom/android/server/usage/UserUsageStatsService;->printIntervalStats(Lcom/android/internal/util/IndentingPrintWriter;Lcom/android/server/usage/IntervalStats;ZZLjava/lang/String;)V
 PLcom/android/server/usage/UserUsageStatsService;->queryEvents(JJZ)Landroid/app/usage/UsageEvents;
+PLcom/android/server/usage/UserUsageStatsService;->queryEventsForPackage(JJLjava/lang/String;Z)Landroid/app/usage/UsageEvents;
 PLcom/android/server/usage/UserUsageStatsService;->queryStats(IJJLcom/android/server/usage/UsageStatsDatabase$StatCombiner;)Ljava/util/List;
 PLcom/android/server/usage/UserUsageStatsService;->queryUsageStats(IJJ)Ljava/util/List;
 PLcom/android/server/usage/UserUsageStatsService;->rolloverStats(J)V
-PLcom/android/server/usage/UserUsageStatsService;->updateRolloverDeadline()V
-PLcom/android/server/usb/-$$Lambda$UsbHostManager$XT3F5aQci4H6VWSBYBQQNSzpnvs;-><init>(Lcom/android/server/usb/UsbHostManager;)V
-PLcom/android/server/usb/-$$Lambda$UsbHostManager$XT3F5aQci4H6VWSBYBQQNSzpnvs;->run()V
-PLcom/android/server/usb/-$$Lambda$UsbPortManager$FUqGOOupcl6RrRkZBk-BnrRQyPI;-><init>(Lcom/android/server/usb/UsbPortManager;Landroid/content/Intent;)V
-PLcom/android/server/usb/-$$Lambda$UsbPortManager$FUqGOOupcl6RrRkZBk-BnrRQyPI;->run()V
-PLcom/android/server/usb/-$$Lambda$UsbProfileGroupSettingsManager$IQKTzU0q3lyaW9nLL_sbxJPW8ME;-><init>(Lcom/android/server/usb/UsbProfileGroupSettingsManager;)V
-PLcom/android/server/usb/MtpNotificationManager$Receiver;-><init>(Lcom/android/server/usb/MtpNotificationManager;)V
-PLcom/android/server/usb/MtpNotificationManager$Receiver;-><init>(Lcom/android/server/usb/MtpNotificationManager;Lcom/android/server/usb/MtpNotificationManager$1;)V
-PLcom/android/server/usb/MtpNotificationManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/MtpNotificationManager$OnOpenInAppListener;)V
-PLcom/android/server/usb/UsbAlsaManager;-><init>(Landroid/content/Context;)V
+PLcom/android/server/usb/MtpNotificationManager;->hideNotification(I)V
+PLcom/android/server/usb/MtpNotificationManager;->isMtpDevice(Landroid/hardware/usb/UsbDevice;)Z
+PLcom/android/server/usb/UsbAlsaDevice;->getAlsaCardDeviceString()Ljava/lang/String;
+PLcom/android/server/usb/UsbAlsaDevice;->isInputJackConnected()Z
+PLcom/android/server/usb/UsbAlsaDevice;->isOutputJackConnected()Z
+PLcom/android/server/usb/UsbAlsaDevice;->setDeviceNameAndDescription(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/usb/UsbAlsaDevice;->start()V
+PLcom/android/server/usb/UsbAlsaDevice;->startJackDetect()V
+PLcom/android/server/usb/UsbAlsaDevice;->stop()V
+PLcom/android/server/usb/UsbAlsaDevice;->stopJackDetect()V
+PLcom/android/server/usb/UsbAlsaDevice;->toString()Ljava/lang/String;
+PLcom/android/server/usb/UsbAlsaDevice;->updateWiredDeviceConnectionState(Z)V
+PLcom/android/server/usb/UsbAlsaManager;->deselectAlsaDevice()V
+PLcom/android/server/usb/UsbAlsaManager;->getAlsaDeviceListIndexFor(Ljava/lang/String;)I
+PLcom/android/server/usb/UsbAlsaManager;->selectAlsaDevice(Lcom/android/server/usb/UsbAlsaDevice;)V
 PLcom/android/server/usb/UsbAlsaManager;->setPeripheralMidiState(ZII)V
-PLcom/android/server/usb/UsbAlsaManager;->systemReady()V
-PLcom/android/server/usb/UsbDebuggingManager$UsbDebuggingHandler;-><init>(Lcom/android/server/usb/UsbDebuggingManager;Landroid/os/Looper;)V
-PLcom/android/server/usb/UsbDebuggingManager$UsbDebuggingHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/usb/UsbDebuggingManager$UsbDebuggingThread;-><init>(Lcom/android/server/usb/UsbDebuggingManager;)V
-PLcom/android/server/usb/UsbDebuggingManager$UsbDebuggingThread;->closeSocketLocked()V
-PLcom/android/server/usb/UsbDebuggingManager$UsbDebuggingThread;->listenToSocket()V
-PLcom/android/server/usb/UsbDebuggingManager$UsbDebuggingThread;->openSocketLocked()V
-PLcom/android/server/usb/UsbDebuggingManager$UsbDebuggingThread;->run()V
-PLcom/android/server/usb/UsbDebuggingManager;-><init>(Landroid/content/Context;)V
-PLcom/android/server/usb/UsbDebuggingManager;->access$100(Lcom/android/server/usb/UsbDebuggingManager;)Z
-PLcom/android/server/usb/UsbDebuggingManager;->access$102(Lcom/android/server/usb/UsbDebuggingManager;Z)Z
-PLcom/android/server/usb/UsbDebuggingManager;->access$200(Lcom/android/server/usb/UsbDebuggingManager;)Lcom/android/server/usb/UsbDebuggingManager$UsbDebuggingThread;
-PLcom/android/server/usb/UsbDebuggingManager;->access$202(Lcom/android/server/usb/UsbDebuggingManager;Lcom/android/server/usb/UsbDebuggingManager$UsbDebuggingThread;)Lcom/android/server/usb/UsbDebuggingManager$UsbDebuggingThread;
-PLcom/android/server/usb/UsbDebuggingManager;->setAdbEnabled(Z)V
-PLcom/android/server/usb/UsbDeviceManager$1;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
-PLcom/android/server/usb/UsbDeviceManager$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/usb/UsbDeviceManager$2;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
-PLcom/android/server/usb/UsbDeviceManager$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/usb/UsbDeviceManager$3;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
-PLcom/android/server/usb/UsbDeviceManager$4;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
-PLcom/android/server/usb/UsbDeviceManager$AdbSettingsObserver;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/server/usb/UsbDeviceManager;Lcom/android/server/usb/UsbDebuggingManager;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbSettingsManager;)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->finishBoot()V
+PLcom/android/server/usb/UsbAlsaManager;->usbDeviceAdded(Ljava/lang/String;Landroid/hardware/usb/UsbDevice;Lcom/android/server/usb/descriptors/UsbDescriptorParser;)V
+PLcom/android/server/usb/UsbAlsaManager;->usbDeviceRemoved(Ljava/lang/String;)V
+PLcom/android/server/usb/UsbDeviceManager$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
 PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getAppliedFunctions(J)J
 PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getChargingFunctions()J
 PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getCurrentAccessory()Landroid/hardware/usb/UsbAccessory;
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getPinnedSharedPrefs(Landroid/content/Context;)Landroid/content/SharedPreferences;
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getSystemProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isTv()Z
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getEnabledFunctions()J
 PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isUsbDataTransferActive(J)Z
 PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isUsbStateChanged(Landroid/content/Intent;)Z
 PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isUsbTransferAllowed()Z
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->putGlobalSettings(Landroid/content/ContentResolver;Ljava/lang/String;I)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->sendMessage(ILjava/lang/Object;)V
 PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->sendMessage(ILjava/lang/Object;Z)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->sendMessage(IZ)V
 PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->sendStickyBroadcast(Landroid/content/Intent;)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateAdbNotification(Z)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateHostState(Landroid/hardware/usb/UsbPort;Landroid/hardware/usb/UsbPortStatus;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateCurrentAccessory()V
 PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateMidiFunction()V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateState(Ljava/lang/String;)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateUsbFunctions()V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateUsbNotification(Z)V
 PLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateUsbStateBroadcastIfNeeded(J)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$ServiceNotification;-><init>(Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$ServiceNotification;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$UsbGadgetCallback;-><init>(Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$UsbGadgetCallback;->getCurrentUsbFunctionsCb(JI)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$UsbGadgetDeathRecipient;-><init>(Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/server/usb/UsbDeviceManager;Lcom/android/server/usb/UsbDebuggingManager;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbSettingsManager;)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->access$600(Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;)Ljava/lang/Object;
-PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->access$700(Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;)Landroid/hardware/usb/gadget/V1_0/IUsbGadget;
-PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->access$702(Lcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;Landroid/hardware/usb/gadget/V1_0/IUsbGadget;)Landroid/hardware/usb/gadget/V1_0/IUsbGadget;
-PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$UsbGadgetCallback;->setCurrentUsbFunctionsCb(JI)V
 PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->setEnabledFunctions(JZ)V
-PLcom/android/server/usb/UsbDeviceManager$UsbHandlerLegacy;->containsFunction(Ljava/lang/String;Ljava/lang/String;)Z
-PLcom/android/server/usb/UsbDeviceManager$UsbUEventObserver;-><init>(Lcom/android/server/usb/UsbDeviceManager;)V
-PLcom/android/server/usb/UsbDeviceManager$UsbUEventObserver;-><init>(Lcom/android/server/usb/UsbDeviceManager;Lcom/android/server/usb/UsbDeviceManager$1;)V
+PLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->setUsbConfig(JZ)V
 PLcom/android/server/usb/UsbDeviceManager$UsbUEventObserver;->onUEvent(Landroid/os/UEventObserver$UEvent;)V
-PLcom/android/server/usb/UsbDeviceManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbSettingsManager;)V
-PLcom/android/server/usb/UsbDeviceManager;->access$100(Lcom/android/server/usb/UsbDeviceManager;)Lcom/android/server/usb/UsbDeviceManager$UsbHandler;
-PLcom/android/server/usb/UsbDeviceManager;->access$400()Ljava/lang/String;
 PLcom/android/server/usb/UsbDeviceManager;->bootCompleted()V
+PLcom/android/server/usb/UsbDeviceManager;->getAccessoryStrings()[Ljava/lang/String;
 PLcom/android/server/usb/UsbDeviceManager;->getCurrentAccessory()Landroid/hardware/usb/UsbAccessory;
-PLcom/android/server/usb/UsbDeviceManager;->initRndisAddress()V
+PLcom/android/server/usb/UsbDeviceManager;->getCurrentFunctions()J
+PLcom/android/server/usb/UsbDeviceManager;->getCurrentSettings()Lcom/android/server/usb/UsbProfileGroupSettingsManager;
 PLcom/android/server/usb/UsbDeviceManager;->onAwakeStateChanged(Z)V
-PLcom/android/server/usb/UsbDeviceManager;->onKeyguardStateChanged(Z)V
 PLcom/android/server/usb/UsbDeviceManager;->onUnlockUser(I)V
-PLcom/android/server/usb/UsbDeviceManager;->setCurrentUser(ILcom/android/server/usb/UsbProfileGroupSettingsManager;)V
-PLcom/android/server/usb/UsbDeviceManager;->systemReady()V
+PLcom/android/server/usb/UsbDeviceManager;->openAccessory(Landroid/hardware/usb/UsbAccessory;Lcom/android/server/usb/UsbUserSettingsManager;I)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/usb/UsbDeviceManager;->setCurrentFunctions(J)V
+PLcom/android/server/usb/UsbDeviceManager;->startAccessoryMode()V
 PLcom/android/server/usb/UsbDeviceManager;->updateUserRestrictions()V
-PLcom/android/server/usb/UsbHostManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbSettingsManager;)V
+PLcom/android/server/usb/UsbHostManager;->addConnectionRecord(Ljava/lang/String;I[B)V
+PLcom/android/server/usb/UsbHostManager;->checkUsbInterfacesBlackListed(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)Z
+PLcom/android/server/usb/UsbHostManager;->getCurrentUserSettings()Lcom/android/server/usb/UsbProfileGroupSettingsManager;
 PLcom/android/server/usb/UsbHostManager;->getDeviceList(Landroid/os/Bundle;)V
-PLcom/android/server/usb/UsbHostManager;->isBlackListed(II)Z
-PLcom/android/server/usb/UsbHostManager;->isBlackListed(Ljava/lang/String;)Z
-PLcom/android/server/usb/UsbHostManager;->lambda$XT3F5aQci4H6VWSBYBQQNSzpnvs(Lcom/android/server/usb/UsbHostManager;)V
+PLcom/android/server/usb/UsbHostManager;->getUsbDeviceConnectionHandler()Landroid/content/ComponentName;
 PLcom/android/server/usb/UsbHostManager;->logUsbDevice(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)V
-PLcom/android/server/usb/UsbHostManager;->setCurrentUserSettings(Lcom/android/server/usb/UsbProfileGroupSettingsManager;)V
-PLcom/android/server/usb/UsbHostManager;->setUsbDeviceConnectionHandler(Landroid/content/ComponentName;)V
-PLcom/android/server/usb/UsbHostManager;->systemReady()V
 PLcom/android/server/usb/UsbHostManager;->usbDeviceAdded(Ljava/lang/String;II[B)Z
 PLcom/android/server/usb/UsbHostManager;->usbDeviceRemoved(Ljava/lang/String;)V
-PLcom/android/server/usb/UsbPortManager$1;-><init>(Lcom/android/server/usb/UsbPortManager;Landroid/os/Looper;)V
-PLcom/android/server/usb/UsbPortManager$1;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/usb/UsbPortManager$DeathRecipient;-><init>(Lcom/android/server/usb/UsbPortManager;Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/usb/UsbPortManager$HALCallback;-><init>(Lcom/android/internal/util/IndentingPrintWriter;Lcom/android/server/usb/UsbPortManager;)V
-PLcom/android/server/usb/UsbPortManager$HALCallback;->notifyPortStatusChange_1_1(Ljava/util/ArrayList;I)V
-PLcom/android/server/usb/UsbPortManager$PortInfo;-><init>(Ljava/lang/String;I)V
-PLcom/android/server/usb/UsbPortManager$PortInfo;->setStatus(IZIZIZI)Z
-PLcom/android/server/usb/UsbPortManager$PortInfo;->toString()Ljava/lang/String;
-PLcom/android/server/usb/UsbPortManager$RawPortInfo$1;-><init>()V
-PLcom/android/server/usb/UsbPortManager$RawPortInfo;-><init>(Ljava/lang/String;IIZIZIZ)V
-PLcom/android/server/usb/UsbPortManager$ServiceNotification;-><init>(Lcom/android/server/usb/UsbPortManager;)V
-PLcom/android/server/usb/UsbPortManager$ServiceNotification;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
-PLcom/android/server/usb/UsbPortManager;-><init>(Landroid/content/Context;)V
-PLcom/android/server/usb/UsbPortManager;->access$000(Lcom/android/server/usb/UsbPortManager;)Z
-PLcom/android/server/usb/UsbPortManager;->access$100(ILcom/android/internal/util/IndentingPrintWriter;Ljava/lang/String;)V
-PLcom/android/server/usb/UsbPortManager;->access$200(Lcom/android/server/usb/UsbPortManager;)Landroid/os/Handler;
-PLcom/android/server/usb/UsbPortManager;->access$300(Lcom/android/server/usb/UsbPortManager;)Ljava/lang/Object;
-PLcom/android/server/usb/UsbPortManager;->access$500(Lcom/android/server/usb/UsbPortManager;Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/usb/UsbPortManager;->access$600(Lcom/android/server/usb/UsbPortManager;Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/ArrayList;)V
-PLcom/android/server/usb/UsbPortManager;->addOrUpdatePortLocked(Ljava/lang/String;IIZIZIZLcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/usb/UsbPortManager;->connectToProxy(Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/usb/UsbPortManager;->handlePortAddedLocked(Lcom/android/server/usb/UsbPortManager$PortInfo;Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/usb/UsbPortManager;->handlePortChangedLocked(Lcom/android/server/usb/UsbPortManager$PortInfo;Lcom/android/internal/util/IndentingPrintWriter;)V
-PLcom/android/server/usb/UsbPortManager;->lambda$sendPortChangedBroadcastLocked$0(Lcom/android/server/usb/UsbPortManager;Landroid/content/Intent;)V
-PLcom/android/server/usb/UsbPortManager;->logAndPrint(ILcom/android/internal/util/IndentingPrintWriter;Ljava/lang/String;)V
-PLcom/android/server/usb/UsbPortManager;->sendPortChangedBroadcastLocked(Lcom/android/server/usb/UsbPortManager$PortInfo;)V
-PLcom/android/server/usb/UsbPortManager;->systemReady()V
-PLcom/android/server/usb/UsbPortManager;->updatePortsLocked(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/ArrayList;)V
-PLcom/android/server/usb/UsbProfileGroupSettingsManager$MyPackageMonitor;-><init>(Lcom/android/server/usb/UsbProfileGroupSettingsManager;)V
-PLcom/android/server/usb/UsbProfileGroupSettingsManager$MyPackageMonitor;-><init>(Lcom/android/server/usb/UsbProfileGroupSettingsManager;Lcom/android/server/usb/UsbProfileGroupSettingsManager$1;)V
+PLcom/android/server/usb/UsbPermissionManager;-><init>(Landroid/content/Context;Landroid/os/UserHandle;)V
+PLcom/android/server/usb/UsbPermissionManager;->grantAccessoryPermission(Landroid/hardware/usb/UsbAccessory;I)V
+PLcom/android/server/usb/UsbPermissionManager;->hasPermission(Landroid/hardware/usb/UsbAccessory;I)Z
+PLcom/android/server/usb/UsbPermissionManager;->removeAccessoryPermissions(Landroid/hardware/usb/UsbAccessory;)V
+PLcom/android/server/usb/UsbPermissionManager;->removeDevicePermissions(Landroid/hardware/usb/UsbDevice;)V
+PLcom/android/server/usb/UsbPortManager;->getPortStatus(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus;
+PLcom/android/server/usb/UsbPortManager;->getPorts()[Landroid/hardware/usb/UsbPort;
 PLcom/android/server/usb/UsbProfileGroupSettingsManager$MyPackageMonitor;->onPackageAdded(Ljava/lang/String;I)V
-PLcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;-><init>(Ljava/lang/String;Landroid/os/UserHandle;)V
-PLcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;-><init>(Ljava/lang/String;Landroid/os/UserHandle;Lcom/android/server/usb/UsbProfileGroupSettingsManager$1;)V
-PLcom/android/server/usb/UsbProfileGroupSettingsManager;-><init>(Landroid/content/Context;Landroid/os/UserHandle;Lcom/android/server/usb/UsbSettingsManager;)V
-PLcom/android/server/usb/UsbProfileGroupSettingsManager;->access$000(Lcom/android/server/usb/UsbProfileGroupSettingsManager;)Landroid/os/UserHandle;
-PLcom/android/server/usb/UsbProfileGroupSettingsManager;->access$100(Lcom/android/server/usb/UsbProfileGroupSettingsManager;)Landroid/os/UserManager;
-PLcom/android/server/usb/UsbProfileGroupSettingsManager;->access$300(Lcom/android/server/usb/UsbProfileGroupSettingsManager;Lcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->accessoryAttached(Landroid/hardware/usb/UsbAccessory;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->deviceAttached(Landroid/hardware/usb/UsbDevice;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->getAccessoryFilters(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;)Ljava/util/ArrayList;
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->getAccessoryMatchesLocked(Landroid/hardware/usb/UsbAccessory;Landroid/content/Intent;)Ljava/util/ArrayList;
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->getDefaultActivityLocked(Ljava/util/ArrayList;Lcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->getDeviceFilters(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;)Ljava/util/ArrayList;
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->getDeviceMatchesLocked(Landroid/hardware/usb/UsbDevice;Landroid/content/Intent;)Ljava/util/ArrayList;
 PLcom/android/server/usb/UsbProfileGroupSettingsManager;->handlePackageAdded(Lcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;)V
 PLcom/android/server/usb/UsbProfileGroupSettingsManager;->handlePackageAddedLocked(Lcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;Landroid/content/pm/ActivityInfo;Ljava/lang/String;)Z
-PLcom/android/server/usb/UsbProfileGroupSettingsManager;->readSettingsLocked()V
-PLcom/android/server/usb/UsbProfileGroupSettingsManager;->upgradeSingleUserLocked()V
-PLcom/android/server/usb/UsbService$1;-><init>(Lcom/android/server/usb/UsbService;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->hasDefaults(Ljava/lang/String;Landroid/os/UserHandle;)Z
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->packageMatchesLocked(Landroid/content/pm/ResolveInfo;Landroid/hardware/usb/UsbDevice;Landroid/hardware/usb/UsbAccessory;)Z
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->preferHighPriority(Ljava/util/ArrayList;)Ljava/util/ArrayList;
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->queryIntentActivitiesForAllProfiles(Landroid/content/Intent;)Ljava/util/ArrayList;
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->removeAllDefaultsForUser(Landroid/os/UserHandle;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->removeForwardIntentIfNotNeeded(Ljava/util/ArrayList;)Ljava/util/ArrayList;
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->resolveActivity(Landroid/content/Intent;Landroid/hardware/usb/UsbDevice;Z)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->resolveActivity(Landroid/content/Intent;Ljava/util/ArrayList;Landroid/content/pm/ActivityInfo;Landroid/hardware/usb/UsbDevice;Landroid/hardware/usb/UsbAccessory;)V
+PLcom/android/server/usb/UsbProfileGroupSettingsManager;->usbDeviceRemoved(Landroid/hardware/usb/UsbDevice;)V
+PLcom/android/server/usb/UsbSerialReader;->enforcePackageBelongsToUid(ILjava/lang/String;)V
+PLcom/android/server/usb/UsbSerialReader;->getSerial(Ljava/lang/String;)Ljava/lang/String;
 PLcom/android/server/usb/UsbService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/usb/UsbService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/usb/UsbService$Lifecycle;->onBootPhase(I)V
-PLcom/android/server/usb/UsbService$Lifecycle;->onStart()V
+PLcom/android/server/usb/UsbService$Lifecycle;->onStopUser(I)V
 PLcom/android/server/usb/UsbService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/usb/UsbService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/usb/UsbService;->access$200(Lcom/android/server/usb/UsbService;)Lcom/android/server/usb/UsbDeviceManager;
 PLcom/android/server/usb/UsbService;->bootCompleted()V
 PLcom/android/server/usb/UsbService;->getCurrentAccessory()Landroid/hardware/usb/UsbAccessory;
+PLcom/android/server/usb/UsbService;->getCurrentFunctions()J
 PLcom/android/server/usb/UsbService;->getDeviceList(Landroid/os/Bundle;)V
-PLcom/android/server/usb/UsbService;->onSwitchUser(I)V
+PLcom/android/server/usb/UsbService;->getPortStatus(Ljava/lang/String;)Landroid/hardware/usb/UsbPortStatus;
+PLcom/android/server/usb/UsbService;->getPorts()Ljava/util/List;
+PLcom/android/server/usb/UsbService;->hasAccessoryPermission(Landroid/hardware/usb/UsbAccessory;)Z
+PLcom/android/server/usb/UsbService;->hasDefaults(Ljava/lang/String;I)Z
 PLcom/android/server/usb/UsbService;->onUnlockUser(I)V
-PLcom/android/server/usb/UsbService;->systemReady()V
-PLcom/android/server/usb/UsbSettingsManager;-><init>(Landroid/content/Context;)V
-PLcom/android/server/usb/UsbSettingsManager;->getSettingsForProfileGroup(Landroid/os/UserHandle;)Lcom/android/server/usb/UsbProfileGroupSettingsManager;
-PLcom/android/server/usb/descriptors/ByteStream;-><init>([B)V
-PLcom/android/server/usb/descriptors/ByteStream;->available()I
-PLcom/android/server/usb/descriptors/ByteStream;->getByte()B
-PLcom/android/server/usb/descriptors/ByteStream;->getReadCount()I
-PLcom/android/server/usb/descriptors/ByteStream;->getUnsignedByte()I
-PLcom/android/server/usb/descriptors/ByteStream;->resetReadCount()V
-PLcom/android/server/usb/descriptors/ByteStream;->unpackUsbShort()I
-PLcom/android/server/usb/descriptors/UsbConfigDescriptor;-><init>(IB)V
-PLcom/android/server/usb/descriptors/UsbConfigDescriptor;->addInterfaceDescriptor(Lcom/android/server/usb/descriptors/UsbInterfaceDescriptor;)V
+PLcom/android/server/usb/UsbService;->openAccessory(Landroid/hardware/usb/UsbAccessory;)Landroid/os/ParcelFileDescriptor;
+PLcom/android/server/usb/UsbSettingsManager;->getSettingsForUser(I)Lcom/android/server/usb/UsbUserSettingsManager;
+PLcom/android/server/usb/UsbSettingsManager;->remove(Landroid/os/UserHandle;)V
+PLcom/android/server/usb/UsbSettingsManager;->usbAccessoryRemoved(Landroid/hardware/usb/UsbAccessory;)V
+PLcom/android/server/usb/UsbSettingsManager;->usbDeviceRemoved(Landroid/hardware/usb/UsbDevice;)V
+PLcom/android/server/usb/UsbUserSettingsManager;-><init>(Landroid/content/Context;Landroid/os/UserHandle;Lcom/android/server/usb/UsbPermissionManager;)V
+PLcom/android/server/usb/UsbUserSettingsManager;->checkPermission(Landroid/hardware/usb/UsbAccessory;I)V
+PLcom/android/server/usb/UsbUserSettingsManager;->grantAccessoryPermission(Landroid/hardware/usb/UsbAccessory;I)V
+PLcom/android/server/usb/UsbUserSettingsManager;->hasPermission(Landroid/hardware/usb/UsbAccessory;I)Z
+PLcom/android/server/usb/UsbUserSettingsManager;->queryIntentActivities(Landroid/content/Intent;)Ljava/util/List;
+PLcom/android/server/usb/UsbUserSettingsManager;->removeAccessoryPermissions(Landroid/hardware/usb/UsbAccessory;)V
+PLcom/android/server/usb/UsbUserSettingsManager;->removeDevicePermissions(Landroid/hardware/usb/UsbDevice;)V
+PLcom/android/server/usb/descriptors/ByteStream;->advance(I)V
+PLcom/android/server/usb/descriptors/Usb10ACHeader;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
+PLcom/android/server/usb/descriptors/Usb10ACInputTerminal;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
+PLcom/android/server/usb/descriptors/Usb10ACMixerUnit;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
+PLcom/android/server/usb/descriptors/Usb10ACOutputTerminal;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
+PLcom/android/server/usb/descriptors/Usb10ASFormatI;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
+PLcom/android/server/usb/descriptors/Usb10ASGeneral;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
+PLcom/android/server/usb/descriptors/UsbACAudioStreamEndpoint;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
+PLcom/android/server/usb/descriptors/UsbACEndpoint;->allocDescriptor(Lcom/android/server/usb/descriptors/UsbDescriptorParser;IB)Lcom/android/server/usb/descriptors/UsbDescriptor;
+PLcom/android/server/usb/descriptors/UsbACInterface;->allocAudioControlDescriptor(Lcom/android/server/usb/descriptors/UsbDescriptorParser;Lcom/android/server/usb/descriptors/ByteStream;IBBI)Lcom/android/server/usb/descriptors/UsbDescriptor;
+PLcom/android/server/usb/descriptors/UsbACInterface;->allocAudioStreamingDescriptor(Lcom/android/server/usb/descriptors/UsbDescriptorParser;Lcom/android/server/usb/descriptors/ByteStream;IBBI)Lcom/android/server/usb/descriptors/UsbDescriptor;
+PLcom/android/server/usb/descriptors/UsbACInterface;->allocDescriptor(Lcom/android/server/usb/descriptors/UsbDescriptorParser;Lcom/android/server/usb/descriptors/ByteStream;IB)Lcom/android/server/usb/descriptors/UsbDescriptor;
+PLcom/android/server/usb/descriptors/UsbACInterface;->getSubclass()I
+PLcom/android/server/usb/descriptors/UsbACInterface;->getSubtype()B
+PLcom/android/server/usb/descriptors/UsbACMixerUnit;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
+PLcom/android/server/usb/descriptors/UsbACTerminal;->getTerminalType()I
+PLcom/android/server/usb/descriptors/UsbASFormat;->allocDescriptor(Lcom/android/server/usb/descriptors/UsbDescriptorParser;Lcom/android/server/usb/descriptors/ByteStream;IBBI)Lcom/android/server/usb/descriptors/UsbDescriptor;
 PLcom/android/server/usb/descriptors/UsbConfigDescriptor;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
+PLcom/android/server/usb/descriptors/UsbConfigDescriptor;->toAndroid(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)Landroid/hardware/usb/UsbConfiguration;
 PLcom/android/server/usb/descriptors/UsbDescriptor;-><init>(IB)V
+PLcom/android/server/usb/descriptors/UsbDescriptor;->getType()B
 PLcom/android/server/usb/descriptors/UsbDescriptor;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
 PLcom/android/server/usb/descriptors/UsbDescriptor;->postParse(Lcom/android/server/usb/descriptors/ByteStream;)V
-PLcom/android/server/usb/descriptors/UsbDescriptorParser;-><init>(Ljava/lang/String;[B)V
 PLcom/android/server/usb/descriptors/UsbDescriptorParser;->allocDescriptor(Lcom/android/server/usb/descriptors/ByteStream;)Lcom/android/server/usb/descriptors/UsbDescriptor;
-PLcom/android/server/usb/descriptors/UsbDescriptorParser;->getDescriptorString(I)Ljava/lang/String;
-PLcom/android/server/usb/descriptors/UsbDescriptorParser;->getDeviceDescriptor()Lcom/android/server/usb/descriptors/UsbDeviceDescriptor;
+PLcom/android/server/usb/descriptors/UsbDescriptorParser;->getACInterfaceDescriptors(BI)Ljava/util/ArrayList;
+PLcom/android/server/usb/descriptors/UsbDescriptorParser;->getInputHeadsetProbability()F
+PLcom/android/server/usb/descriptors/UsbDescriptorParser;->getInterfaceDescriptorsForClass(I)Ljava/util/ArrayList;
+PLcom/android/server/usb/descriptors/UsbDescriptorParser;->getOutputHeadsetProbability()F
+PLcom/android/server/usb/descriptors/UsbDescriptorParser;->hasInput()Z
+PLcom/android/server/usb/descriptors/UsbDescriptorParser;->hasMIDIInterface()Z
+PLcom/android/server/usb/descriptors/UsbDescriptorParser;->hasMic()Z
+PLcom/android/server/usb/descriptors/UsbDescriptorParser;->hasOutput()Z
+PLcom/android/server/usb/descriptors/UsbDescriptorParser;->hasSpeaker()Z
 PLcom/android/server/usb/descriptors/UsbDescriptorParser;->parseDescriptors([B)V
-PLcom/android/server/usb/descriptors/UsbDeviceDescriptor;-><init>(IB)V
-PLcom/android/server/usb/descriptors/UsbDeviceDescriptor;->addConfigDescriptor(Lcom/android/server/usb/descriptors/UsbConfigDescriptor;)V
 PLcom/android/server/usb/descriptors/UsbDeviceDescriptor;->getDeviceReleaseString()Ljava/lang/String;
-PLcom/android/server/usb/descriptors/UsbDeviceDescriptor;->getMfgString(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)Ljava/lang/String;
-PLcom/android/server/usb/descriptors/UsbDeviceDescriptor;->getProductID()I
-PLcom/android/server/usb/descriptors/UsbDeviceDescriptor;->getProductString(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)Ljava/lang/String;
-PLcom/android/server/usb/descriptors/UsbDeviceDescriptor;->getSerialString(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)Ljava/lang/String;
-PLcom/android/server/usb/descriptors/UsbDeviceDescriptor;->getVendorID()I
 PLcom/android/server/usb/descriptors/UsbDeviceDescriptor;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-PLcom/android/server/usb/descriptors/UsbEndpointDescriptor;-><init>(IB)V
+PLcom/android/server/usb/descriptors/UsbDeviceDescriptor;->toAndroid(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)Landroid/hardware/usb/UsbDevice$Builder;
 PLcom/android/server/usb/descriptors/UsbEndpointDescriptor;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-PLcom/android/server/usb/descriptors/UsbInterfaceDescriptor;-><init>(IB)V
+PLcom/android/server/usb/descriptors/UsbEndpointDescriptor;->toAndroid(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)Landroid/hardware/usb/UsbEndpoint;
+PLcom/android/server/usb/descriptors/UsbHIDDescriptor;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
 PLcom/android/server/usb/descriptors/UsbInterfaceDescriptor;->addEndpointDescriptor(Lcom/android/server/usb/descriptors/UsbEndpointDescriptor;)V
+PLcom/android/server/usb/descriptors/UsbInterfaceDescriptor;->getUsbClass()I
+PLcom/android/server/usb/descriptors/UsbInterfaceDescriptor;->getUsbSubclass()I
 PLcom/android/server/usb/descriptors/UsbInterfaceDescriptor;->parseRawDescriptors(Lcom/android/server/usb/descriptors/ByteStream;)I
-PLcom/android/server/usb/descriptors/UsbUnknown;-><init>(IB)V
+PLcom/android/server/usb/descriptors/UsbInterfaceDescriptor;->toAndroid(Lcom/android/server/usb/descriptors/UsbDescriptorParser;)Landroid/hardware/usb/UsbInterface;
 PLcom/android/server/utils/PriorityDump;->dump(Lcom/android/server/utils/PriorityDump$PriorityDumper;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
-PLcom/android/server/voiceinteraction/DatabaseHelper;-><init>(Landroid/content/Context;)V
 PLcom/android/server/voiceinteraction/DatabaseHelper;->getArrayForCommaSeparatedString(Ljava/lang/String;)[I
-PLcom/android/server/voiceinteraction/DatabaseHelper;->getCommaSeparatedString([I)Ljava/lang/String;
 PLcom/android/server/voiceinteraction/DatabaseHelper;->getKeyphraseSoundModel(IILjava/lang/String;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;
-PLcom/android/server/voiceinteraction/DatabaseHelper;->updateKeyphraseSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;)Z
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$1;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$1;->getPackages(I)[Ljava/lang/String;
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$LocalService;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$2;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$2;->onHandleUserStop(Landroid/content/Intent;I)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$2;->onPackageModified(Ljava/lang/String;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$2;->onSomePackagesChanged()V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$SettingsObserver;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;Landroid/os/Handler;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->access$400(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;)I
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->activeServiceSupportsAssist()Z
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->activeServiceSupportsLaunchFromKeyguard()Z
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$RoleObserver;->getDefaultRecognizer(Landroid/os/UserHandle;)Ljava/lang/String;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$RoleObserver;->onRoleHoldersChanged(Ljava/lang/String;Landroid/os/UserHandle;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$SettingsObserver;->onChange(Z)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->closeSystemDialogs(Landroid/os/IBinder;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->deliverNewSession(Landroid/os/IBinder;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)Z
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->enforceCallingPermission(Ljava/lang/String;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getActiveServiceComponentName()Landroid/content/ComponentName;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->enforceIsCurrentVoiceInteractionService(Landroid/service/voice/IVoiceInteractionService;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->findAvailInteractor(ILjava/lang/String;)Landroid/service/voice/VoiceInteractionServiceInfo;
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->findAvailRecognizer(Ljava/lang/String;I)Landroid/content/ComponentName;
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getCurAssistant(I)Landroid/content/ComponentName;
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getCurInteractor(I)Landroid/content/ComponentName;
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getCurRecognizer(I)Landroid/content/ComponentName;
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getDspModuleProperties(Landroid/service/voice/IVoiceInteractionService;)Landroid/hardware/soundtrigger/SoundTrigger$ModuleProperties;
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getForceVoiceInteractionServicePackage(Landroid/content/res/Resources;)Ljava/lang/String;
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getKeyphraseSoundModel(ILjava/lang/String;)Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getUserDisabledShowContext()I
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->hideCurrentSession()V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->hideSessionFromSession(Landroid/os/IBinder;)Z
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->initForUser(I)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->isEnrolledForKeyphrase(Landroid/service/voice/IVoiceInteractionService;ILjava/lang/String;)Z
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->isSessionRunning()Z
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->onLockscreenShown()V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->onSessionHidden()V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->onSessionShown()V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->registerVoiceInteractionSessionListener(Lcom/android/internal/app/IVoiceInteractionSessionListener;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->setCurInteractor(Landroid/content/ComponentName;I)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->setCurRecognizer(Landroid/content/ComponentName;I)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->setDisabledShowContext(I)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->setImplLocked(Lcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->shouldEnableService(Landroid/content/Context;)Z
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->showSession(Landroid/service/voice/IVoiceInteractionService;Landroid/os/Bundle;I)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->showSessionForActiveService(Landroid/os/Bundle;ILcom/android/internal/app/IVoiceInteractionSessionShowCallback;Landroid/os/IBinder;)Z
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->showSessionFromSession(Landroid/os/IBinder;Landroid/os/Bundle;I)Z
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->startAssistantActivity(Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;)I
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->startRecognition(Landroid/service/voice/IVoiceInteractionService;ILjava/lang/String;Landroid/hardware/soundtrigger/IRecognitionStatusCallback;Landroid/hardware/soundtrigger/SoundTrigger$RecognitionConfig;)I
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->stopRecognition(Landroid/service/voice/IVoiceInteractionService;ILandroid/hardware/soundtrigger/IRecognitionStatusCallback;)I
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->switchImplementationIfNeeded(Z)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->switchImplementationIfNeededLocked(Z)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->systemRunning(Z)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->unloadAllKeyphraseModels()V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->updateKeyphraseSoundModel(Landroid/hardware/soundtrigger/SoundTrigger$KeyphraseSoundModel;)I
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->access$000(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->access$100(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService;)Landroid/os/RemoteCallbackList;
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onBootPhase(I)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onStart()V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onStartUser(I)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onUnlockUser(I)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$1;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$2;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl$2;->onServiceDisconnected(Landroid/content/ComponentName;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;ILandroid/content/ComponentName;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->closeSystemDialogsLocked(Landroid/os/IBinder;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->deliverNewSessionLocked(Landroid/os/IBinder;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)Z
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->finishLocked(Landroid/os/IBinder;Z)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->getUserDisabledShowContextLocked(I)I
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->hideSessionLocked()Z
-PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->notifySoundModelsChangedLocked()V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->onSessionHidden(Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->onSessionShown(Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->sessionConnectionGone(Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->setDisabledShowContextLocked(II)V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->showSessionLocked(Landroid/os/Bundle;ILcom/android/internal/app/IVoiceInteractionSessionShowCallback;Landroid/os/IBinder;)Z
+PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->shutdownLocked()V
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->startAssistantActivityLocked(IILandroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;)I
 PLcom/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl;->startLocked()V
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection$1;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection$1;->onShown()V
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection$2;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection$2;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection$3;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;-><init>(Ljava/lang/Object;Landroid/content/ComponentName;ILandroid/content/Context;Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection$Callback;ILandroid/os/Handler;)V
-PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->access$100(Lcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->canHandleReceivedAssistDataLocked()Z
 PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->cancelLocked(Z)V
 PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->deliverNewSessionLocked(Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)Z
@@ -17443,557 +11363,2131 @@
 PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->onServiceDisconnected(Landroid/content/ComponentName;)V
 PLcom/android/server/voiceinteraction/VoiceInteractionSessionConnection;->showLocked(Landroid/os/Bundle;IILcom/android/internal/app/IVoiceInteractionSessionShowCallback;Ljava/util/List;)Z
-PLcom/android/server/vr/EnabledComponentsObserver$1;-><init>(Lcom/android/server/vr/EnabledComponentsObserver;)V
 PLcom/android/server/vr/EnabledComponentsObserver$1;->onPackageDisappeared(Ljava/lang/String;I)V
 PLcom/android/server/vr/EnabledComponentsObserver$1;->onPackageModified(Ljava/lang/String;)V
 PLcom/android/server/vr/EnabledComponentsObserver$1;->onSomePackagesChanged()V
-PLcom/android/server/vr/EnabledComponentsObserver;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Collection;)V
-PLcom/android/server/vr/EnabledComponentsObserver;->build(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;Landroid/os/Looper;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Collection;)Lcom/android/server/vr/EnabledComponentsObserver;
-PLcom/android/server/vr/EnabledComponentsObserver;->getCurrentProfileIds()[I
-PLcom/android/server/vr/EnabledComponentsObserver;->getEnabled(I)Landroid/util/ArraySet;
 PLcom/android/server/vr/EnabledComponentsObserver;->isValid(Landroid/content/ComponentName;I)I
-PLcom/android/server/vr/EnabledComponentsObserver;->loadComponentNames(Landroid/content/pm/PackageManager;ILjava/lang/String;Ljava/lang/String;)Landroid/util/ArraySet;
-PLcom/android/server/vr/EnabledComponentsObserver;->loadComponentNamesForUser(I)Landroid/util/ArraySet;
-PLcom/android/server/vr/EnabledComponentsObserver;->loadComponentNamesFromSetting(Ljava/lang/String;I)Landroid/util/ArraySet;
 PLcom/android/server/vr/EnabledComponentsObserver;->onPackagesChanged()V
-PLcom/android/server/vr/EnabledComponentsObserver;->onUsersChanged()V
-PLcom/android/server/vr/EnabledComponentsObserver;->rebuildAll()V
-PLcom/android/server/vr/EnabledComponentsObserver;->sendSettingChanged()V
-PLcom/android/server/vr/SettingsObserver$1;-><init>(Lcom/android/server/vr/SettingsObserver;Ljava/lang/String;)V
-PLcom/android/server/vr/SettingsObserver$2;-><init>(Lcom/android/server/vr/SettingsObserver;Landroid/os/Handler;Landroid/net/Uri;)V
-PLcom/android/server/vr/SettingsObserver;-><init>(Landroid/content/Context;Landroid/os/Handler;Landroid/net/Uri;Ljava/lang/String;)V
-PLcom/android/server/vr/SettingsObserver;->addListener(Lcom/android/server/vr/SettingsObserver$SettingChangeListener;)V
-PLcom/android/server/vr/SettingsObserver;->build(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;)Lcom/android/server/vr/SettingsObserver;
-PLcom/android/server/vr/Vr2dDisplay$1;-><init>(Lcom/android/server/vr/Vr2dDisplay;)V
-PLcom/android/server/vr/Vr2dDisplay;-><init>(Landroid/hardware/display/DisplayManager;Landroid/app/ActivityManagerInternal;Lcom/android/server/wm/WindowManagerInternal;Landroid/service/vr/IVrManager;)V
-PLcom/android/server/vr/Vr2dDisplay;->init(Landroid/content/Context;Z)V
-PLcom/android/server/vr/Vr2dDisplay;->startDebugOnlyBroadcastReceiver(Landroid/content/Context;)V
-PLcom/android/server/vr/Vr2dDisplay;->startVrModeListener()V
-PLcom/android/server/vr/VrManagerInternal;-><init>()V
-PLcom/android/server/vr/VrManagerService$1;-><init>(Lcom/android/server/vr/VrManagerService;)V
-PLcom/android/server/vr/VrManagerService$2;-><init>(Lcom/android/server/vr/VrManagerService;)V
-PLcom/android/server/vr/VrManagerService$3;-><init>()V
-PLcom/android/server/vr/VrManagerService$4;-><init>(Lcom/android/server/vr/VrManagerService;)V
-PLcom/android/server/vr/VrManagerService$4;->getVrModeState()Z
-PLcom/android/server/vr/VrManagerService$4;->registerListener(Landroid/service/vr/IVrStateCallbacks;)V
-PLcom/android/server/vr/VrManagerService$4;->registerPersistentVrStateListener(Landroid/service/vr/IPersistentVrStateCallbacks;)V
 PLcom/android/server/vr/VrManagerService$4;->unregisterListener(Landroid/service/vr/IVrStateCallbacks;)V
-PLcom/android/server/vr/VrManagerService$5;-><init>(Lcom/android/server/vr/VrManagerService;)V
 PLcom/android/server/vr/VrManagerService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/vr/VrManagerService$LocalService;-><init>(Lcom/android/server/vr/VrManagerService;)V
-PLcom/android/server/vr/VrManagerService$LocalService;-><init>(Lcom/android/server/vr/VrManagerService;Lcom/android/server/vr/VrManagerService$1;)V
-PLcom/android/server/vr/VrManagerService$LocalService;->addPersistentVrModeStateListener(Landroid/service/vr/IPersistentVrStateCallbacks;)V
 PLcom/android/server/vr/VrManagerService$LocalService;->isCurrentVrListener(Ljava/lang/String;I)Z
-PLcom/android/server/vr/VrManagerService$LocalService;->onScreenStateChanged(Z)V
-PLcom/android/server/vr/VrManagerService$LocalService;->setVrMode(ZLandroid/content/ComponentName;IILandroid/content/ComponentName;)V
-PLcom/android/server/vr/VrManagerService$NotificationAccessManager;-><init>(Lcom/android/server/vr/VrManagerService;)V
-PLcom/android/server/vr/VrManagerService$NotificationAccessManager;-><init>(Lcom/android/server/vr/VrManagerService;Lcom/android/server/vr/VrManagerService$1;)V
-PLcom/android/server/vr/VrManagerService$NotificationAccessManager;->update(Ljava/util/Collection;)V
-PLcom/android/server/vr/VrManagerService$VrState;-><init>(ZZLandroid/content/ComponentName;IILandroid/content/ComponentName;)V
-PLcom/android/server/vr/VrManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/vr/VrManagerService;->access$1400(Lcom/android/server/vr/VrManagerService;Ljava/lang/String;)V
-PLcom/android/server/vr/VrManagerService;->access$1500(Lcom/android/server/vr/VrManagerService;Ljava/lang/String;I)V
-PLcom/android/server/vr/VrManagerService;->access$1600(Lcom/android/server/vr/VrManagerService;Ljava/lang/String;I)V
-PLcom/android/server/vr/VrManagerService;->access$1700(Lcom/android/server/vr/VrManagerService;[Ljava/lang/String;)V
-PLcom/android/server/vr/VrManagerService;->access$1800(Lcom/android/server/vr/VrManagerService;Landroid/service/vr/IVrStateCallbacks;)V
-PLcom/android/server/vr/VrManagerService;->access$1900(Lcom/android/server/vr/VrManagerService;Landroid/service/vr/IVrStateCallbacks;)V
-PLcom/android/server/vr/VrManagerService;->access$2000(Lcom/android/server/vr/VrManagerService;Landroid/service/vr/IPersistentVrStateCallbacks;)V
-PLcom/android/server/vr/VrManagerService;->access$2200(Lcom/android/server/vr/VrManagerService;)Z
-PLcom/android/server/vr/VrManagerService;->access$3300(Lcom/android/server/vr/VrManagerService;ZLandroid/content/ComponentName;IILandroid/content/ComponentName;)V
-PLcom/android/server/vr/VrManagerService;->access$3400(Lcom/android/server/vr/VrManagerService;Z)V
-PLcom/android/server/vr/VrManagerService;->access$3500(Lcom/android/server/vr/VrManagerService;Ljava/lang/String;I)Z
-PLcom/android/server/vr/VrManagerService;->access$3800(Lcom/android/server/vr/VrManagerService;)V
-PLcom/android/server/vr/VrManagerService;->addPersistentStateCallback(Landroid/service/vr/IPersistentVrStateCallbacks;)V
-PLcom/android/server/vr/VrManagerService;->addStateCallback(Landroid/service/vr/IVrStateCallbacks;)V
 PLcom/android/server/vr/VrManagerService;->consumeAndApplyPendingStateLocked(Z)V
-PLcom/android/server/vr/VrManagerService;->enforceCallerPermissionAnyOf([Ljava/lang/String;)V
-PLcom/android/server/vr/VrManagerService;->getVrMode()Z
-PLcom/android/server/vr/VrManagerService;->grantCoarseLocationPermissionIfNeeded(Ljava/lang/String;I)V
-PLcom/android/server/vr/VrManagerService;->grantNotificationListenerAccess(Ljava/lang/String;I)V
-PLcom/android/server/vr/VrManagerService;->grantNotificationPolicyAccess(Ljava/lang/String;)V
 PLcom/android/server/vr/VrManagerService;->isCurrentVrListener(Ljava/lang/String;I)Z
-PLcom/android/server/vr/VrManagerService;->isDefaultAllowed(Ljava/lang/String;)Z
-PLcom/android/server/vr/VrManagerService;->isPermissionUserUpdated(Ljava/lang/String;Ljava/lang/String;I)Z
 PLcom/android/server/vr/VrManagerService;->onAwakeStateChanged(Z)V
-PLcom/android/server/vr/VrManagerService;->onBootPhase(I)V
-PLcom/android/server/vr/VrManagerService;->onEnabledComponentChanged()V
-PLcom/android/server/vr/VrManagerService;->onKeyguardStateChanged(Z)V
-PLcom/android/server/vr/VrManagerService;->onStart()V
-PLcom/android/server/vr/VrManagerService;->onStartUser(I)V
-PLcom/android/server/vr/VrManagerService;->removeStateCallback(Landroid/service/vr/IVrStateCallbacks;)V
+PLcom/android/server/vr/VrManagerService;->onCleanupUser(I)V
+PLcom/android/server/vr/VrManagerService;->onStopUser(I)V
 PLcom/android/server/vr/VrManagerService;->setPersistentModeAndNotifyListenersLocked(Z)V
-PLcom/android/server/vr/VrManagerService;->setScreenOn(Z)V
-PLcom/android/server/vr/VrManagerService;->setSystemState(IZ)V
 PLcom/android/server/vr/VrManagerService;->setUserUnlocked()V
-PLcom/android/server/vr/VrManagerService;->setVrMode(ZLandroid/content/ComponentName;IILandroid/content/ComponentName;)V
 PLcom/android/server/vr/VrManagerService;->updateCurrentVrServiceLocked(ZZLandroid/content/ComponentName;IILandroid/content/ComponentName;)Z
-PLcom/android/server/vr/VrManagerService;->updateVrModeAllowedLocked()V
-PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$KpV9TczlJklVG4VNZncaU86_KtQ;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
-PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$KpV9TczlJklVG4VNZncaU86_KtQ;->run()V
-PLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$QhODF3v-swnwSYvDbeEhU85gOBw;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$1;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$2;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$3;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$4;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;I)V
-PLcom/android/server/wallpaper/WallpaperManagerService$4;->run()V
-PLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;->onBootPhase(I)V
-PLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;->onStart()V
+PLcom/android/server/wallpaper/WallpaperManagerService$1;->onDisplayAdded(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$1;->onDisplayRemoved(I)V
+PLcom/android/server/wallpaper/WallpaperManagerService$5;->run()V
 PLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;->onUnlockUser(I)V
-PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;)V
 PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->doPackagesChangedLocked(ZLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)Z
 PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->onPackageModified(Ljava/lang/String;)V
 PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->onPackageUpdateFinished(Ljava/lang/String;I)V
 PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->onPackageUpdateStarted(Ljava/lang/String;I)V
 PLcom/android/server/wallpaper/WallpaperManagerService$MyPackageMonitor;->onSomePackagesChanged()V
-PLcom/android/server/wallpaper/WallpaperManagerService$ThemeSettingsObserver;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Landroid/os/Handler;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$ThemeSettingsObserver;->startObserving(Landroid/content/Context;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Landroid/app/WallpaperInfo;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->attachEngine(Landroid/service/wallpaper/IWallpaperEngine;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->engineShown(Landroid/service/wallpaper/IWallpaperEngine;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;-><init>(ILjava/lang/String;Ljava/lang/String;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;->access$700(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)Landroid/os/RemoteCallbackList;
-PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;->cropExists()Z
-PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
-PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;->dataForEvent(ZZ)Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;
-PLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;->onEvent(ILjava/lang/String;)V
-PLcom/android/server/wallpaper/WallpaperManagerService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->access$000(I)Ljava/io/File;
-PLcom/android/server/wallpaper/WallpaperManagerService;->access$500(Lcom/android/server/wallpaper/WallpaperManagerService;I)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->attachServiceLocked(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->bindWallpaperComponentLocked(Landroid/content/ComponentName;ZZLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Landroid/os/IRemoteCallback;)Z
-PLcom/android/server/wallpaper/WallpaperManagerService;->checkPermission(Ljava/lang/String;)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->emptyCallbackList(Landroid/os/RemoteCallbackList;)Z
-PLcom/android/server/wallpaper/WallpaperManagerService;->enforceCallingOrSelfPermissionAndAppOp(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->ensureSaneWallpaperData(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->getAttributeInt(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
-PLcom/android/server/wallpaper/WallpaperManagerService;->getHeightHint()I
-PLcom/android/server/wallpaper/WallpaperManagerService;->getMaximumSizeDimension()I
-PLcom/android/server/wallpaper/WallpaperManagerService;->getThemeColorsLocked(Landroid/app/WallpaperColors;)Landroid/app/WallpaperColors;
-PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaper(Ljava/lang/String;Landroid/app/IWallpaperManagerCallback;ILandroid/os/Bundle;I)Landroid/os/ParcelFileDescriptor;
-PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperColors(II)Landroid/app/WallpaperColors;
-PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperDir(I)Ljava/io/File;
+PLcom/android/server/wallpaper/WallpaperManagerService;->getHeightHint(I)I
 PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperIdForUser(II)I
-PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperInfo(I)Landroid/app/WallpaperInfo;
-PLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperSafeLocked(II)Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;
-PLcom/android/server/wallpaper/WallpaperManagerService;->getWidthHint()I
-PLcom/android/server/wallpaper/WallpaperManagerService;->initialize()V
+PLcom/android/server/wallpaper/WallpaperManagerService;->getWidthHint(I)I
 PLcom/android/server/wallpaper/WallpaperManagerService;->isSetWallpaperAllowed(Ljava/lang/String;)Z
 PLcom/android/server/wallpaper/WallpaperManagerService;->isWallpaperBackupEligible(II)Z
-PLcom/android/server/wallpaper/WallpaperManagerService;->isWallpaperSupported(Ljava/lang/String;)Z
-PLcom/android/server/wallpaper/WallpaperManagerService;->lambda$switchUser$0(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->loadSettingsLocked(IZ)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->makeJournaledFile(I)Lcom/android/internal/util/JournaledFile;
-PLcom/android/server/wallpaper/WallpaperManagerService;->migrateFromOld()V
-PLcom/android/server/wallpaper/WallpaperManagerService;->notifyWallpaperColorsChanged(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;I)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->onBootPhase(I)V
 PLcom/android/server/wallpaper/WallpaperManagerService;->onUnlockUser(I)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->parseWallpaperAttributes(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Z)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->registerWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;I)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->saveSettingsLocked(I)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->setInAmbientMode(ZZ)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->setLockWallpaperCallback(Landroid/app/IWallpaperManagerCallback;)Z
-PLcom/android/server/wallpaper/WallpaperManagerService;->switchUser(ILandroid/os/IRemoteCallback;)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->switchWallpaper(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Landroid/os/IRemoteCallback;)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->systemReady()V
-PLcom/android/server/wallpaper/WallpaperManagerService;->unregisterWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;I)V
-PLcom/android/server/wallpaper/WallpaperManagerService;->writeWallpaperAttributes(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
-PLcom/android/server/webkit/SystemImpl$LazyHolder;->access$100()Lcom/android/server/webkit/SystemImpl;
-PLcom/android/server/webkit/SystemImpl;-><init>()V
-PLcom/android/server/webkit/SystemImpl;-><init>(Lcom/android/server/webkit/SystemImpl$1;)V
-PLcom/android/server/webkit/SystemImpl;->getFactoryPackageVersion(Ljava/lang/String;)J
-PLcom/android/server/webkit/SystemImpl;->getInstance()Lcom/android/server/webkit/SystemImpl;
-PLcom/android/server/webkit/SystemImpl;->getMultiProcessSetting(Landroid/content/Context;)I
-PLcom/android/server/webkit/SystemImpl;->getPackageInfoForProvider(Landroid/webkit/WebViewProviderInfo;)Landroid/content/pm/PackageInfo;
-PLcom/android/server/webkit/SystemImpl;->getPackageInfoForProviderAllUsers(Landroid/content/Context;Landroid/webkit/WebViewProviderInfo;)Ljava/util/List;
-PLcom/android/server/webkit/SystemImpl;->getUserChosenWebViewProvider(Landroid/content/Context;)Ljava/lang/String;
-PLcom/android/server/webkit/SystemImpl;->getWebViewPackages()[Landroid/webkit/WebViewProviderInfo;
-PLcom/android/server/webkit/SystemImpl;->isFallbackLogicEnabled()Z
-PLcom/android/server/webkit/SystemImpl;->isMultiProcessDefaultEnabled()Z
-PLcom/android/server/webkit/SystemImpl;->notifyZygote(Z)V
-PLcom/android/server/webkit/SystemImpl;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;)I
-PLcom/android/server/webkit/SystemImpl;->readSignatures(Landroid/content/res/XmlResourceParser;)[Ljava/lang/String;
-PLcom/android/server/webkit/SystemImpl;->systemIsDebuggable()Z
-PLcom/android/server/webkit/SystemImpl;->updateUserSetting(Landroid/content/Context;Ljava/lang/String;)V
-PLcom/android/server/webkit/WebViewUpdateService$1;-><init>(Lcom/android/server/webkit/WebViewUpdateService;)V
-PLcom/android/server/webkit/WebViewUpdateService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/webkit/WebViewUpdateService$BinderService;-><init>(Lcom/android/server/webkit/WebViewUpdateService;)V
-PLcom/android/server/webkit/WebViewUpdateService$BinderService;-><init>(Lcom/android/server/webkit/WebViewUpdateService;Lcom/android/server/webkit/WebViewUpdateService$1;)V
 PLcom/android/server/webkit/WebViewUpdateService$BinderService;->getCurrentWebViewPackage()Landroid/content/pm/PackageInfo;
+PLcom/android/server/webkit/WebViewUpdateService$BinderService;->getCurrentWebViewPackageName()Ljava/lang/String;
+PLcom/android/server/webkit/WebViewUpdateService$BinderService;->isFallbackPackage(Ljava/lang/String;)Z
 PLcom/android/server/webkit/WebViewUpdateService$BinderService;->isMultiProcessEnabled()Z
-PLcom/android/server/webkit/WebViewUpdateService$BinderService;->notifyRelroCreationCompleted()V
 PLcom/android/server/webkit/WebViewUpdateService$BinderService;->waitForAndGetProvider()Landroid/webkit/WebViewProviderResponse;
-PLcom/android/server/webkit/WebViewUpdateService;-><init>(Landroid/content/Context;)V
-PLcom/android/server/webkit/WebViewUpdateService;->access$000(Landroid/content/Intent;)Ljava/lang/String;
-PLcom/android/server/webkit/WebViewUpdateService;->access$100(Lcom/android/server/webkit/WebViewUpdateService;)Lcom/android/server/webkit/WebViewUpdateServiceImpl;
-PLcom/android/server/webkit/WebViewUpdateService;->entirePackageChanged(Landroid/content/Intent;)Z
-PLcom/android/server/webkit/WebViewUpdateService;->onStart()V
-PLcom/android/server/webkit/WebViewUpdateService;->packageNameFromIntent(Landroid/content/Intent;)Ljava/lang/String;
-PLcom/android/server/webkit/WebViewUpdateService;->prepareWebViewInSystemServer()V
-PLcom/android/server/webkit/WebViewUpdateServiceImpl;-><init>(Landroid/content/Context;Lcom/android/server/webkit/SystemInterface;)V
-PLcom/android/server/webkit/WebViewUpdateServiceImpl;->existsValidNonFallbackProvider([Landroid/webkit/WebViewProviderInfo;)Z
 PLcom/android/server/webkit/WebViewUpdateServiceImpl;->getCurrentWebViewPackage()Landroid/content/pm/PackageInfo;
-PLcom/android/server/webkit/WebViewUpdateServiceImpl;->getFallbackProvider([Landroid/webkit/WebViewProviderInfo;)Landroid/webkit/WebViewProviderInfo;
-PLcom/android/server/webkit/WebViewUpdateServiceImpl;->getWebViewPackages()[Landroid/webkit/WebViewProviderInfo;
-PLcom/android/server/webkit/WebViewUpdateServiceImpl;->handleNewUser(I)V
-PLcom/android/server/webkit/WebViewUpdateServiceImpl;->isDisabledForAllUsers(Ljava/util/List;)Z
-PLcom/android/server/webkit/WebViewUpdateServiceImpl;->isMultiProcessEnabled()Z
-PLcom/android/server/webkit/WebViewUpdateServiceImpl;->notifyRelroCreationCompleted()V
-PLcom/android/server/webkit/WebViewUpdateServiceImpl;->packageStateChanged(Ljava/lang/String;II)V
-PLcom/android/server/webkit/WebViewUpdateServiceImpl;->prepareWebViewInSystemServer()V
-PLcom/android/server/webkit/WebViewUpdateServiceImpl;->updateFallbackState([Landroid/webkit/WebViewProviderInfo;)V
-PLcom/android/server/webkit/WebViewUpdateServiceImpl;->updateFallbackStateOnBoot()V
-PLcom/android/server/webkit/WebViewUpdateServiceImpl;->updateFallbackStateOnPackageChange(Ljava/lang/String;I)V
+PLcom/android/server/webkit/WebViewUpdateServiceImpl;->isFallbackPackage(Ljava/lang/String;)Z
 PLcom/android/server/webkit/WebViewUpdateServiceImpl;->waitForAndGetProvider()Landroid/webkit/WebViewProviderResponse;
-PLcom/android/server/webkit/WebViewUpdater$ProviderAndPackageInfo;-><init>(Landroid/webkit/WebViewProviderInfo;Landroid/content/pm/PackageInfo;)V
-PLcom/android/server/webkit/WebViewUpdater;-><init>(Landroid/content/Context;Lcom/android/server/webkit/SystemInterface;)V
-PLcom/android/server/webkit/WebViewUpdater;->checkIfRelrosDoneLocked()V
-PLcom/android/server/webkit/WebViewUpdater;->findPreferredWebViewPackage()Landroid/content/pm/PackageInfo;
 PLcom/android/server/webkit/WebViewUpdater;->getCurrentWebViewPackage()Landroid/content/pm/PackageInfo;
-PLcom/android/server/webkit/WebViewUpdater;->getMinimumVersionCode()J
-PLcom/android/server/webkit/WebViewUpdater;->getValidWebViewPackagesAndInfos()[Lcom/android/server/webkit/WebViewUpdater$ProviderAndPackageInfo;
-PLcom/android/server/webkit/WebViewUpdater;->isInstalledAndEnabledForAllUsers(Ljava/util/List;)Z
-PLcom/android/server/webkit/WebViewUpdater;->isValidProvider(Landroid/webkit/WebViewProviderInfo;Landroid/content/pm/PackageInfo;)Z
-PLcom/android/server/webkit/WebViewUpdater;->notifyRelroCreationCompleted()V
-PLcom/android/server/webkit/WebViewUpdater;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;)V
-PLcom/android/server/webkit/WebViewUpdater;->packageStateChanged(Ljava/lang/String;I)V
-PLcom/android/server/webkit/WebViewUpdater;->prepareWebViewInSystemServer()V
-PLcom/android/server/webkit/WebViewUpdater;->providerHasValidSignature(Landroid/webkit/WebViewProviderInfo;Landroid/content/pm/PackageInfo;Lcom/android/server/webkit/SystemInterface;)Z
-PLcom/android/server/webkit/WebViewUpdater;->validityResult(Landroid/webkit/WebViewProviderInfo;Landroid/content/pm/PackageInfo;)I
-PLcom/android/server/webkit/WebViewUpdater;->versionCodeGE(JJ)Z
+PLcom/android/server/webkit/WebViewUpdater;->updateCurrentWebViewPackage(Ljava/lang/String;)Landroid/content/pm/PackageInfo;
 PLcom/android/server/webkit/WebViewUpdater;->waitForAndGetProvider()Landroid/webkit/WebViewProviderResponse;
-PLcom/android/server/webkit/WebViewUpdater;->webViewIsReadyLocked()Z
-PLcom/android/server/wm/-$$Lambda$01bPtngJg5AqEoOWfW3rWfV7MH4;-><init>()V
-PLcom/android/server/wm/-$$Lambda$01bPtngJg5AqEoOWfW3rWfV7MH4;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$2KrtdmjrY7Nagc4IRqzCk9gDuQU;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wifi/-$$Lambda$NetworkSuggestionEvaluator$LZTxM-Flcd76CD0Nscp2Cz914sQ;-><init>()V
+PLcom/android/server/wifi/-$$Lambda$SarManager$VrXGaN2lCt0CybxxEfgneaY4FvY;->run()V
+PLcom/android/server/wifi/-$$Lambda$Sgsg9Ml_dxoj_SCBslbH-6YHea8;-><init>()V
+PLcom/android/server/wifi/-$$Lambda$Sgsg9Ml_dxoj_SCBslbH-6YHea8;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$3BgnlkDDdIw0PJrJmWjhjGZmtCg;->onValues(Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;Landroid/hardware/wifi/supplicant/V1_0/ISupplicantNetwork;)V
+PLcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$MZb8lbLDfmk9dJzRNOzLSOYC9_Y;->onValues(Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$MsPuzKcT4xAfuigKAAOs1rYm9CU;->serviceDied(J)V
+PLcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$RN5yy1Bc5d6E1Z6k9lqZIMdLATc;->onValues(Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;[B)V
+PLcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$Tm7D8fgqduAQdeOyODnUSwEesVo;->onValues(Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;Landroid/hardware/wifi/supplicant/V1_0/ISupplicantNetwork;)V
+PLcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$VAcJuhn-A2EvvfEuRumjrowBtmo;->onValues(Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;[B)V
+PLcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$YDQh6cDTkoX-9I2n83JHX76YpAA;->onValues(Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;I)V
+PLcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$hjOhCW02yzYNlDwHJaely2IS-v0;->onValues(Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;I)V
+PLcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$oY40I1ZV1zNoEKNITjSxjIr7WaE;->onValues(Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/wifi/-$$Lambda$UV1wDVoVlbcxpr8zevj_aMFtUGw;-><init>()V
+PLcom/android/server/wifi/-$$Lambda$UV1wDVoVlbcxpr8zevj_aMFtUGw;->applyAsInt(Ljava/lang/Object;)I
+PLcom/android/server/wifi/-$$Lambda$WakeupController$sB8N4NPbyfefFu6fc4L75U1Md4E;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wifi/-$$Lambda$WifiConfigManager$IQAd8DT29bH7BRNkSq57y94BdXA;-><init>()V
+PLcom/android/server/wifi/-$$Lambda$WifiConfigManager$IQAd8DT29bH7BRNkSq57y94BdXA;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wifi/-$$Lambda$WifiConfigStore$E5gj7z5ed5kRI6vVgdfi0Qq87ak;-><init>()V
+PLcom/android/server/wifi/-$$Lambda$WifiConfigStore$E5gj7z5ed5kRI6vVgdfi0Qq87ak;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wifi/-$$Lambda$WifiConfigStore$Vf3hpICqGHc8cqcggYv9pHhYS2Y;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wifi/-$$Lambda$WifiConfigStore$az8-WaXTZV3Kp3BFgTqqEllqrK4;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wifi/-$$Lambda$WifiMetrics$2FAdjVJtGK2Wuyu18kKp1OyQsI4;-><init>()V
+PLcom/android/server/wifi/-$$Lambda$WifiMetrics$xuFtl6lTSKy2pONVP5XZbMG4HfI;-><init>()V
+PLcom/android/server/wifi/-$$Lambda$WifiMetrics$xuFtl6lTSKy2pONVP5XZbMG4HfI;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wifi/-$$Lambda$WifiNetworkSelector$2LNJuIlSgZn0lMDNIYDg-JEcyuI;-><init>(Lcom/android/server/wifi/WifiNetworkSelector;ILcom/android/server/wifi/WifiCandidates;ID)V
+PLcom/android/server/wifi/-$$Lambda$WifiNetworkSelector$2LNJuIlSgZn0lMDNIYDg-JEcyuI;->onConnectable(Lcom/android/server/wifi/ScanDetail;Landroid/net/wifi/WifiConfiguration;I)V
+PLcom/android/server/wifi/-$$Lambda$WifiNetworkSelector$nuTRv-fYkXyN1p7ZXX1Cy8tpg3k;->onConnectable(Lcom/android/server/wifi/ScanDetail;Landroid/net/wifi/WifiConfiguration;I)V
+PLcom/android/server/wifi/-$$Lambda$WifiServiceImpl$19ydix3_o6lajIurHzZGcME4IE8;-><init>()V
+PLcom/android/server/wifi/-$$Lambda$WifiServiceImpl$19ydix3_o6lajIurHzZGcME4IE8;->apply(I)Ljava/lang/Object;
+PLcom/android/server/wifi/-$$Lambda$WifiServiceImpl$2ZawY3HKMGxYuJvvAb04rbHcj8k;->run()V
+PLcom/android/server/wifi/-$$Lambda$WifiServiceImpl$71KWGZ9o3U1lf_2vP7tmY9cz4qQ;->run()V
+PLcom/android/server/wifi/-$$Lambda$WifiServiceImpl$Ksp_yxMbYljcYt7029zmD3zpksc;->run()V
+PLcom/android/server/wifi/-$$Lambda$WifiServiceImpl$Tk4v3H_jLeO4POzFwYzi9LRyPtE;->run()V
+PLcom/android/server/wifi/-$$Lambda$WifiServiceImpl$W4P-xarfb3gYRA7uctWs90nU6nM;->run()V
+PLcom/android/server/wifi/-$$Lambda$WifiServiceImpl$YyW97EISRuEDFxd28e1BPgstanY;->run()V
+PLcom/android/server/wifi/-$$Lambda$WifiVendorHal$3w2QU6DXdNsy4eC63faTYVcIcMs;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_3/StaLinkLayerStats;)V
+PLcom/android/server/wifi/-$$Lambda$WifiVendorHal$ChipEventCallback$opFP1g0mCa0rIEtg63LvzlqySHc;->run()V
+PLcom/android/server/wifi/-$$Lambda$WifiVendorHal$NcA8MRxoMqZf5Oz8FvFvnNoRQoE;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;[B)V
+PLcom/android/server/wifi/-$$Lambda$WifiVendorHal$XHfBJ_SOylRs_Rl4-IjUDiKOzAY;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/wifi/-$$Lambda$WifiVendorHal$aq7T-76I9D1SC6d_j6P5zk6VHlw;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/wifi/-$$Lambda$WifiVendorHal$bMF1PMemHkEQ2iatQh0WVPpTYGY;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/wifi/-$$Lambda$WifiVendorHal$gGT-eGu2_MxK453qjY1pSxSOP3I;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;I)V
+PLcom/android/server/wifi/-$$Lambda$WifiVendorHal$rxCjKAj6M7R-0PzNwiuTAmPm5RQ;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/StaRoamingCapabilities;)V
+PLcom/android/server/wifi/-$$Lambda$WifiVendorHal$teXyvL0oUnCS1kQEBqnEheMifN8;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/StaApfPacketFilterCapabilities;)V
+PLcom/android/server/wifi/-$$Lambda$WifiVendorHal$xtIgBZOv8ZXsi2hWuntD3i52tkY;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/IWifiChip$ChipDebugInfo;)V
+PLcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$ClientModeActiveState;->exit()V
+PLcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$ClientModeActiveState;->processMessage(Landroid/os/Message;)Z
+PLcom/android/server/wifi/AggressiveConnectedScore;->generateScore()I
+PLcom/android/server/wifi/AggressiveConnectedScore;->reset()V
+PLcom/android/server/wifi/AggressiveConnectedScore;->updateUsingWifiInfo(Landroid/net/wifi/WifiInfo;J)V
+PLcom/android/server/wifi/AvailableNetworkNotifier$AvailableNetworkNotifierStoreData;->getSsids()Ljava/util/Set;
+PLcom/android/server/wifi/AvailableNetworkNotifier$AvailableNetworkNotifierStoreData;->setSsids(Ljava/util/Set;)V
+PLcom/android/server/wifi/AvailableNetworkNotifier;->clearPendingNotification(Z)V
+PLcom/android/server/wifi/AvailableNetworkNotifier;->handleConnectionFailure()V
+PLcom/android/server/wifi/AvailableNetworkNotifier;->handleScanResults(Ljava/util/List;)V
+PLcom/android/server/wifi/AvailableNetworkNotifier;->handleWifiConnected(Ljava/lang/String;)V
+PLcom/android/server/wifi/AvailableNetworkNotifier;->postInitialNotification(Landroid/net/wifi/ScanResult;)V
+PLcom/android/server/wifi/AvailableNetworkNotifier;->recommendNetwork(Ljava/util/List;)Landroid/net/wifi/ScanResult;
+PLcom/android/server/wifi/AvailableNetworkNotifier;->removeNetworkFromBlacklist(Ljava/lang/String;)V
+PLcom/android/server/wifi/ByteBufferReader;->readInteger(Ljava/nio/ByteBuffer;Ljava/nio/ByteOrder;I)J
+PLcom/android/server/wifi/CarrierNetworkConfig$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/wifi/CarrierNetworkConfig;->isCarrierEncryptionInfoAvailable()Z
+PLcom/android/server/wifi/CarrierNetworkConfig;->isCarrierNetwork(Ljava/lang/String;)Z
+PLcom/android/server/wifi/CarrierNetworkConfig;->processNetworkConfig(Landroid/os/PersistableBundle;Ljava/lang/String;)V
+PLcom/android/server/wifi/CarrierNetworkEvaluator;->evaluateNetworks(Ljava/util/List;Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;ZZLcom/android/server/wifi/WifiNetworkSelector$NetworkEvaluator$OnConnectableListener;)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/CarrierNetworkEvaluator;->getName()Ljava/lang/String;
+PLcom/android/server/wifi/CarrierNetworkEvaluator;->update(Ljava/util/List;)V
+PLcom/android/server/wifi/ClientModeImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/wifi/ClientModeImpl$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/wifi/ClientModeImpl$ConnectModeState;->exit()V
+PLcom/android/server/wifi/ClientModeImpl$ConnectModeState;->processMessage(Landroid/os/Message;)Z
+PLcom/android/server/wifi/ClientModeImpl$ConnectedState;->enter()V
+PLcom/android/server/wifi/ClientModeImpl$ConnectedState;->exit()V
+PLcom/android/server/wifi/ClientModeImpl$ConnectedState;->processMessage(Landroid/os/Message;)Z
+PLcom/android/server/wifi/ClientModeImpl$DisconnectedState;->enter()V
+PLcom/android/server/wifi/ClientModeImpl$DisconnectedState;->exit()V
+PLcom/android/server/wifi/ClientModeImpl$DisconnectedState;->processMessage(Landroid/os/Message;)Z
+PLcom/android/server/wifi/ClientModeImpl$DisconnectingState;->enter()V
+PLcom/android/server/wifi/ClientModeImpl$DisconnectingState;->processMessage(Landroid/os/Message;)Z
+PLcom/android/server/wifi/ClientModeImpl$IpClientCallbacksImpl;->awaitShutdown()Z
+PLcom/android/server/wifi/ClientModeImpl$IpClientCallbacksImpl;->installPacketFilter([B)V
+PLcom/android/server/wifi/ClientModeImpl$IpClientCallbacksImpl;->onIpClientCreated(Landroid/net/ip/IIpClient;)V
+PLcom/android/server/wifi/ClientModeImpl$IpClientCallbacksImpl;->onLinkPropertiesChange(Landroid/net/LinkProperties;)V
+PLcom/android/server/wifi/ClientModeImpl$IpClientCallbacksImpl;->onNewDhcpResults(Landroid/net/DhcpResults;)V
+PLcom/android/server/wifi/ClientModeImpl$IpClientCallbacksImpl;->onPostDhcpAction()V
+PLcom/android/server/wifi/ClientModeImpl$IpClientCallbacksImpl;->onPreDhcpAction()V
+PLcom/android/server/wifi/ClientModeImpl$IpClientCallbacksImpl;->onProvisioningFailure(Landroid/net/LinkProperties;)V
+PLcom/android/server/wifi/ClientModeImpl$IpClientCallbacksImpl;->onProvisioningSuccess(Landroid/net/LinkProperties;)V
+PLcom/android/server/wifi/ClientModeImpl$IpClientCallbacksImpl;->onQuit()V
+PLcom/android/server/wifi/ClientModeImpl$IpClientCallbacksImpl;->onReachabilityLost(Ljava/lang/String;)V
+PLcom/android/server/wifi/ClientModeImpl$IpClientCallbacksImpl;->setNeighborDiscoveryOffload(Z)V
+PLcom/android/server/wifi/ClientModeImpl$L2ConnectedState;->enter()V
+PLcom/android/server/wifi/ClientModeImpl$L2ConnectedState;->exit()V
+PLcom/android/server/wifi/ClientModeImpl$L2ConnectedState;->processMessage(Landroid/os/Message;)Z
+PLcom/android/server/wifi/ClientModeImpl$McastLockManagerFilterController;->startFilteringMulticastPackets()V
+PLcom/android/server/wifi/ClientModeImpl$McastLockManagerFilterController;->stopFilteringMulticastPackets()V
+PLcom/android/server/wifi/ClientModeImpl$ObtainingIpState;->enter()V
+PLcom/android/server/wifi/ClientModeImpl$ObtainingIpState;->processMessage(Landroid/os/Message;)Z
+PLcom/android/server/wifi/ClientModeImpl$WifiNetworkAgent;->networkStatus(ILjava/lang/String;)V
+PLcom/android/server/wifi/ClientModeImpl$WifiNetworkAgent;->setSignalStrengthThresholds([I)V
+PLcom/android/server/wifi/ClientModeImpl$WifiNetworkAgent;->startSocketKeepalive(Landroid/os/Message;)V
+PLcom/android/server/wifi/ClientModeImpl$WifiNetworkAgent;->stopSocketKeepalive(Landroid/os/Message;)V
+PLcom/android/server/wifi/ClientModeImpl$WifiNetworkAgent;->unwanted()V
+PLcom/android/server/wifi/ClientModeImpl;->access$1000(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/WifiConfigManager;
+PLcom/android/server/wifi/ClientModeImpl;->access$10002(Lcom/android/server/wifi/ClientModeImpl;Lcom/android/server/wifi/WifiLinkLayerStats;)Lcom/android/server/wifi/WifiLinkLayerStats;
+PLcom/android/server/wifi/ClientModeImpl;->access$10200(I)I
+PLcom/android/server/wifi/ClientModeImpl;->access$10300(Lcom/android/server/wifi/ClientModeImpl;)V
+PLcom/android/server/wifi/ClientModeImpl;->access$10500(Lcom/android/server/wifi/ClientModeImpl;)I
+PLcom/android/server/wifi/ClientModeImpl;->access$10700(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/WifiTrafficPoller;
+PLcom/android/server/wifi/ClientModeImpl;->access$1102(Lcom/android/server/wifi/ClientModeImpl;I)I
+PLcom/android/server/wifi/ClientModeImpl;->access$1400(Lcom/android/server/wifi/ClientModeImpl;Landroid/os/Message;ILjava/lang/Object;)V
+PLcom/android/server/wifi/ClientModeImpl;->access$2000(Lcom/android/server/wifi/ClientModeImpl;)V
+PLcom/android/server/wifi/ClientModeImpl;->access$2100(Lcom/android/server/wifi/ClientModeImpl;Z)V
+PLcom/android/server/wifi/ClientModeImpl;->access$2200(Lcom/android/server/wifi/ClientModeImpl;)Landroid/os/PowerManager$WakeLock;
+PLcom/android/server/wifi/ClientModeImpl;->access$2400(Lcom/android/server/wifi/ClientModeImpl;)Ljava/lang/String;
+PLcom/android/server/wifi/ClientModeImpl;->access$2800(Lcom/android/server/wifi/ClientModeImpl;Landroid/net/LinkProperties;)V
+PLcom/android/server/wifi/ClientModeImpl;->access$2900(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/ClientModeImpl$WifiNetworkAgent;
+PLcom/android/server/wifi/ClientModeImpl;->access$3000(Lcom/android/server/wifi/ClientModeImpl;)I
+PLcom/android/server/wifi/ClientModeImpl;->access$3002(Lcom/android/server/wifi/ClientModeImpl;I)I
+PLcom/android/server/wifi/ClientModeImpl;->access$3100(Lcom/android/server/wifi/ClientModeImpl;)I
+PLcom/android/server/wifi/ClientModeImpl;->access$3102(Lcom/android/server/wifi/ClientModeImpl;I)I
+PLcom/android/server/wifi/ClientModeImpl;->access$3300(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/BaseWifiDiagnostics;
+PLcom/android/server/wifi/ClientModeImpl;->access$3600(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/ExtendedWifiInfo;
+PLcom/android/server/wifi/ClientModeImpl;->access$3700(Lcom/android/server/wifi/ClientModeImpl;)Landroid/net/NetworkInfo;
+PLcom/android/server/wifi/ClientModeImpl;->access$3900(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/WifiConnectivityManager;
+PLcom/android/server/wifi/ClientModeImpl;->access$400(Lcom/android/server/wifi/ClientModeImpl;)Landroid/net/ip/IIpClient;
+PLcom/android/server/wifi/ClientModeImpl;->access$402(Lcom/android/server/wifi/ClientModeImpl;Landroid/net/ip/IIpClient;)Landroid/net/ip/IIpClient;
+PLcom/android/server/wifi/ClientModeImpl;->access$4200(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/WifiScoreCard;
+PLcom/android/server/wifi/ClientModeImpl;->access$4402(Lcom/android/server/wifi/ClientModeImpl;Z)Z
+PLcom/android/server/wifi/ClientModeImpl;->access$4500(Lcom/android/server/wifi/ClientModeImpl;)Ljava/lang/String;
+PLcom/android/server/wifi/ClientModeImpl;->access$4600(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/SupplicantStateTracker;
+PLcom/android/server/wifi/ClientModeImpl;->access$4700(Lcom/android/server/wifi/ClientModeImpl;II)V
+PLcom/android/server/wifi/ClientModeImpl;->access$4800(Lcom/android/server/wifi/ClientModeImpl;)Ljava/lang/String;
+PLcom/android/server/wifi/ClientModeImpl;->access$500(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/WifiMetrics;
+PLcom/android/server/wifi/ClientModeImpl;->access$5200(Lcom/android/server/wifi/ClientModeImpl;Landroid/os/Message;)Landroid/net/wifi/SupplicantState;
+PLcom/android/server/wifi/ClientModeImpl;->access$5300(Lcom/android/server/wifi/ClientModeImpl;)Z
+PLcom/android/server/wifi/ClientModeImpl;->access$5400(Lcom/android/server/wifi/ClientModeImpl;)V
+PLcom/android/server/wifi/ClientModeImpl;->access$5500(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/internal/util/State;
+PLcom/android/server/wifi/ClientModeImpl;->access$5700(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/WifiScoreReport;
+PLcom/android/server/wifi/ClientModeImpl;->access$5902(Lcom/android/server/wifi/ClientModeImpl;Landroid/net/wifi/WifiConfiguration;)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/ClientModeImpl;->access$600(Lcom/android/server/wifi/ClientModeImpl;Landroid/os/Message;Lcom/android/internal/util/State;)V
+PLcom/android/server/wifi/ClientModeImpl;->access$6102(Lcom/android/server/wifi/ClientModeImpl;J)J
+PLcom/android/server/wifi/ClientModeImpl;->access$6200(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/Clock;
+PLcom/android/server/wifi/ClientModeImpl;->access$6300(Lcom/android/server/wifi/ClientModeImpl;)Z
+PLcom/android/server/wifi/ClientModeImpl;->access$6500(Lcom/android/server/wifi/ClientModeImpl;)Z
+PLcom/android/server/wifi/ClientModeImpl;->access$6502(Lcom/android/server/wifi/ClientModeImpl;Z)Z
+PLcom/android/server/wifi/ClientModeImpl;->access$6600(Lcom/android/server/wifi/ClientModeImpl;Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;)Z
+PLcom/android/server/wifi/ClientModeImpl;->access$6700(Lcom/android/server/wifi/ClientModeImpl;)Z
+PLcom/android/server/wifi/ClientModeImpl;->access$6800(Lcom/android/server/wifi/ClientModeImpl;Landroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/ClientModeImpl;->access$6900(Lcom/android/server/wifi/ClientModeImpl;Landroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/ClientModeImpl;->access$7000(Lcom/android/server/wifi/ClientModeImpl;Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;I)V
+PLcom/android/server/wifi/ClientModeImpl;->access$7100(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/internal/util/State;
+PLcom/android/server/wifi/ClientModeImpl;->access$7500(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/internal/util/State;
+PLcom/android/server/wifi/ClientModeImpl;->access$7600(Lcom/android/server/wifi/ClientModeImpl;)Ljava/lang/String;
+PLcom/android/server/wifi/ClientModeImpl;->access$7602(Lcom/android/server/wifi/ClientModeImpl;Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/wifi/ClientModeImpl;->access$7700(Lcom/android/server/wifi/ClientModeImpl;Ljava/lang/String;)V
+PLcom/android/server/wifi/ClientModeImpl;->access$8000(Lcom/android/server/wifi/ClientModeImpl;IZ)V
+PLcom/android/server/wifi/ClientModeImpl;->access$8200(Lcom/android/server/wifi/ClientModeImpl;)I
+PLcom/android/server/wifi/ClientModeImpl;->access$8300(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/LinkProbeManager;
+PLcom/android/server/wifi/ClientModeImpl;->access$900(Lcom/android/server/wifi/ClientModeImpl;)Z
+PLcom/android/server/wifi/ClientModeImpl;->access$902(Lcom/android/server/wifi/ClientModeImpl;Z)Z
+PLcom/android/server/wifi/ClientModeImpl;->access$9200(Lcom/android/server/wifi/ClientModeImpl;Landroid/net/DhcpResults;)V
+PLcom/android/server/wifi/ClientModeImpl;->access$9400(Lcom/android/server/wifi/ClientModeImpl;)V
+PLcom/android/server/wifi/ClientModeImpl;->access$9500(Lcom/android/server/wifi/ClientModeImpl;)V
+PLcom/android/server/wifi/ClientModeImpl;->access$9600(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/internal/util/State;
+PLcom/android/server/wifi/ClientModeImpl;->access$9700(Lcom/android/server/wifi/ClientModeImpl;)V
+PLcom/android/server/wifi/ClientModeImpl;->access$9800(Lcom/android/server/wifi/ClientModeImpl;)Z
+PLcom/android/server/wifi/ClientModeImpl;->access$9900(Lcom/android/server/wifi/ClientModeImpl;)V
+PLcom/android/server/wifi/ClientModeImpl;->clearLinkProperties()V
+PLcom/android/server/wifi/ClientModeImpl;->clearTargetBssid(Ljava/lang/String;)Z
+PLcom/android/server/wifi/ClientModeImpl;->configureRandomizedMacAddress(Landroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/ClientModeImpl;->convertToUsabilityStatsTriggerType(I)I
+PLcom/android/server/wifi/ClientModeImpl;->doNetworkStatus(I)V
+PLcom/android/server/wifi/ClientModeImpl;->fetchRssiLinkSpeedAndFrequencyNative()V
+PLcom/android/server/wifi/ClientModeImpl;->getAdditionalWifiServiceInterfaces()V
+PLcom/android/server/wifi/ClientModeImpl;->getCapabilities(Landroid/net/wifi/WifiConfiguration;)Landroid/net/NetworkCapabilities;
+PLcom/android/server/wifi/ClientModeImpl;->getCurrentBSSID()Ljava/lang/String;
+PLcom/android/server/wifi/ClientModeImpl;->getCurrentNetwork()Landroid/net/Network;
+PLcom/android/server/wifi/ClientModeImpl;->getCurrentWifiConfiguration()Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/ClientModeImpl;->getDstMacForKeepalive(Landroid/net/KeepalivePacketData;)[B
+PLcom/android/server/wifi/ClientModeImpl;->getEtherProtoForKeepalive(Landroid/net/KeepalivePacketData;)I
+PLcom/android/server/wifi/ClientModeImpl;->getFactoryMacAddress()Ljava/lang/String;
+PLcom/android/server/wifi/ClientModeImpl;->getLinkPropertiesSummary(Landroid/net/LinkProperties;)Ljava/lang/String;
+PLcom/android/server/wifi/ClientModeImpl;->handleIPv4Success(Landroid/net/DhcpResults;)V
+PLcom/android/server/wifi/ClientModeImpl;->handleIfaceDestroyed()V
+PLcom/android/server/wifi/ClientModeImpl;->handleNetworkDisconnect()V
+PLcom/android/server/wifi/ClientModeImpl;->handlePostDhcpSetup()V
+PLcom/android/server/wifi/ClientModeImpl;->handlePreDhcpSetup()V
+PLcom/android/server/wifi/ClientModeImpl;->handleSupplicantStateChange(Landroid/os/Message;)Landroid/net/wifi/SupplicantState;
+PLcom/android/server/wifi/ClientModeImpl;->handleUserStop(I)V
+PLcom/android/server/wifi/ClientModeImpl;->handleUserUnlock(I)V
+PLcom/android/server/wifi/ClientModeImpl;->isConnected()Z
+PLcom/android/server/wifi/ClientModeImpl;->isDisconnected()Z
+PLcom/android/server/wifi/ClientModeImpl;->isSupplicantTransientState()Z
+PLcom/android/server/wifi/ClientModeImpl;->log(Ljava/lang/String;)V
+PLcom/android/server/wifi/ClientModeImpl;->logd(Ljava/lang/String;)V
+PLcom/android/server/wifi/ClientModeImpl;->macAddressFromRoute(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/wifi/ClientModeImpl;->reconnectCommand(Landroid/os/WorkSource;)V
+PLcom/android/server/wifi/ClientModeImpl;->registerConnected()V
+PLcom/android/server/wifi/ClientModeImpl;->registerDisconnected()V
+PLcom/android/server/wifi/ClientModeImpl;->registerForWifiMonitorEvents()V
+PLcom/android/server/wifi/ClientModeImpl;->registerNetworkFactory()V
+PLcom/android/server/wifi/ClientModeImpl;->reportConnectionAttemptEnd(II)V
+PLcom/android/server/wifi/ClientModeImpl;->reportOnTime()Ljava/lang/String;
+PLcom/android/server/wifi/ClientModeImpl;->resetSimAuthNetworks(Z)V
+PLcom/android/server/wifi/ClientModeImpl;->sendBluetoothAdapterStateChange(I)V
+PLcom/android/server/wifi/ClientModeImpl;->sendConnectedState()V
+PLcom/android/server/wifi/ClientModeImpl;->sendNetworkStateChangeBroadcast(Ljava/lang/String;)V
+PLcom/android/server/wifi/ClientModeImpl;->sendRssiChangeBroadcast(I)V
+PLcom/android/server/wifi/ClientModeImpl;->setCurrentMacToFactoryMac(Landroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/ClientModeImpl;->setMulticastFilter(Z)V
+PLcom/android/server/wifi/ClientModeImpl;->setNetworkDetailedState(Landroid/net/NetworkInfo$DetailedState;)Z
+PLcom/android/server/wifi/ClientModeImpl;->setPowerSave(Z)Z
+PLcom/android/server/wifi/ClientModeImpl;->setRandomMacOui()Z
+PLcom/android/server/wifi/ClientModeImpl;->setSuspendOptimizationsNative(IZ)V
+PLcom/android/server/wifi/ClientModeImpl;->setTargetBssid(Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;)Z
+PLcom/android/server/wifi/ClientModeImpl;->shouldEvaluateWhetherToSendExplicitlySelected(Landroid/net/wifi/WifiConfiguration;)Z
+PLcom/android/server/wifi/ClientModeImpl;->startConnectToNetwork(IILjava/lang/String;)V
+PLcom/android/server/wifi/ClientModeImpl;->startWifiIPPacketOffload(ILandroid/net/KeepalivePacketData;I)I
+PLcom/android/server/wifi/ClientModeImpl;->stopClientMode()V
+PLcom/android/server/wifi/ClientModeImpl;->stopIpClient()V
+PLcom/android/server/wifi/ClientModeImpl;->stopRssiMonitoringOffload()I
+PLcom/android/server/wifi/ClientModeImpl;->stopWifiIPPacketOffload(I)I
+PLcom/android/server/wifi/ClientModeImpl;->syncGetAllMatchingFqdnsForScanResults(Ljava/util/List;Lcom/android/internal/util/AsyncChannel;)Ljava/util/Map;
+PLcom/android/server/wifi/ClientModeImpl;->syncGetConfiguredNetworks(ILcom/android/internal/util/AsyncChannel;I)Ljava/util/List;
+PLcom/android/server/wifi/ClientModeImpl;->syncGetDhcpResults()Landroid/net/DhcpResults;
+PLcom/android/server/wifi/ClientModeImpl;->syncGetLinkLayerStats(Lcom/android/internal/util/AsyncChannel;)Lcom/android/server/wifi/WifiLinkLayerStats;
+PLcom/android/server/wifi/ClientModeImpl;->syncGetMatchingOsuProviders(Ljava/util/List;Lcom/android/internal/util/AsyncChannel;)Ljava/util/Map;
+PLcom/android/server/wifi/ClientModeImpl;->syncGetMatchingPasspointConfigsForOsuProviders(Ljava/util/List;Lcom/android/internal/util/AsyncChannel;)Ljava/util/Map;
+PLcom/android/server/wifi/ClientModeImpl;->syncGetPasspointConfigs(Lcom/android/internal/util/AsyncChannel;)Ljava/util/List;
+PLcom/android/server/wifi/ClientModeImpl;->syncGetPrivilegedConfiguredNetwork(Lcom/android/internal/util/AsyncChannel;)Ljava/util/List;
+PLcom/android/server/wifi/ClientModeImpl;->syncRequestConnectionInfo()Landroid/net/wifi/WifiInfo;
+PLcom/android/server/wifi/ClientModeImpl;->unexpectedDisconnectedReason(I)Z
+PLcom/android/server/wifi/ClientModeImpl;->unwantedNetwork(I)V
+PLcom/android/server/wifi/ClientModeImpl;->updateBatteryWorkSource(Landroid/os/WorkSource;)V
+PLcom/android/server/wifi/ClientModeImpl;->updateCapabilities()V
+PLcom/android/server/wifi/ClientModeImpl;->updateLinkProperties(Landroid/net/LinkProperties;)V
+PLcom/android/server/wifi/ClientModeImpl;->updateWifiMetrics()V
+PLcom/android/server/wifi/ClientModeManager$ClientModeStateMachine$1;->onDestroyed(Ljava/lang/String;)V
+PLcom/android/server/wifi/ClientModeManager$ClientModeStateMachine$StartedState;->exit()V
+PLcom/android/server/wifi/ClientModeManager;->stop()V
+PLcom/android/server/wifi/Clock;->getWallClockMillis()J
+PLcom/android/server/wifi/CompatibiltyScorer;->scoreCandidate(Lcom/android/server/wifi/WifiCandidates$Candidate;)Lcom/android/server/wifi/WifiCandidates$ScoredCandidate;
+PLcom/android/server/wifi/CompatibiltyScorer;->scoreCandidates(Ljava/util/Collection;)Lcom/android/server/wifi/WifiCandidates$ScoredCandidate;
+PLcom/android/server/wifi/ConfigurationMap;->clear()V
+PLcom/android/server/wifi/ConfigurationMap;->getByConfigKeyForCurrentUser(Ljava/lang/String;)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/ConfigurationMap;->getByScanResultForCurrentUser(Landroid/net/wifi/ScanResult;)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/ConfigurationMap;->getForCurrentUser(I)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/ConfigurationMap;->put(Landroid/net/wifi/WifiConfiguration;)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/ConfigurationMap;->sizeForAllUsers()I
+PLcom/android/server/wifi/ConfigurationMap;->valuesForAllUsers()Ljava/util/Collection;
+PLcom/android/server/wifi/ConfigurationMap;->valuesForCurrentUser()Ljava/util/Collection;
+PLcom/android/server/wifi/ConnectToNetworkNotificationBuilder;->createConnectToAvailableNetworkNotification(Ljava/lang/String;Landroid/net/wifi/ScanResult;)Landroid/app/Notification;
+PLcom/android/server/wifi/ConnectToNetworkNotificationBuilder;->createNotificationBuilder(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/String;)Landroid/app/Notification$Builder;
+PLcom/android/server/wifi/ConnectToNetworkNotificationBuilder;->getNotifierRequestCode(Ljava/lang/String;)I
+PLcom/android/server/wifi/ConnectToNetworkNotificationBuilder;->getPrivateBroadcast(Ljava/lang/String;Ljava/lang/String;)Landroid/app/PendingIntent;
+PLcom/android/server/wifi/DeletedEphemeralSsidsStoreData;->deserializeData(Lorg/xmlpull/v1/XmlPullParser;I)V
+PLcom/android/server/wifi/DeletedEphemeralSsidsStoreData;->getName()Ljava/lang/String;
+PLcom/android/server/wifi/DeletedEphemeralSsidsStoreData;->getSsidList()Ljava/util/Set;
+PLcom/android/server/wifi/DeletedEphemeralSsidsStoreData;->getSsidToTimeMap()Ljava/util/Map;
+PLcom/android/server/wifi/DeletedEphemeralSsidsStoreData;->serializeData(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/wifi/DeletedEphemeralSsidsStoreData;->setSsidList(Ljava/util/Set;)V
+PLcom/android/server/wifi/DeletedEphemeralSsidsStoreData;->setSsidToTimeMap(Ljava/util/Map;)V
+PLcom/android/server/wifi/DppMetrics;->clear()V
+PLcom/android/server/wifi/DppMetrics;->consolidateDppFailure(Landroid/util/SparseIntArray;)[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppFailureStatusHistogramBucket;
+PLcom/android/server/wifi/DppMetrics;->consolidateDppOperationTime(Landroid/util/SparseIntArray;)[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$HistogramBucket;
+PLcom/android/server/wifi/DppMetrics;->consolidateDppSuccess(Landroid/util/SparseIntArray;)[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog$DppConfiguratorSuccessStatusHistogramBucket;
+PLcom/android/server/wifi/DppMetrics;->consolidateProto()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiDppLog;
+PLcom/android/server/wifi/DummyLogMessage;->c(Z)Lcom/android/server/wifi/WifiLog$LogMessage;
+PLcom/android/server/wifi/ExtendedWifiInfo;->reset()V
+PLcom/android/server/wifi/ExtendedWifiInfo;->update(IJJJJJ)V
+PLcom/android/server/wifi/ExtendedWifiInfo;->updatePacketRates(JJJ)V
+PLcom/android/server/wifi/ExtendedWifiInfo;->updatePacketRates(Lcom/android/server/wifi/WifiLinkLayerStats;J)V
+PLcom/android/server/wifi/FrameworkFacade;->getBroadcast(Landroid/content/Context;ILandroid/content/Intent;I)Landroid/app/PendingIntent;
+PLcom/android/server/wifi/FrameworkFacade;->getRxPackets(Ljava/lang/String;)J
+PLcom/android/server/wifi/FrameworkFacade;->getTxPackets(Ljava/lang/String;)J
+PLcom/android/server/wifi/FrameworkFacade;->makeNotificationBuilder(Landroid/content/Context;Ljava/lang/String;)Landroid/app/Notification$Builder;
+PLcom/android/server/wifi/LastMileLogger;->disableTracing()V
+PLcom/android/server/wifi/LastMileLogger;->enableTracing()V
+PLcom/android/server/wifi/LastMileLogger;->ensureFailSafeIsArmed()Z
+PLcom/android/server/wifi/LastMileLogger;->readTrace()[B
+PLcom/android/server/wifi/LastMileLogger;->reportConnectionEvent(B)V
+PLcom/android/server/wifi/LinkProbeManager;->updateConnectionStats(Landroid/net/wifi/WifiInfo;Ljava/lang/String;)V
+PLcom/android/server/wifi/LogcatLog;->err(Ljava/lang/String;)Lcom/android/server/wifi/WifiLog$LogMessage;
+PLcom/android/server/wifi/LogcatLog;->w(Ljava/lang/String;)V
+PLcom/android/server/wifi/NetworkListStoreData;->deserializeData(Lorg/xmlpull/v1/XmlPullParser;I)V
+PLcom/android/server/wifi/NetworkListStoreData;->getConfigurations()Ljava/util/List;
+PLcom/android/server/wifi/NetworkListStoreData;->getName()Ljava/lang/String;
+PLcom/android/server/wifi/NetworkListStoreData;->hasNewDataToSerialize()Z
+PLcom/android/server/wifi/NetworkListStoreData;->parseNetwork(Lorg/xmlpull/v1/XmlPullParser;I)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/NetworkListStoreData;->parseNetworkList(Lorg/xmlpull/v1/XmlPullParser;I)Ljava/util/List;
+PLcom/android/server/wifi/NetworkListStoreData;->resetData()V
+PLcom/android/server/wifi/NetworkListStoreData;->serializeData(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/wifi/NetworkListStoreData;->serializeNetwork(Lorg/xmlpull/v1/XmlSerializer;Landroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/NetworkListStoreData;->setConfigurations(Ljava/util/List;)V
+PLcom/android/server/wifi/NetworkRequestStoreData;->deserializeData(Lorg/xmlpull/v1/XmlPullParser;I)V
+PLcom/android/server/wifi/NetworkRequestStoreData;->getName()Ljava/lang/String;
+PLcom/android/server/wifi/NetworkRequestStoreData;->parseApprovedAccessPointsMap(Lorg/xmlpull/v1/XmlPullParser;I)Ljava/util/Map;
+PLcom/android/server/wifi/NetworkRequestStoreData;->serializeApprovedAccessPointsMap(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/Map;)V
+PLcom/android/server/wifi/NetworkRequestStoreData;->serializeData(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/wifi/NetworkSuggestionEvaluator;->evaluateNetworks(Ljava/util/List;Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;ZZLcom/android/server/wifi/WifiNetworkSelector$NetworkEvaluator$OnConnectableListener;)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/NetworkSuggestionEvaluator;->getName()Ljava/lang/String;
+PLcom/android/server/wifi/NetworkSuggestionEvaluator;->update(Ljava/util/List;)V
+PLcom/android/server/wifi/NetworkSuggestionStoreData;->deserializeData(Lorg/xmlpull/v1/XmlPullParser;I)V
+PLcom/android/server/wifi/NetworkSuggestionStoreData;->hasNewDataToSerialize()Z
+PLcom/android/server/wifi/RandomizedMacStoreData;->deserializeData(Lorg/xmlpull/v1/XmlPullParser;I)V
+PLcom/android/server/wifi/RandomizedMacStoreData;->getMacMapping()Ljava/util/Map;
+PLcom/android/server/wifi/RandomizedMacStoreData;->getName()Ljava/lang/String;
+PLcom/android/server/wifi/RandomizedMacStoreData;->resetData()V
+PLcom/android/server/wifi/RandomizedMacStoreData;->serializeData(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/wifi/RandomizedMacStoreData;->setMacMapping(Ljava/util/Map;)V
+PLcom/android/server/wifi/SarManager$WifiPhoneStateListener;->onCallStateChanged(ILjava/lang/String;)V
+PLcom/android/server/wifi/SarManager;->lambda$checkAudioDevice$1$SarManager()V
+PLcom/android/server/wifi/SarManager;->onCellStateChangeEvent(I)V
+PLcom/android/server/wifi/SarManager;->setClientWifiState(I)V
+PLcom/android/server/wifi/SavedNetworkEvaluator;->calculateBssidScore(Landroid/net/wifi/ScanResult;Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;Ljava/lang/StringBuffer;)I
+PLcom/android/server/wifi/SavedNetworkEvaluator;->evaluateNetworks(Ljava/util/List;Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;ZZLcom/android/server/wifi/WifiNetworkSelector$NetworkEvaluator$OnConnectableListener;)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/SavedNetworkEvaluator;->getName()Ljava/lang/String;
+PLcom/android/server/wifi/SavedNetworkEvaluator;->update(Ljava/util/List;)V
+PLcom/android/server/wifi/SavedNetworkEvaluator;->updateSavedNetworkSelectionStatus()V
+PLcom/android/server/wifi/ScanDetail;-><init>(Lcom/android/server/wifi/hotspot2/NetworkDetail;Landroid/net/wifi/WifiSsid;Ljava/lang/String;Ljava/lang/String;IIJ[Landroid/net/wifi/ScanResult$InformationElement;Ljava/util/List;)V
+PLcom/android/server/wifi/ScanDetail;->getBSSIDString()Ljava/lang/String;
+PLcom/android/server/wifi/ScanDetail;->getNetworkDetail()Lcom/android/server/wifi/hotspot2/NetworkDetail;
+PLcom/android/server/wifi/ScanDetail;->getSSID()Ljava/lang/String;
+PLcom/android/server/wifi/ScanDetail;->getScanResult()Landroid/net/wifi/ScanResult;
+PLcom/android/server/wifi/ScanDetail;->setSeen()J
+PLcom/android/server/wifi/ScanDetailCache;->getScanDetail(Ljava/lang/String;)Lcom/android/server/wifi/ScanDetail;
+PLcom/android/server/wifi/ScanDetailCache;->getScanResult(Ljava/lang/String;)Landroid/net/wifi/ScanResult;
+PLcom/android/server/wifi/ScanDetailCache;->keySet()Ljava/util/Collection;
+PLcom/android/server/wifi/ScanDetailCache;->put(Lcom/android/server/wifi/ScanDetail;)V
+PLcom/android/server/wifi/ScanDetailCache;->size()I
+PLcom/android/server/wifi/ScanDetailCache;->values()Ljava/util/Collection;
+PLcom/android/server/wifi/ScanRequestProxy$GlobalScanListener;->onFullResult(Landroid/net/wifi/ScanResult;)V
+PLcom/android/server/wifi/ScanRequestProxy$GlobalScanListener;->onResults([Landroid/net/wifi/WifiScanner$ScanData;)V
+PLcom/android/server/wifi/ScanRequestProxy$ScanRequestProxyScanListener;->onFailure(ILjava/lang/String;)V
+PLcom/android/server/wifi/ScanRequestProxy$ScanRequestProxyScanListener;->onFullResult(Landroid/net/wifi/ScanResult;)V
+PLcom/android/server/wifi/ScanRequestProxy$ScanRequestProxyScanListener;->onResults([Landroid/net/wifi/WifiScanner$ScanData;)V
+PLcom/android/server/wifi/ScanRequestProxy$ScanRequestProxyScanListener;->onSuccess()V
+PLcom/android/server/wifi/ScanRequestProxy$ThrottleEnabledSettingObserver;->isEnabled()Z
+PLcom/android/server/wifi/ScanRequestProxy;->getScanResults()Ljava/util/List;
+PLcom/android/server/wifi/ScanRequestProxy;->isRequestFromBackground(ILjava/lang/String;)Z
+PLcom/android/server/wifi/ScanRequestProxy;->sendScanResultBroadcast(Z)V
+PLcom/android/server/wifi/ScanRequestProxy;->sendScanResultFailureBroadcastToPackage(Ljava/lang/String;)V
+PLcom/android/server/wifi/ScanRequestProxy;->shouldScanRequestBeThrottledForApp(ILjava/lang/String;)Z
+PLcom/android/server/wifi/ScanRequestProxy;->startScan(ILjava/lang/String;)Z
+PLcom/android/server/wifi/ScanRequestProxy;->trimPastScanRequestTimesForForegroundApp(Ljava/util/List;J)V
+PLcom/android/server/wifi/ScanResultMatchInfo;-><init>()V
+PLcom/android/server/wifi/ScanResultMatchInfo;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/wifi/ScanResultMatchInfo;->fromScanResult(Landroid/net/wifi/ScanResult;)Lcom/android/server/wifi/ScanResultMatchInfo;
+PLcom/android/server/wifi/ScanResultMatchInfo;->getNetworkType(Landroid/net/wifi/ScanResult;)I
+PLcom/android/server/wifi/ScanResultMatchInfo;->getNetworkType(Landroid/net/wifi/WifiConfiguration;)I
+PLcom/android/server/wifi/ScanResultMatchInfo;->hashCode()I
+PLcom/android/server/wifi/ScoreCardBasedScorer;->estimatedCutoff(Lcom/android/server/wifi/WifiCandidates$Candidate;)I
+PLcom/android/server/wifi/ScoreCardBasedScorer;->scoreCandidate(Lcom/android/server/wifi/WifiCandidates$Candidate;)Lcom/android/server/wifi/WifiCandidates$ScoredCandidate;
+PLcom/android/server/wifi/ScoreCardBasedScorer;->scoreCandidates(Ljava/util/Collection;)Lcom/android/server/wifi/WifiCandidates$ScoredCandidate;
+PLcom/android/server/wifi/ScoredNetworkEvaluator$ScoreTracker;->getCandidateConfiguration()Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/ScoredNetworkEvaluator;->activeScorerAllowedtoSeeScanResults()Z
+PLcom/android/server/wifi/ScoredNetworkEvaluator;->evaluateNetworks(Ljava/util/List;Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;ZZLcom/android/server/wifi/WifiNetworkSelector$NetworkEvaluator$OnConnectableListener;)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/ScoredNetworkEvaluator;->getName()Ljava/lang/String;
+PLcom/android/server/wifi/ScoredNetworkEvaluator;->update(Ljava/util/List;)V
+PLcom/android/server/wifi/ScoredNetworkEvaluator;->updateNetworkScoreCache(Ljava/util/List;)V
+PLcom/android/server/wifi/ScoringParams;->getExitRssi(I)I
+PLcom/android/server/wifi/ScoringParams;->getExperimentIdentifier()I
+PLcom/android/server/wifi/ScoringParams;->getHorizonSeconds()I
+PLcom/android/server/wifi/ScoringParams;->getNudKnob()I
+PLcom/android/server/wifi/ScoringParams;->getSufficientRssi(I)I
+PLcom/android/server/wifi/ScoringParams;->getYippeeSkippyPacketsPerSecond()I
+PLcom/android/server/wifi/SsidSetStoreData;->deserializeData(Lorg/xmlpull/v1/XmlPullParser;I)V
+PLcom/android/server/wifi/SsidSetStoreData;->getName()Ljava/lang/String;
+PLcom/android/server/wifi/SsidSetStoreData;->serializeData(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/wifi/StateChangeResult;->toString()Ljava/lang/String;
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallback;->addAnqpElementToMap(Ljava/util/Map;Lcom/android/server/wifi/hotspot2/anqp/Constants$ANQPElementType;Ljava/util/ArrayList;)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallback;->onAnqpQueryDone([BLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIfaceCallback$AnqpData;Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIfaceCallback$Hs20AnqpData;)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallback;->onAssociationRejected([BIZ)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallback;->onBssidChanged(B[B)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallback;->onDisconnected([BZI)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallback;->onNetworkAdded(I)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallback;->onNetworkRemoved(I)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallback;->onStateChanged(I[BILjava/util/ArrayList;)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallback;->parseAnqpElement(Lcom/android/server/wifi/hotspot2/anqp/Constants$ANQPElementType;Ljava/util/ArrayList;)Lcom/android/server/wifi/hotspot2/anqp/ANQPElement;
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_1;->onAnqpQueryDone([BLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIfaceCallback$AnqpData;Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIfaceCallback$Hs20AnqpData;)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_1;->onAssociationRejected([BIZ)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_1;->onBssidChanged(B[B)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_1;->onDisconnected([BZI)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_1;->onNetworkAdded(I)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_1;->onNetworkRemoved(I)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_1;->onStateChanged(I[BILjava/util/ArrayList;)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_2;->onAnqpQueryDone([BLandroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIfaceCallback$AnqpData;Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIfaceCallback$Hs20AnqpData;)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_2;->onAssociationRejected([BIZ)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_2;->onBssidChanged(B[B)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_2;->onDisconnected([BZI)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_2;->onNetworkAdded(I)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_2;->onNetworkRemoved(I)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal$SupplicantStaIfaceHalCallbackV1_2;->onStateChanged(I[BILjava/util/ArrayList;)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->addNetwork(Ljava/lang/String;)Lcom/android/server/wifi/SupplicantStaNetworkHal;
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->addNetworkAndSaveConfig(Ljava/lang/String;Landroid/net/wifi/WifiConfiguration;)Landroid/util/Pair;
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->addRxFilter(Ljava/lang/String;B)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->addRxFilter(Ljava/lang/String;I)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->checkSupplicantStaNetworkAndLogFailure(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/wifi/SupplicantStaNetworkHal;
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->clearState()V
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->connectToNetwork(Ljava/lang/String;Landroid/net/wifi/WifiConfiguration;)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->deregisterDeathHandler()Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->disconnect(Ljava/lang/String;)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->enableAutoReconnect(Ljava/lang/String;Z)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->getCurrentNetworkId(Ljava/lang/String;)I
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->getMacAddress(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->getStaNetworkMockable(Ljava/lang/String;Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork;)Lcom/android/server/wifi/SupplicantStaNetworkHal;
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->initiateAnqpQuery(Ljava/lang/String;Ljava/lang/String;Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->initiateAnqpQuery(Ljava/lang/String;[BLjava/util/ArrayList;Ljava/util/ArrayList;)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->lambda$addNetwork$3$SupplicantStaIfaceHal(Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;Landroid/hardware/wifi/supplicant/V1_0/ISupplicantNetwork;)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->lambda$addNetwork$5$SupplicantStaIfaceHal(Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;Landroid/hardware/wifi/supplicant/V1_0/ISupplicantNetwork;)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->lambda$getKeyMgmtCapabilities$10$SupplicantStaIfaceHal(Landroid/util/MutableBoolean;Landroid/util/MutableInt;Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;I)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->lambda$getKeyMgmtCapabilities$8$SupplicantStaIfaceHal(Landroid/util/MutableBoolean;Landroid/util/MutableInt;Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;I)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->lambda$getMacAddress$6$SupplicantStaIfaceHal(Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;[B)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->lambda$getMacAddress$8$SupplicantStaIfaceHal(Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;[B)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->lambda$listNetworks$5$SupplicantStaIfaceHal(Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->lambda$listNetworks$7$SupplicantStaIfaceHal(Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->lambda$new$1(Lcom/android/server/wifi/SupplicantStaIfaceHal;J)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->listNetworks(Ljava/lang/String;)Ljava/util/ArrayList;
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->logCallback(Ljava/lang/String;)V
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->removeAllNetworks(Ljava/lang/String;)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->removeIfaceV1_1(Ljava/lang/String;)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->removeNetwork(Ljava/lang/String;I)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->setBtCoexistenceMode(Ljava/lang/String;B)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->setBtCoexistenceMode(Ljava/lang/String;I)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->setBtCoexistenceScanModeEnabled(Ljava/lang/String;Z)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->setConcurrencyPriority(I)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->setConcurrencyPriority(Z)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->setCountryCode(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->setCountryCode(Ljava/lang/String;[B)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->setCurrentNetworkBssid(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->setExternalSim(Ljava/lang/String;Z)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->setPowerSave(Ljava/lang/String;Z)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->setSuspendModeEnabled(Ljava/lang/String;Z)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->startRxFilter(Ljava/lang/String;)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->stopRxFilter(Ljava/lang/String;)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->supplicantHidlStateToFrameworkState(I)Landroid/net/wifi/SupplicantState;
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->supplicantServiceDiedHandler()V
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->teardownIface(Ljava/lang/String;)Z
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->terminate()V
+PLcom/android/server/wifi/SupplicantStaIfaceHal;->terminate_V1_1()V
+PLcom/android/server/wifi/SupplicantStaNetworkHal;-><init>(Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetwork;Ljava/lang/String;Landroid/content/Context;Lcom/android/server/wifi/WifiMonitor;)V
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->addFastTransitionFlags(Ljava/util/BitSet;)Ljava/util/BitSet;
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->addSha256KeyMgmtFlags(Ljava/util/BitSet;)Ljava/util/BitSet;
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->checkISupplicantStaNetworkAndLogFailure(Ljava/lang/String;)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->checkStatusAndLogFailure(Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;Ljava/lang/String;)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->createNetworkExtra(Ljava/util/Map;)Ljava/lang/String;
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->enableVerboseLogging(Z)V
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->getSupplicantStaNetworkForV1_2Mockable()Landroid/hardware/wifi/supplicant/V1_2/ISupplicantStaNetwork;
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->getV1_2StaNetwork()Landroid/hardware/wifi/supplicant/V1_2/ISupplicantStaNetwork;
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->registerCallback(Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaNetworkCallback;)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->saveWifiConfiguration(Landroid/net/wifi/WifiConfiguration;)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->saveWifiEnterpriseConfig(Ljava/lang/String;Landroid/net/wifi/WifiEnterpriseConfig;)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->select()Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setAuthAlg(I)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setBssid(Ljava/lang/String;)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setBssid([B)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setEapEngine(Z)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setEapIdentity(Ljava/util/ArrayList;)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setEapMethod(I)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setEapPassword(Ljava/util/ArrayList;)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setEapPhase2Method(I)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setEapProactiveKeyCaching(Z)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setGroupCipher(I)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setIdStr(Ljava/lang/String;)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setKeyMgmt(I)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setPairwiseCipher(I)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setProto(I)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setPskPassphrase(Ljava/lang/String;)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setRequirePmf(Z)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setScanSsid(Z)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->setSsid(Ljava/util/ArrayList;)Z
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->wifiConfigurationToSupplicantAuthAlgMask(Ljava/util/BitSet;)I
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->wifiConfigurationToSupplicantEapMethod(I)I
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->wifiConfigurationToSupplicantEapPhase2Method(I)I
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->wifiConfigurationToSupplicantGroupCipherMask(Ljava/util/BitSet;)I
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->wifiConfigurationToSupplicantKeyMgmtMask(Ljava/util/BitSet;)I
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->wifiConfigurationToSupplicantPairwiseCipherMask(Ljava/util/BitSet;)I
+PLcom/android/server/wifi/SupplicantStaNetworkHal;->wifiConfigurationToSupplicantProtoMask(Ljava/util/BitSet;)I
+PLcom/android/server/wifi/SupplicantStateTracker$CompletedState;->enter()V
+PLcom/android/server/wifi/SupplicantStateTracker$CompletedState;->processMessage(Landroid/os/Message;)Z
+PLcom/android/server/wifi/SupplicantStateTracker$ConnectionActiveState;->processMessage(Landroid/os/Message;)Z
+PLcom/android/server/wifi/SupplicantStateTracker$DefaultState;->processMessage(Landroid/os/Message;)Z
+PLcom/android/server/wifi/SupplicantStateTracker$DisconnectedState;->enter()V
+PLcom/android/server/wifi/SupplicantStateTracker$HandshakeState;->enter()V
+PLcom/android/server/wifi/SupplicantStateTracker$HandshakeState;->processMessage(Landroid/os/Message;)Z
+PLcom/android/server/wifi/SupplicantStateTracker$InactiveState;->enter()V
+PLcom/android/server/wifi/SupplicantStateTracker$ScanState;->enter()V
+PLcom/android/server/wifi/SupplicantStateTracker;->getSupplicantStateName()Ljava/lang/String;
+PLcom/android/server/wifi/SupplicantStateTracker;->sendSupplicantStateChangedBroadcast(Landroid/net/wifi/SupplicantState;ZI)V
+PLcom/android/server/wifi/SupplicantStateTracker;->transitionOnSupplicantStateChange(Lcom/android/server/wifi/StateChangeResult;)V
+PLcom/android/server/wifi/UntrustedWifiNetworkFactory;->needNetworkFor(Landroid/net/NetworkRequest;I)V
+PLcom/android/server/wifi/UntrustedWifiNetworkFactory;->releaseNetworkFor(Landroid/net/NetworkRequest;)V
+PLcom/android/server/wifi/VelocityBasedConnectedScore;->adjustThreshold(Landroid/net/wifi/WifiInfo;)V
+PLcom/android/server/wifi/VelocityBasedConnectedScore;->generateScore()I
+PLcom/android/server/wifi/VelocityBasedConnectedScore;->getAdjustedRssiThreshold()D
+PLcom/android/server/wifi/VelocityBasedConnectedScore;->getFilteredRssi()D
+PLcom/android/server/wifi/VelocityBasedConnectedScore;->reset()V
+PLcom/android/server/wifi/VelocityBasedConnectedScore;->setDeltaTimeSeconds(D)V
+PLcom/android/server/wifi/VelocityBasedConnectedScore;->updateUsingRssi(IJD)V
+PLcom/android/server/wifi/VelocityBasedConnectedScore;->updateUsingWifiInfo(Landroid/net/wifi/WifiInfo;J)V
+PLcom/android/server/wifi/WakeupConfigStoreData;->deserializeData(Lorg/xmlpull/v1/XmlPullParser;I)V
+PLcom/android/server/wifi/WakeupConfigStoreData;->getName()Ljava/lang/String;
+PLcom/android/server/wifi/WakeupConfigStoreData;->parseFeatureState(Lorg/xmlpull/v1/XmlPullParser;I)V
+PLcom/android/server/wifi/WakeupConfigStoreData;->parseNetwork(Lorg/xmlpull/v1/XmlPullParser;I)Lcom/android/server/wifi/ScanResultMatchInfo;
+PLcom/android/server/wifi/WakeupConfigStoreData;->serializeData(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/wifi/WakeupConfigStoreData;->writeFeatureState(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/wifi/WakeupController$1;->onFullResult(Landroid/net/wifi/ScanResult;)V
+PLcom/android/server/wifi/WakeupController$1;->onResults([Landroid/net/wifi/WifiScanner$ScanData;)V
+PLcom/android/server/wifi/WakeupController$IsActiveDataSource;->getData()Ljava/lang/Boolean;
+PLcom/android/server/wifi/WakeupController$IsActiveDataSource;->getData()Ljava/lang/Object;
+PLcom/android/server/wifi/WakeupController$IsActiveDataSource;->setData(Ljava/lang/Boolean;)V
+PLcom/android/server/wifi/WakeupController$IsActiveDataSource;->setData(Ljava/lang/Object;)V
+PLcom/android/server/wifi/WakeupController;->enableWifi()V
+PLcom/android/server/wifi/WakeupController;->filterDfsScanResults(Ljava/util/Collection;)Ljava/util/List;
+PLcom/android/server/wifi/WakeupController;->getGoodSavedNetworks()Ljava/util/Set;
+PLcom/android/server/wifi/WakeupController;->handleScanResults(Ljava/util/Collection;)V
+PLcom/android/server/wifi/WakeupController;->reset()V
+PLcom/android/server/wifi/WakeupController;->setLastDisconnectInfo(Lcom/android/server/wifi/ScanResultMatchInfo;)V
+PLcom/android/server/wifi/WakeupEvaluator;->findViableNetwork(Ljava/util/Collection;Ljava/util/Collection;)Landroid/net/wifi/ScanResult;
+PLcom/android/server/wifi/WakeupEvaluator;->isBelowThreshold(Landroid/net/wifi/ScanResult;)Z
+PLcom/android/server/wifi/WakeupLock$WakeupLockDataSource;->getData()Ljava/lang/Object;
+PLcom/android/server/wifi/WakeupLock$WakeupLockDataSource;->getData()Ljava/util/Set;
+PLcom/android/server/wifi/WakeupLock$WakeupLockDataSource;->setData(Ljava/lang/Object;)V
+PLcom/android/server/wifi/WakeupLock$WakeupLockDataSource;->setData(Ljava/util/Set;)V
+PLcom/android/server/wifi/WakeupLock;->addToLock(Ljava/util/Collection;)V
+PLcom/android/server/wifi/WakeupLock;->isUnlocked()Z
+PLcom/android/server/wifi/WakeupLock;->maybeSetInitializedByScans(I)V
+PLcom/android/server/wifi/WakeupLock;->maybeSetInitializedByTimeout(J)V
+PLcom/android/server/wifi/WakeupLock;->removeFromLock(Ljava/util/Collection;)V
+PLcom/android/server/wifi/WakeupLock;->setLock(Ljava/util/Collection;)V
+PLcom/android/server/wifi/WakeupLock;->update(Ljava/util/Collection;)V
+PLcom/android/server/wifi/WakeupOnboarding$IsOnboardedDataSource;->getData()Ljava/lang/Boolean;
+PLcom/android/server/wifi/WakeupOnboarding$IsOnboardedDataSource;->getData()Ljava/lang/Object;
+PLcom/android/server/wifi/WakeupOnboarding$IsOnboardedDataSource;->setData(Ljava/lang/Boolean;)V
+PLcom/android/server/wifi/WakeupOnboarding$IsOnboardedDataSource;->setData(Ljava/lang/Object;)V
+PLcom/android/server/wifi/WakeupOnboarding$NotificationsDataSource;->getData()Ljava/lang/Integer;
+PLcom/android/server/wifi/WakeupOnboarding$NotificationsDataSource;->getData()Ljava/lang/Object;
+PLcom/android/server/wifi/WakeupOnboarding$NotificationsDataSource;->setData(Ljava/lang/Integer;)V
+PLcom/android/server/wifi/WakeupOnboarding$NotificationsDataSource;->setData(Ljava/lang/Object;)V
+PLcom/android/server/wifi/WakeupOnboarding;->isOnboarded()Z
+PLcom/android/server/wifi/WakeupOnboarding;->maybeShowNotification()V
+PLcom/android/server/wifi/WakeupOnboarding;->maybeShowNotification(J)V
+PLcom/android/server/wifi/WifiApConfigStore;->apBandCheckConvert(Landroid/net/wifi/WifiConfiguration;)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/WifiApConfigStore;->getApConfiguration()Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/WifiBackupRestore;->retrieveBackupDataFromConfigurations(Ljava/util/List;)[B
+PLcom/android/server/wifi/WifiBackupRestore;->writeNetworkConfigurationsToXml(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
+PLcom/android/server/wifi/WifiCandidates$Candidate;->getEventStatistics(Lcom/android/server/wifi/WifiScoreCardProto$Event;)Lcom/android/server/wifi/WifiScoreCardProto$Signal;
+PLcom/android/server/wifi/WifiCandidates$Candidate;->getFrequency()I
+PLcom/android/server/wifi/WifiCandidates$Candidate;->getScanRssi()I
+PLcom/android/server/wifi/WifiCandidates$CandidateImpl;->getEvaluatorIndex()I
+PLcom/android/server/wifi/WifiCandidates$CandidateImpl;->getEvaluatorScore()I
+PLcom/android/server/wifi/WifiCandidates$CandidateImpl;->getEventStatistics(Lcom/android/server/wifi/WifiScoreCardProto$Event;)Lcom/android/server/wifi/WifiScoreCardProto$Signal;
+PLcom/android/server/wifi/WifiCandidates$CandidateImpl;->getFrequency()I
+PLcom/android/server/wifi/WifiCandidates$CandidateImpl;->getKey()Lcom/android/server/wifi/WifiCandidates$Key;
+PLcom/android/server/wifi/WifiCandidates$CandidateImpl;->getLastSelectionWeight()D
+PLcom/android/server/wifi/WifiCandidates$CandidateImpl;->getNetworkConfigId()I
+PLcom/android/server/wifi/WifiCandidates$CandidateImpl;->getScanDetail()Lcom/android/server/wifi/ScanDetail;
+PLcom/android/server/wifi/WifiCandidates$CandidateImpl;->getScanRssi()I
+PLcom/android/server/wifi/WifiCandidates$CandidateImpl;->isOpenNetwork()Z
+PLcom/android/server/wifi/WifiCandidates$Key;->hashCode()I
+PLcom/android/server/wifi/WifiCandidates$ScoredCandidate;-><init>(DDLcom/android/server/wifi/WifiCandidates$Candidate;)V
+PLcom/android/server/wifi/WifiCandidates;-><init>(Lcom/android/server/wifi/WifiScoreCard;)V
+PLcom/android/server/wifi/WifiCandidates;->add(Lcom/android/server/wifi/ScanDetail;Landroid/net/wifi/WifiConfiguration;II)Z
+PLcom/android/server/wifi/WifiCandidates;->add(Lcom/android/server/wifi/ScanDetail;Landroid/net/wifi/WifiConfiguration;IID)Z
+PLcom/android/server/wifi/WifiCandidates;->choose(Lcom/android/server/wifi/WifiCandidates$CandidateScorer;)Lcom/android/server/wifi/WifiCandidates$ScoredCandidate;
+PLcom/android/server/wifi/WifiCandidates;->getGroupedCandidates()Ljava/util/Collection;
+PLcom/android/server/wifi/WifiCandidates;->size()I
+PLcom/android/server/wifi/WifiConfigManager$1;->compareNetworksWithSameStatus(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiConfiguration;)I
+PLcom/android/server/wifi/WifiConfigManager;->addToChannelSetForNetworkFromScanDetailCache(Ljava/util/Set;Lcom/android/server/wifi/ScanDetailCache;JJI)Z
+PLcom/android/server/wifi/WifiConfigManager;->attemptNetworkLinking(Landroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/WifiConfigManager;->clearNetworkCandidateScanResult(I)Z
+PLcom/android/server/wifi/WifiConfigManager;->clearRecentFailureReason(I)V
+PLcom/android/server/wifi/WifiConfigManager;->createDebugTimeStampString(J)Ljava/lang/String;
+PLcom/android/server/wifi/WifiConfigManager;->fetchChannelSetForNetworkForPnoScan(IJ)Ljava/util/Set;
+PLcom/android/server/wifi/WifiConfigManager;->generateRandomizedMacAddresses()V
+PLcom/android/server/wifi/WifiConfigManager;->getConfiguredNetwork(I)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/WifiConfigManager;->getConfiguredNetwork(Ljava/lang/String;)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/WifiConfigManager;->getConfiguredNetworkForScanDetail(Lcom/android/server/wifi/ScanDetail;)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/WifiConfigManager;->getConfiguredNetworkForScanDetailAndCache(Lcom/android/server/wifi/ScanDetail;)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/WifiConfigManager;->getConfiguredNetworkWithoutMasking(I)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/WifiConfigManager;->getConfiguredNetworks()Ljava/util/List;
+PLcom/android/server/wifi/WifiConfigManager;->getConfiguredNetworks(ZZI)Ljava/util/List;
+PLcom/android/server/wifi/WifiConfigManager;->getConfiguredNetworksWithPasswords()Ljava/util/List;
+PLcom/android/server/wifi/WifiConfigManager;->getInternalConfiguredNetwork(I)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/WifiConfigManager;->getLastSelectedNetwork()I
+PLcom/android/server/wifi/WifiConfigManager;->getLastSelectedNetworkConfigKey()Ljava/lang/String;
+PLcom/android/server/wifi/WifiConfigManager;->getOrCreateScanDetailCacheForNetwork(Landroid/net/wifi/WifiConfiguration;)Lcom/android/server/wifi/ScanDetailCache;
+PLcom/android/server/wifi/WifiConfigManager;->getSavedNetworks(I)Ljava/util/List;
+PLcom/android/server/wifi/WifiConfigManager;->getScanDetailCacheForNetwork(I)Lcom/android/server/wifi/ScanDetailCache;
+PLcom/android/server/wifi/WifiConfigManager;->handleUserStop(I)V
+PLcom/android/server/wifi/WifiConfigManager;->handleUserUnlock(I)V
+PLcom/android/server/wifi/WifiConfigManager;->handleUserUnlockOrSwitch(I)V
+PLcom/android/server/wifi/WifiConfigManager;->incrementNetworkNoInternetAccessReports(I)Z
+PLcom/android/server/wifi/WifiConfigManager;->isSimPresent()Z
+PLcom/android/server/wifi/WifiConfigManager;->linkNetworks(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/WifiConfigManager;->loadFromStore()Z
+PLcom/android/server/wifi/WifiConfigManager;->loadFromUserStoreAfterUnlockOrSwitch(I)Z
+PLcom/android/server/wifi/WifiConfigManager;->loadInternalData(Ljava/util/List;Ljava/util/List;Ljava/util/Map;Ljava/util/Map;)V
+PLcom/android/server/wifi/WifiConfigManager;->loadInternalData(Ljava/util/List;Ljava/util/List;Ljava/util/Set;Ljava/util/Map;)V
+PLcom/android/server/wifi/WifiConfigManager;->loadInternalDataFromSharedStore(Ljava/util/List;Ljava/util/Map;)V
+PLcom/android/server/wifi/WifiConfigManager;->loadInternalDataFromUserStore(Ljava/util/List;Ljava/util/Map;)V
+PLcom/android/server/wifi/WifiConfigManager;->loadInternalDataFromUserStore(Ljava/util/List;Ljava/util/Set;)V
+PLcom/android/server/wifi/WifiConfigManager;->maskPasswordsInWifiConfiguration(Landroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/WifiConfigManager;->migrateFromLegacyStore()Z
+PLcom/android/server/wifi/WifiConfigManager;->removeAllEphemeralOrPasspointConfiguredNetworks()Z
+PLcom/android/server/wifi/WifiConfigManager;->resetSimNetworks(Z)V
+PLcom/android/server/wifi/WifiConfigManager;->retrieveHiddenNetworkList()Ljava/util/List;
+PLcom/android/server/wifi/WifiConfigManager;->retrievePnoNetworkList()Ljava/util/List;
+PLcom/android/server/wifi/WifiConfigManager;->saveToScanDetailCacheForNetwork(Landroid/net/wifi/WifiConfiguration;Lcom/android/server/wifi/ScanDetail;)V
+PLcom/android/server/wifi/WifiConfigManager;->sendConfiguredNetworkChangedBroadcast(Landroid/net/wifi/WifiConfiguration;I)V
+PLcom/android/server/wifi/WifiConfigManager;->setNetworkCandidateScanResult(ILandroid/net/wifi/ScanResult;I)Z
+PLcom/android/server/wifi/WifiConfigManager;->setNetworkRandomizedMacAddress(ILandroid/net/MacAddress;)Z
+PLcom/android/server/wifi/WifiConfigManager;->setNetworkSelectionStatus(Landroid/net/wifi/WifiConfiguration;I)Z
+PLcom/android/server/wifi/WifiConfigManager;->setNetworkValidatedInternetAccess(IZ)Z
+PLcom/android/server/wifi/WifiConfigManager;->setRecentFailureAssociationStatus(II)V
+PLcom/android/server/wifi/WifiConfigManager;->shouldNetworksBeLinked(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiConfiguration;Lcom/android/server/wifi/ScanDetailCache;Lcom/android/server/wifi/ScanDetailCache;)Z
+PLcom/android/server/wifi/WifiConfigManager;->tryEnableNetwork(I)Z
+PLcom/android/server/wifi/WifiConfigManager;->tryEnableNetwork(Landroid/net/wifi/WifiConfiguration;)Z
+PLcom/android/server/wifi/WifiConfigManager;->unlinkNetworks(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/WifiConfigManager;->updateNetworkAfterConnect(I)Z
+PLcom/android/server/wifi/WifiConfigManager;->updateNetworkAfterDisconnect(I)Z
+PLcom/android/server/wifi/WifiConfigManager;->updateNetworkSelectionStatus(II)Z
+PLcom/android/server/wifi/WifiConfigManager;->updateNetworkSelectionStatus(Landroid/net/wifi/WifiConfiguration;I)Z
+PLcom/android/server/wifi/WifiConfigManager;->updateScanDetailCacheFromWifiInfo(Landroid/net/wifi/WifiInfo;)V
+PLcom/android/server/wifi/WifiConfigManager;->wasEphemeralNetworkDeleted(Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiConfigStore$2;->onAlarm()V
+PLcom/android/server/wifi/WifiConfigStore$StoreFile;->readRawData()[B
+PLcom/android/server/wifi/WifiConfigStore$StoreFile;->storeRawDataToWrite([B)V
+PLcom/android/server/wifi/WifiConfigStore$StoreFile;->writeBufferedRawData()V
+PLcom/android/server/wifi/WifiConfigStore;->deserializeData([BLcom/android/server/wifi/WifiConfigStore$StoreFile;)V
+PLcom/android/server/wifi/WifiConfigStore;->parseDocumentStartAndVersionFromXml(Lorg/xmlpull/v1/XmlPullParser;)I
+PLcom/android/server/wifi/WifiConfigStore;->read()V
+PLcom/android/server/wifi/WifiConfigStore;->serializeData(Lcom/android/server/wifi/WifiConfigStore$StoreFile;)[B
+PLcom/android/server/wifi/WifiConfigStore;->switchUserStoresAndRead(Ljava/util/List;)V
+PLcom/android/server/wifi/WifiConfigStore;->write(Z)V
+PLcom/android/server/wifi/WifiConfigStore;->writeBufferedData()V
+PLcom/android/server/wifi/WifiConfigStoreLegacy;->areStoresPresent()Z
+PLcom/android/server/wifi/WifiConfigurationUtil$WifiConfigurationComparator;->compare(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiConfiguration;)I
+PLcom/android/server/wifi/WifiConfigurationUtil$WifiConfigurationComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/wifi/WifiConfigurationUtil;->createPnoNetwork(Landroid/net/wifi/WifiConfiguration;)Landroid/net/wifi/WifiScanner$PnoSettings$PnoNetwork;
+PLcom/android/server/wifi/WifiConfigurationUtil;->hasCredentialChanged(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiConfiguration;)Z
+PLcom/android/server/wifi/WifiConfigurationUtil;->hasEnterpriseConfigChanged(Landroid/net/wifi/WifiEnterpriseConfig;Landroid/net/wifi/WifiEnterpriseConfig;)Z
+PLcom/android/server/wifi/WifiConfigurationUtil;->isConfigForOpenNetwork(Landroid/net/wifi/WifiConfiguration;)Z
+PLcom/android/server/wifi/WifiConfigurationUtil;->isSameNetwork(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiConfiguration;)Z
+PLcom/android/server/wifi/WifiConnectivityHelper;->getFirmwareRoamingInfo()Z
+PLcom/android/server/wifi/WifiConnectivityHelper;->getMaxNumBlacklistBssid()I
+PLcom/android/server/wifi/WifiConnectivityHelper;->isFirmwareRoamingSupported()Z
+PLcom/android/server/wifi/WifiConnectivityHelper;->setFirmwareRoamingConfiguration(Ljava/util/ArrayList;Ljava/util/ArrayList;)Z
+PLcom/android/server/wifi/WifiConnectivityManager$1;->onAlarm()V
+PLcom/android/server/wifi/WifiConnectivityManager$2;->onAlarm()V
+PLcom/android/server/wifi/WifiConnectivityManager$3;->onAlarm()V
+PLcom/android/server/wifi/WifiConnectivityManager$AllSingleScanListener;->clearScanDetails()V
+PLcom/android/server/wifi/WifiConnectivityManager$AllSingleScanListener;->onFullResult(Landroid/net/wifi/ScanResult;)V
+PLcom/android/server/wifi/WifiConnectivityManager$AllSingleScanListener;->onResults([Landroid/net/wifi/WifiScanner$ScanData;)V
+PLcom/android/server/wifi/WifiConnectivityManager$AllSingleScanListener;->onSuccess()V
+PLcom/android/server/wifi/WifiConnectivityManager$OnSavedNetworkUpdateListener;->onSavedNetworkEnabled(I)V
+PLcom/android/server/wifi/WifiConnectivityManager$OnSavedNetworkUpdateListener;->onSavedNetworkTemporarilyDisabled(II)V
+PLcom/android/server/wifi/WifiConnectivityManager$PnoScanListener;->clearScanDetails()V
+PLcom/android/server/wifi/WifiConnectivityManager$PnoScanListener;->onPnoNetworkFound([Landroid/net/wifi/ScanResult;)V
+PLcom/android/server/wifi/WifiConnectivityManager$PnoScanListener;->onSuccess()V
+PLcom/android/server/wifi/WifiConnectivityManager$PnoScanListener;->resetLowRssiNetworkRetryDelay()V
+PLcom/android/server/wifi/WifiConnectivityManager$RestartSingleScanListener;->onAlarm()V
+PLcom/android/server/wifi/WifiConnectivityManager$SingleScanListener;->onFailure(ILjava/lang/String;)V
+PLcom/android/server/wifi/WifiConnectivityManager$SingleScanListener;->onFullResult(Landroid/net/wifi/ScanResult;)V
+PLcom/android/server/wifi/WifiConnectivityManager$SingleScanListener;->onResults([Landroid/net/wifi/WifiScanner$ScanData;)V
+PLcom/android/server/wifi/WifiConnectivityManager$SingleScanListener;->onSuccess()V
+PLcom/android/server/wifi/WifiConnectivityManager;->buildBssidBlacklist()Ljava/util/HashSet;
+PLcom/android/server/wifi/WifiConnectivityManager;->connectToNetwork(Landroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/WifiConnectivityManager;->enable(Z)V
+PLcom/android/server/wifi/WifiConnectivityManager;->forceConnectivityScan(Landroid/os/WorkSource;)V
+PLcom/android/server/wifi/WifiConnectivityManager;->handleConnectionAttemptEnded(I)V
+PLcom/android/server/wifi/WifiConnectivityManager;->handleConnectionStateChanged(I)V
+PLcom/android/server/wifi/WifiConnectivityManager;->handleScanResults(Ljava/util/List;Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiConnectivityManager;->isBssidDisabled(Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiConnectivityManager;->refreshBssidBlacklist()V
+PLcom/android/server/wifi/WifiConnectivityManager;->setTrustedConnectionAllowed(Z)V
+PLcom/android/server/wifi/WifiConnectivityManager;->setWifiEnabled(Z)V
+PLcom/android/server/wifi/WifiConnectivityManager;->shouldSkipConnectionAttempt(Ljava/lang/Long;)Z
+PLcom/android/server/wifi/WifiConnectivityManager;->startDisconnectedPnoScan()V
+PLcom/android/server/wifi/WifiConnectivityManager;->startPeriodicSingleScan()V
+PLcom/android/server/wifi/WifiConnectivityManager;->startSingleScan(ZLandroid/os/WorkSource;)V
+PLcom/android/server/wifi/WifiConnectivityManager;->stop()V
+PLcom/android/server/wifi/WifiConnectivityManager;->trackBssid(Ljava/lang/String;ZI)Z
+PLcom/android/server/wifi/WifiConnectivityManager;->updateBssidBlacklist(Ljava/lang/String;ZI)Z
+PLcom/android/server/wifi/WifiConnectivityManager;->updateFirmwareRoamingConfiguration()V
+PLcom/android/server/wifi/WifiCountryCode;->setCountryCode(Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiCountryCode;->setCountryCodeNative(Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiCountryCode;->setReadyForChange(Z)V
+PLcom/android/server/wifi/WifiDataStall;->checkForDataStall(Lcom/android/server/wifi/WifiLinkLayerStats;Lcom/android/server/wifi/WifiLinkLayerStats;)I
+PLcom/android/server/wifi/WifiDiagnostics$1;->onWifiAlert(I[B)V
+PLcom/android/server/wifi/WifiDiagnostics$2;->compare(Lcom/android/server/wifi/WifiNative$FateReport;Lcom/android/server/wifi/WifiNative$FateReport;)I
+PLcom/android/server/wifi/WifiDiagnostics$2;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/wifi/WifiDiagnostics$BugReport;->clearVerboseLogs()V
+PLcom/android/server/wifi/WifiDiagnostics;->captureAlertData(I[B)V
+PLcom/android/server/wifi/WifiDiagnostics;->captureBugReportData(I)V
+PLcom/android/server/wifi/WifiDiagnostics;->captureBugreport(IZ)Lcom/android/server/wifi/WifiDiagnostics$BugReport;
+PLcom/android/server/wifi/WifiDiagnostics;->fetchPacketFates()Ljava/util/ArrayList;
+PLcom/android/server/wifi/WifiDiagnostics;->flushDump(I)Z
+PLcom/android/server/wifi/WifiDiagnostics;->getLogcat(I)Ljava/util/ArrayList;
+PLcom/android/server/wifi/WifiDiagnostics;->onWifiAlert(I[B)V
+PLcom/android/server/wifi/WifiDiagnostics;->reportConnectionEvent(B)V
+PLcom/android/server/wifi/WifiDiagnostics;->stopLogging()V
+PLcom/android/server/wifi/WifiInjector;->getWakeupController()Lcom/android/server/wifi/WakeupController;
+PLcom/android/server/wifi/WifiInjector;->getWifiLastResortWatchdog()Lcom/android/server/wifi/WifiLastResortWatchdog;
+PLcom/android/server/wifi/WifiLastResortWatchdog$AvailableNetworkFailureCount;->incrementFailureCount(I)V
+PLcom/android/server/wifi/WifiLastResortWatchdog$AvailableNetworkFailureCount;->resetCounts()V
+PLcom/android/server/wifi/WifiLastResortWatchdog;->checkTriggerCondition()Z
+PLcom/android/server/wifi/WifiLastResortWatchdog;->clearAllFailureCounts()V
+PLcom/android/server/wifi/WifiLastResortWatchdog;->connectedStateTransition(Z)V
+PLcom/android/server/wifi/WifiLastResortWatchdog;->getFailureCount(Ljava/lang/String;I)I
+PLcom/android/server/wifi/WifiLastResortWatchdog;->incrementBssidFailureCount(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/wifi/WifiLastResortWatchdog;->incrementSsidFailureCount(Ljava/lang/String;I)V
+PLcom/android/server/wifi/WifiLastResortWatchdog;->isOverFailureThreshold(Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiLastResortWatchdog;->noteConnectionFailureAndTriggerIfNeeded(Ljava/lang/String;Ljava/lang/String;I)Z
+PLcom/android/server/wifi/WifiLastResortWatchdog;->updateAvailableNetworks(Ljava/util/List;)V
+PLcom/android/server/wifi/WifiLastResortWatchdog;->updateFailureCountForNetwork(Ljava/lang/String;Ljava/lang/String;I)V
+PLcom/android/server/wifi/WifiLockManager$WifiLock;-><init>(Lcom/android/server/wifi/WifiLockManager;ILjava/lang/String;Landroid/os/IBinder;Landroid/os/WorkSource;)V
+PLcom/android/server/wifi/WifiLockManager$WifiLock;->binderDied()V
+PLcom/android/server/wifi/WifiLockManager$WifiLock;->getBinder()Landroid/os/IBinder;
+PLcom/android/server/wifi/WifiLockManager$WifiLock;->unlinkDeathRecipient()V
+PLcom/android/server/wifi/WifiLockManager;->acquireWifiLock(ILjava/lang/String;Landroid/os/IBinder;Landroid/os/WorkSource;)Z
+PLcom/android/server/wifi/WifiLockManager;->addLock(Lcom/android/server/wifi/WifiLockManager$WifiLock;)Z
+PLcom/android/server/wifi/WifiLockManager;->findLockByBinder(Landroid/os/IBinder;)Lcom/android/server/wifi/WifiLockManager$WifiLock;
+PLcom/android/server/wifi/WifiLockManager;->getStrongestLockMode()I
+PLcom/android/server/wifi/WifiLockManager;->handleScreenStateChanged(Z)V
+PLcom/android/server/wifi/WifiLockManager;->releaseLock(Landroid/os/IBinder;)Z
+PLcom/android/server/wifi/WifiLockManager;->releaseWifiLock(Landroid/os/IBinder;)Z
+PLcom/android/server/wifi/WifiLockManager;->removeLock(Landroid/os/IBinder;)Lcom/android/server/wifi/WifiLockManager$WifiLock;
+PLcom/android/server/wifi/WifiLockManager;->setBlameHiPerfWs(Landroid/os/WorkSource;Z)V
+PLcom/android/server/wifi/WifiLockManager;->updateOpMode()Z
+PLcom/android/server/wifi/WifiMetrics$1;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wifi/WifiMetrics$ConnectionEvent;-><init>(Lcom/android/server/wifi/WifiMetrics;)V
+PLcom/android/server/wifi/WifiMetrics$RouterFingerPrint;->updateFromWifiConfiguration(Landroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/WifiMetrics;->addStaEvent(Lcom/android/server/wifi/nano/WifiMetricsProto$StaEvent;)V
+PLcom/android/server/wifi/WifiMetrics;->addToWifiUsabilityStatsList(II)V
+PLcom/android/server/wifi/WifiMetrics;->clear()V
+PLcom/android/server/wifi/WifiMetrics;->consolidateProto()V
+PLcom/android/server/wifi/WifiMetrics;->consolidateScoringParams()V
+PLcom/android/server/wifi/WifiMetrics;->countScanResults(Ljava/util/List;)V
+PLcom/android/server/wifi/WifiMetrics;->createConfigInfo(Landroid/net/wifi/WifiConfiguration;)Lcom/android/server/wifi/nano/WifiMetricsProto$StaEvent$ConfigInfo;
+PLcom/android/server/wifi/WifiMetrics;->createNewWifiUsabilityStatsEntry(Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;)Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;
+PLcom/android/server/wifi/WifiMetrics;->createNewWifiUsabilityStatsEntryParcelable(Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStatsEntry;)Landroid/net/wifi/WifiUsabilityStatsEntry;
+PLcom/android/server/wifi/WifiMetrics;->createWifiUsabilityStatsWithLabel(II)Lcom/android/server/wifi/nano/WifiMetricsProto$WifiUsabilityStats;
+PLcom/android/server/wifi/WifiMetrics;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiMetrics;->endConnectionEvent(II)V
+PLcom/android/server/wifi/WifiMetrics;->getHandler()Landroid/os/Handler;
+PLcom/android/server/wifi/WifiMetrics;->getOrCreateDeviceMobilityStatePnoScanStats(I)Lcom/android/server/wifi/nano/WifiMetricsProto$DeviceMobilityStatePnoScanStats;
+PLcom/android/server/wifi/WifiMetrics;->handlePollResult(Landroid/net/wifi/WifiInfo;)V
+PLcom/android/server/wifi/WifiMetrics;->increment80211mcAps(Landroid/util/SparseIntArray;I)V
+PLcom/android/server/wifi/WifiMetrics;->incrementAlertReasonCount(I)V
+PLcom/android/server/wifi/WifiMetrics;->incrementAvailableNetworksHistograms(Ljava/util/List;Z)V
+PLcom/android/server/wifi/WifiMetrics;->incrementBssid(Landroid/util/SparseIntArray;I)V
+PLcom/android/server/wifi/WifiMetrics;->incrementConnectToNetworkNotification(Ljava/lang/String;I)V
+PLcom/android/server/wifi/WifiMetrics;->incrementConnectivityOneshotScanCount()V
+PLcom/android/server/wifi/WifiMetrics;->incrementEmptyScanResultCount()V
+PLcom/android/server/wifi/WifiMetrics;->incrementExternalAppOneshotScanRequestsCount()V
+PLcom/android/server/wifi/WifiMetrics;->incrementExternalForegroundAppOneshotScanRequestsThrottledCount()V
+PLcom/android/server/wifi/WifiMetrics;->incrementLinkSpeedCount(II)V
+PLcom/android/server/wifi/WifiMetrics;->incrementNonEmptyScanResultCount()V
+PLcom/android/server/wifi/WifiMetrics;->incrementNumConnectivityWatchdogPnoBad()V
+PLcom/android/server/wifi/WifiMetrics;->incrementNumConnectivityWatchdogPnoGood()V
+PLcom/android/server/wifi/WifiMetrics;->incrementNumNetworkRecommendationUpdates(Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiMetrics;->incrementOneshotScanCount()V
+PLcom/android/server/wifi/WifiMetrics;->incrementOneshotScanWithDfsCount()V
+PLcom/android/server/wifi/WifiMetrics;->incrementPasspointPerUniqueEss(Landroid/util/SparseIntArray;I)V
+PLcom/android/server/wifi/WifiMetrics;->incrementPnoFoundNetworkEventCount()V
+PLcom/android/server/wifi/WifiMetrics;->incrementPnoScanFailedCount()V
+PLcom/android/server/wifi/WifiMetrics;->incrementPnoScanStartAttempCount()V
+PLcom/android/server/wifi/WifiMetrics;->incrementRssiPollRssiCount(II)V
+PLcom/android/server/wifi/WifiMetrics;->incrementSsid(Landroid/util/SparseIntArray;I)V
+PLcom/android/server/wifi/WifiMetrics;->incrementTotalPasspointAps(Landroid/util/SparseIntArray;I)V
+PLcom/android/server/wifi/WifiMetrics;->incrementTotalScanResults(Landroid/util/SparseIntArray;I)V
+PLcom/android/server/wifi/WifiMetrics;->incrementTotalScanSsids(Landroid/util/SparseIntArray;I)V
+PLcom/android/server/wifi/WifiMetrics;->incrementTotalUniquePasspointEss(Landroid/util/SparseIntArray;I)V
+PLcom/android/server/wifi/WifiMetrics;->incrementWifiLinkLayerUsageStats(Lcom/android/server/wifi/WifiLinkLayerStats;)V
+PLcom/android/server/wifi/WifiMetrics;->incrementWifiScoreCount(I)V
+PLcom/android/server/wifi/WifiMetrics;->incrementWifiSystemScanStateCount(IZ)V
+PLcom/android/server/wifi/WifiMetrics;->logFirmwareAlert(I)V
+PLcom/android/server/wifi/WifiMetrics;->logNetworkSelectionDecision(IIZI)V
+PLcom/android/server/wifi/WifiMetrics;->logPnoScanStart()V
+PLcom/android/server/wifi/WifiMetrics;->logPnoScanStop()V
+PLcom/android/server/wifi/WifiMetrics;->logStaEvent(I)V
+PLcom/android/server/wifi/WifiMetrics;->logStaEvent(II)V
+PLcom/android/server/wifi/WifiMetrics;->logStaEvent(IILandroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/WifiMetrics;->logStaEvent(ILandroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/WifiMetrics;->logWifiIsUnusableEvent(I)V
+PLcom/android/server/wifi/WifiMetrics;->logWifiIsUnusableEvent(II)V
+PLcom/android/server/wifi/WifiMetrics;->makeNetworkSelectionExperimentDecisionsList()[Lcom/android/server/wifi/nano/WifiMetricsProto$NetworkSelectionExperimentDecisions;
+PLcom/android/server/wifi/WifiMetrics;->makeNumConnectableNetworksBucketArray(Landroid/util/SparseIntArray;)[Lcom/android/server/wifi/nano/WifiMetricsProto$NumConnectableNetworksBucket;
+PLcom/android/server/wifi/WifiMetrics;->makeWifiConfigStoreIODurationBucketArray(Landroid/util/SparseIntArray;)[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiConfigStoreIO$DurationBucket;
+PLcom/android/server/wifi/WifiMetrics;->maybeIncrementRssiDeltaCount(I)V
+PLcom/android/server/wifi/WifiMetrics;->noteWifiConfigStoreReadDuration(I)V
+PLcom/android/server/wifi/WifiMetrics;->noteWifiConfigStoreWriteDuration(I)V
+PLcom/android/server/wifi/WifiMetrics;->processMessage(Landroid/os/Message;)V
+PLcom/android/server/wifi/WifiMetrics;->resetWifiIsUnusableLinkLayerStats()V
+PLcom/android/server/wifi/WifiMetrics;->sendWifiUsabilityStats(IZLandroid/net/wifi/WifiUsabilityStatsEntry;)V
+PLcom/android/server/wifi/WifiMetrics;->setConnectionScanDetail(Lcom/android/server/wifi/ScanDetail;)V
+PLcom/android/server/wifi/WifiMetrics;->setNetworkRecommenderBlacklistSize(Ljava/lang/String;I)V
+PLcom/android/server/wifi/WifiMetrics;->setWifiState(I)V
+PLcom/android/server/wifi/WifiMetrics;->startConnectionEvent(Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;I)V
+PLcom/android/server/wifi/WifiMetrics;->supplicantStateToBit(Landroid/net/wifi/SupplicantState;)I
+PLcom/android/server/wifi/WifiMetrics;->updateMetricsFromNetworkDetail(Lcom/android/server/wifi/hotspot2/NetworkDetail;)V
+PLcom/android/server/wifi/WifiMetrics;->updateMetricsFromScanResult(Landroid/net/wifi/ScanResult;)V
+PLcom/android/server/wifi/WifiMetrics;->updateSavedNetworks(Ljava/util/List;)V
+PLcom/android/server/wifi/WifiMetrics;->updateSavedPasspointProfiles(II)V
+PLcom/android/server/wifi/WifiMetrics;->updateSavedPasspointProfilesInfo(Ljava/util/Map;)V
+PLcom/android/server/wifi/WifiMetrics;->updateWifiIsUnusableLinkLayerStats(JJJJJ)V
+PLcom/android/server/wifi/WifiMetrics;->updateWifiUsabilityStatsEntries(Landroid/net/wifi/WifiInfo;Lcom/android/server/wifi/WifiLinkLayerStats;)V
+PLcom/android/server/wifi/WifiMonitor;->broadcastAnqpDoneEvent(Ljava/lang/String;Lcom/android/server/wifi/hotspot2/AnqpEvent;)V
+PLcom/android/server/wifi/WifiMonitor;->broadcastAssociatedBssidEvent(Ljava/lang/String;Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiMonitor;->broadcastAssociationRejectionEvent(Ljava/lang/String;IZLjava/lang/String;)V
+PLcom/android/server/wifi/WifiMonitor;->broadcastNetworkConnectionEvent(Ljava/lang/String;ILjava/lang/String;)V
+PLcom/android/server/wifi/WifiMonitor;->broadcastNetworkDisconnectionEvent(Ljava/lang/String;IILjava/lang/String;)V
+PLcom/android/server/wifi/WifiMonitor;->broadcastPnoScanResultEvent(Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiMonitor;->broadcastScanFailedEvent(Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiMonitor;->broadcastScanResultEvent(Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiMonitor;->broadcastSupplicantStateChangeEvent(Ljava/lang/String;ILandroid/net/wifi/WifiSsid;Ljava/lang/String;Landroid/net/wifi/SupplicantState;)V
+PLcom/android/server/wifi/WifiMulticastLockManager$Multicaster;-><init>(Lcom/android/server/wifi/WifiMulticastLockManager;Ljava/lang/String;Landroid/os/IBinder;)V
+PLcom/android/server/wifi/WifiMulticastLockManager$Multicaster;->binderDied()V
+PLcom/android/server/wifi/WifiMulticastLockManager$Multicaster;->getTag()Ljava/lang/String;
+PLcom/android/server/wifi/WifiMulticastLockManager$Multicaster;->getUid()I
+PLcom/android/server/wifi/WifiMulticastLockManager$Multicaster;->unlinkDeathRecipient()V
+PLcom/android/server/wifi/WifiMulticastLockManager;->acquireLock(Landroid/os/IBinder;Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiMulticastLockManager;->releaseLock(Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiMulticastLockManager;->removeMulticasterLocked(IILjava/lang/String;)V
+PLcom/android/server/wifi/WifiNative$FateReport;->convertDriverTimestampUSecToWallclockMSec(J)J
+PLcom/android/server/wifi/WifiNative$HiddenNetwork;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/wifi/WifiNative;->configureNeighborDiscoveryOffload(Ljava/lang/String;Z)Z
+PLcom/android/server/wifi/WifiNative;->configureRoaming(Ljava/lang/String;Lcom/android/server/wifi/WifiNative$RoamingConfig;)Z
+PLcom/android/server/wifi/WifiNative;->connectToNetwork(Ljava/lang/String;Landroid/net/wifi/WifiConfiguration;)Z
+PLcom/android/server/wifi/WifiNative;->disconnect(Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiNative;->enableStaAutoReconnect(Ljava/lang/String;Z)Z
+PLcom/android/server/wifi/WifiNative;->flushRingBufferData()Z
+PLcom/android/server/wifi/WifiNative;->getApfCapabilities(Ljava/lang/String;)Landroid/net/apf/ApfCapabilities;
+PLcom/android/server/wifi/WifiNative;->getFactoryMacAddress(Ljava/lang/String;)Landroid/net/MacAddress;
+PLcom/android/server/wifi/WifiNative;->getMacAddress(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/wifi/WifiNative;->getPnoScanResults(Ljava/lang/String;)Ljava/util/ArrayList;
+PLcom/android/server/wifi/WifiNative;->getRingBufferData(Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiNative;->getRoamingCapabilities(Ljava/lang/String;Lcom/android/server/wifi/WifiNative$RoamingCapabilities;)Z
+PLcom/android/server/wifi/WifiNative;->getRxPktFates(Ljava/lang/String;[Lcom/android/server/wifi/WifiNative$RxFateReport;)Z
+PLcom/android/server/wifi/WifiNative;->getScanResults(Ljava/lang/String;)Ljava/util/ArrayList;
+PLcom/android/server/wifi/WifiNative;->getTxPktFates(Ljava/lang/String;[Lcom/android/server/wifi/WifiNative$TxFateReport;)Z
+PLcom/android/server/wifi/WifiNative;->getWifiLinkLayerStats(Ljava/lang/String;)Lcom/android/server/wifi/WifiLinkLayerStats;
+PLcom/android/server/wifi/WifiNative;->installPacketFilter(Ljava/lang/String;[B)Z
+PLcom/android/server/wifi/WifiNative;->onClientInterfaceForConnectivityDestroyed(Lcom/android/server/wifi/WifiNative$Iface;)V
+PLcom/android/server/wifi/WifiNative;->readKernelLog()Ljava/lang/String;
+PLcom/android/server/wifi/WifiNative;->removeAllNetworks(Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiNative;->requestAnqp(Ljava/lang/String;Ljava/lang/String;Ljava/util/Set;Ljava/util/Set;)Z
+PLcom/android/server/wifi/WifiNative;->resetLogHandler()Z
+PLcom/android/server/wifi/WifiNative;->scan(Ljava/lang/String;ILjava/util/Set;Ljava/util/Set;)Z
+PLcom/android/server/wifi/WifiNative;->setBluetoothCoexistenceMode(Ljava/lang/String;I)Z
+PLcom/android/server/wifi/WifiNative;->setBluetoothCoexistenceScanMode(Ljava/lang/String;Z)Z
+PLcom/android/server/wifi/WifiNative;->setConcurrencyPriority(Z)Z
+PLcom/android/server/wifi/WifiNative;->setConfiguredNetworkBSSID(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiNative;->setCountryCode(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiNative;->setExternalSim(Ljava/lang/String;Z)Z
+PLcom/android/server/wifi/WifiNative;->setMacAddress(Ljava/lang/String;Landroid/net/MacAddress;)Z
+PLcom/android/server/wifi/WifiNative;->setPowerSave(Ljava/lang/String;Z)V
+PLcom/android/server/wifi/WifiNative;->setScanningMacOui(Ljava/lang/String;[B)Z
+PLcom/android/server/wifi/WifiNative;->setSuspendOptimizations(Ljava/lang/String;Z)Z
+PLcom/android/server/wifi/WifiNative;->signalPoll(Ljava/lang/String;)Lcom/android/server/wifi/WifiNative$SignalPollResult;
+PLcom/android/server/wifi/WifiNative;->startLoggingRingBuffer(IIIILjava/lang/String;)Z
+PLcom/android/server/wifi/WifiNative;->startPnoScan(Ljava/lang/String;Lcom/android/server/wifi/WifiNative$PnoSettings;)Z
+PLcom/android/server/wifi/WifiNative;->startSendingOffloadedPacket(Ljava/lang/String;I[B[BII)I
+PLcom/android/server/wifi/WifiNative;->stopBgScan(Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiNative;->stopFilteringMulticastV4Packets(Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiNative;->stopFilteringMulticastV6Packets(Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiNative;->stopRssiMonitoring(Ljava/lang/String;)I
+PLcom/android/server/wifi/WifiNative;->stopSendingOffloadedPacket(Ljava/lang/String;I)I
+PLcom/android/server/wifi/WifiNative;->stopSupplicantIfNecessary()V
+PLcom/android/server/wifi/WifiNetworkFactory$NetworkRequestDataSource;->fromDeserialized(Ljava/util/Map;)V
+PLcom/android/server/wifi/WifiNetworkFactory$NetworkRequestDataSource;->toSerialize()Ljava/util/Map;
+PLcom/android/server/wifi/WifiNetworkFactory;->acceptRequest(Landroid/net/NetworkRequest;I)Z
+PLcom/android/server/wifi/WifiNetworkFactory;->getSpecificNetworkRequestUidAndPackageName(Landroid/net/wifi/WifiConfiguration;)Landroid/util/Pair;
+PLcom/android/server/wifi/WifiNetworkFactory;->handleConnectionAttemptEnded(ILandroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/WifiNetworkFactory;->handleNetworkConnectionFailure(Landroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/WifiNetworkFactory;->handleNetworkConnectionSuccess(Landroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/WifiNetworkFactory;->hasConnectionRequests()Z
+PLcom/android/server/wifi/WifiNetworkFactory;->needNetworkFor(Landroid/net/NetworkRequest;I)V
+PLcom/android/server/wifi/WifiNetworkFactory;->releaseNetworkFor(Landroid/net/NetworkRequest;)V
+PLcom/android/server/wifi/WifiNetworkFactory;->setWifiState(Z)V
+PLcom/android/server/wifi/WifiNetworkSelector;->calculateLastSelectionWeight()D
+PLcom/android/server/wifi/WifiNetworkSelector;->experimentIdFromIdentifier(Ljava/lang/String;)I
+PLcom/android/server/wifi/WifiNetworkSelector;->filterScanResults(Ljava/util/List;Ljava/util/HashSet;ZLjava/lang/String;)Ljava/util/List;
+PLcom/android/server/wifi/WifiNetworkSelector;->getConnectableScanDetails()Ljava/util/List;
+PLcom/android/server/wifi/WifiNetworkSelector;->getFilteredScanDetailsForCarrierUnsavedNetworks(Lcom/android/server/wifi/CarrierNetworkConfig;)Ljava/util/List;
+PLcom/android/server/wifi/WifiNetworkSelector;->getFilteredScanDetailsForOpenUnsavedNetworks()Ljava/util/List;
+PLcom/android/server/wifi/WifiNetworkSelector;->isCurrentNetworkSufficient(Landroid/net/wifi/WifiInfo;Ljava/util/List;)Z
+PLcom/android/server/wifi/WifiNetworkSelector;->isNetworkSelectionNeeded(Ljava/util/List;Landroid/net/wifi/WifiInfo;ZZ)Z
+PLcom/android/server/wifi/WifiNetworkSelector;->isSameNetworkSelection(Landroid/net/wifi/WifiConfiguration;Landroid/net/wifi/WifiConfiguration;)Z
+PLcom/android/server/wifi/WifiNetworkSelector;->isSignalTooWeak(Landroid/net/wifi/ScanResult;)Z
+PLcom/android/server/wifi/WifiNetworkSelector;->lambda$selectNetwork$0$WifiNetworkSelector(ILcom/android/server/wifi/WifiCandidates;IDLcom/android/server/wifi/ScanDetail;Landroid/net/wifi/WifiConfiguration;I)V
+PLcom/android/server/wifi/WifiNetworkSelector;->localLog(Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiNetworkSelector;->overrideCandidateWithUserConnectChoice(Landroid/net/wifi/WifiConfiguration;)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/WifiNetworkSelector;->selectNetwork(Ljava/util/List;Ljava/util/HashSet;Landroid/net/wifi/WifiInfo;ZZZ)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/WifiNetworkSelector;->toNetworkString(Landroid/net/wifi/WifiConfiguration;)Ljava/lang/String;
+PLcom/android/server/wifi/WifiNetworkSuggestionsManager$NetworkSuggestionDataSource;->hasNewDataToSerialize()Z
+PLcom/android/server/wifi/WifiNetworkSuggestionsManager;->getNetworkSuggestionsForScanDetail(Lcom/android/server/wifi/ScanDetail;)Ljava/util/Set;
+PLcom/android/server/wifi/WifiNetworkSuggestionsManager;->getNetworkSuggestionsForScanResultMatchInfo(Lcom/android/server/wifi/ScanResultMatchInfo;Landroid/net/MacAddress;)Ljava/util/Set;
+PLcom/android/server/wifi/WifiNetworkSuggestionsManager;->getNetworkSuggestionsForWifiConfiguration(Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;)Ljava/util/Set;
+PLcom/android/server/wifi/WifiNetworkSuggestionsManager;->handleConnectionAttemptEnded(ILandroid/net/wifi/WifiConfiguration;Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiNetworkSuggestionsManager;->handleConnectionSuccess(Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiNetworkSuggestionsManager;->handleDisconnect(Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiPowerMetrics;->buildProto()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiPowerStats;
+PLcom/android/server/wifi/WifiPowerMetrics;->buildWifiRadioUsageProto()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRadioUsage;
+PLcom/android/server/wifi/WifiPowerMetrics;->getStats()Landroid/os/connectivity/WifiBatteryStats;
+PLcom/android/server/wifi/WifiScoreCard$PerBssid;->finishPendingRead()V
+PLcom/android/server/wifi/WifiScoreCard$PerBssid;->lookupSignal(Lcom/android/server/wifi/WifiScoreCardProto$Event;I)Lcom/android/server/wifi/WifiScoreCard$PerSignal;
+PLcom/android/server/wifi/WifiScoreCard$PerBssid;->updateEventStats(Lcom/android/server/wifi/WifiScoreCardProto$Event;III)V
+PLcom/android/server/wifi/WifiScoreCard$PerSignal;-><init>(Lcom/android/server/wifi/WifiScoreCard;Lcom/android/server/wifi/WifiScoreCardProto$Event;I)V
+PLcom/android/server/wifi/WifiScoreCard$PerSignal;->toSignal()Lcom/android/server/wifi/WifiScoreCardProto$Signal;
+PLcom/android/server/wifi/WifiScoreCard$PerUnivariateStatistic;->toUnivariateStatistic()Lcom/android/server/wifi/WifiScoreCardProto$UnivariateStatistic;
+PLcom/android/server/wifi/WifiScoreCard$PerUnivariateStatistic;->update(D)V
+PLcom/android/server/wifi/WifiScoreCard;->lookupBssid(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/wifi/WifiScoreCard$PerBssid;
+PLcom/android/server/wifi/WifiScoreCard;->noteConnectionAttempt(Lcom/android/server/wifi/ExtendedWifiInfo;)V
+PLcom/android/server/wifi/WifiScoreCard;->noteConnectionFailure(Lcom/android/server/wifi/ExtendedWifiInfo;II)V
+PLcom/android/server/wifi/WifiScoreCard;->noteIpConfiguration(Lcom/android/server/wifi/ExtendedWifiInfo;)V
+PLcom/android/server/wifi/WifiScoreCard;->noteIpReachabilityLost(Lcom/android/server/wifi/ExtendedWifiInfo;)V
+PLcom/android/server/wifi/WifiScoreCard;->noteNetworkAgentCreated(Lcom/android/server/wifi/ExtendedWifiInfo;I)V
+PLcom/android/server/wifi/WifiScoreCard;->noteSignalPoll(Lcom/android/server/wifi/ExtendedWifiInfo;)V
+PLcom/android/server/wifi/WifiScoreCard;->noteSupplicantStateChanged(Lcom/android/server/wifi/ExtendedWifiInfo;)V
+PLcom/android/server/wifi/WifiScoreCard;->noteSupplicantStateChanging(Lcom/android/server/wifi/ExtendedWifiInfo;Landroid/net/wifi/SupplicantState;)V
+PLcom/android/server/wifi/WifiScoreCard;->noteWifiDisabled(Lcom/android/server/wifi/ExtendedWifiInfo;)V
+PLcom/android/server/wifi/WifiScoreCard;->resetConnectionState()V
+PLcom/android/server/wifi/WifiScoreCard;->update(Lcom/android/server/wifi/WifiScoreCardProto$Event;Lcom/android/server/wifi/ExtendedWifiInfo;)V
+PLcom/android/server/wifi/WifiScoreCardProto$Event$1;-><init>()V
+PLcom/android/server/wifi/WifiScoreCardProto$Event;-><init>(Ljava/lang/String;II)V
+PLcom/android/server/wifi/WifiScoreCardProto$Event;->values()[Lcom/android/server/wifi/WifiScoreCardProto$Event;
+PLcom/android/server/wifi/WifiScoreCardProto$SecurityType$1;-><init>()V
+PLcom/android/server/wifi/WifiScoreCardProto$SecurityType;-><init>(Ljava/lang/String;II)V
+PLcom/android/server/wifi/WifiScoreCardProto$SecurityType;->forNumber(I)Lcom/android/server/wifi/WifiScoreCardProto$SecurityType;
+PLcom/android/server/wifi/WifiScoreCardProto$Signal;-><init>()V
+PLcom/android/server/wifi/WifiScoreCardProto$Signal;->dynamicMethod(Lcom/google/protobuf/GeneratedMessageLite$MethodToInvoke;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wifi/WifiScoreCardProto$UnivariateStatistic;-><init>()V
+PLcom/android/server/wifi/WifiScoreCardProto$UnivariateStatistic;->dynamicMethod(Lcom/google/protobuf/GeneratedMessageLite$MethodToInvoke;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/android/server/wifi/WifiScoreReport;->calculateAndReportScore(Landroid/net/wifi/WifiInfo;Landroid/net/NetworkAgent;Lcom/android/server/wifi/WifiMetrics;)V
+PLcom/android/server/wifi/WifiScoreReport;->logLinkMetrics(Landroid/net/wifi/WifiInfo;JIIII)V
+PLcom/android/server/wifi/WifiScoreReport;->noteIpCheck()V
+PLcom/android/server/wifi/WifiScoreReport;->reset()V
+PLcom/android/server/wifi/WifiScoreReport;->shouldCheckIpLayer()Z
+PLcom/android/server/wifi/WifiService;->onStopUser(I)V
+PLcom/android/server/wifi/WifiService;->onUnlockUser(I)V
+PLcom/android/server/wifi/WifiServiceImpl$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/wifi/WifiServiceImpl$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/wifi/WifiServiceImpl;->acquireMulticastLock(Landroid/os/IBinder;Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiServiceImpl;->acquireWifiLock(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/WorkSource;)Z
+PLcom/android/server/wifi/WifiServiceImpl;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiServiceImpl;->enforceAccessPermission()V
+PLcom/android/server/wifi/WifiServiceImpl;->enforceChangePermission(Ljava/lang/String;)I
+PLcom/android/server/wifi/WifiServiceImpl;->getAllMatchingFqdnsForScanResults(Ljava/util/List;)Ljava/util/Map;
+PLcom/android/server/wifi/WifiServiceImpl;->getConfiguredNetworks(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/wifi/WifiServiceImpl;->getConnectionInfo(Ljava/lang/String;)Landroid/net/wifi/WifiInfo;
+PLcom/android/server/wifi/WifiServiceImpl;->getCurrentNetwork()Landroid/net/Network;
+PLcom/android/server/wifi/WifiServiceImpl;->getDhcpInfo()Landroid/net/DhcpInfo;
+PLcom/android/server/wifi/WifiServiceImpl;->getFactoryMacAddresses()[Ljava/lang/String;
+PLcom/android/server/wifi/WifiServiceImpl;->getMatchingOsuProviders(Ljava/util/List;)Ljava/util/Map;
+PLcom/android/server/wifi/WifiServiceImpl;->getMatchingPasspointConfigsForOsuProviders(Ljava/util/List;)Ljava/util/Map;
+PLcom/android/server/wifi/WifiServiceImpl;->getPasspointConfigurations()Ljava/util/List;
+PLcom/android/server/wifi/WifiServiceImpl;->getPrivilegedConfiguredNetworks(Ljava/lang/String;)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/wifi/WifiServiceImpl;->getScanResults(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/wifi/WifiServiceImpl;->getWifiApConfiguration()Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/WifiServiceImpl;->getWifiApEnabledState()I
+PLcom/android/server/wifi/WifiServiceImpl;->handleIdleModeChanged()V
+PLcom/android/server/wifi/WifiServiceImpl;->handleUserStop(I)V
+PLcom/android/server/wifi/WifiServiceImpl;->handleUserUnlock(I)V
+PLcom/android/server/wifi/WifiServiceImpl;->isScanAlwaysAvailable()Z
+PLcom/android/server/wifi/WifiServiceImpl;->isSystem(Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiServiceImpl;->isTargetSdkLessThanQOrPrivileged(Ljava/lang/String;II)Z
+PLcom/android/server/wifi/WifiServiceImpl;->lambda$getScanResults$7$WifiServiceImpl(Ljava/util/List;)V
+PLcom/android/server/wifi/WifiServiceImpl;->lambda$getWifiApConfiguration$5$WifiServiceImpl(Lcom/android/server/wifi/util/GeneralUtil$Mutable;)V
+PLcom/android/server/wifi/WifiServiceImpl;->lambda$getWifiApEnabledState$1$WifiServiceImpl(Landroid/util/MutableInt;)V
+PLcom/android/server/wifi/WifiServiceImpl;->lambda$registerSoftApCallback$3(Lcom/android/server/wifi/WifiServiceImpl;Landroid/os/IBinder;Landroid/net/wifi/ISoftApCallback;I)V
+PLcom/android/server/wifi/WifiServiceImpl;->lambda$startScan$0$WifiServiceImpl(Lcom/android/server/wifi/util/GeneralUtil$Mutable;ILjava/lang/String;)V
+PLcom/android/server/wifi/WifiServiceImpl;->needs5GHzToAnyApBandConversion()Z
+PLcom/android/server/wifi/WifiServiceImpl;->reconnect(Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiServiceImpl;->releaseMulticastLock(Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiServiceImpl;->releaseWifiLock(Landroid/os/IBinder;)Z
+PLcom/android/server/wifi/WifiServiceImpl;->reportActivityInfo()Landroid/net/wifi/WifiActivityEnergyInfo;
+PLcom/android/server/wifi/WifiServiceImpl;->requestActivityInfo(Landroid/os/ResultReceiver;)V
+PLcom/android/server/wifi/WifiServiceImpl;->retrieveBackupData()[B
+PLcom/android/server/wifi/WifiServiceImpl;->setCountryCode(Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiServiceImpl;->startScan(Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiStateTracker;->informWifiStateBatteryStats(I)V
+PLcom/android/server/wifi/WifiTrafficPoller;->notifyOnDataActivity(JJ)V
+PLcom/android/server/wifi/WifiVendorHal$ChipEventCallback;->lambda$onDebugErrorAlert$1$WifiVendorHal$ChipEventCallback(Ljava/util/ArrayList;I)V
+PLcom/android/server/wifi/WifiVendorHal$ChipEventCallback;->lambda$onDebugErrorAlert$1(Lcom/android/server/wifi/WifiVendorHal$ChipEventCallback;Ljava/util/ArrayList;I)V
+PLcom/android/server/wifi/WifiVendorHal$ChipEventCallback;->onDebugErrorAlert(ILjava/util/ArrayList;)V
+PLcom/android/server/wifi/WifiVendorHal$ChipEventCallbackV12;->onDebugErrorAlert(ILjava/util/ArrayList;)V
+PLcom/android/server/wifi/WifiVendorHal$ChipEventCallbackV12;->onRadioModeChange(Ljava/util/ArrayList;)V
+PLcom/android/server/wifi/WifiVendorHal;->configureNeighborDiscoveryOffload(Ljava/lang/String;Z)Z
+PLcom/android/server/wifi/WifiVendorHal;->configureRoaming(Ljava/lang/String;Lcom/android/server/wifi/WifiNative$RoamingConfig;)Z
+PLcom/android/server/wifi/WifiVendorHal;->flushRingBufferData()Z
+PLcom/android/server/wifi/WifiVendorHal;->frameworkRingBufferFlagsFromHal(I)I
+PLcom/android/server/wifi/WifiVendorHal;->frameworkToHalTxPowerScenario_1_2(Lcom/android/server/wifi/SarInfo;)I
+PLcom/android/server/wifi/WifiVendorHal;->getApfCapabilities(Ljava/lang/String;)Landroid/net/apf/ApfCapabilities;
+PLcom/android/server/wifi/WifiVendorHal;->getFactoryMacAddress(Ljava/lang/String;)Landroid/net/MacAddress;
+PLcom/android/server/wifi/WifiVendorHal;->getRingBufferData(Ljava/lang/String;)Z
+PLcom/android/server/wifi/WifiVendorHal;->getRoamingCapabilities(Ljava/lang/String;Lcom/android/server/wifi/WifiNative$RoamingCapabilities;)Z
+PLcom/android/server/wifi/WifiVendorHal;->getRxPktFates(Ljava/lang/String;[Lcom/android/server/wifi/WifiNative$RxFateReport;)Z
+PLcom/android/server/wifi/WifiVendorHal;->getTxPktFates(Ljava/lang/String;[Lcom/android/server/wifi/WifiNative$TxFateReport;)Z
+PLcom/android/server/wifi/WifiVendorHal;->getWifiLinkLayerStats(Ljava/lang/String;)Lcom/android/server/wifi/WifiLinkLayerStats;
+PLcom/android/server/wifi/WifiVendorHal;->getWifiLinkLayerStats_1_3_Internal(Ljava/lang/String;)Lcom/android/server/wifi/WifiLinkLayerStats;
+PLcom/android/server/wifi/WifiVendorHal;->getWifiStaIfaceForV1_2Mockable(Ljava/lang/String;)Landroid/hardware/wifi/V1_2/IWifiStaIface;
+PLcom/android/server/wifi/WifiVendorHal;->getWifiStaIfaceForV1_3Mockable(Ljava/lang/String;)Landroid/hardware/wifi/V1_3/IWifiStaIface;
+PLcom/android/server/wifi/WifiVendorHal;->halToFrameworkPktFateFrameType(I)B
+PLcom/android/server/wifi/WifiVendorHal;->halToFrameworkRxPktFate(I)B
+PLcom/android/server/wifi/WifiVendorHal;->halToFrameworkTxPktFate(I)B
+PLcom/android/server/wifi/WifiVendorHal;->installPacketFilter(Ljava/lang/String;[B)Z
+PLcom/android/server/wifi/WifiVendorHal;->lambda$getApfCapabilities$7$WifiVendorHal(Lcom/android/server/wifi/WifiVendorHal$4AnswerBox;Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/StaApfPacketFilterCapabilities;)V
+PLcom/android/server/wifi/WifiVendorHal;->lambda$getFactoryMacAddress$6$WifiVendorHal(Lcom/android/server/wifi/WifiVendorHal$3AnswerBox;Landroid/hardware/wifi/V1_0/WifiStatus;[B)V
+PLcom/android/server/wifi/WifiVendorHal;->lambda$getRingBufferStatus$10$WifiVendorHal(Lcom/android/server/wifi/WifiVendorHal$6AnswerBox;Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/wifi/WifiVendorHal;->lambda$getRoamingCapabilities$16$WifiVendorHal(Lcom/android/server/wifi/WifiNative$RoamingCapabilities;Landroid/util/MutableBoolean;Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/StaRoamingCapabilities;)V
+PLcom/android/server/wifi/WifiVendorHal;->lambda$getRxPktFates$14$WifiVendorHal([Lcom/android/server/wifi/WifiNative$RxFateReport;Landroid/util/MutableBoolean;Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/wifi/WifiVendorHal;->lambda$getRxPktFates$14(Lcom/android/server/wifi/WifiVendorHal;[Lcom/android/server/wifi/WifiNative$RxFateReport;Landroid/util/MutableBoolean;Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/wifi/WifiVendorHal;->lambda$getSupportedFeatureSet$5$WifiVendorHal(Landroid/util/MutableLong;Landroid/hardware/wifi/V1_0/WifiStatus;I)V
+PLcom/android/server/wifi/WifiVendorHal;->lambda$getTxPktFates$13$WifiVendorHal([Lcom/android/server/wifi/WifiNative$TxFateReport;Landroid/util/MutableBoolean;Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/wifi/WifiVendorHal;->lambda$getTxPktFates$13(Lcom/android/server/wifi/WifiVendorHal;[Lcom/android/server/wifi/WifiNative$TxFateReport;Landroid/util/MutableBoolean;Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+PLcom/android/server/wifi/WifiVendorHal;->lambda$getWifiLinkLayerStats_1_3_Internal$2$WifiVendorHal(Lcom/android/server/wifi/WifiVendorHal$2AnswerBox;Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_3/StaLinkLayerStats;)V
+PLcom/android/server/wifi/WifiVendorHal;->lambda$requestChipDebugInfo$9$WifiVendorHal(Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/IWifiChip$ChipDebugInfo;)V
+PLcom/android/server/wifi/WifiVendorHal;->makeRingBufferStatusArray(Ljava/util/ArrayList;)[Lcom/android/server/wifi/WifiNative$RingBufferStatus;
+PLcom/android/server/wifi/WifiVendorHal;->niceMethodName([Ljava/lang/StackTraceElement;I)Ljava/lang/String;
+PLcom/android/server/wifi/WifiVendorHal;->resetLogHandler()Z
+PLcom/android/server/wifi/WifiVendorHal;->setIfaceStats(Lcom/android/server/wifi/WifiLinkLayerStats;Landroid/hardware/wifi/V1_0/StaLinkLayerIfaceStats;)V
+PLcom/android/server/wifi/WifiVendorHal;->setMacAddress(Ljava/lang/String;Landroid/net/MacAddress;)Z
+PLcom/android/server/wifi/WifiVendorHal;->setRadioStats_1_3(Lcom/android/server/wifi/WifiLinkLayerStats;Ljava/util/List;)V
+PLcom/android/server/wifi/WifiVendorHal;->setScanningMacOui(Ljava/lang/String;[B)Z
+PLcom/android/server/wifi/WifiVendorHal;->startLoggingRingBuffer(IIIILjava/lang/String;)Z
+PLcom/android/server/wifi/WifiVendorHal;->startSendingOffloadedPacket(Ljava/lang/String;I[B[B[BII)I
+PLcom/android/server/wifi/WifiVendorHal;->stopBgScan(Ljava/lang/String;)V
+PLcom/android/server/wifi/WifiVendorHal;->stopRssiMonitoring(Ljava/lang/String;)I
+PLcom/android/server/wifi/WifiVendorHal;->stopSendingOffloadedPacket(Ljava/lang/String;I)I
+PLcom/android/server/wifi/WifiVendorHal;->wifiFeatureMaskFromStaCapabilities(I)I
+PLcom/android/server/wifi/WifiWakeMetrics$Event;->buildProto()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats$Session$Event;
+PLcom/android/server/wifi/WifiWakeMetrics$Session;->buildProto()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats$Session;
+PLcom/android/server/wifi/WifiWakeMetrics$Session;->hasWakeupTriggered()Z
+PLcom/android/server/wifi/WifiWakeMetrics$Session;->recordInitializeEvent(IIJ)V
+PLcom/android/server/wifi/WifiWakeMetrics$Session;->recordResetEvent(IJ)V
+PLcom/android/server/wifi/WifiWakeMetrics$Session;->recordUnlockEvent(IJ)V
+PLcom/android/server/wifi/WifiWakeMetrics$Session;->recordWakeupEvent(IJ)V
+PLcom/android/server/wifi/WifiWakeMetrics;->buildProto()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiWakeStats;
+PLcom/android/server/wifi/WifiWakeMetrics;->clear()V
+PLcom/android/server/wifi/WifiWakeMetrics;->recordInitializeEvent(II)V
+PLcom/android/server/wifi/WifiWakeMetrics;->recordResetEvent(I)V
+PLcom/android/server/wifi/WifiWakeMetrics;->recordStartEvent(I)V
+PLcom/android/server/wifi/WifiWakeMetrics;->recordUnlockEvent(I)V
+PLcom/android/server/wifi/WifiWakeMetrics;->recordWakeupEvent(I)V
+PLcom/android/server/wifi/WificondControl$PnoScanEventHandler;->OnPnoNetworkFound()V
+PLcom/android/server/wifi/WificondControl$PnoScanEventHandler;->OnPnoScanFailed()V
+PLcom/android/server/wifi/WificondControl$ScanEventHandler;->OnScanFailed()V
+PLcom/android/server/wifi/WificondControl$ScanEventHandler;->OnScanResultReady()V
+PLcom/android/server/wifi/WificondControl;->abortScan(Ljava/lang/String;)V
+PLcom/android/server/wifi/WificondControl;->getScanResults(Ljava/lang/String;I)Ljava/util/ArrayList;
+PLcom/android/server/wifi/WificondControl;->getScanType(I)I
+PLcom/android/server/wifi/WificondControl;->scan(Ljava/lang/String;ILjava/util/Set;Ljava/util/Set;)Z
+PLcom/android/server/wifi/WificondControl;->signalPoll(Ljava/lang/String;)Lcom/android/server/wifi/WifiNative$SignalPollResult;
+PLcom/android/server/wifi/WificondControl;->startPnoScan(Ljava/lang/String;Lcom/android/server/wifi/WifiNative$PnoSettings;)Z
+PLcom/android/server/wifi/WrongPasswordNotifier;->onNewConnectionAttempt()V
+PLcom/android/server/wifi/aware/WifiAwareMetrics;->clear()V
+PLcom/android/server/wifi/aware/WifiAwareMetrics;->consolidateProto()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog;
+PLcom/android/server/wifi/aware/WifiAwareMetrics;->histogramToProtoArray(Landroid/util/SparseIntArray;)[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog$NanStatusHistogramBucket;
+PLcom/android/server/wifi/aware/WifiAwareMetrics;->histogramToProtoArray([Lcom/android/server/wifi/util/MetricsUtils$GenericBucket;)[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiAwareLog$HistogramBucket;
+PLcom/android/server/wifi/aware/WifiAwareNativeManager$1;->onStatusChanged()V
+PLcom/android/server/wifi/aware/WifiAwareNativeManager$InterfaceAvailableForRequestListener;->onAvailabilityChanged(Z)V
+PLcom/android/server/wifi/aware/WifiAwareNativeManager;->awareIsDown()V
+PLcom/android/server/wifi/aware/WifiAwareNativeManager;->start(Landroid/os/Handler;)V
+PLcom/android/server/wifi/aware/WifiAwareServiceImpl;->startLate()V
+PLcom/android/server/wifi/aware/WifiAwareStateManager$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/wifi/aware/WifiAwareStateManager;->delayedInitialization()V
+PLcom/android/server/wifi/aware/WifiAwareStateManager;->reconfigure()V
+PLcom/android/server/wifi/aware/WifiAwareStateManager;->reconfigureLocal(S)Z
+PLcom/android/server/wifi/aware/WifiAwareStateManager;->startLate()V
+PLcom/android/server/wifi/hotspot2/ANQPData;->expired(J)Z
+PLcom/android/server/wifi/hotspot2/ANQPData;->getElements()Ljava/util/Map;
+PLcom/android/server/wifi/hotspot2/ANQPMatcher;->getCarrierEapMethodFromMatchingNAIRealm(Ljava/lang/String;Lcom/android/server/wifi/hotspot2/anqp/NAIRealmElement;)I
+PLcom/android/server/wifi/hotspot2/ANQPMatcher;->getEapMethodForNAIRealmWithCarrier(Ljava/lang/String;Lcom/android/server/wifi/hotspot2/anqp/NAIRealmData;)I
+PLcom/android/server/wifi/hotspot2/ANQPNetworkKey;->buildKey(Ljava/lang/String;JJI)Lcom/android/server/wifi/hotspot2/ANQPNetworkKey;
+PLcom/android/server/wifi/hotspot2/ANQPNetworkKey;->equals(Ljava/lang/Object;)Z
+PLcom/android/server/wifi/hotspot2/ANQPNetworkKey;->hashCode()I
+PLcom/android/server/wifi/hotspot2/ANQPNetworkKey;->toString()Ljava/lang/String;
+PLcom/android/server/wifi/hotspot2/ANQPRequestManager;->canSendRequestNow(J)Z
+PLcom/android/server/wifi/hotspot2/ANQPRequestManager;->onRequestCompleted(JZ)Lcom/android/server/wifi/hotspot2/ANQPNetworkKey;
+PLcom/android/server/wifi/hotspot2/ANQPRequestManager;->requestANQPElements(JLcom/android/server/wifi/hotspot2/ANQPNetworkKey;ZZ)Z
+PLcom/android/server/wifi/hotspot2/ANQPRequestManager;->updateHoldOffInfo(J)V
+PLcom/android/server/wifi/hotspot2/AnqpCache;->addEntry(Lcom/android/server/wifi/hotspot2/ANQPNetworkKey;Ljava/util/Map;)V
+PLcom/android/server/wifi/hotspot2/AnqpCache;->getEntry(Lcom/android/server/wifi/hotspot2/ANQPNetworkKey;)Lcom/android/server/wifi/hotspot2/ANQPData;
+PLcom/android/server/wifi/hotspot2/AnqpCache;->sweep()V
+PLcom/android/server/wifi/hotspot2/AnqpEvent;->getBssid()J
+PLcom/android/server/wifi/hotspot2/AnqpEvent;->getElements()Ljava/util/Map;
+PLcom/android/server/wifi/hotspot2/DomainMatcher;->arg2SubdomainOfArg1(Ljava/lang/String;Ljava/lang/String;)Z
+PLcom/android/server/wifi/hotspot2/NetworkDetail$Ant;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/wifi/hotspot2/NetworkDetail$HSRelease;-><init>(Ljava/lang/String;I)V
+PLcom/android/server/wifi/hotspot2/NetworkDetail;-><init>(Ljava/lang/String;[Landroid/net/wifi/ScanResult$InformationElement;Ljava/util/List;I)V
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->getAnqpDomainID()I
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->getAnt()Lcom/android/server/wifi/hotspot2/NetworkDetail$Ant;
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->getBSSIDString()Ljava/lang/String;
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->getCenterfreq0()I
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->getCenterfreq1()I
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->getChannelWidth()I
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->getDtimInterval()I
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->getHESSID()J
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->getHSRelease()Lcom/android/server/wifi/hotspot2/NetworkDetail$HSRelease;
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->getOsuProviders()[B
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->getSSID()Ljava/lang/String;
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->getWifiMode()I
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->is80211McResponderSupport()Z
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->isBeaconFrame()Z
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->isHiddenBeaconFrame()Z
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->isInterworking()Z
+PLcom/android/server/wifi/hotspot2/NetworkDetail;->toMACString(J)Ljava/lang/String;
+PLcom/android/server/wifi/hotspot2/PasspointConfigSharedStoreData;->deserializeData(Lorg/xmlpull/v1/XmlPullParser;I)V
+PLcom/android/server/wifi/hotspot2/PasspointConfigSharedStoreData;->deserializeShareData(Lorg/xmlpull/v1/XmlPullParser;I)V
+PLcom/android/server/wifi/hotspot2/PasspointConfigSharedStoreData;->getName()Ljava/lang/String;
+PLcom/android/server/wifi/hotspot2/PasspointConfigSharedStoreData;->resetData()V
+PLcom/android/server/wifi/hotspot2/PasspointConfigSharedStoreData;->serializeData(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/wifi/hotspot2/PasspointConfigUserStoreData;->deserializeData(Lorg/xmlpull/v1/XmlPullParser;I)V
+PLcom/android/server/wifi/hotspot2/PasspointConfigUserStoreData;->deserializeUserData(Lorg/xmlpull/v1/XmlPullParser;I)V
+PLcom/android/server/wifi/hotspot2/PasspointConfigUserStoreData;->getName()Ljava/lang/String;
+PLcom/android/server/wifi/hotspot2/PasspointConfigUserStoreData;->serializeData(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/wifi/hotspot2/PasspointConfigUserStoreData;->serializeProviderList(Lorg/xmlpull/v1/XmlSerializer;Ljava/util/List;)V
+PLcom/android/server/wifi/hotspot2/PasspointEventHandler;->buildAnqpIdSet(Ljava/util/List;)Landroid/util/Pair;
+PLcom/android/server/wifi/hotspot2/PasspointEventHandler;->notifyANQPDone(Lcom/android/server/wifi/hotspot2/AnqpEvent;)V
+PLcom/android/server/wifi/hotspot2/PasspointEventHandler;->requestANQP(JLjava/util/List;)Z
+PLcom/android/server/wifi/hotspot2/PasspointManager$CallbackHandler;->onANQPResponse(JLjava/util/Map;)V
+PLcom/android/server/wifi/hotspot2/PasspointManager$SharedDataSourceHandler;->getProviderIndex()J
+PLcom/android/server/wifi/hotspot2/PasspointManager$SharedDataSourceHandler;->setProviderIndex(J)V
+PLcom/android/server/wifi/hotspot2/PasspointManager$UserDataSourceHandler;->getProviders()Ljava/util/List;
+PLcom/android/server/wifi/hotspot2/PasspointManager$UserDataSourceHandler;->setProviders(Ljava/util/List;)V
+PLcom/android/server/wifi/hotspot2/PasspointManager;->findEapMethodFromNAIRealmMatchedWithCarrier(Ljava/util/List;)I
+PLcom/android/server/wifi/hotspot2/PasspointManager;->getANQPElements(Landroid/net/wifi/ScanResult;)Ljava/util/Map;
+PLcom/android/server/wifi/hotspot2/PasspointManager;->getAllMatchedProviders(Landroid/net/wifi/ScanResult;)Ljava/util/List;
+PLcom/android/server/wifi/hotspot2/PasspointManager;->getAllMatchingFqdnsForScanResults(Ljava/util/List;)Ljava/util/Map;
+PLcom/android/server/wifi/hotspot2/PasspointManager;->getMatchingOsuProviders(Ljava/util/List;)Ljava/util/Map;
+PLcom/android/server/wifi/hotspot2/PasspointManager;->getMatchingPasspointConfigsForOsuProviders(Ljava/util/List;)Ljava/util/Map;
+PLcom/android/server/wifi/hotspot2/PasspointManager;->getProviderConfigs()Ljava/util/List;
+PLcom/android/server/wifi/hotspot2/PasspointManager;->hasCarrierProvider(Ljava/lang/String;)Z
+PLcom/android/server/wifi/hotspot2/PasspointManager;->matchProvider(Landroid/net/wifi/ScanResult;)Landroid/util/Pair;
+PLcom/android/server/wifi/hotspot2/PasspointManager;->notifyANQPDone(Lcom/android/server/wifi/hotspot2/AnqpEvent;)V
+PLcom/android/server/wifi/hotspot2/PasspointManager;->removeEphemeralProviders()V
+PLcom/android/server/wifi/hotspot2/PasspointManager;->sweepCache()V
+PLcom/android/server/wifi/hotspot2/PasspointManager;->updateMetrics()V
+PLcom/android/server/wifi/hotspot2/PasspointNetworkEvaluator;->evaluateNetworks(Ljava/util/List;Landroid/net/wifi/WifiConfiguration;Ljava/lang/String;ZZLcom/android/server/wifi/WifiNetworkSelector$NetworkEvaluator$OnConnectableListener;)Landroid/net/wifi/WifiConfiguration;
+PLcom/android/server/wifi/hotspot2/PasspointNetworkEvaluator;->getName()Ljava/lang/String;
+PLcom/android/server/wifi/hotspot2/PasspointNetworkEvaluator;->update(Ljava/util/List;)V
+PLcom/android/server/wifi/hotspot2/Utils;->fromHex(CZ)I
+PLcom/android/server/wifi/hotspot2/Utils;->getRealmForMccMnc(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/wifi/hotspot2/Utils;->macToString(J)Ljava/lang/String;
+PLcom/android/server/wifi/hotspot2/Utils;->parseMac(Ljava/lang/String;)J
+PLcom/android/server/wifi/hotspot2/Utils;->splitDomain(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/wifi/hotspot2/anqp/-$$Lambda$OsuProviderInfo$CikQnZalVd3RFGF5pHDiwtVeVkg;-><init>(Lcom/android/server/wifi/hotspot2/anqp/OsuProviderInfo;)V
+PLcom/android/server/wifi/hotspot2/anqp/-$$Lambda$OsuProviderInfo$CikQnZalVd3RFGF5pHDiwtVeVkg;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wifi/hotspot2/anqp/ANQPElement;-><init>(Lcom/android/server/wifi/hotspot2/anqp/Constants$ANQPElementType;)V
+PLcom/android/server/wifi/hotspot2/anqp/ANQPParser;->parseElement(Lcom/android/server/wifi/hotspot2/anqp/Constants$ANQPElementType;Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/ANQPElement;
+PLcom/android/server/wifi/hotspot2/anqp/ANQPParser;->parseHS20Element(Lcom/android/server/wifi/hotspot2/anqp/Constants$ANQPElementType;Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/ANQPElement;
+PLcom/android/server/wifi/hotspot2/anqp/CellularNetwork;->parse(Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/CellularNetwork;
+PLcom/android/server/wifi/hotspot2/anqp/CellularNetwork;->parsePlmn(Ljava/nio/ByteBuffer;)Ljava/lang/String;
+PLcom/android/server/wifi/hotspot2/anqp/Constants$ANQPElementType;->values()[Lcom/android/server/wifi/hotspot2/anqp/Constants$ANQPElementType;
+PLcom/android/server/wifi/hotspot2/anqp/HSFriendlyNameElement;->parse(Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/HSFriendlyNameElement;
+PLcom/android/server/wifi/hotspot2/anqp/HSOsuProvidersElement;->getProviders()Ljava/util/List;
+PLcom/android/server/wifi/hotspot2/anqp/HSOsuProvidersElement;->parse(Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/HSOsuProvidersElement;
+PLcom/android/server/wifi/hotspot2/anqp/HSWanMetricsElement;->parse(Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/HSWanMetricsElement;
+PLcom/android/server/wifi/hotspot2/anqp/I18Name;->getLanguage()Ljava/lang/String;
+PLcom/android/server/wifi/hotspot2/anqp/I18Name;->getLocale()Ljava/util/Locale;
+PLcom/android/server/wifi/hotspot2/anqp/I18Name;->getText()Ljava/lang/String;
+PLcom/android/server/wifi/hotspot2/anqp/I18Name;->parse(Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/I18Name;
+PLcom/android/server/wifi/hotspot2/anqp/IPAddressTypeAvailabilityElement;->parse(Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/IPAddressTypeAvailabilityElement;
+PLcom/android/server/wifi/hotspot2/anqp/IconInfo;->parse(Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/IconInfo;
+PLcom/android/server/wifi/hotspot2/anqp/NAIRealmData;->getRealms()Ljava/util/List;
+PLcom/android/server/wifi/hotspot2/anqp/NAIRealmData;->parse(Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/NAIRealmData;
+PLcom/android/server/wifi/hotspot2/anqp/NAIRealmElement;->getRealmDataList()Ljava/util/List;
+PLcom/android/server/wifi/hotspot2/anqp/NAIRealmElement;->parse(Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/NAIRealmElement;
+PLcom/android/server/wifi/hotspot2/anqp/OsuProviderInfo;->getFriendlyNames()Ljava/util/Map;
+PLcom/android/server/wifi/hotspot2/anqp/OsuProviderInfo;->getI18String(Ljava/util/List;)Ljava/lang/String;
+PLcom/android/server/wifi/hotspot2/anqp/OsuProviderInfo;->getMethodList()Ljava/util/List;
+PLcom/android/server/wifi/hotspot2/anqp/OsuProviderInfo;->getNetworkAccessIdentifier()Ljava/lang/String;
+PLcom/android/server/wifi/hotspot2/anqp/OsuProviderInfo;->getServerUri()Landroid/net/Uri;
+PLcom/android/server/wifi/hotspot2/anqp/OsuProviderInfo;->getServiceDescription()Ljava/lang/String;
+PLcom/android/server/wifi/hotspot2/anqp/OsuProviderInfo;->lambda$new$0$OsuProviderInfo(Lcom/android/server/wifi/hotspot2/anqp/I18Name;)V
+PLcom/android/server/wifi/hotspot2/anqp/OsuProviderInfo;->parse(Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/OsuProviderInfo;
+PLcom/android/server/wifi/hotspot2/anqp/OsuProviderInfo;->parseI18Names(Ljava/nio/ByteBuffer;)Ljava/util/List;
+PLcom/android/server/wifi/hotspot2/anqp/ThreeGPPNetworkElement;->parse(Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/ThreeGPPNetworkElement;
+PLcom/android/server/wifi/hotspot2/anqp/VenueNameElement;->parse(Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/VenueNameElement;
+PLcom/android/server/wifi/hotspot2/anqp/eap/AuthParam;->getAuthTypeID()I
+PLcom/android/server/wifi/hotspot2/anqp/eap/EAPMethod;->addAuthParam(Ljava/util/Map;Lcom/android/server/wifi/hotspot2/anqp/eap/AuthParam;)V
+PLcom/android/server/wifi/hotspot2/anqp/eap/EAPMethod;->parse(Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/eap/EAPMethod;
+PLcom/android/server/wifi/hotspot2/anqp/eap/EAPMethod;->parseAuthParam(Ljava/nio/ByteBuffer;)Lcom/android/server/wifi/hotspot2/anqp/eap/AuthParam;
+PLcom/android/server/wifi/hotspot2/anqp/eap/NonEAPInnerAuth;->hashCode()I
+PLcom/android/server/wifi/hotspot2/anqp/eap/NonEAPInnerAuth;->parse(Ljava/nio/ByteBuffer;I)Lcom/android/server/wifi/hotspot2/anqp/eap/NonEAPInnerAuth;
+PLcom/android/server/wifi/p2p/WifiP2pMetrics;->clear()V
+PLcom/android/server/wifi/p2p/WifiP2pMetrics;->consolidateProto()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiP2pStats;
+PLcom/android/server/wifi/p2p/WifiP2pServiceImpl;->access$1400(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;)Z
+PLcom/android/server/wifi/p2p/WifiP2pServiceImpl;->access$1402(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;Z)Z
+PLcom/android/server/wifi/p2p/WifiP2pServiceImpl;->access$1502(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;Z)Z
+PLcom/android/server/wifi/p2p/WifiP2pServiceImpl;->access$1700(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;)Z
+PLcom/android/server/wifi/p2p/WifiP2pServiceImpl;->access$1702(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;Z)Z
+PLcom/android/server/wifi/p2p/WifiP2pServiceImpl;->access$1802(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;Z)Z
+PLcom/android/server/wifi/p2p/WifiP2pServiceImpl;->getP2pStateMachineMessenger()Landroid/os/Messenger;
+PLcom/android/server/wifi/rtt/-$$Lambda$RttServiceImpl$3Addfr11wJKJqRbBre_6uYT6vT0;->run()V
+PLcom/android/server/wifi/rtt/-$$Lambda$RttServiceImpl$tujYHkgiwM9Q0G7bKGi1Mj7KnVg;->run()V
+PLcom/android/server/wifi/rtt/RttMetrics;->clear()V
+PLcom/android/server/wifi/rtt/RttMetrics;->consolidateIndividualStatus(Landroid/util/SparseIntArray;)[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttIndividualStatusHistogramBucket;
+PLcom/android/server/wifi/rtt/RttMetrics;->consolidateNumPeersPerRequest(Landroid/util/SparseIntArray;)[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$HistogramBucket;
+PLcom/android/server/wifi/rtt/RttMetrics;->consolidateNumRequestsPerApp(Landroid/util/SparseArray;)[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$HistogramBucket;
+PLcom/android/server/wifi/rtt/RttMetrics;->consolidateOverallStatus(Landroid/util/SparseIntArray;)[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttOverallStatusHistogramBucket;
+PLcom/android/server/wifi/rtt/RttMetrics;->consolidatePeerType(Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$RttToPeerLog;Lcom/android/server/wifi/rtt/RttMetrics$PerPeerTypeInfo;)V
+PLcom/android/server/wifi/rtt/RttMetrics;->consolidateProto()Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog;
+PLcom/android/server/wifi/rtt/RttMetrics;->convertRttStatusTypeToProtoEnum(I)I
+PLcom/android/server/wifi/rtt/RttMetrics;->genericBucketsToRttBuckets([Lcom/android/server/wifi/util/MetricsUtils$GenericBucket;)[Lcom/android/server/wifi/nano/WifiMetricsProto$WifiRttLog$HistogramBucket;
+PLcom/android/server/wifi/rtt/RttMetrics;->recordOverallStatus(I)V
+PLcom/android/server/wifi/rtt/RttMetrics;->recordRequest(Landroid/os/WorkSource;Landroid/net/wifi/rtt/RangingRequest;)V
+PLcom/android/server/wifi/rtt/RttMetrics;->recordResult(Landroid/net/wifi/rtt/RangingRequest;Ljava/util/List;)V
+PLcom/android/server/wifi/rtt/RttMetrics;->updatePeerInfoWithRequestInfo(Lcom/android/server/wifi/rtt/RttMetrics$PerPeerTypeInfo;Landroid/os/WorkSource;I)V
+PLcom/android/server/wifi/rtt/RttNative;->convertRangingRequestToRttConfigs(Landroid/net/wifi/rtt/RangingRequest;ZLandroid/hardware/wifi/V1_0/RttCapabilities;)Ljava/util/ArrayList;
+PLcom/android/server/wifi/rtt/RttNative;->halChannelWidthFromResponderChannelWidth(I)I
+PLcom/android/server/wifi/rtt/RttNative;->halRttChannelBandwidthCapabilityLimiter(ILandroid/hardware/wifi/V1_0/RttCapabilities;)I
+PLcom/android/server/wifi/rtt/RttNative;->halRttChannelBandwidthFromResponderChannelWidth(I)I
+PLcom/android/server/wifi/rtt/RttNative;->halRttPeerTypeFromResponderType(I)I
+PLcom/android/server/wifi/rtt/RttNative;->halRttPreambleCapabilityLimiter(ILandroid/hardware/wifi/V1_0/RttCapabilities;)I
+PLcom/android/server/wifi/rtt/RttNative;->halRttPreambleFromResponderPreamble(I)I
+PLcom/android/server/wifi/rtt/RttNative;->onResults(ILjava/util/ArrayList;)V
+PLcom/android/server/wifi/rtt/RttNative;->rangeRequest(ILandroid/net/wifi/rtt/RangingRequest;Z)Z
+PLcom/android/server/wifi/rtt/RttServiceImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/wifi/rtt/RttServiceImpl$RttServiceSynchronized;->isRequestorSpamming(Landroid/os/WorkSource;)Z
+PLcom/android/server/wifi/rtt/RttServiceImpl$RttServiceSynchronized;->onRangingResults(ILjava/util/List;)V
+PLcom/android/server/wifi/rtt/RttServiceImpl$RttServiceSynchronized;->postProcessResults(Landroid/net/wifi/rtt/RangingRequest;Ljava/util/List;Z)Ljava/util/List;
+PLcom/android/server/wifi/rtt/RttServiceImpl$RttServiceSynchronized;->preExecThrottleCheck(Landroid/os/WorkSource;)Z
+PLcom/android/server/wifi/rtt/RttServiceImpl$RttServiceSynchronized;->processAwarePeerHandles(Lcom/android/server/wifi/rtt/RttServiceImpl$RttRequestInfo;)Z
+PLcom/android/server/wifi/rtt/RttServiceImpl$RttServiceSynchronized;->queueRangingRequest(ILandroid/os/WorkSource;Landroid/os/IBinder;Landroid/os/IBinder$DeathRecipient;Ljava/lang/String;Landroid/net/wifi/rtt/RangingRequest;Landroid/net/wifi/rtt/IRttCallback;Z)V
+PLcom/android/server/wifi/rtt/RttServiceImpl$RttServiceSynchronized;->startRanging(Lcom/android/server/wifi/rtt/RttServiceImpl$RttRequestInfo;)V
+PLcom/android/server/wifi/rtt/RttServiceImpl$RttShellCommand;->getControlParam(Ljava/lang/String;)I
+PLcom/android/server/wifi/rtt/RttServiceImpl;->getMockableCallingUid()I
+PLcom/android/server/wifi/rtt/RttServiceImpl;->lambda$onRangingResults$5$RttServiceImpl(ILjava/util/List;)V
+PLcom/android/server/wifi/rtt/RttServiceImpl;->lambda$startRanging$3$RttServiceImpl(Landroid/os/WorkSource;ILandroid/os/IBinder;Landroid/os/IBinder$DeathRecipient;Ljava/lang/String;Landroid/net/wifi/rtt/RangingRequest;Landroid/net/wifi/rtt/IRttCallback;Z)V
+PLcom/android/server/wifi/rtt/RttServiceImpl;->lambda$startRanging$3(Lcom/android/server/wifi/rtt/RttServiceImpl;Landroid/os/WorkSource;ILandroid/os/IBinder;Landroid/os/IBinder$DeathRecipient;Ljava/lang/String;Landroid/net/wifi/rtt/RangingRequest;Landroid/net/wifi/rtt/IRttCallback;Z)V
+PLcom/android/server/wifi/rtt/RttServiceImpl;->onRangingResults(ILjava/util/List;)V
+PLcom/android/server/wifi/rtt/RttServiceImpl;->startRanging(Landroid/os/IBinder;Ljava/lang/String;Landroid/os/WorkSource;Landroid/net/wifi/rtt/RangingRequest;Landroid/net/wifi/rtt/IRttCallback;)V
+PLcom/android/server/wifi/scanner/-$$Lambda$WifiScanningServiceImpl$WifiSingleScanStateMachine$DefaultState$IadGqqQgFfoD3kqhYRHB92f1PGI;-><init>()V
+PLcom/android/server/wifi/scanner/-$$Lambda$WifiScanningServiceImpl$WifiSingleScanStateMachine$DefaultState$IadGqqQgFfoD3kqhYRHB92f1PGI;->apply(I)Ljava/lang/Object;
+PLcom/android/server/wifi/scanner/-$$Lambda$WifiScanningServiceImpl$WifiSingleScanStateMachine$DefaultState$InbNEkwBcgp-s8u0tfPo_eYbuRI;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wifi/scanner/BackgroundScanScheduler$BucketList;->clearAll()V
+PLcom/android/server/wifi/scanner/BackgroundScanScheduler$BucketList;->getActiveRegularBucketCount()I
+PLcom/android/server/wifi/scanner/BackgroundScanScheduler$BucketList;->getSortedActiveRegularBucketList()Ljava/util/List;
+PLcom/android/server/wifi/scanner/BackgroundScanScheduler$BucketList;->isActive(I)Z
+PLcom/android/server/wifi/scanner/BackgroundScanScheduler;->compactBuckets(I)V
+PLcom/android/server/wifi/scanner/BackgroundScanScheduler;->fixBuckets(Ljava/util/List;II)Ljava/util/List;
+PLcom/android/server/wifi/scanner/BackgroundScanScheduler;->getMaxBuckets()I
+PLcom/android/server/wifi/scanner/BackgroundScanScheduler;->getSchedule()Lcom/android/server/wifi/WifiNative$ScanSettings;
+PLcom/android/server/wifi/scanner/BackgroundScanScheduler;->optimizeBuckets()Ljava/util/List;
+PLcom/android/server/wifi/scanner/BackgroundScanScheduler;->updateSchedule(Ljava/util/Collection;)V
+PLcom/android/server/wifi/scanner/ChannelHelper$ChannelCollection;->addChannels(Landroid/net/wifi/WifiScanner$ScanSettings;)V
+PLcom/android/server/wifi/scanner/ChannelHelper$ChannelCollection;->addChannels(Lcom/android/server/wifi/WifiNative$BucketSettings;)V
+PLcom/android/server/wifi/scanner/ChannelHelper$ChannelCollection;->containsSettings(Landroid/net/wifi/WifiScanner$ScanSettings;)Z
+PLcom/android/server/wifi/scanner/ChannelHelper;->bandToString(I)Ljava/lang/String;
+PLcom/android/server/wifi/scanner/HalWifiScannerImpl;->getLatestSingleScanResults()Landroid/net/wifi/WifiScanner$ScanData;
+PLcom/android/server/wifi/scanner/HalWifiScannerImpl;->isHwPnoSupported(Z)Z
+PLcom/android/server/wifi/scanner/HalWifiScannerImpl;->resetHwPnoList()Z
+PLcom/android/server/wifi/scanner/HalWifiScannerImpl;->setHwPnoList(Lcom/android/server/wifi/WifiNative$PnoSettings;Lcom/android/server/wifi/WifiNative$PnoEventHandler;)Z
+PLcom/android/server/wifi/scanner/HalWifiScannerImpl;->startSingleScan(Lcom/android/server/wifi/WifiNative$ScanSettings;Lcom/android/server/wifi/WifiNative$ScanEventHandler;)Z
+PLcom/android/server/wifi/scanner/HalWifiScannerImpl;->stopBatchedScan()V
+PLcom/android/server/wifi/scanner/KnownBandsChannelHelper$KnownBandsChannelCollection;->addBand(I)V
+PLcom/android/server/wifi/scanner/KnownBandsChannelHelper$KnownBandsChannelCollection;->containsBand(I)Z
+PLcom/android/server/wifi/scanner/KnownBandsChannelHelper$KnownBandsChannelCollection;->containsChannel(I)Z
+PLcom/android/server/wifi/scanner/KnownBandsChannelHelper$KnownBandsChannelCollection;->fillBucketSettings(Lcom/android/server/wifi/WifiNative$BucketSettings;I)V
+PLcom/android/server/wifi/scanner/KnownBandsChannelHelper$KnownBandsChannelCollection;->getScanFreqs()Ljava/util/Set;
+PLcom/android/server/wifi/scanner/KnownBandsChannelHelper$KnownBandsChannelCollection;->isEmpty()Z
+PLcom/android/server/wifi/scanner/KnownBandsChannelHelper;->createChannelCollection()Lcom/android/server/wifi/scanner/ChannelHelper$ChannelCollection;
+PLcom/android/server/wifi/scanner/KnownBandsChannelHelper;->createChannelCollection()Lcom/android/server/wifi/scanner/KnownBandsChannelHelper$KnownBandsChannelCollection;
+PLcom/android/server/wifi/scanner/KnownBandsChannelHelper;->getAvailableScanChannels(I)[Landroid/net/wifi/WifiScanner$ChannelSpec;
+PLcom/android/server/wifi/scanner/KnownBandsChannelHelper;->settingsContainChannel(Landroid/net/wifi/WifiScanner$ScanSettings;I)Z
+PLcom/android/server/wifi/scanner/ScanScheduleUtil;->filterResultsForSettings(Lcom/android/server/wifi/scanner/ChannelHelper;[Landroid/net/wifi/WifiScanner$ScanData;Landroid/net/wifi/WifiScanner$ScanSettings;I)[Landroid/net/wifi/WifiScanner$ScanData;
+PLcom/android/server/wifi/scanner/ScanScheduleUtil;->scheduleEquals(Lcom/android/server/wifi/WifiNative$ScanSettings;Lcom/android/server/wifi/WifiNative$ScanSettings;)Z
+PLcom/android/server/wifi/scanner/WifiScannerImpl$2;->compare(Landroid/net/wifi/ScanResult;Landroid/net/wifi/ScanResult;)I
+PLcom/android/server/wifi/scanner/WifiScannerImpl$2;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;->cleanup()V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;->register()V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$ExternalClientInfo;->reportEvent(IIILjava/lang/Object;)V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$InternalClientInfo;->toString()Ljava/lang/String;
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$RequestInfo;->reportEvent(IILjava/lang/Object;)V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$RequestList;->createMergedWorkSource()Landroid/os/WorkSource;
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$RequestList;->getAllSettings()Ljava/util/Collection;
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$RequestList;->removeAllForClient(Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;)V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiBackgroundScanStateMachine;->removeBackgroundScanSettings(Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;)V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiBackgroundScanStateMachine;->updateSchedule()Z
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine$HwPnoScanState;->enter()V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine$HwPnoScanState;->exit()V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine$HwPnoScanState;->processMessage(Landroid/os/Message;)Z
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine;->addHwPnoScanRequest(Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;ILandroid/net/wifi/WifiScanner$ScanSettings;Landroid/net/wifi/WifiScanner$PnoSettings;)Z
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine;->addInternalClient(Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;)V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine;->convertSettingsToPnoNative(Landroid/net/wifi/WifiScanner$ScanSettings;Landroid/net/wifi/WifiScanner$PnoSettings;)Lcom/android/server/wifi/WifiNative$PnoSettings;
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine;->onPnoNetworkFound([Landroid/net/wifi/ScanResult;)V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine;->reportPnoNetworkFound([Landroid/net/wifi/ScanResult;)V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine$DefaultState;->filterCachedScanResultsByAge()[Landroid/net/wifi/ScanResult;
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine$ScanningState;->enter()V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine$ScanningState;->exit()V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine$ScanningState;->processMessage(Landroid/os/Message;)Z
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine;->activeScanSatisfies(Landroid/net/wifi/WifiScanner$ScanSettings;)Z
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine;->activeScanTypeSatisfies(I)Z
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine;->getNativeScanType(I)I
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine;->mergeScanTypes(II)I
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine;->onFullScanResult(Landroid/net/wifi/ScanResult;I)V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine;->onScanStatus(I)V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine;->removeSingleScanRequests(Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;)V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine;->reportFullScanResult(Landroid/net/wifi/ScanResult;I)V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine;->reportScanResults(Landroid/net/wifi/WifiScanner$ScanData;)V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine;->validateScanRequest(Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;ILandroid/net/wifi/WifiScanner$ScanSettings;)Z
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine;->validateScanType(I)Z
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl;->describeForLog([Landroid/net/wifi/WifiScanner$ScanData;)Ljava/lang/String;
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl;->describeTo(Ljava/lang/StringBuilder;Landroid/net/wifi/WifiScanner$PnoSettings;)Ljava/lang/String;
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl;->describeTo(Ljava/lang/StringBuilder;Landroid/net/wifi/WifiScanner$ScanSettings;)Ljava/lang/String;
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl;->getScanTypeString(I)Ljava/lang/String;
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl;->logCallback(Ljava/lang/String;Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;ILjava/lang/String;)V
+PLcom/android/server/wifi/scanner/WifiScanningServiceImpl;->replyFailed(Landroid/os/Message;ILjava/lang/String;)V
+PLcom/android/server/wifi/scanner/WificondScannerImpl$2;->run()V
+PLcom/android/server/wifi/scanner/WificondScannerImpl;->cancelScanTimeout()V
+PLcom/android/server/wifi/scanner/WificondScannerImpl;->getBandScanned(Lcom/android/server/wifi/scanner/ChannelHelper$ChannelCollection;)I
+PLcom/android/server/wifi/scanner/WificondScannerImpl;->getLatestSingleScanResults()Landroid/net/wifi/WifiScanner$ScanData;
+PLcom/android/server/wifi/scanner/WificondScannerImpl;->handleMessage(Landroid/os/Message;)Z
+PLcom/android/server/wifi/scanner/WificondScannerImpl;->isHwPnoSupported(Z)Z
+PLcom/android/server/wifi/scanner/WificondScannerImpl;->pollLatestScanData()V
+PLcom/android/server/wifi/scanner/WificondScannerImpl;->pollLatestScanDataForPno()V
+PLcom/android/server/wifi/scanner/WificondScannerImpl;->reportPnoScanFailure()V
+PLcom/android/server/wifi/scanner/WificondScannerImpl;->reportScanFailure()V
+PLcom/android/server/wifi/scanner/WificondScannerImpl;->resetHwPnoList()Z
+PLcom/android/server/wifi/scanner/WificondScannerImpl;->setHwPnoList(Lcom/android/server/wifi/WifiNative$PnoSettings;Lcom/android/server/wifi/WifiNative$PnoEventHandler;)Z
+PLcom/android/server/wifi/scanner/WificondScannerImpl;->startSingleScan(Lcom/android/server/wifi/WifiNative$ScanSettings;Lcom/android/server/wifi/WifiNative$ScanEventHandler;)Z
+PLcom/android/server/wifi/util/-$$Lambda$IntCounter$2QMREjq8u6qvHj3Qc8X5bsI7f3Y;-><init>()V
+PLcom/android/server/wifi/util/-$$Lambda$IntCounter$2QMREjq8u6qvHj3Qc8X5bsI7f3Y;->convert(II)Ljava/lang/Object;
+PLcom/android/server/wifi/util/-$$Lambda$IntHistogram$KipvBry86qMmCc412Y4yM-ch_ek;-><init>()V
+PLcom/android/server/wifi/util/ByteArrayRingBuffer;->getNumBuffers()I
+PLcom/android/server/wifi/util/ByteArrayRingBuffer;->pruneToSize(I)V
+PLcom/android/server/wifi/util/ByteArrayRingBuffer;->resize(I)V
+PLcom/android/server/wifi/util/DataIntegrityChecker;->constantTimeEquals([B[B)Z
+PLcom/android/server/wifi/util/DataIntegrityChecker;->decrypt(Lcom/android/server/wifi/util/EncryptedData;)[B
+PLcom/android/server/wifi/util/DataIntegrityChecker;->encrypt([BLjava/lang/String;)Lcom/android/server/wifi/util/EncryptedData;
+PLcom/android/server/wifi/util/DataIntegrityChecker;->getDigest([B)[B
+PLcom/android/server/wifi/util/DataIntegrityChecker;->getOrCreateSecretKey(Ljava/lang/String;)Ljavax/crypto/SecretKey;
+PLcom/android/server/wifi/util/DataIntegrityChecker;->getSecretKey(Ljava/lang/String;)Ljavax/crypto/SecretKey;
+PLcom/android/server/wifi/util/DataIntegrityChecker;->inKeyStore(Ljava/lang/String;)Z
+PLcom/android/server/wifi/util/DataIntegrityChecker;->isOk([B)Z
+PLcom/android/server/wifi/util/DataIntegrityChecker;->readIntegrityData(Ljava/io/File;)Lcom/android/server/wifi/util/EncryptedData;
+PLcom/android/server/wifi/util/DataIntegrityChecker;->update([B)V
+PLcom/android/server/wifi/util/DataIntegrityChecker;->writeIntegrityData(Lcom/android/server/wifi/util/EncryptedData;Ljava/io/File;)V
+PLcom/android/server/wifi/util/EncryptedData;->getEncryptedData()[B
+PLcom/android/server/wifi/util/EncryptedData;->getIv()[B
+PLcom/android/server/wifi/util/EncryptedData;->getKeyAlias()Ljava/lang/String;
+PLcom/android/server/wifi/util/ExternalCallbackTracker$ExternalCallbackHolder;->getCallback()Ljava/lang/Object;
+PLcom/android/server/wifi/util/ExternalCallbackTracker$ExternalCallbackHolder;->reset()V
+PLcom/android/server/wifi/util/ExternalCallbackTracker;->getCallbacks()Ljava/util/List;
+PLcom/android/server/wifi/util/ExternalCallbackTracker;->remove(I)Z
+PLcom/android/server/wifi/util/InformationElementUtil$BssLoad;->from(Landroid/net/wifi/ScanResult$InformationElement;)V
+PLcom/android/server/wifi/util/InformationElementUtil$Capabilities;->from([Landroid/net/wifi/ScanResult$InformationElement;Ljava/util/BitSet;)V
+PLcom/android/server/wifi/util/InformationElementUtil$Capabilities;->generateCapabilitiesString()Ljava/lang/String;
+PLcom/android/server/wifi/util/InformationElementUtil$Capabilities;->isOweElement(Landroid/net/wifi/ScanResult$InformationElement;)Z
+PLcom/android/server/wifi/util/InformationElementUtil$Capabilities;->isWpaOneElement(Landroid/net/wifi/ScanResult$InformationElement;)Z
+PLcom/android/server/wifi/util/InformationElementUtil$Capabilities;->isWpsElement(Landroid/net/wifi/ScanResult$InformationElement;)Z
+PLcom/android/server/wifi/util/InformationElementUtil$Capabilities;->keyManagementToString(I)Ljava/lang/String;
+PLcom/android/server/wifi/util/InformationElementUtil$Capabilities;->parseRsnCipher(I)I
+PLcom/android/server/wifi/util/InformationElementUtil$Capabilities;->parseRsnElement(Landroid/net/wifi/ScanResult$InformationElement;)V
+PLcom/android/server/wifi/util/InformationElementUtil$Capabilities;->parseWpaCipher(I)I
+PLcom/android/server/wifi/util/InformationElementUtil$Capabilities;->parseWpaOneElement(Landroid/net/wifi/ScanResult$InformationElement;)V
+PLcom/android/server/wifi/util/InformationElementUtil$ExtendedCapabilities;->is80211McRTTResponder()Z
+PLcom/android/server/wifi/util/InformationElementUtil$HtOperation;->from(Landroid/net/wifi/ScanResult$InformationElement;)V
+PLcom/android/server/wifi/util/InformationElementUtil$HtOperation;->getCenterFreq0(I)I
+PLcom/android/server/wifi/util/InformationElementUtil$Interworking;->from(Landroid/net/wifi/ScanResult$InformationElement;)V
+PLcom/android/server/wifi/util/InformationElementUtil$SupportedRates;->from(Landroid/net/wifi/ScanResult$InformationElement;)V
+PLcom/android/server/wifi/util/InformationElementUtil$SupportedRates;->getRateFromByte(I)I
+PLcom/android/server/wifi/util/InformationElementUtil$TrafficIndicationMap;->from(Landroid/net/wifi/ScanResult$InformationElement;)V
+PLcom/android/server/wifi/util/InformationElementUtil$VhtOperation;->from(Landroid/net/wifi/ScanResult$InformationElement;)V
+PLcom/android/server/wifi/util/InformationElementUtil$Vsa;->from(Landroid/net/wifi/ScanResult$InformationElement;)V
+PLcom/android/server/wifi/util/InformationElementUtil;->getHS2VendorSpecificIE([Landroid/net/wifi/ScanResult$InformationElement;)Lcom/android/server/wifi/util/InformationElementUtil$Vsa;
+PLcom/android/server/wifi/util/InformationElementUtil;->getRoamingConsortiumIE([Landroid/net/wifi/ScanResult$InformationElement;)Lcom/android/server/wifi/util/InformationElementUtil$RoamingConsortium;
+PLcom/android/server/wifi/util/InformationElementUtil;->parseInformationElements([B)[Landroid/net/wifi/ScanResult$InformationElement;
+PLcom/android/server/wifi/util/IntCounter$1;->hasNext()Z
+PLcom/android/server/wifi/util/IntCounter$1;->next()Lcom/android/server/wifi/util/IntCounter$KeyCount;
+PLcom/android/server/wifi/util/IntCounter$1;->next()Ljava/lang/Object;
+PLcom/android/server/wifi/util/IntCounter;->add(II)V
+PLcom/android/server/wifi/util/IntCounter;->increment(I)V
+PLcom/android/server/wifi/util/IntCounter;->iterator()Ljava/util/Iterator;
+PLcom/android/server/wifi/util/IntCounter;->toProto()[Lcom/android/server/wifi/nano/WifiMetricsProto$MapEntryInt32Int32;
+PLcom/android/server/wifi/util/IntCounter;->toProto(Ljava/lang/Class;Lcom/android/server/wifi/util/IntCounter$ProtobufConverter;)[Ljava/lang/Object;
+PLcom/android/server/wifi/util/IntHistogram$1;->hasNext()Z
+PLcom/android/server/wifi/util/IntHistogram;->clear()V
+PLcom/android/server/wifi/util/IntHistogram;->iterator()Ljava/util/Iterator;
+PLcom/android/server/wifi/util/IntHistogram;->toProto()[Lcom/android/server/wifi/nano/WifiMetricsProto$HistogramBucketInt32;
+PLcom/android/server/wifi/util/IntHistogram;->toProto(Ljava/lang/Class;Lcom/android/server/wifi/util/IntHistogram$ProtobufConverter;)[Ljava/lang/Object;
+PLcom/android/server/wifi/util/KalmanFilter;->predict()V
+PLcom/android/server/wifi/util/KalmanFilter;->update(Lcom/android/server/wifi/util/Matrix;)V
+PLcom/android/server/wifi/util/Matrix;-><init>(Lcom/android/server/wifi/util/Matrix;)V
+PLcom/android/server/wifi/util/Matrix;->dot(Lcom/android/server/wifi/util/Matrix;)Lcom/android/server/wifi/util/Matrix;
+PLcom/android/server/wifi/util/Matrix;->dot(Lcom/android/server/wifi/util/Matrix;Lcom/android/server/wifi/util/Matrix;)Lcom/android/server/wifi/util/Matrix;
+PLcom/android/server/wifi/util/Matrix;->dotTranspose(Lcom/android/server/wifi/util/Matrix;)Lcom/android/server/wifi/util/Matrix;
+PLcom/android/server/wifi/util/Matrix;->dotTranspose(Lcom/android/server/wifi/util/Matrix;Lcom/android/server/wifi/util/Matrix;)Lcom/android/server/wifi/util/Matrix;
+PLcom/android/server/wifi/util/Matrix;->get(II)D
+PLcom/android/server/wifi/util/Matrix;->inverse()Lcom/android/server/wifi/util/Matrix;
+PLcom/android/server/wifi/util/Matrix;->inverse(Lcom/android/server/wifi/util/Matrix;Lcom/android/server/wifi/util/Matrix;)Lcom/android/server/wifi/util/Matrix;
+PLcom/android/server/wifi/util/Matrix;->minus(Lcom/android/server/wifi/util/Matrix;)Lcom/android/server/wifi/util/Matrix;
+PLcom/android/server/wifi/util/Matrix;->minus(Lcom/android/server/wifi/util/Matrix;Lcom/android/server/wifi/util/Matrix;)Lcom/android/server/wifi/util/Matrix;
+PLcom/android/server/wifi/util/Matrix;->plus(Lcom/android/server/wifi/util/Matrix;)Lcom/android/server/wifi/util/Matrix;
+PLcom/android/server/wifi/util/Matrix;->plus(Lcom/android/server/wifi/util/Matrix;Lcom/android/server/wifi/util/Matrix;)Lcom/android/server/wifi/util/Matrix;
+PLcom/android/server/wifi/util/Matrix;->put(IID)V
+PLcom/android/server/wifi/util/MetricsUtils;->linearHistogramToGenericBuckets(Landroid/util/SparseIntArray;[I)[Lcom/android/server/wifi/util/MetricsUtils$GenericBucket;
+PLcom/android/server/wifi/util/MetricsUtils;->logHistogramToGenericBuckets(Landroid/util/SparseIntArray;Lcom/android/server/wifi/util/MetricsUtils$LogHistParms;)[Lcom/android/server/wifi/util/MetricsUtils$GenericBucket;
+PLcom/android/server/wifi/util/NativeUtil;->macAddressFromByteArray([B)Ljava/lang/String;
+PLcom/android/server/wifi/util/NativeUtil;->macAddressToByteArray(Ljava/lang/String;)[B
+PLcom/android/server/wifi/util/NativeUtil;->macAddressToLong([B)Ljava/lang/Long;
+PLcom/android/server/wifi/util/NativeUtil;->removeEnclosingQuotes(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/wifi/util/NativeUtil;->stringToByteArray(Ljava/lang/String;)[B
+PLcom/android/server/wifi/util/NativeUtil;->stringToByteArrayList(Ljava/lang/String;)Ljava/util/ArrayList;
+PLcom/android/server/wifi/util/ScanResultUtil;->createQuotedSSID(Ljava/lang/String;)Ljava/lang/String;
+PLcom/android/server/wifi/util/ScanResultUtil;->isScanResultForOpenNetwork(Landroid/net/wifi/ScanResult;)Z
+PLcom/android/server/wifi/util/TelephonyUtil;->getSimMethodForConfig(Landroid/net/wifi/WifiConfiguration;)I
+PLcom/android/server/wifi/util/TelephonyUtil;->isSimConfig(Landroid/net/wifi/WifiConfiguration;)Z
+PLcom/android/server/wifi/util/TelephonyUtil;->isSimEapMethod(I)Z
+PLcom/android/server/wifi/util/WifiAsyncChannel;->sendMessage(Landroid/os/Message;)V
+PLcom/android/server/wifi/util/WifiPermissionsUtil;->checkCallersFineLocationPermission(Ljava/lang/String;I)Z
+PLcom/android/server/wifi/util/WifiPermissionsUtil;->checkCallersLocationPermission(Ljava/lang/String;IZ)Z
+PLcom/android/server/wifi/util/WifiPermissionsUtil;->checkConfigOverridePermission(I)Z
+PLcom/android/server/wifi/util/WifiPermissionsUtil;->checkNetworkManagedProvisioningPermission(I)Z
+PLcom/android/server/wifi/util/WifiPermissionsUtil;->checkNetworkSettingsPermission(I)Z
+PLcom/android/server/wifi/util/WifiPermissionsUtil;->checkNetworkSetupWizardPermission(I)Z
+PLcom/android/server/wifi/util/WifiPermissionsUtil;->checkPackage(ILjava/lang/String;)V
+PLcom/android/server/wifi/util/WifiPermissionsUtil;->enforceCanAccessScanResults(Ljava/lang/String;I)V
+PLcom/android/server/wifi/util/WifiPermissionsUtil;->enforceCanAccessScanResultsForWifiScanner(Ljava/lang/String;IZ)V
+PLcom/android/server/wifi/util/WifiPermissionsUtil;->enforceCanAccessScanResultsForWifiScanner(Ljava/lang/String;IZZ)V
+PLcom/android/server/wifi/util/WifiPermissionsUtil;->enforceFineLocationPermission(Ljava/lang/String;I)V
+PLcom/android/server/wifi/util/WifiPermissionsUtil;->isCurrentProfile(I)Z
+PLcom/android/server/wifi/util/WifiPermissionsUtil;->isTargetSdkLessThan(Ljava/lang/String;I)Z
+PLcom/android/server/wifi/util/WifiPermissionsWrapper;->getCallingUserId(I)I
+PLcom/android/server/wifi/util/WifiPermissionsWrapper;->getDevicePolicyManagerInternal()Landroid/app/admin/DevicePolicyManagerInternal;
+PLcom/android/server/wifi/util/WifiPermissionsWrapper;->getLocalMacAddressPermission(I)I
+PLcom/android/server/wifi/util/WifiPermissionsWrapper;->getOverrideWifiConfigPermission(I)I
+PLcom/android/server/wifi/util/WifiPermissionsWrapper;->getUidPermission(Ljava/lang/String;I)I
+PLcom/android/server/wifi/util/XmlUtil$IpConfigurationXmlUtil;->parseFromXml(Lorg/xmlpull/v1/XmlPullParser;I)Landroid/net/IpConfiguration;
+PLcom/android/server/wifi/util/XmlUtil$IpConfigurationXmlUtil;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;Landroid/net/IpConfiguration;)V
+PLcom/android/server/wifi/util/XmlUtil$NetworkSelectionStatusXmlUtil;->parseFromXml(Lorg/xmlpull/v1/XmlPullParser;I)Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;
+PLcom/android/server/wifi/util/XmlUtil$NetworkSelectionStatusXmlUtil;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;Landroid/net/wifi/WifiConfiguration$NetworkSelectionStatus;)V
+PLcom/android/server/wifi/util/XmlUtil$WifiConfigurationXmlUtil;->parseFromXml(Lorg/xmlpull/v1/XmlPullParser;I)Landroid/util/Pair;
+PLcom/android/server/wifi/util/XmlUtil$WifiConfigurationXmlUtil;->populateWepKeysFromXmlValue(Ljava/lang/Object;[Ljava/lang/String;)V
+PLcom/android/server/wifi/util/XmlUtil$WifiConfigurationXmlUtil;->writeCommonElementsToXml(Lorg/xmlpull/v1/XmlSerializer;Landroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/util/XmlUtil$WifiConfigurationXmlUtil;->writeToXmlForConfigStore(Lorg/xmlpull/v1/XmlSerializer;Landroid/net/wifi/WifiConfiguration;)V
+PLcom/android/server/wifi/util/XmlUtil$WifiConfigurationXmlUtil;->writeWepKeysToXml(Lorg/xmlpull/v1/XmlSerializer;[Ljava/lang/String;)V
+PLcom/android/server/wifi/util/XmlUtil$WifiEnterpriseConfigXmlUtil;->parseFromXml(Lorg/xmlpull/v1/XmlPullParser;I)Landroid/net/wifi/WifiEnterpriseConfig;
+PLcom/android/server/wifi/util/XmlUtil$WifiEnterpriseConfigXmlUtil;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;Landroid/net/wifi/WifiEnterpriseConfig;)V
+PLcom/android/server/wifi/util/XmlUtil;->gotoNextSectionWithNameOrEnd(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)Z
+PLcom/android/server/wifi/util/XmlUtil;->readNextValueWithName(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/lang/Object;
+PLcom/android/server/wifi/wificond/ChannelSettings$1;-><init>()V
+PLcom/android/server/wifi/wificond/ChannelSettings;->writeToParcel(Landroid/os/Parcel;I)V
+PLcom/android/server/wifi/wificond/HiddenNetwork$1;-><init>()V
+PLcom/android/server/wifi/wificond/HiddenNetwork;->writeToParcel(Landroid/os/Parcel;I)V
+PLcom/android/server/wifi/wificond/NativeScanResult$1;-><init>()V
+PLcom/android/server/wifi/wificond/NativeScanResult$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/server/wifi/wificond/NativeScanResult;
+PLcom/android/server/wifi/wificond/NativeScanResult$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLcom/android/server/wifi/wificond/NativeScanResult$1;->newArray(I)[Lcom/android/server/wifi/wificond/NativeScanResult;
+PLcom/android/server/wifi/wificond/NativeScanResult$1;->newArray(I)[Ljava/lang/Object;
+PLcom/android/server/wifi/wificond/PnoNetwork$1;-><init>()V
+PLcom/android/server/wifi/wificond/PnoNetwork;->writeToParcel(Landroid/os/Parcel;I)V
+PLcom/android/server/wifi/wificond/PnoSettings$1;-><init>()V
+PLcom/android/server/wifi/wificond/PnoSettings;->writeToParcel(Landroid/os/Parcel;I)V
+PLcom/android/server/wifi/wificond/RadioChainInfo$1;-><init>()V
+PLcom/android/server/wifi/wificond/RadioChainInfo$1;->createFromParcel(Landroid/os/Parcel;)Lcom/android/server/wifi/wificond/RadioChainInfo;
+PLcom/android/server/wifi/wificond/RadioChainInfo$1;->createFromParcel(Landroid/os/Parcel;)Ljava/lang/Object;
+PLcom/android/server/wifi/wificond/SingleScanSettings$1;-><init>()V
+PLcom/android/server/wifi/wificond/SingleScanSettings;->writeToParcel(Landroid/os/Parcel;I)V
+PLcom/android/server/wm/-$$Lambda$-OevXHSXgaSE351ZqRnMoA024MM;->run()V
 PLcom/android/server/wm/-$$Lambda$2KrtdmjrY7Nagc4IRqzCk9gDuQU;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$8kACnZAYfDhQTXwuOd2shUPmkTE;-><init>(Lcom/android/server/wm/WindowTracing;)V
-PLcom/android/server/wm/-$$Lambda$8kACnZAYfDhQTXwuOd2shUPmkTE;->run()V
-PLcom/android/server/wm/-$$Lambda$AppWindowContainerController$8qyUV78Is6_I1WVMp6w8VGpeuOE;-><init>(Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;)V
-PLcom/android/server/wm/-$$Lambda$AppWindowContainerController$8qyUV78Is6_I1WVMp6w8VGpeuOE;->run()V
-PLcom/android/server/wm/-$$Lambda$AppWindowContainerController$BD6wMjkwgPM5dckzkeLRiPrmx9Y;-><init>(Lcom/android/server/wm/AppWindowContainerController;)V
-PLcom/android/server/wm/-$$Lambda$AppWindowContainerController$BD6wMjkwgPM5dckzkeLRiPrmx9Y;->run()V
-PLcom/android/server/wm/-$$Lambda$AppWindowContainerController$mZqlV7Ety8-HHzaQXVEl4hu-8mc;-><init>(Lcom/android/server/wm/AppWindowContainerController;)V
-PLcom/android/server/wm/-$$Lambda$AppWindowContainerController$mZqlV7Ety8-HHzaQXVEl4hu-8mc;->run()V
-PLcom/android/server/wm/-$$Lambda$AppWindowToken$ErIvy8Kb9OulX2W0_mr0NNBS-KE;-><init>()V
-PLcom/android/server/wm/-$$Lambda$AppWindowToken$ErIvy8Kb9OulX2W0_mr0NNBS-KE;->apply(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$AppWindowToken$jSO6pNpAHzC89v5XTI_Oj39kDGg;-><init>()V
-PLcom/android/server/wm/-$$Lambda$AppWindowToken$jSO6pNpAHzC89v5XTI_Oj39kDGg;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$Dimmer$DimState$jMIg4fVfhKsf8fm7mIcffBmkFt8;-><init>(Lcom/android/server/wm/Dimmer$DimState;)V
-PLcom/android/server/wm/-$$Lambda$Dimmer$DimState$jMIg4fVfhKsf8fm7mIcffBmkFt8;->run()V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$0yxrqH9eGY2qTjH1u_BvaVrXCSA;-><init>(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$1C_-u_mpQFfKL_O8K1VFzBgPg50;-><init>(II)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$1C_-u_mpQFfKL_O8K1VFzBgPg50;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$2VlyMN8z2sOPqE9-yf-z3-peRMI;-><init>(I)V
+PLcom/android/server/wm/-$$Lambda$6DEhn1zqxqV5_Ytb_NyzMW23Ano;->make()Landroid/view/Surface;
+PLcom/android/server/wm/-$$Lambda$99XNq73vh8e4HVH9BuxFhbLxKVY;-><init>()V
+PLcom/android/server/wm/-$$Lambda$99XNq73vh8e4HVH9BuxFhbLxKVY;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$AccessibilityController$WindowsForAccessibilityObserver$vRhBz0DqTZWNemKfoIyId7HacTk;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$0lYHhsj1ibZMP6eUAxlwT_URn-4;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$DGh4oiUM74EvEwFf0Up59dk2u_I;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityMetricsLogger$xxgDrxthXaC_M25gC-YvHOsQ6yE;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityServiceConnectionsHolder$E9W1qwLXBAwoppLfYj6pecVF_x8;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$PHIj4FpzoLIwUTmMRMOYA9us0rc;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityStartController$6bTAPCVeDq_D4Y53Y5WNfMK4xBE;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityStarter$Zh66L6L9t3q506-4rrDCffLoOU8;-><init>(Lcom/android/server/wm/ActivityStarter;Ljava/lang/String;)V
+PLcom/android/server/wm/-$$Lambda$ActivityStarter$Zh66L6L9t3q506-4rrDCffLoOU8;->run()V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$3DTHgCAeEd5OOF7ACeXoCk8mmrQ;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$3DTHgCAeEd5OOF7ACeXoCk8mmrQ;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$7ieG0s-7Zp4H2bLiWdOgB6MqhcI;-><init>()V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$7ieG0s-7Zp4H2bLiWdOgB6MqhcI;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$Uli7s8UWTEj0IpBUtoST5bmgvKk;->run()V
+PLcom/android/server/wm/-$$Lambda$AlertWindowNotification$ZuqSYML-X-nkNVTba_yeIT9hJ1s;->run()V
+PLcom/android/server/wm/-$$Lambda$AlertWindowNotification$iVtcJMb6VtqtAgEtGUDCkGay0tM;->run()V
+PLcom/android/server/wm/-$$Lambda$AppTransition$B95jxKE2FnT5RNLStTafenhEYj4;-><init>()V
+PLcom/android/server/wm/-$$Lambda$AppTransition$B95jxKE2FnT5RNLStTafenhEYj4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$AppTransition$xrq-Gwel_FcpfDvO2DrCfGN_3bk;->run()V
+PLcom/android/server/wm/-$$Lambda$AppTransitionController$ESsBJ2royCDDfelW3z7cgYH5q2I;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$AppTransitionController$YfQg1m68hbvcHoXbvzomyslzuaU;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$AppTransitionController$j4jrKo6PKtYRjRfPVQMMiQB02jg;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$AppWindowToken$JR7Cr936i7DlrzcjMaXdnVHq3NU;->run()V
+PLcom/android/server/wm/-$$Lambda$AppWindowToken$NwyjcPHhaxqkEKaJxeRVkzuWYXc;-><init>()V
+PLcom/android/server/wm/-$$Lambda$AppWindowToken$NwyjcPHhaxqkEKaJxeRVkzuWYXc;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$AppWindowToken$nF85SgNnIhRmVDk5ZRCmd3hL2jU;->get()Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$AppWindowToken$q4coBLJ_h6za5tXaFxh-mXEdx0M;-><init>()V
+PLcom/android/server/wm/-$$Lambda$AppWindowToken$q4coBLJ_h6za5tXaFxh-mXEdx0M;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$BoundsAnimationController$MoVv_WhxoMrTVo-xz1qu2FMcYrM;->run()V
+PLcom/android/server/wm/-$$Lambda$Dimmer$DimState$QYvwJex5H10MFMe0LEzEUs1b2G0;->run()V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$-XeeexVnAosqA0zfHVCT_Txqwl8;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$05CtqlkxQvjLanO8D5BmaCdILKQ;-><init>()V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$05CtqlkxQvjLanO8D5BmaCdILKQ;->test(Ljava/lang/Object;)Z
 PLcom/android/server/wm/-$$Lambda$DisplayContent$2VlyMN8z2sOPqE9-yf-z3-peRMI;->test(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$DisplayContent$5D_ifLpk7QwG-e9ZLZynNnDca9g;-><init>()V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$5D_ifLpk7QwG-e9ZLZynNnDca9g;->test(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$DisplayContent$68_t-1mHyvN9aDP5Tt_BKUPoYT8;-><init>(Lcom/android/server/policy/WindowManagerPolicy;ZZ)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$68_t-1mHyvN9aDP5Tt_BKUPoYT8;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$7uZtakUXzuXqF_Qht5Uq7LUvubI;-><init>(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$7voe_dEKk2BYMriCvPuvaznb9WQ;-><init>(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$BgTlvHbVclnASz-MrvERWxyMV-A;-><init>(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$BgTlvHbVclnASz-MrvERWxyMV-A;->test(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$DisplayContent$D0QJUvhaQkGgoMtOmjw5foY9F8M;-><init>(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$JYsrGdifTPH6ASJDC3B9YWMD2pw;-><init>(I)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$JYsrGdifTPH6ASJDC3B9YWMD2pw;->test(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$DisplayContent$JibsaX4YnJd0ta_wiDDdSp-PjQk;-><init>(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$FI_O7m2qEDfIRZef3D32AxG-rcs;-><init>()V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$nqCymC3xR9b3qaeohnnJJpSiajc;-><init>(Lcom/android/server/wm/DisplayContent$NonAppWindowContainers;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$nqCymC3xR9b3qaeohnnJJpSiajc;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/wm/-$$Lambda$DisplayContent$TPj3OjTsuIg5GTLb5nMmFqIghA4;-><init>(Lcom/android/server/wm/DisplayContent;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$3g7y7M5XrDR3cz8tOp9f3pwWbyQ;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$6JBeP1kHNEOYWOxrGZAL2uDFT0c;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$7Z9gsguOLtfXssJUALjgEsOLZoE;-><init>()V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$7Z9gsguOLtfXssJUALjgEsOLZoE;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$DisplayContent$GdYfLI7hkBs2XfGJkN6DbdzEs8U;->accept(Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$DisplayContent$TPj3OjTsuIg5GTLb5nMmFqIghA4;->test(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$DisplayContent$fiC19lMy-d_-rvza7hhOSw6bOM8;-><init>(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$fiC19lMy-d_-rvza7hhOSw6bOM8;->compute(Ljava/lang/Object;I)Ljava/lang/Object;
-PLcom/android/server/wm/-$$Lambda$DisplayContent$hRKjZwmneu0T85LNNY6_Zcs4gKM;-><init>(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$hRKjZwmneu0T85LNNY6_Zcs4gKM;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$jJlRHCiYzTPceX3tUkQ_1wUz71E;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$jJlRHCiYzTPceX3tUkQ_1wUz71E;->test(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$DisplayContent$mKe0fxS63Jo2y7lFQaTOMepRJDc;-><init>(Lcom/android/server/wm/DisplayContent;Z)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$mKe0fxS63Jo2y7lFQaTOMepRJDc;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$oqhmXZMcpcvgI50swQTzosAcjac;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/policy/WindowManagerPolicy;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$oqhmXZMcpcvgI50swQTzosAcjac;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$qT01Aq6xt_ZOs86A1yDQe-qmPFQ;-><init>(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/-$$Lambda$DisplayContent$qxt4izS31fb0LF2uo_OF9DMa7gc;-><init>(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/-$$Lambda$LocalAnimationAdapter$X--EomqUvw4qy89IeeTFTH7aCMo;-><init>(Lcom/android/server/wm/LocalAnimationAdapter;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$TaskStackContainers$rQnI0Y8R9ptQ09cGHwbCHDiG2FY;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$UpcoNmXQIJX_lHKnFIxs4t_Pu24;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$DisplayContent$bVYRnDjlw0SRKh7v85g3NfojU10;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayContent$loNgSXGpVJk0AI1CQnSnj_CUatI;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$DisplayContent$mRojqgB8byVtZRzyTl2qSRFPgIo;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$DisplayContent$msiHJB643d12CRkLvIJFD5IV-wc;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$DisplayContent$w9ep5dwa3CsKsu0rpKSQwF-60A4;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$DisplayPolicy$2k2wF7mmwjs9mN1gLPMFOf0lfXY;->run()V
+PLcom/android/server/wm/-$$Lambda$DragState$-yUFIMrhYYccZ0gwd6eVcpAE93o;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$LI60v4Y5Me6khV12IZ-zEQtSx7A;-><init>()V
+PLcom/android/server/wm/-$$Lambda$LI60v4Y5Me6khV12IZ-zEQtSx7A;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$KukKmVpn5W_1xSV6Dnp8wW2H2Ks;-><init>()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$KukKmVpn5W_1xSV6Dnp8wW2H2Ks;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$UGY1OclnLIQLMEL9B55qjERFf4o;-><init>()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$UGY1OclnLIQLMEL9B55qjERFf4o;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$iVXZh14_jAo_Gegs5q3ygQDW-ow;-><init>()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$iVXZh14_jAo_Gegs5q3ygQDW-ow;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$kM3MnXbSpyNkUV4eUyr4OwWCqqA;-><init>()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$kM3MnXbSpyNkUV4eUyr4OwWCqqA;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$lAGPwfsXJvBWsyG2rbEfo3sTv34;-><init>()V
+PLcom/android/server/wm/-$$Lambda$LaunchObserverRegistryImpl$lAGPwfsXJvBWsyG2rbEfo3sTv34;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$LocalAnimationAdapter$X--EomqUvw4qy89IeeTFTH7aCMo;->run()V
-PLcom/android/server/wm/-$$Lambda$PinnedStackController$PinnedStackControllerCallback$MdGjZinCTxKrX3GJTl1CXkAuFro;-><init>(Lcom/android/server/wm/PinnedStackController$PinnedStackControllerCallback;I)V
+PLcom/android/server/wm/-$$Lambda$OPdXuZQLetMnocdH6XV32JbNQ3I;->getSystemDirectoryForUser(I)Ljava/io/File;
+PLcom/android/server/wm/-$$Lambda$OuObUsm0bB9g5X0kIXYkBYHvodY;->apply(I)Ljava/lang/Object;
+PLcom/android/server/wm/-$$Lambda$PendingRemoteAnimationRegistry$Entry$giivzkMgzIxukCXvO2EVzLb0oxo;->run()V
+PLcom/android/server/wm/-$$Lambda$PersisterQueue$HOTPBvinkMOqT3zxV3gRm6Y9Wi4;->process()V
 PLcom/android/server/wm/-$$Lambda$PinnedStackController$PinnedStackControllerCallback$MdGjZinCTxKrX3GJTl1CXkAuFro;->run()V
-PLcom/android/server/wm/-$$Lambda$RemoteAnimationController$f_Hsu4PN7pGOiq9Nl8vxzEA3wa0;-><init>(Lcom/android/server/wm/RemoteAnimationController;[Landroid/view/RemoteAnimationTarget;)V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimation$-wmjRW3SbUL05VbZ7U49czED0C0;->run()V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimation$e3kosml-870P6Bh_K_Z_6yyLHZk;->run()V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimation$maWFdp-vN04gpjsVfJu49wyo8hQ;->run()V
+PLcom/android/server/wm/-$$Lambda$RecentsAnimation$qEI7OxINlBaNSqvqvfFDwEY1uPA;->run()V
 PLcom/android/server/wm/-$$Lambda$RemoteAnimationController$f_Hsu4PN7pGOiq9Nl8vxzEA3wa0;->run()V
-PLcom/android/server/wm/-$$Lambda$RemoteAnimationController$uQS8vaPKQ-E3x_9G8NCxPQmw1fw;-><init>(Lcom/android/server/wm/RemoteAnimationController;)V
-PLcom/android/server/wm/-$$Lambda$RootWindowContainer$0aCEx04eIvMHmZVtI4ucsiK5s9I;-><init>()V
-PLcom/android/server/wm/-$$Lambda$RootWindowContainer$0aCEx04eIvMHmZVtI4ucsiK5s9I;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$RootWindowContainer$3VVFoec4x74e1MMAq03gYI9kKjo;-><init>(IZ)V
-PLcom/android/server/wm/-$$Lambda$RootWindowContainer$3VVFoec4x74e1MMAq03gYI9kKjo;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$RootWindowContainer$Vvv8jzH2oSE9-eakZwTuKd5NpsU;-><init>()V
-PLcom/android/server/wm/-$$Lambda$RootWindowContainer$Vvv8jzH2oSE9-eakZwTuKd5NpsU;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$RootWindowContainer$qT2ficAmvrvFcBdiJIGNKxJ8Z9Q;-><init>(Lcom/android/server/wm/RootWindowContainer;)V
+PLcom/android/server/wm/-$$Lambda$RemoteAnimationController$uQS8vaPKQ-E3x_9G8NCxPQmw1fw;->run()V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$52o5lSf6FWvRXCAmDBM_O5nRSXM;-><init>()V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$52o5lSf6FWvRXCAmDBM_O5nRSXM;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$IlD1lD49ui7gQmU2NkxgnXIhlOo;->apply(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$auMc5HUrsvttHP3CYY9dttuuvi8;-><init>()V
+PLcom/android/server/wm/-$$Lambda$RootWindowContainer$auMc5HUrsvttHP3CYY9dttuuvi8;->accept(Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$RootWindowContainer$qT2ficAmvrvFcBdiJIGNKxJ8Z9Q;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$9Wa9MhcrSX12liOouHtYXEkDU60;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/-$$Lambda$StatusBarController$1$CizMeoiz6ZVrkt6kAKpSV5htmyc;->run()V
 PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$9Wa9MhcrSX12liOouHtYXEkDU60;->doFrame(J)V
-PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$lSzwjoKEGADoEFOzdEnwriAk0T4;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$SGOilG6qRe0XTsTJRQqQKhta0pA;->run()V
 PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$lSzwjoKEGADoEFOzdEnwriAk0T4;->run()V
-PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$puhYAP5tF0mSSJva-eUz59HnrkA;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/animation/ValueAnimator;)V
-PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$we7K92eAl3biB_bzyqbv5xCmasE;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V
+PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$puhYAP5tF0mSSJva-eUz59HnrkA;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
 PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$we7K92eAl3biB_bzyqbv5xCmasE;->makeAnimator()Landroid/animation/ValueAnimator;
-PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$xDyZdsMrcbp64p4BQmOGPvVnSWA;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V
-PLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$xDyZdsMrcbp64p4BQmOGPvVnSWA;->run()V
-PLcom/android/server/wm/-$$Lambda$SurfaceAnimator$SIBia0mND666K8lMCPsoid8pUTI;-><init>(Lcom/android/server/wm/SurfaceAnimator;Ljava/lang/Runnable;)V
 PLcom/android/server/wm/-$$Lambda$SurfaceAnimator$SIBia0mND666K8lMCPsoid8pUTI;->run()V
-PLcom/android/server/wm/-$$Lambda$SurfaceAnimator$vdRZk66hQVbQCvVXEaQCT1kVmFc;-><init>(Lcom/android/server/wm/SurfaceAnimator;Ljava/lang/Runnable;)V
 PLcom/android/server/wm/-$$Lambda$SurfaceAnimator$vdRZk66hQVbQCvVXEaQCT1kVmFc;->onAnimationFinished(Lcom/android/server/wm/AnimationAdapter;)V
-PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$1IXTXVXjIGs9ncGKW_v40ivZeoI;-><init>()V
-PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$1IXTXVXjIGs9ncGKW_v40ivZeoI;->apply(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$OPdXuZQLetMnocdH6XV32JbNQ3I;-><init>()V
-PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$OPdXuZQLetMnocdH6XV32JbNQ3I;->getSystemDirectoryForUser(I)Ljava/io/File;
-PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$ewi-Dm2ws6pdTXd1elso7FtoLKw;-><init>(Lcom/android/server/wm/TaskSnapshotController;)V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$9ngbiJ2r3x2ASHwN59tUFO2-2BQ;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$M2NSB3SSVJR2Tu4vihNfsIL31s4;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$MS67FdGix7tWO0Od9imcaKVXL7I;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$NLoKy9SbVr1EJpEjznsKi7yAlpg;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SByuGj5tpcCpjTH9lf5zHHv2gNM;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$ZLPZtiEvD_F4WUgH7BD4KPpdAWM;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$kss8MGli3T9b_Y-QDzR2cB843y8;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$ncM_yje7-m7HuiJvorBIH_C8Ou4;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$wuBjs4dj7gB_MI4dIdt2gV2Osus;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+PLcom/android/server/wm/-$$Lambda$TaskPersister$8TcnoL7JFvpj8NzBRg91ns5JOBw;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$TaskPersister$mW0HULrR8EtZ9La-pL9kLTnHSzk;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$TaskPersister$xdLXwftXa6l84QTg1zpxMnmtQ0g;->test(Ljava/lang/Object;)Z
+PLcom/android/server/wm/-$$Lambda$TaskPositioningController$u0oAwi82C-bAGo2JAsAc_9ZLi70;->run()V
+PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$b7mc92hqzbRpmpc99dYS4wKuL6Y;-><init>()V
+PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$b7mc92hqzbRpmpc99dYS4wKuL6Y;->apply(Ljava/lang/Object;)Z
 PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$ewi-Dm2ws6pdTXd1elso7FtoLKw;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$q-BG2kMqHK9gvuY43J0TfS4aSVU;-><init>(Lcom/android/server/wm/TaskSnapshotController;Lcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)V
 PLcom/android/server/wm/-$$Lambda$TaskSnapshotController$q-BG2kMqHK9gvuY43J0TfS4aSVU;->run()V
-PLcom/android/server/wm/-$$Lambda$UnknownAppVisibilityController$FYhcjOhYWVp6HX5hr3GGaPg67Gc;-><init>(Lcom/android/server/wm/UnknownAppVisibilityController;)V
+PLcom/android/server/wm/-$$Lambda$TaskStack$JFAlC6OMp1fc_hlvoNIZagoMK1U;->run()V
+PLcom/android/server/wm/-$$Lambda$TaskStack$n0sDe5GcitIQB-Orca4W45Hcc98;-><init>()V
+PLcom/android/server/wm/-$$Lambda$TaskStack$n0sDe5GcitIQB-Orca4W45Hcc98;->accept(Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$TaskTapPointerEventListener$Qq8YAj6yai3RMz5wJNKGVJNqsPM;->run()V
 PLcom/android/server/wm/-$$Lambda$UnknownAppVisibilityController$FYhcjOhYWVp6HX5hr3GGaPg67Gc;->run()V
-PLcom/android/server/wm/-$$Lambda$WallpaperController$6pruPGLeSJAwNl9vGfC87eso21w;-><init>(Lcom/android/server/wm/WallpaperController;)V
-PLcom/android/server/wm/-$$Lambda$WallpaperController$Gy7houdzET4VmpY0QJ2v-NX1b7k;-><init>(Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/-$$Lambda$WallpaperController$Gy7houdzET4VmpY0QJ2v-NX1b7k;->test(Ljava/lang/Object;)Z
 PLcom/android/server/wm/-$$Lambda$WindowAnimationSpec$jKE7Phq2DESkeBondpaNPBLn6Cs;-><init>()V
 PLcom/android/server/wm/-$$Lambda$WindowAnimationSpec$jKE7Phq2DESkeBondpaNPBLn6Cs;->get()Ljava/lang/Object;
-PLcom/android/server/wm/-$$Lambda$WindowAnimator$U3Fu5_RzEyNo8Jt6zTb2ozdXiqM;-><init>(Lcom/android/server/wm/WindowAnimator;)V
-PLcom/android/server/wm/-$$Lambda$WindowAnimator$U3Fu5_RzEyNo8Jt6zTb2ozdXiqM;->run()V
-PLcom/android/server/wm/-$$Lambda$WindowAnimator$ddXU8gK8rmDqri0OZVMNa3Y4GHk;-><init>(Lcom/android/server/wm/WindowAnimator;)V
-PLcom/android/server/wm/-$$Lambda$WindowAnimator$ddXU8gK8rmDqri0OZVMNa3Y4GHk;->doFrame(J)V
-PLcom/android/server/wm/-$$Lambda$WindowManagerService$5dMkMeana3BB2vTfpghrIR2jQMg;-><init>(Lcom/android/server/wm/WindowManagerService;Ljava/lang/Runnable;)V
-PLcom/android/server/wm/-$$Lambda$WindowManagerService$5dMkMeana3BB2vTfpghrIR2jQMg;->run()V
-PLcom/android/server/wm/-$$Lambda$WindowManagerService$CbEzJbdxOpfZ-AMUAcOVQZxepOo;-><init>(Landroid/app/IAssistDataReceiver;Landroid/graphics/Bitmap;)V
 PLcom/android/server/wm/-$$Lambda$WindowManagerService$CbEzJbdxOpfZ-AMUAcOVQZxepOo;->run()V
-PLcom/android/server/wm/-$$Lambda$WindowManagerService$Mfs-IxxijHiEAEKbLIL1x_17ck0;-><init>(Z)V
-PLcom/android/server/wm/-$$Lambda$WindowManagerService$Mfs-IxxijHiEAEKbLIL1x_17ck0;->accept(Ljava/lang/Object;)V
-PLcom/android/server/wm/-$$Lambda$WindowManagerService$XZ-U3HlCFtHp_gydNmNMeRmQMCI;-><init>()V
-PLcom/android/server/wm/-$$Lambda$WindowManagerService$XZ-U3HlCFtHp_gydNmNMeRmQMCI;->make(Landroid/view/SurfaceSession;)Landroid/view/SurfaceControl$Builder;
-PLcom/android/server/wm/-$$Lambda$WindowManagerService$hBnABSAsqXWvQ0zKwHWE4BZ3Mc0;-><init>()V
-PLcom/android/server/wm/-$$Lambda$WindowManagerService$hBnABSAsqXWvQ0zKwHWE4BZ3Mc0;->make()Landroid/view/SurfaceControl$Transaction;
-PLcom/android/server/wm/-$$Lambda$WindowManagerService$qOaUiWHWefHk1N5K-T4WND2mknQ;-><init>(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZZLcom/android/server/policy/WindowManagerPolicy;)V
-PLcom/android/server/wm/-$$Lambda$WindowManagerService$qOaUiWHWefHk1N5K-T4WND2mknQ;->run()V
-PLcom/android/server/wm/-$$Lambda$WindowSurfacePlacer$4Hbamt-LFcbu8AoZBoOZN_LveKQ;-><init>(Lcom/android/server/wm/WindowSurfacePlacer;)V
-PLcom/android/server/wm/-$$Lambda$WindowSurfacePlacer$4Hbamt-LFcbu8AoZBoOZN_LveKQ;->run()V
-PLcom/android/server/wm/-$$Lambda$WindowSurfacePlacer$AnzDJL6vBWwhbuz7sYsAfUAzZko;-><init>(ILandroid/util/ArraySet;)V
-PLcom/android/server/wm/-$$Lambda$WindowSurfacePlacer$AnzDJL6vBWwhbuz7sYsAfUAzZko;->test(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$WindowSurfacePlacer$tJcqA51ohv9DQjcvHOarwInr01s;-><init>()V
-PLcom/android/server/wm/-$$Lambda$WindowSurfacePlacer$tJcqA51ohv9DQjcvHOarwInr01s;->test(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$WindowSurfacePlacer$wCevQN6hMxiB97Eay8ibpi2Xaxo;-><init>()V
-PLcom/android/server/wm/-$$Lambda$WindowSurfacePlacer$wCevQN6hMxiB97Eay8ibpi2Xaxo;->test(Ljava/lang/Object;)Z
-PLcom/android/server/wm/-$$Lambda$WindowToken$tFLHn4S6WuSXW1gp1kvT_sp7WC0;-><init>(Lcom/android/server/wm/WindowToken;)V
+PLcom/android/server/wm/-$$Lambda$WindowManagerService$WNGTdzsJPsW8aUuJwsBZFDJuOo0;->accept(Ljava/lang/Object;)V
 PLcom/android/server/wm/-$$Lambda$WindowToken$tFLHn4S6WuSXW1gp1kvT_sp7WC0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/wm/-$$Lambda$yACUZqn1Ak-GL14-Nu3kHUSaLX0;-><init>()V
+PLcom/android/server/wm/-$$Lambda$j9nJq2XXOKyN4f0dfDaTjqmQRvg;-><init>()V
+PLcom/android/server/wm/-$$Lambda$j9nJq2XXOKyN4f0dfDaTjqmQRvg;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$l7wsAiYkcvlUYlIkk2IImQzEY8Q;-><init>()V
+PLcom/android/server/wm/-$$Lambda$l7wsAiYkcvlUYlIkk2IImQzEY8Q;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$pAuPvwUqsKCejIrAPrx0ARZSqeY;->test(Ljava/lang/Object;)Z
 PLcom/android/server/wm/-$$Lambda$yACUZqn1Ak-GL14-Nu3kHUSaLX0;->startAnimation(Lcom/android/server/wm/SurfaceAnimator;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;Z)V
-PLcom/android/server/wm/-$$Lambda$yVRF8YoeNdTa8GR1wDStVsHu8xM;-><init>(Lcom/android/server/wm/WindowContainer;)V
 PLcom/android/server/wm/-$$Lambda$yVRF8YoeNdTa8GR1wDStVsHu8xM;->run()V
-PLcom/android/server/wm/AnimatingAppWindowTokenRegistry;-><init>()V
+PLcom/android/server/wm/-$$Lambda$z5j5fiv3cZuY5AODkt3H3rhKimk;-><init>()V
+PLcom/android/server/wm/-$$Lambda$z5j5fiv3cZuY5AODkt3H3rhKimk;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/-$$Lambda$zP5AObb0-v-Zzwr-v8NXOg4Yt1c;-><init>()V
+PLcom/android/server/wm/-$$Lambda$zP5AObb0-v-Zzwr-v8NXOg4Yt1c;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver$MyHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerInternal$WindowsForAccessibilityCallback;)V
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->cacheWindows(Ljava/util/List;)V
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->computeChangedWindows(Z)V
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->computeWindowBoundsInScreen(Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->isReportedWindowType(I)Z
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->updateUnaccountedSpace(Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;Landroid/graphics/Region;Ljava/util/HashSet;)V
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->windowChangedNoLayer(Landroid/view/WindowInfo;Landroid/view/WindowInfo;)Z
+PLcom/android/server/wm/AccessibilityController$WindowsForAccessibilityObserver;->windowMattersToAccessibility(Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;Landroid/graphics/Region;Ljava/util/HashSet;)Z
+PLcom/android/server/wm/AccessibilityController;->onSomeWindowResizedOrMovedLocked()V
+PLcom/android/server/wm/AccessibilityController;->onWindowFocusChangedNotLocked()V
+PLcom/android/server/wm/AccessibilityController;->performComputeChangedWindowsNotLocked(Z)V
+PLcom/android/server/wm/AccessibilityController;->setWindowsForAccessibilityCallback(Lcom/android/server/wm/WindowManagerInternal$WindowsForAccessibilityCallback;)V
+PLcom/android/server/wm/ActivityDisplay;->continueUpdateImeTarget()V
+PLcom/android/server/wm/ActivityDisplay;->deferUpdateImeTarget()V
+PLcom/android/server/wm/ActivityDisplay;->getHomeActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityDisplay;->getHomeActivityForUser(I)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityDisplay;->getNextFocusableStack(Lcom/android/server/wm/ActivityStack;Z)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityDisplay;->getOrCreateStack(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;IZ)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityDisplay;->getPinnedStack()Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityDisplay;->getPresentUIDs()Landroid/util/IntArray;
+PLcom/android/server/wm/ActivityDisplay;->getStackAbove(Lcom/android/server/wm/ActivityStack;)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityDisplay;->hasPinnedStack()Z
+PLcom/android/server/wm/ActivityDisplay;->moveHomeActivityToTop(Ljava/lang/String;)Z
+PLcom/android/server/wm/ActivityDisplay;->moveHomeStackToFront(Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityDisplay;->moveStackBehindBottomMostVisibleStack(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/ActivityDisplay;->moveStackBehindStack(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/ActivityDisplay;->positionChildAtBottom(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/ActivityDisplay;->positionChildAtBottom(Lcom/android/server/wm/ActivityStack;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityDisplay;->positionChildAtTop(Lcom/android/server/wm/ActivityStack;Z)V
+PLcom/android/server/wm/ActivityDisplay;->registerStackOrderChangedListener(Lcom/android/server/wm/ActivityDisplay$OnStackOrderChangedListener;)V
+PLcom/android/server/wm/ActivityDisplay;->releaseSelfIfNeeded()V
+PLcom/android/server/wm/ActivityDisplay;->remove()V
+PLcom/android/server/wm/ActivityDisplay;->removeChild(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/ActivityDisplay;->resolveWindowingMode(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;I)I
+PLcom/android/server/wm/ActivityDisplay;->shouldDestroyContentOnRemove()Z
+PLcom/android/server/wm/ActivityDisplay;->supportsSystemDecorations()Z
+PLcom/android/server/wm/ActivityDisplay;->unregisterStackOrderChangedListener(Lcom/android/server/wm/ActivityDisplay$OnStackOrderChangedListener;)V
+PLcom/android/server/wm/ActivityMetricsLogger$H;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;-><init>(Lcom/android/server/wm/ActivityMetricsLogger;Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;Lcom/android/server/wm/ActivityRecord;I)V
+PLcom/android/server/wm/ActivityMetricsLogger;->checkVisibility(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->getTransitionType(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;)I
+PLcom/android/server/wm/ActivityMetricsLogger;->lambda$logAppTransitionMultiEvents$0$ActivityMetricsLogger(IILcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->lambda$logAppTransitionMultiEvents$1$ActivityMetricsLogger(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->lambda$logAppTransitionReportedDrawn$2$ActivityMetricsLogger(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->launchObserverNotifyActivityLaunched(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAbortedBgActivityStart(Landroid/content/Intent;Lcom/android/server/wm/WindowProcessController;ILjava/lang/String;IZIIZZ)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppDisplayed(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppFullyDrawn(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppStartMemoryStateCapture(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppTransition(IILcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppTransitionCancel(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppTransitionMultiEvents()V
+PLcom/android/server/wm/ActivityMetricsLogger;->logAppTransitionReportedDrawn(Lcom/android/server/wm/ActivityRecord;Z)Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyActivityLaunched(ILcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyActivityLaunched(ILcom/android/server/wm/ActivityRecord;ZZ)V
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyActivityLaunching(Landroid/content/Intent;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->notifyStartingWindowDrawn(IJ)V
+PLcom/android/server/wm/ActivityMetricsLogger;->reset(ZLcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->startTraces(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;)V
+PLcom/android/server/wm/ActivityMetricsLogger;->stopLaunchTrace(Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfo;)V
+PLcom/android/server/wm/ActivityRecord;->canLaunchHomeActivity(ILcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityRecord;->clearOptionsLocked()V
+PLcom/android/server/wm/ActivityRecord;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;IZ)V
+PLcom/android/server/wm/ActivityRecord;->deliverNewIntentLocked(ILandroid/content/Intent;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityRecord;->finishLaunchTickingLocked()V
+PLcom/android/server/wm/ActivityRecord;->isConfigurationCompatible(Landroid/content/res/Configuration;)Z
+PLcom/android/server/wm/ActivityRecord;->isInStackLocked()Z
+PLcom/android/server/wm/ActivityRecord;->isMainIntent(Landroid/content/Intent;)Z
+PLcom/android/server/wm/ActivityRecord;->isResolverOrChildActivity()Z
+PLcom/android/server/wm/ActivityRecord;->makeClientVisible()V
+PLcom/android/server/wm/ActivityRecord;->makeVisibleIfNeeded(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/ActivityRecord;->notifyAppResumed(Z)V
+PLcom/android/server/wm/ActivityRecord;->notifyUnknownVisibilityLaunched()V
+PLcom/android/server/wm/ActivityRecord;->onStartingWindowDrawn(J)V
+PLcom/android/server/wm/ActivityRecord;->pauseKeyDispatchingLocked()V
+PLcom/android/server/wm/ActivityRecord;->registerRemoteAnimations(Landroid/view/RemoteAnimationDefinition;)V
+PLcom/android/server/wm/ActivityRecord;->relaunchActivityLocked(ZZ)V
+PLcom/android/server/wm/ActivityRecord;->removeResultsLocked(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;I)V
+PLcom/android/server/wm/ActivityRecord;->removeWindowContainer()V
+PLcom/android/server/wm/ActivityRecord;->scheduleConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityRecord;->scheduleMultiWindowModeChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityRecord;->schedulePictureInPictureModeChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/ActivityRecord;->scheduleTopResumedActivityChanged(Z)V
+PLcom/android/server/wm/ActivityRecord;->setDisablePreviewScreenshots(Z)V
+PLcom/android/server/wm/ActivityRecord;->setOrientation(IZ)V
+PLcom/android/server/wm/ActivityRecord;->setTask(Lcom/android/server/wm/TaskRecord;)V
+PLcom/android/server/wm/ActivityRecord;->setWillCloseOrEnterPip(Z)V
+PLcom/android/server/wm/ActivityRecord;->shouldRelaunchLocked(ILandroid/content/res/Configuration;)Z
+PLcom/android/server/wm/ActivityRecord;->updateMultiWindowMode()V
+PLcom/android/server/wm/ActivityRecord;->updatePictureInPictureMode(Landroid/graphics/Rect;Z)V
+PLcom/android/server/wm/ActivityRecord;->writeIdentifierToProto(Landroid/util/proto/ProtoOutputStream;J)V
+PLcom/android/server/wm/ActivityRecord;->writeToProto(Landroid/util/proto/ProtoOutputStream;)V
+PLcom/android/server/wm/ActivityServiceConnectionsHolder;->addConnection(Ljava/lang/Object;)V
+PLcom/android/server/wm/ActivityServiceConnectionsHolder;->disconnectActivityFromServices()V
+PLcom/android/server/wm/ActivityServiceConnectionsHolder;->forEachConnection(Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/ActivityServiceConnectionsHolder;->lambda$disconnectActivityFromServices$0$ActivityServiceConnectionsHolder()V
+PLcom/android/server/wm/ActivityServiceConnectionsHolder;->removeConnection(Ljava/lang/Object;)V
+PLcom/android/server/wm/ActivityStack$ActivityStackHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/ActivityStack;->activityDestroyedLocked(Landroid/os/IBinder;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityStack;->activityDestroyedLocked(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityStack;->addStartingWindowsForVisibleActivities(Z)V
+PLcom/android/server/wm/ActivityStack;->adjustFocusToNextFocusableStack(Ljava/lang/String;)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityStack;->adjustFocusToNextFocusableStack(Ljava/lang/String;Z)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityStack;->affectedBySplitScreenResize()Z
+PLcom/android/server/wm/ActivityStack;->animateResizePinnedStack(Landroid/graphics/Rect;Landroid/graphics/Rect;IZ)V
+PLcom/android/server/wm/ActivityStack;->awakeFromSleepingLocked()V
+PLcom/android/server/wm/ActivityStack;->cleanUpActivityLocked(Lcom/android/server/wm/ActivityRecord;ZZ)V
+PLcom/android/server/wm/ActivityStack;->closeSystemDialogsLocked()V
+PLcom/android/server/wm/ActivityStack;->convertActivityToTranslucent(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->deferScheduleMultiWindowModeChanged()Z
+PLcom/android/server/wm/ActivityStack;->destroyActivityLocked(Lcom/android/server/wm/ActivityRecord;ZLjava/lang/String;)Z
+PLcom/android/server/wm/ActivityStack;->ensureVisibleActivitiesConfigurationLocked(Lcom/android/server/wm/ActivityRecord;Z)V
+PLcom/android/server/wm/ActivityStack;->executeAppTransition(Landroid/app/ActivityOptions;)V
+PLcom/android/server/wm/ActivityStack;->findActivityLocked(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Z)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityStack;->finishActivityAffinityLocked(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityStack;->finishActivityLocked(Lcom/android/server/wm/ActivityRecord;ILandroid/content/Intent;Ljava/lang/String;Z)Z
+PLcom/android/server/wm/ActivityStack;->finishActivityLocked(Lcom/android/server/wm/ActivityRecord;ILandroid/content/Intent;Ljava/lang/String;ZZ)Z
+PLcom/android/server/wm/ActivityStack;->finishActivityResultsLocked(Lcom/android/server/wm/ActivityRecord;ILandroid/content/Intent;)V
+PLcom/android/server/wm/ActivityStack;->finishCurrentActivityLocked(Lcom/android/server/wm/ActivityRecord;IZLjava/lang/String;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityStack;->finishTopCrashedActivityLocked(Lcom/android/server/wm/WindowProcessController;Ljava/lang/String;)Lcom/android/server/wm/TaskRecord;
+PLcom/android/server/wm/ActivityStack;->finishVoiceTask(Landroid/service/voice/IVoiceInteractionSession;)V
+PLcom/android/server/wm/ActivityStack;->getDefaultPictureInPictureBounds(F)Landroid/graphics/Rect;
+PLcom/android/server/wm/ActivityStack;->getStackId()I
+PLcom/android/server/wm/ActivityStack;->isAnimatingBoundsToFullscreen()Z
+PLcom/android/server/wm/ActivityStack;->moveTaskToBackLocked(I)Z
+PLcom/android/server/wm/ActivityStack;->moveTaskToFrontLocked(Lcom/android/server/wm/TaskRecord;ZLandroid/app/ActivityOptions;Lcom/android/server/am/AppTimeTracker;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityStack;->moveToBack(Ljava/lang/String;Lcom/android/server/wm/TaskRecord;)V
+PLcom/android/server/wm/ActivityStack;->moveToFrontAndResumeStateIfNeeded(Lcom/android/server/wm/ActivityRecord;ZZZLjava/lang/String;)V
+PLcom/android/server/wm/ActivityStack;->navigateUpToLocked(Lcom/android/server/wm/ActivityRecord;Landroid/content/Intent;ILandroid/content/Intent;)Z
+PLcom/android/server/wm/ActivityStack;->onActivityRemovedFromStack(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStack;->onParentChanged()V
+PLcom/android/server/wm/ActivityStack;->onPipAnimationEndResize()V
+PLcom/android/server/wm/ActivityStack;->positionChildWindowContainerAtBottom(Lcom/android/server/wm/TaskRecord;)V
+PLcom/android/server/wm/ActivityStack;->prepareActivityHideTransitionAnimation(Lcom/android/server/wm/ActivityRecord;I)V
+PLcom/android/server/wm/ActivityStack;->prepareFreezingTaskBounds()V
+PLcom/android/server/wm/ActivityStack;->remove()V
+PLcom/android/server/wm/ActivityStack;->removeActivityFromHistoryLocked(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityStack;->removeTask(Lcom/android/server/wm/TaskRecord;Ljava/lang/String;I)V
+PLcom/android/server/wm/ActivityStack;->resetTargetTaskIfNeededLocked(Lcom/android/server/wm/TaskRecord;Z)Landroid/app/ActivityOptions;
+PLcom/android/server/wm/ActivityStack;->resetTaskIfNeededLocked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityStack;->resize(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ActivityStack;->resumeTopActivityInNextFocusableStack(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Ljava/lang/String;)Z
+PLcom/android/server/wm/ActivityStack;->returnsToHomeStack()Z
+PLcom/android/server/wm/ActivityStack;->sendActivityResultLocked(ILcom/android/server/wm/ActivityRecord;Ljava/lang/String;IILandroid/content/Intent;)V
+PLcom/android/server/wm/ActivityStack;->setBounds(Landroid/graphics/Rect;)I
+PLcom/android/server/wm/ActivityStack;->setPictureInPictureActions(Ljava/util/List;)V
+PLcom/android/server/wm/ActivityStack;->setPictureInPictureAspectRatio(F)V
+PLcom/android/server/wm/ActivityStack;->setWindowingMode(I)V
+PLcom/android/server/wm/ActivityStack;->shouldUpRecreateTaskLocked(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)Z
+PLcom/android/server/wm/ActivityStack;->supportsSplitScreenWindowingMode()Z
+PLcom/android/server/wm/ActivityStack;->topRunningNonOverlayTaskActivity()Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityStack;->updateActivityApplicationInfoLocked(Landroid/content/pm/ApplicationInfo;)V
+PLcom/android/server/wm/ActivityStack;->updateBoundsAllowed(Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/ActivityStack;->updatePictureInPictureModeForPinnedStackAnimation(Landroid/graphics/Rect;Z)V
+PLcom/android/server/wm/ActivityStack;->updateTransitLocked(ILandroid/app/ActivityOptions;)V
+PLcom/android/server/wm/ActivityStack;->willActivityBeVisibleLocked(Landroid/os/IBinder;)Z
+PLcom/android/server/wm/ActivityStackSupervisor$PendingActivityLaunch;-><init>(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/ActivityStack;Lcom/android/server/wm/WindowProcessController;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->acquireLaunchWakelock()V
+PLcom/android/server/wm/ActivityStackSupervisor;->activityRelaunchedLocked(Landroid/os/IBinder;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->activityRelaunchingLocked(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->cleanUpRemovedTaskLocked(Lcom/android/server/wm/TaskRecord;ZZ)V
+PLcom/android/server/wm/ActivityStackSupervisor;->cleanupActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->comeOutOfSleepIfNeededLocked()V
+PLcom/android/server/wm/ActivityStackSupervisor;->findTaskToMoveToFront(Lcom/android/server/wm/TaskRecord;ILandroid/app/ActivityOptions;Ljava/lang/String;Z)V
+PLcom/android/server/wm/ActivityStackSupervisor;->getActionRestrictionForCallingPackage(Ljava/lang/String;Ljava/lang/String;II)I
+PLcom/android/server/wm/ActivityStackSupervisor;->getComponentRestrictionForCallingPackage(Landroid/content/pm/ActivityInfo;Ljava/lang/String;IIZ)I
+PLcom/android/server/wm/ActivityStackSupervisor;->getReparentTargetStack(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/ActivityStack;Z)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/ActivityStackSupervisor;->getUserInfo(I)Landroid/content/pm/UserInfo;
+PLcom/android/server/wm/ActivityStackSupervisor;->moveTasksToFullscreenStackInSurfaceTransaction(Lcom/android/server/wm/ActivityStack;IZ)V
+PLcom/android/server/wm/ActivityStackSupervisor;->moveTasksToFullscreenStackLocked(Lcom/android/server/wm/ActivityStack;IZ)V
+PLcom/android/server/wm/ActivityStackSupervisor;->moveTasksToFullscreenStackLocked(Lcom/android/server/wm/ActivityStack;Z)V
+PLcom/android/server/wm/ActivityStackSupervisor;->onRecentTaskRemoved(Lcom/android/server/wm/TaskRecord;ZZ)V
+PLcom/android/server/wm/ActivityStackSupervisor;->removeTaskByIdLocked(IZZLjava/lang/String;)Z
+PLcom/android/server/wm/ActivityStackSupervisor;->removeTaskByIdLocked(IZZZLjava/lang/String;)Z
+PLcom/android/server/wm/ActivityStackSupervisor;->resizePinnedStackLocked(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->resolveActivity(Landroid/content/Intent;Landroid/content/pm/ResolveInfo;ILandroid/app/ProfilerInfo;)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/wm/ActivityStackSupervisor;->resolveActivity(Landroid/content/Intent;Ljava/lang/String;ILandroid/app/ProfilerInfo;II)Landroid/content/pm/ActivityInfo;
+PLcom/android/server/wm/ActivityStackSupervisor;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
+PLcom/android/server/wm/ActivityStackSupervisor;->restoreRecentTaskLocked(Lcom/android/server/wm/TaskRecord;Landroid/app/ActivityOptions;Z)Z
+PLcom/android/server/wm/ActivityStackSupervisor;->scheduleUpdateMultiWindowMode(Lcom/android/server/wm/TaskRecord;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->scheduleUpdatePictureInPictureModeIfNeeded(Lcom/android/server/wm/TaskRecord;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->scheduleUpdatePictureInPictureModeIfNeeded(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/ActivityStackSupervisor;->setNextTaskIdForUserLocked(II)V
+PLcom/android/server/wm/ActivityStackSupervisor;->startActivityFromRecents(IIILcom/android/server/wm/SafeActivityOptions;)I
+PLcom/android/server/wm/ActivityStackSupervisor;->updatePictureInPictureMode(Lcom/android/server/wm/TaskRecord;Landroid/graphics/Rect;Z)V
+PLcom/android/server/wm/ActivityStartController$StartHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/ActivityStartController;->addPendingActivityLaunch(Lcom/android/server/wm/ActivityStackSupervisor$PendingActivityLaunch;)V
+PLcom/android/server/wm/ActivityStartController;->checkTargetUser(IZIILjava/lang/String;)I
+PLcom/android/server/wm/ActivityStartController;->postStartActivityProcessingForLastStarter(Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/ActivityStartController;->registerRemoteAnimationForNextActivityStart(Ljava/lang/String;Landroid/view/RemoteAnimationAdapter;)V
+PLcom/android/server/wm/ActivityStartController;->schedulePendingActivityLaunches(J)V
+PLcom/android/server/wm/ActivityStartController;->startActivities(Landroid/app/IApplicationThread;IIILjava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Lcom/android/server/wm/SafeActivityOptions;ILjava/lang/String;Lcom/android/server/am/PendingIntentRecord;Z)I
+PLcom/android/server/wm/ActivityStartController;->startActivitiesInPackage(IIILjava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Lcom/android/server/wm/SafeActivityOptions;IZLcom/android/server/am/PendingIntentRecord;Z)I
+PLcom/android/server/wm/ActivityStartController;->startActivityInPackage(IIILjava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILcom/android/server/wm/SafeActivityOptions;ILcom/android/server/wm/TaskRecord;Ljava/lang/String;ZLcom/android/server/am/PendingIntentRecord;Z)I
+PLcom/android/server/wm/ActivityStarter;->canLaunchIntoFocusedStack(Lcom/android/server/wm/ActivityRecord;Z)Z
+PLcom/android/server/wm/ActivityStarter;->deliverNewIntent(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStarter;->lambda$startActivity$0$ActivityStarter(Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityStarter;->resumeTargetStackIfNeeded()V
+PLcom/android/server/wm/ActivityStarter;->setAllowBackgroundActivityStart(Z)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setAllowPendingRemoteAnimationRegistryLookup(Z)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setCaller(Landroid/app/IApplicationThread;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setCallingPackage(Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setCallingPid(I)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setComponentSpecified(Z)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setFilterCallingUid(I)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setGlobalConfiguration(Landroid/content/res/Configuration;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setIgnoreTargetSecurity(Z)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setInTask(Lcom/android/server/wm/TaskRecord;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setMayWait(I)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setOriginatingPendingIntent(Lcom/android/server/am/PendingIntentRecord;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setProfilerInfo(Landroid/app/ProfilerInfo;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setRealCallingPid(I)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setRealCallingUid(I)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setRequestCode(I)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setResolvedType(Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setResultTo(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setResultWho(Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setStartFlags(I)Lcom/android/server/wm/ActivityStarter;
+PLcom/android/server/wm/ActivityStarter;->setTargetStackAndMoveToFrontIfNeeded(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityStarter;->setTaskFromInTask()I
+PLcom/android/server/wm/ActivityStarter;->setTaskFromIntentActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/ActivityStarter;->setTaskFromSourceRecord()I
+PLcom/android/server/wm/ActivityStarter;->setTaskToCurrentTopOrCreateNewTask()V
+PLcom/android/server/wm/ActivityStarter;->startActivityMayWait(Landroid/app/IApplicationThread;ILjava/lang/String;IILandroid/content/Intent;Ljava/lang/String;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/app/WaitResult;Landroid/content/res/Configuration;Lcom/android/server/wm/SafeActivityOptions;ZILcom/android/server/wm/TaskRecord;Ljava/lang/String;ZLcom/android/server/am/PendingIntentRecord;Z)I
+PLcom/android/server/wm/ActivityStarter;->startResolvedActivity(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;IZLandroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;[Lcom/android/server/wm/ActivityRecord;)I
+PLcom/android/server/wm/ActivityTaskManagerService$Lifecycle;->onCleanupUser(I)V
+PLcom/android/server/wm/ActivityTaskManagerService$Lifecycle;->onUnlockUser(I)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->acquireSleepToken(Ljava/lang/String;I)Lcom/android/server/wm/ActivityTaskManagerInternal$SleepToken;
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->canGcNow()Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->canShowErrorDialogs()Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->cleanupDisabledPackageComponents(Ljava/lang/String;Ljava/util/Set;IZ)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->clearPendingResultForActivity(Landroid/os/IBinder;Ljava/lang/ref/WeakReference;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->closeSystemDialogs(Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->finishTopCrashedActivities(Lcom/android/server/wm/WindowProcessController;Ljava/lang/String;)I
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getIntentSender(ILjava/lang/String;IILandroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;)Landroid/content/IIntentSender;
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getServiceConnectionsHolder(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityServiceConnectionsHolder;
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTopVisibleActivities()Ljava/util/List;
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->handleAppCrashInActivityController(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;JLjava/lang/String;Ljava/lang/Runnable;)Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isShuttingDown()Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isUidForeground(I)Z
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->loadRecentTasksForUser(I)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyAppTransitionCancelled()V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyKeyguardFlagsChanged(Ljava/lang/Runnable;I)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onImeWindowSetOnDisplay(II)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onPackageAdded(Ljava/lang/String;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onPackageReplaced(Landroid/content/pm/ApplicationInfo;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidAddedToPendingTempWhitelist(ILjava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidRemovedFromPendingTempWhitelist(I)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUserStopped(I)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->removeUser(I)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->sendActivityResult(ILandroid/os/IBinder;Ljava/lang/String;IILandroid/content/Intent;)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->setAllowAppSwitches(Ljava/lang/String;II)V
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startActivitiesAsPackage(Ljava/lang/String;I[Landroid/content/Intent;Landroid/os/Bundle;)I
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startActivitiesInPackage(IIILjava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Lcom/android/server/wm/SafeActivityOptions;IZLcom/android/server/am/PendingIntentRecord;Z)I
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Landroid/os/Bundle;I)I
+PLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startActivityInPackage(IIILjava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILcom/android/server/wm/SafeActivityOptions;ILcom/android/server/wm/TaskRecord;Ljava/lang/String;ZLcom/android/server/am/PendingIntentRecord;Z)I
+PLcom/android/server/wm/ActivityTaskManagerService$PendingAssistExtras;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityRecord;Landroid/os/Bundle;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IAssistDataReceiver;Landroid/os/Bundle;I)V
+PLcom/android/server/wm/ActivityTaskManagerService$PendingAssistExtras;->run()V
+PLcom/android/server/wm/ActivityTaskManagerService;->activityDestroyed(Landroid/os/IBinder;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->activityRelaunched(Landroid/os/IBinder;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->cancelRecentsAnimation(Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->checkAllowAppSwitchUid(I)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->convertFromTranslucent(Landroid/os/IBinder;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->convertToTranslucent(Landroid/os/IBinder;Landroid/os/Bundle;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->dismissPip(ZI)V
+PLcom/android/server/wm/ActivityTaskManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->enqueueAssistContext(ILandroid/content/Intent;Ljava/lang/String;Landroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;ZZILandroid/os/Bundle;JI)Lcom/android/server/wm/ActivityTaskManagerService$PendingAssistExtras;
+PLcom/android/server/wm/ActivityTaskManagerService;->ensureValidPictureInPictureActivityParamsLocked(Ljava/lang/String;Landroid/os/IBinder;Landroid/app/PictureInPictureParams;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/ActivityTaskManagerService;->enterPictureInPictureMode(Landroid/os/IBinder;Landroid/app/PictureInPictureParams;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->finishActivity(Landroid/os/IBinder;ILandroid/content/Intent;I)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->finishActivityAffinity(Landroid/os/IBinder;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->finishVoiceTask(Landroid/service/voice/IVoiceInteractionSession;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->getActivityClassForToken(Landroid/os/IBinder;)Landroid/content/ComponentName;
+PLcom/android/server/wm/ActivityTaskManagerService;->getAllStackInfos()Ljava/util/List;
+PLcom/android/server/wm/ActivityTaskManagerService;->getAppOpsService()Lcom/android/server/appop/AppOpsService;
+PLcom/android/server/wm/ActivityTaskManagerService;->getAppTasks(Ljava/lang/String;)Ljava/util/List;
+PLcom/android/server/wm/ActivityTaskManagerService;->getCallingActivity(Landroid/os/IBinder;)Landroid/content/ComponentName;
+PLcom/android/server/wm/ActivityTaskManagerService;->getCallingPackage(Landroid/os/IBinder;)Ljava/lang/String;
+PLcom/android/server/wm/ActivityTaskManagerService;->getConfiguration()Landroid/content/res/Configuration;
+PLcom/android/server/wm/ActivityTaskManagerService;->getCurrentUserId()I
+PLcom/android/server/wm/ActivityTaskManagerService;->getDeviceConfigurationInfo()Landroid/content/pm/ConfigurationInfo;
+PLcom/android/server/wm/ActivityTaskManagerService;->getDevicePolicyManager()Landroid/app/admin/DevicePolicyManager;
+PLcom/android/server/wm/ActivityTaskManagerService;->getGlobalConfigurationForCallingPid()Landroid/content/res/Configuration;
+PLcom/android/server/wm/ActivityTaskManagerService;->getIntentSenderLocked(ILjava/lang/String;IILandroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;)Landroid/content/IIntentSender;
+PLcom/android/server/wm/ActivityTaskManagerService;->getLastResumedActivityUserId()I
+PLcom/android/server/wm/ActivityTaskManagerService;->getLaunchedFromUid(Landroid/os/IBinder;)I
+PLcom/android/server/wm/ActivityTaskManagerService;->getMaxNumPictureInPictureActions(Landroid/os/IBinder;)I
+PLcom/android/server/wm/ActivityTaskManagerService;->getProcessController(II)Lcom/android/server/wm/WindowProcessController;
+PLcom/android/server/wm/ActivityTaskManagerService;->getProcessController(Landroid/app/IApplicationThread;)Lcom/android/server/wm/WindowProcessController;
+PLcom/android/server/wm/ActivityTaskManagerService;->getRecentTasks(III)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/wm/ActivityTaskManagerService;->getRequestedOrientation(Landroid/os/IBinder;)I
+PLcom/android/server/wm/ActivityTaskManagerService;->getSecondaryHomeIntent(Ljava/lang/String;)Landroid/content/Intent;
+PLcom/android/server/wm/ActivityTaskManagerService;->getTaskDescriptionIcon(Ljava/lang/String;I)Landroid/graphics/Bitmap;
+PLcom/android/server/wm/ActivityTaskManagerService;->getTaskForActivity(Landroid/os/IBinder;Z)I
+PLcom/android/server/wm/ActivityTaskManagerService;->getTaskSnapshot(IZ)Landroid/app/ActivityManager$TaskSnapshot;
+PLcom/android/server/wm/ActivityTaskManagerService;->getUidState(I)I
+PLcom/android/server/wm/ActivityTaskManagerService;->getUidStateLocked(I)I
+PLcom/android/server/wm/ActivityTaskManagerService;->handleIncomingUser(IIILjava/lang/String;)I
+PLcom/android/server/wm/ActivityTaskManagerService;->hasUserRestriction(Ljava/lang/String;I)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isActivityStartsLoggingEnabled()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isAssistDataAllowedOnCurrentActivity()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isBackgroundActivityStartsEnabled()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isControllerAMonkey()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isDeviceOwner(Ljava/lang/String;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isInLockTaskMode()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isInMultiWindowMode(Landroid/os/IBinder;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isInPictureInPictureMode(Landroid/os/IBinder;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isInPictureInPictureMode(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isKeyguardLocked()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isTopOfTask(Landroid/os/IBinder;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->isUidForeground(I)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->keyguardGoingAway(I)V
+PLcom/android/server/wm/ActivityTaskManagerService;->lambda$enterPictureInPictureMode$4(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityRecord;Landroid/app/PictureInPictureParams;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->lambda$onScreenAwakeChanged$3$ActivityTaskManagerService(Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->logAppTooSlow(Lcom/android/server/wm/WindowProcessController;JLjava/lang/String;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->logPictureInPictureArgs(Landroid/app/PictureInPictureParams;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->moveActivityTaskToBack(Landroid/os/IBinder;Z)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->moveTaskToFrontLocked(IILcom/android/server/wm/SafeActivityOptions;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->moveTasksToFullscreenStack(IZ)V
+PLcom/android/server/wm/ActivityTaskManagerService;->navigateUpTo(Landroid/os/IBinder;Landroid/content/Intent;ILandroid/content/Intent;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->notifyPinnedStackAnimationEnded()V
+PLcom/android/server/wm/ActivityTaskManagerService;->notifyPinnedStackAnimationStarted()V
+PLcom/android/server/wm/ActivityTaskManagerService;->notifyTaskPersisterLocked(Lcom/android/server/wm/TaskRecord;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->onScreenAwakeChanged(Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->overridePendingTransition(Landroid/os/IBinder;Ljava/lang/String;II)V
+PLcom/android/server/wm/ActivityTaskManagerService;->pendingAssistExtrasTimedOut(Lcom/android/server/wm/ActivityTaskManagerService$PendingAssistExtras;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->registerRemoteAnimationForNextActivityStart(Ljava/lang/String;Landroid/view/RemoteAnimationAdapter;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->registerRemoteAnimations(Landroid/os/IBinder;Landroid/view/RemoteAnimationDefinition;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->removeTask(I)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->reportActivityFullyDrawn(Landroid/os/IBinder;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->reportAssistContextExtras(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/app/assist/AssistStructure;Landroid/app/assist/AssistContent;Landroid/net/Uri;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->requestAssistContextExtras(ILandroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;ZZ)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->requestAutofillData(Landroid/app/IAssistDataReceiver;Landroid/os/Bundle;Landroid/os/IBinder;I)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->requestStartActivityPermissionToken(Landroid/os/IBinder;)Landroid/os/IBinder;
+PLcom/android/server/wm/ActivityTaskManagerService;->resizePinnedStack(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->resizeStack(ILandroid/graphics/Rect;ZZZI)V
+PLcom/android/server/wm/ActivityTaskManagerService;->resumeAppSwitches()V
+PLcom/android/server/wm/ActivityTaskManagerService;->setDisablePreviewScreenshots(Landroid/os/IBinder;Z)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setFocusedTask(I)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setPictureInPictureParams(Landroid/os/IBinder;Landroid/app/PictureInPictureParams;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->setRequestedOrientation(Landroid/os/IBinder;I)V
+PLcom/android/server/wm/ActivityTaskManagerService;->shouldDisableNonVrUiLocked()Z
+PLcom/android/server/wm/ActivityTaskManagerService;->shouldUpRecreateTask(Landroid/os/IBinder;Ljava/lang/String;)Z
+PLcom/android/server/wm/ActivityTaskManagerService;->startActivities(Landroid/app/IApplicationThread;Ljava/lang/String;[Landroid/content/Intent;[Ljava/lang/String;Landroid/os/IBinder;Landroid/os/Bundle;I)I
+PLcom/android/server/wm/ActivityTaskManagerService;->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
+PLcom/android/server/wm/ActivityTaskManagerService;->startActivityAsCaller(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;Landroid/os/IBinder;ZI)I
+PLcom/android/server/wm/ActivityTaskManagerService;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;I)I
+PLcom/android/server/wm/ActivityTaskManagerService;->startActivityAsUser(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/app/ProfilerInfo;Landroid/os/Bundle;IZ)I
+PLcom/android/server/wm/ActivityTaskManagerService;->startActivityFromRecents(ILandroid/os/Bundle;)I
+PLcom/android/server/wm/ActivityTaskManagerService;->startActivityIntentSender(Landroid/app/IApplicationThread;Landroid/content/IIntentSender;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I
+PLcom/android/server/wm/ActivityTaskManagerService;->startActivityWithConfig(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IILandroid/content/res/Configuration;Landroid/os/Bundle;I)I
+PLcom/android/server/wm/ActivityTaskManagerService;->startAssistantActivity(Ljava/lang/String;IILandroid/content/Intent;Ljava/lang/String;Landroid/os/Bundle;I)I
+PLcom/android/server/wm/ActivityTaskManagerService;->startRecentsActivity(Landroid/content/Intent;Landroid/app/IAssistDataReceiver;Landroid/view/IRecentsAnimationRunner;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->stopAppSwitches()V
+PLcom/android/server/wm/ActivityTaskManagerService;->unregisterTaskStackListener(Landroid/app/ITaskStackListener;)V
+PLcom/android/server/wm/ActivityTaskManagerService;->updateOomAdj()V
+PLcom/android/server/wm/ActivityTaskManagerService;->willActivityBeVisible(Landroid/os/IBinder;)Z
+PLcom/android/server/wm/AlertWindowNotification;-><init>(Lcom/android/server/wm/WindowManagerService;Ljava/lang/String;)V
+PLcom/android/server/wm/AlertWindowNotification;->cancel(Z)V
+PLcom/android/server/wm/AlertWindowNotification;->createNotificationChannel(Landroid/content/Context;Ljava/lang/String;)V
+PLcom/android/server/wm/AlertWindowNotification;->getApplicationInfo(Landroid/content/pm/PackageManager;Ljava/lang/String;)Landroid/content/pm/ApplicationInfo;
+PLcom/android/server/wm/AlertWindowNotification;->lambda$cancel$0$AlertWindowNotification(Z)V
+PLcom/android/server/wm/AlertWindowNotification;->onPostNotification()V
+PLcom/android/server/wm/AlertWindowNotification;->post()V
 PLcom/android/server/wm/AnimatingAppWindowTokenRegistry;->endDeferringFinished()V
 PLcom/android/server/wm/AnimatingAppWindowTokenRegistry;->notifyAboutToFinish(Lcom/android/server/wm/AppWindowToken;Ljava/lang/Runnable;)Z
 PLcom/android/server/wm/AnimatingAppWindowTokenRegistry;->notifyFinished(Lcom/android/server/wm/AppWindowToken;)V
 PLcom/android/server/wm/AnimatingAppWindowTokenRegistry;->notifyStarting(Lcom/android/server/wm/AppWindowToken;)V
-PLcom/android/server/wm/AppTokenList;-><init>()V
-PLcom/android/server/wm/AppTransition$1;-><init>(Lcom/android/server/wm/AppTransition;)V
-PLcom/android/server/wm/AppTransition$2;-><init>(Lcom/android/server/wm/AppTransition;)V
-PLcom/android/server/wm/AppTransition;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/AppTransition;->canOverridePendingAppTransition()Z
+PLcom/android/server/wm/AppTaskImpl;->checkCaller()V
+PLcom/android/server/wm/AppTaskImpl;->finishAndRemoveTask()V
+PLcom/android/server/wm/AppTaskImpl;->getTaskInfo()Landroid/app/ActivityManager$RecentTaskInfo;
+PLcom/android/server/wm/AppTaskImpl;->setExcludeFromRecents(Z)V
+PLcom/android/server/wm/AppTransition$2;->getInterpolation(F)F
+PLcom/android/server/wm/AppTransition;->calculateClipRevealTransitionDuration(ZFFLandroid/graphics/Rect;)J
 PLcom/android/server/wm/AppTransition;->canSkipFirstFrame()Z
-PLcom/android/server/wm/AppTransition;->clear()V
-PLcom/android/server/wm/AppTransition;->fetchAppTransitionSpecsFromFuture()V
+PLcom/android/server/wm/AppTransition;->createClipRevealAnimationLocked(IZLandroid/graphics/Rect;Landroid/graphics/Rect;)Landroid/view/animation/Animation;
+PLcom/android/server/wm/AppTransition;->createScaleUpAnimationLocked(IZLandroid/graphics/Rect;)Landroid/view/animation/Animation;
+PLcom/android/server/wm/AppTransition;->doAnimationCallback(Landroid/os/IRemoteCallback;)V
+PLcom/android/server/wm/AppTransition;->freeze()V
 PLcom/android/server/wm/AppTransition;->getAppStackClipMode()I
-PLcom/android/server/wm/AppTransition;->getAppTransition()I
 PLcom/android/server/wm/AppTransition;->getCachedAnimations(Landroid/view/WindowManager$LayoutParams;)Lcom/android/server/AttributeCache$Entry;
-PLcom/android/server/wm/AppTransition;->getCachedAnimations(Ljava/lang/String;I)Lcom/android/server/AttributeCache$Entry;
+PLcom/android/server/wm/AppTransition;->getDefaultNextAppTransitionStartRect(Landroid/graphics/Rect;)V
 PLcom/android/server/wm/AppTransition;->getRemoteAnimationController()Lcom/android/server/wm/RemoteAnimationController;
-PLcom/android/server/wm/AppTransition;->getTransitFlags()I
-PLcom/android/server/wm/AppTransition;->goodToGo(ILcom/android/server/wm/AppWindowToken;Lcom/android/server/wm/AppWindowToken;Landroid/util/ArraySet;Landroid/util/ArraySet;)I
-PLcom/android/server/wm/AppTransition;->isActivityTransit(I)Z
-PLcom/android/server/wm/AppTransition;->isFetchingAppTransitionsSpecs()Z
-PLcom/android/server/wm/AppTransition;->isKeyguardGoingAwayTransit(I)Z
-PLcom/android/server/wm/AppTransition;->isKeyguardTransit(I)Z
+PLcom/android/server/wm/AppTransition;->handleAppTransitionTimeout()V
 PLcom/android/server/wm/AppTransition;->isNextAppTransitionOpenCrossProfileApps()Z
 PLcom/android/server/wm/AppTransition;->isNextAppTransitionThumbnailDown()Z
 PLcom/android/server/wm/AppTransition;->isNextAppTransitionThumbnailUp()Z
-PLcom/android/server/wm/AppTransition;->isReady()Z
-PLcom/android/server/wm/AppTransition;->isTaskOpenTransit(I)Z
-PLcom/android/server/wm/AppTransition;->isTaskTransit(I)Z
-PLcom/android/server/wm/AppTransition;->isTimeout()Z
-PLcom/android/server/wm/AppTransition;->isTransitionEqual(I)Z
 PLcom/android/server/wm/AppTransition;->loadAnimation(Landroid/view/WindowManager$LayoutParams;IZIILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZI)Landroid/view/animation/Animation;
 PLcom/android/server/wm/AppTransition;->loadAnimationAttr(Landroid/view/WindowManager$LayoutParams;II)Landroid/view/animation/Animation;
+PLcom/android/server/wm/AppTransition;->loadAnimationRes(Landroid/view/WindowManager$LayoutParams;I)Landroid/view/animation/Animation;
 PLcom/android/server/wm/AppTransition;->loadAnimationRes(Ljava/lang/String;I)Landroid/view/animation/Animation;
 PLcom/android/server/wm/AppTransition;->loadKeyguardExitAnimation(I)Landroid/view/animation/Animation;
-PLcom/android/server/wm/AppTransition;->needsBoosting()Z
-PLcom/android/server/wm/AppTransition;->notifyAppTransitionFinishedLocked(Landroid/os/IBinder;)V
-PLcom/android/server/wm/AppTransition;->notifyAppTransitionPendingLocked()V
-PLcom/android/server/wm/AppTransition;->notifyAppTransitionStartingLocked(ILandroid/os/IBinder;Landroid/os/IBinder;JJJ)I
 PLcom/android/server/wm/AppTransition;->overridePendingAppTransition(Ljava/lang/String;IILandroid/os/IRemoteCallback;)V
+PLcom/android/server/wm/AppTransition;->overridePendingAppTransitionClipReveal(IIII)V
 PLcom/android/server/wm/AppTransition;->overridePendingAppTransitionRemote(Landroid/view/RemoteAnimationAdapter;)V
-PLcom/android/server/wm/AppTransition;->postAnimationCallback()V
-PLcom/android/server/wm/AppTransition;->prepare()Z
-PLcom/android/server/wm/AppTransition;->prepareAppTransitionLocked(IZIZ)Z
-PLcom/android/server/wm/AppTransition;->registerListenerLocked(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V
-PLcom/android/server/wm/AppTransition;->setAppTransition(II)V
-PLcom/android/server/wm/AppTransition;->setAppTransitionState(I)V
-PLcom/android/server/wm/AppTransition;->setIdle()V
-PLcom/android/server/wm/AppTransition;->setLastAppTransition(ILcom/android/server/wm/AppWindowToken;Lcom/android/server/wm/AppWindowToken;)V
-PLcom/android/server/wm/AppTransition;->setReady()V
-PLcom/android/server/wm/AppTransition;->updateBooster()V
-PLcom/android/server/wm/AppTransition;->updateToTranslucentAnimIfNeeded(II)I
-PLcom/android/server/wm/AppWindowContainerController$1;-><init>(Lcom/android/server/wm/AppWindowContainerController;)V
-PLcom/android/server/wm/AppWindowContainerController$1;->run()V
-PLcom/android/server/wm/AppWindowContainerController$H;-><init>(Lcom/android/server/wm/AppWindowContainerController;Landroid/os/Looper;)V
-PLcom/android/server/wm/AppWindowContainerController$H;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/wm/AppWindowContainerController;-><init>(Lcom/android/server/wm/TaskWindowContainerController;Landroid/view/IApplicationToken;Lcom/android/server/wm/AppWindowContainerListener;IIZZIZZZIIJ)V
-PLcom/android/server/wm/AppWindowContainerController;-><init>(Lcom/android/server/wm/TaskWindowContainerController;Landroid/view/IApplicationToken;Lcom/android/server/wm/AppWindowContainerListener;IIZZIZZZIIJLcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/AppWindowContainerController;->addStartingWindow(Ljava/lang/String;ILandroid/content/res/CompatibilityInfo;Ljava/lang/CharSequence;IIIILandroid/os/IBinder;ZZZZZZ)Z
-PLcom/android/server/wm/AppWindowContainerController;->createAppWindow(Lcom/android/server/wm/WindowManagerService;Landroid/view/IApplicationToken;ZLcom/android/server/wm/DisplayContent;JZZIIIIZZLcom/android/server/wm/AppWindowContainerController;)Lcom/android/server/wm/AppWindowToken;
-PLcom/android/server/wm/AppWindowContainerController;->createSnapshot(Landroid/app/ActivityManager$TaskSnapshot;)Z
-PLcom/android/server/wm/AppWindowContainerController;->getOrientation()I
-PLcom/android/server/wm/AppWindowContainerController;->getStartingWindowType(ZZZZZZLandroid/app/ActivityManager$TaskSnapshot;)I
-PLcom/android/server/wm/AppWindowContainerController;->lambda$new$0(Lcom/android/server/wm/AppWindowContainerController;)V
-PLcom/android/server/wm/AppWindowContainerController;->lambda$new$1(Lcom/android/server/wm/AppWindowContainerController;)V
-PLcom/android/server/wm/AppWindowContainerController;->lambda$removeStartingWindow$2(Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;)V
-PLcom/android/server/wm/AppWindowContainerController;->notifyAppResumed(Z)V
-PLcom/android/server/wm/AppWindowContainerController;->notifyAppStopped()V
-PLcom/android/server/wm/AppWindowContainerController;->notifyAppStopping()V
-PLcom/android/server/wm/AppWindowContainerController;->notifyUnknownVisibilityLaunched()V
-PLcom/android/server/wm/AppWindowContainerController;->onOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/AppWindowContainerController;->pauseKeyDispatching()V
-PLcom/android/server/wm/AppWindowContainerController;->registerRemoteAnimations(Landroid/view/RemoteAnimationDefinition;)V
-PLcom/android/server/wm/AppWindowContainerController;->removeContainer(I)V
-PLcom/android/server/wm/AppWindowContainerController;->removeStartingWindow()V
-PLcom/android/server/wm/AppWindowContainerController;->reportStartingWindowDrawn()V
-PLcom/android/server/wm/AppWindowContainerController;->reportWindowsDrawn()V
-PLcom/android/server/wm/AppWindowContainerController;->reportWindowsGone()V
-PLcom/android/server/wm/AppWindowContainerController;->reportWindowsVisible()V
-PLcom/android/server/wm/AppWindowContainerController;->resumeKeyDispatching()V
-PLcom/android/server/wm/AppWindowContainerController;->scheduleAddStartingWindow()V
-PLcom/android/server/wm/AppWindowContainerController;->setOrientation(IILandroid/content/res/Configuration;Z)Landroid/content/res/Configuration;
-PLcom/android/server/wm/AppWindowContainerController;->setVisibility(ZZ)V
-PLcom/android/server/wm/AppWindowContainerController;->snapshotOrientationSameAsTask(Landroid/app/ActivityManager$TaskSnapshot;)Z
-PLcom/android/server/wm/AppWindowContainerController;->startFreezingScreen(I)V
-PLcom/android/server/wm/AppWindowContainerController;->stopFreezingScreen(Z)V
-PLcom/android/server/wm/AppWindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IApplicationToken;ZLcom/android/server/wm/DisplayContent;JZZIIIIZZLcom/android/server/wm/AppWindowContainerController;)V
-PLcom/android/server/wm/AppWindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IApplicationToken;ZLcom/android/server/wm/DisplayContent;Z)V
-PLcom/android/server/wm/AppWindowToken;->addWindow(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/AppWindowToken;->allDrawnStatesConsidered()Z
+PLcom/android/server/wm/AppTransition;->overridePendingAppTransitionScaleUp(IIII)V
+PLcom/android/server/wm/AppTransition;->setTimeout()V
+PLcom/android/server/wm/AppTransitionController;->getRemoteAnimationOverride(Lcom/android/server/wm/AppWindowToken;ILandroid/util/ArraySet;)Landroid/view/RemoteAnimationAdapter;
+PLcom/android/server/wm/AppWarnings$ConfigHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/AppWarnings;->onResumeActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/AppWarnings;->writeConfigToFileAmsThread()V
+PLcom/android/server/wm/AppWindowToken$1;->run()V
 PLcom/android/server/wm/AppWindowToken;->applyAnimationLocked(Landroid/view/WindowManager$LayoutParams;IZZ)Z
-PLcom/android/server/wm/AppWindowToken;->canTurnScreenOn()Z
+PLcom/android/server/wm/AppWindowToken;->calculateCompatBoundsTransformation(Landroid/content/res/Configuration;)V
 PLcom/android/server/wm/AppWindowToken;->cancelAnimation()V
-PLcom/android/server/wm/AppWindowToken;->checkKeyguardFlagsChanged()V
-PLcom/android/server/wm/AppWindowToken;->clearAllDrawn()V
+PLcom/android/server/wm/AppWindowToken;->cancelAnimationOnly()V
 PLcom/android/server/wm/AppWindowToken;->clearAnimatingFlags()V
+PLcom/android/server/wm/AppWindowToken;->clearChangeLeash(Landroid/view/SurfaceControl$Transaction;Z)V
 PLcom/android/server/wm/AppWindowToken;->clearRelaunching()V
-PLcom/android/server/wm/AppWindowToken;->clearThumbnail()V
-PLcom/android/server/wm/AppWindowToken;->destroySurfaces()V
-PLcom/android/server/wm/AppWindowToken;->destroySurfaces(Z)V
+PLcom/android/server/wm/AppWindowToken;->createAnimationBoundsLayer(Landroid/view/SurfaceControl$Transaction;)Landroid/view/SurfaceControl;
+PLcom/android/server/wm/AppWindowToken;->createSnapshot(Landroid/app/ActivityManager$TaskSnapshot;)Z
 PLcom/android/server/wm/AppWindowToken;->detachChildren()V
 PLcom/android/server/wm/AppWindowToken;->fillsParent()Z
 PLcom/android/server/wm/AppWindowToken;->finishRelaunching()V
+PLcom/android/server/wm/AppWindowToken;->getAnimationBounds(Landroid/graphics/Point;Landroid/graphics/Rect;)V
 PLcom/android/server/wm/AppWindowToken;->getAnimationLeashParent()Landroid/view/SurfaceControl;
 PLcom/android/server/wm/AppWindowToken;->getAppAnimationLayer()Landroid/view/SurfaceControl;
-PLcom/android/server/wm/AppWindowToken;->getController()Lcom/android/server/wm/AppWindowContainerController;
 PLcom/android/server/wm/AppWindowToken;->getHighestAnimLayerWindow(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/WindowState;
 PLcom/android/server/wm/AppWindowToken;->getImeTargetBelowWindow(Lcom/android/server/wm/WindowState;)Lcom/android/server/wm/WindowState;
 PLcom/android/server/wm/AppWindowToken;->getLetterboxInsets()Landroid/graphics/Rect;
 PLcom/android/server/wm/AppWindowToken;->getOrientation(I)I
-PLcom/android/server/wm/AppWindowToken;->getOrientationIgnoreVisibility()I
 PLcom/android/server/wm/AppWindowToken;->getRemoteAnimationDefinition()Landroid/view/RemoteAnimationDefinition;
-PLcom/android/server/wm/AppWindowToken;->getStack()Lcom/android/server/wm/TaskStack;
+PLcom/android/server/wm/AppWindowToken;->getStartingWindowType(ZZZZZZLandroid/app/ActivityManager$TaskSnapshot;)I
 PLcom/android/server/wm/AppWindowToken;->getTopFullscreenWindow()Lcom/android/server/wm/WindowState;
 PLcom/android/server/wm/AppWindowToken;->getTransit()I
 PLcom/android/server/wm/AppWindowToken;->getTransitFlags()I
 PLcom/android/server/wm/AppWindowToken;->hasWindowsAlive()Z
+PLcom/android/server/wm/AppWindowToken;->isClosingOrEnteringPip()Z
 PLcom/android/server/wm/AppWindowToken;->isFirstChildWindowGreaterThanSecond(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/AppWindowToken;->isFreezingScreen()Z
 PLcom/android/server/wm/AppWindowToken;->isLastWindow(Lcom/android/server/wm/WindowState;)Z
 PLcom/android/server/wm/AppWindowToken;->isSurfaceShowing()Z
-PLcom/android/server/wm/AppWindowToken;->isVisible()Z
-PLcom/android/server/wm/AppWindowToken;->lambda$shouldUseAppThemeSnapshot$1(Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/AppWindowToken;->lambda$showAllWindowsLocked$2(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/AppWindowToken;->lambda$layoutLetterbox$2$AppWindowToken()Landroid/view/SurfaceControl$Builder;
+PLcom/android/server/wm/AppWindowToken;->lambda$removeStartingWindow$3(Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;)V
 PLcom/android/server/wm/AppWindowToken;->loadAnimation(Landroid/view/WindowManager$LayoutParams;IZZ)Landroid/view/animation/Animation;
 PLcom/android/server/wm/AppWindowToken;->notifyAppResumed(Z)V
-PLcom/android/server/wm/AppWindowToken;->notifyAppStopped()V
-PLcom/android/server/wm/AppWindowToken;->onAnimationFinished()V
 PLcom/android/server/wm/AppWindowToken;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
 PLcom/android/server/wm/AppWindowToken;->onAnimationLeashDestroyed(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/AppWindowToken;->onAppTransitionDone()V
-PLcom/android/server/wm/AppWindowToken;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/AppWindowToken;->onFirstWindowDrawn(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;)V
-PLcom/android/server/wm/AppWindowToken;->onParentSet()V
+PLcom/android/server/wm/AppWindowToken;->onAppFreezeTimeout()V
 PLcom/android/server/wm/AppWindowToken;->onRemovedFromDisplay()V
 PLcom/android/server/wm/AppWindowToken;->postWindowRemoveStartingWindowCleanup(Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/AppWindowToken;->registerRemoteAnimations(Landroid/view/RemoteAnimationDefinition;)V
 PLcom/android/server/wm/AppWindowToken;->removeChild(Lcom/android/server/wm/WindowContainer;)V
 PLcom/android/server/wm/AppWindowToken;->removeChild(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/AppWindowToken;->removeDeadWindows()V
 PLcom/android/server/wm/AppWindowToken;->removeIfPossible()V
 PLcom/android/server/wm/AppWindowToken;->removeImmediately()V
-PLcom/android/server/wm/AppWindowToken;->removeReplacedWindowIfNeeded(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/AppWindowToken;->requestUpdateWallpaperIfNeeded()V
-PLcom/android/server/wm/AppWindowToken;->setAppLayoutChanges(ILjava/lang/String;)V
+PLcom/android/server/wm/AppWindowToken;->scheduleAddStartingWindow()V
 PLcom/android/server/wm/AppWindowToken;->setCanTurnScreenOn(Z)V
-PLcom/android/server/wm/AppWindowToken;->setClientHidden(Z)V
+PLcom/android/server/wm/AppWindowToken;->setDisablePreviewScreenshots(Z)V
 PLcom/android/server/wm/AppWindowToken;->setFillsParent(Z)V
-PLcom/android/server/wm/AppWindowToken;->setHidden(Z)V
 PLcom/android/server/wm/AppWindowToken;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V
-PLcom/android/server/wm/AppWindowToken;->setVisibility(Landroid/view/WindowManager$LayoutParams;ZIZZ)Z
-PLcom/android/server/wm/AppWindowToken;->shouldAnimate(I)Z
 PLcom/android/server/wm/AppWindowToken;->shouldDeferAnimationFinish(Ljava/lang/Runnable;)Z
 PLcom/android/server/wm/AppWindowToken;->shouldFreezeBounds()Z
 PLcom/android/server/wm/AppWindowToken;->shouldUseAppThemeSnapshot()Z
-PLcom/android/server/wm/AppWindowToken;->showAllWindowsLocked()V
 PLcom/android/server/wm/AppWindowToken;->startFreezingScreen()V
 PLcom/android/server/wm/AppWindowToken;->startRelaunching()V
-PLcom/android/server/wm/AppWindowToken;->stopFreezingScreen(ZZ)V
-PLcom/android/server/wm/AppWindowToken;->toString()Ljava/lang/String;
 PLcom/android/server/wm/AppWindowToken;->transferStartingWindow(Landroid/os/IBinder;)Z
-PLcom/android/server/wm/AppWindowToken;->transferStartingWindowFromHiddenAboveTokenIfNeeded()V
 PLcom/android/server/wm/AppWindowToken;->unfreezeBounds()V
-PLcom/android/server/wm/AppWindowToken;->updateAllDrawn()V
-PLcom/android/server/wm/AppWindowToken;->updateReportedVisibilityLocked()V
-PLcom/android/server/wm/AppWindowToken;->waitingForReplacement()Z
+PLcom/android/server/wm/BarController$1;->run()V
+PLcom/android/server/wm/BarController;->adjustSystemUiVisibilityLw(II)V
+PLcom/android/server/wm/BarController;->checkShowTransientBarLw()Z
+PLcom/android/server/wm/BarController;->showTransient()V
 PLcom/android/server/wm/BlackFrame$BlackSurface;-><init>(Lcom/android/server/wm/BlackFrame;Landroid/view/SurfaceControl$Transaction;IIIIILcom/android/server/wm/DisplayContent;)V
 PLcom/android/server/wm/BlackFrame$BlackSurface;->setMatrix(Landroid/view/SurfaceControl$Transaction;Landroid/graphics/Matrix;)V
 PLcom/android/server/wm/BlackFrame;-><init>(Landroid/view/SurfaceControl$Transaction;Landroid/graphics/Rect;Landroid/graphics/Rect;ILcom/android/server/wm/DisplayContent;Z)V
 PLcom/android/server/wm/BlackFrame;->kill()V
+PLcom/android/server/wm/BlackFrame;->setAlpha(Landroid/view/SurfaceControl$Transaction;F)V
 PLcom/android/server/wm/BlackFrame;->setMatrix(Landroid/view/SurfaceControl$Transaction;Landroid/graphics/Matrix;)V
-PLcom/android/server/wm/BoundsAnimationController$AppTransitionNotifier;-><init>(Lcom/android/server/wm/BoundsAnimationController;)V
-PLcom/android/server/wm/BoundsAnimationController$AppTransitionNotifier;-><init>(Lcom/android/server/wm/BoundsAnimationController;Lcom/android/server/wm/BoundsAnimationController$1;)V
-PLcom/android/server/wm/BoundsAnimationController$AppTransitionNotifier;->animationFinished()V
-PLcom/android/server/wm/BoundsAnimationController$AppTransitionNotifier;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
-PLcom/android/server/wm/BoundsAnimationController;-><init>(Landroid/content/Context;Lcom/android/server/wm/AppTransition;Landroid/os/Handler;Landroid/animation/AnimationHandler;)V
-PLcom/android/server/wm/BoundsAnimationController;->access$000(Lcom/android/server/wm/BoundsAnimationController;)Z
-PLcom/android/server/wm/ConfigurationContainer;->diffOverrideBounds(Landroid/graphics/Rect;)I
-PLcom/android/server/wm/ConfigurationContainer;->equivalentBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
-PLcom/android/server/wm/ConfigurationContainer;->equivalentOverrideBounds(Landroid/graphics/Rect;)Z
-PLcom/android/server/wm/ConfigurationContainer;->getMergedOverrideConfiguration()Landroid/content/res/Configuration;
-PLcom/android/server/wm/ConfigurationContainer;->getName()Ljava/lang/String;
-PLcom/android/server/wm/ConfigurationContainer;->hasCompatibleActivityType(Lcom/android/server/wm/ConfigurationContainer;)Z
+PLcom/android/server/wm/BoundsAnimationController$AppTransitionNotifier;->run()V
+PLcom/android/server/wm/BoundsAnimationController$BoundsAnimator;-><init>(Lcom/android/server/wm/BoundsAnimationController;Lcom/android/server/wm/BoundsAnimationTarget;Landroid/graphics/Rect;Landroid/graphics/Rect;IIZZLandroid/graphics/Rect;)V
+PLcom/android/server/wm/BoundsAnimationController$BoundsAnimator;->getAnimationHandler()Landroid/animation/AnimationHandler;
+PLcom/android/server/wm/BoundsAnimationController$BoundsAnimator;->onAnimationCancel(Landroid/animation/Animator;)V
+PLcom/android/server/wm/BoundsAnimationController$BoundsAnimator;->onAnimationEnd(Landroid/animation/Animator;)V
+PLcom/android/server/wm/BoundsAnimationController$BoundsAnimator;->onAnimationStart(Landroid/animation/Animator;)V
+PLcom/android/server/wm/BoundsAnimationController$BoundsAnimator;->onAnimationUpdate(Landroid/animation/ValueAnimator;)V
+PLcom/android/server/wm/BoundsAnimationController;->animateBounds(Lcom/android/server/wm/BoundsAnimationTarget;Landroid/graphics/Rect;Landroid/graphics/Rect;IIZZ)V
+PLcom/android/server/wm/BoundsAnimationController;->animateBoundsImpl(Lcom/android/server/wm/BoundsAnimationTarget;Landroid/graphics/Rect;Landroid/graphics/Rect;IIZZ)Lcom/android/server/wm/BoundsAnimationController$BoundsAnimator;
+PLcom/android/server/wm/BoundsAnimationController;->getHandler()Landroid/os/Handler;
+PLcom/android/server/wm/BoundsAnimationController;->onAllWindowsDrawn()V
+PLcom/android/server/wm/BoundsAnimationController;->updateBooster()V
+PLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/servertransaction/ClientTransactionItem;)V
+PLcom/android/server/wm/CompatModePackages;->handlePackageAddedLocked(Ljava/lang/String;Z)V
+PLcom/android/server/wm/ConfigurationContainer;->getPosition(Landroid/graphics/Point;)V
 PLcom/android/server/wm/ConfigurationContainer;->hasOverrideBounds()Z
-PLcom/android/server/wm/ConfigurationContainer;->inMultiWindowMode()Z
-PLcom/android/server/wm/ConfigurationContainer;->inSplitScreenSecondaryWindowingMode()Z
-PLcom/android/server/wm/ConfigurationContainer;->isActivityTypeRecents()Z
-PLcom/android/server/wm/ConfigurationContainer;->isActivityTypeStandard()Z
-PLcom/android/server/wm/ConfigurationContainer;->onMergedOverrideConfigurationChanged()V
-PLcom/android/server/wm/ConfigurationContainer;->onOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/ConfigurationContainer;->onParentChanged()V
-PLcom/android/server/wm/ConfigurationContainer;->registerConfigurationChangeListener(Lcom/android/server/wm/ConfigurationContainerListener;)V
-PLcom/android/server/wm/ConfigurationContainer;->setActivityType(I)V
-PLcom/android/server/wm/ConfigurationContainer;->setBounds(IIII)I
-PLcom/android/server/wm/ConfigurationContainer;->setBounds(Landroid/graphics/Rect;)I
-PLcom/android/server/wm/ConfigurationContainer;->setWindowingMode(I)V
-PLcom/android/server/wm/ConfigurationContainer;->supportsSplitScreenWindowingMode()Z
 PLcom/android/server/wm/ConfigurationContainer;->unregisterConfigurationChangeListener(Lcom/android/server/wm/ConfigurationContainerListener;)V
-PLcom/android/server/wm/Dimmer$AlphaAnimationSpec;-><init>(FFJ)V
+PLcom/android/server/wm/ConfigurationContainer;->writeToProto(Landroid/util/proto/ProtoOutputStream;JI)V
 PLcom/android/server/wm/Dimmer$AlphaAnimationSpec;->apply(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;J)V
 PLcom/android/server/wm/Dimmer$AlphaAnimationSpec;->getDuration()J
-PLcom/android/server/wm/Dimmer$DimAnimatable;-><init>(Lcom/android/server/wm/Dimmer;Landroid/view/SurfaceControl;)V
-PLcom/android/server/wm/Dimmer$DimAnimatable;-><init>(Lcom/android/server/wm/Dimmer;Landroid/view/SurfaceControl;Lcom/android/server/wm/Dimmer$1;)V
 PLcom/android/server/wm/Dimmer$DimAnimatable;->getAnimationLeashParent()Landroid/view/SurfaceControl;
 PLcom/android/server/wm/Dimmer$DimAnimatable;->getParentSurfaceControl()Landroid/view/SurfaceControl;
 PLcom/android/server/wm/Dimmer$DimAnimatable;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;
@@ -18004,1505 +13498,3779 @@
 PLcom/android/server/wm/Dimmer$DimAnimatable;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
 PLcom/android/server/wm/Dimmer$DimAnimatable;->onAnimationLeashDestroyed(Landroid/view/SurfaceControl$Transaction;)V
 PLcom/android/server/wm/Dimmer$DimState;-><init>(Lcom/android/server/wm/Dimmer;Landroid/view/SurfaceControl;)V
-PLcom/android/server/wm/Dimmer$DimState;->lambda$new$0(Lcom/android/server/wm/Dimmer$DimState;)V
-PLcom/android/server/wm/Dimmer;-><init>(Lcom/android/server/wm/WindowContainer;)V
-PLcom/android/server/wm/Dimmer;-><init>(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/Dimmer$SurfaceAnimatorStarter;)V
-PLcom/android/server/wm/Dimmer;->access$000(Lcom/android/server/wm/Dimmer;)Lcom/android/server/wm/WindowContainer;
+PLcom/android/server/wm/Dimmer$DimState;->lambda$new$0$Dimmer$DimState(Lcom/android/server/wm/Dimmer$DimAnimatable;)V
 PLcom/android/server/wm/Dimmer;->dim(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowContainer;IF)V
 PLcom/android/server/wm/Dimmer;->dimBelow(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowContainer;F)V
-PLcom/android/server/wm/Dimmer;->getDimDuration(Lcom/android/server/wm/WindowContainer;)J
+PLcom/android/server/wm/Dimmer;->dontAnimateExit()V
 PLcom/android/server/wm/Dimmer;->getDimState(Lcom/android/server/wm/WindowContainer;)Lcom/android/server/wm/Dimmer$DimState;
 PLcom/android/server/wm/Dimmer;->makeDimLayer()Landroid/view/SurfaceControl;
-PLcom/android/server/wm/Dimmer;->startAnim(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/SurfaceAnimator;Landroid/view/SurfaceControl$Transaction;FF)V
-PLcom/android/server/wm/Dimmer;->startDimEnter(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/SurfaceAnimator;Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/Dimmer;->startDimExit(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/SurfaceAnimator;Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;-><init>(Lcom/android/server/wm/DisplayContent;Ljava/lang/String;Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;-><init>()V
-PLcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;-><init>(Lcom/android/server/wm/DisplayContent$1;)V
-PLcom/android/server/wm/DisplayContent$ApplySurfaceChangesTransactionState;->reset()V
-PLcom/android/server/wm/DisplayContent$DisplayChildWindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
 PLcom/android/server/wm/DisplayContent$DisplayChildWindowContainer;->fillsParent()Z
-PLcom/android/server/wm/DisplayContent$NonAppWindowContainers;-><init>(Lcom/android/server/wm/DisplayContent;Ljava/lang/String;Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->addChild(Lcom/android/server/wm/WindowToken;)V
-PLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->getName()Ljava/lang/String;
-PLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->getOrientation()I
-PLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->lambda$new$0(Lcom/android/server/wm/DisplayContent$NonAppWindowContainers;Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowToken;)I
-PLcom/android/server/wm/DisplayContent$NonMagnifiableWindowContainers;-><init>(Lcom/android/server/wm/DisplayContent;Ljava/lang/String;Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/DisplayContent$TaskForResizePointSearchResult;-><init>()V
-PLcom/android/server/wm/DisplayContent$TaskStackContainers;-><init>(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/DisplayContent$TaskStackContainers;->addChild(Lcom/android/server/wm/TaskStack;Z)V
-PLcom/android/server/wm/DisplayContent$TaskStackContainers;->addStackReferenceIfNeeded(Lcom/android/server/wm/TaskStack;)V
-PLcom/android/server/wm/DisplayContent$TaskStackContainers;->addStackToDisplay(Lcom/android/server/wm/TaskStack;Z)V
-PLcom/android/server/wm/DisplayContent$TaskStackContainers;->findPositionForStack(ILcom/android/server/wm/TaskStack;Z)I
 PLcom/android/server/wm/DisplayContent$TaskStackContainers;->getAppAnimationLayer(I)Landroid/view/SurfaceControl;
 PLcom/android/server/wm/DisplayContent$TaskStackContainers;->getOrientation()I
-PLcom/android/server/wm/DisplayContent$TaskStackContainers;->getPinnedStack()Lcom/android/server/wm/TaskStack;
-PLcom/android/server/wm/DisplayContent$TaskStackContainers;->getSplitScreenDividerAnchor()Landroid/view/SurfaceControl;
-PLcom/android/server/wm/DisplayContent$TaskStackContainers;->onParentSet()V
-PLcom/android/server/wm/DisplayContent$TaskStackContainers;->positionChildAt(ILcom/android/server/wm/TaskStack;Z)V
-PLcom/android/server/wm/DisplayContent$TaskStackContainers;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
-PLcom/android/server/wm/DisplayContent$TaskStackContainers;->removeChild(Lcom/android/server/wm/TaskStack;)V
 PLcom/android/server/wm/DisplayContent$TaskStackContainers;->removeChild(Lcom/android/server/wm/WindowContainer;)V
 PLcom/android/server/wm/DisplayContent$TaskStackContainers;->removeStackReferenceIfNeeded(Lcom/android/server/wm/TaskStack;)V
-PLcom/android/server/wm/DisplayContent;-><init>(Landroid/view/Display;Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/DisplayWindowController;)V
-PLcom/android/server/wm/DisplayContent;->access$300(Lcom/android/server/wm/DisplayContent;)Z
-PLcom/android/server/wm/DisplayContent;->access$500(Lcom/android/server/wm/DisplayContent;)I
-PLcom/android/server/wm/DisplayContent;->access$502(Lcom/android/server/wm/DisplayContent;I)I
-PLcom/android/server/wm/DisplayContent;->access$602(Lcom/android/server/wm/DisplayContent;I)I
-PLcom/android/server/wm/DisplayContent;->addWindowToken(Landroid/os/IBinder;Lcom/android/server/wm/WindowToken;)V
-PLcom/android/server/wm/DisplayContent;->adjustDisplaySizeRanges(Landroid/view/DisplayInfo;IIIII)V
-PLcom/android/server/wm/DisplayContent;->applySurfaceChangesTransaction(Z)Z
-PLcom/android/server/wm/DisplayContent;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/DisplayContent;->applyRotationLocked(II)V
 PLcom/android/server/wm/DisplayContent;->assignStackOrdering()V
-PLcom/android/server/wm/DisplayContent;->assignWindowLayers(Z)V
-PLcom/android/server/wm/DisplayContent;->calculateDisplayCutoutForRotation(I)Lcom/android/server/wm/utils/WmDisplayCutout;
-PLcom/android/server/wm/DisplayContent;->calculateDisplayCutoutForRotationUncached(Landroid/view/DisplayCutout;I)Lcom/android/server/wm/utils/WmDisplayCutout;
 PLcom/android/server/wm/DisplayContent;->canAddToastWindowForUid(I)Z
-PLcom/android/server/wm/DisplayContent;->canUpdateImeTarget()Z
-PLcom/android/server/wm/DisplayContent;->checkCompleteDeferredRemoval()Z
 PLcom/android/server/wm/DisplayContent;->checkWaitingForWindows()Z
-PLcom/android/server/wm/DisplayContent;->clearLayoutNeeded()V
-PLcom/android/server/wm/DisplayContent;->computeCompatSmallestWidth(ZIIII)I
-PLcom/android/server/wm/DisplayContent;->computeImeTarget(Z)Lcom/android/server/wm/WindowState;
-PLcom/android/server/wm/DisplayContent;->computeScreenConfiguration(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/DisplayContent;->computeSizeRangesAndScreenLayout(Landroid/view/DisplayInfo;IZIIIFLandroid/content/res/Configuration;)V
-PLcom/android/server/wm/DisplayContent;->configureDisplayPolicy()V
+PLcom/android/server/wm/DisplayContent;->computeImeParent()Landroid/view/SurfaceControl;
 PLcom/android/server/wm/DisplayContent;->continueUpdateImeTarget()V
 PLcom/android/server/wm/DisplayContent;->convertCropForSurfaceFlinger(Landroid/graphics/Rect;III)V
-PLcom/android/server/wm/DisplayContent;->createStack(IZLcom/android/server/wm/StackWindowController;)Lcom/android/server/wm/TaskStack;
 PLcom/android/server/wm/DisplayContent;->deferUpdateImeTarget()V
-PLcom/android/server/wm/DisplayContent;->deltaRotation(II)I
-PLcom/android/server/wm/DisplayContent;->findFocusedWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayContent;->findTaskForResizePoint(II)Lcom/android/server/wm/Task;
 PLcom/android/server/wm/DisplayContent;->forAllImeWindows(Lcom/android/internal/util/ToBooleanFunction;Z)Z
-PLcom/android/server/wm/DisplayContent;->getDisplay()Landroid/view/Display;
-PLcom/android/server/wm/DisplayContent;->getDisplayMetrics()Landroid/util/DisplayMetrics;
 PLcom/android/server/wm/DisplayContent;->getLastOrientation()I
-PLcom/android/server/wm/DisplayContent;->getNeedsMenu(Lcom/android/server/wm/WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
-PLcom/android/server/wm/DisplayContent;->getOrientation()I
-PLcom/android/server/wm/DisplayContent;->getPinnedStack()Lcom/android/server/wm/TaskStack;
-PLcom/android/server/wm/DisplayContent;->getPinnedStackController()Lcom/android/server/wm/PinnedStackController;
-PLcom/android/server/wm/DisplayContent;->getRotation()I
-PLcom/android/server/wm/DisplayContent;->getSession()Landroid/view/SurfaceSession;
-PLcom/android/server/wm/DisplayContent;->hasAccess(I)Z
-PLcom/android/server/wm/DisplayContent;->hasPinnedStack()Z
+PLcom/android/server/wm/DisplayContent;->getTouchableWinAtPointLocked(FF)Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/DisplayContent;->getVisibleTasks()Ljava/util/ArrayList;
 PLcom/android/server/wm/DisplayContent;->hasSecureWindowOnScreen()Z
 PLcom/android/server/wm/DisplayContent;->hasSplitScreenPrimaryStack()Z
-PLcom/android/server/wm/DisplayContent;->initializeDisplayBaseInfo()V
-PLcom/android/server/wm/DisplayContent;->inputMethodClientHasFocus(Lcom/android/internal/view/IInputMethodClient;)Z
-PLcom/android/server/wm/DisplayContent;->isReady()Z
-PLcom/android/server/wm/DisplayContent;->isRemovalDeferred()Z
-PLcom/android/server/wm/DisplayContent;->lambda$canAddToastWindowForUid$14(ILcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/DisplayContent;->lambda$canAddToastWindowForUid$15(ILcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/DisplayContent;->lambda$checkWaitingForWindows$20(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/DisplayContent;->lambda$fiC19lMy-d_-rvza7hhOSw6bOM8(Lcom/android/server/wm/DisplayContent;Landroid/view/DisplayCutout;I)Lcom/android/server/wm/utils/WmDisplayCutout;
-PLcom/android/server/wm/DisplayContent;->lambda$getNeedsMenu$17(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/DisplayContent;->lambda$hasSecureWindowOnScreen$21(Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/DisplayContent;->lambda$new$2(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/DisplayContent;->lambda$new$6(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/DisplayContent;->lambda$startKeyguardExitOnNonAppWindows$19(Lcom/android/server/policy/WindowManagerPolicy;ZZLcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/DisplayContent;->lambda$updateRotationUnchecked$11(Lcom/android/server/wm/DisplayContent;ZLcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/DisplayContent;->lambda$updateSystemUiVisibility$22(IILcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/DisplayContent;->lambda$waitForAllWindowsDrawn$24(Lcom/android/server/wm/DisplayContent;Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/DisplayContent;->layoutAndAssignWindowLayersIfNeeded()V
-PLcom/android/server/wm/DisplayContent;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;
+PLcom/android/server/wm/DisplayContent;->isPrivate()Z
+PLcom/android/server/wm/DisplayContent;->lambda$applyRotationLocked$10$DisplayContent(IIZLcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$applyRotationLocked$11$DisplayContent(ZLcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$checkWaitingForWindows$19$DisplayContent(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayContent;->lambda$checkWaitingForWindows$19(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayContent;->lambda$getNeedsMenu$16$DisplayContent(Lcom/android/server/wm/WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayContent;->lambda$getTouchableWinAtPointLocked$12(Lcom/android/server/wm/DisplayContent;IILcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayContent;->lambda$new$6$DisplayContent(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DisplayContent;->lambda$onWindowFreezeTimeout$22$DisplayContent(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$updateSystemUiVisibility$21(IILcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$waitForAllWindowsDrawn$23$DisplayContent(Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->lambda$waitForAllWindowsDrawn$23(Lcom/android/server/wm/DisplayContent;Lcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/DisplayContent;->makeOverlay()Landroid/view/SurfaceControl$Builder;
-PLcom/android/server/wm/DisplayContent;->okToAnimate()Z
-PLcom/android/server/wm/DisplayContent;->okToDisplay()Z
-PLcom/android/server/wm/DisplayContent;->onAppTransitionDone()V
-PLcom/android/server/wm/DisplayContent;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/DisplayContent;->onParentSet()V
-PLcom/android/server/wm/DisplayContent;->performLayout(ZZ)V
-PLcom/android/server/wm/DisplayContent;->positionChildAt(ILcom/android/server/wm/DisplayContent$DisplayChildWindowContainer;Z)V
-PLcom/android/server/wm/DisplayContent;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
-PLcom/android/server/wm/DisplayContent;->positionStackAt(ILcom/android/server/wm/TaskStack;)V
-PLcom/android/server/wm/DisplayContent;->prepareFreezingTaskBounds()V
-PLcom/android/server/wm/DisplayContent;->reParentWindowToken(Lcom/android/server/wm/WindowToken;)V
-PLcom/android/server/wm/DisplayContent;->reapplyMagnificationSpec()V
-PLcom/android/server/wm/DisplayContent;->reduceCompatConfigWidthSize(IIILandroid/util/DisplayMetrics;III)I
-PLcom/android/server/wm/DisplayContent;->reduceConfigLayout(IIFIIII)I
+PLcom/android/server/wm/DisplayContent;->onDescendantOrientationChanged(Landroid/os/IBinder;Lcom/android/server/wm/ConfigurationContainer;)Z
+PLcom/android/server/wm/DisplayContent;->onStackWindowingModeChanged(Lcom/android/server/wm/TaskStack;)V
+PLcom/android/server/wm/DisplayContent;->onWindowFreezeTimeout()V
+PLcom/android/server/wm/DisplayContent;->pauseRotationLocked()V
+PLcom/android/server/wm/DisplayContent;->reevaluateStatusBarVisibility()V
 PLcom/android/server/wm/DisplayContent;->removeAppToken(Landroid/os/IBinder;)V
-PLcom/android/server/wm/DisplayContent;->removeExistingTokensIfPossible()V
+PLcom/android/server/wm/DisplayContent;->removeChild(Lcom/android/server/wm/DisplayContent$DisplayChildWindowContainer;)V
+PLcom/android/server/wm/DisplayContent;->removeChild(Lcom/android/server/wm/WindowContainer;)V
+PLcom/android/server/wm/DisplayContent;->removeIfPossible()V
+PLcom/android/server/wm/DisplayContent;->removeImmediately()V
 PLcom/android/server/wm/DisplayContent;->removeWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken;
-PLcom/android/server/wm/DisplayContent;->scheduleToastWindowsTimeoutIfNeededLocked(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayContent;->reparentToOverlay(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
+PLcom/android/server/wm/DisplayContent;->resumeRotationLocked()V
+PLcom/android/server/wm/DisplayContent;->rotationNeedsUpdate()Z
 PLcom/android/server/wm/DisplayContent;->screenshotDisplayLocked(Landroid/graphics/Bitmap$Config;)Landroid/graphics/Bitmap;
-PLcom/android/server/wm/DisplayContent;->setExitingTokensHasVisible(Z)V
-PLcom/android/server/wm/DisplayContent;->setInputMethodTarget(Lcom/android/server/wm/WindowState;Z)V
-PLcom/android/server/wm/DisplayContent;->setLastOrientation(I)V
-PLcom/android/server/wm/DisplayContent;->setLayoutNeeded()V
+PLcom/android/server/wm/DisplayContent;->setInputMethodWindowLocked(Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/DisplayContent;->startKeyguardExitOnNonAppWindows(ZZ)V
-PLcom/android/server/wm/DisplayContent;->updateBaseDisplayMetrics(III)V
-PLcom/android/server/wm/DisplayContent;->updateBaseDisplayMetricsIfNeeded()V
-PLcom/android/server/wm/DisplayContent;->updateBounds()V
-PLcom/android/server/wm/DisplayContent;->updateDisplayAndOrientation(I)Landroid/view/DisplayInfo;
-PLcom/android/server/wm/DisplayContent;->updateDisplayInfo()V
-PLcom/android/server/wm/DisplayContent;->updateOrientationFromAppTokens()Z
-PLcom/android/server/wm/DisplayContent;->updateRotationUnchecked()Z
-PLcom/android/server/wm/DisplayContent;->updateRotationUnchecked(Z)Z
-PLcom/android/server/wm/DisplayContent;->updateStackBoundsAfterConfigChange(Ljava/util/List;)V
+PLcom/android/server/wm/DisplayContent;->statusBarVisibilityChanged(I)V
+PLcom/android/server/wm/DisplayContent;->supportsSystemDecorations()Z
+PLcom/android/server/wm/DisplayContent;->taskForTapOutside(II)I
+PLcom/android/server/wm/DisplayContent;->unregisterPointerEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V
+PLcom/android/server/wm/DisplayContent;->updateRotationAndSendNewConfigIfNeeded()Z
 PLcom/android/server/wm/DisplayContent;->updateSystemUiVisibility(II)V
-PLcom/android/server/wm/DisplayContent;->updateWallpaperForAnimator(Lcom/android/server/wm/WindowAnimator;)V
-PLcom/android/server/wm/DisplayContent;->updateWindowsForAnimator(Lcom/android/server/wm/WindowAnimator;)V
 PLcom/android/server/wm/DisplayContent;->waitForAllWindowsDrawn()V
-PLcom/android/server/wm/DisplayFrames;-><init>(ILandroid/view/DisplayInfo;Lcom/android/server/wm/utils/WmDisplayCutout;)V
-PLcom/android/server/wm/DisplayFrames;->getInputMethodWindowVisibleHeight()I
-PLcom/android/server/wm/DisplayFrames;->onBeginLayout()V
-PLcom/android/server/wm/DisplayFrames;->onDisplayInfoUpdated(Landroid/view/DisplayInfo;Lcom/android/server/wm/utils/WmDisplayCutout;)V
-PLcom/android/server/wm/DisplaySettings;-><init>()V
-PLcom/android/server/wm/DisplaySettings;->getOverscanLocked(Ljava/lang/String;Ljava/lang/String;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/DisplaySettings;->readSettingsLocked()V
-PLcom/android/server/wm/DisplayWindowController;-><init>(Landroid/view/Display;Lcom/android/server/wm/WindowContainerListener;)V
-PLcom/android/server/wm/DisplayWindowController;->continueUpdateImeTarget()V
-PLcom/android/server/wm/DisplayWindowController;->deferUpdateImeTarget()V
-PLcom/android/server/wm/DisplayWindowController;->onOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/DisplayWindowController;->positionChildAt(Lcom/android/server/wm/StackWindowController;I)V
-PLcom/android/server/wm/DockedStackDividerController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/DockedStackDividerController;->animate(J)Z
-PLcom/android/server/wm/DockedStackDividerController;->checkMinimizeChanged(Z)V
-PLcom/android/server/wm/DockedStackDividerController;->getContentWidth()I
+PLcom/android/server/wm/DisplayPolicy$2;->onDebug()V
+PLcom/android/server/wm/DisplayPolicy$2;->onDown()V
+PLcom/android/server/wm/DisplayPolicy$2;->onFling(I)V
+PLcom/android/server/wm/DisplayPolicy$2;->onSwipeFromBottom()V
+PLcom/android/server/wm/DisplayPolicy$2;->onSwipeFromLeft()V
+PLcom/android/server/wm/DisplayPolicy$2;->onSwipeFromRight()V
+PLcom/android/server/wm/DisplayPolicy$2;->onSwipeFromTop()V
+PLcom/android/server/wm/DisplayPolicy$2;->onUpOrCancel()V
+PLcom/android/server/wm/DisplayPolicy$4;->run()V
+PLcom/android/server/wm/DisplayPolicy;->adjustSystemUiVisibilityLw(I)I
+PLcom/android/server/wm/DisplayPolicy;->clearClearableFlagsLw()V
+PLcom/android/server/wm/DisplayPolicy;->finishKeyguardDrawn()Z
+PLcom/android/server/wm/DisplayPolicy;->finishScreenTurningOn()Z
+PLcom/android/server/wm/DisplayPolicy;->finishWindowsDrawn()Z
+PLcom/android/server/wm/DisplayPolicy;->getDockMode()I
+PLcom/android/server/wm/DisplayPolicy;->getLidState()I
+PLcom/android/server/wm/DisplayPolicy;->getNavBarPosition()I
+PLcom/android/server/wm/DisplayPolicy;->getScreenOnListener()Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;
+PLcom/android/server/wm/DisplayPolicy;->isCarDockEnablesAccelerometer()Z
+PLcom/android/server/wm/DisplayPolicy;->isDeskDockEnablesAccelerometer()Z
+PLcom/android/server/wm/DisplayPolicy;->isHdmiPlugged()Z
+PLcom/android/server/wm/DisplayPolicy;->isPersistentVrModeEnabled()Z
+PLcom/android/server/wm/DisplayPolicy;->isScreenOnFully()Z
+PLcom/android/server/wm/DisplayPolicy;->lambda$notifyDisplayReady$4$DisplayPolicy()V
+PLcom/android/server/wm/DisplayPolicy;->notifyDisplayReady()V
+PLcom/android/server/wm/DisplayPolicy;->offsetInputMethodWindowLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/DisplayFrames;)V
+PLcom/android/server/wm/DisplayPolicy;->onDisplayRemoved()V
+PLcom/android/server/wm/DisplayPolicy;->onPowerKeyDown(Z)V
+PLcom/android/server/wm/DisplayPolicy;->removeWindowLw(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayPolicy;->requestTransientBars(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DisplayPolicy;->screenTurnedOff()V
+PLcom/android/server/wm/DisplayPolicy;->selectAnimationLw(Lcom/android/server/wm/WindowState;I)I
+PLcom/android/server/wm/DisplayPolicy;->setAttachedWindowFrames(Lcom/android/server/wm/WindowState;IILcom/android/server/wm/WindowState;ZLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Lcom/android/server/wm/DisplayFrames;)V
+PLcom/android/server/wm/DisplayPolicy;->shouldRotateSeamlessly(Lcom/android/server/wm/DisplayRotation;II)Z
+PLcom/android/server/wm/DisplayPolicy;->takeScreenshot(I)V
+PLcom/android/server/wm/DisplayPolicy;->validateRotationAnimationLw(IIZ)Z
+PLcom/android/server/wm/DisplayRotation$OrientationListener$UpdateRunnable;->run()V
+PLcom/android/server/wm/DisplayRotation$OrientationListener;->disable()V
+PLcom/android/server/wm/DisplayRotation$OrientationListener;->enable(Z)V
+PLcom/android/server/wm/DisplayRotation$OrientationListener;->onProposedRotationChanged(I)V
+PLcom/android/server/wm/DisplayRotation;->freezeRotation(I)V
+PLcom/android/server/wm/DisplayRotation;->getOrientationListener()Lcom/android/server/policy/WindowOrientationListener;
+PLcom/android/server/wm/DisplayRotation;->isRotationChoicePossible(I)Z
+PLcom/android/server/wm/DisplayRotation;->isValidRotationChoice(I)Z
+PLcom/android/server/wm/DisplayRotation;->needSensorRunning()Z
+PLcom/android/server/wm/DisplayRotation;->rotationForOrientation(II)I
+PLcom/android/server/wm/DisplayRotation;->setRotation(I)V
+PLcom/android/server/wm/DisplayRotation;->setUserRotation(II)V
+PLcom/android/server/wm/DisplayRotation;->thawRotation()V
+PLcom/android/server/wm/DockedStackDividerController;->getHomeStackBoundsInDockedMode(Landroid/content/res/Configuration;ILandroid/graphics/Rect;)V
 PLcom/android/server/wm/DockedStackDividerController;->getImeHeightAdjustedFor()I
-PLcom/android/server/wm/DockedStackDividerController;->initSnapAlgorithmForRotations()V
-PLcom/android/server/wm/DockedStackDividerController;->isHomeStackResizable()Z
 PLcom/android/server/wm/DockedStackDividerController;->isImeHideRequested()Z
-PLcom/android/server/wm/DockedStackDividerController;->isMinimizedDock()Z
-PLcom/android/server/wm/DockedStackDividerController;->loadDimens()V
-PLcom/android/server/wm/DockedStackDividerController;->notifyAdjustedForImeChanged(ZJ)V
-PLcom/android/server/wm/DockedStackDividerController;->notifyAppTransitionStarting(Landroid/util/ArraySet;I)V
-PLcom/android/server/wm/DockedStackDividerController;->notifyAppVisibilityChanged()V
-PLcom/android/server/wm/DockedStackDividerController;->notifyDockedDividerVisibilityChanged(Z)V
-PLcom/android/server/wm/DockedStackDividerController;->notifyDockedStackExistsChanged(Z)V
-PLcom/android/server/wm/DockedStackDividerController;->notifyDockedStackMinimizedChanged(ZZZ)V
-PLcom/android/server/wm/DockedStackDividerController;->onConfigurationChanged()V
-PLcom/android/server/wm/DockedStackDividerController;->positionDockedStackedDivider(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/DockedStackDividerController;->reevaluateVisibility(Z)V
-PLcom/android/server/wm/DockedStackDividerController;->registerDockedStackListener(Landroid/view/IDockedStackListener;)V
 PLcom/android/server/wm/DockedStackDividerController;->resetImeHideRequested()V
-PLcom/android/server/wm/DockedStackDividerController;->setAdjustedForIme(ZZZLcom/android/server/wm/WindowState;I)V
-PLcom/android/server/wm/DockedStackDividerController;->setMinimizedDockedStack(ZZ)V
-PLcom/android/server/wm/DockedStackDividerController;->setTouchRegion(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/DockedStackDividerController;->setWindow(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/DockedStackDividerController;->wasVisible()Z
-PLcom/android/server/wm/DragDropController$1;-><init>(Lcom/android/server/wm/DragDropController;)V
-PLcom/android/server/wm/DragDropController$DragHandler;-><init>(Lcom/android/server/wm/DragDropController;Lcom/android/server/wm/WindowManagerService;Landroid/os/Looper;)V
-PLcom/android/server/wm/DragDropController;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/Looper;)V
-PLcom/android/server/wm/InputConsumerImpl;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;ILandroid/os/UserHandle;)V
-PLcom/android/server/wm/InputConsumerImpl;->getLayerLw(I)I
-PLcom/android/server/wm/InputConsumerImpl;->layout(II)V
-PLcom/android/server/wm/InputConsumerImpl;->linkToDeathRecipient()V
-PLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;-><init>(Lcom/android/server/wm/InputMonitor;)V
-PLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;-><init>(Lcom/android/server/wm/InputMonitor;Lcom/android/server/wm/InputMonitor$1;)V
-PLcom/android/server/wm/InputMonitor;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/InputMonitor;->access$700(Lcom/android/server/wm/InputMonitor;)Z
-PLcom/android/server/wm/InputMonitor;->addInputConsumer(Ljava/lang/String;Lcom/android/server/wm/InputConsumerImpl;)V
-PLcom/android/server/wm/InputMonitor;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;ILandroid/os/UserHandle;)V
-PLcom/android/server/wm/InputMonitor;->destroyInputConsumer(Ljava/lang/String;)Z
-PLcom/android/server/wm/InputMonitor;->dispatchUnhandledKey(Lcom/android/server/input/InputWindowHandle;Landroid/view/KeyEvent;I)Landroid/view/KeyEvent;
-PLcom/android/server/wm/InputMonitor;->disposeInputConsumer(Lcom/android/server/wm/InputConsumerImpl;)Z
-PLcom/android/server/wm/InputMonitor;->freezeInputDispatchingLw()V
-PLcom/android/server/wm/InputMonitor;->interceptKeyBeforeDispatching(Lcom/android/server/input/InputWindowHandle;Landroid/view/KeyEvent;I)J
-PLcom/android/server/wm/InputMonitor;->interceptKeyBeforeQueueing(Landroid/view/KeyEvent;I)I
-PLcom/android/server/wm/InputMonitor;->notifyConfigurationChanged()V
-PLcom/android/server/wm/InputMonitor;->pauseDispatchingLw(Lcom/android/server/wm/WindowToken;)V
-PLcom/android/server/wm/InputMonitor;->resumeDispatchingLw(Lcom/android/server/wm/WindowToken;)V
-PLcom/android/server/wm/InputMonitor;->setEventDispatchingLw(Z)V
-PLcom/android/server/wm/InputMonitor;->setFocusedAppLw(Lcom/android/server/wm/AppWindowToken;)V
+PLcom/android/server/wm/DragDropController$DragHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/DragDropController;->dragRecipientEntered(Landroid/view/IWindow;)V
+PLcom/android/server/wm/DragDropController;->handleMotionEvent(ZFF)V
+PLcom/android/server/wm/DragDropController;->onDragStateClosedLocked(Lcom/android/server/wm/DragState;)V
+PLcom/android/server/wm/DragDropController;->performDrag(Landroid/view/SurfaceSession;IILandroid/view/IWindow;ILandroid/view/SurfaceControl;IFFFFLandroid/content/ClipData;)Landroid/os/IBinder;
+PLcom/android/server/wm/DragDropController;->reportDropResult(Landroid/view/IWindow;Z)V
+PLcom/android/server/wm/DragDropController;->sendDragStartedIfNeededLocked(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DragDropController;->sendHandlerMessage(ILjava/lang/Object;)V
+PLcom/android/server/wm/DragDropController;->sendTimeoutMessage(ILjava/lang/Object;)V
+PLcom/android/server/wm/DragDropController;->showInputSurface(Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/wm/DragInputEventReceiver;->onInputEvent(Landroid/view/InputEvent;)V
+PLcom/android/server/wm/DragState$InputInterceptor;-><init>(Lcom/android/server/wm/DragState;Landroid/view/Display;)V
+PLcom/android/server/wm/DragState$InputInterceptor;->tearDown()V
+PLcom/android/server/wm/DragState;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DragDropController;Landroid/os/IBinder;Landroid/view/SurfaceControl;ILandroid/os/IBinder;)V
+PLcom/android/server/wm/DragState;->broadcastDragStartedLocked(FF)V
+PLcom/android/server/wm/DragState;->closeLocked()V
+PLcom/android/server/wm/DragState;->endDragLocked()V
+PLcom/android/server/wm/DragState;->getDragLayerLocked()I
+PLcom/android/server/wm/DragState;->getInputWindowHandle()Landroid/view/InputWindowHandle;
+PLcom/android/server/wm/DragState;->isClosing()Z
+PLcom/android/server/wm/DragState;->isInProgress()Z
+PLcom/android/server/wm/DragState;->isValidDropTarget(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/DragState;->notifyDropLocked(FF)V
+PLcom/android/server/wm/DragState;->notifyLocationLocked(FF)V
+PLcom/android/server/wm/DragState;->notifyMoveLocked(FF)V
+PLcom/android/server/wm/DragState;->overridePointerIconLocked(I)V
+PLcom/android/server/wm/DragState;->register(Landroid/view/Display;)V
+PLcom/android/server/wm/DragState;->sendDragStartedIfNeededLocked(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/DragState;->sendDragStartedLocked(Lcom/android/server/wm/WindowState;FFLandroid/content/ClipDescription;)V
+PLcom/android/server/wm/DragState;->showInputSurface(Landroid/view/SurfaceControl$Transaction;I)V
+PLcom/android/server/wm/ImmersiveModeConfirmation$H;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/ImmersiveModeConfirmation;->confirmCurrentPrompt()V
+PLcom/android/server/wm/ImmersiveModeConfirmation;->immersiveModeChangedLw(Ljava/lang/String;ZZZ)V
+PLcom/android/server/wm/ImmersiveModeConfirmation;->onPowerKeyDown(ZJZZ)Z
+PLcom/android/server/wm/InputConsumerImpl;->binderDied()V
+PLcom/android/server/wm/InputConsumerImpl;->disposeChannelsLw()V
+PLcom/android/server/wm/InputConsumerImpl;->layout(Landroid/view/SurfaceControl$Transaction;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/InputConsumerImpl;->show(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/InputConsumerImpl;->unlinkFromDeathRecipient()V
+PLcom/android/server/wm/InputManagerCallback;->dispatchUnhandledKey(Landroid/os/IBinder;Landroid/view/KeyEvent;I)Landroid/view/KeyEvent;
+PLcom/android/server/wm/InputManagerCallback;->interceptKeyBeforeDispatching(Landroid/os/IBinder;Landroid/view/KeyEvent;I)J
+PLcom/android/server/wm/InputManagerCallback;->interceptKeyBeforeQueueing(Landroid/view/KeyEvent;I)I
+PLcom/android/server/wm/InputManagerCallback;->interceptMotionBeforeQueueingNonInteractive(IJI)I
+PLcom/android/server/wm/InputManagerCallback;->interceptMotionBeforeQueueingNonInteractive(JI)I
 PLcom/android/server/wm/InputMonitor;->setInputFocusLw(Lcom/android/server/wm/WindowState;Z)V
-PLcom/android/server/wm/InputMonitor;->setUpdateInputWindowsNeededLw()V
-PLcom/android/server/wm/InputMonitor;->thawInputDispatchingLw()V
-PLcom/android/server/wm/InputMonitor;->updateInputDispatchModeLw()V
-PLcom/android/server/wm/InputMonitor;->waitForInputDevicesReady(J)Z
-PLcom/android/server/wm/KeyguardDisableHandler$KeyguardTokenWatcher;-><init>(Lcom/android/server/wm/KeyguardDisableHandler;Landroid/os/Handler;)V
-PLcom/android/server/wm/KeyguardDisableHandler;-><init>(Landroid/content/Context;Lcom/android/server/policy/WindowManagerPolicy;)V
-PLcom/android/server/wm/KeyguardDisableHandler;->handleMessage(Landroid/os/Message;)V
+PLcom/android/server/wm/InsetsStateController;->onImeTargetChanged(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->onRemoved()V
+PLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->releaseSleepToken()V
+PLcom/android/server/wm/KeyguardController;->canDismissKeyguard()Z
+PLcom/android/server/wm/KeyguardController;->canShowWhileOccluded(ZZ)Z
+PLcom/android/server/wm/KeyguardController;->handleDismissKeyguard()V
+PLcom/android/server/wm/KeyguardController;->handleOccludedChanged()V
+PLcom/android/server/wm/KeyguardController;->keyguardGoingAway(I)V
+PLcom/android/server/wm/KeyguardController;->onDisplayRemoved(I)V
+PLcom/android/server/wm/KeyguardController;->resolveOccludeTransit()I
+PLcom/android/server/wm/KeyguardDisableHandler$2;->dpmRequiresPassword(I)Z
+PLcom/android/server/wm/KeyguardDisableHandler$2;->enableKeyguard(Z)V
+PLcom/android/server/wm/KeyguardDisableHandler$2;->isKeyguardSecure(I)Z
+PLcom/android/server/wm/KeyguardDisableHandler;->shouldKeyguardBeEnabled(I)Z
+PLcom/android/server/wm/KeyguardDisableHandler;->updateKeyguardEnabled(I)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->onActivityLaunchCancelled([B)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->onActivityLaunchFinished([B)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->onActivityLaunched([BI)V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->onIntentFailed()V
+PLcom/android/server/wm/LaunchObserverRegistryImpl;->onIntentStarted(Landroid/content/Intent;)V
+PLcom/android/server/wm/LaunchParamsPersister$CleanUpComponentQueueItem;->process()V
+PLcom/android/server/wm/LaunchParamsPersister$LaunchParamsWriteQueueItem;->matches(Lcom/android/server/wm/LaunchParamsPersister$LaunchParamsWriteQueueItem;)Z
+PLcom/android/server/wm/LaunchParamsPersister$LaunchParamsWriteQueueItem;->matches(Lcom/android/server/wm/PersisterQueue$WriteQueueItem;)Z
+PLcom/android/server/wm/LaunchParamsPersister$LaunchParamsWriteQueueItem;->process()V
+PLcom/android/server/wm/LaunchParamsPersister$LaunchParamsWriteQueueItem;->saveParamsToXml()Ljava/io/StringWriter;
+PLcom/android/server/wm/LaunchParamsPersister$PackageListObserver;->onPackageAdded(Ljava/lang/String;)V
+PLcom/android/server/wm/LaunchParamsPersister$PersistableLaunchParams;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
+PLcom/android/server/wm/LaunchParamsPersister$PersistableLaunchParams;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/wm/LaunchParamsPersister;->getParamFile(Ljava/io/File;Landroid/content/ComponentName;)Ljava/io/File;
+PLcom/android/server/wm/LaunchParamsPersister;->loadLaunchParams(I)V
+PLcom/android/server/wm/LaunchParamsPersister;->onCleanupUser(I)V
+PLcom/android/server/wm/LaunchParamsPersister;->onUnlockUser(I)V
+PLcom/android/server/wm/LaunchParamsPersister;->saveTask(Lcom/android/server/wm/TaskRecord;)V
+PLcom/android/server/wm/LaunchParamsPersister;->saveTaskToLaunchParam(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/LaunchParamsPersister$PersistableLaunchParams;)Z
+PLcom/android/server/wm/Letterbox$InputInterceptor;-><init>(Ljava/lang/String;Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/Letterbox$InputInterceptor;->dispose()V
+PLcom/android/server/wm/Letterbox$InputInterceptor;->updateTouchableRegion(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/Letterbox$LetterboxSurface;->applySurfaceChanges(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/Letterbox$LetterboxSurface;->attachInput(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/Letterbox$LetterboxSurface;->createSurface()V
+PLcom/android/server/wm/Letterbox$LetterboxSurface;->getHeight()I
+PLcom/android/server/wm/Letterbox$LetterboxSurface;->getWidth()I
+PLcom/android/server/wm/Letterbox$LetterboxSurface;->isOverlappingWith(Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/Letterbox$LetterboxSurface;->layout(IIIILandroid/graphics/Point;)V
+PLcom/android/server/wm/Letterbox$LetterboxSurface;->needsApplySurfaceChanges()Z
+PLcom/android/server/wm/Letterbox$LetterboxSurface;->remove()V
+PLcom/android/server/wm/Letterbox;-><init>(Ljava/util/function/Supplier;)V
+PLcom/android/server/wm/Letterbox;->applySurfaceChanges(Landroid/view/SurfaceControl$Transaction;)V
+PLcom/android/server/wm/Letterbox;->attachInput(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/Letterbox;->destroy()V
+PLcom/android/server/wm/Letterbox;->getInsets()Landroid/graphics/Rect;
+PLcom/android/server/wm/Letterbox;->hide()V
+PLcom/android/server/wm/Letterbox;->isOverlappingWith(Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/Letterbox;->layout(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Point;)V
+PLcom/android/server/wm/Letterbox;->needsApplySurfaceChanges()Z
 PLcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;->canSkipFirstFrame()Z
+PLcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;->getBackgroundColor()I
 PLcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;->needsEarlyWakeup()Z
-PLcom/android/server/wm/LocalAnimationAdapter;-><init>(Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;Lcom/android/server/wm/SurfaceAnimationRunner;)V
 PLcom/android/server/wm/LocalAnimationAdapter;->getBackgroundColor()I
-PLcom/android/server/wm/LocalAnimationAdapter;->getDetachWallpaper()Z
 PLcom/android/server/wm/LocalAnimationAdapter;->getDurationHint()J
 PLcom/android/server/wm/LocalAnimationAdapter;->getShowWallpaper()Z
 PLcom/android/server/wm/LocalAnimationAdapter;->getStatusBarTransitionsStartTime()J
-PLcom/android/server/wm/LocalAnimationAdapter;->lambda$startAnimation$0(Lcom/android/server/wm/LocalAnimationAdapter;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
+PLcom/android/server/wm/LocalAnimationAdapter;->lambda$startAnimation$0$LocalAnimationAdapter(Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
 PLcom/android/server/wm/LocalAnimationAdapter;->onAnimationCancelled(Landroid/view/SurfaceControl;)V
 PLcom/android/server/wm/LocalAnimationAdapter;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
-PLcom/android/server/wm/PinnedStackController$PinnedStackControllerCallback;-><init>(Lcom/android/server/wm/PinnedStackController;)V
-PLcom/android/server/wm/PinnedStackController$PinnedStackControllerCallback;-><init>(Lcom/android/server/wm/PinnedStackController;Lcom/android/server/wm/PinnedStackController$1;)V
-PLcom/android/server/wm/PinnedStackController$PinnedStackControllerCallback;->lambda$setMinEdgeSize$1(Lcom/android/server/wm/PinnedStackController$PinnedStackControllerCallback;I)V
+PLcom/android/server/wm/LockTaskController;->activityBlockedFromFinish(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/LockTaskController;->canMoveTaskToBack(Lcom/android/server/wm/TaskRecord;)Z
+PLcom/android/server/wm/LockTaskController;->clearLockedTask(Lcom/android/server/wm/TaskRecord;)V
+PLcom/android/server/wm/LockTaskController;->getRootTask()Lcom/android/server/wm/TaskRecord;
+PLcom/android/server/wm/MirrorActiveUids;->getUidState(I)I
+PLcom/android/server/wm/NavigationBarExperiments;->getNavigationBarFrameWidth()I
+PLcom/android/server/wm/NavigationBarExperiments;->getNavigationBarWidth()I
+PLcom/android/server/wm/PendingRemoteAnimationRegistry$Entry;->lambda$new$0$PendingRemoteAnimationRegistry$Entry(Ljava/lang/String;)V
+PLcom/android/server/wm/PendingRemoteAnimationRegistry$Entry;->lambda$new$0(Lcom/android/server/wm/PendingRemoteAnimationRegistry$Entry;Ljava/lang/String;)V
+PLcom/android/server/wm/PendingRemoteAnimationRegistry;->addPendingAnimation(Ljava/lang/String;Landroid/view/RemoteAnimationAdapter;)V
+PLcom/android/server/wm/PersisterQueue;->addItem(Lcom/android/server/wm/PersisterQueue$WriteQueueItem;Z)V
+PLcom/android/server/wm/PersisterQueue;->findLastItem(Ljava/util/function/Predicate;Ljava/lang/Class;)Lcom/android/server/wm/PersisterQueue$WriteQueueItem;
+PLcom/android/server/wm/PersisterQueue;->removeItems(Ljava/util/function/Predicate;Ljava/lang/Class;)V
+PLcom/android/server/wm/PersisterQueue;->updateLastOrAddItem(Lcom/android/server/wm/PersisterQueue$WriteQueueItem;Z)V
+PLcom/android/server/wm/PersisterQueue;->yieldIfQueueTooDeep()V
+PLcom/android/server/wm/PinnedStackController$PinnedStackControllerCallback;->lambda$setMinEdgeSize$1$PinnedStackController$PinnedStackControllerCallback(I)V
 PLcom/android/server/wm/PinnedStackController$PinnedStackControllerCallback;->setMinEdgeSize(I)V
-PLcom/android/server/wm/PinnedStackController$PinnedStackListenerDeathHandler;-><init>(Lcom/android/server/wm/PinnedStackController;)V
-PLcom/android/server/wm/PinnedStackController$PinnedStackListenerDeathHandler;-><init>(Lcom/android/server/wm/PinnedStackController;Lcom/android/server/wm/PinnedStackController$1;)V
-PLcom/android/server/wm/PinnedStackController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/PinnedStackController;->access$200(Lcom/android/server/wm/PinnedStackController;)Landroid/os/Handler;
-PLcom/android/server/wm/PinnedStackController;->access$502(Lcom/android/server/wm/PinnedStackController;I)I
-PLcom/android/server/wm/PinnedStackController;->access$600(Lcom/android/server/wm/PinnedStackController;)I
-PLcom/android/server/wm/PinnedStackController;->dpToPx(FLandroid/util/DisplayMetrics;)I
-PLcom/android/server/wm/PinnedStackController;->getDefaultBounds(F)Landroid/graphics/Rect;
-PLcom/android/server/wm/PinnedStackController;->getInsetBounds(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/PinnedStackController;->getMovementBounds(Landroid/graphics/Rect;)Landroid/graphics/Rect;
-PLcom/android/server/wm/PinnedStackController;->getMovementBounds(Landroid/graphics/Rect;ZZ)Landroid/graphics/Rect;
-PLcom/android/server/wm/PinnedStackController;->isValidPictureInPictureAspectRatio(F)Z
-PLcom/android/server/wm/PinnedStackController;->notifyActionsChanged(Ljava/util/List;)V
-PLcom/android/server/wm/PinnedStackController;->notifyImeVisibilityChanged(ZI)V
-PLcom/android/server/wm/PinnedStackController;->notifyMinimizeChanged(Z)V
-PLcom/android/server/wm/PinnedStackController;->notifyMovementBoundsChanged(ZZ)V
-PLcom/android/server/wm/PinnedStackController;->notifyShelfVisibilityChanged(ZI)V
-PLcom/android/server/wm/PinnedStackController;->onConfigurationChanged()V
-PLcom/android/server/wm/PinnedStackController;->onDisplayInfoChanged()V
-PLcom/android/server/wm/PinnedStackController;->registerPinnedStackListener(Landroid/view/IPinnedStackListener;)V
-PLcom/android/server/wm/PinnedStackController;->reloadResources()V
-PLcom/android/server/wm/PinnedStackController;->resetReentrySnapFraction(Lcom/android/server/wm/AppWindowToken;)V
-PLcom/android/server/wm/PinnedStackController;->setAdjustedForIme(ZI)V
+PLcom/android/server/wm/PinnedStackController;->getAspectRatio()F
+PLcom/android/server/wm/PinnedStackController;->getDefaultOrLastSavedBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/PinnedStackController;->onTaskStackBoundsChanged(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/PinnedStackController;->saveReentrySnapFraction(Lcom/android/server/wm/AppWindowToken;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/PinnedStackController;->setActions(Ljava/util/List;)V
 PLcom/android/server/wm/PinnedStackController;->setAdjustedForShelf(ZI)V
-PLcom/android/server/wm/PinnedStackController;->transformBoundsToAspectRatio(Landroid/graphics/Rect;FZ)Landroid/graphics/Rect;
-PLcom/android/server/wm/PointerEventDispatcher;-><init>(Landroid/view/InputChannel;)V
-PLcom/android/server/wm/PointerEventDispatcher;->registerInputEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V
-PLcom/android/server/wm/RemoteAnimationController$FinishedCallback;-><init>(Lcom/android/server/wm/RemoteAnimationController;)V
+PLcom/android/server/wm/PinnedStackController;->setAspectRatio(F)V
+PLcom/android/server/wm/PointerEventDispatcher;->onInputEvent(Landroid/view/InputEvent;)V
+PLcom/android/server/wm/PointerEventDispatcher;->unregisterInputEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V
+PLcom/android/server/wm/RecentTasks;->cleanupDisabledPackageTasksLocked(Ljava/lang/String;Ljava/util/Set;I)V
+PLcom/android/server/wm/RecentTasks;->cleanupLocked(I)V
+PLcom/android/server/wm/RecentTasks;->createRecentTaskInfo(Lcom/android/server/wm/TaskRecord;)Landroid/app/ActivityManager$RecentTaskInfo;
+PLcom/android/server/wm/RecentTasks;->getAppTasksList(ILjava/lang/String;)Ljava/util/ArrayList;
+PLcom/android/server/wm/RecentTasks;->getProfileIds(I)Ljava/util/Set;
+PLcom/android/server/wm/RecentTasks;->getRecentTaskIds()Landroid/util/SparseBooleanArray;
+PLcom/android/server/wm/RecentTasks;->getRecentTasks(IIZZII)Landroid/content/pm/ParceledListSlice;
+PLcom/android/server/wm/RecentTasks;->getRecentTasksImpl(IIZZII)Ljava/util/ArrayList;
+PLcom/android/server/wm/RecentTasks;->getRecentsComponent()Landroid/content/ComponentName;
+PLcom/android/server/wm/RecentTasks;->getRecentsComponentUid()I
+PLcom/android/server/wm/RecentTasks;->getTaskDescriptionIcon(Ljava/lang/String;)Landroid/graphics/Bitmap;
+PLcom/android/server/wm/RecentTasks;->getTaskIdsForUser(I)Landroid/util/SparseBooleanArray;
+PLcom/android/server/wm/RecentTasks;->hasCompatibleActivityTypeAndWindowingMode(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/TaskRecord;)Z
+PLcom/android/server/wm/RecentTasks;->isInVisibleRange(Lcom/android/server/wm/TaskRecord;I)Z
+PLcom/android/server/wm/RecentTasks;->isRecentsComponent(Landroid/content/ComponentName;I)Z
+PLcom/android/server/wm/RecentTasks;->isTrimmable(Lcom/android/server/wm/TaskRecord;)Z
+PLcom/android/server/wm/RecentTasks;->loadUserRecentsLocked(I)V
+PLcom/android/server/wm/RecentTasks;->notifyTaskPersisterLocked(Lcom/android/server/wm/TaskRecord;Z)V
+PLcom/android/server/wm/RecentTasks;->processNextAffiliateChainLocked(I)I
+PLcom/android/server/wm/RecentTasks;->remove(Lcom/android/server/wm/TaskRecord;)V
+PLcom/android/server/wm/RecentTasks;->removeTasksForUserLocked(I)V
+PLcom/android/server/wm/RecentTasks;->saveImage(Landroid/graphics/Bitmap;Ljava/lang/String;)V
+PLcom/android/server/wm/RecentTasks;->syncPersistentTaskIdsLocked()V
+PLcom/android/server/wm/RecentTasks;->unloadUserDataFromMemoryLocked(I)V
+PLcom/android/server/wm/RecentsAnimation$2;->canHandleReceivedAssistDataLocked()Z
+PLcom/android/server/wm/RecentsAnimation$2;->onAssistDataReceivedLocked(Landroid/os/Bundle;II)V
+PLcom/android/server/wm/RecentsAnimation;->finishAnimation(I)V
+PLcom/android/server/wm/RecentsAnimation;->getTargetActivity(Lcom/android/server/wm/ActivityStack;Landroid/content/ComponentName;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/RecentsAnimation;->lambda$finishAnimation$1$RecentsAnimation()V
+PLcom/android/server/wm/RecentsAnimation;->lambda$finishAnimation$2$RecentsAnimation(I)V
+PLcom/android/server/wm/RecentsAnimation;->lambda$finishAnimation$2(Lcom/android/server/wm/RecentsAnimation;I)V
+PLcom/android/server/wm/RecentsAnimation;->lambda$startRecentsActivity$0$RecentsAnimation()V
+PLcom/android/server/wm/RecentsAnimation;->notifyAnimationCancelBeforeStart(Landroid/view/IRecentsAnimationRunner;)V
+PLcom/android/server/wm/RecentsAnimation;->onAnimationFinished(IZ)V
+PLcom/android/server/wm/RecentsAnimation;->onStackOrderChanged(Lcom/android/server/wm/ActivityStack;)V
+PLcom/android/server/wm/RecentsAnimation;->requestAssistData(Landroid/content/ComponentName;ILandroid/app/IAssistDataReceiver;)V
+PLcom/android/server/wm/RecentsAnimation;->startRecentsActivity(Landroid/content/Intent;Landroid/view/IRecentsAnimationRunner;Landroid/content/ComponentName;ILandroid/app/IAssistDataReceiver;)V
+PLcom/android/server/wm/RecentsAnimationController$1;->finish(Z)V
+PLcom/android/server/wm/RecentsAnimationController$1;->hideCurrentInputMethod()V
+PLcom/android/server/wm/RecentsAnimationController$1;->screenshotTask(I)Landroid/app/ActivityManager$TaskSnapshot;
+PLcom/android/server/wm/RecentsAnimationController$1;->setAnimationTargetsBehindSystemBars(Z)V
+PLcom/android/server/wm/RecentsAnimationController$1;->setInputConsumerEnabled(Z)V
+PLcom/android/server/wm/RecentsAnimationController$1;->setSplitScreenMinimized(Z)V
+PLcom/android/server/wm/RecentsAnimationController$TaskAnimationAdapter;-><init>(Lcom/android/server/wm/RecentsAnimationController;Lcom/android/server/wm/Task;Z)V
+PLcom/android/server/wm/RecentsAnimationController$TaskAnimationAdapter;->createRemoteAnimationApp()Landroid/view/RemoteAnimationTarget;
+PLcom/android/server/wm/RecentsAnimationController$TaskAnimationAdapter;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
+PLcom/android/server/wm/RecentsAnimationController;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IRecentsAnimationRunner;Lcom/android/server/wm/RecentsAnimationController$RecentsAnimationCallbacks;I)V
+PLcom/android/server/wm/RecentsAnimationController;->addAnimation(Lcom/android/server/wm/Task;Z)Lcom/android/server/wm/AnimationAdapter;
+PLcom/android/server/wm/RecentsAnimationController;->binderDied()V
+PLcom/android/server/wm/RecentsAnimationController;->cancelAnimation(ILjava/lang/String;)V
+PLcom/android/server/wm/RecentsAnimationController;->cancelAnimation(IZLjava/lang/String;)V
+PLcom/android/server/wm/RecentsAnimationController;->cancelAnimationSynchronously(ILjava/lang/String;)V
+PLcom/android/server/wm/RecentsAnimationController;->checkAnimationReady(Lcom/android/server/wm/WallpaperController;)V
+PLcom/android/server/wm/RecentsAnimationController;->cleanupAnimation(I)V
+PLcom/android/server/wm/RecentsAnimationController;->initialize(ILandroid/util/SparseBooleanArray;)V
+PLcom/android/server/wm/RecentsAnimationController;->initialize(Lcom/android/server/wm/DisplayContent;ILandroid/util/SparseBooleanArray;)V
+PLcom/android/server/wm/RecentsAnimationController;->isAnimatingApp(Lcom/android/server/wm/AppWindowToken;)Z
+PLcom/android/server/wm/RecentsAnimationController;->isAnimatingTask(Lcom/android/server/wm/Task;)Z
+PLcom/android/server/wm/RecentsAnimationController;->isTargetApp(Lcom/android/server/wm/AppWindowToken;)Z
+PLcom/android/server/wm/RecentsAnimationController;->isWallpaperVisible(Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/RecentsAnimationController;->removeAnimation(Lcom/android/server/wm/RecentsAnimationController$TaskAnimationAdapter;)V
+PLcom/android/server/wm/RecentsAnimationController;->scheduleFailsafe()V
+PLcom/android/server/wm/RecentsAnimationController;->shouldApplyInputConsumer(Lcom/android/server/wm/AppWindowToken;)Z
+PLcom/android/server/wm/RecentsAnimationController;->startAnimation()V
+PLcom/android/server/wm/RecentsAnimationController;->updateInputConsumerForApp(Landroid/view/InputWindowHandle;Z)Z
 PLcom/android/server/wm/RemoteAnimationController$FinishedCallback;->onAnimationFinished()V
-PLcom/android/server/wm/RemoteAnimationController$FinishedCallback;->release()V
-PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;-><init>(Lcom/android/server/wm/RemoteAnimationController;Lcom/android/server/wm/AppWindowToken;Landroid/graphics/Point;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->access$000(Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;)Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;
-PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->createRemoteAppAnimation()Landroid/view/RemoteAnimationTarget;
+PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;-><init>(Lcom/android/server/wm/RemoteAnimationController;Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;Landroid/graphics/Point;Landroid/graphics/Rect;)V
 PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->getBackgroundColor()I
-PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->getDetachWallpaper()Z
 PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->getDurationHint()J
-PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->getMode()I
 PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->getShowWallpaper()Z
 PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->getStatusBarTransitionsStartTime()J
+PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->onAnimationCancelled(Landroid/view/SurfaceControl;)V
 PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationAdapterWrapper;->startAnimation(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;)V
-PLcom/android/server/wm/RemoteAnimationController;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/RemoteAnimationAdapter;Landroid/os/Handler;)V
-PLcom/android/server/wm/RemoteAnimationController;->access$100(Lcom/android/server/wm/RemoteAnimationController;)V
-PLcom/android/server/wm/RemoteAnimationController;->access$1000(Lcom/android/server/wm/RemoteAnimationController;)Landroid/view/RemoteAnimationAdapter;
-PLcom/android/server/wm/RemoteAnimationController;->access$200(Lcom/android/server/wm/RemoteAnimationController;)Lcom/android/server/wm/WindowManagerService;
-PLcom/android/server/wm/RemoteAnimationController;->access$300(Lcom/android/server/wm/RemoteAnimationController;)Landroid/graphics/Rect;
-PLcom/android/server/wm/RemoteAnimationController;->createAnimationAdapter(Lcom/android/server/wm/AppWindowToken;Landroid/graphics/Point;Landroid/graphics/Rect;)Lcom/android/server/wm/AnimationAdapter;
+PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;-><init>(Lcom/android/server/wm/RemoteAnimationController;Lcom/android/server/wm/AppWindowToken;Landroid/graphics/Point;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;->createRemoteAnimationTarget()Landroid/view/RemoteAnimationTarget;
+PLcom/android/server/wm/RemoteAnimationController;->cancelAnimation(Ljava/lang/String;)V
 PLcom/android/server/wm/RemoteAnimationController;->createAnimations()[Landroid/view/RemoteAnimationTarget;
+PLcom/android/server/wm/RemoteAnimationController;->createRemoteAnimationRecord(Lcom/android/server/wm/AppWindowToken;Landroid/graphics/Point;Landroid/graphics/Rect;Landroid/graphics/Rect;)Lcom/android/server/wm/RemoteAnimationController$RemoteAnimationRecord;
 PLcom/android/server/wm/RemoteAnimationController;->goodToGo()V
+PLcom/android/server/wm/RemoteAnimationController;->invokeAnimationCancelled()V
+PLcom/android/server/wm/RemoteAnimationController;->lambda$goodToGo$1$RemoteAnimationController([Landroid/view/RemoteAnimationTarget;)V
 PLcom/android/server/wm/RemoteAnimationController;->lambda$goodToGo$1(Lcom/android/server/wm/RemoteAnimationController;[Landroid/view/RemoteAnimationTarget;)V
-PLcom/android/server/wm/RemoteAnimationController;->linkToDeathOfRunner()V
+PLcom/android/server/wm/RemoteAnimationController;->lambda$new$0$RemoteAnimationController()V
 PLcom/android/server/wm/RemoteAnimationController;->onAnimationFinished()V
-PLcom/android/server/wm/RemoteAnimationController;->releaseFinishedCallback()V
-PLcom/android/server/wm/RemoteAnimationController;->sendRunningRemoteAnimation(Z)V
-PLcom/android/server/wm/RemoteAnimationController;->unlinkToDeathOfRunner()V
-PLcom/android/server/wm/RootWindowContainer$MyHandler;-><init>(Lcom/android/server/wm/RootWindowContainer;Landroid/os/Looper;)V
-PLcom/android/server/wm/RootWindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/RootActivityContainer$FindTaskResult;->setTo(Lcom/android/server/wm/RootActivityContainer$FindTaskResult;)V
+PLcom/android/server/wm/RootActivityContainer$SleepTokenImpl;->release()V
+PLcom/android/server/wm/RootActivityContainer$SleepTokenImpl;->toString()Ljava/lang/String;
+PLcom/android/server/wm/RootActivityContainer;->addStartingWindowsForVisibleActivities(Z)V
+PLcom/android/server/wm/RootActivityContainer;->anyTaskForId(I)Lcom/android/server/wm/TaskRecord;
+PLcom/android/server/wm/RootActivityContainer;->closeSystemDialogs()V
+PLcom/android/server/wm/RootActivityContainer;->findActivity(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Z)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/RootActivityContainer;->finishTopCrashedActivities(Lcom/android/server/wm/WindowProcessController;Ljava/lang/String;)I
+PLcom/android/server/wm/RootActivityContainer;->finishVoiceTask(Landroid/service/voice/IVoiceInteractionSession;)V
+PLcom/android/server/wm/RootActivityContainer;->getActivityDisplay(Ljava/lang/String;)Lcom/android/server/wm/ActivityDisplay;
+PLcom/android/server/wm/RootActivityContainer;->getAllStackInfos()Ljava/util/ArrayList;
+PLcom/android/server/wm/RootActivityContainer;->getLaunchStack(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;Z)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/RootActivityContainer;->getNextFocusableStack(Lcom/android/server/wm/ActivityStack;Z)Lcom/android/server/wm/ActivityStack;
+PLcom/android/server/wm/RootActivityContainer;->getTopVisibleActivities()Ljava/util/List;
+PLcom/android/server/wm/RootActivityContainer;->moveActivityToPinnedStack(Lcom/android/server/wm/ActivityRecord;Landroid/graphics/Rect;FLjava/lang/String;)V
+PLcom/android/server/wm/RootActivityContainer;->onDisplayAdded(I)V
+PLcom/android/server/wm/RootActivityContainer;->onDisplayRemoved(I)V
+PLcom/android/server/wm/RootActivityContainer;->removeChild(Lcom/android/server/wm/ActivityDisplay;)V
+PLcom/android/server/wm/RootActivityContainer;->removeSleepToken(Lcom/android/server/wm/RootActivityContainer$SleepTokenImpl;)V
+PLcom/android/server/wm/RootActivityContainer;->removeUser(I)V
+PLcom/android/server/wm/RootActivityContainer;->resizeStack(Lcom/android/server/wm/ActivityStack;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZZZ)V
+PLcom/android/server/wm/RootActivityContainer;->resolveActivities(ILandroid/content/Intent;)Ljava/util/List;
+PLcom/android/server/wm/RootActivityContainer;->resolveSecondaryHomeActivity(II)Landroid/util/Pair;
+PLcom/android/server/wm/RootActivityContainer;->resumeHomeActivity(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;I)Z
+PLcom/android/server/wm/RootActivityContainer;->updateActivityApplicationInfo(Landroid/content/pm/ApplicationInfo;)V
 PLcom/android/server/wm/RootWindowContainer;->closeSystemDialogs(Ljava/lang/String;)V
-PLcom/android/server/wm/RootWindowContainer;->computeFocusedWindow()Lcom/android/server/wm/WindowState;
-PLcom/android/server/wm/RootWindowContainer;->copyAnimToLayoutParams()Z
-PLcom/android/server/wm/RootWindowContainer;->createDisplayContent(Landroid/view/Display;Lcom/android/server/wm/DisplayWindowController;)Lcom/android/server/wm/DisplayContent;
-PLcom/android/server/wm/RootWindowContainer;->getDisplaysInFocusOrder(Landroid/util/SparseIntArray;)V
-PLcom/android/server/wm/RootWindowContainer;->getWindowTokenDisplay(Lcom/android/server/wm/WindowToken;)Lcom/android/server/wm/DisplayContent;
-PLcom/android/server/wm/RootWindowContainer;->handleResizingWindows()Landroid/util/ArraySet;
+PLcom/android/server/wm/RootWindowContainer;->getCurrentInputMethodWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/RootWindowContainer;->isAnyNonToastWindowVisibleForUid(I)Z
+PLcom/android/server/wm/RootWindowContainer;->lambda$new$0$RootWindowContainer(Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/RootWindowContainer;->lambda$new$0(Lcom/android/server/wm/RootWindowContainer;Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/RootWindowContainer;->lambda$setSecureSurfaceState$3(IZLcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/RootWindowContainer;->lambda$static$1(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/RootWindowContainer;->lambda$updateAppOpsState$5(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/RootWindowContainer;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/RootWindowContainer;->prepareFreezingTaskBounds()V
-PLcom/android/server/wm/RootWindowContainer;->removeReplacedWindows()V
-PLcom/android/server/wm/RootWindowContainer;->setDisplayOverrideConfigurationIfNeeded(Landroid/content/res/Configuration;I)[I
-PLcom/android/server/wm/RootWindowContainer;->setGlobalConfigurationIfNeeded(Landroid/content/res/Configuration;Ljava/util/List;)V
-PLcom/android/server/wm/RootWindowContainer;->setSecureSurfaceState(IZ)V
 PLcom/android/server/wm/RootWindowContainer;->updateAppOpsState()V
-PLcom/android/server/wm/RootWindowContainer;->updateStackBoundsAfterConfigChange(Ljava/util/List;)V
+PLcom/android/server/wm/RootWindowContainer;->updateRotationUnchecked()Z
+PLcom/android/server/wm/SafeActivityOptions;->abort(Lcom/android/server/wm/SafeActivityOptions;)V
+PLcom/android/server/wm/SafeActivityOptions;->getOptions(Lcom/android/server/wm/ActivityStackSupervisor;)Landroid/app/ActivityOptions;
 PLcom/android/server/wm/ScreenRotationAnimation;-><init>(Landroid/content/Context;Lcom/android/server/wm/DisplayContent;ZZLcom/android/server/wm/WindowManagerService;)V
 PLcom/android/server/wm/ScreenRotationAnimation;->createRotationMatrix(IIILandroid/graphics/Matrix;)V
 PLcom/android/server/wm/ScreenRotationAnimation;->dismiss(Landroid/view/SurfaceControl$Transaction;JFIIII)Z
 PLcom/android/server/wm/ScreenRotationAnimation;->getEnterTransformation()Landroid/view/animation/Transformation;
-PLcom/android/server/wm/ScreenRotationAnimation;->hasAnimations()Z
 PLcom/android/server/wm/ScreenRotationAnimation;->hasScreenshot()Z
 PLcom/android/server/wm/ScreenRotationAnimation;->isAnimating()Z
 PLcom/android/server/wm/ScreenRotationAnimation;->isRotating()Z
 PLcom/android/server/wm/ScreenRotationAnimation;->kill()V
-PLcom/android/server/wm/ScreenRotationAnimation;->setRotation(Landroid/view/SurfaceControl$Transaction;I)V
 PLcom/android/server/wm/ScreenRotationAnimation;->setRotation(Landroid/view/SurfaceControl$Transaction;IJFII)Z
 PLcom/android/server/wm/ScreenRotationAnimation;->setSnapshotTransform(Landroid/view/SurfaceControl$Transaction;Landroid/graphics/Matrix;F)V
 PLcom/android/server/wm/ScreenRotationAnimation;->startAnimation(Landroid/view/SurfaceControl$Transaction;JFIIZII)Z
 PLcom/android/server/wm/ScreenRotationAnimation;->stepAnimation(J)Z
 PLcom/android/server/wm/ScreenRotationAnimation;->stepAnimationLocked(J)Z
 PLcom/android/server/wm/ScreenRotationAnimation;->updateSurfaces(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/Session;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IWindowSessionCallback;Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;)V
-PLcom/android/server/wm/Session;->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;)I
+PLcom/android/server/wm/SeamlessRotator;-><init>(IILandroid/view/DisplayInfo;)V
+PLcom/android/server/wm/SeamlessRotator;->finish(Lcom/android/server/wm/WindowState;Z)V
+PLcom/android/server/wm/SeamlessRotator;->unrotate(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/Session;->binderDied()V
-PLcom/android/server/wm/Session;->cancelAlertWindowNotification()V
-PLcom/android/server/wm/Session;->finishDrawing(Landroid/view/IWindow;)V
+PLcom/android/server/wm/Session;->dragRecipientEntered(Landroid/view/IWindow;)V
 PLcom/android/server/wm/Session;->getDisplayFrame(Landroid/view/IWindow;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/Session;->getInTouchMode()Z
 PLcom/android/server/wm/Session;->getWindowId(Landroid/os/IBinder;)Landroid/view/IWindowId;
+PLcom/android/server/wm/Session;->hasAlertWindowSurfaces()Z
 PLcom/android/server/wm/Session;->killSessionLocked()V
 PLcom/android/server/wm/Session;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/Session;->onWindowSurfaceVisibilityChanged(Lcom/android/server/wm/WindowSurfaceController;ZI)V
+PLcom/android/server/wm/Session;->performDrag(Landroid/view/IWindow;ILandroid/view/SurfaceControl;IFFFFLandroid/content/ClipData;)Landroid/os/IBinder;
 PLcom/android/server/wm/Session;->performHapticFeedback(IZ)Z
-PLcom/android/server/wm/Session;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/Surface;)I
+PLcom/android/server/wm/Session;->performHapticFeedback(Landroid/view/IWindow;IZ)Z
+PLcom/android/server/wm/Session;->pokeDrawLock(Landroid/os/IBinder;)V
 PLcom/android/server/wm/Session;->remove(Landroid/view/IWindow;)V
+PLcom/android/server/wm/Session;->reportDropResult(Landroid/view/IWindow;Z)V
 PLcom/android/server/wm/Session;->sendWallpaperCommand(Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;Z)Landroid/os/Bundle;
-PLcom/android/server/wm/Session;->setHasOverlayUi(Z)V
-PLcom/android/server/wm/Session;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
 PLcom/android/server/wm/Session;->setTransparentRegion(Landroid/view/IWindow;Landroid/graphics/Region;)V
 PLcom/android/server/wm/Session;->setWallpaperPosition(Landroid/os/IBinder;FFFF)V
 PLcom/android/server/wm/Session;->updatePointerIcon(Landroid/view/IWindow;)V
-PLcom/android/server/wm/Session;->windowAddedLocked(Ljava/lang/String;)V
+PLcom/android/server/wm/Session;->wallpaperOffsetsComplete(Landroid/os/IBinder;)V
 PLcom/android/server/wm/Session;->windowRemovedLocked()V
-PLcom/android/server/wm/SnapshotStartingData;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/app/ActivityManager$TaskSnapshot;)V
 PLcom/android/server/wm/SnapshotStartingData;->createStartingSurface(Lcom/android/server/wm/AppWindowToken;)Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;
 PLcom/android/server/wm/SplashScreenStartingData;-><init>(Lcom/android/server/wm/WindowManagerService;Ljava/lang/String;ILandroid/content/res/CompatibilityInfo;Ljava/lang/CharSequence;IIIILandroid/content/res/Configuration;)V
 PLcom/android/server/wm/SplashScreenStartingData;->createStartingSurface(Lcom/android/server/wm/AppWindowToken;)Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;
-PLcom/android/server/wm/StackWindowController$H;-><init>(Ljava/lang/ref/WeakReference;Landroid/os/Looper;)V
-PLcom/android/server/wm/StackWindowController;-><init>(ILcom/android/server/wm/StackWindowListener;IZLandroid/graphics/Rect;Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/StackWindowController;->getBounds(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/StackWindowController;->getRawBounds(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/StackWindowController;->onOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/StackWindowController;->positionChildAtBottom(Lcom/android/server/wm/TaskWindowContainerController;Z)V
-PLcom/android/server/wm/StackWindowController;->positionChildAtTop(Lcom/android/server/wm/TaskWindowContainerController;Z)V
-PLcom/android/server/wm/StackWindowController;->removeContainer()V
-PLcom/android/server/wm/StartingData;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/SurfaceAnimationRunner$1;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;)V
+PLcom/android/server/wm/StatusBarController$1;->lambda$$1$StatusBarController$1()V
+PLcom/android/server/wm/StatusBarController$1;->onAppTransitionCancelledLocked(I)V
 PLcom/android/server/wm/SurfaceAnimationRunner$1;->onAnimationEnd(Landroid/animation/Animator;)V
 PLcom/android/server/wm/SurfaceAnimationRunner$1;->onAnimationStart(Landroid/animation/Animator;)V
-PLcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;-><init>(Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;Landroid/view/SurfaceControl;Ljava/lang/Runnable;)V
-PLcom/android/server/wm/SurfaceAnimationRunner$SfValueAnimator;-><init>(Lcom/android/server/wm/SurfaceAnimationRunner;)V
 PLcom/android/server/wm/SurfaceAnimationRunner$SfValueAnimator;->getAnimationHandler()Landroid/animation/AnimationHandler;
-PLcom/android/server/wm/SurfaceAnimationRunner;-><init>()V
-PLcom/android/server/wm/SurfaceAnimationRunner;-><init>(Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;Lcom/android/server/wm/SurfaceAnimationRunner$AnimatorFactory;Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/SurfaceAnimationRunner;->access$100(Lcom/android/server/wm/SurfaceAnimationRunner;)Ljava/lang/Object;
-PLcom/android/server/wm/SurfaceAnimationRunner;->access$200(Lcom/android/server/wm/SurfaceAnimationRunner;)Landroid/view/SurfaceControl$Transaction;
-PLcom/android/server/wm/SurfaceAnimationRunner;->access$300(Lcom/android/server/wm/SurfaceAnimationRunner;)Ljava/lang/Object;
-PLcom/android/server/wm/SurfaceAnimationRunner;->access$400(Lcom/android/server/wm/SurfaceAnimationRunner;)Landroid/animation/AnimationHandler;
-PLcom/android/server/wm/SurfaceAnimationRunner;->applyTransaction()V
-PLcom/android/server/wm/SurfaceAnimationRunner;->continueStartingAnimations()V
-PLcom/android/server/wm/SurfaceAnimationRunner;->deferStartingAnimations()V
-PLcom/android/server/wm/SurfaceAnimationRunner;->lambda$9Wa9MhcrSX12liOouHtYXEkDU60(Lcom/android/server/wm/SurfaceAnimationRunner;J)V
-PLcom/android/server/wm/SurfaceAnimationRunner;->lambda$lSzwjoKEGADoEFOzdEnwriAk0T4(Lcom/android/server/wm/SurfaceAnimationRunner;)V
-PLcom/android/server/wm/SurfaceAnimationRunner;->lambda$new$0(Lcom/android/server/wm/SurfaceAnimationRunner;)V
-PLcom/android/server/wm/SurfaceAnimationRunner;->lambda$new$1(Lcom/android/server/wm/SurfaceAnimationRunner;)Landroid/animation/ValueAnimator;
+PLcom/android/server/wm/SurfaceAnimationRunner;->lambda$new$1$SurfaceAnimationRunner()Landroid/animation/ValueAnimator;
+PLcom/android/server/wm/SurfaceAnimationRunner;->lambda$onAnimationCancelled$2$SurfaceAnimationRunner(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->lambda$startAnimationLocked$3$SurfaceAnimationRunner(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;)V
+PLcom/android/server/wm/SurfaceAnimationRunner;->lambda$startAnimationLocked$3(Lcom/android/server/wm/SurfaceAnimationRunner;Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;Landroid/animation/ValueAnimator;Landroid/animation/ValueAnimator;)V
 PLcom/android/server/wm/SurfaceAnimationRunner;->onAnimationCancelled(Landroid/view/SurfaceControl;)V
 PLcom/android/server/wm/SurfaceAnimationRunner;->startAnimation(Lcom/android/server/wm/LocalAnimationAdapter$AnimationSpec;Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;Ljava/lang/Runnable;)V
 PLcom/android/server/wm/SurfaceAnimationRunner;->startAnimationLocked(Lcom/android/server/wm/SurfaceAnimationRunner$RunningAnimation;)V
 PLcom/android/server/wm/SurfaceAnimationRunner;->startAnimations(J)V
-PLcom/android/server/wm/SurfaceAnimationRunner;->startPendingAnimationsLocked()V
-PLcom/android/server/wm/SurfaceAnimationThread;-><init>()V
-PLcom/android/server/wm/SurfaceAnimationThread;->ensureThreadLocked()V
-PLcom/android/server/wm/SurfaceAnimationThread;->get()Lcom/android/server/wm/SurfaceAnimationThread;
-PLcom/android/server/wm/SurfaceAnimationThread;->getHandler()Landroid/os/Handler;
 PLcom/android/server/wm/SurfaceAnimator$Animatable;->shouldDeferAnimationFinish(Ljava/lang/Runnable;)Z
-PLcom/android/server/wm/SurfaceAnimator;-><init>(Lcom/android/server/wm/SurfaceAnimator$Animatable;Ljava/lang/Runnable;Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/SurfaceAnimator;->cancelAnimation()V
-PLcom/android/server/wm/SurfaceAnimator;->cancelAnimation(Landroid/view/SurfaceControl$Transaction;ZZ)V
 PLcom/android/server/wm/SurfaceAnimator;->createAnimationLeash(Landroid/view/SurfaceControl;Landroid/view/SurfaceControl$Transaction;IIZ)Landroid/view/SurfaceControl;
 PLcom/android/server/wm/SurfaceAnimator;->endDelayingAnimationStart()V
-PLcom/android/server/wm/SurfaceAnimator;->getFinishedCallback(Ljava/lang/Runnable;)Lcom/android/server/wm/SurfaceAnimator$OnAnimationFinishedCallback;
 PLcom/android/server/wm/SurfaceAnimator;->isAnimationStartDelayed()Z
-PLcom/android/server/wm/SurfaceAnimator;->lambda$getFinishedCallback$0(Lcom/android/server/wm/SurfaceAnimator;Ljava/lang/Runnable;)V
+PLcom/android/server/wm/SurfaceAnimator;->lambda$getFinishedCallback$0$SurfaceAnimator(Ljava/lang/Runnable;)V
+PLcom/android/server/wm/SurfaceAnimator;->lambda$getFinishedCallback$1$SurfaceAnimator(Ljava/lang/Runnable;Lcom/android/server/wm/AnimationAdapter;)V
 PLcom/android/server/wm/SurfaceAnimator;->lambda$getFinishedCallback$1(Lcom/android/server/wm/SurfaceAnimator;Ljava/lang/Runnable;Lcom/android/server/wm/AnimationAdapter;)V
 PLcom/android/server/wm/SurfaceAnimator;->reparent(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
-PLcom/android/server/wm/SurfaceAnimator;->reset(Landroid/view/SurfaceControl$Transaction;Z)V
-PLcom/android/server/wm/SurfaceAnimator;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V
-PLcom/android/server/wm/SurfaceAnimator;->setRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;I)V
 PLcom/android/server/wm/SurfaceAnimator;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;Z)V
 PLcom/android/server/wm/SurfaceAnimator;->transferAnimation(Lcom/android/server/wm/SurfaceAnimator;)V
-PLcom/android/server/wm/Task;-><init>(ILcom/android/server/wm/TaskStack;ILcom/android/server/wm/WindowManagerService;IZLandroid/app/ActivityManager$TaskDescription;Lcom/android/server/wm/TaskWindowContainerController;)V
-PLcom/android/server/wm/Task;->addChild(Lcom/android/server/wm/AppWindowToken;I)V
+PLcom/android/server/wm/SystemGesturesPointerEventListener$FlingGestureDetector;->onFling(Landroid/view/MotionEvent;Landroid/view/MotionEvent;FF)Z
+PLcom/android/server/wm/SystemGesturesPointerEventListener$FlingGestureDetector;->onSingleTapUp(Landroid/view/MotionEvent;)Z
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->captureDown(Landroid/view/MotionEvent;I)V
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->detectSwipe(IJFF)I
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->detectSwipe(Landroid/view/MotionEvent;)I
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->findIndex(I)I
+PLcom/android/server/wm/SystemGesturesPointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;)V
+PLcom/android/server/wm/Task;->clearPreserveNonFloatingState()V
+PLcom/android/server/wm/Task;->dontAnimateDimExit()V
 PLcom/android/server/wm/Task;->fillsParent()Z
 PLcom/android/server/wm/Task;->forAllTasks(Ljava/util/function/Consumer;)V
-PLcom/android/server/wm/Task;->forceWindowsScaleable(Z)V
-PLcom/android/server/wm/Task;->getAdjustedAddPosition(I)I
-PLcom/android/server/wm/Task;->getBounds(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/Task;->getController()Lcom/android/server/wm/TaskWindowContainerController;
-PLcom/android/server/wm/Task;->getName()Ljava/lang/String;
+PLcom/android/server/wm/Task;->getAnimationLeashParent()Landroid/view/SurfaceControl;
 PLcom/android/server/wm/Task;->getTaskDescription()Landroid/app/ActivityManager$TaskDescription;
 PLcom/android/server/wm/Task;->getTopFullscreenAppToken()Lcom/android/server/wm/AppWindowToken;
-PLcom/android/server/wm/Task;->hasWindowsAlive()Z
+PLcom/android/server/wm/Task;->getTopVisibleAppMainWindow()Lcom/android/server/wm/WindowState;
 PLcom/android/server/wm/Task;->isDragResizing()Z
-PLcom/android/server/wm/Task;->isFloating()Z
-PLcom/android/server/wm/Task;->onParentSet()V
-PLcom/android/server/wm/Task;->positionChildAt(ILcom/android/server/wm/AppWindowToken;Z)V
-PLcom/android/server/wm/Task;->prepareFreezingBounds()V
+PLcom/android/server/wm/Task;->onDescendantOrientationChanged(Landroid/os/IBinder;Lcom/android/server/wm/ConfigurationContainer;)Z
+PLcom/android/server/wm/Task;->onSnapshotChanged(Landroid/app/ActivityManager$TaskSnapshot;)V
 PLcom/android/server/wm/Task;->removeChild(Lcom/android/server/wm/AppWindowToken;)V
 PLcom/android/server/wm/Task;->removeChild(Lcom/android/server/wm/WindowContainer;)V
 PLcom/android/server/wm/Task;->removeIfPossible()V
 PLcom/android/server/wm/Task;->removeImmediately()V
-PLcom/android/server/wm/Task;->setBounds(Landroid/graphics/Rect;)I
+PLcom/android/server/wm/Task;->reparent(Lcom/android/server/wm/TaskStack;IZ)V
+PLcom/android/server/wm/Task;->resize(ZZ)V
+PLcom/android/server/wm/Task;->setBounds(Landroid/graphics/Rect;Z)I
+PLcom/android/server/wm/Task;->setCanAffectSystemUiFlags(Z)V
 PLcom/android/server/wm/Task;->setSendingToBottom(Z)V
-PLcom/android/server/wm/Task;->setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V
 PLcom/android/server/wm/Task;->shouldDeferRemoval()Z
-PLcom/android/server/wm/Task;->showForAllUsers()Z
-PLcom/android/server/wm/Task;->toShortString()Ljava/lang/String;
-PLcom/android/server/wm/Task;->updateDisplayInfo(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/TaskPositioningController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/input/InputManagerService;Lcom/android/server/wm/InputMonitor;Landroid/app/IActivityManager;Landroid/os/Looper;)V
-PLcom/android/server/wm/TaskSnapshotCache$CacheEntry;-><init>(Landroid/app/ActivityManager$TaskSnapshot;Lcom/android/server/wm/AppWindowToken;)V
-PLcom/android/server/wm/TaskSnapshotCache;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/TaskSnapshotLoader;)V
+PLcom/android/server/wm/Task;->toString()Ljava/lang/String;
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyActivityPinned(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyActivityRequestedOrientationChanged(II)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyActivityUnpinned()V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyPinnedStackAnimationEnded()V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyPinnedStackAnimationStarted()V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskMovedToFront(I)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskMovedToFront(Landroid/app/TaskInfo;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskRemovalStarted(I)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskRemovalStarted(Landroid/app/ActivityManager$RunningTaskInfo;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskRemoved(I)V
+PLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskSnapshotChanged(ILandroid/app/ActivityManager$TaskSnapshot;)V
+PLcom/android/server/wm/TaskChangeNotificationController;->unregisterTaskStackListener(Landroid/app/ITaskStackListener;)V
+PLcom/android/server/wm/TaskPersister$1;->compare(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/TaskRecord;)I
+PLcom/android/server/wm/TaskPersister$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+PLcom/android/server/wm/TaskPersister$ImageWriteQueueItem;->matches(Lcom/android/server/wm/PersisterQueue$WriteQueueItem;)Z
+PLcom/android/server/wm/TaskPersister$ImageWriteQueueItem;->matches(Lcom/android/server/wm/TaskPersister$ImageWriteQueueItem;)Z
+PLcom/android/server/wm/TaskPersister$ImageWriteQueueItem;->process()V
+PLcom/android/server/wm/TaskPersister$ImageWriteQueueItem;->updateFrom(Lcom/android/server/wm/PersisterQueue$WriteQueueItem;)V
+PLcom/android/server/wm/TaskPersister$ImageWriteQueueItem;->updateFrom(Lcom/android/server/wm/TaskPersister$ImageWriteQueueItem;)V
+PLcom/android/server/wm/TaskPersister$TaskWriteQueueItem;->process()V
+PLcom/android/server/wm/TaskPersister$TaskWriteQueueItem;->saveToXml(Lcom/android/server/wm/TaskRecord;)Ljava/io/StringWriter;
+PLcom/android/server/wm/TaskPersister;->getTaskDescriptionIcon(Ljava/lang/String;)Landroid/graphics/Bitmap;
+PLcom/android/server/wm/TaskPersister;->getUserTasksDir(I)Ljava/io/File;
+PLcom/android/server/wm/TaskPersister;->removeObsoleteFiles(Landroid/util/ArraySet;[Ljava/io/File;)V
+PLcom/android/server/wm/TaskPersister;->restoreTasksForUserLocked(ILandroid/util/SparseBooleanArray;)Ljava/util/List;
+PLcom/android/server/wm/TaskPersister;->saveImage(Landroid/graphics/Bitmap;Ljava/lang/String;)V
+PLcom/android/server/wm/TaskPersister;->taskIdToTask(ILjava/util/ArrayList;)Lcom/android/server/wm/TaskRecord;
+PLcom/android/server/wm/TaskPersister;->unloadUserDataFromMemory(I)V
+PLcom/android/server/wm/TaskPersister;->wakeup(Lcom/android/server/wm/TaskRecord;Z)V
+PLcom/android/server/wm/TaskPersister;->writePersistedTaskIdsForUser(Landroid/util/SparseBooleanArray;I)V
+PLcom/android/server/wm/TaskPositioningController;->handleTapOutsideTask(Lcom/android/server/wm/DisplayContent;II)V
+PLcom/android/server/wm/TaskPositioningController;->lambda$handleTapOutsideTask$0(Lcom/android/server/wm/TaskPositioningController;Lcom/android/server/wm/DisplayContent;II)V
+PLcom/android/server/wm/TaskRecord$TaskActivitiesReport;-><init>()V
+PLcom/android/server/wm/TaskRecord$TaskRecordFactory;->create(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZIILjava/lang/String;Ljava/util/ArrayList;JZLandroid/app/ActivityManager$TaskDescription;IIIIILjava/lang/String;IZZZII)Lcom/android/server/wm/TaskRecord;
+PLcom/android/server/wm/TaskRecord$TaskRecordFactory;->restoreFromXml(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/wm/ActivityStackSupervisor;)Lcom/android/server/wm/TaskRecord;
+PLcom/android/server/wm/TaskRecord;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Landroid/content/ComponentName;Landroid/content/ComponentName;ZZZIILjava/lang/String;Ljava/util/ArrayList;JZLandroid/app/ActivityManager$TaskDescription;IIIIILjava/lang/String;IZZZII)V
+PLcom/android/server/wm/TaskRecord;->addStartingWindowsForVisibleActivities(Z)V
+PLcom/android/server/wm/TaskRecord;->adjustForMinimalTaskDimensions(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/TaskRecord;->autoRemoveFromRecents()Z
+PLcom/android/server/wm/TaskRecord;->calculateInsetFrames(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayInfo;)V
+PLcom/android/server/wm/TaskRecord;->canBeLaunchedOnDisplay(I)Z
+PLcom/android/server/wm/TaskRecord;->canResizeToBounds(Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/TaskRecord;->cleanUpResourcesForDestroy()V
+PLcom/android/server/wm/TaskRecord;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/TaskRecord;->computeConfigResourceOverrides(Landroid/content/res/Configuration;Landroid/content/res/Configuration;Z)V
+PLcom/android/server/wm/TaskRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+PLcom/android/server/wm/TaskRecord;->fillTaskInfo(Landroid/app/TaskInfo;Lcom/android/server/wm/TaskRecord$TaskActivitiesReport;)V
+PLcom/android/server/wm/TaskRecord;->findActivityInHistoryLocked(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/TaskRecord;->getInactiveDuration()J
+PLcom/android/server/wm/TaskRecord;->getSnapshot(Z)Landroid/app/ActivityManager$TaskSnapshot;
+PLcom/android/server/wm/TaskRecord;->intersectWithInsetsIfFits(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/TaskRecord;->isClearingToReuseTask()Z
+PLcom/android/server/wm/TaskRecord;->isSameIntentFilter(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/TaskRecord;->lockTaskAuthToString()Ljava/lang/String;
+PLcom/android/server/wm/TaskRecord;->onSnapshotChanged(Landroid/app/ActivityManager$TaskSnapshot;)V
+PLcom/android/server/wm/TaskRecord;->onlyHasTaskOverlayActivities(Z)Z
+PLcom/android/server/wm/TaskRecord;->performClearTaskAtIndexLocked(IZLjava/lang/String;)V
+PLcom/android/server/wm/TaskRecord;->performClearTaskForReuseLocked(Lcom/android/server/wm/ActivityRecord;I)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/TaskRecord;->performClearTaskLocked()V
+PLcom/android/server/wm/TaskRecord;->performClearTaskLocked(Lcom/android/server/wm/ActivityRecord;I)Lcom/android/server/wm/ActivityRecord;
+PLcom/android/server/wm/TaskRecord;->removeActivity(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/TaskRecord;->removeActivity(Lcom/android/server/wm/ActivityRecord;Z)Z
+PLcom/android/server/wm/TaskRecord;->removeTaskActivitiesLocked(ZLjava/lang/String;)V
+PLcom/android/server/wm/TaskRecord;->removeWindowContainer()V
+PLcom/android/server/wm/TaskRecord;->removedFromRecents()V
+PLcom/android/server/wm/TaskRecord;->reparent(Lcom/android/server/wm/ActivityStack;IIZZZLjava/lang/String;)Z
+PLcom/android/server/wm/TaskRecord;->reparent(Lcom/android/server/wm/ActivityStack;ZIZZZLjava/lang/String;)Z
+PLcom/android/server/wm/TaskRecord;->resize(Landroid/graphics/Rect;IZZ)Z
+PLcom/android/server/wm/TaskRecord;->returnsToHomeStack()Z
+PLcom/android/server/wm/TaskRecord;->saveToXml(Lorg/xmlpull/v1/XmlSerializer;)V
+PLcom/android/server/wm/TaskRecord;->setNextAffiliate(Lcom/android/server/wm/TaskRecord;)V
+PLcom/android/server/wm/TaskRecord;->setPrevAffiliate(Lcom/android/server/wm/TaskRecord;)V
+PLcom/android/server/wm/TaskRecord;->toString()Ljava/lang/String;
 PLcom/android/server/wm/TaskSnapshotCache;->getSnapshot(IIZZ)Landroid/app/ActivityManager$TaskSnapshot;
 PLcom/android/server/wm/TaskSnapshotCache;->onAppDied(Lcom/android/server/wm/AppWindowToken;)V
 PLcom/android/server/wm/TaskSnapshotCache;->onAppRemoved(Lcom/android/server/wm/AppWindowToken;)V
 PLcom/android/server/wm/TaskSnapshotCache;->onTaskRemoved(I)V
 PLcom/android/server/wm/TaskSnapshotCache;->putSnapshot(Lcom/android/server/wm/Task;Landroid/app/ActivityManager$TaskSnapshot;)V
-PLcom/android/server/wm/TaskSnapshotCache;->removeRunningEntry(I)V
-PLcom/android/server/wm/TaskSnapshotCache;->tryRestoreFromDisk(IIZ)Landroid/app/ActivityManager$TaskSnapshot;
-PLcom/android/server/wm/TaskSnapshotController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/TaskSnapshotController;->addSkipClosingAppSnapshotTasks(Landroid/util/ArraySet;)V
 PLcom/android/server/wm/TaskSnapshotController;->createStartingSurface(Lcom/android/server/wm/AppWindowToken;Landroid/app/ActivityManager$TaskSnapshot;)Lcom/android/server/policy/WindowManagerPolicy$StartingSurface;
-PLcom/android/server/wm/TaskSnapshotController;->getClosingTasks(Landroid/util/ArraySet;Landroid/util/ArraySet;)V
-PLcom/android/server/wm/TaskSnapshotController;->getInsets(Lcom/android/server/wm/WindowState;)Landroid/graphics/Rect;
+PLcom/android/server/wm/TaskSnapshotController;->drawAppThemeSnapshot(Lcom/android/server/wm/Task;)Landroid/app/ActivityManager$TaskSnapshot;
+PLcom/android/server/wm/TaskSnapshotController;->findAppTokenForSnapshot(Lcom/android/server/wm/Task;)Lcom/android/server/wm/AppWindowToken;
 PLcom/android/server/wm/TaskSnapshotController;->getSnapshot(IIZZ)Landroid/app/ActivityManager$TaskSnapshot;
-PLcom/android/server/wm/TaskSnapshotController;->getSnapshotMode(Lcom/android/server/wm/Task;)I
-PLcom/android/server/wm/TaskSnapshotController;->getSystemUiVisibility(Lcom/android/server/wm/Task;)I
-PLcom/android/server/wm/TaskSnapshotController;->handleClosingApps(Landroid/util/ArraySet;)V
-PLcom/android/server/wm/TaskSnapshotController;->lambda$OPdXuZQLetMnocdH6XV32JbNQ3I(I)Ljava/io/File;
-PLcom/android/server/wm/TaskSnapshotController;->lambda$screenTurningOff$1(Lcom/android/server/wm/TaskSnapshotController;Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskSnapshotController;->lambda$screenTurningOff$1$TaskSnapshotController(Lcom/android/server/wm/Task;)V
+PLcom/android/server/wm/TaskSnapshotController;->lambda$screenTurningOff$2$TaskSnapshotController(Lcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)V
 PLcom/android/server/wm/TaskSnapshotController;->lambda$screenTurningOff$2(Lcom/android/server/wm/TaskSnapshotController;Lcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)V
-PLcom/android/server/wm/TaskSnapshotController;->lambda$snapshotTask$0(Lcom/android/server/wm/WindowState;)Z
 PLcom/android/server/wm/TaskSnapshotController;->minRect(Landroid/graphics/Rect;Landroid/graphics/Rect;)Landroid/graphics/Rect;
-PLcom/android/server/wm/TaskSnapshotController;->notifyAppVisibilityChanged(Lcom/android/server/wm/AppWindowToken;Z)V
 PLcom/android/server/wm/TaskSnapshotController;->notifyTaskRemovedFromRecents(II)V
 PLcom/android/server/wm/TaskSnapshotController;->onAppDied(Lcom/android/server/wm/AppWindowToken;)V
 PLcom/android/server/wm/TaskSnapshotController;->onAppRemoved(Lcom/android/server/wm/AppWindowToken;)V
-PLcom/android/server/wm/TaskSnapshotController;->onTransitionStarting()V
-PLcom/android/server/wm/TaskSnapshotController;->removeObsoleteTaskFiles(Landroid/util/ArraySet;[I)V
 PLcom/android/server/wm/TaskSnapshotController;->screenTurningOff(Lcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)V
 PLcom/android/server/wm/TaskSnapshotController;->setPersisterPaused(Z)V
-PLcom/android/server/wm/TaskSnapshotController;->shouldDisableSnapshots()Z
 PLcom/android/server/wm/TaskSnapshotController;->snapshotTask(Lcom/android/server/wm/Task;)Landroid/app/ActivityManager$TaskSnapshot;
-PLcom/android/server/wm/TaskSnapshotController;->snapshotTasks(Landroid/util/ArraySet;)V
-PLcom/android/server/wm/TaskSnapshotController;->systemReady()V
-PLcom/android/server/wm/TaskSnapshotLoader;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;)V
 PLcom/android/server/wm/TaskSnapshotLoader;->loadTask(IIZ)Landroid/app/ActivityManager$TaskSnapshot;
-PLcom/android/server/wm/TaskSnapshotPersister$1;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;Ljava/lang/String;)V
-PLcom/android/server/wm/TaskSnapshotPersister$1;->run()V
-PLcom/android/server/wm/TaskSnapshotPersister$DeleteWriteQueueItem;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;II)V
 PLcom/android/server/wm/TaskSnapshotPersister$DeleteWriteQueueItem;->write()V
-PLcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;Landroid/util/ArraySet;[I)V
 PLcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;->getTaskId(Ljava/lang/String;)I
-PLcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;->write()V
-PLcom/android/server/wm/TaskSnapshotPersister$StoreWriteQueueItem;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;IILandroid/app/ActivityManager$TaskSnapshot;)V
 PLcom/android/server/wm/TaskSnapshotPersister$StoreWriteQueueItem;->onDequeuedLocked()V
-PLcom/android/server/wm/TaskSnapshotPersister$StoreWriteQueueItem;->onQueuedLocked()V
 PLcom/android/server/wm/TaskSnapshotPersister$StoreWriteQueueItem;->write()V
 PLcom/android/server/wm/TaskSnapshotPersister$StoreWriteQueueItem;->writeBuffer()Z
 PLcom/android/server/wm/TaskSnapshotPersister$StoreWriteQueueItem;->writeProto()Z
-PLcom/android/server/wm/TaskSnapshotPersister$WriteQueueItem;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;)V
-PLcom/android/server/wm/TaskSnapshotPersister$WriteQueueItem;-><init>(Lcom/android/server/wm/TaskSnapshotPersister;Lcom/android/server/wm/TaskSnapshotPersister$1;)V
-PLcom/android/server/wm/TaskSnapshotPersister$WriteQueueItem;->onDequeuedLocked()V
-PLcom/android/server/wm/TaskSnapshotPersister$WriteQueueItem;->onQueuedLocked()V
-PLcom/android/server/wm/TaskSnapshotPersister;-><init>(Lcom/android/server/wm/TaskSnapshotPersister$DirectoryResolver;)V
-PLcom/android/server/wm/TaskSnapshotPersister;->access$100(Lcom/android/server/wm/TaskSnapshotPersister;)Ljava/lang/Object;
-PLcom/android/server/wm/TaskSnapshotPersister;->access$1000(Lcom/android/server/wm/TaskSnapshotPersister;)Landroid/util/ArraySet;
-PLcom/android/server/wm/TaskSnapshotPersister;->access$200(Lcom/android/server/wm/TaskSnapshotPersister;)Z
-PLcom/android/server/wm/TaskSnapshotPersister;->access$300(Lcom/android/server/wm/TaskSnapshotPersister;)Ljava/util/ArrayDeque;
-PLcom/android/server/wm/TaskSnapshotPersister;->access$402(Lcom/android/server/wm/TaskSnapshotPersister;Z)Z
-PLcom/android/server/wm/TaskSnapshotPersister;->access$600(Lcom/android/server/wm/TaskSnapshotPersister;)Ljava/util/ArrayDeque;
-PLcom/android/server/wm/TaskSnapshotPersister;->access$700(Lcom/android/server/wm/TaskSnapshotPersister;I)Z
-PLcom/android/server/wm/TaskSnapshotPersister;->access$800(Lcom/android/server/wm/TaskSnapshotPersister;I)Ljava/io/File;
-PLcom/android/server/wm/TaskSnapshotPersister;->access$900(Lcom/android/server/wm/TaskSnapshotPersister;II)V
-PLcom/android/server/wm/TaskSnapshotPersister;->createDirectory(I)Z
-PLcom/android/server/wm/TaskSnapshotPersister;->deleteSnapshot(II)V
-PLcom/android/server/wm/TaskSnapshotPersister;->ensureStoreQueueDepthLocked()V
 PLcom/android/server/wm/TaskSnapshotPersister;->getBitmapFile(II)Ljava/io/File;
-PLcom/android/server/wm/TaskSnapshotPersister;->getDirectory(I)Ljava/io/File;
 PLcom/android/server/wm/TaskSnapshotPersister;->getProtoFile(II)Ljava/io/File;
 PLcom/android/server/wm/TaskSnapshotPersister;->getReducedResolutionBitmapFile(II)Ljava/io/File;
+PLcom/android/server/wm/TaskSnapshotPersister;->getReducedScale()F
 PLcom/android/server/wm/TaskSnapshotPersister;->onTaskRemovedFromRecents(II)V
 PLcom/android/server/wm/TaskSnapshotPersister;->persistSnapshot(IILandroid/app/ActivityManager$TaskSnapshot;)V
-PLcom/android/server/wm/TaskSnapshotPersister;->removeObsoleteFiles(Landroid/util/ArraySet;[I)V
-PLcom/android/server/wm/TaskSnapshotPersister;->sendToQueueLocked(Lcom/android/server/wm/TaskSnapshotPersister$WriteQueueItem;)V
 PLcom/android/server/wm/TaskSnapshotPersister;->setPaused(Z)V
-PLcom/android/server/wm/TaskSnapshotPersister;->start()V
 PLcom/android/server/wm/TaskSnapshotSurface$1;-><init>(Landroid/os/Looper;)V
 PLcom/android/server/wm/TaskSnapshotSurface$1;->handleMessage(Landroid/os/Message;)V
 PLcom/android/server/wm/TaskSnapshotSurface$SystemBarBackgroundPainter;-><init>(IIIII)V
+PLcom/android/server/wm/TaskSnapshotSurface$SystemBarBackgroundPainter;->drawDecors(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/TaskSnapshotSurface$SystemBarBackgroundPainter;->drawNavigationBarBackground(Landroid/graphics/Canvas;)V
+PLcom/android/server/wm/TaskSnapshotSurface$SystemBarBackgroundPainter;->drawStatusBarBackground(Landroid/graphics/Canvas;Landroid/graphics/Rect;I)V
+PLcom/android/server/wm/TaskSnapshotSurface$SystemBarBackgroundPainter;->getStatusBarColorViewHeight()I
 PLcom/android/server/wm/TaskSnapshotSurface$SystemBarBackgroundPainter;->setInsets(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
 PLcom/android/server/wm/TaskSnapshotSurface$Window;-><init>()V
 PLcom/android/server/wm/TaskSnapshotSurface$Window;->resized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;Landroid/graphics/Rect;ZZILandroid/view/DisplayCutout$ParcelableWrapper;)V
-PLcom/android/server/wm/TaskSnapshotSurface$Window;->setOuter(Lcom/android/server/wm/TaskSnapshotSurface;)V
-PLcom/android/server/wm/TaskSnapshotSurface;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/TaskSnapshotSurface$Window;Landroid/view/Surface;Landroid/app/ActivityManager$TaskSnapshot;Ljava/lang/CharSequence;IIIIIILandroid/graphics/Rect;I)V
-PLcom/android/server/wm/TaskSnapshotSurface;->access$000(Lcom/android/server/wm/TaskSnapshotSurface;)Lcom/android/server/wm/WindowManagerService;
-PLcom/android/server/wm/TaskSnapshotSurface;->access$100(Lcom/android/server/wm/TaskSnapshotSurface;)Z
-PLcom/android/server/wm/TaskSnapshotSurface;->access$200(Lcom/android/server/wm/TaskSnapshotSurface;)V
-PLcom/android/server/wm/TaskSnapshotSurface;->access$300(Lcom/android/server/wm/TaskSnapshotSurface;)I
-PLcom/android/server/wm/TaskSnapshotSurface;->access$400()Landroid/os/Handler;
+PLcom/android/server/wm/TaskSnapshotSurface;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/TaskSnapshotSurface$Window;Landroid/view/SurfaceControl;Landroid/app/ActivityManager$TaskSnapshot;Ljava/lang/CharSequence;IIIIIILandroid/graphics/Rect;I)V
+PLcom/android/server/wm/TaskSnapshotSurface;->calculateSnapshotCrop()Landroid/graphics/Rect;
+PLcom/android/server/wm/TaskSnapshotSurface;->calculateSnapshotFrame(Landroid/graphics/Rect;)Landroid/graphics/Rect;
 PLcom/android/server/wm/TaskSnapshotSurface;->create(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/AppWindowToken;Landroid/app/ActivityManager$TaskSnapshot;)Lcom/android/server/wm/TaskSnapshotSurface;
-PLcom/android/server/wm/TaskSnapshotSurface;->drawSizeMatchSnapshot(Landroid/graphics/GraphicBuffer;)V
+PLcom/android/server/wm/TaskSnapshotSurface;->drawBackgroundAndBars(Landroid/graphics/Canvas;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/TaskSnapshotSurface;->drawSizeMismatchSnapshot(Landroid/graphics/GraphicBuffer;)V
 PLcom/android/server/wm/TaskSnapshotSurface;->drawSnapshot()V
 PLcom/android/server/wm/TaskSnapshotSurface;->remove()V
 PLcom/android/server/wm/TaskSnapshotSurface;->reportDrawn()V
 PLcom/android/server/wm/TaskSnapshotSurface;->setFrames(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/TaskStack;-><init>(Lcom/android/server/wm/WindowManagerService;ILcom/android/server/wm/StackWindowController;)V
-PLcom/android/server/wm/TaskStack;->addTask(Lcom/android/server/wm/Task;IZZ)V
-PLcom/android/server/wm/TaskStack;->calculateBoundsForWindowModeChange()Landroid/graphics/Rect;
-PLcom/android/server/wm/TaskStack;->computeMinPosition(II)I
-PLcom/android/server/wm/TaskStack;->findHomeTask()Lcom/android/server/wm/Task;
-PLcom/android/server/wm/TaskStack;->findPositionForTask(Lcom/android/server/wm/Task;IZZ)I
-PLcom/android/server/wm/TaskStack;->getAnimatingAppWindowTokenRegistry()Lcom/android/server/wm/AnimatingAppWindowTokenRegistry;
-PLcom/android/server/wm/TaskStack;->getDisplayInfo()Landroid/view/DisplayInfo;
-PLcom/android/server/wm/TaskStack;->getName()Ljava/lang/String;
+PLcom/android/server/wm/TaskStack;->animateResizePinnedStack(Landroid/graphics/Rect;Landroid/graphics/Rect;IZ)V
+PLcom/android/server/wm/TaskStack;->calculatePinnedBoundsForConfigChange(Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/TaskStack;->compareTo(Lcom/android/server/wm/WindowContainer;)I
+PLcom/android/server/wm/TaskStack;->deferScheduleMultiWindowModeChanged()Z
+PLcom/android/server/wm/TaskStack;->getAnimationOrCurrentBounds(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/TaskStack;->getFinalAnimationBounds(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/TaskStack;->getFinalAnimationSourceHintBounds(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/TaskStack;->getPictureInPictureBounds(FLandroid/graphics/Rect;)Landroid/graphics/Rect;
 PLcom/android/server/wm/TaskStack;->getRawBounds()Landroid/graphics/Rect;
-PLcom/android/server/wm/TaskStack;->getRawBounds(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/TaskStack;->getRelativePosition(Landroid/graphics/Point;)V
 PLcom/android/server/wm/TaskStack;->getSurfaceControl()Landroid/view/SurfaceControl;
-PLcom/android/server/wm/TaskStack;->isAdjustedForIme()Z
-PLcom/android/server/wm/TaskStack;->isAnimatingBounds()Z
-PLcom/android/server/wm/TaskStack;->isAnimatingForIme()Z
-PLcom/android/server/wm/TaskStack;->isMinimizedDockAndHomeStackResizable()Z
-PLcom/android/server/wm/TaskStack;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/TaskStack;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/TaskStack;->onOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/TaskStack;->onParentSet()V
-PLcom/android/server/wm/TaskStack;->positionChildAt(ILcom/android/server/wm/Task;Z)V
-PLcom/android/server/wm/TaskStack;->positionChildAt(ILcom/android/server/wm/Task;ZZ)V
-PLcom/android/server/wm/TaskStack;->prepareFreezingTaskBounds()V
+PLcom/android/server/wm/TaskStack;->isAnimatingBoundsToFullscreen()Z
+PLcom/android/server/wm/TaskStack;->isAttached()Z
+PLcom/android/server/wm/TaskStack;->lastAnimatingBoundsWasToFullscreen()Z
+PLcom/android/server/wm/TaskStack;->onAllWindowsDrawn()V
+PLcom/android/server/wm/TaskStack;->onAnimationEnd(ZLandroid/graphics/Rect;Z)V
+PLcom/android/server/wm/TaskStack;->onAnimationStart(ZZ)Z
+PLcom/android/server/wm/TaskStack;->onPipAnimationEndResize()V
+PLcom/android/server/wm/TaskStack;->pinnedStackResizeDisallowed()Z
+PLcom/android/server/wm/TaskStack;->positionChildAtBottom(Lcom/android/server/wm/Task;Z)V
 PLcom/android/server/wm/TaskStack;->removeChild(Lcom/android/server/wm/Task;)V
 PLcom/android/server/wm/TaskStack;->removeChild(Lcom/android/server/wm/WindowContainer;)V
 PLcom/android/server/wm/TaskStack;->removeIfPossible()V
-PLcom/android/server/wm/TaskStack;->setAdjustedBounds(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/TaskStack;->setBounds(Landroid/graphics/Rect;)I
-PLcom/android/server/wm/TaskStack;->setBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)I
-PLcom/android/server/wm/TaskStack;->toShortString()Ljava/lang/String;
-PLcom/android/server/wm/TaskStack;->updateAdjustedBounds()V
-PLcom/android/server/wm/TaskStack;->updateAnimationBackgroundBounds()V
-PLcom/android/server/wm/TaskStack;->updateBoundsAfterConfigChange()Z
-PLcom/android/server/wm/TaskStack;->updateBoundsForWindowModeChange()V
-PLcom/android/server/wm/TaskStack;->updateDisplayInfo(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/TaskStack;->updateSurfaceBounds()V
-PLcom/android/server/wm/TaskStack;->updateSurfaceSize(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/TaskTapPointerEventListener;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/TaskTapPointerEventListener;->setTouchExcludeRegion(Landroid/graphics/Region;)V
-PLcom/android/server/wm/TaskWindowContainerController$H;-><init>(Ljava/lang/ref/WeakReference;Landroid/os/Looper;)V
-PLcom/android/server/wm/TaskWindowContainerController$H;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/wm/TaskWindowContainerController;-><init>(ILcom/android/server/wm/TaskWindowContainerListener;Lcom/android/server/wm/StackWindowController;ILandroid/graphics/Rect;IZZZLandroid/app/ActivityManager$TaskDescription;)V
-PLcom/android/server/wm/TaskWindowContainerController;-><init>(ILcom/android/server/wm/TaskWindowContainerListener;Lcom/android/server/wm/StackWindowController;ILandroid/graphics/Rect;IZZZLandroid/app/ActivityManager$TaskDescription;Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/TaskWindowContainerController;->createTask(ILcom/android/server/wm/TaskStack;IIZLandroid/app/ActivityManager$TaskDescription;)Lcom/android/server/wm/Task;
-PLcom/android/server/wm/TaskWindowContainerController;->getBounds(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/TaskWindowContainerController;->onOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/TaskWindowContainerController;->positionChildAt(Lcom/android/server/wm/AppWindowContainerController;I)V
-PLcom/android/server/wm/TaskWindowContainerController;->removeContainer()V
-PLcom/android/server/wm/TaskWindowContainerController;->reportSnapshotChanged(Landroid/app/ActivityManager$TaskSnapshot;)V
-PLcom/android/server/wm/TaskWindowContainerController;->setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V
-PLcom/android/server/wm/UnknownAppVisibilityController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/UnknownAppVisibilityController;->allResolved()Z
+PLcom/android/server/wm/TaskStack;->removeImmediately()V
+PLcom/android/server/wm/TaskStack;->setAnimationBackground(Lcom/android/server/wm/WindowStateAnimator;I)V
+PLcom/android/server/wm/TaskStack;->setAnimationFinalBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;Z)V
+PLcom/android/server/wm/TaskStack;->setPictureInPictureActions(Ljava/util/List;)V
+PLcom/android/server/wm/TaskStack;->setPictureInPictureAspectRatio(F)V
+PLcom/android/server/wm/TaskStack;->setPinnedStackSize(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
+PLcom/android/server/wm/TaskStack;->shouldDeferStartOnMoveToFullscreen()Z
+PLcom/android/server/wm/TaskStack;->showAnimationSurface(F)V
+PLcom/android/server/wm/TaskStack;->taskIdFromPoint(II)I
+PLcom/android/server/wm/TaskTapPointerEventListener;->lambda$new$0$TaskTapPointerEventListener()V
+PLcom/android/server/wm/TaskTapPointerEventListener;->lambda$new$0(Lcom/android/server/wm/TaskTapPointerEventListener;)V
+PLcom/android/server/wm/TaskTapPointerEventListener;->onPointerEvent(Landroid/view/MotionEvent;)V
 PLcom/android/server/wm/UnknownAppVisibilityController;->appRemovedOrHidden(Lcom/android/server/wm/AppWindowToken;)V
-PLcom/android/server/wm/UnknownAppVisibilityController;->clear()V
-PLcom/android/server/wm/UnknownAppVisibilityController;->lambda$FYhcjOhYWVp6HX5hr3GGaPg67Gc(Lcom/android/server/wm/UnknownAppVisibilityController;)V
-PLcom/android/server/wm/UnknownAppVisibilityController;->notifyAppResumedFinished(Lcom/android/server/wm/AppWindowToken;)V
 PLcom/android/server/wm/UnknownAppVisibilityController;->notifyLaunched(Lcom/android/server/wm/AppWindowToken;)V
-PLcom/android/server/wm/UnknownAppVisibilityController;->notifyRelayouted(Lcom/android/server/wm/AppWindowToken;)V
 PLcom/android/server/wm/UnknownAppVisibilityController;->notifyVisibilitiesUpdated()V
-PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;-><init>()V
-PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;-><init>(Lcom/android/server/wm/WallpaperController$1;)V
-PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->reset()V
-PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->setTopWallpaper(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->setUseTopWallpaperAsTarget(Z)V
-PLcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;->setWallpaperTarget(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/WallpaperController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WallpaperController;->addWallpaperToken(Lcom/android/server/wm/WallpaperWindowToken;)V
-PLcom/android/server/wm/WallpaperController;->adjustWallpaperWindows(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/WallpaperController;->adjustWallpaperWindowsForAppTransitionIfNeeded(Lcom/android/server/wm/DisplayContent;Landroid/util/ArraySet;)V
-PLcom/android/server/wm/WallpaperController;->clearLastWallpaperTimeoutTime()V
-PLcom/android/server/wm/WallpaperController;->findWallpaperTarget(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/WallpaperController;->getWallpaperTarget()Lcom/android/server/wm/WindowState;
-PLcom/android/server/wm/WallpaperController;->hideDeferredWallpapersIfNeeded()V
-PLcom/android/server/wm/WallpaperController;->isBelowWallpaperTarget(Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/WallpaperController;->isWallpaperTargetAnimating()Z
-PLcom/android/server/wm/WallpaperController;->isWallpaperVisible()Z
-PLcom/android/server/wm/WallpaperController;->isWallpaperVisible(Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/WallpaperController;->lambda$updateWallpaperWindowsTarget$1(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)Z
+PLcom/android/server/wm/WallpaperController;->processWallpaperDrawPendingTimeout()Z
 PLcom/android/server/wm/WallpaperController;->sendWindowWallpaperCommand(Lcom/android/server/wm/WindowState;Ljava/lang/String;IIILandroid/os/Bundle;Z)Landroid/os/Bundle;
 PLcom/android/server/wm/WallpaperController;->setWindowWallpaperPosition(Lcom/android/server/wm/WindowState;FFFF)V
-PLcom/android/server/wm/WallpaperController;->updateWallpaperOffset(Lcom/android/server/wm/WindowState;IIZ)Z
+PLcom/android/server/wm/WallpaperController;->startWallpaperAnimation(Landroid/view/animation/Animation;)V
 PLcom/android/server/wm/WallpaperController;->updateWallpaperOffsetLocked(Lcom/android/server/wm/WindowState;Z)V
-PLcom/android/server/wm/WallpaperController;->updateWallpaperTokens(Z)V
 PLcom/android/server/wm/WallpaperController;->updateWallpaperVisibility()V
-PLcom/android/server/wm/WallpaperController;->updateWallpaperWindowsTarget(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;)V
+PLcom/android/server/wm/WallpaperController;->wallpaperOffsetsComplete(Landroid/os/IBinder;)V
 PLcom/android/server/wm/WallpaperController;->wallpaperTransitionReady()Z
-PLcom/android/server/wm/WallpaperVisibilityListeners;-><init>()V
-PLcom/android/server/wm/WallpaperVisibilityListeners;->notifyWallpaperVisibilityChanged(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/WallpaperVisibilityListeners;->registerWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)V
-PLcom/android/server/wm/WallpaperWindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;ZLcom/android/server/wm/DisplayContent;Z)V
+PLcom/android/server/wm/WallpaperVisibilityListeners;->unregisterWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)V
 PLcom/android/server/wm/WallpaperWindowToken;->hasVisibleNotDrawnWallpaper()Z
 PLcom/android/server/wm/WallpaperWindowToken;->sendWindowWallpaperCommand(Ljava/lang/String;IIILandroid/os/Bundle;Z)V
-PLcom/android/server/wm/WallpaperWindowToken;->toString()Ljava/lang/String;
+PLcom/android/server/wm/WallpaperWindowToken;->startAnimation(Landroid/view/animation/Animation;)V
 PLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperOffset(IIZ)V
 PLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperVisibility(Z)V
-PLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperWindows(Z)V
-PLcom/android/server/wm/WindowAnimationSpec$TmpValues;-><init>()V
-PLcom/android/server/wm/WindowAnimationSpec$TmpValues;-><init>(Lcom/android/server/wm/WindowAnimationSpec$1;)V
 PLcom/android/server/wm/WindowAnimationSpec;-><init>(Landroid/view/animation/Animation;Landroid/graphics/Point;Landroid/graphics/Rect;ZIZ)V
-PLcom/android/server/wm/WindowAnimationSpec;-><init>(Landroid/view/animation/Animation;Landroid/graphics/Point;Z)V
+PLcom/android/server/wm/WindowAnimationSpec;->apply(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;J)V
 PLcom/android/server/wm/WindowAnimationSpec;->calculateStatusBarTransitionStartTime()J
 PLcom/android/server/wm/WindowAnimationSpec;->canSkipFirstFrame()Z
-PLcom/android/server/wm/WindowAnimationSpec;->findAlmostThereFraction(Landroid/view/animation/Interpolator;)F
 PLcom/android/server/wm/WindowAnimationSpec;->findTranslateAnimation(Landroid/view/animation/Animation;)Landroid/view/animation/TranslateAnimation;
 PLcom/android/server/wm/WindowAnimationSpec;->getBackgroundColor()I
-PLcom/android/server/wm/WindowAnimationSpec;->getDetachWallpaper()Z
 PLcom/android/server/wm/WindowAnimationSpec;->getDuration()J
 PLcom/android/server/wm/WindowAnimationSpec;->getShowWallpaper()Z
-PLcom/android/server/wm/WindowAnimationSpec;->lambda$new$0()Lcom/android/server/wm/WindowAnimationSpec$TmpValues;
-PLcom/android/server/wm/WindowAnimator$DisplayContentsAnimator;-><init>(Lcom/android/server/wm/WindowAnimator;)V
-PLcom/android/server/wm/WindowAnimator$DisplayContentsAnimator;-><init>(Lcom/android/server/wm/WindowAnimator;Lcom/android/server/wm/WindowAnimator$1;)V
-PLcom/android/server/wm/WindowAnimator;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowAnimationSpec;->needsEarlyWakeup()Z
 PLcom/android/server/wm/WindowAnimator;->addAfterPrepareSurfacesRunnable(Ljava/lang/Runnable;)V
-PLcom/android/server/wm/WindowAnimator;->addDisplayLocked(I)V
-PLcom/android/server/wm/WindowAnimator;->cancelAnimation()V
-PLcom/android/server/wm/WindowAnimator;->getPendingLayoutChanges(I)I
 PLcom/android/server/wm/WindowAnimator;->isAnimating()Z
 PLcom/android/server/wm/WindowAnimator;->isAnimationScheduled()Z
-PLcom/android/server/wm/WindowAnimator;->lambda$new$0(Lcom/android/server/wm/WindowAnimator;)V
-PLcom/android/server/wm/WindowAnimator;->lambda$new$1(Lcom/android/server/wm/WindowAnimator;J)V
-PLcom/android/server/wm/WindowAnimator;->orAnimating(Z)V
-PLcom/android/server/wm/WindowAnimator;->requestRemovalOfReplacedWindows(Lcom/android/server/wm/WindowState;)V
+PLcom/android/server/wm/WindowAnimator;->removeDisplayLocked(I)V
 PLcom/android/server/wm/WindowAnimator;->setAnimating(Z)V
-PLcom/android/server/wm/WindowAnimator;->setPendingLayoutChanges(II)V
 PLcom/android/server/wm/WindowAnimator;->setScreenRotationAnimationLocked(ILcom/android/server/wm/ScreenRotationAnimation;)V
-PLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;-><init>(Lcom/android/server/wm/WindowContainer;)V
-PLcom/android/server/wm/WindowContainer$ForAllWindowsConsumerWrapper;-><init>(Lcom/android/server/wm/WindowContainer;Lcom/android/server/wm/WindowContainer$1;)V
-PLcom/android/server/wm/WindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowContainer;->addChild(Lcom/android/server/wm/WindowContainer;I)V
-PLcom/android/server/wm/WindowContainer;->addChild(Lcom/android/server/wm/WindowContainer;Ljava/util/Comparator;)V
-PLcom/android/server/wm/WindowContainer;->assignChildLayers()V
-PLcom/android/server/wm/WindowContainer;->assignRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;I)V
-PLcom/android/server/wm/WindowContainer;->cancelAnimation()V
-PLcom/android/server/wm/WindowContainer;->commitPendingTransaction()V
-PLcom/android/server/wm/WindowContainer;->compareTo(Lcom/android/server/wm/WindowContainer;)I
 PLcom/android/server/wm/WindowContainer;->forAllTasks(Ljava/util/function/Consumer;)V
+PLcom/android/server/wm/WindowContainer;->forceWindowsScaleableInTransaction(Z)V
 PLcom/android/server/wm/WindowContainer;->getAnimationLeashParent()Landroid/view/SurfaceControl;
 PLcom/android/server/wm/WindowContainer;->getAppAnimationLayer(I)Landroid/view/SurfaceControl;
-PLcom/android/server/wm/WindowContainer;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
-PLcom/android/server/wm/WindowContainer;->getController()Lcom/android/server/wm/WindowContainerController;
-PLcom/android/server/wm/WindowContainer;->getOrientation()I
 PLcom/android/server/wm/WindowContainer;->getOrientation(I)I
-PLcom/android/server/wm/WindowContainer;->getParent()Lcom/android/server/wm/ConfigurationContainer;
-PLcom/android/server/wm/WindowContainer;->getParentSurfaceControl()Landroid/view/SurfaceControl;
-PLcom/android/server/wm/WindowContainer;->getParents(Ljava/util/LinkedList;)V
 PLcom/android/server/wm/WindowContainer;->getPrefixOrderIndex()I
-PLcom/android/server/wm/WindowContainer;->getRelativePosition(Landroid/graphics/Point;)V
-PLcom/android/server/wm/WindowContainer;->getSession()Landroid/view/SurfaceSession;
+PLcom/android/server/wm/WindowContainer;->getPrefixOrderIndex(Lcom/android/server/wm/WindowContainer;)I
 PLcom/android/server/wm/WindowContainer;->getSurfaceHeight()I
 PLcom/android/server/wm/WindowContainer;->getSurfaceWidth()I
-PLcom/android/server/wm/WindowContainer;->getTopChild()Lcom/android/server/wm/WindowContainer;
 PLcom/android/server/wm/WindowContainer;->hasCommittedReparentToAnimationLeash()Z
-PLcom/android/server/wm/WindowContainer;->hasContentToDisplay()Z
-PLcom/android/server/wm/WindowContainer;->isVisible()Z
 PLcom/android/server/wm/WindowContainer;->makeAnimationLeash()Landroid/view/SurfaceControl$Builder;
-PLcom/android/server/wm/WindowContainer;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;
-PLcom/android/server/wm/WindowContainer;->makeSurface()Landroid/view/SurfaceControl$Builder;
 PLcom/android/server/wm/WindowContainer;->onAnimationFinished()V
 PLcom/android/server/wm/WindowContainer;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
 PLcom/android/server/wm/WindowContainer;->onAnimationLeashDestroyed(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/WindowContainer;->onChildAdded(Lcom/android/server/wm/WindowContainer;)V
-PLcom/android/server/wm/WindowContainer;->onChildRemoved(Lcom/android/server/wm/WindowContainer;)V
-PLcom/android/server/wm/WindowContainer;->onConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/WindowContainer;->onDescendantOverrideConfigurationChanged()V
-PLcom/android/server/wm/WindowContainer;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/WindowContainer;->onOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/WindowContainer;->onDescendantOrientationChanged(Landroid/os/IBinder;Lcom/android/server/wm/ConfigurationContainer;)Z
+PLcom/android/server/wm/WindowContainer;->onMovedByResize()V
 PLcom/android/server/wm/WindowContainer;->onParentResize()V
-PLcom/android/server/wm/WindowContainer;->onParentSet()V
-PLcom/android/server/wm/WindowContainer;->onResize()V
-PLcom/android/server/wm/WindowContainer;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
 PLcom/android/server/wm/WindowContainer;->reassignLayer(Landroid/view/SurfaceControl$Transaction;)V
 PLcom/android/server/wm/WindowContainer;->removeChild(Lcom/android/server/wm/WindowContainer;)V
-PLcom/android/server/wm/WindowContainer;->removeIfPossible()V
 PLcom/android/server/wm/WindowContainer;->removeImmediately()V
 PLcom/android/server/wm/WindowContainer;->reparentSurfaceControl(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
-PLcom/android/server/wm/WindowContainer;->sendAppVisibilityToClients()V
-PLcom/android/server/wm/WindowContainer;->setController(Lcom/android/server/wm/WindowContainerController;)V
-PLcom/android/server/wm/WindowContainer;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V
-PLcom/android/server/wm/WindowContainer;->setOrientation(I)V
-PLcom/android/server/wm/WindowContainer;->setParent(Lcom/android/server/wm/WindowContainer;)V
-PLcom/android/server/wm/WindowContainer;->setRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;I)V
 PLcom/android/server/wm/WindowContainer;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;Z)V
 PLcom/android/server/wm/WindowContainer;->transferAnimation(Lcom/android/server/wm/WindowContainer;)V
-PLcom/android/server/wm/WindowContainer;->updateSurfacePosition()V
-PLcom/android/server/wm/WindowContainerController;-><init>(Lcom/android/server/wm/WindowContainerListener;Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowContainerController;->onOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
-PLcom/android/server/wm/WindowContainerController;->removeContainer()V
-PLcom/android/server/wm/WindowContainerController;->setContainer(Lcom/android/server/wm/WindowContainer;)V
-PLcom/android/server/wm/WindowHashMap;-><init>()V
-PLcom/android/server/wm/WindowList;-><init>()V
+PLcom/android/server/wm/WindowFrames;->resetLastContentInsets()V
 PLcom/android/server/wm/WindowList;->addFirst(Ljava/lang/Object;)V
 PLcom/android/server/wm/WindowList;->peekFirst()Ljava/lang/Object;
-PLcom/android/server/wm/WindowList;->peekLast()Ljava/lang/Object;
-PLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;-><init>()V
-PLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
-PLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionPendingLocked()V
-PLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionStartingLocked(ILandroid/os/IBinder;Landroid/os/IBinder;JJJ)I
-PLcom/android/server/wm/WindowManagerInternal;-><init>()V
-PLcom/android/server/wm/WindowManagerService$1;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
-PLcom/android/server/wm/WindowManagerService$2;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowManagerService$3;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowManagerService$3;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
-PLcom/android/server/wm/WindowManagerService$4;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowManagerService$4;->run()V
-PLcom/android/server/wm/WindowManagerService$5;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowManagerService$6;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowManagerService$6;->onOpChanged(ILjava/lang/String;)V
-PLcom/android/server/wm/WindowManagerService$7;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowManagerService$9;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;)V
-PLcom/android/server/wm/WindowManagerService$H;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowManagerService$H;->handleMessage(Landroid/os/Message;)V
-PLcom/android/server/wm/WindowManagerService$LocalService;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowManagerService$LocalService;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService$1;)V
+PLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionCancelledLocked(I)V
+PLcom/android/server/wm/WindowManagerInternal$IDragDropCallback;->postPerformDrag()V
+PLcom/android/server/wm/WindowManagerInternal$IDragDropCallback;->postReportDropResult()V
+PLcom/android/server/wm/WindowManagerInternal$IDragDropCallback;->prePerformDrag(Landroid/view/IWindow;Landroid/os/IBinder;IFFFFLandroid/content/ClipData;)Z
+PLcom/android/server/wm/WindowManagerInternal$IDragDropCallback;->preReportDropResult(Landroid/view/IWindow;Z)V
+PLcom/android/server/wm/WindowManagerInternal$IDragDropCallback;->registerInputChannel(Lcom/android/server/wm/DragState;Landroid/view/Display;Lcom/android/server/input/InputManagerService;Landroid/view/InputChannel;)Z
+PLcom/android/server/wm/WindowManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+PLcom/android/server/wm/WindowManagerService$4;->onAppTransitionCancelledLocked(I)V
+PLcom/android/server/wm/WindowManagerService$6;->getServiceType()I
+PLcom/android/server/wm/WindowManagerService$6;->onLowPowerModeChanged(Landroid/os/PowerSaveState;)V
+PLcom/android/server/wm/WindowManagerService$7;->onOpChanged(ILjava/lang/String;)V
 PLcom/android/server/wm/WindowManagerService$LocalService;->addWindowToken(Landroid/os/IBinder;II)V
-PLcom/android/server/wm/WindowManagerService$LocalService;->getInputMethodWindowVisibleHeight()I
-PLcom/android/server/wm/WindowManagerService$LocalService;->isDockedDividerResizing()Z
+PLcom/android/server/wm/WindowManagerService$LocalService;->computeWindowsForAccessibility()V
+PLcom/android/server/wm/WindowManagerService$LocalService;->getCompatibleMagnificationSpecForWindow(Landroid/os/IBinder;)Landroid/view/MagnificationSpec;
+PLcom/android/server/wm/WindowManagerService$LocalService;->getFocusedWindowToken()Landroid/os/IBinder;
 PLcom/android/server/wm/WindowManagerService$LocalService;->isHardKeyboardAvailable()Z
 PLcom/android/server/wm/WindowManagerService$LocalService;->isKeyguardShowingAndNotOccluded()Z
-PLcom/android/server/wm/WindowManagerService$LocalService;->registerAppTransitionListener(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->isUidFocused(I)Z
 PLcom/android/server/wm/WindowManagerService$LocalService;->removeWindowToken(Landroid/os/IBinder;ZI)V
-PLcom/android/server/wm/WindowManagerService$LocalService;->requestTraversalFromDisplayManager()V
-PLcom/android/server/wm/WindowManagerService$LocalService;->setOnHardKeyboardStatusChangeListener(Lcom/android/server/wm/WindowManagerInternal$OnHardKeyboardStatusChangeListener;)V
-PLcom/android/server/wm/WindowManagerService$LocalService;->updateInputMethodWindowStatus(Landroid/os/IBinder;ZZLandroid/os/IBinder;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->setWindowsForAccessibilityCallback(Lcom/android/server/wm/WindowManagerInternal$WindowsForAccessibilityCallback;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->updateInputMethodTargetWindow(Landroid/os/IBinder;Landroid/os/IBinder;)V
+PLcom/android/server/wm/WindowManagerService$LocalService;->updateInputMethodWindowStatus(Landroid/os/IBinder;ZZ)V
 PLcom/android/server/wm/WindowManagerService$LocalService;->waitForAllWindowsDrawn(Ljava/lang/Runnable;J)V
-PLcom/android/server/wm/WindowManagerService$MousePositionTracker;-><init>()V
-PLcom/android/server/wm/WindowManagerService$MousePositionTracker;-><init>(Lcom/android/server/wm/WindowManagerService$1;)V
-PLcom/android/server/wm/WindowManagerService$MousePositionTracker;->access$1700(Lcom/android/server/wm/WindowManagerService$MousePositionTracker;)Z
-PLcom/android/server/wm/WindowManagerService$RotationWatcher;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IRotationWatcher;Landroid/os/IBinder$DeathRecipient;I)V
-PLcom/android/server/wm/WindowManagerService$SettingsObserver;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowManagerService;-><init>(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZZLcom/android/server/policy/WindowManagerPolicy;)V
-PLcom/android/server/wm/WindowManagerService;->access$000(Lcom/android/server/wm/WindowManagerService;)Lcom/android/server/wm/KeyguardDisableHandler;
-PLcom/android/server/wm/WindowManagerService;->access$1100(Lcom/android/server/wm/WindowManagerService;)V
+PLcom/android/server/wm/WindowManagerService$MousePositionTracker;->onPointerEvent(Landroid/view/MotionEvent;)V
 PLcom/android/server/wm/WindowManagerService;->access$1400(Lcom/android/server/wm/WindowManagerService;)Z
 PLcom/android/server/wm/WindowManagerService;->access$1500(Lcom/android/server/wm/WindowManagerService;)Lcom/android/server/wm/RecentsAnimationController;
-PLcom/android/server/wm/WindowManagerService;->access$400(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowManagerService;->access$700(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowManagerService;->addWindow(Lcom/android/server/wm/Session;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;)I
-PLcom/android/server/wm/WindowManagerService;->addWindowToken(Landroid/os/IBinder;II)V
-PLcom/android/server/wm/WindowManagerService;->canDispatchPointerEvents()Z
-PLcom/android/server/wm/WindowManagerService;->checkBootAnimationCompleteLocked()Z
-PLcom/android/server/wm/WindowManagerService;->checkDrawnWindowsLocked()V
+PLcom/android/server/wm/WindowManagerService;->canStartRecentsAnimation()Z
+PLcom/android/server/wm/WindowManagerService;->cancelRecentsAnimationSynchronously(ILjava/lang/String;)V
+PLcom/android/server/wm/WindowManagerService;->checkSplitScreenMinimizedChanged(Z)V
+PLcom/android/server/wm/WindowManagerService;->cleanupRecentsAnimation(I)V
 PLcom/android/server/wm/WindowManagerService;->closeSystemDialogs(Ljava/lang/String;)V
-PLcom/android/server/wm/WindowManagerService;->computeNewConfiguration(I)Landroid/content/res/Configuration;
-PLcom/android/server/wm/WindowManagerService;->computeNewConfigurationLocked(I)Landroid/content/res/Configuration;
-PLcom/android/server/wm/WindowManagerService;->continueSurfaceLayout()V
-PLcom/android/server/wm/WindowManagerService;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;)V
-PLcom/android/server/wm/WindowManagerService;->createSurfaceControl(Landroid/view/Surface;ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;)I
-PLcom/android/server/wm/WindowManagerService;->createWatermarkInTransaction()V
-PLcom/android/server/wm/WindowManagerService;->deferSurfaceLayout()V
-PLcom/android/server/wm/WindowManagerService;->destroyInputConsumer(Ljava/lang/String;)Z
-PLcom/android/server/wm/WindowManagerService;->destroyPreservedSurfaceLocked()V
-PLcom/android/server/wm/WindowManagerService;->detectSafeMode()Z
-PLcom/android/server/wm/WindowManagerService;->dipToPixel(ILandroid/util/DisplayMetrics;)I
-PLcom/android/server/wm/WindowManagerService;->displayReady()V
-PLcom/android/server/wm/WindowManagerService;->displayReady(I)V
+PLcom/android/server/wm/WindowManagerService;->dismissKeyguard(Lcom/android/internal/policy/IKeyguardDismissCallback;Ljava/lang/CharSequence;)V
 PLcom/android/server/wm/WindowManagerService;->doesAddToastWindowRequireToken(Ljava/lang/String;ILcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/WindowManagerService;->enableScreenAfterBoot()V
 PLcom/android/server/wm/WindowManagerService;->enableScreenIfNeeded()V
-PLcom/android/server/wm/WindowManagerService;->enableScreenIfNeededLocked()V
-PLcom/android/server/wm/WindowManagerService;->excludeWindowTypeFromTapOutTask(I)Z
 PLcom/android/server/wm/WindowManagerService;->executeAppTransition()V
-PLcom/android/server/wm/WindowManagerService;->getAnimationScale(I)F
-PLcom/android/server/wm/WindowManagerService;->getBaseDisplaySize(ILandroid/graphics/Point;)V
-PLcom/android/server/wm/WindowManagerService;->getCameraLensCoverState()I
-PLcom/android/server/wm/WindowManagerService;->getCurrentAnimatorScale()F
-PLcom/android/server/wm/WindowManagerService;->getDefaultDisplayRotation()I
-PLcom/android/server/wm/WindowManagerService;->getDisplayContentOrCreate(I)Lcom/android/server/wm/DisplayContent;
-PLcom/android/server/wm/WindowManagerService;->getDisplaysInFocusOrder(Landroid/util/SparseIntArray;)V
-PLcom/android/server/wm/WindowManagerService;->getDockedStackSide()I
-PLcom/android/server/wm/WindowManagerService;->getForcedDisplayDensityForUserLocked(I)I
-PLcom/android/server/wm/WindowManagerService;->getImeFocusStackLocked()Lcom/android/server/wm/TaskStack;
-PLcom/android/server/wm/WindowManagerService;->getInitialDisplaySize(ILandroid/graphics/Point;)V
-PLcom/android/server/wm/WindowManagerService;->getInputMonitor()Lcom/android/server/wm/InputMonitor;
-PLcom/android/server/wm/WindowManagerService;->getInstance()Lcom/android/server/wm/WindowManagerService;
-PLcom/android/server/wm/WindowManagerService;->getLidState()I
-PLcom/android/server/wm/WindowManagerService;->getNavBarPosition()I
-PLcom/android/server/wm/WindowManagerService;->getPendingAppTransition()I
-PLcom/android/server/wm/WindowManagerService;->getStableInsets(ILandroid/graphics/Rect;)V
-PLcom/android/server/wm/WindowManagerService;->getStableInsetsLocked(ILandroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowManagerService;->freezeDisplayRotation(II)V
+PLcom/android/server/wm/WindowManagerService;->freezeRotation(I)V
+PLcom/android/server/wm/WindowManagerService;->getNavBarPosition(I)I
 PLcom/android/server/wm/WindowManagerService;->getTaskSnapshot(IIZ)Landroid/app/ActivityManager$TaskSnapshot;
 PLcom/android/server/wm/WindowManagerService;->getTransitionAnimationScaleLocked()F
 PLcom/android/server/wm/WindowManagerService;->getWindowAnimationScaleLocked()F
 PLcom/android/server/wm/WindowManagerService;->getWindowDisplayFrame(Lcom/android/server/wm/Session;Landroid/view/IWindow;Landroid/graphics/Rect;)V
 PLcom/android/server/wm/WindowManagerService;->getWindowId(Landroid/os/IBinder;)Landroid/view/IWindowId;
-PLcom/android/server/wm/WindowManagerService;->getWindowManagerLock()Ljava/lang/Object;
-PLcom/android/server/wm/WindowManagerService;->handleAnimatingStoppedAndTransitionLocked()I
-PLcom/android/server/wm/WindowManagerService;->hasNavigationBar()Z
-PLcom/android/server/wm/WindowManagerService;->hasWideColorGamutSupport()Z
-PLcom/android/server/wm/WindowManagerService;->hideBootMessagesLocked()V
-PLcom/android/server/wm/WindowManagerService;->initPolicy()V
-PLcom/android/server/wm/WindowManagerService;->inputMethodClientHasFocus(Lcom/android/internal/view/IInputMethodClient;)Z
+PLcom/android/server/wm/WindowManagerService;->inSurfaceTransaction(Ljava/lang/Runnable;)V
+PLcom/android/server/wm/WindowManagerService;->initializeRecentsAnimation(ILandroid/view/IRecentsAnimationRunner;Lcom/android/server/wm/RecentsAnimationController$RecentsAnimationCallbacks;ILandroid/util/SparseBooleanArray;)V
 PLcom/android/server/wm/WindowManagerService;->isKeyguardSecure()Z
 PLcom/android/server/wm/WindowManagerService;->isKeyguardShowingAndNotOccluded()Z
+PLcom/android/server/wm/WindowManagerService;->isKeyguardTrusted()Z
+PLcom/android/server/wm/WindowManagerService;->isRotatingSeamlessly()Z
 PLcom/android/server/wm/WindowManagerService;->isSafeModeEnabled()Z
-PLcom/android/server/wm/WindowManagerService;->isSecureLocked(Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/WindowManagerService;->isShowingDream()Z
-PLcom/android/server/wm/WindowManagerService;->lambda$XZ-U3HlCFtHp_gydNmNMeRmQMCI(Landroid/view/SurfaceSession;)Landroid/view/SurfaceControl$Builder;
-PLcom/android/server/wm/WindowManagerService;->lambda$hBnABSAsqXWvQ0zKwHWE4BZ3Mc0()Landroid/view/SurfaceControl$Transaction;
-PLcom/android/server/wm/WindowManagerService;->lambda$main$0(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZZLcom/android/server/policy/WindowManagerPolicy;)V
-PLcom/android/server/wm/WindowManagerService;->lambda$notifyKeyguardFlagsChanged$1(Lcom/android/server/wm/WindowManagerService;Ljava/lang/Runnable;)V
+PLcom/android/server/wm/WindowManagerService;->isValidPictureInPictureAspectRatio(IF)Z
 PLcom/android/server/wm/WindowManagerService;->lambda$requestAssistScreenshot$2(Landroid/app/IAssistDataReceiver;Landroid/graphics/Bitmap;)V
-PLcom/android/server/wm/WindowManagerService;->lambda$updateNonSystemOverlayWindowsVisibilityIfNeeded$7(ZLcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/WindowManagerService;->main(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZZLcom/android/server/policy/WindowManagerPolicy;)Lcom/android/server/wm/WindowManagerService;
-PLcom/android/server/wm/WindowManagerService;->makeSurfaceBuilder(Landroid/view/SurfaceSession;)Landroid/view/SurfaceControl$Builder;
-PLcom/android/server/wm/WindowManagerService;->makeWindowFreezingScreenIfNeededLocked(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/WindowManagerService;->monitor()V
+PLcom/android/server/wm/WindowManagerService;->markForSeamlessRotation(Lcom/android/server/wm/WindowState;Z)V
 PLcom/android/server/wm/WindowManagerService;->notifyAppRelaunchesCleared(Landroid/os/IBinder;)V
 PLcom/android/server/wm/WindowManagerService;->notifyAppRelaunching(Landroid/os/IBinder;)V
 PLcom/android/server/wm/WindowManagerService;->notifyAppRelaunchingFinished(Landroid/os/IBinder;)V
-PLcom/android/server/wm/WindowManagerService;->notifyAppResumedFinished(Landroid/os/IBinder;)V
-PLcom/android/server/wm/WindowManagerService;->notifyFocusChanged()V
-PLcom/android/server/wm/WindowManagerService;->notifyKeyguardFlagsChanged(Ljava/lang/Runnable;)V
-PLcom/android/server/wm/WindowManagerService;->notifyKeyguardTrustedChanged()V
+PLcom/android/server/wm/WindowManagerService;->notifyKeyguardFlagsChanged(Ljava/lang/Runnable;I)V
 PLcom/android/server/wm/WindowManagerService;->notifyTaskRemovedFromRecents(II)V
-PLcom/android/server/wm/WindowManagerService;->onDisplayChanged(I)V
-PLcom/android/server/wm/WindowManagerService;->onInitReady()V
 PLcom/android/server/wm/WindowManagerService;->onKeyguardOccludedChanged(Z)V
-PLcom/android/server/wm/WindowManagerService;->onKeyguardShowingAndNotOccludedChanged()V
-PLcom/android/server/wm/WindowManagerService;->onOverlayChanged()V
+PLcom/android/server/wm/WindowManagerService;->onPowerKeyDown(Z)V
 PLcom/android/server/wm/WindowManagerService;->onRectangleOnScreenRequested(Landroid/os/IBinder;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/WindowManagerService;->onSystemUiStarted()V
-PLcom/android/server/wm/WindowManagerService;->openSession(Landroid/view/IWindowSessionCallback;Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;)Landroid/view/IWindowSession;
-PLcom/android/server/wm/WindowManagerService;->overridePendingAppTransition(Ljava/lang/String;IILandroid/os/IRemoteCallback;)V
-PLcom/android/server/wm/WindowManagerService;->overridePendingAppTransitionRemote(Landroid/view/RemoteAnimationAdapter;I)V
 PLcom/android/server/wm/WindowManagerService;->performBootTimeout()V
-PLcom/android/server/wm/WindowManagerService;->performEnableScreen()V
+PLcom/android/server/wm/WindowManagerService;->pokeDrawLock(Lcom/android/server/wm/Session;Landroid/os/IBinder;)V
 PLcom/android/server/wm/WindowManagerService;->postWindowRemoveCleanupLocked(Lcom/android/server/wm/WindowState;)V
 PLcom/android/server/wm/WindowManagerService;->prepareAppTransition(IZ)V
-PLcom/android/server/wm/WindowManagerService;->prepareAppTransition(IZIZ)V
-PLcom/android/server/wm/WindowManagerService;->prepareNoneTransitionForRelaunching(Lcom/android/server/wm/AppWindowToken;)V
-PLcom/android/server/wm/WindowManagerService;->prepareWindowReplacementTransition(Lcom/android/server/wm/AppWindowToken;)Z
-PLcom/android/server/wm/WindowManagerService;->queryWideColorGamutSupport()Z
-PLcom/android/server/wm/WindowManagerService;->readForcedDisplayPropertiesLocked(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/WindowManagerService;->reconfigureDisplayLocked(Lcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/WindowManagerService;->refreshScreenCaptureDisabled(I)V
 PLcom/android/server/wm/WindowManagerService;->registerAppFreezeListener(Lcom/android/server/wm/WindowManagerService$AppFreezeListener;)V
-PLcom/android/server/wm/WindowManagerService;->registerDockedStackListener(Landroid/view/IDockedStackListener;)V
-PLcom/android/server/wm/WindowManagerService;->registerPinnedStackListener(ILandroid/view/IPinnedStackListener;)V
-PLcom/android/server/wm/WindowManagerService;->registerPointerEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V
-PLcom/android/server/wm/WindowManagerService;->registerShortcutKey(JLcom/android/internal/policy/IShortcutService;)V
-PLcom/android/server/wm/WindowManagerService;->registerWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)Z
-PLcom/android/server/wm/WindowManagerService;->removeObsoleteTaskFiles(Landroid/util/ArraySet;[I)V
+PLcom/android/server/wm/WindowManagerService;->removeRotationWatcher(Landroid/view/IRotationWatcher;)V
 PLcom/android/server/wm/WindowManagerService;->removeWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;)V
 PLcom/android/server/wm/WindowManagerService;->removeWindowToken(Landroid/os/IBinder;I)V
 PLcom/android/server/wm/WindowManagerService;->requestAssistScreenshot(Landroid/app/IAssistDataReceiver;)Z
-PLcom/android/server/wm/WindowManagerService;->requestTraversal()V
 PLcom/android/server/wm/WindowManagerService;->screenTurningOff(Lcom/android/server/policy/WindowManagerPolicy$ScreenOffListener;)V
-PLcom/android/server/wm/WindowManagerService;->sendNewConfiguration(I)V
 PLcom/android/server/wm/WindowManagerService;->sendSetRunningRemoteAnimation(IZ)V
-PLcom/android/server/wm/WindowManagerService;->setAnimatorDurationScale(F)V
 PLcom/android/server/wm/WindowManagerService;->setAppFullscreen(Landroid/os/IBinder;Z)V
-PLcom/android/server/wm/WindowManagerService;->setDockedStackDividerTouchRegion(Landroid/graphics/Rect;)V
-PLcom/android/server/wm/WindowManagerService;->setEventDispatching(Z)V
-PLcom/android/server/wm/WindowManagerService;->setFocusTaskRegionLocked(Lcom/android/server/wm/AppWindowToken;)V
-PLcom/android/server/wm/WindowManagerService;->setFocusedApp(Landroid/os/IBinder;Z)V
-PLcom/android/server/wm/WindowManagerService;->setForceResizableTasks(Z)V
-PLcom/android/server/wm/WindowManagerService;->setHoldScreenLocked(Lcom/android/server/wm/Session;)V
-PLcom/android/server/wm/WindowManagerService;->setInputMethodWindowLocked(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/WindowManagerService;->setInsetsWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
-PLcom/android/server/wm/WindowManagerService;->setKeyguardGoingAway(Z)V
-PLcom/android/server/wm/WindowManagerService;->setKeyguardOrAodShowingOnDefaultDisplay(Z)V
+PLcom/android/server/wm/WindowManagerService;->setCurrentProfileIds([I)V
 PLcom/android/server/wm/WindowManagerService;->setNavBarVirtualKeyHapticFeedbackEnabled(Z)V
-PLcom/android/server/wm/WindowManagerService;->setNewDisplayOverrideConfiguration(Landroid/content/res/Configuration;I)[I
+PLcom/android/server/wm/WindowManagerService;->setPipVisibility(Z)V
 PLcom/android/server/wm/WindowManagerService;->setShelfHeight(ZI)V
-PLcom/android/server/wm/WindowManagerService;->setSupportsPictureInPicture(Z)V
 PLcom/android/server/wm/WindowManagerService;->setTransparentRegionWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;Landroid/graphics/Region;)V
-PLcom/android/server/wm/WindowManagerService;->setWindowOpaqueLocked(Landroid/os/IBinder;Z)V
-PLcom/android/server/wm/WindowManagerService;->showEmulatorDisplayOverlayIfNeeded()V
-PLcom/android/server/wm/WindowManagerService;->startFreezingDisplayLocked(IILcom/android/server/wm/DisplayContent;)V
-PLcom/android/server/wm/WindowManagerService;->statusBarVisibilityChanged(I)V
-PLcom/android/server/wm/WindowManagerService;->stopFreezingDisplayLocked()V
-PLcom/android/server/wm/WindowManagerService;->systemReady()V
+PLcom/android/server/wm/WindowManagerService;->setWindowOpaque(Landroid/os/IBinder;Z)V
+PLcom/android/server/wm/WindowManagerService;->statusBarVisibilityChanged(II)V
+PLcom/android/server/wm/WindowManagerService;->thawDisplayRotation(I)V
+PLcom/android/server/wm/WindowManagerService;->thawRotation()V
 PLcom/android/server/wm/WindowManagerService;->triggerAnimationFailsafe()V
-PLcom/android/server/wm/WindowManagerService;->tryStartExitingAnimation(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;ZZ)Z
 PLcom/android/server/wm/WindowManagerService;->unregisterAppFreezeListener(Lcom/android/server/wm/WindowManagerService$AppFreezeListener;)V
+PLcom/android/server/wm/WindowManagerService;->unregisterWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)V
 PLcom/android/server/wm/WindowManagerService;->updateAppOpsState()V
-PLcom/android/server/wm/WindowManagerService;->updateCircularDisplayMaskIfNeeded()V
-PLcom/android/server/wm/WindowManagerService;->updateFocusedWindowLocked(IZ)Z
-PLcom/android/server/wm/WindowManagerService;->updateNonSystemOverlayWindowsVisibilityIfNeeded(Lcom/android/server/wm/WindowState;Z)V
-PLcom/android/server/wm/WindowManagerService;->updateOrientationFromAppTokens(Landroid/content/res/Configuration;Landroid/os/IBinder;I)Landroid/content/res/Configuration;
-PLcom/android/server/wm/WindowManagerService;->updateOrientationFromAppTokens(Landroid/content/res/Configuration;Landroid/os/IBinder;IZ)Landroid/content/res/Configuration;
-PLcom/android/server/wm/WindowManagerService;->updateOrientationFromAppTokensLocked(Landroid/content/res/Configuration;Landroid/os/IBinder;IZ)Landroid/content/res/Configuration;
 PLcom/android/server/wm/WindowManagerService;->updatePointerIcon(Landroid/view/IWindow;)V
-PLcom/android/server/wm/WindowManagerService;->updateRotation(ZZ)V
-PLcom/android/server/wm/WindowManagerService;->updateRotationUnchecked(ZZ)V
-PLcom/android/server/wm/WindowManagerService;->updateStatusBarVisibilityLocked(I)Z
-PLcom/android/server/wm/WindowManagerService;->watchRotation(Landroid/view/IRotationWatcher;I)I
-PLcom/android/server/wm/WindowManagerService;->windowForClientLocked(Lcom/android/server/wm/Session;Landroid/view/IWindow;Z)Lcom/android/server/wm/WindowState;
-PLcom/android/server/wm/WindowManagerThreadPriorityBooster;-><init>()V
-PLcom/android/server/wm/WindowManagerThreadPriorityBooster;->setAppTransitionRunning(Z)V
-PLcom/android/server/wm/WindowState$1;-><init>()V
+PLcom/android/server/wm/WindowManagerThreadPriorityBooster;->setBoundsAnimationRunning(Z)V
+PLcom/android/server/wm/WindowProcessController;->addPackage(Ljava/lang/String;J)V
+PLcom/android/server/wm/WindowProcessController;->addRecentTask(Lcom/android/server/wm/TaskRecord;)V
+PLcom/android/server/wm/WindowProcessController;->appEarlyNotResponding(Ljava/lang/String;Ljava/lang/Runnable;)V
+PLcom/android/server/wm/WindowProcessController;->appNotResponding(Ljava/lang/String;Ljava/lang/Runnable;Ljava/lang/Runnable;)Z
+PLcom/android/server/wm/WindowProcessController;->areBackgroundActivityStartsAllowed()Z
+PLcom/android/server/wm/WindowProcessController;->clearPackageList()V
+PLcom/android/server/wm/WindowProcessController;->computeOomAdjFromActivities(ILcom/android/server/wm/WindowProcessController$ComputeOomAdjCallback;)I
+PLcom/android/server/wm/WindowProcessController;->computeRelaunchReason()I
+PLcom/android/server/wm/WindowProcessController;->getCurrentProcState()I
+PLcom/android/server/wm/WindowProcessController;->getFgInteractionTime()J
+PLcom/android/server/wm/WindowProcessController;->getInteractionEventTime()J
+PLcom/android/server/wm/WindowProcessController;->getParent()Lcom/android/server/wm/ConfigurationContainer;
+PLcom/android/server/wm/WindowProcessController;->getRequiredAbi()Ljava/lang/String;
+PLcom/android/server/wm/WindowProcessController;->getWhenUnimportant()J
+PLcom/android/server/wm/WindowProcessController;->hasClientActivities()Z
+PLcom/android/server/wm/WindowProcessController;->hasForegroundActivities()Z
+PLcom/android/server/wm/WindowProcessController;->hasForegroundServices()Z
+PLcom/android/server/wm/WindowProcessController;->hasOverlayUi()Z
+PLcom/android/server/wm/WindowProcessController;->hasPendingUiClean()Z
+PLcom/android/server/wm/WindowProcessController;->hasStartedActivity(Lcom/android/server/wm/ActivityRecord;)Z
+PLcom/android/server/wm/WindowProcessController;->hasTopUi()Z
+PLcom/android/server/wm/WindowProcessController;->isInstrumentingWithBackgroundActivityStartPrivileges()Z
+PLcom/android/server/wm/WindowProcessController;->isInterestingToUser()Z
+PLcom/android/server/wm/WindowProcessController;->isPerceptible()Z
+PLcom/android/server/wm/WindowProcessController;->makeFinishingForProcessRemoved()V
+PLcom/android/server/wm/WindowProcessController;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+PLcom/android/server/wm/WindowProcessController;->postPendingUiCleanMsg(Z)V
+PLcom/android/server/wm/WindowProcessController;->registerDisplayConfigurationListenerLocked(Lcom/android/server/wm/ActivityDisplay;)V
+PLcom/android/server/wm/WindowProcessController;->removeActivity(Lcom/android/server/wm/ActivityRecord;)V
+PLcom/android/server/wm/WindowProcessController;->removeRecentTask(Lcom/android/server/wm/TaskRecord;)V
+PLcom/android/server/wm/WindowProcessController;->setHasForegroundServices(Z)V
+PLcom/android/server/wm/WindowProcessController;->setHasOverlayUi(Z)V
+PLcom/android/server/wm/WindowProcessController;->setHasTopUi(Z)V
+PLcom/android/server/wm/WindowProcessController;->setPendingUiCleanAndForceProcessStateUpTo(I)V
+PLcom/android/server/wm/WindowProcessController;->shouldKillProcessForRemovedTask(Lcom/android/server/wm/TaskRecord;)Z
+PLcom/android/server/wm/WindowProcessController;->stopFreezingActivities()V
+PLcom/android/server/wm/WindowProcessController;->toString()Ljava/lang/String;
+PLcom/android/server/wm/WindowProcessController;->unregisterDisplayConfigurationListenerLocked()V
 PLcom/android/server/wm/WindowState$1;->compare(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
 PLcom/android/server/wm/WindowState$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-PLcom/android/server/wm/WindowState$2;-><init>(Lcom/android/server/wm/WindowManagerService;)V
 PLcom/android/server/wm/WindowState$2;->isInteractive()Z
-PLcom/android/server/wm/WindowState$DeathRecipient;-><init>(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/WindowState$DeathRecipient;-><init>(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState$1;)V
+PLcom/android/server/wm/WindowState$2;->wakeUp(JILjava/lang/String;)V
+PLcom/android/server/wm/WindowState$3;->run()V
 PLcom/android/server/wm/WindowState$DeathRecipient;->binderDied()V
-PLcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;-><init>()V
-PLcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;->reset()V
-PLcom/android/server/wm/WindowState$WindowId;-><init>(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/WindowState$WindowId;-><init>(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState$1;)V
-PLcom/android/server/wm/WindowState;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/Session;Landroid/view/IWindow;Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowState;IILandroid/view/WindowManager$LayoutParams;IIZ)V
-PLcom/android/server/wm/WindowState;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/Session;Landroid/view/IWindow;Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowState;IILandroid/view/WindowManager$LayoutParams;IIZLcom/android/server/wm/WindowState$PowerManagerWrapper;)V
-PLcom/android/server/wm/WindowState;->access$200(Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/WindowState;->access$300(Lcom/android/server/wm/WindowState;Z)V
-PLcom/android/server/wm/WindowState;->adjustStartingWindowFlags()V
-PLcom/android/server/wm/WindowState;->applyAdjustForImeIfNeeded()V
-PLcom/android/server/wm/WindowState;->applyInsets(Landroid/graphics/Region;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/WindowState;->attach()V
-PLcom/android/server/wm/WindowState;->canAcquireSleepToken()Z
+PLcom/android/server/wm/WindowState$MoveAnimationSpec;-><init>(Lcom/android/server/wm/WindowState;IIII)V
+PLcom/android/server/wm/WindowState$MoveAnimationSpec;->apply(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;J)V
+PLcom/android/server/wm/WindowState$MoveAnimationSpec;->getDuration()J
 PLcom/android/server/wm/WindowState;->canBeImeTarget()Z
+PLcom/android/server/wm/WindowState;->canShowWhenLocked()Z
 PLcom/android/server/wm/WindowState;->checkPolicyVisibilityChange()V
 PLcom/android/server/wm/WindowState;->clearAnimatingFlags()Z
-PLcom/android/server/wm/WindowState;->destroySurface(ZZ)Z
-PLcom/android/server/wm/WindowState;->destroySurfaceUnchecked()V
-PLcom/android/server/wm/WindowState;->dispatchResized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;ZILandroid/view/DisplayCutout;)V
-PLcom/android/server/wm/WindowState;->dispatchWallpaperVisibility(Z)V
 PLcom/android/server/wm/WindowState;->disposeInputChannel()V
 PLcom/android/server/wm/WindowState;->forAllWindowBottomToTop(Lcom/android/internal/util/ToBooleanFunction;)Z
 PLcom/android/server/wm/WindowState;->forAllWindowTopToBottom(Lcom/android/internal/util/ToBooleanFunction;)Z
-PLcom/android/server/wm/WindowState;->getBackdropFrame(Landroid/graphics/Rect;)Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->forceWindowsScaleableInTransaction(Z)V
+PLcom/android/server/wm/WindowState;->frameCoversEntireAppTokenBounds()Z
+PLcom/android/server/wm/WindowState;->getContainingFrame()Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->getContentInsets()Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->getContentInsets(Landroid/graphics/Rect;)V
 PLcom/android/server/wm/WindowState;->getDisplayFrameLw()Landroid/graphics/Rect;
-PLcom/android/server/wm/WindowState;->getDrawnStateEvaluated()Z
-PLcom/android/server/wm/WindowState;->getFrameLw()Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->getDisplayedBounds()Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->getFrameNumber()J
 PLcom/android/server/wm/WindowState;->getGivenContentInsetsLw()Landroid/graphics/Rect;
 PLcom/android/server/wm/WindowState;->getGivenInsetsPendingLw()Z
 PLcom/android/server/wm/WindowState;->getGivenVisibleInsetsLw()Landroid/graphics/Rect;
-PLcom/android/server/wm/WindowState;->getHighestAnimLayer()I
-PLcom/android/server/wm/WindowState;->getLastReportedMergedConfiguration(Landroid/util/MergedConfiguration;)V
-PLcom/android/server/wm/WindowState;->getMergedConfiguration(Landroid/util/MergedConfiguration;)V
-PLcom/android/server/wm/WindowState;->getName()Ljava/lang/String;
-PLcom/android/server/wm/WindowState;->getNeedsMenuLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
-PLcom/android/server/wm/WindowState;->getOwningPackage()Ljava/lang/String;
-PLcom/android/server/wm/WindowState;->getOwningUid()I
-PLcom/android/server/wm/WindowState;->getReplacingWindow()Lcom/android/server/wm/WindowState;
+PLcom/android/server/wm/WindowState;->getOverscanFrameLw()Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->getParentFrame()Landroid/graphics/Rect;
 PLcom/android/server/wm/WindowState;->getRotationAnimationHint()I
-PLcom/android/server/wm/WindowState;->getSession()Landroid/view/SurfaceSession;
+PLcom/android/server/wm/WindowState;->getStableFrameLw()Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->getStableInsets()Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->getStableInsets(Landroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowState;->getSurfaceLayer()I
+PLcom/android/server/wm/WindowState;->getTransformationMatrix([FLandroid/graphics/Matrix;)V
+PLcom/android/server/wm/WindowState;->getVisibleBounds(Landroid/graphics/Rect;)V
 PLcom/android/server/wm/WindowState;->getVisibleFrameLw()Landroid/graphics/Rect;
+PLcom/android/server/wm/WindowState;->getWindowInfo()Landroid/view/WindowInfo;
 PLcom/android/server/wm/WindowState;->hasAppShownWindows()Z
-PLcom/android/server/wm/WindowState;->hasContentToDisplay()Z
 PLcom/android/server/wm/WindowState;->hasDrawnLw()Z
 PLcom/android/server/wm/WindowState;->hasVisibleNotDrawnWallpaper()Z
-PLcom/android/server/wm/WindowState;->hideNonSystemOverlayWindowsWhenVisible()Z
 PLcom/android/server/wm/WindowState;->hidePermanentlyLw()V
-PLcom/android/server/wm/WindowState;->hideWallpaperWindow(ZLjava/lang/String;)V
-PLcom/android/server/wm/WindowState;->initAppOpsState()V
 PLcom/android/server/wm/WindowState;->isClosing()Z
-PLcom/android/server/wm/WindowState;->isDrawFinishedLw()Z
-PLcom/android/server/wm/WindowState;->isFocused()Z
-PLcom/android/server/wm/WindowState;->isInteresting()Z
-PLcom/android/server/wm/WindowState;->isReadyForDisplay()Z
-PLcom/android/server/wm/WindowState;->isRtl()Z
-PLcom/android/server/wm/WindowState;->isSelfOrAncestorWindowAnimatingExit()Z
-PLcom/android/server/wm/WindowState;->isVisibleNow()Z
-PLcom/android/server/wm/WindowState;->isVoiceInteraction()Z
-PLcom/android/server/wm/WindowState;->isWinVisibleLw()Z
-PLcom/android/server/wm/WindowState;->logPerformShow(Ljava/lang/String;)V
-PLcom/android/server/wm/WindowState;->mightAffectAllDrawn()Z
+PLcom/android/server/wm/WindowState;->isPotentialDragTarget()Z
+PLcom/android/server/wm/WindowState;->layoutInParentFrame()Z
 PLcom/android/server/wm/WindowState;->onAnimationFinished()V
 PLcom/android/server/wm/WindowState;->onAnimationLeashCreated(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;)V
 PLcom/android/server/wm/WindowState;->onAnimationLeashDestroyed(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/WindowState;->onAppVisibilityChanged(ZZ)Z
-PLcom/android/server/wm/WindowState;->onExitAnimationDone()V
-PLcom/android/server/wm/WindowState;->onParentSet()V
+PLcom/android/server/wm/WindowState;->onMovedByResize()V
 PLcom/android/server/wm/WindowState;->onResize()V
 PLcom/android/server/wm/WindowState;->onSetAppExiting()Z
 PLcom/android/server/wm/WindowState;->onStartFreezingScreen()V
 PLcom/android/server/wm/WindowState;->onStopFreezingScreen()Z
-PLcom/android/server/wm/WindowState;->openInputChannel(Landroid/view/InputChannel;)V
-PLcom/android/server/wm/WindowState;->performShowLocked()Z
-PLcom/android/server/wm/WindowState;->prepareWindowToDisplayDuringRelayout(Z)V
-PLcom/android/server/wm/WindowState;->relayoutVisibleWindow(III)I
+PLcom/android/server/wm/WindowState;->orientationChangeTimedOut()V
+PLcom/android/server/wm/WindowState;->pokeDrawLockLw(J)V
 PLcom/android/server/wm/WindowState;->removeIfPossible()V
 PLcom/android/server/wm/WindowState;->removeIfPossible(Z)V
 PLcom/android/server/wm/WindowState;->removeImmediately()V
-PLcom/android/server/wm/WindowState;->removeReplacedWindowIfNeeded(Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/WindowState;->reportFocusChangedSerialized(ZZ)V
-PLcom/android/server/wm/WindowState;->reportResized()V
 PLcom/android/server/wm/WindowState;->requestUpdateWallpaperIfNeeded()V
 PLcom/android/server/wm/WindowState;->resetAppOpsState()V
-PLcom/android/server/wm/WindowState;->sendAppVisibilityToClients()V
-PLcom/android/server/wm/WindowState;->setDisplayLayoutNeeded()V
-PLcom/android/server/wm/WindowState;->setForceHideNonSystemOverlayWindowIfNeeded(Z)V
-PLcom/android/server/wm/WindowState;->setFrameNumber(J)V
-PLcom/android/server/wm/WindowState;->setHasSurface(Z)V
-PLcom/android/server/wm/WindowState;->setHiddenWhileSuspended(Z)V
-PLcom/android/server/wm/WindowState;->setLastReportedMergedConfiguration(Landroid/util/MergedConfiguration;)V
-PLcom/android/server/wm/WindowState;->setOrientationChanging(Z)V
-PLcom/android/server/wm/WindowState;->setReplacementWindowIfNeeded(Lcom/android/server/wm/WindowState;)Z
-PLcom/android/server/wm/WindowState;->setRequestedSize(II)V
-PLcom/android/server/wm/WindowState;->setShowToOwnerOnlyLocked(Z)V
-PLcom/android/server/wm/WindowState;->setWindowScale(II)V
+PLcom/android/server/wm/WindowState;->resetLastContentInsets()V
+PLcom/android/server/wm/WindowState;->seamlesslyRotateIfAllowed(Landroid/view/SurfaceControl$Transaction;IIZ)V
 PLcom/android/server/wm/WindowState;->setupWindowForRemoveOnExit()V
 PLcom/android/server/wm/WindowState;->shouldKeepVisibleDeadAppWindow()Z
-PLcom/android/server/wm/WindowState;->startAnimation(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/AnimationAdapter;)V
 PLcom/android/server/wm/WindowState;->startAnimation(Landroid/view/animation/Animation;)V
-PLcom/android/server/wm/WindowState;->surfaceInsetsChanging()Z
+PLcom/android/server/wm/WindowState;->startMoveAnimation(II)V
+PLcom/android/server/wm/WindowState;->subtractInsets(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+PLcom/android/server/wm/WindowState;->translateToWindowX(F)F
+PLcom/android/server/wm/WindowState;->translateToWindowY(F)F
 PLcom/android/server/wm/WindowState;->updateAppOpsState()V
-PLcom/android/server/wm/WindowState;->updateLastInsetValues()V
-PLcom/android/server/wm/WindowState;->updateReportedVisibility(Lcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;)V
 PLcom/android/server/wm/WindowState;->waitingForReplacement()Z
-PLcom/android/server/wm/WindowStateAnimator;-><init>(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/WindowStateAnimator;->applyAnimationLocked(IZ)Z
-PLcom/android/server/wm/WindowStateAnimator;->applyEnterAnimationLocked()V
-PLcom/android/server/wm/WindowStateAnimator;->createSurfaceLocked(II)Lcom/android/server/wm/WindowSurfaceController;
+PLcom/android/server/wm/WindowStateAnimator;->cancelExitAnimationForNextAnimationLocked()V
 PLcom/android/server/wm/WindowStateAnimator;->destroyDeferredSurfaceLocked()V
-PLcom/android/server/wm/WindowStateAnimator;->destroyPreservedSurfaceLocked()V
-PLcom/android/server/wm/WindowStateAnimator;->destroySurface()V
-PLcom/android/server/wm/WindowStateAnimator;->destroySurfaceLocked()V
-PLcom/android/server/wm/WindowStateAnimator;->detachChildren()V
-PLcom/android/server/wm/WindowStateAnimator;->finishDrawingLocked()Z
-PLcom/android/server/wm/WindowStateAnimator;->markPreservedSurfaceForDestroy()V
 PLcom/android/server/wm/WindowStateAnimator;->onAnimationFinished()V
 PLcom/android/server/wm/WindowStateAnimator;->preserveSurfaceLocked()V
-PLcom/android/server/wm/WindowStateAnimator;->resetDrawState()V
-PLcom/android/server/wm/WindowStateAnimator;->setOffsetPositionForStackResize(Z)V
 PLcom/android/server/wm/WindowStateAnimator;->setOpaqueLocked(Z)V
-PLcom/android/server/wm/WindowStateAnimator;->setSecureLocked(Z)V
 PLcom/android/server/wm/WindowStateAnimator;->setTransparentRegionHintLocked(Landroid/graphics/Region;)V
-PLcom/android/server/wm/WindowStateAnimator;->setWallpaperOffset(II)Z
-PLcom/android/server/wm/WindowStateAnimator;->showSurfaceRobustlyLocked()Z
 PLcom/android/server/wm/WindowStateAnimator;->tryChangeFormatInPlaceLocked()Z
-PLcom/android/server/wm/WindowSurfaceController;-><init>(Landroid/view/SurfaceSession;Ljava/lang/String;IIIILcom/android/server/wm/WindowStateAnimator;II)V
-PLcom/android/server/wm/WindowSurfaceController;->destroyNotInTransaction()V
-PLcom/android/server/wm/WindowSurfaceController;->detachChildren()V
-PLcom/android/server/wm/WindowSurfaceController;->getSurface(Landroid/view/Surface;)V
-PLcom/android/server/wm/WindowSurfaceController;->hide(Landroid/view/SurfaceControl$Transaction;Ljava/lang/String;)V
-PLcom/android/server/wm/WindowSurfaceController;->hideSurface(Landroid/view/SurfaceControl$Transaction;)V
-PLcom/android/server/wm/WindowSurfaceController;->prepareToShowInTransaction(FFFFFZ)Z
-PLcom/android/server/wm/WindowSurfaceController;->setCropInTransaction(Landroid/graphics/Rect;Z)V
+PLcom/android/server/wm/WindowSurfaceController;->deferTransactionUntil(Landroid/os/IBinder;J)V
+PLcom/android/server/wm/WindowSurfaceController;->forceScaleableInTransaction(Z)V
+PLcom/android/server/wm/WindowSurfaceController;->getHandle()Landroid/os/IBinder;
 PLcom/android/server/wm/WindowSurfaceController;->setOpaque(Z)V
-PLcom/android/server/wm/WindowSurfaceController;->setSecure(Z)V
-PLcom/android/server/wm/WindowSurfaceController;->setShown(Z)V
-PLcom/android/server/wm/WindowSurfaceController;->setSizeInTransaction(IIZ)Z
 PLcom/android/server/wm/WindowSurfaceController;->setTransparentRegionHint(Landroid/graphics/Region;)V
-PLcom/android/server/wm/WindowSurfaceController;->showRobustlyInTransaction()Z
-PLcom/android/server/wm/WindowSurfaceController;->showSurface()Z
-PLcom/android/server/wm/WindowSurfaceController;->updateVisibility()Z
-PLcom/android/server/wm/WindowSurfacePlacer$LayerAndToken;-><init>()V
-PLcom/android/server/wm/WindowSurfacePlacer$LayerAndToken;-><init>(Lcom/android/server/wm/WindowSurfacePlacer$1;)V
-PLcom/android/server/wm/WindowSurfacePlacer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
-PLcom/android/server/wm/WindowSurfacePlacer;->canBeWallpaperTarget(Landroid/util/ArraySet;)Z
-PLcom/android/server/wm/WindowSurfacePlacer;->collectActivityTypes(Landroid/util/ArraySet;Landroid/util/ArraySet;)Landroid/util/ArraySet;
-PLcom/android/server/wm/WindowSurfacePlacer;->containsVoiceInteraction(Landroid/util/ArraySet;)Z
-PLcom/android/server/wm/WindowSurfacePlacer;->continueLayout()V
-PLcom/android/server/wm/WindowSurfacePlacer;->deferLayout()V
-PLcom/android/server/wm/WindowSurfacePlacer;->findAnimLayoutParamsToken(ILandroid/util/ArraySet;)Lcom/android/server/wm/AppWindowToken;
-PLcom/android/server/wm/WindowSurfacePlacer;->getAnimLp(Lcom/android/server/wm/AppWindowToken;)Landroid/view/WindowManager$LayoutParams;
-PLcom/android/server/wm/WindowSurfacePlacer;->getTopApp(Landroid/util/ArraySet;Z)Lcom/android/server/wm/AppWindowToken;
-PLcom/android/server/wm/WindowSurfacePlacer;->handleAppTransitionReadyLocked()I
-PLcom/android/server/wm/WindowSurfacePlacer;->handleClosingApps(ILandroid/view/WindowManager$LayoutParams;ZLcom/android/server/wm/WindowSurfacePlacer$LayerAndToken;)V
-PLcom/android/server/wm/WindowSurfacePlacer;->handleNonAppWindowsInTransition(II)V
-PLcom/android/server/wm/WindowSurfacePlacer;->handleOpeningApps(ILandroid/view/WindowManager$LayoutParams;Z)Lcom/android/server/wm/AppWindowToken;
 PLcom/android/server/wm/WindowSurfacePlacer;->isInLayout()Z
-PLcom/android/server/wm/WindowSurfacePlacer;->lambda$findAnimLayoutParamsToken$1(ILandroid/util/ArraySet;Lcom/android/server/wm/AppWindowToken;)Z
-PLcom/android/server/wm/WindowSurfacePlacer;->lambda$findAnimLayoutParamsToken$2(Lcom/android/server/wm/AppWindowToken;)Z
-PLcom/android/server/wm/WindowSurfacePlacer;->lambda$findAnimLayoutParamsToken$3(Lcom/android/server/wm/AppWindowToken;)Z
-PLcom/android/server/wm/WindowSurfacePlacer;->lambda$new$0(Lcom/android/server/wm/WindowSurfacePlacer;)V
-PLcom/android/server/wm/WindowSurfacePlacer;->lookForHighestTokenWithFilter(Landroid/util/ArraySet;Landroid/util/ArraySet;Ljava/util/function/Predicate;)Lcom/android/server/wm/AppWindowToken;
-PLcom/android/server/wm/WindowSurfacePlacer;->maybeUpdateTransitToTranslucentAnim(I)I
-PLcom/android/server/wm/WindowSurfacePlacer;->maybeUpdateTransitToWallpaper(IZZ)I
-PLcom/android/server/wm/WindowSurfacePlacer;->overrideWithRemoteAnimationIfSet(Lcom/android/server/wm/AppWindowToken;ILandroid/util/ArraySet;)V
 PLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacement()V
-PLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacement(Z)V
-PLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacementLoop()V
-PLcom/android/server/wm/WindowSurfacePlacer;->processApplicationsAnimatingInPlace(I)V
-PLcom/android/server/wm/WindowSurfacePlacer;->requestTraversal()V
-PLcom/android/server/wm/WindowSurfacePlacer;->transitionGoodToGo(ILandroid/util/SparseIntArray;)Z
-PLcom/android/server/wm/WindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;IZLcom/android/server/wm/DisplayContent;Z)V
-PLcom/android/server/wm/WindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;IZLcom/android/server/wm/DisplayContent;ZZ)V
-PLcom/android/server/wm/WindowToken;->addWindow(Lcom/android/server/wm/WindowState;)V
-PLcom/android/server/wm/WindowToken;->asAppWindowToken()Lcom/android/server/wm/AppWindowToken;
 PLcom/android/server/wm/WindowToken;->canLayerAboveSystemBars()Z
-PLcom/android/server/wm/WindowToken;->getHighestAnimLayer()I
-PLcom/android/server/wm/WindowToken;->getName()Ljava/lang/String;
-PLcom/android/server/wm/WindowToken;->getReplacingWindow()Lcom/android/server/wm/WindowState;
 PLcom/android/server/wm/WindowToken;->isEmpty()Z
+PLcom/android/server/wm/WindowToken;->lambda$new$0$WindowToken(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
 PLcom/android/server/wm/WindowToken;->lambda$new$0(Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
-PLcom/android/server/wm/WindowToken;->okToAnimate()Z
-PLcom/android/server/wm/WindowToken;->okToDisplay()Z
-PLcom/android/server/wm/WindowToken;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
 PLcom/android/server/wm/WindowToken;->removeAllWindowsIfPossible()V
 PLcom/android/server/wm/WindowToken;->removeImmediately()V
 PLcom/android/server/wm/WindowToken;->setExiting()V
-PLcom/android/server/wm/WindowToken;->setHidden(Z)V
-PLcom/android/server/wm/WindowToken;->toString()Ljava/lang/String;
 PLcom/android/server/wm/WindowToken;->windowsCanBeWallpaperTarget()Z
-PLcom/android/server/wm/WindowTracing;-><init>(Ljava/io/File;)V
-PLcom/android/server/wm/WindowTracing;->createDefaultAndStartLooper(Landroid/content/Context;)Lcom/android/server/wm/WindowTracing;
-PLcom/android/server/wm/WindowTracing;->loop()V
-PLcom/android/server/wm/WindowTracing;->loopOnce()V
-PLcom/android/server/wm/utils/InsetUtils;->addInsets(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
-PLcom/android/server/wm/utils/RotationCache;-><init>(Lcom/android/server/wm/utils/RotationCache$RotationDependentComputation;)V
-PLcom/android/server/wm/utils/RotationCache;->getOrCompute(Ljava/lang/Object;I)Ljava/lang/Object;
-PLcom/android/server/wm/utils/WmDisplayCutout;-><init>(Landroid/view/DisplayCutout;Landroid/util/Size;)V
-PLcom/android/timezone/distro/installer/TimeZoneDistroInstaller;-><init>(Ljava/lang/String;Ljava/io/File;Ljava/io/File;)V
-SPLcom/android/server/-$$Lambda$SystemServerInitThreadPool$7wfLGkZF7FvYZv7xj3ghvuiJJGk;-><init>(Ljava/lang/String;Ljava/lang/Runnable;)V
+PLcom/android/server/wm/animation/ClipRectLRAnimation;-><init>(IIII)V
+PLcom/android/server/wm/animation/ClipRectLRAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
+PLcom/android/server/wm/animation/ClipRectTBAnimation;-><init>(IIIIIILandroid/view/animation/Interpolator;)V
+PLcom/android/server/wm/animation/ClipRectTBAnimation;->applyTransformation(FLandroid/view/animation/Transformation;)V
+PLcom/android/server/wm/animation/ClipRectTBAnimation;->getTransformation(JLandroid/view/animation/Transformation;)Z
+PLcom/android/server/wm/utils/CoordinateTransforms;->transformLogicalToPhysicalCoordinates(IIILandroid/graphics/Matrix;)V
+PLcom/google/protobuf/GeneratedMessageLite$Builder;->copyOnWrite()V
+PLcom/google/protobuf/GeneratedMessageLite$Builder;->mergeFrom(Lcom/google/protobuf/GeneratedMessageLite;)Lcom/google/protobuf/GeneratedMessageLite$Builder;
+PLcom/google/protobuf/GeneratedMessageLite$MergeFromVisitor;-><init>()V
+PLcom/google/protobuf/GeneratedMessageLite$MergeFromVisitor;->visitDouble(ZDZD)D
+PLcom/google/protobuf/GeneratedMessageLite$MergeFromVisitor;->visitInt(ZIZI)I
+PLcom/google/protobuf/GeneratedMessageLite$MergeFromVisitor;->visitLong(ZJZJ)J
+PLcom/google/protobuf/GeneratedMessageLite$MergeFromVisitor;->visitMessage(Lcom/google/protobuf/MessageLite;Lcom/google/protobuf/MessageLite;)Lcom/google/protobuf/MessageLite;
+PLcom/google/protobuf/GeneratedMessageLite$MergeFromVisitor;->visitUnknownFields(Lcom/google/protobuf/UnknownFieldSetLite;Lcom/google/protobuf/UnknownFieldSetLite;)Lcom/google/protobuf/UnknownFieldSetLite;
+PLcom/google/protobuf/GeneratedMessageLite$MethodToInvoke;-><init>(Ljava/lang/String;I)V
+PLcom/google/protobuf/GeneratedMessageLite$MethodToInvoke;->values()[Lcom/google/protobuf/GeneratedMessageLite$MethodToInvoke;
+PLcom/google/protobuf/GeneratedMessageLite;->dynamicMethod(Lcom/google/protobuf/GeneratedMessageLite$MethodToInvoke;)Ljava/lang/Object;
+PLcom/google/protobuf/GeneratedMessageLite;->dynamicMethod(Lcom/google/protobuf/GeneratedMessageLite$MethodToInvoke;Ljava/lang/Object;)Ljava/lang/Object;
+PLcom/google/protobuf/GeneratedMessageLite;->makeImmutable()V
+PLcom/google/protobuf/GeneratedMessageLite;->visit(Lcom/google/protobuf/GeneratedMessageLite$Visitor;Lcom/google/protobuf/GeneratedMessageLite;)V
+PLcom/google/protobuf/UnknownFieldSetLite;-><init>(I[I[Ljava/lang/Object;Z)V
+SPLandroid/hardware/authsecret/V1_0/IAuthSecret$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/authsecret/V1_0/IAuthSecret;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/authsecret/V1_0/IAuthSecret;
+SPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->enumerate()I
+SPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->getAuthenticatorId()J
+SPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->setActiveGroup(ILjava/lang/String;)I
+SPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint$Proxy;->setNotify(Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback;)J
+SPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
+SPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback$Stub;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprintClientCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+SPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs$Proxy;->hasHDRDisplay()Landroid/hardware/configstore/V1_0/OptionalBool;
+SPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs$Proxy;->hasWideColorDisplay()Landroid/hardware/configstore/V1_0/OptionalBool;
+SPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/configstore/V1_0/ISurfaceFlingerConfigs;
+SPLandroid/hardware/health/V1_0/HealthInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+SPLandroid/hardware/health/V2_0/DiskStats;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+SPLandroid/hardware/health/V2_0/HealthInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+SPLandroid/hardware/health/V2_0/IHealth$Proxy;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hardware/health/V2_0/IHealth$Proxy;->equals(Ljava/lang/Object;)Z
+SPLandroid/hardware/health/V2_0/IHealth$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/health/V2_0/IHealth$Proxy;->registerCallback(Landroid/hardware/health/V2_0/IHealthInfoCallback;)I
+SPLandroid/hardware/health/V2_0/IHealth$Proxy;->update()I
+SPLandroid/hardware/health/V2_0/IHealth;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/health/V2_0/IHealth;
+SPLandroid/hardware/health/V2_0/IHealthInfoCallback$Stub;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hardware/health/V2_0/IHealthInfoCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+SPLandroid/hardware/health/V2_0/StorageAttribute;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+SPLandroid/hardware/health/V2_0/StorageInfo;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+SPLandroid/hardware/oemlock/V1_0/IOemLock$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/oemlock/V1_0/IOemLock;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/oemlock/V1_0/IOemLock;
+SPLandroid/hardware/usb/V1_0/IUsb$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/usb/V1_0/IUsb$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
+SPLandroid/hardware/usb/V1_0/IUsb$Proxy;->queryPortStatus()V
+SPLandroid/hardware/usb/V1_0/IUsb$Proxy;->setCallback(Landroid/hardware/usb/V1_0/IUsbCallback;)V
+SPLandroid/hardware/usb/V1_0/IUsb;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/usb/V1_0/IUsb;
+SPLandroid/hardware/usb/V1_0/PortStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+SPLandroid/hardware/usb/V1_1/PortStatus_1_1;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
+SPLandroid/hardware/usb/V1_2/IUsbCallback$Stub;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hardware/usb/V1_2/IUsbCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+SPLandroid/hardware/weaver/V1_0/IWeaver$Proxy;->getConfig(Landroid/hardware/weaver/V1_0/IWeaver$getConfigCallback;)V
+SPLandroid/hardware/weaver/V1_0/IWeaver$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/weaver/V1_0/IWeaver;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/weaver/V1_0/IWeaver;
+SPLandroid/hardware/wifi/V1_0/IWifi$Proxy;->getChip(ILandroid/hardware/wifi/V1_0/IWifi$getChipCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifi$Proxy;->getChipIds(Landroid/hardware/wifi/V1_0/IWifi$getChipIdsCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifi$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/wifi/V1_0/IWifi$Proxy;->isStarted()Z
+SPLandroid/hardware/wifi/V1_0/IWifi$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
+SPLandroid/hardware/wifi/V1_0/IWifi$Proxy;->registerEventCallback(Landroid/hardware/wifi/V1_0/IWifiEventCallback;)Landroid/hardware/wifi/V1_0/WifiStatus;
+SPLandroid/hardware/wifi/V1_0/IWifi$Proxy;->start()Landroid/hardware/wifi/V1_0/WifiStatus;
+SPLandroid/hardware/wifi/V1_0/IWifi$Proxy;->stop()Landroid/hardware/wifi/V1_0/WifiStatus;
+SPLandroid/hardware/wifi/V1_0/IWifi;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/V1_0/IWifi;
+SPLandroid/hardware/wifi/V1_0/IWifiChip$ChipIfaceCombination;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+SPLandroid/hardware/wifi/V1_0/IWifiChip$ChipIfaceCombinationLimit;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+SPLandroid/hardware/wifi/V1_0/IWifiChip$ChipMode;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+SPLandroid/hardware/wifi/V1_0/IWifiChip$ChipMode;->readVectorFromParcel(Landroid/os/HwParcel;)Ljava/util/ArrayList;
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->configureChip(I)Landroid/hardware/wifi/V1_0/WifiStatus;
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->createNanIface(Landroid/hardware/wifi/V1_0/IWifiChip$createNanIfaceCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->createRttController(Landroid/hardware/wifi/V1_0/IWifiIface;Landroid/hardware/wifi/V1_0/IWifiChip$createRttControllerCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->createStaIface(Landroid/hardware/wifi/V1_0/IWifiChip$createStaIfaceCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->getApIfaceNames(Landroid/hardware/wifi/V1_0/IWifiChip$getApIfaceNamesCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->getAvailableModes(Landroid/hardware/wifi/V1_0/IWifiChip$getAvailableModesCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->getMode(Landroid/hardware/wifi/V1_0/IWifiChip$getModeCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->getNanIface(Ljava/lang/String;Landroid/hardware/wifi/V1_0/IWifiChip$getNanIfaceCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->getNanIfaceNames(Landroid/hardware/wifi/V1_0/IWifiChip$getNanIfaceNamesCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->getP2pIfaceNames(Landroid/hardware/wifi/V1_0/IWifiChip$getP2pIfaceNamesCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->getStaIface(Ljava/lang/String;Landroid/hardware/wifi/V1_0/IWifiChip$getStaIfaceCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->getStaIfaceNames(Landroid/hardware/wifi/V1_0/IWifiChip$getStaIfaceNamesCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->removeNanIface(Ljava/lang/String;)Landroid/hardware/wifi/V1_0/WifiStatus;
+SPLandroid/hardware/wifi/V1_0/IWifiChip$Proxy;->removeStaIface(Ljava/lang/String;)Landroid/hardware/wifi/V1_0/WifiStatus;
+SPLandroid/hardware/wifi/V1_0/IWifiChip;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/V1_0/IWifiChip;
+SPLandroid/hardware/wifi/V1_0/IWifiEventCallback$Stub;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hardware/wifi/V1_0/IWifiEventCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+SPLandroid/hardware/wifi/V1_0/IWifiNanIface$Proxy;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hardware/wifi/V1_0/IWifiNanIface$Proxy;->getCapabilitiesRequest(S)Landroid/hardware/wifi/V1_0/WifiStatus;
+SPLandroid/hardware/wifi/V1_0/IWifiNanIface$Proxy;->getName(Landroid/hardware/wifi/V1_0/IWifiIface$getNameCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiNanIface$Proxy;->getType(Landroid/hardware/wifi/V1_0/IWifiIface$getTypeCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiNanIface$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/wifi/V1_0/IWifiNanIface;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/V1_0/IWifiNanIface;
+SPLandroid/hardware/wifi/V1_0/IWifiRttController$Proxy;->getCapabilities(Landroid/hardware/wifi/V1_0/IWifiRttController$getCapabilitiesCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiRttController$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/wifi/V1_0/IWifiRttController$Proxy;->registerEventCallback(Landroid/hardware/wifi/V1_0/IWifiRttControllerEventCallback;)Landroid/hardware/wifi/V1_0/WifiStatus;
+SPLandroid/hardware/wifi/V1_0/IWifiRttController;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/V1_0/IWifiRttController;
+SPLandroid/hardware/wifi/V1_0/IWifiRttControllerEventCallback$Stub;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->enableLinkLayerStatsCollection(Z)Landroid/hardware/wifi/V1_0/WifiStatus;
+SPLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->getBackgroundScanCapabilities(Landroid/hardware/wifi/V1_0/IWifiStaIface$getBackgroundScanCapabilitiesCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->getName(Landroid/hardware/wifi/V1_0/IWifiIface$getNameCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->getType(Landroid/hardware/wifi/V1_0/IWifiIface$getTypeCallback;)V
+SPLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/wifi/V1_0/IWifiStaIface$Proxy;->registerEventCallback(Landroid/hardware/wifi/V1_0/IWifiStaIfaceEventCallback;)Landroid/hardware/wifi/V1_0/WifiStatus;
+SPLandroid/hardware/wifi/V1_0/IWifiStaIface;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/V1_0/IWifiStaIface;
+SPLandroid/hardware/wifi/V1_0/IWifiStaIfaceEventCallback$Stub;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hardware/wifi/V1_0/NanCapabilities;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+SPLandroid/hardware/wifi/V1_0/RttCapabilities;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+SPLandroid/hardware/wifi/V1_0/StaBackgroundScanCapabilities;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+SPLandroid/hardware/wifi/V1_0/StaBackgroundScanCapabilities;->toString()Ljava/lang/String;
+SPLandroid/hardware/wifi/V1_0/WifiNanStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+SPLandroid/hardware/wifi/V1_0/WifiStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+SPLandroid/hardware/wifi/V1_2/IWifiChip$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/wifi/V1_2/IWifiChip$Proxy;->registerEventCallback_1_2(Landroid/hardware/wifi/V1_2/IWifiChipEventCallback;)Landroid/hardware/wifi/V1_0/WifiStatus;
+SPLandroid/hardware/wifi/V1_2/IWifiChip$Proxy;->resetTxPowerScenario()Landroid/hardware/wifi/V1_0/WifiStatus;
+SPLandroid/hardware/wifi/V1_2/IWifiChip;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/V1_2/IWifiChip;
+SPLandroid/hardware/wifi/V1_2/IWifiChipEventCallback$Stub;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hardware/wifi/V1_2/IWifiChipEventCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+SPLandroid/hardware/wifi/V1_2/IWifiNanIface$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/wifi/V1_2/IWifiNanIface$Proxy;->registerEventCallback_1_2(Landroid/hardware/wifi/V1_2/IWifiNanIfaceEventCallback;)Landroid/hardware/wifi/V1_0/WifiStatus;
+SPLandroid/hardware/wifi/V1_2/IWifiNanIface;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/V1_2/IWifiNanIface;
+SPLandroid/hardware/wifi/V1_2/IWifiNanIfaceEventCallback$Stub;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hardware/wifi/V1_2/IWifiNanIfaceEventCallback$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+SPLandroid/hardware/wifi/V1_3/IWifiChip$Proxy;->getCapabilities_1_3(Landroid/hardware/wifi/V1_3/IWifiChip$getCapabilities_1_3Callback;)V
+SPLandroid/hardware/wifi/V1_3/IWifiChip$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/wifi/V1_3/IWifiChip;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/V1_3/IWifiChip;
+SPLandroid/hardware/wifi/supplicant/V1_0/ISupplicant$Proxy;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hardware/wifi/supplicant/V1_0/ISupplicant$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/wifi/supplicant/V1_0/ISupplicant$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
+SPLandroid/hardware/wifi/supplicant/V1_0/ISupplicant;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/supplicant/V1_0/ISupplicant;
+SPLandroid/hardware/wifi/supplicant/V1_0/ISupplicantIface$Proxy;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hardware/wifi/supplicant/V1_0/ISupplicantIface$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/wifi/supplicant/V1_0/ISupplicantIface;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/supplicant/V1_0/ISupplicantIface;
+SPLandroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;->readEmbeddedFromParcel(Landroid/os/HwParcel;Landroid/os/HwBlob;J)V
+SPLandroid/hardware/wifi/supplicant/V1_1/ISupplicant$Proxy;->addInterface(Landroid/hardware/wifi/supplicant/V1_0/ISupplicant$IfaceInfo;Landroid/hardware/wifi/supplicant/V1_1/ISupplicant$addInterfaceCallback;)V
+SPLandroid/hardware/wifi/supplicant/V1_1/ISupplicant$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/wifi/supplicant/V1_1/ISupplicant;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/supplicant/V1_1/ISupplicant;
+SPLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface$Proxy;->registerCallback_1_2(Landroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIfaceCallback;)Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;
+SPLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface;->asInterface(Landroid/os/IHwBinder;)Landroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface;
+SPLandroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIfaceCallback$Stub;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->getTransport(Ljava/lang/String;Ljava/lang/String;)B
+SPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
+SPLandroid/hidl/manager/V1_0/IServiceManager$Proxy;->registerForNotifications(Ljava/lang/String;Ljava/lang/String;Landroid/hidl/manager/V1_0/IServiceNotification;)Z
+SPLandroid/hidl/manager/V1_0/IServiceManager;->asInterface(Landroid/os/IHwBinder;)Landroid/hidl/manager/V1_0/IServiceManager;
+SPLandroid/hidl/manager/V1_0/IServiceManager;->getService()Landroid/hidl/manager/V1_0/IServiceManager;
+SPLandroid/hidl/manager/V1_0/IServiceNotification$Stub;-><init>()V
+SPLandroid/hidl/manager/V1_0/IServiceNotification$Stub;->asBinder()Landroid/os/IHwBinder;
+SPLandroid/hidl/manager/V1_0/IServiceNotification$Stub;->onTransact(ILandroid/os/HwParcel;Landroid/os/HwParcel;I)V
+SPLandroid/hidl/manager/V1_2/IServiceManager$Proxy;->interfaceChain()Ljava/util/ArrayList;
+SPLandroid/hidl/manager/V1_2/IServiceManager$Proxy;->linkToDeath(Landroid/os/IHwBinder$DeathRecipient;J)Z
+SPLandroid/hidl/manager/V1_2/IServiceManager$Proxy;->listManifestByInterface(Ljava/lang/String;)Ljava/util/ArrayList;
+SPLandroid/hidl/manager/V1_2/IServiceManager$Proxy;->registerForNotifications(Ljava/lang/String;Ljava/lang/String;Landroid/hidl/manager/V1_0/IServiceNotification;)Z
+SPLandroid/hidl/manager/V1_2/IServiceManager;->asInterface(Landroid/os/IHwBinder;)Landroid/hidl/manager/V1_2/IServiceManager;
+SPLandroid/hidl/manager/V1_2/IServiceManager;->getService()Landroid/hidl/manager/V1_2/IServiceManager;
+SPLandroid/net/INetd$Stub$Proxy;->bandwidthSetGlobalAlert(J)V
+SPLandroid/net/INetd$Stub$Proxy;->firewallEnableChildChain(IZ)V
+SPLandroid/net/INetd$Stub$Proxy;->firewallReplaceUidChain(Ljava/lang/String;Z[I)Z
+SPLandroid/net/INetd$Stub$Proxy;->firewallSetFirewallType(I)V
+SPLandroid/net/INetd$Stub$Proxy;->firewallSetUidRule(III)V
+SPLandroid/net/INetd$Stub$Proxy;->interfaceClearAddrs(Ljava/lang/String;)V
+SPLandroid/net/INetd$Stub$Proxy;->interfaceGetCfg(Ljava/lang/String;)Landroid/net/InterfaceConfigurationParcel;
+SPLandroid/net/INetd$Stub$Proxy;->interfaceGetList()[Ljava/lang/String;
+SPLandroid/net/INetd$Stub$Proxy;->interfaceSetEnableIPv6(Ljava/lang/String;Z)V
+SPLandroid/net/INetd$Stub$Proxy;->interfaceSetIPv6PrivacyExtensions(Ljava/lang/String;Z)V
+SPLandroid/net/INetd$Stub$Proxy;->isAlive()Z
+SPLandroid/net/INetd$Stub$Proxy;->networkSetPermissionForUser(I[I)V
+SPLandroid/net/INetd$Stub$Proxy;->registerUnsolicitedEventListener(Landroid/net/INetdUnsolicitedEventListener;)V
+SPLandroid/net/INetd$Stub$Proxy;->socketDestroy([Landroid/net/UidRangeParcel;[I)V
+SPLandroid/net/INetd$Stub$Proxy;->tetherGetStats()[Landroid/net/TetherStatsParcel;
+SPLandroid/net/INetd$Stub$Proxy;->trafficSetNetPermForUids(I[I)V
+SPLandroid/net/INetd$Stub;->asInterface(Landroid/os/IBinder;)Landroid/net/INetd;
+SPLandroid/net/INetdUnsolicitedEventListener$Stub;->asBinder()Landroid/os/IBinder;
+SPLandroid/net/INetdUnsolicitedEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+SPLandroid/net/NetworkStackClient;->getInstance()Landroid/net/NetworkStackClient;
+SPLandroid/net/NetworkStackClient;->log(Ljava/lang/String;)V
+SPLandroid/net/NetworkStackClient;->makeIpClient(Ljava/lang/String;Landroid/net/ip/IIpClientCallbacks;)V
+SPLandroid/net/NetworkStackClient;->requestConnector(Landroid/net/NetworkStackClient$NetworkStackCallback;)V
+SPLandroid/net/NetworkStackClient;->start(Landroid/content/Context;)V
+SPLandroid/net/ip/IpClientCallbacks;-><init>()V
+SPLandroid/net/ip/IpClientUtil;->makeIpClient(Landroid/content/Context;Ljava/lang/String;Landroid/net/ip/IpClientCallbacks;)V
+SPLandroid/net/ip/IpServer$Dependencies;->getNetdService()Landroid/net/INetd;
+SPLandroid/net/ip/IpServer$InitialState;->enter()V
+SPLandroid/net/ip/IpServer$InitialState;->processMessage(Landroid/os/Message;)Z
+SPLandroid/net/ip/IpServer;-><init>(Ljava/lang/String;Landroid/os/Looper;ILandroid/net/util/SharedLog;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Landroid/net/ip/IpServer$Callback;ZLandroid/net/ip/IpServer$Dependencies;)V
+SPLandroid/net/ip/IpServer;->getStateString(I)Ljava/lang/String;
+SPLandroid/net/ip/IpServer;->interfaceName()Ljava/lang/String;
+SPLandroid/net/ip/IpServer;->interfaceType()I
+SPLandroid/net/ip/IpServer;->lastError()I
+SPLandroid/net/ip/IpServer;->logMessage(Lcom/android/internal/util/State;I)V
+SPLandroid/net/ip/IpServer;->updateUpstreamIPv6LinkProperties(Landroid/net/LinkProperties;)V
+SPLandroid/net/metrics/INetdEventListener$Stub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+SPLandroid/net/shared/PrivateDnsConfig;-><init>()V
+SPLandroid/net/util/NetdService;->get(J)Landroid/net/INetd;
+SPLandroid/net/util/PrefixUtils;->pfx(Ljava/lang/String;)Landroid/net/IpPrefix;
+SPLandroid/net/util/SharedLog$Category;-><init>(Ljava/lang/String;I)V
+SPLandroid/net/util/SharedLog;-><init>(Landroid/util/LocalLog;Ljava/lang/String;Ljava/lang/String;)V
+SPLandroid/net/util/SharedLog;->forSubComponent(Ljava/lang/String;)Landroid/net/util/SharedLog;
+SPLandroid/net/util/SharedLog;->log(Ljava/lang/String;)V
+SPLandroid/net/util/SharedLog;->logLine(Landroid/net/util/SharedLog$Category;Ljava/lang/String;)Ljava/lang/String;
+SPLandroid/net/util/SharedLog;->mark(Ljava/lang/String;)V
+SPLandroid/net/util/VersionedBroadcastListener;->startListening()V
+SPLandroid/net/wifi/IClientInterface$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+SPLandroid/net/wifi/IClientInterface$Stub$Proxy;->getWifiScannerImpl()Landroid/net/wifi/IWifiScannerImpl;
+SPLandroid/net/wifi/IPnoScanEvent$Stub;->asBinder()Landroid/os/IBinder;
+SPLandroid/net/wifi/IScanEvent$Stub;->asBinder()Landroid/os/IBinder;
+SPLandroid/net/wifi/IWifiScannerImpl$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+SPLandroid/net/wifi/IWifiScannerImpl$Stub$Proxy;->stopPnoScan()Z
+SPLandroid/net/wifi/IWifiScannerImpl$Stub$Proxy;->subscribePnoScanEvents(Landroid/net/wifi/IPnoScanEvent;)V
+SPLandroid/net/wifi/IWifiScannerImpl$Stub$Proxy;->subscribeScanEvents(Landroid/net/wifi/IScanEvent;)V
+SPLandroid/net/wifi/IWifiScannerImpl$Stub$Proxy;->unsubscribePnoScanEvents()V
+SPLandroid/net/wifi/IWifiScannerImpl$Stub$Proxy;->unsubscribeScanEvents()V
+SPLandroid/net/wifi/IWificond$Stub$Proxy;->asBinder()Landroid/os/IBinder;
+SPLandroid/net/wifi/IWificond$Stub$Proxy;->createClientInterface(Ljava/lang/String;)Landroid/net/wifi/IClientInterface;
+SPLandroid/net/wifi/IWificond$Stub$Proxy;->getAvailable2gChannels()[I
+SPLandroid/net/wifi/IWificond$Stub$Proxy;->getAvailable5gNonDFSChannels()[I
+SPLandroid/net/wifi/IWificond$Stub$Proxy;->getAvailableDFSChannels()[I
+SPLandroid/net/wifi/IWificond$Stub$Proxy;->tearDownClientInterface(Ljava/lang/String;)Z
+SPLandroid/net/wifi/IWificond$Stub$Proxy;->tearDownInterfaces()V
+SPLandroid/os/IIdmap2$Stub$Proxy;->getIdmapPath(Ljava/lang/String;I)Ljava/lang/String;
+SPLandroid/os/IIdmap2$Stub$Proxy;->verifyIdmap(Ljava/lang/String;IZI)Z
+SPLcom/android/location/provider/LocationProviderBase$Service;->setLocationProviderManager(Lcom/android/internal/location/ILocationProviderManager;)V
+SPLcom/android/location/provider/LocationProviderBase$Service;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+SPLcom/android/location/provider/LocationProviderBase;-><init>(Ljava/lang/String;Lcom/android/location/provider/ProviderPropertiesUnbundled;)V
+SPLcom/android/location/provider/LocationProviderBase;->getBinder()Landroid/os/IBinder;
+SPLcom/android/location/provider/LocationProviderBase;->onEnable()V
+SPLcom/android/location/provider/LocationProviderBase;->onInit()V
+SPLcom/android/location/provider/ProviderPropertiesUnbundled;->create(ZZZZZZZII)Lcom/android/location/provider/ProviderPropertiesUnbundled;
+SPLcom/android/location/provider/ProviderRequestUnbundled;->getReportLocation()Z
+SPLcom/android/server/-$$Lambda$1xUIIN0BU8izGcnYWT-VzczLBFU;-><init>()V
+SPLcom/android/server/-$$Lambda$1xUIIN0BU8izGcnYWT-VzczLBFU;->get(Lcom/android/server/NsdService$NativeCallbackReceiver;)Lcom/android/server/NsdService$DaemonConnection;
+SPLcom/android/server/-$$Lambda$BatteryService$2x73lvpB0jctMSVP4qb9sHAqRPw;->run()V
+SPLcom/android/server/-$$Lambda$ContextHubSystemService$q-5gSEKm3he-4vIHcay4DLtf85E;->run()V
+SPLcom/android/server/-$$Lambda$HALkbmbB2IPr_wdFkPjiIWCzJsY;-><init>()V
+SPLcom/android/server/-$$Lambda$IpSecService$AnqunmSwm_yQvDDEPg-gokhVs5M;-><init>()V
+SPLcom/android/server/-$$Lambda$LocationManagerService$LocationProvider$nsL4uwojBLPzs1TzMfpQIBSm7p0;->run()V
+SPLcom/android/server/-$$Lambda$LocationManagerService$c--nwJDEsjSPyI_6OK8sVC5iClY;->onUidImportance(II)V
+SPLcom/android/server/-$$Lambda$NetworkManagementService$JKmkb4AIm_PPzQp1XOHOgPPRswo;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+SPLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$KpFpi2qBs2OPscTclZ3JRRr-G-g;->run()V
+SPLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$QjjL0oku3yfQh6xuCG2xu7lWiSM;->run()V
+SPLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$ne4qDQiQuX7-WNuF8Q_c7HnWnG0;->run()V
+SPLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$pOV71EYm5PphEVG1PGQnV_c6XiA;->run()V
+SPLcom/android/server/-$$Lambda$NetworkManagementService$NetdUnsolicitedEventListener$praKgcnQG9FTHNMGfCVPTVY8mK8;->run()V
+SPLcom/android/server/-$$Lambda$NetworkManagementService$VhSl9D6THA_3jE0unleMmkHavJ0;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+SPLcom/android/server/-$$Lambda$NetworkManagementService$Yw12yNgo43yul34SibAKDtttAK8;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+SPLcom/android/server/-$$Lambda$NetworkManagementService$_L953cbquVj0BMBP1MZlSTm0Umg;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+SPLcom/android/server/-$$Lambda$NetworkManagementService$hs6djmKbGd8sG4u1TMglrogNP_s;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+SPLcom/android/server/-$$Lambda$NetworkManagementService$vX8dVVYxxv3YT9jQuN34bgGgRa8;->sendCallback(Landroid/net/INetworkManagementEventObserver;)V
+SPLcom/android/server/-$$Lambda$PersistentDataBlockService$EZl9OYaT2eNL7kfSr2nKUBjxidk;->run()V
+SPLcom/android/server/-$$Lambda$PinnerService$3$3Ta6TX4Jq9YbpUYE5Y0r8Xt8rBw;-><init>()V
+SPLcom/android/server/-$$Lambda$PinnerService$3$3Ta6TX4Jq9YbpUYE5Y0r8Xt8rBw;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/-$$Lambda$PinnerService$3$RQBbrt9b8esLBxJImxDgVTsP34I;-><init>()V
+SPLcom/android/server/-$$Lambda$PinnerService$3$RQBbrt9b8esLBxJImxDgVTsP34I;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/-$$Lambda$PinnerService$GeEX-8XoHeV0LEszxat7jOSlrs4;-><init>()V
+SPLcom/android/server/-$$Lambda$PinnerService$GeEX-8XoHeV0LEszxat7jOSlrs4;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/-$$Lambda$QTLvklqCTz22VSzZPEWJs-o0bv4;-><init>()V
+SPLcom/android/server/-$$Lambda$ServiceWatcher$IP3HV4ye72eH3YxzGb9dMfcGWPE;->run()V
+SPLcom/android/server/-$$Lambda$ServiceWatcher$gVk2fFkq2-aamIua2kIpukAFtf8;->run()V
+SPLcom/android/server/-$$Lambda$ServiceWatcher$uru7j1zD-GiN8rndFZ3KWaTrxYo;->run()V
+SPLcom/android/server/-$$Lambda$SystemServer$NlJmG18aPrQduhRqASIdcn7G0z8;-><init>()V
+SPLcom/android/server/-$$Lambda$SystemServer$NlJmG18aPrQduhRqASIdcn7G0z8;->run()V
+SPLcom/android/server/-$$Lambda$SystemServer$RIWNR87PnJ4Y6VHItRXU0J6ocqQ;-><init>(Lcom/android/server/SystemServer;Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;ZLcom/android/server/ConnectivityService;Lcom/android/server/NetworkManagementService;Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/IpSecService;Lcom/android/server/net/NetworkStatsService;Lcom/android/server/LocationManagerService;Lcom/android/server/CountryDetectorService;Lcom/android/server/NetworkTimeUpdateService;Lcom/android/server/input/InputManagerService;Lcom/android/server/TelephonyRegistry;Lcom/android/server/media/MediaRouterService;Lcom/android/server/MmsServiceBroker;)V
+SPLcom/android/server/-$$Lambda$SystemServer$RIWNR87PnJ4Y6VHItRXU0J6ocqQ;->run()V
+SPLcom/android/server/-$$Lambda$SystemServer$UyrPns7R814g-ZEylCbDKhe8It4;-><init>()V
+SPLcom/android/server/-$$Lambda$SystemServer$UyrPns7R814g-ZEylCbDKhe8It4;->run()V
+SPLcom/android/server/-$$Lambda$SystemServer$VBGb9VpEls6bUcVBPwYLtX7qDTs;-><init>()V
+SPLcom/android/server/-$$Lambda$SystemServer$VBGb9VpEls6bUcVBPwYLtX7qDTs;->run()V
+SPLcom/android/server/-$$Lambda$SystemServer$Y1gEdKr_Hb7K7cbTDAo_WOJ-SYI;->run()V
 SPLcom/android/server/-$$Lambda$SystemServerInitThreadPool$7wfLGkZF7FvYZv7xj3ghvuiJJGk;->run()V
+SPLcom/android/server/-$$Lambda$UiModeManagerService$vuGxqIEDBezs_Xyz-NAh0Bonp5g;->run()V
 SPLcom/android/server/-$$Lambda$YWiwiKm_Qgqb55C6tTuq_n2JzdY;-><init>()V
 SPLcom/android/server/-$$Lambda$YWiwiKm_Qgqb55C6tTuq_n2JzdY;->run()V
-SPLcom/android/server/AppOpsService$1;-><init>(Lcom/android/server/AppOpsService;)V
-SPLcom/android/server/AppOpsService$AppOpsManagerInternalImpl;-><init>(Lcom/android/server/AppOpsService;)V
-SPLcom/android/server/AppOpsService$AppOpsManagerInternalImpl;-><init>(Lcom/android/server/AppOpsService;Lcom/android/server/AppOpsService$1;)V
-SPLcom/android/server/AppOpsService$Constants;-><init>(Lcom/android/server/AppOpsService;Landroid/os/Handler;)V
-SPLcom/android/server/AppOpsService$Constants;->updateConstants()V
-SPLcom/android/server/AppOpsService$Ops;-><init>(Ljava/lang/String;Lcom/android/server/AppOpsService$UidState;Z)V
-SPLcom/android/server/AppOpsService$UidState;-><init>(I)V
-SPLcom/android/server/AppOpsService;-><init>(Ljava/io/File;Landroid/os/Handler;)V
-SPLcom/android/server/AppOpsService;->publish(Landroid/content/Context;)V
-SPLcom/android/server/AppOpsService;->readState()V
-SPLcom/android/server/AppOpsService;->readUidOps(Lorg/xmlpull/v1/XmlPullParser;)V
-SPLcom/android/server/AppOpsService;->upgradeLocked(I)V
-SPLcom/android/server/DisplayThread;-><init>()V
+SPLcom/android/server/-$$Lambda$hu439-4T6QBT8QyZnspMtXqICWs;-><init>()V
+SPLcom/android/server/-$$Lambda$qoNbXUvSu3yuTPVXPUfZW_HDrTQ;-><init>()V
+SPLcom/android/server/AlarmManagerService$1;->compare(Lcom/android/server/AlarmManagerService$Alarm;Lcom/android/server/AlarmManagerService$Alarm;)I
+SPLcom/android/server/AlarmManagerService$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+SPLcom/android/server/AlarmManagerService$3;->currentNetworkTimeMillis()J
+SPLcom/android/server/AlarmManagerService$3;->getNextAlarmClock(I)Landroid/app/AlarmManager$AlarmClockInfo;
+SPLcom/android/server/AlarmManagerService$3;->remove(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
+SPLcom/android/server/AlarmManagerService$3;->set(Ljava/lang/String;IJJJILandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;)V
+SPLcom/android/server/AlarmManagerService$3;->setTime(J)Z
+SPLcom/android/server/AlarmManagerService$6;->onUidForeground(IZ)V
+SPLcom/android/server/AlarmManagerService$6;->unblockAlarmsForUid(I)V
+SPLcom/android/server/AlarmManagerService$Alarm;-><init>(IJJJJJLandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;Landroid/os/WorkSource;ILandroid/app/AlarmManager$AlarmClockInfo;ILjava/lang/String;)V
+SPLcom/android/server/AlarmManagerService$Alarm;->makeTag(Landroid/app/PendingIntent;Ljava/lang/String;I)Ljava/lang/String;
+SPLcom/android/server/AlarmManagerService$AlarmHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/AlarmManagerService$AlarmThread;->run()V
+SPLcom/android/server/AlarmManagerService$AppStandbyTracker;->onParoleStateChanged(Z)V
+SPLcom/android/server/AlarmManagerService$Batch;-><init>(Lcom/android/server/AlarmManagerService;Lcom/android/server/AlarmManagerService$Alarm;)V
+SPLcom/android/server/AlarmManagerService$Batch;->add(Lcom/android/server/AlarmManagerService$Alarm;)Z
+SPLcom/android/server/AlarmManagerService$Batch;->get(I)Lcom/android/server/AlarmManagerService$Alarm;
+SPLcom/android/server/AlarmManagerService$Batch;->size()I
+SPLcom/android/server/AlarmManagerService$BatchTimeOrder;-><init>()V
+SPLcom/android/server/AlarmManagerService$ClockReceiver;->scheduleDateChangedEvent()V
+SPLcom/android/server/AlarmManagerService$ClockReceiver;->scheduleTimeTickEvent()V
+SPLcom/android/server/AlarmManagerService$Constants;-><init>(Lcom/android/server/AlarmManagerService;Landroid/os/Handler;)V
+SPLcom/android/server/AlarmManagerService$Constants;->updateConstants()V
+SPLcom/android/server/AlarmManagerService$DeliveryTracker;->alarmComplete(Landroid/os/IBinder;)V
+SPLcom/android/server/AlarmManagerService$DeliveryTracker;->deliverLocked(Lcom/android/server/AlarmManagerService$Alarm;JZ)V
+SPLcom/android/server/AlarmManagerService$DeliveryTracker;->onSendFinished(Landroid/app/PendingIntent;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;)V
+SPLcom/android/server/AlarmManagerService$DeliveryTracker;->removeLocked(Landroid/app/PendingIntent;Landroid/content/Intent;)Lcom/android/server/AlarmManagerService$InFlight;
+SPLcom/android/server/AlarmManagerService$DeliveryTracker;->removeLocked(Landroid/os/IBinder;)Lcom/android/server/AlarmManagerService$InFlight;
+SPLcom/android/server/AlarmManagerService$DeliveryTracker;->updateStatsLocked(Lcom/android/server/AlarmManagerService$InFlight;)V
+SPLcom/android/server/AlarmManagerService$DeliveryTracker;->updateTrackingLocked(Lcom/android/server/AlarmManagerService$InFlight;)V
+SPLcom/android/server/AlarmManagerService$InFlight;-><init>(Lcom/android/server/AlarmManagerService;Lcom/android/server/AlarmManagerService$Alarm;J)V
+SPLcom/android/server/AlarmManagerService$IncreasingTimeOrder;-><init>()V
+SPLcom/android/server/AlarmManagerService$IncreasingTimeOrder;->compare(Lcom/android/server/AlarmManagerService$Alarm;Lcom/android/server/AlarmManagerService$Alarm;)I
+SPLcom/android/server/AlarmManagerService$IncreasingTimeOrder;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+SPLcom/android/server/AlarmManagerService$Injector;->getAlarmWakeLock()Landroid/os/PowerManager$WakeLock;
+SPLcom/android/server/AlarmManagerService$Injector;->getClockReceiver(Lcom/android/server/AlarmManagerService;)Lcom/android/server/AlarmManagerService$ClockReceiver;
+SPLcom/android/server/AlarmManagerService$Injector;->getCurrentTimeMillis()J
+SPLcom/android/server/AlarmManagerService$Injector;->getElapsedRealtime()J
+SPLcom/android/server/AlarmManagerService$Injector;->getSystemUiUid()I
+SPLcom/android/server/AlarmManagerService$Injector;->init()V
+SPLcom/android/server/AlarmManagerService$Injector;->isAlarmDriverPresent()Z
+SPLcom/android/server/AlarmManagerService$Injector;->setAlarm(IJ)V
+SPLcom/android/server/AlarmManagerService$Injector;->setKernelTime(J)V
+SPLcom/android/server/AlarmManagerService$Injector;->setKernelTimezone(I)V
+SPLcom/android/server/AlarmManagerService$Injector;->waitForAlarm()I
+SPLcom/android/server/AlarmManagerService$InteractiveStateReceiver;-><init>(Lcom/android/server/AlarmManagerService;)V
+SPLcom/android/server/AlarmManagerService$LocalService;->isIdling()Z
+SPLcom/android/server/AlarmManagerService$LocalService;->registerInFlightListener(Lcom/android/server/AlarmManagerInternal$InFlightListener;)V
+SPLcom/android/server/AlarmManagerService$UidObserver;->onUidActive(I)V
+SPLcom/android/server/AlarmManagerService$UidObserver;->onUidGone(IZ)V
+SPLcom/android/server/AlarmManagerService$UidObserver;->onUidIdle(IZ)V
+SPLcom/android/server/AlarmManagerService$UninstallReceiver;-><init>(Lcom/android/server/AlarmManagerService;)V
+SPLcom/android/server/AlarmManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/AlarmManagerService;-><init>(Landroid/content/Context;Lcom/android/server/AlarmManagerService$Injector;)V
+SPLcom/android/server/AlarmManagerService;->adjustDeliveryTimeBasedOnBucketLocked(Lcom/android/server/AlarmManagerService$Alarm;)Z
+SPLcom/android/server/AlarmManagerService;->calculateDeliveryPriorities(Ljava/util/ArrayList;)V
+SPLcom/android/server/AlarmManagerService;->checkAllowNonWakeupDelayLocked(J)Z
+SPLcom/android/server/AlarmManagerService;->convertToElapsed(JI)J
+SPLcom/android/server/AlarmManagerService;->deliverAlarmsLocked(Ljava/util/ArrayList;J)V
+SPLcom/android/server/AlarmManagerService;->getNextAlarmClockImpl(I)Landroid/app/AlarmManager$AlarmClockInfo;
+SPLcom/android/server/AlarmManagerService;->getStatsLocked(ILjava/lang/String;)Lcom/android/server/AlarmManagerService$BroadcastStats;
+SPLcom/android/server/AlarmManagerService;->haveAlarmsTimeTickAlarm(Ljava/util/ArrayList;)Z
+SPLcom/android/server/AlarmManagerService;->haveBatchesTimeTickAlarm(Ljava/util/ArrayList;)Z
+SPLcom/android/server/AlarmManagerService;->insertAndBatchAlarmLocked(Lcom/android/server/AlarmManagerService$Alarm;)V
+SPLcom/android/server/AlarmManagerService;->isBackgroundRestricted(Lcom/android/server/AlarmManagerService$Alarm;)Z
+SPLcom/android/server/AlarmManagerService;->isIdlingImpl()Z
+SPLcom/android/server/AlarmManagerService;->maxTriggerTime(JJJ)J
+SPLcom/android/server/AlarmManagerService;->onBootPhase(I)V
+SPLcom/android/server/AlarmManagerService;->onStart()V
+SPLcom/android/server/AlarmManagerService;->reAddAlarmLocked(Lcom/android/server/AlarmManagerService$Alarm;JZ)V
+SPLcom/android/server/AlarmManagerService;->rebatchAllAlarms()V
+SPLcom/android/server/AlarmManagerService;->removeImpl(Landroid/app/PendingIntent;Landroid/app/IAlarmListener;)V
+SPLcom/android/server/AlarmManagerService;->reorderAlarmsBasedOnStandbyBuckets(Landroid/util/ArraySet;)Z
+SPLcom/android/server/AlarmManagerService;->rescheduleKernelAlarmsLocked()V
+SPLcom/android/server/AlarmManagerService;->sendPendingBackgroundAlarmsLocked(ILjava/lang/String;)V
+SPLcom/android/server/AlarmManagerService;->setImpl(IJJJLandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;ILandroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;ILjava/lang/String;)V
+SPLcom/android/server/AlarmManagerService;->setImplLocked(IJJJJJLandroid/app/PendingIntent;Landroid/app/IAlarmListener;Ljava/lang/String;IZLandroid/os/WorkSource;Landroid/app/AlarmManager$AlarmClockInfo;ILjava/lang/String;)V
+SPLcom/android/server/AlarmManagerService;->setImplLocked(Lcom/android/server/AlarmManagerService$Alarm;ZZ)V
+SPLcom/android/server/AlarmManagerService;->setLocked(IJ)V
+SPLcom/android/server/AlarmManagerService;->setTimeImpl(J)Z
+SPLcom/android/server/AlarmManagerService;->setTimeZoneImpl(Ljava/lang/String;)V
+SPLcom/android/server/AlarmManagerService;->setWakelockWorkSource(Landroid/os/WorkSource;ILjava/lang/String;Z)V
+SPLcom/android/server/AlarmManagerService;->triggerAlarmsLocked(Ljava/util/ArrayList;JJ)Z
+SPLcom/android/server/AlarmManagerService;->updateNextAlarmClockLocked()V
+SPLcom/android/server/AlarmManagerService;->validateLastAlarmExpiredLocked(J)V
+SPLcom/android/server/AnimationThread;->ensureThreadLocked()V
+SPLcom/android/server/AnimationThread;->get()Lcom/android/server/AnimationThread;
+SPLcom/android/server/AnimationThread;->getHandler()Landroid/os/Handler;
+SPLcom/android/server/AnyMotionDetector;-><init>(Landroid/os/PowerManager;Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/android/server/AnyMotionDetector$DeviceIdleCallback;F)V
+SPLcom/android/server/AppStateTracker$FeatureFlagsObserver;->isForcedAppStandbyEnabled()Z
+SPLcom/android/server/AppStateTracker$FeatureFlagsObserver;->isForcedAppStandbyForSmallBatteryEnabled()Z
+SPLcom/android/server/AppStateTracker$FeatureFlagsObserver;->register()V
+SPLcom/android/server/AppStateTracker$Listener;->onUidForeground(IZ)V
+SPLcom/android/server/AppStateTracker$Listener;->unblockAlarmsForUid(I)V
+SPLcom/android/server/AppStateTracker$Listener;->updateJobsForUid(IZ)V
+SPLcom/android/server/AppStateTracker$MyHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/AppStateTracker$MyHandler;->handleUidActive(I)V
+SPLcom/android/server/AppStateTracker$MyHandler;->handleUidGone(IZ)V
+SPLcom/android/server/AppStateTracker$MyHandler;->handleUidIdle(IZ)V
+SPLcom/android/server/AppStateTracker$MyHandler;->handleUidStateChanged(II)V
+SPLcom/android/server/AppStateTracker$MyHandler;->notifyAllWhitelistChanged()V
+SPLcom/android/server/AppStateTracker$MyHandler;->notifyUidActiveStateChanged(I)V
+SPLcom/android/server/AppStateTracker$MyHandler;->notifyUidForegroundStateChanged(I)V
+SPLcom/android/server/AppStateTracker$MyHandler;->onUidActive(I)V
+SPLcom/android/server/AppStateTracker$MyHandler;->onUidGone(IZ)V
+SPLcom/android/server/AppStateTracker$MyHandler;->onUidIdle(IZ)V
+SPLcom/android/server/AppStateTracker$MyHandler;->onUidStateChanged(II)V
+SPLcom/android/server/AppStateTracker$MyHandler;->removeUid(IZ)V
+SPLcom/android/server/AppStateTracker$MyReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/AppStateTracker$StandbyTracker;->onParoleStateChanged(Z)V
+SPLcom/android/server/AppStateTracker$UidObserver;->onUidActive(I)V
+SPLcom/android/server/AppStateTracker$UidObserver;->onUidGone(IZ)V
+SPLcom/android/server/AppStateTracker$UidObserver;->onUidIdle(IZ)V
+SPLcom/android/server/AppStateTracker$UidObserver;->onUidStateChanged(IIJ)V
+SPLcom/android/server/AppStateTracker;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+SPLcom/android/server/AppStateTracker;->addListener(Lcom/android/server/AppStateTracker$Listener;)V
+SPLcom/android/server/AppStateTracker;->areAlarmsRestricted(ILjava/lang/String;Z)Z
+SPLcom/android/server/AppStateTracker;->areJobsRestricted(ILjava/lang/String;Z)Z
+SPLcom/android/server/AppStateTracker;->cloneListeners()[Lcom/android/server/AppStateTracker$Listener;
+SPLcom/android/server/AppStateTracker;->findForcedAppStandbyUidPackageIndexLocked(ILjava/lang/String;)I
+SPLcom/android/server/AppStateTracker;->injectActivityManagerInternal()Landroid/app/ActivityManagerInternal;
+SPLcom/android/server/AppStateTracker;->injectAppOpsManager()Landroid/app/AppOpsManager;
+SPLcom/android/server/AppStateTracker;->injectGetGlobalSettingInt(Ljava/lang/String;I)I
+SPLcom/android/server/AppStateTracker;->injectIActivityManager()Landroid/app/IActivityManager;
+SPLcom/android/server/AppStateTracker;->injectIAppOpsService()Lcom/android/internal/app/IAppOpsService;
+SPLcom/android/server/AppStateTracker;->injectPowerManagerInternal()Landroid/os/PowerManagerInternal;
+SPLcom/android/server/AppStateTracker;->injectUsageStatsManagerInternal()Landroid/app/usage/UsageStatsManagerInternal;
+SPLcom/android/server/AppStateTracker;->isAnyAppIdUnwhitelisted([I[I)Z
+SPLcom/android/server/AppStateTracker;->isRestricted(ILjava/lang/String;ZZ)Z
+SPLcom/android/server/AppStateTracker;->isRunAnyRestrictedLocked(ILjava/lang/String;)Z
+SPLcom/android/server/AppStateTracker;->isUidInForeground(I)Z
+SPLcom/android/server/AppStateTracker;->onSystemServicesReady()V
+SPLcom/android/server/AppStateTracker;->refreshForcedAppStandbyUidPackagesLocked()V
+SPLcom/android/server/AppStateTracker;->setPowerSaveWhitelistAppIds([I[I[I)V
+SPLcom/android/server/AppStateTracker;->updateForceAllAppStandbyState()V
+SPLcom/android/server/AttributeCache;->get(Ljava/lang/String;I[II)Lcom/android/server/AttributeCache$Entry;
+SPLcom/android/server/AttributeCache;->instance()Lcom/android/server/AttributeCache;
+SPLcom/android/server/AttributeCache;->removePackage(Ljava/lang/String;)V
+SPLcom/android/server/AttributeCache;->updateConfiguration(Landroid/content/res/Configuration;)V
+SPLcom/android/server/BatteryService$8;->run()V
+SPLcom/android/server/BatteryService$9;->run()V
+SPLcom/android/server/BatteryService$BatteryPropertiesRegistrar;->scheduleUpdate()V
+SPLcom/android/server/BatteryService$HealthHalCallback;->healthInfoChanged(Landroid/hardware/health/V2_0/HealthInfo;)V
+SPLcom/android/server/BatteryService$HealthHalCallback;->onRegistration(Landroid/hardware/health/V2_0/IHealth;Landroid/hardware/health/V2_0/IHealth;Ljava/lang/String;)V
+SPLcom/android/server/BatteryService$HealthServiceWrapper$IHealthSupplier;->get(Ljava/lang/String;)Landroid/hardware/health/V2_0/IHealth;
+SPLcom/android/server/BatteryService$HealthServiceWrapper$IServiceManagerSupplier;->get()Landroid/hidl/manager/V1_0/IServiceManager;
+SPLcom/android/server/BatteryService$HealthServiceWrapper$Notification$1;->run()V
+SPLcom/android/server/BatteryService$HealthServiceWrapper$Notification;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
+SPLcom/android/server/BatteryService$HealthServiceWrapper;->init(Lcom/android/server/BatteryService$HealthServiceWrapper$Callback;Lcom/android/server/BatteryService$HealthServiceWrapper$IServiceManagerSupplier;Lcom/android/server/BatteryService$HealthServiceWrapper$IHealthSupplier;)V
+SPLcom/android/server/BatteryService$Led;-><init>(Lcom/android/server/BatteryService;Landroid/content/Context;Lcom/android/server/lights/LightsManager;)V
+SPLcom/android/server/BatteryService$Led;->updateLightsLocked()V
+SPLcom/android/server/BatteryService$LocalService;->getBatteryChargeCounter()I
+SPLcom/android/server/BatteryService$LocalService;->getBatteryLevel()I
+SPLcom/android/server/BatteryService$LocalService;->getBatteryLevelLow()Z
+SPLcom/android/server/BatteryService$LocalService;->getPlugType()I
+SPLcom/android/server/BatteryService$LocalService;->isPowered(I)Z
+SPLcom/android/server/BatteryService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/BatteryService;->getIconLocked(I)I
+SPLcom/android/server/BatteryService;->isPoweredLocked(I)Z
+SPLcom/android/server/BatteryService;->onBootPhase(I)V
+SPLcom/android/server/BatteryService;->onStart()V
+SPLcom/android/server/BatteryService;->processValuesLocked(Z)V
+SPLcom/android/server/BatteryService;->registerHealthCallback()V
+SPLcom/android/server/BatteryService;->sendBatteryChangedIntentLocked()V
+SPLcom/android/server/BatteryService;->sendBatteryLevelChangedIntentLocked()V
+SPLcom/android/server/BatteryService;->shouldSendBatteryLowLocked()Z
+SPLcom/android/server/BatteryService;->update(Landroid/hardware/health/V2_0/HealthInfo;)V
+SPLcom/android/server/BatteryService;->updateBatteryWarningLevelLocked()V
+SPLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->createAppidWhitelist(Landroid/content/Context;)Landroid/util/ArraySet;
+SPLcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;->systemReady(Landroid/content/Context;)V
+SPLcom/android/server/BinderCallsStatsService$LifeCycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/BinderCallsStatsService$LifeCycle;->onBootPhase(I)V
+SPLcom/android/server/BinderCallsStatsService$LifeCycle;->onStart()V
+SPLcom/android/server/BinderCallsStatsService$SettingsObserver;-><init>(Landroid/content/Context;Lcom/android/internal/os/BinderCallsStats;Lcom/android/server/BinderCallsStatsService$AuthorizedWorkSourceProvider;)V
+SPLcom/android/server/BinderCallsStatsService$SettingsObserver;->onChange()V
+SPLcom/android/server/BinderCallsStatsService;->systemReady(Landroid/content/Context;)V
+SPLcom/android/server/BluetoothManagerService$1;->onBluetoothStateChange(II)V
+SPLcom/android/server/BluetoothManagerService$2;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+SPLcom/android/server/BluetoothManagerService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/BluetoothManagerService$BluetoothHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/BluetoothManagerService$BluetoothServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+SPLcom/android/server/BluetoothManagerService$ProfileServiceConnections;->bindService()Z
+SPLcom/android/server/BluetoothManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/BluetoothManagerService;->access$1000(Lcom/android/server/BluetoothManagerService;)Landroid/bluetooth/IBluetooth;
+SPLcom/android/server/BluetoothManagerService;->access$1002(Lcom/android/server/BluetoothManagerService;Landroid/bluetooth/IBluetooth;)Landroid/bluetooth/IBluetooth;
+SPLcom/android/server/BluetoothManagerService;->access$1300(Lcom/android/server/BluetoothManagerService;)Z
+SPLcom/android/server/BluetoothManagerService;->access$1302(Lcom/android/server/BluetoothManagerService;Z)Z
+SPLcom/android/server/BluetoothManagerService;->access$200(Lcom/android/server/BluetoothManagerService;)Lcom/android/server/BluetoothManagerService$BluetoothHandler;
+SPLcom/android/server/BluetoothManagerService;->access$2402(Lcom/android/server/BluetoothManagerService;Z)Z
+SPLcom/android/server/BluetoothManagerService;->access$2600(Lcom/android/server/BluetoothManagerService;)Z
+SPLcom/android/server/BluetoothManagerService;->access$2602(Lcom/android/server/BluetoothManagerService;Z)Z
+SPLcom/android/server/BluetoothManagerService;->access$2700(Lcom/android/server/BluetoothManagerService;Z)V
+SPLcom/android/server/BluetoothManagerService;->access$3000(Lcom/android/server/BluetoothManagerService;)Landroid/os/RemoteCallbackList;
+SPLcom/android/server/BluetoothManagerService;->access$3100(Lcom/android/server/BluetoothManagerService;)Landroid/os/RemoteCallbackList;
+SPLcom/android/server/BluetoothManagerService;->access$3602(Lcom/android/server/BluetoothManagerService;Landroid/os/IBinder;)Landroid/os/IBinder;
+SPLcom/android/server/BluetoothManagerService;->access$3700(Lcom/android/server/BluetoothManagerService;)Z
+SPLcom/android/server/BluetoothManagerService;->access$3800(Lcom/android/server/BluetoothManagerService;)Landroid/bluetooth/IBluetoothCallback;
+SPLcom/android/server/BluetoothManagerService;->access$3900(Lcom/android/server/BluetoothManagerService;)V
+SPLcom/android/server/BluetoothManagerService;->access$4002(Lcom/android/server/BluetoothManagerService;I)I
+SPLcom/android/server/BluetoothManagerService;->access$4100(Lcom/android/server/BluetoothManagerService;II)V
+SPLcom/android/server/BluetoothManagerService;->access$900(Lcom/android/server/BluetoothManagerService;)Ljava/util/concurrent/locks/ReentrantReadWriteLock;
+SPLcom/android/server/BluetoothManagerService;->addActiveLog(ILjava/lang/String;Z)V
+SPLcom/android/server/BluetoothManagerService;->bindBluetoothProfileService(ILandroid/bluetooth/IBluetoothProfileServiceConnection;)Z
+SPLcom/android/server/BluetoothManagerService;->bluetoothStateChangeHandler(II)V
+SPLcom/android/server/BluetoothManagerService;->doBind(Landroid/content/Intent;Landroid/content/ServiceConnection;ILandroid/os/UserHandle;)Z
+SPLcom/android/server/BluetoothManagerService;->handleEnable(Z)V
+SPLcom/android/server/BluetoothManagerService;->handleOnBootPhase()V
+SPLcom/android/server/BluetoothManagerService;->isBluetoothDisallowed()Z
+SPLcom/android/server/BluetoothManagerService;->isBluetoothPersistedStateOn()Z
+SPLcom/android/server/BluetoothManagerService;->isHearingAidProfileSupported()Z
+SPLcom/android/server/BluetoothManagerService;->loadStoredNameAndAddress()V
+SPLcom/android/server/BluetoothManagerService;->registerAdapter(Landroid/bluetooth/IBluetoothManagerCallback;)Landroid/bluetooth/IBluetooth;
+SPLcom/android/server/BluetoothManagerService;->registerStateChangeCallback(Landroid/bluetooth/IBluetoothStateChangeCallback;)V
+SPLcom/android/server/BluetoothManagerService;->sendBleStateChanged(II)V
+SPLcom/android/server/BluetoothManagerService;->sendBluetoothServiceUpCallback()V
+SPLcom/android/server/BluetoothManagerService;->storeNameAndAddress(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/BluetoothManagerService;->updateOppLauncherComponentState(IZ)V
+SPLcom/android/server/BluetoothService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/BluetoothService;->onBootPhase(I)V
+SPLcom/android/server/BluetoothService;->onStart()V
+SPLcom/android/server/CachedDeviceStateService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/CachedDeviceStateService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/CachedDeviceStateService;->onBootPhase(I)V
+SPLcom/android/server/CachedDeviceStateService;->onStart()V
+SPLcom/android/server/CertBlacklister;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/ConnectivityService$2;->getDefaultNetworkRequest()Landroid/net/NetworkRequest;
+SPLcom/android/server/ConnectivityService$2;->isTetheringSupported()Z
+SPLcom/android/server/ConnectivityService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/ConnectivityService$LegacyTypeTracker;->addSupportedType(I)V
+SPLcom/android/server/ConnectivityService$LegacyTypeTracker;->isTypeSupported(I)Z
+SPLcom/android/server/ConnectivityService$NetworkRequestInfo;-><init>(Lcom/android/server/ConnectivityService;Landroid/os/Messenger;Landroid/net/NetworkRequest;Landroid/os/IBinder;)V
+SPLcom/android/server/ConnectivityService$NetworkRequestInfo;->enforceRequestCountLimit()V
+SPLcom/android/server/ConnectivityService$NetworkRequestInfo;->toString()Ljava/lang/String;
+SPLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->maybeHandleAsyncChannelMessage(Landroid/os/Message;)Z
+SPLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->maybeHandleNetworkAgentMessage(Landroid/os/Message;)V
+SPLcom/android/server/ConnectivityService$NetworkStateTrackerHandler;->maybeHandleNetworkMonitorMessage(Landroid/os/Message;)Z
+SPLcom/android/server/ConnectivityService$SettingsObserver;->observe(Landroid/net/Uri;I)V
+SPLcom/android/server/ConnectivityService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Landroid/net/INetworkPolicyManager;)V
+SPLcom/android/server/ConnectivityService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Landroid/net/INetworkPolicyManager;Landroid/net/metrics/IpConnectivityLog;)V
+SPLcom/android/server/ConnectivityService;->createMultinetworkPolicyTracker(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/Runnable;)Landroid/net/util/MultinetworkPolicyTracker;
+SPLcom/android/server/ConnectivityService;->createVpnInfo(Lcom/android/server/connectivity/Vpn;)Lcom/android/internal/net/VpnInfo;
+SPLcom/android/server/ConnectivityService;->enforceAnyPermissionOf([Ljava/lang/String;)V
+SPLcom/android/server/ConnectivityService;->ensureRunningOnConnectivityServiceThread()V
+SPLcom/android/server/ConnectivityService;->filterNetworkStateForUid(Landroid/net/NetworkState;IZ)V
+SPLcom/android/server/ConnectivityService;->getActiveNetworkForUid(IZ)Landroid/net/Network;
+SPLcom/android/server/ConnectivityService;->getActiveNetworkForUidInternal(IZ)Landroid/net/Network;
+SPLcom/android/server/ConnectivityService;->getActiveNetworkInfo()Landroid/net/NetworkInfo;
+SPLcom/android/server/ConnectivityService;->getAllVpnInfo()[Lcom/android/internal/net/VpnInfo;
+SPLcom/android/server/ConnectivityService;->getNetworkAgentInfoForNetId(I)Lcom/android/server/connectivity/NetworkAgentInfo;
+SPLcom/android/server/ConnectivityService;->getNetworkCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
+SPLcom/android/server/ConnectivityService;->getNetworkCapabilitiesInternal(Lcom/android/server/connectivity/NetworkAgentInfo;)Landroid/net/NetworkCapabilities;
+SPLcom/android/server/ConnectivityService;->getNetworkForRequest(I)Lcom/android/server/connectivity/NetworkAgentInfo;
+SPLcom/android/server/ConnectivityService;->getProxyForNetwork(Landroid/net/Network;)Landroid/net/ProxyInfo;
+SPLcom/android/server/ConnectivityService;->getSystemProperties()Lcom/android/server/connectivity/MockableSystemProperties;
+SPLcom/android/server/ConnectivityService;->getTetherableWifiRegexs()[Ljava/lang/String;
+SPLcom/android/server/ConnectivityService;->getVpnUnderlyingNetworks(I)[Landroid/net/Network;
+SPLcom/android/server/ConnectivityService;->handleAlwaysOnNetworkRequest(Landroid/net/NetworkRequest;Ljava/lang/String;Z)V
+SPLcom/android/server/ConnectivityService;->handleAsyncChannelHalfConnect(Landroid/os/Message;)V
+SPLcom/android/server/ConnectivityService;->handleRegisterNetworkFactory(Lcom/android/server/ConnectivityService$NetworkFactoryInfo;)V
+SPLcom/android/server/ConnectivityService;->handleRegisterNetworkRequest(Lcom/android/server/ConnectivityService$NetworkRequestInfo;)V
+SPLcom/android/server/ConnectivityService;->hasWifiNetworkListenPermission(Landroid/net/NetworkCapabilities;)Z
+SPLcom/android/server/ConnectivityService;->isNetworkSupported(I)Z
+SPLcom/android/server/ConnectivityService;->isTetheringSupported()Z
+SPLcom/android/server/ConnectivityService;->isTetheringSupported(Ljava/lang/String;)Z
+SPLcom/android/server/ConnectivityService;->listenForNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;Landroid/os/IBinder;)Landroid/net/NetworkRequest;
+SPLcom/android/server/ConnectivityService;->makeProxyTracker()Lcom/android/server/connectivity/ProxyTracker;
+SPLcom/android/server/ConnectivityService;->makeTethering()Lcom/android/server/connectivity/Tethering;
+SPLcom/android/server/ConnectivityService;->maybeLogBlockedNetworkInfo(Landroid/net/NetworkInfo;I)V
+SPLcom/android/server/ConnectivityService;->maybeNotifyNetworkBlockedForNewUidRules(II)V
+SPLcom/android/server/ConnectivityService;->nextNetworkRequestId()I
+SPLcom/android/server/ConnectivityService;->onPackageRemoved(Ljava/lang/String;IZ)V
+SPLcom/android/server/ConnectivityService;->onUserStart(I)V
+SPLcom/android/server/ConnectivityService;->registerNetdEventCallback()V
+SPLcom/android/server/ConnectivityService;->registerNetworkFactory(Landroid/os/Messenger;Ljava/lang/String;)I
+SPLcom/android/server/ConnectivityService;->registerPrivateDnsSettingsCallbacks()V
+SPLcom/android/server/ConnectivityService;->registerSettingsCallbacks()V
+SPLcom/android/server/ConnectivityService;->rematchAllNetworksAndRequests(Lcom/android/server/connectivity/NetworkAgentInfo;I)V
+SPLcom/android/server/ConnectivityService;->requestNetwork(Landroid/net/NetworkCapabilities;Landroid/os/Messenger;ILandroid/os/IBinder;I)Landroid/net/NetworkRequest;
+SPLcom/android/server/ConnectivityService;->sendUpdatedScoreToFactories(Landroid/net/NetworkRequest;Lcom/android/server/connectivity/NetworkAgentInfo;)V
+SPLcom/android/server/ConnectivityService;->systemReady()V
+SPLcom/android/server/ConnectivityService;->updateLockdownVpn()Z
+SPLcom/android/server/ConsumerIrService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/ContextHubSystemService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/ContextHubSystemService;->lambda$new$0$ContextHubSystemService(Landroid/content/Context;)V
+SPLcom/android/server/ContextHubSystemService;->onBootPhase(I)V
+SPLcom/android/server/ContextHubSystemService;->onStart()V
+SPLcom/android/server/CountryDetectorService$2;->run()V
+SPLcom/android/server/CountryDetectorService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/CountryDetectorService;->addCountryListener(Landroid/location/ICountryListener;)V
+SPLcom/android/server/CountryDetectorService;->addListener(Landroid/location/ICountryListener;)V
+SPLcom/android/server/CountryDetectorService;->detectCountry()Landroid/location/Country;
+SPLcom/android/server/CountryDetectorService;->run()V
+SPLcom/android/server/CountryDetectorService;->setCountryListener(Landroid/location/CountryListener;)V
+SPLcom/android/server/CountryDetectorService;->systemRunning()V
+SPLcom/android/server/DeviceIdleController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/DeviceIdleController$9;->onKeyguardStateChanged(Z)V
+SPLcom/android/server/DeviceIdleController$BinderService;->getAppIdWhitelist()[I
+SPLcom/android/server/DeviceIdleController$BinderService;->getAppIdWhitelistExceptIdle()[I
+SPLcom/android/server/DeviceIdleController$Constants;-><init>(Lcom/android/server/DeviceIdleController;Landroid/os/Handler;Landroid/content/ContentResolver;)V
+SPLcom/android/server/DeviceIdleController$Constants;->updateConstants()V
+SPLcom/android/server/DeviceIdleController$Injector;->getAlarmManager()Landroid/app/AlarmManager;
+SPLcom/android/server/DeviceIdleController$Injector;->getAnyMotionDetector(Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/android/server/AnyMotionDetector$DeviceIdleCallback;F)Lcom/android/server/AnyMotionDetector;
+SPLcom/android/server/DeviceIdleController$Injector;->getAppStateTracker(Landroid/content/Context;Landroid/os/Looper;)Lcom/android/server/AppStateTracker;
+SPLcom/android/server/DeviceIdleController$Injector;->getConnectivityService()Lcom/android/server/ConnectivityService;
+SPLcom/android/server/DeviceIdleController$Injector;->getConstants(Lcom/android/server/DeviceIdleController;Landroid/os/Handler;Landroid/content/ContentResolver;)Lcom/android/server/DeviceIdleController$Constants;
+SPLcom/android/server/DeviceIdleController$Injector;->getConstraintController(Landroid/os/Handler;Lcom/android/server/DeviceIdleController$LocalService;)Lcom/android/server/deviceidle/ConstraintController;
+SPLcom/android/server/DeviceIdleController$Injector;->getHandler(Lcom/android/server/DeviceIdleController;)Lcom/android/server/DeviceIdleController$MyHandler;
+SPLcom/android/server/DeviceIdleController$Injector;->getPowerManager()Landroid/os/PowerManager;
+SPLcom/android/server/DeviceIdleController$Injector;->getSensorManager()Landroid/hardware/SensorManager;
+SPLcom/android/server/DeviceIdleController$Injector;->useMotionSensor()Z
+SPLcom/android/server/DeviceIdleController$LocalService;->getPowerSaveTempWhitelistAppIds()[I
+SPLcom/android/server/DeviceIdleController$LocalService;->getPowerSaveWhitelistUserAppIds()[I
+SPLcom/android/server/DeviceIdleController$LocalService;->setAlarmsActive(Z)V
+SPLcom/android/server/DeviceIdleController;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/DeviceIdleController;-><init>(Landroid/content/Context;Lcom/android/server/DeviceIdleController$Injector;)V
+SPLcom/android/server/DeviceIdleController;->becomeActiveLocked(Ljava/lang/String;I)V
+SPLcom/android/server/DeviceIdleController;->becomeActiveLocked(Ljava/lang/String;IJZ)V
+SPLcom/android/server/DeviceIdleController;->becomeInactiveIfAppropriateLocked()V
+SPLcom/android/server/DeviceIdleController;->buildAppIdArray(Landroid/util/ArrayMap;Landroid/util/ArrayMap;Landroid/util/SparseBooleanArray;)[I
+SPLcom/android/server/DeviceIdleController;->exitMaintenanceEarlyIfNeededLocked()V
+SPLcom/android/server/DeviceIdleController;->getAppIdTempWhitelistInternal()[I
+SPLcom/android/server/DeviceIdleController;->getAppIdWhitelistExceptIdleInternal()[I
+SPLcom/android/server/DeviceIdleController;->getAppIdWhitelistInternal()[I
+SPLcom/android/server/DeviceIdleController;->getPowerSaveWhitelistUserAppIds()[I
+SPLcom/android/server/DeviceIdleController;->keyguardShowingLocked(Z)V
+SPLcom/android/server/DeviceIdleController;->onBootPhase(I)V
+SPLcom/android/server/DeviceIdleController;->onStart()V
+SPLcom/android/server/DeviceIdleController;->readConfigFileLocked()V
+SPLcom/android/server/DeviceIdleController;->readConfigFileLocked(Lorg/xmlpull/v1/XmlPullParser;)V
+SPLcom/android/server/DeviceIdleController;->setAlarmsActive(Z)V
+SPLcom/android/server/DeviceIdleController;->updateChargingLocked(Z)V
+SPLcom/android/server/DeviceIdleController;->updateConnectivityState(Landroid/content/Intent;)V
+SPLcom/android/server/DeviceIdleController;->updateInteractivityLocked()V
+SPLcom/android/server/DeviceIdleController;->updateQuickDozeFlagLocked(Z)V
+SPLcom/android/server/DeviceIdleController;->updateWhitelistAppIdsLocked()V
+SPLcom/android/server/DeviceIdleController;->verifyAlarmStateLocked()V
+SPLcom/android/server/DiskStatsService;-><init>(Landroid/content/Context;)V
 SPLcom/android/server/DisplayThread;->ensureThreadLocked()V
 SPLcom/android/server/DisplayThread;->get()Lcom/android/server/DisplayThread;
 SPLcom/android/server/DisplayThread;->getHandler()Landroid/os/Handler;
-SPLcom/android/server/EventLogTags;->writePmCriticalInfo(Ljava/lang/String;)V
-SPLcom/android/server/FgThread;-><init>()V
+SPLcom/android/server/DockObserver;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/DockObserver;->init()V
+SPLcom/android/server/DockObserver;->onBootPhase(I)V
+SPLcom/android/server/DockObserver;->onStart()V
+SPLcom/android/server/DropBoxManagerService$1$1;->run()V
+SPLcom/android/server/DropBoxManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/DropBoxManagerService$2;->add(Landroid/os/DropBoxManager$Entry;)V
+SPLcom/android/server/DropBoxManagerService$2;->isTagEnabled(Ljava/lang/String;)Z
+SPLcom/android/server/DropBoxManagerService$3;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/DropBoxManagerService$4;->onChange(Z)V
+SPLcom/android/server/DropBoxManagerService$EntryFile;-><init>(J)V
+SPLcom/android/server/DropBoxManagerService$EntryFile;-><init>(Ljava/io/File;Ljava/io/File;Ljava/lang/String;JII)V
+SPLcom/android/server/DropBoxManagerService$EntryFile;->getExtension()Ljava/lang/String;
+SPLcom/android/server/DropBoxManagerService$EntryFile;->getFilename()Ljava/lang/String;
+SPLcom/android/server/DropBoxManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/DropBoxManagerService;-><init>(Landroid/content/Context;Ljava/io/File;Landroid/os/Looper;)V
+SPLcom/android/server/DropBoxManagerService;->add(Landroid/os/DropBoxManager$Entry;)V
+SPLcom/android/server/DropBoxManagerService;->createEntry(Ljava/io/File;Ljava/lang/String;I)J
+SPLcom/android/server/DropBoxManagerService;->isTagEnabled(Ljava/lang/String;)Z
+SPLcom/android/server/DropBoxManagerService;->onBootPhase(I)V
+SPLcom/android/server/DropBoxManagerService;->onStart()V
+SPLcom/android/server/DropBoxManagerService;->trimToFit()J
+SPLcom/android/server/DynamicAndroidService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/EntropyMixer;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/EntropyMixer;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/EntropyMixer;->addDeviceSpecificEntropy()V
+SPLcom/android/server/EntropyMixer;->addHwRandomEntropy()V
+SPLcom/android/server/EntropyMixer;->loadInitialEntropy()V
+SPLcom/android/server/EntropyMixer;->writeEntropy()V
+SPLcom/android/server/EventLogTags;->writeNetstatsMobileSample(JJJJJJJJJJJJJ)V
+SPLcom/android/server/EventLogTags;->writeNetstatsWifiSample(JJJJJJJJJJJJJ)V
+SPLcom/android/server/EventLogTags;->writeNotificationCancelAll(IILjava/lang/String;IIIILjava/lang/String;)V
+SPLcom/android/server/EventLogTags;->writeStorageState(Ljava/lang/String;IIJJ)V
+SPLcom/android/server/ExtconStateObserver;->parseStateFromFile(Lcom/android/server/ExtconUEventObserver$ExtconInfo;)Ljava/lang/Object;
+SPLcom/android/server/ExtconUEventObserver$ExtconInfo;->getDevicePath()Ljava/lang/String;
+SPLcom/android/server/ExtconUEventObserver$ExtconInfo;->getExtconInfos(Ljava/lang/String;)Ljava/util/List;
+SPLcom/android/server/ExtconUEventObserver;->extconExists()Z
+SPLcom/android/server/ExtconUEventObserver;->startObserving(Lcom/android/server/ExtconUEventObserver$ExtconInfo;)V
 SPLcom/android/server/FgThread;->ensureThreadLocked()V
 SPLcom/android/server/FgThread;->get()Lcom/android/server/FgThread;
 SPLcom/android/server/FgThread;->getHandler()Landroid/os/Handler;
+SPLcom/android/server/GestureLauncherService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/GestureLauncherService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/GestureLauncherService;-><init>(Landroid/content/Context;Lcom/android/internal/logging/MetricsLogger;)V
+SPLcom/android/server/GestureLauncherService;->isGestureLauncherEnabled(Landroid/content/res/Resources;)Z
+SPLcom/android/server/GestureLauncherService;->onBootPhase(I)V
+SPLcom/android/server/GestureLauncherService;->onStart()V
+SPLcom/android/server/GestureLauncherService;->registerContentObservers()V
+SPLcom/android/server/GestureLauncherService;->unregisterCameraLaunchGesture()V
+SPLcom/android/server/GestureLauncherService;->updateCameraDoubleTapPowerEnabled()V
+SPLcom/android/server/GestureLauncherService;->updateCameraRegistered()V
+SPLcom/android/server/GraphicsStatsService$ActiveBuffer;-><init>(Lcom/android/server/GraphicsStatsService;Landroid/view/IGraphicsStatsCallback;IILjava/lang/String;J)V
+SPLcom/android/server/GraphicsStatsService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/GraphicsStatsService;->fetchActiveBuffersLocked(Landroid/view/IGraphicsStatsCallback;IILjava/lang/String;J)Lcom/android/server/GraphicsStatsService$ActiveBuffer;
+SPLcom/android/server/GraphicsStatsService;->getPfd(Landroid/os/MemoryFile;)Landroid/os/ParcelFileDescriptor;
+SPLcom/android/server/GraphicsStatsService;->normalizeDate(J)Ljava/util/Calendar;
+SPLcom/android/server/GraphicsStatsService;->requestBufferForProcess(Ljava/lang/String;Landroid/view/IGraphicsStatsCallback;)Landroid/os/ParcelFileDescriptor;
+SPLcom/android/server/GraphicsStatsService;->scheduleRotateLocked()V
+SPLcom/android/server/HardwarePropertiesManagerService;-><init>(Landroid/content/Context;)V
 SPLcom/android/server/IntentResolver$1;-><init>()V
+SPLcom/android/server/IntentResolver$1;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+SPLcom/android/server/IntentResolver$IteratorWrapper;->hasNext()Z
+SPLcom/android/server/IntentResolver$IteratorWrapper;->next()Landroid/content/IntentFilter;
+SPLcom/android/server/IntentResolver$IteratorWrapper;->next()Ljava/lang/Object;
 SPLcom/android/server/IntentResolver;-><init>()V
+SPLcom/android/server/IntentResolver;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
+SPLcom/android/server/IntentResolver;->filterIterator()Ljava/util/Iterator;
 SPLcom/android/server/IntentResolver;->filterSet()Ljava/util/Set;
-SPLcom/android/server/IoThread;-><init>()V
+SPLcom/android/server/IntentResolver;->isFilterStopped(Landroid/content/IntentFilter;I)Z
+SPLcom/android/server/IntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
+SPLcom/android/server/IntentResolver;->sortResults(Ljava/util/List;)V
 SPLcom/android/server/IoThread;->ensureThreadLocked()V
 SPLcom/android/server/IoThread;->get()Lcom/android/server/IoThread;
 SPLcom/android/server/IoThread;->getHandler()Landroid/os/Handler;
-SPLcom/android/server/LockGuard$LockInfo;-><init>()V
-SPLcom/android/server/LockGuard$LockInfo;-><init>(Lcom/android/server/LockGuard$1;)V
+SPLcom/android/server/IpSecService$1;->run()V
+SPLcom/android/server/IpSecService$IpSecServiceConfiguration$1;-><init>()V
+SPLcom/android/server/IpSecService$IpSecServiceConfiguration$1;->getNetdInstance()Landroid/net/INetd;
+SPLcom/android/server/IpSecService;->create(Landroid/content/Context;)Lcom/android/server/IpSecService;
+SPLcom/android/server/IpSecService;->isNetdAlive()Z
+SPLcom/android/server/IpSecService;->systemReady()V
+SPLcom/android/server/LocationManagerService$2;->onChange(Z)V
+SPLcom/android/server/LocationManagerService$3;->onChange(Z)V
+SPLcom/android/server/LocationManagerService$8;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/LocationManagerService$LocationProvider;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;Lcom/android/server/LocationManagerService$1;)V
+SPLcom/android/server/LocationManagerService$LocationProvider;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;Z)V
+SPLcom/android/server/LocationManagerService$LocationProvider;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;ZLcom/android/server/LocationManagerService$1;)V
+SPLcom/android/server/LocationManagerService$LocationProvider;->attachLocked(Lcom/android/server/location/AbstractLocationProvider;)V
+SPLcom/android/server/LocationManagerService$LocationProvider;->getName()Ljava/lang/String;
+SPLcom/android/server/LocationManagerService$LocationProvider;->getPropertiesLocked()Lcom/android/internal/location/ProviderProperties;
+SPLcom/android/server/LocationManagerService$LocationProvider;->isUseableForUserLocked(I)Z
+SPLcom/android/server/LocationManagerService$LocationProvider;->isUseableLocked()Z
+SPLcom/android/server/LocationManagerService$LocationProvider;->lambda$onSetEnabled$2$LocationManagerService$LocationProvider(Z)V
+SPLcom/android/server/LocationManagerService$LocationProvider;->lambda$onSetEnabled$2(Lcom/android/server/LocationManagerService$LocationProvider;Z)V
+SPLcom/android/server/LocationManagerService$LocationProvider;->onAllowedChangedLocked()V
+SPLcom/android/server/LocationManagerService$LocationProvider;->onLocationModeChangedLocked()V
+SPLcom/android/server/LocationManagerService$LocationProvider;->onSetEnabled(Z)V
+SPLcom/android/server/LocationManagerService$LocationProvider;->onSetProperties(Lcom/android/internal/location/ProviderProperties;)V
+SPLcom/android/server/LocationManagerService$LocationProvider;->onUseableChangedLocked()V
+SPLcom/android/server/LocationManagerService$LocationProvider;->onUseableChangedLocked(Z)V
+SPLcom/android/server/LocationManagerService$LocationProvider;->onUserChangingLocked()V
+SPLcom/android/server/LocationManagerService$LocationProvider;->setRequestLocked(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+SPLcom/android/server/LocationManagerService$Receiver;-><init>(Lcom/android/server/LocationManagerService;Landroid/location/ILocationListener;Landroid/app/PendingIntent;IILjava/lang/String;Landroid/os/WorkSource;Z)V
+SPLcom/android/server/LocationManagerService$Receiver;->getListener()Landroid/location/ILocationListener;
+SPLcom/android/server/LocationManagerService$Receiver;->updateMonitoring(Z)V
+SPLcom/android/server/LocationManagerService$Receiver;->updateMonitoring(ZZI)Z
+SPLcom/android/server/LocationManagerService$UpdateRecord;-><init>(Lcom/android/server/LocationManagerService;Ljava/lang/String;Landroid/location/LocationRequest;Lcom/android/server/LocationManagerService$Receiver;)V
+SPLcom/android/server/LocationManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/LocationManagerService;->addProviderLocked(Lcom/android/server/LocationManagerService$LocationProvider;)V
+SPLcom/android/server/LocationManagerService;->applyRequirementsLocked(Lcom/android/server/LocationManagerService$LocationProvider;)V
+SPLcom/android/server/LocationManagerService;->checkPackageName(Ljava/lang/String;)V
+SPLcom/android/server/LocationManagerService;->checkResolutionLevelIsSufficientForProviderUseLocked(ILjava/lang/String;)V
+SPLcom/android/server/LocationManagerService;->createSanitizedRequest(Landroid/location/LocationRequest;IZ)Landroid/location/LocationRequest;
+SPLcom/android/server/LocationManagerService;->ensureFallbackFusedProviderPresentLocked([Ljava/lang/String;)V
+SPLcom/android/server/LocationManagerService;->geocoderIsPresent()Z
+SPLcom/android/server/LocationManagerService;->getAllowedResolutionLevel(II)I
+SPLcom/android/server/LocationManagerService;->getMinimumResolutionLevelForProviderUseLocked(Ljava/lang/String;)I
+SPLcom/android/server/LocationManagerService;->getProviders(Landroid/location/Criteria;Z)Ljava/util/List;
+SPLcom/android/server/LocationManagerService;->getReceiverLocked(Landroid/location/ILocationListener;IILjava/lang/String;Landroid/os/WorkSource;Z)Lcom/android/server/LocationManagerService$Receiver;
+SPLcom/android/server/LocationManagerService;->initializeLocked()V
+SPLcom/android/server/LocationManagerService;->initializeProvidersLocked()V
+SPLcom/android/server/LocationManagerService;->isLocationEnabledForUser(I)Z
+SPLcom/android/server/LocationManagerService;->isProviderEnabledForUser(Ljava/lang/String;I)Z
+SPLcom/android/server/LocationManagerService;->lambda$initializeLocked$3$LocationManagerService(II)V
+SPLcom/android/server/LocationManagerService;->lambda$initializeLocked$3(Lcom/android/server/LocationManagerService;II)V
+SPLcom/android/server/LocationManagerService;->linkToListenerDeathNotificationLocked(Landroid/os/IBinder;Lcom/android/server/LocationManagerService$LinkedListenerBase;)Z
+SPLcom/android/server/LocationManagerService;->onBackgroundThrottleWhitelistChangedLocked()V
+SPLcom/android/server/LocationManagerService;->onIgnoreSettingsWhitelistChangedLocked()V
+SPLcom/android/server/LocationManagerService;->onLocationModeChangedLocked(Z)V
+SPLcom/android/server/LocationManagerService;->onProviderAllowedChangedLocked(Z)V
+SPLcom/android/server/LocationManagerService;->onUidImportanceChangedLocked(II)V
+SPLcom/android/server/LocationManagerService;->onUserChangedLocked(I)V
+SPLcom/android/server/LocationManagerService;->requestLocationUpdates(Landroid/location/LocationRequest;Landroid/location/ILocationListener;Landroid/app/PendingIntent;Ljava/lang/String;)V
+SPLcom/android/server/LocationManagerService;->requestLocationUpdatesLocked(Landroid/location/LocationRequest;Lcom/android/server/LocationManagerService$Receiver;ILjava/lang/String;)V
+SPLcom/android/server/LocationManagerService;->systemRunning()V
+SPLcom/android/server/LocationManagerService;->updateGnssDataProviderOnUidImportanceChangedLocked(Landroid/util/ArrayMap;Lcom/android/server/location/RemoteListenerHelper;Ljava/util/function/Function;IZ)V
+SPLcom/android/server/LocationManagerService;->updateProviderUseableLocked(Lcom/android/server/LocationManagerService$LocationProvider;)V
 SPLcom/android/server/LockGuard;->findOrCreateLockInfo(Ljava/lang/Object;)Lcom/android/server/LockGuard$LockInfo;
 SPLcom/android/server/LockGuard;->installLock(Ljava/lang/Object;I)Ljava/lang/Object;
 SPLcom/android/server/LockGuard;->installLock(Ljava/lang/Object;IZ)Ljava/lang/Object;
-SPLcom/android/server/LockGuard;->installNewLock(I)Ljava/lang/Object;
-SPLcom/android/server/LockGuard;->installNewLock(IZ)Ljava/lang/Object;
 SPLcom/android/server/LockGuard;->lockToString(I)Ljava/lang/String;
-SPLcom/android/server/RecoverySystemService$BinderService;-><init>(Lcom/android/server/RecoverySystemService;)V
-SPLcom/android/server/RecoverySystemService$BinderService;-><init>(Lcom/android/server/RecoverySystemService;Lcom/android/server/RecoverySystemService$1;)V
+SPLcom/android/server/LooperStatsService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/LooperStatsService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/LooperStatsService$Lifecycle;->onStart()V
+SPLcom/android/server/LooperStatsService;->initFromSettings()V
+SPLcom/android/server/MmsServiceBroker;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/MmsServiceBroker;->onStart()V
+SPLcom/android/server/MmsServiceBroker;->systemRunning()V
+SPLcom/android/server/MountServiceIdler;->scheduleIdlePass(Landroid/content/Context;)V
+SPLcom/android/server/MountServiceIdler;->tomorrowMidnight()Ljava/util/Calendar;
+SPLcom/android/server/NativeDaemonConnector;-><init>(Lcom/android/server/INativeDaemonConnectorCallbacks;Ljava/lang/String;ILjava/lang/String;ILandroid/os/PowerManager$WakeLock;Landroid/os/Looper;)V
+SPLcom/android/server/NativeDaemonConnector;->listenToSocket()V
+SPLcom/android/server/NativeDaemonConnector;->monitor()V
+SPLcom/android/server/NativeDaemonConnector;->run()V
+SPLcom/android/server/NetworkManagementService$NetdCallbackReceiver;->onDaemonConnected()V
+SPLcom/android/server/NetworkManagementService$NetdTetheringStatsProvider;->getTetherStats(I)Landroid/net/NetworkStats;
+SPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceAdded$5$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;)V
+SPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceAddressRemoved$4$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;Landroid/net/LinkAddress;)V
+SPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceAddressUpdated$3$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;Landroid/net/LinkAddress;)V
+SPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onInterfaceLinkStateChanged$8$NetworkManagementService$NetdUnsolicitedEventListener(Ljava/lang/String;Z)V
+SPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->lambda$onRouteChanged$9$NetworkManagementService$NetdUnsolicitedEventListener(ZLandroid/net/RouteInfo;)V
+SPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceAdded(Ljava/lang/String;)V
+SPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceAddressRemoved(Ljava/lang/String;Ljava/lang/String;II)V
+SPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceAddressUpdated(Ljava/lang/String;Ljava/lang/String;II)V
+SPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onInterfaceLinkStateChanged(Ljava/lang/String;Z)V
+SPLcom/android/server/NetworkManagementService$NetdUnsolicitedEventListener;->onRouteChanged(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/NetworkManagementService$SystemServices;->getNetd()Landroid/net/INetd;
+SPLcom/android/server/NetworkManagementService$SystemServices;->getService(Ljava/lang/String;)Landroid/os/IBinder;
+SPLcom/android/server/NetworkManagementService$SystemServices;->registerLocalService(Lcom/android/server/NetworkManagementInternal;)V
+SPLcom/android/server/NetworkManagementService;-><init>(Landroid/content/Context;Ljava/lang/String;Lcom/android/server/NetworkManagementService$SystemServices;)V
+SPLcom/android/server/NetworkManagementService;->clearInterfaceAddresses(Ljava/lang/String;)V
+SPLcom/android/server/NetworkManagementService;->closeSocketsForFirewallChainLocked(ILjava/lang/String;)V
+SPLcom/android/server/NetworkManagementService;->connectNativeNetdService()V
+SPLcom/android/server/NetworkManagementService;->create(Landroid/content/Context;)Lcom/android/server/NetworkManagementService;
+SPLcom/android/server/NetworkManagementService;->create(Landroid/content/Context;Ljava/lang/String;Lcom/android/server/NetworkManagementService$SystemServices;)Lcom/android/server/NetworkManagementService;
+SPLcom/android/server/NetworkManagementService;->disableIpv6(Ljava/lang/String;)V
+SPLcom/android/server/NetworkManagementService;->getBatteryStats()Lcom/android/internal/app/IBatteryStats;
+SPLcom/android/server/NetworkManagementService;->getFirewallChainName(I)Ljava/lang/String;
+SPLcom/android/server/NetworkManagementService;->getInterfaceConfig(Ljava/lang/String;)Landroid/net/InterfaceConfiguration;
+SPLcom/android/server/NetworkManagementService;->getNetworkStatsSummaryDev()Landroid/net/NetworkStats;
+SPLcom/android/server/NetworkManagementService;->getNetworkStatsSummaryXt()Landroid/net/NetworkStats;
+SPLcom/android/server/NetworkManagementService;->getNetworkStatsTethering(I)Landroid/net/NetworkStats;
+SPLcom/android/server/NetworkManagementService;->getNetworkStatsUidDetail(I[Ljava/lang/String;)Landroid/net/NetworkStats;
+SPLcom/android/server/NetworkManagementService;->invokeForAllObservers(Lcom/android/server/NetworkManagementService$NetworkManagementEventCallback;)V
+SPLcom/android/server/NetworkManagementService;->isBandwidthControlEnabled()Z
+SPLcom/android/server/NetworkManagementService;->listInterfaces()[Ljava/lang/String;
+SPLcom/android/server/NetworkManagementService;->monitor()V
+SPLcom/android/server/NetworkManagementService;->prepareNativeDaemon()V
+SPLcom/android/server/NetworkManagementService;->registerObserver(Landroid/net/INetworkManagementEventObserver;)V
+SPLcom/android/server/NetworkManagementService;->registerTetheringStatsProvider(Landroid/net/ITetheringStatsProvider;Ljava/lang/String;)V
+SPLcom/android/server/NetworkManagementService;->setDataSaverModeEnabled(Z)Z
+SPLcom/android/server/NetworkManagementService;->setFirewallChainEnabled(IZ)V
+SPLcom/android/server/NetworkManagementService;->setFirewallChainState(IZ)V
+SPLcom/android/server/NetworkManagementService;->setFirewallEnabled(Z)V
+SPLcom/android/server/NetworkManagementService;->setFirewallUidRule(III)V
+SPLcom/android/server/NetworkManagementService;->setFirewallUidRuleLocked(III)V
+SPLcom/android/server/NetworkManagementService;->setGlobalAlert(J)V
+SPLcom/android/server/NetworkManagementService;->setInterfaceIpv6PrivacyExtensions(Ljava/lang/String;Z)V
+SPLcom/android/server/NetworkManagementService;->setPermission(Ljava/lang/String;[I)V
+SPLcom/android/server/NetworkManagementService;->setUidCleartextNetworkPolicy(II)V
+SPLcom/android/server/NetworkManagementService;->syncFirewallChainLocked(ILjava/lang/String;)V
+SPLcom/android/server/NetworkManagementService;->systemReady()V
+SPLcom/android/server/NetworkManagementService;->unregisterObserver(Landroid/net/INetworkManagementEventObserver;)V
+SPLcom/android/server/NetworkScoreService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/NetworkScoreService$5;->accept(Landroid/net/INetworkScoreCache;Ljava/lang/Object;)V
+SPLcom/android/server/NetworkScoreService$5;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/NetworkScoreService$DispatchingContentObserver;->observe(Landroid/net/Uri;I)V
+SPLcom/android/server/NetworkScoreService$DispatchingContentObserver;->onChange(ZLandroid/net/Uri;)V
+SPLcom/android/server/NetworkScoreService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/NetworkScoreService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/NetworkScoreService$Lifecycle;->onStart()V
+SPLcom/android/server/NetworkScoreService$ServiceHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/NetworkScoreService;-><init>(Landroid/content/Context;Lcom/android/server/NetworkScorerAppManager;Ljava/util/function/Function;Landroid/os/Looper;)V
+SPLcom/android/server/NetworkScoreService;->bindToScoringServiceIfNeeded(Landroid/net/NetworkScorerAppData;)V
+SPLcom/android/server/NetworkScoreService;->getScoreCacheLists()Ljava/util/Collection;
+SPLcom/android/server/NetworkScoreService;->registerNetworkScoreCache(ILandroid/net/INetworkScoreCache;I)V
+SPLcom/android/server/NetworkScoreService;->registerPackageMonitorIfNeeded()V
+SPLcom/android/server/NetworkScoreService;->sendCacheUpdateCallback(Ljava/util/function/BiConsumer;Ljava/util/Collection;)V
+SPLcom/android/server/NetworkScoreService;->systemReady()V
+SPLcom/android/server/NetworkScoreService;->unbindFromScoringServiceIfNeeded()V
+SPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getInt(Landroid/content/Context;Ljava/lang/String;I)I
+SPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->getString(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/NetworkScorerAppManager$SettingsFacade;->putInt(Landroid/content/Context;Ljava/lang/String;I)Z
+SPLcom/android/server/NetworkScorerAppManager;->getActiveScorer()Landroid/net/NetworkScorerAppData;
+SPLcom/android/server/NetworkScorerAppManager;->getAllValidScorers()Ljava/util/List;
+SPLcom/android/server/NetworkScorerAppManager;->getScorer(Ljava/lang/String;)Landroid/net/NetworkScorerAppData;
+SPLcom/android/server/NetworkScorerAppManager;->migrateNetworkScorerAppSettingIfNeeded()V
+SPLcom/android/server/NetworkScorerAppManager;->setNetworkRecommendationsEnabledSetting(I)V
+SPLcom/android/server/NetworkScorerAppManager;->updateState()V
+SPLcom/android/server/NewNetworkTimeUpdateService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/NewNetworkTimeUpdateService$SettingsObserver;->observe(Landroid/content/Context;)V
+SPLcom/android/server/NewNetworkTimeUpdateService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/NewNetworkTimeUpdateService;->systemRunning()V
+SPLcom/android/server/NsdService$DaemonConnection;-><init>(Lcom/android/server/NsdService$NativeCallbackReceiver;)V
+SPLcom/android/server/NsdService$NativeCallbackReceiver;->awaitConnection()V
+SPLcom/android/server/NsdService$NativeCallbackReceiver;->onDaemonConnected()V
+SPLcom/android/server/NsdService$NsdSettings$1;->isEnabled()Z
+SPLcom/android/server/NsdService$NsdSettings$1;->registerContentObserver(Landroid/net/Uri;Landroid/database/ContentObserver;)V
+SPLcom/android/server/NsdService$NsdStateMachine$EnabledState;->enter()V
+SPLcom/android/server/NsdService$NsdStateMachine;-><init>(Lcom/android/server/NsdService;Ljava/lang/String;Landroid/os/Handler;)V
+SPLcom/android/server/NsdService;-><init>(Landroid/content/Context;Lcom/android/server/NsdService$NsdSettings;Landroid/os/Handler;Lcom/android/server/NsdService$DaemonConnectionSupplier;)V
+SPLcom/android/server/NsdService;->create(Landroid/content/Context;)Lcom/android/server/NsdService;
+SPLcom/android/server/NsdService;->isNsdEnabled()Z
+SPLcom/android/server/PackageWatchdog;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/PackageWatchdog;->getEarliestPackageExpiryLocked()J
+SPLcom/android/server/PackageWatchdog;->getInstance(Landroid/content/Context;)Lcom/android/server/PackageWatchdog;
+SPLcom/android/server/PackageWatchdog;->loadFromFile()V
+SPLcom/android/server/PackageWatchdog;->registerHealthObserver(Lcom/android/server/PackageWatchdog$PackageHealthObserver;)V
+SPLcom/android/server/PackageWatchdog;->rescheduleCleanup()V
+SPLcom/android/server/PersistentDataBlockService$2;->getTestHarnessModeData()[B
+SPLcom/android/server/PersistentDataBlockService$2;->readInternal(JI)[B
+SPLcom/android/server/PersistentDataBlockService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/PersistentDataBlockService;->computeAndWriteDigestLocked()Z
+SPLcom/android/server/PersistentDataBlockService;->doGetOemUnlockEnabled()Z
+SPLcom/android/server/PersistentDataBlockService;->doSetOemUnlockEnabledLocked(Z)V
+SPLcom/android/server/PersistentDataBlockService;->enforceChecksumValidity()Z
+SPLcom/android/server/PersistentDataBlockService;->formatIfOemUnlockEnabled()V
+SPLcom/android/server/PersistentDataBlockService;->formatPartitionLocked(Z)V
+SPLcom/android/server/PersistentDataBlockService;->getAllowedUid(I)I
+SPLcom/android/server/PersistentDataBlockService;->getBlockDeviceSize()J
+SPLcom/android/server/PersistentDataBlockService;->lambda$onStart$0$PersistentDataBlockService()V
+SPLcom/android/server/PersistentDataBlockService;->onBootPhase(I)V
+SPLcom/android/server/PersistentDataBlockService;->onStart()V
+SPLcom/android/server/PinnerService$3;->onUidActive(I)V
+SPLcom/android/server/PinnerService$3;->onUidGone(IZ)V
+SPLcom/android/server/PinnerService$PinRangeSourceStatic;->read(Lcom/android/server/PinnerService$PinRange;)Z
+SPLcom/android/server/PinnerService$PinnerHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/PinnerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/PinnerService;->getApplicationInfoForIntent(Landroid/content/Intent;IZ)Landroid/content/pm/ApplicationInfo;
+SPLcom/android/server/PinnerService;->getCameraInfo(I)Landroid/content/pm/ApplicationInfo;
+SPLcom/android/server/PinnerService;->getUidForKey(I)I
+SPLcom/android/server/PinnerService;->handlePinOnStart()V
+SPLcom/android/server/PinnerService;->handleUidGone(I)V
+SPLcom/android/server/PinnerService;->maybeOpenPinMetaInZip(Ljava/util/zip/ZipFile;Ljava/lang/String;)Ljava/io/InputStream;
+SPLcom/android/server/PinnerService;->maybeOpenZip(Ljava/lang/String;)Ljava/util/zip/ZipFile;
+SPLcom/android/server/PinnerService;->onStart()V
+SPLcom/android/server/PinnerService;->pinApp(IIZ)V
+SPLcom/android/server/PinnerService;->pinApp(ILandroid/content/pm/ApplicationInfo;)V
+SPLcom/android/server/PinnerService;->pinFile(Ljava/lang/String;IZ)Lcom/android/server/PinnerService$PinnedFile;
+SPLcom/android/server/PinnerService;->registerUidListener()V
+SPLcom/android/server/PinnerService;->safeClose(Ljava/io/Closeable;)V
+SPLcom/android/server/PinnerService;->safeClose(Ljava/io/FileDescriptor;)V
+SPLcom/android/server/PinnerService;->unpinApp(I)V
+SPLcom/android/server/PinnerService;->updateActiveState(IZ)V
+SPLcom/android/server/PruneInstantAppsJobService;->schedule(Landroid/content/Context;)V
+SPLcom/android/server/RandomBlock;->close(Ljava/io/Closeable;)V
+SPLcom/android/server/RandomBlock;->fromFile(Ljava/lang/String;)Lcom/android/server/RandomBlock;
+SPLcom/android/server/RandomBlock;->fromStream(Ljava/io/InputStream;)Lcom/android/server/RandomBlock;
+SPLcom/android/server/RandomBlock;->toFile(Ljava/lang/String;Z)V
+SPLcom/android/server/RandomBlock;->truncateIfPossible(Ljava/io/RandomAccessFile;)V
 SPLcom/android/server/RecoverySystemService;-><init>(Landroid/content/Context;)V
 SPLcom/android/server/RecoverySystemService;->onStart()V
 SPLcom/android/server/RescueParty$BootThreshold;-><init>()V
-SPLcom/android/server/RescueParty$Threshold;-><init>(IIJ)V
+SPLcom/android/server/RescueParty$BootThreshold;->getCount()I
+SPLcom/android/server/RescueParty$BootThreshold;->getStart()J
+SPLcom/android/server/RescueParty$BootThreshold;->setCount(I)V
+SPLcom/android/server/RescueParty$BootThreshold;->setStart(J)V
+SPLcom/android/server/RescueParty$Threshold;->incrementAndTest()Z
+SPLcom/android/server/RescueParty;->executeRescueLevel(Landroid/content/Context;)V
 SPLcom/android/server/RescueParty;->isDisabled()Z
 SPLcom/android/server/RescueParty;->isUsbActive()Z
 SPLcom/android/server/RescueParty;->noteBoot(Landroid/content/Context;)V
+SPLcom/android/server/RuntimeService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/SensorNotificationService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/SensorNotificationService;->onBootPhase(I)V
+SPLcom/android/server/SensorNotificationService;->onStart()V
+SPLcom/android/server/SensorPrivacyService$DeathRecipient;-><init>(Lcom/android/server/SensorPrivacyService;Landroid/hardware/ISensorPrivacyListener;)V
+SPLcom/android/server/SensorPrivacyService$SensorPrivacyHandler;->addListener(Landroid/hardware/ISensorPrivacyListener;)V
+SPLcom/android/server/SensorPrivacyService$SensorPrivacyServiceImpl;-><init>(Lcom/android/server/SensorPrivacyService;Landroid/content/Context;)V
+SPLcom/android/server/SensorPrivacyService$SensorPrivacyServiceImpl;->addSensorPrivacyListener(Landroid/hardware/ISensorPrivacyListener;)V
+SPLcom/android/server/SensorPrivacyService$SensorPrivacyServiceImpl;->isSensorPrivacyEnabled()Z
+SPLcom/android/server/SensorPrivacyService$SensorPrivacyServiceImpl;->readPersistedSensorPrivacyEnabledLocked()Z
+SPLcom/android/server/SensorPrivacyService;->onStart()V
+SPLcom/android/server/SerialService;-><init>(Landroid/content/Context;)V
 SPLcom/android/server/ServiceThread;-><init>(Ljava/lang/String;IZ)V
 SPLcom/android/server/ServiceThread;->run()V
+SPLcom/android/server/ServiceWatcher$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/ServiceWatcher;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;IIILandroid/os/Handler;)V
+SPLcom/android/server/ServiceWatcher;->bind(Landroid/content/ComponentName;II)V
+SPLcom/android/server/ServiceWatcher;->bindBestPackage(Z)V
+SPLcom/android/server/ServiceWatcher;->getCurrentPackageName()Ljava/lang/String;
+SPLcom/android/server/ServiceWatcher;->getSignatureSets(Landroid/content/Context;[Ljava/lang/String;)Ljava/util/ArrayList;
+SPLcom/android/server/ServiceWatcher;->isSignatureMatch([Landroid/content/pm/Signature;Ljava/util/List;)Z
+SPLcom/android/server/ServiceWatcher;->lambda$onServiceConnected$3$ServiceWatcher(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+SPLcom/android/server/ServiceWatcher;->lambda$runOnBinder$1$ServiceWatcher(Lcom/android/server/ServiceWatcher$BinderRunner;)V
+SPLcom/android/server/ServiceWatcher;->lambda$runOnBinder$1(Lcom/android/server/ServiceWatcher;Lcom/android/server/ServiceWatcher$BinderRunner;)V
+SPLcom/android/server/ServiceWatcher;->lambda$start$0$ServiceWatcher()V
+SPLcom/android/server/ServiceWatcher;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+SPLcom/android/server/ServiceWatcher;->start()Z
+SPLcom/android/server/ServiceWatcher;->unbind()V
+SPLcom/android/server/StorageManagerService$4;->onVolumeCreated(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/StorageManagerService$4;->onVolumeDestroyed(Ljava/lang/String;)V
+SPLcom/android/server/StorageManagerService$4;->onVolumeInternalPathChanged(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/StorageManagerService$4;->onVolumePathChanged(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/StorageManagerService$4;->onVolumeStateChanged(Ljava/lang/String;I)V
+SPLcom/android/server/StorageManagerService$8;->onFinished(ILandroid/os/PersistableBundle;)V
+SPLcom/android/server/StorageManagerService$8;->onStatus(ILandroid/os/PersistableBundle;)V
+SPLcom/android/server/StorageManagerService$Callbacks;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/StorageManagerService$Callbacks;->invokeCallback(Landroid/os/storage/IStorageEventListener;ILcom/android/internal/os/SomeArgs;)V
+SPLcom/android/server/StorageManagerService$Callbacks;->register(Landroid/os/storage/IStorageEventListener;)V
+SPLcom/android/server/StorageManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/StorageManagerService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/StorageManagerService$Lifecycle;->onStart()V
+SPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->addExternalStoragePolicy(Landroid/os/storage/StorageManagerInternal$ExternalStorageMountPolicy;)V
+SPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->destroySandboxForApp(Ljava/lang/String;Ljava/lang/String;I)V
+SPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->getExternalStorageMountMode(ILjava/lang/String;)I
+SPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->getSandboxId(Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->getVisibleVolumesForUser(I)[Ljava/lang/String;
+SPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->hasExternalStorage(ILjava/lang/String;)Z
+SPLcom/android/server/StorageManagerService$StorageManagerInternalImpl;->onReset(Landroid/os/IVold;)V
+SPLcom/android/server/StorageManagerService$StorageManagerServiceHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/StorageManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/StorageManagerService;->connect()V
+SPLcom/android/server/StorageManagerService;->copyLocaleFromMountService()V
+SPLcom/android/server/StorageManagerService;->dispatchOnFinished(Landroid/os/IVoldTaskListener;ILandroid/os/PersistableBundle;)V
+SPLcom/android/server/StorageManagerService;->dispatchOnStatus(Landroid/os/IVoldTaskListener;ILandroid/os/PersistableBundle;)V
+SPLcom/android/server/StorageManagerService;->findRecordForPath(Ljava/lang/String;)Landroid/os/storage/VolumeRecord;
+SPLcom/android/server/StorageManagerService;->fstrim(ILandroid/os/IVoldTaskListener;)V
+SPLcom/android/server/StorageManagerService;->getDisks()[Landroid/os/storage/DiskInfo;
+SPLcom/android/server/StorageManagerService;->getField(Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/StorageManagerService;->getMountMode(ILjava/lang/String;)I
+SPLcom/android/server/StorageManagerService;->getVolumeList(ILjava/lang/String;I)[Landroid/os/storage/StorageVolume;
+SPLcom/android/server/StorageManagerService;->getVolumeRecords(I)[Landroid/os/storage/VolumeRecord;
+SPLcom/android/server/StorageManagerService;->getVolumes(I)[Landroid/os/storage/VolumeInfo;
+SPLcom/android/server/StorageManagerService;->handleSystemReady()V
+SPLcom/android/server/StorageManagerService;->initIfReadyAndConnected()V
+SPLcom/android/server/StorageManagerService;->isMountDisallowed(Landroid/os/storage/VolumeInfo;)Z
+SPLcom/android/server/StorageManagerService;->killMediaProvider(Ljava/util/List;)V
+SPLcom/android/server/StorageManagerService;->lastMaintenance()J
+SPLcom/android/server/StorageManagerService;->maybeLogMediaMount(Landroid/os/storage/VolumeInfo;I)V
+SPLcom/android/server/StorageManagerService;->monitor()V
+SPLcom/android/server/StorageManagerService;->mount(Landroid/os/storage/VolumeInfo;)V
+SPLcom/android/server/StorageManagerService;->onDaemonConnected()V
+SPLcom/android/server/StorageManagerService;->onKeyguardStateChanged(Z)V
+SPLcom/android/server/StorageManagerService;->onVolumeCreatedLocked(Landroid/os/storage/VolumeInfo;)V
+SPLcom/android/server/StorageManagerService;->onVolumeStateChangedLocked(Landroid/os/storage/VolumeInfo;II)V
+SPLcom/android/server/StorageManagerService;->readSettingsLocked()V
+SPLcom/android/server/StorageManagerService;->refreshIsolatedStorageSettings()V
+SPLcom/android/server/StorageManagerService;->refreshZramSettings()V
+SPLcom/android/server/StorageManagerService;->registerListener(Landroid/os/storage/IStorageEventListener;)V
+SPLcom/android/server/StorageManagerService;->resetIfReadyAndConnected()V
+SPLcom/android/server/StorageManagerService;->runIdleMaintenance(Ljava/lang/Runnable;)V
+SPLcom/android/server/StorageManagerService;->runMaintenance()V
+SPLcom/android/server/StorageManagerService;->scrubPath(Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/StorageManagerService;->servicesReady()V
 SPLcom/android/server/SystemServer;-><init>()V
-SPLcom/android/server/SystemServer;->createSystemContext()V
+SPLcom/android/server/SystemServer;->lambda$startOtherServices$1()V
+SPLcom/android/server/SystemServer;->lambda$startOtherServices$3$SystemServer()V
+SPLcom/android/server/SystemServer;->lambda$startOtherServices$3(Lcom/android/server/SystemServer;)V
+SPLcom/android/server/SystemServer;->lambda$startOtherServices$4$SystemServer(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;ZLcom/android/server/ConnectivityService;Lcom/android/server/NetworkManagementService;Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/IpSecService;Lcom/android/server/net/NetworkStatsService;Lcom/android/server/LocationManagerService;Lcom/android/server/CountryDetectorService;Lcom/android/server/NetworkTimeUpdateService;Lcom/android/server/input/InputManagerService;Lcom/android/server/TelephonyRegistry;Lcom/android/server/media/MediaRouterService;Lcom/android/server/MmsServiceBroker;)V
+SPLcom/android/server/SystemServer;->lambda$startOtherServices$4(Lcom/android/server/SystemServer;Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;ZLcom/android/server/ConnectivityService;Lcom/android/server/NetworkManagementService;Lcom/android/server/net/NetworkPolicyManagerService;Lcom/android/server/IpSecService;Lcom/android/server/net/NetworkStatsService;Lcom/android/server/LocationManagerService;Lcom/android/server/CountryDetectorService;Lcom/android/server/NetworkTimeUpdateService;Lcom/android/server/input/InputManagerService;Lcom/android/server/TelephonyRegistry;Lcom/android/server/media/MediaRouterService;Lcom/android/server/MmsServiceBroker;)V
 SPLcom/android/server/SystemServer;->main([Ljava/lang/String;)V
 SPLcom/android/server/SystemServer;->performPendingShutdown()V
 SPLcom/android/server/SystemServer;->run()V
 SPLcom/android/server/SystemServer;->startBootstrapServices()V
+SPLcom/android/server/SystemServer;->startContentCaptureService(Landroid/content/Context;)V
+SPLcom/android/server/SystemServer;->startCoreServices()V
+SPLcom/android/server/SystemServer;->startOtherServices()V
 SPLcom/android/server/SystemServer;->traceBeginAndSlog(Ljava/lang/String;)V
 SPLcom/android/server/SystemServer;->traceEnd()V
-SPLcom/android/server/SystemServerInitThreadPool;-><init>()V
 SPLcom/android/server/SystemServerInitThreadPool;->get()Lcom/android/server/SystemServerInitThreadPool;
 SPLcom/android/server/SystemServerInitThreadPool;->lambda$submit$0(Ljava/lang/String;Ljava/lang/Runnable;)V
+SPLcom/android/server/SystemServerInitThreadPool;->shutdown()V
 SPLcom/android/server/SystemServerInitThreadPool;->submit(Ljava/lang/Runnable;Ljava/lang/String;)Ljava/util/concurrent/Future;
 SPLcom/android/server/SystemService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/SystemService;->getContext()Landroid/content/Context;
+SPLcom/android/server/SystemService;->getLocalService(Ljava/lang/Class;)Ljava/lang/Object;
 SPLcom/android/server/SystemService;->onBootPhase(I)V
+SPLcom/android/server/SystemService;->onStartUser(I)V
 SPLcom/android/server/SystemService;->publishBinderService(Ljava/lang/String;Landroid/os/IBinder;)V
-SPLcom/android/server/SystemService;->publishBinderService(Ljava/lang/String;Landroid/os/IBinder;Z)V
-SPLcom/android/server/SystemService;->publishBinderService(Ljava/lang/String;Landroid/os/IBinder;ZI)V
-SPLcom/android/server/SystemService;->publishLocalService(Ljava/lang/Class;Ljava/lang/Object;)V
-SPLcom/android/server/SystemServiceManager;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/SystemServiceManager;->isBootCompleted()Z
+SPLcom/android/server/SystemServiceManager;->isRuntimeRestarted()Z
+SPLcom/android/server/SystemServiceManager;->isSafeMode()Z
+SPLcom/android/server/SystemServiceManager;->setSafeMode(Z)V
 SPLcom/android/server/SystemServiceManager;->setStartInfo(ZJJ)V
 SPLcom/android/server/SystemServiceManager;->startService(Lcom/android/server/SystemService;)V
 SPLcom/android/server/SystemServiceManager;->startService(Ljava/lang/Class;)Lcom/android/server/SystemService;
-SPLcom/android/server/SystemServiceManager;->warnIfTooLong(JLcom/android/server/SystemService;Ljava/lang/String;)V
-SPLcom/android/server/ThreadPriorityBooster$1;-><init>(Lcom/android/server/ThreadPriorityBooster;)V
+SPLcom/android/server/SystemServiceManager;->startService(Ljava/lang/String;)Lcom/android/server/SystemService;
+SPLcom/android/server/SystemServiceManager;->startUser(I)V
+SPLcom/android/server/SystemUpdateManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/SystemUpdateManagerService;->loadSystemUpdateInfoLocked()Landroid/os/Bundle;
+SPLcom/android/server/SystemUpdateManagerService;->removeInfoFileAndGetDefaultInfoBundleLocked()Landroid/os/Bundle;
+SPLcom/android/server/TelephonyRegistry$1;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/TelephonyRegistry$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/TelephonyRegistry$Record;->matchPhoneStateListenerEvent(I)Z
+SPLcom/android/server/TelephonyRegistry;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/TelephonyRegistry;->addOnSubscriptionsChangedListener(Ljava/lang/String;Lcom/android/internal/telephony/IOnSubscriptionsChangedListener;)V
+SPLcom/android/server/TelephonyRegistry;->broadcastDataConnectionStateChanged(IZLjava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;ZI)V
+SPLcom/android/server/TelephonyRegistry;->broadcastPreciseDataConnectionStateChanged(IILjava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;I)V
+SPLcom/android/server/TelephonyRegistry;->broadcastServiceStateChanged(Landroid/telephony/ServiceState;II)V
+SPLcom/android/server/TelephonyRegistry;->broadcastSignalStrengthChanged(Landroid/telephony/SignalStrength;II)V
+SPLcom/android/server/TelephonyRegistry;->checkListenerPermission(IILjava/lang/String;Ljava/lang/String;)Z
+SPLcom/android/server/TelephonyRegistry;->checkNotifyPermission(Ljava/lang/String;)Z
+SPLcom/android/server/TelephonyRegistry;->handleRemoveListLocked()V
+SPLcom/android/server/TelephonyRegistry;->idMatch(III)Z
+SPLcom/android/server/TelephonyRegistry;->listen(Ljava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZI)V
+SPLcom/android/server/TelephonyRegistry;->listenForSubscriber(ILjava/lang/String;Lcom/android/internal/telephony/IPhoneStateListener;IZ)V
+SPLcom/android/server/TelephonyRegistry;->notifyActiveDataSubIdChanged(I)V
+SPLcom/android/server/TelephonyRegistry;->notifyCellLocationForSubscriber(ILandroid/os/Bundle;)V
+SPLcom/android/server/TelephonyRegistry;->notifyDataActivityForSubscriber(II)V
+SPLcom/android/server/TelephonyRegistry;->notifyDataConnectionForSubscriber(IIZLjava/lang/String;Ljava/lang/String;Landroid/net/LinkProperties;Landroid/net/NetworkCapabilities;IZ)V
+SPLcom/android/server/TelephonyRegistry;->notifyOtaspChanged(I)V
+SPLcom/android/server/TelephonyRegistry;->notifyPhoneCapabilityChanged(Landroid/telephony/PhoneCapability;)V
+SPLcom/android/server/TelephonyRegistry;->notifyPhysicalChannelConfigurationForSubscriber(ILjava/util/List;)V
+SPLcom/android/server/TelephonyRegistry;->notifyRadioPowerStateChanged(I)V
+SPLcom/android/server/TelephonyRegistry;->notifyServiceStateForPhoneId(IILandroid/telephony/ServiceState;)V
+SPLcom/android/server/TelephonyRegistry;->notifySignalStrengthForPhoneId(IILandroid/telephony/SignalStrength;)V
+SPLcom/android/server/TelephonyRegistry;->systemRunning()V
+SPLcom/android/server/ThreadPriorityBooster$1;->initialValue()Lcom/android/server/ThreadPriorityBooster$PriorityState;
+SPLcom/android/server/ThreadPriorityBooster$1;->initialValue()Ljava/lang/Object;
 SPLcom/android/server/ThreadPriorityBooster;-><init>(II)V
-SPLcom/android/server/UiThread;-><init>()V
+SPLcom/android/server/ThreadPriorityBooster;->setBoostToPriority(I)V
+SPLcom/android/server/UiModeManagerService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/UiModeManagerService$6;->getCurrentModeType()I
+SPLcom/android/server/UiModeManagerService$UserSwitchedReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/UiModeManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/UiModeManagerService;->lambda$onStart$1$UiModeManagerService()V
+SPLcom/android/server/UiModeManagerService;->lambda$onStart$1(Lcom/android/server/UiModeManagerService;)V
+SPLcom/android/server/UiModeManagerService;->onBootPhase(I)V
+SPLcom/android/server/UiModeManagerService;->onStart()V
+SPLcom/android/server/UiModeManagerService;->registerVrStateListener()V
+SPLcom/android/server/UiModeManagerService;->sendConfigurationAndStartDreamOrDockAppLocked(Ljava/lang/String;)V
+SPLcom/android/server/UiModeManagerService;->sendConfigurationLocked()V
+SPLcom/android/server/UiModeManagerService;->updateConfigurationLocked()V
+SPLcom/android/server/UiModeManagerService;->updateLocked(II)V
 SPLcom/android/server/UiThread;->ensureThreadLocked()V
 SPLcom/android/server/UiThread;->get()Lcom/android/server/UiThread;
 SPLcom/android/server/UiThread;->getHandler()Landroid/os/Handler;
 SPLcom/android/server/UiThread;->run()V
-SPLcom/android/server/Watchdog$BinderThreadMonitor;-><init>()V
-SPLcom/android/server/Watchdog$BinderThreadMonitor;-><init>(Lcom/android/server/Watchdog$1;)V
-SPLcom/android/server/Watchdog$HandlerChecker;-><init>(Lcom/android/server/Watchdog;Landroid/os/Handler;Ljava/lang/String;J)V
-SPLcom/android/server/Watchdog$HandlerChecker;->addMonitor(Lcom/android/server/Watchdog$Monitor;)V
-SPLcom/android/server/Watchdog$OpenFdMonitor;-><init>(Ljava/io/File;Ljava/io/File;)V
+SPLcom/android/server/UpdateLockService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/UpdateLockService;->sendLockChangedBroadcast(Z)V
+SPLcom/android/server/VibratorService$1;->onUidGone(IZ)V
+SPLcom/android/server/VibratorService$1;->onUidStateChanged(IIJ)V
+SPLcom/android/server/VibratorService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/VibratorService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/VibratorService;->hasVibrator()Z
+SPLcom/android/server/VibratorService;->systemReady()V
+SPLcom/android/server/VibratorService;->updateInputDeviceVibratorsLocked()Z
+SPLcom/android/server/VibratorService;->updateVibrationIntensityLocked()V
+SPLcom/android/server/VibratorService;->updateVibrators()V
+SPLcom/android/server/Watchdog$BinderThreadMonitor;->monitor()V
+SPLcom/android/server/Watchdog$HandlerChecker;->run()V
+SPLcom/android/server/Watchdog$HandlerChecker;->scheduleCheckLocked()V
 SPLcom/android/server/Watchdog$OpenFdMonitor;->create()Lcom/android/server/Watchdog$OpenFdMonitor;
 SPLcom/android/server/Watchdog;-><init>()V
 SPLcom/android/server/Watchdog;->addMonitor(Lcom/android/server/Watchdog$Monitor;)V
 SPLcom/android/server/Watchdog;->addThread(Landroid/os/Handler;)V
 SPLcom/android/server/Watchdog;->addThread(Landroid/os/Handler;J)V
 SPLcom/android/server/Watchdog;->getInstance()Lcom/android/server/Watchdog;
-SPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$y4b5S_CLdUbDV0ejaQDagLXGZRg;-><init>()V
-SPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$y4b5S_CLdUbDV0ejaQDagLXGZRg;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
-SPLcom/android/server/am/-$$Lambda$RecentTasks$NgzE6eN0wIO1cgLW7RzciPDBTHk;-><init>()V
-SPLcom/android/server/am/-$$Lambda$RunningTasks$BGar3HlUsTw-0HzSmfkEWly0moY;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$1RAH1a7gRlnrDczBty2_cTiNlBI;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$3Qs2duXCIzQ1W3uon7k5iYUmOy8;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$5xMsPmGMl_n12-F1m2p9OBuXGrA;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$FNdlAMBaRkRCa4U_pc-uamD9VHw;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$IPqcWaWHIL4UnZEYJhAve5H7KmE;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$K9kaSj6_p5pzfyRh9i93xiC9T3s;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$Ln9-GPCsfrWRlWBInk_Po_Uv-_U;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$O2UuB84QeMcZfsRHiuiFSTwwWHY;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$YDk9fnP8p2R_OweiU9rSGaheQeE;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$YVmGNqlD5lzQCN49aly8kWWz1po;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$a1rNhcYLIsgLeCng0_osaimgbqE;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$bteC39aBoUFmJeWf3dk2BX1xZ6k;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$d9Depygk2x7Vm_pl1RSk9_SSjvA;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$grn5FwM5ofT98exjpSvrJhz-e7s;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$iVGVcx2Ee37igl6ebl_htq_WO9o;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$kftD881t3KfWCASQEbeTkieVI2M;-><init>()V
-SPLcom/android/server/am/-$$Lambda$TaskChangeNotificationController$sw023kIrIGSeLwYwKC0ioKX3zEA;-><init>()V
-SPLcom/android/server/am/ActiveServices$1;-><init>(Lcom/android/server/am/ActiveServices;)V
+SPLcom/android/server/Watchdog;->init(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;)V
+SPLcom/android/server/Watchdog;->processStarted(Ljava/lang/String;I)V
+SPLcom/android/server/Watchdog;->run()V
+SPLcom/android/server/WiredAccessoryManager$1;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver;->init()V
+SPLcom/android/server/WiredAccessoryManager$WiredAccessoryObserver;->makeObservedUEventList()Ljava/util/List;
+SPLcom/android/server/WiredAccessoryManager;-><init>(Landroid/content/Context;Lcom/android/server/input/InputManagerService;)V
+SPLcom/android/server/WiredAccessoryManager;->notifyWiredAccessoryChanged(JII)V
+SPLcom/android/server/WiredAccessoryManager;->onSystemReady()V
+SPLcom/android/server/WiredAccessoryManager;->switchCodeToString(II)Ljava/lang/String;
+SPLcom/android/server/WiredAccessoryManager;->systemReady()V
+SPLcom/android/server/WiredAccessoryManager;->updateLocked(Ljava/lang/String;I)V
+SPLcom/android/server/ZramWriteback;->scheduleZramWriteback(Landroid/content/Context;)V
+SPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$5vwr6qV-eqdCr73CeDmVnsJlZHM;-><init>()V
+SPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$5vwr6qV-eqdCr73CeDmVnsJlZHM;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$CNt8wbTQCYcsUnUkUCQHtKqr-tY;->acceptOrThrow(Ljava/lang/Object;)V
+SPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$Gu-W_dQ2mWyy8l4tm19TzFxGbeM;-><init>()V
+SPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$K4sS36agT2_B03tVUTy8mldugxY;->acceptOrThrow(Ljava/lang/Object;)V
+SPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$RFkfb_W9wnTTs_gy8Dg3k2uQOYQ;->run()V
+SPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$_rvRsbhZRBJitXrpMqI0NptLUa8;->acceptOrThrow(Ljava/lang/Object;)V
+SPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$heq1MRdQjg8BGWFbpV3PEpnDVcg;-><init>()V
+SPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$heq1MRdQjg8BGWFbpV3PEpnDVcg;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$mAPLBShddfLlktd9Q8jVo04VVXo;-><init>()V
+SPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$mAPLBShddfLlktd9Q8jVo04VVXo;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$w0ifSldCn8nADYgU7v1foSdmfe0;-><init>()V
+SPLcom/android/server/accessibility/-$$Lambda$AccessibilityManagerService$w0ifSldCn8nADYgU7v1foSdmfe0;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService$1;->onPackageRemoved(Ljava/lang/String;I)V
+SPLcom/android/server/accessibility/AccessibilityManagerService$1;->onSomePackagesChanged()V
+SPLcom/android/server/accessibility/AccessibilityManagerService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityContentObserver;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/os/Handler;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityContentObserver;->register(Landroid/content/ContentResolver;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->getValidDisplayList()Ljava/util/ArrayList;
+SPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->initializeDisplayList()V
+SPLcom/android/server/accessibility/AccessibilityManagerService$AccessibilityDisplayListener;->onDisplayChanged(I)V
+SPLcom/android/server/accessibility/AccessibilityManagerService$Client;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;Landroid/view/accessibility/IAccessibilityManagerClient;ILcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/accessibility/AccessibilityManagerService$Lifecycle;->onStart()V
+SPLcom/android/server/accessibility/AccessibilityManagerService$RemoteAccessibilityConnection;->unlinkToDeath()V
+SPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->isCallerInteractingAcrossUsers(I)Z
+SPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->resolveCallingUserIdEnforcingPermissionsLocked(I)I
+SPLcom/android/server/accessibility/AccessibilityManagerService$SecurityPolicy;->resolveProfileParentLocked(I)I
+SPLcom/android/server/accessibility/AccessibilityManagerService$UserState;-><init>(Lcom/android/server/accessibility/AccessibilityManagerService;I)V
+SPLcom/android/server/accessibility/AccessibilityManagerService$UserState;->getBindInstantServiceAllowed()Z
+SPLcom/android/server/accessibility/AccessibilityManagerService$UserState;->getClientState()I
+SPLcom/android/server/accessibility/AccessibilityManagerService$UserState;->isHandlingAccessibilityEvents()Z
+SPLcom/android/server/accessibility/AccessibilityManagerService$UserState;->onSwitchToAnotherUserLocked()V
+SPLcom/android/server/accessibility/AccessibilityManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->addClient(Landroid/view/accessibility/IAccessibilityManagerClient;I)J
+SPLcom/android/server/accessibility/AccessibilityManagerService;->canRegisterService(Landroid/content/pm/ServiceInfo;)Z
+SPLcom/android/server/accessibility/AccessibilityManagerService;->computeRelevantEventTypesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)I
+SPLcom/android/server/accessibility/AccessibilityManagerService;->getEnabledAccessibilityServiceList(II)Ljava/util/List;
+SPLcom/android/server/accessibility/AccessibilityManagerService;->getRecommendedTimeoutMillis()J
+SPLcom/android/server/accessibility/AccessibilityManagerService;->getUserState(I)Lcom/android/server/accessibility/AccessibilityManagerService$UserState;
+SPLcom/android/server/accessibility/AccessibilityManagerService;->getValidDisplayList()Ljava/util/ArrayList;
+SPLcom/android/server/accessibility/AccessibilityManagerService;->isClientInPackageWhitelist(Landroid/accessibilityservice/AccessibilityServiceInfo;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)Z
+SPLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateRelevantEventsLocked$0$AccessibilityManagerService(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateRelevantEventsLocked$0(Lcom/android/server/accessibility/AccessibilityManagerService;Lcom/android/server/accessibility/AccessibilityManagerService$UserState;Lcom/android/server/accessibility/AccessibilityManagerService$Client;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->lambda$updateRelevantEventsLocked$1$AccessibilityManagerService(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->notifyAccessibilityButtonVisibilityChanged(Z)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->notifyAccessibilityButtonVisibilityChangedLocked(Z)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->onUserStateChangedLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->readAccessibilityButtonSettingsLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
+SPLcom/android/server/accessibility/AccessibilityManagerService;->readAccessibilityShortcutSettingLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
+SPLcom/android/server/accessibility/AccessibilityManagerService;->readComponentNamesFromStringLocked(Ljava/lang/String;Ljava/util/Set;Z)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->readConfigurationForUserStateLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
+SPLcom/android/server/accessibility/AccessibilityManagerService;->readEnabledAccessibilityServicesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
+SPLcom/android/server/accessibility/AccessibilityManagerService;->readInstalledAccessibilityServiceLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
+SPLcom/android/server/accessibility/AccessibilityManagerService;->readMagnificationEnabledSettingsLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
+SPLcom/android/server/accessibility/AccessibilityManagerService;->readTouchExplorationGrantedAccessibilityServicesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
+SPLcom/android/server/accessibility/AccessibilityManagerService;->readUserRecommendedUiTimeoutSettingsLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)Z
+SPLcom/android/server/accessibility/AccessibilityManagerService;->registerBroadcastReceivers()V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->scheduleUpdateClientsIfNeededLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->setPictureInPictureActionReplacingConnection(Landroid/view/accessibility/IAccessibilityInteractionConnection;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->switchUser(I)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityButtonTargetsLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityEnabledSetting(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->updateAccessibilityShortcutLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->updateFilterKeyEventsLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->updateFingerprintGestureHandling(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->updateInputFilter(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->updateLegacyCapabilitiesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->updateMagnificationLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->updatePerformGesturesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->updateRecommendedUiTimeoutLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->updateServicesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->updateTouchExplorationLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->updateWindowsForAccessibilityCallbackLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;)V
+SPLcom/android/server/accessibility/AccessibilityManagerService;->userHasListeningMagnificationServicesLocked(Lcom/android/server/accessibility/AccessibilityManagerService$UserState;I)Z
+SPLcom/android/server/accessibility/UiAutomationManager;->canRetrieveInteractiveWindowsLocked()Z
+SPLcom/android/server/accessibility/UiAutomationManager;->getServiceInfo()Landroid/accessibilityservice/AccessibilityServiceInfo;
+SPLcom/android/server/accessibility/UiAutomationManager;->isTouchExplorationEnabledLocked()Z
+SPLcom/android/server/accessibility/UiAutomationManager;->isUiAutomationRunningLocked()Z
+SPLcom/android/server/accessibility/UiAutomationManager;->suppressingAccessibilityServicesLocked()Z
+SPLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;-><init>(Lcom/android/server/accounts/AccountAuthenticatorCache$1;)V
+SPLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;->createFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/accounts/AuthenticatorDescription;
+SPLcom/android/server/accounts/AccountAuthenticatorCache$MySerializer;->createFromXml(Lorg/xmlpull/v1/XmlPullParser;)Ljava/lang/Object;
+SPLcom/android/server/accounts/AccountAuthenticatorCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Landroid/accounts/AuthenticatorDescription;
+SPLcom/android/server/accounts/AccountAuthenticatorCache;->parseServiceAttributes(Landroid/content/res/Resources;Ljava/lang/String;Landroid/util/AttributeSet;)Ljava/lang/Object;
+SPLcom/android/server/accounts/AccountManagerService$AccountManagerInternalImpl;->addOnAppPermissionChangeListener(Landroid/accounts/AccountManagerInternal$OnAppPermissionChangeListener;)V
+SPLcom/android/server/accounts/AccountManagerService$Injector;->addLocalService(Landroid/accounts/AccountManagerInternal;)V
+SPLcom/android/server/accounts/AccountManagerService$Injector;->getAccountAuthenticatorCache()Lcom/android/server/accounts/IAccountAuthenticatorCache;
+SPLcom/android/server/accounts/AccountManagerService$Injector;->getContext()Landroid/content/Context;
+SPLcom/android/server/accounts/AccountManagerService$Injector;->getDeDatabaseName(I)Ljava/lang/String;
+SPLcom/android/server/accounts/AccountManagerService$Injector;->getMessageHandlerLooper()Landroid/os/Looper;
+SPLcom/android/server/accounts/AccountManagerService$Injector;->getPreNDatabaseName(I)Ljava/lang/String;
+SPLcom/android/server/accounts/AccountManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/accounts/AccountManagerService$Lifecycle;->onStart()V
+SPLcom/android/server/accounts/AccountManagerService$UserAccounts;-><init>(Landroid/content/Context;ILjava/io/File;Ljava/io/File;)V
+SPLcom/android/server/accounts/AccountManagerService;-><init>(Lcom/android/server/accounts/AccountManagerService$Injector;)V
+SPLcom/android/server/accounts/AccountManagerService;->filterAccounts(Lcom/android/server/accounts/AccountManagerService$UserAccounts;[Landroid/accounts/Account;ILjava/lang/String;Z)[Landroid/accounts/Account;
+SPLcom/android/server/accounts/AccountManagerService;->filterSharedAccounts(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/util/Map;ILjava/lang/String;)Ljava/util/Map;
+SPLcom/android/server/accounts/AccountManagerService;->getAccountsAsUser(Ljava/lang/String;ILjava/lang/String;)[Landroid/accounts/Account;
+SPLcom/android/server/accounts/AccountManagerService;->getAccountsAsUserForPackage(Ljava/lang/String;ILjava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;
+SPLcom/android/server/accounts/AccountManagerService;->getAccountsFromCache(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Ljava/lang/String;ILjava/lang/String;Z)[Landroid/accounts/Account;
+SPLcom/android/server/accounts/AccountManagerService;->getAccountsInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;ILjava/lang/String;Ljava/util/List;Z)[Landroid/accounts/Account;
+SPLcom/android/server/accounts/AccountManagerService;->getAuthenticatorTypeAndUIDForUser(Lcom/android/server/accounts/IAccountAuthenticatorCache;I)Ljava/util/HashMap;
+SPLcom/android/server/accounts/AccountManagerService;->getTypesForCaller(IIZ)Ljava/util/List;
+SPLcom/android/server/accounts/AccountManagerService;->getUserAccounts(I)Lcom/android/server/accounts/AccountManagerService$UserAccounts;
+SPLcom/android/server/accounts/AccountManagerService;->isLocalUnlockedUser(I)Z
+SPLcom/android/server/accounts/AccountManagerService;->purgeOldGrants(Lcom/android/server/accounts/AccountManagerService$UserAccounts;)V
+SPLcom/android/server/accounts/AccountManagerService;->resolveAccountVisibility(Landroid/accounts/Account;Ljava/lang/String;Lcom/android/server/accounts/AccountManagerService$UserAccounts;)Ljava/lang/Integer;
+SPLcom/android/server/accounts/AccountManagerService;->validateAccountsInternal(Lcom/android/server/accounts/AccountManagerService$UserAccounts;Z)V
+SPLcom/android/server/accounts/AccountsDb$DeDatabaseHelper;->onOpen(Landroid/database/sqlite/SQLiteDatabase;)V
+SPLcom/android/server/accounts/AccountsDb;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+SPLcom/android/server/accounts/AccountsDb;->create(Landroid/content/Context;ILjava/io/File;Ljava/io/File;)Lcom/android/server/accounts/AccountsDb;
+SPLcom/android/server/accounts/AccountsDb;->findAllDeAccounts()Ljava/util/Map;
+SPLcom/android/server/accounts/AccountsDb;->findAllUidGrants()Ljava/util/List;
+SPLcom/android/server/accounts/AccountsDb;->findAllVisibilityValues()Ljava/util/Map;
+SPLcom/android/server/accounts/AccountsDb;->findMetaAuthUid()Ljava/util/Map;
+SPLcom/android/server/accounts/AccountsDb;->isCeDatabaseAttached()Z
+SPLcom/android/server/adb/AdbDebuggingManager$AdbKeyStore;->getKeyMapFromFile()Ljava/util/Map;
+SPLcom/android/server/adb/AdbDebuggingManager;->getAdbFile(Ljava/lang/String;)Ljava/io/File;
+SPLcom/android/server/adb/AdbService$AdbHandler;-><init>(Lcom/android/server/adb/AdbService;Landroid/os/Looper;)V
+SPLcom/android/server/adb/AdbService$AdbHandler;->containsFunction(Ljava/lang/String;Ljava/lang/String;)Z
+SPLcom/android/server/adb/AdbService$AdbManagerInternalImpl;->isAdbEnabled()Z
+SPLcom/android/server/adb/AdbService$AdbManagerInternalImpl;->registerTransport(Landroid/debug/IAdbTransport;)V
+SPLcom/android/server/adb/AdbService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/adb/AdbService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/adb/AdbService$Lifecycle;->onStart()V
+SPLcom/android/server/adb/AdbService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/adb/AdbService;->systemReady()V
+SPLcom/android/server/am/-$$Lambda$ActivityManagerService$30I5N5ZS7997YvRBJqVkTZMPd6M;->run()V
+SPLcom/android/server/am/-$$Lambda$ActivityManagerService$XMDHDkKdzWb8nQlDZRKevGp6Oa8;-><init>()V
+SPLcom/android/server/am/-$$Lambda$ActivityManagerService$Z3G4KWA2tlTOhqhFtAvVby1SjyQ;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+SPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$ML8sXrbYk0MflPvsY2cfCYlcU0w;-><init>()V
+SPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$ML8sXrbYk0MflPvsY2cfCYlcU0w;->newThread(Ljava/lang/Runnable;)Ljava/lang/Thread;
+SPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$PpNEY15dspg9oLlkg1OsyjrPTqw;->run()V
+SPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$ddVY5lmqswnSjXppAxPTOHbuzzQ;->run()V
+SPLcom/android/server/am/-$$Lambda$BatteryExternalStatsWorker$r3x3xYmhrLG8kgeNVPXl5EILHwU;->run()V
+SPLcom/android/server/am/-$$Lambda$BatteryStatsService$ZxbqtJ7ozYmzYFkkNV3m_QRd0Sk;->run()V
+SPLcom/android/server/am/-$$Lambda$BatteryStatsService$rRONgIFHr4sujxPESRmo9P5RJ6w;->run()V
+SPLcom/android/server/am/-$$Lambda$OomAdjProfiler$5x1ooCPxPmlzbXvtcEuYDu_6Uz4;-><init>()V
+SPLcom/android/server/am/-$$Lambda$OomAdjProfiler$5x1ooCPxPmlzbXvtcEuYDu_6Uz4;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/am/-$$Lambda$PendingIntentRecord$hlEHdgdG_SS5n3v7IRr7e6QZgLQ;-><init>()V
+SPLcom/android/server/am/-$$Lambda$PendingIntentRecord$hlEHdgdG_SS5n3v7IRr7e6QZgLQ;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/am/-$$Lambda$ProcessList$Clv-1gpwGcZ-lQ1Ghdh2VzSdPZ4;-><init>(Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessRecord;JLjava/lang/String;Ljava/lang/String;[IIILjava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/am/-$$Lambda$ProcessList$Clv-1gpwGcZ-lQ1Ghdh2VzSdPZ4;->run()V
+SPLcom/android/server/am/-$$Lambda$gATL8uvTPRd405IfefK1RL9bNqA;->run()V
+SPLcom/android/server/am/ActiveServices$ServiceDumper;-><init>(Lcom/android/server/am/ActiveServices;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)V
+SPLcom/android/server/am/ActiveServices$ServiceDumper;->dumpHeaderLocked()V
+SPLcom/android/server/am/ActiveServices$ServiceDumper;->dumpLocked()V
+SPLcom/android/server/am/ActiveServices$ServiceDumper;->dumpRemainsLocked()V
+SPLcom/android/server/am/ActiveServices$ServiceDumper;->dumpServiceLocalLocked(Lcom/android/server/am/ServiceRecord;)V
+SPLcom/android/server/am/ActiveServices$ServiceDumper;->dumpUserHeaderLocked(I)V
+SPLcom/android/server/am/ActiveServices$ServiceDumper;->dumpUserRemainsLocked(I)V
+SPLcom/android/server/am/ActiveServices$ServiceLookupResult;-><init>(Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ServiceRecord;Ljava/lang/String;)V
+SPLcom/android/server/am/ActiveServices$ServiceMap;-><init>(Lcom/android/server/am/ActiveServices;Landroid/os/Looper;I)V
+SPLcom/android/server/am/ActiveServices$ServiceMap;->ensureNotStartingBackgroundLocked(Lcom/android/server/am/ServiceRecord;)V
+SPLcom/android/server/am/ActiveServices$ServiceRestarter;-><init>(Lcom/android/server/am/ActiveServices;Lcom/android/server/am/ActiveServices$1;)V
 SPLcom/android/server/am/ActiveServices;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-SPLcom/android/server/am/ActivityLaunchParamsModifier;-><init>(Lcom/android/server/am/ActivityStackSupervisor;)V
+SPLcom/android/server/am/ActiveServices;->attachApplicationLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;)Z
+SPLcom/android/server/am/ActiveServices;->bindServiceLocked(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;Ljava/lang/String;I)I
+SPLcom/android/server/am/ActiveServices;->bringDownDisabledPackageServicesLocked(Ljava/lang/String;Ljava/util/Set;IZZ)Z
+SPLcom/android/server/am/ActiveServices;->bringUpServiceLocked(Lcom/android/server/am/ServiceRecord;IZZZZ)Ljava/lang/String;
+SPLcom/android/server/am/ActiveServices;->bumpServiceExecutingLocked(Lcom/android/server/am/ServiceRecord;ZLjava/lang/String;)V
+SPLcom/android/server/am/ActiveServices;->collectPackageServicesLocked(Ljava/lang/String;Ljava/util/Set;ZZLandroid/util/ArrayMap;)Z
+SPLcom/android/server/am/ActiveServices;->forceStopPackageLocked(Ljava/lang/String;I)V
+SPLcom/android/server/am/ActiveServices;->getServiceMapLocked(I)Lcom/android/server/am/ActiveServices$ServiceMap;
+SPLcom/android/server/am/ActiveServices;->killServicesLocked(Lcom/android/server/am/ProcessRecord;Z)V
+SPLcom/android/server/am/ActiveServices;->newServiceDumperLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;)Lcom/android/server/am/ActiveServices$ServiceDumper;
+SPLcom/android/server/am/ActiveServices;->publishServiceLocked(Lcom/android/server/am/ServiceRecord;Landroid/content/Intent;Landroid/os/IBinder;)V
+SPLcom/android/server/am/ActiveServices;->realStartServiceLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/ProcessRecord;Z)V
+SPLcom/android/server/am/ActiveServices;->requestServiceBindingLocked(Lcom/android/server/am/ServiceRecord;Lcom/android/server/am/IntentBindRecord;ZZ)Z
+SPLcom/android/server/am/ActiveServices;->requestStartTargetPermissionsReviewIfNeededLocked(Lcom/android/server/am/ServiceRecord;Ljava/lang/String;ILandroid/content/Intent;ZI)Z
+SPLcom/android/server/am/ActiveServices;->retrieveServiceLocked(Landroid/content/Intent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IIIZZZZ)Lcom/android/server/am/ActiveServices$ServiceLookupResult;
+SPLcom/android/server/am/ActiveServices;->scheduleServiceTimeoutLocked(Lcom/android/server/am/ProcessRecord;)V
+SPLcom/android/server/am/ActiveServices;->sendServiceArgsLocked(Lcom/android/server/am/ServiceRecord;ZZ)V
+SPLcom/android/server/am/ActiveServices;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;III)V
+SPLcom/android/server/am/ActiveServices;->serviceDoneExecutingLocked(Lcom/android/server/am/ServiceRecord;ZZ)V
+SPLcom/android/server/am/ActiveServices;->startServiceInnerLocked(Lcom/android/server/am/ActiveServices$ServiceMap;Landroid/content/Intent;Lcom/android/server/am/ServiceRecord;ZZZ)Landroid/content/ComponentName;
+SPLcom/android/server/am/ActiveServices;->startServiceLocked(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;IIZLjava/lang/String;IZ)Landroid/content/ComponentName;
+SPLcom/android/server/am/ActiveServices;->stopInBackgroundLocked(I)V
+SPLcom/android/server/am/ActiveServices;->unscheduleServiceRestartLocked(Lcom/android/server/am/ServiceRecord;IZ)Z
+SPLcom/android/server/am/ActiveServices;->updateServiceClientActivitiesLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ConnectionRecord;Z)Z
+SPLcom/android/server/am/ActiveServices;->updateServiceConnectionActivitiesLocked(Lcom/android/server/am/ProcessRecord;)V
+SPLcom/android/server/am/ActiveServices;->updateServiceForegroundLocked(Lcom/android/server/am/ProcessRecord;Z)V
+SPLcom/android/server/am/ActiveUids;->size()I
 SPLcom/android/server/am/ActivityManagerConstants;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Handler;)V
-SPLcom/android/server/am/ActivityManagerConstants;->computeEmptyProcessLimit(I)I
+SPLcom/android/server/am/ActivityManagerConstants;->start(Landroid/content/ContentResolver;)V
+SPLcom/android/server/am/ActivityManagerConstants;->updateConstants()V
 SPLcom/android/server/am/ActivityManagerConstants;->updateMaxCachedProcesses()V
-SPLcom/android/server/am/ActivityManagerService$1;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-SPLcom/android/server/am/ActivityManagerService$2;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-SPLcom/android/server/am/ActivityManagerService$3;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Looper;)V
-SPLcom/android/server/am/ActivityManagerService$5;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;)V
+SPLcom/android/server/am/ActivityManagerService$15;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+SPLcom/android/server/am/ActivityManagerService$15;->performReceive(Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+SPLcom/android/server/am/ActivityManagerService$16;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+SPLcom/android/server/am/ActivityManagerService$17;->run()V
+SPLcom/android/server/am/ActivityManagerService$18;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/lang/String;Ljava/lang/String;Ljava/lang/StringBuilder;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;Landroid/os/DropBoxManager;)V
+SPLcom/android/server/am/ActivityManagerService$19;->compare(Landroid/util/Pair;Landroid/util/Pair;)I
+SPLcom/android/server/am/ActivityManagerService$19;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+SPLcom/android/server/am/ActivityManagerService$21;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+SPLcom/android/server/am/ActivityManagerService$2;->allowFilterResult(Landroid/content/IntentFilter;Ljava/util/List;)Z
+SPLcom/android/server/am/ActivityManagerService$2;->isPackageForFilter(Ljava/lang/String;Landroid/content/IntentFilter;)Z
+SPLcom/android/server/am/ActivityManagerService$2;->isPackageForFilter(Ljava/lang/String;Lcom/android/server/am/BroadcastFilter;)Z
+SPLcom/android/server/am/ActivityManagerService$2;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
+SPLcom/android/server/am/ActivityManagerService$2;->newResult(Lcom/android/server/am/BroadcastFilter;II)Lcom/android/server/am/BroadcastFilter;
 SPLcom/android/server/am/ActivityManagerService$5;->run()V
-SPLcom/android/server/am/ActivityManagerService$HiddenApiSettings;-><init>(Landroid/os/Handler;Landroid/content/Context;)V
-SPLcom/android/server/am/ActivityManagerService$Injector;-><init>()V
-SPLcom/android/server/am/ActivityManagerService$Injector;->getAppOpsService(Ljava/io/File;Landroid/os/Handler;)Lcom/android/server/AppOpsService;
+SPLcom/android/server/am/ActivityManagerService$AppDeathRecipient;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;)V
+SPLcom/android/server/am/ActivityManagerService$AppDeathRecipient;->binderDied()V
+SPLcom/android/server/am/ActivityManagerService$DevelopmentSettingsObserver;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+SPLcom/android/server/am/ActivityManagerService$DevelopmentSettingsObserver;->onChange()V
+SPLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->getPolicy()I
+SPLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->isDisabled()Z
+SPLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->registerObserver()V
+SPLcom/android/server/am/ActivityManagerService$HiddenApiSettings;->update()V
+SPLcom/android/server/am/ActivityManagerService$Injector;->getAppOpsService(Ljava/io/File;Landroid/os/Handler;)Lcom/android/server/appop/AppOpsService;
 SPLcom/android/server/am/ActivityManagerService$Injector;->getUiHandler(Lcom/android/server/am/ActivityManagerService;)Landroid/os/Handler;
-SPLcom/android/server/am/ActivityManagerService$IntentFirewallInterface;-><init>(Lcom/android/server/am/ActivityManagerService;)V
 SPLcom/android/server/am/ActivityManagerService$IntentFirewallInterface;->getAMSLock()Ljava/lang/Object;
-SPLcom/android/server/am/ActivityManagerService$KillHandler;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Looper;)V
+SPLcom/android/server/am/ActivityManagerService$ItemMatcher;->build([Ljava/lang/String;I)I
+SPLcom/android/server/am/ActivityManagerService$ItemMatcher;->match(Ljava/lang/Object;Landroid/content/ComponentName;)Z
 SPLcom/android/server/am/ActivityManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
-SPLcom/android/server/am/ActivityManagerService$Lifecycle;->getService()Lcom/android/server/am/ActivityManagerService;
 SPLcom/android/server/am/ActivityManagerService$Lifecycle;->onBootPhase(I)V
 SPLcom/android/server/am/ActivityManagerService$Lifecycle;->onStart()V
-SPLcom/android/server/am/ActivityManagerService$LocalService;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-SPLcom/android/server/am/ActivityManagerService$MainHandler;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Looper;)V
-SPLcom/android/server/am/ActivityManagerService$UiHandler;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-SPLcom/android/server/am/ActivityManagerService$UpdateConfigurationResult;-><init>()V
-SPLcom/android/server/am/ActivityManagerService$UpdateConfigurationResult;-><init>(Lcom/android/server/am/ActivityManagerService$1;)V
-SPLcom/android/server/am/ActivityManagerService;-><init>(Landroid/content/Context;)V
-SPLcom/android/server/am/ActivityManagerService;->access$1300(Lcom/android/server/am/ActivityManagerService;)V
-SPLcom/android/server/am/ActivityManagerService;->createRecentTasks()Lcom/android/server/am/RecentTasks;
-SPLcom/android/server/am/ActivityManagerService;->createStackSupervisor()Lcom/android/server/am/ActivityStackSupervisor;
+SPLcom/android/server/am/ActivityManagerService$LocalService;->broadcastGlobalConfigurationChanged(IZ)V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->broadcastIntentInPackage(Ljava/lang/String;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;Landroid/os/Bundle;ZZIZ)I
+SPLcom/android/server/am/ActivityManagerService$LocalService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->finishBooting()V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->getCurrentProfileIds()[I
+SPLcom/android/server/am/ActivityManagerService$LocalService;->getCurrentUserId()I
+SPLcom/android/server/am/ActivityManagerService$LocalService;->getUidProcessState(I)I
+SPLcom/android/server/am/ActivityManagerService$LocalService;->hasStartedUserState(I)Z
+SPLcom/android/server/am/ActivityManagerService$LocalService;->isBooted()Z
+SPLcom/android/server/am/ActivityManagerService$LocalService;->isBooting()Z
+SPLcom/android/server/am/ActivityManagerService$LocalService;->isRuntimeRestarted()Z
+SPLcom/android/server/am/ActivityManagerService$LocalService;->isSystemReady()Z
+SPLcom/android/server/am/ActivityManagerService$LocalService;->isUidActive(I)Z
+SPLcom/android/server/am/ActivityManagerService$LocalService;->isUserRunning(II)Z
+SPLcom/android/server/am/ActivityManagerService$LocalService;->killAllBackgroundProcessesExcept(II)V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->notifyNetworkPolicyRulesUpdated(IJ)V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->reportCurKeyguardUsageEvent(Z)V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->scheduleAppGcs()V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->setBooted(Z)V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->setBooting(Z)V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->setDeviceIdleWhitelist([I[I)V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->shouldConfirmCredentials(I)Z
+SPLcom/android/server/am/ActivityManagerService$LocalService;->startIsolatedProcess(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Runnable;)Z
+SPLcom/android/server/am/ActivityManagerService$LocalService;->startProcess(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZLjava/lang/String;Landroid/content/ComponentName;)V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->trimApplications()V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->updateActivityUsageStats(Landroid/content/ComponentName;IILandroid/os/IBinder;Landroid/content/ComponentName;)V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->updateBatteryStats(Landroid/content/ComponentName;IIZ)V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->updateCpuStats()V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->updateForegroundTimeIfOnBattery(Ljava/lang/String;IJ)V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->updateOomAdj()V
+SPLcom/android/server/am/ActivityManagerService$LocalService;->updateOomLevelsForDisplay(I)V
+SPLcom/android/server/am/ActivityManagerService$MainHandler$1;->run()V
+SPLcom/android/server/am/ActivityManagerService$MainHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/am/ActivityManagerService$PermissionController;->checkPermission(Ljava/lang/String;II)Z
+SPLcom/android/server/am/ActivityManagerService$PermissionController;->getPackagesForUid(I)[Ljava/lang/String;
+SPLcom/android/server/am/ActivityManagerService$PermissionController;->isRuntimePermission(Ljava/lang/String;)Z
+SPLcom/android/server/am/ActivityManagerService$PermissionController;->noteOp(Ljava/lang/String;ILjava/lang/String;)I
+SPLcom/android/server/am/ActivityManagerService$PidMap;->get(I)Lcom/android/server/am/ProcessRecord;
+SPLcom/android/server/am/ActivityManagerService$PidMap;->put(ILcom/android/server/am/ProcessRecord;)V
+SPLcom/android/server/am/ActivityManagerService$PidMap;->remove(I)V
+SPLcom/android/server/am/ActivityManagerService$PidMap;->size()I
+SPLcom/android/server/am/ActivityManagerService$PidMap;->valueAt(I)Lcom/android/server/am/ProcessRecord;
+SPLcom/android/server/am/ActivityManagerService$ProfileData;->getProfileApp()Ljava/lang/String;
+SPLcom/android/server/am/ActivityManagerService$ProfileData;->getProfileProc()Lcom/android/server/am/ProcessRecord;
+SPLcom/android/server/am/ActivityManagerService$ProfileData;->getProfilerInfo()Landroid/app/ProfilerInfo;
+SPLcom/android/server/am/ActivityManagerService$UiHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/am/ActivityManagerService;-><init>(Landroid/content/Context;Lcom/android/server/wm/ActivityTaskManagerService;)V
+SPLcom/android/server/am/ActivityManagerService;->addAppLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZZZLjava/lang/String;)Lcom/android/server/am/ProcessRecord;
+SPLcom/android/server/am/ActivityManagerService;->addBackgroundCheckViolationLocked(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/am/ActivityManagerService;->addBroadcastStatLocked(Ljava/lang/String;Ljava/lang/String;IIJ)V
+SPLcom/android/server/am/ActivityManagerService;->addErrorToDropBox(Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Landroid/app/ApplicationErrorReport$CrashInfo;)V
+SPLcom/android/server/am/ActivityManagerService;->addPackageDependency(Ljava/lang/String;)V
+SPLcom/android/server/am/ActivityManagerService;->addProcessToGcListLocked(Lcom/android/server/am/ProcessRecord;)V
+SPLcom/android/server/am/ActivityManagerService;->appDiedLocked(Lcom/android/server/am/ProcessRecord;ILandroid/app/IApplicationThread;Z)V
+SPLcom/android/server/am/ActivityManagerService;->appRestrictedInBackgroundLocked(ILjava/lang/String;I)I
+SPLcom/android/server/am/ActivityManagerService;->appServicesRestrictedInBackgroundLocked(ILjava/lang/String;I)I
+SPLcom/android/server/am/ActivityManagerService;->appendDropBoxProcessHeaders(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/StringBuilder;)V
+SPLcom/android/server/am/ActivityManagerService;->appendMemBucket(Ljava/lang/StringBuilder;JLjava/lang/String;Z)V
+SPLcom/android/server/am/ActivityManagerService;->appendMemInfo(Ljava/lang/StringBuilder;Lcom/android/server/am/ProcessMemInfo;)V
+SPLcom/android/server/am/ActivityManagerService;->attachApplication(Landroid/app/IApplicationThread;J)V
+SPLcom/android/server/am/ActivityManagerService;->attachApplicationLocked(Landroid/app/IApplicationThread;IIJ)Z
+SPLcom/android/server/am/ActivityManagerService;->batteryNeedsCpuUpdate()V
+SPLcom/android/server/am/ActivityManagerService;->batteryPowerChanged(Z)V
+SPLcom/android/server/am/ActivityManagerService;->batterySendBroadcast(Landroid/content/Intent;)V
+SPLcom/android/server/am/ActivityManagerService;->batteryStatsReset()V
+SPLcom/android/server/am/ActivityManagerService;->bindIsolatedService(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/content/Intent;Ljava/lang/String;Landroid/app/IServiceConnection;ILjava/lang/String;Ljava/lang/String;I)I
+SPLcom/android/server/am/ActivityManagerService;->broadcastIntent(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZI)I
+SPLcom/android/server/am/ActivityManagerService;->broadcastIntentInPackage(Ljava/lang/String;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;Ljava/lang/String;Landroid/os/Bundle;ZZIZ)I
+SPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIII)I
+SPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIII)I
+SPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIIIZ)I
+SPLcom/android/server/am/ActivityManagerService;->broadcastIntentLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIZ)I
+SPLcom/android/server/am/ActivityManagerService;->broadcastQueueForIntent(Landroid/content/Intent;)Lcom/android/server/am/BroadcastQueue;
+SPLcom/android/server/am/ActivityManagerService;->checkAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;)Z
+SPLcom/android/server/am/ActivityManagerService;->checkBroadcastFromSystem(Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;IZLjava/util/List;)V
+SPLcom/android/server/am/ActivityManagerService;->checkCallingPermission(Ljava/lang/String;)I
+SPLcom/android/server/am/ActivityManagerService;->checkComponentPermission(Ljava/lang/String;IIIZ)I
+SPLcom/android/server/am/ActivityManagerService;->checkContentProviderAssociation(Lcom/android/server/am/ProcessRecord;ILandroid/content/pm/ProviderInfo;)Ljava/lang/String;
+SPLcom/android/server/am/ActivityManagerService;->checkTime(JLjava/lang/String;)V
+SPLcom/android/server/am/ActivityManagerService;->checkUriPermission(Landroid/net/Uri;IIIILandroid/os/IBinder;)I
+SPLcom/android/server/am/ActivityManagerService;->cleanUpApplicationRecordLocked(Lcom/android/server/am/ProcessRecord;ZZIZ)Z
+SPLcom/android/server/am/ActivityManagerService;->cleanupAppInLaunchingProvidersLocked(Lcom/android/server/am/ProcessRecord;Z)Z
+SPLcom/android/server/am/ActivityManagerService;->collectReceiverComponents(Landroid/content/Intent;Ljava/lang/String;I[I)Ljava/util/List;
+SPLcom/android/server/am/ActivityManagerService;->compatibilityInfoForPackage(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
+SPLcom/android/server/am/ActivityManagerService;->decProviderCountLocked(Lcom/android/server/am/ContentProviderConnection;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;Z)Z
+SPLcom/android/server/am/ActivityManagerService;->dispatchProcessDied(II)V
+SPLcom/android/server/am/ActivityManagerService;->dispatchProcessesChanged()V
+SPLcom/android/server/am/ActivityManagerService;->doLowMemReportIfNeededLocked(Lcom/android/server/am/ProcessRecord;)V
+SPLcom/android/server/am/ActivityManagerService;->dumpProcessList(Ljava/io/PrintWriter;Lcom/android/server/am/ActivityManagerService;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
+SPLcom/android/server/am/ActivityManagerService;->dumpProcessOomList(Ljava/io/PrintWriter;Lcom/android/server/am/ActivityManagerService;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZLjava/lang/String;)Z
+SPLcom/android/server/am/ActivityManagerService;->dumpProcessesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZLjava/lang/String;I)V
+SPLcom/android/server/am/ActivityManagerService;->dumpProcessesToGc(Ljava/io/PrintWriter;ZLjava/lang/String;)Z
+SPLcom/android/server/am/ActivityManagerService;->dumpUids(Ljava/io/PrintWriter;Ljava/lang/String;ILcom/android/server/am/ActiveUids;Ljava/lang/String;Z)Z
+SPLcom/android/server/am/ActivityManagerService;->enforceCallingPermission(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/am/ActivityManagerService;->enqueueUidChangeLocked(Lcom/android/server/am/UidRecord;II)V
+SPLcom/android/server/am/ActivityManagerService;->findAppProcess(Landroid/os/IBinder;Ljava/lang/String;)Lcom/android/server/am/ProcessRecord;
+SPLcom/android/server/am/ActivityManagerService;->finishBooting()V
+SPLcom/android/server/am/ActivityManagerService;->finishReceiver(Landroid/os/IBinder;ILjava/lang/String;Landroid/os/Bundle;ZI)V
+SPLcom/android/server/am/ActivityManagerService;->forceStopPackageLocked(Ljava/lang/String;IZZZZZILjava/lang/String;)Z
+SPLcom/android/server/am/ActivityManagerService;->generateApplicationProvidersLocked(Lcom/android/server/am/ProcessRecord;)Ljava/util/List;
+SPLcom/android/server/am/ActivityManagerService;->getAppOpsService()Lcom/android/internal/app/IAppOpsService;
+SPLcom/android/server/am/ActivityManagerService;->getAppStartModeLocked(ILjava/lang/String;IIZZZ)I
+SPLcom/android/server/am/ActivityManagerService;->getBackgroundLaunchBroadcasts()Landroid/util/ArraySet;
+SPLcom/android/server/am/ActivityManagerService;->getBlockStateForUid(Lcom/android/server/am/UidRecord;)I
+SPLcom/android/server/am/ActivityManagerService;->getCommonServicesLocked(Z)Landroid/util/ArrayMap;
+SPLcom/android/server/am/ActivityManagerService;->getContentProvider(Landroid/app/IApplicationThread;Ljava/lang/String;Ljava/lang/String;IZ)Landroid/app/ContentProviderHolder;
+SPLcom/android/server/am/ActivityManagerService;->getContentProviderImpl(Landroid/app/IApplicationThread;Ljava/lang/String;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;ZI)Landroid/app/ContentProviderHolder;
+SPLcom/android/server/am/ActivityManagerService;->getCurrentUser()Landroid/content/pm/UserInfo;
+SPLcom/android/server/am/ActivityManagerService;->getIntentSender(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;I)Landroid/content/IIntentSender;
+SPLcom/android/server/am/ActivityManagerService;->getKsmInfo()[J
+SPLcom/android/server/am/ActivityManagerService;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
+SPLcom/android/server/am/ActivityManagerService;->getMemoryTrimLevel()I
+SPLcom/android/server/am/ActivityManagerService;->getPackageForIntentSender(Landroid/content/IIntentSender;)Ljava/lang/String;
+SPLcom/android/server/am/ActivityManagerService;->getPackageProcessState(Ljava/lang/String;Ljava/lang/String;)I
+SPLcom/android/server/am/ActivityManagerService;->getProcessMemoryInfo([I)[Landroid/os/Debug$MemoryInfo;
+SPLcom/android/server/am/ActivityManagerService;->getProcessRecordLocked(Ljava/lang/String;IZ)Lcom/android/server/am/ProcessRecord;
+SPLcom/android/server/am/ActivityManagerService;->getRunningAppProcesses()Ljava/util/List;
+SPLcom/android/server/am/ActivityManagerService;->getRunningUserIds()[I
+SPLcom/android/server/am/ActivityManagerService;->getTagForIntentSender(Landroid/content/IIntentSender;Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/am/ActivityManagerService;->getTagForIntentSenderLocked(Lcom/android/server/am/PendingIntentRecord;Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/am/ActivityManagerService;->getTasks(I)Ljava/util/List;
+SPLcom/android/server/am/ActivityManagerService;->getTopAppLocked()Lcom/android/server/am/ProcessRecord;
+SPLcom/android/server/am/ActivityManagerService;->getUidForIntentSender(Landroid/content/IIntentSender;)I
+SPLcom/android/server/am/ActivityManagerService;->getUidFromIntent(Landroid/content/Intent;)I
+SPLcom/android/server/am/ActivityManagerService;->getUidState(I)I
+SPLcom/android/server/am/ActivityManagerService;->grantEphemeralAccessLocked(ILandroid/content/Intent;II)V
+SPLcom/android/server/am/ActivityManagerService;->handleAppDiedLocked(Lcom/android/server/am/ProcessRecord;ZZ)V
+SPLcom/android/server/am/ActivityManagerService;->handleApplicationStrictModeViolation(Landroid/os/IBinder;ILandroid/os/StrictMode$ViolationInfo;)V
+SPLcom/android/server/am/ActivityManagerService;->handleApplicationWtf(Landroid/os/IBinder;Ljava/lang/String;ZLandroid/app/ApplicationErrorReport$ParcelableCrashInfo;)Z
+SPLcom/android/server/am/ActivityManagerService;->handleApplicationWtfInner(IILandroid/os/IBinder;Ljava/lang/String;Landroid/app/ApplicationErrorReport$CrashInfo;)Lcom/android/server/am/ProcessRecord;
+SPLcom/android/server/am/ActivityManagerService;->hasUsageStatsPermission(Ljava/lang/String;)Z
+SPLcom/android/server/am/ActivityManagerService;->incProviderCountLocked(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ContentProviderRecord;Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Z)Lcom/android/server/am/ContentProviderConnection;
 SPLcom/android/server/am/ActivityManagerService;->initPowerManagement()V
+SPLcom/android/server/am/ActivityManagerService;->installSystemProviders()V
+SPLcom/android/server/am/ActivityManagerService;->isAllowedWhileBooting(Landroid/content/pm/ApplicationInfo;)Z
+SPLcom/android/server/am/ActivityManagerService;->isAppStartModeDisabled(ILjava/lang/String;)Z
+SPLcom/android/server/am/ActivityManagerService;->isIntentSenderABroadcast(Landroid/content/IIntentSender;)Z
+SPLcom/android/server/am/ActivityManagerService;->isIntentSenderAForegroundService(Landroid/content/IIntentSender;)Z
+SPLcom/android/server/am/ActivityManagerService;->isIntentSenderAnActivity(Landroid/content/IIntentSender;)Z
+SPLcom/android/server/am/ActivityManagerService;->isPendingBroadcastProcessLocked(I)Z
+SPLcom/android/server/am/ActivityManagerService;->isProcessAliveLocked(Lcom/android/server/am/ProcessRecord;)Z
+SPLcom/android/server/am/ActivityManagerService;->isSingleton(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)Z
+SPLcom/android/server/am/ActivityManagerService;->isUidActive(ILjava/lang/String;)Z
+SPLcom/android/server/am/ActivityManagerService;->isUidActiveLocked(I)Z
+SPLcom/android/server/am/ActivityManagerService;->isUserRunning(II)Z
+SPLcom/android/server/am/ActivityManagerService;->killAllBackgroundProcessesExcept(II)V
+SPLcom/android/server/am/ActivityManagerService;->killApplication(Ljava/lang/String;IILjava/lang/String;)V
+SPLcom/android/server/am/ActivityManagerService;->logStrictModeViolationToDropBox(Lcom/android/server/am/ProcessRecord;Landroid/os/StrictMode$ViolationInfo;)V
+SPLcom/android/server/am/ActivityManagerService;->maybeUpdateProviderUsageStatsLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/am/ActivityManagerService;->monitor()V
+SPLcom/android/server/am/ActivityManagerService;->noteAlarmFinish(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
+SPLcom/android/server/am/ActivityManagerService;->noteAlarmStart(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;)V
+SPLcom/android/server/am/ActivityManagerService;->noteUidProcessState(II)V
+SPLcom/android/server/am/ActivityManagerService;->noteWakeupAlarm(Landroid/content/IIntentSender;Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/am/ActivityManagerService;->notifyPackageUse(Ljava/lang/String;I)V
+SPLcom/android/server/am/ActivityManagerService;->onCoreSettingsChange(Landroid/os/Bundle;)V
+SPLcom/android/server/am/ActivityManagerService;->processClass(Lcom/android/server/am/ProcessRecord;)Ljava/lang/String;
+SPLcom/android/server/am/ActivityManagerService;->publishContentProviders(Landroid/app/IApplicationThread;Ljava/util/List;)V
+SPLcom/android/server/am/ActivityManagerService;->publishService(Landroid/os/IBinder;Landroid/content/Intent;Landroid/os/IBinder;)V
+SPLcom/android/server/am/ActivityManagerService;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
+SPLcom/android/server/am/ActivityManagerService;->registerUidObserver(Landroid/app/IUidObserver;IILjava/lang/String;)V
+SPLcom/android/server/am/ActivityManagerService;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
+SPLcom/android/server/am/ActivityManagerService;->removeContentProvider(Landroid/os/IBinder;Z)V
+SPLcom/android/server/am/ActivityManagerService;->reportCurWakefulnessUsageEventLocked()V
+SPLcom/android/server/am/ActivityManagerService;->reportGlobalUsageEventLocked(I)V
+SPLcom/android/server/am/ActivityManagerService;->reportUidInfoMessageLocked(Ljava/lang/String;Ljava/lang/String;I)V
 SPLcom/android/server/am/ActivityManagerService;->requestPssAllProcsLocked(JZZ)V
+SPLcom/android/server/am/ActivityManagerService;->retrieveSettings()V
+SPLcom/android/server/am/ActivityManagerService;->rotateBroadcastStatsIfNeededLocked()V
+SPLcom/android/server/am/ActivityManagerService;->scheduleAppGcsLocked()V
+SPLcom/android/server/am/ActivityManagerService;->scheduleApplicationInfoChanged(Ljava/util/List;I)V
+SPLcom/android/server/am/ActivityManagerService;->sendIntentSender(Landroid/content/IIntentSender;Landroid/os/IBinder;ILandroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/Bundle;)I
+SPLcom/android/server/am/ActivityManagerService;->sendPackageBroadcastLocked(I[Ljava/lang/String;I)V
+SPLcom/android/server/am/ActivityManagerService;->sendPendingBroadcastsLocked(Lcom/android/server/am/ProcessRecord;)Z
+SPLcom/android/server/am/ActivityManagerService;->serviceDoneExecuting(Landroid/os/IBinder;III)V
 SPLcom/android/server/am/ActivityManagerService;->setInstaller(Lcom/android/server/pm/Installer;)V
+SPLcom/android/server/am/ActivityManagerService;->setRenderThread(I)V
+SPLcom/android/server/am/ActivityManagerService;->setSystemProcess()V
 SPLcom/android/server/am/ActivityManagerService;->setSystemServiceManager(Lcom/android/server/SystemServiceManager;)V
+SPLcom/android/server/am/ActivityManagerService;->setUsageStatsManager(Landroid/app/usage/UsageStatsManagerInternal;)V
+SPLcom/android/server/am/ActivityManagerService;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/am/ActivityManagerService;->skipCurrentReceiverLocked(Lcom/android/server/am/ProcessRecord;)V
+SPLcom/android/server/am/ActivityManagerService;->sortProcessOomList(Ljava/util/List;Ljava/lang/String;)Ljava/util/ArrayList;
 SPLcom/android/server/am/ActivityManagerService;->start()V
-SPLcom/android/server/am/ActivityMetricsLogger$H;-><init>(Lcom/android/server/am/ActivityMetricsLogger;Landroid/os/Looper;)V
-SPLcom/android/server/am/ActivityMetricsLogger;-><init>(Lcom/android/server/am/ActivityStackSupervisor;Landroid/content/Context;Landroid/os/Looper;)V
-SPLcom/android/server/am/ActivityStackSupervisor$ActivityStackSupervisorHandler;-><init>(Lcom/android/server/am/ActivityStackSupervisor;Landroid/os/Looper;)V
-SPLcom/android/server/am/ActivityStackSupervisor$FindTaskResult;-><init>()V
-SPLcom/android/server/am/ActivityStackSupervisor;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Looper;)V
-SPLcom/android/server/am/ActivityStackSupervisor;->createRunningTasks()Lcom/android/server/am/RunningTasks;
-SPLcom/android/server/am/ActivityStackSupervisor;->getChildCount()I
-SPLcom/android/server/am/ActivityStackSupervisor;->initPowerManagement()V
-SPLcom/android/server/am/ActivityStackSupervisor;->initialize()V
-SPLcom/android/server/am/ActivityStackSupervisor;->setRecentTasks(Lcom/android/server/am/RecentTasks;)V
-SPLcom/android/server/am/ActivityStartController$StartHandler;-><init>(Lcom/android/server/am/ActivityStartController;Landroid/os/Looper;)V
-SPLcom/android/server/am/ActivityStartController;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-SPLcom/android/server/am/ActivityStartController;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityStackSupervisor;Lcom/android/server/am/ActivityStarter$Factory;)V
-SPLcom/android/server/am/ActivityStartInterceptor;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityStackSupervisor;)V
-SPLcom/android/server/am/ActivityStartInterceptor;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityStackSupervisor;Landroid/content/Context;Lcom/android/server/am/UserController;)V
-SPLcom/android/server/am/ActivityStarter$DefaultFactory;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityStackSupervisor;Lcom/android/server/am/ActivityStartInterceptor;)V
-SPLcom/android/server/am/ActivityStarter$DefaultFactory;->setController(Lcom/android/server/am/ActivityStartController;)V
-SPLcom/android/server/am/AppErrors;-><init>(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;)V
-SPLcom/android/server/am/AppWarnings$ConfigHandler;-><init>(Lcom/android/server/am/AppWarnings;Landroid/os/Looper;)V
-SPLcom/android/server/am/AppWarnings$UiHandler;-><init>(Lcom/android/server/am/AppWarnings;Landroid/os/Looper;)V
-SPLcom/android/server/am/AppWarnings;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;Ljava/io/File;)V
-SPLcom/android/server/am/AppWarnings;->readConfigFromFileAmsThread()V
-SPLcom/android/server/am/BatteryExternalStatsWorker$1;-><init>(Lcom/android/server/am/BatteryExternalStatsWorker;)V
-SPLcom/android/server/am/BatteryExternalStatsWorker$2;-><init>(Lcom/android/server/am/BatteryExternalStatsWorker;)V
+SPLcom/android/server/am/ActivityManagerService;->startAssociationLocked(ILjava/lang/String;IIJLandroid/content/ComponentName;Ljava/lang/String;)Lcom/android/server/am/ActivityManagerService$Association;
+SPLcom/android/server/am/ActivityManagerService;->startIsolatedProcess(Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Runnable;)Z
+SPLcom/android/server/am/ActivityManagerService;->startObservingNativeCrashes()V
+SPLcom/android/server/am/ActivityManagerService;->startPersistentApps(I)V
+SPLcom/android/server/am/ActivityManagerService;->startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILjava/lang/String;Landroid/content/ComponentName;ZZZ)Lcom/android/server/am/ProcessRecord;
+SPLcom/android/server/am/ActivityManagerService;->startService(Landroid/app/IApplicationThread;Landroid/content/Intent;Ljava/lang/String;ZLjava/lang/String;I)Landroid/content/ComponentName;
+SPLcom/android/server/am/ActivityManagerService;->stopAssociationLocked(ILjava/lang/String;IJLandroid/content/ComponentName;Ljava/lang/String;)V
+SPLcom/android/server/am/ActivityManagerService;->stringifyKBSize(J)Ljava/lang/String;
+SPLcom/android/server/am/ActivityManagerService;->stringifySize(JI)Ljava/lang/String;
+SPLcom/android/server/am/ActivityManagerService;->systemReady(Ljava/lang/Runnable;Landroid/util/TimingsTraceLog;)V
+SPLcom/android/server/am/ActivityManagerService;->trimApplications()V
+SPLcom/android/server/am/ActivityManagerService;->trimApplicationsLocked()V
+SPLcom/android/server/am/ActivityManagerService;->updateActivityUsageStats(Landroid/content/ComponentName;IILandroid/os/IBinder;Landroid/content/ComponentName;)V
+SPLcom/android/server/am/ActivityManagerService;->updateApplicationInfoLocked(Ljava/util/List;I)V
+SPLcom/android/server/am/ActivityManagerService;->updateBatteryStats(Landroid/content/ComponentName;IIZ)V
+SPLcom/android/server/am/ActivityManagerService;->updateCpuStats()V
+SPLcom/android/server/am/ActivityManagerService;->updateForceBackgroundCheck(Z)V
+SPLcom/android/server/am/ActivityManagerService;->updateLockTaskPackages(I[Ljava/lang/String;)V
+SPLcom/android/server/am/ActivityManagerService;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZLcom/android/server/am/ProcessRecord;)V
+SPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked()V
+SPLcom/android/server/am/ActivityManagerService;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;Z)Z
+SPLcom/android/server/am/ActivityManagerService;->updateProcessForegroundLocked(Lcom/android/server/am/ProcessRecord;ZIZ)V
+SPLcom/android/server/am/ActivityManagerService;->validateAssociationAllowedLocked(Ljava/lang/String;ILjava/lang/String;I)Z
+SPLcom/android/server/am/ActivityManagerService;->verifyBroadcastLocked(Landroid/content/Intent;)Landroid/content/Intent;
+SPLcom/android/server/am/AppBindRecord;->dumpInIntentBind(Ljava/io/PrintWriter;Ljava/lang/String;)V
+SPLcom/android/server/am/AppCompactor$MemCompactionHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/am/AppCompactor;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+SPLcom/android/server/am/AppCompactor;->access$700(Lcom/android/server/am/AppCompactor;)Lcom/android/server/am/ActivityManagerService;
+SPLcom/android/server/am/AppCompactor;->access$800(Lcom/android/server/am/AppCompactor;)Ljava/util/ArrayList;
+SPLcom/android/server/am/AppCompactor;->access$900(Lcom/android/server/am/AppCompactor;)Ljava/util/Random;
+SPLcom/android/server/am/AppCompactor;->init()V
+SPLcom/android/server/am/AppCompactor;->updateCompactionActions()V
+SPLcom/android/server/am/AppCompactor;->updateCompactionThrottles()V
+SPLcom/android/server/am/AppCompactor;->updateStatsdSampleRate()V
+SPLcom/android/server/am/AppCompactor;->updateUseCompaction()V
+SPLcom/android/server/am/AppCompactor;->useCompaction()Z
+SPLcom/android/server/am/AppErrors;-><init>(Landroid/content/Context;Lcom/android/server/am/ActivityManagerService;Lcom/android/server/PackageWatchdog;)V
+SPLcom/android/server/am/AppErrors;->dumpLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;ZLjava/lang/String;)Z
+SPLcom/android/server/am/AppErrors;->isBadProcessLocked(Landroid/content/pm/ApplicationInfo;)Z
+SPLcom/android/server/am/AppErrors;->loadAppsNotReportingCrashesFromConfigLocked(Ljava/lang/String;)V
+SPLcom/android/server/am/AppErrors;->resetProcessCrashTimeLocked(Landroid/content/pm/ApplicationInfo;)V
+SPLcom/android/server/am/AppErrors;->resetProcessCrashTimeLocked(ZII)V
+SPLcom/android/server/am/BatteryExternalStatsWorker$1;->run()V
 SPLcom/android/server/am/BatteryExternalStatsWorker$2;->run()V
 SPLcom/android/server/am/BatteryExternalStatsWorker;-><init>(Landroid/content/Context;Lcom/android/internal/os/BatteryStatsImpl;)V
-SPLcom/android/server/am/BatteryExternalStatsWorker;->access$000(Lcom/android/server/am/BatteryExternalStatsWorker;)I
-SPLcom/android/server/am/BatteryExternalStatsWorker;->access$002(Lcom/android/server/am/BatteryExternalStatsWorker;I)I
-SPLcom/android/server/am/BatteryExternalStatsWorker;->access$100(Lcom/android/server/am/BatteryExternalStatsWorker;)Ljava/lang/String;
-SPLcom/android/server/am/BatteryExternalStatsWorker;->access$1000(Lcom/android/server/am/BatteryExternalStatsWorker;)Lcom/android/internal/os/BatteryStatsImpl;
-SPLcom/android/server/am/BatteryExternalStatsWorker;->access$102(Lcom/android/server/am/BatteryExternalStatsWorker;Ljava/lang/String;)Ljava/lang/String;
-SPLcom/android/server/am/BatteryExternalStatsWorker;->access$1102(Lcom/android/server/am/BatteryExternalStatsWorker;J)J
-SPLcom/android/server/am/BatteryExternalStatsWorker;->access$200(Lcom/android/server/am/BatteryExternalStatsWorker;)Landroid/util/IntArray;
-SPLcom/android/server/am/BatteryExternalStatsWorker;->access$300(Lcom/android/server/am/BatteryExternalStatsWorker;)Z
-SPLcom/android/server/am/BatteryExternalStatsWorker;->access$400(Lcom/android/server/am/BatteryExternalStatsWorker;)Z
-SPLcom/android/server/am/BatteryExternalStatsWorker;->access$500(Lcom/android/server/am/BatteryExternalStatsWorker;)Z
-SPLcom/android/server/am/BatteryExternalStatsWorker;->access$502(Lcom/android/server/am/BatteryExternalStatsWorker;Z)Z
-SPLcom/android/server/am/BatteryExternalStatsWorker;->access$602(Lcom/android/server/am/BatteryExternalStatsWorker;Ljava/util/concurrent/Future;)Ljava/util/concurrent/Future;
-SPLcom/android/server/am/BatteryExternalStatsWorker;->access$700(Lcom/android/server/am/BatteryExternalStatsWorker;)V
-SPLcom/android/server/am/BatteryExternalStatsWorker;->access$800(Lcom/android/server/am/BatteryExternalStatsWorker;)Ljava/lang/Object;
-SPLcom/android/server/am/BatteryExternalStatsWorker;->access$900(Lcom/android/server/am/BatteryExternalStatsWorker;Ljava/lang/String;IZZZ)V
 SPLcom/android/server/am/BatteryExternalStatsWorker;->awaitControllerInfo(Landroid/os/SynchronousResultReceiver;)Landroid/os/Parcelable;
 SPLcom/android/server/am/BatteryExternalStatsWorker;->cancelCpuSyncDueToWakelockChange()V
-SPLcom/android/server/am/BatteryExternalStatsWorker;->cancelSyncDueToBatteryLevelChangeLocked()V
-SPLcom/android/server/am/BatteryExternalStatsWorker;->lambda$new$0(Ljava/lang/Runnable;)Ljava/lang/Thread;
+SPLcom/android/server/am/BatteryExternalStatsWorker;->lambda$scheduleCpuSyncDueToWakelockChange$2$BatteryExternalStatsWorker()V
+SPLcom/android/server/am/BatteryExternalStatsWorker;->lambda$scheduleCpuSyncDueToWakelockChange$3$BatteryExternalStatsWorker()V
+SPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleCpuSyncDueToRemovedUid(I)Ljava/util/concurrent/Future;
+SPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleCpuSyncDueToScreenStateChange(ZZ)Ljava/util/concurrent/Future;
+SPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleCpuSyncDueToWakelockChange(J)Ljava/util/concurrent/Future;
+SPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleDelayedSyncLocked(Ljava/util/concurrent/Future;Ljava/lang/Runnable;J)Ljava/util/concurrent/Future;
+SPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleRunnable(Ljava/lang/Runnable;)V
+SPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleSync(Ljava/lang/String;I)Ljava/util/concurrent/Future;
 SPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleSyncLocked(Ljava/lang/String;I)Ljava/util/concurrent/Future;
 SPLcom/android/server/am/BatteryExternalStatsWorker;->scheduleWrite()Ljava/util/concurrent/Future;
-SPLcom/android/server/am/BatteryStatsService$1;-><init>(Lcom/android/server/am/BatteryStatsService;)V
-SPLcom/android/server/am/BatteryStatsService$LocalService;-><init>(Lcom/android/server/am/BatteryStatsService;)V
-SPLcom/android/server/am/BatteryStatsService$LocalService;-><init>(Lcom/android/server/am/BatteryStatsService;Lcom/android/server/am/BatteryStatsService$1;)V
-SPLcom/android/server/am/BatteryStatsService$WakeupReasonThread;-><init>(Lcom/android/server/am/BatteryStatsService;)V
+SPLcom/android/server/am/BatteryExternalStatsWorker;->updateExternalStatsLocked(Ljava/lang/String;IZZZ)V
+SPLcom/android/server/am/BatteryStatsService$1;->getUserIds()[I
 SPLcom/android/server/am/BatteryStatsService$WakeupReasonThread;->run()V
 SPLcom/android/server/am/BatteryStatsService$WakeupReasonThread;->waitWakeup()Ljava/lang/String;
 SPLcom/android/server/am/BatteryStatsService;-><init>(Landroid/content/Context;Ljava/io/File;Landroid/os/Handler;)V
+SPLcom/android/server/am/BatteryStatsService;->addIsolatedUid(II)V
 SPLcom/android/server/am/BatteryStatsService;->fillLowPowerStats(Lcom/android/internal/os/RpmStats;)V
+SPLcom/android/server/am/BatteryStatsService;->fillRailDataStats(Lcom/android/internal/os/RailStats;)V
+SPLcom/android/server/am/BatteryStatsService;->getActiveStatistics()Lcom/android/internal/os/BatteryStatsImpl;
+SPLcom/android/server/am/BatteryStatsService;->getPlatformLowPowerStats()Ljava/lang/String;
+SPLcom/android/server/am/BatteryStatsService;->getService()Lcom/android/internal/app/IBatteryStats;
+SPLcom/android/server/am/BatteryStatsService;->getSubsystemLowPowerStats()Ljava/lang/String;
 SPLcom/android/server/am/BatteryStatsService;->initPowerManagement()V
-SPLcom/android/server/am/BatteryStatsService;->publish()V
-SPLcom/android/server/am/BatteryStatsService;->scheduleWriteToDisk()V
-SPLcom/android/server/am/BroadcastQueue$BroadcastHandler;-><init>(Lcom/android/server/am/BroadcastQueue;Landroid/os/Looper;)V
-SPLcom/android/server/am/BroadcastQueue;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Handler;Ljava/lang/String;JZ)V
-SPLcom/android/server/am/ClientLifecycleManager;-><init>()V
-SPLcom/android/server/am/CompatModePackages$CompatHandler;-><init>(Lcom/android/server/am/CompatModePackages;Landroid/os/Looper;)V
-SPLcom/android/server/am/CompatModePackages;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/io/File;Landroid/os/Handler;)V
-SPLcom/android/server/am/InstrumentationReporter;-><init>()V
-SPLcom/android/server/am/KeyguardController;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityStackSupervisor;)V
-SPLcom/android/server/am/LaunchParamsController$LaunchParams;-><init>()V
-SPLcom/android/server/am/LaunchParamsController;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-SPLcom/android/server/am/LaunchParamsController;->registerDefaultModifiers(Lcom/android/server/am/ActivityStackSupervisor;)V
-SPLcom/android/server/am/LaunchParamsController;->registerModifier(Lcom/android/server/am/LaunchParamsController$LaunchParamsModifier;)V
-SPLcom/android/server/am/LaunchTimeTracker;-><init>()V
-SPLcom/android/server/am/LockTaskController;-><init>(Landroid/content/Context;Lcom/android/server/am/ActivityStackSupervisor;Landroid/os/Handler;)V
-SPLcom/android/server/am/PendingRemoteAnimationRegistry;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Handler;)V
+SPLcom/android/server/am/BatteryStatsService;->isCharging()Z
+SPLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$0$BatteryStatsService(IIIIIIII)V
+SPLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$0(Lcom/android/server/am/BatteryStatsService;IIIIIIII)V
+SPLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$1$BatteryStatsService(IIIIIIII)V
+SPLcom/android/server/am/BatteryStatsService;->lambda$setBatteryState$1(Lcom/android/server/am/BatteryStatsService;IIIIIIII)V
+SPLcom/android/server/am/BatteryStatsService;->noteAlarmFinish(Ljava/lang/String;Landroid/os/WorkSource;I)V
+SPLcom/android/server/am/BatteryStatsService;->noteAlarmStart(Ljava/lang/String;Landroid/os/WorkSource;I)V
+SPLcom/android/server/am/BatteryStatsService;->noteEvent(ILjava/lang/String;I)V
+SPLcom/android/server/am/BatteryStatsService;->noteInteractive(Z)V
+SPLcom/android/server/am/BatteryStatsService;->noteNetworkStatsEnabled()V
+SPLcom/android/server/am/BatteryStatsService;->notePackageUninstalled(Ljava/lang/String;)V
+SPLcom/android/server/am/BatteryStatsService;->notePhoneSignalStrength(Landroid/telephony/SignalStrength;)V
+SPLcom/android/server/am/BatteryStatsService;->notePhoneState(I)V
+SPLcom/android/server/am/BatteryStatsService;->noteProcessFinish(Ljava/lang/String;I)V
+SPLcom/android/server/am/BatteryStatsService;->noteProcessStart(Ljava/lang/String;I)V
+SPLcom/android/server/am/BatteryStatsService;->noteResetBleScan()V
+SPLcom/android/server/am/BatteryStatsService;->noteScreenBrightness(I)V
+SPLcom/android/server/am/BatteryStatsService;->noteScreenState(I)V
+SPLcom/android/server/am/BatteryStatsService;->noteStartSensor(II)V
+SPLcom/android/server/am/BatteryStatsService;->noteStartWakelock(IILjava/lang/String;Ljava/lang/String;IZ)V
+SPLcom/android/server/am/BatteryStatsService;->noteStartWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;IZ)V
+SPLcom/android/server/am/BatteryStatsService;->noteStopWakelock(IILjava/lang/String;Ljava/lang/String;I)V
+SPLcom/android/server/am/BatteryStatsService;->noteStopWakelockFromSource(Landroid/os/WorkSource;ILjava/lang/String;Ljava/lang/String;I)V
+SPLcom/android/server/am/BatteryStatsService;->noteUidProcessState(II)V
+SPLcom/android/server/am/BatteryStatsService;->noteWakupAlarm(Ljava/lang/String;ILandroid/os/WorkSource;Ljava/lang/String;)V
+SPLcom/android/server/am/BatteryStatsService;->noteWifiOff()V
+SPLcom/android/server/am/BatteryStatsService;->noteWifiOn()V
+SPLcom/android/server/am/BatteryStatsService;->noteWifiState(ILjava/lang/String;)V
+SPLcom/android/server/am/BatteryStatsService;->removeIsolatedUid(II)V
+SPLcom/android/server/am/BatteryStatsService;->removeUid(I)V
+SPLcom/android/server/am/BatteryStatsService;->setBatteryState(IIIIIIII)V
+SPLcom/android/server/am/BroadcastConstants;-><init>(Ljava/lang/String;)V
+SPLcom/android/server/am/BroadcastConstants;->startObserving(Landroid/os/Handler;Landroid/content/ContentResolver;)V
+SPLcom/android/server/am/BroadcastConstants;->updateConstants()V
+SPLcom/android/server/am/BroadcastDispatcher$1;->broadcastAlarmComplete(I)V
+SPLcom/android/server/am/BroadcastDispatcher$1;->broadcastAlarmPending(I)V
+SPLcom/android/server/am/BroadcastDispatcher;-><init>(Lcom/android/server/am/BroadcastQueue;Lcom/android/server/am/BroadcastConstants;Landroid/os/Handler;Ljava/lang/Object;)V
+SPLcom/android/server/am/BroadcastDispatcher;->cleanupDeferralsListDisabledReceiversLocked(Ljava/util/ArrayList;Ljava/lang/String;Ljava/util/Set;IZ)Z
+SPLcom/android/server/am/BroadcastDispatcher;->cleanupDisabledPackageReceiversLocked(Ljava/lang/String;Ljava/util/Set;IZ)Z
+SPLcom/android/server/am/BroadcastDispatcher;->enqueueOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
+SPLcom/android/server/am/BroadcastDispatcher;->getActiveBroadcastLocked()Lcom/android/server/am/BroadcastRecord;
+SPLcom/android/server/am/BroadcastDispatcher;->getNextBroadcastLocked(J)Lcom/android/server/am/BroadcastRecord;
+SPLcom/android/server/am/BroadcastDispatcher;->isDeferringLocked(I)Z
+SPLcom/android/server/am/BroadcastDispatcher;->replaceBroadcastLocked(Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;)Lcom/android/server/am/BroadcastRecord;
+SPLcom/android/server/am/BroadcastDispatcher;->replaceBroadcastLocked(Ljava/util/ArrayList;Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;)Lcom/android/server/am/BroadcastRecord;
+SPLcom/android/server/am/BroadcastDispatcher;->retireBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
+SPLcom/android/server/am/BroadcastDispatcher;->scheduleDeferralCheckLocked(Z)V
+SPLcom/android/server/am/BroadcastDispatcher;->start()V
+SPLcom/android/server/am/BroadcastQueue$BroadcastHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/am/BroadcastQueue;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/os/Handler;Ljava/lang/String;Lcom/android/server/am/BroadcastConstants;Z)V
+SPLcom/android/server/am/BroadcastQueue;->addBroadcastToHistoryLocked(Lcom/android/server/am/BroadcastRecord;)V
+SPLcom/android/server/am/BroadcastQueue;->cancelBroadcastTimeoutLocked()V
+SPLcom/android/server/am/BroadcastQueue;->cleanupDisabledPackageReceiversLocked(Ljava/lang/String;Ljava/util/Set;IZ)Z
+SPLcom/android/server/am/BroadcastQueue;->deliverToRegisteredReceiverLocked(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/BroadcastFilter;ZI)V
+SPLcom/android/server/am/BroadcastQueue;->enqueueOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
+SPLcom/android/server/am/BroadcastQueue;->enqueueParallelBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)V
+SPLcom/android/server/am/BroadcastQueue;->finishReceiverLocked(Lcom/android/server/am/BroadcastRecord;ILjava/lang/String;Landroid/os/Bundle;ZZ)Z
+SPLcom/android/server/am/BroadcastQueue;->isSignaturePerm([Ljava/lang/String;)Z
+SPLcom/android/server/am/BroadcastQueue;->maybeAddAllowBackgroundActivityStartsToken(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/BroadcastRecord;)V
+SPLcom/android/server/am/BroadcastQueue;->performReceiveLocked(Lcom/android/server/am/ProcessRecord;Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZI)V
+SPLcom/android/server/am/BroadcastQueue;->performReceiveLocked(Lcom/android/server/am/ProcessRecord;Landroid/content/IIntentReceiver;Landroid/content/Intent;ILjava/lang/String;Landroid/os/Bundle;ZZILcom/android/server/am/BroadcastRecord;)V
+SPLcom/android/server/am/BroadcastQueue;->processCurBroadcastLocked(Lcom/android/server/am/BroadcastRecord;Lcom/android/server/am/ProcessRecord;Z)V
+SPLcom/android/server/am/BroadcastQueue;->processNextBroadcast(Z)V
+SPLcom/android/server/am/BroadcastQueue;->replaceBroadcastLocked(Ljava/util/ArrayList;Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;)Lcom/android/server/am/BroadcastRecord;
+SPLcom/android/server/am/BroadcastQueue;->replaceOrderedBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)Lcom/android/server/am/BroadcastRecord;
+SPLcom/android/server/am/BroadcastQueue;->replaceParallelBroadcastLocked(Lcom/android/server/am/BroadcastRecord;)Lcom/android/server/am/BroadcastRecord;
+SPLcom/android/server/am/BroadcastQueue;->requestStartTargetPermissionsReviewIfNeededLocked(Lcom/android/server/am/BroadcastRecord;Ljava/lang/String;I)Z
+SPLcom/android/server/am/BroadcastQueue;->scheduleBroadcastsLocked()V
+SPLcom/android/server/am/BroadcastQueue;->sendPendingBroadcastsLocked(Lcom/android/server/am/ProcessRecord;)Z
+SPLcom/android/server/am/BroadcastQueue;->setBroadcastTimeoutLocked(J)V
+SPLcom/android/server/am/BroadcastRecord;-><init>(Lcom/android/server/am/BroadcastQueue;Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;Ljava/lang/String;IIZLjava/lang/String;[Ljava/lang/String;ILandroid/app/BroadcastOptions;Ljava/util/List;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;ZZZIZZ)V
+SPLcom/android/server/am/BroadcastRecord;-><init>(Lcom/android/server/am/BroadcastRecord;Landroid/content/Intent;)V
+SPLcom/android/server/am/BroadcastRecord;->getReceiverUid(Ljava/lang/Object;)I
+SPLcom/android/server/am/BroadcastRecord;->toString()Ljava/lang/String;
+SPLcom/android/server/am/BroadcastStats$1;-><init>()V
+SPLcom/android/server/am/BroadcastStats;->addBackgroundCheckViolation(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/am/BroadcastStats;->addBroadcast(Ljava/lang/String;Ljava/lang/String;IIJ)V
+SPLcom/android/server/am/ConnectionRecord;-><init>(Lcom/android/server/am/AppBindRecord;Lcom/android/server/wm/ActivityServiceConnectionsHolder;Landroid/app/IServiceConnection;IILandroid/app/PendingIntent;ILjava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/am/ConnectionRecord;->startAssociationIfNeeded()V
+SPLcom/android/server/am/ConnectionRecord;->toString()Ljava/lang/String;
+SPLcom/android/server/am/ConnectionRecord;->trackProcState(IIJ)V
+SPLcom/android/server/am/ContentProviderConnection;->startAssociationIfNeeded()V
+SPLcom/android/server/am/ContentProviderRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ProviderInfo;Landroid/content/pm/ApplicationInfo;Landroid/content/ComponentName;Z)V
+SPLcom/android/server/am/ContentProviderRecord;->canRunHere(Lcom/android/server/am/ProcessRecord;)Z
+SPLcom/android/server/am/ContentProviderRecord;->hasExternalProcessHandles()Z
+SPLcom/android/server/am/ContentProviderRecord;->newHolder(Lcom/android/server/am/ContentProviderConnection;)Landroid/app/ContentProviderHolder;
+SPLcom/android/server/am/ContentProviderRecord;->setProcess(Lcom/android/server/am/ProcessRecord;)V
+SPLcom/android/server/am/CoreSettingsObserver;->beginObserveCoreSettings()V
+SPLcom/android/server/am/CoreSettingsObserver;->getCoreSettingsLocked()Landroid/os/Bundle;
+SPLcom/android/server/am/CoreSettingsObserver;->populateSettings(Landroid/os/Bundle;Ljava/util/Map;)V
+SPLcom/android/server/am/DumpHeapProvider;-><init>()V
+SPLcom/android/server/am/DumpHeapProvider;->onCreate()Z
+SPLcom/android/server/am/EventLogTags;->writeAmUidActive(I)V
+SPLcom/android/server/am/IntentBindRecord;->collectFlags()I
+SPLcom/android/server/am/IntentBindRecord;->dumpInService(Ljava/io/PrintWriter;Ljava/lang/String;)V
+SPLcom/android/server/am/NativeCrashListener;->run()V
+SPLcom/android/server/am/OomAdjProfiler$CpuTimes;->addCpuTimeMs(J)V
+SPLcom/android/server/am/OomAdjProfiler$CpuTimes;->addCpuTimeMs(JZZ)V
+SPLcom/android/server/am/OomAdjProfiler$CpuTimes;->isEmpty()Z
+SPLcom/android/server/am/OomAdjProfiler;-><init>()V
+SPLcom/android/server/am/OomAdjProfiler;->batteryPowerChanged(Z)V
+SPLcom/android/server/am/OomAdjProfiler;->oomAdjEnded()V
+SPLcom/android/server/am/OomAdjProfiler;->oomAdjStarted()V
+SPLcom/android/server/am/OomAdjProfiler;->reset()V
+SPLcom/android/server/am/OomAdjProfiler;->scheduleSystemServerCpuTimeUpdate()V
+SPLcom/android/server/am/OomAdjProfiler;->updateSystemServerCpuTime(ZZ)V
+SPLcom/android/server/am/OomAdjuster;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessList;Lcom/android/server/am/ActiveUids;)V
+SPLcom/android/server/am/OomAdjuster;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ProcessList;Lcom/android/server/am/ActiveUids;Ljava/lang/Object;)V
+SPLcom/android/server/am/OomAdjuster;->maybeUpdateUsageStatsLocked(Lcom/android/server/am/ProcessRecord;J)V
+SPLcom/android/server/am/OomAdjuster;->shouldSkipDueToCycle(Lcom/android/server/am/ProcessRecord;Lcom/android/server/am/ProcessRecord;IIZ)Z
+SPLcom/android/server/am/OomAdjuster;->updateOomAdjLocked(Lcom/android/server/am/ProcessRecord;Z)Z
+SPLcom/android/server/am/PendingIntentController;-><init>(Landroid/os/Looper;Lcom/android/server/am/UserController;)V
+SPLcom/android/server/am/PendingIntentController;->getIntentSender(ILjava/lang/String;IILandroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILandroid/os/Bundle;)Lcom/android/server/am/PendingIntentRecord;
+SPLcom/android/server/am/PendingIntentController;->onActivityManagerInternalAdded()V
+SPLcom/android/server/am/PendingIntentController;->removePendingIntentsForPackage(Ljava/lang/String;IIZ)Z
+SPLcom/android/server/am/PendingIntentRecord$Key;-><init>(ILjava/lang/String;Landroid/os/IBinder;Ljava/lang/String;I[Landroid/content/Intent;[Ljava/lang/String;ILcom/android/server/wm/SafeActivityOptions;I)V
+SPLcom/android/server/am/PendingIntentRecord$Key;->equals(Ljava/lang/Object;)Z
+SPLcom/android/server/am/PendingIntentRecord$Key;->hashCode()I
+SPLcom/android/server/am/PendingIntentRecord;-><init>(Lcom/android/server/am/PendingIntentController;Lcom/android/server/am/PendingIntentRecord$Key;I)V
+SPLcom/android/server/am/PendingIntentRecord;->completeFinalize()V
+SPLcom/android/server/am/PendingIntentRecord;->finalize()V
+SPLcom/android/server/am/PendingIntentRecord;->sendInner(ILandroid/content/Intent;Ljava/lang/String;Landroid/os/IBinder;Landroid/content/IIntentReceiver;Ljava/lang/String;Landroid/os/IBinder;Ljava/lang/String;IIILandroid/os/Bundle;)I
+SPLcom/android/server/am/ProcessList$IsolatedUidRangeAllocator;-><init>(Lcom/android/server/am/ProcessList;III)V
+SPLcom/android/server/am/ProcessList$KillHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/am/ProcessList$ProcStateMemTracker;-><init>()V
 SPLcom/android/server/am/ProcessList;-><init>()V
+SPLcom/android/server/am/ProcessList;->addProcessNameLocked(Lcom/android/server/am/ProcessRecord;)V
+SPLcom/android/server/am/ProcessList;->appendRamKb(Ljava/lang/StringBuilder;J)V
+SPLcom/android/server/am/ProcessList;->checkSlow(JLjava/lang/String;)V
+SPLcom/android/server/am/ProcessList;->computeNextPssTime(ILcom/android/server/am/ProcessList$ProcStateMemTracker;ZZJ)J
+SPLcom/android/server/am/ProcessList;->dumpLruListHeaderLocked(Ljava/io/PrintWriter;)V
+SPLcom/android/server/am/ProcessList;->getLruSizeLocked()I
+SPLcom/android/server/am/ProcessList;->getMemoryInfo(Landroid/app/ActivityManager$MemoryInfo;)V
+SPLcom/android/server/am/ProcessList;->getProcessRecordLocked(Ljava/lang/String;IZ)Lcom/android/server/am/ProcessRecord;
+SPLcom/android/server/am/ProcessList;->getUidRecordLocked(I)Lcom/android/server/am/UidRecord;
+SPLcom/android/server/am/ProcessList;->handleProcessStartedLocked(Lcom/android/server/am/ProcessRecord;IZJZ)Z
+SPLcom/android/server/am/ProcessList;->handleProcessStartedLocked(Lcom/android/server/am/ProcessRecord;Landroid/os/Process$ProcessStartResult;J)Z
+SPLcom/android/server/am/ProcessList;->haveBackgroundProcessLocked()Z
+SPLcom/android/server/am/ProcessList;->init(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActiveUids;)V
+SPLcom/android/server/am/ProcessList;->isProcStartValidLocked(Lcom/android/server/am/ProcessRecord;J)Ljava/lang/String;
+SPLcom/android/server/am/ProcessList;->killAllBackgroundProcessesExceptLocked(II)V
+SPLcom/android/server/am/ProcessList;->killPackageProcessesLocked(Ljava/lang/String;IIIZZZZZLjava/lang/String;)Z
+SPLcom/android/server/am/ProcessList;->lambda$startProcessLocked$0$ProcessList(Lcom/android/server/am/ProcessRecord;JLjava/lang/String;Ljava/lang/String;[IIILjava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/am/ProcessList;->lambda$startProcessLocked$0(Lcom/android/server/am/ProcessList;Lcom/android/server/am/ProcessRecord;JLjava/lang/String;Ljava/lang/String;[IIILjava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/am/ProcessList;->newProcessRecordLocked(Landroid/content/pm/ApplicationInfo;Ljava/lang/String;ZIZ)Lcom/android/server/am/ProcessRecord;
+SPLcom/android/server/am/ProcessList;->openLmkdSocketLS()Z
+SPLcom/android/server/am/ProcessList;->removeLruProcessLocked(Lcom/android/server/am/ProcessRecord;)V
+SPLcom/android/server/am/ProcessList;->removeProcessNameLocked(Ljava/lang/String;ILcom/android/server/am/ProcessRecord;)Lcom/android/server/am/ProcessRecord;
+SPLcom/android/server/am/ProcessList;->sendPackageBroadcastLocked(I[Ljava/lang/String;I)V
+SPLcom/android/server/am/ProcessList;->setOomAdj(III)V
+SPLcom/android/server/am/ProcessList;->startProcess(Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;I[IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)Landroid/os/Process$ProcessStartResult;
+SPLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
+SPLcom/android/server/am/ProcessList;->startProcessLocked(Lcom/android/server/am/ProcessRecord;Ljava/lang/String;Ljava/lang/String;ZZLjava/lang/String;)Z
+SPLcom/android/server/am/ProcessList;->startProcessLocked(Ljava/lang/String;Landroid/content/pm/ApplicationInfo;ZILjava/lang/String;Landroid/content/ComponentName;ZZIZLjava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/Runnable;)Lcom/android/server/am/ProcessRecord;
+SPLcom/android/server/am/ProcessList;->startProcessLocked(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/android/server/am/ProcessRecord;I[IIILjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)Z
+SPLcom/android/server/am/ProcessList;->updateApplicationInfoLocked(Ljava/util/List;IZ)V
+SPLcom/android/server/am/ProcessList;->updateClientActivitiesOrdering(Lcom/android/server/am/ProcessRecord;III)V
+SPLcom/android/server/am/ProcessList;->updateCoreSettingsLocked(Landroid/os/Bundle;)V
+SPLcom/android/server/am/ProcessList;->updateLruProcessLocked(Lcom/android/server/am/ProcessRecord;ZLcom/android/server/am/ProcessRecord;)V
 SPLcom/android/server/am/ProcessList;->updateOomLevels(IIZ)V
-SPLcom/android/server/am/ProcessStatsService$1;-><init>(Lcom/android/server/am/ProcessStatsService;)V
+SPLcom/android/server/am/ProcessList;->writeLmkd(Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Z
+SPLcom/android/server/am/ProcessList;->writeLmkdCommandLS(Ljava/nio/ByteBuffer;)Z
+SPLcom/android/server/am/ProcessMemInfo;-><init>(Ljava/lang/String;IIILjava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/am/ProcessRecord$PackageList;->containsKey(Ljava/lang/Object;)Z
+SPLcom/android/server/am/ProcessRecord$PackageList;->size()I
+SPLcom/android/server/am/ProcessRecord$PackageList;->valueAt(I)Lcom/android/internal/app/procstats/ProcessStats$ProcessStateHolder;
+SPLcom/android/server/am/ProcessRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;I)V
+SPLcom/android/server/am/ProcessRecord;->addPackage(Ljava/lang/String;JLcom/android/server/am/ProcessStatsService;)Z
+SPLcom/android/server/am/ProcessRecord;->clearWaitingToKill()V
+SPLcom/android/server/am/ProcessRecord;->forceProcessStateUpTo(I)V
+SPLcom/android/server/am/ProcessRecord;->getActiveInstrumentation()Lcom/android/server/am/ActiveInstrumentation;
+SPLcom/android/server/am/ProcessRecord;->getCpuTime()J
+SPLcom/android/server/am/ProcessRecord;->getCurRawAdj()I
+SPLcom/android/server/am/ProcessRecord;->getCurRawProcState()I
+SPLcom/android/server/am/ProcessRecord;->getCurrentSchedulingGroup()I
+SPLcom/android/server/am/ProcessRecord;->getPackageList()[Ljava/lang/String;
+SPLcom/android/server/am/ProcessRecord;->hasActivitiesOrRecentTasks()Z
+SPLcom/android/server/am/ProcessRecord;->hasClientActivities()Z
+SPLcom/android/server/am/ProcessRecord;->hasOverlayUi()Z
+SPLcom/android/server/am/ProcessRecord;->hasRecentTasks()Z
+SPLcom/android/server/am/ProcessRecord;->hasTopUi()Z
+SPLcom/android/server/am/ProcessRecord;->isCrashing()Z
+SPLcom/android/server/am/ProcessRecord;->isPersistent()Z
+SPLcom/android/server/am/ProcessRecord;->isRemoved()Z
+SPLcom/android/server/am/ProcessRecord;->makeActive(Landroid/app/IApplicationThread;Lcom/android/server/am/ProcessStatsService;)V
+SPLcom/android/server/am/ProcessRecord;->makeAdjReason()Ljava/lang/String;
+SPLcom/android/server/am/ProcessRecord;->makeInactive(Lcom/android/server/am/ProcessStatsService;)V
+SPLcom/android/server/am/ProcessRecord;->modifyRawOomAdj(I)I
+SPLcom/android/server/am/ProcessRecord;->onStartActivity(IZ)V
+SPLcom/android/server/am/ProcessRecord;->resetPackageList(Lcom/android/server/am/ProcessStatsService;)V
+SPLcom/android/server/am/ProcessRecord;->setDebugging(Z)V
+SPLcom/android/server/am/ProcessRecord;->setPendingUiClean(Z)V
+SPLcom/android/server/am/ProcessRecord;->setReportedProcState(I)V
+SPLcom/android/server/am/ProcessRecord;->setRequiredAbi(Ljava/lang/String;)V
+SPLcom/android/server/am/ProcessRecord;->setUsingWrapper(Z)V
+SPLcom/android/server/am/ProcessRecord;->toShortString(Ljava/lang/StringBuilder;)V
+SPLcom/android/server/am/ProcessRecord;->toString()Ljava/lang/String;
+SPLcom/android/server/am/ProcessRecord;->updateProcessInfo(ZZZZ)V
+SPLcom/android/server/am/ProcessRecord;->updateServiceConnectionActivities()V
 SPLcom/android/server/am/ProcessStatsService;-><init>(Lcom/android/server/am/ActivityManagerService;Ljava/io/File;)V
-SPLcom/android/server/am/ProcessStatsService;->isMemFactorLowered()Z
+SPLcom/android/server/am/ProcessStatsService;->getMemFactorLocked()I
+SPLcom/android/server/am/ProcessStatsService;->setMemFactorLocked(IZJ)Z
+SPLcom/android/server/am/ProcessStatsService;->shouldWriteNowLocked(J)Z
 SPLcom/android/server/am/ProcessStatsService;->updateFile()V
+SPLcom/android/server/am/ProcessStatsService;->updateTrackingAssociationsLocked(IJ)V
 SPLcom/android/server/am/ProviderMap;-><init>(Lcom/android/server/am/ActivityManagerService;)V
-SPLcom/android/server/am/RecentTasks;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityStackSupervisor;)V
-SPLcom/android/server/am/RecentTasks;->loadParametersFromResources(Landroid/content/res/Resources;)V
-SPLcom/android/server/am/RecentTasks;->registerCallback(Lcom/android/server/am/RecentTasks$Callbacks;)V
-SPLcom/android/server/am/RunningTasks;-><init>()V
-SPLcom/android/server/am/TaskChangeNotificationController$MainHandler;-><init>(Lcom/android/server/am/TaskChangeNotificationController;Landroid/os/Looper;)V
-SPLcom/android/server/am/TaskChangeNotificationController;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/ActivityStackSupervisor;Landroid/os/Handler;)V
-SPLcom/android/server/am/TaskLaunchParamsModifier;-><init>()V
-SPLcom/android/server/am/TaskPersister$LazyTaskWriterThread;-><init>(Lcom/android/server/am/TaskPersister;Ljava/lang/String;)V
-SPLcom/android/server/am/TaskPersister;-><init>(Ljava/io/File;Lcom/android/server/am/ActivityStackSupervisor;Lcom/android/server/am/ActivityManagerService;Lcom/android/server/am/RecentTasks;)V
-SPLcom/android/server/am/TaskRecord$TaskActivitiesReport;-><init>()V
-SPLcom/android/server/am/UserController$Injector;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+SPLcom/android/server/am/ProviderMap;->collectPackageProvidersLocked(Ljava/lang/String;Ljava/util/Set;ZZILjava/util/ArrayList;)Z
+SPLcom/android/server/am/ProviderMap;->collectPackageProvidersLocked(Ljava/lang/String;Ljava/util/Set;ZZLjava/util/HashMap;Ljava/util/ArrayList;)Z
+SPLcom/android/server/am/ProviderMap;->getProviderByName(Ljava/lang/String;I)Lcom/android/server/am/ContentProviderRecord;
+SPLcom/android/server/am/ProviderMap;->getProvidersByClass(I)Ljava/util/HashMap;
+SPLcom/android/server/am/ProviderMap;->getProvidersByName(I)Ljava/util/HashMap;
+SPLcom/android/server/am/ServiceRecord$StartItem;-><init>(Lcom/android/server/am/ServiceRecord;ZILandroid/content/Intent;Lcom/android/server/uri/NeededUriGrants;I)V
+SPLcom/android/server/am/ServiceRecord;-><init>(Lcom/android/server/am/ActivityManagerService;Lcom/android/internal/os/BatteryStatsImpl$Uid$Pkg$Serv;Landroid/content/ComponentName;Landroid/content/ComponentName;Landroid/content/Intent$FilterComparison;Landroid/content/pm/ServiceInfo;ZLjava/lang/Runnable;)V
+SPLcom/android/server/am/ServiceRecord;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+SPLcom/android/server/am/ServiceRecord;->findDeliveredStart(IZZ)Lcom/android/server/am/ServiceRecord$StartItem;
+SPLcom/android/server/am/ServiceRecord;->getTracker()Lcom/android/internal/app/procstats/ServiceState;
+SPLcom/android/server/am/ServiceRecord;->hasAutoCreateConnections()Z
+SPLcom/android/server/am/ServiceRecord;->postNotification()V
+SPLcom/android/server/am/ServiceRecord;->retrieveAppBindingLocked(Landroid/content/Intent;Lcom/android/server/am/ProcessRecord;)Lcom/android/server/am/AppBindRecord;
+SPLcom/android/server/am/ServiceRecord;->setProcess(Lcom/android/server/am/ProcessRecord;)V
+SPLcom/android/server/am/ServiceRecord;->toString()Ljava/lang/String;
+SPLcom/android/server/am/SettingsToPropertiesMapper;->isNativeFlagsResetPerformed()Z
+SPLcom/android/server/am/SettingsToPropertiesMapper;->makePropertyName(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/am/SettingsToPropertiesMapper;->setProperty(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/am/SettingsToPropertiesMapper;->systemPropertiesGet(Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/am/SettingsToPropertiesMapper;->updatePropertiesFromSettings()V
+SPLcom/android/server/am/SettingsToPropertiesMapper;->updatePropertyFromSetting(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/am/UidRecord;->toString()Ljava/lang/String;
+SPLcom/android/server/am/UserController$Injector;->broadcastIntent(Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIII)I
+SPLcom/android/server/am/UserController$Injector;->broadcastIntent(Landroid/content/Intent;Ljava/lang/String;Landroid/content/IIntentReceiver;ILjava/lang/String;Landroid/os/Bundle;[Ljava/lang/String;ILandroid/os/Bundle;ZZIIIII)I
+SPLcom/android/server/am/UserController$Injector;->checkCallingPermission(Ljava/lang/String;)I
+SPLcom/android/server/am/UserController$Injector;->checkComponentPermission(Ljava/lang/String;IIIZ)I
 SPLcom/android/server/am/UserController$Injector;->getContext()Landroid/content/Context;
 SPLcom/android/server/am/UserController$Injector;->getHandler(Landroid/os/Handler$Callback;)Landroid/os/Handler;
 SPLcom/android/server/am/UserController$Injector;->getLockPatternUtils()Lcom/android/internal/widget/LockPatternUtils;
 SPLcom/android/server/am/UserController$Injector;->getUiHandler(Landroid/os/Handler$Callback;)Landroid/os/Handler;
-SPLcom/android/server/am/UserController$UserProgressListener;-><init>()V
-SPLcom/android/server/am/UserController$UserProgressListener;-><init>(Lcom/android/server/am/UserController$1;)V
-SPLcom/android/server/am/UserController;-><init>(Lcom/android/server/am/ActivityManagerService;)V
+SPLcom/android/server/am/UserController$Injector;->getUserManager()Lcom/android/server/pm/UserManagerService;
+SPLcom/android/server/am/UserController$Injector;->isCallerRecents(I)Z
+SPLcom/android/server/am/UserController$Injector;->reportCurWakefulnessUsageEvent()V
 SPLcom/android/server/am/UserController;-><init>(Lcom/android/server/am/UserController$Injector;)V
+SPLcom/android/server/am/UserController;->dump(Ljava/io/PrintWriter;Z)V
+SPLcom/android/server/am/UserController;->exists(I)Z
+SPLcom/android/server/am/UserController;->getCurrentProfileIds()[I
+SPLcom/android/server/am/UserController;->getCurrentUser()Landroid/content/pm/UserInfo;
+SPLcom/android/server/am/UserController;->getCurrentUserIdLU()I
+SPLcom/android/server/am/UserController;->getStartedUserArray()[I
+SPLcom/android/server/am/UserController;->getUsers()[I
+SPLcom/android/server/am/UserController;->hasStartedUserState(I)Z
+SPLcom/android/server/am/UserController;->isSameProfileGroup(II)Z
+SPLcom/android/server/am/UserController;->isUserOrItsParentRunning(I)Z
+SPLcom/android/server/am/UserController;->onSystemReady()V
+SPLcom/android/server/am/UserController;->registerUserSwitchObserver(Landroid/app/IUserSwitchObserver;Ljava/lang/String;)V
+SPLcom/android/server/am/UserController;->sendUserSwitchBroadcasts(II)V
+SPLcom/android/server/am/UserController;->shouldConfirmCredentials(I)Z
+SPLcom/android/server/am/UserController;->updateCurrentProfileIds()V
 SPLcom/android/server/am/UserController;->updateStartedUserArrayLU()V
 SPLcom/android/server/am/UserState;-><init>(Landroid/os/UserHandle;)V
-SPLcom/android/server/am/VrController$1;-><init>(Lcom/android/server/am/VrController;)V
-SPLcom/android/server/am/VrController;-><init>(Ljava/lang/Object;)V
+SPLcom/android/server/am/UserState;->stateToString(I)Ljava/lang/String;
+SPLcom/android/server/appbinding/-$$Lambda$xkEFYM78dwFMyAjWJXkB7AxgA2c;-><init>()V
+SPLcom/android/server/appbinding/AppBindingConstants;-><init>(Ljava/lang/String;)V
+SPLcom/android/server/appbinding/AppBindingService$Injector;->getGlobalSettingString(Landroid/content/ContentResolver;Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/appbinding/AppBindingService$Injector;->getIPackageManager()Landroid/content/pm/IPackageManager;
+SPLcom/android/server/appbinding/AppBindingService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/appbinding/AppBindingService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/appbinding/AppBindingService$Lifecycle;->onStart()V
+SPLcom/android/server/appbinding/AppBindingService$Lifecycle;->onStartUser(I)V
+SPLcom/android/server/appbinding/AppBindingService;-><init>(Lcom/android/server/appbinding/AppBindingService$Injector;Landroid/content/Context;)V
+SPLcom/android/server/appbinding/AppBindingService;->bindServicesLocked(ILcom/android/server/appbinding/finders/AppServiceFinder;Ljava/lang/String;)V
+SPLcom/android/server/appbinding/AppBindingService;->findConnectionLock(ILcom/android/server/appbinding/finders/AppServiceFinder;)Lcom/android/server/appbinding/AppBindingService$AppServiceConnection;
+SPLcom/android/server/appbinding/AppBindingService;->onPhaseActivityManagerReady()V
+SPLcom/android/server/appbinding/AppBindingService;->onPhaseThirdPartyAppsCanStart()V
+SPLcom/android/server/appbinding/AppBindingService;->onStartUser(I)V
+SPLcom/android/server/appbinding/AppBindingService;->rebindAllLocked(Ljava/lang/String;)V
+SPLcom/android/server/appbinding/AppBindingService;->refreshConstants()V
+SPLcom/android/server/appbinding/AppBindingUtils;->findService(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;Ljava/lang/Class;Landroid/content/pm/IPackageManager;Ljava/lang/StringBuilder;)Landroid/content/pm/ServiceInfo;
+SPLcom/android/server/appbinding/finders/AppServiceFinder;-><init>(Landroid/content/Context;Ljava/util/function/BiConsumer;Landroid/os/Handler;)V
+SPLcom/android/server/appbinding/finders/AppServiceFinder;->findService(ILandroid/content/pm/IPackageManager;Lcom/android/server/appbinding/AppBindingConstants;)Landroid/content/pm/ServiceInfo;
+SPLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getServiceAction()Ljava/lang/String;
+SPLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getServiceClass()Ljava/lang/Class;
+SPLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getServicePermission()Ljava/lang/String;
+SPLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->getTargetPackage(I)Ljava/lang/String;
+SPLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->isEnabled(Lcom/android/server/appbinding/AppBindingConstants;)Z
+SPLcom/android/server/appbinding/finders/CarrierMessagingClientServiceFinder;->startMonitoring()V
+SPLcom/android/server/appop/-$$Lambda$AppOpsService$GUeKjlbzT65s86vaxy5gvOajuhw;-><init>()V
+SPLcom/android/server/appop/-$$Lambda$AppOpsService$GUeKjlbzT65s86vaxy5gvOajuhw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/appop/AppOpsService$ActiveCallback;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/internal/app/IAppOpsActiveCallback;III)V
+SPLcom/android/server/appop/AppOpsService$AppOpsManagerInternalImpl;->setDeviceAndProfileOwners(Landroid/util/SparseIntArray;)V
+SPLcom/android/server/appop/AppOpsService$ClientRestrictionState;->hasRestriction(ILjava/lang/String;I)Z
+SPLcom/android/server/appop/AppOpsService$ClientRestrictionState;->setRestriction(IZ[Ljava/lang/String;I)Z
+SPLcom/android/server/appop/AppOpsService$ClientState;-><init>(Lcom/android/server/appop/AppOpsService;Landroid/os/IBinder;)V
+SPLcom/android/server/appop/AppOpsService$Constants;->updateConstants()V
+SPLcom/android/server/appop/AppOpsService$ModeCallback;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/internal/app/IAppOpsCallback;IIII)V
+SPLcom/android/server/appop/AppOpsService$NotedCallback;-><init>(Lcom/android/server/appop/AppOpsService;Lcom/android/internal/app/IAppOpsNotedCallback;III)V
+SPLcom/android/server/appop/AppOpsService;-><init>(Ljava/io/File;Landroid/os/Handler;)V
+SPLcom/android/server/appop/AppOpsService;->checkAudioOperation(IIILjava/lang/String;)I
+SPLcom/android/server/appop/AppOpsService;->checkAudioOperationImpl(IIILjava/lang/String;)I
+SPLcom/android/server/appop/AppOpsService;->checkOperation(IILjava/lang/String;)I
+SPLcom/android/server/appop/AppOpsService;->checkOperationInternal(IILjava/lang/String;Z)I
+SPLcom/android/server/appop/AppOpsService;->checkOperationRaw(IILjava/lang/String;)I
+SPLcom/android/server/appop/AppOpsService;->checkOperationUnchecked(IILjava/lang/String;Z)I
+SPLcom/android/server/appop/AppOpsService;->checkPackage(ILjava/lang/String;)I
+SPLcom/android/server/appop/AppOpsService;->commitUidPendingStateLocked(Lcom/android/server/appop/AppOpsService$UidState;)V
+SPLcom/android/server/appop/AppOpsService;->finishOperation(Landroid/os/IBinder;IILjava/lang/String;)V
+SPLcom/android/server/appop/AppOpsService;->finishOperationLocked(Lcom/android/server/appop/AppOpsService$Op;Z)V
+SPLcom/android/server/appop/AppOpsService;->getToken(Landroid/os/IBinder;)Landroid/os/IBinder;
+SPLcom/android/server/appop/AppOpsService;->isOpRestrictedLocked(IILjava/lang/String;)Z
+SPLcom/android/server/appop/AppOpsService;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
+SPLcom/android/server/appop/AppOpsService;->noteOperation(IILjava/lang/String;)I
+SPLcom/android/server/appop/AppOpsService;->noteOperationUnchecked(IILjava/lang/String;ILjava/lang/String;)I
+SPLcom/android/server/appop/AppOpsService;->notifyOpChanged(Lcom/android/server/appop/AppOpsService$ModeCallback;IILjava/lang/String;)V
+SPLcom/android/server/appop/AppOpsService;->packageRemoved(ILjava/lang/String;)V
+SPLcom/android/server/appop/AppOpsService;->permissionToOpCode(Ljava/lang/String;)I
+SPLcom/android/server/appop/AppOpsService;->publish(Landroid/content/Context;)V
+SPLcom/android/server/appop/AppOpsService;->readUidOps(Lorg/xmlpull/v1/XmlPullParser;)V
+SPLcom/android/server/appop/AppOpsService;->resolvePackageName(ILjava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/appop/AppOpsService;->resolveUid(Ljava/lang/String;)I
+SPLcom/android/server/appop/AppOpsService;->scheduleOpActiveChangedIfNeededLocked(IILjava/lang/String;Z)V
+SPLcom/android/server/appop/AppOpsService;->scheduleOpNotedIfNeededLocked(IILjava/lang/String;I)V
+SPLcom/android/server/appop/AppOpsService;->scheduleWriteLocked()V
+SPLcom/android/server/appop/AppOpsService;->setAudioRestriction(IIII[Ljava/lang/String;)V
+SPLcom/android/server/appop/AppOpsService;->setMode(IILjava/lang/String;I)V
+SPLcom/android/server/appop/AppOpsService;->setMode(IILjava/lang/String;IZZ)V
+SPLcom/android/server/appop/AppOpsService;->setUserRestrictionNoCheck(IZLandroid/os/IBinder;I[Ljava/lang/String;)V
+SPLcom/android/server/appop/AppOpsService;->startOperation(Landroid/os/IBinder;IILjava/lang/String;Z)I
+SPLcom/android/server/appop/AppOpsService;->startWatchingActive([ILcom/android/internal/app/IAppOpsActiveCallback;)V
+SPLcom/android/server/appop/AppOpsService;->startWatchingMode(ILjava/lang/String;Lcom/android/internal/app/IAppOpsCallback;)V
+SPLcom/android/server/appop/AppOpsService;->startWatchingNoted([ILcom/android/internal/app/IAppOpsNotedCallback;)V
+SPLcom/android/server/appop/AppOpsService;->uidRemoved(I)V
+SPLcom/android/server/appop/AppOpsService;->updateUidProcState(II)V
+SPLcom/android/server/appop/AppOpsService;->upgradeLocked(I)V
+SPLcom/android/server/appop/HistoricalRegistry$Persistence;-><init>(JJ)V
+SPLcom/android/server/appop/HistoricalRegistry$Persistence;->getLastPersistTimeMillisDLocked()J
+SPLcom/android/server/appop/HistoricalRegistry;-><init>(Ljava/lang/Object;)V
+SPLcom/android/server/appop/HistoricalRegistry;->getUpdatedPendingHistoricalOpsMLocked(J)Landroid/app/AppOpsManager$HistoricalOps;
+SPLcom/android/server/appop/HistoricalRegistry;->increaseOpAccessDuration(IILjava/lang/String;IJ)V
+SPLcom/android/server/appop/HistoricalRegistry;->incrementOpAccessedCount(IILjava/lang/String;I)V
+SPLcom/android/server/appop/HistoricalRegistry;->incrementOpRejected(IILjava/lang/String;I)V
+SPLcom/android/server/appop/HistoricalRegistry;->updateParametersFromSetting(Landroid/content/ContentResolver;)V
+SPLcom/android/server/appprediction/AppPredictionManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/appprediction/AppPredictionManagerService;->newServiceLocked(IZ)Lcom/android/server/appprediction/AppPredictionPerUserService;
+SPLcom/android/server/appprediction/AppPredictionManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
+SPLcom/android/server/appprediction/AppPredictionManagerService;->onStart()V
+SPLcom/android/server/appprediction/AppPredictionPerUserService;->updateLocked(Z)Z
+SPLcom/android/server/appwidget/AppWidgetService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/appwidget/AppWidgetService;->onBootPhase(I)V
+SPLcom/android/server/appwidget/AppWidgetService;->onStart()V
+SPLcom/android/server/appwidget/AppWidgetServiceImpl$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/appwidget/AppWidgetServiceImpl;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/appwidget/AppWidgetServiceImpl;->computeMaximumWidgetBitmapMemory()V
+SPLcom/android/server/appwidget/AppWidgetServiceImpl;->onConfigurationChanged()V
+SPLcom/android/server/appwidget/AppWidgetServiceImpl;->onStart()V
+SPLcom/android/server/appwidget/AppWidgetServiceImpl;->registerBroadcastReceiver()V
+SPLcom/android/server/appwidget/AppWidgetServiceImpl;->setSafeMode(Z)V
+SPLcom/android/server/attention/AttentionManagerService$LocalService;->isAttentionServiceSupported()Z
+SPLcom/android/server/attention/AttentionManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/attention/AttentionManagerService;->isAttentionServiceSupported()Z
+SPLcom/android/server/attention/AttentionManagerService;->isServiceAvailable()Z
+SPLcom/android/server/attention/AttentionManagerService;->onStart()V
+SPLcom/android/server/attention/AttentionManagerService;->resolveAttentionService(Landroid/content/Context;)Landroid/content/ComponentName;
+SPLcom/android/server/audio/AudioDeviceBroker$BrokerHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/audio/AudioDeviceBroker$BrokerThread;->run()V
+SPLcom/android/server/audio/AudioDeviceBroker;-><init>(Landroid/content/Context;Lcom/android/server/audio/AudioService;)V
+SPLcom/android/server/audio/AudioDeviceBroker;->isAvrcpAbsoluteVolumeSupported()Z
+SPLcom/android/server/audio/AudioDeviceBroker;->isBluetoothScoOnForApp()Z
+SPLcom/android/server/audio/AudioDeviceBroker;->isMessageHandledUnderWakelock(I)Z
+SPLcom/android/server/audio/AudioDeviceBroker;->onSystemReady()V
+SPLcom/android/server/audio/AudioDeviceBroker;->sendIILMsg(IIIILjava/lang/Object;I)V
+SPLcom/android/server/audio/AudioDeviceBroker;->setBluetoothScoOn(ZLjava/lang/String;)V
+SPLcom/android/server/audio/AudioDeviceBroker;->setupMessaging(Landroid/content/Context;)V
+SPLcom/android/server/audio/AudioDeviceBroker;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
+SPLcom/android/server/audio/AudioDeviceBroker;->waitForBrokerHandlerCreation()V
+SPLcom/android/server/audio/AudioDeviceInventory;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
+SPLcom/android/server/audio/AudioEventLogger;-><init>(ILjava/lang/String;)V
+SPLcom/android/server/audio/AudioEventLogger;->log(Lcom/android/server/audio/AudioEventLogger$Event;)V
+SPLcom/android/server/audio/AudioService$1;->onError(I)V
+SPLcom/android/server/audio/AudioService$AudioHandler;->getSoundEffectFilePath(I)Ljava/lang/String;
+SPLcom/android/server/audio/AudioService$AudioHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/audio/AudioService$AudioHandler;->onLoadSoundEffects()Z
+SPLcom/android/server/audio/AudioService$AudioHandler;->setAllVolumes(Lcom/android/server/audio/AudioService$VolumeStreamState;)V
+SPLcom/android/server/audio/AudioService$AudioServiceBroadcastReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/audio/AudioService$AudioServiceInternal;->setAccessibilityServiceUids(Landroid/util/IntArray;)V
+SPLcom/android/server/audio/AudioService$AudioServiceInternal;->setRingerModeDelegate(Landroid/media/AudioManagerInternal$RingerModeDelegate;)V
+SPLcom/android/server/audio/AudioService$AudioServiceInternal;->updateRingerModeAffectedStreamsInternal()V
+SPLcom/android/server/audio/AudioService$AudioServiceUserRestrictionsListener;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+SPLcom/android/server/audio/AudioService$AudioSystemThread;->run()V
+SPLcom/android/server/audio/AudioService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/audio/AudioService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/audio/AudioService$Lifecycle;->onStart()V
+SPLcom/android/server/audio/AudioService$SettingsObserver;-><init>(Lcom/android/server/audio/AudioService;)V
+SPLcom/android/server/audio/AudioService$SettingsObserver;->onChange(Z)V
+SPLcom/android/server/audio/AudioService$SettingsObserver;->updateEncodedSurroundOutput()V
+SPLcom/android/server/audio/AudioService$SoundPoolCallback;->onLoadComplete(Landroid/media/SoundPool;II)V
+SPLcom/android/server/audio/AudioService$SoundPoolListenerThread;->run()V
+SPLcom/android/server/audio/AudioService$VolumeController;->asBinder()Landroid/os/IBinder;
+SPLcom/android/server/audio/AudioService$VolumeController;->isSameBinder(Landroid/media/IVolumeController;)Z
+SPLcom/android/server/audio/AudioService$VolumeController;->loadSettings(Landroid/content/ContentResolver;)V
+SPLcom/android/server/audio/AudioService$VolumeController;->postDismiss()V
+SPLcom/android/server/audio/AudioService$VolumeController;->setController(Landroid/media/IVolumeController;)V
+SPLcom/android/server/audio/AudioService$VolumeController;->setLayoutDirection(I)V
+SPLcom/android/server/audio/AudioService$VolumeStreamState;-><init>(Lcom/android/server/audio/AudioService;Ljava/lang/String;I)V
+SPLcom/android/server/audio/AudioService$VolumeStreamState;->applyAllVolumes()V
+SPLcom/android/server/audio/AudioService$VolumeStreamState;->applyDeviceVolume_syncVSS(IZ)V
+SPLcom/android/server/audio/AudioService$VolumeStreamState;->checkFixedVolumeDevices()V
+SPLcom/android/server/audio/AudioService$VolumeStreamState;->getIndex(I)I
+SPLcom/android/server/audio/AudioService$VolumeStreamState;->getMinIndex()I
+SPLcom/android/server/audio/AudioService$VolumeStreamState;->getStreamType()I
+SPLcom/android/server/audio/AudioService$VolumeStreamState;->mute(Z)V
+SPLcom/android/server/audio/AudioService$VolumeStreamState;->observeDevicesForStream_syncVSS(Z)I
+SPLcom/android/server/audio/AudioService$VolumeStreamState;->setAllIndexes(Lcom/android/server/audio/AudioService$VolumeStreamState;Ljava/lang/String;)V
+SPLcom/android/server/audio/AudioService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/audio/AudioService;->broadcastVibrateSetting(I)V
+SPLcom/android/server/audio/AudioService;->checkAllAliasStreamVolumes()V
+SPLcom/android/server/audio/AudioService;->checkMuteAffectedStreams()V
+SPLcom/android/server/audio/AudioService;->createStreamStates()V
+SPLcom/android/server/audio/AudioService;->enforceSafeMediaVolume(Ljava/lang/String;)V
+SPLcom/android/server/audio/AudioService;->ensureValidStreamType(I)V
+SPLcom/android/server/audio/AudioService;->getActivePlaybackConfigurations()Ljava/util/List;
+SPLcom/android/server/audio/AudioService;->getCurrentUserId()I
+SPLcom/android/server/audio/AudioService;->getDeviceForStream(I)I
+SPLcom/android/server/audio/AudioService;->getDevicesForStream(IZ)I
+SPLcom/android/server/audio/AudioService;->getLastAudibleStreamVolume(I)I
+SPLcom/android/server/audio/AudioService;->getMode()I
+SPLcom/android/server/audio/AudioService;->getRingerModeExternal()I
+SPLcom/android/server/audio/AudioService;->getRingerModeInternal()I
+SPLcom/android/server/audio/AudioService;->getSafeUsbMediaVolumeIndex()I
+SPLcom/android/server/audio/AudioService;->getStreamMaxVolume(I)I
+SPLcom/android/server/audio/AudioService;->getStreamMinVolume(I)I
+SPLcom/android/server/audio/AudioService;->getVibrateSetting(I)I
+SPLcom/android/server/audio/AudioService;->handleConfigurationChanged(Landroid/content/Context;)V
+SPLcom/android/server/audio/AudioService;->isBluetoothScoOn()Z
+SPLcom/android/server/audio/AudioService;->isInCommunication()Z
+SPLcom/android/server/audio/AudioService;->isPlatformTelevision()Z
+SPLcom/android/server/audio/AudioService;->isStreamAffectedByMute(I)Z
+SPLcom/android/server/audio/AudioService;->isStreamAffectedByRingerMode(I)Z
+SPLcom/android/server/audio/AudioService;->isStreamMute(I)Z
+SPLcom/android/server/audio/AudioService;->isValidRingerMode(I)Z
+SPLcom/android/server/audio/AudioService;->loadTouchSoundAssets()V
+SPLcom/android/server/audio/AudioService;->muteRingerModeStreams()V
+SPLcom/android/server/audio/AudioService;->observeDevicesForStreams(I)V
+SPLcom/android/server/audio/AudioService;->onAccessibilityServicesStateChanged(Landroid/view/accessibility/AccessibilityManager;)V
+SPLcom/android/server/audio/AudioService;->onIndicateSystemReady()V
+SPLcom/android/server/audio/AudioService;->onSystemReady()V
+SPLcom/android/server/audio/AudioService;->postUpdateRingerModeServiceInt()V
+SPLcom/android/server/audio/AudioService;->readAndSetLowRamDevice()V
+SPLcom/android/server/audio/AudioService;->readAudioSettings(Z)V
+SPLcom/android/server/audio/AudioService;->readDockAudioSettings(Landroid/content/ContentResolver;)V
+SPLcom/android/server/audio/AudioService;->readPersistedSettings()V
+SPLcom/android/server/audio/AudioService;->readUserRestrictions()V
+SPLcom/android/server/audio/AudioService;->registerPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;)V
+SPLcom/android/server/audio/AudioService;->rescaleIndex(III)I
+SPLcom/android/server/audio/AudioService;->sendBroadcastToAll(Landroid/content/Intent;)V
+SPLcom/android/server/audio/AudioService;->sendEnabledSurroundFormats(Landroid/content/ContentResolver;Z)V
+SPLcom/android/server/audio/AudioService;->sendEncodedSurroundMode(ILjava/lang/String;)V
+SPLcom/android/server/audio/AudioService;->sendStickyBroadcastToAll(Landroid/content/Intent;)V
+SPLcom/android/server/audio/AudioService;->setRingerMode(ILjava/lang/String;Z)V
+SPLcom/android/server/audio/AudioService;->setRingerModeExt(I)V
+SPLcom/android/server/audio/AudioService;->setRingerModeInt(IZ)V
+SPLcom/android/server/audio/AudioService;->setRingerModeInternal(ILjava/lang/String;)V
+SPLcom/android/server/audio/AudioService;->setRingtonePlayer(Landroid/media/IRingtonePlayer;)V
+SPLcom/android/server/audio/AudioService;->setSystemAudioMute(Z)V
+SPLcom/android/server/audio/AudioService;->setUpdateRingerModeServiceInt()V
+SPLcom/android/server/audio/AudioService;->setVolumeController(Landroid/media/IVolumeController;)V
+SPLcom/android/server/audio/AudioService;->setVolumePolicy(Landroid/media/VolumePolicy;)V
+SPLcom/android/server/audio/AudioService;->shouldZenMuteStream(I)Z
+SPLcom/android/server/audio/AudioService;->startWatchingRoutes(Landroid/media/IAudioRoutesObserver;)Landroid/media/AudioRoutesInfo;
+SPLcom/android/server/audio/AudioService;->systemReady()V
+SPLcom/android/server/audio/AudioService;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I
+SPLcom/android/server/audio/AudioService;->updateAssistantUId(Z)V
+SPLcom/android/server/audio/AudioService;->updateDefaultVolumes()V
+SPLcom/android/server/audio/AudioService;->updateMasterBalance(Landroid/content/ContentResolver;)V
+SPLcom/android/server/audio/AudioService;->updateRingerAndZenModeAffectedStreams()Z
+SPLcom/android/server/audio/AudioService;->updateStreamVolumeAlias(ZLjava/lang/String;)V
+SPLcom/android/server/audio/AudioService;->updateZenModeAffectedStreams()Z
+SPLcom/android/server/audio/AudioService;->waitForAudioHandlerCreation()V
+SPLcom/android/server/audio/BtHelper;->clearAllScoClients(IZ)V
+SPLcom/android/server/audio/BtHelper;->isAvrcpAbsoluteVolumeSupported()Z
+SPLcom/android/server/audio/BtHelper;->onBroadcastScoConnectionState(I)V
+SPLcom/android/server/audio/BtHelper;->onSystemReady()V
+SPLcom/android/server/audio/BtHelper;->resetBluetoothSco()V
+SPLcom/android/server/audio/BtHelper;->sendStickyBroadcastToAll(Landroid/content/Intent;)V
+SPLcom/android/server/audio/MediaFocusControl;-><init>(Landroid/content/Context;Lcom/android/server/audio/PlayerFocusEnforcer;)V
+SPLcom/android/server/audio/MediaFocusControl;->discardAudioFocusOwner()V
+SPLcom/android/server/audio/MediaFocusControl;->getFocusRampTimeMs(ILandroid/media/AudioAttributes;)I
+SPLcom/android/server/audio/PlaybackActivityMonitor$NewPlayerEvent;-><init>(Landroid/media/AudioPlaybackConfiguration;)V
+SPLcom/android/server/audio/PlaybackActivityMonitor$PlayMonitorClient;->init()Z
+SPLcom/android/server/audio/PlaybackActivityMonitor;-><init>(Landroid/content/Context;I)V
+SPLcom/android/server/audio/PlaybackActivityMonitor;->anonymizeForPublicConsumption(Ljava/util/List;)Ljava/util/ArrayList;
+SPLcom/android/server/audio/PlaybackActivityMonitor;->getActivePlaybackConfigurations(Z)Ljava/util/List;
+SPLcom/android/server/audio/PlaybackActivityMonitor;->registerPlaybackCallback(Landroid/media/IPlaybackConfigDispatcher;Z)V
+SPLcom/android/server/audio/PlaybackActivityMonitor;->trackPlayer(Landroid/media/PlayerBase$PlayerIdCard;)I
+SPLcom/android/server/audio/RotationHelper$AudioDisplayListener;-><init>()V
+SPLcom/android/server/audio/RotationHelper;->enable()V
+SPLcom/android/server/audio/RotationHelper;->updateOrientation()V
+SPLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->isCompatibilityModeRequested(Ljava/lang/String;JI)Z
+SPLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->removeCompatibilityModeRequests(I)V
+SPLcom/android/server/autofill/AutofillManagerService$AutofillCompatState;->reset(I)V
+SPLcom/android/server/autofill/AutofillManagerService$LocalService;->getAutofillOptions(Ljava/lang/String;JI)Landroid/content/AutofillOptions;
+SPLcom/android/server/autofill/AutofillManagerService$LocalService;->isCompatibilityModeRequested(Ljava/lang/String;JI)Z
+SPLcom/android/server/autofill/AutofillManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/autofill/AutofillManagerService;->addCompatibilityModeRequestsLocked(Lcom/android/server/autofill/AutofillManagerServiceImpl;I)V
+SPLcom/android/server/autofill/AutofillManagerService;->getServiceSettingsProperty()Ljava/lang/String;
+SPLcom/android/server/autofill/AutofillManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
+SPLcom/android/server/autofill/AutofillManagerService;->onServiceEnabledLocked(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
+SPLcom/android/server/autofill/AutofillManagerService;->onServiceRemoved(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
+SPLcom/android/server/autofill/AutofillManagerService;->onStart()V
+SPLcom/android/server/autofill/AutofillManagerService;->registerForExtraSettingsChanges(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
+SPLcom/android/server/autofill/AutofillManagerService;->setDeviceConfigProperties()V
+SPLcom/android/server/autofill/AutofillManagerService;->setLogLevelFromSettings()V
+SPLcom/android/server/autofill/AutofillManagerService;->setMaxPartitionsFromSettings()V
+SPLcom/android/server/autofill/AutofillManagerService;->setMaxVisibleDatasetsFromSettings()V
+SPLcom/android/server/autofill/AutofillManagerService;->setSmartSuggestionEmulationFromSettings()V
+SPLcom/android/server/autofill/AutofillManagerService;->setSmartSuggestionModesFromDeviceConfig(Ljava/lang/String;)V
+SPLcom/android/server/autofill/AutofillManagerServiceImpl;-><init>(Lcom/android/server/autofill/AutofillManagerService;Ljava/lang/Object;Landroid/util/LocalLog;Landroid/util/LocalLog;ILcom/android/server/autofill/ui/AutoFillUI;Lcom/android/server/autofill/AutofillManagerService$AutofillCompatState;Z)V
+SPLcom/android/server/autofill/AutofillManagerServiceImpl;->destroyLocked()V
+SPLcom/android/server/autofill/AutofillManagerServiceImpl;->destroySessionsLocked()V
+SPLcom/android/server/autofill/AutofillManagerServiceImpl;->sendStateToClients(Z)V
+SPLcom/android/server/autofill/AutofillManagerServiceImpl;->updateLocked(Z)Z
+SPLcom/android/server/autofill/FieldClassificationStrategy;->reset()V
+SPLcom/android/server/autofill/Helper;->getIntDeviceConfigProperty(Ljava/lang/String;I)I
+SPLcom/android/server/autofill/ui/-$$Lambda$AutoFillUI$XWhvh2-Jd9NLMoEos-e8RkZdQaI;->run()V
+SPLcom/android/server/autofill/ui/AutoFillUI;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/autofill/ui/AutoFillUI;->destroySaveUiUiThread(Lcom/android/server/autofill/ui/PendingUi;Z)V
+SPLcom/android/server/backup/BackupManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/backup/BackupManagerService$Lifecycle;->onStart()V
+SPLcom/android/server/backup/Trampoline;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/backup/Trampoline;->binderGetCallingUserId()I
+SPLcom/android/server/backup/Trampoline;->dataChanged(Ljava/lang/String;)V
+SPLcom/android/server/backup/Trampoline;->dataChangedForUser(ILjava/lang/String;)V
+SPLcom/android/server/backup/Trampoline;->isBackupDisabled()Z
+SPLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$F4H2HbJPkB5kHnCG99RJzq63ETk;->run()V
+SPLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$HtA60PD2POS70xjo2Wkv9Ds3iIM;->run()V
+SPLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$d8jmYuo4MyZZpxoeouUPEq4DMII;->run()V
+SPLcom/android/server/biometrics/-$$Lambda$BiometricServiceBase$fPrFwbkIihZrGIgPSW0LZgzpmas;->run()V
+SPLcom/android/server/biometrics/AuthenticationClient;-><init>(Landroid/content/Context;Lcom/android/server/biometrics/Metrics;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIJZLjava/lang/String;IZ)V
+SPLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;-><init>(Lcom/android/server/biometrics/BiometricService;)V
+SPLcom/android/server/biometrics/BiometricService$BiometricServiceWrapper;->registerEnabledOnKeyguardCallback(Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback;)V
+SPLcom/android/server/biometrics/BiometricService$EnabledOnKeyguardCallback;-><init>(Lcom/android/server/biometrics/BiometricService;Landroid/hardware/biometrics/IBiometricEnabledOnKeyguardCallback;)V
+SPLcom/android/server/biometrics/BiometricService$SettingObserver;-><init>(Lcom/android/server/biometrics/BiometricService;Landroid/os/Handler;)V
+SPLcom/android/server/biometrics/BiometricService$SettingObserver;->onChange(ZLandroid/net/Uri;)V
+SPLcom/android/server/biometrics/BiometricService$SettingObserver;->updateContentObserver()V
+SPLcom/android/server/biometrics/BiometricService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/biometrics/BiometricService;->getAuthenticator(I)Landroid/hardware/biometrics/BiometricAuthenticator;
+SPLcom/android/server/biometrics/BiometricService;->onStart()V
+SPLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/content/Context;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIJZLjava/lang/String;IZ)V
+SPLcom/android/server/biometrics/BiometricServiceBase$EnumerateClientImpl;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/content/Context;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIZLjava/lang/String;)V
+SPLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/content/Context;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIZLjava/lang/String;Ljava/util/List;Lcom/android/server/biometrics/BiometricUtils;)V
+SPLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;->doTemplateCleanup()V
+SPLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;->handleEnumeratedTemplate(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;)V
+SPLcom/android/server/biometrics/BiometricServiceBase$InternalEnumerateClient;->onEnumerationResult(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)Z
+SPLcom/android/server/biometrics/BiometricServiceBase$LockoutResetMonitor;-><init>(Lcom/android/server/biometrics/BiometricServiceBase;Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
+SPLcom/android/server/biometrics/BiometricServiceBase;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->authenticateInternal(Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;JLjava/lang/String;)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->authenticateInternal(Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;JLjava/lang/String;III)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->canUseBiometric(Ljava/lang/String;ZIII)Z
+SPLcom/android/server/biometrics/BiometricServiceBase;->checkPermission(Ljava/lang/String;)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->doTemplateCleanupForUser(I)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->enumerateInternal(Lcom/android/server/biometrics/BiometricServiceBase$EnumerateClientImpl;)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->enumerateInternal(Lcom/android/server/biometrics/EnumerateClient;)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->enumerateUser(I)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->getCurrentClient()Lcom/android/server/biometrics/ClientMonitor;
+SPLcom/android/server/biometrics/BiometricServiceBase;->getLockoutMode()I
+SPLcom/android/server/biometrics/BiometricServiceBase;->getUserOrWorkProfileId(Ljava/lang/String;I)I
+SPLcom/android/server/biometrics/BiometricServiceBase;->handleEnumerate(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->hasPermission(Ljava/lang/String;)Z
+SPLcom/android/server/biometrics/BiometricServiceBase;->isRestricted()Z
+SPLcom/android/server/biometrics/BiometricServiceBase;->isWorkProfile(I)Z
+SPLcom/android/server/biometrics/BiometricServiceBase;->lambda$addLockoutResetCallback$7$BiometricServiceBase(Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->lambda$authenticateInternal$2$BiometricServiceBase(JLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;Ljava/lang/String;)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->lambda$authenticateInternal$2(Lcom/android/server/biometrics/BiometricServiceBase;JLcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;Ljava/lang/String;)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->lambda$enumerateInternal$6$BiometricServiceBase(Lcom/android/server/biometrics/EnumerateClient;)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->listenForUserSwitches()V
+SPLcom/android/server/biometrics/BiometricServiceBase;->loadAuthenticatorIds()V
+SPLcom/android/server/biometrics/BiometricServiceBase;->removeClient(Lcom/android/server/biometrics/ClientMonitor;)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->startAuthentication(Lcom/android/server/biometrics/BiometricServiceBase$AuthenticationClientImpl;Ljava/lang/String;)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->startCleanupUnknownHALTemplates()V
+SPLcom/android/server/biometrics/BiometricServiceBase;->startClient(Lcom/android/server/biometrics/ClientMonitor;Z)V
+SPLcom/android/server/biometrics/BiometricServiceBase;->startCurrentClient(I)V
+SPLcom/android/server/biometrics/BiometricUserState;-><init>(Landroid/content/Context;I)V
+SPLcom/android/server/biometrics/BiometricUserState;->getBiometrics()Ljava/util/List;
+SPLcom/android/server/biometrics/BiometricUserState;->parseStateLocked(Lorg/xmlpull/v1/XmlPullParser;)V
+SPLcom/android/server/biometrics/BiometricUserState;->readStateSyncLocked()V
+SPLcom/android/server/biometrics/ClientMonitor;-><init>(Landroid/content/Context;Lcom/android/server/biometrics/Metrics;Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;JLandroid/os/IBinder;Lcom/android/server/biometrics/BiometricServiceBase$ServiceListener;IIZLjava/lang/String;I)V
+SPLcom/android/server/biometrics/ClientMonitor;->destroy()V
+SPLcom/android/server/biometrics/ClientMonitor;->getCookie()I
+SPLcom/android/server/biometrics/EnumerateClient;->start()I
+SPLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$1$3I9ge5BoesXZUovbayCOCR754fc;->run()V
+SPLcom/android/server/biometrics/fingerprint/-$$Lambda$FingerprintService$YOMIOLvco2SvXVeJIulOSVKdX7A;->run()V
+SPLcom/android/server/biometrics/fingerprint/FingerprintMetrics;->tagAuthToken()Ljava/lang/String;
+SPLcom/android/server/biometrics/fingerprint/FingerprintService$1;->lambda$onEnumerate$5$FingerprintService$1(IIJI)V
+SPLcom/android/server/biometrics/fingerprint/FingerprintService$1;->onEnumerate(JIII)V
+SPLcom/android/server/biometrics/fingerprint/FingerprintService$2;->enumerate()I
+SPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->addLockoutResetCallback(Landroid/hardware/biometrics/IBiometricServiceLockoutResetCallback;)V
+SPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->authenticate(Landroid/os/IBinder;JILandroid/hardware/fingerprint/IFingerprintServiceReceiver;ILjava/lang/String;)V
+SPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->getEnrolledFingerprints(ILjava/lang/String;)Ljava/util/List;
+SPLcom/android/server/biometrics/fingerprint/FingerprintService$FingerprintServiceWrapper;->isHardwareDetected(JLjava/lang/String;)Z
+SPLcom/android/server/biometrics/fingerprint/FingerprintService$InternalEnumerateClient;->doFingerprintCleanup()V
+SPLcom/android/server/biometrics/fingerprint/FingerprintService$InternalEnumerateClient;->handleEnumeratedFingerprint(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)V
+SPLcom/android/server/biometrics/fingerprint/FingerprintService$InternalEnumerateClient;->onEnumerationResult(Landroid/hardware/biometrics/BiometricAuthenticator$Identifier;I)Z
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->checkUseBiometricPermission()V
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->cleanupUnknownFingerprints()V
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->enumerateUser(I)V
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->getBiometricUtils()Lcom/android/server/biometrics/BiometricUtils;
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->getDaemonWrapper()Lcom/android/server/biometrics/BiometricServiceBase$DaemonWrapper;
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->getEnrolledTemplates(I)Ljava/util/List;
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->getFailedAttemptsLockoutPermanent()I
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->getFingerprintDaemon()Landroid/hardware/biometrics/fingerprint/V2_1/IBiometricsFingerprint;
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->getLockoutBroadcastPermission()Ljava/lang/String;
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->getLockoutMode()I
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->getLockoutResetIntent()Ljava/lang/String;
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->getManageBiometricPermission()Ljava/lang/String;
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->getMetrics()Lcom/android/server/biometrics/Metrics;
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->getTag()Ljava/lang/String;
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->handleEnumerate(Landroid/hardware/fingerprint/Fingerprint;I)V
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->hasEnrolledBiometrics(I)Z
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->notifyClientActiveCallbacks(Z)V
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->onStart()V
+SPLcom/android/server/biometrics/fingerprint/FingerprintService;->updateActiveGroup(ILjava/lang/String;)V
+SPLcom/android/server/biometrics/fingerprint/FingerprintUserState;->getBiometricFile()Ljava/lang/String;
+SPLcom/android/server/biometrics/fingerprint/FingerprintUserState;->getBiometricsTag()Ljava/lang/String;
+SPLcom/android/server/biometrics/fingerprint/FingerprintUserState;->getCopy(Ljava/util/ArrayList;)Ljava/util/ArrayList;
+SPLcom/android/server/biometrics/fingerprint/FingerprintUserState;->parseBiometricsLocked(Lorg/xmlpull/v1/XmlPullParser;)V
+SPLcom/android/server/biometrics/fingerprint/FingerprintUtils;->getBiometricsForUser(Landroid/content/Context;I)Ljava/util/List;
+SPLcom/android/server/biometrics/fingerprint/FingerprintUtils;->getInstance()Lcom/android/server/biometrics/fingerprint/FingerprintUtils;
+SPLcom/android/server/biometrics/fingerprint/FingerprintUtils;->getStateForUser(Landroid/content/Context;I)Lcom/android/server/biometrics/fingerprint/FingerprintUserState;
+SPLcom/android/server/camera/CameraServiceProxy;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/camera/CameraServiceProxy;->notifyMediaserverLocked(ILjava/util/Set;)Z
+SPLcom/android/server/camera/CameraServiceProxy;->onStart()V
+SPLcom/android/server/camera/CameraServiceProxy;->onStartUser(I)V
+SPLcom/android/server/camera/CameraServiceProxy;->toArray(Ljava/util/Collection;)[I
+SPLcom/android/server/camera/CameraStatsJobService;->schedule(Landroid/content/Context;)V
+SPLcom/android/server/clipboard/ClipboardService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/clipboard/ClipboardService;->onStart()V
+SPLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$1$EelUlD0Ldboon98oq6H5kDCPW9I;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+SPLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$CompanionDeviceManagerImpl$bdv3Vfadbb8b9nrSgkARO4oYOXU;-><init>()V
+SPLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$bh5xRJq9-CRJoXvmerYRNjK1xEQ;-><init>()V
+SPLcom/android/server/companion/-$$Lambda$CompanionDeviceManagerService$bh5xRJq9-CRJoXvmerYRNjK1xEQ;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+SPLcom/android/server/companion/CompanionDeviceManagerService$1;->onPackageRemoved(Ljava/lang/String;I)V
+SPLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->checkCallerIsSystemOr(Ljava/lang/String;I)V
+SPLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->checkUsesFeature(Ljava/lang/String;I)V
+SPLcom/android/server/companion/CompanionDeviceManagerService$CompanionDeviceManagerImpl;->getAssociations(Ljava/lang/String;I)Ljava/util/List;
+SPLcom/android/server/companion/CompanionDeviceManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/companion/CompanionDeviceManagerService;->onStart()V
+SPLcom/android/server/companion/CompanionDeviceManagerService;->readAllAssociations(ILjava/lang/String;)Ljava/util/Set;
+SPLcom/android/server/companion/CompanionDeviceManagerService;->updateAssociations(Ljava/util/function/Function;I)V
+SPLcom/android/server/connectivity/-$$Lambda$IpConnectivityMetrics$B0oR30xfeM300kIzUVaV_zUNLCg;-><init>()V
+SPLcom/android/server/connectivity/-$$Lambda$IpConnectivityMetrics$B0oR30xfeM300kIzUVaV_zUNLCg;->applyAsInt(Ljava/lang/Object;)I
+SPLcom/android/server/connectivity/DataConnectionStats$1;-><init>(Lcom/android/server/connectivity/DataConnectionStats;)V
+SPLcom/android/server/connectivity/DataConnectionStats;->startMonitoring()V
+SPLcom/android/server/connectivity/DefaultNetworkMetrics;-><init>()V
+SPLcom/android/server/connectivity/DefaultNetworkMetrics;->newDefaultNetwork(JLcom/android/server/connectivity/NetworkAgentInfo;)V
+SPLcom/android/server/connectivity/DnsManager;->getPrivateDnsSettingsUris()[Landroid/net/Uri;
+SPLcom/android/server/connectivity/IpConnectivityMetrics$Impl;->addNetdEventCallback(ILandroid/net/INetdEventCallback;)Z
+SPLcom/android/server/connectivity/IpConnectivityMetrics;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/connectivity/IpConnectivityMetrics;-><init>(Landroid/content/Context;Ljava/util/function/ToIntFunction;)V
+SPLcom/android/server/connectivity/IpConnectivityMetrics;->initBuffer()V
+SPLcom/android/server/connectivity/IpConnectivityMetrics;->onBootPhase(I)V
+SPLcom/android/server/connectivity/IpConnectivityMetrics;->onStart()V
+SPLcom/android/server/connectivity/LingerMonitor;->makeTransportToNameMap()Ljava/util/HashMap;
+SPLcom/android/server/connectivity/MockableSystemProperties;->get(Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/connectivity/MockableSystemProperties;->getBoolean(Ljava/lang/String;Z)Z
+SPLcom/android/server/connectivity/MockableSystemProperties;->getInt(Ljava/lang/String;I)I
+SPLcom/android/server/connectivity/MultipathPolicyTracker$ConfigChangeReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;-><init>()V
+SPLcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;->getClock()Ljava/time/Clock;
+SPLcom/android/server/connectivity/MultipathPolicyTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/connectivity/MultipathPolicyTracker$Dependencies;)V
+SPLcom/android/server/connectivity/MultipathPolicyTracker;->registerTrackMobileCallback()V
+SPLcom/android/server/connectivity/MultipathPolicyTracker;->start()V
+SPLcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;->collect(JLandroid/util/SparseArray;)Lcom/android/server/connectivity/NetdEventListenerService$NetworkMetricsSnapshot;
+SPLcom/android/server/connectivity/NetdEventListenerService;-><init>(Landroid/net/ConnectivityManager;)V
+SPLcom/android/server/connectivity/NetdEventListenerService;->addNetdEventCallback(ILandroid/net/INetdEventCallback;)Z
+SPLcom/android/server/connectivity/NetdEventListenerService;->collectPendingMetricsSnapshot(J)V
+SPLcom/android/server/connectivity/NetdEventListenerService;->getTransports(I)J
+SPLcom/android/server/connectivity/NetdEventListenerService;->onDnsEvent(IIIILjava/lang/String;[Ljava/lang/String;II)V
+SPLcom/android/server/connectivity/PacManager;-><init>(Landroid/content/Context;Landroid/os/Handler;I)V
+SPLcom/android/server/connectivity/PermissionMonitor;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;)V
+SPLcom/android/server/connectivity/PermissionMonitor;->getDeviceFirstSdkInt()I
+SPLcom/android/server/connectivity/PermissionMonitor;->hasUseBackgroundNetworksPermission(I)Z
+SPLcom/android/server/connectivity/PermissionMonitor;->onPackageRemoved(I)V
+SPLcom/android/server/connectivity/PermissionMonitor;->sendPackagePermissionsToNetd(Landroid/util/SparseIntArray;)V
+SPLcom/android/server/connectivity/ProxyTracker;->getGlobalProxy()Landroid/net/ProxyInfo;
+SPLcom/android/server/connectivity/ProxyTracker;->loadDeprecatedGlobalHttpProxy()V
+SPLcom/android/server/connectivity/ProxyTracker;->loadGlobalProxy()V
+SPLcom/android/server/connectivity/TcpKeepaliveController;-><init>(Landroid/os/Handler;)V
+SPLcom/android/server/connectivity/Tethering$3;->updateInterfaceState(Landroid/net/ip/IpServer;II)V
+SPLcom/android/server/connectivity/Tethering$3;->updateLinkProperties(Landroid/net/ip/IpServer;Landroid/net/LinkProperties;)V
+SPLcom/android/server/connectivity/Tethering$StateReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/connectivity/Tethering$TetherMasterSM$InitialState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/connectivity/Tethering$TetherMasterSM$OffloadWrapper;->excludeDownstreamInterface(Ljava/lang/String;)V
+SPLcom/android/server/connectivity/Tethering$TetherMasterSM$OffloadWrapper;->sendOffloadExemptPrefixes()V
+SPLcom/android/server/connectivity/Tethering$TetherMasterSM$OffloadWrapper;->sendOffloadExemptPrefixes(Ljava/util/Set;)V
+SPLcom/android/server/connectivity/Tethering$TetherMasterSM;-><init>(Lcom/android/server/connectivity/Tethering;Ljava/lang/String;Landroid/os/Looper;Lcom/android/server/connectivity/tethering/TetheringDependencies;)V
+SPLcom/android/server/connectivity/Tethering$TetherMasterSM;->handleInterfaceServingStateInactive(Landroid/net/ip/IpServer;)V
+SPLcom/android/server/connectivity/Tethering$TetheringUserRestrictionListener;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+SPLcom/android/server/connectivity/Tethering;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/net/INetworkStatsService;Landroid/net/INetworkPolicyManager;Landroid/os/Looper;Lcom/android/server/connectivity/MockableSystemProperties;Lcom/android/server/connectivity/tethering/TetheringDependencies;)V
+SPLcom/android/server/connectivity/Tethering;->clearTetheredNotification()V
+SPLcom/android/server/connectivity/Tethering;->getTetherableWifiRegexs()[Ljava/lang/String;
+SPLcom/android/server/connectivity/Tethering;->hasTetherableConfiguration()Z
+SPLcom/android/server/connectivity/Tethering;->interfaceAdded(Ljava/lang/String;)V
+SPLcom/android/server/connectivity/Tethering;->interfaceLinkStateChanged(Ljava/lang/String;Z)V
+SPLcom/android/server/connectivity/Tethering;->interfaceStatusChanged(Ljava/lang/String;Z)V
+SPLcom/android/server/connectivity/Tethering;->logMessage(Lcom/android/internal/util/State;I)V
+SPLcom/android/server/connectivity/Tethering;->maybeTrackNewInterfaceLocked(Ljava/lang/String;)V
+SPLcom/android/server/connectivity/Tethering;->maybeTrackNewInterfaceLocked(Ljava/lang/String;I)V
+SPLcom/android/server/connectivity/Tethering;->notifyInterfaceStateChange(Landroid/net/ip/IpServer;II)V
+SPLcom/android/server/connectivity/Tethering;->notifyLinkPropertiesChanged(Landroid/net/ip/IpServer;Landroid/net/LinkProperties;)V
+SPLcom/android/server/connectivity/Tethering;->sendTetherStateChangedBroadcast()V
+SPLcom/android/server/connectivity/Tethering;->startStateMachineUpdaters()V
+SPLcom/android/server/connectivity/Tethering;->systemReady()V
+SPLcom/android/server/connectivity/Tethering;->updateConfiguration()V
+SPLcom/android/server/connectivity/Vpn$SystemServices;->settingsSecureGetIntForUser(Ljava/lang/String;II)I
+SPLcom/android/server/connectivity/Vpn$SystemServices;->settingsSecureGetStringForUser(Ljava/lang/String;I)Ljava/lang/String;
+SPLcom/android/server/connectivity/Vpn;-><init>(Landroid/os/Looper;Landroid/content/Context;Landroid/os/INetworkManagementService;ILcom/android/server/connectivity/Vpn$SystemServices;)V
+SPLcom/android/server/connectivity/Vpn;->appliesToUid(I)Z
+SPLcom/android/server/connectivity/Vpn;->doesPackageTargetAtLeastQ(Ljava/lang/String;)Z
+SPLcom/android/server/connectivity/Vpn;->getAppUid(Ljava/lang/String;I)I
+SPLcom/android/server/connectivity/Vpn;->getVpnInfo()Lcom/android/internal/net/VpnInfo;
+SPLcom/android/server/connectivity/Vpn;->loadAlwaysOnPackage()V
+SPLcom/android/server/connectivity/Vpn;->setAllowOnlyVpnForUids(ZLjava/util/Collection;)Z
+SPLcom/android/server/connectivity/Vpn;->setAlwaysOnPackageInternal(Ljava/lang/String;ZLjava/util/List;)Z
+SPLcom/android/server/connectivity/Vpn;->setVpnForcedLocked(Z)V
+SPLcom/android/server/connectivity/Vpn;->updateAlwaysOnNotification(Landroid/net/NetworkInfo$DetailedState;)V
+SPLcom/android/server/connectivity/Vpn;->updateCapabilities()V
+SPLcom/android/server/connectivity/Vpn;->updateCapabilities(Landroid/net/ConnectivityManager;[Landroid/net/Network;Landroid/net/NetworkCapabilities;Z)V
+SPLcom/android/server/connectivity/Vpn;->updateCapabilities(Landroid/net/Network;)Landroid/net/NetworkCapabilities;
+SPLcom/android/server/connectivity/tethering/-$$Lambda$OffloadController$OffloadTetheringStatsProvider$3TF0NI3fE8A-xW0925oMv3YzAOk;->run()V
+SPLcom/android/server/connectivity/tethering/EntitlementManager;-><init>(Landroid/content/Context;Lcom/android/internal/util/StateMachine;Landroid/net/util/SharedLog;Lcom/android/server/connectivity/MockableSystemProperties;)V
+SPLcom/android/server/connectivity/tethering/EntitlementManager;->updateConfiguration(Lcom/android/server/connectivity/tethering/TetheringConfiguration;)V
+SPLcom/android/server/connectivity/tethering/IPv6TetheringCoordinator;->findDownstream(Landroid/net/ip/IpServer;)Lcom/android/server/connectivity/tethering/IPv6TetheringCoordinator$Downstream;
+SPLcom/android/server/connectivity/tethering/IPv6TetheringCoordinator;->removeActiveDownstream(Landroid/net/ip/IpServer;)V
+SPLcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;->getTetherStats(I)Landroid/net/NetworkStats;
+SPLcom/android/server/connectivity/tethering/OffloadController$OffloadTetheringStatsProvider;->lambda$getTetherStats$0$OffloadController$OffloadTetheringStatsProvider()V
+SPLcom/android/server/connectivity/tethering/OffloadController;-><init>(Landroid/os/Handler;Lcom/android/server/connectivity/tethering/OffloadHardwareInterface;Landroid/content/ContentResolver;Landroid/os/INetworkManagementService;Landroid/net/util/SharedLog;)V
+SPLcom/android/server/connectivity/tethering/OffloadController;->removeDownstreamInterface(Ljava/lang/String;)V
+SPLcom/android/server/connectivity/tethering/OffloadController;->setLocalPrefixes(Ljava/util/Set;)V
+SPLcom/android/server/connectivity/tethering/OffloadHardwareInterface$ForwardedStats;-><init>()V
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;-><init>(Landroid/content/Context;Landroid/net/util/SharedLog;)V
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;-><init>(Landroid/content/Context;Landroid/net/util/SharedLog;I)V
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;->dunCheckString(I)Ljava/lang/String;
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;->getProvisioningAppNoUi(Landroid/content/Context;)Ljava/lang/String;
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;->getProvisioningAppNoUi(Landroid/content/res/Resources;)Ljava/lang/String;
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;->getResourceBoolean(Landroid/content/Context;I)Z
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;->getResourceBoolean(Landroid/content/res/Resources;I)Z
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;->getResourceStringArray(Landroid/content/Context;I)[Ljava/lang/String;
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;->getResourceStringArray(Landroid/content/res/Resources;I)[Ljava/lang/String;
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;->getUpstreamIfaceTypes(Landroid/content/Context;I)Ljava/util/Collection;
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;->getUpstreamIfaceTypes(Landroid/content/res/Resources;I)Ljava/util/Collection;
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;->isBluetooth(Ljava/lang/String;)Z
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;->isUsb(Ljava/lang/String;)Z
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;->isWifi(Ljava/lang/String;)Z
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;->makeString([Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;->preferredUpstreamNames(Ljava/util/Collection;)[Ljava/lang/String;
+SPLcom/android/server/connectivity/tethering/TetheringConfiguration;->toString()Ljava/lang/String;
+SPLcom/android/server/connectivity/tethering/TetheringDependencies;->getDefaultDataSubscriptionId()I
+SPLcom/android/server/connectivity/tethering/TetheringDependencies;->getEntitlementManager(Landroid/content/Context;Lcom/android/internal/util/StateMachine;Landroid/net/util/SharedLog;Lcom/android/server/connectivity/MockableSystemProperties;)Lcom/android/server/connectivity/tethering/EntitlementManager;
+SPLcom/android/server/connectivity/tethering/TetheringDependencies;->getIPv6TetheringCoordinator(Ljava/util/ArrayList;Landroid/net/util/SharedLog;)Lcom/android/server/connectivity/tethering/IPv6TetheringCoordinator;
+SPLcom/android/server/connectivity/tethering/TetheringDependencies;->getIpServerDependencies()Landroid/net/ip/IpServer$Dependencies;
+SPLcom/android/server/connectivity/tethering/TetheringDependencies;->getIpServerDependencies(Landroid/content/Context;)Landroid/net/ip/IpServer$Dependencies;
+SPLcom/android/server/connectivity/tethering/TetheringDependencies;->getOffloadHardwareInterface(Landroid/os/Handler;Landroid/net/util/SharedLog;)Lcom/android/server/connectivity/tethering/OffloadHardwareInterface;
+SPLcom/android/server/connectivity/tethering/TetheringDependencies;->getUpstreamNetworkMonitor(Landroid/content/Context;Lcom/android/internal/util/StateMachine;Landroid/net/util/SharedLog;I)Lcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;
+SPLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;-><init>(Landroid/content/Context;Lcom/android/internal/util/StateMachine;Landroid/net/util/SharedLog;I)V
+SPLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;->getLocalPrefixes()Ljava/util/Set;
+SPLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;->startTrackDefaultNetwork(Landroid/net/NetworkRequest;)V
+SPLcom/android/server/connectivity/tethering/UpstreamNetworkMonitor;->updateMobileRequiresDun(Z)V
+SPLcom/android/server/content/-$$Lambda$SyncManager$68MEyNkTh36YmYoFlURJoRa_-cY;-><init>()V
+SPLcom/android/server/content/-$$Lambda$SyncManager$CjX_2uO4O4xJPQnKzeqvGwd87Dc;->run()V
+SPLcom/android/server/content/-$$Lambda$SyncManager$bVs0A6OYdmGkOiq_lbp5MiBwelw;-><init>()V
+SPLcom/android/server/content/-$$Lambda$SyncManagerConstants$qo5ldQVp10jCUY9aavBZDKP2k6Q;->run()V
+SPLcom/android/server/content/ContentService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/content/ContentService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/content/ContentService$Lifecycle;->onStart()V
+SPLcom/android/server/content/ContentService$Lifecycle;->onStartUser(I)V
+SPLcom/android/server/content/ContentService$ObserverNode;->collectMyObserversLocked(ZLandroid/database/IContentObserver;ZIILjava/util/ArrayList;)V
+SPLcom/android/server/content/ContentService;-><init>(Landroid/content/Context;Z)V
+SPLcom/android/server/content/ContentService;->checkUriPermission(Landroid/net/Uri;IIII)I
+SPLcom/android/server/content/ContentService;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
+SPLcom/android/server/content/ContentService;->getSyncExemptionAndCleanUpExtrasForCaller(ILandroid/os/Bundle;)I
+SPLcom/android/server/content/ContentService;->getSyncManager()Lcom/android/server/content/SyncManager;
+SPLcom/android/server/content/ContentService;->invalidateCacheLocked(ILjava/lang/String;Landroid/net/Uri;)V
+SPLcom/android/server/content/ContentService;->notifyChange(Landroid/net/Uri;Landroid/database/IContentObserver;ZIIILjava/lang/String;)V
+SPLcom/android/server/content/ContentService;->unregisterContentObserver(Landroid/database/IContentObserver;)V
+SPLcom/android/server/content/SyncLogger$RotatingFileLogger$MyHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/content/SyncLogger$RotatingFileLogger$MyHandler;->log(J[Ljava/lang/Object;)V
+SPLcom/android/server/content/SyncLogger$RotatingFileLogger;-><init>()V
+SPLcom/android/server/content/SyncLogger$RotatingFileLogger;->enabled()Z
+SPLcom/android/server/content/SyncLogger$RotatingFileLogger;->log([Ljava/lang/Object;)V
+SPLcom/android/server/content/SyncLogger$RotatingFileLogger;->openLogLocked(J)V
+SPLcom/android/server/content/SyncLogger;->getInstance()Lcom/android/server/content/SyncLogger;
+SPLcom/android/server/content/SyncManager$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/content/SyncManager;-><init>(Landroid/content/Context;Z)V
+SPLcom/android/server/content/SyncManager;->getSyncAdapterPackagesForAuthorityAsUser(Ljava/lang/String;I)[Ljava/lang/String;
+SPLcom/android/server/content/SyncManager;->lambda$onStartUser$1$SyncManager(I)V
+SPLcom/android/server/content/SyncManager;->onBootPhase(I)V
+SPLcom/android/server/content/SyncManager;->onStartUser(I)V
+SPLcom/android/server/content/SyncManager;->scheduleLocalSync(Landroid/accounts/Account;IILjava/lang/String;IIILjava/lang/String;)V
+SPLcom/android/server/content/SyncManager;->scheduleSync(Landroid/accounts/Account;IILjava/lang/String;Landroid/os/Bundle;IJZIIILjava/lang/String;)V
+SPLcom/android/server/content/SyncManager;->whiteListExistingSyncAdaptersIfNeeded()V
+SPLcom/android/server/content/SyncManagerConstants;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/content/SyncManagerConstants;->lambda$start$0$SyncManagerConstants()V
+SPLcom/android/server/content/SyncManagerConstants;->refresh()V
+SPLcom/android/server/content/SyncManagerConstants;->start()V
+SPLcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;->isAccountValid(Landroid/accounts/Account;I)Z
+SPLcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;->isAuthorityValid(Ljava/lang/String;I)Z
+SPLcom/android/server/content/SyncStorageEngine$AuthorityInfo;->defaultInitialisation()V
+SPLcom/android/server/content/SyncStorageEngine$AuthorityInfo;->toString()Ljava/lang/String;
+SPLcom/android/server/content/SyncStorageEngine$EndPoint;-><init>(Landroid/accounts/Account;Ljava/lang/String;I)V
+SPLcom/android/server/content/SyncStorageEngine$EndPoint;->toString()Ljava/lang/String;
+SPLcom/android/server/content/SyncStorageEngine;-><init>(Landroid/content/Context;Ljava/io/File;Landroid/os/Looper;)V
+SPLcom/android/server/content/SyncStorageEngine;->createAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;IZ)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
+SPLcom/android/server/content/SyncStorageEngine;->getOrCreateAuthorityLocked(Lcom/android/server/content/SyncStorageEngine$EndPoint;IZ)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
+SPLcom/android/server/content/SyncStorageEngine;->maybeMigrateSettingsForRenamedAuthorities()Z
+SPLcom/android/server/content/SyncStorageEngine;->parseAuthority(Lorg/xmlpull/v1/XmlPullParser;ILcom/android/server/content/SyncStorageEngine$AccountAuthorityValidator;)Lcom/android/server/content/SyncStorageEngine$AuthorityInfo;
+SPLcom/android/server/content/SyncStorageEngine;->parseListenForTickles(Lorg/xmlpull/v1/XmlPullParser;)V
+SPLcom/android/server/content/SyncStorageEngine;->readStatisticsLocked()V
+SPLcom/android/server/content/SyncStorageEngine;->readStatusLocked()V
+SPLcom/android/server/content/SyncStorageEngine;->setClockValid()V
+SPLcom/android/server/content/SyncStorageEngine;->setOnAuthorityRemovedListener(Lcom/android/server/content/SyncStorageEngine$OnAuthorityRemovedListener;)V
+SPLcom/android/server/content/SyncStorageEngine;->setOnSyncRequestListener(Lcom/android/server/content/SyncStorageEngine$OnSyncRequestListener;)V
+SPLcom/android/server/content/SyncStorageEngine;->setPeriodicSyncAddedListener(Lcom/android/server/content/SyncStorageEngine$PeriodicSyncAddedListener;)V
+SPLcom/android/server/content/SyncStorageEngine;->shouldGrantSyncAdaptersAccountAccess()Z
+SPLcom/android/server/contentcapture/ContentCaptureManagerService$LocalService;->getOptionsForPackage(ILjava/lang/String;)Landroid/content/ContentCaptureOptions;
+SPLcom/android/server/contentcapture/ContentCaptureManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/contentcapture/ContentCaptureManagerService;->isDisabledBySettings(I)Z
+SPLcom/android/server/contentcapture/ContentCaptureManagerService;->isDisabledLocked(I)Z
+SPLcom/android/server/contentcapture/ContentCaptureManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
+SPLcom/android/server/contentcapture/ContentCaptureManagerService;->onServiceRemoved(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
+SPLcom/android/server/contentcapture/ContentCaptureManagerService;->onStart()V
+SPLcom/android/server/contentcapture/ContentCaptureManagerService;->registerForExtraSettingsChanges(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
+SPLcom/android/server/contentcapture/ContentCaptureManagerService;->setDisabledByDeviceConfig(Ljava/lang/String;)V
+SPLcom/android/server/contentcapture/ContentCaptureManagerService;->setFineTuneParamsFromDeviceConfig()V
+SPLcom/android/server/contentcapture/ContentCaptureManagerService;->setLoggingLevelFromDeviceConfig()V
+SPLcom/android/server/contentcapture/ContentCapturePerUserService;->updateLocked(Z)Z
+SPLcom/android/server/contentcapture/ContentCapturePerUserService;->updateRemoteServiceLocked(Z)V
+SPLcom/android/server/contentsuggestions/ContentSuggestionsManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/contentsuggestions/ContentSuggestionsManagerService;->newServiceLocked(IZ)Lcom/android/server/contentsuggestions/ContentSuggestionsPerUserService;
+SPLcom/android/server/contentsuggestions/ContentSuggestionsManagerService;->newServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
+SPLcom/android/server/contentsuggestions/ContentSuggestionsManagerService;->onStart()V
+SPLcom/android/server/contentsuggestions/ContentSuggestionsPerUserService;->updateLocked(Z)Z
+SPLcom/android/server/devicepolicy/-$$Lambda$DevicePolicyManagerService$_Nw-YGl5ncBg-LJs8W81WNW6xoU;->run()V
+SPLcom/android/server/devicepolicy/CertificateMonitor$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/devicepolicy/CertificateMonitor;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;Landroid/os/Handler;)V
+SPLcom/android/server/devicepolicy/CertificateMonitor;->updateInstalledCertificates(Landroid/os/UserHandle;)V
+SPLcom/android/server/devicepolicy/DeviceAdminServiceController;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Lcom/android/server/devicepolicy/DevicePolicyConstants;)V
+SPLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->getScreenCaptureDisabled(I)Z
+SPLcom/android/server/devicepolicy/DevicePolicyCacheImpl;->setScreenCaptureDisabled(IZ)V
+SPLcom/android/server/devicepolicy/DevicePolicyConstants;-><init>(Ljava/lang/String;)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$4;->sendDeviceOwnerUserCommand(Ljava/lang/String;I)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$8;->run()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;-><init>(Landroid/app/admin/DeviceAdminInfo;Z)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getParentActiveAdmin()Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getUid()I
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->getUserHandle()Landroid/os/UserHandle;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->hasParentActiveAdmin()Z
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;->readPackageList(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;)Ljava/util/List;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyConstantsObserver;->register()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;-><init>(I)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderClearCallingIdentity()J
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderGetCallingUid()I
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->binderRestoreCallingIdentity(J)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->environmentGetUserSystemDirectory(I)Ljava/io/File;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getActivityTaskManagerInternal()Lcom/android/server/wm/ActivityTaskManagerInternal;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getDevicePolicyFilePathForSystemUser()Ljava/lang/String;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIActivityManager()Landroid/app/IActivityManager;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIActivityTaskManager()Landroid/app/IActivityTaskManager;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIPackageManager()Landroid/content/pm/IPackageManager;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getIWindowManager()Landroid/view/IWindowManager;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getMyLooper()Landroid/os/Looper;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getNetworkPolicyManagerInternal()Lcom/android/server/net/NetworkPolicyManagerInternal;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManager()Landroid/content/pm/PackageManager;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPackageManagerInternal()Landroid/content/pm/PackageManagerInternal;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getPowerManagerInternal()Landroid/os/PowerManagerInternal;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getTelephonyManager()Landroid/telephony/TelephonyManager;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getUsageStatsManagerInternal()Landroid/app/usage/UsageStatsManagerInternal;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getUserManager()Landroid/os/UserManager;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->getUserManagerInternal()Landroid/os/UserManagerInternal;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->hasFeature()Z
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->newLockPatternUtils()Lcom/android/internal/widget/LockPatternUtils;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->newOwners()Lcom/android/server/devicepolicy/Owners;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->newTransferOwnershipMetadataManager()Lcom/android/server/devicepolicy/TransferOwnershipMetadataManager;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->postOnSystemServerInitThreadPool(Ljava/lang/Runnable;)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->registerContentObserver(Landroid/net/Uri;ZLandroid/database/ContentObserver;I)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->securityLogIsLoggingEnabled()Z
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsGlobalGetInt(Ljava/lang/String;I)I
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsGlobalGetString(Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsGlobalPutInt(Ljava/lang/String;I)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->settingsSecureGetIntForUser(Ljava/lang/String;II)I
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->systemPropertiesGet(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;->systemPropertiesSet(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onStart()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$Lifecycle;->onStartUser(I)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->addOnCrossProfileWidgetProvidersChangeListener(Landroid/app/admin/DevicePolicyManagerInternal$OnCrossProfileWidgetProvidersChangeListener;)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$LocalService;->getDevicePolicyCache()Landroid/app/admin/DevicePolicyCache;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$RestrictionsListener;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$SetupContentObserver;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;Landroid/os/Handler;)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService$SetupContentObserver;->register()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService$Injector;)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->cleanUpOldUsers()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceDeviceOwnerOrManageUsers()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceSystemUserOrPermission(Ljava/lang/String;)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->enforceSystemUserOrPermissionIfCrossUser(ILjava/lang/String;)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->ensureUnknownSourcesRestrictionForProfileOwnerLocked(ILcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;Z)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->findAdmin(Landroid/content/ComponentName;IZ)Landroid/app/admin/DeviceAdminInfo;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->findOwnerComponentIfNecessaryLocked()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminPackagesLocked(I)Ljava/util/Set;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminUncheckedLocked(Landroid/content/ComponentName;I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminWithPolicyForUidLocked(Landroid/content/ComponentName;II)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getActiveAdminsForLockscreenPoliciesLocked(IZ)Ljava/util/List;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCameraDisabled(Landroid/content/ComponentName;I)Z
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getCameraDisabled(Landroid/content/ComponentName;IZ)Z
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerAdminLocked()Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getDeviceOwnerComponent(Z)Landroid/content/ComponentName;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getKeyguardDisabledFeatures(Landroid/content/ComponentName;IZ)I
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getMaximumTimeToLockPolicyFromAdmins(Ljava/util/List;)J
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getOwnerComponent(I)Landroid/content/ComponentName;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwner(I)Landroid/content/ComponentName;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerAdminLocked(I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileOwnerAsUser(I)Landroid/content/ComponentName;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getProfileParentId(I)I
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getScreenCaptureDisabled(Landroid/content/ComponentName;I)Z
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserData(I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserDataUnchecked(I)Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->getUserInfo(I)Landroid/content/pm/UserInfo;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->handlePackagesChanged(Ljava/lang/String;I)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->handleStartUser(I)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->hasDeviceOwner()Z
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isLogoutEnabled()Z
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->isSeparateProfileChallengeEnabled(I)Z
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->lambda$loadAdminDataAsync$0$DevicePolicyManagerService()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadOwners()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->loadSettingsLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;I)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->makeJournaledFile(I)Lcom/android/internal/util/JournaledFile;
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeLogStart()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeSendAdminEnabledBroadcastLocked(I)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeSetDefaultProfileOwnerUserRestrictions()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeSetDefaultRestrictionsForAdminLocked(ILcom/android/server/devicepolicy/DevicePolicyManagerService$ActiveAdmin;Ljava/util/Set;)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->maybeStartSecurityLogMonitorOnActivityManagerReady()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->migrateUserRestrictionsIfNecessaryLocked()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->onLockSettingsReady()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->packageHasActiveAdmins(Ljava/lang/String;I)Z
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->pushActiveAdminPackages()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->pushAllMeteredRestrictedPackages()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->pushUserRestrictions(I)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->revertTransferOwnershipIfNecessaryLocked()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->setDeviceOwnerSystemPropertyLocked()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->systemReady(I)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateDeviceOwnerLocked()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateLockTaskFeaturesLocked(II)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateLockTaskPackagesLocked(Ljava/util/List;I)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateMaximumTimeToLockLocked(I)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateProfileLockTimeoutLocked(I)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateSystemUpdateFreezePeriodsRecord(Z)V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->updateUserSetupCompleteAndPaired()V
+SPLcom/android/server/devicepolicy/DevicePolicyManagerService;->validatePasswordOwnerLocked(Lcom/android/server/devicepolicy/DevicePolicyManagerService$DevicePolicyData;)V
+SPLcom/android/server/devicepolicy/Owners$DeviceOwnerReadWriter;->readInner(Lorg/xmlpull/v1/XmlPullParser;ILjava/lang/String;)Z
+SPLcom/android/server/devicepolicy/Owners$FileReadWriter;->readFromFileLocked()V
+SPLcom/android/server/devicepolicy/Owners$Injector;->environmentGetDataSystemDirectory()Ljava/io/File;
+SPLcom/android/server/devicepolicy/Owners$Injector;->environmentGetUserSystemDirectory(I)Ljava/io/File;
+SPLcom/android/server/devicepolicy/Owners$OwnerInfo;->readFromXml(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/devicepolicy/Owners$OwnerInfo;
+SPLcom/android/server/devicepolicy/Owners$ProfileOwnerReadWriter;->readInner(Lorg/xmlpull/v1/XmlPullParser;ILjava/lang/String;)Z
+SPLcom/android/server/devicepolicy/Owners;->getDeviceOwnerComponent()Landroid/content/ComponentName;
+SPLcom/android/server/devicepolicy/Owners;->getDeviceOwnerFile()Ljava/io/File;
+SPLcom/android/server/devicepolicy/Owners;->getDeviceOwnerUserId()I
+SPLcom/android/server/devicepolicy/Owners;->getDeviceOwnerUserRestrictionsNeedsMigration()Z
+SPLcom/android/server/devicepolicy/Owners;->getLegacyConfigFile()Ljava/io/File;
+SPLcom/android/server/devicepolicy/Owners;->getProfileOwnerComponent(I)Landroid/content/ComponentName;
+SPLcom/android/server/devicepolicy/Owners;->getProfileOwnerFile(I)Ljava/io/File;
+SPLcom/android/server/devicepolicy/Owners;->getProfileOwnerKeys()Ljava/util/Set;
+SPLcom/android/server/devicepolicy/Owners;->getProfileOwnerUserRestrictionsNeedsMigration(I)Z
+SPLcom/android/server/devicepolicy/Owners;->getSystemUpdatePolicy()Landroid/app/admin/SystemUpdatePolicy;
+SPLcom/android/server/devicepolicy/Owners;->hasDeviceOwner()Z
+SPLcom/android/server/devicepolicy/Owners;->hasProfileOwner(I)Z
+SPLcom/android/server/devicepolicy/Owners;->isDeviceOwnerUserId(I)Z
+SPLcom/android/server/devicepolicy/Owners;->load()V
+SPLcom/android/server/devicepolicy/Owners;->pushToAppOpsLocked()V
+SPLcom/android/server/devicepolicy/Owners;->pushToPackageManagerLocked()V
+SPLcom/android/server/devicepolicy/Owners;->readLegacyOwnerFileLocked(Ljava/io/File;)Z
+SPLcom/android/server/devicepolicy/Owners;->systemReady()V
+SPLcom/android/server/devicepolicy/SecurityLogMonitor;-><init>(Lcom/android/server/devicepolicy/DevicePolicyManagerService;J)V
+SPLcom/android/server/devicepolicy/TransferOwnershipMetadataManager$Injector;->getOwnerTransferMetadataDir()Ljava/io/File;
+SPLcom/android/server/devicepolicy/TransferOwnershipMetadataManager;->metadataFileExists()Z
+SPLcom/android/server/display/-$$Lambda$AmbientBrightnessStatsTracker$vQZYn_dAhbvzT-Un4vvpuyIATII;->elapsedTimeMillis()J
 SPLcom/android/server/display/-$$Lambda$VirtualDisplayAdapter$PFyqe-aYIEBicSVtuy5lL_bT8B0;-><init>()V
-SPLcom/android/server/display/DisplayAdapter$1;-><init>(Lcom/android/server/display/DisplayAdapter;Lcom/android/server/display/DisplayDevice;I)V
+SPLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->getOrCreateDayStats(Ljava/util/Deque;Ljava/time/LocalDate;)Landroid/hardware/display/AmbientBrightnessDayStats;
+SPLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->getOrCreateUserStats(Ljava/util/Map;I)Ljava/util/Deque;
+SPLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->log(ILjava/time/LocalDate;FF)V
+SPLcom/android/server/display/AmbientBrightnessStatsTracker$AmbientBrightnessStats;->readFromXML(Ljava/io/InputStream;)V
+SPLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->elapsedRealtimeMillis()J
+SPLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->getLocalDate()Ljava/time/LocalDate;
+SPLcom/android/server/display/AmbientBrightnessStatsTracker$Injector;->getUserId(Landroid/os/UserManager;I)I
+SPLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->isRunning()Z
+SPLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->reset()V
+SPLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->start()V
+SPLcom/android/server/display/AmbientBrightnessStatsTracker$Timer;->totalDurationSec()F
+SPLcom/android/server/display/AmbientBrightnessStatsTracker;-><init>(Landroid/os/UserManager;Lcom/android/server/display/AmbientBrightnessStatsTracker$Injector;)V
+SPLcom/android/server/display/AmbientBrightnessStatsTracker;->add(IF)V
+SPLcom/android/server/display/AmbientBrightnessStatsTracker;->lambda$new$0$AmbientBrightnessStatsTracker()J
+SPLcom/android/server/display/AmbientBrightnessStatsTracker;->readStats(Ljava/io/InputStream;)V
+SPLcom/android/server/display/AmbientBrightnessStatsTracker;->start()V
+SPLcom/android/server/display/AppSaturationController;->addColorTransformController(Ljava/lang/String;ILjava/lang/ref/WeakReference;)Z
+SPLcom/android/server/display/AutomaticBrightnessController$2;-><init>(Lcom/android/server/display/AutomaticBrightnessController;)V
+SPLcom/android/server/display/AutomaticBrightnessController$AmbientLightRingBuffer;-><init>(JI)V
+SPLcom/android/server/display/AutomaticBrightnessController$AutomaticBrightnessHandler;-><init>(Lcom/android/server/display/AutomaticBrightnessController;Landroid/os/Looper;)V
+SPLcom/android/server/display/AutomaticBrightnessController$TaskStackListenerImpl;-><init>(Lcom/android/server/display/AutomaticBrightnessController;)V
+SPLcom/android/server/display/AutomaticBrightnessController;-><init>(Lcom/android/server/display/AutomaticBrightnessController$Callbacks;Landroid/os/Looper;Landroid/hardware/SensorManager;Lcom/android/server/display/BrightnessMappingStrategy;IIIFIIJJZLcom/android/server/display/HysteresisLevels;Lcom/android/server/display/HysteresisLevels;JLandroid/content/pm/PackageManager;)V
+SPLcom/android/server/display/AutomaticBrightnessController;->configure(ZLandroid/hardware/display/BrightnessConfiguration;FZFZI)V
+SPLcom/android/server/display/AutomaticBrightnessController;->hasUserDataPoints()Z
+SPLcom/android/server/display/AutomaticBrightnessController;->resetShortTermModel()V
+SPLcom/android/server/display/AutomaticBrightnessController;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)Z
+SPLcom/android/server/display/AutomaticBrightnessController;->setDisplayPolicy(I)Z
+SPLcom/android/server/display/AutomaticBrightnessController;->setLightSensorEnabled(Z)Z
+SPLcom/android/server/display/AutomaticBrightnessController;->updateAutoBrightness(Z)V
+SPLcom/android/server/display/BrightnessIdleJob;->scheduleJob(Landroid/content/Context;)V
+SPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->clearUserDataPoints()V
+SPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->computeSpline()V
+SPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->convertToNits(I)F
+SPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->hasUserDataPoints()Z
+SPLcom/android/server/display/BrightnessMappingStrategy$PhysicalMappingStrategy;->setBrightnessConfiguration(Landroid/hardware/display/BrightnessConfiguration;)Z
+SPLcom/android/server/display/BrightnessMappingStrategy;->getAdjustedCurve([F[FFFFF)Landroid/util/Pair;
+SPLcom/android/server/display/BrightnessMappingStrategy;->isValidMapping([F[F)Z
+SPLcom/android/server/display/BrightnessMappingStrategy;->isValidMapping([F[I)Z
+SPLcom/android/server/display/BrightnessTracker$DisplayListener;->onDisplayChanged(I)V
+SPLcom/android/server/display/BrightnessTracker$Injector;->currentTimeMillis()J
+SPLcom/android/server/display/BrightnessTracker$Injector;->elapsedRealtimeNanos()J
+SPLcom/android/server/display/BrightnessTracker$Injector;->enableColorSampling(ZI)Z
+SPLcom/android/server/display/BrightnessTracker$Injector;->getBackgroundHandler()Landroid/os/Handler;
+SPLcom/android/server/display/BrightnessTracker$Injector;->getFile(Ljava/lang/String;)Landroid/util/AtomicFile;
+SPLcom/android/server/display/BrightnessTracker$Injector;->getFrameRate(Landroid/content/Context;)F
+SPLcom/android/server/display/BrightnessTracker$Injector;->getSamplingAttributes()Landroid/hardware/display/DisplayedContentSamplingAttributes;
+SPLcom/android/server/display/BrightnessTracker$Injector;->getUserId(Landroid/os/UserManager;I)I
+SPLcom/android/server/display/BrightnessTracker$Injector;->isBrightnessModeAutomatic(Landroid/content/ContentResolver;)Z
+SPLcom/android/server/display/BrightnessTracker$Injector;->isInteractive(Landroid/content/Context;)Z
+SPLcom/android/server/display/BrightnessTracker$Injector;->registerBrightnessModeObserver(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
+SPLcom/android/server/display/BrightnessTracker$Injector;->registerDisplayListener(Landroid/content/Context;Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
+SPLcom/android/server/display/BrightnessTracker$Injector;->registerReceiver(Landroid/content/Context;Landroid/content/BroadcastReceiver;Landroid/content/IntentFilter;)V
+SPLcom/android/server/display/BrightnessTracker$Injector;->registerSensorListener(Landroid/content/Context;Landroid/hardware/SensorEventListener;Landroid/os/Handler;)V
+SPLcom/android/server/display/BrightnessTracker$Injector;->scheduleIdleJob(Landroid/content/Context;)V
+SPLcom/android/server/display/BrightnessTracker$Receiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/display/BrightnessTracker$SensorListener;->onAccuracyChanged(Landroid/hardware/Sensor;I)V
+SPLcom/android/server/display/BrightnessTracker$SensorListener;->onSensorChanged(Landroid/hardware/SensorEvent;)V
+SPLcom/android/server/display/BrightnessTracker$TrackerHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/display/BrightnessTracker;-><init>(Landroid/content/Context;Lcom/android/server/display/BrightnessTracker$Injector;)V
+SPLcom/android/server/display/BrightnessTracker;->backgroundStart(F)V
+SPLcom/android/server/display/BrightnessTracker;->batteryLevelChanged(II)V
+SPLcom/android/server/display/BrightnessTracker;->enableColorSampling()V
+SPLcom/android/server/display/BrightnessTracker;->readAmbientBrightnessStats()V
+SPLcom/android/server/display/BrightnessTracker;->readEvents()V
+SPLcom/android/server/display/BrightnessTracker;->recordSensorEvent(Landroid/hardware/SensorEvent;)V
+SPLcom/android/server/display/BrightnessTracker;->start(F)V
+SPLcom/android/server/display/BrightnessTracker;->startSensorListener()V
+SPLcom/android/server/display/ColorDisplayService$1;-><init>(Lcom/android/server/display/ColorDisplayService;)V
+SPLcom/android/server/display/ColorDisplayService$ColorDisplayServiceInternal;->attachColorTransformController(Ljava/lang/String;ILjava/lang/ref/WeakReference;)Z
+SPLcom/android/server/display/ColorDisplayService$ColorMatrixEvaluator;-><init>(Lcom/android/server/display/ColorDisplayService$1;)V
+SPLcom/android/server/display/ColorDisplayService$TintController;->isActivated()Z
+SPLcom/android/server/display/ColorDisplayService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/display/ColorDisplayService;->onBootPhase(I)V
+SPLcom/android/server/display/ColorDisplayService;->onStart()V
+SPLcom/android/server/display/ColorDisplayService;->onStartUser(I)V
+SPLcom/android/server/display/ColorDisplayService;->onUserChanged(I)V
+SPLcom/android/server/display/ColorFade;-><init>(I)V
 SPLcom/android/server/display/DisplayAdapter$1;->run()V
-SPLcom/android/server/display/DisplayAdapter$2;-><init>(Lcom/android/server/display/DisplayAdapter;)V
 SPLcom/android/server/display/DisplayAdapter$2;->run()V
-SPLcom/android/server/display/DisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Ljava/lang/String;)V
-SPLcom/android/server/display/DisplayAdapter;->access$000(Lcom/android/server/display/DisplayAdapter;)Lcom/android/server/display/DisplayAdapter$Listener;
-SPLcom/android/server/display/DisplayAdapter;->createMode(IIF)Landroid/view/Display$Mode;
-SPLcom/android/server/display/DisplayAdapter;->getHandler()Landroid/os/Handler;
-SPLcom/android/server/display/DisplayAdapter;->registerLocked()V
-SPLcom/android/server/display/DisplayAdapter;->sendDisplayDeviceEventLocked(Lcom/android/server/display/DisplayDevice;I)V
-SPLcom/android/server/display/DisplayAdapter;->sendTraversalRequestLocked()V
-SPLcom/android/server/display/DisplayDevice;-><init>(Lcom/android/server/display/DisplayAdapter;Landroid/os/IBinder;Ljava/lang/String;)V
-SPLcom/android/server/display/DisplayDevice;->getDisplayTokenLocked()Landroid/os/IBinder;
-SPLcom/android/server/display/DisplayDevice;->getUniqueId()Ljava/lang/String;
-SPLcom/android/server/display/DisplayDeviceInfo;-><init>()V
+SPLcom/android/server/display/DisplayDevice;->performTraversalLocked(Landroid/view/SurfaceControl$Transaction;)V
+SPLcom/android/server/display/DisplayDevice;->populateViewportLocked(Landroid/hardware/display/DisplayViewport;)V
+SPLcom/android/server/display/DisplayDevice;->setProjectionLocked(Landroid/view/SurfaceControl$Transaction;ILandroid/graphics/Rect;Landroid/graphics/Rect;)V
 SPLcom/android/server/display/DisplayDeviceInfo;->diff(Lcom/android/server/display/DisplayDeviceInfo;)I
-SPLcom/android/server/display/DisplayDeviceInfo;->equals(Lcom/android/server/display/DisplayDeviceInfo;)Z
 SPLcom/android/server/display/DisplayDeviceInfo;->equals(Ljava/lang/Object;)Z
 SPLcom/android/server/display/DisplayDeviceInfo;->flagsToString(I)Ljava/lang/String;
 SPLcom/android/server/display/DisplayDeviceInfo;->toString()Ljava/lang/String;
-SPLcom/android/server/display/DisplayDeviceInfo;->touchToString(I)Ljava/lang/String;
-SPLcom/android/server/display/DisplayManagerService$BinderService;-><init>(Lcom/android/server/display/DisplayManagerService;)V
-SPLcom/android/server/display/DisplayManagerService$CallbackRecord;-><init>(Lcom/android/server/display/DisplayManagerService;ILandroid/hardware/display/IDisplayManagerCallback;)V
-SPLcom/android/server/display/DisplayManagerService$DisplayAdapterListener;-><init>(Lcom/android/server/display/DisplayManagerService;)V
-SPLcom/android/server/display/DisplayManagerService$DisplayAdapterListener;-><init>(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService$1;)V
+SPLcom/android/server/display/DisplayManagerService$BinderService;->getDisplayIds()[I
+SPLcom/android/server/display/DisplayManagerService$BinderService;->getPreferredWideGamutColorSpaceId()I
+SPLcom/android/server/display/DisplayManagerService$BinderService;->getWifiDisplayStatus()Landroid/hardware/display/WifiDisplayStatus;
+SPLcom/android/server/display/DisplayManagerService$BinderService;->registerCallback(Landroid/hardware/display/IDisplayManagerCallback;)V
+SPLcom/android/server/display/DisplayManagerService$CallbackRecord;->notifyDisplayEventAsync(II)V
 SPLcom/android/server/display/DisplayManagerService$DisplayAdapterListener;->onDisplayDeviceEvent(Lcom/android/server/display/DisplayDevice;I)V
 SPLcom/android/server/display/DisplayManagerService$DisplayAdapterListener;->onTraversalRequested()V
-SPLcom/android/server/display/DisplayManagerService$DisplayManagerHandler;-><init>(Lcom/android/server/display/DisplayManagerService;Landroid/os/Looper;)V
 SPLcom/android/server/display/DisplayManagerService$DisplayManagerHandler;->handleMessage(Landroid/os/Message;)V
-SPLcom/android/server/display/DisplayManagerService$Injector;-><init>()V
 SPLcom/android/server/display/DisplayManagerService$Injector;->getDefaultDisplayDelayTimeout()J
 SPLcom/android/server/display/DisplayManagerService$Injector;->getVirtualDisplayAdapter(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;)Lcom/android/server/display/VirtualDisplayAdapter;
-SPLcom/android/server/display/DisplayManagerService$LocalService;-><init>(Lcom/android/server/display/DisplayManagerService;)V
-SPLcom/android/server/display/DisplayManagerService$LocalService;-><init>(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayManagerService$1;)V
-SPLcom/android/server/display/DisplayManagerService$SyncRoot;-><init>()V
+SPLcom/android/server/display/DisplayManagerService$LocalService$1;->requestDisplayState(II)V
+SPLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayInfo(I)Landroid/view/DisplayInfo;
+SPLcom/android/server/display/DisplayManagerService$LocalService;->getDisplayedContentSamplingAttributes(I)Landroid/hardware/display/DisplayedContentSamplingAttributes;
+SPLcom/android/server/display/DisplayManagerService$LocalService;->getNonOverrideDisplayInfo(ILandroid/view/DisplayInfo;)V
+SPLcom/android/server/display/DisplayManagerService$LocalService;->initPowerManagement(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;Landroid/os/Handler;Landroid/hardware/SensorManager;)V
+SPLcom/android/server/display/DisplayManagerService$LocalService;->isProximitySensorAvailable()Z
+SPLcom/android/server/display/DisplayManagerService$LocalService;->onOverlayChanged()V
+SPLcom/android/server/display/DisplayManagerService$LocalService;->performTraversal(Landroid/view/SurfaceControl$Transaction;)V
+SPLcom/android/server/display/DisplayManagerService$LocalService;->requestPowerState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Z)Z
+SPLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayAccessUIDs(Landroid/util/SparseArray;)V
+SPLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayInfoOverrideFromWindowManager(ILandroid/view/DisplayInfo;)V
+SPLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayProperties(IZFIZ)V
+SPLcom/android/server/display/DisplayManagerService$LocalService;->setDisplayedContentSamplingEnabled(IZII)Z
 SPLcom/android/server/display/DisplayManagerService;-><init>(Landroid/content/Context;)V
 SPLcom/android/server/display/DisplayManagerService;-><init>(Landroid/content/Context;Lcom/android/server/display/DisplayManagerService$Injector;)V
-SPLcom/android/server/display/DisplayManagerService;->access$1500(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayDevice;)V
-SPLcom/android/server/display/DisplayManagerService;->access$1600(Lcom/android/server/display/DisplayManagerService;Lcom/android/server/display/DisplayDevice;)V
-SPLcom/android/server/display/DisplayManagerService;->access$1800(Lcom/android/server/display/DisplayManagerService;Z)V
-SPLcom/android/server/display/DisplayManagerService;->access$200(Lcom/android/server/display/DisplayManagerService;)V
-SPLcom/android/server/display/DisplayManagerService;->access$2300(Lcom/android/server/display/DisplayManagerService;Landroid/hardware/display/IDisplayManagerCallback;I)V
-SPLcom/android/server/display/DisplayManagerService;->access$400(Lcom/android/server/display/DisplayManagerService;II)V
 SPLcom/android/server/display/DisplayManagerService;->addLogicalDisplayLocked(Lcom/android/server/display/DisplayDevice;)Lcom/android/server/display/LogicalDisplay;
-SPLcom/android/server/display/DisplayManagerService;->assignDisplayIdLocked(Z)I
-SPLcom/android/server/display/DisplayManagerService;->assignLayerStackLocked(I)I
 SPLcom/android/server/display/DisplayManagerService;->configureColorModeLocked(Lcom/android/server/display/LogicalDisplay;Lcom/android/server/display/DisplayDevice;)V
+SPLcom/android/server/display/DisplayManagerService;->configureDisplayLocked(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/display/DisplayDevice;)V
 SPLcom/android/server/display/DisplayManagerService;->deliverDisplayEvent(II)V
-SPLcom/android/server/display/DisplayManagerService;->getFloatArray(Landroid/content/res/TypedArray;)[F
+SPLcom/android/server/display/DisplayManagerService;->getDisplayIdsInternal(I)[I
+SPLcom/android/server/display/DisplayManagerService;->getDisplayToken(I)Landroid/os/IBinder;
+SPLcom/android/server/display/DisplayManagerService;->getNonOverrideDisplayInfoInternal(ILandroid/view/DisplayInfo;)V
+SPLcom/android/server/display/DisplayManagerService;->getViewportLocked(ILjava/lang/String;)Landroid/hardware/display/DisplayViewport;
+SPLcom/android/server/display/DisplayManagerService;->getWifiDisplayStatusInternal()Landroid/hardware/display/WifiDisplayStatus;
 SPLcom/android/server/display/DisplayManagerService;->handleDisplayDeviceAdded(Lcom/android/server/display/DisplayDevice;)V
 SPLcom/android/server/display/DisplayManagerService;->handleDisplayDeviceAddedLocked(Lcom/android/server/display/DisplayDevice;)V
 SPLcom/android/server/display/DisplayManagerService;->handleDisplayDeviceChanged(Lcom/android/server/display/DisplayDevice;)V
+SPLcom/android/server/display/DisplayManagerService;->loadBrightnessConfiguration()V
 SPLcom/android/server/display/DisplayManagerService;->loadStableDisplayValuesLocked()V
 SPLcom/android/server/display/DisplayManagerService;->onBootPhase(I)V
 SPLcom/android/server/display/DisplayManagerService;->onStart()V
-SPLcom/android/server/display/DisplayManagerService;->recordStableDisplayStatsIfNeededLocked(Lcom/android/server/display/LogicalDisplay;)V
+SPLcom/android/server/display/DisplayManagerService;->performTraversalInternal(Landroid/view/SurfaceControl$Transaction;)V
+SPLcom/android/server/display/DisplayManagerService;->performTraversalLocked(Landroid/view/SurfaceControl$Transaction;)V
+SPLcom/android/server/display/DisplayManagerService;->registerAdditionalDisplayAdapters()V
+SPLcom/android/server/display/DisplayManagerService;->registerCallbackInternal(Landroid/hardware/display/IDisplayManagerCallback;I)V
 SPLcom/android/server/display/DisplayManagerService;->registerDefaultDisplayAdapters()V
-SPLcom/android/server/display/DisplayManagerService;->registerDisplayAdapterLocked(Lcom/android/server/display/DisplayAdapter;)V
-SPLcom/android/server/display/DisplayManagerService;->scheduleTraversalLocked(Z)V
-SPLcom/android/server/display/DisplayManagerService;->sendDisplayEventLocked(II)V
-SPLcom/android/server/display/DisplayManagerService;->updateDisplayStateLocked(Lcom/android/server/display/DisplayDevice;)Ljava/lang/Runnable;
+SPLcom/android/server/display/DisplayManagerService;->registerWifiDisplayAdapterLocked()V
+SPLcom/android/server/display/DisplayManagerService;->requestGlobalDisplayStateInternal(II)V
+SPLcom/android/server/display/DisplayManagerService;->setDisplayAccessUIDsInternal(Landroid/util/SparseArray;)V
+SPLcom/android/server/display/DisplayManagerService;->setDisplayInfoOverrideFromWindowManagerInternal(ILandroid/view/DisplayInfo;)V
+SPLcom/android/server/display/DisplayManagerService;->setDisplayPropertiesInternal(IZFIZ)V
+SPLcom/android/server/display/DisplayManagerService;->setupSchedulerPolicies()V
+SPLcom/android/server/display/DisplayManagerService;->systemReady(ZZ)V
 SPLcom/android/server/display/DisplayManagerService;->updateLogicalDisplaysLocked()Z
-SPLcom/android/server/display/color/DisplayTransformManager;-><init>()V
-SPLcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;-><init>(Landroid/view/SurfaceControl$PhysicalDisplayInfo;)V
+SPLcom/android/server/display/DisplayManagerService;->windowManagerAndInputReady()V
+SPLcom/android/server/display/DisplayPowerController$1;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+SPLcom/android/server/display/DisplayPowerController$2;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+SPLcom/android/server/display/DisplayPowerController$2;->onAnimationEnd()V
+SPLcom/android/server/display/DisplayPowerController$3;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+SPLcom/android/server/display/DisplayPowerController$3;->run()V
+SPLcom/android/server/display/DisplayPowerController$4;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+SPLcom/android/server/display/DisplayPowerController$4;->run()V
+SPLcom/android/server/display/DisplayPowerController$5;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+SPLcom/android/server/display/DisplayPowerController$6;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+SPLcom/android/server/display/DisplayPowerController$8;-><init>(Lcom/android/server/display/DisplayPowerController;)V
+SPLcom/android/server/display/DisplayPowerController$DisplayControllerHandler;-><init>(Lcom/android/server/display/DisplayPowerController;Landroid/os/Looper;)V
+SPLcom/android/server/display/DisplayPowerController$DisplayControllerHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/display/DisplayPowerController$SettingsObserver;-><init>(Lcom/android/server/display/DisplayPowerController;Landroid/os/Handler;)V
+SPLcom/android/server/display/DisplayPowerController;-><init>(Landroid/content/Context;Landroid/hardware/display/DisplayManagerInternal$DisplayPowerCallbacks;Landroid/os/Handler;Landroid/hardware/SensorManager;Lcom/android/server/display/DisplayBlanker;)V
+SPLcom/android/server/display/DisplayPowerController;->animateScreenBrightness(II)V
+SPLcom/android/server/display/DisplayPowerController;->animateScreenStateChange(IZ)V
+SPLcom/android/server/display/DisplayPowerController;->clampAbsoluteBrightness(I)I
+SPLcom/android/server/display/DisplayPowerController;->getAutoBrightnessAdjustmentSetting()F
+SPLcom/android/server/display/DisplayPowerController;->getScreenBrightnessForVrSetting()I
+SPLcom/android/server/display/DisplayPowerController;->getScreenBrightnessSetting()I
+SPLcom/android/server/display/DisplayPowerController;->initialize()V
+SPLcom/android/server/display/DisplayPowerController;->notifyBrightnessChanged(IZZ)V
+SPLcom/android/server/display/DisplayPowerController;->requestPowerState(Landroid/hardware/display/DisplayManagerInternal$DisplayPowerRequest;Z)Z
+SPLcom/android/server/display/DisplayPowerController;->sendUpdatePowerState()V
+SPLcom/android/server/display/DisplayPowerController;->setProximitySensorEnabled(Z)V
+SPLcom/android/server/display/DisplayPowerController;->setScreenState(IZ)Z
+SPLcom/android/server/display/DisplayPowerController;->unblockScreenOn()V
+SPLcom/android/server/display/DisplayPowerController;->updatePowerState()V
+SPLcom/android/server/display/DisplayPowerState$1;-><init>(Ljava/lang/String;)V
+SPLcom/android/server/display/DisplayPowerState$2;-><init>(Ljava/lang/String;)V
+SPLcom/android/server/display/DisplayPowerState$2;->setValue(Lcom/android/server/display/DisplayPowerState;I)V
+SPLcom/android/server/display/DisplayPowerState$2;->setValue(Ljava/lang/Object;I)V
+SPLcom/android/server/display/DisplayPowerState$3;->run()V
+SPLcom/android/server/display/DisplayPowerState$PhotonicModulator;->run()V
+SPLcom/android/server/display/DisplayPowerState$PhotonicModulator;->setState(II)Z
+SPLcom/android/server/display/DisplayPowerState;-><init>(Lcom/android/server/display/DisplayBlanker;Lcom/android/server/display/ColorFade;)V
+SPLcom/android/server/display/DisplayPowerState;->setColorFadeLevel(F)V
+SPLcom/android/server/display/DisplayPowerState;->setScreenBrightness(I)V
+SPLcom/android/server/display/DisplayTransformManager;-><init>()V
+SPLcom/android/server/display/HysteresisLevels;-><init>([I[I[I)V
 SPLcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;->hasMatchingMode(Landroid/view/SurfaceControl$PhysicalDisplayInfo;)Z
-SPLcom/android/server/display/LocalDisplayAdapter$HotplugDisplayEventReceiver;-><init>(Lcom/android/server/display/LocalDisplayAdapter;Landroid/os/Looper;)V
-SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;-><init>(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;IIZIILandroid/os/IBinder;)V
 SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->run()V
 SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->setDisplayBrightness(I)V
 SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice$1;->setDisplayState(I)V
-SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;-><init>(Lcom/android/server/display/LocalDisplayAdapter;Landroid/os/IBinder;I[Landroid/view/SurfaceControl$PhysicalDisplayInfo;I[II)V
-SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->access$000(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;)Lcom/android/server/lights/Light;
-SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->access$100(Lcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;)Z
+SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;-><init>(Lcom/android/server/display/LocalDisplayAdapter;Landroid/os/IBinder;J[Landroid/view/SurfaceControl$PhysicalDisplayInfo;I[IIZ)V
 SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->applyPendingDisplayDeviceInfoChangesLocked()V
-SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->findDisplayInfoIndexLocked(I)I
-SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->findDisplayModeRecord(Landroid/view/SurfaceControl$PhysicalDisplayInfo;)Lcom/android/server/display/LocalDisplayAdapter$DisplayModeRecord;
 SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->getDisplayDeviceInfoLocked()Lcom/android/server/display/DisplayDeviceInfo;
 SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->hasStableUniqueId()Z
+SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->onOverlayChangedLocked()V
+SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->requestColorModeLocked(I)Z
+SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->requestDisplayModesLocked(II)V
 SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->requestDisplayStateLocked(II)Ljava/lang/Runnable;
+SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->requestModeLocked(I)Z
 SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateColorModesLocked([II)Z
-SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updateDeviceInfoLocked()V
 SPLcom/android/server/display/LocalDisplayAdapter$LocalDisplayDevice;->updatePhysicalDisplayInfoLocked([Landroid/view/SurfaceControl$PhysicalDisplayInfo;I[II)Z
-SPLcom/android/server/display/LocalDisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;)V
-SPLcom/android/server/display/LocalDisplayAdapter;->getOverlayContext()Landroid/content/Context;
-SPLcom/android/server/display/LocalDisplayAdapter;->getPowerModeForState(I)I
 SPLcom/android/server/display/LocalDisplayAdapter;->registerLocked()V
-SPLcom/android/server/display/LocalDisplayAdapter;->tryConnectDisplayLocked(I)V
-SPLcom/android/server/display/LogicalDisplay;-><init>(IILcom/android/server/display/DisplayDevice;)V
-SPLcom/android/server/display/LogicalDisplay;->getPrimaryDisplayDeviceLocked()Lcom/android/server/display/DisplayDevice;
-SPLcom/android/server/display/LogicalDisplay;->isValidLocked()Z
-SPLcom/android/server/display/LogicalDisplay;->setRequestedColorModeLocked(I)V
+SPLcom/android/server/display/LocalDisplayAdapter;->tryConnectDisplayLocked(J)V
+SPLcom/android/server/display/LogicalDisplay;->configureDisplayLocked(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/display/DisplayDevice;Z)V
+SPLcom/android/server/display/LogicalDisplay;->setDisplayInfoOverrideFromWindowManagerLocked(Landroid/view/DisplayInfo;)Z
 SPLcom/android/server/display/LogicalDisplay;->updateLocked(Ljava/util/List;)V
-SPLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;-><init>()V
-SPLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->loadConfigurationFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/hardware/display/BrightnessConfiguration;
-SPLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->loadCurveFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/Pair;
-SPLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->loadFloat(Ljava/lang/String;)F
+SPLcom/android/server/display/OverlayDisplayAdapter$1;->run()V
+SPLcom/android/server/display/OverlayDisplayAdapter;->updateOverlayDisplayDevices()V
+SPLcom/android/server/display/OverlayDisplayAdapter;->updateOverlayDisplayDevicesLocked()V
 SPLcom/android/server/display/PersistentDataStore$BrightnessConfigurations;->loadFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
-SPLcom/android/server/display/PersistentDataStore$Injector;-><init>()V
 SPLcom/android/server/display/PersistentDataStore$Injector;->openRead()Ljava/io/InputStream;
-SPLcom/android/server/display/PersistentDataStore$StableDeviceValues;-><init>()V
-SPLcom/android/server/display/PersistentDataStore$StableDeviceValues;-><init>(Lcom/android/server/display/PersistentDataStore$1;)V
-SPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->access$100(Lcom/android/server/display/PersistentDataStore$StableDeviceValues;)Landroid/graphics/Point;
-SPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->getDisplaySize()Landroid/graphics/Point;
 SPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->loadFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
 SPLcom/android/server/display/PersistentDataStore$StableDeviceValues;->loadIntValue(Lorg/xmlpull/v1/XmlPullParser;)I
-SPLcom/android/server/display/PersistentDataStore;-><init>()V
 SPLcom/android/server/display/PersistentDataStore;-><init>(Lcom/android/server/display/PersistentDataStore$Injector;)V
-SPLcom/android/server/display/PersistentDataStore;->clearState()V
-SPLcom/android/server/display/PersistentDataStore;->getColorMode(Lcom/android/server/display/DisplayDevice;)I
-SPLcom/android/server/display/PersistentDataStore;->getDisplayState(Ljava/lang/String;Z)Lcom/android/server/display/PersistentDataStore$DisplayState;
-SPLcom/android/server/display/PersistentDataStore;->getStableDisplaySize()Landroid/graphics/Point;
 SPLcom/android/server/display/PersistentDataStore;->load()V
 SPLcom/android/server/display/PersistentDataStore;->loadDisplaysFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
 SPLcom/android/server/display/PersistentDataStore;->loadFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
-SPLcom/android/server/display/PersistentDataStore;->loadIfNeeded()V
 SPLcom/android/server/display/PersistentDataStore;->loadRememberedWifiDisplaysFromXml(Lorg/xmlpull/v1/XmlPullParser;)V
-SPLcom/android/server/display/VirtualDisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;)V
-SPLcom/android/server/display/VirtualDisplayAdapter;-><init>(Lcom/android/server/display/DisplayManagerService$SyncRoot;Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/display/DisplayAdapter$Listener;Lcom/android/server/display/VirtualDisplayAdapter$SurfaceControlDisplayFactory;)V
+SPLcom/android/server/display/RampAnimator;->animateTo(II)Z
 SPLcom/android/server/display/VirtualDisplayAdapter;->registerLocked()V
+SPLcom/android/server/display/color/AppSaturationController;->addColorTransformController(Ljava/lang/String;ILjava/lang/ref/WeakReference;)Z
+SPLcom/android/server/display/color/ColorDisplayService$ColorDisplayServiceInternal;->attachColorTransformController(Ljava/lang/String;ILjava/lang/ref/WeakReference;)Z
+SPLcom/android/server/display/color/ColorDisplayService$ColorMatrixEvaluator;-><init>(Lcom/android/server/display/color/ColorDisplayService$1;)V
+SPLcom/android/server/display/color/ColorDisplayService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/display/color/ColorDisplayService;->onBootPhase(I)V
+SPLcom/android/server/display/color/ColorDisplayService;->onStart()V
+SPLcom/android/server/display/color/ColorDisplayService;->onStartUser(I)V
+SPLcom/android/server/display/color/ColorDisplayService;->onUserChanged(I)V
+SPLcom/android/server/display/color/DisplayTransformManager;-><init>()V
+SPLcom/android/server/display/utils/Plog;->createSystemPlog(Ljava/lang/String;)Lcom/android/server/display/utils/Plog;
+SPLcom/android/server/display/whitebalance/AmbientSensor$AmbientColorTemperatureSensor;-><init>(Landroid/os/Handler;Landroid/hardware/SensorManager;Ljava/lang/String;I)V
+SPLcom/android/server/display/whitebalance/AmbientSensor;-><init>(Ljava/lang/String;Landroid/os/Handler;Landroid/hardware/SensorManager;I)V
+SPLcom/android/server/display/whitebalance/DisplayWhiteBalanceFactory;->create(Landroid/os/Handler;Landroid/hardware/SensorManager;Landroid/content/res/Resources;)Lcom/android/server/display/whitebalance/DisplayWhiteBalanceController;
+SPLcom/android/server/display/whitebalance/DisplayWhiteBalanceFactory;->createBrightnessFilter(Landroid/content/res/Resources;)Lcom/android/server/display/whitebalance/AmbientFilter;
+SPLcom/android/server/display/whitebalance/DisplayWhiteBalanceSettings;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+SPLcom/android/server/dreams/DreamController;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/dreams/DreamController$Listener;)V
+SPLcom/android/server/dreams/DreamManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/dreams/DreamManagerService$LocalService;->isDreaming()Z
+SPLcom/android/server/dreams/DreamManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/dreams/DreamManagerService;->getServiceInfo(Landroid/content/ComponentName;)Landroid/content/pm/ServiceInfo;
+SPLcom/android/server/dreams/DreamManagerService;->isDreamingInternal()Z
+SPLcom/android/server/dreams/DreamManagerService;->onBootPhase(I)V
+SPLcom/android/server/dreams/DreamManagerService;->onStart()V
+SPLcom/android/server/dreams/DreamManagerService;->stopDreamLocked(Z)V
+SPLcom/android/server/dreams/DreamManagerService;->validateDream(Landroid/content/ComponentName;)Z
+SPLcom/android/server/emergency/EmergencyAffordanceService$MyHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/emergency/EmergencyAffordanceService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/emergency/EmergencyAffordanceService;->handleUpdateCellInfo()Z
+SPLcom/android/server/emergency/EmergencyAffordanceService;->handleUpdateSimSubscriptionInfo()Z
+SPLcom/android/server/emergency/EmergencyAffordanceService;->onBootPhase(I)V
+SPLcom/android/server/emergency/EmergencyAffordanceService;->onStart()V
+SPLcom/android/server/emergency/EmergencyAffordanceService;->updateEmergencyAffordanceNeeded()V
+SPLcom/android/server/ethernet/-$$Lambda$EthernetTracker$7ZSuSvoSqcExye5DLwv_gyq6gyM;->run()V
+SPLcom/android/server/ethernet/-$$Lambda$EthernetTracker$InterfaceObserver$RwJV-Ek3mzxwZq-yoQwiconpRi8;->run()V
+SPLcom/android/server/ethernet/-$$Lambda$EthernetTracker$InterfaceObserver$d1ixKZZuAxwm1Dz_AX3HmL4JVLA;->run()V
+SPLcom/android/server/ethernet/EthernetConfigStore;-><init>()V
+SPLcom/android/server/ethernet/EthernetConfigStore;->getIpConfigurationForDefaultInterface()Landroid/net/IpConfiguration;
+SPLcom/android/server/ethernet/EthernetConfigStore;->getIpConfigurations()Landroid/util/ArrayMap;
+SPLcom/android/server/ethernet/EthernetConfigStore;->read()V
+SPLcom/android/server/ethernet/EthernetNetworkFactory;->updateInterfaceLinkState(Ljava/lang/String;Z)Z
+SPLcom/android/server/ethernet/EthernetService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/ethernet/EthernetService;->onBootPhase(I)V
+SPLcom/android/server/ethernet/EthernetService;->onStart()V
+SPLcom/android/server/ethernet/EthernetServiceImpl;->start()V
+SPLcom/android/server/ethernet/EthernetTracker$InterfaceObserver;->interfaceAdded(Ljava/lang/String;)V
+SPLcom/android/server/ethernet/EthernetTracker$InterfaceObserver;->interfaceLinkStateChanged(Ljava/lang/String;Z)V
+SPLcom/android/server/ethernet/EthernetTracker$InterfaceObserver;->lambda$interfaceAdded$1$EthernetTracker$InterfaceObserver(Ljava/lang/String;)V
+SPLcom/android/server/ethernet/EthernetTracker$InterfaceObserver;->lambda$interfaceLinkStateChanged$0$EthernetTracker$InterfaceObserver(Ljava/lang/String;Z)V
+SPLcom/android/server/ethernet/EthernetTracker;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+SPLcom/android/server/ethernet/EthernetTracker;->createNetworkCapabilities(ZLjava/lang/String;Ljava/lang/String;)Landroid/net/NetworkCapabilities;
+SPLcom/android/server/ethernet/EthernetTracker;->maybeTrackInterface(Ljava/lang/String;)V
+SPLcom/android/server/ethernet/EthernetTracker;->start()V
+SPLcom/android/server/ethernet/EthernetTracker;->trackAvailableInterfaces()V
+SPLcom/android/server/ethernet/EthernetTracker;->updateInterfaceState(Ljava/lang/String;Z)V
 SPLcom/android/server/firewall/AndFilter$1;-><init>(Ljava/lang/String;)V
 SPLcom/android/server/firewall/CategoryFilter$1;-><init>(Ljava/lang/String;)V
-SPLcom/android/server/firewall/FilterFactory;-><init>(Ljava/lang/String;)V
 SPLcom/android/server/firewall/FilterFactory;->getTagName()Ljava/lang/String;
-SPLcom/android/server/firewall/IntentFirewall$FirewallHandler;-><init>(Lcom/android/server/firewall/IntentFirewall;Landroid/os/Looper;)V
-SPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;-><init>()V
-SPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;-><init>(Lcom/android/server/firewall/IntentFirewall$1;)V
-SPLcom/android/server/firewall/IntentFirewall$RuleObserver;-><init>(Lcom/android/server/firewall/IntentFirewall;Ljava/io/File;)V
+SPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
+SPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->newArray(I)[Lcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;
+SPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->queryByComponent(Landroid/content/ComponentName;Ljava/util/List;)V
+SPLcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;->sortResults(Ljava/util/List;)V
+SPLcom/android/server/firewall/IntentFirewall$Rule;->getComponentFilterCount()I
+SPLcom/android/server/firewall/IntentFirewall$Rule;->getIntentFilter(I)Lcom/android/server/firewall/IntentFirewall$FirewallIntentFilter;
+SPLcom/android/server/firewall/IntentFirewall$Rule;->getIntentFilterCount()I
+SPLcom/android/server/firewall/IntentFirewall$Rule;->readChild(Lorg/xmlpull/v1/XmlPullParser;)V
 SPLcom/android/server/firewall/IntentFirewall;-><init>(Lcom/android/server/firewall/IntentFirewall$AMSInterface;Landroid/os/Handler;)V
-SPLcom/android/server/firewall/IntentFirewall;->getRulesDir()Ljava/io/File;
+SPLcom/android/server/firewall/IntentFirewall;->checkBroadcast(Landroid/content/Intent;IILjava/lang/String;I)Z
+SPLcom/android/server/firewall/IntentFirewall;->checkIntent(Lcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;Landroid/content/ComponentName;ILandroid/content/Intent;IILjava/lang/String;I)Z
+SPLcom/android/server/firewall/IntentFirewall;->checkService(Landroid/content/ComponentName;Landroid/content/Intent;IILjava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
+SPLcom/android/server/firewall/IntentFirewall;->checkStartActivity(Landroid/content/Intent;IILjava/lang/String;Landroid/content/pm/ApplicationInfo;)Z
+SPLcom/android/server/firewall/IntentFirewall;->parseFilter(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/firewall/Filter;
+SPLcom/android/server/firewall/IntentFirewall;->readRules(Ljava/io/File;[Lcom/android/server/firewall/IntentFirewall$FirewallIntentResolver;)V
 SPLcom/android/server/firewall/IntentFirewall;->readRulesDir(Ljava/io/File;)V
 SPLcom/android/server/firewall/NotFilter$1;-><init>(Ljava/lang/String;)V
 SPLcom/android/server/firewall/OrFilter$1;-><init>(Ljava/lang/String;)V
@@ -19524,337 +17292,5416 @@
 SPLcom/android/server/firewall/StringFilter$7;-><init>(Ljava/lang/String;)V
 SPLcom/android/server/firewall/StringFilter$8;-><init>(Ljava/lang/String;)V
 SPLcom/android/server/firewall/StringFilter$9;-><init>(Ljava/lang/String;)V
-SPLcom/android/server/firewall/StringFilter$ValueProvider;-><init>(Ljava/lang/String;)V
-SPLcom/android/server/lights/Light;-><init>()V
-SPLcom/android/server/lights/LightsManager;-><init>()V
-SPLcom/android/server/lights/LightsService$1;-><init>(Lcom/android/server/lights/LightsService;)V
+SPLcom/android/server/firewall/StringFilter$ValueProvider;->newFilter(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/firewall/Filter;
+SPLcom/android/server/firewall/StringFilter;->getFilter(Lcom/android/server/firewall/StringFilter$ValueProvider;Lorg/xmlpull/v1/XmlPullParser;I)Lcom/android/server/firewall/StringFilter;
+SPLcom/android/server/firewall/StringFilter;->readFromXml(Lcom/android/server/firewall/StringFilter$ValueProvider;Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/firewall/StringFilter;
+SPLcom/android/server/gpu/GpuService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/gpu/GpuService;->onBootPhase(I)V
+SPLcom/android/server/gpu/GpuService;->onStart()V
+SPLcom/android/server/incident/IncidentCompanionService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/incident/IncidentCompanionService;->onBootPhase(I)V
+SPLcom/android/server/incident/IncidentCompanionService;->onStart()V
+SPLcom/android/server/incident/PendingReports;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/infra/-$$Lambda$AbstractMasterSystemService$_fKw-VUP0pSfcMMlgRqoT4OPhxw;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+SPLcom/android/server/infra/AbstractMasterSystemService$1;->onPackageRemoved(Ljava/lang/String;I)V
+SPLcom/android/server/infra/AbstractMasterSystemService$1;->onSomePackagesChanged()V
+SPLcom/android/server/infra/AbstractMasterSystemService$SettingsObserver;-><init>(Lcom/android/server/infra/AbstractMasterSystemService;Landroid/os/Handler;)V
+SPLcom/android/server/infra/AbstractMasterSystemService;-><init>(Landroid/content/Context;Lcom/android/server/infra/ServiceNameResolver;Ljava/lang/String;)V
+SPLcom/android/server/infra/AbstractMasterSystemService;->getServiceForUserLocked(I)Lcom/android/server/infra/AbstractPerUserSystemService;
+SPLcom/android/server/infra/AbstractMasterSystemService;->getServiceSettingsProperty()Ljava/lang/String;
+SPLcom/android/server/infra/AbstractMasterSystemService;->isBindInstantServiceAllowed()Z
+SPLcom/android/server/infra/AbstractMasterSystemService;->isDisabledLocked(I)Z
+SPLcom/android/server/infra/AbstractMasterSystemService;->lambda$new$1$AbstractMasterSystemService(Ljava/lang/String;ILandroid/os/Bundle;Landroid/os/Bundle;)V
+SPLcom/android/server/infra/AbstractMasterSystemService;->lambda$new$1(Lcom/android/server/infra/AbstractMasterSystemService;Ljava/lang/String;ILandroid/os/Bundle;Landroid/os/Bundle;)V
+SPLcom/android/server/infra/AbstractMasterSystemService;->onBootPhase(I)V
+SPLcom/android/server/infra/AbstractMasterSystemService;->onServiceEnabledLocked(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
+SPLcom/android/server/infra/AbstractMasterSystemService;->onServiceRemoved(Lcom/android/server/infra/AbstractPerUserSystemService;I)V
+SPLcom/android/server/infra/AbstractMasterSystemService;->peekServiceForUserLocked(I)Lcom/android/server/infra/AbstractPerUserSystemService;
+SPLcom/android/server/infra/AbstractMasterSystemService;->registerForExtraSettingsChanges(Landroid/content/ContentResolver;Landroid/database/ContentObserver;)V
+SPLcom/android/server/infra/AbstractMasterSystemService;->updateCachedServiceLocked(I)V
+SPLcom/android/server/infra/AbstractMasterSystemService;->updateCachedServiceLocked(IZ)Lcom/android/server/infra/AbstractPerUserSystemService;
+SPLcom/android/server/infra/AbstractPerUserSystemService;->isEnabledLocked()Z
+SPLcom/android/server/infra/AbstractPerUserSystemService;->updateLocked(Z)Z
+SPLcom/android/server/infra/AbstractPerUserSystemService;->updateServiceInfoLocked()Landroid/content/ComponentName;
+SPLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->getDefaultServiceName(I)Ljava/lang/String;
+SPLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->getServiceName(I)Ljava/lang/String;
+SPLcom/android/server/infra/FrameworkResourcesServiceNameResolver;->setOnTemporaryServiceNameChangedCallback(Lcom/android/server/infra/ServiceNameResolver$NameResolverListener;)V
+SPLcom/android/server/infra/SecureSettingsServiceNameResolver;->getDefaultServiceName(I)Ljava/lang/String;
+SPLcom/android/server/infra/ServiceNameResolver;->getServiceName(I)Ljava/lang/String;
+SPLcom/android/server/infra/ServiceNameResolver;->setOnTemporaryServiceNameChangedCallback(Lcom/android/server/infra/ServiceNameResolver$NameResolverListener;)V
+SPLcom/android/server/input/InputManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/input/InputManagerService$5;->visitKeyboardLayout(Landroid/content/res/Resources;ILandroid/hardware/input/KeyboardLayout;)V
+SPLcom/android/server/input/InputManagerService$InputManagerHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/input/InputManagerService$LocalService;->setDisplayViewports(Ljava/util/List;)V
+SPLcom/android/server/input/InputManagerService$LocalService;->setPulseGestureEnabled(Z)V
+SPLcom/android/server/input/InputManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/input/InputManagerService;->canDispatchToDisplay(II)Z
+SPLcom/android/server/input/InputManagerService;->deliverInputDevicesChanged([Landroid/view/InputDevice;)V
+SPLcom/android/server/input/InputManagerService;->getCurrentKeyboardLayoutForInputDevice(Landroid/hardware/input/InputDeviceIdentifier;)Ljava/lang/String;
+SPLcom/android/server/input/InputManagerService;->getDeviceAlias(Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/input/InputManagerService;->getDoubleTapTimeout()I
+SPLcom/android/server/input/InputManagerService;->getExcludedDeviceNames()[Ljava/lang/String;
+SPLcom/android/server/input/InputManagerService;->getHoverTapSlop()I
+SPLcom/android/server/input/InputManagerService;->getHoverTapTimeout()I
+SPLcom/android/server/input/InputManagerService;->getInputDevices()[Landroid/view/InputDevice;
+SPLcom/android/server/input/InputManagerService;->getInputPortAssociations()[Ljava/lang/String;
+SPLcom/android/server/input/InputManagerService;->getKeyCodeState(III)I
+SPLcom/android/server/input/InputManagerService;->getKeyRepeatDelay()I
+SPLcom/android/server/input/InputManagerService;->getKeyRepeatTimeout()I
+SPLcom/android/server/input/InputManagerService;->getKeyboardLayoutOverlay(Landroid/hardware/input/InputDeviceIdentifier;)[Ljava/lang/String;
+SPLcom/android/server/input/InputManagerService;->getLayoutDescriptor(Landroid/hardware/input/InputDeviceIdentifier;)Ljava/lang/String;
+SPLcom/android/server/input/InputManagerService;->getLongPressTimeout()I
+SPLcom/android/server/input/InputManagerService;->getPointerDisplayId()I
+SPLcom/android/server/input/InputManagerService;->getPointerSpeedSetting()I
+SPLcom/android/server/input/InputManagerService;->getScanCodeState(III)I
+SPLcom/android/server/input/InputManagerService;->getShowTouchesSetting(I)I
+SPLcom/android/server/input/InputManagerService;->getSwitchState(III)I
+SPLcom/android/server/input/InputManagerService;->getTouchCalibrationForInputDevice(Ljava/lang/String;I)Landroid/hardware/input/TouchCalibration;
+SPLcom/android/server/input/InputManagerService;->getVirtualKeyQuietTimeMillis()I
+SPLcom/android/server/input/InputManagerService;->monitor()V
+SPLcom/android/server/input/InputManagerService;->monitorInput(Ljava/lang/String;I)Landroid/view/InputChannel;
+SPLcom/android/server/input/InputManagerService;->notifyConfigurationChanged(J)V
+SPLcom/android/server/input/InputManagerService;->notifyInputDevicesChanged([Landroid/view/InputDevice;)V
+SPLcom/android/server/input/InputManagerService;->registerInputChannel(Landroid/view/InputChannel;Landroid/os/IBinder;)V
+SPLcom/android/server/input/InputManagerService;->setFocusedApplication(ILandroid/view/InputApplicationHandle;)V
+SPLcom/android/server/input/InputManagerService;->setFocusedDisplay(I)V
+SPLcom/android/server/input/InputManagerService;->setWindowManagerCallbacks(Lcom/android/server/input/InputManagerService$WindowManagerCallbacks;)V
+SPLcom/android/server/input/InputManagerService;->setWiredAccessoryCallbacks(Lcom/android/server/input/InputManagerService$WiredAccessoryCallbacks;)V
+SPLcom/android/server/input/InputManagerService;->start()V
+SPLcom/android/server/input/InputManagerService;->systemRunning()V
+SPLcom/android/server/input/InputManagerService;->updateAccessibilityLargePointerFromSettings()V
+SPLcom/android/server/input/InputManagerService;->updateKeyboardLayouts()V
+SPLcom/android/server/input/InputManagerService;->updatePointerSpeedFromSettings()V
+SPLcom/android/server/input/InputManagerService;->updateShowTouchesFromSettings()V
+SPLcom/android/server/input/InputManagerService;->visitAllKeyboardLayouts(Lcom/android/server/input/InputManagerService$KeyboardLayoutVisitor;)V
+SPLcom/android/server/input/InputManagerService;->visitKeyboardLayoutsInPackage(Landroid/content/pm/PackageManager;Landroid/content/pm/ActivityInfo;Ljava/lang/String;ILcom/android/server/input/InputManagerService$KeyboardLayoutVisitor;)V
+SPLcom/android/server/input/PersistentDataStore;->load()V
+SPLcom/android/server/input/PersistentDataStore;->removeUninstalledKeyboardLayouts(Ljava/util/Set;)Z
+SPLcom/android/server/inputmethod/AdditionalSubtypeUtils;->load(Landroid/util/ArrayMap;I)V
+SPLcom/android/server/inputmethod/InputMethodManagerInternal$1;-><init>()V
+SPLcom/android/server/inputmethod/InputMethodManagerService$ClientState;-><init>(Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;IIILcom/android/server/inputmethod/InputMethodManagerService$ClientDeathRecipient;)V
+SPLcom/android/server/inputmethod/InputMethodManagerService$DebugFlag;-><init>(Ljava/lang/String;Z)V
+SPLcom/android/server/inputmethod/InputMethodManagerService$DebugFlag;->value()Z
+SPLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/inputmethod/InputMethodManagerService$Lifecycle;->onStart()V
+SPLcom/android/server/inputmethod/InputMethodManagerService$SettingsObserver;->registerContentObserverLocked(I)V
+SPLcom/android/server/inputmethod/InputMethodManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/inputmethod/InputMethodManagerService;->addClient(Lcom/android/internal/view/IInputMethodClient;Lcom/android/internal/view/IInputContext;I)V
+SPLcom/android/server/inputmethod/InputMethodManagerService;->bindCurrentInputMethodServiceLocked(Landroid/content/Intent;Landroid/content/ServiceConnection;I)Z
+SPLcom/android/server/inputmethod/InputMethodManagerService;->buildInputMethodListLocked(Z)V
+SPLcom/android/server/inputmethod/InputMethodManagerService;->clearCurMethodLocked()V
+SPLcom/android/server/inputmethod/InputMethodManagerService;->executeOrSendMessage(Landroid/os/IInterface;Landroid/os/Message;)V
+SPLcom/android/server/inputmethod/InputMethodManagerService;->handleMessage(Landroid/os/Message;)Z
+SPLcom/android/server/inputmethod/InputMethodManagerService;->hideCurrentInputLocked(ILandroid/os/ResultReceiver;)Z
+SPLcom/android/server/inputmethod/InputMethodManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+SPLcom/android/server/inputmethod/InputMethodManagerService;->queryInputMethodServicesInternal(Landroid/content/Context;ILandroid/util/ArrayMap;Landroid/util/ArrayMap;Ljava/util/ArrayList;)V
+SPLcom/android/server/inputmethod/InputMethodManagerService;->setInputMethodEnabledLocked(Ljava/lang/String;Z)Z
+SPLcom/android/server/inputmethod/InputMethodManagerService;->setInputMethodLocked(Ljava/lang/String;I)V
+SPLcom/android/server/inputmethod/InputMethodManagerService;->setSelectedInputMethodAndSubtypeLocked(Landroid/view/inputmethod/InputMethodInfo;IZ)V
+SPLcom/android/server/inputmethod/InputMethodManagerService;->startInputOrWindowGainedFocus(ILcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/view/IInputContext;II)Lcom/android/internal/view/InputBindResult;
+SPLcom/android/server/inputmethod/InputMethodManagerService;->startInputOrWindowGainedFocusInternalLocked(ILcom/android/internal/view/IInputMethodClient;Landroid/os/IBinder;IIILandroid/view/inputmethod/EditorInfo;Lcom/android/internal/view/IInputContext;III)Lcom/android/internal/view/InputBindResult;
+SPLcom/android/server/inputmethod/InputMethodManagerService;->startInputUncheckedLocked(Lcom/android/server/inputmethod/InputMethodManagerService$ClientState;Lcom/android/internal/view/IInputContext;ILandroid/view/inputmethod/EditorInfo;II)Lcom/android/internal/view/InputBindResult;
+SPLcom/android/server/inputmethod/InputMethodManagerService;->systemRunning(Lcom/android/server/statusbar/StatusBarManagerService;)V
+SPLcom/android/server/inputmethod/InputMethodManagerService;->unbindCurrentClientLocked(I)V
+SPLcom/android/server/inputmethod/InputMethodManagerService;->unbindCurrentMethodLocked()V
+SPLcom/android/server/inputmethod/InputMethodManagerService;->updateCurrentProfileIds()V
+SPLcom/android/server/inputmethod/InputMethodManagerService;->updateFromSettingsLocked(Z)V
+SPLcom/android/server/inputmethod/InputMethodManagerService;->updateInputMethodsFromSettingsLocked(Z)V
+SPLcom/android/server/inputmethod/InputMethodManagerService;->updateKeyboardFromSettingsLocked()V
+SPLcom/android/server/inputmethod/InputMethodManagerService;->updateSystemUiLocked(II)V
+SPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->createFrom(Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;Ljava/util/List;)Lcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;
+SPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ControllerImpl;->filterImeSubtypeList(Ljava/util/List;Z)Ljava/util/List;
+SPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;-><init>(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Landroid/view/inputmethod/InputMethodInfo;ILjava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$ImeSubtypeListItem;->equals(Ljava/lang/Object;)Z
+SPLcom/android/server/inputmethod/InputMethodSubtypeSwitchingController$InputMethodAndSubtypeList;-><init>(Landroid/content/Context;Lcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;)V
+SPLcom/android/server/inputmethod/InputMethodUtils$1;-><init>()V
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;-><init>(Landroid/content/res/Resources;Landroid/content/ContentResolver;Landroid/util/ArrayMap;IZ)V
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->addSubtypeToHistory(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->buildInputMethodsAndSubtypeList(Ljava/lang/String;Landroid/text/TextUtils$SimpleStringSplitter;Landroid/text/TextUtils$SimpleStringSplitter;)Ljava/util/List;
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->createEnabledInputMethodListLocked(Ljava/util/List;)Ljava/util/ArrayList;
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getCurrentUserId()I
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodListLocked()Ljava/util/ArrayList;
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodSubtypeListLocked(Landroid/content/Context;Landroid/view/inputmethod/InputMethodInfo;Z)Ljava/util/List;
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodsAndSubtypeListLocked()Ljava/util/List;
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getEnabledInputMethodsStr()Ljava/lang/String;
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getInt(Ljava/lang/String;I)I
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getSelectedInputMethod()Ljava/lang/String;
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getSelectedInputMethodSubtypeId(Ljava/lang/String;)I
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->isCurrentProfile(I)Z
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->isShowImeWithHardKeyboardEnabled()Z
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->loadInputMethodAndSubtypeHistoryLocked()Ljava/util/List;
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->putInt(Ljava/lang/String;I)V
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->putSelectedInputMethod(Ljava/lang/String;)V
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->putSelectedSubtype(I)V
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->putString(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->saveCurrentInputMethodAndSubtypeToHistory(Ljava/lang/String;Landroid/view/inputmethod/InputMethodSubtype;)V
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->saveSubtypeHistory(Ljava/util/List;Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->setCurrentProfileIds([I)V
+SPLcom/android/server/inputmethod/InputMethodUtils$InputMethodSettings;->switchCurrentUser(IZ)V
+SPLcom/android/server/inputmethod/InputMethodUtils;->checkIfPackageBelongsToUid(Landroid/app/AppOpsManager;ILjava/lang/String;)Z
+SPLcom/android/server/inputmethod/InputMethodUtils;->getImplicitlyApplicableSubtypesLocked(Landroid/content/res/Resources;Landroid/view/inputmethod/InputMethodInfo;)Ljava/util/ArrayList;
+SPLcom/android/server/inputmethod/InputMethodUtils;->setNonSelectedSystemImesDisabledUntilUsed(Landroid/content/pm/IPackageManager;Ljava/util/List;ILjava/lang/String;)V
+SPLcom/android/server/job/-$$Lambda$JobSchedulerService$V6_ZmVmzJutg4w0s0LktDOsRAss;-><init>()V
+SPLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->getFgRunningJobCountToNote()I
+SPLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->getTotalRunningJobCountToNote()I
+SPLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->logStatus()V
+SPLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->onCountDone()V
+SPLcom/android/server/job/JobConcurrencyManager$JobCountTracker;->reset(III)V
+SPLcom/android/server/job/JobConcurrencyManager;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+SPLcom/android/server/job/JobConcurrencyManager;->assignJobsToContextsLocked()V
+SPLcom/android/server/job/JobConcurrencyManager;->onInteractiveStateChanged(Z)V
+SPLcom/android/server/job/JobConcurrencyManager;->onSystemReady()V
+SPLcom/android/server/job/JobConcurrencyManager;->refreshSystemStateLocked()V
+SPLcom/android/server/job/JobConcurrencyManager;->updateMaxCountsLocked()V
+SPLcom/android/server/job/JobPackageTracker$DataSet;-><init>()V
+SPLcom/android/server/job/JobPackageTracker;-><init>()V
+SPLcom/android/server/job/JobSchedulerService$2;->onUidActive(I)V
+SPLcom/android/server/job/JobSchedulerService$2;->onUidGone(IZ)V
+SPLcom/android/server/job/JobSchedulerService$2;->onUidIdle(IZ)V
+SPLcom/android/server/job/JobSchedulerService$2;->onUidStateChanged(IIJ)V
+SPLcom/android/server/job/JobSchedulerService$Constants;-><init>()V
+SPLcom/android/server/job/JobSchedulerService$Constants;->updateConstantsLocked(Ljava/lang/String;)V
+SPLcom/android/server/job/JobSchedulerService$ConstantsObserver;->start(Landroid/content/ContentResolver;)V
+SPLcom/android/server/job/JobSchedulerService$ConstantsObserver;->updateConstants()V
+SPLcom/android/server/job/JobSchedulerService$JobHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->enforceValidJobRequest(ILandroid/app/job/JobInfo;)V
+SPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->getPendingJob(I)Landroid/app/job/JobInfo;
+SPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->schedule(Landroid/app/job/JobInfo;)I
+SPLcom/android/server/job/JobSchedulerService$JobSchedulerStub;->validateJobFlags(Landroid/app/job/JobInfo;I)V
+SPLcom/android/server/job/JobSchedulerService$LocalService;->baseHeartbeatForApp(Ljava/lang/String;II)J
+SPLcom/android/server/job/JobSchedulerService$LocalService;->currentHeartbeat()J
+SPLcom/android/server/job/JobSchedulerService$MaxJobCounts;->getMaxBg()I
+SPLcom/android/server/job/JobSchedulerService$MaxJobCounts;->getMaxTotal()I
+SPLcom/android/server/job/JobSchedulerService$MaxJobCounts;->getMinBg()I
+SPLcom/android/server/job/JobSchedulerService$MaxJobCounts;->parse(Landroid/util/KeyValueListParser;)V
+SPLcom/android/server/job/JobSchedulerService$MaybeReadyJobQueueFunctor;->postProcess()V
+SPLcom/android/server/job/JobSchedulerService$StandbyTracker;->onParoleStateChanged(Z)V
+SPLcom/android/server/job/JobSchedulerService$StandbyTracker;->onUserInteractionStarted(Ljava/lang/String;I)V
+SPLcom/android/server/job/JobSchedulerService$ThermalStatusListener;->onStatusChange(I)V
+SPLcom/android/server/job/JobSchedulerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/job/JobSchedulerService;->areComponentsInPlaceLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+SPLcom/android/server/job/JobSchedulerService;->areUsersStartedLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+SPLcom/android/server/job/JobSchedulerService;->cancelJobsForNonExistentUsers()V
+SPLcom/android/server/job/JobSchedulerService;->getConstants()Lcom/android/server/job/JobSchedulerService$Constants;
+SPLcom/android/server/job/JobSchedulerService;->getCurrentHeartbeat()J
+SPLcom/android/server/job/JobSchedulerService;->getJobStore()Lcom/android/server/job/JobStore;
+SPLcom/android/server/job/JobSchedulerService;->getLock()Ljava/lang/Object;
+SPLcom/android/server/job/JobSchedulerService;->getPendingJob(II)Landroid/app/job/JobInfo;
+SPLcom/android/server/job/JobSchedulerService;->getTestableContext()Landroid/content/Context;
+SPLcom/android/server/job/JobSchedulerService;->isChainedAttributionEnabled()Z
+SPLcom/android/server/job/JobSchedulerService;->isCurrentlyActiveLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+SPLcom/android/server/job/JobSchedulerService;->maybeQueueReadyJobsForExecutionLocked()V
+SPLcom/android/server/job/JobSchedulerService;->maybeRunPendingJobsLocked()V
+SPLcom/android/server/job/JobSchedulerService;->noteJobsNonpending(Ljava/util/List;)V
+SPLcom/android/server/job/JobSchedulerService;->onBootPhase(I)V
+SPLcom/android/server/job/JobSchedulerService;->onControllerStateChanged()V
+SPLcom/android/server/job/JobSchedulerService;->onStart()V
+SPLcom/android/server/job/JobSchedulerService;->onStartUser(I)V
+SPLcom/android/server/job/JobSchedulerService;->scheduleAsPackage(Landroid/app/job/JobInfo;Landroid/app/job/JobWorkItem;ILjava/lang/String;ILjava/lang/String;)I
+SPLcom/android/server/job/JobSchedulerService;->standbyBucketForPackage(Ljava/lang/String;IJ)I
+SPLcom/android/server/job/JobSchedulerService;->startTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+SPLcom/android/server/job/JobSchedulerService;->stopNonReadyActiveJobsLocked()V
+SPLcom/android/server/job/JobSchedulerService;->updateUidState(II)V
+SPLcom/android/server/job/JobServiceContext$JobServiceHandler;-><init>(Lcom/android/server/job/JobServiceContext;Landroid/os/Looper;)V
+SPLcom/android/server/job/JobStore$JobSet;->add(Lcom/android/server/job/controllers/JobStatus;)Z
+SPLcom/android/server/job/JobStore$JobSet;->remove(Lcom/android/server/job/controllers/JobStatus;)Z
+SPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->buildBuilderFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/app/job/JobInfo$Builder;
+SPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->buildConstraintsFromXml(Landroid/app/job/JobInfo$Builder;Lorg/xmlpull/v1/XmlPullParser;)V
+SPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->buildRtcExecutionTimesFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/Pair;
+SPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->maybeBuildBackoffPolicyFromXml(Landroid/app/job/JobInfo$Builder;Lorg/xmlpull/v1/XmlPullParser;)V
+SPLcom/android/server/job/JobStore$ReadJobMapFromDiskRunnable;->run()V
+SPLcom/android/server/job/JobStore;-><init>(Landroid/content/Context;Ljava/lang/Object;Ljava/io/File;)V
+SPLcom/android/server/job/JobStore;->access$500(Landroid/util/Pair;J)Landroid/util/Pair;
+SPLcom/android/server/job/JobStore;->add(Lcom/android/server/job/controllers/JobStatus;)Z
+SPLcom/android/server/job/JobStore;->convertRtcBoundsToElapsed(Landroid/util/Pair;J)Landroid/util/Pair;
+SPLcom/android/server/job/JobStore;->initAndGet(Lcom/android/server/job/JobSchedulerService;)Lcom/android/server/job/JobStore;
+SPLcom/android/server/job/controllers/-$$Lambda$QuotaController$Nr0Q3oPwHBGHfHSdpzIm80t7M7s;->run()V
+SPLcom/android/server/job/controllers/-$$Lambda$QuotaController$StandbyTracker$HBosnPX15xU_maD6xbBsC7aJqOU;->run()V
+SPLcom/android/server/job/controllers/BackgroundJobsController$1;->updateJobsForUid(IZ)V
+SPLcom/android/server/job/controllers/BackgroundJobsController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+SPLcom/android/server/job/controllers/BackgroundJobsController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+SPLcom/android/server/job/controllers/BackgroundJobsController;->updateJobRestrictionsLocked(II)V
+SPLcom/android/server/job/controllers/BackgroundJobsController;->updateSingleJobRestrictionLocked(Lcom/android/server/job/controllers/JobStatus;I)Z
+SPLcom/android/server/job/controllers/BatteryController$ChargingTracker;->startTracking()V
+SPLcom/android/server/job/controllers/BatteryController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+SPLcom/android/server/job/controllers/ConnectivityController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+SPLcom/android/server/job/controllers/ConnectivityController;->isNetworkAvailable(Lcom/android/server/job/controllers/JobStatus;)Z
+SPLcom/android/server/job/controllers/ConnectivityController;->maybeRevokeStandbyExceptionLocked(Lcom/android/server/job/controllers/JobStatus;)V
+SPLcom/android/server/job/controllers/ConnectivityController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+SPLcom/android/server/job/controllers/ConnectivityController;->onConstantsUpdatedLocked()V
+SPLcom/android/server/job/controllers/ConnectivityController;->wouldBeReadyWithConnectivityLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+SPLcom/android/server/job/controllers/ContentObserverController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+SPLcom/android/server/job/controllers/DeviceIdleJobsController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+SPLcom/android/server/job/controllers/DeviceIdleJobsController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+SPLcom/android/server/job/controllers/DeviceIdleJobsController;->setUidActiveLocked(IZ)V
+SPLcom/android/server/job/controllers/DeviceIdleJobsController;->updateTaskStateLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+SPLcom/android/server/job/controllers/IdleController;->initIdleStateTracking(Landroid/content/Context;)V
+SPLcom/android/server/job/controllers/IdleController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+SPLcom/android/server/job/controllers/JobStatus;-><init>(Landroid/app/job/JobInfo;IILjava/lang/String;IIJLjava/lang/String;IJJJJI)V
+SPLcom/android/server/job/controllers/JobStatus;-><init>(Landroid/app/job/JobInfo;ILjava/lang/String;IIJLjava/lang/String;JJJJLandroid/util/Pair;I)V
+SPLcom/android/server/job/controllers/JobStatus;->computeEstimatedNetworkBytesLocked()J
+SPLcom/android/server/job/controllers/JobStatus;->createFromJobInfo(Landroid/app/job/JobInfo;ILjava/lang/String;ILjava/lang/String;)Lcom/android/server/job/controllers/JobStatus;
+SPLcom/android/server/job/controllers/JobStatus;->maybeAddForegroundExemption(Ljava/util/function/Predicate;)V
+SPLcom/android/server/job/controllers/JobStatus;->prepareLocked(Landroid/app/IActivityManager;)V
+SPLcom/android/server/job/controllers/JobStatus;->resolveTargetSdkVersion(Landroid/app/job/JobInfo;)I
+SPLcom/android/server/job/controllers/JobStatus;->updateEstimatedNetworkBytesLocked()V
+SPLcom/android/server/job/controllers/QuotaController$2;->onUidStateChanged(IIJ)V
+SPLcom/android/server/job/controllers/QuotaController$ChargingTracker;->startTracking()V
+SPLcom/android/server/job/controllers/QuotaController$QcHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/job/controllers/QuotaController$StandbyTracker;->lambda$onParoleStateChanged$1$QuotaController$StandbyTracker()V
+SPLcom/android/server/job/controllers/QuotaController$StandbyTracker;->lambda$onParoleStateChanged$1(Lcom/android/server/job/controllers/QuotaController$StandbyTracker;)V
+SPLcom/android/server/job/controllers/QuotaController$StandbyTracker;->onParoleStateChanged(Z)V
+SPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->accept(Lcom/android/server/job/controllers/JobStatus;)V
+SPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->postProcess()V
+SPLcom/android/server/job/controllers/QuotaController$UidConstraintUpdater;->reset()V
+SPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->add(ILjava/lang/String;Ljava/lang/Object;)V
+SPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->clear()V
+SPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->indexOfKey(I)I
+SPLcom/android/server/job/controllers/QuotaController$UserPackageMap;->numUsers()I
+SPLcom/android/server/job/controllers/QuotaController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+SPLcom/android/server/job/controllers/QuotaController;->isUidInForeground(I)Z
+SPLcom/android/server/job/controllers/QuotaController;->isWithinQuotaLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+SPLcom/android/server/job/controllers/QuotaController;->lambda$onConstantsUpdatedLocked$0$QuotaController()V
+SPLcom/android/server/job/controllers/QuotaController;->lambda$onConstantsUpdatedLocked$0(Lcom/android/server/job/controllers/QuotaController;)V
+SPLcom/android/server/job/controllers/QuotaController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+SPLcom/android/server/job/controllers/QuotaController;->maybeUpdateAllConstraintsLocked()V
+SPLcom/android/server/job/controllers/QuotaController;->maybeUpdateConstraintForPkgLocked(ILjava/lang/String;)Z
+SPLcom/android/server/job/controllers/QuotaController;->onConstantsUpdatedLocked()V
+SPLcom/android/server/job/controllers/QuotaController;->updateExecutionStatsLocked(ILjava/lang/String;Lcom/android/server/job/controllers/QuotaController$ExecutionStats;)V
+SPLcom/android/server/job/controllers/StateController;->onConstantsUpdatedLocked()V
+SPLcom/android/server/job/controllers/StorageController;->maybeStartTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;Lcom/android/server/job/controllers/JobStatus;)V
+SPLcom/android/server/job/controllers/TimeController$2;->onAlarm()V
+SPLcom/android/server/job/controllers/TimeController;-><init>(Lcom/android/server/job/JobSchedulerService;)V
+SPLcom/android/server/job/controllers/TimeController;->canStopTrackingJobLocked(Lcom/android/server/job/controllers/JobStatus;)Z
+SPLcom/android/server/job/controllers/TimeController;->checkExpiredDeadlinesAndResetAlarm()V
+SPLcom/android/server/job/controllers/TimeController;->deriveWorkSource(ILjava/lang/String;)Landroid/os/WorkSource;
+SPLcom/android/server/job/controllers/TimeController;->onConstantsUpdatedLocked()V
+SPLcom/android/server/job/controllers/TimeController;->updateAlarmWithListenerLocked(Ljava/lang/String;Landroid/app/AlarmManager$OnAlarmListener;JLandroid/os/WorkSource;)V
+SPLcom/android/server/job/controllers/idle/DeviceIdlenessTracker;->isIdle()Z
+SPLcom/android/server/job/controllers/idle/DeviceIdlenessTracker;->startTracking(Landroid/content/Context;Lcom/android/server/job/controllers/idle/IdlenessListener;)V
 SPLcom/android/server/lights/LightsService$1;->getLight(I)Lcom/android/server/lights/Light;
-SPLcom/android/server/lights/LightsService$2;-><init>(Lcom/android/server/lights/LightsService;)V
-SPLcom/android/server/lights/LightsService$LightImpl;-><init>(Lcom/android/server/lights/LightsService;I)V
-SPLcom/android/server/lights/LightsService$LightImpl;-><init>(Lcom/android/server/lights/LightsService;ILcom/android/server/lights/LightsService$1;)V
 SPLcom/android/server/lights/LightsService$LightImpl;->setBrightness(I)V
 SPLcom/android/server/lights/LightsService$LightImpl;->setBrightness(II)V
+SPLcom/android/server/lights/LightsService$LightImpl;->setColor(I)V
+SPLcom/android/server/lights/LightsService$LightImpl;->setFlashing(IIII)V
 SPLcom/android/server/lights/LightsService$LightImpl;->setLightLocked(IIIII)V
-SPLcom/android/server/lights/LightsService$LightImpl;->shouldBeInLowPersistenceMode()Z
+SPLcom/android/server/lights/LightsService$LightImpl;->turnOff()V
 SPLcom/android/server/lights/LightsService;-><init>(Landroid/content/Context;)V
 SPLcom/android/server/lights/LightsService;->onBootPhase(I)V
 SPLcom/android/server/lights/LightsService;->onStart()V
-SPLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/location/-$$Lambda$5U-_NhZgxqnYDZhpyacq4qBxh8k;->run()V
+SPLcom/android/server/location/-$$Lambda$ContextHubClientBroker$CFacmt7807NhDDkp6CgbkeGnMvQ;->accept(Landroid/hardware/location/IContextHubClientCallback;)V
+SPLcom/android/server/location/-$$Lambda$ContextHubClientManager$f15OSYbsSONpkXn7GinnrBPeumw;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$384RrX20Mx6OJsRiqsQcSxYdcZc;-><init>()V
+SPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$384RrX20Mx6OJsRiqsQcSxYdcZc;->set(I)Z
+SPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$5tBf0Ru8L994vqKbXOeOBj2A-CA;-><init>()V
+SPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$5tBf0Ru8L994vqKbXOeOBj2A-CA;->set(I)Z
+SPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$8lp2ukEzg_Agf73p3ka-dqhWUpE;-><init>()V
+SPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$8lp2ukEzg_Agf73p3ka-dqhWUpE;->set(I)Z
+SPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$9cfNUAWKKutp5KSqhvHSGJNe0ao;-><init>()V
+SPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$9cfNUAWKKutp5KSqhvHSGJNe0ao;->set(I)Z
+SPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$aaV8BigB_1Oil1H82EHUb0zvWPo;-><init>()V
+SPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$aaV8BigB_1Oil1H82EHUb0zvWPo;->set(I)Z
+SPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$rRu0NBMB8DgPt3DY5__6u_WNl7A;-><init>()V
+SPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$rRu0NBMB8DgPt3DY5__6u_WNl7A;->set(I)Z
+SPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$sKzdHBM7V7DxdhcWx1u8hipJYFo;-><init>()V
+SPLcom/android/server/location/-$$Lambda$GnssConfiguration$1$sKzdHBM7V7DxdhcWx1u8hipJYFo;->set(I)Z
+SPLcom/android/server/location/-$$Lambda$GnssLocationProvider$DiR2gLZsU3wguaAfx6x4XN_Suhg;->run()V
+SPLcom/android/server/location/-$$Lambda$GnssLocationProvider$WbIUWqWbiKrZx6NHwSpsFU1pHKI;->run()V
+SPLcom/android/server/location/-$$Lambda$LocationProviderProxy$2$QT3uzVX4fLIc1b7F_cP9P1hzluA;->run(Landroid/os/IBinder;)V
+SPLcom/android/server/location/-$$Lambda$LocationProviderProxy$p3DjIvk7Of_sUF4Dc9plMNfdklc;->run(Landroid/os/IBinder;)V
+SPLcom/android/server/location/-$$Lambda$RemoteListenerHelper$0Rlnad83RE1JdiVK0ULOLm530JM;->run()V
+SPLcom/android/server/location/AbstractLocationProvider;->setEnabled(Z)V
+SPLcom/android/server/location/AbstractLocationProvider;->setProperties(Lcom/android/internal/location/ProviderProperties;)V
+SPLcom/android/server/location/ActivityRecognitionProxy;-><init>(Landroid/content/Context;ZLandroid/hardware/location/ActivityRecognitionHardware;III)V
+SPLcom/android/server/location/ActivityRecognitionProxy;->createAndBind(Landroid/content/Context;ZLandroid/hardware/location/ActivityRecognitionHardware;III)Lcom/android/server/location/ActivityRecognitionProxy;
+SPLcom/android/server/location/ComprehensiveCountryDetector$2;->run()V
+SPLcom/android/server/location/ComprehensiveCountryDetector;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/location/ComprehensiveCountryDetector;->addPhoneStateListener()V
+SPLcom/android/server/location/ComprehensiveCountryDetector;->addToLogs(Landroid/location/Country;)V
+SPLcom/android/server/location/ComprehensiveCountryDetector;->createLocationBasedCountryDetector()Lcom/android/server/location/CountryDetectorBase;
+SPLcom/android/server/location/ComprehensiveCountryDetector;->detectCountry()Landroid/location/Country;
+SPLcom/android/server/location/ComprehensiveCountryDetector;->getLastKnownLocationBasedCountry()Landroid/location/Country;
+SPLcom/android/server/location/ComprehensiveCountryDetector;->getLocaleCountry()Landroid/location/Country;
+SPLcom/android/server/location/ComprehensiveCountryDetector;->getNetworkBasedCountry()Landroid/location/Country;
+SPLcom/android/server/location/ComprehensiveCountryDetector;->getSimBasedCountry()Landroid/location/Country;
+SPLcom/android/server/location/ComprehensiveCountryDetector;->isAirplaneModeOff()Z
+SPLcom/android/server/location/ComprehensiveCountryDetector;->isGeoCoderImplemented()Z
+SPLcom/android/server/location/ComprehensiveCountryDetector;->runAfterDetection(Landroid/location/Country;Landroid/location/Country;ZZ)V
+SPLcom/android/server/location/ComprehensiveCountryDetector;->runAfterDetectionAsync(Landroid/location/Country;Landroid/location/Country;ZZ)V
+SPLcom/android/server/location/ComprehensiveCountryDetector;->scheduleLocationRefresh()V
+SPLcom/android/server/location/ComprehensiveCountryDetector;->setCountryListener(Landroid/location/CountryListener;)V
+SPLcom/android/server/location/ComprehensiveCountryDetector;->startLocationBasedDetector(Landroid/location/CountryListener;)V
+SPLcom/android/server/location/ContextHubClientBroker$PendingIntentRequest;->hasPendingIntent()Z
+SPLcom/android/server/location/ContextHubClientBroker;->getAttachedContextHubId()I
+SPLcom/android/server/location/ContextHubClientBroker;->invokeCallback(Lcom/android/server/location/ContextHubClientBroker$CallbackConsumer;)V
+SPLcom/android/server/location/ContextHubClientBroker;->isRegistered()Z
+SPLcom/android/server/location/ContextHubClientBroker;->sendMessageToClient(Landroid/hardware/location/NanoAppMessage;)V
+SPLcom/android/server/location/ContextHubClientBroker;->sendMessageToNanoApp(Landroid/hardware/location/NanoAppMessage;)I
+SPLcom/android/server/location/ContextHubClientBroker;->sendPendingIntent(Ljava/util/function/Supplier;J)V
+SPLcom/android/server/location/ContextHubClientManager;->forEachClientOfHub(ILjava/util/function/Consumer;)V
+SPLcom/android/server/location/ContextHubClientManager;->getHostEndPointId()S
+SPLcom/android/server/location/ContextHubClientManager;->onMessageFromNanoApp(ILandroid/hardware/contexthub/V1_0/ContextHubMsg;)V
+SPLcom/android/server/location/ContextHubClientManager;->registerClient(Landroid/hardware/location/ContextHubInfo;Landroid/hardware/location/IContextHubClientCallback;)Landroid/hardware/location/IContextHubClient;
+SPLcom/android/server/location/ContextHubService$1;->onMessageFromNanoApp(Landroid/hardware/location/NanoAppMessage;)V
+SPLcom/android/server/location/ContextHubService$4;->onQueryResponse(ILjava/util/List;)V
+SPLcom/android/server/location/ContextHubService$ContextHubServiceCallback;->handleAppsInfo(Ljava/util/ArrayList;)V
+SPLcom/android/server/location/ContextHubService$ContextHubServiceCallback;->handleClientMsg(Landroid/hardware/contexthub/V1_0/ContextHubMsg;)V
+SPLcom/android/server/location/ContextHubService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/location/ContextHubService;->createClient(ILandroid/hardware/location/IContextHubClientCallback;)Landroid/hardware/location/IContextHubClient;
+SPLcom/android/server/location/ContextHubService;->getContextHubProxy()Landroid/hardware/contexthub/V1_0/IContexthub;
+SPLcom/android/server/location/ContextHubService;->getContextHubs()Ljava/util/List;
+SPLcom/android/server/location/ContextHubService;->onMessageReceiptOldApi(III[B)I
+SPLcom/android/server/location/ContextHubService;->registerCallback(Landroid/hardware/location/IContextHubCallback;)I
+SPLcom/android/server/location/ContextHubServiceTransaction;->getTimeout(Ljava/util/concurrent/TimeUnit;)J
+SPLcom/android/server/location/ContextHubServiceTransaction;->getTransactionType()I
+SPLcom/android/server/location/ContextHubServiceTransaction;->setComplete()V
+SPLcom/android/server/location/ContextHubServiceUtil;->createContextHubInfoMap(Ljava/util/List;)Ljava/util/HashMap;
+SPLcom/android/server/location/ContextHubServiceUtil;->createNanoAppStateList(Ljava/util/List;)Ljava/util/List;
+SPLcom/android/server/location/ContextHubTransactionManager$5;->onQueryResponse(ILjava/util/List;)V
+SPLcom/android/server/location/ContextHubTransactionManager$5;->onTransact()I
+SPLcom/android/server/location/ContextHubTransactionManager;-><init>(Landroid/hardware/contexthub/V1_0/IContexthub;Lcom/android/server/location/ContextHubClientManager;Lcom/android/server/location/NanoAppStateManager;)V
+SPLcom/android/server/location/ContextHubTransactionManager;->addTransaction(Lcom/android/server/location/ContextHubServiceTransaction;)V
+SPLcom/android/server/location/ContextHubTransactionManager;->createQueryTransaction(ILandroid/hardware/location/IContextHubTransactionCallback;)Lcom/android/server/location/ContextHubServiceTransaction;
+SPLcom/android/server/location/ContextHubTransactionManager;->onQueryResponse(Ljava/util/List;)V
+SPLcom/android/server/location/ContextHubTransactionManager;->startNextTransaction()V
+SPLcom/android/server/location/CountryDetectorBase;->setCountryListener(Landroid/location/CountryListener;)V
+SPLcom/android/server/location/GeocoderProxy;->createAndBind(Landroid/content/Context;III)Lcom/android/server/location/GeocoderProxy;
+SPLcom/android/server/location/GeofenceManager;-><init>(Landroid/content/Context;Lcom/android/server/location/LocationBlacklist;)V
+SPLcom/android/server/location/GeofenceProxy$GeofenceProxyServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+SPLcom/android/server/location/GeofenceProxy;-><init>(Landroid/content/Context;IIILandroid/location/IGpsGeofenceHardware;Landroid/location/IFusedGeofenceHardware;)V
+SPLcom/android/server/location/GeofenceProxy;->createAndBind(Landroid/content/Context;IIILandroid/location/IGpsGeofenceHardware;Landroid/location/IFusedGeofenceHardware;)Lcom/android/server/location/GeofenceProxy;
+SPLcom/android/server/location/GnssBatchingProvider$GnssBatchingProviderNative;->initBatching()Z
+SPLcom/android/server/location/GnssBatchingProvider;->enable()V
+SPLcom/android/server/location/GnssBatchingProvider;->resumeIfStarted()V
+SPLcom/android/server/location/GnssConfiguration$1;-><init>(Lcom/android/server/location/GnssConfiguration;Lcom/android/server/location/GnssConfiguration$HalInterfaceVersion;)V
+SPLcom/android/server/location/GnssConfiguration$HalInterfaceVersion;-><init>(II)V
+SPLcom/android/server/location/GnssConfiguration;->getC2KHost()Ljava/lang/String;
+SPLcom/android/server/location/GnssConfiguration;->getC2KPort(I)I
+SPLcom/android/server/location/GnssConfiguration;->getEsExtensionSec()I
+SPLcom/android/server/location/GnssConfiguration;->getIntConfig(Ljava/lang/String;I)I
+SPLcom/android/server/location/GnssConfiguration;->getRangeCheckedConfigEsExtensionSec()I
+SPLcom/android/server/location/GnssConfiguration;->getSuplEs(I)I
+SPLcom/android/server/location/GnssConfiguration;->getSuplHost()Ljava/lang/String;
+SPLcom/android/server/location/GnssConfiguration;->getSuplMode(I)I
+SPLcom/android/server/location/GnssConfiguration;->getSuplPort(I)I
+SPLcom/android/server/location/GnssConfiguration;->loadPropertiesFromGpsDebugConfig(Ljava/util/Properties;)V
+SPLcom/android/server/location/GnssConfiguration;->logConfigurations()V
+SPLcom/android/server/location/GnssConfiguration;->reloadGpsProperties()V
+SPLcom/android/server/location/GnssConfiguration;->setSatelliteBlacklist([I[I)V
+SPLcom/android/server/location/GnssGeofenceProvider$GnssGeofenceProviderNative;->isGeofenceSupported()Z
+SPLcom/android/server/location/GnssGeofenceProvider;->isHardwareGeofenceSupported()Z
+SPLcom/android/server/location/GnssGeofenceProvider;->resumeIfStarted()V
+SPLcom/android/server/location/GnssLocationProvider$4;->isGpsEnabled()Z
+SPLcom/android/server/location/GnssLocationProvider$5;->isGpsEnabled()Z
+SPLcom/android/server/location/GnssLocationProvider$7;->onChange(Z)V
+SPLcom/android/server/location/GnssLocationProvider$ProviderHandler;->handleInitialize()V
+SPLcom/android/server/location/GnssLocationProvider$ProviderHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/location/GnssLocationProvider;-><init>(Landroid/content/Context;Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;Landroid/os/Looper;)V
+SPLcom/android/server/location/GnssLocationProvider;->getGnssMetricsProvider()Lcom/android/server/location/GnssLocationProvider$GnssMetricsProvider;
+SPLcom/android/server/location/GnssLocationProvider;->getGnssSystemInfoProvider()Lcom/android/server/location/GnssLocationProvider$GnssSystemInfoProvider;
+SPLcom/android/server/location/GnssLocationProvider;->handleEnable()Z
+SPLcom/android/server/location/GnssLocationProvider;->isEnabled()Z
+SPLcom/android/server/location/GnssLocationProvider;->isSupported()Z
+SPLcom/android/server/location/GnssLocationProvider;->lambda$onUpdateSatelliteBlacklist$0$GnssLocationProvider([I[I)V
+SPLcom/android/server/location/GnssLocationProvider;->lambda$setEngineCapabilities$5$GnssLocationProvider(I)V
+SPLcom/android/server/location/GnssLocationProvider;->lambda$setEngineCapabilities$5(Lcom/android/server/location/GnssLocationProvider;I)V
+SPLcom/android/server/location/GnssLocationProvider;->onUpdateSatelliteBlacklist([I[I)V
+SPLcom/android/server/location/GnssLocationProvider;->reloadGpsProperties()V
+SPLcom/android/server/location/GnssLocationProvider;->sendMessage(IILjava/lang/Object;)V
+SPLcom/android/server/location/GnssLocationProvider;->setEngineCapabilities(I)V
+SPLcom/android/server/location/GnssLocationProvider;->setGnssHardwareModelName(Ljava/lang/String;)V
+SPLcom/android/server/location/GnssLocationProvider;->setGnssYearOfHardware(I)V
+SPLcom/android/server/location/GnssLocationProvider;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+SPLcom/android/server/location/GnssLocationProvider;->setSuplHostPort()V
+SPLcom/android/server/location/GnssLocationProvider;->stopNavigating()V
+SPLcom/android/server/location/GnssLocationProvider;->updateClientUids(Landroid/os/WorkSource;)V
+SPLcom/android/server/location/GnssLocationProvider;->updateEnabled()V
+SPLcom/android/server/location/GnssLocationProvider;->updateRequirements()V
+SPLcom/android/server/location/GnssMeasurementsProvider$GnssMeasurementProviderNative;->isMeasurementSupported()Z
+SPLcom/android/server/location/GnssMeasurementsProvider;->isAvailableInPlatform()Z
+SPLcom/android/server/location/GnssMeasurementsProvider;->onCapabilitiesUpdated(I)V
+SPLcom/android/server/location/GnssMeasurementsProvider;->onGpsEnabledChanged()V
+SPLcom/android/server/location/GnssMeasurementsProvider;->resumeIfStarted()V
+SPLcom/android/server/location/GnssNavigationMessageProvider$GnssNavigationMessageProviderNative;->isNavigationMessageSupported()Z
+SPLcom/android/server/location/GnssNavigationMessageProvider;->getHandlerOperation(I)Lcom/android/server/location/RemoteListenerHelper$ListenerOperation;
+SPLcom/android/server/location/GnssNavigationMessageProvider;->isAvailableInPlatform()Z
+SPLcom/android/server/location/GnssNavigationMessageProvider;->onCapabilitiesUpdated(Z)V
+SPLcom/android/server/location/GnssNavigationMessageProvider;->onGpsEnabledChanged()V
+SPLcom/android/server/location/GnssNavigationMessageProvider;->resumeIfStarted()V
+SPLcom/android/server/location/GnssNetworkConnectivityHandler;-><init>(Landroid/content/Context;Lcom/android/server/location/GnssNetworkConnectivityHandler$GnssNetworkListener;Landroid/os/Looper;)V
+SPLcom/android/server/location/GnssNetworkConnectivityHandler;->registerNetworkCallbacks()V
+SPLcom/android/server/location/GnssSatelliteBlacklistHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/location/GnssSatelliteBlacklistHelper$GnssSatelliteBlacklistCallback;)V
+SPLcom/android/server/location/GnssSatelliteBlacklistHelper;->parseSatelliteBlacklist(Ljava/lang/String;)Ljava/util/List;
+SPLcom/android/server/location/GnssSatelliteBlacklistHelper;->updateSatelliteBlacklist()V
+SPLcom/android/server/location/LocationBasedCountryDetector;->detectCountry()Landroid/location/Country;
+SPLcom/android/server/location/LocationBasedCountryDetector;->getEnabledProviders()Ljava/util/List;
+SPLcom/android/server/location/LocationBasedCountryDetector;->getQueryLocationTimeout()J
+SPLcom/android/server/location/LocationBasedCountryDetector;->isAcceptableProvider(Ljava/lang/String;)Z
+SPLcom/android/server/location/LocationBasedCountryDetector;->registerListener(Ljava/lang/String;Landroid/location/LocationListener;)V
+SPLcom/android/server/location/LocationBlacklist;->getStringArrayLocked(Ljava/lang/String;)[Ljava/lang/String;
+SPLcom/android/server/location/LocationBlacklist;->reloadBlacklist()V
+SPLcom/android/server/location/LocationBlacklist;->reloadBlacklistLocked()V
+SPLcom/android/server/location/LocationBlacklist;->switchUser(I)V
+SPLcom/android/server/location/LocationFudger;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+SPLcom/android/server/location/LocationFudger;->loadCoarseAccuracy()F
+SPLcom/android/server/location/LocationProviderProxy$1;->onSetEnabled(Z)V
+SPLcom/android/server/location/LocationProviderProxy$1;->onSetProperties(Lcom/android/internal/location/ProviderProperties;)V
+SPLcom/android/server/location/LocationProviderProxy$2;->onBind()V
+SPLcom/android/server/location/LocationProviderProxy;-><init>(Landroid/content/Context;Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;Ljava/lang/String;III)V
+SPLcom/android/server/location/LocationProviderProxy;->createAndBind(Landroid/content/Context;Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;Ljava/lang/String;III)Lcom/android/server/location/LocationProviderProxy;
+SPLcom/android/server/location/LocationProviderProxy;->initializeService(Landroid/os/IBinder;)V
+SPLcom/android/server/location/LocationProviderProxy;->resetProviderPackages(Ljava/util/List;)V
+SPLcom/android/server/location/LocationProviderProxy;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+SPLcom/android/server/location/LocationRequestStatistics$PackageProviderKey;->equals(Ljava/lang/Object;)Z
+SPLcom/android/server/location/LocationRequestStatistics$PackageProviderKey;->hashCode()I
+SPLcom/android/server/location/LocationRequestStatistics$PackageStatistics;->startRequesting(J)V
+SPLcom/android/server/location/LocationRequestStatistics;->startRequesting(Ljava/lang/String;Ljava/lang/String;JZ)V
+SPLcom/android/server/location/NanoAppStateManager;->addNanoAppInstance(IJI)V
+SPLcom/android/server/location/NanoAppStateManager;->getNanoAppHandle(IJ)I
+SPLcom/android/server/location/NanoAppStateManager;->handleQueryAppEntry(IJI)V
+SPLcom/android/server/location/NanoAppStateManager;->removeNanoAppInstance(IJ)V
+SPLcom/android/server/location/NanoAppStateManager;->updateCache(ILjava/util/List;)V
+SPLcom/android/server/location/NtpTimeHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/location/NtpTimeHelper$InjectNtpTimeCallback;Landroid/util/NtpTrustedTime;)V
+SPLcom/android/server/location/PassiveProvider;-><init>(Landroid/content/Context;Lcom/android/server/location/AbstractLocationProvider$LocationProviderManager;)V
+SPLcom/android/server/location/PassiveProvider;->setRequest(Lcom/android/internal/location/ProviderRequest;Landroid/os/WorkSource;)V
+SPLcom/android/server/location/RemoteListenerHelper;-><init>(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;)V
+SPLcom/android/server/location/RemoteListenerHelper;->calculateCurrentResultUnsafe()I
+SPLcom/android/server/location/RemoteListenerHelper;->lambda$tryUnregister$0$RemoteListenerHelper()V
+SPLcom/android/server/location/RemoteListenerHelper;->setSupported(Z)V
+SPLcom/android/server/location/RemoteListenerHelper;->tryUpdateRegistrationWithService()V
+SPLcom/android/server/location/RemoteListenerHelper;->updateResult()V
+SPLcom/android/server/locksettings/-$$Lambda$SyntheticPasswordManager$WjMV-qfQ1YUbeAiLzyAhyepqPFI;->onValues(ILandroid/hardware/weaver/V1_0/WeaverConfig;)V
+SPLcom/android/server/locksettings/LockSettingsService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->onSystemReady()V
+SPLcom/android/server/locksettings/LockSettingsService$DeviceProvisionedObserver;->updateRegistration()V
+SPLcom/android/server/locksettings/LockSettingsService$Injector;->getActivityManager()Landroid/app/IActivityManager;
+SPLcom/android/server/locksettings/LockSettingsService$Injector;->getContext()Landroid/content/Context;
+SPLcom/android/server/locksettings/LockSettingsService$Injector;->getHandler()Landroid/os/Handler;
+SPLcom/android/server/locksettings/LockSettingsService$Injector;->getKeyStore()Landroid/security/KeyStore;
+SPLcom/android/server/locksettings/LockSettingsService$Injector;->getLockPatternUtils()Lcom/android/internal/widget/LockPatternUtils;
+SPLcom/android/server/locksettings/LockSettingsService$Injector;->getNotificationManager()Landroid/app/NotificationManager;
+SPLcom/android/server/locksettings/LockSettingsService$Injector;->getRecoverableKeyStoreManager(Landroid/security/KeyStore;)Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;
+SPLcom/android/server/locksettings/LockSettingsService$Injector;->getStorage()Lcom/android/server/locksettings/LockSettingsStorage;
+SPLcom/android/server/locksettings/LockSettingsService$Injector;->getStrongAuth()Lcom/android/server/locksettings/LockSettingsStrongAuth;
+SPLcom/android/server/locksettings/LockSettingsService$Injector;->getStrongAuthTracker()Lcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;
+SPLcom/android/server/locksettings/LockSettingsService$Injector;->getSyntheticPasswordManager(Lcom/android/server/locksettings/LockSettingsStorage;)Lcom/android/server/locksettings/SyntheticPasswordManager;
+SPLcom/android/server/locksettings/LockSettingsService$Injector;->getUserManager()Landroid/os/UserManager;
+SPLcom/android/server/locksettings/LockSettingsService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onStart()V
+SPLcom/android/server/locksettings/LockSettingsService$Lifecycle;->onStartUser(I)V
+SPLcom/android/server/locksettings/LockSettingsService$SynchronizedStrongAuthTracker;->register(Lcom/android/server/locksettings/LockSettingsStrongAuth;)V
+SPLcom/android/server/locksettings/LockSettingsService;-><init>(Lcom/android/server/locksettings/LockSettingsService$Injector;)V
+SPLcom/android/server/locksettings/LockSettingsService;->checkPasswordHavePermission(I)V
+SPLcom/android/server/locksettings/LockSettingsService;->getBoolean(Ljava/lang/String;ZI)Z
+SPLcom/android/server/locksettings/LockSettingsService;->getGateKeeperService()Landroid/service/gatekeeper/IGateKeeperService;
+SPLcom/android/server/locksettings/LockSettingsService;->getLong(Ljava/lang/String;JI)J
+SPLcom/android/server/locksettings/LockSettingsService;->getSeparateProfileChallengeEnabled(I)Z
+SPLcom/android/server/locksettings/LockSettingsService;->getString(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+SPLcom/android/server/locksettings/LockSettingsService;->getStringUnchecked(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+SPLcom/android/server/locksettings/LockSettingsService;->havePassword(I)Z
+SPLcom/android/server/locksettings/LockSettingsService;->havePattern(I)Z
+SPLcom/android/server/locksettings/LockSettingsService;->isSyntheticPasswordBasedCredentialLocked(I)Z
+SPLcom/android/server/locksettings/LockSettingsService;->maybeShowEncryptionNotificationForUser(I)V
+SPLcom/android/server/locksettings/LockSettingsService;->migrateOldData()V
+SPLcom/android/server/locksettings/LockSettingsService;->migrateOldDataAfterSystemReady()V
+SPLcom/android/server/locksettings/LockSettingsService;->onStartUser(I)V
+SPLcom/android/server/locksettings/LockSettingsService;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
+SPLcom/android/server/locksettings/LockSettingsService;->systemReady()V
+SPLcom/android/server/locksettings/LockSettingsStorage$Cache$CacheKey;->equals(Ljava/lang/Object;)Z
+SPLcom/android/server/locksettings/LockSettingsStorage$Cache;->contains(ILjava/lang/String;I)Z
+SPLcom/android/server/locksettings/LockSettingsStorage$Cache;->getVersion()I
+SPLcom/android/server/locksettings/LockSettingsStorage$Cache;->hasFile(Ljava/lang/String;)Z
+SPLcom/android/server/locksettings/LockSettingsStorage$Cache;->hasKeyValue(Ljava/lang/String;I)Z
+SPLcom/android/server/locksettings/LockSettingsStorage$Cache;->isFetched(I)Z
+SPLcom/android/server/locksettings/LockSettingsStorage$Cache;->peek(ILjava/lang/String;I)Ljava/lang/Object;
+SPLcom/android/server/locksettings/LockSettingsStorage$Cache;->peekFile(Ljava/lang/String;)[B
+SPLcom/android/server/locksettings/LockSettingsStorage$Cache;->peekKeyValue(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+SPLcom/android/server/locksettings/LockSettingsStorage$Cache;->put(ILjava/lang/String;Ljava/lang/Object;I)V
+SPLcom/android/server/locksettings/LockSettingsStorage$Cache;->putFileIfUnchanged(Ljava/lang/String;[BI)V
+SPLcom/android/server/locksettings/LockSettingsStorage$Cache;->putIfUnchanged(ILjava/lang/String;Ljava/lang/Object;II)V
+SPLcom/android/server/locksettings/LockSettingsStorage$Cache;->putKeyValueIfUnchanged(Ljava/lang/String;Ljava/lang/Object;II)V
+SPLcom/android/server/locksettings/LockSettingsStorage$Cache;->setFetched(I)V
+SPLcom/android/server/locksettings/LockSettingsStorage$CredentialHash;-><init>([BIIZ)V
+SPLcom/android/server/locksettings/LockSettingsStorage$DatabaseHelper;->setCallback(Lcom/android/server/locksettings/LockSettingsStorage$Callback;)V
+SPLcom/android/server/locksettings/LockSettingsStorage;->getChildProfileLockFile(I)Ljava/lang/String;
+SPLcom/android/server/locksettings/LockSettingsStorage;->getLegacyLockPasswordFilename(I)Ljava/lang/String;
+SPLcom/android/server/locksettings/LockSettingsStorage;->getLegacyLockPatternFilename(I)Ljava/lang/String;
+SPLcom/android/server/locksettings/LockSettingsStorage;->getLockCredentialFilePathForUser(ILjava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/locksettings/LockSettingsStorage;->getLockPasswordFilename(I)Ljava/lang/String;
+SPLcom/android/server/locksettings/LockSettingsStorage;->getLockPatternFilename(I)Ljava/lang/String;
+SPLcom/android/server/locksettings/LockSettingsStorage;->getSynthenticPasswordStateFilePathForUser(IJLjava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/locksettings/LockSettingsStorage;->getSyntheticPasswordDirectoryForUser(I)Ljava/io/File;
+SPLcom/android/server/locksettings/LockSettingsStorage;->hasChildProfileLock(I)Z
+SPLcom/android/server/locksettings/LockSettingsStorage;->prefetchUser(I)V
+SPLcom/android/server/locksettings/LockSettingsStorage;->readCredentialHash(I)Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
+SPLcom/android/server/locksettings/LockSettingsStorage;->readFile(Ljava/lang/String;)[B
+SPLcom/android/server/locksettings/LockSettingsStorage;->readKeyValue(Ljava/lang/String;Ljava/lang/String;I)Ljava/lang/String;
+SPLcom/android/server/locksettings/LockSettingsStorage;->readPasswordHashIfExists(I)Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
+SPLcom/android/server/locksettings/LockSettingsStorage;->readPatternHashIfExists(I)Lcom/android/server/locksettings/LockSettingsStorage$CredentialHash;
+SPLcom/android/server/locksettings/LockSettingsStorage;->readSyntheticPasswordState(IJLjava/lang/String;)[B
+SPLcom/android/server/locksettings/LockSettingsStrongAuth$1;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/locksettings/LockSettingsStrongAuth;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/locksettings/LockSettingsStrongAuth;->handleAddStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
+SPLcom/android/server/locksettings/LockSettingsStrongAuth;->registerStrongAuthTracker(Landroid/app/trust/IStrongAuthTracker;)V
+SPLcom/android/server/locksettings/LockSettingsStrongAuth;->systemReady()V
+SPLcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;->fromBytes([B)Lcom/android/server/locksettings/SyntheticPasswordManager$PasswordData;
+SPLcom/android/server/locksettings/SyntheticPasswordManager;->getCredentialType(JI)I
+SPLcom/android/server/locksettings/SyntheticPasswordManager;->getWeaverService()Landroid/hardware/weaver/V1_0/IWeaver;
+SPLcom/android/server/locksettings/SyntheticPasswordManager;->initWeaverService()V
+SPLcom/android/server/locksettings/SyntheticPasswordManager;->lambda$initWeaverService$0$SyntheticPasswordManager(ILandroid/hardware/weaver/V1_0/WeaverConfig;)V
+SPLcom/android/server/locksettings/SyntheticPasswordManager;->lambda$initWeaverService$0(Lcom/android/server/locksettings/SyntheticPasswordManager;ILandroid/hardware/weaver/V1_0/WeaverConfig;)V
+SPLcom/android/server/locksettings/recoverablekeystore/KeyStoreProxyImpl;->getAndLoadAndroidKeyStore()Ljava/security/KeyStore;
+SPLcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;->getAndLoadAndroidKeyStore()Ljava/security/KeyStore;
+SPLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;-><init>(Landroid/content/Context;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDb;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySessionStorage;Ljava/util/concurrent/ExecutorService;Lcom/android/server/locksettings/recoverablekeystore/storage/RecoverySnapshotStorage;Lcom/android/server/locksettings/recoverablekeystore/RecoverySnapshotListenersStorage;Lcom/android/server/locksettings/recoverablekeystore/PlatformKeyManager;Lcom/android/server/locksettings/recoverablekeystore/storage/ApplicationKeyStorage;Lcom/android/server/locksettings/recoverablekeystore/TestOnlyInsecureCertificateHelper;)V
+SPLcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;->getInstance(Landroid/content/Context;Landroid/security/KeyStore;)Lcom/android/server/locksettings/recoverablekeystore/RecoverableKeyStoreManager;
+SPLcom/android/server/media/AudioPlayerStateMonitor;-><init>()V
+SPLcom/android/server/media/AudioPlayerStateMonitor;->getSortedAudioPlaybackClientUids()Landroid/util/IntArray;
+SPLcom/android/server/media/AudioPlayerStateMonitor;->isPlaybackActive(I)Z
+SPLcom/android/server/media/AudioPlayerStateMonitor;->registerListener(Lcom/android/server/media/AudioPlayerStateMonitor$OnAudioPlayerActiveStateChangedListener;Landroid/os/Handler;)V
+SPLcom/android/server/media/AudioPlayerStateMonitor;->registerSelfIntoAudioServiceIfNeeded(Landroid/media/IAudioService;)V
+SPLcom/android/server/media/MediaResourceMonitorService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/media/MediaResourceMonitorService;->onStart()V
+SPLcom/android/server/media/MediaRouterService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/media/MediaRouterService$UserHandler;-><init>(Lcom/android/server/media/MediaRouterService;Lcom/android/server/media/MediaRouterService$UserRecord;)V
+SPLcom/android/server/media/MediaRouterService$UserHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/media/MediaRouterService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/media/MediaRouterService;->getState(Landroid/media/IMediaRouterClient;)Landroid/media/MediaRouterClientState;
+SPLcom/android/server/media/MediaRouterService;->initializeUserLocked(Lcom/android/server/media/MediaRouterService$UserRecord;)V
+SPLcom/android/server/media/MediaRouterService;->isPlaybackActive(Landroid/media/IMediaRouterClient;)Z
+SPLcom/android/server/media/MediaRouterService;->monitor()V
+SPLcom/android/server/media/MediaRouterService;->registerClientAsUser(Landroid/media/IMediaRouterClient;Ljava/lang/String;I)V
+SPLcom/android/server/media/MediaRouterService;->registerClientLocked(Landroid/media/IMediaRouterClient;IILjava/lang/String;IZ)V
+SPLcom/android/server/media/MediaRouterService;->setDiscoveryRequest(Landroid/media/IMediaRouterClient;IZ)V
+SPLcom/android/server/media/MediaRouterService;->setDiscoveryRequestLocked(Landroid/media/IMediaRouterClient;IZ)V
+SPLcom/android/server/media/MediaRouterService;->setSelectedRoute(Landroid/media/IMediaRouterClient;Ljava/lang/String;Z)V
+SPLcom/android/server/media/MediaRouterService;->setSelectedRouteLocked(Landroid/media/IMediaRouterClient;Ljava/lang/String;Z)V
+SPLcom/android/server/media/MediaRouterService;->switchUser()V
+SPLcom/android/server/media/MediaRouterService;->validatePackageName(ILjava/lang/String;)Z
+SPLcom/android/server/media/MediaSessionRecord$MessageHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/media/MediaSessionRecord$MessageHandler;->post(I)V
+SPLcom/android/server/media/MediaSessionRecord$MessageHandler;->post(ILjava/lang/Object;)V
+SPLcom/android/server/media/MediaSessionRecord$SessionStub;->getController()Landroid/media/session/ControllerLink;
+SPLcom/android/server/media/MediaSessionRecord$SessionStub;->setFlags(I)V
+SPLcom/android/server/media/MediaSessionRecord$SessionStub;->setPlaybackToLocal(Landroid/media/AudioAttributes;)V
+SPLcom/android/server/media/MediaSessionRecord;-><init>(IIILjava/lang/String;Landroid/media/session/SessionCallbackLink;Ljava/lang/String;Landroid/os/Bundle;Lcom/android/server/media/MediaSessionService$ServiceImpl;Landroid/os/Looper;)V
+SPLcom/android/server/media/MediaSessionRecord;-><init>(IIILjava/lang/String;Landroid/media/session/SessionCallbackLink;Ljava/lang/String;Lcom/android/server/media/MediaSessionService$ServiceImpl;Landroid/os/Looper;)V
+SPLcom/android/server/media/MediaSessionRecord;->getSessionBinder()Landroid/media/session/SessionLink;
+SPLcom/android/server/media/MediaSessionRecord;->getUserId()I
+SPLcom/android/server/media/MediaSessionRecord;->isActive()Z
+SPLcom/android/server/media/MediaSessionRecord;->toString()Ljava/lang/String;
+SPLcom/android/server/media/MediaSessionService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/media/MediaSessionService;->monitor()V
+SPLcom/android/server/media/MediaSessionService;->onStart()V
+SPLcom/android/server/media/MediaSessionService;->onStartUser(I)V
+SPLcom/android/server/media/MediaSessionServiceImpl$FullUserRecord;-><init>(Lcom/android/server/media/MediaSessionServiceImpl;I)V
+SPLcom/android/server/media/MediaSessionServiceImpl$MessageHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->addSessionsListener(Landroid/media/session/IActiveSessionsListener;Landroid/content/ComponentName;I)V
+SPLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->createSession(Ljava/lang/String;Landroid/media/session/SessionCallbackLink;Ljava/lang/String;I)Landroid/media/session/SessionLink;
+SPLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->createSession(Ljava/lang/String;Landroid/media/session/SessionCallbackLink;Ljava/lang/String;Landroid/os/Bundle;I)Landroid/media/session/SessionLink;
+SPLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->getSessions(Landroid/content/ComponentName;I)Ljava/util/List;
+SPLcom/android/server/media/MediaSessionServiceImpl$SessionManagerImpl;->setRemoteVolumeController(Landroid/media/IRemoteVolumeController;)V
+SPLcom/android/server/media/MediaSessionServiceImpl;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/media/MediaSessionServiceImpl;->access$3800(Lcom/android/server/media/MediaSessionServiceImpl;Ljava/lang/String;II)V
+SPLcom/android/server/media/MediaSessionServiceImpl;->access$4100(Lcom/android/server/media/MediaSessionServiceImpl;Landroid/content/ComponentName;III)V
+SPLcom/android/server/media/MediaSessionServiceImpl;->createSessionInternal(IIILjava/lang/String;Landroid/media/session/SessionCallbackLink;Ljava/lang/String;)Lcom/android/server/media/MediaSessionRecord;
+SPLcom/android/server/media/MediaSessionServiceImpl;->createSessionInternal(IIILjava/lang/String;Landroid/media/session/SessionCallbackLink;Ljava/lang/String;Landroid/os/Bundle;)Lcom/android/server/media/MediaSessionRecord;
+SPLcom/android/server/media/MediaSessionServiceImpl;->createSessionLocked(IIILjava/lang/String;Landroid/media/session/SessionCallbackLink;Ljava/lang/String;)Lcom/android/server/media/MediaSessionRecord;
+SPLcom/android/server/media/MediaSessionServiceImpl;->createSessionLocked(IIILjava/lang/String;Landroid/media/session/SessionCallbackLink;Ljava/lang/String;Landroid/os/Bundle;)Lcom/android/server/media/MediaSessionRecord;
+SPLcom/android/server/media/MediaSessionServiceImpl;->enforceMediaPermissions(Landroid/content/ComponentName;III)V
+SPLcom/android/server/media/MediaSessionServiceImpl;->enforcePackageName(Ljava/lang/String;I)V
+SPLcom/android/server/media/MediaSessionServiceImpl;->enforcePhoneStatePermission(II)V
+SPLcom/android/server/media/MediaSessionServiceImpl;->findIndexOfSessionsListenerLocked(Landroid/media/session/IActiveSessionsListener;)I
+SPLcom/android/server/media/MediaSessionServiceImpl;->getActiveSessionsLocked(I)Ljava/util/List;
+SPLcom/android/server/media/MediaSessionServiceImpl;->getContext()Landroid/content/Context;
+SPLcom/android/server/media/MediaSessionServiceImpl;->getServiceBinder()Landroid/os/IBinder;
+SPLcom/android/server/media/MediaSessionServiceImpl;->monitor()V
+SPLcom/android/server/media/MediaSessionServiceImpl;->onStart()V
+SPLcom/android/server/media/MediaSessionServiceImpl;->onStartUser(I)V
+SPLcom/android/server/media/MediaSessionServiceImpl;->pushRemoteVolumeUpdateLocked(I)V
+SPLcom/android/server/media/MediaSessionServiceImpl;->pushSessionsChanged(I)V
+SPLcom/android/server/media/MediaSessionServiceImpl;->setGlobalPrioritySession(Lcom/android/server/media/MediaSessionRecord;)V
+SPLcom/android/server/media/MediaSessionServiceImpl;->updateUser()V
+SPLcom/android/server/media/MediaSessionStack;->addSession(Lcom/android/server/media/MediaSessionRecord;)V
+SPLcom/android/server/media/MediaSessionStack;->contains(Lcom/android/server/media/MediaSessionRecord;)Z
+SPLcom/android/server/media/MediaSessionStack;->getActiveSessions(I)Ljava/util/ArrayList;
+SPLcom/android/server/media/MediaSessionStack;->getDefaultRemoteSession(I)Lcom/android/server/media/MediaSessionRecord;
+SPLcom/android/server/media/MediaSessionStack;->getPriorityList(ZI)Ljava/util/ArrayList;
+SPLcom/android/server/media/MediaSessionStack;->removeSession(Lcom/android/server/media/MediaSessionRecord;)V
+SPLcom/android/server/media/MediaSessionStack;->updateMediaButtonSessionIfNeeded()V
+SPLcom/android/server/media/RemoteDisplayProviderWatcher$2;->run()V
+SPLcom/android/server/media/RemoteDisplayProviderWatcher;-><init>(Landroid/content/Context;Lcom/android/server/media/RemoteDisplayProviderWatcher$Callback;Landroid/os/Handler;I)V
+SPLcom/android/server/media/RemoteDisplayProviderWatcher;->scanPackages()V
+SPLcom/android/server/media/RemoteDisplayProviderWatcher;->start()V
+SPLcom/android/server/media/projection/MediaProjectionManagerService$BinderService;->addCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
+SPLcom/android/server/media/projection/MediaProjectionManagerService$BinderService;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
+SPLcom/android/server/media/projection/MediaProjectionManagerService$CallbackDelegate;-><init>()V
+SPLcom/android/server/media/projection/MediaProjectionManagerService$CallbackDelegate;->add(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
+SPLcom/android/server/media/projection/MediaProjectionManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/media/projection/MediaProjectionManagerService;->addCallback(Landroid/media/projection/IMediaProjectionWatcherCallback;)V
+SPLcom/android/server/media/projection/MediaProjectionManagerService;->getActiveProjectionInfo()Landroid/media/projection/MediaProjectionInfo;
+SPLcom/android/server/media/projection/MediaProjectionManagerService;->linkDeathRecipientLocked(Landroid/media/projection/IMediaProjectionWatcherCallback;Landroid/os/IBinder$DeathRecipient;)V
+SPLcom/android/server/media/projection/MediaProjectionManagerService;->monitor()V
+SPLcom/android/server/media/projection/MediaProjectionManagerService;->onStart()V
+SPLcom/android/server/midi/MidiService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/midi/MidiService$Lifecycle;->onStart()V
+SPLcom/android/server/midi/MidiService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/net/-$$Lambda$NetworkPolicyManagerService$HDTUqowtgL-W_V0Kq6psXLWC9ws;->run()V
+SPLcom/android/server/net/DelayedDiskWrite;-><init>()V
+SPLcom/android/server/net/IpConfigStore;-><init>()V
+SPLcom/android/server/net/IpConfigStore;-><init>(Lcom/android/server/net/DelayedDiskWrite;)V
+SPLcom/android/server/net/IpConfigStore;->readIpConfigurations(Ljava/lang/String;)Landroid/util/ArrayMap;
+SPLcom/android/server/net/NetworkPolicyLogger;-><init>()V
+SPLcom/android/server/net/NetworkPolicyLogger;->firewallChainEnabled(IZ)V
+SPLcom/android/server/net/NetworkPolicyLogger;->firewallRulesChanged(I[I[I)V
+SPLcom/android/server/net/NetworkPolicyLogger;->meteredRestrictedPkgsChanged(Ljava/util/Set;)V
+SPLcom/android/server/net/NetworkPolicyLogger;->paroleStateChanged(Z)V
+SPLcom/android/server/net/NetworkPolicyLogger;->uidFirewallRuleChanged(III)V
+SPLcom/android/server/net/NetworkPolicyLogger;->uidStateChanged(IIJ)V
+SPLcom/android/server/net/NetworkPolicyManagerService$18;->handleMessage(Landroid/os/Message;)Z
+SPLcom/android/server/net/NetworkPolicyManagerService$4;->onUidGone(IZ)V
+SPLcom/android/server/net/NetworkPolicyManagerService$4;->onUidStateChanged(IIJ)V
+SPLcom/android/server/net/NetworkPolicyManagerService$9;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/net/NetworkPolicyManagerService$AppIdleStateChangeListener;->onParoleStateChanged(Z)V
+SPLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->onAdminDataAvailable()V
+SPLcom/android/server/net/NetworkPolicyManagerService$NetworkPolicyManagerInternalImpl;->setMeteredRestrictedPackagesAsync(Ljava/util/Set;I)V
+SPLcom/android/server/net/NetworkPolicyManagerService;-><init>(Landroid/content/Context;Landroid/app/IActivityManager;Landroid/os/INetworkManagementService;)V
+SPLcom/android/server/net/NetworkPolicyManagerService;-><init>(Landroid/content/Context;Landroid/app/IActivityManager;Landroid/os/INetworkManagementService;Landroid/content/pm/IPackageManager;Ljava/time/Clock;Ljava/io/File;Z)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->addDefaultRestrictBackgroundWhitelistUidsUL()Z
+SPLcom/android/server/net/NetworkPolicyManagerService;->addDefaultRestrictBackgroundWhitelistUidsUL(I)Z
+SPLcom/android/server/net/NetworkPolicyManagerService;->bindConnectivityManager(Landroid/net/IConnectivityManager;)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->enableFirewallChainUL(IZ)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->findRelevantSubIdNL(Landroid/net/NetworkTemplate;)I
+SPLcom/android/server/net/NetworkPolicyManagerService;->getRestrictBackground()Z
+SPLcom/android/server/net/NetworkPolicyManagerService;->handleRestrictedPackagesChangeUL(Ljava/util/Set;Ljava/util/Set;)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->handleUidChanged(IIJ)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->handleUidGone(I)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->initService(Ljava/util/concurrent/CountDownLatch;)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->isBandwidthControlEnabled()Z
+SPLcom/android/server/net/NetworkPolicyManagerService;->lambda$networkScoreAndNetworkManagementServiceReady$0$NetworkPolicyManagerService(Ljava/util/concurrent/CountDownLatch;)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->networkScoreAndNetworkManagementServiceReady()Ljava/util/concurrent/CountDownLatch;
+SPLcom/android/server/net/NetworkPolicyManagerService;->onTetheringChanged(Ljava/lang/String;Z)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->readPolicyAL()V
+SPLcom/android/server/net/NetworkPolicyManagerService;->registerListener(Landroid/net/INetworkPolicyListener;)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->removeUidStateUL(I)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->setMeteredRestrictedPackagesInternal(Ljava/util/Set;I)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->setNetworkTemplateEnabledInner(Landroid/net/NetworkTemplate;Z)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->setRestrictBackgroundUL(Z)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->setUidFirewallRule(III)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->setUidFirewallRulesUL(ILandroid/util/SparseIntArray;)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->setUidPolicyUncheckedUL(IIZ)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->systemReady(Ljava/util/concurrent/CountDownLatch;)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkEnabledNL()V
+SPLcom/android/server/net/NetworkPolicyManagerService;->updateNetworkStats(IZ)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->updateNotificationsNL()V
+SPLcom/android/server/net/NetworkPolicyManagerService;->updatePowerSaveWhitelistUL()V
+SPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForAppIdleParoleUL()V
+SPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForDeviceIdleUL()V
+SPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForGlobalChangeAL(Z)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForPowerSaveUL()V
+SPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForRestrictBackgroundUL()V
+SPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForRestrictPowerUL()V
+SPLcom/android/server/net/NetworkPolicyManagerService;->updateRulesForWhitelistedPowerSaveUL(ZILandroid/util/SparseIntArray;)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->updateUidStateUL(II)V
+SPLcom/android/server/net/NetworkPolicyManagerService;->writePolicyAL()V
+SPLcom/android/server/net/NetworkStatsCollection$Key;->equals(Ljava/lang/Object;)Z
+SPLcom/android/server/net/NetworkStatsCollection;->getSummary(Landroid/net/NetworkTemplate;JJII)Landroid/net/NetworkStats;
+SPLcom/android/server/net/NetworkStatsCollection;->getTotalBytes()J
+SPLcom/android/server/net/NetworkStatsCollection;->read(Ljava/io/InputStream;)V
+SPLcom/android/server/net/NetworkStatsObservers$1;->handleMessage(Landroid/os/Message;)Z
+SPLcom/android/server/net/NetworkStatsObservers;->getHandler()Landroid/os/Handler;
+SPLcom/android/server/net/NetworkStatsObservers;->getHandlerLooperLocked()Landroid/os/Looper;
+SPLcom/android/server/net/NetworkStatsObservers;->handleUpdateStats(Lcom/android/server/net/NetworkStatsObservers$StatsContext;)V
+SPLcom/android/server/net/NetworkStatsObservers;->updateStats(Landroid/net/NetworkStats;Landroid/net/NetworkStats;Landroid/util/ArrayMap;Landroid/util/ArrayMap;[Lcom/android/internal/net/VpnInfo;J)V
+SPLcom/android/server/net/NetworkStatsRecorder;-><init>(Lcom/android/internal/util/FileRotator;Landroid/net/NetworkStats$NonMonotonicObserver;Landroid/os/DropBoxManager;Ljava/lang/String;JZ)V
+SPLcom/android/server/net/NetworkStatsRecorder;->getOrLoadCompleteLocked()Lcom/android/server/net/NetworkStatsCollection;
+SPLcom/android/server/net/NetworkStatsRecorder;->getTotalSinceBootLocked(Landroid/net/NetworkTemplate;)Landroid/net/NetworkStats$Entry;
+SPLcom/android/server/net/NetworkStatsRecorder;->loadLocked(JJ)Lcom/android/server/net/NetworkStatsCollection;
+SPLcom/android/server/net/NetworkStatsRecorder;->maybePersistLocked(J)V
+SPLcom/android/server/net/NetworkStatsRecorder;->recordSnapshotLocked(Landroid/net/NetworkStats;Ljava/util/Map;[Lcom/android/internal/net/VpnInfo;J)V
+SPLcom/android/server/net/NetworkStatsRecorder;->setPersistThreshold(J)V
+SPLcom/android/server/net/NetworkStatsService$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/net/NetworkStatsService$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getDevConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
+SPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getDevPersistBytes(J)J
+SPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getGlobalAlertBytes(J)J
+SPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getPollInterval()J
+SPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getSampleEnabled()Z
+SPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
+SPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidPersistBytes(J)J
+SPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidTagConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
+SPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getUidTagPersistBytes(J)J
+SPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getXtConfig()Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;
+SPLcom/android/server/net/NetworkStatsService$DefaultNetworkStatsSettings;->getXtPersistBytes(J)J
+SPLcom/android/server/net/NetworkStatsService$NetworkStatsManagerInternalImpl;->setUidForeground(IZ)V
+SPLcom/android/server/net/NetworkStatsService;-><init>(Landroid/content/Context;Landroid/os/INetworkManagementService;Landroid/app/AlarmManager;Landroid/os/PowerManager$WakeLock;Ljava/time/Clock;Landroid/telephony/TelephonyManager;Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings;Lcom/android/server/net/NetworkStatsObservers;Ljava/io/File;Ljava/io/File;)V
+SPLcom/android/server/net/NetworkStatsService;->bindConnectivityManager(Landroid/net/IConnectivityManager;)V
+SPLcom/android/server/net/NetworkStatsService;->bootstrapStatsLocked()V
+SPLcom/android/server/net/NetworkStatsService;->buildRecorder(Ljava/lang/String;Lcom/android/server/net/NetworkStatsService$NetworkStatsSettings$Config;Z)Lcom/android/server/net/NetworkStatsRecorder;
+SPLcom/android/server/net/NetworkStatsService;->create(Landroid/content/Context;Landroid/os/INetworkManagementService;)Lcom/android/server/net/NetworkStatsService;
+SPLcom/android/server/net/NetworkStatsService;->getNetworkStatsTethering(I)Landroid/net/NetworkStats;
+SPLcom/android/server/net/NetworkStatsService;->getNetworkStatsUidDetail([Ljava/lang/String;)Landroid/net/NetworkStats;
+SPLcom/android/server/net/NetworkStatsService;->isBandwidthControlEnabled()Z
+SPLcom/android/server/net/NetworkStatsService;->maybeUpgradeLegacyStatsLocked()V
+SPLcom/android/server/net/NetworkStatsService;->performPoll(I)V
+SPLcom/android/server/net/NetworkStatsService;->performPollLocked(I)V
+SPLcom/android/server/net/NetworkStatsService;->performSampleLocked()V
+SPLcom/android/server/net/NetworkStatsService;->recordSnapshotLocked(J)V
+SPLcom/android/server/net/NetworkStatsService;->registerGlobalAlert()V
+SPLcom/android/server/net/NetworkStatsService;->registerPollAlarmLocked()V
+SPLcom/android/server/net/NetworkStatsService;->setUidForeground(IZ)V
+SPLcom/android/server/net/NetworkStatsService;->systemReady()V
+SPLcom/android/server/net/NetworkStatsService;->updatePersistThresholdsLocked()V
+SPLcom/android/server/net/ipmemorystore/IpMemoryStoreService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/net/watchlist/-$$Lambda$WatchlistLoggingHandler$GBD0dX6RhipHIkM0Z_B5jLlwfHQ;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+SPLcom/android/server/net/watchlist/HarmfulDigests;-><init>(Ljava/util/List;)V
+SPLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/net/watchlist/NetworkWatchlistService$Lifecycle;->onStart()V
+SPLcom/android/server/net/watchlist/NetworkWatchlistService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/net/watchlist/NetworkWatchlistService;->startWatchlistLogging()Z
+SPLcom/android/server/net/watchlist/NetworkWatchlistService;->startWatchlistLoggingImpl()Z
+SPLcom/android/server/net/watchlist/ReportWatchlistJobService;->schedule(Landroid/content/Context;)V
+SPLcom/android/server/net/watchlist/WatchlistConfig;-><init>()V
+SPLcom/android/server/net/watchlist/WatchlistConfig;->parseHashes(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/util/List;)V
+SPLcom/android/server/net/watchlist/WatchlistConfig;->reloadConfig()V
+SPLcom/android/server/net/watchlist/WatchlistConfig;->removeTestModeConfig()V
+SPLcom/android/server/net/watchlist/WatchlistLoggingHandler;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+SPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getAllDigestsForReport(Lcom/android/server/net/watchlist/WatchlistReportDbHelper$AggregatedResult;)Ljava/util/List;
+SPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->getMidnightTimestamp(I)J
+SPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->lambda$getDigestFromUid$0$WatchlistLoggingHandler(ILjava/lang/Integer;)[B
+SPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->lambda$getDigestFromUid$0(Lcom/android/server/net/watchlist/WatchlistLoggingHandler;ILjava/lang/Integer;)[B
+SPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->reportWatchlistIfNecessary()V
+SPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->shouldReportNetworkWatchlist(J)Z
+SPLcom/android/server/net/watchlist/WatchlistLoggingHandler;->tryAggregateRecords(J)V
+SPLcom/android/server/net/watchlist/WatchlistReportDbHelper;->cleanup(J)Z
+SPLcom/android/server/net/watchlist/WatchlistReportDbHelper;->getAggregatedRecords(J)Lcom/android/server/net/watchlist/WatchlistReportDbHelper$AggregatedResult;
+SPLcom/android/server/net/watchlist/WatchlistReportDbHelper;->getInstance(Landroid/content/Context;)Lcom/android/server/net/watchlist/WatchlistReportDbHelper;
+SPLcom/android/server/net/watchlist/WatchlistSettings;-><init>()V
+SPLcom/android/server/net/watchlist/WatchlistSettings;-><init>(Ljava/io/File;)V
+SPLcom/android/server/net/watchlist/WatchlistSettings;->parseSecretKey(Lorg/xmlpull/v1/XmlPullParser;)[B
+SPLcom/android/server/net/watchlist/WatchlistSettings;->reloadSettings()V
+SPLcom/android/server/notification/-$$Lambda$NotificationManagerService$14$hWnH6mjUAxwVmpU3QRoPHh5_FyI;-><init>(II)V
+SPLcom/android/server/notification/-$$Lambda$NotificationManagerService$Ehw7Jxsy3ZIwTcAa2DFsHjIULas;->run()V
+SPLcom/android/server/notification/-$$Lambda$NotificationManagerService$NotificationListeners$T5BM1IF40aMGtqZZRr6BWGjzNxA;->run()V
+SPLcom/android/server/notification/-$$Lambda$ouaYRM5YVYoMkUW8dm6TnIjLfgg;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+SPLcom/android/server/notification/-$$Lambda$ouaYRM5YVYoMkUW8dm6TnIjLfgg;->test(Ljava/lang/Object;)Z
+SPLcom/android/server/notification/BadgeExtractor;-><init>()V
+SPLcom/android/server/notification/BadgeExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+SPLcom/android/server/notification/BadgeExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+SPLcom/android/server/notification/BadgeExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+SPLcom/android/server/notification/BubbleExtractor;-><init>()V
+SPLcom/android/server/notification/BubbleExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+SPLcom/android/server/notification/BubbleExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+SPLcom/android/server/notification/BubbleExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+SPLcom/android/server/notification/CalendarTracker$CheckEventResult;-><init>()V
+SPLcom/android/server/notification/CalendarTracker;->checkEvent(Landroid/service/notification/ZenModeConfig$EventInfo;J)Lcom/android/server/notification/CalendarTracker$CheckEventResult;
+SPLcom/android/server/notification/CalendarTracker;->getCalendarsWithAccess()Landroid/util/ArraySet;
+SPLcom/android/server/notification/CalendarTracker;->setCallback(Lcom/android/server/notification/CalendarTracker$Callback;)V
+SPLcom/android/server/notification/CalendarTracker;->setRegistered(Z)V
+SPLcom/android/server/notification/ConditionProviders;-><init>(Landroid/content/Context;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;)V
+SPLcom/android/server/notification/ConditionProviders;->addSystemProvider(Lcom/android/server/notification/SystemConditionProviderService;)V
+SPLcom/android/server/notification/ConditionProviders;->checkServiceToken(Landroid/service/notification/IConditionProvider;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+SPLcom/android/server/notification/ConditionProviders;->ensureRecordExists(Landroid/content/ComponentName;Landroid/net/Uri;Landroid/service/notification/IConditionProvider;)V
+SPLcom/android/server/notification/ConditionProviders;->findCondition(Landroid/content/ComponentName;Landroid/net/Uri;)Landroid/service/notification/Condition;
+SPLcom/android/server/notification/ConditionProviders;->findConditionProvider(Landroid/content/ComponentName;)Landroid/service/notification/IConditionProvider;
+SPLcom/android/server/notification/ConditionProviders;->getConfig()Lcom/android/server/notification/ManagedServices$Config;
+SPLcom/android/server/notification/ConditionProviders;->getRecordLocked(Landroid/net/Uri;Landroid/content/ComponentName;Z)Lcom/android/server/notification/ConditionProviders$ConditionRecord;
+SPLcom/android/server/notification/ConditionProviders;->getSystemProviders()Ljava/lang/Iterable;
+SPLcom/android/server/notification/ConditionProviders;->isSystemProviderEnabled(Ljava/lang/String;)Z
+SPLcom/android/server/notification/ConditionProviders;->notifyConditions(Ljava/lang/String;Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;[Landroid/service/notification/Condition;)V
+SPLcom/android/server/notification/ConditionProviders;->onBootPhaseAppsCanStart()V
+SPLcom/android/server/notification/ConditionProviders;->onServiceAdded(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+SPLcom/android/server/notification/ConditionProviders;->onUserSwitched(I)V
+SPLcom/android/server/notification/ConditionProviders;->removeDuplicateConditions(Ljava/lang/String;[Landroid/service/notification/Condition;)[Landroid/service/notification/Condition;
+SPLcom/android/server/notification/ConditionProviders;->setCallback(Lcom/android/server/notification/ConditionProviders$Callback;)V
+SPLcom/android/server/notification/ConditionProviders;->subscribeIfNecessary(Landroid/content/ComponentName;Landroid/net/Uri;)Z
+SPLcom/android/server/notification/ConditionProviders;->subscribeLocked(Lcom/android/server/notification/ConditionProviders$ConditionRecord;)V
+SPLcom/android/server/notification/CountdownConditionProvider;->asInterface()Landroid/service/notification/IConditionProvider;
+SPLcom/android/server/notification/CountdownConditionProvider;->attachBase(Landroid/content/Context;)V
+SPLcom/android/server/notification/CountdownConditionProvider;->getComponent()Landroid/content/ComponentName;
+SPLcom/android/server/notification/CountdownConditionProvider;->isValidConditionId(Landroid/net/Uri;)Z
+SPLcom/android/server/notification/CountdownConditionProvider;->onBootComplete()V
+SPLcom/android/server/notification/CountdownConditionProvider;->onConnected()V
+SPLcom/android/server/notification/CriticalNotificationExtractor;-><init>()V
+SPLcom/android/server/notification/CriticalNotificationExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+SPLcom/android/server/notification/CriticalNotificationExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+SPLcom/android/server/notification/CriticalNotificationExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+SPLcom/android/server/notification/EventConditionProvider$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/notification/EventConditionProvider$4;->run()V
+SPLcom/android/server/notification/EventConditionProvider;-><init>()V
+SPLcom/android/server/notification/EventConditionProvider;->asInterface()Landroid/service/notification/IConditionProvider;
+SPLcom/android/server/notification/EventConditionProvider;->attachBase(Landroid/content/Context;)V
+SPLcom/android/server/notification/EventConditionProvider;->evaluateSubscriptionsW()V
+SPLcom/android/server/notification/EventConditionProvider;->getComponent()Landroid/content/ComponentName;
+SPLcom/android/server/notification/EventConditionProvider;->getContextForUser(Landroid/content/Context;Landroid/os/UserHandle;)Landroid/content/Context;
+SPLcom/android/server/notification/EventConditionProvider;->isValidConditionId(Landroid/net/Uri;)Z
+SPLcom/android/server/notification/EventConditionProvider;->onBootComplete()V
+SPLcom/android/server/notification/EventConditionProvider;->onConnected()V
+SPLcom/android/server/notification/EventConditionProvider;->onSubscribe(Landroid/net/Uri;)V
+SPLcom/android/server/notification/EventConditionProvider;->reloadTrackers()V
+SPLcom/android/server/notification/EventConditionProvider;->rescheduleAlarm(JJ)V
+SPLcom/android/server/notification/EventConditionProvider;->setRegistered(Z)V
+SPLcom/android/server/notification/ImportanceExtractor;-><init>()V
+SPLcom/android/server/notification/ImportanceExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+SPLcom/android/server/notification/ImportanceExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+SPLcom/android/server/notification/ImportanceExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+SPLcom/android/server/notification/ManagedServices$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+SPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;-><init>(Lcom/android/server/notification/ManagedServices;Landroid/os/IInterface;Landroid/content/ComponentName;IZLandroid/content/ServiceConnection;I)V
+SPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->enabledAndUserMatches(I)Z
+SPLcom/android/server/notification/ManagedServices$ManagedServiceInfo;->isEnabledForCurrentProfiles()Z
+SPLcom/android/server/notification/ManagedServices$UserProfiles;->getCurrentProfileIds()Landroid/util/IntArray;
+SPLcom/android/server/notification/ManagedServices$UserProfiles;->isManagedProfile(I)Z
+SPLcom/android/server/notification/ManagedServices$UserProfiles;->updateCache(Landroid/content/Context;)V
+SPLcom/android/server/notification/ManagedServices;-><init>(Landroid/content/Context;Ljava/lang/Object;Lcom/android/server/notification/ManagedServices$UserProfiles;Landroid/content/pm/IPackageManager;)V
+SPLcom/android/server/notification/ManagedServices;->addApprovedList(Ljava/lang/String;IZ)V
+SPLcom/android/server/notification/ManagedServices;->bindToServices(Landroid/util/SparseArray;)V
+SPLcom/android/server/notification/ManagedServices;->checkServiceTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+SPLcom/android/server/notification/ManagedServices;->getAllowedComponents(Landroid/util/IntArray;)Landroid/util/SparseArray;
+SPLcom/android/server/notification/ManagedServices;->getAllowedPackages()Ljava/util/Set;
+SPLcom/android/server/notification/ManagedServices;->getAllowedPackages(I)Ljava/util/List;
+SPLcom/android/server/notification/ManagedServices;->getBindFlags()I
+SPLcom/android/server/notification/ManagedServices;->getPackageName(Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/notification/ManagedServices;->getRemovableConnectedServices()Ljava/util/Set;
+SPLcom/android/server/notification/ManagedServices;->getServiceFromTokenLocked(Landroid/os/IInterface;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+SPLcom/android/server/notification/ManagedServices;->getServices()Ljava/util/List;
+SPLcom/android/server/notification/ManagedServices;->isPackageOrComponentAllowed(Ljava/lang/String;I)Z
+SPLcom/android/server/notification/ManagedServices;->loadComponentNamesFromValues(Landroid/util/ArraySet;I)Landroid/util/ArraySet;
+SPLcom/android/server/notification/ManagedServices;->onBootPhaseAppsCanStart()V
+SPLcom/android/server/notification/ManagedServices;->onUserSwitched(I)V
+SPLcom/android/server/notification/ManagedServices;->populateComponentsToBind(Landroid/util/SparseArray;Landroid/util/IntArray;Landroid/util/SparseArray;)V
+SPLcom/android/server/notification/ManagedServices;->populateComponentsToUnbind(ZLjava/util/Set;Landroid/util/SparseArray;Landroid/util/SparseArray;)V
+SPLcom/android/server/notification/ManagedServices;->queryPackageForServices(Ljava/lang/String;I)Ljava/util/Set;
+SPLcom/android/server/notification/ManagedServices;->queryPackageForServices(Ljava/lang/String;II)Ljava/util/Set;
+SPLcom/android/server/notification/ManagedServices;->readXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/function/Predicate;ZI)V
+SPLcom/android/server/notification/ManagedServices;->rebindServices(ZI)V
+SPLcom/android/server/notification/ManagedServices;->registerGuestService(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+SPLcom/android/server/notification/ManagedServices;->registerService(Landroid/content/ComponentName;I)V
+SPLcom/android/server/notification/ManagedServices;->registerService(Landroid/os/IInterface;Landroid/content/ComponentName;I)V
+SPLcom/android/server/notification/ManagedServices;->registerServiceImpl(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;
+SPLcom/android/server/notification/ManagedServices;->registerServiceLocked(Landroid/content/ComponentName;IZ)V
+SPLcom/android/server/notification/ManagedServices;->setPackageOrComponentEnabled(Ljava/lang/String;IZZ)V
+SPLcom/android/server/notification/ManagedServices;->unbindFromServices(Landroid/util/SparseArray;)V
+SPLcom/android/server/notification/ManagedServices;->writeXml(Lorg/xmlpull/v1/XmlSerializer;ZI)V
+SPLcom/android/server/notification/NotificationAdjustmentExtractor;-><init>()V
+SPLcom/android/server/notification/NotificationAdjustmentExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+SPLcom/android/server/notification/NotificationAdjustmentExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+SPLcom/android/server/notification/NotificationAdjustmentExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+SPLcom/android/server/notification/NotificationChannelExtractor;-><init>()V
+SPLcom/android/server/notification/NotificationChannelExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+SPLcom/android/server/notification/NotificationChannelExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+SPLcom/android/server/notification/NotificationChannelExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+SPLcom/android/server/notification/NotificationComparator;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/notification/NotificationIntrusivenessExtractor;-><init>()V
+SPLcom/android/server/notification/NotificationIntrusivenessExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+SPLcom/android/server/notification/NotificationIntrusivenessExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+SPLcom/android/server/notification/NotificationIntrusivenessExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+SPLcom/android/server/notification/NotificationManagerService$10$1;->run()V
+SPLcom/android/server/notification/NotificationManagerService$10;->cancelNotificationWithTag(Ljava/lang/String;Ljava/lang/String;II)V
+SPLcom/android/server/notification/NotificationManagerService$10;->createNotificationChannels(Ljava/lang/String;Landroid/content/pm/ParceledListSlice;)V
+SPLcom/android/server/notification/NotificationManagerService$10;->createNotificationChannelsImpl(Ljava/lang/String;ILandroid/content/pm/ParceledListSlice;)V
+SPLcom/android/server/notification/NotificationManagerService$10;->deleteNotificationChannel(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/notification/NotificationManagerService$10;->getActiveNotificationsFromListener(Landroid/service/notification/INotificationListener;[Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+SPLcom/android/server/notification/NotificationManagerService$10;->getAppActiveNotifications(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+SPLcom/android/server/notification/NotificationManagerService$10;->getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;
+SPLcom/android/server/notification/NotificationManagerService$10;->getEffectsSuppressor()Landroid/content/ComponentName;
+SPLcom/android/server/notification/NotificationManagerService$10;->getNotificationChannel(Ljava/lang/String;Ljava/lang/String;)Landroid/app/NotificationChannel;
+SPLcom/android/server/notification/NotificationManagerService$10;->getZenMode()I
+SPLcom/android/server/notification/NotificationManagerService$10;->getZenModeConfig()Landroid/service/notification/ZenModeConfig;
+SPLcom/android/server/notification/NotificationManagerService$10;->notifyConditions(Ljava/lang/String;Landroid/service/notification/IConditionProvider;[Landroid/service/notification/Condition;)V
+SPLcom/android/server/notification/NotificationManagerService$10;->registerListener(Landroid/service/notification/INotificationListener;Landroid/content/ComponentName;I)V
+SPLcom/android/server/notification/NotificationManagerService$10;->setNotificationListenerAccessGrantedForUser(Landroid/content/ComponentName;IZ)V
+SPLcom/android/server/notification/NotificationManagerService$10;->setNotificationPolicyAccessGranted(Ljava/lang/String;Z)V
+SPLcom/android/server/notification/NotificationManagerService$10;->setNotificationPolicyAccessGrantedForUser(Ljava/lang/String;IZ)V
+SPLcom/android/server/notification/NotificationManagerService$10;->shouldHideSilentStatusIcons(Ljava/lang/String;)Z
+SPLcom/android/server/notification/NotificationManagerService$14;->run()V
+SPLcom/android/server/notification/NotificationManagerService$1;->onSetDisabled(I)V
+SPLcom/android/server/notification/NotificationManagerService$6;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/notification/NotificationManagerService$7;-><init>(Lcom/android/server/notification/NotificationManagerService;)V
+SPLcom/android/server/notification/NotificationManagerService$7;->onConfigChanged()V
+SPLcom/android/server/notification/NotificationManagerService$7;->onPolicyChanged()V
+SPLcom/android/server/notification/NotificationManagerService$7;->onZenModeChanged()V
+SPLcom/android/server/notification/NotificationManagerService$Archive;-><init>(I)V
+SPLcom/android/server/notification/NotificationManagerService$CancelNotificationRunnable;->run()V
+SPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->asInterface(Landroid/os/IBinder;)Landroid/os/IInterface;
+SPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->ensureAssistant()V
+SPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->getConfig()Lcom/android/server/notification/ManagedServices$Config;
+SPLcom/android/server/notification/NotificationManagerService$NotificationAssistants;->onServiceAdded(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+SPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->checkType(Landroid/os/IInterface;)Z
+SPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getBindFlags()I
+SPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->getConfig()Lcom/android/server/notification/ManagedServices$Config;
+SPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->isListenerPackage(Ljava/lang/String;)Z
+SPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->lambda$notifyNotificationChannelChanged$2$NotificationManagerService$NotificationListeners(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
+SPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->notifyNotificationChannelChanged(Ljava/lang/String;Landroid/os/UserHandle;Landroid/app/NotificationChannel;I)V
+SPLcom/android/server/notification/NotificationManagerService$NotificationListeners;->onServiceAdded(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+SPLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Looper;)V
+SPLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/notification/NotificationManagerService$RankingHandlerWorker;->requestSort()V
+SPLcom/android/server/notification/NotificationManagerService$SettingsObserver;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Handler;)V
+SPLcom/android/server/notification/NotificationManagerService$SettingsObserver;->observe()V
+SPLcom/android/server/notification/NotificationManagerService$SettingsObserver;->update(Landroid/net/Uri;)V
+SPLcom/android/server/notification/NotificationManagerService$WorkerHandler;-><init>(Lcom/android/server/notification/NotificationManagerService;Landroid/os/Looper;)V
+SPLcom/android/server/notification/NotificationManagerService$WorkerHandler;->scheduleCancelNotification(Lcom/android/server/notification/NotificationManagerService$CancelNotificationRunnable;)V
+SPLcom/android/server/notification/NotificationManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/notification/NotificationManagerService;->access$3500(Lcom/android/server/notification/NotificationManagerService;)Lcom/android/server/notification/SnoozeHelper;
+SPLcom/android/server/notification/NotificationManagerService;->access$8300(Lcom/android/server/notification/NotificationManagerService;Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
+SPLcom/android/server/notification/NotificationManagerService;->canUseManagedServices(Ljava/lang/String;)Z
+SPLcom/android/server/notification/NotificationManagerService;->cancelAllNotificationsByListLocked(Ljava/util/ArrayList;IILjava/lang/String;ZLjava/lang/String;Lcom/android/server/notification/NotificationManagerService$FlagChecker;ZIZILjava/lang/String;Z)V
+SPLcom/android/server/notification/NotificationManagerService;->cancelAllNotificationsInt(IILjava/lang/String;Ljava/lang/String;IIZIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+SPLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIIIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+SPLcom/android/server/notification/NotificationManagerService;->cancelNotification(IILjava/lang/String;Ljava/lang/String;IIIZIILcom/android/server/notification/ManagedServices$ManagedServiceInfo;)V
+SPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSameApp(Ljava/lang/String;II)V
+SPLcom/android/server/notification/NotificationManagerService;->checkCallerIsSystem()V
+SPLcom/android/server/notification/NotificationManagerService;->disableNotificationEffects(Lcom/android/server/notification/NotificationRecord;)Ljava/lang/String;
+SPLcom/android/server/notification/NotificationManagerService;->findNotificationByListLocked(Ljava/util/ArrayList;Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
+SPLcom/android/server/notification/NotificationManagerService;->findNotificationLocked(Ljava/lang/String;Ljava/lang/String;II)Lcom/android/server/notification/NotificationRecord;
+SPLcom/android/server/notification/NotificationManagerService;->getCompanionManager()Landroid/companion/ICompanionDeviceManager;
+SPLcom/android/server/notification/NotificationManagerService;->getLongArray(Landroid/content/res/Resources;II[J)[J
+SPLcom/android/server/notification/NotificationManagerService;->handleRankingSort()V
+SPLcom/android/server/notification/NotificationManagerService;->handleSavePolicyFile()V
+SPLcom/android/server/notification/NotificationManagerService;->hasCompanionDevice(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Z
+SPLcom/android/server/notification/NotificationManagerService;->init(Landroid/os/Looper;Landroid/content/pm/IPackageManager;Landroid/content/pm/PackageManager;Lcom/android/server/lights/LightsManager;Lcom/android/server/notification/NotificationManagerService$NotificationListeners;Lcom/android/server/notification/NotificationManagerService$NotificationAssistants;Lcom/android/server/notification/ConditionProviders;Landroid/companion/ICompanionDeviceManager;Lcom/android/server/notification/SnoozeHelper;Lcom/android/server/notification/NotificationUsageStats;Landroid/util/AtomicFile;Landroid/app/ActivityManager;Lcom/android/server/notification/GroupHelper;Landroid/app/IActivityManager;Landroid/app/usage/UsageStatsManagerInternal;Landroid/app/admin/DevicePolicyManagerInternal;Landroid/app/IUriGrantsManager;Lcom/android/server/uri/UriGrantsManagerInternal;Landroid/app/AppOpsManager;)V
+SPLcom/android/server/notification/NotificationManagerService;->isCallerSystemOrPhone()Z
+SPLcom/android/server/notification/NotificationManagerService;->isCallingUidSystem()Z
+SPLcom/android/server/notification/NotificationManagerService;->isUidSystemOrPhone(I)Z
+SPLcom/android/server/notification/NotificationManagerService;->lambda$handleSavePolicyFile$0$NotificationManagerService()V
+SPLcom/android/server/notification/NotificationManagerService;->lambda$handleSavePolicyFile$0(Lcom/android/server/notification/NotificationManagerService;)V
+SPLcom/android/server/notification/NotificationManagerService;->listenForCallState()V
+SPLcom/android/server/notification/NotificationManagerService;->loadPolicyFile()V
+SPLcom/android/server/notification/NotificationManagerService;->makeRankingUpdateLocked(Lcom/android/server/notification/ManagedServices$ManagedServiceInfo;)Landroid/service/notification/NotificationRankingUpdate;
+SPLcom/android/server/notification/NotificationManagerService;->onBootPhase(I)V
+SPLcom/android/server/notification/NotificationManagerService;->onStart()V
+SPLcom/android/server/notification/NotificationManagerService;->readPolicyXml(Ljava/io/InputStream;ZI)V
+SPLcom/android/server/notification/NotificationManagerService;->sendRegisteredOnlyBroadcast(Ljava/lang/String;)V
+SPLcom/android/server/notification/NotificationManagerService;->writePolicyXml(Ljava/io/OutputStream;ZI)V
+SPLcom/android/server/notification/NotificationUsageStats$SQLiteLog;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/notification/NotificationUsageStats;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/notification/PreferencesHelper$PackagePreferences;-><init>()V
+SPLcom/android/server/notification/PreferencesHelper;-><init>(Landroid/content/Context;Landroid/content/pm/PackageManager;Lcom/android/server/notification/RankingHandler;Lcom/android/server/notification/ZenModeHelper;)V
+SPLcom/android/server/notification/PreferencesHelper;->createDefaultChannelIfNeeded(Lcom/android/server/notification/PreferencesHelper$PackagePreferences;)V
+SPLcom/android/server/notification/PreferencesHelper;->createNotificationChannel(Ljava/lang/String;ILandroid/app/NotificationChannel;ZZ)V
+SPLcom/android/server/notification/PreferencesHelper;->deleteNotificationChannel(Ljava/lang/String;ILjava/lang/String;)V
+SPLcom/android/server/notification/PreferencesHelper;->getNotificationChannel(Ljava/lang/String;ILjava/lang/String;Z)Landroid/app/NotificationChannel;
+SPLcom/android/server/notification/PreferencesHelper;->getPackagePreferences(Ljava/lang/String;I)Lcom/android/server/notification/PreferencesHelper$PackagePreferences;
+SPLcom/android/server/notification/PreferencesHelper;->onUserSwitched(I)V
+SPLcom/android/server/notification/PreferencesHelper;->shouldHideSilentStatusIcons()Z
+SPLcom/android/server/notification/PreferencesHelper;->updateBadgingEnabled()V
+SPLcom/android/server/notification/PreferencesHelper;->updateBubblesEnabled()V
+SPLcom/android/server/notification/PriorityExtractor;-><init>()V
+SPLcom/android/server/notification/PriorityExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+SPLcom/android/server/notification/PriorityExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+SPLcom/android/server/notification/PriorityExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+SPLcom/android/server/notification/RankingHelper;-><init>(Landroid/content/Context;Lcom/android/server/notification/RankingHandler;Lcom/android/server/notification/RankingConfig;Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/NotificationUsageStats;[Ljava/lang/String;)V
+SPLcom/android/server/notification/RankingHelper;->sort(Ljava/util/ArrayList;)V
+SPLcom/android/server/notification/ScheduleConditionProvider$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/notification/ScheduleConditionProvider;-><init>()V
+SPLcom/android/server/notification/ScheduleConditionProvider;->asInterface()Landroid/service/notification/IConditionProvider;
+SPLcom/android/server/notification/ScheduleConditionProvider;->attachBase(Landroid/content/Context;)V
+SPLcom/android/server/notification/ScheduleConditionProvider;->createCondition(Landroid/net/Uri;ILjava/lang/String;)Landroid/service/notification/Condition;
+SPLcom/android/server/notification/ScheduleConditionProvider;->evaluateSubscriptionLocked(Landroid/net/Uri;Landroid/service/notification/ScheduleCalendar;JJ)Landroid/service/notification/Condition;
+SPLcom/android/server/notification/ScheduleConditionProvider;->evaluateSubscriptions()V
+SPLcom/android/server/notification/ScheduleConditionProvider;->getComponent()Landroid/content/ComponentName;
+SPLcom/android/server/notification/ScheduleConditionProvider;->getNextAlarm()J
+SPLcom/android/server/notification/ScheduleConditionProvider;->isValidConditionId(Landroid/net/Uri;)Z
+SPLcom/android/server/notification/ScheduleConditionProvider;->onBootComplete()V
+SPLcom/android/server/notification/ScheduleConditionProvider;->onConnected()V
+SPLcom/android/server/notification/ScheduleConditionProvider;->onSubscribe(Landroid/net/Uri;)V
+SPLcom/android/server/notification/ScheduleConditionProvider;->readSnoozed()V
+SPLcom/android/server/notification/ScheduleConditionProvider;->removeSnoozed(Landroid/net/Uri;)V
+SPLcom/android/server/notification/ScheduleConditionProvider;->setRegistered(Z)V
+SPLcom/android/server/notification/ScheduleConditionProvider;->updateAlarm(JJ)V
+SPLcom/android/server/notification/SnoozeHelper;-><init>(Landroid/content/Context;Lcom/android/server/notification/SnoozeHelper$Callback;Lcom/android/server/notification/ManagedServices$UserProfiles;)V
+SPLcom/android/server/notification/SnoozeHelper;->cancel(ILjava/lang/String;)Z
+SPLcom/android/server/notification/SnoozeHelper;->cancel(ILjava/lang/String;Ljava/lang/String;I)Z
+SPLcom/android/server/notification/SnoozeHelper;->getSnoozed(ILjava/lang/String;)Ljava/util/Collection;
+SPLcom/android/server/notification/ValidateNotificationPeople;-><init>()V
+SPLcom/android/server/notification/ValidateNotificationPeople;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+SPLcom/android/server/notification/ValidateNotificationPeople;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+SPLcom/android/server/notification/ValidateNotificationPeople;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+SPLcom/android/server/notification/VisibilityExtractor;-><init>()V
+SPLcom/android/server/notification/VisibilityExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+SPLcom/android/server/notification/VisibilityExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+SPLcom/android/server/notification/VisibilityExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+SPLcom/android/server/notification/ZenLog;->append(ILjava/lang/String;)V
+SPLcom/android/server/notification/ZenLog;->traceConfig(Ljava/lang/String;Landroid/service/notification/ZenModeConfig;Landroid/service/notification/ZenModeConfig;)V
+SPLcom/android/server/notification/ZenLog;->traceSetRingerModeInternal(IILjava/lang/String;II)V
+SPLcom/android/server/notification/ZenModeConditions;-><init>(Lcom/android/server/notification/ZenModeHelper;Lcom/android/server/notification/ConditionProviders;)V
+SPLcom/android/server/notification/ZenModeConditions;->evaluateConfig(Landroid/service/notification/ZenModeConfig;Landroid/content/ComponentName;Z)V
+SPLcom/android/server/notification/ZenModeConditions;->evaluateRule(Landroid/service/notification/ZenModeConfig$ZenRule;Landroid/util/ArraySet;Landroid/content/ComponentName;Z)V
+SPLcom/android/server/notification/ZenModeConditions;->onBootComplete()V
+SPLcom/android/server/notification/ZenModeConditions;->onConditionChanged(Landroid/net/Uri;Landroid/service/notification/Condition;)V
+SPLcom/android/server/notification/ZenModeConditions;->onUserSwitched()V
+SPLcom/android/server/notification/ZenModeConditions;->updateSnoozing(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
+SPLcom/android/server/notification/ZenModeExtractor;-><init>()V
+SPLcom/android/server/notification/ZenModeExtractor;->initialize(Landroid/content/Context;Lcom/android/server/notification/NotificationUsageStats;)V
+SPLcom/android/server/notification/ZenModeExtractor;->setConfig(Lcom/android/server/notification/RankingConfig;)V
+SPLcom/android/server/notification/ZenModeExtractor;->setZenHelper(Lcom/android/server/notification/ZenModeHelper;)V
+SPLcom/android/server/notification/ZenModeFiltering$RepeatCallers;-><init>(Lcom/android/server/notification/ZenModeFiltering$1;)V
+SPLcom/android/server/notification/ZenModeHelper$Callback;->onConsolidatedPolicyChanged()V
+SPLcom/android/server/notification/ZenModeHelper$Callback;->onPolicyChanged()V
+SPLcom/android/server/notification/ZenModeHelper$H;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/notification/ZenModeHelper$Metrics;->emitDndType()V
+SPLcom/android/server/notification/ZenModeHelper$Metrics;->emitRules()V
+SPLcom/android/server/notification/ZenModeHelper$Metrics;->emitZenMode()V
+SPLcom/android/server/notification/ZenModeHelper$Metrics;->onConfigChanged()V
+SPLcom/android/server/notification/ZenModeHelper$Metrics;->onZenModeChanged()V
+SPLcom/android/server/notification/ZenModeHelper$RingerModeDelegate;->getRingerModeAffectedStreams(I)I
+SPLcom/android/server/notification/ZenModeHelper$RingerModeDelegate;->onSetRingerModeInternal(IILjava/lang/String;ILandroid/media/VolumePolicy;)I
+SPLcom/android/server/notification/ZenModeHelper$SettingsObserver;->update(Landroid/net/Uri;)V
+SPLcom/android/server/notification/ZenModeHelper;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/notification/ConditionProviders;)V
+SPLcom/android/server/notification/ZenModeHelper;->addCallback(Lcom/android/server/notification/ZenModeHelper$Callback;)V
+SPLcom/android/server/notification/ZenModeHelper;->applyRestrictions()V
+SPLcom/android/server/notification/ZenModeHelper;->applyRestrictions(ZI)V
+SPLcom/android/server/notification/ZenModeHelper;->applyRestrictions(ZII)V
+SPLcom/android/server/notification/ZenModeHelper;->applyZenToRingerMode()V
+SPLcom/android/server/notification/ZenModeHelper;->cleanUpZenRules()V
+SPLcom/android/server/notification/ZenModeHelper;->computeZenMode()I
+SPLcom/android/server/notification/ZenModeHelper;->evaluateZenMode(Ljava/lang/String;Z)V
+SPLcom/android/server/notification/ZenModeHelper;->findMatchingRule(Landroid/service/notification/ZenModeConfig;Landroid/net/Uri;Landroid/service/notification/Condition;)Landroid/service/notification/ZenModeConfig$ZenRule;
+SPLcom/android/server/notification/ZenModeHelper;->getConfig()Landroid/service/notification/ZenModeConfig;
+SPLcom/android/server/notification/ZenModeHelper;->getConsolidatedNotificationPolicy()Landroid/app/NotificationManager$Policy;
+SPLcom/android/server/notification/ZenModeHelper;->getNotificationPolicy()Landroid/app/NotificationManager$Policy;
+SPLcom/android/server/notification/ZenModeHelper;->getZenMode()I
+SPLcom/android/server/notification/ZenModeHelper;->getZenModeListenerInterruptionFilter()I
+SPLcom/android/server/notification/ZenModeHelper;->initZenMode()V
+SPLcom/android/server/notification/ZenModeHelper;->loadConfigForUser(ILjava/lang/String;)V
+SPLcom/android/server/notification/ZenModeHelper;->onSystemReady()V
+SPLcom/android/server/notification/ZenModeHelper;->onUserSwitched(I)V
+SPLcom/android/server/notification/ZenModeHelper;->readDefaultConfig(Landroid/content/res/Resources;)Landroid/service/notification/ZenModeConfig;
+SPLcom/android/server/notification/ZenModeHelper;->readXml(Lorg/xmlpull/v1/XmlPullParser;ZI)V
+SPLcom/android/server/notification/ZenModeHelper;->setAutomaticZenRuleState(Landroid/net/Uri;Landroid/service/notification/Condition;)V
+SPLcom/android/server/notification/ZenModeHelper;->setConfigLocked(Landroid/service/notification/ZenModeConfig;Landroid/content/ComponentName;Ljava/lang/String;)Z
+SPLcom/android/server/notification/ZenModeHelper;->setConfigLocked(Landroid/service/notification/ZenModeConfig;Ljava/lang/String;Landroid/content/ComponentName;Z)Z
+SPLcom/android/server/notification/ZenModeHelper;->setZenModeSetting(I)V
+SPLcom/android/server/notification/ZenModeHelper;->showZenUpgradeNotification(I)V
+SPLcom/android/server/notification/ZenModeHelper;->updateConsolidatedPolicy(Ljava/lang/String;)V
+SPLcom/android/server/notification/ZenModeHelper;->updateDefaultAutomaticRuleNames()V
+SPLcom/android/server/notification/ZenModeHelper;->updateSnoozing(Landroid/service/notification/ZenModeConfig$ZenRule;)Z
+SPLcom/android/server/notification/ZenModeHelper;->writeXml(Lorg/xmlpull/v1/XmlSerializer;ZLjava/lang/Integer;I)V
+SPLcom/android/server/oemlock/OemLockService$1;->onUserRestrictionsChanged(ILandroid/os/Bundle;Landroid/os/Bundle;)V
+SPLcom/android/server/oemlock/OemLockService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/oemlock/OemLockService;-><init>(Landroid/content/Context;Lcom/android/server/oemlock/OemLock;)V
+SPLcom/android/server/oemlock/OemLockService;->onStart()V
+SPLcom/android/server/oemlock/VendorLock;->getOemLockHalService()Landroid/hardware/oemlock/V1_0/IOemLock;
+SPLcom/android/server/om/-$$Lambda$OverlayManagerService$_WGEV7N0qhntbqqDW3A1O-TVv5o;->run()V
+SPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$ATr0DZmWpSWdKD0COw4t2qS-DRk;-><init>()V
+SPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$ATr0DZmWpSWdKD0COw4t2qS-DRk;->test(Ljava/lang/Object;)Z
+SPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$IkswmT9ZZJXmNAztGRVrD3hODMw;-><init>()V
+SPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$IkswmT9ZZJXmNAztGRVrD3hODMw;->test(Ljava/lang/Object;)Z
+SPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$WYtPK6Ebqjgxm8_8Cot-ijv_z_8;-><init>()V
+SPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$WYtPK6Ebqjgxm8_8Cot-ijv_z_8;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+SPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$jZUujzDxrP0hpAqUxnqEf-b-nQc;-><init>()V
+SPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$jZUujzDxrP0hpAqUxnqEf-b-nQc;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+SPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$sx0Nyvq91kCH_A-4Ctf09G_0u9M;-><init>()V
+SPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$sx0Nyvq91kCH_A-4Ctf09G_0u9M;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+SPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$vXm2C4y9Q-F5yYZNimB-Lr6w-oI;-><init>()V
+SPLcom/android/server/om/-$$Lambda$OverlayManagerSettings$vXm2C4y9Q-F5yYZNimB-Lr6w-oI;->applyAsInt(Ljava/lang/Object;)I
+SPLcom/android/server/om/-$$Lambda$bXuJGR0fITXNwGnQfQHv9KS-XgY;-><init>()V
+SPLcom/android/server/om/-$$Lambda$bXuJGR0fITXNwGnQfQHv9KS-XgY;->get()Ljava/lang/Object;
+SPLcom/android/server/om/IdmapManager;->connectToIdmap2d()V
+SPLcom/android/server/om/IdmapManager;->createIdmap(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;I)Z
+SPLcom/android/server/om/IdmapManager;->determineFulfilledPolicies(Landroid/content/pm/PackageInfo;)I
+SPLcom/android/server/om/IdmapManager;->getIdmapPath(Ljava/lang/String;I)Ljava/lang/String;
+SPLcom/android/server/om/IdmapManager;->idmapExists(Landroid/content/pm/PackageInfo;I)Z
+SPLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->getOverlayPackages(I)Ljava/util/List;
+SPLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
+SPLcom/android/server/om/OverlayManagerService$PackageManagerHelper;->getPackageInfo(Ljava/lang/String;IZ)Landroid/content/pm/PackageInfo;
+SPLcom/android/server/om/OverlayManagerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/Installer;)V
+SPLcom/android/server/om/OverlayManagerService;->getDefaultOverlayPackages()[Ljava/lang/String;
+SPLcom/android/server/om/OverlayManagerService;->initIfNeeded()V
+SPLcom/android/server/om/OverlayManagerService;->lambda$schedulePersistSettings$0$OverlayManagerService()V
+SPLcom/android/server/om/OverlayManagerService;->lambda$schedulePersistSettings$0(Lcom/android/server/om/OverlayManagerService;)V
+SPLcom/android/server/om/OverlayManagerService;->onStart()V
+SPLcom/android/server/om/OverlayManagerService;->onSwitchUser(I)V
+SPLcom/android/server/om/OverlayManagerService;->restoreSettings()V
+SPLcom/android/server/om/OverlayManagerService;->updateAssets(ILjava/util/List;)V
+SPLcom/android/server/om/OverlayManagerServiceImpl;->calculateNewState(Landroid/content/pm/PackageInfo;Landroid/content/pm/PackageInfo;II)I
+SPLcom/android/server/om/OverlayManagerServiceImpl;->mustReinitializeOverlay(Landroid/content/pm/PackageInfo;Landroid/content/om/OverlayInfo;)Z
+SPLcom/android/server/om/OverlayManagerServiceImpl;->updateState(Ljava/lang/String;Ljava/lang/String;II)Z
+SPLcom/android/server/om/OverlayManagerSettings$Serializer;->persist(Ljava/util/ArrayList;Ljava/io/OutputStream;)V
+SPLcom/android/server/om/OverlayManagerSettings$Serializer;->persistRow(Lcom/android/internal/util/FastXmlSerializer;Lcom/android/server/om/OverlayManagerSettings$SettingsItem;)V
+SPLcom/android/server/om/OverlayManagerSettings$Serializer;->restore(Ljava/util/ArrayList;Ljava/io/InputStream;)V
+SPLcom/android/server/om/OverlayManagerSettings$Serializer;->restoreRow(Lorg/xmlpull/v1/XmlPullParser;I)Lcom/android/server/om/OverlayManagerSettings$SettingsItem;
+SPLcom/android/server/om/OverlayManagerSettings$SettingsItem;-><init>(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;IZZILjava/lang/String;)V
+SPLcom/android/server/om/OverlayManagerSettings;->getOverlayInfo(Ljava/lang/String;I)Landroid/content/om/OverlayInfo;
+SPLcom/android/server/om/OverlayManagerSettings;->getOverlaysForUser(I)Landroid/util/ArrayMap;
+SPLcom/android/server/os/-$$Lambda$SchedulingPolicyService$ao2OiSvvlyzmJ0li0c0nhHy-IDk;->run()V
+SPLcom/android/server/os/BugreportManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/os/BugreportManagerService;->onStart()V
+SPLcom/android/server/os/DeviceIdentifiersPolicyService$DeviceIdentifiersPolicy;->getSerial()Ljava/lang/String;
 SPLcom/android/server/os/DeviceIdentifiersPolicyService;-><init>(Landroid/content/Context;)V
 SPLcom/android/server/os/DeviceIdentifiersPolicyService;->onStart()V
-SPLcom/android/server/pm/-$$Lambda$ParallelPackageParser$FTtinPrp068lVeI7K6bC1tNE3iM;-><init>(Lcom/android/server/pm/ParallelPackageParser;Ljava/io/File;I)V
-SPLcom/android/server/pm/-$$Lambda$ParallelPackageParser$FTtinPrp068lVeI7K6bC1tNE3iM;->run()V
+SPLcom/android/server/os/SchedulingPolicyService;-><init>()V
+SPLcom/android/server/os/SchedulingPolicyService;->disableCpusetBoost(I)I
+SPLcom/android/server/os/SchedulingPolicyService;->lambda$new$0$SchedulingPolicyService()V
+SPLcom/android/server/os/SchedulingPolicyService;->lambda$new$0(Lcom/android/server/os/SchedulingPolicyService;)V
+SPLcom/android/server/os/SchedulingPolicyService;->requestPriority(IIIZ)I
+SPLcom/android/server/pm/-$$Lambda$ApexManager$Nr-JVjEMcDAmAF2rSRdMapKh1Go;-><init>()V
+SPLcom/android/server/pm/-$$Lambda$ApexManager$Nr-JVjEMcDAmAF2rSRdMapKh1Go;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+SPLcom/android/server/pm/-$$Lambda$ComponentResolver$PuHbZd5KEOMGjkH8xDOhOwfLtC0;-><init>()V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$5hSpumAE5maEOgUlkeKZ3EJQUOU;-><init>()V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$9ZEk0HhVZsj2KQghpPxi82zlVQA;->runOrThrow()V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$HNA1AuKrPFdIr9HtUSHHnPIBTTk;->runOrThrow()V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$JUo3M6zuPH65x1voKjSOJvOMHRw;-><init>()V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$JUo3M6zuPH65x1voKjSOJvOMHRw;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$O5iApY07YeJyXA8KUFVcxpCf1NI;->run()V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$PackageParserCallback$xinvBJUpQse3J1IBBKjvYTIW8MQ;-><init>()V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$QuhmYCmH6DQCctkuIoqu3zaZWSE;-><init>()V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$ThH5vuBggVL5a6g8JW6gf8x0jT8;->runOrThrow()V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$YHri1Lu_7U5nzv2NPItDUIuocnY;->run()V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$gOdSzzOoHvFHJbKlJkAgg4fzOH8;-><init>()V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$gOdSzzOoHvFHJbKlJkAgg4fzOH8;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$nmexRk77HBh5Ag-q02zd0jSuaUk;->runOrThrow()V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$sJ5w9GfSftnZPyv5hBDxQkxDJMU;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/util/List;I)V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$sJ5w9GfSftnZPyv5hBDxQkxDJMU;->run()V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$xJ_pDKPvSH0lgOwva8xeI2zJ2ns;-><init>()V
+SPLcom/android/server/pm/-$$Lambda$PackageManagerService$xKFHvZAUir1Y_lClMWZh87peKs8;-><init>()V
+SPLcom/android/server/pm/-$$Lambda$ShortcutService$3$WghiV-HLnzJqZabObC5uHCmb960;->run()V
+SPLcom/android/server/pm/-$$Lambda$ShortcutService$3$n_VdEzyBcjs0pGZO8GnB0FoTgR0;->run()V
 SPLcom/android/server/pm/AbstractStatsBase;-><init>(Ljava/lang/String;Ljava/lang/String;Z)V
+SPLcom/android/server/pm/AbstractStatsBase;->getFile()Landroid/util/AtomicFile;
+SPLcom/android/server/pm/AbstractStatsBase;->maybeWriteAsync(Ljava/lang/Object;)Z
+SPLcom/android/server/pm/AbstractStatsBase;->read(Ljava/lang/Object;)V
+SPLcom/android/server/pm/ApexManager;-><init>()V
+SPLcom/android/server/pm/ApexManager;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/pm/ApexManager;->populateActivePackagesCache()Ljava/util/Map;
+SPLcom/android/server/pm/ApexManager;->systemReady()V
+SPLcom/android/server/pm/BackgroundDexOptService;->getDowngradeUnusedAppsThresholdInMillis()J
+SPLcom/android/server/pm/BackgroundDexOptService;->schedule(Landroid/content/Context;)V
 SPLcom/android/server/pm/CompilerStats;-><init>()V
-SPLcom/android/server/pm/Installer$1;-><init>(Lcom/android/server/pm/Installer;)V
+SPLcom/android/server/pm/CompilerStats;->read()V
+SPLcom/android/server/pm/CompilerStats;->readInternal(Ljava/lang/Object;)V
+SPLcom/android/server/pm/CompilerStats;->readInternal(Ljava/lang/Void;)V
+SPLcom/android/server/pm/ComponentResolver$ActionIterGenerator;->generate(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Ljava/util/Iterator;
+SPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
+SPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->newResult(Landroid/content/pm/PackageParser$ActivityIntentInfo;II)Landroid/content/pm/ResolveInfo;
+SPLcom/android/server/pm/ComponentResolver$ActivityIntentResolver;->sortResults(Ljava/util/List;)V
+SPLcom/android/server/pm/ComponentResolver$AuthoritiesIterGenerator;->generate(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Ljava/util/Iterator;
+SPLcom/android/server/pm/ComponentResolver$CategoriesIterGenerator;->generate(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Ljava/util/Iterator;
+SPLcom/android/server/pm/ComponentResolver$ProviderIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
+SPLcom/android/server/pm/ComponentResolver$SchemesIterGenerator;->generate(Landroid/content/pm/PackageParser$ActivityIntentInfo;)Ljava/util/Iterator;
+SPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->newResult(Landroid/content/IntentFilter;II)Ljava/lang/Object;
+SPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->newResult(Landroid/content/pm/PackageParser$ServiceIntentInfo;II)Landroid/content/pm/ResolveInfo;
+SPLcom/android/server/pm/ComponentResolver$ServiceIntentResolver;->sortResults(Ljava/util/List;)V
+SPLcom/android/server/pm/ComponentResolver;-><init>(Lcom/android/server/pm/UserManagerService;Landroid/content/pm/PackageManagerInternal;Ljava/lang/Object;)V
+SPLcom/android/server/pm/ComponentResolver;->fixProtectedFilterPriorities()V
+SPLcom/android/server/pm/ComponentResolver;->getActivity(Landroid/content/ComponentName;)Landroid/content/pm/PackageParser$Activity;
+SPLcom/android/server/pm/ComponentResolver;->getReceiver(Landroid/content/ComponentName;)Landroid/content/pm/PackageParser$Activity;
+SPLcom/android/server/pm/ComponentResolver;->getService(Landroid/content/ComponentName;)Landroid/content/pm/PackageParser$Service;
+SPLcom/android/server/pm/ComponentResolver;->isActivityDefined(Landroid/content/ComponentName;)Z
+SPLcom/android/server/pm/ComponentResolver;->queryActivities(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
+SPLcom/android/server/pm/ComponentResolver;->queryActivities(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
+SPLcom/android/server/pm/ComponentResolver;->queryReceivers(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
+SPLcom/android/server/pm/ComponentResolver;->queryReceivers(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
+SPLcom/android/server/pm/ComponentResolver;->queryServices(Landroid/content/Intent;Ljava/lang/String;II)Ljava/util/List;
+SPLcom/android/server/pm/ComponentResolver;->queryServices(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Ljava/util/List;
+SPLcom/android/server/pm/CrossProfileAppsService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/pm/CrossProfileAppsService;->onStart()V
+SPLcom/android/server/pm/CrossProfileIntentFilter;-><init>(Lorg/xmlpull/v1/XmlPullParser;)V
+SPLcom/android/server/pm/CrossProfileIntentFilter;->getIntFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
+SPLcom/android/server/pm/CrossProfileIntentFilter;->getStringFromXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/pm/CrossProfileIntentFilter;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;)V
+SPLcom/android/server/pm/CrossProfileIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
+SPLcom/android/server/pm/CrossProfileIntentResolver;->newArray(I)[Lcom/android/server/pm/CrossProfileIntentFilter;
+SPLcom/android/server/pm/CrossProfileIntentResolver;->sortResults(Ljava/util/List;)V
+SPLcom/android/server/pm/DynamicCodeLoggingService;->schedule(Landroid/content/Context;)V
+SPLcom/android/server/pm/Installer$InstallerException;->from(Ljava/lang/Exception;)Lcom/android/server/pm/Installer$InstallerException;
 SPLcom/android/server/pm/Installer;-><init>(Landroid/content/Context;)V
-SPLcom/android/server/pm/Installer;-><init>(Landroid/content/Context;Z)V
+SPLcom/android/server/pm/Installer;->assertFsverityRootHashMatches(Ljava/lang/String;[B)V
 SPLcom/android/server/pm/Installer;->assertValidInstructionSet(Ljava/lang/String;)V
-SPLcom/android/server/pm/Installer;->checkBeforeRemote()Z
 SPLcom/android/server/pm/Installer;->clearAppProfiles(Ljava/lang/String;Ljava/lang/String;)V
 SPLcom/android/server/pm/Installer;->connect()V
+SPLcom/android/server/pm/Installer;->destroyAppData(Ljava/lang/String;Ljava/lang/String;IIJ)V
+SPLcom/android/server/pm/Installer;->destroyAppProfiles(Ljava/lang/String;)V
+SPLcom/android/server/pm/Installer;->fixupAppData(Ljava/lang/String;I)V
+SPLcom/android/server/pm/Installer;->idmap(Ljava/lang/String;Ljava/lang/String;I)V
 SPLcom/android/server/pm/Installer;->invalidateMounts()V
 SPLcom/android/server/pm/Installer;->onStart()V
 SPLcom/android/server/pm/Installer;->rmPackageDir(Ljava/lang/String;)V
 SPLcom/android/server/pm/Installer;->rmdex(Ljava/lang/String;Ljava/lang/String;)V
-SPLcom/android/server/pm/InstantAppRegistry$CookiePersistence;-><init>(Lcom/android/server/pm/InstantAppRegistry;Landroid/os/Looper;)V
+SPLcom/android/server/pm/Installer;->setAppQuota(Ljava/lang/String;IIJ)V
+SPLcom/android/server/pm/Installer;->setWarnIfHeld(Ljava/lang/Object;)V
 SPLcom/android/server/pm/InstantAppRegistry;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+SPLcom/android/server/pm/InstantAppRegistry;->grantInstantAccessLPw(ILandroid/content/Intent;II)V
+SPLcom/android/server/pm/InstantAppRegistry;->onPackageUninstalledLPw(Landroid/content/pm/PackageParser$Package;[I)V
+SPLcom/android/server/pm/InstantAppResolverConnection;-><init>(Landroid/content/Context;Landroid/content/ComponentName;Ljava/lang/String;)V
+SPLcom/android/server/pm/InstructionSets;->getAllDexCodeInstructionSets()[Ljava/lang/String;
 SPLcom/android/server/pm/InstructionSets;->getAppDexInstructionSets(Lcom/android/server/pm/PackageSetting;)[Ljava/lang/String;
-SPLcom/android/server/pm/InstructionSets;->getDexCodeInstructionSet(Ljava/lang/String;)Ljava/lang/String;
 SPLcom/android/server/pm/InstructionSets;->getDexCodeInstructionSets([Ljava/lang/String;)[Ljava/lang/String;
-SPLcom/android/server/pm/KeySetHandle;-><init>(JI)V
+SPLcom/android/server/pm/KeySetHandle;->decrRefCountLPw()I
+SPLcom/android/server/pm/KeySetHandle;->getId()J
 SPLcom/android/server/pm/KeySetHandle;->getRefCountLPr()I
+SPLcom/android/server/pm/KeySetHandle;->incrRefCountLPw()V
 SPLcom/android/server/pm/KeySetHandle;->setRefCountLPw(I)V
-SPLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;-><init>(Lcom/android/server/pm/KeySetManagerService;JILjava/security/PublicKey;)V
-SPLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;-><init>(Lcom/android/server/pm/KeySetManagerService;JILjava/security/PublicKey;Lcom/android/server/pm/KeySetManagerService$1;)V
-SPLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;->getKey()Ljava/security/PublicKey;
+SPLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;->decrRefCountLPw()J
 SPLcom/android/server/pm/KeySetManagerService$PublicKeyHandle;->incrRefCountLPw()V
 SPLcom/android/server/pm/KeySetManagerService;-><init>(Landroid/util/ArrayMap;)V
-SPLcom/android/server/pm/KeySetManagerService;->addRefCountsFromSavedPackagesLPw(Landroid/util/ArrayMap;)V
-SPLcom/android/server/pm/KeySetManagerService;->addScannedPackageLPw(Landroid/content/pm/PackageParser$Package;)V
-SPLcom/android/server/pm/KeySetManagerService;->addSigningKeySetToPackageLPw(Lcom/android/server/pm/PackageSetting;Landroid/util/ArraySet;)V
-SPLcom/android/server/pm/KeySetManagerService;->assertScannedPackageValid(Landroid/content/pm/PackageParser$Package;)V
+SPLcom/android/server/pm/KeySetManagerService;->addKeySetLPw(Landroid/util/ArraySet;)Lcom/android/server/pm/KeySetHandle;
+SPLcom/android/server/pm/KeySetManagerService;->addPublicKeyLPw(Ljava/security/PublicKey;)J
+SPLcom/android/server/pm/KeySetManagerService;->decrementKeySetLPw(J)V
+SPLcom/android/server/pm/KeySetManagerService;->encodePublicKey(Ljava/security/PublicKey;)Ljava/lang/String;
 SPLcom/android/server/pm/KeySetManagerService;->readKeySetsLPw(Lorg/xmlpull/v1/XmlPullParser;Landroid/util/ArrayMap;)V
-SPLcom/android/server/pm/KeySetManagerService;->readKeysLPw(Lorg/xmlpull/v1/XmlPullParser;)V
 SPLcom/android/server/pm/KeySetManagerService;->readPublicKeyLPw(Lorg/xmlpull/v1/XmlPullParser;)V
-SPLcom/android/server/pm/KeySetManagerService;->shouldCheckUpgradeKeySetLocked(Lcom/android/server/pm/PackageSettingBase;I)Z
+SPLcom/android/server/pm/KeySetManagerService;->writeKeySetManagerServiceLPr(Lorg/xmlpull/v1/XmlSerializer;)V
+SPLcom/android/server/pm/KeySetManagerService;->writePublicKeysLPr(Lorg/xmlpull/v1/XmlSerializer;)V
+SPLcom/android/server/pm/LauncherAppsService$LauncherAppsImpl;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/pm/LauncherAppsService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/pm/LauncherAppsService;->onStart()V
+SPLcom/android/server/pm/ModuleInfoProvider;-><init>(Landroid/content/Context;Landroid/content/pm/IPackageManager;)V
+SPLcom/android/server/pm/ModuleInfoProvider;->loadModuleMetadata(Landroid/content/res/XmlResourceParser;Landroid/content/res/Resources;)V
+SPLcom/android/server/pm/ModuleInfoProvider;->systemReady()V
+SPLcom/android/server/pm/OtaDexoptService;->moveAbArtifacts(Lcom/android/server/pm/Installer;)V
 SPLcom/android/server/pm/PackageDexOptimizer;-><init>(Lcom/android/server/pm/Installer;Ljava/lang/Object;Landroid/content/Context;Ljava/lang/String;)V
+SPLcom/android/server/pm/PackageDexOptimizer;->systemReady()V
 SPLcom/android/server/pm/PackageInstallerService$1;-><init>()V
-SPLcom/android/server/pm/PackageInstallerService;->isStageName(Ljava/lang/String;)Z
-SPLcom/android/server/pm/PackageKeySetData;->setProperSigningKeySet(J)V
+SPLcom/android/server/pm/PackageInstallerService$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
+SPLcom/android/server/pm/PackageInstallerService$Callbacks;->register(Landroid/content/pm/IPackageInstallerCallback;Ljava/util/function/IntPredicate;)V
+SPLcom/android/server/pm/PackageInstallerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;)V
+SPLcom/android/server/pm/PackageInstallerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/ApexManager;)V
+SPLcom/android/server/pm/PackageInstallerService;->readSessionsLocked()V
+SPLcom/android/server/pm/PackageInstallerService;->reconcileStagesLocked(Ljava/lang/String;)V
+SPLcom/android/server/pm/PackageInstallerService;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;I)V
+SPLcom/android/server/pm/PackageInstallerService;->registerCallback(Landroid/content/pm/IPackageInstallerCallback;Ljava/util/function/IntPredicate;)V
+SPLcom/android/server/pm/PackageInstallerService;->restoreAndApplyStagedSessionIfNeeded()V
+SPLcom/android/server/pm/PackageInstallerService;->systemReady()V
+SPLcom/android/server/pm/PackageInstallerService;->writeSessionsLocked()V
+SPLcom/android/server/pm/PackageKeySetData;->addDefinedKeySet(JLjava/lang/String;)V
+SPLcom/android/server/pm/PackageKeySetData;->addUpgradeKeySetById(J)V
+SPLcom/android/server/pm/PackageKeySetData;->getUpgradeKeySets()[J
 SPLcom/android/server/pm/PackageManagerException;-><init>(ILjava/lang/String;)V
-SPLcom/android/server/pm/PackageManagerService$11;-><init>(Lcom/android/server/pm/PackageManagerService;)V
 SPLcom/android/server/pm/PackageManagerService$1;-><init>(Lcom/android/server/pm/PackageManagerService;)V
 SPLcom/android/server/pm/PackageManagerService$2;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+SPLcom/android/server/pm/PackageManagerService$2;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
 SPLcom/android/server/pm/PackageManagerService$3;-><init>(Lcom/android/server/pm/PackageManagerService;)V
-SPLcom/android/server/pm/PackageManagerService$5;-><init>()V
-SPLcom/android/server/pm/PackageManagerService$6;-><init>()V
-SPLcom/android/server/pm/PackageManagerService$ActivityIntentResolver;-><init>(Lcom/android/server/pm/PackageManagerService;)V
-SPLcom/android/server/pm/PackageManagerService$DefaultContainerConnection;-><init>(Lcom/android/server/pm/PackageManagerService;)V
+SPLcom/android/server/pm/PackageManagerService$6;->onChange(Z)V
 SPLcom/android/server/pm/PackageManagerService$FileInstallArgs;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V
 SPLcom/android/server/pm/PackageManagerService$FileInstallArgs;->cleanUp()Z
 SPLcom/android/server/pm/PackageManagerService$FileInstallArgs;->cleanUpResourcesLI()V
-SPLcom/android/server/pm/PackageManagerService$InstallArgs;-><init>(Lcom/android/server/pm/PackageManagerService$OriginInfo;Lcom/android/server/pm/PackageManagerService$MoveInfo;Landroid/content/pm/IPackageInstallObserver2;ILjava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;ILandroid/content/pm/PackageParser$SigningDetails;I)V
+SPLcom/android/server/pm/PackageManagerService$InstallArgs;-><init>(Lcom/android/server/pm/PackageManagerService$OriginInfo;Lcom/android/server/pm/PackageManagerService$MoveInfo;Landroid/content/pm/IPackageInstallObserver2;ILjava/lang/String;Ljava/lang/String;Landroid/os/UserHandle;[Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;Ljava/lang/String;ILandroid/content/pm/PackageParser$SigningDetails;ILcom/android/server/pm/PackageManagerService$MultiPackageInstallParams;)V
+SPLcom/android/server/pm/PackageManagerService$IntentVerifierProxy;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/content/Context;Landroid/content/ComponentName;)V
 SPLcom/android/server/pm/PackageManagerService$MoveCallbacks;-><init>(Landroid/os/Looper;)V
+SPLcom/android/server/pm/PackageManagerService$MoveCallbacks;->register(Landroid/content/pm/IPackageMoveObserver;)V
 SPLcom/android/server/pm/PackageManagerService$OnPermissionChangeListeners;-><init>(Landroid/os/Looper;)V
-SPLcom/android/server/pm/PackageManagerService$OriginInfo;-><init>(Ljava/io/File;ZZ)V
-SPLcom/android/server/pm/PackageManagerService$OriginInfo;->fromNothing()Lcom/android/server/pm/PackageManagerService$OriginInfo;
+SPLcom/android/server/pm/PackageManagerService$PackageFreezer;-><init>(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ILjava/lang/String;)V
+SPLcom/android/server/pm/PackageManagerService$PackageFreezer;->close()V
 SPLcom/android/server/pm/PackageManagerService$PackageHandler;-><init>(Lcom/android/server/pm/PackageManagerService;Landroid/os/Looper;)V
-SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;-><init>(Lcom/android/server/pm/PackageManagerService;)V
 SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$1;)V
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->addIsolatedUid(II)V
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->forEachPackage(Ljava/util/function/Consumer;)V
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getDefaultHomeActivity(I)Landroid/content/ComponentName;
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getDisabledSystemPackageName(Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getHomeActivitiesAsUser(Ljava/util/List;I)Landroid/content/ComponentName;
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageTargetSdkVersion(Ljava/lang/String;)I
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getPackageUid(Ljava/lang/String;II)I
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getSetupWizardPackageName()Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getSharedUserIdForPackage(Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getSigningDetails(I)Landroid/content/pm/PackageParser$SigningDetails;
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->getUidTargetSdkVersion(I)I
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->grantEphemeralAccess(ILandroid/content/Intent;II)V
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->hasSignatureCapability(III)Z
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isInstantApp(Ljava/lang/String;I)Z
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isOnlyCoreApps()Z
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPackagePersistent(Ljava/lang/String;)Z
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPackageSuspended(Ljava/lang/String;I)Z
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->isPermissionsReviewRequired(Ljava/lang/String;I)Z
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->notifyPackageUse(Ljava/lang/String;I)V
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->resolveContentProvider(Ljava/lang/String;II)Landroid/content/pm/ProviderInfo;
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->resolveService(Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setDefaultBrowserProvider(Landroid/content/pm/PackageManagerInternal$DefaultBrowserProvider;)V
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setDefaultHomeProvider(Landroid/content/pm/PackageManagerInternal$DefaultHomeProvider;)V
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setDeviceAndProfileOwnerPackages(ILjava/lang/String;Landroid/util/SparseArray;)V
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setExternalSourcesPolicy(Landroid/content/pm/PackageManagerInternal$ExternalSourcesPolicy;)V
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setLocationExtraPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setLocationPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setSyncAdapterPackagesprovider(Landroid/content/pm/PackageManagerInternal$SyncAdapterPackagesProvider;)V
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setUseOpenWifiAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->setVoiceInteractionPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
+SPLcom/android/server/pm/PackageManagerService$PackageManagerInternalImpl;->userNeedsBadging(I)Z
+SPLcom/android/server/pm/PackageManagerService$PackageManagerNative;->getInstallerForPackage(Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService$PackageManagerNative;->getNamesForUids([I)[Ljava/lang/String;
 SPLcom/android/server/pm/PackageManagerService$PackageParserCallback;-><init>(Lcom/android/server/pm/PackageManagerService;)V
-SPLcom/android/server/pm/PackageManagerService$PackageParserCallback;->getOverlayApks(Ljava/lang/String;)[Ljava/lang/String;
-SPLcom/android/server/pm/PackageManagerService$PackageParserCallback;->getOverlayPaths(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
-SPLcom/android/server/pm/PackageManagerService$PackageParserCallback;->getStaticOverlayPaths(Ljava/util/List;Ljava/lang/String;)[Ljava/lang/String;
 SPLcom/android/server/pm/PackageManagerService$PackageParserCallback;->hasFeature(Ljava/lang/String;)Z
+SPLcom/android/server/pm/PackageManagerService$PackageRemovedInfo;->sendPackageRemovedBroadcastInternal(Z)V
+SPLcom/android/server/pm/PackageManagerService$PackageRemovedInfo;->sendSystemPackageAppearedBroadcasts()V
+SPLcom/android/server/pm/PackageManagerService$PackageRemovedInfo;->sendSystemPackageUpdatedBroadcasts()V
 SPLcom/android/server/pm/PackageManagerService$ParallelPackageParserCallback;-><init>(Lcom/android/server/pm/PackageManagerService;)V
 SPLcom/android/server/pm/PackageManagerService$ParallelPackageParserCallback;->findStaticOverlayPackages()V
-SPLcom/android/server/pm/PackageManagerService$ParallelPackageParserCallback;->getStaticOverlayPaths(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
 SPLcom/android/server/pm/PackageManagerService$PendingPackageBroadcasts;-><init>()V
-SPLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;-><init>(Lcom/android/server/pm/PackageManagerService;)V
-SPLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$1;)V
-SPLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;->addProvider(Landroid/content/pm/PackageParser$Provider;)V
-SPLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
-SPLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;->newArray(I)[Landroid/content/pm/PackageParser$ProviderIntentInfo;
-SPLcom/android/server/pm/PackageManagerService$ProviderIntentResolver;->removeProvider(Landroid/content/pm/PackageParser$Provider;)V
-SPLcom/android/server/pm/PackageManagerService$ScanRequest;-><init>(Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/SharedUserSetting;Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Ljava/lang/String;IIZLandroid/os/UserHandle;)V
-SPLcom/android/server/pm/PackageManagerService$ScanResult;-><init>(ZLcom/android/server/pm/PackageSetting;Ljava/util/List;)V
-SPLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;-><init>(Lcom/android/server/pm/PackageManagerService;)V
-SPLcom/android/server/pm/PackageManagerService$ServiceIntentResolver;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageManagerService$1;)V
-SPLcom/android/server/pm/PackageManagerService$SharedLibraryEntry;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JILjava/lang/String;J)V
 SPLcom/android/server/pm/PackageManagerService;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
-SPLcom/android/server/pm/PackageManagerService;->access$2600()Ljava/util/Set;
-SPLcom/android/server/pm/PackageManagerService;->access$2700(Lcom/android/server/pm/PackageManagerService;)Z
-SPLcom/android/server/pm/PackageManagerService;->access$2800(Lcom/android/server/pm/PackageManagerService;)Ljava/util/List;
-SPLcom/android/server/pm/PackageManagerService;->addForInitLI(Landroid/content/pm/PackageParser$Package;IIJLandroid/os/UserHandle;)Landroid/content/pm/PackageParser$Package;
-SPLcom/android/server/pm/PackageManagerService;->addSharedLibraryLPw(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JILjava/lang/String;J)Z
-SPLcom/android/server/pm/PackageManagerService;->adjustScanFlags(ILcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Landroid/os/UserHandle;Landroid/content/pm/PackageParser$Package;)I
-SPLcom/android/server/pm/PackageManagerService;->assertPackageIsValid(Landroid/content/pm/PackageParser$Package;II)V
-SPLcom/android/server/pm/PackageManagerService;->calculateBundledApkRoot(Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService;->addBuiltInSharedLibraryLocked(Ljava/lang/String;Ljava/lang/String;)Z
+SPLcom/android/server/pm/PackageManagerService;->addOnPermissionsChangeListener(Landroid/content/pm/IOnPermissionsChangeListener;)V
+SPLcom/android/server/pm/PackageManagerService;->addSharedLibraryToPackageVersionMap(Ljava/util/Map;Landroid/content/pm/SharedLibraryInfo;)Z
+SPLcom/android/server/pm/PackageManagerService;->adjustCpuAbisForSharedUserLPw(Ljava/util/Set;Landroid/content/pm/PackageParser$Package;)Ljava/util/List;
+SPLcom/android/server/pm/PackageManagerService;->applyPostResolutionFilter(Ljava/util/List;Ljava/lang/String;ZIZILandroid/content/Intent;)Ljava/util/List;
+SPLcom/android/server/pm/PackageManagerService;->applyPostServiceResolutionFilter(Ljava/util/List;Ljava/lang/String;)Ljava/util/List;
+SPLcom/android/server/pm/PackageManagerService;->canSkipForcedApkVerification(Ljava/lang/String;)Z
+SPLcom/android/server/pm/PackageManagerService;->canSkipForcedPackageVerification(Landroid/content/pm/PackageParser$Package;)Z
+SPLcom/android/server/pm/PackageManagerService;->canViewInstantApps(II)Z
+SPLcom/android/server/pm/PackageManagerService;->checkPackageStartable(Ljava/lang/String;I)V
+SPLcom/android/server/pm/PackageManagerService;->checkPermission(Ljava/lang/String;Ljava/lang/String;I)I
+SPLcom/android/server/pm/PackageManagerService;->checkSignatures(Ljava/lang/String;Ljava/lang/String;)I
+SPLcom/android/server/pm/PackageManagerService;->chooseBestActivity(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;I)Landroid/content/pm/ResolveInfo;
 SPLcom/android/server/pm/PackageManagerService;->clearAppProfilesLIF(Landroid/content/pm/PackageParser$Package;I)V
-SPLcom/android/server/pm/PackageManagerService;->collectCertificatesLI(Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageParser$Package;ZZ)V
-SPLcom/android/server/pm/PackageManagerService;->commitScanResultsLocked(Lcom/android/server/pm/PackageManagerService$ScanRequest;Lcom/android/server/pm/PackageManagerService$ScanResult;)V
-SPLcom/android/server/pm/PackageManagerService;->createInstallArgsForExisting(ILjava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lcom/android/server/pm/PackageManagerService$InstallArgs;
+SPLcom/android/server/pm/PackageManagerService;->clearPackagePreferredActivitiesLPw(Ljava/lang/String;I)Z
+SPLcom/android/server/pm/PackageManagerService;->clearPackagePreferredActivitiesLPw(Ljava/lang/String;ZI)Z
+SPLcom/android/server/pm/PackageManagerService;->clearPackageStateForUserLIF(Lcom/android/server/pm/PackageSetting;ILcom/android/server/pm/PackageManagerService$PackageRemovedInfo;I)V
+SPLcom/android/server/pm/PackageManagerService;->commitSharedLibraryInfoLocked(Landroid/content/pm/SharedLibraryInfo;)V
+SPLcom/android/server/pm/PackageManagerService;->createInstallArgsForExisting(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lcom/android/server/pm/PackageManagerService$InstallArgs;
+SPLcom/android/server/pm/PackageManagerService;->decompressSystemApplications(Ljava/util/List;I)V
+SPLcom/android/server/pm/PackageManagerService;->deletePackageLIF(Ljava/lang/String;Landroid/os/UserHandle;Z[IILcom/android/server/pm/PackageManagerService$PackageRemovedInfo;ZLandroid/content/pm/PackageParser$Package;)Z
+SPLcom/android/server/pm/PackageManagerService;->deletePackageVersioned(Landroid/content/pm/VersionedPackage;Landroid/content/pm/IPackageDeleteObserver2;II)V
+SPLcom/android/server/pm/PackageManagerService;->deletePackageX(Ljava/lang/String;JII)I
 SPLcom/android/server/pm/PackageManagerService;->deleteTempPackageFiles()V
-SPLcom/android/server/pm/PackageManagerService;->deriveCodePathName(Ljava/lang/String;)Ljava/lang/String;
-SPLcom/android/server/pm/PackageManagerService;->derivePackageAbi(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Z)V
+SPLcom/android/server/pm/PackageManagerService;->destroyAppDataLIF(Landroid/content/pm/PackageParser$Package;II)V
+SPLcom/android/server/pm/PackageManagerService;->destroyAppDataLeafLIF(Landroid/content/pm/PackageParser$Package;II)V
+SPLcom/android/server/pm/PackageManagerService;->destroyAppProfilesLIF(Landroid/content/pm/PackageParser$Package;I)V
+SPLcom/android/server/pm/PackageManagerService;->destroyAppProfilesLeafLIF(Landroid/content/pm/PackageParser$Package;)V
+SPLcom/android/server/pm/PackageManagerService;->disableSkuSpecificApps()V
+SPLcom/android/server/pm/PackageManagerService;->doSendBroadcast(Landroid/app/IActivityManager;Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[IZ)V
+SPLcom/android/server/pm/PackageManagerService;->enableSystemUserPackages()V
+SPLcom/android/server/pm/PackageManagerService;->enforceSystemOrPhoneCaller(Ljava/lang/String;)V
+SPLcom/android/server/pm/PackageManagerService;->executeDeletePackageLIF(Lcom/android/server/pm/PackageManagerService$DeletePackageAction;Ljava/lang/String;Z[IZLandroid/content/pm/PackageParser$Package;)V
+SPLcom/android/server/pm/PackageManagerService;->filterAppAccessLPr(Lcom/android/server/pm/PackageSetting;II)Z
+SPLcom/android/server/pm/PackageManagerService;->filterIfNotSystemUser(Ljava/util/List;I)Ljava/util/List;
+SPLcom/android/server/pm/PackageManagerService;->findPersistentPreferredActivityLP(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;ZI)Landroid/content/pm/ResolveInfo;
+SPLcom/android/server/pm/PackageManagerService;->findPreferredActivity(Landroid/content/Intent;Ljava/lang/String;ILjava/util/List;IZZZI)Landroid/content/pm/ResolveInfo;
+SPLcom/android/server/pm/PackageManagerService;->freezePackage(Ljava/lang/String;ILjava/lang/String;)Lcom/android/server/pm/PackageManagerService$PackageFreezer;
+SPLcom/android/server/pm/PackageManagerService;->freezePackageForDelete(Ljava/lang/String;IILjava/lang/String;)Lcom/android/server/pm/PackageManagerService$PackageFreezer;
+SPLcom/android/server/pm/PackageManagerService;->getActivityInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
+SPLcom/android/server/pm/PackageManagerService;->getActivityInfoInternal(Landroid/content/ComponentName;III)Landroid/content/pm/ActivityInfo;
+SPLcom/android/server/pm/PackageManagerService;->getAllPermissionGroups(I)Landroid/content/pm/ParceledListSlice;
+SPLcom/android/server/pm/PackageManagerService;->getAppPredictionServicePackageName()Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService;->getBlockUninstallForUser(Ljava/lang/String;I)Z
+SPLcom/android/server/pm/PackageManagerService;->getDefaultBrowserPackageName(I)Ljava/lang/String;
 SPLcom/android/server/pm/PackageManagerService;->getDefaultDisplayMetrics(Landroid/content/Context;Landroid/util/DisplayMetrics;)V
-SPLcom/android/server/pm/PackageManagerService;->isCompatSignatureUpdateNeeded(Landroid/content/pm/PackageParser$Package;)Z
-SPLcom/android/server/pm/PackageManagerService;->isExternal(Lcom/android/server/pm/PackageSetting;)Z
-SPLcom/android/server/pm/PackageManagerService;->isMultiArch(Landroid/content/pm/ApplicationInfo;)Z
-SPLcom/android/server/pm/PackageManagerService;->isRecoverSignatureUpdateNeeded(Landroid/content/pm/PackageParser$Package;)Z
-SPLcom/android/server/pm/PackageManagerService;->isUpgrade()Z
+SPLcom/android/server/pm/PackageManagerService;->getDefaultHomeActivity(I)Landroid/content/ComponentName;
+SPLcom/android/server/pm/PackageManagerService;->getDocumenterPackageName()Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService;->getHarmfulAppWarning(Ljava/lang/String;I)Ljava/lang/CharSequence;
+SPLcom/android/server/pm/PackageManagerService;->getHomeActivitiesAsUser(Ljava/util/List;I)Landroid/content/ComponentName;
+SPLcom/android/server/pm/PackageManagerService;->getIncidentReportApproverPackageName()Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService;->getInstalledApplications(II)Landroid/content/pm/ParceledListSlice;
+SPLcom/android/server/pm/PackageManagerService;->getInstantAppInstallerLPr()Landroid/content/pm/ActivityInfo;
+SPLcom/android/server/pm/PackageManagerService;->getInstantAppResolverLPr()Landroid/util/Pair;
+SPLcom/android/server/pm/PackageManagerService;->getInstantAppResolverSettingsLPr(Landroid/content/ComponentName;)Landroid/content/ComponentName;
+SPLcom/android/server/pm/PackageManagerService;->getIntentFilterVerifierComponentNameLPr()Landroid/content/ComponentName;
+SPLcom/android/server/pm/PackageManagerService;->getMatchingCrossProfileIntentFilters(Landroid/content/Intent;Ljava/lang/String;I)Ljava/util/List;
+SPLcom/android/server/pm/PackageManagerService;->getNamesForUids([I)[Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService;->getPackageGids(Ljava/lang/String;II)[I
+SPLcom/android/server/pm/PackageManagerService;->getPackageInfo(Ljava/lang/String;II)Landroid/content/pm/PackageInfo;
+SPLcom/android/server/pm/PackageManagerService;->getPackageInfoInternal(Ljava/lang/String;JIII)Landroid/content/pm/PackageInfo;
+SPLcom/android/server/pm/PackageManagerService;->getPackageInstaller()Landroid/content/pm/IPackageInstaller;
+SPLcom/android/server/pm/PackageManagerService;->getPermissionControllerPackageName()Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;I)I
+SPLcom/android/server/pm/PackageManagerService;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;I)Landroid/content/pm/PermissionInfo;
+SPLcom/android/server/pm/PackageManagerService;->getPersistentApplications(I)Landroid/content/pm/ParceledListSlice;
+SPLcom/android/server/pm/PackageManagerService;->getReceiverInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ActivityInfo;
+SPLcom/android/server/pm/PackageManagerService;->getRequiredButNotReallyRequiredVerifierLPr()Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService;->getRequiredInstallerLPr()Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService;->getRequiredPermissionControllerLPr()Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService;->getRequiredSharedLibraryLPr(Ljava/lang/String;I)Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService;->getRequiredUninstallerLPr()Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService;->getServiceInfo(Landroid/content/ComponentName;II)Landroid/content/pm/ServiceInfo;
+SPLcom/android/server/pm/PackageManagerService;->getSetupWizardPackageName()Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService;->getSharedLibraryInfoLPr(Ljava/lang/String;J)Landroid/content/pm/SharedLibraryInfo;
+SPLcom/android/server/pm/PackageManagerService;->getStorageManagerPackageName()Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService;->getSystemTextClassifierPackageName()Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService;->getUidTargetSdkVersionLockedLPr(I)I
+SPLcom/android/server/pm/PackageManagerService;->getWellbeingPackageName()Ljava/lang/String;
+SPLcom/android/server/pm/PackageManagerService;->grantDefaultPermissionsToEnabledImsServices([Ljava/lang/String;I)V
+SPLcom/android/server/pm/PackageManagerService;->grantDefaultPermissionsToEnabledTelephonyDataServices([Ljava/lang/String;I)V
+SPLcom/android/server/pm/PackageManagerService;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;I)V
+SPLcom/android/server/pm/PackageManagerService;->hasNonNegativePriority(Ljava/util/List;)Z
+SPLcom/android/server/pm/PackageManagerService;->hasSystemFeature(Ljava/lang/String;I)Z
+SPLcom/android/server/pm/PackageManagerService;->hasSystemUidErrors()Z
+SPLcom/android/server/pm/PackageManagerService;->isFirstBoot()Z
+SPLcom/android/server/pm/PackageManagerService;->isHomeIntent(Landroid/content/Intent;)Z
+SPLcom/android/server/pm/PackageManagerService;->isInstantApp(Ljava/lang/String;I)Z
+SPLcom/android/server/pm/PackageManagerService;->isInstantAppResolutionAllowed(Landroid/content/Intent;Ljava/util/List;IZ)Z
+SPLcom/android/server/pm/PackageManagerService;->isOnlyCoreApps()Z
+SPLcom/android/server/pm/PackageManagerService;->isOrphaned(Ljava/lang/String;)Z
+SPLcom/android/server/pm/PackageManagerService;->isPackageAvailable(Ljava/lang/String;I)Z
+SPLcom/android/server/pm/PackageManagerService;->isPackageDeviceAdmin(Ljava/lang/String;I)Z
+SPLcom/android/server/pm/PackageManagerService;->isPackageSuspendedForUser(Ljava/lang/String;I)Z
+SPLcom/android/server/pm/PackageManagerService;->isProtectedBroadcast(Ljava/lang/String;)Z
+SPLcom/android/server/pm/PackageManagerService;->isUserRestricted(ILjava/lang/String;)Z
+SPLcom/android/server/pm/PackageManagerService;->killApplication(Ljava/lang/String;IILjava/lang/String;)V
+SPLcom/android/server/pm/PackageManagerService;->lambda$deletePackageVersioned$19$PackageManagerService(Ljava/lang/String;IZZJII[ILandroid/content/pm/IPackageDeleteObserver2;Ljava/lang/String;)V
+SPLcom/android/server/pm/PackageManagerService;->lambda$grantDefaultPermissionsToEnabledTelephonyDataServices$33$PackageManagerService([Ljava/lang/String;I)V
+SPLcom/android/server/pm/PackageManagerService;->lambda$revokeDefaultPermissionsFromDisabledTelephonyDataServices$34$PackageManagerService([Ljava/lang/String;I)V
+SPLcom/android/server/pm/PackageManagerService;->lambda$sendPackageBroadcast$7$PackageManagerService([ILjava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I)V
 SPLcom/android/server/pm/PackageManagerService;->locationIsPrivileged(Ljava/lang/String;)Z
+SPLcom/android/server/pm/PackageManagerService;->logAppProcessStartIfNeeded(Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;I)V
 SPLcom/android/server/pm/PackageManagerService;->main(Landroid/content/Context;Lcom/android/server/pm/Installer;ZZ)Lcom/android/server/pm/PackageManagerService;
-SPLcom/android/server/pm/PackageManagerService;->maybeClearProfilesForUpgradesLI(Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageParser$Package;)V
+SPLcom/android/server/pm/PackageManagerService;->markPackageUninstalledForUserLPw(Lcom/android/server/pm/PackageSetting;Landroid/os/UserHandle;)V
+SPLcom/android/server/pm/PackageManagerService;->mayDeletePackageLocked(Lcom/android/server/pm/PackageManagerService$PackageRemovedInfo;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;[Lcom/android/server/pm/PackageSetting;ILandroid/os/UserHandle;)Lcom/android/server/pm/PackageManagerService$DeletePackageAction;
 SPLcom/android/server/pm/PackageManagerService;->maybeThrowExceptionForMultiArchCopy(Ljava/lang/String;I)V
-SPLcom/android/server/pm/PackageManagerService;->packageFlagsToInstallFlags(Lcom/android/server/pm/PackageSetting;)I
-SPLcom/android/server/pm/PackageManagerService;->preparePackageParserCache(Z)Ljava/io/File;
+SPLcom/android/server/pm/PackageManagerService;->notifyDexLoad(Ljava/lang/String;Ljava/util/List;Ljava/util/List;Ljava/lang/String;)V
+SPLcom/android/server/pm/PackageManagerService;->notifyPackageUse(Ljava/lang/String;I)V
+SPLcom/android/server/pm/PackageManagerService;->performFstrimIfNeeded()V
+SPLcom/android/server/pm/PackageManagerService;->prepareAppDataAndMigrateLIF(Landroid/content/pm/PackageParser$Package;IIZ)V
+SPLcom/android/server/pm/PackageManagerService;->preparePackageParserCache()Ljava/io/File;
+SPLcom/android/server/pm/PackageManagerService;->queryContentProviders(Ljava/lang/String;IILjava/lang/String;)Landroid/content/pm/ParceledListSlice;
+SPLcom/android/server/pm/PackageManagerService;->queryCrossProfileIntents(Ljava/util/List;Landroid/content/Intent;Ljava/lang/String;IIZ)Landroid/content/pm/ResolveInfo;
+SPLcom/android/server/pm/PackageManagerService;->queryIntentActivities(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+SPLcom/android/server/pm/PackageManagerService;->queryIntentActivitiesInternal(Landroid/content/Intent;Ljava/lang/String;IIIZZ)Ljava/util/List;
+SPLcom/android/server/pm/PackageManagerService;->queryIntentReceivers(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+SPLcom/android/server/pm/PackageManagerService;->queryIntentReceiversInternal(Landroid/content/Intent;Ljava/lang/String;IIZ)Ljava/util/List;
+SPLcom/android/server/pm/PackageManagerService;->queryIntentServices(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ParceledListSlice;
+SPLcom/android/server/pm/PackageManagerService;->queryIntentServicesInternal(Landroid/content/Intent;Ljava/lang/String;IIIZ)Ljava/util/List;
+SPLcom/android/server/pm/PackageManagerService;->queryPermissionsByGroup(Ljava/lang/String;I)Landroid/content/pm/ParceledListSlice;
+SPLcom/android/server/pm/PackageManagerService;->querySkipCurrentProfileIntents(Ljava/util/List;Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
+SPLcom/android/server/pm/PackageManagerService;->registerMoveCallback(Landroid/content/pm/IPackageMoveObserver;)V
 SPLcom/android/server/pm/PackageManagerService;->removeCodePathLI(Ljava/io/File;)V
 SPLcom/android/server/pm/PackageManagerService;->removeDexFiles(Ljava/util/List;[Ljava/lang/String;)V
-SPLcom/android/server/pm/PackageManagerService;->removePackageLI(Landroid/content/pm/PackageParser$Package;Z)V
-SPLcom/android/server/pm/PackageManagerService;->removePackageLI(Lcom/android/server/pm/PackageSetting;Z)V
+SPLcom/android/server/pm/PackageManagerService;->removeKeystoreDataIfNeeded(II)V
+SPLcom/android/server/pm/PackageManagerService;->reportSettingsProblem(ILjava/lang/String;)V
+SPLcom/android/server/pm/PackageManagerService;->resetUserChangesToRuntimePermissionsAndFlagsLPw(Lcom/android/server/pm/PackageSetting;I)V
+SPLcom/android/server/pm/PackageManagerService;->resolveIntent(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
+SPLcom/android/server/pm/PackageManagerService;->resolveIntentInternal(Landroid/content/Intent;Ljava/lang/String;IIZI)Landroid/content/pm/ResolveInfo;
+SPLcom/android/server/pm/PackageManagerService;->resolveService(Landroid/content/Intent;Ljava/lang/String;II)Landroid/content/pm/ResolveInfo;
+SPLcom/android/server/pm/PackageManagerService;->resolveServiceInternal(Landroid/content/Intent;Ljava/lang/String;III)Landroid/content/pm/ResolveInfo;
+SPLcom/android/server/pm/PackageManagerService;->revokeDefaultPermissionsFromDisabledTelephonyDataServices([Ljava/lang/String;I)V
 SPLcom/android/server/pm/PackageManagerService;->scanDirTracedLI(Ljava/io/File;IIJ)V
-SPLcom/android/server/pm/PackageManagerService;->scanPackageChildLI(Landroid/content/pm/PackageParser$Package;IIJLandroid/os/UserHandle;)Landroid/content/pm/PackageParser$Package;
-SPLcom/android/server/pm/PackageManagerService;->scanPackageOnlyLI(Lcom/android/server/pm/PackageManagerService$ScanRequest;ZJ)Lcom/android/server/pm/PackageManagerService$ScanResult;
+SPLcom/android/server/pm/PackageManagerService;->scheduleWritePackageRestrictionsLocked(I)V
+SPLcom/android/server/pm/PackageManagerService;->scheduleWritePackageRestrictionsLocked(Landroid/os/UserHandle;)V
+SPLcom/android/server/pm/PackageManagerService;->sendPackageBroadcast(Ljava/lang/String;Ljava/lang/String;Landroid/os/Bundle;ILjava/lang/String;Landroid/content/IIntentReceiver;[I[I)V
 SPLcom/android/server/pm/PackageManagerService;->setBundledAppAbi(Landroid/content/pm/PackageParser$Package;Ljava/lang/String;Ljava/lang/String;)V
 SPLcom/android/server/pm/PackageManagerService;->setBundledAppAbisAndRoots(Landroid/content/pm/PackageParser$Package;Lcom/android/server/pm/PackageSetting;)V
-SPLcom/android/server/pm/PackageManagerService;->setInstantAppForUser(Lcom/android/server/pm/PackageSetting;IZZ)V
+SPLcom/android/server/pm/PackageManagerService;->setComponentEnabledSetting(Landroid/content/ComponentName;III)V
+SPLcom/android/server/pm/PackageManagerService;->setEnabledSetting(Ljava/lang/String;Ljava/lang/String;IIILjava/lang/String;)V
+SPLcom/android/server/pm/PackageManagerService;->setPackageStoppedState(Ljava/lang/String;ZI)V
+SPLcom/android/server/pm/PackageManagerService;->setSystemAppHiddenUntilInstalled(Ljava/lang/String;Z)V
+SPLcom/android/server/pm/PackageManagerService;->setSystemAppInstallState(Ljava/lang/String;ZI)Z
+SPLcom/android/server/pm/PackageManagerService;->setUpInstantAppInstallerActivityLP(Landroid/content/pm/ActivityInfo;)V
+SPLcom/android/server/pm/PackageManagerService;->systemReady()V
+SPLcom/android/server/pm/PackageManagerService;->unsuspendForNonSystemSuspendingPackages(Landroid/util/ArraySet;)V
+SPLcom/android/server/pm/PackageManagerService;->updateInstantAppInstallerLocked(Ljava/lang/String;)V
+SPLcom/android/server/pm/PackageManagerService;->updateIntentForResolve(Landroid/content/Intent;)Landroid/content/Intent;
+SPLcom/android/server/pm/PackageManagerService;->updatePackagesIfNeeded()V
+SPLcom/android/server/pm/PackageManagerService;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIZI)V
+SPLcom/android/server/pm/PackageManagerService;->updateSequenceNumberLP(Lcom/android/server/pm/PackageSetting;[I)V
+SPLcom/android/server/pm/PackageManagerService;->userNeedsBadging(I)Z
+SPLcom/android/server/pm/PackageManagerService;->waitForAppDataPrepared()V
 SPLcom/android/server/pm/PackageManagerServiceCompilerMapping;->checkProperties()V
+SPLcom/android/server/pm/PackageManagerServiceCompilerMapping;->getAndCheckValidity(I)Ljava/lang/String;
 SPLcom/android/server/pm/PackageManagerServiceCompilerMapping;->getSystemPropertyName(I)Ljava/lang/String;
-SPLcom/android/server/pm/PackageManagerServiceCompilerMapping;->isFilterAllowedForReason(ILjava/lang/String;)Z
-SPLcom/android/server/pm/PackageManagerServiceUtils;->compareSignatures([Landroid/content/pm/Signature;[Landroid/content/pm/Signature;)I
-SPLcom/android/server/pm/PackageManagerServiceUtils;->compressedFileExists(Ljava/lang/String;)Z
-SPLcom/android/server/pm/PackageManagerServiceUtils;->deriveAbiOverride(Ljava/lang/String;Lcom/android/server/pm/PackageSetting;)Ljava/lang/String;
-SPLcom/android/server/pm/PackageManagerServiceUtils;->getCompressedFiles(Ljava/lang/String;)[Ljava/io/File;
-SPLcom/android/server/pm/PackageManagerServiceUtils;->getSettingsProblemFile()Ljava/io/File;
-SPLcom/android/server/pm/PackageManagerServiceUtils;->isApkVerificationForced(Lcom/android/server/pm/PackageSetting;)Z
+SPLcom/android/server/pm/PackageManagerServiceUtils;->enforceShellRestriction(Ljava/lang/String;II)V
 SPLcom/android/server/pm/PackageManagerServiceUtils;->logCriticalInfo(ILjava/lang/String;)V
-SPLcom/android/server/pm/PackageManagerServiceUtils;->verifySignatures(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageParser$SigningDetails;ZZ)Z
-SPLcom/android/server/pm/PackageSetting;-><init>(Lcom/android/server/pm/PackageSetting;)V
-SPLcom/android/server/pm/PackageSetting;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JIILjava/lang/String;Ljava/util/List;I[Ljava/lang/String;[J)V
-SPLcom/android/server/pm/PackageSetting;->doCopy(Lcom/android/server/pm/PackageSetting;)V
-SPLcom/android/server/pm/PackageSetting;->getSharedUserId()I
-SPLcom/android/server/pm/PackageSetting;->isForwardLocked()Z
-SPLcom/android/server/pm/PackageSetting;->isPrivileged()Z
-SPLcom/android/server/pm/PackageSettingBase;-><init>(Lcom/android/server/pm/PackageSettingBase;Ljava/lang/String;)V
-SPLcom/android/server/pm/PackageSettingBase;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JIILjava/lang/String;Ljava/util/List;[Ljava/lang/String;[J)V
-SPLcom/android/server/pm/PackageSettingBase;->init(Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;J)V
-SPLcom/android/server/pm/PackageSettingBase;->setEnabled(IILjava/lang/String;)V
+SPLcom/android/server/pm/PackageSetting;->updateFrom(Lcom/android/server/pm/PackageSetting;)V
+SPLcom/android/server/pm/PackageSettingBase;->disableComponentLPw(Ljava/lang/String;I)Z
+SPLcom/android/server/pm/PackageSettingBase;->enableComponentLPw(Ljava/lang/String;I)Z
+SPLcom/android/server/pm/PackageSettingBase;->getInstalled(I)Z
+SPLcom/android/server/pm/PackageSettingBase;->getInstantApp(I)Z
+SPLcom/android/server/pm/PackageSettingBase;->modifyUserStateComponents(IZZ)Landroid/content/pm/PackageUserState;
+SPLcom/android/server/pm/PackageSettingBase;->queryInstalledUsers([IZ)[I
+SPLcom/android/server/pm/PackageSettingBase;->restoreComponentLPw(Ljava/lang/String;I)Z
 SPLcom/android/server/pm/PackageSettingBase;->setIntentFilterVerificationInfo(Landroid/content/pm/IntentFilterVerificationInfo;)V
-SPLcom/android/server/pm/PackageSettingBase;->setUserState(IJIZZZZZLjava/lang/String;Ljava/lang/String;Landroid/os/PersistableBundle;Landroid/os/PersistableBundle;ZZLjava/lang/String;Landroid/util/ArraySet;Landroid/util/ArraySet;IIILjava/lang/String;)V
-SPLcom/android/server/pm/PackageSignatures;-><init>()V
-SPLcom/android/server/pm/PackageSignatures;->readXml(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/ArrayList;)V
 SPLcom/android/server/pm/PackageUsage;-><init>()V
-SPLcom/android/server/pm/ParallelPackageParser$ParseResult;-><init>()V
+SPLcom/android/server/pm/PackageUsage;->readInternal(Ljava/lang/Object;)V
+SPLcom/android/server/pm/PackageUsage;->readInternal(Ljava/util/Map;)V
 SPLcom/android/server/pm/ParallelPackageParser;-><init>([Ljava/lang/String;ZLandroid/util/DisplayMetrics;Ljava/io/File;Landroid/content/pm/PackageParser$Callback;)V
 SPLcom/android/server/pm/ParallelPackageParser;->close()V
-SPLcom/android/server/pm/ParallelPackageParser;->lambda$submit$0(Lcom/android/server/pm/ParallelPackageParser;Ljava/io/File;I)V
-SPLcom/android/server/pm/ParallelPackageParser;->parsePackage(Landroid/content/pm/PackageParser;Ljava/io/File;I)Landroid/content/pm/PackageParser$Package;
-SPLcom/android/server/pm/ParallelPackageParser;->submit(Ljava/io/File;I)V
-SPLcom/android/server/pm/ParallelPackageParser;->take()Lcom/android/server/pm/ParallelPackageParser$ParseResult;
-SPLcom/android/server/pm/Policy$PolicyBuilder;-><init>()V
-SPLcom/android/server/pm/Policy$PolicyBuilder;->access$000(Lcom/android/server/pm/Policy$PolicyBuilder;)Ljava/lang/String;
-SPLcom/android/server/pm/Policy$PolicyBuilder;->access$100(Lcom/android/server/pm/Policy$PolicyBuilder;)Ljava/util/Set;
-SPLcom/android/server/pm/Policy$PolicyBuilder;->access$200(Lcom/android/server/pm/Policy$PolicyBuilder;)Ljava/util/Map;
-SPLcom/android/server/pm/Policy$PolicyBuilder;->addInnerPackageMapOrThrow(Ljava/lang/String;Ljava/lang/String;)Lcom/android/server/pm/Policy$PolicyBuilder;
 SPLcom/android/server/pm/Policy$PolicyBuilder;->addSignature(Ljava/lang/String;)Lcom/android/server/pm/Policy$PolicyBuilder;
 SPLcom/android/server/pm/Policy$PolicyBuilder;->build()Lcom/android/server/pm/Policy;
 SPLcom/android/server/pm/Policy$PolicyBuilder;->setGlobalSeinfoOrThrow(Ljava/lang/String;)Lcom/android/server/pm/Policy$PolicyBuilder;
-SPLcom/android/server/pm/Policy$PolicyBuilder;->validateValue(Ljava/lang/String;)Z
-SPLcom/android/server/pm/Policy;-><init>(Lcom/android/server/pm/Policy$PolicyBuilder;)V
-SPLcom/android/server/pm/Policy;-><init>(Lcom/android/server/pm/Policy$PolicyBuilder;Lcom/android/server/pm/Policy$1;)V
-SPLcom/android/server/pm/Policy;->access$400(Lcom/android/server/pm/Policy;)Ljava/util/Set;
-SPLcom/android/server/pm/Policy;->access$500(Lcom/android/server/pm/Policy;)Ljava/lang/String;
-SPLcom/android/server/pm/Policy;->access$600(Lcom/android/server/pm/Policy;)Ljava/util/Map;
-SPLcom/android/server/pm/Policy;->getSignatures()Ljava/util/Set;
-SPLcom/android/server/pm/Policy;->hasInnerPackages()Z
-SPLcom/android/server/pm/PolicyComparator;-><init>()V
 SPLcom/android/server/pm/PolicyComparator;->compare(Lcom/android/server/pm/Policy;Lcom/android/server/pm/Policy;)I
 SPLcom/android/server/pm/PolicyComparator;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
-SPLcom/android/server/pm/PolicyComparator;->foundDuplicate()Z
-SPLcom/android/server/pm/PreferredActivity;-><init>(Lorg/xmlpull/v1/XmlPullParser;)V
 SPLcom/android/server/pm/PreferredActivity;->onReadTag(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;)Z
-SPLcom/android/server/pm/PreferredComponent;-><init>(Lcom/android/server/pm/PreferredComponent$Callbacks;Lorg/xmlpull/v1/XmlPullParser;)V
+SPLcom/android/server/pm/PreferredActivity;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
 SPLcom/android/server/pm/PreferredComponent;->getParseError()Ljava/lang/String;
-SPLcom/android/server/pm/PreferredIntentResolver;-><init>()V
+SPLcom/android/server/pm/PreferredComponent;->sameSet(Ljava/util/List;Z)Z
+SPLcom/android/server/pm/PreferredComponent;->writeToXml(Lorg/xmlpull/v1/XmlSerializer;Z)V
 SPLcom/android/server/pm/PreferredIntentResolver;->newArray(I)[Landroid/content/IntentFilter;
 SPLcom/android/server/pm/PreferredIntentResolver;->newArray(I)[Lcom/android/server/pm/PreferredActivity;
 SPLcom/android/server/pm/ProcessLoggingHandler;-><init>()V
 SPLcom/android/server/pm/ProtectedPackages;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/pm/ProtectedPackages;->hasDeviceOwnerOrProfileOwner(ILjava/lang/String;)Z
+SPLcom/android/server/pm/ProtectedPackages;->isPackageStateProtected(ILjava/lang/String;)Z
+SPLcom/android/server/pm/ProtectedPackages;->isProtectedPackage(Ljava/lang/String;)Z
+SPLcom/android/server/pm/ProtectedPackages;->setDeviceAndProfileOwnerPackages(ILjava/lang/String;Landroid/util/SparseArray;)V
 SPLcom/android/server/pm/SELinuxMMAC;->readInstallPolicy()Z
-SPLcom/android/server/pm/SELinuxMMAC;->readPackageOrThrow(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/pm/Policy$PolicyBuilder;)V
-SPLcom/android/server/pm/SELinuxMMAC;->readSeinfo(Lorg/xmlpull/v1/XmlPullParser;)V
 SPLcom/android/server/pm/SELinuxMMAC;->readSignerOrThrow(Lorg/xmlpull/v1/XmlPullParser;)Lcom/android/server/pm/Policy;
-SPLcom/android/server/pm/SettingBase;-><init>(II)V
-SPLcom/android/server/pm/SettingBase;-><init>(Lcom/android/server/pm/SettingBase;)V
-SPLcom/android/server/pm/SettingBase;->doCopy(Lcom/android/server/pm/SettingBase;)V
-SPLcom/android/server/pm/Settings$KernelPackageState;-><init>()V
-SPLcom/android/server/pm/Settings$KernelPackageState;-><init>(Lcom/android/server/pm/Settings$1;)V
-SPLcom/android/server/pm/Settings$RuntimePermissionPersistence$MyHandler;-><init>(Lcom/android/server/pm/Settings$RuntimePermissionPersistence;)V
+SPLcom/android/server/pm/Settings$RuntimePermissionPersistence$MyHandler;->handleMessage(Landroid/os/Message;)V
 SPLcom/android/server/pm/Settings$RuntimePermissionPersistence;-><init>(Lcom/android/server/pm/Settings;Ljava/lang/Object;)V
-SPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->parseRuntimePermissionsLPr(Lorg/xmlpull/v1/XmlPullParser;I)V
+SPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->parseRestoredRuntimePermissionsLPr(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)V
 SPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->readStateForUserSyncLPr(I)V
-SPLcom/android/server/pm/Settings$VersionInfo;-><init>()V
-SPLcom/android/server/pm/Settings;-><init>(Lcom/android/server/pm/permission/PermissionSettings;Ljava/lang/Object;)V
+SPLcom/android/server/pm/Settings$RuntimePermissionPersistence;->rememberRestoredUserGrantLPr(Ljava/lang/String;Ljava/lang/String;ZII)V
 SPLcom/android/server/pm/Settings;-><init>(Ljava/io/File;Lcom/android/server/pm/permission/PermissionSettings;Ljava/lang/Object;)V
-SPLcom/android/server/pm/Settings;->access$200(Lcom/android/server/pm/Settings;I)Ljava/io/File;
-SPLcom/android/server/pm/Settings;->addPackageLPw(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IJIILjava/lang/String;Ljava/util/List;[Ljava/lang/String;[J)Lcom/android/server/pm/PackageSetting;
-SPLcom/android/server/pm/Settings;->addPackageSettingLPw(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/SharedUserSetting;)V
 SPLcom/android/server/pm/Settings;->addSharedUserLPw(Ljava/lang/String;III)Lcom/android/server/pm/SharedUserSetting;
-SPLcom/android/server/pm/Settings;->editPreferredActivitiesLPw(I)Lcom/android/server/pm/PreferredIntentResolver;
+SPLcom/android/server/pm/Settings;->createNewSetting(Ljava/lang/String;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Ljava/lang/String;Lcom/android/server/pm/SharedUserSetting;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;JIILandroid/os/UserHandle;ZZZLjava/lang/String;Ljava/util/List;Lcom/android/server/pm/UserManagerService;[Ljava/lang/String;[J)Lcom/android/server/pm/PackageSetting;
 SPLcom/android/server/pm/Settings;->enableSystemPackageLPw(Ljava/lang/String;)Lcom/android/server/pm/PackageSetting;
-SPLcom/android/server/pm/Settings;->findOrCreateVersion(Ljava/lang/String;)Lcom/android/server/pm/Settings$VersionInfo;
+SPLcom/android/server/pm/Settings;->getAllSharedUsersLPw()Ljava/util/Collection;
+SPLcom/android/server/pm/Settings;->getChildSettingsLPr(Lcom/android/server/pm/PackageSetting;)[Lcom/android/server/pm/PackageSetting;
+SPLcom/android/server/pm/Settings;->getHarmfulAppWarningLPr(Ljava/lang/String;I)Ljava/lang/String;
+SPLcom/android/server/pm/Settings;->getInternalVersion()Lcom/android/server/pm/Settings$VersionInfo;
 SPLcom/android/server/pm/Settings;->getSharedUserLPw(Ljava/lang/String;IIZ)Lcom/android/server/pm/SharedUserSetting;
 SPLcom/android/server/pm/Settings;->getUserPackagesStateBackupFile(I)Ljava/io/File;
 SPLcom/android/server/pm/Settings;->getUserPackagesStateFile(I)Ljava/io/File;
-SPLcom/android/server/pm/Settings;->getUserRuntimePermissionsFile(I)Ljava/io/File;
-SPLcom/android/server/pm/Settings;->insertPackageSettingLPw(Lcom/android/server/pm/PackageSetting;Landroid/content/pm/PackageParser$Package;)V
-SPLcom/android/server/pm/Settings;->isDisabledSystemPackageLPr(Ljava/lang/String;)Z
+SPLcom/android/server/pm/Settings;->isOrphaned(Ljava/lang/String;)Z
 SPLcom/android/server/pm/Settings;->pruneSharedUsersLPw()V
-SPLcom/android/server/pm/Settings;->readCrossProfileIntentFiltersLPw(Lorg/xmlpull/v1/XmlPullParser;I)V
+SPLcom/android/server/pm/Settings;->readBlockUninstallPackagesLPw(Lorg/xmlpull/v1/XmlPullParser;I)V
 SPLcom/android/server/pm/Settings;->readDefaultAppsLPw(Lorg/xmlpull/v1/XmlPullParser;I)V
 SPLcom/android/server/pm/Settings;->readDisabledSysPackageLPw(Lorg/xmlpull/v1/XmlPullParser;)V
 SPLcom/android/server/pm/Settings;->readDomainVerificationLPw(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/pm/PackageSettingBase;)V
 SPLcom/android/server/pm/Settings;->readPersistentPreferredActivitiesLPw(Lorg/xmlpull/v1/XmlPullParser;I)V
 SPLcom/android/server/pm/Settings;->readPreferredActivitiesLPw(Lorg/xmlpull/v1/XmlPullParser;I)V
-SPLcom/android/server/pm/Settings;->updatePackageSetting(Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/PackageSetting;Lcom/android/server/pm/SharedUserSetting;Ljava/io/File;Ljava/io/File;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;IILjava/util/List;Lcom/android/server/pm/UserManagerService;[Ljava/lang/String;[J)V
-SPLcom/android/server/pm/SharedUserSetting;-><init>(Ljava/lang/String;II)V
+SPLcom/android/server/pm/Settings;->readRestoredIntentFilterVerifications(Lorg/xmlpull/v1/XmlPullParser;)V
+SPLcom/android/server/pm/Settings;->readSharedUserLPw(Lorg/xmlpull/v1/XmlPullParser;)V
+SPLcom/android/server/pm/Settings;->registerAppIdLPw(Lcom/android/server/pm/PackageSetting;)V
+SPLcom/android/server/pm/Settings;->setPackageStoppedStateLPw(Lcom/android/server/pm/PackageManagerService;Ljava/lang/String;ZZII)Z
+SPLcom/android/server/pm/Settings;->writeAllUsersPackageRestrictionsLPr()V
+SPLcom/android/server/pm/Settings;->writeBlockUninstallPackagesLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
+SPLcom/android/server/pm/Settings;->writeCrossProfileIntentFiltersLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
+SPLcom/android/server/pm/Settings;->writeDefaultAppsLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
+SPLcom/android/server/pm/Settings;->writeDisabledSysPackageLPr(Lorg/xmlpull/v1/XmlSerializer;Lcom/android/server/pm/PackageSetting;)V
+SPLcom/android/server/pm/Settings;->writePersistentPreferredActivitiesLPr(Lorg/xmlpull/v1/XmlSerializer;I)V
+SPLcom/android/server/pm/Settings;->writePreferredActivitiesLPr(Lorg/xmlpull/v1/XmlSerializer;IZ)V
 SPLcom/android/server/pm/SharedUserSetting;->addPackage(Lcom/android/server/pm/PackageSetting;)V
+SPLcom/android/server/pm/SharedUserSetting;->fixSeInfoLocked()V
+SPLcom/android/server/pm/SharedUserSetting;->getPackages()Ljava/util/List;
 SPLcom/android/server/pm/SharedUserSetting;->isPrivileged()Z
+SPLcom/android/server/pm/SharedUserSetting;->removePackage(Lcom/android/server/pm/PackageSetting;)Z
+SPLcom/android/server/pm/ShortcutBitmapSaver;-><init>(Lcom/android/server/pm/ShortcutService;)V
+SPLcom/android/server/pm/ShortcutService$1;-><init>()V
+SPLcom/android/server/pm/ShortcutService$2;-><init>()V
+SPLcom/android/server/pm/ShortcutService$3;->lambda$onUidGone$1$ShortcutService$3(I)V
+SPLcom/android/server/pm/ShortcutService$3;->lambda$onUidStateChanged$0$ShortcutService$3(II)V
+SPLcom/android/server/pm/ShortcutService$3;->onUidGone(IZ)V
+SPLcom/android/server/pm/ShortcutService$3;->onUidStateChanged(IIJ)V
+SPLcom/android/server/pm/ShortcutService$5;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/pm/ShortcutService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/pm/ShortcutService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/pm/ShortcutService$Lifecycle;->onStart()V
+SPLcom/android/server/pm/ShortcutService$LocalService;->addListener(Landroid/content/pm/ShortcutServiceInternal$ShortcutChangeListener;)V
+SPLcom/android/server/pm/ShortcutService;-><init>(Landroid/content/Context;Landroid/os/Looper;Z)V
+SPLcom/android/server/pm/ShortcutService;->getLastResetTimeLocked()J
+SPLcom/android/server/pm/ShortcutService;->handleOnUidStateChanged(II)V
+SPLcom/android/server/pm/ShortcutService;->initialize()V
+SPLcom/android/server/pm/ShortcutService;->injectClearCallingIdentity()J
+SPLcom/android/server/pm/ShortcutService;->injectCurrentTimeMillis()J
+SPLcom/android/server/pm/ShortcutService;->injectDipToPixel(I)I
+SPLcom/android/server/pm/ShortcutService;->injectElapsedRealtime()J
+SPLcom/android/server/pm/ShortcutService;->injectIsLowRamDevice()Z
+SPLcom/android/server/pm/ShortcutService;->injectPostToHandler(Ljava/lang/Runnable;)V
+SPLcom/android/server/pm/ShortcutService;->injectRegisterUidObserver(Landroid/app/IUidObserver;I)V
+SPLcom/android/server/pm/ShortcutService;->injectRestoreCallingIdentity(J)V
+SPLcom/android/server/pm/ShortcutService;->injectShortcutManagerConstants()Ljava/lang/String;
+SPLcom/android/server/pm/ShortcutService;->injectSystemDataPath()Ljava/io/File;
+SPLcom/android/server/pm/ShortcutService;->isUserUnlockedL(I)Z
+SPLcom/android/server/pm/ShortcutService;->loadBaseStateLocked()V
+SPLcom/android/server/pm/ShortcutService;->onBootPhase(I)V
+SPLcom/android/server/pm/ShortcutService;->parseLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
+SPLcom/android/server/pm/ShortcutService;->updateConfigurationLocked(Ljava/lang/String;)Z
+SPLcom/android/server/pm/ShortcutService;->updateTimesLocked()V
+SPLcom/android/server/pm/StagingManager;-><init>(Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/PackageInstallerService;Lcom/android/server/pm/ApexManager;Landroid/content/Context;)V
 SPLcom/android/server/pm/UserDataPreparer;-><init>(Lcom/android/server/pm/Installer;Ljava/lang/Object;Landroid/content/Context;Z)V
-SPLcom/android/server/pm/UserManagerService$1;-><init>(Lcom/android/server/pm/UserManagerService;)V
-SPLcom/android/server/pm/UserManagerService$LocalService;-><init>(Lcom/android/server/pm/UserManagerService;)V
-SPLcom/android/server/pm/UserManagerService$LocalService;-><init>(Lcom/android/server/pm/UserManagerService;Lcom/android/server/pm/UserManagerService$1;)V
-SPLcom/android/server/pm/UserManagerService$MainHandler;-><init>(Lcom/android/server/pm/UserManagerService;)V
+SPLcom/android/server/pm/UserDataPreparer;->enforceSerialNumber(Ljava/io/File;I)V
+SPLcom/android/server/pm/UserDataPreparer;->getSerialNumber(Ljava/io/File;)I
+SPLcom/android/server/pm/UserDataPreparer;->isFileEncryptedEmulatedOnly()Z
+SPLcom/android/server/pm/UserDataPreparer;->reconcileUsers(Ljava/lang/String;Ljava/util/List;)V
+SPLcom/android/server/pm/UserDataPreparer;->reconcileUsers(Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
+SPLcom/android/server/pm/UserManagerService$2;->run()V
+SPLcom/android/server/pm/UserManagerService$3;->run()V
+SPLcom/android/server/pm/UserManagerService$LifeCycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/pm/UserManagerService$LifeCycle;->onBootPhase(I)V
+SPLcom/android/server/pm/UserManagerService$LifeCycle;->onStart()V
+SPLcom/android/server/pm/UserManagerService$LifeCycle;->onStartUser(I)V
+SPLcom/android/server/pm/UserManagerService$LocalService;->addUserRestrictionsListener(Landroid/os/UserManagerInternal$UserRestrictionsListener;)V
+SPLcom/android/server/pm/UserManagerService$LocalService;->getUserIds()[I
+SPLcom/android/server/pm/UserManagerService$LocalService;->getUserRestriction(ILjava/lang/String;)Z
+SPLcom/android/server/pm/UserManagerService$LocalService;->isSettingRestrictedForUser(Ljava/lang/String;ILjava/lang/String;I)Z
+SPLcom/android/server/pm/UserManagerService$LocalService;->isUserRunning(I)Z
+SPLcom/android/server/pm/UserManagerService$LocalService;->isUserUnlocked(I)Z
+SPLcom/android/server/pm/UserManagerService$LocalService;->setDeviceManaged(Z)V
+SPLcom/android/server/pm/UserManagerService$LocalService;->setDevicePolicyUserRestrictions(ILandroid/os/Bundle;ZI)V
+SPLcom/android/server/pm/UserManagerService$LocalService;->setUserManaged(IZ)V
 SPLcom/android/server/pm/UserManagerService$UserData;-><init>()V
 SPLcom/android/server/pm/UserManagerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/UserDataPreparer;Ljava/lang/Object;)V
 SPLcom/android/server/pm/UserManagerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/PackageManagerService;Lcom/android/server/pm/UserDataPreparer;Ljava/lang/Object;Ljava/io/File;)V
+SPLcom/android/server/pm/UserManagerService;->applyUserRestrictionsLR(I)V
+SPLcom/android/server/pm/UserManagerService;->checkManageOrInteractPermIfCallerInOtherProfileGroup(ILjava/lang/String;)V
+SPLcom/android/server/pm/UserManagerService;->checkManageUserAndAcrossUsersFullPermission(Ljava/lang/String;)V
+SPLcom/android/server/pm/UserManagerService;->cleanupPartialUsers()V
+SPLcom/android/server/pm/UserManagerService;->computeEffectiveUserRestrictionsLR(I)Landroid/os/Bundle;
+SPLcom/android/server/pm/UserManagerService;->findCurrentGuestUser()Landroid/content/pm/UserInfo;
+SPLcom/android/server/pm/UserManagerService;->getCredentialOwnerProfile(I)I
+SPLcom/android/server/pm/UserManagerService;->getEffectiveUserRestrictions(I)Landroid/os/Bundle;
+SPLcom/android/server/pm/UserManagerService;->getPrimaryUser()Landroid/content/pm/UserInfo;
+SPLcom/android/server/pm/UserManagerService;->getProfileIds(IZ)[I
+SPLcom/android/server/pm/UserManagerService;->getProfileIdsLU(IZ)Landroid/util/IntArray;
+SPLcom/android/server/pm/UserManagerService;->getProfileParent(I)Landroid/content/pm/UserInfo;
+SPLcom/android/server/pm/UserManagerService;->getProfiles(IZ)Ljava/util/List;
+SPLcom/android/server/pm/UserManagerService;->getProfilesLU(IZZ)Ljava/util/List;
+SPLcom/android/server/pm/UserManagerService;->getUserAccount(I)Ljava/lang/String;
+SPLcom/android/server/pm/UserManagerService;->getUserDataNoChecks(I)Lcom/android/server/pm/UserManagerService$UserData;
+SPLcom/android/server/pm/UserManagerService;->getUserHandle(I)I
+SPLcom/android/server/pm/UserManagerService;->getUserIcon(I)Landroid/os/ParcelFileDescriptor;
+SPLcom/android/server/pm/UserManagerService;->getUserInfo(I)Landroid/content/pm/UserInfo;
+SPLcom/android/server/pm/UserManagerService;->getUserRestrictionSources(Ljava/lang/String;I)Ljava/util/List;
+SPLcom/android/server/pm/UserManagerService;->getUserRestrictions(I)Landroid/os/Bundle;
+SPLcom/android/server/pm/UserManagerService;->getUserSerialNumber(I)I
+SPLcom/android/server/pm/UserManagerService;->hasBaseUserRestriction(Ljava/lang/String;I)Z
+SPLcom/android/server/pm/UserManagerService;->hasUserRestriction(Ljava/lang/String;I)Z
 SPLcom/android/server/pm/UserManagerService;->initDefaultGuestRestrictions()V
+SPLcom/android/server/pm/UserManagerService;->isManagedProfile(I)Z
+SPLcom/android/server/pm/UserManagerService;->isQuietModeEnabled(I)Z
+SPLcom/android/server/pm/UserManagerService;->isSameProfileGroup(II)Z
+SPLcom/android/server/pm/UserManagerService;->isSameProfileGroupNoChecks(II)Z
+SPLcom/android/server/pm/UserManagerService;->isUserRunning(I)Z
+SPLcom/android/server/pm/UserManagerService;->isUserUnlocked(I)Z
+SPLcom/android/server/pm/UserManagerService;->isUserUnlockingOrUnlocked(I)Z
 SPLcom/android/server/pm/UserManagerService;->readIntAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;I)I
 SPLcom/android/server/pm/UserManagerService;->readLongAttribute(Lorg/xmlpull/v1/XmlPullParser;Ljava/lang/String;J)J
 SPLcom/android/server/pm/UserManagerService;->readUserLP(I)Lcom/android/server/pm/UserManagerService$UserData;
 SPLcom/android/server/pm/UserManagerService;->readUserLP(ILjava/io/InputStream;)Lcom/android/server/pm/UserManagerService$UserData;
 SPLcom/android/server/pm/UserManagerService;->readUserListLP()V
+SPLcom/android/server/pm/UserManagerService;->reconcileUsers(Ljava/lang/String;)V
+SPLcom/android/server/pm/UserManagerService;->setDevicePolicyUserRestrictionsInner(ILandroid/os/Bundle;ZI)V
+SPLcom/android/server/pm/UserManagerService;->setUserRestriction(Ljava/lang/String;ZI)V
+SPLcom/android/server/pm/UserManagerService;->systemReady()V
 SPLcom/android/server/pm/UserManagerService;->updateUserIds()V
+SPLcom/android/server/pm/UserManagerService;->updateUserRestrictionsInternalLR(Landroid/os/Bundle;I)V
 SPLcom/android/server/pm/UserManagerService;->upgradeIfNecessaryLP(Landroid/os/Bundle;)V
+SPLcom/android/server/pm/UserRestrictionsUtils;->applyUserRestriction(Landroid/content/Context;ILjava/lang/String;Z)V
+SPLcom/android/server/pm/UserRestrictionsUtils;->applyUserRestrictions(Landroid/content/Context;ILandroid/os/Bundle;Landroid/os/Bundle;)V
+SPLcom/android/server/pm/UserRestrictionsUtils;->areEqual(Landroid/os/Bundle;Landroid/os/Bundle;)Z
+SPLcom/android/server/pm/UserRestrictionsUtils;->isSettingRestrictedForUser(Landroid/content/Context;Ljava/lang/String;ILjava/lang/String;I)Z
+SPLcom/android/server/pm/UserRestrictionsUtils;->isValidRestriction(Ljava/lang/String;)Z
+SPLcom/android/server/pm/UserRestrictionsUtils;->merge(Landroid/os/Bundle;Landroid/os/Bundle;)V
+SPLcom/android/server/pm/UserRestrictionsUtils;->mergeAll(Landroid/util/SparseArray;)Landroid/os/Bundle;
 SPLcom/android/server/pm/UserRestrictionsUtils;->newSetWithUniqueCheck([Ljava/lang/String;)Ljava/util/Set;
 SPLcom/android/server/pm/UserRestrictionsUtils;->readRestrictions(Lorg/xmlpull/v1/XmlPullParser;)Landroid/os/Bundle;
-SPLcom/android/server/pm/UserRestrictionsUtils;->readRestrictions(Lorg/xmlpull/v1/XmlPullParser;Landroid/os/Bundle;)V
-SPLcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl;-><init>(Lcom/android/server/pm/dex/ArtManagerService;)V
-SPLcom/android/server/pm/dex/ArtManagerService$ArtManagerInternalImpl;-><init>(Lcom/android/server/pm/dex/ArtManagerService;Lcom/android/server/pm/dex/ArtManagerService$1;)V
+SPLcom/android/server/pm/UserRestrictionsUtils;->sortToGlobalAndLocal(Landroid/os/Bundle;ZILandroid/os/Bundle;Landroid/os/Bundle;)V
 SPLcom/android/server/pm/dex/ArtManagerService;-><init>(Landroid/content/Context;Landroid/content/pm/IPackageManager;Lcom/android/server/pm/Installer;Ljava/lang/Object;)V
 SPLcom/android/server/pm/dex/ArtManagerService;->clearAppProfiles(Landroid/content/pm/PackageParser$Package;)V
 SPLcom/android/server/pm/dex/ArtManagerService;->getCompilationReasonTronValue(Ljava/lang/String;)I
 SPLcom/android/server/pm/dex/ArtManagerService;->getPackageProfileNames(Landroid/content/pm/PackageParser$Package;)Landroid/util/ArrayMap;
 SPLcom/android/server/pm/dex/ArtManagerService;->verifyTronLoggingConstants()V
-SPLcom/android/server/pm/dex/DexLogger;-><init>(Landroid/content/pm/IPackageManager;Lcom/android/server/pm/Installer;Ljava/lang/Object;)V
-SPLcom/android/server/pm/dex/DexLogger;->getListener(Landroid/content/pm/IPackageManager;Lcom/android/server/pm/Installer;Ljava/lang/Object;)Lcom/android/server/pm/dex/DexManager$Listener;
-SPLcom/android/server/pm/dex/DexManager;-><init>(Landroid/content/Context;Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageDexOptimizer;Lcom/android/server/pm/Installer;Ljava/lang/Object;Lcom/android/server/pm/dex/DexManager$Listener;)V
-SPLcom/android/server/pm/dex/DexManager;->isPackageSelectedToRunOob(Ljava/lang/String;)Z
+SPLcom/android/server/pm/dex/DexLogger;->readAndSync(Ljava/util/Map;)V
+SPLcom/android/server/pm/dex/DexLogger;->recordDex(ILjava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/pm/dex/DexManager;-><init>(Landroid/content/Context;Landroid/content/pm/IPackageManager;Lcom/android/server/pm/PackageDexOptimizer;Lcom/android/server/pm/Installer;Ljava/lang/Object;)V
 SPLcom/android/server/pm/dex/DexManager;->isPackageSelectedToRunOob(Ljava/util/Collection;)Z
-SPLcom/android/server/pm/dex/DexManager;->maybeLogUnexpectedPackageDetails(Landroid/content/pm/PackageParser$Package;)V
+SPLcom/android/server/pm/dex/DexManager;->isPackageSelectedToRunOobInternal(ZLjava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/util/Collection;)Z
+SPLcom/android/server/pm/dex/DexManager;->load(Ljava/util/Map;)V
+SPLcom/android/server/pm/dex/DexManager;->notifyDexLoad(Landroid/content/pm/ApplicationInfo;Ljava/util/List;Ljava/util/List;Ljava/lang/String;I)V
+SPLcom/android/server/pm/dex/DexManager;->notifyDexLoadInternal(Landroid/content/pm/ApplicationInfo;Ljava/util/List;Ljava/util/List;Ljava/lang/String;I)V
+SPLcom/android/server/pm/dex/DexManager;->notifyPackageDataDestroyed(Ljava/lang/String;I)V
+SPLcom/android/server/pm/dex/DexoptUtils;->encodeClassLoader(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/pm/dex/DexoptUtils;->encodeClassLoaderChain(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/pm/dex/DexoptUtils;->encodeClasspath([Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/pm/dex/DexoptUtils;->processContextForDexLoad(Ljava/util/List;Ljava/util/List;)[Ljava/lang/String;
+SPLcom/android/server/pm/dex/DynamicCodeLogger;->readAndSync(Ljava/util/Map;)V
+SPLcom/android/server/pm/dex/DynamicCodeLogger;->removeUserPackage(Ljava/lang/String;I)V
 SPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;-><init>()V
-SPLcom/android/server/pm/dex/PackageDexUsage;-><init>()V
-SPLcom/android/server/pm/permission/BasePermission;->isPermission(Landroid/content/pm/PackageParser$Permission;)Z
-SPLcom/android/server/pm/permission/BasePermission;->setGids([IZ)V
-SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;-><init>(Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;Landroid/os/Looper;)V
+SPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->isAnyCodePathUsedByOtherApps()Z
+SPLcom/android/server/pm/dex/PackageDexUsage$PackageUseInfo;->mergeCodePathUsedByOtherApps(Ljava/lang/String;ZLjava/lang/String;Ljava/lang/String;)Z
+SPLcom/android/server/pm/dex/PackageDexUsage;->maybeReadLoadingPackages(Ljava/io/BufferedReader;I)Ljava/util/Set;
+SPLcom/android/server/pm/dex/PackageDexUsage;->read()V
+SPLcom/android/server/pm/dex/PackageDexUsage;->read(Ljava/io/Reader;)V
+SPLcom/android/server/pm/dex/PackageDexUsage;->readBoolean(Ljava/lang/String;)Z
+SPLcom/android/server/pm/dex/PackageDexUsage;->readInternal(Ljava/lang/Object;)V
+SPLcom/android/server/pm/dex/PackageDexUsage;->readInternal(Ljava/lang/Void;)V
+SPLcom/android/server/pm/dex/PackageDexUsage;->record(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;ZZLjava/lang/String;Ljava/lang/String;)Z
+SPLcom/android/server/pm/dex/PackageDexUsage;->removeUserPackage(Ljava/lang/String;I)Z
+SPLcom/android/server/pm/dex/PackageDexUsage;->syncData(Ljava/util/Map;Ljava/util/Map;)V
+SPLcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;->add(Ljava/lang/String;CILjava/lang/String;)Z
+SPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->maybeWriteAsync()V
+SPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->read()V
+SPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->read(Ljava/io/InputStream;)V
+SPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->read(Ljava/io/InputStream;Ljava/util/Map;)V
+SPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->readFileInfo(Ljava/lang/String;Lcom/android/server/pm/dex/PackageDynamicCodeLoading$PackageDynamicCode;)V
+SPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->readInternal(Ljava/lang/Object;)V
+SPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->readInternal(Ljava/lang/Void;)V
+SPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->record(Ljava/lang/String;Ljava/lang/String;IILjava/lang/String;)Z
+SPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->removeUserPackage(Ljava/lang/String;I)Z
+SPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->syncData(Ljava/util/Map;)V
+SPLcom/android/server/pm/dex/PackageDynamicCodeLoading;->unescape(Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/pm/dex/ViewCompiler;-><init>(Ljava/lang/Object;Lcom/android/server/pm/Installer;)V
+SPLcom/android/server/pm/permission/BasePermission;->enforceDeclaredUsedAndRuntimeOrDevelopment(Landroid/content/pm/PackageParser$Package;)V
+SPLcom/android/server/pm/permission/BasePermission;->generatePermissionInfo(II)Landroid/content/pm/PermissionInfo;
+SPLcom/android/server/pm/permission/BasePermission;->updateDynamicPermission(Ljava/util/Collection;)V
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy$1;->handleMessage(Landroid/os/Message;)V
 SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DefaultPermissionGrantedCallback;Lcom/android/server/pm/permission/PermissionManagerService;)V
-SPLcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;-><init>()V
-SPLcom/android/server/pm/permission/PermissionManagerInternal;-><init>()V
-SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;)V
-SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;-><init>(Lcom/android/server/pm/permission/PermissionManagerService;Lcom/android/server/pm/permission/PermissionManagerService$1;)V
-SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->addAllPermissionGroups(Landroid/content/pm/PackageParser$Package;Z)V
-SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->addAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getDefaultPermissionFiles()[Ljava/io/File;
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->getPackageInfo(Ljava/lang/String;I)Landroid/content/pm/PackageInfo;
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToEnabledImsServices([Ljava/lang/String;I)V
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->grantDefaultPermissionsToEnabledTelephonyDataServices([Ljava/lang/String;I)V
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->isSysComponentOrPersistentPlatformSignedPrivApp(Landroid/content/pm/PackageInfo;)Z
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->parse(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Map;)V
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->parseExceptions(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/Map;)V
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->parsePermission(Lorg/xmlpull/v1/XmlPullParser;Ljava/util/List;)V
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->readDefaultPermissionExceptionsLocked()Landroid/util/ArrayMap;
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->revokeDefaultPermissionsFromDisabledTelephonyDataServices([Ljava/lang/String;I)V
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setDialerAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setLocationExtraPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setLocationPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSimCallManagerPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSmsAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setSyncAdapterPackagesProvider(Landroid/content/pm/PackageManagerInternal$SyncAdapterPackagesProvider;)V
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setUseOpenWifiAppPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
+SPLcom/android/server/pm/permission/DefaultPermissionGrantPolicy;->setVoiceInteractionPackagesProvider(Landroid/content/pm/PackageManagerInternal$PackagesProvider;)V
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->checkPermission(Ljava/lang/String;Ljava/lang/String;II)I
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->enforceCrossUserPermission(IIZZZLjava/lang/String;)V
 SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->getDefaultPermissionGrantPolicy()Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;II)I
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;II)Landroid/content/pm/PermissionInfo;
 SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->getPermissionSettings()Lcom/android/server/pm/permission/PermissionSettings;
-SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->removeAllPermissions(Landroid/content/pm/PackageParser$Package;Z)V
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->isPermissionsReviewRequired(Landroid/content/pm/PackageParser$Package;I)Z
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->systemReady()V
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerInternalImpl;->updateAllPermissions(Ljava/lang/String;ZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->checkPermission(Ljava/lang/String;Ljava/lang/String;II)I
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->enforceCrossUserPermission(IIZZZLjava/lang/String;)V
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getAllPermissionGroups(II)Ljava/util/List;
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getDefaultPermissionGrantPolicy()Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;II)I
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;II)Landroid/content/pm/PermissionInfo;
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getPermissionInfoByGroup(Ljava/lang/String;II)Ljava/util/List;
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getPermissionSettings()Lcom/android/server/pm/permission/PermissionSettings;
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->getPermissionTEMP(Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->isPermissionsReviewRequired(Landroid/content/pm/PackageParser$Package;I)Z
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->systemReady()V
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->updateAllPermissions(Ljava/lang/String;ZLjava/util/Collection;Lcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+SPLcom/android/server/pm/permission/PermissionManagerService$PermissionManagerServiceInternalImpl;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIIIZLcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
 SPLcom/android/server/pm/permission/PermissionManagerService;-><init>(Landroid/content/Context;Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DefaultPermissionGrantedCallback;Ljava/lang/Object;)V
-SPLcom/android/server/pm/permission/PermissionManagerService;->access$2700(Lcom/android/server/pm/permission/PermissionManagerService;)Lcom/android/server/pm/permission/PermissionSettings;
-SPLcom/android/server/pm/permission/PermissionManagerService;->access$2800(Lcom/android/server/pm/permission/PermissionManagerService;)Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy;
-SPLcom/android/server/pm/permission/PermissionManagerService;->access$400(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/PackageParser$Package;Z)V
-SPLcom/android/server/pm/permission/PermissionManagerService;->access$500(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/PackageParser$Package;Z)V
-SPLcom/android/server/pm/permission/PermissionManagerService;->access$600(Lcom/android/server/pm/permission/PermissionManagerService;Landroid/content/pm/PackageParser$Package;Z)V
-SPLcom/android/server/pm/permission/PermissionManagerService;->addAllPermissionGroups(Landroid/content/pm/PackageParser$Package;Z)V
+SPLcom/android/server/pm/permission/PermissionManagerService;->adjustPermissionProtectionFlagsLocked(ILjava/lang/String;I)I
+SPLcom/android/server/pm/permission/PermissionManagerService;->checkPermission(Ljava/lang/String;Ljava/lang/String;II)I
 SPLcom/android/server/pm/permission/PermissionManagerService;->create(Landroid/content/Context;Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DefaultPermissionGrantedCallback;Ljava/lang/Object;)Lcom/android/server/pm/permission/PermissionManagerInternal;
-SPLcom/android/server/pm/permission/PermissionSettings;-><init>(Landroid/content/Context;Ljava/lang/Object;)V
+SPLcom/android/server/pm/permission/PermissionManagerService;->create(Landroid/content/Context;Lcom/android/server/pm/permission/DefaultPermissionGrantPolicy$DefaultPermissionGrantedCallback;Ljava/lang/Object;)Lcom/android/server/pm/permission/PermissionManagerServiceInternal;
+SPLcom/android/server/pm/permission/PermissionManagerService;->enforceGrantRevokeRuntimePermissionPermissions(Ljava/lang/String;)V
+SPLcom/android/server/pm/permission/PermissionManagerService;->getAllPermissionGroups(II)Ljava/util/List;
+SPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionFlags(Ljava/lang/String;Ljava/lang/String;II)I
+SPLcom/android/server/pm/permission/PermissionManagerService;->getPermissionInfo(Ljava/lang/String;Ljava/lang/String;II)Landroid/content/pm/PermissionInfo;
+SPLcom/android/server/pm/permission/PermissionManagerService;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerInternal$PermissionCallback;)V
+SPLcom/android/server/pm/permission/PermissionManagerService;->grantRuntimePermission(Ljava/lang/String;Ljava/lang/String;ZIILcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+SPLcom/android/server/pm/permission/PermissionManagerService;->inheritPermissionStateToNewImplicitPermissionLocked(Landroid/util/ArraySet;Ljava/lang/String;Lcom/android/server/pm/permission/PermissionsState;Landroid/content/pm/PackageParser$Package;I)V
+SPLcom/android/server/pm/permission/PermissionManagerService;->systemReady()V
+SPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissionFlags(Ljava/lang/String;Ljava/lang/String;IIIIZLcom/android/server/pm/permission/PermissionManagerServiceInternal$PermissionCallback;)V
+SPLcom/android/server/pm/permission/PermissionManagerService;->updatePermissionTrees(Ljava/lang/String;Landroid/content/pm/PackageParser$Package;I)I
+SPLcom/android/server/pm/permission/PermissionSettings;-><init>(Ljava/lang/Object;)V
+SPLcom/android/server/pm/permission/PermissionSettings;->addAppOpPackage(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/pm/permission/PermissionSettings;->getAllPermissionsLocked()Ljava/util/Collection;
 SPLcom/android/server/pm/permission/PermissionSettings;->getPermissionTreeLocked(Ljava/lang/String;)Lcom/android/server/pm/permission/BasePermission;
 SPLcom/android/server/pm/permission/PermissionSettings;->putPermissionTreeLocked(Ljava/lang/String;Lcom/android/server/pm/permission/BasePermission;)V
 SPLcom/android/server/pm/permission/PermissionSettings;->readPermissionTrees(Lorg/xmlpull/v1/XmlPullParser;)V
 SPLcom/android/server/pm/permission/PermissionSettings;->readPermissions(Lorg/xmlpull/v1/XmlPullParser;)V
-SPLcom/android/server/power/BatterySaverPolicy;-><init>(Ljava/lang/Object;Landroid/content/Context;Lcom/android/server/power/batterysaver/BatterySavingStats;)V
-SPLcom/android/server/power/BatterySaverPolicy;->addListener(Lcom/android/server/power/BatterySaverPolicy$BatterySaverPolicyListener;)V
-SPLcom/android/server/power/PowerManagerService$1;-><init>(Lcom/android/server/power/PowerManagerService;)V
-SPLcom/android/server/power/PowerManagerService$4;-><init>(Lcom/android/server/power/PowerManagerService;)V
-SPLcom/android/server/power/PowerManagerService$BinderService;-><init>(Lcom/android/server/power/PowerManagerService;)V
-SPLcom/android/server/power/PowerManagerService$BinderService;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$1;)V
-SPLcom/android/server/power/PowerManagerService$Constants;-><init>(Lcom/android/server/power/PowerManagerService;Landroid/os/Handler;)V
-SPLcom/android/server/power/PowerManagerService$LocalService;-><init>(Lcom/android/server/power/PowerManagerService;)V
-SPLcom/android/server/power/PowerManagerService$LocalService;-><init>(Lcom/android/server/power/PowerManagerService;Lcom/android/server/power/PowerManagerService$1;)V
+SPLcom/android/server/pm/permission/PermissionSettings;->writePermissionTrees(Lorg/xmlpull/v1/XmlSerializer;)V
+SPLcom/android/server/pm/permission/PermissionsState$PermissionData;->revoke(I)Z
+SPLcom/android/server/pm/permission/PermissionsState;->enforceValidUserId(I)V
+SPLcom/android/server/pm/permission/PermissionsState;->ensureNoPermissionData(Ljava/lang/String;)V
+SPLcom/android/server/pm/permission/PermissionsState;->hasRequestedPermission(Landroid/util/ArraySet;)Z
+SPLcom/android/server/policy/GlobalKeyManager;->loadGlobalKeys(Landroid/content/Context;)V
+SPLcom/android/server/policy/IconUtilities;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/policy/PhoneWindowManager$12;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/policy/PhoneWindowManager$13;->run()V
+SPLcom/android/server/policy/PhoneWindowManager$7;->onAppTransitionStartingLocked(IJJJ)I
+SPLcom/android/server/policy/PhoneWindowManager$8;->onShowingChanged()V
+SPLcom/android/server/policy/PhoneWindowManager$8;->onTrustedChanged()V
+SPLcom/android/server/policy/PhoneWindowManager$HdmiVideoExtconUEventObserver;->init()Z
+SPLcom/android/server/policy/PhoneWindowManager$SettingsObserver;->observe()V
+SPLcom/android/server/policy/PhoneWindowManager$SettingsObserver;->onChange(Z)V
+SPLcom/android/server/policy/PhoneWindowManager;-><init>()V
+SPLcom/android/server/policy/PhoneWindowManager;->adjustConfigurationLw(Landroid/content/res/Configuration;II)V
+SPLcom/android/server/policy/PhoneWindowManager;->bindKeyguard()V
+SPLcom/android/server/policy/PhoneWindowManager;->canDismissBootAnimation()Z
+SPLcom/android/server/policy/PhoneWindowManager;->checkAddPermission(Landroid/view/WindowManager$LayoutParams;[I)I
+SPLcom/android/server/policy/PhoneWindowManager;->checkShowToOwnerOnly(Landroid/view/WindowManager$LayoutParams;)Z
+SPLcom/android/server/policy/PhoneWindowManager;->getUiMode()I
+SPLcom/android/server/policy/PhoneWindowManager;->init(Landroid/content/Context;Landroid/view/IWindowManager;Lcom/android/server/policy/WindowManagerPolicy$WindowManagerFuncs;)V
+SPLcom/android/server/policy/PhoneWindowManager;->initializeHdmiState()V
+SPLcom/android/server/policy/PhoneWindowManager;->initializeHdmiStateInternal()V
+SPLcom/android/server/policy/PhoneWindowManager;->isKeyguardLocked()Z
+SPLcom/android/server/policy/PhoneWindowManager;->isKeyguardOccluded()Z
+SPLcom/android/server/policy/PhoneWindowManager;->isKeyguardShowingAndNotOccluded()Z
+SPLcom/android/server/policy/PhoneWindowManager;->isScreenOn()Z
+SPLcom/android/server/policy/PhoneWindowManager;->keyguardOn()Z
+SPLcom/android/server/policy/PhoneWindowManager;->onDefaultDisplayFocusChangedLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
+SPLcom/android/server/policy/PhoneWindowManager;->onSystemUiStarted()V
+SPLcom/android/server/policy/PhoneWindowManager;->readConfigurationDependentBehaviors()V
+SPLcom/android/server/policy/PhoneWindowManager;->readLidState()V
+SPLcom/android/server/policy/PhoneWindowManager;->registerShortcutKey(JLcom/android/internal/policy/IShortcutService;)V
+SPLcom/android/server/policy/PhoneWindowManager;->screenTurnedOn()V
+SPLcom/android/server/policy/PhoneWindowManager;->screenTurningOn(Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;)V
+SPLcom/android/server/policy/PhoneWindowManager;->setAllowLockscreenWhenOn(IZ)V
+SPLcom/android/server/policy/PhoneWindowManager;->setAodShowing(Z)Z
+SPLcom/android/server/policy/PhoneWindowManager;->setDefaultDisplay(Lcom/android/server/policy/WindowManagerPolicy$DisplayContentInfo;)V
+SPLcom/android/server/policy/PhoneWindowManager;->setKeyguardCandidateLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)V
+SPLcom/android/server/policy/PhoneWindowManager;->setKeyguardOccludedLw(ZZ)Z
+SPLcom/android/server/policy/PhoneWindowManager;->setSafeMode(Z)V
+SPLcom/android/server/policy/PhoneWindowManager;->setTopFocusedDisplay(I)V
+SPLcom/android/server/policy/PhoneWindowManager;->shouldBeHiddenByKeyguard(Lcom/android/server/policy/WindowManagerPolicy$WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
+SPLcom/android/server/policy/PhoneWindowManager;->shouldEnableWakeGestureLp()Z
+SPLcom/android/server/policy/PhoneWindowManager;->startedWakingUp(I)V
+SPLcom/android/server/policy/PhoneWindowManager;->systemBooted()V
+SPLcom/android/server/policy/PhoneWindowManager;->systemReady()V
+SPLcom/android/server/policy/PhoneWindowManager;->updateLockScreenTimeout()V
+SPLcom/android/server/policy/PhoneWindowManager;->updateRotation(Z)V
+SPLcom/android/server/policy/PhoneWindowManager;->updateSettings()V
+SPLcom/android/server/policy/PhoneWindowManager;->updateUiMode()V
+SPLcom/android/server/policy/ShortcutManager;->loadShortcuts()V
+SPLcom/android/server/policy/WakeGestureListener;-><init>(Landroid/content/Context;Landroid/os/Handler;)V
+SPLcom/android/server/policy/WakeGestureListener;->cancelWakeUpTrigger()V
+SPLcom/android/server/policy/WakeGestureListener;->isSupported()Z
+SPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerFromTypeLw(I)I
+SPLcom/android/server/policy/WindowManagerPolicy;->getWindowLayerLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)I
+SPLcom/android/server/policy/WindowOrientationListener;-><init>(Landroid/content/Context;Landroid/os/Handler;I)V
+SPLcom/android/server/policy/WindowOrientationListener;->canDetectOrientation()Z
+SPLcom/android/server/policy/WindowOrientationListener;->setCurrentRotation(I)V
+SPLcom/android/server/policy/keyguard/KeyguardServiceDelegate$1;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+SPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->bindService(Landroid/content/Context;)V
+SPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->hasKeyguard()Z
+SPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->hasLockscreenWallpaper()Z
+SPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->isShowing()Z
+SPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onBootCompleted()V
+SPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onScreenTurnedOn()V
+SPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onScreenTurningOn(Lcom/android/server/policy/keyguard/KeyguardServiceDelegate$DrawnListener;)V
+SPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onStartedWakingUp()V
+SPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->onSystemReady()V
+SPLcom/android/server/policy/keyguard/KeyguardServiceDelegate;->setOccluded(ZZ)V
+SPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->isShowing()Z
+SPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onBootCompleted()V
+SPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onScreenTurnedOn()V
+SPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onScreenTurningOn(Lcom/android/internal/policy/IKeyguardDrawnCallback;)V
+SPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onStartedWakingUp()V
+SPLcom/android/server/policy/keyguard/KeyguardServiceWrapper;->onSystemReady()V
+SPLcom/android/server/policy/keyguard/KeyguardStateMonitor;-><init>(Landroid/content/Context;Lcom/android/internal/policy/IKeyguardService;Lcom/android/server/policy/keyguard/KeyguardStateMonitor$StateCallback;)V
+SPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->isShowing()Z
+SPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onHasLockscreenWallpaperChanged(Z)V
+SPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onInputRestrictedStateChanged(Z)V
+SPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onShowingStateChanged(Z)V
+SPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onSimSecureStateChanged(Z)V
+SPLcom/android/server/policy/keyguard/KeyguardStateMonitor;->onTrustedChanged(Z)V
+SPLcom/android/server/policy/role/LegacyRoleResolutionPolicy;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/power/-$$Lambda$ThermalManagerService$ThermalHal20Wrapper$R9S8YWn8x1F3V2TOvXtmky1V44Q;->onValues(Landroid/hardware/thermal/V1_0/ThermalStatus;Ljava/util/ArrayList;)V
+SPLcom/android/server/power/-$$Lambda$ThermalManagerService$ZPQKzo9ZjU-hL4QYH693hWuTqjk;->run()V
+SPLcom/android/server/power/-$$Lambda$ThermalManagerService$x5obtNvJKZxnpguOiQsFBDmBZ4k;->run()V
+SPLcom/android/server/power/AttentionDetector;->isAttentionServiceSupported()Z
+SPLcom/android/server/power/AttentionDetector;->systemReady(Landroid/content/Context;)V
+SPLcom/android/server/power/AttentionDetector;->updateUserActivity(J)J
+SPLcom/android/server/power/Notifier;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/internal/app/IBatteryStats;Lcom/android/server/power/SuspendBlocker;Lcom/android/server/policy/WindowManagerPolicy;)V
+SPLcom/android/server/power/Notifier;->getBatteryStatsWakeLockMonitorType(I)I
+SPLcom/android/server/power/Notifier;->onWakeLockAcquired(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
+SPLcom/android/server/power/Notifier;->onWakeLockChanging(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
+SPLcom/android/server/power/Notifier;->onWakeLockReleased(ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
+SPLcom/android/server/power/PowerManagerService$1;->acquireSuspendBlocker()V
+SPLcom/android/server/power/PowerManagerService$1;->onDisplayStateChange(I)V
+SPLcom/android/server/power/PowerManagerService$1;->onStateChanged()V
+SPLcom/android/server/power/PowerManagerService$1;->releaseSuspendBlocker()V
+SPLcom/android/server/power/PowerManagerService$BatteryReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/power/PowerManagerService$BinderService;->acquireWakeLock(Landroid/os/IBinder;ILjava/lang/String;Ljava/lang/String;Landroid/os/WorkSource;Ljava/lang/String;)V
+SPLcom/android/server/power/PowerManagerService$BinderService;->getLastShutdownReason()I
+SPLcom/android/server/power/PowerManagerService$BinderService;->getPowerSaveState(I)Landroid/os/PowerSaveState;
+SPLcom/android/server/power/PowerManagerService$BinderService;->isDeviceIdleMode()Z
+SPLcom/android/server/power/PowerManagerService$BinderService;->isInteractive()Z
+SPLcom/android/server/power/PowerManagerService$BinderService;->isLightDeviceIdleMode()Z
+SPLcom/android/server/power/PowerManagerService$BinderService;->isPowerSaveMode()Z
+SPLcom/android/server/power/PowerManagerService$BinderService;->isWakeLockLevelSupported(I)Z
+SPLcom/android/server/power/PowerManagerService$BinderService;->releaseWakeLock(Landroid/os/IBinder;I)V
+SPLcom/android/server/power/PowerManagerService$BinderService;->setDozeAfterScreenOff(Z)V
+SPLcom/android/server/power/PowerManagerService$BinderService;->updateWakeLockWorkSource(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;)V
+SPLcom/android/server/power/PowerManagerService$BinderService;->userActivity(JII)V
+SPLcom/android/server/power/PowerManagerService$Constants;->updateConstants()V
+SPLcom/android/server/power/PowerManagerService$Injector;->createBatterySaverPolicy(Ljava/lang/Object;Landroid/content/Context;Lcom/android/server/power/batterysaver/BatterySavingStats;)Lcom/android/server/power/batterysaver/BatterySaverPolicy;
+SPLcom/android/server/power/PowerManagerService$Injector;->createNativeWrapper()Lcom/android/server/power/PowerManagerService$NativeWrapper;
+SPLcom/android/server/power/PowerManagerService$Injector;->createNotifier(Landroid/os/Looper;Landroid/content/Context;Lcom/android/internal/app/IBatteryStats;Lcom/android/server/power/SuspendBlocker;Lcom/android/server/policy/WindowManagerPolicy;)Lcom/android/server/power/Notifier;
+SPLcom/android/server/power/PowerManagerService$Injector;->createSuspendBlocker(Lcom/android/server/power/PowerManagerService;Ljava/lang/String;)Lcom/android/server/power/SuspendBlocker;
 SPLcom/android/server/power/PowerManagerService$LocalService;->getLowPowerState(I)Landroid/os/PowerSaveState;
+SPLcom/android/server/power/PowerManagerService$LocalService;->powerHint(II)V
 SPLcom/android/server/power/PowerManagerService$LocalService;->registerLowPowerModeObserver(Landroid/os/PowerManagerInternal$LowPowerModeListener;)V
-SPLcom/android/server/power/PowerManagerService$PowerManagerHandler;-><init>(Lcom/android/server/power/PowerManagerService;Landroid/os/Looper;)V
-SPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;-><init>(Lcom/android/server/power/PowerManagerService;Ljava/lang/String;)V
+SPLcom/android/server/power/PowerManagerService$LocalService;->setDeviceIdleWhitelist([I)V
+SPLcom/android/server/power/PowerManagerService$LocalService;->setMaximumScreenOffTimeoutFromDeviceAdmin(IJ)V
+SPLcom/android/server/power/PowerManagerService$LocalService;->setScreenBrightnessOverrideFromWindowManager(I)V
+SPLcom/android/server/power/PowerManagerService$LocalService;->setUserActivityTimeoutOverrideFromWindowManager(J)V
+SPLcom/android/server/power/PowerManagerService$LocalService;->uidActive(I)V
+SPLcom/android/server/power/PowerManagerService$LocalService;->uidGone(I)V
+SPLcom/android/server/power/PowerManagerService$LocalService;->uidIdle(I)V
+SPLcom/android/server/power/PowerManagerService$LocalService;->updateUidProcState(II)V
+SPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeAcquireSuspendBlocker(Ljava/lang/String;)V
+SPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeInit(Lcom/android/server/power/PowerManagerService;)V
+SPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeReleaseSuspendBlocker(Ljava/lang/String;)V
+SPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSendPowerHint(II)V
+SPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSetAutoSuspend(Z)V
+SPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSetFeature(II)V
+SPLcom/android/server/power/PowerManagerService$NativeWrapper;->nativeSetInteractive(Z)V
+SPLcom/android/server/power/PowerManagerService$PowerManagerHandler;->handleMessage(Landroid/os/Message;)V
 SPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->acquire()V
+SPLcom/android/server/power/PowerManagerService$SuspendBlockerImpl;->release()V
+SPLcom/android/server/power/PowerManagerService$UserSwitchedReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/power/PowerManagerService$WakeLock;->hasSameWorkSource(Landroid/os/WorkSource;)Z
 SPLcom/android/server/power/PowerManagerService;-><init>(Landroid/content/Context;)V
-SPLcom/android/server/power/PowerManagerService;->access$4400(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/batterysaver/BatterySaverController;
-SPLcom/android/server/power/PowerManagerService;->access$4500(Lcom/android/server/power/PowerManagerService;)Lcom/android/server/power/BatterySaverPolicy;
-SPLcom/android/server/power/PowerManagerService;->createSuspendBlockerLocked(Ljava/lang/String;)Lcom/android/server/power/SuspendBlocker;
+SPLcom/android/server/power/PowerManagerService;-><init>(Landroid/content/Context;Lcom/android/server/power/PowerManagerService$Injector;)V
+SPLcom/android/server/power/PowerManagerService;->access$3500(Landroid/os/WorkSource;)Landroid/os/WorkSource;
+SPLcom/android/server/power/PowerManagerService;->access$3600(Landroid/os/WorkSource;)Landroid/os/WorkSource;
+SPLcom/android/server/power/PowerManagerService;->adjustWakeLockSummaryLocked(I)I
+SPLcom/android/server/power/PowerManagerService;->applyWakeLockFlagsOnAcquireLocked(Lcom/android/server/power/PowerManagerService$WakeLock;I)V
+SPLcom/android/server/power/PowerManagerService;->finishWakefulnessChangeIfNeededLocked()V
+SPLcom/android/server/power/PowerManagerService;->getDesiredScreenPolicyLocked()I
+SPLcom/android/server/power/PowerManagerService;->getLastShutdownReasonInternal(Ljava/lang/String;)I
+SPLcom/android/server/power/PowerManagerService;->getNextProfileTimeoutLocked(J)J
+SPLcom/android/server/power/PowerManagerService;->getScreenOffTimeoutLocked(J)J
+SPLcom/android/server/power/PowerManagerService;->handleSandman()V
+SPLcom/android/server/power/PowerManagerService;->incrementBootCount()V
+SPLcom/android/server/power/PowerManagerService;->isDeviceIdleModeInternal()Z
+SPLcom/android/server/power/PowerManagerService;->isInteractiveInternal()Z
+SPLcom/android/server/power/PowerManagerService;->isLightDeviceIdleModeInternal()Z
+SPLcom/android/server/power/PowerManagerService;->isWakeLockLevelSupportedInternal(I)Z
+SPLcom/android/server/power/PowerManagerService;->monitor()V
+SPLcom/android/server/power/PowerManagerService;->needDisplaySuspendBlockerLocked()Z
+SPLcom/android/server/power/PowerManagerService;->notifyWakeLockAcquiredLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
+SPLcom/android/server/power/PowerManagerService;->notifyWakeLockChangingLocked(Lcom/android/server/power/PowerManagerService$WakeLock;ILjava/lang/String;Ljava/lang/String;IILandroid/os/WorkSource;Ljava/lang/String;)V
+SPLcom/android/server/power/PowerManagerService;->notifyWakeLockReleasedLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
 SPLcom/android/server/power/PowerManagerService;->onBootPhase(I)V
 SPLcom/android/server/power/PowerManagerService;->onStart()V
-SPLcom/android/server/power/batterysaver/-$$Lambda$BatterySaverStateMachine$SSfmWJrD4RBoVg8A8loZrS-jhAo;-><init>(Lcom/android/server/power/batterysaver/BatterySaverStateMachine;)V
-SPLcom/android/server/power/batterysaver/-$$Lambda$FileUpdater$NUmipjKCJwbgmFbIcGS3uaz3QFk;-><init>(Lcom/android/server/power/batterysaver/FileUpdater;)V
-SPLcom/android/server/power/batterysaver/BatterySaverController$1;-><init>(Lcom/android/server/power/batterysaver/BatterySaverController;)V
-SPLcom/android/server/power/batterysaver/BatterySaverController$MyHandler;-><init>(Lcom/android/server/power/batterysaver/BatterySaverController;Landroid/os/Looper;)V
-SPLcom/android/server/power/batterysaver/BatterySaverController;-><init>(Ljava/lang/Object;Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/power/BatterySaverPolicy;Lcom/android/server/power/batterysaver/BatterySavingStats;)V
+SPLcom/android/server/power/PowerManagerService;->readConfigurationLocked()V
+SPLcom/android/server/power/PowerManagerService;->releaseWakeLockInternal(Landroid/os/IBinder;I)V
+SPLcom/android/server/power/PowerManagerService;->removeWakeLockLocked(Lcom/android/server/power/PowerManagerService$WakeLock;I)V
+SPLcom/android/server/power/PowerManagerService;->restartNofifyLongTimerLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)V
+SPLcom/android/server/power/PowerManagerService;->setDeviceIdleWhitelistInternal([I)V
+SPLcom/android/server/power/PowerManagerService;->setDozeAfterScreenOffInternal(Z)V
+SPLcom/android/server/power/PowerManagerService;->setHalAutoSuspendModeLocked(Z)V
+SPLcom/android/server/power/PowerManagerService;->setHalInteractiveModeLocked(Z)V
+SPLcom/android/server/power/PowerManagerService;->setMaximumScreenOffTimeoutFromDeviceAdminInternal(IJ)V
+SPLcom/android/server/power/PowerManagerService;->setScreenBrightnessOverrideFromWindowManagerInternal(I)V
+SPLcom/android/server/power/PowerManagerService;->setUserActivityTimeoutOverrideFromWindowManagerInternal(J)V
+SPLcom/android/server/power/PowerManagerService;->setWakeLockDisabledStateLocked(Lcom/android/server/power/PowerManagerService$WakeLock;)Z
+SPLcom/android/server/power/PowerManagerService;->shouldWakeUpWhenPluggedOrUnpluggedLocked(ZIZ)Z
+SPLcom/android/server/power/PowerManagerService;->systemReady(Lcom/android/internal/app/IAppOpsService;)V
+SPLcom/android/server/power/PowerManagerService;->uidActiveInternal(I)V
+SPLcom/android/server/power/PowerManagerService;->uidGoneInternal(I)V
+SPLcom/android/server/power/PowerManagerService;->uidIdleInternal(I)V
+SPLcom/android/server/power/PowerManagerService;->updateDisplayPowerStateLocked(I)Z
+SPLcom/android/server/power/PowerManagerService;->updateIsPoweredLocked(I)V
+SPLcom/android/server/power/PowerManagerService;->updatePowerStateLocked()V
+SPLcom/android/server/power/PowerManagerService;->updateProfilesLocked(J)V
+SPLcom/android/server/power/PowerManagerService;->updateScreenBrightnessBoostLocked(I)V
+SPLcom/android/server/power/PowerManagerService;->updateSettingsLocked()V
+SPLcom/android/server/power/PowerManagerService;->updateStayOnLocked(I)V
+SPLcom/android/server/power/PowerManagerService;->updateSuspendBlockerLocked()V
+SPLcom/android/server/power/PowerManagerService;->updateUidProcStateInternal(II)V
+SPLcom/android/server/power/PowerManagerService;->updateUserActivitySummaryLocked(JI)V
+SPLcom/android/server/power/PowerManagerService;->updateWakeLockWorkSourceInternal(Landroid/os/IBinder;Landroid/os/WorkSource;Ljava/lang/String;I)V
+SPLcom/android/server/power/PowerManagerService;->updateWakefulnessLocked(I)Z
+SPLcom/android/server/power/PowerManagerService;->userActivityFromNative(JII)V
+SPLcom/android/server/power/PowerManagerService;->userActivityInternal(JIII)V
+SPLcom/android/server/power/PowerManagerService;->userActivityNoUpdateLocked(JIII)Z
+SPLcom/android/server/power/PowerManagerService;->wakeUpNoUpdateLocked(JILjava/lang/String;ILjava/lang/String;I)Z
+SPLcom/android/server/power/ThermalManagerService$1;->registerThermalEventListenerWithType(Landroid/os/IThermalEventListener;I)Z
+SPLcom/android/server/power/ThermalManagerService$1;->registerThermalStatusListener(Landroid/os/IThermalStatusListener;)Z
+SPLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;->connectToHal()Z
+SPLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;->getCurrentTemperatures(ZI)Ljava/util/List;
+SPLcom/android/server/power/ThermalManagerService$ThermalHal20Wrapper;->lambda$getCurrentTemperatures$0(Ljava/util/List;Landroid/hardware/thermal/V1_0/ThermalStatus;Ljava/util/ArrayList;)V
+SPLcom/android/server/power/ThermalManagerService$ThermalHalWrapper;->setCallback(Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper$TemperatureChangedCallback;)V
+SPLcom/android/server/power/ThermalManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/power/ThermalManagerService;-><init>(Landroid/content/Context;Lcom/android/server/power/ThermalManagerService$ThermalHalWrapper;)V
+SPLcom/android/server/power/ThermalManagerService;->lambda$postEventListener$1(Landroid/os/IThermalEventListener;Landroid/os/Temperature;)V
+SPLcom/android/server/power/ThermalManagerService;->lambda$postStatusListener$0$ThermalManagerService(Landroid/os/IThermalStatusListener;)V
+SPLcom/android/server/power/ThermalManagerService;->lambda$postStatusListener$0(Lcom/android/server/power/ThermalManagerService;Landroid/os/IThermalStatusListener;)V
+SPLcom/android/server/power/ThermalManagerService;->notifyEventListenersLocked(Landroid/os/Temperature;)V
+SPLcom/android/server/power/ThermalManagerService;->notifyStatusListenersLocked()V
+SPLcom/android/server/power/ThermalManagerService;->onActivityManagerReady()V
+SPLcom/android/server/power/ThermalManagerService;->onBootPhase(I)V
+SPLcom/android/server/power/ThermalManagerService;->onStart()V
+SPLcom/android/server/power/ThermalManagerService;->onTemperatureChanged(Landroid/os/Temperature;Z)V
+SPLcom/android/server/power/ThermalManagerService;->onTemperatureMapChangedLocked()V
+SPLcom/android/server/power/ThermalManagerService;->postEventListener(Landroid/os/Temperature;Landroid/os/IThermalEventListener;Ljava/lang/Integer;)V
+SPLcom/android/server/power/ThermalManagerService;->postEventListenerCurrentTemperatures(Landroid/os/IThermalEventListener;Ljava/lang/Integer;)V
+SPLcom/android/server/power/ThermalManagerService;->shutdownIfNeededLocked(Landroid/os/Temperature;)V
+SPLcom/android/server/power/WirelessChargerDetector;-><init>(Landroid/hardware/SensorManager;Lcom/android/server/power/SuspendBlocker;Landroid/os/Handler;)V
+SPLcom/android/server/power/WirelessChargerDetector;->update(ZI)Z
+SPLcom/android/server/power/batterysaver/BatterySaverController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/power/batterysaver/BatterySaverController$MyHandler;->dispatchMessage(Landroid/os/Message;)V
+SPLcom/android/server/power/batterysaver/BatterySaverController$MyHandler;->postSystemReady()V
+SPLcom/android/server/power/batterysaver/BatterySaverController;-><init>(Ljava/lang/Object;Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/power/batterysaver/BatterySaverPolicy;Lcom/android/server/power/batterysaver/BatterySavingStats;)V
 SPLcom/android/server/power/batterysaver/BatterySaverController;->addListener(Landroid/os/PowerManagerInternal$LowPowerModeListener;)V
-SPLcom/android/server/power/batterysaver/BatterySaverLocationPlugin;-><init>(Landroid/content/Context;)V
-SPLcom/android/server/power/batterysaver/BatterySaverStateMachine$1;-><init>(Lcom/android/server/power/batterysaver/BatterySaverStateMachine;Landroid/os/Handler;)V
+SPLcom/android/server/power/batterysaver/BatterySaverController;->getBatterySaverPolicy()Lcom/android/server/power/batterysaver/BatterySaverPolicy;
+SPLcom/android/server/power/batterysaver/BatterySaverController;->isEnabled()Z
+SPLcom/android/server/power/batterysaver/BatterySaverController;->isLaunchBoostDisabled()Z
+SPLcom/android/server/power/batterysaver/BatterySaverController;->isPolicyEnabled()Z
+SPLcom/android/server/power/batterysaver/BatterySaverController;->systemReady()V
+SPLcom/android/server/power/batterysaver/BatterySaverController;->updateBatterySavingStats()V
+SPLcom/android/server/power/batterysaver/BatterySaverLocationPlugin;->onSystemReady(Lcom/android/server/power/batterysaver/BatterySaverController;)V
+SPLcom/android/server/power/batterysaver/BatterySaverLocationPlugin;->updateLocationState(Lcom/android/server/power/batterysaver/BatterySaverController;)V
+SPLcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;-><init>(FZZZZZZZZZZZZZZLandroid/util/ArrayMap;Landroid/util/ArrayMap;ZZI)V
+SPLcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;->fromSettings(Ljava/lang/String;Ljava/lang/String;Lcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;)Lcom/android/server/power/batterysaver/BatterySaverPolicy$Policy;
+SPLcom/android/server/power/batterysaver/BatterySaverPolicy;-><init>(Ljava/lang/Object;Landroid/content/Context;Lcom/android/server/power/batterysaver/BatterySavingStats;)V
+SPLcom/android/server/power/batterysaver/BatterySaverPolicy;->addListener(Lcom/android/server/power/batterysaver/BatterySaverPolicy$BatterySaverPolicyListener;)V
+SPLcom/android/server/power/batterysaver/BatterySaverPolicy;->getBatterySaverPolicy(I)Landroid/os/PowerSaveState;
+SPLcom/android/server/power/batterysaver/BatterySaverPolicy;->getDeviceSpecificConfigResId()I
+SPLcom/android/server/power/batterysaver/BatterySaverPolicy;->getGlobalSetting(Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/power/batterysaver/BatterySaverPolicy;->getGpsMode()I
+SPLcom/android/server/power/batterysaver/BatterySaverPolicy;->onChange(ZLandroid/net/Uri;)V
+SPLcom/android/server/power/batterysaver/BatterySaverPolicy;->refreshSettings()V
+SPLcom/android/server/power/batterysaver/BatterySaverPolicy;->systemReady()V
+SPLcom/android/server/power/batterysaver/BatterySaverPolicy;->updateConstantsLocked(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Z
+SPLcom/android/server/power/batterysaver/BatterySaverPolicy;->updatePolicyDependenciesLocked()V
 SPLcom/android/server/power/batterysaver/BatterySaverStateMachine;-><init>(Ljava/lang/Object;Landroid/content/Context;Lcom/android/server/power/batterysaver/BatterySaverController;)V
-SPLcom/android/server/power/batterysaver/BatterySavingStats$MetricsLoggerHelper;-><init>(Lcom/android/server/power/batterysaver/BatterySavingStats;)V
+SPLcom/android/server/power/batterysaver/BatterySaverStateMachine;->doAutoBatterySaverLocked()V
+SPLcom/android/server/power/batterysaver/BatterySaverStateMachine;->setBatteryStatus(ZIZ)V
 SPLcom/android/server/power/batterysaver/BatterySavingStats;-><init>(Ljava/lang/Object;)V
-SPLcom/android/server/power/batterysaver/BatterySavingStats;-><init>(Ljava/lang/Object;Lcom/android/internal/logging/MetricsLogger;)V
-SPLcom/android/server/power/batterysaver/FileUpdater;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/power/batterysaver/BatterySavingStats;->endLastStateLocked(JII)V
+SPLcom/android/server/power/batterysaver/BatterySavingStats;->getStat(I)Lcom/android/server/power/batterysaver/BatterySavingStats$Stat;
+SPLcom/android/server/power/batterysaver/BatterySavingStats;->injectBatteryLevel()I
+SPLcom/android/server/power/batterysaver/BatterySavingStats;->injectBatteryPercent()I
+SPLcom/android/server/power/batterysaver/BatterySavingStats;->injectCurrentTime()J
+SPLcom/android/server/power/batterysaver/BatterySavingStats;->transitionState(III)V
+SPLcom/android/server/power/batterysaver/BatterySavingStats;->transitionStateLocked(I)V
+SPLcom/android/server/power/batterysaver/CpuFrequencies;-><init>()V
+SPLcom/android/server/power/batterysaver/CpuFrequencies;->addToSysFileMap(Ljava/util/Map;)V
+SPLcom/android/server/power/batterysaver/CpuFrequencies;->parseString(Ljava/lang/String;)Lcom/android/server/power/batterysaver/CpuFrequencies;
+SPLcom/android/server/power/batterysaver/CpuFrequencies;->toSysFileMap()Landroid/util/ArrayMap;
 SPLcom/android/server/power/batterysaver/FileUpdater;-><init>(Landroid/content/Context;Landroid/os/Looper;II)V
+SPLcom/android/server/power/batterysaver/FileUpdater;->injectDefaultValuesFilename()Ljava/io/File;
+SPLcom/android/server/power/batterysaver/FileUpdater;->loadDefaultValuesLocked()Z
+SPLcom/android/server/power/batterysaver/FileUpdater;->systemReady(Z)V
+SPLcom/android/server/print/PrintManagerService$PrintManagerImpl$2;->onPackageRemoved(Ljava/lang/String;I)V
+SPLcom/android/server/print/PrintManagerService$PrintManagerImpl;-><init>(Lcom/android/server/print/PrintManagerService;Landroid/content/Context;)V
+SPLcom/android/server/print/PrintManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/print/PrintManagerService;->onStart()V
+SPLcom/android/server/restrictions/RestrictionsManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/restrictions/RestrictionsManagerService;->onStart()V
+SPLcom/android/server/role/-$$Lambda$RemoteRoleControllerService$Connection$yJ60VDeVaOyaxXiM-qb5uWJhTkw;-><init>()V
+SPLcom/android/server/role/-$$Lambda$RemoteRoleControllerService$Connection$yJ60VDeVaOyaxXiM-qb5uWJhTkw;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/role/-$$Lambda$awRgkWhcVYhq1r1FVyYMnmMSXMs;-><init>()V
+SPLcom/android/server/role/-$$Lambda$awRgkWhcVYhq1r1FVyYMnmMSXMs;->execute(Landroid/rolecontrollerservice/IRoleControllerService;Landroid/app/role/IRoleManagerCallback;)V
+SPLcom/android/server/role/RemoteRoleControllerService$Connection$Call;->execute(Landroid/rolecontrollerservice/IRoleControllerService;)V
+SPLcom/android/server/role/RemoteRoleControllerService$Connection;->ensureBound()V
+SPLcom/android/server/role/RemoteRoleControllerService$Connection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+SPLcom/android/server/role/RemoteRoleControllerService;->onGrantDefaultRoles(Landroid/app/role/IRoleManagerCallback;)V
+SPLcom/android/server/role/RoleManagerService$DefaultBrowserProvider;->getDefaultBrowser(I)Ljava/lang/String;
+SPLcom/android/server/role/RoleManagerService$DefaultHomeProvider;->getDefaultHome(I)Ljava/lang/String;
+SPLcom/android/server/role/RoleManagerService$Stub;->addOnRoleHoldersChangedListenerAsUser(Landroid/app/role/IOnRoleHoldersChangedListener;I)V
+SPLcom/android/server/role/RoleManagerService$Stub;->getDefaultSmsPackage(I)Ljava/lang/String;
+SPLcom/android/server/role/RoleManagerService$Stub;->getRoleHoldersAsUser(Ljava/lang/String;I)Ljava/util/List;
+SPLcom/android/server/role/RoleManagerService$Stub;->isRoleAvailable(Ljava/lang/String;)Z
+SPLcom/android/server/role/RoleManagerService$Stub;->setRoleNamesFromController(Ljava/util/List;)V
+SPLcom/android/server/role/RoleManagerService;-><init>(Landroid/content/Context;Lcom/android/server/role/RoleManagerService$RoleHoldersResolver;)V
+SPLcom/android/server/role/RoleManagerService;->computeComponentStateHash(I)Ljava/lang/String;
+SPLcom/android/server/role/RoleManagerService;->getOrCreateControllerService(I)Lcom/android/server/role/RemoteRoleControllerService;
+SPLcom/android/server/role/RoleManagerService;->getOrCreateListeners(I)Landroid/os/RemoteCallbackList;
+SPLcom/android/server/role/RoleManagerService;->getOrCreateUserState(I)Lcom/android/server/role/RoleUserState;
+SPLcom/android/server/role/RoleManagerService;->migrateRoleIfNecessary(Ljava/lang/String;I)V
+SPLcom/android/server/role/RoleManagerService;->onStart()V
+SPLcom/android/server/role/RoleManagerService;->onStartUser(I)V
+SPLcom/android/server/role/RoleManagerService;->performInitialGrantsIfNecessary(I)V
+SPLcom/android/server/role/RoleUserState;-><init>(ILcom/android/server/role/RoleUserState$Callback;)V
+SPLcom/android/server/role/RoleUserState;->addRoleName(Ljava/lang/String;)Z
+SPLcom/android/server/role/RoleUserState;->getPackagesHash()Ljava/lang/String;
+SPLcom/android/server/role/RoleUserState;->getRoleHolders(Ljava/lang/String;)Landroid/util/ArraySet;
+SPLcom/android/server/role/RoleUserState;->isRoleAvailable(Ljava/lang/String;)Z
+SPLcom/android/server/role/RoleUserState;->parseRoleHoldersLocked(Lorg/xmlpull/v1/XmlPullParser;)Landroid/util/ArraySet;
+SPLcom/android/server/role/RoleUserState;->parseRolesLocked(Lorg/xmlpull/v1/XmlPullParser;)V
+SPLcom/android/server/role/RoleUserState;->parseXmlLocked(Lorg/xmlpull/v1/XmlPullParser;)V
+SPLcom/android/server/role/RoleUserState;->readFile()V
+SPLcom/android/server/role/RoleUserState;->setRoleNames(Ljava/util/List;)V
+SPLcom/android/server/role/RoleUserState;->throwIfDestroyedLocked()V
+SPLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$2_NDf9EpLcTKkJVpkadZhudKips;->run()V
+SPLcom/android/server/rollback/-$$Lambda$RollbackManagerServiceImpl$9jRyv0ATJ7l2lc6xAd3tmkVmx7g;->run()V
+SPLcom/android/server/rollback/RollbackManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/rollback/RollbackManagerService;->onBootPhase(I)V
+SPLcom/android/server/rollback/RollbackManagerService;->onStart()V
+SPLcom/android/server/rollback/RollbackManagerServiceImpl$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/rollback/RollbackManagerServiceImpl;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/rollback/RollbackManagerServiceImpl;->ensureRollbackDataLoaded()V
+SPLcom/android/server/rollback/RollbackManagerServiceImpl;->lambda$new$0$RollbackManagerServiceImpl()V
+SPLcom/android/server/rollback/RollbackManagerServiceImpl;->loadAllRollbackDataLocked()V
+SPLcom/android/server/rollback/RollbackManagerServiceImpl;->runExpiration()V
+SPLcom/android/server/rollback/RollbackPackageHealthObserver;->getName()Ljava/lang/String;
+SPLcom/android/server/rollback/RollbackStore;->loadAvailableRollbacks()Ljava/util/List;
+SPLcom/android/server/rollback/RollbackStore;->loadRecentlyExecutedRollbacks()Ljava/util/List;
+SPLcom/android/server/search/SearchManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/search/SearchManagerService$Lifecycle;->onStart()V
+SPLcom/android/server/search/SearchManagerService$MyPackageMonitor;->onSomePackagesChanged()V
+SPLcom/android/server/search/SearchManagerService$MyPackageMonitor;->updateSearchables()V
+SPLcom/android/server/search/SearchManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/security/KeyAttestationApplicationIdProviderService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/security/KeyChainSystemService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/security/KeyChainSystemService;->onStart()V
+SPLcom/android/server/signedconfig/SignedConfigService;->registerUpdateReceiver(Landroid/content/Context;)V
+SPLcom/android/server/slice/-$$Lambda$PinnedSliceState$TZdoqC_LDA8If7sQ7WXz9LM6VHg;->run()V
+SPLcom/android/server/slice/-$$Lambda$SliceManagerService$LkusK1jmu9JKJTiMRWqWxNGEGbY;->get()Ljava/lang/Object;
+SPLcom/android/server/slice/-$$Lambda$SliceManagerService$ic_PW16x_KcVi-NszMwHhErqI0s;->get()Ljava/lang/Object;
+SPLcom/android/server/slice/-$$Lambda$SliceManagerService$pJ39TkC3AEVezLFEPuJgSQSTDJM;->run()V
+SPLcom/android/server/slice/PinnedSliceState;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+SPLcom/android/server/slice/PinnedSliceState;-><init>(Lcom/android/server/slice/SliceManagerService;Landroid/net/Uri;Ljava/lang/String;)V
+SPLcom/android/server/slice/PinnedSliceState;->getClient()Landroid/content/ContentProviderClient;
+SPLcom/android/server/slice/PinnedSliceState;->handleSendPinned()V
+SPLcom/android/server/slice/PinnedSliceState;->mergeSpecs([Landroid/app/slice/SliceSpec;)V
+SPLcom/android/server/slice/PinnedSliceState;->pin(Ljava/lang/String;[Landroid/app/slice/SliceSpec;Landroid/os/IBinder;)V
+SPLcom/android/server/slice/PinnedSliceState;->setSlicePinned(Z)V
+SPLcom/android/server/slice/SliceClientPermissions;->clear()V
+SPLcom/android/server/slice/SliceClientPermissions;->getAuthority(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceClientPermissions$SliceAuthority;
+SPLcom/android/server/slice/SliceClientPermissions;->hasFullAccess()Z
+SPLcom/android/server/slice/SliceClientPermissions;->hasPermission(Landroid/net/Uri;I)Z
+SPLcom/android/server/slice/SliceManagerService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/slice/SliceManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/slice/SliceManagerService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/slice/SliceManagerService$Lifecycle;->onStart()V
+SPLcom/android/server/slice/SliceManagerService$PackageMatchingCache;->matches(Ljava/lang/String;)Z
+SPLcom/android/server/slice/SliceManagerService;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+SPLcom/android/server/slice/SliceManagerService;->checkAccess(Ljava/lang/String;Landroid/net/Uri;II)I
+SPLcom/android/server/slice/SliceManagerService;->checkSlicePermission(Landroid/net/Uri;Ljava/lang/String;Ljava/lang/String;II[Ljava/lang/String;)I
+SPLcom/android/server/slice/SliceManagerService;->createPinnedSlice(Landroid/net/Uri;Ljava/lang/String;)Lcom/android/server/slice/PinnedSliceState;
+SPLcom/android/server/slice/SliceManagerService;->enforceAccess(Ljava/lang/String;Landroid/net/Uri;)V
+SPLcom/android/server/slice/SliceManagerService;->getContext()Landroid/content/Context;
+SPLcom/android/server/slice/SliceManagerService;->getDefaultHome(I)Ljava/lang/String;
+SPLcom/android/server/slice/SliceManagerService;->getHandler()Landroid/os/Handler;
+SPLcom/android/server/slice/SliceManagerService;->getLock()Ljava/lang/Object;
+SPLcom/android/server/slice/SliceManagerService;->getOrCreatePinnedSlice(Landroid/net/Uri;Ljava/lang/String;)Lcom/android/server/slice/PinnedSliceState;
+SPLcom/android/server/slice/SliceManagerService;->getPinnedSlices(Ljava/lang/String;)[Landroid/net/Uri;
+SPLcom/android/server/slice/SliceManagerService;->getProviderPkg(Landroid/net/Uri;I)Ljava/lang/String;
+SPLcom/android/server/slice/SliceManagerService;->hasFullSliceAccess(Ljava/lang/String;I)Z
+SPLcom/android/server/slice/SliceManagerService;->lambda$getAssistantMatcher$2$SliceManagerService(I)Ljava/lang/String;
+SPLcom/android/server/slice/SliceManagerService;->lambda$getHomeMatcher$3$SliceManagerService(I)Ljava/lang/String;
+SPLcom/android/server/slice/SliceManagerService;->lambda$pinSlice$1$SliceManagerService(Ljava/lang/String;Ljava/lang/String;I)V
+SPLcom/android/server/slice/SliceManagerService;->pinSlice(Ljava/lang/String;Landroid/net/Uri;[Landroid/app/slice/SliceSpec;Landroid/os/IBinder;)V
+SPLcom/android/server/slice/SlicePermissionManager$PkgUser;->equals(Ljava/lang/Object;)Z
+SPLcom/android/server/slice/SlicePermissionManager$PkgUser;->hashCode()I
+SPLcom/android/server/slice/SlicePermissionManager$PkgUser;->toString()Ljava/lang/String;
+SPLcom/android/server/slice/SlicePermissionManager;-><init>(Landroid/content/Context;Landroid/os/Looper;Ljava/io/File;)V
+SPLcom/android/server/slice/SlicePermissionManager;->getClient(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceClientPermissions;
+SPLcom/android/server/slice/SlicePermissionManager;->getParser(Ljava/lang/String;)Lcom/android/server/slice/SlicePermissionManager$ParserHolder;
+SPLcom/android/server/slice/SlicePermissionManager;->getProvider(Lcom/android/server/slice/SlicePermissionManager$PkgUser;)Lcom/android/server/slice/SliceProviderPermissions;
+SPLcom/android/server/slice/SlicePermissionManager;->hasFullAccess(Ljava/lang/String;I)Z
+SPLcom/android/server/slice/SlicePermissionManager;->hasPermission(Ljava/lang/String;ILandroid/net/Uri;)Z
+SPLcom/android/server/slice/SlicePermissionManager;->removePkg(Ljava/lang/String;I)V
+SPLcom/android/server/slice/SliceProviderPermissions;->getAuthorities()Ljava/util/Collection;
+SPLcom/android/server/soundtrigger/SoundTriggerHelper;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/soundtrigger/SoundTriggerService$LocalSoundTriggerService;->setSoundTriggerHelper(Lcom/android/server/soundtrigger/SoundTriggerHelper;)V
+SPLcom/android/server/soundtrigger/SoundTriggerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/soundtrigger/SoundTriggerService;->initSoundTriggerHelper()V
+SPLcom/android/server/soundtrigger/SoundTriggerService;->onBootPhase(I)V
+SPLcom/android/server/soundtrigger/SoundTriggerService;->onStart()V
+SPLcom/android/server/soundtrigger/SoundTriggerService;->onStartUser(I)V
+SPLcom/android/server/stats/StatsCompanionService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/stats/StatsCompanionService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/stats/StatsCompanionService$Lifecycle;->onStart()V
+SPLcom/android/server/stats/StatsCompanionService$ThermalEventListener;->notifyThrottling(Landroid/os/Temperature;)V
+SPLcom/android/server/stats/StatsCompanionService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/stats/StatsCompanionService;->sayHiToStatsd()V
+SPLcom/android/server/stats/StatsCompanionService;->setAlarmForSubscriberTriggering(J)V
+SPLcom/android/server/stats/StatsCompanionService;->setAnomalyAlarm(J)V
+SPLcom/android/server/stats/StatsCompanionService;->setPullingAlarm(J)V
+SPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$Ex4WQoiXjzWDsRHD7oXCkXIQBB4;->run()V
+SPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$QO0p6KVnf0wFwF8hglhodfvx26s;->run()V
+SPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$UR67Ud0NgV9VHyelUmYzZNtR6O4;->run()V
+SPLcom/android/server/statusbar/-$$Lambda$StatusBarManagerService$yr21OX4Hyd_XfExwnVnVIn3Jfe4;->run()V
+SPLcom/android/server/statusbar/StatusBarManagerService$1;->appTransitionFinished(I)V
+SPLcom/android/server/statusbar/StatusBarManagerService$1;->setNotificationDelegate(Lcom/android/server/notification/NotificationDelegate;)V
+SPLcom/android/server/statusbar/StatusBarManagerService$1;->setSystemUiVisibility(IIIIILandroid/graphics/Rect;Landroid/graphics/Rect;Ljava/lang/String;)V
+SPLcom/android/server/statusbar/StatusBarManagerService$1;->setTopAppHidesStatusBar(Z)V
+SPLcom/android/server/statusbar/StatusBarManagerService$1;->topAppWindowChanged(IZ)V
+SPLcom/android/server/statusbar/StatusBarManagerService$DeathRecipient;->linkToDeath()V
+SPLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;ILandroid/os/IBinder;)V
+SPLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;->getFlags(I)I
+SPLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;->isEmpty()Z
+SPLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;->setFlags(IILjava/lang/String;)V
+SPLcom/android/server/statusbar/StatusBarManagerService$DisableRecord;->toString()Ljava/lang/String;
+SPLcom/android/server/statusbar/StatusBarManagerService$UiState;-><init>(Lcom/android/server/statusbar/StatusBarManagerService;)V
+SPLcom/android/server/statusbar/StatusBarManagerService;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/statusbar/StatusBarManagerService;->disableForUser(ILandroid/os/IBinder;Ljava/lang/String;I)V
+SPLcom/android/server/statusbar/StatusBarManagerService;->disableLocked(IIILandroid/os/IBinder;Ljava/lang/String;I)V
+SPLcom/android/server/statusbar/StatusBarManagerService;->findMatchingRecordLocked(Landroid/os/IBinder;I)Landroid/util/Pair;
+SPLcom/android/server/statusbar/StatusBarManagerService;->gatherDisableActionsLocked(II)I
+SPLcom/android/server/statusbar/StatusBarManagerService;->lambda$disableLocked$0$StatusBarManagerService(I)V
+SPLcom/android/server/statusbar/StatusBarManagerService;->lambda$notifyBarAttachChanged$4$StatusBarManagerService()V
+SPLcom/android/server/statusbar/StatusBarManagerService;->lambda$topAppWindowChanged$1$StatusBarManagerService(IZ)V
+SPLcom/android/server/statusbar/StatusBarManagerService;->lambda$topAppWindowChanged$1(Lcom/android/server/statusbar/StatusBarManagerService;IZ)V
+SPLcom/android/server/statusbar/StatusBarManagerService;->lambda$updateUiVisibilityLocked$3$StatusBarManagerService(IIIIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
+SPLcom/android/server/statusbar/StatusBarManagerService;->lambda$updateUiVisibilityLocked$3(Lcom/android/server/statusbar/StatusBarManagerService;IIIIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
+SPLcom/android/server/statusbar/StatusBarManagerService;->manageDisableListLocked(IILandroid/os/IBinder;Ljava/lang/String;I)V
+SPLcom/android/server/statusbar/StatusBarManagerService;->onDisplayChanged(I)V
+SPLcom/android/server/statusbar/StatusBarManagerService;->registerStatusBar(Lcom/android/internal/statusbar/IStatusBar;Ljava/util/List;Ljava/util/List;[ILjava/util/List;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+SPLcom/android/server/statusbar/StatusBarManagerService;->setIconVisibility(Ljava/lang/String;Z)V
+SPLcom/android/server/statusbar/StatusBarManagerService;->setSystemUiVisibility(IIIIILandroid/graphics/Rect;Landroid/graphics/Rect;Ljava/lang/String;)V
+SPLcom/android/server/statusbar/StatusBarManagerService;->topAppWindowChanged(IZ)V
+SPLcom/android/server/statusbar/StatusBarManagerService;->updateUiVisibilityLocked(IIIIILandroid/graphics/Rect;Landroid/graphics/Rect;)V
+SPLcom/android/server/storage/CacheQuotaStrategy;-><init>(Landroid/content/Context;Landroid/app/usage/UsageStatsManagerInternal;Lcom/android/server/pm/Installer;Landroid/util/ArrayMap;)V
+SPLcom/android/server/storage/CacheQuotaStrategy;->getRequestFromXml(Lorg/xmlpull/v1/XmlPullParser;)Landroid/app/usage/CacheQuotaHint;
+SPLcom/android/server/storage/CacheQuotaStrategy;->pushProcessedQuotas(Ljava/util/List;)V
+SPLcom/android/server/storage/CacheQuotaStrategy;->readFromXml(Ljava/io/InputStream;)Landroid/util/Pair;
+SPLcom/android/server/storage/CacheQuotaStrategy;->setupQuotasFromFile()J
+SPLcom/android/server/storage/DeviceStorageMonitorService$1;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/storage/DeviceStorageMonitorService$State;-><init>()V
+SPLcom/android/server/storage/DeviceStorageMonitorService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/storage/DeviceStorageMonitorService;->check()V
+SPLcom/android/server/storage/DeviceStorageMonitorService;->onStart()V
+SPLcom/android/server/storage/DeviceStorageMonitorService;->updateBroadcasts(Landroid/os/storage/VolumeInfo;III)V
+SPLcom/android/server/storage/DeviceStorageMonitorService;->updateNotifications(Landroid/os/storage/VolumeInfo;II)V
+SPLcom/android/server/storage/DiskStatsLoggingService;->schedule(Landroid/content/Context;)V
+SPLcom/android/server/telecom/TelecomLoaderService$TelecomServiceConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+SPLcom/android/server/telecom/TelecomLoaderService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/telecom/TelecomLoaderService;->connectToTelecom()V
+SPLcom/android/server/telecom/TelecomLoaderService;->onBootPhase(I)V
+SPLcom/android/server/telecom/TelecomLoaderService;->onStart()V
+SPLcom/android/server/telecom/TelecomLoaderService;->registerDefaultAppNotifier()V
+SPLcom/android/server/testharness/TestHarnessModeService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/testharness/TestHarnessModeService;->onBootPhase(I)V
+SPLcom/android/server/testharness/TestHarnessModeService;->onStart()V
+SPLcom/android/server/testharness/TestHarnessModeService;->setUpTestHarnessMode()V
+SPLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->onStart()V
+SPLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->onStartUser(I)V
+SPLcom/android/server/textclassifier/TextClassificationManagerService$Lifecycle;->processAnyPendingWork(I)V
+SPLcom/android/server/textclassifier/TextClassificationManagerService$UserState;-><init>(ILandroid/content/Context;Ljava/lang/Object;)V
+SPLcom/android/server/textservices/-$$Lambda$TextServicesManagerService$otJ1a5fe5mYJvLrIEr3o1Ia1kSo;->applyAsInt(I)I
+SPLcom/android/server/textservices/TextServicesManagerInternal$1;-><init>()V
+SPLcom/android/server/textservices/TextServicesManagerService$Lifecycle$1;->getCurrentSpellCheckerForUser(I)Landroid/view/textservice/SpellCheckerInfo;
+SPLcom/android/server/textservices/TextServicesManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/textservices/TextServicesManagerService$Lifecycle;->onStart()V
+SPLcom/android/server/textservices/TextServicesManagerService$TextServicesMonitor;->onSomePackagesChanged()V
+SPLcom/android/server/textservices/TextServicesManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/textservices/TextServicesManagerService;->getCurrentSpellCheckerForUser(I)Landroid/view/textservice/SpellCheckerInfo;
+SPLcom/android/server/textservices/TextServicesManagerService;->lambda$new$0$TextServicesManagerService(I)I
+SPLcom/android/server/textservices/TextServicesManagerService;->lambda$new$0(Lcom/android/server/textservices/TextServicesManagerService;I)I
+SPLcom/android/server/timedetector/SimpleTimeDetectorStrategy;->adjustAndSetDeviceSystemClock(Landroid/util/TimestampedValue;ZJJLjava/lang/String;)V
+SPLcom/android/server/timedetector/SimpleTimeDetectorStrategy;->setSystemClockIfRequired(Landroid/util/TimestampedValue;Z)V
+SPLcom/android/server/timedetector/SimpleTimeDetectorStrategy;->suggestTime(Landroid/app/timedetector/TimeSignal;)V
+SPLcom/android/server/timedetector/SimpleTimeDetectorStrategy;->validateNewNitzTime(Landroid/util/TimestampedValue;Landroid/util/TimestampedValue;)Z
+SPLcom/android/server/timedetector/TimeDetectorService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/timedetector/TimeDetectorService$Lifecycle;->onStart()V
+SPLcom/android/server/timedetector/TimeDetectorService;-><init>(Landroid/content/Context;Lcom/android/server/timedetector/TimeDetectorStrategy$Callback;Lcom/android/server/timedetector/TimeDetectorStrategy;)V
+SPLcom/android/server/timedetector/TimeDetectorService;->create(Landroid/content/Context;)Lcom/android/server/timedetector/TimeDetectorService;
+SPLcom/android/server/timedetector/TimeDetectorService;->suggestTime(Landroid/app/timedetector/TimeSignal;)V
+SPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->acquireWakeLock()V
+SPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->checkWakeLockHeld()V
+SPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->elapsedRealtimeMillis()J
+SPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->isTimeDetectionEnabled()Z
+SPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->releaseWakeLock()V
+SPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->sendStickyBroadcast(Landroid/content/Intent;)V
+SPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->setSystemClock(J)V
+SPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->systemClockMillis()J
+SPLcom/android/server/timedetector/TimeDetectorStrategyCallbackImpl;->systemClockUpdateThresholdMillis()I
+SPLcom/android/server/trust/-$$Lambda$TrustManagerService$1$98HKBkg-C1PLlz_Q1vJz1OJtw4c;-><init>()V
+SPLcom/android/server/trust/-$$Lambda$TrustManagerService$1$98HKBkg-C1PLlz_Q1vJz1OJtw4c;->run()V
+SPLcom/android/server/trust/TrustManagerService$1;->isDeviceSecure(I)Z
+SPLcom/android/server/trust/TrustManagerService$1;->registerTrustListener(Landroid/app/trust/ITrustListener;)V
+SPLcom/android/server/trust/TrustManagerService$1;->reportKeyguardShowingChanged()V
+SPLcom/android/server/trust/TrustManagerService$2;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/trust/TrustManagerService$AgentInfo;->hashCode()I
+SPLcom/android/server/trust/TrustManagerService$Receiver;->register(Landroid/content/Context;)V
+SPLcom/android/server/trust/TrustManagerService$SettingsObserver;-><init>(Lcom/android/server/trust/TrustManagerService;Landroid/os/Handler;)V
+SPLcom/android/server/trust/TrustManagerService$SettingsObserver;->onChange(ZLandroid/net/Uri;)V
+SPLcom/android/server/trust/TrustManagerService$SettingsObserver;->updateContentObserver()V
+SPLcom/android/server/trust/TrustManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/trust/TrustManagerService;->addListener(Landroid/app/trust/ITrustListener;)V
+SPLcom/android/server/trust/TrustManagerService;->aggregateIsTrustManaged(I)Z
+SPLcom/android/server/trust/TrustManagerService;->aggregateIsTrusted(I)Z
+SPLcom/android/server/trust/TrustManagerService;->dispatchOnTrustChanged(ZII)V
+SPLcom/android/server/trust/TrustManagerService;->dispatchOnTrustManagedChanged(ZI)V
+SPLcom/android/server/trust/TrustManagerService;->getSettingsAttrs(Landroid/content/pm/PackageManager;Landroid/content/pm/ResolveInfo;)Lcom/android/server/trust/TrustManagerService$SettingsAttrs;
+SPLcom/android/server/trust/TrustManagerService;->isDeviceLockedInner(I)Z
+SPLcom/android/server/trust/TrustManagerService;->onBootPhase(I)V
+SPLcom/android/server/trust/TrustManagerService;->onStart()V
+SPLcom/android/server/trust/TrustManagerService;->onStartUser(I)V
+SPLcom/android/server/trust/TrustManagerService;->refreshAgentList(I)V
+SPLcom/android/server/trust/TrustManagerService;->refreshDeviceLockedForUser(I)V
+SPLcom/android/server/trust/TrustManagerService;->resolveAllowedTrustAgents(Landroid/content/pm/PackageManager;I)Ljava/util/List;
+SPLcom/android/server/trust/TrustManagerService;->resolveProfileParent(I)I
+SPLcom/android/server/trust/TrustManagerService;->setDeviceLockedForUser(IZ)V
+SPLcom/android/server/trust/TrustManagerService;->updateTrust(II)V
+SPLcom/android/server/trust/TrustManagerService;->updateTrust(IIZ)V
+SPLcom/android/server/twilight/TwilightService$1;->getLastTwilightState()Lcom/android/server/twilight/TwilightState;
+SPLcom/android/server/twilight/TwilightService$1;->unregisterListener(Lcom/android/server/twilight/TwilightListener;)V
+SPLcom/android/server/twilight/TwilightService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/twilight/TwilightService;->onBootPhase(I)V
+SPLcom/android/server/twilight/TwilightService;->onStart()V
+SPLcom/android/server/uri/UriGrantsManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/uri/UriGrantsManagerService$Lifecycle;->onStart()V
+SPLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkAuthorityGrants(ILandroid/content/pm/ProviderInfo;IZ)Z
+SPLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkGrantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;ILcom/android/server/uri/NeededUriGrants;I)Lcom/android/server/uri/NeededUriGrants;
+SPLcom/android/server/uri/UriGrantsManagerService$LocalService;->checkUriPermission(Lcom/android/server/uri/GrantUri;II)Z
+SPLcom/android/server/uri/UriGrantsManagerService$LocalService;->grantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;Lcom/android/server/uri/UriPermissionOwner;I)V
+SPLcom/android/server/uri/UriGrantsManagerService$LocalService;->newUriPermissionOwner(Ljava/lang/String;)Landroid/os/IBinder;
+SPLcom/android/server/uri/UriGrantsManagerService$LocalService;->onActivityManagerInternalAdded()V
+SPLcom/android/server/uri/UriGrantsManagerService$LocalService;->onSystemReady()V
+SPLcom/android/server/uri/UriGrantsManagerService$LocalService;->removeUriPermissionsForPackage(Ljava/lang/String;IZZ)V
+SPLcom/android/server/uri/UriGrantsManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/uri/UriGrantsManagerService;->checkAuthorityGrants(ILandroid/content/pm/ProviderInfo;IZ)Z
+SPLcom/android/server/uri/UriGrantsManagerService;->checkGrantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;ILcom/android/server/uri/NeededUriGrants;I)Lcom/android/server/uri/NeededUriGrants;
+SPLcom/android/server/uri/UriGrantsManagerService;->checkUriPermission(Lcom/android/server/uri/GrantUri;II)Z
+SPLcom/android/server/uri/UriGrantsManagerService;->enforceNotIsolatedCaller(Ljava/lang/String;)V
+SPLcom/android/server/uri/UriGrantsManagerService;->grantUriPermissionFromIntent(ILjava/lang/String;Landroid/content/Intent;Lcom/android/server/uri/UriPermissionOwner;I)V
+SPLcom/android/server/uri/UriGrantsManagerService;->onActivityManagerInternalAdded()V
+SPLcom/android/server/uri/UriGrantsManagerService;->readGrantedUriPermissions()V
+SPLcom/android/server/uri/UriGrantsManagerService;->removeUriPermissionsForPackage(Ljava/lang/String;IZZ)V
+SPLcom/android/server/usage/AppIdleHistory;->clearUsage(Ljava/lang/String;I)V
+SPLcom/android/server/usage/AppIdleHistory;->getAppStandbyBucket(Ljava/lang/String;IJ)I
+SPLcom/android/server/usage/AppIdleHistory;->getScreenOnTimeFile()Ljava/io/File;
+SPLcom/android/server/usage/AppIdleHistory;->getTimeSinceLastJobRun(Ljava/lang/String;IJ)J
+SPLcom/android/server/usage/AppIdleHistory;->getUserFile(I)Ljava/io/File;
+SPLcom/android/server/usage/AppIdleHistory;->readScreenOnTime()V
+SPLcom/android/server/usage/AppIdleHistory;->reportUsage(Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;Ljava/lang/String;IIJJ)Lcom/android/server/usage/AppIdleHistory$AppUsageHistory;
+SPLcom/android/server/usage/AppIdleHistory;->updateDisplay(ZJ)V
+SPLcom/android/server/usage/AppStandbyController$2;->onDisplayChanged(I)V
+SPLcom/android/server/usage/AppStandbyController$DeviceStateReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/usage/AppStandbyController$Injector;->elapsedRealtime()J
+SPLcom/android/server/usage/AppStandbyController$Injector;->getAppIdleSettings()Ljava/lang/String;
+SPLcom/android/server/usage/AppStandbyController$Injector;->getBootPhase()I
+SPLcom/android/server/usage/AppStandbyController$Injector;->getContext()Landroid/content/Context;
+SPLcom/android/server/usage/AppStandbyController$Injector;->getDataSystemDirectory()Ljava/io/File;
+SPLcom/android/server/usage/AppStandbyController$Injector;->getLooper()Landroid/os/Looper;
+SPLcom/android/server/usage/AppStandbyController$Injector;->getRunningUserIds()[I
+SPLcom/android/server/usage/AppStandbyController$Injector;->isAppIdleEnabled()Z
+SPLcom/android/server/usage/AppStandbyController$Injector;->isDefaultDisplayOn()Z
+SPLcom/android/server/usage/AppStandbyController$Injector;->noteEvent(ILjava/lang/String;I)V
+SPLcom/android/server/usage/AppStandbyController$Injector;->onBootPhase(I)V
+SPLcom/android/server/usage/AppStandbyController$Injector;->registerDisplayListener(Landroid/hardware/display/DisplayManager$DisplayListener;Landroid/os/Handler;)V
+SPLcom/android/server/usage/AppStandbyController$PackageReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/usage/AppStandbyController$SettingsObserver;->parseLongArray(Ljava/lang/String;[J)[J
+SPLcom/android/server/usage/AppStandbyController$SettingsObserver;->registerObserver()V
+SPLcom/android/server/usage/AppStandbyController$SettingsObserver;->updateSettings()V
+SPLcom/android/server/usage/AppStandbyController;-><init>(Lcom/android/server/usage/AppStandbyController$Injector;)V
+SPLcom/android/server/usage/AppStandbyController;->addListener(Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;)V
+SPLcom/android/server/usage/AppStandbyController;->clearAppIdleForPackage(Ljava/lang/String;I)V
+SPLcom/android/server/usage/AppStandbyController;->getAppStandbyBucket(Ljava/lang/String;IJZ)I
+SPLcom/android/server/usage/AppStandbyController;->getTimeSinceLastJobRun(Ljava/lang/String;I)J
+SPLcom/android/server/usage/AppStandbyController;->informParoleStateChanged()V
+SPLcom/android/server/usage/AppStandbyController;->isDisplayOn()Z
+SPLcom/android/server/usage/AppStandbyController;->isParoledOrCharging()Z
+SPLcom/android/server/usage/AppStandbyController;->notifyBatteryStats(Ljava/lang/String;IZ)V
+SPLcom/android/server/usage/AppStandbyController;->onAdminDataAvailable()V
+SPLcom/android/server/usage/AppStandbyController;->onBootPhase(I)V
+SPLcom/android/server/usage/AppStandbyController;->postCheckIdleStates(I)V
+SPLcom/android/server/usage/AppStandbyController;->postOneTimeCheckIdleStates()V
+SPLcom/android/server/usage/AppStandbyController;->postReportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V
+SPLcom/android/server/usage/AppStandbyController;->reportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V
+SPLcom/android/server/usage/AppStandbyController;->setActiveAdminApps(Ljava/util/Set;I)V
+SPLcom/android/server/usage/AppStandbyController;->setAppIdleEnabled(Z)V
+SPLcom/android/server/usage/AppStandbyController;->setChargingState(Z)V
+SPLcom/android/server/usage/AppStandbyController;->usageEventToSubReason(I)I
+SPLcom/android/server/usage/AppTimeLimitController;-><init>(Lcom/android/server/usage/AppTimeLimitController$TimeLimitCallbackListener;Landroid/os/Looper;)V
+SPLcom/android/server/usage/AppTimeLimitController;->getUptimeMillis()J
+SPLcom/android/server/usage/AppTimeLimitController;->noteUsageStart(Ljava/lang/String;I)V
+SPLcom/android/server/usage/AppTimeLimitController;->noteUsageStart(Ljava/lang/String;IJ)V
+SPLcom/android/server/usage/AppTimeLimitController;->noteUsageStop(Ljava/lang/String;I)V
+SPLcom/android/server/usage/IntervalStats;-><init>()V
+SPLcom/android/server/usage/IntervalStats;->getOrCreateConfigurationStats(Landroid/content/res/Configuration;)Landroid/app/usage/ConfigurationStats;
+SPLcom/android/server/usage/IntervalStats;->incrementAppLaunchCount(Ljava/lang/String;)V
+SPLcom/android/server/usage/IntervalStats;->updateConfigurationStats(Landroid/content/res/Configuration;J)V
+SPLcom/android/server/usage/IntervalStats;->updateKeyguardShown(J)V
+SPLcom/android/server/usage/IntervalStats;->updateScreenInteractive(J)V
+SPLcom/android/server/usage/IntervalStats;->upgradeIfNeeded()V
+SPLcom/android/server/usage/StorageStatsService$1;->onVolumeStateChanged(Landroid/os/storage/VolumeInfo;II)V
+SPLcom/android/server/usage/StorageStatsService$H;-><init>(Lcom/android/server/usage/StorageStatsService;Landroid/os/Looper;)V
+SPLcom/android/server/usage/StorageStatsService$H;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/usage/StorageStatsService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/usage/StorageStatsService$Lifecycle;->onStart()V
+SPLcom/android/server/usage/StorageStatsService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/usage/StorageStatsService;->invalidateMounts()V
+SPLcom/android/server/usage/UnixCalendar;->addDays(I)V
+SPLcom/android/server/usage/UnixCalendar;->setTimeInMillis(J)V
+SPLcom/android/server/usage/UsageStatsDatabase$1;->accept(Ljava/io/File;Ljava/lang/String;)Z
+SPLcom/android/server/usage/UsageStatsDatabase;->$closeResource(Ljava/lang/Throwable;Ljava/lang/AutoCloseable;)V
+SPLcom/android/server/usage/UsageStatsDatabase;-><init>(Ljava/io/File;I)V
+SPLcom/android/server/usage/UsageStatsDatabase;->checkVersionAndBuildLocked()V
+SPLcom/android/server/usage/UsageStatsDatabase;->getBuildFingerprint()Ljava/lang/String;
+SPLcom/android/server/usage/UsageStatsDatabase;->getLatestUsageStats(I)Lcom/android/server/usage/IntervalStats;
+SPLcom/android/server/usage/UsageStatsDatabase;->indexFilesLocked()V
+SPLcom/android/server/usage/UsageStatsDatabase;->init(J)V
+SPLcom/android/server/usage/UsageStatsDatabase;->isNewUpdate()Z
+SPLcom/android/server/usage/UsageStatsDatabase;->onTimeChanged(J)V
+SPLcom/android/server/usage/UsageStatsDatabase;->putUsageStats(ILcom/android/server/usage/IntervalStats;)V
+SPLcom/android/server/usage/UsageStatsDatabase;->readLocked(Ljava/io/InputStream;Lcom/android/server/usage/IntervalStats;I)V
+SPLcom/android/server/usage/UsageStatsDatabase;->writeLocked(Landroid/util/AtomicFile;Lcom/android/server/usage/IntervalStats;I)V
+SPLcom/android/server/usage/UsageStatsDatabase;->writeLocked(Ljava/io/OutputStream;Lcom/android/server/usage/IntervalStats;I)V
+SPLcom/android/server/usage/UsageStatsProto;->loadChooserCounts(Landroid/util/proto/ProtoInputStream;Landroid/app/usage/UsageStats;)V
+SPLcom/android/server/usage/UsageStatsProto;->loadCountAndTime(Landroid/util/proto/ProtoInputStream;JLcom/android/server/usage/IntervalStats$EventTracker;)V
+SPLcom/android/server/usage/UsageStatsProto;->loadCountsForAction(Landroid/util/proto/ProtoInputStream;Landroid/util/ArrayMap;)V
+SPLcom/android/server/usage/UsageStatsProto;->writeConfigStats(Landroid/util/proto/ProtoOutputStream;JLcom/android/server/usage/IntervalStats;Landroid/app/usage/ConfigurationStats;Z)V
+SPLcom/android/server/usage/UsageStatsProto;->writeCountsForAction(Landroid/util/proto/ProtoOutputStream;Landroid/util/ArrayMap;)V
+SPLcom/android/server/usage/UsageStatsService$1;->onParoleStateChanged(Z)V
+SPLcom/android/server/usage/UsageStatsService$3;->onUidGone(IZ)V
+SPLcom/android/server/usage/UsageStatsService$3;->onUidStateChanged(IIJ)V
+SPLcom/android/server/usage/UsageStatsService$LocalService;->addAppIdleStateChangeListener(Landroid/app/usage/UsageStatsManagerInternal$AppIdleStateChangeListener;)V
+SPLcom/android/server/usage/UsageStatsService$LocalService;->getAppStandbyBucket(Ljava/lang/String;IJ)I
+SPLcom/android/server/usage/UsageStatsService$LocalService;->getIdleUidsForUser(I)[I
+SPLcom/android/server/usage/UsageStatsService$LocalService;->getTimeSinceLastJobRun(Ljava/lang/String;I)J
+SPLcom/android/server/usage/UsageStatsService$LocalService;->isAppIdleParoleOn()Z
+SPLcom/android/server/usage/UsageStatsService$LocalService;->onAdminDataAvailable()V
+SPLcom/android/server/usage/UsageStatsService$LocalService;->reportConfigurationChange(Landroid/content/res/Configuration;I)V
+SPLcom/android/server/usage/UsageStatsService$LocalService;->reportContentProviderUsage(Ljava/lang/String;Ljava/lang/String;I)V
+SPLcom/android/server/usage/UsageStatsService$LocalService;->reportEvent(Landroid/content/ComponentName;IIILandroid/content/ComponentName;)V
+SPLcom/android/server/usage/UsageStatsService$LocalService;->reportEvent(Ljava/lang/String;II)V
+SPLcom/android/server/usage/UsageStatsService$LocalService;->setActiveAdminApps(Ljava/util/Set;I)V
+SPLcom/android/server/usage/UsageStatsService$UserActionsReceiver;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/usage/UsageStatsService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/usage/UsageStatsService;->cleanUpRemovedUsersLocked()V
+SPLcom/android/server/usage/UsageStatsService;->onBootPhase(I)V
+SPLcom/android/server/usage/UsageStatsService;->onStart()V
+SPLcom/android/server/usage/UsageStatsService;->onStatsReloaded()V
+SPLcom/android/server/usage/UsageStatsService;->onStatsUpdated()V
+SPLcom/android/server/usage/UsageStatsService;->readUsageSourceSetting()V
+SPLcom/android/server/usage/UserUsageStatsService$1;-><init>()V
+SPLcom/android/server/usage/UserUsageStatsService$2;-><init>()V
+SPLcom/android/server/usage/UserUsageStatsService$3;-><init>()V
+SPLcom/android/server/usage/UserUsageStatsService;-><init>(Landroid/content/Context;ILjava/io/File;Lcom/android/server/usage/UserUsageStatsService$StatsUpdatedListener;)V
+SPLcom/android/server/usage/UserUsageStatsService;->init(J)V
+SPLcom/android/server/usage/UserUsageStatsService;->loadActiveStats(J)V
+SPLcom/android/server/usage/UserUsageStatsService;->onTimeChanged(JJ)V
+SPLcom/android/server/usage/UserUsageStatsService;->persistActiveStats()V
+SPLcom/android/server/usage/UserUsageStatsService;->updateRolloverDeadline()V
+SPLcom/android/server/usb/-$$Lambda$UsbHostManager$XT3F5aQci4H6VWSBYBQQNSzpnvs;->run()V
+SPLcom/android/server/usb/-$$Lambda$UsbPortManager$FUqGOOupcl6RrRkZBk-BnrRQyPI;->run()V
+SPLcom/android/server/usb/UsbAlsaManager;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/usb/UsbDeviceManager$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/usb/UsbDeviceManager$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/usb/UsbDeviceManager$UsbHandler;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/server/usb/UsbDeviceManager;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbSettingsManager;)V
+SPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->finishBoot()V
+SPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getPinnedSharedPrefs(Landroid/content/Context;)Landroid/content/SharedPreferences;
+SPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->getSystemProperty(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->isAdbEnabled()Z
+SPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->sendMessage(IZ)V
+SPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateAdbNotification(Z)V
+SPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateHostState(Landroid/hardware/usb/UsbPort;Landroid/hardware/usb/UsbPortStatus;)V
+SPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateState(Ljava/lang/String;)V
+SPLcom/android/server/usb/UsbDeviceManager$UsbHandler;->updateUsbNotification(Z)V
+SPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$ServiceNotification;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
+SPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal$UsbGadgetCallback;->getCurrentUsbFunctionsCb(JI)V
+SPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;-><init>(Landroid/os/Looper;Landroid/content/Context;Lcom/android/server/usb/UsbDeviceManager;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbSettingsManager;)V
+SPLcom/android/server/usb/UsbDeviceManager$UsbHandlerHal;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/usb/UsbDeviceManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbSettingsManager;)V
+SPLcom/android/server/usb/UsbDeviceManager;->initRndisAddress()V
+SPLcom/android/server/usb/UsbDeviceManager;->onKeyguardStateChanged(Z)V
+SPLcom/android/server/usb/UsbDeviceManager;->setCurrentUser(ILcom/android/server/usb/UsbProfileGroupSettingsManager;)V
+SPLcom/android/server/usb/UsbDeviceManager;->systemReady()V
+SPLcom/android/server/usb/UsbHostManager;-><init>(Landroid/content/Context;Lcom/android/server/usb/UsbAlsaManager;Lcom/android/server/usb/UsbSettingsManager;)V
+SPLcom/android/server/usb/UsbHostManager;->setCurrentUserSettings(Lcom/android/server/usb/UsbProfileGroupSettingsManager;)V
+SPLcom/android/server/usb/UsbHostManager;->setUsbDeviceConnectionHandler(Landroid/content/ComponentName;)V
+SPLcom/android/server/usb/UsbHostManager;->systemReady()V
+SPLcom/android/server/usb/UsbPortManager$1;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/usb/UsbPortManager$HALCallback;->notifyPortStatusChange_1_1(Ljava/util/ArrayList;I)V
+SPLcom/android/server/usb/UsbPortManager$PortInfo;-><init>(Landroid/hardware/usb/UsbManager;Ljava/lang/String;IIZZ)V
+SPLcom/android/server/usb/UsbPortManager$PortInfo;->setStatus(IZIZIZIII)Z
+SPLcom/android/server/usb/UsbPortManager$PortInfo;->toString()Ljava/lang/String;
+SPLcom/android/server/usb/UsbPortManager$RawPortInfo$1;-><init>()V
+SPLcom/android/server/usb/UsbPortManager$ServiceNotification;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
+SPLcom/android/server/usb/UsbPortManager;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/usb/UsbPortManager;->addOrUpdatePortLocked(Ljava/lang/String;IIIZIZIZZIZILcom/android/internal/util/IndentingPrintWriter;)V
+SPLcom/android/server/usb/UsbPortManager;->connectToProxy(Lcom/android/internal/util/IndentingPrintWriter;)V
+SPLcom/android/server/usb/UsbPortManager;->lambda$sendPortChangedBroadcastLocked$0$UsbPortManager(Landroid/content/Intent;)V
+SPLcom/android/server/usb/UsbPortManager;->sendPortChangedBroadcastLocked(Lcom/android/server/usb/UsbPortManager$PortInfo;)V
+SPLcom/android/server/usb/UsbPortManager;->systemReady()V
+SPLcom/android/server/usb/UsbPortManager;->updateContaminantNotification()V
+SPLcom/android/server/usb/UsbPortManager;->updatePortsLocked(Lcom/android/internal/util/IndentingPrintWriter;Ljava/util/ArrayList;)V
+SPLcom/android/server/usb/UsbProfileGroupSettingsManager$MyPackageMonitor;->onPackageRemoved(Ljava/lang/String;I)V
+SPLcom/android/server/usb/UsbProfileGroupSettingsManager;-><init>(Landroid/content/Context;Landroid/os/UserHandle;Lcom/android/server/usb/UsbSettingsManager;Lcom/android/server/usb/UsbHandlerManager;)V
+SPLcom/android/server/usb/UsbProfileGroupSettingsManager;->clearDefaults(Ljava/lang/String;Landroid/os/UserHandle;)V
+SPLcom/android/server/usb/UsbProfileGroupSettingsManager;->clearPackageDefaultsLocked(Lcom/android/server/usb/UsbProfileGroupSettingsManager$UserPackage;)Z
+SPLcom/android/server/usb/UsbProfileGroupSettingsManager;->readSettingsLocked()V
+SPLcom/android/server/usb/UsbProfileGroupSettingsManager;->upgradeSingleUserLocked()V
+SPLcom/android/server/usb/UsbService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/usb/UsbService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/usb/UsbService$Lifecycle;->onStart()V
+SPLcom/android/server/usb/UsbService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/usb/UsbService;->onSwitchUser(I)V
+SPLcom/android/server/usb/UsbService;->systemReady()V
+SPLcom/android/server/usb/UsbSettingsManager;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/usb/UsbSettingsManager;->getSettingsForProfileGroup(Landroid/os/UserHandle;)Lcom/android/server/usb/UsbProfileGroupSettingsManager;
+SPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub$RoleObserver;-><init>(Lcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;Ljava/util/concurrent/Executor;)V
+SPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->activeServiceSupportsLaunchFromKeyguard()Z
+SPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->enforceCallingPermission(Ljava/lang/String;)V
+SPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getActiveServiceComponentName()Landroid/content/ComponentName;
+SPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->getCurRecognizer(I)Landroid/content/ComponentName;
+SPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->initForUser(I)V
+SPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+SPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->registerVoiceInteractionSessionListener(Lcom/android/internal/app/IVoiceInteractionSessionListener;)V
+SPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->switchImplementationIfNeededLocked(Z)V
+SPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->systemRunning(Z)V
+SPLcom/android/server/voiceinteraction/VoiceInteractionManagerService$VoiceInteractionManagerServiceStub;->unloadAllKeyphraseModels()V
+SPLcom/android/server/voiceinteraction/VoiceInteractionManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onBootPhase(I)V
+SPLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onStart()V
+SPLcom/android/server/voiceinteraction/VoiceInteractionManagerService;->onStartUser(I)V
+SPLcom/android/server/vr/EnabledComponentsObserver;-><init>(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Collection;)V
+SPLcom/android/server/vr/EnabledComponentsObserver;->build(Landroid/content/Context;Landroid/os/Handler;Ljava/lang/String;Landroid/os/Looper;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Object;Ljava/util/Collection;)Lcom/android/server/vr/EnabledComponentsObserver;
+SPLcom/android/server/vr/EnabledComponentsObserver;->getEnabled(I)Landroid/util/ArraySet;
+SPLcom/android/server/vr/EnabledComponentsObserver;->loadComponentNames(Landroid/content/pm/PackageManager;ILjava/lang/String;Ljava/lang/String;)Landroid/util/ArraySet;
+SPLcom/android/server/vr/EnabledComponentsObserver;->loadComponentNamesFromSetting(Ljava/lang/String;I)Landroid/util/ArraySet;
+SPLcom/android/server/vr/EnabledComponentsObserver;->onUsersChanged()V
+SPLcom/android/server/vr/EnabledComponentsObserver;->rebuildAll()V
+SPLcom/android/server/vr/SettingsObserver;-><init>(Landroid/content/Context;Landroid/os/Handler;Landroid/net/Uri;Ljava/lang/String;)V
+SPLcom/android/server/vr/Vr2dDisplay;-><init>(Landroid/hardware/display/DisplayManager;Landroid/app/ActivityManagerInternal;Lcom/android/server/wm/WindowManagerInternal;Landroid/service/vr/IVrManager;)V
+SPLcom/android/server/vr/Vr2dDisplay;->init(Landroid/content/Context;Z)V
+SPLcom/android/server/vr/Vr2dDisplay;->startVrModeListener()V
+SPLcom/android/server/vr/VrManagerService$3;-><init>()V
+SPLcom/android/server/vr/VrManagerService$4;->getVrModeState()Z
+SPLcom/android/server/vr/VrManagerService$4;->registerListener(Landroid/service/vr/IVrStateCallbacks;)V
+SPLcom/android/server/vr/VrManagerService$4;->registerPersistentVrStateListener(Landroid/service/vr/IPersistentVrStateCallbacks;)V
+SPLcom/android/server/vr/VrManagerService$LocalService;->addPersistentVrModeStateListener(Landroid/service/vr/IPersistentVrStateCallbacks;)V
+SPLcom/android/server/vr/VrManagerService$LocalService;->onScreenStateChanged(Z)V
+SPLcom/android/server/vr/VrManagerService$LocalService;->setVrMode(ZLandroid/content/ComponentName;IILandroid/content/ComponentName;)V
+SPLcom/android/server/vr/VrManagerService$NotificationAccessManager;->update(Ljava/util/Collection;)V
+SPLcom/android/server/vr/VrManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/vr/VrManagerService;->enforceCallerPermissionAnyOf([Ljava/lang/String;)V
+SPLcom/android/server/vr/VrManagerService;->getVrMode()Z
+SPLcom/android/server/vr/VrManagerService;->grantCoarseLocationPermissionIfNeeded(Ljava/lang/String;I)V
+SPLcom/android/server/vr/VrManagerService;->grantNotificationListenerAccess(Ljava/lang/String;I)V
+SPLcom/android/server/vr/VrManagerService;->isDefaultAllowed(Ljava/lang/String;)Z
+SPLcom/android/server/vr/VrManagerService;->onBootPhase(I)V
+SPLcom/android/server/vr/VrManagerService;->onEnabledComponentChanged()V
+SPLcom/android/server/vr/VrManagerService;->onKeyguardStateChanged(Z)V
+SPLcom/android/server/vr/VrManagerService;->onStart()V
+SPLcom/android/server/vr/VrManagerService;->onStartUser(I)V
+SPLcom/android/server/vr/VrManagerService;->setSystemState(IZ)V
+SPLcom/android/server/vr/VrManagerService;->setVrMode(ZLandroid/content/ComponentName;IILandroid/content/ComponentName;)V
+SPLcom/android/server/vr/VrManagerService;->updateVrModeAllowedLocked()V
+SPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$SxaUJpgTTfzUoz6u3AWuAOQdoNw;->test(Ljava/lang/Object;)Z
+SPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$UhAlBGB5jhuZrLndUPRmIvoHRZc;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$WallpaperConnection$NrNkceFJLqjCb8eAxErUhpLd5c8;->test(Ljava/lang/Object;)Z
+SPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$la7x4YHA-l88Cd6HFTscnLBbKfI;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wallpaper/-$$Lambda$WallpaperManagerService$xeJGAwCI8tssclwKFf8jMsYdoKQ;->run()V
+SPLcom/android/server/wallpaper/WallpaperManagerService$1;->onDisplayChanged(I)V
+SPLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;->onBootPhase(I)V
+SPLcom/android/server/wallpaper/WallpaperManagerService$Lifecycle;->onStart()V
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;->connectLocked(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;->ensureStatusHandled()V
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->appendConnectorWithCondition(Ljava/util/function/Predicate;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->attachEngine(Landroid/service/wallpaper/IWallpaperEngine;I)V
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->containsDisplay(I)Z
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->engineShown(Landroid/service/wallpaper/IWallpaperEngine;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->forEachDisplayConnector(Ljava/util/function/Consumer;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->getDisplayConnectorOrCreate(I)Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->initDisplayState()V
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->onServiceConnected(Landroid/content/ComponentName;Landroid/os/IBinder;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection;->onWallpaperColorsChanged(Landroid/app/WallpaperColors;I)V
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;-><init>(ILjava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;->cropExists()Z
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;-><init>(Lcom/android/server/wallpaper/WallpaperManagerService;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;->dataForEvent(ZZ)Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;
+SPLcom/android/server/wallpaper/WallpaperManagerService$WallpaperObserver;->onEvent(ILjava/lang/String;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->bindWallpaperComponentLocked(Landroid/content/ComponentName;ZZLcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Landroid/os/IRemoteCallback;)Z
+SPLcom/android/server/wallpaper/WallpaperManagerService;->checkPermission(Ljava/lang/String;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->enforceCallingOrSelfPermissionAndAppOp(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->ensureSaneWallpaperData(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;I)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->getMaximumSizeDimension(I)I
+SPLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaper(Ljava/lang/String;Landroid/app/IWallpaperManagerCallback;ILandroid/os/Bundle;I)Landroid/os/ParcelFileDescriptor;
+SPLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperColors(III)Landroid/app/WallpaperColors;
+SPLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperInfo(I)Landroid/app/WallpaperInfo;
+SPLcom/android/server/wallpaper/WallpaperManagerService;->getWallpaperSafeLocked(II)Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;
+SPLcom/android/server/wallpaper/WallpaperManagerService;->initialize()V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->initializeFallbackWallpaper()V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->isWallpaperSupported(Ljava/lang/String;)Z
+SPLcom/android/server/wallpaper/WallpaperManagerService;->lambda$notifyWallpaperColorsChanged$0$WallpaperManagerService(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;ILcom/android/server/wallpaper/WallpaperManagerService$WallpaperConnection$DisplayConnector;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->lambda$switchUser$4$WallpaperManagerService(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->loadSettingsLocked(IZ)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->makeJournaledFile(I)Lcom/android/internal/util/JournaledFile;
+SPLcom/android/server/wallpaper/WallpaperManagerService;->makeWallpaperIdLocked()I
+SPLcom/android/server/wallpaper/WallpaperManagerService;->migrateFromOld()V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->notifyColorListeners(Landroid/app/WallpaperColors;III)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->notifyWallpaperColorsChangedOnDisplay(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;II)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->onBootPhase(I)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->parseWallpaperAttributes(Lorg/xmlpull/v1/XmlPullParser;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Z)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->registerWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;II)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->saveSettingsLocked(I)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->setInAmbientMode(ZJ)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->setLockWallpaperCallback(Landroid/app/IWallpaperManagerCallback;)Z
+SPLcom/android/server/wallpaper/WallpaperManagerService;->switchUser(ILandroid/os/IRemoteCallback;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->switchWallpaper(Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;Landroid/os/IRemoteCallback;)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->systemReady()V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->unregisterWallpaperColorsCallback(Landroid/app/IWallpaperManagerCallback;II)V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->updateFallbackConnection()V
+SPLcom/android/server/wallpaper/WallpaperManagerService;->writeWallpaperAttributes(Lorg/xmlpull/v1/XmlSerializer;Ljava/lang/String;Lcom/android/server/wallpaper/WallpaperManagerService$WallpaperData;)V
+SPLcom/android/server/webkit/SystemImpl;-><init>()V
+SPLcom/android/server/webkit/SystemImpl;-><init>(Lcom/android/server/webkit/SystemImpl$1;)V
+SPLcom/android/server/webkit/SystemImpl;->getFactoryPackageVersion(Ljava/lang/String;)J
+SPLcom/android/server/webkit/SystemImpl;->getMultiProcessSetting(Landroid/content/Context;)I
+SPLcom/android/server/webkit/SystemImpl;->getPackageInfoForProvider(Landroid/webkit/WebViewProviderInfo;)Landroid/content/pm/PackageInfo;
+SPLcom/android/server/webkit/SystemImpl;->getPackageInfoForProviderAllUsers(Landroid/content/Context;Landroid/webkit/WebViewProviderInfo;)Ljava/util/List;
+SPLcom/android/server/webkit/SystemImpl;->getUserChosenWebViewProvider(Landroid/content/Context;)Ljava/lang/String;
+SPLcom/android/server/webkit/SystemImpl;->getWebViewPackages()[Landroid/webkit/WebViewProviderInfo;
+SPLcom/android/server/webkit/SystemImpl;->isFallbackLogicEnabled()Z
+SPLcom/android/server/webkit/SystemImpl;->isMultiProcessDefaultEnabled()Z
+SPLcom/android/server/webkit/SystemImpl;->notifyZygote(Z)V
+SPLcom/android/server/webkit/SystemImpl;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;)I
+SPLcom/android/server/webkit/SystemImpl;->readSignatures(Landroid/content/res/XmlResourceParser;)[Ljava/lang/String;
+SPLcom/android/server/webkit/SystemImpl;->systemIsDebuggable()Z
+SPLcom/android/server/webkit/SystemImpl;->updateUserSetting(Landroid/content/Context;Ljava/lang/String;)V
+SPLcom/android/server/webkit/WebViewUpdateService$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/webkit/WebViewUpdateService$BinderService;->notifyRelroCreationCompleted()V
+SPLcom/android/server/webkit/WebViewUpdateService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/webkit/WebViewUpdateService;->onStart()V
+SPLcom/android/server/webkit/WebViewUpdateService;->prepareWebViewInSystemServer()V
+SPLcom/android/server/webkit/WebViewUpdateServiceImpl;->existsValidNonFallbackProvider([Landroid/webkit/WebViewProviderInfo;)Z
+SPLcom/android/server/webkit/WebViewUpdateServiceImpl;->getWebViewPackages()[Landroid/webkit/WebViewProviderInfo;
+SPLcom/android/server/webkit/WebViewUpdateServiceImpl;->handleNewUser(I)V
+SPLcom/android/server/webkit/WebViewUpdateServiceImpl;->isMultiProcessEnabled()Z
+SPLcom/android/server/webkit/WebViewUpdateServiceImpl;->notifyRelroCreationCompleted()V
+SPLcom/android/server/webkit/WebViewUpdateServiceImpl;->prepareWebViewInSystemServer()V
+SPLcom/android/server/webkit/WebViewUpdateServiceImpl;->updateFallbackState([Landroid/webkit/WebViewProviderInfo;)V
+SPLcom/android/server/webkit/WebViewUpdater;-><init>(Landroid/content/Context;Lcom/android/server/webkit/SystemInterface;)V
+SPLcom/android/server/webkit/WebViewUpdater;->checkIfRelrosDoneLocked()V
+SPLcom/android/server/webkit/WebViewUpdater;->findPreferredWebViewPackage()Landroid/content/pm/PackageInfo;
+SPLcom/android/server/webkit/WebViewUpdater;->getMinimumVersionCode()J
+SPLcom/android/server/webkit/WebViewUpdater;->getValidWebViewPackagesAndInfos()[Lcom/android/server/webkit/WebViewUpdater$ProviderAndPackageInfo;
+SPLcom/android/server/webkit/WebViewUpdater;->isInstalledAndEnabledForAllUsers(Ljava/util/List;)Z
+SPLcom/android/server/webkit/WebViewUpdater;->isValidProvider(Landroid/webkit/WebViewProviderInfo;Landroid/content/pm/PackageInfo;)Z
+SPLcom/android/server/webkit/WebViewUpdater;->notifyRelroCreationCompleted()V
+SPLcom/android/server/webkit/WebViewUpdater;->onWebViewProviderChanged(Landroid/content/pm/PackageInfo;)V
+SPLcom/android/server/webkit/WebViewUpdater;->prepareWebViewInSystemServer()V
+SPLcom/android/server/webkit/WebViewUpdater;->providerHasValidSignature(Landroid/webkit/WebViewProviderInfo;Landroid/content/pm/PackageInfo;Lcom/android/server/webkit/SystemInterface;)Z
+SPLcom/android/server/webkit/WebViewUpdater;->validityResult(Landroid/webkit/WebViewProviderInfo;Landroid/content/pm/PackageInfo;)I
+SPLcom/android/server/wifi/-$$Lambda$AvailableNetworkNotifier$uFi1H-bLBjC8591OGivQMgKmiaU;-><init>(Lcom/android/server/wifi/AvailableNetworkNotifier;)V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$0fExlzrQXvHvboqrhwLsuIEN8sQ;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/IWifiStaIface;)V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$BkJ-u2mnM7l_bsdJ9qDxHZJRcVM;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/IWifiNanIface;)V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$ErxCpEghr4yhQpGHX1NQPumvouc;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;I)V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$GV5vgwCMe-GctE92pSijMSntP7M;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$G_a1DJorXSzwXeeGcyX-nUw44LU;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$InterfaceRttControllerLifecycleCallbackProxy$Jq3jiK0PF_ihQmDGnOqjWGZKR74;->run()V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$InterfaceRttControllerLifecycleCallbackProxy$Vt8Gvz01jOxC1TqVEIeBuJ45xAg;->run()V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$J6ItBAiUMCzTjCuPD7lYSuJSIGU;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$J_rq9pD25U5x_bgsE9o4bIVv6Rs;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/IWifiChip;)V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$ListenerProxy$EUZ7m5GXHY27oKauEW_8pihGjbw;->run()V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$ListenerProxy$YGLSZf58sxTORRCaSB1wOY_oquo;->run()V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$NbsSOlQ2rIfa_a-hKmLVOeqJ0sk;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/IWifiStaIface;)V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$WPv-AGl6UabBR2Zo5mjPN7Pljlo;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$X9vx2J4m1oo365x_oO3URsq_nqo;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/IWifiRttController;)V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$bTmsDoAj9faJCBOTeT1Q3Ww5yNM;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/lang/String;)V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$eCjBY_x53LlceEqam19pM9GP8Hg;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$hzrxXx9RDE1QCGSaFElLzJYP5ag;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/IWifiNanIface;)V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$kKpeJmcjHk7E6pKqNwVTgOU76EA;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;I)V
+SPLcom/android/server/wifi/-$$Lambda$HalDeviceManager$yPcf5jFsIHD8FLJVWQLrQ1Z9fSc;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+SPLcom/android/server/wifi/-$$Lambda$SarManager$cF1vmoM2QYZACA-YzJsns9WSQI4;->run()V
+SPLcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$jt86rUfXpbjU1MKB5KeL4Iv2b0k;->onValues(Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;Landroid/hardware/wifi/supplicant/V1_0/ISupplicantIface;)V
+SPLcom/android/server/wifi/-$$Lambda$SupplicantStaIfaceHal$kPu1HFl0FicFP9N2B4hh_sincE8;->onValues(Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;Landroid/hardware/wifi/supplicant/V1_0/ISupplicantIface;)V
+SPLcom/android/server/wifi/-$$Lambda$WifiLockManager$1$CkMHEvkkoNUZsaBQmCb9B-0F8lI;->run()V
+SPLcom/android/server/wifi/-$$Lambda$WifiNative$NetworkObserverInternal$x2MXZjJ72D1RHdyNl7XjvdO7CHI;->run()V
+SPLcom/android/server/wifi/-$$Lambda$WifiServiceImpl$WH1yXObMcpzajFG1KwwEOakTA7o;->run()V
+SPLcom/android/server/wifi/-$$Lambda$WifiServiceImpl$ck1sc9jNKsBP5gycroIN0Rn-f5Q;->run()V
+SPLcom/android/server/wifi/-$$Lambda$WifiVendorHal$XwdlM1fW3hc4x8NTlPEdTo9qP_w;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;I)V
+SPLcom/android/server/wifi/-$$Lambda$WifiVendorHal$qPUuRnlo2XMDrsA1gI_KLrbvPAI;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/StaBackgroundScanCapabilities;)V
+SPLcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$ClientModeActiveState$ClientListener;->onStateChanged(I)V
+SPLcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$ClientModeActiveState;->enter()V
+SPLcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$ModeActiveState;->onModeActivationComplete()V
+SPLcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$ModeActiveState;->updateScanMode()V
+SPLcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$ScanOnlyModeActiveState$ScanOnlyListener;->onStateChanged(I)V
+SPLcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$ScanOnlyModeActiveState;->enter()V
+SPLcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$ScanOnlyModeActiveState;->exit()V
+SPLcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$ScanOnlyModeActiveState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$WifiDisabledState;->enter()V
+SPLcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$WifiDisabledState;->exit()V
+SPLcom/android/server/wifi/ActiveModeWarden$ModeStateMachine$WifiDisabledState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/ActiveModeWarden$ModeStateMachine;-><init>(Lcom/android/server/wifi/ActiveModeWarden;)V
+SPLcom/android/server/wifi/ActiveModeWarden$ModeStateMachine;->checkForAndHandleModeChange(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/ActiveModeWarden;-><init>(Lcom/android/server/wifi/WifiInjector;Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/wifi/WifiNative;Lcom/android/server/wifi/DefaultModeManager;Lcom/android/internal/app/IBatteryStats;)V
+SPLcom/android/server/wifi/ActiveModeWarden;->disableWifi()V
+SPLcom/android/server/wifi/ActiveModeWarden;->enterClientMode()V
+SPLcom/android/server/wifi/ActiveModeWarden;->enterScanOnlyMode()V
+SPLcom/android/server/wifi/ActiveModeWarden;->registerClientModeCallback(Lcom/android/server/wifi/ClientModeManager$Listener;)V
+SPLcom/android/server/wifi/ActiveModeWarden;->registerScanOnlyCallback(Lcom/android/server/wifi/ScanOnlyModeManager$Listener;)V
+SPLcom/android/server/wifi/ActiveModeWarden;->registerSoftApCallback(Landroid/net/wifi/WifiManager$SoftApCallback;)V
+SPLcom/android/server/wifi/ActiveModeWarden;->updateBatteryStatsScanModeActive()V
+SPLcom/android/server/wifi/ActiveModeWarden;->updateBatteryStatsWifiState(Z)V
+SPLcom/android/server/wifi/AvailableNetworkNotifier$1;-><init>(Lcom/android/server/wifi/AvailableNetworkNotifier;)V
+SPLcom/android/server/wifi/AvailableNetworkNotifier$AvailableNetworkNotifierStoreData;-><init>(Lcom/android/server/wifi/AvailableNetworkNotifier;Lcom/android/server/wifi/AvailableNetworkNotifier$1;)V
+SPLcom/android/server/wifi/AvailableNetworkNotifier$NotificationEnabledSettingObserver;-><init>(Lcom/android/server/wifi/AvailableNetworkNotifier;Landroid/os/Handler;)V
+SPLcom/android/server/wifi/AvailableNetworkNotifier$NotificationEnabledSettingObserver;->getValue()Z
+SPLcom/android/server/wifi/AvailableNetworkNotifier$NotificationEnabledSettingObserver;->register()V
+SPLcom/android/server/wifi/AvailableNetworkNotifier;-><init>(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILandroid/content/Context;Landroid/os/Looper;Lcom/android/server/wifi/FrameworkFacade;Lcom/android/server/wifi/Clock;Lcom/android/server/wifi/WifiMetrics;Lcom/android/server/wifi/WifiConfigManager;Lcom/android/server/wifi/WifiConfigStore;Lcom/android/server/wifi/ClientModeImpl;Lcom/android/server/wifi/ConnectToNetworkNotificationBuilder;)V
+SPLcom/android/server/wifi/AvailableNetworkNotifier;->handleScreenStateChanged(Z)V
+SPLcom/android/server/wifi/BackupManagerProxy;-><init>()V
+SPLcom/android/server/wifi/CarrierNetworkConfig;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/wifi/FrameworkFacade;)V
+SPLcom/android/server/wifi/CarrierNetworkConfig;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/CarrierNetworkConfig;->updateNetworkConfig(Landroid/content/Context;)V
+SPLcom/android/server/wifi/CarrierNetworkConfig;->verifyCarrierImsiEncryptionInfoIsAvailable(Landroid/content/Context;)Z
+SPLcom/android/server/wifi/CarrierNetworkEvaluator;-><init>(Lcom/android/server/wifi/WifiConfigManager;Lcom/android/server/wifi/CarrierNetworkConfig;Landroid/util/LocalLog;)V
+SPLcom/android/server/wifi/ClientModeImpl$1;-><init>(Lcom/android/server/wifi/ClientModeImpl;)V
+SPLcom/android/server/wifi/ClientModeImpl$2;-><init>(Lcom/android/server/wifi/ClientModeImpl;Landroid/os/Handler;)V
+SPLcom/android/server/wifi/ClientModeImpl$3;-><init>(Lcom/android/server/wifi/ClientModeImpl;)V
+SPLcom/android/server/wifi/ClientModeImpl$ConnectModeState;-><init>(Lcom/android/server/wifi/ClientModeImpl;)V
+SPLcom/android/server/wifi/ClientModeImpl$ConnectModeState;->enter()V
+SPLcom/android/server/wifi/ClientModeImpl$ConnectedState;-><init>(Lcom/android/server/wifi/ClientModeImpl;)V
+SPLcom/android/server/wifi/ClientModeImpl$DefaultState;-><init>(Lcom/android/server/wifi/ClientModeImpl;)V
+SPLcom/android/server/wifi/ClientModeImpl$DefaultState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/ClientModeImpl$DisconnectedState;-><init>(Lcom/android/server/wifi/ClientModeImpl;)V
+SPLcom/android/server/wifi/ClientModeImpl$DisconnectingState;-><init>(Lcom/android/server/wifi/ClientModeImpl;)V
+SPLcom/android/server/wifi/ClientModeImpl$IpClientCallbacksImpl;-><init>(Lcom/android/server/wifi/ClientModeImpl;)V
+SPLcom/android/server/wifi/ClientModeImpl$IpClientCallbacksImpl;->awaitCreation()Z
+SPLcom/android/server/wifi/ClientModeImpl$L2ConnectedState$RssiEventHandler;-><init>(Lcom/android/server/wifi/ClientModeImpl$L2ConnectedState;)V
+SPLcom/android/server/wifi/ClientModeImpl$L2ConnectedState;-><init>(Lcom/android/server/wifi/ClientModeImpl;)V
+SPLcom/android/server/wifi/ClientModeImpl$McastLockManagerFilterController;-><init>(Lcom/android/server/wifi/ClientModeImpl;)V
+SPLcom/android/server/wifi/ClientModeImpl$ObtainingIpState;-><init>(Lcom/android/server/wifi/ClientModeImpl;)V
+SPLcom/android/server/wifi/ClientModeImpl$RoamingState;-><init>(Lcom/android/server/wifi/ClientModeImpl;)V
+SPLcom/android/server/wifi/ClientModeImpl;-><init>(Landroid/content/Context;Lcom/android/server/wifi/FrameworkFacade;Landroid/os/Looper;Landroid/os/UserManager;Lcom/android/server/wifi/WifiInjector;Lcom/android/server/wifi/BackupManagerProxy;Lcom/android/server/wifi/WifiCountryCode;Lcom/android/server/wifi/WifiNative;Lcom/android/server/wifi/WifiScoreCard;Lcom/android/server/wifi/WrongPasswordNotifier;Lcom/android/server/wifi/SarManager;Lcom/android/server/wifi/WifiTrafficPoller;Lcom/android/server/wifi/LinkProbeManager;)V
+SPLcom/android/server/wifi/ClientModeImpl;-><init>(Landroid/content/Context;Lcom/android/server/wifi/FrameworkFacade;Landroid/os/Looper;Landroid/os/UserManager;Lcom/android/server/wifi/WifiInjector;Lcom/android/server/wifi/BackupManagerProxy;Lcom/android/server/wifi/WifiCountryCode;Lcom/android/server/wifi/WifiNative;Lcom/android/server/wifi/WrongPasswordNotifier;Lcom/android/server/wifi/SarManager;Lcom/android/server/wifi/WifiTrafficPoller;Lcom/android/server/wifi/LinkProbeManager;)V
+SPLcom/android/server/wifi/ClientModeImpl;->access$1200(Lcom/android/server/wifi/ClientModeImpl;Landroid/os/Message;II)V
+SPLcom/android/server/wifi/ClientModeImpl;->access$1502(Lcom/android/server/wifi/ClientModeImpl;Z)Z
+SPLcom/android/server/wifi/ClientModeImpl;->access$1600(Lcom/android/server/wifi/ClientModeImpl;IZ)V
+SPLcom/android/server/wifi/ClientModeImpl;->access$1700(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/WifiNative;
+SPLcom/android/server/wifi/ClientModeImpl;->access$1800(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/WifiInjector;
+SPLcom/android/server/wifi/ClientModeImpl;->access$1900(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/hotspot2/PasspointManager;
+SPLcom/android/server/wifi/ClientModeImpl;->enableRssiPolling(Z)V
+SPLcom/android/server/wifi/ClientModeImpl;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/ClientModeImpl;->getLogRecString(Landroid/os/Message;)Ljava/lang/String;
+SPLcom/android/server/wifi/ClientModeImpl;->getMcastLockManagerFilterController()Lcom/android/server/wifi/WifiMulticastLockManager$FilterController;
+SPLcom/android/server/wifi/ClientModeImpl;->getWifiInfo()Landroid/net/wifi/WifiInfo;
+SPLcom/android/server/wifi/ClientModeImpl;->getWifiLinkLayerStats()Lcom/android/server/wifi/WifiLinkLayerStats;
+SPLcom/android/server/wifi/ClientModeImpl;->handleScreenStateChanged(Z)V
+SPLcom/android/server/wifi/ClientModeImpl;->logStateAndMessage(Landroid/os/Message;Lcom/android/internal/util/State;)V
+SPLcom/android/server/wifi/ClientModeImpl;->loge(Ljava/lang/String;)V
+SPLcom/android/server/wifi/ClientModeImpl;->recordLogRec(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/ClientModeImpl;->replyToMessage(Landroid/os/Message;ILjava/lang/Object;)V
+SPLcom/android/server/wifi/ClientModeImpl;->setHighPerfModeEnabled(Z)V
+SPLcom/android/server/wifi/ClientModeImpl;->setOperationalMode(ILjava/lang/String;)V
+SPLcom/android/server/wifi/ClientModeImpl;->setSupplicantLogLevel()V
+SPLcom/android/server/wifi/ClientModeImpl;->setSuspendOptimizations(IZ)V
+SPLcom/android/server/wifi/ClientModeImpl;->setWifiStateForApiCalls(I)V
+SPLcom/android/server/wifi/ClientModeImpl;->setupClientMode()V
+SPLcom/android/server/wifi/ClientModeImpl;->syncGetSupportedFeatures(Lcom/android/internal/util/AsyncChannel;)J
+SPLcom/android/server/wifi/ClientModeImpl;->syncGetWifiState()I
+SPLcom/android/server/wifi/ClientModeImpl;->syncInitialize(Lcom/android/internal/util/AsyncChannel;)Z
+SPLcom/android/server/wifi/ClientModeManager$ClientModeStateMachine$1;->onUp(Ljava/lang/String;)V
+SPLcom/android/server/wifi/ClientModeManager$ClientModeStateMachine$IdleState;->enter()V
+SPLcom/android/server/wifi/ClientModeManager$ClientModeStateMachine$IdleState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/ClientModeManager$ClientModeStateMachine$StartedState;->enter()V
+SPLcom/android/server/wifi/ClientModeManager$ClientModeStateMachine$StartedState;->onUpChanged(Z)V
+SPLcom/android/server/wifi/ClientModeManager$ClientModeStateMachine;-><init>(Lcom/android/server/wifi/ClientModeManager;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/ClientModeManager;->getScanMode()I
+SPLcom/android/server/wifi/ClientModeManager;->start()V
+SPLcom/android/server/wifi/ClientModeManager;->updateWifiState(II)V
+SPLcom/android/server/wifi/Clock;-><init>()V
+SPLcom/android/server/wifi/Clock;->getElapsedSinceBootMillis()J
+SPLcom/android/server/wifi/Clock;->getUptimeSinceBootMillis()J
+SPLcom/android/server/wifi/CompatibiltyScorer;->getIdentifier()Ljava/lang/String;
+SPLcom/android/server/wifi/ConfigurationMap;-><init>(Landroid/os/UserManager;)V
+SPLcom/android/server/wifi/DefaultModeManager;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/DeletedEphemeralSsidsStoreData;-><init>()V
+SPLcom/android/server/wifi/DeletedEphemeralSsidsStoreData;-><init>(Lcom/android/server/wifi/Clock;)V
+SPLcom/android/server/wifi/DeletedEphemeralSsidsStoreData;->getStoreFileId()I
+SPLcom/android/server/wifi/DppManager;-><init>(Landroid/os/Looper;Lcom/android/server/wifi/WifiNative;Lcom/android/server/wifi/WifiConfigManager;Landroid/content/Context;Lcom/android/server/wifi/DppMetrics;)V
+SPLcom/android/server/wifi/DppManager;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/DppMetrics;-><init>()V
+SPLcom/android/server/wifi/DummyLogMessage;-><init>()V
+SPLcom/android/server/wifi/DummyLogMessage;->c(J)Lcom/android/server/wifi/WifiLog$LogMessage;
+SPLcom/android/server/wifi/DummyLogMessage;->c(Ljava/lang/String;)Lcom/android/server/wifi/WifiLog$LogMessage;
+SPLcom/android/server/wifi/DummyLogMessage;->flush()V
+SPLcom/android/server/wifi/ExtendedWifiInfo;-><init>()V
+SPLcom/android/server/wifi/ExtendedWifiInfo;->setEnableConnectedMacRandomization(Z)V
+SPLcom/android/server/wifi/FakeWifiLog;-><init>()V
+SPLcom/android/server/wifi/FakeWifiLog;->d(Ljava/lang/String;)V
+SPLcom/android/server/wifi/FakeWifiLog;->i(Ljava/lang/String;)V
+SPLcom/android/server/wifi/FakeWifiLog;->info(Ljava/lang/String;)Lcom/android/server/wifi/WifiLog$LogMessage;
+SPLcom/android/server/wifi/FrameworkFacade;-><init>()V
+SPLcom/android/server/wifi/FrameworkFacade;->getBatteryService()Lcom/android/internal/app/IBatteryStats;
+SPLcom/android/server/wifi/FrameworkFacade;->getIntegerSetting(Landroid/content/Context;Ljava/lang/String;I)I
+SPLcom/android/server/wifi/FrameworkFacade;->getLongSetting(Landroid/content/Context;Ljava/lang/String;J)J
+SPLcom/android/server/wifi/FrameworkFacade;->getService(Ljava/lang/String;)Landroid/os/IBinder;
+SPLcom/android/server/wifi/FrameworkFacade;->getStringSetting(Landroid/content/Context;Ljava/lang/String;)Ljava/lang/String;
+SPLcom/android/server/wifi/FrameworkFacade;->inStorageManagerCryptKeeperBounce()Z
+SPLcom/android/server/wifi/FrameworkFacade;->makeIpClient(Landroid/content/Context;Ljava/lang/String;Landroid/net/ip/IpClientCallbacks;)V
+SPLcom/android/server/wifi/FrameworkFacade;->makeSupplicantStateTracker(Landroid/content/Context;Lcom/android/server/wifi/WifiConfigManager;Landroid/os/Handler;)Lcom/android/server/wifi/SupplicantStateTracker;
+SPLcom/android/server/wifi/FrameworkFacade;->makeWifiAsyncChannel(Ljava/lang/String;)Lcom/android/server/wifi/util/WifiAsyncChannel;
+SPLcom/android/server/wifi/FrameworkFacade;->registerContentObserver(Landroid/content/Context;Landroid/net/Uri;ZLandroid/database/ContentObserver;)V
+SPLcom/android/server/wifi/HalDeviceManager$1;-><init>(Lcom/android/server/wifi/HalDeviceManager;)V
+SPLcom/android/server/wifi/HalDeviceManager$1;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
+SPLcom/android/server/wifi/HalDeviceManager$InterfaceAvailableForRequestListenerProxy;->actionWithArg(Z)V
+SPLcom/android/server/wifi/HalDeviceManager$InterfaceDestroyedListenerProxy;->action()V
+SPLcom/android/server/wifi/HalDeviceManager$InterfaceRttControllerLifecycleCallbackProxy;->equals(Ljava/lang/Object;)Z
+SPLcom/android/server/wifi/HalDeviceManager$InterfaceRttControllerLifecycleCallbackProxy;->hashCode()I
+SPLcom/android/server/wifi/HalDeviceManager$InterfaceRttControllerLifecycleCallbackProxy;->lambda$onNewRttController$0$HalDeviceManager$InterfaceRttControllerLifecycleCallbackProxy(Landroid/hardware/wifi/V1_0/IWifiRttController;)V
+SPLcom/android/server/wifi/HalDeviceManager$InterfaceRttControllerLifecycleCallbackProxy;->lambda$onRttControllerDestroyed$1$HalDeviceManager$InterfaceRttControllerLifecycleCallbackProxy()V
+SPLcom/android/server/wifi/HalDeviceManager$InterfaceRttControllerLifecycleCallbackProxy;->onNewRttController(Landroid/hardware/wifi/V1_0/IWifiRttController;)V
+SPLcom/android/server/wifi/HalDeviceManager$InterfaceRttControllerLifecycleCallbackProxy;->onRttControllerDestroyed()V
+SPLcom/android/server/wifi/HalDeviceManager$ListenerProxy;-><init>(Lcom/android/server/wifi/HalDeviceManager;Ljava/lang/Object;Landroid/os/Handler;Ljava/lang/String;)V
+SPLcom/android/server/wifi/HalDeviceManager$ListenerProxy;->equals(Ljava/lang/Object;)Z
+SPLcom/android/server/wifi/HalDeviceManager$ListenerProxy;->hashCode()I
+SPLcom/android/server/wifi/HalDeviceManager$ListenerProxy;->lambda$trigger$0$HalDeviceManager$ListenerProxy()V
+SPLcom/android/server/wifi/HalDeviceManager$ListenerProxy;->lambda$triggerWithArg$1$HalDeviceManager$ListenerProxy(Z)V
+SPLcom/android/server/wifi/HalDeviceManager$ListenerProxy;->trigger()V
+SPLcom/android/server/wifi/HalDeviceManager$ListenerProxy;->triggerWithArg(Z)V
+SPLcom/android/server/wifi/HalDeviceManager$ManagerStatusListenerProxy;->action()V
+SPLcom/android/server/wifi/HalDeviceManager$WifiChipInfo;-><init>(Lcom/android/server/wifi/HalDeviceManager;)V
+SPLcom/android/server/wifi/HalDeviceManager$WifiEventCallback;->onStart()V
+SPLcom/android/server/wifi/HalDeviceManager$WifiEventCallback;->onStop()V
+SPLcom/android/server/wifi/HalDeviceManager;-><init>(Lcom/android/server/wifi/Clock;)V
+SPLcom/android/server/wifi/HalDeviceManager;->access$200(Lcom/android/server/wifi/HalDeviceManager;)Ljava/lang/Object;
+SPLcom/android/server/wifi/HalDeviceManager;->access$300(Lcom/android/server/wifi/HalDeviceManager;)V
+SPLcom/android/server/wifi/HalDeviceManager;->allowedToDeleteIfaceTypeForRequestedType(II[[Lcom/android/server/wifi/HalDeviceManager$WifiIfaceInfo;I)Z
+SPLcom/android/server/wifi/HalDeviceManager;->canIfaceComboSupportRequest(Lcom/android/server/wifi/HalDeviceManager$WifiChipInfo;Landroid/hardware/wifi/V1_0/IWifiChip$ChipMode;[IIZ)Lcom/android/server/wifi/HalDeviceManager$IfaceCreationData;
+SPLcom/android/server/wifi/HalDeviceManager;->compareIfaceCreationData(Lcom/android/server/wifi/HalDeviceManager$IfaceCreationData;Lcom/android/server/wifi/HalDeviceManager$IfaceCreationData;)Z
+SPLcom/android/server/wifi/HalDeviceManager;->createIface(IZLcom/android/server/wifi/HalDeviceManager$InterfaceDestroyedListener;Landroid/os/Handler;)Landroid/hardware/wifi/V1_0/IWifiIface;
+SPLcom/android/server/wifi/HalDeviceManager;->createIfaceIfPossible([Lcom/android/server/wifi/HalDeviceManager$WifiChipInfo;IZLcom/android/server/wifi/HalDeviceManager$InterfaceDestroyedListener;Landroid/os/Handler;)Landroid/hardware/wifi/V1_0/IWifiIface;
+SPLcom/android/server/wifi/HalDeviceManager;->createNanIface(Lcom/android/server/wifi/HalDeviceManager$InterfaceDestroyedListener;Landroid/os/Handler;)Landroid/hardware/wifi/V1_0/IWifiNanIface;
+SPLcom/android/server/wifi/HalDeviceManager;->createRttControllerIfPossible()Landroid/hardware/wifi/V1_0/IWifiRttController;
+SPLcom/android/server/wifi/HalDeviceManager;->createStaIface(ZLcom/android/server/wifi/HalDeviceManager$InterfaceDestroyedListener;Landroid/os/Handler;)Landroid/hardware/wifi/V1_0/IWifiStaIface;
+SPLcom/android/server/wifi/HalDeviceManager;->dispatchAllDestroyedListeners()V
+SPLcom/android/server/wifi/HalDeviceManager;->dispatchAvailableForRequestListeners()Z
+SPLcom/android/server/wifi/HalDeviceManager;->dispatchAvailableForRequestListenersForType(I[Lcom/android/server/wifi/HalDeviceManager$WifiChipInfo;)V
+SPLcom/android/server/wifi/HalDeviceManager;->dispatchDestroyedListeners(Ljava/lang/String;I)V
+SPLcom/android/server/wifi/HalDeviceManager;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/HalDeviceManager;->executeChipReconfiguration(Lcom/android/server/wifi/HalDeviceManager$IfaceCreationData;I)Landroid/hardware/wifi/V1_0/IWifiIface;
+SPLcom/android/server/wifi/HalDeviceManager;->expandIfaceCombos(Landroid/hardware/wifi/V1_0/IWifiChip$ChipIfaceCombination;)[[I
+SPLcom/android/server/wifi/HalDeviceManager;->getAllChipInfo()[Lcom/android/server/wifi/HalDeviceManager$WifiChipInfo;
+SPLcom/android/server/wifi/HalDeviceManager;->getChip(Landroid/hardware/wifi/V1_0/IWifiIface;)Landroid/hardware/wifi/V1_0/IWifiChip;
+SPLcom/android/server/wifi/HalDeviceManager;->getName(Landroid/hardware/wifi/V1_0/IWifiIface;)Ljava/lang/String;
+SPLcom/android/server/wifi/HalDeviceManager;->getServiceManagerMockable()Landroid/hidl/manager/V1_2/IServiceManager;
+SPLcom/android/server/wifi/HalDeviceManager;->getSupportedIfaceTypes()Ljava/util/Set;
+SPLcom/android/server/wifi/HalDeviceManager;->getSupportedIfaceTypesInternal(Landroid/hardware/wifi/V1_0/IWifiChip;)Ljava/util/Set;
+SPLcom/android/server/wifi/HalDeviceManager;->getType(Landroid/hardware/wifi/V1_0/IWifiIface;)I
+SPLcom/android/server/wifi/HalDeviceManager;->getWifiServiceMockable()Landroid/hardware/wifi/V1_0/IWifi;
+SPLcom/android/server/wifi/HalDeviceManager;->initIServiceManagerIfNecessary()V
+SPLcom/android/server/wifi/HalDeviceManager;->initIWifiIfNecessary()V
+SPLcom/android/server/wifi/HalDeviceManager;->initialize()V
+SPLcom/android/server/wifi/HalDeviceManager;->isItPossibleToCreateIface([Lcom/android/server/wifi/HalDeviceManager$WifiChipInfo;I)Z
+SPLcom/android/server/wifi/HalDeviceManager;->isReady()Z
+SPLcom/android/server/wifi/HalDeviceManager;->isStarted()Z
+SPLcom/android/server/wifi/HalDeviceManager;->isSupported()Z
+SPLcom/android/server/wifi/HalDeviceManager;->isSupportedInternal()Z
+SPLcom/android/server/wifi/HalDeviceManager;->isWifiStarted()Z
+SPLcom/android/server/wifi/HalDeviceManager;->lambda$createRttControllerIfPossible$22(Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/IWifiRttController;)V
+SPLcom/android/server/wifi/HalDeviceManager;->lambda$getAllChipInfo$10$HalDeviceManager(Landroid/util/MutableBoolean;Ljava/lang/String;[Lcom/android/server/wifi/HalDeviceManager$WifiIfaceInfo;Landroid/util/MutableInt;Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/IWifiStaIface;)V
+SPLcom/android/server/wifi/HalDeviceManager;->lambda$getAllChipInfo$10(Lcom/android/server/wifi/HalDeviceManager;Landroid/util/MutableBoolean;Ljava/lang/String;[Lcom/android/server/wifi/HalDeviceManager$WifiIfaceInfo;Landroid/util/MutableInt;Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/IWifiStaIface;)V
+SPLcom/android/server/wifi/HalDeviceManager;->lambda$getAllChipInfo$11(Landroid/util/MutableBoolean;Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+SPLcom/android/server/wifi/HalDeviceManager;->lambda$getAllChipInfo$13(Landroid/util/MutableBoolean;Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+SPLcom/android/server/wifi/HalDeviceManager;->lambda$getAllChipInfo$15(Landroid/util/MutableBoolean;Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+SPLcom/android/server/wifi/HalDeviceManager;->lambda$getAllChipInfo$16$HalDeviceManager(Landroid/util/MutableBoolean;Ljava/lang/String;[Lcom/android/server/wifi/HalDeviceManager$WifiIfaceInfo;Landroid/util/MutableInt;Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/IWifiNanIface;)V
+SPLcom/android/server/wifi/HalDeviceManager;->lambda$getAllChipInfo$16(Lcom/android/server/wifi/HalDeviceManager;Landroid/util/MutableBoolean;Ljava/lang/String;[Lcom/android/server/wifi/HalDeviceManager$WifiIfaceInfo;Landroid/util/MutableInt;Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/IWifiNanIface;)V
+SPLcom/android/server/wifi/HalDeviceManager;->lambda$getAllChipInfo$5(Landroid/util/MutableBoolean;Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+SPLcom/android/server/wifi/HalDeviceManager;->lambda$getAllChipInfo$6(Landroid/util/MutableBoolean;Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/IWifiChip;)V
+SPLcom/android/server/wifi/HalDeviceManager;->lambda$getAllChipInfo$7(Landroid/util/MutableBoolean;Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+SPLcom/android/server/wifi/HalDeviceManager;->lambda$getAllChipInfo$8(Landroid/util/MutableBoolean;Landroid/util/MutableBoolean;Landroid/util/MutableInt;Landroid/hardware/wifi/V1_0/WifiStatus;I)V
+SPLcom/android/server/wifi/HalDeviceManager;->lambda$getAllChipInfo$9(Landroid/util/MutableBoolean;Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/util/ArrayList;)V
+SPLcom/android/server/wifi/HalDeviceManager;->lambda$getName$0(Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/V1_0/WifiStatus;Ljava/lang/String;)V
+SPLcom/android/server/wifi/HalDeviceManager;->lambda$getType$23(Landroid/util/MutableInt;Landroid/hardware/wifi/V1_0/WifiStatus;I)V
+SPLcom/android/server/wifi/HalDeviceManager;->managerStatusListenerDispatch()V
+SPLcom/android/server/wifi/HalDeviceManager;->registerInterfaceAvailableForRequestListener(ILcom/android/server/wifi/HalDeviceManager$InterfaceAvailableForRequestListener;Landroid/os/Handler;)V
+SPLcom/android/server/wifi/HalDeviceManager;->registerRttControllerLifecycleCallback(Lcom/android/server/wifi/HalDeviceManager$InterfaceRttControllerLifecycleCallback;Landroid/os/Handler;)V
+SPLcom/android/server/wifi/HalDeviceManager;->registerStatusListener(Lcom/android/server/wifi/HalDeviceManager$ManagerStatusListener;Landroid/os/Handler;)V
+SPLcom/android/server/wifi/HalDeviceManager;->removeIface(Landroid/hardware/wifi/V1_0/IWifiIface;)Z
+SPLcom/android/server/wifi/HalDeviceManager;->removeIfaceInternal(Landroid/hardware/wifi/V1_0/IWifiIface;)Z
+SPLcom/android/server/wifi/HalDeviceManager;->selectInterfacesToDelete(I[Lcom/android/server/wifi/HalDeviceManager$WifiIfaceInfo;)Ljava/util/List;
+SPLcom/android/server/wifi/HalDeviceManager;->start()Z
+SPLcom/android/server/wifi/HalDeviceManager;->startWifi()Z
+SPLcom/android/server/wifi/HalDeviceManager;->stop()V
+SPLcom/android/server/wifi/HalDeviceManager;->stopWifi()V
+SPLcom/android/server/wifi/HalDeviceManager;->teardownInternal()V
+SPLcom/android/server/wifi/HalDeviceManager;->updateRttControllerOnModeChange()V
+SPLcom/android/server/wifi/HalDeviceManager;->validateInterfaceCache([Lcom/android/server/wifi/HalDeviceManager$WifiChipInfo;)Z
+SPLcom/android/server/wifi/HostapdHal$1;-><init>(Lcom/android/server/wifi/HostapdHal;)V
+SPLcom/android/server/wifi/HostapdHal;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wifi/HostapdHal;-><init>(Landroid/content/Context;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/HostapdHal;->toAcsChannelRanges(Ljava/lang/String;)Ljava/util/List;
+SPLcom/android/server/wifi/LastMileLogger;-><init>(Lcom/android/server/wifi/WifiInjector;)V
+SPLcom/android/server/wifi/LinkProbeManager;-><init>(Lcom/android/server/wifi/Clock;Lcom/android/server/wifi/WifiNative;Lcom/android/server/wifi/WifiMetrics;Lcom/android/server/wifi/FrameworkFacade;Landroid/os/Looper;Landroid/content/Context;)V
+SPLcom/android/server/wifi/LinkProbeManager;->enableVerboseLogging(Z)V
+SPLcom/android/server/wifi/LinkProbeManager;->reset()V
+SPLcom/android/server/wifi/LogcatLog$RealLogMessage;->c(J)Lcom/android/server/wifi/WifiLog$LogMessage;
+SPLcom/android/server/wifi/LogcatLog$RealLogMessage;->c(Ljava/lang/String;)Lcom/android/server/wifi/WifiLog$LogMessage;
+SPLcom/android/server/wifi/LogcatLog$RealLogMessage;->c(Z)Lcom/android/server/wifi/WifiLog$LogMessage;
+SPLcom/android/server/wifi/LogcatLog$RealLogMessage;->copyUntilPlaceholder()V
+SPLcom/android/server/wifi/LogcatLog$RealLogMessage;->flush()V
+SPLcom/android/server/wifi/LogcatLog;->d(Ljava/lang/String;)V
+SPLcom/android/server/wifi/LogcatLog;->info(Ljava/lang/String;)Lcom/android/server/wifi/WifiLog$LogMessage;
+SPLcom/android/server/wifi/LogcatLog;->trace(Ljava/lang/String;)Lcom/android/server/wifi/WifiLog$LogMessage;
+SPLcom/android/server/wifi/LogcatLog;->wC(Ljava/lang/String;)V
+SPLcom/android/server/wifi/NetworkListSharedStoreData;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wifi/NetworkListSharedStoreData;->getStoreFileId()I
+SPLcom/android/server/wifi/NetworkListUserStoreData;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wifi/NetworkListUserStoreData;->getStoreFileId()I
+SPLcom/android/server/wifi/NetworkRequestStoreData;->getStoreFileId()I
+SPLcom/android/server/wifi/NetworkSuggestionEvaluator;-><init>(Lcom/android/server/wifi/WifiNetworkSuggestionsManager;Lcom/android/server/wifi/WifiConfigManager;Landroid/util/LocalLog;)V
+SPLcom/android/server/wifi/NetworkSuggestionStoreData;->getStoreFileId()I
+SPLcom/android/server/wifi/RandomizedMacStoreData;-><init>()V
+SPLcom/android/server/wifi/RandomizedMacStoreData;->getStoreFileId()I
+SPLcom/android/server/wifi/SIMAccessor;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wifi/SarInfo;-><init>()V
+SPLcom/android/server/wifi/SarInfo;->reportingSuccessful()V
+SPLcom/android/server/wifi/SarInfo;->resetSarScenarioNeeded()Z
+SPLcom/android/server/wifi/SarInfo;->setSarScenarioNeeded(I)Z
+SPLcom/android/server/wifi/SarInfo;->shouldReport()Z
+SPLcom/android/server/wifi/SarManager$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/wifi/SarManager;-><init>(Landroid/content/Context;Landroid/telephony/TelephonyManager;Landroid/os/Looper;Lcom/android/server/wifi/WifiNative;Landroid/hardware/SensorManager;Lcom/android/server/wifi/WifiMetrics;)V
+SPLcom/android/server/wifi/SarManager;->checkAudioDevice()V
+SPLcom/android/server/wifi/SarManager;->handleScreenStateChanged(Z)V
+SPLcom/android/server/wifi/SarManager;->lambda$handleScreenStateChanged$0$SarManager()V
+SPLcom/android/server/wifi/SarManager;->readSarConfigs()V
+SPLcom/android/server/wifi/SarManager;->registerListeners()V
+SPLcom/android/server/wifi/SarManager;->setScanOnlyWifiState(I)V
+SPLcom/android/server/wifi/SarManager;->updateSarScenario()V
+SPLcom/android/server/wifi/SavedNetworkEvaluator;-><init>(Landroid/content/Context;Lcom/android/server/wifi/ScoringParams;Lcom/android/server/wifi/WifiConfigManager;Lcom/android/server/wifi/Clock;Landroid/util/LocalLog;Lcom/android/server/wifi/WifiConnectivityHelper;)V
+SPLcom/android/server/wifi/ScanOnlyModeManager$ScanOnlyModeStateMachine$1;->onDestroyed(Ljava/lang/String;)V
+SPLcom/android/server/wifi/ScanOnlyModeManager$ScanOnlyModeStateMachine$1;->onUp(Ljava/lang/String;)V
+SPLcom/android/server/wifi/ScanOnlyModeManager$ScanOnlyModeStateMachine$IdleState;->enter()V
+SPLcom/android/server/wifi/ScanOnlyModeManager$ScanOnlyModeStateMachine$IdleState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/ScanOnlyModeManager$ScanOnlyModeStateMachine$StartedState;->enter()V
+SPLcom/android/server/wifi/ScanOnlyModeManager$ScanOnlyModeStateMachine$StartedState;->exit()V
+SPLcom/android/server/wifi/ScanOnlyModeManager$ScanOnlyModeStateMachine$StartedState;->onUpChanged(Z)V
+SPLcom/android/server/wifi/ScanOnlyModeManager$ScanOnlyModeStateMachine;-><init>(Lcom/android/server/wifi/ScanOnlyModeManager;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/ScanOnlyModeManager;->getScanMode()I
+SPLcom/android/server/wifi/ScanOnlyModeManager;->start()V
+SPLcom/android/server/wifi/ScanOnlyModeManager;->stop()V
+SPLcom/android/server/wifi/ScanOnlyModeManager;->updateWifiState(I)V
+SPLcom/android/server/wifi/ScanRequestProxy$GlobalScanListener;->onSuccess()V
+SPLcom/android/server/wifi/ScanRequestProxy$ThrottleEnabledSettingObserver;->initialize()V
+SPLcom/android/server/wifi/ScanRequestProxy;-><init>(Landroid/content/Context;Landroid/app/AppOpsManager;Landroid/app/ActivityManager;Lcom/android/server/wifi/WifiInjector;Lcom/android/server/wifi/WifiConfigManager;Lcom/android/server/wifi/util/WifiPermissionsUtil;Lcom/android/server/wifi/WifiMetrics;Lcom/android/server/wifi/Clock;Lcom/android/server/wifi/FrameworkFacade;Landroid/os/Handler;)V
+SPLcom/android/server/wifi/ScanRequestProxy;->enableScanning(ZZ)V
+SPLcom/android/server/wifi/ScanRequestProxy;->enableScanningInternal(Z)V
+SPLcom/android/server/wifi/ScanRequestProxy;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/ScanRequestProxy;->retrieveWifiScannerIfNecessary()Z
+SPLcom/android/server/wifi/ScanRequestProxy;->sendScanAvailableBroadcast(Landroid/content/Context;Z)V
+SPLcom/android/server/wifi/ScoreCardBasedScorer;->getIdentifier()Ljava/lang/String;
+SPLcom/android/server/wifi/ScoredNetworkEvaluator$1;->onChange(Z)V
+SPLcom/android/server/wifi/ScoredNetworkEvaluator;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/wifi/FrameworkFacade;Landroid/net/NetworkScoreManager;Lcom/android/server/wifi/WifiConfigManager;Landroid/util/LocalLog;Landroid/net/wifi/WifiNetworkScoreCache;Lcom/android/server/wifi/util/WifiPermissionsUtil;)V
+SPLcom/android/server/wifi/ScoringParams$1;->onChange(Z)V
+SPLcom/android/server/wifi/ScoringParams$Values;-><init>(Lcom/android/server/wifi/ScoringParams;)V
+SPLcom/android/server/wifi/ScoringParams$Values;-><init>(Lcom/android/server/wifi/ScoringParams;Lcom/android/server/wifi/ScoringParams$Values;)V
+SPLcom/android/server/wifi/ScoringParams$Values;->parseString(Ljava/lang/String;)V
+SPLcom/android/server/wifi/ScoringParams$Values;->toString()Ljava/lang/String;
+SPLcom/android/server/wifi/ScoringParams$Values;->updateInt(Landroid/util/KeyValueListParser;Ljava/lang/String;I)I
+SPLcom/android/server/wifi/ScoringParams$Values;->updateIntArray([ILandroid/util/KeyValueListParser;Ljava/lang/String;)V
+SPLcom/android/server/wifi/ScoringParams$Values;->validate()V
+SPLcom/android/server/wifi/ScoringParams;-><init>(Landroid/content/Context;Lcom/android/server/wifi/FrameworkFacade;Landroid/os/Handler;)V
+SPLcom/android/server/wifi/ScoringParams;->getEntryRssi(I)I
+SPLcom/android/server/wifi/ScoringParams;->getGoodRssi(I)I
+SPLcom/android/server/wifi/ScoringParams;->loadResources(Landroid/content/Context;)V
+SPLcom/android/server/wifi/ScoringParams;->toString()Ljava/lang/String;
+SPLcom/android/server/wifi/ScoringParams;->update(Ljava/lang/String;)Z
+SPLcom/android/server/wifi/SelfRecovery;-><init>(Lcom/android/server/wifi/WifiController;Lcom/android/server/wifi/Clock;)V
+SPLcom/android/server/wifi/SsidSetStoreData;-><init>(Ljava/lang/String;Lcom/android/server/wifi/SsidSetStoreData$DataSource;)V
+SPLcom/android/server/wifi/SsidSetStoreData;->getStoreFileId()I
+SPLcom/android/server/wifi/SupplicantStaIfaceHal$1;-><init>(Lcom/android/server/wifi/SupplicantStaIfaceHal;)V
+SPLcom/android/server/wifi/SupplicantStaIfaceHal$1;->onRegistration(Ljava/lang/String;Ljava/lang/String;Z)V
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;-><init>(Landroid/content/Context;Lcom/android/server/wifi/WifiMonitor;Lcom/android/server/wifi/PropertyService;)V
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;-><init>(Landroid/content/Context;Lcom/android/server/wifi/WifiMonitor;Lcom/android/server/wifi/PropertyService;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->access$000(Lcom/android/server/wifi/SupplicantStaIfaceHal;)Ljava/lang/Object;
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->access$100(Lcom/android/server/wifi/SupplicantStaIfaceHal;)Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->access$200(Lcom/android/server/wifi/SupplicantStaIfaceHal;)Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->addIfaceV1_1(Ljava/lang/String;)Landroid/hardware/wifi/supplicant/V1_0/ISupplicantIface;
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->checkHalVersionByInterfaceName(Ljava/lang/String;)Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->checkStatusAndLogFailure(Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;Ljava/lang/String;)Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->checkSupplicantAndLogFailure(Ljava/lang/String;)Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->checkSupplicantStaIfaceAndLogFailure(Ljava/lang/String;Ljava/lang/String;)Landroid/hardware/wifi/supplicant/V1_0/ISupplicantStaIface;
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->enableVerboseLogging(Z)V
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->getAdvancedKeyMgmtCapabilities(Ljava/lang/String;)I
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->getKeyMgmtCapabilities(Ljava/lang/String;)I
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->getServiceManagerMockable()Landroid/hidl/manager/V1_0/IServiceManager;
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->getStaIfaceMockableV1_2(Landroid/hardware/wifi/supplicant/V1_0/ISupplicantIface;)Landroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface;
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->getSupplicantMockable()Landroid/hardware/wifi/supplicant/V1_0/ISupplicant;
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->getSupplicantMockableV1_1()Landroid/hardware/wifi/supplicant/V1_1/ISupplicant;
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->initSupplicantService()Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->initialize()Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->isInitializationComplete()Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->isInitializationStarted()Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->lambda$addIfaceV1_1$2(Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;Landroid/hardware/wifi/supplicant/V1_0/ISupplicantIface;)V
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->lambda$addIfaceV1_1$4(Landroid/os/HidlSupport$Mutable;Landroid/hardware/wifi/supplicant/V1_0/SupplicantStatus;Landroid/hardware/wifi/supplicant/V1_0/ISupplicantIface;)V
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->linkToServiceManagerDeath()Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->linkToSupplicantDeath()Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->registerCallbackV1_2(Landroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIface;Landroid/hardware/wifi/supplicant/V1_2/ISupplicantStaIfaceCallback;)Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->registerDeathHandler(Lcom/android/server/wifi/WifiNative$SupplicantDeathEventHandler;)Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->registerDppCallback(Lcom/android/server/wifi/WifiNative$DppEventCallback;)V
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->setDebugParams(IZZ)Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->setLogLevel(Z)Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->setupIface(Ljava/lang/String;)Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->startDaemon()Z
+SPLcom/android/server/wifi/SupplicantStaIfaceHal;->startDaemon_V1_1()Z
+SPLcom/android/server/wifi/SupplicantStateTracker$DefaultState;->enter()V
+SPLcom/android/server/wifi/SupplicantStateTracker$UninitializedState;->enter()V
+SPLcom/android/server/wifi/SupplicantStateTracker;-><init>(Landroid/content/Context;Lcom/android/server/wifi/WifiConfigManager;Lcom/android/server/wifi/FrameworkFacade;Landroid/os/Handler;)V
+SPLcom/android/server/wifi/SupplicantStateTracker;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/SystemBuildProperties;-><init>()V
+SPLcom/android/server/wifi/SystemBuildProperties;->isUserBuild()Z
+SPLcom/android/server/wifi/SystemPropertyService;-><init>()V
+SPLcom/android/server/wifi/SystemPropertyService;->getBoolean(Ljava/lang/String;Z)Z
+SPLcom/android/server/wifi/SystemPropertyService;->set(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/wifi/VelocityBasedConnectedScore;-><init>(Lcom/android/server/wifi/ScoringParams;Lcom/android/server/wifi/Clock;)V
+SPLcom/android/server/wifi/WakeupConfigStoreData;->getStoreFileId()I
+SPLcom/android/server/wifi/WakeupConfigStoreData;->hasBeenRead()Z
+SPLcom/android/server/wifi/WakeupController$1;->onSuccess()V
+SPLcom/android/server/wifi/WakeupController;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/wifi/WakeupLock;Lcom/android/server/wifi/WakeupEvaluator;Lcom/android/server/wifi/WakeupOnboarding;Lcom/android/server/wifi/WifiConfigManager;Lcom/android/server/wifi/WifiConfigStore;Lcom/android/server/wifi/WifiWakeMetrics;Lcom/android/server/wifi/WifiInjector;Lcom/android/server/wifi/FrameworkFacade;Lcom/android/server/wifi/Clock;)V
+SPLcom/android/server/wifi/WakeupController;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/WakeupController;->isEnabled()Z
+SPLcom/android/server/wifi/WakeupController;->readWifiWakeupEnabledFromSettings()V
+SPLcom/android/server/wifi/WakeupController;->setActive(Z)V
+SPLcom/android/server/wifi/WakeupController;->start()V
+SPLcom/android/server/wifi/WakeupController;->stop()V
+SPLcom/android/server/wifi/WakeupEvaluator;-><init>(Lcom/android/server/wifi/ScoringParams;)V
+SPLcom/android/server/wifi/WakeupEvaluator;->fromContext(Landroid/content/Context;)Lcom/android/server/wifi/WakeupEvaluator;
+SPLcom/android/server/wifi/WakeupLock;-><init>(Lcom/android/server/wifi/WifiConfigManager;Lcom/android/server/wifi/WifiWakeMetrics;Lcom/android/server/wifi/Clock;)V
+SPLcom/android/server/wifi/WakeupLock;->enableVerboseLogging(Z)V
+SPLcom/android/server/wifi/WakeupLock;->getDataSource()Lcom/android/server/wifi/WakeupConfigStoreData$DataSource;
+SPLcom/android/server/wifi/WakeupNotificationFactory;-><init>(Landroid/content/Context;Lcom/android/server/wifi/FrameworkFacade;)V
+SPLcom/android/server/wifi/WakeupOnboarding;-><init>(Landroid/content/Context;Lcom/android/server/wifi/WifiConfigManager;Landroid/os/Looper;Lcom/android/server/wifi/FrameworkFacade;Lcom/android/server/wifi/WakeupNotificationFactory;)V
+SPLcom/android/server/wifi/WakeupOnboarding;->getIsOnboadedDataSource()Lcom/android/server/wifi/WakeupConfigStoreData$DataSource;
+SPLcom/android/server/wifi/WakeupOnboarding;->getNotificationsDataSource()Lcom/android/server/wifi/WakeupConfigStoreData$DataSource;
+SPLcom/android/server/wifi/WakeupOnboarding;->onStop()V
+SPLcom/android/server/wifi/WifiApConfigStore;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/wifi/BackupManagerProxy;Lcom/android/server/wifi/FrameworkFacade;)V
+SPLcom/android/server/wifi/WifiApConfigStore;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/wifi/BackupManagerProxy;Lcom/android/server/wifi/FrameworkFacade;Ljava/lang/String;)V
+SPLcom/android/server/wifi/WifiApConfigStore;->loadApConfiguration(Ljava/lang/String;)Landroid/net/wifi/WifiConfiguration;
+SPLcom/android/server/wifi/WifiBackupRestore;-><init>(Lcom/android/server/wifi/util/WifiPermissionsUtil;)V
+SPLcom/android/server/wifi/WifiBackupRestore;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/WifiConfigManager$1;-><init>()V
+SPLcom/android/server/wifi/WifiConfigManager$2;-><init>(Lcom/android/server/wifi/WifiConfigManager;Landroid/os/Handler;)V
+SPLcom/android/server/wifi/WifiConfigManager$3;-><init>(Lcom/android/server/wifi/WifiConfigManager;Landroid/os/Handler;)V
+SPLcom/android/server/wifi/WifiConfigManager;-><init>(Landroid/content/Context;Lcom/android/server/wifi/Clock;Landroid/os/UserManager;Landroid/telephony/TelephonyManager;Lcom/android/server/wifi/WifiKeyStore;Lcom/android/server/wifi/WifiConfigStore;Lcom/android/server/wifi/WifiConfigStoreLegacy;Lcom/android/server/wifi/util/WifiPermissionsUtil;Lcom/android/server/wifi/util/WifiPermissionsWrapper;Lcom/android/server/wifi/NetworkListSharedStoreData;Lcom/android/server/wifi/NetworkListUserStoreData;Lcom/android/server/wifi/DeletedEphemeralSsidsStoreData;Lcom/android/server/wifi/RandomizedMacStoreData;Lcom/android/server/wifi/FrameworkFacade;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/WifiConfigManager;-><init>(Landroid/content/Context;Lcom/android/server/wifi/Clock;Landroid/os/UserManager;Landroid/telephony/TelephonyManager;Lcom/android/server/wifi/WifiKeyStore;Lcom/android/server/wifi/WifiConfigStore;Lcom/android/server/wifi/util/WifiPermissionsUtil;Lcom/android/server/wifi/util/WifiPermissionsWrapper;Lcom/android/server/wifi/NetworkListSharedStoreData;Lcom/android/server/wifi/NetworkListUserStoreData;Lcom/android/server/wifi/DeletedEphemeralSsidsStoreData;Lcom/android/server/wifi/RandomizedMacStoreData;Lcom/android/server/wifi/FrameworkFacade;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/WifiConfigManager;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/WifiConfigManager;->saveToStore(Z)Z
+SPLcom/android/server/wifi/WifiConfigManager;->setOnSavedNetworkUpdateListener(Lcom/android/server/wifi/WifiConfigManager$OnSavedNetworkUpdateListener;)V
+SPLcom/android/server/wifi/WifiConfigManager;->updatePnoFrequencyCullingSetting()V
+SPLcom/android/server/wifi/WifiConfigManager;->updatePnoRecencySortingSetting()V
+SPLcom/android/server/wifi/WifiConfigStore$1;-><init>()V
+SPLcom/android/server/wifi/WifiConfigStore$StoreFile;-><init>(Ljava/io/File;I)V
+SPLcom/android/server/wifi/WifiConfigStore;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/wifi/Clock;Lcom/android/server/wifi/WifiConfigStore$StoreFile;)V
+SPLcom/android/server/wifi/WifiConfigStore;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/wifi/Clock;Lcom/android/server/wifi/WifiMetrics;Lcom/android/server/wifi/WifiConfigStore$StoreFile;)V
+SPLcom/android/server/wifi/WifiConfigStore;->createFile(Ljava/io/File;I)Lcom/android/server/wifi/WifiConfigStore$StoreFile;
+SPLcom/android/server/wifi/WifiConfigStore;->createSharedFile()Lcom/android/server/wifi/WifiConfigStore$StoreFile;
+SPLcom/android/server/wifi/WifiConfigStore;->enableVerboseLogging(Z)V
+SPLcom/android/server/wifi/WifiConfigStore;->registerStoreData(Lcom/android/server/wifi/WifiConfigStore$StoreData;)Z
+SPLcom/android/server/wifi/WifiConfigStoreLegacy$IpConfigStoreWrapper;-><init>()V
+SPLcom/android/server/wifi/WifiConfigStoreLegacy;-><init>(Lcom/android/server/wifi/WifiNetworkHistory;Lcom/android/server/wifi/WifiNative;Lcom/android/server/wifi/WifiConfigStoreLegacy$IpConfigStoreWrapper;Lcom/android/server/wifi/hotspot2/LegacyPasspointConfigParser;)V
+SPLcom/android/server/wifi/WifiConnectivityHelper;-><init>(Lcom/android/server/wifi/WifiNative;)V
+SPLcom/android/server/wifi/WifiConnectivityManager$1;-><init>(Lcom/android/server/wifi/WifiConnectivityManager;)V
+SPLcom/android/server/wifi/WifiConnectivityManager$2;-><init>(Lcom/android/server/wifi/WifiConnectivityManager;)V
+SPLcom/android/server/wifi/WifiConnectivityManager$3;-><init>(Lcom/android/server/wifi/WifiConnectivityManager;)V
+SPLcom/android/server/wifi/WifiConnectivityManager$AllSingleScanListener;-><init>(Lcom/android/server/wifi/WifiConnectivityManager;Lcom/android/server/wifi/WifiConnectivityManager$1;)V
+SPLcom/android/server/wifi/WifiConnectivityManager$OnSavedNetworkUpdateListener;-><init>(Lcom/android/server/wifi/WifiConnectivityManager;Lcom/android/server/wifi/WifiConnectivityManager$1;)V
+SPLcom/android/server/wifi/WifiConnectivityManager$PnoScanListener;-><init>(Lcom/android/server/wifi/WifiConnectivityManager;Lcom/android/server/wifi/WifiConnectivityManager$1;)V
+SPLcom/android/server/wifi/WifiConnectivityManager;-><init>(Landroid/content/Context;Lcom/android/server/wifi/ScoringParams;Lcom/android/server/wifi/ClientModeImpl;Lcom/android/server/wifi/WifiInjector;Lcom/android/server/wifi/WifiConfigManager;Landroid/net/wifi/WifiInfo;Lcom/android/server/wifi/WifiNetworkSelector;Lcom/android/server/wifi/WifiConnectivityHelper;Lcom/android/server/wifi/WifiLastResortWatchdog;Lcom/android/server/wifi/OpenNetworkNotifier;Lcom/android/server/wifi/CarrierNetworkNotifier;Lcom/android/server/wifi/CarrierNetworkConfig;Lcom/android/server/wifi/WifiMetrics;Landroid/os/Looper;Lcom/android/server/wifi/Clock;Landroid/util/LocalLog;Lcom/android/server/wifi/SavedNetworkEvaluator;Lcom/android/server/wifi/ScoredNetworkEvaluator;Lcom/android/server/wifi/hotspot2/PasspointNetworkEvaluator;Lcom/android/server/wifi/NetworkSuggestionEvaluator;Lcom/android/server/wifi/CarrierNetworkEvaluator;)V
+SPLcom/android/server/wifi/WifiConnectivityManager;->handleScreenStateChanged(Z)V
+SPLcom/android/server/wifi/WifiConnectivityManager;->initialScoreMax()I
+SPLcom/android/server/wifi/WifiConnectivityManager;->localLog(Ljava/lang/String;)V
+SPLcom/android/server/wifi/WifiConnectivityManager;->startConnectivityScan(Z)V
+SPLcom/android/server/wifi/WifiController$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/wifi/WifiController$DefaultState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/WifiController$StaDisabledState;->doDeferEnable(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/WifiController$StaDisabledState;->enter()V
+SPLcom/android/server/wifi/WifiController$StaDisabledState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/WifiController$StaDisabledWithScanState;->doDeferEnable(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/WifiController$StaDisabledWithScanState;->enter()V
+SPLcom/android/server/wifi/WifiController$StaDisabledWithScanState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/WifiController$StaEnabledState;->enter()V
+SPLcom/android/server/wifi/WifiController$StaEnabledState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/WifiController;-><init>(Landroid/content/Context;Lcom/android/server/wifi/ClientModeImpl;Landroid/os/Looper;Lcom/android/server/wifi/WifiSettingsStore;Landroid/os/Looper;Lcom/android/server/wifi/FrameworkFacade;Lcom/android/server/wifi/ActiveModeWarden;)V
+SPLcom/android/server/wifi/WifiCountryCode;-><init>(Lcom/android/server/wifi/WifiNative;Ljava/lang/String;Z)V
+SPLcom/android/server/wifi/WifiCountryCode;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/WifiDataStall;-><init>(Landroid/content/Context;Lcom/android/server/wifi/FrameworkFacade;Lcom/android/server/wifi/WifiMetrics;)V
+SPLcom/android/server/wifi/WifiDataStall;->loadSettings()V
+SPLcom/android/server/wifi/WifiDiagnostics;-><init>(Landroid/content/Context;Lcom/android/server/wifi/WifiInjector;Lcom/android/server/wifi/WifiNative;Lcom/android/server/wifi/BuildProperties;Lcom/android/server/wifi/LastMileLogger;Lcom/android/server/wifi/Clock;)V
+SPLcom/android/server/wifi/WifiDiagnostics;->clearVerboseLogs()V
+SPLcom/android/server/wifi/WifiDiagnostics;->fetchRingBuffers()Z
+SPLcom/android/server/wifi/WifiDiagnostics;->startLogging(Z)V
+SPLcom/android/server/wifi/WifiInjector;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wifi/WifiInjector;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/WifiInjector;->getActiveModeWarden()Lcom/android/server/wifi/ActiveModeWarden;
+SPLcom/android/server/wifi/WifiInjector;->getBuildProperties()Lcom/android/server/wifi/BuildProperties;
+SPLcom/android/server/wifi/WifiInjector;->getClientModeImpl()Lcom/android/server/wifi/ClientModeImpl;
+SPLcom/android/server/wifi/WifiInjector;->getClientModeImplHandler()Landroid/os/Handler;
+SPLcom/android/server/wifi/WifiInjector;->getClock()Lcom/android/server/wifi/Clock;
+SPLcom/android/server/wifi/WifiInjector;->getDppManager()Lcom/android/server/wifi/DppManager;
+SPLcom/android/server/wifi/WifiInjector;->getFrameworkFacade()Lcom/android/server/wifi/FrameworkFacade;
+SPLcom/android/server/wifi/WifiInjector;->getHalDeviceManager()Lcom/android/server/wifi/HalDeviceManager;
+SPLcom/android/server/wifi/WifiInjector;->getJavaRuntime()Ljava/lang/Runtime;
+SPLcom/android/server/wifi/WifiInjector;->getPasspointManager()Lcom/android/server/wifi/hotspot2/PasspointManager;
+SPLcom/android/server/wifi/WifiInjector;->getPowerProfile()Lcom/android/internal/os/PowerProfile;
+SPLcom/android/server/wifi/WifiInjector;->getPropertyService()Lcom/android/server/wifi/PropertyService;
+SPLcom/android/server/wifi/WifiInjector;->getRttHandlerThread()Landroid/os/HandlerThread;
+SPLcom/android/server/wifi/WifiInjector;->getScanRequestProxy()Lcom/android/server/wifi/ScanRequestProxy;
+SPLcom/android/server/wifi/WifiInjector;->getScoringParams()Lcom/android/server/wifi/ScoringParams;
+SPLcom/android/server/wifi/WifiInjector;->getSelfRecovery()Lcom/android/server/wifi/SelfRecovery;
+SPLcom/android/server/wifi/WifiInjector;->getUserManager()Landroid/os/UserManager;
+SPLcom/android/server/wifi/WifiInjector;->getWifiApConfigStore()Lcom/android/server/wifi/WifiApConfigStore;
+SPLcom/android/server/wifi/WifiInjector;->getWifiAwareHandlerThread()Landroid/os/HandlerThread;
+SPLcom/android/server/wifi/WifiInjector;->getWifiBackupRestore()Lcom/android/server/wifi/WifiBackupRestore;
+SPLcom/android/server/wifi/WifiInjector;->getWifiConfigManager()Lcom/android/server/wifi/WifiConfigManager;
+SPLcom/android/server/wifi/WifiInjector;->getWifiController()Lcom/android/server/wifi/WifiController;
+SPLcom/android/server/wifi/WifiInjector;->getWifiCountryCode()Lcom/android/server/wifi/WifiCountryCode;
+SPLcom/android/server/wifi/WifiInjector;->getWifiDataStall()Lcom/android/server/wifi/WifiDataStall;
+SPLcom/android/server/wifi/WifiInjector;->getWifiDiagnostics()Lcom/android/server/wifi/BaseWifiDiagnostics;
+SPLcom/android/server/wifi/WifiInjector;->getWifiLockManager()Lcom/android/server/wifi/WifiLockManager;
+SPLcom/android/server/wifi/WifiInjector;->getWifiMetrics()Lcom/android/server/wifi/WifiMetrics;
+SPLcom/android/server/wifi/WifiInjector;->getWifiMonitor()Lcom/android/server/wifi/WifiMonitor;
+SPLcom/android/server/wifi/WifiInjector;->getWifiMulticastLockManager()Lcom/android/server/wifi/WifiMulticastLockManager;
+SPLcom/android/server/wifi/WifiInjector;->getWifiNative()Lcom/android/server/wifi/WifiNative;
+SPLcom/android/server/wifi/WifiInjector;->getWifiNetworkSuggestionsManager()Lcom/android/server/wifi/WifiNetworkSuggestionsManager;
+SPLcom/android/server/wifi/WifiInjector;->getWifiP2pMetrics()Lcom/android/server/wifi/p2p/WifiP2pMetrics;
+SPLcom/android/server/wifi/WifiInjector;->getWifiP2pMonitor()Lcom/android/server/wifi/p2p/WifiP2pMonitor;
+SPLcom/android/server/wifi/WifiInjector;->getWifiP2pNative()Lcom/android/server/wifi/p2p/WifiP2pNative;
+SPLcom/android/server/wifi/WifiInjector;->getWifiP2pServiceHandlerThread()Landroid/os/HandlerThread;
+SPLcom/android/server/wifi/WifiInjector;->getWifiPermissionsUtil()Lcom/android/server/wifi/util/WifiPermissionsUtil;
+SPLcom/android/server/wifi/WifiInjector;->getWifiPermissionsWrapper()Lcom/android/server/wifi/util/WifiPermissionsWrapper;
+SPLcom/android/server/wifi/WifiInjector;->getWifiScanner()Landroid/net/wifi/WifiScanner;
+SPLcom/android/server/wifi/WifiInjector;->getWifiScoreCard()Lcom/android/server/wifi/WifiScoreCard;
+SPLcom/android/server/wifi/WifiInjector;->getWifiServiceHandlerThread()Landroid/os/HandlerThread;
+SPLcom/android/server/wifi/WifiInjector;->getWifiSettingsStore()Lcom/android/server/wifi/WifiSettingsStore;
+SPLcom/android/server/wifi/WifiInjector;->getWifiStateTracker()Lcom/android/server/wifi/WifiStateTracker;
+SPLcom/android/server/wifi/WifiInjector;->getWifiTrafficPoller()Lcom/android/server/wifi/WifiTrafficPoller;
+SPLcom/android/server/wifi/WifiInjector;->makeClientModeManager(Lcom/android/server/wifi/ClientModeManager$Listener;)Lcom/android/server/wifi/ClientModeManager;
+SPLcom/android/server/wifi/WifiInjector;->makeLog(Ljava/lang/String;)Lcom/android/server/wifi/WifiLog;
+SPLcom/android/server/wifi/WifiInjector;->makeNetworkRequestStoreData(Lcom/android/server/wifi/NetworkRequestStoreData$DataSource;)Lcom/android/server/wifi/NetworkRequestStoreData;
+SPLcom/android/server/wifi/WifiInjector;->makeNetworkSuggestionStoreData(Lcom/android/server/wifi/NetworkSuggestionStoreData$DataSource;)Lcom/android/server/wifi/NetworkSuggestionStoreData;
+SPLcom/android/server/wifi/WifiInjector;->makeScanOnlyModeManager(Lcom/android/server/wifi/ScanOnlyModeManager$Listener;)Lcom/android/server/wifi/ScanOnlyModeManager;
+SPLcom/android/server/wifi/WifiInjector;->makeTelephonyManager()Landroid/telephony/TelephonyManager;
+SPLcom/android/server/wifi/WifiInjector;->makeUntrustedWifiNetworkFactory(Landroid/net/NetworkCapabilities;Lcom/android/server/wifi/WifiConnectivityManager;)Lcom/android/server/wifi/UntrustedWifiNetworkFactory;
+SPLcom/android/server/wifi/WifiInjector;->makeWifiConnectivityManager(Lcom/android/server/wifi/ClientModeImpl;)Lcom/android/server/wifi/WifiConnectivityManager;
+SPLcom/android/server/wifi/WifiInjector;->makeWifiNetworkFactory(Landroid/net/NetworkCapabilities;Lcom/android/server/wifi/WifiConnectivityManager;)Lcom/android/server/wifi/WifiNetworkFactory;
+SPLcom/android/server/wifi/WifiInjector;->makeWificond()Landroid/net/wifi/IWificond;
+SPLcom/android/server/wifi/WifiKeyStore;-><init>(Landroid/security/KeyStore;)V
+SPLcom/android/server/wifi/WifiKeyStore;->enableVerboseLogging(Z)V
+SPLcom/android/server/wifi/WifiLastResortWatchdog;-><init>(Lcom/android/server/wifi/WifiInjector;Lcom/android/server/wifi/Clock;Lcom/android/server/wifi/WifiMetrics;Lcom/android/server/wifi/ClientModeImpl;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/WifiLastResortWatchdog;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/WifiLockManager$1;->lambda$onUidImportance$0$WifiLockManager$1(II)V
+SPLcom/android/server/wifi/WifiLockManager$1;->lambda$onUidImportance$0(Lcom/android/server/wifi/WifiLockManager$1;II)V
+SPLcom/android/server/wifi/WifiLockManager$1;->onUidImportance(II)V
+SPLcom/android/server/wifi/WifiLockManager$ClientModeImplInterfaceHandler;-><init>(Lcom/android/server/wifi/WifiLockManager;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/WifiLockManager$ClientModeImplInterfaceHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/wifi/WifiLockManager;-><init>(Landroid/content/Context;Lcom/android/internal/app/IBatteryStats;Lcom/android/server/wifi/ClientModeImpl;Lcom/android/server/wifi/FrameworkFacade;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/WifiLockManager;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/WifiMetrics;-><init>(Landroid/content/Context;Lcom/android/server/wifi/FrameworkFacade;Lcom/android/server/wifi/Clock;Landroid/os/Looper;Lcom/android/server/wifi/aware/WifiAwareMetrics;Lcom/android/server/wifi/rtt/RttMetrics;Lcom/android/server/wifi/WifiPowerMetrics;Lcom/android/server/wifi/p2p/WifiP2pMetrics;Lcom/android/server/wifi/DppMetrics;)V
+SPLcom/android/server/wifi/WifiMetrics;->getRttMetrics()Lcom/android/server/wifi/rtt/RttMetrics;
+SPLcom/android/server/wifi/WifiMetrics;->getWakeupMetrics()Lcom/android/server/wifi/WifiWakeMetrics;
+SPLcom/android/server/wifi/WifiMetrics;->getWifiAwareMetrics()Lcom/android/server/wifi/aware/WifiAwareMetrics;
+SPLcom/android/server/wifi/WifiMetrics;->incrementScanReturnEntry(II)V
+SPLcom/android/server/wifi/WifiMetrics;->loadSettings()V
+SPLcom/android/server/wifi/WifiMetrics;->setIsMacRandomizationOn(Z)V
+SPLcom/android/server/wifi/WifiMetrics;->setIsWifiNetworksAvailableNotificationEnabled(Ljava/lang/String;Z)V
+SPLcom/android/server/wifi/WifiMetrics;->setLinkSpeedCountsLoggingEnabled(Z)V
+SPLcom/android/server/wifi/WifiMetrics;->setPasspointManager(Lcom/android/server/wifi/hotspot2/PasspointManager;)V
+SPLcom/android/server/wifi/WifiMetrics;->setScoringParams(Lcom/android/server/wifi/ScoringParams;)V
+SPLcom/android/server/wifi/WifiMetrics;->setScreenState(Z)V
+SPLcom/android/server/wifi/WifiMetrics;->setWifiConfigManager(Lcom/android/server/wifi/WifiConfigManager;)V
+SPLcom/android/server/wifi/WifiMetrics;->setWifiDataStall(Lcom/android/server/wifi/WifiDataStall;)V
+SPLcom/android/server/wifi/WifiMetrics;->setWifiDataStallMinRxWithoutTx(I)V
+SPLcom/android/server/wifi/WifiMetrics;->setWifiDataStallMinTxBad(I)V
+SPLcom/android/server/wifi/WifiMetrics;->setWifiIsUnusableLoggingEnabled(Z)V
+SPLcom/android/server/wifi/WifiMetrics;->setWifiNetworkSelector(Lcom/android/server/wifi/WifiNetworkSelector;)V
+SPLcom/android/server/wifi/WifiMonitor;-><init>(Lcom/android/server/wifi/WifiInjector;)V
+SPLcom/android/server/wifi/WifiMonitor;->broadcastSupplicantConnectionEvent(Ljava/lang/String;)V
+SPLcom/android/server/wifi/WifiMonitor;->broadcastSupplicantDisconnectionEvent(Ljava/lang/String;)V
+SPLcom/android/server/wifi/WifiMonitor;->deregisterHandler(Ljava/lang/String;ILandroid/os/Handler;)V
+SPLcom/android/server/wifi/WifiMonitor;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/WifiMonitor;->registerHandler(Ljava/lang/String;ILandroid/os/Handler;)V
+SPLcom/android/server/wifi/WifiMonitor;->sendMessage(Ljava/lang/String;Landroid/os/Message;)V
+SPLcom/android/server/wifi/WifiMonitor;->setMonitoring(Ljava/lang/String;Z)V
+SPLcom/android/server/wifi/WifiMonitor;->startMonitoring(Ljava/lang/String;)V
+SPLcom/android/server/wifi/WifiMonitor;->stopMonitoring(Ljava/lang/String;)V
+SPLcom/android/server/wifi/WifiMulticastLockManager;-><init>(Lcom/android/server/wifi/WifiMulticastLockManager$FilterController;Lcom/android/internal/app/IBatteryStats;)V
+SPLcom/android/server/wifi/WifiMulticastLockManager;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/WifiNative$Iface;->toString()Ljava/lang/String;
+SPLcom/android/server/wifi/WifiNative$IfaceManager;->getIface(Ljava/lang/String;)Lcom/android/server/wifi/WifiNative$Iface;
+SPLcom/android/server/wifi/WifiNative$InterfaceDestoyedListenerInternal;->onDestroyed(Ljava/lang/String;)V
+SPLcom/android/server/wifi/WifiNative$NetworkObserverInternal;->interfaceLinkStateChanged(Ljava/lang/String;Z)V
+SPLcom/android/server/wifi/WifiNative$NetworkObserverInternal;->lambda$interfaceLinkStateChanged$0$WifiNative$NetworkObserverInternal(Ljava/lang/String;)V
+SPLcom/android/server/wifi/WifiNative$NetworkObserverInternal;->lambda$interfaceLinkStateChanged$0(Lcom/android/server/wifi/WifiNative$NetworkObserverInternal;Ljava/lang/String;)V
+SPLcom/android/server/wifi/WifiNative;-><init>(Lcom/android/server/wifi/WifiVendorHal;Lcom/android/server/wifi/SupplicantStaIfaceHal;Lcom/android/server/wifi/HostapdHal;Lcom/android/server/wifi/WificondControl;Lcom/android/server/wifi/WifiMonitor;Landroid/os/INetworkManagementService;Lcom/android/server/wifi/PropertyService;Lcom/android/server/wifi/WifiMetrics;Landroid/os/Handler;Ljava/util/Random;)V
+SPLcom/android/server/wifi/WifiNative;->createStaIface(Lcom/android/server/wifi/WifiNative$Iface;Z)Ljava/lang/String;
+SPLcom/android/server/wifi/WifiNative;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/WifiNative;->getBgScanCapabilities(Ljava/lang/String;Lcom/android/server/wifi/WifiNative$ScanCapabilities;)Z
+SPLcom/android/server/wifi/WifiNative;->getChannelsForBand(I)[I
+SPLcom/android/server/wifi/WifiNative;->getClientInterfaceName()Ljava/lang/String;
+SPLcom/android/server/wifi/WifiNative;->getDriverVersion()Ljava/lang/String;
+SPLcom/android/server/wifi/WifiNative;->getFirmwareVersion()Ljava/lang/String;
+SPLcom/android/server/wifi/WifiNative;->getRingBufferStatus()[Lcom/android/server/wifi/WifiNative$RingBufferStatus;
+SPLcom/android/server/wifi/WifiNative;->getSupportedFeatureSet(Ljava/lang/String;)J
+SPLcom/android/server/wifi/WifiNative;->getSupportedLoggerFeatureSet()I
+SPLcom/android/server/wifi/WifiNative;->initialize()Z
+SPLcom/android/server/wifi/WifiNative;->initializeNwParamsForClientInterface(Ljava/lang/String;)V
+SPLcom/android/server/wifi/WifiNative;->isInterfaceUp(Ljava/lang/String;)Z
+SPLcom/android/server/wifi/WifiNative;->onClientInterfaceForScanDestroyed(Lcom/android/server/wifi/WifiNative$Iface;)V
+SPLcom/android/server/wifi/WifiNative;->onInterfaceDestroyed(Lcom/android/server/wifi/WifiNative$Iface;)V
+SPLcom/android/server/wifi/WifiNative;->onInterfaceStateChanged(Lcom/android/server/wifi/WifiNative$Iface;Z)V
+SPLcom/android/server/wifi/WifiNative;->registerDppEventCallback(Lcom/android/server/wifi/WifiNative$DppEventCallback;)V
+SPLcom/android/server/wifi/WifiNative;->registerNetworkObserver(Lcom/android/server/wifi/WifiNative$NetworkObserverInternal;)Z
+SPLcom/android/server/wifi/WifiNative;->registerStatusListener(Lcom/android/server/wifi/WifiNative$StatusListener;)V
+SPLcom/android/server/wifi/WifiNative;->removeStaIface(Lcom/android/server/wifi/WifiNative$Iface;)Z
+SPLcom/android/server/wifi/WifiNative;->selectTxPowerScenario(Lcom/android/server/wifi/SarInfo;)Z
+SPLcom/android/server/wifi/WifiNative;->setLoggingEventHandler(Lcom/android/server/wifi/WifiNative$WifiLoggerEventHandler;)Z
+SPLcom/android/server/wifi/WifiNative;->setSupplicantLogLevel(Z)V
+SPLcom/android/server/wifi/WifiNative;->setupInterfaceForClientInConnectivityMode(Lcom/android/server/wifi/WifiNative$InterfaceCallback;)Ljava/lang/String;
+SPLcom/android/server/wifi/WifiNative;->setupInterfaceForClientInScanMode(Lcom/android/server/wifi/WifiNative$InterfaceCallback;)Ljava/lang/String;
+SPLcom/android/server/wifi/WifiNative;->startAndWaitForSupplicantConnection()Z
+SPLcom/android/server/wifi/WifiNative;->startHal()Z
+SPLcom/android/server/wifi/WifiNative;->startPktFateMonitoring(Ljava/lang/String;)Z
+SPLcom/android/server/wifi/WifiNative;->startSupplicant()Z
+SPLcom/android/server/wifi/WifiNative;->stopHalAndWificondIfNecessary()V
+SPLcom/android/server/wifi/WifiNative;->stopPnoScan(Ljava/lang/String;)Z
+SPLcom/android/server/wifi/WifiNative;->teardownInterface(Ljava/lang/String;)V
+SPLcom/android/server/wifi/WifiNative;->unregisterNetworkObserver(Lcom/android/server/wifi/WifiNative$NetworkObserverInternal;)Z
+SPLcom/android/server/wifi/WifiNetworkFactory$ConnectionTimeoutAlarmListener;-><init>(Lcom/android/server/wifi/WifiNetworkFactory;)V
+SPLcom/android/server/wifi/WifiNetworkFactory$NetworkFactoryScanListener;-><init>(Lcom/android/server/wifi/WifiNetworkFactory;)V
+SPLcom/android/server/wifi/WifiNetworkFactory$NetworkRequestDataSource;-><init>(Lcom/android/server/wifi/WifiNetworkFactory;)V
+SPLcom/android/server/wifi/WifiNetworkFactory$PeriodicScanAlarmListener;-><init>(Lcom/android/server/wifi/WifiNetworkFactory;)V
+SPLcom/android/server/wifi/WifiNetworkFactory;-><init>(Landroid/os/Looper;Landroid/content/Context;Landroid/net/NetworkCapabilities;Landroid/app/ActivityManager;Landroid/app/AlarmManager;Landroid/app/AppOpsManager;Lcom/android/server/wifi/Clock;Lcom/android/server/wifi/WifiInjector;Lcom/android/server/wifi/WifiConnectivityManager;Lcom/android/server/wifi/WifiConfigManager;Lcom/android/server/wifi/WifiConfigStore;Lcom/android/server/wifi/util/WifiPermissionsUtil;)V
+SPLcom/android/server/wifi/WifiNetworkFactory;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/WifiNetworkFactory;->handleScreenStateChanged(Z)V
+SPLcom/android/server/wifi/WifiNetworkHistory;-><init>(Landroid/content/Context;Lcom/android/server/net/DelayedDiskWrite;)V
+SPLcom/android/server/wifi/WifiNetworkSelector;-><init>(Landroid/content/Context;Lcom/android/server/wifi/WifiScoreCard;Lcom/android/server/wifi/ScoringParams;Lcom/android/server/wifi/WifiConfigManager;Lcom/android/server/wifi/Clock;Landroid/util/LocalLog;)V
+SPLcom/android/server/wifi/WifiNetworkSelector;-><init>(Landroid/content/Context;Lcom/android/server/wifi/WifiScoreCard;Lcom/android/server/wifi/ScoringParams;Lcom/android/server/wifi/WifiConfigManager;Lcom/android/server/wifi/Clock;Landroid/util/LocalLog;Lcom/android/server/wifi/WifiMetrics;)V
+SPLcom/android/server/wifi/WifiNetworkSelector;->registerCandidateScorer(Lcom/android/server/wifi/WifiCandidates$CandidateScorer;)V
+SPLcom/android/server/wifi/WifiNetworkSelector;->registerNetworkEvaluator(Lcom/android/server/wifi/WifiNetworkSelector$NetworkEvaluator;)V
+SPLcom/android/server/wifi/WifiNetworkSuggestionsManager;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/wifi/WifiInjector;Lcom/android/server/wifi/util/WifiPermissionsUtil;Lcom/android/server/wifi/WifiConfigManager;Lcom/android/server/wifi/WifiConfigStore;)V
+SPLcom/android/server/wifi/WifiNetworkSuggestionsManager;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/WifiPowerMetrics;-><init>()V
+SPLcom/android/server/wifi/WifiScoreCard$PerBssid;-><init>(Lcom/android/server/wifi/WifiScoreCard;Ljava/lang/String;Landroid/net/MacAddress;)V
+SPLcom/android/server/wifi/WifiScoreCard;-><init>(Lcom/android/server/wifi/Clock;Ljava/lang/String;)V
+SPLcom/android/server/wifi/WifiScoreCard;->computeHashLong(Ljava/lang/String;Landroid/net/MacAddress;)J
+SPLcom/android/server/wifi/WifiScoreCard;->computeHashedL2Key(Ljava/lang/String;Landroid/net/MacAddress;)Ljava/util/UUID;
+SPLcom/android/server/wifi/WifiScoreReport;-><init>(Lcom/android/server/wifi/ScoringParams;Lcom/android/server/wifi/Clock;)V
+SPLcom/android/server/wifi/WifiScoreReport;->enableVerboseLogging(Z)V
+SPLcom/android/server/wifi/WifiService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wifi/WifiService;->onBootPhase(I)V
+SPLcom/android/server/wifi/WifiService;->onStart()V
+SPLcom/android/server/wifi/WifiServiceImpl$ClientModeImplHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/wifi/WifiServiceImpl;-><init>(Landroid/content/Context;Lcom/android/server/wifi/WifiInjector;Lcom/android/internal/util/AsyncChannel;)V
+SPLcom/android/server/wifi/WifiServiceImpl;->checkAndStartWifi()V
+SPLcom/android/server/wifi/WifiServiceImpl;->enableVerboseLoggingInternal(I)V
+SPLcom/android/server/wifi/WifiServiceImpl;->getSupportedFeatures()J
+SPLcom/android/server/wifi/WifiServiceImpl;->getVerboseLoggingLevel()I
+SPLcom/android/server/wifi/WifiServiceImpl;->getWifiEnabledState()I
+SPLcom/android/server/wifi/WifiServiceImpl;->lambda$registerSoftApCallback$3$WifiServiceImpl(Landroid/os/IBinder;Landroid/net/wifi/ISoftApCallback;I)V
+SPLcom/android/server/wifi/WifiServiceImpl;->lambda$registerTrafficStateCallback$12$WifiServiceImpl(Landroid/os/IBinder;Landroid/net/wifi/ITrafficStateCallback;I)V
+SPLcom/android/server/wifi/WifiServiceImpl;->registerForBroadcasts()V
+SPLcom/android/server/wifi/WifiServiceImpl;->registerSoftApCallback(Landroid/os/IBinder;Landroid/net/wifi/ISoftApCallback;I)V
+SPLcom/android/server/wifi/WifiServiceImpl;->registerTrafficStateCallback(Landroid/os/IBinder;Landroid/net/wifi/ITrafficStateCallback;I)V
+SPLcom/android/server/wifi/WifiServiceImpl;->setWifiEnabled(Ljava/lang/String;Z)Z
+SPLcom/android/server/wifi/WifiSettingsStore;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wifi/WifiSettingsStore;->getLocationModeSetting(Landroid/content/Context;)I
+SPLcom/android/server/wifi/WifiSettingsStore;->getPersistedWifiState()I
+SPLcom/android/server/wifi/WifiSettingsStore;->getWifiSavedState()I
+SPLcom/android/server/wifi/WifiSettingsStore;->handleWifiToggled(Z)Z
+SPLcom/android/server/wifi/WifiSettingsStore;->isAirplaneModeOn()Z
+SPLcom/android/server/wifi/WifiSettingsStore;->isScanAlwaysAvailable()Z
+SPLcom/android/server/wifi/WifiSettingsStore;->isWifiToggleEnabled()Z
+SPLcom/android/server/wifi/WifiSettingsStore;->setWifiSavedState(I)V
+SPLcom/android/server/wifi/WifiStateTracker;-><init>(Lcom/android/internal/app/IBatteryStats;)V
+SPLcom/android/server/wifi/WifiStateTracker;->updateState(I)V
+SPLcom/android/server/wifi/WifiTrafficPoller;-><init>(Landroid/os/Looper;)V
+SPLcom/android/server/wifi/WifiTrafficPoller;->addCallback(Landroid/os/IBinder;Landroid/net/wifi/ITrafficStateCallback;I)V
+SPLcom/android/server/wifi/WifiVendorHal$ChipEventCallback;->onIfaceAdded(ILjava/lang/String;)V
+SPLcom/android/server/wifi/WifiVendorHal$ChipEventCallback;->onIfaceRemoved(ILjava/lang/String;)V
+SPLcom/android/server/wifi/WifiVendorHal$ChipEventCallbackV12;->onIfaceAdded(ILjava/lang/String;)V
+SPLcom/android/server/wifi/WifiVendorHal$ChipEventCallbackV12;->onIfaceRemoved(ILjava/lang/String;)V
+SPLcom/android/server/wifi/WifiVendorHal$HalDeviceManagerStatusListener;->onStatusChanged()V
+SPLcom/android/server/wifi/WifiVendorHal$StaInterfaceDestroyedListenerInternal;->onDestroyed(Ljava/lang/String;)V
+SPLcom/android/server/wifi/WifiVendorHal;-><init>(Lcom/android/server/wifi/HalDeviceManager;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/WifiVendorHal;->boolResult(Z)Z
+SPLcom/android/server/wifi/WifiVendorHal;->createStaIface(ZLcom/android/server/wifi/HalDeviceManager$InterfaceDestroyedListener;)Ljava/lang/String;
+SPLcom/android/server/wifi/WifiVendorHal;->enableLinkLayerStats(Landroid/hardware/wifi/V1_0/IWifiStaIface;)V
+SPLcom/android/server/wifi/WifiVendorHal;->enableVerboseLogging(Z)V
+SPLcom/android/server/wifi/WifiVendorHal;->getBgScanCapabilities(Ljava/lang/String;Lcom/android/server/wifi/WifiNative$ScanCapabilities;)Z
+SPLcom/android/server/wifi/WifiVendorHal;->getDriverVersion()Ljava/lang/String;
+SPLcom/android/server/wifi/WifiVendorHal;->getFirmwareVersion()Ljava/lang/String;
+SPLcom/android/server/wifi/WifiVendorHal;->getRingBufferStatus()[Lcom/android/server/wifi/WifiNative$RingBufferStatus;
+SPLcom/android/server/wifi/WifiVendorHal;->getStaIface(Ljava/lang/String;)Landroid/hardware/wifi/V1_0/IWifiStaIface;
+SPLcom/android/server/wifi/WifiVendorHal;->getSupportedFeatureSet(Ljava/lang/String;)J
+SPLcom/android/server/wifi/WifiVendorHal;->getSupportedLoggerFeatureSet()I
+SPLcom/android/server/wifi/WifiVendorHal;->getWifiChipForV1_2Mockable()Landroid/hardware/wifi/V1_2/IWifiChip;
+SPLcom/android/server/wifi/WifiVendorHal;->getWifiChipForV1_3Mockable()Landroid/hardware/wifi/V1_3/IWifiChip;
+SPLcom/android/server/wifi/WifiVendorHal;->initialize(Lcom/android/server/wifi/WifiNative$VendorHalDeathEventHandler;)Z
+SPLcom/android/server/wifi/WifiVendorHal;->isVendorHalSupported()Z
+SPLcom/android/server/wifi/WifiVendorHal;->lambda$getBgScanCapabilities$0$WifiVendorHal(Lcom/android/server/wifi/WifiNative$ScanCapabilities;Landroid/util/MutableBoolean;Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/StaBackgroundScanCapabilities;)V
+SPLcom/android/server/wifi/WifiVendorHal;->lambda$getBgScanCapabilities$0(Lcom/android/server/wifi/WifiVendorHal;Lcom/android/server/wifi/WifiNative$ScanCapabilities;Landroid/util/MutableBoolean;Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/StaBackgroundScanCapabilities;)V
+SPLcom/android/server/wifi/WifiVendorHal;->lambda$getSupportedFeatureSet$3$WifiVendorHal(Landroid/util/MutableLong;Landroid/hardware/wifi/V1_0/WifiStatus;I)V
+SPLcom/android/server/wifi/WifiVendorHal;->ok(Landroid/hardware/wifi/V1_0/WifiStatus;)Z
+SPLcom/android/server/wifi/WifiVendorHal;->registerChipCallback()Z
+SPLcom/android/server/wifi/WifiVendorHal;->registerRadioModeChangeHandler(Lcom/android/server/wifi/WifiNative$VendorHalRadioModeChangeEventHandler;)V
+SPLcom/android/server/wifi/WifiVendorHal;->registerStaIfaceCallback(Landroid/hardware/wifi/V1_0/IWifiStaIface;)Z
+SPLcom/android/server/wifi/WifiVendorHal;->removeStaIface(Ljava/lang/String;)Z
+SPLcom/android/server/wifi/WifiVendorHal;->requestChipDebugInfo()V
+SPLcom/android/server/wifi/WifiVendorHal;->retrieveWifiChip(Landroid/hardware/wifi/V1_0/IWifiIface;)Z
+SPLcom/android/server/wifi/WifiVendorHal;->sarPowerBackoffRequired_1_2(Lcom/android/server/wifi/SarInfo;)Z
+SPLcom/android/server/wifi/WifiVendorHal;->selectTxPowerScenario(Lcom/android/server/wifi/SarInfo;)Z
+SPLcom/android/server/wifi/WifiVendorHal;->selectTxPowerScenario_1_2(Landroid/hardware/wifi/V1_2/IWifiChip;Lcom/android/server/wifi/SarInfo;)Z
+SPLcom/android/server/wifi/WifiVendorHal;->setLoggingEventHandler(Lcom/android/server/wifi/WifiNative$WifiLoggerEventHandler;)Z
+SPLcom/android/server/wifi/WifiVendorHal;->startPktFateMonitoring(Ljava/lang/String;)Z
+SPLcom/android/server/wifi/WifiVendorHal;->startVendorHal()Z
+SPLcom/android/server/wifi/WifiVendorHal;->stopVendorHal()V
+SPLcom/android/server/wifi/WifiVendorHal;->wifiFeatureMaskFromChipCapabilities(I)I
+SPLcom/android/server/wifi/WifiVendorHal;->wifiFeatureMaskFromChipCapabilities_1_3(I)J
+SPLcom/android/server/wifi/WificondControl;-><init>(Lcom/android/server/wifi/WifiInjector;Lcom/android/server/wifi/WifiMonitor;Lcom/android/server/wifi/CarrierNetworkConfig;Landroid/app/AlarmManager;Landroid/os/Looper;Lcom/android/server/wifi/Clock;)V
+SPLcom/android/server/wifi/WificondControl;->clearState()V
+SPLcom/android/server/wifi/WificondControl;->enableVerboseLogging(Z)V
+SPLcom/android/server/wifi/WificondControl;->getChannelsForBand(I)[I
+SPLcom/android/server/wifi/WificondControl;->initialize(Lcom/android/server/wifi/WifiNative$WificondDeathEventHandler;)Z
+SPLcom/android/server/wifi/WificondControl;->retrieveWificondAndRegisterForDeath()Z
+SPLcom/android/server/wifi/WificondControl;->setupInterfaceForClientMode(Ljava/lang/String;)Landroid/net/wifi/IClientInterface;
+SPLcom/android/server/wifi/WificondControl;->stopPnoScan(Ljava/lang/String;)Z
+SPLcom/android/server/wifi/WificondControl;->tearDownClientInterface(Ljava/lang/String;)Z
+SPLcom/android/server/wifi/WificondControl;->tearDownInterfaces()Z
+SPLcom/android/server/wifi/WrongPasswordNotifier;-><init>(Landroid/content/Context;Lcom/android/server/wifi/FrameworkFacade;)V
+SPLcom/android/server/wifi/aware/WifiAwareDataPathStateManager;->start(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/wifi/aware/WifiAwareMetrics;Lcom/android/server/wifi/util/WifiPermissionsUtil;Lcom/android/server/wifi/util/WifiPermissionsWrapper;)V
+SPLcom/android/server/wifi/aware/WifiAwareMetrics;-><init>(Lcom/android/server/wifi/Clock;)V
+SPLcom/android/server/wifi/aware/WifiAwareMetrics;->recordDisableUsage()V
+SPLcom/android/server/wifi/aware/WifiAwareMetrics;->recordEnableUsage()V
+SPLcom/android/server/wifi/aware/WifiAwareNativeApi;->disable(S)Z
+SPLcom/android/server/wifi/aware/WifiAwareNativeApi;->getCapabilities(S)Z
+SPLcom/android/server/wifi/aware/WifiAwareNativeApi;->onReset()V
+SPLcom/android/server/wifi/aware/WifiAwareNativeCallback;->notifyCapabilitiesResponse(SLandroid/hardware/wifi/V1_0/WifiNanStatus;Landroid/hardware/wifi/V1_0/NanCapabilities;)V
+SPLcom/android/server/wifi/aware/WifiAwareNativeManager$InterfaceDestroyedListener;->onDestroyed(Ljava/lang/String;)V
+SPLcom/android/server/wifi/aware/WifiAwareNativeManager;-><init>(Lcom/android/server/wifi/aware/WifiAwareStateManager;Lcom/android/server/wifi/HalDeviceManager;Lcom/android/server/wifi/aware/WifiAwareNativeCallback;)V
+SPLcom/android/server/wifi/aware/WifiAwareNativeManager;->getWifiNanIface()Landroid/hardware/wifi/V1_0/IWifiNanIface;
+SPLcom/android/server/wifi/aware/WifiAwareNativeManager;->mockableCastTo_1_2(Landroid/hardware/wifi/V1_0/IWifiNanIface;)Landroid/hardware/wifi/V1_2/IWifiNanIface;
+SPLcom/android/server/wifi/aware/WifiAwareNativeManager;->releaseAware()V
+SPLcom/android/server/wifi/aware/WifiAwareNativeManager;->tryToGetAware()V
+SPLcom/android/server/wifi/aware/WifiAwareService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wifi/aware/WifiAwareService;->onBootPhase(I)V
+SPLcom/android/server/wifi/aware/WifiAwareService;->onStart()V
+SPLcom/android/server/wifi/aware/WifiAwareServiceImpl;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wifi/aware/WifiAwareServiceImpl;->enableVerboseLogging(ILcom/android/server/wifi/aware/WifiAwareStateManager;Lcom/android/server/wifi/aware/WifiAwareNativeManager;Lcom/android/server/wifi/aware/WifiAwareNativeApi;Lcom/android/server/wifi/aware/WifiAwareNativeCallback;)V
+SPLcom/android/server/wifi/aware/WifiAwareServiceImpl;->start(Landroid/os/HandlerThread;Lcom/android/server/wifi/aware/WifiAwareStateManager;Lcom/android/server/wifi/aware/WifiAwareShellCommand;Lcom/android/server/wifi/aware/WifiAwareMetrics;Lcom/android/server/wifi/util/WifiPermissionsUtil;Lcom/android/server/wifi/util/WifiPermissionsWrapper;Lcom/android/server/wifi/FrameworkFacade;Lcom/android/server/wifi/aware/WifiAwareNativeManager;Lcom/android/server/wifi/aware/WifiAwareNativeApi;Lcom/android/server/wifi/aware/WifiAwareNativeCallback;)V
+SPLcom/android/server/wifi/aware/WifiAwareShellCommand;->register(Ljava/lang/String;Lcom/android/server/wifi/aware/WifiAwareShellCommand$DelegatedShellCommand;)V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager$WifiAwareStateMachine$WaitForResponseState;->enter()V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager$WifiAwareStateMachine$WaitForResponseState;->exit()V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager$WifiAwareStateMachine$WaitForResponseState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/aware/WifiAwareStateManager$WifiAwareStateMachine$WaitState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/aware/WifiAwareStateManager$WifiAwareStateMachine;-><init>(Lcom/android/server/wifi/aware/WifiAwareStateManager;Ljava/lang/String;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager$WifiAwareStateMachine;->getLogRecString(Landroid/os/Message;)Ljava/lang/String;
+SPLcom/android/server/wifi/aware/WifiAwareStateManager$WifiAwareStateMachine;->processCommand(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/aware/WifiAwareStateManager$WifiAwareStateMachine;->processResponse(Landroid/os/Message;)V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager;-><init>()V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager;->disableUsage()V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager;->disableUsageLocal(S)Z
+SPLcom/android/server/wifi/aware/WifiAwareStateManager;->enableUsage()V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager;->getAwareInterface()V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager;->messageToString(Landroid/os/Message;)Ljava/lang/String;
+SPLcom/android/server/wifi/aware/WifiAwareStateManager;->onAwareDownLocal()V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager;->onCapabilitiesUpdateResponse(SLcom/android/server/wifi/aware/Capabilities;)V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager;->onReset()V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager;->queryCapabilities()V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager;->releaseAwareInterface()V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager;->sendAwareStateChangedBroadcast(Z)V
+SPLcom/android/server/wifi/aware/WifiAwareStateManager;->start(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/wifi/aware/WifiAwareMetrics;Lcom/android/server/wifi/util/WifiPermissionsUtil;Lcom/android/server/wifi/util/WifiPermissionsWrapper;)V
+SPLcom/android/server/wifi/hotspot2/-$$Lambda$PasspointProvisioner$8fmJnU9XPoTzX8nPAlmJHjKftJw;->run()V
+SPLcom/android/server/wifi/hotspot2/LegacyPasspointConfigParser;-><init>()V
+SPLcom/android/server/wifi/hotspot2/OsuNetworkConnection$1;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/wifi/hotspot2/OsuNetworkConnection;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/hotspot2/OsuNetworkConnection;->init(Landroid/os/Handler;)V
+SPLcom/android/server/wifi/hotspot2/OsuServerConnection;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/hotspot2/OsuServerConnection;->init(Ljavax/net/ssl/SSLContext;Lcom/android/org/conscrypt/TrustManagerImpl;)V
+SPLcom/android/server/wifi/hotspot2/PasspointConfigSharedStoreData;->getStoreFileId()I
+SPLcom/android/server/wifi/hotspot2/PasspointConfigUserStoreData;->getStoreFileId()I
+SPLcom/android/server/wifi/hotspot2/PasspointManager;-><init>(Landroid/content/Context;Lcom/android/server/wifi/WifiNative;Lcom/android/server/wifi/WifiKeyStore;Lcom/android/server/wifi/Clock;Lcom/android/server/wifi/SIMAccessor;Lcom/android/server/wifi/hotspot2/PasspointObjectFactory;Lcom/android/server/wifi/WifiConfigManager;Lcom/android/server/wifi/WifiConfigStore;Lcom/android/server/wifi/WifiMetrics;)V
+SPLcom/android/server/wifi/hotspot2/PasspointManager;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/hotspot2/PasspointManager;->initializeProvisioner(Landroid/os/Looper;)V
+SPLcom/android/server/wifi/hotspot2/PasspointNetworkEvaluator;-><init>(Lcom/android/server/wifi/hotspot2/PasspointManager;Lcom/android/server/wifi/WifiConfigManager;Landroid/util/LocalLog;Lcom/android/server/wifi/CarrierNetworkConfig;Landroid/telephony/TelephonyManager;)V
+SPLcom/android/server/wifi/hotspot2/PasspointObjectFactory;-><init>()V
+SPLcom/android/server/wifi/hotspot2/PasspointObjectFactory;->getSSLContext(Ljava/lang/String;)Ljavax/net/ssl/SSLContext;
+SPLcom/android/server/wifi/hotspot2/PasspointObjectFactory;->getSystemInfo(Landroid/content/Context;Lcom/android/server/wifi/WifiNative;)Lcom/android/server/wifi/hotspot2/SystemInfo;
+SPLcom/android/server/wifi/hotspot2/PasspointObjectFactory;->getTrustManagerImpl(Ljava/security/KeyStore;)Lcom/android/org/conscrypt/TrustManagerImpl;
+SPLcom/android/server/wifi/hotspot2/PasspointObjectFactory;->makeANQPRequestManager(Lcom/android/server/wifi/hotspot2/PasspointEventHandler;Lcom/android/server/wifi/Clock;)Lcom/android/server/wifi/hotspot2/ANQPRequestManager;
+SPLcom/android/server/wifi/hotspot2/PasspointObjectFactory;->makeAnqpCache(Lcom/android/server/wifi/Clock;)Lcom/android/server/wifi/hotspot2/AnqpCache;
+SPLcom/android/server/wifi/hotspot2/PasspointObjectFactory;->makeCertificateVerifier()Lcom/android/server/wifi/hotspot2/CertificateVerifier;
+SPLcom/android/server/wifi/hotspot2/PasspointObjectFactory;->makeOsuNetworkConnection(Landroid/content/Context;)Lcom/android/server/wifi/hotspot2/OsuNetworkConnection;
+SPLcom/android/server/wifi/hotspot2/PasspointObjectFactory;->makeOsuServerConnection()Lcom/android/server/wifi/hotspot2/OsuServerConnection;
+SPLcom/android/server/wifi/hotspot2/PasspointObjectFactory;->makePasspointConfigSharedStoreData(Lcom/android/server/wifi/hotspot2/PasspointConfigSharedStoreData$DataSource;)Lcom/android/server/wifi/hotspot2/PasspointConfigSharedStoreData;
+SPLcom/android/server/wifi/hotspot2/PasspointObjectFactory;->makePasspointConfigUserStoreData(Lcom/android/server/wifi/WifiKeyStore;Lcom/android/server/wifi/SIMAccessor;Lcom/android/server/wifi/hotspot2/PasspointConfigUserStoreData$DataSource;)Lcom/android/server/wifi/hotspot2/PasspointConfigUserStoreData;
+SPLcom/android/server/wifi/hotspot2/PasspointObjectFactory;->makePasspointEventHandler(Lcom/android/server/wifi/WifiNative;Lcom/android/server/wifi/hotspot2/PasspointEventHandler$Callbacks;)Lcom/android/server/wifi/hotspot2/PasspointEventHandler;
+SPLcom/android/server/wifi/hotspot2/PasspointObjectFactory;->makePasspointProvisioner(Landroid/content/Context;Lcom/android/server/wifi/WifiNative;Lcom/android/server/wifi/hotspot2/PasspointManager;)Lcom/android/server/wifi/hotspot2/PasspointProvisioner;
+SPLcom/android/server/wifi/hotspot2/PasspointObjectFactory;->makeWfaKeyStore()Lcom/android/server/wifi/hotspot2/WfaKeyStore;
+SPLcom/android/server/wifi/hotspot2/PasspointProvisioner$ProvisioningStateMachine;->getHandler()Landroid/os/Handler;
+SPLcom/android/server/wifi/hotspot2/PasspointProvisioner$ProvisioningStateMachine;->start(Landroid/os/Handler;)V
+SPLcom/android/server/wifi/hotspot2/PasspointProvisioner;-><init>(Landroid/content/Context;Lcom/android/server/wifi/WifiNative;Lcom/android/server/wifi/hotspot2/PasspointObjectFactory;Lcom/android/server/wifi/hotspot2/PasspointManager;)V
+SPLcom/android/server/wifi/hotspot2/PasspointProvisioner;->enableVerboseLogging(I)V
+SPLcom/android/server/wifi/hotspot2/PasspointProvisioner;->init(Landroid/os/Looper;)V
+SPLcom/android/server/wifi/hotspot2/PasspointProvisioner;->lambda$init$0$PasspointProvisioner(Landroid/os/Looper;)V
+SPLcom/android/server/wifi/hotspot2/PasspointProvisioner;->lambda$init$0(Lcom/android/server/wifi/hotspot2/PasspointProvisioner;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/hotspot2/WfaCertBuilder;->loadCertsFromDisk(Ljava/lang/String;)Ljava/util/Set;
+SPLcom/android/server/wifi/hotspot2/WfaKeyStore;->get()Ljava/security/KeyStore;
+SPLcom/android/server/wifi/hotspot2/WfaKeyStore;->load()V
+SPLcom/android/server/wifi/hotspot2/anqp/Constants$ANQPElementType;-><init>(Ljava/lang/String;I)V
+SPLcom/android/server/wifi/hotspot2/soap/RedirectListener;-><init>(Landroid/os/Looper;Landroid/os/Looper;I)V
+SPLcom/android/server/wifi/hotspot2/soap/RedirectListener;->createInstance(Landroid/os/Looper;)Lcom/android/server/wifi/hotspot2/soap/RedirectListener;
+SPLcom/android/server/wifi/p2p/-$$Lambda$WifiP2pNative$OugPqsliuKv73AxYwflB8JKX3Gg;->onStatusChanged()V
+SPLcom/android/server/wifi/p2p/-$$Lambda$WifiP2pServiceImpl$P2pStateMachine$zMDJmVHxNOQccRUsy4cDbijFDbc;->onAvailabilityChanged(Z)V
+SPLcom/android/server/wifi/p2p/SupplicantP2pIfaceHal$1;-><init>(Lcom/android/server/wifi/p2p/SupplicantP2pIfaceHal;)V
+SPLcom/android/server/wifi/p2p/SupplicantP2pIfaceHal;-><init>(Lcom/android/server/wifi/p2p/WifiP2pMonitor;)V
+SPLcom/android/server/wifi/p2p/WifiP2pMetrics;-><init>(Lcom/android/server/wifi/Clock;)V
+SPLcom/android/server/wifi/p2p/WifiP2pMonitor;-><init>(Lcom/android/server/wifi/WifiInjector;)V
+SPLcom/android/server/wifi/p2p/WifiP2pNative$InterfaceAvailableListenerInternal;->onAvailabilityChanged(Z)V
+SPLcom/android/server/wifi/p2p/WifiP2pNative;-><init>(Lcom/android/server/wifi/WifiVendorHal;Lcom/android/server/wifi/p2p/SupplicantP2pIfaceHal;Lcom/android/server/wifi/HalDeviceManager;)V
+SPLcom/android/server/wifi/p2p/WifiP2pNative;-><init>(Lcom/android/server/wifi/WifiVendorHal;Lcom/android/server/wifi/p2p/SupplicantP2pIfaceHal;Lcom/android/server/wifi/HalDeviceManager;Lcom/android/server/wifi/PropertyService;)V
+SPLcom/android/server/wifi/p2p/WifiP2pNative;->isHalInterfaceSupported()Z
+SPLcom/android/server/wifi/p2p/WifiP2pNative;->lambda$registerInterfaceAvailableListener$0$WifiP2pNative(Landroid/os/Handler;)V
+SPLcom/android/server/wifi/p2p/WifiP2pNative;->registerInterfaceAvailableListener(Lcom/android/server/wifi/HalDeviceManager$InterfaceAvailableForRequestListener;Landroid/os/Handler;)V
+SPLcom/android/server/wifi/p2p/WifiP2pService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wifi/p2p/WifiP2pService;->onBootPhase(I)V
+SPLcom/android/server/wifi/p2p/WifiP2pService;->onStart()V
+SPLcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$2;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$3;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$DefaultState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$P2pDisabledState;->enter()V
+SPLcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine$P2pDisabledState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine;-><init>(Lcom/android/server/wifi/p2p/WifiP2pServiceImpl;Ljava/lang/String;Landroid/os/Looper;Z)V
+SPLcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine;->checkAndReEnableP2p()V
+SPLcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine;->checkAndSendP2pStateChangedBroadcast()V
+SPLcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine;->lambda$new$0$WifiP2pServiceImpl$P2pStateMachine(Z)V
+SPLcom/android/server/wifi/p2p/WifiP2pServiceImpl$P2pStateMachine;->sendP2pStateChangedBroadcast(Z)V
+SPLcom/android/server/wifi/p2p/WifiP2pServiceImpl;-><init>(Landroid/content/Context;Lcom/android/server/wifi/WifiInjector;)V
+SPLcom/android/server/wifi/p2p/WifiP2pServiceImpl;->connectivityServiceReady()V
+SPLcom/android/server/wifi/rtt/-$$Lambda$RttNative$nRSOFcP2WhqxmfStf2OeZAekTCY;->onValues(Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/RttCapabilities;)V
+SPLcom/android/server/wifi/rtt/-$$Lambda$RttNative$rJS9dcQwV7YDCbGMGmH46AVDmws;->onStatusChanged()V
+SPLcom/android/server/wifi/rtt/-$$Lambda$RttServiceImpl$ehyq-_xe9BYccoyltP3Gc2lh51g;->run()V
+SPLcom/android/server/wifi/rtt/-$$Lambda$RttServiceImpl$q9ANpyRqIip_-lKXLzaUsSwgxFs;->run()V
+SPLcom/android/server/wifi/rtt/-$$Lambda$RttServiceImpl$wP--CWXsaxeveXsy_7abZeA-Q-w;->run()V
+SPLcom/android/server/wifi/rtt/RttMetrics$PerPeerTypeInfo;-><init>(Lcom/android/server/wifi/rtt/RttMetrics;)V
+SPLcom/android/server/wifi/rtt/RttMetrics;-><init>(Lcom/android/server/wifi/Clock;)V
+SPLcom/android/server/wifi/rtt/RttNative$1;->onNewRttController(Landroid/hardware/wifi/V1_0/IWifiRttController;)V
+SPLcom/android/server/wifi/rtt/RttNative$1;->onRttControllerDestroyed()V
+SPLcom/android/server/wifi/rtt/RttNative;->isReady()Z
+SPLcom/android/server/wifi/rtt/RttNative;->lambda$start$0$RttNative(Landroid/os/Handler;)V
+SPLcom/android/server/wifi/rtt/RttNative;->lambda$updateRttCapabilities$1$RttNative(Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/RttCapabilities;)V
+SPLcom/android/server/wifi/rtt/RttNative;->lambda$updateRttCapabilities$1(Lcom/android/server/wifi/rtt/RttNative;Landroid/hardware/wifi/V1_0/WifiStatus;Landroid/hardware/wifi/V1_0/RttCapabilities;)V
+SPLcom/android/server/wifi/rtt/RttNative;->start(Landroid/os/Handler;)V
+SPLcom/android/server/wifi/rtt/RttNative;->updateRttCapabilities()V
+SPLcom/android/server/wifi/rtt/RttService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wifi/rtt/RttService;->onBootPhase(I)V
+SPLcom/android/server/wifi/rtt/RttService;->onStart()V
+SPLcom/android/server/wifi/rtt/RttServiceImpl$4;->onReceive(Landroid/content/Context;Landroid/content/Intent;)V
+SPLcom/android/server/wifi/rtt/RttServiceImpl$RttServiceSynchronized;-><init>(Lcom/android/server/wifi/rtt/RttServiceImpl;Landroid/os/Looper;Lcom/android/server/wifi/rtt/RttNative;)V
+SPLcom/android/server/wifi/rtt/RttServiceImpl$RttServiceSynchronized;->cleanUpOnDisable()V
+SPLcom/android/server/wifi/rtt/RttServiceImpl$RttServiceSynchronized;->executeNextRangingRequestIfPossible(Z)V
+SPLcom/android/server/wifi/rtt/RttServiceImpl$RttShellCommand;->reset()V
+SPLcom/android/server/wifi/rtt/RttServiceImpl;->disable()V
+SPLcom/android/server/wifi/rtt/RttServiceImpl;->enableIfPossible()V
+SPLcom/android/server/wifi/rtt/RttServiceImpl;->isAvailable()Z
+SPLcom/android/server/wifi/rtt/RttServiceImpl;->lambda$disable$2$RttServiceImpl()V
+SPLcom/android/server/wifi/rtt/RttServiceImpl;->lambda$enableIfPossible$1$RttServiceImpl()V
+SPLcom/android/server/wifi/rtt/RttServiceImpl;->lambda$start$0$RttServiceImpl(Lcom/android/server/wifi/rtt/RttNative;)V
+SPLcom/android/server/wifi/rtt/RttServiceImpl;->start(Landroid/os/Looper;Lcom/android/server/wifi/Clock;Landroid/net/wifi/aware/IWifiAwareManager;Lcom/android/server/wifi/rtt/RttNative;Lcom/android/server/wifi/rtt/RttMetrics;Lcom/android/server/wifi/util/WifiPermissionsUtil;Lcom/android/server/wifi/FrameworkFacade;)V
+SPLcom/android/server/wifi/scanner/BackgroundScanScheduler;-><init>(Lcom/android/server/wifi/scanner/ChannelHelper;)V
+SPLcom/android/server/wifi/scanner/BackgroundScanScheduler;->createSchedule(Ljava/util/List;I)V
+SPLcom/android/server/wifi/scanner/BackgroundScanScheduler;->getMaxApPerScan()I
+SPLcom/android/server/wifi/scanner/BackgroundScanScheduler;->getMaxBatch()I
+SPLcom/android/server/wifi/scanner/BackgroundScanScheduler;->getMaxChannelsPerBucket()I
+SPLcom/android/server/wifi/scanner/BackgroundScanScheduler;->setMaxApPerScan(I)V
+SPLcom/android/server/wifi/scanner/BackgroundScanScheduler;->setMaxBuckets(I)V
+SPLcom/android/server/wifi/scanner/HalWifiScannerImpl;->cleanup()V
+SPLcom/android/server/wifi/scanner/HalWifiScannerImpl;->getChannelHelper()Lcom/android/server/wifi/scanner/ChannelHelper;
+SPLcom/android/server/wifi/scanner/HalWifiScannerImpl;->getScanCapabilities(Lcom/android/server/wifi/WifiNative$ScanCapabilities;)Z
+SPLcom/android/server/wifi/scanner/WifiScannerImpl$1;-><init>()V
+SPLcom/android/server/wifi/scanner/WifiScannerImpl$1;->create(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/wifi/Clock;)Lcom/android/server/wifi/scanner/WifiScannerImpl;
+SPLcom/android/server/wifi/scanner/WifiScannerImpl$2;-><init>()V
+SPLcom/android/server/wifi/scanner/WifiScannerImpl;-><init>()V
+SPLcom/android/server/wifi/scanner/WifiScanningService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wifi/scanner/WifiScanningService;->onBootPhase(I)V
+SPLcom/android/server/wifi/scanner/WifiScanningService;->onStart()V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;->getUid()I
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;->toString()Ljava/lang/String;
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$RequestList;->addRequest(Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;ILandroid/os/WorkSource;Ljava/lang/Object;)V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$RequestList;->removeRequest(Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;I)Ljava/lang/Object;
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiBackgroundScanStateMachine$DefaultState;->enter()V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiBackgroundScanStateMachine$DefaultState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiBackgroundScanStateMachine$StartedState;->enter()V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiBackgroundScanStateMachine$StartedState;->exit()V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiBackgroundScanStateMachine$StartedState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiBackgroundScanStateMachine;-><init>(Lcom/android/server/wifi/scanner/WifiScanningServiceImpl;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiBackgroundScanStateMachine;->sendBackgroundScanFailedToAllAndClear(ILjava/lang/String;)V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine$DefaultState;->enter()V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine$DefaultState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine$StartedState;->enter()V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine$StartedState;->exit()V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine$StartedState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine;-><init>(Lcom/android/server/wifi/scanner/WifiScanningServiceImpl;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiPnoScanStateMachine;->sendPnoScanFailedToAllAndClear(ILjava/lang/String;)V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine$DefaultState;->enter()V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine$DefaultState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine$DriverStartedState;->exit()V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine$DriverStartedState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine$IdleState;->enter()V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine$IdleState;->processMessage(Landroid/os/Message;)Z
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine;-><init>(Lcom/android/server/wifi/scanner/WifiScanningServiceImpl;Landroid/os/Looper;)V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine;->sendOpFailedToAllAndClear(Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$RequestList;ILjava/lang/String;)V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl$WifiSingleScanStateMachine;->tryToStartNewScan()V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl;-><init>(Landroid/content/Context;Landroid/os/Looper;Lcom/android/server/wifi/scanner/WifiScannerImpl$WifiScannerImplFactory;Lcom/android/internal/app/IBatteryStats;Lcom/android/server/wifi/WifiInjector;)V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl;->computeWorkSource(Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;Landroid/os/WorkSource;)Landroid/os/WorkSource;
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl;->enforcePermission(ILandroid/os/Message;)V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl;->getMessenger()Landroid/os/Messenger;
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl;->logScanRequest(Ljava/lang/String;Lcom/android/server/wifi/scanner/WifiScanningServiceImpl$ClientInfo;ILandroid/os/WorkSource;Landroid/net/wifi/WifiScanner$ScanSettings;Landroid/net/wifi/WifiScanner$PnoSettings;)V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl;->replySucceeded(Landroid/os/Message;)V
+SPLcom/android/server/wifi/scanner/WifiScanningServiceImpl;->startService()V
+SPLcom/android/server/wifi/scanner/WificondChannelHelper;-><init>(Lcom/android/server/wifi/WifiNative;)V
+SPLcom/android/server/wifi/scanner/WificondChannelHelper;->updateChannels()V
+SPLcom/android/server/wifi/scanner/WificondScannerImpl;-><init>(Landroid/content/Context;Ljava/lang/String;Lcom/android/server/wifi/WifiNative;Lcom/android/server/wifi/WifiMonitor;Lcom/android/server/wifi/scanner/ChannelHelper;Landroid/os/Looper;Lcom/android/server/wifi/Clock;)V
+SPLcom/android/server/wifi/scanner/WificondScannerImpl;->cleanup()V
+SPLcom/android/server/wifi/util/DataIntegrityChecker;-><init>(Ljava/lang/String;)V
+SPLcom/android/server/wifi/util/ExternalCallbackTracker$ExternalCallbackHolder;->createAndLinkToDeath(Landroid/os/IBinder;Ljava/lang/Object;Lcom/android/server/wifi/util/ExternalCallbackTracker$ExternalCallbackHolder$DeathCallback;)Lcom/android/server/wifi/util/ExternalCallbackTracker$ExternalCallbackHolder;
+SPLcom/android/server/wifi/util/ExternalCallbackTracker;->add(Landroid/os/IBinder;Ljava/lang/Object;I)Z
+SPLcom/android/server/wifi/util/IntHistogram;-><init>([I)V
+SPLcom/android/server/wifi/util/MetricsUtils$LogHistParms;-><init>(IIIII)V
+SPLcom/android/server/wifi/util/MetricsUtils;->addValueToLogHistogram(JLandroid/util/SparseIntArray;Lcom/android/server/wifi/util/MetricsUtils$LogHistParms;)I
+SPLcom/android/server/wifi/util/NativeUtil;->byteArrayFromArrayList(Ljava/util/ArrayList;)[B
+SPLcom/android/server/wifi/util/NativeUtil;->hexOrQuotedStringToBytes(Ljava/lang/String;)Ljava/util/ArrayList;
+SPLcom/android/server/wifi/util/WifiAsyncChannel;->replyToMessage(Landroid/os/Message;Landroid/os/Message;)V
+SPLcom/android/server/wifi/util/WifiAsyncChannel;->sendMessageSynchronously(Landroid/os/Message;)Landroid/os/Message;
+SPLcom/android/server/wifi/util/WifiPermissionsUtil;-><init>(Lcom/android/server/wifi/util/WifiPermissionsWrapper;Landroid/content/Context;Landroid/os/UserManager;Lcom/android/server/wifi/WifiInjector;)V
+SPLcom/android/server/wifi/util/WifiPermissionsUtil;->isLocationModeEnabled()Z
+SPLcom/android/server/wifi/util/WifiPermissionsUtil;->retrieveLocationManagerIfNecessary()Z
+SPLcom/android/server/wifi/util/WifiPermissionsWrapper;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wifi/util/WifiPermissionsWrapper;->getCurrentUser()I
+SPLcom/android/server/wm/-$$Lambda$01bPtngJg5AqEoOWfW3rWfV7MH4;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$01bPtngJg5AqEoOWfW3rWfV7MH4;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$1636dquQO0UvkFayOGf_gceB4iw;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$1636dquQO0UvkFayOGf_gceB4iw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$3W4Y_XVQUddVKzLjibuHW7h0R1g;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$3W4Y_XVQUddVKzLjibuHW7h0R1g;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$6DEhn1zqxqV5_Ytb_NyzMW23Ano;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$ADNhW0r9Skcs9ezrOGURijI-lyQ;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$ADNhW0r9Skcs9ezrOGURijI-lyQ;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$ActivityStackSupervisor$28Zuzbi6usdgbDcOi8hrJg6nZO0;->run()V
+SPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$-xFyZDUKMraVkermSJGXQdN3oJ4;->run()V
+SPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$7Ia1bmRpPHHSNlbH8cuLw8dKG04;->run()V
+SPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$BXul1K8BX6JEv_ff3NT76qpeZGQ;->run()V
+SPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$iduseKQrjIWQYD0hJ8Q5DMmuSfE;->run()V
+SPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$oP6xxIfnD4kb4JN7aSJU073ULR4;->run()V
+SPLcom/android/server/wm/-$$Lambda$ActivityTaskManagerService$p4I6RZJqLXjaEjdISFyNzjAe4HE;->run()V
+SPLcom/android/server/wm/-$$Lambda$AppTransitionController$ESsBJ2royCDDfelW3z7cgYH5q2I;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$AppTransitionController$j4jrKo6PKtYRjRfPVQMMiQB02jg;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$AppWindowToken$jUUD3GIacKfmiVanGs_Dyy3FFqI;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$AppWindowToken$jUUD3GIacKfmiVanGs_Dyy3FFqI;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$BoundsAnimationController$3-yWz6AXIW5r1KElGtHEgHZdi5Q;->run()V
+SPLcom/android/server/wm/-$$Lambda$DZzr1xJVO2dSdamoKdlelCfv9o4;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$DZzr1xJVO2dSdamoKdlelCfv9o4;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$DisplayContent$0yxrqH9eGY2qTjH1u_BvaVrXCSA;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$DisplayContent$7uZtakUXzuXqF_Qht5Uq7LUvubI;->apply(Ljava/lang/Object;)Z
+SPLcom/android/server/wm/-$$Lambda$DisplayContent$7voe_dEKk2BYMriCvPuvaznb9WQ;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$DisplayContent$GuCKVzKP141d6J0gfRAjKtuBJUU;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$DisplayContent$GuCKVzKP141d6J0gfRAjKtuBJUU;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$FI_O7m2qEDfIRZef3D32AxG-rcs;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$FI_O7m2qEDfIRZef3D32AxG-rcs;->test(Ljava/lang/Object;)Z
+SPLcom/android/server/wm/-$$Lambda$DisplayContent$NonAppWindowContainers$nqCymC3xR9b3qaeohnnJJpSiajc;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+SPLcom/android/server/wm/-$$Lambda$DisplayContent$fiC19lMy-d_-rvza7hhOSw6bOM8;->compute(Ljava/lang/Object;I)Ljava/lang/Object;
+SPLcom/android/server/wm/-$$Lambda$DisplayContent$hRKjZwmneu0T85LNNY6_Zcs4gKM;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$DisplayContent$qT01Aq6xt_ZOs86A1yDQe-qmPFQ;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$DisplayContent$qxt4izS31fb0LF2uo_OF9DMa7gc;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$DisplayPolicy$n40v5T_KP7EALj7NP3i_hv76V5o;->run()V
+SPLcom/android/server/wm/-$$Lambda$DisplayPolicy$xlVRxCROc8UPmV4pH747oZzvS58;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$HLz_SQuxQoIiuaK5SB5xJ6FnoxY;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$HLz_SQuxQoIiuaK5SB5xJ6FnoxY;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$InsetsStateController$pXoYGy4X5aPw1QFi0iIWKiTMlDg;->apply(Ljava/lang/Object;)Ljava/lang/Object;
+SPLcom/android/server/wm/-$$Lambda$InsetsStateController$sIYEJIR4ztgffCLMi5Z1RvdxyYs;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$InsetsStateController$sIYEJIR4ztgffCLMi5Z1RvdxyYs;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$LYW1ECaEajjYgarzgKdTZ4O1fi0;->run()V
+SPLcom/android/server/wm/-$$Lambda$OPdXuZQLetMnocdH6XV32JbNQ3I;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$OuObUsm0bB9g5X0kIXYkBYHvodY;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$PersisterQueue$HOTPBvinkMOqT3zxV3gRm6Y9Wi4;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$RecentTasks$KPkDUQ9KJ-vmXlmV8HHAucQJJdQ;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$RootWindowContainer$Vvv8jzH2oSE9-eakZwTuKd5NpsU;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$RootWindowContainer$Vvv8jzH2oSE9-eakZwTuKd5NpsU;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$RootWindowContainer$vMW2dyMvZQ0PDhptvNKN5WXpK_w;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$RootWindowContainer$zN9AhOirpieCrP6YNeTmpaApULQ;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$RootWindowContainer$zN9AhOirpieCrP6YNeTmpaApULQ;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$RunningTasks$B8bQN-i7MO0XIePhmkVnejRGNp0;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$RunningTasks$B8bQN-i7MO0XIePhmkVnejRGNp0;->compare(Ljava/lang/Object;Ljava/lang/Object;)I
+SPLcom/android/server/wm/-$$Lambda$StatusBarController$1$3FiQ0kybPCSlgcNJkCsNm5M12iA;->run()V
+SPLcom/android/server/wm/-$$Lambda$StatusBarController$1$t71qcQIBSxRShk0Xohf1lk53bOw;->run()V
+SPLcom/android/server/wm/-$$Lambda$StatusBarController$1$x4q7e0Eysf0ynMSdT1A-JN_ucuI;->run()V
+SPLcom/android/server/wm/-$$Lambda$SurfaceAnimationRunner$xDyZdsMrcbp64p4BQmOGPvVnSWA;->run()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$0m_-qN9QkcgkoWun2Biw8le4l1Y;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$1ziXgnyLi0gQjqMGJAbSzs0-dmE;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$1ziXgnyLi0gQjqMGJAbSzs0-dmE;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$9ngbiJ2r3x2ASHwN59tUFO2-2BQ;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Ge3jFevRwpndz6qRSLDXODq2VjE;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$Ge3jFevRwpndz6qRSLDXODq2VjE;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$M2NSB3SSVJR2Tu4vihNfsIL31s4;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$MS67FdGix7tWO0Od9imcaKVXL7I;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$NLoKy9SbVr1EJpEjznsKi7yAlpg;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SAbrujQOZNUflKs1FAg2mBnjx3A;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SAbrujQOZNUflKs1FAg2mBnjx3A;->accept(Landroid/app/ITaskStackListener;Landroid/os/Message;)V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$SByuGj5tpcCpjTH9lf5zHHv2gNM;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$ZLPZtiEvD_F4WUgH7BD4KPpdAWM;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$byMDuIFUN4cQ1lT9jVjMwLhaLDw;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$k0FXXC-HcWJhmtm6-Kruo6nGeXI;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$kss8MGli3T9b_Y-QDzR2cB843y8;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$ncM_yje7-m7HuiJvorBIH_C8Ou4;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$qONfw3ssOxjb_iMuO2oMzCbXfrg;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$wuBjs4dj7gB_MI4dIdt2gV2Osus;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$TaskChangeNotificationController$yaW9HlZsz3L55CTQ4b7y33IGo94;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$UB90fpYUkajpKCLGR93ZDlgDhyw;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$UB90fpYUkajpKCLGR93ZDlgDhyw;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$WallpaperController$6pruPGLeSJAwNl9vGfC87eso21w;->apply(Ljava/lang/Object;)Z
+SPLcom/android/server/wm/-$$Lambda$WindowAnimator$U3Fu5_RzEyNo8Jt6zTb2ozdXiqM;->run()V
+SPLcom/android/server/wm/-$$Lambda$WindowAnimator$ddXU8gK8rmDqri0OZVMNa3Y4GHk;->doFrame(J)V
+SPLcom/android/server/wm/-$$Lambda$WindowManagerService$Ui3P_hFzUBaAtWwv4aQ-Lnn2NnQ;->run()V
+SPLcom/android/server/wm/-$$Lambda$WindowManagerService$wGh8jzmWqrd_7ruovSXZoiIk1s0;->run()V
+SPLcom/android/server/wm/-$$Lambda$WindowSurfacePlacer$4Hbamt-LFcbu8AoZBoOZN_LveKQ;->run()V
+SPLcom/android/server/wm/-$$Lambda$WindowToken$tFLHn4S6WuSXW1gp1kvT_sp7WC0;-><init>(Lcom/android/server/wm/WindowToken;)V
+SPLcom/android/server/wm/-$$Lambda$XZ-U3HlCFtHp_gydNmNMeRmQMCI;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$XZ-U3HlCFtHp_gydNmNMeRmQMCI;->make(Landroid/view/SurfaceSession;)Landroid/view/SurfaceControl$Builder;
+SPLcom/android/server/wm/-$$Lambda$_jL5KNK44AQYPj1d8Hd3FYO0W-M;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$_jL5KNK44AQYPj1d8Hd3FYO0W-M;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$cJE-iQ28Rv-ThCcuht9wXeFzPgo;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$cJE-iQ28Rv-ThCcuht9wXeFzPgo;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$hBnABSAsqXWvQ0zKwHWE4BZ3Mc0;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$hBnABSAsqXWvQ0zKwHWE4BZ3Mc0;->make()Landroid/view/SurfaceControl$Transaction;
+SPLcom/android/server/wm/-$$Lambda$hOONSPF2N4ZIr-bSc1utsg8aP-c;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$hOONSPF2N4ZIr-bSc1utsg8aP-c;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$hT1kyMEAhvB1-Uxr0DFAlnuU3cQ;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$hT1kyMEAhvB1-Uxr0DFAlnuU3cQ;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$iQxeP_PsHHArcPSFabJ3FXyPKNc;->run()V
+SPLcom/android/server/wm/-$$Lambda$ibmQVLjaQW2x74Wk8TcE0Og2MJM;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$ibmQVLjaQW2x74Wk8TcE0Og2MJM;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$p4YgPONtKWpvUwa_nwQPB8_Za6I;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$p4YgPONtKWpvUwa_nwQPB8_Za6I;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$pOh7At8PXGw9JWVkfdjoNb7hsIg;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$pOh7At8PXGw9JWVkfdjoNb7hsIg;->accept(Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$swA_sUfSJdP8eC8AA9Iby3-SuOY;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$swA_sUfSJdP8eC8AA9Iby3-SuOY;->accept(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/wm/-$$Lambda$yACUZqn1Ak-GL14-Nu3kHUSaLX0;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$yIIsPVyXvnU3Rv8mcliit-gIpSs;->run()V
+SPLcom/android/server/wm/-$$Lambda$zwLNi4Hz7werGBGptK8eYRpBWpw;-><init>()V
+SPLcom/android/server/wm/-$$Lambda$zwLNi4Hz7werGBGptK8eYRpBWpw;->accept(Ljava/lang/Object;Ljava/lang/Object;)V
+SPLcom/android/server/wm/ActivityDisplay;-><init>(Lcom/android/server/wm/RootActivityContainer;Landroid/view/Display;)V
+SPLcom/android/server/wm/ActivityDisplay;->addChild(Lcom/android/server/wm/ActivityStack;I)V
+SPLcom/android/server/wm/ActivityDisplay;->addStackReferenceIfNeeded(Lcom/android/server/wm/ActivityStack;)V
+SPLcom/android/server/wm/ActivityDisplay;->allResumedActivitiesComplete()Z
+SPLcom/android/server/wm/ActivityDisplay;->createDisplayContent()Lcom/android/server/wm/DisplayContent;
+SPLcom/android/server/wm/ActivityDisplay;->createStack(IIZ)Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/ActivityDisplay;->createStackUnchecked(IIIZ)Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/ActivityDisplay;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+SPLcom/android/server/wm/ActivityDisplay;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZZ)V
+SPLcom/android/server/wm/ActivityDisplay;->findTaskLocked(Lcom/android/server/wm/ActivityRecord;ZLcom/android/server/wm/RootActivityContainer$FindTaskResult;)V
+SPLcom/android/server/wm/ActivityDisplay;->getChildAt(I)Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/ActivityDisplay;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
+SPLcom/android/server/wm/ActivityDisplay;->getChildCount()I
+SPLcom/android/server/wm/ActivityDisplay;->getFocusedStack()Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/ActivityDisplay;->getHomeStack()Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/ActivityDisplay;->getIndexOf(Lcom/android/server/wm/ActivityStack;)I
+SPLcom/android/server/wm/ActivityDisplay;->getLastFocusedStack()Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/ActivityDisplay;->getNextStackId()I
+SPLcom/android/server/wm/ActivityDisplay;->getOrCreateStack(IIZ)Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/ActivityDisplay;->getParent()Lcom/android/server/wm/ConfigurationContainer;
+SPLcom/android/server/wm/ActivityDisplay;->getResumedActivity()Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/ActivityDisplay;->getSplitScreenPrimaryStack()Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/ActivityDisplay;->getStack(I)Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/ActivityDisplay;->getStack(II)Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/ActivityDisplay;->getTopInsertPosition(Lcom/android/server/wm/ActivityStack;I)I
+SPLcom/android/server/wm/ActivityDisplay;->getTopStack()Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/ActivityDisplay;->hasSplitScreenPrimaryStack()Z
+SPLcom/android/server/wm/ActivityDisplay;->isPrivate()Z
+SPLcom/android/server/wm/ActivityDisplay;->isRemoved()Z
+SPLcom/android/server/wm/ActivityDisplay;->isSingleTaskInstance()Z
+SPLcom/android/server/wm/ActivityDisplay;->isSleeping()Z
+SPLcom/android/server/wm/ActivityDisplay;->isTopNotPinnedStack(Lcom/android/server/wm/ActivityStack;)Z
+SPLcom/android/server/wm/ActivityDisplay;->isTopStack(Lcom/android/server/wm/ActivityStack;)Z
+SPLcom/android/server/wm/ActivityDisplay;->isWindowingModeSupported(IZZZZI)Z
+SPLcom/android/server/wm/ActivityDisplay;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/ActivityDisplay;->onDisplayChanged()V
+SPLcom/android/server/wm/ActivityDisplay;->onInitializeOverrideConfiguration(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/ActivityDisplay;->onLockTaskPackagesUpdated()V
+SPLcom/android/server/wm/ActivityDisplay;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/ActivityDisplay;->onStackWindowingModeChanged(Lcom/android/server/wm/ActivityStack;)V
+SPLcom/android/server/wm/ActivityDisplay;->pauseBackStacks(ZLcom/android/server/wm/ActivityRecord;Z)Z
+SPLcom/android/server/wm/ActivityDisplay;->positionChildAt(Lcom/android/server/wm/ActivityStack;IZLjava/lang/String;)V
+SPLcom/android/server/wm/ActivityDisplay;->positionChildAtTop(Lcom/android/server/wm/ActivityStack;ZLjava/lang/String;)V
+SPLcom/android/server/wm/ActivityDisplay;->setFocusedApp(Lcom/android/server/wm/ActivityRecord;Z)V
+SPLcom/android/server/wm/ActivityDisplay;->setIsSleeping(Z)V
+SPLcom/android/server/wm/ActivityDisplay;->shouldSleep()Z
+SPLcom/android/server/wm/ActivityDisplay;->topRunningActivity()Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/ActivityDisplay;->topRunningActivity(Z)Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/ActivityDisplay;->validateWindowingMode(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskRecord;I)I
+SPLcom/android/server/wm/ActivityMetricsLogger;-><init>(Lcom/android/server/wm/ActivityStackSupervisor;Landroid/content/Context;Landroid/os/Looper;)V
+SPLcom/android/server/wm/ActivityMetricsLogger;->logWindowState()V
+SPLcom/android/server/wm/ActivityMetricsLogger;->notifyBindApplication(Landroid/content/pm/ApplicationInfo;)V
+SPLcom/android/server/wm/ActivityMetricsLogger;->notifyTransitionStarting(Landroid/util/SparseIntArray;J)V
+SPLcom/android/server/wm/ActivityMetricsLogger;->notifyVisibilityChanged(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityMetricsLogger;->notifyWindowsDrawn(IJ)Lcom/android/server/wm/ActivityMetricsLogger$WindowingModeTransitionInfoSnapshot;
+SPLcom/android/server/wm/ActivityRecord$Token;-><init>(Lcom/android/server/wm/ActivityRecord;Landroid/content/Intent;)V
+SPLcom/android/server/wm/ActivityRecord$Token;->toString()Ljava/lang/String;
+SPLcom/android/server/wm/ActivityRecord;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/WindowProcessController;IILjava/lang/String;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;IZZLcom/android/server/wm/ActivityStackSupervisor;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityRecord;->activityStoppedLocked(Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
+SPLcom/android/server/wm/ActivityRecord;->addStartingWindow(Ljava/lang/String;ILandroid/content/res/CompatibilityInfo;Ljava/lang/CharSequence;IIIILandroid/os/IBinder;ZZZZZZ)Z
+SPLcom/android/server/wm/ActivityRecord;->allowTaskSnapshot()Z
+SPLcom/android/server/wm/ActivityRecord;->applyOptionsLocked()V
+SPLcom/android/server/wm/ActivityRecord;->applyOptionsLocked(Landroid/app/ActivityOptions;Landroid/content/Intent;)V
+SPLcom/android/server/wm/ActivityRecord;->attachedToProcess()Z
+SPLcom/android/server/wm/ActivityRecord;->canResumeByCompat()Z
+SPLcom/android/server/wm/ActivityRecord;->canShowWhenLocked()Z
+SPLcom/android/server/wm/ActivityRecord;->checkEnterPictureInPictureState(Ljava/lang/String;Z)Z
+SPLcom/android/server/wm/ActivityRecord;->completeResumeLocked()V
+SPLcom/android/server/wm/ActivityRecord;->computeBounds(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/ActivityRecord;->continueLaunchTickingLocked()Z
+SPLcom/android/server/wm/ActivityRecord;->createAppWindow(Lcom/android/server/wm/WindowManagerService;Landroid/view/IApplicationToken;ZLcom/android/server/wm/DisplayContent;JZZIIIIZZ)Lcom/android/server/wm/AppWindowToken;
+SPLcom/android/server/wm/ActivityRecord;->createAppWindowToken()V
+SPLcom/android/server/wm/ActivityRecord;->ensureActivityConfiguration(IZZ)Z
+SPLcom/android/server/wm/ActivityRecord;->forTokenLocked(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/ActivityRecord;->getActivityStack()Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/ActivityRecord;->getChildCount()I
+SPLcom/android/server/wm/ActivityRecord;->getConfigurationChanges(Landroid/content/res/Configuration;)I
+SPLcom/android/server/wm/ActivityRecord;->getDisplay()Lcom/android/server/wm/ActivityDisplay;
+SPLcom/android/server/wm/ActivityRecord;->getDisplayId()I
+SPLcom/android/server/wm/ActivityRecord;->getParent()Lcom/android/server/wm/ConfigurationContainer;
+SPLcom/android/server/wm/ActivityRecord;->getRequestedConfigurationOrientation()I
+SPLcom/android/server/wm/ActivityRecord;->getUriPermissionsLocked()Lcom/android/server/uri/UriPermissionOwner;
+SPLcom/android/server/wm/ActivityRecord;->handleAlreadyVisible()Z
+SPLcom/android/server/wm/ActivityRecord;->inSizeCompatMode()Z
+SPLcom/android/server/wm/ActivityRecord;->isHomeIntent(Landroid/content/Intent;)Z
+SPLcom/android/server/wm/ActivityRecord;->isProcessRunning()Z
+SPLcom/android/server/wm/ActivityRecord;->makeActiveIfNeeded(Lcom/android/server/wm/ActivityRecord;)Z
+SPLcom/android/server/wm/ActivityRecord;->moveFocusableActivityToTop(Ljava/lang/String;)Z
+SPLcom/android/server/wm/ActivityRecord;->okToShowLocked()Z
+SPLcom/android/server/wm/ActivityRecord;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/ActivityRecord;->onWindowsDrawn(ZJ)V
+SPLcom/android/server/wm/ActivityRecord;->onWindowsGone()V
+SPLcom/android/server/wm/ActivityRecord;->onWindowsVisible()V
+SPLcom/android/server/wm/ActivityRecord;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/ActivityRecord;->resumeKeyDispatchingLocked()V
+SPLcom/android/server/wm/ActivityRecord;->setActivityType(ZILandroid/content/Intent;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityRecord;->setLastReportedConfiguration(Landroid/util/MergedConfiguration;)V
+SPLcom/android/server/wm/ActivityRecord;->setProcess(Lcom/android/server/wm/WindowProcessController;)V
+SPLcom/android/server/wm/ActivityRecord;->setSleeping(ZZ)V
+SPLcom/android/server/wm/ActivityRecord;->setState(Lcom/android/server/wm/ActivityStack$ActivityState;Ljava/lang/String;)V
+SPLcom/android/server/wm/ActivityRecord;->setTask(Lcom/android/server/wm/TaskRecord;Z)V
+SPLcom/android/server/wm/ActivityRecord;->setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V
+SPLcom/android/server/wm/ActivityRecord;->setVisibility(Z)V
+SPLcom/android/server/wm/ActivityRecord;->shouldBeVisible(Z)Z
+SPLcom/android/server/wm/ActivityRecord;->shouldMakeActive(Lcom/android/server/wm/ActivityRecord;)Z
+SPLcom/android/server/wm/ActivityRecord;->shouldResumeActivity(Lcom/android/server/wm/ActivityRecord;)Z
+SPLcom/android/server/wm/ActivityRecord;->showStartingWindow(Lcom/android/server/wm/ActivityRecord;ZZ)V
+SPLcom/android/server/wm/ActivityRecord;->showStartingWindow(Lcom/android/server/wm/ActivityRecord;ZZZ)V
+SPLcom/android/server/wm/ActivityRecord;->startFreezingScreenLocked(Lcom/android/server/wm/WindowProcessController;I)V
+SPLcom/android/server/wm/ActivityRecord;->startLaunchTickingLocked()V
+SPLcom/android/server/wm/ActivityRecord;->toString()Ljava/lang/String;
+SPLcom/android/server/wm/ActivityRecord;->updateOverrideConfiguration()V
+SPLcom/android/server/wm/ActivityStack$ActivityState;-><init>(Ljava/lang/String;I)V
+SPLcom/android/server/wm/ActivityStack$ActivityState;->values()[Lcom/android/server/wm/ActivityStack$ActivityState;
+SPLcom/android/server/wm/ActivityStack;-><init>(Lcom/android/server/wm/ActivityDisplay;ILcom/android/server/wm/ActivityStackSupervisor;IIZ)V
+SPLcom/android/server/wm/ActivityStack;->activityPausedLocked(Landroid/os/IBinder;Z)V
+SPLcom/android/server/wm/ActivityStack;->addTask(Lcom/android/server/wm/TaskRecord;IZLjava/lang/String;)V
+SPLcom/android/server/wm/ActivityStack;->addTask(Lcom/android/server/wm/TaskRecord;ZLjava/lang/String;)V
+SPLcom/android/server/wm/ActivityStack;->addToStopping(Lcom/android/server/wm/ActivityRecord;ZZ)V
+SPLcom/android/server/wm/ActivityStack;->adjustFocusedActivityStack(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V
+SPLcom/android/server/wm/ActivityStack;->canEnterPipOnTaskSwitch(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
+SPLcom/android/server/wm/ActivityStack;->canShowWithInsecureKeyguard()Z
+SPLcom/android/server/wm/ActivityStack;->cancelInitializingActivities()V
+SPLcom/android/server/wm/ActivityStack;->checkKeyguardVisibility(Lcom/android/server/wm/ActivityRecord;ZZ)Z
+SPLcom/android/server/wm/ActivityStack;->checkReadyForSleep()V
+SPLcom/android/server/wm/ActivityStack;->completePauseLocked(ZLcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityStack;->continueUpdateBounds()V
+SPLcom/android/server/wm/ActivityStack;->createTaskRecord(ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;ZLcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Lcom/android/server/wm/TaskRecord;
+SPLcom/android/server/wm/ActivityStack;->createTaskStack(IZLandroid/graphics/Rect;)V
+SPLcom/android/server/wm/ActivityStack;->dump(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;ZZLjava/lang/String;Z)Z
+SPLcom/android/server/wm/ActivityStack;->dumpActivitiesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;ZZLjava/lang/String;Z)Z
+SPLcom/android/server/wm/ActivityStack;->ensureActivitiesVisibleLocked(Lcom/android/server/wm/ActivityRecord;IZZ)V
+SPLcom/android/server/wm/ActivityStack;->findTaskLocked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/RootActivityContainer$FindTaskResult;)V
+SPLcom/android/server/wm/ActivityStack;->finishDisabledPackageActivitiesLocked(Ljava/lang/String;Ljava/util/Set;ZZI)Z
+SPLcom/android/server/wm/ActivityStack;->getAdjustedPositionForTask(Lcom/android/server/wm/TaskRecord;ILcom/android/server/wm/ActivityRecord;)I
+SPLcom/android/server/wm/ActivityStack;->getAllRunningVisibleActivitiesLocked(Ljava/util/ArrayList;)V
+SPLcom/android/server/wm/ActivityStack;->getAllTasks()Ljava/util/ArrayList;
+SPLcom/android/server/wm/ActivityStack;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
+SPLcom/android/server/wm/ActivityStack;->getChildAt(I)Lcom/android/server/wm/TaskRecord;
+SPLcom/android/server/wm/ActivityStack;->getChildCount()I
+SPLcom/android/server/wm/ActivityStack;->getParent()Lcom/android/server/wm/ActivityDisplay;
+SPLcom/android/server/wm/ActivityStack;->getParent()Lcom/android/server/wm/ConfigurationContainer;
+SPLcom/android/server/wm/ActivityStack;->getResumedActivity()Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/ActivityStack;->getRunningTasks(Ljava/util/List;IIIZ)V
+SPLcom/android/server/wm/ActivityStack;->getTaskStack()Lcom/android/server/wm/TaskStack;
+SPLcom/android/server/wm/ActivityStack;->getTopActivity()Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/ActivityStack;->getTopDismissingKeyguardActivity()Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/ActivityStack;->getVisibility(Lcom/android/server/wm/ActivityRecord;)I
+SPLcom/android/server/wm/ActivityStack;->getWindowContainerBounds(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/ActivityStack;->goToSleep()V
+SPLcom/android/server/wm/ActivityStack;->goToSleepIfPossible(Z)Z
+SPLcom/android/server/wm/ActivityStack;->handleAppDiedLocked(Lcom/android/server/wm/WindowProcessController;)Z
+SPLcom/android/server/wm/ActivityStack;->isAttached()Z
+SPLcom/android/server/wm/ActivityStack;->isCompatible(II)Z
+SPLcom/android/server/wm/ActivityStack;->isFocusable()Z
+SPLcom/android/server/wm/ActivityStack;->isFocusableAndVisible()Z
+SPLcom/android/server/wm/ActivityStack;->isFocusedStackOnDisplay()Z
+SPLcom/android/server/wm/ActivityStack;->isInStackLocked(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/ActivityStack;->isInStackLocked(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/ActivityStack;->isInStackLocked(Lcom/android/server/wm/TaskRecord;)Z
+SPLcom/android/server/wm/ActivityStack;->isSingleTaskInstance()Z
+SPLcom/android/server/wm/ActivityStack;->isStackTranslucent(Lcom/android/server/wm/ActivityRecord;)Z
+SPLcom/android/server/wm/ActivityStack;->isTopStackOnDisplay()Z
+SPLcom/android/server/wm/ActivityStack;->logStartActivity(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskRecord;)V
+SPLcom/android/server/wm/ActivityStack;->makeInvisible(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityStack;->makeVisibleAndRestartIfNeeded(Lcom/android/server/wm/ActivityRecord;IZZLcom/android/server/wm/ActivityRecord;)Z
+SPLcom/android/server/wm/ActivityStack;->minimalResumeActivityLocked(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityStack;->moveToFront(Ljava/lang/String;)V
+SPLcom/android/server/wm/ActivityStack;->moveToFront(Ljava/lang/String;Lcom/android/server/wm/TaskRecord;)V
+SPLcom/android/server/wm/ActivityStack;->notifyActivityDrawnLocked(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityStack;->numActivities()I
+SPLcom/android/server/wm/ActivityStack;->onActivityAddedToStack(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityStack;->onActivityStateChanged(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityStack$ActivityState;Ljava/lang/String;)V
+SPLcom/android/server/wm/ActivityStack;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/ActivityStack;->onLockTaskPackagesUpdated()V
+SPLcom/android/server/wm/ActivityStack;->positionChildWindowContainerAtTop(Lcom/android/server/wm/TaskRecord;)V
+SPLcom/android/server/wm/ActivityStack;->postAddTask(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/ActivityStack;Z)V
+SPLcom/android/server/wm/ActivityStack;->rankTaskLayers(I)I
+SPLcom/android/server/wm/ActivityStack;->removeHistoryRecordsForAppLocked(Lcom/android/server/wm/WindowProcessController;)Z
+SPLcom/android/server/wm/ActivityStack;->resumeTopActivityInnerLocked(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
+SPLcom/android/server/wm/ActivityStack;->resumeTopActivityUncheckedLocked(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
+SPLcom/android/server/wm/ActivityStack;->setParent(Lcom/android/server/wm/ActivityDisplay;)V
+SPLcom/android/server/wm/ActivityStack;->setWindowingMode(IZZZZZ)V
+SPLcom/android/server/wm/ActivityStack;->shouldBeVisible(Lcom/android/server/wm/ActivityRecord;)Z
+SPLcom/android/server/wm/ActivityStack;->shouldSleepActivities()Z
+SPLcom/android/server/wm/ActivityStack;->shouldSleepOrShutDownActivities()Z
+SPLcom/android/server/wm/ActivityStack;->startActivityLocked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;ZZLandroid/app/ActivityOptions;)V
+SPLcom/android/server/wm/ActivityStack;->startPausingLocked(ZZLcom/android/server/wm/ActivityRecord;Z)Z
+SPLcom/android/server/wm/ActivityStack;->stopActivityLocked(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityStack;->taskForIdLocked(I)Lcom/android/server/wm/TaskRecord;
+SPLcom/android/server/wm/ActivityStack;->toString()Ljava/lang/String;
+SPLcom/android/server/wm/ActivityStack;->topActivityOccludesKeyguard()Z
+SPLcom/android/server/wm/ActivityStack;->topRunningNonDelayedActivityLocked(Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/ActivityStack;->updateLRUListLocked(Lcom/android/server/wm/ActivityRecord;)Z
+SPLcom/android/server/wm/ActivityStackSupervisor$ActivityStackSupervisorHandler;->activityIdleInternal(Lcom/android/server/wm/ActivityRecord;Z)V
+SPLcom/android/server/wm/ActivityStackSupervisor$ActivityStackSupervisorHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/wm/ActivityStackSupervisor;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/os/Looper;)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->activityIdleInternalLocked(Landroid/os/IBinder;ZZLandroid/content/res/Configuration;)Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/ActivityStackSupervisor;->activitySleptLocked(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->beginDeferResume()V
+SPLcom/android/server/wm/ActivityStackSupervisor;->canPlaceEntityOnDisplay(IIILandroid/content/pm/ActivityInfo;)Z
+SPLcom/android/server/wm/ActivityStackSupervisor;->canUseActivityOptionsLaunchBounds(Landroid/app/ActivityOptions;)Z
+SPLcom/android/server/wm/ActivityStackSupervisor;->checkFinishBootingLocked()Z
+SPLcom/android/server/wm/ActivityStackSupervisor;->checkReadyForSleepLocked(Z)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->checkStartAnyActivityPermission(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/String;IIILjava/lang/String;ZZLcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityStack;)Z
+SPLcom/android/server/wm/ActivityStackSupervisor;->createRunningTasks()Lcom/android/server/wm/RunningTasks;
+SPLcom/android/server/wm/ActivityStackSupervisor;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->dumpHistoryList(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;ZZZLjava/lang/String;ZLjava/lang/String;Lcom/android/server/wm/TaskRecord;)Z
+SPLcom/android/server/wm/ActivityStackSupervisor;->endDeferResume()V
+SPLcom/android/server/wm/ActivityStackSupervisor;->getActivityMetricsLogger()Lcom/android/server/wm/ActivityMetricsLogger;
+SPLcom/android/server/wm/ActivityStackSupervisor;->getKeyguardController()Lcom/android/server/wm/KeyguardController;
+SPLcom/android/server/wm/ActivityStackSupervisor;->getLaunchParamsController()Lcom/android/server/wm/LaunchParamsController;
+SPLcom/android/server/wm/ActivityStackSupervisor;->getNextTaskIdForUserLocked(I)I
+SPLcom/android/server/wm/ActivityStackSupervisor;->goingToSleepLocked()V
+SPLcom/android/server/wm/ActivityStackSupervisor;->handleNonResizableTaskIfNeeded(Lcom/android/server/wm/TaskRecord;IILcom/android/server/wm/ActivityStack;)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->handleNonResizableTaskIfNeeded(Lcom/android/server/wm/TaskRecord;IILcom/android/server/wm/ActivityStack;Z)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->initPowerManagement()V
+SPLcom/android/server/wm/ActivityStackSupervisor;->initialize()V
+SPLcom/android/server/wm/ActivityStackSupervisor;->isCallerAllowedToLaunchOnDisplay(IIILandroid/content/pm/ActivityInfo;)Z
+SPLcom/android/server/wm/ActivityStackSupervisor;->isCurrentProfileLocked(I)Z
+SPLcom/android/server/wm/ActivityStackSupervisor;->isStoppingNoHistoryActivity()Z
+SPLcom/android/server/wm/ActivityStackSupervisor;->lambda$activityIdleInternalLocked$0$ActivityStackSupervisor()V
+SPLcom/android/server/wm/ActivityStackSupervisor;->logIfTransactionTooLarge(Landroid/content/Intent;Landroid/os/Bundle;)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->logStackState()V
+SPLcom/android/server/wm/ActivityStackSupervisor;->notifyAppTransitionDone()V
+SPLcom/android/server/wm/ActivityStackSupervisor;->onRecentTaskAdded(Lcom/android/server/wm/TaskRecord;)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->onSystemReady()V
+SPLcom/android/server/wm/ActivityStackSupervisor;->processStoppingActivitiesLocked(Lcom/android/server/wm/ActivityRecord;ZZ)Ljava/util/ArrayList;
+SPLcom/android/server/wm/ActivityStackSupervisor;->readyToResume()Z
+SPLcom/android/server/wm/ActivityStackSupervisor;->realStartActivityLocked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/WindowProcessController;ZZ)Z
+SPLcom/android/server/wm/ActivityStackSupervisor;->removeSleepTimeouts()V
+SPLcom/android/server/wm/ActivityStackSupervisor;->removeTimeoutsForActivityLocked(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->reportActivityLaunchedLocked(ZLcom/android/server/wm/ActivityRecord;JI)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->reportActivityVisibleLocked(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->reportResumedActivityLocked(Lcom/android/server/wm/ActivityRecord;)Z
+SPLcom/android/server/wm/ActivityStackSupervisor;->reportWaitingActivityLaunchedIfNeeded(Lcom/android/server/wm/ActivityRecord;I)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->scheduleIdleTimeoutLocked(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->sendWaitingVisibleReportLocked(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->setLaunchSource(I)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->setRecentTasks(Lcom/android/server/wm/RecentTasks;)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->startSpecificActivityLocked(Lcom/android/server/wm/ActivityRecord;ZZ)V
+SPLcom/android/server/wm/ActivityStackSupervisor;->updateHomeProcess(Lcom/android/server/wm/WindowProcessController;)V
+SPLcom/android/server/wm/ActivityStartController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/ActivityStarter$Factory;)V
+SPLcom/android/server/wm/ActivityStartController;->clearPendingActivityLaunches(Ljava/lang/String;)Z
+SPLcom/android/server/wm/ActivityStartController;->doPendingActivityLaunches(Z)V
+SPLcom/android/server/wm/ActivityStartController;->getPendingRemoteAnimationRegistry()Lcom/android/server/wm/PendingRemoteAnimationRegistry;
+SPLcom/android/server/wm/ActivityStartController;->obtainStarter(Landroid/content/Intent;Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
+SPLcom/android/server/wm/ActivityStartController;->onExecutionComplete(Lcom/android/server/wm/ActivityStarter;)V
+SPLcom/android/server/wm/ActivityStartController;->startHomeActivity(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Ljava/lang/String;I)V
+SPLcom/android/server/wm/ActivityStartController;->startSetupActivity()V
+SPLcom/android/server/wm/ActivityStartInterceptor;->intercept(Landroid/content/Intent;Landroid/content/pm/ResolveInfo;Landroid/content/pm/ActivityInfo;Ljava/lang/String;Lcom/android/server/wm/TaskRecord;IILandroid/app/ActivityOptions;)Z
+SPLcom/android/server/wm/ActivityStartInterceptor;->interceptHarmfulAppIfNeeded()Z
+SPLcom/android/server/wm/ActivityStartInterceptor;->interceptQuietProfileIfNeeded()Z
+SPLcom/android/server/wm/ActivityStartInterceptor;->interceptSuspendedPackageIfNeeded()Z
+SPLcom/android/server/wm/ActivityStartInterceptor;->interceptWithConfirmCredentialsIfNeeded(Landroid/content/pm/ActivityInfo;I)Landroid/content/Intent;
+SPLcom/android/server/wm/ActivityStartInterceptor;->interceptWorkProfileChallengeIfNeeded()Z
+SPLcom/android/server/wm/ActivityStartInterceptor;->setStates(IIIILjava/lang/String;)V
+SPLcom/android/server/wm/ActivityStarter$DefaultFactory;->obtain()Lcom/android/server/wm/ActivityStarter;
+SPLcom/android/server/wm/ActivityStarter$DefaultFactory;->recycle(Lcom/android/server/wm/ActivityStarter;)V
+SPLcom/android/server/wm/ActivityStarter$DefaultFactory;->setController(Lcom/android/server/wm/ActivityStartController;)V
+SPLcom/android/server/wm/ActivityStarter$Request;->reset()V
+SPLcom/android/server/wm/ActivityStarter$Request;->set(Lcom/android/server/wm/ActivityStarter$Request;)V
+SPLcom/android/server/wm/ActivityStarter;-><init>(Lcom/android/server/wm/ActivityStartController;Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/ActivityStartInterceptor;)V
+SPLcom/android/server/wm/ActivityStarter;->addOrReparentStartingActivity(Lcom/android/server/wm/TaskRecord;Ljava/lang/String;)V
+SPLcom/android/server/wm/ActivityStarter;->adjustLaunchFlagsToDocumentMode(Lcom/android/server/wm/ActivityRecord;ZZI)I
+SPLcom/android/server/wm/ActivityStarter;->computeLaunchingTaskFlags()V
+SPLcom/android/server/wm/ActivityStarter;->computeSourceStack()V
+SPLcom/android/server/wm/ActivityStarter;->computeStackFocus(Lcom/android/server/wm/ActivityRecord;ZILandroid/app/ActivityOptions;)Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/ActivityStarter;->execute()I
+SPLcom/android/server/wm/ActivityStarter;->getLaunchStack(Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/TaskRecord;Landroid/app/ActivityOptions;)Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/ActivityStarter;->getReusableIntentActivity()Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/ActivityStarter;->postStartActivityProcessing(Lcom/android/server/wm/ActivityRecord;ILcom/android/server/wm/ActivityStack;)V
+SPLcom/android/server/wm/ActivityStarter;->reset(Z)V
+SPLcom/android/server/wm/ActivityStarter;->sendNewTaskResultRequestIfNeeded()V
+SPLcom/android/server/wm/ActivityStarter;->set(Lcom/android/server/wm/ActivityStarter;)V
+SPLcom/android/server/wm/ActivityStarter;->setActivityInfo(Landroid/content/pm/ActivityInfo;)Lcom/android/server/wm/ActivityStarter;
+SPLcom/android/server/wm/ActivityStarter;->setActivityOptions(Landroid/os/Bundle;)Lcom/android/server/wm/ActivityStarter;
+SPLcom/android/server/wm/ActivityStarter;->setActivityOptions(Lcom/android/server/wm/SafeActivityOptions;)Lcom/android/server/wm/ActivityStarter;
+SPLcom/android/server/wm/ActivityStarter;->setCallingUid(I)Lcom/android/server/wm/ActivityStarter;
+SPLcom/android/server/wm/ActivityStarter;->setInitialState(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;ZILcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)V
+SPLcom/android/server/wm/ActivityStarter;->setIntent(Landroid/content/Intent;)Lcom/android/server/wm/ActivityStarter;
+SPLcom/android/server/wm/ActivityStarter;->setOutActivity([Lcom/android/server/wm/ActivityRecord;)Lcom/android/server/wm/ActivityStarter;
+SPLcom/android/server/wm/ActivityStarter;->setReason(Ljava/lang/String;)Lcom/android/server/wm/ActivityStarter;
+SPLcom/android/server/wm/ActivityStarter;->setTaskFromReuseOrCreateNewTask(Lcom/android/server/wm/TaskRecord;)I
+SPLcom/android/server/wm/ActivityStarter;->shouldAbortBackgroundActivityStart(IILjava/lang/String;IILcom/android/server/wm/WindowProcessController;Lcom/android/server/am/PendingIntentRecord;ZLandroid/content/Intent;)Z
+SPLcom/android/server/wm/ActivityStarter;->startActivity(Landroid/app/IApplicationThread;Landroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/content/pm/ResolveInfo;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Landroid/os/IBinder;Ljava/lang/String;IIILjava/lang/String;IIILcom/android/server/wm/SafeActivityOptions;ZZ[Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskRecord;Ljava/lang/String;ZLcom/android/server/am/PendingIntentRecord;Z)I
+SPLcom/android/server/wm/ActivityStarter;->startActivity(Landroid/app/IApplicationThread;Landroid/content/Intent;Landroid/content/Intent;Ljava/lang/String;Landroid/content/pm/ActivityInfo;Landroid/content/pm/ResolveInfo;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;Landroid/os/IBinder;Ljava/lang/String;IIILjava/lang/String;IIILcom/android/server/wm/SafeActivityOptions;ZZ[Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskRecord;ZLcom/android/server/am/PendingIntentRecord;Z)I
+SPLcom/android/server/wm/ActivityStarter;->startActivity(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;IZLandroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;[Lcom/android/server/wm/ActivityRecord;)I
+SPLcom/android/server/wm/ActivityStarter;->startActivityUnchecked(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;IZLandroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;[Lcom/android/server/wm/ActivityRecord;)I
+SPLcom/android/server/wm/ActivityStarter;->updateBounds(Lcom/android/server/wm/TaskRecord;Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/ActivityTaskManagerService$FontScaleSettingObserver;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+SPLcom/android/server/wm/ActivityTaskManagerService$Lifecycle;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wm/ActivityTaskManagerService$Lifecycle;->onStart()V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->attachApplication(Lcom/android/server/wm/WindowProcessController;)Z
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->clearHeavyWeightProcessIfEquals(Lcom/android/server/wm/WindowProcessController;)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->compatibilityInfoForPackage(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->dump(Ljava/lang/String;Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->dumpForProcesses(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;ZLjava/lang/String;IZZI)Z
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->enableScreenAfterBoot(Z)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->enforceCallerIsRecentsOrHasPermission(Ljava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getHomeIntent()Landroid/content/Intent;
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getHomeProcess()Lcom/android/server/wm/WindowProcessController;
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getPreviousProcess()Lcom/android/server/wm/WindowProcessController;
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTopApp()Lcom/android/server/wm/WindowProcessController;
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->getTopProcessState()I
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->handleAppDied(Lcom/android/server/wm/WindowProcessController;ZLjava/lang/Runnable;)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isFactoryTestProcess(Lcom/android/server/wm/WindowProcessController;)Z
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isGetTasksAllowed(Ljava/lang/String;II)Z
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isHeavyWeightProcess(Lcom/android/server/wm/WindowProcessController;)Z
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->isSleeping()Z
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyActiveVoiceInteractionServiceChanged(Landroid/content/ComponentName;)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyAppTransitionFinished()V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyAppTransitionStarting(Landroid/util/SparseIntArray;J)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyDockedStackMinimizedChanged(Z)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->notifyKeyguardTrustedChanged()V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onCleanUpApplicationRecord(Lcom/android/server/wm/WindowProcessController;)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onForceStopPackage(Ljava/lang/String;ZZI)Z
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onPackageUninstalled(Ljava/lang/String;)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessAdded(Lcom/android/server/wm/WindowProcessController;)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessMapped(ILcom/android/server/wm/WindowProcessController;)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessRemoved(Ljava/lang/String;I)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onProcessUnMapped(I)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidActive(II)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidInactive(I)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->onUidProcStateChanged(II)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->preBindApplication(Lcom/android/server/wm/WindowProcessController;)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->rankTaskLayersIfNeeded()V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->registerScreenObserver(Lcom/android/server/wm/ActivityTaskManagerInternal$ScreenObserver;)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->removeRecentTasksByPackageName(Ljava/lang/String;I)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->resumeTopActivities(Z)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->setDeviceOwnerPackageName(Ljava/lang/String;)V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->showSystemReadyErrorDialogsIfNeeded()V
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->startHomeOnAllDisplays(ILjava/lang/String;)Z
+SPLcom/android/server/wm/ActivityTaskManagerService$LocalService;->updateTopComponentForFactoryTest()V
+SPLcom/android/server/wm/ActivityTaskManagerService;-><init>(Landroid/content/Context;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->acquireSleepToken(Ljava/lang/String;I)Lcom/android/server/wm/ActivityTaskManagerInternal$SleepToken;
+SPLcom/android/server/wm/ActivityTaskManagerService;->activityIdle(Landroid/os/IBinder;Landroid/content/res/Configuration;Z)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->activityPaused(Landroid/os/IBinder;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->activityResumed(Landroid/os/IBinder;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->activitySlept(Landroid/os/IBinder;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->activityStopped(Landroid/os/IBinder;Landroid/os/Bundle;Landroid/os/PersistableBundle;Ljava/lang/CharSequence;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->applyUpdateLockStateLocked(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->applyUpdateVrModeLocked(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->checkAppSwitchAllowedLocked(IIIILjava/lang/String;)Z
+SPLcom/android/server/wm/ActivityTaskManagerService;->checkGetTasksPermission(Ljava/lang/String;II)I
+SPLcom/android/server/wm/ActivityTaskManagerService;->checkPermission(Ljava/lang/String;II)I
+SPLcom/android/server/wm/ActivityTaskManagerService;->clearHeavyWeightProcessIfEquals(Lcom/android/server/wm/WindowProcessController;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->compatibilityInfoForPackageLocked(Landroid/content/pm/ApplicationInfo;)Landroid/content/res/CompatibilityInfo;
+SPLcom/android/server/wm/ActivityTaskManagerService;->createRecentTasks()Lcom/android/server/wm/RecentTasks;
+SPLcom/android/server/wm/ActivityTaskManagerService;->createStackSupervisor()Lcom/android/server/wm/ActivityStackSupervisor;
+SPLcom/android/server/wm/ActivityTaskManagerService;->dumpActivitiesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->dumpActivitiesLocked(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;[Ljava/lang/String;IZZLjava/lang/String;Ljava/lang/String;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->finishRunningVoiceLocked()V
+SPLcom/android/server/wm/ActivityTaskManagerService;->getActivityDisplayId(Landroid/os/IBinder;)I
+SPLcom/android/server/wm/ActivityTaskManagerService;->getActivityOptions(Landroid/os/IBinder;)Landroid/os/Bundle;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getActivityStartController()Lcom/android/server/wm/ActivityStartController;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getAppInfoForUser(Landroid/content/pm/ApplicationInfo;I)Landroid/content/pm/ApplicationInfo;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getAppWarningsLocked()Lcom/android/server/wm/AppWarnings;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getFilteredTasks(III)Ljava/util/List;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getFocusedStackInfo()Landroid/app/ActivityManager$StackInfo;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getGlobalConfiguration()Landroid/content/res/Configuration;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getGlobalLock()Lcom/android/server/wm/WindowManagerGlobalLock;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getHomeIntent()Landroid/content/Intent;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getLifecycleManager()Lcom/android/server/wm/ClientLifecycleManager;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getLockTaskController()Lcom/android/server/wm/LockTaskController;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getLockTaskModeState()I
+SPLcom/android/server/wm/ActivityTaskManagerService;->getPackageManager()Landroid/content/pm/IPackageManager;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getPackageManagerInternalLocked()Landroid/content/pm/PackageManagerInternal;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getProcessController(Ljava/lang/String;I)Lcom/android/server/wm/WindowProcessController;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getStackInfo(II)Landroid/app/ActivityManager$StackInfo;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getTaskChangeNotificationController()Lcom/android/server/wm/TaskChangeNotificationController;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getTasks(I)Ljava/util/List;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getTopDisplayFocusedStack()Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/ActivityTaskManagerService;->getUserManager()Lcom/android/server/pm/UserManagerService;
+SPLcom/android/server/wm/ActivityTaskManagerService;->increaseConfigurationSeqLocked()I
+SPLcom/android/server/wm/ActivityTaskManagerService;->initialize(Lcom/android/server/firewall/IntentFirewall;Lcom/android/server/am/PendingIntentController;Landroid/os/Looper;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->installSystemProviders()V
+SPLcom/android/server/wm/ActivityTaskManagerService;->isBooted()Z
+SPLcom/android/server/wm/ActivityTaskManagerService;->isBooting()Z
+SPLcom/android/server/wm/ActivityTaskManagerService;->isGetTasksAllowed(Ljava/lang/String;II)Z
+SPLcom/android/server/wm/ActivityTaskManagerService;->isSleepingLocked()Z
+SPLcom/android/server/wm/ActivityTaskManagerService;->isSleepingOrShuttingDownLocked()Z
+SPLcom/android/server/wm/ActivityTaskManagerService;->lambda$applyUpdateLockStateLocked$0$ActivityTaskManagerService(ZLcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->lambda$applyUpdateVrModeLocked$5$ActivityTaskManagerService(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->lambda$applyUpdateVrModeLocked$5(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->lambda$notifyEnterAnimationComplete$1$ActivityTaskManagerService(Landroid/os/IBinder;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->lambda$notifyEnterAnimationComplete$1(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/os/IBinder;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->lambda$postFinishBooting$6$ActivityTaskManagerService(ZZ)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->lambda$scheduleAppGcsLocked$7$ActivityTaskManagerService()V
+SPLcom/android/server/wm/ActivityTaskManagerService;->lambda$setLockScreenShown$2$ActivityTaskManagerService(Z)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->notifyActivityDrawn(Landroid/os/IBinder;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->notifyEnterAnimationComplete(Landroid/os/IBinder;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->onActivityManagerInternalAdded()V
+SPLcom/android/server/wm/ActivityTaskManagerService;->onInitPowerManagement()V
+SPLcom/android/server/wm/ActivityTaskManagerService;->onStartActivitySetDidAppSwitch()V
+SPLcom/android/server/wm/ActivityTaskManagerService;->onSystemReady()V
+SPLcom/android/server/wm/ActivityTaskManagerService;->performDisplayOverrideConfigUpdate(Landroid/content/res/Configuration;ZI)I
+SPLcom/android/server/wm/ActivityTaskManagerService;->postFinishBooting(ZZ)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->reportSizeConfigurations(Landroid/os/IBinder;[I[I[I)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->retrieveSettings(Landroid/content/ContentResolver;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->scheduleAppGcsLocked()V
+SPLcom/android/server/wm/ActivityTaskManagerService;->setBooted(Z)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->setBooting(Z)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->setDeviceOwnerPackageName(Ljava/lang/String;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->setLockScreenShown(ZZ)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->setLockScreenShown(ZZ[I)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->setResumedActivityUncheckLocked(Lcom/android/server/wm/ActivityRecord;Ljava/lang/String;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->setTaskDescription(Landroid/os/IBinder;Landroid/app/ActivityManager$TaskDescription;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->setUsageStatsManager(Landroid/app/usage/UsageStatsManagerInternal;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->updateActivityUsageStats(Lcom/android/server/wm/ActivityRecord;I)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->updateBatteryStats(Lcom/android/server/wm/ActivityRecord;Z)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->updateConfiguration(Landroid/content/res/Configuration;)Z
+SPLcom/android/server/wm/ActivityTaskManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;Z)Z
+SPLcom/android/server/wm/ActivityTaskManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZZ)Z
+SPLcom/android/server/wm/ActivityTaskManagerService;->updateConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZZIZLcom/android/server/wm/ActivityTaskManagerService$UpdateConfigurationResult;)Z
+SPLcom/android/server/wm/ActivityTaskManagerService;->updateCpuStats()V
+SPLcom/android/server/wm/ActivityTaskManagerService;->updateDisplayOverrideConfiguration(Landroid/content/res/Configuration;I)Z
+SPLcom/android/server/wm/ActivityTaskManagerService;->updateDisplayOverrideConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZI)Z
+SPLcom/android/server/wm/ActivityTaskManagerService;->updateDisplayOverrideConfigurationLocked(Landroid/content/res/Configuration;Lcom/android/server/wm/ActivityRecord;ZILcom/android/server/wm/ActivityTaskManagerService$UpdateConfigurationResult;)Z
+SPLcom/android/server/wm/ActivityTaskManagerService;->updateGlobalConfigurationLocked(Landroid/content/res/Configuration;ZZIZ)I
+SPLcom/android/server/wm/ActivityTaskManagerService;->updateLockTaskFeatures(II)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->updateLockTaskPackages(I[Ljava/lang/String;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->updateShouldShowDialogsLocked(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/ActivityTaskManagerService;->updateSleepIfNeededLocked()V
+SPLcom/android/server/wm/AppTransition;-><init>(Landroid/content/Context;Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/AppTransition;->clear()V
+SPLcom/android/server/wm/AppTransition;->getAppTransition()I
+SPLcom/android/server/wm/AppTransition;->getTransitFlags()I
+SPLcom/android/server/wm/AppTransition;->goodToGo(ILcom/android/server/wm/AppWindowToken;Landroid/util/ArraySet;)I
+SPLcom/android/server/wm/AppTransition;->isFetchingAppTransitionsSpecs()Z
+SPLcom/android/server/wm/AppTransition;->isReady()Z
+SPLcom/android/server/wm/AppTransition;->isRunning()Z
+SPLcom/android/server/wm/AppTransition;->isTimeout()Z
+SPLcom/android/server/wm/AppTransition;->isTransitionEqual(I)Z
+SPLcom/android/server/wm/AppTransition;->isTransitionSet()Z
+SPLcom/android/server/wm/AppTransition;->notifyAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+SPLcom/android/server/wm/AppTransition;->notifyAppTransitionStartingLocked(IJJJ)I
+SPLcom/android/server/wm/AppTransition;->postAnimationCallback()V
+SPLcom/android/server/wm/AppTransition;->prepareAppTransitionLocked(IZIZ)Z
+SPLcom/android/server/wm/AppTransition;->registerListenerLocked(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V
+SPLcom/android/server/wm/AppTransition;->removeAppTransitionTimeoutCallbacks()V
+SPLcom/android/server/wm/AppTransition;->setIdle()V
+SPLcom/android/server/wm/AppTransition;->setLastAppTransition(ILcom/android/server/wm/AppWindowToken;Lcom/android/server/wm/AppWindowToken;Lcom/android/server/wm/AppWindowToken;)V
+SPLcom/android/server/wm/AppTransition;->setReady()V
+SPLcom/android/server/wm/AppTransition;->updateBooster()V
+SPLcom/android/server/wm/AppTransitionController;->collectActivityTypes(Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/util/ArraySet;)Landroid/util/ArraySet;
+SPLcom/android/server/wm/AppTransitionController;->findAnimLayoutParamsToken(ILandroid/util/ArraySet;)Lcom/android/server/wm/AppWindowToken;
+SPLcom/android/server/wm/AppTransitionController;->getTopApp(Landroid/util/ArraySet;Z)Lcom/android/server/wm/AppWindowToken;
+SPLcom/android/server/wm/AppTransitionController;->handleAppTransitionReady()V
+SPLcom/android/server/wm/AppTransitionController;->handleChangingApps(ILandroid/view/WindowManager$LayoutParams;Z)V
+SPLcom/android/server/wm/AppTransitionController;->handleClosingApps(ILandroid/view/WindowManager$LayoutParams;Z)V
+SPLcom/android/server/wm/AppTransitionController;->handleNonAppWindowsInTransition(II)V
+SPLcom/android/server/wm/AppTransitionController;->handleOpeningApps(ILandroid/view/WindowManager$LayoutParams;Z)V
+SPLcom/android/server/wm/AppTransitionController;->lookForHighestTokenWithFilter(Landroid/util/ArraySet;Landroid/util/ArraySet;Landroid/util/ArraySet;Ljava/util/function/Predicate;)Lcom/android/server/wm/AppWindowToken;
+SPLcom/android/server/wm/AppTransitionController;->maybeUpdateTransitToTranslucentAnim(I)I
+SPLcom/android/server/wm/AppTransitionController;->maybeUpdateTransitToWallpaper(IZZ)I
+SPLcom/android/server/wm/AppTransitionController;->transitionGoodToGo(Landroid/util/ArraySet;Landroid/util/SparseIntArray;)Z
+SPLcom/android/server/wm/AppWarnings$UiHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/wm/AppWarnings;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/content/Context;Landroid/os/Handler;Landroid/os/Handler;Ljava/io/File;)V
+SPLcom/android/server/wm/AppWarnings;->hideDialogsForPackageUiThread(Ljava/lang/String;)V
+SPLcom/android/server/wm/AppWarnings;->onDensityChanged()V
+SPLcom/android/server/wm/AppWarnings;->onPackageUninstalled(Ljava/lang/String;)V
+SPLcom/android/server/wm/AppWarnings;->onStartActivity(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/AppWarnings;->readConfigFromFileAmsThread()V
+SPLcom/android/server/wm/AppWarnings;->removePackageAndHideDialogs(Ljava/lang/String;)V
+SPLcom/android/server/wm/AppWarnings;->showDeprecatedTargetDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/AppWarnings;->showUnsupportedCompileSdkDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/AppWarnings;->showUnsupportedDisplaySizeDialogIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/AppWindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IApplicationToken;Landroid/content/ComponentName;ZLcom/android/server/wm/DisplayContent;JZZIIIIZZLcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/AppWindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IApplicationToken;Landroid/content/ComponentName;ZLcom/android/server/wm/DisplayContent;Z)V
+SPLcom/android/server/wm/AppWindowToken;->addStartingWindow(Ljava/lang/String;ILandroid/content/res/CompatibilityInfo;Ljava/lang/CharSequence;IIIILandroid/os/IBinder;ZZZZZZ)Z
+SPLcom/android/server/wm/AppWindowToken;->addWindow(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/AppWindowToken;->allDrawnStatesConsidered()Z
+SPLcom/android/server/wm/AppWindowToken;->asAppWindowToken()Lcom/android/server/wm/AppWindowToken;
+SPLcom/android/server/wm/AppWindowToken;->canShowWindows()Z
+SPLcom/android/server/wm/AppWindowToken;->canTurnScreenOn()Z
+SPLcom/android/server/wm/AppWindowToken;->checkAppWindowsReadyToShow()V
+SPLcom/android/server/wm/AppWindowToken;->checkCompleteDeferredRemoval()Z
+SPLcom/android/server/wm/AppWindowToken;->checkKeyguardFlagsChanged()V
+SPLcom/android/server/wm/AppWindowToken;->clearAllDrawn()V
+SPLcom/android/server/wm/AppWindowToken;->commitVisibility(Landroid/view/WindowManager$LayoutParams;ZIZZ)Z
+SPLcom/android/server/wm/AppWindowToken;->containsDismissKeyguardWindow()Z
+SPLcom/android/server/wm/AppWindowToken;->containsShowWhenLockedWindow()Z
+SPLcom/android/server/wm/AppWindowToken;->destroySurfaces()V
+SPLcom/android/server/wm/AppWindowToken;->destroySurfaces(Z)V
+SPLcom/android/server/wm/AppWindowToken;->findMainWindow()Lcom/android/server/wm/WindowState;
+SPLcom/android/server/wm/AppWindowToken;->findMainWindow(Z)Lcom/android/server/wm/WindowState;
+SPLcom/android/server/wm/AppWindowToken;->getBounds()Landroid/graphics/Rect;
+SPLcom/android/server/wm/AppWindowToken;->getDisplayedBounds()Landroid/graphics/Rect;
+SPLcom/android/server/wm/AppWindowToken;->getOrientationIgnoreVisibility()I
+SPLcom/android/server/wm/AppWindowToken;->getResolvedOverrideBounds()Landroid/graphics/Rect;
+SPLcom/android/server/wm/AppWindowToken;->getStack()Lcom/android/server/wm/TaskStack;
+SPLcom/android/server/wm/AppWindowToken;->inSizeCompatMode()Z
+SPLcom/android/server/wm/AppWindowToken;->isAppAnimating()Z
+SPLcom/android/server/wm/AppWindowToken;->isClientHidden()Z
+SPLcom/android/server/wm/AppWindowToken;->isFreezingScreen()Z
+SPLcom/android/server/wm/AppWindowToken;->isLetterboxOverlappingWith(Landroid/graphics/Rect;)Z
+SPLcom/android/server/wm/AppWindowToken;->isRelaunching()Z
+SPLcom/android/server/wm/AppWindowToken;->isSelfAnimating()Z
+SPLcom/android/server/wm/AppWindowToken;->isVisible()Z
+SPLcom/android/server/wm/AppWindowToken;->isWaitingForTransitionStart()Z
+SPLcom/android/server/wm/AppWindowToken;->layoutLetterbox(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/AppWindowToken;->matchParentBounds()Z
+SPLcom/android/server/wm/AppWindowToken;->needsZBoost()Z
+SPLcom/android/server/wm/AppWindowToken;->notifyAppStopped()V
+SPLcom/android/server/wm/AppWindowToken;->onAnimationFinished()V
+SPLcom/android/server/wm/AppWindowToken;->onAppTransitionDone()V
+SPLcom/android/server/wm/AppWindowToken;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/AppWindowToken;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/AppWindowToken;->onFirstWindowDrawn(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;)V
+SPLcom/android/server/wm/AppWindowToken;->onParentChanged()V
+SPLcom/android/server/wm/AppWindowToken;->prepareSurfaces()V
+SPLcom/android/server/wm/AppWindowToken;->removeDeadWindows()V
+SPLcom/android/server/wm/AppWindowToken;->removeReplacedWindowIfNeeded(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/AppWindowToken;->removeStartingWindow()V
+SPLcom/android/server/wm/AppWindowToken;->requestUpdateWallpaperIfNeeded()V
+SPLcom/android/server/wm/AppWindowToken;->setAppLayoutChanges(ILjava/lang/String;)V
+SPLcom/android/server/wm/AppWindowToken;->setClientHidden(Z)V
+SPLcom/android/server/wm/AppWindowToken;->setHidden(Z)V
+SPLcom/android/server/wm/AppWindowToken;->setVisibility(ZZ)V
+SPLcom/android/server/wm/AppWindowToken;->setWillCloseOrEnterPip(Z)V
+SPLcom/android/server/wm/AppWindowToken;->shouldStartChangeTransition(II)Z
+SPLcom/android/server/wm/AppWindowToken;->showAllWindowsLocked()V
+SPLcom/android/server/wm/AppWindowToken;->stopFreezingScreen(ZZ)V
+SPLcom/android/server/wm/AppWindowToken;->toString()Ljava/lang/String;
+SPLcom/android/server/wm/AppWindowToken;->transferStartingWindowFromHiddenAboveTokenIfNeeded()V
+SPLcom/android/server/wm/AppWindowToken;->updateAllDrawn()V
+SPLcom/android/server/wm/AppWindowToken;->updateDrawnWindowStates(Lcom/android/server/wm/WindowState;)Z
+SPLcom/android/server/wm/AppWindowToken;->updateLetterboxSurface(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/AppWindowToken;->updateReportedVisibilityLocked()V
+SPLcom/android/server/wm/AppWindowToken;->windowsAreFocusable()Z
+SPLcom/android/server/wm/BarController$BarHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/wm/BarController;-><init>(Ljava/lang/String;IIIIII)V
+SPLcom/android/server/wm/BarController;->applyTranslucentFlagLw(Lcom/android/server/wm/WindowState;II)I
+SPLcom/android/server/wm/BarController;->checkHiddenLw()Z
+SPLcom/android/server/wm/BarController;->computeStateLw(ZZLcom/android/server/wm/WindowState;Z)I
+SPLcom/android/server/wm/BarController;->getStatusBarInternal()Lcom/android/server/statusbar/StatusBarManagerInternal;
+SPLcom/android/server/wm/BarController;->isTransientShowRequested()Z
+SPLcom/android/server/wm/BarController;->isTransientShowing()Z
+SPLcom/android/server/wm/BarController;->isTransparentAllowed(Lcom/android/server/wm/WindowState;)Z
+SPLcom/android/server/wm/BarController;->setBarShowingLw(Z)Z
+SPLcom/android/server/wm/BarController;->setContentFrame(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/BarController;->setOnBarVisibilityChangedListener(Lcom/android/server/wm/BarController$OnBarVisibilityChangedListener;Z)V
+SPLcom/android/server/wm/BarController;->setShowTransparent(Z)V
+SPLcom/android/server/wm/BarController;->setWindow(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/BarController;->skipAnimation()Z
+SPLcom/android/server/wm/BarController;->updateVisibilityLw(ZII)I
+SPLcom/android/server/wm/BarController;->wasRecentlyTranslucent()Z
+SPLcom/android/server/wm/BoundsAnimationController$AppTransitionNotifier;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+SPLcom/android/server/wm/BoundsAnimationController;-><init>(Landroid/content/Context;Lcom/android/server/wm/AppTransition;Landroid/os/Handler;Landroid/animation/AnimationHandler;)V
+SPLcom/android/server/wm/BoundsAnimationController;->lambda$new$0$BoundsAnimationController(Landroid/animation/AnimationHandler;)V
+SPLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/IApplicationThread;Landroid/app/servertransaction/ClientTransactionItem;)V
+SPLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/IApplicationThread;Landroid/os/IBinder;Landroid/app/servertransaction/ActivityLifecycleItem;)V
+SPLcom/android/server/wm/ClientLifecycleManager;->scheduleTransaction(Landroid/app/servertransaction/ClientTransaction;)V
+SPLcom/android/server/wm/CompatModePackages;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Ljava/io/File;Landroid/os/Handler;)V
 SPLcom/android/server/wm/ConfigurationContainer;-><init>()V
+SPLcom/android/server/wm/ConfigurationContainer;->diffRequestedOverrideBounds(Landroid/graphics/Rect;)I
+SPLcom/android/server/wm/ConfigurationContainer;->equivalentBounds(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
+SPLcom/android/server/wm/ConfigurationContainer;->equivalentRequestedOverrideBounds(Landroid/graphics/Rect;)Z
+SPLcom/android/server/wm/ConfigurationContainer;->getBounds(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/ConfigurationContainer;->getName()Ljava/lang/String;
+SPLcom/android/server/wm/ConfigurationContainer;->getRequestedOverrideWindowingMode()I
+SPLcom/android/server/wm/ConfigurationContainer;->getResolvedOverrideConfiguration()Landroid/content/res/Configuration;
+SPLcom/android/server/wm/ConfigurationContainer;->inFreeformWindowingMode()Z
+SPLcom/android/server/wm/ConfigurationContainer;->inMultiWindowMode()Z
+SPLcom/android/server/wm/ConfigurationContainer;->inSplitScreenSecondaryWindowingMode()Z
+SPLcom/android/server/wm/ConfigurationContainer;->inSplitScreenWindowingMode()Z
+SPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeAssistant()Z
+SPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeHome()Z
+SPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeRecents()Z
+SPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeStandard()Z
+SPLcom/android/server/wm/ConfigurationContainer;->isActivityTypeStandardOrUndefined()Z
+SPLcom/android/server/wm/ConfigurationContainer;->isAlwaysOnTop()Z
+SPLcom/android/server/wm/ConfigurationContainer;->isCompatible(II)Z
 SPLcom/android/server/wm/ConfigurationContainer;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/ConfigurationContainer;->onMergedOverrideConfigurationChanged()V
+SPLcom/android/server/wm/ConfigurationContainer;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/ConfigurationContainer;->registerConfigurationChangeListener(Lcom/android/server/wm/ConfigurationContainerListener;)V
+SPLcom/android/server/wm/ConfigurationContainer;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/ConfigurationContainer;->setActivityType(I)V
+SPLcom/android/server/wm/ConfigurationContainer;->setBounds(IIII)I
+SPLcom/android/server/wm/ConfigurationContainer;->setBounds(Landroid/graphics/Rect;)I
+SPLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+SPLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;Lcom/android/server/wm/WindowContainer;)V
+SPLcom/android/server/wm/DisplayContent$AboveAppWindowContainers;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;
+SPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;-><init>(Lcom/android/server/wm/DisplayContent;Ljava/lang/String;Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->addChild(Lcom/android/server/wm/WindowToken;)V
+SPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->getName()Ljava/lang/String;
+SPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->getOrientation()I
+SPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->lambda$new$0$DisplayContent$NonAppWindowContainers(Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowToken;)I
+SPLcom/android/server/wm/DisplayContent$NonAppWindowContainers;->prepareSurfaces()V
+SPLcom/android/server/wm/DisplayContent$TaskStackContainers;->addStackReferenceIfNeeded(Lcom/android/server/wm/TaskStack;)V
+SPLcom/android/server/wm/DisplayContent$TaskStackContainers;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+SPLcom/android/server/wm/DisplayContent$TaskStackContainers;->assignStackOrdering(Landroid/view/SurfaceControl$Transaction;)V
+SPLcom/android/server/wm/DisplayContent$TaskStackContainers;->findPositionForStack(ILcom/android/server/wm/TaskStack;Z)I
+SPLcom/android/server/wm/DisplayContent$TaskStackContainers;->getStack(II)Lcom/android/server/wm/TaskStack;
+SPLcom/android/server/wm/DisplayContent$TaskStackContainers;->getTopStack()Lcom/android/server/wm/TaskStack;
+SPLcom/android/server/wm/DisplayContent$TaskStackContainers;->onParentChanged()V
+SPLcom/android/server/wm/DisplayContent$TaskStackContainers;->positionChildAt(ILcom/android/server/wm/TaskStack;Z)V
+SPLcom/android/server/wm/DisplayContent$TaskStackContainers;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
+SPLcom/android/server/wm/DisplayContent$TaskStackContainers;->removeExistingAppTokensIfPossible()V
+SPLcom/android/server/wm/DisplayContent$TaskStackContainers;->setExitingTokensHasVisible(Z)V
+SPLcom/android/server/wm/DisplayContent;-><init>(Landroid/view/Display;Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/ActivityDisplay;)V
+SPLcom/android/server/wm/DisplayContent;->addWindowToken(Landroid/os/IBinder;Lcom/android/server/wm/WindowToken;)V
+SPLcom/android/server/wm/DisplayContent;->adjustDisplaySizeRanges(Landroid/view/DisplayInfo;IIII)V
+SPLcom/android/server/wm/DisplayContent;->adjustForImeIfNeeded()V
+SPLcom/android/server/wm/DisplayContent;->amendWindowTapExcludeRegion(Landroid/graphics/Region;)V
+SPLcom/android/server/wm/DisplayContent;->applySurfaceChangesTransaction(Z)V
+SPLcom/android/server/wm/DisplayContent;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+SPLcom/android/server/wm/DisplayContent;->assignWindowLayers(Z)V
+SPLcom/android/server/wm/DisplayContent;->calculateBounds(Landroid/view/DisplayInfo;Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/DisplayContent;->calculateDisplayCutoutForRotation(I)Lcom/android/server/wm/utils/WmDisplayCutout;
+SPLcom/android/server/wm/DisplayContent;->calculateDisplayCutoutForRotationUncached(Landroid/view/DisplayCutout;I)Lcom/android/server/wm/utils/WmDisplayCutout;
+SPLcom/android/server/wm/DisplayContent;->checkCompleteDeferredRemoval()Z
+SPLcom/android/server/wm/DisplayContent;->computeCompatSmallestWidth(ZIIILandroid/view/DisplayCutout;)I
+SPLcom/android/server/wm/DisplayContent;->computeImeTarget(Z)Lcom/android/server/wm/WindowState;
+SPLcom/android/server/wm/DisplayContent;->computeImeTargetIfNeeded(Lcom/android/server/wm/AppWindowToken;)V
+SPLcom/android/server/wm/DisplayContent;->computeScreenConfiguration(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/DisplayContent;->computeSizeRangesAndScreenLayout(Landroid/view/DisplayInfo;ZIIIFLandroid/content/res/Configuration;)V
+SPLcom/android/server/wm/DisplayContent;->configureDisplayPolicy()V
+SPLcom/android/server/wm/DisplayContent;->executeAppTransition()V
+SPLcom/android/server/wm/DisplayContent;->findFocusedWindow()Lcom/android/server/wm/WindowState;
+SPLcom/android/server/wm/DisplayContent;->findFocusedWindowIfNeeded()Lcom/android/server/wm/WindowState;
+SPLcom/android/server/wm/DisplayContent;->getAppWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/AppWindowToken;
+SPLcom/android/server/wm/DisplayContent;->getBounds(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/DisplayContent;->getDisplay()Landroid/view/Display;
+SPLcom/android/server/wm/DisplayContent;->getDisplayInfo()Landroid/view/DisplayInfo;
+SPLcom/android/server/wm/DisplayContent;->getDisplayMetrics()Landroid/util/DisplayMetrics;
+SPLcom/android/server/wm/DisplayContent;->getDisplayRotation()Lcom/android/server/wm/DisplayRotation;
+SPLcom/android/server/wm/DisplayContent;->getDockedDividerController()Lcom/android/server/wm/DockedStackDividerController;
+SPLcom/android/server/wm/DisplayContent;->getInputMonitor()Lcom/android/server/wm/InputMonitor;
+SPLcom/android/server/wm/DisplayContent;->getInsetsStateController()Lcom/android/server/wm/InsetsStateController;
+SPLcom/android/server/wm/DisplayContent;->getLastHasContent()Z
+SPLcom/android/server/wm/DisplayContent;->getMetricsLogger()Lcom/android/internal/logging/MetricsLogger;
+SPLcom/android/server/wm/DisplayContent;->getNaturalOrientation()I
+SPLcom/android/server/wm/DisplayContent;->getNeedsMenu(Lcom/android/server/wm/WindowState;Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
+SPLcom/android/server/wm/DisplayContent;->getOrientation()I
+SPLcom/android/server/wm/DisplayContent;->getPinnedStack()Lcom/android/server/wm/TaskStack;
+SPLcom/android/server/wm/DisplayContent;->getPinnedStackController()Lcom/android/server/wm/PinnedStackController;
+SPLcom/android/server/wm/DisplayContent;->getRotation()I
+SPLcom/android/server/wm/DisplayContent;->getSession()Landroid/view/SurfaceSession;
+SPLcom/android/server/wm/DisplayContent;->getSplitScreenPrimaryStack()Lcom/android/server/wm/TaskStack;
+SPLcom/android/server/wm/DisplayContent;->getSplitScreenPrimaryStackIgnoringVisibility()Lcom/android/server/wm/TaskStack;
+SPLcom/android/server/wm/DisplayContent;->getStack(II)Lcom/android/server/wm/TaskStack;
+SPLcom/android/server/wm/DisplayContent;->getStacks()Lcom/android/server/wm/WindowList;
+SPLcom/android/server/wm/DisplayContent;->getTopStack()Lcom/android/server/wm/TaskStack;
+SPLcom/android/server/wm/DisplayContent;->getTopStackInWindowingMode(I)Lcom/android/server/wm/TaskStack;
+SPLcom/android/server/wm/DisplayContent;->getWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken;
+SPLcom/android/server/wm/DisplayContent;->handleAnimatingStoppedAndTransition()V
+SPLcom/android/server/wm/DisplayContent;->handlesOrientationChangeFromDescendant()Z
+SPLcom/android/server/wm/DisplayContent;->hasAccess(I)Z
+SPLcom/android/server/wm/DisplayContent;->initializeDisplayBaseInfo()V
+SPLcom/android/server/wm/DisplayContent;->isInputMethodClientFocus(II)Z
+SPLcom/android/server/wm/DisplayContent;->isLayoutNeeded()Z
+SPLcom/android/server/wm/DisplayContent;->isNextTransitionForward()Z
+SPLcom/android/server/wm/DisplayContent;->isReady()Z
+SPLcom/android/server/wm/DisplayContent;->isStackVisible(I)Z
+SPLcom/android/server/wm/DisplayContent;->lambda$new$0$DisplayContent(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/DisplayContent;->lambda$new$1(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/DisplayContent;->lambda$new$2$DisplayContent(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/DisplayContent;->lambda$new$2(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/DisplayContent;->lambda$new$3$DisplayContent(Lcom/android/server/wm/WindowState;)Z
+SPLcom/android/server/wm/DisplayContent;->lambda$new$3(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)Z
+SPLcom/android/server/wm/DisplayContent;->lambda$new$4$DisplayContent(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/DisplayContent;->lambda$new$4(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/DisplayContent;->lambda$new$5$DisplayContent(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/DisplayContent;->lambda$new$5(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/DisplayContent;->lambda$new$8$DisplayContent(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/DisplayContent;->lambda$new$8(Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/DisplayContent;->layoutAndAssignWindowLayersIfNeeded()V
+SPLcom/android/server/wm/DisplayContent;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;
+SPLcom/android/server/wm/DisplayContent;->okToAnimate()Z
+SPLcom/android/server/wm/DisplayContent;->okToDisplay()Z
+SPLcom/android/server/wm/DisplayContent;->onAppTransitionDone()V
+SPLcom/android/server/wm/DisplayContent;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/DisplayContent;->onDescendantOverrideConfigurationChanged()V
+SPLcom/android/server/wm/DisplayContent;->onParentChanged()V
+SPLcom/android/server/wm/DisplayContent;->performLayout(ZZ)V
+SPLcom/android/server/wm/DisplayContent;->positionChildAt(ILcom/android/server/wm/DisplayContent$DisplayChildWindowContainer;Z)V
+SPLcom/android/server/wm/DisplayContent;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
+SPLcom/android/server/wm/DisplayContent;->positionStackAt(ILcom/android/server/wm/TaskStack;Z)V
+SPLcom/android/server/wm/DisplayContent;->preOnConfigurationChanged()V
+SPLcom/android/server/wm/DisplayContent;->prepareAppTransition(IZ)V
+SPLcom/android/server/wm/DisplayContent;->prepareAppTransition(IZIZ)V
+SPLcom/android/server/wm/DisplayContent;->prepareFreezingTaskBounds()V
+SPLcom/android/server/wm/DisplayContent;->prepareSurfaces()V
+SPLcom/android/server/wm/DisplayContent;->reParentWindowToken(Lcom/android/server/wm/WindowToken;)V
+SPLcom/android/server/wm/DisplayContent;->reapplyMagnificationSpec()V
+SPLcom/android/server/wm/DisplayContent;->reduceCompatConfigWidthSize(IIILandroid/util/DisplayMetrics;IILandroid/view/DisplayCutout;)I
+SPLcom/android/server/wm/DisplayContent;->reduceConfigLayout(IIFIIILandroid/view/DisplayCutout;)I
+SPLcom/android/server/wm/DisplayContent;->registerPointerEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V
+SPLcom/android/server/wm/DisplayContent;->removeExistingTokensIfPossible()V
+SPLcom/android/server/wm/DisplayContent;->scheduleToastWindowsTimeoutIfNeededLocked(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/DisplayContent;->sendNewConfiguration()V
+SPLcom/android/server/wm/DisplayContent;->setExitingTokensHasVisible(Z)V
+SPLcom/android/server/wm/DisplayContent;->setFocusedApp(Lcom/android/server/wm/AppWindowToken;)Z
+SPLcom/android/server/wm/DisplayContent;->setInsetProvider(ILcom/android/server/wm/WindowState;Lcom/android/internal/util/function/TriConsumer;)V
+SPLcom/android/server/wm/DisplayContent;->setLayoutNeeded()V
+SPLcom/android/server/wm/DisplayContent;->setStackOnDisplay(IZLcom/android/server/wm/TaskStack;)V
+SPLcom/android/server/wm/DisplayContent;->setWindowingMode(I)V
+SPLcom/android/server/wm/DisplayContent;->updateBackgroundForAnimator()V
+SPLcom/android/server/wm/DisplayContent;->updateBaseDisplayMetrics(III)V
+SPLcom/android/server/wm/DisplayContent;->updateBaseDisplayMetricsIfNeeded()V
+SPLcom/android/server/wm/DisplayContent;->updateBounds()V
+SPLcom/android/server/wm/DisplayContent;->updateDisplayAndOrientation(I)Landroid/view/DisplayInfo;
+SPLcom/android/server/wm/DisplayContent;->updateDisplayInfo()V
+SPLcom/android/server/wm/DisplayContent;->updateFocusedWindowLocked(IZ)Z
+SPLcom/android/server/wm/DisplayContent;->updateOrientationFromAppTokens()Z
+SPLcom/android/server/wm/DisplayContent;->updateOrientationFromAppTokens(Landroid/content/res/Configuration;Landroid/os/IBinder;Z)Landroid/content/res/Configuration;
+SPLcom/android/server/wm/DisplayContent;->updateRotationUnchecked()Z
+SPLcom/android/server/wm/DisplayContent;->updateRotationUnchecked(Z)Z
+SPLcom/android/server/wm/DisplayContent;->updateTouchExcludeRegion()V
+SPLcom/android/server/wm/DisplayContent;->updateWindowsForAnimator()V
+SPLcom/android/server/wm/DisplayFrames;-><init>(ILandroid/view/DisplayInfo;Lcom/android/server/wm/utils/WmDisplayCutout;)V
+SPLcom/android/server/wm/DisplayFrames;->getInputMethodWindowVisibleHeight()I
+SPLcom/android/server/wm/DisplayFrames;->onBeginLayout()V
+SPLcom/android/server/wm/DisplayFrames;->onDisplayInfoUpdated(Landroid/view/DisplayInfo;Lcom/android/server/wm/utils/WmDisplayCutout;)V
+SPLcom/android/server/wm/DisplayPolicy$1;->onBarVisibilityChanged(Z)V
+SPLcom/android/server/wm/DisplayPolicy;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/DisplayPolicy;->adjustWindowParamsLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;Z)V
+SPLcom/android/server/wm/DisplayPolicy;->allowAppAnimationsLw()Z
+SPLcom/android/server/wm/DisplayPolicy;->applyStableConstraints(IILandroid/graphics/Rect;Lcom/android/server/wm/DisplayFrames;)V
+SPLcom/android/server/wm/DisplayPolicy;->beginLayoutLw(Lcom/android/server/wm/DisplayFrames;I)V
+SPLcom/android/server/wm/DisplayPolicy;->beginPostLayoutPolicyLw()V
+SPLcom/android/server/wm/DisplayPolicy;->canReceiveInput(Lcom/android/server/wm/WindowState;)Z
+SPLcom/android/server/wm/DisplayPolicy;->chooseNavigationColorWindowLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;I)Lcom/android/server/wm/WindowState;
+SPLcom/android/server/wm/DisplayPolicy;->configure(III)V
+SPLcom/android/server/wm/DisplayPolicy;->configureNavBarOpacity(IZZZ)I
+SPLcom/android/server/wm/DisplayPolicy;->drawsStatusBarBackground(ILcom/android/server/wm/WindowState;)Z
+SPLcom/android/server/wm/DisplayPolicy;->finishPostLayoutPolicyLw()I
+SPLcom/android/server/wm/DisplayPolicy;->focusChangedLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
+SPLcom/android/server/wm/DisplayPolicy;->getConfigDisplayHeight(IIIILandroid/view/DisplayCutout;)I
+SPLcom/android/server/wm/DisplayPolicy;->getConfigDisplayWidth(IIIILandroid/view/DisplayCutout;)I
+SPLcom/android/server/wm/DisplayPolicy;->getImpliedSysUiFlagsForLayout(Landroid/view/WindowManager$LayoutParams;)I
+SPLcom/android/server/wm/DisplayPolicy;->getLayoutHintLw(Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;Lcom/android/server/wm/DisplayFrames;ZLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;)Z
+SPLcom/android/server/wm/DisplayPolicy;->getNonDecorDisplayHeight(IIIILandroid/view/DisplayCutout;)I
+SPLcom/android/server/wm/DisplayPolicy;->getNonDecorDisplayWidth(IIIILandroid/view/DisplayCutout;)I
+SPLcom/android/server/wm/DisplayPolicy;->getNonDecorInsetsLw(IIILandroid/view/DisplayCutout;Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/DisplayPolicy;->getStableInsetsLw(IIILandroid/view/DisplayCutout;Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/DisplayPolicy;->getStatusBarManagerInternal()Lcom/android/server/statusbar/StatusBarManagerInternal;
+SPLcom/android/server/wm/DisplayPolicy;->getSystemUiContext()Landroid/content/Context;
+SPLcom/android/server/wm/DisplayPolicy;->hasStatusBar()Z
+SPLcom/android/server/wm/DisplayPolicy;->isAwake()Z
+SPLcom/android/server/wm/DisplayPolicy;->isImmersiveMode(I)Z
+SPLcom/android/server/wm/DisplayPolicy;->isKeyguardDrawComplete()Z
+SPLcom/android/server/wm/DisplayPolicy;->isKeyguardOccluded()Z
+SPLcom/android/server/wm/DisplayPolicy;->isNavBarForcedShownLw(Lcom/android/server/wm/WindowState;)Z
+SPLcom/android/server/wm/DisplayPolicy;->isScreenOnEarly()Z
+SPLcom/android/server/wm/DisplayPolicy;->isShowingDreamLw()Z
+SPLcom/android/server/wm/DisplayPolicy;->isStatusBarKeyguard()Z
+SPLcom/android/server/wm/DisplayPolicy;->isWindowManagerDrawComplete()Z
+SPLcom/android/server/wm/DisplayPolicy;->lambda$prepareAddWindowLw$2$DisplayPolicy(Lcom/android/server/wm/DisplayFrames;Lcom/android/server/wm/WindowState;Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/DisplayPolicy;->lambda$updateSystemUiVisibilityLw$5$DisplayPolicy(IIILandroid/graphics/Rect;Landroid/graphics/Rect;Lcom/android/server/wm/WindowState;Z)V
+SPLcom/android/server/wm/DisplayPolicy;->lambda$updateSystemUiVisibilityLw$5(Lcom/android/server/wm/DisplayPolicy;IIILandroid/graphics/Rect;Landroid/graphics/Rect;Lcom/android/server/wm/WindowState;Z)V
+SPLcom/android/server/wm/DisplayPolicy;->layoutNavigationBar(Lcom/android/server/wm/DisplayFrames;IZZZZ)Z
+SPLcom/android/server/wm/DisplayPolicy;->layoutScreenDecorWindows(Lcom/android/server/wm/DisplayFrames;)V
+SPLcom/android/server/wm/DisplayPolicy;->layoutStatusBar(Lcom/android/server/wm/DisplayFrames;IZ)Z
+SPLcom/android/server/wm/DisplayPolicy;->layoutWallpaper(Lcom/android/server/wm/DisplayFrames;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/DisplayPolicy;->layoutWindowLw(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/DisplayFrames;)V
+SPLcom/android/server/wm/DisplayPolicy;->onConfigurationChanged()V
+SPLcom/android/server/wm/DisplayPolicy;->prepareAddWindowLw(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)I
+SPLcom/android/server/wm/DisplayPolicy;->resetSystemUiVisibilityLw()V
+SPLcom/android/server/wm/DisplayPolicy;->screenTurnedOn(Lcom/android/server/policy/WindowManagerPolicy$ScreenOnListener;)V
+SPLcom/android/server/wm/DisplayPolicy;->selectRotationAnimationLw([I)V
+SPLcom/android/server/wm/DisplayPolicy;->setAwake(Z)V
+SPLcom/android/server/wm/DisplayPolicy;->setHdmiPlugged(ZZ)V
+SPLcom/android/server/wm/DisplayPolicy;->setLidState(I)V
+SPLcom/android/server/wm/DisplayPolicy;->shouldUseOutsets(Landroid/view/WindowManager$LayoutParams;I)Z
+SPLcom/android/server/wm/DisplayPolicy;->systemReady()V
+SPLcom/android/server/wm/DisplayPolicy;->updateConfigurationDependentBehaviors()V
+SPLcom/android/server/wm/DisplayPolicy;->updateLightNavigationBarLw(ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
+SPLcom/android/server/wm/DisplayPolicy;->updateLightStatusBarLw(ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowState;)I
+SPLcom/android/server/wm/DisplayPolicy;->updateSystemBarsLw(Lcom/android/server/wm/WindowState;II)I
+SPLcom/android/server/wm/DisplayPolicy;->updateSystemUiVisibilityLw()I
+SPLcom/android/server/wm/DisplayPolicy;->updateWindowSleepToken()V
+SPLcom/android/server/wm/DisplayRotation$SettingsObserver;->observe()V
+SPLcom/android/server/wm/DisplayRotation$SettingsObserver;->onChange(Z)V
+SPLcom/android/server/wm/DisplayRotation;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;Lcom/android/server/wm/DisplayPolicy;Lcom/android/server/wm/DisplayWindowSettings;Landroid/content/Context;Ljava/lang/Object;)V
+SPLcom/android/server/wm/DisplayRotation;->configure(IIII)V
+SPLcom/android/server/wm/DisplayRotation;->getDisplayPolicy()Lcom/android/server/wm/DisplayPolicy;
+SPLcom/android/server/wm/DisplayRotation;->getLandscapeRotation()I
+SPLcom/android/server/wm/DisplayRotation;->getPortraitRotation()I
+SPLcom/android/server/wm/DisplayRotation;->getSeascapeRotation()I
+SPLcom/android/server/wm/DisplayRotation;->getUpsideDownRotation()I
+SPLcom/android/server/wm/DisplayRotation;->isFixedToUserRotation()Z
+SPLcom/android/server/wm/DisplayRotation;->isNonDecorDisplayCloseToSquare(III)Z
+SPLcom/android/server/wm/DisplayRotation;->onUserSwitch()V
+SPLcom/android/server/wm/DisplayRotation;->readRotation(I)I
+SPLcom/android/server/wm/DisplayRotation;->respectAppRequestedOrientation()Z
+SPLcom/android/server/wm/DisplayRotation;->restoreSettings(III)V
+SPLcom/android/server/wm/DisplayRotation;->restoreSettings(IIZ)V
+SPLcom/android/server/wm/DisplayRotation;->setCurrentOrientation(I)V
+SPLcom/android/server/wm/DisplayRotation;->setFixedToUserRotation(Z)V
+SPLcom/android/server/wm/DisplayRotation;->updateOrientationListener()V
+SPLcom/android/server/wm/DisplayRotation;->updateOrientationListenerLw()V
+SPLcom/android/server/wm/DisplayRotation;->updateSettings()Z
+SPLcom/android/server/wm/DisplayWindowSettings;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/DisplayWindowSettings;-><init>(Lcom/android/server/wm/WindowManagerService;Ljava/io/File;)V
+SPLcom/android/server/wm/DisplayWindowSettings;->applySettingsToDisplayLocked(Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/DisplayWindowSettings;->getWindowingModeLocked(Lcom/android/server/wm/DisplayWindowSettings$Entry;I)I
+SPLcom/android/server/wm/DisplayWindowSettings;->readSettings()V
+SPLcom/android/server/wm/DockedStackDividerController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/DockedStackDividerController;->animate(J)Z
+SPLcom/android/server/wm/DockedStackDividerController;->checkMinimizeChanged(Z)V
+SPLcom/android/server/wm/DockedStackDividerController;->getContentWidth()I
+SPLcom/android/server/wm/DockedStackDividerController;->initSnapAlgorithmForRotations()V
+SPLcom/android/server/wm/DockedStackDividerController;->isHomeStackResizable()Z
+SPLcom/android/server/wm/DockedStackDividerController;->isMinimizedDock()Z
+SPLcom/android/server/wm/DockedStackDividerController;->isResizing()Z
+SPLcom/android/server/wm/DockedStackDividerController;->loadDimens()V
+SPLcom/android/server/wm/DockedStackDividerController;->notifyAdjustedForImeChanged(ZJ)V
+SPLcom/android/server/wm/DockedStackDividerController;->notifyAppTransitionStarting(Landroid/util/ArraySet;I)V
+SPLcom/android/server/wm/DockedStackDividerController;->notifyAppVisibilityChanged()V
+SPLcom/android/server/wm/DockedStackDividerController;->notifyDockedDividerVisibilityChanged(Z)V
+SPLcom/android/server/wm/DockedStackDividerController;->notifyDockedStackExistsChanged(Z)V
+SPLcom/android/server/wm/DockedStackDividerController;->notifyDockedStackMinimizedChanged(ZZZ)V
+SPLcom/android/server/wm/DockedStackDividerController;->onConfigurationChanged()V
+SPLcom/android/server/wm/DockedStackDividerController;->positionDockedStackedDivider(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/DockedStackDividerController;->reevaluateVisibility(Z)V
+SPLcom/android/server/wm/DockedStackDividerController;->registerDockedStackListener(Landroid/view/IDockedStackListener;)V
+SPLcom/android/server/wm/DockedStackDividerController;->setAdjustedForIme(ZZZLcom/android/server/wm/WindowState;I)V
+SPLcom/android/server/wm/DockedStackDividerController;->setMinimizedDockedStack(ZZ)V
+SPLcom/android/server/wm/DockedStackDividerController;->setTouchRegion(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/DockedStackDividerController;->setWindow(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/DragDropController;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/Looper;)V
+SPLcom/android/server/wm/DragDropController;->dragDropActiveLocked()Z
+SPLcom/android/server/wm/DragDropController;->hideInputSurface(Landroid/view/SurfaceControl$Transaction;I)V
+SPLcom/android/server/wm/ImmersiveModeConfirmation;-><init>(Landroid/content/Context;Landroid/os/Looper;Z)V
+SPLcom/android/server/wm/ImmersiveModeConfirmation;->getWindowToken()Landroid/os/IBinder;
+SPLcom/android/server/wm/ImmersiveModeConfirmation;->loadSetting(ILandroid/content/Context;)Z
+SPLcom/android/server/wm/InputConsumerImpl;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;ILandroid/os/UserHandle;I)V
+SPLcom/android/server/wm/InputConsumerImpl;->hide(Landroid/view/SurfaceControl$Transaction;)V
+SPLcom/android/server/wm/InputConsumerImpl;->layout(Landroid/view/SurfaceControl$Transaction;II)V
+SPLcom/android/server/wm/InputConsumerImpl;->linkToDeathRecipient()V
+SPLcom/android/server/wm/InputManagerCallback;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/InputManagerCallback;->getPointerDisplayId()I
+SPLcom/android/server/wm/InputManagerCallback;->notifyConfigurationChanged()V
+SPLcom/android/server/wm/InputManagerCallback;->waitForInputDevicesReady(J)Z
+SPLcom/android/server/wm/InputMonitor$1;->run()V
+SPLcom/android/server/wm/InputMonitor$UpdateInputForAllWindowsConsumer;->updateInputWindows(Z)V
+SPLcom/android/server/wm/InputMonitor;-><init>(Lcom/android/server/wm/WindowManagerService;I)V
+SPLcom/android/server/wm/InputMonitor;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;Landroid/view/InputChannel;ILandroid/os/UserHandle;)V
+SPLcom/android/server/wm/InputMonitor;->populateInputWindowHandle(Landroid/view/InputWindowHandle;Lcom/android/server/wm/WindowState;IIZZZ)V
+SPLcom/android/server/wm/InputMonitor;->setFocusedAppLw(Lcom/android/server/wm/AppWindowToken;)V
+SPLcom/android/server/wm/InputMonitor;->setUpdateInputWindowsNeededLw()V
+SPLcom/android/server/wm/InputMonitor;->updateInputWindowsLw(Z)V
+SPLcom/android/server/wm/InsetsSourceProvider;-><init>(Landroid/view/InsetsSource;Lcom/android/server/wm/InsetsStateController;Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/InsetsSourceProvider;->getSource()Landroid/view/InsetsSource;
+SPLcom/android/server/wm/InsetsSourceProvider;->isClientVisible()Z
+SPLcom/android/server/wm/InsetsSourceProvider;->isControllable()Z
+SPLcom/android/server/wm/InsetsSourceProvider;->onPostLayout()V
+SPLcom/android/server/wm/InsetsSourceProvider;->setWindow(Lcom/android/server/wm/WindowState;Lcom/android/internal/util/function/TriConsumer;)V
+SPLcom/android/server/wm/InsetsStateController;-><init>(Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/InsetsStateController;->getInsetsForDispatch(Lcom/android/server/wm/WindowState;)Landroid/view/InsetsState;
+SPLcom/android/server/wm/InsetsStateController;->getSourceProvider(I)Lcom/android/server/wm/InsetsSourceProvider;
+SPLcom/android/server/wm/InsetsStateController;->lambda$getSourceProvider$1$InsetsStateController(Ljava/lang/Integer;)Lcom/android/server/wm/InsetsSourceProvider;
+SPLcom/android/server/wm/InsetsStateController;->onBarControllingWindowChanged(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/InsetsStateController;->onControlChanged(ILcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/InsetsStateController;->onPostLayout()V
+SPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->acquiredSleepToken()V
+SPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->dumpStatus(Ljava/io/PrintWriter;Ljava/lang/String;)V
+SPLcom/android/server/wm/KeyguardController$KeyguardDisplayState;->visibilitiesUpdated(Lcom/android/server/wm/KeyguardController;Lcom/android/server/wm/ActivityDisplay;)V
+SPLcom/android/server/wm/KeyguardController;->beginActivityVisibilityUpdate()V
+SPLcom/android/server/wm/KeyguardController;->canShowActivityWhileKeyguardShowing(Lcom/android/server/wm/ActivityRecord;Z)Z
+SPLcom/android/server/wm/KeyguardController;->dismissDockedStackIfNeeded()V
+SPLcom/android/server/wm/KeyguardController;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+SPLcom/android/server/wm/KeyguardController;->endActivityVisibilityUpdate()V
+SPLcom/android/server/wm/KeyguardController;->isKeyguardGoingAway()Z
+SPLcom/android/server/wm/KeyguardController;->isKeyguardLocked()Z
+SPLcom/android/server/wm/KeyguardController;->isKeyguardOrAodShowing(I)Z
+SPLcom/android/server/wm/KeyguardController;->isKeyguardShowing(I)Z
+SPLcom/android/server/wm/KeyguardController;->setKeyguardShown(ZZ)V
+SPLcom/android/server/wm/KeyguardController;->setKeyguardShown(ZZ[I)V
+SPLcom/android/server/wm/KeyguardController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/KeyguardController;->updateKeyguardSleepToken()V
+SPLcom/android/server/wm/KeyguardController;->visibilitiesUpdated()V
+SPLcom/android/server/wm/KeyguardDisableHandler;-><init>(Lcom/android/server/wm/KeyguardDisableHandler$Injector;Landroid/os/Handler;)V
+SPLcom/android/server/wm/KeyguardDisableHandler;->create(Landroid/content/Context;Lcom/android/server/policy/WindowManagerPolicy;Landroid/os/Handler;)Lcom/android/server/wm/KeyguardDisableHandler;
+SPLcom/android/server/wm/LaunchParamsController$LaunchParams;->hasPreferredDisplay()Z
+SPLcom/android/server/wm/LaunchParamsController$LaunchParams;->hasWindowingMode()Z
+SPLcom/android/server/wm/LaunchParamsController$LaunchParams;->isEmpty()Z
+SPLcom/android/server/wm/LaunchParamsController$LaunchParams;->reset()V
+SPLcom/android/server/wm/LaunchParamsController$LaunchParams;->set(Lcom/android/server/wm/LaunchParamsController$LaunchParams;)V
+SPLcom/android/server/wm/LaunchParamsController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/LaunchParamsPersister;)V
+SPLcom/android/server/wm/LaunchParamsController;->calculate(Lcom/android/server/wm/TaskRecord;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;ILcom/android/server/wm/LaunchParamsController$LaunchParams;)V
+SPLcom/android/server/wm/LaunchParamsController;->layoutTask(Lcom/android/server/wm/TaskRecord;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
+SPLcom/android/server/wm/LaunchParamsController;->registerDefaultModifiers(Lcom/android/server/wm/ActivityStackSupervisor;)V
+SPLcom/android/server/wm/LaunchParamsController;->registerModifier(Lcom/android/server/wm/LaunchParamsController$LaunchParamsModifier;)V
+SPLcom/android/server/wm/LaunchParamsPersister;->getLaunchParams(Lcom/android/server/wm/TaskRecord;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)V
+SPLcom/android/server/wm/LaunchParamsPersister;->onSystemReady()V
+SPLcom/android/server/wm/LockTaskController;-><init>(Landroid/content/Context;Lcom/android/server/wm/ActivityStackSupervisor;Landroid/os/Handler;)V
+SPLcom/android/server/wm/LockTaskController;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+SPLcom/android/server/wm/LockTaskController;->getLockTaskModeState()I
+SPLcom/android/server/wm/LockTaskController;->isLockTaskModeViolation(Lcom/android/server/wm/TaskRecord;)Z
+SPLcom/android/server/wm/LockTaskController;->isLockTaskModeViolation(Lcom/android/server/wm/TaskRecord;Z)Z
+SPLcom/android/server/wm/LockTaskController;->isLockTaskModeViolationInternal(Lcom/android/server/wm/TaskRecord;Z)Z
+SPLcom/android/server/wm/LockTaskController;->isPackageWhitelisted(ILjava/lang/String;)Z
+SPLcom/android/server/wm/LockTaskController;->isTaskLocked(Lcom/android/server/wm/TaskRecord;)Z
+SPLcom/android/server/wm/LockTaskController;->isTaskWhitelisted(Lcom/android/server/wm/TaskRecord;)Z
+SPLcom/android/server/wm/LockTaskController;->lockTaskModeToString()Ljava/lang/String;
+SPLcom/android/server/wm/LockTaskController;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/LockTaskController;->updateLockTaskFeatures(II)V
+SPLcom/android/server/wm/LockTaskController;->updateLockTaskPackages(I[Ljava/lang/String;)V
+SPLcom/android/server/wm/MirrorActiveUids;->onUidActive(II)V
+SPLcom/android/server/wm/MirrorActiveUids;->onUidInactive(I)V
+SPLcom/android/server/wm/MirrorActiveUids;->onUidProcStateChanged(II)V
+SPLcom/android/server/wm/NavigationBarExperiments;->getNavigationBarFrameHeight()I
+SPLcom/android/server/wm/NavigationBarExperiments;->getNavigationBarHeight()I
+SPLcom/android/server/wm/NavigationBarExperiments;->offsetWindowFramesForNavBar(ILcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/NavigationBarExperiments;->onConfigurationChanged(Landroid/content/Context;)V
+SPLcom/android/server/wm/PendingRemoteAnimationRegistry;->overrideOptionsIfNeeded(Ljava/lang/String;Landroid/app/ActivityOptions;)Landroid/app/ActivityOptions;
+SPLcom/android/server/wm/PersisterQueue$LazyTaskWriterThread;->run()V
+SPLcom/android/server/wm/PersisterQueue;-><init>(JJ)V
+SPLcom/android/server/wm/PersisterQueue;->addListener(Lcom/android/server/wm/PersisterQueue$Listener;)V
+SPLcom/android/server/wm/PersisterQueue;->processNextItem()V
+SPLcom/android/server/wm/PersisterQueue;->startPersisting()V
+SPLcom/android/server/wm/PinnedStackController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/PinnedStackController;->getDefaultBounds(F)Landroid/graphics/Rect;
+SPLcom/android/server/wm/PinnedStackController;->getInsetBounds(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/PinnedStackController;->getMovementBounds(Landroid/graphics/Rect;)Landroid/graphics/Rect;
+SPLcom/android/server/wm/PinnedStackController;->getMovementBounds(Landroid/graphics/Rect;ZZ)Landroid/graphics/Rect;
+SPLcom/android/server/wm/PinnedStackController;->isValidPictureInPictureAspectRatio(F)Z
+SPLcom/android/server/wm/PinnedStackController;->notifyActionsChanged(Ljava/util/List;)V
+SPLcom/android/server/wm/PinnedStackController;->notifyImeVisibilityChanged(ZI)V
+SPLcom/android/server/wm/PinnedStackController;->notifyMinimizeChanged(Z)V
+SPLcom/android/server/wm/PinnedStackController;->notifyMovementBoundsChanged(ZZ)V
+SPLcom/android/server/wm/PinnedStackController;->notifyShelfVisibilityChanged(ZI)V
+SPLcom/android/server/wm/PinnedStackController;->onConfigurationChanged()V
+SPLcom/android/server/wm/PinnedStackController;->onDisplayInfoChanged(Landroid/view/DisplayInfo;)V
+SPLcom/android/server/wm/PinnedStackController;->registerPinnedStackListener(Landroid/view/IPinnedStackListener;)V
+SPLcom/android/server/wm/PinnedStackController;->reloadResources()V
+SPLcom/android/server/wm/PinnedStackController;->resetReentrySnapFraction(Lcom/android/server/wm/AppWindowToken;)V
+SPLcom/android/server/wm/PinnedStackController;->setAdjustedForIme(ZI)V
+SPLcom/android/server/wm/PinnedStackController;->transformBoundsToAspectRatio(Landroid/graphics/Rect;FZ)Landroid/graphics/Rect;
+SPLcom/android/server/wm/PointerEventDispatcher;->registerInputEventListener(Landroid/view/WindowManagerPolicyConstants$PointerEventListener;)V
+SPLcom/android/server/wm/PolicyControl;->getSystemUiVisibility(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;)I
+SPLcom/android/server/wm/PolicyControl;->reloadFromSetting(Landroid/content/Context;)Z
+SPLcom/android/server/wm/RecentTasks;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/ActivityStackSupervisor;)V
+SPLcom/android/server/wm/RecentTasks;->add(Lcom/android/server/wm/TaskRecord;)V
+SPLcom/android/server/wm/RecentTasks;->containsTaskId(II)Z
+SPLcom/android/server/wm/RecentTasks;->findRemoveIndexForAddTask(Lcom/android/server/wm/TaskRecord;)I
+SPLcom/android/server/wm/RecentTasks;->getCurrentProfileIds()[I
+SPLcom/android/server/wm/RecentTasks;->getPersistableTaskIds(Landroid/util/ArraySet;)V
+SPLcom/android/server/wm/RecentTasks;->getTask(I)Lcom/android/server/wm/TaskRecord;
+SPLcom/android/server/wm/RecentTasks;->getUserInfo(I)Landroid/content/pm/UserInfo;
+SPLcom/android/server/wm/RecentTasks;->isActiveRecentTask(Lcom/android/server/wm/TaskRecord;Landroid/util/SparseBooleanArray;)Z
+SPLcom/android/server/wm/RecentTasks;->isRecentsComponentHomeActivity(I)Z
+SPLcom/android/server/wm/RecentTasks;->isVisibleRecentTask(Lcom/android/server/wm/TaskRecord;)Z
+SPLcom/android/server/wm/RecentTasks;->loadParametersFromResources(Landroid/content/res/Resources;)V
+SPLcom/android/server/wm/RecentTasks;->loadPersistedTaskIdsForUserLocked(I)V
+SPLcom/android/server/wm/RecentTasks;->loadRecentsComponent(Landroid/content/res/Resources;)V
+SPLcom/android/server/wm/RecentTasks;->onSystemReadyLocked()V
+SPLcom/android/server/wm/RecentTasks;->registerCallback(Lcom/android/server/wm/RecentTasks$Callbacks;)V
+SPLcom/android/server/wm/RecentTasks;->removeTasksByPackageName(Ljava/lang/String;I)V
+SPLcom/android/server/wm/RecentTasks;->trimInactiveRecentTasks()V
+SPLcom/android/server/wm/RecentTasks;->usersWithRecentsLoadedLocked()[I
+SPLcom/android/server/wm/RootActivityContainer$FindTaskResult;->clear()V
+SPLcom/android/server/wm/RootActivityContainer;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;)V
+SPLcom/android/server/wm/RootActivityContainer;->addChild(Lcom/android/server/wm/ActivityDisplay;I)V
+SPLcom/android/server/wm/RootActivityContainer;->allPausedActivitiesComplete()Z
+SPLcom/android/server/wm/RootActivityContainer;->allResumedActivitiesIdle()Z
+SPLcom/android/server/wm/RootActivityContainer;->allResumedActivitiesVisible()Z
+SPLcom/android/server/wm/RootActivityContainer;->anyTaskForId(II)Lcom/android/server/wm/TaskRecord;
+SPLcom/android/server/wm/RootActivityContainer;->anyTaskForId(IILandroid/app/ActivityOptions;Z)Lcom/android/server/wm/TaskRecord;
+SPLcom/android/server/wm/RootActivityContainer;->applySleepTokens(Z)V
+SPLcom/android/server/wm/RootActivityContainer;->attachApplication(Lcom/android/server/wm/WindowProcessController;)Z
+SPLcom/android/server/wm/RootActivityContainer;->canStartHomeOnDisplay(Landroid/content/pm/ActivityInfo;IZ)Z
+SPLcom/android/server/wm/RootActivityContainer;->cancelInitializingActivities()V
+SPLcom/android/server/wm/RootActivityContainer;->continueUpdateBounds(I)V
+SPLcom/android/server/wm/RootActivityContainer;->createSleepToken(Ljava/lang/String;I)Lcom/android/server/wm/ActivityTaskManagerInternal$SleepToken;
+SPLcom/android/server/wm/RootActivityContainer;->dump(Ljava/io/PrintWriter;Ljava/lang/String;)V
+SPLcom/android/server/wm/RootActivityContainer;->dumpActivities(Ljava/io/FileDescriptor;Ljava/io/PrintWriter;ZZLjava/lang/String;)Z
+SPLcom/android/server/wm/RootActivityContainer;->dumpDisplayConfigs(Ljava/io/PrintWriter;Ljava/lang/String;)V
+SPLcom/android/server/wm/RootActivityContainer;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZ)V
+SPLcom/android/server/wm/RootActivityContainer;->ensureActivitiesVisible(Lcom/android/server/wm/ActivityRecord;IZZ)V
+SPLcom/android/server/wm/RootActivityContainer;->ensureVisibilityAndConfig(Lcom/android/server/wm/ActivityRecord;IZZ)Z
+SPLcom/android/server/wm/RootActivityContainer;->executeAppTransitionForAllDisplay()V
+SPLcom/android/server/wm/RootActivityContainer;->findTask(Lcom/android/server/wm/ActivityRecord;I)Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/RootActivityContainer;->finishDisabledPackageActivities(Ljava/lang/String;Ljava/util/Set;ZZI)Z
+SPLcom/android/server/wm/RootActivityContainer;->getActivityDisplayOrCreate(I)Lcom/android/server/wm/ActivityDisplay;
+SPLcom/android/server/wm/RootActivityContainer;->getChildAt(I)Lcom/android/server/wm/ActivityDisplay;
+SPLcom/android/server/wm/RootActivityContainer;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
+SPLcom/android/server/wm/RootActivityContainer;->getChildCount()I
+SPLcom/android/server/wm/RootActivityContainer;->getDefaultDisplay()Lcom/android/server/wm/ActivityDisplay;
+SPLcom/android/server/wm/RootActivityContainer;->getDisplayOverrideConfiguration(I)Landroid/content/res/Configuration;
+SPLcom/android/server/wm/RootActivityContainer;->getLaunchStack(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;ZLcom/android/server/wm/LaunchParamsController$LaunchParams;)Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/RootActivityContainer;->getRunningTasks(ILjava/util/List;IIIZ)V
+SPLcom/android/server/wm/RootActivityContainer;->getStack(I)Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/RootActivityContainer;->getStackInfo(I)Landroid/app/ActivityManager$StackInfo;
+SPLcom/android/server/wm/RootActivityContainer;->getStackInfo(II)Landroid/app/ActivityManager$StackInfo;
+SPLcom/android/server/wm/RootActivityContainer;->getStackInfo(Lcom/android/server/wm/ActivityStack;)Landroid/app/ActivityManager$StackInfo;
+SPLcom/android/server/wm/RootActivityContainer;->getTopDisplayFocusedStack()Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/RootActivityContainer;->getTopResumedActivity()Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/RootActivityContainer;->getValidLaunchStackOnDisplay(ILcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/TaskRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/RootActivityContainer;->handleAppDied(Lcom/android/server/wm/WindowProcessController;)Z
+SPLcom/android/server/wm/RootActivityContainer;->hasAwakeDisplay()Z
+SPLcom/android/server/wm/RootActivityContainer;->invalidateTaskLayers()V
+SPLcom/android/server/wm/RootActivityContainer;->isDisplayAdded(I)Z
+SPLcom/android/server/wm/RootActivityContainer;->isFocusable(Lcom/android/server/wm/ConfigurationContainer;Z)Z
+SPLcom/android/server/wm/RootActivityContainer;->isInAnyStack(Landroid/os/IBinder;)Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/RootActivityContainer;->isTopDisplayFocusedStack(Lcom/android/server/wm/ActivityStack;)Z
+SPLcom/android/server/wm/RootActivityContainer;->isValidLaunchStack(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/ActivityRecord;I)Z
+SPLcom/android/server/wm/RootActivityContainer;->onChildPositionChanged(Lcom/android/server/wm/ActivityDisplay;I)V
+SPLcom/android/server/wm/RootActivityContainer;->onDisplayChanged(I)V
+SPLcom/android/server/wm/RootActivityContainer;->positionChildAt(Lcom/android/server/wm/ActivityDisplay;I)V
+SPLcom/android/server/wm/RootActivityContainer;->putStacksToSleep(ZZ)Z
+SPLcom/android/server/wm/RootActivityContainer;->rankTaskLayersIfNeeded()V
+SPLcom/android/server/wm/RootActivityContainer;->resolveActivityType(Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/TaskRecord;)I
+SPLcom/android/server/wm/RootActivityContainer;->resolveHomeActivity(ILandroid/content/Intent;)Landroid/content/pm/ActivityInfo;
+SPLcom/android/server/wm/RootActivityContainer;->resumeFocusedStacksTopActivities()Z
+SPLcom/android/server/wm/RootActivityContainer;->resumeFocusedStacksTopActivities(Lcom/android/server/wm/ActivityStack;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;)Z
+SPLcom/android/server/wm/RootActivityContainer;->sendPowerHintForLaunchEndIfNeeded()V
+SPLcom/android/server/wm/RootActivityContainer;->sendPowerHintForLaunchStartIfNeeded(ZLcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/RootActivityContainer;->setDisplayOverrideConfiguration(Landroid/content/res/Configuration;I)V
+SPLcom/android/server/wm/RootActivityContainer;->setDockedStackMinimized(Z)V
+SPLcom/android/server/wm/RootActivityContainer;->setWindowContainer(Lcom/android/server/wm/RootWindowContainer;)V
+SPLcom/android/server/wm/RootActivityContainer;->setWindowManager(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/RootActivityContainer;->startHomeOnAllDisplays(ILjava/lang/String;)Z
+SPLcom/android/server/wm/RootActivityContainer;->startHomeOnDisplay(ILjava/lang/String;I)Z
+SPLcom/android/server/wm/RootActivityContainer;->startHomeOnEmptyDisplays(Ljava/lang/String;)V
+SPLcom/android/server/wm/RootActivityContainer;->topRunningActivity()Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/RootActivityContainer;->updatePreviousProcess(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/RootActivityContainer;->updateTopResumedActivityIfNeeded()V
+SPLcom/android/server/wm/RootActivityContainer;->updateUIDsPresentOnDisplay()V
+SPLcom/android/server/wm/RootActivityContainer;->updateUserStack(ILcom/android/server/wm/ActivityStack;)V
+SPLcom/android/server/wm/RootWindowContainer$MyHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/wm/RootWindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/RootWindowContainer;->applySurfaceChangesTransaction(Z)V
+SPLcom/android/server/wm/RootWindowContainer;->checkAppTransitionReady(Lcom/android/server/wm/WindowSurfacePlacer;)V
+SPLcom/android/server/wm/RootWindowContainer;->copyAnimToLayoutParams()Z
+SPLcom/android/server/wm/RootWindowContainer;->createDisplayContent(Landroid/view/Display;Lcom/android/server/wm/ActivityDisplay;)Lcom/android/server/wm/DisplayContent;
+SPLcom/android/server/wm/RootWindowContainer;->forAllDisplayPolicies(Ljava/util/function/Consumer;)V
+SPLcom/android/server/wm/RootWindowContainer;->forAllDisplays(Ljava/util/function/Consumer;)V
+SPLcom/android/server/wm/RootWindowContainer;->getAppWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/AppWindowToken;
+SPLcom/android/server/wm/RootWindowContainer;->getStack(II)Lcom/android/server/wm/TaskStack;
+SPLcom/android/server/wm/RootWindowContainer;->getTopFocusedDisplayContent()Lcom/android/server/wm/DisplayContent;
+SPLcom/android/server/wm/RootWindowContainer;->getWindowToken(Landroid/os/IBinder;)Lcom/android/server/wm/WindowToken;
+SPLcom/android/server/wm/RootWindowContainer;->getWindowTokenDisplay(Lcom/android/server/wm/WindowToken;)Lcom/android/server/wm/DisplayContent;
+SPLcom/android/server/wm/RootWindowContainer;->handleNotObscuredLocked(Lcom/android/server/wm/WindowState;ZZ)Z
+SPLcom/android/server/wm/RootWindowContainer;->handleResizingWindows()V
+SPLcom/android/server/wm/RootWindowContainer;->hasPendingLayoutChanges(Lcom/android/server/wm/WindowAnimator;)Z
+SPLcom/android/server/wm/RootWindowContainer;->isLayoutNeeded()Z
+SPLcom/android/server/wm/RootWindowContainer;->onChildPositionChanged()V
+SPLcom/android/server/wm/RootWindowContainer;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/RootWindowContainer;->positionChildAt(ILcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/RootWindowContainer;->positionChildAt(ILcom/android/server/wm/DisplayContent;Z)V
+SPLcom/android/server/wm/RootWindowContainer;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
+SPLcom/android/server/wm/RootWindowContainer;->removeReplacedWindows()V
+SPLcom/android/server/wm/RootWindowContainer;->scheduleAnimation()V
+SPLcom/android/server/wm/RootWindowContainer;->setDisplayOverrideConfigurationIfNeeded(Landroid/content/res/Configuration;Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/RootWindowContainer;->setRootActivityContainer(Lcom/android/server/wm/RootActivityContainer;)V
+SPLcom/android/server/wm/RootWindowContainer;->setSecureSurfaceState(IZ)V
+SPLcom/android/server/wm/RootWindowContainer;->updateFocusedWindowLocked(IZ)Z
+SPLcom/android/server/wm/RunningTasks;->getTasks(ILjava/util/List;IILjava/util/ArrayList;IZ)V
+SPLcom/android/server/wm/SafeActivityOptions;-><init>(Landroid/app/ActivityOptions;)V
+SPLcom/android/server/wm/SafeActivityOptions;->checkPermissions(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/ActivityStackSupervisor;Landroid/app/ActivityOptions;II)V
+SPLcom/android/server/wm/SafeActivityOptions;->fromBundle(Landroid/os/Bundle;)Lcom/android/server/wm/SafeActivityOptions;
+SPLcom/android/server/wm/SafeActivityOptions;->getOptions(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;Lcom/android/server/wm/WindowProcessController;Lcom/android/server/wm/ActivityStackSupervisor;)Landroid/app/ActivityOptions;
+SPLcom/android/server/wm/SafeActivityOptions;->mergeActivityOptions(Landroid/app/ActivityOptions;Landroid/app/ActivityOptions;)Landroid/app/ActivityOptions;
+SPLcom/android/server/wm/SafeActivityOptions;->popAppVerificationBundle()Landroid/os/Bundle;
+SPLcom/android/server/wm/Session;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/view/IWindowSessionCallback;)V
+SPLcom/android/server/wm/Session;->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
+SPLcom/android/server/wm/Session;->finishDrawing(Landroid/view/IWindow;)V
+SPLcom/android/server/wm/Session;->getInTouchMode()Z
+SPLcom/android/server/wm/Session;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+SPLcom/android/server/wm/Session;->onWindowSurfaceVisibilityChanged(Lcom/android/server/wm/WindowSurfaceController;ZI)V
+SPLcom/android/server/wm/Session;->relayout(Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;)I
+SPLcom/android/server/wm/Session;->setInsets(Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
+SPLcom/android/server/wm/Session;->windowAddedLocked(Ljava/lang/String;)V
+SPLcom/android/server/wm/StatusBarController$1;->lambda$$0$StatusBarController$1()V
+SPLcom/android/server/wm/StatusBarController$1;->lambda$$2$StatusBarController$1()V
+SPLcom/android/server/wm/StatusBarController$1;->lambda$onAppTransitionStartingLocked$3$StatusBarController$1(JJ)V
+SPLcom/android/server/wm/StatusBarController$1;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+SPLcom/android/server/wm/StatusBarController$1;->onAppTransitionPendingLocked()V
+SPLcom/android/server/wm/StatusBarController$1;->onAppTransitionStartingLocked(IJJJ)I
+SPLcom/android/server/wm/StatusBarController;->getAppTransitionListener()Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;
+SPLcom/android/server/wm/StatusBarController;->setTopAppHidesStatusBar(Z)V
+SPLcom/android/server/wm/StatusBarController;->skipAnimation()Z
+SPLcom/android/server/wm/SurfaceAnimationRunner;-><init>(Landroid/animation/AnimationHandler$AnimationFrameCallbackProvider;Lcom/android/server/wm/SurfaceAnimationRunner$AnimatorFactory;Landroid/view/SurfaceControl$Transaction;Landroid/os/PowerManagerInternal;)V
+SPLcom/android/server/wm/SurfaceAnimationRunner;-><init>(Landroid/os/PowerManagerInternal;)V
+SPLcom/android/server/wm/SurfaceAnimationRunner;->continueStartingAnimations()V
+SPLcom/android/server/wm/SurfaceAnimationRunner;->deferStartingAnimations()V
+SPLcom/android/server/wm/SurfaceAnimationRunner;->lambda$new$0$SurfaceAnimationRunner()V
+SPLcom/android/server/wm/SurfaceAnimationThread;->ensureThreadLocked()V
+SPLcom/android/server/wm/SurfaceAnimationThread;->get()Lcom/android/server/wm/SurfaceAnimationThread;
+SPLcom/android/server/wm/SurfaceAnimationThread;->getHandler()Landroid/os/Handler;
+SPLcom/android/server/wm/SurfaceAnimator;->cancelAnimation()V
+SPLcom/android/server/wm/SurfaceAnimator;->cancelAnimation(Landroid/view/SurfaceControl$Transaction;ZZ)V
+SPLcom/android/server/wm/SurfaceAnimator;->getAnimation()Lcom/android/server/wm/AnimationAdapter;
+SPLcom/android/server/wm/SurfaceAnimator;->reset(Landroid/view/SurfaceControl$Transaction;Z)V
+SPLcom/android/server/wm/SurfaceAnimator;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V
+SPLcom/android/server/wm/SurfaceAnimator;->setRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;I)V
+SPLcom/android/server/wm/SystemGesturesPointerEventListener;-><init>(Landroid/content/Context;Landroid/os/Handler;Lcom/android/server/wm/SystemGesturesPointerEventListener$Callbacks;)V
+SPLcom/android/server/wm/SystemGesturesPointerEventListener;->systemReady()V
+SPLcom/android/server/wm/Task;-><init>(ILcom/android/server/wm/TaskStack;ILcom/android/server/wm/WindowManagerService;IZLandroid/app/ActivityManager$TaskDescription;Lcom/android/server/wm/TaskRecord;)V
+SPLcom/android/server/wm/Task;->addChild(Lcom/android/server/wm/AppWindowToken;I)V
+SPLcom/android/server/wm/Task;->adjustBoundsForDisplayChangeIfNeeded(Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/Task;->canAffectSystemUiFlags()Z
+SPLcom/android/server/wm/Task;->cropWindowsToStackBounds()Z
+SPLcom/android/server/wm/Task;->forceWindowsScaleable(Z)V
+SPLcom/android/server/wm/Task;->getAdjustedAddPosition(I)I
+SPLcom/android/server/wm/Task;->getBounds(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/Task;->getDimBounds(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/Task;->getDimmer()Lcom/android/server/wm/Dimmer;
+SPLcom/android/server/wm/Task;->getDisplayContent()Lcom/android/server/wm/DisplayContent;
+SPLcom/android/server/wm/Task;->getDisplayedBounds()Landroid/graphics/Rect;
+SPLcom/android/server/wm/Task;->getName()Ljava/lang/String;
+SPLcom/android/server/wm/Task;->getOverrideDisplayedBounds()Landroid/graphics/Rect;
+SPLcom/android/server/wm/Task;->getTopVisibleAppToken()Lcom/android/server/wm/AppWindowToken;
+SPLcom/android/server/wm/Task;->isFloating()Z
+SPLcom/android/server/wm/Task;->isFullscreen()Z
+SPLcom/android/server/wm/Task;->isResizeable()Z
+SPLcom/android/server/wm/Task;->isTaskAnimating()Z
+SPLcom/android/server/wm/Task;->makeSurface()Landroid/view/SurfaceControl$Builder;
+SPLcom/android/server/wm/Task;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/Task;->onParentChanged()V
+SPLcom/android/server/wm/Task;->positionChildAt(ILcom/android/server/wm/AppWindowToken;Z)V
+SPLcom/android/server/wm/Task;->positionChildAt(Lcom/android/server/wm/AppWindowToken;I)V
+SPLcom/android/server/wm/Task;->prepareFreezingBounds()V
+SPLcom/android/server/wm/Task;->prepareSurfaces()V
+SPLcom/android/server/wm/Task;->setBounds(Landroid/graphics/Rect;)I
+SPLcom/android/server/wm/Task;->setOverrideDisplayedBounds(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/Task;->setTaskDescription(Landroid/app/ActivityManager$TaskDescription;)V
+SPLcom/android/server/wm/Task;->showForAllUsers()Z
+SPLcom/android/server/wm/Task;->toShortString()Ljava/lang/String;
+SPLcom/android/server/wm/TaskChangeNotificationController$MainHandler;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/wm/TaskChangeNotificationController;-><init>(Ljava/lang/Object;Lcom/android/server/wm/ActivityStackSupervisor;Landroid/os/Handler;)V
+SPLcom/android/server/wm/TaskChangeNotificationController;->forAllLocalListeners(Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;Landroid/os/Message;)V
+SPLcom/android/server/wm/TaskChangeNotificationController;->forAllRemoteListeners(Lcom/android/server/wm/TaskChangeNotificationController$TaskStackConsumer;Landroid/os/Message;)V
+SPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskCreated(ILandroid/content/ComponentName;)V
+SPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskDescriptionChanged(ILandroid/app/ActivityManager$TaskDescription;)V
+SPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskDescriptionChanged(Landroid/app/TaskInfo;)V
+SPLcom/android/server/wm/TaskChangeNotificationController;->notifyTaskStackChanged()V
+SPLcom/android/server/wm/TaskChangeNotificationController;->registerTaskStackListener(Landroid/app/ITaskStackListener;)V
+SPLcom/android/server/wm/TaskLaunchParamsModifier;->calculate(Lcom/android/server/wm/TaskRecord;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;ILcom/android/server/wm/LaunchParamsController$LaunchParams;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)I
+SPLcom/android/server/wm/TaskLaunchParamsModifier;->canApplyFreeformWindowPolicy(Lcom/android/server/wm/ActivityDisplay;I)Z
+SPLcom/android/server/wm/TaskLaunchParamsModifier;->getPreferredLaunchDisplay(Lcom/android/server/wm/TaskRecord;Landroid/app/ActivityOptions;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)I
+SPLcom/android/server/wm/TaskLaunchParamsModifier;->getTaskBounds(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityDisplay;Landroid/content/pm/ActivityInfo$WindowLayout;IZLandroid/graphics/Rect;)V
+SPLcom/android/server/wm/TaskLaunchParamsModifier;->onCalculate(Lcom/android/server/wm/TaskRecord;Landroid/content/pm/ActivityInfo$WindowLayout;Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityRecord;Landroid/app/ActivityOptions;ILcom/android/server/wm/LaunchParamsController$LaunchParams;Lcom/android/server/wm/LaunchParamsController$LaunchParams;)I
+SPLcom/android/server/wm/TaskPersister;-><init>(Ljava/io/File;Lcom/android/server/wm/ActivityStackSupervisor;Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/RecentTasks;Lcom/android/server/wm/PersisterQueue;)V
+SPLcom/android/server/wm/TaskPersister;->getUserPersistedTaskIdsFile(I)Ljava/io/File;
+SPLcom/android/server/wm/TaskPersister;->loadPersistedTaskIdsForUser(I)Landroid/util/SparseBooleanArray;
+SPLcom/android/server/wm/TaskPersister;->onPreProcessItem(Z)V
+SPLcom/android/server/wm/TaskPersister;->removeObsoleteFiles(Landroid/util/ArraySet;)V
+SPLcom/android/server/wm/TaskPersister;->writeTaskIdsFiles()V
+SPLcom/android/server/wm/TaskPositioningController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/input/InputManagerService;Landroid/app/IActivityTaskManager;Landroid/os/Looper;)V
+SPLcom/android/server/wm/TaskPositioningController;->hideInputSurface(Landroid/view/SurfaceControl$Transaction;I)V
+SPLcom/android/server/wm/TaskPositioningController;->isPositioningLocked()Z
+SPLcom/android/server/wm/TaskRecord$TaskActivitiesReport;->reset()V
+SPLcom/android/server/wm/TaskRecord$TaskRecordFactory;->create(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)Lcom/android/server/wm/TaskRecord;
+SPLcom/android/server/wm/TaskRecord;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;ILandroid/content/pm/ActivityInfo;Landroid/content/Intent;Landroid/service/voice/IVoiceInteractionSession;Lcom/android/internal/app/IVoiceInteractor;)V
+SPLcom/android/server/wm/TaskRecord;->addActivityAtIndex(ILcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/TaskRecord;->addActivityToTop(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/TaskRecord;->clearAllPendingOptions()V
+SPLcom/android/server/wm/TaskRecord;->clearRootProcess()V
+SPLcom/android/server/wm/TaskRecord;->createTask(ZZ)V
+SPLcom/android/server/wm/TaskRecord;->fillTaskInfo(Landroid/app/TaskInfo;)V
+SPLcom/android/server/wm/TaskRecord;->findEffectiveRootIndex()I
+SPLcom/android/server/wm/TaskRecord;->getActivityType()I
+SPLcom/android/server/wm/TaskRecord;->getAllRunningVisibleActivitiesLocked(Ljava/util/ArrayList;)V
+SPLcom/android/server/wm/TaskRecord;->getBaseIntent()Landroid/content/Intent;
+SPLcom/android/server/wm/TaskRecord;->getChildAt(I)Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/TaskRecord;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
+SPLcom/android/server/wm/TaskRecord;->getChildCount()I
+SPLcom/android/server/wm/TaskRecord;->getLaunchBounds()Landroid/graphics/Rect;
+SPLcom/android/server/wm/TaskRecord;->getNumRunningActivities(Lcom/android/server/wm/TaskRecord$TaskActivitiesReport;)V
+SPLcom/android/server/wm/TaskRecord;->getParent()Lcom/android/server/wm/ConfigurationContainer;
+SPLcom/android/server/wm/TaskRecord;->getRootActivity()Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/TaskRecord;->getStack()Lcom/android/server/wm/ActivityStack;
+SPLcom/android/server/wm/TaskRecord;->getStackId()I
+SPLcom/android/server/wm/TaskRecord;->getTask()Lcom/android/server/wm/Task;
+SPLcom/android/server/wm/TaskRecord;->getTaskInfo()Landroid/app/ActivityManager$RunningTaskInfo;
+SPLcom/android/server/wm/TaskRecord;->getTaskRecordFactory()Lcom/android/server/wm/TaskRecord$TaskRecordFactory;
+SPLcom/android/server/wm/TaskRecord;->getTopActivity()Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/TaskRecord;->getTopActivity(Z)Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/TaskRecord;->getTopActivityRequestedOrientation()I
+SPLcom/android/server/wm/TaskRecord;->getWindowContainerBounds(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/TaskRecord;->isResizeable()Z
+SPLcom/android/server/wm/TaskRecord;->okToShowLocked()Z
+SPLcom/android/server/wm/TaskRecord;->onActivityStateChanged(Lcom/android/server/wm/ActivityRecord;Lcom/android/server/wm/ActivityStack$ActivityState;Ljava/lang/String;)V
+SPLcom/android/server/wm/TaskRecord;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/TaskRecord;->onParentChanged()V
+SPLcom/android/server/wm/TaskRecord;->resolveOverrideConfiguration(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/TaskRecord;->saveLaunchingStateIfNeeded()V
+SPLcom/android/server/wm/TaskRecord;->setDisplayedBounds(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/TaskRecord;->setFrontOfTask()V
+SPLcom/android/server/wm/TaskRecord;->setIntent(Landroid/content/Intent;Landroid/content/pm/ActivityInfo;)V
+SPLcom/android/server/wm/TaskRecord;->setIntent(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/TaskRecord;->setLockTaskAuth()V
+SPLcom/android/server/wm/TaskRecord;->setLockTaskAuth(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/TaskRecord;->setRootProcess(Lcom/android/server/wm/WindowProcessController;)V
+SPLcom/android/server/wm/TaskRecord;->setStack(Lcom/android/server/wm/ActivityStack;)V
+SPLcom/android/server/wm/TaskRecord;->supportsSplitScreenWindowingMode()Z
+SPLcom/android/server/wm/TaskRecord;->topRunningActivityLocked()Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/TaskRecord;->topRunningActivityWithStartingWindowLocked()Lcom/android/server/wm/ActivityRecord;
+SPLcom/android/server/wm/TaskRecord;->touchActiveTime()V
+SPLcom/android/server/wm/TaskRecord;->updateEffectiveIntent()V
+SPLcom/android/server/wm/TaskRecord;->updateOverrideConfiguration(Landroid/graphics/Rect;)Z
+SPLcom/android/server/wm/TaskRecord;->updateOverrideConfiguration(Landroid/graphics/Rect;Landroid/graphics/Rect;)Z
+SPLcom/android/server/wm/TaskRecord;->updateOverrideConfigurationFromLaunchBounds()Landroid/graphics/Rect;
+SPLcom/android/server/wm/TaskRecord;->updateTaskDescription()V
+SPLcom/android/server/wm/TaskSnapshotController;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/TaskSnapshotController;->getClosingTasks(Landroid/util/ArraySet;Landroid/util/ArraySet;)V
+SPLcom/android/server/wm/TaskSnapshotController;->getSnapshotMode(Lcom/android/server/wm/Task;)I
+SPLcom/android/server/wm/TaskSnapshotController;->notifyAppVisibilityChanged(Lcom/android/server/wm/AppWindowToken;Z)V
+SPLcom/android/server/wm/TaskSnapshotController;->onTransitionStarting(Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/TaskSnapshotController;->removeObsoleteTaskFiles(Landroid/util/ArraySet;[I)V
+SPLcom/android/server/wm/TaskSnapshotController;->snapshotTasks(Landroid/util/ArraySet;)V
+SPLcom/android/server/wm/TaskSnapshotController;->systemReady()V
+SPLcom/android/server/wm/TaskSnapshotPersister$1;->run()V
+SPLcom/android/server/wm/TaskSnapshotPersister$RemoveObsoleteFilesQueueItem;->write()V
+SPLcom/android/server/wm/TaskSnapshotPersister$WriteQueueItem;->onDequeuedLocked()V
+SPLcom/android/server/wm/TaskSnapshotPersister;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/TaskSnapshotPersister$DirectoryResolver;)V
+SPLcom/android/server/wm/TaskSnapshotPersister;->ensureStoreQueueDepthLocked()V
+SPLcom/android/server/wm/TaskSnapshotPersister;->removeObsoleteFiles(Landroid/util/ArraySet;[I)V
+SPLcom/android/server/wm/TaskSnapshotPersister;->start()V
+SPLcom/android/server/wm/TaskStack;-><init>(Lcom/android/server/wm/WindowManagerService;ILcom/android/server/wm/ActivityStack;)V
+SPLcom/android/server/wm/TaskStack;->addTask(Lcom/android/server/wm/Task;IZZ)V
+SPLcom/android/server/wm/TaskStack;->checkCompleteDeferredRemoval()Z
+SPLcom/android/server/wm/TaskStack;->computeMinPosition(II)I
+SPLcom/android/server/wm/TaskStack;->fillsParent()Z
+SPLcom/android/server/wm/TaskStack;->findHomeTask()Lcom/android/server/wm/Task;
+SPLcom/android/server/wm/TaskStack;->findPositionForTask(Lcom/android/server/wm/Task;IZZ)I
+SPLcom/android/server/wm/TaskStack;->getAnimatingAppWindowTokenRegistry()Lcom/android/server/wm/AnimatingAppWindowTokenRegistry;
+SPLcom/android/server/wm/TaskStack;->getBounds()Landroid/graphics/Rect;
+SPLcom/android/server/wm/TaskStack;->getBounds(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/TaskStack;->getDimBounds(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/TaskStack;->getName()Ljava/lang/String;
+SPLcom/android/server/wm/TaskStack;->getPendingTransaction()Landroid/view/SurfaceControl$Transaction;
+SPLcom/android/server/wm/TaskStack;->getRelativeDisplayedPosition(Landroid/graphics/Point;)V
+SPLcom/android/server/wm/TaskStack;->isAdjustedForIme()Z
+SPLcom/android/server/wm/TaskStack;->isAdjustedForMinimizedDockedStack()Z
+SPLcom/android/server/wm/TaskStack;->isAnimatingBounds()Z
+SPLcom/android/server/wm/TaskStack;->isForceScaled()Z
+SPLcom/android/server/wm/TaskStack;->isTaskAnimating()Z
+SPLcom/android/server/wm/TaskStack;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/TaskStack;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/TaskStack;->onParentChanged()V
+SPLcom/android/server/wm/TaskStack;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/TaskStack;->positionChildAt(ILcom/android/server/wm/Task;Z)V
+SPLcom/android/server/wm/TaskStack;->positionChildAt(ILcom/android/server/wm/Task;ZZ)V
+SPLcom/android/server/wm/TaskStack;->positionChildAtTop(Lcom/android/server/wm/Task;Z)V
+SPLcom/android/server/wm/TaskStack;->prepareFreezingTaskBounds()V
+SPLcom/android/server/wm/TaskStack;->prepareSurfaces()V
+SPLcom/android/server/wm/TaskStack;->resetAdjustedForIme(Z)V
+SPLcom/android/server/wm/TaskStack;->resetAnimationBackgroundAnimator()V
+SPLcom/android/server/wm/TaskStack;->setTouchExcludeRegion(Lcom/android/server/wm/Task;ILandroid/graphics/Region;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/TaskStack;->shouldIgnoreInput()Z
+SPLcom/android/server/wm/TaskStack;->toShortString()Ljava/lang/String;
+SPLcom/android/server/wm/TaskStack;->updateSurfaceSize(Landroid/view/SurfaceControl$Transaction;)V
+SPLcom/android/server/wm/TaskTapPointerEventListener;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/TaskTapPointerEventListener;->setTouchExcludeRegion(Landroid/graphics/Region;)V
+SPLcom/android/server/wm/UnknownAppVisibilityController;->allResolved()Z
+SPLcom/android/server/wm/UnknownAppVisibilityController;->clear()V
+SPLcom/android/server/wm/UnknownAppVisibilityController;->notifyAppResumedFinished(Lcom/android/server/wm/AppWindowToken;)V
+SPLcom/android/server/wm/UnknownAppVisibilityController;->notifyRelayouted(Lcom/android/server/wm/AppWindowToken;)V
+SPLcom/android/server/wm/VrController;->changeVrModeLocked(ZLcom/android/server/wm/WindowProcessController;)Z
+SPLcom/android/server/wm/VrController;->onVrModeChanged(Lcom/android/server/wm/ActivityRecord;)Z
+SPLcom/android/server/wm/VrController;->setVrRenderThreadLocked(IIZ)I
+SPLcom/android/server/wm/VrController;->toString()Ljava/lang/String;
+SPLcom/android/server/wm/WallpaperController;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/WallpaperController;->addWallpaperToken(Lcom/android/server/wm/WallpaperWindowToken;)V
+SPLcom/android/server/wm/WallpaperController;->adjustWallpaperWindows()V
+SPLcom/android/server/wm/WallpaperController;->adjustWallpaperWindowsForAppTransitionIfNeeded(Landroid/util/ArraySet;Landroid/util/ArraySet;)V
+SPLcom/android/server/wm/WallpaperController;->clearLastWallpaperTimeoutTime()V
+SPLcom/android/server/wm/WallpaperController;->findWallpaperTarget()V
+SPLcom/android/server/wm/WallpaperController;->getWallpaperTarget()Lcom/android/server/wm/WindowState;
+SPLcom/android/server/wm/WallpaperController;->hideDeferredWallpapersIfNeeded()V
+SPLcom/android/server/wm/WallpaperController;->hideWallpapers(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/WallpaperController;->isBelowWallpaperTarget(Lcom/android/server/wm/WindowState;)Z
+SPLcom/android/server/wm/WallpaperController;->isWallpaperTarget(Lcom/android/server/wm/WindowState;)Z
+SPLcom/android/server/wm/WallpaperController;->isWallpaperTargetAnimating()Z
+SPLcom/android/server/wm/WallpaperController;->isWallpaperVisible()Z
+SPLcom/android/server/wm/WallpaperController;->isWallpaperVisible(Lcom/android/server/wm/WindowState;)Z
+SPLcom/android/server/wm/WallpaperController;->lambda$new$0$WallpaperController(Lcom/android/server/wm/WindowState;)Z
+SPLcom/android/server/wm/WallpaperController;->lambda$new$0(Lcom/android/server/wm/WallpaperController;Lcom/android/server/wm/WindowState;)Z
+SPLcom/android/server/wm/WallpaperController;->updateWallpaperOffset(Lcom/android/server/wm/WindowState;IIZ)Z
+SPLcom/android/server/wm/WallpaperController;->updateWallpaperTokens(Z)V
+SPLcom/android/server/wm/WallpaperController;->updateWallpaperWindowsTarget(Lcom/android/server/wm/WallpaperController$FindWallpaperTargetResult;)V
+SPLcom/android/server/wm/WallpaperVisibilityListeners;-><init>()V
+SPLcom/android/server/wm/WallpaperVisibilityListeners;->notifyWallpaperVisibilityChanged(Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/WallpaperVisibilityListeners;->registerWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)V
+SPLcom/android/server/wm/WallpaperWindowToken;->hideWallpaperToken(ZLjava/lang/String;)V
+SPLcom/android/server/wm/WallpaperWindowToken;->toString()Ljava/lang/String;
+SPLcom/android/server/wm/WallpaperWindowToken;->updateWallpaperWindows(Z)V
+SPLcom/android/server/wm/WindowAnimator;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/WindowAnimator;->addDisplayLocked(I)V
+SPLcom/android/server/wm/WindowAnimator;->animate(J)V
+SPLcom/android/server/wm/WindowAnimator;->executeAfterPrepareSurfacesRunnables()V
+SPLcom/android/server/wm/WindowAnimator;->getDisplayContentsAnimatorLocked(I)Lcom/android/server/wm/WindowAnimator$DisplayContentsAnimator;
+SPLcom/android/server/wm/WindowAnimator;->getPendingLayoutChanges(I)I
+SPLcom/android/server/wm/WindowAnimator;->getScreenRotationAnimationLocked(I)Lcom/android/server/wm/ScreenRotationAnimation;
+SPLcom/android/server/wm/WindowAnimator;->lambda$new$0$WindowAnimator()V
+SPLcom/android/server/wm/WindowAnimator;->lambda$new$1$WindowAnimator(J)V
+SPLcom/android/server/wm/WindowAnimator;->lambda$new$1(Lcom/android/server/wm/WindowAnimator;J)V
+SPLcom/android/server/wm/WindowAnimator;->orAnimating(Z)V
+SPLcom/android/server/wm/WindowAnimator;->ready()V
+SPLcom/android/server/wm/WindowAnimator;->requestRemovalOfReplacedWindows(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/WindowAnimator;->setPendingLayoutChanges(II)V
+SPLcom/android/server/wm/WindowContainer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/WindowContainer;->addChild(Lcom/android/server/wm/WindowContainer;I)V
+SPLcom/android/server/wm/WindowContainer;->addChild(Lcom/android/server/wm/WindowContainer;Ljava/util/Comparator;)V
+SPLcom/android/server/wm/WindowContainer;->assignChildLayers()V
+SPLcom/android/server/wm/WindowContainer;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+SPLcom/android/server/wm/WindowContainer;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V
+SPLcom/android/server/wm/WindowContainer;->assignRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;I)V
+SPLcom/android/server/wm/WindowContainer;->cancelAnimation()V
+SPLcom/android/server/wm/WindowContainer;->commitPendingTransaction()V
+SPLcom/android/server/wm/WindowContainer;->compareTo(Lcom/android/server/wm/WindowContainer;)I
+SPLcom/android/server/wm/WindowContainer;->getAnimation()Lcom/android/server/wm/AnimationAdapter;
+SPLcom/android/server/wm/WindowContainer;->getChildAt(I)Lcom/android/server/wm/ConfigurationContainer;
+SPLcom/android/server/wm/WindowContainer;->getChildAt(I)Lcom/android/server/wm/WindowContainer;
+SPLcom/android/server/wm/WindowContainer;->getChildCount()I
+SPLcom/android/server/wm/WindowContainer;->getParent()Lcom/android/server/wm/ConfigurationContainer;
+SPLcom/android/server/wm/WindowContainer;->getParent()Lcom/android/server/wm/WindowContainer;
+SPLcom/android/server/wm/WindowContainer;->getParentSurfaceControl()Landroid/view/SurfaceControl;
+SPLcom/android/server/wm/WindowContainer;->getRelativeDisplayedPosition(Landroid/graphics/Point;)V
+SPLcom/android/server/wm/WindowContainer;->getSession()Landroid/view/SurfaceSession;
+SPLcom/android/server/wm/WindowContainer;->getSurfaceControl()Landroid/view/SurfaceControl;
+SPLcom/android/server/wm/WindowContainer;->getTopChild()Lcom/android/server/wm/WindowContainer;
+SPLcom/android/server/wm/WindowContainer;->handlesOrientationChangeFromDescendant()Z
+SPLcom/android/server/wm/WindowContainer;->hasContentToDisplay()Z
+SPLcom/android/server/wm/WindowContainer;->isVisible()Z
+SPLcom/android/server/wm/WindowContainer;->makeChildSurface(Lcom/android/server/wm/WindowContainer;)Landroid/view/SurfaceControl$Builder;
+SPLcom/android/server/wm/WindowContainer;->makeSurface()Landroid/view/SurfaceControl$Builder;
+SPLcom/android/server/wm/WindowContainer;->needsZBoost()Z
+SPLcom/android/server/wm/WindowContainer;->onAppTransitionDone()V
+SPLcom/android/server/wm/WindowContainer;->onChildPositionChanged()V
+SPLcom/android/server/wm/WindowContainer;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/WindowContainer;->onDescendantOverrideConfigurationChanged()V
+SPLcom/android/server/wm/WindowContainer;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/WindowContainer;->onParentChanged()V
+SPLcom/android/server/wm/WindowContainer;->onRequestedOverrideConfigurationChanged(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/WindowContainer;->onResize()V
+SPLcom/android/server/wm/WindowContainer;->positionChildAt(ILcom/android/server/wm/WindowContainer;Z)V
+SPLcom/android/server/wm/WindowContainer;->sendAppVisibilityToClients()V
+SPLcom/android/server/wm/WindowContainer;->setLayer(Landroid/view/SurfaceControl$Transaction;I)V
+SPLcom/android/server/wm/WindowContainer;->setOrientation(I)V
+SPLcom/android/server/wm/WindowContainer;->setOrientation(ILandroid/os/IBinder;Lcom/android/server/wm/ConfigurationContainer;)V
+SPLcom/android/server/wm/WindowContainer;->setRelativeLayer(Landroid/view/SurfaceControl$Transaction;Landroid/view/SurfaceControl;I)V
+SPLcom/android/server/wm/WindowContainer;->updateSurfacePosition()V
+SPLcom/android/server/wm/WindowFrames;-><init>()V
+SPLcom/android/server/wm/WindowFrames;->calculateDockedDividerInsets(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowFrames;->calculateInsets(ZZLandroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowFrames;->calculateOutsets()V
+SPLcom/android/server/wm/WindowFrames;->didFrameSizeChange()Z
+SPLcom/android/server/wm/WindowFrames;->hasContentChanged()Z
+SPLcom/android/server/wm/WindowFrames;->offsetFrames(II)V
+SPLcom/android/server/wm/WindowFrames;->parentFrameWasClippedByDisplayCutout()Z
+SPLcom/android/server/wm/WindowFrames;->resetInsetsChanged()V
+SPLcom/android/server/wm/WindowFrames;->setDisplayCutout(Lcom/android/server/wm/utils/WmDisplayCutout;)V
+SPLcom/android/server/wm/WindowFrames;->setFrames(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowFrames;->setHasOutsets(Z)V
+SPLcom/android/server/wm/WindowFrames;->setParentFrameWasClippedByDisplayCutout(Z)V
+SPLcom/android/server/wm/WindowFrames;->setReportResizeHints()Z
+SPLcom/android/server/wm/WindowFrames;->updateLastInsetValues()V
+SPLcom/android/server/wm/WindowHashMap;-><init>()V
+SPLcom/android/server/wm/WindowList;->peekLast()Ljava/lang/Object;
+SPLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+SPLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionPendingLocked()V
+SPLcom/android/server/wm/WindowManagerInternal$AppTransitionListener;->onAppTransitionStartingLocked(IJJJ)I
+SPLcom/android/server/wm/WindowManagerService$1;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/WindowManagerService$2;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/WindowManagerService$3;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/WindowManagerService$4;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/WindowManagerService$4;->onAppTransitionFinishedLocked(Landroid/os/IBinder;)V
+SPLcom/android/server/wm/WindowManagerService$5;->run()V
+SPLcom/android/server/wm/WindowManagerService$6;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/WindowManagerService$7;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/WindowManagerService$8;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/WindowManagerService$H;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/WindowManagerService$H;->handleMessage(Landroid/os/Message;)V
+SPLcom/android/server/wm/WindowManagerService$LocalService;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/WindowManagerService$1;)V
+SPLcom/android/server/wm/WindowManagerService$LocalService;->getDisplayIdForWindow(Landroid/os/IBinder;)I
+SPLcom/android/server/wm/WindowManagerService$LocalService;->isInputMethodClientFocus(III)Z
+SPLcom/android/server/wm/WindowManagerService$LocalService;->isStackVisible(I)Z
+SPLcom/android/server/wm/WindowManagerService$LocalService;->isUidAllowedOnDisplay(II)Z
+SPLcom/android/server/wm/WindowManagerService$LocalService;->registerAppTransitionListener(Lcom/android/server/wm/WindowManagerInternal$AppTransitionListener;)V
+SPLcom/android/server/wm/WindowManagerService$LocalService;->requestTraversalFromDisplayManager()V
+SPLcom/android/server/wm/WindowManagerService$LocalService;->setOnHardKeyboardStatusChangeListener(Lcom/android/server/wm/WindowManagerInternal$OnHardKeyboardStatusChangeListener;)V
+SPLcom/android/server/wm/WindowManagerService$MousePositionTracker;-><init>(Lcom/android/server/wm/WindowManagerService$1;)V
+SPLcom/android/server/wm/WindowManagerService$SettingsObserver;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/WindowManagerService$SettingsObserver;->updateSystemUiSettings()V
+SPLcom/android/server/wm/WindowManagerService;-><init>(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;)V
+SPLcom/android/server/wm/WindowManagerService;-><init>(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;Lcom/android/server/wm/TransactionFactory;)V
+SPLcom/android/server/wm/WindowManagerService;->access$1100(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/WindowManagerService;->access$700(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/WindowManagerService;->addWindow(Lcom/android/server/wm/Session;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
+SPLcom/android/server/wm/WindowManagerService;->addWindowToken(Landroid/os/IBinder;II)V
+SPLcom/android/server/wm/WindowManagerService;->applyForcedPropertiesForDefaultDisplay()V
+SPLcom/android/server/wm/WindowManagerService;->applyForcedPropertiesForDefaultDisplay()Z
+SPLcom/android/server/wm/WindowManagerService;->boostPriorityForLockedSection()V
+SPLcom/android/server/wm/WindowManagerService;->checkCallingPermission(Ljava/lang/String;Ljava/lang/String;)Z
+SPLcom/android/server/wm/WindowManagerService;->checkDrawnWindowsLocked()V
+SPLcom/android/server/wm/WindowManagerService;->closeSurfaceTransaction(Ljava/lang/String;)V
+SPLcom/android/server/wm/WindowManagerService;->computeNewConfiguration(I)Landroid/content/res/Configuration;
+SPLcom/android/server/wm/WindowManagerService;->continueSurfaceLayout()V
+SPLcom/android/server/wm/WindowManagerService;->createInputConsumer(Landroid/os/IBinder;Ljava/lang/String;ILandroid/view/InputChannel;)V
+SPLcom/android/server/wm/WindowManagerService;->createSurfaceControl(Landroid/view/SurfaceControl;ILcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;)I
+SPLcom/android/server/wm/WindowManagerService;->createWatermarkInTransaction()V
+SPLcom/android/server/wm/WindowManagerService;->deferSurfaceLayout()V
+SPLcom/android/server/wm/WindowManagerService;->destroyInputConsumer(Ljava/lang/String;I)Z
+SPLcom/android/server/wm/WindowManagerService;->destroyPreservedSurfaceLocked()V
+SPLcom/android/server/wm/WindowManagerService;->detectSafeMode()Z
+SPLcom/android/server/wm/WindowManagerService;->displayReady()V
+SPLcom/android/server/wm/WindowManagerService;->enableScreenAfterBoot()V
+SPLcom/android/server/wm/WindowManagerService;->enableScreenIfNeededLocked()V
+SPLcom/android/server/wm/WindowManagerService;->excludeWindowTypeFromTapOutTask(I)Z
+SPLcom/android/server/wm/WindowManagerService;->finishDrawingWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;)V
+SPLcom/android/server/wm/WindowManagerService;->getBaseDisplaySize(ILandroid/graphics/Point;)V
+SPLcom/android/server/wm/WindowManagerService;->getCameraLensCoverState()I
+SPLcom/android/server/wm/WindowManagerService;->getCurrentAnimatorScale()F
+SPLcom/android/server/wm/WindowManagerService;->getDefaultDisplayContentLocked()Lcom/android/server/wm/DisplayContent;
+SPLcom/android/server/wm/WindowManagerService;->getDisplayContentOrCreate(ILandroid/os/IBinder;)Lcom/android/server/wm/DisplayContent;
+SPLcom/android/server/wm/WindowManagerService;->getDockedStackSide()I
+SPLcom/android/server/wm/WindowManagerService;->getForcedDisplayDensityForUserLocked(I)I
+SPLcom/android/server/wm/WindowManagerService;->getImeFocusStackLocked()Lcom/android/server/wm/TaskStack;
+SPLcom/android/server/wm/WindowManagerService;->getInitialDisplaySize(ILandroid/graphics/Point;)V
+SPLcom/android/server/wm/WindowManagerService;->getInputManagerCallback()Lcom/android/server/wm/InputManagerCallback;
+SPLcom/android/server/wm/WindowManagerService;->getLidState()I
+SPLcom/android/server/wm/WindowManagerService;->getRecentsAnimationController()Lcom/android/server/wm/RecentsAnimationController;
+SPLcom/android/server/wm/WindowManagerService;->getStableInsets(ILandroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowManagerService;->getStableInsetsLocked(ILandroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowManagerService;->getStackBounds(IILandroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowManagerService;->getWindowManagerLock()Ljava/lang/Object;
+SPLcom/android/server/wm/WindowManagerService;->hasHdrSupport()Z
+SPLcom/android/server/wm/WindowManagerService;->hasNavigationBar(I)Z
+SPLcom/android/server/wm/WindowManagerService;->hasWideColorGamutSupport()Z
+SPLcom/android/server/wm/WindowManagerService;->hideBootMessagesLocked()V
+SPLcom/android/server/wm/WindowManagerService;->isCurrentProfileLocked(I)Z
+SPLcom/android/server/wm/WindowManagerService;->isKeyguardLocked()Z
+SPLcom/android/server/wm/WindowManagerService;->isSecureLocked(Lcom/android/server/wm/WindowState;)Z
+SPLcom/android/server/wm/WindowManagerService;->isShowingDream()Z
+SPLcom/android/server/wm/WindowManagerService;->main(Landroid/content/Context;Lcom/android/server/input/InputManagerService;ZZLcom/android/server/policy/WindowManagerPolicy;Lcom/android/server/wm/ActivityTaskManagerService;)Lcom/android/server/wm/WindowManagerService;
+SPLcom/android/server/wm/WindowManagerService;->makeSurfaceBuilder(Landroid/view/SurfaceSession;)Landroid/view/SurfaceControl$Builder;
+SPLcom/android/server/wm/WindowManagerService;->makeWindowFreezingScreenIfNeededLocked(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/WindowManagerService;->monitor()V
+SPLcom/android/server/wm/WindowManagerService;->notifyAppResumedFinished(Landroid/os/IBinder;)V
+SPLcom/android/server/wm/WindowManagerService;->notifyFocusChanged()V
+SPLcom/android/server/wm/WindowManagerService;->notifyKeyguardTrustedChanged()V
+SPLcom/android/server/wm/WindowManagerService;->onAnimationFinished()V
+SPLcom/android/server/wm/WindowManagerService;->onInitReady()V
+SPLcom/android/server/wm/WindowManagerService;->onKeyguardShowingAndNotOccludedChanged()V
+SPLcom/android/server/wm/WindowManagerService;->onSystemUiStarted()V
+SPLcom/android/server/wm/WindowManagerService;->onTransact(ILandroid/os/Parcel;Landroid/os/Parcel;I)Z
+SPLcom/android/server/wm/WindowManagerService;->onUserSwitched()V
+SPLcom/android/server/wm/WindowManagerService;->openSession(Landroid/view/IWindowSessionCallback;)Landroid/view/IWindowSession;
+SPLcom/android/server/wm/WindowManagerService;->openSurfaceTransaction()V
+SPLcom/android/server/wm/WindowManagerService;->performEnableScreen()V
+SPLcom/android/server/wm/WindowManagerService;->prepareNoneTransitionForRelaunching(Lcom/android/server/wm/AppWindowToken;)V
+SPLcom/android/server/wm/WindowManagerService;->prepareWindowReplacementTransition(Lcom/android/server/wm/AppWindowToken;)Z
+SPLcom/android/server/wm/WindowManagerService;->queryHdrSupport()Z
+SPLcom/android/server/wm/WindowManagerService;->queryWideColorGamutSupport()Z
+SPLcom/android/server/wm/WindowManagerService;->reconfigureDisplayLocked(Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/WindowManagerService;->refreshScreenCaptureDisabled(I)V
+SPLcom/android/server/wm/WindowManagerService;->registerDockedStackListener(Landroid/view/IDockedStackListener;)V
+SPLcom/android/server/wm/WindowManagerService;->registerPinnedStackListener(ILandroid/view/IPinnedStackListener;)V
+SPLcom/android/server/wm/WindowManagerService;->registerShortcutKey(JLcom/android/internal/policy/IShortcutService;)V
+SPLcom/android/server/wm/WindowManagerService;->registerWallpaperVisibilityListener(Landroid/view/IWallpaperVisibilityListener;I)Z
+SPLcom/android/server/wm/WindowManagerService;->relayoutWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/view/WindowManager$LayoutParams;IIIIJLandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/view/DisplayCutout$ParcelableWrapper;Landroid/util/MergedConfiguration;Landroid/view/SurfaceControl;Landroid/view/InsetsState;)I
+SPLcom/android/server/wm/WindowManagerService;->removeObsoleteTaskFiles(Landroid/util/ArraySet;[I)V
+SPLcom/android/server/wm/WindowManagerService;->requestTraversal()V
+SPLcom/android/server/wm/WindowManagerService;->resetPriorityAfterLockedSection()V
+SPLcom/android/server/wm/WindowManagerService;->sendNewConfiguration(I)V
+SPLcom/android/server/wm/WindowManagerService;->setAnimatorDurationScale(F)V
+SPLcom/android/server/wm/WindowManagerService;->setAodShowing(Z)V
+SPLcom/android/server/wm/WindowManagerService;->setDockedStackDividerTouchRegion(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowManagerService;->setEventDispatching(Z)V
+SPLcom/android/server/wm/WindowManagerService;->setForceResizableTasks(Z)V
+SPLcom/android/server/wm/WindowManagerService;->setHoldScreenLocked(Lcom/android/server/wm/Session;)V
+SPLcom/android/server/wm/WindowManagerService;->setInsetsWindow(Lcom/android/server/wm/Session;Landroid/view/IWindow;ILandroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Region;)V
+SPLcom/android/server/wm/WindowManagerService;->setIsPc(Z)V
+SPLcom/android/server/wm/WindowManagerService;->setKeyguardGoingAway(Z)V
+SPLcom/android/server/wm/WindowManagerService;->setKeyguardOrAodShowingOnDefaultDisplay(Z)V
+SPLcom/android/server/wm/WindowManagerService;->setNewDisplayOverrideConfiguration(Landroid/content/res/Configuration;Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/WindowManagerService;->setSupportsFreeformWindowManagement(Z)V
+SPLcom/android/server/wm/WindowManagerService;->setSupportsPictureInPicture(Z)V
+SPLcom/android/server/wm/WindowManagerService;->showEmulatorDisplayOverlayIfNeeded()V
+SPLcom/android/server/wm/WindowManagerService;->startFreezingDisplayLocked(IILcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/WindowManagerService;->stopFreezingDisplayLocked()V
+SPLcom/android/server/wm/WindowManagerService;->systemReady()V
+SPLcom/android/server/wm/WindowManagerService;->traceStateLocked(Ljava/lang/String;)V
+SPLcom/android/server/wm/WindowManagerService;->tryStartExitingAnimation(Lcom/android/server/wm/WindowState;Lcom/android/server/wm/WindowStateAnimator;Z)Z
+SPLcom/android/server/wm/WindowManagerService;->updateCircularDisplayMaskIfNeeded()V
+SPLcom/android/server/wm/WindowManagerService;->updateFocusedWindowLocked(IZ)Z
+SPLcom/android/server/wm/WindowManagerService;->updateNonSystemOverlayWindowsVisibilityIfNeeded(Lcom/android/server/wm/WindowState;Z)V
+SPLcom/android/server/wm/WindowManagerService;->updateRotation(ZZ)V
+SPLcom/android/server/wm/WindowManagerService;->updateRotationUnchecked(ZZ)V
+SPLcom/android/server/wm/WindowManagerService;->watchRotation(Landroid/view/IRotationWatcher;I)I
+SPLcom/android/server/wm/WindowManagerService;->windowForClientLocked(Lcom/android/server/wm/Session;Landroid/os/IBinder;Z)Lcom/android/server/wm/WindowState;
+SPLcom/android/server/wm/WindowManagerService;->windowForClientLocked(Lcom/android/server/wm/Session;Landroid/view/IWindow;Z)Lcom/android/server/wm/WindowState;
+SPLcom/android/server/wm/WindowManagerThreadPriorityBooster;-><init>()V
+SPLcom/android/server/wm/WindowManagerThreadPriorityBooster;->setAppTransitionRunning(Z)V
+SPLcom/android/server/wm/WindowProcessController;-><init>(Lcom/android/server/wm/ActivityTaskManagerService;Landroid/content/pm/ApplicationInfo;Ljava/lang/String;IILjava/lang/Object;Lcom/android/server/wm/WindowProcessListener;)V
+SPLcom/android/server/wm/WindowProcessController;->addActivityIfNeeded(Lcom/android/server/wm/ActivityRecord;)V
+SPLcom/android/server/wm/WindowProcessController;->addPackage(Ljava/lang/String;)V
+SPLcom/android/server/wm/WindowProcessController;->clearActivities()V
+SPLcom/android/server/wm/WindowProcessController;->clearRecentTasks()V
+SPLcom/android/server/wm/WindowProcessController;->clearWaitingToKill()V
+SPLcom/android/server/wm/WindowProcessController;->getChildCount()I
+SPLcom/android/server/wm/WindowProcessController;->getCpuTime()J
+SPLcom/android/server/wm/WindowProcessController;->getCurrentSchedulingGroup()I
+SPLcom/android/server/wm/WindowProcessController;->getPid()I
+SPLcom/android/server/wm/WindowProcessController;->getReportedProcState()I
+SPLcom/android/server/wm/WindowProcessController;->getThread()Landroid/app/IApplicationThread;
+SPLcom/android/server/wm/WindowProcessController;->hasActivities()Z
+SPLcom/android/server/wm/WindowProcessController;->hasActivitiesOrRecentTasks()Z
+SPLcom/android/server/wm/WindowProcessController;->hasRecentTasks()Z
+SPLcom/android/server/wm/WindowProcessController;->hasThread()Z
+SPLcom/android/server/wm/WindowProcessController;->hasVisibleActivities()Z
+SPLcom/android/server/wm/WindowProcessController;->isCrashing()Z
+SPLcom/android/server/wm/WindowProcessController;->isHomeProcess()Z
+SPLcom/android/server/wm/WindowProcessController;->isInstrumenting()Z
+SPLcom/android/server/wm/WindowProcessController;->isNotResponding()Z
+SPLcom/android/server/wm/WindowProcessController;->isPreviousProcess()Z
+SPLcom/android/server/wm/WindowProcessController;->isRemoved()Z
+SPLcom/android/server/wm/WindowProcessController;->onConfigurationChanged(Landroid/content/res/Configuration;)V
+SPLcom/android/server/wm/WindowProcessController;->onStartActivity(I)Landroid/app/ProfilerInfo;
+SPLcom/android/server/wm/WindowProcessController;->onTopProcChanged()V
+SPLcom/android/server/wm/WindowProcessController;->setAllowBackgroundActivityStarts(Z)V
+SPLcom/android/server/wm/WindowProcessController;->setCrashing(Z)V
+SPLcom/android/server/wm/WindowProcessController;->setDebugging(Z)V
+SPLcom/android/server/wm/WindowProcessController;->setFgInteractionTime(J)V
+SPLcom/android/server/wm/WindowProcessController;->setHasClientActivities(Z)V
+SPLcom/android/server/wm/WindowProcessController;->setInteractionEventTime(J)V
+SPLcom/android/server/wm/WindowProcessController;->setNotResponding(Z)V
+SPLcom/android/server/wm/WindowProcessController;->setPendingUiClean(Z)V
+SPLcom/android/server/wm/WindowProcessController;->setPersistent(Z)V
+SPLcom/android/server/wm/WindowProcessController;->setPid(I)V
+SPLcom/android/server/wm/WindowProcessController;->setReportedProcState(I)V
+SPLcom/android/server/wm/WindowProcessController;->setRequiredAbi(Ljava/lang/String;)V
+SPLcom/android/server/wm/WindowProcessController;->setThread(Landroid/app/IApplicationThread;)V
+SPLcom/android/server/wm/WindowProcessController;->setUsingWrapper(Z)V
+SPLcom/android/server/wm/WindowProcessController;->setWhenUnimportant(J)V
+SPLcom/android/server/wm/WindowProcessController;->updateConfiguration()V
+SPLcom/android/server/wm/WindowProcessController;->updateProcessInfo(ZZZZ)V
+SPLcom/android/server/wm/WindowProcessController;->updateServiceConnectionActivities()V
+SPLcom/android/server/wm/WindowProcessController;->updateTopResumingActivityInProcessIfNeeded(Lcom/android/server/wm/ActivityRecord;)Z
+SPLcom/android/server/wm/WindowState$1;-><init>()V
+SPLcom/android/server/wm/WindowState$DeathRecipient;-><init>(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/WindowState$WindowId;-><init>(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/WindowState;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/Session;Landroid/view/IWindow;Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowState;IILandroid/view/WindowManager$LayoutParams;IIZ)V
+SPLcom/android/server/wm/WindowState;-><init>(Lcom/android/server/wm/WindowManagerService;Lcom/android/server/wm/Session;Landroid/view/IWindow;Lcom/android/server/wm/WindowToken;Lcom/android/server/wm/WindowState;IILandroid/view/WindowManager$LayoutParams;IIZLcom/android/server/wm/WindowState$PowerManagerWrapper;)V
+SPLcom/android/server/wm/WindowState;->adjustStartingWindowFlags()V
+SPLcom/android/server/wm/WindowState;->applyAdjustForImeIfNeeded()V
+SPLcom/android/server/wm/WindowState;->applyGravityAndUpdateFrame(Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowState;->assignChildLayers(Landroid/view/SurfaceControl$Transaction;)V
+SPLcom/android/server/wm/WindowState;->assignLayer(Landroid/view/SurfaceControl$Transaction;I)V
+SPLcom/android/server/wm/WindowState;->attach()V
+SPLcom/android/server/wm/WindowState;->calculatePolicyCrop(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowState;->calculateSystemDecorRect(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowState;->canAddInternalSystemWindow()Z
+SPLcom/android/server/wm/WindowState;->computeFrameLw()V
+SPLcom/android/server/wm/WindowState;->destroySurface(ZZ)Z
+SPLcom/android/server/wm/WindowState;->destroySurfaceUnchecked()V
+SPLcom/android/server/wm/WindowState;->dispatchResized(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;ZLandroid/util/MergedConfiguration;ZILandroid/view/DisplayCutout;)V
+SPLcom/android/server/wm/WindowState;->dispatchWallpaperVisibility(Z)V
+SPLcom/android/server/wm/WindowState;->expandForSurfaceInsets(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowState;->fillsDisplay()Z
+SPLcom/android/server/wm/WindowState;->finishSeamlessRotation(Z)V
+SPLcom/android/server/wm/WindowState;->getAppToken()Landroid/view/IApplicationToken;
+SPLcom/android/server/wm/WindowState;->getBackdropFrame(Landroid/graphics/Rect;)Landroid/graphics/Rect;
+SPLcom/android/server/wm/WindowState;->getBaseType()I
+SPLcom/android/server/wm/WindowState;->getBounds()Landroid/graphics/Rect;
+SPLcom/android/server/wm/WindowState;->getCompatFrame(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowState;->getCompatFrameSize(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowState;->getContentFrameLw()Landroid/graphics/Rect;
+SPLcom/android/server/wm/WindowState;->getDisplayInfo()Landroid/view/DisplayInfo;
+SPLcom/android/server/wm/WindowState;->getDrawnStateEvaluated()Z
+SPLcom/android/server/wm/WindowState;->getInputDispatchingTimeoutNanos()J
+SPLcom/android/server/wm/WindowState;->getInsetProvider()Lcom/android/server/wm/InsetsSourceProvider;
+SPLcom/android/server/wm/WindowState;->getInsetsForRelayout(Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowState;->getLastReportedMergedConfiguration(Landroid/util/MergedConfiguration;)V
+SPLcom/android/server/wm/WindowState;->getMergedConfiguration(Landroid/util/MergedConfiguration;)V
+SPLcom/android/server/wm/WindowState;->getName()Ljava/lang/String;
+SPLcom/android/server/wm/WindowState;->getNeedsMenuLw(Lcom/android/server/policy/WindowManagerPolicy$WindowState;)Z
+SPLcom/android/server/wm/WindowState;->getOwningPackage()Ljava/lang/String;
+SPLcom/android/server/wm/WindowState;->getOwningUid()I
+SPLcom/android/server/wm/WindowState;->getReplacingWindow()Lcom/android/server/wm/WindowState;
+SPLcom/android/server/wm/WindowState;->getSession()Landroid/view/SurfaceSession;
+SPLcom/android/server/wm/WindowState;->getSurfaceTouchableRegion(Landroid/graphics/Region;I)I
+SPLcom/android/server/wm/WindowState;->getSystemUiVisibility()I
+SPLcom/android/server/wm/WindowState;->getWindow(Ljava/util/function/Predicate;)Lcom/android/server/wm/WindowState;
+SPLcom/android/server/wm/WindowState;->getWindowFrames()Lcom/android/server/wm/WindowFrames;
+SPLcom/android/server/wm/WindowState;->getWmDisplayCutout()Lcom/android/server/wm/utils/WmDisplayCutout;
+SPLcom/android/server/wm/WindowState;->handleWindowMovedIfNeeded()V
+SPLcom/android/server/wm/WindowState;->hasContentToDisplay()Z
+SPLcom/android/server/wm/WindowState;->hasMoved()Z
+SPLcom/android/server/wm/WindowState;->hideLw(Z)Z
+SPLcom/android/server/wm/WindowState;->hideLw(ZZ)Z
+SPLcom/android/server/wm/WindowState;->hideNonSystemOverlayWindowsWhenVisible()Z
+SPLcom/android/server/wm/WindowState;->hideWallpaperWindow(ZLjava/lang/String;)V
+SPLcom/android/server/wm/WindowState;->initAppOpsState()V
+SPLcom/android/server/wm/WindowState;->isAnimatingLw()Z
+SPLcom/android/server/wm/WindowState;->isConfigChanged()Z
+SPLcom/android/server/wm/WindowState;->isDefaultDisplay()Z
+SPLcom/android/server/wm/WindowState;->isDimming()Z
+SPLcom/android/server/wm/WindowState;->isDockedResizing()Z
+SPLcom/android/server/wm/WindowState;->isDragResizing()Z
+SPLcom/android/server/wm/WindowState;->isDrawFinishedLw()Z
+SPLcom/android/server/wm/WindowState;->isFocused()Z
+SPLcom/android/server/wm/WindowState;->isHiddenFromUserLocked()Z
+SPLcom/android/server/wm/WindowState;->isInMultiWindowMode()Z
+SPLcom/android/server/wm/WindowState;->isInputMethodWindow()Z
+SPLcom/android/server/wm/WindowState;->isInteresting()Z
+SPLcom/android/server/wm/WindowState;->isLaidOut()Z
+SPLcom/android/server/wm/WindowState;->isLetterboxedAppWindow()Z
+SPLcom/android/server/wm/WindowState;->isLetterboxedForDisplayCutoutLw()Z
+SPLcom/android/server/wm/WindowState;->isLetterboxedOverlappingWith(Landroid/graphics/Rect;)Z
+SPLcom/android/server/wm/WindowState;->isObscuringDisplay()Z
+SPLcom/android/server/wm/WindowState;->isOpaqueDrawn()Z
+SPLcom/android/server/wm/WindowState;->isReadyForDisplay()Z
+SPLcom/android/server/wm/WindowState;->isRtl()Z
+SPLcom/android/server/wm/WindowState;->isSelfOrAncestorWindowAnimatingExit()Z
+SPLcom/android/server/wm/WindowState;->isVisibleNow()Z
+SPLcom/android/server/wm/WindowState;->isVoiceInteraction()Z
+SPLcom/android/server/wm/WindowState;->isWinVisibleLw()Z
+SPLcom/android/server/wm/WindowState;->mightAffectAllDrawn()Z
+SPLcom/android/server/wm/WindowState;->needsRelativeLayeringToIme()Z
+SPLcom/android/server/wm/WindowState;->needsZBoost()Z
+SPLcom/android/server/wm/WindowState;->notifyInsetsChanged()V
+SPLcom/android/server/wm/WindowState;->onAppVisibilityChanged(ZZ)Z
+SPLcom/android/server/wm/WindowState;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/WindowState;->onExitAnimationDone()V
+SPLcom/android/server/wm/WindowState;->onParentChanged()V
+SPLcom/android/server/wm/WindowState;->openInputChannel(Landroid/view/InputChannel;)V
+SPLcom/android/server/wm/WindowState;->performShowLocked()Z
+SPLcom/android/server/wm/WindowState;->prelayout()V
+SPLcom/android/server/wm/WindowState;->prepareWindowToDisplayDuringRelayout(Z)V
+SPLcom/android/server/wm/WindowState;->relayoutVisibleWindow(III)I
+SPLcom/android/server/wm/WindowState;->removeReplacedWindowIfNeeded(Lcom/android/server/wm/WindowState;)Z
+SPLcom/android/server/wm/WindowState;->reportFocusChangedSerialized(ZZ)V
+SPLcom/android/server/wm/WindowState;->reportResized()V
+SPLcom/android/server/wm/WindowState;->sendAppVisibilityToClients()V
+SPLcom/android/server/wm/WindowState;->setDisplayLayoutNeeded()V
+SPLcom/android/server/wm/WindowState;->setDrawnStateEvaluated(Z)V
+SPLcom/android/server/wm/WindowState;->setForceHideNonSystemOverlayWindowIfNeeded(Z)V
+SPLcom/android/server/wm/WindowState;->setFrameNumber(J)V
+SPLcom/android/server/wm/WindowState;->setHasSurface(Z)V
+SPLcom/android/server/wm/WindowState;->setHiddenWhileSuspended(Z)V
+SPLcom/android/server/wm/WindowState;->setInsetProvider(Lcom/android/server/wm/InsetsSourceProvider;)V
+SPLcom/android/server/wm/WindowState;->setLastReportedMergedConfiguration(Landroid/util/MergedConfiguration;)V
+SPLcom/android/server/wm/WindowState;->setOrientationChanging(Z)V
+SPLcom/android/server/wm/WindowState;->setReplacementWindowIfNeeded(Lcom/android/server/wm/WindowState;)Z
+SPLcom/android/server/wm/WindowState;->setReportResizeHints()Z
+SPLcom/android/server/wm/WindowState;->setRequestedSize(II)V
+SPLcom/android/server/wm/WindowState;->setShowToOwnerOnlyLocked(Z)V
+SPLcom/android/server/wm/WindowState;->setWindowScale(II)V
+SPLcom/android/server/wm/WindowState;->showLw(Z)Z
+SPLcom/android/server/wm/WindowState;->showLw(ZZ)Z
+SPLcom/android/server/wm/WindowState;->surfaceInsetsChanging()Z
+SPLcom/android/server/wm/WindowState;->toString()Ljava/lang/String;
+SPLcom/android/server/wm/WindowState;->transformClipRectFromScreenToSurfaceSpace(Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowState;->updateLastInsetValues()V
+SPLcom/android/server/wm/WindowState;->updateReportedVisibility(Lcom/android/server/wm/WindowState$UpdateReportedVisibilityResults;)V
+SPLcom/android/server/wm/WindowState;->updateResizingWindowIfNeeded()V
+SPLcom/android/server/wm/WindowStateAnimator;-><init>(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/WindowStateAnimator;->applyAnimationLocked(IZ)Z
+SPLcom/android/server/wm/WindowStateAnimator;->applyEnterAnimationLocked()V
+SPLcom/android/server/wm/WindowStateAnimator;->calculateCrop(Landroid/graphics/Rect;)Z
+SPLcom/android/server/wm/WindowStateAnimator;->calculateSurfaceBounds(Lcom/android/server/wm/WindowState;Landroid/view/WindowManager$LayoutParams;Landroid/graphics/Rect;)V
+SPLcom/android/server/wm/WindowStateAnimator;->commitFinishDrawingLocked()Z
+SPLcom/android/server/wm/WindowStateAnimator;->computeShownFrameLocked()V
+SPLcom/android/server/wm/WindowStateAnimator;->createSurfaceLocked(II)Lcom/android/server/wm/WindowSurfaceController;
+SPLcom/android/server/wm/WindowStateAnimator;->destroyPreservedSurfaceLocked()V
+SPLcom/android/server/wm/WindowStateAnimator;->destroySurface()V
+SPLcom/android/server/wm/WindowStateAnimator;->destroySurfaceLocked()V
+SPLcom/android/server/wm/WindowStateAnimator;->detachChildren()V
+SPLcom/android/server/wm/WindowStateAnimator;->finishDrawingLocked()Z
+SPLcom/android/server/wm/WindowStateAnimator;->getShown()Z
+SPLcom/android/server/wm/WindowStateAnimator;->hide(Landroid/view/SurfaceControl$Transaction;Ljava/lang/String;)V
+SPLcom/android/server/wm/WindowStateAnimator;->hide(Ljava/lang/String;)V
+SPLcom/android/server/wm/WindowStateAnimator;->isForceScaled()Z
+SPLcom/android/server/wm/WindowStateAnimator;->markPreservedSurfaceForDestroy()V
+SPLcom/android/server/wm/WindowStateAnimator;->resetDrawState()V
+SPLcom/android/server/wm/WindowStateAnimator;->setOffsetPositionForStackResize(Z)V
+SPLcom/android/server/wm/WindowStateAnimator;->setSecureLocked(Z)V
+SPLcom/android/server/wm/WindowStateAnimator;->setSurfaceBoundariesLocked(Z)V
+SPLcom/android/server/wm/WindowStateAnimator;->setWallpaperOffset(II)Z
+SPLcom/android/server/wm/WindowStateAnimator;->showSurfaceRobustlyLocked()Z
+SPLcom/android/server/wm/WindowSurfaceController;-><init>(Landroid/view/SurfaceSession;Ljava/lang/String;IIIILcom/android/server/wm/WindowStateAnimator;II)V
+SPLcom/android/server/wm/WindowSurfaceController;->clearCropInTransaction(Z)V
+SPLcom/android/server/wm/WindowSurfaceController;->destroyNotInTransaction()V
+SPLcom/android/server/wm/WindowSurfaceController;->detachChildren()V
+SPLcom/android/server/wm/WindowSurfaceController;->getHeight()I
+SPLcom/android/server/wm/WindowSurfaceController;->getShown()Z
+SPLcom/android/server/wm/WindowSurfaceController;->getSurfaceControl(Landroid/view/SurfaceControl;)V
+SPLcom/android/server/wm/WindowSurfaceController;->getWidth()I
+SPLcom/android/server/wm/WindowSurfaceController;->hide(Landroid/view/SurfaceControl$Transaction;Ljava/lang/String;)V
+SPLcom/android/server/wm/WindowSurfaceController;->hideSurface(Landroid/view/SurfaceControl$Transaction;)V
+SPLcom/android/server/wm/WindowSurfaceController;->prepareToShowInTransaction(FFFFFZ)Z
+SPLcom/android/server/wm/WindowSurfaceController;->setBufferSizeInTransaction(IIZ)Z
+SPLcom/android/server/wm/WindowSurfaceController;->setCropInTransaction(Landroid/graphics/Rect;Z)V
+SPLcom/android/server/wm/WindowSurfaceController;->setMatrix(Landroid/view/SurfaceControl$Transaction;FFFFZ)V
+SPLcom/android/server/wm/WindowSurfaceController;->setMatrixInTransaction(FFFFZ)V
+SPLcom/android/server/wm/WindowSurfaceController;->setPosition(Landroid/view/SurfaceControl$Transaction;FFZ)V
+SPLcom/android/server/wm/WindowSurfaceController;->setPositionInTransaction(FFZ)V
+SPLcom/android/server/wm/WindowSurfaceController;->setSecure(Z)V
+SPLcom/android/server/wm/WindowSurfaceController;->setShown(Z)V
+SPLcom/android/server/wm/WindowSurfaceController;->showRobustlyInTransaction()Z
+SPLcom/android/server/wm/WindowSurfaceController;->showSurface()Z
+SPLcom/android/server/wm/WindowSurfaceController;->updateVisibility()Z
+SPLcom/android/server/wm/WindowSurfacePlacer;-><init>(Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/WindowSurfacePlacer;->continueLayout()V
+SPLcom/android/server/wm/WindowSurfacePlacer;->deferLayout()V
+SPLcom/android/server/wm/WindowSurfacePlacer;->lambda$new$0$WindowSurfacePlacer()V
+SPLcom/android/server/wm/WindowSurfacePlacer;->lambda$new$0(Lcom/android/server/wm/WindowSurfacePlacer;)V
+SPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacement(Z)V
+SPLcom/android/server/wm/WindowSurfacePlacer;->performSurfacePlacementLoop()V
+SPLcom/android/server/wm/WindowSurfacePlacer;->requestTraversal()V
+SPLcom/android/server/wm/WindowToken;-><init>(Lcom/android/server/wm/WindowManagerService;Landroid/os/IBinder;IZLcom/android/server/wm/DisplayContent;ZZ)V
+SPLcom/android/server/wm/WindowToken;->addWindow(Lcom/android/server/wm/WindowState;)V
+SPLcom/android/server/wm/WindowToken;->asAppWindowToken()Lcom/android/server/wm/AppWindowToken;
+SPLcom/android/server/wm/WindowToken;->getName()Ljava/lang/String;
+SPLcom/android/server/wm/WindowToken;->getReplacingWindow()Lcom/android/server/wm/WindowState;
+SPLcom/android/server/wm/WindowToken;->okToAnimate()Z
+SPLcom/android/server/wm/WindowToken;->okToDisplay()Z
+SPLcom/android/server/wm/WindowToken;->onDisplayChanged(Lcom/android/server/wm/DisplayContent;)V
+SPLcom/android/server/wm/WindowToken;->setHidden(Z)V
+SPLcom/android/server/wm/WindowToken;->toString()Ljava/lang/String;
+SPLcom/android/server/wm/WindowTraceBuffer;->resetBuffer()V
+SPLcom/android/server/wm/WindowTraceBuffer;->setCapacity(I)V
+SPLcom/android/server/wm/WindowTracing;-><init>(Ljava/io/File;Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;Lcom/android/server/wm/WindowManagerGlobalLock;)V
+SPLcom/android/server/wm/WindowTracing;-><init>(Ljava/io/File;Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;Lcom/android/server/wm/WindowManagerGlobalLock;I)V
+SPLcom/android/server/wm/WindowTracing;->createDefaultAndStartLooper(Landroid/content/Context;)Lcom/android/server/wm/WindowTracing;
+SPLcom/android/server/wm/WindowTracing;->createDefaultAndStartLooper(Lcom/android/server/wm/WindowManagerService;Landroid/view/Choreographer;)Lcom/android/server/wm/WindowTracing;
+SPLcom/android/server/wm/WindowTracing;->isEnabled()Z
+SPLcom/android/server/wm/WindowTracing;->logState(Ljava/lang/String;)V
+SPLcom/android/server/wm/WindowTracing;->setLogLevel(ILjava/io/PrintWriter;)V
+SPLcom/android/server/wm/WindowTracing;->traceStateLocked(Ljava/lang/String;Lcom/android/server/wm/WindowManagerService;)V
+SPLcom/android/server/wm/utils/CoordinateTransforms;->transformPhysicalToLogicalCoordinates(IIILandroid/graphics/Matrix;)V
+SPLcom/android/server/wm/utils/DisplayRotationUtil;->getRotatedBounds([Landroid/graphics/Rect;III)[Landroid/graphics/Rect;
+SPLcom/android/server/wm/utils/InsetUtils;->rotateInsets(Landroid/graphics/Rect;I)V
+SPLcom/android/server/wm/utils/RotationCache;->getOrCompute(Ljava/lang/Object;I)Ljava/lang/Object;
+SPLcom/android/server/wm/utils/WmDisplayCutout;-><init>(Landroid/view/DisplayCutout;Landroid/util/Size;)V
+SPLcom/android/server/wm/utils/WmDisplayCutout;->calculateRelativeTo(Landroid/graphics/Rect;)Lcom/android/server/wm/utils/WmDisplayCutout;
+SPLcom/android/server/wm/utils/WmDisplayCutout;->computeSafeInsets(Landroid/util/Size;Landroid/view/DisplayCutout;)Landroid/graphics/Rect;
+SPLcom/android/server/wm/utils/WmDisplayCutout;->computeSafeInsets(Landroid/view/DisplayCutout;II)Lcom/android/server/wm/utils/WmDisplayCutout;
+SPLcom/android/server/wm/utils/WmDisplayCutout;->equals(Ljava/lang/Object;)Z
+SPLcom/android/server/wm/utils/WmDisplayCutout;->findInsetForSide(Landroid/util/Size;Ljava/util/List;I)I
+SPLcom/android/server/wm/utils/WmDisplayCutout;->getDisplayCutout()Landroid/view/DisplayCutout;
+SPLcom/android/server/wm/utils/WmDisplayCutout;->inset(IIII)Lcom/android/server/wm/utils/WmDisplayCutout;
+SPLcom/google/android/startop/iorap/IorapForwardingService;-><init>(Landroid/content/Context;)V
+SPLcom/google/android/startop/iorap/IorapForwardingService;->connectToRemoteAndConfigure()Z
+SPLcom/google/android/startop/iorap/IorapForwardingService;->connectToRemoteAndConfigureLocked()Z
+SPLcom/google/android/startop/iorap/IorapForwardingService;->isIorapEnabled()Z
+SPLcom/google/android/startop/iorap/IorapForwardingService;->onStart()V
+SPLcom/google/android/startop/iorap/IorapForwardingService;->retryConnectToRemoteAndConfigure(I)Z
+SPLfi/iki/elonen/NanoHTTPD;->getHostname()Ljava/lang/String;
+SPLfi/iki/elonen/NanoHTTPD;->setAsyncRunner(Lfi/iki/elonen/NanoHTTPD$AsyncRunner;)V
+SPLfi/iki/elonen/NanoHTTPD;->setTempFileManagerFactory(Lfi/iki/elonen/NanoHTTPD$TempFileManagerFactory;)V
diff --git a/services/autofill/java/com/android/server/autofill/AutofillManagerService.java b/services/autofill/java/com/android/server/autofill/AutofillManagerService.java
index 245e2c9..6597312 100644
--- a/services/autofill/java/com/android/server/autofill/AutofillManagerService.java
+++ b/services/autofill/java/com/android/server/autofill/AutofillManagerService.java
@@ -38,6 +38,7 @@
 import android.content.Intent;
 import android.content.IntentFilter;
 import android.content.pm.PackageManager;
+import android.content.pm.UserInfo;
 import android.database.ContentObserver;
 import android.graphics.Rect;
 import android.os.Binder;
@@ -189,6 +190,16 @@
         final IntentFilter filter = new IntentFilter();
         filter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
         context.registerReceiver(mBroadcastReceiver, filter, null, FgThread.getHandler());
+
+        if (mSupportedSmartSuggestionModes != AutofillManager.FLAG_SMART_SUGGESTION_OFF) {
+            // Must eager load the services so they bind to the augmented autofill service
+            final UserManager um = getContext().getSystemService(UserManager.class);
+            final List<UserInfo> users = um.getUsers();
+            for (int i = 0; i < users.size(); i++) {
+                final int userId = users.get(i).id;
+                getServiceForUserLocked(userId);
+            }
+        }
     }
 
     @Override // from AbstractMasterSystemService
@@ -479,13 +490,16 @@
 
     private void setDeviceConfigProperties() {
         synchronized (mLock) {
-            mAugmentedServiceIdleUnbindTimeoutMs = Helper.getIntDeviceConfigProperty(
+            mAugmentedServiceIdleUnbindTimeoutMs = DeviceConfig.getInt(
+                    DeviceConfig.NAMESPACE_AUTOFILL,
                     AutofillManager.DEVICE_CONFIG_AUGMENTED_SERVICE_IDLE_UNBIND_TIMEOUT,
                     (int) AbstractRemoteService.PERMANENT_BOUND_TIMEOUT_MS);
-            mAugmentedServiceRequestTimeoutMs = Helper.getIntDeviceConfigProperty(
+            mAugmentedServiceRequestTimeoutMs = DeviceConfig.getInt(
+                    DeviceConfig.NAMESPACE_AUTOFILL,
                     AutofillManager.DEVICE_CONFIG_AUGMENTED_SERVICE_REQUEST_TIMEOUT,
                     DEFAULT_AUGMENTED_AUTOFILL_REQUEST_TIMEOUT_MILLIS);
-            mSupportedSmartSuggestionModes = Helper.getIntDeviceConfigProperty(
+            mSupportedSmartSuggestionModes = DeviceConfig.getInt(
+                    DeviceConfig.NAMESPACE_AUTOFILL,
                     AutofillManager.DEVICE_CONFIG_AUTOFILL_SMART_SUGGESTION_SUPPORTED_MODES,
                     AutofillManager.FLAG_SMART_SUGGESTION_SYSTEM);
             if (verbose) {
diff --git a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
index 3f33813..9612346 100644
--- a/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
+++ b/services/autofill/java/com/android/server/autofill/AutofillManagerServiceImpl.java
@@ -72,6 +72,7 @@
 
 import com.android.internal.R;
 import com.android.internal.annotations.GuardedBy;
+import com.android.internal.infra.WhitelistHelper;
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.server.LocalServices;
@@ -173,10 +174,10 @@
     private ServiceInfo mRemoteAugmentedAutofillServiceInfo;
 
     /**
-     * List of packages that are whitelisted to be trigger augmented autofill.
+     * List of packages/activities that are whitelisted to be trigger augmented autofill.
      */
     @GuardedBy("mLock")
-    private final ArraySet<String> mWhitelistedAugmentAutofillPackages = new ArraySet<>();
+    private final WhitelistHelper mAugmentedWhitelistHelper = new WhitelistHelper();
 
     AutofillManagerServiceImpl(AutofillManagerService master, Object lock,
             LocalLog uiLatencyHistory, LocalLog wtfHistory, int userId, AutoFillUI ui,
@@ -193,7 +194,7 @@
         mAugmentedAutofillResolver = new FrameworkResourcesServiceNameResolver(master.getContext(),
                 com.android.internal.R.string.config_defaultAugmentedAutofillService);
         mAugmentedAutofillResolver.setOnTemporaryServiceNameChangedCallback(
-                (u, s) -> updateRemoteAugmentedAutofillService(s));
+                (u, s) -> updateRemoteAugmentedAutofillService());
 
         updateLocked(disabled);
     }
@@ -222,6 +223,7 @@
             }
             sendStateToClients(false);
         }
+        updateRemoteAugmentedAutofillService();
         return enabledChanged;
     }
 
@@ -297,7 +299,8 @@
             final IAutoFillManagerClient client = IAutoFillManagerClient.Stub
                     .asInterface(appCallbackToken);
             try {
-                client.setSessionFinished(AutofillManager.STATE_DISABLED_BY_SERVICE);
+                client.setSessionFinished(AutofillManager.STATE_DISABLED_BY_SERVICE,
+                        /* autofillableIds= */ null);
             } catch (RemoteException e) {
                 Slog.w(TAG, "Could not notify " + shortComponentName + " that it's disabled: " + e);
             }
@@ -905,13 +908,7 @@
             pw.println(mRemoteAugmentedAutofillServiceInfo);
         }
 
-        final int whitelistSize = mWhitelistedAugmentAutofillPackages.size();
-        pw.print(prefix); pw.print("Packages whitelisted for augmented autofill: ");
-        pw.println(whitelistSize);
-        for (int i = 0; i < whitelistSize; i++) {
-            final String whitelistedPkg = mWhitelistedAugmentAutofillPackages.valueAt(i);
-            pw.print(prefix2); pw.print(i + 1); pw.print(": "); pw.println(whitelistedPkg);
-        }
+        mAugmentedWhitelistHelper.dump(prefix, "Augmented autofill whitelist", pw);
 
         pw.print(prefix); pw.print("Field classification enabled: ");
             pw.println(isFieldClassificationEnabledLocked());
@@ -1098,7 +1095,7 @@
     /**
      * Called when the {@link #mAugmentedAutofillResolver} changed (among other places).
      */
-    private void updateRemoteAugmentedAutofillService(@Nullable String serviceName) {
+    void updateRemoteAugmentedAutofillService() {
         synchronized (mLock) {
             if (mRemoteAugmentedAutofillService != null) {
                 if (sVerbose) {
@@ -1107,9 +1104,12 @@
                 }
                 mRemoteAugmentedAutofillService.destroy();
                 mRemoteAugmentedAutofillService = null;
+                mRemoteAugmentedAutofillServiceInfo = null;
             }
 
-            mRemoteAugmentedAutofillService = getRemoteAugmentedAutofillServiceLocked();
+            if (isEnabledLocked()) {
+                mRemoteAugmentedAutofillService = getRemoteAugmentedAutofillServiceLocked();
+            }
         }
     }
 
@@ -1129,9 +1129,8 @@
             Slog.v(TAG, "setAugmentedAutofillWhitelistLocked(packages=" + packages + ", activities="
                     + activities + ")");
         }
-        whitelistForAugmentedAutofillPackages(packages);
+        whitelistForAugmentedAutofillPackages(packages, activities);
 
-        // TODO(b/123100824): whitelist activities as well
         // TODO(b/122858578): log metrics
         return true;
     }
@@ -1171,28 +1170,29 @@
 
     @GuardedBy("mLock")
     boolean isWhitelistedForAugmentedAutofillLocked(@NonNull ComponentName componentName) {
-        // TODO(b/122595322): need to check whitelisted activities as well.
-        final String packageName = componentName.getPackageName();
-        return mWhitelistedAugmentAutofillPackages.contains(packageName);
+        return mAugmentedWhitelistHelper.isWhitelisted(componentName);
     }
 
     @GuardedBy("mLock")
     void setAugmentedAutofillWhitelistLocked(@NonNull AutofillOptions options,
             @NonNull String packageName) {
-        // TODO(b/122595322): need to setwhitelisted activities as well.
-        options.augmentedEnabled = mWhitelistedAugmentAutofillPackages.contains(packageName);
+        options.augmentedAutofillEnabled = mAugmentedWhitelistHelper.isWhitelisted(packageName);
+        options.whitelistedActivitiesForAugmentedAutofill = mAugmentedWhitelistHelper
+                .getWhitelistedComponents(packageName);
     }
 
-    private void whitelistForAugmentedAutofillPackages(@NonNull List<String> packages) {
+    /**
+     *
+     * @throws IllegalArgumentException if packages or components are empty.
+     */
+    private void whitelistForAugmentedAutofillPackages(@Nullable List<String> packages,
+            @Nullable List<ComponentName> components) {
         // TODO(b/123100824): add CTS test for when it's null
         synchronized (mLock) {
-            if (packages == null) {
-                if (mMaster.verbose) Slog.v(TAG, "clearing all whitelisted augmented packages");
-                mWhitelistedAugmentAutofillPackages.clear();
-            } else {
-                if (mMaster.verbose) Slog.v(TAG, "whitelisting augmented packages: " + packages);
-                mWhitelistedAugmentAutofillPackages.addAll(packages);
+            if (mMaster.verbose) {
+                Slog.v(TAG, "whitelisting packages: " + packages + "and activities: " + components);
             }
+            mAugmentedWhitelistHelper.setWhitelist(packages, components);
             mRemoteAugmentedAutofillService = getRemoteAugmentedAutofillServiceLocked();
         }
     }
diff --git a/services/autofill/java/com/android/server/autofill/Helper.java b/services/autofill/java/com/android/server/autofill/Helper.java
index d300bf2..3d392c7 100644
--- a/services/autofill/java/com/android/server/autofill/Helper.java
+++ b/services/autofill/java/com/android/server/autofill/Helper.java
@@ -20,14 +20,14 @@
 import android.annotation.Nullable;
 import android.app.assist.AssistStructure;
 import android.app.assist.AssistStructure.ViewNode;
+import android.app.assist.AssistStructure.WindowNode;
 import android.content.ComponentName;
 import android.metrics.LogMaker;
-import android.provider.DeviceConfig;
 import android.service.autofill.Dataset;
 import android.util.ArrayMap;
 import android.util.ArraySet;
-import android.util.Log;
 import android.util.Slog;
+import android.view.View;
 import android.view.WindowManager;
 import android.view.autofill.AutofillId;
 import android.view.autofill.AutofillValue;
@@ -208,17 +208,28 @@
     }
 
     /**
-     * Gets the value of a device config property from the Autofill namespace.
+     * Gets the {@link AutofillId} of the autofillable nodes in the {@code structure}.
      */
-    static int getIntDeviceConfigProperty(@NonNull String key, int defaultValue) {
-        final String value = DeviceConfig.getProperty(DeviceConfig.NAMESPACE_AUTOFILL, key);
-        if (value == null) return defaultValue;
+    @NonNull
+    static ArraySet<AutofillId> getAutofillableIds(@NonNull AssistStructure structure) {
+        final ArraySet<AutofillId> ids = new ArraySet<>();
+        final int size = structure.getWindowNodeCount();
+        for (int i = 0; i < size; i++) {
+            final WindowNode node = structure.getWindowNodeAt(i);
+            addAutofillableIds(node.getRootViewNode(), ids);
+        }
+        return ids;
+    }
 
-        try {
-            return Integer.parseInt(value);
-        } catch (Exception e) {
-            Log.w(TAG, "error parsing value (" + value + ") of property " + key + ": " + e);
-            return defaultValue;
+    private static void addAutofillableIds(@NonNull ViewNode node,
+            @NonNull ArraySet<AutofillId> ids) {
+        if (node.getAutofillType() != View.AUTOFILL_TYPE_NONE) {
+            ids.add(node.getAutofillId());
+        }
+        final int size = node.getChildCount();
+        for (int i = 0; i < size; i++) {
+            final ViewNode child = node.getChildAt(i);
+            addAutofillableIds(child, ids);
         }
     }
 
diff --git a/services/autofill/java/com/android/server/autofill/RemoteAugmentedAutofillService.java b/services/autofill/java/com/android/server/autofill/RemoteAugmentedAutofillService.java
index a38c3cf..3c17ac3 100644
--- a/services/autofill/java/com/android/server/autofill/RemoteAugmentedAutofillService.java
+++ b/services/autofill/java/com/android/server/autofill/RemoteAugmentedAutofillService.java
@@ -16,6 +16,8 @@
 
 package com.android.server.autofill;
 
+import static com.android.server.autofill.Helper.sDebug;
+
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.UserIdInt;
@@ -26,6 +28,7 @@
 import android.content.pm.ServiceInfo;
 import android.os.Bundle;
 import android.os.IBinder;
+import android.os.ICancellationSignal;
 import android.os.RemoteException;
 import android.os.SystemClock;
 import android.service.autofill.augmented.AugmentedAutofillService;
@@ -55,7 +58,7 @@
             boolean bindInstantServiceAllowed, boolean verbose, int idleUnbindTimeoutMs,
             int requestTimeoutMs) {
         super(context, AugmentedAutofillService.SERVICE_INTERFACE, serviceName, userId, callbacks,
-                bindInstantServiceAllowed, verbose);
+                context.getMainThreadHandler(), bindInstantServiceAllowed, verbose);
         mIdleUnbindTimeoutMs = idleUnbindTimeoutMs;
         mRequestTimeoutMs = requestTimeoutMs;
 
@@ -142,6 +145,16 @@
         scheduleAsyncRequest((s) -> s.onDestroyAllFillWindowsRequest());
     }
 
+    private void dispatchOnFillTimeout(@NonNull ICancellationSignal cancellation) {
+        mHandler.post(() -> {
+            try {
+                cancellation.cancel();
+            } catch (RemoteException e) {
+                Slog.w(mTag, "Error calling cancellation signal: " + e);
+            }
+        });
+    }
+
     // TODO(b/123100811): inline into PendingAutofillRequest if it doesn't have any other subclass
     private abstract static class MyPendingRequest
             extends PendingRequest<RemoteAugmentedAutofillService, IAugmentedAutofillService> {
@@ -161,6 +174,7 @@
         private final int mTaskId;
         private final long mRequestTime = SystemClock.elapsedRealtime();
         private final @NonNull IFillCallback mCallback;
+        private ICancellationSignal mCancellation;
 
         protected PendingAutofillRequest(@NonNull RemoteAugmentedAutofillService service,
                 int sessionId, @NonNull IAutoFillManagerClient client, int taskId,
@@ -178,11 +192,55 @@
                     if (!finish()) return;
                     // NOTE: so far we don't need notify RemoteAugmentedAutofillServiceCallbacks
                 }
+
+                @Override
+                public void onCancellable(ICancellationSignal cancellation) {
+                    synchronized (mLock) {
+                        final boolean cancelled;
+                        synchronized (mLock) {
+                            mCancellation = cancellation;
+                            cancelled = isCancelledLocked();
+                        }
+                        if (cancelled) {
+                            try {
+                                cancellation.cancel();
+                            } catch (RemoteException e) {
+                                Slog.e(mTag, "Error requesting a cancellation", e);
+                            }
+                        }
+                    }
+                }
+
+                @Override
+                public boolean isCompleted() {
+                    return isRequestCompleted();
+                }
+
+                @Override
+                public void cancel() {
+                    synchronized (mLock) {
+                        final boolean cancelled = isCancelledLocked();
+                        final ICancellationSignal cancellation = mCancellation;
+                        if (!cancelled) {
+                            try {
+                                cancellation.cancel();
+                            } catch (RemoteException e) {
+                                Slog.e(mTag, "Error requesting a cancellation", e);
+                            }
+                        }
+                    }
+                }
             };
         }
 
         @Override
         public void run() {
+            synchronized (mLock) {
+                if (isCancelledLocked()) {
+                    if (sDebug) Slog.d(mTag, "run() called after canceled");
+                    return;
+                }
+            }
             final RemoteAugmentedAutofillService remoteService = getService();
             if (remoteService == null) return;
 
@@ -215,8 +273,33 @@
             Slog.w(TAG, "PendingAutofillRequest timed out (" + remoteService.mRequestTimeoutMs
                     + "ms) for " + remoteService);
             // NOTE: so far we don't need notify RemoteAugmentedAutofillServiceCallbacks
+            final ICancellationSignal cancellation;
+            synchronized (mLock) {
+                cancellation = mCancellation;
+            }
+            if (cancellation != null) {
+                remoteService.dispatchOnFillTimeout(cancellation);
+            }
             finish();
         }
+
+        @Override
+        public boolean cancel() {
+            if (!super.cancel()) return false;
+
+            final ICancellationSignal cancellation;
+            synchronized (mLock) {
+                cancellation = mCancellation;
+            }
+            if (cancellation != null) {
+                try {
+                    cancellation.cancel();
+                } catch (RemoteException e) {
+                    Slog.e(mTag, "Error cancelling a fill request", e);
+                }
+            }
+            return true;
+        }
     }
 
     public interface RemoteAugmentedAutofillServiceCallbacks
diff --git a/services/autofill/java/com/android/server/autofill/RemoteFillService.java b/services/autofill/java/com/android/server/autofill/RemoteFillService.java
index e8a52b4..b8a7d44 100644
--- a/services/autofill/java/com/android/server/autofill/RemoteFillService.java
+++ b/services/autofill/java/com/android/server/autofill/RemoteFillService.java
@@ -64,7 +64,7 @@
     RemoteFillService(Context context, ComponentName componentName, int userId,
             FillServiceCallbacks callbacks, boolean bindInstantServiceAllowed) {
         super(context, AutofillService.SERVICE_INTERFACE, componentName, userId, callbacks,
-                bindInstantServiceAllowed, sVerbose);
+                context.getMainThreadHandler(), bindInstantServiceAllowed, sVerbose);
         mCallbacks = callbacks;
     }
 
diff --git a/services/autofill/java/com/android/server/autofill/Session.java b/services/autofill/java/com/android/server/autofill/Session.java
index 7fbfc42..ea47033 100644
--- a/services/autofill/java/com/android/server/autofill/Session.java
+++ b/services/autofill/java/com/android/server/autofill/Session.java
@@ -26,6 +26,7 @@
 import static android.view.autofill.AutofillManager.ACTION_VIEW_EXITED;
 import static android.view.autofill.AutofillManager.FLAG_SMART_SUGGESTION_SYSTEM;
 import static android.view.autofill.AutofillManager.getSmartSuggestionModeToString;
+import static android.view.autofill.Helper.toList;
 
 import static com.android.internal.util.function.pooled.PooledLambda.obtainMessage;
 import static com.android.server.autofill.Helper.getNumericValue;
@@ -266,6 +267,15 @@
     @GuardedBy("mLock")
     private ArrayList<LogMaker> mAugmentedRequestsLogs;
 
+
+    /**
+     * List of autofill ids of autofillable fields present in the AssistStructure that can be used
+     * to trigger new augmented autofill requests (because the "standard" service was not interested
+     * on autofilling the app.
+     */
+    @GuardedBy("mLock")
+    private ArraySet<AutofillId> mAugmentedAutofillableIds;
+
     /**
      * Receiver of assist data from the app's {@link Activity}.
      */
@@ -699,14 +709,14 @@
                 if (requestLog != null) {
                     requestLog.addTaggedData(MetricsEvent.FIELD_AUTOFILL_NUM_DATASETS, -1);
                 }
-                processNullResponseLocked(requestFlags);
+                processNullResponseLocked(requestId, requestFlags);
                 return;
             }
 
             fieldClassificationIds = response.getFieldClassificationIds();
             if (fieldClassificationIds != null && !mService.isFieldClassificationEnabledLocked()) {
                 Slog.w(TAG, "Ignoring " + response + " because field detection is disabled");
-                processNullResponseLocked(requestFlags);
+                processNullResponseLocked(requestId, requestFlags);
                 return;
             }
         }
@@ -739,7 +749,7 @@
                         && response.getAuthentication() == null)
                 || disableDuration > 0) {
             // Response is "empty" from an UI point of view, need to notify client.
-            notifyUnavailableToClient(sessionFinishedState);
+            notifyUnavailableToClient(sessionFinishedState, /* autofillableIds= */ null);
         }
 
         if (requestLog != null) {
@@ -802,7 +812,8 @@
                 }
             }
         }
-        notifyUnavailableToClient(AutofillManager.STATE_UNKNOWN_FAILED);
+        notifyUnavailableToClient(AutofillManager.STATE_UNKNOWN_FAILED,
+                /* autofillableIds= */ null);
         if (showMessage) {
             getUiForShowing().showError(message, this);
         }
@@ -1131,7 +1142,7 @@
             }
             logAuthenticationStatusLocked(requestId,
                     MetricsEvent.AUTOFILL_INVALID_AUTHENTICATION);
-            processNullResponseLocked(0);
+            processNullResponseLocked(requestId, 0);
         }
     }
 
@@ -2326,12 +2337,28 @@
                     return;
                 }
 
+                if (mAugmentedAutofillableIds != null && mAugmentedAutofillableIds.contains(id)) {
+                    // View was already reported when server could not handle a response, but it
+                    // triggered augmented autofill
+
+                    if (sDebug) Slog.d(TAG, "updateLocked(" + id + "): augmented-autofillable");
+
+                    // Update the view states first...
+                    mCurrentViewId = viewState.id;
+                    viewState.setCurrentValue(value);
+
+                    // ...then trigger the augmented autofill UI
+                    triggerAugmentedAutofillLocked();
+                    return;
+                }
+
                 requestNewFillResponseOnViewEnteredIfNecessaryLocked(id, viewState, flags);
 
                 // Remove the UI if the ViewState has changed.
                 if (!Objects.equals(mCurrentViewId, viewState.id)) {
                     mUi.hideFillUi(this);
                     mCurrentViewId = viewState.id;
+                    hideAugmentedAutofillLocked(viewState);
                 }
 
                 // If the ViewState is ready to be displayed, onReady() will be called.
@@ -2339,8 +2366,9 @@
                 break;
             case ACTION_VIEW_EXITED:
                 if (Objects.equals(mCurrentViewId, viewState.id)) {
-                    if (sVerbose) Slog.d(TAG, "Exiting view " + id);
+                    if (sVerbose) Slog.v(TAG, "Exiting view " + id);
                     mUi.hideFillUi(this);
+                    hideAugmentedAutofillLocked(viewState);
                     mCurrentViewId = null;
                 }
                 break;
@@ -2349,6 +2377,15 @@
         }
     }
 
+    @GuardedBy("mLock")
+    private void hideAugmentedAutofillLocked(@NonNull ViewState viewState) {
+        if ((viewState.getState()
+                & ViewState.STATE_TRIGGERED_AUGMENTED_AUTOFILL) != 0) {
+            viewState.resetState(ViewState.STATE_TRIGGERED_AUGMENTED_AUTOFILL);
+            cancelAugmentedAutofillLocked();
+        }
+    }
+
     /**
      * Checks whether a view should be ignored.
      */
@@ -2428,14 +2465,15 @@
         }
     }
 
-    private void notifyUnavailableToClient(int sessionFinishedState) {
+    private void notifyUnavailableToClient(int sessionFinishedState,
+            @Nullable ArraySet<AutofillId> autofillableIds) {
         synchronized (mLock) {
             if (mCurrentViewId == null) return;
             try {
                 if (mHasCallback) {
                     mClient.notifyNoFillUi(id, mCurrentViewId, sessionFinishedState);
                 } else if (sessionFinishedState != 0) {
-                    mClient.setSessionFinished(sessionFinishedState);
+                    mClient.setSessionFinished(sessionFinishedState, toList(autofillableIds));
                 }
             } catch (RemoteException e) {
                 Slog.e(TAG, "Error notifying client no fill UI: id=" + mCurrentViewId, e);
@@ -2551,10 +2589,22 @@
     }
 
     @GuardedBy("mLock")
-    private void processNullResponseLocked(int flags) {
+    private void processNullResponseLocked(int requestId, int flags) {
         if ((flags & FLAG_MANUAL_REQUEST) != 0) {
             getUiForShowing().showError(R.string.autofill_error_cannot_autofill, this);
         }
+
+        final FillContext context = getFillContextByRequestIdLocked(requestId);
+
+        final ArraySet<AutofillId> autofillableIds;
+        if (context != null) {
+            final AssistStructure structure = context.getStructure();
+            autofillableIds = Helper.getAutofillableIds(structure);
+        } else {
+            Slog.w(TAG, "processNullResponseLocked(): no context for req " + requestId);
+            autofillableIds = null;
+        }
+
         mService.resetLastResponse();
 
         // The default autofill service cannot fullfill the request, let's check if the augmented
@@ -2563,19 +2613,18 @@
         if (mAugmentedAutofillDestroyer == null) {
             if (sVerbose) {
                 Slog.v(TAG, "canceling session " + id + " when server returned null and there is no"
-                        + " AugmentedAutofill for user");
+                        + " AugmentedAutofill for user. AutofillableIds: " + autofillableIds);
             }
             // Nothing to be done, but need to notify client.
-            notifyUnavailableToClient(AutofillManager.STATE_FINISHED);
+            notifyUnavailableToClient(AutofillManager.STATE_FINISHED, autofillableIds);
             removeSelf();
         } else {
-            // TODO(b/123099468, b/119638958): must set internal state so when user focus other
-            // fields it does not generate a new call to the standard autofill service (right now
-            // it does). Must also add CTS tests to exercise this scenario.
             if (sVerbose) {
                 Slog.v(TAG, "keeping session " + id + " when server returned null but "
-                        + "there is an AugmentedAutofill for user");
+                        + "there is an AugmentedAutofill for user. AutofillableIds: "
+                        + autofillableIds);
             }
+            mAugmentedAutofillableIds = autofillableIds;
         }
     }
 
@@ -2643,7 +2692,9 @@
             return null;
         }
 
-        final AutofillValue currentValue = mViewStates.get(mCurrentViewId).getCurrentValue();
+        final ViewState viewState = mViewStates.get(mCurrentViewId);
+        viewState.setState(ViewState.STATE_TRIGGERED_AUGMENTED_AUTOFILL);
+        final AutofillValue currentValue = viewState.getCurrentValue();
 
         // TODO(b/111330312): we might need to add a new state in the AutofillManager to optimize
         // further AFM -> AFMS calls.
@@ -2665,6 +2716,18 @@
     }
 
     @GuardedBy("mLock")
+    private void cancelAugmentedAutofillLocked() {
+        final RemoteAugmentedAutofillService remoteService = mService
+                .getRemoteAugmentedAutofillServiceLocked();
+        if (remoteService == null) {
+            Slog.w(TAG, "cancelAugmentedAutofillLocked(): no service for user");
+            return;
+        }
+        if (sVerbose) Slog.v(TAG, "cancelAugmentedAutofillLocked() on " + mCurrentViewId);
+        remoteService.onDestroyAutofillWindowsRequest();
+    }
+
+    @GuardedBy("mLock")
     private void processResponseLocked(@NonNull FillResponse newResponse,
             @Nullable Bundle newClientState, int flags) {
         // Make sure we are hiding the UI which will be shown
@@ -2950,6 +3013,10 @@
             pw.println(mAugmentedRequestsLogs.size());
         }
 
+        if (mAugmentedAutofillableIds != null) {
+            pw.print(prefix); pw.print("mAugmentedAutofillableIds: ");
+            pw.println(mAugmentedAutofillableIds);
+        }
         mRemoteFillService.dump(prefix, pw);
     }
 
@@ -3134,7 +3201,7 @@
         mUi.destroyAll(mPendingSaveUi, this, false);
         if (!isPendingSaveUi) {
             try {
-                mClient.setSessionFinished(clientState);
+                mClient.setSessionFinished(clientState, /* autofillableIds= */ null);
             } catch (RemoteException e) {
                 Slog.e(TAG, "Error notifying client to finish session", e);
             }
diff --git a/services/autofill/java/com/android/server/autofill/ViewState.java b/services/autofill/java/com/android/server/autofill/ViewState.java
index 2cc6d20..33a2e50 100644
--- a/services/autofill/java/com/android/server/autofill/ViewState.java
+++ b/services/autofill/java/com/android/server/autofill/ViewState.java
@@ -17,6 +17,7 @@
 package com.android.server.autofill;
 
 import static android.service.autofill.FillRequest.FLAG_MANUAL_REQUEST;
+
 import static com.android.server.autofill.Helper.sDebug;
 
 import android.annotation.NonNull;
@@ -47,8 +48,6 @@
 
     private static final String TAG = "ViewState";
 
-    // NOTE: state constants must be public because of flagstoString().
-    public static final int STATE_UNKNOWN = 0x000;
     /** Initial state. */
     public static final int STATE_INITIAL = 0x001;
     /** View id is present in a dataset returned by the service. */
@@ -73,6 +72,8 @@
     public static final int STATE_AUTOFILL_FAILED = 0x400;
     /** View has been autofilled at least once. */
     public static final int STATE_AUTOFILLED_ONCE = 0x800;
+    /** View triggered the latest augmented autofill request. */
+    public static final int STATE_TRIGGERED_AUGMENTED_AUTOFILL = 0x1000;
 
     public final AutofillId id;
 
diff --git a/services/backup/java/com/android/server/backup/params/RestoreParams.java b/services/backup/java/com/android/server/backup/params/RestoreParams.java
index 5125b0d..c9a6b60 100644
--- a/services/backup/java/com/android/server/backup/params/RestoreParams.java
+++ b/services/backup/java/com/android/server/backup/params/RestoreParams.java
@@ -105,7 +105,7 @@
     /**
      * Caller specifies whether is considered a system-level restore.
      */
-    public static RestoreParams createForRestoreSome(
+    public static RestoreParams createForRestorePackages(
             TransportClient transportClient,
             IRestoreObserver observer,
             IBackupManagerMonitor monitor,
diff --git a/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java b/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java
index 0fa0f89..10304c3 100644
--- a/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java
+++ b/services/backup/java/com/android/server/backup/restore/ActiveRestoreSession.java
@@ -22,6 +22,7 @@
 import static com.android.server.backup.internal.BackupHandler.MSG_RUN_GET_RESTORE_SETS;
 import static com.android.server.backup.internal.BackupHandler.MSG_RUN_RESTORE;
 
+import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.backup.IBackupManagerMonitor;
 import android.app.backup.IRestoreObserver;
@@ -192,18 +193,22 @@
     }
 
     // Restores of more than a single package are treated as 'system' restores
-    public synchronized int restoreSome(long token, IRestoreObserver observer,
-            IBackupManagerMonitor monitor, String[] packages) {
+    public synchronized int restorePackages(long token, @Nullable IRestoreObserver observer,
+            @NonNull String[] packages, @Nullable IBackupManagerMonitor monitor) {
         mBackupManagerService.getContext().enforceCallingOrSelfPermission(
                 android.Manifest.permission.BACKUP,
                 "performRestore");
 
         if (DEBUG) {
             StringBuilder b = new StringBuilder(128);
-            b.append("restoreSome token=");
+            b.append("restorePackages token=");
             b.append(Long.toHexString(token));
             b.append(" observer=");
-            b.append(observer.toString());
+            if (observer == null) {
+                b.append("null");
+            } else {
+                b.append(observer.toString());
+            }
             b.append(" monitor=");
             if (monitor == null) {
                 b.append("null");
@@ -260,7 +265,7 @@
                     try {
                         return sendRestoreToHandlerLocked(
                                 (transportClient, listener) ->
-                                        RestoreParams.createForRestoreSome(
+                                        RestoreParams.createForRestorePackages(
                                                 transportClient,
                                                 observer,
                                                 monitor,
@@ -268,7 +273,7 @@
                                                 packages,
                                                 /* isSystemRestore */ packages.length > 1,
                                                 listener),
-                                "RestoreSession.restoreSome(" + packages.length + " packages)");
+                                "RestoreSession.restorePackages(" + packages.length + " packages)");
                     } finally {
                         Binder.restoreCallingIdentity(oldId);
                     }
diff --git a/services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java b/services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java
index 836a5e8..56eacc0 100644
--- a/services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java
+++ b/services/backup/java/com/android/server/backup/restore/FullRestoreEngine.java
@@ -41,6 +41,7 @@
 import android.text.TextUtils;
 import android.util.Slog;
 
+import com.android.internal.annotations.GuardedBy;
 import com.android.internal.util.Preconditions;
 import com.android.server.LocalServices;
 import com.android.server.backup.BackupAgentTimeoutParameters;
@@ -120,6 +121,7 @@
 
     // Pipes for moving data
     private ParcelFileDescriptor[] mPipes = null;
+    private final Object mPipesLock = new Object();
 
     // Widget blob to be restored out-of-band
     private byte[] mWidgetData = null;
@@ -129,6 +131,8 @@
 
     private final BackupAgentTimeoutParameters mAgentTimeoutParameters;
     final boolean mIsAdbRestore;
+    @GuardedBy("mPipesLock")
+    private boolean mPipesClosed;
 
     public FullRestoreEngine(UserBackupManagerService backupManagerService,
             BackupRestoreTask monitorTask, IFullBackupRestoreObserver observer,
@@ -578,24 +582,26 @@
     }
 
     private void setUpPipes() throws IOException {
-        mPipes = ParcelFileDescriptor.createPipe();
+        synchronized (mPipesLock) {
+            mPipes = ParcelFileDescriptor.createPipe();
+            mPipesClosed = false;
+        }
     }
 
     private void tearDownPipes() {
         // Teardown might arise from the inline restore processing or from the asynchronous
         // timeout mechanism, and these might race.  Make sure we don't try to close and
         // null out the pipes twice.
-        synchronized (this) {
-            if (mPipes != null) {
+        synchronized (mPipesLock) {
+            if (!mPipesClosed && mPipes != null) {
                 try {
                     mPipes[0].close();
-                    mPipes[0] = null;
                     mPipes[1].close();
-                    mPipes[1] = null;
+
+                    mPipesClosed = true;
                 } catch (IOException e) {
                     Slog.w(TAG, "Couldn't close agent pipes", e);
                 }
-                mPipes = null;
             }
         }
     }
diff --git a/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java b/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java
index 9f7a940..9995d8e 100644
--- a/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java
+++ b/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureManagerService.java
@@ -43,6 +43,7 @@
 import android.os.UserManager;
 import android.provider.DeviceConfig;
 import android.provider.Settings;
+import android.service.contentcapture.ActivityEvent.ActivityEventType;
 import android.util.LocalLog;
 import android.util.Slog;
 import android.util.SparseBooleanArray;
@@ -89,11 +90,11 @@
     private ActivityManagerInternal mAm;
 
     /**
-     * Users disabled by {@link android.provider.Settings.Secure#CONTENT_CAPTURE_ENABLED}.
+     * Users disabled by {@link android.provider.Settings.Secure#CONTENT_CAPTURE_ENABLED}
      */
     @GuardedBy("mLock")
     @Nullable
-    private SparseBooleanArray mDisabledUsers;
+    private SparseBooleanArray mDisabledBySettings;
 
     /**
      * Global kill-switch based on value defined by
@@ -114,7 +115,7 @@
     public ContentCaptureManagerService(@NonNull Context context) {
         super(context, new FrameworkResourcesServiceNameResolver(context,
                 com.android.internal.R.string.config_defaultContentCaptureService),
-                UserManager.DISALLOW_CONTENT_CAPTURE);
+                UserManager.DISALLOW_CONTENT_CAPTURE, /* refreshServiceOnPackageUpdate=*/ false);
         DeviceConfig.addOnPropertyChangedListener(DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
                 ActivityThread.currentApplication().getMainExecutor(),
                 (namespace, key, value) -> onDeviceConfigChange(key, value));
@@ -130,18 +131,18 @@
             mRequestsHistory = null;
         }
 
-        // Sets which services are disabled
+        // Sets which services are disabled by settings
         final UserManager um = getContext().getSystemService(UserManager.class);
         final List<UserInfo> users = um.getUsers();
         for (int i = 0; i < users.size(); i++) {
             final int userId = users.get(i).id;
-            final boolean disabled = mDisabledByDeviceConfig || isDisabledBySettings(userId);
+            final boolean disabled = !isEnabledBySettings(userId);
             if (disabled) {
-                Slog.i(mTag, "user " + userId + " disabled by settings or device config");
-                if (mDisabledUsers == null) {
-                    mDisabledUsers = new SparseBooleanArray(1);
+                Slog.i(mTag, "user " + userId + " disabled by settings");
+                if (mDisabledBySettings == null) {
+                    mDisabledBySettings = new SparseBooleanArray(1);
                 }
-                mDisabledUsers.put(userId, true);
+                mDisabledBySettings.put(userId, true);
             }
         }
     }
@@ -187,7 +188,8 @@
     protected void onSettingsChanged(@UserIdInt int userId, @NonNull String property) {
         switch (property) {
             case Settings.Secure.CONTENT_CAPTURE_ENABLED:
-                setContentCaptureFeatureEnabledFromSettings(userId);
+                setContentCaptureFeatureEnabledBySettingsForUser(userId,
+                        isEnabledBySettings(userId));
                 return;
             default:
                 Slog.w(mTag, "Unexpected property (" + property + "); updating cache instead");
@@ -201,31 +203,13 @@
     }
 
     private boolean isDisabledBySettingsLocked(@UserIdInt int userId) {
-        return mDisabledUsers != null && mDisabledUsers.get(userId);
+        return mDisabledBySettings != null && mDisabledBySettings.get(userId);
     }
 
-    private void setContentCaptureFeatureEnabledFromSettings(@UserIdInt int userId) {
-        setContentCaptureFeatureEnabledForUser(userId, !isDisabledBySettings(userId));
-    }
-
-    private boolean isDisabledBySettings(@UserIdInt int userId) {
-        final String property = Settings.Secure.CONTENT_CAPTURE_ENABLED;
-        final String value = Settings.Secure.getStringForUser(getContext().getContentResolver(),
-                property, userId);
-        if (value == null) {
-            if (verbose) {
-                Slog.v(mTag, "isDisabledBySettings(): assuming false as '" + property
-                        + "' is not set");
-            }
-            return false;
-        }
-
-        try {
-            return !Boolean.valueOf(value);
-        } catch (Exception e) {
-            Slog.w(mTag, "Invalid value for property " + property + ": " + value);
-        }
-        return false;
+    private boolean isEnabledBySettings(@UserIdInt int userId) {
+        final boolean enabled = Settings.Secure.getIntForUser(getContext().getContentResolver(),
+                Settings.Secure.CONTENT_CAPTURE_ENABLED, 1, userId) == 1 ? true : false;
+        return enabled;
     }
 
     private void onDeviceConfigChange(@NonNull String key, @Nullable String value) {
@@ -250,18 +234,23 @@
 
     private void setFineTuneParamsFromDeviceConfig() {
         synchronized (mLock) {
-            mDevCfgMaxBufferSize = ContentCaptureHelper.getIntDeviceConfigProperty(
+            mDevCfgMaxBufferSize = DeviceConfig.getInt(
+                    DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
                     ContentCaptureManager.DEVICE_CONFIG_PROPERTY_MAX_BUFFER_SIZE,
                     ContentCaptureManager.DEFAULT_MAX_BUFFER_SIZE);
-            mDevCfgIdleFlushingFrequencyMs = ContentCaptureHelper.getIntDeviceConfigProperty(
+            mDevCfgIdleFlushingFrequencyMs = DeviceConfig.getInt(
+                    DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
                     ContentCaptureManager.DEVICE_CONFIG_PROPERTY_IDLE_FLUSH_FREQUENCY,
                     ContentCaptureManager.DEFAULT_IDLE_FLUSHING_FREQUENCY_MS);
-            mDevCfgTextChangeFlushingFrequencyMs = ContentCaptureHelper.getIntDeviceConfigProperty(
+            mDevCfgTextChangeFlushingFrequencyMs = DeviceConfig.getInt(
+                    DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
                     ContentCaptureManager.DEVICE_CONFIG_PROPERTY_TEXT_CHANGE_FLUSH_FREQUENCY,
                     ContentCaptureManager.DEFAULT_TEXT_CHANGE_FLUSHING_FREQUENCY_MS);
-            mDevCfgLogHistorySize = ContentCaptureHelper.getIntDeviceConfigProperty(
+            mDevCfgLogHistorySize = DeviceConfig.getInt(
+                    DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
                     ContentCaptureManager.DEVICE_CONFIG_PROPERTY_LOG_HISTORY_SIZE, 20);
-            mDevCfgIdleUnbindTimeoutMs = ContentCaptureHelper.getIntDeviceConfigProperty(
+            mDevCfgIdleUnbindTimeoutMs = DeviceConfig.getInt(
+                    DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
                     ContentCaptureManager.DEVICE_CONFIG_PROPERTY_IDLE_UNBIND_TIMEOUT,
                     (int) AbstractRemoteService.PERMANENT_BOUND_TIMEOUT_MS);
             if (verbose) {
@@ -276,7 +265,8 @@
     }
 
     private void setLoggingLevelFromDeviceConfig() {
-        mDevCfgLoggingLevel = ContentCaptureHelper.getIntDeviceConfigProperty(
+        mDevCfgLoggingLevel = DeviceConfig.getInt(
+                DeviceConfig.NAMESPACE_CONTENT_CAPTURE,
                 ContentCaptureManager.DEVICE_CONFIG_PROPERTY_LOGGING_LEVEL,
                 ContentCaptureHelper.getDefaultLoggingLevel());
         ContentCaptureHelper.setLoggingLevel(mDevCfgLoggingLevel);
@@ -331,12 +321,13 @@
         }
     }
 
-    private void setContentCaptureFeatureEnabledForUser(@UserIdInt int userId, boolean enabled) {
+    private void setContentCaptureFeatureEnabledBySettingsForUser(@UserIdInt int userId,
+            boolean enabled) {
         synchronized (mLock) {
-            if (mDisabledUsers == null) {
-                mDisabledUsers = new SparseBooleanArray();
+            if (mDisabledBySettings == null) {
+                mDisabledBySettings = new SparseBooleanArray();
             }
-            final boolean alreadyEnabled = !mDisabledUsers.get(userId);
+            final boolean alreadyEnabled = !mDisabledBySettings.get(userId);
             if (!(enabled ^ alreadyEnabled)) {
                 if (debug) {
                     Slog.d(mTag, "setContentCaptureFeatureEnabledForUser(): already " + enabled);
@@ -346,13 +337,14 @@
             if (enabled) {
                 Slog.i(mTag, "setContentCaptureFeatureEnabled(): enabling service for user "
                         + userId);
-                mDisabledUsers.delete(userId);
+                mDisabledBySettings.delete(userId);
             } else {
                 Slog.i(mTag, "setContentCaptureFeatureEnabled(): disabling service for user "
                         + userId);
-                mDisabledUsers.put(userId, true);
+                mDisabledBySettings.put(userId, true);
             }
-            updateCachedServiceLocked(userId, !enabled);
+            final boolean disabled = !enabled || mDisabledByDeviceConfig;
+            updateCachedServiceLocked(userId, disabled);
         }
     }
 
@@ -472,7 +464,7 @@
 
         final String prefix2 = prefix + "  ";
 
-        pw.print(prefix); pw.print("Disabled users: "); pw.println(mDisabledUsers);
+        pw.print(prefix); pw.print("Users disabled by Settings: "); pw.println(mDisabledBySettings);
         pw.print(prefix); pw.println("DeviceConfig Settings: ");
         pw.print(prefix2); pw.print("disabled: "); pw.println(mDisabledByDeviceConfig);
         pw.print(prefix2); pw.print("loggingLevel: "); pw.println(mDevCfgLoggingLevel);
@@ -632,7 +624,7 @@
         }
 
         @Override
-        public ContentCaptureOptions getOptionsForPackage(int userId, String packageName) {
+        public ContentCaptureOptions getOptionsForPackage(int userId, @NonNull String packageName) {
             synchronized (mLock) {
                 final ContentCapturePerUserService service = peekServiceForUserLocked(userId);
                 if (service != null) {
@@ -641,5 +633,16 @@
             }
             return null;
         }
+
+        @Override
+        public void notifyActivityEvent(int userId, @NonNull ComponentName activityComponent,
+                @ActivityEventType int eventType) {
+            synchronized (mLock) {
+                final ContentCapturePerUserService service = peekServiceForUserLocked(userId);
+                if (service != null) {
+                    service.onActivityEventLocked(activityComponent, eventType);
+                }
+            }
+        }
     }
 }
diff --git a/services/contentcapture/java/com/android/server/contentcapture/ContentCapturePerUserService.java b/services/contentcapture/java/com/android/server/contentcapture/ContentCapturePerUserService.java
index b33259d..c423f9c 100644
--- a/services/contentcapture/java/com/android/server/contentcapture/ContentCapturePerUserService.java
+++ b/services/contentcapture/java/com/android/server/contentcapture/ContentCapturePerUserService.java
@@ -20,8 +20,8 @@
 import static android.view.contentcapture.ContentCaptureSession.STATE_DISABLED;
 import static android.view.contentcapture.ContentCaptureSession.STATE_DUPLICATED_ID;
 import static android.view.contentcapture.ContentCaptureSession.STATE_INTERNAL_ERROR;
+import static android.view.contentcapture.ContentCaptureSession.STATE_NOT_WHITELISTED;
 import static android.view.contentcapture.ContentCaptureSession.STATE_NO_SERVICE;
-import static android.view.contentcapture.ContentCaptureSession.STATE_PACKAGE_NOT_WHITELISTED;
 
 import static com.android.server.wm.ActivityTaskManagerInternal.ASSIST_KEY_CONTENT;
 import static com.android.server.wm.ActivityTaskManagerInternal.ASSIST_KEY_DATA;
@@ -29,6 +29,7 @@
 
 import android.Manifest;
 import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.UserIdInt;
 import android.app.ActivityManagerInternal;
 import android.app.AppGlobals;
@@ -46,6 +47,8 @@
 import android.os.RemoteException;
 import android.os.UserHandle;
 import android.provider.Settings;
+import android.service.contentcapture.ActivityEvent;
+import android.service.contentcapture.ActivityEvent.ActivityEventType;
 import android.service.contentcapture.ContentCaptureService;
 import android.service.contentcapture.IContentCaptureServiceCallback;
 import android.service.contentcapture.SnapshotData;
@@ -55,6 +58,7 @@
 import android.view.contentcapture.UserDataRemovalRequest;
 
 import com.android.internal.annotations.GuardedBy;
+import com.android.internal.infra.WhitelistHelper;
 import com.android.internal.os.IResultReceiver;
 import com.android.server.LocalServices;
 import com.android.server.contentcapture.RemoteContentCaptureService.ContentCaptureServiceCallbacks;
@@ -94,7 +98,14 @@
      * List of packages that are whitelisted to be content captured.
      */
     @GuardedBy("mLock")
-    private final ArraySet<String> mWhitelistedPackages = new ArraySet<>();
+    private final WhitelistHelper mWhitelistHelper = new WhitelistHelper();
+
+    /**
+     * When {@code true}, remote service died but service state is kept so it's restored after
+     * the system re-binds to it.
+     */
+    @GuardedBy("mLock")
+    private boolean mZombie;
 
     // TODO(b/111276913): add mechanism to prune stale sessions, similar to Autofill's
 
@@ -173,9 +184,38 @@
 
     @Override // from ContentCaptureServiceCallbacks
     public void onServiceDied(@NonNull RemoteContentCaptureService service) {
-        if (mMaster.debug) Slog.d(TAG, "remote service died: " + service);
+        // Don't do anything; eventually the system will bind to it again...
+        Slog.w(TAG, "remote service died: " + service);
         synchronized (mLock) {
-            removeSelfFromCacheLocked();
+            mZombie = true;
+        }
+    }
+
+    /**
+     * Called after the remote service connected, it's used to restore state from a 'zombie'
+     * service (i.e., after it died).
+     */
+    void onConnected() {
+        synchronized (mLock) {
+            if (mZombie) {
+                // Sanity check - shouldn't happen
+                if (mRemoteService == null) {
+                    Slog.w(TAG, "Cannot ressurect sessions because remote service is null");
+                    return;
+                }
+
+                mZombie = false;
+                final int numSessions = mSessions.size();
+                if (mMaster.debug) {
+                    Slog.d(TAG, "Ressurrecting remote service (" + mRemoteService + ") on "
+                            + numSessions + " sessions");
+                }
+
+                for (int i = 0; i < numSessions; i++) {
+                    final ContentCaptureServerSession session = mSessions.valueAt(i);
+                    session.resurrectLocked();
+                }
+            }
         }
     }
 
@@ -194,7 +234,7 @@
         final int taskId = activityPresentationInfo.taskId;
         final int displayId = activityPresentationInfo.displayId;
         final ComponentName componentName = activityPresentationInfo.componentName;
-        final boolean whitelisted = isWhitelistedLocked(componentName);
+        final boolean whiteListed = isWhitelistedLocked(componentName);
         final ComponentName serviceComponentName = getServiceComponentName();
         final boolean enabled = isEnabledLocked();
         if (mMaster.mRequestsHistory != null) {
@@ -204,7 +244,7 @@
                     + " t=" + taskId + " d=" + displayId
                     + " s=" + ComponentName.flattenToShortString(serviceComponentName)
                     + " u=" + mUserId + " f=" + flags + (enabled ? "" : " (disabled)")
-                    + " w=" + whitelisted;
+                    + " w=" + whiteListed;
             mMaster.mRequestsHistory.log(historyItem);
         }
 
@@ -225,12 +265,12 @@
             return;
         }
 
-        if (!whitelisted) {
+        if (!whiteListed) {
             if (mMaster.debug) {
-                Slog.d(TAG, "startSession(" + componentName + "): not whitelisted");
+                Slog.d(TAG, "startSession(" + componentName + "): package or component "
+                        + "not whitelisted");
             }
-            // TODO(b/122595322): need to return STATE_ACTIVITY_NOT_WHITELISTED as well
-            setClientState(clientReceiver, STATE_DISABLED | STATE_PACKAGE_NOT_WHITELISTED,
+            setClientState(clientReceiver, STATE_DISABLED | STATE_NOT_WHITELISTED,
                     /* binder= */ null);
             return;
         }
@@ -258,7 +298,7 @@
         }
 
         final ContentCaptureServerSession newSession = new ContentCaptureServerSession(
-                activityToken, this, mRemoteService, componentName, taskId,
+                activityToken, this, mRemoteService, componentName, clientReceiver, taskId,
                 displayId, sessionId, uid, flags);
         if (mMaster.verbose) {
             Slog.v(TAG, "startSession(): new session for "
@@ -270,21 +310,21 @@
 
     @GuardedBy("mLock")
     private boolean isWhitelistedLocked(@NonNull ComponentName componentName) {
-        // TODO(b/122595322): need to check whitelisted activities as well.
-        final String packageName = componentName.getPackageName();
-        return mWhitelistedPackages.contains(packageName);
+        return mWhitelistHelper.isWhitelisted(componentName);
     }
 
-    private void whitelistPackages(@NonNull List<String> packages) {
+    /**
+     * @throws IllegalArgumentException if packages or components are empty.
+     */
+    private void setWhitelist(@Nullable List<String> packages,
+            @Nullable List<ComponentName> components) {
         // TODO(b/122595322): add CTS test for when it's null
         synchronized (mLock) {
-            if (packages == null) {
-                if (mMaster.verbose) Slog.v(TAG, "clearing all whitelisted packages");
-                mWhitelistedPackages.clear();
-            } else {
-                if (mMaster.verbose) Slog.v(TAG, "whitelisting packages: " + packages);
-                mWhitelistedPackages.addAll(packages);
+            if (mMaster.verbose) {
+                Slog.v(TAG, "whitelisting packages: " + packages + " and activities: "
+                        + components);
             }
+            mWhitelistHelper.setWhitelist(packages, components);
         }
     }
 
@@ -387,6 +427,9 @@
     @GuardedBy("mLock")
     public void destroyLocked() {
         if (mMaster.debug) Slog.d(TAG, "destroyLocked()");
+        if (mRemoteService != null) {
+            mRemoteService.destroy();
+        }
         destroySessionsLocked();
     }
 
@@ -411,15 +454,15 @@
 
     @GuardedBy("mLock")
     ContentCaptureOptions getOptionsForPackageLocked(@NonNull String packageName) {
-        if (!mWhitelistedPackages.contains(packageName)) {
+        if (!mWhitelistHelper.isWhitelisted(packageName)) {
             if (mMaster.verbose) {
                 Slog.v(mTag, "getOptionsForPackage(" + packageName + "): not whitelisted");
             }
             return null;
         }
 
-        // TODO(b/122595322): need to check whitelisted activities as well.
-        final ArraySet<ComponentName> whitelistedComponents = null;
+        final ArraySet<ComponentName> whitelistedComponents = mWhitelistHelper
+                .getWhitelistedComponents(packageName);
         ContentCaptureOptions options = new ContentCaptureOptions(mMaster.mDevCfgLoggingLevel,
                 mMaster.mDevCfgMaxBufferSize, mMaster.mDevCfgIdleFlushingFrequencyMs,
                 mMaster.mDevCfgTextChangeFlushingFrequencyMs, mMaster.mDevCfgLogHistorySize,
@@ -430,22 +473,32 @@
         return options;
     }
 
+    @GuardedBy("mLock")
+    void onActivityEventLocked(@NonNull ComponentName componentName, @ActivityEventType int type) {
+        if (mRemoteService == null) {
+            if (mMaster.debug) Slog.d(mTag, "onActivityEvent(): no remote service");
+            return;
+        }
+        final ActivityEvent event = new ActivityEvent(componentName, type);
+
+        if (mMaster.verbose) Slog.v(mTag, "onActivityEvent(): " + event);
+
+        mRemoteService.onActivityLifecycleEvent(event);
+    }
+
     @Override
     protected void dumpLocked(String prefix, PrintWriter pw) {
         super.dumpLocked(prefix, pw);
 
+        pw.print(prefix); pw.print("Zombie: "); pw.println(mZombie);
+
         final String prefix2 = prefix + "  ";
         if (mRemoteService != null) {
             pw.print(prefix); pw.println("remote service:");
             mRemoteService.dump(prefix2, pw);
         }
 
-        final int whitelistSize = mWhitelistedPackages.size();
-        pw.print(prefix); pw.print("Whitelisted packages: "); pw.println(whitelistSize);
-        for (int i = 0; i < whitelistSize; i++) {
-            final String whitelistedPkg = mWhitelistedPackages.valueAt(i);
-            pw.print(prefix2); pw.print(i + 1); pw.print(": "); pw.println(whitelistedPkg);
-        }
+        mWhitelistHelper.dump(prefix, "Whitelist", pw);
 
         if (mSessions.isEmpty()) {
             pw.print(prefix); pw.println("no sessions");
@@ -485,9 +538,8 @@
                 Slog.v(TAG, "setContentCaptureWhitelist(packages=" + packages + ", activities="
                         + activities + ")");
             }
-            whitelistPackages(packages);
+            setWhitelist(packages, activities);
 
-            // TODO(b/122595322): whitelist activities as well
             // TODO(b/119613670): log metrics
         }
 
@@ -498,7 +550,7 @@
             final long token = Binder.clearCallingIdentity();
             try {
                 Settings.Secure.putStringForUser(getContext().getContentResolver(),
-                        Settings.Secure.CONTENT_CAPTURE_ENABLED, "false", mUserId);
+                        Settings.Secure.CONTENT_CAPTURE_ENABLED, "0", mUserId);
             } finally {
                 Binder.restoreCallingIdentity(token);
             }
diff --git a/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureServerSession.java b/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureServerSession.java
index 4094843..da19836 100644
--- a/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureServerSession.java
+++ b/services/contentcapture/java/com/android/server/contentcapture/ContentCaptureServerSession.java
@@ -23,6 +23,7 @@
 import android.util.LocalLog;
 import android.util.Slog;
 import android.view.contentcapture.ContentCaptureContext;
+import android.view.contentcapture.ContentCaptureSession;
 import android.view.contentcapture.ContentCaptureSessionId;
 
 import com.android.internal.annotations.GuardedBy;
@@ -44,6 +45,12 @@
     private final ContentCaptureContext mContentCaptureContext;
 
     /**
+     * Reference to the binder object help at the client-side process and used to set its state.
+     */
+    @NonNull
+    private final IResultReceiver mSessionStateReceiver;
+
+    /**
      * Canonical session id.
      */
     private final String mId;
@@ -56,7 +63,7 @@
     ContentCaptureServerSession(@NonNull IBinder activityToken,
             @NonNull ContentCapturePerUserService service,
             @NonNull RemoteContentCaptureService remoteService,
-            @NonNull ComponentName appComponentName,
+            @NonNull ComponentName appComponentName, @NonNull IResultReceiver sessionStateReceiver,
             int taskId, int displayId, @NonNull String sessionId, int uid, int flags) {
         mActivityToken = activityToken;
         mService = service;
@@ -65,6 +72,7 @@
         mRemoteService = remoteService;
         mContentCaptureContext = new ContentCaptureContext(/* clientContext= */ null,
                 appComponentName, taskId, displayId, flags);
+        mSessionStateReceiver = sessionStateReceiver;
     }
 
     /**
@@ -79,7 +87,8 @@
      */
     @GuardedBy("mLock")
     public void notifySessionStartedLocked(@NonNull IResultReceiver clientReceiver) {
-        mRemoteService.onSessionStarted(mContentCaptureContext, mId, mUid, clientReceiver);
+        mRemoteService.onSessionStarted(mContentCaptureContext, mId, mUid, clientReceiver,
+                ContentCaptureSession.STATE_ACTIVE);
     }
 
     /**
@@ -129,6 +138,17 @@
         }
     }
 
+    /**
+     * Called to restore the active state of a session that was paused while the service died.
+     */
+    @GuardedBy("mLock")
+    public void resurrectLocked() {
+        mRemoteService.onSessionStarted(new ContentCaptureContext(mContentCaptureContext,
+                ContentCaptureContext.FLAG_RECONNECTED), mId, mUid, mSessionStateReceiver,
+                ContentCaptureSession.STATE_ACTIVE
+                        | ContentCaptureSession.STATE_SERVICE_RESURRECTED);
+    }
+
     @GuardedBy("mLock")
     public void dumpLocked(@NonNull String prefix, @NonNull PrintWriter pw) {
         pw.print(prefix); pw.print("id: ");  pw.print(mId); pw.println();
diff --git a/services/contentcapture/java/com/android/server/contentcapture/RemoteContentCaptureService.java b/services/contentcapture/java/com/android/server/contentcapture/RemoteContentCaptureService.java
index dc07c0a..2ce5059 100644
--- a/services/contentcapture/java/com/android/server/contentcapture/RemoteContentCaptureService.java
+++ b/services/contentcapture/java/com/android/server/contentcapture/RemoteContentCaptureService.java
@@ -23,6 +23,7 @@
 import android.content.ComponentName;
 import android.content.Context;
 import android.os.IBinder;
+import android.service.contentcapture.ActivityEvent;
 import android.service.contentcapture.IContentCaptureService;
 import android.service.contentcapture.IContentCaptureServiceCallback;
 import android.service.contentcapture.SnapshotData;
@@ -39,13 +40,16 @@
 
     private final IBinder mServerCallback;
     private final int mIdleUnbindTimeoutMs;
+    private final ContentCapturePerUserService mPerUserService;
 
     RemoteContentCaptureService(Context context, String serviceInterface,
             ComponentName serviceComponentName, IContentCaptureServiceCallback callback, int userId,
-            ContentCaptureServiceCallbacks callbacks, boolean bindInstantServiceAllowed,
+            ContentCapturePerUserService perUserService, boolean bindInstantServiceAllowed,
             boolean verbose, int idleUnbindTimeoutMs) {
-        super(context, serviceInterface, serviceComponentName, userId, callbacks,
-                bindInstantServiceAllowed, verbose, /* initialCapacity= */ 2);
+        super(context, serviceInterface, serviceComponentName, userId, perUserService,
+                context.getMainThreadHandler(), bindInstantServiceAllowed, verbose,
+                /* initialCapacity= */ 2);
+        mPerUserService = perUserService;
         mServerCallback = callback.asBinder();
         mIdleUnbindTimeoutMs = idleUnbindTimeoutMs;
 
@@ -63,19 +67,25 @@
         return mIdleUnbindTimeoutMs;
     }
 
-    @Override // from RemoteService
-    protected void handleOnConnectedStateChanged(boolean state) {
-        if (state && getTimeoutIdleBindMillis() != PERMANENT_BOUND_TIMEOUT_MS) {
+    @Override // from AbstractRemoteService
+    protected void handleOnConnectedStateChanged(boolean connected) {
+        if (connected && getTimeoutIdleBindMillis() != PERMANENT_BOUND_TIMEOUT_MS) {
             scheduleUnbind();
         }
         try {
-            if (state) {
-                mService.onConnected(mServerCallback, sVerbose, sDebug);
+            if (connected) {
+                try {
+                    mService.onConnected(mServerCallback, sVerbose, sDebug);
+                } finally {
+                    // Update the system-service state, in case the service reconnected after
+                    // dying
+                    mPerUserService.onConnected();
+                }
             } else {
                 mService.onDisconnected();
             }
         } catch (Exception e) {
-            Slog.w(mTag, "Exception calling onConnectedStateChanged(" + state + "): " + e);
+            Slog.w(mTag, "Exception calling onConnectedStateChanged(" + connected + "): " + e);
         }
     }
 
@@ -84,8 +94,10 @@
      * {@link RemoteContentCaptureService} to indicate the session was created.
      */
     public void onSessionStarted(@Nullable ContentCaptureContext context,
-            @NonNull String sessionId, int uid, @NonNull IResultReceiver clientReceiver) {
-        scheduleAsyncRequest((s) -> s.onSessionStarted(context, sessionId, uid, clientReceiver));
+            @NonNull String sessionId, int uid, @NonNull IResultReceiver clientReceiver,
+            int initialState) {
+        scheduleAsyncRequest(
+                (s) -> s.onSessionStarted(context, sessionId, uid, clientReceiver, initialState));
     }
 
     /**
@@ -111,6 +123,13 @@
         scheduleAsyncRequest((s) -> s.onUserDataRemovalRequest(request));
     }
 
+    /**
+     * Called by {@link ContentCaptureServerSession} to notify a high-level activity event.
+     */
+    public void onActivityLifecycleEvent(@NonNull ActivityEvent event) {
+        scheduleAsyncRequest((s) -> s.onActivityEvent(event));
+    }
+
     public interface ContentCaptureServiceCallbacks
             extends VultureCallback<RemoteContentCaptureService> {
         // NOTE: so far we don't need to notify the callback implementation
diff --git a/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsManagerService.java b/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsManagerService.java
index 58dbea4..55a0621 100644
--- a/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsManagerService.java
+++ b/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsManagerService.java
@@ -32,8 +32,10 @@
 import android.os.ResultReceiver;
 import android.os.ShellCallback;
 import android.os.UserHandle;
+import android.os.UserManager;
 import android.util.Slog;
 
+import com.android.internal.os.IResultReceiver;
 import com.android.server.LocalServices;
 import com.android.server.infra.AbstractMasterSystemService;
 import com.android.server.infra.FrameworkResourcesServiceNameResolver;
@@ -63,7 +65,8 @@
 
     public ContentSuggestionsManagerService(Context context) {
         super(context, new FrameworkResourcesServiceNameResolver(context,
-                com.android.internal.R.string.config_defaultContentSuggestionsService), null);
+                com.android.internal.R.string.config_defaultContentSuggestionsService),
+                UserManager.DISALLOW_CONTENT_SUGGESTIONS);
         mActivityTaskManagerInternal = LocalServices.getService(ActivityTaskManagerInternal.class);
     }
 
@@ -112,13 +115,14 @@
 
     private class ContentSuggestionsManagerStub extends IContentSuggestionsManager.Stub {
         @Override
-        public void provideContextImage(int taskId, @NonNull Bundle imageContextRequestExtras) {
+        public void provideContextImage(
+                int userId,
+                int taskId,
+                @NonNull Bundle imageContextRequestExtras) {
             if (imageContextRequestExtras == null) {
                 throw new IllegalArgumentException("Expected non-null imageContextRequestExtras");
             }
-
-            final int userId = UserHandle.getCallingUserId();
-            enforceCallerIsRecents(userId, "provideContextImage");
+            enforceCallerIsRecents(UserHandle.getCallingUserId(), "provideContextImage");
 
             synchronized (mLock) {
                 final ContentSuggestionsPerUserService service = getServiceForUserLocked(userId);
@@ -134,10 +138,10 @@
 
         @Override
         public void suggestContentSelections(
+                int userId,
                 @NonNull SelectionsRequest selectionsRequest,
                 @NonNull ISelectionsCallback selectionsCallback) {
-            final int userId = UserHandle.getCallingUserId();
-            enforceCallerIsRecents(userId, "suggestContentSelections");
+            enforceCallerIsRecents(UserHandle.getCallingUserId(), "suggestContentSelections");
 
             synchronized (mLock) {
                 final ContentSuggestionsPerUserService service = getServiceForUserLocked(userId);
@@ -153,10 +157,10 @@
 
         @Override
         public void classifyContentSelections(
+                int userId,
                 @NonNull ClassificationsRequest classificationsRequest,
                 @NonNull IClassificationsCallback callback) {
-            final int userId = UserHandle.getCallingUserId();
-            enforceCallerIsRecents(userId, "classifyContentSelections");
+            enforceCallerIsRecents(UserHandle.getCallingUserId(), "classifyContentSelections");
 
             synchronized (mLock) {
                 final ContentSuggestionsPerUserService service = getServiceForUserLocked(userId);
@@ -171,9 +175,9 @@
         }
 
         @Override
-        public void notifyInteraction(@NonNull String requestId, @NonNull Bundle bundle) {
-            final int userId = UserHandle.getCallingUserId();
-            enforceCallerIsRecents(userId, "notifyInteraction");
+        public void notifyInteraction(
+                int userId, @NonNull String requestId, @NonNull Bundle bundle) {
+            enforceCallerIsRecents(UserHandle.getCallingUserId(), "notifyInteraction");
 
             synchronized (mLock) {
                 final ContentSuggestionsPerUserService service = getServiceForUserLocked(userId);
@@ -187,6 +191,18 @@
             }
         }
 
+        @Override
+        public void isEnabled(int userId, @NonNull IResultReceiver receiver)
+                throws RemoteException {
+            enforceCallerIsRecents(UserHandle.getCallingUserId(), "isEnabled");
+
+            boolean isDisabled;
+            synchronized (mLock) {
+                isDisabled = isDisabledLocked(userId);
+            }
+            receiver.send(isDisabled ? 0 : 1, null);
+        }
+
         public void onShellCommand(@Nullable FileDescriptor in, @Nullable FileDescriptor out,
                 @Nullable FileDescriptor err,
                 @NonNull String[] args, @Nullable ShellCallback callback,
diff --git a/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsManagerServiceShellCommand.java b/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsManagerServiceShellCommand.java
index e34f1ea..08cc69d 100644
--- a/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsManagerServiceShellCommand.java
+++ b/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsManagerServiceShellCommand.java
@@ -43,29 +43,13 @@
         }
         final PrintWriter pw = getOutPrintWriter();
         switch (cmd) {
-            case "set": {
-                final String what = getNextArgRequired();
-                switch (what) {
-                    case "temporary-service": {
-                        final int userId = Integer.parseInt(getNextArgRequired());
-                        String serviceName = getNextArg();
-                        if (serviceName == null) {
-                            mService.resetTemporaryService(userId);
-                            return 0;
-                        }
-                        final int duration = Integer.parseInt(getNextArgRequired());
-                        mService.setTemporaryService(userId, serviceName, duration);
-                        pw.println("ContentSuggestionsService temporarily set to " + serviceName
-                                + " for " + duration + "ms");
-                        break;
-                    }
-                }
-            }
-            break;
+            case "set":
+                return requestSet(pw);
+            case "get":
+                return requestGet(pw);
             default:
                 return handleDefaultCommands(cmd);
         }
-        return 0;
     }
 
     @Override
@@ -76,9 +60,72 @@
             pw.println("    Prints this help text.");
             pw.println("");
             pw.println("  set temporary-service USER_ID [COMPONENT_NAME DURATION]");
-            pw.println("    Temporarily (for DURATION ms) changes the service implemtation.");
+            pw.println("    Temporarily (for DURATION ms) changes the service implementation.");
             pw.println("    To reset, call with just the USER_ID argument.");
             pw.println("");
+            pw.println("  set default-service-enabled USER_ID [true|false]");
+            pw.println("    Enable / disable the default service for the user.");
+            pw.println("");
+            pw.println("  get default-service-enabled USER_ID");
+            pw.println("    Checks whether the default service is enabled for the user.");
+            pw.println("");
         }
     }
+
+    private int requestSet(PrintWriter pw) {
+        final String what = getNextArgRequired();
+
+        switch(what) {
+            case "temporary-service":
+                return setTemporaryService(pw);
+            case "default-service-enabled":
+                return setDefaultServiceEnabled();
+            default:
+                pw.println("Invalid set: " + what);
+                return -1;
+        }
+    }
+
+    private int requestGet(PrintWriter pw) {
+        final String what = getNextArgRequired();
+        switch(what) {
+            case "default-service-enabled":
+                return getDefaultServiceEnabled(pw);
+            default:
+                pw.println("Invalid get: " + what);
+                return -1;
+        }
+    }
+
+    private int setTemporaryService(PrintWriter pw) {
+        final int userId = Integer.parseInt(getNextArgRequired());
+        String serviceName = getNextArg();
+        if (serviceName == null) {
+            mService.resetTemporaryService(userId);
+            return 0;
+        }
+        final int duration = Integer.parseInt(getNextArgRequired());
+        mService.setTemporaryService(userId, serviceName, duration);
+        pw.println("ContentSuggestionsService temporarily set to " + serviceName
+                + " for " + duration + "ms");
+        return 0;
+    }
+
+    private int setDefaultServiceEnabled() {
+        final int userId = getNextIntArgRequired();
+        final boolean enabled = Boolean.parseBoolean(getNextArg());
+        mService.setDefaultServiceEnabled(userId, enabled);
+        return 0;
+    }
+
+    private int getDefaultServiceEnabled(PrintWriter pw) {
+        final int userId = getNextIntArgRequired();
+        final boolean enabled = mService.isDefaultServiceEnabled(userId);
+        pw.println(enabled);
+        return 0;
+    }
+
+    private int getNextIntArgRequired() {
+        return Integer.parseInt(getNextArgRequired());
+    }
 }
diff --git a/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsPerUserService.java b/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsPerUserService.java
index a18686d..9b70272 100644
--- a/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsPerUserService.java
+++ b/services/contentsuggestions/java/com/android/server/contentsuggestions/ContentSuggestionsPerUserService.java
@@ -16,6 +16,7 @@
 
 package com.android.server.contentsuggestions;
 
+import android.Manifest;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.ActivityManager;
@@ -73,6 +74,13 @@
             throw new PackageManager.NameNotFoundException(
                     "Could not get service for " + serviceComponent);
         }
+        if (!Manifest.permission.BIND_CONTENT_SUGGESTIONS_SERVICE.equals(si.permission)) {
+            Slog.w(TAG, "ContentSuggestionsService from '" + si.packageName
+                    + "' does not require permission "
+                    + Manifest.permission.BIND_CONTENT_SUGGESTIONS_SERVICE);
+            throw new SecurityException("Service does not require permission "
+                    + Manifest.permission.BIND_CONTENT_SUGGESTIONS_SERVICE);
+        }
         return si;
     }
 
diff --git a/services/contentsuggestions/java/com/android/server/contentsuggestions/RemoteContentSuggestionsService.java b/services/contentsuggestions/java/com/android/server/contentsuggestions/RemoteContentSuggestionsService.java
index bf48d76..442972a 100644
--- a/services/contentsuggestions/java/com/android/server/contentsuggestions/RemoteContentSuggestionsService.java
+++ b/services/contentsuggestions/java/com/android/server/contentsuggestions/RemoteContentSuggestionsService.java
@@ -47,7 +47,8 @@
             int userId, Callbacks callbacks,
             boolean bindInstantServiceAllowed, boolean verbose) {
         super(context, ContentSuggestionsService.SERVICE_INTERFACE, serviceName, userId, callbacks,
-                bindInstantServiceAllowed, verbose, /* initialCapacity= */ 1);
+                context.getMainThreadHandler(), bindInstantServiceAllowed, verbose,
+                /* initialCapacity= */ 1);
     }
 
     @Override
diff --git a/services/core/java/com/android/server/BluetoothService.java b/services/core/java/com/android/server/BluetoothService.java
index 1bf4e3a..6018f00 100644
--- a/services/core/java/com/android/server/BluetoothService.java
+++ b/services/core/java/com/android/server/BluetoothService.java
@@ -18,15 +18,26 @@
 
 import android.bluetooth.BluetoothAdapter;
 import android.content.Context;
+import android.os.SystemProperties;
 
 class BluetoothService extends SystemService {
+    private static final String HEADLESS_SYSTEM_USER = "android.car.systemuser.headless";
+
     private BluetoothManagerService mBluetoothManagerService;
+    private boolean mInitialized = false;
 
     public BluetoothService(Context context) {
         super(context);
         mBluetoothManagerService = new BluetoothManagerService(context);
     }
 
+    private void initialize() {
+        if (!mInitialized) {
+            mBluetoothManagerService.handleOnBootPhase();
+            mInitialized = true;
+        }
+    }
+
     @Override
     public void onStart() {
     }
@@ -36,13 +47,15 @@
         if (phase == SystemService.PHASE_SYSTEM_SERVICES_READY) {
             publishBinderService(BluetoothAdapter.BLUETOOTH_MANAGER_SERVICE,
                     mBluetoothManagerService);
-        } else if (phase == SystemService.PHASE_ACTIVITY_MANAGER_READY) {
-            mBluetoothManagerService.handleOnBootPhase();
+        } else if (phase == SystemService.PHASE_ACTIVITY_MANAGER_READY &&
+                !SystemProperties.getBoolean(HEADLESS_SYSTEM_USER, false)) {
+            initialize();
         }
     }
 
     @Override
     public void onSwitchUser(int userHandle) {
+        initialize();
         mBluetoothManagerService.handleOnSwitchUser(userHandle);
     }
 
diff --git a/services/core/java/com/android/server/ConnectivityService.java b/services/core/java/com/android/server/ConnectivityService.java
index da89116..b2ee686 100644
--- a/services/core/java/com/android/server/ConnectivityService.java
+++ b/services/core/java/com/android/server/ConnectivityService.java
@@ -25,6 +25,7 @@
 import static android.net.ConnectivityManager.TYPE_VPN;
 import static android.net.ConnectivityManager.getNetworkTypeName;
 import static android.net.ConnectivityManager.isNetworkTypeValid;
+import static android.net.INetworkMonitor.NETWORK_TEST_RESULT_PARTIAL_CONNECTIVITY;
 import static android.net.INetworkMonitor.NETWORK_TEST_RESULT_VALID;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_FOREGROUND;
@@ -34,12 +35,12 @@
 import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VPN;
+import static android.net.NetworkCapabilities.NET_CAPABILITY_PARTIAL_CONNECTIVITY;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;
 import static android.net.NetworkCapabilities.TRANSPORT_VPN;
 import static android.net.NetworkPolicyManager.RULE_NONE;
 import static android.net.NetworkPolicyManager.uidRulesToString;
 import static android.net.shared.NetworkMonitorUtils.isValidationRequired;
-import static android.net.shared.NetworkParcelableUtil.toStableParcelable;
 import static android.os.Process.INVALID_UID;
 import static android.system.OsConstants.IPPROTO_TCP;
 import static android.system.OsConstants.IPPROTO_UDP;
@@ -71,6 +72,8 @@
 import android.net.INetworkPolicyListener;
 import android.net.INetworkPolicyManager;
 import android.net.INetworkStatsService;
+import android.net.ISocketKeepaliveCallback;
+import android.net.ITetheringEventCallback;
 import android.net.InetAddresses;
 import android.net.IpPrefix;
 import android.net.LinkProperties;
@@ -296,6 +299,15 @@
     private INetworkPolicyManager mPolicyManager;
     private NetworkPolicyManagerInternal mPolicyManagerInternal;
 
+    /**
+     * TestNetworkService (lazily) created upon first usage. Locked to prevent creation of multiple
+     * instances.
+     */
+    @GuardedBy("mTNSLock")
+    private TestNetworkService mTNS;
+
+    private final Object mTNSLock = new Object();
+
     private String mCurrentTcpBufferSizes;
 
     private static final SparseArray<String> sMagicDecoderRing = MessageUtils.findMessageNames(
@@ -489,6 +501,15 @@
     public static final int EVENT_TIMEOUT_NOTIFICATION = 44;
 
     /**
+     * Used to specify whether a network should be used even if connectivity is partial.
+     * arg1 = whether to accept the network if its connectivity is partial (1 for true or 0 for
+     * false)
+     * arg2 = whether to remember this choice in the future (1 for true or 0 for false)
+     * obj  = network
+     */
+    private static final int EVENT_SET_ACCEPT_PARTIAL_CONNECTIVITY = 45;
+
+    /**
      * Argument for {@link #EVENT_PROVISIONING_NOTIFICATION} to indicate that the notification
      * should be shown.
      */
@@ -2488,9 +2509,7 @@
             switch (msg.what) {
                 case NetworkAgent.EVENT_NETWORK_CAPABILITIES_CHANGED: {
                     final NetworkCapabilities networkCapabilities = (NetworkCapabilities) msg.obj;
-                    if (networkCapabilities.hasCapability(NET_CAPABILITY_CAPTIVE_PORTAL) ||
-                            networkCapabilities.hasCapability(NET_CAPABILITY_VALIDATED) ||
-                            networkCapabilities.hasCapability(NET_CAPABILITY_FOREGROUND)) {
+                    if (networkCapabilities.hasConnectivityManagedCapability()) {
                         Slog.wtf(TAG, "BUG: " + nai + " has CS-managed capability.");
                     }
                     updateCapabilities(nai.getCurrentScore(), nai, networkCapabilities);
@@ -2515,6 +2534,14 @@
                     }
                     nai.networkMisc.explicitlySelected = true;
                     nai.networkMisc.acceptUnvalidated = msg.arg1 == 1;
+                    // Mark the network as temporarily accepting partial connectivity so that it
+                    // will be validated (and possibly become default) even if it only provides
+                    // partial internet access. Note that if user connects to partial connectivity
+                    // and choose "don't ask again", then wifi disconnected by some reasons(maybe
+                    // out of wifi coverage) and if the same wifi is available again, the device
+                    // will auto connect to this wifi even though the wifi has "no internet".
+                    // TODO: Evaluate using a separate setting in IpMemoryStore.
+                    nai.networkMisc.acceptPartialConnectivity = msg.arg1 == 1;
                     break;
                 }
                 case NetworkAgent.EVENT_SOCKET_KEEPALIVE: {
@@ -2532,6 +2559,23 @@
                     final NetworkAgentInfo nai = getNetworkAgentInfoForNetId(msg.arg2);
                     if (nai == null) break;
 
+                    final boolean partialConnectivity =
+                            (msg.arg1 == NETWORK_TEST_RESULT_PARTIAL_CONNECTIVITY)
+                                    // If user accepts partial connectivity network, NetworkMonitor
+                                    // will skip https probing. It will make partial connectivity
+                                    // network becomes valid. But user still need to know this
+                                    // network is limited. So, it's needed to refer to
+                                    // acceptPartialConnectivity to add
+                                    // NET_CAPABILITY_PARTIAL_CONNECTIVITY into NetworkCapabilities
+                                    // of this network. So that user can see "Limited connection"
+                                    // in the settings.
+                                    || (nai.networkMisc.acceptPartialConnectivity
+                                            && nai.partialConnectivity);
+                    // Once a network is determined to have partial connectivity, it cannot
+                    // go back to full connectivity without a disconnect.
+                    final boolean partialConnectivityChange =
+                            (partialConnectivity && !nai.partialConnectivity);
+
                     final boolean valid = (msg.arg1 == NETWORK_TEST_RESULT_VALID);
                     final boolean wasValidated = nai.lastValidated;
                     final boolean wasDefault = isDefaultNetwork(nai);
@@ -2540,6 +2584,17 @@
                         nai.captivePortalLoginNotified = true;
                         showNetworkNotification(nai, NotificationType.LOGGED_IN);
                     }
+                    // If this network has just connected and partial connectivity has just been
+                    // detected, tell NetworkMonitor if the user accepted partial connectivity on a
+                    // previous connect.
+                    if ((msg.arg1 == NETWORK_TEST_RESULT_PARTIAL_CONNECTIVITY)
+                            && nai.networkMisc.acceptPartialConnectivity) {
+                        try {
+                            nai.networkMonitor().notifyAcceptPartialConnectivity();
+                        } catch (RemoteException e) {
+                            e.rethrowFromSystemServer();
+                        }
+                    }
 
                     final String redirectUrl = (msg.obj instanceof String) ? (String) msg.obj : "";
 
@@ -2569,6 +2624,9 @@
                             mNotifier.clearNotification(nai.network.netId,
                                     NotificationType.LOST_INTERNET);
                         }
+                    } else if (partialConnectivityChange) {
+                        nai.partialConnectivity = partialConnectivity;
+                        updateCapabilities(nai.getCurrentScore(), nai, nai.networkCapabilities);
                     }
                     updateInetCondition(nai);
                     // Let the NetworkAgent know the state of its network
@@ -2607,7 +2665,7 @@
                     }
                     if (!visible) {
                         // Only clear SIGN_IN and NETWORK_SWITCH notifications here, or else other
-                        // notifications belong to the same network may be cleared unexpected.
+                        // notifications belong to the same network may be cleared unexpectedly.
                         mNotifier.clearNotification(netId, NotificationType.SIGN_IN);
                         mNotifier.clearNotification(netId, NotificationType.NETWORK_SWITCH);
                     } else {
@@ -3224,14 +3282,21 @@
 
     @Override
     public void setAcceptUnvalidated(Network network, boolean accept, boolean always) {
-        enforceConnectivityInternalPermission();
+        enforceNetworkStackSettingsOrSetup();
         mHandler.sendMessage(mHandler.obtainMessage(EVENT_SET_ACCEPT_UNVALIDATED,
                 encodeBool(accept), encodeBool(always), network));
     }
 
     @Override
+    public void setAcceptPartialConnectivity(Network network, boolean accept, boolean always) {
+        enforceNetworkStackSettingsOrSetup();
+        mHandler.sendMessage(mHandler.obtainMessage(EVENT_SET_ACCEPT_PARTIAL_CONNECTIVITY,
+                encodeBool(accept), encodeBool(always), network));
+    }
+
+    @Override
     public void setAvoidUnvalidated(Network network) {
-        enforceConnectivityInternalPermission();
+        enforceNetworkStackSettingsOrSetup();
         mHandler.sendMessage(mHandler.obtainMessage(EVENT_SET_AVOID_UNVALIDATED, network));
     }
 
@@ -3257,6 +3322,10 @@
         if (accept != nai.networkMisc.acceptUnvalidated) {
             int oldScore = nai.getCurrentScore();
             nai.networkMisc.acceptUnvalidated = accept;
+            // If network becomes partial connectivity and user already accepted to use this
+            // network, we should respect the user's option and don't need to popup the
+            // PARTIAL_CONNECTIVITY notification to user again.
+            nai.networkMisc.acceptPartialConnectivity = accept;
             rematchAllNetworksAndRequests(nai, oldScore);
             sendUpdatedScoreToFactories(nai);
         }
@@ -3275,6 +3344,48 @@
 
     }
 
+    private void handleSetAcceptPartialConnectivity(Network network, boolean accept,
+            boolean always) {
+        if (DBG) {
+            log("handleSetAcceptPartialConnectivity network=" + network + " accept=" + accept
+                    + " always=" + always);
+        }
+
+        final NetworkAgentInfo nai = getNetworkAgentInfoForNetwork(network);
+        if (nai == null) {
+            // Nothing to do.
+            return;
+        }
+
+        if (nai.lastValidated) {
+            // The network validated while the dialog box was up. Take no action.
+            return;
+        }
+
+        if (accept != nai.networkMisc.acceptPartialConnectivity) {
+            nai.networkMisc.acceptPartialConnectivity = accept;
+        }
+
+        // TODO: Use the current design or save the user choice into IpMemoryStore.
+        if (always) {
+            nai.asyncChannel.sendMessage(
+                    NetworkAgent.CMD_SAVE_ACCEPT_UNVALIDATED, encodeBool(accept));
+        }
+
+        if (!accept) {
+            // Tell the NetworkAgent to not automatically reconnect to the network.
+            nai.asyncChannel.sendMessage(NetworkAgent.CMD_PREVENT_AUTOMATIC_RECONNECT);
+            // Tear down the network.
+            teardownUnneededNetwork(nai);
+        } else {
+            try {
+                nai.networkMonitor().notifyAcceptPartialConnectivity();
+            } catch (RemoteException e) {
+                e.rethrowFromSystemServer();
+            }
+        }
+    }
+
     private void handleSetAvoidUnvalidated(Network network) {
         NetworkAgentInfo nai = getNetworkAgentInfoForNetwork(network);
         if (nai == null || nai.lastValidated) {
@@ -3445,6 +3556,9 @@
             case LOST_INTERNET:
                 action = ConnectivityManager.ACTION_PROMPT_LOST_VALIDATION;
                 break;
+            case PARTIAL_CONNECTIVITY:
+                action = ConnectivityManager.ACTION_PROMPT_PARTIAL_CONNECTIVITY;
+                break;
             default:
                 Slog.wtf(TAG, "Unknown notification type " + type);
                 return;
@@ -3467,22 +3581,36 @@
         if (VDBG || DDBG) log("handlePromptUnvalidated " + network);
         NetworkAgentInfo nai = getNetworkAgentInfoForNetwork(network);
 
-        // Only prompt if the network is unvalidated and was explicitly selected by the user, and if
-        // we haven't already been told to switch to it regardless of whether it validated or not.
-        // Also don't prompt on captive portals because we're already prompting the user to sign in.
-        if (nai == null || nai.everValidated || nai.everCaptivePortalDetected ||
-                !nai.networkMisc.explicitlySelected || nai.networkMisc.acceptUnvalidated) {
+        // Only prompt if the network is unvalidated or network has partial internet connectivity
+        // and was explicitly selected by the user, and if we haven't already been told to switch
+        // to it regardless of whether it validated or not. Also don't prompt on captive portals
+        // because we're already prompting the user to sign in.
+        if (nai == null || nai.everValidated || nai.everCaptivePortalDetected
+                || !nai.networkMisc.explicitlySelected || nai.networkMisc.acceptUnvalidated
+                || nai.networkMisc.acceptPartialConnectivity) {
             return;
         }
-        showNetworkNotification(nai, NotificationType.NO_INTERNET);
+        // TODO: Evaluate if it's needed to wait 8 seconds for triggering notification when
+        // NetworkMonitor detects the network is partial connectivity. Need to change the design to
+        // popup the notification immediately when the network is partial connectivity.
+        if (nai.partialConnectivity) {
+            // Treat PARTIAL_CONNECTIVITY as NO_INTERNET temporary until Settings has been updated.
+            // TODO: Need to change back to PARTIAL_CONNECTIVITY when Settings part is merged.
+            showNetworkNotification(nai, NotificationType.NO_INTERNET);
+        } else {
+            showNetworkNotification(nai, NotificationType.NO_INTERNET);
+        }
     }
 
     private void handleNetworkUnvalidated(NetworkAgentInfo nai) {
         NetworkCapabilities nc = nai.networkCapabilities;
         if (DBG) log("handleNetworkUnvalidated " + nai.name() + " cap=" + nc);
 
-        if (nc.hasTransport(NetworkCapabilities.TRANSPORT_WIFI) &&
-            mMultinetworkPolicyTracker.shouldNotifyWifiUnvalidated()) {
+        if (!nc.hasTransport(NetworkCapabilities.TRANSPORT_WIFI)) {
+            return;
+        }
+
+        if (mMultinetworkPolicyTracker.shouldNotifyWifiUnvalidated()) {
             showNetworkNotification(nai, NotificationType.LOST_INTERNET);
         }
     }
@@ -3574,6 +3702,12 @@
                     handleSetAcceptUnvalidated(network, toBool(msg.arg1), toBool(msg.arg2));
                     break;
                 }
+                case EVENT_SET_ACCEPT_PARTIAL_CONNECTIVITY: {
+                    Network network = (Network) msg.obj;
+                    handleSetAcceptPartialConnectivity(network, toBool(msg.arg1),
+                            toBool(msg.arg2));
+                    break;
+                }
                 case EVENT_SET_AVOID_UNVALIDATED: {
                     handleSetAvoidUnvalidated((Network) msg.obj);
                     break;
@@ -3792,10 +3926,26 @@
      * if it's really needed.
      */
     @Override
-    public void getLatestTetheringEntitlementValue(int type, ResultReceiver receiver,
+    public void getLatestTetheringEntitlementResult(int type, ResultReceiver receiver,
             boolean showEntitlementUi, String callerPkg) {
         ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
-        mTethering.getLatestTetheringEntitlementValue(type, receiver, showEntitlementUi);
+        mTethering.getLatestTetheringEntitlementResult(type, receiver, showEntitlementUi);
+    }
+
+    /** Register tethering event callback. */
+    @Override
+    public void registerTetheringEventCallback(ITetheringEventCallback callback,
+            String callerPkg) {
+        ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
+        mTethering.registerTetheringEventCallback(callback);
+    }
+
+    /** Unregister tethering event callback. */
+    @Override
+    public void unregisterTetheringEventCallback(ITetheringEventCallback callback,
+            String callerPkg) {
+        ConnectivityManager.enforceTetherChangePermission(mContext, callerPkg);
+        mTethering.unregisterTetheringEventCallback(callback);
     }
 
     // Called when we lose the default network and have no replacement yet.
@@ -5239,7 +5389,7 @@
         final long token = Binder.clearCallingIdentity();
         try {
             getNetworkStack().makeNetworkMonitor(
-                    toStableParcelable(nai.network), name, new NetworkMonitorCallbacks(nai));
+                    nai.network, name, new NetworkMonitorCallbacks(nai));
         } finally {
             Binder.restoreCallingIdentity(token);
         }
@@ -5514,6 +5664,11 @@
         } else {
             newNc.addCapability(NET_CAPABILITY_NOT_SUSPENDED);
         }
+        if (nai.partialConnectivity) {
+            newNc.addCapability(NET_CAPABILITY_PARTIAL_CONNECTIVITY);
+        } else {
+            newNc.removeCapability(NET_CAPABILITY_PARTIAL_CONNECTIVITY);
+        }
 
         return newNc;
     }
@@ -6544,32 +6699,32 @@
     }
 
     @Override
-    public void startNattKeepalive(Network network, int intervalSeconds, Messenger messenger,
-            IBinder binder, String srcAddr, int srcPort, String dstAddr) {
+    public void startNattKeepalive(Network network, int intervalSeconds,
+            ISocketKeepaliveCallback cb, String srcAddr, int srcPort, String dstAddr) {
         enforceKeepalivePermission();
         mKeepaliveTracker.startNattKeepalive(
                 getNetworkAgentInfoForNetwork(network),
-                intervalSeconds, messenger, binder,
+                intervalSeconds, cb,
                 srcAddr, srcPort, dstAddr, NattSocketKeepalive.NATT_PORT);
     }
 
     @Override
     public void startNattKeepaliveWithFd(Network network, FileDescriptor fd, int resourceId,
-            int intervalSeconds, Messenger messenger, IBinder binder, String srcAddr,
+            int intervalSeconds, ISocketKeepaliveCallback cb, String srcAddr,
             String dstAddr) {
         enforceKeepalivePermission();
         mKeepaliveTracker.startNattKeepalive(
                 getNetworkAgentInfoForNetwork(network), fd, resourceId,
-                intervalSeconds, messenger, binder,
+                intervalSeconds, cb,
                 srcAddr, dstAddr, NattSocketKeepalive.NATT_PORT);
     }
 
     @Override
     public void startTcpKeepalive(Network network, FileDescriptor fd, int intervalSeconds,
-            Messenger messenger, IBinder binder) {
+            ISocketKeepaliveCallback cb) {
         enforceKeepalivePermission();
         mKeepaliveTracker.startTcpKeepalive(
-                getNetworkAgentInfoForNetwork(network), fd, intervalSeconds, messenger, binder);
+                getNetworkAgentInfoForNetwork(network), fd, intervalSeconds, cb);
     }
 
     @Override
@@ -6812,4 +6967,22 @@
             return vpn != null && vpn.getLockdown();
         }
     }
+
+    /**
+     * Returns a IBinder to a TestNetworkService. Will be lazily created as needed.
+     *
+     * <p>The TestNetworkService must be run in the system server due to TUN creation.
+     */
+    @Override
+    public IBinder startOrGetTestNetworkService() {
+        synchronized (mTNSLock) {
+            TestNetworkService.enforceTestNetworkPermissions(mContext);
+
+            if (mTNS == null) {
+                mTNS = new TestNetworkService(mContext, mNMS);
+            }
+
+            return mTNS;
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/DeviceIdleController.java b/services/core/java/com/android/server/DeviceIdleController.java
index 6b66394..3ab3c34 100644
--- a/services/core/java/com/android/server/DeviceIdleController.java
+++ b/services/core/java/com/android/server/DeviceIdleController.java
@@ -1132,7 +1132,7 @@
                         KEY_SMS_TEMP_APP_WHITELIST_DURATION, 20 * 1000L);
                 NOTIFICATION_WHITELIST_DURATION = mParser.getDurationMillis(
                         KEY_NOTIFICATION_WHITELIST_DURATION, 30 * 1000L);
-                WAIT_FOR_UNLOCK = mParser.getBoolean(KEY_WAIT_FOR_UNLOCK, false);
+                WAIT_FOR_UNLOCK = mParser.getBoolean(KEY_WAIT_FOR_UNLOCK, true);
                 PRE_IDLE_FACTOR_LONG = mParser.getFloat(KEY_PRE_IDLE_FACTOR_LONG, 1.67f);
                 PRE_IDLE_FACTOR_SHORT = mParser.getFloat(KEY_PRE_IDLE_FACTOR_SHORT, 0.33f);
             }
diff --git a/services/core/java/com/android/server/DynamicAndroidService.java b/services/core/java/com/android/server/DynamicAndroidService.java
index 12a3f02..8488941 100644
--- a/services/core/java/com/android/server/DynamicAndroidService.java
+++ b/services/core/java/com/android/server/DynamicAndroidService.java
@@ -118,7 +118,9 @@
         if (gsiService.isGsiRunning()) {
             return gsiService.disableGsiInstall();
         } else {
-            return gsiService.setGsiBootable() == 0;
+            final int status = gsiService.getGsiBootStatus();
+            final boolean singleBoot = (status == IGsiService.BOOT_STATUS_SINGLE_BOOT);
+            return gsiService.setGsiBootable(singleBoot) == 0;
         }
     }
 
@@ -129,6 +131,6 @@
 
     @Override
     public boolean commit() throws RemoteException {
-        return getGsiService().setGsiBootable() == 0;
+        return getGsiService().setGsiBootable(true) == 0;
     }
 }
diff --git a/services/core/java/com/android/server/LocationManagerService.java b/services/core/java/com/android/server/LocationManagerService.java
index 18e9906..6ef5b54 100644
--- a/services/core/java/com/android/server/LocationManagerService.java
+++ b/services/core/java/com/android/server/LocationManagerService.java
@@ -102,6 +102,7 @@
 import com.android.server.location.GeofenceProxy;
 import com.android.server.location.GnssBatchingProvider;
 import com.android.server.location.GnssLocationProvider;
+import com.android.server.location.GnssMeasurementCorrectionsProvider;
 import com.android.server.location.GnssMeasurementsProvider;
 import com.android.server.location.GnssNavigationMessageProvider;
 import com.android.server.location.GnssStatusListenerHelper;
@@ -195,6 +196,7 @@
     private PassiveProvider mPassiveProvider;  // track passive provider for special cases
     private LocationBlacklist mBlacklist;
     private GnssMeasurementsProvider mGnssMeasurementsProvider;
+    private GnssMeasurementCorrectionsProvider mGnssMeasurementCorrectionsProvider;
     private GnssNavigationMessageProvider mGnssNavigationMessageProvider;
     @GuardedBy("mLock")
     private String mLocationControllerExtraPackage;
@@ -309,9 +311,13 @@
                 AppOpsManager.WATCH_FOREGROUND_CHANGES,
                 new AppOpsManager.OnOpChangedInternalListener() {
                     public void onOpChanged(int op, String packageName) {
-                        synchronized (mLock) {
-                            onAppOpChangedLocked();
-                        }
+                        // onOpChanged invoked on ui thread, move to our thread to reduce risk of
+                        // blocking ui thread
+                        mHandler.post(() -> {
+                            synchronized (mLock) {
+                                onAppOpChangedLocked();
+                            }
+                        });
                     }
                 });
         mPackageManager.addOnPermissionsChangeListener(
@@ -501,6 +507,8 @@
         }
 
         if (broadcast) {
+            // needs to be sent to everyone because we don't know which user may have changed
+            // LOCATION_MODE state.
             mContext.sendBroadcastAsUser(
                     new Intent(LocationManager.MODE_CHANGED_ACTION),
                     UserHandle.ALL);
@@ -755,6 +763,8 @@
             mGnssStatusProvider = gnssProvider.getGnssStatusProvider();
             mNetInitiatedListener = gnssProvider.getNetInitiatedListener();
             mGnssMeasurementsProvider = gnssProvider.getGnssMeasurementsProvider();
+            mGnssMeasurementCorrectionsProvider =
+                    gnssProvider.getGnssMeasurementCorrectionsProvider();
             mGnssNavigationMessageProvider = gnssProvider.getGnssNavigationMessageProvider();
             mGpsGeofenceProxy = gnssProvider.getGpsGeofenceProxy();
         }
@@ -1176,7 +1186,7 @@
 
         @GuardedBy("mLock")
         public boolean isUseableForUserLocked(int userId) {
-            return userId == mCurrentUserId && mUseable;
+            return isCurrentProfileLocked(userId) && mUseable;
         }
 
         @GuardedBy("mLock")
@@ -1212,6 +1222,13 @@
                             "-" + mName,
                             mCurrentUserId);
                 }
+
+                // needs to be sent to all users because whether or not a provider is enabled for
+                // a given user is complicated... we broadcast to everyone and let them figure it
+                // out via isProviderEnabled()
+                Intent intent = new Intent(LocationManager.PROVIDERS_CHANGED_ACTION);
+                intent.putExtra(LocationManager.EXTRA_PROVIDER_NAME, mName);
+                mContext.sendBroadcastAsUser(intent, UserHandle.ALL);
             }
 
             if (useable == mUseable) {
@@ -1232,10 +1249,6 @@
             }
 
             updateProviderUseableLocked(this);
-
-            mContext.sendBroadcastAsUser(
-                    new Intent(LocationManager.PROVIDERS_CHANGED_ACTION),
-                    UserHandle.ALL);
         }
 
         @GuardedBy("mLock")
@@ -2916,22 +2929,28 @@
         mContext.enforceCallingPermission(
                 android.Manifest.permission.LOCATION_HARDWARE,
                 "Location Hardware permission not granted to inject GNSS measurement corrections.");
-        if (!hasGnssPermissions(packageName) || mGnssMeasurementsProvider == null) {
+        if (!hasGnssPermissions(packageName)) {
             Slog.e(TAG, "Can not inject GNSS corrections due to no permission.");
-        } else {
-            mGnssMeasurementsProvider.injectGnssMeasurementCorrections(measurementCorrections);
+            return;
         }
+        if (mGnssMeasurementCorrectionsProvider == null) {
+            Slog.e(TAG, "Can not inject GNSS corrections. GNSS measurement corrections provider "
+                    + "not available.");
+            return;
+        }
+        mGnssMeasurementCorrectionsProvider.injectGnssMeasurementCorrections(
+                measurementCorrections);
     }
 
     @Override
     public int getGnssCapabilities(String packageName) {
         mContext.enforceCallingPermission(
                 android.Manifest.permission.LOCATION_HARDWARE,
-                "Location Hardware permission not granted to obrain GNSS chipset capabilities.");
-        if (!hasGnssPermissions(packageName) || mGnssMeasurementsProvider == null) {
+                "Location Hardware permission not granted to obtain GNSS chipset capabilities.");
+        if (!hasGnssPermissions(packageName) || mGnssMeasurementCorrectionsProvider == null) {
             return -1;
         }
-        return mGnssMeasurementsProvider.getGnssCapabilities();
+        return mGnssMeasurementCorrectionsProvider.getCapabilities();
     }
 
     @Override
@@ -3210,18 +3229,6 @@
                 continue;
             }
 
-            if (!reportLocationAccessNoThrow(
-                    receiver.mCallerIdentity.mPid,
-                    receiver.mCallerIdentity.mUid,
-                    receiver.mCallerIdentity.mPackageName,
-                    receiver.mAllowedResolutionLevel)) {
-                if (D) {
-                    Log.d(TAG, "skipping loc update for no op app: " +
-                            receiver.mCallerIdentity.mPackageName);
-                }
-                continue;
-            }
-
             Location notifyLocation;
             if (receiver.mAllowedResolutionLevel < RESOLUTION_LEVEL_FINE) {
                 notifyLocation = coarseLocation;  // use coarse location
@@ -3238,6 +3245,20 @@
                     } else {
                         lastLoc.set(notifyLocation);
                     }
+                    // Report location access before delivering location to the client. This will
+                    // note location delivery to appOps, so it should be called only when a
+                    // location is really being delivered to the client.
+                    if (!reportLocationAccessNoThrow(
+                            receiver.mCallerIdentity.mPid,
+                            receiver.mCallerIdentity.mUid,
+                            receiver.mCallerIdentity.mPackageName,
+                            receiver.mAllowedResolutionLevel)) {
+                        if (D) {
+                            Log.d(TAG, "skipping loc update for no op app: "
+                                    + receiver.mCallerIdentity.mPackageName);
+                        }
+                        continue;
+                    }
                     if (!receiver.callLocationChangedLocked(notifyLocation)) {
                         Slog.w(TAG, "RemoteException calling onLocationChanged on "
                                 + receiver);
diff --git a/services/core/java/com/android/server/NetworkManagementService.java b/services/core/java/com/android/server/NetworkManagementService.java
index dc394d0..d3298b9 100644
--- a/services/core/java/com/android/server/NetworkManagementService.java
+++ b/services/core/java/com/android/server/NetworkManagementService.java
@@ -62,6 +62,7 @@
 import android.net.RouteInfo;
 import android.net.TetherStatsParcel;
 import android.net.UidRange;
+import android.net.UidRangeParcel;
 import android.net.util.NetdService;
 import android.os.BatteryStats;
 import android.os.Binder;
@@ -80,6 +81,7 @@
 import android.os.SystemProperties;
 import android.os.Trace;
 import android.telephony.DataConnectionRealTimeInfo;
+import android.text.TextUtils;
 import android.util.Log;
 import android.util.Slog;
 import android.util.SparseBooleanArray;
@@ -1028,6 +1030,46 @@
         }
     }
 
+    /**
+     * Convert InterfaceConfiguration to InterfaceConfigurationParcel with given ifname.
+     */
+    private static InterfaceConfigurationParcel toStableParcel(InterfaceConfiguration cfg,
+            String iface) {
+        InterfaceConfigurationParcel cfgParcel = new InterfaceConfigurationParcel();
+        cfgParcel.ifName = iface;
+        String hwAddr = cfg.getHardwareAddress();
+        if (!TextUtils.isEmpty(hwAddr)) {
+            cfgParcel.hwAddr = hwAddr;
+        } else {
+            cfgParcel.hwAddr = "";
+        }
+        cfgParcel.ipv4Addr = cfg.getLinkAddress().getAddress().getHostAddress();
+        cfgParcel.prefixLength = cfg.getLinkAddress().getPrefixLength();
+        ArrayList<String> flags = new ArrayList<>();
+        for (String flag : cfg.getFlags()) {
+            flags.add(flag);
+        }
+        cfgParcel.flags = flags.toArray(new String[0]);
+
+        return cfgParcel;
+    }
+
+    /**
+     * Construct InterfaceConfiguration from InterfaceConfigurationParcel.
+     */
+    public static InterfaceConfiguration fromStableParcel(InterfaceConfigurationParcel p) {
+        InterfaceConfiguration cfg = new InterfaceConfiguration();
+        cfg.setHardwareAddress(p.hwAddr);
+
+        final InetAddress addr = NetworkUtils.numericToInetAddress(p.ipv4Addr);
+        cfg.setLinkAddress(new LinkAddress(addr, p.prefixLength));
+        for (String flag : p.flags) {
+            cfg.setFlag(flag);
+        }
+
+        return cfg;
+    }
+
     @Override
     public InterfaceConfiguration getInterfaceConfig(String iface) {
         mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
@@ -1039,7 +1081,7 @@
         }
 
         try {
-            final InterfaceConfiguration cfg = InterfaceConfiguration.fromParcel(result);
+            final InterfaceConfiguration cfg = fromStableParcel(result);
             return cfg;
         } catch (IllegalArgumentException iae) {
             throw new IllegalStateException("Invalid InterfaceConfigurationParcel", iae);
@@ -1054,7 +1096,7 @@
             throw new IllegalStateException("Null LinkAddress given");
         }
 
-        final InterfaceConfigurationParcel cfgParcel = cfg.toParcel(iface);
+        final InterfaceConfigurationParcel cfgParcel = toStableParcel(cfg, iface);
 
         try {
             mNetdService.interfaceSetCfg(cfgParcel);
@@ -1718,12 +1760,27 @@
         }
     }
 
+    private static UidRangeParcel makeUidRangeParcel(int start, int stop) {
+        UidRangeParcel range = new UidRangeParcel();
+        range.start = start;
+        range.stop = stop;
+        return range;
+    }
+
+    private static UidRangeParcel[] toStableParcels(UidRange[] ranges) {
+        UidRangeParcel[] stableRanges = new UidRangeParcel[ranges.length];
+        for (int i = 0; i < ranges.length; i++) {
+            stableRanges[i] = makeUidRangeParcel(ranges[i].start, ranges[i].stop);
+        }
+        return stableRanges;
+    }
+
     @Override
     public void setAllowOnlyVpnForUids(boolean add, UidRange[] uidRanges)
             throws ServiceSpecificException {
         mContext.enforceCallingOrSelfPermission(NETWORK_STACK, TAG);
         try {
-            mNetdService.networkRejectNonSecureVpn(add, uidRanges);
+            mNetdService.networkRejectNonSecureVpn(add, toStableParcels(uidRanges));
         } catch (ServiceSpecificException e) {
             Log.w(TAG, "setAllowOnlyVpnForUids(" + add + ", " + Arrays.toString(uidRanges) + ")"
                     + ": netd command failed", e);
@@ -1892,7 +1949,7 @@
         mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
 
         try {
-            mNetdService.networkAddUidRanges(netId, ranges);
+            mNetdService.networkAddUidRanges(netId, toStableParcels(ranges));
         } catch (RemoteException | ServiceSpecificException e) {
             throw new IllegalStateException(e);
         }
@@ -1902,7 +1959,7 @@
     public void removeVpnUidRanges(int netId, UidRange[] ranges) {
         mContext.enforceCallingOrSelfPermission(CONNECTIVITY_INTERNAL, TAG);
         try {
-            mNetdService.networkRemoveUidRanges(netId, ranges);
+            mNetdService.networkRemoveUidRanges(netId, toStableParcels(ranges));
         } catch (RemoteException | ServiceSpecificException e) {
             throw new IllegalStateException(e);
         }
@@ -1940,7 +1997,7 @@
 
     private void closeSocketsForFirewallChainLocked(int chain, String chainName) {
         // UID ranges to close sockets on.
-        UidRange[] ranges;
+        UidRangeParcel[] ranges;
         // UID ranges whose sockets we won't touch.
         int[] exemptUids;
 
@@ -1948,10 +2005,10 @@
         if (DBG) Slog.d(TAG, "Closing sockets after enabling chain " + chainName);
         if (getFirewallType(chain) == FIREWALL_WHITELIST) {
             // Close all sockets on all non-system UIDs...
-            ranges = new UidRange[] {
+            ranges = new UidRangeParcel[] {
                 // TODO: is there a better way of finding all existing users? If so, we could
                 // specify their ranges here.
-                new UidRange(Process.FIRST_APPLICATION_UID, Integer.MAX_VALUE),
+                makeUidRangeParcel(Process.FIRST_APPLICATION_UID, Integer.MAX_VALUE),
             };
             // ... except for the UIDs that have allow rules.
             synchronized (mRulesLock) {
@@ -1978,11 +2035,11 @@
             // Close sockets for every UID that has a deny rule...
             synchronized (mRulesLock) {
                 final SparseIntArray rules = getUidFirewallRulesLR(chain);
-                ranges = new UidRange[rules.size()];
+                ranges = new UidRangeParcel[rules.size()];
                 for (int i = 0; i < ranges.length; i++) {
                     if (rules.valueAt(i) == FIREWALL_RULE_DENY) {
                         int uid = rules.keyAt(i);
-                        ranges[numUids] = new UidRange(uid, uid);
+                        ranges[numUids] = makeUidRangeParcel(uid, uid);
                         numUids++;
                     }
                 }
@@ -2512,6 +2569,10 @@
                 modifyRoute(MODIFY_OPERATION_ADD, INetd.LOCAL_NET_ID, route);
             }
         }
+
+        // IPv6 link local should be activated always.
+        modifyRoute(MODIFY_OPERATION_ADD, INetd.LOCAL_NET_ID,
+                new RouteInfo(new IpPrefix("fe80::/64"), null, iface));
     }
 
     @Override
diff --git a/services/core/java/com/android/server/PackageWatchdog.java b/services/core/java/com/android/server/PackageWatchdog.java
index ec40971..660109c 100644
--- a/services/core/java/com/android/server/PackageWatchdog.java
+++ b/services/core/java/com/android/server/PackageWatchdog.java
@@ -21,6 +21,7 @@
 import android.annotation.IntDef;
 import android.annotation.Nullable;
 import android.content.Context;
+import android.content.pm.PackageManager;
 import android.content.pm.VersionedPackage;
 import android.os.Environment;
 import android.os.Handler;
@@ -76,6 +77,7 @@
     private static final String ATTR_VERSION = "version";
     private static final String ATTR_NAME = "name";
     private static final String ATTR_DURATION = "duration";
+    private static final String ATTR_PASSED_HEALTH_CHECK = "passed-health-check";
 
     private static PackageWatchdog sPackageWatchdog;
 
@@ -102,7 +104,7 @@
     // 0 if mPackageCleanup not running.
     private long mDurationAtLastReschedule;
 
-    // TODO(zezeozue): Remove redundant context param
+    // TODO(b/120598832): Remove redundant context param
     private PackageWatchdog(Context context) {
         mContext = context;
         mPolicyFile = new AtomicFile(new File(new File(Environment.getDataDirectory(), "system"),
@@ -161,21 +163,29 @@
      * Starts observing the health of the {@code packages} for {@code observer} and notifies
      * {@code observer} of any package failures within the monitoring duration.
      *
+     * <p>If monitoring a package with {@code withExplicitHealthCheck}, at the end of the monitoring
+     * duration if {@link #onExplicitHealthCheckPassed} was never called,
+     * {@link PackageHealthObserver#execute} will be called as if the package failed.
+     *
      * <p>If {@code observer} is already monitoring a package in {@code packageNames},
-     * the monitoring window of that package will be reset to {@code durationMs}.
+     * the monitoring window of that package will be reset to {@code durationMs} and the health
+     * check state will be reset to a default depending on {@code withExplictHealthCheck}.
      *
      * @throws IllegalArgumentException if {@code packageNames} is empty
      * or {@code durationMs} is less than 1
      */
     public void startObservingHealth(PackageHealthObserver observer, List<String> packageNames,
-            long durationMs) {
+            long durationMs, boolean withExplicitHealthCheck) {
         if (packageNames.isEmpty() || durationMs < 1) {
             throw new IllegalArgumentException("Observation not started, no packages specified"
                     + "or invalid duration");
         }
         List<MonitoredPackage> packages = new ArrayList<>();
         for (int i = 0; i < packageNames.size(); i++) {
-            packages.add(new MonitoredPackage(packageNames.get(i), durationMs));
+            // When observing packages withExplicitHealthCheck,
+            // MonitoredPackage#mHasExplicitHealthCheckPassed will be false initially.
+            packages.add(new MonitoredPackage(packageNames.get(i), durationMs,
+                            !withExplicitHealthCheck));
         }
         synchronized (mLock) {
             ObserverInternal oldObserver = mAllObservers.get(observer.getName());
@@ -276,7 +286,38 @@
         });
     }
 
-    // TODO(zezeozue): Optimize write? Maybe only write a separate smaller file?
+    /**
+     * Updates the observers monitoring {@code packageName} that explicit health check has passed.
+     *
+     * <p> This update is strictly for registered observers at the time of the call
+     * Observers that register after this signal will have no knowledge of prior signals and will
+     * effectively behave as if the explicit health check hasn't passed for {@code packageName}.
+     *
+     * <p> {@code packageName} can still be considered failed if reported by
+     * {@link #onPackageFailure} before the package expires.
+     *
+     * <p> Triggered by components outside the system server when they are fully functional after an
+     * update.
+     */
+    public void onExplicitHealthCheckPassed(String packageName) {
+        Slog.i(TAG, "Health check passed for package: " + packageName);
+        boolean shouldUpdateFile = false;
+        synchronized (mLock) {
+            for (int observerIdx = 0; observerIdx < mAllObservers.size(); observerIdx++) {
+                ObserverInternal observer = mAllObservers.valueAt(observerIdx);
+                MonitoredPackage monitoredPackage = observer.mPackages.get(packageName);
+                if (monitoredPackage != null && !monitoredPackage.mHasPassedHealthCheck) {
+                    monitoredPackage.mHasPassedHealthCheck = true;
+                    shouldUpdateFile = true;
+                }
+            }
+        }
+        if (shouldUpdateFile) {
+            saveToFileAsync();
+        }
+    }
+
+    // TODO(b/120598832): Optimize write? Maybe only write a separate smaller file?
     // This currently adds about 7ms extra to shutdown thread
     /** Writes the package information to file during shutdown. */
     public void writeNow() {
@@ -322,7 +363,7 @@
          */
         boolean execute(VersionedPackage versionedPackage);
 
-        // TODO(zezeozue): Ensure uniqueness?
+        // TODO(b/120598832): Ensure uniqueness?
         /**
          * Identifier for the observer, should not change across device updates otherwise the
          * watchdog may drop observing packages with the old name.
@@ -393,7 +434,12 @@
             Iterator<ObserverInternal> it = mAllObservers.values().iterator();
             while (it.hasNext()) {
                 ObserverInternal observer = it.next();
-                if (!observer.updateMonitoringDurations(elapsedMs)) {
+                List<MonitoredPackage> failedPackages =
+                        observer.updateMonitoringDurations(elapsedMs);
+                if (!failedPackages.isEmpty()) {
+                    onExplicitHealthCheckFailed(observer, failedPackages);
+                }
+                if (observer.mPackages.isEmpty()) {
                     Slog.i(TAG, "Discarding observer " + observer.mName + ". All packages expired");
                     it.remove();
                 }
@@ -402,6 +448,32 @@
         saveToFileAsync();
     }
 
+    private void onExplicitHealthCheckFailed(ObserverInternal observer,
+            List<MonitoredPackage> failedPackages) {
+        mWorkerHandler.post(() -> {
+            synchronized (mLock) {
+                PackageHealthObserver registeredObserver = observer.mRegisteredObserver;
+                if (registeredObserver != null) {
+                    PackageManager pm = mContext.getPackageManager();
+                    for (int i = 0; i < failedPackages.size(); i++) {
+                        String packageName = failedPackages.get(i).mName;
+                        long versionCode = 0;
+                        try {
+                            versionCode = pm.getPackageInfo(
+                                    packageName, 0 /* flags */).getLongVersionCode();
+                        } catch (PackageManager.NameNotFoundException e) {
+                            Slog.w(TAG, "Explicit health check failed but could not find package "
+                                    + packageName);
+                            // TODO(b/120598832): Skip. We only continue to pass tests for now since
+                            // the tests don't install any packages
+                        }
+                        registeredObserver.execute(new VersionedPackage(packageName, versionCode));
+                    }
+                }
+            }
+        });
+    }
+
     /**
      * Loads mAllObservers from file.
      *
@@ -480,6 +552,7 @@
      */
     static class ObserverInternal {
         public final String mName;
+        //TODO(b/120598832): Add getter for mPackages
         public final ArrayMap<String, MonitoredPackage> mPackages;
         @Nullable
         public PackageHealthObserver mRegisteredObserver;
@@ -505,6 +578,8 @@
                     out.startTag(null, TAG_PACKAGE);
                     out.attribute(null, ATTR_NAME, p.mName);
                     out.attribute(null, ATTR_DURATION, String.valueOf(p.mDurationMs));
+                    out.attribute(null, ATTR_PASSED_HEALTH_CHECK,
+                            String.valueOf(p.mHasPassedHealthCheck));
                     out.endTag(null, TAG_PACKAGE);
                 }
                 out.endTag(null, TAG_OBSERVER);
@@ -529,10 +604,12 @@
          *  {@code elapsedMs}. If any duration is less than 0, the package is removed from
          * observation.
          *
-         * @returns {@code true} if there are still packages to be observed, {@code false} otherwise
+         * @returns a {@link List} of packages that were removed from the observer without explicit
+         * health check passing, or an empty list if no package expired for which an explicit health
+         * check was still pending
          */
-        public boolean updateMonitoringDurations(long elapsedMs) {
-            List<MonitoredPackage> packages = new ArrayList<>();
+        public List<MonitoredPackage> updateMonitoringDurations(long elapsedMs) {
+            List<MonitoredPackage> removedPackages = new ArrayList<>();
             synchronized (mName) {
                 Iterator<MonitoredPackage> it = mPackages.values().iterator();
                 while (it.hasNext()) {
@@ -541,10 +618,13 @@
                     if (newDuration > 0) {
                         p.mDurationMs = newDuration;
                     } else {
+                        if (!p.mHasPassedHealthCheck) {
+                            removedPackages.add(p);
+                        }
                         it.remove();
                     }
                 }
-                return !mPackages.isEmpty();
+                return removedPackages;
             }
         }
 
@@ -574,6 +654,7 @@
             if (TAG_OBSERVER.equals(parser.getName())) {
                 observerName = parser.getAttributeValue(null, ATTR_NAME);
                 if (TextUtils.isEmpty(observerName)) {
+                    Slog.wtf(TAG, "Unable to read observer name");
                     return null;
                 }
             }
@@ -582,17 +663,24 @@
             try {
                 while (XmlUtils.nextElementWithin(parser, innerDepth)) {
                     if (TAG_PACKAGE.equals(parser.getName())) {
-                        String packageName = parser.getAttributeValue(null, ATTR_NAME);
-                        long duration = Long.parseLong(
-                                parser.getAttributeValue(null, ATTR_DURATION));
-                        if (!TextUtils.isEmpty(packageName)) {
-                            packages.add(new MonitoredPackage(packageName, duration));
+                        try {
+                            String packageName = parser.getAttributeValue(null, ATTR_NAME);
+                            long duration = Long.parseLong(
+                                    parser.getAttributeValue(null, ATTR_DURATION));
+                            boolean hasPassedHealthCheck = Boolean.parseBoolean(
+                                    parser.getAttributeValue(null, ATTR_PASSED_HEALTH_CHECK));
+                            if (!TextUtils.isEmpty(packageName)) {
+                                packages.add(new MonitoredPackage(packageName, duration,
+                                        hasPassedHealthCheck));
+                            }
+                        } catch (NumberFormatException e) {
+                            Slog.wtf(TAG, "Skipping package for observer " + observerName, e);
+                            continue;
                         }
                     }
                 }
-            } catch (IOException e) {
-                return null;
-            } catch (XmlPullParserException e) {
+            } catch (XmlPullParserException | IOException e) {
+                Slog.wtf(TAG, "Unable to read observer " + observerName, e);
                 return null;
             }
             if (packages.isEmpty()) {
@@ -605,6 +693,8 @@
     /** Represents a package along with the time it should be monitored for. */
     static class MonitoredPackage {
         public final String mName;
+        // Whether an explicit health check has passed
+        public boolean mHasPassedHealthCheck;
         // System uptime duration to monitor package
         public long mDurationMs;
         // System uptime of first package failure
@@ -612,9 +702,10 @@
         // Number of failures since mUptimeStartMs
         private int mFailures;
 
-        MonitoredPackage(String name, long durationMs) {
+        MonitoredPackage(String name, long durationMs, boolean hasPassedHealthCheck) {
             mName = name;
             mDurationMs = durationMs;
+            mHasPassedHealthCheck = hasPassedHealthCheck;
         }
 
         /**
@@ -626,7 +717,7 @@
             final long now = SystemClock.uptimeMillis();
             final long duration = now - mUptimeStartMs;
             if (duration > TRIGGER_DURATION_MS) {
-                // TODO(zezeozue): Reseting to 1 is not correct
+                // TODO(b/120598832): Reseting to 1 is not correct
                 // because there may be more than 1 failure in the last trigger window from now
                 // This is the RescueParty impl, will leave for now
                 mFailures = 1;
diff --git a/services/core/java/com/android/server/RescueParty.java b/services/core/java/com/android/server/RescueParty.java
index 18c2722..1fe0271 100644
--- a/services/core/java/com/android/server/RescueParty.java
+++ b/services/core/java/com/android/server/RescueParty.java
@@ -38,9 +38,11 @@
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.ArrayUtils;
+import com.android.server.am.SettingsToPropertiesMapper;
 import com.android.server.utils.FlagNamespaceUtils;
 
 import java.io.File;
+import java.util.Arrays;
 
 /**
  * Utilities to help rescue the system from crash loops. Callers are expected to
@@ -129,10 +131,10 @@
     }
 
     /**
-     * Take note of a persistent app crash. If we notice too many of these
+     * Take note of a persistent app or apex module crash. If we notice too many of these
      * events happening in rapid succession, we'll send out a rescue party.
      */
-    public static void notePersistentAppCrash(Context context, int uid) {
+    public static void noteAppCrash(Context context, int uid) {
         if (isDisabled()) return;
         Threshold t = sApps.get(uid);
         if (t == null) {
@@ -158,6 +160,7 @@
      * opportunity to reset any settings depending on our rescue level.
      */
     public static void onSettingsProviderPublished(Context context) {
+        handleNativeRescuePartyResets();
         executeRescueLevel(context);
     }
 
@@ -176,6 +179,13 @@
         return SystemClock.elapsedRealtime();
     }
 
+    private static void handleNativeRescuePartyResets() {
+        if (SettingsToPropertiesMapper.isNativeFlagsResetPerformed()) {
+            FlagNamespaceUtils.resetDeviceConfig(Settings.RESET_MODE_TRUSTED_DEFAULTS,
+                    Arrays.asList(SettingsToPropertiesMapper.getResetNativeCategories()));
+        }
+    }
+
     /**
      * Escalate to the next rescue level. After incrementing the level you'll
      * probably want to call {@link #executeRescueLevel(Context)}.
@@ -235,15 +245,15 @@
         Exception res = null;
         final ContentResolver resolver = context.getContentResolver();
         try {
-            Settings.Global.resetToDefaultsAsUser(resolver, null, mode, UserHandle.USER_SYSTEM);
-        } catch (Exception e) {
-            res = new RuntimeException("Failed to reset global settings", e);
-        }
-        try {
             FlagNamespaceUtils.resetDeviceConfig(mode);
         } catch (Exception e) {
             res = new RuntimeException("Failed to reset config settings", e);
         }
+        try {
+            Settings.Global.resetToDefaultsAsUser(resolver, null, mode, UserHandle.USER_SYSTEM);
+        } catch (Exception e) {
+            res = new RuntimeException("Failed to reset global settings", e);
+        }
         for (int userId : getAllUserIds()) {
             try {
                 Settings.Secure.resetToDefaultsAsUser(resolver, null, mode, userId);
diff --git a/services/core/java/com/android/server/StorageManagerService.java b/services/core/java/com/android/server/StorageManagerService.java
index e28d484..19b0bf7 100644
--- a/services/core/java/com/android/server/StorageManagerService.java
+++ b/services/core/java/com/android/server/StorageManagerService.java
@@ -2717,6 +2717,38 @@
     }
 
     /**
+     * Check whether the device supports filesystem checkpointing.
+     *
+     * @return true if the device supports filesystem checkpointing, false otherwise.
+     */
+    @Override
+    public boolean supportsCheckpoint() throws RemoteException {
+        // Only the system process is permitted to start checkpoints
+        if (Binder.getCallingUid() != android.os.Process.SYSTEM_UID) {
+            throw new SecurityException("no permission to check filesystem checkpoint support");
+        }
+
+        return mVold.supportsCheckpoint();
+    }
+
+    /**
+     * Signal that checkpointing partitions should start a checkpoint on the next boot.
+     *
+     * @param numTries Number of times to try booting in checkpoint mode, before we will boot
+     *                 non-checkpoint mode and commit all changes immediately. Callers are
+     *                 responsible for ensuring that boot is safe (eg, by rolling back updates).
+     */
+    @Override
+    public void startCheckpoint(int numTries) throws RemoteException {
+        // Only the system process is permitted to start checkpoints
+        if (Binder.getCallingUid() != android.os.Process.SYSTEM_UID) {
+            throw new SecurityException("no permission to start filesystem checkpoint");
+        }
+
+        mVold.startCheckpoint(numTries);
+    }
+
+    /**
      * Signal that checkpointing partitions should commit changes
      */
     @Override
@@ -3709,6 +3741,7 @@
                         case "com.facebook.katana": // b/123996076
                         case "jp.naver.line.android": // b/124767356
                         case "com.mxtech.videoplayer.ad": // b/124531483
+                        case "com.whatsapp": // b/124766614
                             return Zygote.MOUNT_EXTERNAL_LEGACY;
                     }
                 }
diff --git a/services/core/java/com/android/server/TelephonyRegistry.java b/services/core/java/com/android/server/TelephonyRegistry.java
index 0955cc5..d6fdbe3 100644
--- a/services/core/java/com/android/server/TelephonyRegistry.java
+++ b/services/core/java/com/android/server/TelephonyRegistry.java
@@ -259,7 +259,7 @@
                 PhoneStateListener.LISTEN_CALL_FORWARDING_INDICATOR
                         | PhoneStateListener.LISTEN_MESSAGE_WAITING_INDICATOR
                         | PhoneStateListener.LISTEN_EMERGENCY_NUMBER_LIST
-                        | PhoneStateListener.LISTEN_ACTIVE_DATA_SUBID_CHANGE;
+                        | PhoneStateListener.LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE;
 
     static final int PRECISE_PHONE_STATE_PERMISSION_MASK =
                 PhoneStateListener.LISTEN_PRECISE_CALL_STATE |
@@ -819,7 +819,8 @@
                             remove(r.binder);
                         }
                     }
-                    if ((events & PhoneStateListener.LISTEN_ACTIVE_DATA_SUBID_CHANGE) != 0) {
+                    if ((events & PhoneStateListener
+                            .LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE) != 0) {
                         try {
                             r.callback.onActiveDataSubIdChanged(mActiveDataSubId);
                         } catch (RemoteException ex) {
@@ -1550,6 +1551,13 @@
                 log("notifyPreciseCallState: mCallQuality is null, skipping call attributes");
                 notifyCallAttributes = false;
             } else {
+                // If the precise call state is no longer active, reset the call network type and
+                // call quality.
+                if (mPreciseCallState.getForegroundCallState()
+                        != PreciseCallState.PRECISE_CALL_STATE_ACTIVE) {
+                    mCallNetworkType = TelephonyManager.NETWORK_TYPE_UNKNOWN;
+                    mCallQuality = new CallQuality();
+                }
                 mCallAttributes = new CallAttributes(mPreciseCallState, mCallNetworkType,
                         mCallQuality);
             }
@@ -1748,7 +1756,7 @@
 
             for (Record r : mRecords) {
                 if (r.matchPhoneStateListenerEvent(
-                        PhoneStateListener.LISTEN_ACTIVE_DATA_SUBID_CHANGE)) {
+                        PhoneStateListener.LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE)) {
                     try {
                         r.callback.onActiveDataSubIdChanged(activeDataSubId);
                     } catch (RemoteException ex) {
@@ -1795,7 +1803,7 @@
         synchronized (mRecords) {
             TelephonyManager tm = (TelephonyManager) mContext.getSystemService(
                     Context.TELEPHONY_SERVICE);
-            mEmergencyNumberList = tm.getCurrentEmergencyNumberList();
+            mEmergencyNumberList = tm.getEmergencyNumberList();
 
             for (Record r : mRecords) {
                 if (r.matchPhoneStateListenerEvent(
diff --git a/services/core/java/com/android/server/TestNetworkService.java b/services/core/java/com/android/server/TestNetworkService.java
new file mode 100644
index 0000000..e64ab78
--- /dev/null
+++ b/services/core/java/com/android/server/TestNetworkService.java
@@ -0,0 +1,338 @@
+/*
+ * Copyright (C) 2018 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package com.android.server;
+
+import static com.android.internal.util.Preconditions.checkNotNull;
+
+import android.annotation.NonNull;
+import android.content.Context;
+import android.net.ConnectivityManager;
+import android.net.INetd;
+import android.net.ITestNetworkManager;
+import android.net.IpPrefix;
+import android.net.LinkAddress;
+import android.net.LinkProperties;
+import android.net.NetworkAgent;
+import android.net.NetworkCapabilities;
+import android.net.NetworkInfo;
+import android.net.NetworkInfo.DetailedState;
+import android.net.RouteInfo;
+import android.net.StringNetworkSpecifier;
+import android.net.TestNetworkInterface;
+import android.net.util.NetdService;
+import android.os.Binder;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.IBinder;
+import android.os.INetworkManagementService;
+import android.os.Looper;
+import android.os.ParcelFileDescriptor;
+import android.os.RemoteException;
+import android.util.SparseArray;
+
+import com.android.internal.annotations.GuardedBy;
+import com.android.internal.annotations.VisibleForTesting;
+
+import java.io.UncheckedIOException;
+import java.net.Inet4Address;
+import java.net.Inet6Address;
+import java.net.InterfaceAddress;
+import java.net.NetworkInterface;
+import java.net.SocketException;
+import java.util.concurrent.atomic.AtomicInteger;
+
+/** @hide */
+class TestNetworkService extends ITestNetworkManager.Stub {
+    @NonNull private static final String TAG = TestNetworkService.class.getSimpleName();
+    @NonNull private static final String TEST_NETWORK_TYPE = "TEST_NETWORK";
+    @NonNull private static final String TEST_TUN_PREFIX = "testtun";
+    @NonNull private static final AtomicInteger sTestTunIndex = new AtomicInteger();
+
+    @NonNull private final Context mContext;
+    @NonNull private final INetworkManagementService mNMS;
+    @NonNull private final INetd mNetd;
+
+    @NonNull private final HandlerThread mHandlerThread;
+    @NonNull private final Handler mHandler;
+
+    // Native method stubs
+    private static native int jniCreateTun(@NonNull String iface);
+
+    @VisibleForTesting
+    protected TestNetworkService(
+            @NonNull Context context, @NonNull INetworkManagementService netManager) {
+        mHandlerThread = new HandlerThread("TestNetworkServiceThread");
+        mHandlerThread.start();
+        mHandler = new Handler(mHandlerThread.getLooper());
+
+        mContext = checkNotNull(context, "missing Context");
+        mNMS = checkNotNull(netManager, "missing INetworkManagementService");
+        mNetd = checkNotNull(NetdService.getInstance(), "could not get netd instance");
+    }
+
+    /**
+     * Create a TUN interface with the given interface name and link addresses
+     *
+     * <p>This method will return the FileDescriptor to the TUN interface. Close it to tear down the
+     * TUN interface.
+     */
+    @Override
+    public TestNetworkInterface createTunInterface(@NonNull LinkAddress[] linkAddrs) {
+        enforceTestNetworkPermissions(mContext);
+
+        checkNotNull(linkAddrs, "missing linkAddrs");
+
+        String iface = TEST_TUN_PREFIX + sTestTunIndex.getAndIncrement();
+        return Binder.withCleanCallingIdentity(
+                () -> {
+                    try {
+                        ParcelFileDescriptor tunIntf =
+                                ParcelFileDescriptor.adoptFd(jniCreateTun(iface));
+                        for (LinkAddress addr : linkAddrs) {
+                            mNetd.interfaceAddAddress(
+                                    iface,
+                                    addr.getAddress().getHostAddress(),
+                                    addr.getPrefixLength());
+                        }
+
+                        return new TestNetworkInterface(tunIntf, iface);
+                    } catch (RemoteException e) {
+                        throw e.rethrowFromSystemServer();
+                    }
+                });
+    }
+
+    // Tracker for TestNetworkAgents
+    @GuardedBy("mTestNetworkTracker")
+    @NonNull
+    private final SparseArray<TestNetworkAgent> mTestNetworkTracker = new SparseArray<>();
+
+    public class TestNetworkAgent extends NetworkAgent implements IBinder.DeathRecipient {
+        private static final int NETWORK_SCORE = 1; // Use a low, non-zero score.
+
+        private final int mUid;
+        @NonNull private final NetworkInfo mNi;
+        @NonNull private final NetworkCapabilities mNc;
+        @NonNull private final LinkProperties mLp;
+
+        @GuardedBy("mBinderLock")
+        @NonNull
+        private IBinder mBinder;
+
+        @NonNull private final Object mBinderLock = new Object();
+
+        private TestNetworkAgent(
+                @NonNull Looper looper,
+                @NonNull Context context,
+                @NonNull NetworkInfo ni,
+                @NonNull NetworkCapabilities nc,
+                @NonNull LinkProperties lp,
+                int uid,
+                @NonNull IBinder binder)
+                throws RemoteException {
+            super(looper, context, TEST_NETWORK_TYPE, ni, nc, lp, NETWORK_SCORE);
+
+            mUid = uid;
+            mNi = ni;
+            mNc = nc;
+            mLp = lp;
+
+            synchronized (mBinderLock) {
+                mBinder = binder; // Binder null-checks in create()
+
+                try {
+                    mBinder.linkToDeath(this, 0);
+                } catch (RemoteException e) {
+                    binderDied();
+                    throw e; // Abort, signal failure up the stack.
+                }
+            }
+        }
+
+        /**
+         * If the Binder object dies, this function is called to free the resources of this
+         * TestNetworkAgent
+         */
+        @Override
+        public void binderDied() {
+            teardown();
+        }
+
+        @Override
+        protected void unwanted() {
+            teardown();
+        }
+
+        private void teardown() {
+            mNi.setDetailedState(DetailedState.DISCONNECTED, null, null);
+            mNi.setIsAvailable(false);
+            sendNetworkInfo(mNi);
+
+            // Synchronize on mBinderLock to ensure that unlinkToDeath is never called more than
+            // once (otherwise it could throw an exception)
+            synchronized (mBinderLock) {
+                // If mBinder is null, this Test Network has already been cleaned up.
+                if (mBinder == null) return;
+                mBinder.unlinkToDeath(this, 0);
+                mBinder = null;
+            }
+
+            // Has to be in TestNetworkAgent to ensure all teardown codepaths properly clean up
+            // resources, even for binder death or unwanted calls.
+            synchronized (mTestNetworkTracker) {
+                mTestNetworkTracker.remove(netId);
+            }
+        }
+    }
+
+    private TestNetworkAgent registerTestNetworkAgent(
+            @NonNull Looper looper,
+            @NonNull Context context,
+            @NonNull String iface,
+            int callingUid,
+            @NonNull IBinder binder)
+            throws RemoteException, SocketException {
+        checkNotNull(looper, "missing Looper");
+        checkNotNull(context, "missing Context");
+        // iface and binder validity checked by caller
+
+        // Build network info with special testing type
+        NetworkInfo ni = new NetworkInfo(ConnectivityManager.TYPE_TEST, 0, TEST_NETWORK_TYPE, "");
+        ni.setDetailedState(DetailedState.CONNECTED, null, null);
+        ni.setIsAvailable(true);
+
+        // Build narrow set of NetworkCapabilities, useful only for testing
+        NetworkCapabilities nc = new NetworkCapabilities();
+        nc.clearAll(); // Remove default capabilities.
+        nc.addTransportType(NetworkCapabilities.TRANSPORT_TEST);
+        nc.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED);
+        nc.addCapability(NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED);
+        nc.setNetworkSpecifier(new StringNetworkSpecifier(iface));
+
+        // Build LinkProperties
+        LinkProperties lp = new LinkProperties();
+        lp.setInterfaceName(iface);
+
+        // Find the currently assigned addresses, and add them to LinkProperties
+        boolean allowIPv4 = false, allowIPv6 = false;
+        NetworkInterface netIntf = NetworkInterface.getByName(iface);
+        checkNotNull(netIntf, "No such network interface found: " + netIntf);
+
+        for (InterfaceAddress intfAddr : netIntf.getInterfaceAddresses()) {
+            lp.addLinkAddress(
+                    new LinkAddress(intfAddr.getAddress(), intfAddr.getNetworkPrefixLength()));
+
+            if (intfAddr.getAddress() instanceof Inet6Address) {
+                allowIPv6 |= !intfAddr.getAddress().isLinkLocalAddress();
+            } else if (intfAddr.getAddress() instanceof Inet4Address) {
+                allowIPv4 = true;
+            }
+        }
+
+        // Add global routes (but as non-default, non-internet providing network)
+        if (allowIPv4) {
+            lp.addRoute(new RouteInfo(new IpPrefix(Inet4Address.ANY, 0), null, iface));
+        }
+        if (allowIPv6) {
+            lp.addRoute(new RouteInfo(new IpPrefix(Inet6Address.ANY, 0), null, iface));
+        }
+
+        return new TestNetworkAgent(looper, context, ni, nc, lp, callingUid, binder);
+    }
+
+    /**
+     * Sets up a Network with extremely limited privileges, guarded by the MANAGE_TEST_NETWORKS
+     * permission.
+     *
+     * <p>This method provides a Network that is useful only for testing.
+     */
+    @Override
+    public void setupTestNetwork(@NonNull String iface, @NonNull IBinder binder) {
+        enforceTestNetworkPermissions(mContext);
+
+        checkNotNull(iface, "missing Iface");
+        checkNotNull(binder, "missing IBinder");
+
+        if (!(iface.startsWith(INetd.IPSEC_INTERFACE_PREFIX)
+                || iface.startsWith(TEST_TUN_PREFIX))) {
+            throw new IllegalArgumentException(
+                    "Cannot create network for non ipsec, non-testtun interface");
+        }
+
+        // Setup needs to be done with NETWORK_STACK privileges.
+        int callingUid = Binder.getCallingUid();
+        Binder.withCleanCallingIdentity(
+                () -> {
+                    try {
+                        mNMS.setInterfaceUp(iface);
+
+                        // Synchronize all accesses to mTestNetworkTracker to prevent the case
+                        // where:
+                        // 1. TestNetworkAgent successfully binds to death of binder
+                        // 2. Before it is added to the mTestNetworkTracker, binder dies,
+                        // binderDied() is called (on a different thread)
+                        // 3. This thread is pre-empted, put() is called after remove()
+                        synchronized (mTestNetworkTracker) {
+                            TestNetworkAgent agent =
+                                    registerTestNetworkAgent(
+                                            mHandler.getLooper(),
+                                            mContext,
+                                            iface,
+                                            callingUid,
+                                            binder);
+
+                            mTestNetworkTracker.put(agent.netId, agent);
+                        }
+                    } catch (SocketException e) {
+                        throw new UncheckedIOException(e);
+                    } catch (RemoteException e) {
+                        throw e.rethrowFromSystemServer();
+                    }
+                });
+    }
+
+    /** Teardown a test network */
+    @Override
+    public void teardownTestNetwork(int netId) {
+        enforceTestNetworkPermissions(mContext);
+
+        TestNetworkAgent agent;
+        synchronized (mTestNetworkTracker) {
+            agent = mTestNetworkTracker.get(netId);
+        }
+
+        if (agent == null) {
+            return; // Already torn down
+        } else if (agent.mUid != Binder.getCallingUid()) {
+            throw new SecurityException("Attempted to modify other user's test networks");
+        }
+
+        // Safe to be called multiple times.
+        agent.teardown();
+    }
+
+    // STOPSHIP: Change this back to android.Manifest.permission.MANAGE_TEST_NETWORKS
+    private static final String PERMISSION_NAME = "dummy";
+
+    public static void enforceTestNetworkPermissions(@NonNull Context context) {
+        // STOPSHIP: Re-enable these checks. Disabled until adoptShellPermissionIdentity() can be
+        //           called from CTS test code.
+        if (false) {
+            context.enforceCallingOrSelfPermission(PERMISSION_NAME, "TestNetworkService");
+        }
+    }
+}
diff --git a/services/core/java/com/android/server/UiModeManagerService.java b/services/core/java/com/android/server/UiModeManagerService.java
index 710a0ba3..3a50aa8 100644
--- a/services/core/java/com/android/server/UiModeManagerService.java
+++ b/services/core/java/com/android/server/UiModeManagerService.java
@@ -30,13 +30,11 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.IntentFilter;
-import android.content.pm.ApplicationInfo;
 import android.content.pm.PackageManager;
 import android.content.res.Configuration;
 import android.content.res.Resources;
 import android.os.BatteryManager;
 import android.os.Binder;
-import android.os.Build;
 import android.os.Handler;
 import android.os.PowerManager;
 import android.os.PowerManager.ServiceType;
@@ -356,8 +354,8 @@
             try {
                 synchronized (mLock) {
                     if (mNightMode != mode) {
-                        // Only persist setting if not transient night mode or not in car mode
-                        if (!shouldTransientNightWhenInCarMode() || !mCarModeEnabled) {
+                        // Only persist setting if not in car mode
+                        if (!mCarModeEnabled) {
                             Settings.Secure.putIntForUser(getContext().getContentResolver(),
                                     Settings.Secure.UI_NIGHT_MODE, mode, user);
                         }
@@ -444,34 +442,12 @@
         }
     }
 
-    // Night mode settings in car mode are only persisted below Q.
-    // When targeting Q, changes are not saved and night mode will be re-read
-    // from settings when exiting car mode.
-    private boolean shouldTransientNightWhenInCarMode() {
-        int uid = Binder.getCallingUid();
-        PackageManager packageManager = getContext().getPackageManager();
-        String[] packagesForUid = packageManager.getPackagesForUid(uid);
-        if (packagesForUid == null || packagesForUid.length == 0) {
-            return false;
-        }
-
-        try {
-            ApplicationInfo appInfo = packageManager.getApplicationInfoAsUser(
-                    packagesForUid[0], 0, uid);
-
-            return appInfo.targetSdkVersion >= Build.VERSION_CODES.Q;
-        } catch (PackageManager.NameNotFoundException ignored) {
-        }
-
-        return false;
-    }
-
     void setCarModeLocked(boolean enabled, int flags) {
         if (mCarModeEnabled != enabled) {
             mCarModeEnabled = enabled;
 
-            // When transient night mode and exiting car mode, restore night mode from settings
-            if (shouldTransientNightWhenInCarMode() && !mCarModeEnabled) {
+            // When exiting car mode, restore night mode from settings
+            if (!mCarModeEnabled) {
                 Context context = getContext();
                 updateNightModeFromSettings(context,
                         context.getResources(),
@@ -534,9 +510,8 @@
             uiMode |= mNightMode << 4;
         }
 
-        // Override night mode in power save mode if not transient night mode or not in car mode
-        boolean shouldOverrideNight = !mCarModeEnabled || !shouldTransientNightWhenInCarMode();
-        if (mPowerSave && shouldOverrideNight) {
+        // Override night mode in power save mode if not in car mode
+        if (mPowerSave && !mCarModeEnabled) {
             uiMode &= ~Configuration.UI_MODE_NIGHT_NO;
             uiMode |= Configuration.UI_MODE_NIGHT_YES;
         }
diff --git a/services/core/java/com/android/server/VibratorService.java b/services/core/java/com/android/server/VibratorService.java
index 5cca159..5d0fa26 100644
--- a/services/core/java/com/android/server/VibratorService.java
+++ b/services/core/java/com/android/server/VibratorService.java
@@ -111,6 +111,8 @@
     // intensity level. It's important that we apply the scaling on the delta between the two so
     // that the default intensity level applies no scaling to application provided effects.
     private final SparseArray<ScaleLevel> mScaleLevels;
+    private final LinkedList<VibrationInfo> mPreviousRingVibrations;
+    private final LinkedList<VibrationInfo> mPreviousNotificationVibrations;
     private final LinkedList<VibrationInfo> mPreviousVibrations;
     private final int mPreviousVibrationsLimit;
     private final boolean mAllowPriorityVibrationsInLowPowerMode;
@@ -354,6 +356,8 @@
         mAllowPriorityVibrationsInLowPowerMode = mContext.getResources().getBoolean(
                 com.android.internal.R.bool.config_allowPriorityVibrationsInLowPowerMode);
 
+        mPreviousRingVibrations = new LinkedList<>();
+        mPreviousNotificationVibrations = new LinkedList<>();
         mPreviousVibrations = new LinkedList<>();
 
         IntentFilter filter = new IntentFilter();
@@ -620,10 +624,19 @@
     }
 
     private void addToPreviousVibrationsLocked(Vibration vib) {
-        if (mPreviousVibrations.size() > mPreviousVibrationsLimit) {
-            mPreviousVibrations.removeFirst();
+        final LinkedList<VibrationInfo> previousVibrations;
+        if (vib.isRingtone()) {
+            previousVibrations = mPreviousRingVibrations;
+        } else if (vib.isNotification()) {
+            previousVibrations = mPreviousNotificationVibrations;
+        } else {
+            previousVibrations = mPreviousVibrations;
         }
-        mPreviousVibrations.addLast(vib.toInfo());
+
+        if (previousVibrations.size() > mPreviousVibrationsLimit) {
+            previousVibrations.removeFirst();
+        }
+        previousVibrations.addLast(vib.toInfo());
     }
 
     @Override // Binder call
@@ -1355,6 +1368,18 @@
             pw.println("  mNotificationIntensity=" + mNotificationIntensity);
             pw.println("  mRingIntensity=" + mRingIntensity);
             pw.println("");
+            pw.println("  Previous ring vibrations:");
+            for (VibrationInfo info : mPreviousRingVibrations) {
+                pw.print("    ");
+                pw.println(info.toString());
+            }
+
+            pw.println("  Previous notification vibrations:");
+            for (VibrationInfo info : mPreviousNotificationVibrations) {
+                pw.print("    ");
+                pw.println(info.toString());
+            }
+
             pw.println("  Previous vibrations:");
             for (VibrationInfo info : mPreviousVibrations) {
                 pw.print("    ");
diff --git a/services/core/java/com/android/server/am/ActiveServices.java b/services/core/java/com/android/server/am/ActiveServices.java
index 85ec2dd..e357ce8 100644
--- a/services/core/java/com/android/server/am/ActiveServices.java
+++ b/services/core/java/com/android/server/am/ActiveServices.java
@@ -131,9 +131,6 @@
     // calling startForeground() before we ANR + stop it.
     static final int SERVICE_START_FOREGROUND_TIMEOUT = 10*1000;
 
-    // For how long after a whitelisted service's start its process can start a background activity
-    private static final int SERVICE_BG_ACTIVITY_START_TIMEOUT_MS = 10*1000;
-
     final ActivityManagerService mAm;
 
     // Maximum number of services that we allow to start in the background
@@ -333,8 +330,8 @@
                             + " delayedStop=" + r.delayedStop);
                 } else {
                     try {
-                        startServiceInnerLocked(this, r.pendingStarts.get(0).intent, r, false, true,
-                                false);
+                        startServiceInnerLocked(this, r.pendingStarts.get(0).intent, r, false,
+                                true);
                     } catch (TransactionTooLargeException e) {
                         // Ignore, nobody upstack cares.
                     }
@@ -637,26 +634,26 @@
         }
 
         if (allowBackgroundActivityStarts) {
-            ProcessRecord proc = mAm.getProcessRecordLocked(r.processName, r.appInfo.uid, false);
-            if (proc != null) {
-                proc.addAllowBackgroundActivityStartsToken(r);
-                // schedule removal of the whitelisting token after the timeout
-                removeAllowBackgroundActivityStartsServiceToken(proc, r,
-                        SERVICE_BG_ACTIVITY_START_TIMEOUT_MS);
-            }
+            r.hasStartedWhitelistingBgActivityStarts = true;
+            scheduleCleanUpHasStartedWhitelistingBgActivityStartsLocked(r);
         }
-        ComponentName cmp = startServiceInnerLocked(smap, service, r, callerFg, addToStarting,
-                allowBackgroundActivityStarts);
+
+        ComponentName cmp = startServiceInnerLocked(smap, service, r, callerFg, addToStarting);
         return cmp;
     }
 
-    private void removeAllowBackgroundActivityStartsServiceToken(ProcessRecord proc,
-            ServiceRecord r, int delayMillis) {
-        mAm.mHandler.postDelayed(() -> {
-            if (proc != null) {
-                proc.removeAllowBackgroundActivityStartsToken(r);
-            }
-        }, delayMillis);
+    private void scheduleCleanUpHasStartedWhitelistingBgActivityStartsLocked(ServiceRecord r) {
+        // if there's a request pending from the past, drop it before scheduling a new one
+        if (r.startedWhitelistingBgActivityStartsCleanUp == null) {
+            r.startedWhitelistingBgActivityStartsCleanUp = () -> {
+                synchronized(mAm) {
+                    r.setHasStartedWhitelistingBgActivityStarts(false);
+                }
+            };
+        }
+        mAm.mHandler.removeCallbacks(r.startedWhitelistingBgActivityStartsCleanUp);
+        mAm.mHandler.postDelayed(r.startedWhitelistingBgActivityStartsCleanUp,
+                mAm.mConstants.SERVICE_BG_ACTIVITY_START_TIMEOUT);
     }
 
     private boolean requestStartTargetPermissionsReviewIfNeededLocked(ServiceRecord r,
@@ -705,8 +702,7 @@
     }
 
     ComponentName startServiceInnerLocked(ServiceMap smap, Intent service, ServiceRecord r,
-            boolean callerFg, boolean addToStarting, boolean allowBackgroundActivityStarts)
-            throws TransactionTooLargeException {
+            boolean callerFg, boolean addToStarting) throws TransactionTooLargeException {
         ServiceState stracker = r.getTracker();
         if (stracker != null) {
             stracker.setStarted(true, mAm.mProcessStats.getMemFactorLocked(), r.lastActivity);
@@ -717,8 +713,7 @@
         synchronized (r.stats.getBatteryStats()) {
             r.stats.startRunningLocked();
         }
-        String error = bringUpServiceLocked(r, service.getFlags(), callerFg, false, false,
-                allowBackgroundActivityStarts);
+        String error = bringUpServiceLocked(r, service.getFlags(), callerFg, false, false);
         if (error != null) {
             return new ComponentName("!!", error);
         }
@@ -765,6 +760,12 @@
                     SystemClock.uptimeMillis());
         }
         service.callStart = false;
+
+        // the service will not necessarily be brought down, so only clear the whitelisting state
+        // for start-based bg activity starts now, and drop any existing future cleanup callback
+        service.setHasStartedWhitelistingBgActivityStarts(false);
+        mAm.mHandler.removeCallbacks(service.startedWhitelistingBgActivityStartsCleanUp);
+
         bringDownServiceIfNeededLocked(service, false, false);
     }
 
@@ -788,9 +789,6 @@
             if (r.record != null) {
                 final long origId = Binder.clearCallingIdentity();
                 try {
-                    // immediately remove bg activity whitelisting token if there was one
-                    removeAllowBackgroundActivityStartsServiceToken(callerApp, r.record,
-                            0 /* delayMillis */);
                     stopServiceLocked(r.record);
                 } finally {
                     Binder.restoreCallingIdentity(origId);
@@ -1602,6 +1600,11 @@
                     "BIND_TREAT_LIKE_ACTIVITY");
         }
 
+        if ((flags & Context.BIND_SCHEDULE_LIKE_TOP_APP) != 0 && !isCallerSystem) {
+            throw new SecurityException("Non-system caller (pid=" + Binder.getCallingPid()
+                    + ") set BIND_SCHEDULE_LIKE_TOP_APP when binding service " + service);
+        }
+
         if ((flags & Context.BIND_ALLOW_WHITELIST_MANAGEMENT) != 0 && !isCallerSystem) {
             throw new SecurityException(
                     "Non-system caller " + caller + " (pid=" + Binder.getCallingPid()
@@ -1614,6 +1617,12 @@
                             + ") set BIND_ALLOW_INSTANT when binding service " + service);
         }
 
+        if ((flags & Context.BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS) != 0) {
+            mAm.enforceCallingPermission(
+                    android.Manifest.permission.START_ACTIVITIES_FROM_BACKGROUND,
+                    "BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS");
+        }
+
         final boolean callerFg = callerApp.setSchedGroup != ProcessList.SCHED_GROUP_BACKGROUND;
         final boolean isBindExternal = (flags & Context.BIND_EXTERNAL_SERVICE) != 0;
         final boolean allowInstant = (flags & Context.BIND_ALLOW_INSTANT) != 0;
@@ -1672,7 +1681,7 @@
                                 try {
                                     bringUpServiceLocked(serviceRecord,
                                             serviceIntent.getFlags(),
-                                            callerFg, false, false, false);
+                                            callerFg, false, false);
                                 } catch (RemoteException e) {
                                     /* ignore - local call */
                                 }
@@ -1762,6 +1771,9 @@
             if ((c.flags&Context.BIND_ALLOW_WHITELIST_MANAGEMENT) != 0) {
                 s.whitelistManager = true;
             }
+            if ((flags & Context.BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS) != 0) {
+                s.setHasBindingWhitelistingBgActivityStarts(true);
+            }
             if (s.app != null) {
                 updateServiceClientActivitiesLocked(s.app, c, true);
             }
@@ -1775,7 +1787,7 @@
             if ((flags&Context.BIND_AUTO_CREATE) != 0) {
                 s.lastActivity = SystemClock.uptimeMillis();
                 if (bringUpServiceLocked(s, service.getFlags(), callerFg, false,
-                        permissionsReviewRequired, false) != null) {
+                        permissionsReviewRequired) != null) {
                     return 0;
                 }
             }
@@ -2445,8 +2457,7 @@
             return;
         }
         try {
-            bringUpServiceLocked(r, r.intent.getIntent().getFlags(), r.createdFromFg, true, false,
-                    false);
+            bringUpServiceLocked(r, r.intent.getIntent().getFlags(), r.createdFromFg, true, false);
         } catch (TransactionTooLargeException e) {
             // Ignore, it's been logged and nothing upstack cares.
         }
@@ -2491,11 +2502,8 @@
     }
 
     private String bringUpServiceLocked(ServiceRecord r, int intentFlags, boolean execInFg,
-            boolean whileRestarting, boolean permissionsReviewRequired,
-            boolean allowBackgroundActivityStarts) throws TransactionTooLargeException {
-        //Slog.i(TAG, "Bring up service:");
-        //r.dump("  ");
-
+            boolean whileRestarting, boolean permissionsReviewRequired)
+            throws TransactionTooLargeException {
         if (r.app != null && r.app.thread != null) {
             sendServiceArgsLocked(r, execInFg, false);
             return null;
@@ -2603,13 +2611,6 @@
             }
         }
 
-        if (app != null && allowBackgroundActivityStarts) {
-            app.addAllowBackgroundActivityStartsToken(r);
-            // schedule removal of the whitelisting token after the timeout
-            removeAllowBackgroundActivityStartsServiceToken(app, r,
-                    SERVICE_BG_ACTIVITY_START_TIMEOUT_MS);
-        }
-
         if (r.fgRequired) {
             if (DEBUG_FOREGROUND_SERVICE) {
                 Slog.v(TAG, "Whitelisting " + UserHandle.formatUid(r.appInfo.uid)
@@ -2646,6 +2647,11 @@
         }
     }
 
+    /**
+     * Note the name of this method should not be confused with the started services concept.
+     * The "start" here means bring up the instance in the client, and this method is called
+     * from bindService() as well.
+     */
     private final void realStartServiceLocked(ServiceRecord r,
             ProcessRecord app, boolean execInFg) throws RemoteException {
         if (app.thread == null) {
@@ -3085,6 +3091,10 @@
                     updateWhitelistManagerLocked(s.app);
                 }
             }
+            // And do the same for bg activity starts whitelisting.
+            if ((c.flags & Context.BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS) != 0) {
+                s.updateHasBindingWhitelistingBgActivityStarts();
+            }
             if (s.app != null) {
                 updateServiceClientActivitiesLocked(s.app, c, true);
             }
diff --git a/services/core/java/com/android/server/am/ActivityManagerConstants.java b/services/core/java/com/android/server/am/ActivityManagerConstants.java
index 415a892..1751856 100644
--- a/services/core/java/com/android/server/am/ActivityManagerConstants.java
+++ b/services/core/java/com/android/server/am/ActivityManagerConstants.java
@@ -27,6 +27,8 @@
 import android.provider.DeviceConfig.OnPropertyChangedListener;
 import android.provider.Settings;
 import android.text.TextUtils;
+import android.text.TextUtils.SimpleStringSplitter;
+import android.util.ArraySet;
 import android.util.KeyValueListParser;
 import android.util.Slog;
 
@@ -67,6 +69,7 @@
     static final String KEY_SERVICE_MIN_RESTART_TIME_BETWEEN = "service_min_restart_time_between";
     static final String KEY_MAX_SERVICE_INACTIVITY = "service_max_inactivity";
     static final String KEY_BG_START_TIMEOUT = "service_bg_start_timeout";
+    static final String KEY_SERVICE_BG_ACTIVITY_START_TIMEOUT = "service_bg_activity_start_timeout";
     static final String KEY_BOUND_SERVICE_CRASH_RESTART_DURATION = "service_crash_restart_duration";
     static final String KEY_BOUND_SERVICE_CRASH_MAX_RETRY = "service_crash_max_retry";
     static final String KEY_PROCESS_START_ASYNC = "process_start_async";
@@ -97,6 +100,7 @@
     private static final long DEFAULT_SERVICE_MIN_RESTART_TIME_BETWEEN = 10*1000;
     private static final long DEFAULT_MAX_SERVICE_INACTIVITY = 30*60*1000;
     private static final long DEFAULT_BG_START_TIMEOUT = 15*1000;
+    private static final long DEFAULT_SERVICE_BG_ACTIVITY_START_TIMEOUT = 10_000;
     private static final long DEFAULT_BOUND_SERVICE_CRASH_RESTART_DURATION = 30*60_000;
     private static final int DEFAULT_BOUND_SERVICE_CRASH_MAX_RETRY = 16;
     private static final boolean DEFAULT_PROCESS_START_ASYNC = true;
@@ -210,6 +214,9 @@
     // allowing the next pending start to run.
     public long BG_START_TIMEOUT = DEFAULT_BG_START_TIMEOUT;
 
+    // For how long after a whitelisted service's start its process can start a background activity
+    public long SERVICE_BG_ACTIVITY_START_TIMEOUT = DEFAULT_SERVICE_BG_ACTIVITY_START_TIMEOUT;
+
     // Initial backoff delay for retrying bound foreground services
     public long BOUND_SERVICE_CRASH_RESTART_DURATION = DEFAULT_BOUND_SERVICE_CRASH_RESTART_DURATION;
 
@@ -235,6 +242,8 @@
     // Controlled by Settings.Global.BACKGROUND_ACTIVITY_STARTS_ENABLED
     volatile boolean mFlagBackgroundActivityStartsEnabled;
 
+    volatile ArraySet<String> mPackageNamesWhitelistedForBgActivityStarts = new ArraySet<>();
+
     private final ActivityManagerService mService;
     private ContentResolver mResolver;
     private final KeyValueListParser mParser = new KeyValueListParser(',');
@@ -273,6 +282,10 @@
                 Settings.Global.getUriFor(
                         Settings.Global.BACKGROUND_ACTIVITY_STARTS_ENABLED);
 
+    private static final Uri BACKGROUND_ACTIVITY_STARTS_PACKAGE_NAMES_WHITELIST_URI =
+                Settings.Global.getUriFor(
+                        Settings.Global.BACKGROUND_ACTIVITY_STARTS_PACKAGE_NAMES_WHITELIST);
+
     private final OnPropertyChangedListener mOnDeviceConfigChangedListener =
             new OnPropertyChangedListener() {
                 @Override
@@ -293,9 +306,12 @@
         mResolver.registerContentObserver(ACTIVITY_MANAGER_CONSTANTS_URI, false, this);
         mResolver.registerContentObserver(ACTIVITY_STARTS_LOGGING_ENABLED_URI, false, this);
         mResolver.registerContentObserver(BACKGROUND_ACTIVITY_STARTS_ENABLED_URI, false, this);
+        mResolver.registerContentObserver(BACKGROUND_ACTIVITY_STARTS_PACKAGE_NAMES_WHITELIST_URI,
+                false, this);
         updateConstants();
         updateActivityStartsLoggingEnabled();
         updateBackgroundActivityStartsEnabled();
+        updateBackgroundActivityStartsPackageNamesWhitelist();
         DeviceConfig.addOnPropertyChangedListener(DeviceConfig.NAMESPACE_ACTIVITY_MANAGER,
                 ActivityThread.currentApplication().getMainExecutor(),
                 mOnDeviceConfigChangedListener);
@@ -325,6 +341,8 @@
             updateActivityStartsLoggingEnabled();
         } else if (BACKGROUND_ACTIVITY_STARTS_ENABLED_URI.equals(uri)) {
             updateBackgroundActivityStartsEnabled();
+        } else if (BACKGROUND_ACTIVITY_STARTS_PACKAGE_NAMES_WHITELIST_URI.equals(uri)) {
+            updateBackgroundActivityStartsPackageNamesWhitelist();
         }
     }
 
@@ -385,6 +403,9 @@
                     DEFAULT_MAX_SERVICE_INACTIVITY);
             BG_START_TIMEOUT = mParser.getLong(KEY_BG_START_TIMEOUT,
                     DEFAULT_BG_START_TIMEOUT);
+            SERVICE_BG_ACTIVITY_START_TIMEOUT = mParser.getLong(
+                    KEY_SERVICE_BG_ACTIVITY_START_TIMEOUT,
+                    DEFAULT_SERVICE_BG_ACTIVITY_START_TIMEOUT);
             BOUND_SERVICE_CRASH_RESTART_DURATION = mParser.getLong(
                 KEY_BOUND_SERVICE_CRASH_RESTART_DURATION,
                 DEFAULT_BOUND_SERVICE_CRASH_RESTART_DURATION);
@@ -414,6 +435,21 @@
                 Settings.Global.BACKGROUND_ACTIVITY_STARTS_ENABLED, 1) == 1;
     }
 
+    private void updateBackgroundActivityStartsPackageNamesWhitelist() {
+        final String setting = Settings.Global.getString(mResolver,
+                Settings.Global.BACKGROUND_ACTIVITY_STARTS_PACKAGE_NAMES_WHITELIST);
+        if (TextUtils.isEmpty(setting)) {
+            return;
+        }
+        ArraySet<String> newSet = new ArraySet<>();
+        SimpleStringSplitter splitter = new SimpleStringSplitter(':');
+        splitter.setString(setting);
+        while (splitter.hasNext()) {
+            newSet.add(splitter.next());
+        }
+        mPackageNamesWhitelistedForBgActivityStarts = newSet;
+    }
+
     private void updateMaxCachedProcesses() {
         String maxCachedProcessesFlag = DeviceConfig.getProperty(
                 DeviceConfig.NAMESPACE_ACTIVITY_MANAGER, KEY_MAX_CACHED_PROCESSES);
@@ -490,6 +526,8 @@
         pw.println(MAX_SERVICE_INACTIVITY);
         pw.print("  "); pw.print(KEY_BG_START_TIMEOUT); pw.print("=");
         pw.println(BG_START_TIMEOUT);
+        pw.print("  "); pw.print(KEY_SERVICE_BG_ACTIVITY_START_TIMEOUT); pw.print("=");
+        pw.println(SERVICE_BG_ACTIVITY_START_TIMEOUT);
         pw.print("  "); pw.print(KEY_BOUND_SERVICE_CRASH_RESTART_DURATION); pw.print("=");
         pw.println(BOUND_SERVICE_CRASH_RESTART_DURATION);
         pw.print("  "); pw.print(KEY_BOUND_SERVICE_CRASH_MAX_RETRY); pw.print("=");
diff --git a/services/core/java/com/android/server/am/ActivityManagerService.java b/services/core/java/com/android/server/am/ActivityManagerService.java
index ccb9d82..8225476 100644
--- a/services/core/java/com/android/server/am/ActivityManagerService.java
+++ b/services/core/java/com/android/server/am/ActivityManagerService.java
@@ -185,6 +185,7 @@
 import android.app.WindowConfiguration.WindowingMode;
 import android.app.backup.IBackupManager;
 import android.app.usage.UsageEvents;
+import android.app.usage.UsageEvents.Event;
 import android.app.usage.UsageStatsManagerInternal;
 import android.appwidget.AppWidgetManager;
 import android.content.AutofillOptions;
@@ -250,6 +251,7 @@
 import android.os.Message;
 import android.os.Parcel;
 import android.os.ParcelFileDescriptor;
+import android.os.PowerManager;
 import android.os.PowerManager.ServiceType;
 import android.os.PowerManagerInternal;
 import android.os.Process;
@@ -267,6 +269,7 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.os.WorkSource;
+import android.os.storage.IStorageManager;
 import android.os.storage.StorageManager;
 import android.provider.Settings;
 import android.sysprop.VoldProperties;
@@ -305,6 +308,7 @@
 import com.android.internal.app.ProcessMap;
 import com.android.internal.app.SystemUserHomeActivity;
 import com.android.internal.app.procstats.ProcessStats;
+import com.android.internal.content.PackageHelper;
 import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
 import com.android.internal.notification.SystemNotificationChannels;
 import com.android.internal.os.BackgroundThread;
@@ -1489,6 +1493,11 @@
 
     private ParcelFileDescriptor[] mLifeMonitorFds;
 
+    /**
+     * Used to notify activity lifecycle events.
+     */
+    @Nullable ContentCaptureManagerInternal mContentCaptureService;
+
     final class UiHandler extends Handler {
         public UiHandler() {
             super(com.android.server.UiThread.get().getLooper(), null, true);
@@ -1983,6 +1992,16 @@
         mActivityTaskManager.setUsageStatsManager(usageStatsManager);
     }
 
+    /**
+     * Sets the internal content capture manager service.
+     *
+     * <p>It's called when {@code SystemServer} starts, so we don't really need to acquire the lock.
+     */
+    public void setContentCaptureManager(
+            @Nullable ContentCaptureManagerInternal contentCaptureManager) {
+        mContentCaptureService = contentCaptureManager;
+    }
+
     public void startObservingNativeCrashes() {
         final NativeCrashListener ncl = new NativeCrashListener(this);
         ncl.start();
@@ -2915,6 +2934,10 @@
                         taskRoot);
             }
         }
+        if (mContentCaptureService != null && (event == Event.ACTIVITY_PAUSED
+                || event == Event.ACTIVITY_RESUMED || event == Event.ACTIVITY_STOPPED)) {
+            mContentCaptureService.notifyActivityEvent(userId, activity, event);
+        }
     }
 
     /**
@@ -3949,11 +3972,12 @@
         final long callingId = Binder.clearCallingIdentity();
         try {
             synchronized (this) {
-                mProcessList.killAllBackgroundProcessesLocked();
-
+                // Allow memory level to go down (the flag needs to be set before updating oom adj)
+                // because this method is also used to simulate low memory.
                 mAllowLowerMemLevel = true;
+                mProcessList.killPackageProcessesLocked(null /* packageName */, -1 /* appId */,
+                        UserHandle.USER_ALL, ProcessList.CACHED_APP_MIN_ADJ, "kill all background");
 
-                updateOomAdjLocked();
                 doLowMemReportIfNeededLocked(null);
             }
         } finally {
@@ -4999,6 +5023,16 @@
             }
         }, dumpheapFilter);
 
+        // Inform checkpointing systems of success
+        try {
+            IStorageManager storageManager = PackageHelper.getStorageManager();
+            storageManager.commitChanges();
+        } catch (Exception e) {
+            PowerManager pm = (PowerManager)
+                     mInjector.getContext().getSystemService(Context.POWER_SERVICE);
+            pm.reboot("Checkpoint commit failed");
+        }
+
         // Let system services know.
         mSystemServiceManager.startBootPhase(SystemService.PHASE_BOOT_COMPLETED);
 
@@ -5458,6 +5492,12 @@
         }
     }
 
+    private boolean isAppBad(ApplicationInfo info) {
+        synchronized (this) {
+            return mAppErrors.isBadProcessLocked(info);
+        }
+    }
+
     // NOTE: this is an internal method used by the OnShellCommand implementation only and should
     // be guarded by permission checking.
     int getUidState(int uid) {
@@ -17623,6 +17663,16 @@
         }
 
         @Override
+        public void killProcess(String processName, int uid, String reason) {
+            synchronized (ActivityManagerService.this) {
+                final ProcessRecord proc = getProcessRecordLocked(processName, uid,
+                        true /* keepIfLarge */);
+                mProcessList.removeProcessLocked(proc, false /* callerWillRestart */,
+                        true /* allowRestart */, reason);
+            }
+        }
+
+        @Override
         public boolean hasRunningActivity(int uid, @Nullable String packageName) {
             if (packageName == null) return false;
 
@@ -17862,6 +17912,10 @@
             return mConstants.mFlagActivityStartsLoggingEnabled;
         }
 
+        public boolean isPackageNameWhitelistedForBgActivityStarts(String packageName) {
+            return mConstants.mPackageNamesWhitelistedForBgActivityStarts.contains(packageName);
+        }
+
         public boolean isBackgroundActivityStartsEnabled() {
             return mConstants.mFlagBackgroundActivityStartsEnabled;
         }
@@ -18030,6 +18084,11 @@
         }
 
         @Override
+        public boolean isAppBad(ApplicationInfo info) {
+            return ActivityManagerService.this.isAppBad(info);
+        }
+
+        @Override
         public void clearPendingBackup(int userId) {
             ActivityManagerService.this.clearPendingBackup(userId);
         }
@@ -18475,7 +18534,12 @@
         public int checkPermission(String permName, String pkgName, int userId,
                 TriFunction<String, String, Integer, Integer> superImpl) {
             if (mTargetPackageName.equals(pkgName) && isTargetPermission(permName)) {
-                return superImpl.apply(permName, "com.android.shell", userId);
+                final long identity = Binder.clearCallingIdentity();
+                try {
+                    return superImpl.apply(permName, "com.android.shell", userId);
+                } finally {
+                    Binder.restoreCallingIdentity(identity);
+                }
             }
             return superImpl.apply(permName, pkgName, userId);
         }
@@ -18484,7 +18548,12 @@
         public int checkUidPermission(String permName, int uid,
                 BiFunction<String, Integer, Integer> superImpl) {
             if (uid == mTargetUid  && isTargetPermission(permName)) {
-                return superImpl.apply(permName, Process.SHELL_UID);
+                final long identity = Binder.clearCallingIdentity();
+                try {
+                    return superImpl.apply(permName, Process.SHELL_UID);
+                } finally {
+                    Binder.restoreCallingIdentity(identity);
+                }
             }
             return superImpl.apply(permName, uid);
         }
diff --git a/services/core/java/com/android/server/am/ActivityManagerShellCommand.java b/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
index 4f6f9fd..cc90182 100644
--- a/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
+++ b/services/core/java/com/android/server/am/ActivityManagerShellCommand.java
@@ -65,6 +65,7 @@
 import android.os.Binder;
 import android.os.Build;
 import android.os.Bundle;
+import android.os.IProgressListener;
 import android.os.ParcelFileDescriptor;
 import android.os.RemoteCallback;
 import android.os.RemoteCallback.OnResultListener;
@@ -103,6 +104,7 @@
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.CountDownLatch;
+import java.util.concurrent.TimeUnit;
 
 import javax.microedition.khronos.egl.EGL10;
 import javax.microedition.khronos.egl.EGLConfig;
@@ -114,6 +116,8 @@
     public static final String NO_CLASS_ERROR_CODE = "Error type 3";
     private static final String SHELL_PACKAGE_NAME = "com.android.shell";
 
+    private static final int USER_OPERATION_TIMEOUT_MS = 2 * 60 * 1000; // 2 minutes
+
     // IPC interface to activity manager -- don't need to do additional security checks.
     final IActivityManager mInterface;
     final IActivityTaskManager mTaskInterface;
@@ -377,6 +381,30 @@
         });
     }
 
+    private class ProgressWaiter extends IProgressListener.Stub {
+        private final CountDownLatch mFinishedLatch = new CountDownLatch(1);
+
+        @Override
+        public void onStarted(int id, Bundle extras) {}
+
+        @Override
+        public void onProgress(int id, int progress, Bundle extras) {}
+
+        @Override
+        public void onFinished(int id, Bundle extras) {
+            mFinishedLatch.countDown();
+        }
+
+        public boolean waitForFinish(long timeoutMillis) {
+            try {
+                return mFinishedLatch.await(timeoutMillis, TimeUnit.MILLISECONDS);
+            } catch (InterruptedException e) {
+                System.err.println("Thread interrupted unexpectedly.");
+                return false;
+            }
+        }
+    }
+
     int runStartActivity(PrintWriter pw) throws RemoteException {
         Intent intent;
         try {
@@ -492,7 +520,6 @@
             final long endTime = SystemClock.uptimeMillis();
             PrintWriter out = mWaitOption ? pw : getErrPrintWriter();
             boolean launched = false;
-            boolean hotLaunch = false;
             switch (res) {
                 case ActivityManager.START_SUCCESS:
                     launched = true;
@@ -518,8 +545,6 @@
                     break;
                 case ActivityManager.START_TASK_TO_FRONT:
                     launched = true;
-                    //TODO(b/120981435) remove special case
-                    hotLaunch = true;
                     out.println(
                             "Warning: Activity not started, its current "
                                     + "task has been brought to the front");
@@ -567,9 +592,7 @@
                     result.who = intent.getComponent();
                 }
                 pw.println("Status: " + (result.timeout ? "timeout" : "ok"));
-                final @WaitResult.LaunchState int launchState =
-                        hotLaunch ? WaitResult.LAUNCH_STATE_HOT : result.launchState;
-                pw.println("LaunchState: " + launchStateToString(launchState));
+                pw.println("LaunchState: " + launchStateToString(result.launchState));
                 if (result.who != null) {
                     pw.println("Activity: " + result.who.flattenToShortString());
                 }
@@ -1679,8 +1702,9 @@
 
     int runSwitchUser(PrintWriter pw) throws RemoteException {
         UserManager userManager = mInternal.mContext.getSystemService(UserManager.class);
-        if (!userManager.canSwitchUsers()) {
-            getErrPrintWriter().println("Error: disallowed switching user");
+        final int userSwitchable = userManager.getUserSwitchability();
+        if (userSwitchable != UserManager.SWITCHABILITY_STATUS_OK) {
+            getErrPrintWriter().println("Error: " + userSwitchable);
             return -1;
         }
         String user = getNextArgRequired();
@@ -1696,8 +1720,24 @@
     }
 
     int runStartUser(PrintWriter pw) throws RemoteException {
-        String user = getNextArgRequired();
-        boolean success = mInterface.startUserInBackground(Integer.parseInt(user));
+        boolean wait = false;
+        String opt;
+        while ((opt = getNextOption()) != null) {
+            if ("-w".equals(opt)) {
+                wait = true;
+            } else {
+                getErrPrintWriter().println("Error: unknown option: " + opt);
+                return -1;
+            }
+        }
+        int userId = Integer.parseInt(getNextArgRequired());
+
+        final ProgressWaiter waiter = wait ? new ProgressWaiter() : null;
+        boolean success = mInterface.startUserInBackgroundWithListener(userId, waiter);
+        if (wait && success) {
+            success = waiter.waitForFinish(USER_OPERATION_TIMEOUT_MS);
+        }
+
         if (success) {
             pw.println("Success: user started");
         } else {
@@ -3027,9 +3067,10 @@
             pw.println("      execution of that user if it is currently stopped.");
             pw.println("  get-current-user");
             pw.println("      Returns id of the current foreground user.");
-            pw.println("  start-user <USER_ID>");
+            pw.println("  start-user [-w] <USER_ID>");
             pw.println("      Start USER_ID in background if it is currently stopped;");
-            pw.println("      use switch-user if you want to start the user in foreground");
+            pw.println("      use switch-user if you want to start the user in foreground.");
+            pw.println("      -w: wait for start-user to complete and the user to be unlocked.");
             pw.println("  unlock-user <USER_ID> [TOKEN_HEX]");
             pw.println("      Attempt to unlock the given user using the given authorization token.");
             pw.println("  stop-user [-w] [-f] <USER_ID>");
diff --git a/services/core/java/com/android/server/am/AppCompactor.java b/services/core/java/com/android/server/am/AppCompactor.java
index 1f21160..438538f 100644
--- a/services/core/java/com/android/server/am/AppCompactor.java
+++ b/services/core/java/com/android/server/am/AppCompactor.java
@@ -211,7 +211,7 @@
         mPendingCompactionProcesses.add(app);
         mCompactionHandler.sendMessage(
             mCompactionHandler.obtainMessage(
-                COMPACT_PROCESS_MSG, app.curAdj, app.setProcState));
+                COMPACT_PROCESS_MSG, app.setAdj, app.setProcState));
     }
 
     @GuardedBy("mAm")
@@ -220,7 +220,7 @@
         mPendingCompactionProcesses.add(app);
         mCompactionHandler.sendMessage(
             mCompactionHandler.obtainMessage(
-                COMPACT_PROCESS_MSG, app.curAdj, app.setProcState));
+                COMPACT_PROCESS_MSG, app.setAdj, app.setProcState));
 
     }
 
diff --git a/services/core/java/com/android/server/am/AppErrors.java b/services/core/java/com/android/server/am/AppErrors.java
index f153ab9..1ff6f4d 100644
--- a/services/core/java/com/android/server/am/AppErrors.java
+++ b/services/core/java/com/android/server/am/AppErrors.java
@@ -34,6 +34,8 @@
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ApplicationInfo;
+import android.content.pm.ModuleInfo;
+import android.content.pm.PackageManager;
 import android.content.pm.VersionedPackage;
 import android.net.Uri;
 import android.os.Binder;
@@ -406,15 +408,29 @@
         }
 
         if (r != null) {
-            if (r.isPersistent()) {
-                // If a persistent app is stuck in a crash loop, the device isn't very
-                // usable, so we want to consider sending out a rescue party.
-                RescueParty.notePersistentAppCrash(mContext, r.uid);
-            } else {
-                // If a non-persistent app is stuck in crash loop, we want to inform
-                // the package watchdog, maybe an update or experiment can be rolled back.
-                mPackageWatchdog.onPackageFailure(r.getPackageListWithVersionCode());
+            boolean isApexModule = false;
+            try {
+                for (String androidPackage : r.getPackageList()) {
+                    ModuleInfo moduleInfo = mContext.getPackageManager().getModuleInfo(
+                            androidPackage, /*flags=*/ 0);
+                    if (moduleInfo != null) {
+                        isApexModule = true;
+                        break;
+                    }
+                }
+            } catch (IllegalStateException | PackageManager.NameNotFoundException e) {
+                // Call to PackageManager#getModuleInfo() can result in NameNotFoundException or
+                // IllegalStateException. In case they are thrown, there isn't much we can do
+                // other than proceed with app crash handling.
             }
+
+            if (r.isPersistent() || isApexModule) {
+                // If a persistent app or apex module is stuck in a crash loop, the device isn't
+                // very usable, so we want to consider sending out a rescue party.
+                RescueParty.noteAppCrash(mContext, r.uid);
+            }
+
+            mPackageWatchdog.onPackageFailure(r.getPackageListWithVersionCode());
         }
 
         final int relaunchReason = r != null
diff --git a/services/core/java/com/android/server/am/AssistDataRequester.java b/services/core/java/com/android/server/am/AssistDataRequester.java
index 09df7e20..d8d6528 100644
--- a/services/core/java/com/android/server/am/AssistDataRequester.java
+++ b/services/core/java/com/android/server/am/AssistDataRequester.java
@@ -24,6 +24,7 @@
 
 import android.app.ActivityTaskManager;
 import android.app.AppOpsManager;
+import android.app.IActivityTaskManager;
 import android.app.IAssistDataReceiver;
 import android.content.Context;
 import android.graphics.Bitmap;
@@ -33,6 +34,7 @@
 import android.view.IWindowManager;
 
 import com.android.internal.annotations.GuardedBy;
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.logging.MetricsLogger;
 
 import java.io.PrintWriter;
@@ -50,6 +52,8 @@
     public static final String KEY_RECEIVER_EXTRA_INDEX = "index";
 
     private IWindowManager mWindowManager;
+    @VisibleForTesting
+    public IActivityTaskManager mActivityTaskManager;
     private Context mContext;
     private AppOpsManager mAppOpsManager;
 
@@ -128,6 +132,7 @@
         mCallbacks = callbacks;
         mCallbacksLock = callbacksLock;
         mWindowManager = windowManager;
+        mActivityTaskManager = ActivityTaskManager.getService();
         mContext = context;
         mAppOpsManager = appOpsManager;
         mRequestStructureAppOps = requestStructureAppOps;
@@ -195,8 +200,7 @@
         // Ensure that the current activity supports assist data
         boolean isAssistDataAllowed = false;
         try {
-            isAssistDataAllowed =
-                    ActivityTaskManager.getService().isAssistDataAllowedOnCurrentActivity();
+            isAssistDataAllowed = mActivityTaskManager.isAssistDataAllowedOnCurrentActivity();
         } catch (RemoteException e) {
             // Should never happen
         }
@@ -222,9 +226,9 @@
                         receiverExtras.putInt(KEY_RECEIVER_EXTRA_INDEX, i);
                         receiverExtras.putInt(KEY_RECEIVER_EXTRA_COUNT, numActivities);
                         boolean result = requestAutofillData
-                                ? ActivityTaskManager.getService().requestAutofillData(this,
+                                ? mActivityTaskManager.requestAutofillData(this,
                                         receiverExtras, topActivity, 0 /* flags */)
-                                : ActivityTaskManager.getService().requestAssistContextExtras(
+                                : mActivityTaskManager.requestAssistContextExtras(
                                         ASSIST_CONTEXT_FULL, this, receiverExtras, topActivity,
                                         /* focused= */ i == 0, /* newSessionId= */ i == 0);
                         if (result) {
diff --git a/services/core/java/com/android/server/am/BroadcastDispatcher.java b/services/core/java/com/android/server/am/BroadcastDispatcher.java
index 0b38ef9..d029482 100644
--- a/services/core/java/com/android/server/am/BroadcastDispatcher.java
+++ b/services/core/java/com/android/server/am/BroadcastDispatcher.java
@@ -450,6 +450,8 @@
             return mCurrentBroadcast;
         }
 
+        final boolean someQueued = !mOrderedBroadcasts.isEmpty();
+
         BroadcastRecord next = null;
         if (!mAlarmBroadcasts.isEmpty()) {
             next = popLocked(mAlarmBroadcasts);
@@ -459,10 +461,18 @@
         }
 
         if (next == null && !mDeferredBroadcasts.isEmpty()) {
+            // We're going to deliver either:
+            // 1. the next "overdue" deferral; or
+            // 2. the next ordinary ordered broadcast; *or*
+            // 3. the next not-yet-overdue deferral.
+
             for (int i = 0; i < mDeferredBroadcasts.size(); i++) {
                 Deferrals d = mDeferredBroadcasts.get(i);
-                if (now < d.deferUntil) {
-                    // No more deferrals due
+                if (now < d.deferUntil && someQueued) {
+                    // stop looking when we haven't hit the next time-out boundary
+                    // but only if we have un-deferred broadcasts waiting,
+                    // otherwise we can deliver whatever deferred broadcast
+                    // is next available.
                     break;
                 }
 
@@ -483,7 +493,7 @@
             }
         }
 
-        if (next == null && !mOrderedBroadcasts.isEmpty()) {
+        if (next == null && someQueued) {
             next = mOrderedBroadcasts.remove(0);
             if (DEBUG_BROADCAST_DEFERRAL) {
                 Slog.i(TAG, "Next broadcast from main queue: " + next);
@@ -617,11 +627,9 @@
      * Cancel all current deferrals; that is, make all currently-deferred broadcasts
      * immediately deliverable.  Used by the wait-for-broadcast-idle mechanism.
      */
-    public void cancelDeferrals() {
-        synchronized (mLock) {
-            zeroDeferralTimes(mAlarmBroadcasts);
-            zeroDeferralTimes(mDeferredBroadcasts);
-        }
+    public void cancelDeferralsLocked() {
+        zeroDeferralTimes(mAlarmBroadcasts);
+        zeroDeferralTimes(mDeferredBroadcasts);
     }
 
     private static void zeroDeferralTimes(ArrayList<Deferrals> list) {
diff --git a/services/core/java/com/android/server/am/BroadcastQueue.java b/services/core/java/com/android/server/am/BroadcastQueue.java
index c1ed54e..ea23081 100644
--- a/services/core/java/com/android/server/am/BroadcastQueue.java
+++ b/services/core/java/com/android/server/am/BroadcastQueue.java
@@ -477,14 +477,22 @@
         // when processNextBroadcastLocked() next finds this uid as a receiver identity.
         if (!r.timeoutExempt) {
             if (mConstants.SLOW_TIME > 0 && elapsed > mConstants.SLOW_TIME) {
-                if (DEBUG_BROADCAST_DEFERRAL) {
-                    Slog.i(TAG_BROADCAST, "Broadcast receiver " + (r.nextReceiver - 1)
-                            + " was slow: " + receiver + " br=" + r);
-                }
-                if (r.curApp != null) {
-                    mDispatcher.startDeferring(r.curApp.uid);
+                // Core system packages are exempt from deferral policy
+                if (!UserHandle.isCore(r.curApp.uid)) {
+                    if (DEBUG_BROADCAST_DEFERRAL) {
+                        Slog.i(TAG_BROADCAST, "Broadcast receiver " + (r.nextReceiver - 1)
+                                + " was slow: " + receiver + " br=" + r);
+                    }
+                    if (r.curApp != null) {
+                        mDispatcher.startDeferring(r.curApp.uid);
+                    } else {
+                        Slog.d(TAG_BROADCAST, "finish receiver curApp is null? " + r);
+                    }
                 } else {
-                    Slog.d(TAG_BROADCAST, "finish receiver curApp is null? " + r);
+                    if (DEBUG_BROADCAST_DEFERRAL) {
+                        Slog.i(TAG_BROADCAST, "Core uid " + r.curApp.uid
+                                + " receiver was slow but not deferring: " + receiver + " br=" + r);
+                    }
                 }
             }
         } else {
@@ -1870,7 +1878,10 @@
     // Used by wait-for-broadcast-idle : fast-forward all current deferrals to
     // be immediately deliverable.
     void cancelDeferrals() {
-        mDispatcher.cancelDeferrals();
+        synchronized (mService) {
+            mDispatcher.cancelDeferralsLocked();
+            scheduleBroadcastsLocked();
+        }
     }
 
     String describeState() {
diff --git a/services/core/java/com/android/server/am/ConnectionRecord.java b/services/core/java/com/android/server/am/ConnectionRecord.java
index af1031e..a1c941e 100644
--- a/services/core/java/com/android/server/am/ConnectionRecord.java
+++ b/services/core/java/com/android/server/am/ConnectionRecord.java
@@ -192,6 +192,9 @@
         if ((flags&Context.BIND_TREAT_LIKE_ACTIVITY) != 0) {
             sb.append("LACT ");
         }
+        if ((flags & Context.BIND_SCHEDULE_LIKE_TOP_APP) != 0) {
+            sb.append("SLTA ");
+        }
         if ((flags&Context.BIND_VISIBLE) != 0) {
             sb.append("VIS ");
         }
diff --git a/services/core/java/com/android/server/am/MemoryStatUtil.java b/services/core/java/com/android/server/am/MemoryStatUtil.java
index a584914..0d03580 100644
--- a/services/core/java/com/android/server/am/MemoryStatUtil.java
+++ b/services/core/java/com/android/server/am/MemoryStatUtil.java
@@ -57,15 +57,18 @@
     private static final String PROC_STATUS_FILE_FMT = "/proc/%d/status";
     /** Path to procfs cmdline file. Used with pid: /proc/pid/cmdline. */
     private static final String PROC_CMDLINE_FILE_FMT = "/proc/%d/cmdline";
+    /** Path to debugfs file for the system ion heap. */
+    private static final String DEBUG_SYSTEM_ION_HEAP_FILE = "/sys/kernel/debug/ion/heaps/system";
 
     private static final Pattern PGFAULT = Pattern.compile("total_pgfault (\\d+)");
     private static final Pattern PGMAJFAULT = Pattern.compile("total_pgmajfault (\\d+)");
     private static final Pattern RSS_IN_BYTES = Pattern.compile("total_rss (\\d+)");
     private static final Pattern CACHE_IN_BYTES = Pattern.compile("total_cache (\\d+)");
     private static final Pattern SWAP_IN_BYTES = Pattern.compile("total_swap (\\d+)");
-
     private static final Pattern RSS_HIGH_WATERMARK_IN_BYTES =
             Pattern.compile("VmHWM:\\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 int PGFAULT_INDEX = 9;
     private static final int PGMAJFAULT_INDEX = 11;
@@ -127,6 +130,16 @@
         return parseCmdlineFromProcfs(readFileContents(path));
     }
 
+    /**
+     * Reads size of the system ion heap from debugfs.
+     *
+     * Returns value of the total size in bytes of the system ion heap from
+     * /sys/kernel/debug/ion/heaps/system.
+     */
+    public static long readSystemIonHeapSizeFromDebugfs() {
+        return parseIonHeapSizeFromDebugfs(readFileContents(DEBUG_SYSTEM_ION_HEAP_FILE));
+    }
+
     private static String readFileContents(String path) {
         final File file = new File(path);
         if (!file.exists()) {
@@ -228,6 +241,19 @@
     }
 
     /**
+     * Parses the ion heap size from the contents of a file under /sys/kernel/debug/ion/heaps in
+     * debugfs. The returned value is in bytes.
+     */
+    @VisibleForTesting
+    static long parseIonHeapSizeFromDebugfs(String contents) {
+        if (contents == null || contents.isEmpty()) {
+            return 0;
+        }
+        Matcher m = ION_HEAP_SIZE_IN_BYTES.matcher(contents);
+        return m.find() ? Long.parseLong(m.group(1)) : 0;
+    }
+
+    /**
      * Returns whether per-app memcg is available on device.
      */
     static boolean hasMemcg() {
diff --git a/services/core/java/com/android/server/am/OWNERS b/services/core/java/com/android/server/am/OWNERS
index e483b26..877bef7 100644
--- a/services/core/java/com/android/server/am/OWNERS
+++ b/services/core/java/com/android/server/am/OWNERS
@@ -23,6 +23,9 @@
 svetoslavganov@google.com
 toddke@google.com
 
+# Battery Stats
+joeo@google.com
+
 # Londoners
 michaelwr@google.com
 narayan@google.com
diff --git a/services/core/java/com/android/server/am/OomAdjuster.java b/services/core/java/com/android/server/am/OomAdjuster.java
index 4e03b72..9056f76 100644
--- a/services/core/java/com/android/server/am/OomAdjuster.java
+++ b/services/core/java/com/android/server/am/OomAdjuster.java
@@ -1294,6 +1294,11 @@
                                         ActivityManager.PROCESS_STATE_IMPORTANT_BACKGROUND;
                             }
                         }
+                        if (schedGroup < ProcessList.SCHED_GROUP_TOP_APP
+                                && (cr.flags & Context.BIND_SCHEDULE_LIKE_TOP_APP) != 0) {
+                            schedGroup = ProcessList.SCHED_GROUP_TOP_APP;
+                        }
+
                         if (!trackedProcState) {
                             cr.trackProcState(clientProcState, mAdjSeq, now);
                         }
diff --git a/services/core/java/com/android/server/am/ProcessList.java b/services/core/java/com/android/server/am/ProcessList.java
index 399b818..d02fd73 100644
--- a/services/core/java/com/android/server/am/ProcessList.java
+++ b/services/core/java/com/android/server/am/ProcessList.java
@@ -249,6 +249,10 @@
     // Threshold of number of cached+empty where we consider memory critical.
     static final int TRIM_LOW_THRESHOLD = 5;
 
+    // If true, then we pass the flag to ART to load the app image startup cache.
+    private static final String PROPERTY_USE_APP_IMAGE_STARTUP_CACHE =
+            "persist.device_config.runtime_native.use_app_image_startup_cache";
+
     // Low Memory Killer Daemon command codes.
     // These must be kept in sync with the definitions in lmkd.c
     //
@@ -1157,11 +1161,11 @@
      *
      * @param pid The process identifier to set.
      * @param uid The uid of the app
-     * @param amt Adjustment value -- lmkd allows -16 to +15.
+     * @param amt Adjustment value -- lmkd allows -1000 to +1000
      *
      * {@hide}
      */
-    public static final void setOomAdj(int pid, int uid, int amt) {
+    public static void setOomAdj(int pid, int uid, int amt) {
         // This indicates that the process is not started yet and so no need to proceed further.
         if (pid <= 0) {
             return;
@@ -1559,6 +1563,13 @@
                 runtimeFlags |= policyBits;
             }
 
+            String useAppImageCache = SystemProperties.get(
+                    PROPERTY_USE_APP_IMAGE_STARTUP_CACHE, "");
+            // Property defaults to true currently.
+            if (!TextUtils.isEmpty(useAppImageCache) && !useAppImageCache.equals("false")) {
+                runtimeFlags |= Zygote.USE_APP_IMAGE_STARTUP_CACHE;
+            }
+
             String invokeWith = null;
             if ((app.info.flags & ApplicationInfo.FLAG_DEBUGGABLE) != 0) {
                 // Debuggable apps may include a wrapper script with their library directory.
@@ -2074,25 +2085,6 @@
         }
     }
 
-    void killAllBackgroundProcessesLocked() {
-        final ArrayList<ProcessRecord> procs = new ArrayList<>();
-        final int NP = mProcessNames.getMap().size();
-        for (int ip = 0; ip < NP; ip++) {
-            final SparseArray<ProcessRecord> apps = mProcessNames.getMap().valueAt(ip);
-            final int NA = apps.size();
-            for (int ia = 0; ia < NA; ia++) {
-                final ProcessRecord app = apps.valueAt(ia);
-                if (app.isPersistent()) {
-                    // We don't kill persistent processes.
-                    continue;
-                }
-                if (app.removed || app.setAdj >= ProcessList.CACHED_APP_MIN_ADJ) {
-                    procs.add(app);
-                }
-            }
-        }
-    }
-
     @GuardedBy("mService")
     boolean killPackageProcessesLocked(String packageName, int appId, int userId, int minOomAdj,
             String reason) {
@@ -2129,6 +2121,11 @@
 
                 // Skip process if it doesn't meet our oom adj requirement.
                 if (app.setAdj < minOomAdj) {
+                    // Note it is still possible to have a process with oom adj 0 in the killed
+                    // processes, but it does not mean misjudgment. E.g. a bound service process
+                    // and its client activity process are both in the background, so they are
+                    // collected to be killed. If the client activity is killed first, the service
+                    // may be scheduled to unbind and become an executing service (oom adj 0).
                     continue;
                 }
 
@@ -2852,6 +2849,15 @@
                     pos--;
                 }
                 mLruProcesses.add(pos, app);
+                if (pos == mLruProcessActivityStart) {
+                    mLruProcessActivityStart++;
+                }
+                if (pos == mLruProcessServiceStart) {
+                    // Unless {@code #hasService} is implemented, currently the starting position
+                    // for activity and service are the same, so the incoming position may equal to
+                    // the starting position of service.
+                    mLruProcessServiceStart++;
+                }
                 // If this process is part of a group, need to pull up any other processes
                 // in that group to be with it.
                 int endIndex = pos - 1;
diff --git a/services/core/java/com/android/server/am/ProcessRecord.java b/services/core/java/com/android/server/am/ProcessRecord.java
index fcc857b..51b1ae1 100644
--- a/services/core/java/com/android/server/am/ProcessRecord.java
+++ b/services/core/java/com/android/server/am/ProcessRecord.java
@@ -55,6 +55,7 @@
 import android.util.TimeUtils;
 import android.util.proto.ProtoOutputStream;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.app.procstats.ProcessState;
 import com.android.internal.app.procstats.ProcessStats;
 import com.android.internal.os.BatteryStatsImpl;
@@ -73,7 +74,7 @@
  * Full information about a particular process that
  * is currently running.
  */
-final class ProcessRecord implements WindowProcessListener {
+class ProcessRecord implements WindowProcessListener {
     private static final String TAG = TAG_WITH_CLASS_NAME ? "ProcessRecord" : TAG_AM;
 
     private final ActivityManagerService mService; // where we came from
@@ -1303,6 +1304,27 @@
             ServerProtoEnums.DATA_APP;
     }
 
+    /**
+     * Unless configured otherwise, swallow ANRs in background processes & kill the process.
+     * Non-private access is for tests only.
+     */
+    @VisibleForTesting
+    boolean isSilentAnr() {
+        return !getShowBackground() && !isInterestingForBackgroundTraces();
+    }
+
+    /** Non-private access is for tests only. */
+    @VisibleForTesting
+    List<ProcessRecord> getLruProcessList() {
+        return mService.mProcessList.mLruProcesses;
+    }
+
+    /** Non-private access is for tests only. */
+    @VisibleForTesting
+    boolean isMonitorCpuUsage() {
+        return mService.MONITOR_CPU_USAGE;
+    }
+
     void appNotResponding(String activityShortComponentName, ApplicationInfo aInfo,
             String parentShortComponentName, WindowProcessController parentProcess,
             boolean aboveSystem, String annotation) {
@@ -1312,16 +1334,10 @@
         mWindowProcessController.appEarlyNotResponding(annotation, () -> kill("anr", true));
 
         long anrTime = SystemClock.uptimeMillis();
-        if (ActivityManagerService.MONITOR_CPU_USAGE) {
+        if (isMonitorCpuUsage()) {
             mService.updateCpuStatsNow();
         }
 
-        // Unless configured otherwise, swallow ANRs in background processes & kill the process.
-        boolean showBackground = Settings.Secure.getInt(mService.mContext.getContentResolver(),
-                Settings.Secure.ANR_SHOW_BACKGROUND, 0) != 0;
-
-        boolean isSilentANR;
-
         synchronized (mService) {
             // PowerManager.reboot() can block for a long time, so ignore ANRs while shutting down.
             if (mService.mAtmInternal.isShuttingDown()) {
@@ -1353,8 +1369,7 @@
             firstPids.add(pid);
 
             // Don't dump other PIDs if it's a background ANR
-            isSilentANR = !showBackground && !isInterestingForBackgroundTraces();
-            if (!isSilentANR) {
+            if (!isSilentAnr()) {
                 int parentPid = pid;
                 if (parentProcess != null && parentProcess.getPid() > 0) {
                     parentPid = parentProcess.getPid();
@@ -1363,8 +1378,8 @@
 
                 if (MY_PID != pid && MY_PID != parentPid) firstPids.add(MY_PID);
 
-                for (int i = mService.mProcessList.mLruProcesses.size() - 1; i >= 0; i--) {
-                    ProcessRecord r = mService.mProcessList.mLruProcesses.get(i);
+                for (int i = getLruProcessList().size() - 1; i >= 0; i--) {
+                    ProcessRecord r = getLruProcessList().get(i);
                     if (r != null && r.thread != null) {
                         int myPid = r.pid;
                         if (myPid > 0 && myPid != pid && myPid != parentPid && myPid != MY_PID) {
@@ -1405,7 +1420,7 @@
 
         // don't dump native PIDs for background ANRs unless it is the process of interest
         String[] nativeProcs = null;
-        if (isSilentANR) {
+        if (isSilentAnr()) {
             for (int i = 0; i < NATIVE_STACKS_OF_INTEREST.length; i++) {
                 if (NATIVE_STACKS_OF_INTEREST[i].equals(processName)) {
                     nativeProcs = new String[] { processName };
@@ -1429,11 +1444,11 @@
         // For background ANRs, don't pass the ProcessCpuTracker to
         // avoid spending 1/2 second collecting stats to rank lastPids.
         File tracesFile = ActivityManagerService.dumpStackTraces(firstPids,
-                (isSilentANR) ? null : processCpuTracker, (isSilentANR) ? null : lastPids,
+                (isSilentAnr()) ? null : processCpuTracker, (isSilentAnr()) ? null : lastPids,
                 nativePids);
 
         String cpuInfo = null;
-        if (ActivityManagerService.MONITOR_CPU_USAGE) {
+        if (isMonitorCpuUsage()) {
             mService.updateCpuStatsNow();
             synchronized (mService.mProcessCpuTracker) {
                 cpuInfo = mService.mProcessCpuTracker.printCurrentState(anrTime);
@@ -1477,9 +1492,13 @@
         }
 
         synchronized (mService) {
-            mService.mBatteryStatsService.noteProcessAnr(processName, uid);
+            // mBatteryStatsService can be null if the AMS is constructed with injector only. This
+            // will only happen in tests.
+            if (mService.mBatteryStatsService != null) {
+                mService.mBatteryStatsService.noteProcessAnr(processName, uid);
+            }
 
-            if (isSilentANR) {
+            if (isSilentAnr()) {
                 kill("bg anr", true);
                 return;
             }
@@ -1488,20 +1507,28 @@
             makeAppNotRespondingLocked(activityShortComponentName,
                     annotation != null ? "ANR " + annotation : "ANR", info.toString());
 
-            // Bring up the infamous App Not Responding dialog
-            Message msg = Message.obtain();
-            msg.what = ActivityManagerService.SHOW_NOT_RESPONDING_UI_MSG;
-            msg.obj = new AppNotRespondingDialog.Data(this, aInfo, aboveSystem);
+            // mUiHandler can be null if the AMS is constructed with injector only. This will only
+            // happen in tests.
+            if (mService.mUiHandler != null) {
+                // Bring up the infamous App Not Responding dialog
+                Message msg = Message.obtain();
+                msg.what = ActivityManagerService.SHOW_NOT_RESPONDING_UI_MSG;
+                msg.obj = new AppNotRespondingDialog.Data(this, aInfo, aboveSystem);
 
-            mService.mUiHandler.sendMessage(msg);
+                mService.mUiHandler.sendMessage(msg);
+            }
         }
     }
 
     private void makeAppNotRespondingLocked(String activity, String shortMsg, String longMsg) {
         setNotResponding(true);
-        notRespondingReport = mService.mAppErrors.generateProcessError(this,
-                ActivityManager.ProcessErrorStateInfo.NOT_RESPONDING,
-                activity, shortMsg, longMsg, null);
+        // mAppErrors can be null if the AMS is constructed with injector only. This will only
+        // happen in tests.
+        if (mService.mAppErrors != null) {
+            notRespondingReport = mService.mAppErrors.generateProcessError(this,
+                    ActivityManager.ProcessErrorStateInfo.NOT_RESPONDING,
+                    activity, shortMsg, longMsg, null);
+        }
         startAppProblemLocked();
         getWindowProcessController().stopFreezingActivities();
     }
@@ -1539,4 +1566,9 @@
                 (info != null && "com.android.systemui".equals(info.packageName))
                 || (hasTopUi() || hasOverlayUi());
     }
+
+    private boolean getShowBackground() {
+        return Settings.Secure.getInt(mService.mContext.getContentResolver(),
+                Settings.Secure.ANR_SHOW_BACKGROUND, 0) != 0;
+    }
 }
diff --git a/services/core/java/com/android/server/am/ServiceRecord.java b/services/core/java/com/android/server/am/ServiceRecord.java
index abc1066a..eeaa7de 100644
--- a/services/core/java/com/android/server/am/ServiceRecord.java
+++ b/services/core/java/com/android/server/am/ServiceRecord.java
@@ -125,6 +125,14 @@
     int pendingConnectionGroup;        // To be filled in to ProcessRecord once it connects
     int pendingConnectionImportance;   // To be filled in to ProcessRecord once it connects
 
+    // any current binding to this service has BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS flag?
+    private boolean hasBindingWhitelistingBgActivityStarts;
+    // is this service currently whitelisted to start activities from background by providing
+    // allowBackgroundActivityStarts=true to startServiceLocked()?
+    boolean hasStartedWhitelistingBgActivityStarts;
+    // used to clean up the state of hasStartedWhitelistingBgActivityStarts after a timeout
+    Runnable startedWhitelistingBgActivityStartsCleanUp;
+
     String stringName;      // caching of toString
 
     private int lastStartId;    // identifier of most recent start request.
@@ -371,6 +379,14 @@
         if (whitelistManager) {
             pw.print(prefix); pw.print("whitelistManager="); pw.println(whitelistManager);
         }
+        if (hasBindingWhitelistingBgActivityStarts) {
+            pw.print(prefix); pw.print("hasBindingWhitelistingBgActivityStarts=");
+            pw.println(hasBindingWhitelistingBgActivityStarts);
+        }
+        if (hasStartedWhitelistingBgActivityStarts) {
+            pw.print(prefix); pw.print("hasStartedWhitelistingBgActivityStarts=");
+            pw.println(hasStartedWhitelistingBgActivityStarts);
+        }
         if (delayed) {
             pw.print(prefix); pw.print("delayed="); pw.println(delayed);
         }
@@ -518,11 +534,20 @@
     }
 
     public void setProcess(ProcessRecord _proc) {
+        if (_proc != null) {
+            if (hasStartedWhitelistingBgActivityStarts || hasBindingWhitelistingBgActivityStarts) {
+                _proc.addAllowBackgroundActivityStartsToken(this);
+            } else {
+                _proc.removeAllowBackgroundActivityStartsToken(this);
+            }
+        } else if (app != null) {
+            app.removeAllowBackgroundActivityStartsToken(this);
+        }
         app = _proc;
-        if (pendingConnectionGroup > 0) {
-            app.connectionService = this;
-            app.connectionGroup = pendingConnectionGroup;
-            app.connectionImportance = pendingConnectionImportance;
+        if (pendingConnectionGroup > 0 && _proc != null) {
+            _proc.connectionService = this;
+            _proc.connectionGroup = pendingConnectionGroup;
+            _proc.connectionImportance = pendingConnectionImportance;
             pendingConnectionGroup = pendingConnectionImportance = 0;
         }
         if (ActivityManagerService.TRACK_PROCSTATS_ASSOCIATIONS) {
@@ -540,6 +565,62 @@
         }
     }
 
+    void updateHasBindingWhitelistingBgActivityStarts() {
+        boolean hasWhitelistingBinding = false;
+        for (int conni = connections.size() - 1; conni >= 0; conni--) {
+            ArrayList<ConnectionRecord> cr = connections.valueAt(conni);
+            for (int i = 0; i < cr.size(); i++) {
+                if ((cr.get(i).flags & Context.BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS) != 0) {
+                    hasWhitelistingBinding = true;
+                    break;
+                }
+            }
+            if (hasWhitelistingBinding) {
+                break;
+            }
+        }
+        if (hasBindingWhitelistingBgActivityStarts != hasWhitelistingBinding) {
+            hasBindingWhitelistingBgActivityStarts = hasWhitelistingBinding;
+            updateParentProcessBgActivityStartsWhitelistingToken();
+        }
+    }
+
+    void setHasBindingWhitelistingBgActivityStarts(boolean newValue) {
+        if (hasBindingWhitelistingBgActivityStarts != newValue) {
+            hasBindingWhitelistingBgActivityStarts = newValue;
+            updateParentProcessBgActivityStartsWhitelistingToken();
+        }
+    }
+
+    void setHasStartedWhitelistingBgActivityStarts(boolean newValue) {
+        if (hasStartedWhitelistingBgActivityStarts != newValue) {
+            hasStartedWhitelistingBgActivityStarts = newValue;
+            updateParentProcessBgActivityStartsWhitelistingToken();
+        }
+    }
+
+    /**
+     * Whether the process this service runs in should be temporarily whitelisted to start
+     * activities from background depends on the current state of both
+     * {@code hasStartedWhitelistingBgActivityStarts} and
+     * {@code hasBindingWhitelistingBgActivityStarts}. If either is true, this ServiceRecord
+     * should be contributing as a token in parent ProcessRecord.
+     *
+     * @see com.android.server.am.ProcessRecord#mAllowBackgroundActivityStartsTokens
+     */
+    private void updateParentProcessBgActivityStartsWhitelistingToken() {
+        if (app == null) {
+            return;
+        }
+        if (hasStartedWhitelistingBgActivityStarts || hasBindingWhitelistingBgActivityStarts) {
+            // if the token is already there it's safe to "re-add it" - we're deadling with
+            // a set of Binder objects
+            app.addAllowBackgroundActivityStartsToken(this);
+        } else {
+            app.removeAllowBackgroundActivityStartsToken(this);
+        }
+    }
+
     public AppBindRecord retrieveAppBindingLocked(Intent intent,
             ProcessRecord app) {
         Intent.FilterComparison filter = new Intent.FilterComparison(intent);
diff --git a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java
index 5da1ce6..99380c9 100644
--- a/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java
+++ b/services/core/java/com/android/server/am/SettingsToPropertiesMapper.java
@@ -16,6 +16,7 @@
 
 package com.android.server.am;
 
+import android.annotation.NonNull;
 import android.content.ContentResolver;
 import android.database.ContentObserver;
 import android.net.Uri;
@@ -82,8 +83,8 @@
         DeviceConfig.NAMESPACE_INPUT_NATIVE_BOOT,
         DeviceConfig.NAMESPACE_MEDIA_NATIVE,
         DeviceConfig.NAMESPACE_NETD_NATIVE,
+        DeviceConfig.NAMESPACE_RUNTIME_NATIVE,
         DeviceConfig.NAMESPACE_RUNTIME_NATIVE_BOOT,
-        DeviceConfig.RuntimeNative.NAMESPACE,
     };
 
     private final String[] mGlobalSettings;
@@ -167,7 +168,7 @@
      * booting.
      * @return
      */
-    public static String[] getResetNativeCategories() {
+    public static @NonNull String[] getResetNativeCategories() {
         if (!isNativeFlagsResetPerformed()) {
             return new String[0];
         }
diff --git a/services/core/java/com/android/server/am/UserController.java b/services/core/java/com/android/server/am/UserController.java
index 1e406c0..07c9cca 100644
--- a/services/core/java/com/android/server/am/UserController.java
+++ b/services/core/java/com/android/server/am/UserController.java
@@ -67,7 +67,6 @@
 import android.os.IUserManager;
 import android.os.Looper;
 import android.os.Message;
-import android.os.PowerManager;
 import android.os.Process;
 import android.os.RemoteCallbackList;
 import android.os.RemoteException;
@@ -335,14 +334,6 @@
                 return;
             }
         }
-        // Inform checkpointing systems of success
-        try {
-            getStorageManager().commitChanges();
-        } catch (Exception e) {
-            PowerManager pm = (PowerManager)
-                     mInjector.getContext().getSystemService(Context.POWER_SERVICE);
-            pm.reboot("Checkpoint commit failed");
-        }
 
         // We always walk through all the user lifecycle states to send
         // consistent developer events. We step into RUNNING_LOCKED here,
@@ -398,14 +389,14 @@
      * Step from {@link UserState#STATE_RUNNING_LOCKED} to
      * {@link UserState#STATE_RUNNING_UNLOCKING}.
      */
-    private void finishUserUnlocking(final UserState uss) {
+    private boolean finishUserUnlocking(final UserState uss) {
         final int userId = uss.mHandle.getIdentifier();
         // Only keep marching forward if user is actually unlocked
-        if (!StorageManager.isUserKeyUnlocked(userId)) return;
+        if (!StorageManager.isUserKeyUnlocked(userId)) return false;
         synchronized (mLock) {
             // Do not proceed if unexpected state or a stale user
             if (mStartedUsers.get(userId) != uss || uss.state != STATE_RUNNING_LOCKED) {
-                return;
+                return false;
             }
         }
         uss.mUnlockProgress.start();
@@ -436,6 +427,7 @@
             mHandler.obtainMessage(SYSTEM_USER_UNLOCK_MSG, userId, 0, uss)
                     .sendToTarget();
         });
+        return true;
     }
 
     /**
@@ -938,6 +930,7 @@
      *
      * @param userId ID of the user to start
      * @param foreground true if user should be brought to the foreground
+     * @param unlockListener Listener to be informed when the user has started and unlocked.
      * @return true if the user has been successfully started
      */
     boolean startUser(
@@ -962,6 +955,15 @@
         try {
             final int oldUserId = getCurrentUserId();
             if (oldUserId == userId) {
+                final UserState state = getStartedUserState(userId);
+                if (state != null && state.state == STATE_RUNNING_UNLOCKED) {
+                    // We'll skip all later code, so we must tell listener it's already unlocked.
+                    try {
+                        unlockListener.onFinished(userId, null);
+                    } catch (RemoteException ignore) {
+                        // Ignore.
+                    }
+                }
                 return true;
             }
 
@@ -1208,7 +1210,10 @@
             return false;
         }
 
-        finishUserUnlocking(uss);
+        if (!finishUserUnlocking(uss)) {
+            notifyFinished(userId, listener);
+            return false;
+        }
 
         // We just unlocked a user, so let's now attempt to unlock any
         // managed profiles under that user.
@@ -1547,8 +1552,8 @@
                     }
                     builder.append(" asks to run as user ");
                     builder.append(userId);
-                    builder.append(" but is calling from user ");
-                    builder.append(UserHandle.getUserId(callingUid));
+                    builder.append(" but is calling from uid ");
+                    UserHandle.formatUid(builder, callingUid);
                     builder.append("; this requires ");
                     builder.append(INTERACT_ACROSS_USERS_FULL);
                     if (allowMode != ALLOW_FULL_ONLY) {
diff --git a/services/core/java/com/android/server/appop/AppOpsService.java b/services/core/java/com/android/server/appop/AppOpsService.java
index ba7288e..9c26526 100644
--- a/services/core/java/com/android/server/appop/AppOpsService.java
+++ b/services/core/java/com/android/server/appop/AppOpsService.java
@@ -1742,10 +1742,31 @@
         return checkOperationUnchecked(code, uid, resolvedPackageName, raw);
     }
 
-    private int checkOperationUnchecked(int code, int uid, String packageName,
-                boolean raw) {
+    /**
+     * @see #checkOperationUnchecked(int, int, String, boolean, boolean)
+     */
+    private @Mode int checkOperationUnchecked(int code, int uid, @NonNull String packageName,
+            boolean raw) {
+        return checkOperationUnchecked(code, uid, packageName, raw, true);
+    }
+
+    /**
+     * Get the mode of an app-op.
+     *
+     * @param code The code of the op
+     * @param uid The uid of the package the op belongs to
+     * @param packageName The package the op belongs to
+     * @param raw If the raw state of eval-ed state should be checked.
+     * @param verify If the code should check the package belongs to the uid
+     *
+     * @return The mode of the op
+     */
+    private @Mode int checkOperationUnchecked(int code, int uid, @NonNull String packageName,
+                boolean raw, boolean verify) {
         synchronized (this) {
-            checkPackage(uid, packageName);
+            if (verify) {
+                checkPackage(uid, packageName);
+            }
             if (isOpRestrictedLocked(uid, code, packageName)) {
                 return AppOpsManager.MODE_IGNORED;
             }
@@ -1756,7 +1777,7 @@
                 final int rawMode = uidState.opModes.get(code);
                 return raw ? rawMode : uidState.evalMode(code, rawMode);
             }
-            Op op = getOpLocked(code, uid, packageName, false, true, false);
+            Op op = getOpLocked(code, uid, packageName, false, verify, false);
             if (op == null) {
                 return AppOpsManager.opToDefaultMode(code);
             }
@@ -2359,7 +2380,7 @@
         throw new IllegalArgumentException("Bad operation #" + op);
     }
 
-    private @NonNull UidState getUidStateLocked(int uid, boolean edit) {
+    private @Nullable UidState getUidStateLocked(int uid, boolean edit) {
         UidState uidState = mUidStates.get(uid);
         if (uidState == null) {
             if (!edit) {
@@ -4535,5 +4556,10 @@
         public void setAllPkgModesToDefault(int code, int uid) {
             AppOpsService.this.setAllPkgModesToDefault(code, uid);
         }
+
+        @Override
+        public @Mode int checkOperationUnchecked(int code, int uid, @NonNull String packageName) {
+            return AppOpsService.this.checkOperationUnchecked(code, uid, packageName, true, false);
+        }
     }
 }
diff --git a/services/core/java/com/android/server/appop/HistoricalRegistry.java b/services/core/java/com/android/server/appop/HistoricalRegistry.java
index 280bc02..d723c7b 100644
--- a/services/core/java/com/android/server/appop/HistoricalRegistry.java
+++ b/services/core/java/com/android/server/appop/HistoricalRegistry.java
@@ -146,7 +146,7 @@
      * Whether history is enabled.
      */
     @GuardedBy("mInMemoryLock")
-    private int mMode = AppOpsManager.HISTORICAL_MODE_DISABLED;
+    private int mMode = AppOpsManager.HISTORICAL_MODE_ENABLED_ACTIVE;
 
     /**
      * This granularity has been chosen to allow clean delineation for intervals
diff --git a/services/core/java/com/android/server/appop/TEST_MAPPING b/services/core/java/com/android/server/appop/TEST_MAPPING
index f2e2782..a53797d 100644
--- a/services/core/java/com/android/server/appop/TEST_MAPPING
+++ b/services/core/java/com/android/server/appop/TEST_MAPPING
@@ -7,13 +7,7 @@
             "name": "FrameworksServicesTests",
             "options": [
                 {
-                    "include-filter": "com.android.server.appop.AppOpsUpgradeTest"
-                },
-                {
-                    "include-filter": "com.android.server.appop.AppOpsServiceTest"
-                },
-                {
-                    "include-filter": "com.android.server.appop.AppOpsActiveWatcherTest"
+                    "include-filter": "com.android.server.appop"
                 }
             ]
         }
diff --git a/services/core/java/com/android/server/attention/AttentionManagerService.java b/services/core/java/com/android/server/attention/AttentionManagerService.java
index 47c9b86..4e0380d 100644
--- a/services/core/java/com/android/server/attention/AttentionManagerService.java
+++ b/services/core/java/com/android/server/attention/AttentionManagerService.java
@@ -16,9 +16,7 @@
 
 package com.android.server.attention;
 
-import static android.provider.DeviceConfig.AttentionManagerService.COMPONENT_NAME;
-import static android.provider.DeviceConfig.AttentionManagerService.NAMESPACE;
-import static android.provider.DeviceConfig.AttentionManagerService.SERVICE_ENABLED;
+import static android.provider.DeviceConfig.NAMESPACE_ATTENTION_MANAGER_SERVICE;
 
 import android.Manifest;
 import android.annotation.Nullable;
@@ -61,6 +59,7 @@
 import com.android.internal.util.Preconditions;
 import com.android.server.SystemService;
 
+import java.io.FileDescriptor;
 import java.io.PrintWriter;
 
 /**
@@ -80,6 +79,12 @@
     /** If the check attention called within that period - cached value will be returned. */
     private static final long STALE_AFTER_MILLIS = 5_000;
 
+    /** DeviceConfig flag name, if {@code true}, enables AttentionManagerService features. */
+    private static final String SERVICE_ENABLED = "service_enabled";
+
+    /** DeviceConfig flag name, allows a CTS to inject a fake implementation. */
+    private static final String COMPONENT_NAME = "component_name";
+
     private final Context mContext;
     private final PowerManager mPowerManager;
     private final Object mLock;
@@ -99,6 +104,7 @@
 
     @Override
     public void onStart() {
+        publishBinderService(Context.ATTENTION_SERVICE, new BinderService());
         publishLocalService(AttentionManagerInternal.class, new LocalService());
     }
 
@@ -122,13 +128,13 @@
     /**
      * Returns {@code true} if attention service is supported on this device.
      */
-    public boolean isAttentionServiceSupported() {
+    private boolean isAttentionServiceSupported() {
         return isServiceEnabled() && isServiceAvailable();
     }
 
     private boolean isServiceEnabled() {
-        final String enabled = DeviceConfig.getProperty(NAMESPACE, SERVICE_ENABLED);
-        return enabled == null ? DEFAULT_SERVICE_ENABLED : "true".equals(enabled);
+        return DeviceConfig.getBoolean(NAMESPACE_ATTENTION_MANAGER_SERVICE, SERVICE_ENABLED,
+                DEFAULT_SERVICE_ENABLED);
     }
 
     /**
@@ -136,7 +142,7 @@
      *
      * @return {@code true} if the framework was able to send the provided callback to the service
      */
-    public boolean checkAttention(int requestCode, long timeout,
+    private boolean checkAttention(int requestCode, long timeout,
             AttentionCallbackInternal callback) {
         Preconditions.checkNotNull(callback);
 
@@ -214,7 +220,7 @@
     }
 
     /** Cancels the specified attention check. */
-    public void cancelAttentionCheck(int requestCode) {
+    private void cancelAttentionCheck(int requestCode) {
         synchronized (mLock) {
             final UserState userState = peekCurrentUserStateLocked();
             if (userState == null) {
@@ -284,7 +290,8 @@
      * system.
      */
     private static ComponentName resolveAttentionService(Context context) {
-        final String flag = DeviceConfig.getProperty(NAMESPACE, COMPONENT_NAME);
+        final String flag = DeviceConfig.getProperty(NAMESPACE_ATTENTION_MANAGER_SERVICE,
+                COMPONENT_NAME);
 
         final String componentNameString = flag != null ? flag : context.getString(
                 R.string.config_defaultAttentionService);
@@ -324,17 +331,15 @@
         return null;
     }
 
-    private void dumpInternal(PrintWriter pw) {
-        if (!DumpUtils.checkDumpPermission(mContext, LOG_TAG, pw)) return;
-        IndentingPrintWriter ipw = new IndentingPrintWriter(pw, "  ");
-        ipw.println("Attention Manager Service (dumpsys attention)\n");
+    private void dumpInternal(IndentingPrintWriter ipw) {
+        ipw.println("Attention Manager Service (dumpsys attention) state:\n");
 
         ipw.printPair("context", mContext);
-        pw.println();
+        ipw.println();
         synchronized (mLock) {
             int size = mUserStates.size();
             ipw.print("Number user states: ");
-            pw.println(size);
+            ipw.println(size);
             if (size > 0) {
                 ipw.increaseIndent();
                 for (int i = 0; i < size; i++) {
@@ -586,4 +591,15 @@
             }
         }
     }
+
+    private final class BinderService extends Binder {
+        @Override
+        protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+            if (!DumpUtils.checkDumpPermission(mContext, LOG_TAG, pw)) {
+                return;
+            }
+
+            dumpInternal(new IndentingPrintWriter(pw, "  "));
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/audio/AudioDeviceBroker.java b/services/core/java/com/android/server/audio/AudioDeviceBroker.java
index 451fd66..b774647 100644
--- a/services/core/java/com/android/server/audio/AudioDeviceBroker.java
+++ b/services/core/java/com/android/server/audio/AudioDeviceBroker.java
@@ -170,8 +170,15 @@
         }
     }
 
-    /*package*/ void setSpeakerphoneOn(boolean on, String eventSource) {
+    /**
+     * Turns speakerphone on/off
+     * @param on
+     * @param eventSource for logging purposes
+     * @return true if speakerphone state changed
+     */
+    /*package*/ boolean setSpeakerphoneOn(boolean on, String eventSource) {
         synchronized (mDeviceStateLock) {
+            final boolean wasOn = isSpeakerphoneOn();
             if (on) {
                 if (mForcedUseForComm == AudioSystem.FORCE_BT_SCO) {
                     setForceUse_Async(AudioSystem.FOR_RECORD, AudioSystem.FORCE_NONE, eventSource);
@@ -183,6 +190,7 @@
 
             mForcedUseForCommExt = mForcedUseForComm;
             setForceUse_Async(AudioSystem.FOR_COMMUNICATION, mForcedUseForComm, eventSource);
+            return (wasOn != isSpeakerphoneOn());
         }
     }
 
@@ -230,17 +238,13 @@
         sendLMsgNoDelay(MSG_L_A2DP_DEVICE_CONNECTION_CHANGE_EXT, SENDMSG_QUEUE, info);
     }
 
-    /*package*/ int handleBluetoothA2dpActiveDeviceChange(
+    /*package*/ void postBluetoothA2dpDeviceConfigChangeExt(
             @NonNull BluetoothDevice device,
             @AudioService.BtProfileConnectionState int state, int profile,
             boolean suppressNoisyIntent, int a2dpVolume) {
-        // FIXME method was added by @a8439e2 but never used, and now conflicts with async behavior
-        //   of handleBluetoothA2dpDeviceConfigChange and
-        //   setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent
-        synchronized (mDeviceStateLock) {
-            return mDeviceInventory.handleBluetoothA2dpActiveDeviceChange(device, state, profile,
-                    suppressNoisyIntent, a2dpVolume);
-        }
+        final BtDeviceConnectionInfo info = new BtDeviceConnectionInfo(device, state, profile,
+                suppressNoisyIntent, a2dpVolume);
+        sendLMsgNoDelay(MSG_L_A2DP_ACTIVE_DEVICE_CHANGE_EXT, SENDMSG_QUEUE, info);
     }
 
     private static final class HearingAidDeviceConnectionInfo {
@@ -542,7 +546,8 @@
         mBrokerHandler.removeMessages(MSG_IL_BTA2DP_DOCK_TIMEOUT);
     }
 
-    /*package*/ void postA2dpActiveDeviceChange(BtHelper.BluetoothA2dpDeviceInfo btDeviceInfo) {
+    /*package*/ void postA2dpActiveDeviceChange(
+                    @NonNull BtHelper.BluetoothA2dpDeviceInfo btDeviceInfo) {
         sendLMsgNoDelay(MSG_L_A2DP_ACTIVE_DEVICE_CHANGE, SENDMSG_QUEUE, btDeviceInfo);
     }
 
@@ -714,8 +719,9 @@
                     final BluetoothDevice btDevice = (BluetoothDevice) msg.obj;
                     synchronized (mDeviceStateLock) {
                         a2dpCodec = mBtHelper.getA2dpCodec(btDevice);
-                        mDeviceInventory.onBluetoothA2dpDeviceConfigChange(
-                                new BtHelper.BluetoothA2dpDeviceInfo(btDevice, -1, a2dpCodec));
+                        mDeviceInventory.onBluetoothA2dpActiveDeviceChange(
+                                new BtHelper.BluetoothA2dpDeviceInfo(btDevice, -1, a2dpCodec),
+                                        BtHelper.EVENT_DEVICE_CONFIG_CHANGE);
                     }
                     break;
                 case MSG_BROADCAST_AUDIO_BECOMING_NOISY:
@@ -744,7 +750,8 @@
                 case MSG_L_A2DP_ACTIVE_DEVICE_CHANGE:
                     synchronized (mDeviceStateLock) {
                         mDeviceInventory.onBluetoothA2dpActiveDeviceChange(
-                                (BtHelper.BluetoothA2dpDeviceInfo) msg.obj);
+                                (BtHelper.BluetoothA2dpDeviceInfo) msg.obj,
+                                 BtHelper.EVENT_ACTIVE_DEVICE_CHANGE);
                     }
                     break;
                 case MSG_DISCONNECT_A2DP:
@@ -816,6 +823,22 @@
                                 info.mDevice, info.mState, info.mSupprNoisy, info.mMusicDevice);
                     }
                 } break;
+                case MSG_L_A2DP_ACTIVE_DEVICE_CHANGE_EXT: {
+                    final BtDeviceConnectionInfo info = (BtDeviceConnectionInfo) msg.obj;
+                    AudioService.sDeviceLogger.log((new AudioEventLogger.StringEvent(
+                            "handleBluetoothA2dpActiveDeviceChangeExt "
+                                    + " state=" + info.mState
+                                    // only querying address as this is the only readily available
+                                    // field on the device
+                                    + " addr=" + info.mDevice.getAddress()
+                                    + " prof=" + info.mProfile + " supprNoisy=" + info.mSupprNoisy
+                                    + " vol=" + info.mVolume)).printLog(TAG));
+                    synchronized (mDeviceStateLock) {
+                        mDeviceInventory.handleBluetoothA2dpActiveDeviceChangeExt(
+                                info.mDevice, info.mState, info.mProfile,
+                                info.mSupprNoisy, info.mVolume);
+                    }
+                } break;
                 default:
                     Log.wtf(TAG, "Invalid message " + msg.what);
             }
@@ -863,6 +886,8 @@
     private static final int MSG_L_A2DP_DEVICE_CONNECTION_CHANGE_EXT = 27;
     // process external command to (dis)connect a hearing aid device
     private static final int MSG_L_HEARING_AID_DEVICE_CONNECTION_CHANGE_EXT = 28;
+    // process external command to (dis)connect or change active A2DP device
+    private static final int MSG_L_A2DP_ACTIVE_DEVICE_CHANGE_EXT = 29;
 
 
     private static boolean isMessageHandledUnderWakelock(int msgId) {
@@ -877,6 +902,7 @@
             case MSG_L_A2DP_ACTIVE_DEVICE_CHANGE:
             case MSG_L_A2DP_DEVICE_CONNECTION_CHANGE_EXT:
             case MSG_L_HEARING_AID_DEVICE_CONNECTION_CHANGE_EXT:
+            case MSG_L_A2DP_ACTIVE_DEVICE_CHANGE_EXT:
                 return true;
             default:
                 return false;
diff --git a/services/core/java/com/android/server/audio/AudioDeviceInventory.java b/services/core/java/com/android/server/audio/AudioDeviceInventory.java
index 41a3c98..5ec8cfa 100644
--- a/services/core/java/com/android/server/audio/AudioDeviceInventory.java
+++ b/services/core/java/com/android/server/audio/AudioDeviceInventory.java
@@ -263,74 +263,25 @@
         }
     }
 
-    /*package*/ void onBluetoothA2dpDeviceConfigChange(
-            @NonNull BtHelper.BluetoothA2dpDeviceInfo btInfo) {
+    /*package*/ void onBluetoothA2dpActiveDeviceChange(
+            @NonNull BtHelper.BluetoothA2dpDeviceInfo btInfo, int event) {
         final BluetoothDevice btDevice = btInfo.getBtDevice();
-        if (AudioService.DEBUG_DEVICES) {
-            Log.d(TAG, "onBluetoothA2dpDeviceConfigChange btDevice=" + btDevice);
-        }
         if (btDevice == null) {
             return;
         }
-        String address = btDevice.getAddress();
-        if (!BluetoothAdapter.checkBluetoothAddress(address)) {
-            address = "";
-        }
-        AudioService.sDeviceLogger.log(new AudioEventLogger.StringEvent(
-                "onBluetoothA2dpDeviceConfigChange addr=" + address));
-
-        final int a2dpCodec = btInfo.getCodec();
-
-        synchronized (mConnectedDevices) {
-            if (mDeviceBroker.hasScheduledA2dpSinkConnectionState(btDevice)) {
-                AudioService.sDeviceLogger.log(new AudioEventLogger.StringEvent(
-                        "A2dp config change ignored"));
-                return;
-            }
-            final String key =
-                    DeviceInfo.makeDeviceListKey(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, address);
-            final DeviceInfo di = mConnectedDevices.get(key);
-            if (di == null) {
-                Log.e(TAG, "invalid null DeviceInfo in onBluetoothA2dpDeviceConfigChange");
-                return;
-            }
-            // Device is connected
-            if (di.mDeviceCodecFormat != a2dpCodec) {
-                di.mDeviceCodecFormat = a2dpCodec;
-                mConnectedDevices.replace(key, di);
-            }
-            if (AudioService.DEBUG_DEVICES) {
-                Log.d(TAG, "onBluetoothA2dpDeviceConfigChange: codec="
-                        + di.mDeviceCodecFormat);
-            }
-            if (AudioSystem.handleDeviceConfigChange(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, address,
-                    btDevice.getName(), di.mDeviceCodecFormat) != AudioSystem.AUDIO_STATUS_OK) {
-                // force A2DP device disconnection in case of error so that AudioService state
-                // is consistent with audio policy manager state
-                final int musicDevice = mDeviceBroker.getDeviceForStream(AudioSystem.STREAM_MUSIC);
-                setBluetoothA2dpDeviceConnectionState(
-                        btDevice, BluetoothA2dp.STATE_DISCONNECTED, BluetoothProfile.A2DP,
-                        false /* suppressNoisyIntent */, musicDevice,
-                        -1 /* a2dpVolume */);
-            }
-        }
-    }
-
-    /*package*/ void onBluetoothA2dpActiveDeviceChange(
-            @NonNull BtHelper.BluetoothA2dpDeviceInfo btInfo) {
-        final BluetoothDevice btDevice = btInfo.getBtDevice();
-        int a2dpVolume = btInfo.getVolume();
-        final int a2dpCodec = btInfo.getCodec();
-
         if (AudioService.DEBUG_DEVICES) {
             Log.d(TAG, "onBluetoothA2dpActiveDeviceChange btDevice=" + btDevice);
         }
+        int a2dpVolume = btInfo.getVolume();
+        final int a2dpCodec = btInfo.getCodec();
+
         String address = btDevice.getAddress();
         if (!BluetoothAdapter.checkBluetoothAddress(address)) {
             address = "";
         }
         AudioService.sDeviceLogger.log(new AudioEventLogger.StringEvent(
-                "onBluetoothA2dpActiveDeviceChange addr=" + address));
+                "onBluetoothA2dpActiveDeviceChange addr=" + address
+                    + " event=" + BtHelper.a2dpDeviceEventToString(event)));
 
         synchronized (mConnectedDevices) {
             //TODO original CL is not consistent between BluetoothDevice and BluetoothA2dpDeviceInfo
@@ -344,20 +295,28 @@
                     AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, address);
             final DeviceInfo di = mConnectedDevices.get(key);
             if (di == null) {
+                Log.e(TAG, "invalid null DeviceInfo in onBluetoothA2dpActiveDeviceChange");
                 return;
             }
 
-            // Device is connected
-            if (a2dpVolume != -1) {
-                final AudioService.VolumeStreamState streamState =
-                        mDeviceBroker.getStreamState(AudioSystem.STREAM_MUSIC);
-                // Convert index to internal representation in VolumeStreamState
-                a2dpVolume = a2dpVolume * 10;
-                streamState.setIndex(a2dpVolume, AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP,
-                        "onBluetoothA2dpActiveDeviceChange");
-                mDeviceBroker.setDeviceVolume(streamState, AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP);
+            if (event == BtHelper.EVENT_ACTIVE_DEVICE_CHANGE) {
+                // Device is connected
+                if (a2dpVolume != -1) {
+                    final AudioService.VolumeStreamState streamState =
+                            mDeviceBroker.getStreamState(AudioSystem.STREAM_MUSIC);
+                    // Convert index to internal representation in VolumeStreamState
+                    a2dpVolume = a2dpVolume * 10;
+                    streamState.setIndex(a2dpVolume, AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP,
+                            "onBluetoothA2dpActiveDeviceChange");
+                    mDeviceBroker.setDeviceVolume(
+                            streamState, AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP);
+                }
+            } else if (event == BtHelper.EVENT_DEVICE_CONFIG_CHANGE) {
+                if (di.mDeviceCodecFormat != a2dpCodec) {
+                    di.mDeviceCodecFormat = a2dpCodec;
+                    mConnectedDevices.replace(key, di);
+                }
             }
-
             if (AudioSystem.handleDeviceConfigChange(AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, address,
                     btDevice.getName(), a2dpCodec) != AudioSystem.AUDIO_STATUS_OK) {
                 int musicDevice = mDeviceBroker.getDeviceForStream(AudioSystem.STREAM_MUSIC);
@@ -616,52 +575,48 @@
         }
     }
 
-    /*package*/ int handleBluetoothA2dpActiveDeviceChange(
+    /*package*/ void handleBluetoothA2dpActiveDeviceChangeExt(
             @NonNull BluetoothDevice device,
             @AudioService.BtProfileConnectionState int state, int profile,
             boolean suppressNoisyIntent, int a2dpVolume) {
-        // method was added by QC but never used, and now conflicts with async behavior of
-        // handleBluetoothA2dpDeviceConfigChange and
-        // setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent
-        if (false) {
-            if (state == BluetoothProfile.STATE_DISCONNECTED) {
-                setBluetoothA2dpDeviceConnectionState(device, state, profile,
-                        suppressNoisyIntent, AudioSystem.DEVICE_NONE, a2dpVolume);
+        if (state == BluetoothProfile.STATE_DISCONNECTED) {
+            mDeviceBroker.postBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(
+                           device, state, profile, suppressNoisyIntent, a2dpVolume);
+            return;
+        }
+        // state == BluetoothProfile.STATE_CONNECTED
+        synchronized (mConnectedDevices) {
+            final String address = device.getAddress();
+            final int a2dpCodec = mDeviceBroker.getA2dpCodec(device);
+            final String deviceKey = DeviceInfo.makeDeviceListKey(
+                        AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, address);
+            DeviceInfo deviceInfo = mConnectedDevices.get(deviceKey);
+            if (deviceInfo != null) {
+                // Device config change for matching A2DP device
+                mDeviceBroker.postBluetoothA2dpDeviceConfigChange(device);
+                return;
             }
-            // state == BluetoothProfile.STATE_CONNECTED
-            synchronized (mConnectedDevices) {
-                for (int i = 0; i < mConnectedDevices.size(); i++) {
-                    final DeviceInfo deviceInfo = mConnectedDevices.valueAt(i);
-                    if (deviceInfo.mDeviceType != AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP) {
-                        continue;
-                    }
-                    // If A2DP device exists, this is either an active device change or
-                    // device config change
-                    final String existingDevicekey = mConnectedDevices.keyAt(i);
-                    final String deviceName = device.getName();
-                    final String address = device.getAddress();
-                    final String newDeviceKey = DeviceInfo.makeDeviceListKey(
-                            AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, address);
-                    int a2dpCodec = mDeviceBroker.getA2dpCodec(device);
-                    // Device not equal to existing device, active device change
-                    if (!TextUtils.equals(existingDevicekey, newDeviceKey)) {
-                        mConnectedDevices.remove(existingDevicekey);
-                        mConnectedDevices.put(newDeviceKey, new DeviceInfo(
-                                AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, deviceName,
-                                address, a2dpCodec));
-                        mDeviceBroker.postA2dpActiveDeviceChange(
-                                new BtHelper.BluetoothA2dpDeviceInfo(
-                                        device, a2dpVolume, a2dpCodec));
-                        return 0;
-                    } else {
-                        // Device config change for existing device
-                        mDeviceBroker.postBluetoothA2dpDeviceConfigChange(device);
-                        return 0;
-                    }
+            for (int i = 0; i < mConnectedDevices.size(); i++) {
+                deviceInfo = mConnectedDevices.valueAt(i);
+                if (deviceInfo.mDeviceType != AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP) {
+                    continue;
                 }
+                // A2DP device exists, handle active device change
+                final String existingDevicekey = mConnectedDevices.keyAt(i);
+                final String deviceName = device.getName();
+                mConnectedDevices.remove(existingDevicekey);
+                mConnectedDevices.put(deviceKey, new DeviceInfo(
+                        AudioSystem.DEVICE_OUT_BLUETOOTH_A2DP, deviceName,
+                        address, a2dpCodec));
+                mDeviceBroker.postA2dpActiveDeviceChange(
+                        new BtHelper.BluetoothA2dpDeviceInfo(
+                            device, a2dpVolume, a2dpCodec));
+                return;
             }
         }
-        return 0;
+        // New A2DP device connection
+        mDeviceBroker.postBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent(
+                           device, state, profile, suppressNoisyIntent, a2dpVolume);
     }
 
     /*package*/ int setWiredDeviceConnectionState(int type, @AudioService.ConnectionState int state,
@@ -858,11 +813,20 @@
         if (musicDevice == AudioSystem.DEVICE_NONE) {
             musicDevice = mDeviceBroker.getDeviceForStream(AudioSystem.STREAM_MUSIC);
         }
-        // ignore condition on device being actually used for music when in communication
+
+        // always ignore condition on device being actually used for music when in communication
         // because music routing is altered in this case.
-        // also checks whether media routing if affected by a dynamic policy
+        // also checks whether media routing if affected by a dynamic policy or mirroring
         if (((device == musicDevice) || mDeviceBroker.isInCommunication())
-                && (device == devices) && !mDeviceBroker.hasMediaDynamicPolicy()) {
+                && (device == devices) && !mDeviceBroker.hasMediaDynamicPolicy()
+                        && ((musicDevice & AudioSystem.DEVICE_OUT_REMOTE_SUBMIX) == 0)) {
+            if (!AudioSystem.isStreamActive(AudioSystem.STREAM_MUSIC, 0 /*not looking in past*/)) {
+                // no media playback, not a "becoming noisy" situation, otherwise it could cause
+                // the pausing of some apps that are playing remotely
+                AudioService.sDeviceLogger.log((new AudioEventLogger.StringEvent(
+                        "dropping ACTION_AUDIO_BECOMING_NOISY, no media playback")).printLog(TAG));
+                return 0;
+            }
             mDeviceBroker.postBroadcastBecomingNoisy();
             delay = 1000;
         }
diff --git a/services/core/java/com/android/server/audio/AudioService.java b/services/core/java/com/android/server/audio/AudioService.java
index 91d19de..a14a638 100644
--- a/services/core/java/com/android/server/audio/AudioService.java
+++ b/services/core/java/com/android/server/audio/AudioService.java
@@ -3331,7 +3331,11 @@
         final String eventSource = new StringBuilder("setSpeakerphoneOn(").append(on)
                 .append(") from u/pid:").append(Binder.getCallingUid()).append("/")
                 .append(Binder.getCallingPid()).toString();
-        mDeviceBroker.setSpeakerphoneOn(on, eventSource);
+        final boolean stateChanged = mDeviceBroker.setSpeakerphoneOn(on, eventSource);
+        if (stateChanged) {
+            mContext.sendBroadcast(new Intent(AudioManager.ACTION_SPEAKERPHONE_STATE_CHANGED)
+                    .setFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY));
+        }
     }
 
     /** @see AudioManager#isSpeakerphoneOn() */
@@ -4094,12 +4098,9 @@
      * @see AudioManager#handleBluetoothA2dpActiveDeviceChange(BluetoothDevice, int, int,
      *                                                          boolean, int)
      */
-    public int handleBluetoothA2dpActiveDeviceChange(
+    public void handleBluetoothA2dpActiveDeviceChange(
             BluetoothDevice device, int state, int profile, boolean suppressNoisyIntent,
             int a2dpVolume) {
-        // FIXME method was added by @a8439e2 but never used, and now conflicts with async behavior
-        //   of handleBluetoothA2dpDeviceConfigChange and
-        //   setBluetoothA2dpDeviceConnectionStateSuppressNoisyIntent
         if (device == null) {
             throw new IllegalArgumentException("Illegal null device");
         }
@@ -4110,7 +4111,7 @@
                 && state != BluetoothProfile.STATE_DISCONNECTED) {
             throw new IllegalArgumentException("Invalid state " + state);
         }
-        return mDeviceBroker.handleBluetoothA2dpActiveDeviceChange(device, state, profile,
+        mDeviceBroker.postBluetoothA2dpDeviceConfigChangeExt(device, state, profile,
                 suppressNoisyIntent, a2dpVolume);
     }
 
@@ -5956,6 +5957,14 @@
         pw.print("  mVolumePolicy="); pw.println(mVolumePolicy);
         pw.print("  mAvrcpAbsVolSupported=");
         pw.println(mDeviceBroker.isAvrcpAbsoluteVolumeSupported());
+        pw.print("  mIsSingleVolume="); pw.println(mIsSingleVolume);
+        pw.print("  mUseFixedVolume="); pw.println(mUseFixedVolume);
+        pw.print("  mFixedVolumeDevices=0x"); pw.println(Integer.toHexString(mFixedVolumeDevices));
+        pw.print("  mHdmiCecSink="); pw.println(mHdmiCecSink);
+        pw.print("  mHdmiAudioSystemClient="); pw.println(mHdmiAudioSystemClient);
+        pw.print("  mHdmiPlaybackClient="); pw.println(mHdmiPlaybackClient);
+        pw.print("  mHdmiTvClient="); pw.println(mHdmiTvClient);
+        pw.print("  mHdmiSystemAudioSupported="); pw.println(mHdmiSystemAudioSupported);
 
         dumpAudioPolicies(pw);
         mDynPolicyLogger.dump(pw);
@@ -6387,7 +6396,28 @@
         return mProjectionService;
     }
 
-    public void unregisterAudioPolicyAsync(IAudioPolicyCallback pcb) {
+    /**
+     * See {@link AudioManager#unregisterAudioPolicyAsync(AudioPolicy)}
+     * Declared oneway
+     * @param pcb nullable because on service interface
+     */
+    public void unregisterAudioPolicyAsync(@Nullable IAudioPolicyCallback pcb) {
+        unregisterAudioPolicy(pcb);
+    }
+
+    /**
+     * See {@link AudioManager#unregisterAudioPolicy(AudioPolicy)}
+     * @param pcb nullable because on service interface
+     */
+    public void unregisterAudioPolicy(@Nullable IAudioPolicyCallback pcb) {
+        if (pcb == null) {
+            return;
+        }
+        unregisterAudioPolicyInt(pcb);
+    }
+
+
+    private void unregisterAudioPolicyInt(@NonNull IAudioPolicyCallback pcb) {
         mDynPolicyLogger.log((new AudioEventLogger.StringEvent("unregisterAudioPolicyAsync for "
                 + pcb.asBinder()).printLog(TAG)));
         synchronized (mAudioPolicies) {
diff --git a/services/core/java/com/android/server/audio/BtHelper.java b/services/core/java/com/android/server/audio/BtHelper.java
index 04073cb..522a55d 100644
--- a/services/core/java/com/android/server/audio/BtHelper.java
+++ b/services/core/java/com/android/server/audio/BtHelper.java
@@ -139,6 +139,19 @@
         }
     }
 
+    // A2DP device events
+    /*package*/ static final int EVENT_DEVICE_CONFIG_CHANGE = 0;
+    /*package*/ static final int EVENT_ACTIVE_DEVICE_CHANGE = 1;
+
+    /*package*/ static String a2dpDeviceEventToString(int event) {
+        switch (event) {
+            case EVENT_DEVICE_CONFIG_CHANGE: return "DEVICE_CONFIG_CHANGE";
+            case EVENT_ACTIVE_DEVICE_CHANGE: return "ACTIVE_DEVICE_CHANGE";
+            default:
+                return new String("invalid event:" + event);
+        }
+    }
+
     //----------------------------------------------------------------------
     // Interface for AudioDeviceBroker
 
diff --git a/services/core/java/com/android/server/audio/MediaFocusControl.java b/services/core/java/com/android/server/audio/MediaFocusControl.java
index b4bbbc7..d028e88 100644
--- a/services/core/java/com/android/server/audio/MediaFocusControl.java
+++ b/services/core/java/com/android/server/audio/MediaFocusControl.java
@@ -543,16 +543,17 @@
     }
 
     /**
-     * Called synchronized on mAudioFocusLock
+     * Called synchronized on mAudioFocusLock.
+     * Can only be called with an external focus policy installed (mFocusPolicy != null)
      * @param afi
-     * @param requestResult
-     * @return true if the external audio focus policy (if any) is handling the focus request
+     * @param fd
+     * @param cb binder of the focus requester
+     * @return true if the external audio focus policy (if any) can handle the focus request,
+     *     and false if there was any error handling the request (e.g. error talking to policy,
+     *     focus requester is already dead)
      */
     boolean notifyExtFocusPolicyFocusRequest_syncAf(AudioFocusInfo afi,
-            IAudioFocusDispatcher fd, IBinder cb) {
-        if (mFocusPolicy == null) {
-            return false;
-        }
+            IAudioFocusDispatcher fd, @NonNull IBinder cb) {
         if (DEBUG) {
             Log.v(TAG, "notifyExtFocusPolicyFocusRequest client="+afi.getClientId()
             + " dispatcher=" + fd);
@@ -561,19 +562,28 @@
             afi.setGen(mExtFocusChangeCounter++);
         }
         final FocusRequester existingFr = mFocusOwnersForFocusPolicy.get(afi.getClientId());
+        boolean keepTrack = false;
         if (existingFr != null) {
             if (!existingFr.hasSameDispatcher(fd)) {
                 existingFr.release();
-                final AudioFocusDeathHandler hdlr = new AudioFocusDeathHandler(cb);
-                mFocusOwnersForFocusPolicy.put(afi.getClientId(),
-                        new FocusRequester(afi, fd, cb, hdlr, this));
+                keepTrack = true;
             }
         } else {
-            // new focus (future) focus owner to keep track of
+            keepTrack = true;
+        }
+        if (keepTrack) {
             final AudioFocusDeathHandler hdlr = new AudioFocusDeathHandler(cb);
+            try {
+                cb.linkToDeath(hdlr, 0);
+            } catch (RemoteException e) {
+                // client has already died!
+                return false;
+            }
+            // new focus (future) focus owner to keep track of
             mFocusOwnersForFocusPolicy.put(afi.getClientId(),
                     new FocusRequester(afi, fd, cb, hdlr, this));
         }
+
         try {
             //oneway
             mFocusPolicy.notifyAudioFocusRequest(afi, AudioManager.AUDIOFOCUS_REQUEST_GRANTED);
@@ -600,7 +610,6 @@
     /**
      * Called synchronized on mAudioFocusLock
      * @param afi
-     * @param requestResult
      * @return true if the external audio focus policy (if any) is handling the focus request
      */
     boolean notifyExtFocusPolicyFocusAbandon_syncAf(AudioFocusInfo afi) {
@@ -767,10 +776,15 @@
             }
 
             // external focus policy?
-            if (notifyExtFocusPolicyFocusRequest_syncAf(
-                    afiForExtPolicy, fd, cb)) {
-                // stop handling focus request here as it is handled by external audio focus policy
-                return AudioManager.AUDIOFOCUS_REQUEST_WAITING_FOR_EXT_POLICY;
+            if (mFocusPolicy != null) {
+                if (notifyExtFocusPolicyFocusRequest_syncAf(afiForExtPolicy, fd, cb)) {
+                    // stop handling focus request here as it is handled by external audio
+                    // focus policy (return code will be handled in AudioManager)
+                    return AudioManager.AUDIOFOCUS_REQUEST_WAITING_FOR_EXT_POLICY;
+                } else {
+                    // an error occured, client already dead, bail early
+                    return AudioManager.AUDIOFOCUS_REQUEST_FAILED;
+                }
             }
 
             // handle the potential premature death of the new holder of the focus
diff --git a/services/core/java/com/android/server/biometrics/BiometricService.java b/services/core/java/com/android/server/biometrics/BiometricService.java
index ddd416e..f313e1d 100644
--- a/services/core/java/com/android/server/biometrics/BiometricService.java
+++ b/services/core/java/com/android/server/biometrics/BiometricService.java
@@ -57,6 +57,7 @@
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Looper;
+import android.os.Message;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.UserHandle;
@@ -68,6 +69,7 @@
 import android.util.StatsLog;
 
 import com.android.internal.R;
+import com.android.internal.os.SomeArgs;
 import com.android.internal.statusbar.IStatusBarService;
 import com.android.server.SystemService;
 
@@ -85,22 +87,137 @@
 
     private static final String TAG = "BiometricService";
 
+    private static final int MSG_ON_TASK_STACK_CHANGED = 1;
+    private static final int MSG_ON_AUTHENTICATION_SUCCEEDED = 2;
+    private static final int MSG_ON_AUTHENTICATION_FAILED = 3;
+    private static final int MSG_ON_ERROR = 4;
+    private static final int MSG_ON_ACQUIRED = 5;
+    private static final int MSG_ON_DISMISSED = 6;
+    private static final int MSG_ON_TRY_AGAIN_PRESSED = 7;
+    private static final int MSG_ON_READY_FOR_AUTHENTICATION = 8;
+    private static final int MSG_AUTHENTICATE = 9;
+    private static final int MSG_CANCEL_AUTHENTICATION = 10;
+
     private static final int[] FEATURE_ID = {
         TYPE_FINGERPRINT,
         TYPE_IRIS,
         TYPE_FACE
     };
 
+    /**
+     * Authentication either just called and we have not transitioned to the CALLED state, or
+     * authentication terminated (success or error).
+     */
+    private static final int STATE_AUTH_IDLE = 0;
+    /**
+     * Authentication was called and we are waiting for the <Biometric>Services to return their
+     * cookies before starting the hardware and showing the BiometricPrompt.
+     */
+    private static final int STATE_AUTH_CALLED = 1;
+    /**
+     * Authentication started, BiometricPrompt is showing and the hardware is authenticating.
+     */
+    private static final int STATE_AUTH_STARTED = 2;
+    /**
+     * Authentication is paused, waiting for the user to press "try again" button. Only
+     * passive modalities such as Face or Iris should have this state. Note that for passive
+     * modalities, the HAL enters the idle state after onAuthenticated(false) which differs from
+     * fingerprint.
+     */
+    private static final int STATE_AUTH_PAUSED = 3;
+    /**
+     * Authentication is successful, but we're waiting for the user to press "confirm" button.
+     */
+    private static final int STATE_AUTH_PENDING_CONFIRM = 5;
+
+    private final class AuthSession {
+        // Map of Authenticator/Cookie pairs. We expect to receive the cookies back from
+        // <Biometric>Services before we can start authenticating. Pairs that have been returned
+        // are moved to mModalitiesMatched.
+        final HashMap<Integer, Integer> mModalitiesWaiting;
+        // Pairs that have been matched.
+        final HashMap<Integer, Integer> mModalitiesMatched = new HashMap<>();
+
+        // The following variables are passed to authenticateInternal, which initiates the
+        // appropriate <Biometric>Services.
+        final IBinder mToken;
+        final long mSessionId;
+        final int mUserId;
+        // Original receiver from BiometricPrompt.
+        final IBiometricServiceReceiver mClientReceiver;
+        final String mOpPackageName;
+        // Info to be shown on BiometricDialog when all cookies are returned.
+        final Bundle mBundle;
+        final int mCallingUid;
+        final int mCallingPid;
+        final int mCallingUserId;
+        // Continue authentication with the same modality/modalities after "try again" is
+        // pressed
+        final int mModality;
+        final boolean mRequireConfirmation;
+
+        // The current state, which can be either idle, called, or started
+        private int mState = STATE_AUTH_IDLE;
+        // For explicit confirmation, do not send to keystore until the user has confirmed
+        // the authentication.
+        byte[] mTokenEscrow;
+
+        // Timestamp when hardware authentication occurred
+        private long mAuthenticatedTimeMs;
+
+        AuthSession(HashMap<Integer, Integer> modalities, IBinder token, long sessionId,
+                int userId, IBiometricServiceReceiver receiver, String opPackageName,
+                Bundle bundle, int callingUid, int callingPid, int callingUserId,
+                int modality, boolean requireConfirmation) {
+            mModalitiesWaiting = modalities;
+            mToken = token;
+            mSessionId = sessionId;
+            mUserId = userId;
+            mClientReceiver = receiver;
+            mOpPackageName = opPackageName;
+            mBundle = bundle;
+            mCallingUid = callingUid;
+            mCallingPid = callingPid;
+            mCallingUserId = callingUserId;
+            mModality = modality;
+            mRequireConfirmation = requireConfirmation;
+        }
+
+        boolean isCrypto() {
+            return mSessionId != 0;
+        }
+
+        boolean containsCookie(int cookie) {
+            if (mModalitiesWaiting != null && mModalitiesWaiting.containsValue(cookie)) {
+                return true;
+            }
+            if (mModalitiesMatched != null && mModalitiesMatched.containsValue(cookie)) {
+                return true;
+            }
+            return false;
+        }
+    }
+
+    private final class BiometricTaskStackListener extends TaskStackListener {
+        @Override
+        public void onTaskStackChanged() {
+            mHandler.sendEmptyMessage(MSG_ON_TASK_STACK_CHANGED);
+        }
+    }
+
     private final AppOpsManager mAppOps;
-    private final Handler mHandler;
     private final boolean mHasFeatureFingerprint;
     private final boolean mHasFeatureIris;
     private final boolean mHasFeatureFace;
     private final SettingObserver mSettingObserver;
     private final List<EnabledOnKeyguardCallback> mEnabledOnKeyguardCallbacks;
+    private final BiometricTaskStackListener mTaskStackListener = new BiometricTaskStackListener();
+    private final Random mRandom = new Random();
 
     private IFingerprintService mFingerprintService;
     private IFaceService mFaceService;
+    private IActivityTaskManager mActivityTaskManager;
+    private IStatusBarService mStatusBarService;
 
     // Get and cache the available authenticator (manager) classes. Used since aidl doesn't support
     // polymorphism :/
@@ -113,6 +230,108 @@
     // should be safe.
     private int mCurrentModality;
 
+    // The current authentication session, null if idle/done. We need to track both the current
+    // and pending sessions since errors may be sent to either.
+    private AuthSession mCurrentAuthSession;
+    private AuthSession mPendingAuthSession;
+
+    private final Handler mHandler = new Handler(Looper.getMainLooper()) {
+        @Override
+        public void handleMessage(Message msg) {
+            switch (msg.what) {
+                case MSG_ON_TASK_STACK_CHANGED: {
+                    handleTaskStackChanged();
+                    break;
+                }
+
+                case MSG_ON_AUTHENTICATION_SUCCEEDED: {
+                    SomeArgs args = (SomeArgs) msg.obj;
+                    handleAuthenticationSucceeded(
+                            (boolean) args.arg1 /* requireConfirmation */,
+                            (byte[]) args.arg2 /* token */);
+                    args.recycle();
+                    break;
+                }
+
+                case MSG_ON_AUTHENTICATION_FAILED: {
+                    SomeArgs args = (SomeArgs) msg.obj;
+                    handleAuthenticationFailed(
+                            args.argi1 /* cookie */,
+                            (boolean) args.arg1 /* requireConfirmation */);
+                    args.recycle();
+                    break;
+                }
+
+                case MSG_ON_ERROR: {
+                    SomeArgs args = (SomeArgs) msg.obj;
+                    handleOnError(
+                            args.argi1 /* cookie */,
+                            args.argi2 /* error */,
+                            (String) args.arg1 /* message */);
+                    args.recycle();
+                    break;
+                }
+
+                case MSG_ON_ACQUIRED: {
+                    SomeArgs args = (SomeArgs) msg.obj;
+                    handleOnAcquired(
+                            args.argi1 /* acquiredInfo */,
+                            (String) args.arg1 /* message */);
+                    args.recycle();
+                    break;
+                }
+
+                case MSG_ON_DISMISSED: {
+                    handleOnDismissed(msg.arg1);
+                    break;
+                }
+
+                case MSG_ON_TRY_AGAIN_PRESSED: {
+                    handleOnTryAgainPressed();
+                    break;
+                }
+
+                case MSG_ON_READY_FOR_AUTHENTICATION: {
+                    SomeArgs args = (SomeArgs) msg.obj;
+                    handleOnReadyForAuthentication(
+                            args.argi1 /* cookie */,
+                            (boolean) args.arg1 /* requireConfirmation */,
+                            args.argi2 /* userId */);
+                    args.recycle();
+                    break;
+                }
+
+                case MSG_AUTHENTICATE: {
+                    SomeArgs args = (SomeArgs) msg.obj;
+                    handleAuthenticate(
+                            (IBinder) args.arg1 /* token */,
+                            (long) args.arg2 /* sessionId */,
+                            args.argi1 /* userid */,
+                            (IBiometricServiceReceiver) args.arg3 /* receiver */,
+                            (String) args.arg4 /* opPackageName */,
+                            (Bundle) args.arg5 /* bundle */,
+                            args.argi2 /* callingUid */,
+                            args.argi3 /* callingPid */,
+                            args.argi4 /* callingUserId */);
+                    args.recycle();
+                    break;
+                }
+
+                case MSG_CANCEL_AUTHENTICATION: {
+                    SomeArgs args = (SomeArgs) msg.obj;
+                    handleCancelAuthentication(
+                            (IBinder) args.arg1 /* token */,
+                            (String) args.arg2 /* opPackageName */);
+                    args.recycle();
+                    break;
+                }
+
+                default:
+                    break;
+            }
+        }
+    };
+
     private final class Authenticator {
         int mType;
         BiometricAuthenticator mAuthenticator;
@@ -251,142 +470,62 @@
         }
     }
 
+    // Wrap the client's receiver so we can do things with the BiometricDialog first
+    private final IBiometricServiceReceiverInternal mInternalReceiver =
+            new IBiometricServiceReceiverInternal.Stub() {
+        @Override
+        public void onAuthenticationSucceeded(boolean requireConfirmation, byte[] token)
+                throws RemoteException {
+            SomeArgs args = SomeArgs.obtain();
+            args.arg1 = requireConfirmation;
+            args.arg2 = token;
+            mHandler.obtainMessage(MSG_ON_AUTHENTICATION_SUCCEEDED, args).sendToTarget();
+        }
+
+        @Override
+        public void onAuthenticationFailed(int cookie, boolean requireConfirmation)
+                throws RemoteException {
+            SomeArgs args = SomeArgs.obtain();
+            args.argi1 = cookie;
+            args.arg1 = requireConfirmation;
+            mHandler.obtainMessage(MSG_ON_AUTHENTICATION_FAILED, args).sendToTarget();
+        }
+
+        @Override
+        public void onError(int cookie, int error, String message) throws RemoteException {
+            SomeArgs args = SomeArgs.obtain();
+            args.argi1 = cookie;
+            args.argi2 = error;
+            args.arg1 = message;
+            mHandler.obtainMessage(MSG_ON_ERROR, args).sendToTarget();
+        }
+
+        @Override
+        public void onAcquired(int acquiredInfo, String message) throws RemoteException {
+            SomeArgs args = SomeArgs.obtain();
+            args.argi1 = acquiredInfo;
+            args.arg1 = message;
+            mHandler.obtainMessage(MSG_ON_ACQUIRED, args).sendToTarget();
+        }
+
+        @Override
+        public void onDialogDismissed(int reason) throws RemoteException {
+            mHandler.obtainMessage(MSG_ON_DISMISSED, reason, 0 /* arg2 */).sendToTarget();
+        }
+
+        @Override
+        public void onTryAgainPressed() {
+            mHandler.sendEmptyMessage(MSG_ON_TRY_AGAIN_PRESSED);
+        }
+    };
+
+
     /**
      * This is just a pass-through service that wraps Fingerprint, Iris, Face services. This service
      * should not carry any state. The reality is we need to keep a tiny amount of state so that
      * cancelAuthentication() can go to the right place.
      */
     private final class BiometricServiceWrapper extends IBiometricService.Stub {
-
-        /**
-         * Authentication either just called and we have not transitioned to the CALLED state, or
-         * authentication terminated (success or error).
-         */
-        private static final int STATE_AUTH_IDLE = 0;
-        /**
-         * Authentication was called and we are waiting for the <Biometric>Services to return their
-         * cookies before starting the hardware and showing the BiometricPrompt.
-         */
-        private static final int STATE_AUTH_CALLED = 1;
-        /**
-         * Authentication started, BiometricPrompt is showing and the hardware is authenticating.
-         */
-        private static final int STATE_AUTH_STARTED = 2;
-        /**
-         * Authentication is paused, waiting for the user to press "try again" button. Only
-         * passive modalities such as Face or Iris should have this state. Note that for passive
-         * modalities, the HAL enters the idle state after onAuthenticated(false) which differs from
-         * fingerprint.
-         */
-        private static final int STATE_AUTH_PAUSED = 3;
-        /**
-         * Authentication is successful, but we're waiting for the user to press "confirm" button.
-         */
-        private static final int STATE_AUTH_PENDING_CONFIRM = 5;
-
-        final class AuthSession {
-            // Map of Authenticator/Cookie pairs. We expect to receive the cookies back from
-            // <Biometric>Services before we can start authenticating. Pairs that have been returned
-            // are moved to mModalitiesMatched.
-            final HashMap<Integer, Integer> mModalitiesWaiting;
-            // Pairs that have been matched.
-            final HashMap<Integer, Integer> mModalitiesMatched = new HashMap<>();
-
-            // The following variables are passed to authenticateInternal, which initiates the
-            // appropriate <Biometric>Services.
-            final IBinder mToken;
-            final long mSessionId;
-            final int mUserId;
-            // Original receiver from BiometricPrompt.
-            final IBiometricServiceReceiver mClientReceiver;
-            final String mOpPackageName;
-            // Info to be shown on BiometricDialog when all cookies are returned.
-            final Bundle mBundle;
-            final int mCallingUid;
-            final int mCallingPid;
-            final int mCallingUserId;
-            // Continue authentication with the same modality/modalities after "try again" is
-            // pressed
-            final int mModality;
-            final boolean mRequireConfirmation;
-
-            // The current state, which can be either idle, called, or started
-            private int mState = STATE_AUTH_IDLE;
-            // For explicit confirmation, do not send to keystore until the user has confirmed
-            // the authentication.
-            byte[] mTokenEscrow;
-
-            // Timestamp when hardware authentication occurred
-            private long mAuthenticatedTimeMs;
-
-            AuthSession(HashMap<Integer, Integer> modalities, IBinder token, long sessionId,
-                    int userId, IBiometricServiceReceiver receiver, String opPackageName,
-                    Bundle bundle, int callingUid, int callingPid, int callingUserId,
-                    int modality, boolean requireConfirmation) {
-                mModalitiesWaiting = modalities;
-                mToken = token;
-                mSessionId = sessionId;
-                mUserId = userId;
-                mClientReceiver = receiver;
-                mOpPackageName = opPackageName;
-                mBundle = bundle;
-                mCallingUid = callingUid;
-                mCallingPid = callingPid;
-                mCallingUserId = callingUserId;
-                mModality = modality;
-                mRequireConfirmation = requireConfirmation;
-            }
-
-            boolean isCrypto() {
-                return mSessionId != 0;
-            }
-
-            boolean containsCookie(int cookie) {
-                if (mModalitiesWaiting != null && mModalitiesWaiting.containsValue(cookie)) {
-                    return true;
-                }
-                if (mModalitiesMatched != null && mModalitiesMatched.containsValue(cookie)) {
-                    return true;
-                }
-                return false;
-            }
-        }
-
-        final class BiometricTaskStackListener extends TaskStackListener {
-            @Override
-            public void onTaskStackChanged() {
-                try {
-                    final List<ActivityManager.RunningTaskInfo> runningTasks =
-                            mActivityTaskManager.getTasks(1);
-                    if (!runningTasks.isEmpty()) {
-                        final String topPackage = runningTasks.get(0).topActivity.getPackageName();
-                        if (mCurrentAuthSession != null
-                                && !topPackage.contentEquals(mCurrentAuthSession.mOpPackageName)) {
-                            mStatusBarService.hideBiometricDialog();
-                            mActivityTaskManager.unregisterTaskStackListener(mTaskStackListener);
-                            mCurrentAuthSession.mClientReceiver.onError(
-                                    BiometricConstants.BIOMETRIC_ERROR_CANCELED,
-                                    getContext().getString(
-                                            com.android.internal.R.string.biometric_error_canceled)
-                            );
-                            mCurrentAuthSession.mState = STATE_AUTH_IDLE;
-                            mCurrentAuthSession = null;
-                        }
-                    }
-                } catch (RemoteException e) {
-                    Slog.e(TAG, "Unable to get running tasks", e);
-                }
-            }
-        }
-
-        private final IActivityTaskManager mActivityTaskManager = getContext().getSystemService(
-                ActivityTaskManager.class).getService();
-        private final IStatusBarService mStatusBarService = IStatusBarService.Stub.asInterface(
-                ServiceManager.getService(Context.STATUS_BAR_SERVICE));
-        private final BiometricTaskStackListener mTaskStackListener =
-                new BiometricTaskStackListener();
-        private final Random mRandom = new Random();
-
         // TODO(b/123378871): Remove when moved.
         // When BiometricPrompt#setAllowDeviceCredentials is set to true, we need to store the
         // client (app) receiver. BiometricService internally launches CDCA which invokes
@@ -395,331 +534,15 @@
         // to this receiver.
         private IBiometricServiceReceiver mConfirmDeviceCredentialReceiver;
 
-        // The current authentication session, null if idle/done. We need to track both the current
-        // and pending sessions since errors may be sent to either.
-        private AuthSession mCurrentAuthSession;
-        private AuthSession mPendingAuthSession;
-
-        // Wrap the client's receiver so we can do things with the BiometricDialog first
-        private final IBiometricServiceReceiverInternal mInternalReceiver =
-                new IBiometricServiceReceiverInternal.Stub() {
-            @Override
-            public void onAuthenticationSucceeded(boolean requireConfirmation, byte[] token)
-                    throws RemoteException {
-                try {
-                    // Should never happen, log this to catch bad HAL behavior (e.g. auth succeeded
-                    // after user dismissed/canceled dialog).
-                    if (mCurrentAuthSession == null) {
-                        Slog.e(TAG, "onAuthenticationSucceeded(): Auth session is null");
-                        return;
-                    }
-
-                    if (!requireConfirmation) {
-                        mActivityTaskManager.unregisterTaskStackListener(mTaskStackListener);
-                        KeyStore.getInstance().addAuthToken(token);
-                        mCurrentAuthSession.mClientReceiver.onAuthenticationSucceeded();
-                        mCurrentAuthSession.mState = STATE_AUTH_IDLE;
-                        mCurrentAuthSession = null;
-                    } else {
-                        mCurrentAuthSession.mAuthenticatedTimeMs = System.currentTimeMillis();
-                        // Store the auth token and submit it to keystore after the confirmation
-                        // button has been pressed.
-                        mCurrentAuthSession.mTokenEscrow = token;
-                        mCurrentAuthSession.mState = STATE_AUTH_PENDING_CONFIRM;
-                    }
-
-                    // Notify SysUI that the biometric has been authenticated. SysUI already knows
-                    // the implicit/explicit state and will react accordingly.
-                    mStatusBarService.onBiometricAuthenticated(true);
-                } catch (RemoteException e) {
-                    Slog.e(TAG, "Remote exception", e);
-                }
-            }
-
-            @Override
-            public void onAuthenticationFailed(int cookie, boolean requireConfirmation)
-                    throws RemoteException {
-                try {
-                    // Should never happen, log this to catch bad HAL behavior (e.g. auth succeeded
-                    // after user dismissed/canceled dialog).
-                    if (mCurrentAuthSession == null) {
-                        Slog.e(TAG, "onAuthenticationFailed(): Auth session is null");
-                        return;
-                    }
-
-                    mStatusBarService.onBiometricAuthenticated(false);
-
-                    // TODO: This logic will need to be updated if BP is multi-modal
-                    if ((mCurrentAuthSession.mModality & TYPE_FACE) != 0) {
-                        // Pause authentication. onBiometricAuthenticated(false) causes the
-                        // dialog to show a "try again" button for passive modalities.
-                        mCurrentAuthSession.mState = STATE_AUTH_PAUSED;
-                    }
-
-                    mCurrentAuthSession.mClientReceiver.onAuthenticationFailed();
-                } catch (RemoteException e) {
-                    Slog.e(TAG, "Remote exception", e);
-                }
-            }
-
-            @Override
-            public void onError(int cookie, int error, String message) throws RemoteException {
-                Slog.d(TAG, "Error: " + error + " cookie: " + cookie);
-                // Errors can either be from the current auth session or the pending auth session.
-                // The pending auth session may receive errors such as ERROR_LOCKOUT before
-                // it becomes the current auth session. Similarly, the current auth session may
-                // receive errors such as ERROR_CANCELED while the pending auth session is preparing
-                // to be started. Thus we must match error messages with their cookies to be sure
-                // of their intended receivers.
-                try {
-                    if (mCurrentAuthSession != null && mCurrentAuthSession.containsCookie(cookie)) {
-                        if (mCurrentAuthSession.mState == STATE_AUTH_STARTED) {
-                            mStatusBarService.onBiometricError(message);
-                            if (error == BiometricConstants.BIOMETRIC_ERROR_CANCELED) {
-                                    mActivityTaskManager.unregisterTaskStackListener(
-                                            mTaskStackListener);
-                                    mCurrentAuthSession.mClientReceiver.onError(error, message);
-                                    mCurrentAuthSession.mState = STATE_AUTH_IDLE;
-                                    mCurrentAuthSession = null;
-                                    mStatusBarService.hideBiometricDialog();
-                            } else {
-                                // Send errors after the dialog is dismissed.
-                                mHandler.postDelayed(() -> {
-                                    try {
-                                        if (mCurrentAuthSession != null) {
-                                            mActivityTaskManager.unregisterTaskStackListener(
-                                                    mTaskStackListener);
-                                            mCurrentAuthSession.mClientReceiver.onError(error,
-                                                    message);
-                                            mCurrentAuthSession.mState = STATE_AUTH_IDLE;
-                                            mCurrentAuthSession = null;
-                                        }
-                                    } catch (RemoteException e) {
-                                        Slog.e(TAG, "Remote exception", e);
-                                    }
-                                }, BiometricPrompt.HIDE_DIALOG_DELAY);
-                            }
-                        } else if (mCurrentAuthSession.mState == STATE_AUTH_PAUSED) {
-                            // In the "try again" state, we should forward canceled errors to
-                            // the client and and clean up.
-                            mCurrentAuthSession.mClientReceiver.onError(error, message);
-                            mStatusBarService.onBiometricError(message);
-                            mActivityTaskManager.unregisterTaskStackListener(
-                                    mTaskStackListener);
-                            mCurrentAuthSession.mState = STATE_AUTH_IDLE;
-                            mCurrentAuthSession = null;
-                        } else {
-                            Slog.e(TAG, "Impossible session error state: "
-                                    + mCurrentAuthSession.mState);
-                        }
-                    } else if (mPendingAuthSession != null
-                            && mPendingAuthSession.containsCookie(cookie)) {
-                        if (mPendingAuthSession.mState == STATE_AUTH_CALLED) {
-                            mPendingAuthSession.mClientReceiver.onError(error, message);
-                            mPendingAuthSession.mState = STATE_AUTH_IDLE;
-                            mPendingAuthSession = null;
-                        } else {
-                            Slog.e(TAG, "Impossible pending session error state: "
-                                    + mPendingAuthSession.mState);
-                        }
-                    }
-                } catch (RemoteException e) {
-                    Slog.e(TAG, "Remote exception", e);
-                }
-            }
-
-            @Override
-            public void onAcquired(int acquiredInfo, String message) throws RemoteException {
-                // Should never happen, log this to catch bad HAL behavior (e.g. auth succeeded
-                // after user dismissed/canceled dialog).
-                if (mCurrentAuthSession == null) {
-                    Slog.e(TAG, "onAcquired(): Auth session is null");
-                    return;
-                }
-
-                if (acquiredInfo != BiometricConstants.BIOMETRIC_ACQUIRED_GOOD) {
-                    try {
-                        mStatusBarService.onBiometricHelp(message);
-                    } catch (RemoteException e) {
-                        Slog.e(TAG, "Remote exception", e);
-                    }
-                }
-            }
-
-            @Override
-            public void onDialogDismissed(int reason) throws RemoteException {
-                if (mCurrentAuthSession == null) {
-                    Slog.e(TAG, "onDialogDismissed: " + reason + ", auth session null");
-                    return;
-                }
-
-                logDialogDismissed(reason);
-
-                if (reason != BiometricPrompt.DISMISSED_REASON_POSITIVE) {
-                    // Positive button is used by passive modalities as a "confirm" button,
-                    // do not send to client
-                    mCurrentAuthSession.mClientReceiver.onDialogDismissed(reason);
-                    // Cancel authentication. Skip the token/package check since we are cancelling
-                    // from system server. The interface is permission protected so this is fine.
-                    cancelInternal(null /* token */, null /* package */, false /* fromClient */);
-                }
-                if (reason == BiometricPrompt.DISMISSED_REASON_USER_CANCEL) {
-                    mCurrentAuthSession.mClientReceiver.onError(
-                            BiometricConstants.BIOMETRIC_ERROR_USER_CANCELED,
-                            getContext().getString(
-                                    com.android.internal.R.string.biometric_error_user_canceled));
-                } else if (reason == BiometricPrompt.DISMISSED_REASON_POSITIVE) {
-                    // Have the service send the token to KeyStore, and send onAuthenticated
-                    // to the application
-                    KeyStore.getInstance().addAuthToken(mCurrentAuthSession.mTokenEscrow);
-                    mCurrentAuthSession.mClientReceiver.onAuthenticationSucceeded();
-                }
-                mActivityTaskManager.unregisterTaskStackListener(mTaskStackListener);
-                mCurrentAuthSession.mState = STATE_AUTH_IDLE;
-                mCurrentAuthSession = null;
-            }
-
-            @Override
-            public void onTryAgainPressed() {
-                Slog.d(TAG, "onTryAgainPressed");
-                // No need to check permission, since it can only be invoked by SystemUI
-                // (or system server itself).
-                mHandler.post(() -> {
-                    authenticateInternal(mCurrentAuthSession.mToken,
-                            mCurrentAuthSession.mSessionId,
-                            mCurrentAuthSession.mUserId,
-                            mCurrentAuthSession.mClientReceiver,
-                            mCurrentAuthSession.mOpPackageName,
-                            mCurrentAuthSession.mBundle,
-                            mCurrentAuthSession.mCallingUid,
-                            mCurrentAuthSession.mCallingPid,
-                            mCurrentAuthSession.mCallingUserId,
-                            mCurrentAuthSession.mModality);
-                });
-            }
-
-            private void logDialogDismissed(int reason) {
-                if (reason == BiometricPrompt.DISMISSED_REASON_POSITIVE) {
-                    // Explicit auth, authentication confirmed.
-                    // Latency in this case is authenticated -> confirmed. <Biometric>Service
-                    // should have the first half (first acquired -> authenticated).
-                    final long latency = System.currentTimeMillis()
-                            - mCurrentAuthSession.mAuthenticatedTimeMs;
-
-                    if (LoggableMonitor.DEBUG) {
-                        Slog.v(LoggableMonitor.TAG, "Confirmed! Modality: " + statsModality()
-                                + ", User: " + mCurrentAuthSession.mUserId
-                                + ", IsCrypto: " + mCurrentAuthSession.isCrypto()
-                                + ", Client: " + BiometricsProtoEnums.CLIENT_BIOMETRIC_PROMPT
-                                + ", RequireConfirmation: "
-                                    + mCurrentAuthSession.mRequireConfirmation
-                                + ", State: " + StatsLog.BIOMETRIC_AUTHENTICATED__STATE__CONFIRMED
-                                + ", Latency: " + latency);
-                    }
-
-                    StatsLog.write(StatsLog.BIOMETRIC_AUTHENTICATED,
-                            statsModality(),
-                            mCurrentAuthSession.mUserId,
-                            mCurrentAuthSession.isCrypto(),
-                            BiometricsProtoEnums.CLIENT_BIOMETRIC_PROMPT,
-                            mCurrentAuthSession.mRequireConfirmation,
-                            StatsLog.BIOMETRIC_AUTHENTICATED__STATE__CONFIRMED,
-                            latency);
-                } else {
-                    int error = reason == BiometricPrompt.DISMISSED_REASON_NEGATIVE
-                            ? BiometricConstants.BIOMETRIC_ERROR_NEGATIVE_BUTTON
-                            : reason == BiometricPrompt.DISMISSED_REASON_USER_CANCEL
-                                    ? BiometricConstants.BIOMETRIC_ERROR_USER_CANCELED
-                                    : 0;
-                    if (LoggableMonitor.DEBUG) {
-                        Slog.v(LoggableMonitor.TAG, "Dismissed! Modality: " + statsModality()
-                                + ", User: " + mCurrentAuthSession.mUserId
-                                + ", IsCrypto: " + mCurrentAuthSession.isCrypto()
-                                + ", Action: " + BiometricsProtoEnums.ACTION_AUTHENTICATE
-                                + ", Client: " + BiometricsProtoEnums.CLIENT_BIOMETRIC_PROMPT
-                                + ", Error: " + error);
-                    }
-                    // Auth canceled
-                    StatsLog.write(StatsLog.BIOMETRIC_ERROR_OCCURRED,
-                            statsModality(),
-                            mCurrentAuthSession.mUserId,
-                            mCurrentAuthSession.isCrypto(),
-                            BiometricsProtoEnums.ACTION_AUTHENTICATE,
-                            BiometricsProtoEnums.CLIENT_BIOMETRIC_PROMPT,
-                            error,
-                            0 /* vendorCode */);
-                }
-            }
-
-            private int statsModality() {
-                int modality = 0;
-                if (mCurrentAuthSession == null) {
-                    return BiometricsProtoEnums.MODALITY_UNKNOWN;
-                }
-                if ((mCurrentAuthSession.mModality & BiometricAuthenticator.TYPE_FINGERPRINT)
-                        != 0) {
-                    modality |= BiometricsProtoEnums.MODALITY_FINGERPRINT;
-                }
-                if ((mCurrentAuthSession.mModality & BiometricAuthenticator.TYPE_IRIS) != 0) {
-                    modality |= BiometricsProtoEnums.MODALITY_IRIS;
-                }
-                if ((mCurrentAuthSession.mModality & BiometricAuthenticator.TYPE_FACE) != 0) {
-                    modality |= BiometricsProtoEnums.MODALITY_FACE;
-                }
-                return modality;
-            }
-        };
-
         @Override // Binder call
         public void onReadyForAuthentication(int cookie, boolean requireConfirmation, int userId) {
             checkInternalPermission();
 
-            Iterator it = mPendingAuthSession.mModalitiesWaiting.entrySet().iterator();
-            while (it.hasNext()) {
-                Map.Entry<Integer, Integer> pair = (Map.Entry) it.next();
-                if (pair.getValue() == cookie) {
-                    mPendingAuthSession.mModalitiesMatched.put(pair.getKey(), pair.getValue());
-                    mPendingAuthSession.mModalitiesWaiting.remove(pair.getKey());
-                    Slog.d(TAG, "Matched cookie: " + cookie + ", "
-                            + mPendingAuthSession.mModalitiesWaiting.size() + " remaining");
-                    break;
-                }
-            }
-
-            if (mPendingAuthSession.mModalitiesWaiting.isEmpty()) {
-                final boolean continuing = mCurrentAuthSession != null &&
-                        (mCurrentAuthSession.mState == STATE_AUTH_PAUSED);
-
-                mCurrentAuthSession = mPendingAuthSession;
-                mPendingAuthSession = null;
-
-                mCurrentAuthSession.mState = STATE_AUTH_STARTED;
-                try {
-                    int modality = TYPE_NONE;
-                    it = mCurrentAuthSession.mModalitiesMatched.entrySet().iterator();
-                    while (it.hasNext()) {
-                        Map.Entry<Integer, Integer> pair = (Map.Entry) it.next();
-                        if (pair.getKey() == TYPE_FINGERPRINT) {
-                            mFingerprintService.startPreparedClient(pair.getValue());
-                        } else if (pair.getKey() == TYPE_IRIS) {
-                            Slog.e(TAG, "Iris unsupported");
-                        } else if (pair.getKey() == TYPE_FACE) {
-                            mFaceService.startPreparedClient(pair.getValue());
-                        } else {
-                            Slog.e(TAG, "Unknown modality: " + pair.getKey());
-                        }
-                        modality |= pair.getKey();
-                    }
-
-                    if (!continuing) {
-                        mStatusBarService.showBiometricDialog(mCurrentAuthSession.mBundle,
-                                mInternalReceiver, modality, requireConfirmation, userId);
-                        mActivityTaskManager.registerTaskStackListener(mTaskStackListener);
-                    }
-                } catch (RemoteException e) {
-                    Slog.e(TAG, "Remote exception", e);
-                }
-            }
+            SomeArgs args = SomeArgs.obtain();
+            args.argi1 = cookie;
+            args.arg1 = requireConfirmation;
+            args.argi2 = userId;
+            mHandler.obtainMessage(MSG_ON_READY_FOR_AUTHENTICATION, args).sendToTarget();
         }
 
         @Override // Binder call
@@ -754,25 +577,23 @@
                 checkInternalPermission();
                 // Set the default title if necessary
                 try {
-                    if (useDefaultTitle) {
-                        final List<ActivityManager.RunningAppProcessInfo> procs =
-                                ActivityManager.getService().getRunningAppProcesses();
-                        for (int i = 0; i < procs.size(); i++) {
-                            final ActivityManager.RunningAppProcessInfo info = procs.get(i);
-                            if (info.uid == callingUid
-                                    && info.importance == IMPORTANCE_FOREGROUND) {
-                                PackageManager pm = getContext().getPackageManager();
-                                final CharSequence label = pm.getApplicationLabel(
-                                        pm.getApplicationInfo(info.processName,
-                                                PackageManager.GET_META_DATA));
-                                final String title = getContext()
-                                        .getString(R.string.biometric_dialog_default_title, label);
-                                if (TextUtils.isEmpty(
-                                        bundle.getCharSequence(BiometricPrompt.KEY_TITLE))) {
-                                    bundle.putCharSequence(BiometricPrompt.KEY_TITLE, title);
-                                }
-                                break;
+                    final List<ActivityManager.RunningAppProcessInfo> procs =
+                            ActivityManager.getService().getRunningAppProcesses();
+                    for (int i = 0; i < procs.size(); i++) {
+                        final ActivityManager.RunningAppProcessInfo info = procs.get(i);
+                        if (info.uid == callingUid
+                                && info.importance == IMPORTANCE_FOREGROUND) {
+                            PackageManager pm = getContext().getPackageManager();
+                            final CharSequence label = pm.getApplicationLabel(
+                                    pm.getApplicationInfo(info.processName,
+                                            PackageManager.GET_META_DATA));
+                            final String title = getContext()
+                                    .getString(R.string.biometric_dialog_default_title, label);
+                            if (TextUtils.isEmpty(
+                                    bundle.getCharSequence(BiometricPrompt.KEY_TITLE))) {
+                                bundle.putCharSequence(BiometricPrompt.KEY_TITLE, title);
                             }
+                            break;
                         }
                     }
                 } catch (RemoteException e) {
@@ -792,7 +613,8 @@
                             KeyguardManager.class);
                     if (!kgm.isDeviceSecure()) {
                         try {
-                            receiver.onError(BiometricConstants.BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL,
+                            receiver.onError(
+                                    BiometricConstants.BIOMETRIC_ERROR_NO_DEVICE_CREDENTIAL,
                                     getContext().getString(
                                             R.string.biometric_error_device_not_secured));
                         } catch (RemoteException e) {
@@ -811,160 +633,63 @@
                 return;
             }
 
-            mHandler.post(() -> {
-                final Pair<Integer, Integer> result = checkAndGetBiometricModality(userId);
-                final int modality = result.first;
-                final int error = result.second;
+            SomeArgs args = SomeArgs.obtain();
+            args.arg1 = token;
+            args.arg2 = sessionId;
+            args.argi1 = userId;
+            args.arg3 = receiver;
+            args.arg4 = opPackageName;
+            args.arg5 = bundle;
+            args.argi2 = callingUid;
+            args.argi3 = callingPid;
+            args.argi4 = callingUserId;
 
-                // Check for errors, notify callback, and return
-                if (error != BiometricConstants.BIOMETRIC_SUCCESS) {
-                    try {
-                        final String hardwareUnavailable =
-                                getContext().getString(R.string.biometric_error_hw_unavailable);
-                        switch (error) {
-                            case BiometricConstants.BIOMETRIC_ERROR_HW_NOT_PRESENT:
-                                receiver.onError(error, hardwareUnavailable);
-                                break;
-                            case BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE:
-                                receiver.onError(error, hardwareUnavailable);
-                                break;
-                            case BiometricConstants.BIOMETRIC_ERROR_NO_BIOMETRICS:
-                                receiver.onError(error,
-                                        getErrorString(modality, error, 0 /* vendorCode */));
-                                break;
-                            default:
-                                Slog.e(TAG, "Unhandled error");
-                                break;
-                        }
-                    } catch (RemoteException e) {
-                        Slog.e(TAG, "Unable to send error", e);
-                    }
-                    return;
-                }
-
-                mCurrentModality = modality;
-
-                // Start preparing for authentication. Authentication starts when
-                // all modalities requested have invoked onReadyForAuthentication.
-                authenticateInternal(token, sessionId, userId, receiver, opPackageName, bundle,
-                        callingUid, callingPid, callingUserId, modality);
-            });
+            mHandler.obtainMessage(MSG_AUTHENTICATE, args).sendToTarget();
         }
 
         @Override // Binder call
         public void onConfirmDeviceCredentialSuccess() {
             checkInternalPermission();
-            if (mConfirmDeviceCredentialReceiver == null) {
-                Slog.w(TAG, "onCDCASuccess null!");
-                return;
-            }
-            try {
-                mConfirmDeviceCredentialReceiver.onAuthenticationSucceeded();
-            } catch (RemoteException e) {
-                Slog.e(TAG, "RemoteException", e);
-            }
-            mConfirmDeviceCredentialReceiver = null;
+            mHandler.post(() -> {
+                if (mConfirmDeviceCredentialReceiver == null) {
+                    Slog.w(TAG, "onCDCASuccess null!");
+                    return;
+                }
+                try {
+                    mConfirmDeviceCredentialReceiver.onAuthenticationSucceeded();
+                } catch (RemoteException e) {
+                    Slog.e(TAG, "RemoteException", e);
+                }
+                mConfirmDeviceCredentialReceiver = null;
+            });
         }
 
         @Override // Binder call
         public void onConfirmDeviceCredentialError(int error, String message) {
             checkInternalPermission();
-            if (mConfirmDeviceCredentialReceiver == null) {
-                Slog.w(TAG, "onCDCAError null! Error: " + error + " " + message);
-                return;
-            }
-            try {
-                mConfirmDeviceCredentialReceiver.onError(error, message);
-            } catch (RemoteException e) {
-                Slog.e(TAG, "RemoteException", e);
-            }
-            mConfirmDeviceCredentialReceiver = null;
-        }
-
-        /**
-         * authenticate() (above) which is called from BiometricPrompt determines which
-         * modality/modalities to start authenticating with. authenticateInternal() should only be
-         * used for:
-         * 1) Preparing <Biometric>Services for authentication when BiometricPrompt#authenticate is,
-         *    invoked, shortly after which BiometricPrompt is shown and authentication starts
-         * 2) Preparing <Biometric>Services for authentication when BiometricPrompt is already shown
-         *    and the user has pressed "try again"
-         */
-        private void authenticateInternal(IBinder token, long sessionId, int userId,
-                IBiometricServiceReceiver receiver, String opPackageName, Bundle bundle,
-                int callingUid, int callingPid, int callingUserId, int modality) {
-            try {
-                boolean requireConfirmation = bundle.getBoolean(
-                        BiometricPrompt.KEY_REQUIRE_CONFIRMATION, true /* default */);
-                if ((modality & TYPE_FACE) != 0) {
-                    // Check if the user has forced confirmation to be required in Settings.
-                    requireConfirmation = requireConfirmation
-                            || mSettingObserver.getFaceAlwaysRequireConfirmation();
+            mHandler.post(() -> {
+                if (mConfirmDeviceCredentialReceiver == null) {
+                    Slog.w(TAG, "onCDCAError null! Error: " + error + " " + message);
+                    return;
                 }
-                // Generate random cookies to pass to the services that should prepare to start
-                // authenticating. Store the cookie here and wait for all services to "ack"
-                // with the cookie. Once all cookies are received, we can show the prompt
-                // and let the services start authenticating. The cookie should be non-zero.
-                final int cookie = mRandom.nextInt(Integer.MAX_VALUE - 1) + 1;
-                Slog.d(TAG, "Creating auth session. Modality: " + modality
-                        + ", cookie: " + cookie);
-                final HashMap<Integer, Integer> authenticators = new HashMap<>();
-                authenticators.put(modality, cookie);
-                mPendingAuthSession = new AuthSession(authenticators, token, sessionId, userId,
-                        receiver, opPackageName, bundle, callingUid, callingPid, callingUserId,
-                        modality, requireConfirmation);
-                mPendingAuthSession.mState = STATE_AUTH_CALLED;
-                // No polymorphism :(
-                if ((modality & TYPE_FINGERPRINT) != 0) {
-                    mFingerprintService.prepareForAuthentication(token, sessionId, userId,
-                            mInternalReceiver, opPackageName, cookie,
-                            callingUid, callingPid, callingUserId);
+                try {
+                    mConfirmDeviceCredentialReceiver.onError(error, message);
+                } catch (RemoteException e) {
+                    Slog.e(TAG, "RemoteException", e);
                 }
-                if ((modality & TYPE_IRIS) != 0) {
-                    Slog.w(TAG, "Iris unsupported");
-                }
-                if ((modality & TYPE_FACE) != 0) {
-                    mFaceService.prepareForAuthentication(requireConfirmation,
-                            token, sessionId, userId, mInternalReceiver, opPackageName,
-                            cookie, callingUid, callingPid, callingUserId);
-                }
-            } catch (RemoteException e) {
-                Slog.e(TAG, "Unable to start authentication", e);
-            }
+                mConfirmDeviceCredentialReceiver = null;
+            });
         }
 
         @Override // Binder call
         public void cancelAuthentication(IBinder token, String opPackageName)
                 throws RemoteException {
             checkPermission();
-            if (token == null || opPackageName == null) {
-                Slog.e(TAG, "Unable to cancel, one or more null arguments");
-                return;
-            }
 
-            // We need to check the current authenticators state. If we're pending confirm
-            // or idle, we need to dismiss the dialog and send an ERROR_CANCELED to the client,
-            // since we won't be getting an onError from the driver.
-            if (mCurrentAuthSession != null && mCurrentAuthSession.mState != STATE_AUTH_STARTED) {
-                mHandler.post(() -> {
-                    try {
-                        // Send error to client
-                        mCurrentAuthSession.mClientReceiver.onError(
-                                BiometricConstants.BIOMETRIC_ERROR_CANCELED,
-                                getContext().getString(
-                                        com.android.internal.R.string.biometric_error_user_canceled)
-                        );
-
-                        mCurrentAuthSession.mState = STATE_AUTH_IDLE;
-                        mCurrentAuthSession = null;
-                        mStatusBarService.hideBiometricDialog();
-                    } catch (RemoteException e) {
-                        Slog.e(TAG, "Remote exception", e);
-                    }
-                });
-            } else {
-                cancelInternal(token, opPackageName, true /* fromClient */);
-            }
+            SomeArgs args = SomeArgs.obtain();
+            args.arg1 = token;
+            args.arg2 = opPackageName;
+            mHandler.obtainMessage(MSG_CANCEL_AUTHENTICATION, args).sendToTarget();
         }
 
         @Override // Binder call
@@ -1027,31 +752,6 @@
                 Binder.restoreCallingIdentity(ident);
             }
         }
-
-        void cancelInternal(IBinder token, String opPackageName, boolean fromClient) {
-            final int callingUid = Binder.getCallingUid();
-            final int callingPid = Binder.getCallingPid();
-            final int callingUserId = UserHandle.getCallingUserId();
-            mHandler.post(() -> {
-                try {
-                    // TODO: For multiple modalities, send a single ERROR_CANCELED only when all
-                    // drivers have canceled authentication.
-                    if ((mCurrentModality & TYPE_FINGERPRINT) != 0) {
-                        mFingerprintService.cancelAuthenticationFromService(token, opPackageName,
-                                callingUid, callingPid, callingUserId, fromClient);
-                    }
-                    if ((mCurrentModality & TYPE_IRIS) != 0) {
-                        Slog.w(TAG, "Iris unsupported");
-                    }
-                    if ((mCurrentModality & TYPE_FACE) != 0) {
-                        mFaceService.cancelAuthenticationFromService(token, opPackageName,
-                                callingUid, callingPid, callingUserId, fromClient);
-                    }
-                } catch (RemoteException e) {
-                    Slog.e(TAG, "Unable to cancel authentication");
-                }
-            });
-        }
     }
 
     private void checkAppOp(String opPackageName, int callingUid) {
@@ -1088,7 +788,6 @@
         super(context);
 
         mAppOps = context.getSystemService(AppOpsManager.class);
-        mHandler = new Handler(Looper.getMainLooper());
         mEnabledOnKeyguardCallbacks = new ArrayList<>();
         mSettingObserver = new SettingObserver(mHandler);
 
@@ -1123,6 +822,10 @@
                     ServiceManager.getService(Context.FACE_SERVICE));
         }
 
+        mActivityTaskManager = ActivityTaskManager.getService();
+        mStatusBarService = IStatusBarService.Stub.asInterface(
+                ServiceManager.getService(Context.STATUS_BAR_SERVICE));
+
         // Cache the authenticators
         for (int i = 0; i < FEATURE_ID.length; i++) {
             if (hasFeature(FEATURE_ID[i])) {
@@ -1259,4 +962,491 @@
                 return false;
         }
     }
+
+    private void logDialogDismissed(int reason) {
+        if (reason == BiometricPrompt.DISMISSED_REASON_POSITIVE) {
+            // Explicit auth, authentication confirmed.
+            // Latency in this case is authenticated -> confirmed. <Biometric>Service
+            // should have the first half (first acquired -> authenticated).
+            final long latency = System.currentTimeMillis()
+                    - mCurrentAuthSession.mAuthenticatedTimeMs;
+
+            if (LoggableMonitor.DEBUG) {
+                Slog.v(LoggableMonitor.TAG, "Confirmed! Modality: " + statsModality()
+                        + ", User: " + mCurrentAuthSession.mUserId
+                        + ", IsCrypto: " + mCurrentAuthSession.isCrypto()
+                        + ", Client: " + BiometricsProtoEnums.CLIENT_BIOMETRIC_PROMPT
+                        + ", RequireConfirmation: "
+                        + mCurrentAuthSession.mRequireConfirmation
+                        + ", State: " + StatsLog.BIOMETRIC_AUTHENTICATED__STATE__CONFIRMED
+                        + ", Latency: " + latency);
+            }
+
+            StatsLog.write(StatsLog.BIOMETRIC_AUTHENTICATED,
+                    statsModality(),
+                    mCurrentAuthSession.mUserId,
+                    mCurrentAuthSession.isCrypto(),
+                    BiometricsProtoEnums.CLIENT_BIOMETRIC_PROMPT,
+                    mCurrentAuthSession.mRequireConfirmation,
+                    StatsLog.BIOMETRIC_AUTHENTICATED__STATE__CONFIRMED,
+                    latency);
+        } else {
+            int error = reason == BiometricPrompt.DISMISSED_REASON_NEGATIVE
+                    ? BiometricConstants.BIOMETRIC_ERROR_NEGATIVE_BUTTON
+                    : reason == BiometricPrompt.DISMISSED_REASON_USER_CANCEL
+                            ? BiometricConstants.BIOMETRIC_ERROR_USER_CANCELED
+                            : 0;
+            if (LoggableMonitor.DEBUG) {
+                Slog.v(LoggableMonitor.TAG, "Dismissed! Modality: " + statsModality()
+                        + ", User: " + mCurrentAuthSession.mUserId
+                        + ", IsCrypto: " + mCurrentAuthSession.isCrypto()
+                        + ", Action: " + BiometricsProtoEnums.ACTION_AUTHENTICATE
+                        + ", Client: " + BiometricsProtoEnums.CLIENT_BIOMETRIC_PROMPT
+                        + ", Error: " + error);
+            }
+            // Auth canceled
+            StatsLog.write(StatsLog.BIOMETRIC_ERROR_OCCURRED,
+                    statsModality(),
+                    mCurrentAuthSession.mUserId,
+                    mCurrentAuthSession.isCrypto(),
+                    BiometricsProtoEnums.ACTION_AUTHENTICATE,
+                    BiometricsProtoEnums.CLIENT_BIOMETRIC_PROMPT,
+                    error,
+                    0 /* vendorCode */);
+        }
+    }
+
+    private int statsModality() {
+        int modality = 0;
+        if (mCurrentAuthSession == null) {
+            return BiometricsProtoEnums.MODALITY_UNKNOWN;
+        }
+        if ((mCurrentAuthSession.mModality & BiometricAuthenticator.TYPE_FINGERPRINT)
+                != 0) {
+            modality |= BiometricsProtoEnums.MODALITY_FINGERPRINT;
+        }
+        if ((mCurrentAuthSession.mModality & BiometricAuthenticator.TYPE_IRIS) != 0) {
+            modality |= BiometricsProtoEnums.MODALITY_IRIS;
+        }
+        if ((mCurrentAuthSession.mModality & BiometricAuthenticator.TYPE_FACE) != 0) {
+            modality |= BiometricsProtoEnums.MODALITY_FACE;
+        }
+        return modality;
+    }
+
+    private void handleTaskStackChanged() {
+        try {
+            final List<ActivityManager.RunningTaskInfo> runningTasks =
+                    mActivityTaskManager.getTasks(1);
+            if (!runningTasks.isEmpty()) {
+                final String topPackage = runningTasks.get(0).topActivity.getPackageName();
+                if (mCurrentAuthSession != null
+                        && !topPackage.contentEquals(mCurrentAuthSession.mOpPackageName)) {
+                    mStatusBarService.hideBiometricDialog();
+                    mActivityTaskManager.unregisterTaskStackListener(mTaskStackListener);
+                    mCurrentAuthSession.mClientReceiver.onError(
+                            BiometricConstants.BIOMETRIC_ERROR_CANCELED,
+                            getContext().getString(
+                                    com.android.internal.R.string.biometric_error_canceled)
+                    );
+                    mCurrentAuthSession.mState = STATE_AUTH_IDLE;
+                    mCurrentAuthSession = null;
+                }
+            }
+        } catch (RemoteException e) {
+            Slog.e(TAG, "Unable to get running tasks", e);
+        }
+    }
+
+    private void handleAuthenticationSucceeded(boolean requireConfirmation, byte[] token) {
+
+        try {
+            // Should never happen, log this to catch bad HAL behavior (e.g. auth succeeded
+            // after user dismissed/canceled dialog).
+            if (mCurrentAuthSession == null) {
+                Slog.e(TAG, "onAuthenticationSucceeded(): Auth session is null");
+                return;
+            }
+
+            if (!requireConfirmation) {
+                mActivityTaskManager.unregisterTaskStackListener(mTaskStackListener);
+                KeyStore.getInstance().addAuthToken(token);
+                mCurrentAuthSession.mClientReceiver.onAuthenticationSucceeded();
+                mCurrentAuthSession.mState = STATE_AUTH_IDLE;
+                mCurrentAuthSession = null;
+            } else {
+                mCurrentAuthSession.mAuthenticatedTimeMs = System.currentTimeMillis();
+                // Store the auth token and submit it to keystore after the confirmation
+                // button has been pressed.
+                mCurrentAuthSession.mTokenEscrow = token;
+                mCurrentAuthSession.mState = STATE_AUTH_PENDING_CONFIRM;
+            }
+
+            // Notify SysUI that the biometric has been authenticated. SysUI already knows
+            // the implicit/explicit state and will react accordingly.
+            mStatusBarService.onBiometricAuthenticated(true);
+        } catch (RemoteException e) {
+            Slog.e(TAG, "Remote exception", e);
+        }
+    }
+
+    private void handleAuthenticationFailed(int cookie, boolean requireConfirmation) {
+        try {
+            // Should never happen, log this to catch bad HAL behavior (e.g. auth succeeded
+            // after user dismissed/canceled dialog).
+            if (mCurrentAuthSession == null) {
+                Slog.e(TAG, "onAuthenticationFailed(): Auth session is null");
+                return;
+            }
+
+            mStatusBarService.onBiometricAuthenticated(false);
+
+            // TODO: This logic will need to be updated if BP is multi-modal
+            if ((mCurrentAuthSession.mModality & TYPE_FACE) != 0) {
+                // Pause authentication. onBiometricAuthenticated(false) causes the
+                // dialog to show a "try again" button for passive modalities.
+                mCurrentAuthSession.mState = STATE_AUTH_PAUSED;
+            }
+
+            mCurrentAuthSession.mClientReceiver.onAuthenticationFailed();
+        } catch (RemoteException e) {
+            Slog.e(TAG, "Remote exception", e);
+        }
+    }
+
+    private void handleOnError(int cookie, int error, String message) {
+        Slog.d(TAG, "Error: " + error + " cookie: " + cookie);
+        // Errors can either be from the current auth session or the pending auth session.
+        // The pending auth session may receive errors such as ERROR_LOCKOUT before
+        // it becomes the current auth session. Similarly, the current auth session may
+        // receive errors such as ERROR_CANCELED while the pending auth session is preparing
+        // to be started. Thus we must match error messages with their cookies to be sure
+        // of their intended receivers.
+        try {
+            if (mCurrentAuthSession != null && mCurrentAuthSession.containsCookie(cookie)) {
+                if (mCurrentAuthSession.mState == STATE_AUTH_STARTED) {
+                    mStatusBarService.onBiometricError(message);
+                    if (error == BiometricConstants.BIOMETRIC_ERROR_CANCELED) {
+                        mActivityTaskManager.unregisterTaskStackListener(
+                                mTaskStackListener);
+                        mCurrentAuthSession.mClientReceiver.onError(error, message);
+                        mCurrentAuthSession.mState = STATE_AUTH_IDLE;
+                        mCurrentAuthSession = null;
+                        mStatusBarService.hideBiometricDialog();
+                    } else {
+                        // Send errors after the dialog is dismissed.
+                        mHandler.postDelayed(() -> {
+                            try {
+                                if (mCurrentAuthSession != null) {
+                                    mActivityTaskManager.unregisterTaskStackListener(
+                                            mTaskStackListener);
+                                    mCurrentAuthSession.mClientReceiver.onError(error,
+                                            message);
+                                    mCurrentAuthSession.mState = STATE_AUTH_IDLE;
+                                    mCurrentAuthSession = null;
+                                }
+                            } catch (RemoteException e) {
+                                Slog.e(TAG, "Remote exception", e);
+                            }
+                        }, BiometricPrompt.HIDE_DIALOG_DELAY);
+                    }
+                } else if (mCurrentAuthSession.mState == STATE_AUTH_PAUSED) {
+                    // In the "try again" state, we should forward canceled errors to
+                    // the client and and clean up.
+                    mCurrentAuthSession.mClientReceiver.onError(error, message);
+                    mStatusBarService.onBiometricError(message);
+                    mActivityTaskManager.unregisterTaskStackListener(
+                            mTaskStackListener);
+                    mCurrentAuthSession.mState = STATE_AUTH_IDLE;
+                    mCurrentAuthSession = null;
+                } else {
+                    Slog.e(TAG, "Impossible session error state: "
+                            + mCurrentAuthSession.mState);
+                }
+            } else if (mPendingAuthSession != null
+                    && mPendingAuthSession.containsCookie(cookie)) {
+                if (mPendingAuthSession.mState == STATE_AUTH_CALLED) {
+                    mPendingAuthSession.mClientReceiver.onError(error, message);
+                    mPendingAuthSession.mState = STATE_AUTH_IDLE;
+                    mPendingAuthSession = null;
+                } else {
+                    Slog.e(TAG, "Impossible pending session error state: "
+                            + mPendingAuthSession.mState);
+                }
+            }
+        } catch (RemoteException e) {
+            Slog.e(TAG, "Remote exception", e);
+        }
+    }
+
+    private void handleOnAcquired(int acquiredInfo, String message) {
+        // Should never happen, log this to catch bad HAL behavior (e.g. auth succeeded
+        // after user dismissed/canceled dialog).
+        if (mCurrentAuthSession == null) {
+            Slog.e(TAG, "onAcquired(): Auth session is null");
+            return;
+        }
+
+        if (acquiredInfo != BiometricConstants.BIOMETRIC_ACQUIRED_GOOD) {
+            try {
+                mStatusBarService.onBiometricHelp(message);
+            } catch (RemoteException e) {
+                Slog.e(TAG, "Remote exception", e);
+            }
+        }
+    }
+
+    private void handleOnDismissed(int reason) {
+        if (mCurrentAuthSession == null) {
+            Slog.e(TAG, "onDialogDismissed: " + reason + ", auth session null");
+            return;
+        }
+
+        logDialogDismissed(reason);
+
+        try {
+            if (reason != BiometricPrompt.DISMISSED_REASON_POSITIVE) {
+                // Positive button is used by passive modalities as a "confirm" button,
+                // do not send to client
+                mCurrentAuthSession.mClientReceiver.onDialogDismissed(reason);
+                // Cancel authentication. Skip the token/package check since we are cancelling
+                // from system server. The interface is permission protected so this is fine.
+                cancelInternal(null /* token */, null /* package */, false /* fromClient */);
+            }
+            if (reason == BiometricPrompt.DISMISSED_REASON_USER_CANCEL) {
+                mCurrentAuthSession.mClientReceiver.onError(
+                        BiometricConstants.BIOMETRIC_ERROR_USER_CANCELED,
+                        getContext().getString(
+                                com.android.internal.R.string.biometric_error_user_canceled));
+            } else if (reason == BiometricPrompt.DISMISSED_REASON_POSITIVE) {
+                // Have the service send the token to KeyStore, and send onAuthenticated
+                // to the application
+                KeyStore.getInstance().addAuthToken(mCurrentAuthSession.mTokenEscrow);
+                mCurrentAuthSession.mClientReceiver.onAuthenticationSucceeded();
+            }
+            mActivityTaskManager.unregisterTaskStackListener(mTaskStackListener);
+            mCurrentAuthSession.mState = STATE_AUTH_IDLE;
+            mCurrentAuthSession = null;
+        } catch (RemoteException e) {
+            Slog.e(TAG, "Remote exception", e);
+        }
+    }
+
+    private void handleOnTryAgainPressed() {
+        Slog.d(TAG, "onTryAgainPressed");
+        // No need to check permission, since it can only be invoked by SystemUI
+        // (or system server itself).
+        authenticateInternal(mCurrentAuthSession.mToken,
+                mCurrentAuthSession.mSessionId,
+                mCurrentAuthSession.mUserId,
+                mCurrentAuthSession.mClientReceiver,
+                mCurrentAuthSession.mOpPackageName,
+                mCurrentAuthSession.mBundle,
+                mCurrentAuthSession.mCallingUid,
+                mCurrentAuthSession.mCallingPid,
+                mCurrentAuthSession.mCallingUserId,
+                mCurrentAuthSession.mModality);
+    }
+
+    private void handleOnReadyForAuthentication(int cookie, boolean requireConfirmation,
+            int userId) {
+        Iterator it = mPendingAuthSession.mModalitiesWaiting.entrySet().iterator();
+        while (it.hasNext()) {
+            Map.Entry<Integer, Integer> pair = (Map.Entry) it.next();
+            if (pair.getValue() == cookie) {
+                mPendingAuthSession.mModalitiesMatched.put(pair.getKey(), pair.getValue());
+                mPendingAuthSession.mModalitiesWaiting.remove(pair.getKey());
+                Slog.d(TAG, "Matched cookie: " + cookie + ", "
+                        + mPendingAuthSession.mModalitiesWaiting.size() + " remaining");
+                break;
+            }
+        }
+
+        if (mPendingAuthSession.mModalitiesWaiting.isEmpty()) {
+            final boolean continuing = mCurrentAuthSession != null
+                    && mCurrentAuthSession.mState == STATE_AUTH_PAUSED;
+
+            mCurrentAuthSession = mPendingAuthSession;
+            mPendingAuthSession = null;
+
+            mCurrentAuthSession.mState = STATE_AUTH_STARTED;
+            try {
+                int modality = TYPE_NONE;
+                it = mCurrentAuthSession.mModalitiesMatched.entrySet().iterator();
+                while (it.hasNext()) {
+                    Map.Entry<Integer, Integer> pair = (Map.Entry) it.next();
+                    if (pair.getKey() == TYPE_FINGERPRINT) {
+                        mFingerprintService.startPreparedClient(pair.getValue());
+                    } else if (pair.getKey() == TYPE_IRIS) {
+                        Slog.e(TAG, "Iris unsupported");
+                    } else if (pair.getKey() == TYPE_FACE) {
+                        mFaceService.startPreparedClient(pair.getValue());
+                    } else {
+                        Slog.e(TAG, "Unknown modality: " + pair.getKey());
+                    }
+                    modality |= pair.getKey();
+                }
+
+                if (!continuing) {
+                    mStatusBarService.showBiometricDialog(mCurrentAuthSession.mBundle,
+                            mInternalReceiver, modality, requireConfirmation, userId);
+                    mActivityTaskManager.registerTaskStackListener(mTaskStackListener);
+                }
+            } catch (RemoteException e) {
+                Slog.e(TAG, "Remote exception", e);
+            }
+        }
+    }
+
+    private void handleAuthenticate(IBinder token, long sessionId, int userId,
+            IBiometricServiceReceiver receiver, String opPackageName, Bundle bundle,
+            int callingUid, int callingPid, int callingUserId) {
+
+        mHandler.post(() -> {
+            final Pair<Integer, Integer> result = checkAndGetBiometricModality(userId);
+            final int modality = result.first;
+            final int error = result.second;
+
+            // Check for errors, notify callback, and return
+            if (error != BiometricConstants.BIOMETRIC_SUCCESS) {
+                try {
+                    final String hardwareUnavailable =
+                            getContext().getString(R.string.biometric_error_hw_unavailable);
+                    switch (error) {
+                        case BiometricConstants.BIOMETRIC_ERROR_HW_NOT_PRESENT:
+                            receiver.onError(error, hardwareUnavailable);
+                            break;
+                        case BiometricConstants.BIOMETRIC_ERROR_HW_UNAVAILABLE:
+                            receiver.onError(error, hardwareUnavailable);
+                            break;
+                        case BiometricConstants.BIOMETRIC_ERROR_NO_BIOMETRICS:
+                            receiver.onError(error,
+                                    getErrorString(modality, error, 0 /* vendorCode */));
+                            break;
+                        default:
+                            Slog.e(TAG, "Unhandled error");
+                            break;
+                    }
+                } catch (RemoteException e) {
+                    Slog.e(TAG, "Unable to send error", e);
+                }
+                return;
+            }
+
+            mCurrentModality = modality;
+
+            // Start preparing for authentication. Authentication starts when
+            // all modalities requested have invoked onReadyForAuthentication.
+            authenticateInternal(token, sessionId, userId, receiver, opPackageName, bundle,
+                    callingUid, callingPid, callingUserId, modality);
+        });
+    }
+
+    /**
+     * authenticate() (above) which is called from BiometricPrompt determines which
+     * modality/modalities to start authenticating with. authenticateInternal() should only be
+     * used for:
+     * 1) Preparing <Biometric>Services for authentication when BiometricPrompt#authenticate is,
+     *    invoked, shortly after which BiometricPrompt is shown and authentication starts
+     * 2) Preparing <Biometric>Services for authentication when BiometricPrompt is already shown
+     *    and the user has pressed "try again"
+     */
+    private void authenticateInternal(IBinder token, long sessionId, int userId,
+            IBiometricServiceReceiver receiver, String opPackageName, Bundle bundle,
+            int callingUid, int callingPid, int callingUserId, int modality) {
+        try {
+            boolean requireConfirmation = bundle.getBoolean(
+                    BiometricPrompt.KEY_REQUIRE_CONFIRMATION, true /* default */);
+            if ((modality & TYPE_FACE) != 0) {
+                // Check if the user has forced confirmation to be required in Settings.
+                requireConfirmation = requireConfirmation
+                        || mSettingObserver.getFaceAlwaysRequireConfirmation();
+            }
+            // Generate random cookies to pass to the services that should prepare to start
+            // authenticating. Store the cookie here and wait for all services to "ack"
+            // with the cookie. Once all cookies are received, we can show the prompt
+            // and let the services start authenticating. The cookie should be non-zero.
+            final int cookie = mRandom.nextInt(Integer.MAX_VALUE - 1) + 1;
+            Slog.d(TAG, "Creating auth session. Modality: " + modality
+                    + ", cookie: " + cookie);
+            final HashMap<Integer, Integer> authenticators = new HashMap<>();
+            authenticators.put(modality, cookie);
+            mPendingAuthSession = new AuthSession(authenticators, token, sessionId, userId,
+                    receiver, opPackageName, bundle, callingUid, callingPid, callingUserId,
+                    modality, requireConfirmation);
+            mPendingAuthSession.mState = STATE_AUTH_CALLED;
+            // No polymorphism :(
+            if ((modality & TYPE_FINGERPRINT) != 0) {
+                mFingerprintService.prepareForAuthentication(token, sessionId, userId,
+                        mInternalReceiver, opPackageName, cookie,
+                        callingUid, callingPid, callingUserId);
+            }
+            if ((modality & TYPE_IRIS) != 0) {
+                Slog.w(TAG, "Iris unsupported");
+            }
+            if ((modality & TYPE_FACE) != 0) {
+                mFaceService.prepareForAuthentication(requireConfirmation,
+                        token, sessionId, userId, mInternalReceiver, opPackageName,
+                        cookie, callingUid, callingPid, callingUserId);
+            }
+        } catch (RemoteException e) {
+            Slog.e(TAG, "Unable to start authentication", e);
+        }
+    }
+
+    private void handleCancelAuthentication(IBinder token, String opPackageName) {
+        if (token == null || opPackageName == null) {
+            Slog.e(TAG, "Unable to cancel, one or more null arguments");
+            return;
+        }
+
+        // We need to check the current authenticators state. If we're pending confirm
+        // or idle, we need to dismiss the dialog and send an ERROR_CANCELED to the client,
+        // since we won't be getting an onError from the driver.
+        if (mCurrentAuthSession != null && mCurrentAuthSession.mState != STATE_AUTH_STARTED) {
+            try {
+                // Send error to client
+                mCurrentAuthSession.mClientReceiver.onError(
+                        BiometricConstants.BIOMETRIC_ERROR_CANCELED,
+                        getContext().getString(
+                                com.android.internal.R.string.biometric_error_user_canceled)
+                );
+
+                mCurrentAuthSession.mState = STATE_AUTH_IDLE;
+                mCurrentAuthSession = null;
+                mStatusBarService.hideBiometricDialog();
+            } catch (RemoteException e) {
+                Slog.e(TAG, "Remote exception", e);
+            }
+        } else {
+            cancelInternal(token, opPackageName, true /* fromClient */);
+        }
+    }
+
+
+    void cancelInternal(IBinder token, String opPackageName, boolean fromClient) {
+        final int callingUid = Binder.getCallingUid();
+        final int callingPid = Binder.getCallingPid();
+        final int callingUserId = UserHandle.getCallingUserId();
+        mHandler.post(() -> {
+            try {
+                // TODO: For multiple modalities, send a single ERROR_CANCELED only when all
+                // drivers have canceled authentication.
+                if ((mCurrentModality & TYPE_FINGERPRINT) != 0) {
+                    mFingerprintService.cancelAuthenticationFromService(token, opPackageName,
+                            callingUid, callingPid, callingUserId, fromClient);
+                }
+                if ((mCurrentModality & TYPE_IRIS) != 0) {
+                    Slog.w(TAG, "Iris unsupported");
+                }
+                if ((mCurrentModality & TYPE_FACE) != 0) {
+                    mFaceService.cancelAuthenticationFromService(token, opPackageName,
+                            callingUid, callingPid, callingUserId, fromClient);
+                }
+            } catch (RemoteException e) {
+                Slog.e(TAG, "Unable to cancel authentication");
+            }
+        });
+    }
+
 }
diff --git a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
index d787758..3e48445 100644
--- a/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
+++ b/services/core/java/com/android/server/biometrics/BiometricServiceBase.java
@@ -43,6 +43,7 @@
 import android.os.IHwBinder;
 import android.os.IRemoteCallback;
 import android.os.PowerManager;
+import android.os.Process;
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.os.SystemClock;
@@ -958,6 +959,10 @@
             int pid, int userId) {
         checkUseBiometricPermission();
 
+
+        if (Binder.getCallingUid() == Process.SYSTEM_UID) {
+            return true; // System process (BiometricService, etc) is always allowed
+        }
         if (isKeyguard(opPackageName)) {
             return true; // Keyguard is always allowed
         }
@@ -1218,6 +1223,9 @@
                     BiometricsProtoEnums.ISSUE_UNKNOWN_TEMPLATE_ENROLLED_HAL);
         } else {
             clearEnumerateState();
+            if (mPendingClient != null) {
+                startClient(mPendingClient, false /* initiatedByClient */);
+            }
         }
     }
 
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 d2d1482..c385991 100644
--- a/services/core/java/com/android/server/biometrics/face/FaceService.java
+++ b/services/core/java/com/android/server/biometrics/face/FaceService.java
@@ -32,6 +32,7 @@
 import android.hardware.biometrics.IBiometricServiceReceiverInternal;
 import android.hardware.biometrics.face.V1_0.IBiometricsFace;
 import android.hardware.biometrics.face.V1_0.IBiometricsFaceClientCallback;
+import android.hardware.biometrics.face.V1_0.OptionalBool;
 import android.hardware.biometrics.face.V1_0.Status;
 import android.hardware.face.Face;
 import android.hardware.face.FaceManager;
@@ -54,7 +55,6 @@
 import com.android.server.biometrics.AuthenticationClient;
 import com.android.server.biometrics.BiometricServiceBase;
 import com.android.server.biometrics.BiometricUtils;
-import com.android.server.biometrics.ClientMonitor;
 import com.android.server.biometrics.EnumerateClient;
 import com.android.server.biometrics.Metrics;
 import com.android.server.biometrics.RemovalClient;
@@ -385,38 +385,61 @@
         }
 
         @Override
-        public int setFeature(int feature, boolean enabled, final byte[] token) {
+        public boolean setFeature(int feature, boolean enabled, final byte[] token) {
             checkPermission(MANAGE_BIOMETRIC);
 
+            if (!FaceService.this.hasEnrolledBiometrics(mCurrentUserId)) {
+                Slog.e(TAG, "No enrolled biometrics while setting feature: " + feature);
+                return false;
+            }
+
             final ArrayList<Byte> byteToken = new ArrayList<>();
             for (int i = 0; i < token.length; i++) {
                 byteToken.add(token[i]);
             }
 
-            int result;
-            try {
-                result = mDaemon != null ? mDaemon.setFeature(feature, enabled, byteToken)
-                        : Status.INTERNAL_ERROR;
-            } catch (RemoteException e) {
-                Slog.e(getTag(), "Unable to set feature: " + feature + " to enabled:" + enabled,
-                        e);
-                result = Status.INTERNAL_ERROR;
-            }
+            // TODO: Support multiple faces
+            final int faceId = getFirstTemplateForUser(mCurrentUserId);
 
-            return result;
+            if (mDaemon != null) {
+                try {
+                    return mDaemon.setFeature(feature, enabled, byteToken, faceId) == Status.OK;
+                } catch (RemoteException e) {
+                    Slog.e(getTag(), "Unable to set feature: " + feature + " to enabled:" + enabled,
+                            e);
+                }
+            }
+            return false;
         }
 
         @Override
         public boolean getFeature(int feature) {
             checkPermission(MANAGE_BIOMETRIC);
 
-            boolean result = true;
-            try {
-                result = mDaemon != null ? mDaemon.getFeature(feature) : true;
-            } catch (RemoteException e) {
-                Slog.e(getTag(), "Unable to getRequireAttention", e);
+            // This should ideally return tri-state, but the user isn't shown settings unless
+            // they are enrolled so it's fine for now.
+            if (!FaceService.this.hasEnrolledBiometrics(mCurrentUserId)) {
+                Slog.e(TAG, "No enrolled biometrics while getting feature: " + feature);
+                return false;
             }
-            return result;
+
+            // TODO: Support multiple faces
+            final int faceId = getFirstTemplateForUser(mCurrentUserId);
+
+            if (mDaemon != null) {
+                try {
+                    OptionalBool result = mDaemon.getFeature(feature, faceId);
+                    if (result.status == Status.OK) {
+                        return result.value;
+                    } else {
+                        // Same tri-state comment applies here.
+                        return false;
+                    }
+                } catch (RemoteException e) {
+                    Slog.e(getTag(), "Unable to getRequireAttention", e);
+                }
+            }
+            return false;
         }
 
         @Override
@@ -431,6 +454,15 @@
                 }
             }
         }
+
+        // TODO: Support multiple faces
+        private int getFirstTemplateForUser(int user) {
+            final List<Face> faces = FaceService.this.getEnrolledTemplates(user);
+            if (!faces.isEmpty()) {
+                return faces.get(0).getBiometricId();
+            }
+            return 0;
+        }
     }
 
     /**
@@ -601,11 +633,19 @@
         }
 
         @Override
-        public void onRemoved(final long deviceId, final int faceId, final int userId,
-                final int remaining) {
+        public void onRemoved(final long deviceId, ArrayList<Integer> faceIds, final int userId) {
             mHandler.post(() -> {
-                final Face face = new Face("", faceId, deviceId);
-                FaceService.super.handleRemoved(face, remaining);
+                if (!faceIds.isEmpty()) {
+                    for (int i = 0; i < faceIds.size(); i++) {
+                        final Face face = new Face("", faceIds.get(i), deviceId);
+                        // Convert to old behavior
+                        FaceService.super.handleRemoved(face, faceIds.size() - i - 1);
+                    }
+                } else {
+                    final Face face = new Face("", 0 /* identifier */, deviceId);
+                    FaceService.super.handleRemoved(face, 0 /* remaining */);
+                }
+
             });
         }
 
diff --git a/services/core/java/com/android/server/connectivity/KeepaliveTracker.java b/services/core/java/com/android/server/connectivity/KeepaliveTracker.java
index 6cff57d..35d6860 100644
--- a/services/core/java/com/android/server/connectivity/KeepaliveTracker.java
+++ b/services/core/java/com/android/server/connectivity/KeepaliveTracker.java
@@ -21,8 +21,8 @@
 import static android.net.NetworkAgent.CMD_REMOVE_KEEPALIVE_PACKET_FILTER;
 import static android.net.NetworkAgent.CMD_START_SOCKET_KEEPALIVE;
 import static android.net.NetworkAgent.CMD_STOP_SOCKET_KEEPALIVE;
-import static android.net.NetworkAgent.EVENT_SOCKET_KEEPALIVE;
 import static android.net.SocketKeepalive.BINDER_DIED;
+import static android.net.SocketKeepalive.DATA_RECEIVED;
 import static android.net.SocketKeepalive.ERROR_INVALID_INTERVAL;
 import static android.net.SocketKeepalive.ERROR_INVALID_IP_ADDRESS;
 import static android.net.SocketKeepalive.ERROR_INVALID_NETWORK;
@@ -34,6 +34,7 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.net.ISocketKeepaliveCallback;
 import android.net.KeepalivePacketData;
 import android.net.NattKeepalivePacketData;
 import android.net.NetworkAgent;
@@ -47,7 +48,6 @@
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Message;
-import android.os.Messenger;
 import android.os.Process;
 import android.os.RemoteException;
 import android.system.ErrnoException;
@@ -99,8 +99,7 @@
      */
     class KeepaliveInfo implements IBinder.DeathRecipient {
         // Bookkeeping data.
-        private final Messenger mMessenger;
-        private final IBinder mBinder;
+        private final ISocketKeepaliveCallback mCallback;
         private final int mUid;
         private final int mPid;
         private final NetworkAgentInfo mNai;
@@ -124,15 +123,13 @@
         private static final int STARTED = 3;
         private int mStartedState = NOT_STARTED;
 
-        KeepaliveInfo(@NonNull Messenger messenger,
-                @NonNull IBinder binder,
+        KeepaliveInfo(@NonNull ISocketKeepaliveCallback callback,
                 @NonNull NetworkAgentInfo nai,
                 @NonNull KeepalivePacketData packet,
                 int interval,
                 int type,
                 @NonNull FileDescriptor fd) {
-            mMessenger = messenger;
-            mBinder = binder;
+            mCallback = callback;
             mPid = Binder.getCallingPid();
             mUid = Binder.getCallingUid();
 
@@ -143,7 +140,7 @@
             mFd = fd;
 
             try {
-                mBinder.linkToDeath(this, 0);
+                mCallback.asBinder().linkToDeath(this, 0);
             } catch (RemoteException e) {
                 binderDied();
             }
@@ -176,22 +173,14 @@
                     + " ]";
         }
 
-        /** Sends a message back to the application via its SocketKeepalive.Callback. */
-        void notifyMessenger(int slot, int err) {
-            if (DBG) {
-                Log.d(TAG, "notify keepalive " + mSlot + " on " + mNai.network + " for " + err);
-            }
-            KeepaliveTracker.this.notifyMessenger(mMessenger, slot, err);
-        }
-
         /** Called when the application process is killed. */
         public void binderDied() {
             stop(BINDER_DIED);
         }
 
         void unlinkDeathRecipient() {
-            if (mBinder != null) {
-                mBinder.unlinkToDeath(this, 0);
+            if (mCallback != null) {
+                mCallback.asBinder().unlinkToDeath(this, 0);
             }
         }
 
@@ -239,7 +228,12 @@
                                 .sendMessage(CMD_START_SOCKET_KEEPALIVE, slot, mInterval, mPacket);
                         break;
                     case TYPE_TCP:
-                        mTcpController.startSocketMonitor(mFd, this, mSlot);
+                        try {
+                            mTcpController.startSocketMonitor(mFd, this, mSlot);
+                        } catch (InvalidSocketException e) {
+                            handleStopKeepalive(mNai, mSlot, ERROR_INVALID_SOCKET);
+                            return;
+                        }
                         mNai.asyncChannel
                                 .sendMessage(CMD_ADD_KEEPALIVE_PACKET_FILTER, slot, 0 /* Unused */,
                                         mPacket);
@@ -278,9 +272,23 @@
                     Log.wtf(TAG, "Stopping keepalive with unknown type: " + mType);
                 }
             }
-            // TODO: at the moment we unconditionally return failure here. In cases where the
-            // NetworkAgent is alive, should we ask it to reply, so it can return failure?
-            notifyMessenger(mSlot, reason);
+
+            if (reason == SUCCESS) {
+                try {
+                    mCallback.onStopped();
+                } catch (RemoteException e) {
+                    Log.w(TAG, "Discarded onStop callback: " + reason);
+                }
+            } else if (reason == DATA_RECEIVED) {
+                try {
+                    mCallback.onDataReceived();
+                } catch (RemoteException e) {
+                    Log.w(TAG, "Discarded onDataReceived callback: " + reason);
+                }
+            } else {
+                notifyErrorCallback(mCallback, reason);
+            }
+
             unlinkDeathRecipient();
         }
 
@@ -289,16 +297,12 @@
         }
     }
 
-    void notifyMessenger(Messenger messenger, int slot, int err) {
-        Message message = Message.obtain();
-        message.what = EVENT_SOCKET_KEEPALIVE;
-        message.arg1 = slot;
-        message.arg2 = err;
-        message.obj = null;
+    void notifyErrorCallback(ISocketKeepaliveCallback cb, int error) {
+        if (DBG) Log.w(TAG, "Sending onError(" + error + ") callback");
         try {
-            messenger.send(message);
+            cb.onError(error);
         } catch (RemoteException e) {
-            // Process died?
+            Log.w(TAG, "Discarded onError(" + error + ") callback");
         }
     }
 
@@ -409,7 +413,11 @@
             // Keepalive successfully started.
             if (DBG) Log.d(TAG, "Started keepalive " + slot + " on " + nai.name());
             ki.mStartedState = KeepaliveInfo.STARTED;
-            ki.notifyMessenger(slot, reason);
+            try {
+                ki.mCallback.onStarted(slot);
+            } catch (RemoteException e) {
+                Log.w(TAG, "Discarded onStarted(" + slot + ") callback");
+            }
         } else {
             // Keepalive successfully stopped, or error.
             ki.mStartedState = KeepaliveInfo.NOT_STARTED;
@@ -431,14 +439,13 @@
      **/
     public void startNattKeepalive(@Nullable NetworkAgentInfo nai,
             int intervalSeconds,
-            @NonNull Messenger messenger,
-            @NonNull IBinder binder,
+            @NonNull ISocketKeepaliveCallback cb,
             @NonNull String srcAddrString,
             int srcPort,
             @NonNull String dstAddrString,
             int dstPort) {
         if (nai == null) {
-            notifyMessenger(messenger, NO_KEEPALIVE, ERROR_INVALID_NETWORK);
+            notifyErrorCallback(cb, ERROR_INVALID_NETWORK);
             return;
         }
 
@@ -447,7 +454,7 @@
             srcAddress = NetworkUtils.numericToInetAddress(srcAddrString);
             dstAddress = NetworkUtils.numericToInetAddress(dstAddrString);
         } catch (IllegalArgumentException e) {
-            notifyMessenger(messenger, NO_KEEPALIVE, ERROR_INVALID_IP_ADDRESS);
+            notifyErrorCallback(cb, ERROR_INVALID_IP_ADDRESS);
             return;
         }
 
@@ -456,11 +463,12 @@
             packet = NattKeepalivePacketData.nattKeepalivePacket(
                     srcAddress, srcPort, dstAddress, NATT_PORT);
         } catch (InvalidPacketException e) {
-            notifyMessenger(messenger, NO_KEEPALIVE, e.error);
+            notifyErrorCallback(cb, e.error);
             return;
         }
-        KeepaliveInfo ki = new KeepaliveInfo(messenger, binder, nai, packet, intervalSeconds,
+        KeepaliveInfo ki = new KeepaliveInfo(cb, nai, packet, intervalSeconds,
                 KeepaliveInfo.TYPE_NATT, null);
+        Log.d(TAG, "Created keepalive: " + ki.toString());
         mConnectivityServiceHandler.obtainMessage(
                 NetworkAgent.CMD_START_SOCKET_KEEPALIVE, ki).sendToTarget();
     }
@@ -478,10 +486,9 @@
     public void startTcpKeepalive(@Nullable NetworkAgentInfo nai,
             @NonNull FileDescriptor fd,
             int intervalSeconds,
-            @NonNull Messenger messenger,
-            @NonNull IBinder binder) {
+            @NonNull ISocketKeepaliveCallback cb) {
         if (nai == null) {
-            notifyMessenger(messenger, NO_KEEPALIVE, ERROR_INVALID_NETWORK);
+            notifyErrorCallback(cb, ERROR_INVALID_NETWORK);
             return;
         }
 
@@ -495,10 +502,10 @@
             } catch (ErrnoException e1) {
                 Log.e(TAG, "Couldn't move fd out of repair mode after failure to start keepalive");
             }
-            notifyMessenger(messenger, NO_KEEPALIVE, e.error);
+            notifyErrorCallback(cb, e.error);
             return;
         }
-        KeepaliveInfo ki = new KeepaliveInfo(messenger, binder, nai, packet, intervalSeconds,
+        KeepaliveInfo ki = new KeepaliveInfo(cb, nai, packet, intervalSeconds,
                 KeepaliveInfo.TYPE_TCP, fd);
         Log.d(TAG, "Created keepalive: " + ki.toString());
         mConnectivityServiceHandler.obtainMessage(CMD_START_SOCKET_KEEPALIVE, ki).sendToTarget();
@@ -515,14 +522,13 @@
             @Nullable FileDescriptor fd,
             int resourceId,
             int intervalSeconds,
-            @NonNull Messenger messenger,
-            @NonNull IBinder binder,
+            @NonNull ISocketKeepaliveCallback cb,
             @NonNull String srcAddrString,
             @NonNull String dstAddrString,
             int dstPort) {
         // Ensure that the socket is created by IpSecService.
         if (!isNattKeepaliveSocketValid(fd, resourceId)) {
-            notifyMessenger(messenger, NO_KEEPALIVE, ERROR_INVALID_SOCKET);
+            notifyErrorCallback(cb, ERROR_INVALID_SOCKET);
         }
 
         // Get src port to adopt old API.
@@ -531,11 +537,11 @@
             final SocketAddress srcSockAddr = Os.getsockname(fd);
             srcPort = ((InetSocketAddress) srcSockAddr).getPort();
         } catch (ErrnoException e) {
-            notifyMessenger(messenger, NO_KEEPALIVE, ERROR_INVALID_SOCKET);
+            notifyErrorCallback(cb, ERROR_INVALID_SOCKET);
         }
 
         // Forward request to old API.
-        startNattKeepalive(nai, intervalSeconds, messenger, binder, srcAddrString, srcPort,
+        startNattKeepalive(nai, intervalSeconds, cb, srcAddrString, srcPort,
                 dstAddrString, dstPort);
     }
 
diff --git a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
index 6ef9fbb..8f2825c 100644
--- a/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
+++ b/services/core/java/com/android/server/connectivity/NetworkAgentInfo.java
@@ -156,6 +156,9 @@
     // last detected.
     public boolean captivePortalLoginNotified;
 
+    // Set to true when partial connectivity was detected.
+    public boolean partialConnectivity;
+
     // Networks are lingered when they become unneeded as a result of their NetworkRequests being
     // satisfied by a higher-scoring network. so as to allow communication to wrap up before the
     // network is taken down.  This usually only happens to the default network. Lingering ends with
@@ -595,6 +598,8 @@
         for (LingerTimer timer : mLingerTimers) { pw.println(timer); }
     }
 
+    // TODO: Print shorter members first and only print the boolean variable which value is true
+    // to improve readability.
     public String toString() {
         return "NetworkAgentInfo{ ni{" + networkInfo + "}  "
                 + "network{" + network + "}  nethandle{" + network.getNetworkHandle() + "}  "
@@ -607,6 +612,8 @@
                 + "everCaptivePortalDetected{" + everCaptivePortalDetected + "} "
                 + "lastCaptivePortalDetected{" + lastCaptivePortalDetected + "} "
                 + "captivePortalLoginNotified{" + captivePortalLoginNotified + "} "
+                + "partialConnectivity{" + partialConnectivity + "} "
+                + "acceptPartialConnectivity{" + networkMisc.acceptPartialConnectivity + "} "
                 + "clat{" + clatd + "} "
                 + "}";
     }
diff --git a/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java b/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java
index b50477b..828a1e5 100644
--- a/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java
+++ b/services/core/java/com/android/server/connectivity/NetworkNotificationManager.java
@@ -28,6 +28,7 @@
 import android.content.res.Resources;
 import android.net.wifi.WifiInfo;
 import android.os.UserHandle;
+import android.telephony.AccessNetworkConstants.TransportType;
 import android.telephony.TelephonyManager;
 import android.text.TextUtils;
 import android.util.Slog;
@@ -47,8 +48,9 @@
         LOST_INTERNET(SystemMessage.NOTE_NETWORK_LOST_INTERNET),
         NETWORK_SWITCH(SystemMessage.NOTE_NETWORK_SWITCH),
         NO_INTERNET(SystemMessage.NOTE_NETWORK_NO_INTERNET),
-        SIGN_IN(SystemMessage.NOTE_NETWORK_SIGN_IN),
-        LOGGED_IN(SystemMessage.NOTE_NETWORK_LOGGED_IN);
+        LOGGED_IN(SystemMessage.NOTE_NETWORK_LOGGED_IN),
+        PARTIAL_CONNECTIVITY(SystemMessage.NOTE_NETWORK_PARTIAL_CONNECTIVITY),
+        SIGN_IN(SystemMessage.NOTE_NETWORK_SIGN_IN);
 
         public final int eventId;
 
@@ -91,7 +93,7 @@
         return -1;
     }
 
-    private static String getTransportName(int transportType) {
+    private static String getTransportName(@TransportType int transportType) {
         Resources r = Resources.getSystem();
         String[] networkTypes = r.getStringArray(R.array.network_switch_type_name);
         try {
@@ -169,11 +171,18 @@
         CharSequence details;
         int icon = getIcon(transportType);
         if (notifyType == NotificationType.NO_INTERNET && transportType == TRANSPORT_WIFI) {
-            title = r.getString(R.string.wifi_no_internet, 0);
+            title = r.getString(R.string.wifi_no_internet,
+                    WifiInfo.removeDoubleQuotes(nai.networkCapabilities.getSSID()));
             details = r.getString(R.string.wifi_no_internet_detailed);
+        } else if (notifyType == NotificationType.PARTIAL_CONNECTIVITY
+                && transportType == TRANSPORT_WIFI) {
+            title = r.getString(R.string.network_partial_connectivity,
+                    WifiInfo.removeDoubleQuotes(nai.networkCapabilities.getSSID()));
+            details = r.getString(R.string.network_partial_connectivity_detailed);
         } else if (notifyType == NotificationType.LOST_INTERNET &&
                 transportType == TRANSPORT_WIFI) {
-            title = r.getString(R.string.wifi_no_internet, 0);
+            title = r.getString(R.string.wifi_no_internet,
+                    WifiInfo.removeDoubleQuotes(nai.networkCapabilities.getSSID()));
             details = r.getString(R.string.wifi_no_internet_detailed);
         } else if (notifyType == NotificationType.SIGN_IN) {
             switch (transportType) {
@@ -316,6 +325,8 @@
         }
         switch (t) {
             case SIGN_IN:
+                return 5;
+            case PARTIAL_CONNECTIVITY:
                 return 4;
             case NO_INTERNET:
                 return 3;
diff --git a/services/core/java/com/android/server/connectivity/PacManager.java b/services/core/java/com/android/server/connectivity/PacManager.java
index 9789688..1ac09ad 100644
--- a/services/core/java/com/android/server/connectivity/PacManager.java
+++ b/services/core/java/com/android/server/connectivity/PacManager.java
@@ -70,9 +70,8 @@
     private static final long MAX_PAC_SIZE = 20 * 1000 * 1000;
 
     // Return values for #setCurrentProxyScriptUrl
-    enum ToSendOrNotToSendBroadcast {
-        DONT_SEND_BROADCAST, DO_SEND_BROADCAST
-    }
+    public static final boolean DONT_SEND_BROADCAST = false;
+    public static final boolean DO_SEND_BROADCAST = true;
 
     private String mCurrentPac;
     @GuardedBy("mProxyLock")
@@ -176,11 +175,11 @@
      * @param proxy Proxy information that is about to be broadcast.
      * @return Returns whether the broadcast should be sent : either DO_ or DONT_SEND_BROADCAST
      */
-    synchronized ToSendOrNotToSendBroadcast setCurrentProxyScriptUrl(ProxyInfo proxy) {
+    synchronized boolean setCurrentProxyScriptUrl(ProxyInfo proxy) {
         if (!Uri.EMPTY.equals(proxy.getPacFileUrl())) {
             if (proxy.getPacFileUrl().equals(mPacUrl) && (proxy.getPort() > 0)) {
                 // Allow to send broadcast, nothing to do.
-                return ToSendOrNotToSendBroadcast.DO_SEND_BROADCAST;
+                return DO_SEND_BROADCAST;
             }
             mPacUrl = proxy.getPacFileUrl();
             mCurrentDelay = DELAY_1;
@@ -188,7 +187,7 @@
             mHasDownloaded = false;
             getAlarmManager().cancel(mPacRefreshIntent);
             bind();
-            return ToSendOrNotToSendBroadcast.DONT_SEND_BROADCAST;
+            return DONT_SEND_BROADCAST;
         } else {
             getAlarmManager().cancel(mPacRefreshIntent);
             synchronized (mProxyLock) {
@@ -204,7 +203,7 @@
                     }
                 }
             }
-            return ToSendOrNotToSendBroadcast.DO_SEND_BROADCAST;
+            return DO_SEND_BROADCAST;
         }
     }
 
diff --git a/services/core/java/com/android/server/connectivity/PermissionMonitor.java b/services/core/java/com/android/server/connectivity/PermissionMonitor.java
index d84a4d2..123564e 100644
--- a/services/core/java/com/android/server/connectivity/PermissionMonitor.java
+++ b/services/core/java/com/android/server/connectivity/PermissionMonitor.java
@@ -46,13 +46,11 @@
 import android.util.Slog;
 import android.util.SparseIntArray;
 
-import com.android.internal.annotations.GuardedBy;
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.ArrayUtils;
 import com.android.server.LocalServices;
 
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.HashMap;
 import java.util.HashSet;
 import java.util.List;
@@ -84,20 +82,14 @@
     // Keys are App IDs. Values are true for SYSTEM permission and false for NETWORK permission.
     private final Map<Integer, Boolean> mApps = new HashMap<>();
 
-    // Keys are App packageNames, Values are app uids. . We need to keep track of this information
-    // because PackageListObserver#onPackageRemoved does not pass the UID.
-    @GuardedBy("mPackageNameUidMap")
-    private final Map<String, Integer> mPackageNameUidMap = new HashMap<>();
-
     private class PackageListObserver implements PackageManagerInternal.PackageListObserver {
         @Override
-        public void onPackageAdded(String packageName) {
+        public void onPackageAdded(String packageName, int uid) {
             final PackageInfo app = getPackageInfo(packageName);
             if (app == null) {
                 Slog.wtf(TAG, "Failed to get information of installed package: " + packageName);
                 return;
             }
-            int uid = (app.applicationInfo != null) ? app.applicationInfo.uid : INVALID_UID;
             if (uid == INVALID_UID) {
                 Slog.wtf(TAG, "Failed to get the uid of installed package: " + packageName
                         + "uid: " + uid);
@@ -107,29 +99,21 @@
                 return;
             }
             sendPackagePermissionsForUid(uid,
-                    filterPermission(Arrays.asList(app.requestedPermissions)));
-            synchronized (mPackageNameUidMap) {
-                mPackageNameUidMap.put(packageName, uid);
-            }
+                    getNetdPermissionMask(app.requestedPermissions));
         }
 
         @Override
-        public void onPackageRemoved(String packageName) {
-            int uid;
-            synchronized (mPackageNameUidMap) {
-                if (!mPackageNameUidMap.containsKey(packageName)) {
-                    return;
-                }
-                uid = mPackageNameUidMap.get(packageName);
-                mPackageNameUidMap.remove(packageName);
-            }
+        public void onPackageRemoved(String packageName, int uid) {
             int permission = 0;
+            // If there are still packages remain under the same uid, check the permission of the
+            // remaining packages. We only remove the permission for a given uid when all packages
+            // for that uid no longer have that permission.
             String[] packages = mPackageManager.getPackagesForUid(uid);
             if (packages != null && packages.length > 0) {
                 for (String name : packages) {
                     final PackageInfo app = getPackageInfo(name);
                     if (app != null && app.requestedPermissions != null) {
-                        permission |= filterPermission(Arrays.asList(app.requestedPermissions));
+                        permission |= getNetdPermissionMask(app.requestedPermissions);
                     }
                 }
             }
@@ -184,12 +168,9 @@
 
             //TODO: unify the management of the permissions into one codepath.
             if (app.requestedPermissions != null) {
-                int otherNetdPerms = filterPermission(Arrays.asList(app.requestedPermissions));
+                int otherNetdPerms = getNetdPermissionMask(app.requestedPermissions);
                 if (otherNetdPerms != 0) {
                     netdPermsUids.put(uid, netdPermsUids.get(uid) | otherNetdPerms);
-                    synchronized (mPackageNameUidMap) {
-                        mPackageNameUidMap.put(app.applicationInfo.packageName, uid);
-                    }
                 }
             }
         }
@@ -422,13 +403,15 @@
         }
     }
 
-    private static int filterPermission(List<String> requestedPermissions) {
+    private static int getNetdPermissionMask(String[] requestedPermissions) {
         int permissions = 0;
-        if (requestedPermissions.contains(INTERNET)) {
-            permissions |= INetd.PERMISSION_INTERNET;
-        }
-        if (requestedPermissions.contains(UPDATE_DEVICE_STATS)) {
-            permissions |= INetd.PERMISSION_UPDATE_DEVICE_STATS;
+        for (String permissionName : requestedPermissions) {
+            if (permissionName.equals(INTERNET)) {
+                permissions |= INetd.PERMISSION_INTERNET;
+            }
+            if (permissionName.equals(UPDATE_DEVICE_STATS)) {
+                permissions |= INetd.PERMISSION_UPDATE_DEVICE_STATS;
+            }
         }
         return permissions;
     }
@@ -439,8 +422,6 @@
                     | MATCH_ANY_USER);
             return app;
         } catch (NameNotFoundException e) {
-            // App not found.
-            loge("NameNotFoundException " + packageName);
             return null;
         }
     }
diff --git a/services/core/java/com/android/server/connectivity/ProxyTracker.java b/services/core/java/com/android/server/connectivity/ProxyTracker.java
index a671287..e715890 100644
--- a/services/core/java/com/android/server/connectivity/ProxyTracker.java
+++ b/services/core/java/com/android/server/connectivity/ProxyTracker.java
@@ -208,8 +208,7 @@
     public void sendProxyBroadcast() {
         final ProxyInfo defaultProxy = getDefaultProxy();
         final ProxyInfo proxyInfo = null != defaultProxy ? defaultProxy : new ProxyInfo("", 0, "");
-        if (mPacManager.setCurrentProxyScriptUrl(proxyInfo)
-                == PacManager.ToSendOrNotToSendBroadcast.DONT_SEND_BROADCAST) {
+        if (mPacManager.setCurrentProxyScriptUrl(proxyInfo) == PacManager.DONT_SEND_BROADCAST) {
             return;
         }
         if (DBG) Slog.d(TAG, "sending Proxy Broadcast for " + proxyInfo);
diff --git a/services/core/java/com/android/server/connectivity/TcpKeepaliveController.java b/services/core/java/com/android/server/connectivity/TcpKeepaliveController.java
index 65de83b..3e21b5b 100644
--- a/services/core/java/com/android/server/connectivity/TcpKeepaliveController.java
+++ b/services/core/java/com/android/server/connectivity/TcpKeepaliveController.java
@@ -215,18 +215,20 @@
      * Start monitoring incoming packets.
      *
      * @param fd socket fd to monitor.
-     * @param messenger a callback to notify socket status.
+     * @param ki a {@link KeepaliveInfo} that tracks information about a socket keepalive.
      * @param slot keepalive slot.
      */
     public void startSocketMonitor(@NonNull final FileDescriptor fd,
-            @NonNull final KeepaliveInfo ki, final int slot) {
+            @NonNull final KeepaliveInfo ki, final int slot)
+            throws IllegalArgumentException, InvalidSocketException {
         synchronized (mListeners) {
             if (null != mListeners.get(slot)) {
                 throw new IllegalArgumentException("This slot is already taken");
             }
             for (int i = 0; i < mListeners.size(); ++i) {
                 if (fd.equals(mListeners.valueAt(i))) {
-                    throw new IllegalArgumentException("This fd is already registered");
+                    Log.e(TAG, "This fd is already registered.");
+                    throw new InvalidSocketException(ERROR_INVALID_SOCKET);
                 }
             }
             mFdHandlerQueue.addOnFileDescriptorEventListener(fd, FD_EVENTS, (readyFd, events) -> {
diff --git a/services/core/java/com/android/server/connectivity/Tethering.java b/services/core/java/com/android/server/connectivity/Tethering.java
index 13ff30d..35704d40 100644
--- a/services/core/java/com/android/server/connectivity/Tethering.java
+++ b/services/core/java/com/android/server/connectivity/Tethering.java
@@ -62,6 +62,7 @@
 import android.hardware.usb.UsbManager;
 import android.net.INetworkPolicyManager;
 import android.net.INetworkStatsService;
+import android.net.ITetheringEventCallback;
 import android.net.IpPrefix;
 import android.net.LinkAddress;
 import android.net.LinkProperties;
@@ -82,6 +83,7 @@
 import android.os.Looper;
 import android.os.Message;
 import android.os.Parcel;
+import android.os.RemoteCallbackList;
 import android.os.RemoteException;
 import android.os.ResultReceiver;
 import android.os.UserHandle;
@@ -184,6 +186,9 @@
     private final VersionedBroadcastListener mDefaultSubscriptionChange;
     private final TetheringDependencies mDeps;
     private final EntitlementManager mEntitlementMgr;
+    private final Handler mHandler;
+    private final RemoteCallbackList<ITetheringEventCallback> mTetheringEventCallbacks =
+            new RemoteCallbackList<>();
 
     private volatile TetheringConfiguration mConfig;
     private InterfaceSet mCurrentUpstreamIfaceSet;
@@ -193,6 +198,7 @@
     private boolean mRndisEnabled;       // track the RNDIS function enabled state
     // True iff. WiFi tethering should be started when soft AP is ready.
     private boolean mWifiTetherRequested;
+    private Network mTetherUpstream;
 
     public Tethering(Context context, INetworkManagementService nmService,
             INetworkStatsService statsService, INetworkPolicyManager policyManager,
@@ -213,9 +219,9 @@
         mTetherMasterSM = new TetherMasterSM("TetherMaster", mLooper, deps);
         mTetherMasterSM.start();
 
-        final Handler smHandler = mTetherMasterSM.getHandler();
-        mOffloadController = new OffloadController(smHandler,
-                mDeps.getOffloadHardwareInterface(smHandler, mLog),
+        mHandler = mTetherMasterSM.getHandler();
+        mOffloadController = new OffloadController(mHandler,
+                mDeps.getOffloadHardwareInterface(mHandler, mLog),
                 mContext.getContentResolver(), mNMService,
                 mLog);
         mUpstreamNetworkMonitor = deps.getUpstreamNetworkMonitor(mContext, mTetherMasterSM, mLog,
@@ -227,7 +233,7 @@
         mEntitlementMgr = mDeps.getEntitlementManager(mContext, mTetherMasterSM,
                 mLog, systemProperties);
         mCarrierConfigChange = new VersionedBroadcastListener(
-                "CarrierConfigChangeListener", mContext, smHandler, filter,
+                "CarrierConfigChangeListener", mContext, mHandler, filter,
                 (Intent ignored) -> {
                     mLog.log("OBSERVED carrier config change");
                     updateConfiguration();
@@ -237,7 +243,7 @@
         filter = new IntentFilter();
         filter.addAction(TelephonyIntents.ACTION_DEFAULT_DATA_SUBSCRIPTION_CHANGED);
         mDefaultSubscriptionChange = new VersionedBroadcastListener(
-                "DefaultSubscriptionChangeListener", mContext, smHandler, filter,
+                "DefaultSubscriptionChangeListener", mContext, mHandler, filter,
                 (Intent ignored) -> {
                     mLog.log("OBSERVED default data subscription change");
                     updateConfiguration();
@@ -248,14 +254,13 @@
         // Load tethering configuration.
         updateConfiguration();
 
-        startStateMachineUpdaters();
+        startStateMachineUpdaters(mHandler);
     }
 
-    private void startStateMachineUpdaters() {
+    private void startStateMachineUpdaters(Handler handler) {
         mCarrierConfigChange.startListening();
         mDefaultSubscriptionChange.startListening();
 
-        final Handler handler = mTetherMasterSM.getHandler();
         IntentFilter filter = new IntentFilter();
         filter.addAction(UsbManager.ACTION_USB_STATE);
         filter.addAction(CONNECTIVITY_ACTION);
@@ -1229,8 +1234,13 @@
                     sendMessageDelayed(CMD_RETRY_UPSTREAM, UPSTREAM_SETTLE_TIME_MS);
                 }
             }
-            mUpstreamNetworkMonitor.setCurrentUpstream((ns != null) ? ns.network : null);
             setUpstreamNetwork(ns);
+            final Network newUpstream = (ns != null) ? ns.network : null;
+            if (mTetherUpstream != newUpstream) {
+                mTetherUpstream = newUpstream;
+                mUpstreamNetworkMonitor.setCurrentUpstream(mTetherUpstream);
+                reportUpstreamChanged(mTetherUpstream);
+            }
         }
 
         protected void setUpstreamNetwork(NetworkState ns) {
@@ -1413,6 +1423,10 @@
                 mUpstreamNetworkMonitor.stop();
                 notifyDownstreamsOfNewUpstreamIface(null);
                 handleNewUpstreamNetworkState(null);
+                if (mTetherUpstream != null) {
+                    mTetherUpstream = null;
+                    reportUpstreamChanged(null);
+                }
             }
 
             private boolean updateUpstreamWanted() {
@@ -1677,10 +1691,44 @@
     }
 
     /** Get the latest value of the tethering entitlement check. */
-    public void getLatestTetheringEntitlementValue(int type, ResultReceiver receiver,
+    public void getLatestTetheringEntitlementResult(int type, ResultReceiver receiver,
             boolean showEntitlementUi) {
         if (receiver != null) {
-            mEntitlementMgr.getLatestTetheringEntitlementValue(type, receiver, showEntitlementUi);
+            mEntitlementMgr.getLatestTetheringEntitlementResult(type, receiver, showEntitlementUi);
+        }
+    }
+
+    /** Register tethering event callback */
+    public void registerTetheringEventCallback(ITetheringEventCallback callback) {
+        mHandler.post(() -> {
+            try {
+                callback.onUpstreamChanged(mTetherUpstream);
+            } catch (RemoteException e) {
+                // Not really very much to do here.
+            }
+            mTetheringEventCallbacks.register(callback);
+        });
+    }
+
+    /** Unregister tethering event callback */
+    public void unregisterTetheringEventCallback(ITetheringEventCallback callback) {
+        mHandler.post(() -> {
+            mTetheringEventCallbacks.unregister(callback);
+        });
+    }
+
+    private void reportUpstreamChanged(Network network) {
+        final int length = mTetheringEventCallbacks.beginBroadcast();
+        try {
+            for (int i = 0; i < length; i++) {
+                try {
+                    mTetheringEventCallbacks.getBroadcastItem(i).onUpstreamChanged(network);
+                } catch (RemoteException e) {
+                    // Not really very much to do here.
+                }
+            }
+        } finally {
+            mTetheringEventCallbacks.finishBroadcast();
         }
     }
 
diff --git a/services/core/java/com/android/server/connectivity/Vpn.java b/services/core/java/com/android/server/connectivity/Vpn.java
index 59fffb4..8005dda 100644
--- a/services/core/java/com/android/server/connectivity/Vpn.java
+++ b/services/core/java/com/android/server/connectivity/Vpn.java
@@ -1842,6 +1842,7 @@
         config.interfaze = iface;
         config.session = profile.name;
         config.isMetered = false;
+        config.proxyInfo = profile.proxy;
 
         config.addLegacyRoutes(profile.routes);
         if (!profile.dnsServers.isEmpty()) {
diff --git a/services/core/java/com/android/server/connectivity/tethering/EntitlementManager.java b/services/core/java/com/android/server/connectivity/tethering/EntitlementManager.java
index 75aac10..65cc516 100644
--- a/services/core/java/com/android/server/connectivity/tethering/EntitlementManager.java
+++ b/services/core/java/com/android/server/connectivity/tethering/EntitlementManager.java
@@ -291,7 +291,7 @@
     }
 
     /** Get the last value of the tethering entitlement check. */
-    public void getLatestTetheringEntitlementValue(int downstream, ResultReceiver receiver,
+    public void getLatestTetheringEntitlementResult(int downstream, ResultReceiver receiver,
             boolean showEntitlementUi) {
         if (!isTetherProvisioningRequired()) {
             receiver.send(TETHER_ERROR_NO_ERROR, null);
diff --git a/services/core/java/com/android/server/contentcapture/ContentCaptureManagerInternal.java b/services/core/java/com/android/server/contentcapture/ContentCaptureManagerInternal.java
index d04f920..fa7d3fc 100644
--- a/services/core/java/com/android/server/contentcapture/ContentCaptureManagerInternal.java
+++ b/services/core/java/com/android/server/contentcapture/ContentCaptureManagerInternal.java
@@ -18,9 +18,11 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.UserIdInt;
+import android.content.ComponentName;
 import android.content.ContentCaptureOptions;
 import android.os.Bundle;
 import android.os.IBinder;
+import android.service.contentcapture.ActivityEvent.ActivityEventType;
 
 /**
  * ContentCapture Manager local system service interface.
@@ -51,4 +53,10 @@
     @Nullable
     public abstract ContentCaptureOptions getOptionsForPackage(@UserIdInt int userId,
             @NonNull String packageName);
+
+    /**
+     * Notifies the intelligence service of a high-level activity event for the given user.
+     */
+    public abstract void notifyActivityEvent(@UserIdInt int userId,
+            @NonNull ComponentName activityComponent, @ActivityEventType int eventType);
 }
diff --git a/services/core/java/com/android/server/display/AutomaticBrightnessController.java b/services/core/java/com/android/server/display/AutomaticBrightnessController.java
index 1f28a6c..6d7dff5 100644
--- a/services/core/java/com/android/server/display/AutomaticBrightnessController.java
+++ b/services/core/java/com/android/server/display/AutomaticBrightnessController.java
@@ -216,7 +216,7 @@
     private PackageManager mPackageManager;
 
     public AutomaticBrightnessController(Callbacks callbacks, Looper looper,
-            SensorManager sensorManager, BrightnessMappingStrategy mapper,
+            SensorManager sensorManager, Sensor lightSensor, BrightnessMappingStrategy mapper,
             int lightSensorWarmUpTime, int brightnessMin, int brightnessMax, float dozeScaleFactor,
             int lightSensorRate, int initialLightSensorRate, long brighteningLightDebounceConfig,
             long darkeningLightDebounceConfig, boolean resetAmbientLuxAfterWarmUpConfig,
@@ -249,7 +249,7 @@
             new AmbientLightRingBuffer(mNormalLightSensorRate, mAmbientLightHorizon);
 
         if (!DEBUG_PRETEND_LIGHT_SENSOR_ABSENT) {
-            mLightSensor = mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
+            mLightSensor = lightSensor;
         }
 
         mActivityTaskManager = ActivityTaskManager.getService();
diff --git a/services/core/java/com/android/server/display/DisplayModeDirector.java b/services/core/java/com/android/server/display/DisplayModeDirector.java
index af4db07..b0d8813 100644
--- a/services/core/java/com/android/server/display/DisplayModeDirector.java
+++ b/services/core/java/com/android/server/display/DisplayModeDirector.java
@@ -664,6 +664,12 @@
 
         private void updateDisplayModes(int displayId) {
             Display d = mContext.getSystemService(DisplayManager.class).getDisplay(displayId);
+            if (d == null) {
+                // We can occasionally get a display added or changed event for a display that was
+                // subsequently removed, which means this returns null. Check this case and bail
+                // out early; if it gets re-attached we'll eventually get another call back for it.
+                return;
+            }
             DisplayInfo info = new DisplayInfo();
             d.getDisplayInfo(info);
             boolean changed = false;
diff --git a/services/core/java/com/android/server/display/DisplayPowerController.java b/services/core/java/com/android/server/display/DisplayPowerController.java
index 74cda9d..b79ead0 100644
--- a/services/core/java/com/android/server/display/DisplayPowerController.java
+++ b/services/core/java/com/android/server/display/DisplayPowerController.java
@@ -44,6 +44,7 @@
 import android.os.Trace;
 import android.os.UserHandle;
 import android.provider.Settings;
+import android.text.TextUtils;
 import android.util.MathUtils;
 import android.util.Slog;
 import android.util.TimeUtils;
@@ -58,6 +59,7 @@
 import com.android.server.policy.WindowManagerPolicy;
 
 import java.io.PrintWriter;
+import java.util.List;
 
 /**
  * Controls the power state of the display.
@@ -474,10 +476,14 @@
             int shortTermModelTimeout = resources.getInteger(
                     com.android.internal.R.integer.config_autoBrightnessShortTermModelTimeout);
 
+            String lightSensorType = resources.getString(
+                    com.android.internal.R.string.config_displayLightSensorType);
+            Sensor lightSensor = findDisplayLightSensor(lightSensorType);
+
             mBrightnessMapper = BrightnessMappingStrategy.create(resources);
             if (mBrightnessMapper != null) {
                 mAutomaticBrightnessController = new AutomaticBrightnessController(this,
-                        handler.getLooper(), sensorManager, mBrightnessMapper,
+                        handler.getLooper(), sensorManager, lightSensor, mBrightnessMapper,
                         lightSensorWarmUpTimeConfig, mScreenBrightnessRangeMinimum,
                         mScreenBrightnessRangeMaximum, dozeScaleFactor, lightSensorRate,
                         initialLightSensorRate, brighteningLightDebounce, darkeningLightDebounce,
@@ -530,6 +536,19 @@
         mDisplayWhiteBalanceController = displayWhiteBalanceController;
     }
 
+    private Sensor findDisplayLightSensor(String sensorType) {
+        if (!TextUtils.isEmpty(sensorType)) {
+            List<Sensor> sensors = mSensorManager.getSensorList(Sensor.TYPE_ALL);
+            for (int i = 0; i < sensors.size(); i++) {
+                Sensor sensor = sensors.get(i);
+                if (sensorType.equals(sensor.getStringType())) {
+                    return sensor;
+                }
+            }
+        }
+        return mSensorManager.getDefaultSensor(Sensor.TYPE_LIGHT);
+    }
+
     /**
      * Returns true if the proximity sensor screen-off function is available.
      */
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 b1e5510..45567e5 100644
--- a/services/core/java/com/android/server/display/color/ColorDisplayService.java
+++ b/services/core/java/com/android/server/display/color/ColorDisplayService.java
@@ -402,6 +402,10 @@
         cr.registerContentObserver(Secure.getUriFor(Secure.DISPLAY_WHITE_BALANCE_ENABLED),
                 false /* notifyForDescendants */, mContentObserver, mCurrentUser);
 
+        // Apply the accessibility settings first, since they override most other settings.
+        onAccessibilityInversionChanged();
+        onAccessibilityDaltonizerChanged();
+
         // Set the color mode, if valid, and immediately apply the updated tint matrix based on the
         // existing activated state. This ensures consistency of tint across the color mode change.
         onDisplayColorModeChanged(getColorModeInternal());
@@ -1276,11 +1280,17 @@
         }
 
         boolean isActivatedSetting() {
+            if (mCurrentUser == UserHandle.USER_NULL) {
+                return false;
+            }
             return Secure.getIntForUser(getContext().getContentResolver(),
                     Secure.NIGHT_DISPLAY_ACTIVATED, 0, mCurrentUser) == 1;
         }
 
         int getColorTemperatureSetting() {
+            if (mCurrentUser == UserHandle.USER_NULL) {
+                return NOT_SET;
+            }
             return clampNightDisplayColorTemperature(Secure.getIntForUser(
                     getContext().getContentResolver(), Secure.NIGHT_DISPLAY_COLOR_TEMPERATURE,
                     NOT_SET,
diff --git a/services/core/java/com/android/server/infra/AbstractMasterSystemService.java b/services/core/java/com/android/server/infra/AbstractMasterSystemService.java
index d2ccfcc..3c27bf2 100644
--- a/services/core/java/com/android/server/infra/AbstractMasterSystemService.java
+++ b/services/core/java/com/android/server/infra/AbstractMasterSystemService.java
@@ -126,8 +126,26 @@
     private final SparseArray<S> mServicesCache = new SparseArray<>();
 
     /**
+     * Whether the per-user service should be removed from the cache when its apk is updated.
+     */
+    private final boolean mRefreshServiceOnPackageUpdate;
+
+    /**
+     * Name of the service's package that was active but then was removed because its package
+     * update.
+     *
+     * <p>It's a temporary state set / used by the {@link PackageMonitor} implementation, but
+     * defined here so it can be dumped.
+     */
+    @GuardedBy("mLock")
+    private String mLastActivePackageName;
+
+    /**
      * Default constructor.
      *
+     * <p>When using this constructor, the {@link AbstractPerUserSystemService} is removed from
+     * the cache (and re-added) when the service package is updated.
+     *
      * @param context system context.
      * @param serviceNameResolver resolver for
      * {@link com.android.internal.infra.AbstractRemoteService} instances, or
@@ -139,8 +157,32 @@
     protected AbstractMasterSystemService(@NonNull Context context,
             @Nullable ServiceNameResolver serviceNameResolver,
             @Nullable String disallowProperty) {
+        this(context, serviceNameResolver, disallowProperty,
+                /* refreshServiceOnPackageUpdate=*/ true);
+    }
+
+    /**
+     * Full constructor.
+     *
+     * @param context system context.
+     * @param serviceNameResolver resolver for
+     * {@link com.android.internal.infra.AbstractRemoteService} instances, or
+     * {@code null} when the service doesn't bind to remote services.
+     * @param disallowProperty when not {@code null}, defines a {@link UserManager} restriction that
+     *        disables the service. <b>NOTE: </b> you'll also need to add it to
+     *        {@code UserRestrictionsUtils.USER_RESTRICTIONS}.
+     * @param refreshServiceOnPackageUpdate when {@code true}, the
+     *        {@link AbstractPerUserSystemService} is removed from the cache (and re-added) when the
+     *        service package is updated; when {@code false}, the service is untouched during the
+     *        update.
+     */
+    protected AbstractMasterSystemService(@NonNull Context context,
+            @Nullable ServiceNameResolver serviceNameResolver,
+            @Nullable String disallowProperty, boolean refreshServiceOnPackageUpdate) {
         super(context);
 
+        mRefreshServiceOnPackageUpdate = refreshServiceOnPackageUpdate;
+
         mServiceNameResolver = serviceNameResolver;
         if (mServiceNameResolver != null) {
             mServiceNameResolver
@@ -280,9 +322,6 @@
                 oldService.removeSelfFromCacheLocked();
             }
             mServiceNameResolver.setTemporaryService(userId, componentName, durationMs);
-
-            // Must update the service on cache so its initialization code is triggered
-            updateCachedServiceLocked(userId);
         }
     }
 
@@ -553,6 +592,8 @@
             final int size = mServicesCache.size();
             pw.print(prefix); pw.print("Debug: "); pw.print(realDebug);
             pw.print(" Verbose: "); pw.println(realVerbose);
+            pw.print(" Refresh on package update: "); pw.println(mRefreshServiceOnPackageUpdate);
+            pw.print(" Last active service on update: "); pw.println(mLastActivePackageName);
             if (mServiceNameResolver != null) {
                 pw.print(prefix); pw.print("Name resolver: ");
                 mServiceNameResolver.dumpShort(pw); pw.println();
@@ -590,21 +631,42 @@
     }
 
     private void startTrackingPackageChanges() {
-        PackageMonitor monitor = new PackageMonitor() {
+        final PackageMonitor monitor = new PackageMonitor() {
+
             @Override
-            public void onSomePackagesChanged() {
+            public void onPackageUpdateStarted(String packageName, int uid) {
                 synchronized (mLock) {
-                    updateCachedServiceLocked(getChangingUserId());
+                    final String activePackageName = getActiveServicePackageNameLocked();
+                    if (packageName.equals(activePackageName)) {
+                        final int userId = getChangingUserId();
+                        if (mRefreshServiceOnPackageUpdate) {
+                            if (debug) {
+                                Slog.d(mTag, "Removing service for user " + userId
+                                        + " because package " + activePackageName
+                                        + " is being updated");
+                            }
+                            mLastActivePackageName = activePackageName;
+                            removeCachedServiceLocked(userId);
+                        } else {
+                            if (debug) {
+                                Slog.d(mTag, "Holding service for user " + userId
+                                        + " while package " + activePackageName
+                                        + " is being updated");
+                            }
+                        }
+                    }
                 }
             }
 
             @Override
             public void onPackageUpdateFinished(String packageName, int uid) {
                 synchronized (mLock) {
-                    final String activePackageName = getActiveServicePackageName();
-                    if (packageName.equals(activePackageName)) {
-                        removeCachedServiceLocked(getChangingUserId());
-                    } else {
+                    String activePackageName = getActiveServicePackageNameLocked();
+                    if (activePackageName == null) {
+                        activePackageName = mLastActivePackageName;
+                        mLastActivePackageName = null;
+                    }
+                    if (!packageName.equals(activePackageName)) {
                         handlePackageUpdateLocked(packageName);
                     }
                 }
@@ -630,7 +692,7 @@
             public boolean onHandleForceStop(Intent intent, String[] packages,
                     int uid, boolean doit) {
                 synchronized (mLock) {
-                    final String activePackageName = getActiveServicePackageName();
+                    final String activePackageName = getActiveServicePackageNameLocked();
                     for (String pkg : packages) {
                         if (pkg.equals(activePackageName)) {
                             if (!doit) {
@@ -646,7 +708,9 @@
             }
 
             private void handleActiveServiceRemoved(@UserIdInt int userId) {
-                removeCachedServiceLocked(userId);
+                synchronized (mLock) {
+                    removeCachedServiceLocked(userId);
+                }
                 final String serviceSettingsProperty = getServiceSettingsProperty();
                 if (serviceSettingsProperty != null) {
                     Settings.Secure.putStringForUser(getContext().getContentResolver(),
@@ -654,7 +718,7 @@
                 }
             }
 
-            private String getActiveServicePackageName() {
+            private String getActiveServicePackageNameLocked() {
                 final int userId = getChangingUserId();
                 final S service = peekServiceForUserLocked(userId);
                 if (service == null) {
diff --git a/services/core/java/com/android/server/input/InputManagerService.java b/services/core/java/com/android/server/input/InputManagerService.java
index 87c7441..622c49e 100644
--- a/services/core/java/com/android/server/input/InputManagerService.java
+++ b/services/core/java/com/android/server/input/InputManagerService.java
@@ -1452,6 +1452,11 @@
         nativeSetFocusedDisplay(mPtr, displayId);
     }
 
+    /** Clean up input window handles of the given display. */
+    public void onDisplayRemoved(int displayId) {
+        nativeSetInputWindows(mPtr, null /* windowHandles */, displayId);
+    }
+
     @Override
     public void requestPointerCapture(IBinder windowToken, boolean enabled) {
         if (mFocusedWindow == null || mFocusedWindow.asBinder() != windowToken) {
diff --git a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
index b4a93d3..647e952 100644
--- a/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/InputMethodManagerService.java
@@ -231,7 +231,8 @@
             Context.BIND_AUTO_CREATE
             | Context.BIND_TREAT_LIKE_ACTIVITY
             | Context.BIND_FOREGROUND_SERVICE
-            | Context.BIND_SHOWING_UI;
+            | Context.BIND_SHOWING_UI
+            | Context.BIND_SCHEDULE_LIKE_TOP_APP;
 
     @Retention(SOURCE)
     @IntDef({HardKeyboardBehavior.WIRELESS_AFFORDANCE, HardKeyboardBehavior.WIRED_AFFORDANCE})
@@ -949,15 +950,15 @@
         }
     }
 
-    class ImmsBroadcastReceiver extends BroadcastReceiver {
+    /**
+     * {@link BroadcastReceiver} that is intended to listen to broadcasts sent to the system user
+     * only.
+     */
+    private final class ImmsBroadcastReceiverForSystemUser extends BroadcastReceiver {
         @Override
         public void onReceive(Context context, Intent intent) {
             final String action = intent.getAction();
-            if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)) {
-                hideInputMethodMenu();
-                // No need to update mIsInteractive
-                return;
-            } else if (Intent.ACTION_USER_ADDED.equals(action)
+            if (Intent.ACTION_USER_ADDED.equals(action)
                     || Intent.ACTION_USER_REMOVED.equals(action)) {
                 updateCurrentProfileIds();
                 return;
@@ -981,6 +982,35 @@
     }
 
     /**
+     * {@link BroadcastReceiver} that is intended to listen to broadcasts sent to all the users.
+     */
+    private final class ImmsBroadcastReceiverForAllUsers extends BroadcastReceiver {
+        @Override
+        public void onReceive(Context context, Intent intent) {
+            final String action = intent.getAction();
+            if (Intent.ACTION_CLOSE_SYSTEM_DIALOGS.equals(action)) {
+                final PendingResult pendingResult = getPendingResult();
+                if (pendingResult == null) {
+                    return;
+                }
+                // sender userId can be a real user ID or USER_ALL.
+                final int senderUserId = pendingResult.getSendingUserId();
+                if (senderUserId != UserHandle.USER_ALL) {
+                    final int resolvedUserId = PER_PROFILE_IME_ENABLED
+                            ? senderUserId : mUserManagerInternal.getProfileParentId(senderUserId);
+                    if (resolvedUserId != mSettings.getCurrentUserId()) {
+                        // A background user is trying to hide the dialog. Ignore.
+                        return;
+                    }
+                }
+                hideInputMethodMenu();
+            } else {
+                Slog.w(TAG, "Unexpected intent " + intent);
+            }
+        }
+    }
+
+    /**
      * Handles {@link Intent#ACTION_LOCALE_CHANGED}.
      *
      * <p>Note: For historical reasons, {@link Intent#ACTION_LOCALE_CHANGED} has been sent to all
@@ -1548,13 +1578,18 @@
                 mMyPackageMonitor.register(mContext, null, UserHandle.ALL, true);
                 mSettingsObserver.registerContentObserverLocked(currentUserId);
 
-                final IntentFilter broadcastFilter = new IntentFilter();
-                broadcastFilter.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
-                broadcastFilter.addAction(Intent.ACTION_USER_ADDED);
-                broadcastFilter.addAction(Intent.ACTION_USER_REMOVED);
-                broadcastFilter.addAction(Intent.ACTION_LOCALE_CHANGED);
-                broadcastFilter.addAction(ACTION_SHOW_INPUT_METHOD_PICKER);
-                mContext.registerReceiver(new ImmsBroadcastReceiver(), broadcastFilter);
+                final IntentFilter broadcastFilterForSystemUser = new IntentFilter();
+                broadcastFilterForSystemUser.addAction(Intent.ACTION_USER_ADDED);
+                broadcastFilterForSystemUser.addAction(Intent.ACTION_USER_REMOVED);
+                broadcastFilterForSystemUser.addAction(Intent.ACTION_LOCALE_CHANGED);
+                broadcastFilterForSystemUser.addAction(ACTION_SHOW_INPUT_METHOD_PICKER);
+                mContext.registerReceiver(new ImmsBroadcastReceiverForSystemUser(),
+                        broadcastFilterForSystemUser);
+
+                final IntentFilter broadcastFilterForAllUsers = new IntentFilter();
+                broadcastFilterForAllUsers.addAction(Intent.ACTION_CLOSE_SYSTEM_DIALOGS);
+                mContext.registerReceiverAsUser(new ImmsBroadcastReceiverForAllUsers(),
+                        UserHandle.ALL, broadcastFilterForAllUsers, null, null);
 
                 final String defaultImiId = mSettings.getSelectedInputMethod();
                 final boolean imeSelectedOnBoot = !TextUtils.isEmpty(defaultImiId);
@@ -4656,9 +4691,11 @@
     private int handleShellCommandEnableDisableInputMethod(
             @NonNull ShellCommand shellCommand, boolean enabled) {
         final String id = shellCommand.getNextArgRequired();
-
         final boolean previouslyEnabled;
         synchronized (mMethodMap) {
+            if (!userHasDebugPriv(mSettings.getCurrentUserId(), shellCommand)) {
+                return ShellCommandResult.SUCCESS;
+            }
             previouslyEnabled = setInputMethodEnabledLocked(id, enabled);
         }
         final PrintWriter pr = shellCommand.getOutPrintWriter();
@@ -4680,6 +4717,9 @@
     private int handleShellCommandSetInputMethod(@NonNull ShellCommand shellCommand) {
         final String id = shellCommand.getNextArgRequired();
         synchronized (mMethodMap) {
+            if (!userHasDebugPriv(mSettings.getCurrentUserId(), shellCommand)) {
+                return ShellCommandResult.SUCCESS;
+            }
             setInputMethodLocked(id, NOT_A_SUBTYPE_ID);
         }
         final PrintWriter pr = shellCommand.getOutPrintWriter();
@@ -4698,6 +4738,9 @@
     @ShellCommandResult
     private int handleShellCommandResetInputMethod(@NonNull ShellCommand shellCommand) {
         synchronized (mMethodMap) {
+            if (!userHasDebugPriv(mSettings.getCurrentUserId(), shellCommand)) {
+                return ShellCommandResult.SUCCESS;
+            }
             final String nextIme;
             final List<InputMethodInfo> nextEnabledImes;
             hideCurrentInputLocked(0, null);
@@ -4735,6 +4778,22 @@
         }
     }
 
+    /**
+     * @param userId the actual user handle obtained by {@link UserHandle#getIdentifier()}
+     * and *not* pseudo ids like {@link UserHandle#USER_ALL etc}.
+     * @return {@code true} if userId has debugging privileges.
+     * i.e. {@link UserManager#DISALLOW_DEBUGGING_FEATURES} is {@code false}.
+     */
+    private boolean userHasDebugPriv(int userId, final ShellCommand shellCommand) {
+        if (mUserManager.hasUserRestriction(
+                UserManager.DISALLOW_DEBUGGING_FEATURES, UserHandle.of(userId))) {
+            shellCommand.getErrPrintWriter().println("User #" + userId
+                    + " is restricted with DISALLOW_DEBUGGING_FEATURES.");
+            return false;
+        }
+        return true;
+    }
+
     private static final class InputMethodPrivilegedOperationsImpl
             extends IInputMethodPrivilegedOperations.Stub {
         private final InputMethodManagerService mImms;
diff --git a/services/core/java/com/android/server/inputmethod/MultiClientInputMethodManagerService.java b/services/core/java/com/android/server/inputmethod/MultiClientInputMethodManagerService.java
index 500c388..a2515c8 100644
--- a/services/core/java/com/android/server/inputmethod/MultiClientInputMethodManagerService.java
+++ b/services/core/java/com/android/server/inputmethod/MultiClientInputMethodManagerService.java
@@ -29,6 +29,8 @@
 import android.annotation.UserIdInt;
 import android.annotation.WorkerThread;
 import android.app.AppOpsManager;
+import android.app.Notification;
+import android.app.NotificationManager;
 import android.app.PendingIntent;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
@@ -44,6 +46,7 @@
 import android.net.Uri;
 import android.os.Binder;
 import android.os.Build;
+import android.os.Bundle;
 import android.os.Debug;
 import android.os.Handler;
 import android.os.HandlerThread;
@@ -66,6 +69,7 @@
 import android.view.inputmethod.InputMethodSubtype;
 import android.view.inputmethod.InputMethodSystemProperty;
 
+import com.android.internal.R;
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.inputmethod.IMultiClientInputMethod;
 import com.android.internal.inputmethod.IMultiClientInputMethodPrivilegedOperations;
@@ -73,6 +77,8 @@
 import com.android.internal.inputmethod.StartInputFlags;
 import com.android.internal.inputmethod.StartInputReason;
 import com.android.internal.inputmethod.UnbindReason;
+import com.android.internal.messages.nano.SystemMessageProto;
+import com.android.internal.notification.SystemNotificationChannels;
 import com.android.internal.util.function.pooled.PooledLambda;
 import com.android.internal.view.IInputContext;
 import com.android.internal.view.IInputMethodClient;
@@ -96,8 +102,15 @@
  * we can switch the implementation at the boot time.</p>
  */
 public final class MultiClientInputMethodManagerService {
-    static final String TAG = "MultiClientInputMethodManagerService";
-    static final boolean DEBUG = false;
+    private static final String TAG = "MultiClientInputMethodManagerService";
+    private static final boolean DEBUG = false;
+
+    private static final String PER_DISPLAY_FOCUS_DISABLED_WARNING_TITLE =
+            "config_perDisplayFocusEnabled is not true.";
+
+    private static final String PER_DISPLAY_FOCUS_DISABLED_WARNING_MSG =
+            "Consider rebuilding the system image after enabling config_perDisplayFocusEnabled to "
+                    + "make IME focus compatible with multi-client IME mode.";
 
     private static final long RECONNECT_DELAY_MSEC = 1000;
 
@@ -465,8 +478,33 @@
                             onPackageAdded(intent);
                         }
                     }, filter, null, mHandler);
+                    break;
                 }
-                break;
+                case SystemService.PHASE_BOOT_COMPLETED: {
+                    final boolean perDisplayFocusEnabled = mContext.getResources().getBoolean(
+                            com.android.internal.R.bool.config_perDisplayFocusEnabled);
+                    if (!perDisplayFocusEnabled) {
+                        final Bundle extras = new Bundle();
+                        extras.putBoolean(Notification.EXTRA_ALLOW_DURING_SETUP, true);
+                        mContext.getSystemService(NotificationManager.class).notifyAsUser(TAG,
+                                SystemMessageProto.SystemMessage.NOTE_SELECT_INPUT_METHOD,
+                                new Notification.Builder(mContext,
+                                        SystemNotificationChannels.VIRTUAL_KEYBOARD)
+                                        .setContentTitle(PER_DISPLAY_FOCUS_DISABLED_WARNING_TITLE)
+                                        .setStyle(new Notification.BigTextStyle()
+                                                .bigText(PER_DISPLAY_FOCUS_DISABLED_WARNING_MSG))
+                                        .setSmallIcon(R.drawable.ic_notification_ime_default)
+                                        .setWhen(0)
+                                        .setOngoing(true)
+                                        .setLocalOnly(true)
+                                        .addExtras(extras)
+                                        .setCategory(Notification.CATEGORY_SYSTEM)
+                                        .setColor(mContext.getColor(
+                                                R.color.system_notification_accent_color))
+                                        .build(), UserHandle.ALL);
+                    }
+                    break;
+                }
             }
         }
 
diff --git a/services/core/java/com/android/server/inputmethod/multi-client-ime.md b/services/core/java/com/android/server/inputmethod/multi-client-ime.md
index 3021d2f..ba92cd2 100644
--- a/services/core/java/com/android/server/inputmethod/multi-client-ime.md
+++ b/services/core/java/com/android/server/inputmethod/multi-client-ime.md
@@ -39,7 +39,9 @@
 
 ## How to test
 
-On AOSP-based development devices (e.g. phones) where `android.os.Build.IS_DEBUGGABLE` returns `true` and you can have root access, you can enable multi-client IME feature by setting a valid component name that supports multi-client IME protocol to the system property `persist.debug.multi_client_ime`. Reboot is required for this to take effect.
+For multi-client IME to properly work, an internal boolean resource `com.android.internal.R.bool.config_perDisplayFocusEnabled` needs to be `true`. Since this value cannot be overridden at the run time, you may need to rebuild the system image to enable per-display focus mode.
+
+As for multi-client IME mode itself, you can enable multi-client IME mode just by setting a valid component name that supports multi-client IME protocol to the system property `persist.debug.multi_client_ime`, as long as `android.os.Build.IS_DEBUGGABLE` returns `true` and you can have root access. Reboot is required for this to take effect.
 
 ```shell
 # Build and install a sample multi-client IME
diff --git a/services/core/java/com/android/server/job/JobSchedulerService.java b/services/core/java/com/android/server/job/JobSchedulerService.java
index cefe583..14b7301 100644
--- a/services/core/java/com/android/server/job/JobSchedulerService.java
+++ b/services/core/java/com/android/server/job/JobSchedulerService.java
@@ -2494,24 +2494,33 @@
             }
         }
 
-        // The expensive check last: validate that the defined package+service is
+        // The expensive check: validate that the defined package+service is
         // still present & viable.
-        final boolean componentPresent;
+        final ServiceInfo service;
         try {
-            componentPresent = (AppGlobals.getPackageManager().getServiceInfo(
+            service = AppGlobals.getPackageManager().getServiceInfo(
                     job.getServiceComponent(), PackageManager.MATCH_DEBUG_TRIAGED_MISSING,
-                    job.getUserId()) != null);
+                    job.getUserId());
         } catch (RemoteException e) {
             throw e.rethrowAsRuntimeException();
         }
 
-        if (DEBUG) {
-            Slog.v(TAG, "isReadyToBeExecutedLocked: " + job.toShortString()
-                    + " componentPresent=" + componentPresent);
+        if (service == null) {
+            if (DEBUG) {
+                Slog.v(TAG, "isReadyToBeExecutedLocked: " + job.toShortString()
+                        + " component not present");
+            }
+            return false;
         }
 
         // Everything else checked out so far, so this is the final yes/no check
-        return componentPresent;
+        final boolean appIsBad = mActivityManagerInternal.isAppBad(service.applicationInfo);
+        if (DEBUG) {
+            if (appIsBad) {
+                Slog.i(TAG, "App is bad for " + job.toShortString() + " so not runnable");
+            }
+        }
+        return !appIsBad;
     }
 
     private void evaluateControllerStatesLocked(final JobStatus job) {
diff --git a/services/core/java/com/android/server/job/JobStore.java b/services/core/java/com/android/server/job/JobStore.java
index 4f8b1dc..6255306 100644
--- a/services/core/java/com/android/server/job/JobStore.java
+++ b/services/core/java/com/android/server/job/JobStore.java
@@ -174,6 +174,7 @@
     public void getRtcCorrectedJobsLocked(final ArrayList<JobStatus> toAdd,
             final ArrayList<JobStatus> toRemove) {
         final long elapsedNow = sElapsedRealtimeClock.millis();
+        final IActivityManager am = ActivityManager.getService();
 
         // Find the jobs that need to be fixed up, collecting them for post-iteration
         // replacement with their new versions
@@ -182,9 +183,11 @@
             if (utcTimes != null) {
                 Pair<Long, Long> elapsedRuntimes =
                         convertRtcBoundsToElapsed(utcTimes, elapsedNow);
-                toAdd.add(new JobStatus(job, job.getBaseHeartbeat(),
+                JobStatus newJob = new JobStatus(job, job.getBaseHeartbeat(),
                         elapsedRuntimes.first, elapsedRuntimes.second,
-                        0, job.getLastSuccessfulRunTime(), job.getLastFailedRunTime()));
+                        0, job.getLastSuccessfulRunTime(), job.getLastFailedRunTime());
+                newJob.prepareLocked(am);
+                toAdd.add(newJob);
                 toRemove.add(job);
             }
         });
diff --git a/services/core/java/com/android/server/lights/Light.java b/services/core/java/com/android/server/lights/Light.java
index b5ec603..717e3da 100644
--- a/services/core/java/com/android/server/lights/Light.java
+++ b/services/core/java/com/android/server/lights/Light.java
@@ -16,8 +16,8 @@
 
 package com.android.server.lights;
 
-import android.hardware.light.V2_0.Flash;
 import android.hardware.light.V2_0.Brightness;
+import android.hardware.light.V2_0.Flash;
 
 public abstract class Light {
     public static final int LIGHT_FLASH_NONE = Flash.NONE;
@@ -39,8 +39,16 @@
      */
     public static final int BRIGHTNESS_MODE_LOW_PERSISTENCE = Brightness.LOW_PERSISTENCE;
 
+    /**
+     * Set the brightness of a display.
+     */
     public abstract void setBrightness(int brightness);
+
+    /**
+     * Set the brightness and mode of a display.
+     */
     public abstract void setBrightness(int brightness, int brightnessMode);
+
     public abstract void setColor(int color);
     public abstract void setFlashing(int color, int mode, int onMS, int offMS);
     public abstract void pulse();
diff --git a/services/core/java/com/android/server/lights/LightsService.java b/services/core/java/com/android/server/lights/LightsService.java
index a94ed60..ac906bb 100644
--- a/services/core/java/com/android/server/lights/LightsService.java
+++ b/services/core/java/com/android/server/lights/LightsService.java
@@ -15,15 +15,18 @@
 
 package com.android.server.lights;
 
-import com.android.server.SystemService;
-
 import android.app.ActivityManager;
 import android.content.Context;
 import android.os.Handler;
+import android.os.IBinder;
 import android.os.Message;
+import android.os.PowerManager;
 import android.os.Trace;
 import android.provider.Settings;
 import android.util.Slog;
+import android.view.SurfaceControl;
+
+import com.android.server.SystemService;
 
 public class LightsService extends SystemService {
     static final String TAG = "LightsService";
@@ -33,8 +36,25 @@
 
     private final class LightImpl extends Light {
 
-        private LightImpl(int id) {
+        private final IBinder mDisplayToken;
+        private final int mSurfaceControlMaximumBrightness;
+
+        private LightImpl(Context context, int id) {
             mId = id;
+            mDisplayToken = SurfaceControl.getInternalDisplayToken();
+            final boolean brightnessSupport = SurfaceControl.getDisplayBrightnessSupport(
+                    mDisplayToken);
+            if (DEBUG) {
+                Slog.d(TAG, "Display brightness support: " + brightnessSupport);
+            }
+            int maximumBrightness = 0;
+            if (brightnessSupport) {
+                PowerManager pm = context.getSystemService(PowerManager.class);
+                if (pm != null) {
+                    maximumBrightness = pm.getMaximumScreenBrightnessSetting();
+                }
+            }
+            mSurfaceControlMaximumBrightness = maximumBrightness;
         }
 
         @Override
@@ -51,10 +71,26 @@
                             ": brightness=0x" + Integer.toHexString(brightness));
                     return;
                 }
-
-                int color = brightness & 0x000000ff;
-                color = 0xff000000 | (color << 16) | (color << 8) | color;
-                setLightLocked(color, LIGHT_FLASH_NONE, 0, 0, brightnessMode);
+                // Ideally, we'd like to set the brightness mode through the SF/HWC as well, but
+                // right now we just fall back to the old path through Lights brightessMode is
+                // anything but USER or the device shouldBeInLowPersistenceMode().
+                if (brightnessMode == BRIGHTNESS_MODE_USER && !shouldBeInLowPersistenceMode()
+                        && mSurfaceControlMaximumBrightness == 255) {
+                    // TODO: the last check should be mSurfaceControlMaximumBrightness != 0; the
+                    // reason we enforce 255 right now is to stay consistent with the old path. In
+                    // the future, the framework should be refactored so that brightness is a float
+                    // between 0.0f and 1.0f, and the actual number of supported brightness levels
+                    // is determined in the device-specific implementation.
+                    if (DEBUG) {
+                        Slog.d(TAG, "Using new setBrightness path!");
+                    }
+                    SurfaceControl.setDisplayBrightness(mDisplayToken,
+                            (float) brightness / mSurfaceControlMaximumBrightness);
+                } else {
+                    int color = brightness & 0x000000ff;
+                    color = 0xff000000 | (color << 16) | (color << 8) | color;
+                    setLightLocked(color, LIGHT_FLASH_NONE, 0, 0, brightnessMode);
+                }
             }
         }
 
@@ -172,7 +208,7 @@
         super(context);
 
         for (int i = 0; i < LightsManager.LIGHT_ID_COUNT; i++) {
-            mLights[i] = new LightImpl(i);
+            mLights[i] = new LightImpl(context, i);
         }
     }
 
diff --git a/services/core/java/com/android/server/location/GnssConfiguration.java b/services/core/java/com/android/server/location/GnssConfiguration.java
index 91b5234..0e9ee40 100644
--- a/services/core/java/com/android/server/location/GnssConfiguration.java
+++ b/services/core/java/com/android/server/location/GnssConfiguration.java
@@ -52,7 +52,6 @@
 
     private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
 
-    //TODO(b/33112647): Create gps_debug.conf with commented career parameters.
     private static final String DEBUG_PROPERTIES_FILE = "/etc/gps_debug.conf";
 
     // config.xml properties
@@ -191,8 +190,6 @@
             return Collections.EMPTY_LIST;
         }
 
-        // TODO(b/122856486): Validate proxy app names so that a system app or some popular app
-        //                    with location permission is not specified as a proxy app.
         ArrayList proxyApps = new ArrayList(proxyAppsArray.length);
         for (String proxyApp : proxyAppsArray) {
             proxyApps.add(proxyApp);
diff --git a/services/core/java/com/android/server/location/GnssLocationProvider.java b/services/core/java/com/android/server/location/GnssLocationProvider.java
index 71ec5b0..8249999 100644
--- a/services/core/java/com/android/server/location/GnssLocationProvider.java
+++ b/services/core/java/com/android/server/location/GnssLocationProvider.java
@@ -67,6 +67,7 @@
 import android.util.Log;
 import android.util.StatsLog;
 
+import com.android.internal.annotations.GuardedBy;
 import com.android.internal.app.IBatteryStats;
 import com.android.internal.location.GpsNetInitiatedHandler;
 import com.android.internal.location.GpsNetInitiatedHandler.GpsNiNotification;
@@ -142,6 +143,7 @@
 
     // these need to match ElapsedRealtimeFlags enum in types.hal
     private static final int ELAPSED_REALTIME_HAS_TIMESTAMP_NS = 1;
+    private static final int ELAPSED_REALTIME_HAS_TIME_UNCERTAINTY_NS = 2;
 
     // IMPORTANT - the GPS_DELETE_* symbols here must match GnssAidingData enum in IGnss.hal
     private static final int GPS_DELETE_EPHEMERIS = 0x0001;
@@ -164,9 +166,15 @@
     private static final int GPS_CAPABILITY_MSA = 0x0000004;
     private static final int GPS_CAPABILITY_SINGLE_SHOT = 0x0000008;
     private static final int GPS_CAPABILITY_ON_DEMAND_TIME = 0x0000010;
-    private static final int GPS_CAPABILITY_GEOFENCING = 0x0000020;
+
+    // The following three capability flags are removed in IGnssCallback.hal@2.0 and their values
+    // are marked reserved and not reused in 2.0 to avoid confusion with prior versions.
+    public static final int GPS_CAPABILITY_GEOFENCING = 0x0000020;
     public static final int GPS_CAPABILITY_MEASUREMENTS = 0x0000040;
-    private static final int GPS_CAPABILITY_NAV_MESSAGES = 0x0000080;
+    public static final int GPS_CAPABILITY_NAV_MESSAGES = 0x0000080;
+
+    private static final int GPS_CAPABILITY_LOW_POWER_MODE = 0x0000100;
+    private static final int GPS_CAPABILITY_SATELLITE_BLACKLIST = 0x0000200;
 
     // The AGPS SUPL mode
     private static final int AGPS_SUPL_MODE_MSA = 0x02;
@@ -331,7 +339,7 @@
     private boolean mStarted;
 
     // capabilities of the GPS engine
-    private int mEngineCapabilities;
+    private volatile int mEngineCapabilities;
 
     // true if XTRA is supported
     private boolean mSupportsXtra;
@@ -370,6 +378,7 @@
     private final LocationExtras mLocationExtras = new LocationExtras();
     private final GnssStatusListenerHelper mGnssStatusListenerHelper;
     private final GnssMeasurementsProvider mGnssMeasurementsProvider;
+    private final GnssMeasurementCorrectionsProvider mGnssMeasurementCorrectionsProvider;
     private final GnssNavigationMessageProvider mGnssNavigationMessageProvider;
     private final LocationChangeListener mNetworkLocationListener = new NetworkLocationListener();
     private final LocationChangeListener mFusedLocationListener = new FusedLocationListener();
@@ -435,6 +444,10 @@
         return mGnssMeasurementsProvider;
     }
 
+    public GnssMeasurementCorrectionsProvider getGnssMeasurementCorrectionsProvider() {
+        return mGnssMeasurementCorrectionsProvider;
+    }
+
     public GnssNavigationMessageProvider getGnssNavigationMessageProvider() {
         return mGnssNavigationMessageProvider;
     }
@@ -625,6 +638,8 @@
             }
         };
 
+        mGnssMeasurementCorrectionsProvider = new GnssMeasurementCorrectionsProvider(mHandler);
+
         mGnssNavigationMessageProvider = new GnssNavigationMessageProvider(mContext, mHandler) {
             @Override
             protected boolean isGpsEnabled() {
@@ -768,15 +783,18 @@
         float bearingAccuracyDegrees = location.getBearingAccuracyDegrees();
         long timestamp = location.getTime();
 
-        int elapsedRealtimeFlags = ELAPSED_REALTIME_HAS_TIMESTAMP_NS;
+        int elapsedRealtimeFlags = ELAPSED_REALTIME_HAS_TIMESTAMP_NS
+                | (location.hasElapsedRealtimeUncertaintyNanos()
+                        ? ELAPSED_REALTIME_HAS_TIME_UNCERTAINTY_NS : 0);
         long elapsedRealtimeNanos = location.getElapsedRealtimeNanos();
+        long elapsedRealtimeUncertaintyNanos = location.getElapsedRealtimeUncertaintyNanos();
 
         native_inject_best_location(
                 gnssLocationFlags, latitudeDegrees, longitudeDegrees,
                 altitudeMeters, speedMetersPerSec, bearingDegrees,
                 horizontalAccuracyMeters, verticalAccuracyMeters,
                 speedAccuracyMetersPerSecond, bearingAccuracyDegrees, timestamp,
-                elapsedRealtimeFlags, elapsedRealtimeNanos);
+                elapsedRealtimeFlags, elapsedRealtimeNanos, elapsedRealtimeUncertaintyNanos);
     }
 
     /** Returns true if the location request is too frequent. */
@@ -886,12 +904,14 @@
         return GPS_POSITION_MODE_STANDALONE;
     }
 
-    private boolean handleEnable() {
-        if (DEBUG) Log.d(TAG, "handleEnable");
+    @GuardedBy("mLock")
+    private void handleEnableLocked() {
+        if (DEBUG) Log.d(TAG, "handleEnableLocked");
 
         boolean inited = native_init();
 
         if (inited) {
+            mEnabled = true;
             mSupportsXtra = native_supports_xtra();
 
             // TODO: remove the following native calls if we can make sure they are redundant.
@@ -908,15 +928,16 @@
             mGnssNavigationMessageProvider.onGpsEnabledChanged();
             mGnssBatchingProvider.enable();
         } else {
+            mEnabled = false;
             Log.w(TAG, "Failed to enable location provider");
         }
-
-        return inited;
     }
 
-    private void handleDisable() {
-        if (DEBUG) Log.d(TAG, "handleDisable");
+    @GuardedBy("mLock")
+    private void handleDisableLocked() {
+        if (DEBUG) Log.d(TAG, "handleDisableLocked");
 
+        mEnabled = false;
         updateClientUids(new WorkSource());
         stopNavigating();
         mAlarmManager.cancel(mWakeupIntent);
@@ -942,10 +963,9 @@
             }
 
             if (enabled) {
-                mEnabled = handleEnable();
+                handleEnableLocked();
             } else {
-                mEnabled = false;
-                handleDisable();
+                handleDisableLocked();
             }
         }
     }
@@ -1251,6 +1271,10 @@
         mAlarmManager.set(AlarmManager.ELAPSED_REALTIME_WAKEUP, now + mFixInterval, mWakeupIntent);
     }
 
+    public int getGnssCapabilities() {
+        return mEngineCapabilities;
+    }
+
     private boolean hasCapability(int capability) {
         return ((mEngineCapabilities & capability) != 0);
     }
@@ -1315,10 +1339,6 @@
                 mAlarmManager.cancel(mTimeoutIntent);
             }
 
-            // send an intent to notify that the GPS is receiving fixes.
-            Intent intent = new Intent(LocationManager.GPS_FIX_CHANGE_ACTION);
-            intent.putExtra(LocationManager.EXTRA_GPS_ENABLED, true);
-            mContext.sendBroadcastAsUser(intent, UserHandle.ALL);
             updateStatus(LocationProvider.AVAILABLE);
         }
 
@@ -1350,11 +1370,6 @@
 
         if (wasNavigating != mNavigating) {
             mGnssStatusListenerHelper.onStatusChanged(mNavigating);
-
-            // send an intent to notify that the GPS has been enabled or disabled
-            Intent intent = new Intent(LocationManager.GPS_ENABLED_CHANGE_ACTION);
-            intent.putExtra(LocationManager.EXTRA_GPS_ENABLED, mNavigating);
-            mContext.sendBroadcastAsUser(intent, UserHandle.ALL);
         }
     }
 
@@ -1434,10 +1449,6 @@
 
         if (mNavigating && mStatus == LocationProvider.AVAILABLE && mLastFixTime > 0 &&
                 SystemClock.elapsedRealtime() - mLastFixTime > RECENT_FIX_TIMEOUT) {
-            // send an intent to notify that the GPS is no longer receiving fixes.
-            Intent intent = new Intent(LocationManager.GPS_FIX_CHANGE_ACTION);
-            intent.putExtra(LocationManager.EXTRA_GPS_ENABLED, false);
-            mContext.sendBroadcastAsUser(intent, UserHandle.ALL);
             updateStatus(LocationProvider.TEMPORARILY_UNAVAILABLE);
         }
     }
@@ -1473,22 +1484,27 @@
     }
 
     @NativeEntryPoint
-    private void setEngineCapabilities(final int capabilities) {
+    private void setEngineCapabilities(final int capabilities, boolean hasSubHalCapabilityFlags) {
         // send to handler thread for fast native return, and in-order handling
-        mHandler.post(
-                () -> {
-                    mEngineCapabilities = capabilities;
+        mHandler.post(() -> {
+            mEngineCapabilities = capabilities;
 
-                    if (hasCapability(GPS_CAPABILITY_ON_DEMAND_TIME)) {
-                        mNtpTimeHelper.enablePeriodicTimeInjection();
-                        requestUtcTime();
-                    }
+            if (hasCapability(GPS_CAPABILITY_ON_DEMAND_TIME)) {
+                mNtpTimeHelper.enablePeriodicTimeInjection();
+                requestUtcTime();
+            }
 
-                    mGnssMeasurementsProvider.onCapabilitiesUpdated(capabilities);
-                    mGnssNavigationMessageProvider.onCapabilitiesUpdated(
-                            hasCapability(GPS_CAPABILITY_NAV_MESSAGES));
-                    restartRequests();
-                });
+            mGnssMeasurementsProvider.onCapabilitiesUpdated(capabilities, hasSubHalCapabilityFlags);
+            mGnssNavigationMessageProvider.onCapabilitiesUpdated(capabilities,
+                    hasSubHalCapabilityFlags);
+            restartRequests();
+        });
+    }
+
+    @NativeEntryPoint
+    private void setMeasurementCorrectionsCapabilities(final int capabilities) {
+        mHandler.post(() -> mGnssMeasurementCorrectionsProvider.onCapabilitiesUpdated(
+                capabilities));
     }
 
     private void restartRequests() {
@@ -2128,7 +2144,23 @@
         if (hasCapability(GPS_CAPABILITY_GEOFENCING)) s.append("GEOFENCING ");
         if (hasCapability(GPS_CAPABILITY_MEASUREMENTS)) s.append("MEASUREMENTS ");
         if (hasCapability(GPS_CAPABILITY_NAV_MESSAGES)) s.append("NAV_MESSAGES ");
+        if (hasCapability(GPS_CAPABILITY_LOW_POWER_MODE)) s.append("LOW_POWER_MODE ");
+        if (hasCapability(GPS_CAPABILITY_SATELLITE_BLACKLIST)) s.append("SATELLITE_BLACKLIST ");
         s.append(")\n");
+        if (mGnssGeofenceProvider.isHardwareGeofenceSupported()) {
+            s.append("  hasSubHal=GEOFENCING\n");
+        }
+        if (mGnssMeasurementsProvider.isAvailableInPlatform()) {
+            s.append("  hasSubHal=MEASUREMENTS\n");
+        }
+        if (mGnssNavigationMessageProvider.isAvailableInPlatform()) {
+            s.append("  hasSubHal=NAV_MESSAGES\n");
+        }
+        if (mGnssMeasurementCorrectionsProvider.isAvailableInPlatform()) {
+            s.append("  hasSubHal=MEASUREMENT_CORRECTIONS [");
+            s.append(mGnssMeasurementCorrectionsProvider.toStringCapabilities());
+            s.append("]\n");
+        }
         s.append(mGnssMetrics.dumpGnssMetricsAsText());
         s.append("  native internal state: ").append(native_get_internal_state());
         s.append("\n");
@@ -2170,7 +2202,8 @@
             double altitudeMeters, float speedMetersPerSec, float bearingDegrees,
             float horizontalAccuracyMeters, float verticalAccuracyMeters,
             float speedAccuracyMetersPerSecond, float bearingAccuracyDegrees,
-            long timestamp, int elapsedRealtimeFlags, long elapsedRealtimeNanos);
+            long timestamp, int elapsedRealtimeFlags, long elapsedRealtimeNanos,
+            long elapsedRealtimeUncertaintyNanos);
 
     private native void native_inject_location(double latitude, double longitude, float accuracy);
 
diff --git a/services/core/java/com/android/server/location/GnssMeasurementCorrectionsProvider.java b/services/core/java/com/android/server/location/GnssMeasurementCorrectionsProvider.java
new file mode 100644
index 0000000..2162787
--- /dev/null
+++ b/services/core/java/com/android/server/location/GnssMeasurementCorrectionsProvider.java
@@ -0,0 +1,149 @@
+/*
+ * 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.server.location;
+
+import android.location.GnssMeasurementCorrections;
+import android.os.Handler;
+import android.util.Log;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+/**
+ * Manages GNSS measurement corrections.
+ *
+ * <p>Implements the framework side of the GNSS HAL interfaces {@code IMeasurementCorrections.hal}
+ * and {@code IMeasurementCorrectionsCallback.hal).
+ *
+ * @hide
+ */
+public class GnssMeasurementCorrectionsProvider {
+    private static final String TAG = "GnssMeasurementCorrectionsProvider";
+
+    // These must match with the Capabilities enum in IMeasurementCorrectionsCallback.hal.
+    private static final int CAPABILITY_LOS_SATS = 0x0000001;
+    private static final int CAPABILITY_EXCESS_PATH_LENGTH = 0x0000002;
+    private static final int CAPABILITY_REFLECTING_PLANE = 0x0000004;
+
+    private static final int INVALID_CAPABILITIES = 1 << 31;
+
+    private final Handler mHandler;
+    private final GnssMeasurementCorrectionsProviderNative mNative;
+    private volatile int mCapabilities = INVALID_CAPABILITIES;
+
+    GnssMeasurementCorrectionsProvider(Handler handler) {
+        this(handler, new GnssMeasurementCorrectionsProviderNative());
+    }
+
+    @VisibleForTesting
+    GnssMeasurementCorrectionsProvider(Handler handler,
+            GnssMeasurementCorrectionsProviderNative aNative) {
+        mHandler = handler;
+        mNative = aNative;
+    }
+
+    /**
+     * Returns {@code true} if the GNSS HAL implementation supports measurement corrections.
+     */
+    public boolean isAvailableInPlatform() {
+        return mNative.isMeasurementCorrectionsSupported();
+    }
+
+    /**
+     * Injects GNSS measurement corrections into the GNSS chipset.
+     *
+     * @param measurementCorrections a {@link GnssMeasurementCorrections} object with the GNSS
+     *     measurement corrections to be injected into the GNSS chipset.
+     */
+    public void injectGnssMeasurementCorrections(
+            GnssMeasurementCorrections measurementCorrections) {
+        if (!isCapabilitiesReceived()) {
+            Log.w(TAG, "Failed to inject GNSS measurement corrections. Capabilities "
+                    + "not received yet.");
+            return;
+        }
+        mHandler.post(() -> {
+            if (!mNative.injectGnssMeasurementCorrections(measurementCorrections)) {
+                Log.e(TAG, "Failure in injecting GNSS corrections.");
+            }
+        });
+    }
+
+    /** Handle measurement corrections capabilities update from the GNSS HAL implementation. */
+    void onCapabilitiesUpdated(int capabilities) {
+        if (hasCapability(capabilities, CAPABILITY_LOS_SATS) || hasCapability(capabilities,
+                CAPABILITY_EXCESS_PATH_LENGTH)) {
+            mCapabilities = capabilities;
+        } else {
+            Log.e(TAG, "Failed to set capabilities. Received capabilities 0x"
+                    + Integer.toHexString(capabilities) + " does not contain the mandatory "
+                    + "LOS_SATS or the EXCESS_PATH_LENGTH capability.");
+        }
+    }
+
+    /**
+     * Returns the measurement corrections specific capabilities of the GNSS HAL implementation.
+     */
+    public int getCapabilities() {
+        return mCapabilities;
+    }
+
+    /**
+     * Returns the string representation of the GNSS measurement capabilities.
+     */
+    String toStringCapabilities() {
+        final int capabilities = getCapabilities();
+        StringBuilder s = new StringBuilder();
+        s.append("mCapabilities=0x").append(Integer.toHexString(capabilities));
+        s.append(" ( ");
+        if (hasCapability(capabilities, CAPABILITY_LOS_SATS)) {
+            s.append("LOS_SATS ");
+        }
+        if (hasCapability(capabilities, CAPABILITY_EXCESS_PATH_LENGTH)) {
+            s.append("EXCESS_PATH_LENGTH ");
+        }
+        if (hasCapability(capabilities, CAPABILITY_REFLECTING_PLANE)) {
+            s.append("REFLECTING_PLANE ");
+        }
+        s.append(")");
+        return s.toString();
+    }
+
+    private boolean isCapabilitiesReceived() {
+        return mCapabilities != INVALID_CAPABILITIES;
+    }
+
+    private static  boolean hasCapability(int halCapabilities, int capability) {
+        return (halCapabilities & capability) != 0;
+    }
+
+    @VisibleForTesting
+    static class GnssMeasurementCorrectionsProviderNative {
+        public boolean isMeasurementCorrectionsSupported() {
+            return native_is_measurement_corrections_supported();
+        }
+
+        public boolean injectGnssMeasurementCorrections(
+                GnssMeasurementCorrections measurementCorrections) {
+            return native_inject_gnss_measurement_corrections(measurementCorrections);
+        }
+    }
+
+    private static native boolean native_is_measurement_corrections_supported();
+
+    private static native boolean native_inject_gnss_measurement_corrections(
+            GnssMeasurementCorrections measurementCorrections);
+}
diff --git a/services/core/java/com/android/server/location/GnssMeasurementsProvider.java b/services/core/java/com/android/server/location/GnssMeasurementsProvider.java
index 1fc7192..844735a 100644
--- a/services/core/java/com/android/server/location/GnssMeasurementsProvider.java
+++ b/services/core/java/com/android/server/location/GnssMeasurementsProvider.java
@@ -11,13 +11,12 @@
  * 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
+ * limitations under the License.
  */
 
 package com.android.server.location;
 
 import android.content.Context;
-import android.location.GnssMeasurementCorrections;
 import android.location.GnssMeasurementsEvent;
 import android.location.IGnssMeasurementsListener;
 import android.os.Handler;
@@ -42,7 +41,6 @@
 
     private boolean mIsCollectionStarted;
     private boolean mEnableFullTracking;
-    private int mGnssEngineCapabilities;
 
     protected GnssMeasurementsProvider(Context context, Handler handler) {
         this(context, handler, new GnssMeasurementProviderNative());
@@ -87,21 +85,6 @@
         }
     }
 
-    /**
-     * Injects GNSS measurement corrections into the GNSS chipset.
-     *
-     * @param measurementCorrections a {@link GnssMeasurementCorrections} object with the GNSS
-     *     measurement corrections to be injected into the GNSS chipset.
-     */
-    public void injectGnssMeasurementCorrections(
-            GnssMeasurementCorrections measurementCorrections) {
-        mHandler.post(() -> {
-            if (!mNative.injectGnssMeasurementCorrections(measurementCorrections)) {
-                Log.e(TAG, "Failure in injecting GNSS corrections.");
-            }
-        });
-    }
-
     @Override
     protected void unregisterFromService() {
         boolean stopped = mNative.stopMeasurementCollection();
@@ -121,20 +104,20 @@
         });
     }
 
-    /** Updates the framework about the capabilities of the GNSS chipset */
-    public void onCapabilitiesUpdated(int capabilities) {
-        mGnssEngineCapabilities = capabilities;
-        boolean isGnssMeasurementsSupported =
-                (capabilities & GnssLocationProvider.GPS_CAPABILITY_MEASUREMENTS) != 0;
+    /** Handle GNSS capabilities update from the GNSS HAL implementation. */
+    public void onCapabilitiesUpdated(int capabilities, boolean hasSubHalCapabilityFlags) {
+        // The IGnssCallback.hal@2.0 removed sub-HAL capability flags from the Capabilities enum
+        // and instead uses the sub-HAL non-null handle returned from IGnss.hal@2.0 to indicate
+        // support. Therefore, the 'hasSubHalCapabilityFlags' parameter is needed to tell if the
+        // 'capabilities' parameter includes the sub-HAL capability flags or not. Old HALs
+        // which explicitly set the sub-HAL capability bits must continue to work.
+        final boolean isGnssMeasurementsSupported = hasSubHalCapabilityFlags
+                ? (capabilities & GnssLocationProvider.GPS_CAPABILITY_MEASUREMENTS) != 0
+                : mNative.isMeasurementSupported();
         setSupported(isGnssMeasurementsSupported);
         updateResult();
     }
 
-    /** Obtains the GNSS engine capabilities. */
-    public int getGnssCapabilities() {
-        return mGnssEngineCapabilities;
-    }
-
     public void onGpsEnabledChanged() {
         tryUpdateRegistrationWithService();
         updateResult();
@@ -195,11 +178,6 @@
         public boolean stopMeasurementCollection() {
             return native_stop_measurement_collection();
         }
-
-        public boolean injectGnssMeasurementCorrections(
-                GnssMeasurementCorrections measurementCorrections) {
-            return native_inject_gnss_measurement_corrections(measurementCorrections);
-        }
     }
 
     private static native boolean native_is_measurement_supported();
@@ -207,7 +185,4 @@
     private static native boolean native_start_measurement_collection(boolean enableFullTracking);
 
     private static native boolean native_stop_measurement_collection();
-
-    private static native boolean native_inject_gnss_measurement_corrections(
-            GnssMeasurementCorrections measurementCorrections);
 }
diff --git a/services/core/java/com/android/server/location/GnssNavigationMessageProvider.java b/services/core/java/com/android/server/location/GnssNavigationMessageProvider.java
index 80a3f9b..7e8b599 100644
--- a/services/core/java/com/android/server/location/GnssNavigationMessageProvider.java
+++ b/services/core/java/com/android/server/location/GnssNavigationMessageProvider.java
@@ -11,7 +11,7 @@
  * 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
+ * limitations under the License.
  */
 
 package com.android.server.location;
@@ -51,7 +51,6 @@
         mNative = aNative;
     }
 
-    // TODO(b/37460011): Use this with death recovery logic.
     void resumeIfStarted() {
         if (DEBUG) {
             Log.d(TAG, "resumeIfStarted");
@@ -92,7 +91,16 @@
         );
     }
 
-    public void onCapabilitiesUpdated(boolean isGnssNavigationMessageSupported) {
+    /** Handle GNSS capabilities update from the GNSS HAL implementation */
+    public void onCapabilitiesUpdated(int capabilities, boolean hasSubHalCapabilityFlags) {
+        // The IGnssCallback.hal@2.0 removed sub-HAL capability flags from the Capabilities enum
+        // and instead uses the sub-HAL non-null handle returned from IGnss.hal@2.0 to indicate
+        // support. Therefore, the 'hasSubHalCapabilityFlags' parameter is needed to tell if the
+        // 'capabilities' parameter includes the sub-HAL capability flags or not. Old HALs
+        // which explicitly set the sub-HAL capability bits must continue to work.
+        final boolean isGnssNavigationMessageSupported = hasSubHalCapabilityFlags
+                ? (capabilities & GnssLocationProvider.GPS_CAPABILITY_NAV_MESSAGES) != 0
+                : mNative.isNavigationMessageSupported();
         setSupported(isGnssNavigationMessageSupported);
         updateResult();
     }
diff --git a/services/core/java/com/android/server/location/GnssNetworkConnectivityHandler.java b/services/core/java/com/android/server/location/GnssNetworkConnectivityHandler.java
index 90d16cb..c06b03b 100644
--- a/services/core/java/com/android/server/location/GnssNetworkConnectivityHandler.java
+++ b/services/core/java/com/android/server/location/GnssNetworkConnectivityHandler.java
@@ -373,8 +373,8 @@
         networkAttributes = new NetworkAttributes();
         networkAttributes.mCapabilities = capabilities;
 
-        // TODO(b/119278134): The synchronous method ConnectivityManager.getNetworkInfo() must
-        // not be called inside the asynchronous ConnectivityManager.NetworkCallback methods.
+        // TODO: The synchronous method ConnectivityManager.getNetworkInfo() should not be called
+        //       inside the asynchronous ConnectivityManager.NetworkCallback methods.
         NetworkInfo info = mConnMgr.getNetworkInfo(network);
         if (info != null) {
             networkAttributes.mApn = info.getExtraInfo();
@@ -387,8 +387,8 @@
     }
 
     private void handleSuplConnectionAvailable(Network network) {
-        // TODO(b/119278134): The synchronous method ConnectivityManager.getNetworkInfo() must
-        // not be called inside the asynchronous ConnectivityManager.NetworkCallback methods.
+        // TODO: The synchronous method ConnectivityManager.getNetworkInfo() should not be called
+        //       inside the asynchronous ConnectivityManager.NetworkCallback methods.
         NetworkInfo info = mConnMgr.getNetworkInfo(network);
         String apn = null;
         if (info != null) {
@@ -509,8 +509,8 @@
         }
     }
 
-    // TODO(25876485): Delete this method when all devices upgrade to HAL @2.0::IAGnssCallback
-    //                 interface which does not require setting route to host.
+    // TODO: Delete this method when all devices upgrade to HAL @2.0::IAGnssCallback
+    //       interface which does not require setting route to host.
     private void setRouting() {
         boolean result = mConnMgr.requestRouteToHostAddress(
                 ConnectivityManager.TYPE_MOBILE_SUPL,
diff --git a/services/core/java/com/android/server/location/GnssVisibilityControl.java b/services/core/java/com/android/server/location/GnssVisibilityControl.java
index 20f872a..24ee389 100644
--- a/services/core/java/com/android/server/location/GnssVisibilityControl.java
+++ b/services/core/java/com/android/server/location/GnssVisibilityControl.java
@@ -18,7 +18,6 @@
 
 import android.annotation.SuppressLint;
 import android.app.AppOpsManager;
-import android.content.ActivityNotFoundException;
 import android.content.BroadcastReceiver;
 import android.content.Context;
 import android.content.Intent;
@@ -32,11 +31,11 @@
 import android.os.UserHandle;
 import android.provider.Settings;
 import android.text.TextUtils;
+import android.util.ArrayMap;
 import android.util.Log;
 import android.util.StatsLog;
 
 import java.util.Arrays;
-import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 
@@ -76,9 +75,9 @@
     private boolean mIsDeviceLocationSettingsEnabled;
 
     // Number of non-framework location access proxy apps is expected to be small (< 5).
-    private static final int HASH_MAP_INITIAL_CAPACITY_PROXY_APP_TO_LOCATION_PERMISSIONS = 7;
-    private HashMap<String, Boolean> mProxyAppToLocationPermissions = new HashMap<>(
-            HASH_MAP_INITIAL_CAPACITY_PROXY_APP_TO_LOCATION_PERMISSIONS);
+    private static final int ARRAY_MAP_INITIAL_CAPACITY_PROXY_APP_TO_LOCATION_PERMISSIONS = 7;
+    private ArrayMap<String, Boolean> mProxyAppToLocationPermissions = new ArrayMap<>(
+            ARRAY_MAP_INITIAL_CAPACITY_PROXY_APP_TO_LOCATION_PERMISSIONS);
 
     private PackageManager.OnPermissionsChangedListener mOnPermissionsChangedListener =
             uid -> runOnHandler(() -> handlePermissionsChanged(uid));
@@ -97,10 +96,6 @@
     }
 
     void updateProxyApps(List<String> nfwLocationAccessProxyApps) {
-        // NOTE: This class doesn't explicitly register and listen for SIM_STATE_CHANGED event
-        //       but rather piggy backs on the GnssLocationProvider SIM_STATE_CHANGED handling
-        //       so that the order of processing is preserved. GnssLocationProvider should
-        //       first load the new config parameters for the new SIM and then call this method.
         runOnHandler(() -> handleUpdateProxyApps(nfwLocationAccessProxyApps));
     }
 
@@ -246,15 +241,7 @@
 
     // Represents NfwNotification structure in IGnssVisibilityControlCallback.hal
     private static class NfwNotification {
-        private static final String KEY_PROTOCOL_STACK = "ProtocolStack";
-        private static final String KEY_OTHER_PROTOCOL_STACK_NAME = "OtherProtocolStackName";
-        private static final String KEY_REQUESTOR = "Requestor";
-        private static final String KEY_REQUESTOR_ID = "RequestorId";
-        private static final String KEY_RESPONSE_TYPE = "ResponseType";
-        private static final String KEY_IN_EMERGENCY_MODE = "InEmergencyMode";
-        private static final String KEY_IS_CACHED_LOCATION = "IsCachedLocation";
-
-        // This must match with NfwResponseType enum in IGnssVisibilityControlCallback.hal.
+        // These must match with NfwResponseType enum in IGnssVisibilityControlCallback.hal.
         private static final byte NFW_RESPONSE_TYPE_REJECTED = 0;
         private static final byte NFW_RESPONSE_TYPE_ACCEPTED_NO_LOCATION_PROVIDED = 1;
         private static final byte NFW_RESPONSE_TYPE_ACCEPTED_LOCATION_PROVIDED = 2;
@@ -281,30 +268,14 @@
             mIsCachedLocation = isCachedLocation;
         }
 
-        private void copyFieldsToIntent(Intent intent) {
-            intent.putExtra(KEY_PROTOCOL_STACK, mProtocolStack);
-            if (!TextUtils.isEmpty(mOtherProtocolStackName)) {
-                intent.putExtra(KEY_OTHER_PROTOCOL_STACK_NAME, mOtherProtocolStackName);
-            }
-            intent.putExtra(KEY_REQUESTOR, mRequestor);
-            if (!TextUtils.isEmpty(mRequestorId)) {
-                intent.putExtra(KEY_REQUESTOR_ID, mRequestorId);
-            }
-            intent.putExtra(KEY_RESPONSE_TYPE, mResponseType);
-            intent.putExtra(KEY_IN_EMERGENCY_MODE, mInEmergencyMode);
-            if (mResponseType == NFW_RESPONSE_TYPE_ACCEPTED_LOCATION_PROVIDED) {
-                intent.putExtra(KEY_IS_CACHED_LOCATION, mIsCachedLocation);
-            }
-        }
-
         @SuppressLint("DefaultLocale")
         public String toString() {
             return String.format(
-                    "[Notification] proxyAppPackageName: %s, protocolStack: %d"
-                            + ", otherProtocolStackName: %s, requestor: %d, requestorId: %s"
-                            + ", responseType: %d, inEmergencyMode: %b, isCachedLocation: %b",
-                    mProxyAppPackageName, mProtocolStack, mOtherProtocolStackName,
-                    mRequestor, mRequestorId, mResponseType, mInEmergencyMode, mIsCachedLocation);
+                    "{proxyAppPackageName: %s, protocolStack: %d, otherProtocolStackName: %s, "
+                            + "requestor: %d, requestorId: %s, responseType: %s, inEmergencyMode:"
+                            + " %b, isCachedLocation: %b}",
+                    mProxyAppPackageName, mProtocolStack, mOtherProtocolStackName, mRequestor,
+                    mRequestorId, getResponseTypeAsString(), mInEmergencyMode, mIsCachedLocation);
         }
 
         private String getResponseTypeAsString() {
@@ -405,7 +376,7 @@
     }
 
     private void handleNfwNotification(NfwNotification nfwNotification) {
-        if (DEBUG) Log.d(TAG, nfwNotification.toString());
+        if (DEBUG) Log.d(TAG, "Non-framework location access notification: " + nfwNotification);
 
         final String proxyAppPackageName = nfwNotification.mProxyAppPackageName;
         Boolean isLocationPermissionEnabled = mProxyAppToLocationPermissions.get(
@@ -421,39 +392,27 @@
         logEvent(nfwNotification, isPermissionMismatched);
 
         if (TextUtils.isEmpty(proxyAppPackageName)) {
-            Log.e(TAG, "ProxyAppPackageName field is not set. Not sending intent to proxy app for "
-                    + nfwNotification);
+            Log.e(TAG, "ProxyAppPackageName field is not set. AppOps service not notified "
+                    + "for non-framework location access notification: " + nfwNotification);
             return;
         }
 
         if (isLocationPermissionEnabled == null) {
-            // App is not in the configured list.
-            Log.e(TAG, "Could not find proxy app with name: " + proxyAppPackageName + " in the "
+            Log.w(TAG, "Could not find proxy app with name: " + proxyAppPackageName + " in the "
                     + "value specified for config parameter: "
-                    + GnssConfiguration.CONFIG_NFW_PROXY_APPS + ". Not sending intent to proxy app"
-                    + " for " + nfwNotification);
-            return;
-        }
-
-        // Send intent to non-framework location proxy app with notification information.
-        final Intent intent = new Intent(
-                proxyAppPackageName + NFW_INTENT_ACTION_NFW_LOCATION_ACCESS_SUFFIX);
-        final String proxAppActivityName =
-                proxyAppPackageName + NFW_PROXY_APP_PKG_ACTIVITY_NAME_SUFFIX;
-        intent.setClassName(proxyAppPackageName, proxAppActivityName);
-        intent.setType(NFW_INTENT_TYPE);
-        nfwNotification.copyFieldsToIntent(intent);
-
-        // Check if the proxy app is still installed.
-        final Integer clsAppUid = getApplicationUid(proxyAppPackageName);
-        if (clsAppUid == null || intent.resolveActivity(mPackageManager) == null) {
-            Log.i(TAG, "Proxy application " + proxyAppPackageName + " and/or activity "
-                    + proxAppActivityName + " is not found. Not sending"
-                    + " intent to proxy app for " + nfwNotification);
+                    + GnssConfiguration.CONFIG_NFW_PROXY_APPS + ". AppOps service not notified "
+                    + "for non-framework location access notification: " + nfwNotification);
             return;
         }
 
         // Display location icon attributed to this proxy app.
+        final Integer clsAppUid = getApplicationUid(proxyAppPackageName);
+        if (clsAppUid == null) {
+            Log.e(TAG, "Proxy app " + proxyAppPackageName + " is not found. AppOps service not "
+                    + "notified for non-framework location access notification: "
+                    + nfwNotification);
+            return;
+        }
         mAppOps.noteOpNoThrow(AppOpsManager.OP_FINE_LOCATION, clsAppUid, proxyAppPackageName);
 
         // Log proxy app permission mismatch between framework and GNSS HAL.
@@ -461,18 +420,8 @@
             Log.w(TAG, "Permission mismatch. Framework proxy app " + proxyAppPackageName
                     + " location permission is set to " + isLocationPermissionEnabled
                     + " but GNSS non-framework location access response type is "
-                    + nfwNotification.getResponseTypeAsString() + " for " + nfwNotification);
-        }
-
-        // Notify proxy app.
-        try {
-            if (DEBUG) {
-                Log.d(TAG, "Sending non-framework location access notification intent: " + intent);
-            }
-            mContext.startActivityAsUser(intent, UserHandle.getUserHandleForUid(clsAppUid));
-        } catch (ActivityNotFoundException e) {
-            Log.w(TAG, "Activity not found. Failed to send non-framework location access"
-                    + " notification intent to proxy app activity: " + proxAppActivityName);
+                    + nfwNotification.getResponseTypeAsString() + " for notification: "
+                    + nfwNotification);
         }
     }
 
diff --git a/services/core/java/com/android/server/locksettings/LockSettingsService.java b/services/core/java/com/android/server/locksettings/LockSettingsService.java
index ee968c8..293813a 100644
--- a/services/core/java/com/android/server/locksettings/LockSettingsService.java
+++ b/services/core/java/com/android/server/locksettings/LockSettingsService.java
@@ -21,6 +21,7 @@
 import static android.content.Context.KEYGUARD_SERVICE;
 import static android.content.pm.PackageManager.PERMISSION_GRANTED;
 
+import static com.android.internal.widget.LockPatternUtils.EscrowTokenStateChangeCallback;
 import static com.android.internal.widget.LockPatternUtils.SYNTHETIC_PASSWORD_ENABLED_KEY;
 import static com.android.internal.widget.LockPatternUtils.SYNTHETIC_PASSWORD_HANDLE_KEY;
 import static com.android.internal.widget.LockPatternUtils.StrongAuthTracker.STRONG_AUTH_REQUIRED_AFTER_BOOT;
@@ -409,7 +410,8 @@
         }
 
         public SyntheticPasswordManager getSyntheticPasswordManager(LockSettingsStorage storage) {
-            return new SyntheticPasswordManager(getContext(), storage, getUserManager());
+            return new SyntheticPasswordManager(getContext(), storage, getUserManager(),
+                    new PasswordSlotManager());
         }
 
         public boolean hasBiometrics() {
@@ -1973,8 +1975,7 @@
         } catch (RemoteException ex) {
             Slog.w(TAG, "unable to clear GK secure user id");
         }
-        UserInfo userInfo = mUserManager.getUserInfo(userId);
-        if (unknownUser || userInfo == null || userInfo.isManagedProfile()) {
+        if (unknownUser || mUserManager.getUserInfo(userId).isManagedProfile()) {
             removeKeystoreProfileKey(userId);
         }
     }
@@ -2648,7 +2649,8 @@
         }
     }
 
-    private long addEscrowToken(byte[] token, int userId) throws RemoteException {
+    private long addEscrowToken(byte[] token, int userId, EscrowTokenStateChangeCallback callback)
+            throws RemoteException {
         if (DEBUG) Slog.d(TAG, "addEscrowToken: user=" + userId);
         synchronized (mSpManager) {
             enableSyntheticPasswordLocked();
@@ -2672,7 +2674,7 @@
                     throw new SecurityException("Escrow token is disabled on the current user");
                 }
             }
-            long handle = mSpManager.createTokenBasedSyntheticPassword(token, userId);
+            long handle = mSpManager.createTokenBasedSyntheticPassword(token, userId, callback);
             if (auth != null) {
                 mSpManager.activateTokenBasedSyntheticPassword(handle, auth, userId);
             }
@@ -2697,6 +2699,14 @@
         }
     }
 
+    @Override
+    public boolean hasPendingEscrowToken(int userId) {
+        checkPasswordReadPermission(userId);
+        synchronized (mSpManager) {
+            return !mSpManager.getPendingTokensForUser(userId).isEmpty();
+        }
+    }
+
     private boolean removeEscrowToken(long handle, int userId) {
         synchronized (mSpManager) {
             if (handle == getSyntheticPasswordHandleLocked(userId)) {
@@ -2943,9 +2953,10 @@
     private final class LocalService extends LockSettingsInternal {
 
         @Override
-        public long addEscrowToken(byte[] token, int userId) {
+        public long addEscrowToken(byte[] token, int userId,
+                EscrowTokenStateChangeCallback callback) {
             try {
-                return LockSettingsService.this.addEscrowToken(token, userId);
+                return LockSettingsService.this.addEscrowToken(token, userId, callback);
             } catch (RemoteException re) {
                 throw re.rethrowFromSystemServer();
             }
diff --git a/services/core/java/com/android/server/locksettings/LockSettingsStorage.java b/services/core/java/com/android/server/locksettings/LockSettingsStorage.java
index 98f1740..2ede384 100644
--- a/services/core/java/com/android/server/locksettings/LockSettingsStorage.java
+++ b/services/core/java/com/android/server/locksettings/LockSettingsStorage.java
@@ -29,7 +29,6 @@
 import android.os.Environment;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.os.storage.StorageManager;
 import android.util.ArrayMap;
 import android.util.Log;
 import android.util.Slog;
@@ -49,6 +48,7 @@
 import java.io.IOException;
 import java.io.RandomAccessFile;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.List;
 import java.util.Map;
 
@@ -808,7 +808,7 @@
         }
 
         byte[] peekFile(String fileName) {
-            return (byte[]) peek(CacheKey.TYPE_FILE, fileName, -1 /* userId */);
+            return copyOf((byte[]) peek(CacheKey.TYPE_FILE, fileName, -1 /* userId */));
         }
 
         boolean hasFile(String fileName) {
@@ -816,11 +816,11 @@
         }
 
         void putFile(String key, byte[] value) {
-            put(CacheKey.TYPE_FILE, key, value, -1 /* userId */);
+            put(CacheKey.TYPE_FILE, key, copyOf(value), -1 /* userId */);
         }
 
         void putFileIfUnchanged(String key, byte[] value, int version) {
-            putIfUnchanged(CacheKey.TYPE_FILE, key, value, -1 /* userId */, version);
+            putIfUnchanged(CacheKey.TYPE_FILE, key, copyOf(value), -1 /* userId */, version);
         }
 
         void setFetched(int userId) {
@@ -868,6 +868,10 @@
             mVersion++;
         }
 
+        private byte[] copyOf(byte[] data) {
+            return data != null ? Arrays.copyOf(data, data.length) : null;
+        }
+
         synchronized void purgePath(String path) {
             for (int i = mCache.size() - 1; i >= 0; i--) {
                 CacheKey entry = mCache.keyAt(i);
diff --git a/services/core/java/com/android/server/locksettings/PasswordSlotManager.java b/services/core/java/com/android/server/locksettings/PasswordSlotManager.java
new file mode 100644
index 0000000..686ae2b
--- /dev/null
+++ b/services/core/java/com/android/server/locksettings/PasswordSlotManager.java
@@ -0,0 +1,191 @@
+/*
+ * 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.server.locksettings;
+
+import android.os.SystemProperties;
+import android.util.Slog;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.nio.file.Paths;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Set;
+
+/**
+ * A class that maintains a mapping of which password slots are used by alternate OS images when
+ * dual-booting a device. Currently, slots can either be owned by the host OS or a live GSI.
+ * This mapping is stored in /metadata/password_slots/slot_map using Java Properties.
+ *
+ * If a /metadata partition does not exist, GSIs are not supported, and PasswordSlotManager will
+ * simply not persist the slot mapping.
+ */
+public class PasswordSlotManager {
+    private static final String TAG = "PasswordSlotManager";
+
+    private static final String GSI_RUNNING_PROP = "ro.gsid.image_running";
+    private static final String SLOT_MAP_DIR = "/metadata/password_slots";
+
+    // This maps each used password slot to the OS image that created it. Password slots are
+    // integer keys/indices into secure storage. The OS image is recorded as a string. The factory
+    // image is "host" and GSIs are "gsi<N>" where N >= 1.
+    private final Map<Integer, String> mSlotMap;
+
+    public PasswordSlotManager() {
+        mSlotMap = loadSlotMap();
+    }
+
+    @VisibleForTesting
+    protected String getSlotMapDir() {
+        return SLOT_MAP_DIR;
+    }
+
+    @VisibleForTesting
+    protected int getGsiImageNumber() {
+        return SystemProperties.getInt(GSI_RUNNING_PROP, 0);
+    }
+
+    /**
+     * Notify the manager of which slots are definitively in use by the current OS image.
+     *
+     * @throws RuntimeException
+     */
+    public void refreshActiveSlots(Set<Integer> activeSlots) throws RuntimeException {
+        // Update which slots are owned by the current image.
+        final HashSet<Integer> slotsToDelete = new HashSet<Integer>();
+        for (Map.Entry<Integer, String> entry : mSlotMap.entrySet()) {
+            // Delete possibly stale entries for the current image.
+            if (entry.getValue().equals(getMode())) {
+                slotsToDelete.add(entry.getKey());
+            }
+        }
+        for (Integer slot : slotsToDelete) {
+            mSlotMap.remove(slot);
+        }
+
+        // Add slots for the current image.
+        for (Integer slot : activeSlots) {
+            mSlotMap.put(slot, getMode());
+        }
+
+        saveSlotMap();
+    }
+
+    /**
+     * Mark the given slot as in use by the current OS image.
+     *
+     * @throws RuntimeException
+     */
+    public void markSlotInUse(int slot) throws RuntimeException {
+        if (mSlotMap.containsKey(slot) && !mSlotMap.get(slot).equals(getMode())) {
+            throw new RuntimeException("password slot " + slot + " is not available");
+        }
+        mSlotMap.put(slot, getMode());
+        saveSlotMap();
+    }
+
+    /**
+     * Mark the given slot as no longer in use by the current OS image.
+     *
+     * @throws RuntimeException
+     */
+    public void markSlotDeleted(int slot) throws RuntimeException {
+        if (mSlotMap.containsKey(slot) && mSlotMap.get(slot) != getMode()) {
+            throw new RuntimeException("password slot " + slot + " cannot be deleted");
+        }
+        mSlotMap.remove(slot);
+        saveSlotMap();
+    }
+
+    /**
+     * Return the set of slots used across all OS images.
+     *
+     * @return Integer set of all used slots.
+     */
+    public Set<Integer> getUsedSlots() {
+        return Collections.unmodifiableSet(mSlotMap.keySet());
+    }
+
+    private File getSlotMapFile() {
+        return Paths.get(getSlotMapDir(), "slot_map").toFile();
+    }
+
+    private String getMode() {
+        int gsiIndex = getGsiImageNumber();
+        if (gsiIndex > 0) {
+            return "gsi" + gsiIndex;
+        }
+        return "host";
+    }
+
+    @VisibleForTesting
+    protected Map<Integer, String> loadSlotMap(InputStream stream) throws IOException {
+        final HashMap<Integer, String> map = new HashMap<Integer, String>();
+        final Properties props = new Properties();
+        props.load(stream);
+        for (String slotString : props.stringPropertyNames()) {
+            final int slot = Integer.parseInt(slotString);
+            final String owner = props.getProperty(slotString);
+            map.put(slot, owner);
+        }
+        return map;
+    }
+
+    private Map<Integer, String> loadSlotMap() {
+        // It's okay if the file doesn't exist.
+        final File file = getSlotMapFile();
+        if (file.exists()) {
+            try (FileInputStream stream = new FileInputStream(file)) {
+                return loadSlotMap(stream);
+            } catch (Exception e) {
+                Slog.e(TAG, "Could not load slot map file", e);
+            }
+        }
+        return new HashMap<Integer, String>();
+    }
+
+    @VisibleForTesting
+    protected void saveSlotMap(OutputStream stream) throws IOException {
+        final Properties props = new Properties();
+        for (Map.Entry<Integer, String> entry : mSlotMap.entrySet()) {
+            props.setProperty(entry.getKey().toString(), entry.getValue());
+        }
+        props.store(stream, "");
+    }
+
+    private void saveSlotMap() {
+        if (!getSlotMapFile().getParentFile().exists()) {
+            Slog.w(TAG, "Not saving slot map, " + getSlotMapDir() + " does not exist");
+            return;
+        }
+
+        try (FileOutputStream fos = new FileOutputStream(getSlotMapFile())) {
+            saveSlotMap(fos);
+        } catch (IOException e) {
+            Slog.e(TAG, "failed to save password slot map", e);
+        }
+    }
+}
diff --git a/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java b/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java
index ea39dff..1ba0e8c 100644
--- a/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java
+++ b/services/core/java/com/android/server/locksettings/SyntheticPasswordManager.java
@@ -16,6 +16,8 @@
 
 package com.android.server.locksettings;
 
+import static com.android.internal.widget.LockPatternUtils.EscrowTokenStateChangeCallback;
+
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.admin.DevicePolicyManager;
@@ -281,20 +283,23 @@
         byte[] secdiscardableOnDisk;
         byte[] weaverSecret;
         byte[] aggregatedSecret;
+        EscrowTokenStateChangeCallback mCallback;
     }
 
     private final Context mContext;
     private LockSettingsStorage mStorage;
     private IWeaver mWeaver;
     private WeaverConfig mWeaverConfig;
+    private PasswordSlotManager mPasswordSlotManager;
 
     private final UserManager mUserManager;
 
     public SyntheticPasswordManager(Context context, LockSettingsStorage storage,
-            UserManager userManager) {
+            UserManager userManager, PasswordSlotManager passwordSlotManager) {
         mContext = context;
         mStorage = storage;
         mUserManager = userManager;
+        mPasswordSlotManager = passwordSlotManager;
     }
 
     @VisibleForTesting
@@ -324,6 +329,7 @@
                         mWeaver = null;
                     }
                 });
+                mPasswordSlotManager.refreshActiveSlots(getUsedWeaverSlots());
             }
         } catch (RemoteException e) {
             Slog.e(TAG, "Failed to get weaver service", e);
@@ -561,6 +567,7 @@
                 Log.i(TAG, "Destroy weaver slot " + slot + " for user " + userId);
                 try {
                     weaverEnroll(slot, null, null);
+                    mPasswordSlotManager.markSlotDeleted(slot);
                 } catch (RemoteException e) {
                     Log.w(TAG, "Failed to destroy slot", e);
                 }
@@ -595,6 +602,7 @@
 
     private int getNextAvailableWeaverSlot() {
         Set<Integer> usedSlots = getUsedWeaverSlots();
+        usedSlots.addAll(mPasswordSlotManager.getUsedSlots());
         for (int i = 0; i < mWeaverConfig.slots; i++) {
             if (!usedSlots.contains(i)) {
                 return i;
@@ -640,6 +648,7 @@
                 return DEFAULT_HANDLE;
             }
             saveWeaverSlot(weaverSlot, handle, userId);
+            mPasswordSlotManager.markSlotInUse(weaverSlot);
             synchronizeWeaverFrpPassword(pwd, requestedQuality, userId, weaverSlot);
 
             pwd.passwordHandle = null;
@@ -740,7 +749,12 @@
 
     private ArrayMap<Integer, ArrayMap<Long, TokenData>> tokenMap = new ArrayMap<>();
 
-    public long createTokenBasedSyntheticPassword(byte[] token, int userId) {
+    /**
+     * Create a token based Synthetic password for the given user.
+     * @return the handle of the token
+     */
+    public long createTokenBasedSyntheticPassword(byte[] token, int userId,
+            @Nullable EscrowTokenStateChangeCallback changeCallback) {
         long handle = generateHandle();
         if (!tokenMap.containsKey(userId)) {
             tokenMap.put(userId, new ArrayMap<>());
@@ -756,6 +770,7 @@
             tokenData.weaverSecret = null;
         }
         tokenData.aggregatedSecret = transformUnderSecdiscardable(token, secdiscardable);
+        tokenData.mCallback = changeCallback;
 
         tokenMap.get(userId).put(handle, tokenData);
         return handle;
@@ -798,11 +813,15 @@
                 return false;
             }
             saveWeaverSlot(slot, handle, userId);
+            mPasswordSlotManager.markSlotInUse(slot);
         }
         saveSecdiscardable(handle, tokenData.secdiscardableOnDisk, userId);
         createSyntheticPasswordBlob(handle, SYNTHETIC_PASSWORD_TOKEN_BASED, authToken,
                 tokenData.aggregatedSecret, 0L, userId);
         tokenMap.get(userId).remove(handle);
+        if (tokenData.mCallback != null) {
+            tokenData.mCallback.onEscrowTokenActivated(handle, userId);
+        }
         return true;
     }
 
diff --git a/services/core/java/com/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper.java b/services/core/java/com/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper.java
index cd5e8cf..3e7b0a7 100644
--- a/services/core/java/com/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper.java
+++ b/services/core/java/com/android/server/locksettings/recoverablekeystore/storage/RecoverableKeyStoreDbHelper.java
@@ -80,7 +80,7 @@
                     + RootOfTrustEntry._ID + " INTEGER PRIMARY KEY,"
                     + RootOfTrustEntry.COLUMN_NAME_USER_ID + " INTEGER,"
                     + RootOfTrustEntry.COLUMN_NAME_UID + " INTEGER,"
-                    + RootOfTrustEntry.COLUMN_NAME_ROOT_ALIAS + " TEST,"
+                    + RootOfTrustEntry.COLUMN_NAME_ROOT_ALIAS + " TEXT,"
                     + RootOfTrustEntry.COLUMN_NAME_CERT_PATH + " BLOB,"
                     + RootOfTrustEntry.COLUMN_NAME_CERT_SERIAL + " INTEGER,"
                     + "UNIQUE("
diff --git a/services/core/java/com/android/server/media/MediaSessionRecord.java b/services/core/java/com/android/server/media/MediaSessionRecord.java
index 152cf7f..7b691b4 100644
--- a/services/core/java/com/android/server/media/MediaSessionRecord.java
+++ b/services/core/java/com/android/server/media/MediaSessionRecord.java
@@ -24,17 +24,18 @@
 import android.media.AudioManagerInternal;
 import android.media.AudioSystem;
 import android.media.MediaMetadata;
+import android.media.MediaParceledListSlice;
 import android.media.Rating;
 import android.media.VolumeProvider;
 import android.media.session.ControllerCallbackLink;
-import android.media.session.ControllerLink;
+import android.media.session.ISession;
+import android.media.session.ISessionController;
 import android.media.session.MediaController;
 import android.media.session.MediaController.PlaybackInfo;
 import android.media.session.MediaSession;
 import android.media.session.MediaSession.QueueItem;
 import android.media.session.PlaybackState;
 import android.media.session.SessionCallbackLink;
-import android.media.session.SessionLink;
 import android.net.Uri;
 import android.os.Binder;
 import android.os.Bundle;
@@ -44,6 +45,7 @@
 import android.os.Looper;
 import android.os.Message;
 import android.os.Process;
+import android.os.RemoteException;
 import android.os.ResultReceiver;
 import android.os.SystemClock;
 import android.util.Log;
@@ -78,9 +80,9 @@
     private final String mPackageName;
     private final String mTag;
     private final Bundle mSessionInfo;
-    private final ControllerLink mController;
+    private final ControllerStub mController;
     private final MediaSession.Token mSessionToken;
-    private final SessionLink mSession;
+    private final SessionStub mSession;
     private final SessionCb mSessionCb;
     private final MediaSessionService.ServiceImpl mService;
     private final Context mContext;
@@ -130,9 +132,9 @@
         mPackageName = ownerPackageName;
         mTag = tag;
         mSessionInfo = sessionInfo;
-        mController = new ControllerLink(new ControllerStub());
+        mController = new ControllerStub();
         mSessionToken = new MediaSession.Token(mController);
-        mSession = new SessionLink(new SessionStub());
+        mSession = new SessionStub();
         mSessionCb = new SessionCb(cb);
         mService = service;
         mContext = mService.getContext();
@@ -143,20 +145,20 @@
     }
 
     /**
-     * Get the session link for the {@link MediaSession}.
+     * Get the session binder for the {@link MediaSession}.
      *
-     * @return The session link apps talk to.
+     * @return The session binder apps talk to.
      */
-    public SessionLink getSessionBinder() {
+    public ISession getSessionBinder() {
         return mSession;
     }
 
     /**
-     * Get the controller link for the {@link MediaController}.
+     * Get the controller binder for the {@link MediaController}.
      *
-     * @return The controller link apps talk to.
+     * @return The controller binder apps talk to.
      */
-    public ControllerLink getControllerLink() {
+    public ISessionController getControllerBinder() {
         return mController;
     }
 
@@ -817,9 +819,9 @@
         }
     };
 
-    private final class SessionStub extends SessionLink.SessionStub {
+    private final class SessionStub extends ISession.Stub {
         @Override
-        public void destroySession() {
+        public void destroySession() throws RemoteException {
             final long token = Binder.clearCallingIdentity();
             try {
                 mService.destroySession(MediaSessionRecord.this);
@@ -829,18 +831,18 @@
         }
 
         @Override
-        public void sendEvent(String event, Bundle data) {
+        public void sendEvent(String event, Bundle data) throws RemoteException {
             mHandler.post(MessageHandler.MSG_SEND_EVENT, event,
                     data == null ? null : new Bundle(data));
         }
 
         @Override
-        public ControllerLink getController() {
+        public ISessionController getController() throws RemoteException {
             return mController;
         }
 
         @Override
-        public void setActive(boolean active) {
+        public void setActive(boolean active) throws RemoteException {
             mIsActive = active;
             final long token = Binder.clearCallingIdentity();
             try {
@@ -852,7 +854,7 @@
         }
 
         @Override
-        public void setFlags(int flags) {
+        public void setFlags(int flags) throws RemoteException {
             if ((flags & MediaSession.FLAG_EXCLUSIVE_GLOBAL_PRIORITY) != 0) {
                 int pid = Binder.getCallingPid();
                 int uid = Binder.getCallingUid();
@@ -871,7 +873,7 @@
         }
 
         @Override
-        public void setMediaButtonReceiver(PendingIntent pi) {
+        public void setMediaButtonReceiver(PendingIntent pi) throws RemoteException {
             mMediaButtonReceiver = pi;
             final long token = Binder.clearCallingIdentity();
             try {
@@ -882,12 +884,13 @@
         }
 
         @Override
-        public void setLaunchPendingIntent(PendingIntent pi) {
+        public void setLaunchPendingIntent(PendingIntent pi) throws RemoteException {
             mLaunchIntent = pi;
         }
 
         @Override
-        public void setMetadata(MediaMetadata metadata, long duration, String metadataDescription) {
+        public void setMetadata(MediaMetadata metadata, long duration, String metadataDescription)
+                throws RemoteException {
             synchronized (mLock) {
                 MediaMetadata temp = metadata == null ? null : new MediaMetadata.Builder(metadata)
                         .build();
@@ -905,7 +908,7 @@
         }
 
         @Override
-        public void setPlaybackState(PlaybackState state) {
+        public void setPlaybackState(PlaybackState state) throws RemoteException {
             int oldState = mPlaybackState == null
                     ? PlaybackState.STATE_NONE : mPlaybackState.getState();
             int newState = state == null
@@ -923,21 +926,21 @@
         }
 
         @Override
-        public void setQueue(List<QueueItem> queue) {
+        public void setQueue(MediaParceledListSlice queue) throws RemoteException {
             synchronized (mLock) {
-                mQueue = queue;
+                mQueue = queue == null ? null : (List<QueueItem>) queue.getList();
             }
             mHandler.post(MessageHandler.MSG_UPDATE_QUEUE);
         }
 
         @Override
-        public void setQueueTitle(CharSequence title) {
+        public void setQueueTitle(CharSequence title) throws RemoteException {
             mQueueTitle = title;
             mHandler.post(MessageHandler.MSG_UPDATE_QUEUE_TITLE);
         }
 
         @Override
-        public void setExtras(Bundle extras) {
+        public void setExtras(Bundle extras) throws RemoteException {
             synchronized (mLock) {
                 mExtras = extras == null ? null : new Bundle(extras);
             }
@@ -945,18 +948,18 @@
         }
 
         @Override
-        public void setRatingType(int type) {
+        public void setRatingType(int type) throws RemoteException {
             mRatingType = type;
         }
 
         @Override
-        public void setCurrentVolume(int volume) {
+        public void setCurrentVolume(int volume) throws RemoteException {
             mCurrentVolume = volume;
             mHandler.post(MessageHandler.MSG_UPDATE_VOLUME);
         }
 
         @Override
-        public void setPlaybackToLocal(AudioAttributes attributes) {
+        public void setPlaybackToLocal(AudioAttributes attributes) throws RemoteException {
             boolean typeChanged;
             synchronized (mLock) {
                 typeChanged = mVolumeType == PlaybackInfo.PLAYBACK_TYPE_REMOTE;
@@ -979,7 +982,7 @@
         }
 
         @Override
-        public void setPlaybackToRemote(int control, int max) {
+        public void setPlaybackToRemote(int control, int max) throws RemoteException {
             boolean typeChanged;
             synchronized (mLock) {
                 typeChanged = mVolumeType == PlaybackInfo.PLAYBACK_TYPE_LOCAL;
@@ -1248,7 +1251,7 @@
         }
     }
 
-    class ControllerStub extends ControllerLink.ControllerStub {
+    class ControllerStub extends ISessionController.Stub {
         @Override
         public void sendCommand(String packageName, ControllerCallbackLink caller,
                 String command, Bundle args, ResultReceiver cb) {
@@ -1488,9 +1491,9 @@
         }
 
         @Override
-        public List<QueueItem> getQueue() {
+        public MediaParceledListSlice getQueue() {
             synchronized (mLock) {
-                return mQueue;
+                return mQueue == null ? null : new MediaParceledListSlice<>(mQueue);
             }
         }
 
diff --git a/services/core/java/com/android/server/media/MediaSessionServiceImpl.java b/services/core/java/com/android/server/media/MediaSessionServiceImpl.java
index b86328b..7c8dc74 100644
--- a/services/core/java/com/android/server/media/MediaSessionServiceImpl.java
+++ b/services/core/java/com/android/server/media/MediaSessionServiceImpl.java
@@ -49,12 +49,12 @@
 import android.media.session.ICallback;
 import android.media.session.IOnMediaKeyListener;
 import android.media.session.IOnVolumeKeyLongPressListener;
+import android.media.session.ISession;
 import android.media.session.ISession2TokensListener;
 import android.media.session.ISessionManager;
 import android.media.session.MediaSession;
 import android.media.session.MediaSessionManager;
 import android.media.session.SessionCallbackLink;
-import android.media.session.SessionLink;
 import android.net.Uri;
 import android.os.Binder;
 import android.os.Bundle;
@@ -64,6 +64,7 @@
 import android.os.Message;
 import android.os.PowerManager;
 import android.os.Process;
+import android.os.RemoteCallbackList;
 import android.os.RemoteException;
 import android.os.ResultReceiver;
 import android.os.ServiceManager;
@@ -138,9 +139,9 @@
     private MediaSessionRecord mGlobalPrioritySession;
     private AudioPlayerStateMonitor mAudioPlayerStateMonitor;
 
-    // Used to notify system UI when remote volume was changed. TODO find a
-    // better way to handle this.
-    private IRemoteVolumeController mRvc;
+    // Used to notify System UI and Settings when remote volume was changed.
+    final RemoteCallbackList<IRemoteVolumeController> mRemoteVolumeControllers =
+            new RemoteCallbackList<>();
 
     public MediaSessionServiceImpl(Context context) {
         mContext = context;
@@ -281,20 +282,23 @@
     }
 
     /**
-     * Tells the system UI that volume has changed on an active remote session.
+     * Tells the System UI and Settings app that volume has changed on an active remote session.
      */
     public void notifyRemoteVolumeChanged(int flags, MediaSessionRecord session) {
-        synchronized (mLock) {
-            if (mRvc == null || !session.isActive()) {
-                return;
-            }
+        if (!session.isActive()) {
+            return;
+        }
+        int size = mRemoteVolumeControllers.beginBroadcast();
+        MediaSession.Token token = session.getSessionToken();
+        for (int i = size - 1; i >= 0; i--) {
             try {
-                mRvc.remoteVolumeChanged(session.getSessionToken(), flags);
+                IRemoteVolumeController cb = mRemoteVolumeControllers.getBroadcastItem(i);
+                cb.remoteVolumeChanged(token, flags);
             } catch (Exception e) {
-                Log.w(TAG, "Error sending volume change to system UI.", e);
-                mRvc = null;
+                Log.w(TAG, "Error sending volume change.", e);
             }
         }
+        mRemoteVolumeControllers.finishBroadcast();
     }
 
     @Override
@@ -497,7 +501,7 @@
      */
     private void enforceMediaPermissions(ComponentName compName, int pid, int uid,
             int resolvedUserId) {
-        if (isCurrentVolumeController(pid, uid)) return;
+        if (hasStatusBarServicePermission(pid, uid)) return;
         if (mContext
                 .checkPermission(android.Manifest.permission.MEDIA_CONTENT_CONTROL, pid, uid)
                 != PackageManager.PERMISSION_GRANTED
@@ -507,14 +511,14 @@
         }
     }
 
-    private boolean isCurrentVolumeController(int pid, int uid) {
+    private boolean hasStatusBarServicePermission(int pid, int uid) {
         return mContext.checkPermission(android.Manifest.permission.STATUS_BAR_SERVICE,
                 pid, uid) == PackageManager.PERMISSION_GRANTED;
     }
 
-    private void enforceSystemUiPermission(String action, int pid, int uid) {
-        if (!isCurrentVolumeController(pid, uid)) {
-            throw new SecurityException("Only system ui may " + action);
+    private void enforceStatusBarServicePermission(String action, int pid, int uid) {
+        if (!hasStatusBarServicePermission(pid, uid)) {
+            throw new SecurityException("Only System UI and Settings may " + action);
         }
     }
 
@@ -638,20 +642,25 @@
     }
 
     private void pushRemoteVolumeUpdateLocked(int userId) {
-        if (mRvc != null) {
+        FullUserRecord user = getFullUserRecordLocked(userId);
+        if (user == null) {
+            Log.w(TAG, "pushRemoteVolumeUpdateLocked failed. No user with id=" + userId);
+            return;
+        }
+
+        int size = mRemoteVolumeControllers.beginBroadcast();
+        MediaSessionRecord record = user.mPriorityStack.getDefaultRemoteSession(userId);
+        MediaSession.Token token = record == null ? null : record.getSessionToken();
+
+        for (int i = size - 1; i >= 0; i--) {
             try {
-                FullUserRecord user = getFullUserRecordLocked(userId);
-                if (user == null) {
-                    Log.w(TAG, "pushRemoteVolumeUpdateLocked failed. No user with id=" + userId);
-                    return;
-                }
-                MediaSessionRecord record = user.mPriorityStack.getDefaultRemoteSession(userId);
-                mRvc.updateRemoteController(record == null ? null : record.getSessionToken());
-            } catch (RemoteException e) {
-                Log.w(TAG, "Error sending default remote volume to sys ui.", e);
-                mRvc = null;
+                IRemoteVolumeController cb = mRemoteVolumeControllers.getBroadcastItem(i);
+                cb.updateRemoteController(token);
+            } catch (Exception e) {
+                Log.w(TAG, "Error sending default remote volume.", e);
             }
         }
+        mRemoteVolumeControllers.finishBroadcast();
     }
 
     void pushSession2TokensChangedLocked(int userId) {
@@ -992,7 +1001,7 @@
         private boolean mVoiceButtonHandled = false;
 
         @Override
-        public SessionLink createSession(String packageName, SessionCallbackLink cb, String tag,
+        public ISession createSession(String packageName, SessionCallbackLink cb, String tag,
                 Bundle sessionInfo, int userId) throws RemoteException {
             final int pid = Binder.getCallingPid();
             final int uid = Binder.getCallingUid();
@@ -1661,15 +1670,26 @@
         }
 
         @Override
-        public void setRemoteVolumeController(IRemoteVolumeController rvc) {
+        public void registerRemoteVolumeController(IRemoteVolumeController rvc) {
             final int pid = Binder.getCallingPid();
             final int uid = Binder.getCallingUid();
             final long token = Binder.clearCallingIdentity();
             try {
-                enforceSystemUiPermission("listen for volume changes", pid, uid);
-                synchronized (mLock) {
-                    mRvc = rvc;
-                }
+                enforceStatusBarServicePermission("listen for volume changes", pid, uid);
+                mRemoteVolumeControllers.register(rvc);
+            } finally {
+                Binder.restoreCallingIdentity(token);
+            }
+        }
+
+        @Override
+        public void unregisterRemoteVolumeController(IRemoteVolumeController rvc) {
+            final int pid = Binder.getCallingPid();
+            final int uid = Binder.getCallingUid();
+            final long token = Binder.clearCallingIdentity();
+            try {
+                enforceStatusBarServicePermission("listen for volume changes", pid, uid);
+                mRemoteVolumeControllers.unregister(rvc);
             } finally {
                 Binder.restoreCallingIdentity(token);
             }
@@ -1755,8 +1775,8 @@
 
         private boolean hasMediaControlPermission(int resolvedUserId, String packageName,
                 int pid, int uid) throws RemoteException {
-            // Allow API calls from the System UI
-            if (isCurrentVolumeController(pid, uid)) {
+            // Allow API calls from the System UI and Settings
+            if (hasStatusBarServicePermission(pid, uid)) {
                 return true;
             }
 
diff --git a/services/core/java/com/android/server/media/MediaSessionStack.java b/services/core/java/com/android/server/media/MediaSessionStack.java
index 9ba50ee..a5e7d8e 100644
--- a/services/core/java/com/android/server/media/MediaSessionStack.java
+++ b/services/core/java/com/android/server/media/MediaSessionStack.java
@@ -144,7 +144,7 @@
      */
     public MediaSessionRecord getMediaSessionRecord(MediaSession.Token sessionToken) {
         for (MediaSessionRecord record : mSessions) {
-            if (Objects.equals(record.getControllerLink(), sessionToken.getControllerLink())) {
+            if (Objects.equals(record.getControllerBinder(), sessionToken.getBinder())) {
                 return record;
             }
         }
diff --git a/services/core/java/com/android/server/media/OWNERS b/services/core/java/com/android/server/media/OWNERS
index 8adea0e..4bc9373 100644
--- a/services/core/java/com/android/server/media/OWNERS
+++ b/services/core/java/com/android/server/media/OWNERS
@@ -1,4 +1,6 @@
-lajos@google.com
 elaurent@google.com
-sungsoo@google.com
+hdmoon@google.com
+insun@google.com
 jaewan@google.com
+lajos@google.com
+sungsoo@google.com
diff --git a/services/core/java/com/android/server/net/OWNERS b/services/core/java/com/android/server/net/OWNERS
index 2e91f99..28ae6a4 100644
--- a/services/core/java/com/android/server/net/OWNERS
+++ b/services/core/java/com/android/server/net/OWNERS
@@ -1,12 +1,11 @@
 set noparent
 
 codewiz@google.com
-ek@google.com
 jchalard@google.com
 jsharkey@android.com
+junyulai@google.com
 lorenzo@google.com
 reminv@google.com
 satk@google.com
-silberst@google.com
 sudheersai@google.com
 yamasani@google.com
diff --git a/services/core/java/com/android/server/notification/ConditionProviders.java b/services/core/java/com/android/server/notification/ConditionProviders.java
index 41f2cc5..64477a5 100644
--- a/services/core/java/com/android/server/notification/ConditionProviders.java
+++ b/services/core/java/com/android/server/notification/ConditionProviders.java
@@ -192,6 +192,11 @@
         return true;
     }
 
+    @Override
+    protected String getRequiredPermission() {
+        return null;
+    }
+
     public ManagedServiceInfo checkServiceToken(IConditionProvider provider) {
         synchronized(mMutex) {
             return checkServiceTokenLocked(provider);
diff --git a/services/core/java/com/android/server/notification/ManagedServices.java b/services/core/java/com/android/server/notification/ManagedServices.java
index cf09b8f..0c0c23a 100644
--- a/services/core/java/com/android/server/notification/ManagedServices.java
+++ b/services/core/java/com/android/server/notification/ManagedServices.java
@@ -64,6 +64,7 @@
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.XmlUtils;
+import com.android.internal.util.function.TriPredicate;
 import com.android.server.notification.NotificationManagerService.DumpFilter;
 
 import org.xmlpull.v1.XmlPullParser;
@@ -333,6 +334,7 @@
                         out.attribute(null, ATT_APPROVED_LIST, allowedItems);
                         out.attribute(null, ATT_USER_ID, Integer.toString(approvedUserId));
                         out.attribute(null, ATT_IS_PRIMARY, Boolean.toString(isPrimary));
+                        writeExtraAttributes(out, approvedUserId);
                         out.endTag(null, TAG_MANAGED_SERVICES);
 
                         if (!forBackup && isPrimary) {
@@ -345,17 +347,21 @@
                 }
             }
         }
-
         out.endTag(null, getConfig().xmlTag);
     }
 
+    /**
+     * Writes extra xml attributes to {@link #TAG_MANAGED_SERVICES} tag.
+     */
+    protected void writeExtraAttributes(XmlSerializer out, int userId) throws IOException {}
+
     protected void migrateToXml() {
         loadAllowedComponentsFromSettings();
     }
 
     public void readXml(
             XmlPullParser parser,
-            Predicate<String> allowedManagedServicePackages,
+            TriPredicate<String, Integer, String> allowedManagedServicePackages,
             boolean forRestore,
             int userId)
             throws XmlPullParserException, IOException {
@@ -377,9 +383,9 @@
                             ? userId : XmlUtils.readIntAttribute(parser, ATT_USER_ID, 0);
                     final boolean isPrimary =
                             XmlUtils.readBooleanAttribute(parser, ATT_IS_PRIMARY, true);
-
-                    if (allowedManagedServicePackages == null ||
-                            allowedManagedServicePackages.test(getPackageName(approved))) {
+                    readExtraAttributes(tag, parser, resolvedUserId);
+                    if (allowedManagedServicePackages == null || allowedManagedServicePackages.test(
+                            getPackageName(approved), resolvedUserId, getRequiredPermission())) {
                         if (mUm.getUserInfo(resolvedUserId) != null) {
                             addApprovedList(approved, resolvedUserId, isPrimary);
                         }
@@ -391,6 +397,14 @@
         rebindServices(false, USER_ALL);
     }
 
+    /**
+     * Read extra attributes in the {@link #TAG_MANAGED_SERVICES} tag.
+     */
+    protected void readExtraAttributes(String tag, XmlPullParser parser, int userId)
+            throws IOException {}
+
+    protected abstract String getRequiredPermission();
+
     private void loadAllowedComponentsFromSettings() {
         for (UserInfo user : mUm.getUsers()) {
             final ContentResolver cr = mContext.getContentResolver();
@@ -1098,7 +1112,7 @@
                             binder.linkToDeath(info, 0);
                             added = mServices.add(info);
                         } catch (RemoteException e) {
-                            // already dead
+                            Slog.e(TAG, "Failed to linkToDeath, already dead", e);
                         }
                     }
                     if (added) {
@@ -1130,6 +1144,11 @@
                         }
                     }
                 }
+
+                @Override
+                public void onNullBinding(ComponentName name) {
+                    Slog.v(TAG, "onNullBinding() called with: name = [" + name + "]");
+                }
             };
             if (!mContext.bindServiceAsUser(intent,
                     serviceConnection,
diff --git a/services/core/java/com/android/server/notification/NotificationManagerService.java b/services/core/java/com/android/server/notification/NotificationManagerService.java
index e8c402c..4a215cf 100644
--- a/services/core/java/com/android/server/notification/NotificationManagerService.java
+++ b/services/core/java/com/android/server/notification/NotificationManagerService.java
@@ -153,6 +153,7 @@
 import android.os.UserHandle;
 import android.os.VibrationEffect;
 import android.os.Vibrator;
+import android.provider.DeviceConfig;
 import android.provider.Settings;
 import android.service.notification.Adjustment;
 import android.service.notification.Condition;
@@ -190,6 +191,7 @@
 import com.android.internal.R;
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
 import com.android.internal.logging.MetricsLogger;
 import com.android.internal.logging.nano.MetricsProto;
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
@@ -203,6 +205,7 @@
 import com.android.internal.util.FastXmlSerializer;
 import com.android.internal.util.Preconditions;
 import com.android.internal.util.XmlUtils;
+import com.android.internal.util.function.TriPredicate;
 import com.android.server.DeviceIdleController;
 import com.android.server.EventLogTags;
 import com.android.server.IoThread;
@@ -248,7 +251,6 @@
 import java.util.Set;
 import java.util.concurrent.TimeUnit;
 import java.util.function.BiConsumer;
-import java.util.function.Predicate;
 
 /** {@hide} */
 public class NotificationManagerService extends SystemService {
@@ -430,7 +432,7 @@
     private boolean mIsAutomotive;
 
     private MetricsLogger mMetricsLogger;
-    private Predicate<String> mAllowedManagedServicePackages;
+    private TriPredicate<String, Integer, String> mAllowedManagedServicePackages;
 
     private static class Archive {
         final int mBufferSize;
@@ -515,26 +517,32 @@
             }
         }
 
-        readDefaultAssistant(userId);
+        setDefaultAssistantForUser(userId);
     }
 
-    protected void readDefaultAssistant(int userId) {
-        String defaultAssistantAccess = getContext().getResources().getString(
-                com.android.internal.R.string.config_defaultAssistantAccessPackage);
-        if (defaultAssistantAccess != null) {
-            // Gather all notification assistant components for candidate pkg. There should
-            // only be one
-            Set<ComponentName> approvedAssistants =
-                    mAssistants.queryPackageForServices(defaultAssistantAccess,
-                            MATCH_DIRECT_BOOT_AWARE
-                                    | MATCH_DIRECT_BOOT_UNAWARE, userId);
-            for (ComponentName cn : approvedAssistants) {
-                try {
-                    getBinderService().setNotificationAssistantAccessGrantedForUser(
-                            cn, userId, true);
-                } catch (RemoteException e) {
-                    e.printStackTrace();
-                }
+    protected void setDefaultAssistantForUser(int userId) {
+        List<ComponentName> validAssistants = new ArrayList<>(
+                mAssistants.queryPackageForServices(
+                        null, MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE, userId));
+
+        List<String> candidateStrs = new ArrayList<>();
+        candidateStrs.add(DeviceConfig.getProperty(
+                DeviceConfig.NAMESPACE_SYSTEMUI,
+                SystemUiDeviceConfigFlags.NAS_DEFAULT_SERVICE));
+        candidateStrs.add(getContext().getResources().getString(
+                com.android.internal.R.string.config_defaultAssistantAccessComponent));
+
+        for (String candidateStr : candidateStrs) {
+            if (TextUtils.isEmpty(candidateStr)) {
+                continue;
+            }
+            ComponentName candidate = ComponentName.unflattenFromString(candidateStr);
+            if (candidate != null && validAssistants.contains(candidate)) {
+                setNotificationAssistantAccessGrantedForUserInternal(candidate, userId, true);
+                Slog.d(TAG, String.format("Set default NAS to be %s in %d", candidateStr, userId));
+                return;
+            } else {
+                Slog.w(TAG, "Invalid default NAS config is found: " + candidateStr);
             }
         }
     }
@@ -594,6 +602,8 @@
             mConditionProviders.migrateToXml();
             handleSavePolicyFile();
         }
+
+        mAssistants.resetDefaultAssistantsIfNecessary();
     }
 
     private void loadPolicyFile() {
@@ -748,7 +758,7 @@
             synchronized (mNotificationLock) {
                 NotificationRecord r = mNotificationsByKey.get(key);
                 if (r == null) {
-                    Log.w(TAG, "No notification with key: " + key);
+                    Slog.w(TAG, "No notification with key: " + key);
                     return;
                 }
                 final long now = System.currentTimeMillis();
@@ -778,7 +788,7 @@
             synchronized (mNotificationLock) {
                 NotificationRecord r = mNotificationsByKey.get(key);
                 if (r == null) {
-                    Log.w(TAG, "No notification with key: " + key);
+                    Slog.w(TAG, "No notification with key: " + key);
                     return;
                 }
                 final long now = System.currentTimeMillis();
@@ -1740,6 +1750,21 @@
         publishLocalService(NotificationManagerInternal.class, mInternalService);
     }
 
+    private void registerDeviceConfigChange() {
+        DeviceConfig.addOnPropertyChangedListener(
+                DeviceConfig.NAMESPACE_SYSTEMUI,
+                getContext().getMainExecutor(),
+                (namespace, name, value) -> {
+                    if (!DeviceConfig.NAMESPACE_SYSTEMUI.equals(namespace)) {
+                        return;
+                    }
+                    if (SystemUiDeviceConfigFlags.NAS_DEFAULT_SERVICE.equals(name)) {
+                        mAssistants.resetDefaultAssistantsIfNecessary();
+                    }
+                });
+    }
+
+
     private GroupHelper getGroupHelper() {
         mAutoGroupAtCount =
                 getContext().getResources().getInteger(R.integer.config_autoGroupAtCount);
@@ -1803,6 +1828,7 @@
             mListeners.onBootPhaseAppsCanStart();
             mAssistants.onBootPhaseAppsCanStart();
             mConditionProviders.onBootPhaseAppsCanStart();
+            registerDeviceConfigChange();
         }
     }
 
@@ -2450,29 +2476,27 @@
             checkCallerIsSameApp(callingPkg);
             final int callingUid = Binder.getCallingUid();
             UserHandle user = UserHandle.getUserHandleForUid(callingUid);
-            try {
-                ApplicationInfo info =
-                        mPackageManager.getApplicationInfo(delegate,
-                                MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE,
-                                user.getIdentifier());
-                if (info != null) {
-                    mPreferencesHelper.setNotificationDelegate(
-                            callingPkg, callingUid, delegate, info.uid);
-                    handleSavePolicyFile();
+            if (delegate == null) {
+                mPreferencesHelper.revokeNotificationDelegate(callingPkg, Binder.getCallingUid());
+                handleSavePolicyFile();
+            } else {
+                try {
+                    ApplicationInfo info =
+                            mPackageManager.getApplicationInfo(delegate,
+                                    MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE,
+                                    user.getIdentifier());
+                    if (info != null) {
+                        mPreferencesHelper.setNotificationDelegate(
+                                callingPkg, callingUid, delegate, info.uid);
+                        handleSavePolicyFile();
+                    }
+                } catch (RemoteException e) {
+                    e.rethrowFromSystemServer();
                 }
-            } catch (RemoteException e) {
-                // :(
             }
         }
 
         @Override
-        public void revokeNotificationDelegate(String callingPkg) {
-            checkCallerIsSameApp(callingPkg);
-            mPreferencesHelper.revokeNotificationDelegate(callingPkg, Binder.getCallingUid());
-            handleSavePolicyFile();
-        }
-
-        @Override
         public String getNotificationDelegate(String callingPkg) {
             // callable by Settings also
             checkCallerIsSystemOrSameApp(callingPkg);
@@ -2480,15 +2504,20 @@
         }
 
         @Override
-        public boolean canNotifyAsPackage(String callingPkg, String targetPkg) {
+        public boolean canNotifyAsPackage(String callingPkg, String targetPkg, int userId) {
             checkCallerIsSameApp(callingPkg);
             final int callingUid = Binder.getCallingUid();
             UserHandle user = UserHandle.getUserHandleForUid(callingUid);
+            if (user.getIdentifier() != userId) {
+                getContext().enforceCallingPermission(
+                        android.Manifest.permission.INTERACT_ACROSS_USERS,
+                        "canNotifyAsPackage for user " + userId);
+            }
             try {
                 ApplicationInfo info =
                         mPackageManager.getApplicationInfo(targetPkg,
                                 MATCH_DIRECT_BOOT_AWARE | MATCH_DIRECT_BOOT_UNAWARE,
-                                user.getIdentifier());
+                                userId);
                 if (info != null) {
                     return mPreferencesHelper.isDelegateAllowed(
                             targetPkg, info.uid, callingPkg, callingUid);
@@ -3108,7 +3137,7 @@
                 synchronized (mNotificationLock) {
                     final ManagedServiceInfo info = mListeners.checkServiceTokenLocked(token);
                     if (info.supportsProfiles()) {
-                        Log.e(TAG, "Ignoring deprecated cancelNotification(pkg, tag, id) "
+                        Slog.e(TAG, "Ignoring deprecated cancelNotification(pkg, tag, id) "
                                 + "from " + info.component
                                 + " use cancelNotification(key) instead.");
                     } else {
@@ -3588,7 +3617,8 @@
             checkCallerIsSystemOrShell();
             final long identity = Binder.clearCallingIdentity();
             try {
-                if (mAllowedManagedServicePackages.test(pkg)) {
+                if (mAllowedManagedServicePackages.test(
+                        pkg, userId, mConditionProviders.getRequiredPermission())) {
                     mConditionProviders.setPackageOrComponentEnabled(
                             pkg, userId, true, granted);
 
@@ -3733,19 +3763,20 @@
 
         @Override
         public void setNotificationAssistantAccessGranted(ComponentName assistant,
-                boolean granted) throws RemoteException {
+                boolean granted) {
             setNotificationAssistantAccessGrantedForUser(
                     assistant, getCallingUserHandle().getIdentifier(), granted);
         }
 
         @Override
         public void setNotificationListenerAccessGrantedForUser(ComponentName listener, int userId,
-                boolean granted) throws RemoteException {
+                boolean granted) {
             Preconditions.checkNotNull(listener);
             checkCallerIsSystemOrShell();
             final long identity = Binder.clearCallingIdentity();
             try {
-                if (mAllowedManagedServicePackages.test(listener.getPackageName())) {
+                if (mAllowedManagedServicePackages.test(
+                        listener.getPackageName(), userId, mListeners.getRequiredPermission())) {
                     mConditionProviders.setPackageOrComponentEnabled(listener.flattenToString(),
                             userId, false, granted);
                     mListeners.setPackageOrComponentEnabled(listener.flattenToString(),
@@ -3766,32 +3797,12 @@
 
         @Override
         public void setNotificationAssistantAccessGrantedForUser(ComponentName assistant,
-                int userId, boolean granted) throws RemoteException {
+                int userId, boolean granted) {
             checkCallerIsSystemOrShell();
-            if (assistant == null) {
-                ComponentName allowedAssistant = CollectionUtils.firstOrNull(
-                        mAssistants.getAllowedComponents(userId));
-                if (allowedAssistant != null) {
-                    setNotificationAssistantAccessGrantedForUser(allowedAssistant, userId, false);
-                }
-                return;
-            }
+            mAssistants.setUserSet(userId, true);
             final long identity = Binder.clearCallingIdentity();
             try {
-                if (mAllowedManagedServicePackages.test(assistant.getPackageName())) {
-                    mConditionProviders.setPackageOrComponentEnabled(assistant.flattenToString(),
-                            userId, false, granted);
-                    mAssistants.setPackageOrComponentEnabled(assistant.flattenToString(),
-                            userId, true, granted);
-
-                    getContext().sendBroadcastAsUser(new Intent(
-                            NotificationManager.ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED)
-                                    .setPackage(assistant.getPackageName())
-                                    .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY),
-                            UserHandle.of(userId), null);
-
-                    handleSavePolicyFile();
-                }
+                setNotificationAssistantAccessGrantedForUserInternal(assistant, userId, granted);
             } finally {
                 Binder.restoreCallingIdentity(identity);
             }
@@ -4004,6 +4015,35 @@
         }
     };
 
+    @VisibleForTesting
+    protected void setNotificationAssistantAccessGrantedForUserInternal(
+            ComponentName assistant, int userId, boolean granted) {
+        if (assistant == null) {
+            ComponentName allowedAssistant = CollectionUtils.firstOrNull(
+                    mAssistants.getAllowedComponents(userId));
+            if (allowedAssistant != null) {
+                setNotificationAssistantAccessGrantedForUserInternal(
+                        allowedAssistant, userId, false);
+            }
+            return;
+        }
+        if (mAllowedManagedServicePackages.test(assistant.getPackageName(), userId,
+                mAssistants.getRequiredPermission())) {
+            mConditionProviders.setPackageOrComponentEnabled(assistant.flattenToString(),
+                    userId, false, granted);
+            mAssistants.setPackageOrComponentEnabled(assistant.flattenToString(),
+                    userId, true, granted);
+
+            getContext().sendBroadcastAsUser(new Intent(
+                            NotificationManager.ACTION_NOTIFICATION_POLICY_ACCESS_GRANTED_CHANGED)
+                            .setPackage(assistant.getPackageName())
+                            .addFlags(Intent.FLAG_RECEIVER_REGISTERED_ONLY),
+                    UserHandle.of(userId), null);
+
+            handleSavePolicyFile();
+        }
+    }
+
     private void applyAdjustment(NotificationRecord r, Adjustment adjustment) {
         if (r == null) {
             return;
@@ -4517,7 +4557,7 @@
                     + ", incomingUserId=" + incomingUserId
                     + ", notificationUid=" + notificationUid
                     + ", notification=" + notification;
-            Log.e(TAG, noChannelStr);
+            Slog.e(TAG, noChannelStr);
             boolean appNotificationsOff = mPreferencesHelper.getImportance(pkg, notificationUid)
                     == NotificationManager.IMPORTANCE_NONE;
 
@@ -4614,7 +4654,7 @@
                     android.Manifest.permission.USE_FULL_SCREEN_INTENT, pkg);
             if (fullscreenIntentPermission != PERMISSION_GRANTED) {
                 notification.fullScreenIntent = null;
-                Log.w(TAG, "Package " + pkg +
+                Slog.w(TAG, "Package " + pkg +
                         ": Use of fullScreenIntent requires the USE_FULL_SCREEN_INTENT permission");
             }
         }
@@ -5143,7 +5183,7 @@
         // Ignore summary updates because we don't display most of the information.
         if (r.sbn.isGroup() && r.sbn.getNotification().isGroupSummary()) {
             if (DEBUG_INTERRUPTIVENESS) {
-                Log.v(TAG, "INTERRUPTIVENESS: "
+                Slog.v(TAG, "INTERRUPTIVENESS: "
                         +  r.getKey() + " is not interruptive: summary");
             }
             return false;
@@ -5151,7 +5191,7 @@
 
         if (old == null) {
             if (DEBUG_INTERRUPTIVENESS) {
-                Log.v(TAG, "INTERRUPTIVENESS: "
+                Slog.v(TAG, "INTERRUPTIVENESS: "
                         +  r.getKey() + " is interruptive: new notification");
             }
             return true;
@@ -5159,7 +5199,7 @@
 
         if (r == null) {
             if (DEBUG_INTERRUPTIVENESS) {
-                Log.v(TAG, "INTERRUPTIVENESS: "
+                Slog.v(TAG, "INTERRUPTIVENESS: "
                         +  r.getKey() + " is not interruptive: null");
             }
             return false;
@@ -5170,7 +5210,7 @@
 
         if (oldN.extras == null || newN.extras == null) {
             if (DEBUG_INTERRUPTIVENESS) {
-                Log.v(TAG, "INTERRUPTIVENESS: "
+                Slog.v(TAG, "INTERRUPTIVENESS: "
                         +  r.getKey() + " is not interruptive: no extras");
             }
             return false;
@@ -5180,7 +5220,7 @@
         // consider them one 'session'. Count them for everything else.
         if ((r.sbn.getNotification().flags & FLAG_FOREGROUND_SERVICE) != 0) {
             if (DEBUG_INTERRUPTIVENESS) {
-                Log.v(TAG, "INTERRUPTIVENESS: "
+                Slog.v(TAG, "INTERRUPTIVENESS: "
                         +  r.getKey() + " is not interruptive: foreground service");
             }
             return false;
@@ -5190,11 +5230,11 @@
         final String newTitle = String.valueOf(newN.extras.get(Notification.EXTRA_TITLE));
         if (!Objects.equals(oldTitle, newTitle)) {
             if (DEBUG_INTERRUPTIVENESS) {
-                Log.v(TAG, "INTERRUPTIVENESS: "
+                Slog.v(TAG, "INTERRUPTIVENESS: "
                         +  r.getKey() + " is interruptive: changed title");
-                Log.v(TAG, "INTERRUPTIVENESS: " + String.format("   old title: %s (%s@0x%08x)",
+                Slog.v(TAG, "INTERRUPTIVENESS: " + String.format("   old title: %s (%s@0x%08x)",
                         oldTitle, oldTitle.getClass(), oldTitle.hashCode()));
-                Log.v(TAG, "INTERRUPTIVENESS: " + String.format("   new title: %s (%s@0x%08x)",
+                Slog.v(TAG, "INTERRUPTIVENESS: " + String.format("   new title: %s (%s@0x%08x)",
                         newTitle, newTitle.getClass(), newTitle.hashCode()));
             }
             return true;
@@ -5204,18 +5244,18 @@
         final String newText = String.valueOf(newN.extras.get(Notification.EXTRA_TEXT));
         if (!Objects.equals(oldText, newText)) {
             if (DEBUG_INTERRUPTIVENESS) {
-                Log.v(TAG, "INTERRUPTIVENESS: "
+                Slog.v(TAG, "INTERRUPTIVENESS: "
                         + r.getKey() + " is interruptive: changed text");
-                Log.v(TAG, "INTERRUPTIVENESS: " + String.format("   old text: %s (%s@0x%08x)",
+                Slog.v(TAG, "INTERRUPTIVENESS: " + String.format("   old text: %s (%s@0x%08x)",
                         oldText, oldText.getClass(), oldText.hashCode()));
-                Log.v(TAG, "INTERRUPTIVENESS: " + String.format("   new text: %s (%s@0x%08x)",
+                Slog.v(TAG, "INTERRUPTIVENESS: " + String.format("   new text: %s (%s@0x%08x)",
                         newText, newText.getClass(), newText.hashCode()));
             }
             return true;
         }
         if (oldN.hasCompletedProgress() != newN.hasCompletedProgress()) {
             if (DEBUG_INTERRUPTIVENESS) {
-                Log.v(TAG, "INTERRUPTIVENESS: "
+                Slog.v(TAG, "INTERRUPTIVENESS: "
                     +  r.getKey() + " is interruptive: completed progress");
             }
             return true;
@@ -5223,7 +5263,7 @@
         // Actions
         if (Notification.areActionsVisiblyDifferent(oldN, newN)) {
             if (DEBUG_INTERRUPTIVENESS) {
-                Log.v(TAG, "INTERRUPTIVENESS: "
+                Slog.v(TAG, "INTERRUPTIVENESS: "
                         +  r.getKey() + " is interruptive: changed actions");
             }
             return true;
@@ -5236,7 +5276,7 @@
             // Style based comparisons
             if (Notification.areStyledNotificationsVisiblyDifferent(oldB, newB)) {
                 if (DEBUG_INTERRUPTIVENESS) {
-                    Log.v(TAG, "INTERRUPTIVENESS: "
+                    Slog.v(TAG, "INTERRUPTIVENESS: "
                             +  r.getKey() + " is interruptive: styles differ");
                 }
                 return true;
@@ -5245,7 +5285,7 @@
             // Remote views
             if (Notification.areRemoteViewsChanged(oldB, newB)) {
                 if (DEBUG_INTERRUPTIVENESS) {
-                    Log.v(TAG, "INTERRUPTIVENESS: "
+                    Slog.v(TAG, "INTERRUPTIVENESS: "
                             +  r.getKey() + " is interruptive: remoteviews differ");
                 }
                 return true;
@@ -5474,12 +5514,12 @@
             // Ignore summary updates because we don't display most of the information.
             if (record.sbn.isGroup() && record.sbn.getNotification().isGroupSummary()) {
                 if (DEBUG_INTERRUPTIVENESS) {
-                    Log.v(TAG, "INTERRUPTIVENESS: "
+                    Slog.v(TAG, "INTERRUPTIVENESS: "
                             + record.getKey() + " is not interruptive: summary");
                 }
             } else {
                 if (DEBUG_INTERRUPTIVENESS) {
-                    Log.v(TAG, "INTERRUPTIVENESS: "
+                    Slog.v(TAG, "INTERRUPTIVENESS: "
                             + record.getKey() + " is interruptive: alerted");
                 }
                 record.setInterruptive(true);
@@ -6567,7 +6607,7 @@
         String pkg = r.sbn.getPackageName();
 
         if (pkg == null) {
-            if (DBG) Log.e(TAG, "No package for group summary: " + r.getKey());
+            if (DBG) Slog.e(TAG, "No package for group summary: " + r.getKey());
             return;
         }
 
@@ -6826,7 +6866,7 @@
                 return;
             }
         } catch (RemoteException re) {
-            if (DBG) Log.e(TAG, "Unable to confirm if it's safe to skip category "
+            if (DBG) Slog.e(TAG, "Unable to confirm if it's safe to skip category "
                     + "restrictions check thus the check will be done anyway");
         }
         if (Notification.CATEGORY_CAR_EMERGENCY.equals(notification.category)
@@ -7050,7 +7090,7 @@
     }
 
     @VisibleForTesting
-    boolean canUseManagedServices(String pkg) {
+    boolean canUseManagedServices(String pkg, Integer userId, String requiredPermission) {
         boolean canUseManagedServices = !mActivityManager.isLowRamDevice()
                 || mPackageManagerClient.hasSystemFeature(PackageManager.FEATURE_WATCH);
 
@@ -7061,6 +7101,17 @@
             }
         }
 
+        if (requiredPermission != null) {
+            try {
+                if (mPackageManager.checkPermission(requiredPermission, pkg, userId)
+                    != PackageManager.PERMISSION_GRANTED) {
+                    canUseManagedServices = false;
+                }
+            } catch (RemoteException e) {
+                Slog.e(TAG, "can't talk to pm", e);
+            }
+        }
+
         return canUseManagedServices;
     }
 
@@ -7091,6 +7142,13 @@
     public class NotificationAssistants extends ManagedServices {
         static final String TAG_ENABLED_NOTIFICATION_ASSISTANTS = "enabled_assistants";
 
+        private static final String ATT_USER_SET = "user_set";
+
+        private final Object mLock = new Object();
+
+        @GuardedBy("mLock")
+        private ArrayMap<Integer, Boolean> mUserSetMap = new ArrayMap<>();
+
         public NotificationAssistants(Context context, Object lock, UserProfiles up,
                 IPackageManager pm) {
             super(context, lock, up, pm);
@@ -7138,6 +7196,12 @@
             rebindServices(true, user);
         }
 
+        @Override
+        protected String getRequiredPermission() {
+            // only signature/privileged apps can be bound.
+            return android.Manifest.permission.REQUEST_NOTIFICATION_ASSISTANT_SERVICE;
+        }
+
         protected void onNotificationsSeenLocked(ArrayList<NotificationRecord> records) {
             // There should be only one, but it's a list, so while we enforce
             // singularity elsewhere, we keep it general here, to avoid surprises.
@@ -7157,27 +7221,59 @@
             }
         }
 
+        boolean hasUserSet(int userId) {
+            synchronized (mLock) {
+                return mUserSetMap.getOrDefault(userId, false);
+            }
+        }
+
+        void setUserSet(int userId, boolean set) {
+            synchronized (mLock) {
+                mUserSetMap.put(userId, set);
+            }
+        }
+
+        @Override
+        protected void writeExtraAttributes(XmlSerializer out, int userId) throws IOException {
+            out.attribute(null, ATT_USER_SET, Boolean.toString(hasUserSet(userId)));
+        }
+
+        @Override
+        protected void readExtraAttributes(String tag, XmlPullParser parser, int userId)
+                throws IOException {
+            boolean userSet = XmlUtils.readBooleanAttribute(parser, ATT_USER_SET, false);
+            setUserSet(userId, userSet);
+        }
+
         private void notifySeen(final ManagedServiceInfo info,
                 final ArrayList<String> keys) {
             final INotificationListener assistant = (INotificationListener) info.service;
             try {
                 assistant.onNotificationsSeen(keys);
             } catch (RemoteException ex) {
-                Log.e(TAG, "unable to notify assistant (seen): " + assistant, ex);
+                Slog.e(TAG, "unable to notify assistant (seen): " + assistant, ex);
             }
         }
 
         @GuardedBy("mNotificationLock")
         private void onNotificationEnqueuedLocked(final NotificationRecord r) {
+            final boolean debug = isVerboseLogEnabled();
+            if (debug) {
+                Slog.v(TAG, "onNotificationEnqueuedLocked() called with: r = [" + r + "]");
+            }
             final StatusBarNotification sbn = r.sbn;
             notifyAssistantLocked(
                     sbn,
                     true /* sameUserOnly */,
                     (assistant, sbnHolder) -> {
                         try {
+                            if (debug) {
+                                Slog.v(TAG,
+                                        "calling onNotificationEnqueuedWithChannel " + sbnHolder);
+                            }
                             assistant.onNotificationEnqueuedWithChannel(sbnHolder, r.getChannel());
                         } catch (RemoteException ex) {
-                            Log.e(TAG, "unable to notify assistant (enqueued): " + assistant, ex);
+                            Slog.e(TAG, "unable to notify assistant (enqueued): " + assistant, ex);
                         }
                     });
         }
@@ -7195,7 +7291,7 @@
                         try {
                             assistant.onNotificationExpansionChanged(key, isUserAction, isExpanded);
                         } catch (RemoteException ex) {
-                            Log.e(TAG, "unable to notify assistant (expanded): " + assistant, ex);
+                            Slog.e(TAG, "unable to notify assistant (expanded): " + assistant, ex);
                         }
                     });
         }
@@ -7211,7 +7307,7 @@
                         try {
                             assistant.onNotificationDirectReply(key);
                         } catch (RemoteException ex) {
-                            Log.e(TAG, "unable to notify assistant (expanded): " + assistant, ex);
+                            Slog.e(TAG, "unable to notify assistant (expanded): " + assistant, ex);
                         }
                     });
         }
@@ -7232,7 +7328,7 @@
                                             ? NotificationAssistantService.SOURCE_FROM_ASSISTANT
                                             : NotificationAssistantService.SOURCE_FROM_APP);
                         } catch (RemoteException ex) {
-                            Log.e(TAG, "unable to notify assistant (snoozed): " + assistant, ex);
+                            Slog.e(TAG, "unable to notify assistant (snoozed): " + assistant, ex);
                         }
                     });
         }
@@ -7254,7 +7350,7 @@
                                             ? NotificationAssistantService.SOURCE_FROM_ASSISTANT
                                             : NotificationAssistantService.SOURCE_FROM_APP);
                         } catch (RemoteException ex) {
-                            Log.e(TAG, "unable to notify assistant (snoozed): " + assistant, ex);
+                            Slog.e(TAG, "unable to notify assistant (snoozed): " + assistant, ex);
                         }
                     });
         }
@@ -7274,7 +7370,7 @@
                             assistant.onNotificationSnoozedUntilContext(
                                     sbnHolder, snoozeCriterionId);
                         } catch (RemoteException ex) {
-                            Log.e(TAG, "unable to notify assistant (snoozed): " + assistant, ex);
+                            Slog.e(TAG, "unable to notify assistant (snoozed): " + assistant, ex);
                         }
                     });
         }
@@ -7296,9 +7392,19 @@
             TrimCache trimCache = new TrimCache(sbn);
             // There should be only one, but it's a list, so while we enforce
             // singularity elsewhere, we keep it general here, to avoid surprises.
+
+            final boolean debug = isVerboseLogEnabled();
+            if (debug) {
+                Slog.v(TAG,
+                        "notifyAssistantLocked() called with: sbn = [" + sbn + "], sameUserOnly = ["
+                                + sameUserOnly + "], callback = [" + callback + "]");
+            }
             for (final ManagedServiceInfo info : NotificationAssistants.this.getServices()) {
                 boolean sbnVisible = isVisibleToListener(sbn, info)
                         && (!sameUserOnly || info.isSameUser(sbn.getUserId()));
+                if (debug) {
+                    Slog.v(TAG, "notifyAssistantLocked info=" + info + " snbVisible=" + sbnVisible);
+                }
                 if (!sbnVisible) {
                     continue;
                 }
@@ -7314,13 +7420,13 @@
             return !getServices().isEmpty();
         }
 
-        protected void ensureAssistant() {
+        protected void resetDefaultAssistantsIfNecessary() {
             final List<UserInfo> activeUsers = mUm.getUsers(true);
             for (UserInfo userInfo : activeUsers) {
                 int userId = userInfo.getUserHandle().getIdentifier();
-                if (getAllowedPackages(userId).isEmpty()) {
+                if (!hasUserSet(userId)) {
                     Slog.d(TAG, "Approving default notification assistant for user " + userId);
-                    readDefaultAssistant(userId);
+                    setDefaultAssistantForUser(userId);
                 }
             }
         }
@@ -7334,16 +7440,28 @@
                 if (!allowedComponents.isEmpty()) {
                     ComponentName currentComponent = CollectionUtils.firstOrNull(allowedComponents);
                     if (currentComponent.flattenToString().equals(pkgOrComponent)) return;
-                    try {
-                        getBinderService().setNotificationAssistantAccessGrantedForUser(
-                                currentComponent, userId, false);
-                    } catch (RemoteException e) {
-                        e.rethrowFromSystemServer();
-                    }
+                    setNotificationAssistantAccessGrantedForUserInternal(
+                            currentComponent, userId, false);
                 }
             }
             super.setPackageOrComponentEnabled(pkgOrComponent, userId, isPrimary, enabled);
         }
+
+        @Override
+        public void dump(PrintWriter pw, DumpFilter filter) {
+            super.dump(pw, filter);
+            pw.println("    Has user set:");
+            synchronized (mLock) {
+                Set<Integer> userIds = mUserSetMap.keySet();
+                for (int userId : userIds) {
+                    pw.println("      userId=" + userId + " value=" + mUserSetMap.get(userId));
+                }
+            }
+        }
+
+        private boolean isVerboseLogEnabled() {
+            return Log.isLoggable("notification_assistant", Log.VERBOSE);
+        }
     }
 
     public class NotificationListeners extends ManagedServices {
@@ -7413,6 +7531,11 @@
             mLightTrimListeners.remove(removed);
         }
 
+        @Override
+        protected String getRequiredPermission() {
+            return null;
+        }
+
         @GuardedBy("mNotificationLock")
         public void setOnNotificationPostedTrimLocked(ManagedServiceInfo info, int trim) {
             if (trim == TRIM_LIGHT) {
@@ -7433,7 +7556,7 @@
                      try {
                         listener.onStatusBarIconsBehaviorChanged(hideSilentStatusIcons);
                     } catch (RemoteException ex) {
-                        Log.e(TAG, "unable to notify listener "
+                        Slog.e(TAG, "unable to notify listener "
                                 + "(hideSilentStatusIcons): " + listener, ex);
                     }
                 });
@@ -7727,7 +7850,7 @@
             try {
                 listener.onNotificationPosted(sbnHolder, rankingUpdate);
             } catch (RemoteException ex) {
-                Log.e(TAG, "unable to notify listener (posted): " + listener, ex);
+                Slog.e(TAG, "unable to notify listener (posted): " + listener, ex);
             }
         }
 
@@ -7741,7 +7864,7 @@
             try {
                 listener.onNotificationRemoved(sbnHolder, rankingUpdate, stats, reason);
             } catch (RemoteException ex) {
-                Log.e(TAG, "unable to notify listener (removed): " + listener, ex);
+                Slog.e(TAG, "unable to notify listener (removed): " + listener, ex);
             }
         }
 
@@ -7751,7 +7874,7 @@
             try {
                 listener.onNotificationRankingUpdate(rankingUpdate);
             } catch (RemoteException ex) {
-                Log.e(TAG, "unable to notify listener (ranking update): " + listener, ex);
+                Slog.e(TAG, "unable to notify listener (ranking update): " + listener, ex);
             }
         }
 
@@ -7760,7 +7883,7 @@
             try {
                 listener.onListenerHintsChanged(hints);
             } catch (RemoteException ex) {
-                Log.e(TAG, "unable to notify listener (listener hints): " + listener, ex);
+                Slog.e(TAG, "unable to notify listener (listener hints): " + listener, ex);
             }
         }
 
@@ -7770,7 +7893,7 @@
             try {
                 listener.onInterruptionFilterChanged(interruptionFilter);
             } catch (RemoteException ex) {
-                Log.e(TAG, "unable to notify listener (interruption filter): " + listener, ex);
+                Slog.e(TAG, "unable to notify listener (interruption filter): " + listener, ex);
             }
         }
 
@@ -7781,7 +7904,7 @@
             try {
                 listener.onNotificationChannelModification(pkg, user, channel, modificationType);
             } catch (RemoteException ex) {
-                Log.e(TAG, "unable to notify listener (channel changed): " + listener, ex);
+                Slog.e(TAG, "unable to notify listener (channel changed): " + listener, ex);
             }
         }
 
@@ -7792,7 +7915,7 @@
             try {
                 listener.onNotificationChannelGroupModification(pkg, user, group, modificationType);
             } catch (RemoteException ex) {
-                Log.e(TAG, "unable to notify listener (channel group changed): " + listener, ex);
+                Slog.e(TAG, "unable to notify listener (channel group changed): " + listener, ex);
             }
         }
 
@@ -7896,6 +8019,19 @@
     }
 
     @VisibleForTesting
+    void resetAssistantUserSet(int userId) {
+        mAssistants.setUserSet(userId, false);
+        handleSavePolicyFile();
+    }
+
+    @VisibleForTesting
+    @Nullable
+    ComponentName getApprovedAssistant(int userId) {
+        List<ComponentName> allowedComponents = mAssistants.getAllowedComponents(userId);
+        return CollectionUtils.firstOrNull(allowedComponents);
+    }
+
+    @VisibleForTesting
     protected void simulatePackageSuspendBroadcast(boolean suspend, String pkg) {
         // only use for testing: mimic receive broadcast that package is (un)suspended
         // but does not actually (un)suspend the package
diff --git a/services/core/java/com/android/server/notification/NotificationRecord.java b/services/core/java/com/android/server/notification/NotificationRecord.java
index 48818f5..d9ab132 100644
--- a/services/core/java/com/android/server/notification/NotificationRecord.java
+++ b/services/core/java/com/android/server/notification/NotificationRecord.java
@@ -149,7 +149,10 @@
     private int mImportance = IMPORTANCE_UNSPECIFIED;
     // Field used in global sort key to bypass normal notifications
     private int mCriticality = CriticalNotificationExtractor.NORMAL;
-    private CharSequence mImportanceExplanation = null;
+    // A MetricsEvent.NotificationImportanceExplanation, tracking source of mImportance.
+    private int mImportanceExplanationCode = MetricsEvent.IMPORTANCE_EXPLANATION_UNKNOWN;
+    // A MetricsEvent.NotificationImportanceExplanation for initial importance.
+    private int mInitialImportanceExplanationCode = MetricsEvent.IMPORTANCE_EXPLANATION_UNKNOWN;
 
     private int mSuppressedVisualEffects = 0;
     private String mUserExplanation;
@@ -332,14 +335,18 @@
 
     private int calculateInitialImportance() {
         final Notification n = sbn.getNotification();
-        int importance = getChannel().getImportance();
-        int requestedImportance = IMPORTANCE_DEFAULT;
+        int importance = getChannel().getImportance();  // Post-channels notifications use this
+        mInitialImportanceExplanationCode = getChannel().hasUserSetImportance()
+                ? MetricsEvent.IMPORTANCE_EXPLANATION_USER
+                : MetricsEvent.IMPORTANCE_EXPLANATION_APP;
 
-        // Migrate notification flags to scores
+        // Migrate notification priority flag to a priority value.
         if (0 != (n.flags & Notification.FLAG_HIGH_PRIORITY)) {
             n.priority = Notification.PRIORITY_MAX;
         }
 
+        // Convert priority value to an importance value, used only for pre-channels notifications.
+        int requestedImportance = IMPORTANCE_DEFAULT;
         n.priority = NotificationManagerService.clamp(n.priority, Notification.PRIORITY_MIN,
                 Notification.PRIORITY_MAX);
         switch (n.priority) {
@@ -360,10 +367,11 @@
         stats.requestedImportance = requestedImportance;
         stats.isNoisy = mSound != null || mVibration != null;
 
+        // For pre-channels notifications, apply system overrides and then use requestedImportance
+        // as importance.
         if (mPreChannelsNotification
                 && (importance == IMPORTANCE_UNSPECIFIED
-                || (getChannel().getUserLockedFields()
-                & USER_LOCKED_IMPORTANCE) == 0)) {
+                || (!getChannel().hasUserSetImportance()))) {
             if (!stats.isNoisy && requestedImportance > IMPORTANCE_LOW) {
                 requestedImportance = IMPORTANCE_LOW;
             }
@@ -378,6 +386,8 @@
                 requestedImportance = IMPORTANCE_HIGH;
             }
             importance = requestedImportance;
+            mInitialImportanceExplanationCode =
+                    MetricsEvent.IMPORTANCE_EXPLANATION_APP_PRE_CHANNELS;
         }
 
         stats.naturalImportance = importance;
@@ -540,7 +550,7 @@
                 + NotificationListenerService.Ranking.importanceToString(mAssistantImportance));
         pw.println(prefix + "mImportance="
                 + NotificationListenerService.Ranking.importanceToString(mImportance));
-        pw.println(prefix + "mImportanceExplanation=" + mImportanceExplanation);
+        pw.println(prefix + "mImportanceExplanation=" + getImportanceExplanation());
         pw.println(prefix + "mIsAppImportanceLocked=" + mIsAppImportanceLocked);
         pw.println(prefix + "mIntercept=" + mIntercept);
         pw.println(prefix + "mHidden==" + mHidden);
@@ -637,25 +647,17 @@
                     final ArrayList<String> people =
                             adjustment.getSignals().getStringArrayList(Adjustment.KEY_PEOPLE);
                     setPeopleOverride(people);
-                    MetricsLogger.action(getAdjustmentLogMaker()
-                            .addTaggedData(MetricsEvent.ADJUSTMENT_KEY_PEOPLE, people.size()));
                 }
                 if (signals.containsKey(Adjustment.KEY_SNOOZE_CRITERIA)) {
                     final ArrayList<SnoozeCriterion> snoozeCriterionList =
                             adjustment.getSignals().getParcelableArrayList(
                                     Adjustment.KEY_SNOOZE_CRITERIA);
                     setSnoozeCriteria(snoozeCriterionList);
-                    MetricsLogger.action(getAdjustmentLogMaker()
-                            .addTaggedData(MetricsEvent.ADJUSTMENT_KEY_SNOOZE_CRITERIA,
-                                    snoozeCriterionList.size()));
                 }
                 if (signals.containsKey(Adjustment.KEY_GROUP_KEY)) {
                     final String groupOverrideKey =
                             adjustment.getSignals().getString(Adjustment.KEY_GROUP_KEY);
                     setOverrideGroupKey(groupOverrideKey);
-                    MetricsLogger.action(getAdjustmentLogMaker()
-                            .addTaggedData(MetricsEvent.ADJUSTMENT_KEY_GROUP_KEY,
-                                    groupOverrideKey));
                 }
                 if (signals.containsKey(Adjustment.KEY_USER_SENTIMENT)) {
                     // Only allow user sentiment update from assistant if user hasn't already
@@ -664,32 +666,20 @@
                             && (getChannel().getUserLockedFields() & USER_LOCKED_IMPORTANCE) == 0) {
                         setUserSentiment(adjustment.getSignals().getInt(
                                 Adjustment.KEY_USER_SENTIMENT, USER_SENTIMENT_NEUTRAL));
-                        MetricsLogger.action(getAdjustmentLogMaker()
-                                .addTaggedData(MetricsEvent.ADJUSTMENT_KEY_USER_SENTIMENT,
-                                        getUserSentiment()));
                     }
                 }
                 if (signals.containsKey(Adjustment.KEY_CONTEXTUAL_ACTIONS)) {
                     setSystemGeneratedSmartActions(
                             signals.getParcelableArrayList(Adjustment.KEY_CONTEXTUAL_ACTIONS));
-                    MetricsLogger.action(getAdjustmentLogMaker()
-                            .addTaggedData(MetricsEvent.ADJUSTMENT_KEY_SMART_ACTIONS,
-                                    getSystemGeneratedSmartActions().size()));
                 }
                 if (signals.containsKey(Adjustment.KEY_TEXT_REPLIES)) {
                     setSmartReplies(signals.getCharSequenceArrayList(Adjustment.KEY_TEXT_REPLIES));
-                    MetricsLogger.action(getAdjustmentLogMaker()
-                            .addTaggedData(MetricsEvent.ADJUSTMENT_KEY_SMART_REPLIES,
-                                    getSmartReplies().size()));
                 }
                 if (signals.containsKey(Adjustment.KEY_IMPORTANCE)) {
                     int importance = signals.getInt(Adjustment.KEY_IMPORTANCE);
                     importance = Math.max(IMPORTANCE_UNSPECIFIED, importance);
                     importance = Math.min(IMPORTANCE_HIGH, importance);
                     setAssistantImportance(importance);
-                    MetricsLogger.action(getAdjustmentLogMaker()
-                            .addTaggedData(MetricsEvent.ADJUSTMENT_KEY_IMPORTANCE,
-                                    importance));
                 }
             }
             // We have now gotten all the information out of the adjustments and can forget them.
@@ -780,23 +770,23 @@
     }
 
     /**
-     * Recalculates the importance of the record after fields affecting importance have changed
+     * Recalculates the importance of the record after fields affecting importance have changed,
+     * and records an explanation.
      */
     protected void calculateImportance() {
         mImportance = calculateInitialImportance();
-        mImportanceExplanation = "app";
-        if (getChannel().hasUserSetImportance()) {
-            mImportanceExplanation = "user";
-        }
+        mImportanceExplanationCode = mInitialImportanceExplanationCode;
+
+        // Consider Notification Assistant and system overrides to importance. If both, system wins.
         if (!getChannel().hasUserSetImportance()
                 && mAssistantImportance != IMPORTANCE_UNSPECIFIED
                 && !getChannel().isImportanceLockedByOEM()) {
             mImportance = mAssistantImportance;
-            mImportanceExplanation = "asst";
+            mImportanceExplanationCode = MetricsEvent.IMPORTANCE_EXPLANATION_ASST;
         }
         if (mSystemImportance != IMPORTANCE_UNSPECIFIED) {
             mImportance = mSystemImportance;
-            mImportanceExplanation = "system";
+            mImportanceExplanationCode = MetricsEvent.IMPORTANCE_EXPLANATION_SYSTEM;
         }
     }
 
@@ -805,7 +795,20 @@
     }
 
     public CharSequence getImportanceExplanation() {
-        return mImportanceExplanation;
+        switch (mImportanceExplanationCode) {
+            case MetricsEvent.IMPORTANCE_EXPLANATION_UNKNOWN:
+                return null;
+            case MetricsEvent.IMPORTANCE_EXPLANATION_APP:
+            case MetricsEvent.IMPORTANCE_EXPLANATION_APP_PRE_CHANNELS:
+                return "app";
+            case MetricsEvent.IMPORTANCE_EXPLANATION_USER:
+                return "user";
+            case MetricsEvent.IMPORTANCE_EXPLANATION_ASST:
+                return "asst";
+            case MetricsEvent.IMPORTANCE_EXPLANATION_SYSTEM:
+                return "system";
+        }
+        return null;
     }
 
     public boolean setIntercepted(boolean intercept) {
@@ -1262,14 +1265,37 @@
     }
 
     public LogMaker getLogMaker(long now) {
-        return sbn.getLogMaker()
-                .clearTaggedData(MetricsEvent.NOTIFICATION_SHADE_INDEX)
+        LogMaker lm = sbn.getLogMaker()
                 .addTaggedData(MetricsEvent.FIELD_NOTIFICATION_CHANNEL_IMPORTANCE, mImportance)
                 .addTaggedData(MetricsEvent.NOTIFICATION_SINCE_CREATE_MILLIS, getLifespanMs(now))
                 .addTaggedData(MetricsEvent.NOTIFICATION_SINCE_UPDATE_MILLIS, getFreshnessMs(now))
                 .addTaggedData(MetricsEvent.NOTIFICATION_SINCE_VISIBLE_MILLIS, getExposureMs(now))
                 .addTaggedData(MetricsEvent.NOTIFICATION_SINCE_INTERRUPTION_MILLIS,
                         getInterruptionMs(now));
+        // Record results of the calculateImportance() calculation if available.
+        if (mImportanceExplanationCode != MetricsEvent.IMPORTANCE_EXPLANATION_UNKNOWN) {
+            lm.addTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_EXPLANATION,
+                    mImportanceExplanationCode);
+            // To avoid redundancy, we log the initial importance information only if it was
+            // overridden.
+            if (((mImportanceExplanationCode == MetricsEvent.IMPORTANCE_EXPLANATION_ASST)
+                    || (mImportanceExplanationCode == MetricsEvent.IMPORTANCE_EXPLANATION_SYSTEM))
+                    && (stats.naturalImportance != IMPORTANCE_UNSPECIFIED)) {
+                // stats.naturalImportance is due to one of the 3 sources of initial importance.
+                lm.addTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_INITIAL_EXPLANATION,
+                        mInitialImportanceExplanationCode);
+                lm.addTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_INITIAL,
+                        stats.naturalImportance);
+            }
+            // Log Assistant override if it was itself overridden by System. Since System can't be
+            // overridden, it never needs logging.
+            if (mImportanceExplanationCode == MetricsEvent.IMPORTANCE_EXPLANATION_SYSTEM
+                    && mAssistantImportance != IMPORTANCE_UNSPECIFIED) {
+                lm.addTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_ASST,
+                        mAssistantImportance);
+            }
+        }
+        return lm;
     }
 
     public LogMaker getLogMaker() {
@@ -1280,12 +1306,6 @@
         return getLogMaker().setCategory(MetricsEvent.NOTIFICATION_ITEM);
     }
 
-    public LogMaker getAdjustmentLogMaker() {
-        return getLogMaker()
-                .setCategory(MetricsEvent.NOTIFICATION_ITEM)
-                .setType(MetricsEvent.TYPE_NOTIFICATION_ASSISTANT_ADJUSTMENT);
-    }
-
     @VisibleForTesting
     static final class Light {
         public final int color;
diff --git a/services/core/java/com/android/server/notification/NotificationShellCmd.java b/services/core/java/com/android/server/notification/NotificationShellCmd.java
index 26cc0c1..dd0f420 100644
--- a/services/core/java/com/android/server/notification/NotificationShellCmd.java
+++ b/services/core/java/com/android/server/notification/NotificationShellCmd.java
@@ -58,6 +58,8 @@
             + "  disallow_dnd PACKAGE [user_id (current user if not specified)]\n"
             + "  suspend_package PACKAGE\n"
             + "  unsuspend_package PACKAGE\n"
+            + "  reset_assistant_user_set [user_id (current user if not specified)]\n"
+            + "  get_approved_assistant [user_id (current user if not specified)]\n"
             + "  post [--help | flags] TAG TEXT";
 
     private static final String NOTIFY_USAGE =
@@ -199,8 +201,29 @@
                     mDirectService.simulatePackageDistractionBroadcast(
                             Integer.parseInt(getNextArgRequired()),
                             getNextArgRequired().split(","));
+                    break;
                 }
-                break;
+                case "reset_assistant_user_set": {
+                    int userId = ActivityManager.getCurrentUser();
+                    if (peekNextArg() != null) {
+                        userId = Integer.parseInt(getNextArgRequired());
+                    }
+                    mDirectService.resetAssistantUserSet(userId);
+                    break;
+                }
+                case "get_approved_assistant": {
+                    int userId = ActivityManager.getCurrentUser();
+                    if (peekNextArg() != null) {
+                        userId = Integer.parseInt(getNextArgRequired());
+                    }
+                    ComponentName approvedAssistant = mDirectService.getApprovedAssistant(userId);
+                    if (approvedAssistant == null) {
+                        pw.println("null");
+                    } else {
+                        pw.println(approvedAssistant.flattenToString());
+                    }
+                    break;
+                }
                 case "post":
                 case "notify":
                     doNotify(pw);
diff --git a/services/core/java/com/android/server/om/IdmapManager.java b/services/core/java/com/android/server/om/IdmapManager.java
index 74fbea1..fd68a8b 100644
--- a/services/core/java/com/android/server/om/IdmapManager.java
+++ b/services/core/java/com/android/server/om/IdmapManager.java
@@ -36,6 +36,7 @@
 import android.util.Slog;
 
 import com.android.internal.os.BackgroundThread;
+import com.android.server.om.OverlayManagerServiceImpl.PackageManagerHelper;
 import com.android.server.pm.Installer;
 
 import java.io.File;
@@ -52,6 +53,7 @@
     private static final boolean FEATURE_FLAG_IDMAP2 = true;
 
     private final Installer mInstaller;
+    private final PackageManagerHelper mPackageManager;
     private IIdmap2 mIdmap2Service;
 
     private static final boolean VENDOR_IS_Q_OR_LATER;
@@ -61,8 +63,9 @@
         VENDOR_IS_Q_OR_LATER = value.equals("Q") || value.equals("q");
     }
 
-    IdmapManager(final Installer installer) {
+    IdmapManager(final Installer installer, final PackageManagerHelper packageManager) {
         mInstaller = installer;
+        mPackageManager = packageManager;
         if (FEATURE_FLAG_IDMAP2) {
             connectToIdmap2d();
         }
@@ -79,7 +82,7 @@
         final String overlayPath = overlayPackage.applicationInfo.getBaseCodePath();
         try {
             if (FEATURE_FLAG_IDMAP2) {
-                int policies = determineFulfilledPolicies(overlayPackage);
+                int policies = calculateFulfilledPolicies(targetPackage, overlayPackage, userId);
                 boolean enforce = enforceOverlayable(overlayPackage);
                 if (mIdmap2Service.verifyIdmap(overlayPath, policies, enforce, userId)) {
                     return true;
@@ -181,59 +184,53 @@
             return true;
         }
 
-        if (ai.isVendor() && !VENDOR_IS_Q_OR_LATER) {
+        if (ai.isVendor()) {
             // If the overlay is on a pre-Q vendor partition, do not enforce overlayable
             // restrictions on this overlay because the pre-Q platform has no understanding of
             // overlayable.
-            return false;
+            return VENDOR_IS_Q_OR_LATER;
         }
 
-        // Do not enforce overlayable restrictions on pre-Q overlays signed with the
-        // platform signature.
-        return !ai.isSignedWithPlatformKey();
+        // Do not enforce overlayable restrictions on pre-Q overlays that are signed with the
+        // platform signature or that are preinstalled.
+        return !(ai.isSystemApp() || ai.isSignedWithPlatformKey());
     }
 
     /**
-     * Retrieves a bitmask for idmap2 that represents the policies the specified overlay fulfills.
-     * @throws SecurityException if the overlay is not allowed to overlay any resource
+     * Retrieves a bitmask for idmap2 that represents the policies the overlay fulfills.
      */
-    private int determineFulfilledPolicies(@NonNull final PackageInfo overlayPackage)
-            throws SecurityException {
+    private int calculateFulfilledPolicies(@NonNull final PackageInfo targetPackage,
+            @NonNull final PackageInfo overlayPackage, int userId)  {
         final ApplicationInfo ai = overlayPackage.applicationInfo;
-        final boolean overlayIsQOrLater = ai.targetSdkVersion >= VERSION_CODES.Q;
+        int fulfilledPolicies = IIdmap2.POLICY_PUBLIC;
 
-        int fulfilledPolicies = 0;
-
-        // TODO(b/119402606) : Add signature policy
+        // Overlay matches target signature
+        if (mPackageManager.signaturesMatching(targetPackage.packageName,
+                overlayPackage.packageName, userId)) {
+            fulfilledPolicies |= IIdmap2.POLICY_SIGNATURE;
+        }
 
         // Vendor partition (/vendor)
         if (ai.isVendor()) {
-            if (overlayIsQOrLater) {
-                fulfilledPolicies |= IIdmap2.POLICY_VENDOR_PARTITION;
-            } else if (VENDOR_IS_Q_OR_LATER) {
-                throw new SecurityException("Overlay must target Q sdk or higher");
-            }
+            return fulfilledPolicies | IIdmap2.POLICY_VENDOR_PARTITION;
         }
 
         // Product partition (/product)
         if (ai.isProduct()) {
-            if (overlayIsQOrLater) {
-                fulfilledPolicies |= IIdmap2.POLICY_PRODUCT_PARTITION;
-            } else {
-                throw new SecurityException("Overlay must target Q sdk or higher");
-            }
+            return fulfilledPolicies | IIdmap2.POLICY_PRODUCT_PARTITION;
         }
 
-        // System partition (/system)
+        // Check partitions for which there exists no policy so overlays on these partitions will
+        // not fulfill the system policy.
+        if (ai.isOem() || ai.isProductServices()) {
+            return fulfilledPolicies;
+        }
+
+        // Check this last since every partition except for data is scanned as system in the PMS.
         if (ai.isSystemApp()) {
-            if (overlayIsQOrLater) {
-                fulfilledPolicies |= IIdmap2.POLICY_SYSTEM_PARTITION;
-            } else {
-                throw new SecurityException("Overlay must target Q sdk or higher");
-            }
+            return fulfilledPolicies | IIdmap2.POLICY_SYSTEM_PARTITION;
         }
 
-        // All overlays can overlay resources with the public policy
-        return fulfilledPolicies | IIdmap2.POLICY_PUBLIC;
+        return fulfilledPolicies;
     }
 }
diff --git a/services/core/java/com/android/server/om/OverlayManagerService.java b/services/core/java/com/android/server/om/OverlayManagerService.java
index d0c59c1..37dd63a 100644
--- a/services/core/java/com/android/server/om/OverlayManagerService.java
+++ b/services/core/java/com/android/server/om/OverlayManagerService.java
@@ -232,7 +232,7 @@
                     new File(Environment.getDataSystemDirectory(), "overlays.xml"), "overlays");
             mPackageManager = new PackageManagerHelper();
             mUserManager = UserManagerService.getInstance();
-            IdmapManager im = new IdmapManager(installer);
+            IdmapManager im = new IdmapManager(installer, mPackageManager);
             mSettings = new OverlayManagerSettings();
             mImpl = new OverlayManagerServiceImpl(mPackageManager, im, mSettings,
                     getDefaultOverlayPackages(), new OverlayChangeListener());
@@ -758,7 +758,7 @@
          * @throws SecurityException if the permission check fails
          */
         private void enforceChangeOverlayPackagesPermission(@NonNull final String message) {
-            getContext().enforceCallingPermission(
+            getContext().enforceCallingOrSelfPermission(
                     android.Manifest.permission.CHANGE_OVERLAY_PACKAGES, message);
         }
 
@@ -769,7 +769,7 @@
          * @throws SecurityException if the permission check fails
          */
         private void enforceDumpPermission(@NonNull final String message) {
-            getContext().enforceCallingPermission(android.Manifest.permission.DUMP, message);
+            getContext().enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, message);
         }
     };
 
diff --git a/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java b/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java
index 64f31cd..5c0874d 100644
--- a/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java
+++ b/services/core/java/com/android/server/os/BugreportManagerServiceImpl.java
@@ -40,10 +40,6 @@
 
 import java.io.FileDescriptor;
 
-// TODO(b/111441001):
-// Intercept onFinished() & implement death recipient here and shutdown
-// bugreportd service.
-
 /**
  * Implementation of the service that provides a privileged API to capture and consume bugreports.
  *
@@ -171,9 +167,12 @@
             reportError(listener, IDumpstateListener.BUGREPORT_ERROR_RUNTIME_ERROR);
             return;
         }
+
+        // Wrap the listener so we can intercept binder events directly.
+        IDumpstateListener myListener = new DumpstateListener(listener, ds);
         try {
             ds.startBugreport(callingUid, callingPackage,
-                    bugreportFd, screenshotFd, bugreportMode, listener);
+                    bugreportFd, screenshotFd, bugreportMode, myListener);
         } catch (RemoteException e) {
             reportError(listener, IDumpstateListener.BUGREPORT_ERROR_RUNTIME_ERROR);
         }
@@ -240,4 +239,73 @@
         Slog.w(TAG, message);
         throw new IllegalArgumentException(message);
     }
+
+
+    private final class DumpstateListener extends IDumpstateListener.Stub
+            implements DeathRecipient {
+        private final IDumpstateListener mListener;
+        private final IDumpstate mDs;
+        private boolean mDone = false;
+
+        DumpstateListener(IDumpstateListener listener, IDumpstate ds) {
+            mListener = listener;
+            mDs = ds;
+            try {
+                mDs.asBinder().linkToDeath(this, 0);
+            } catch (RemoteException e) {
+                Slog.e(TAG, "Unable to register Death Recipient for IDumpstate", e);
+            }
+        }
+
+        @Override
+        public void onProgress(int progress) throws RemoteException {
+            mListener.onProgress(progress);
+        }
+
+        @Override
+        public void onError(int errorCode) throws RemoteException {
+            synchronized (mLock) {
+                mDone = true;
+            }
+            mListener.onError(errorCode);
+        }
+
+        @Override
+        public void onFinished() throws RemoteException {
+            synchronized (mLock) {
+                mDone = true;
+            }
+            mListener.onFinished();
+        }
+
+        @Override
+        public void binderDied() {
+            synchronized (mLock) {
+                if (!mDone) {
+                    // If we have not gotten a "done" callback this must be a crash.
+                    Slog.e(TAG, "IDumpstate likely crashed. Notifying listener");
+                    try {
+                        mListener.onError(IDumpstateListener.BUGREPORT_ERROR_RUNTIME_ERROR);
+                    } catch (RemoteException ignored) {
+                        // If listener is not around, there isn't anything to do here.
+                    }
+                }
+            }
+            mDs.asBinder().unlinkToDeath(this, 0);
+        }
+
+        // Old methods; unused in the API flow.
+        @Override
+        public void onProgressUpdated(int progress) throws RemoteException {
+        }
+
+        @Override
+        public void onMaxProgressUpdated(int maxProgress) throws RemoteException {
+        }
+
+        @Override
+        public void onSectionComplete(String title, int status, int size, int durationMs)
+                throws RemoteException {
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/pm/ApexManager.java b/services/core/java/com/android/server/pm/ApexManager.java
index a4c04b2..5fdd872 100644
--- a/services/core/java/com/android/server/pm/ApexManager.java
+++ b/services/core/java/com/android/server/pm/ApexManager.java
@@ -41,6 +41,7 @@
 import java.io.PrintWriter;
 import java.util.ArrayList;
 import java.util.Collection;
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import java.util.function.Function;
@@ -135,6 +136,17 @@
     }
 
     /**
+     * Checks if {@code packageName} is an apex package.
+     *
+     * @param packageName package to check.
+     * @return {@code true} if {@code packageName} is an apex package.
+     */
+    boolean isApexPackage(String packageName) {
+        populateActivePackagesCacheIfNeeded();
+        return mActivePackagesCache.containsKey(packageName);
+    }
+
+    /**
      * Retrieves information about an apexd staged session i.e. the internal state used by apexd to
      * track the different states of a session.
      *
@@ -246,6 +258,23 @@
     }
 
     /**
+     * Uninstalls given {@code apexPackage}.
+     *
+     * <p>NOTE. Device must be rebooted in order for uninstall to take effect.
+     *
+     * @param apexPackagePath package to uninstall.
+     * @return {@code true} upon successful uninstall, {@code false} otherwise.
+     */
+    boolean uninstallApex(String apexPackagePath) {
+        try {
+            mApexService.unstagePackages(Collections.singletonList(apexPackagePath));
+            return true;
+        } catch (Exception e) {
+            return false;
+        }
+    }
+
+    /**
      * Dumps various state information to the provided {@link PrintWriter} object.
      *
      * @param pw the {@link PrintWriter} object to send information to.
diff --git a/services/core/java/com/android/server/pm/LauncherAppsService.java b/services/core/java/com/android/server/pm/LauncherAppsService.java
index 9e912843..18cfa4a 100644
--- a/services/core/java/com/android/server/pm/LauncherAppsService.java
+++ b/services/core/java/com/android/server/pm/LauncherAppsService.java
@@ -45,8 +45,6 @@
 import android.content.pm.ShortcutInfo;
 import android.content.pm.ShortcutServiceInternal;
 import android.content.pm.ShortcutServiceInternal.ShortcutChangeListener;
-import android.content.pm.Signature;
-import android.content.pm.SigningInfo;
 import android.content.pm.UserInfo;
 import android.graphics.Rect;
 import android.net.Uri;
@@ -62,31 +60,21 @@
 import android.os.UserManager;
 import android.os.UserManagerInternal;
 import android.provider.Settings;
-import android.util.ByteStringUtils;
 import android.util.Log;
 import android.util.Slog;
 
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.content.PackageMonitor;
 import com.android.internal.os.BackgroundThread;
-import com.android.internal.util.DumpUtils;
 import com.android.internal.util.Preconditions;
-import com.android.internal.util.StatLogger;
 import com.android.server.LocalServices;
 import com.android.server.SystemService;
 import com.android.server.wm.ActivityTaskManagerInternal;
 
-import java.io.FileDescriptor;
-import java.io.PrintWriter;
-import java.security.MessageDigest;
-import java.security.NoSuchAlgorithmException;
 import java.util.ArrayList;
-import java.util.Arrays;
 import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
-import java.util.Set;
-import java.util.concurrent.ConcurrentHashMap;
 
 /**
  * Service that manages requests and callbacks for launchers that support
@@ -125,16 +113,6 @@
         private static final boolean DEBUG = false;
         private static final String TAG = "LauncherAppsService";
 
-        // Stats
-        @VisibleForTesting
-        interface Stats {
-            int INIT_VOUCHED_SIGNATURES = 0;
-            int COUNT = INIT_VOUCHED_SIGNATURES + 1;
-        }
-        private final StatLogger mStatLogger = new StatLogger(new String[] {
-                "initVouchedSignatures"
-        });
-
         private final Context mContext;
         private final UserManager mUm;
         private final UserManagerInternal mUserManagerInternal;
@@ -145,16 +123,11 @@
         private final PackageCallbackList<IOnAppsChangedListener> mListeners
                 = new PackageCallbackList<IOnAppsChangedListener>();
         private final DevicePolicyManager mDpm;
-        private final ConcurrentHashMap<UserHandle, Set<String>> mVouchedSignaturesByUser;
-        private final Set<String> mVouchProviders;
 
         private final MyPackageMonitor mPackageMonitor = new MyPackageMonitor();
-        private final VouchesChangedMonitor mVouchesChangedMonitor = new VouchesChangedMonitor();
 
         private final Handler mCallbackHandler;
 
-        private final Object mVouchedSignaturesLocked = new Object();
-
         private PackageInstallerService mPackageInstallerService;
 
         public LauncherAppsImpl(Context context) {
@@ -173,9 +146,6 @@
             mShortcutServiceInternal.addListener(mPackageMonitor);
             mCallbackHandler = BackgroundThread.getHandler();
             mDpm = (DevicePolicyManager) mContext.getSystemService(Context.DEVICE_POLICY_SERVICE);
-            mVouchedSignaturesByUser = new ConcurrentHashMap<>();
-            mVouchProviders = Collections.newSetFromMap(new ConcurrentHashMap<String, Boolean>());
-            mVouchesChangedMonitor.register(mContext, UserHandle.ALL, true, mCallbackHandler);
         }
 
         @VisibleForTesting
@@ -432,7 +402,7 @@
                     }
                     ApplicationInfo appInfo = pmInt.getApplicationInfo(packageName, /*flags*/ 0,
                             callingUid, user.getIdentifier());
-                    if (shouldShowHiddenApp(user, appInfo)) {
+                    if (shouldShowSyntheticActivity(user, appInfo)) {
                         ResolveInfo info = getHiddenAppActivityInfo(packageName, callingUid, user);
                         if (info != null) {
                             result.add(info);
@@ -448,7 +418,7 @@
                         user.getIdentifier(), callingUid);
                 for (ApplicationInfo applicationInfo : installedPackages) {
                     if (!visiblePackages.contains(applicationInfo.packageName)) {
-                        if (!shouldShowHiddenApp(user, applicationInfo)) {
+                        if (!shouldShowSyntheticActivity(user, applicationInfo)) {
                             continue;
                         }
                         ResolveInfo info = getHiddenAppActivityInfo(applicationInfo.packageName,
@@ -464,36 +434,13 @@
             }
         }
 
-        private boolean shouldShowHiddenApp(UserHandle user, ApplicationInfo appInfo) {
+        private boolean shouldShowSyntheticActivity(UserHandle user, ApplicationInfo appInfo) {
             if (appInfo == null || appInfo.isSystemApp() || appInfo.isUpdatedSystemApp()) {
                 return false;
             }
-            if (!mVouchedSignaturesByUser.containsKey(user)) {
-                initVouchedSignatures(user);
-            }
             if (isManagedProfileAdmin(user, appInfo.packageName)) {
                 return false;
             }
-            if (mVouchProviders.contains(appInfo.packageName)) {
-                // If it's a vouching packages then we must show hidden app
-                return true;
-            }
-            // If app's signature is in vouch list, do not show hidden app
-            final Set<String> vouches = mVouchedSignaturesByUser.get(user);
-            try {
-                final PackageInfo pkgInfo = mContext.getPackageManager().getPackageInfo(
-                        appInfo.packageName, PackageManager.GET_SIGNING_CERTIFICATES);
-                final Signature[] signatures = getLatestSignatures(pkgInfo.signingInfo);
-                // If any of the signatures appears in vouches, then we don't show hidden app
-                for (Signature signature : signatures) {
-                    final String certDigest = computePackageCertDigest(signature);
-                    if (vouches.contains(certDigest)) {
-                        return false;
-                    }
-                }
-            } catch (PackageManager.NameNotFoundException e) {
-                // Should not happen
-            }
             return true;
         }
 
@@ -515,100 +462,6 @@
             return false;
         }
 
-        @VisibleForTesting
-        static String computePackageCertDigest(Signature signature) {
-            MessageDigest messageDigest;
-            try {
-                messageDigest = MessageDigest.getInstance("SHA1");
-            } catch (NoSuchAlgorithmException e) {
-                // Should not happen
-                return null;
-            }
-            messageDigest.update(signature.toByteArray());
-            final byte[] digest = messageDigest.digest();
-            return ByteStringUtils.toHexString(digest);
-        }
-
-        @VisibleForTesting
-        static Signature[] getLatestSignatures(SigningInfo signingInfo) {
-            if (signingInfo.hasMultipleSigners()) {
-                return signingInfo.getApkContentsSigners();
-            } else {
-                final Signature[] signatures = signingInfo.getSigningCertificateHistory();
-                return new Signature[]{signatures[0]};
-            }
-        }
-
-        private void updateVouches(String packageName, UserHandle user) {
-            final PackageManagerInternal pmInt =
-                    LocalServices.getService(PackageManagerInternal.class);
-            ApplicationInfo appInfo = pmInt.getApplicationInfo(packageName,
-                    PackageManager.GET_META_DATA, Binder.getCallingUid(), user.getIdentifier());
-            if (appInfo == null) {
-                Log.w(TAG, "appInfo " + packageName + " is null");
-                return;
-            }
-            updateVouches(appInfo, user);
-        }
-
-        private void updateVouches(ApplicationInfo appInfo, UserHandle user) {
-            if (appInfo == null || appInfo.metaData == null) {
-                // No meta-data
-                return;
-            }
-            int tokenResourceId = appInfo.metaData.getInt(LauncherApps.VOUCHED_CERTS_KEY);
-            if (tokenResourceId == 0) {
-                // No xml file
-                return;
-            }
-            mVouchProviders.add(appInfo.packageName);
-            Set<String> vouches = mVouchedSignaturesByUser.get(user);
-            try {
-                List<String> signatures = Arrays.asList(
-                        mContext.getPackageManager().getResourcesForApplication(
-                                appInfo.packageName).getStringArray(tokenResourceId));
-                for (String signature : signatures) {
-                    vouches.add(signature.toUpperCase());
-                }
-            } catch (PackageManager.NameNotFoundException e) {
-                // Should not happen
-            }
-        }
-
-        private void initVouchedSignatures(UserHandle user) {
-            synchronized (mVouchedSignaturesLocked) {
-                if (mVouchedSignaturesByUser.contains(user)) {
-                    return;
-                }
-                final long startTime = mStatLogger.getTime();
-
-                Set<String> vouches = Collections.newSetFromMap(
-                        new ConcurrentHashMap<String, Boolean>());
-
-                final int callingUid = injectBinderCallingUid();
-                long ident = Binder.clearCallingIdentity();
-                try {
-                    final PackageManagerInternal pmInt =
-                            LocalServices.getService(PackageManagerInternal.class);
-                    List<ApplicationInfo> installedPackages = pmInt.getInstalledApplications(
-                            PackageManager.GET_META_DATA, user.getIdentifier(), callingUid);
-                    for (ApplicationInfo appInfo : installedPackages) {
-                        updateVouches(appInfo, user);
-                    }
-                } finally {
-                    Binder.restoreCallingIdentity(ident);
-                }
-                mVouchedSignaturesByUser.putIfAbsent(user, vouches);
-                mStatLogger.logDurationStat(Stats.INIT_VOUCHED_SIGNATURES, startTime);
-            }
-        }
-
-        @Override
-        public void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
-            if (!DumpUtils.checkDumpAndUsageStatsPermission(mContext, TAG, pw)) return;
-            mStatLogger.dump(pw, "  ");
-        }
-
         @Override
         public ActivityInfo resolveActivity(
                 String callingPackage, ComponentName component, UserHandle user)
@@ -744,12 +597,8 @@
             if (!canAccessProfile(user.getIdentifier(), "Cannot access usage limit")) {
                 return null;
             }
-
-            final PackageManagerInternal pmi =
-                    LocalServices.getService(PackageManagerInternal.class);
-            final ComponentName cn = pmi.getDefaultHomeActivity(user.getIdentifier());
-            if (!cn.getPackageName().equals(callingPackage)) {
-                throw new SecurityException("Caller is not the active launcher");
+            if (!mActivityTaskManagerInternal.isCallerRecents(Binder.getCallingUid())) {
+                throw new SecurityException("Caller is not the recents app");
             }
 
             final UsageStatsManagerInternal.AppUsageLimitData data =
@@ -1026,18 +875,6 @@
             mCallbackHandler.post(r);
         }
 
-        private class VouchesChangedMonitor extends PackageMonitor {
-            @Override
-            public void onPackageAdded(String packageName, int uid) {
-                updateVouches(packageName, new UserHandle(getChangingUserId()));
-            }
-
-            @Override
-            public void onPackageModified(String packageName) {
-                updateVouches(packageName, new UserHandle(getChangingUserId()));
-            }
-        }
-
         private class MyPackageMonitor extends PackageMonitor implements ShortcutChangeListener {
 
             // TODO Simplify with lambdas.
diff --git a/services/core/java/com/android/server/pm/OWNERS b/services/core/java/com/android/server/pm/OWNERS
index 8ce2568..af9b12a 100644
--- a/services/core/java/com/android/server/pm/OWNERS
+++ b/services/core/java/com/android/server/pm/OWNERS
@@ -10,56 +10,28 @@
 toddke@google.com
 
 # apex support
-per-file ApexManager.java = dariofreni@google.com, narayan@google.com, toddke@android.com, toddke@google.com
-per-file StagingManager.java = dariofreni@google.com, narayan@google.com, toddke@android.com, toddke@google.com
+per-file ApexManager.java = dariofreni@google.com
+per-file StagingManager.java = dariofreni@google.com
 
 # dex
-per-file AbstractStatsBase.java = agampe@google.com
-per-file AbstractStatsBase.java = calin@google.com
-per-file AbstractStatsBase.java = ngeoffray@google.com
-per-file BackgroundDexOptService.java = agampe@google.com
-per-file BackgroundDexOptService.java = calin@google.com
-per-file BackgroundDexOptService.java = ngeoffray@google.com
-per-file CompilerStats.java = agampe@google.com
-per-file CompilerStats.java = calin@google.com
-per-file CompilerStats.java = ngeoffray@google.com
-per-file DynamicCodeLoggingService.java = agampe@google.com
-per-file DynamicCodeLoggingService.java = calin@google.com
-per-file DynamicCodeLoggingService.java = ngeoffray@google.com
-per-file InstructionSets.java = agampe@google.com
-per-file InstructionSets.java = calin@google.com
-per-file InstructionSets.java = ngeoffray@google.com
-per-file OtaDexoptService.java = agampe@google.com
-per-file OtaDexoptService.java = calin@google.com
-per-file OtaDexoptService.java = ngeoffray@google.com
-per-file OtaDexoptShellCommand.java = agampe@google.com
-per-file OtaDexoptShellCommand.java = calin@google.com
-per-file OtaDexoptShellCommand.java = ngeoffray@google.com
-per-file PackageDexOptimizer.java = agampe@google.com
-per-file PackageDexOptimizer.java = calin@google.com
-per-file PackageDexOptimizer.java = ngeoffray@google.com
-per-file PackageManagerServiceCompilerMapping.java = agampe@google.com
-per-file PackageManagerServiceCompilerMapping.java = calin@google.com
-per-file PackageManagerServiceCompilerMapping.java = ngeoffray@google.com
-per-file PackageUsage.java = agampe@google.com
-per-file PackageUsage.java = calin@google.com
-per-file PackageUsage.java = ngeoffray@google.com
+per-file AbstractStatsBase.java = agampe@google.com, calin@google.com, ngeoffray@google.com
+per-file BackgroundDexOptService.java = agampe@google.com, calin@google.com, ngeoffray@google.com
+per-file CompilerStats.java = agampe@google.com, calin@google.com, ngeoffray@google.com
+per-file DynamicCodeLoggingService.java = alanstokes@google.com, agampe@google.com, calin@google.com, ngeoffray@google.com
+per-file InstructionSets.java = agampe@google.com, calin@google.com, ngeoffray@google.com
+per-file OtaDexoptService.java = agampe@google.com, calin@google.com, ngeoffray@google.com
+per-file OtaDexoptShellCommand.java = agampe@google.com, calin@google.com, ngeoffray@google.com
+per-file PackageDexOptimizer.java = agampe@google.com, calin@google.com, ngeoffray@google.com
+per-file PackageManagerServiceCompilerMapping.java = agampe@google.com, calin@google.com, ngeoffray@google.com
+per-file PackageUsage.java = agampe@google.com, calin@google.com, ngeoffray@google.com
 
 # multi user / cross profile
-per-file CrossProfileAppsServiceImpl.java = omakoto@google.com
-per-file CrossProfileAppsServiceImpl.java = yamasani@google.com
-per-file CrossProfileAppsService.java = omakoto@google.com
-per-file CrossProfileAppsService.java = yamasani@google.com
-per-file CrossProfileIntentFilter.java = omakoto@google.com
-per-file CrossProfileIntentFilter.java = yamasani@google.com
-per-file CrossProfileIntentResolver.java = omakoto@google.com
-per-file CrossProfileIntentResolver.java = yamasani@google.com
-per-file UserManagerService.java = omakoto@google.com
-per-file UserManagerService.java = yamasani@google.com
-per-file UserRestrictionsUtils.java = omakoto@google.com
-per-file UserRestrictionsUtils.java = yamasani@google.com
-per-file UserRestrictionsUtils.java = rubinxu@google.com
-per-file UserRestrictionsUtils.java = sandness@google.com
+per-file CrossProfileAppsServiceImpl.java = omakoto@google.com, yamasani@google.com
+per-file CrossProfileAppsService.java = omakoto@google.com, yamasani@google.com
+per-file CrossProfileIntentFilter.java = omakoto@google.com, yamasani@google.com
+per-file CrossProfileIntentResolver.java = omakoto@google.com, yamasani@google.com
+per-file UserManagerService.java = omakoto@google.com, yamasani@google.com
+per-file UserRestrictionsUtils.java = omakoto@google.com, rubinxu@google.com, sandness@google.com, yamasani@google.com
 
 # security
 per-file KeySetHandle.java = cbrubaker@google.com
@@ -69,17 +41,17 @@
 per-file SELinuxMMAC.java = cbrubaker@google.com
 
 # shortcuts
-per-file LauncherAppsService.java = omakoto@google.com
-per-file ShareTargetInfo.java = omakoto@google.com
-per-file ShortcutBitmapSaver.java = omakoto@google.com
-per-file ShortcutDumpFiles.java = omakoto@google.com
-per-file ShortcutLauncher.java = omakoto@google.com
-per-file ShortcutNonPersistentUser.java = omakoto@google.com
-per-file ShortcutPackage.java = omakoto@google.com
-per-file ShortcutPackageInfo.java = omakoto@google.com
-per-file ShortcutPackageItem.java = omakoto@google.com
-per-file ShortcutParser.java = omakoto@google.com
-per-file ShortcutRequestPinProcessor.java = omakoto@google.com
-per-file ShortcutService.java = omakoto@google.com
-per-file ShortcutUser.java = omakoto@google.com
+per-file LauncherAppsService.java = omakoto@google.com, yamasani@google.com
+per-file ShareTargetInfo.java = omakoto@google.com, yamasani@google.com
+per-file ShortcutBitmapSaver.java = omakoto@google.com, yamasani@google.com
+per-file ShortcutDumpFiles.java = omakoto@google.com, yamasani@google.com
+per-file ShortcutLauncher.java = omakoto@google.com, yamasani@google.com
+per-file ShortcutNonPersistentUser.java = omakoto@google.com, yamasani@google.com
+per-file ShortcutPackage.java = omakoto@google.com, yamasani@google.com
+per-file ShortcutPackageInfo.java = omakoto@google.com, yamasani@google.com
+per-file ShortcutPackageItem.java = omakoto@google.com, yamasani@google.com
+per-file ShortcutParser.java = omakoto@google.com, yamasani@google.com
+per-file ShortcutRequestPinProcessor.java = omakoto@google.com, yamasani@google.com
+per-file ShortcutService.java = omakoto@google.com, yamasani@google.com
+per-file ShortcutUser.java = omakoto@google.com, yamasani@google.com
 
diff --git a/services/core/java/com/android/server/pm/PackageInstallerService.java b/services/core/java/com/android/server/pm/PackageInstallerService.java
index a3b72fd..181b7a2 100644
--- a/services/core/java/com/android/server/pm/PackageInstallerService.java
+++ b/services/core/java/com/android/server/pm/PackageInstallerService.java
@@ -27,6 +27,7 @@
 import android.app.NotificationManager;
 import android.app.PackageDeleteObserver;
 import android.app.PackageInstallObserver;
+import android.app.admin.DevicePolicyEventLogger;
 import android.app.admin.DevicePolicyManagerInternal;
 import android.content.Context;
 import android.content.Intent;
@@ -59,6 +60,7 @@
 import android.os.SELinux;
 import android.os.UserManager;
 import android.os.storage.StorageManager;
+import android.stats.devicepolicy.DevicePolicyEnums;
 import android.system.ErrnoException;
 import android.system.Os;
 import android.text.TextUtils;
@@ -205,7 +207,7 @@
 
         mApexManager = am;
 
-        mStagingManager = new StagingManager(pm, this, am, context);
+        mStagingManager = new StagingManager(this, am, context);
     }
 
     boolean okToSendBroadcasts()  {
@@ -482,9 +484,9 @@
         }
 
         if (callingUid == Process.SYSTEM_UID) {
-            params.installFlags |= PackageManager.INSTALL_RESPECT_ALLOW_DOWNGRADE;
+            params.installFlags |= PackageManager.INSTALL_ALLOW_DOWNGRADE;
         } else {
-            params.installFlags &= ~PackageManager.INSTALL_RESPECT_ALLOW_DOWNGRADE;
+            params.installFlags &= ~PackageManager.INSTALL_ALLOW_DOWNGRADE;
         }
 
         boolean isApex = (params.installFlags & PackageManager.INSTALL_APEX) != 0;
@@ -589,7 +591,7 @@
         session = new PackageInstallerSession(mInternalCallback, mContext, mPm, this,
                 mInstallThread.getLooper(), mStagingManager, sessionId, userId,
                 installerPackageName, callingUid, params, createdMillis, stageDir, stageCid, false,
-                false, null, SessionInfo.INVALID_ID, false, false, false,
+                false, false, null, SessionInfo.INVALID_ID, false, false, false,
                 SessionInfo.STAGED_SESSION_NO_ERROR, "");
 
         synchronized (mSessions) {
@@ -810,6 +812,10 @@
             } finally {
                 Binder.restoreCallingIdentity(ident);
             }
+            DevicePolicyEventLogger
+                    .createEvent(DevicePolicyEnums.UNINSTALL_PACKAGE)
+                    .setAdmin(callerPackageName)
+                    .write();
         } else {
             ApplicationInfo appInfo = mPm.getApplicationInfo(callerPackageName, 0, userId);
             if (appInfo.targetSdkVersion >= Build.VERSION_CODES.P) {
diff --git a/services/core/java/com/android/server/pm/PackageInstallerSession.java b/services/core/java/com/android/server/pm/PackageInstallerSession.java
index 45b3b5b..6451b56 100644
--- a/services/core/java/com/android/server/pm/PackageInstallerSession.java
+++ b/services/core/java/com/android/server/pm/PackageInstallerSession.java
@@ -44,6 +44,7 @@
 import android.Manifest;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
+import android.app.admin.DevicePolicyEventLogger;
 import android.app.admin.DevicePolicyManagerInternal;
 import android.content.Context;
 import android.content.IIntentReceiver;
@@ -82,6 +83,7 @@
 import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.os.storage.StorageManager;
+import android.stats.devicepolicy.DevicePolicyEnums;
 import android.system.ErrnoException;
 import android.system.Int64Ref;
 import android.system.Os;
@@ -145,6 +147,7 @@
     private static final String ATTR_SESSION_STAGE_DIR = "sessionStageDir";
     private static final String ATTR_SESSION_STAGE_CID = "sessionStageCid";
     private static final String ATTR_PREPARED = "prepared";
+    private static final String ATTR_COMMITTED = "committed";
     private static final String ATTR_SEALED = "sealed";
     private static final String ATTR_MULTI_PACKAGE = "multiPackage";
     private static final String ATTR_PARENT_SESSION_ID = "parentSessionId";
@@ -401,7 +404,7 @@
             PackageSessionProvider sessionProvider, Looper looper, StagingManager stagingManager,
             int sessionId, int userId,
             String installerPackageName, int installerUid, SessionParams params, long createdMillis,
-            File stageDir, String stageCid, boolean prepared, boolean sealed,
+            File stageDir, String stageCid, boolean prepared, boolean committed, boolean sealed,
             @Nullable int[] childSessionIds, int parentSessionId, boolean isReady,
             boolean isFailed, boolean isApplied, int stagedSessionErrorCode,
             String stagedSessionErrorMessage) {
@@ -434,6 +437,7 @@
         }
 
         mPrepared = prepared;
+        mCommitted = committed;
         mStagedSessionReady = isReady;
         mStagedSessionFailed = isFailed;
         mStagedSessionApplied = isApplied;
@@ -510,6 +514,13 @@
         }
     }
 
+    /** {@hide} */
+    boolean isCommitted() {
+        synchronized (mLock) {
+            return mCommitted;
+        }
+    }
+
     @GuardedBy("mLock")
     private void assertPreparedAndNotSealedLocked(String cookie) {
         assertPreparedAndNotCommittedOrDestroyedLocked(cookie);
@@ -984,6 +995,19 @@
 
         mSealed = true;
 
+        if (params.isStaged) {
+            final PackageInstallerSession activeSession = mStagingManager.getActiveSession();
+            final boolean anotherSessionAlreadyInProgress =
+                    activeSession != null && sessionId != activeSession.sessionId
+                            && mParentSessionId != activeSession.sessionId;
+            if (anotherSessionAlreadyInProgress) {
+                throw new PackageManagerException(
+                        PackageManager.INSTALL_FAILED_OTHER_STAGED_SESSION_IN_PROGRESS,
+                        "There is already in-progress committed staged session "
+                                + activeSession.sessionId, null);
+            }
+        }
+
         // Read transfers from the original owner stay open, but as the session's data
         // cannot be modified anymore, there is no leak of information. For staged sessions,
         // further validation is performed by the staging manager.
@@ -1063,6 +1087,12 @@
     }
 
     private void handleCommit() {
+        if (isInstallerDeviceOwnerOrAffiliatedProfileOwnerLocked()) {
+            DevicePolicyEventLogger
+                    .createEvent(DevicePolicyEnums.INSTALL_PACKAGE)
+                    .setAdmin(mInstallerPackageName)
+                    .write();
+        }
         if (params.isStaged) {
             mStagingManager.commitSession(this);
             destroyInternal();
@@ -2143,6 +2173,7 @@
 
         pw.printPair("mClientProgress", mClientProgress);
         pw.printPair("mProgress", mProgress);
+        pw.printPair("mCommitted", mCommitted);
         pw.printPair("mSealed", mSealed);
         pw.printPair("mPermissionsManuallyAccepted", mPermissionsManuallyAccepted);
         pw.printPair("mRelinquished", mRelinquished);
@@ -2201,6 +2232,7 @@
                 writeStringAttribute(out, ATTR_SESSION_STAGE_CID, stageCid);
             }
             writeBooleanAttribute(out, ATTR_PREPARED, isPrepared());
+            writeBooleanAttribute(out, ATTR_COMMITTED, isCommitted());
             writeBooleanAttribute(out, ATTR_SEALED, isSealed());
 
             writeBooleanAttribute(out, ATTR_MULTI_PACKAGE, params.isMultiPackage);
@@ -2298,6 +2330,7 @@
         final File stageDir = (stageDirRaw != null) ? new File(stageDirRaw) : null;
         final String stageCid = readStringAttribute(in, ATTR_SESSION_STAGE_CID);
         final boolean prepared = readBooleanAttribute(in, ATTR_PREPARED, true);
+        final boolean committed = readBooleanAttribute(in, ATTR_COMMITTED);
         final boolean sealed = readBooleanAttribute(in, ATTR_SEALED);
         final int parentSessionId = readIntAttribute(in, ATTR_PARENT_SESSION_ID,
                 SessionInfo.INVALID_ID);
@@ -2374,8 +2407,8 @@
 
         return new PackageInstallerSession(callback, context, pm, sessionProvider,
                 installerThread, stagingManager, sessionId, userId, installerPackageName,
-                installerUid, params, createdMillis, stageDir, stageCid, prepared, sealed,
-                childSessionIdsArray, parentSessionId, isReady, isFailed, isApplied,
+                installerUid, params, createdMillis, stageDir, stageCid, prepared, committed,
+                sealed, childSessionIdsArray, parentSessionId, isReady, isFailed, isApplied,
                 stagedSessionErrorCode, stagedSessionErrorMessage);
     }
 
diff --git a/services/core/java/com/android/server/pm/PackageManagerService.java b/services/core/java/com/android/server/pm/PackageManagerService.java
index 15a00d5..a679601 100644
--- a/services/core/java/com/android/server/pm/PackageManagerService.java
+++ b/services/core/java/com/android/server/pm/PackageManagerService.java
@@ -162,6 +162,7 @@
 import android.content.pm.IntentFilterVerificationInfo;
 import android.content.pm.KeySet;
 import android.content.pm.ModuleInfo;
+import android.content.pm.PackageBackwardCompatibility;
 import android.content.pm.PackageInfo;
 import android.content.pm.PackageInfoLite;
 import android.content.pm.PackageInstaller;
@@ -231,6 +232,7 @@
 import android.os.UserHandle;
 import android.os.UserManager;
 import android.os.UserManagerInternal;
+import android.os.storage.DiskInfo;
 import android.os.storage.IStorageManager;
 import android.os.storage.StorageEventListener;
 import android.os.storage.StorageManager;
@@ -244,6 +246,7 @@
 import android.security.KeyStore;
 import android.security.SystemKeyStore;
 import android.service.pm.PackageServiceDumpProto;
+import android.stats.storage.StorageEnums;
 import android.system.ErrnoException;
 import android.system.Os;
 import android.text.TextUtils;
@@ -268,6 +271,7 @@
 import android.util.SparseArray;
 import android.util.SparseBooleanArray;
 import android.util.SparseIntArray;
+import android.util.StatsLog;
 import android.util.TimingsTraceLog;
 import android.util.Xml;
 import android.util.jar.StrictJarFile;
@@ -548,10 +552,21 @@
     private static final long DEFAULT_VERIFICATION_TIMEOUT = 10 * 1000;
 
     /**
+     * Timeout duration in milliseconds for enabling package rollback. If we fail to enable
+     * rollback within that period, the install will proceed without rollback enabled.
+     *
+     * <p>If flag value is negative, the default value will be assigned.
+     *
+     * Flag type: {@code long}
+     * Namespace: NAMESPACE_ROLLBACK
+     */
+    private static final String PROPERTY_ENABLE_ROLLBACK_TIMEOUT_MILLIS = "enable_rollback_timeout";
+
+    /**
      * The default duration to wait for rollback to be enabled in
      * milliseconds.
      */
-    private static final long DEFAULT_ENABLE_ROLLBACK_TIMEOUT = 10 * 1000;
+    private static final long DEFAULT_ENABLE_ROLLBACK_TIMEOUT_MILLIS = 10 * 1000;
 
     /**
      * The default response for package verification timeout.
@@ -1911,6 +1926,15 @@
 
                 // Send broadcast package appeared if external for all users
                 if (isExternal(res.pkg)) {
+                    if (!update) {
+                        int packageExternalStorageType =
+                                getPackageExternalStorageType(res.pkg);
+                        // If the package was installed externally, log it.
+                        if (packageExternalStorageType != StorageEnums.UNKNOWN) {
+                            StatsLog.write(StatsLog.APP_INSTALL_ON_EXTERNAL_STORAGE_REPORTED,
+                                    packageExternalStorageType, res.pkg.packageName);
+                        }
+                    }
                     if (DEBUG_INSTALL) {
                         Slog.i(TAG, "upgrading pkg " + res.pkg + " is external");
                     }
@@ -1952,7 +1976,7 @@
             }
 
             if (allNewUsers && !update) {
-                notifyPackageAdded(packageName);
+                notifyPackageAdded(packageName, res.uid);
             }
 
             // Log current value of "unknown sources" setting
@@ -1999,6 +2023,32 @@
         }
     }
 
+    /**
+     * Gets the type of the external storage a package is installed on.
+     * @param pkg The package for which to get the external storage type.
+     * @return {@link StorageEnum#TYPE_UNKNOWN} if it is not stored externally or the corresponding
+     * {@link StorageEnum} storage type value if it is.
+     */
+    private int getPackageExternalStorageType(PackageParser.Package pkg) {
+        final StorageManager storage = mContext.getSystemService(StorageManager.class);
+        VolumeInfo volume = storage.findVolumeByUuid(pkg.applicationInfo.storageUuid.toString());
+        if (volume != null) {
+            DiskInfo disk = volume.getDisk();
+            if (disk != null) {
+                if (disk.isSd()) {
+                    return StorageEnums.SD_CARD;
+                }
+                if (disk.isUsb()) {
+                    return StorageEnums.USB;
+                }
+                if (isExternal(pkg)) {
+                    return StorageEnums.OTHER;
+                }
+            }
+        }
+        return StorageEnums.UNKNOWN;
+    }
+
     private StorageEventListener mStorageListener = new StorageEventListener() {
         @Override
         public void onVolumeStateChanged(VolumeInfo vol, int oldState, int newState) {
@@ -2945,7 +2995,7 @@
                         + mSdkVersion + "; regranting permissions for internal storage");
             }
             mPermissionManager.updateAllPermissions(
-                    StorageManager.UUID_PRIVATE_INTERNAL, sdkUpdated, mPackages.values(),
+                    StorageManager.UUID_PRIVATE_INTERNAL, sdkUpdated, false, mPackages.values(),
                     mPermissionCallback);
             ver.sdkVersion = mSdkVersion;
 
@@ -5382,7 +5432,7 @@
 
         synchronized (mPackages) {
             mPermissionManager.updateAllPermissions(
-                    StorageManager.UUID_PRIVATE_INTERNAL, false, mPackages.values(),
+                    StorageManager.UUID_PRIVATE_INTERNAL, false, false, mPackages.values(),
                     mPermissionCallback);
             for (int userId : UserManagerService.getInstance().getUserIds()) {
                 final int packageCount = mPackages.size();
@@ -11058,6 +11108,8 @@
             pkg.mRealPackage = null;
             pkg.mAdoptPermissions = null;
         }
+
+        PackageBackwardCompatibility.modifySharedLibraries(pkg);
     }
 
     private static @NonNull <T> T assertNotNull(@Nullable T object, String message)
@@ -12317,7 +12369,7 @@
     }
 
     @Override
-    public void notifyPackageAdded(String packageName) {
+    public void notifyPackageAdded(String packageName, int uid) {
         final PackageListObserver[] observers;
         synchronized (mPackages) {
             if (mPackageListObservers.size() == 0) {
@@ -12328,7 +12380,7 @@
             observers = mPackageListObservers.toArray(observerArray);
         }
         for (int i = observers.length - 1; i >= 0; --i) {
-            observers[i].onPackageAdded(packageName);
+            observers[i].onPackageAdded(packageName, uid);
         }
     }
 
@@ -12339,7 +12391,7 @@
     };
 
     @Override
-    public void notifyPackageRemoved(String packageName) {
+    public void notifyPackageRemoved(String packageName, int uid) {
         final PackageListObserver[] observers;
         synchronized (mPackages) {
             if (mPackageListObservers.size() == 0) {
@@ -12350,7 +12402,7 @@
             observers = mPackageListObservers.toArray(observerArray);
         }
         for (int i = observers.length - 1; i >= 0; --i) {
-            observers[i].onPackageRemoved(packageName);
+            observers[i].onPackageRemoved(packageName, uid);
         }
     }
 
@@ -12937,6 +12989,8 @@
         final List<String> changedPackagesList = new ArrayList<>(packageNames.length);
         final IntArray changedUids = new IntArray(packageNames.length);
         final List<String> unactionedPackages = new ArrayList<>(packageNames.length);
+        final boolean[] canRestrict = (restrictionFlags != 0) ? canSuspendPackageForUserInternal(
+                packageNames, userId) : null;
 
         for (int i = 0; i < packageNames.length; i++) {
             final String packageName = packageNames[i];
@@ -12950,7 +13004,7 @@
                     continue;
                 }
             }
-            if (restrictionFlags != 0 && !canSuspendPackageForUserInternal(packageName, userId)) {
+            if (canRestrict != null && !canRestrict[i]) {
                 unactionedPackages.add(packageName);
                 continue;
             }
@@ -13007,6 +13061,8 @@
         final List<String> changedPackagesList = new ArrayList<>(packageNames.length);
         final IntArray changedUids = new IntArray(packageNames.length);
         final List<String> unactionedPackages = new ArrayList<>(packageNames.length);
+        final boolean[] canSuspend = suspended ? canSuspendPackageForUserInternal(packageNames,
+                userId) : null;
 
         for (int i = 0; i < packageNames.length; i++) {
             final String packageName = packageNames[i];
@@ -13026,7 +13082,7 @@
                     continue;
                 }
             }
-            if (suspended && !canSuspendPackageForUserInternal(packageName, userId)) {
+            if (canSuspend != null && !canSuspend[i]) {
                 unactionedPackages.add(packageName);
                 continue;
             }
@@ -13190,87 +13246,97 @@
                     + " cannot query getUnsuspendablePackagesForUser for user " + userId);
         }
         final ArraySet<String> unactionablePackages = new ArraySet<>();
-        for (String packageName : packageNames) {
-            if (!canSuspendPackageForUserInternal(packageName, userId)) {
-                unactionablePackages.add(packageName);
+        final boolean[] canSuspend = canSuspendPackageForUserInternal(packageNames, userId);
+        for (int i = 0; i < packageNames.length; i++) {
+            if (!canSuspend[i]) {
+                unactionablePackages.add(packageNames[i]);
             }
         }
         return unactionablePackages.toArray(new String[unactionablePackages.size()]);
     }
 
-    private boolean canSuspendPackageForUserInternal(String packageName, int userId) {
+    /**
+     * Returns an array of booleans, such that the ith boolean denotes whether the ith package can
+     * be suspended or not.
+     *
+     * @param packageNames  The package names to check suspendability for.
+     * @param userId The user to check in
+     * @return An array containing results of the checks
+     */
+    @NonNull
+    private boolean[] canSuspendPackageForUserInternal(@NonNull String[] packageNames, int userId) {
+        final boolean[] canSuspend = new boolean[packageNames.length];
         final long callingId = Binder.clearCallingIdentity();
         try {
-            if (isPackageDeviceAdmin(packageName, userId)) {
-                Slog.w(TAG, "Cannot suspend package \"" + packageName
-                        + "\": has an active device admin");
-                return false;
-            }
+            final String activeLauncherPackageName = getActiveLauncherPackageName(userId);
+            final String dialerPackageName = getDefaultDialerPackageName(userId);
+            for (int i = 0; i < packageNames.length; i++) {
+                canSuspend[i] = false;
+                final String packageName = packageNames[i];
 
-            String activeLauncherPackageName = getActiveLauncherPackageName(userId);
-            if (packageName.equals(activeLauncherPackageName)) {
-                Slog.w(TAG, "Cannot suspend package \"" + packageName
-                        + "\": contains the active launcher");
-                return false;
-            }
-
-            if (packageName.equals(mRequiredInstallerPackage)) {
-                Slog.w(TAG, "Cannot suspend package \"" + packageName
-                        + "\": required for package installation");
-                return false;
-            }
-
-            if (packageName.equals(mRequiredUninstallerPackage)) {
-                Slog.w(TAG, "Cannot suspend package \"" + packageName
-                        + "\": required for package uninstallation");
-                return false;
-            }
-
-            if (packageName.equals(mRequiredVerifierPackage)) {
-                Slog.w(TAG, "Cannot suspend package \"" + packageName
-                        + "\": required for package verification");
-                return false;
-            }
-
-            if (packageName.equals(getDefaultDialerPackageName(userId))) {
-                Slog.w(TAG, "Cannot suspend package \"" + packageName
-                        + "\": is the default dialer");
-                return false;
-            }
-
-            if (packageName.equals(mRequiredPermissionControllerPackage)) {
-                Slog.w(TAG, "Cannot suspend package \"" + packageName
-                        + "\": required for permissions management");
-                return false;
-            }
-
-            synchronized (mPackages) {
-                if (mProtectedPackages.isPackageStateProtected(userId, packageName)) {
+                if (isPackageDeviceAdmin(packageName, userId)) {
                     Slog.w(TAG, "Cannot suspend package \"" + packageName
-                            + "\": protected package");
-                    return false;
+                            + "\": has an active device admin");
+                    continue;
                 }
-
-                // Cannot suspend static shared libs as they are considered
-                // a part of the using app (emulating static linking). Also
-                // static libs are installed always on internal storage.
-                PackageParser.Package pkg = mPackages.get(packageName);
-                if (pkg != null && pkg.applicationInfo.isStaticSharedLibrary()) {
-                    Slog.w(TAG, "Cannot suspend package: " + packageName
-                            + " providing static shared library: "
-                            + pkg.staticSharedLibName);
-                    return false;
+                if (packageName.equals(activeLauncherPackageName)) {
+                    Slog.w(TAG, "Cannot suspend package \"" + packageName
+                            + "\": contains the active launcher");
+                    continue;
                 }
-            }
+                if (packageName.equals(mRequiredInstallerPackage)) {
+                    Slog.w(TAG, "Cannot suspend package \"" + packageName
+                            + "\": required for package installation");
+                    continue;
+                }
+                if (packageName.equals(mRequiredUninstallerPackage)) {
+                    Slog.w(TAG, "Cannot suspend package \"" + packageName
+                            + "\": required for package uninstallation");
+                    continue;
+                }
+                if (packageName.equals(mRequiredVerifierPackage)) {
+                    Slog.w(TAG, "Cannot suspend package \"" + packageName
+                            + "\": required for package verification");
+                    continue;
+                }
+                if (packageName.equals(dialerPackageName)) {
+                    Slog.w(TAG, "Cannot suspend package \"" + packageName
+                            + "\": is the default dialer");
+                    continue;
+                }
+                if (packageName.equals(mRequiredPermissionControllerPackage)) {
+                    Slog.w(TAG, "Cannot suspend package \"" + packageName
+                            + "\": required for permissions management");
+                    continue;
+                }
+                synchronized (mPackages) {
+                    if (mProtectedPackages.isPackageStateProtected(userId, packageName)) {
+                        Slog.w(TAG, "Cannot suspend package \"" + packageName
+                                + "\": protected package");
+                        continue;
+                    }
 
-            if (PLATFORM_PACKAGE_NAME.equals(packageName)) {
-                Slog.w(TAG, "Cannot suspend the platform package: " + packageName);
-                return false;
+                    // Cannot suspend static shared libs as they are considered
+                    // a part of the using app (emulating static linking). Also
+                    // static libs are installed always on internal storage.
+                    PackageParser.Package pkg = mPackages.get(packageName);
+                    if (pkg != null && pkg.applicationInfo.isStaticSharedLibrary()) {
+                        Slog.w(TAG, "Cannot suspend package: " + packageName
+                                + " providing static shared library: "
+                                + pkg.staticSharedLibName);
+                        continue;
+                    }
+                }
+                if (PLATFORM_PACKAGE_NAME.equals(packageName)) {
+                    Slog.w(TAG, "Cannot suspend the platform package: " + packageName);
+                    continue;
+                }
+                canSuspend[i] = true;
             }
-            return true;
         } finally {
             Binder.restoreCallingIdentity(callingId);
         }
+        return canSuspend;
     }
 
     private String getActiveLauncherPackageName(int userId) {
@@ -14698,13 +14764,12 @@
                                 @Override
                                 public void onReceive(Context context, Intent intent) {
                                     // the duration to wait for rollback to be enabled, in millis
-                                    long rollbackTimeout = DEFAULT_ENABLE_ROLLBACK_TIMEOUT;
-                                    try {
-                                        rollbackTimeout = Long.valueOf(
-                                            DeviceConfig.getProperty(
-                                                DeviceConfig.Rollback.NAMESPACE,
-                                                DeviceConfig.Rollback.ENABLE_ROLLBACK_TIMEOUT));
-                                    } catch (NumberFormatException ignore) {
+                                    long rollbackTimeout = DeviceConfig.getLong(
+                                            DeviceConfig.NAMESPACE_ROLLBACK,
+                                            PROPERTY_ENABLE_ROLLBACK_TIMEOUT_MILLIS,
+                                            DEFAULT_ENABLE_ROLLBACK_TIMEOUT_MILLIS);
+                                    if (rollbackTimeout < 0) {
+                                        rollbackTimeout = DEFAULT_ENABLE_ROLLBACK_TIMEOUT_MILLIS;
                                     }
                                     final Message msg = mHandler.obtainMessage(
                                             ENABLE_ROLLBACK_TIMEOUT);
@@ -17905,7 +17970,8 @@
                 return;
             }
             Bundle extras = new Bundle(2);
-            extras.putInt(Intent.EXTRA_UID, removedAppId >= 0  ? removedAppId : uid);
+            final int removedUid = removedAppId >= 0  ? removedAppId : uid;
+            extras.putInt(Intent.EXTRA_UID, removedUid);
             extras.putBoolean(Intent.EXTRA_DATA_REMOVED, dataRemoved);
             extras.putBoolean(Intent.EXTRA_DONT_KILL_APP, !killApp);
             if (isUpdate || isRemovedPackageSystemUpdate) {
@@ -17926,7 +17992,7 @@
                         removedPackage, extras,
                         Intent.FLAG_RECEIVER_INCLUDE_BACKGROUND,
                         null, null, broadcastUsers, instantUserIds);
-                    packageSender.notifyPackageRemoved(removedPackage);
+                    packageSender.notifyPackageRemoved(removedPackage, removedUid);
                 }
             }
             if (removedAppId >= 0) {
@@ -20689,8 +20755,8 @@
         // try optimizing this.
         synchronized (mPackages) {
             mPermissionManager.updateAllPermissions(
-                    StorageManager.UUID_PRIVATE_INTERNAL, false, mPackages.values(),
-                    mPermissionCallback);
+                    StorageManager.UUID_PRIVATE_INTERNAL, false, mIsPreQUpgrade,
+                    mPackages.values(), mPermissionCallback);
         }
 
         // Watch for external volumes that come and go over time
@@ -21680,8 +21746,8 @@
                 logCriticalInfo(Log.INFO, "Platform changed from " + ver.sdkVersion + " to "
                         + mSdkVersion + "; regranting permissions for " + volumeUuid);
             }
-            mPermissionManager.updateAllPermissions(volumeUuid, sdkUpdated, mPackages.values(),
-                    mPermissionCallback);
+            mPermissionManager.updateAllPermissions(volumeUuid, sdkUpdated, false,
+                    mPackages.values(), mPermissionCallback);
 
             // Yay, everything is now upgraded
             ver.forceCurrent();
@@ -22680,7 +22746,7 @@
         synchronized(mPackages) {
             // NOTE: This adds UPDATE_PERMISSIONS_REPLACE_PKG
             mPermissionManager.updateAllPermissions(
-                    StorageManager.UUID_PRIVATE_INTERNAL, true, mPackages.values(),
+                    StorageManager.UUID_PRIVATE_INTERNAL, true, false, mPackages.values(),
                     mPermissionCallback);
         }
     }
@@ -23902,6 +23968,50 @@
                 mDefaultHomeProvider = provider;
             }
         }
+
+        @Override
+        public boolean isApexPackage(String packageName) {
+            return PackageManagerService.this.mApexManager.isApexPackage(packageName);
+        }
+
+        @Override
+        public void uninstallApex(String packageName, long versionCode, int userId,
+                IntentSender intentSender) {
+            final int callerUid = Binder.getCallingUid();
+            if (callerUid != Process.ROOT_UID && callerUid != Process.SHELL_UID) {
+                throw new SecurityException("Not allowed to uninstall apexes");
+            }
+            PackageInstallerService.PackageDeleteObserverAdapter adapter =
+                    new PackageInstallerService.PackageDeleteObserverAdapter(
+                            PackageManagerService.this.mContext, intentSender, packageName,
+                            false, userId);
+            if (userId != UserHandle.USER_ALL) {
+                adapter.onPackageDeleted(packageName, PackageManager.DELETE_FAILED_ABORTED,
+                        "Can't uninstall an apex for a single user");
+                return;
+            }
+            final ApexManager am = PackageManagerService.this.mApexManager;
+            PackageInfo activePackage = am.getActivePackage(packageName);
+            if (activePackage == null) {
+                adapter.onPackageDeleted(packageName, PackageManager.DELETE_FAILED_ABORTED,
+                        packageName + " is not an apex package");
+                return;
+            }
+            if (versionCode != PackageManager.VERSION_CODE_HIGHEST
+                    && activePackage.getLongVersionCode() != versionCode) {
+                adapter.onPackageDeleted(packageName, PackageManager.DELETE_FAILED_ABORTED,
+                        "Active version " + activePackage.getLongVersionCode()
+                                + " is not equal to " + versionCode + "]");
+                return;
+            }
+            if (!am.uninstallApex(activePackage.applicationInfo.sourceDir)) {
+                adapter.onPackageDeleted(packageName, PackageManager.DELETE_FAILED_ABORTED,
+                        "Failed to uninstall apex " + packageName);
+            } else {
+                adapter.onPackageDeleted(packageName, PackageManager.DELETE_SUCCEEDED,
+                        null);
+            }
+        }
     }
 
     @GuardedBy("mPackages")
@@ -24411,6 +24521,6 @@
         final IIntentReceiver finishedReceiver, final int[] userIds, int[] instantUserIds);
     void sendPackageAddedForNewUsers(String packageName, boolean sendBootCompleted,
         boolean includeStopped, int appId, int[] userIds, int[] instantUserIds);
-    void notifyPackageAdded(String packageName);
-    void notifyPackageRemoved(String packageName);
+    void notifyPackageAdded(String packageName, int uid);
+    void notifyPackageRemoved(String packageName, int uid);
 }
diff --git a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
index ff81ad5..a12005b 100644
--- a/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
+++ b/services/core/java/com/android/server/pm/PackageManagerServiceUtils.java
@@ -820,9 +820,9 @@
         // platform builds.
         //
         // In case of user builds, downgrade is permitted only for the system server initiated
-        // sessions. This is enforced by INSTALL_RESPECT_ALLOW_DOWNGRADE flag parameter.
+        // sessions. This is enforced by INSTALL_ALLOW_DOWNGRADE flag parameter.
         final boolean downgradeRequested =
-                (installFlags & PackageManager.INSTALL_ALLOW_DOWNGRADE) != 0;
+                (installFlags & PackageManager.INSTALL_REQUEST_DOWNGRADE) != 0;
         if (!downgradeRequested) {
             return false;
         }
@@ -832,7 +832,7 @@
         if (isDebuggable) {
             return true;
         }
-        return (installFlags & PackageManager.INSTALL_RESPECT_ALLOW_DOWNGRADE) != 0;
+        return (installFlags & PackageManager.INSTALL_ALLOW_DOWNGRADE) != 0;
     }
 
     /**
diff --git a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
index 114810d..2d1afa7 100644
--- a/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
+++ b/services/core/java/com/android/server/pm/PackageManagerShellCommand.java
@@ -1619,30 +1619,36 @@
         }
 
         userId = translateUserId(userId, true /*allowAll*/, "runUninstall");
-        if (userId == UserHandle.USER_ALL) {
-            userId = UserHandle.USER_SYSTEM;
-            flags |= PackageManager.DELETE_ALL_USERS;
-        } else {
-            final PackageInfo info = mInterface.getPackageInfo(packageName,
-                    PackageManager.MATCH_STATIC_SHARED_LIBRARIES, userId);
-            if (info == null) {
-                pw.println("Failure [not installed for " + userId + "]");
-                return 1;
-            }
-            final boolean isSystem =
-                    (info.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
-            // If we are being asked to delete a system app for just one
-            // user set flag so it disables rather than reverting to system
-            // version of the app.
-            if (isSystem) {
-                flags |= PackageManager.DELETE_SYSTEM_APP;
-            }
-        }
-
         final LocalIntentReceiver receiver = new LocalIntentReceiver();
-        mInterface.getPackageInstaller().uninstall(new VersionedPackage(packageName,
-                versionCode), null /*callerPackageName*/, flags,
-                receiver.getIntentSender(), userId);
+        PackageManagerInternal internal = LocalServices.getService(PackageManagerInternal.class);
+
+        if (internal.isApexPackage(packageName)) {
+            internal.uninstallApex(packageName, versionCode, userId, receiver.getIntentSender());
+        } else {
+            if (userId == UserHandle.USER_ALL) {
+                userId = UserHandle.USER_SYSTEM;
+                flags |= PackageManager.DELETE_ALL_USERS;
+            } else {
+                final PackageInfo info = mInterface.getPackageInfo(packageName,
+                        PackageManager.MATCH_STATIC_SHARED_LIBRARIES, userId);
+                if (info == null) {
+                    pw.println("Failure [not installed for " + userId + "]");
+                    return 1;
+                }
+                final boolean isSystem =
+                        (info.applicationInfo.flags & ApplicationInfo.FLAG_SYSTEM) != 0;
+                // If we are being asked to delete a system app for just one
+                // user set flag so it disables rather than reverting to system
+                // version of the app.
+                if (isSystem) {
+                    flags |= PackageManager.DELETE_SYSTEM_APP;
+                }
+            }
+
+            mInterface.getPackageInstaller().uninstall(new VersionedPackage(packageName,
+                            versionCode), null /*callerPackageName*/, flags,
+                    receiver.getIntentSender(), userId);
+        }
 
         final Intent result = receiver.getResult();
         final int status = result.getIntExtra(PackageInstaller.EXTRA_STATUS,
@@ -2337,7 +2343,7 @@
                     sessionParams.installFlags |= PackageManager.INSTALL_INTERNAL;
                     break;
                 case "-d":
-                    sessionParams.installFlags |= PackageManager.INSTALL_ALLOW_DOWNGRADE;
+                    sessionParams.installFlags |= PackageManager.INSTALL_REQUEST_DOWNGRADE;
                     break;
                 case "-g":
                     sessionParams.installFlags |= PackageManager.INSTALL_GRANT_RUNTIME_PERMISSIONS;
diff --git a/services/core/java/com/android/server/pm/Settings.java b/services/core/java/com/android/server/pm/Settings.java
index 59e5d77..459de1a 100644
--- a/services/core/java/com/android/server/pm/Settings.java
+++ b/services/core/java/com/android/server/pm/Settings.java
@@ -979,7 +979,7 @@
             // Try to revoke as an install permission which is for all users.
             // The package is gone - no need to keep flags for applying policy.
             permissionsState.updatePermissionFlags(bp, userId,
-                    PackageManager.MASK_PERMISSION_FLAGS, 0);
+                    PackageManager.MASK_PERMISSION_FLAGS_ALL, 0);
 
             if (permissionsState.revokeInstallPermission(bp) ==
                     PermissionsState.PERMISSION_OPERATION_SUCCESS_GIDS_CHANGED) {
@@ -2165,7 +2165,7 @@
                         XmlUtils.skipCurrentTag(parser);
                     } else {
                         permissionsState.updatePermissionFlags(bp, UserHandle.USER_ALL,
-                                PackageManager.MASK_PERMISSION_FLAGS, flags);
+                                PackageManager.MASK_PERMISSION_FLAGS_ALL, flags);
                     }
                 } else {
                     if (permissionsState.revokeInstallPermission(bp) ==
@@ -2174,7 +2174,7 @@
                         XmlUtils.skipCurrentTag(parser);
                     } else {
                         permissionsState.updatePermissionFlags(bp, UserHandle.USER_ALL,
-                                PackageManager.MASK_PERMISSION_FLAGS, flags);
+                                PackageManager.MASK_PERMISSION_FLAGS_ALL, flags);
                     }
                 }
             } else {
@@ -2693,6 +2693,7 @@
                 // seinfo     - seinfo label for the app (assigned at install time)
                 // gids       - supplementary gids this app launches with
                 // profileableFromShellFlag  - 0 or 1 if the package is profileable from shell.
+                // longVersionCode - integer version of the package.
                 //
                 // NOTE: We prefer not to expose all ApplicationInfo flags for now.
                 //
@@ -2720,6 +2721,8 @@
                 }
                 sb.append(" ");
                 sb.append(ai.isProfileableByShell() ? "1" : "0");
+                sb.append(" ");
+                sb.append(String.valueOf(ai.longVersionCode));
                 sb.append("\n");
                 writer.append(sb);
             }
@@ -5240,7 +5243,7 @@
                 if (bp != null) {
                     permissionsState.revokeRuntimePermission(bp, userId);
                     permissionsState.updatePermissionFlags(bp, userId,
-                            PackageManager.MASK_PERMISSION_FLAGS, 0);
+                            PackageManager.MASK_PERMISSION_FLAGS_ALL, 0);
                 }
             }
         }
@@ -5354,10 +5357,10 @@
                         if (granted) {
                             permissionsState.grantRuntimePermission(bp, userId);
                             permissionsState.updatePermissionFlags(bp, userId,
-                                        PackageManager.MASK_PERMISSION_FLAGS, flags);
+                                        PackageManager.MASK_PERMISSION_FLAGS_ALL, flags);
                         } else {
                             permissionsState.updatePermissionFlags(bp, userId,
-                                    PackageManager.MASK_PERMISSION_FLAGS, flags);
+                                    PackageManager.MASK_PERMISSION_FLAGS_ALL, flags);
                         }
 
                     } break;
diff --git a/services/core/java/com/android/server/pm/ShortcutPackage.java b/services/core/java/com/android/server/pm/ShortcutPackage.java
index d9a5eb9..eced165 100644
--- a/services/core/java/com/android/server/pm/ShortcutPackage.java
+++ b/services/core/java/com/android/server/pm/ShortcutPackage.java
@@ -22,6 +22,7 @@
 import android.content.ComponentName;
 import android.content.Intent;
 import android.content.IntentFilter;
+import android.content.LocusId;
 import android.content.pm.PackageInfo;
 import android.content.pm.ShortcutInfo;
 import android.content.pm.ShortcutManager;
@@ -1702,15 +1703,17 @@
             flags |= ShortcutInfo.FLAG_SHADOW;
         }
 
+        LocusId locusId = null; // LocusId is not  set on XML.
+
         return new ShortcutInfo(
-                userId, id, packageName, activityComponent, /* icon =*/ null,
+                userId, id, packageName, activityComponent, /* icon= */ null,
                 title, titleResId, titleResName, text, textResId, textResName,
                 disabledMessage, disabledMessageResId, disabledMessageResName,
                 categories,
                 intents.toArray(new Intent[intents.size()]),
                 rank, extras, lastChangedTimestamp, flags,
                 iconResId, iconResName, bitmapPath, disabledReason,
-                persons.toArray(new Person[persons.size()]));
+                persons.toArray(new Person[persons.size()]), locusId);
     }
 
     private static Intent parseIntent(XmlPullParser parser)
diff --git a/services/core/java/com/android/server/pm/ShortcutParser.java b/services/core/java/com/android/server/pm/ShortcutParser.java
index 668fc88..f9c0db0 100644
--- a/services/core/java/com/android/server/pm/ShortcutParser.java
+++ b/services/core/java/com/android/server/pm/ShortcutParser.java
@@ -450,7 +450,8 @@
                 null, // icon res name
                 null, // bitmap path
                 disabledReason,
-                null /* persons */);
+                null /* persons */,
+                null /* locusId */);
     }
 
     private static String parseCategory(ShortcutService service, AttributeSet attrs) {
diff --git a/services/core/java/com/android/server/pm/StagingManager.java b/services/core/java/com/android/server/pm/StagingManager.java
index 22a85eb..39c731c 100644
--- a/services/core/java/com/android/server/pm/StagingManager.java
+++ b/services/core/java/com/android/server/pm/StagingManager.java
@@ -17,6 +17,7 @@
 package com.android.server.pm;
 
 import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.apex.ApexInfo;
 import android.apex.ApexInfoList;
 import android.apex.ApexSessionInfo;
@@ -35,6 +36,7 @@
 import android.content.pm.ParceledListSlice;
 import android.content.pm.Signature;
 import android.content.rollback.IRollbackManager;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.IBinder;
@@ -67,7 +69,6 @@
     private static final String TAG = "StagingManager";
 
     private final PackageInstallerService mPi;
-    private final PackageManagerService mPm;
     private final ApexManager mApexManager;
     private final PowerManager mPowerManager;
     private final Handler mBgHandler;
@@ -75,9 +76,7 @@
     @GuardedBy("mStagedSessions")
     private final SparseArray<PackageInstallerSession> mStagedSessions = new SparseArray<>();
 
-    StagingManager(PackageManagerService pm, PackageInstallerService pi, ApexManager am,
-            Context context) {
-        mPm = pm;
+    StagingManager(PackageInstallerService pi, ApexManager am, Context context) {
         mPi = pi;
         mApexManager = am;
         mPowerManager = (PowerManager) context.getSystemService(Context.POWER_SERVICE);
@@ -117,9 +116,11 @@
         final PackageInfo packageInfo = mApexManager.getActivePackage(packageName);
 
         if (packageInfo == null) {
-            // TODO: What is the right thing to do here ? This implies there's no active package
-            // with the given name. This should never be the case in production (where we only
-            // accept updates to existing APEXes) but may be required for testing.
+            // Only allow installing new apexes if on a debuggable build.
+            if (!Build.IS_DEBUGGABLE) {
+                Slog.w(TAG, "Attempted to install new apex " + packageName + " on user build");
+                return false;
+            }
             return true;
         }
 
@@ -481,6 +482,27 @@
         mBgHandler.post(() -> preRebootVerification(session));
     }
 
+    @Nullable
+    PackageInstallerSession getActiveSession() {
+        synchronized (mStagedSessions) {
+            for (int i = 0; i < mStagedSessions.size(); i++) {
+                final PackageInstallerSession session = mStagedSessions.valueAt(i);
+                if (!session.isCommitted()) {
+                    continue;
+                }
+                if (session.hasParentSessionId()) {
+                    // Staging manager will finalize only parent session. Ignore child sessions
+                    // picking the active.
+                    continue;
+                }
+                if (!session.isStagedSessionApplied() && !session.isStagedSessionFailed()) {
+                    return session;
+                }
+            }
+        }
+        return null;
+    }
+
     void createSession(@NonNull PackageInstallerSession sessionInfo) {
         synchronized (mStagedSessions) {
             mStagedSessions.append(sessionInfo.sessionId, sessionInfo);
@@ -495,22 +517,24 @@
 
     void abortCommittedSession(@NonNull PackageInstallerSession session) {
         if (session.isStagedSessionApplied()) {
-            Slog.w(TAG, "Cannot abort applied session!");
+            Slog.w(TAG, "Cannot abort applied session : " + session.sessionId);
             return;
         }
-        if (isStagedSessionFinalized(session.sessionId)) {
-            Slog.w(TAG, "Cannot abort session because it is not active or APEXD is not reachable");
-            return;
-        }
-
-        mApexManager.abortActiveSession();
-
         abortSession(session);
+
+        boolean hasApex = sessionContainsApex(session);
+        if (hasApex) {
+            ApexSessionInfo apexSession = mApexManager.getStagedSessionInfo(session.sessionId);
+            if (apexSession == null || isApexSessionFinalized(apexSession)) {
+                Slog.w(TAG,
+                        "Cannot abort session because it is not active or APEXD is not reachable");
+                return;
+            }
+            mApexManager.abortActiveSession();
+        }
     }
 
-    private boolean isStagedSessionFinalized(int sessionId) {
-        ApexSessionInfo session = mApexManager.getStagedSessionInfo(sessionId);
-
+    private boolean isApexSessionFinalized(ApexSessionInfo session) {
         /* checking if the session is in a final state, i.e., not active anymore */
         return session.isUnknown || session.isActivationFailed || session.isSuccess
                 || session.isRolledBack;
@@ -569,6 +593,10 @@
     }
 
     private void checkStateAndResume(@NonNull PackageInstallerSession session) {
+        if (!session.isCommitted()) {
+            // Session hasn't been committed yet, ignore.
+            return;
+        }
         // Check the state of the session and decide what to do next.
         if (session.isStagedSessionFailed() || session.isStagedSessionApplied()) {
             // Final states, nothing to do.
diff --git a/services/core/java/com/android/server/pm/TEST_MAPPING b/services/core/java/com/android/server/pm/TEST_MAPPING
index 24b38e7..15dc6ae 100644
--- a/services/core/java/com/android/server/pm/TEST_MAPPING
+++ b/services/core/java/com/android/server/pm/TEST_MAPPING
@@ -12,7 +12,7 @@
   ],
   "imports": [
     {
-      "path": "system/apex/tests"
+      "path": "frameworks/base/core/java/android/content/pm"
     }
   ]
 }
diff --git a/services/core/java/com/android/server/pm/UserManagerService.java b/services/core/java/com/android/server/pm/UserManagerService.java
index 3744f68..316a9c0 100644
--- a/services/core/java/com/android/server/pm/UserManagerService.java
+++ b/services/core/java/com/android/server/pm/UserManagerService.java
@@ -1144,6 +1144,19 @@
     }
 
     @Override
+    public String getUserName() {
+        if (!hasManageUsersOrPermission(android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED)) {
+            throw new SecurityException("You need MANAGE_USERS or GET_ACCOUNTS_PRIVILEGED "
+                    + "permissions to: get user name");
+        }
+        final int userId = UserHandle.getUserId(Binder.getCallingUid());
+        synchronized (mUsersLock) {
+            UserInfo userInfo = userWithName(getUserInfoLU(userId));
+            return userInfo == null ? "" : userInfo.name;
+        }
+    }
+
+    @Override
     public long getUserStartRealtime() {
         final int userId = UserHandle.getUserId(Binder.getCallingUid());
         synchronized (mUsersLock) {
@@ -1299,7 +1312,12 @@
             }
         }
         if (changed) {
-            sendUserInfoChangedBroadcast(userId);
+            long ident = Binder.clearCallingIdentity();
+            try {
+                sendUserInfoChangedBroadcast(userId);
+            } finally {
+                Binder.restoreCallingIdentity(ident);
+            }
         }
     }
 
@@ -1324,7 +1342,10 @@
 
     @Override
     public ParcelFileDescriptor getUserIcon(int targetUserId) {
-        checkManageUsersPermission("get user icon");
+        if (!hasManageUsersOrPermission(android.Manifest.permission.GET_ACCOUNTS_PRIVILEGED)) {
+            throw new SecurityException("You need MANAGE_USERS or GET_ACCOUNTS_PRIVILEGED "
+                    + "permissions to: get user icon");
+        }
         String iconPath;
         synchronized (mPackagesLock) {
             UserInfo targetUserInfo = getUserInfoNoChecks(targetUserId);
@@ -1941,15 +1962,23 @@
 
     /**
      * @return whether the calling UID is system UID or root's UID or the calling app has the
-     * {@link android.Manifest.permission#MANAGE_USERS MANAGE_USERS} or
-     * {@link android.Manifest.permission#CREATE_USERS CREATE_USERS}.
+     * {@link android.Manifest.permission#MANAGE_USERS MANAGE_USERS} or the provided permission.
      */
-    private static final boolean hasManageOrCreateUsersPermission() {
+    private static final boolean hasManageUsersOrPermission(String alternativePermission) {
         final int callingUid = Binder.getCallingUid();
         return UserHandle.isSameApp(callingUid, Process.SYSTEM_UID)
                 || callingUid == Process.ROOT_UID
                 || hasPermissionGranted(android.Manifest.permission.MANAGE_USERS, callingUid)
-                || hasPermissionGranted(android.Manifest.permission.CREATE_USERS, callingUid);
+                || hasPermissionGranted(alternativePermission, callingUid);
+    }
+
+    /**
+     * @return whether the calling UID is system UID or root's UID or the calling app has the
+     * {@link android.Manifest.permission#MANAGE_USERS MANAGE_USERS} or
+     * {@link android.Manifest.permission#CREATE_USERS CREATE_USERS}.
+     */
+    private static final boolean hasManageOrCreateUsersPermission() {
+        return hasManageUsersOrPermission(android.Manifest.permission.CREATE_USERS);
     }
 
     /**
diff --git a/services/core/java/com/android/server/pm/UserRestrictionsUtils.java b/services/core/java/com/android/server/pm/UserRestrictionsUtils.java
index 7e4365d..ae4ff03 100644
--- a/services/core/java/com/android/server/pm/UserRestrictionsUtils.java
+++ b/services/core/java/com/android/server/pm/UserRestrictionsUtils.java
@@ -120,6 +120,7 @@
             UserManager.DISALLOW_UNMUTE_DEVICE,
             UserManager.DISALLOW_AUTOFILL,
             UserManager.DISALLOW_CONTENT_CAPTURE,
+            UserManager.DISALLOW_CONTENT_SUGGESTIONS,
             UserManager.DISALLOW_USER_SWITCH,
             UserManager.DISALLOW_UNIFIED_PASSWORD,
             UserManager.DISALLOW_CONFIG_LOCATION,
diff --git a/services/core/java/com/android/server/pm/dex/DexManager.java b/services/core/java/com/android/server/pm/dex/DexManager.java
index 3b805d51..f56231f 100644
--- a/services/core/java/com/android/server/pm/dex/DexManager.java
+++ b/services/core/java/com/android/server/pm/dex/DexManager.java
@@ -16,7 +16,7 @@
 
 package com.android.server.pm.dex;
 
-import static android.provider.DeviceConfig.DexBoot;
+import static android.provider.DeviceConfig.NAMESPACE_DEX_BOOT;
 
 import static com.android.server.pm.InstructionSets.getAppDexInstructionSets;
 import static com.android.server.pm.dex.PackageDexUsage.DexUseInfo;
@@ -72,6 +72,10 @@
     private static final String PROPERTY_NAME_PM_DEXOPT_PRIV_APPS_OOB_LIST =
             "pm.dexopt.priv-apps-oob-list";
 
+    // flags for Device Config API
+    private static final String PRIV_APPS_OOB_ENABLED = "priv_apps_oob_enabled";
+    private static final String PRIV_APPS_OOB_WHITELIST = "priv_apps_oob_whitelist";
+
     private static final boolean DEBUG = Log.isLoggable(TAG, Log.DEBUG);
 
     private final Context mContext;
@@ -713,8 +717,8 @@
         return isPackageSelectedToRunOobInternal(
                 SystemProperties.getBoolean(PROPERTY_NAME_PM_DEXOPT_PRIV_APPS_OOB, false),
                 SystemProperties.get(PROPERTY_NAME_PM_DEXOPT_PRIV_APPS_OOB_LIST, "ALL"),
-                DeviceConfig.getProperty(DexBoot.NAMESPACE, DexBoot.PRIV_APPS_OOB_ENABLED),
-                DeviceConfig.getProperty(DexBoot.NAMESPACE, DexBoot.PRIV_APPS_OOB_WHITELIST),
+                DeviceConfig.getProperty(NAMESPACE_DEX_BOOT, PRIV_APPS_OOB_ENABLED),
+                DeviceConfig.getProperty(NAMESPACE_DEX_BOOT, PRIV_APPS_OOB_WHITELIST),
                 packageNamesInSameProcess);
     }
 
diff --git a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java b/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
index 1d6e581..e9077a9 100644
--- a/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
+++ b/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java
@@ -155,11 +155,6 @@
         ACTIVITY_RECOGNITION_PERMISSIONS.add(Manifest.permission.ACTIVITY_RECOGNITION);
     }
 
-    private static final Set<String> COARSE_LOCATION_PERMISSIONS = new ArraySet<>();
-    static {
-        COARSE_LOCATION_PERMISSIONS.add(Manifest.permission.ACCESS_COARSE_LOCATION);
-    }
-
     private static final Set<String> CALENDAR_PERMISSIONS = new ArraySet<>();
     static {
         CALENDAR_PERMISSIONS.add(Manifest.permission.READ_CALENDAR);
@@ -657,13 +652,13 @@
                         PHONE_PERMISSIONS, SMS_PERMISSIONS, CAMERA_PERMISSIONS,
                         SENSORS_PERMISSIONS, STORAGE_PERMISSIONS, MEDIA_AURAL_PERMISSIONS);
                 grantSystemFixedPermissionsToSystemPackage(packageName, userId,
-                        LOCATION_PERMISSIONS, ACTIVITY_RECOGNITION_PERMISSIONS);
+                        ALWAYS_LOCATION_PERMISSIONS, ACTIVITY_RECOGNITION_PERMISSIONS);
             }
         }
         if (locationExtraPackageNames != null) {
             // Also grant location permission to location extra packages.
             for (String packageName : locationExtraPackageNames) {
-                grantPermissionsToSystemPackage(packageName, userId, LOCATION_PERMISSIONS);
+                grantPermissionsToSystemPackage(packageName, userId, ALWAYS_LOCATION_PERMISSIONS);
             }
         }
 
@@ -709,6 +704,12 @@
                         TelephonyManager.ACTION_EMERGENCY_ASSISTANCE, userId),
                 userId, CONTACTS_PERMISSIONS, PHONE_PERMISSIONS);
 
+        // STOPSHIP(b/128289173): remove once EmergencyInfo app was replaced.
+        grantSystemFixedPermissionsToSystemPackage(
+                getDefaultSystemHandlerActivityPackage(
+                        "com.android.emergency.action.EMERGENCY_ASSISTANCE", userId),
+                userId, CONTACTS_PERMISSIONS, PHONE_PERMISSIONS);
+
         // NFC Tag viewer
         Intent nfcTagIntent = new Intent(Intent.ACTION_VIEW)
                 .setType("vnd.android.cursor.item/ndef_msg");
@@ -803,8 +804,7 @@
 
     private void grantDefaultPermissionsToDefaultSystemUseOpenWifiApp(
             String useOpenWifiPackage, int userId) {
-        grantPermissionsToSystemPackage(
-                useOpenWifiPackage, userId, COARSE_LOCATION_PERMISSIONS);
+        grantPermissionsToSystemPackage(useOpenWifiPackage, userId, ALWAYS_LOCATION_PERMISSIONS);
     }
 
     public void grantDefaultPermissionsToDefaultSmsApp(String packageName, int userId) {
@@ -824,7 +824,7 @@
 
     public void grantDefaultPermissionsToDefaultUseOpenWifiApp(String packageName, int userId) {
         Log.i(TAG, "Granting permissions to default Use Open WiFi app for user:" + userId);
-        grantIgnoringSystemPackage(packageName, userId, COARSE_LOCATION_PERMISSIONS);
+        grantIgnoringSystemPackage(packageName, userId, ALWAYS_LOCATION_PERMISSIONS);
     }
 
     public void grantDefaultPermissionsToDefaultSimCallManager(String packageName, int userId) {
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
index 03da962..897b885 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerService.java
@@ -16,14 +16,11 @@
 
 package com.android.server.pm.permission;
 
-import static android.Manifest.permission.ACCESS_BACKGROUND_LOCATION;
 import static android.Manifest.permission.READ_EXTERNAL_STORAGE;
 import static android.Manifest.permission.WRITE_EXTERNAL_STORAGE;
 import static android.app.AppOpsManager.MODE_ALLOWED;
-import static android.app.AppOpsManager.MODE_DEFAULT;
 import static android.app.AppOpsManager.MODE_ERRORED;
 import static android.app.AppOpsManager.MODE_FOREGROUND;
-import static android.app.AppOpsManager.MODE_IGNORED;
 import static android.app.AppOpsManager.OP_NONE;
 import static android.app.AppOpsManager.permissionToOp;
 import static android.app.AppOpsManager.permissionToOpCode;
@@ -35,7 +32,7 @@
 import static android.content.pm.PackageManager.FLAG_PERMISSION_SYSTEM_FIXED;
 import static android.content.pm.PackageManager.FLAG_PERMISSION_USER_FIXED;
 import static android.content.pm.PackageManager.FLAG_PERMISSION_USER_SET;
-import static android.content.pm.PackageManager.MASK_PERMISSION_FLAGS;
+import static android.content.pm.PackageManager.MASK_PERMISSION_FLAGS_ALL;
 import static android.os.Trace.TRACE_TAG_PACKAGE_MANAGER;
 import static android.os.UserHandle.getAppId;
 import static android.os.UserHandle.getUid;
@@ -77,6 +74,7 @@
 import android.permission.PermissionControllerManager;
 import android.permission.PermissionManager;
 import android.permission.PermissionManagerInternal;
+import android.provider.Settings;
 import android.text.TextUtils;
 import android.util.ArrayMap;
 import android.util.ArraySet;
@@ -140,6 +138,18 @@
     /** Empty array to avoid allocations */
     private static final int[] EMPTY_INT_ARRAY = new int[0];
 
+    /**
+     * When these flags are set, the system should not automatically modify the permission grant
+     * state.
+     */
+    private static final int BLOCKING_PERMISSION_FLAGS = FLAG_PERMISSION_SYSTEM_FIXED
+            | FLAG_PERMISSION_POLICY_FIXED
+            | FLAG_PERMISSION_GRANTED_BY_DEFAULT;
+
+    /** Permission flags set by the user */
+    private static final int USER_PERMISSION_FLAGS = FLAG_PERMISSION_USER_SET
+            | FLAG_PERMISSION_USER_FIXED;
+
     /** If the permission of the value is granted, so is the key */
     private static final Map<String, String> FULLER_PERMISSION_MAP = new HashMap<>();
 
@@ -970,7 +980,7 @@
                                     // Revoke the runtime permission and clear the flags.
                                     origPermissions.revokeRuntimePermission(bp, userId);
                                     origPermissions.updatePermissionFlags(bp, userId,
-                                          PackageManager.MASK_PERMISSION_FLAGS, 0);
+                                            PackageManager.MASK_PERMISSION_FLAGS_ALL, 0);
                                     // If we revoked a permission permission, we have to write.
                                     updatedUserIds = ArrayUtils.appendInt(
                                             updatedUserIds, userId);
@@ -1033,7 +1043,7 @@
                                 }
 
                                 permissionsState.updatePermissionFlags(bp, userId,
-                                        MASK_PERMISSION_FLAGS, flags);
+                                        MASK_PERMISSION_FLAGS_ALL, flags);
                             }
                         } break;
 
@@ -1048,7 +1058,7 @@
                             if (origPermissions.revokeInstallPermission(bp)
                                     != PERMISSION_OPERATION_FAILURE) {
                                 origPermissions.updatePermissionFlags(bp, UserHandle.USER_ALL,
-                                        PackageManager.MASK_PERMISSION_FLAGS, 0);
+                                        MASK_PERMISSION_FLAGS_ALL, 0);
                                 changedInstallPermission = true;
                             }
 
@@ -1084,7 +1094,7 @@
                                 }
 
                                 permissionsState.updatePermissionFlags(bp, userId,
-                                        MASK_PERMISSION_FLAGS, flags);
+                                        MASK_PERMISSION_FLAGS_ALL, flags);
                             }
                         } break;
 
@@ -1104,7 +1114,7 @@
                             PERMISSION_OPERATION_FAILURE) {
                         // Also drop the permission flags.
                         permissionsState.updatePermissionFlags(bp, UserHandle.USER_ALL,
-                                PackageManager.MASK_PERMISSION_FLAGS, 0);
+                                MASK_PERMISSION_FLAGS_ALL, 0);
                         changedInstallPermission = true;
                         Slog.i(TAG, "Un-granting permission " + perm
                                 + " from package " + pkg.packageName
@@ -1203,9 +1213,8 @@
 
                             int flagsToRemove = FLAG_PERMISSION_REVOKE_WHEN_REQUESTED;
 
-                            if ((flags & (FLAG_PERMISSION_GRANTED_BY_DEFAULT
-                                    | FLAG_PERMISSION_POLICY_FIXED | FLAG_PERMISSION_SYSTEM_FIXED))
-                                    == 0 && supportsRuntimePermissions) {
+                            if ((flags & BLOCKING_PERMISSION_FLAGS) == 0
+                                    && supportsRuntimePermissions) {
                                 int revokeResult = ps.revokeRuntimePermission(bp, userId);
                                 if (revokeResult != PERMISSION_OPERATION_FAILURE) {
                                     if (DEBUG_PERMISSIONS) {
@@ -1215,8 +1224,7 @@
                                     }
                                 }
 
-                                flagsToRemove |=
-                                        FLAG_PERMISSION_USER_FIXED | FLAG_PERMISSION_USER_SET;
+                                flagsToRemove |= USER_PERMISSION_FLAGS;
 
                                 List<String> fgPerms = mBackgroundPermissions.get(permission);
                                 if (fgPerms != null) {
@@ -1265,12 +1273,13 @@
             @NonNull ArraySet<String> sourcePerms, @NonNull String newPerm,
             @NonNull PermissionsState ps, @NonNull PackageParser.Package pkg,
             @UserIdInt int userId) {
-        AppOpsManager appOpsManager = mContext.getSystemService(AppOpsManager.class);
+        AppOpsManagerInternal appOpsManager = LocalServices.getService(AppOpsManagerInternal.class);
         String pkgName = pkg.packageName;
 
         if (pkg.applicationInfo.targetSdkVersion < Build.VERSION_CODES.M) {
             if (permissionToOp(newPerm) != null) {
                 int mostLenientSourceMode = MODE_ERRORED;
+                int flags = 0;
 
                 // Find most lenient source permission state.
                 int numSourcePerms = sourcePerms.size();
@@ -1278,26 +1287,25 @@
                     String sourcePerm = sourcePerms.valueAt(i);
 
                     if (ps.hasRuntimePermission(sourcePerm, userId)) {
-                        String sourceOp = permissionToOp(sourcePerm);
+                        int sourceOp = permissionToOpCode(sourcePerm);
 
-                        if (sourceOp != null) {
-                            int mode = appOpsManager.unsafeCheckOpRaw(sourceOp,
+                        if (sourceOp != OP_NONE) {
+                            int mode = appOpsManager.checkOperationUnchecked(sourceOp,
                                     getUid(userId, getAppId(pkg.applicationInfo.uid)), pkgName);
 
-                            if (mode == MODE_FOREGROUND) {
-                                throw new IllegalArgumentException("split permission" + sourcePerm
-                                        + " has app-op state " + AppOpsManager.MODE_NAMES[mode]);
+                            if (mode == MODE_FOREGROUND || mode == MODE_ERRORED) {
+                                Log.wtf(TAG, "split permission" + sourcePerm + " has app-op state "
+                                        + AppOpsManager.MODE_NAMES[mode]);
+
+                                continue;
                             }
 
-                            // Leniency order: allowed > ignored > default
-                            if (mode == MODE_ALLOWED) {
-                                mostLenientSourceMode = MODE_ALLOWED;
-                                break;
-                            } else if (mode == MODE_IGNORED) {
-                                mostLenientSourceMode = MODE_IGNORED;
-                            } else if (mode == MODE_DEFAULT
-                                    && mostLenientSourceMode != MODE_IGNORED) {
-                                mostLenientSourceMode = MODE_DEFAULT;
+                            // Leniency order: allowed < ignored < default
+                            if (mode < mostLenientSourceMode) {
+                                mostLenientSourceMode = mode;
+                                flags = ps.getPermissionFlags(sourcePerm, userId);
+                            } else if (mode == mostLenientSourceMode) {
+                                flags |= ps.getPermissionFlags(sourcePerm, userId);
                             }
                         }
                     }
@@ -1310,21 +1318,31 @@
                     }
 
                     setAppOpMode(newPerm, pkg, userId, mostLenientSourceMode);
+
+                    // Add permission flags
+                    ps.updatePermissionFlags(mSettings.getPermission(newPerm), userId, flags,
+                            flags);
                 }
             }
         } else {
             boolean isGranted = false;
+            int flags = 0;
 
             int numSourcePerm = sourcePerms.size();
             for (int i = 0; i < numSourcePerm; i++) {
                 String sourcePerm = sourcePerms.valueAt(i);
-                if (ps.hasRuntimePermission(sourcePerm, userId)
-                        && ps.getRuntimePermissionState(sourcePerm, userId).isGranted()) {
+                if ((ps.hasRuntimePermission(sourcePerm, userId))
+                        || ps.hasInstallPermission(sourcePerm)) {
+                    if (!isGranted) {
+                        flags = 0;
+                    }
+
                     isGranted = true;
-                    break;
-                } else if (ps.hasInstallPermission(sourcePerm)) {
-                    isGranted = true;
-                    break;
+                    flags |= ps.getPermissionFlags(sourcePerm, userId);
+                } else {
+                    if (!isGranted) {
+                        flags |= ps.getPermissionFlags(sourcePerm, userId);
+                    }
                 }
             }
 
@@ -1336,6 +1354,9 @@
 
                 ps.grantRuntimePermission(mSettings.getPermissionLocked(newPerm), userId);
             }
+
+            // Add permission flags
+            ps.updatePermissionFlags(mSettings.getPermission(newPerm), userId, flags, flags);
         }
     }
 
@@ -1353,8 +1374,6 @@
             @NonNull PermissionsState origPs,
             @NonNull PermissionsState ps, @NonNull PackageParser.Package pkg,
             @NonNull int[] updatedUserIds) {
-        AppOpsManager appOpsManager = mContext.getSystemService(AppOpsManager.class);
-
         String pkgName = pkg.packageName;
         ArraySet<String> newImplicitPermissions = new ArraySet<>();
 
@@ -1417,49 +1436,29 @@
                                 FLAG_PERMISSION_REVOKE_WHEN_REQUESTED);
                         updatedUserIds = ArrayUtils.appendInt(updatedUserIds, userId);
 
-                        // SPECIAL BEHAVIOR for background location. Foreground only by default.
-                        if (newPerm.equals(ACCESS_BACKGROUND_LOCATION)) {
-                            int numSourcePerms = sourcePerms.size();
-                            for (int sourcePermNum = 0; sourcePermNum < numSourcePerms;
-                                    sourcePermNum++) {
-                                String sourcePerm = sourcePerms.valueAt(sourcePermNum);
-
-                                if (ps.hasRuntimePermission(sourcePerm, userId)
-                                        && ps.getRuntimePermissionState(sourcePerm, userId)
-                                        .isGranted()
-                                        && appOpsManager.unsafeCheckOpNoThrow(
-                                                permissionToOp(sourcePerm), getUid(userId,
-                                                getAppId(pkg.applicationInfo.uid)), pkgName)
-                                        == MODE_ALLOWED) {
-                                    setAppOpMode(sourcePerm, pkg, userId, MODE_FOREGROUND);
-                                }
-                            }
-                        } else {
-                            boolean inheritsFromInstallPerm = false;
-                            for (int sourcePermNum = 0; sourcePermNum < sourcePerms.size();
-                                    sourcePermNum++) {
-                                if (ps.hasInstallPermission(sourcePerms.valueAt(sourcePermNum))) {
-                                    inheritsFromInstallPerm = true;
-                                    break;
-                                }
-                            }
-
-                            if (!origPs.hasRequestedPermission(sourcePerms)
-                                    && !inheritsFromInstallPerm) {
-                                // Both permissions are new so nothing to inherit.
-                                if (DEBUG_PERMISSIONS) {
-                                    Slog.i(TAG, newPerm + " does not inherit from " + sourcePerms
-                                            + " for " + pkgName
-                                            + " as split permission is also new");
-                                }
-
+                        boolean inheritsFromInstallPerm = false;
+                        for (int sourcePermNum = 0; sourcePermNum < sourcePerms.size();
+                                sourcePermNum++) {
+                            if (ps.hasInstallPermission(sourcePerms.valueAt(sourcePermNum))) {
+                                inheritsFromInstallPerm = true;
                                 break;
-                            } else {
-                                // Inherit from new install or existing runtime permissions
-                                inheritPermissionStateToNewImplicitPermissionLocked(sourcePerms,
-                                        newPerm, ps, pkg, userId);
                             }
                         }
+
+                        if (!origPs.hasRequestedPermission(sourcePerms)
+                                && !inheritsFromInstallPerm) {
+                            // Both permissions are new so nothing to inherit.
+                            if (DEBUG_PERMISSIONS) {
+                                Slog.i(TAG, newPerm + " does not inherit from " + sourcePerms
+                                        + " for " + pkgName + " as split permission is also new");
+                            }
+
+                            break;
+                        } else {
+                            // Inherit from new install or existing runtime permissions
+                            inheritPermissionStateToNewImplicitPermissionLocked(sourcePerms,
+                                    newPerm, ps, pkg, userId);
+                        }
                     }
                 }
             }
@@ -2181,7 +2180,7 @@
                 if (bp != null) {
                     permissionsState.revokeInstallPermission(bp);
                     permissionsState.updatePermissionFlags(bp, UserHandle.USER_ALL,
-                            PackageManager.MASK_PERMISSION_FLAGS, 0);
+                            MASK_PERMISSION_FLAGS_ALL, 0);
                 }
             }
         }
@@ -2200,7 +2199,7 @@
                     if (bp != null) {
                         permissionsState.revokeRuntimePermission(bp, userId);
                         permissionsState.updatePermissionFlags(bp, userId,
-                                PackageManager.MASK_PERMISSION_FLAGS, 0);
+                                MASK_PERMISSION_FLAGS_ALL, 0);
                         runtimePermissionChangedUserIds = ArrayUtils.appendInt(
                                 runtimePermissionChangedUserIds, userId);
                     }
@@ -2230,7 +2229,7 @@
             return 0;
         }
 
-        enforceGrantRevokeRuntimePermissionPermissions("getPermissionFlags");
+        enforceGrantRevokeGetRuntimePermissionPermissions("getPermissionFlags");
 
         enforceCrossUserPermission(callingUid, userId,
                 true,  // requireFullPermission
@@ -2275,12 +2274,62 @@
     }
 
     private void updateAllPermissions(String volumeUuid, boolean sdkUpdated,
-            Collection<PackageParser.Package> allPackages, PermissionCallback callback) {
+            boolean updatePermissionsOnPreQUpdate, Collection<PackageParser.Package> allPackages,
+            PermissionCallback callback) {
         final int flags = UPDATE_PERMISSIONS_ALL |
                 (sdkUpdated
                         ? UPDATE_PERMISSIONS_REPLACE_PKG | UPDATE_PERMISSIONS_REPLACE_ALL
                         : 0);
         updatePermissions(null, null, volumeUuid, flags, allPackages, callback);
+
+        if (updatePermissionsOnPreQUpdate) {
+            final int[] userIds = UserManagerService.getInstance().getUserIds();
+
+            for (PackageParser.Package pkg : allPackages) {
+                final PackageSetting ps = (PackageSetting) pkg.mExtras;
+                if (ps == null) {
+                    return;
+                }
+
+                final boolean appSupportsRuntimePermissions =
+                        pkg.applicationInfo.targetSdkVersion >= Build.VERSION_CODES.M;
+                final PermissionsState permsState = ps.getPermissionsState();
+
+                for (String permName : new String[]{Manifest.permission.ACCESS_FINE_LOCATION,
+                        Manifest.permission.ACCESS_COARSE_LOCATION,
+                        Manifest.permission.ACCESS_BACKGROUND_LOCATION}) {
+                    final BasePermission bp = mSettings.getPermissionLocked(permName);
+
+                    for (int userId : userIds) {
+                        if (Settings.Secure.getIntForUser(mContext.getContentResolver(),
+                                Settings.Secure.LOCATION_PERMISSIONS_UPGRADE_TO_Q_MODE, 0, userId)
+                                != 0) {
+                            continue;
+                        }
+
+                        final PermissionState permState = permsState.getRuntimePermissionState(
+                                permName, userId);
+
+                        if (permState != null
+                                && (permState.getFlags() & BLOCKING_PERMISSION_FLAGS) == 0) {
+                            if (permState.isGranted()) {
+                                permsState.updatePermissionFlags(bp, userId,
+                                        USER_PERMISSION_FLAGS, 0);
+                            }
+
+                            if (appSupportsRuntimePermissions) {
+                                permsState.revokeRuntimePermission(bp, userId);
+                            } else {
+                                // Force a review even for apps that were already installed
+                                permsState.updatePermissionFlags(bp, userId,
+                                        FLAG_PERMISSION_REVIEW_REQUIRED,
+                                        FLAG_PERMISSION_REVIEW_REQUIRED);
+                            }
+                        }
+                    }
+                }
+            }
+        }
     }
 
     private void updatePermissions(String changingPkgName, PackageParser.Package changingPkg,
@@ -2547,6 +2596,20 @@
         }
     }
 
+    private void enforceGrantRevokeGetRuntimePermissionPermissions(@NonNull String message) {
+        if (mContext.checkCallingOrSelfPermission(Manifest.permission.GET_RUNTIME_PERMISSIONS)
+                != PackageManager.PERMISSION_GRANTED
+            && mContext.checkCallingOrSelfPermission(Manifest.permission.GRANT_RUNTIME_PERMISSIONS)
+                != PackageManager.PERMISSION_GRANTED
+            && mContext.checkCallingOrSelfPermission(Manifest.permission.REVOKE_RUNTIME_PERMISSIONS)
+                != PackageManager.PERMISSION_GRANTED) {
+            throw new SecurityException(message + " requires "
+                    + Manifest.permission.GRANT_RUNTIME_PERMISSIONS + " or "
+                    + Manifest.permission.REVOKE_RUNTIME_PERMISSIONS + " or "
+                    + Manifest.permission.GET_RUNTIME_PERMISSIONS);
+        }
+    }
+
     /**
      * Checks if the request is from the system or an app that has INTERACT_ACROSS_USERS
      * or INTERACT_ACROSS_USERS_FULL permissions, if the userid is not for the caller.
@@ -2735,9 +2798,10 @@
         }
         @Override
         public void updateAllPermissions(String volumeUuid, boolean sdkUpdated,
-                Collection<PackageParser.Package> allPackages, PermissionCallback callback) {
+                boolean updatePermissionsOnPreQUpdate, Collection<PackageParser.Package> allPackages,
+                PermissionCallback callback) {
             PermissionManagerService.this.updateAllPermissions(
-                    volumeUuid, sdkUpdated, allPackages, callback);
+                    volumeUuid, sdkUpdated, updatePermissionsOnPreQUpdate, allPackages, callback);
         }
         @Override
         public String[] getAppOpPermissionPackages(String permName) {
diff --git a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInternal.java b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInternal.java
index 305f165..6c09fa0 100644
--- a/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInternal.java
+++ b/services/core/java/com/android/server/pm/permission/PermissionManagerServiceInternal.java
@@ -83,7 +83,8 @@
     public abstract void updatePermissions(@Nullable String packageName,
             @Nullable PackageParser.Package pkg, boolean replaceGrant,
             @NonNull Collection<PackageParser.Package> allPacakges, PermissionCallback callback);
-    public abstract void updateAllPermissions(@Nullable String volumeUuid, boolean sdkUpdated,
+    public abstract void updateAllPermissions(@Nullable String volumeUuid, boolean sdkUpdate,
+            boolean updatePermissionsOnPreQUpdate,
             @NonNull Collection<PackageParser.Package> allPacakges, PermissionCallback callback);
 
     /**
diff --git a/services/core/java/com/android/server/policy/PhoneWindowManager.java b/services/core/java/com/android/server/policy/PhoneWindowManager.java
index c0e5974..e7c9a08 100644
--- a/services/core/java/com/android/server/policy/PhoneWindowManager.java
+++ b/services/core/java/com/android/server/policy/PhoneWindowManager.java
@@ -44,7 +44,6 @@
 import static android.view.WindowManager.LayoutParams.LAST_APPLICATION_WINDOW;
 import static android.view.WindowManager.LayoutParams.LAST_SUB_WINDOW;
 import static android.view.WindowManager.LayoutParams.LAST_SYSTEM_WINDOW;
-import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
 import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_IS_ROUNDED_CORNERS_OVERLAY;
 import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_KEYGUARD;
 import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_SHOW_FOR_ALL_USERS;
@@ -105,7 +104,6 @@
 import android.annotation.Nullable;
 import android.app.ActivityManager;
 import android.app.ActivityManagerInternal;
-import android.app.ActivityOptions;
 import android.app.ActivityTaskManager;
 import android.app.AppOpsManager;
 import android.app.IUiModeManager;
@@ -127,7 +125,6 @@
 import android.content.res.Resources;
 import android.content.res.TypedArray;
 import android.database.ContentObserver;
-import android.graphics.PixelFormat;
 import android.graphics.Rect;
 import android.graphics.drawable.Drawable;
 import android.hardware.display.DisplayManager;
@@ -211,7 +208,6 @@
 import com.android.internal.statusbar.IStatusBarService;
 import com.android.internal.util.ArrayUtils;
 import com.android.internal.util.ScreenshotHelper;
-import com.android.internal.widget.PointerLocationView;
 import com.android.server.ExtconStateObserver;
 import com.android.server.ExtconUEventObserver;
 import com.android.server.GestureLauncherService;
@@ -494,9 +490,6 @@
 
     private boolean mHandleVolumeKeysInWM;
 
-    int mPointerLocationMode = 0; // guarded by mLock
-    PointerLocationView mPointerLocationView;
-
     private boolean mPendingKeyguardOccluded;
     private boolean mKeyguardOccludedChanged;
     private boolean mNotifyUserActivity;
@@ -619,8 +612,6 @@
     private boolean mPerDisplayFocusEnabled = false;
     private volatile int mTopFocusedDisplayId = INVALID_DISPLAY;
 
-    private static final int MSG_ENABLE_POINTER_LOCATION = 1;
-    private static final int MSG_DISABLE_POINTER_LOCATION = 2;
     private static final int MSG_DISPATCH_MEDIA_KEY_WITH_WAKE_LOCK = 3;
     private static final int MSG_DISPATCH_MEDIA_KEY_REPEAT_WITH_WAKE_LOCK = 4;
     private static final int MSG_KEYGUARD_DRAWN_COMPLETE = 5;
@@ -651,12 +642,6 @@
         @Override
         public void handleMessage(Message msg) {
             switch (msg.what) {
-                case MSG_ENABLE_POINTER_LOCATION:
-                    enablePointerLocation();
-                    break;
-                case MSG_DISABLE_POINTER_LOCATION:
-                    disablePointerLocation();
-                    break;
                 case MSG_DISPATCH_MEDIA_KEY_WITH_WAKE_LOCK:
                     dispatchMediaKeyWithWakeLock((KeyEvent)msg.obj);
                     break;
@@ -779,9 +764,6 @@
             resolver.registerContentObserver(Settings.System.getUriFor(
                     Settings.System.SCREEN_OFF_TIMEOUT), false, this,
                     UserHandle.USER_ALL);
-            resolver.registerContentObserver(Settings.System.getUriFor(
-                    Settings.System.POINTER_LOCATION), false, this,
-                    UserHandle.USER_ALL);
             resolver.registerContentObserver(Settings.Secure.getUriFor(
                     Settings.Secure.DEFAULT_INPUT_METHOD), false, this,
                     UserHandle.USER_ALL);
@@ -2007,15 +1989,6 @@
                 updateWakeGestureListenerLp();
             }
 
-            if (mSystemReady) {
-                int pointerLocation = Settings.System.getIntForUser(resolver,
-                        Settings.System.POINTER_LOCATION, 0, UserHandle.USER_CURRENT);
-                if (mPointerLocationMode != pointerLocation) {
-                    mPointerLocationMode = pointerLocation;
-                    mHandler.sendEmptyMessage(pointerLocation != 0 ?
-                            MSG_ENABLE_POINTER_LOCATION : MSG_DISABLE_POINTER_LOCATION);
-                }
-            }
             // use screen off timeout setting as the timeout for the lockscreen
             mLockScreenTimeout = Settings.System.getIntForUser(resolver,
                     Settings.System.SCREEN_OFF_TIMEOUT, 0, UserHandle.USER_CURRENT);
@@ -2047,46 +2020,6 @@
                 && mWakeGestureListener.isSupported();
     }
 
-    private void enablePointerLocation() {
-        if (mPointerLocationView == null) {
-            mPointerLocationView = new PointerLocationView(mContext);
-            mPointerLocationView.setPrintCoords(false);
-            WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
-                    WindowManager.LayoutParams.MATCH_PARENT,
-                    WindowManager.LayoutParams.MATCH_PARENT);
-            lp.type = WindowManager.LayoutParams.TYPE_SECURE_SYSTEM_OVERLAY;
-            lp.flags = WindowManager.LayoutParams.FLAG_FULLSCREEN
-                    | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
-                    | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
-                    | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
-            lp.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
-            if (ActivityManager.isHighEndGfx()) {
-                lp.flags |= WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED;
-                lp.privateFlags |=
-                        WindowManager.LayoutParams.PRIVATE_FLAG_FORCE_HARDWARE_ACCELERATED;
-            }
-            lp.format = PixelFormat.TRANSLUCENT;
-            lp.setTitle("PointerLocation");
-            WindowManager wm = (WindowManager) mContext.getSystemService(WINDOW_SERVICE);
-            lp.inputFeatures |= WindowManager.LayoutParams.INPUT_FEATURE_NO_INPUT_CHANNEL;
-            wm.addView(mPointerLocationView, lp);
-            //TODO (b/111365687) : make system context per display.
-            mWindowManagerFuncs.registerPointerEventListener(mPointerLocationView, DEFAULT_DISPLAY);
-        }
-    }
-
-    private void disablePointerLocation() {
-        if (mPointerLocationView != null) {
-            //TODO (b/111365687) : make system context per display.
-            mWindowManagerFuncs.unregisterPointerEventListener(mPointerLocationView,
-                    DEFAULT_DISPLAY);
-            WindowManager wm = (WindowManager) mContext.getSystemService(WINDOW_SERVICE);
-            wm.removeView(mPointerLocationView);
-            mPointerLocationView = null;
-        }
-    }
-
-
     /** {@inheritDoc} */
     @Override
     public int checkAddPermission(WindowManager.LayoutParams attrs, int[] outAppOp) {
@@ -5180,6 +5113,7 @@
             awakenDreams();
         }
 
+        // Start dock.
         Intent dock = createHomeDockIntent();
         if (dock != null) {
             try {
@@ -5192,21 +5126,9 @@
             }
         }
 
-        Intent intent;
-
-        if (fromHomeKey) {
-            intent = new Intent(mHomeIntent);
-            intent.putExtra(WindowManagerPolicy.EXTRA_FROM_HOME_KEY, fromHomeKey);
-        } else {
-            intent = mHomeIntent;
-        }
-        final Bundle bundle = getLaunchDisplayIdBundle(displayId);
-        startActivityAsUser(intent, bundle, UserHandle.CURRENT);
-    }
-
-    private @Nullable Bundle getLaunchDisplayIdBundle(int displayId) {
-        return (displayId == INVALID_DISPLAY) ? null
-                : ActivityOptions.makeBasic().setLaunchDisplayId(displayId).toBundle();
+        // Start home.
+        mActivityTaskManagerInternal.startHomeOnDisplay(mCurrentUserId, "startDockOrHome",
+                displayId, fromHomeKey);
     }
 
     /**
diff --git a/services/core/java/com/android/server/policy/WindowManagerPolicy.java b/services/core/java/com/android/server/policy/WindowManagerPolicy.java
index d58707c..2af2342 100644
--- a/services/core/java/com/android/server/policy/WindowManagerPolicy.java
+++ b/services/core/java/com/android/server/policy/WindowManagerPolicy.java
@@ -443,7 +443,7 @@
          * Returns true if the window is current in multi-windowing mode. i.e. it shares the
          * screen with other application windows.
          */
-        public boolean isInMultiWindowMode();
+        boolean inMultiWindowMode();
 
         public int getRotationAnimationHint();
 
diff --git a/services/core/java/com/android/server/power/PowerManagerService.java b/services/core/java/com/android/server/power/PowerManagerService.java
index bb23bc0..9b427f5 100644
--- a/services/core/java/com/android/server/power/PowerManagerService.java
+++ b/services/core/java/com/android/server/power/PowerManagerService.java
@@ -4474,7 +4474,7 @@
         }
 
         @Override // Binder call
-        public boolean setPowerSaveMode(boolean enabled) {
+        public boolean setPowerSaveModeEnabled(boolean enabled) {
             if (mContext.checkCallingOrSelfPermission(android.Manifest.permission.POWER_SAVER)
                     != PackageManager.PERMISSION_GRANTED) {
                 mContext.enforceCallingOrSelfPermission(
diff --git a/services/core/java/com/android/server/power/PowerManagerShellCommand.java b/services/core/java/com/android/server/power/PowerManagerShellCommand.java
index 18b8f0e..edaa6d9 100644
--- a/services/core/java/com/android/server/power/PowerManagerShellCommand.java
+++ b/services/core/java/com/android/server/power/PowerManagerShellCommand.java
@@ -68,7 +68,7 @@
             pw.println("Error: " + ex.toString());
             return -1;
         }
-        mInterface.setPowerSaveMode(mode == LOW_POWER_MODE_ON);
+        mInterface.setPowerSaveModeEnabled(mode == LOW_POWER_MODE_ON);
         return 0;
     }
 
diff --git a/services/core/java/com/android/server/power/ThermalManagerService.java b/services/core/java/com/android/server/power/ThermalManagerService.java
index 7d03d82..16d11ef 100644
--- a/services/core/java/com/android/server/power/ThermalManagerService.java
+++ b/services/core/java/com/android/server/power/ThermalManagerService.java
@@ -89,9 +89,6 @@
     @GuardedBy("mLock")
     private ArrayMap<String, Temperature> mTemperatureMap = new ArrayMap<>();
 
-    /** Local PMS handle. */
-    private final PowerManager mPowerManager;
-
     /** HAL wrapper. */
     private ThermalHalWrapper mHalWrapper;
 
@@ -109,7 +106,6 @@
     @VisibleForTesting
     ThermalManagerService(Context context, @Nullable ThermalHalWrapper halWrapper) {
         super(context);
-        mPowerManager = context.getSystemService(PowerManager.class);
         mHalWrapper = halWrapper;
         // Initialize to invalid to send status onActivityManagerReady
         mStatus = INVALID_THROTTLING;
@@ -254,10 +250,11 @@
         }
     }
 
-    private void shutdownIfNeededLocked(Temperature temperature) {
+    private void shutdownIfNeeded(Temperature temperature) {
         if (temperature.getStatus() != Temperature.THROTTLING_SHUTDOWN) {
             return;
         }
+        final PowerManager powerManager = getContext().getSystemService(PowerManager.class);
         switch (temperature.getType()) {
             case Temperature.TYPE_CPU:
                 // Fall through
@@ -266,17 +263,17 @@
             case Temperature.TYPE_NPU:
                 // Fall through
             case Temperature.TYPE_SKIN:
-                mPowerManager.shutdown(false, PowerManager.SHUTDOWN_THERMAL_STATE, false);
+                powerManager.shutdown(false, PowerManager.SHUTDOWN_THERMAL_STATE, false);
                 break;
             case Temperature.TYPE_BATTERY:
-                mPowerManager.shutdown(false, PowerManager.SHUTDOWN_BATTERY_THERMAL_STATE, false);
+                powerManager.shutdown(false, PowerManager.SHUTDOWN_BATTERY_THERMAL_STATE, false);
                 break;
         }
     }
 
     private void onTemperatureChanged(Temperature temperature, boolean sendStatus) {
+        shutdownIfNeeded(temperature);
         synchronized (mLock) {
-            shutdownIfNeededLocked(temperature);
             Temperature old = mTemperatureMap.put(temperature.getName(), temperature);
             if (old != null) {
                 if (old.getStatus() != temperature.getStatus()) {
diff --git a/services/core/java/com/android/server/power/batterysaver/BatterySaverController.java b/services/core/java/com/android/server/power/batterysaver/BatterySaverController.java
index 5adcf35..f0e4625 100644
--- a/services/core/java/com/android/server/power/batterysaver/BatterySaverController.java
+++ b/services/core/java/com/android/server/power/batterysaver/BatterySaverController.java
@@ -115,9 +115,41 @@
     public static final int REASON_SETTING_CHANGED = 8;
     public static final int REASON_DYNAMIC_POWER_SAVINGS_AUTOMATIC_ON = 9;
     public static final int REASON_DYNAMIC_POWER_SAVINGS_AUTOMATIC_OFF = 10;
-    public static final int REASON_STICKY_RESTORE_OFF = 11;
-    public static final int REASON_ADAPTIVE_DYNAMIC_POWER_SAVINGS_CHANGED = 12;
-    public static final int REASON_TIMEOUT = 13;
+    public static final int REASON_ADAPTIVE_DYNAMIC_POWER_SAVINGS_CHANGED = 11;
+    public static final int REASON_TIMEOUT = 12;
+
+    static String reasonToString(int reason) {
+        switch (reason) {
+            case BatterySaverController.REASON_PERCENTAGE_AUTOMATIC_ON:
+                return "Percentage Auto ON";
+            case BatterySaverController.REASON_PERCENTAGE_AUTOMATIC_OFF:
+                return "Percentage Auto OFF";
+            case BatterySaverController.REASON_MANUAL_ON:
+                return "Manual ON";
+            case BatterySaverController.REASON_MANUAL_OFF:
+                return "Manual OFF";
+            case BatterySaverController.REASON_STICKY_RESTORE:
+                return "Sticky restore";
+            case BatterySaverController.REASON_INTERACTIVE_CHANGED:
+                return "Interactivity changed";
+            case BatterySaverController.REASON_POLICY_CHANGED:
+                return "Policy changed";
+            case BatterySaverController.REASON_PLUGGED_IN:
+                return "Plugged in";
+            case BatterySaverController.REASON_SETTING_CHANGED:
+                return "Setting changed";
+            case BatterySaverController.REASON_DYNAMIC_POWER_SAVINGS_AUTOMATIC_ON:
+                return "Dynamic Warning Auto ON";
+            case BatterySaverController.REASON_DYNAMIC_POWER_SAVINGS_AUTOMATIC_OFF:
+                return "Dynamic Warning Auto OFF";
+            case BatterySaverController.REASON_ADAPTIVE_DYNAMIC_POWER_SAVINGS_CHANGED:
+                return "Adaptive Power Savings changed";
+            case BatterySaverController.REASON_TIMEOUT:
+                return "timeout";
+            default:
+                return "Unknown reason: " + reason;
+        }
+    }
 
     /**
      * Plugin interface. All methods are guaranteed to be called on the same (handler) thread.
diff --git a/services/core/java/com/android/server/power/batterysaver/BatterySaverPolicy.java b/services/core/java/com/android/server/power/batterysaver/BatterySaverPolicy.java
index fac95f9..f23b68e 100644
--- a/services/core/java/com/android/server/power/batterysaver/BatterySaverPolicy.java
+++ b/services/core/java/com/android/server/power/batterysaver/BatterySaverPolicy.java
@@ -728,8 +728,8 @@
                     !defaultPolicy.enableDataSaver);
             boolean enableFirewall = !parser.getBoolean(KEY_ACTIVATE_FIREWALL_DISABLED,
                     !defaultPolicy.enableFirewall);
-            boolean enableNightMode = !parser.getBoolean(KEY_ENABLE_NIGHT_MODE,
-                    !defaultPolicy.enableNightMode);
+            boolean enableNightMode = parser.getBoolean(KEY_ENABLE_NIGHT_MODE,
+                    defaultPolicy.enableNightMode);
             boolean enableQuickDoze = parser.getBoolean(KEY_QUICK_DOZE_ENABLED,
                     defaultPolicy.enableQuickDoze);
             boolean forceAllAppsStandby = parser.getBoolean(KEY_FORCE_ALL_APPS_STANDBY,
diff --git a/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java b/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java
index af78995..8f2e997 100644
--- a/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java
+++ b/services/core/java/com/android/server/power/batterysaver/BatterySaverStateMachine.java
@@ -15,6 +15,8 @@
  */
 package com.android.server.power.batterysaver;
 
+import static com.android.server.power.batterysaver.BatterySaverController.reasonToString;
+
 import android.app.Notification;
 import android.app.NotificationChannel;
 import android.app.NotificationManager;
@@ -49,6 +51,42 @@
  * Do not call out with the lock held. (Settings provider is okay.)
  *
  * Test: atest com.android.server.power.batterysaver.BatterySaverStateMachineTest
+ *
+ * Current state machine. This can be visualized using Graphviz:
+   <pre>
+
+   digraph {
+     STATE_OFF
+     STATE_MANUAL_ON [label="STATE_MANUAL_ON\nTurned on manually by the user"]
+     STATE_AUTOMATIC_ON [label="STATE_AUTOMATIC_ON\nTurned on automatically by the system"]
+     STATE_OFF_AUTOMATIC_SNOOZED [
+       label="STATE_OFF_AUTOMATIC_SNOOZED\nTurned off manually by the user."
+           + " The system should not turn it back on automatically."
+     ]
+     STATE_PENDING_STICKY_ON [
+       label="STATE_PENDING_STICKY_ON\n"
+           + " Turned on manually by the user and then plugged in. Will turn back on after unplug."
+     ]
+
+     STATE_OFF -> STATE_MANUAL_ON [label="manual"]
+     STATE_OFF -> STATE_AUTOMATIC_ON [label="Auto on AND charge <= auto threshold"]
+
+     STATE_MANUAL_ON -> STATE_OFF [label="manual\nOR\nPlugged & sticky disabled"]
+     STATE_MANUAL_ON -> STATE_PENDING_STICKY_ON [label="Plugged & sticky enabled"]
+
+     STATE_PENDING_STICKY_ON -> STATE_MANUAL_ON [label="Unplugged & sticky enabled"]
+     STATE_PENDING_STICKY_ON -> STATE_OFF [
+       label="Sticky disabled\nOR\nSticky auto off enabled AND charge >= sticky auto off threshold"
+     ]
+
+     STATE_AUTOMATIC_ON -> STATE_OFF [label="Plugged"]
+     STATE_AUTOMATIC_ON -> STATE_OFF_AUTOMATIC_SNOOZED [label="Manual"]
+
+     STATE_OFF_AUTOMATIC_SNOOZED -> STATE_OFF [label="Plug\nOR\nCharge > auto threshold"]
+     STATE_OFF_AUTOMATIC_SNOOZED -> STATE_MANUAL_ON [label="manual"]
+
+     </pre>
+   }
  */
 public class BatterySaverStateMachine {
     private static final String TAG = "BatterySaverStateMachine";
@@ -60,6 +98,25 @@
 
     private static final long ADAPTIVE_CHANGE_TIMEOUT_MS = 24 * 60 * 60 * 1000L;
 
+    /** Turn off adaptive battery saver if the device has charged above this level. */
+    private static final int ADAPTIVE_AUTO_DISABLE_BATTERY_LEVEL = 80;
+
+    private static final int STATE_OFF = BatterySaverStateMachineProto.STATE_OFF;
+
+    /** Turned on manually by the user. */
+    private static final int STATE_MANUAL_ON = BatterySaverStateMachineProto.STATE_MANUAL_ON;
+
+    /** Turned on automatically by the system. */
+    private static final int STATE_AUTOMATIC_ON = BatterySaverStateMachineProto.STATE_AUTOMATIC_ON;
+
+    /** Turned off manually by the user. The system should not turn it back on automatically. */
+    private static final int STATE_OFF_AUTOMATIC_SNOOZED =
+            BatterySaverStateMachineProto.STATE_OFF_AUTOMATIC_SNOOZED;
+
+    /** Turned on manually by the user and then plugged in. Will turn back on after unplug. */
+    private static final int STATE_PENDING_STICKY_ON =
+            BatterySaverStateMachineProto.STATE_PENDING_STICKY_ON;
+
     private final Context mContext;
     private final BatterySaverController mBatterySaverController;
 
@@ -75,6 +132,9 @@
     @GuardedBy("mLock")
     private boolean mBatteryStatusSet;
 
+    @GuardedBy("mLock")
+    private int mState;
+
     /** Whether the device is connected to any power source. */
     @GuardedBy("mLock")
     private boolean mIsPowered;
@@ -142,13 +202,6 @@
     private boolean mDynamicPowerSavingsBatterySaver;
 
     /**
-     * Whether BS has been manually disabled while the battery level is low, in which case we
-     * shouldn't auto re-enable it until the battery level is not low.
-     */
-    @GuardedBy("mLock")
-    private boolean mBatterySaverSnoozing;
-
-    /**
      * Last reason passed to {@link #enableBatterySaverLocked}.
      */
     @GuardedBy("mLock")
@@ -181,6 +234,7 @@
         mLock = lock;
         mContext = context;
         mBatterySaverController = batterySaverController;
+        mState = STATE_OFF;
 
         mBatterySaverStickyBehaviourDisabled = mContext.getResources().getBoolean(
                 com.android.internal.R.bool.config_batterySaverStickyBehaviourDisabled);
@@ -188,8 +242,36 @@
                 com.android.internal.R.integer.config_dynamicPowerSavingsDefaultDisableThreshold);
     }
 
-    private boolean isAutoBatterySaverConfiguredLocked() {
-        return mSettingBatterySaverTriggerThreshold > 0;
+    /** @return true if the automatic percentage based mode should be used */
+    private boolean isAutomaticModeActiveLocked() {
+        return mSettingAutomaticBatterySaver == PowerManager.POWER_SAVER_MODE_PERCENTAGE
+                && mSettingBatterySaverTriggerThreshold > 0;
+    }
+
+    /**
+     * The returned value won't necessarily make sense if {@link #isAutomaticModeActiveLocked()}
+     * returns {@code false}.
+     *
+     * @return true if the battery level is below automatic's threshold.
+     */
+    private boolean isInAutomaticLowZoneLocked() {
+        return mIsBatteryLevelLow;
+    }
+
+    /** @return true if the dynamic mode should be used */
+    private boolean isDynamicModeActiveLocked() {
+        return mSettingAutomaticBatterySaver == PowerManager.POWER_SAVER_MODE_DYNAMIC
+                && mDynamicPowerSavingsBatterySaver;
+    }
+
+    /**
+     * The returned value won't necessarily make sense if {@link #isDynamicModeActiveLocked()}
+     * returns {@code false}.
+     *
+     * @return true if the battery level is below dynamic's threshold.
+     */
+    private boolean isInDynamicLowZoneLocked() {
+        return mBatteryLevel <= mDynamicPowerSavingsDisableThreshold;
     }
 
     /**
@@ -233,7 +315,14 @@
                     Settings.Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_LEVEL),
                     false, mSettingsObserver, UserHandle.USER_SYSTEM);
 
+
             synchronized (mLock) {
+                final boolean lowPowerModeEnabledSticky = getGlobalSetting(
+                        Settings.Global.LOW_POWER_MODE_STICKY, 0) != 0;
+
+                if (lowPowerModeEnabledSticky) {
+                    mState = STATE_PENDING_STICKY_ON;
+                }
 
                 mBootCompleted = true;
 
@@ -362,6 +451,8 @@
                     ? "Global.low_power changed to 1" : "Global.low_power changed to 0";
             enableBatterySaverLocked(/*enable=*/ batterySaverEnabled, /*manual=*/ true,
                     BatterySaverController.REASON_SETTING_CHANGED, reason);
+        } else {
+            doAutoBatterySaverLocked();
         }
     }
 
@@ -428,17 +519,6 @@
         }
     }
 
-    @GuardedBy("mLock")
-    private boolean isBatteryLowLocked() {
-        final boolean percentageLow =
-                mSettingAutomaticBatterySaver == PowerManager.POWER_SAVER_MODE_PERCENTAGE
-                && mIsBatteryLevelLow;
-        final boolean dynamicPowerSavingsLow =
-                mSettingAutomaticBatterySaver == PowerManager.POWER_SAVER_MODE_DYNAMIC
-                && mBatteryLevel <= mDynamicPowerSavingsDisableThreshold;
-        return percentageLow || dynamicPowerSavingsLow;
-    }
-
     /**
      * Decide whether to auto-start / stop battery saver.
      */
@@ -449,7 +529,6 @@
                     + " mSettingsLoaded=" + mSettingsLoaded
                     + " mBatteryStatusSet=" + mBatteryStatusSet
                     + " mIsBatteryLevelLow=" + mIsBatteryLevelLow
-                    + " mBatterySaverSnoozing=" + mBatterySaverSnoozing
                     + " mIsPowered=" + mIsPowered
                     + " mSettingAutomaticBatterySaver=" + mSettingAutomaticBatterySaver
                     + " mSettingBatterySaverEnabledSticky=" + mSettingBatterySaverEnabledSticky
@@ -460,71 +539,171 @@
             return; // Not fully initialized yet.
         }
 
-        if (!isBatteryLowLocked()) {
-            updateSnoozingLocked(false, "Battery not low");
-        }
+        updateStateLocked(false, false);
 
+        // Adaptive control.
         if (SystemClock.elapsedRealtime() - mLastAdaptiveBatterySaverChangedExternallyElapsed
                 > ADAPTIVE_CHANGE_TIMEOUT_MS) {
             mBatterySaverController.setAdaptivePolicyEnabledLocked(
                     false, BatterySaverController.REASON_TIMEOUT);
             mBatterySaverController.resetAdaptivePolicyLocked(
                     BatterySaverController.REASON_TIMEOUT);
+        } else if (mIsPowered && mBatteryLevel >= ADAPTIVE_AUTO_DISABLE_BATTERY_LEVEL) {
+            mBatterySaverController.setAdaptivePolicyEnabledLocked(false,
+                    BatterySaverController.REASON_PLUGGED_IN);
+        }
+    }
+
+    /**
+     * Update the state machine based on the current settings and battery/charge status.
+     *
+     * @param manual Whether the change was made by the user.
+     * @param enable Whether the user wants to turn battery saver on or off. Is only used if {@param
+     *               manual} is true.
+     */
+    @GuardedBy("mLock")
+    private void updateStateLocked(boolean manual, boolean enable) {
+        if (!manual && !(mBootCompleted && mSettingsLoaded && mBatteryStatusSet)) {
+            return; // Not fully initialized yet.
         }
 
-        if (mIsPowered) {
-            updateSnoozingLocked(false, "Plugged in");
-            enableBatterySaverLocked(/*enable=*/ false, /*manual=*/ false,
-                    BatterySaverController.REASON_PLUGGED_IN,
-                    "Plugged in");
-
-            if (mBatteryLevel >= 80 /* Arbitrary level */) {
-                mBatterySaverController.setAdaptivePolicyEnabledLocked(
-                        false, BatterySaverController.REASON_PLUGGED_IN);
+        switch (mState) {
+            case STATE_OFF: {
+                if (!mIsPowered) {
+                    if (manual) {
+                        if (!enable) {
+                            Slog.e(TAG, "Tried to disable BS when it's already OFF");
+                            return;
+                        }
+                        enableBatterySaverLocked(/*enable*/ true, /*manual*/ true,
+                                BatterySaverController.REASON_MANUAL_ON);
+                        mState = STATE_MANUAL_ON;
+                    } else if (isAutomaticModeActiveLocked() && isInAutomaticLowZoneLocked()) {
+                        enableBatterySaverLocked(/*enable*/ true, /*manual*/ false,
+                                BatterySaverController.REASON_PERCENTAGE_AUTOMATIC_ON);
+                        mState = STATE_AUTOMATIC_ON;
+                    } else if (isDynamicModeActiveLocked() && isInDynamicLowZoneLocked()) {
+                        enableBatterySaverLocked(/*enable*/ true, /*manual*/ false,
+                                BatterySaverController.REASON_DYNAMIC_POWER_SAVINGS_AUTOMATIC_ON);
+                        mState = STATE_AUTOMATIC_ON;
+                    }
+                }
+                break;
             }
 
-        } else if (mSettingBatterySaverEnabledSticky && !mBatterySaverStickyBehaviourDisabled) {
-            if (mSettingBatterySaverStickyAutoDisableEnabled
-                    && mBatteryLevel >= mSettingBatterySaverStickyAutoDisableThreshold) {
-                setStickyActive(false);
-            } else {
-                // Re-enable BS.
-                enableBatterySaverLocked(/*enable=*/ true, /*manual=*/ true,
-                        BatterySaverController.REASON_STICKY_RESTORE,
-                        "Sticky restore");
+            case STATE_MANUAL_ON: {
+                if (manual) {
+                    if (enable) {
+                        Slog.e(TAG, "Tried to enable BS when it's already MANUAL_ON");
+                        return;
+                    }
+                    enableBatterySaverLocked(/*enable*/ false, /*manual*/ true,
+                            BatterySaverController.REASON_MANUAL_OFF);
+                    mState = STATE_OFF;
+                } else if (mIsPowered) {
+                    enableBatterySaverLocked(/*enable*/ false, /*manual*/ false,
+                            BatterySaverController.REASON_PLUGGED_IN);
+                    if (mSettingBatterySaverEnabledSticky
+                            && !mBatterySaverStickyBehaviourDisabled) {
+                        mState = STATE_PENDING_STICKY_ON;
+                    } else {
+                        mState = STATE_OFF;
+                    }
+                }
+                break;
             }
 
-        } else if (mSettingAutomaticBatterySaver
-                == PowerManager.POWER_SAVER_MODE_PERCENTAGE
-                && isAutoBatterySaverConfiguredLocked()) {
-            if (mIsBatteryLevelLow && !mBatterySaverSnoozing) {
-                enableBatterySaverLocked(/*enable=*/ true, /*manual=*/ false,
-                        BatterySaverController.REASON_PERCENTAGE_AUTOMATIC_ON,
-                        "Percentage Auto ON");
-            } else {
-                // Battery not low
-                enableBatterySaverLocked(/*enable=*/ false, /*manual=*/ false,
-                        BatterySaverController.REASON_PERCENTAGE_AUTOMATIC_OFF,
-                        "Percentage Auto OFF");
+            case STATE_AUTOMATIC_ON: {
+                if (mIsPowered) {
+                    enableBatterySaverLocked(/*enable*/ false, /*manual*/ false,
+                            BatterySaverController.REASON_PLUGGED_IN);
+                    mState = STATE_OFF;
+                } else if (manual) {
+                    if (enable) {
+                        Slog.e(TAG, "Tried to enable BS when it's already AUTO_ON");
+                        return;
+                    }
+                    enableBatterySaverLocked(/*enable*/ false, /*manual*/ true,
+                            BatterySaverController.REASON_MANUAL_OFF);
+                    // When battery saver is disabled manually (while battery saver is enabled)
+                    // when the battery level is low, we "snooze" BS -- i.e. disable auto battery
+                    // saver.
+                    // We resume auto-BS once the battery level is not low, or the device is
+                    // plugged in.
+                    mState = STATE_OFF_AUTOMATIC_SNOOZED;
+                } else if (isAutomaticModeActiveLocked() && !isInAutomaticLowZoneLocked()) {
+                    enableBatterySaverLocked(/*enable*/ false, /*manual*/ false,
+                            BatterySaverController.REASON_PERCENTAGE_AUTOMATIC_OFF);
+                    mState = STATE_OFF;
+                } else if (isDynamicModeActiveLocked() && !isInDynamicLowZoneLocked()) {
+                    enableBatterySaverLocked(/*enable*/ false, /*manual*/ false,
+                            BatterySaverController.REASON_DYNAMIC_POWER_SAVINGS_AUTOMATIC_OFF);
+                    mState = STATE_OFF;
+                } else if (!isAutomaticModeActiveLocked() && !isDynamicModeActiveLocked()) {
+                    enableBatterySaverLocked(/*enable*/ false, /*manual*/ false,
+                            BatterySaverController.REASON_SETTING_CHANGED);
+                    mState = STATE_OFF;
+                }
+                break;
             }
-        } else if (mSettingAutomaticBatterySaver
-                == PowerManager.POWER_SAVER_MODE_DYNAMIC) {
-            if (mBatteryLevel >= mDynamicPowerSavingsDisableThreshold) {
-                enableBatterySaverLocked(/*enable=*/ false, /*manual=*/ false,
-                        BatterySaverController.REASON_DYNAMIC_POWER_SAVINGS_AUTOMATIC_OFF,
-                        "Dynamic Warning Auto OFF");
-            } else if (mDynamicPowerSavingsBatterySaver && !mBatterySaverSnoozing) {
-                enableBatterySaverLocked(/*enable=*/ true, /*manual=*/ false,
-                        BatterySaverController.REASON_DYNAMIC_POWER_SAVINGS_AUTOMATIC_ON,
-                        "Dynamic Warning Auto ON");
+
+            case STATE_OFF_AUTOMATIC_SNOOZED: {
+                if (manual) {
+                    if (!enable) {
+                        Slog.e(TAG, "Tried to disable BS when it's already AUTO_SNOOZED");
+                        return;
+                    }
+                    enableBatterySaverLocked(/*enable*/ true, /*manual*/ true,
+                            BatterySaverController.REASON_MANUAL_ON);
+                    mState = STATE_MANUAL_ON;
+                } else if (mIsPowered // Plugging in resets snooze.
+                        || (isAutomaticModeActiveLocked() && !isInAutomaticLowZoneLocked())
+                        || (isDynamicModeActiveLocked() && !isInDynamicLowZoneLocked())
+                        || (!isAutomaticModeActiveLocked() && !isDynamicModeActiveLocked())) {
+                    mState = STATE_OFF;
+                }
+                break;
             }
+
+            case STATE_PENDING_STICKY_ON: {
+                if (manual) {
+                    // This shouldn't be possible. We'll only be in this state when the device is
+                    // plugged in, so the user shouldn't be able to manually change state.
+                    Slog.e(TAG, "Tried to manually change BS state from PENDING_STICKY_ON");
+                    return;
+                }
+                final boolean shouldTurnOffSticky = mSettingBatterySaverStickyAutoDisableEnabled
+                        && mBatteryLevel >= mSettingBatterySaverStickyAutoDisableThreshold;
+                final boolean isStickyDisabled =
+                        mBatterySaverStickyBehaviourDisabled || !mSettingBatterySaverEnabledSticky;
+                if (isStickyDisabled || shouldTurnOffSticky) {
+                    setStickyActive(false);
+                    mState = STATE_OFF;
+                } else if (!mIsPowered) {
+                    // Re-enable BS.
+                    enableBatterySaverLocked(/*enable*/ true, /*manual*/ true,
+                            BatterySaverController.REASON_STICKY_RESTORE);
+                    mState = STATE_MANUAL_ON;
+                }
+                break;
+            }
+
+            default:
+                Slog.wtf(TAG, "Unknown state: " + mState);
+                break;
         }
-        // do nothing if automatic battery saver mode = PERCENTAGE and low warning threshold = 0%
+    }
+
+    @VisibleForTesting
+    int getState() {
+        synchronized (mLock) {
+            return mState;
+        }
     }
 
     /**
      * {@link com.android.server.power.PowerManagerService} calls it when
-     * {@link android.os.PowerManager#setPowerSaveMode} is called.
+     * {@link android.os.PowerManager#setPowerSaveModeEnabled} is called.
      *
      * Note this could? be called before {@link #onBootCompleted} too.
      */
@@ -533,13 +712,17 @@
             Slog.d(TAG, "setBatterySaverEnabledManually: enabled=" + enabled);
         }
         synchronized (mLock) {
-            enableBatterySaverLocked(/*enable=*/ enabled, /*manual=*/ true,
-                    (enabled ? BatterySaverController.REASON_MANUAL_ON
-                            : BatterySaverController.REASON_MANUAL_OFF),
-                    (enabled ? "Manual ON" : "Manual OFF"));
+            updateStateLocked(true, enabled);
+            // TODO: maybe turn off adaptive if it's on and advertiseIsEnabled is true and
+            //  enabled is false
         }
     }
 
+    @GuardedBy("mLock")
+    private void enableBatterySaverLocked(boolean enable, boolean manual, int intReason) {
+        enableBatterySaverLocked(enable, manual, intReason, reasonToString(intReason));
+    }
+
     /**
      * Actually enable / disable battery saver. Write the new state to the global settings
      * and propagate it to {@link #mBatterySaverController}.
@@ -566,20 +749,6 @@
         mLastChangedIntReason = intReason;
         mLastChangedStrReason = strReason;
 
-        if (manual) {
-            if (enable) {
-                updateSnoozingLocked(false, "Manual snooze OFF");
-            } else {
-                // When battery saver is disabled manually (while battery saver is enabled)
-                // when the battery level is low, we "snooze" BS -- i.e. disable auto battery saver.
-                // We resume auto-BS once the battery level is not low, or the device is plugged in.
-                if (mBatterySaverController.isFullEnabled() && isBatteryLowLocked()) {
-                    updateSnoozingLocked(true, "Manual snooze");
-                }
-                // TODO: maybe turn off adaptive if it's on and advertiseIsEnabled is true
-            }
-        }
-
         mSettingBatterySaverEnabled = enable;
         putGlobalSetting(Settings.Global.LOW_POWER_MODE, enable ? 1 : 0);
 
@@ -641,15 +810,6 @@
         manager.cancel(DYNAMIC_MODE_NOTIFICATION_ID);
     }
 
-    @GuardedBy("mLock")
-    private void updateSnoozingLocked(boolean snoozing, String reason) {
-        if (mBatterySaverSnoozing == snoozing) {
-            return;
-        }
-        if (DEBUG) Slog.d(TAG, "Snooze: " + (snoozing ? "start" : "stop")  + " reason=" + reason);
-        mBatterySaverSnoozing = snoozing;
-    }
-
     private void setStickyActive(boolean active) {
         mSettingBatterySaverEnabledSticky = active;
         putGlobalSetting(Settings.Global.LOW_POWER_MODE_STICKY,
@@ -684,6 +844,8 @@
                 pw.print(")");
             }
             pw.println();
+            pw.print("  mState=");
+            pw.println(mState);
 
             pw.print("  mLastChangedIntReason=");
             pw.println(mLastChangedIntReason);
@@ -697,9 +859,6 @@
             pw.print("  mBatteryStatusSet=");
             pw.println(mBatteryStatusSet);
 
-            pw.print("  mBatterySaverSnoozing=");
-            pw.println(mBatterySaverSnoozing);
-
             pw.print("  mIsPowered=");
             pw.println(mIsPowered);
             pw.print("  mBatteryLevel=");
@@ -731,6 +890,7 @@
 
             proto.write(BatterySaverStateMachineProto.ENABLED,
                     mBatterySaverController.isEnabled());
+            proto.write(BatterySaverStateMachineProto.STATE, mState);
             proto.write(BatterySaverStateMachineProto.IS_FULL_ENABLED,
                     mBatterySaverController.isFullEnabled());
             proto.write(BatterySaverStateMachineProto.IS_ADAPTIVE_ENABLED,
@@ -742,8 +902,6 @@
             proto.write(BatterySaverStateMachineProto.SETTINGS_LOADED, mSettingsLoaded);
             proto.write(BatterySaverStateMachineProto.BATTERY_STATUS_SET, mBatteryStatusSet);
 
-            proto.write(BatterySaverStateMachineProto.BATTERY_SAVER_SNOOZING,
-                    mBatterySaverSnoozing);
 
             proto.write(BatterySaverStateMachineProto.IS_POWERED, mIsPowered);
             proto.write(BatterySaverStateMachineProto.BATTERY_LEVEL, mBatteryLevel);
diff --git a/services/core/java/com/android/server/role/RemoteRoleControllerService.java b/services/core/java/com/android/server/role/RemoteRoleControllerService.java
deleted file mode 100644
index 4fb40db..0000000
--- a/services/core/java/com/android/server/role/RemoteRoleControllerService.java
+++ /dev/null
@@ -1,336 +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 com.android.server.role;
-
-import android.annotation.NonNull;
-import android.annotation.Nullable;
-import android.annotation.UserIdInt;
-import android.annotation.WorkerThread;
-import android.app.role.IRoleManagerCallback;
-import android.app.role.RoleManager;
-import android.app.role.RoleManagerCallback;
-import android.content.ComponentName;
-import android.content.Context;
-import android.content.Intent;
-import android.content.ServiceConnection;
-import android.os.Handler;
-import android.os.IBinder;
-import android.os.RemoteException;
-import android.os.UserHandle;
-import android.rolecontrollerservice.IRoleControllerService;
-import android.rolecontrollerservice.RoleControllerService;
-import android.util.Log;
-import android.util.Slog;
-
-import com.android.internal.util.function.pooled.PooledLambda;
-import com.android.server.FgThread;
-
-import java.util.ArrayDeque;
-import java.util.Arrays;
-import java.util.Queue;
-
-/**
- * Handles connection with {@link RoleControllerService}.
- */
-public class RemoteRoleControllerService {
-
-    static final boolean DEBUG = false;
-    private static final String LOG_TAG = RemoteRoleControllerService.class.getSimpleName();
-
-    @NonNull
-    private final Connection mConnection;
-
-    public RemoteRoleControllerService(@UserIdInt int userId, @NonNull Context context) {
-        mConnection = new Connection(userId, context);
-    }
-
-    /**
-     * Add a specific application to the holders of a role. If the role is exclusive, the previous
-     * holder will be replaced.
-     *
-     * @see RoleControllerService#onAddRoleHolder(String, String, int, RoleManagerCallback)
-     */
-    public void onAddRoleHolder(@NonNull String roleName, @NonNull String packageName,
-            @RoleManager.ManageHoldersFlags int flags, @NonNull IRoleManagerCallback callback) {
-        mConnection.enqueueCall(new Connection.Call((service, callbackDelegate) ->
-                service.onAddRoleHolder(roleName, packageName, flags, callbackDelegate), callback));
-    }
-
-    /**
-     * Remove a specific application from the holders of a role.
-     *
-     * @see RoleControllerService#onRemoveRoleHolder(String, String, int, RoleManagerCallback)
-     */
-    public void onRemoveRoleHolder(@NonNull String roleName, @NonNull String packageName,
-            @RoleManager.ManageHoldersFlags int flags, @NonNull IRoleManagerCallback callback) {
-        mConnection.enqueueCall(new Connection.Call((service, callbackDelegate) ->
-                service.onRemoveRoleHolder(roleName, packageName, flags, callbackDelegate),
-                callback));
-    }
-
-    /**
-     * Remove all holders of a role.
-     *
-     * @see RoleControllerService#onClearRoleHolders(String, int, RoleManagerCallback)
-     */
-    public void onClearRoleHolders(@NonNull String roleName,
-            @RoleManager.ManageHoldersFlags int flags, @NonNull IRoleManagerCallback callback) {
-        mConnection.enqueueCall(new Connection.Call((service, callbackDelegate) ->
-                service.onClearRoleHolders(roleName, flags, callbackDelegate), callback));
-    }
-
-    /**
-     * Performs granting of default roles and permissions and appops
-     *
-     * @see RoleControllerService#onGrantDefaultRoles(RoleManagerCallback)
-     */
-    public void onGrantDefaultRoles(@NonNull IRoleManagerCallback callback) {
-        mConnection.enqueueCall(new Connection.Call(IRoleControllerService::onGrantDefaultRoles,
-                callback));
-    }
-
-    /**
-     * @see RoleControllerService#onSmsKillSwitchToggled(boolean)
-     */
-    public void onSmsKillSwitchToggled(boolean smsRestrictionEnabled) {
-        mConnection.enqueueCall(new Connection.Call(
-                (s, cb) -> s.onSmsKillSwitchToggled(smsRestrictionEnabled),
-                new IRoleManagerCallback.Default() {
-                    @Override
-                    public void onFailure() {
-                        Slog.e(LOG_TAG, "Failed onSmsKillSwitchToggled");
-                    }
-                }));
-    }
-
-    private static final class Connection implements ServiceConnection {
-
-        private static final long UNBIND_DELAY_MILLIS = 15 * 1000;
-
-        @UserIdInt
-        private final int mUserId;
-
-        @NonNull
-        private final Context mContext;
-
-        @NonNull
-        private final Handler mHandler = FgThread.getHandler();
-
-        private boolean mBound;
-
-        @Nullable
-        private IRoleControllerService mService;
-
-        @NonNull
-        private final Queue<Call> mPendingCalls = new ArrayDeque<>();
-
-        @NonNull
-        private final Runnable mUnbindRunnable = this::unbind;
-
-        Connection(@UserIdInt int userId, @NonNull Context context) {
-            mUserId = userId;
-            mContext = context;
-        }
-
-        @Override
-        @WorkerThread
-        public void onServiceConnected(@NonNull ComponentName name, @NonNull IBinder service) {
-            mService = IRoleControllerService.Stub.asInterface(service);
-            executePendingCalls();
-        }
-
-        @WorkerThread
-        private void executePendingCalls() {
-            while (!mPendingCalls.isEmpty()) {
-                Call call = mPendingCalls.poll();
-                call.execute(mService);
-            }
-            scheduleUnbind();
-        }
-
-        @Override
-        @WorkerThread
-        public void onServiceDisconnected(@NonNull ComponentName name) {
-            mService = null;
-        }
-
-        @Override
-        @WorkerThread
-        public void onBindingDied(@NonNull ComponentName name) {
-            unbind();
-        }
-
-        public void enqueueCall(@NonNull Call call) {
-            if (DEBUG) {
-                Slog.i(LOG_TAG, "Enqueue " + call);
-            }
-            mHandler.executeOrSendMessage(PooledLambda.obtainMessage(Connection::executeCall, this,
-                    call));
-        }
-
-        @WorkerThread
-        private void executeCall(@NonNull Call call) {
-            ensureBound();
-            if (mService == null) {
-                if (DEBUG) {
-                    Slog.i(LOG_TAG, "Delaying until service connected: " + call);
-                }
-                mPendingCalls.offer(call);
-                return;
-            }
-            call.execute(mService);
-            scheduleUnbind();
-        }
-
-        @WorkerThread
-        private void ensureBound() {
-            mHandler.removeCallbacks(mUnbindRunnable);
-            if (!mBound) {
-                Intent intent = new Intent(RoleControllerService.SERVICE_INTERFACE);
-                intent.setPackage(mContext.getPackageManager()
-                        .getPermissionControllerPackageName());
-                // Use direct handler to ensure onServiceConnected callback happens in the same
-                // call frame, as required by onGrantDefaultRoles
-                //
-                // Note that as a result, onServiceConnected may happen not on main thread!
-                mBound = mContext.bindServiceAsUser(intent, this, Context.BIND_AUTO_CREATE,
-                        mHandler, UserHandle.of(mUserId));
-            }
-        }
-
-        private void scheduleUnbind() {
-            mHandler.removeCallbacks(mUnbindRunnable);
-            mHandler.postDelayed(mUnbindRunnable, UNBIND_DELAY_MILLIS);
-        }
-
-        @WorkerThread
-        private void unbind() {
-            if (mBound) {
-                mService = null;
-                mContext.unbindService(this);
-                mBound = false;
-            }
-        }
-
-        public static class Call {
-
-            private static final int TIMEOUT_MILLIS = 15 * 1000;
-
-            @NonNull
-            private final CallExecutor mCallExecutor;
-
-            @NonNull
-            private final IRoleManagerCallback mCallback;
-
-            @NonNull
-            private final Handler mHandler = FgThread.getHandler();
-
-            @NonNull
-            private final Runnable mTimeoutRunnable = this::notifyTimeout;
-
-            private boolean mCallbackNotified;
-
-            @Nullable
-            private final String mDebugName;
-
-            private Call(@NonNull CallExecutor callExecutor,
-                    @NonNull IRoleManagerCallback callback) {
-                mCallExecutor = callExecutor;
-                mCallback = callback;
-                mDebugName = DEBUG
-                        ? Arrays.stream(Thread.currentThread().getStackTrace())
-                                .filter(s -> s.getClassName().equals(
-                                        RemoteRoleControllerService.class.getName()))
-                                .findFirst()
-                                .get()
-                                .getMethodName()
-                        : null;
-            }
-
-            @WorkerThread
-            public void execute(IRoleControllerService service) {
-                if (DEBUG) {
-                    Slog.i(LOG_TAG, "Executing " + this);
-                }
-                try {
-                    mHandler.postDelayed(mTimeoutRunnable, TIMEOUT_MILLIS);
-                    mCallExecutor.execute(service, new CallbackDelegate());
-                } catch (RemoteException e) {
-                    Slog.e(LOG_TAG, "Error calling RoleControllerService", e);
-                    notifyCallback(false);
-                }
-            }
-
-            @WorkerThread
-            private void notifyTimeout() {
-                Slog.e(LOG_TAG, "Call timed out, calling onFailure()");
-                notifyCallback(false);
-            }
-
-            @WorkerThread
-            private void notifyCallback(boolean success) {
-                if (DEBUG) {
-                    Log.i(LOG_TAG, "notifyCallback(" + this
-                            + ", success = " + success + ")");
-                }
-                if (mCallbackNotified) {
-                    return;
-                }
-                mCallbackNotified = true;
-                mHandler.removeCallbacks(mTimeoutRunnable);
-                try {
-                    if (success) {
-                        mCallback.onSuccess();
-                    } else {
-                        mCallback.onFailure();
-                    }
-                } catch (RemoteException e) {
-                    Slog.e(LOG_TAG, "Error calling " + (success ? "onSuccess()" : "onFailure()")
-                            + " callback", e);
-                }
-            }
-
-            @Override
-            public String toString() {
-                return DEBUG ? mDebugName : "Call with callback: " + mCallback;
-            }
-
-            @FunctionalInterface
-            public interface CallExecutor {
-
-                @WorkerThread
-                void execute(IRoleControllerService service, IRoleManagerCallback callbackDelegate)
-                        throws RemoteException;
-            }
-
-            private class CallbackDelegate extends IRoleManagerCallback.Stub {
-
-                @Override
-                public void onSuccess() throws RemoteException {
-                    mHandler.sendMessage(PooledLambda.obtainMessage(Call::notifyCallback, Call.this,
-                            true));
-                }
-
-                @Override
-                public void onFailure() throws RemoteException {
-                    mHandler.sendMessage(PooledLambda.obtainMessage(Call::notifyCallback, Call.this,
-                            false));
-                }
-            }
-        }
-    }
-}
diff --git a/services/core/java/com/android/server/role/RoleManagerService.java b/services/core/java/com/android/server/role/RoleManagerService.java
index f533ad1..f4e10ed 100644
--- a/services/core/java/com/android/server/role/RoleManagerService.java
+++ b/services/core/java/com/android/server/role/RoleManagerService.java
@@ -27,7 +27,7 @@
 import android.app.AppOpsManager;
 import android.app.role.IOnRoleHoldersChangedListener;
 import android.app.role.IRoleManager;
-import android.app.role.IRoleManagerCallback;
+import android.app.role.RoleControllerManager;
 import android.app.role.RoleManager;
 import android.content.BroadcastReceiver;
 import android.content.Context;
@@ -97,6 +97,8 @@
 
     private static final String LOG_TAG = RoleManagerService.class.getSimpleName();
 
+    private static final boolean DEBUG = false;
+
     @NonNull
     private final UserManagerInternal mUserManagerInternal;
     @NonNull
@@ -123,12 +125,11 @@
     private final SparseArray<RoleUserState> mUserStates = new SparseArray<>();
 
     /**
-     * Maps user id to its controller service.
+     * Maps user id to its controller.
      */
     @GuardedBy("mLock")
     @NonNull
-    private final SparseArray<RemoteRoleControllerService> mControllerServices =
-            new SparseArray<>();
+    private final SparseArray<RoleControllerManager> mControllers = new SparseArray<>();
 
     /**
      * Maps user id to its list of listeners.
@@ -190,9 +191,9 @@
             @Override
             public void onReceive(Context context, Intent intent) {
                 int userId = UserHandle.getUserId(intent.getIntExtra(Intent.EXTRA_UID, -1));
-                if (RemoteRoleControllerService.DEBUG) {
-                    Slog.i(LOG_TAG,
-                            "Packages changed - re-running initial grants for user " + userId);
+                if (DEBUG) {
+                    Slog.i(LOG_TAG, "Packages changed - re-running initial grants for user "
+                            + userId);
                 }
                 performInitialGrantsIfNecessary(userId);
             }
@@ -243,24 +244,21 @@
             // Run grants again
             Slog.i(LOG_TAG, "Granting default permissions...");
             CompletableFuture<Void> result = new CompletableFuture<>();
-            getOrCreateControllerService(userId).onGrantDefaultRoles(
-                    new IRoleManagerCallback.Stub() {
-                        @Override
-                        public void onSuccess() {
+            getOrCreateControllerService(userId).grantDefaultRoles(FgThread.getExecutor(),
+                    successful -> {
+                        if (successful) {
                             result.complete(null);
-                        }
-                        @Override
-                        public void onFailure() {
+                        } else {
                             result.completeExceptionally(new RuntimeException());
                         }
                     });
             try {
-                result.get(5, TimeUnit.SECONDS);
+                result.get(30, TimeUnit.SECONDS);
                 userState.setPackagesHash(packagesHash);
             } catch (InterruptedException | ExecutionException | TimeoutException e) {
                 Slog.e(LOG_TAG, "Failed to grant defaults for user " + userId, e);
             }
-        } else if (RemoteRoleControllerService.DEBUG) {
+        } else if (DEBUG) {
             Slog.i(LOG_TAG, "Already ran grants for package state " + packagesHash);
         }
     }
@@ -326,14 +324,22 @@
     }
 
     @NonNull
-    private RemoteRoleControllerService getOrCreateControllerService(@UserIdInt int userId) {
+    private RoleControllerManager getOrCreateControllerService(@UserIdInt int userId) {
         synchronized (mLock) {
-            RemoteRoleControllerService controllerService = mControllerServices.get(userId);
-            if (controllerService == null) {
-                controllerService = new RemoteRoleControllerService(userId, getContext());
-                mControllerServices.put(userId, controllerService);
+            RoleControllerManager controller = mControllers.get(userId);
+            if (controller == null) {
+                Context systemContext = getContext();
+                Context context;
+                try {
+                    context = systemContext.createPackageContextAsUser(
+                            systemContext.getPackageName(), 0, UserHandle.of(userId));
+                } catch (NameNotFoundException e) {
+                    throw new RuntimeException(e);
+                }
+                controller = new RoleControllerManager(context, FgThread.getHandler());
+                mControllers.put(userId, controller);
             }
-            return controllerService;
+            return controller;
         }
     }
 
@@ -362,7 +368,7 @@
         RoleUserState userState;
         synchronized (mLock) {
             listeners = mListeners.removeReturnOld(userId);
-            mControllerServices.remove(userId);
+            mControllers.remove(userId);
             userState = mUserStates.removeReturnOld(userId);
         }
         if (listeners != null) {
@@ -424,11 +430,12 @@
 
         @Override
         public boolean isRoleHeld(@NonNull String roleName, @NonNull String packageName) {
-            Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
-            Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty");
             int callingUid = getCallingUid();
             mAppOpsManager.checkPackage(callingUid, packageName);
 
+            Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
+            Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty");
+
             int userId = UserHandle.getUserId(callingUid);
             ArraySet<String> roleHolders = getOrCreateUserState(userId).getRoleHolders(roleName);
             if (roleHolders == null) {
@@ -440,7 +447,6 @@
         @NonNull
         @Override
         public List<String> getRoleHoldersAsUser(@NonNull String roleName, @UserIdInt int userId) {
-            Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
             if (!mUserManagerInternal.exists(userId)) {
                 Slog.e(LOG_TAG, "user " + userId + " does not exist");
                 return Collections.emptyList();
@@ -449,6 +455,8 @@
             getContext().enforceCallingOrSelfPermission(Manifest.permission.MANAGE_ROLE_HOLDERS,
                     "getRoleHoldersAsUser");
 
+            Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
+
             ArraySet<String> roleHolders = getOrCreateUserState(userId).getRoleHolders(roleName);
             if (roleHolders == null) {
                 return Collections.emptyList();
@@ -459,10 +467,7 @@
         @Override
         public void addRoleHolderAsUser(@NonNull String roleName, @NonNull String packageName,
                 @RoleManager.ManageHoldersFlags int flags, @UserIdInt int userId,
-                @NonNull IRoleManagerCallback callback) {
-            Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
-            Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty");
-            Preconditions.checkNotNull(callback, "callback cannot be null");
+                @NonNull RemoteCallback callback) {
             if (!mUserManagerInternal.exists(userId)) {
                 Slog.e(LOG_TAG, "user " + userId + " does not exist");
                 return;
@@ -471,6 +476,10 @@
             getContext().enforceCallingOrSelfPermission(Manifest.permission.MANAGE_ROLE_HOLDERS,
                     "addRoleHolderAsUser");
 
+            Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
+            Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty");
+            Preconditions.checkNotNull(callback, "callback cannot be null");
+
             getOrCreateControllerService(userId).onAddRoleHolder(roleName, packageName, flags,
                     callback);
         }
@@ -478,10 +487,7 @@
         @Override
         public void removeRoleHolderAsUser(@NonNull String roleName, @NonNull String packageName,
                 @RoleManager.ManageHoldersFlags int flags, @UserIdInt int userId,
-                @NonNull IRoleManagerCallback callback) {
-            Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
-            Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty");
-            Preconditions.checkNotNull(callback, "callback cannot be null");
+                @NonNull RemoteCallback callback) {
             if (!mUserManagerInternal.exists(userId)) {
                 Slog.e(LOG_TAG, "user " + userId + " does not exist");
                 return;
@@ -490,6 +496,10 @@
             getContext().enforceCallingOrSelfPermission(Manifest.permission.MANAGE_ROLE_HOLDERS,
                     "removeRoleHolderAsUser");
 
+            Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
+            Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty");
+            Preconditions.checkNotNull(callback, "callback cannot be null");
+
             getOrCreateControllerService(userId).onRemoveRoleHolder(roleName, packageName, flags,
                     callback);
         }
@@ -497,9 +507,7 @@
         @Override
         public void clearRoleHoldersAsUser(@NonNull String roleName,
                 @RoleManager.ManageHoldersFlags int flags, @UserIdInt int userId,
-                @NonNull IRoleManagerCallback callback) {
-            Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
-            Preconditions.checkNotNull(callback, "callback cannot be null");
+                @NonNull RemoteCallback callback) {
             if (!mUserManagerInternal.exists(userId)) {
                 Slog.e(LOG_TAG, "user " + userId + " does not exist");
                 return;
@@ -508,13 +516,15 @@
             getContext().enforceCallingOrSelfPermission(Manifest.permission.MANAGE_ROLE_HOLDERS,
                     "clearRoleHoldersAsUser");
 
+            Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
+            Preconditions.checkNotNull(callback, "callback cannot be null");
+
             getOrCreateControllerService(userId).onClearRoleHolders(roleName, flags, callback);
         }
 
         @Override
         public void addOnRoleHoldersChangedListenerAsUser(
                 @NonNull IOnRoleHoldersChangedListener listener, @UserIdInt int userId) {
-            Preconditions.checkNotNull(listener, "listener cannot be null");
             if (userId != UserHandle.USER_ALL && !mUserManagerInternal.exists(userId)) {
                 Slog.e(LOG_TAG, "user " + userId + " does not exist");
                 return;
@@ -523,6 +533,8 @@
             getContext().enforceCallingOrSelfPermission(Manifest.permission.OBSERVE_ROLE_HOLDERS,
                     "addOnRoleHoldersChangedListenerAsUser");
 
+            Preconditions.checkNotNull(listener, "listener cannot be null");
+
             RemoteCallbackList<IOnRoleHoldersChangedListener> listeners = getOrCreateListeners(
                     userId);
             listeners.register(listener);
@@ -531,7 +543,6 @@
         @Override
         public void removeOnRoleHoldersChangedListenerAsUser(
                 @NonNull IOnRoleHoldersChangedListener listener, @UserIdInt int userId) {
-            Preconditions.checkNotNull(listener, "listener cannot be null");
             if (userId != UserHandle.USER_ALL && !mUserManagerInternal.exists(userId)) {
                 Slog.e(LOG_TAG, "user " + userId + " does not exist");
                 return;
@@ -540,6 +551,8 @@
             getContext().enforceCallingOrSelfPermission(Manifest.permission.OBSERVE_ROLE_HOLDERS,
                     "removeOnRoleHoldersChangedListenerAsUser");
 
+            Preconditions.checkNotNull(listener, "listener cannot be null");
+
             RemoteCallbackList<IOnRoleHoldersChangedListener> listeners = getListeners(userId);
             if (listener == null) {
                 return;
@@ -549,11 +562,12 @@
 
         @Override
         public void setRoleNamesFromController(@NonNull List<String> roleNames) {
-            Preconditions.checkNotNull(roleNames, "roleNames cannot be null");
             getContext().enforceCallingOrSelfPermission(
                     RoleManager.PERMISSION_MANAGE_ROLES_FROM_CONTROLLER,
                     "setRoleNamesFromController");
 
+            Preconditions.checkNotNull(roleNames, "roleNames cannot be null");
+
             int userId = UserHandle.getCallingUserId();
             getOrCreateUserState(userId).setRoleNames(roleNames);
         }
@@ -561,12 +575,13 @@
         @Override
         public boolean addRoleHolderFromController(@NonNull String roleName,
                 @NonNull String packageName) {
-            Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
-            Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty");
             getContext().enforceCallingOrSelfPermission(
                     RoleManager.PERMISSION_MANAGE_ROLES_FROM_CONTROLLER,
                     "addRoleHolderFromController");
 
+            Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
+            Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty");
+
             int userId = UserHandle.getCallingUserId();
             return getOrCreateUserState(userId).addRoleHolder(roleName, packageName);
         }
@@ -574,23 +589,25 @@
         @Override
         public boolean removeRoleHolderFromController(@NonNull String roleName,
                 @NonNull String packageName) {
-            Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
-            Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty");
             getContext().enforceCallingOrSelfPermission(
                     RoleManager.PERMISSION_MANAGE_ROLES_FROM_CONTROLLER,
                     "removeRoleHolderFromController");
 
+            Preconditions.checkStringNotEmpty(roleName, "roleName cannot be null or empty");
+            Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty");
+
             int userId = UserHandle.getCallingUserId();
             return getOrCreateUserState(userId).removeRoleHolder(roleName, packageName);
         }
 
         @Override
         public List<String> getHeldRolesFromController(@NonNull String packageName) {
-            Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty");
             getContext().enforceCallingOrSelfPermission(
                     RoleManager.PERMISSION_MANAGE_ROLES_FROM_CONTROLLER,
                     "getRolesHeldFromController");
 
+            Preconditions.checkStringNotEmpty(packageName, "packageName cannot be null or empty");
+
             int userId = UserHandle.getCallingUserId();
             return getOrCreateUserState(userId).getHeldRoles(packageName);
         }
@@ -718,16 +735,14 @@
         @Override
         public boolean setDefaultBrowser(@Nullable String packageName, @UserIdInt int userId) {
             CompletableFuture<Void> future = new CompletableFuture<>();
-            IRoleManagerCallback callback = new IRoleManagerCallback.Stub() {
-                @Override
-                public void onSuccess() {
+            RemoteCallback callback = new RemoteCallback(result -> {
+                boolean successful = result != null;
+                if (successful) {
                     future.complete(null);
-                }
-                @Override
-                public void onFailure() {
+                } else {
                     future.completeExceptionally(new RuntimeException());
                 }
-            };
+            });
             if (packageName != null) {
                 getOrCreateControllerService(userId).onAddRoleHolder(RoleManager.ROLE_BROWSER,
                         packageName, 0, callback);
@@ -746,14 +761,12 @@
 
         @Override
         public void setDefaultBrowserAsync(@Nullable String packageName, @UserIdInt int userId) {
-            IRoleManagerCallback callback = new IRoleManagerCallback.Stub() {
-                @Override
-                public void onSuccess() {}
-                @Override
-                public void onFailure() {
+            RemoteCallback callback = new RemoteCallback(result -> {
+                boolean successful = result != null;
+                if (!successful) {
                     Slog.e(LOG_TAG, "Failed to set default browser: " + packageName);
                 }
-            };
+            });
             if (packageName != null) {
                 getOrCreateControllerService(userId).onAddRoleHolder(RoleManager.ROLE_BROWSER,
                         packageName, 0, callback);
@@ -775,14 +788,12 @@
 
         @Override
         public void setDefaultHomeAsync(@Nullable String packageName, @UserIdInt int userId) {
-            IRoleManagerCallback callback = new IRoleManagerCallback.Stub() {
-                @Override
-                public void onSuccess() {}
-                @Override
-                public void onFailure() {
+            RemoteCallback callback = new RemoteCallback(result -> {
+                boolean successful = result != null;
+                if (!successful) {
                     Slog.e(LOG_TAG, "Failed to set default home: " + packageName);
                 }
-            };
+            });
             if (packageName != null) {
                 getOrCreateControllerService(userId).onAddRoleHolder(RoleManager.ROLE_HOME,
                         packageName, 0, callback);
diff --git a/services/core/java/com/android/server/role/RoleManagerShellCommand.java b/services/core/java/com/android/server/role/RoleManagerShellCommand.java
index 00021d7..b26a070 100644
--- a/services/core/java/com/android/server/role/RoleManagerShellCommand.java
+++ b/services/core/java/com/android/server/role/RoleManagerShellCommand.java
@@ -19,7 +19,7 @@
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.role.IRoleManager;
-import android.app.role.IRoleManagerCallback;
+import android.os.RemoteCallback;
 import android.os.RemoteException;
 import android.os.ShellCommand;
 import android.os.UserHandle;
@@ -38,14 +38,23 @@
         mRoleManager = roleManager;
     }
 
-    private class Callback extends IRoleManagerCallback.Stub {
+    private class CallbackFuture extends CompletableFuture<Void> {
 
         @NonNull
-        private final CompletableFuture<Void> mResult = new CompletableFuture<>();
+        public RemoteCallback createCallback() {
+            return new RemoteCallback(result -> {
+                boolean successful = result != null;
+                if (successful) {
+                    complete(null);
+                } else {
+                    completeExceptionally(new RuntimeException("Failed"));
+                }
+            });
+        }
 
         public int waitForResult() {
             try {
-                mResult.get(5, TimeUnit.SECONDS);
+                get(5, TimeUnit.SECONDS);
                 return 0;
             } catch (Exception e) {
                 getErrPrintWriter().println("Error: see logcat for details.\n"
@@ -53,16 +62,6 @@
                 return -1;
             }
         }
-
-        @Override
-        public void onSuccess() {
-            mResult.complete(null);
-        }
-
-        @Override
-        public void onFailure() {
-            mResult.completeExceptionally(new RuntimeException("Failed"));
-        }
     }
 
     @Override
@@ -112,9 +111,10 @@
         String packageName = getNextArgRequired();
         int flags = getFlagsMaybe();
 
-        Callback callback = new Callback();
-        mRoleManager.addRoleHolderAsUser(roleName, packageName, flags, userId, callback);
-        return callback.waitForResult();
+        CallbackFuture future = new CallbackFuture();
+        mRoleManager.addRoleHolderAsUser(roleName, packageName, flags, userId,
+                future.createCallback());
+        return future.waitForResult();
     }
 
     private int runRemoveRoleHolder() throws RemoteException {
@@ -123,9 +123,10 @@
         String packageName = getNextArgRequired();
         int flags = getFlagsMaybe();
 
-        Callback callback = new Callback();
-        mRoleManager.removeRoleHolderAsUser(roleName, packageName, flags, userId, callback);
-        return callback.waitForResult();
+        CallbackFuture future = new CallbackFuture();
+        mRoleManager.removeRoleHolderAsUser(roleName, packageName, flags, userId,
+                future.createCallback());
+        return future.waitForResult();
     }
 
     private int runClearRoleHolders() throws RemoteException {
@@ -133,9 +134,9 @@
         String roleName = getNextArgRequired();
         int flags = getFlagsMaybe();
 
-        Callback callback = new Callback();
-        mRoleManager.clearRoleHoldersAsUser(roleName, flags, userId, callback);
-        return callback.waitForResult();
+        CallbackFuture future = new CallbackFuture();
+        mRoleManager.clearRoleHoldersAsUser(roleName, flags, userId, future.createCallback());
+        return future.waitForResult();
     }
 
     @Override
diff --git a/services/core/java/com/android/server/rollback/RollbackData.java b/services/core/java/com/android/server/rollback/RollbackData.java
index 8a95877..b37e268 100644
--- a/services/core/java/com/android/server/rollback/RollbackData.java
+++ b/services/core/java/com/android/server/rollback/RollbackData.java
@@ -23,9 +23,11 @@
 import java.io.File;
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
+import java.text.ParseException;
 import java.time.Instant;
 import java.util.ArrayList;
 
+
 /**
  * Information about a rollback available for a set of atomically installed
  * packages.
@@ -138,4 +140,27 @@
     public boolean isStaged() {
         return info.isStaged();
     }
+
+    static String rollbackStateToString(@RollbackState int state) {
+        switch (state) {
+            case RollbackData.ROLLBACK_STATE_ENABLING: return "enabling";
+            case RollbackData.ROLLBACK_STATE_AVAILABLE: return "available";
+            case RollbackData.ROLLBACK_STATE_COMMITTED: return "committed";
+        }
+        throw new AssertionError("Invalid rollback state: " + state);
+    }
+
+    static @RollbackState int rollbackStateFromString(String state)
+            throws ParseException {
+        switch (state) {
+            case "enabling": return RollbackData.ROLLBACK_STATE_ENABLING;
+            case "available": return RollbackData.ROLLBACK_STATE_AVAILABLE;
+            case "committed": return RollbackData.ROLLBACK_STATE_COMMITTED;
+        }
+        throw new ParseException("Invalid rollback state: " + state, 0);
+    }
+
+    public String getStateAsString() {
+        return rollbackStateToString(state);
+    }
 }
diff --git a/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java b/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java
index f52f3a3..c3582ea 100644
--- a/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java
+++ b/services/core/java/com/android/server/rollback/RollbackManagerServiceImpl.java
@@ -50,11 +50,14 @@
 
 import com.android.internal.annotations.GuardedBy;
 import com.android.internal.util.ArrayUtils;
+import com.android.internal.util.IndentingPrintWriter;
 import com.android.server.LocalServices;
 import com.android.server.pm.Installer;
 
 import java.io.File;
+import java.io.FileDescriptor;
 import java.io.IOException;
+import java.io.PrintWriter;
 import java.security.SecureRandom;
 import java.time.Instant;
 import java.time.temporal.ChronoUnit;
@@ -356,7 +359,7 @@
             PackageInstaller packageInstaller = pm.getPackageInstaller();
             PackageInstaller.SessionParams parentParams = new PackageInstaller.SessionParams(
                     PackageInstaller.SessionParams.MODE_FULL_INSTALL);
-            parentParams.setAllowDowngrade(true);
+            parentParams.setRequestDowngrade(true);
             parentParams.setMultiPackage();
             if (data.isStaged()) {
                 parentParams.setStaged();
@@ -377,7 +380,7 @@
                         params.setInstallerPackageName(installerPackageName);
                     }
                 }
-                params.setAllowDowngrade(true);
+                params.setRequestDowngrade(true);
                 if (data.isStaged()) {
                     params.setStaged();
                 }
@@ -531,15 +534,11 @@
     }
 
     private void updateRollbackLifetimeDurationInMillis() {
-        String strRollbackLifetimeInMillis = DeviceConfig.getProperty(
-                DeviceConfig.Rollback.BOOT_NAMESPACE,
-                DeviceConfig.Rollback.ROLLBACK_LIFETIME_IN_MILLIS);
-
-        try {
-            mRollbackLifetimeDurationInMillis = (strRollbackLifetimeInMillis == null)
-                    ? DEFAULT_ROLLBACK_LIFETIME_DURATION_MILLIS
-                    : Long.parseLong(strRollbackLifetimeInMillis);
-        } catch (NumberFormatException e) {
+        mRollbackLifetimeDurationInMillis = DeviceConfig.getLong(
+                DeviceConfig.NAMESPACE_ROLLBACK_BOOT,
+                RollbackManager.PROPERTY_ROLLBACK_LIFETIME_MILLIS,
+                DEFAULT_ROLLBACK_LIFETIME_DURATION_MILLIS);
+        if (mRollbackLifetimeDurationInMillis < 0) {
             mRollbackLifetimeDurationInMillis = DEFAULT_ROLLBACK_LIFETIME_DURATION_MILLIS;
         }
     }
@@ -599,6 +598,8 @@
                     }
                 }
             }
+
+            mPackageHealthObserver.onBootCompleted();
         });
     }
 
@@ -686,7 +687,8 @@
      * @param status the RollbackManager.STATUS_* code with the failure.
      * @param message the failure message.
      */
-    private void sendFailure(IntentSender statusReceiver, int status, String message) {
+    private void sendFailure(IntentSender statusReceiver, @RollbackManager.Status int status,
+            String message) {
         Log.e(TAG, message);
         try {
             final Intent fillIn = new Intent();
@@ -874,6 +876,11 @@
             return false;
         }
 
+        if (session.resolvedBaseCodePath == null) {
+            Log.e(TAG, "Session code path has not been resolved.");
+            return false;
+        }
+
         // Get information about the package to be installed.
         PackageParser.PackageLite newPackage = null;
         try {
@@ -1269,4 +1276,39 @@
                     + rollbackData.info.getRollbackId(), ioe);
         }
     }
+
+    @Override
+    protected void dump(FileDescriptor fd, PrintWriter pw, String[] args) {
+        IndentingPrintWriter ipw = new IndentingPrintWriter(pw, "  ");
+        synchronized (mLock) {
+            for (RollbackData data : mRollbacks) {
+                RollbackInfo info = data.info;
+                ipw.println(info.getRollbackId() + ":");
+                ipw.increaseIndent();
+                ipw.println("-state: " + data.getStateAsString());
+                ipw.println("-timestamp: " + data.timestamp);
+                if (data.stagedSessionId != -1) {
+                    ipw.println("-stagedSessionId: " + data.stagedSessionId);
+                }
+                ipw.println("-packages:");
+                ipw.increaseIndent();
+                for (PackageRollbackInfo pkg : info.getPackages()) {
+                    ipw.println(pkg.getPackageName()
+                            + " " + pkg.getVersionRolledBackFrom().getLongVersionCode()
+                            + " -> " + pkg.getVersionRolledBackTo().getLongVersionCode());
+                }
+                ipw.decreaseIndent();
+                if (data.state == RollbackData.ROLLBACK_STATE_COMMITTED) {
+                    ipw.println("-causePackages:");
+                    ipw.increaseIndent();
+                    for (VersionedPackage cPkg : info.getCausePackages()) {
+                        ipw.println(cPkg.getPackageName() + " " + cPkg.getLongVersionCode());
+                    }
+                    ipw.decreaseIndent();
+                    ipw.println("-committedSessionId: " + info.getCommittedSessionId());
+                }
+                ipw.decreaseIndent();
+            }
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java b/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java
index d24f217..9348806 100644
--- a/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java
+++ b/services/core/java/com/android/server/rollback/RollbackPackageHealthObserver.java
@@ -26,6 +26,8 @@
 import android.content.rollback.PackageRollbackInfo;
 import android.content.rollback.RollbackInfo;
 import android.content.rollback.RollbackManager;
+import android.os.Environment;
+import android.os.FileUtils;
 import android.os.Handler;
 import android.os.HandlerThread;
 import android.os.PowerManager;
@@ -39,6 +41,12 @@
 import com.android.server.PackageWatchdog.PackageHealthObserver;
 import com.android.server.PackageWatchdog.PackageHealthObserverImpact;
 
+import libcore.io.IoUtils;
+
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.PrintWriter;
 import java.util.Collections;
 import java.util.List;
 
@@ -50,14 +58,19 @@
 public final class RollbackPackageHealthObserver implements PackageHealthObserver {
     private static final String TAG = "RollbackPackageHealthObserver";
     private static final String NAME = "rollback-observer";
-    private Context mContext;
-    private Handler mHandler;
+    private static final int INVALID_ROLLBACK_ID = -1;
+    private final Context mContext;
+    private final Handler mHandler;
+    private final File mLastStagedRollbackIdFile;
 
     RollbackPackageHealthObserver(Context context) {
         mContext = context;
         HandlerThread handlerThread = new HandlerThread("RollbackPackageHealthObserver");
         handlerThread.start();
         mHandler = handlerThread.getThreadHandler();
+        File dataDir = new File(Environment.getDataDirectory(), "rollback-observer");
+        dataDir.mkdirs();
+        mLastStagedRollbackIdFile = new File(dataDir, "last-staged-rollback-id");
         PackageWatchdog.getInstance(mContext).registerHealthObserver(this);
     }
 
@@ -112,15 +125,19 @@
                 int status = result.getIntExtra(RollbackManager.EXTRA_STATUS,
                         RollbackManager.STATUS_FAILURE);
                 if (status == RollbackManager.STATUS_SUCCESS) {
-                    StatsLog.write(StatsLog.WATCHDOG_ROLLBACK_OCCURRED,
-                            StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_SUCCESS,
-                            moduleMetadataPackage.getPackageName(),
-                            moduleMetadataPackage.getVersionCode());
                     if (rollback.isStaged()) {
                         int rollbackId = rollback.getRollbackId();
                         BroadcastReceiver listener =
-                                listenForStagedSessionReady(rollbackManager, rollbackId);
-                        handleStagedSessionChange(rollbackManager, rollbackId, listener);
+                                listenForStagedSessionReady(rollbackManager, rollbackId,
+                                        moduleMetadataPackage);
+                        handleStagedSessionChange(rollbackManager, rollbackId, listener,
+                                moduleMetadataPackage);
+                    } else {
+                        StatsLog.write(StatsLog.WATCHDOG_ROLLBACK_OCCURRED,
+                                StatsLog
+                                .WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_SUCCESS,
+                                moduleMetadataPackage.getPackageName(),
+                                moduleMetadataPackage.getVersionCode());
                     }
                 } else {
                     StatsLog.write(StatsLog.WATCHDOG_ROLLBACK_OCCURRED,
@@ -149,7 +166,73 @@
      * This may cause {@code packages} to be rolled back if they crash too freqeuntly.
      */
     public void startObservingHealth(List<String> packages, long durationMs) {
-        PackageWatchdog.getInstance(mContext).startObservingHealth(this, packages, durationMs);
+        PackageWatchdog.getInstance(mContext).startObservingHealth(this, packages, durationMs,
+                false /* withExplicitHealthCheck */);
+    }
+
+    /** Verifies the rollback state after a reboot. */
+    public void onBootCompleted() {
+        int rollbackId = popLastStagedRollbackId();
+        if (rollbackId == INVALID_ROLLBACK_ID) {
+            // No staged rollback before reboot
+            return;
+        }
+
+        RollbackManager rollbackManager = mContext.getSystemService(RollbackManager.class);
+        PackageInstaller packageInstaller = mContext.getPackageManager().getPackageInstaller();
+        RollbackInfo rollback = null;
+        for (RollbackInfo info : rollbackManager.getRecentlyCommittedRollbacks()) {
+            if (rollbackId == info.getRollbackId()) {
+                rollback = info;
+                break;
+            }
+        }
+
+        if (rollback == null) {
+            Slog.e(TAG, "rollback info not found for last staged rollback: " + rollbackId);
+            return;
+        }
+
+        String moduleMetadataPackageName = getModuleMetadataPackageName();
+        if (moduleMetadataPackageName == null) {
+            // Only log mainline staged rollbacks
+            return;
+        }
+
+        // Use the version of the metadata package that was installed before
+        // we rolled back for logging purposes.
+        VersionedPackage moduleMetadataPackage = null;
+        for (PackageRollbackInfo packageRollback : rollback.getPackages()) {
+            if (moduleMetadataPackageName.equals(packageRollback.getPackageName())) {
+                moduleMetadataPackage = packageRollback.getVersionRolledBackFrom();
+                break;
+            }
+        }
+
+        if (moduleMetadataPackage == null) {
+            // Only log mainline staged rollbacks
+            return;
+        }
+
+        int sessionId = rollback.getCommittedSessionId();
+        PackageInstaller.SessionInfo sessionInfo = packageInstaller.getSessionInfo(sessionId);
+        if (sessionInfo == null) {
+            Slog.e(TAG, "On boot completed, could not load session id " + sessionId);
+            return;
+        }
+        if (sessionInfo.isStagedSessionApplied()) {
+            StatsLog.write(StatsLog.WATCHDOG_ROLLBACK_OCCURRED,
+                    StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_SUCCESS,
+                    moduleMetadataPackage.getPackageName(),
+                    moduleMetadataPackage.getVersionCode());
+        } else if (sessionInfo.isStagedSessionReady()) {
+            // TODO: What do for staged session ready but not applied
+        } else {
+            StatsLog.write(StatsLog.WATCHDOG_ROLLBACK_OCCURRED,
+                    StatsLog.WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_FAILURE,
+                    moduleMetadataPackage.getPackageName(),
+                    moduleMetadataPackage.getVersionCode());
+        }
     }
 
     private Pair<RollbackInfo, Boolean> getAvailableRollback(RollbackManager rollbackManager,
@@ -174,12 +257,20 @@
         return null;
     }
 
-    private VersionedPackage getModuleMetadataPackage() {
+    private String getModuleMetadataPackageName() {
         String packageName = mContext.getResources().getString(
                 R.string.config_defaultModuleMetadataProvider);
         if (TextUtils.isEmpty(packageName)) {
             return null;
         }
+        return packageName;
+    }
+
+    private VersionedPackage getModuleMetadataPackage() {
+        String packageName = getModuleMetadataPackageName();
+        if (packageName == null) {
+            return null;
+        }
 
         try {
             return new VersionedPackage(packageName, mContext.getPackageManager().getPackageInfo(
@@ -191,12 +282,12 @@
     }
 
     private BroadcastReceiver listenForStagedSessionReady(RollbackManager rollbackManager,
-            int rollbackId) {
+            int rollbackId, VersionedPackage moduleMetadataPackage) {
         BroadcastReceiver sessionUpdatedReceiver = new BroadcastReceiver() {
             @Override
             public void onReceive(Context context, Intent intent) {
                 handleStagedSessionChange(rollbackManager,
-                        rollbackId, this /* BroadcastReceiver */);
+                        rollbackId, this /* BroadcastReceiver */, moduleMetadataPackage);
             }
         };
         IntentFilter sessionUpdatedFilter =
@@ -206,7 +297,7 @@
     }
 
     private void handleStagedSessionChange(RollbackManager rollbackManager, int rollbackId,
-            BroadcastReceiver listener) {
+            BroadcastReceiver listener, VersionedPackage moduleMetadataPackage) {
         PackageInstaller packageInstaller =
                 mContext.getPackageManager().getPackageInstaller();
         List<RollbackInfo> recentRollbacks =
@@ -220,11 +311,52 @@
                         packageInstaller.getSessionInfo(sessionId);
                 if (sessionInfo.isStagedSessionReady()) {
                     mContext.unregisterReceiver(listener);
+                    saveLastStagedRollbackId(rollbackId);
+                    StatsLog.write(StatsLog.WATCHDOG_ROLLBACK_OCCURRED,
+                            StatsLog
+                            .WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_BOOT_TRIGGERED,
+                            moduleMetadataPackage.getPackageName(),
+                            moduleMetadataPackage.getVersionCode());
                     mContext.getSystemService(PowerManager.class).reboot("Rollback staged install");
                 } else if (sessionInfo.isStagedSessionFailed()) {
+                    StatsLog.write(StatsLog.WATCHDOG_ROLLBACK_OCCURRED,
+                            StatsLog
+                            .WATCHDOG_ROLLBACK_OCCURRED__ROLLBACK_TYPE__ROLLBACK_FAILURE,
+                            moduleMetadataPackage.getPackageName(),
+                            moduleMetadataPackage.getVersionCode());
                     mContext.unregisterReceiver(listener);
                 }
             }
         }
     }
+
+    private void saveLastStagedRollbackId(int stagedRollbackId) {
+        try {
+            FileOutputStream fos = new FileOutputStream(mLastStagedRollbackIdFile);
+            PrintWriter pw = new PrintWriter(fos);
+            pw.println(stagedRollbackId);
+            pw.flush();
+            FileUtils.sync(fos);
+            pw.close();
+        } catch (IOException e) {
+            Slog.e(TAG, "Failed to save last staged rollback id", e);
+            mLastStagedRollbackIdFile.delete();
+        }
+    }
+
+    private int popLastStagedRollbackId() {
+        int rollbackId = INVALID_ROLLBACK_ID;
+        if (!mLastStagedRollbackIdFile.exists()) {
+            return rollbackId;
+        }
+
+        try {
+            rollbackId = Integer.parseInt(
+                    IoUtils.readFileAsString(mLastStagedRollbackIdFile.getAbsolutePath()).trim());
+        } catch (IOException | NumberFormatException e) {
+            Slog.e(TAG, "Failed to retrieve last staged rollback id", e);
+        }
+        mLastStagedRollbackIdFile.delete();
+        return rollbackId;
+    }
 }
diff --git a/services/core/java/com/android/server/rollback/RollbackStore.java b/services/core/java/com/android/server/rollback/RollbackStore.java
index 4f8f685..2cfa465 100644
--- a/services/core/java/com/android/server/rollback/RollbackStore.java
+++ b/services/core/java/com/android/server/rollback/RollbackStore.java
@@ -16,6 +16,9 @@
 
 package com.android.server.rollback;
 
+import static com.android.server.rollback.RollbackData.rollbackStateFromString;
+import static com.android.server.rollback.RollbackData.rollbackStateToString;
+
 import android.annotation.NonNull;
 import android.content.pm.VersionedPackage;
 import android.content.rollback.PackageRollbackInfo;
@@ -401,23 +404,4 @@
             file.delete();
         }
     }
-
-    private static String rollbackStateToString(@RollbackData.RollbackState int state) {
-        switch (state) {
-            case RollbackData.ROLLBACK_STATE_ENABLING: return "enabling";
-            case RollbackData.ROLLBACK_STATE_AVAILABLE: return "available";
-            case RollbackData.ROLLBACK_STATE_COMMITTED: return "committed";
-        }
-        throw new AssertionError("Invalid rollback state: " + state);
-    }
-
-    private static @RollbackData.RollbackState int rollbackStateFromString(String state)
-            throws ParseException {
-        switch (state) {
-            case "enabling": return RollbackData.ROLLBACK_STATE_ENABLING;
-            case "available": return RollbackData.ROLLBACK_STATE_AVAILABLE;
-            case "committed": return RollbackData.ROLLBACK_STATE_COMMITTED;
-        }
-        throw new ParseException("Invalid rollback state: " + state, 0);
-    }
 }
diff --git a/services/core/java/com/android/server/rollback/TEST_MAPPING b/services/core/java/com/android/server/rollback/TEST_MAPPING
index 6be93a0..921b754 100644
--- a/services/core/java/com/android/server/rollback/TEST_MAPPING
+++ b/services/core/java/com/android/server/rollback/TEST_MAPPING
@@ -5,6 +5,14 @@
     },
     {
       "name": "StagedRollbackTest"
+    },
+    {
+      "name": "FrameworksServicesTests",
+      "options": [
+        {
+          "include-filter": "com.android.server.rollback"
+        }
+      ]
     }
   ]
 }
diff --git a/services/core/java/com/android/server/signedconfig/TEST_MAPPING b/services/core/java/com/android/server/signedconfig/TEST_MAPPING
new file mode 100644
index 0000000..88e068f
--- /dev/null
+++ b/services/core/java/com/android/server/signedconfig/TEST_MAPPING
@@ -0,0 +1,7 @@
+{
+  "presubmit": [
+    {
+      "name": "CtsSignedConfigHostTestCases"
+    }
+  ]
+}
diff --git a/services/core/java/com/android/server/stats/StatsCompanionService.java b/services/core/java/com/android/server/stats/StatsCompanionService.java
index 4815e5c..1800433 100644
--- a/services/core/java/com/android/server/stats/StatsCompanionService.java
+++ b/services/core/java/com/android/server/stats/StatsCompanionService.java
@@ -19,11 +19,14 @@
 import static android.content.pm.PermissionInfo.PROTECTION_DANGEROUS;
 import static android.os.Process.getPidsForCommands;
 import static android.os.Process.getUidForPid;
+import static android.os.storage.VolumeInfo.TYPE_PRIVATE;
+import static android.os.storage.VolumeInfo.TYPE_PUBLIC;
 
 import static com.android.internal.util.Preconditions.checkNotNull;
 import static com.android.server.am.MemoryStatUtil.readCmdlineFromProcfs;
 import static com.android.server.am.MemoryStatUtil.readMemoryStatFromProcfs;
 import static com.android.server.am.MemoryStatUtil.readRssHighWaterMarkFromProcfs;
+import static com.android.server.am.MemoryStatUtil.readSystemIonHeapSizeFromDebugfs;
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
@@ -88,6 +91,7 @@
 import android.os.storage.DiskInfo;
 import android.os.storage.StorageManager;
 import android.os.storage.VolumeInfo;
+import android.stats.storage.StorageEnums;
 import android.telephony.ModemActivityInfo;
 import android.telephony.TelephonyManager;
 import android.util.ArrayMap;
@@ -1182,6 +1186,15 @@
         SystemProperties.set("sys.rss_hwm_reset.on", "1");
     }
 
+    private void pullSystemIonHeapSize(
+            int tagId, long elapsedNanos, long wallClockNanos,
+            List<StatsLogEventWrapper> pulledData) {
+        final long systemIonHeapSizeInBytes = readSystemIonHeapSizeFromDebugfs();
+        StatsLogEventWrapper e = new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
+        e.writeLong(systemIonHeapSizeInBytes);
+        pulledData.add(e);
+    }
+
     private void pullBinderCallsStats(
             int tagId, long elapsedNanos, long wallClockNanos,
             List<StatsLogEventWrapper> pulledData) {
@@ -1958,7 +1971,7 @@
         pulledData.add(e);
     }
 
-    private void pullSDCardInfo(int tagId, long elapsedNanos, long wallClockNanos,
+    private void pullExternalStorageInfo(int tagId, long elapsedNanos, long wallClockNanos,
             List<StatsLogEventWrapper> pulledData) {
         StorageManager storageManager = mContext.getSystemService(StorageManager.class);
         if (storageManager != null) {
@@ -1966,11 +1979,29 @@
             for (VolumeInfo vol : volumes) {
                 final String envState = VolumeInfo.getEnvironmentForState(vol.getState());
                 final DiskInfo diskInfo = vol.getDisk();
-                if (diskInfo != null && diskInfo.isSd()) {
+                if (diskInfo != null) {
                     if (envState.equals(Environment.MEDIA_MOUNTED)) {
+                        // Get the type of the volume, if it is adoptable or portable.
+                        int volumeType = StatsLog.EXTERNAL_STORAGE_INFO__VOLUME_TYPE__OTHER;
+                        if (vol.getType() == TYPE_PUBLIC) {
+                            volumeType = StatsLog.EXTERNAL_STORAGE_INFO__VOLUME_TYPE__PUBLIC;
+                        } else if (vol.getType() == TYPE_PRIVATE) {
+                            volumeType = StatsLog.EXTERNAL_STORAGE_INFO__VOLUME_TYPE__PRIVATE;
+                        }
+                        // Get the type of external storage inserted in the device (sd cards,
+                        // usb, etc)
+                        int externalStorageType;
+                        if (diskInfo.isSd()) {
+                            externalStorageType = StorageEnums.SD_CARD;
+                        } else if (diskInfo.isUsb()) {
+                            externalStorageType = StorageEnums.USB;
+                        } else {
+                            externalStorageType = StorageEnums.OTHER;
+                        }
                         StatsLogEventWrapper e =
                                 new StatsLogEventWrapper(tagId, elapsedNanos, wallClockNanos);
-                        e.writeInt(vol.getType() + 1);
+                        e.writeInt(externalStorageType);
+                        e.writeInt(volumeType);
                         e.writeLong(diskInfo.size);
                         pulledData.add(e);
                     }
@@ -2068,6 +2099,10 @@
                 pullProcessMemoryHighWaterMark(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
+            case StatsLog.SYSTEM_ION_HEAP_SIZE: {
+                pullSystemIonHeapSize(tagId, elapsedNanos, wallClockNanos, ret);
+                break;
+            }
             case StatsLog.BINDER_CALLS: {
                 pullBinderCallsStats(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
@@ -2171,8 +2206,8 @@
                 pullTimeZoneDataInfo(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
-            case StatsLog.SDCARD_INFO: {
-                pullSDCardInfo(tagId, elapsedNanos, wallClockNanos, ret);
+            case StatsLog.EXTERNAL_STORAGE_INFO: {
+                pullExternalStorageInfo(tagId, elapsedNanos, wallClockNanos, ret);
                 break;
             }
             default:
diff --git a/services/core/java/com/android/server/testharness/TestHarnessModeService.java b/services/core/java/com/android/server/testharness/TestHarnessModeService.java
index ec62ec7..9f9b797 100644
--- a/services/core/java/com/android/server/testharness/TestHarnessModeService.java
+++ b/services/core/java/com/android/server/testharness/TestHarnessModeService.java
@@ -18,6 +18,8 @@
 
 import android.annotation.Nullable;
 import android.app.KeyguardManager;
+import android.app.Notification;
+import android.app.NotificationManager;
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.Intent;
@@ -35,6 +37,8 @@
 import android.provider.Settings;
 import android.util.Slog;
 
+import com.android.internal.messages.nano.SystemMessageProto.SystemMessage;
+import com.android.internal.notification.SystemNotificationChannels;
 import com.android.server.LocalServices;
 import com.android.server.PersistentDataBlockManagerInternal;
 import com.android.server.SystemService;
@@ -87,6 +91,7 @@
             case PHASE_BOOT_COMPLETED:
                 disableAutoSync();
                 configureSettings();
+                showNotification();
                 break;
         }
         super.onBootPhase(phase);
@@ -99,19 +104,29 @@
             // There's no data to apply, so leave it as-is.
             return;
         }
+        PersistentData persistentData;
+        try {
+            persistentData = PersistentData.fromBytes(testHarnessModeData);
+        } catch (SetUpTestHarnessModeException e) {
+            Slog.e(TAG, "Failed to set up Test Harness Mode. Bad data.", e);
+            return;
+        } finally {
+            // Clear out the Test Harness Mode data. It's now in memory if successful or we should
+            // skip setting up.
+            getPersistentDataBlock().clearTestHarnessModeData();
+        }
         mShouldSetUpTestHarnessMode = true;
-        setUpAdb(testHarnessModeData);
+        setUpAdb(persistentData);
         setDeviceProvisioned();
     }
 
-    private void setUpAdb(byte[] testHarnessModeData) {
+    private void setUpAdb(PersistentData persistentData) {
         ContentResolver cr = getContext().getContentResolver();
+
         // Disable the TTL for ADB keys before enabling ADB
         Settings.Global.putLong(cr, Settings.Global.ADB_ALLOWED_CONNECTION_TIME, 0);
 
-        PersistentData persistentData = PersistentData.fromBytes(testHarnessModeData);
-
-        SystemProperties.set(TEST_HARNESS_MODE_PROPERTY, persistentData.mEnabled ? "1" : "0");
+        SystemProperties.set(TEST_HARNESS_MODE_PROPERTY, "1");
         writeAdbKeysFile(persistentData);
     }
 
@@ -145,9 +160,6 @@
 
         writeBytesToFile(persistentData.mAdbKeys, adbManager.getAdbKeysFile().toPath());
         writeBytesToFile(persistentData.mAdbTempKeys, adbManager.getAdbTempKeysFile().toPath());
-
-        // Clear out the data block so that we don't revert the ADB keys on every boot.
-        getPersistentDataBlock().clearTestHarnessModeData();
     }
 
     private void writeBytesToFile(byte[] keys, Path adbKeys) {
@@ -177,6 +189,36 @@
                 UserHandle.USER_CURRENT);
     }
 
+    private void showNotification() {
+        if (!SystemProperties.getBoolean(TEST_HARNESS_MODE_PROPERTY, false)) {
+            return;
+        }
+        String title = getContext()
+                .getString(com.android.internal.R.string.test_harness_mode_notification_title);
+        String message = getContext()
+                .getString(com.android.internal.R.string.test_harness_mode_notification_message);
+
+        Notification notification =
+                new Notification.Builder(getContext(), SystemNotificationChannels.DEVELOPER)
+                        .setSmallIcon(com.android.internal.R.drawable.stat_sys_adb)
+                        .setWhen(0)
+                        .setOngoing(true)
+                        .setTicker(title)
+                        .setDefaults(0)  // please be quiet
+                        .setColor(getContext().getColor(
+                                com.android.internal.R.color
+                                        .system_notification_accent_color))
+                        .setContentTitle(title)
+                        .setContentText(message)
+                        .setVisibility(Notification.VISIBILITY_PUBLIC)
+                        .build();
+
+        NotificationManager notificationManager =
+                getContext().getSystemService(NotificationManager.class);
+        notificationManager.notifyAsUser(
+                null, SystemMessage.NOTE_TEST_HARNESS_MODE_ENABLED, notification, UserHandle.ALL);
+    }
+
     @Nullable
     private PersistentDataBlockManagerInternal getPersistentDataBlock() {
         if (mPersistentDataBlockManagerInternal == null) {
@@ -248,8 +290,7 @@
                 byte[] adbKeysBytes = getBytesFromFile(adbKeys);
                 byte[] adbTempKeysBytes = getBytesFromFile(adbTempKeys);
 
-                PersistentData persistentData =
-                        new PersistentData(true, adbKeysBytes, adbTempKeysBytes);
+                PersistentData persistentData = new PersistentData(adbKeysBytes, adbTempKeysBytes);
                 getPersistentDataBlock().setTestHarnessModeData(persistentData.toBytes());
             } catch (IOException e) {
                 Slog.e(TAG, "Failed to store ADB keys.", e);
@@ -316,37 +357,40 @@
      */
     public static class PersistentData {
         static final byte VERSION_1 = 1;
+        static final byte VERSION_2 = 2;
 
         final int mVersion;
-        final boolean mEnabled;
         final byte[] mAdbKeys;
         final byte[] mAdbTempKeys;
 
-        PersistentData(boolean enabled, byte[] adbKeys, byte[] adbTempKeys) {
-            this(VERSION_1, enabled, adbKeys, adbTempKeys);
+        PersistentData(byte[] adbKeys, byte[] adbTempKeys) {
+            this(VERSION_2, adbKeys, adbTempKeys);
         }
 
-        PersistentData(int version, boolean enabled, byte[] adbKeys, byte[] adbTempKeys) {
+        PersistentData(int version, byte[] adbKeys, byte[] adbTempKeys) {
             this.mVersion = version;
-            this.mEnabled = enabled;
             this.mAdbKeys = adbKeys;
             this.mAdbTempKeys = adbTempKeys;
         }
 
-        static PersistentData fromBytes(byte[] bytes) {
+        static PersistentData fromBytes(byte[] bytes) throws SetUpTestHarnessModeException {
             try {
                 DataInputStream is = new DataInputStream(new ByteArrayInputStream(bytes));
                 int version = is.readInt();
-                boolean enabled = is.readBoolean();
+                if (version == VERSION_1) {
+                    // Version 1 of Test Harness Mode contained an "enabled" bit that we need to
+                    // skip. If we don't, the binary format will be bad and it will fail to set up.
+                    is.readBoolean();
+                }
                 int adbKeysLength = is.readInt();
                 byte[] adbKeys = new byte[adbKeysLength];
                 is.readFully(adbKeys);
                 int adbTempKeysLength = is.readInt();
                 byte[] adbTempKeys = new byte[adbTempKeysLength];
                 is.readFully(adbTempKeys);
-                return new PersistentData(version, enabled, adbKeys, adbTempKeys);
+                return new PersistentData(version, adbKeys, adbTempKeys);
             } catch (IOException e) {
-                throw new RuntimeException(e);
+                throw new SetUpTestHarnessModeException(e);
             }
         }
 
@@ -354,8 +398,7 @@
             try {
                 ByteArrayOutputStream os = new ByteArrayOutputStream();
                 DataOutputStream dos = new DataOutputStream(os);
-                dos.writeInt(VERSION_1);
-                dos.writeBoolean(mEnabled);
+                dos.writeInt(VERSION_2);
                 dos.writeInt(mAdbKeys.length);
                 dos.write(mAdbKeys);
                 dos.writeInt(mAdbTempKeys.length);
@@ -367,4 +410,18 @@
             }
         }
     }
+
+    /**
+     * An exception thrown when Test Harness Mode fails to set up.
+     *
+     * <p>In the event that Test Harness Mode fails to set up, all of the data should be discarded
+     * and the Test Harness Mode portion of the persistent data block should be wiped. This will
+     * prevent the device from becoming stuck, as there is no way (without rooting the device) to
+     * clear the persistent data block.
+     */
+    private static class SetUpTestHarnessModeException extends Exception {
+        SetUpTestHarnessModeException(Exception e) {
+            super(e);
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java b/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java
index ef77140..a5d291f 100644
--- a/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java
+++ b/services/core/java/com/android/server/textclassifier/TextClassificationManagerService.java
@@ -27,12 +27,8 @@
 import android.os.IBinder;
 import android.os.RemoteException;
 import android.os.UserHandle;
-import android.service.textclassifier.IConversationActionsCallback;
-import android.service.textclassifier.ITextClassificationCallback;
+import android.service.textclassifier.ITextClassifierCallback;
 import android.service.textclassifier.ITextClassifierService;
-import android.service.textclassifier.ITextLanguageCallback;
-import android.service.textclassifier.ITextLinksCallback;
-import android.service.textclassifier.ITextSelectionCallback;
 import android.service.textclassifier.TextClassifierService;
 import android.util.Slog;
 import android.util.SparseArray;
@@ -132,7 +128,7 @@
     @Override
     public void onSuggestSelection(
             TextClassificationSessionId sessionId,
-            TextSelection.Request request, ITextSelectionCallback callback)
+            TextSelection.Request request, ITextClassifierCallback callback)
             throws RemoteException {
         Preconditions.checkNotNull(request);
         Preconditions.checkNotNull(callback);
@@ -155,7 +151,7 @@
     @Override
     public void onClassifyText(
             TextClassificationSessionId sessionId,
-            TextClassification.Request request, ITextClassificationCallback callback)
+            TextClassification.Request request, ITextClassifierCallback callback)
             throws RemoteException {
         Preconditions.checkNotNull(request);
         Preconditions.checkNotNull(callback);
@@ -178,7 +174,7 @@
     @Override
     public void onGenerateLinks(
             TextClassificationSessionId sessionId,
-            TextLinks.Request request, ITextLinksCallback callback)
+            TextLinks.Request request, ITextClassifierCallback callback)
             throws RemoteException {
         Preconditions.checkNotNull(request);
         Preconditions.checkNotNull(callback);
@@ -241,7 +237,7 @@
     public void onDetectLanguage(
             TextClassificationSessionId sessionId,
             TextLanguage.Request request,
-            ITextLanguageCallback callback) throws RemoteException {
+            ITextClassifierCallback callback) throws RemoteException {
         Preconditions.checkNotNull(request);
         Preconditions.checkNotNull(callback);
         validateInput(mContext, request.getCallingPackageName());
@@ -264,7 +260,7 @@
     public void onSuggestConversationActions(
             TextClassificationSessionId sessionId,
             ConversationActions.Request request,
-            IConversationActionsCallback callback) throws RemoteException {
+            ITextClassifierCallback callback) throws RemoteException {
         Preconditions.checkNotNull(request);
         Preconditions.checkNotNull(callback);
         validateInput(mContext, request.getCallingPackageName());
diff --git a/services/core/java/com/android/server/trust/TrustAgentWrapper.java b/services/core/java/com/android/server/trust/TrustAgentWrapper.java
index 28fee4e..4614355 100644
--- a/services/core/java/com/android/server/trust/TrustAgentWrapper.java
+++ b/services/core/java/com/android/server/trust/TrustAgentWrapper.java
@@ -43,8 +43,6 @@
 import android.util.Log;
 import android.util.Slog;
 
-import com.android.internal.policy.IKeyguardDismissCallback;
-
 import java.util.Collections;
 import java.util.List;
 
@@ -495,6 +493,21 @@
         }
     }
 
+    /**
+     * @see android.service.trust.TrustAgentService#onTokenStateReceived()
+     *
+     */
+    public void onEscrowTokenActivated(long handle, int userId) {
+        if (DEBUG) Slog.d(TAG, "onEscrowTokenActivated: " + handle + " user: " + userId);
+        if (mTrustAgentService != null) {
+            try {
+                mTrustAgentService.onTokenStateReceived(handle,
+                        TrustAgentService.TOKEN_STATE_ACTIVE);
+            } catch (RemoteException e) {
+                onError(e);
+            }
+        }
+    }
     private void setCallback(ITrustAgentServiceCallback callback) {
         try {
             if (mTrustAgentService != null) {
diff --git a/services/core/java/com/android/server/trust/TrustManagerService.java b/services/core/java/com/android/server/trust/TrustManagerService.java
index c7044a1..3a39053 100644
--- a/services/core/java/com/android/server/trust/TrustManagerService.java
+++ b/services/core/java/com/android/server/trust/TrustManagerService.java
@@ -409,7 +409,10 @@
     }
 
     public long addEscrowToken(byte[] token, int userId) {
-        return mLockPatternUtils.addEscrowToken(token, userId);
+        return mLockPatternUtils.addEscrowToken(token, userId,
+                (long handle, int userid) -> {
+                    dispatchEscrowTokenActivatedLocked(handle, userid);
+                });
     }
 
     public boolean removeEscrowToken(long handle, int userId) {
@@ -662,6 +665,15 @@
         }
     }
 
+    private void dispatchEscrowTokenActivatedLocked(long handle, int userId) {
+        for (int i = 0; i < mActiveAgents.size(); i++) {
+            AgentInfo agent = mActiveAgents.valueAt(i);
+            if (agent.userId == userId) {
+                agent.agent.onEscrowTokenActivated(handle, userId);
+            }
+        }
+    }
+
     void updateDevicePolicyFeatures() {
         boolean changed = false;
         for (int i = 0; i < mActiveAgents.size(); i++) {
diff --git a/services/core/java/com/android/server/utils/FlagNamespaceUtils.java b/services/core/java/com/android/server/utils/FlagNamespaceUtils.java
index f26121e..f8c7447 100644
--- a/services/core/java/com/android/server/utils/FlagNamespaceUtils.java
+++ b/services/core/java/com/android/server/utils/FlagNamespaceUtils.java
@@ -19,6 +19,7 @@
 import android.annotation.Nullable;
 import android.provider.DeviceConfig;
 
+import com.android.internal.annotations.VisibleForTesting;
 import com.android.server.RescueParty;
 
 import java.util.ArrayList;
@@ -41,20 +42,23 @@
     /**
      * Name of the special namespace in DeviceConfig table used for communicating resets.
      */
-    private static final String NAMESPACE_RESCUE_PARTY = "rescue_party_namespace";
+    @VisibleForTesting
+    public static final String NAMESPACE_RESCUE_PARTY = "rescue_party_namespace";
     /**
      * Flag in the {@link DeviceConfig} in {@link #NAMESPACE_RESCUE_PARTY}, holding all known {@link
      * DeviceConfig} namespaces, as a {@link #DELIMITER} separated String. It's updated after the
      * first time flags are written to the new namespace in the {@link DeviceConfig}.
      */
-    private static final String ALL_KNOWN_NAMESPACES_FLAG = "all_known_namespaces";
+    @VisibleForTesting
+    public static final String ALL_KNOWN_NAMESPACES_FLAG = "all_known_namespaces";
     /**
      * Flag in the {@link DeviceConfig} in {@link #NAMESPACE_RESCUE_PARTY} with integer counter
      * suffix added to it, holding {@link DeviceConfig} namespace value whose flags were recently
      * reset by the {@link RescueParty}. It's updated by {@link RescueParty} every time given
      * namespace flags are reset.
      */
-    private static final String RESET_PLATFORM_PACKAGE_FLAG = "reset_platform_package";
+    @VisibleForTesting
+    public static final String RESET_PLATFORM_PACKAGE_FLAG = "reset_platform_package";
     private static final String DELIMITER = ":";
     /**
      * Maximum value of the counter used in combination with {@link #RESET_PLATFORM_PACKAGE_FLAG}
@@ -97,11 +101,25 @@
      * Reset all namespaces in DeviceConfig with consumed resetMode.
      */
     public static void resetDeviceConfig(int resetMode) {
-        List<String> allKnownNamespaces = getAllKnownDeviceConfigNamespacesList();
-        for (String namespace : allKnownNamespaces) {
+        resetDeviceConfig(resetMode, getAllKnownDeviceConfigNamespacesList());
+    }
+
+    /**
+     * Reset all consumed namespaces in DeviceConfig with consumed resetMode.
+     */
+    public static void resetDeviceConfig(int resetMode, List<String> namespacesList) {
+        for (String namespace : namespacesList) {
             DeviceConfig.resetToDefaults(resetMode, namespace);
         }
-        addToKnownResetNamespaces(allKnownNamespaces);
+        addToKnownResetNamespaces(namespacesList);
+    }
+
+    /**
+     * Resets known reset namespaces flag counter for tests only.
+     */
+    @VisibleForTesting
+    public static void resetKnownResetNamespacesFlagCounterForTest() {
+        sKnownResetNamespacesFlagCounter = -1;
     }
 
     /**
diff --git a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
index bb1e001..e53fde9 100644
--- a/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
+++ b/services/core/java/com/android/server/wallpaper/WallpaperManagerService.java
@@ -474,7 +474,13 @@
         int wallpaperId;
 
         if (wallpaper.equals(mFallbackWallpaper)) {
-            extractDefaultImageWallpaperColors();
+            synchronized (mLock) {
+                if (mFallbackWallpaper.primaryColors != null) return;
+            }
+            final WallpaperColors colors = extractDefaultImageWallpaperColors();
+            synchronized (mLock) {
+                mFallbackWallpaper.primaryColors = colors;
+            }
             return;
         }
 
@@ -499,23 +505,7 @@
             }
         } else if (defaultImageWallpaper) {
             // There is no crop and source file because this is default image wallpaper.
-            try (final InputStream is =
-                         WallpaperManager.openDefaultWallpaper(mContext, FLAG_SYSTEM)) {
-                if (is != null) {
-                    try {
-                        final BitmapFactory.Options options = new BitmapFactory.Options();
-                        final Bitmap bitmap = BitmapFactory.decodeStream(is, null, options);
-                        if (bitmap != null) {
-                            colors = WallpaperColors.fromBitmap(bitmap);
-                            bitmap.recycle();
-                        }
-                    } catch (OutOfMemoryError e) {
-                        Slog.w(TAG, "Can't decode default wallpaper stream", e);
-                    }
-                }
-            } catch (IOException e) {
-                Slog.w(TAG, "Can't close default wallpaper stream", e);
-            }
+            colors = extractDefaultImageWallpaperColors();
         }
 
         if (colors == null) {
@@ -535,37 +525,41 @@
         }
     }
 
-    private void extractDefaultImageWallpaperColors() {
+    private WallpaperColors extractDefaultImageWallpaperColors() {
+        if (DEBUG) Slog.d(TAG, "Extract default image wallpaper colors");
+
         synchronized (mLock) {
-            if (mFallbackWallpaper.primaryColors != null) return;
+            if (mCacheDefaultImageWallpaperColors != null) return mCacheDefaultImageWallpaperColors;
         }
 
-        if (DEBUG) Slog.d(TAG, "Extract default image wallpaper colors");
         WallpaperColors colors = null;
-        final InputStream is = WallpaperManager.openDefaultWallpaper(mContext, FLAG_SYSTEM);
-        if (is != null) {
-            try {
-                final BitmapFactory.Options options = new BitmapFactory.Options();
-                final Bitmap bitmap = BitmapFactory.decodeStream(is, null, options);
-                if (bitmap != null) {
-                    colors = WallpaperColors.fromBitmap(bitmap);
-                    bitmap.recycle();
-                }
-            } catch (OutOfMemoryError e) {
-                Slog.w(TAG, "Can't decode default wallpaper stream", e);
-            } finally {
-                IoUtils.closeQuietly(is);
+        try (InputStream is = WallpaperManager.openDefaultWallpaper(mContext, FLAG_SYSTEM)) {
+            if (is == null) {
+                Slog.w(TAG, "Can't open default wallpaper stream");
+                return null;
             }
+
+            final BitmapFactory.Options options = new BitmapFactory.Options();
+            final Bitmap bitmap = BitmapFactory.decodeStream(is, null, options);
+            if (bitmap != null) {
+                colors = WallpaperColors.fromBitmap(bitmap);
+                bitmap.recycle();
+            }
+        } catch (OutOfMemoryError e) {
+            Slog.w(TAG, "Can't decode default wallpaper stream", e);
+        } catch (IOException e) {
+            Slog.w(TAG, "Can't close default wallpaper stream", e);
         }
 
         if (colors == null) {
             Slog.e(TAG, "Extract default image wallpaper colors failed");
-            return;
+        } else {
+            synchronized (mLock) {
+                mCacheDefaultImageWallpaperColors = colors;
+            }
         }
 
-        synchronized (mLock) {
-            mFallbackWallpaper.primaryColors = colors;
-        }
+        return colors;
     }
 
     /**
@@ -815,6 +809,12 @@
     private final ComponentName mImageWallpaper;
 
     /**
+     * Default image wallpaper shall never changed after system service started, caching it when we
+     * first read the image file.
+     */
+    private WallpaperColors mCacheDefaultImageWallpaperColors;
+
+    /**
      * Name of the default wallpaper component; might be different from mImageWallpaper
      */
     private final ComponentName mDefaultWallpaperComponent;
diff --git a/services/core/java/com/android/server/wm/AccessibilityController.java b/services/core/java/com/android/server/wm/AccessibilityController.java
index 545b69b..0ebd092 100644
--- a/services/core/java/com/android/server/wm/AccessibilityController.java
+++ b/services/core/java/com/android/server/wm/AccessibilityController.java
@@ -607,6 +607,13 @@
                         availableBounds.op(windowBounds, Region.Op.DIFFERENCE);
                     }
 
+                    // Count letterbox into nonMagnifiedBounds
+                    if (windowState.isLetterboxedForDisplayCutoutLw()) {
+                        Region letterboxBounds = getLetterboxBounds(windowState);
+                        nonMagnifiedBounds.op(letterboxBounds, Region.Op.UNION);
+                        availableBounds.op(letterboxBounds, Region.Op.DIFFERENCE);
+                    }
+
                     // Update accounted bounds
                     Region accountedBounds = mTempRegion2;
                     accountedBounds.set(mMagnificationRegion);
@@ -658,6 +665,25 @@
                 }
             }
 
+            private Region getLetterboxBounds(WindowState windowState) {
+                final AppWindowToken appToken = windowState.mAppToken;
+                if (appToken == null) {
+                    return new Region();
+                }
+
+                mDisplay.getRealSize(mTempPoint);
+                final Rect letterboxInsets = appToken.getLetterboxInsets();
+                final int screenWidth = mTempPoint.x;
+                final int screenHeight = mTempPoint.y;
+                final Rect nonLetterboxRect = mTempRect1;
+                final Region letterboxBounds = mTempRegion3;
+                nonLetterboxRect.set(0, 0, screenWidth, screenHeight);
+                nonLetterboxRect.inset(letterboxInsets);
+                letterboxBounds.set(0, 0, screenWidth, screenHeight);
+                letterboxBounds.op(nonLetterboxRect, Region.Op.DIFFERENCE);
+                return letterboxBounds;
+            }
+
             public void onRotationChangedLocked() {
                 // If we are showing the magnification border, hide it immediately so
                 // the user does not see strange artifacts during rotation. The screenshot
@@ -881,7 +907,7 @@
                 }
 
                 public void releaseSurface() {
-                    mSurfaceControl.release();
+                    mSurfaceControl.remove();
                     mSurface.release();
                 }
 
diff --git a/services/core/java/com/android/server/wm/ActivityDisplay.java b/services/core/java/com/android/server/wm/ActivityDisplay.java
index f882fde..a33b454d 100644
--- a/services/core/java/com/android/server/wm/ActivityDisplay.java
+++ b/services/core/java/com/android/server/wm/ActivityDisplay.java
@@ -126,6 +126,13 @@
     private boolean mSingleTaskInstance;
 
     /**
+     * Non-null if the last size compatibility mode activity is using non-native screen
+     * configuration. The activity is not able to put in multi-window mode, so it exists only one
+     * per display.
+     */
+    private ActivityRecord mLastCompatModeActivity;
+
+    /**
      * A focusable stack that is purposely to be positioned at the top. Although the stack may not
      * have the topmost index, it is used as a preferred candidate to prevent being unable to resume
      * target stack properly when there are other focusable always-on-top stacks.
@@ -1032,6 +1039,28 @@
         mSplitScreenPrimaryStack = null;
     }
 
+    /** Checks whether the given activity is in size compatibility mode and notifies the change. */
+    void handleActivitySizeCompatModeIfNeeded(ActivityRecord r) {
+        if (!r.isState(RESUMED) || r.getWindowingMode() != WINDOWING_MODE_FULLSCREEN) {
+            // The callback is only interested in the foreground changes of fullscreen activity.
+            return;
+        }
+        if (!r.inSizeCompatMode()) {
+            if (mLastCompatModeActivity != null) {
+                mService.getTaskChangeNotificationController()
+                        .notifySizeCompatModeActivityChanged(mDisplayId, null /* activityToken */);
+            }
+            mLastCompatModeActivity = null;
+            return;
+        }
+        if (mLastCompatModeActivity == r) {
+            return;
+        }
+        mLastCompatModeActivity = r;
+        mService.getTaskChangeNotificationController()
+                .notifySizeCompatModeActivityChanged(mDisplayId, r.appToken);
+    }
+
     ActivityStack getSplitScreenPrimaryStack() {
         return mSplitScreenPrimaryStack;
     }
diff --git a/services/core/java/com/android/server/wm/ActivityRecord.java b/services/core/java/com/android/server/wm/ActivityRecord.java
index 1783591..4706930 100644
--- a/services/core/java/com/android/server/wm/ActivityRecord.java
+++ b/services/core/java/com/android/server/wm/ActivityRecord.java
@@ -101,6 +101,7 @@
 import static com.android.server.wm.ActivityStack.ActivityState.INITIALIZING;
 import static com.android.server.wm.ActivityStack.ActivityState.PAUSED;
 import static com.android.server.wm.ActivityStack.ActivityState.PAUSING;
+import static com.android.server.wm.ActivityStack.ActivityState.RESTARTING_PROCESS;
 import static com.android.server.wm.ActivityStack.ActivityState.RESUMED;
 import static com.android.server.wm.ActivityStack.ActivityState.STOPPED;
 import static com.android.server.wm.ActivityStack.ActivityState.STOPPING;
@@ -160,6 +161,7 @@
 import android.app.servertransaction.PauseActivityItem;
 import android.app.servertransaction.PipModeChangeItem;
 import android.app.servertransaction.ResumeActivityItem;
+import android.app.servertransaction.StopActivityItem;
 import android.app.servertransaction.TopResumedActivityChangeItem;
 import android.app.servertransaction.WindowVisibilityItem;
 import android.app.usage.UsageEvents.Event;
@@ -2128,6 +2130,11 @@
             r.icicle = null;
             r.haveState = false;
         }
+
+        final ActivityDisplay display = r.getDisplay();
+        if (display != null) {
+            display.handleActivitySizeCompatModeIfNeeded(r);
+        }
     }
 
     /**
@@ -2189,7 +2196,8 @@
     final void activityStoppedLocked(Bundle newIcicle, PersistableBundle newPersistentState,
             CharSequence description) {
         final ActivityStack stack = getActivityStack();
-        if (mState != STOPPING) {
+        final boolean isStopping = mState == STOPPING;
+        if (!isStopping && mState != RESTARTING_PROCESS) {
             Slog.i(TAG, "Activity reported stop, but no longer stopping: " + this);
             stack.mHandler.removeMessages(STOP_TIMEOUT_MSG, this);
             return;
@@ -2212,7 +2220,9 @@
             if (DEBUG_STATES) Slog.v(TAG_STATES, "Moving to STOPPED: " + this + " (stop complete)");
             stack.mHandler.removeMessages(STOP_TIMEOUT_MSG, this);
             stopped = true;
-            setState(STOPPED, "activityStoppedLocked");
+            if (isStopping) {
+                setState(STOPPED, "activityStoppedLocked");
+            }
 
             if (mAppWindowToken != null) {
                 mAppWindowToken.notifyAppStopped();
@@ -2693,13 +2703,39 @@
     }
 
     /**
+     * @return {@code true} if this activity is in size compatibility mode that uses the different
+     *         density or bounds from its parent.
+     */
+    boolean inSizeCompatMode() {
+        if (!shouldUseSizeCompatMode()) {
+            return false;
+        }
+        final Configuration parentConfig = getParent().getConfiguration();
+        final Configuration resolvedConfig = getResolvedOverrideConfiguration();
+        // Although colorMode, screenLayout, smallestScreenWidthDp are also fixed, generally these
+        // fields should be changed with density and bounds, so here only compares the most
+        // significant field.
+        if (parentConfig.densityDpi != resolvedConfig.densityDpi) {
+            return true;
+        }
+        final Rect parentAppBounds = parentConfig.windowConfiguration.getAppBounds();
+        final Rect parentBounds = parentAppBounds != null
+                ? parentAppBounds : parentConfig.windowConfiguration.getBounds();
+        final Rect overrideBounds = resolvedConfig.windowConfiguration.getBounds();
+        // If the width or height is the same as parent, it is already the best fit of the override
+        // bounds, therefore this condition is considered as not size compatibility mode.
+        return parentBounds.width() != overrideBounds.width()
+                && parentBounds.height() != overrideBounds.height();
+    }
+
+    /**
      * Indicates the activity will keep the bounds and screen configuration when it was first
      * launched, no matter how its parent changes.
      *
      * @return {@code true} if this activity is declared as non-resizable and fixed orientation or
      *         aspect ratio.
      */
-    private boolean inSizeCompatMode() {
+    private boolean shouldUseSizeCompatMode() {
         return !isResizeable() && (info.isFixedOrientation() || info.hasFixedAspectRatio())
                 // The configuration of non-standard type should be enforced by system.
                 && isActivityTypeStandard()
@@ -2708,8 +2744,8 @@
 
     // TODO(b/36505427): Consider moving this method and similar ones to ConfigurationContainer.
     private void updateOverrideConfiguration() {
-        final boolean inSizeCompatMode = inSizeCompatMode();
-        if (inSizeCompatMode) {
+        final boolean shouldUseSizeCompatMode = shouldUseSizeCompatMode();
+        if (shouldUseSizeCompatMode) {
             if (!matchParentBounds()) {
                 // The override configuration is set only once in size compatible mode.
                 return;
@@ -2724,7 +2760,7 @@
 
         computeBounds(mTmpBounds);
 
-        if (inSizeCompatMode && mTmpBounds.isEmpty()) {
+        if (shouldUseSizeCompatMode && mTmpBounds.isEmpty()) {
             mTmpBounds.set(task.getWindowConfiguration().getBounds());
         }
         if (mTmpBounds.equals(getRequestedOverrideBounds())) {
@@ -2736,7 +2772,7 @@
         overrideConfig.unset();
         if (!mTmpBounds.isEmpty()) {
             overrideConfig.windowConfiguration.setBounds(mTmpBounds);
-            if (inSizeCompatMode) {
+            if (shouldUseSizeCompatMode) {
                 // Ensure the screen related fields are set. It is used to prevent activity relaunch
                 // when moving between displays. For screenWidthDp and screenWidthDp, because they
                 // are relative to bounds and density, they will be calculated in
@@ -2771,7 +2807,7 @@
         }
 
         final Configuration resolvedConfig = getResolvedOverrideConfiguration();
-        if (!inSizeCompatMode()) {
+        if (!shouldUseSizeCompatMode()) {
             computeConfigResourceOverrides(resolvedConfig, newParentConfiguration,
                     ORIENTATION_UNDEFINED, true /* insideParentBounds */);
             return;
@@ -2851,6 +2887,11 @@
                     getResolvedOverrideConfiguration().seq;
             mAppWindowToken.onMergedOverrideConfigurationChanged();
         }
+
+        final ActivityDisplay display = getDisplay();
+        if (display != null) {
+            display.handleActivitySizeCompatModeIfNeeded(this);
+        }
     }
 
     /** Returns true if the configuration is compatible with this activity. */
@@ -2985,7 +3026,7 @@
      *                        state. This is useful for the case where we know the activity will be
      *                        visible soon and we want to ensure its configuration before we make it
      *                        visible.
-     * @return True if the activity was relaunched and false if it wasn't relaunched because we
+     * @return False if the activity was relaunched and true if it wasn't relaunched because we
      *         can't or the app handles the specific configuration that is changing.
      */
     boolean ensureActivityConfiguration(int globalChanges, boolean preserveWindow,
@@ -3307,6 +3348,54 @@
         preserveWindowOnDeferredRelaunch = false;
     }
 
+    /**
+     * Request the process of the activity to restart with its saved state (from
+     * {@link android.app.Activity#onSaveInstanceState}) if possible. It also forces to recompute
+     * the override configuration. Note if the activity is in background, the process will be killed
+     * directly with keeping its record.
+     */
+    void restartProcessIfVisible() {
+        Slog.i(TAG, "Request to restart process of " + this);
+
+        // Reset the existing override configuration to the latest configuration.
+        getRequestedOverrideConfiguration().setToDefaults();
+        getResolvedOverrideConfiguration().setToDefaults();
+        if (visible) {
+            // Configuration will be ensured when becoming visible, so if it is already visible,
+            // then the manual update is needed.
+            updateOverrideConfiguration();
+        }
+
+        if (!attachedToProcess()) {
+            return;
+        }
+
+        // The restarting state avoids removing this record when process is died.
+        setState(RESTARTING_PROCESS, "restartActivityProcess");
+
+        if (!visible || haveState) {
+            // Kill its process immediately because the activity should be in background.
+            // The activity state will be update to {@link #DESTROYED} in
+            // {@link ActivityStack#cleanUpActivityLocked} when handling process died.
+            mAtmService.mH.post(() -> mAtmService.mAmInternal.killProcess(
+                    app.mName, app.mUid, "restartActivityProcess"));
+            return;
+        }
+
+        if (mAppWindowToken != null) {
+            mAppWindowToken.startFreezingScreen();
+        }
+        // The process will be killed until the activity reports stopped with saved state (see
+        // {@link ActivityTaskManagerService.activityStopped}).
+        try {
+            mAtmService.getLifecycleManager().scheduleTransaction(app.getThread(), appToken,
+                    StopActivityItem.obtain(false /* showWindow */, 0 /* configChanges */));
+        } catch (RemoteException e) {
+            Slog.w(TAG, "Exception thrown during restart " + this, e);
+        }
+        mStackSupervisor.scheduleRestartTimeout(this);
+    }
+
     private boolean isProcessRunning() {
         WindowProcessController proc = app;
         if (proc == null) {
diff --git a/services/core/java/com/android/server/wm/ActivityStack.java b/services/core/java/com/android/server/wm/ActivityStack.java
index 82c0e21..ad98970 100644
--- a/services/core/java/com/android/server/wm/ActivityStack.java
+++ b/services/core/java/com/android/server/wm/ActivityStack.java
@@ -297,7 +297,8 @@
         STOPPED,
         FINISHING,
         DESTROYING,
-        DESTROYED
+        DESTROYED,
+        RESTARTING_PROCESS
     }
 
     @VisibleForTesting
@@ -4741,7 +4742,8 @@
                         // it has failed more than twice. Skip activities that's already finishing
                         // cleanly by itself.
                         remove = false;
-                    } else if ((!r.haveState && !r.stateNotNeeded) || r.finishing) {
+                    } else if ((!r.haveState && !r.stateNotNeeded
+                            && !r.isState(ActivityState.RESTARTING_PROCESS)) || r.finishing) {
                         // Don't currently have state for the activity, or
                         // it is finishing -- always remove it.
                         remove = true;
diff --git a/services/core/java/com/android/server/wm/ActivityStackSupervisor.java b/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
index d1108cc..d7c9bc7 100644
--- a/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
+++ b/services/core/java/com/android/server/wm/ActivityStackSupervisor.java
@@ -179,6 +179,7 @@
     static final int SLEEP_TIMEOUT_MSG = FIRST_SUPERVISOR_STACK_MSG + 3;
     static final int LAUNCH_TIMEOUT_MSG = FIRST_SUPERVISOR_STACK_MSG + 4;
     static final int LAUNCH_TASK_BEHIND_COMPLETE = FIRST_SUPERVISOR_STACK_MSG + 12;
+    static final int RESTART_ACTIVITY_PROCESS_TIMEOUT_MSG = FIRST_SUPERVISOR_STACK_MSG + 13;
     static final int REPORT_MULTI_WINDOW_MODE_CHANGED_MSG = FIRST_SUPERVISOR_STACK_MSG + 14;
     static final int REPORT_PIP_MODE_CHANGED_MSG = FIRST_SUPERVISOR_STACK_MSG + 15;
     static final int REPORT_HOME_CHANGED_MSG = FIRST_SUPERVISOR_STACK_MSG + 16;
@@ -449,10 +450,17 @@
     }
 
     void onSystemReady() {
-        mPersisterQueue.startPersisting();
         mLaunchParamsPersister.onSystemReady();
     }
 
+    void onUserUnlocked(int userId) {
+        // Only start persisting when the first user is unlocked. The method call is
+        // idempotent so there is no side effect to call it again when the second user is
+        // unlocked.
+        mPersisterQueue.startPersisting();
+        mLaunchParamsPersister.onUnlockUser(userId);
+    }
+
     public ActivityMetricsLogger getActivityMetricsLogger() {
         return mActivityMetricsLogger;
     }
@@ -2389,6 +2397,16 @@
         mHandler.sendEmptyMessageDelayed(SLEEP_TIMEOUT_MSG, SLEEP_TIMEOUT);
     }
 
+    void removeRestartTimeouts(ActivityRecord r) {
+        mHandler.removeMessages(RESTART_ACTIVITY_PROCESS_TIMEOUT_MSG, r);
+    }
+
+    final void scheduleRestartTimeout(ActivityRecord r) {
+        removeRestartTimeouts(r);
+        mHandler.sendMessageDelayed(mHandler.obtainMessage(RESTART_ACTIVITY_PROCESS_TIMEOUT_MSG, r),
+                WindowManagerService.WINDOW_FREEZE_TIMEOUT_DURATION);
+    }
+
     void handleNonResizableTaskIfNeeded(TaskRecord task, int preferredWindowingMode,
             int preferredDisplayId, ActivityStack actualStack) {
         handleNonResizableTaskIfNeeded(task, preferredWindowingMode, preferredDisplayId,
@@ -2419,62 +2437,59 @@
             final boolean singleTaskInstance = preferredDisplay != null
                     && preferredDisplay.isSingleTaskInstance();
 
-            if (singleTaskInstance) {
+            if (preferredDisplayId != actualDisplayId) {
                 // Suppress the warning toast if the preferredDisplay was set to singleTask.
                 // The singleTaskInstance displays will only contain one task and any attempt to
                 // launch new task will re-route to the default display.
-                mService.getTaskChangeNotificationController()
-                        .notifyActivityLaunchOnSecondaryDisplayRerouted(task.getTaskInfo(),
-                                preferredDisplayId);
-                return;
-            }
+                if (singleTaskInstance) {
+                    mService.getTaskChangeNotificationController()
+                            .notifyActivityLaunchOnSecondaryDisplayRerouted(task.getTaskInfo(),
+                                    preferredDisplayId);
+                    return;
+                }
 
-            if (preferredDisplayId != actualDisplayId) {
                 Slog.w(TAG, "Failed to put " + task + " on display " + preferredDisplayId);
                 // Display a warning toast that we failed to put a task on a secondary display.
                 mService.getTaskChangeNotificationController()
                         .notifyActivityLaunchOnSecondaryDisplayFailed(task.getTaskInfo(),
                                 preferredDisplayId);
-                return;
-            } else if (!forceNonResizable && handleForcedResizableTask(task,
-                    FORCED_RESIZEABLE_REASON_SECONDARY_DISPLAY)) {
-                return;
+            } else if (!forceNonResizable) {
+                handleForcedResizableTaskIfNeeded(task, FORCED_RESIZEABLE_REASON_SECONDARY_DISPLAY);
             }
+            // The information about not support secondary display should already be notified, we
+            // don't want to show another message on default display about split-screen. And it may
+            // be the case that a resizable activity is launched on a non-resizable task.
+            return;
         }
 
         if (!task.supportsSplitScreenWindowingMode() || forceNonResizable) {
-            // Display a warning toast that we tried to put an app that doesn't support split-screen
-            // in split-screen.
-            mService.getTaskChangeNotificationController().notifyActivityDismissingDockedStack();
-
             // Dismiss docked stack. If task appeared to be in docked stack but is not resizable -
             // we need to move it to top of fullscreen stack, otherwise it will be covered.
 
             final ActivityStack dockedStack =
                     task.getStack().getDisplay().getSplitScreenPrimaryStack();
             if (dockedStack != null) {
+                // Display a warning toast that we tried to put an app that doesn't support
+                // split-screen in split-screen.
+                mService.getTaskChangeNotificationController()
+                        .notifyActivityDismissingDockedStack();
                 moveTasksToFullscreenStackLocked(dockedStack, actualStack == dockedStack);
             }
             return;
         }
 
-        handleForcedResizableTask(task, FORCED_RESIZEABLE_REASON_SPLIT_SCREEN);
+        handleForcedResizableTaskIfNeeded(task, FORCED_RESIZEABLE_REASON_SPLIT_SCREEN);
     }
 
-    /**
-     * @return {@code true} if the top activity of the task is forced to be resizable and the user
-     *         was notified about activity being forced resized.
-     */
-    private boolean handleForcedResizableTask(TaskRecord task, int reason) {
+    /** Notifies that the top activity of the task is forced to be resizeable. */
+    private void handleForcedResizableTaskIfNeeded(TaskRecord task, int reason) {
         final ActivityRecord topActivity = task.getTopActivity();
-        if (topActivity != null && topActivity.isNonResizableOrForcedResizable()
-                && !topActivity.noDisplay) {
-            final String packageName = topActivity.appInfo.packageName;
-            mService.getTaskChangeNotificationController().notifyActivityForcedResizable(
-                    task.taskId, reason, packageName);
-            return true;
+        if (topActivity == null || topActivity.noDisplay
+                || !topActivity.isNonResizableOrForcedResizable()) {
+            return;
         }
-        return false;
+        mService.getTaskChangeNotificationController().notifyActivityForcedResizable(
+                task.taskId, reason, topActivity.appInfo.packageName);
     }
 
     void activityRelaunchedLocked(IBinder token) {
@@ -2655,6 +2670,22 @@
                         }
                     }
                 } break;
+                case RESTART_ACTIVITY_PROCESS_TIMEOUT_MSG: {
+                    final ActivityRecord r = (ActivityRecord) msg.obj;
+                    String processName = null;
+                    int uid = 0;
+                    synchronized (mService.mGlobalLock) {
+                        if (r.attachedToProcess()
+                                && r.isState(ActivityStack.ActivityState.RESTARTING_PROCESS)) {
+                            processName = r.app.mName;
+                            uid = r.app.mUid;
+                        }
+                    }
+                    if (processName != null) {
+                        mService.mAmInternal.killProcess(processName, uid,
+                                "restartActivityProcessTimeout");
+                    }
+                } break;
                 case REPORT_HOME_CHANGED_MSG: {
                     synchronized (mService.mGlobalLock) {
                         mHandler.removeMessages(REPORT_HOME_CHANGED_MSG);
@@ -2702,6 +2733,9 @@
         if (activityOptions != null) {
             activityType = activityOptions.getLaunchActivityType();
             windowingMode = activityOptions.getLaunchWindowingMode();
+            if (activityOptions.freezeRecentTasksReordering()) {
+                mRecentTasks.setFreezeTaskListReordering();
+            }
         }
         if (activityType == ACTIVITY_TYPE_HOME || activityType == ACTIVITY_TYPE_RECENTS) {
             throw new IllegalArgumentException("startActivityFromRecents: Task "
diff --git a/services/core/java/com/android/server/wm/ActivityStarter.java b/services/core/java/com/android/server/wm/ActivityStarter.java
index 9f04166..2b23ff0 100644
--- a/services/core/java/com/android/server/wm/ActivityStarter.java
+++ b/services/core/java/com/android/server/wm/ActivityStarter.java
@@ -27,6 +27,8 @@
 import static android.app.ActivityManager.START_RETURN_LOCK_TASK_MODE_VIOLATION;
 import static android.app.ActivityManager.START_SUCCESS;
 import static android.app.ActivityManager.START_TASK_TO_FRONT;
+import static android.app.WaitResult.LAUNCH_STATE_COLD;
+import static android.app.WaitResult.LAUNCH_STATE_HOT;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
 import static android.app.WindowConfiguration.WINDOWING_MODE_PINNED;
@@ -1009,6 +1011,12 @@
         if (mService.isDeviceOwner(callingPackage)) {
             return false;
         }
+        // don't abort if the callingPackage is temporarily whitelisted
+        if (mService.isPackageNameWhitelistedForBgActivityStarts(callingPackage)) {
+            Slog.w(TAG, "Background activity start for " + callingPackage
+                    + " temporarily whitelisted. This will not be supported in future Q builds.");
+            return false;
+        }
         // anything that has fallen through would currently be aborted
         Slog.w(TAG, "Background activity start [callingPackage: " + callingPackage
                 + "; callingUid: " + callingUid
@@ -1305,6 +1313,8 @@
                         break;
                     }
                     case START_TASK_TO_FRONT: {
+                        outResult.launchState =
+                                r.attachedToProcess() ? LAUNCH_STATE_HOT : LAUNCH_STATE_COLD;
                         // ActivityRecord may represent a different activity, but it should not be
                         // in the resumed state.
                         if (r.nowVisible && r.isState(RESUMED)) {
@@ -1799,7 +1809,7 @@
             }
         }
 
-        mNotTop = (mLaunchFlags & FLAG_ACTIVITY_PREVIOUS_IS_TOP) != 0 ? r : null;
+        mNotTop = (mLaunchFlags & FLAG_ACTIVITY_PREVIOUS_IS_TOP) != 0 ? sourceRecord : null;
 
         mInTask = inTask;
         // In some flows in to this function, we retrieve the task record and hold on to it
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java b/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java
index 5a20959..b262a00 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerInternal.java
@@ -352,6 +352,19 @@
     /** @return The intent used to launch the home activity. */
     public abstract Intent getHomeIntent();
     public abstract boolean startHomeActivity(int userId, String reason);
+    /**
+     * This starts home activity on displays that can have system decorations based on displayId -
+     * Default display always use primary home component.
+     * For Secondary displays, the home activity must have category SECONDARY_HOME and then resolves
+     * according to the priorities listed below.
+     *  - If default home is not set, always use the secondary home defined in the config.
+     *  - Use currently selected primary home activity.
+     *  - Use the activity in the same package as currently selected primary home activity.
+     *    If there are multiple activities matched, use first one.
+     *  - Use the secondary home defined in the config.
+     */
+    public abstract boolean startHomeOnDisplay(int userId, String reason, int displayId,
+            boolean fromHomeKey);
     /** Start home activities on all displays that support system decorations. */
     public abstract boolean startHomeOnAllDisplays(int userId, String reason);
     /** @return true if the given process is the factory test process. */
diff --git a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
index d747198..118eb5b 100644
--- a/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
+++ b/services/core/java/com/android/server/wm/ActivityTaskManagerService.java
@@ -748,6 +748,7 @@
             mWindowManager.setSupportsPictureInPicture(mSupportsPictureInPicture);
             mWindowManager.setSupportsFreeformWindowManagement(mSupportsFreeformWindowManagement);
             mWindowManager.setIsPc(isPc);
+            mWindowManager.mRoot.onSettingsRetrieved();
             // This happens before any activities are started, so we can change global configuration
             // in-place.
             updateConfigurationLocked(configuration, null, true);
@@ -776,6 +777,12 @@
         return mGlobalLock;
     }
 
+    /** For test purpose only. */
+    @VisibleForTesting
+    public ActivityTaskManagerInternal getAtmInternal() {
+        return mInternal;
+    }
+
     public void initialize(IntentFirewall intentFirewall, PendingIntentController intentController,
             Looper looper) {
         mH = new H(looper);
@@ -948,7 +955,7 @@
         @Override
         public void onUnlockUser(int userId) {
             synchronized (mService.getGlobalLock()) {
-                mService.mStackSupervisor.mLaunchParamsPersister.onUnlockUser(userId);
+                mService.mStackSupervisor.onUserUnlocked(userId);
             }
         }
 
@@ -1666,13 +1673,32 @@
 
         final long origId = Binder.clearCallingIdentity();
 
+        String restartingName = null;
+        int restartingUid = 0;
+        final ActivityRecord r;
         synchronized (mGlobalLock) {
-            final ActivityRecord r = ActivityRecord.isInStackLocked(token);
+            r = ActivityRecord.isInStackLocked(token);
             if (r != null) {
+                if (r.attachedToProcess()
+                        && r.isState(ActivityStack.ActivityState.RESTARTING_PROCESS)) {
+                    // The activity was requested to restart from
+                    // {@link #restartActivityProcessIfVisible}.
+                    restartingName = r.app.mName;
+                    restartingUid = r.app.mUid;
+                }
                 r.activityStoppedLocked(icicle, persistentState, description);
             }
         }
 
+        if (restartingName != null) {
+            // In order to let the foreground activity can be restarted with its saved state from
+            // {@link android.app.Activity#onSaveInstanceState}, the kill operation is postponed
+            // until the activity reports stopped with the state. And the activity record will be
+            // kept because the record state is restarting, then the activity will be restarted
+            // immediately if it is still the top one.
+            mStackSupervisor.removeRestartTimeouts(r);
+            mAmInternal.killProcess(restartingName, restartingUid, "restartActivityProcess");
+        }
         mAmInternal.trimApplications();
 
         Binder.restoreCallingIdentity(origId);
@@ -2014,6 +2040,23 @@
     }
 
     @Override
+    public void restartActivityProcessIfVisible(IBinder activityToken) {
+        mAmInternal.enforceCallingPermission(MANAGE_ACTIVITY_STACKS, "restartActivityProcess()");
+        final long callingId = Binder.clearCallingIdentity();
+        try {
+            synchronized (mGlobalLock) {
+                final ActivityRecord r = ActivityRecord.isInStackLocked(activityToken);
+                if (r == null) {
+                    return;
+                }
+                r.restartProcessIfVisible();
+            }
+        } finally {
+            Binder.restoreCallingIdentity(callingId);
+        }
+    }
+
+    @Override
     public boolean removeTask(int taskId) {
         enforceCallerIsRecentsOrHasPermission(REMOVE_TASKS, "removeTask()");
         synchronized (mGlobalLock) {
@@ -5210,6 +5253,10 @@
         return mAmInternal.isBackgroundActivityStartsEnabled();
     }
 
+    boolean isPackageNameWhitelistedForBgActivityStarts(String packageName) {
+        return mAmInternal.isPackageNameWhitelistedForBgActivityStarts(packageName);
+    }
+
     void enableScreenAfterBoot(boolean booted) {
         EventLog.writeEvent(EventLogTags.BOOT_PROGRESS_ENABLE_SCREEN,
                 SystemClock.uptimeMillis());
@@ -6444,6 +6491,13 @@
         }
 
         @Override
+        public boolean startHomeOnDisplay(int userId, String reason, int displayId,
+                boolean fromHomeKey) {
+            return mRootActivityContainer.startHomeOnDisplay(userId, reason, displayId,
+                    fromHomeKey);
+        }
+
+        @Override
         public boolean startHomeOnAllDisplays(int userId, String reason) {
             synchronized (mGlobalLock) {
                 return mRootActivityContainer.startHomeOnAllDisplays(userId, reason);
diff --git a/services/core/java/com/android/server/wm/AppTransition.java b/services/core/java/com/android/server/wm/AppTransition.java
index bb5a221..af05a27 100644
--- a/services/core/java/com/android/server/wm/AppTransition.java
+++ b/services/core/java/com/android/server/wm/AppTransition.java
@@ -2237,6 +2237,10 @@
                 || transit == TRANSIT_ACTIVITY_RELAUNCH;
     }
 
+    static boolean isChangeTransit(int transit) {
+        return transit == TRANSIT_TASK_CHANGE_WINDOWING_MODE;
+    }
+
     /**
      * @return whether the transition should show the thumbnail being scaled down.
      */
diff --git a/services/core/java/com/android/server/wm/AppTransitionController.java b/services/core/java/com/android/server/wm/AppTransitionController.java
index 8f0a7c0..f6326957 100644
--- a/services/core/java/com/android/server/wm/AppTransitionController.java
+++ b/services/core/java/com/android/server/wm/AppTransitionController.java
@@ -513,8 +513,11 @@
         // Given no app transition pass it through instead of a wallpaper transition.
         // Never convert the crashing transition.
         // Never update the transition for the wallpaper if we are just docking from recents
+        // Never convert a change transition since the top activity isn't changing and will likely
+        // still be above an opening wallpaper.
         if (transit == TRANSIT_NONE || transit == TRANSIT_CRASHING_ACTIVITY_CLOSE
-                || transit == TRANSIT_DOCK_TASK_FROM_RECENTS) {
+                || transit == TRANSIT_DOCK_TASK_FROM_RECENTS
+                || AppTransition.isChangeTransit(transit)) {
             return transit;
         }
 
@@ -601,6 +604,10 @@
      */
     @VisibleForTesting
     int maybeUpdateTransitToTranslucentAnim(int transit) {
+        if (AppTransition.isChangeTransit(transit)) {
+            // There's no special animation to handle change animations with translucent apps
+            return transit;
+        }
         final boolean taskOrActivity = AppTransition.isTaskTransit(transit)
                 || AppTransition.isActivityTransit(transit);
         boolean allOpeningVisible = true;
diff --git a/services/core/java/com/android/server/wm/AppWindowToken.java b/services/core/java/com/android/server/wm/AppWindowToken.java
index 220370c..ea3a7d5 100644
--- a/services/core/java/com/android/server/wm/AppWindowToken.java
+++ b/services/core/java/com/android/server/wm/AppWindowToken.java
@@ -1747,7 +1747,7 @@
     }
 
     boolean isInChangeTransition() {
-        return mTransitChangeLeash != null || isChangeTransition(mTransit);
+        return mTransitChangeLeash != null || AppTransition.isChangeTransit(mTransit);
     }
 
     @VisibleForTesting
@@ -1979,7 +1979,14 @@
                 mLetterbox.attachInput(w);
             }
             getPosition(mTmpPoint);
-            mLetterbox.layout(getParent().getBounds(), w.getFrameLw(), mTmpPoint);
+            // Get the bounds of the "space-to-fill". We union the Task and the Stack bounds here
+            // to handle both split window (where task-bounds can be larger) and orientation
+            // letterbox (where the task is letterboxed within stack).
+            Rect spaceToFill = getTask().getBounds();
+            if (getStack() != null) {
+                spaceToFill.union(getStack().getBounds());
+            }
+            mLetterbox.layout(spaceToFill, w.getFrameLw(), mTmpPoint);
         } else if (mLetterbox != null) {
             mLetterbox.hide();
         }
@@ -2448,30 +2455,6 @@
         return boundsLayer;
     }
 
-    /** Get position and crop region of animation. */
-    @VisibleForTesting
-    void getAnimationBounds(Point outPosition, Rect outBounds) {
-        outPosition.set(0, 0);
-        outBounds.setEmpty();
-
-        final TaskStack stack = getStack();
-        final Task task = getTask();
-        if (task != null && task.inFreeformWindowingMode()) {
-            task.getRelativeDisplayedPosition(outPosition);
-        } else if (stack != null) {
-            stack.getRelativeDisplayedPosition(outPosition);
-        }
-
-        // Always use stack bounds in order to have the ability to animate outside the task region.
-        // It also needs to be consistent when {@link #mNeedsAnimationBoundsLayer} is set that crops
-        // according to the bounds.
-        if (stack != null) {
-            stack.getBounds(outBounds);
-        }
-        // We have the relative position so the local position can be removed from bounds.
-        outBounds.offsetTo(0, 0);
-    }
-
     @Override
     Rect getDisplayedBounds() {
         final Task task = getTask();
@@ -2484,10 +2467,6 @@
         return getBounds();
     }
 
-    private static boolean isChangeTransition(int transit) {
-        return transit == TRANSIT_TASK_CHANGE_WINDOWING_MODE;
-    }
-
     boolean applyAnimationLocked(WindowManager.LayoutParams lp, int transit, boolean enter,
             boolean isVoiceInteraction) {
 
@@ -2507,9 +2486,15 @@
         if (okToAnimate()) {
             final AnimationAdapter adapter;
             AnimationAdapter thumbnailAdapter = null;
-            getAnimationBounds(mTmpPoint, mTmpRect);
 
-            boolean isChanging = isChangeTransition(transit) && enter;
+            // Separate position and size for use in animators. Use task-bounds for now so
+            // that activity-level letterbox (maxAspectRatio) is included in the animation.
+            mTmpRect.set(getTask() != null ? getTask().getBounds() : getBounds());
+            mTmpPoint.set(mTmpRect.left, mTmpRect.top);
+            mTmpRect.offsetTo(0, 0);
+
+            final boolean isChanging = AppTransition.isChangeTransit(transit) && enter
+                    && getDisplayContent().mChangingApps.contains(this);
 
             // Delaying animation start isn't compatible with remote animations at all.
             if (getDisplayContent().mAppTransition.getRemoteAnimationController() != null
diff --git a/services/core/java/com/android/server/wm/DisplayContent.java b/services/core/java/com/android/server/wm/DisplayContent.java
index 515ac52..b00cafd 100644
--- a/services/core/java/com/android/server/wm/DisplayContent.java
+++ b/services/core/java/com/android/server/wm/DisplayContent.java
@@ -41,12 +41,14 @@
 import static android.view.WindowManager.DOCKED_BOTTOM;
 import static android.view.WindowManager.DOCKED_INVALID;
 import static android.view.WindowManager.DOCKED_TOP;
+import static android.view.WindowManager.LayoutParams.FIRST_APPLICATION_WINDOW;
 import static android.view.WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
 import static android.view.WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE;
 import static android.view.WindowManager.LayoutParams.FLAG_NOT_TOUCH_MODAL;
 import static android.view.WindowManager.LayoutParams.FLAG_SECURE;
 import static android.view.WindowManager.LayoutParams.FLAG_SHOW_WALLPAPER;
 import static android.view.WindowManager.LayoutParams.FLAG_SPLIT_TOUCH;
+import static android.view.WindowManager.LayoutParams.LAST_APPLICATION_WINDOW;
 import static android.view.WindowManager.LayoutParams.NEEDS_MENU_SET_TRUE;
 import static android.view.WindowManager.LayoutParams.NEEDS_MENU_UNSET;
 import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_KEYGUARD;
@@ -182,6 +184,8 @@
 import com.android.internal.logging.nano.MetricsProto.MetricsEvent;
 import com.android.internal.util.ToBooleanFunction;
 import com.android.internal.util.function.TriConsumer;
+import com.android.internal.util.function.pooled.PooledConsumer;
+import com.android.internal.util.function.pooled.PooledLambda;
 import com.android.server.AnimationThread;
 import com.android.server.policy.WindowManagerPolicy;
 import com.android.server.wm.utils.DisplayRotationUtil;
@@ -392,7 +396,8 @@
     final ArrayList<WindowToken> mExitingTokens = new ArrayList<>();
 
     /** Detect user tapping outside of current focused task bounds .*/
-    TaskTapPointerEventListener mTapDetector;
+    @VisibleForTesting
+    final TaskTapPointerEventListener mTapDetector;
 
     /** Detect user tapping outside of current focused stack bounds .*/
     private Region mTouchExcludeRegion = new Region();
@@ -876,14 +881,21 @@
         mBoundsAnimationController = new BoundsAnimationController(service.mContext,
                 mAppTransition, AnimationThread.getHandler(), animationHandler);
 
-        if (mWmService.mInputManager != null) {
-            final InputChannel inputChannel = mWmService.mInputManager.monitorInput("Display "
-                    + mDisplayId, mDisplayId);
-            mPointerEventDispatcher = inputChannel != null
-                    ? new PointerEventDispatcher(inputChannel) : null;
-        } else {
-            mPointerEventDispatcher = null;
+        final InputChannel inputChannel = mWmService.mInputManager.monitorInput(
+                "PointerEventDispatcher" + mDisplayId, mDisplayId);
+        mPointerEventDispatcher = new PointerEventDispatcher(inputChannel);
+
+        // Tap Listeners are supported for:
+        // 1. All physical displays (multi-display).
+        // 2. VirtualDisplays on VR, AA (and everything else).
+        mTapDetector = new TaskTapPointerEventListener(mWmService, this);
+        registerPointerEventListener(mTapDetector);
+        registerPointerEventListener(mWmService.mMousePositionTracker);
+        if (mWmService.mAtmService.getRecentTasks() != null) {
+            registerPointerEventListener(
+                    mWmService.mAtmService.getRecentTasks().getInputListener());
         }
+
         mDisplayPolicy = new DisplayPolicy(service, this);
         mDisplayRotation = new DisplayRotation(service, this);
         if (isDefaultDisplay) {
@@ -1511,19 +1523,6 @@
 
         mDisplayFrames.onDisplayInfoUpdated(mDisplayInfo,
                 calculateDisplayCutoutForRotation(mDisplayInfo.rotation));
-
-        // Tap Listeners are supported for:
-        // 1. All physical displays (multi-display).
-        // 2. VirtualDisplays on VR, AA (and everything else).
-        if (mPointerEventDispatcher != null && mTapDetector == null) {
-            if (DEBUG_DISPLAY) {
-                Slog.d(TAG,
-                        "Registering PointerEventListener for DisplayId: " + mDisplayId);
-            }
-            mTapDetector = new TaskTapPointerEventListener(mWmService, this);
-            registerPointerEventListener(mTapDetector);
-            registerPointerEventListener(mWmService.mMousePositionTracker);
-        }
     }
 
     /**
@@ -2390,6 +2389,27 @@
     }
 
     /**
+     * Returns true if the input point is within an app window.
+     */
+    boolean pointWithinAppWindow(int x, int y) {
+        final int[] targetWindowType = {-1};
+        final Consumer fn = PooledLambda.obtainConsumer((w, nonArg) -> {
+            if (targetWindowType[0] != -1) {
+                return;
+            }
+
+            if (w.isOnScreen() && w.isVisibleLw() && w.getFrameLw().contains(x, y)) {
+                targetWindowType[0] = w.mAttrs.type;
+                return;
+            }
+        }, PooledLambda.__(WindowState.class), mTmpRect);
+        forAllWindows(fn, true /* traverseTopToBottom */);
+        ((PooledConsumer) fn).recycle();
+        return FIRST_APPLICATION_WINDOW <= targetWindowType[0]
+                        && targetWindowType[0] <= LAST_APPLICATION_WINDOW;
+    }
+
+    /**
      * Find the task whose outside touch area (for resizing) (x, y) falls within.
      * Returns null if the touch doesn't fall into a resizing area.
      */
@@ -2450,9 +2470,7 @@
             mTmpRegion.set(mTmpRect);
             mTouchExcludeRegion.op(mTmpRegion, Op.UNION);
         }
-        if (mTapDetector != null) {
-            mTapDetector.setTouchExcludeRegion(mTouchExcludeRegion);
-        }
+        mTapDetector.setTouchExcludeRegion(mTouchExcludeRegion);
     }
 
     /**
@@ -2502,11 +2520,7 @@
             mWmService.stopFreezingDisplayLocked();
             super.removeImmediately();
             if (DEBUG_DISPLAY) Slog.v(TAG_WM, "Removing display=" + this);
-            if (mPointerEventDispatcher != null && mTapDetector != null) {
-                unregisterPointerEventListener(mTapDetector);
-                unregisterPointerEventListener(mWmService.mMousePositionTracker);
-                mTapDetector = null;
-            }
+            mPointerEventDispatcher.dispose();
             mWmService.mAnimator.removeDisplayLocked(mDisplayId);
             mWindowingLayer.release();
             mOverlayLayer.release();
@@ -2516,7 +2530,6 @@
             mRemovingDisplay = false;
         }
 
-        mDisplayPolicy.onDisplayRemoved();
         mWmService.mWindowPlacerLocked.requestTraversal();
     }
 
@@ -3271,7 +3284,11 @@
     }
 
     private void updateImeParent() {
-        final SurfaceControl newParent = computeImeParent();
+        // Force attaching IME to the display when magnifying, or it would be magnified with
+        // target app together.
+        final boolean shouldAttachToDisplay = (mMagnificationSpec != null);
+        final SurfaceControl newParent =
+                shouldAttachToDisplay ? mWindowingLayer : computeImeParent();
         if (newParent != null) {
             mPendingTransaction.reparent(mImeWindowsContainers.mSurfaceControl, newParent);
             scheduleAnimation();
@@ -3287,8 +3304,11 @@
         // Attach it to app if the target is part of an app and such app is covering the entire
         // screen. If it's not covering the entire screen the IME might extend beyond the apps
         // bounds.
-        if (mInputMethodTarget != null && mInputMethodTarget.mAppToken != null &&
-                mInputMethodTarget.getWindowingMode() == WINDOWING_MODE_FULLSCREEN) {
+        if (mInputMethodTarget != null && mInputMethodTarget.mAppToken != null
+                && mInputMethodTarget.getWindowingMode() == WINDOWING_MODE_FULLSCREEN
+                // An activity with override bounds should be letterboxed inside its parent bounds,
+                // so it doesn't fill the screen.
+                && mInputMethodTarget.mAppToken.matchParentBounds()) {
             return mInputMethodTarget.mAppToken.getSurfaceControl();
         }
 
@@ -4683,6 +4703,8 @@
         } else {
             mMagnificationSpec = null;
         }
+        // Re-parent IME's SurfaceControl when MagnificationSpec changed.
+        updateImeParent();
 
         applyMagnificationSpec(getPendingTransaction(), spec);
         getPendingTransaction().apply();
@@ -4825,15 +4847,11 @@
     }
 
     void registerPointerEventListener(@NonNull PointerEventListener listener) {
-        if (mPointerEventDispatcher != null) {
-            mPointerEventDispatcher.registerInputEventListener(listener);
-        }
+        mPointerEventDispatcher.registerInputEventListener(listener);
     }
 
     void unregisterPointerEventListener(@NonNull PointerEventListener listener) {
-        if (mPointerEventDispatcher != null) {
-            mPointerEventDispatcher.unregisterInputEventListener(listener);
-        }
+        mPointerEventDispatcher.unregisterInputEventListener(listener);
     }
 
     void prepareAppTransition(@WindowManager.TransitionType int transit,
@@ -4905,12 +4923,11 @@
      * @see Display#FLAG_SHOULD_SHOW_SYSTEM_DECORATIONS
      */
     boolean supportsSystemDecorations() {
-        return mWmService.mDisplayWindowSettings.shouldShowSystemDecorsLocked(this)
+        return (mWmService.mDisplayWindowSettings.shouldShowSystemDecorsLocked(this)
                 || (mDisplay.getFlags() & FLAG_SHOULD_SHOW_SYSTEM_DECORATIONS) != 0
-                // TODO (b/111363427): Remove this and set the new FLAG_SHOULD_SHOW_LAUNCHER flag
-                // whenever vr 2d display id is set.
-                || mDisplayId == mWmService.mVr2dDisplayId
-                || mWmService.mForceDesktopModeOnExternalDisplays;
+                || mWmService.mForceDesktopModeOnExternalDisplays)
+                // VR virtual display will be used to run and render 2D app within a VR experience.
+                && mDisplayId != mWmService.mVr2dDisplayId;
     }
 
     /**
diff --git a/services/core/java/com/android/server/wm/DisplayPolicy.java b/services/core/java/com/android/server/wm/DisplayPolicy.java
index 5862d43..ba1dfbb 100644
--- a/services/core/java/com/android/server/wm/DisplayPolicy.java
+++ b/services/core/java/com/android/server/wm/DisplayPolicy.java
@@ -44,8 +44,8 @@
 import static android.view.WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;
 import static android.view.WindowManager.LayoutParams.LAST_APPLICATION_WINDOW;
 import static android.view.WindowManager.LayoutParams.LAST_SUB_WINDOW;
-import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
 import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT;
+import static android.view.WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
 import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_FORCE_DRAW_STATUS_BAR_BACKGROUND;
 import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_FORCE_STATUS_BAR_VISIBLE_TRANSPARENT;
 import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_INHERIT_TRANSLUCENT_DECOR;
@@ -113,6 +113,7 @@
 import android.content.Intent;
 import android.content.res.Resources;
 import android.graphics.Insets;
+import android.graphics.PixelFormat;
 import android.graphics.Rect;
 import android.hardware.input.InputManager;
 import android.hardware.power.V1_0.PowerHint;
@@ -149,6 +150,7 @@
 import com.android.internal.annotations.VisibleForTesting;
 import com.android.internal.util.ScreenShapeHelper;
 import com.android.internal.util.ScreenshotHelper;
+import com.android.internal.widget.PointerLocationView;
 import com.android.server.LocalServices;
 import com.android.server.UiThread;
 import com.android.server.policy.WindowManagerPolicy;
@@ -221,7 +223,6 @@
         }
     }
 
-    @VisibleForTesting
     private final SystemGesturesPointerEventListener mSystemGestures;
 
     private volatile int mLidState = LID_ABSENT;
@@ -344,6 +345,8 @@
 
     private InputConsumer mInputConsumer = null;
 
+    private PointerLocationView mPointerLocationView;
+
     /**
      * The area covered by system windows which belong to another display. Forwarded insets is set
      * in case this is a virtual display, this is displayed on another display that has insets, and
@@ -358,6 +361,8 @@
     private static final int MSG_UPDATE_DREAMING_SLEEP_TOKEN = 1;
     private static final int MSG_REQUEST_TRANSIENT_BARS = 2;
     private static final int MSG_DISPOSE_INPUT_CONSUMER = 3;
+    private static final int MSG_ENABLE_POINTER_LOCATION = 4;
+    private static final int MSG_DISABLE_POINTER_LOCATION = 5;
 
     private static final int MSG_REQUEST_TRANSIENT_BARS_ARG_STATUS = 0;
     private static final int MSG_REQUEST_TRANSIENT_BARS_ARG_NAVIGATION = 1;
@@ -384,6 +389,12 @@
                 case MSG_DISPOSE_INPUT_CONSUMER:
                     disposeInputConsumer((InputConsumer) msg.obj);
                     break;
+                case MSG_ENABLE_POINTER_LOCATION:
+                    enablePointerLocation();
+                    break;
+                case MSG_DISABLE_POINTER_LOCATION:
+                    disablePointerLocation();
+                    break;
             }
         }
     }
@@ -542,16 +553,15 @@
 
     void systemReady() {
         mSystemGestures.systemReady();
+        if (mService.mPointerLocationEnabled) {
+            setPointerLocationEnabled(true);
+        }
     }
 
     private int getDisplayId() {
         return mDisplayContent.getDisplayId();
     }
 
-    void onDisplayRemoved() {
-        mDisplayContent.unregisterPointerEventListener(mSystemGestures);
-    }
-
     void configure(int width, int height, int shortSizeDp) {
         // Allow the navigation bar to move on non-square small devices (phones).
         mNavigationBarCanMove = width != height && shortSizeDp < 600;
@@ -752,7 +762,7 @@
             case TYPE_WALLPAPER:
                 // Dreams and wallpapers don't have an app window token and can thus not be
                 // letterboxed. Hence always let them extend under the cutout.
-                attrs.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS;
+                attrs.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
                 break;
             case TYPE_STATUS_BAR:
 
@@ -2100,7 +2110,7 @@
 
         // Ensure that windows with a DEFAULT or NEVER display cutout mode are laid out in
         // the cutout safe zone.
-        if (cutoutMode != LAYOUT_IN_DISPLAY_CUTOUT_MODE_ALWAYS) {
+        if (cutoutMode != LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES) {
             final Rect displayCutoutSafeExceptMaybeBars = sTmpDisplayCutoutSafeExceptMaybeBarsRect;
             displayCutoutSafeExceptMaybeBars.set(displayFrames.mDisplayCutoutSafe);
             if (layoutInScreen && layoutInsetDecor && !requestedFullscreen
@@ -2151,7 +2161,7 @@
         // TYPE_SYSTEM_ERROR is above the NavigationBar so it can't be allowed to extend over it.
         // Also, we don't allow windows in multi-window mode to extend out of the screen.
         if ((fl & FLAG_LAYOUT_NO_LIMITS) != 0 && type != TYPE_SYSTEM_ERROR
-                && !win.isInMultiWindowMode()) {
+                && !win.inMultiWindowMode()) {
             df.left = df.top = -10000;
             df.right = df.bottom = 10000;
             if (type != TYPE_WALLPAPER) {
@@ -3419,4 +3429,57 @@
         pw.print(prefix); pw.println("Looper state:");
         mHandler.getLooper().dump(new PrintWriterPrinter(pw), prefix + "  ");
     }
+
+    private boolean supportsPointerLocation() {
+        return mDisplayContent.isDefaultDisplay || !mDisplayContent.isPrivate();
+    }
+
+    void setPointerLocationEnabled(boolean pointerLocationEnabled) {
+        if (!supportsPointerLocation()) {
+            return;
+        }
+
+        mHandler.sendEmptyMessage(pointerLocationEnabled
+                ? MSG_ENABLE_POINTER_LOCATION : MSG_DISABLE_POINTER_LOCATION);
+    }
+
+    private void enablePointerLocation() {
+        if (mPointerLocationView != null) {
+            return;
+        }
+
+        mPointerLocationView = new PointerLocationView(mContext);
+        mPointerLocationView.setPrintCoords(false);
+        final WindowManager.LayoutParams lp = new WindowManager.LayoutParams(
+                WindowManager.LayoutParams.MATCH_PARENT,
+                WindowManager.LayoutParams.MATCH_PARENT);
+        lp.type = WindowManager.LayoutParams.TYPE_SECURE_SYSTEM_OVERLAY;
+        lp.flags = WindowManager.LayoutParams.FLAG_FULLSCREEN
+                | WindowManager.LayoutParams.FLAG_NOT_TOUCHABLE
+                | WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE
+                | WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN;
+        lp.layoutInDisplayCutoutMode = LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
+        if (ActivityManager.isHighEndGfx()) {
+            lp.flags |= WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED;
+            lp.privateFlags |=
+                    WindowManager.LayoutParams.PRIVATE_FLAG_FORCE_HARDWARE_ACCELERATED;
+        }
+        lp.format = PixelFormat.TRANSLUCENT;
+        lp.setTitle("PointerLocation - display " + getDisplayId());
+        lp.inputFeatures |= WindowManager.LayoutParams.INPUT_FEATURE_NO_INPUT_CHANNEL;
+        final WindowManager wm = mContext.getSystemService(WindowManager.class);
+        wm.addView(mPointerLocationView, lp);
+        mDisplayContent.registerPointerEventListener(mPointerLocationView);
+    }
+
+    private void disablePointerLocation() {
+        if (mPointerLocationView == null) {
+            return;
+        }
+
+        mDisplayContent.unregisterPointerEventListener(mPointerLocationView);
+        final WindowManager wm = mContext.getSystemService(WindowManager.class);
+        wm.removeView(mPointerLocationView);
+        mPointerLocationView = null;
+    }
 }
diff --git a/services/core/java/com/android/server/wm/DisplayWindowSettings.java b/services/core/java/com/android/server/wm/DisplayWindowSettings.java
index 4617890..db96847 100644
--- a/services/core/java/com/android/server/wm/DisplayWindowSettings.java
+++ b/services/core/java/com/android/server/wm/DisplayWindowSettings.java
@@ -352,6 +352,24 @@
         dc.mDisplayScalingDisabled = entry.mForcedScalingMode == FORCE_SCALING_MODE_DISABLED;
     }
 
+    /**
+     * Updates settings for the given display after system features are loaded into window manager
+     * service, e.g. if this device is PC and if this device supports freeform.
+     *
+     * @param dc the given display.
+     * @return {@code true} if any settings for this display has changed; {@code false} if nothing
+     * changed.
+     */
+    boolean updateSettingsForDisplay(DisplayContent dc) {
+        if (dc.getWindowingMode() != getWindowingModeLocked(dc)) {
+            // For the time being the only thing that may change is windowing mode, so just update
+            // that.
+            dc.setWindowingMode(getWindowingModeLocked(dc));
+            return true;
+        }
+        return false;
+    }
+
     private void readSettings() {
         FileInputStream stream;
         try {
diff --git a/services/core/java/com/android/server/wm/DragDropController.java b/services/core/java/com/android/server/wm/DragDropController.java
index a667d67..716e4ef 100644
--- a/services/core/java/com/android/server/wm/DragDropController.java
+++ b/services/core/java/com/android/server/wm/DragDropController.java
@@ -73,17 +73,6 @@
         return mDragState != null && !mDragState.isClosing();
     }
 
-    void showInputSurface(SurfaceControl.Transaction t, int displayId) {
-        mDragState.showInputSurface(t, displayId);
-    }
-
-    void hideInputSurface(SurfaceControl.Transaction t, int displayId) {
-        if (mDragState != null) {
-            // TODO: Are we guaranteed to get here?
-            mDragState.hideInputSurface(t, displayId);
-        }
-    }
-
     void registerCallback(IDragDropCallback callback) {
         Preconditions.checkNotNull(callback);
         mCallback.set(callback);
diff --git a/services/core/java/com/android/server/wm/DragState.java b/services/core/java/com/android/server/wm/DragState.java
index 2b2231a..c438966 100644
--- a/services/core/java/com/android/server/wm/DragState.java
+++ b/services/core/java/com/android/server/wm/DragState.java
@@ -120,7 +120,7 @@
     // A surface used to catch input events for the drag-and-drop operation.
     SurfaceControl mInputSurface;
 
-    private final SurfaceControl.Transaction mTransaction = new SurfaceControl.Transaction();
+    private final SurfaceControl.Transaction mTransaction;
 
     private final Rect mTmpClipRect = new Rect();
 
@@ -140,31 +140,24 @@
         mFlags = flags;
         mLocalWin = localWin;
         mNotifiedWindows = new ArrayList<WindowState>();
-
+        mTransaction = service.mTransactionFactory.make();
     }
 
     boolean isClosing() {
         return mIsClosing;
     }
 
-    void hideInputSurface(SurfaceControl.Transaction t, int displayId) {
-        if (displayId != mDisplayContent.getDisplayId()) {
-            return;
-        }
-
+    private void hideInputSurface() {
         if (mInputSurface != null) {
-            t.hide(mInputSurface);
+            mTransaction.hide(mInputSurface).apply();
         }
     }
 
-    void showInputSurface(SurfaceControl.Transaction t, int displayId) {
-        if (displayId != mDisplayContent.getDisplayId()) {
-            return;
-        }
-
+    private void showInputSurface() {
         if (mInputSurface == null) {
-            mInputSurface = mService.makeSurfaceBuilder(mService.mRoot.getDisplayContent(displayId)
-                    .getSession()).setContainerLayer()
+            mInputSurface = mService.makeSurfaceBuilder(
+                    mService.mRoot.getDisplayContent(mDisplayContent.getDisplayId()).getSession())
+                    .setContainerLayer()
                     .setName("Drag and Drop Input Consumer").build();
         }
         final InputWindowHandle h = getInputWindowHandle();
@@ -174,14 +167,16 @@
             return;
         }
 
-        t.show(mInputSurface);
-        t.setInputWindowInfo(mInputSurface, h);
-        t.setLayer(mInputSurface, Integer.MAX_VALUE);
+        mTransaction.show(mInputSurface);
+        mTransaction.setInputWindowInfo(mInputSurface, h);
+        mTransaction.setLayer(mInputSurface, Integer.MAX_VALUE);
 
         mTmpClipRect.set(0, 0, mDisplaySize.x, mDisplaySize.y);
-        t.setWindowCrop(mInputSurface, mTmpClipRect);
-        t.transferTouchFocus(mTransferTouchFromToken, h.token);
+        mTransaction.setWindowCrop(mInputSurface, mTmpClipRect);
+        mTransaction.transferTouchFocus(mTransferTouchFromToken, h.token);
         mTransferTouchFromToken = null;
+
+        mTransaction.apply();
     }
 
     /**
@@ -199,9 +194,10 @@
             mDragDropController.sendHandlerMessage(
                     MSG_TEAR_DOWN_DRAG_AND_DROP_INPUT, mInputInterceptor);
             mInputInterceptor = null;
-            mDisplayContent.getInputMonitor().updateInputWindowsLw(true /*force*/);
         }
 
+        hideInputSurface();
+
         // Send drag end broadcast if drag start has been sent.
         if (mDragInProgress) {
             final int myPid = Process.myPid();
@@ -352,7 +348,7 @@
             Slog.e(TAG_WM, "Duplicate register of drag input channel");
         } else {
             mInputInterceptor = new InputInterceptor(display);
-            mDisplayContent.getInputMonitor().updateInputWindowsLw(true /*force*/);
+            showInputSurface();
         }
     }
 
diff --git a/services/core/java/com/android/server/wm/InputMonitor.java b/services/core/java/com/android/server/wm/InputMonitor.java
index 3c5d911..5669451 100644
--- a/services/core/java/com/android/server/wm/InputMonitor.java
+++ b/services/core/java/com/android/server/wm/InputMonitor.java
@@ -25,7 +25,6 @@
 import static android.view.WindowManager.LayoutParams.PRIVATE_FLAG_KEYGUARD;
 import static android.view.WindowManager.LayoutParams.TYPE_WALLPAPER;
 
-import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_DRAG;
 import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_FOCUS_LIGHT;
 import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_INPUT;
 import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_TASK_POSITIONING;
@@ -129,15 +128,6 @@
 
                 // If there's a drag in flight, provide a pseudo-window to catch drag input
                 final boolean inDrag = mService.mDragDropController.dragDropActiveLocked();
-                if (inDrag) {
-                    if (DEBUG_DRAG) {
-                        Log.d(TAG_WM, "Inserting drag window");
-                    }
-                    mService.mDragDropController.showInputSurface(mInputTransaction, mDisplayId);
-                } else {
-                    mService.mDragDropController.hideInputSurface(mInputTransaction, mDisplayId);
-                }
-
                 final boolean inPositioning =
                         mService.mTaskPositioningController.isPositioningLocked();
                 if (inPositioning) {
@@ -168,6 +158,7 @@
 
     void onDisplayRemoved() {
         mHandler.removeCallbacks(mUpdateInputWindows);
+        mService.mInputManager.onDisplayRemoved(mDisplayId);
         mDisplayRemoved = true;
     }
 
diff --git a/services/core/java/com/android/server/wm/KeyguardController.java b/services/core/java/com/android/server/wm/KeyguardController.java
index 8c8b05f..72a1a2f 100644
--- a/services/core/java/com/android/server/wm/KeyguardController.java
+++ b/services/core/java/com/android/server/wm/KeyguardController.java
@@ -269,7 +269,8 @@
      * @return True if we may show an activity while Keyguard is occluded, false otherwise.
      */
     boolean canShowWhileOccluded(boolean dismissKeyguard, boolean showWhenLocked) {
-        return showWhenLocked || dismissKeyguard && !mWindowManager.isKeyguardSecure();
+        return showWhenLocked || dismissKeyguard
+                && !mWindowManager.isKeyguardSecure(mService.getCurrentUserId());
     }
 
     private void visibilitiesUpdated() {
@@ -317,7 +318,7 @@
         // We only allow dismissing Keyguard via the flag when Keyguard is secure for legacy
         // reasons, because that's how apps used to dismiss Keyguard in the secure case. In the
         // insecure case, we actually show it on top of the lockscreen. See #canShowWhileOccluded.
-        if (!mWindowManager.isKeyguardSecure()) {
+        if (!mWindowManager.isKeyguardSecure(mService.getCurrentUserId())) {
             return;
         }
 
@@ -345,7 +346,8 @@
      * @return true if Keyguard can be currently dismissed without entering credentials.
      */
     boolean canDismissKeyguard() {
-        return mWindowManager.isKeyguardTrusted() || !mWindowManager.isKeyguardSecure();
+        return mWindowManager.isKeyguardTrusted()
+                || !mWindowManager.isKeyguardSecure(mService.getCurrentUserId());
     }
 
     private int resolveOccludeTransit() {
@@ -487,7 +489,8 @@
             }
             if (lastDismissActivity != mDismissingKeyguardActivity && !mOccluded
                     && mDismissingKeyguardActivity != null
-                    && controller.mWindowManager.isKeyguardSecure()) {
+                    && controller.mWindowManager.isKeyguardSecure(
+                            controller.mService.getCurrentUserId())) {
                 mRequestDismissKeyguard = true;
             }
         }
diff --git a/services/core/java/com/android/server/wm/LaunchParamsPersister.java b/services/core/java/com/android/server/wm/LaunchParamsPersister.java
index 86dc66d..d364a37 100644
--- a/services/core/java/com/android/server/wm/LaunchParamsPersister.java
+++ b/services/core/java/com/android/server/wm/LaunchParamsPersister.java
@@ -306,10 +306,10 @@
 
     private class PackageListObserver implements PackageManagerInternal.PackageListObserver {
         @Override
-        public void onPackageAdded(String packageName) { }
+        public void onPackageAdded(String packageName, int uid) { }
 
         @Override
-        public void onPackageRemoved(String packageName) {
+        public void onPackageRemoved(String packageName, int uid) {
             removeRecordForPackage(packageName);
         }
     }
diff --git a/services/core/java/com/android/server/wm/Letterbox.java b/services/core/java/com/android/server/wm/Letterbox.java
index f8f693c..3110fb9 100644
--- a/services/core/java/com/android/server/wm/Letterbox.java
+++ b/services/core/java/com/android/server/wm/Letterbox.java
@@ -236,6 +236,7 @@
                     .setFlags(HIDDEN).setColorLayer().build();
             mSurface.setLayer(-1);
             mSurface.setColor(new float[]{0, 0, 0});
+            mSurface.setColorSpaceAgnostic(true);
         }
 
         void attachInput(WindowState win) {
diff --git a/services/core/java/com/android/server/wm/LockTaskController.java b/services/core/java/com/android/server/wm/LockTaskController.java
index e6e6275..2411e00 100644
--- a/services/core/java/com/android/server/wm/LockTaskController.java
+++ b/services/core/java/com/android/server/wm/LockTaskController.java
@@ -762,7 +762,7 @@
             } else {
                 // If keyguard is not secure and it is locked, dismiss the keyguard before
                 // disabling it, which avoids the platform to think the keyguard is still on.
-                if (mWindowManager.isKeyguardLocked() && !mWindowManager.isKeyguardSecure()) {
+                if (mWindowManager.isKeyguardLocked() && !mWindowManager.isKeyguardSecure(userId)) {
                     mPendingDisableFromDismiss = userId;
                     mWindowManager.dismissKeyguard(new IKeyguardDismissCallback.Stub() {
                         @Override
diff --git a/services/core/java/com/android/server/wm/PersisterQueue.java b/services/core/java/com/android/server/wm/PersisterQueue.java
index a17ee65..9dc3d6a 100644
--- a/services/core/java/com/android/server/wm/PersisterQueue.java
+++ b/services/core/java/com/android/server/wm/PersisterQueue.java
@@ -131,10 +131,8 @@
     }
 
     /**
-     *
-     * @param item
-     * @param flush
-     * @param <T>
+     * Updates the last item found in the queue that matches the given item, or adds it to the end
+     * of the queue if no such item is found.
      */
     synchronized <T extends WriteQueueItem> void updateLastOrAddItem(T item, boolean flush) {
         final T itemToUpdate = findLastItem(item::matches, (Class<T>) item.getClass());
@@ -149,10 +147,6 @@
 
     /**
      * Removes all items with which given predicate returns {@code true}.
-     *
-     * @param predicate the predicate
-     * @param clazz
-     * @param <T>
      */
     synchronized <T extends WriteQueueItem> void removeItems(Predicate<T> predicate,
             Class<T> clazz) {
diff --git a/services/core/java/com/android/server/wm/PointerEventDispatcher.java b/services/core/java/com/android/server/wm/PointerEventDispatcher.java
index f815fa0..8d08aa3 100644
--- a/services/core/java/com/android/server/wm/PointerEventDispatcher.java
+++ b/services/core/java/com/android/server/wm/PointerEventDispatcher.java
@@ -28,11 +28,13 @@
 import java.util.ArrayList;
 
 public class PointerEventDispatcher extends InputEventReceiver {
-    ArrayList<PointerEventListener> mListeners = new ArrayList<PointerEventListener>();
-    PointerEventListener[] mListenersArray = new PointerEventListener[0];
+    private final InputChannel mInputChannel;
+    private final ArrayList<PointerEventListener> mListeners = new ArrayList<>();
+    private PointerEventListener[] mListenersArray = new PointerEventListener[0];
 
     public PointerEventDispatcher(InputChannel inputChannel) {
         super(inputChannel, UiThread.getHandler().getLooper());
+        mInputChannel = inputChannel;
     }
 
     @Override
@@ -87,4 +89,15 @@
             mListenersArray = null;
         }
     }
+
+    /** Dispose the associated input channel and clean up the listeners. */
+    @Override
+    public void dispose() {
+        super.dispose();
+        mInputChannel.dispose();
+        synchronized (mListeners) {
+            mListeners.clear();
+            mListenersArray = null;
+        }
+    }
 }
diff --git a/services/core/java/com/android/server/wm/RecentTasks.java b/services/core/java/com/android/server/wm/RecentTasks.java
index 0480d43..d69ae3d 100644
--- a/services/core/java/com/android/server/wm/RecentTasks.java
+++ b/services/core/java/com/android/server/wm/RecentTasks.java
@@ -60,6 +60,7 @@
 import android.os.Environment;
 import android.os.IBinder;
 import android.os.RemoteException;
+import android.os.SystemClock;
 import android.os.SystemProperties;
 import android.os.UserHandle;
 import android.text.TextUtils;
@@ -67,8 +68,11 @@
 import android.util.Slog;
 import android.util.SparseArray;
 import android.util.SparseBooleanArray;
+import android.view.MotionEvent;
+import android.view.WindowManagerPolicyConstants.PointerEventListener;
 
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.util.function.pooled.PooledLambda;
 import com.android.server.am.ActivityManagerService;
 
 import com.google.android.collect.Sets;
@@ -109,8 +113,11 @@
 
     private static final int DEFAULT_INITIAL_CAPACITY = 5;
 
-    // Whether or not to move all affiliated tasks to the front when one of the tasks is launched
-    private static final boolean MOVE_AFFILIATED_TASKS_TO_FRONT = false;
+    // The duration of time after freezing the recent tasks list where getRecentTasks() will return
+    // a stable ordering of the tasks. Upon the next call to getRecentTasks() beyond this duration,
+    // the task list will be unfrozen and committed (the current top task will be moved to the
+    // front of the list)
+    private static final long FREEZE_TASK_LIST_TIMEOUT_MS = TimeUnit.SECONDS.toMillis(5);
 
     // Comparator to sort by taskId
     private static final Comparator<TaskRecord> TASK_ID_COMPARATOR =
@@ -174,12 +181,45 @@
     private int mMaxNumVisibleTasks;
     private long mActiveTasksSessionDurationMs;
 
+    // When set, the task list will not be reordered as tasks within the list are moved to the
+    // front. Newly created tasks, or tasks that are removed from the list will continue to change
+    // the list.  This does not affect affiliated tasks.
+    private boolean mFreezeTaskListReordering;
+    private long mFreezeTaskListReorderingTime;
+    private long mFreezeTaskListTimeoutMs = FREEZE_TASK_LIST_TIMEOUT_MS;
+
     // Mainly to avoid object recreation on multiple calls.
     private final ArrayList<TaskRecord> mTmpRecents = new ArrayList<>();
     private final HashMap<ComponentName, ActivityInfo> mTmpAvailActCache = new HashMap<>();
     private final HashMap<String, ApplicationInfo> mTmpAvailAppCache = new HashMap<>();
     private final SparseBooleanArray mTmpQuietProfileUserIds = new SparseBooleanArray();
 
+    // TODO(b/127498985): This is currently a rough heuristic for interaction inside an app
+    private final PointerEventListener mListener = new PointerEventListener() {
+        @Override
+        public void onPointerEvent(MotionEvent ev) {
+            if (!mFreezeTaskListReordering || ev.getAction() != MotionEvent.ACTION_DOWN) {
+                // Skip if we aren't freezing or starting a gesture
+                return;
+            }
+            int displayId = ev.getDisplayId();
+            int x = (int) ev.getX();
+            int y = (int) ev.getY();
+            mService.mH.post(PooledLambda.obtainRunnable((nonArg) -> {
+                synchronized (mService.mGlobalLock) {
+                    // Unfreeze the task list once we touch down in a task
+                    final RootActivityContainer rac = mService.mRootActivityContainer;
+                    final DisplayContent dc = rac.getActivityDisplay(displayId).mDisplayContent;
+                    if (dc.pointWithinAppWindow(x, y)) {
+                        final ActivityStack stack = mService.getTopDisplayFocusedStack();
+                        final TaskRecord topTask = stack != null ? stack.topTask() : null;
+                        resetFreezeTaskListReordering(topTask);
+                    }
+                }
+            }, null).recycleOnUse());
+        }
+    };
+
     @VisibleForTesting
     RecentTasks(ActivityTaskManagerService service, TaskPersister taskPersister) {
         mService = service;
@@ -214,6 +254,73 @@
         mGlobalMaxNumTasks = globalMaxNumTasks;
     }
 
+    @VisibleForTesting
+    void setFreezeTaskListTimeoutParams(long reorderingTime, long timeoutMs) {
+        mFreezeTaskListReorderingTime = reorderingTime;
+        mFreezeTaskListTimeoutMs = timeoutMs;
+    }
+
+    PointerEventListener getInputListener() {
+        return mListener;
+    }
+
+    /**
+     * Freezes the current recent task list order until either a user interaction with the current
+     * app, or a timeout occurs.
+     */
+    void setFreezeTaskListReordering() {
+        // Always update the reordering time when this is called to ensure that the timeout
+        // is reset
+        mFreezeTaskListReordering = true;
+        mFreezeTaskListReorderingTime = SystemClock.elapsedRealtime();
+    }
+
+    /**
+     * Commits the frozen recent task list order, moving the provided {@param topTask} to the
+     * front of the list.
+     */
+    void resetFreezeTaskListReordering(TaskRecord topTask) {
+        if (!mFreezeTaskListReordering) {
+            return;
+        }
+
+        // Once we end freezing the task list, reset the existing task order to the stable state
+        mFreezeTaskListReordering = false;
+
+        // If the top task is provided, then restore the top task to the front of the list
+        if (topTask != null) {
+            mTasks.remove(topTask);
+            mTasks.add(0, topTask);
+        }
+
+        // Resume trimming tasks
+        trimInactiveRecentTasks();
+    }
+
+    /**
+     * Resets the frozen recent task list order if the timeout has passed. This should be called
+     * before we need to iterate the task list in order (either for purposes of returning the list
+     * to SystemUI or if we need to trim tasks in order)
+     */
+    void resetFreezeTaskListReorderingOnTimeout() {
+        // Unfreeze the recent task list if the time heuristic has passed
+        if (mFreezeTaskListReorderingTime
+                > (SystemClock.elapsedRealtime() - mFreezeTaskListTimeoutMs)) {
+            return;
+        }
+
+        final ActivityStack focusedStack = mService.getTopDisplayFocusedStack();
+        final TaskRecord topTask = focusedStack != null
+                ? focusedStack.topTask()
+                : null;
+        resetFreezeTaskListReordering(topTask);
+    }
+
+    @VisibleForTesting
+    boolean isFreezeTaskListReorderingSet() {
+        return mFreezeTaskListReordering;
+    }
+
     /**
      * Loads the parameters from the system resources.
      */
@@ -351,7 +458,8 @@
         }
 
         Slog.i(TAG, "Loading recents for user " + userId + " into memory.");
-        mTasks.addAll(mTaskPersister.restoreTasksForUserLocked(userId, preaddedTasks));
+        List<TaskRecord> tasks = mTaskPersister.restoreTasksForUserLocked(userId, preaddedTasks);
+        mTasks.addAll(tasks);
         cleanupLocked(userId);
         mUsersWithRecentsLoaded.put(userId, true);
 
@@ -746,11 +854,10 @@
                 getDetailedTasks, userId, callingUid));
     }
 
-
     /**
      * @return the list of recent tasks for presentation.
      */
-    ArrayList<ActivityManager.RecentTaskInfo> getRecentTasksImpl(int maxNum, int flags,
+    private ArrayList<ActivityManager.RecentTaskInfo> getRecentTasksImpl(int maxNum, int flags,
             boolean getTasksAllowed, boolean getDetailedTasks, int userId, int callingUid) {
         final boolean withExcluded = (flags & RECENT_WITH_EXCLUDED) != 0;
 
@@ -763,6 +870,9 @@
         final Set<Integer> includedUsers = getProfileIds(userId);
         includedUsers.add(Integer.valueOf(userId));
 
+        // Check if the frozen task list has timed out
+        resetFreezeTaskListReorderingOnTimeout();
+
         final ArrayList<ActivityManager.RecentTaskInfo> res = new ArrayList<>();
         final int size = mTasks.size();
         int numVisibleTasks = 0;
@@ -946,24 +1056,20 @@
         if (task.inRecents) {
             int taskIndex = mTasks.indexOf(task);
             if (taskIndex >= 0) {
-                if (!isAffiliated || !MOVE_AFFILIATED_TASKS_TO_FRONT) {
-                    // Simple case: this is not an affiliated task, so we just move it to the front.
-                    mTasks.remove(taskIndex);
-                    mTasks.add(0, task);
-                    notifyTaskPersisterLocked(task, false);
-                    if (DEBUG_RECENTS) Slog.d(TAG_RECENTS, "addRecent: moving to top " + task
-                            + " from " + taskIndex);
-                    return;
-                } else {
-                    // More complicated: need to keep all affiliated tasks together.
-                    if (moveAffiliatedTasksToFront(task, taskIndex)) {
-                        // All went well.
-                        return;
-                    }
+                if (!isAffiliated) {
+                    if (!mFreezeTaskListReordering) {
+                        // Simple case: this is not an affiliated task, so we just move it to the
+                        // front unless overridden by the provided activity options
+                        mTasks.remove(taskIndex);
+                        mTasks.add(0, task);
 
-                    // Uh oh...  something bad in the affiliation chain, try to rebuild
-                    // everything and then go through our general path of adding a new task.
-                    needAffiliationFix = true;
+                        if (DEBUG_RECENTS) {
+                            Slog.d(TAG_RECENTS, "addRecent: moving to top " + task
+                                    + " from " + taskIndex);
+                        }
+                    }
+                    notifyTaskPersisterLocked(task, false);
+                    return;
                 }
             } else {
                 Slog.wtf(TAG, "Task with inRecent not in recents: " + task);
@@ -1063,6 +1169,11 @@
      * Trims the recents task list to the global max number of recents.
      */
     private void trimInactiveRecentTasks() {
+        if (mFreezeTaskListReordering) {
+            // Defer trimming inactive recent tasks until we are unfrozen
+            return;
+        }
+
         int recentsCount = mTasks.size();
 
         // Remove from the end of the list until we reach the max number of recents
@@ -1086,7 +1197,7 @@
                     + " quiet=" + mTmpQuietProfileUserIds.get(userId));
         }
 
-        // Remove any inactive tasks, calculate the latest set of visible tasks
+        // Remove any inactive tasks, calculate the latest set of visible tasks.
         int numVisibleTasks = 0;
         for (int i = 0; i < mTasks.size();) {
             final TaskRecord task = mTasks.get(i);
@@ -1300,6 +1411,11 @@
      * list (if any).
      */
     private int findRemoveIndexForAddTask(TaskRecord task) {
+        if (mFreezeTaskListReordering) {
+            // Defer removing tasks due to the addition of new tasks until the task list is unfrozen
+            return -1;
+        }
+
         final int recentsCount = mTasks.size();
         final Intent intent = task.intent;
         final boolean document = intent != null && intent.isDocument();
@@ -1536,6 +1652,9 @@
         pw.println("ACTIVITY MANAGER RECENT TASKS (dumpsys activity recents)");
         pw.println("mRecentsUid=" + mRecentsUid);
         pw.println("mRecentsComponent=" + mRecentsComponent);
+        pw.println("mFreezeTaskListReordering=" + mFreezeTaskListReordering);
+        pw.println("mFreezeTaskListReorderingTime (time since)="
+                + (SystemClock.elapsedRealtime() - mFreezeTaskListReorderingTime) + "ms");
         if (mTasks.isEmpty()) {
             return;
         }
diff --git a/services/core/java/com/android/server/wm/RootActivityContainer.java b/services/core/java/com/android/server/wm/RootActivityContainer.java
index e59b6d7..24cf7f1 100644
--- a/services/core/java/com/android/server/wm/RootActivityContainer.java
+++ b/services/core/java/com/android/server/wm/RootActivityContainer.java
@@ -114,6 +114,7 @@
 import com.android.server.am.ActivityManagerService;
 import com.android.server.am.AppTimeTracker;
 import com.android.server.am.UserState;
+import com.android.server.policy.WindowManagerPolicy;
 
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
@@ -345,6 +346,10 @@
         }
     }
 
+    boolean startHomeOnDisplay(int userId, String reason, int displayId) {
+        return startHomeOnDisplay(userId, reason, displayId, false /*fromHomeKey*/);
+    }
+
     /**
      * This starts home activity on displays that can have system decorations based on displayId -
      * Default display always use primary home component.
@@ -356,12 +361,19 @@
      *    If there are multiple activities matched, use first one.
      *  - Use the secondary home defined in the config.
      */
-    boolean startHomeOnDisplay(int userId, String reason, int displayId) {
+    boolean startHomeOnDisplay(int userId, String reason, int displayId, boolean fromHomeKey) {
+        // Fallback to top focused display if the displayId is invalid.
+        if (displayId == INVALID_DISPLAY) {
+            displayId = getTopDisplayFocusedStack().mDisplayId;
+        }
+
         Intent homeIntent;
         ActivityInfo aInfo;
         if (displayId == DEFAULT_DISPLAY) {
             homeIntent = mService.getHomeIntent();
             aInfo = resolveHomeActivity(userId, homeIntent);
+        } else if (!mService.mSupportsMultiDisplay) {
+            return false;
         } else {
             Pair<ActivityInfo, Intent> info = resolveSecondaryHomeActivity(userId, displayId);
             aInfo = info.first;
@@ -378,6 +390,10 @@
         // Updates the home component of the intent.
         homeIntent.setComponent(new ComponentName(aInfo.applicationInfo.packageName, aInfo.name));
         homeIntent.setFlags(homeIntent.getFlags() | FLAG_ACTIVITY_NEW_TASK);
+        // Updates the extra information of the intent.
+        if (fromHomeKey) {
+            homeIntent.putExtra(WindowManagerPolicy.EXTRA_FROM_HOME_KEY, true);
+        }
         // Update the reason for ANR debugging to verify if the user activity is the one that
         // actually launched.
         final String myReason = reason + ":" + userId + ":" + UserHandle.getUserId(
@@ -544,6 +560,11 @@
             return true;
         }
 
+        if (displayId != DEFAULT_DISPLAY && !mService.mSupportsMultiDisplay) {
+            // Can't launch home on secondary display if device not support multi-display.
+            return false;
+        }
+
         final boolean deviceProvisioned = Settings.Global.getInt(
                 mService.mContext.getContentResolver(),
                 Settings.Global.DEVICE_PROVISIONED, 0) != 0;
diff --git a/services/core/java/com/android/server/wm/RootWindowContainer.java b/services/core/java/com/android/server/wm/RootWindowContainer.java
index 300cd17..8f4e842 100644
--- a/services/core/java/com/android/server/wm/RootWindowContainer.java
+++ b/services/core/java/com/android/server/wm/RootWindowContainer.java
@@ -193,8 +193,8 @@
     }
 
     DisplayContent getTopFocusedDisplayContent() {
-        return getDisplayContent(mTopFocusedDisplayId == INVALID_DISPLAY
-                ? DEFAULT_DISPLAY : mTopFocusedDisplayId);
+        final DisplayContent dc = getDisplayContent(mTopFocusedDisplayId);
+        return dc != null ? dc : getDisplayContent(DEFAULT_DISPLAY);
     }
 
     @Override
@@ -245,6 +245,34 @@
         return dc;
     }
 
+    /**
+     * Called when DisplayWindowSettings values may change.
+     */
+    void onSettingsRetrieved() {
+        final int numDisplays = mChildren.size();
+        for (int displayNdx = 0; displayNdx < numDisplays; ++displayNdx) {
+            final DisplayContent displayContent = mChildren.get(displayNdx);
+            final boolean changed = mWmService.mDisplayWindowSettings.updateSettingsForDisplay(
+                    displayContent);
+            if (!changed) {
+                continue;
+            }
+
+            displayContent.initializeDisplayOverrideConfiguration();
+            mWmService.reconfigureDisplayLocked(displayContent);
+
+            // We need to update global configuration as well if config of default display has
+            // changed. Do it inline because ATMS#retrieveSettings() will soon update the
+            // configuration inline, which will overwrite the new windowing mode.
+            if (displayContent.isDefaultDisplay) {
+                final Configuration newConfig = mWmService.computeNewConfiguration(
+                        displayContent.getDisplayId());
+                mWmService.mAtmService.updateConfigurationLocked(newConfig, null /* starting */,
+                        false /* initLocale */);
+            }
+        }
+    }
+
     boolean isLayoutNeeded() {
         final int numDisplays = mChildren.size();
         for (int displayNdx = 0; displayNdx < numDisplays; ++displayNdx) {
@@ -1045,6 +1073,15 @@
         mWmService.scheduleAnimationLocked();
     }
 
+    @Override
+    protected void removeChild(DisplayContent dc) {
+        super.removeChild(dc);
+        if (mTopFocusedDisplayId == dc.getDisplayId()) {
+            mWmService.updateFocusedWindowLocked(
+                    UPDATE_FOCUS_NORMAL, true /* updateInputWindows */);
+        }
+    }
+
     /**
      * For all display at or below this call the callback.
      *
diff --git a/services/core/java/com/android/server/wm/SystemGesturesPointerEventListener.java b/services/core/java/com/android/server/wm/SystemGesturesPointerEventListener.java
index bdb76c2..bd4e542 100644
--- a/services/core/java/com/android/server/wm/SystemGesturesPointerEventListener.java
+++ b/services/core/java/com/android/server/wm/SystemGesturesPointerEventListener.java
@@ -83,7 +83,12 @@
     }
 
     public void systemReady() {
-        mGestureDetector = new GestureDetector(mContext, new FlingGestureDetector(), mHandler);
+        // GestureDetector records statistics about gesture classification events to inform gesture
+        // usage trends. SystemGesturesPointerEventListener creates a lot of noise in these
+        // statistics because it passes every touch event though a GestureDetector. By creating an
+        // anonymous subclass of GestureDetector, these statistics will be recorded with a unique
+        // source name that can be filtered.
+        mGestureDetector = new GestureDetector(mContext, new FlingGestureDetector(), mHandler) {};
     }
 
     @Override
diff --git a/services/core/java/com/android/server/wm/Task.java b/services/core/java/com/android/server/wm/Task.java
index 499cbaf..bb7867c 100644
--- a/services/core/java/com/android/server/wm/Task.java
+++ b/services/core/java/com/android/server/wm/Task.java
@@ -433,29 +433,6 @@
         }
     }
 
-    /** Return true if the current bound can get outputted to the rest of the system as-is. */
-    private boolean useCurrentBounds() {
-        final DisplayContent displayContent = getDisplayContent();
-        return matchParentBounds()
-                || !inSplitScreenSecondaryWindowingMode()
-                || displayContent == null
-                || displayContent.getSplitScreenPrimaryStackIgnoringVisibility() != null;
-    }
-
-    @Override
-    public void getBounds(Rect out) {
-        if (useCurrentBounds()) {
-            // No need to adjust the output bounds if fullscreen or the docked stack is visible
-            // since it is already what we want to represent to the rest of the system.
-            super.getBounds(out);
-            return;
-        }
-
-        // The bounds has been adjusted to accommodate for a docked stack, but the docked stack is
-        // not currently visible. Go ahead a represent it as fullscreen to the rest of the system.
-        mStack.getDisplayContent().getBounds(out);
-    }
-
     @Override
     public Rect getDisplayedBounds() {
         if (mOverrideDisplayedBounds.isEmpty()) {
@@ -506,36 +483,28 @@
         // a DimLayer anyway if we weren't visible.
         final boolean dockedResizing = displayContent != null
                 && displayContent.mDividerControllerLocked.isResizing();
-        if (useCurrentBounds()) {
-            if (inFreeformWindowingMode() && getMaxVisibleBounds(out)) {
-                return;
-            }
-
-            if (!matchParentBounds()) {
-                // When minimizing the docked stack when going home, we don't adjust the task bounds
-                // so we need to intersect the task bounds with the stack bounds here.
-                //
-                // If we are Docked Resizing with snap points, the task bounds could be smaller than the stack
-                // bounds and so we don't even want to use them. Even if the app should not be resized the Dim
-                // should keep up with the divider.
-                if (dockedResizing) {
-                    mStack.getBounds(out);
-                } else {
-                    mStack.getBounds(mTmpRect);
-                    mTmpRect.intersect(getBounds());
-                    out.set(mTmpRect);
-                }
-            } else {
-                out.set(getBounds());
-            }
+        if (inFreeformWindowingMode() && getMaxVisibleBounds(out)) {
             return;
         }
 
-        // The bounds has been adjusted to accommodate for a docked stack, but the docked stack is
-        // not currently visible. Go ahead a represent it as fullscreen to the rest of the system.
-        if (displayContent != null) {
-            displayContent.getBounds(out);
+        if (!matchParentBounds()) {
+            // When minimizing the docked stack when going home, we don't adjust the task bounds
+            // so we need to intersect the task bounds with the stack bounds here.
+            //
+            // If we are Docked Resizing with snap points, the task bounds could be smaller than the
+            // stack bounds and so we don't even want to use them. Even if the app should not be
+            // resized the Dim should keep up with the divider.
+            if (dockedResizing) {
+                mStack.getBounds(out);
+            } else {
+                mStack.getBounds(mTmpRect);
+                mTmpRect.intersect(getBounds());
+                out.set(mTmpRect);
+            }
+        } else {
+            out.set(getBounds());
         }
+        return;
     }
 
     void setDragResizing(boolean dragResizing, int dragResizeMode) {
@@ -702,16 +671,6 @@
         positionChildAt(position, aToken, false /* includeParents */);
     }
 
-    boolean isFullscreen() {
-        if (useCurrentBounds()) {
-            return matchParentBounds();
-        }
-        // The bounds has been adjusted to accommodate for a docked stack, but the docked stack
-        // is not currently visible. Go ahead a represent it as fullscreen to the rest of the
-        // system.
-        return true;
-    }
-
     void forceWindowsScaleable(boolean force) {
         mWmService.openSurfaceTransaction();
         try {
diff --git a/services/core/java/com/android/server/wm/TaskChangeNotificationController.java b/services/core/java/com/android/server/wm/TaskChangeNotificationController.java
index 42d2583..3d57219 100644
--- a/services/core/java/com/android/server/wm/TaskChangeNotificationController.java
+++ b/services/core/java/com/android/server/wm/TaskChangeNotificationController.java
@@ -24,6 +24,7 @@
 import android.content.ComponentName;
 import android.os.Binder;
 import android.os.Handler;
+import android.os.IBinder;
 import android.os.Looper;
 import android.os.Message;
 import android.os.RemoteCallbackList;
@@ -51,6 +52,7 @@
     private static final int NOTIFY_ACTIVITY_UNPINNED_LISTENERS_MSG = 17;
     private static final int NOTIFY_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_FAILED_MSG = 18;
     private static final int NOTIFY_ACTIVITY_LAUNCH_ON_SECONDARY_DISPLAY_REROUTED_MSG = 19;
+    private static final int NOTIFY_SIZE_COMPAT_MODE_ACTIVITY_CHANGED_MSG = 20;
 
     // Delay in notifying task stack change listeners (in millis)
     private static final int NOTIFY_TASK_STACK_CHANGE_LISTENERS_DELAY = 100;
@@ -143,6 +145,10 @@
         l.onTaskSnapshotChanged(m.arg1, (TaskSnapshot) m.obj);
     };
 
+    private final TaskStackConsumer mOnSizeCompatModeActivityChanged = (l, m) -> {
+        l.onSizeCompatModeActivityChanged(m.arg1, (IBinder) m.obj);
+    };
+
     @FunctionalInterface
     public interface TaskStackConsumer {
         void accept(ITaskStackListener t, Message m) throws RemoteException;
@@ -216,6 +222,9 @@
                 case NOTIFY_TASK_SNAPSHOT_CHANGED_LISTENERS_MSG:
                     forAllRemoteListeners(mNotifyTaskSnapshotChanged, msg);
                     break;
+                case NOTIFY_SIZE_COMPAT_MODE_ACTIVITY_CHANGED_MSG:
+                    forAllRemoteListeners(mOnSizeCompatModeActivityChanged, msg);
+                    break;
             }
         }
     }
@@ -438,4 +447,15 @@
         forAllLocalListeners(mNotifyTaskSnapshotChanged, msg);
         msg.sendToTarget();
     }
+
+    /**
+     * Notify listeners that whether a size compatibility mode activity is using the override
+     * bounds which is not fit its parent.
+     */
+    void notifySizeCompatModeActivityChanged(int displayId, IBinder activityToken) {
+        final Message msg = mHandler.obtainMessage(NOTIFY_SIZE_COMPAT_MODE_ACTIVITY_CHANGED_MSG,
+                displayId, 0 /* unused */, activityToken);
+        forAllLocalListeners(mOnSizeCompatModeActivityChanged, msg);
+        msg.sendToTarget();
+    }
 }
diff --git a/services/core/java/com/android/server/wm/TaskPersister.java b/services/core/java/com/android/server/wm/TaskPersister.java
index d50af38..06bdcc0 100644
--- a/services/core/java/com/android/server/wm/TaskPersister.java
+++ b/services/core/java/com/android/server/wm/TaskPersister.java
@@ -492,16 +492,8 @@
         return new File(userTaskIdsDir, PERSISTED_TASK_IDS_FILENAME);
     }
 
-    static File getUserTasksDir(int userId) {
-        File userTasksDir = new File(Environment.getDataSystemCeDirectory(userId), TASKS_DIRNAME);
-
-        if (!userTasksDir.exists()) {
-            if (!userTasksDir.mkdir()) {
-                Slog.e(TAG, "Failure creating tasks directory for user " + userId + ": "
-                        + userTasksDir);
-            }
-        }
-        return userTasksDir;
+    private static File getUserTasksDir(int userId) {
+        return new File(Environment.getDataSystemCeDirectory(userId), TASKS_DIRNAME);
     }
 
     static File getUserImagesDir(int userId) {
@@ -568,8 +560,13 @@
                 FileOutputStream file = null;
                 AtomicFile atomicFile = null;
                 try {
-                    atomicFile = new AtomicFile(new File(
-                            getUserTasksDir(task.userId),
+                    File userTasksDir = getUserTasksDir(task.userId);
+                    if (!userTasksDir.isDirectory() && !userTasksDir.mkdirs()) {
+                        Slog.e(TAG, "Failure creating tasks directory for user " + task.userId
+                                + ": " + userTasksDir + " Dropping persistence for task " + task);
+                        return;
+                    }
+                    atomicFile = new AtomicFile(new File(userTasksDir,
                             String.valueOf(task.taskId) + TASK_FILENAME_SUFFIX));
                     file = atomicFile.startWrite();
                     file.write(stringWriter.toString().getBytes());
diff --git a/services/core/java/com/android/server/wm/TaskRecord.java b/services/core/java/com/android/server/wm/TaskRecord.java
index 1392762..4fd8489 100644
--- a/services/core/java/com/android/server/wm/TaskRecord.java
+++ b/services/core/java/com/android/server/wm/TaskRecord.java
@@ -202,13 +202,6 @@
     // Do not move the stack as a part of reparenting
     static final int REPARENT_LEAVE_STACK_IN_PLACE = 2;
 
-    // The height/width divide used when fitting a task within a bounds with method
-    // {@link #fitWithinBounds}.
-    // We always want the task to to be visible in the bounds without affecting its size when
-    // fitting. To make sure this is the case, we don't adjust the task left or top side pass
-    // the input bounds right or bottom side minus the width or height divided by this value.
-    private static final int FIT_WITHIN_BOUNDS_DIVIDER = 3;
-
     /**
      * The factory used to create {@link TaskRecord}. This allows OEM subclass {@link TaskRecord}.
      */
@@ -1932,35 +1925,33 @@
      *
      * @param bounds Bounds to be adjusted.
      * @param stackBounds Bounds within which the other bounds should remain.
+     * @param overlapPxX The amount of px required to be visible in the X dimension.
+     * @param overlapPxY The amount of px required to be visible in the Y dimension.
      */
-    private static void fitWithinBounds(Rect bounds, Rect stackBounds) {
+    private static void fitWithinBounds(Rect bounds, Rect stackBounds, int overlapPxX,
+            int overlapPxY) {
         if (stackBounds == null || stackBounds.isEmpty() || stackBounds.contains(bounds)) {
             return;
         }
 
-        if (bounds.left < stackBounds.left || bounds.right > stackBounds.right) {
-            final int maxRight = stackBounds.right
-                    - (stackBounds.width() / FIT_WITHIN_BOUNDS_DIVIDER);
-            int horizontalDiff = stackBounds.left - bounds.left;
-            if ((horizontalDiff < 0 && bounds.left >= maxRight)
-                    || (bounds.left + horizontalDiff >= maxRight)) {
-                horizontalDiff = maxRight - bounds.left;
-            }
-            bounds.left += horizontalDiff;
-            bounds.right += horizontalDiff;
+        // For each side of the parent (eg. left), check if the opposing side of the window (eg.
+        // right) is at least overlap pixels away. If less, offset the window by that difference.
+        int horizontalDiff = 0;
+        // If window is smaller than overlap, use it's smallest dimension instead
+        int overlapLR = Math.min(overlapPxX, bounds.width());
+        if (bounds.right < (stackBounds.left + overlapLR)) {
+            horizontalDiff = overlapLR - (bounds.right - stackBounds.left);
+        } else if (bounds.left > (stackBounds.right - overlapLR)) {
+            horizontalDiff = -(overlapLR - (stackBounds.right - bounds.left));
         }
-
-        if (bounds.top < stackBounds.top || bounds.bottom > stackBounds.bottom) {
-            final int maxBottom = stackBounds.bottom
-                    - (stackBounds.height() / FIT_WITHIN_BOUNDS_DIVIDER);
-            int verticalDiff = stackBounds.top - bounds.top;
-            if ((verticalDiff < 0 && bounds.top >= maxBottom)
-                    || (bounds.top + verticalDiff >= maxBottom)) {
-                verticalDiff = maxBottom - bounds.top;
-            }
-            bounds.top += verticalDiff;
-            bounds.bottom += verticalDiff;
+        int verticalDiff = 0;
+        int overlapTB = Math.min(overlapPxY, bounds.width());
+        if (bounds.bottom < (stackBounds.top + overlapTB)) {
+            verticalDiff = overlapTB - (bounds.bottom - stackBounds.top);
+        } else if (bounds.top > (stackBounds.bottom - overlapTB)) {
+            verticalDiff = -(overlapTB - (stackBounds.bottom - bounds.top));
         }
+        bounds.offset(horizontalDiff, verticalDiff);
     }
 
     /**
@@ -2230,7 +2221,11 @@
         adjustForMinimalTaskDimensions(outOverrideBounds, mTmpBounds);
         if (windowingMode == WINDOWING_MODE_FREEFORM) {
             // by policy, make sure the window remains within parent somewhere
-            fitWithinBounds(outOverrideBounds, newParentConfig.windowConfiguration.getBounds());
+            final float density =
+                    ((float) newParentConfig.densityDpi) / DisplayMetrics.DENSITY_DEFAULT;
+            fitWithinBounds(outOverrideBounds, newParentConfig.windowConfiguration.getBounds(),
+                    (int) (density * WindowState.MINIMUM_VISIBLE_WIDTH_IN_DP),
+                    (int) (density * WindowState.MINIMUM_VISIBLE_HEIGHT_IN_DP));
         }
         computeConfigResourceOverrides(getResolvedOverrideConfiguration(), newParentConfig);
     }
diff --git a/services/core/java/com/android/server/wm/TaskStack.java b/services/core/java/com/android/server/wm/TaskStack.java
index 241f14e..e6b8112 100644
--- a/services/core/java/com/android/server/wm/TaskStack.java
+++ b/services/core/java/com/android/server/wm/TaskStack.java
@@ -303,17 +303,6 @@
         return super.getBounds();
     }
 
-    /** Return true if the current bound can get outputted to the rest of the system as-is. */
-    private boolean useCurrentBounds() {
-        if (matchParentBounds()
-                || !inSplitScreenSecondaryWindowingMode()
-                || mDisplayContent == null
-                || mDisplayContent.getSplitScreenPrimaryStackIgnoringVisibility() != null) {
-            return true;
-        }
-        return false;
-    }
-
     @Override
     public void getBounds(Rect bounds) {
         bounds.set(getBounds());
@@ -321,22 +310,15 @@
 
     @Override
     public Rect getBounds() {
-        if (useCurrentBounds()) {
-            // If we're currently adjusting for IME or minimized docked stack, we use the adjusted
-            // bounds; otherwise, no need to adjust the output bounds if fullscreen or the docked
-            // stack is visible since it is already what we want to represent to the rest of the
-            // system.
-            if (!mAdjustedBounds.isEmpty()) {
-                return mAdjustedBounds;
-            } else {
-                return super.getBounds();
-            }
-        }
-
-        // The bounds has been adjusted to accommodate for a docked stack, but the docked stack
-        // is not currently visible. Go ahead a represent it as fullscreen to the rest of the
+        // If we're currently adjusting for IME or minimized docked stack, we use the adjusted
+        // bounds; otherwise, no need to adjust the output bounds if fullscreen or the docked
+        // stack is visible since it is already what we want to represent to the rest of the
         // system.
-        return mDisplayContent.getBounds();
+        if (!mAdjustedBounds.isEmpty()) {
+            return mAdjustedBounds;
+        } else {
+            return super.getBounds();
+        }
     }
 
     /**
@@ -1425,13 +1407,7 @@
 
     @Override
     boolean fillsParent() {
-        if (useCurrentBounds()) {
-            return matchParentBounds();
-        }
-        // The bounds has been adjusted to accommodate for a docked stack, but the docked stack
-        // is not currently visible. Go ahead a represent it as fullscreen to the rest of the
-        // system.
-        return true;
+        return matchParentBounds();
     }
 
     @Override
@@ -1516,7 +1492,7 @@
 
         for (int i = mChildren.size() - 1; i >= 0; --i) {
             final Task task = mChildren.get(i);
-            if (task.isFullscreen()) {
+            if (task.getWindowingMode() == WINDOWING_MODE_FULLSCREEN) {
                 results.searchDone = true;
                 return;
             }
diff --git a/services/core/java/com/android/server/wm/WindowManagerService.java b/services/core/java/com/android/server/wm/WindowManagerService.java
index d3f387c..4a9d798f 100644
--- a/services/core/java/com/android/server/wm/WindowManagerService.java
+++ b/services/core/java/com/android/server/wm/WindowManagerService.java
@@ -232,6 +232,7 @@
 
 import com.android.internal.R;
 import com.android.internal.annotations.VisibleForTesting;
+import com.android.internal.os.BackgroundThread;
 import com.android.internal.os.IResultReceiver;
 import com.android.internal.policy.IKeyguardDismissCallback;
 import com.android.internal.policy.IShortcutService;
@@ -414,6 +415,14 @@
         @Override
         public void dumpCritical(FileDescriptor fd, PrintWriter pw, String[] args,
                 boolean asProto) {
+            // Bugreport dumps the trace 2x, 1x as proto and 1x as text. Save file to disk only 1x.
+            if (asProto && mWindowTracing.isEnabled()) {
+                mWindowTracing.stopTrace(null, false /* writeToFile */);
+                BackgroundThread.getHandler().post(() -> {
+                    mWindowTracing.writeTraceToFile();
+                    mWindowTracing.startTrace(null);
+                });
+            }
             doDump(fd, pw, new String[] {"-a"}, asProto);
         }
 
@@ -680,6 +689,8 @@
                 Settings.Secure.getUriFor(Settings.Secure.IMMERSIVE_MODE_CONFIRMATIONS);
         private final Uri mPolicyControlUri =
                 Settings.Global.getUriFor(Settings.Global.POLICY_CONTROL);
+        private final Uri mPointerLocationUri =
+                Settings.System.getUriFor(Settings.System.POINTER_LOCATION);
 
         public SettingsObserver() {
             super(new Handler());
@@ -694,8 +705,8 @@
                     UserHandle.USER_ALL);
             resolver.registerContentObserver(mImmersiveModeConfirmationsUri, false, this,
                     UserHandle.USER_ALL);
-            resolver.registerContentObserver(mPolicyControlUri, false, this,
-                    UserHandle.USER_ALL);
+            resolver.registerContentObserver(mPolicyControlUri, false, this, UserHandle.USER_ALL);
+            resolver.registerContentObserver(mPointerLocationUri, false, this, UserHandle.USER_ALL);
         }
 
         @Override
@@ -714,6 +725,11 @@
                 return;
             }
 
+            if (mPointerLocationUri.equals(uri)) {
+                updatePointerLocation();
+                return;
+            }
+
             @UpdateAnimationScaleMode
             final int mode;
             if (mWindowAnimationScaleUri.equals(uri)) {
@@ -740,6 +756,22 @@
                 updateRotation(false /* alwaysSendConfiguration */, false /* forceRelayout */);
             }
         }
+
+        void updatePointerLocation() {
+            ContentResolver resolver = mContext.getContentResolver();
+            final boolean enablePointerLocation = Settings.System.getIntForUser(resolver,
+                    Settings.System.POINTER_LOCATION, 0, UserHandle.USER_CURRENT) != 0;
+
+            if (mPointerLocationEnabled == enablePointerLocation) {
+                return;
+            }
+            mPointerLocationEnabled = enablePointerLocation;
+            synchronized (mGlobalLock) {
+                mRoot.forAllDisplayPolicies(PooledLambda.obtainConsumer(
+                        DisplayPolicy::setPointerLocationEnabled, PooledLambda.__(),
+                        mPointerLocationEnabled));
+            }
+        }
     }
 
     PowerManager mPowerManager;
@@ -749,6 +781,7 @@
     private float mTransitionAnimationScaleSetting = 1.0f;
     private float mAnimatorDurationScaleSetting = 1.0f;
     private boolean mAnimationsDisabled = false;
+    boolean mPointerLocationEnabled = false;
 
     final InputManagerService mInputManager;
     final DisplayManagerInternal mDisplayManagerInternal;
@@ -1985,6 +2018,10 @@
                     updateNonSystemOverlayWindowsVisibilityIfNeeded(
                             win, win.mWinAnimator.getShown());
                 }
+                if ((attrChanges & (WindowManager.LayoutParams.PRIVATE_FLAGS_CHANGED)) != 0) {
+                    winAnimator.setColorSpaceAgnosticLocked((win.mAttrs.privateFlags
+                            & WindowManager.LayoutParams.PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC) != 0);
+                }
             }
 
             if (DEBUG_LAYOUT) Slog.v(TAG_WM, "Relayout " + win + ": viewVisibility=" + viewVisibility
@@ -2831,8 +2868,13 @@
     }
 
     @Override
-    public boolean isKeyguardSecure() {
-        int userId = UserHandle.getCallingUserId();
+    public boolean isKeyguardSecure(int userId) {
+        if (userId != UserHandle.getCallingUserId()
+                && !checkCallingPermission(Manifest.permission.INTERACT_ACROSS_USERS,
+                "isKeyguardSecure")) {
+            throw new SecurityException("Requires INTERACT_ACROSS_USERS permission");
+        }
+
         long origId = Binder.clearCallingIdentity();
         try {
             return mPolicy.isKeyguardSecure(userId);
@@ -4350,6 +4392,7 @@
         mHasWideColorGamutSupport = queryWideColorGamutSupport();
         mHasHdrSupport = queryHdrSupport();
         UiThread.getHandler().post(mSettingsObserver::updateSystemUiSettings);
+        UiThread.getHandler().post(mSettingsObserver::updatePointerLocation);
         IVrManager vrManager = IVrManager.Stub.asInterface(
                 ServiceManager.getService(Context.VR_SERVICE));
         if (vrManager != null) {
@@ -6182,9 +6225,6 @@
                 return;
             } else if ("trace".equals(cmd)) {
                 dumpTraceStatus(pw);
-                synchronized (mGlobalLock) {
-                    mWindowTracing.writeTraceToFile();
-                }
                 return;
             } else {
                 // Dumping a single name?
@@ -7437,13 +7477,26 @@
 
     @Override
     public boolean injectInputAfterTransactionsApplied(InputEvent ev, int mode) {
-        waitForAnimationsToComplete();
-
-        synchronized (mGlobalLock) {
-            mWindowPlacerLocked.performSurfacePlacementIfScheduled();
+        boolean shouldWaitForAnimComplete = false;
+        if (ev instanceof KeyEvent) {
+            KeyEvent keyEvent = (KeyEvent) ev;
+            shouldWaitForAnimComplete = keyEvent.getSource() == InputDevice.SOURCE_MOUSE
+                    || keyEvent.getAction() == KeyEvent.ACTION_DOWN;
+        } else if (ev instanceof MotionEvent) {
+            MotionEvent motionEvent = (MotionEvent) ev;
+            shouldWaitForAnimComplete = motionEvent.getSource() == InputDevice.SOURCE_MOUSE
+                    || motionEvent.getAction() == MotionEvent.ACTION_DOWN;
         }
 
-        new SurfaceControl.Transaction().syncInputWindows().apply(true);
+        if (shouldWaitForAnimComplete) {
+            waitForAnimationsToComplete();
+
+            synchronized (mGlobalLock) {
+                mWindowPlacerLocked.performSurfacePlacementIfScheduled();
+            }
+
+            new SurfaceControl.Transaction().syncInputWindows().apply(true);
+        }
 
         return LocalServices.getService(InputManagerInternal.class).injectInputEvent(ev, mode);
     }
diff --git a/services/core/java/com/android/server/wm/WindowState.java b/services/core/java/com/android/server/wm/WindowState.java
index d5a6f00..ee445d8 100644
--- a/services/core/java/com/android/server/wm/WindowState.java
+++ b/services/core/java/com/android/server/wm/WindowState.java
@@ -826,7 +826,7 @@
         mHaveFrame = true;
 
         final Task task = getTask();
-        final boolean inFullscreenContainer = inFullscreenContainer();
+        final boolean isFullscreenAndFillsDisplay = !inMultiWindowMode() && matchesDisplayBounds();
         final boolean windowsAreFloating = task != null && task.isFloating();
         final DisplayContent dc = getDisplayContent();
 
@@ -845,7 +845,7 @@
         final WindowState imeWin = mWmService.mRoot.getCurrentInputMethodWindow();
         final boolean isImeTarget =
                 imeWin != null && imeWin.isVisibleNow() && isInputMethodTarget();
-        if (inFullscreenContainer || layoutInParentFrame()) {
+        if (isFullscreenAndFillsDisplay || layoutInParentFrame()) {
             // We use the parent frame as the containing frame for fullscreen and child windows
             mWindowFrames.mContainingFrame.set(mWindowFrames.mParentFrame);
             layoutDisplayFrame = mWindowFrames.mDisplayFrame;
@@ -942,29 +942,9 @@
         // Make sure the content and visible frames are inside of the
         // final window frame.
         if (windowsAreFloating && !mWindowFrames.mFrame.isEmpty()) {
-            // For pinned workspace the frame isn't limited in any particular
-            // way since SystemUI controls the bounds. For freeform however
-            // we want to keep things inside the content frame.
-            final Rect limitFrame = task.inPinnedWindowingMode() ? mWindowFrames.mFrame
-                    : mWindowFrames.mContentFrame;
-            // Keep the frame out of the blocked system area, limit it in size to the content area
-            // and make sure that there is always a minimum visible so that the user can drag it
-            // into a usable area..
-            final int height = Math.min(mWindowFrames.mFrame.height(), limitFrame.height());
-            final int width = Math.min(limitFrame.width(), mWindowFrames.mFrame.width());
-            final DisplayMetrics displayMetrics = getDisplayContent().getDisplayMetrics();
-            final int minVisibleHeight = Math.min(height, WindowManagerService.dipToPixel(
-                    MINIMUM_VISIBLE_HEIGHT_IN_DP, displayMetrics));
-            final int minVisibleWidth = Math.min(width, WindowManagerService.dipToPixel(
-                    MINIMUM_VISIBLE_WIDTH_IN_DP, displayMetrics));
-            final int top = Math.max(limitFrame.top,
-                    Math.min( mWindowFrames.mFrame.top, limitFrame.bottom - minVisibleHeight));
-            final int left = Math.max(limitFrame.left + minVisibleWidth - width,
-                    Math.min( mWindowFrames.mFrame.left, limitFrame.right - minVisibleWidth));
-            mWindowFrames.mFrame.set(left, top, left + width, top + height);
             final int visBottom = mWindowFrames.mVisibleFrame.bottom;
             final int contentBottom = mWindowFrames.mContentFrame.bottom;
-            mWindowFrames.mContentFrame.set( mWindowFrames.mFrame);
+            mWindowFrames.mContentFrame.set(mWindowFrames.mFrame);
             mWindowFrames.mVisibleFrame.set(mWindowFrames.mContentFrame);
             mWindowFrames.mStableFrame.set(mWindowFrames.mContentFrame);
             if (isImeTarget && inFreeformWindowingMode()) {
@@ -1003,7 +983,7 @@
                     Math.min(mWindowFrames.mStableFrame.bottom, mWindowFrames.mFrame.bottom));
         }
 
-        if (inFullscreenContainer && !windowsAreFloating) {
+        if (isFullscreenAndFillsDisplay && !windowsAreFloating) {
             // Windows that are not fullscreen can be positioned outside of the display frame,
             // but that is not a reason to provide them with overscan insets.
             InsetUtils.insetsBetweenFrames(layoutContainingFrame, mWindowFrames.mOverscanFrame,
@@ -1016,7 +996,8 @@
             mWindowFrames.calculateDockedDividerInsets(c.getDisplayCutout().getSafeInsets());
         } else {
             getDisplayContent().getBounds(mTmpRect);
-            mWindowFrames.calculateInsets(windowsAreFloating, inFullscreenContainer, mTmpRect);
+            mWindowFrames.calculateInsets(
+                    windowsAreFloating, isFullscreenAndFillsDisplay, mTmpRect);
         }
 
         mWindowFrames.setDisplayCutout(
@@ -1058,9 +1039,7 @@
     // TODO: Look into whether this override is still necessary.
     @Override
     public Rect getBounds() {
-        if (isInMultiWindowMode()) {
-            return getTask().getBounds();
-        } else if (mAppToken != null){
+        if (mAppToken != null) {
             return mAppToken.getBounds();
         } else {
             return super.getBounds();
@@ -1771,6 +1750,10 @@
                 && mWindowFrames.mFrame.bottom >= displayInfo.appHeight;
     }
 
+    private boolean matchesDisplayBounds() {
+        return getDisplayContent().getBounds().equals(getBounds());
+    }
+
     /** Returns true if last applied config was not yet requested by client. */
     boolean isConfigChanged() {
         return !getLastReportedConfiguration().equals(getConfiguration());
@@ -3134,20 +3117,16 @@
         return getDisplayContent().mCurrentFocus == this;
     }
 
-    @Override
-    public boolean isInMultiWindowMode() {
-        final Task task = getTask();
-        return task != null && !task.isFullscreen();
-    }
 
     /** Is this window in a container that takes up the entire screen space? */
-    private boolean inFullscreenContainer() {
-        return mAppToken == null || (mAppToken.matchParentBounds() && !isInMultiWindowMode());
+    private boolean inAppWindowThatMatchesParentBounds() {
+        return mAppToken == null || (mAppToken.matchParentBounds() && !inMultiWindowMode());
     }
 
-    /** @return true when the window is in fullscreen task, but has non-fullscreen bounds set. */
+    /** @return true when the window is in fullscreen mode, but has non-fullscreen bounds set, or
+     *          is transitioning into/out-of fullscreen. */
     boolean isLetterboxedAppWindow() {
-        return !isInMultiWindowMode() && mAppToken != null && !mAppToken.matchParentBounds()
+        return !inMultiWindowMode() && !matchesDisplayBounds()
                 || isLetterboxedForDisplayCutoutLw();
     }
 
@@ -3514,7 +3493,7 @@
         final int pw = containingFrame.width();
         final int ph = containingFrame.height();
         final Task task = getTask();
-        final boolean inNonFullscreenContainer = !inFullscreenContainer();
+        final boolean inNonFullscreenContainer = !inAppWindowThatMatchesParentBounds();
         final boolean noLimits = (mAttrs.flags & FLAG_LAYOUT_NO_LIMITS) != 0;
 
         // We need to fit it to the display if either
diff --git a/services/core/java/com/android/server/wm/WindowStateAnimator.java b/services/core/java/com/android/server/wm/WindowStateAnimator.java
index 969ced4..780d471 100644
--- a/services/core/java/com/android/server/wm/WindowStateAnimator.java
+++ b/services/core/java/com/android/server/wm/WindowStateAnimator.java
@@ -26,7 +26,6 @@
 
 import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_ANIM;
 import static com.android.server.policy.WindowManagerPolicy.FINISH_LAYOUT_REDO_WALLPAPER;
-import static com.android.server.wm.DragResizeMode.DRAG_RESIZE_MODE_FREEFORM;
 import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ANIM;
 import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_LAYOUT_REPEATS;
 import static com.android.server.wm.WindowManagerDebugConfig.DEBUG_ORIENTATION;
@@ -487,6 +486,8 @@
             mSurfaceController = new WindowSurfaceController(mSession.mSurfaceSession,
                     attrs.getTitle().toString(), width, height, format, flags, this,
                     windowType, ownerUid);
+            mSurfaceController.setColorSpaceAgnostic((attrs.privateFlags
+                    & WindowManager.LayoutParams.PRIVATE_FLAG_COLOR_SPACE_AGNOSTIC) != 0);
 
             setOffsetPositionForStackResize(false);
             mSurfaceFormat = format;
@@ -790,16 +791,10 @@
         if (DEBUG_WINDOW_CROP) Slog.d(TAG, "Applying decor to crop win=" + w + " mDecorFrame="
                 + w.getDecorFrame() + " mSystemDecorRect=" + mSystemDecorRect);
 
-        final Task task = w.getTask();
-        final boolean fullscreen = w.fillsDisplay() || (task != null && task.isFullscreen());
-        final boolean isFreeformResizing =
-                w.isDragResizing() && w.getResizeMode() == DRAG_RESIZE_MODE_FREEFORM;
-
         // We use the clip rect as provided by the tranformation for non-fullscreen windows to
         // avoid premature clipping with the system decor rect.
         clipRect.set(mSystemDecorRect);
-        if (DEBUG_WINDOW_CROP) Slog.d(TAG, "win=" + w + " Initial clip rect: " + clipRect
-                + " fullscreen=" + fullscreen);
+        if (DEBUG_WINDOW_CROP) Slog.d(TAG, "win=" + w + " Initial clip rect: " + clipRect);
 
         w.expandForSurfaceInsets(clipRect);
 
@@ -1258,6 +1253,13 @@
         mSurfaceController.setSecure(isSecure);
     }
 
+    void setColorSpaceAgnosticLocked(boolean agnostic) {
+        if (mSurfaceController == null) {
+            return;
+        }
+        mSurfaceController.setColorSpaceAgnostic(agnostic);
+    }
+
     /**
      * Have the surface flinger show a surface, robustly dealing with
      * error conditions.  In particular, if there is not enough memory
diff --git a/services/core/java/com/android/server/wm/WindowSurfaceController.java b/services/core/java/com/android/server/wm/WindowSurfaceController.java
index e796b99..acb9823 100644
--- a/services/core/java/com/android/server/wm/WindowSurfaceController.java
+++ b/services/core/java/com/android/server/wm/WindowSurfaceController.java
@@ -399,6 +399,28 @@
         }
     }
 
+    void setColorSpaceAgnostic(boolean agnostic) {
+        if (SHOW_TRANSACTIONS) {
+            logSurface("isColorSpaceAgnostic=" + agnostic, null);
+        }
+
+        if (mSurfaceControl == null) {
+            return;
+        }
+        if (SHOW_LIGHT_TRANSACTIONS) {
+            Slog.i(TAG, ">>> OPEN TRANSACTION setColorSpaceAgnosticLocked");
+        }
+        mService.openSurfaceTransaction();
+        try {
+            mSurfaceControl.setColorSpaceAgnostic(agnostic);
+        } finally {
+            mService.closeSurfaceTransaction("setColorSpaceAgnostic");
+            if (SHOW_LIGHT_TRANSACTIONS) {
+                Slog.i(TAG, "<<< CLOSE TRANSACTION setColorSpaceAgnosticLocked");
+            }
+        }
+    }
+
     void getContainerRect(Rect rect) {
         mAnimator.getContainerRect(rect);
     }
diff --git a/services/core/java/com/android/server/wm/WindowTraceBuffer.java b/services/core/java/com/android/server/wm/WindowTraceBuffer.java
index a4ee907..8c65884 100644
--- a/services/core/java/com/android/server/wm/WindowTraceBuffer.java
+++ b/services/core/java/com/android/server/wm/WindowTraceBuffer.java
@@ -93,8 +93,8 @@
     void writeTraceToFile(File traceFile) throws IOException {
         synchronized (mBufferLock) {
             traceFile.delete();
-            traceFile.setReadable(true, false);
             try (OutputStream os = new FileOutputStream(traceFile)) {
+                traceFile.setReadable(true /* readable */, false /* ownerOnly */);
                 ProtoOutputStream proto = new ProtoOutputStream();
                 proto.write(MAGIC_NUMBER, MAGIC_NUMBER_VALUE);
                 os.write(proto.getBytes());
diff --git a/services/core/java/com/android/server/wm/WindowTracing.java b/services/core/java/com/android/server/wm/WindowTracing.java
index 48b9340..765e347 100644
--- a/services/core/java/com/android/server/wm/WindowTracing.java
+++ b/services/core/java/com/android/server/wm/WindowTracing.java
@@ -98,9 +98,23 @@
             mBuffer.resetBuffer();
             mEnabled = mEnabledLockFree = true;
         }
+        log("trace.enable");
     }
 
+    /**
+     * Stops the trace and write the current buffer to disk
+     * @param pw Print writer
+     */
     void stopTrace(@Nullable PrintWriter pw) {
+        stopTrace(pw, true /* writeToFile */);
+    }
+
+    /**
+     * Stops the trace
+     * @param pw Print writer
+     * @param writeToFile If the current buffer should be written to disk or not
+     */
+    void stopTrace(@Nullable PrintWriter pw, boolean writeToFile) {
         if (IS_USER) {
             logAndPrintln(pw, "Error: Tracing is not supported on user builds.");
             return;
@@ -113,8 +127,10 @@
                 logAndPrintln(pw, "ERROR: tracing was re-enabled while waiting for flush.");
                 throw new IllegalStateException("tracing enabled while waiting for flush.");
             }
-            writeTraceToFileLocked();
-            logAndPrintln(pw, "Trace written to " + mTraceFile + ".");
+            if (writeToFile) {
+                writeTraceToFileLocked();
+                logAndPrintln(pw, "Trace written to " + mTraceFile + ".");
+            }
         }
     }
 
diff --git a/services/core/jni/Android.bp b/services/core/jni/Android.bp
index 5c7b287..00b815a 100644
--- a/services/core/jni/Android.bp
+++ b/services/core/jni/Android.bp
@@ -38,6 +38,7 @@
         "com_android_server_SerialService.cpp",
         "com_android_server_storage_AppFuseBridge.cpp",
         "com_android_server_SystemServer.cpp",
+        "com_android_server_TestNetworkService.cpp",
         "com_android_server_tv_TvUinputBridge.cpp",
         "com_android_server_tv_TvInputHal.cpp",
         "com_android_server_vr_VrManagerService.cpp",
@@ -108,6 +109,7 @@
         "android.hardware.gnss@1.0",
         "android.hardware.gnss@1.1",
         "android.hardware.gnss@2.0",
+        "android.hardware.gnss.measurement_corrections@1.0",
         "android.hardware.gnss.visibility_control@1.0",
         "android.hardware.input.classifier@1.0",
         "android.hardware.ir@1.0",
diff --git a/services/core/jni/com_android_server_TestNetworkService.cpp b/services/core/jni/com_android_server_TestNetworkService.cpp
new file mode 100644
index 0000000..b90ff23
--- /dev/null
+++ b/services/core/jni/com_android_server_TestNetworkService.cpp
@@ -0,0 +1,107 @@
+/*
+ * 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.
+ */
+
+#define LOG_NDEBUG 0
+
+#define LOG_TAG "TestNetworkServiceJni"
+
+#include <arpa/inet.h>
+#include <errno.h>
+#include <fcntl.h>
+#include <linux/if.h>
+#include <linux/if_tun.h>
+#include <linux/ipv6_route.h>
+#include <linux/route.h>
+#include <netinet/in.h>
+#include <stdio.h>
+#include <string.h>
+#include <sys/ioctl.h>
+#include <sys/socket.h>
+#include <sys/stat.h>
+#include <sys/types.h>
+
+#include <log/log.h>
+
+#include "netutils/ifc.h"
+
+#include "jni.h"
+#include <android-base/stringprintf.h>
+#include <android-base/unique_fd.h>
+#include <nativehelper/JNIHelp.h>
+#include <nativehelper/ScopedUtfChars.h>
+
+namespace android {
+
+//------------------------------------------------------------------------------
+
+static void throwException(JNIEnv* env, int error, const char* action, const char* iface) {
+    const std::string& msg =
+        android::base::StringPrintf("Error %s %s: %s", action, iface, strerror(error));
+
+    jniThrowException(env, "java/lang/IllegalStateException", msg.c_str());
+}
+
+static int createTunInterface(JNIEnv* env, const char* iface) {
+    base::unique_fd tun(open("/dev/tun", O_RDWR | O_NONBLOCK));
+    ifreq ifr{};
+
+    // Allocate interface.
+    ifr.ifr_flags = IFF_TUN | IFF_NO_PI;
+    strlcpy(ifr.ifr_name, iface, IFNAMSIZ);
+    if (ioctl(tun.get(), TUNSETIFF, &ifr)) {
+        throwException(env, errno, "allocating", ifr.ifr_name);
+        return -1;
+    }
+
+    // Activate interface using an unconnected datagram socket.
+    base::unique_fd inet6CtrlSock(socket(AF_INET6, SOCK_DGRAM, 0));
+    ifr.ifr_flags = IFF_UP;
+
+    if (ioctl(inet6CtrlSock.get(), SIOCSIFFLAGS, &ifr)) {
+        throwException(env, errno, "activating", ifr.ifr_name);
+        return -1;
+    }
+
+    return tun.release();
+}
+
+//------------------------------------------------------------------------------
+
+static jint create(JNIEnv* env, jobject /* thiz */, jstring jIface) {
+    ScopedUtfChars iface(env, jIface);
+    if (!iface.c_str()) {
+        jniThrowNullPointerException(env, "iface");
+        return -1;
+    }
+
+    int tun = createTunInterface(env, iface.c_str());
+
+    // Any exceptions will be thrown from the createTunInterface call
+    return tun;
+}
+
+//------------------------------------------------------------------------------
+
+static const JNINativeMethod gMethods[] = {
+    {"jniCreateTun", "(Ljava/lang/String;)I", (void*)create},
+};
+
+int register_android_server_TestNetworkService(JNIEnv* env) {
+    return jniRegisterNativeMethods(env, "com/android/server/TestNetworkService", gMethods,
+                                    NELEM(gMethods));
+}
+
+}; // namespace android
diff --git a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
index d39f20c..a4955f0 100644
--- a/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
+++ b/services/core/jni/com_android_server_location_GnssLocationProvider.cpp
@@ -71,6 +71,7 @@
 static jmethodID method_reportNavigationMessages;
 static jmethodID method_reportLocationBatch;
 static jmethodID method_reportGnssServiceDied;
+static jmethodID method_setMeasurementCorrectionsCapabilities;
 static jmethodID method_correctionsGetLatitudeDegrees;
 static jmethodID method_correctionsGetLongitudeDegrees;
 static jmethodID method_correctionsGetAltitudeMeters;
@@ -158,8 +159,9 @@
 using IAGnssCallback_V1_0 = android::hardware::gnss::V1_0::IAGnssCallback;
 using IAGnssCallback_V2_0 = android::hardware::gnss::V2_0::IAGnssCallback;
 
-using IMeasurementCorrections =
-    android::hardware::gnss::measurement_corrections::V1_0::IMeasurementCorrections;
+using android::hardware::gnss::measurement_corrections::V1_0::IMeasurementCorrections;
+using android::hardware::gnss::measurement_corrections::V1_0::IMeasurementCorrectionsCallback;
+using android::hardware::gnss::measurement_corrections::V1_0::GnssSingleSatCorrectionFlags;
 
 using android::hardware::gnss::visibility_control::V1_0::IGnssVisibilityControl;
 using android::hardware::gnss::visibility_control::V1_0::IGnssVisibilityControlCallback;
@@ -199,9 +201,6 @@
 sp<IGnssMeasurement_V2_0> gnssMeasurementIface_V2_0 = nullptr;
 sp<IGnssNavigationMessage> gnssNavigationMessageIface = nullptr;
 sp<IMeasurementCorrections> gnssCorrectionsIface = nullptr;
-// This boolean is needed to ensure that Gnsss Measurement Corrections related method are only
-// initalized when needed which will be few devices initially
-bool firstGnssMeasurementCorrectionInjected = false;
 sp<IGnssVisibilityControl> gnssVisibilityControlIface = nullptr;
 
 #define WAKE_LOCK_NAME  "GPS"
@@ -335,6 +334,8 @@
 const char *const JavaMethodHelper<double>::signature_ = "(D)V";
 template<>
 const char *const JavaMethodHelper<bool>::signature_ = "(Z)V";
+template<>
+const char *const JavaMethodHelper<jstring>::signature_ = "(Ljava/lang/String;)V";
 
 #define SET(setter, value) object.callSetter("set" # setter, (value))
 
@@ -491,6 +492,10 @@
         SET(ElapsedRealtimeNanos, location.elapsedRealtime.timestampNs);
     }
 
+    if (flags & ElapsedRealtimeFlags::HAS_TIME_UNCERTAINTY_NS) {
+        SET(ElapsedRealtimeUncertaintyNanos, location.elapsedRealtime.timeUncertaintyNs);
+    }
+
     return object.get();
 }
 
@@ -521,7 +526,8 @@
         jdouble altitudeMeters, jfloat speedMetersPerSec, jfloat bearingDegrees,
         jfloat horizontalAccuracyMeters, jfloat verticalAccuracyMeters,
         jfloat speedAccuracyMetersPerSecond, jfloat bearingAccuracyDegrees,
-        jlong timestamp, jint elapsedRealtimeFlags, jlong elapsedRealtimeNanos) {
+        jlong timestamp, jint elapsedRealtimeFlags, jlong elapsedRealtimeNanos,
+        jlong elapsedRealtimeUncertaintyNanos) {
     GnssLocation_V2_0 location;
     location.v1_0 = createGnssLocation_V1_0(
             gnssLocationFlags, latitudeDegrees, longitudeDegrees, altitudeMeters,
@@ -531,6 +537,7 @@
 
     location.elapsedRealtime.flags = static_cast<uint16_t>(elapsedRealtimeFlags);
     location.elapsedRealtime.timestampNs = static_cast<uint64_t>(elapsedRealtimeNanos);
+    location.elapsedRealtime.timeUncertaintyNs = static_cast<uint64_t>(elapsedRealtimeUncertaintyNanos);
 
     return location;
 }
@@ -564,7 +571,9 @@
     template <class T>
     Return<void> gnssLocationCbImpl(const T& location);
 
-    // TODO(b/73306084): Reconsider allocation cost vs threadsafety on these statics
+    Return<void> gnssSetCapabilitesCbImpl(uint32_t capabilities, bool hasSubHalCapabilityFlags);
+
+    // TODO: Reconsider allocation cost vs threadsafety on these statics
     static const char* sNmeaString;
     static size_t sNmeaStringLength;
 };
@@ -686,16 +695,29 @@
 }
 
 Return<void> GnssCallback::gnssSetCapabilitesCb(uint32_t capabilities) {
-    ALOGD("%s: %du\n", __func__, capabilities);
-
-    JNIEnv* env = getJniEnv();
-    env->CallVoidMethod(mCallbacksObj, method_setEngineCapabilities, capabilities);
-    checkAndClearExceptionFromCallback(env, __FUNCTION__);
-    return Void();
+    return GnssCallback::gnssSetCapabilitesCbImpl(capabilities,
+        /* hasSubHalCapabilityFlags = */ true);
 }
 
 Return<void> GnssCallback::gnssSetCapabilitiesCb_2_0(uint32_t capabilities) {
-    return GnssCallback::gnssSetCapabilitesCb(capabilities);
+    return GnssCallback::gnssSetCapabilitesCbImpl(capabilities,
+        /* hasSubHalCapabilityFlags = */ false);
+}
+
+Return <void> GnssCallback::gnssSetCapabilitesCbImpl(uint32_t capabilities,
+        bool hasSubHalCapabilityFlags) {
+    // The IGnssCallback.hal@2.0 removed sub-HAL capability flags from the Capabilities enum
+    // and instead uses the sub-HAL non-null handle returned from IGnss.hal@2.0 to indicate
+    // support. Therefore, the 'hasSubHalCapabilityFlags' parameter is needed to tell if the
+    // 'capabilities' parameter includes the sub-HAL capability flags or not. Old HALs
+    // which explicitly set the sub-HAL capability bits must continue to work.
+    ALOGD("%s: capabilities=%du, hasSubHalCapabilityFlags=%d\n", __func__, capabilities,
+        hasSubHalCapabilityFlags);
+    JNIEnv* env = getJniEnv();
+    env->CallVoidMethod(mCallbacksObj, method_setEngineCapabilities, capabilities,
+            boolToJbool(hasSubHalCapabilityFlags));
+    checkAndClearExceptionFromCallback(env, __FUNCTION__);
+    return Void();
 }
 
 Return<void> GnssCallback::gnssAcquireWakelockCb() {
@@ -1050,9 +1072,10 @@
         <IGnssMeasurementCallback_V2_0::GnssMeasurement>(
         const IGnssMeasurementCallback_V2_0::GnssMeasurement* measurement_V2_0,
         JavaObject& object) {
+    JNIEnv* env = getJniEnv();
     translateSingleGnssMeasurement(&(measurement_V2_0->v1_1), object);
 
-    SET(CodeType, static_cast<int32_t>(measurement_V2_0->codeType));
+    SET(CodeType, env->NewStringUTF(measurement_V2_0->codeType.c_str()));
 
     // Overwrite with v2_0.state since v2_0->v1_1->v1_0.state is deprecated.
     SET(State, static_cast<int32_t>(measurement_V2_0->state));
@@ -1144,6 +1167,22 @@
 }
 
 /*
+ * MeasurementCorrectionsCallback implements callback methods of interface
+ * IMeasurementCorrectionsCallback.hal.
+ */
+struct MeasurementCorrectionsCallback : public IMeasurementCorrectionsCallback {
+    Return<void> setCapabilitiesCb(uint32_t capabilities) override;
+};
+
+Return<void> MeasurementCorrectionsCallback::setCapabilitiesCb(uint32_t capabilities) {
+    ALOGD("%s: %du\n", __func__, capabilities);
+    JNIEnv* env = getJniEnv();
+    env->CallVoidMethod(mCallbacksObj, method_setMeasurementCorrectionsCapabilities, capabilities);
+    checkAndClearExceptionFromCallback(env, __FUNCTION__);
+    return Void();
+}
+
+/*
  * GnssNiCallback implements callback methods required by the IGnssNi interface.
  */
 struct GnssNiCallback : public IGnssNiCallback {
@@ -1425,7 +1464,7 @@
     method_reportSvStatus = env->GetMethodID(clazz, "reportSvStatus", "(I[I[F[F[F[F)V");
     method_reportAGpsStatus = env->GetMethodID(clazz, "reportAGpsStatus", "(II[B)V");
     method_reportNmea = env->GetMethodID(clazz, "reportNmea", "(J)V");
-    method_setEngineCapabilities = env->GetMethodID(clazz, "setEngineCapabilities", "(I)V");
+    method_setEngineCapabilities = env->GetMethodID(clazz, "setEngineCapabilities", "(IZ)V");
     method_setGnssYearOfHardware = env->GetMethodID(clazz, "setGnssYearOfHardware", "(I)V");
     method_setGnssHardwareModelName = env->GetMethodID(clazz, "setGnssHardwareModelName",
             "(Ljava/lang/String;)V");
@@ -1465,6 +1504,54 @@
             "(Ljava/lang/String;BLjava/lang/String;BLjava/lang/String;BZZ)V");
     method_isInEmergencySession = env->GetMethodID(clazz, "isInEmergencySession", "()Z");
 
+    method_setMeasurementCorrectionsCapabilities = env->GetMethodID(clazz,
+            "setMeasurementCorrectionsCapabilities", "(I)V");
+
+    jclass measCorrClass = env->FindClass("android/location/GnssMeasurementCorrections");
+    method_correctionsGetLatitudeDegrees = env->GetMethodID(
+            measCorrClass,"getLatitudeDegrees", "()D");
+    method_correctionsGetLongitudeDegrees = env->GetMethodID(
+            measCorrClass, "getLongitudeDegrees", "()D");
+    method_correctionsGetAltitudeMeters = env->GetMethodID(
+            measCorrClass, "getAltitudeMeters", "()D");
+    method_correctionsGetHorPosUncMeters = env->GetMethodID(
+            measCorrClass, "getHorizontalPositionUncertaintyMeters", "()D");
+    method_correctionsGetVerPosUncMeters = env->GetMethodID(
+            measCorrClass, "getVerticalPositionUncertaintyMeters", "()D");
+    method_correctionsGetToaGpsNanosecondsOfWeek = env->GetMethodID(
+            measCorrClass, "getToaGpsNanosecondsOfWeek", "()J");
+
+    method_correctionsGetSingleSatCorrectionList = env->GetMethodID(
+            measCorrClass, "getSingleSatelliteCorrectionList", "()Ljava/util/List;");
+
+    jclass corrListClass = env->FindClass("java/util/List");
+    method_listSize = env->GetMethodID(corrListClass, "size", "()I");
+    method_correctionListGet = env->GetMethodID(corrListClass, "get", "(I)Ljava/lang/Object;");
+
+    jclass singleSatCorrClass = env->FindClass("android/location/GnssSingleSatCorrection");
+    method_correctionSatFlags = env->GetMethodID(
+            singleSatCorrClass, "getSingleSatelliteCorrectionFlags", "()I");
+    method_correctionSatConstType = env->GetMethodID(
+            singleSatCorrClass, "getConstellationType", "()I");
+    method_correctionSatId= env->GetMethodID(
+            singleSatCorrClass, "getSatelliteId", "()I");
+    method_correctionSatCarrierFreq = env->GetMethodID(
+            singleSatCorrClass, "getCarrierFrequencyHz", "()F");
+    method_correctionSatIsLosProb = env->GetMethodID(
+            singleSatCorrClass,"getProbabilityLineOfSight", "()F");
+    method_correctionSatEpl = env->GetMethodID(
+            singleSatCorrClass, "getExcessPathLengthMeters", "()F");
+    method_correctionSatEplUnc = env->GetMethodID(
+            singleSatCorrClass, "getExcessPathLengthUncertaintyMeters", "()F");
+    method_correctionSatRefPlane = env->GetMethodID(
+            singleSatCorrClass, "getReflectingPlane", "()Landroid/location/GnssReflectingPlane;");
+
+    jclass refPlaneClass = env->FindClass("android/location/GnssReflectingPlane");
+    method_correctionPlaneLatDeg = env->GetMethodID(refPlaneClass, "getLatitudeDegrees", "()D");
+    method_correctionPlaneLngDeg = env->GetMethodID(refPlaneClass, "getLongitudeDegrees", "()D");
+    method_correctionPlaneAltDeg = env->GetMethodID(refPlaneClass, "getAltitudeMeters", "()D");
+    method_correctionPlaneAzimDeg = env->GetMethodID(refPlaneClass, "getAzimuthDegrees", "()D");
+
     /*
      * Save a pointer to JVM.
      */
@@ -1537,7 +1624,7 @@
     }
 
     if (gnssHal_V2_0 != nullptr) {
-        // TODO(b/119638366): getExtensionGnssMeasurement_1_1 from gnssHal_V2_0
+        // TODO: getExtensionGnssMeasurement_1_1 from gnssHal_V2_0
         auto gnssMeasurement = gnssHal_V2_0->getExtensionGnssMeasurement_2_0();
         if (!gnssMeasurement.isOk()) {
             ALOGD("Unable to get a handle to GnssMeasurement_V2_0");
@@ -1741,6 +1828,12 @@
         gnssVisibilityControlIface->setCallback(gnssVisibilityControlCbIface);
     }
 
+    if (gnssCorrectionsIface != nullptr) {
+        sp<IMeasurementCorrectionsCallback> gnssCorrectionsIfaceCbIface =
+                new MeasurementCorrectionsCallback();
+        gnssCorrectionsIface->setCallback(gnssCorrectionsIfaceCbIface);
+    }
+
     return JNI_TRUE;
 }
 
@@ -1887,7 +1980,8 @@
         jfloat bearingAccuracyDegrees,
         jlong timestamp,
         jint elapsedRealtimeFlags,
-        jlong elapsedRealtimeNanos) {
+        jlong elapsedRealtimeNanos,
+        jlong elapsedRealtimeUncertaintyNanos) {
     if (gnssHal_V2_0 != nullptr) {
         GnssLocation_V2_0 location = createGnssLocation_V2_0(
                 gnssLocationFlags,
@@ -1902,7 +1996,8 @@
                 bearingAccuracyDegrees,
                 timestamp,
                 elapsedRealtimeFlags,
-                elapsedRealtimeNanos);
+                elapsedRealtimeNanos,
+                elapsedRealtimeUncertaintyNanos);
         auto result = gnssHal_V2_0->injectBestLocation_2_0(location);
 
         if (!result.isOk() || !result) {
@@ -2098,7 +2193,7 @@
                                                                        jobject /* obj */) {
     jstring result = nullptr;
     /*
-     * TODO(b/33089503) : Create a jobject to represent GnssDebug.
+     * TODO: Create a jobject to represent GnssDebug.
      */
 
     std::stringstream internalState;
@@ -2324,38 +2419,27 @@
     return boolToJbool(result.isOk());
 }
 
-static jboolean android_location_GnssMeasurementsProvider_inject_gnss_measurement_corrections(
+static jboolean
+    android_location_GnssMeasurementCorrectionsProvider_is_measurement_corrections_supported(
+    JNIEnv* env, jclass clazz) {
+    if (gnssCorrectionsIface != nullptr) {
+        return JNI_TRUE;
+    }
+
+    return JNI_FALSE;
+}
+
+static jboolean
+    android_location_GnssMeasurementCorrectionsProvider_inject_gnss_measurement_corrections(
         JNIEnv* env,
         jobject obj /* clazz*/,
         jobject correctionsObj) {
 
     if (gnssCorrectionsIface == nullptr) {
-        ALOGW("Trying to inject GNSS corrections on a chipset that does not support them.");
+        ALOGW("Trying to inject GNSS measurement corrections on a chipset that does not"
+            " support them.");
         return JNI_FALSE;
     }
-    if (firstGnssMeasurementCorrectionInjected == false) {
-        jclass measCorrClass = env->GetObjectClass(correctionsObj);
-        method_correctionsGetLatitudeDegrees = env->GetMethodID(
-            measCorrClass,"getLatitudeDegrees", "()D");
-
-        method_correctionsGetLongitudeDegrees = env->GetMethodID(
-            measCorrClass, "getLongitudeDegrees", "()D");
-
-        method_correctionsGetAltitudeMeters = env->GetMethodID(
-            measCorrClass, "getAltitudeMeters", "()D");
-
-        method_correctionsGetHorPosUncMeters = env->GetMethodID(
-            measCorrClass, "getHorizontalPositionUncertaintyMeters", "()D");
-
-        method_correctionsGetVerPosUncMeters = env->GetMethodID(
-            measCorrClass, "getVerticalPositionUncertaintyMeters", "()D");
-
-        method_correctionsGetToaGpsNanosecondsOfWeek = env->GetMethodID(
-            measCorrClass, "getToaGpsNanosecondsOfWeek", "()J");
-
-        method_correctionsGetSingleSatCorrectionList = env->GetMethodID(
-            measCorrClass, "getSingleSatelliteCorrectionList", "()Ljava.util.List;");
-    }
 
     jdouble latitudeDegreesCorr = env->CallDoubleMethod(
         correctionsObj, method_correctionsGetLatitudeDegrees);
@@ -2372,42 +2456,18 @@
     jobject singleSatCorrectionList = env->CallObjectMethod(correctionsObj,
         method_correctionsGetSingleSatCorrectionList);
 
-    if (firstGnssMeasurementCorrectionInjected == false) {
-        jclass corrListClass = env->GetObjectClass(singleSatCorrectionList);
-        method_listSize = env->GetMethodID(corrListClass, "size", "()I");
-        method_correctionListGet = env->GetMethodID(
-            corrListClass, "get", "(I)Landroid/location/GnssSingleSatCorrection;");
-    }
-
     auto len = (singleSatCorrectionList == nullptr)
         ? 0
         : env->CallIntMethod(singleSatCorrectionList, method_listSize);
+    if (len == 0) {
+        ALOGI("Empty correction list injected....Returning with no HAL injection");
+        return JNI_TRUE;
+    }
     hidl_vec<SingleSatCorrection> list(len);
 
     for (uint16_t i = 0; i < len; ++i) {
         jobject singleSatCorrectionObj = env->CallObjectMethod(
-        singleSatCorrectionList, method_correctionListGet, i);
-
-        if (firstGnssMeasurementCorrectionInjected == false) {
-            jclass singleSatCorrClass = env->GetObjectClass(singleSatCorrectionObj);
-            method_correctionSatFlags = env->GetMethodID(
-                singleSatCorrClass, "getSingleSatelliteCorrectionFlags", "()I");
-            method_correctionSatConstType = env->GetMethodID(
-                singleSatCorrClass, "getConstellationType", "()I");
-            method_correctionSatId= env->GetMethodID(
-                singleSatCorrClass, "getSatelliteId", "()I");
-            method_correctionSatCarrierFreq = env->GetMethodID(
-                singleSatCorrClass, "getCarrierFrequencyHz", "()F");
-            method_correctionSatIsLosProb = env->GetMethodID(
-                singleSatCorrClass,"getProbabilityLineOfSight", "()F");
-            method_correctionSatEpl = env->GetMethodID(
-                singleSatCorrClass, "getExcessPathLengthMeters", "()F");
-            method_correctionSatEplUnc = env->GetMethodID(
-                singleSatCorrClass, "getExcessPathLengthUncertaintyMeters", "()F");
-            method_correctionSatRefPlane = env->GetMethodID(
-                singleSatCorrClass, "getReflectingPlane",
-                "()Landroid/location/GnssReflectingPlane;");
-        }
+            singleSatCorrectionList, method_correctionListGet, i);
 
         jint correctionFlags =
             env->CallIntMethod(singleSatCorrectionObj, method_correctionSatFlags);
@@ -2423,38 +2483,34 @@
             env->CallFloatMethod(singleSatCorrectionObj, method_correctionSatEpl);
         jfloat eplUncMeters = env->CallFloatMethod(singleSatCorrectionObj,
             method_correctionSatEplUnc);
-        jobject reflectingPlaneObj = env->CallObjectMethod(
-            singleSatCorrectionObj, method_correctionSatRefPlane);
-
-        if (firstGnssMeasurementCorrectionInjected == false) {
-            jclass refPlaneClass = env->GetObjectClass(reflectingPlaneObj);
-            method_correctionPlaneLatDeg = env->GetMethodID(
-                refPlaneClass, "getLatitudeDegrees", "()D");
-            method_correctionPlaneLngDeg = env->GetMethodID(
-                refPlaneClass, "getLongitudeDegrees", "()D");
-            method_correctionPlaneAltDeg = env->GetMethodID(
-                refPlaneClass, "getAltitudeMeters", "()D");
-            method_correctionPlaneAzimDeg = env->GetMethodID(
-                refPlaneClass, "getAzimuthDegrees", "()D");
+        uint16_t corrFlags = static_cast<uint16_t>(correctionFlags);
+        jobject reflectingPlaneObj;
+        bool has_ref_plane = (corrFlags & GnssSingleSatCorrectionFlags::HAS_REFLECTING_PLANE) != 0;
+        if (has_ref_plane) {
+            reflectingPlaneObj = env->CallObjectMethod(
+                singleSatCorrectionObj, method_correctionSatRefPlane);
         }
 
-        jdouble latitudeDegreesRefPlane = env->CallDoubleMethod(
-            reflectingPlaneObj, method_correctionPlaneLatDeg);
-        jdouble longitudeDegreesRefPlane = env->CallDoubleMethod(
-            reflectingPlaneObj, method_correctionPlaneLngDeg);
-        jdouble altitudeDegreesRefPlane = env->CallDoubleMethod(
-            reflectingPlaneObj, method_correctionPlaneAltDeg);
-        jdouble azimuthDegreeRefPlane = env->CallDoubleMethod(
-            reflectingPlaneObj, method_correctionPlaneAzimDeg);
-        ReflectingPlane reflectingPlane = {
-            .latitudeDegrees = latitudeDegreesRefPlane,
-            .longitudeDegrees = longitudeDegreesRefPlane,
-            .altitudeMeters = altitudeDegreesRefPlane,
-            .azimuthDegrees = azimuthDegreeRefPlane,
-        };
+        ReflectingPlane reflectingPlane;
+        if (has_ref_plane) {
+            jdouble latitudeDegreesRefPlane = env->CallDoubleMethod(
+                reflectingPlaneObj, method_correctionPlaneLatDeg);
+            jdouble longitudeDegreesRefPlane = env->CallDoubleMethod(
+                reflectingPlaneObj, method_correctionPlaneLngDeg);
+            jdouble altitudeDegreesRefPlane = env->CallDoubleMethod(
+                reflectingPlaneObj, method_correctionPlaneAltDeg);
+            jdouble azimuthDegreeRefPlane = env->CallDoubleMethod(
+                reflectingPlaneObj, method_correctionPlaneAzimDeg);
+            reflectingPlane = {
+                .latitudeDegrees = latitudeDegreesRefPlane,
+                .longitudeDegrees = longitudeDegreesRefPlane,
+                .altitudeMeters = altitudeDegreesRefPlane,
+                .azimuthDegrees = azimuthDegreeRefPlane,
+            };
+        }
 
         SingleSatCorrection singleSatCorrection = {
-            .singleSatCorrectionFlags = static_cast<uint16_t>(correctionFlags),
+            .singleSatCorrectionFlags = corrFlags,
             .constellation = static_cast<GnssConstellationType>(constType),
             .svid = static_cast<uint16_t>(satId),
             .carrierFrequencyHz = carrierFreqHz,
@@ -2476,7 +2532,6 @@
     };
 
     gnssCorrectionsIface->setCorrections(measurementCorrections);
-    firstGnssMeasurementCorrectionInjected = true;
     return JNI_TRUE;
 }
 
@@ -2813,7 +2868,7 @@
             android_location_GnssLocationProvider_read_nmea)},
     {"native_inject_time", "(JJI)V", reinterpret_cast<void *>(
             android_location_GnssLocationProvider_inject_time)},
-    {"native_inject_best_location", "(IDDDFFFFFFJIJ)V", reinterpret_cast<void *>(
+    {"native_inject_best_location", "(IDDDFFFFFFJIJJ)V", reinterpret_cast<void *>(
             android_location_GnssLocationProvider_inject_best_location)},
     {"native_inject_location", "(DDF)V", reinterpret_cast<void *>(
             android_location_GnssLocationProvider_inject_location)},
@@ -2878,18 +2933,25 @@
 static const JNINativeMethod sMeasurementMethods[] = {
     /* name, signature, funcPtr */
     {"native_is_measurement_supported", "()Z",
-     reinterpret_cast<void*>(
-         android_location_GnssMeasurementsProvider_is_measurement_supported)},
+            reinterpret_cast<void*>(
+            android_location_GnssMeasurementsProvider_is_measurement_supported)},
     {"native_start_measurement_collection", "(Z)Z",
-     reinterpret_cast<void*>(
-         android_location_GnssMeasurementsProvider_start_measurement_collection)},
+            reinterpret_cast<void*>(
+            android_location_GnssMeasurementsProvider_start_measurement_collection)},
     {"native_stop_measurement_collection", "()Z",
-     reinterpret_cast<void*>(
-         android_location_GnssMeasurementsProvider_stop_measurement_collection)},
+            reinterpret_cast<void*>(
+            android_location_GnssMeasurementsProvider_stop_measurement_collection)},
+};
+
+static const JNINativeMethod sMeasurementCorrectionsMethods[] = {
+    /* name, signature, funcPtr */
+    {"native_is_measurement_corrections_supported", "()Z",
+            reinterpret_cast<void*>(
+            android_location_GnssMeasurementCorrectionsProvider_is_measurement_corrections_supported)},
     {"native_inject_gnss_measurement_corrections",
-     "(Landroid/location/GnssMeasurementCorrections;)Z",
-     reinterpret_cast<void*>(
-         android_location_GnssMeasurementsProvider_inject_gnss_measurement_corrections)},
+            "(Landroid/location/GnssMeasurementCorrections;)Z",
+            reinterpret_cast<void*>(
+            android_location_GnssMeasurementCorrectionsProvider_inject_gnss_measurement_corrections)},
 };
 
 static const JNINativeMethod sNavigationMessageMethods[] = {
@@ -2988,6 +3050,11 @@
             NELEM(sMeasurementMethods));
     jniRegisterNativeMethods(
             env,
+            "com/android/server/location/GnssMeasurementCorrectionsProvider",
+            sMeasurementCorrectionsMethods,
+            NELEM(sMeasurementCorrectionsMethods));
+    jniRegisterNativeMethods(
+            env,
             "com/android/server/location/GnssNavigationMessageProvider",
             sNavigationMessageMethods,
             NELEM(sNavigationMessageMethods));
diff --git a/services/core/jni/onload.cpp b/services/core/jni/onload.cpp
index 6e31aed..5ffed03 100644
--- a/services/core/jni/onload.cpp
+++ b/services/core/jni/onload.cpp
@@ -41,6 +41,7 @@
 int register_android_server_location_GnssLocationProvider(JNIEnv* env);
 int register_android_server_connectivity_Vpn(JNIEnv* env);
 int register_android_server_connectivity_tethering_OffloadHardwareInterface(JNIEnv*);
+int register_android_server_TestNetworkService(JNIEnv* env);
 int register_android_server_devicepolicy_CryptoTestHelper(JNIEnv*);
 int register_android_server_hdmi_HdmiCecController(JNIEnv* env);
 int register_android_server_tv_TvUinputBridge(JNIEnv* env);
@@ -85,6 +86,7 @@
     register_android_server_location_GnssLocationProvider(env);
     register_android_server_connectivity_Vpn(env);
     register_android_server_connectivity_tethering_OffloadHardwareInterface(env);
+    register_android_server_TestNetworkService(env);
     register_android_server_devicepolicy_CryptoTestHelper(env);
     register_android_server_ConsumerIrService(env);
     register_android_server_BatteryStatsService(env);
diff --git a/services/core/xsd/Android.bp b/services/core/xsd/Android.bp
new file mode 100644
index 0000000..5e1ea89
--- /dev/null
+++ b/services/core/xsd/Android.bp
@@ -0,0 +1,6 @@
+xsd_config {
+    name: "default-permissions",
+    srcs: ["default-permissions.xsd"],
+    api_dir: "schema",
+    package_name: "com.android.server.pm.permission",
+}
diff --git a/services/core/xsd/default-permissions.xsd b/services/core/xsd/default-permissions.xsd
new file mode 100644
index 0000000..d800a26
--- /dev/null
+++ b/services/core/xsd/default-permissions.xsd
@@ -0,0 +1,40 @@
+<?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.
+-->
+<!-- TODO: define a targetNamespace. Note that it will break retrocompatibility -->
+<xs:schema version="2.0"
+           elementFormDefault="qualified"
+           attributeFormDefault="unqualified"
+           xmlns:xs="http://www.w3.org/2001/XMLSchema">
+    <xs:element name="exceptions">
+        <xs:complexType>
+            <xs:sequence>
+                <xs:element name="exception" type="exception" maxOccurs="unbounded"/>
+            </xs:sequence>
+        </xs:complexType>
+    </xs:element>
+    <xs:complexType name="exception">
+        <xs:sequence>
+            <xs:element name="permission" type="permission"/>
+        </xs:sequence>
+        <xs:attribute name="package" type="xs:string"/>
+        <xs:attribute name="sha256-cert-digest" type="xs:string"/>
+        <xs:attribute name="brand" type="xs:string"/>
+    </xs:complexType>
+    <xs:complexType name="permission">
+        <xs:attribute name="name" type="xs:string"/>
+        <xs:attribute name="fixed" type="xs:boolean"/>
+    </xs:complexType>
+</xs:schema>
diff --git a/services/core/xsd/schema/README.md b/services/core/xsd/schema/README.md
new file mode 100644
index 0000000..f52d93d
--- /dev/null
+++ b/services/core/xsd/schema/README.md
@@ -0,0 +1 @@
+Please see the [README](https://android.googlesource.com/platform/system/tools/xsdc/+/refs/heads/master/README.md) for details regarding the Configfile as API.
diff --git a/services/core/xsd/schema/current.txt b/services/core/xsd/schema/current.txt
new file mode 100644
index 0000000..4e67e5c
--- /dev/null
+++ b/services/core/xsd/schema/current.txt
@@ -0,0 +1,37 @@
+// Signature format: 2.0
+package com.android.server.pm.permission {
+
+  public class Exception {
+    ctor public Exception();
+    method public String getBrand();
+    method public com.android.server.pm.permission.Permission getPermission();
+    method public String getSha256CertDigest();
+    method public String get_package();
+    method public void setBrand(String);
+    method public void setPermission(com.android.server.pm.permission.Permission);
+    method public void setSha256CertDigest(String);
+    method public void set_package(String);
+  }
+
+  public class Exceptions {
+    ctor public Exceptions();
+    method public java.util.List<com.android.server.pm.permission.Exception> getException();
+  }
+
+  public class Permission {
+    ctor public Permission();
+    method public boolean getFixed();
+    method public String getName();
+    method public void setFixed(boolean);
+    method public void setName(String);
+  }
+
+  public class XmlParser {
+    ctor public XmlParser();
+    method public static com.android.server.pm.permission.Exceptions read(java.io.InputStream) throws javax.xml.datatype.DatatypeConfigurationException, java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public static String readText(org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+    method public static void skip(org.xmlpull.v1.XmlPullParser) throws java.io.IOException, org.xmlpull.v1.XmlPullParserException;
+  }
+
+}
+
diff --git a/services/core/xsd/schema/last_current.txt b/services/core/xsd/schema/last_current.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/core/xsd/schema/last_current.txt
diff --git a/services/core/xsd/schema/last_removed.txt b/services/core/xsd/schema/last_removed.txt
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/services/core/xsd/schema/last_removed.txt
diff --git a/services/core/xsd/schema/removed.txt b/services/core/xsd/schema/removed.txt
new file mode 100644
index 0000000..d802177
--- /dev/null
+++ b/services/core/xsd/schema/removed.txt
@@ -0,0 +1 @@
+// Signature format: 2.0
diff --git a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
index 36251f5..f6de82d 100644
--- a/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
+++ b/services/devicepolicy/java/com/android/server/devicepolicy/DevicePolicyManagerService.java
@@ -18,7 +18,7 @@
 
 import static android.Manifest.permission.BIND_DEVICE_ADMIN;
 import static android.Manifest.permission.MANAGE_CA_CERTIFICATES;
-import static android.Manifest.permission.REQUEST_SCREEN_LOCK_COMPLEXITY;
+import static android.Manifest.permission.REQUEST_PASSWORD_COMPLEXITY;
 import static android.app.ActivityManager.LOCK_TASK_MODE_NONE;
 import static android.app.admin.DeviceAdminReceiver.EXTRA_TRANSFER_OWNERSHIP_ADMIN_EXTRAS_BUNDLE;
 import static android.app.admin.DevicePolicyManager.ACTION_PROVISION_MANAGED_USER;
@@ -65,7 +65,7 @@
 import static android.app.admin.DevicePolicyManager.PRIVATE_DNS_MODE_PROVIDER_HOSTNAME;
 import static android.app.admin.DevicePolicyManager.PRIVATE_DNS_MODE_UNKNOWN;
 import static android.app.admin.DevicePolicyManager.PRIVATE_DNS_SET_ERROR_FAILURE_SETTING;
-import static android.app.admin.DevicePolicyManager.PRIVATE_DNS_SET_SUCCESS;
+import static android.app.admin.DevicePolicyManager.PRIVATE_DNS_SET_NO_ERROR;
 import static android.app.admin.DevicePolicyManager.PROFILE_KEYGUARD_FEATURES_AFFECT_OWNER;
 import static android.app.admin.DevicePolicyManager.WIPE_EUICC;
 import static android.app.admin.DevicePolicyManager.WIPE_EXTERNAL_STORAGE;
@@ -4795,8 +4795,8 @@
         final int callingUserId = mInjector.userHandleGetCallingUserId();
         enforceUserUnlocked(callingUserId);
         mContext.enforceCallingOrSelfPermission(
-                REQUEST_SCREEN_LOCK_COMPLEXITY,
-                "Must have " + REQUEST_SCREEN_LOCK_COMPLEXITY + " permission.");
+                REQUEST_PASSWORD_COMPLEXITY,
+                "Must have " + REQUEST_PASSWORD_COMPLEXITY + " permission.");
 
         synchronized (getLockObject()) {
             int targetUserId = getCredentialOwner(callingUserId, /* parent= */ false);
@@ -5912,10 +5912,13 @@
         delegateReceiver = resolveDelegateReceiver(DELEGATION_CERT_SELECTION,
                 DeviceAdminReceiver.ACTION_CHOOSE_PRIVATE_KEY_ALIAS, caller.getIdentifier());
 
+        final boolean isDelegate;
         if (delegateReceiver != null) {
             intent.setComponent(delegateReceiver);
+            isDelegate = true;
         } else {
             intent.setComponent(aliasChooser);
+            isDelegate = false;
         }
 
         final long id = mInjector.binderClearCallingIdentity();
@@ -5927,11 +5930,10 @@
                     sendPrivateKeyAliasResponse(chosenAlias, response);
                 }
             }, null, Activity.RESULT_OK, null, null);
-            final String adminPackageName =
-                    (aliasChooser != null ? aliasChooser.getPackageName() : null);
             DevicePolicyEventLogger
                     .createEvent(DevicePolicyEnums.CHOOSE_PRIVATE_KEY_ALIAS)
-                    .setAdmin(adminPackageName)
+                    .setAdmin(intent.getComponent())
+                    .setBoolean(isDelegate)
                     .write();
         } finally {
             mInjector.binderRestoreCallingIdentity(id);
@@ -13091,6 +13093,14 @@
             saveSettingsLocked(mInjector.userHandleGetCallingUserId());
 
             setNetworkLoggingActiveInternal(enabled);
+
+            final boolean isDelegate = (admin == null);
+            DevicePolicyEventLogger
+                    .createEvent(DevicePolicyEnums.SET_NETWORK_LOGGING_ENABLED)
+                    .setAdmin(packageName)
+                    .setBoolean(isDelegate)
+                    .setInt(enabled ? 1 : 0)
+                    .write();
         }
     }
 
@@ -13222,6 +13232,12 @@
                     || !isNetworkLoggingEnabledInternalLocked()) {
                 return null;
             }
+            final boolean isDelegate = (admin == null);
+            DevicePolicyEventLogger
+                    .createEvent(DevicePolicyEnums.RETRIEVE_NETWORK_LOGS)
+                    .setAdmin(packageName)
+                    .setBoolean(isDelegate)
+                    .write();
 
             final long currentTime = System.currentTimeMillis();
             DevicePolicyData policyData = getUserData(UserHandle.USER_SYSTEM);
@@ -13352,8 +13368,8 @@
                 if (policy.mPasswordTokenHandle != 0) {
                     mLockPatternUtils.removeEscrowToken(policy.mPasswordTokenHandle, userHandle);
                 }
-
-                policy.mPasswordTokenHandle = mLockPatternUtils.addEscrowToken(token, userHandle);
+                policy.mPasswordTokenHandle = mLockPatternUtils.addEscrowToken(token,
+                        userHandle, /*EscrowTokenStateChangeCallback*/ null);
                 saveSettingsLocked(userHandle);
                 return policy.mPasswordTokenHandle != 0;
             } finally {
@@ -14010,7 +14026,7 @@
                             "Host provided for opportunistic mode, but is not needed.");
                 }
                 putPrivateDnsSettings(ConnectivityManager.PRIVATE_DNS_MODE_OPPORTUNISTIC, null);
-                return PRIVATE_DNS_SET_SUCCESS;
+                return PRIVATE_DNS_SET_NO_ERROR;
             case PRIVATE_DNS_MODE_PROVIDER_HOSTNAME:
                 if (TextUtils.isEmpty(privateDnsHost)
                         || !NetworkUtils.isWeaklyValidatedHostname(privateDnsHost)) {
@@ -14023,7 +14039,7 @@
                 putPrivateDnsSettings(
                         ConnectivityManager.PRIVATE_DNS_MODE_PROVIDER_HOSTNAME,
                         privateDnsHost);
-                return PRIVATE_DNS_SET_SUCCESS;
+                return PRIVATE_DNS_SET_NO_ERROR;
             default:
                 throw new IllegalArgumentException(
                         String.format("Provided mode, %d, is not a valid mode.", mode));
diff --git a/services/ipmemorystore/Android.bp b/services/ipmemorystore/Android.bp
deleted file mode 100644
index 013cf56..0000000
--- a/services/ipmemorystore/Android.bp
+++ /dev/null
@@ -1,4 +0,0 @@
-java_library_static {
-    name: "services.ipmemorystore",
-    srcs: ["java/**/*.java"],
-}
diff --git a/services/java/com/android/server/SystemServer.java b/services/java/com/android/server/SystemServer.java
index a19d5d5..39af565 100644
--- a/services/java/com/android/server/SystemServer.java
+++ b/services/java/com/android/server/SystemServer.java
@@ -87,6 +87,7 @@
 import com.android.server.camera.CameraServiceProxy;
 import com.android.server.clipboard.ClipboardService;
 import com.android.server.connectivity.IpConnectivityMetrics;
+import com.android.server.contentcapture.ContentCaptureManagerInternal;
 import com.android.server.coverage.CoverageService;
 import com.android.server.devicepolicy.DevicePolicyManagerService;
 import com.android.server.display.DisplayManagerService;
@@ -107,7 +108,6 @@
 import com.android.server.media.projection.MediaProjectionManagerService;
 import com.android.server.net.NetworkPolicyManagerService;
 import com.android.server.net.NetworkStatsService;
-import com.android.server.net.ipmemorystore.IpMemoryStoreService;
 import com.android.server.net.watchlist.NetworkWatchlistService;
 import com.android.server.notification.NotificationManagerService;
 import com.android.server.oemlock.OemLockService;
@@ -1246,6 +1246,14 @@
             mSystemServiceManager.startService(ClipboardService.class);
             traceEnd();
 
+            traceBeginAndSlog("InitNetworkStackClient");
+            try {
+                NetworkStackClient.getInstance().init();
+            } catch (Throwable e) {
+                reportWtf("initializing NetworkStackClient", e);
+            }
+            traceEnd();
+
             traceBeginAndSlog("StartNetworkManagementService");
             try {
                 networkManagement = NetworkManagementService.create(context);
@@ -1255,14 +1263,6 @@
             }
             traceEnd();
 
-            traceBeginAndSlog("StartIpMemoryStoreService");
-            try {
-                ServiceManager.addService(Context.IP_MEMORY_STORE_SERVICE,
-                        new IpMemoryStoreService(context));
-            } catch (Throwable e) {
-                reportWtf("starting IP Memory Store Service", e);
-            }
-            traceEnd();
 
             traceBeginAndSlog("StartIpSecService");
             try {
@@ -1372,14 +1372,6 @@
             }
             traceEnd();
 
-            traceBeginAndSlog("StartNetworkStack");
-            try {
-                NetworkStackClient.getInstance().start(context);
-            } catch (Throwable e) {
-                reportWtf("starting Network Stack", e);
-            }
-            traceEnd();
-
             traceBeginAndSlog("StartNsdService");
             try {
                 serviceDiscovery = NsdService.create(context);
@@ -1881,19 +1873,6 @@
         mSystemServiceManager.startService(IncidentCompanionService.class);
         traceEnd();
 
-        if (safeMode) {
-            traceBeginAndSlog("EnterSafeModeAndDisableJitCompilation");
-            mActivityManagerService.enterSafeMode();
-            // Disable the JIT for the system_server process
-            VMRuntime.getRuntime().disableJitCompilation();
-            traceEnd();
-        } else {
-            // Enable the JIT for the system_server process
-            traceBeginAndSlog("StartJitCompilation");
-            VMRuntime.getRuntime().startJitCompilation();
-            traceEnd();
-        }
-
         // MMS service broker
         traceBeginAndSlog("StartMmsService");
         mmsService = mSystemServiceManager.startService(MmsServiceBroker.class);
@@ -2155,6 +2134,14 @@
                     SystemService.PHASE_THIRD_PARTY_APPS_CAN_START);
             traceEnd();
 
+            traceBeginAndSlog("StartNetworkStack");
+            try {
+                NetworkStackClient.getInstance().start(context);
+            } catch (Throwable e) {
+                reportWtf("starting Network Stack", e);
+            }
+            traceEnd();
+
             traceBeginAndSlog("MakeLocationServiceReady");
             try {
                 if (locationF != null) {
@@ -2263,6 +2250,13 @@
 
         traceBeginAndSlog("StartContentCaptureService");
         mSystemServiceManager.startService(CONTENT_CAPTURE_MANAGER_SERVICE_CLASS);
+
+        ContentCaptureManagerInternal ccmi =
+                LocalServices.getService(ContentCaptureManagerInternal.class);
+        if (ccmi != null && mActivityManagerService != null) {
+            mActivityManagerService.setContentCaptureManager(ccmi);
+        }
+
         traceEnd();
     }
 
diff --git a/services/net/Android.bp b/services/net/Android.bp
index 8ad4d76..486d15d 100644
--- a/services/net/Android.bp
+++ b/services/net/Android.bp
@@ -7,6 +7,19 @@
     ]
 }
 
+java_library_static {
+    name: "ipmemorystore-client",
+    sdk_version: "system_current",
+    srcs: [
+        ":framework-annotations",
+        "java/android/net/IpMemoryStoreClient.java",
+        "java/android/net/ipmemorystore/**.java",
+    ],
+    static_libs: [
+        "ipmemorystore-aidl-interfaces-java",
+    ]
+}
+
 filegroup {
     name: "services-networkstack-shared-srcs",
     srcs: [
diff --git a/services/net/OWNERS b/services/net/OWNERS
index 7311eee..d3836d4 100644
--- a/services/net/OWNERS
+++ b/services/net/OWNERS
@@ -1,8 +1,8 @@
 set noparent
 
 codewiz@google.com
-ek@google.com
 jchalard@google.com
+junyulai@google.com
 lorenzo@google.com
 reminv@google.com
 satk@google.com
diff --git a/services/net/java/android/net/IpMemoryStore.java b/services/net/java/android/net/IpMemoryStore.java
new file mode 100644
index 0000000..9248299
--- /dev/null
+++ b/services/net/java/android/net/IpMemoryStore.java
@@ -0,0 +1,62 @@
+/*
+ * 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 android.net;
+
+import android.annotation.NonNull;
+import android.content.Context;
+
+import com.android.internal.annotations.VisibleForTesting;
+
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.ExecutionException;
+
+/**
+ * Manager class used to communicate with the ip memory store service in the network stack,
+ * which is running in a separate module.
+ * @hide
+*/
+public class IpMemoryStore extends IpMemoryStoreClient {
+    private final CompletableFuture<IIpMemoryStore> mService;
+
+    public IpMemoryStore(@NonNull final Context context) {
+        super(context);
+        mService = new CompletableFuture<>();
+        getNetworkStackClient().fetchIpMemoryStore(
+                new IIpMemoryStoreCallbacks.Stub() {
+                    @Override
+                    public void onIpMemoryStoreFetched(final IIpMemoryStore memoryStore) {
+                        mService.complete(memoryStore);
+                    }
+                });
+    }
+
+    @Override
+    protected IIpMemoryStore getService() throws InterruptedException, ExecutionException {
+        return mService.get();
+    }
+
+    @VisibleForTesting
+    protected NetworkStackClient getNetworkStackClient() {
+        return NetworkStackClient.getInstance();
+    }
+
+    /** Gets an instance of the memory store */
+    @NonNull
+    public static IpMemoryStore getMemoryStore(final Context context) {
+        return new IpMemoryStore(context);
+    }
+}
diff --git a/core/java/android/net/IpMemoryStore.java b/services/net/java/android/net/IpMemoryStoreClient.java
similarity index 68%
rename from core/java/android/net/IpMemoryStore.java
rename to services/net/java/android/net/IpMemoryStoreClient.java
index b35f097..2f4fdbd 100644
--- a/core/java/android/net/IpMemoryStore.java
+++ b/services/net/java/android/net/IpMemoryStoreClient.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2018 The Android Open Source Project
+ * 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.
@@ -18,7 +18,6 @@
 
 import android.annotation.NonNull;
 import android.annotation.Nullable;
-import android.annotation.SystemService;
 import android.content.Context;
 import android.net.ipmemorystore.Blob;
 import android.net.ipmemorystore.IOnBlobRetrievedListener;
@@ -27,23 +26,34 @@
 import android.net.ipmemorystore.IOnSameNetworkResponseListener;
 import android.net.ipmemorystore.IOnStatusListener;
 import android.net.ipmemorystore.NetworkAttributes;
+import android.net.ipmemorystore.Status;
+import android.net.ipmemorystore.StatusParcelable;
 import android.os.RemoteException;
+import android.util.Log;
 
-import com.android.internal.util.Preconditions;
+import java.util.concurrent.ExecutionException;
 
 /**
- * The interface for system components to access the IP memory store.
- * @see com.android.server.net.ipmemorystore.IpMemoryStoreService
+ * service used to communicate with the ip memory store service in network stack,
+ * which is running in a separate module.
  * @hide
  */
-@SystemService(Context.IP_MEMORY_STORE_SERVICE)
-public class IpMemoryStore {
-    @NonNull final Context mContext;
-    @NonNull final IIpMemoryStore mService;
+public abstract class IpMemoryStoreClient {
+    private static final String TAG = IpMemoryStoreClient.class.getSimpleName();
+    private final Context mContext;
 
-    public IpMemoryStore(@NonNull final Context context, @NonNull final IIpMemoryStore service) {
-        mContext = Preconditions.checkNotNull(context, "missing context");
-        mService = Preconditions.checkNotNull(service, "missing IIpMemoryStore");
+    public IpMemoryStoreClient(@NonNull final Context context) {
+        if (context == null) throw new IllegalArgumentException("missing context");
+        mContext = context;
+    }
+
+    @NonNull
+    protected abstract IIpMemoryStore getService() throws InterruptedException, ExecutionException;
+
+    protected StatusParcelable internalErrorStatus() {
+        final StatusParcelable error = new StatusParcelable();
+        error.resultCode = Status.ERROR_UNKNOWN;
+        return error;
     }
 
     /**
@@ -66,9 +76,13 @@
             @NonNull final NetworkAttributes attributes,
             @Nullable final IOnStatusListener listener) {
         try {
-            mService.storeNetworkAttributes(l2Key, attributes.toParcelable(), listener);
+            try {
+                getService().storeNetworkAttributes(l2Key, attributes.toParcelable(), listener);
+            } catch (InterruptedException | ExecutionException m) {
+                listener.onComplete(internalErrorStatus());
+            }
         } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
+            Log.e(TAG, "Error storing network attributes", e);
         }
     }
 
@@ -87,9 +101,13 @@
             @NonNull final String name, @NonNull final Blob data,
             @Nullable final IOnStatusListener listener) {
         try {
-            mService.storeBlob(l2Key, clientId, name, data, listener);
+            try {
+                getService().storeBlob(l2Key, clientId, name, data, listener);
+            } catch (InterruptedException | ExecutionException m) {
+                listener.onComplete(internalErrorStatus());
+            }
         } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
+            Log.e(TAG, "Error storing blob", e);
         }
     }
 
@@ -110,9 +128,13 @@
     public void findL2Key(@NonNull final NetworkAttributes attributes,
             @NonNull final IOnL2KeyResponseListener listener) {
         try {
-            mService.findL2Key(attributes.toParcelable(), listener);
+            try {
+                getService().findL2Key(attributes.toParcelable(), listener);
+            } catch (InterruptedException | ExecutionException m) {
+                listener.onL2KeyResponse(internalErrorStatus(), null);
+            }
         } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
+            Log.e(TAG, "Error finding L2 Key", e);
         }
     }
 
@@ -128,9 +150,13 @@
     public void isSameNetwork(@NonNull final String l2Key1, @NonNull final String l2Key2,
             @NonNull final IOnSameNetworkResponseListener listener) {
         try {
-            mService.isSameNetwork(l2Key1, l2Key2, listener);
+            try {
+                getService().isSameNetwork(l2Key1, l2Key2, listener);
+            } catch (InterruptedException | ExecutionException m) {
+                listener.onSameNetworkResponse(internalErrorStatus(), null);
+            }
         } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
+            Log.e(TAG, "Error checking for network sameness", e);
         }
     }
 
@@ -146,9 +172,13 @@
     public void retrieveNetworkAttributes(@NonNull final String l2Key,
             @NonNull final IOnNetworkAttributesRetrieved listener) {
         try {
-            mService.retrieveNetworkAttributes(l2Key, listener);
+            try {
+                getService().retrieveNetworkAttributes(l2Key, listener);
+            } catch (InterruptedException | ExecutionException m) {
+                listener.onNetworkAttributesRetrieved(internalErrorStatus(), null, null);
+            }
         } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
+            Log.e(TAG, "Error retrieving network attributes", e);
         }
     }
 
@@ -166,9 +196,13 @@
     public void retrieveBlob(@NonNull final String l2Key, @NonNull final String clientId,
             @NonNull final String name, @NonNull final IOnBlobRetrievedListener listener) {
         try {
-            mService.retrieveBlob(l2Key, clientId, name, listener);
+            try {
+                getService().retrieveBlob(l2Key, clientId, name, listener);
+            } catch (InterruptedException | ExecutionException m) {
+                listener.onBlobRetrieved(internalErrorStatus(), null, null, null);
+            }
         } catch (RemoteException e) {
-            throw e.rethrowFromSystemServer();
+            Log.e(TAG, "Error retrieving blob", e);
         }
     }
 }
diff --git a/services/net/java/android/net/NetworkStackClient.java b/services/net/java/android/net/NetworkStackClient.java
index 830dbbe..7befd087 100644
--- a/services/net/java/android/net/NetworkStackClient.java
+++ b/services/net/java/android/net/NetworkStackClient.java
@@ -42,7 +42,6 @@
 import com.android.internal.annotations.GuardedBy;
 
 import java.io.PrintWriter;
-import java.lang.reflect.InvocationTargetException;
 import java.util.ArrayList;
 
 /**
@@ -53,6 +52,7 @@
     private static final String TAG = NetworkStackClient.class.getSimpleName();
 
     private static final int NETWORKSTACK_TIMEOUT_MS = 10_000;
+    private static final String IN_PROCESS_SUFFIX = ".InProcess";
 
     private static NetworkStackClient sInstance;
 
@@ -120,8 +120,7 @@
      *
      * <p>The INetworkMonitor will be returned asynchronously through the provided callbacks.
      */
-    public void makeNetworkMonitor(
-            NetworkParcelable network, String name, INetworkMonitorCallbacks cb) {
+    public void makeNetworkMonitor(Network network, String name, INetworkMonitorCallbacks cb) {
         requestConnector(connector -> {
             try {
                 connector.makeNetworkMonitor(network, name, cb);
@@ -131,6 +130,21 @@
         });
     }
 
+    /**
+     * Get an instance of the IpMemoryStore.
+     *
+     * <p>The IpMemoryStore will be returned asynchronously through the provided callbacks.
+     */
+    public void fetchIpMemoryStore(IIpMemoryStoreCallbacks cb) {
+        requestConnector(connector -> {
+            try {
+                connector.fetchIpMemoryStore(cb);
+            } catch (RemoteException e) {
+                e.rethrowFromSystemServer();
+            }
+        });
+    }
+
     private class NetworkStackConnection implements ServiceConnection {
         @Override
         public void onServiceConnected(ComponentName name, IBinder service) {
@@ -165,6 +179,15 @@
     }
 
     /**
+     * Initialize the network stack. Should be called only once on device startup, before any
+     * client attempts to use the network stack.
+     */
+    public void init() {
+        log("Network stack init");
+        mNetworkStackStartRequested = true;
+    }
+
+    /**
      * Start the network stack. Should be called only once on device startup.
      *
      * <p>This method will start the network stack either in the network stack process, or inside
@@ -174,43 +197,49 @@
      */
     public void start(Context context) {
         log("Starting network stack");
-        mNetworkStackStartRequested = true;
-        // Try to bind in-process if the library is available
-        IBinder connector = null;
-        try {
-            final Class service = Class.forName(
-                    "com.android.server.NetworkStackService",
-                    true /* initialize */,
-                    context.getClassLoader());
-            connector = (IBinder) service.getMethod("makeConnector", Context.class)
-                    .invoke(null, context);
-        } catch (NoSuchMethodException | IllegalAccessException | InvocationTargetException e) {
-            logWtf("Could not create network stack connector from NetworkStackService", e);
-            // TODO: crash/reboot system here ?
-            return;
-        } catch (ClassNotFoundException e) {
-            // Normal behavior if stack is provided by the app: fall through
+        final PackageManager pm = context.getPackageManager();
+
+        // Try to bind in-process if the device was shipped with an in-process version
+        Intent intent = getNetworkStackIntent(pm, true /* inSystemProcess */);
+
+        // Otherwise use the updatable module version
+        if (intent == null) {
+            intent = getNetworkStackIntent(pm, false /* inSystemProcess */);
+            log("Starting network stack process");
+        } else {
+            log("Starting network stack in-process");
         }
 
-        // In-process network stack. Add the service to the service manager here.
-        if (connector != null) {
-            log("Registering in-process network stack connector");
-            registerNetworkStackService(connector);
-            return;
-        }
-        // Start the network stack process. The service will be added to the service manager in
-        // NetworkStackConnection.onServiceConnected().
-        log("Starting network stack process");
-        final Intent intent = new Intent(INetworkStackConnector.class.getName());
-        final ComponentName comp = intent.resolveSystemService(context.getPackageManager(), 0);
-        intent.setComponent(comp);
-
-        if (comp == null) {
-            logWtf("Could not resolve the network stack with " + intent, null);
+        if (intent == null) {
+            logWtf("Could not resolve the network stack", null);
             // TODO: crash/reboot system server ?
             return;
         }
-        final PackageManager pm = context.getPackageManager();
+
+        // Start the network stack. The service will be added to the service manager in
+        // NetworkStackConnection.onServiceConnected().
+        if (!context.bindServiceAsUser(intent, new NetworkStackConnection(),
+                Context.BIND_AUTO_CREATE | Context.BIND_IMPORTANT, UserHandle.SYSTEM)) {
+            logWtf("Could not bind to network stack with " + intent, null);
+            return;
+            // TODO: crash/reboot system server if no network stack after a timeout ?
+        }
+
+        log("Network stack service start requested");
+    }
+
+    @Nullable
+    private Intent getNetworkStackIntent(@NonNull PackageManager pm, boolean inSystemProcess) {
+        final String baseAction = INetworkStackConnector.class.getName();
+        final Intent intent =
+                new Intent(inSystemProcess ? baseAction + IN_PROCESS_SUFFIX : baseAction);
+        final ComponentName comp = intent.resolveSystemService(pm, 0);
+
+        if (comp == null) {
+            return null;
+        }
+        intent.setComponent(comp);
+
         int uid = -1;
         try {
             uid = pm.getPackageUidAsUser(comp.getPackageName(), UserHandle.USER_SYSTEM);
@@ -218,25 +247,27 @@
             logWtf("Network stack package not found", e);
             // Fall through
         }
-        if (uid != Process.NETWORK_STACK_UID) {
+
+        final int expectedUid = inSystemProcess ? Process.SYSTEM_UID : Process.NETWORK_STACK_UID;
+        if (uid != expectedUid) {
             throw new SecurityException("Invalid network stack UID: " + uid);
         }
 
+        if (!inSystemProcess) {
+            checkNetworkStackPermission(pm, comp);
+        }
+
+        return intent;
+    }
+
+    private void checkNetworkStackPermission(
+            @NonNull PackageManager pm, @NonNull ComponentName comp) {
         final int hasPermission =
                 pm.checkPermission(PERMISSION_MAINLINE_NETWORK_STACK, comp.getPackageName());
         if (hasPermission != PERMISSION_GRANTED) {
             throw new SecurityException(
                     "Network stack does not have permission " + PERMISSION_MAINLINE_NETWORK_STACK);
         }
-
-        if (!context.bindServiceAsUser(intent, new NetworkStackConnection(),
-                Context.BIND_AUTO_CREATE | Context.BIND_IMPORTANT, UserHandle.SYSTEM)) {
-            logWtf("Could not bind to network stack in-process, or in app with " + intent, null);
-            return;
-            // TODO: crash/reboot system server if no network stack after a timeout ?
-        }
-
-        log("Network stack service start requested");
     }
 
     private void log(@NonNull String message) {
@@ -289,7 +320,8 @@
     private void requestConnector(@NonNull NetworkStackCallback request) {
         // TODO: PID check.
         final int caller = Binder.getCallingUid();
-        if (caller != Process.SYSTEM_UID && !UserHandle.isSameApp(caller, Process.BLUETOOTH_UID)) {
+        if (caller != Process.SYSTEM_UID && !UserHandle.isSameApp(caller, Process.BLUETOOTH_UID)
+                && !UserHandle.isSameApp(caller, Process.PHONE_UID)) {
             // Don't even attempt to obtain the connector and give a nice error message
             throw new SecurityException(
                     "Only the system server should try to bind to the network stack.");
diff --git a/core/java/android/net/TcpKeepalivePacketData.java b/services/net/java/android/net/TcpKeepalivePacketData.java
similarity index 97%
rename from core/java/android/net/TcpKeepalivePacketData.java
rename to services/net/java/android/net/TcpKeepalivePacketData.java
index 99d36c5..398a6b31 100644
--- a/core/java/android/net/TcpKeepalivePacketData.java
+++ b/services/net/java/android/net/TcpKeepalivePacketData.java
@@ -167,8 +167,9 @@
                 tcpWndScale);
     }
 
-    /* Parcelable Implementation. */
-    /* Note that this object implements parcelable (and needs to keep doing this as it inherits
+    /**
+     * Parcelable Implementation.
+     * Note that this object implements parcelable (and needs to keep doing this as it inherits
      * from a class that does), but should usually be parceled as a stable parcelable using
      * the toStableParcelable() and fromStableParcelable() methods.
      */
@@ -194,7 +195,7 @@
     }
 
     /** Parcelable Creator. */
-    public static final @android.annotation.NonNull Parcelable.Creator<TcpKeepalivePacketData> CREATOR =
+    public static final @NonNull Parcelable.Creator<TcpKeepalivePacketData> CREATOR =
             new Parcelable.Creator<TcpKeepalivePacketData>() {
                 public TcpKeepalivePacketData createFromParcel(Parcel in) {
                     return new TcpKeepalivePacketData(in);
diff --git a/services/net/java/android/net/ip/IpClientUtil.java b/services/net/java/android/net/ip/IpClientUtil.java
index bf917bf..90624e0 100644
--- a/services/net/java/android/net/ip/IpClientUtil.java
+++ b/services/net/java/android/net/ip/IpClientUtil.java
@@ -17,12 +17,10 @@
 package android.net.ip;
 
 import static android.net.shared.IpConfigurationParcelableUtil.fromStableParcelable;
-import static android.net.shared.LinkPropertiesParcelableUtil.fromStableParcelable;
 
 import android.content.Context;
 import android.net.DhcpResultsParcelable;
 import android.net.LinkProperties;
-import android.net.LinkPropertiesParcelable;
 import android.net.NetworkStackClient;
 import android.os.ConditionVariable;
 
@@ -122,18 +120,18 @@
         }
 
         @Override
-        public void onProvisioningSuccess(LinkPropertiesParcelable newLp) {
-            mCb.onProvisioningSuccess(fromStableParcelable(newLp));
+        public void onProvisioningSuccess(LinkProperties newLp) {
+            mCb.onProvisioningSuccess(newLp);
         }
         @Override
-        public void onProvisioningFailure(LinkPropertiesParcelable newLp) {
-            mCb.onProvisioningFailure(fromStableParcelable(newLp));
+        public void onProvisioningFailure(LinkProperties newLp) {
+            mCb.onProvisioningFailure(newLp);
         }
 
         // Invoked on LinkProperties changes.
         @Override
-        public void onLinkPropertiesChange(LinkPropertiesParcelable newLp) {
-            mCb.onLinkPropertiesChange(fromStableParcelable(newLp));
+        public void onLinkPropertiesChange(LinkProperties newLp) {
+            mCb.onLinkPropertiesChange(newLp);
         }
 
         // Called when the internal IpReachabilityMonitor (if enabled) has
diff --git a/services/net/java/android/net/ip/IpServer.java b/services/net/java/android/net/ip/IpServer.java
index 34fc735..0e44f88 100644
--- a/services/net/java/android/net/ip/IpServer.java
+++ b/services/net/java/android/net/ip/IpServer.java
@@ -87,7 +87,6 @@
         return "UNKNOWN: " + state;
     }
 
-    private static final IpPrefix LINK_LOCAL_PREFIX = new IpPrefix("fe80::/64");
     private static final byte DOUG_ADAMS = (byte) 42;
 
     private static final String USB_NEAR_IFACE_ADDR = "192.168.42.129";
@@ -557,16 +556,6 @@
                 addedPrefixes.removeAll(mLastRaParams.prefixes);
             }
 
-            if (mLastRaParams == null || mLastRaParams.prefixes.isEmpty()) {
-                // We need to be able to send unicast RAs, and clients might
-                // like to ping the default router's link-local address.  Note
-                // that we never remove the link-local route from the network
-                // until Tethering disables tethering on the interface. We
-                // only need to add the link-local prefix once, but in the
-                // event we add it more than once netd silently ignores EEXIST.
-                addedPrefixes.add(LINK_LOCAL_PREFIX);
-            }
-
             if (!addedPrefixes.isEmpty()) {
                 final ArrayList<RouteInfo> toBeAdded =
                         getLocalRoutesFor(mIfaceName, addedPrefixes);
diff --git a/core/java/android/net/ipmemorystore/NetworkAttributes.java b/services/net/java/android/net/ipmemorystore/NetworkAttributes.java
similarity index 100%
rename from core/java/android/net/ipmemorystore/NetworkAttributes.java
rename to services/net/java/android/net/ipmemorystore/NetworkAttributes.java
diff --git a/core/java/android/net/ipmemorystore/SameL3NetworkResponse.java b/services/net/java/android/net/ipmemorystore/SameL3NetworkResponse.java
similarity index 100%
rename from core/java/android/net/ipmemorystore/SameL3NetworkResponse.java
rename to services/net/java/android/net/ipmemorystore/SameL3NetworkResponse.java
diff --git a/core/java/android/net/ipmemorystore/Status.java b/services/net/java/android/net/ipmemorystore/Status.java
similarity index 97%
rename from core/java/android/net/ipmemorystore/Status.java
rename to services/net/java/android/net/ipmemorystore/Status.java
index cacd42d..13242c0 100644
--- a/core/java/android/net/ipmemorystore/Status.java
+++ b/services/net/java/android/net/ipmemorystore/Status.java
@@ -32,6 +32,7 @@
     public static final int ERROR_ILLEGAL_ARGUMENT = -2;
     public static final int ERROR_DATABASE_CANNOT_BE_OPENED = -3;
     public static final int ERROR_STORAGE = -4;
+    public static final int ERROR_UNKNOWN = -5;
 
     public final int resultCode;
 
diff --git a/services/net/java/android/net/netlink/NetlinkSocket.java b/services/net/java/android/net/netlink/NetlinkSocket.java
index 16f72bd..4240d24 100644
--- a/services/net/java/android/net/netlink/NetlinkSocket.java
+++ b/services/net/java/android/net/netlink/NetlinkSocket.java
@@ -109,7 +109,7 @@
     }
 
     public static void connectToKernel(FileDescriptor fd) throws ErrnoException, SocketException {
-        SocketUtils.connectSocket(fd, makeNetlinkSocketAddress(0, 0));
+        Os.connect(fd, makeNetlinkSocketAddress(0, 0));
     }
 
     private static void checkTimeout(long timeoutMs) {
diff --git a/services/net/java/android/net/shared/InitialConfiguration.java b/services/net/java/android/net/shared/InitialConfiguration.java
index 4ad7138..e423d62 100644
--- a/services/net/java/android/net/shared/InitialConfiguration.java
+++ b/services/net/java/android/net/shared/InitialConfiguration.java
@@ -23,13 +23,12 @@
 import android.net.InetAddresses;
 import android.net.InitialConfigurationParcelable;
 import android.net.IpPrefix;
-import android.net.IpPrefixParcelable;
 import android.net.LinkAddress;
-import android.net.LinkAddressParcelable;
 import android.net.RouteInfo;
 
 import java.net.Inet4Address;
 import java.net.InetAddress;
+import java.util.Arrays;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
@@ -148,10 +147,8 @@
      */
     public InitialConfigurationParcelable toStableParcelable() {
         final InitialConfigurationParcelable p = new InitialConfigurationParcelable();
-        p.ipAddresses = toParcelableArray(ipAddresses,
-                LinkPropertiesParcelableUtil::toStableParcelable, LinkAddressParcelable.class);
-        p.directlyConnectedRoutes = toParcelableArray(directlyConnectedRoutes,
-                LinkPropertiesParcelableUtil::toStableParcelable, IpPrefixParcelable.class);
+        p.ipAddresses = ipAddresses.toArray(new LinkAddress[0]);
+        p.directlyConnectedRoutes = directlyConnectedRoutes.toArray(new IpPrefix[0]);
         p.dnsServers = toParcelableArray(
                 dnsServers, IpConfigurationParcelableUtil::parcelAddress, String.class);
         return p;
@@ -164,10 +161,8 @@
     public static InitialConfiguration fromStableParcelable(InitialConfigurationParcelable p) {
         if (p == null) return null;
         final InitialConfiguration config = new InitialConfiguration();
-        config.ipAddresses.addAll(fromParcelableArray(
-                p.ipAddresses, LinkPropertiesParcelableUtil::fromStableParcelable));
-        config.directlyConnectedRoutes.addAll(fromParcelableArray(
-                p.directlyConnectedRoutes, LinkPropertiesParcelableUtil::fromStableParcelable));
+        config.ipAddresses.addAll(Arrays.asList(p.ipAddresses));
+        config.directlyConnectedRoutes.addAll(Arrays.asList(p.directlyConnectedRoutes));
         config.dnsServers.addAll(
                 fromParcelableArray(p.dnsServers, IpConfigurationParcelableUtil::unparcelAddress));
         return config;
diff --git a/services/net/java/android/net/shared/IpConfigurationParcelableUtil.java b/services/net/java/android/net/shared/IpConfigurationParcelableUtil.java
index 1f0525e..6b5826f 100644
--- a/services/net/java/android/net/shared/IpConfigurationParcelableUtil.java
+++ b/services/net/java/android/net/shared/IpConfigurationParcelableUtil.java
@@ -44,7 +44,7 @@
             @Nullable StaticIpConfiguration config) {
         if (config == null) return null;
         final StaticIpConfigurationParcelable p = new StaticIpConfigurationParcelable();
-        p.ipAddress = LinkPropertiesParcelableUtil.toStableParcelable(config.getIpAddress());
+        p.ipAddress = config.getIpAddress();
         p.gateway = parcelAddress(config.getGateway());
         p.dnsServers = toParcelableArray(
                 config.getDnsServers(), IpConfigurationParcelableUtil::parcelAddress, String.class);
@@ -59,7 +59,7 @@
             @Nullable StaticIpConfigurationParcelable p) {
         if (p == null) return null;
         final StaticIpConfiguration config = new StaticIpConfiguration();
-        config.setIpAddress(LinkPropertiesParcelableUtil.fromStableParcelable(p.ipAddress));
+        config.setIpAddress(p.ipAddress);
         config.setGateway(unparcelAddress(p.gateway));
         for (InetAddress addr : fromParcelableArray(
                 p.dnsServers, IpConfigurationParcelableUtil::unparcelAddress)) {
diff --git a/services/net/java/android/net/shared/LinkPropertiesParcelableUtil.java b/services/net/java/android/net/shared/LinkPropertiesParcelableUtil.java
index 51d955d..1729da6 100644
--- a/services/net/java/android/net/shared/LinkPropertiesParcelableUtil.java
+++ b/services/net/java/android/net/shared/LinkPropertiesParcelableUtil.java
@@ -16,25 +16,9 @@
 
 package android.net.shared;
 
-import static android.net.shared.IpConfigurationParcelableUtil.parcelAddress;
-import static android.net.shared.IpConfigurationParcelableUtil.unparcelAddress;
-import static android.net.shared.ParcelableUtil.fromParcelableArray;
-import static android.net.shared.ParcelableUtil.toParcelableArray;
-
 import android.annotation.Nullable;
-import android.net.IpPrefix;
-import android.net.IpPrefixParcelable;
-import android.net.LinkAddress;
-import android.net.LinkAddressParcelable;
 import android.net.LinkProperties;
-import android.net.LinkPropertiesParcelable;
 import android.net.ProxyInfo;
-import android.net.ProxyInfoParcelable;
-import android.net.RouteInfo;
-import android.net.RouteInfoParcelable;
-import android.net.Uri;
-
-import java.util.Arrays;
 
 /**
  * Collection of utility methods to convert to and from stable AIDL parcelables for LinkProperties
@@ -42,177 +26,22 @@
  * @hide
  */
 public final class LinkPropertiesParcelableUtil {
+    // Temporary methods to facilitate migrating clients away from LinkPropertiesParcelable
+    // TODO: remove the following methods after migrating clients.
 
     /**
-     * Convert a ProxyInfo to a ProxyInfoParcelable
+     * @deprecated conversion to stable parcelable is no longer necessary.
      */
-    public static ProxyInfoParcelable toStableParcelable(@Nullable ProxyInfo proxyInfo) {
-        if (proxyInfo == null) {
-            return null;
-        }
-        final ProxyInfoParcelable parcel = new ProxyInfoParcelable();
-        parcel.host = proxyInfo.getHost();
-        parcel.port = proxyInfo.getPort();
-        parcel.exclusionList = proxyInfo.getExclusionList();
-        parcel.pacFileUrl = proxyInfo.getPacFileUrl().toString();
-        return parcel;
-    }
-
-    /**
-     * Convert a ProxyInfoParcelable to a ProxyInfo
-     */
-    public static ProxyInfo fromStableParcelable(@Nullable ProxyInfoParcelable parcel) {
-        if (parcel == null) {
-            return null;
-        }
-        if (Uri.EMPTY.toString().equals(parcel.pacFileUrl)) {
-            return ProxyInfo.buildDirectProxy(
-                    parcel.host, parcel.port, Arrays.asList(parcel.exclusionList));
-        } else {
-            return ProxyInfo.buildPacProxy(Uri.parse(parcel.pacFileUrl));
-        }
-    }
-
-    /**
-     * Convert an IpPrefixParcelable to an IpPrefix
-     */
-    public static IpPrefixParcelable toStableParcelable(@Nullable IpPrefix ipPrefix) {
-        if (ipPrefix == null) {
-            return null;
-        }
-        final IpPrefixParcelable parcel = new IpPrefixParcelable();
-        parcel.address = parcelAddress(ipPrefix.getAddress());
-        parcel.prefixLength = ipPrefix.getPrefixLength();
-        return parcel;
-    }
-
-    /**
-     * Convert an IpPrefix to an IpPrefixParcelable
-     */
-    public static IpPrefix fromStableParcelable(@Nullable IpPrefixParcelable parcel) {
-        if (parcel == null) {
-            return null;
-        }
-        return new IpPrefix(unparcelAddress(parcel.address), parcel.prefixLength);
-    }
-
-    /**
-     * Convert a RouteInfoParcelable to a RouteInfo
-     */
-    public static RouteInfoParcelable toStableParcelable(@Nullable RouteInfo routeInfo) {
-        if (routeInfo == null) {
-            return null;
-        }
-        final RouteInfoParcelable parcel = new RouteInfoParcelable();
-        parcel.destination = toStableParcelable(routeInfo.getDestination());
-        parcel.gatewayAddr = parcelAddress(routeInfo.getGateway());
-        parcel.ifaceName = routeInfo.getInterface();
-        parcel.type = routeInfo.getType();
-        return parcel;
-    }
-
-    /**
-     * Convert a RouteInfo to a RouteInfoParcelable
-     */
-    public static RouteInfo fromStableParcelable(@Nullable RouteInfoParcelable parcel) {
-        if (parcel == null) {
-            return null;
-        }
-        final IpPrefix destination = fromStableParcelable(parcel.destination);
-        return new RouteInfo(
-                destination, unparcelAddress(parcel.gatewayAddr),
-                parcel.ifaceName, parcel.type);
-    }
-
-    /**
-     * Convert a LinkAddressParcelable to a LinkAddress
-     */
-    public static LinkAddressParcelable toStableParcelable(@Nullable LinkAddress la) {
-        if (la == null) {
-            return null;
-        }
-        final LinkAddressParcelable parcel = new LinkAddressParcelable();
-        parcel.address = parcelAddress(la.getAddress());
-        parcel.prefixLength = la.getPrefixLength();
-        parcel.flags = la.getFlags();
-        parcel.scope = la.getScope();
-        return parcel;
-    }
-
-    /**
-     * Convert a LinkAddress to a LinkAddressParcelable
-     */
-    public static LinkAddress fromStableParcelable(@Nullable LinkAddressParcelable parcel) {
-        if (parcel == null) {
-            return null;
-        }
-        return new LinkAddress(
-                unparcelAddress(parcel.address),
-                parcel.prefixLength,
-                parcel.flags,
-                parcel.scope);
-    }
-
-    /**
-     * Convert a LinkProperties to a LinkPropertiesParcelable
-     */
-    public static LinkPropertiesParcelable toStableParcelable(@Nullable LinkProperties lp) {
-        if (lp == null) {
-            return null;
-        }
-        final LinkPropertiesParcelable parcel = new LinkPropertiesParcelable();
-        parcel.ifaceName = lp.getInterfaceName();
-        parcel.linkAddresses = toParcelableArray(
-                lp.getLinkAddresses(),
-                LinkPropertiesParcelableUtil::toStableParcelable,
-                LinkAddressParcelable.class);
-        parcel.dnses = toParcelableArray(
-                lp.getDnsServers(), IpConfigurationParcelableUtil::parcelAddress, String.class);
-        parcel.pcscfs = toParcelableArray(
-                lp.getPcscfServers(), IpConfigurationParcelableUtil::parcelAddress, String.class);
-        parcel.validatedPrivateDnses = toParcelableArray(lp.getValidatedPrivateDnsServers(),
-                IpConfigurationParcelableUtil::parcelAddress, String.class);
-        parcel.usePrivateDns = lp.isPrivateDnsActive();
-        parcel.privateDnsServerName = lp.getPrivateDnsServerName();
-        parcel.domains = lp.getDomains();
-        parcel.routes = toParcelableArray(
-                lp.getRoutes(), LinkPropertiesParcelableUtil::toStableParcelable,
-                RouteInfoParcelable.class);
-        parcel.httpProxy = toStableParcelable(lp.getHttpProxy());
-        parcel.mtu = lp.getMtu();
-        parcel.tcpBufferSizes = lp.getTcpBufferSizes();
-        parcel.nat64Prefix = toStableParcelable(lp.getNat64Prefix());
-        return parcel;
-    }
-
-    /**
-     * Convert a LinkPropertiesParcelable to a LinkProperties
-     */
-    public static LinkProperties fromStableParcelable(@Nullable LinkPropertiesParcelable parcel) {
-        if (parcel == null) {
-            return null;
-        }
-        final LinkProperties lp = new LinkProperties();
-        lp.setInterfaceName(parcel.ifaceName);
-        lp.setLinkAddresses(fromParcelableArray(parcel.linkAddresses,
-                LinkPropertiesParcelableUtil::fromStableParcelable));
-        lp.setDnsServers(fromParcelableArray(
-                parcel.dnses, IpConfigurationParcelableUtil::unparcelAddress));
-        lp.setPcscfServers(fromParcelableArray(
-                parcel.pcscfs, IpConfigurationParcelableUtil::unparcelAddress));
-        lp.setValidatedPrivateDnsServers(
-                fromParcelableArray(parcel.validatedPrivateDnses,
-                IpConfigurationParcelableUtil::unparcelAddress));
-        lp.setUsePrivateDns(parcel.usePrivateDns);
-        lp.setPrivateDnsServerName(parcel.privateDnsServerName);
-        lp.setDomains(parcel.domains);
-        for (RouteInfoParcelable route : parcel.routes) {
-            lp.addRoute(fromStableParcelable(route));
-        }
-        lp.setHttpProxy(fromStableParcelable(parcel.httpProxy));
-        lp.setMtu(parcel.mtu);
-        lp.setTcpBufferSizes(parcel.tcpBufferSizes);
-        lp.setNat64Prefix(fromStableParcelable(parcel.nat64Prefix));
+    @Deprecated
+    public static LinkProperties toStableParcelable(@Nullable LinkProperties lp) {
         return lp;
     }
+
+    /**
+     * @deprecated conversion to stable parcelable is no longer necessary.
+     */
+    @Deprecated
+    public static ProxyInfo toStableParcelable(@Nullable ProxyInfo info) {
+        return info;
+    }
 }
diff --git a/services/net/java/android/net/shared/NetworkParcelableUtil.java b/services/net/java/android/net/shared/NetworkParcelableUtil.java
deleted file mode 100644
index d0b54b8..0000000
--- a/services/net/java/android/net/shared/NetworkParcelableUtil.java
+++ /dev/null
@@ -1,50 +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 android.net.shared;
-
-import android.annotation.Nullable;
-import android.net.Network;
-import android.net.NetworkParcelable;
-
-/**
- * Utility methods to convert to/from stable AIDL parcelables for network attribute classes.
- * @hide
- */
-public final class NetworkParcelableUtil {
-    /**
-     * Convert from a Network to a NetworkParcelable.
-     */
-    public static NetworkParcelable toStableParcelable(@Nullable Network network) {
-        if (network == null) {
-            return null;
-        }
-        final NetworkParcelable p = new NetworkParcelable();
-        p.networkHandle = network.getNetworkHandle();
-
-        return p;
-    }
-
-    /**
-     * Convert from a NetworkParcelable to a Network.
-     */
-    public static Network fromStableParcelable(@Nullable NetworkParcelable p) {
-        if (p == null) {
-            return null;
-        }
-        return Network.fromNetworkHandle(p.networkHandle);
-    }
-}
diff --git a/services/net/java/android/net/shared/ProvisioningConfiguration.java b/services/net/java/android/net/shared/ProvisioningConfiguration.java
index f937065..0aceb22 100644
--- a/services/net/java/android/net/shared/ProvisioningConfiguration.java
+++ b/services/net/java/android/net/shared/ProvisioningConfiguration.java
@@ -239,7 +239,7 @@
         p.apfCapabilities = IpConfigurationParcelableUtil.toStableParcelable(mApfCapabilities);
         p.provisioningTimeoutMs = mProvisioningTimeoutMs;
         p.ipv6AddrGenMode = mIPv6AddrGenMode;
-        p.network = NetworkParcelableUtil.toStableParcelable(mNetwork);
+        p.network = mNetwork;
         p.displayName = mDisplayName;
         return p;
     }
@@ -263,7 +263,7 @@
                 p.apfCapabilities);
         config.mProvisioningTimeoutMs = p.provisioningTimeoutMs;
         config.mIPv6AddrGenMode = p.ipv6AddrGenMode;
-        config.mNetwork = NetworkParcelableUtil.fromStableParcelable(p.network);
+        config.mNetwork = p.network;
         config.mDisplayName = p.displayName;
         return config;
     }
diff --git a/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java b/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java
index f17a9fe..f4cea7a 100644
--- a/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java
+++ b/services/robotests/backup/src/com/android/server/backup/restore/ActiveRestoreSessionTest.java
@@ -326,15 +326,14 @@
     }
 
     @Test
-    public void testRestoreSome_for2Packages() throws Exception {
+    public void testRestorePackages_for2Packages() throws Exception {
         mShadowApplication.grantPermissions(android.Manifest.permission.BACKUP);
         TransportMock transportMock = setUpTransport(mTransport);
         IRestoreSession restoreSession =
                 createActiveRestoreSessionWithRestoreSets(null, mTransport, mRestoreSet1);
 
-        int result =
-                restoreSession.restoreSome(
-                        TOKEN_1, mObserver, mMonitor, new String[] {PACKAGE_1, PACKAGE_2});
+        int result = restoreSession.restorePackages(TOKEN_1, mObserver,
+                new String[] {PACKAGE_1, PACKAGE_2}, mMonitor);
 
         mShadowBackupLooper.runToEndOfTasks();
         assertThat(result).isEqualTo(0);
@@ -349,27 +348,27 @@
     }
 
     @Test
-    public void testRestoreSome_for2Packages_createsSystemRestoreTask() throws Exception {
+    public void testRestorePackages_for2Packages_createsSystemRestoreTask() throws Exception {
         mShadowApplication.grantPermissions(android.Manifest.permission.BACKUP);
         setUpTransport(mTransport);
         IRestoreSession restoreSession =
                 createActiveRestoreSessionWithRestoreSets(null, mTransport, mRestoreSet1);
 
-        restoreSession.restoreSome(
-                TOKEN_1, mObserver, mMonitor, new String[] {PACKAGE_1, PACKAGE_2});
+        restoreSession.restorePackages(TOKEN_1, mObserver, new String[] {PACKAGE_1, PACKAGE_2},
+                mMonitor);
 
         mShadowBackupLooper.runToEndOfTasks();
         assertThat(ShadowPerformUnifiedRestoreTask.getLastCreated().isFullSystemRestore()).isTrue();
     }
 
     @Test
-    public void testRestoreSome_for1Package() throws Exception {
+    public void testRestorePackages_for1Package() throws Exception {
         mShadowApplication.grantPermissions(android.Manifest.permission.BACKUP);
         setUpTransport(mTransport);
         IRestoreSession restoreSession =
                 createActiveRestoreSessionWithRestoreSets(null, mTransport, mRestoreSet1);
 
-        restoreSession.restoreSome(TOKEN_1, mObserver, mMonitor, new String[] {PACKAGE_1});
+        restoreSession.restorePackages(TOKEN_1, mObserver, new String[] {PACKAGE_1}, mMonitor);
 
         mShadowBackupLooper.runToEndOfTasks();
         ShadowPerformUnifiedRestoreTask shadowTask =
@@ -379,13 +378,13 @@
     }
 
     @Test
-    public void testRestoreSome_for1Package_createsNonSystemRestoreTask() throws Exception {
+    public void testRestorePackages_for1Package_createsNonSystemRestoreTask() throws Exception {
         mShadowApplication.grantPermissions(android.Manifest.permission.BACKUP);
         setUpTransport(mTransport);
         IRestoreSession restoreSession =
                 createActiveRestoreSessionWithRestoreSets(null, mTransport, mRestoreSet1);
 
-        restoreSession.restoreSome(TOKEN_1, mObserver, mMonitor, new String[] {PACKAGE_1});
+        restoreSession.restorePackages(TOKEN_1, mObserver, new String[] {PACKAGE_1}, mMonitor);
 
         mShadowBackupLooper.runToEndOfTasks();
         assertThat(ShadowPerformUnifiedRestoreTask.getLastCreated().isFullSystemRestore())
@@ -393,32 +392,32 @@
     }
 
     @Test
-    public void testRestoreSome_whenNoRestoreSets() throws Exception {
+    public void testRestorePackages_whenNoRestoreSets() throws Exception {
         mShadowApplication.grantPermissions(android.Manifest.permission.BACKUP);
         setUpTransport(mTransport);
         IRestoreSession restoreSession = createActiveRestoreSession(null, mTransport);
 
-        int result =
-                restoreSession.restoreSome(TOKEN_1, mObserver, mMonitor, new String[] {PACKAGE_1});
+        int result = restoreSession.restorePackages(TOKEN_1, mObserver, new String[] {PACKAGE_1},
+                mMonitor);
 
         assertThat(result).isEqualTo(-1);
     }
 
     @Test
-    public void testRestoreSome_whenSinglePackageSession() throws Exception {
+    public void testRestorePackages_whenSinglePackageSession() throws Exception {
         mShadowApplication.grantPermissions(android.Manifest.permission.BACKUP);
         setUpTransport(mTransport);
         IRestoreSession restoreSession =
                 createActiveRestoreSessionWithRestoreSets(PACKAGE_1, mTransport, mRestoreSet1);
 
-        int result =
-                restoreSession.restoreSome(TOKEN_1, mObserver, mMonitor, new String[] {PACKAGE_2});
+        int result = restoreSession.restorePackages(TOKEN_1, mObserver, new String[] {PACKAGE_2},
+                mMonitor);
 
         assertThat(result).isEqualTo(-1);
     }
 
     @Test
-    public void testRestoreSome_whenSessionEnded() throws Exception {
+    public void testRestorePackages_whenSessionEnded() throws Exception {
         mShadowApplication.grantPermissions(android.Manifest.permission.BACKUP);
         setUpTransport(mTransport);
         IRestoreSession restoreSession =
@@ -429,19 +428,19 @@
         expectThrows(
                 IllegalStateException.class,
                 () ->
-                        restoreSession.restoreSome(
-                                TOKEN_1, mObserver, mMonitor, new String[] {PACKAGE_1}));
+                        restoreSession.restorePackages(TOKEN_1, mObserver, new String[] {PACKAGE_1},
+                                mMonitor));
     }
 
     @Test
-    public void testRestoreSome_whenTransportNotRegistered() throws Exception {
+    public void testRestorePackages_whenTransportNotRegistered() throws Exception {
         mShadowApplication.grantPermissions(android.Manifest.permission.BACKUP);
         setUpTransport(mTransport.unregistered());
         IRestoreSession restoreSession =
                 createActiveRestoreSessionWithRestoreSets(null, mTransport, mRestoreSet1);
 
-        int result =
-                restoreSession.restoreSome(TOKEN_1, mObserver, mMonitor, new String[] {PACKAGE_1});
+        int result = restoreSession.restorePackages(TOKEN_1, mObserver, new String[] {PACKAGE_1},
+                mMonitor);
 
         assertThat(result).isEqualTo(-1);
     }
diff --git a/services/tests/mockingservicestests/src/com/android/server/RescuePartyTest.java b/services/tests/mockingservicestests/src/com/android/server/RescuePartyTest.java
index b13735c..0d6020c 100644
--- a/services/tests/mockingservicestests/src/com/android/server/RescuePartyTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/RescuePartyTest.java
@@ -35,9 +35,12 @@
 import android.os.RecoverySystem;
 import android.os.SystemProperties;
 import android.os.UserHandle;
+import android.provider.DeviceConfig;
 import android.provider.Settings;
 
 import com.android.dx.mockito.inline.extended.ExtendedMockito;
+import com.android.server.am.SettingsToPropertiesMapper;
+import com.android.server.utils.FlagNamespaceUtils;
 
 import org.junit.After;
 import org.junit.Before;
@@ -56,6 +59,10 @@
 public class RescuePartyTest {
     private static final int PERSISTENT_APP_UID = 12;
     private static final long CURRENT_NETWORK_TIME_MILLIS = 0L;
+    private static final String FAKE_NATIVE_NAMESPACE1 = "native1";
+    private static final String FAKE_NATIVE_NAMESPACE2 = "native2";
+    private static final String[] FAKE_RESET_NATIVE_NAMESPACES =
+            {FAKE_NATIVE_NAMESPACE1, FAKE_NATIVE_NAMESPACE2};
 
     private MockitoSession mSession;
 
@@ -73,9 +80,11 @@
                 ExtendedMockito.mockitoSession().initMocks(
                         this)
                         .strictness(Strictness.LENIENT)
+                        .spyStatic(DeviceConfig.class)
                         .spyStatic(SystemProperties.class)
                         .spyStatic(Settings.Global.class)
                         .spyStatic(Settings.Secure.class)
+                        .spyStatic(SettingsToPropertiesMapper.class)
                         .spyStatic(RecoverySystem.class)
                         .spyStatic(RescueParty.class)
                         .startMocking();
@@ -121,8 +130,17 @@
                 }
         ).when(() -> SystemProperties.getLong(anyString(), anyLong()));
 
+        // Mock DeviceConfig
+        doAnswer((Answer<Boolean>) invocationOnMock -> true)
+                .when(() -> DeviceConfig.setProperty(anyString(), anyString(), anyString(),
+                        anyBoolean()));
+        doAnswer((Answer<Void>) invocationOnMock -> null)
+                .when(() -> DeviceConfig.resetToDefaults(anyInt(), anyString()));
+
+
         doReturn(CURRENT_NETWORK_TIME_MILLIS).when(() -> RescueParty.getElapsedRealtime());
         RescueParty.resetAllThresholds();
+        FlagNamespaceUtils.resetKnownResetNamespacesFlagCounterForTest();
 
         SystemProperties.set(RescueParty.PROP_RESCUE_LEVEL,
                 Integer.toString(RescueParty.LEVEL_NONE));
@@ -278,10 +296,32 @@
                 SystemProperties.getInt(RescueParty.PROP_RESCUE_LEVEL, RescueParty.LEVEL_NONE));
     }
 
+    @Test
+    public void testNativeRescuePartyResets() {
+        doReturn(true).when(() -> SettingsToPropertiesMapper.isNativeFlagsResetPerformed());
+        doReturn(FAKE_RESET_NATIVE_NAMESPACES).when(
+                () -> SettingsToPropertiesMapper.getResetNativeCategories());
+
+        RescueParty.onSettingsProviderPublished(mMockContext);
+
+        verify(() -> DeviceConfig.resetToDefaults(Settings.RESET_MODE_TRUSTED_DEFAULTS,
+                FAKE_NATIVE_NAMESPACE1));
+        verify(() -> DeviceConfig.resetToDefaults(Settings.RESET_MODE_TRUSTED_DEFAULTS,
+                FAKE_NATIVE_NAMESPACE2));
+
+        ExtendedMockito.verify(
+                () -> DeviceConfig.setProperty(FlagNamespaceUtils.NAMESPACE_RESCUE_PARTY,
+                        FlagNamespaceUtils.RESET_PLATFORM_PACKAGE_FLAG + 0,
+                        FAKE_NATIVE_NAMESPACE1, /*makeDefault=*/true));
+        ExtendedMockito.verify(
+                () -> DeviceConfig.setProperty(FlagNamespaceUtils.NAMESPACE_RESCUE_PARTY,
+                        FlagNamespaceUtils.RESET_PLATFORM_PACKAGE_FLAG + 1,
+                        FAKE_NATIVE_NAMESPACE2, /*makeDefault=*/true));
+    }
+
     private void verifySettingsResets(int resetMode) {
         verify(() -> Settings.Global.resetToDefaultsAsUser(mMockContentResolver, null,
-                resetMode,
-                UserHandle.USER_SYSTEM));
+                resetMode, UserHandle.USER_SYSTEM));
         verify(() -> Settings.Secure.resetToDefaultsAsUser(eq(mMockContentResolver), isNull(),
                 eq(resetMode), anyInt()));
     }
@@ -294,7 +334,7 @@
 
     private void notePersistentAppCrash(int numTimes) {
         for (int i = 0; i < numTimes; i++) {
-            RescueParty.notePersistentAppCrash(mMockContext, PERSISTENT_APP_UID);
+            RescueParty.noteAppCrash(mMockContext, PERSISTENT_APP_UID);
         }
     }
 }
diff --git a/services/tests/mockingservicestests/src/com/android/server/power/batterysaver/BatterySaverStateMachineTest.java b/services/tests/mockingservicestests/src/com/android/server/power/batterysaver/BatterySaverStateMachineTest.java
index 86e8598..2e5efbd 100644
--- a/services/tests/mockingservicestests/src/com/android/server/power/batterysaver/BatterySaverStateMachineTest.java
+++ b/services/tests/mockingservicestests/src/com/android/server/power/batterysaver/BatterySaverStateMachineTest.java
@@ -28,6 +28,7 @@
 import android.content.ContentResolver;
 import android.content.Context;
 import android.content.res.Resources;
+import android.os.PowerManager;
 import android.provider.Settings.Global;
 
 import androidx.test.filters.SmallTest;
@@ -452,6 +453,21 @@
         assertEquals(true, mDevice.batterySaverEnabled);
         assertEquals(30, mPersistedState.batteryLevel);
         assertEquals(true, mPersistedState.batteryLow);
+
+        // Disable auto battery saver.
+        mDevice.putGlobalSetting(Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
+        mDevice.setBatteryLevel(25);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(25, mPersistedState.batteryLevel);
+        assertEquals(false, mPersistedState.batteryLow);
+
+        // PowerManager sets batteryLow to true at 15% if battery saver trigger level is lower.
+        mDevice.setBatteryLevel(15);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(15, mPersistedState.batteryLevel);
+        assertEquals(true, mPersistedState.batteryLow);
     }
 
     @Test
@@ -542,6 +558,12 @@
         assertEquals(100, mPersistedState.batteryLevel);
         assertEquals(false, mPersistedState.batteryLow);
 
+        mDevice.setBatteryLevel(97);
+
+        assertEquals(true, mDevice.batterySaverEnabled); // Stays on.
+        assertEquals(97, mPersistedState.batteryLevel);
+        assertEquals(false, mPersistedState.batteryLow);
+
         mDevice.setBatteryLevel(95);
 
         assertEquals(true, mDevice.batterySaverEnabled); // Stays on.
@@ -719,6 +741,48 @@
     }
 
     @Test
+    public void testAutoBatterySaver_withSticky_withAutoOffToggled() {
+        mDevice.putGlobalSetting(Global.LOW_POWER_MODE_TRIGGER_LEVEL, 50);
+        mDevice.putGlobalSetting(Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED, 1);
+        mDevice.putGlobalSetting(Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_LEVEL, 90);
+
+        // Scenario 1: User turns BS on manually above the threshold, it shouldn't turn off even
+        // with battery level change above threshold.
+        mDevice.setBatteryLevel(100);
+        mTarget.setBatterySaverEnabledManually(true);
+
+        assertEquals(true, mDevice.batterySaverEnabled);
+        assertEquals(100, mPersistedState.batteryLevel);
+        assertEquals(false, mPersistedState.batteryLow);
+
+        mDevice.setBatteryLevel(95);
+
+        assertEquals(true, mDevice.batterySaverEnabled); // Stays on.
+        assertEquals(95, mPersistedState.batteryLevel);
+        assertEquals(false, mPersistedState.batteryLow);
+
+        // Disable auto disable while in the pending sticky state. BS should reactivate after
+        // unplug.
+        mDevice.setPowered(true);
+        mDevice.putGlobalSetting(Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED, 0);
+        mDevice.setPowered(false);
+
+        assertEquals(true, mDevice.batterySaverEnabled); // Sticky BS should activate.
+        assertEquals(95, mPersistedState.batteryLevel);
+        assertEquals(false, mPersistedState.batteryLow);
+
+        // Enable auto disable while in the pending sticky state. Sticky should turn off after
+        // unplug.
+        mDevice.setPowered(true);
+        mDevice.putGlobalSetting(Global.LOW_POWER_MODE_STICKY_AUTO_DISABLE_ENABLED, 1);
+        mDevice.setPowered(false);
+
+        assertEquals(false, mDevice.batterySaverEnabled); // Sticky BS no longer enabled.
+        assertEquals(95, mPersistedState.batteryLevel);
+        assertEquals(false, mPersistedState.batteryLow);
+    }
+
+    @Test
     public void testAutoBatterySaver_withStickyDisabled() {
         when(mMockResources.getBoolean(
                 com.android.internal.R.bool.config_batterySaverStickyBehaviourDisabled))
@@ -739,7 +803,9 @@
         assertEquals(30, mPersistedState.batteryLevel);
         assertEquals(true, mPersistedState.batteryLow);
 
+        mDevice.setPowered(true);
         mDevice.setBatteryLevel(80);
+        mDevice.setPowered(false);
 
         assertEquals(false, mDevice.batterySaverEnabled); // Not sticky.
         assertEquals(80, mPersistedState.batteryLevel);
@@ -830,10 +896,9 @@
         assertEquals(90, mPersistedState.batteryLevel);
         assertEquals(false, mPersistedState.batteryLow);
 
-        // Reboot -- setting BS from adb is also sticky.
+        // Reboot -- LOW_POWER_MODE shouldn't be persisted.
         initDevice();
-
-        assertEquals(true, mDevice.batterySaverEnabled);
+        assertEquals(false, mDevice.batterySaverEnabled);
         assertEquals(90, mPersistedState.batteryLevel);
         assertEquals(false, mPersistedState.batteryLow);
     }
@@ -841,7 +906,8 @@
     @Test
     public void testAutoBatterySaver_smartBatterySaverEnabled() {
         mDevice.putGlobalSetting(Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD, 50);
-        mDevice.putGlobalSetting(Global.AUTOMATIC_POWER_SAVER_MODE, 1);
+        mDevice.putGlobalSetting(Global.AUTOMATIC_POWER_SAVER_MODE,
+                PowerManager.POWER_SAVER_MODE_DYNAMIC);
         mDevice.putGlobalSetting(Global.DYNAMIC_POWER_SAVINGS_ENABLED, 0);
 
         assertEquals(false, mDevice.batterySaverEnabled);
@@ -922,8 +988,8 @@
         mDevice.putGlobalSetting(Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD, 71);
         mDevice.setBatteryLevel(mPersistedState.batteryLevel);
 
-        // changes are only registered if some battery level changed
-        assertEquals(false, mDevice.batterySaverEnabled);
+        // Changes should register immediately.
+        assertEquals(true, mDevice.batterySaverEnabled);
         assertEquals(70, mPersistedState.batteryLevel);
 
         mDevice.setBatteryLevel(69);
@@ -935,8 +1001,8 @@
         mDevice.putGlobalSetting(Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD, 60);
         mDevice.setBatteryLevel(mPersistedState.batteryLevel);
 
-        // changes are only registered if battery level changed
-        assertEquals(true, mDevice.batterySaverEnabled);
+        // Changes should register immediately.
+        assertEquals(false, mDevice.batterySaverEnabled);
         assertEquals(69, mPersistedState.batteryLevel);
 
         mDevice.setBatteryLevel(68);
@@ -956,4 +1022,220 @@
         assertEquals(true, mDevice.batterySaverEnabled);
         assertEquals(30, mPersistedState.batteryLevel);
     }
+
+    @Test
+    public void testAutoBatterySaver_snoozed_autoEnabled() {
+        mDevice.putGlobalSetting(Global.LOW_POWER_MODE_TRIGGER_LEVEL, 30);
+        // Test dynamic threshold higher than automatic to make sure it doesn't interfere when it's
+        // not enabled.
+        mDevice.putGlobalSetting(Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD, 50);
+        mDevice.putGlobalSetting(Global.AUTOMATIC_POWER_SAVER_MODE,
+                PowerManager.POWER_SAVER_MODE_PERCENTAGE);
+        mDevice.putGlobalSetting(Global.DYNAMIC_POWER_SAVINGS_ENABLED, 0);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(100, mPersistedState.batteryLevel);
+
+        mDevice.setBatteryLevel(90);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(90, mPersistedState.batteryLevel);
+
+        mDevice.setBatteryLevel(51);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(51, mPersistedState.batteryLevel);
+
+        // Hit dynamic threshold. BS should be disabled since dynamic is off
+        mDevice.setBatteryLevel(50);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(50, mPersistedState.batteryLevel);
+
+        mDevice.setBatteryLevel(30);
+
+        assertEquals(true, mDevice.batterySaverEnabled);
+        assertEquals(30, mPersistedState.batteryLevel);
+
+        mDevice.setPowered(true);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(30, mPersistedState.batteryLevel);
+
+        mDevice.setPowered(false);
+
+        assertEquals(true, mDevice.batterySaverEnabled);
+        assertEquals(30, mPersistedState.batteryLevel);
+
+        mTarget.setBatterySaverEnabledManually(false); // Manually disable -> snooze.
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(30, mPersistedState.batteryLevel);
+
+        mDevice.setBatteryLevel(20);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(20, mPersistedState.batteryLevel);
+
+        // Lower threshold. Level is still below, so should still be snoozed.
+        mDevice.putGlobalSetting(Global.LOW_POWER_MODE_TRIGGER_LEVEL, 25);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(20, mPersistedState.batteryLevel);
+
+        // Lower threshold even more. Battery no longer considered "low" so snoozing should be
+        // disabled.
+        mDevice.putGlobalSetting(Global.LOW_POWER_MODE_TRIGGER_LEVEL, 10);
+        // "batteryLow" is set in setBatteryLevel.
+        mDevice.setBatteryLevel(19);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(19, mPersistedState.batteryLevel);
+
+        mDevice.setBatteryLevel(10);
+
+        assertEquals(true, mDevice.batterySaverEnabled); // No longer snoozing.
+        assertEquals(10, mPersistedState.batteryLevel);
+
+        mTarget.setBatterySaverEnabledManually(false); // Manually disable -> snooze.
+
+        // Plug in and out, snooze will reset.
+        mDevice.setPowered(true);
+        mDevice.setPowered(false);
+
+        assertEquals(true, mDevice.batterySaverEnabled);
+        assertEquals(10, mPersistedState.batteryLevel);
+
+        mDevice.setPowered(true);
+        mDevice.setBatteryLevel(60);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(60, mPersistedState.batteryLevel);
+
+        // Test toggling resets snooze.
+        mDevice.putGlobalSetting(Global.LOW_POWER_MODE_TRIGGER_LEVEL, 50);
+        mDevice.setPowered(false);
+        mDevice.setBatteryLevel(45);
+
+        assertEquals(true, mDevice.batterySaverEnabled);
+        assertEquals(45, mPersistedState.batteryLevel);
+
+        mTarget.setBatterySaverEnabledManually(false); // Manually disable -> snooze.
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(45, mPersistedState.batteryLevel);
+
+        // Disable and re-enable.
+        mDevice.putGlobalSetting(Global.LOW_POWER_MODE_TRIGGER_LEVEL, 0);
+        mDevice.putGlobalSetting(Global.LOW_POWER_MODE_TRIGGER_LEVEL, 50);
+
+        assertEquals(true, mDevice.batterySaverEnabled); // Snooze reset
+        assertEquals(45, mPersistedState.batteryLevel);
+    }
+
+    @Test
+    public void testAutoBatterySaver_snoozed_dynamicEnabled() {
+        // Test auto threshold higher than dynamic to make sure it doesn't interfere when it's
+        // not enabled.
+        mDevice.putGlobalSetting(Global.LOW_POWER_MODE_TRIGGER_LEVEL, 50);
+        mDevice.putGlobalSetting(Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD, 30);
+        mDevice.putGlobalSetting(Global.AUTOMATIC_POWER_SAVER_MODE,
+                PowerManager.POWER_SAVER_MODE_DYNAMIC);
+        mDevice.putGlobalSetting(Global.DYNAMIC_POWER_SAVINGS_ENABLED, 1);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(100, mPersistedState.batteryLevel);
+
+        mDevice.setBatteryLevel(90);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(90, mPersistedState.batteryLevel);
+
+        mDevice.setBatteryLevel(51);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(51, mPersistedState.batteryLevel);
+
+        // Hit automatic threshold. BS should be disabled since automatic is off
+        mDevice.setBatteryLevel(50);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(50, mPersistedState.batteryLevel);
+
+        mDevice.setBatteryLevel(30);
+
+        assertEquals(true, mDevice.batterySaverEnabled);
+        assertEquals(30, mPersistedState.batteryLevel);
+
+        mDevice.setPowered(true);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(30, mPersistedState.batteryLevel);
+
+        mDevice.setPowered(false);
+
+        assertEquals(true, mDevice.batterySaverEnabled);
+        assertEquals(30, mPersistedState.batteryLevel);
+
+        mTarget.setBatterySaverEnabledManually(false); // Manually disable -> snooze.
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(30, mPersistedState.batteryLevel);
+
+        mDevice.setBatteryLevel(20);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(20, mPersistedState.batteryLevel);
+
+        // Lower threshold. Level is still below, so should still be snoozed.
+        mDevice.putGlobalSetting(Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD, 25);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(20, mPersistedState.batteryLevel);
+
+        // Lower threshold even more. Battery no longer considered "low" so snoozing should be
+        // disabled.
+        mDevice.putGlobalSetting(Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD, 10);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(20, mPersistedState.batteryLevel);
+
+        mDevice.setBatteryLevel(10);
+
+        assertEquals(true, mDevice.batterySaverEnabled); // No longer snoozing.
+        assertEquals(10, mPersistedState.batteryLevel);
+
+        mTarget.setBatterySaverEnabledManually(false); // Manually disable -> snooze.
+
+        // Plug in and out, snooze will reset.
+        mDevice.setPowered(true);
+        mDevice.setPowered(false);
+
+        assertEquals(true, mDevice.batterySaverEnabled);
+        assertEquals(10, mPersistedState.batteryLevel);
+
+        mDevice.setPowered(true);
+        mDevice.setBatteryLevel(60);
+
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(60, mPersistedState.batteryLevel);
+
+        // Test toggling resets snooze.
+        mDevice.putGlobalSetting(Global.DYNAMIC_POWER_SAVINGS_DISABLE_THRESHOLD, 50);
+        mDevice.setPowered(false);
+        mDevice.setBatteryLevel(45);
+
+        assertEquals(true, mDevice.batterySaverEnabled);
+        assertEquals(45, mPersistedState.batteryLevel);
+
+        mTarget.setBatterySaverEnabledManually(false); // Manually disable -> snooze.
+        assertEquals(false, mDevice.batterySaverEnabled);
+        assertEquals(45, mPersistedState.batteryLevel);
+
+        // Disable and re-enable.
+        mDevice.putGlobalSetting(Global.DYNAMIC_POWER_SAVINGS_ENABLED, 0);
+        mDevice.putGlobalSetting(Global.DYNAMIC_POWER_SAVINGS_ENABLED, 1);
+
+        assertEquals(true, mDevice.batterySaverEnabled); // Snooze reset
+        assertEquals(45, mPersistedState.batteryLevel);
+    }
 }
diff --git a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityServiceConnectionTest.java b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityServiceConnectionTest.java
index 66d9345..2ed25ea 100644
--- a/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityServiceConnectionTest.java
+++ b/services/tests/servicestests/src/com/android/server/accessibility/AccessibilityServiceConnectionTest.java
@@ -99,8 +99,8 @@
     public void bind_requestsContextToBindService() {
         mConnection.bindLocked();
         verify(mMockContext).bindServiceAsUser(any(Intent.class), eq(mConnection),
-                eq(Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE),
-                any(UserHandle.class));
+                eq(Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE_WHILE_AWAKE
+                | Context.BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS), any(UserHandle.class));
     }
 
     @Test
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 93cac08..71b4397 100644
--- a/services/tests/servicestests/src/com/android/server/am/MemoryStatUtilTest.java
+++ b/services/tests/servicestests/src/com/android/server/am/MemoryStatUtilTest.java
@@ -21,6 +21,7 @@
 import static com.android.server.am.MemoryStatUtil.MemoryStat;
 import static com.android.server.am.MemoryStatUtil.PAGE_SIZE;
 import static com.android.server.am.MemoryStatUtil.parseCmdlineFromProcfs;
+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.parseVmHWMFromProcfs;
@@ -178,6 +179,33 @@
             + "voluntary_ctxt_switches:\t903\n"
             + "nonvoluntary_ctxt_switches:\t104\n";
 
+    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");
+
     @Test
     public void testParseMemoryStatFromMemcg_parsesCorrectValues() {
         MemoryStat stat = parseMemoryStatFromMemcg(MEMORY_STAT_CONTENTS);
@@ -271,4 +299,21 @@
         output.write(bytes, 0, bytes.length);
         return output.toString();
     }
+
+    @Test
+    public void testParseIonHeapSizeFromDebugfs_emptyContents() {
+        assertEquals(0, parseIonHeapSizeFromDebugfs(""));
+
+        assertEquals(0, parseIonHeapSizeFromDebugfs(null));
+    }
+
+    @Test
+    public void testParseIonHeapSizeFromDebugfs_invalidValue() {
+        assertEquals(0, parseIonHeapSizeFromDebugfs("<<no-value>>"));
+    }
+
+    @Test
+    public void testParseIonHeapSizeFromDebugfs_correctValue() {
+        assertEquals(55193600, parseIonHeapSizeFromDebugfs(DEBUG_SYSTEM_ION_HEAP_CONTENTS));
+    }
 }
diff --git a/services/tests/servicestests/src/com/android/server/am/ProcessRecordTests.java b/services/tests/servicestests/src/com/android/server/am/ProcessRecordTests.java
new file mode 100644
index 0000000..5b85980
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/am/ProcessRecordTests.java
@@ -0,0 +1,160 @@
+/*
+ * 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.server.am;
+
+import static android.testing.DexmakerShareClassLoaderRule.runWithDexmakerShareClassLoader;
+
+import static androidx.test.platform.app.InstrumentationRegistry.getInstrumentation;
+
+import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertTrue;
+import static org.mockito.Mockito.doNothing;
+import static org.mockito.Mockito.doReturn;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.spy;
+
+import android.content.Context;
+import android.platform.test.annotations.Presubmit;
+
+import androidx.test.filters.FlakyTest;
+
+import com.android.server.wm.ActivityTaskManagerService;
+
+import org.junit.Before;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+import java.util.Collections;
+
+/**
+ * Build/Install/Run:
+ *  atest FrameworksServicesTests:ProcessRecordTests
+ */
+@Presubmit
+@FlakyTest(detail = "Promote to presubmit when shown to be stable.")
+public class ProcessRecordTests {
+    private static Context sContext;
+    private static ActivityManagerService sService;
+
+    private ProcessRecord mProcessRecord;
+
+    @BeforeClass
+    public static void setUpOnce() throws Exception {
+        sContext = getInstrumentation().getTargetContext();
+
+        // We need to run with dexmaker share class loader to make use of ActivityTaskManagerService
+        // from wm package.
+        runWithDexmakerShareClassLoader(() -> {
+            sService = mock(ActivityManagerService.class);
+            sService.mActivityTaskManager = new ActivityTaskManagerService(sContext);
+            sService.mActivityTaskManager.initialize(null, null, sContext.getMainLooper());
+            sService.mAtmInternal = sService.mActivityTaskManager.getAtmInternal();
+        });
+    }
+
+    @Before
+    public void setUpProcess() throws Exception {
+        // Need to run with dexmaker share class loader to mock package private class.
+        runWithDexmakerShareClassLoader(() -> {
+            mProcessRecord = spy(new ProcessRecord(sService, sContext.getApplicationInfo(),
+                    "name", 12345));
+            doNothing().when(mProcessRecord).startAppProblemLocked();
+            doReturn(false).when(mProcessRecord).isSilentAnr();
+            doReturn(false).when(mProcessRecord).isMonitorCpuUsage();
+            doReturn(Collections.emptyList()).when(mProcessRecord).getLruProcessList();
+        });
+    }
+
+
+    /**
+     * This test verifies the process default status. If this doesn't pass, none of the other tests
+     * should be able to pass.
+     */
+    @Test
+    public void testProcessDefaultAnrRelatedStatus() {
+        assertFalse(mProcessRecord.isNotResponding());
+        assertFalse(mProcessRecord.isCrashing());
+        assertFalse(mProcessRecord.killedByAm);
+        assertFalse(mProcessRecord.killed);
+    }
+
+    /**
+     * This test verifies that if the process is crashing, Anr will do nothing.
+     */
+    @Test
+    public void testAnrWhenCrash() {
+        mProcessRecord.setCrashing(true);
+        assertTrue(mProcessRecord.isCrashing());
+        mProcessRecord.appNotResponding(null, null, null, null, false, "Test ANR when crash");
+        assertFalse(mProcessRecord.isNotResponding());
+        assertFalse(mProcessRecord.killedByAm);
+        assertFalse(mProcessRecord.killed);
+    }
+
+    /**
+     * This test verifies that if the process is killed by AM, Anr will do nothing.
+     */
+    @Test
+    public void testAnrWhenKilledByAm() {
+        mProcessRecord.killedByAm = true;
+        mProcessRecord.appNotResponding(null, null, null, null, false,
+                "Test ANR when killed by AM");
+        assertFalse(mProcessRecord.isNotResponding());
+        assertFalse(mProcessRecord.isCrashing());
+        assertFalse(mProcessRecord.killed);
+    }
+
+    /**
+     * This test verifies that if the process is killed, Anr will do nothing.
+     */
+    @Test
+    public void testAnrWhenKilled() {
+        mProcessRecord.killed = true;
+        mProcessRecord.appNotResponding(null, null, null, null, false, "Test ANR when killed");
+        assertFalse(mProcessRecord.isNotResponding());
+        assertFalse(mProcessRecord.isCrashing());
+        assertFalse(mProcessRecord.killedByAm);
+    }
+
+    /**
+     * This test verifies that non-silent ANR can run through successfully and the corresponding
+     * flags can be set correctly.
+     */
+    @Test
+    public void testNonSilentAnr() {
+        mProcessRecord.appNotResponding(null, null, null, null, false, "Test non-silent ANR");
+        assertTrue(mProcessRecord.isNotResponding());
+        assertFalse(mProcessRecord.isCrashing());
+        assertFalse(mProcessRecord.killedByAm);
+        assertFalse(mProcessRecord.killed);
+    }
+
+    /**
+     * This test verifies that silent ANR can run through successfully and the corresponding flags
+     * can be set correctly.
+     */
+    @Test
+    public void testSilentAnr() {
+        // Silent Anr will run through even without a parent process, and directly killed by AM.
+        doReturn(true).when(mProcessRecord).isSilentAnr();
+        mProcessRecord.appNotResponding(null, null, null, null, false, "Test silent ANR");
+        assertTrue(mProcessRecord.isNotResponding());
+        assertFalse(mProcessRecord.isCrashing());
+        assertTrue(mProcessRecord.killedByAm);
+        assertTrue(mProcessRecord.killed);
+    }
+}
diff --git a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
index 4293247..bd7774a 100644
--- a/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/devicepolicy/DevicePolicyManagerTest.java
@@ -29,6 +29,7 @@
 import static android.os.UserManagerInternal.CAMERA_DISABLED_LOCALLY;
 import static android.os.UserManagerInternal.CAMERA_NOT_DISABLED;
 
+import static com.android.internal.widget.LockPatternUtils.EscrowTokenStateChangeCallback;
 import static com.android.server.testutils.TestUtils.assertExpectException;
 
 import static org.mockito.Matchers.any;
@@ -4157,8 +4158,9 @@
         final byte[] token = new byte[32];
         final long handle = 123456;
         final String password = "password";
-        when(getServices().lockPatternUtils.addEscrowToken(eq(token), eq(UserHandle.USER_SYSTEM)))
-            .thenReturn(handle);
+        when(getServices().lockPatternUtils.addEscrowToken(eq(token), eq(UserHandle.USER_SYSTEM),
+                nullable(EscrowTokenStateChangeCallback.class)))
+                .thenReturn(handle);
         assertTrue(dpm.setResetPasswordToken(admin1, token));
 
         // test password activation
@@ -5019,8 +5021,7 @@
         configureContextForAccess(mContext, false);
 
         assertExpectException(SecurityException.class, /* messageRegex= */ null,
-                () -> dpm.setProfileOwnerCanAccessDeviceIdsForUser(admin2,
-                        UserHandle.of(DpmMockContext.CALLER_UID)));
+                () -> dpm.setProfileOwnerCanAccessDeviceIds(admin2));
     }
 
     public void testGrantDeviceIdsAccess_notByAuthorizedCaller() throws Exception {
@@ -5028,8 +5029,7 @@
         configureContextForAccess(mContext, false);
 
         assertExpectException(SecurityException.class, /* messageRegex= */ null,
-                () -> dpm.setProfileOwnerCanAccessDeviceIdsForUser(admin1,
-                        UserHandle.of(DpmMockContext.CALLER_UID)));
+                () -> dpm.setProfileOwnerCanAccessDeviceIds(admin1));
     }
 
     public void testGrantDeviceIdsAccess_byAuthorizedSystemCaller() throws Exception {
@@ -5058,8 +5058,7 @@
                         DpmMockContext.CALLER_MANAGED_PROVISIONING_UID);
         try {
             runAsCaller(mServiceContext, dpms, dpm -> {
-                dpm.setProfileOwnerCanAccessDeviceIdsForUser(admin1,
-                        UserHandle.of(DpmMockContext.CALLER_USER_HANDLE));
+                dpm.setProfileOwnerCanAccessDeviceIds(admin1);
             });
         } finally {
             mServiceContext.binder.restoreCallingIdentity(ident);
@@ -5199,7 +5198,7 @@
     public void testGetPasswordComplexity_currentUserNoPassword() {
         when(getServices().userManager.isUserUnlocked(DpmMockContext.CALLER_USER_HANDLE))
                 .thenReturn(true);
-        mServiceContext.permissions.add(permission.REQUEST_SCREEN_LOCK_COMPLEXITY);
+        mServiceContext.permissions.add(permission.REQUEST_PASSWORD_COMPLEXITY);
         when(getServices().userManager.getCredentialOwnerProfile(DpmMockContext.CALLER_USER_HANDLE))
                 .thenReturn(DpmMockContext.CALLER_USER_HANDLE);
 
@@ -5209,7 +5208,7 @@
     public void testGetPasswordComplexity_currentUserHasPassword() {
         when(getServices().userManager.isUserUnlocked(DpmMockContext.CALLER_USER_HANDLE))
                 .thenReturn(true);
-        mServiceContext.permissions.add(permission.REQUEST_SCREEN_LOCK_COMPLEXITY);
+        mServiceContext.permissions.add(permission.REQUEST_PASSWORD_COMPLEXITY);
         when(getServices().userManager.getCredentialOwnerProfile(DpmMockContext.CALLER_USER_HANDLE))
                 .thenReturn(DpmMockContext.CALLER_USER_HANDLE);
         dpms.mUserPasswordMetrics.put(
@@ -5222,7 +5221,7 @@
     public void testGetPasswordComplexity_unifiedChallengeReturnsParentUserPassword() {
         when(getServices().userManager.isUserUnlocked(DpmMockContext.CALLER_USER_HANDLE))
                 .thenReturn(true);
-        mServiceContext.permissions.add(permission.REQUEST_SCREEN_LOCK_COMPLEXITY);
+        mServiceContext.permissions.add(permission.REQUEST_PASSWORD_COMPLEXITY);
 
         UserInfo parentUser = new UserInfo();
         parentUser.id = DpmMockContext.CALLER_USER_HANDLE + 10;
@@ -5312,7 +5311,7 @@
         mServiceContext.binder.callingUid =
                 UserHandle.getUid(DpmMockContext.CALLER_USER_HANDLE, DpmMockContext.SYSTEM_UID);
         runAsCaller(mServiceContext, dpms, dpm -> {
-            dpm.setProfileOwnerCanAccessDeviceIdsForUser(who, UserHandle.of(userId));
+            dpm.setProfileOwnerCanAccessDeviceIds(who);
         });
         mServiceContext.binder.restoreCallingIdentity(ident);
     }
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/BaseLockSettingsServiceTests.java b/services/tests/servicestests/src/com/android/server/locksettings/BaseLockSettingsServiceTests.java
index aadf924..3d02576 100644
--- a/services/tests/servicestests/src/com/android/server/locksettings/BaseLockSettingsServiceTests.java
+++ b/services/tests/servicestests/src/com/android/server/locksettings/BaseLockSettingsServiceTests.java
@@ -88,6 +88,7 @@
     IAuthSecret mAuthSecretService;
     WindowManagerInternal mMockWindowManager;
     FakeGsiService mGsiService;
+    PasswordSlotManagerTestable mPasswordSlotManager;
     protected boolean mHasSecureLockScreen;
 
     @Override
@@ -103,6 +104,7 @@
         mDevicePolicyManagerInternal = mock(DevicePolicyManagerInternal.class);
         mMockWindowManager = mock(WindowManagerInternal.class);
         mGsiService = new FakeGsiService();
+        mPasswordSlotManager = new PasswordSlotManagerTestable();
 
         LocalServices.removeServiceForTest(LockSettingsInternal.class);
         LocalServices.removeServiceForTest(DevicePolicyManagerInternal.class);
@@ -135,7 +137,7 @@
             }
         };
         mSpManager = new MockSyntheticPasswordManager(mContext, mStorage, mGateKeeperService,
-                mUserManager);
+                mUserManager, mPasswordSlotManager);
         mAuthSecretService = mock(IAuthSecret.class);
         mService = new LockSettingsServiceTestable(mContext, mLockPatternUtils, mStorage,
                 mGateKeeperService, mKeyStore, setUpStorageManagerMock(), mActivityManager,
@@ -223,6 +225,8 @@
 
         File storageDir = mStorage.mStorageDir;
         assertTrue(FileUtils.deleteContents(storageDir));
+
+        mPasswordSlotManager.cleanup();
     }
 
     protected void assertNotEquals(long expected, long actual) {
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/MockSyntheticPasswordManager.java b/services/tests/servicestests/src/com/android/server/locksettings/MockSyntheticPasswordManager.java
index b9cb730..5a3f12c 100644
--- a/services/tests/servicestests/src/com/android/server/locksettings/MockSyntheticPasswordManager.java
+++ b/services/tests/servicestests/src/com/android/server/locksettings/MockSyntheticPasswordManager.java
@@ -35,10 +35,12 @@
 
     private FakeGateKeeperService mGateKeeper;
     private IWeaver mWeaverService;
+    private PasswordSlotManagerTestable mPasswordSlotManager;
 
     public MockSyntheticPasswordManager(Context context, LockSettingsStorage storage,
-            FakeGateKeeperService gatekeeper, UserManager userManager) {
-        super(context, storage, userManager);
+            FakeGateKeeperService gatekeeper, UserManager userManager,
+            PasswordSlotManager passwordSlotManager) {
+        super(context, storage, userManager, passwordSlotManager);
         mGateKeeper = gatekeeper;
     }
 
@@ -117,5 +119,4 @@
         mWeaverService = new MockWeaverService();
         initWeaverService();
     }
-
 }
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/PasswordSlotManagerTestable.java b/services/tests/servicestests/src/com/android/server/locksettings/PasswordSlotManagerTestable.java
new file mode 100644
index 0000000..1e855a9
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/locksettings/PasswordSlotManagerTestable.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.server.locksettings;
+
+import androidx.test.InstrumentationRegistry;
+
+import java.io.File;
+import java.nio.file.Files;
+import java.nio.file.Paths;
+
+public class PasswordSlotManagerTestable extends PasswordSlotManager {
+
+    private int mGsiImageNumber;
+    private String mSlotMapDir;
+
+    public PasswordSlotManagerTestable() {
+        mGsiImageNumber = 0;
+    }
+
+    @Override
+    protected int getGsiImageNumber() {
+        return mGsiImageNumber;
+    }
+
+    @Override
+    protected String getSlotMapDir() {
+        if (mSlotMapDir == null) {
+            final File testDir = InstrumentationRegistry.getContext().getFilesDir();
+            if (!testDir.exists()) {
+                testDir.mkdirs();
+            }
+
+            mSlotMapDir = testDir.getPath();
+        }
+        return mSlotMapDir;
+    }
+
+    void setGsiImageNumber(int gsiImageNumber) {
+        mGsiImageNumber = gsiImageNumber;
+    }
+
+    void cleanup() {
+        try {
+            Files.delete(Paths.get(getSlotMapDir(), "slot_map"));
+        } catch (Exception e) {
+        }
+    }
+};
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/PasswordSlotManagerTests.java b/services/tests/servicestests/src/com/android/server/locksettings/PasswordSlotManagerTests.java
new file mode 100644
index 0000000..1d5a99b
--- /dev/null
+++ b/services/tests/servicestests/src/com/android/server/locksettings/PasswordSlotManagerTests.java
@@ -0,0 +1,122 @@
+/*
+ * 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.server.locksettings;
+
+import android.test.AndroidTestCase;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+public class PasswordSlotManagerTests extends AndroidTestCase {
+
+    PasswordSlotManagerTestable mManager;
+
+    @Override
+    protected void setUp() throws Exception {
+        super.setUp();
+
+        mManager = new PasswordSlotManagerTestable();
+    }
+
+    @Override
+    protected void tearDown() throws Exception {
+        super.tearDown();
+
+        mManager.cleanup();
+    }
+
+    public void testBasicSlotUse() throws Exception {
+        mManager.markSlotInUse(0);
+        mManager.markSlotInUse(1);
+
+        Set<Integer> expected = new HashSet<Integer>();
+        expected.add(0);
+        expected.add(1);
+        assertEquals(expected, mManager.getUsedSlots());
+
+        mManager.markSlotDeleted(1);
+
+        expected = new HashSet<Integer>();
+        expected.add(0);
+        assertEquals(expected, mManager.getUsedSlots());
+    }
+
+    public void testMergeSlots() throws Exception {
+        // Add some slots from a different OS image.
+        mManager.setGsiImageNumber(1);
+        mManager.markSlotInUse(4);
+        mManager.markSlotInUse(6);
+
+        // Switch back to the host image.
+        mManager.setGsiImageNumber(0);
+        mManager.markSlotInUse(0);
+        mManager.markSlotInUse(3);
+        mManager.markSlotInUse(5);
+
+        // Correct slot information for the host image.
+        Set<Integer> actual = new HashSet<Integer>();
+        actual.add(1);
+        actual.add(3);
+        mManager.refreshActiveSlots(actual);
+
+        Set<Integer> expected = new HashSet<Integer>();
+        expected.add(1);
+        expected.add(3);
+        expected.add(4);
+        expected.add(6);
+        assertEquals(expected, mManager.getUsedSlots());
+    }
+
+    public void testSerialization() throws Exception {
+        mManager.markSlotInUse(0);
+        mManager.markSlotInUse(1);
+        mManager.setGsiImageNumber(1);
+        mManager.markSlotInUse(4);
+
+        final ByteArrayOutputStream saved = new ByteArrayOutputStream();
+        mManager.saveSlotMap(saved);
+
+        final HashMap<Integer, String> expected = new HashMap<Integer, String>();
+        expected.put(0, "host");
+        expected.put(1, "host");
+        expected.put(4, "gsi1");
+
+        final Map<Integer, String> map = mManager.loadSlotMap(
+                new ByteArrayInputStream(saved.toByteArray()));
+        assertEquals(expected, map);
+    }
+
+    public void testSaving() throws Exception {
+        mManager.markSlotInUse(0);
+        mManager.markSlotInUse(1);
+        mManager.setGsiImageNumber(1);
+        mManager.markSlotInUse(4);
+
+        // Make a new one. It should load the previous map.
+        mManager = new PasswordSlotManagerTestable();
+
+        Set<Integer> expected = new HashSet<Integer>();
+        expected.add(0);
+        expected.add(1);
+        expected.add(4);
+        assertEquals(expected, mManager.getUsedSlots());
+    }
+}
diff --git a/services/tests/servicestests/src/com/android/server/locksettings/SyntheticPasswordTests.java b/services/tests/servicestests/src/com/android/server/locksettings/SyntheticPasswordTests.java
index e6e020d..6a07a45 100644
--- a/services/tests/servicestests/src/com/android/server/locksettings/SyntheticPasswordTests.java
+++ b/services/tests/servicestests/src/com/android/server/locksettings/SyntheticPasswordTests.java
@@ -68,7 +68,7 @@
         final byte[] password = "user-password".getBytes();
         final byte[] badPassword = "bad-password".getBytes();
         MockSyntheticPasswordManager manager = new MockSyntheticPasswordManager(mContext, mStorage,
-                mGateKeeperService, mUserManager);
+                mGateKeeperService, mUserManager, mPasswordSlotManager);
         AuthenticationToken authToken = manager.newSyntheticPasswordAndSid(mGateKeeperService, null,
                 null, USER_ID);
         long handle = manager.createPasswordBasedSyntheticPassword(mGateKeeperService,
@@ -338,12 +338,15 @@
         initializeCredentialUnderSP(password, PRIMARY_USER_ID);
         final byte[] storageKey = mStorageManager.getUserUnlockToken(PRIMARY_USER_ID);
 
-        long handle = mLocalService.addEscrowToken(token, PRIMARY_USER_ID);
+        assertFalse(mService.hasPendingEscrowToken(PRIMARY_USER_ID));
+        long handle = mLocalService.addEscrowToken(token, PRIMARY_USER_ID, null);
         assertFalse(mLocalService.isEscrowTokenActive(handle, PRIMARY_USER_ID));
+        assertTrue(mService.hasPendingEscrowToken(PRIMARY_USER_ID));
 
         mService.verifyCredential(password, LockPatternUtils.CREDENTIAL_TYPE_PASSWORD, 0,
                 PRIMARY_USER_ID).getResponseCode();
         assertTrue(mLocalService.isEscrowTokenActive(handle, PRIMARY_USER_ID));
+        assertFalse(mService.hasPendingEscrowToken(PRIMARY_USER_ID));
 
         mLocalService.setLockCredentialWithToken(pattern, LockPatternUtils.CREDENTIAL_TYPE_PATTERN,
                 handle, token, PASSWORD_QUALITY_SOMETHING, PRIMARY_USER_ID);
@@ -367,7 +370,7 @@
         initializeCredentialUnderSP(password, PRIMARY_USER_ID);
         final byte[] storageKey = mStorageManager.getUserUnlockToken(PRIMARY_USER_ID);
 
-        long handle = mLocalService.addEscrowToken(token, PRIMARY_USER_ID);
+        long handle = mLocalService.addEscrowToken(token, PRIMARY_USER_ID, null);
         assertFalse(mLocalService.isEscrowTokenActive(handle, PRIMARY_USER_ID));
 
         mService.verifyCredential(password, LockPatternUtils.CREDENTIAL_TYPE_PASSWORD,
@@ -393,7 +396,7 @@
         initializeCredentialUnderSP(password, PRIMARY_USER_ID);
         final byte[] storageKey = mStorageManager.getUserUnlockToken(PRIMARY_USER_ID);
 
-        long handle = mLocalService.addEscrowToken(token, PRIMARY_USER_ID);
+        long handle = mLocalService.addEscrowToken(token, PRIMARY_USER_ID, null);
         assertFalse(mLocalService.isEscrowTokenActive(handle, PRIMARY_USER_ID));
 
         mService.verifyCredential(password, LockPatternUtils.CREDENTIAL_TYPE_PASSWORD,
@@ -417,7 +420,7 @@
             throws RemoteException {
         final String token = "some-high-entropy-secure-token";
         enableSyntheticPassword();
-        long handle = mLocalService.addEscrowToken(token.getBytes(), PRIMARY_USER_ID);
+        long handle = mLocalService.addEscrowToken(token.getBytes(), PRIMARY_USER_ID, null);
         assertTrue(mLocalService.isEscrowTokenActive(handle, PRIMARY_USER_ID));
         assertEquals(0, mGateKeeperService.getSecureUserId(PRIMARY_USER_ID));
         assertTrue(hasSyntheticPassword(PRIMARY_USER_ID));
@@ -427,7 +430,7 @@
             throws RemoteException {
         final String token = "some-high-entropy-secure-token";
         initializeCredentialUnderSP(null, PRIMARY_USER_ID);
-        long handle = mLocalService.addEscrowToken(token.getBytes(), PRIMARY_USER_ID);
+        long handle = mLocalService.addEscrowToken(token.getBytes(), PRIMARY_USER_ID, null);
         assertTrue(mLocalService.isEscrowTokenActive(handle, PRIMARY_USER_ID));
         assertEquals(0, mGateKeeperService.getSecureUserId(PRIMARY_USER_ID));
         assertTrue(hasSyntheticPassword(PRIMARY_USER_ID));
@@ -443,7 +446,7 @@
                 PASSWORD_QUALITY_ALPHABETIC, PRIMARY_USER_ID);
         enableSyntheticPassword();
 
-        long handle = mLocalService.addEscrowToken(token, PRIMARY_USER_ID);
+        long handle = mLocalService.addEscrowToken(token, PRIMARY_USER_ID, null);
         // Token not activated immediately since user password exists
         assertFalse(mLocalService.isEscrowTokenActive(handle, PRIMARY_USER_ID));
         // Activate token (password gets migrated to SP at the same time)
@@ -461,7 +464,7 @@
 
         mHasSecureLockScreen = false;
         enableSyntheticPassword();
-        long handle = mLocalService.addEscrowToken(token, PRIMARY_USER_ID);
+        long handle = mLocalService.addEscrowToken(token, PRIMARY_USER_ID, null);
         assertTrue(mLocalService.isEscrowTokenActive(handle, PRIMARY_USER_ID));
 
         try {
diff --git a/services/tests/servicestests/src/com/android/server/pm/LauncherAppsServiceTest.java b/services/tests/servicestests/src/com/android/server/pm/LauncherAppsServiceTest.java
deleted file mode 100644
index d7dc58d..0000000
--- a/services/tests/servicestests/src/com/android/server/pm/LauncherAppsServiceTest.java
+++ /dev/null
@@ -1,87 +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.server.pm;
-
-import static org.junit.Assert.assertEquals;
-
-import android.content.pm.PackageParser;
-import android.content.pm.Signature;
-import android.content.pm.SigningInfo;
-import android.platform.test.annotations.Presubmit;
-
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.junit.MockitoJUnitRunner;
-
-@Presubmit
-@RunWith(MockitoJUnitRunner.class)
-public class LauncherAppsServiceTest {
-
-    private static final Signature SIGNATURE_1 = new Signature(new byte[]{0x00, 0x01, 0x02, 0x03});
-    private static final Signature SIGNATURE_2 = new Signature(new byte[]{0x04, 0x05, 0x06, 0x07});
-    private static final Signature SIGNATURE_3 = new Signature(new byte[]{0x08, 0x09, 0x10, 0x11});
-
-    @Test
-    public void testComputePackageCertDigest() {
-        String digest = LauncherAppsService.LauncherAppsImpl.computePackageCertDigest(SIGNATURE_1);
-        assertEquals("A02A05B025B928C039CF1AE7E8EE04E7C190C0DB", digest);
-    }
-
-    @Test
-    public void testGetLatestSignaturesWithSingleCert() {
-        SigningInfo signingInfo = new SigningInfo(
-                new PackageParser.SigningDetails(
-                        new Signature[]{SIGNATURE_1},
-                        PackageParser.SigningDetails.SignatureSchemeVersion.SIGNING_BLOCK_V3,
-                        null,
-                        null));
-        Signature[] signatures = LauncherAppsService.LauncherAppsImpl.getLatestSignatures(
-                signingInfo);
-        assertEquals(1, signatures.length);
-        assertEquals(SIGNATURE_1, signatures[0]);
-    }
-
-    @Test
-    public void testGetLatestSignaturesWithMultiCert() {
-        SigningInfo signingInfo = new SigningInfo(
-                new PackageParser.SigningDetails(
-                        new Signature[]{SIGNATURE_1, SIGNATURE_2},
-                        PackageParser.SigningDetails.SignatureSchemeVersion.SIGNING_BLOCK_V3,
-                        null,
-                        null));
-        Signature[] signatures = LauncherAppsService.LauncherAppsImpl.getLatestSignatures(
-                signingInfo);
-        assertEquals(2, signatures.length);
-        assertEquals(SIGNATURE_1, signatures[0]);
-        assertEquals(SIGNATURE_2, signatures[1]);
-    }
-
-    @Test
-    public void testGetLatestSignaturesWithCertHistory() {
-        SigningInfo signingInfo = new SigningInfo(
-                new PackageParser.SigningDetails(
-                        new Signature[]{SIGNATURE_1},
-                        PackageParser.SigningDetails.SignatureSchemeVersion.SIGNING_BLOCK_V3,
-                        null,
-                        new Signature[]{SIGNATURE_2, SIGNATURE_3}));
-        Signature[] signatures = LauncherAppsService.LauncherAppsImpl.getLatestSignatures(
-                signingInfo);
-        assertEquals(1, signatures.length);
-        assertEquals(SIGNATURE_2, signatures[0]);
-    }
-
-}
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageInstallerSessionTest.java b/services/tests/servicestests/src/com/android/server/pm/PackageInstallerSessionTest.java
index 26722fd..d3f33a1 100644
--- a/services/tests/servicestests/src/com/android/server/pm/PackageInstallerSessionTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/PackageInstallerSessionTest.java
@@ -167,6 +167,7 @@
                 /* stageDir */ mTmpDir,
                 /* stageCid */ null,
                 /* prepared */ true,
+                /* committed */ true,
                 /* sealed */ false,  // Setting to true would trigger some PM logic.
                 /* childSessionIds */ childSessionIds != null ? childSessionIds : new int[0],
                 /* parentSessionId */ parentSessionId,
@@ -300,6 +301,7 @@
         assertEquals(expected.getStagedSessionErrorMessage(),
                 actual.getStagedSessionErrorMessage());
         assertEquals(expected.isPrepared(), actual.isPrepared());
+        assertEquals(expected.isCommitted(), actual.isCommitted());
         assertEquals(expected.isSealed(), actual.isSealed());
         assertEquals(expected.isMultiPackage(), actual.isMultiPackage());
         assertEquals(expected.hasParentSessionId(), actual.hasParentSessionId());
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageManagerServiceTest.java b/services/tests/servicestests/src/com/android/server/pm/PackageManagerServiceTest.java
index 111fb74..4cfd098 100644
--- a/services/tests/servicestests/src/com/android/server/pm/PackageManagerServiceTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/PackageManagerServiceTest.java
@@ -56,11 +56,11 @@
             }
 
             @Override
-            public void notifyPackageAdded(String packageName) {
+            public void notifyPackageAdded(String packageName, int uid) {
             }
 
             @Override
-            public void notifyPackageRemoved(String packageName) {
+            public void notifyPackageRemoved(String packageName, int uid) {
             }
         }
 
diff --git a/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java b/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
index 72357ce..3c3721c 100644
--- a/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/PackageParserTest.java
@@ -15,6 +15,8 @@
  */
 package com.android.server.pm;
 
+import static android.content.res.Resources.ID_NULL;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertSame;
@@ -453,8 +455,8 @@
         pkg.splitPrivateFlags = new int[] { 100 };
         pkg.applicationInfo = new ApplicationInfo();
 
-        pkg.permissions.add(new PackageParser.Permission(pkg));
-        pkg.permissionGroups.add(new PackageParser.PermissionGroup(pkg));
+        pkg.permissions.add(new PackageParser.Permission(pkg, (String) null));
+        pkg.permissionGroups.add(new PackageParser.PermissionGroup(pkg, ID_NULL, ID_NULL, ID_NULL));
 
         final PackageParser.ParseComponentArgs dummy = new PackageParser.ParseComponentArgs(
                 pkg, new String[1], 0, 0, 0, 0, 0, 0, null, 0, 0, 0);
diff --git a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest2.java b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest2.java
index 9504381..cd095a5 100644
--- a/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest2.java
+++ b/services/tests/servicestests/src/com/android/server/pm/ShortcutManagerTest2.java
@@ -250,7 +250,7 @@
                 .setCategories(set(ShortcutInfo.SHORTCUT_CATEGORY_CONVERSATION, "xyz"))
                 .setRank(123)
                 .setPerson(makePerson("person", "personKey", "personUri"))
-                .setLongLived()
+                .setLongLived(true)
                 .setExtras(pb)
                 .build();
         si.addFlags(ShortcutInfo.FLAG_PINNED);
@@ -352,7 +352,7 @@
                 .setIntent(makeIntent("action", ShortcutActivity.class, "key", "val"))
                 .setRank(123)
                 .setPerson(makePerson("person", "personKey", "personUri"))
-                .setLongLived()
+                .setLongLived(true)
                 .setExtras(pb)
                 .build();
         sorig.addFlags(ShortcutInfo.FLAG_PINNED);
diff --git a/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java b/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java
index 3ebc6ad..e9edba5 100644
--- a/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java
+++ b/services/tests/servicestests/src/com/android/server/pm/UserManagerTest.java
@@ -185,6 +185,18 @@
     }
 
     @MediumTest
+    public void testRemoveUserByHandle_ThrowsException() {
+        synchronized (mUserRemoveLock) {
+            try {
+                mUserManager.removeUser(null);
+                fail("Expected IllegalArgumentException on passing in a null UserHandle.");
+            } catch (IllegalArgumentException expected) {
+                // Do nothing - exception is expected.
+            }
+        }
+    }
+
+    @MediumTest
     public void testAddGuest() throws Exception {
         UserInfo userInfo1 = createUser("Guest 1", UserInfo.FLAG_GUEST);
         UserInfo userInfo2 = createUser("Guest 2", UserInfo.FLAG_GUEST);
@@ -520,6 +532,12 @@
         }
     }
 
+    public void testGetUserSwitchability() {
+        int userSwitchable = mUserManager.getUserSwitchability();
+        assertEquals("Expected users to be switchable", UserManager.SWITCHABILITY_STATUS_OK,
+                userSwitchable);
+    }
+
     @LargeTest
     public void testSwitchUser() {
         ActivityManager am = getContext().getSystemService(ActivityManager.class);
diff --git a/services/tests/servicestests/src/com/android/server/power/batterysaver/BatterySaverPolicyTest.java b/services/tests/servicestests/src/com/android/server/power/batterysaver/BatterySaverPolicyTest.java
index 5c0a1c8..98cfc41 100644
--- a/services/tests/servicestests/src/com/android/server/power/batterysaver/BatterySaverPolicyTest.java
+++ b/services/tests/servicestests/src/com/android/server/power/batterysaver/BatterySaverPolicyTest.java
@@ -58,6 +58,7 @@
             + "fullbackup_deferred=true,"
             + "keyvaluebackup_deferred=false,"
             + "gps_mode=0," // LOCATION_MODE_NO_CHANGE
+            + "enable_night_mode=false,"
             + "quick_doze_enabled=true";
     private static final String BATTERY_SAVER_INCORRECT_CONSTANTS = "vi*,!=,,true";
 
@@ -234,6 +235,10 @@
         final PowerSaveState quickDozeState = mBatterySaverPolicy.getBatterySaverPolicy(
                 ServiceType.QUICK_DOZE);
         assertThat(quickDozeState.batterySaverEnabled).isTrue();
+
+        final PowerSaveState nightModeState = mBatterySaverPolicy.getBatterySaverPolicy(
+                ServiceType.NIGHT_MODE);
+        assertThat(nightModeState.batterySaverEnabled).isFalse();
     }
 
     @SmallTest
diff --git a/services/tests/servicestests/src/com/android/server/usage/AppTimeLimitControllerTests.java b/services/tests/servicestests/src/com/android/server/usage/AppTimeLimitControllerTests.java
index 1f86171..958b23f 100644
--- a/services/tests/servicestests/src/com/android/server/usage/AppTimeLimitControllerTests.java
+++ b/services/tests/servicestests/src/com/android/server/usage/AppTimeLimitControllerTests.java
@@ -175,9 +175,9 @@
     /** Verify app usage limit observer is added */
     @Test
     public void testAppUsageLimitObserver_AddObserver() {
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, TIME_30_MIN);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, 0);
         assertTrue("Observer wasn't added", hasAppUsageLimitObserver(UID, OBS_ID1));
-        addAppUsageLimitObserver(OBS_ID2, GROUP_GAME, TIME_30_MIN, TIME_30_MIN);
+        addAppUsageLimitObserver(OBS_ID2, GROUP_GAME, TIME_30_MIN, 0);
         assertTrue("Observer wasn't added", hasAppUsageLimitObserver(UID, OBS_ID2));
         assertTrue("Observer wasn't added", hasAppUsageLimitObserver(UID, OBS_ID1));
     }
@@ -203,7 +203,7 @@
     /** Verify app usage limit observer is removed */
     @Test
     public void testAppUsageLimitObserver_RemoveObserver() {
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, TIME_30_MIN);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, 0);
         assertTrue("Observer wasn't added", hasAppUsageLimitObserver(UID, OBS_ID1));
         mController.removeAppUsageLimitObserver(UID, OBS_ID1, USER_ID);
         assertFalse("Observer wasn't removed", hasAppUsageLimitObserver(UID, OBS_ID1));
@@ -290,9 +290,9 @@
     /** Re-adding an observer should result in only one copy */
     @Test
     public void testAppUsageLimitObserver_ObserverReAdd() {
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, TIME_30_MIN);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, 0);
         assertTrue("Observer wasn't added", hasAppUsageLimitObserver(UID, OBS_ID1));
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_10_MIN, TIME_10_MIN);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_10_MIN, 0);
         assertTrue("Observer wasn't added",
                 getAppUsageLimitObserver(UID, OBS_ID1).getTimeLimitMs() == TIME_10_MIN);
         mController.removeAppUsageLimitObserver(UID, OBS_ID1, USER_ID);
@@ -304,7 +304,7 @@
     public void testAllObservers_ExclusiveObserverIds() {
         addAppUsageObserver(OBS_ID1, GROUP1, TIME_10_MIN);
         addUsageSessionObserver(OBS_ID1, GROUP1, TIME_30_MIN, TIME_1_MIN);
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_10_MIN, TIME_10_MIN);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_10_MIN, 0);
         assertTrue("Observer wasn't added", hasAppUsageObserver(UID, OBS_ID1));
         assertTrue("Observer wasn't added", hasUsageSessionObserver(UID, OBS_ID1));
         assertTrue("Observer wasn't added", hasAppUsageLimitObserver(UID, OBS_ID1));
@@ -396,7 +396,7 @@
     @Test
     public void testAppUsageLimitObserver_Accumulation() throws Exception {
         setTime(0L);
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, TIME_30_MIN);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, 0);
         startUsage(PKG_SOC1);
         // Add 10 mins
         setTime(TIME_10_MIN);
@@ -456,7 +456,7 @@
     @Test
     public void testAppUsageLimitObserver_TimeoutOtherApp() throws Exception {
         setTime(0L);
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, 4_000L, 4_000L);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, 4_000L, 0);
         startUsage(PKG_SOC2);
         assertFalse(mLimitReachedLatch.await(6_000L, TimeUnit.MILLISECONDS));
         setTime(6_000L);
@@ -498,7 +498,7 @@
     @Test
     public void testAppUsageLimitObserver_Timeout() throws Exception {
         setTime(0L);
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, 4_000L, 4_000L);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, 4_000L, 0);
         startUsage(PKG_SOC1);
         setTime(6_000L);
         assertTrue(mLimitReachedLatch.await(6_000L, TimeUnit.MILLISECONDS));
@@ -551,7 +551,7 @@
         setTime(TIME_10_MIN);
         startUsage(PKG_GAME1);
         setTime(TIME_30_MIN);
-        addAppUsageLimitObserver(OBS_ID2, GROUP_GAME, TIME_30_MIN, TIME_30_MIN);
+        addAppUsageLimitObserver(OBS_ID2, GROUP_GAME, TIME_30_MIN, 0);
         setTime(TIME_30_MIN + TIME_10_MIN);
         stopUsage(PKG_GAME1);
         assertFalse(mLimitReachedLatch.await(1_000L, TimeUnit.MILLISECONDS));
@@ -612,7 +612,7 @@
         startUsage(PKG_SOC1);
         setTime(TIME_10_MIN);
         // 10 second time limit
-        addAppUsageLimitObserver(OBS_ID1, GROUP_SOC, 10_000L, 10_000L);
+        addAppUsageLimitObserver(OBS_ID1, GROUP_SOC, 10_000L, 0);
         setTime(TIME_10_MIN + 5_000L);
         // Shouldn't call back in 6 seconds
         assertFalse(mLimitReachedLatch.await(6_000L, TimeUnit.MILLISECONDS));
@@ -692,23 +692,23 @@
     public void testAppUsageLimitObserver_MaxObserverLimit() throws Exception {
         boolean receivedException = false;
         int ANOTHER_UID = UID + 1;
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, TIME_30_MIN);
-        addAppUsageLimitObserver(OBS_ID2, GROUP1, TIME_30_MIN, TIME_30_MIN);
-        addAppUsageLimitObserver(OBS_ID3, GROUP1, TIME_30_MIN, TIME_30_MIN);
-        addAppUsageLimitObserver(OBS_ID4, GROUP1, TIME_30_MIN, TIME_30_MIN);
-        addAppUsageLimitObserver(OBS_ID5, GROUP1, TIME_30_MIN, TIME_30_MIN);
-        addAppUsageLimitObserver(OBS_ID6, GROUP1, TIME_30_MIN, TIME_30_MIN);
-        addAppUsageLimitObserver(OBS_ID7, GROUP1, TIME_30_MIN, TIME_30_MIN);
-        addAppUsageLimitObserver(OBS_ID8, GROUP1, TIME_30_MIN, TIME_30_MIN);
-        addAppUsageLimitObserver(OBS_ID9, GROUP1, TIME_30_MIN, TIME_30_MIN);
-        addAppUsageLimitObserver(OBS_ID10, GROUP1, TIME_30_MIN, TIME_30_MIN);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, 0);
+        addAppUsageLimitObserver(OBS_ID2, GROUP1, TIME_30_MIN, 0);
+        addAppUsageLimitObserver(OBS_ID3, GROUP1, TIME_30_MIN, 0);
+        addAppUsageLimitObserver(OBS_ID4, GROUP1, TIME_30_MIN, 0);
+        addAppUsageLimitObserver(OBS_ID5, GROUP1, TIME_30_MIN, 0);
+        addAppUsageLimitObserver(OBS_ID6, GROUP1, TIME_30_MIN, 0);
+        addAppUsageLimitObserver(OBS_ID7, GROUP1, TIME_30_MIN, 0);
+        addAppUsageLimitObserver(OBS_ID8, GROUP1, TIME_30_MIN, 0);
+        addAppUsageLimitObserver(OBS_ID9, GROUP1, TIME_30_MIN, 0);
+        addAppUsageLimitObserver(OBS_ID10, GROUP1, TIME_30_MIN, 0);
         // Readding an observer should not cause an IllegalStateException
-        addAppUsageLimitObserver(OBS_ID5, GROUP1, TIME_30_MIN, TIME_30_MIN);
+        addAppUsageLimitObserver(OBS_ID5, GROUP1, TIME_30_MIN, 0);
         // Adding an observer for a different uid shouldn't cause an IllegalStateException
         mController.addAppUsageLimitObserver(
-                ANOTHER_UID, OBS_ID11, GROUP1, TIME_30_MIN, TIME_30_MIN, null, USER_ID);
+                ANOTHER_UID, OBS_ID11, GROUP1, TIME_30_MIN, 0, null, USER_ID);
         try {
-            addAppUsageLimitObserver(OBS_ID11, GROUP1, TIME_30_MIN, TIME_30_MIN);
+            addAppUsageLimitObserver(OBS_ID11, GROUP1, TIME_30_MIN, 0);
         } catch (IllegalStateException ise) {
             receivedException = true;
         }
@@ -748,9 +748,9 @@
     public void testAppUsageLimitObserver_MinimumTimeLimit() throws Exception {
         boolean receivedException = false;
         // adding an observer with a one minute time limit should not cause an exception
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, MIN_TIME_LIMIT, MIN_TIME_LIMIT);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, MIN_TIME_LIMIT, 0);
         try {
-            addAppUsageLimitObserver(OBS_ID1, GROUP1, MIN_TIME_LIMIT - 1, MIN_TIME_LIMIT - 1);
+            addAppUsageLimitObserver(OBS_ID1, GROUP1, MIN_TIME_LIMIT - 1, 0);
         } catch (IllegalArgumentException iae) {
             receivedException = true;
         }
@@ -807,7 +807,7 @@
     @Test
     public void testAppUsageLimitObserver_ConcurrentUsage() throws Exception {
         setTime(0L);
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, TIME_30_MIN);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, 0);
         AppTimeLimitController.UsageGroup group = getAppUsageLimitObserver(UID, OBS_ID1);
         startUsage(PKG_SOC1);
         // Add 10 mins
@@ -967,7 +967,7 @@
     /** Verify app usage limit observer added correctly reports its total usage limit */
     @Test
     public void testAppUsageLimitObserver_GetTotalUsageLimit() {
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, TIME_30_MIN);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, 0);
         AppTimeLimitController.AppUsageLimitGroup group = getAppUsageLimitObserver(UID, OBS_ID1);
         assertNotNull("Observer wasn't added", group);
         assertEquals("Observer didn't correctly report total usage limit",
@@ -978,7 +978,7 @@
     @Test
     public void testAppUsageLimitObserver_GetUsageRemaining() {
         setTime(0L);
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, TIME_30_MIN);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, 0);
         startUsage(PKG_SOC1);
         setTime(TIME_10_MIN);
         stopUsage(PKG_SOC1);
@@ -993,8 +993,8 @@
      */
     @Test
     public void testAppUsageLimitObserver_GetAppUsageLimit() {
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, TIME_30_MIN);
-        addAppUsageLimitObserver(OBS_ID2, GROUP_SOC, TIME_10_MIN, TIME_10_MIN);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, 0);
+        addAppUsageLimitObserver(OBS_ID2, GROUP_SOC, TIME_10_MIN, 0);
         UsageStatsManagerInternal.AppUsageLimitData group = getAppUsageLimit(PKG_SOC1);
         assertEquals("Observer with the smallest usage limit remaining wasn't returned",
                 TIME_10_MIN, group.getTotalUsageLimit());
@@ -1006,8 +1006,8 @@
     @Test
     public void testAppUsageLimitObserver_GetAppUsageLimitUsed() {
         setTime(0L);
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, TIME_30_MIN);
-        addAppUsageLimitObserver(OBS_ID2, GROUP_SOC, TIME_10_MIN, TIME_10_MIN);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, 0);
+        addAppUsageLimitObserver(OBS_ID2, GROUP_SOC, TIME_10_MIN, 0);
         startUsage(PKG_GAME1);
         setTime(TIME_10_MIN * 2 + TIME_1_MIN);
         stopUsage(PKG_GAME1);
@@ -1024,8 +1024,8 @@
     @Test
     public void testAppUsageLimitObserver_GetAppUsageLimitAllUsed() {
         setTime(0L);
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, TIME_30_MIN);
-        addAppUsageLimitObserver(OBS_ID2, GROUP_SOC, TIME_10_MIN, TIME_10_MIN);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_30_MIN, 0);
+        addAppUsageLimitObserver(OBS_ID2, GROUP_SOC, TIME_10_MIN, 0);
         startUsage(PKG_SOC1);
         setTime(TIME_10_MIN);
         stopUsage(PKG_SOC1);
@@ -1046,10 +1046,10 @@
         }
     }
 
-    /** Verify that a limit of 0 is allowed for the special case of re-registering an observer. */
+    /** Verify that timeUsed can be the same as timeLimit (for re-registering observers). */
     @Test
     public void testAppUsageLimitObserver_ZeroTimeRemainingIsAllowed() {
-        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_1_MIN, 0);
+        addAppUsageLimitObserver(OBS_ID1, GROUP1, TIME_1_MIN, TIME_1_MIN);
         AppTimeLimitController.AppUsageLimitGroup group = getAppUsageLimitObserver(UID, OBS_ID1);
         assertNotNull("Observer wasn't added", group);
         assertEquals("Usage remaining was not 0.", 0, group.getUsageRemaining());
@@ -1078,8 +1078,8 @@
     }
 
     private void addAppUsageLimitObserver(int observerId, String[] packages, long timeLimit,
-            long timeRemaining) {
-        mController.addAppUsageLimitObserver(UID, observerId, packages, timeLimit, timeRemaining,
+            long timeUsed) {
+        mController.addAppUsageLimitObserver(UID, observerId, packages, timeLimit, timeUsed,
                 null, USER_ID);
     }
 
diff --git a/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java b/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java
index e36586e..2077ecb 100644
--- a/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java
+++ b/services/tests/shortcutmanagerutils/src/com/android/server/pm/shortcutmanagertest/ShortcutManagerTestUtils.java
@@ -36,6 +36,7 @@
 import android.app.Instrumentation;
 import android.content.ComponentName;
 import android.content.Context;
+import android.content.LocusId;
 import android.content.pm.LauncherApps;
 import android.content.pm.LauncherApps.Callback;
 import android.content.pm.ShortcutInfo;
@@ -369,6 +370,10 @@
         return ret;
     }
 
+    public static LocusId locusId(String id) {
+        return new LocusId(id);
+    }
+
     public static void resetAll(Collection<?> mocks) {
         for (Object o : mocks) {
             reset(o);
diff --git a/services/tests/uiservicestests/Android.bp b/services/tests/uiservicestests/Android.bp
index e4ab257..92198fa 100644
--- a/services/tests/uiservicestests/Android.bp
+++ b/services/tests/uiservicestests/Android.bp
@@ -22,6 +22,7 @@
         "platform-test-annotations",
         "hamcrest-library",
         "testables",
+        "truth-prebuilt",
     ],
 
     libs: [
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/ManagedServicesTest.java b/services/tests/uiservicestests/src/com/android/server/notification/ManagedServicesTest.java
index 7a530df..43fe674 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/ManagedServicesTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/ManagedServicesTest.java
@@ -1228,5 +1228,10 @@
         protected void onServiceAdded(ManagedServiceInfo info) {
 
         }
+
+        @Override
+        protected String getRequiredPermission() {
+            return null;
+        }
     }
 }
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java
index 19b567f..88186cd 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationAssistantsTest.java
@@ -114,10 +114,10 @@
 
     @Test
     public void testXmlUpgrade() {
-        mAssistants.ensureAssistant();
+        mAssistants.resetDefaultAssistantsIfNecessary();
 
         //once per user
-        verify(mNm, times(mUm.getUsers().size())).readDefaultAssistant(anyInt());
+        verify(mNm, times(mUm.getUsers().size())).setDefaultAssistantForUser(anyInt());
     }
 
     @Test
@@ -132,7 +132,7 @@
         parser.nextTag();
         mAssistants.readXml(parser, null, false, UserHandle.USER_ALL);
 
-        verify(mNm, never()).readDefaultAssistant(anyInt());
+        verify(mNm, never()).setDefaultAssistantForUser(anyInt());
         verify(mAssistants, times(1)).addApprovedList(
                 new ComponentName("b", "b").flattenToString(),10, true);
     }
@@ -143,13 +143,13 @@
         ComponentName component2 = ComponentName.unflattenFromString("package/Component2");
         mAssistants.setPackageOrComponentEnabled(component1.flattenToString(), mZero.id, true,
                 true);
-        verify(mINm, never()).setNotificationAssistantAccessGrantedForUser(any(ComponentName.class),
-                eq(mZero.id), anyBoolean());
+        verify(mNm, never()).setNotificationAssistantAccessGrantedForUserInternal(
+                any(ComponentName.class), eq(mZero.id), anyBoolean());
 
         mAssistants.setPackageOrComponentEnabled(component2.flattenToString(), mZero.id, true,
                 true);
-        verify(mINm, times(1)).setNotificationAssistantAccessGrantedForUser(component1, mZero.id,
-                false);
+        verify(mNm, times(1)).setNotificationAssistantAccessGrantedForUserInternal(
+                component1, mZero.id, false);
     }
 
     @Test
@@ -159,7 +159,7 @@
                 true);
         mAssistants.setPackageOrComponentEnabled(component1.flattenToString(), mZero.id, true,
                 true);
-        verify(mINm, never()).setNotificationAssistantAccessGrantedForUser(any(ComponentName.class),
-                eq(mZero.id), anyBoolean());
+        verify(mNm, never()).setNotificationAssistantAccessGrantedForUserInternal(
+                any(ComponentName.class), eq(mZero.id), anyBoolean());
     }
 }
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 31788ae..6f96759 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationManagerServiceTest.java
@@ -37,6 +37,7 @@
 import static android.app.NotificationManager.Policy.SUPPRESSED_EFFECT_STATUS_BAR;
 import static android.content.pm.PackageManager.FEATURE_WATCH;
 import static android.content.pm.PackageManager.PERMISSION_DENIED;
+import static android.content.pm.PackageManager.PERMISSION_GRANTED;
 import static android.os.Build.VERSION_CODES.O_MR1;
 import static android.os.Build.VERSION_CODES.P;
 import static android.service.notification.NotificationListenerService.Ranking.USER_SENTIMENT_NEGATIVE;
@@ -98,7 +99,9 @@
 import android.os.Process;
 import android.os.RemoteException;
 import android.os.UserHandle;
+import android.provider.DeviceConfig;
 import android.provider.MediaStore;
+import android.provider.Settings;
 import android.service.notification.Adjustment;
 import android.service.notification.NotificationListenerService;
 import android.service.notification.NotificationStats;
@@ -109,11 +112,17 @@
 import android.testing.TestableContext;
 import android.testing.TestableLooper;
 import android.testing.TestableLooper.RunWithLooper;
+import android.testing.TestablePermissions;
 import android.text.Html;
 import android.util.ArrayMap;
+import android.util.ArraySet;
 import android.util.AtomicFile;
 
+import androidx.annotation.Nullable;
+import androidx.test.InstrumentationRegistry;
+
 import com.android.internal.R;
+import com.android.internal.config.sysui.SystemUiDeviceConfigFlags;
 import com.android.internal.statusbar.NotificationVisibility;
 import com.android.server.LocalServices;
 import com.android.server.SystemService;
@@ -142,6 +151,7 @@
 import java.io.FileOutputStream;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Map;
@@ -153,6 +163,13 @@
 @RunWithLooper
 public class NotificationManagerServiceTest extends UiServiceTestCase {
     private static final String TEST_CHANNEL_ID = "NotificationManagerServiceTestChannelId";
+    private static final String CLEAR_DEVICE_CONFIG_KEY_CMD =
+            "device_config delete " + DeviceConfig.NAMESPACE_SYSTEMUI + " "
+                    + SystemUiDeviceConfigFlags.NAS_DEFAULT_SERVICE;
+    private static final String SET_DEFAULT_ASSISTANT_DEVICE_CONFIG_CMD =
+            "device_config put " + DeviceConfig.NAMESPACE_SYSTEMUI + " "
+                    + SystemUiDeviceConfigFlags.NAS_DEFAULT_SERVICE;
+
     private final int mUid = Binder.getCallingUid();
     private TestableNotificationManagerService mService;
     private INotificationManager mBinderService;
@@ -208,6 +225,9 @@
     AppOpsManager mAppOpsManager;
     @Mock
     private UserManagerService mUserMangerService;
+    @Mock
+    private TestableNotificationManagerService.NotificationAssistantAccessGrantedCallback
+            mNotificationAssistantAccessGrantedCallback;
 
     // Use a Testable subclass so we can simulate calls from the system without failing.
     private static class TestableNotificationManagerService extends NotificationManagerService {
@@ -215,6 +235,8 @@
         boolean isSystemUid = true;
         int countLogSmartSuggestionsVisible = 0;
         UserManagerService mUserManagerService;
+        @Nullable
+        NotificationAssistantAccessGrantedCallback mNotificationAssistantAccessGrantedCallback;
 
         TestableNotificationManagerService(Context context, UserManagerService userManagerService) {
             super(context);
@@ -258,6 +280,26 @@
         UserManagerService getUserManagerService() {
             return mUserManagerService;
         }
+
+        @Override
+        protected void setNotificationAssistantAccessGrantedForUserInternal(
+                ComponentName assistant, int userId, boolean granted) {
+            if (mNotificationAssistantAccessGrantedCallback != null) {
+                mNotificationAssistantAccessGrantedCallback.onGranted(assistant, userId, granted);
+                return;
+            }
+            super.setNotificationAssistantAccessGrantedForUserInternal(assistant, userId, granted);
+        }
+
+        private void setNotificationAssistantAccessGrantedCallback(
+                @Nullable NotificationAssistantAccessGrantedCallback callback) {
+            this.mNotificationAssistantAccessGrantedCallback = callback;
+        }
+
+        interface NotificationAssistantAccessGrantedCallback {
+            void onGranted(ComponentName assistant, int userId, boolean granted);
+        }
+
     }
 
     private class TestableToastCallback extends ITransientNotification.Stub {
@@ -272,6 +314,9 @@
 
     @Before
     public void setUp() throws Exception {
+        InstrumentationRegistry.getInstrumentation().getUiAutomation().adoptShellPermissionIdentity(
+                "android.permission.WRITE_DEVICE_CONFIG", "android.permission.READ_DEVICE_CONFIG");
+
         MockitoAnnotations.initMocks(this);
 
         LocalServices.removeServiceForTest(UriGrantsManagerInternal.class);
@@ -352,6 +397,9 @@
     @After
     public void tearDown() throws Exception {
         mFile.delete();
+        clearDeviceConfig();
+        InstrumentationRegistry.getInstrumentation()
+                .getUiAutomation().dropShellPermissionIdentity();
     }
 
     public void waitForIdle() {
@@ -2029,6 +2077,7 @@
         verify(mContext, times(1)).sendBroadcastAsUser(any(), eq(user), any());
         verify(mAssistants, times(1)).setPackageOrComponentEnabled(
                 c.flattenToString(), user.getIdentifier(), true, true);
+        verify(mAssistants).setUserSet(10, true);
         verify(mConditionProviders, times(1)).setPackageOrComponentEnabled(
                 c.flattenToString(), user.getIdentifier(), false, true);
         verify(mListeners, never()).setPackageOrComponentEnabled(
@@ -2518,7 +2567,7 @@
         verify(mListeners, times(1)).migrateToXml();
         verify(mConditionProviders, times(1)).migrateToXml();
         verify(mAssistants, times(1)).migrateToXml();
-        verify(mAssistants, never()).ensureAssistant();
+        verify(mAssistants, times(2)).resetDefaultAssistantsIfNecessary();
     }
 
     @Test
@@ -2538,7 +2587,7 @@
         verify(mListeners, times(2)).migrateToXml();
         verify(mConditionProviders, times(2)).migrateToXml();
         verify(mAssistants, times(2)).migrateToXml();
-        verify(mAssistants, never()).ensureAssistant();
+        verify(mAssistants, times(2)).resetDefaultAssistantsIfNecessary();
     }
 
     @Test
@@ -3619,7 +3668,7 @@
                 .thenReturn(new String[] {"a", "b", "c"});
         when(mContext.getResources()).thenReturn(mResources);
 
-        assertEquals(false, mService.canUseManagedServices(null));
+        assertEquals(false, mService.canUseManagedServices(null, 0, null));
     }
 
     @Test
@@ -3630,7 +3679,7 @@
                 .thenReturn(new String[] {"a", "b", "c"});
         when(mContext.getResources()).thenReturn(mResources);
 
-        assertEquals(true, mService.canUseManagedServices("b"));
+        assertEquals(true, mService.canUseManagedServices("b", 0, null));
     }
 
     @Test
@@ -3641,7 +3690,7 @@
                 .thenReturn(new String[] {"a", "b", "c"});
         when(mContext.getResources()).thenReturn(mResources);
 
-        assertEquals(false, mService.canUseManagedServices("d"));
+        assertEquals(false, mService.canUseManagedServices("d", 0, null));
     }
 
     @Test
@@ -3652,7 +3701,7 @@
                 .thenReturn(new String[] {"a", "b", "c"});
         when(mContext.getResources()).thenReturn(mResources);
 
-        assertEquals(true, mService.canUseManagedServices("d"));
+        assertEquals(true, mService.canUseManagedServices("d", 0, null));
     }
 
     @Test
@@ -3663,7 +3712,7 @@
                 .thenReturn(new String[] {"a", "b", "c"});
         when(mContext.getResources()).thenReturn(mResources);
 
-        assertEquals(true, mService.canUseManagedServices("d"));
+        assertEquals(true, mService.canUseManagedServices("d", 0 , null));
     }
 
     @Test
@@ -3674,7 +3723,28 @@
                 .thenReturn(new String[] {"a", "b", "c"});
         when(mContext.getResources()).thenReturn(mResources);
 
-        assertEquals(true, mService.canUseManagedServices("d"));
+        assertEquals(true, mService.canUseManagedServices("d", 0, null));
+    }
+
+    @Test
+    public void testCanUseManagedServices_hasPermission() throws Exception {
+        when(mPackageManager.checkPermission("perm", "pkg", 0))
+                .thenReturn(PackageManager.PERMISSION_GRANTED);
+
+        assertEquals(true, mService.canUseManagedServices("pkg", 0, "perm"));
+    }
+
+    @Test
+    public void testCanUseManagedServices_noPermission() throws Exception {
+        when(mPackageManager.checkPermission("perm", "pkg", 0))
+                .thenReturn(PackageManager.PERMISSION_DENIED);
+
+        assertEquals(false, mService.canUseManagedServices("pkg", 0, "perm"));
+    }
+
+    @Test
+    public void testCanUseManagedServices_permDoesNotMatter() {
+        assertEquals(true, mService.canUseManagedServices("pkg", 0, null));
     }
 
     @Test
@@ -4101,4 +4171,97 @@
         verify(mListeners).notifyRemovedLocked(any(), anyInt(), captor.capture());
         assertNotNull(captor.getValue());
     }
+
+    @Test
+    public void testCanNotifyAsUser_crossUser() throws Exception {
+        // same user no problem
+        mBinderService.canNotifyAsPackage("src", "target", mContext.getUserId());
+
+        // cross user, no permission, problem
+        try {
+            mBinderService.canNotifyAsPackage("src", "target", mContext.getUserId() + 1);
+            fail("Should not be callable cross user without cross user permission");
+        } catch (SecurityException e) {
+            // good
+        }
+
+        // cross user, with permission, no problem
+        TestablePermissions perms = mContext.getTestablePermissions();
+        perms.setPermission(android.Manifest.permission.INTERACT_ACROSS_USERS, PERMISSION_GRANTED);
+        mBinderService.canNotifyAsPackage("src", "target", mContext.getUserId() + 1);
+    }
+
+    @Test
+    public void setDefaultAssistantForUser_fromConfigXml() {
+        clearDeviceConfig();
+        ComponentName xmlConfig = new ComponentName("config", "xml");
+        when(mResources
+                .getString(
+                        com.android.internal.R.string.config_defaultAssistantAccessComponent))
+                .thenReturn(xmlConfig.flattenToString());
+        when(mContext.getResources()).thenReturn(mResources);
+        when(mAssistants.queryPackageForServices(eq(null), anyInt(), eq(0)))
+                .thenReturn(Collections.singleton(xmlConfig));
+        mService.setNotificationAssistantAccessGrantedCallback(
+                mNotificationAssistantAccessGrantedCallback);
+
+        mService.setDefaultAssistantForUser(0);
+
+        verify(mNotificationAssistantAccessGrantedCallback)
+                .onGranted(eq(xmlConfig), eq(0), eq(true));
+    }
+
+    @Test
+    public void setDefaultAssistantForUser_fromDeviceConfig() {
+        ComponentName xmlConfig = new ComponentName("xml", "config");
+        ComponentName deviceConfig = new ComponentName("device", "config");
+        setDefaultAssistantInDeviceConfig(deviceConfig.flattenToString());
+        when(mResources
+                .getString(com.android.internal.R.string.config_defaultAssistantAccessComponent))
+                .thenReturn(xmlConfig.flattenToString());
+        when(mContext.getResources()).thenReturn(mResources);
+        when(mAssistants.queryPackageForServices(eq(null), anyInt(), eq(0)))
+                .thenReturn(new ArraySet<>(Arrays.asList(xmlConfig, deviceConfig)));
+        mService.setNotificationAssistantAccessGrantedCallback(
+                mNotificationAssistantAccessGrantedCallback);
+
+        mService.setDefaultAssistantForUser(0);
+
+        verify(mNotificationAssistantAccessGrantedCallback)
+                .onGranted(eq(deviceConfig), eq(0), eq(true));
+    }
+
+    @Test
+    public void setDefaultAssistantForUser_deviceConfigInvalid() {
+        ComponentName xmlConfig = new ComponentName("xml", "config");
+        ComponentName deviceConfig = new ComponentName("device", "config");
+        setDefaultAssistantInDeviceConfig(deviceConfig.flattenToString());
+        when(mResources
+                .getString(com.android.internal.R.string.config_defaultAssistantAccessComponent))
+                .thenReturn(xmlConfig.flattenToString());
+        when(mContext.getResources()).thenReturn(mResources);
+        // Only xmlConfig is valid, deviceConfig is not.
+        when(mAssistants.queryPackageForServices(eq(null), anyInt(), eq(0)))
+                .thenReturn(Collections.singleton(xmlConfig));
+        mService.setNotificationAssistantAccessGrantedCallback(
+                mNotificationAssistantAccessGrantedCallback);
+
+        mService.setDefaultAssistantForUser(0);
+
+        verify(mNotificationAssistantAccessGrantedCallback)
+                .onGranted(eq(xmlConfig), eq(0), eq(true));
+    }
+
+    private void clearDeviceConfig() {
+        DeviceConfig.resetToDefaults(
+                Settings.RESET_MODE_PACKAGE_DEFAULTS, DeviceConfig.NAMESPACE_SYSTEMUI);
+    }
+
+    private void setDefaultAssistantInDeviceConfig(String componentName) {
+        DeviceConfig.setProperty(
+                DeviceConfig.NAMESPACE_SYSTEMUI,
+                SystemUiDeviceConfigFlags.NAS_DEFAULT_SERVICE,
+                componentName,
+                false);
+    }
 }
diff --git a/services/tests/uiservicestests/src/com/android/server/notification/NotificationRecordTest.java b/services/tests/uiservicestests/src/com/android/server/notification/NotificationRecordTest.java
index 9f11472..e375195 100644
--- a/services/tests/uiservicestests/src/com/android/server/notification/NotificationRecordTest.java
+++ b/services/tests/uiservicestests/src/com/android/server/notification/NotificationRecordTest.java
@@ -19,6 +19,7 @@
 import static android.app.NotificationManager.IMPORTANCE_DEFAULT;
 import static android.app.NotificationManager.IMPORTANCE_HIGH;
 import static android.app.NotificationManager.IMPORTANCE_LOW;
+import static android.service.notification.Adjustment.KEY_IMPORTANCE;
 import static android.service.notification.NotificationListenerService.Ranking.USER_SENTIMENT_NEGATIVE;
 import static android.service.notification.NotificationListenerService.Ranking.USER_SENTIMENT_NEUTRAL;
 import static android.service.notification.NotificationListenerService.Ranking.USER_SENTIMENT_POSITIVE;
@@ -423,6 +424,138 @@
                 (int) logMaker.getTaggedData(MetricsEvent.NOTIFICATION_SINCE_VISIBLE_MILLIS));
         assertEquals(record.getInterruptionMs(timestamp),
                 (int) logMaker.getTaggedData(MetricsEvent.NOTIFICATION_SINCE_INTERRUPTION_MILLIS));
+        // If no importance calculation has been run, no explanation is available.
+        assertNull(logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_EXPLANATION));
+        assertNull(logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_INITIAL));
+        assertNull(logMaker.getTaggedData(
+                MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_INITIAL_EXPLANATION));
+        assertNull(logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_ASST));
+    }
+
+    @Test
+    public void testLogMakerImportanceApp() {
+        long timestamp = 1000L;
+        StatusBarNotification sbn = getNotification(PKG_O, true /* noisy */,
+                true /* defaultSound */, false /* buzzy */, false /* defaultBuzz */,
+                false /* lights */, false /* defaultLights */, null /* group */);
+        NotificationRecord record = new NotificationRecord(mMockContext, sbn, channel);
+
+        record.calculateImportance();  // This importance calculation will yield 'app'
+        final LogMaker logMaker = record.getLogMaker(timestamp);
+        assertEquals(MetricsEvent.IMPORTANCE_EXPLANATION_APP,
+                logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_EXPLANATION));
+        assertEquals(channel.getImportance(),
+                logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_CHANNEL_IMPORTANCE));
+        // The additional information is only populated if the initial importance is overridden.
+        assertNull(logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_INITIAL));
+        assertNull(logMaker.getTaggedData(
+                MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_INITIAL_EXPLANATION));
+        assertNull(logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_ASST));
+    }
+
+    @Test
+    public void testLogMakerImportanceAsst() {
+        long timestamp = 1000L;
+        StatusBarNotification sbn = getNotification(PKG_O, true /* noisy */,
+                true /* defaultSound */, false /* buzzy */, false /* defaultBuzz */,
+                false /* lights */, false /* defaultLights */, null /* group */);
+        NotificationRecord record = new NotificationRecord(mMockContext, sbn, channel);
+        Bundle signals = new Bundle();
+        signals.putInt(KEY_IMPORTANCE, IMPORTANCE_LOW);
+        record.addAdjustment(new Adjustment(PKG_O, KEY_IMPORTANCE, signals, "", uid));
+        record.applyAdjustments();
+        record.calculateImportance();  // This importance calculation will yield 'asst'
+        final LogMaker logMaker = record.getLogMaker(timestamp);
+        assertEquals(MetricsEvent.IMPORTANCE_EXPLANATION_ASST,
+                logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_EXPLANATION));
+        // Therefore this is the assistant-set importance
+        assertEquals(IMPORTANCE_LOW,
+                logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_CHANNEL_IMPORTANCE));
+        // Initial importance is populated so we know what it was, since it didn't get used.
+        assertEquals(channel.getImportance(),
+                logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_INITIAL));
+        assertEquals(MetricsEvent.IMPORTANCE_EXPLANATION_APP,
+                logMaker.getTaggedData(
+                        MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_INITIAL_EXPLANATION));
+        // This field is only populated if the assistant was itself overridden by the system.
+        assertNull(logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_ASST));
+    }
+
+    @Test
+    public void testLogMakerImportanceSystem() {
+        long timestamp = 1000L;
+        StatusBarNotification sbn = getNotification(PKG_O, true /* noisy */,
+                true /* defaultSound */, false /* buzzy */, false /* defaultBuzz */,
+                false /* lights */, false /* defaultLights */, null /* group */);
+        NotificationRecord record = new NotificationRecord(mMockContext, sbn, channel);
+        record.setSystemImportance(IMPORTANCE_HIGH);
+        record.calculateImportance();  // This importance calculation will yield 'system'
+        final LogMaker logMaker = record.getLogMaker(timestamp);
+        assertEquals(MetricsEvent.IMPORTANCE_EXPLANATION_SYSTEM,
+                logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_EXPLANATION));
+        // Therefore this is the system-set importance
+        assertEquals(IMPORTANCE_HIGH,
+                logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_CHANNEL_IMPORTANCE));
+        // Initial importance is populated so we know what it was, since it didn't get used.
+        assertEquals(channel.getImportance(),
+                logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_INITIAL));
+        assertEquals(MetricsEvent.IMPORTANCE_EXPLANATION_APP,
+                logMaker.getTaggedData(
+                        MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_INITIAL_EXPLANATION));
+        assertNull(logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_ASST));
+    }
+
+    @Test
+    public void testLogMakerImportanceUser() {
+        long timestamp = 1000L;
+        channel.lockFields(channel.USER_LOCKED_IMPORTANCE);
+        StatusBarNotification sbn = getNotification(PKG_O, true /* noisy */,
+                true /* defaultSound */, false /* buzzy */, false /* defaultBuzz */,
+                false /* lights */, false /* defaultLights */, null /* group */);
+        NotificationRecord record = new NotificationRecord(mMockContext, sbn, channel);
+        record.calculateImportance();  // This importance calculation will yield 'user'
+        final LogMaker logMaker = record.getLogMaker(timestamp);
+        assertEquals(MetricsEvent.IMPORTANCE_EXPLANATION_USER,
+                logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_EXPLANATION));
+        // Therefore this is the user-set importance
+        assertEquals(channel.getImportance(),
+                logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_CHANNEL_IMPORTANCE));
+        // The additional information is only populated if the initial importance is overridden.
+        assertNull(logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_INITIAL));
+        assertNull(logMaker.getTaggedData(
+                MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_INITIAL_EXPLANATION));
+        assertNull(logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_ASST));
+    }
+
+    @Test
+    public void testLogMakerImportanceMulti() {
+        long timestamp = 1000L;
+        channel.lockFields(channel.USER_LOCKED_IMPORTANCE);
+        StatusBarNotification sbn = getNotification(PKG_O, true /* noisy */,
+                true /* defaultSound */, false /* buzzy */, false /* defaultBuzz */,
+                false /* lights */, false /* defaultLights */, null /* group */);
+        NotificationRecord record = new NotificationRecord(mMockContext, sbn, channel);
+        // Add all 3 ways of overriding the app-set importance of the notification
+        Bundle signals = new Bundle();
+        signals.putInt(KEY_IMPORTANCE, IMPORTANCE_LOW);
+        record.addAdjustment(new Adjustment(PKG_O, KEY_IMPORTANCE, signals, "", uid));
+        record.applyAdjustments();
+        record.setSystemImportance(IMPORTANCE_HIGH);
+        record.calculateImportance();  // This importance calculation will yield 'system'
+        final LogMaker logMaker = record.getLogMaker(timestamp);
+        assertEquals(MetricsEvent.IMPORTANCE_EXPLANATION_SYSTEM,
+                logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_EXPLANATION));
+        // Therefore this is the system-set importance
+        assertEquals(IMPORTANCE_HIGH,
+                logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_CHANNEL_IMPORTANCE));
+        // Initial importance is populated so we know what it was, since it didn't get used.
+        assertEquals(channel.getImportance(),
+                logMaker.getTaggedData(MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_INITIAL));
+        assertEquals(MetricsEvent.IMPORTANCE_EXPLANATION_USER, logMaker.getTaggedData(
+                MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_INITIAL_EXPLANATION));
+        // Assistant importance is populated so we know what it was, since it didn't get used.
+        assertEquals(IMPORTANCE_LOW, logMaker.getTaggedData(
+                MetricsEvent.FIELD_NOTIFICATION_IMPORTANCE_ASST));
     }
 
     @Test
@@ -807,7 +940,7 @@
         assertEquals(IMPORTANCE_DEFAULT, record.getImportance());
 
         Bundle bundle = new Bundle();
-        bundle.putInt(Adjustment.KEY_IMPORTANCE, IMPORTANCE_LOW);
+        bundle.putInt(KEY_IMPORTANCE, IMPORTANCE_LOW);
         Adjustment adjustment = new Adjustment(
                 PKG_O, record.getKey(), bundle, "", record.getUserId());
 
@@ -831,7 +964,7 @@
         assertEquals(IMPORTANCE_DEFAULT, record.getImportance());
 
         Bundle bundle = new Bundle();
-        bundle.putInt(Adjustment.KEY_IMPORTANCE, IMPORTANCE_LOW);
+        bundle.putInt(KEY_IMPORTANCE, IMPORTANCE_LOW);
         Adjustment adjustment = new Adjustment(
                 PKG_O, record.getKey(), bundle, "", record.getUserId());
 
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityDisplayTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityDisplayTests.java
index 56f4a85..85e8a14 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityDisplayTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityDisplayTests.java
@@ -40,13 +40,19 @@
 import static org.mockito.ArgumentMatchers.eq;
 import static org.mockito.Mockito.doAnswer;
 
+import android.app.TaskStackListener;
+import android.content.pm.ActivityInfo;
+import android.os.IBinder;
 import android.platform.test.annotations.Presubmit;
 
 import androidx.test.filters.SmallTest;
 
-import org.junit.Before;
 import org.junit.Test;
 
+import java.util.ArrayList;
+import java.util.concurrent.CompletableFuture;
+import java.util.concurrent.TimeUnit;
+
 /**
  * Tests for the {@link ActivityDisplay} class.
  *
@@ -331,4 +337,45 @@
         verify(mSupervisor).removeTaskByIdLocked(eq(task1.taskId), anyBoolean(), anyBoolean(),
                 any());
     }
+
+    /**
+     * Ensures that {@link TaskStackListener} can receive callback about the activity in size
+     * compatibility mode.
+     */
+    @Test
+    public void testHandleActivitySizeCompatMode() throws Exception {
+        final ActivityDisplay display = mRootActivityContainer.getDefaultDisplay();
+        final ActivityRecord activity = createFullscreenStackWithSimpleActivityAt(
+                display).topRunningActivityLocked();
+        activity.setState(ActivityStack.ActivityState.RESUMED, "testHandleActivitySizeCompatMode");
+        activity.info.resizeMode = ActivityInfo.RESIZE_MODE_UNRESIZEABLE;
+        activity.info.screenOrientation = ActivityInfo.SCREEN_ORIENTATION_PORTRAIT;
+        activity.getTaskRecord().getConfiguration().windowConfiguration.getBounds().set(
+                0, 0, 1000, 2000);
+
+        final ArrayList<CompletableFuture<IBinder>> resultWrapper = new ArrayList<>();
+        mService.getTaskChangeNotificationController().registerTaskStackListener(
+                new TaskStackListener() {
+                    @Override
+                    public void onSizeCompatModeActivityChanged(int displayId,
+                            IBinder activityToken) {
+                        resultWrapper.get(0).complete(activityToken);
+                    }
+                });
+
+        // Expect the exact component name when the activity is in size compatible mode.
+        activity.getResolvedOverrideConfiguration().windowConfiguration.getBounds().set(
+                0, 0, 800, 1600);
+        resultWrapper.add(new CompletableFuture<>());
+        display.handleActivitySizeCompatModeIfNeeded(activity);
+
+        assertEquals(activity.appToken, resultWrapper.get(0).get(2, TimeUnit.SECONDS));
+
+        // Expect null component name when switching to non-size-compat mode activity.
+        activity.info.resizeMode = ActivityInfo.RESIZE_MODE_RESIZEABLE;
+        resultWrapper.set(0, new CompletableFuture<>());
+        display.handleActivitySizeCompatModeIfNeeded(activity);
+
+        assertNull(resultWrapper.get(0).get(2, TimeUnit.SECONDS));
+    }
 }
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
index 1319bad..457d9c0 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityRecordTests.java
@@ -21,6 +21,7 @@
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.any;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyInt;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.doAnswer;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.doNothing;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.eq;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock;
@@ -38,6 +39,7 @@
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
+import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
@@ -171,6 +173,24 @@
     }
 
     @Test
+    public void testRestartProcessIfVisible() {
+        doNothing().when(mSupervisor).scheduleRestartTimeout(mActivity);
+        mActivity.getParent().getWindowConfiguration().setAppBounds(0, 0, 500, 1000);
+        mActivity.visible = true;
+        mActivity.haveState = false;
+        mActivity.info.resizeMode = ActivityInfo.RESIZE_MODE_UNRESIZEABLE;
+        mActivity.info.maxAspectRatio = 1.5f;
+        mActivity.setState(ActivityStack.ActivityState.RESUMED, "testRestart");
+        final Rect originalOverrideBounds = new Rect(0, 0, 400, 600);
+        mActivity.setBounds(originalOverrideBounds);
+
+        mService.restartActivityProcessIfVisible(mActivity.appToken);
+
+        assertEquals(ActivityStack.ActivityState.RESTARTING_PROCESS, mActivity.getState());
+        assertNotEquals(originalOverrideBounds, mActivity.getBounds());
+    }
+
+    @Test
     public void testsApplyOptionsLocked() {
         ActivityOptions activityOptions = ActivityOptions.makeBasic();
 
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStackSupervisorTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStackSupervisorTests.java
index 59e71c4..9583b8ac 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityStackSupervisorTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStackSupervisorTests.java
@@ -18,32 +18,26 @@
 
 import static android.app.ActivityManager.START_DELIVERED_TO_TOP;
 import static android.app.ActivityManager.START_TASK_TO_FRONT;
+import static android.app.ITaskStackListener.FORCED_RESIZEABLE_REASON_SECONDARY_DISPLAY;
 import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
 
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.doAnswer;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.never;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.reset;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.times;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
 
 import static com.google.common.truth.Truth.assertThat;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
-import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.mockito.ArgumentMatchers.any;
-import static org.mockito.ArgumentMatchers.anyBoolean;
 import static org.mockito.ArgumentMatchers.anyInt;
-import static org.mockito.ArgumentMatchers.contains;
+import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.eq;
 
 import android.app.WaitResult;
+import android.content.pm.ActivityInfo;
 import android.platform.test.annotations.Presubmit;
 
 import androidx.test.filters.MediumTest;
@@ -112,4 +106,44 @@
             assertEquals(deliverToTopWait.who, firstActivity.mActivityComponent);
         }
     }
+
+    /**
+     * Ensures that {@link TaskChangeNotificationController} notifies only when an activity is
+     * forced to resize on secondary display.
+     */
+    @Test
+    public void testHandleNonResizableTaskOnSecondaryDisplay() {
+        // Create an unresizable task on secondary display.
+        final ActivityDisplay newDisplay = addNewActivityDisplayAt(ActivityDisplay.POSITION_TOP);
+        final ActivityStack stack = new StackBuilder(mRootActivityContainer)
+                .setDisplay(newDisplay).build();
+        final ActivityRecord unresizableActivity = stack.getTopActivity();
+        final TaskRecord task = unresizableActivity.getTaskRecord();
+        unresizableActivity.info.resizeMode = ActivityInfo.RESIZE_MODE_UNRESIZEABLE;
+        task.setResizeMode(unresizableActivity.info.resizeMode);
+
+        final TaskChangeNotificationController taskChangeNotifier =
+                mService.getTaskChangeNotificationController();
+        spyOn(taskChangeNotifier);
+
+        mSupervisor.handleNonResizableTaskIfNeeded(task, newDisplay.getWindowingMode(),
+                newDisplay.mDisplayId, stack);
+        // The top activity is unresizable, so it should notify the activity is forced resizing.
+        verify(taskChangeNotifier).notifyActivityForcedResizable(eq(task.taskId),
+                eq(FORCED_RESIZEABLE_REASON_SECONDARY_DISPLAY),
+                eq(unresizableActivity.packageName));
+        reset(taskChangeNotifier);
+
+        // Put a resizable activity on top of the unresizable task.
+        final ActivityRecord resizableActivity = new ActivityBuilder(mService)
+                .setTask(task).build();
+        resizableActivity.info.resizeMode = ActivityInfo.RESIZE_MODE_RESIZEABLE;
+
+        mSupervisor.handleNonResizableTaskIfNeeded(task, newDisplay.getWindowingMode(),
+                newDisplay.mDisplayId, stack);
+        // For the resizable activity, it is no need to force resizing or dismiss the docked stack.
+        verify(taskChangeNotifier, never()).notifyActivityForcedResizable(anyInt() /* taskId */,
+                anyInt() /* reason */, anyString() /* packageName */);
+        verify(taskChangeNotifier, never()).notifyActivityDismissingDockedStack();
+    }
 }
diff --git a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java
index 606ab31..d02db7b 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ActivityStarterTests.java
@@ -561,7 +561,7 @@
         runAndVerifyBackgroundActivityStartsSubtest("allowed_noStartsAborted", false,
                 UNIMPORTANT_UID, false, PROCESS_STATE_TOP + 1,
                 UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1,
-                false, false, false, false, false);
+                false, false, false, false, false, false);
     }
 
     /**
@@ -576,7 +576,7 @@
                 "disallowed_unsupportedUsecase_aborted", true,
                 UNIMPORTANT_UID, false, PROCESS_STATE_TOP + 1,
                 UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1,
-                false, false, false, false, false);
+                false, false, false, false, false, false);
     }
 
     /**
@@ -591,61 +591,66 @@
         runAndVerifyBackgroundActivityStartsSubtest("disallowed_rootUid_notAborted", false,
                 Process.ROOT_UID, false, PROCESS_STATE_TOP + 1,
                 UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1,
-                false, false, false, false, false);
+                false, false, false, false, false, false);
         runAndVerifyBackgroundActivityStartsSubtest("disallowed_systemUid_notAborted", false,
                 Process.SYSTEM_UID, false, PROCESS_STATE_TOP + 1,
                 UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1,
-                false, false, false, false, false);
+                false, false, false, false, false, false);
         runAndVerifyBackgroundActivityStartsSubtest("disallowed_nfcUid_notAborted", false,
                 Process.NFC_UID, false, PROCESS_STATE_TOP + 1,
                 UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1,
-                false, false, false, false, false);
+                false, false, false, false, false, false);
         runAndVerifyBackgroundActivityStartsSubtest(
                 "disallowed_callingUidHasVisibleWindow_notAborted", false,
                 UNIMPORTANT_UID, true, PROCESS_STATE_TOP + 1,
                 UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1,
-                false, false, false, false, false);
+                false, false, false, false, false, false);
         runAndVerifyBackgroundActivityStartsSubtest(
                 "disallowed_callingUidProcessStateTop_notAborted", false,
                 UNIMPORTANT_UID, false, PROCESS_STATE_TOP,
                 UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1,
-                false, false, false, false, false);
+                false, false, false, false, false, false);
         runAndVerifyBackgroundActivityStartsSubtest(
                 "disallowed_realCallingUidHasVisibleWindow_notAborted", false,
                 UNIMPORTANT_UID, false, PROCESS_STATE_TOP + 1,
                 UNIMPORTANT_UID2, true, PROCESS_STATE_TOP + 1,
-                false, false, false, false, false);
+                false, false, false, false, false, false);
         runAndVerifyBackgroundActivityStartsSubtest(
                 "disallowed_realCallingUidProcessStateTop_notAborted", false,
                 UNIMPORTANT_UID, false, PROCESS_STATE_TOP + 1,
                 UNIMPORTANT_UID2, false, PROCESS_STATE_TOP,
-                false, false, false, false, false);
+                false, false, false, false, false, false);
         runAndVerifyBackgroundActivityStartsSubtest(
                 "disallowed_hasForegroundActivities_notAborted", false,
                 UNIMPORTANT_UID, false, PROCESS_STATE_TOP + 1,
                 UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1,
-                true, false, false, false, false);
+                true, false, false, false, false, false);
         runAndVerifyBackgroundActivityStartsSubtest(
                 "disallowed_callerIsRecents_notAborted", false,
                 UNIMPORTANT_UID, false, PROCESS_STATE_TOP + 1,
                 UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1,
-                false, true, false, false, false);
+                false, true, false, false, false, false);
         runAndVerifyBackgroundActivityStartsSubtest(
                 "disallowed_callerIsWhitelisted_notAborted", false,
                 UNIMPORTANT_UID, false, PROCESS_STATE_TOP + 1,
                 UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1,
-                false, false, true, false, false);
+                false, false, true, false, false, false);
         runAndVerifyBackgroundActivityStartsSubtest(
                 "disallowed_callerIsInstrumentingWithBackgroundActivityStartPrivileges_notAborted",
                 false,
                 UNIMPORTANT_UID, false, PROCESS_STATE_TOP + 1,
                 UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1,
-                false, false, false, true, false);
+                false, false, false, true, false, false);
         runAndVerifyBackgroundActivityStartsSubtest(
                 "disallowed_callingPackageNameIsDeviceOwner_notAborted", false,
                 UNIMPORTANT_UID, false, PROCESS_STATE_TOP + 1,
                 UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1,
-                false, false, false, false, true);
+                false, false, false, false, true, false);
+        runAndVerifyBackgroundActivityStartsSubtest(
+                "disallowed_callingPackageNameIsTempWhitelisted_notAborted", false,
+                UNIMPORTANT_UID, false, PROCESS_STATE_TOP + 1,
+                UNIMPORTANT_UID2, false, PROCESS_STATE_TOP + 1,
+                false, false, false, false, false, true);
     }
 
     private void runAndVerifyBackgroundActivityStartsSubtest(String name, boolean shouldHaveAborted,
@@ -654,7 +659,7 @@
             boolean hasForegroundActivities, boolean callerIsRecents,
             boolean callerIsTempWhitelisted,
             boolean callerIsInstrumentingWithBackgroundActivityStartPrivileges,
-            boolean isCallingPackageNameDeviceOwner) {
+            boolean isCallingPackageNameDeviceOwner, boolean isCallingPackageTempWhitelisted) {
         // window visibility
         doReturn(callingUidHasVisibleWindow).when(mService.mWindowManager.mRoot)
                 .isAnyNonToastWindowVisibleForUid(callingUid);
@@ -680,11 +685,15 @@
         // caller is instrumenting with background activity starts privileges
         callerApp.setInstrumenting(callerIsInstrumentingWithBackgroundActivityStartPrivileges,
                 callerIsInstrumentingWithBackgroundActivityStartPrivileges);
-        // calling package name is whitelisted
+        // calling package name is the device owner
         doReturn(isCallingPackageNameDeviceOwner).when(mService).isDeviceOwner(any());
+        // calling package name is temporarily whitelisted
+        doReturn(isCallingPackageTempWhitelisted).when(mService)
+                .isPackageNameWhitelistedForBgActivityStarts("com.whatever.dude");
 
         final ActivityOptions options = spy(ActivityOptions.makeBasic());
         ActivityStarter starter = prepareStarter(FLAG_ACTIVITY_NEW_TASK)
+                .setCallingPackage("com.whatever.dude")
                 .setCaller(caller)
                 .setCallingUid(callingUid)
                 .setRealCallingUid(realCallingUid)
diff --git a/services/tests/wmtests/src/com/android/server/wm/AnimatingAppWindowTokenRegistryTest.java b/services/tests/wmtests/src/com/android/server/wm/AnimatingAppWindowTokenRegistryTest.java
index 5556a15..febb795 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AnimatingAppWindowTokenRegistryTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AnimatingAppWindowTokenRegistryTest.java
@@ -43,7 +43,6 @@
  */
 @SmallTest
 @Presubmit
-@FlakyTest(detail = "Promote once confirmed non-flaky")
 public class AnimatingAppWindowTokenRegistryTest extends WindowTestsBase {
 
     @Mock
diff --git a/services/tests/wmtests/src/com/android/server/wm/AppChangeTransitionTests.java b/services/tests/wmtests/src/com/android/server/wm/AppChangeTransitionTests.java
index c072d4e..83c0af9 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AppChangeTransitionTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AppChangeTransitionTests.java
@@ -59,7 +59,7 @@
     public void setUpOnDisplay(DisplayContent dc) {
         mStack = createTaskStackOnDisplay(WINDOWING_MODE_UNDEFINED, ACTIVITY_TYPE_STANDARD, dc);
         mTask = createTaskInStack(mStack, 0 /* userId */);
-        mToken = WindowTestUtils.createTestAppWindowToken(dc, false /* skipOnParentChanged */);
+        mToken = WindowTestUtils.createTestAppWindowToken(dc);
 
         mTask.addChild(mToken, 0);
 
diff --git a/services/tests/wmtests/src/com/android/server/wm/AppTransitionControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/AppTransitionControllerTest.java
index 5e12a95..81133d1 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AppTransitionControllerTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AppTransitionControllerTest.java
@@ -18,6 +18,7 @@
 
 import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
+import static android.view.WindowManager.TRANSIT_TASK_CHANGE_WINDOWING_MODE;
 import static android.view.WindowManager.TRANSIT_TASK_CLOSE;
 import static android.view.WindowManager.TRANSIT_TASK_OPEN;
 
@@ -77,4 +78,21 @@
                             TRANSIT_TASK_CLOSE));
         }
     }
+
+    @Test
+    public void testChangeIsNotOverwritten() {
+        synchronized (mWm.mGlobalLock) {
+            final AppWindowToken behind = createAppWindowToken(mDisplayContent,
+                    WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD);
+            final AppWindowToken translucentOpening = createAppWindowToken(mDisplayContent,
+                    WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD);
+            translucentOpening.setFillsParent(false);
+            translucentOpening.setHidden(true);
+            mDisplayContent.mOpeningApps.add(behind);
+            mDisplayContent.mOpeningApps.add(translucentOpening);
+            assertEquals(TRANSIT_TASK_CHANGE_WINDOWING_MODE,
+                    mAppTransitionController.maybeUpdateTransitToTranslucentAnim(
+                            TRANSIT_TASK_CHANGE_WINDOWING_MODE));
+        }
+    }
 }
diff --git a/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenAnimationTests.java b/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenAnimationTests.java
index a98a604..db04f11 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenAnimationTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenAnimationTests.java
@@ -60,7 +60,7 @@
         MockitoAnnotations.initMocks(this);
 
         mToken = createTestAppWindowToken(mDisplayContent, WINDOWING_MODE_FULLSCREEN,
-                ACTIVITY_TYPE_STANDARD, false /* skipOnParentChanged */);
+                ACTIVITY_TYPE_STANDARD);
     }
 
     @Test
diff --git a/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenTests.java b/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenTests.java
index 68b40b9..d17e5c3 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AppWindowTokenTests.java
@@ -16,8 +16,6 @@
 
 package com.android.server.wm;
 
-import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
-import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_BEHIND;
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE;
 import static android.content.pm.ActivityInfo.SCREEN_ORIENTATION_REVERSE_LANDSCAPE;
@@ -48,7 +46,6 @@
 import static org.mockito.Mockito.verify;
 
 import android.content.res.Configuration;
-import android.graphics.Point;
 import android.graphics.Rect;
 import android.platform.test.annotations.Presubmit;
 import android.view.Display;
@@ -81,8 +78,7 @@
     public void setUp() throws Exception {
         mStack = createTaskStackOnDisplay(mDisplayContent);
         mTask = createTaskInStack(mStack, 0 /* userId */);
-        mToken = WindowTestUtils.createTestAppWindowToken(mDisplayContent,
-                false /* skipOnParentChanged */);
+        mToken = WindowTestUtils.createTestAppWindowToken(mDisplayContent);
 
         mTask.addChild(mToken, 0);
     }
@@ -219,9 +215,6 @@
 
     @Test
     public void testSizeCompatBounds() {
-        // The real surface transaction is unnecessary.
-        mToken.setSkipPrepareSurfaces(true);
-
         final Rect fixedBounds = mToken.getRequestedOverrideConfiguration().windowConfiguration
                 .getBounds();
         fixedBounds.set(0, 0, 1200, 1600);
@@ -479,32 +472,6 @@
         assertHasStartingWindow(tokenBottom);
     }
 
-    @Test
-    public void testTransitionAnimationPositionAndBounds() {
-        final Rect stackBounds = new Rect(
-                0/* left */, 0 /* top */, 1000 /* right */, 1000 /* bottom */);
-        final Rect taskBounds = new Rect(
-                100/* left */, 200 /* top */, 600 /* right */, 600 /* bottom */);
-        mStack.setBounds(stackBounds);
-        mTask.setBounds(taskBounds);
-
-        mTask.setWindowingMode(WINDOWING_MODE_FREEFORM);
-        assertTransitionAnimationPositionAndBounds(taskBounds.left, taskBounds.top, stackBounds);
-
-        mTask.setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_SECONDARY);
-        assertTransitionAnimationPositionAndBounds(stackBounds.left, stackBounds.top, stackBounds);
-    }
-
-    private void assertTransitionAnimationPositionAndBounds(int expectedX, int expectedY,
-            Rect expectedBounds) {
-        final Point outPosition = new Point();
-        final Rect outBounds = new Rect();
-        mToken.getAnimationBounds(outPosition, outBounds);
-        assertEquals(expectedX, outPosition.x);
-        assertEquals(expectedY, outPosition.y);
-        assertEquals(expectedBounds, outBounds);
-    }
-
     private void assertHasStartingWindow(AppWindowToken atoken) {
         assertNotNull(atoken.startingSurface);
         assertNotNull(atoken.startingData);
diff --git a/services/tests/wmtests/src/com/android/server/wm/AssistDataRequesterTest.java b/services/tests/wmtests/src/com/android/server/wm/AssistDataRequesterTest.java
index 1e02a12..329af95 100644
--- a/services/tests/wmtests/src/com/android/server/wm/AssistDataRequesterTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/AssistDataRequesterTest.java
@@ -38,9 +38,7 @@
 import static org.mockito.ArgumentMatchers.eq;
 
 import android.app.AppOpsManager;
-import android.app.IActivityManager;
 import android.app.IActivityTaskManager;
-import android.content.Context;
 import android.graphics.Bitmap;
 import android.os.Bundle;
 import android.os.Handler;
@@ -50,7 +48,6 @@
 import android.util.Log;
 import android.view.IWindowManager;
 
-import androidx.test.filters.FlakyTest;
 import androidx.test.filters.MediumTest;
 
 import com.android.server.am.AssistDataRequester;
@@ -88,12 +85,10 @@
     private static final int TEST_UID = 0;
     private static final String TEST_PACKAGE = "";
 
-    private Context mContext;
     private AssistDataRequester mDataRequester;
     private Callbacks mCallbacks;
     private Object mCallbacksLock;
     private Handler mHandler;
-    private IActivityManager mAm;
     private IActivityTaskManager mAtm;
     private IWindowManager mWm;
     private AppOpsManager mAppOpsManager;
@@ -109,7 +104,6 @@
 
     @Before
     public void setUp() throws Exception {
-        mAm = mock(IActivityManager.class);
         mAtm = mock(IActivityTaskManager.class);
         mWm = mock(IWindowManager.class);
         mAppOpsManager = mock(AppOpsManager.class);
@@ -118,7 +112,7 @@
         mCallbacks = new Callbacks();
         mDataRequester = new AssistDataRequester(mContext, mWm, mAppOpsManager, mCallbacks,
                 mCallbacksLock, OP_ASSIST_STRUCTURE, OP_ASSIST_SCREENSHOT);
-
+        mDataRequester.mActivityTaskManager = mAtm;
         // Gate the continuation of the assist data callbacks until we are ready within the tests
         mGate = new CountDownLatch(1);
         doAnswer(invocation -> {
@@ -155,7 +149,6 @@
                 .checkOpNoThrow(eq(OP_ASSIST_SCREENSHOT), anyInt(), anyString());
     }
 
-    @FlakyTest(bugId = 124088319)
     @Test
     public void testRequestData() throws Exception {
         setupMocks(CURRENT_ACTIVITY_ASSIST_ALLOWED, CALLER_ASSIST_STRUCTURE_ALLOWED,
@@ -176,7 +169,6 @@
         assertReceivedDataCount(0, 0, 0, 0);
     }
 
-    @FlakyTest(bugId = 124088319)
     @Test
     public void testCurrentAppDisallow_expectNullCallbacks() throws Exception {
         setupMocks(!CURRENT_ACTIVITY_ASSIST_ALLOWED, CALLER_ASSIST_STRUCTURE_ALLOWED,
@@ -187,7 +179,6 @@
         assertReceivedDataCount(0, 1, 0, 1);
     }
 
-    @FlakyTest(bugId = 124088319)
     @Test
     public void testProcessPendingData() throws Exception {
         setupMocks(CURRENT_ACTIVITY_ASSIST_ALLOWED, CALLER_ASSIST_STRUCTURE_ALLOWED,
@@ -245,7 +236,6 @@
         assertReceivedDataCount(0, 1, 0, 1);
     }
 
-    @FlakyTest(bugId = 124088319)
     @Test
     public void testDisallowAssistContextExtras_expectNullDataCallbacks() throws Exception {
         setupMocks(CURRENT_ACTIVITY_ASSIST_ALLOWED, CALLER_ASSIST_STRUCTURE_ALLOWED,
@@ -259,7 +249,6 @@
         assertReceivedDataCount(0, 1, 0, 1);
     }
 
-    @FlakyTest(bugId = 124088319)
     @Test
     public void testNoFetchScreenshots_expectNoScreenshotCallbacks() throws Exception {
         setupMocks(CURRENT_ACTIVITY_ASSIST_ALLOWED, CALLER_ASSIST_STRUCTURE_ALLOWED,
@@ -270,7 +259,6 @@
         assertReceivedDataCount(5, 5, 0, 0);
     }
 
-    @FlakyTest(bugId = 124088319)
     @Test
     public void testDisallowAssistScreenshot_expectNullScreenshotCallback() throws Exception {
         setupMocks(CURRENT_ACTIVITY_ASSIST_ALLOWED, CALLER_ASSIST_STRUCTURE_ALLOWED,
diff --git a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java
index b26aa05..98333b2 100644
--- a/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/DisplayContentTests.java
@@ -34,11 +34,12 @@
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.any;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.anyBoolean;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.doNothing;
-import static com.android.dx.mockito.inline.extended.ExtendedMockito.eq;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.doReturn;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.never;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.same;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.spy;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.spyOn;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.times;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
 import static com.android.server.wm.WindowContainer.POSITION_TOP;
@@ -663,6 +664,15 @@
     }
 
     @Test
+    public void testComputeImeParent_app_notMatchParentBounds() {
+        spyOn(mAppWindow.mAppToken);
+        doReturn(false).when(mAppWindow.mAppToken).matchParentBounds();
+        mDisplayContent.mInputMethodTarget = mAppWindow;
+        // The surface parent of IME should be the display instead of app window.
+        assertEquals(mDisplayContent.getWindowingLayer(), mDisplayContent.computeImeParent());
+    }
+
+    @Test
     public void testComputeImeParent_noApp() throws Exception {
         try (final InsetsModeSession session =
                      new InsetsModeSession(ViewRootImpl.NEW_INSETS_MODE_IME)) {
diff --git a/services/tests/wmtests/src/com/android/server/wm/DisplayWindowSettingsTests.java b/services/tests/wmtests/src/com/android/server/wm/DisplayWindowSettingsTests.java
index 2dad187..9a8a732 100644
--- a/services/tests/wmtests/src/com/android/server/wm/DisplayWindowSettingsTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/DisplayWindowSettingsTests.java
@@ -148,6 +148,19 @@
     }
 
     @Test
+    public void testPrimaryDisplayUpdateToFreeform_HasFreeformSupport_IsPc() {
+        mTarget.applySettingsToDisplayLocked(mPrimaryDisplay);
+
+        mWm.setSupportsFreeformWindowManagement(true);
+        mWm.setIsPc(true);
+
+        mTarget.updateSettingsForDisplay(mPrimaryDisplay);
+
+        assertEquals(WindowConfiguration.WINDOWING_MODE_FREEFORM,
+                mPrimaryDisplay.getWindowingMode());
+    }
+
+    @Test
     public void testSecondaryDisplayDefaultToFullscreen_NoFreeformSupport() {
         mTarget.applySettingsToDisplayLocked(mSecondaryDisplay);
 
diff --git a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java
index aeda473..e4d3770 100644
--- a/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/LaunchParamsPersisterTests.java
@@ -316,7 +316,7 @@
     public void testClearsRecordInMemoryOnPackageUninstalled() {
         mTarget.saveTask(mTestTask);
 
-        mObserver.onPackageRemoved(TEST_COMPONENT.getPackageName());
+        mObserver.onPackageRemoved(TEST_COMPONENT.getPackageName(), TEST_USER_ID);
 
         mTarget.getLaunchParams(mTestTask, null, mResult);
 
@@ -327,7 +327,7 @@
     public void testClearsWriteQueueItemOnPackageUninstalled() {
         mTarget.saveTask(mTestTask);
 
-        mObserver.onPackageRemoved(TEST_COMPONENT.getPackageName());
+        mObserver.onPackageRemoved(TEST_COMPONENT.getPackageName(), TEST_USER_ID);
 
         final LaunchParamsPersister target = new LaunchParamsPersister(mPersisterQueue, mSupervisor,
                 mUserFolderGetter);
@@ -344,7 +344,7 @@
         mTarget.saveTask(mTestTask);
         mPersisterQueue.flush();
 
-        mObserver.onPackageRemoved(TEST_COMPONENT.getPackageName());
+        mObserver.onPackageRemoved(TEST_COMPONENT.getPackageName(), TEST_USER_ID);
 
         final LaunchParamsPersister target = new LaunchParamsPersister(mPersisterQueue, mSupervisor,
                 mUserFolderGetter);
diff --git a/services/tests/wmtests/src/com/android/server/wm/PersisterQueueTests.java b/services/tests/wmtests/src/com/android/server/wm/PersisterQueueTests.java
index 8327440..a166444 100644
--- a/services/tests/wmtests/src/com/android/server/wm/PersisterQueueTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/PersisterQueueTests.java
@@ -28,6 +28,7 @@
 import android.os.SystemClock;
 import android.platform.test.annotations.Presubmit;
 
+import androidx.test.filters.FlakyTest;
 import androidx.test.filters.MediumTest;
 
 import org.junit.After;
@@ -157,6 +158,7 @@
     }
 
     @Test
+    @FlakyTest(bugId = 128526085)
     public void testProcessTwoItems_OneAfterAnother() throws Exception {
         // First item
         mLatch = new CountDownLatch(1);
diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java
index fc1eb1c..68e7470 100644
--- a/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/RecentTasksTest.java
@@ -583,6 +583,114 @@
     }
 
     @Test
+    public void testFreezeTaskListOrder_reorderExistingTask() {
+        // Add some tasks
+        mRecentTasks.add(mTasks.get(0));
+        mRecentTasks.add(mTasks.get(1));
+        mRecentTasks.add(mTasks.get(2));
+        mRecentTasks.add(mTasks.get(3));
+        mRecentTasks.add(mTasks.get(4));
+        mCallbacksRecorder.clear();
+
+        // Freeze the list
+        mRecentTasks.setFreezeTaskListReordering();
+        assertTrue(mRecentTasks.isFreezeTaskListReorderingSet());
+
+        // Relaunch a few tasks
+        mRecentTasks.add(mTasks.get(3));
+        mRecentTasks.add(mTasks.get(2));
+
+        // Commit the task ordering with a specific task focused
+        mRecentTasks.resetFreezeTaskListReordering(mTasks.get(2));
+        assertFalse(mRecentTasks.isFreezeTaskListReorderingSet());
+
+        // Ensure that the order of the task list is the same as before, but with the focused task
+        // at the front
+        assertRecentTasksOrder(mTasks.get(2),
+                mTasks.get(4),
+                mTasks.get(3),
+                mTasks.get(1),
+                mTasks.get(0));
+
+        assertThat(mCallbacksRecorder.mAdded).isEmpty();
+        assertThat(mCallbacksRecorder.mTrimmed).isEmpty();
+        assertThat(mCallbacksRecorder.mRemoved).isEmpty();
+    }
+
+    @Test
+    public void testFreezeTaskListOrder_addRemoveTasks() {
+        // Add some tasks
+        mRecentTasks.add(mTasks.get(0));
+        mRecentTasks.add(mTasks.get(1));
+        mRecentTasks.add(mTasks.get(2));
+        mCallbacksRecorder.clear();
+
+        // Freeze the list
+        mRecentTasks.setFreezeTaskListReordering();
+        assertTrue(mRecentTasks.isFreezeTaskListReorderingSet());
+
+        // Add and remove some tasks
+        mRecentTasks.add(mTasks.get(3));
+        mRecentTasks.add(mTasks.get(4));
+        mRecentTasks.remove(mTasks.get(0));
+        mRecentTasks.remove(mTasks.get(1));
+
+        // Unfreeze the list
+        mRecentTasks.resetFreezeTaskListReordering(null);
+        assertFalse(mRecentTasks.isFreezeTaskListReorderingSet());
+
+        // Ensure that the order of the task list accounts for the added and removed tasks (added
+        // at the end)
+        assertRecentTasksOrder(mTasks.get(4),
+                mTasks.get(3),
+                mTasks.get(2));
+
+        assertThat(mCallbacksRecorder.mAdded).hasSize(2);
+        assertThat(mCallbacksRecorder.mAdded).contains(mTasks.get(3));
+        assertThat(mCallbacksRecorder.mAdded).contains(mTasks.get(4));
+        assertThat(mCallbacksRecorder.mRemoved).hasSize(2);
+        assertThat(mCallbacksRecorder.mRemoved).contains(mTasks.get(0));
+        assertThat(mCallbacksRecorder.mRemoved).contains(mTasks.get(1));
+    }
+
+    @Test
+    public void testFreezeTaskListOrder_timeout() {
+        // Add some tasks
+        mRecentTasks.add(mTasks.get(0));
+        mRecentTasks.add(mTasks.get(1));
+        mRecentTasks.add(mTasks.get(2));
+        mRecentTasks.add(mTasks.get(3));
+        mRecentTasks.add(mTasks.get(4));
+
+        // Freeze the list
+        long freezeTime = SystemClock.elapsedRealtime();
+        mRecentTasks.setFreezeTaskListReordering();
+        assertTrue(mRecentTasks.isFreezeTaskListReorderingSet());
+
+        // Relaunch a few tasks
+        mRecentTasks.add(mTasks.get(2));
+        mRecentTasks.add(mTasks.get(1));
+
+        // Override the freeze timeout params to simulate the timeout (simulate the freeze at 100ms
+        // ago with a timeout of 1ms)
+        mRecentTasks.setFreezeTaskListTimeoutParams(freezeTime - 100, 1);
+
+        ActivityStack stack = mTasks.get(2).getStack();
+        stack.moveToFront("", mTasks.get(2));
+        doReturn(stack).when(mTestService.mRootActivityContainer).getTopDisplayFocusedStack();
+        mRecentTasks.resetFreezeTaskListReorderingOnTimeout();
+        assertFalse(mRecentTasks.isFreezeTaskListReorderingSet());
+
+        // Ensure that the order of the task list is the same as before, but with the focused task
+        // at the front
+        assertRecentTasksOrder(mTasks.get(2),
+                mTasks.get(4),
+                mTasks.get(3),
+                mTasks.get(1),
+                mTasks.get(0));
+    }
+
+    @Test
     public void testBackStackTasks_expectNoTrim() {
         mRecentTasks.setParameters(-1 /* min */, 1 /* max */, -1 /* ms */);
 
@@ -721,6 +829,18 @@
                         true /* showRecents */));
     }
 
+    /**
+     * Ensures that the recent tasks list is in the provided order. Note that the expected tasks
+     * should be ordered from least to most recent.
+     */
+    private void assertRecentTasksOrder(TaskRecord... expectedTasks) {
+        ArrayList<TaskRecord> tasks = mRecentTasks.getRawTasks();
+        assertTrue(expectedTasks.length == tasks.size());
+        for (int i = 0; i < tasks.size(); i++)  {
+            assertTrue(expectedTasks[i] == tasks.get(i));
+        }
+    }
+
     private void assertNotRestoreTask(Runnable action) {
         // Verify stack count doesn't change because task with fullscreen mode and standard type
         // would have its own stack.
diff --git a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java
index 763ea62..a03d28b 100644
--- a/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/RecentsAnimationControllerTest.java
@@ -40,7 +40,6 @@
 import android.view.IRecentsAnimationRunner;
 import android.view.SurfaceControl;
 
-import androidx.test.filters.FlakyTest;
 import androidx.test.filters.SmallTest;
 
 import com.android.server.wm.SurfaceAnimator.OnAnimationFinishedCallback;
@@ -113,7 +112,6 @@
     }
 
     @Test
-    @FlakyTest(bugId = 117117823)
     public void testIncludedApps_expectTargetAndVisible() {
         mWm.setRecentsAnimationController(mController);
         final AppWindowToken homeAppWindow = createAppWindowToken(mDisplayContent,
diff --git a/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java b/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java
index 45fe5d2..35a8ec3 100644
--- a/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/RootWindowContainerTests.java
@@ -20,9 +20,11 @@
 import static android.view.WindowManager.LayoutParams.TYPE_STATUS_BAR;
 import static android.view.WindowManager.LayoutParams.TYPE_TOAST;
 
+import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
+import android.app.WindowConfiguration;
 import android.platform.test.annotations.Presubmit;
 
 import androidx.test.filters.SmallTest;
@@ -71,5 +73,21 @@
         assertFalse(app.isVisible());
         assertFalse(mWm.mRoot.isAnyNonToastWindowVisibleForUid(FAKE_CALLING_UID));
     }
+
+    @Test
+    public void testUpdateDefaultDisplayWindowingModeOnSettingsRetrieved() {
+        synchronized (mWm.mGlobalLock) {
+            assertEquals(WindowConfiguration.WINDOWING_MODE_FULLSCREEN,
+                    mWm.getDefaultDisplayContentLocked().getWindowingMode());
+
+            mWm.mIsPc = true;
+            mWm.mSupportsFreeformWindowManagement = true;
+
+            mWm.mRoot.onSettingsRetrieved();
+
+            assertEquals(WindowConfiguration.WINDOWING_MODE_FREEFORM,
+                    mWm.getDefaultDisplayContentLocked().getWindowingMode());
+        }
+    }
 }
 
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskPositioningControllerTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskPositioningControllerTests.java
index 1b396f5..00e479f 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskPositioningControllerTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskPositioningControllerTests.java
@@ -32,7 +32,6 @@
 import android.platform.test.annotations.Presubmit;
 import android.view.InputChannel;
 
-import androidx.test.filters.FlakyTest;
 import androidx.test.filters.SmallTest;
 
 import org.junit.Before;
@@ -89,7 +88,6 @@
         assertNull(mTarget.getDragWindowHandleLocked());
     }
 
-    @FlakyTest(bugId = 69229402)
     @Test
     public void testHandleTapOutsideTask() {
         synchronized (mWm.mGlobalLock) {
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskRecordTests.java b/services/tests/wmtests/src/com/android/server/wm/TaskRecordTests.java
index 5d07888..dc307b5 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskRecordTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskRecordTests.java
@@ -47,6 +47,7 @@
 import android.graphics.Rect;
 import android.platform.test.annotations.Presubmit;
 import android.service.voice.IVoiceInteractionSession;
+import android.util.DisplayMetrics;
 import android.util.Xml;
 import android.view.DisplayInfo;
 
@@ -166,6 +167,44 @@
                 WINDOWING_MODE_FREEFORM, mParentBounds, insetBounds, insetBounds);
     }
 
+    @Test
+    public void testFitWithinBounds() {
+        final Rect parentBounds = new Rect(10, 10, 200, 200);
+        ActivityDisplay display = mService.mRootActivityContainer.getDefaultDisplay();
+        ActivityStack stack = display.createStack(WINDOWING_MODE_FREEFORM, ACTIVITY_TYPE_STANDARD,
+                true /* onTop */);
+        TaskRecord task = new TaskBuilder(mSupervisor).setStack(stack).build();
+        final Configuration parentConfig = stack.getConfiguration();
+        parentConfig.windowConfiguration.setBounds(parentBounds);
+        parentConfig.densityDpi = DisplayMetrics.DENSITY_DEFAULT;
+
+        // check top and left
+        Rect reqBounds = new Rect(-190, -190, 0, 0);
+        task.setBounds(reqBounds);
+        // Make sure part of it is exposed
+        assertTrue(task.getBounds().right > parentBounds.left);
+        assertTrue(task.getBounds().bottom > parentBounds.top);
+        // Should still be more-or-less in that corner
+        assertTrue(task.getBounds().left <= parentBounds.left);
+        assertTrue(task.getBounds().top <= parentBounds.top);
+
+        assertEquals(reqBounds.width(), task.getBounds().width());
+        assertEquals(reqBounds.height(), task.getBounds().height());
+
+        // check bottom and right
+        reqBounds = new Rect(210, 210, 400, 400);
+        task.setBounds(reqBounds);
+        // Make sure part of it is exposed
+        assertTrue(task.getBounds().left < parentBounds.right);
+        assertTrue(task.getBounds().top < parentBounds.bottom);
+        // Should still be more-or-less in that corner
+        assertTrue(task.getBounds().right >= parentBounds.right);
+        assertTrue(task.getBounds().bottom >= parentBounds.bottom);
+
+        assertEquals(reqBounds.width(), task.getBounds().width());
+        assertEquals(reqBounds.height(), task.getBounds().height());
+    }
+
     /** Tests that the task bounds adjust properly to changes between FULLSCREEN and FREEFORM */
     @Test
     public void testBoundsOnModeChangeFreeformToFullscreen() {
diff --git a/services/tests/wmtests/src/com/android/server/wm/TaskStackChangedListenerTest.java b/services/tests/wmtests/src/com/android/server/wm/TaskStackChangedListenerTest.java
index 42a205a..d8a01b9 100644
--- a/services/tests/wmtests/src/com/android/server/wm/TaskStackChangedListenerTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/TaskStackChangedListenerTest.java
@@ -100,7 +100,7 @@
     }
 
     @Test
-    @FlakyTest(detail = "Promote to presubmit when shown to be stable.")
+    @Presubmit
     public void testTaskDescriptionChanged() throws Exception {
         final Object[] params = new Object[2];
         final CountDownLatch latch = new CountDownLatch(1);
@@ -133,7 +133,7 @@
     }
 
     @Test
-    @FlakyTest(detail = "Promote to presubmit when shown to be stable.")
+    @Presubmit
     public void testActivityRequestedOrientationChanged() throws Exception {
         final int[] params = new int[2];
         final CountDownLatch latch = new CountDownLatch(1);
@@ -159,7 +159,6 @@
      * Tests for onTaskCreated, onTaskMovedToFront, onTaskRemoved and onTaskRemovalStarted.
      */
     @Test
-    @FlakyTest(detail = "Promote to presubmit when shown to be stable.")
     public void testTaskChangeCallBacks() throws Exception {
         final Object[] params = new Object[2];
         final CountDownLatch taskCreatedLaunchLatch = new CountDownLatch(1);
@@ -214,6 +213,7 @@
 
         // Test for onTaskRemovalStarted.
         assertEquals(1, taskRemovalStartedLatch.getCount());
+        assertEquals(1, taskRemovedLatch.getCount());
         activity.finishAndRemoveTask();
         waitForCallback(taskRemovalStartedLatch);
         // onTaskRemovalStarted happens before the activity's window is removed.
@@ -221,7 +221,6 @@
         assertEquals(id, params[0]);
 
         // Test for onTaskRemoved.
-        assertEquals(1, taskRemovedLatch.getCount());
         waitForCallback(taskRemovedLatch);
         assertEquals(id, params[0]);
         waitForCallback(onDetachedFromWindowLatch);
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowFrameTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowFrameTests.java
index 2ccdb9e..78fca0f 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowFrameTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowFrameTests.java
@@ -19,6 +19,7 @@
 import static android.app.WindowConfiguration.ACTIVITY_TYPE_STANDARD;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FREEFORM;
 import static android.app.WindowConfiguration.WINDOWING_MODE_FULLSCREEN;
+import static android.app.WindowConfiguration.WINDOWING_MODE_SPLIT_SCREEN_SECONDARY;
 import static android.view.DisplayCutout.BOUNDS_POSITION_TOP;
 import static android.view.DisplayCutout.fromBoundingRect;
 import static android.view.WindowManager.LayoutParams.MATCH_PARENT;
@@ -27,7 +28,6 @@
 import static org.junit.Assert.assertEquals;
 import static org.mockito.Mockito.mock;
 
-import android.app.ActivityManager.TaskDescription;
 import android.content.res.Configuration;
 import android.graphics.Rect;
 import android.platform.test.annotations.Presubmit;
@@ -54,23 +54,15 @@
 @Presubmit
 public class WindowFrameTests extends WindowTestsBase {
 
-    private WindowToken mWindowToken;
     private final IWindow mIWindow = new TestIWindow();
     private final Rect mEmptyRect = new Rect();
 
-    static class WindowStateWithTask extends WindowState {
-        final Task mTask;
+    static class FrameTestWindowState extends WindowState {
         boolean mDockedResizingForTest = false;
-        WindowStateWithTask(WindowManagerService wm, IWindow iWindow, WindowToken windowToken,
-                WindowManager.LayoutParams attrs, Task t) {
+        FrameTestWindowState(WindowManagerService wm, IWindow iWindow, WindowToken windowToken,
+                WindowManager.LayoutParams attrs) {
             super(wm, mock(Session.class), iWindow, windowToken, null, 0, 0, attrs, 0, 0,
                     false /* ownerCanAddInternalSystemWindow */);
-            mTask = t;
-        }
-
-        @Override
-        Task getTask() {
-            return mTask;
         }
 
         @Override
@@ -79,52 +71,10 @@
         }
     }
 
-    private static class TaskWithBounds extends Task {
-        Rect mBounds;
-        final Rect mOverrideDisplayedBounds = new Rect();
-        boolean mFullscreenForTest = true;
-
-        TaskWithBounds(TaskStack stack, WindowManagerService wm, Rect bounds) {
-            super(0, stack, 0, wm, 0, false, new TaskDescription(), null);
-            setBounds(bounds);
-        }
-
-        @Override
-        public int setBounds(Rect bounds) {
-            mBounds = bounds;
-            return super.setBounds(bounds);
-        }
-
-        @Override
-        public Rect getBounds() {
-            return mBounds;
-        }
-
-        @Override
-        public void getBounds(Rect out) {
-            out.set(mBounds);
-        }
-
-        @Override
-        public void getRequestedOverrideBounds(Rect outBounds) {
-            outBounds.set(mBounds);
-        }
-        @Override
-        Rect getOverrideDisplayedBounds() {
-            return mOverrideDisplayedBounds;
-        }
-        @Override
-        boolean isFullscreen() {
-            return mFullscreenForTest;
-        }
-    }
-
     TaskStack mStubStack;
 
     @Before
     public void setUp() throws Exception {
-        mWindowToken = createAppWindowToken(mWm.getDefaultDisplayContentLocked(),
-                WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD);
         mStubStack = mock(TaskStack.class);
     }
 
@@ -168,7 +118,8 @@
                 expectedRect.bottom);
     }
 
-    private void assertPolicyCrop(WindowStateWithTask w, int left, int top, int right, int bottom) {
+    private void assertPolicyCrop(
+            FrameTestWindowState w, int left, int top, int right, int bottom) {
         Rect policyCrop = new Rect();
         w.calculatePolicyCrop(policyCrop);
         assertRect(policyCrop, left, top, right, bottom);
@@ -177,8 +128,7 @@
     @Test
     public void testLayoutInFullscreenTaskInsets() {
         // fullscreen task doesn't use bounds for computeFrame
-        final Task task = new TaskWithBounds(mStubStack, mWm, null);
-        WindowState w = createWindow(task, MATCH_PARENT, MATCH_PARENT);
+        WindowState w = createWindow(MATCH_PARENT, MATCH_PARENT);
         w.mAttrs.gravity = Gravity.LEFT | Gravity.TOP;
 
         final int bottomContentInset = 100;
@@ -235,8 +185,7 @@
     @Test
     public void testLayoutInFullscreenTaskNoInsets() {
         // fullscreen task doesn't use bounds for computeFrame
-        final Task task = new TaskWithBounds(mStubStack, mWm, null);
-        WindowState w = createWindow(task, MATCH_PARENT, MATCH_PARENT);
+        WindowState w = createWindow(MATCH_PARENT, MATCH_PARENT);
         w.mAttrs.gravity = Gravity.LEFT | Gravity.TOP;
 
         // With no insets or system decor all the frames incoming from PhoneWindowManager
@@ -323,9 +272,11 @@
         final int taskRight = logicalWidth / 4 * 3;
         final int taskBottom = logicalHeight / 4 * 3;
         final Rect taskBounds = new Rect(taskLeft, taskTop, taskRight, taskBottom);
-        final TaskWithBounds task = new TaskWithBounds(mStubStack, mWm, taskBounds);
-        task.mFullscreenForTest = false;
-        WindowState w = createWindow(task, MATCH_PARENT, MATCH_PARENT);
+        WindowState w = createWindow(MATCH_PARENT, MATCH_PARENT);
+        final Task task = w.getTask();
+        // Use split-screen because it is non-fullscreen, but also not floating
+        task.setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_SECONDARY);
+        task.setBounds(taskBounds);
         w.mAttrs.gravity = Gravity.LEFT | Gravity.TOP;
 
         final Rect pf = new Rect(0, 0, logicalWidth, logicalHeight);
@@ -359,8 +310,8 @@
         final int insetTop = logicalHeight / 5;
         final int insetRight = insetLeft + (taskRight - taskLeft);
         final int insetBottom = insetTop + (taskBottom - taskTop);
-        task.mOverrideDisplayedBounds.set(taskBounds);
-        task.mBounds.set(insetLeft, insetTop, insetRight, insetBottom);
+        task.setOverrideDisplayedBounds(taskBounds);
+        task.setBounds(insetLeft, insetTop, insetRight, insetBottom);
         windowFrames.setFrames(pf, pf, pf, cf, cf, pf, cf, mEmptyRect);
         w.computeFrameLw();
         assertFrame(w, taskLeft, taskTop, taskRight, taskBottom);
@@ -373,8 +324,7 @@
 
     @Test
     public void testCalculatePolicyCrop() {
-        final WindowStateWithTask w = createWindow(
-                new TaskWithBounds(mStubStack, mWm, null), MATCH_PARENT, MATCH_PARENT);
+        final FrameTestWindowState w = createWindow(MATCH_PARENT, MATCH_PARENT);
         w.mAttrs.gravity = Gravity.LEFT | Gravity.TOP;
 
         final DisplayInfo displayInfo = w.getDisplayContent().getDisplayInfo();
@@ -439,9 +389,11 @@
         final int taskRight = logicalWidth / 4 * 3;
         final int taskBottom = logicalHeight / 4 * 3;
         final Rect taskBounds = new Rect(taskLeft, taskTop, taskRight, taskBottom);
-        final TaskWithBounds task = new TaskWithBounds(mStubStack, mWm, taskBounds);
-        task.mFullscreenForTest = false;
-        WindowState w = createWindow(task, MATCH_PARENT, MATCH_PARENT);
+        WindowState w = createWindow(MATCH_PARENT, MATCH_PARENT);
+        final Task task = w.getTask();
+        // Use split-screen because it is non-fullscreen, but also not floating
+        task.setWindowingMode(WINDOWING_MODE_SPLIT_SCREEN_SECONDARY);
+        task.setBounds(taskBounds);
         w.mAttrs.gravity = Gravity.LEFT | Gravity.TOP;
 
         final Rect pf = new Rect(0, 0, logicalWidth, logicalHeight);
@@ -461,7 +413,8 @@
         config.windowConfiguration.setBounds(cf);
         w.mAppToken.onRequestedOverrideConfigurationChanged(config);
         pf.set(0, 0, logicalWidth, logicalHeight);
-        task.mFullscreenForTest = true;
+        task.setWindowingMode(WINDOWING_MODE_FULLSCREEN);
+        task.setBounds(null);
         windowFrames.setFrames(pf, pf, pf, cf, cf, pf, cf, mEmptyRect);
         w.computeFrameLw();
         assertFrame(w, cf.left, cf.top, cf.right, cf.bottom);
@@ -472,8 +425,7 @@
     @Test
     public void testDisplayCutout() {
         // Regular fullscreen task and window
-        final Task task = new TaskWithBounds(mStubStack, mWm, null);
-        WindowState w = createWindow(task, MATCH_PARENT, MATCH_PARENT);
+        WindowState w = createWindow(MATCH_PARENT, MATCH_PARENT);
         w.mAttrs.gravity = Gravity.LEFT | Gravity.TOP;
 
         final Rect pf = new Rect(0, 0, 1000, 2000);
@@ -496,11 +448,10 @@
     @Test
     public void testDisplayCutout_tempDisplayedBounds() {
         // Regular fullscreen task and window
-        final TaskWithBounds task = new TaskWithBounds(mStubStack, mWm,
-                new Rect(0, 0, 1000, 2000));
-        task.mFullscreenForTest = false;
+        WindowState w = createWindow(MATCH_PARENT, MATCH_PARENT);
+        final Task task = w.getTask();
+        task.setBounds(new Rect(0, 0, 1000, 2000));
         task.setOverrideDisplayedBounds(new Rect(0, -500, 1000, 1500));
-        WindowState w = createWindow(task, MATCH_PARENT, MATCH_PARENT);
         w.mAttrs.gravity = Gravity.LEFT | Gravity.TOP;
 
         final Rect pf = new Rect(0, -500, 1000, 1500);
@@ -523,12 +474,10 @@
     @Test
     public void testFreeformContentInsets() {
         // fullscreen task doesn't use bounds for computeFrame
-        final Task task = new TaskWithBounds(mStubStack, mWm, null);
-        WindowState w = createWindow(task, MATCH_PARENT, MATCH_PARENT);
+        WindowState w = createWindow(MATCH_PARENT, MATCH_PARENT);
+        final Task task = w.getTask();
         w.mAttrs.gravity = Gravity.LEFT | Gravity.TOP;
         task.setWindowingMode(WINDOWING_MODE_FREEFORM);
-        ((TaskWithBounds) task).mFullscreenForTest = false;
-        w.setWindowingMode(WINDOWING_MODE_FREEFORM);
 
         DisplayContent dc = mWm.getDefaultDisplayContentLocked();
         dc.mInputMethodTarget = w;
@@ -551,7 +500,6 @@
         final Rect winRect = new Rect(200, 200, 300, 500);
 
         task.setBounds(winRect);
-        w.setBounds(winRect);
         w.getWindowFrames().setFrames(pf, df, of, cf, vf, dcf, sf, mEmptyRect);
         w.computeFrameLw();
 
@@ -580,11 +528,16 @@
         assertEquals(winRect, w.getFrameLw());
     }
 
-    private WindowStateWithTask createWindow(Task task, int width, int height) {
+    private FrameTestWindowState createWindow(int width, int height) {
         final WindowManager.LayoutParams attrs = new WindowManager.LayoutParams(TYPE_APPLICATION);
         attrs.width = width;
         attrs.height = height;
 
-        return new WindowStateWithTask(mWm, mIWindow, mWindowToken, attrs, task);
+        AppWindowToken token = createAppWindowToken(mWm.getDefaultDisplayContentLocked(),
+                WINDOWING_MODE_FULLSCREEN, ACTIVITY_TYPE_STANDARD);
+
+        FrameTestWindowState ws = new FrameTestWindowState(mWm, mIWindow, token, attrs);
+        token.addWindow(ws);
+        return ws;
     }
 }
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java b/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java
index b03f63b..4f8fe5b 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowStateTests.java
@@ -87,7 +87,6 @@
  */
 @SmallTest
 @Presubmit
-@FlakyTest(bugId = 124127512)
 public class WindowStateTests extends WindowTestsBase {
     private static int sPreviousNewInsetsMode;
 
@@ -363,7 +362,6 @@
         assertFalse(app.canAffectSystemUiFlags());
     }
 
-    @FlakyTest(detail = "Promote to presubmit when shown to be stable.")
     @Test
     public void testVisibleWithInsetsProvider() throws Exception {
         final WindowState topBar = createWindow(null, TYPE_STATUS_BAR, "topBar");
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowTestUtils.java b/services/tests/wmtests/src/com/android/server/wm/WindowTestUtils.java
index 0dec8ee..a7a785d 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowTestUtils.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowTestUtils.java
@@ -56,24 +56,15 @@
 
     static TestAppWindowToken createTestAppWindowToken(DisplayContent dc) {
         synchronized (dc.mWmService.mGlobalLock) {
-            return new TestAppWindowToken(dc, true /* skipOnParentChanged */);
-        }
-    }
-
-    static TestAppWindowToken createTestAppWindowToken(DisplayContent dc,
-            boolean skipOnParentChanged) {
-        synchronized (dc.mWmService.mGlobalLock) {
-            return new TestAppWindowToken(dc, skipOnParentChanged);
+            return new TestAppWindowToken(dc);
         }
     }
 
     /** Used so we can gain access to some protected members of the {@link AppWindowToken} class. */
     static class TestAppWindowToken extends AppWindowToken {
         boolean mOnTop = false;
-        private boolean mSkipPrepareSurfaces;
-        boolean mSkipOnParentChanged = true;
 
-        private TestAppWindowToken(DisplayContent dc, boolean skipOnParentChanged) {
+        private TestAppWindowToken(DisplayContent dc) {
             super(dc.mWmService, new IApplicationToken.Stub() {
                 @Override
                 public String getName() {
@@ -81,7 +72,6 @@
                 }
             }, new ComponentName("", ""), false, dc, true /* fillsParent */);
             mTargetSdk = Build.VERSION_CODES.CUR_DEVELOPMENT;
-            mSkipOnParentChanged = skipOnParentChanged;
             mActivityRecord = mock(ActivityRecord.class);
             mActivityRecord.app = mock(WindowProcessController.class);
         }
@@ -103,44 +93,10 @@
         }
 
         @Override
-        void onParentChanged() {
-            if (!mSkipOnParentChanged) {
-                super.onParentChanged();
-            } else {
-                updateConfigurationFromParent(this);
-            }
-        }
-
-        @Override
         boolean isOnTop() {
             return mOnTop;
         }
 
-        @Override
-        void prepareSurfaces() {
-            if (!mSkipPrepareSurfaces) {
-                super.prepareSurfaces();
-            }
-        }
-
-        void setSkipPrepareSurfaces(boolean ignore) {
-            mSkipPrepareSurfaces = ignore;
-        }
-    }
-
-    /**
-     * Used when we don't want to perform surface related operation in
-     * {@link WindowContainer#onParentChanged} or the overridden method, but the configuration
-     * still needs to propagate from parent.
-     *
-     * @see ConfigurationContainer#onParentChanged
-     */
-    static void updateConfigurationFromParent(WindowContainer container) {
-        final WindowContainer parent = container.getParent();
-        if (parent != null) {
-            container.onConfigurationChanged(parent.getConfiguration());
-            container.onMergedOverrideConfigurationChanged();
-        }
     }
 
     static TestWindowToken createTestWindowToken(int type, DisplayContent dc) {
@@ -246,10 +202,5 @@
 
             mHasSurface = hadSurface;
         }
-
-        @Override
-        void onParentChanged() {
-            updateConfigurationFromParent(this);
-        }
     }
 }
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java b/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java
index d202e16..8c37ca5e 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowTestsBase.java
@@ -229,10 +229,11 @@
         } catch (Exception e) {
             Log.e(TAG, "Failed to tear down test", e);
             throw e;
+        } finally {
+            mMockTracker.close();
+            mMockTracker = null;
         }
 
-        mMockTracker.close();
-        mMockTracker = null;
     }
 
     private WindowState createCommonWindow(WindowState parent, int type, String name) {
@@ -269,16 +270,10 @@
 
     WindowTestUtils.TestAppWindowToken createTestAppWindowToken(DisplayContent dc, int
             windowingMode, int activityType) {
-        return createTestAppWindowToken(dc, windowingMode, activityType,
-                true /*skipOnParentChanged */);
-    }
-
-    WindowTestUtils.TestAppWindowToken createTestAppWindowToken(DisplayContent dc, int
-            windowingMode, int activityType, boolean skipOnParentChanged) {
         final TaskStack stack = createTaskStackOnDisplay(windowingMode, activityType, dc);
         final Task task = createTaskInStack(stack, 0 /* userId */);
         final WindowTestUtils.TestAppWindowToken appWindowToken =
-                WindowTestUtils.createTestAppWindowToken(dc, skipOnParentChanged);
+                WindowTestUtils.createTestAppWindowToken(dc);
         task.addChild(appWindowToken, 0);
         return appWindowToken;
     }
diff --git a/services/tests/wmtests/src/com/android/server/wm/WindowTracingTest.java b/services/tests/wmtests/src/com/android/server/wm/WindowTracingTest.java
index 8358fdd..e3691c6 100644
--- a/services/tests/wmtests/src/com/android/server/wm/WindowTracingTest.java
+++ b/services/tests/wmtests/src/com/android/server/wm/WindowTracingTest.java
@@ -20,6 +20,7 @@
 
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.doAnswer;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.mock;
+import static com.android.dx.mockito.inline.extended.ExtendedMockito.times;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.verify;
 import static com.android.dx.mockito.inline.extended.ExtendedMockito.verifyZeroInteractions;
 
@@ -124,7 +125,7 @@
     public void trace_dumpsWindowManagerState_whenTracing() throws Exception {
         mWindowTracing.startTrace(mock(PrintWriter.class));
         mWindowTracing.logState("where");
-        verify(mWmMock).writeToProtoLocked(any(), eq(WindowTraceLogLevel.TRIM));
+        verify(mWmMock, times(2)).writeToProtoLocked(any(), eq(WindowTraceLogLevel.TRIM));
     }
 
     @Test
diff --git a/services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java b/services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java
index 2907021..7d7c398 100644
--- a/services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java
+++ b/services/tests/wmtests/src/com/android/server/wm/ZOrderingTests.java
@@ -43,7 +43,6 @@
 import android.view.SurfaceControl;
 import android.view.SurfaceSession;
 
-import androidx.test.filters.FlakyTest;
 import androidx.test.filters.SmallTest;
 
 import org.junit.After;
@@ -74,7 +73,7 @@
         public SurfaceControl.Transaction setLayer(SurfaceControl sc, int layer) {
             mRelativeLayersForControl.remove(sc);
             mLayersForControl.put(sc, layer);
-            return super.setLayer(sc, layer);
+            return this;
         }
 
         @Override
@@ -83,7 +82,7 @@
                 int layer) {
             mRelativeLayersForControl.put(sc, relativeTo);
             mLayersForControl.put(sc, layer);
-            return super.setRelativeLayer(sc, relativeTo, layer);
+            return this;
         }
 
         private int getLayer(SurfaceControl sc) {
@@ -212,7 +211,6 @@
         return createWindow(null, TYPE_BASE_APPLICATION, mDisplayContent, name);
     }
 
-    @FlakyTest(bugId = 124088319)
     @Test
     public void testAssignWindowLayers_ForImeWithNoTarget() {
         mDisplayContent.mInputMethodTarget = null;
@@ -230,7 +228,6 @@
         assertWindowHigher(mImeDialogWindow, mImeWindow);
     }
 
-    @FlakyTest(bugId = 124088319)
     @Test
     public void testAssignWindowLayers_ForImeWithAppTarget() {
         final WindowState imeAppTarget = createWindow("imeAppTarget");
@@ -250,7 +247,6 @@
         assertWindowHigher(mImeDialogWindow, mImeWindow);
     }
 
-    @FlakyTest(bugId = 124088319)
     @Test
     public void testAssignWindowLayers_ForImeWithAppTargetWithChildWindows() {
         final WindowState imeAppTarget = createWindow("imeAppTarget");
@@ -277,7 +273,6 @@
         assertWindowHigher(mImeDialogWindow, mImeWindow);
     }
 
-    @FlakyTest(bugId = 124088319)
     @Test
     public void testAssignWindowLayers_ForImeWithAppTargetAndAppAbove() {
         final WindowState appBelowImeTarget = createWindow("appBelowImeTarget");
@@ -301,7 +296,6 @@
         assertWindowHigher(mImeDialogWindow, mImeWindow);
     }
 
-    @FlakyTest(bugId = 124088319)
     @Test
     public void testAssignWindowLayers_ForImeNonAppImeTarget() {
         final WindowState imeSystemOverlayTarget = createWindow(null, TYPE_SYSTEM_OVERLAY,
@@ -329,7 +323,6 @@
         assertWindowHigher(mImeDialogWindow, mImeWindow);
     }
 
-    @FlakyTest(bugId = 124088319)
     @Test
     public void testAssignWindowLayers_ForStatusBarImeTarget() {
         mDisplayContent.mInputMethodTarget = mStatusBarWindow;
@@ -344,7 +337,6 @@
         assertWindowHigher(mImeDialogWindow, mImeWindow);
     }
 
-    @FlakyTest(bugId = 124088319)
     @Test
     public void testStackLayers() {
         final WindowState anyWindow1 = createWindow("anyWindow");
@@ -432,7 +424,6 @@
         }
     }
 
-    @FlakyTest(bugId = 124088319)
     @Test
     public void testDockedDividerPosition() {
         final WindowState pinnedStackWindow = createWindowOnStack(null, WINDOWING_MODE_PINNED,
diff --git a/services/usage/java/com/android/server/usage/AppIdleHistory.java b/services/usage/java/com/android/server/usage/AppIdleHistory.java
index bc54a5d..1e4861a 100644
--- a/services/usage/java/com/android/server/usage/AppIdleHistory.java
+++ b/services/usage/java/com/android/server/usage/AppIdleHistory.java
@@ -508,6 +508,16 @@
                 Integer.toString(userId)), APP_IDLE_FILENAME);
     }
 
+
+    /**
+     * Check if App Idle File exists on disk
+     * @param userId
+     * @return true if file exists
+     */
+    public boolean userFileExists(int userId) {
+        return getUserFile(userId).exists();
+    }
+
     private void readAppIdleTimes(int userId, ArrayMap<String, AppUsageHistory> userHistory) {
         FileInputStream fis = null;
         try {
diff --git a/services/usage/java/com/android/server/usage/AppStandbyController.java b/services/usage/java/com/android/server/usage/AppStandbyController.java
index ffafb6d..4b33e16 100644
--- a/services/usage/java/com/android/server/usage/AppStandbyController.java
+++ b/services/usage/java/com/android/server/usage/AppStandbyController.java
@@ -377,7 +377,12 @@
 
             mSystemServicesReady = true;
 
-            if (mPendingInitializeDefaults) {
+            boolean userFileExists;
+            synchronized (mAppIdleLock) {
+                userFileExists = mAppIdleHistory.userFileExists(UserHandle.USER_SYSTEM);
+            }
+
+            if (mPendingInitializeDefaults || !userFileExists) {
                 initializeDefaultsForSystemApps(UserHandle.USER_SYSTEM);
             }
 
@@ -1435,6 +1440,8 @@
                             elapsedRealtime + mSystemUpdateUsageTimeoutMillis);
                 }
             }
+            // Immediately persist defaults to disk
+            mAppIdleHistory.writeAppIdleTimes(userId);
         }
     }
 
diff --git a/services/usage/java/com/android/server/usage/AppTimeLimitController.java b/services/usage/java/com/android/server/usage/AppTimeLimitController.java
index f3d6387..6861ad1 100644
--- a/services/usage/java/com/android/server/usage/AppTimeLimitController.java
+++ b/services/usage/java/com/android/server/usage/AppTimeLimitController.java
@@ -511,10 +511,10 @@
 
     class AppUsageLimitGroup extends UsageGroup {
         public AppUsageLimitGroup(UserData user, ObserverAppData observerApp, int observerId,
-                String[] observed, long timeLimitMs, long timeRemainingMs,
+                String[] observed, long timeLimitMs, long timeUsedMs,
                 PendingIntent limitReachedCallback) {
             super(user, observerApp, observerId, observed, timeLimitMs, limitReachedCallback);
-            mUsageTimeMs = timeLimitMs - timeRemainingMs;
+            mUsageTimeMs = timeUsedMs;
         }
 
         @Override
@@ -841,7 +841,7 @@
      * Existing app usage limit observer with the same observerId will be removed.
      */
     public void addAppUsageLimitObserver(int requestingUid, int observerId, String[] observed,
-            long timeLimit, long timeRemaining, PendingIntent callbackIntent,
+            long timeLimit, long timeUsed, PendingIntent callbackIntent,
             @UserIdInt int userId) {
         if (timeLimit < getMinTimeLimit()) {
             throw new IllegalArgumentException("Time limit must be >= " + getMinTimeLimit());
@@ -861,7 +861,7 @@
                         "Too many app usage observers added by uid " + requestingUid);
             }
             group = new AppUsageLimitGroup(user, observerApp, observerId, observed, timeLimit,
-                    timeRemaining, timeRemaining == 0L ? null : callbackIntent);
+                    timeUsed, timeUsed >= timeLimit ? null : callbackIntent);
             observerApp.appUsageLimitGroups.append(observerId, group);
 
             if (DEBUG) {
diff --git a/services/usage/java/com/android/server/usage/UsageStatsService.java b/services/usage/java/com/android/server/usage/UsageStatsService.java
index 27fdbcb..1ec680f 100644
--- a/services/usage/java/com/android/server/usage/UsageStatsService.java
+++ b/services/usage/java/com/android/server/usage/UsageStatsService.java
@@ -1399,7 +1399,7 @@
 
         @Override
         public void registerAppUsageLimitObserver(int observerId, String[] packages,
-                long timeLimitMs, long timeRemainingMs, PendingIntent callbackIntent,
+                long timeLimitMs, long timeUsedMs, PendingIntent callbackIntent,
                 String callingPackage) {
             if (!hasPermissions(callingPackage,
                     Manifest.permission.SUSPEND_APPS, Manifest.permission.OBSERVE_APP_USAGE)) {
@@ -1410,11 +1410,7 @@
             if (packages == null || packages.length == 0) {
                 throw new IllegalArgumentException("Must specify at least one package");
             }
-            if (timeRemainingMs > timeLimitMs) {
-                throw new IllegalArgumentException(
-                        "Remaining time can't be greater than total time.");
-            }
-            if (callbackIntent == null && timeRemainingMs != 0L) {
+            if (callbackIntent == null && timeUsedMs < timeLimitMs) {
                 throw new NullPointerException("callbackIntent can't be null");
             }
             final int callingUid = Binder.getCallingUid();
@@ -1422,7 +1418,7 @@
             final long token = Binder.clearCallingIdentity();
             try {
                 UsageStatsService.this.registerAppUsageLimitObserver(callingUid, observerId,
-                        packages, timeLimitMs, timeRemainingMs, callbackIntent, userId);
+                        packages, timeLimitMs, timeUsedMs, callbackIntent, userId);
             } finally {
                 Binder.restoreCallingIdentity(token);
             }
@@ -1550,9 +1546,9 @@
     }
 
     void registerAppUsageLimitObserver(int callingUid, int observerId, String[] packages,
-            long timeLimitMs, long timeRemainingMs, PendingIntent callbackIntent, int userId) {
+            long timeLimitMs, long timeUsedMs, PendingIntent callbackIntent, int userId) {
         mAppTimeLimit.addAppUsageLimitObserver(callingUid, observerId, packages,
-                timeLimitMs, timeRemainingMs, callbackIntent, userId);
+                timeLimitMs, timeUsedMs, callbackIntent, userId);
     }
 
     void unregisterAppUsageLimitObserver(int callingUid, int observerId, int userId) {
diff --git a/services/usage/java/com/android/server/usage/UserUsageStatsService.java b/services/usage/java/com/android/server/usage/UserUsageStatsService.java
index b9a5676..9498e16 100644
--- a/services/usage/java/com/android/server/usage/UserUsageStatsService.java
+++ b/services/usage/java/com/android/server/usage/UserUsageStatsService.java
@@ -17,6 +17,7 @@
 package com.android.server.usage;
 
 import static android.app.usage.UsageEvents.Event.DEVICE_SHUTDOWN;
+import static android.app.usage.UsageEvents.Event.DEVICE_STARTUP;
 import static android.app.usage.UsageStatsManager.INTERVAL_BEST;
 import static android.app.usage.UsageStatsManager.INTERVAL_COUNT;
 import static android.app.usage.UsageStatsManager.INTERVAL_DAILY;
@@ -137,15 +138,18 @@
 
         // During system reboot, add a DEVICE_SHUTDOWN event to the end of event list, the timestamp
         // is last time UsageStatsDatabase is persisted to disk.
+        // Also add a DEVICE_STARTUP event with current system timestamp.
         final IntervalStats currentDailyStats = mCurrentStats[INTERVAL_DAILY];
         if (currentDailyStats != null) {
-            final int size = currentDailyStats.events.size();
-            if (size == 0 || currentDailyStats.events.get(size - 1).mEventType != DEVICE_SHUTDOWN) {
-                // The last event in event list is not DEVICE_SHUTDOWN, then we insert one.
-                final Event event = new Event(DEVICE_SHUTDOWN, currentDailyStats.lastTimeSaved);
-                event.mPackage = Event.DEVICE_EVENT_PACKAGE_NAME;
-                currentDailyStats.addEvent(event);
-            }
+            // File system timestamp only has precision of 1 second, add 1000ms to make up
+            // for the loss of round up.
+            final Event shutdownEvent =
+                    new Event(DEVICE_SHUTDOWN, currentDailyStats.lastTimeSaved + 1000);
+            shutdownEvent.mPackage = Event.DEVICE_EVENT_PACKAGE_NAME;
+            currentDailyStats.addEvent(shutdownEvent);
+            final Event startupEvent = new Event(DEVICE_STARTUP, currentTimeMillis);
+            startupEvent.mPackage = Event.DEVICE_EVENT_PACKAGE_NAME;
+            currentDailyStats.addEvent(startupEvent);
         }
 
         if (mDatabase.isNewUpdate()) {
@@ -956,6 +960,8 @@
                 return "KEYGUARD_HIDDEN";
             case Event.DEVICE_SHUTDOWN:
                 return "DEVICE_SHUTDOWN";
+            case Event.DEVICE_STARTUP:
+                return "DEVICE_STARTUP";
             default:
                 return "UNKNOWN_TYPE_" + eventType;
         }
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
index b9440eb..ad1e3ef 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerService.java
@@ -1389,6 +1389,16 @@
                         resetCurAssistant(userHandle);
                         initForUser(userHandle);
                         switchImplementationIfNeededLocked(true);
+
+                        Context context = getContext();
+                        context.getSystemService(RoleManager.class).clearRoleHoldersAsUser(
+                                RoleManager.ROLE_ASSISTANT, 0, UserHandle.of(userHandle),
+                                context.getMainExecutor(), successful -> {
+                                    if (!successful) {
+                                        Slog.e(TAG,
+                                                "Failed to clear default assistant for force stop");
+                                    }
+                                });
                     }
                 } else if (hitRec && doit) {
                     // We are just force-stopping the current recognizer, which is not
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
index 61d7d6c..8d2cbca 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionManagerServiceImpl.java
@@ -357,7 +357,8 @@
         Intent intent = new Intent(VoiceInteractionService.SERVICE_INTERFACE);
         intent.setComponent(mComponent);
         mBound = mContext.bindServiceAsUser(intent, mConnection,
-                Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE, new UserHandle(mUser));
+                Context.BIND_AUTO_CREATE | Context.BIND_FOREGROUND_SERVICE
+                | Context.BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS, new UserHandle(mUser));
         if (!mBound) {
             Slog.w(TAG, "Failed binding to voice interaction service " + mComponent);
         }
diff --git a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java
index 57729b5..24690f5 100644
--- a/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java
+++ b/services/voiceinteraction/java/com/android/server/voiceinteraction/VoiceInteractionSessionConnection.java
@@ -16,9 +16,6 @@
 
 package com.android.server.voiceinteraction;
 
-import static com.android.server.wm.ActivityTaskManagerInternal.ASSIST_KEY_CONTENT;
-import static com.android.server.wm.ActivityTaskManagerInternal.ASSIST_KEY_DATA;
-import static com.android.server.wm.ActivityTaskManagerInternal.ASSIST_KEY_STRUCTURE;
 import static android.app.AppOpsManager.OP_ASSIST_SCREENSHOT;
 import static android.app.AppOpsManager.OP_ASSIST_STRUCTURE;
 import static android.content.Intent.FLAG_GRANT_READ_URI_PERMISSION;
@@ -26,6 +23,10 @@
 import static android.view.Display.DEFAULT_DISPLAY;
 import static android.view.WindowManager.LayoutParams.TYPE_VOICE_INTERACTION;
 
+import static com.android.server.wm.ActivityTaskManagerInternal.ASSIST_KEY_CONTENT;
+import static com.android.server.wm.ActivityTaskManagerInternal.ASSIST_KEY_DATA;
+import static com.android.server.wm.ActivityTaskManagerInternal.ASSIST_KEY_STRUCTURE;
+
 import android.app.ActivityManager;
 import android.app.ActivityTaskManager;
 import android.app.AppOpsManager;
@@ -158,7 +159,8 @@
         mBindIntent.setComponent(mSessionComponentName);
         mBound = mContext.bindServiceAsUser(mBindIntent, this,
                 Context.BIND_AUTO_CREATE | Context.BIND_WAIVE_PRIORITY
-                        | Context.BIND_ALLOW_OOM_MANAGEMENT, new UserHandle(mUser));
+                        | Context.BIND_ALLOW_OOM_MANAGEMENT
+                        | Context.BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS, new UserHandle(mUser));
         if (mBound) {
             try {
                 mIWindowManager.addWindowToken(mToken, TYPE_VOICE_INTERACTION, DEFAULT_DISPLAY);
@@ -190,7 +192,8 @@
             if (!mFullyBound) {
                 mFullyBound = mContext.bindServiceAsUser(mBindIntent, mFullConnection,
                         Context.BIND_AUTO_CREATE | Context.BIND_TREAT_LIKE_ACTIVITY
-                                | Context.BIND_FOREGROUND_SERVICE,
+                                | Context.BIND_FOREGROUND_SERVICE
+                                | Context.BIND_ALLOW_BACKGROUND_ACTIVITY_STARTS,
                         new UserHandle(mUser));
             }
 
@@ -256,7 +259,10 @@
             final Bundle assistData = data.getBundle(ASSIST_KEY_DATA);
             final AssistStructure structure = data.getParcelable(ASSIST_KEY_STRUCTURE);
             final AssistContent content = data.getParcelable(ASSIST_KEY_CONTENT);
-            final int uid = data.getInt(Intent.EXTRA_ASSIST_UID, -1);
+            int uid = -1;
+            if (assistData != null) {
+                uid = assistData.getInt(Intent.EXTRA_ASSIST_UID, -1);
+            }
             if (uid >= 0 && content != null) {
                 Intent intent = content.getIntent();
                 if (intent != null) {
diff --git a/telecomm/java/android/telecom/AudioState.java b/telecomm/java/android/telecom/AudioState.java
index 4e74395..6b9b83d 100644
--- a/telecomm/java/android/telecom/AudioState.java
+++ b/telecomm/java/android/telecom/AudioState.java
@@ -18,6 +18,7 @@
 
 import android.annotation.SystemApi;
 import android.annotation.UnsupportedAppUsage;
+import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -54,11 +55,11 @@
     private static final int ROUTE_ALL = ROUTE_EARPIECE | ROUTE_BLUETOOTH | ROUTE_WIRED_HEADSET |
             ROUTE_SPEAKER;
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 127403196)
     private final boolean isMuted;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 127403196)
     private final int route;
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 127403196)
     private final int supportedRouteMask;
 
     public AudioState(boolean muted, int route, int supportedRouteMask) {
diff --git a/telecomm/java/android/telecom/Call.java b/telecomm/java/android/telecom/Call.java
index dcaa499..c05a346 100644
--- a/telecomm/java/android/telecom/Call.java
+++ b/telecomm/java/android/telecom/Call.java
@@ -144,6 +144,16 @@
     public static final String EXTRA_LAST_EMERGENCY_CALLBACK_TIME_MILLIS =
             "android.telecom.extra.LAST_EMERGENCY_CALLBACK_TIME_MILLIS";
 
+
+    /**
+     * Extra key used to indicate whether a {@link CallScreeningService} has requested to silence
+     * the ringtone for a call.  If the {@link InCallService} declares
+     * {@link TelecomManager#METADATA_IN_CALL_SERVICE_RINGING} in its manifest, it should not
+     * play a ringtone for an incoming call with this extra key set.
+     */
+    public static final String EXTRA_SILENT_RINGING_REQUESTED =
+            "android.telecom.extra.SILENT_RINGING_REQUESTED";
+
     /**
      * Call event sent from a {@link Call} via {@link #sendCallEvent(String, Bundle)} to inform
      * Telecom that the user has requested that the current {@link Call} should be handed over
diff --git a/telecomm/java/android/telecom/CallRedirectionService.java b/telecomm/java/android/telecom/CallRedirectionService.java
index 3299117..d01c889 100644
--- a/telecomm/java/android/telecom/CallRedirectionService.java
+++ b/telecomm/java/android/telecom/CallRedirectionService.java
@@ -17,6 +17,7 @@
 package android.telecom;
 
 import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.SdkConstant;
 import android.app.Service;
 import android.content.Intent;
@@ -62,16 +63,20 @@
     private ICallRedirectionAdapter mCallRedirectionAdapter;
 
     /**
-     * Telecom calls this method to inform the implemented {@link CallRedirectionService} of
-     * a new outgoing call which is being placed. Telecom does not request to redirect emergency
-     * calls and does not request to redirect calls with gateway information.
+     * Telecom calls this method once upon binding to a {@link CallRedirectionService} to inform
+     * it of a new outgoing call which is being placed. Telecom does not request to redirect
+     * emergency calls and does not request to redirect calls with gateway information.
      *
      * <p>Telecom will cancel the call if Telecom does not receive a response in 5 seconds from
      * the implemented {@link CallRedirectionService} set by users.
      *
      * <p>The implemented {@link CallRedirectionService} can call {@link #placeCallUnmodified()},
      * {@link #redirectCall(Uri, PhoneAccountHandle, boolean)}, and {@link #cancelCall()} only
-     * from here.
+     * from here. Calls to these methods are assumed by the Telecom framework to be the response
+     * for the phone call for which {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)} was
+     * invoked by Telecom. The Telecom framework will only invoke
+     * {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)} once each time it binds to a
+     * {@link CallRedirectionService}.
      *
      * @param handle the phone number dialed by the user, represented in E.164 format if possible
      * @param initialPhoneAccount the {@link PhoneAccountHandle} on which the call will be placed.
@@ -91,13 +96,15 @@
      * no changes are required to the outgoing call, and that the call should be placed as-is.
      *
      * <p>This can only be called from implemented
-     * {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}.
+     * {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}. The response corresponds to the
+     * latest request via {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}.
      *
      */
     public final void placeCallUnmodified() {
         try {
             mCallRedirectionAdapter.placeCallUnmodified();
         } catch (RemoteException e) {
+            e.rethrowAsRuntimeException();
         }
     }
 
@@ -109,7 +116,8 @@
      * replies Telecom a handle for an emergency number.
      *
      * <p>This can only be called from implemented
-     * {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}.
+     * {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}. The response corresponds to the
+     * latest request via {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}.
      *
      * @param handle the new phone number to dial
      * @param targetPhoneAccount the {@link PhoneAccountHandle} to use when placing the call.
@@ -126,6 +134,7 @@
         try {
             mCallRedirectionAdapter.redirectCall(handle, targetPhoneAccount, confirmFirst);
         } catch (RemoteException e) {
+            e.rethrowAsRuntimeException();
         }
     }
 
@@ -135,13 +144,15 @@
      * an outgoing call should be canceled entirely.
      *
      * <p>This can only be called from implemented
-     * {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}.
+     * {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}. The response corresponds to the
+     * latest request via {@link #onPlaceCall(Uri, PhoneAccountHandle, boolean)}.
      *
      */
     public final void cancelCall() {
         try {
             mCallRedirectionAdapter.cancelCall();
         } catch (RemoteException e) {
+            e.rethrowAsRuntimeException();
         }
     }
 
@@ -196,12 +207,12 @@
     }
 
     @Override
-    public final IBinder onBind(Intent intent) {
+    public final @Nullable IBinder onBind(@NonNull Intent intent) {
         return new CallRedirectionBinder();
     }
 
     @Override
-    public final boolean onUnbind(Intent intent) {
+    public final boolean onUnbind(@NonNull Intent intent) {
         return false;
     }
 }
diff --git a/telecomm/java/android/telecom/CallScreeningService.java b/telecomm/java/android/telecom/CallScreeningService.java
index 2fa388f..b1aece7 100644
--- a/telecomm/java/android/telecom/CallScreeningService.java
+++ b/telecomm/java/android/telecom/CallScreeningService.java
@@ -259,12 +259,14 @@
     public static class CallResponse {
         private final boolean mShouldDisallowCall;
         private final boolean mShouldRejectCall;
+        private final boolean mShouldSilenceCall;
         private final boolean mShouldSkipCallLog;
         private final boolean mShouldSkipNotification;
 
         private CallResponse(
                 boolean shouldDisallowCall,
                 boolean shouldRejectCall,
+                boolean shouldSilenceCall,
                 boolean shouldSkipCallLog,
                 boolean shouldSkipNotification) {
             if (!shouldDisallowCall
@@ -276,6 +278,7 @@
             mShouldRejectCall = shouldRejectCall;
             mShouldSkipCallLog = shouldSkipCallLog;
             mShouldSkipNotification = shouldSkipNotification;
+            mShouldSilenceCall = shouldSilenceCall;
         }
 
         /*
@@ -294,6 +297,13 @@
         }
 
         /*
+         * @return Whether the ringtone should be silenced for the incoming call.
+         */
+        public boolean getSilenceCall() {
+            return mShouldSilenceCall;
+        }
+
+        /*
          * @return Whether the incoming call should not be displayed in the call log.
          */
         public boolean getSkipCallLog() {
@@ -310,6 +320,7 @@
         public static class Builder {
             private boolean mShouldDisallowCall;
             private boolean mShouldRejectCall;
+            private boolean mShouldSilenceCall;
             private boolean mShouldSkipCallLog;
             private boolean mShouldSkipNotification;
 
@@ -331,6 +342,21 @@
             }
 
             /**
+             * Sets whether ringing should be silenced for the incoming call.  When set
+             * to {@code true}, the Telecom framework will not play a ringtone for the call.
+             * The call will, however, still be sent to the default dialer app if it is not blocked.
+             * A {@link CallScreeningService} can use this to ensure a potential nuisance call is
+             * still surfaced to the user, but in a less intrusive manner.
+             *
+             * Setting this to true only makes sense when the call has not been disallowed
+             * using {@link #setDisallowCall(boolean)}.
+             */
+            public @NonNull Builder setSilenceCall(boolean shouldSilenceCall) {
+                mShouldSilenceCall = shouldSilenceCall;
+                return this;
+            }
+
+            /**
              * Sets whether the incoming call should not be displayed in the call log. This property
              * should only be set to true if the call is disallowed.
              * <p>
@@ -356,6 +382,7 @@
                 return new CallResponse(
                         mShouldDisallowCall,
                         mShouldRejectCall,
+                        mShouldSilenceCall,
                         mShouldSkipCallLog,
                         mShouldSkipNotification);
             }
@@ -411,10 +438,11 @@
     public abstract void onScreenCall(@NonNull Call.Details callDetails);
 
     /**
-     * Responds to the given incoming call, either allowing it or disallowing it.
+     * Responds to the given incoming call, either allowing it, silencing it or disallowing it.
      * <p>
      * The {@link CallScreeningService} calls this method to inform the system whether the call
-     * should be silently blocked or not.
+     * should be silently blocked or not. In the event that it should not be blocked, it may
+     * also be requested to ring silently.
      * <p>
      * Calls to this method are ignored unless the {@link Call.Details#getCallDirection()} is
      * {@link Call.Details#DIRECTION_INCOMING}.
@@ -436,6 +464,8 @@
                         !response.getSkipCallLog(),
                         !response.getSkipNotification(),
                         new ComponentName(getPackageName(), getClass().getName()));
+            } else if (response.getSilenceCall()) {
+                mCallScreeningAdapter.silenceCall(callDetails.getTelecomCallId());
             } else {
                 mCallScreeningAdapter.allowCall(callDetails.getTelecomCallId());
             }
diff --git a/telecomm/java/android/telecom/Connection.java b/telecomm/java/android/telecom/Connection.java
index ae12a17..28e6596 100644
--- a/telecomm/java/android/telecom/Connection.java
+++ b/telecomm/java/android/telecom/Connection.java
@@ -555,6 +555,15 @@
     public static final String EVENT_CALL_MERGE_FAILED = "android.telecom.event.CALL_MERGE_FAILED";
 
     /**
+     * Connection event used to inform Telecom when a hold operation on a call has failed.
+     * Not intended for use by the UI at this time.
+     * Sent via {@link #sendConnectionEvent(String, Bundle)}.  The {@link Bundle} parameter is
+     * expected to be null when this connection event is used.
+     * @hide
+     */
+    public static final String EVENT_CALL_HOLD_FAILED = "android.telecom.event.CALL_HOLD_FAILED";
+
+    /**
      * Connection event used to inform {@link InCallService}s when the process of merging a
      * Connection into a conference has begun.
      * <p>
diff --git a/telecomm/java/android/telecom/DefaultDialerManager.java b/telecomm/java/android/telecom/DefaultDialerManager.java
index e43b2b7..5b806a6 100644
--- a/telecomm/java/android/telecom/DefaultDialerManager.java
+++ b/telecomm/java/android/telecom/DefaultDialerManager.java
@@ -16,7 +16,6 @@
 
 import android.app.ActivityManager;
 import android.app.role.RoleManager;
-import android.app.role.RoleManagerCallback;
 import android.content.Context;
 import android.content.Intent;
 import android.content.pm.ActivityInfo;
@@ -34,9 +33,11 @@
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
+import java.util.function.Consumer;
 
 /**
  * Class for managing the default dialer application that will receive incoming calls, and be
@@ -75,11 +76,18 @@
             int user) {
         long identity = Binder.clearCallingIdentity();
         try {
-            RoleManagerCallback.Future cb = new RoleManagerCallback.Future();
+            CompletableFuture<Void> future = new CompletableFuture<>();
+            Consumer<Boolean> callback = successful -> {
+                if (successful) {
+                    future.complete(null);
+                } else {
+                    future.completeExceptionally(new RuntimeException());
+                }
+            };
             context.getSystemService(RoleManager.class).addRoleHolderAsUser(
                     RoleManager.ROLE_DIALER, packageName, 0, UserHandle.of(user),
-                    AsyncTask.THREAD_POOL_EXECUTOR, cb);
-            cb.get(5, TimeUnit.SECONDS);
+                    AsyncTask.THREAD_POOL_EXECUTOR, callback);
+            future.get(5, TimeUnit.SECONDS);
             return true;
         } catch (InterruptedException | ExecutionException | TimeoutException e) {
             Slog.e(TAG, "Failed to set default dialer to " + packageName + " for user " + user, e);
diff --git a/telecomm/java/android/telecom/Phone.java b/telecomm/java/android/telecom/Phone.java
index d3ccd2c..0cc052e 100644
--- a/telecomm/java/android/telecom/Phone.java
+++ b/telecomm/java/android/telecom/Phone.java
@@ -19,6 +19,7 @@
 import android.annotation.SystemApi;
 import android.annotation.UnsupportedAppUsage;
 import android.bluetooth.BluetoothDevice;
+import android.os.Build;
 import android.os.Bundle;
 import android.os.RemoteException;
 import android.util.ArrayMap;
@@ -328,10 +329,12 @@
      * become active, and the touch screen and display will be turned off when the user's face
      * is detected to be in close proximity to the screen. This operation is a no-op on devices
      * that do not have a proximity sensor.
-     *
+     * <p>
+     * This API does not actually turn on the proximity sensor; apps should do this on their own if
+     * required.
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 127403196)
     public final void setProximitySensorOn() {
         mInCallAdapter.turnProximitySensorOn();
     }
@@ -344,10 +347,12 @@
      * @param screenOnImmediately If true, the screen will be turned on immediately if it was
      * previously off. Otherwise, the screen will only be turned on after the proximity sensor
      * is no longer triggered.
-     *
+     * <p>
+     * This API does not actually turn of the proximity sensor; apps should do this on their own if
+     * required.
      * @hide
      */
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 127403196)
     public final void setProximitySensorOff(boolean screenOnImmediately) {
         mInCallAdapter.turnProximitySensorOff(screenOnImmediately);
     }
diff --git a/telecomm/java/android/telecom/PhoneAccountHandle.java b/telecomm/java/android/telecom/PhoneAccountHandle.java
index a84ce55..71a28b5 100644
--- a/telecomm/java/android/telecom/PhoneAccountHandle.java
+++ b/telecomm/java/android/telecom/PhoneAccountHandle.java
@@ -42,7 +42,7 @@
  * See {@link PhoneAccount}, {@link TelecomManager}.
  */
 public final class PhoneAccountHandle implements Parcelable {
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 127403196)
     private final ComponentName mComponentName;
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     private final String mId;
diff --git a/telecomm/java/android/telecom/PhoneAccountSuggestion.java b/telecomm/java/android/telecom/PhoneAccountSuggestion.java
index 3799cf3..2589d95 100644
--- a/telecomm/java/android/telecom/PhoneAccountSuggestion.java
+++ b/telecomm/java/android/telecom/PhoneAccountSuggestion.java
@@ -18,8 +18,6 @@
 
 import android.annotation.IntDef;
 import android.annotation.NonNull;
-import android.annotation.SystemApi;
-import android.annotation.TestApi;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -69,10 +67,15 @@
     private boolean mShouldAutoSelect;
 
     /**
-     * @hide
+     * Creates a new instance of {@link PhoneAccountSuggestion}. This constructor is intended for
+     * use by apps implementing a {@link PhoneAccountSuggestionService}, and generally should not be
+     * used by dialer apps other than for testing purposes.
+     *
+     * @param handle The {@link PhoneAccountHandle} for this suggestion.
+     * @param reason The reason for this suggestion
+     * @param shouldAutoSelect Whether the dialer should automatically place the call using this
+     *                         account. See {@link #shouldAutoSelect()}.
      */
-    @SystemApi
-    @TestApi
     public PhoneAccountSuggestion(@NonNull PhoneAccountHandle handle, @SuggestionReason int reason,
             boolean shouldAutoSelect) {
         this.mHandle = handle;
diff --git a/telecomm/java/android/telecom/TelecomManager.java b/telecomm/java/android/telecom/TelecomManager.java
index 7688ac6..3d0a3c5 100644
--- a/telecomm/java/android/telecom/TelecomManager.java
+++ b/telecomm/java/android/telecom/TelecomManager.java
@@ -25,7 +25,6 @@
 import android.annotation.SystemService;
 import android.annotation.TestApi;
 import android.annotation.UnsupportedAppUsage;
-import android.app.role.RoleManagerCallback;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -478,12 +477,6 @@
             "android.telecom.extra.START_CALL_WITH_RTT";
 
     /**
-     * A boolean extra set to indicate whether an app is eligible to be bound to when there are
-     * ongoing calls on the device.
-     */
-    public static final String EXTRA_IS_ENABLED = "android.telecom.extra.IS_ENABLED";
-
-    /**
      * A boolean meta-data value indicating whether an {@link InCallService} implements an
      * in-call user interface. Dialer implementations (see {@link #getDefaultDialerPackage()}) which
      * would also like to replace the in-call interface should set this meta-data to {@code true} in
@@ -1221,8 +1214,8 @@
      *
      * @hide
      * @deprecated Use
-     * {@link android.app.role.RoleManager#addRoleHolderAsUser(String, String, UserHandle, Executor,
-     * RoleManagerCallback)} instead.
+     * {@link android.app.role.RoleManager#addRoleHolderAsUser(String, String, int, UserHandle,
+     * Executor, java.util.function.Consumer)} instead.
      */
     @SystemApi
     @Deprecated
@@ -1596,7 +1589,7 @@
                                 Build.VERSION_CODES.O_MR1) {
                     Log.e("TAG", "addNewIncomingCall failed. Use public api " +
                             "acceptHandover for API > O-MR1");
-                    // TODO add "return" after DUO team adds support for new handover API
+                    return;
                 }
                 getTelecomService().addNewIncomingCall(
                         phoneAccount, extras == null ? new Bundle() : extras);
diff --git a/telecomm/java/android/telecom/VideoCallImpl.java b/telecomm/java/android/telecom/VideoCallImpl.java
index 2c7fecb..cb74012 100644
--- a/telecomm/java/android/telecom/VideoCallImpl.java
+++ b/telecomm/java/android/telecom/VideoCallImpl.java
@@ -18,6 +18,7 @@
 
 import android.annotation.UnsupportedAppUsage;
 import android.net.Uri;
+import android.os.Build;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Looper;
@@ -218,7 +219,7 @@
         mTargetSdkVersion = sdkVersion;
     }
 
-    @UnsupportedAppUsage
+    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 127403196)
     public void destroy() {
         unregisterCallback(mCallback);
     }
diff --git a/telecomm/java/com/android/internal/telecom/ICallScreeningAdapter.aidl b/telecomm/java/com/android/internal/telecom/ICallScreeningAdapter.aidl
index a86c830..1160d27 100644
--- a/telecomm/java/com/android/internal/telecom/ICallScreeningAdapter.aidl
+++ b/telecomm/java/com/android/internal/telecom/ICallScreeningAdapter.aidl
@@ -29,6 +29,8 @@
 oneway interface ICallScreeningAdapter {
     void allowCall(String callId);
 
+    void silenceCall(String callId);
+
     void disallowCall(
             String callId,
             boolean shouldReject,
diff --git a/telephony/java/android/provider/Telephony.java b/telephony/java/android/provider/Telephony.java
index 9d46300..3106e40 100644
--- a/telephony/java/android/provider/Telephony.java
+++ b/telephony/java/android/provider/Telephony.java
@@ -3829,6 +3829,42 @@
          */
         public static final String CARRIER_ID = "carrier_id";
 
+        /**
+         * The skip 464xlat flag. Flag works as follows.
+         * {@link #SKIP_464XLAT_DEFAULT}: the APN will skip only APN is IMS and no internet.
+         * {@link #SKIP_464XLAT_DISABLE}: the APN will NOT skip 464xlat
+         * {@link #SKIP_464XLAT_ENABLE}: the APN will skip 464xlat
+         * <p>Type: INTEGER</p>
+         *
+         * @hide
+         */
+        public static final String SKIP_464XLAT = "skip_464xlat";
+
+        /**
+         * Possible value for the {@link #SKIP_464XLAT} field.
+         * <p>Type: INTEGER</p>
+         *
+         * @hide
+         */
+        public static final int SKIP_464XLAT_DEFAULT = -1;
+
+        /**
+         * Possible value for the {@link #SKIP_464XLAT} field.
+         * <p>Type: INTEGER</p>
+         *
+         * @hide
+         */
+        public static final int SKIP_464XLAT_DISABLE = 0;
+
+        /**
+         * Possible value for the {@link #SKIP_464XLAT} field.
+         * <p>Type: INTEGER</p>
+         *
+         * @hide
+         */
+        public static final int SKIP_464XLAT_ENABLE = 1;
+
+
         /** @hide */
         @IntDef({
                 UNEDITED,
@@ -3839,6 +3875,16 @@
         })
         @Retention(RetentionPolicy.SOURCE)
         public @interface EditStatus {}
+
+        /** @hide */
+        @IntDef({
+                SKIP_464XLAT_DEFAULT,
+                SKIP_464XLAT_DISABLE,
+                SKIP_464XLAT_ENABLE,
+        })
+        @Retention(RetentionPolicy.SOURCE)
+        public @interface Skip464XlatStatus {}
+
     }
 
     /**
@@ -4326,24 +4372,24 @@
         }
 
         /**
-         * Generates a content {@link Uri} used to receive updates on precise carrier identity
+         * Generates a content {@link Uri} used to receive updates on specific carrier identity
          * change on the given subscriptionId returned by
-         * {@link TelephonyManager#getSimPreciseCarrierId()}.
-         * @see TelephonyManager#ACTION_SUBSCRIPTION_PRECISE_CARRIER_IDENTITY_CHANGED
+         * {@link TelephonyManager#getSimSpecificCarrierId()}.
+         * @see TelephonyManager#ACTION_SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED
          * <p>
          * Use this {@link Uri} with a {@link ContentObserver} to be notified of changes to the
-         * precise carrier identity {@link TelephonyManager#getSimPreciseCarrierId()}
+         * specific carrier identity {@link TelephonyManager#getSimSpecificCarrierId()}
          * while your app is running. You can also use a {@link JobService} to ensure your app
          * is notified of changes to the {@link Uri} even when it is not running.
          * Note, however, that using a {@link JobService} does not guarantee timely delivery of
          * updates to the {@link Uri}.
          *
          * @param subscriptionId the subscriptionId to receive updates on
-         * @return the Uri used to observe precise carrier identity changes
+         * @return the Uri used to observe specific carrier identity changes
          */
         @NonNull
-        public static Uri getPreciseCarrierIdUriForSubscriptionId(int subscriptionId) {
-            return Uri.withAppendedPath(Uri.withAppendedPath(CONTENT_URI, "precise"),
+        public static Uri getSpecificCarrierIdUriForSubscriptionId(int subscriptionId) {
+            return Uri.withAppendedPath(Uri.withAppendedPath(CONTENT_URI, "specific"),
                     String.valueOf(subscriptionId));
         }
 
@@ -4363,26 +4409,30 @@
 
         /**
          * A fine-grained carrier id.
-         * @see TelephonyManager#getSimPreciseCarrierId()
+         * The specific carrier ID would be used for configuration purposes, but apps wishing to
+         * know about the carrier itself should use the regular carrier ID returned by
+         * {@link TelephonyManager#getSimCarrierId()}.
+         *
+         * @see TelephonyManager#getSimSpecificCarrierId()
          * This is not a database column, only used to notify content observers for
-         * {@link #getPreciseCarrierIdUriForSubscriptionId(int)}
+         * {@link #getSpecificCarrierIdUriForSubscriptionId(int)}
          */
-        public static final String PRECISE_CARRIER_ID = "precise_carrier_id";
+        public static final String SPECIFIC_CARRIER_ID = "specific_carrier_id";
 
         /**
-         * A user facing carrier name for precise carrier id {@link #PRECISE_CARRIER_ID}.
-         * @see TelephonyManager#getSimPreciseCarrierIdName()
+         * A user facing carrier name for specific carrier id {@link #SPECIFIC_CARRIER_ID}.
+         * @see TelephonyManager#getSimSpecificCarrierIdName()
          * This is not a database column, only used to notify content observers for
-         * {@link #getPreciseCarrierIdUriForSubscriptionId(int)}
+         * {@link #getSpecificCarrierIdUriForSubscriptionId(int)}
          */
-        public static final String PRECISE_CARRIER_ID_NAME = "precise_carrier_id_name";
+        public static final String SPECIFIC_CARRIER_ID_NAME = "specific_carrier_id_name";
 
         /**
          * A unique parent carrier id. The parent-child
          * relationship can be used to further differentiate a single carrier by different networks,
-         * by prepaid v.s. postpaid or even by 4G v.s. 3G plan. It's an optional field.
-         * A carrier id with a valid parent_carrier_id is considered fine-grained carrier id, will
-         * not be returned as {@link #CARRIER_ID} but {@link #PRECISE_CARRIER_ID}.
+         * by prepaid v.s. postpaid. It's an optional field.
+         * A carrier id with a valid parent_carrier_id is considered fine-grained specific carrier
+         * ID, will not be returned as {@link #CARRIER_ID} but {@link #SPECIFIC_CARRIER_ID}.
          * <P>Type: INTEGER </P>
          * @hide
          */
diff --git a/telephony/java/android/telephony/AccessNetworkConstants.java b/telephony/java/android/telephony/AccessNetworkConstants.java
index 75165af..81553a3 100644
--- a/telephony/java/android/telephony/AccessNetworkConstants.java
+++ b/telephony/java/android/telephony/AccessNetworkConstants.java
@@ -16,13 +16,59 @@
 
 package android.telephony;
 
+import android.annotation.IntDef;
 import android.annotation.SystemApi;
 
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+
 /**
  * Contains access network related constants.
  */
 public final class AccessNetworkConstants {
 
+    /**
+     * Wireless transportation type
+     *
+     * @hide */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef(prefix = {"TRANSPORT_TYPE_"},
+            value = {
+                    TRANSPORT_TYPE_INVALID,
+                    TRANSPORT_TYPE_WWAN,
+                    TRANSPORT_TYPE_WLAN})
+    public @interface TransportType {}
+
+    /**
+     * Invalid transport type
+     * @hide
+     */
+    @SystemApi
+    public static final int TRANSPORT_TYPE_INVALID = -1;
+
+    /**
+     * Transport type for Wireless Wide Area Networks (i.e. Cellular)
+     * @hide
+     */
+    @SystemApi
+    public static final int TRANSPORT_TYPE_WWAN = 1;
+
+    /**
+     * Transport type for Wireless Local Area Networks (i.e. Wifi)
+     * @hide
+     */
+    @SystemApi
+    public static final int TRANSPORT_TYPE_WLAN = 2;
+
+    /** @hide */
+    public static String transportTypeToString(@TransportType int transportType) {
+        switch (transportType) {
+            case TRANSPORT_TYPE_WWAN: return "WWAN";
+            case TRANSPORT_TYPE_WLAN: return "WLAN";
+            default: return Integer.toString(transportType);
+        }
+    }
+
     public static final class AccessNetworkType {
         public static final int UNKNOWN = 0;
         public static final int GERAN = 1;
@@ -49,39 +95,7 @@
     }
 
     /**
-     * Wireless transportation type
-     * @hide
-     */
-    @SystemApi
-    public static final class TransportType {
-        /**
-         * Invalid transport type.
-         * @hide
-         */
-        public static final int INVALID = -1;
-
-        /** Wireless Wide Area Networks (i.e. Cellular) */
-        public static final int WWAN = 1;
-
-        /** Wireless Local Area Networks (i.e. Wifi) */
-        public static final int WLAN = 2;
-
-        /** @hide */
-        private TransportType() {}
-
-        /** @hide */
-        public static String toString(int type) {
-            switch (type) {
-                case INVALID: return "INVALID";
-                case WWAN: return "WWAN";
-                case WLAN: return "WLAN";
-                default: return Integer.toString(type);
-            }
-        }
-    }
-
-    /**
-     * Frenquency bands for GERAN.
+     * Frequency bands for GERAN.
      * http://www.etsi.org/deliver/etsi_ts/145000_145099/145005/14.00.00_60/ts_145005v140000p.pdf
      */
     public static final class GeranBand {
diff --git a/telephony/java/android/telephony/DebugEventReporter.java b/telephony/java/android/telephony/AnomalyReporter.java
similarity index 82%
rename from telephony/java/android/telephony/DebugEventReporter.java
rename to telephony/java/android/telephony/AnomalyReporter.java
index 14b7dd6..9753d8b 100644
--- a/telephony/java/android/telephony/DebugEventReporter.java
+++ b/telephony/java/android/telephony/AnomalyReporter.java
@@ -29,7 +29,6 @@
 import java.io.FileDescriptor;
 import java.io.PrintWriter;
 import java.util.List;
-import java.util.List;
 import java.util.Map;
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
@@ -37,7 +36,7 @@
 /**
  * A Simple Surface for Telephony to notify a loosely-coupled debugger of particular issues.
  *
- * DebugEventReporter allows an optional external logging component to receive events detected by
+ * AnomalyReporter allows an optional external logging component to receive events detected by
  * the framework and take action. This log surface is designed to provide maximium flexibility
  * to the receiver of these events. Envisioned use cases of this include notifying a vendor
  * component of: an event that necessitates (timely) log collection on non-AOSP components;
@@ -49,8 +48,8 @@
  *
  * @hide
  */
-public final class DebugEventReporter {
-    private static final String TAG = "DebugEventReporter";
+public final class AnomalyReporter {
+    private static final String TAG = "AnomalyReporter";
 
     private static Context sContext = null;
 
@@ -63,12 +62,12 @@
      */
     private static String sDebugPackageName = null;
 
-    private DebugEventReporter() {};
+    private AnomalyReporter() {};
 
     /**
      * If enabled, build and send an intent to a Debug Service for logging.
      *
-     * This method sends the {@link TelephonyManager#DEBUG_EVENT DEBUG_EVENT} broadcast, which is
+     * This method sends the {@link TelephonyManager#ACTION_ANOMALY_REPORTED} broadcast, which is
      * system protected. Invoking this method unless you are the system will result in an error.
      *
      * @param eventId a fixed event ID that will be sent for each instance of the same event. This
@@ -77,9 +76,9 @@
      *        identification and discussion of this event. This description should ideally be
      *        static and must not contain any sensitive information (especially PII).
      */
-    public static void sendEvent(@NonNull UUID eventId, String description) {
+    public static void reportAnomaly(@NonNull UUID eventId, String description) {
         if (sContext == null) {
-            Rlog.w(TAG, "DebugEventReporter not yet initialized, dropping event=" + eventId);
+            Rlog.w(TAG, "AnomalyReporter not yet initialized, dropping event=" + eventId);
             return;
         }
 
@@ -94,28 +93,28 @@
         // so drop these events silently.
         if (sDebugPackageName == null) return;
 
-        Intent dbgIntent = new Intent(TelephonyManager.ACTION_DEBUG_EVENT);
-        dbgIntent.putExtra(TelephonyManager.EXTRA_DEBUG_EVENT_ID, new ParcelUuid(eventId));
+        Intent dbgIntent = new Intent(TelephonyManager.ACTION_ANOMALY_REPORTED);
+        dbgIntent.putExtra(TelephonyManager.EXTRA_ANOMALY_ID, new ParcelUuid(eventId));
         if (description != null) {
-            dbgIntent.putExtra(TelephonyManager.EXTRA_DEBUG_EVENT_DESCRIPTION, description);
+            dbgIntent.putExtra(TelephonyManager.EXTRA_ANOMALY_DESCRIPTION, description);
         }
         dbgIntent.setPackage(sDebugPackageName);
         sContext.sendBroadcast(dbgIntent, android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE);
     }
 
     /**
-     * Initialize the DebugEventReporter with the current context.
+     * Initialize the AnomalyReporter with the current context.
      *
-     * This method must be invoked before any calls to sendEvent() will succeed. This method should
-     * only be invoked at most once.
+     * This method must be invoked before any calls to reportAnomaly() will succeed. This method
+     * should only be invoked at most once.
      *
-     * @param context a Context object used to initialize this singleton DebugEventReporter in
+     * @param context a Context object used to initialize this singleton AnomalyReporter in
      *        the current process.
      */
     @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
     public static void initialize(@NonNull Context context) {
         if (context == null) {
-            throw new IllegalArgumentException("DebugEventReporter needs a non-null context.");
+            throw new IllegalArgumentException("AnomalyReporter needs a non-null context.");
         }
 
         // Ensure that this context has sufficient permissions to send debug events.
@@ -129,13 +128,13 @@
         PackageManager pm = sContext.getPackageManager();
         if (pm == null) return;
         List<ResolveInfo> packages = pm.queryBroadcastReceivers(
-                new Intent(TelephonyManager.ACTION_DEBUG_EVENT),
+                new Intent(TelephonyManager.ACTION_ANOMALY_REPORTED),
                 PackageManager.MATCH_SYSTEM_ONLY
                         | PackageManager.MATCH_DIRECT_BOOT_AWARE
                         | PackageManager.MATCH_DIRECT_BOOT_UNAWARE);
         if (packages == null || packages.isEmpty()) return;
         if (packages.size() > 1) {
-            Rlog.e(TAG, "Multiple DebugEvent Receivers installed.");
+            Rlog.e(TAG, "Multiple Anomaly Receivers installed.");
         }
 
         for (ResolveInfo r : packages) {
@@ -156,14 +155,14 @@
         // Initialization may only be performed once.
     }
 
-    /** Dump the contents of the DebugEventReporter */
+    /** Dump the contents of the AnomalyReporter */
     public static void dump(FileDescriptor fd, PrintWriter printWriter, String[] args) {
         if (sContext == null) return;
         IndentingPrintWriter pw = new IndentingPrintWriter(printWriter, "  ");
         sContext.enforceCallingOrSelfPermission(android.Manifest.permission.DUMP, "Requires DUMP");
         pw.println("Initialized=" + (sContext != null ? "Yes" : "No"));
         pw.println("Debug Package=" + sDebugPackageName);
-        pw.println("Event Counts:");
+        pw.println("Anomaly Counts:");
         pw.increaseIndent();
         for (UUID event : sEvents.keySet()) {
             pw.println(event + ": " + sEvents.get(event));
diff --git a/telephony/java/android/telephony/AvailableNetworkInfo.java b/telephony/java/android/telephony/AvailableNetworkInfo.java
index 8a7153e..a15f959 100644
--- a/telephony/java/android/telephony/AvailableNetworkInfo.java
+++ b/telephony/java/android/telephony/AvailableNetworkInfo.java
@@ -16,6 +16,7 @@
 
 package android.telephony;
 
+import android.annotation.NonNull;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -62,11 +63,22 @@
     /**
      * Describes the List of PLMN ids (MCC-MNC) associated with mSubId.
      * If this entry is left empty, then the platform software will not scan the network
-     * to revalidate the input.
+     * to revalidate the input else platform will scan and verify specified PLMNs are available.
      */
     private ArrayList<String> mMccMncs;
 
     /**
+     * Returns the frequency bands associated with the {@link #getMccMncs() MCC/MNCs}.
+     * Opportunistic network service will use these bands to scan.
+     *
+     * When no specific bands are specified (empty array or null) CBRS band (B48) will be
+     * used for network scan.
+     *
+     * See {@link AccessNetworkConstants} for details.
+     */
+    private ArrayList<Integer> mBands;
+
+    /**
      * Return subscription Id of the available network.
      * This value must be one of the entry retrieved from
      * {@link SubscriptionManager#getOpportunisticSubscriptions}
@@ -91,10 +103,20 @@
      * to revalidate the input.
      * @return list of PLMN ids
      */
-    public List<String> getMccMncs() {
+    public @NonNull List<String> getMccMncs() {
         return (List<String>) mMccMncs.clone();
     }
 
+    /**
+     * Returns the frequency bands that need to be scanned by opportunistic network service
+     *
+     * The returned value is defined in either of {@link AccessNetworkConstants.GeranBand},
+     * {@link AccessNetworkConstants.UtranBand} and {@link AccessNetworkConstants.EutranBand}
+     */
+    public @NonNull List<Integer> getBands() {
+        return (List<Integer>) mBands.clone();
+    }
+
     @Override
     public int describeContents() {
         return 0;
@@ -105,6 +127,7 @@
         dest.writeInt(mSubId);
         dest.writeInt(mPriority);
         dest.writeStringList(mMccMncs);
+        dest.writeList(mBands);
     }
 
     private AvailableNetworkInfo(Parcel in) {
@@ -112,12 +135,16 @@
         mPriority = in.readInt();
         mMccMncs = new ArrayList<>();
         in.readStringList(mMccMncs);
+        mBands = new ArrayList<>();
+        in.readList(mBands, Integer.class.getClassLoader());
     }
 
-    public AvailableNetworkInfo(int subId, int priority, List<String> mccMncs) {
+    public AvailableNetworkInfo(int subId, int priority, @NonNull List<String> mccMncs,
+            @NonNull List<Integer> bands) {
         mSubId = subId;
         mPriority = priority;
         mMccMncs = new ArrayList<String>(mccMncs);
+        mBands = new ArrayList<Integer>(bands);
     }
 
     @Override
@@ -135,14 +162,15 @@
         }
 
         return (mSubId == ani.mSubId
-                && mPriority == ani.mPriority
-                && (((mMccMncs != null)
-                && mMccMncs.equals(ani.mMccMncs))));
+            && mPriority == ani.mPriority
+            && (((mMccMncs != null)
+            && mMccMncs.equals(ani.mMccMncs)))
+            && mBands.equals(ani.mBands));
     }
 
     @Override
     public int hashCode() {
-        return Objects.hash(mSubId, mPriority, mMccMncs);
+        return Objects.hash(mSubId, mPriority, mMccMncs, mBands);
     }
 
     public static final @android.annotation.NonNull Parcelable.Creator<AvailableNetworkInfo> CREATOR =
@@ -161,9 +189,9 @@
     @Override
     public String toString() {
         return ("AvailableNetworkInfo:"
-                + " mSubId: " + mSubId
-                + " mPriority: " + mPriority
-                + " mMccMncs: " + Arrays.toString(mMccMncs.toArray()));
+            + " mSubId: " + mSubId
+            + " mPriority: " + mPriority
+            + " mMccMncs: " + Arrays.toString(mMccMncs.toArray())
+            + " mBands: " + Arrays.toString(mBands.toArray()));
     }
 }
-
diff --git a/telephony/java/android/telephony/CarrierConfigManager.java b/telephony/java/android/telephony/CarrierConfigManager.java
old mode 100644
new mode 100755
index c0444bb..5f9ef3c
--- a/telephony/java/android/telephony/CarrierConfigManager.java
+++ b/telephony/java/android/telephony/CarrierConfigManager.java
@@ -31,6 +31,7 @@
 import android.os.RemoteException;
 import android.os.ServiceManager;
 import android.service.carrier.CarrierService;
+import android.telecom.TelecomManager;
 import android.telephony.ims.ImsReasonInfo;
 
 import com.android.internal.telephony.ICarrierConfigLoader;
@@ -71,10 +72,10 @@
      * one is available for the slot index. An optional int extra
      * {@link TelephonyManager#EXTRA_CARRIER_ID} is included to indicate the carrier id for the
      * changed carrier configuration. An optional int extra
-     * {@link TelephonyManager#EXTRA_PRECISE_CARRIER_ID} is included to indicate the precise
+     * {@link TelephonyManager#EXTRA_SPECIFIC_CARRIER_ID} is included to indicate the precise
      * carrier id for the changed carrier configuration.
      * @see TelephonyManager#getSimCarrierId()
-     * @see TelephonyManager#getSimPreciseCarrierId()
+     * @see TelephonyManager#getSimSpecificCarrierId()
      */
     public static final String
             ACTION_CARRIER_CONFIG_CHANGED = "android.telephony.action.CARRIER_CONFIG_CHANGED";
@@ -1519,6 +1520,14 @@
             "carrier_app_no_wake_signal_config";
 
     /**
+     * Determines whether the carrier app needed to be involved when users try to finish setting up
+     * the SIM card to get network service.
+     * @hide
+     */
+    public static final String KEY_CARRIER_APP_REQUIRED_DURING_SIM_SETUP_BOOL =
+            "carrier_app_required_during_setup_bool";
+
+    /**
      * Default value for {@link Settings.Global#DATA_ROAMING}
      * @hide
      */
@@ -1812,17 +1821,32 @@
 
     /**
      * Determine whether user can change Wi-Fi Calling preference in roaming.
-     * {@code false} - roaming preference {@link KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_MODE_INT} is
-     *                 the same as home preference {@link KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT}
-     *                 and cannot be changed.
-     * {@code true}  - roaming preference can be changed by user independently.
-     *
+     * {@code false} - roaming preference cannot be changed by user independently. If
+     *                 {@link #KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL} is false,
+     *                 {@link #KEY_CARRIER_DEFAULT_WFC_IMS_ROAMING_MODE_INT} is used as the default
+     *                 value. If {@link #KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL} is
+     *                 true, roaming preference is the same as home preference and
+     *                 {@link #KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT} is used as the default value.
+     * {@code true}  - roaming preference can be changed by user independently if
+     *                 {@link #KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL} is false. If
+     *                 {@link #KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL} is true, this
+     *                 configuration is ignored and roaming preference cannot be changed.
      * @hide
      */
     public static final String KEY_EDITABLE_WFC_ROAMING_MODE_BOOL =
             "editable_wfc_roaming_mode_bool";
 
     /**
+     * Flag specifying whether the carrier will use the WFC home network mode in roaming network.
+     * {@code false} - roaming preference can be selected separately from the home preference.
+     * {@code true}  - roaming preference is the same as home preference and
+     *                 {@link #KEY_CARRIER_DEFAULT_WFC_IMS_MODE_INT} is used as the default value.
+     * @hide
+     */
+    public static final String KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL =
+            "use_wfc_home_network_mode_in_roaming_network_bool";
+
+    /**
      * Carrier specified WiFi networks.
      * @hide
      */
@@ -2099,6 +2123,18 @@
     public static final String KEY_RTT_SUPPORTED_BOOL = "rtt_supported_bool";
 
     /**
+     * Boolean flag indicating whether the carrier supports TTY.
+     * <p>
+     * Note that {@link #KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL} controls availability of TTY over
+     * VoLTE; if {@link #KEY_TTY_SUPPORTED_BOOL} is disabled, then
+     * {@link #KEY_CARRIER_VOLTE_TTY_SUPPORTED_BOOL} is also implicitly disabled.
+     * <p>
+     * {@link TelecomManager#isTtySupported()} should be used to determine if a device supports TTY,
+     * and this carrier config key should be used to see if the current carrier supports it.
+     */
+    public static final String KEY_TTY_SUPPORTED_BOOL = "tty_supported_bool";
+
+    /**
      * Indicates if the carrier supports auto-upgrading a call to RTT when receiving a call from a
      * RTT-supported device.
      * @hide
@@ -2279,9 +2315,9 @@
             "undelivered_sms_message_expiration_time";
 
     /**
-     * Specifies a carrier-defined {@link CallRedirectionService} which Telecom will bind
-     * to for outgoing calls.  An empty string indicates that no carrier-defined
-     * {@link CallRedirectionService} is specified.
+     * Specifies a carrier-defined {@link android.telecom.CallRedirectionService} which Telecom
+     * will bind to for outgoing calls.  An empty string indicates that no carrier-defined
+     * {@link android.telecom.CallRedirectionService} is specified.
      * @hide
      */
     public static final String KEY_CALL_REDIRECTION_SERVICE_COMPONENT_NAME_STRING =
@@ -2492,6 +2528,18 @@
             "emergency_number_prefix_string_array";
 
     /**
+     * Indicates when a carrier has a primary subscription and an opportunistic subscription active,
+     * and when Internet data is switched to opportunistic network, whether to still show
+     * signal bar of primary network. By default it will be false, meaning whenever data
+     * is going over opportunistic network, signal bar will reflect signal strength and rat
+     * icon of that network.
+     *
+     * @hide
+     */
+    public static final String KEY_ALWAYS_SHOW_PRIMARY_SIGNAL_BAR_IN_OPPORTUNISTIC_NETWORK_BOOLEAN =
+            "always_show_primary_signal_bar_in_opportunistic_network_boolean";
+
+    /**
      * GPS configs. See android.hardware.gnss@1.0 IGnssConfiguration.
      * @hide
      */
@@ -2618,6 +2666,25 @@
     public static final String KEY_CDMA_ENHANCED_ROAMING_INDICATOR_FOR_HOME_NETWORK_INT_ARRAY =
             "cdma_enhanced_roaming_indicator_for_home_network_int_array";
 
+    /**
+     * Indicates use 3GPP application to replace 3GPP2 application even if it's a CDMA/CDMA-LTE
+     * phone, becasue some carriers's CSIM application is present but not supported.
+     * @hide
+     */
+    public static final String KEY_USE_USIM_BOOL = "use_usim_bool";
+
+    /**
+     * Determines whether the carrier wants to cancel the cs reject notification automatically
+     * when the voice registration state changes.
+     * If true, the notification will be automatically removed
+     *          when the voice registration state changes.
+     * If false, the notification will persist until the user dismisses it,
+     *           the SIM is removed, or the device is rebooted.
+     * @hide
+     */
+    public static final String KEY_AUTO_CANCEL_CS_REJECT_NOTIFICATION =
+            "carrier_auto_cancel_cs_notification";
+
     /** The default value for every variable. */
     private final static PersistableBundle sDefaults;
 
@@ -2808,6 +2875,7 @@
         sDefaults.putString(KEY_CARRIER_NAME_STRING, "");
         sDefaults.putString(KEY_SIM_COUNTRY_ISO_OVERRIDE_STRING, "");
         sDefaults.putString(KEY_CARRIER_CALL_SCREENING_APP_STRING, "");
+        sDefaults.putString(KEY_CALL_REDIRECTION_SERVICE_COMPONENT_NAME_STRING, null);
         sDefaults.putBoolean(KEY_CDMA_HOME_REGISTERED_PLMN_NAME_OVERRIDE_BOOL, false);
         sDefaults.putString(KEY_CDMA_HOME_REGISTERED_PLMN_NAME_STRING, "");
         sDefaults.putBoolean(KEY_SUPPORT_DIRECT_FDN_DIALING_BOOL, false);
@@ -2863,6 +2931,7 @@
                                 + "com.android.internal.telephony.CARRIER_SIGNAL_RESET"
                 });
         sDefaults.putStringArray(KEY_CARRIER_APP_NO_WAKE_SIGNAL_CONFIG_STRING_ARRAY, null);
+        sDefaults.putBoolean(KEY_CARRIER_APP_REQUIRED_DURING_SIM_SETUP_BOOL, false);
 
 
         // Default carrier app configurations
@@ -2911,6 +2980,7 @@
         sDefaults.putBoolean(KEY_NOTIFY_VT_HANDOVER_TO_WIFI_FAILURE_BOOL, false);
         sDefaults.putStringArray(KEY_FILTERED_CNAP_NAMES_STRING_ARRAY, null);
         sDefaults.putBoolean(KEY_EDITABLE_WFC_ROAMING_MODE_BOOL, false);
+        sDefaults.putBoolean(KEY_USE_WFC_HOME_NETWORK_MODE_IN_ROAMING_NETWORK_BOOL, false);
         sDefaults.putBoolean(KEY_STK_DISABLE_LAUNCH_BROWSER_BOOL, false);
         sDefaults.putStringArray(KEY_CARRIER_WIFI_STRING_ARRAY, null);
         sDefaults.putInt(KEY_PREF_NETWORK_NOTIFICATION_DELAY_INT, -1);
@@ -2936,6 +3006,7 @@
         sDefaults.putStringArray(KEY_ROAMING_OPERATOR_STRING_ARRAY, null);
         sDefaults.putBoolean(KEY_SHOW_IMS_REGISTRATION_STATUS_BOOL, false);
         sDefaults.putBoolean(KEY_RTT_SUPPORTED_BOOL, false);
+        sDefaults.putBoolean(KEY_TTY_SUPPORTED_BOOL, true);
         sDefaults.putBoolean(KEY_DISABLE_CHARGE_INDICATION_BOOL, false);
         sDefaults.putBoolean(KEY_SUPPORT_NO_REPLY_TIMER_FOR_CFNRY_BOOL, true);
         sDefaults.putStringArray(KEY_FEATURE_ACCESS_CODES_STRING_ARRAY, null);
@@ -3001,6 +3072,10 @@
                         1 /* Roaming Indicator Off */
                 });
         sDefaults.putStringArray(KEY_EMERGENCY_NUMBER_PREFIX_STRING_ARRAY, new String[0]);
+        sDefaults.putBoolean(KEY_USE_USIM_BOOL, false);
+        sDefaults.putBoolean(KEY_AUTO_CANCEL_CS_REJECT_NOTIFICATION, false);
+        sDefaults.putBoolean(KEY_ALWAYS_SHOW_PRIMARY_SIGNAL_BAR_IN_OPPORTUNISTIC_NETWORK_BOOLEAN,
+                false);
     }
 
     /**
diff --git a/telephony/java/android/telephony/CellIdentity.java b/telephony/java/android/telephony/CellIdentity.java
index 6c835dc..e5aadad 100644
--- a/telephony/java/android/telephony/CellIdentity.java
+++ b/telephony/java/android/telephony/CellIdentity.java
@@ -86,7 +86,7 @@
         }
 
         if ((mMccStr != null && mMncStr == null) || (mMccStr == null && mMncStr != null)) {
-            DebugEventReporter.sendEvent(
+            AnomalyReporter.reportAnomaly(
                     UUID.fromString("a3ab0b9d-f2aa-4baf-911d-7096c0d4645a"),
                     "CellIdentity Missing Half of PLMN ID");
         }
diff --git a/telephony/java/android/telephony/CellIdentityNr.java b/telephony/java/android/telephony/CellIdentityNr.java
index b48388e..4be52a3 100644
--- a/telephony/java/android/telephony/CellIdentityNr.java
+++ b/telephony/java/android/telephony/CellIdentityNr.java
@@ -16,13 +16,15 @@
 
 package android.telephony;
 
+import android.annotation.IntRange;
+import android.annotation.Nullable;
 import android.os.Parcel;
 import android.telephony.gsm.GsmCellLocation;
 
 import java.util.Objects;
 
 /**
- * Information to represent a unique 5G NR cell.
+ * Information to represent a unique NR(New Radio 5G) cell.
  */
 public final class CellIdentityNr extends CellIdentity {
     private static final String TAG = "CellIdentityNr";
@@ -79,7 +81,7 @@
     }
 
     /**
-     * Get the NR Cell Identity.
+     * Get the NR(New Radio 5G) Cell Identity.
      *
      * @return The 36-bit NR Cell Identity in range [0, 68719476735] or
      *         {@link CellInfo#UNAVAILABLE_LONG} if unknown.
@@ -89,11 +91,15 @@
     }
 
     /**
-     * Get the Absolute Radio Frequency Channel Number.
+     * Get the New Radio Absolute Radio Frequency Channel Number.
+     *
+     * Reference: 3GPP TS 38.101-1 section 5.4.2.1 NR-ARFCN and channel raster.
+     * Reference: 3GPP TS 38.101-2 section 5.4.2.1 NR-ARFCN and channel raster.
+     *
      * @return Integer value in range [0, 3279165] or {@link CellInfo#UNAVAILABLE} if unknown.
      */
-    @Override
-    public int getChannelNumber() {
+    @IntRange(from = 0, to = 3279165)
+    public int getNrarfcn() {
         return mNrArfcn;
     }
 
@@ -101,6 +107,7 @@
      * Get the physical cell id.
      * @return Integer value in range [0, 1007] or {@link CellInfo#UNAVAILABLE} if unknown.
      */
+    @IntRange(from = 0, to = 1007)
     public int getPci() {
         return mPci;
     }
@@ -109,6 +116,7 @@
      * Get the tracking area code.
      * @return a 16 bit integer or {@link CellInfo#UNAVAILABLE} if unknown.
      */
+    @IntRange(from = 0, to = 65535)
     public int getTac() {
         return mTac;
     }
@@ -116,6 +124,7 @@
     /**
      * @return Mobile Country Code in string format, or {@code null} if unknown.
      */
+    @Nullable
     public String getMccString() {
         return mMccStr;
     }
@@ -123,6 +132,7 @@
     /**
      * @return Mobile Network Code in string fomrat, or {@code null} if unknown.
      */
+    @Nullable
     public String getMncString() {
         return mMncStr;
     }
diff --git a/telephony/java/android/telephony/CellInfo.java b/telephony/java/android/telephony/CellInfo.java
index 223f3ef..1796034 100644
--- a/telephony/java/android/telephony/CellInfo.java
+++ b/telephony/java/android/telephony/CellInfo.java
@@ -22,7 +22,6 @@
 import android.hardware.radio.V1_4.CellInfo.Info;
 import android.os.Parcel;
 import android.os.Parcelable;
-import android.os.SystemClock;
 
 import com.android.internal.annotations.VisibleForTesting;
 
@@ -325,9 +324,9 @@
     }
 
     /** @hide */
-    protected CellInfo(android.hardware.radio.V1_4.CellInfo ci) {
+    protected CellInfo(android.hardware.radio.V1_4.CellInfo ci, long timeStamp) {
         this.mRegistered = ci.isRegistered;
-        this.mTimeStamp = SystemClock.elapsedRealtimeNanos();
+        this.mTimeStamp = timeStamp;
         this.mCellConnectionStatus = ci.connectionStatus;
     }
 
@@ -358,14 +357,14 @@
     }
 
     /** @hide */
-    public static CellInfo create(android.hardware.radio.V1_4.CellInfo ci) {
+    public static CellInfo create(android.hardware.radio.V1_4.CellInfo ci, long timeStamp) {
         if (ci == null) return null;
         switch (ci.info.getDiscriminator()) {
-            case Info.hidl_discriminator.gsm: return new CellInfoGsm(ci);
-            case Info.hidl_discriminator.cdma: return new CellInfoCdma(ci);
-            case Info.hidl_discriminator.lte: return new CellInfoLte(ci);
-            case Info.hidl_discriminator.wcdma: return new CellInfoWcdma(ci);
-            case Info.hidl_discriminator.tdscdma: return new CellInfoTdscdma(ci);
+            case Info.hidl_discriminator.gsm: return new CellInfoGsm(ci, timeStamp);
+            case Info.hidl_discriminator.cdma: return new CellInfoCdma(ci, timeStamp);
+            case Info.hidl_discriminator.lte: return new CellInfoLte(ci, timeStamp);
+            case Info.hidl_discriminator.wcdma: return new CellInfoWcdma(ci, timeStamp);
+            case Info.hidl_discriminator.tdscdma: return new CellInfoTdscdma(ci, timeStamp);
             default: return null;
         }
     }
diff --git a/telephony/java/android/telephony/CellInfoCdma.java b/telephony/java/android/telephony/CellInfoCdma.java
index 9c38506..82bb3961 100644
--- a/telephony/java/android/telephony/CellInfoCdma.java
+++ b/telephony/java/android/telephony/CellInfoCdma.java
@@ -68,8 +68,8 @@
     }
 
     /** @hide */
-    public CellInfoCdma(android.hardware.radio.V1_4.CellInfo ci) {
-        super(ci);
+    public CellInfoCdma(android.hardware.radio.V1_4.CellInfo ci, long timeStamp) {
+        super(ci, timeStamp);
         final android.hardware.radio.V1_2.CellInfoCdma cic = ci.info.cdma();
         mCellIdentityCdma = new CellIdentityCdma(cic.cellIdentityCdma);
         mCellSignalStrengthCdma =
diff --git a/telephony/java/android/telephony/CellInfoGsm.java b/telephony/java/android/telephony/CellInfoGsm.java
index 0d91f80..59fcd1e 100644
--- a/telephony/java/android/telephony/CellInfoGsm.java
+++ b/telephony/java/android/telephony/CellInfoGsm.java
@@ -64,8 +64,8 @@
     }
 
     /** @hide */
-    public CellInfoGsm(android.hardware.radio.V1_4.CellInfo ci) {
-        super(ci);
+    public CellInfoGsm(android.hardware.radio.V1_4.CellInfo ci, long timeStamp) {
+        super(ci, timeStamp);
         final android.hardware.radio.V1_2.CellInfoGsm cig = ci.info.gsm();
         mCellIdentityGsm = new CellIdentityGsm(cig.cellIdentityGsm);
         mCellSignalStrengthGsm = new CellSignalStrengthGsm(cig.signalStrengthGsm);
diff --git a/telephony/java/android/telephony/CellInfoLte.java b/telephony/java/android/telephony/CellInfoLte.java
index deae632..08dafe1 100644
--- a/telephony/java/android/telephony/CellInfoLte.java
+++ b/telephony/java/android/telephony/CellInfoLte.java
@@ -71,8 +71,8 @@
     }
 
     /** @hide */
-    public CellInfoLte(android.hardware.radio.V1_4.CellInfo ci) {
-        super(ci);
+    public CellInfoLte(android.hardware.radio.V1_4.CellInfo ci, long timeStamp) {
+        super(ci, timeStamp);
         final android.hardware.radio.V1_4.CellInfoLte cil = ci.info.lte();
         mCellIdentityLte = new CellIdentityLte(cil.base.cellIdentityLte);
         mCellSignalStrengthLte = new CellSignalStrengthLte(cil.base.signalStrengthLte);
diff --git a/telephony/java/android/telephony/CellInfoNr.java b/telephony/java/android/telephony/CellInfoNr.java
index fb147ce..0227610 100644
--- a/telephony/java/android/telephony/CellInfoNr.java
+++ b/telephony/java/android/telephony/CellInfoNr.java
@@ -16,6 +16,7 @@
 
 package android.telephony;
 
+import android.annotation.NonNull;
 import android.os.Parcel;
 
 import java.util.Objects;
@@ -36,11 +37,13 @@
     }
 
     @Override
+    @NonNull
     public CellIdentity getCellIdentity() {
         return mCellIdentity;
     }
 
     @Override
+    @NonNull
     public CellSignalStrength getCellSignalStrength() {
         return mCellSignalStrength;
     }
diff --git a/telephony/java/android/telephony/CellInfoTdscdma.java b/telephony/java/android/telephony/CellInfoTdscdma.java
index ae43bb2..93baabf 100644
--- a/telephony/java/android/telephony/CellInfoTdscdma.java
+++ b/telephony/java/android/telephony/CellInfoTdscdma.java
@@ -65,8 +65,8 @@
     }
 
     /** @hide */
-    public CellInfoTdscdma(android.hardware.radio.V1_4.CellInfo ci) {
-        super(ci);
+    public CellInfoTdscdma(android.hardware.radio.V1_4.CellInfo ci, long timeStamp) {
+        super(ci, timeStamp);
         final android.hardware.radio.V1_2.CellInfoTdscdma cit = ci.info.tdscdma();
         mCellIdentityTdscdma = new CellIdentityTdscdma(cit.cellIdentityTdscdma);
         mCellSignalStrengthTdscdma = new CellSignalStrengthTdscdma(cit.signalStrengthTdscdma);
diff --git a/telephony/java/android/telephony/CellInfoWcdma.java b/telephony/java/android/telephony/CellInfoWcdma.java
index d2287ea..02dbb1a 100644
--- a/telephony/java/android/telephony/CellInfoWcdma.java
+++ b/telephony/java/android/telephony/CellInfoWcdma.java
@@ -64,8 +64,8 @@
     }
 
     /** @hide */
-    public CellInfoWcdma(android.hardware.radio.V1_4.CellInfo ci) {
-        super(ci);
+    public CellInfoWcdma(android.hardware.radio.V1_4.CellInfo ci, long timeStamp) {
+        super(ci, timeStamp);
         final android.hardware.radio.V1_2.CellInfoWcdma ciw = ci.info.wcdma();
         mCellIdentityWcdma = new CellIdentityWcdma(ciw.cellIdentityWcdma);
         mCellSignalStrengthWcdma = new CellSignalStrengthWcdma(ciw.signalStrengthWcdma);
diff --git a/telephony/java/android/telephony/CellSignalStrengthGsm.java b/telephony/java/android/telephony/CellSignalStrengthGsm.java
index 3dea6f4..0aeb0f6 100644
--- a/telephony/java/android/telephony/CellSignalStrengthGsm.java
+++ b/telephony/java/android/telephony/CellSignalStrengthGsm.java
@@ -151,6 +151,17 @@
     }
 
     /**
+     * Return the Received Signal Strength Indicator
+     *
+     * @return the RSSI in dBm (-113, -51) or
+     *         {@link android.telephony.CellInfo#UNAVAILABLE UNAVAILABLE}.
+     * @hide
+     */
+    public int getRssi() {
+        return mRssi;
+    }
+
+    /**
      * Return the Bit Error Rate
      *
      * @return the bit error rate (0-7, 99) as defined in TS 27.007 8.5 or
diff --git a/telephony/java/android/telephony/INetworkService.aidl b/telephony/java/android/telephony/INetworkService.aidl
index 9ef7186..67e5650 100644
--- a/telephony/java/android/telephony/INetworkService.aidl
+++ b/telephony/java/android/telephony/INetworkService.aidl
@@ -25,7 +25,7 @@
 {
     void createNetworkServiceProvider(int slotId);
     void removeNetworkServiceProvider(int slotId);
-    void getNetworkRegistrationState(int slotId, int domain, INetworkServiceCallback callback);
-    void registerForNetworkRegistrationStateChanged(int slotId, INetworkServiceCallback callback);
-    void unregisterForNetworkRegistrationStateChanged(int slotId, INetworkServiceCallback callback);
+    void getNetworkRegistrationInfo(int slotId, int domain, INetworkServiceCallback callback);
+    void registerForNetworkRegistrationInfoChanged(int slotId, INetworkServiceCallback callback);
+    void unregisterForNetworkRegistrationInfoChanged(int slotId, INetworkServiceCallback callback);
 }
diff --git a/telephony/java/android/telephony/INetworkServiceCallback.aidl b/telephony/java/android/telephony/INetworkServiceCallback.aidl
index 520598f..33b3ac0 100644
--- a/telephony/java/android/telephony/INetworkServiceCallback.aidl
+++ b/telephony/java/android/telephony/INetworkServiceCallback.aidl
@@ -16,7 +16,7 @@
 
 package android.telephony;
 
-import android.telephony.NetworkRegistrationState;
+import android.telephony.NetworkRegistrationInfo;
 
 /**
  * Network service call back interface
@@ -24,6 +24,6 @@
  */
 oneway interface INetworkServiceCallback
 {
-    void onGetNetworkRegistrationStateComplete(int result, in NetworkRegistrationState state);
+    void onGetNetworkRegistrationInfoComplete(int result, in NetworkRegistrationInfo state);
     void onNetworkStateChanged();
 }
diff --git a/telephony/java/android/telephony/LocationAccessPolicy.java b/telephony/java/android/telephony/LocationAccessPolicy.java
index d98f37d..b9d8eb6 100644
--- a/telephony/java/android/telephony/LocationAccessPolicy.java
+++ b/telephony/java/android/telephony/LocationAccessPolicy.java
@@ -174,22 +174,22 @@
         boolean hasManifestPermission = checkManifestPermission(context, query.callingPid,
                 query.callingUid, permissionToCheck);
 
-        int appOpMode = context.getSystemService(AppOpsManager.class)
-                .noteOpNoThrow(AppOpsManager.permissionToOpCode(permissionToCheck),
-                        query.callingUid, query.callingPackage);
-
-        if (hasManifestPermission && appOpMode == AppOpsManager.MODE_ALLOWED) {
-            // If the app did everything right, return without logging.
-            return LocationPermissionResult.ALLOWED;
-        }
-
-        // If the app has the manifest permission but not the app-op permission, it means that
-        // it's aware of the requirement and the user denied permission explicitly. If we see
-        // this, don't let any of the overrides happen.
         if (hasManifestPermission) {
-            Log.i(TAG, query.callingPackage + " is aware of " + locationTypeForLog + " but the"
-                    + " app-ops permission is specifically denied.");
-            return appOpsModeToPermissionResult(appOpMode);
+            // Only check the app op if the app has the permission.
+            int appOpMode = context.getSystemService(AppOpsManager.class)
+                    .noteOpNoThrow(AppOpsManager.permissionToOpCode(permissionToCheck),
+                            query.callingUid, query.callingPackage);
+            if (appOpMode == AppOpsManager.MODE_ALLOWED) {
+                // If the app did everything right, return without logging.
+                return LocationPermissionResult.ALLOWED;
+            } else {
+                // If the app has the manifest permission but not the app-op permission, it means
+                // that it's aware of the requirement and the user denied permission explicitly.
+                // If we see this, don't let any of the overrides happen.
+                Log.i(TAG, query.callingPackage + " is aware of " + locationTypeForLog + " but the"
+                        + " app-ops permission is specifically denied.");
+                return appOpsModeToPermissionResult(appOpMode);
+            }
         }
 
         int minSdkVersion = Manifest.permission.ACCESS_FINE_LOCATION.equals(permissionToCheck)
diff --git a/telephony/java/android/telephony/MbmsGroupCallSession.java b/telephony/java/android/telephony/MbmsGroupCallSession.java
index 269cda1..f1be31f 100644
--- a/telephony/java/android/telephony/MbmsGroupCallSession.java
+++ b/telephony/java/android/telephony/MbmsGroupCallSession.java
@@ -141,7 +141,7 @@
      * Create a new {@link MbmsGroupCallSession} using the system default data subscription ID.
      * See {@link #create(Context, int, Executor, MbmsGroupCallSessionCallback)}.
      */
-    public static MbmsGroupCallSession create(@NonNull Context context,
+    public static @Nullable MbmsGroupCallSession create(@NonNull Context context,
             @NonNull Executor executor, @NonNull MbmsGroupCallSessionCallback callback) {
         return create(context, SubscriptionManager.getDefaultSubscriptionId(), executor, callback);
     }
diff --git a/telephony/java/android/telephony/NetworkRegistrationState.aidl b/telephony/java/android/telephony/NetworkRegistrationInfo.aidl
similarity index 94%
rename from telephony/java/android/telephony/NetworkRegistrationState.aidl
rename to telephony/java/android/telephony/NetworkRegistrationInfo.aidl
index 98cba77..5c803bf 100644
--- a/telephony/java/android/telephony/NetworkRegistrationState.aidl
+++ b/telephony/java/android/telephony/NetworkRegistrationInfo.aidl
@@ -16,4 +16,4 @@
 
 package android.telephony;
 
-parcelable NetworkRegistrationState;
+parcelable NetworkRegistrationInfo;
diff --git a/telephony/java/android/telephony/NetworkRegistrationInfo.java b/telephony/java/android/telephony/NetworkRegistrationInfo.java
new file mode 100644
index 0000000..9145b25
--- /dev/null
+++ b/telephony/java/android/telephony/NetworkRegistrationInfo.java
@@ -0,0 +1,743 @@
+/*
+ * Copyright 2017 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.telephony;
+
+import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
+import android.annotation.SystemApi;
+import android.os.Parcel;
+import android.os.Parcelable;
+import android.telephony.AccessNetworkConstants.TransportType;
+import android.telephony.TelephonyManager.NetworkType;
+
+import java.lang.annotation.Retention;
+import java.lang.annotation.RetentionPolicy;
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.Objects;
+import java.util.stream.Collectors;
+
+/**
+ * Description of a mobile network registration info
+ * @hide
+ */
+@SystemApi
+public final class NetworkRegistrationInfo implements Parcelable {
+    /**
+     * Network domain
+     * @hide
+     */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef(prefix = "DOMAIN_", value = {DOMAIN_CS, DOMAIN_PS})
+    public @interface Domain {}
+
+    /** Circuit switching domain */
+    public static final int DOMAIN_CS = 1;
+    /** Packet switching domain */
+    public static final int DOMAIN_PS = 2;
+
+    /**
+     * Network registration state
+     * @hide
+     */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef(prefix = "REGISTRATION_STATE_",
+            value = {REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING, REGISTRATION_STATE_HOME,
+                    REGISTRATION_STATE_NOT_REGISTERED_SEARCHING, REGISTRATION_STATE_DENIED,
+                    REGISTRATION_STATE_UNKNOWN, REGISTRATION_STATE_ROAMING})
+    public @interface RegistrationState {}
+
+    /** Not registered. The device is not currently searching a new operator to register. */
+    public static final int REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING = 0;
+    /** Registered on home network. */
+    public static final int REGISTRATION_STATE_HOME = 1;
+    /** Not registered. The device is currently searching a new operator to register. */
+    public static final int REGISTRATION_STATE_NOT_REGISTERED_SEARCHING = 2;
+    /** Registration denied. */
+    public static final int REGISTRATION_STATE_DENIED = 3;
+    /** Registration state is unknown. */
+    public static final int REGISTRATION_STATE_UNKNOWN = 4;
+    /** Registered on roaming network. */
+    public static final int REGISTRATION_STATE_ROAMING = 5;
+
+    /** @hide */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef(prefix = "NR_STATE_",
+            value = {NR_STATE_NONE, NR_STATE_RESTRICTED, NR_STATE_NOT_RESTRICTED,
+                    NR_STATE_CONNECTED})
+    public @interface NRState {}
+
+    /**
+     * The device isn't camped on an LTE cell or the LTE cell doesn't support E-UTRA-NR
+     * Dual Connectivity(EN-DC).
+     * @hide
+     */
+    public static final int NR_STATE_NONE = -1;
+
+    /**
+     * The device is camped on an LTE cell that supports E-UTRA-NR Dual Connectivity(EN-DC) but
+     * either the use of dual connectivity with NR(DCNR) is restricted or NR is not supported by
+     * the selected PLMN.
+     * @hide
+     */
+    public static final int NR_STATE_RESTRICTED = 1;
+
+    /**
+     * The device is camped on an LTE cell that supports E-UTRA-NR Dual Connectivity(EN-DC) and both
+     * the use of dual connectivity with NR(DCNR) is not restricted and NR is supported by the
+     * selected PLMN.
+     * @hide
+     */
+    public static final int NR_STATE_NOT_RESTRICTED = 2;
+
+    /**
+     * The device is camped on an LTE cell that supports E-UTRA-NR Dual Connectivity(EN-DC) and
+     * also connected to at least one 5G cell as a secondary serving cell.
+     * @hide
+     */
+    public static final int NR_STATE_CONNECTED = 3;
+
+    /**
+     * Supported service type
+     * @hide
+     */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef(prefix = "SERVICE_TYPE_",
+            value = {SERVICE_TYPE_UNKNOWN, SERVICE_TYPE_VOICE, SERVICE_TYPE_DATA, SERVICE_TYPE_SMS,
+                    SERVICE_TYPE_VIDEO, SERVICE_TYPE_EMERGENCY})
+    public @interface ServiceType {}
+
+    /** Unkown service */
+    public static final int SERVICE_TYPE_UNKNOWN    = 0;
+
+    /** Voice service */
+    public static final int SERVICE_TYPE_VOICE      = 1;
+
+    /** Data service */
+    public static final int SERVICE_TYPE_DATA       = 2;
+
+    /** SMS service */
+    public static final int SERVICE_TYPE_SMS        = 3;
+
+    /** Video service */
+    public static final int SERVICE_TYPE_VIDEO      = 4;
+
+    /** Emergency service */
+    public static final int SERVICE_TYPE_EMERGENCY  = 5;
+
+    @Domain
+    private final int mDomain;
+
+    @TransportType
+    private final int mTransportType;
+
+    @RegistrationState
+    private final int mRegistrationState;
+
+    /**
+     * Save the {@link ServiceState.RoamingType roaming type}. it can be overridden roaming type
+     * from resource overlay or carrier config.
+     */
+    @ServiceState.RoamingType
+    private int mRoamingType;
+
+    @NetworkType
+    private int mAccessNetworkTechnology;
+
+    @NRState
+    private int mNrState;
+
+    private final int mRejectCause;
+
+    private final boolean mEmergencyOnly;
+
+    @ServiceType
+    private final ArrayList<Integer> mAvailableServices;
+
+    @Nullable
+    private CellIdentity mCellIdentity;
+
+    @Nullable
+    private VoiceSpecificRegistrationStates mVoiceSpecificStates;
+
+    @Nullable
+    private DataSpecificRegistrationStates mDataSpecificStates;
+
+    /**
+     * @param domain Network domain. Must be a {@link Domain}. For transport type
+     * {@link AccessNetworkConstants#TRANSPORT_TYPE_WLAN}, this must set to {@link #DOMAIN_PS}.
+     * @param transportType Transport type.
+     * @param registrationState Network registration state. For transport type
+     * {@link AccessNetworkConstants#TRANSPORT_TYPE_WLAN}, only
+     * {@link #REGISTRATION_STATE_HOME} and {@link #REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING}
+     * are valid states.
+     * @param accessNetworkTechnology Access network technology.For transport type
+     * {@link AccessNetworkConstants#TRANSPORT_TYPE_WLAN}, set to
+     * {@link TelephonyManager#NETWORK_TYPE_IWLAN}.
+     * @param rejectCause Reason for denial if the registration state is
+     * {@link #REGISTRATION_STATE_DENIED}. Depending on {@code accessNetworkTechnology}, the values
+     * are defined in 3GPP TS 24.008 10.5.3.6 for UMTS, 3GPP TS 24.301 9.9.3.9 for LTE, and 3GPP2
+     * A.S0001 6.2.2.44 for CDMA. If the reject cause is not supported or unknown, set it to 0.
+     * // TODO: Add IWLAN reject cause reference
+     * @param emergencyOnly True if this registration is for emergency only.
+     * @param availableServices The list of the supported services.
+     * @param cellIdentity The identity representing a unique cell or wifi AP. Set to null if the
+     * information is not available.
+     */
+    private NetworkRegistrationInfo(@Domain int domain, @TransportType int transportType,
+                                   @RegistrationState int registrationState,
+                                   @NetworkType int accessNetworkTechnology, int rejectCause,
+                                   boolean emergencyOnly,
+                                   @Nullable @ServiceType List<Integer> availableServices,
+                                   @Nullable CellIdentity cellIdentity) {
+        mDomain = domain;
+        mTransportType = transportType;
+        mRegistrationState = registrationState;
+        mRoamingType = (registrationState == REGISTRATION_STATE_ROAMING)
+                ? ServiceState.ROAMING_TYPE_UNKNOWN : ServiceState.ROAMING_TYPE_NOT_ROAMING;
+        mAccessNetworkTechnology = accessNetworkTechnology;
+        mRejectCause = rejectCause;
+        mAvailableServices = (availableServices != null)
+                ? new ArrayList<>(availableServices) : new ArrayList<>();
+        mCellIdentity = cellIdentity;
+        mEmergencyOnly = emergencyOnly;
+        mNrState = NR_STATE_NONE;
+    }
+
+    /**
+     * Constructor for voice network registration info.
+     * @hide
+     */
+    public NetworkRegistrationInfo(int domain, @TransportType int transportType,
+                                   int registrationState, int accessNetworkTechnology,
+                                   int rejectCause, boolean emergencyOnly,
+                                   @Nullable List<Integer> availableServices,
+                                   @Nullable CellIdentity cellIdentity, boolean cssSupported,
+                                   int roamingIndicator, int systemIsInPrl,
+                                   int defaultRoamingIndicator) {
+        this(domain, transportType, registrationState, accessNetworkTechnology, rejectCause,
+                emergencyOnly, availableServices, cellIdentity);
+
+        mVoiceSpecificStates = new VoiceSpecificRegistrationStates(cssSupported, roamingIndicator,
+                systemIsInPrl, defaultRoamingIndicator);
+    }
+
+    /**
+     * Constructor for data network registration info.
+     * @hide
+     */
+    public NetworkRegistrationInfo(int domain, @TransportType int transportType,
+                                   int registrationState, int accessNetworkTechnology,
+                                   int rejectCause, boolean emergencyOnly,
+                                   @Nullable List<Integer> availableServices,
+                                   @Nullable CellIdentity cellIdentity, int maxDataCalls,
+                                   boolean isDcNrRestricted, boolean isNrAvailable,
+                                   boolean isEndcAvailable,
+                                   LteVopsSupportInfo lteVopsSupportInfo) {
+        this(domain, transportType, registrationState, accessNetworkTechnology, rejectCause,
+                emergencyOnly, availableServices, cellIdentity);
+
+        mDataSpecificStates = new DataSpecificRegistrationStates(
+                maxDataCalls, isDcNrRestricted, isNrAvailable, isEndcAvailable, lteVopsSupportInfo);
+        updateNrState(mDataSpecificStates);
+    }
+
+    private NetworkRegistrationInfo(Parcel source) {
+        mDomain = source.readInt();
+        mTransportType = source.readInt();
+        mRegistrationState = source.readInt();
+        mRoamingType = source.readInt();
+        mAccessNetworkTechnology = source.readInt();
+        mRejectCause = source.readInt();
+        mEmergencyOnly = source.readBoolean();
+        mAvailableServices = new ArrayList<>();
+        source.readList(mAvailableServices, Integer.class.getClassLoader());
+        mCellIdentity = source.readParcelable(CellIdentity.class.getClassLoader());
+        mVoiceSpecificStates = source.readParcelable(
+                VoiceSpecificRegistrationStates.class.getClassLoader());
+        mDataSpecificStates = source.readParcelable(
+                DataSpecificRegistrationStates.class.getClassLoader());
+        mNrState = source.readInt();
+    }
+
+    /**
+     * @return The transport type.
+     */
+    public @TransportType int getTransportType() { return mTransportType; }
+
+    /**
+     * @return The network domain.
+     */
+    public @Domain int getDomain() { return mDomain; }
+
+    /**
+     * @return the 5G NR connection state.
+     * @hide
+     */
+    public @NRState int getNrState() {
+        return mNrState;
+    }
+
+    /** @hide */
+    public void setNrState(@NRState int nrState) {
+        mNrState = nrState;
+    }
+
+    /**
+     * @return The registration state.
+     */
+    public @RegistrationState int getRegistrationState() {
+        return mRegistrationState;
+    }
+
+    /**
+     * @return {@code true} if registered on roaming network, {@code false} otherwise.
+     */
+    public boolean isRoaming() {
+        return mRoamingType != ServiceState.ROAMING_TYPE_NOT_ROAMING;
+    }
+
+    /**
+     * @hide
+     * @return {@code true} if in service.
+     */
+    public boolean isInService() {
+        return mRegistrationState == REGISTRATION_STATE_HOME
+                || mRegistrationState == REGISTRATION_STATE_ROAMING;
+    }
+
+    /**
+     * Set {@link ServiceState.RoamingType roaming type}. This could override
+     * roaming type based on resource overlay or carrier config.
+     * @hide
+     */
+    public void setRoamingType(@ServiceState.RoamingType int roamingType) {
+        mRoamingType = roamingType;
+    }
+
+    /**
+     * @return the current network roaming type.
+     */
+
+    public @ServiceState.RoamingType int getRoamingType() {
+        return mRoamingType;
+    }
+
+    /**
+     * @return Whether emergency is enabled.
+     */
+    public boolean isEmergencyEnabled() { return mEmergencyOnly; }
+
+    /**
+     * @return List of available service types.
+     */
+    @NonNull
+    @ServiceType
+    public List<Integer> getAvailableServices() {
+        return Collections.unmodifiableList(mAvailableServices);
+    }
+
+    /**
+     * @return The access network technology {@link NetworkType}.
+     */
+    public @NetworkType int getAccessNetworkTechnology() {
+        return mAccessNetworkTechnology;
+    }
+
+    /**
+     * override the access network technology {@link NetworkType} e.g, rat ratchet.
+     * @hide
+     */
+    public void setAccessNetworkTechnology(@NetworkType int tech) {
+        mAccessNetworkTechnology = tech;
+    }
+
+    /**
+     * @return Reason for denial if the registration state is {@link #REGISTRATION_STATE_DENIED}.
+     * Depending on {@code accessNetworkTechnology}, the values are defined in 3GPP TS 24.008
+     * 10.5.3.6 for UMTS, 3GPP TS 24.301 9.9.3.9 for LTE, and 3GPP2 A.S0001 6.2.2.44 for CDMA
+     */
+    public int getRejectCause() {
+        return mRejectCause;
+    }
+
+    /**
+     * @return The cell information.
+     */
+    @Nullable
+    public CellIdentity getCellIdentity() {
+        return mCellIdentity;
+    }
+
+    /**
+     * @hide
+     */
+    @Nullable
+    public VoiceSpecificRegistrationStates getVoiceSpecificStates() {
+        return mVoiceSpecificStates;
+    }
+
+    /**
+     * @return Data registration related info
+     */
+    @Nullable
+    public DataSpecificRegistrationStates getDataSpecificStates() {
+        return mDataSpecificStates;
+    }
+
+    @Override
+    public int describeContents() {
+        return 0;
+    }
+
+    /**
+     * Convert service type to string
+     *
+     * @hide
+     *
+     * @param serviceType The service type
+     * @return The service type in string format
+     */
+    public static String serviceTypeToString(@ServiceType int serviceType) {
+        switch (serviceType) {
+            case SERVICE_TYPE_VOICE: return "VOICE";
+            case SERVICE_TYPE_DATA: return "DATA";
+            case SERVICE_TYPE_SMS: return "SMS";
+            case SERVICE_TYPE_VIDEO: return "VIDEO";
+            case SERVICE_TYPE_EMERGENCY: return "EMERGENCY";
+        }
+        return "Unknown service type " + serviceType;
+    }
+
+    /**
+     * Convert registration state to string
+     *
+     * @hide
+     *
+     * @param registrationState The registration state
+     * @return The reg state in string
+     */
+    public static String registrationStateToString(@RegistrationState int registrationState) {
+        switch (registrationState) {
+            case REGISTRATION_STATE_NOT_REGISTERED_OR_SEARCHING: return "NOT_REG_OR_SEARCHING";
+            case REGISTRATION_STATE_HOME: return "HOME";
+            case REGISTRATION_STATE_NOT_REGISTERED_SEARCHING: return "NOT_REG_SEARCHING";
+            case REGISTRATION_STATE_DENIED: return "DENIED";
+            case REGISTRATION_STATE_UNKNOWN: return "UNKNOWN";
+            case REGISTRATION_STATE_ROAMING: return "ROAMING";
+        }
+        return "Unknown reg state " + registrationState;
+    }
+
+    private static String nrStateToString(@NRState int nrState) {
+        switch (nrState) {
+            case NR_STATE_RESTRICTED:
+                return "RESTRICTED";
+            case NR_STATE_NOT_RESTRICTED:
+                return "NOT_RESTRICTED";
+            case NR_STATE_CONNECTED:
+                return "CONNECTED";
+            default:
+                return "NONE";
+        }
+    }
+
+    @Override
+    public String toString() {
+        return new StringBuilder("NetworkRegistrationInfo{")
+                .append(" domain=").append((mDomain == DOMAIN_CS) ? "CS" : "PS")
+                .append(" transportType=").append(
+                        AccessNetworkConstants.transportTypeToString(mTransportType))
+                .append(" registrationState=").append(registrationStateToString(mRegistrationState))
+                .append(" roamingType=").append(ServiceState.roamingTypeToString(mRoamingType))
+                .append(" accessNetworkTechnology=")
+                .append(TelephonyManager.getNetworkTypeName(mAccessNetworkTechnology))
+                .append(" rejectCause=").append(mRejectCause)
+                .append(" emergencyEnabled=").append(mEmergencyOnly)
+                .append(" availableServices=").append("[" + (mAvailableServices != null
+                        ? mAvailableServices.stream().map(type -> serviceTypeToString(type))
+                        .collect(Collectors.joining(",")) : null) + "]")
+                .append(" cellIdentity=").append(mCellIdentity)
+                .append(" voiceSpecificStates=").append(mVoiceSpecificStates)
+                .append(" dataSpecificStates=").append(mDataSpecificStates)
+                .append(" nrState=").append(nrStateToString(mNrState))
+                .append("}").toString();
+    }
+
+    @Override
+    public int hashCode() {
+        return Objects.hash(mDomain, mTransportType, mRegistrationState, mRoamingType,
+                mAccessNetworkTechnology, mRejectCause, mEmergencyOnly, mAvailableServices,
+                mCellIdentity, mVoiceSpecificStates, mDataSpecificStates, mNrState);
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        if (this == o) return true;
+
+        if (!(o instanceof NetworkRegistrationInfo)) {
+            return false;
+        }
+
+        NetworkRegistrationInfo other = (NetworkRegistrationInfo) o;
+        return mDomain == other.mDomain
+                && mTransportType == other.mTransportType
+                && mRegistrationState == other.mRegistrationState
+                && mRoamingType == other.mRoamingType
+                && mAccessNetworkTechnology == other.mAccessNetworkTechnology
+                && mRejectCause == other.mRejectCause
+                && mEmergencyOnly == other.mEmergencyOnly
+                && mAvailableServices.equals(other.mAvailableServices)
+                && Objects.equals(mCellIdentity, other.mCellIdentity)
+                && Objects.equals(mVoiceSpecificStates, other.mVoiceSpecificStates)
+                && Objects.equals(mDataSpecificStates, other.mDataSpecificStates)
+                && mNrState == other.mNrState;
+    }
+
+    @Override
+    public void writeToParcel(Parcel dest, int flags) {
+        dest.writeInt(mDomain);
+        dest.writeInt(mTransportType);
+        dest.writeInt(mRegistrationState);
+        dest.writeInt(mRoamingType);
+        dest.writeInt(mAccessNetworkTechnology);
+        dest.writeInt(mRejectCause);
+        dest.writeBoolean(mEmergencyOnly);
+        dest.writeList(mAvailableServices);
+        dest.writeParcelable(mCellIdentity, 0);
+        dest.writeParcelable(mVoiceSpecificStates, 0);
+        dest.writeParcelable(mDataSpecificStates, 0);
+        dest.writeInt(mNrState);
+    }
+
+    /**
+     * Use the 5G NR Non-Standalone indicators from the network registration state to update the
+     * NR state. There are 3 indicators in the network registration state:
+     *
+     * 1. if E-UTRA-NR Dual Connectivity (EN-DC) is supported by the primary serving cell.
+     * 2. if NR is supported by the selected PLMN.
+     * 3. if the use of dual connectivity with NR is restricted.
+     *
+     * The network has 5G NR capability if E-UTRA-NR Dual Connectivity is supported by the primary
+     * serving cell.
+     *
+     * The use of NR 5G is not restricted If the network has 5G NR capability and both the use of
+     * DCNR is not restricted and NR is supported by the selected PLMN. Otherwise the use of 5G
+     * NR is restricted.
+     *
+     * @param state data specific registration state contains the 5G NR indicators.
+     */
+    private void updateNrState(DataSpecificRegistrationStates state) {
+        mNrState = NR_STATE_NONE;
+        if (state.isEnDcAvailable) {
+            if (!state.isDcNrRestricted && state.isNrAvailable) {
+                mNrState = NR_STATE_NOT_RESTRICTED;
+            } else {
+                mNrState = NR_STATE_RESTRICTED;
+            }
+        }
+    }
+
+    public static final @NonNull Parcelable.Creator<NetworkRegistrationInfo> CREATOR =
+            new Parcelable.Creator<NetworkRegistrationInfo>() {
+                @Override
+                public NetworkRegistrationInfo createFromParcel(Parcel source) {
+                    return new NetworkRegistrationInfo(source);
+                }
+
+                @Override
+                public NetworkRegistrationInfo[] newArray(int size) {
+                    return new NetworkRegistrationInfo[size];
+                }
+            };
+
+    /**
+     * @hide
+     */
+    public NetworkRegistrationInfo sanitizeLocationInfo() {
+        NetworkRegistrationInfo result = copy();
+        result.mCellIdentity = null;
+        return result;
+    }
+
+    private NetworkRegistrationInfo copy() {
+        Parcel p = Parcel.obtain();
+        this.writeToParcel(p, 0);
+        p.setDataPosition(0);
+        NetworkRegistrationInfo result = new NetworkRegistrationInfo(p);
+        p.recycle();
+        return result;
+    }
+
+    /**
+     * Provides a convenient way to set the fields of a {@link NetworkRegistrationInfo} when
+     * creating a new instance.
+     *
+     * <p>The example below shows how you might create a new {@code NetworkRegistrationInfo}:
+     *
+     * <pre><code>
+     *
+     * NetworkRegistrationInfo nri = new NetworkRegistrationInfo.Builder()
+     *     .setAccessNetworkTechnology(TelephonyManager.NETWORK_TYPE_LTE)
+     *     .setRegistrationState(REGISTRATION_STATE_HOME)
+     *     .build();
+     * </code></pre>
+     */
+    public static final class Builder{
+        @Domain
+        private int mDomain;
+
+        @TransportType
+        private int mTransportType;
+
+        @RegistrationState
+        private int mRegistrationState;
+
+        @NetworkType
+        private int mAccessNetworkTechnology;
+
+        private int mRejectCause;
+
+        private boolean mEmergencyOnly;
+
+        @ServiceType
+        private List<Integer> mAvailableServices;
+
+        @Nullable
+        private CellIdentity mCellIdentity;
+
+        /**
+         * Default constructor for Builder.
+         */
+        public Builder() {}
+
+        /**
+         * Set the network domain.
+         *
+         * @param domain Network domain.
+         *
+         * @return The same instance of the builder.
+         */
+        public @NonNull Builder setDomain(@Domain int domain) {
+            mDomain = domain;
+            return this;
+        }
+
+        /**
+         * Set the transport type.
+         *
+         * @param transportType Transport type.
+         *
+         * @return The same instance of the builder.
+         */
+        public @NonNull Builder setTransportType(@TransportType int transportType) {
+            mTransportType = transportType;
+            return this;
+        }
+
+        /**
+         * Set the registration state.
+         *
+         * @param registrationState The registration state.
+         *
+         * @return The same instance of the builder.
+         */
+        public @NonNull Builder setRegistrationState(@RegistrationState int registrationState) {
+            mRegistrationState = registrationState;
+            return this;
+        }
+
+        /**
+         * Set tne access network technology.
+         *
+         * @return The same instance of the builder.
+         *
+         * @param accessNetworkTechnology The access network technology
+         */
+        public @NonNull Builder setAccessNetworkTechnology(
+                @NetworkType int accessNetworkTechnology) {
+            mAccessNetworkTechnology = accessNetworkTechnology;
+            return this;
+        }
+
+        /**
+         * Set the network reject cause.
+         *
+         * @param rejectCause Reason for denial if the registration state is
+         * {@link #REGISTRATION_STATE_DENIED}.Depending on {@code accessNetworkTechnology}, the
+         * values are defined in 3GPP TS 24.008 10.5.3.6 for UMTS, 3GPP TS 24.301 9.9.3.9 for LTE,
+         * and 3GPP2 A.S0001 6.2.2.44 for CDMA. If the reject cause is not supported or unknown, set
+         * it to 0.
+         *
+         * @return The same instance of the builder.
+         */
+        public @NonNull Builder setRejectCause(int rejectCause) {
+            mRejectCause = rejectCause;
+            return this;
+        }
+
+        /**
+         * Set emergency only.
+         *
+         * @param emergencyOnly True if this network registration is for emergency use only.
+         *
+         * @return The same instance of the builder.
+         */
+        public @NonNull Builder setEmergencyOnly(boolean emergencyOnly) {
+            mEmergencyOnly = emergencyOnly;
+            return this;
+        }
+
+        /**
+         * Set the available services.
+         *
+         * @param availableServices Available services.
+         *
+         * @return The same instance of the builder.
+         */
+        public @NonNull Builder setAvailableServices(
+                @NonNull @ServiceType List<Integer> availableServices) {
+            mAvailableServices = availableServices;
+            return this;
+        }
+
+        /**
+         * Set the cell identity.
+         *
+         * @param cellIdentity The cell identity.
+         *
+         * @return The same instance of the builder.
+         */
+        public @NonNull Builder setCellIdentity(@Nullable CellIdentity cellIdentity) {
+            mCellIdentity = cellIdentity;
+            return this;
+        }
+
+        /**
+         * Build the NetworkRegistrationInfo.
+         *
+         * @return the NetworkRegistrationInfo object.
+         */
+        public @NonNull NetworkRegistrationInfo build() {
+            return new NetworkRegistrationInfo(mDomain, mTransportType, mRegistrationState,
+                    mAccessNetworkTechnology, mRejectCause, mEmergencyOnly, mAvailableServices,
+                    mCellIdentity);
+        }
+    }
+}
diff --git a/telephony/java/android/telephony/NetworkRegistrationState.java b/telephony/java/android/telephony/NetworkRegistrationState.java
deleted file mode 100644
index a9d3079..0000000
--- a/telephony/java/android/telephony/NetworkRegistrationState.java
+++ /dev/null
@@ -1,550 +0,0 @@
-/*
- * Copyright 2017 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.telephony;
-
-import android.annotation.IntDef;
-import android.annotation.Nullable;
-import android.annotation.SystemApi;
-import android.os.Parcel;
-import android.os.Parcelable;
-import android.telephony.AccessNetworkConstants.TransportType;
-
-import java.lang.annotation.Retention;
-import java.lang.annotation.RetentionPolicy;
-import java.util.Arrays;
-import java.util.Objects;
-import java.util.stream.Collectors;
-
-/**
- * Description of a mobile network registration state
- * @hide
- */
-@SystemApi
-public class NetworkRegistrationState implements Parcelable {
-    /**
-     * Network domain
-     * @hide
-     */
-    @Retention(RetentionPolicy.SOURCE)
-    @IntDef(prefix = "DOMAIN_", value = {DOMAIN_CS, DOMAIN_PS})
-    public @interface Domain {}
-
-    /** Circuit switching domain */
-    public static final int DOMAIN_CS = 1;
-    /** Packet switching domain */
-    public static final int DOMAIN_PS = 2;
-
-    /**
-     * Registration state
-     * @hide
-     */
-    @Retention(RetentionPolicy.SOURCE)
-    @IntDef(prefix = "REG_STATE_",
-            value = {REG_STATE_NOT_REG_NOT_SEARCHING, REG_STATE_HOME, REG_STATE_NOT_REG_SEARCHING,
-                    REG_STATE_DENIED, REG_STATE_UNKNOWN, REG_STATE_ROAMING})
-    public @interface RegState {}
-
-    /** Not registered. The device is not currently searching a new operator to register */
-    public static final int REG_STATE_NOT_REG_NOT_SEARCHING = 0;
-    /** Registered on home network */
-    public static final int REG_STATE_HOME                  = 1;
-    /** Not registered. The device is currently searching a new operator to register */
-    public static final int REG_STATE_NOT_REG_SEARCHING     = 2;
-    /** Registration denied */
-    public static final int REG_STATE_DENIED                = 3;
-    /** Registration state is unknown */
-    public static final int REG_STATE_UNKNOWN               = 4;
-    /** Registered on roaming network */
-    public static final int REG_STATE_ROAMING               = 5;
-
-    /** @hide */
-    @Retention(RetentionPolicy.SOURCE)
-    @IntDef(prefix = "NR_STATUS_",
-            value = {NR_STATUS_NONE, NR_STATUS_RESTRICTED, NR_STATUS_NOT_RESTRICTED,
-                    NR_STATUS_CONNECTED})
-    public @interface NRStatus {}
-
-    /**
-     * The device isn't camped on an LTE cell or the LTE cell doesn't support E-UTRA-NR
-     * Dual Connectivity(EN-DC).
-     * @hide
-     */
-    public static final int NR_STATUS_NONE = -1;
-
-    /**
-     * The device is camped on an LTE cell that supports E-UTRA-NR Dual Connectivity(EN-DC) but
-     * either the use of dual connectivity with NR(DCNR) is restricted or NR is not supported by
-     * the selected PLMN.
-     * @hide
-     */
-    public static final int NR_STATUS_RESTRICTED = 1;
-
-    /**
-     * The device is camped on an LTE cell that supports E-UTRA-NR Dual Connectivity(EN-DC) and both
-     * the use of dual connectivity with NR(DCNR) is not restricted and NR is supported by the
-     * selected PLMN.
-     * @hide
-     */
-    public static final int NR_STATUS_NOT_RESTRICTED = 2;
-
-    /**
-     * The device is camped on an LTE cell that supports E-UTRA-NR Dual Connectivity(EN-DC) and
-     * also connected to at least one 5G cell as a secondary serving cell.
-     * @hide
-     */
-    public static final int NR_STATUS_CONNECTED = 3;
-
-    /**
-     * Supported service type
-     * @hide
-     */
-    @Retention(RetentionPolicy.SOURCE)
-    @IntDef(prefix = "SERVICE_TYPE_",
-            value = {SERVICE_TYPE_VOICE, SERVICE_TYPE_DATA, SERVICE_TYPE_SMS, SERVICE_TYPE_VIDEO,
-                    SERVICE_TYPE_EMERGENCY})
-    public @interface ServiceType {}
-
-    public static final int SERVICE_TYPE_VOICE      = 1;
-    public static final int SERVICE_TYPE_DATA       = 2;
-    public static final int SERVICE_TYPE_SMS        = 3;
-    public static final int SERVICE_TYPE_VIDEO      = 4;
-    public static final int SERVICE_TYPE_EMERGENCY  = 5;
-
-    @Domain
-    private final int mDomain;
-
-    /** {@link TransportType} */
-    private final int mTransportType;
-
-    @RegState
-    private final int mRegState;
-
-    /**
-     * Save the {@link ServiceState.RoamingType roaming type}. it can be overridden roaming type
-     * from resource overlay or carrier config.
-     */
-    @ServiceState.RoamingType
-    private int mRoamingType;
-
-    private int mAccessNetworkTechnology;
-
-    @NRStatus
-    private int mNrStatus;
-
-    private final int mRejectCause;
-
-    private final boolean mEmergencyOnly;
-
-    private final int[] mAvailableServices;
-
-    @Nullable
-    private CellIdentity mCellIdentity;
-
-    @Nullable
-    private VoiceSpecificRegistrationStates mVoiceSpecificStates;
-
-    @Nullable
-    private DataSpecificRegistrationStates mDataSpecificStates;
-
-    /**
-     * @param domain Network domain. Must be a {@link Domain}. For {@link TransportType#WLAN}
-     * transport, this must set to {@link #DOMAIN_PS}.
-     * @param transportType Transport type. Must be one of the{@link TransportType}.
-     * @param regState Network registration state. Must be one of the {@link RegState}. For
-     * {@link TransportType#WLAN} transport, only {@link #REG_STATE_HOME} and
-     * {@link #REG_STATE_NOT_REG_NOT_SEARCHING} are valid states.
-     * @param accessNetworkTechnology Access network technology. Must be one of TelephonyManager
-     * NETWORK_TYPE_XXXX. For {@link TransportType#WLAN} transport, set to
-     * {@link TelephonyManager#NETWORK_TYPE_IWLAN}.
-     * @param rejectCause Reason for denial if the registration state is {@link #REG_STATE_DENIED}.
-     * Depending on {@code accessNetworkTechnology}, the values are defined in 3GPP TS 24.008
-     * 10.5.3.6 for UMTS, 3GPP TS 24.301 9.9.3.9 for LTE, and 3GPP2 A.S0001 6.2.2.44 for CDMA. If
-     * the reject cause is not supported or unknown, set it to 0.
-     * // TODO: Add IWLAN reject cause reference
-     * @param emergencyOnly True if this registration is for emergency only.
-     * @param availableServices The list of the supported services. Each element must be one of
-     * the {@link ServiceType}.
-     * @param cellIdentity The identity representing a unique cell or wifi AP. Set to null if the
-     * information is not available.
-     */
-    public NetworkRegistrationState(@Domain int domain, int transportType, @RegState int regState,
-                                    int accessNetworkTechnology, int rejectCause,
-                                    boolean emergencyOnly, int[] availableServices,
-                                    @Nullable CellIdentity cellIdentity) {
-        mDomain = domain;
-        mTransportType = transportType;
-        mRegState = regState;
-        mRoamingType = (regState == REG_STATE_ROAMING)
-                ? ServiceState.ROAMING_TYPE_UNKNOWN : ServiceState.ROAMING_TYPE_NOT_ROAMING;
-        mAccessNetworkTechnology = accessNetworkTechnology;
-        mRejectCause = rejectCause;
-        mAvailableServices = availableServices;
-        mCellIdentity = cellIdentity;
-        mEmergencyOnly = emergencyOnly;
-        mNrStatus = NR_STATUS_NONE;
-    }
-
-    /**
-     * Constructor for voice network registration states.
-     * @hide
-     */
-    public NetworkRegistrationState(int domain, int transportType, int regState,
-            int accessNetworkTechnology, int rejectCause, boolean emergencyOnly,
-            int[] availableServices, @Nullable CellIdentity cellIdentity, boolean cssSupported,
-            int roamingIndicator, int systemIsInPrl, int defaultRoamingIndicator) {
-        this(domain, transportType, regState, accessNetworkTechnology, rejectCause, emergencyOnly,
-                availableServices, cellIdentity);
-
-        mVoiceSpecificStates = new VoiceSpecificRegistrationStates(cssSupported, roamingIndicator,
-                systemIsInPrl, defaultRoamingIndicator);
-    }
-
-    /**
-     * Constructor for data network registration states.
-     * @hide
-     */
-    public NetworkRegistrationState(int domain, int transportType, int regState,
-            int accessNetworkTechnology, int rejectCause, boolean emergencyOnly,
-            int[] availableServices, @Nullable CellIdentity cellIdentity, int maxDataCalls,
-            boolean isDcNrRestricted, boolean isNrAvailable, boolean isEndcAvailable,
-            LteVopsSupportInfo lteVopsSupportInfo) {
-        this(domain, transportType, regState, accessNetworkTechnology, rejectCause, emergencyOnly,
-                availableServices, cellIdentity);
-
-        mDataSpecificStates = new DataSpecificRegistrationStates(
-                maxDataCalls, isDcNrRestricted, isNrAvailable, isEndcAvailable, lteVopsSupportInfo);
-        updateNrStatus(mDataSpecificStates);
-    }
-
-    protected NetworkRegistrationState(Parcel source) {
-        mDomain = source.readInt();
-        mTransportType = source.readInt();
-        mRegState = source.readInt();
-        mRoamingType = source.readInt();
-        mAccessNetworkTechnology = source.readInt();
-        mRejectCause = source.readInt();
-        mEmergencyOnly = source.readBoolean();
-        mAvailableServices = source.createIntArray();
-        mCellIdentity = source.readParcelable(CellIdentity.class.getClassLoader());
-        mVoiceSpecificStates = source.readParcelable(
-                VoiceSpecificRegistrationStates.class.getClassLoader());
-        mDataSpecificStates = source.readParcelable(
-                DataSpecificRegistrationStates.class.getClassLoader());
-        mNrStatus = source.readInt();
-    }
-
-    /**
-     * @return The transport type.
-     */
-    public int getTransportType() { return mTransportType; }
-
-    /**
-     * @return The network domain.
-     */
-    public @Domain int getDomain() { return mDomain; }
-
-    /**
-     * @return the 5G NR connection status.
-     * @hide
-     */
-    public @NRStatus int getNrStatus() {
-        return mNrStatus;
-    }
-
-    /** @hide */
-    public void setNrStatus(@NRStatus int nrStatus) {
-        mNrStatus = nrStatus;
-    }
-
-    /**
-     * @return The registration state.
-     */
-    public @RegState int getRegState() {
-        return mRegState;
-    }
-
-    /**
-     * @return {@code true} if registered on roaming network, {@code false} otherwise.
-     */
-    public boolean isRoaming() {
-        return mRoamingType != ServiceState.ROAMING_TYPE_NOT_ROAMING;
-    }
-
-    /**
-     * @hide
-     * @return {@code true} if in service.
-     */
-    public boolean isInService() {
-        return mRegState == REG_STATE_HOME || mRegState == REG_STATE_ROAMING;
-    }
-
-    /**
-     * Set {@link ServiceState.RoamingType roaming type}. This could override
-     * roaming type based on resource overlay or carrier config.
-     * @hide
-     */
-    public void setRoamingType(@ServiceState.RoamingType int roamingType) {
-        mRoamingType = roamingType;
-    }
-
-    /**
-     * @return the current network roaming type.
-     */
-
-    public @ServiceState.RoamingType int getRoamingType() {
-        return mRoamingType;
-    }
-
-    /**
-     * @return Whether emergency is enabled.
-     */
-    public boolean isEmergencyEnabled() { return mEmergencyOnly; }
-
-    /**
-     * @return List of available service types.
-     */
-    public int[] getAvailableServices() { return mAvailableServices; }
-
-    /**
-     * @return The access network technology {@link TelephonyManager.NetworkType}.
-     */
-    public @TelephonyManager.NetworkType int getAccessNetworkTechnology() {
-        return mAccessNetworkTechnology;
-    }
-
-    /**
-     * override the access network technology {@link TelephonyManager.NetworkType} e.g, rat ratchet.
-     * @hide
-     */
-    public void setAccessNetworkTechnology(@TelephonyManager.NetworkType int tech) {
-        mAccessNetworkTechnology = tech;
-    }
-
-    /**
-     * @return Network reject cause
-     */
-    public int getRejectCause() {
-        return mRejectCause;
-    }
-
-    /**
-     * @return The cell information.
-     */
-    public CellIdentity getCellIdentity() {
-        return mCellIdentity;
-    }
-
-    /**
-     * @hide
-     */
-    @Nullable
-    public VoiceSpecificRegistrationStates getVoiceSpecificStates() {
-        return mVoiceSpecificStates;
-    }
-
-    /**
-     * @return Data registration related info
-     */
-    @Nullable
-    public DataSpecificRegistrationStates getDataSpecificStates() {
-        return mDataSpecificStates;
-    }
-
-    @Override
-    public int describeContents() {
-        return 0;
-    }
-
-    /**
-     * Convert service type to string
-     *
-     * @hide
-     *
-     * @param serviceType The service type
-     * @return The service type in string format
-     */
-    public static String serviceTypeToString(@ServiceType int serviceType) {
-        switch (serviceType) {
-            case SERVICE_TYPE_VOICE: return "VOICE";
-            case SERVICE_TYPE_DATA: return "DATA";
-            case SERVICE_TYPE_SMS: return "SMS";
-            case SERVICE_TYPE_VIDEO: return "VIDEO";
-            case SERVICE_TYPE_EMERGENCY: return "EMERGENCY";
-        }
-        return "Unknown service type " + serviceType;
-    }
-
-    /**
-     * Convert registration state to string
-     *
-     * @hide
-     *
-     * @param regState The registration state
-     * @return The reg state in string
-     */
-    public static String regStateToString(@RegState int regState) {
-        switch (regState) {
-            case REG_STATE_NOT_REG_NOT_SEARCHING: return "NOT_REG_NOT_SEARCHING";
-            case REG_STATE_HOME: return "HOME";
-            case REG_STATE_NOT_REG_SEARCHING: return "NOT_REG_SEARCHING";
-            case REG_STATE_DENIED: return "DENIED";
-            case REG_STATE_UNKNOWN: return "UNKNOWN";
-            case REG_STATE_ROAMING: return "ROAMING";
-        }
-        return "Unknown reg state " + regState;
-    }
-
-    private static String nrStatusToString(@NRStatus int nrStatus) {
-        switch (nrStatus) {
-            case NR_STATUS_RESTRICTED:
-                return "RESTRICTED";
-            case NR_STATUS_NOT_RESTRICTED:
-                return "NOT_RESTRICTED";
-            case NR_STATUS_CONNECTED:
-                return "CONNECTED";
-            default:
-                return "NONE";
-        }
-    }
-
-    @Override
-    public String toString() {
-        return new StringBuilder("NetworkRegistrationState{")
-                .append(" domain=").append((mDomain == DOMAIN_CS) ? "CS" : "PS")
-                .append(" transportType=").append(TransportType.toString(mTransportType))
-                .append(" regState=").append(regStateToString(mRegState))
-                .append(" roamingType=").append(ServiceState.roamingTypeToString(mRoamingType))
-                .append(" accessNetworkTechnology=")
-                .append(TelephonyManager.getNetworkTypeName(mAccessNetworkTechnology))
-                .append(" rejectCause=").append(mRejectCause)
-                .append(" emergencyEnabled=").append(mEmergencyOnly)
-                .append(" availableServices=").append("[" + (mAvailableServices != null
-                        ? Arrays.stream(mAvailableServices)
-                        .mapToObj(type -> serviceTypeToString(type))
-                        .collect(Collectors.joining(",")) : null) + "]")
-                .append(" cellIdentity=").append(mCellIdentity)
-                .append(" voiceSpecificStates=").append(mVoiceSpecificStates)
-                .append(" dataSpecificStates=").append(mDataSpecificStates)
-                .append(" nrStatus=").append(nrStatusToString(mNrStatus))
-                .append("}").toString();
-    }
-
-    @Override
-    public int hashCode() {
-        return Objects.hash(mDomain, mTransportType, mRegState, mRoamingType,
-                mAccessNetworkTechnology, mRejectCause, mEmergencyOnly, mAvailableServices,
-                mCellIdentity, mVoiceSpecificStates, mDataSpecificStates, mNrStatus);
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-
-        if (!(o instanceof NetworkRegistrationState)) {
-            return false;
-        }
-
-        NetworkRegistrationState other = (NetworkRegistrationState) o;
-        return mDomain == other.mDomain
-                && mTransportType == other.mTransportType
-                && mRegState == other.mRegState
-                && mRoamingType == other.mRoamingType
-                && mAccessNetworkTechnology == other.mAccessNetworkTechnology
-                && mRejectCause == other.mRejectCause
-                && mEmergencyOnly == other.mEmergencyOnly
-                && Arrays.equals(mAvailableServices, other.mAvailableServices)
-                && Objects.equals(mCellIdentity, other.mCellIdentity)
-                && Objects.equals(mVoiceSpecificStates, other.mVoiceSpecificStates)
-                && Objects.equals(mDataSpecificStates, other.mDataSpecificStates)
-                && mNrStatus == other.mNrStatus;
-    }
-
-    @Override
-    public void writeToParcel(Parcel dest, int flags) {
-        dest.writeInt(mDomain);
-        dest.writeInt(mTransportType);
-        dest.writeInt(mRegState);
-        dest.writeInt(mRoamingType);
-        dest.writeInt(mAccessNetworkTechnology);
-        dest.writeInt(mRejectCause);
-        dest.writeBoolean(mEmergencyOnly);
-        dest.writeIntArray(mAvailableServices);
-        dest.writeParcelable(mCellIdentity, 0);
-        dest.writeParcelable(mVoiceSpecificStates, 0);
-        dest.writeParcelable(mDataSpecificStates, 0);
-        dest.writeInt(mNrStatus);
-    }
-
-    /**
-     * Use the 5G NR Non-Standalone indicators from the network registration state to update the
-     * NR status. There are 3 indicators in the network registration state:
-     *
-     * 1. if E-UTRA-NR Dual Connectivity (EN-DC) is supported by the primary serving cell.
-     * 2. if NR is supported by the selected PLMN.
-     * 3. if the use of dual connectivity with NR is restricted.
-     *
-     * The network has 5G NR capability if E-UTRA-NR Dual Connectivity is supported by the primary
-     * serving cell.
-     *
-     * The use of NR 5G is not restricted If the network has 5G NR capability and both the use of
-     * DCNR is not restricted and NR is supported by the selected PLMN. Otherwise the use of 5G
-     * NR is restricted.
-     *
-     * @param state data specific registration state contains the 5G NR indicators.
-     */
-    private void updateNrStatus(DataSpecificRegistrationStates state) {
-        mNrStatus = NR_STATUS_NONE;
-        if (state.isEnDcAvailable) {
-            if (!state.isDcNrRestricted && state.isNrAvailable) {
-                mNrStatus = NR_STATUS_NOT_RESTRICTED;
-            } else {
-                mNrStatus = NR_STATUS_RESTRICTED;
-            }
-        }
-    }
-
-    public static final @android.annotation.NonNull Parcelable.Creator<NetworkRegistrationState> CREATOR =
-            new Parcelable.Creator<NetworkRegistrationState>() {
-        @Override
-        public NetworkRegistrationState createFromParcel(Parcel source) {
-            return new NetworkRegistrationState(source);
-        }
-
-        @Override
-        public NetworkRegistrationState[] newArray(int size) {
-            return new NetworkRegistrationState[size];
-        }
-    };
-
-    /**
-     * @hide
-     */
-    public NetworkRegistrationState sanitizeLocationInfo() {
-        NetworkRegistrationState result = copy();
-        result.mCellIdentity = null;
-        return result;
-    }
-
-    private NetworkRegistrationState copy() {
-        Parcel p = Parcel.obtain();
-        this.writeToParcel(p, 0);
-        p.setDataPosition(0);
-        NetworkRegistrationState result = new NetworkRegistrationState(p);
-        p.recycle();
-        return result;
-    }
-}
diff --git a/telephony/java/android/telephony/NetworkService.java b/telephony/java/android/telephony/NetworkService.java
index bec9494..bc989dd 100644
--- a/telephony/java/android/telephony/NetworkService.java
+++ b/telephony/java/android/telephony/NetworkService.java
@@ -17,6 +17,7 @@
 package android.telephony;
 
 import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.app.Service;
 import android.content.Intent;
@@ -26,7 +27,7 @@
 import android.os.Looper;
 import android.os.Message;
 import android.os.RemoteException;
-import android.telephony.NetworkRegistrationState.Domain;
+import android.telephony.NetworkRegistrationInfo.Domain;
 import android.util.SparseArray;
 
 import com.android.internal.annotations.VisibleForTesting;
@@ -58,10 +59,10 @@
     private static final int NETWORK_SERVICE_CREATE_NETWORK_SERVICE_PROVIDER                 = 1;
     private static final int NETWORK_SERVICE_REMOVE_NETWORK_SERVICE_PROVIDER                 = 2;
     private static final int NETWORK_SERVICE_REMOVE_ALL_NETWORK_SERVICE_PROVIDERS            = 3;
-    private static final int NETWORK_SERVICE_GET_REGISTRATION_STATE                          = 4;
-    private static final int NETWORK_SERVICE_REGISTER_FOR_STATE_CHANGE                       = 5;
-    private static final int NETWORK_SERVICE_UNREGISTER_FOR_STATE_CHANGE                     = 6;
-    private static final int NETWORK_SERVICE_INDICATION_NETWORK_STATE_CHANGED                = 7;
+    private static final int NETWORK_SERVICE_GET_REGISTRATION_INFO                           = 4;
+    private static final int NETWORK_SERVICE_REGISTER_FOR_INFO_CHANGE                        = 5;
+    private static final int NETWORK_SERVICE_UNREGISTER_FOR_INFO_CHANGE                      = 6;
+    private static final int NETWORK_SERVICE_INDICATION_NETWORK_INFO_CHANGED                 = 7;
 
 
     private final HandlerThread mHandlerThread;
@@ -82,53 +83,59 @@
      * service is associated with one physical SIM slot.
      */
     public abstract class NetworkServiceProvider implements AutoCloseable {
-        private final int mSlotId;
+        private final int mSlotIndex;
 
         private final List<INetworkServiceCallback>
-                mNetworkRegistrationStateChangedCallbacks = new ArrayList<>();
-
-        public NetworkServiceProvider(int slotId) {
-            mSlotId = slotId;
-        }
+                mNetworkRegistrationInfoChangedCallbacks = new ArrayList<>();
 
         /**
-         * @return SIM slot id the network service associated with.
+         * Constructor
+         * @param slotIndex SIM slot id the data service provider associated with.
          */
-        public final int getSlotId() {
-            return mSlotId;
+        public NetworkServiceProvider(int slotIndex) {
+            mSlotIndex = slotIndex;
         }
 
         /**
-         * API to get network registration state. The result will be passed to the callback.
+         * @return SIM slot index the network service associated with.
+         */
+        public final int getSlotIndex() {
+            return mSlotIndex;
+        }
+
+        /**
+         * API to get network registration info. The result will be passed to the callback.
          * @param domain Network domain
-         * @param callback The callback for reporting network registration state
-         * @return SIM slot id the network service associated with.
+         * @param callback The callback for reporting network registration info
          */
-        public void getNetworkRegistrationState(@Domain int domain,
-                                                @NonNull NetworkServiceCallback callback) {
-            callback.onGetNetworkRegistrationStateComplete(
+        public void getNetworkRegistrationInfo(@Domain int domain,
+                                               @NonNull NetworkServiceCallback callback) {
+            callback.onGetNetworkRegistrationInfoComplete(
                     NetworkServiceCallback.RESULT_ERROR_UNSUPPORTED, null);
         }
 
-        public final void notifyNetworkRegistrationStateChanged() {
-            mHandler.obtainMessage(NETWORK_SERVICE_INDICATION_NETWORK_STATE_CHANGED,
-                    mSlotId, 0, null).sendToTarget();
+        /**
+         * Notify the system that network registration info is changed.
+         */
+        public final void notifyNetworkRegistrationInfoChanged() {
+            mHandler.obtainMessage(NETWORK_SERVICE_INDICATION_NETWORK_INFO_CHANGED,
+                    mSlotIndex, 0, null).sendToTarget();
         }
 
-        private void registerForStateChanged(@NonNull INetworkServiceCallback callback) {
-            synchronized (mNetworkRegistrationStateChangedCallbacks) {
-                mNetworkRegistrationStateChangedCallbacks.add(callback);
+        private void registerForInfoChanged(@NonNull INetworkServiceCallback callback) {
+            synchronized (mNetworkRegistrationInfoChangedCallbacks) {
+                mNetworkRegistrationInfoChangedCallbacks.add(callback);
             }
         }
 
-        private void unregisterForStateChanged(@NonNull INetworkServiceCallback callback) {
-            synchronized (mNetworkRegistrationStateChangedCallbacks) {
-                mNetworkRegistrationStateChangedCallbacks.remove(callback);
+        private void unregisterForInfoChanged(@NonNull INetworkServiceCallback callback) {
+            synchronized (mNetworkRegistrationInfoChangedCallbacks) {
+                mNetworkRegistrationInfoChangedCallbacks.remove(callback);
             }
         }
 
-        private void notifyStateChangedToCallbacks() {
-            for (INetworkServiceCallback callback : mNetworkRegistrationStateChangedCallbacks) {
+        private void notifyInfoChangedToCallbacks() {
+            for (INetworkServiceCallback callback : mNetworkRegistrationInfoChangedCallbacks) {
                 try {
                     callback.onNetworkStateChanged();
                 } catch (RemoteException exception) {
@@ -154,23 +161,23 @@
 
         @Override
         public void handleMessage(Message message) {
-            final int slotId = message.arg1;
+            final int slotIndex = message.arg1;
             final INetworkServiceCallback callback = (INetworkServiceCallback) message.obj;
 
-            NetworkServiceProvider serviceProvider = mServiceMap.get(slotId);
+            NetworkServiceProvider serviceProvider = mServiceMap.get(slotIndex);
 
             switch (message.what) {
                 case NETWORK_SERVICE_CREATE_NETWORK_SERVICE_PROVIDER:
                     // If the service provider doesn't exist yet, we try to create it.
                     if (serviceProvider == null) {
-                        mServiceMap.put(slotId, createNetworkServiceProvider(slotId));
+                        mServiceMap.put(slotIndex, onCreateNetworkServiceProvider(slotIndex));
                     }
                     break;
                 case NETWORK_SERVICE_REMOVE_NETWORK_SERVICE_PROVIDER:
                     // If the service provider doesn't exist yet, we try to create it.
                     if (serviceProvider != null) {
                         serviceProvider.close();
-                        mServiceMap.remove(slotId);
+                        mServiceMap.remove(slotIndex);
                     }
                     break;
                 case NETWORK_SERVICE_REMOVE_ALL_NETWORK_SERVICE_PROVIDERS:
@@ -182,24 +189,24 @@
                     }
                     mServiceMap.clear();
                     break;
-                case NETWORK_SERVICE_GET_REGISTRATION_STATE:
+                case NETWORK_SERVICE_GET_REGISTRATION_INFO:
                     if (serviceProvider == null) break;
                     int domainId = message.arg2;
-                    serviceProvider.getNetworkRegistrationState(domainId,
+                    serviceProvider.getNetworkRegistrationInfo(domainId,
                             new NetworkServiceCallback(callback));
 
                     break;
-                case NETWORK_SERVICE_REGISTER_FOR_STATE_CHANGE:
+                case NETWORK_SERVICE_REGISTER_FOR_INFO_CHANGE:
                     if (serviceProvider == null) break;
-                    serviceProvider.registerForStateChanged(callback);
+                    serviceProvider.registerForInfoChanged(callback);
                     break;
-                case NETWORK_SERVICE_UNREGISTER_FOR_STATE_CHANGE:
+                case NETWORK_SERVICE_UNREGISTER_FOR_INFO_CHANGE:
                     if (serviceProvider == null) break;
-                    serviceProvider.unregisterForStateChanged(callback);
+                    serviceProvider.unregisterForInfoChanged(callback);
                     break;
-                case NETWORK_SERVICE_INDICATION_NETWORK_STATE_CHANGED:
+                case NETWORK_SERVICE_INDICATION_NETWORK_INFO_CHANGED:
                     if (serviceProvider == null) break;
-                    serviceProvider.notifyStateChangedToCallbacks();
+                    serviceProvider.notifyInfoChangedToCallbacks();
                     break;
                 default:
                     break;
@@ -223,12 +230,12 @@
      * this method to facilitate the creation of {@link NetworkServiceProvider} instances. The system
      * will call this method after binding the network service for each active SIM slot id.
      *
-     * @param slotId SIM slot id the network service associated with.
+     * @param slotIndex SIM slot id the network service associated with.
      * @return Network service object
      */
-    protected abstract NetworkServiceProvider createNetworkServiceProvider(int slotId);
+    @Nullable
+    public abstract NetworkServiceProvider onCreateNetworkServiceProvider(int slotIndex);
 
-    /** @hide */
     @Override
     public IBinder onBind(Intent intent) {
         if (intent == null || !NETWORK_SERVICE_INTERFACE.equals(intent.getAction())) {
@@ -239,7 +246,6 @@
         return mBinder;
     }
 
-    /** @hide */
     @Override
     public boolean onUnbind(Intent intent) {
         mHandler.obtainMessage(NETWORK_SERVICE_REMOVE_ALL_NETWORK_SERVICE_PROVIDERS, 0,
@@ -252,6 +258,7 @@
     @Override
     public void onDestroy() {
         mHandlerThread.quit();
+        super.onDestroy();
     }
 
     /**
@@ -261,35 +268,35 @@
     private class INetworkServiceWrapper extends INetworkService.Stub {
 
         @Override
-        public void createNetworkServiceProvider(int slotId) {
-            mHandler.obtainMessage(NETWORK_SERVICE_CREATE_NETWORK_SERVICE_PROVIDER, slotId,
+        public void createNetworkServiceProvider(int slotIndex) {
+            mHandler.obtainMessage(NETWORK_SERVICE_CREATE_NETWORK_SERVICE_PROVIDER, slotIndex,
                     0, null).sendToTarget();
         }
 
         @Override
-        public void removeNetworkServiceProvider(int slotId) {
-            mHandler.obtainMessage(NETWORK_SERVICE_REMOVE_NETWORK_SERVICE_PROVIDER, slotId,
+        public void removeNetworkServiceProvider(int slotIndex) {
+            mHandler.obtainMessage(NETWORK_SERVICE_REMOVE_NETWORK_SERVICE_PROVIDER, slotIndex,
                     0, null).sendToTarget();
         }
 
         @Override
-        public void getNetworkRegistrationState(
-                int slotId, int domain, INetworkServiceCallback callback) {
-            mHandler.obtainMessage(NETWORK_SERVICE_GET_REGISTRATION_STATE, slotId,
+        public void getNetworkRegistrationInfo(
+                int slotIndex, int domain, INetworkServiceCallback callback) {
+            mHandler.obtainMessage(NETWORK_SERVICE_GET_REGISTRATION_INFO, slotIndex,
                     domain, callback).sendToTarget();
         }
 
         @Override
-        public void registerForNetworkRegistrationStateChanged(
-                int slotId, INetworkServiceCallback callback) {
-            mHandler.obtainMessage(NETWORK_SERVICE_REGISTER_FOR_STATE_CHANGE, slotId,
+        public void registerForNetworkRegistrationInfoChanged(
+                int slotIndex, INetworkServiceCallback callback) {
+            mHandler.obtainMessage(NETWORK_SERVICE_REGISTER_FOR_INFO_CHANGE, slotIndex,
                     0, callback).sendToTarget();
         }
 
         @Override
-        public void unregisterForNetworkRegistrationStateChanged(
-                int slotId,INetworkServiceCallback callback) {
-            mHandler.obtainMessage(NETWORK_SERVICE_UNREGISTER_FOR_STATE_CHANGE, slotId,
+        public void unregisterForNetworkRegistrationInfoChanged(
+                int slotIndex, INetworkServiceCallback callback) {
+            mHandler.obtainMessage(NETWORK_SERVICE_UNREGISTER_FOR_INFO_CHANGE, slotIndex,
                     0, callback).sendToTarget();
         }
     }
diff --git a/telephony/java/android/telephony/NetworkServiceCallback.java b/telephony/java/android/telephony/NetworkServiceCallback.java
index dbad02f..cc25240 100644
--- a/telephony/java/android/telephony/NetworkServiceCallback.java
+++ b/telephony/java/android/telephony/NetworkServiceCallback.java
@@ -17,6 +17,7 @@
 package android.telephony;
 
 import android.annotation.IntDef;
+import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.os.RemoteException;
 import android.telephony.NetworkService.NetworkServiceProvider;
@@ -27,8 +28,8 @@
 
 /**
  * Network service callback. Object of this class is passed to NetworkServiceProvider upon
- * calling getNetworkRegistrationState, to receive asynchronous feedback from NetworkServiceProvider
- * upon onGetNetworkRegistrationStateComplete. It's like a wrapper of INetworkServiceCallback
+ * calling getNetworkRegistrationInfo, to receive asynchronous feedback from NetworkServiceProvider
+ * upon onGetNetworkRegistrationInfoComplete. It's like a wrapper of INetworkServiceCallback
  * because INetworkServiceCallback can't be a parameter type in public APIs.
  *
  * @hide
@@ -69,19 +70,20 @@
 
     /**
      * Called to indicate result of
-     * {@link NetworkServiceProvider#getNetworkRegistrationState(int, NetworkServiceCallback)}
+     * {@link NetworkServiceProvider#getNetworkRegistrationInfo(int, NetworkServiceCallback)}
      *
      * @param result Result status like {@link NetworkServiceCallback#RESULT_SUCCESS} or
      *                {@link NetworkServiceCallback#RESULT_ERROR_UNSUPPORTED}
      * @param state The state information to be returned to callback.
      */
-    public void onGetNetworkRegistrationStateComplete(int result, NetworkRegistrationState state) {
+    public void onGetNetworkRegistrationInfoComplete(int result,
+                                                      @Nullable NetworkRegistrationInfo state) {
         INetworkServiceCallback callback = mCallback.get();
         if (callback != null) {
             try {
-                callback.onGetNetworkRegistrationStateComplete(result, state);
+                callback.onGetNetworkRegistrationInfoComplete(result, state);
             } catch (RemoteException e) {
-                Rlog.e(mTag, "Failed to onGetNetworkRegistrationStateComplete on the remote");
+                Rlog.e(mTag, "Failed to onGetNetworkRegistrationInfoComplete on the remote");
             }
         } else {
             Rlog.e(mTag, "Weak reference of callback is null.");
diff --git a/telephony/java/android/telephony/PhoneNumberUtils.java b/telephony/java/android/telephony/PhoneNumberUtils.java
index 4dcb410..549c044 100644
--- a/telephony/java/android/telephony/PhoneNumberUtils.java
+++ b/telephony/java/android/telephony/PhoneNumberUtils.java
@@ -25,12 +25,11 @@
 import android.annotation.UnsupportedAppUsage;
 import android.content.Context;
 import android.content.Intent;
-import android.content.res.Resources;
 import android.database.Cursor;
 import android.location.CountryDetector;
 import android.net.Uri;
-import android.os.SystemProperties;
 import android.os.PersistableBundle;
+import android.os.SystemProperties;
 import android.provider.Contacts;
 import android.provider.ContactsContract;
 import android.telecom.PhoneAccount;
@@ -1738,7 +1737,7 @@
      * @return true if the number is in the list of emergency numbers
      *         listed in the RIL / SIM, otherwise return false.
      *
-     * @deprecated Please use {@link TelephonyManager#isCurrentEmergencyNumber(String)} instead.
+     * @deprecated Please use {@link TelephonyManager#isEmergencyNumber(String)} instead.
      */
     @Deprecated
     public static boolean isEmergencyNumber(String number) {
@@ -1754,7 +1753,7 @@
      * @return true if the number is in the list of emergency numbers
      *         listed in the RIL / SIM, otherwise return false.
      *
-     * @deprecated Please use {@link TelephonyManager#isCurrentEmergencyNumber(String)}
+     * @deprecated Please use {@link TelephonyManager#isEmergencyNumber(String)}
      *             instead.
      *
      * @hide
@@ -1785,7 +1784,7 @@
      *         listed in the RIL / SIM, *or* if the number starts with the
      *         same digits as any of those emergency numbers.
      *
-     * @deprecated Please use {@link TelephonyManager#isCurrentPotentialEmergencyNumber(String)}
+     * @deprecated Please use {@link TelephonyManager#isPotentialEmergencyNumber(String)}
      *             instead.
      *
      * @hide
@@ -1814,7 +1813,7 @@
      *         listed in the RIL / SIM, *or* if the number starts with the
      *         same digits as any of those emergency numbers.
      *
-     * @deprecated Please use {@link TelephonyManager#isCurrentPotentialEmergencyNumber(String)}
+     * @deprecated Please use {@link TelephonyManager#isPotentialEmergencyNumber(String)}
      *             instead.
      *
      * @hide
@@ -1883,7 +1882,7 @@
      * @return if the number is an emergency number for the specific country, then return true,
      * otherwise false
      *
-     * @deprecated Please use {@link TelephonyManager#isCurrentEmergencyNumber(String)}
+     * @deprecated Please use {@link TelephonyManager#isEmergencyNumber(String)}
      *             instead.
      *
      * @hide
@@ -1903,7 +1902,7 @@
      * @return if the number is an emergency number for the specific country, then return true,
      * otherwise false
      *
-     * @deprecated Please use {@link TelephonyManager#isCurrentEmergencyNumber(String)}
+     * @deprecated Please use {@link TelephonyManager#isEmergencyNumber(String)}
      *             instead.
      *
      * @hide
@@ -1934,7 +1933,7 @@
      *         country, *or* if the number starts with the same digits as
      *         any of those emergency numbers.
      *
-     * @deprecated Please use {@link TelephonyManager#isCurrentPotentialEmergencyNumber(String)}
+     * @deprecated Please use {@link TelephonyManager#isPotentialEmergencyNumber(String)}
      *             instead.
      *
      * @hide
@@ -1964,7 +1963,7 @@
      *         country, *or* if the number starts with the same digits as
      *         any of those emergency numbers.
      *
-     * @deprecated Please use {@link TelephonyManager#isCurrentPotentialEmergencyNumber(String)}
+     * @deprecated Please use {@link TelephonyManager#isPotentialEmergencyNumber(String)}
      *             instead.
      *
      * @hide
@@ -2017,7 +2016,7 @@
     private static boolean isEmergencyNumberInternal(int subId, String number,
                                                      String defaultCountryIso,
                                                      boolean useExactMatch) {
-        return TelephonyManager.getDefault().isCurrentEmergencyNumber(number);
+        return TelephonyManager.getDefault().isEmergencyNumber(number);
     }
 
     /**
@@ -2028,7 +2027,7 @@
      * @return true if the specified number is an emergency number for the country the user
      * is currently in.
      *
-     * @deprecated Please use {@link TelephonyManager#isCurrentEmergencyNumber(String)}
+     * @deprecated Please use {@link TelephonyManager#isEmergencyNumber(String)}
      *             instead.
      */
     @Deprecated
@@ -2045,7 +2044,7 @@
      * @return true if the specified number is an emergency number for the country the user
      * is currently in.
      *
-     * @deprecated Please use {@link TelephonyManager#isCurrentEmergencyNumber(String)}
+     * @deprecated Please use {@link TelephonyManager#isEmergencyNumber(String)}
      *             instead.
      *
      * @hide
@@ -2079,7 +2078,7 @@
      *
      * @see android.location.CountryDetector
      *
-     * @deprecated Please use {@link TelephonyManager#isCurrentPotentialEmergencyNumber(String)}
+     * @deprecated Please use {@link TelephonyManager#isPotentialEmergencyNumber(String)}
      *             instead.
      *
      * @hide
@@ -2110,7 +2109,7 @@
      * @return true if the specified number is an emergency number for a local country, based on the
      *              CountryDetector.
      *
-     * @deprecated Please use {@link TelephonyManager#isCurrentPotentialEmergencyNumber(String)}
+     * @deprecated Please use {@link TelephonyManager#isPotentialEmergencyNumber(String)}
      *             instead.
      *
      * @hide
diff --git a/telephony/java/android/telephony/PhoneStateListener.java b/telephony/java/android/telephony/PhoneStateListener.java
index 5fd36f4..918bf60 100644
--- a/telephony/java/android/telephony/PhoneStateListener.java
+++ b/telephony/java/android/telephony/PhoneStateListener.java
@@ -292,17 +292,16 @@
     public static final int LISTEN_PHONE_CAPABILITY_CHANGE                 = 0x00200000;
 
     /**
-     *  Listen for changes to active data subId. Active data subscription
-     *  is whichever is being used for Internet data. For most of the case, it's
-     *  default data subscription but it could be others. For example, when data is
-     *  switched to opportunistic subscription, that becomes the active data sub.
+     *  Listen for changes to active data subId. Active data subscription is
+     *  the current subscription used to setup Cellular Internet data. For example,
+     *  it could be the current active opportunistic subscription in use, or the
+     *  subscription user selected as default data subscription in DSDS mode.
      *
      *  Requires Permission: {@link android.Manifest.permission#READ_PHONE_STATE
      *  READ_PHONE_STATE}
-     *  @see #onActiveDataSubIdChanged
-     *  @hide
+     *  @see #onActiveDataSubscriptionIdChanged
      */
-    public static final int LISTEN_ACTIVE_DATA_SUBID_CHANGE               = 0x00400000;
+    public static final int LISTEN_ACTIVE_DATA_SUBSCRIPTION_ID_CHANGE = 0x00400000;
 
     /**
      *  Listen for changes to the radio power state.
@@ -709,12 +708,11 @@
     /**
      * Callback invoked when active data subId changes. Requires
      * the READ_PHONE_STATE permission.
-     * @param subId current data subId used for Internet data. It will be default data subscription
-     *              most cases. And it could be other subscriptions for example opportunistic
-     *              subscription if data is switched onto it.
-     * @hide
+     * @param subId current subscription used to setup Cellular Internet data.
+     *              For example, it could be the current active opportunistic subscription in use,
+     *              or the subscription user selected as default data subscription in DSDS mode.
      */
-    public void onActiveDataSubIdChanged(int subId) {
+    public void onActiveDataSubscriptionIdChanged(int subId) {
         // default implementation empty
     }
 
@@ -1003,7 +1001,7 @@
             if (psl == null) return;
 
             Binder.withCleanCallingIdentity(
-                    () -> mExecutor.execute(() -> psl.onActiveDataSubIdChanged(subId)));
+                    () -> mExecutor.execute(() -> psl.onActiveDataSubscriptionIdChanged(subId)));
         }
 
         public void onImsCallDisconnectCauseChanged(ImsReasonInfo disconnectCause) {
diff --git a/telephony/java/android/telephony/RadioAccessFamily.java b/telephony/java/android/telephony/RadioAccessFamily.java
index 4fdfcbe0..28f6515 100644
--- a/telephony/java/android/telephony/RadioAccessFamily.java
+++ b/telephony/java/android/telephony/RadioAccessFamily.java
@@ -22,6 +22,7 @@
 import android.os.Build;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.telephony.TelephonyManager.PrefNetworkMode;
 
 import com.android.internal.telephony.RILConstants;
 
@@ -170,7 +171,8 @@
     };
 
     @UnsupportedAppUsage
-    public static int getRafFromNetworkType(int type) {
+    @TelephonyManager.NetworkTypeBitMask
+    public static int getRafFromNetworkType(@PrefNetworkMode int type) {
         switch (type) {
             case RILConstants.NETWORK_MODE_WCDMA_PREF:
                 return GSM | WCDMA;
@@ -279,6 +281,7 @@
     }
 
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
+    @PrefNetworkMode
     public static int getNetworkTypeFromRaf(int raf) {
         raf = getAdjustedRaf(raf);
 
@@ -394,81 +397,4 @@
         }
         return result;
     }
-
-    /**
-     * convert RAF from {@link android.hardware.radio.V1_0.RadioAccessFamily} to
-     * {@link TelephonyManager.NetworkTypeBitMask}, the bitmask represented by
-     * {@link TelephonyManager.NetworkType}.
-     *
-     * @param raf {@link android.hardware.radio.V1_0.RadioAccessFamily}
-     * @return {@link TelephonyManager.NetworkTypeBitMask}
-     */
-    public static int convertToNetworkTypeBitMask(int raf) {
-        int networkTypeRaf = 0;
-
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.GSM) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_GSM;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.GPRS) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_GPRS;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.EDGE) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_EDGE;
-        }
-        // convert both IS95A/IS95B to CDMA as network mode doesn't support CDMA
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.IS95A) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_CDMA;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.IS95B) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_CDMA;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.ONE_X_RTT) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_1xRTT;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.EVDO_0) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_EVDO_0;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.EVDO_A) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_EVDO_A;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.EVDO_B) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_EVDO_B;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.EHRPD) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_EHRPD;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.HSUPA) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_HSUPA;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.HSDPA) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_HSDPA;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.HSPA) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_HSPA;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.HSPAP) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_HSPAP;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.UMTS) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_UMTS;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.TD_SCDMA) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_TD_SCDMA;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.LTE) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_LTE;
-        }
-        if ((raf & android.hardware.radio.V1_0.RadioAccessFamily.LTE_CA) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_LTE_CA;
-        }
-        if ((raf & android.hardware.radio.V1_4.RadioAccessFamily.NR) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_NR;
-        }
-        // TODO: need hal definition
-        if ((raf & (1 << ServiceState.RIL_RADIO_TECHNOLOGY_IWLAN)) != 0) {
-            networkTypeRaf |= TelephonyManager.NETWORK_TYPE_BITMASK_IWLAN;
-        }
-
-        return (networkTypeRaf == 0) ? TelephonyManager.NETWORK_TYPE_UNKNOWN : networkTypeRaf;
-    }
 }
diff --git a/telephony/java/android/telephony/ServiceState.java b/telephony/java/android/telephony/ServiceState.java
index 683905e..17e2e90 100644
--- a/telephony/java/android/telephony/ServiceState.java
+++ b/telephony/java/android/telephony/ServiceState.java
@@ -28,8 +28,9 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 import android.telephony.AccessNetworkConstants.AccessNetworkType;
-import android.telephony.NetworkRegistrationState.Domain;
-import android.telephony.NetworkRegistrationState.NRStatus;
+import android.telephony.AccessNetworkConstants.TransportType;
+import android.telephony.NetworkRegistrationInfo.Domain;
+import android.telephony.NetworkRegistrationInfo.NRState;
 import android.text.TextUtils;
 
 import java.lang.annotation.Retention;
@@ -348,7 +349,7 @@
      * Reference: 3GPP TS 36.104 5.4.3 */
     private int mLteEarfcnRsrpBoost = 0;
 
-    private List<NetworkRegistrationState> mNetworkRegistrationStates = new ArrayList<>();
+    private List<NetworkRegistrationInfo> mNetworkRegistrationInfos = new ArrayList<>();
 
     /**
      * get String description of roaming type
@@ -431,14 +432,18 @@
         mCellBandwidths = s.mCellBandwidths == null ? null :
                 Arrays.copyOf(s.mCellBandwidths, s.mCellBandwidths.length);
         mLteEarfcnRsrpBoost = s.mLteEarfcnRsrpBoost;
-        mNetworkRegistrationStates = s.mNetworkRegistrationStates == null ? null :
-                new ArrayList<>(s.mNetworkRegistrationStates);
+        mNetworkRegistrationInfos = s.mNetworkRegistrationInfos == null ? null :
+                new ArrayList<>(s.mNetworkRegistrationInfos);
         mNrFrequencyRange = s.mNrFrequencyRange;
     }
 
     /**
      * Construct a ServiceState object from the given parcel.
+     *
+     * @deprecated The constructor takes parcel should not be public at the beginning. Use
+     * {@link #ServiceState()} instead.
      */
+    @Deprecated
     public ServiceState(Parcel in) {
         mVoiceRegState = in.readInt();
         mDataRegState = in.readInt();
@@ -461,8 +466,8 @@
         mIsEmergencyOnly = in.readInt() != 0;
         mIsUsingCarrierAggregation = in.readInt() != 0;
         mLteEarfcnRsrpBoost = in.readInt();
-        mNetworkRegistrationStates = new ArrayList<>();
-        in.readList(mNetworkRegistrationStates, NetworkRegistrationState.class.getClassLoader());
+        mNetworkRegistrationInfos = new ArrayList<>();
+        in.readList(mNetworkRegistrationInfos, NetworkRegistrationInfo.class.getClassLoader());
         mChannelNumber = in.readInt();
         mCellBandwidths = in.createIntArray();
         mNrFrequencyRange = in.readInt();
@@ -490,7 +495,7 @@
         out.writeInt(mIsEmergencyOnly ? 1 : 0);
         out.writeInt(mIsUsingCarrierAggregation ? 1 : 0);
         out.writeInt(mLteEarfcnRsrpBoost);
-        out.writeList(mNetworkRegistrationStates);
+        out.writeList(mNetworkRegistrationInfos);
         out.writeInt(mChannelNumber);
         out.writeIntArray(mCellBandwidths);
         out.writeInt(mNrFrequencyRange);
@@ -615,8 +620,8 @@
      */
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P)
     public @RoamingType int getVoiceRoamingType() {
-        final NetworkRegistrationState regState = getNetworkRegistrationState(
-                NetworkRegistrationState.DOMAIN_CS, AccessNetworkConstants.TransportType.WWAN);
+        final NetworkRegistrationInfo regState = getNetworkRegistrationInfo(
+                NetworkRegistrationInfo.DOMAIN_CS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
         if (regState != null) {
             return regState.getRoamingType();
         }
@@ -639,10 +644,11 @@
      * @hide
      */
     public boolean getDataRoamingFromRegistration() {
-        final NetworkRegistrationState regState = getNetworkRegistrationState(
-                NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN);
+        final NetworkRegistrationInfo regState = getNetworkRegistrationInfo(
+                NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
         if (regState != null) {
-            return (regState.getRegState() == NetworkRegistrationState.REG_STATE_ROAMING);
+            return regState.getRegistrationState()
+                    == NetworkRegistrationInfo.REGISTRATION_STATE_ROAMING;
         }
         return false;
     }
@@ -654,8 +660,8 @@
      */
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P)
     public @RoamingType int getDataRoamingType() {
-        final NetworkRegistrationState regState = getNetworkRegistrationState(
-                NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN);
+        final NetworkRegistrationInfo regState = getNetworkRegistrationInfo(
+                NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
         if (regState != null) {
             return regState.getRoamingType();
         }
@@ -833,7 +839,7 @@
                 mVoiceRegState,
                 mDataRegState,
                 mChannelNumber,
-                mCellBandwidths,
+                Arrays.hashCode(mCellBandwidths),
                 mVoiceOperatorAlphaLong,
                 mVoiceOperatorAlphaShort,
                 mVoiceOperatorNumeric,
@@ -853,7 +859,7 @@
                 mIsEmergencyOnly,
                 mIsUsingCarrierAggregation,
                 mLteEarfcnRsrpBoost,
-                mNetworkRegistrationStates,
+                mNetworkRegistrationInfos,
                 mNrFrequencyRange);
     }
 
@@ -883,9 +889,9 @@
                         s.mCdmaDefaultRoamingIndicator)
                 && mIsEmergencyOnly == s.mIsEmergencyOnly
                 && mIsUsingCarrierAggregation == s.mIsUsingCarrierAggregation)
-                && (mNetworkRegistrationStates == null ? s.mNetworkRegistrationStates == null :
-                        s.mNetworkRegistrationStates != null &&
-                        mNetworkRegistrationStates.containsAll(s.mNetworkRegistrationStates))
+                && (mNetworkRegistrationInfos == null
+                ? s.mNetworkRegistrationInfos == null : s.mNetworkRegistrationInfos != null
+                && mNetworkRegistrationInfos.containsAll(s.mNetworkRegistrationInfos))
                 && mNrFrequencyRange == s.mNrFrequencyRange;
     }
 
@@ -1038,7 +1044,7 @@
             .append(", mIsEmergencyOnly=").append(mIsEmergencyOnly)
             .append(", mIsUsingCarrierAggregation=").append(mIsUsingCarrierAggregation)
             .append(", mLteEarfcnRsrpBoost=").append(mLteEarfcnRsrpBoost)
-            .append(", mNetworkRegistrationStates=").append(mNetworkRegistrationStates)
+            .append(", mNetworkRegistrationInfos=").append(mNetworkRegistrationInfos)
             .append(", mNrFrequencyRange=").append(mNrFrequencyRange)
             .append("}").toString();
     }
@@ -1068,7 +1074,7 @@
         mIsEmergencyOnly = false;
         mIsUsingCarrierAggregation = false;
         mLteEarfcnRsrpBoost = 0;
-        mNetworkRegistrationStates = new ArrayList<>();
+        mNetworkRegistrationInfos = new ArrayList<>();
         mNrFrequencyRange = FREQUENCY_RANGE_UNKNOWN;
     }
 
@@ -1125,14 +1131,14 @@
     /** @hide */
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public void setVoiceRoamingType(@RoamingType int type) {
-        NetworkRegistrationState regState = getNetworkRegistrationState(
-                NetworkRegistrationState.DOMAIN_CS, AccessNetworkConstants.TransportType.WWAN);
+        NetworkRegistrationInfo regState = getNetworkRegistrationInfo(
+                NetworkRegistrationInfo.DOMAIN_CS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
         if (regState == null) {
-            regState = new NetworkRegistrationState(
-                    NetworkRegistrationState.DOMAIN_CS, AccessNetworkConstants.TransportType.WWAN,
-                    ServiceState.ROAMING_TYPE_NOT_ROAMING, TelephonyManager.NETWORK_TYPE_UNKNOWN, 0,
-                    false, null, null);
-            addNetworkRegistrationState(regState);
+            regState = new NetworkRegistrationInfo.Builder()
+                    .setDomain(NetworkRegistrationInfo.DOMAIN_CS)
+                    .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN)
+                    .build();
+            addNetworkRegistrationInfo(regState);
         }
         regState.setRoamingType(type);
     }
@@ -1146,14 +1152,14 @@
     /** @hide */
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P, trackingBug = 115609023)
     public void setDataRoamingType(@RoamingType int type) {
-        NetworkRegistrationState regState = getNetworkRegistrationState(
-                NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN);
+        NetworkRegistrationInfo regState = getNetworkRegistrationInfo(
+                NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
         if (regState == null) {
-            regState = new NetworkRegistrationState(
-                    NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN,
-                    ServiceState.ROAMING_TYPE_NOT_ROAMING, TelephonyManager.NETWORK_TYPE_UNKNOWN, 0,
-                    false, null, null);
-            addNetworkRegistrationState(regState);
+            regState = new NetworkRegistrationInfo.Builder()
+                    .setDomain(NetworkRegistrationInfo.DOMAIN_PS)
+                    .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN)
+                    .build();
+            addNetworkRegistrationInfo(regState);
         }
         regState.setRoamingType(type);
     }
@@ -1321,14 +1327,14 @@
         this.mRilVoiceRadioTechnology = rt;
 
         // sync to network registration state
-        NetworkRegistrationState regState = getNetworkRegistrationState(
-                NetworkRegistrationState.DOMAIN_CS, AccessNetworkConstants.TransportType.WWAN);
+        NetworkRegistrationInfo regState = getNetworkRegistrationInfo(
+                NetworkRegistrationInfo.DOMAIN_CS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
         if (regState == null) {
-            regState = new NetworkRegistrationState(
-                    NetworkRegistrationState.DOMAIN_CS, AccessNetworkConstants.TransportType.WWAN,
-                    ServiceState.ROAMING_TYPE_NOT_ROAMING, TelephonyManager.NETWORK_TYPE_UNKNOWN,
-                    0, false, null, null);
-            addNetworkRegistrationState(regState);
+            regState = new NetworkRegistrationInfo.Builder()
+                    .setDomain(NetworkRegistrationInfo.DOMAIN_CS)
+                    .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN)
+                    .build();
+            addNetworkRegistrationInfo(regState);
         }
         regState.setAccessNetworkTechnology(
                 rilRadioTechnologyToNetworkType(mRilVoiceRadioTechnology));
@@ -1348,15 +1354,15 @@
                 mRilDataRadioTechnology);
 
         // sync to network registration state
-        NetworkRegistrationState regState = getNetworkRegistrationState(
-                NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN);
+        NetworkRegistrationInfo regState = getNetworkRegistrationInfo(
+                NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
 
         if (regState == null) {
-            regState = new NetworkRegistrationState(
-                    NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN,
-                    ServiceState.ROAMING_TYPE_NOT_ROAMING, TelephonyManager.NETWORK_TYPE_UNKNOWN,
-                    0, false, null, null);
-            addNetworkRegistrationState(regState);
+            regState = new NetworkRegistrationInfo.Builder()
+                    .setDomain(NetworkRegistrationInfo.DOMAIN_PS)
+                    .setTransportType(AccessNetworkConstants.TRANSPORT_TYPE_WWAN)
+                    .build();
+            addNetworkRegistrationInfo(regState);
         }
         regState.setAccessNetworkTechnology(
                 rilRadioTechnologyToNetworkType(mRilDataRadioTechnology));
@@ -1381,15 +1387,15 @@
     }
 
     /**
-     * Get the NR 5G status of the mobile data network.
-     * @return the NR 5G status.
+     * Get the NR 5G state of the mobile data network.
+     * @return the NR 5G state.
      * @hide
      */
-    public @NRStatus int getNrStatus() {
-        final NetworkRegistrationState regState = getNetworkRegistrationState(
-                NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN);
-        if (regState == null) return NetworkRegistrationState.NR_STATUS_NONE;
-        return regState.getNrStatus();
+    public @NRState int getNrState() {
+        final NetworkRegistrationInfo regState = getNetworkRegistrationInfo(
+                NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
+        if (regState == null) return NetworkRegistrationInfo.NR_STATE_NONE;
+        return regState.getNrState();
     }
 
     /**
@@ -1571,19 +1577,19 @@
     /** @hide */
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P)
     public @TelephonyManager.NetworkType int getDataNetworkType() {
-        final NetworkRegistrationState iwlanRegState = getNetworkRegistrationState(
-                NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WLAN);
-        if (iwlanRegState != null
-                && iwlanRegState.getRegState() == NetworkRegistrationState.REG_STATE_HOME) {
+        final NetworkRegistrationInfo iwlanRegState = getNetworkRegistrationInfo(
+                NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WLAN);
+        if (iwlanRegState != null && iwlanRegState.getRegistrationState()
+                == NetworkRegistrationInfo.REGISTRATION_STATE_HOME) {
             // If the device is on IWLAN, return IWLAN as the network type. This is to simulate the
             // behavior of legacy mode device. In the future caller should use
-            // getNetworkRegistrationState() to retrieve the actual data network type on cellular
+            // getNetworkRegistrationInfo() to retrieve the actual data network type on cellular
             // or on IWLAN.
             return iwlanRegState.getAccessNetworkTechnology();
         }
 
-        final NetworkRegistrationState regState = getNetworkRegistrationState(
-                NetworkRegistrationState.DOMAIN_PS, AccessNetworkConstants.TransportType.WWAN);
+        final NetworkRegistrationInfo regState = getNetworkRegistrationInfo(
+                NetworkRegistrationInfo.DOMAIN_PS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
         if (regState != null) {
             return regState.getAccessNetworkTechnology();
         }
@@ -1593,8 +1599,8 @@
     /** @hide */
     @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P)
     public @TelephonyManager.NetworkType int getVoiceNetworkType() {
-        final NetworkRegistrationState regState = getNetworkRegistrationState(
-                NetworkRegistrationState.DOMAIN_CS, AccessNetworkConstants.TransportType.WWAN);
+        final NetworkRegistrationInfo regState = getNetworkRegistrationInfo(
+                NetworkRegistrationInfo.DOMAIN_CS, AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
         if (regState != null) {
             return regState.getAccessNetworkTechnology();
         }
@@ -1757,52 +1763,36 @@
     }
 
     /**
-     * Get all of the available network registration states.
+     * Get all of the available network registration info.
      *
-     * @return List of {@link NetworkRegistrationState}
+     * @return List of {@link NetworkRegistrationInfo}
      * @hide
      */
     @NonNull
     @SystemApi
-    public List<NetworkRegistrationState> getNetworkRegistrationStates() {
-        synchronized (mNetworkRegistrationStates) {
-            return new ArrayList<>(mNetworkRegistrationStates);
+    public List<NetworkRegistrationInfo> getNetworkRegistrationInfoList() {
+        synchronized (mNetworkRegistrationInfos) {
+            return new ArrayList<>(mNetworkRegistrationInfos);
         }
     }
 
     /**
-     * Get the network registration states for the transport type.
+     * Get the network registration info list for the transport type.
      *
-     * @param transportType The {@link AccessNetworkConstants.TransportType transport type}
-     * @return List of {@link NetworkRegistrationState}
-     * @hide
-     *
-     * @deprecated Use {@link #getNetworkRegistrationStatesFromTransportType(int)}
-     */
-    @NonNull
-    @Deprecated
-    @SystemApi
-    public List<NetworkRegistrationState> getNetworkRegistrationStates(int transportType) {
-        return getNetworkRegistrationStatesForTransportType(transportType);
-    }
-
-    /**
-     * Get the network registration states for the transport type.
-     *
-     * @param transportType The {@link AccessNetworkConstants.TransportType transport type}
-     * @return List of {@link NetworkRegistrationState}
+     * @param transportType The transport type
+     * @return List of {@link NetworkRegistrationInfo}
      * @hide
      */
     @NonNull
     @SystemApi
-    public List<NetworkRegistrationState> getNetworkRegistrationStatesForTransportType(
-            int transportType) {
-        List<NetworkRegistrationState> list = new ArrayList<>();
+    public List<NetworkRegistrationInfo> getNetworkRegistrationInfoListForTransportType(
+            @TransportType int transportType) {
+        List<NetworkRegistrationInfo> list = new ArrayList<>();
 
-        synchronized (mNetworkRegistrationStates) {
-            for (NetworkRegistrationState networkRegistrationState : mNetworkRegistrationStates) {
-                if (networkRegistrationState.getTransportType() == transportType) {
-                    list.add(networkRegistrationState);
+        synchronized (mNetworkRegistrationInfos) {
+            for (NetworkRegistrationInfo networkRegistrationInfo : mNetworkRegistrationInfos) {
+                if (networkRegistrationInfo.getTransportType() == transportType) {
+                    list.add(networkRegistrationInfo);
                 }
             }
         }
@@ -1811,22 +1801,22 @@
     }
 
     /**
-     * Get the network registration states for the network domain.
+     * Get the network registration info list for the network domain.
      *
-     * @param domain The network {@link NetworkRegistrationState.Domain domain}
-     * @return List of {@link NetworkRegistrationState}
+     * @param domain The network {@link NetworkRegistrationInfo.Domain domain}
+     * @return List of {@link NetworkRegistrationInfo}
      * @hide
      */
     @NonNull
     @SystemApi
-    public List<NetworkRegistrationState> getNetworkRegistrationStatesForDomain(
+    public List<NetworkRegistrationInfo> getNetworkRegistrationInfoListForDomain(
             @Domain int domain) {
-        List<NetworkRegistrationState> list = new ArrayList<>();
+        List<NetworkRegistrationInfo> list = new ArrayList<>();
 
-        synchronized (mNetworkRegistrationStates) {
-            for (NetworkRegistrationState networkRegistrationState : mNetworkRegistrationStates) {
-                if (networkRegistrationState.getDomain() == domain) {
-                    list.add(networkRegistrationState);
+        synchronized (mNetworkRegistrationInfos) {
+            for (NetworkRegistrationInfo networkRegistrationInfo : mNetworkRegistrationInfos) {
+                if (networkRegistrationInfo.getDomain() == domain) {
+                    list.add(networkRegistrationInfo);
                 }
             }
         }
@@ -1837,39 +1827,21 @@
     /**
      * Get the network registration state for the transport type and network domain.
      *
-     * @param domain The network {@link NetworkRegistrationState.Domain domain}
-     * @param transportType The {@link AccessNetworkConstants.TransportType transport type}
-     * @return The matching {@link NetworkRegistrationState}
-     * @hide
-     *
-     * @deprecated Use {@link #getNetworkRegistrationState(int, int)}
-     */
-    @Nullable
-    @Deprecated
-    @SystemApi
-    public NetworkRegistrationState getNetworkRegistrationStates(@Domain int domain,
-                                                                 int transportType) {
-        return getNetworkRegistrationState(domain, transportType);
-    }
-
-    /**
-     * Get the network registration state for the transport type and network domain.
-     *
-     * @param domain The network {@link NetworkRegistrationState.Domain domain}
-     * @param transportType The {@link AccessNetworkConstants.TransportType transport type}
-     * @return The matching {@link NetworkRegistrationState}
+     * @param domain The network {@link NetworkRegistrationInfo.Domain domain}
+     * @param transportType The transport type
+     * @return The matching {@link NetworkRegistrationInfo}
      * @hide
      *
      */
     @Nullable
     @SystemApi
-    public NetworkRegistrationState getNetworkRegistrationState(@Domain int domain,
-                                                                int transportType) {
-        synchronized (mNetworkRegistrationStates) {
-            for (NetworkRegistrationState networkRegistrationState : mNetworkRegistrationStates) {
-                if (networkRegistrationState.getTransportType() == transportType
-                        && networkRegistrationState.getDomain() == domain) {
-                    return networkRegistrationState;
+    public NetworkRegistrationInfo getNetworkRegistrationInfo(@Domain int domain,
+                                                              @TransportType int transportType) {
+        synchronized (mNetworkRegistrationInfos) {
+            for (NetworkRegistrationInfo networkRegistrationInfo : mNetworkRegistrationInfos) {
+                if (networkRegistrationInfo.getTransportType() == transportType
+                        && networkRegistrationInfo.getDomain() == domain) {
+                    return networkRegistrationInfo;
                 }
             }
         }
@@ -1880,20 +1852,20 @@
     /**
      * @hide
      */
-    public void addNetworkRegistrationState(NetworkRegistrationState regState) {
+    public void addNetworkRegistrationInfo(NetworkRegistrationInfo regState) {
         if (regState == null) return;
 
-        synchronized (mNetworkRegistrationStates) {
-            for (int i = 0; i < mNetworkRegistrationStates.size(); i++) {
-                NetworkRegistrationState curRegState = mNetworkRegistrationStates.get(i);
+        synchronized (mNetworkRegistrationInfos) {
+            for (int i = 0; i < mNetworkRegistrationInfos.size(); i++) {
+                NetworkRegistrationInfo curRegState = mNetworkRegistrationInfos.get(i);
                 if (curRegState.getTransportType() == regState.getTransportType()
                         && curRegState.getDomain() == regState.getDomain()) {
-                    mNetworkRegistrationStates.remove(i);
+                    mNetworkRegistrationInfos.remove(i);
                     break;
                 }
             }
 
-            mNetworkRegistrationStates.add(regState);
+            mNetworkRegistrationInfos.add(regState);
         }
     }
 
@@ -1908,15 +1880,15 @@
 
     /**
      * Returns a copy of self with location-identifying information removed.
-     * Always clears the NetworkRegistrationState's CellIdentity fields, but if removeCoarseLocation
+     * Always clears the NetworkRegistrationInfo's CellIdentity fields, but if removeCoarseLocation
      * is true, clears other info as well.
      * @hide
      */
     public ServiceState sanitizeLocationInfo(boolean removeCoarseLocation) {
         ServiceState state = new ServiceState(this);
-        if (state.mNetworkRegistrationStates != null) {
-            state.mNetworkRegistrationStates = state.mNetworkRegistrationStates.stream()
-                    .map(NetworkRegistrationState::sanitizeLocationInfo)
+        if (state.mNetworkRegistrationInfos != null) {
+            state.mNetworkRegistrationInfos = state.mNetworkRegistrationInfos.stream()
+                    .map(NetworkRegistrationInfo::sanitizeLocationInfo)
                     .collect(Collectors.toList());
         }
         if (!removeCoarseLocation) return state;
diff --git a/telephony/java/android/telephony/SignalStrength.java b/telephony/java/android/telephony/SignalStrength.java
index c516d97..480c9d9 100644
--- a/telephony/java/android/telephony/SignalStrength.java
+++ b/telephony/java/android/telephony/SignalStrength.java
@@ -214,7 +214,7 @@
      * @see android.telephony#CellSignalStrengthCdma
      * @see android.telephony#CellSignalStrengthGsm
      */
-    public @NonNull List<CellSignalStrength> getCellSignalStrengths() {
+    @NonNull public List<CellSignalStrength> getCellSignalStrengths() {
         return getCellSignalStrengths(CellSignalStrength.class);
     }
 
@@ -240,7 +240,7 @@
      * @see android.telephony#CellSignalStrengthCdma
      * @see android.telephony#CellSignalStrengthGsm
      */
-    public <T extends CellSignalStrength> @NonNull List<T> getCellSignalStrengths(
+    @NonNull public <T extends CellSignalStrength> List<T> getCellSignalStrengths(
             @NonNull Class<T> clazz) {
         List<T> cssList = new ArrayList<>(2); // Usually have 2 or fewer elems
         if (mLte.isValid() && clazz.isAssignableFrom(CellSignalStrengthLte.class)) {
diff --git a/telephony/java/android/telephony/SmsManager.java b/telephony/java/android/telephony/SmsManager.java
index fae7920..07ffaac 100644
--- a/telephony/java/android/telephony/SmsManager.java
+++ b/telephony/java/android/telephony/SmsManager.java
@@ -322,6 +322,7 @@
      *  <code>RESULT_ERROR_GENERIC_FAILURE</code><br>
      *  <code>RESULT_ERROR_RADIO_OFF</code><br>
      *  <code>RESULT_ERROR_NULL_PDU</code><br>
+     *  <code>RESULT_ERROR_NO_SERVICE</code><br>
      *  For <code>RESULT_ERROR_GENERIC_FAILURE</code> the sentIntent may include
      *  the extra "errorCode" containing a radio technology specific value,
      *  generally only useful for troubleshooting.<br>
@@ -371,19 +372,12 @@
         if (DBG) {
             Log.d(TAG, "for subId: " + subId + ", subscription-info: " + info);
         }
-        if (info == null) {
-            // There is no subscription for the given subId. That can only mean one thing:
-            // the caller is using a SmsManager instance with an obsolete subscription id.
-            // That is most probably because caller didn't invalidate SmsManager instance
-            // for an already deleted subscription id.
-            Log.e(TAG, "subId: " + subId + " for this SmsManager instance is obsolete.");
-            sendErrorInPendingIntent(sentIntent, SmsManager.RESULT_ERROR_NO_SERVICE);
-        }
 
         /* If the Subscription associated with this SmsManager instance belongs to a remote-sim,
          * then send the message thru the remote-sim subscription.
          */
-        if (info.getSubscriptionType() == SubscriptionManager.SUBSCRIPTION_TYPE_REMOTE_SIM) {
+        if (info != null
+                && info.getSubscriptionType() == SubscriptionManager.SUBSCRIPTION_TYPE_REMOTE_SIM) {
             if (DBG) Log.d(TAG, "sending message thru bluetooth");
             sendTextMessageBluetooth(destinationAddress, scAddress, text, sentIntent,
                     deliveryIntent, info);
@@ -391,8 +385,10 @@
         }
 
         try {
+            // If the subscription is invalid or default, we will use the default phone to send the
+            // SMS and possibly fail later in the SMS sending process.
             ISms iccISms = getISmsServiceOrThrow();
-            iccISms.sendTextForSubscriber(getSubscriptionId(), ActivityThread.currentPackageName(),
+            iccISms.sendTextForSubscriber(subId, ActivityThread.currentPackageName(),
                     destinationAddress,
                     scAddress, text, sentIntent, deliveryIntent,
                     persistMessage);
@@ -465,6 +461,9 @@
     }
 
     private void sendErrorInPendingIntent(PendingIntent intent, int errorCode) {
+        if (intent == null) {
+            return;
+        }
         try {
             intent.send(errorCode);
         } catch (PendingIntent.CanceledException e) {
diff --git a/telephony/java/android/telephony/SubscriptionInfo.java b/telephony/java/android/telephony/SubscriptionInfo.java
index fb6f39d..ac11940 100644
--- a/telephony/java/android/telephony/SubscriptionInfo.java
+++ b/telephony/java/android/telephony/SubscriptionInfo.java
@@ -161,11 +161,6 @@
     private String mGroupUUID;
 
     /**
-     *  A property in opportunistic subscription to indicate whether it is metered or not.
-     */
-    private boolean mIsMetered;
-
-    /**
      * Whether group of the subscription is disabled.
      * This is only useful if it's a grouped opportunistic subscription. In this case, if all
      * primary (non-opportunistic) subscriptions in the group are deactivated (unplugged pSIM
@@ -197,7 +192,7 @@
             @Nullable UiccAccessRule[] accessRules, String cardString) {
         this(id, iccId, simSlotIndex, displayName, carrierName, nameSource, iconTint, number,
                 roaming, icon, mcc, mnc, countryIso, isEmbedded, accessRules, cardString,
-                false, null, true, TelephonyManager.UNKNOWN_CARRIER_ID,
+                false, null, TelephonyManager.UNKNOWN_CARRIER_ID,
                 SubscriptionManager.PROFILE_CLASS_DEFAULT);
     }
 
@@ -208,10 +203,10 @@
             CharSequence carrierName, int nameSource, int iconTint, String number, int roaming,
             Bitmap icon, String mcc, String mnc, String countryIso, boolean isEmbedded,
             @Nullable UiccAccessRule[] accessRules, String cardString, boolean isOpportunistic,
-            @Nullable String groupUUID, boolean isMetered, int carrierId, int profileClass) {
+            @Nullable String groupUUID, int carrierId, int profileClass) {
         this(id, iccId, simSlotIndex, displayName, carrierName, nameSource, iconTint, number,
                 roaming, icon, mcc, mnc, countryIso, isEmbedded, accessRules, cardString, -1,
-                isOpportunistic, groupUUID, isMetered, false, carrierId, profileClass,
+                isOpportunistic, groupUUID, false, carrierId, profileClass,
                 SubscriptionManager.SUBSCRIPTION_TYPE_LOCAL_SIM);
     }
 
@@ -222,7 +217,7 @@
             CharSequence carrierName, int nameSource, int iconTint, String number, int roaming,
             Bitmap icon, String mcc, String mnc, String countryIso, boolean isEmbedded,
             @Nullable UiccAccessRule[] accessRules, String cardString, int cardId,
-            boolean isOpportunistic, @Nullable String groupUUID, boolean isMetered,
+            boolean isOpportunistic, @Nullable String groupUUID,
             boolean isGroupDisabled, int carrierId, int profileClass, int subType) {
         this.mId = id;
         this.mIccId = iccId;
@@ -243,7 +238,6 @@
         this.mCardId = cardId;
         this.mIsOpportunistic = isOpportunistic;
         this.mGroupUUID = groupUUID;
-        this.mIsMetered = isMetered;
         this.mIsGroupDisabled = isGroupDisabled;
         this.mCarrierId = carrierId;
         this.mProfileClass = profileClass;
@@ -425,14 +419,14 @@
     /**
      * @return The MCC, as a string.
      */
-    public String getMccString() {
+    public @Nullable String getMccString() {
         return this.mMcc;
     }
 
     /**
      * @return The MNC, as a string.
      */
-    public String getMncString() {
+    public @Nullable String getMncString() {
         return this.mMnc;
     }
 
@@ -472,18 +466,6 @@
     }
 
     /**
-     * Used in opportunistic subscription ({@link #isOpportunistic()}) to indicate whether it's
-     * metered or not.This is one of the factors when deciding to switch to the subscription.
-     * (a non-metered subscription, for example, would likely be preferred over a metered one).
-     *
-     * @return whether subscription is metered.
-     * @hide
-     */
-    public boolean isMetered() {
-        return mIsMetered;
-    }
-
-    /**
      * @return the profile class of this subscription.
      * @hide
      */
@@ -624,7 +606,6 @@
             int cardId = source.readInt();
             boolean isOpportunistic = source.readBoolean();
             String groupUUID = source.readString();
-            boolean isMetered = source.readBoolean();
             boolean isGroupDisabled = source.readBoolean();
             int carrierid = source.readInt();
             int profileClass = source.readInt();
@@ -633,7 +614,7 @@
             return new SubscriptionInfo(id, iccId, simSlotIndex, displayName, carrierName,
                     nameSource, iconTint, number, dataRoaming, iconBitmap, mcc, mnc, countryIso,
                     isEmbedded, accessRules, cardString, cardId, isOpportunistic, groupUUID,
-                    isMetered, isGroupDisabled, carrierid, profileClass, subType);
+                    isGroupDisabled, carrierid, profileClass, subType);
         }
 
         @Override
@@ -663,7 +644,6 @@
         dest.writeInt(mCardId);
         dest.writeBoolean(mIsOpportunistic);
         dest.writeString(mGroupUUID);
-        dest.writeBoolean(mIsMetered);
         dest.writeBoolean(mIsGroupDisabled);
         dest.writeInt(mCarrierId);
         dest.writeInt(mProfileClass);
@@ -703,7 +683,7 @@
                 + " accessRules " + Arrays.toString(mAccessRules)
                 + " cardString=" + cardStringToPrint + " cardId=" + mCardId
                 + " isOpportunistic " + mIsOpportunistic + " mGroupUUID=" + mGroupUUID
-                + " isMetered=" + mIsMetered + " mIsGroupDisabled=" + mIsGroupDisabled
+                + " mIsGroupDisabled=" + mIsGroupDisabled
                 + " profileClass=" + mProfileClass
                 + " subscriptionType=" + mSubscriptionType + "}";
     }
@@ -711,7 +691,7 @@
     @Override
     public int hashCode() {
         return Objects.hash(mId, mSimSlotIndex, mNameSource, mIconTint, mDataRoaming, mIsEmbedded,
-                mIsOpportunistic, mGroupUUID, mIsMetered, mIccId, mNumber, mMcc, mMnc,
+                mIsOpportunistic, mGroupUUID, mIccId, mNumber, mMcc, mMnc,
                 mCountryIso, mCardString, mCardId, mDisplayName, mCarrierName, mAccessRules,
                 mIsGroupDisabled, mCarrierId, mProfileClass);
     }
@@ -737,7 +717,6 @@
                 && mIsOpportunistic == toCompare.mIsOpportunistic
                 && mIsGroupDisabled == toCompare.mIsGroupDisabled
                 && mCarrierId == toCompare.mCarrierId
-                && mIsMetered == toCompare.mIsMetered
                 && Objects.equals(mGroupUUID, toCompare.mGroupUUID)
                 && Objects.equals(mIccId, toCompare.mIccId)
                 && Objects.equals(mNumber, toCompare.mNumber)
diff --git a/telephony/java/android/telephony/SubscriptionManager.java b/telephony/java/android/telephony/SubscriptionManager.java
index d7a0e50..c4c5983 100644
--- a/telephony/java/android/telephony/SubscriptionManager.java
+++ b/telephony/java/android/telephony/SubscriptionManager.java
@@ -2009,21 +2009,27 @@
     }
 
     /**
-     * Checks if the supplied subscription ID is valid.
-     * Note: a valid subscription ID does not necessarily correspond to an active subscription.
+     * Check if the supplied subscription ID is valid.
+     *
+     * <p>A valid subscription ID is not necessarily an active subscription ID
+     * (see {@link #isActiveSubscriptionId(int)}) or an usable subscription ID
+     * (see {@link #isUsableSubscriptionId(int)}). Unless specifically noted, subscription
+     * APIs work with a valid subscription ID.
      *
      * @param subscriptionId The subscription ID.
-     * @return true if the supplied subscriptionId is valid; false otherwise.
+     * @return {@code true} if the supplied subscriptionId is valid; {@code false} otherwise.
      */
     public static boolean isValidSubscriptionId(int subscriptionId) {
         return subscriptionId > INVALID_SUBSCRIPTION_ID;
     }
 
     /**
-     * Check if the subscription ID is usable.
+     * Check if the supplied subscription ID is usable.
      *
-     * A usable subscription ID has a valid value except some special values such as
-     * {@link #DEFAULT_SUBSCRIPTION_ID}. It can be used for subscription functions.
+     * <p>A usable subscription ID is a valid subscription ID, but not necessarily an active
+     * subscription ID (see {@link #isActiveSubscriptionId(int)}). Some subscription APIs
+     * require a usable subscription ID, and this is noted in their documentation; otherwise, a
+     * subscription ID does not need to be usable for subscription functions, only valid.
      *
      * @param subscriptionId the subscription ID
      * @return {@code true} if the subscription ID is usable; {@code false} otherwise.
@@ -2281,7 +2287,8 @@
     }
 
     /**
-     * Checks if the supplied subscription ID corresponds to an active subscription.
+     * Checks if the supplied subscription ID corresponds to a subscription which is actively in
+     * use on the device. An active subscription ID is a valid and usable subscription ID.
      *
      * @param subscriptionId the subscription ID.
      * @return {@code true} if the supplied subscription ID corresponds to an active subscription;
@@ -2600,7 +2607,7 @@
     @SystemApi
     @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
     public void setPreferredDataSubscriptionId(int subId, boolean needValidation,
-            @NonNull @CallbackExecutor Executor executor, Consumer<Integer> callback) {
+            @Nullable @CallbackExecutor Executor executor, @Nullable  Consumer<Integer> callback) {
         if (VDBG) logd("[setPreferredDataSubscriptionId]+ subId:" + subId);
         try {
             ISub iSub = ISub.Stub.asInterface(ServiceManager.getService("isub"));
@@ -2609,10 +2616,11 @@
             ISetOpportunisticDataCallback callbackStub = new ISetOpportunisticDataCallback.Stub() {
                 @Override
                 public void onComplete(int result) {
+                    if (executor == null || callback == null) {
+                        return;
+                    }
                     Binder.withCleanCallingIdentity(() -> executor.execute(() -> {
-                        if (callback != null) {
-                            callback.accept(result);
-                        }
+                        callback.accept(result);
                     }));
                 }
             };
@@ -2705,7 +2713,8 @@
      *  1) Even if it's active, it will be dormant most of the time. The modem will not try
      *     to scan or camp until it knows an available network is nearby to save power.
      *  2) Telephony relies on system app or carrier input to notify nearby available networks.
-     *     See {@link TelephonyManager#updateAvailableNetworks(List)} for more information.
+     *     See {@link TelephonyManager#updateAvailableNetworks(List, Executor, Consumer)}
+     *     for more information.
      *  3) In multi-SIM devices, when the network is nearby and camped, system may automatically
      *     switch internet data between it and default data subscription, based on carrier
      *     recommendation and its signal strength and metered-ness, etc.
@@ -2844,29 +2853,6 @@
     }
 
     /**
-     * Set if a subscription is metered or not. Similar to Wi-Fi, metered means
-     * user may be charged more if more data is used.
-     *
-     * By default all Cellular networks are considered metered. System or carrier privileged apps
-     * can set a subscription un-metered which will be considered when system switches data between
-     * primary subscription and opportunistic subscription.
-     *
-     * Caller will either have {@link android.Manifest.permission#MODIFY_PHONE_STATE} or carrier
-     * privilege permission of the subscription.
-     *
-     * @param isMetered whether it’s a metered subscription.
-     * @param subId the unique SubscriptionInfo index in database
-     * @return {@code true} if the operation is succeed, {@code false} otherwise.
-     */
-    @SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges
-    @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
-    public boolean setMetered(boolean isMetered, int subId) {
-        if (VDBG) logd("[setIsMetered]+ isMetered:" + isMetered + " subId:" + subId);
-        return setSubscriptionPropertyHelper(subId, "setIsMetered",
-                (iSub)-> iSub.setMetered(isMetered, subId, mContext.getOpPackageName())) == 1;
-    }
-
-    /**
      * Whether a subscription is visible to API caller. If it's a bundled opportunistic
      * subscription, it should be hidden anywhere in Settings, dialer, status bar etc.
      * Exception is if caller owns carrier privilege, in which case they will
@@ -2937,7 +2923,7 @@
     }
 
     /**
-     * Enabled or disable a subscription. This is currently used in the settings page.
+     * Enables or disables a subscription. This is currently used in the settings page.
      *
      * <p>
      * Permissions android.Manifest.permission.MODIFY_PHONE_STATE is required
diff --git a/telephony/java/android/telephony/TelephonyManager.java b/telephony/java/android/telephony/TelephonyManager.java
index aaf5f33..c91f16b 100644
--- a/telephony/java/android/telephony/TelephonyManager.java
+++ b/telephony/java/android/telephony/TelephonyManager.java
@@ -58,6 +58,8 @@
 import android.os.WorkSource;
 import android.provider.Settings.SettingNotFoundException;
 import android.service.carrier.CarrierIdentifier;
+import android.telecom.CallScreeningService;
+import android.telecom.InCallService;
 import android.telecom.PhoneAccount;
 import android.telecom.PhoneAccountHandle;
 import android.telecom.TelecomManager;
@@ -81,8 +83,10 @@
 import com.android.internal.telephony.INumberVerificationCallback;
 import com.android.internal.telephony.IOns;
 import com.android.internal.telephony.IPhoneSubInfo;
+import com.android.internal.telephony.ISetOpportunisticDataCallback;
 import com.android.internal.telephony.ITelephony;
 import com.android.internal.telephony.ITelephonyRegistry;
+import com.android.internal.telephony.IUpdateAvailableNetworksCallback;
 import com.android.internal.telephony.OperatorInfo;
 import com.android.internal.telephony.PhoneConstants;
 import com.android.internal.telephony.RILConstants;
@@ -94,10 +98,12 @@
 import java.lang.annotation.RetentionPolicy;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
 import java.util.concurrent.Executor;
+import java.util.function.Consumer;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
@@ -613,7 +619,13 @@
      * <p class="note">
      * Retrieve with
      * {@link android.content.Intent#getStringExtra(String)}.
+     * <p>
+     *
+     * @deprecated Companion apps for wearable devices should use the {@link InCallService} API
+     * to retrieve the phone number for calls instead.  Apps performing call screening should use
+     * the {@link CallScreeningService} API instead.
      */
+    @Deprecated
     public static final String EXTRA_INCOMING_NUMBER = "incoming_number";
 
     /**
@@ -1246,30 +1258,34 @@
     public static final String EXTRA_CARRIER_NAME = "android.telephony.extra.CARRIER_NAME";
 
     /**
-     * Broadcast Action: The subscription precise carrier identity has changed.
-     * The precise carrier id can be used to further differentiate a carrier by different
-     * networks, by prepaid v.s.postpaid or even by 4G v.s.3G plan. Each carrier has a unique
-     * carrier id returned by {@link #getSimCarrierId()} but could have multiple precise carrier id.
-     * e.g, {@link #getSimCarrierId()} will always return Tracfone (id 2022) for a Tracfone SIM,
-     * while {@link #getSimPreciseCarrierId()} can return Tracfone AT&T or Tracfone T-Mobile based
-     * on the current subscription IMSI. For carriers without any fine-grained ids, precise carrier
-     * id is same as carrier id.
+     * Broadcast Action: The subscription specific carrier identity has changed.
+     *
+     * A specific carrier ID returns the fine-grained carrier ID of the current subscription.
+     * It can represent the fact that a carrier may be in effect an aggregation of other carriers
+     * (ie in an MVNO type scenario) where each of these specific carriers which are used to make
+     * up the actual carrier service may have different carrier configurations.
+     * A specific carrier ID could also be used, for example, in a scenario where a carrier requires
+     * different carrier configuration for different service offering such as a prepaid plan.
+     *
+     * the specific carrier ID would be used for configuration purposes, but apps wishing to know
+     * about the carrier itself should use the regular carrier ID returned by
+     * {@link #getSimCarrierId()}.
      *
      * <p>Similar like {@link #ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED}, this intent will be
      * sent on the event of {@link #ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED} while its also
      * possible to be sent without {@link #ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED} when
-     * precise carrier id changes with the same carrier id.
+     * specific carrier ID changes while carrier ID remains the same.
      * e.g, the same subscription switches to different IMSI could potentially change its
-     * precise carrier id while carrier id remains the same.
-     * @see #getSimPreciseCarrierId()
+     * specific carrier ID while carrier id remains the same.
+     * @see #getSimSpecificCarrierId()
      * @see #getSimCarrierId()
      *
      * The intent will have the following extra values:
      * <ul>
-     *   <li>{@link #EXTRA_PRECISE_CARRIER_ID} The up-to-date precise carrier id of the
+     *   <li>{@link #EXTRA_SPECIFIC_CARRIER_ID} The up-to-date specific carrier id of the
      *   current subscription.
      *   </li>
-     *   <li>{@link #EXTRA_PRECISE_CARRIER_NAME} The up-to-date name of the precise carrier id.
+     *   <li>{@link #EXTRA_SPECIFIC_CARRIER_NAME} The up-to-date name of the specific carrier id.
      *   </li>
      *   <li>{@link #EXTRA_SUBSCRIPTION_ID} The subscription id associated with the changed carrier
      *   identity.
@@ -1278,30 +1294,30 @@
      * <p class="note">This is a protected intent that can only be sent by the system.
      */
     @SdkConstant(SdkConstantType.BROADCAST_INTENT_ACTION)
-    public static final String ACTION_SUBSCRIPTION_PRECISE_CARRIER_IDENTITY_CHANGED =
-            "android.telephony.action.SUBSCRIPTION_PRECISE_CARRIER_IDENTITY_CHANGED";
+    public static final String ACTION_SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED =
+            "android.telephony.action.SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED";
 
     /**
-     * An int extra used with {@link #ACTION_SUBSCRIPTION_PRECISE_CARRIER_IDENTITY_CHANGED} which
-     * indicates the updated precise carrier id returned by
-     * {@link TelephonyManager#getSimPreciseCarrierId()}. Note, its possible precise carrier id
+     * An int extra used with {@link #ACTION_SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED} which
+     * indicates the updated specific carrier id returned by
+     * {@link TelephonyManager#getSimSpecificCarrierId()}. Note, its possible specific carrier id
      * changes while {@link #ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED} remains the same
      * e.g, when subscription switch to different IMSIs.
      * <p>Will be {@link TelephonyManager#UNKNOWN_CARRIER_ID} if the subscription is unavailable or
      * the carrier cannot be identified.
      */
-    public static final String EXTRA_PRECISE_CARRIER_ID =
-            "android.telephony.extra.PRECISE_CARRIER_ID";
+    public static final String EXTRA_SPECIFIC_CARRIER_ID =
+            "android.telephony.extra.SPECIFIC_CARRIER_ID";
 
     /**
-     * An string extra used with {@link #ACTION_SUBSCRIPTION_PRECISE_CARRIER_IDENTITY_CHANGED} which
-     * indicates the updated precise carrier name returned by
-     * {@link TelephonyManager#getSimPreciseCarrierIdName()}.
-     * <p>it's a user-facing name of the precise carrier id {@link #EXTRA_PRECISE_CARRIER_ID}, e.g,
-     * Tracfone-AT&T.
+     * An string extra used with {@link #ACTION_SUBSCRIPTION_SPECIFIC_CARRIER_IDENTITY_CHANGED}
+     * which indicates the updated specific carrier name returned by
+     * {@link TelephonyManager#getSimSpecificCarrierIdName()}.
+     * <p>it's a user-facing name of the specific carrier id {@link #EXTRA_SPECIFIC_CARRIER_ID}
+     * e.g, Tracfone-AT&T
      */
-    public static final String EXTRA_PRECISE_CARRIER_NAME =
-            "android.telephony.extra.PRECISE_CARRIER_NAME";
+    public static final String EXTRA_SPECIFIC_CARRIER_NAME =
+            "android.telephony.extra.SPECIFIC_CARRIER_NAME";
 
     /**
      * An int extra used with {@link #ACTION_SUBSCRIPTION_CARRIER_IDENTITY_CHANGED} to indicate the
@@ -1375,41 +1391,42 @@
      * in the application manifest. For performance reasons, if no application to receive these
      * events is detected at boot, then these events will not be sent.
      *
-     * <p>Each event will include an {@link EXTRA_DEBUG_EVENT_ID} that will uniquely identify the
+     * <p>Each event will include an {@link EXTRA_ANOMALY_ID} that will uniquely identify the
      * event that has occurred. Each event will be sent to the diagnostic monitor only once per
      * boot cycle (as another optimization).
      *
-     * @see #EXTRA_DEBUG_EVENT_ID
-     * @see #EXTRA_DEBUG_EVENT_DESCRIPTION
+     * @see #EXTRA_ANOMALY_ID
+     * @see #EXTRA_ANOMALY_DESCRIPTION
      * @hide
      */
     @SystemApi
     @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
-    public static final String ACTION_DEBUG_EVENT = "android.telephony.action.DEBUG_EVENT";
+    public static final String ACTION_ANOMALY_REPORTED =
+            "android.telephony.action.ANOMALY_REPORTED";
 
     /**
      * An arbitrary ParcelUuid which should be consistent for each occurrence of a DebugEvent.
      *
-     * This field must be included in all {@link ACTION_DEBUG_EVENT} events.
+     * This field must be included in all {@link ACTION_ANOMALY_REPORTED} events.
      *
-     * @see #ACTION_DEBUG_EVENT
+     * @see #ACTION_ANOMALY_REPORTED
      * @hide
      */
     @SystemApi
-    public static final String EXTRA_DEBUG_EVENT_ID = "android.telephony.extra.DEBUG_EVENT_ID";
+    public static final String EXTRA_ANOMALY_ID = "android.telephony.extra.ANOMALY_ID";
 
     /**
-     * A freeform string description of the DebugEvent.
+     * A freeform string description of the Anomaly.
      *
-     * This field is optional for all {@link ACTION_DEBUG_EVENT}s, as a guideline should not
+     * This field is optional for all {@link ACTION_ANOMALY_REPORTED}s, as a guideline should not
      * exceed 80 characters, and should be as short as possible to convey the essence of the event.
      *
-     * @see #ACTION_DEBUG_EVENT
+     * @see #ACTION_ANOMALY_REPORTED
      * @hide
      */
     @SystemApi
-    public static final String EXTRA_DEBUG_EVENT_DESCRIPTION =
-            "android.telephony.extra.DEBUG_EVENT_DESCRIPTION";
+    public static final String EXTRA_ANOMALY_DESCRIPTION =
+            "android.telephony.extra.ANOMALY_DESCRIPTION";
 
     //
     //
@@ -3337,26 +3354,25 @@
     }
 
     /**
-     * Get the mapping from logical slots to physical slots. The mapping represent by a pair list.
-     * The key of the piar is the logical slot id and the value of the pair is the physical
-     * slots id mapped to this logical slot id.
+     * Get the mapping from logical slots to physical slots. The key of the map is the logical slot
+     * id and the value is the physical slots id mapped to this logical slot id.
      *
-     * @return an pair list indicates the mapping from logical slots to physical slots. The size of
-     * the list should be {@link #getPhoneCount()} if success, otherwise return an empty list.
+     * @return a map indicates the mapping from logical slots to physical slots. The size of the map
+     * should be {@link #getPhoneCount()} if success, otherwise return an empty map.
      *
      * @hide
      */
     @SystemApi
     @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
     @NonNull
-    public List<Pair<Integer, Integer>> getLogicalToPhysicalSlotMapping() {
-        List<Pair<Integer, Integer>> slotMapping = new ArrayList<>();
+    public Map<Integer, Integer> getLogicalToPhysicalSlotMapping() {
+        Map<Integer, Integer> slotMapping = new HashMap<>();
         try {
             ITelephony telephony = getITelephony();
             if (telephony != null) {
                 int[] slotMappingArray = telephony.getSlotsMapping();
                 for (int i = 0; i < slotMappingArray.length; i++) {
-                    slotMapping.add(new Pair(i, slotMappingArray[i]));
+                    slotMapping.put(i, slotMappingArray[i]);
                 }
             }
         } catch (RemoteException e) {
@@ -5180,6 +5196,40 @@
     }
 
     /**
+     * Opens a logical channel to the ICC card using the physical slot index.
+     *
+     * Use this method when no subscriptions are available on the SIM and the operation must be
+     * performed using the physical slot index.
+     *
+     * Input parameters equivalent to TS 27.007 AT+CCHO command.
+     *
+     * <p>Requires Permission:
+     * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}.
+     *
+     * @param slotIndex the physical slot index of the ICC card
+     * @param aid Application id. See ETSI 102.221 and 101.220.
+     * @param p2 P2 parameter (described in ISO 7816-4).
+     * @return an IccOpenLogicalChannelResponse object.
+     * @hide
+     */
+    @RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
+    @SystemApi
+    @Nullable
+    public IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot(int slotIndex,
+            @Nullable String aid, int p2) {
+        try {
+            ITelephony telephony = getITelephony();
+            if (telephony != null) {
+                return telephony.iccOpenLogicalChannelBySlot(slotIndex, getOpPackageName(), aid,
+                        p2);
+            }
+        } catch (RemoteException ex) {
+        } catch (NullPointerException ex) {
+        }
+        return null;
+    }
+
+    /**
      * Opens a logical channel to the ICC card.
      *
      * Input parameters equivalent to TS 27.007 AT+CCHO command.
@@ -5223,6 +5273,38 @@
     }
 
     /**
+     * Closes a previously opened logical channel to the ICC card using the physical slot index.
+     *
+     * Use this method when no subscriptions are available on the SIM and the operation must be
+     * performed using the physical slot index.
+     *
+     * Input parameters equivalent to TS 27.007 AT+CCHC command.
+     *
+     * <p>Requires Permission:
+     * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}.
+     *
+     * @param slotIndex the physical slot index of the ICC card
+     * @param channel is the channel id to be closed as returned by a successful
+     *            iccOpenLogicalChannel.
+     * @return true if the channel was closed successfully.
+     * @hide
+     */
+    @RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
+    @SystemApi
+    @Nullable
+    public boolean iccCloseLogicalChannelBySlot(int slotIndex, int channel) {
+        try {
+            ITelephony telephony = getITelephony();
+            if (telephony != null) {
+                return telephony.iccCloseLogicalChannelBySlot(slotIndex, channel);
+            }
+        } catch (RemoteException ex) {
+        } catch (NullPointerException ex) {
+        }
+        return false;
+    }
+
+    /**
      * Closes a previously opened logical channel to the ICC card.
      *
      * Input parameters equivalent to TS 27.007 AT+CCHC command.
@@ -5231,7 +5313,7 @@
      * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} or that the calling
      * app has carrier privileges (see {@link #hasCarrierPrivileges}).
      *
-     * @param channel is the channel id to be closed as retruned by a successful
+     * @param channel is the channel id to be closed as returned by a successful
      *            iccOpenLogicalChannel.
      * @return true if the channel was closed successfully.
      */
@@ -5249,7 +5331,7 @@
      * app has carrier privileges (see {@link #hasCarrierPrivileges}).
      *
      * @param subId The subscription to use.
-     * @param channel is the channel id to be closed as retruned by a successful
+     * @param channel is the channel id to be closed as returned by a successful
      *            iccOpenLogicalChannel.
      * @return true if the channel was closed successfully.
      * @hide
@@ -5266,6 +5348,48 @@
     }
 
     /**
+     * Transmit an APDU to the ICC card over a logical channel using the physical slot index.
+     *
+     * Use this method when no subscriptions are available on the SIM and the operation must be
+     * performed using the physical slot index.
+     *
+     * Input parameters equivalent to TS 27.007 AT+CGLA command.
+     *
+     * <p>Requires Permission:
+     * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}.
+     *
+     * @param slotIndex the physical slot index of the ICC card
+     * @param channel is the channel id to be closed as returned by a successful
+     *            iccOpenLogicalChannel.
+     * @param cla Class of the APDU command.
+     * @param instruction Instruction of the APDU command.
+     * @param p1 P1 value of the APDU command.
+     * @param p2 P2 value of the APDU command.
+     * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU
+     *            is sent to the SIM.
+     * @param data Data to be sent with the APDU.
+     * @return The APDU response from the ICC card with the status appended at
+     *            the end.
+     * @hide
+     */
+    @RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
+    @SystemApi
+    @Nullable
+    public String iccTransmitApduLogicalChannelBySlot(int slotIndex, int channel, int cla,
+            int instruction, int p1, int p2, int p3, @Nullable String data) {
+        try {
+            ITelephony telephony = getITelephony();
+            if (telephony != null) {
+                return telephony.iccTransmitApduLogicalChannelBySlot(slotIndex, channel, cla,
+                        instruction, p1, p2, p3, data);
+            }
+        } catch (RemoteException ex) {
+        } catch (NullPointerException ex) {
+        }
+        return null;
+    }
+
+    /**
      * Transmit an APDU to the ICC card over a logical channel.
      *
      * Input parameters equivalent to TS 27.007 AT+CGLA command.
@@ -5329,6 +5453,46 @@
     }
 
     /**
+     * Transmit an APDU to the ICC card over the basic channel using the physical slot index.
+     *
+     * Use this method when no subscriptions are available on the SIM and the operation must be
+     * performed using the physical slot index.
+     *
+     * Input parameters equivalent to TS 27.007 AT+CSIM command.
+     *
+     * <p>Requires Permission:
+     * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}.
+     *
+     * @param slotIndex the physical slot index of the ICC card to target
+     * @param cla Class of the APDU command.
+     * @param instruction Instruction of the APDU command.
+     * @param p1 P1 value of the APDU command.
+     * @param p2 P2 value of the APDU command.
+     * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU
+     *            is sent to the SIM.
+     * @param data Data to be sent with the APDU.
+     * @return The APDU response from the ICC card with the status appended at
+     *            the end.
+     * @hide
+     */
+    @RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
+    @SystemApi
+    @NonNull
+    public String iccTransmitApduBasicChannelBySlot(int slotIndex, int cla, int instruction, int p1,
+            int p2, int p3, @Nullable String data) {
+        try {
+            ITelephony telephony = getITelephony();
+            if (telephony != null) {
+                return telephony.iccTransmitApduBasicChannelBySlot(slotIndex, getOpPackageName(),
+                        cla, instruction, p1, p2, p3, data);
+            }
+        } catch (RemoteException ex) {
+        } catch (NullPointerException ex) {
+        }
+        return null;
+    }
+
+    /**
      * Transmit an APDU to the ICC card over the basic channel.
      *
      * Input parameters equivalent to TS 27.007 AT+CSIM command.
@@ -5995,7 +6159,7 @@
         // FIXME Need to get it from Telephony Dev Controller when that gets implemented!
         // and then this method shouldn't be used at all!
         if(isMultiSimEnabled()) {
-            return 2;
+            return getPhoneCount();
         } else {
             return 1;
         }
@@ -6617,14 +6781,12 @@
             }
         } catch (RemoteException ex) {
             Rlog.e(TAG, "getPreferredNetworkType RemoteException", ex);
-        } catch (NullPointerException ex) {
-            Rlog.e(TAG, "getPreferredNetworkType NPE", ex);
         }
         return -1;
     }
 
     /**
-     * Get the preferred network type bitmap.
+     * Get the preferred network type bitmask.
      *
      * <p>If this object has been created with {@link #createForSubscriptionId}, applies to the
      * given subId. Otherwise, applies to {@link SubscriptionManager#getDefaultSubscriptionId()}
@@ -6633,13 +6795,13 @@
      * {@link android.Manifest.permission#READ_PRIVILEGED_PHONE_STATE READ_PRIVILEGED_PHONE_STATE}
      * or that the calling app has carrier privileges (see {@link #hasCarrierPrivileges}).
      *
-     * @return The bitmap of preferred network types.
+     * @return The bitmask of preferred network types.
      *
      * @hide
      */
     @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
     @SystemApi
-    public @NetworkTypeBitMask long getPreferredNetworkTypeBitmap() {
+    public @NetworkTypeBitMask long getPreferredNetworkTypeBitmask() {
         try {
             ITelephony telephony = getITelephony();
             if (telephony != null) {
@@ -6647,9 +6809,7 @@
                         telephony.getPreferredNetworkType(getSubId()));
             }
         } catch (RemoteException ex) {
-            Rlog.e(TAG, "getPreferredNetworkTypeBitmap RemoteException", ex);
-        } catch (NullPointerException ex) {
-            Rlog.e(TAG, "getPreferredNetworkTypeBitmap NPE", ex);
+            Rlog.e(TAG, "getPreferredNetworkTypeBitmask RemoteException", ex);
         }
         return 0;
     }
@@ -6861,12 +7021,12 @@
      * app has carrier privileges (see {@link #hasCarrierPrivileges}).
      *
      * @param subId the id of the subscription to set the preferred network type for.
-     * @param networkType the preferred network type, defined in RILConstants.java.
+     * @param networkType the preferred network type
      * @return true on success; false on any failure.
      * @hide
      */
     @UnsupportedAppUsage
-    public boolean setPreferredNetworkType(int subId, int networkType) {
+    public boolean setPreferredNetworkType(int subId, @PrefNetworkMode int networkType) {
         try {
             ITelephony telephony = getITelephony();
             if (telephony != null) {
@@ -6874,14 +7034,12 @@
             }
         } catch (RemoteException ex) {
             Rlog.e(TAG, "setPreferredNetworkType RemoteException", ex);
-        } catch (NullPointerException ex) {
-            Rlog.e(TAG, "setPreferredNetworkType NPE", ex);
         }
         return false;
     }
 
     /**
-     * Set the preferred network type bitmap.
+     * Set the preferred network type bitmask.
      *
      * <p>If this object has been created with {@link #createForSubscriptionId}, applies to the
      * given subId. Otherwise, applies to {@link SubscriptionManager#getDefaultSubscriptionId()}
@@ -6890,24 +7048,22 @@
      * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} or that the calling
      * app has carrier privileges (see {@link #hasCarrierPrivileges}).
      *
-     * @param networkTypeBitmap The bitmap of preferred network types.
+     * @param networkTypeBitmask The bitmask of preferred network types.
      * @return true on success; false on any failure.
      * @hide
      */
     @RequiresPermission(android.Manifest.permission.MODIFY_PHONE_STATE)
     @SystemApi
-    public boolean setPreferredNetworkTypeBitmap(@NetworkTypeBitMask long networkTypeBitmap) {
+    public boolean setPreferredNetworkTypeBitmask(@NetworkTypeBitMask long networkTypeBitmask) {
         try {
             ITelephony telephony = getITelephony();
             if (telephony != null) {
                 return telephony.setPreferredNetworkType(
                         getSubId(), RadioAccessFamily.getNetworkTypeFromRaf(
-                                (int) networkTypeBitmap));
+                                (int) networkTypeBitmask));
             }
         } catch (RemoteException ex) {
-            Rlog.e(TAG, "setPreferredNetworkType RemoteException", ex);
-        } catch (NullPointerException ex) {
-            Rlog.e(TAG, "setPreferredNetworkType NPE", ex);
+            Rlog.e(TAG, "setPreferredNetworkTypeBitmask RemoteException", ex);
         }
         return false;
     }
@@ -8137,7 +8293,7 @@
      * @see SubscriptionManager#getDefaultSubscriptionId()
      * @hide
      */
-    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P)
+    @UnsupportedAppUsage
     public boolean isVolteAvailable() {
         try {
             return getITelephony().isAvailable(getSubId(),
@@ -8156,7 +8312,7 @@
      * @return true if VT is available, or false if it is unavailable or unknown.
      * @hide
      */
-    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P)
+    @UnsupportedAppUsage
     public boolean isVideoTelephonyAvailable() {
         try {
             return getITelephony().isVideoTelephonyAvailable(getSubId());
@@ -8171,7 +8327,7 @@
      * @return true if VoWiFi is available, or false if it is unavailable or unknown.
      * @hide
      */
-    @UnsupportedAppUsage(maxTargetSdk = Build.VERSION_CODES.P)
+    @UnsupportedAppUsage
     public boolean isWifiCallingAvailable() {
        try {
            return getITelephony().isWifiCallingAvailable(getSubId());
@@ -8938,17 +9094,23 @@
     }
 
     /**
-     * Returns fine-grained carrier id of the current subscription.
+     * Returns fine-grained carrier ID of the current subscription.
      *
-     * <p>The precise carrier id can be used to further differentiate a carrier by different
-     * networks, by prepaid v.s.postpaid or even by 4G v.s.3G plan. Each carrier has a unique
-     * carrier id returned by {@link #getSimCarrierId()} but could have multiple precise carrier id.
-     * e.g, {@link #getSimCarrierId()} will always return Tracfone (id 2022) for a Tracfone SIM,
-     * while {@link #getSimPreciseCarrierId()} can return Tracfone AT&T or Tracfone T-Mobile based
-     * on the current subscription IMSI.
+     * A specific carrier ID can represent the fact that a carrier may be in effect an aggregation
+     * of other carriers (ie in an MVNO type scenario) where each of these specific carriers which
+     * are used to make up the actual carrier service may have different carrier configurations.
+     * A specific carrier ID could also be used, for example, in a scenario where a carrier requires
+     * different carrier configuration for different service offering such as a prepaid plan.
      *
-     * <p>For carriers without any fine-grained carrier ids, return {@link #getSimCarrierId()}
-     * <p>Precise carrier ids are defined in the same way as carrier id
+     * the specific carrier ID would be used for configuration purposes, but apps wishing to know
+     * about the carrier itself should use the regular carrier ID returned by
+     * {@link #getSimCarrierId()}.
+     *
+     * e.g, Tracfone SIMs could return different specific carrier ID based on IMSI from current
+     * subscription while carrier ID remains the same.
+     *
+     * <p>For carriers without fine-grained specific carrier ids, return {@link #getSimCarrierId()}
+     * <p>Specific carrier ids are defined in the same way as carrier id
      * <a href="https://android.googlesource.com/platform/packages/providers/TelephonyProvider/+/master/assets/carrier_list.textpb">here</a>
      * except each with a "parent" id linking to its top-level carrier id.
      *
@@ -8956,11 +9118,11 @@
      * Return {@link #UNKNOWN_CARRIER_ID} if the subscription is unavailable or the carrier cannot
      * be identified.
      */
-    public int getSimPreciseCarrierId() {
+    public int getSimSpecificCarrierId() {
         try {
             ITelephony service = getITelephony();
             if (service != null) {
-                return service.getSubscriptionPreciseCarrierId(getSubId());
+                return service.getSubscriptionSpecificCarrierId(getSubId());
             }
         } catch (RemoteException ex) {
             // This could happen if binder process crashes.
@@ -8970,18 +9132,22 @@
 
     /**
      * Similar like {@link #getSimCarrierIdName()}, returns user-facing name of the
-     * precise carrier id returned by {@link #getSimPreciseCarrierId()}.
+     * specific carrier id returned by {@link #getSimSpecificCarrierId()}.
+     *
+     * The specific carrier ID would be used for configuration purposes, but apps wishing to know
+     * about the carrier itself should use the regular carrier ID returned by
+     * {@link #getSimCarrierIdName()}.
      *
      * <p>The returned name is unlocalized.
      *
-     * @return user-facing name of the subscription precise carrier id. Return {@code null} if the
+     * @return user-facing name of the subscription specific carrier id. Return {@code null} if the
      * subscription is unavailable or the carrier cannot be identified.
      */
-    public @Nullable CharSequence getSimPreciseCarrierIdName() {
+    public @Nullable CharSequence getSimSpecificCarrierIdName() {
         try {
             ITelephony service = getITelephony();
             if (service != null) {
-                return service.getSubscriptionPreciseCarrierName(getSubId());
+                return service.getSubscriptionSpecificCarrierName(getSubId());
             }
         } catch (RemoteException ex) {
             // This could happen if binder process crashes.
@@ -9699,8 +9865,11 @@
      * <p>Requires Permission:
      *   {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
      *
+     *
+     * @deprecated
      * @hide
      */
+    @Deprecated
     @TestApi
     public void setCarrierTestOverride(String mccmnc, String imsi, String iccid, String gid1,
             String gid2, String plmn, String spn) {
@@ -9708,7 +9877,35 @@
             ITelephony telephony = getITelephony();
             if (telephony != null) {
                 telephony.setCarrierTestOverride(
-                        getSubId(), mccmnc, imsi, iccid, gid1, gid2, plmn, spn);
+                        getSubId(), mccmnc, imsi, iccid, gid1, gid2, plmn, spn,
+                        null, null);
+            }
+        } catch (RemoteException ex) {
+            // This could happen if binder process crashes.
+        }
+    }
+
+    /**
+     * A test API to override carrier information including mccmnc, imsi, iccid, gid1, gid2,
+     * plmn, spn, apn and carrier priviledge. This would be handy for, eg, forcing a particular
+     * carrier id, carrier's config (also any country or carrier overlays) to be loaded when using
+     * a test SIM with a call box.
+     *
+     * <p>Requires Permission:
+     *   {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}
+     *
+     * @hide
+     */
+    @TestApi
+    public void setCarrierTestOverride(String mccmnc, String imsi, String iccid, String gid1,
+                                       String gid2, String plmn, String spn,
+                                       String carrierPriviledgeRules, String apn) {
+        try {
+            ITelephony telephony = getITelephony();
+            if (telephony != null) {
+                telephony.setCarrierTestOverride(
+                        getSubId(), mccmnc, imsi, iccid, gid1, gid2, plmn, spn,
+                        carrierPriviledgeRules, apn);
             }
         } catch (RemoteException ex) {
             // This could happen if binder process crashes.
@@ -9746,7 +9943,7 @@
             ITelephony telephony = getITelephony();
             if (telephony != null) {
                 return telephony.getNumberOfModemsWithSimultaneousDataConnections(
-                        getSubId(), mContext.getOpPackageName());
+                        getSubId(), getOpPackageName());
             }
         } catch (RemoteException ex) {
             // This could happen if binder process crashes.
@@ -10013,18 +10210,21 @@
      * a SecurityException if the caller does not have the permission.
      */
     @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
-    @Nullable
-    public Map<Integer, List<EmergencyNumber>> getCurrentEmergencyNumberList() {
+    @NonNull
+    public Map<Integer, List<EmergencyNumber>> getEmergencyNumberList() {
+        Map<Integer, List<EmergencyNumber>> emergencyNumberList = new HashMap<>();
         try {
             ITelephony telephony = getITelephony();
-            if (telephony == null) {
-                return null;
+            if (telephony != null) {
+                return telephony.getEmergencyNumberList(mContext.getOpPackageName());
+            } else {
+                throw new IllegalStateException("telephony service is null.");
             }
-            return telephony.getCurrentEmergencyNumberList(mContext.getOpPackageName());
         } catch (RemoteException ex) {
-            Log.e(TAG, "getCurrentEmergencyNumberList RemoteException", ex);
+            Log.e(TAG, "getEmergencyNumberList RemoteException", ex);
+            ex.rethrowAsRuntimeException();
         }
-        return null;
+        return emergencyNumberList;
     }
 
     /**
@@ -10063,53 +10263,63 @@
      * a SecurityException if the caller does not have the permission.
      */
     @RequiresPermission(android.Manifest.permission.READ_PHONE_STATE)
-    @Nullable
-    public Map<Integer, List<EmergencyNumber>> getCurrentEmergencyNumberList(
+    @NonNull
+    public Map<Integer, List<EmergencyNumber>> getEmergencyNumberList(
             @EmergencyServiceCategories int categories) {
+        Map<Integer, List<EmergencyNumber>> emergencyNumberList = new HashMap<>();
         try {
             ITelephony telephony = getITelephony();
-            if (telephony == null) {
-                return null;
-            }
-            Map<Integer, List<EmergencyNumber>> numberMap = telephony
-                    .getCurrentEmergencyNumberList(mContext.getOpPackageName());
-            if (numberMap != null) {
-                for (Integer subscriptionId : numberMap.keySet()) {
-                    List<EmergencyNumber> numberList = numberMap.get(subscriptionId);
-                    for (EmergencyNumber number : numberList) {
-                        if (!number.isInEmergencyServiceCategories(categories)) {
-                            numberList.remove(number);
+            if (telephony != null) {
+                emergencyNumberList = telephony.getEmergencyNumberList(
+                        mContext.getOpPackageName());
+                if (emergencyNumberList != null) {
+                    for (Integer subscriptionId : emergencyNumberList.keySet()) {
+                        List<EmergencyNumber> numberList = emergencyNumberList.get(subscriptionId);
+                        for (EmergencyNumber number : numberList) {
+                            if (!number.isInEmergencyServiceCategories(categories)) {
+                                numberList.remove(number);
+                            }
                         }
                     }
                 }
+                return emergencyNumberList;
+            } else {
+                throw new IllegalStateException("telephony service is null.");
             }
-            return numberMap;
         } catch (RemoteException ex) {
-            Log.e(TAG, "getCurrentEmergencyNumberList with Categories RemoteException", ex);
+            Log.e(TAG, "getEmergencyNumberList with Categories RemoteException", ex);
+            ex.rethrowAsRuntimeException();
         }
-        return null;
+        return emergencyNumberList;
     }
 
     /**
-     * Checks if the supplied number is an emergency number based on current locale, sim, default,
-     * modem and network.
+     * Identifies if the supplied phone number is an emergency number that matches a known
+     * emergency number based on current locale, SIM card(s), Android database, modem, network,
+     * or defaults.
+     *
+     * <p>This method assumes that only dialable phone numbers are passed in; non-dialable
+     * numbers are not considered emergency numbers. A dialable phone number consists only
+     * of characters/digits identified by {@link PhoneNumberUtils#isDialable(char)}.
      *
      * <p>The subscriptions which the identification would be based on, are all the active
      * subscriptions, no matter which subscription could be used to create TelephonyManager.
      *
      * @param number - the number to look up
      * @return {@code true} if the given number is an emergency number based on current locale,
-     * sim, modem and network; {@code false} otherwise.
+     * SIM card(s), Android database, modem, network or defaults; {@code false} otherwise.
      */
-    public boolean isCurrentEmergencyNumber(@NonNull String number) {
+    public boolean isEmergencyNumber(@NonNull String number) {
         try {
             ITelephony telephony = getITelephony();
-            if (telephony == null) {
-                return false;
+            if (telephony != null) {
+                return telephony.isEmergencyNumber(number, true);
+            } else {
+                throw new IllegalStateException("telephony service is null.");
             }
-            return telephony.isCurrentEmergencyNumber(number, true);
         } catch (RemoteException ex) {
-            Log.e(TAG, "isCurrentEmergencyNumber RemoteException", ex);
+            Log.e(TAG, "isEmergencyNumber RemoteException", ex);
+            ex.rethrowAsRuntimeException();
         }
         return false;
     }
@@ -10138,15 +10348,17 @@
      */
     @SystemApi
     @RequiresPermission(android.Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
-    public boolean isCurrentPotentialEmergencyNumber(@NonNull String number) {
+    public boolean isPotentialEmergencyNumber(@NonNull String number) {
         try {
             ITelephony telephony = getITelephony();
-            if (telephony == null) {
-                return false;
+            if (telephony != null) {
+                return telephony.isEmergencyNumber(number, false);
+            } else {
+                throw new IllegalStateException("telephony service is null.");
             }
-            return telephony.isCurrentEmergencyNumber(number, false);
         } catch (RemoteException ex) {
-            Log.e(TAG, "isCurrentEmergencyNumber RemoteException", ex);
+            Log.e(TAG, "isEmergencyNumber RemoteException", ex);
+            ex.rethrowAsRuntimeException();
         }
         return false;
     }
@@ -10174,6 +10386,41 @@
      */
     public static final int SET_OPPORTUNISTIC_SUB_INVALID_PARAMETER = 2;
 
+    /** @hide */
+    @Retention(RetentionPolicy.SOURCE)
+    @IntDef(prefix = {"UPDATE_AVAILABLE_NETWORKS"}, value = {
+            UPDATE_AVAILABLE_NETWORKS_SUCCESS,
+            UPDATE_AVAILABLE_NETWORKS_UNKNOWN_FAILURE,
+            UPDATE_AVAILABLE_NETWORKS_ABORTED,
+            UPDATE_AVAILABLE_NETWORKS_INVALID_ARGUMENTS,
+            UPDATE_AVAILABLE_NETWORKS_NO_CARRIER_PRIVILEGE})
+    public @interface UpdateAvailableNetworksResult {}
+
+    /**
+     * No error. Operation succeeded.
+     */
+    public static final int UPDATE_AVAILABLE_NETWORKS_SUCCESS = 0;
+
+    /**
+     * There is a unknown failure happened.
+     */
+    public static final int UPDATE_AVAILABLE_NETWORKS_UNKNOWN_FAILURE = 1;
+
+    /**
+     * The request is aborted.
+     */
+    public static final int UPDATE_AVAILABLE_NETWORKS_ABORTED = 2;
+
+    /**
+     * The parameter passed in is invalid.
+     */
+    public static final int UPDATE_AVAILABLE_NETWORKS_INVALID_ARGUMENTS = 3;
+
+    /**
+     * No carrier privilege.
+     */
+    public static final int UPDATE_AVAILABLE_NETWORKS_NO_CARRIER_PRIVILEGE = 4;
+
     /**
      * Set preferred opportunistic data subscription id.
      *
@@ -10185,21 +10432,40 @@
      * @param subId which opportunistic subscription
      * {@link SubscriptionManager#getOpportunisticSubscriptions} is preferred for cellular data.
      * Pass {@link SubscriptionManager#DEFAULT_SUBSCRIPTION_ID} to unset the preference
-     * @return true if request is accepted, else false.
+     * @param needValidation whether validation is needed before switch happens.
+     * @param executor The executor of where the callback will execute.
+     * @param callback Callback will be triggered once it succeeds or failed.
+     *                 See {@link TelephonyManager.SetOpportunisticSubscriptionResult}
+     *                 for more details. Pass null if don't care about the result.
      *
      */
-    public boolean setPreferredOpportunisticDataSubscription(int subId) {
+    public void setPreferredOpportunisticDataSubscription(int subId, boolean needValidation,
+            @Nullable @CallbackExecutor Executor executor, @Nullable Consumer<Integer> callback) {
         String pkgForDebug = mContext != null ? mContext.getOpPackageName() : "<unknown>";
         try {
             IOns iOpportunisticNetworkService = getIOns();
-            if (iOpportunisticNetworkService != null) {
-                return iOpportunisticNetworkService
-                        .setPreferredDataSubscriptionId(subId, pkgForDebug);
+            if (iOpportunisticNetworkService == null) {
+                return;
             }
+            ISetOpportunisticDataCallback callbackStub = new ISetOpportunisticDataCallback.Stub() {
+                @Override
+                public void onComplete(int result) {
+                    if (executor == null || callback == null) {
+                        return;
+                    }
+                    Binder.withCleanCallingIdentity(() -> executor.execute(() -> {
+                        callback.accept(result);
+                    }));
+                }
+            };
+
+            iOpportunisticNetworkService
+                    .setPreferredDataSubscriptionId(subId, needValidation, callbackStub,
+                            pkgForDebug);
         } catch (RemoteException ex) {
             Rlog.e(TAG, "setPreferredDataSubscriptionId RemoteException", ex);
         }
-        return false;
+        return;
     }
 
     /**
@@ -10237,28 +10503,46 @@
      * This api should be called to inform OpportunisticNetwork Service about the availability
      * of a network at the current location. This information will be used by OpportunisticNetwork
      * service to decide to attach to the network opportunistically. If an empty list is passed,
-     * it is assumed that no network is available.
+     * it is assumed that no network is available and will result in disabling the modem stack
+     * to save power.
      * Requires that the calling app has carrier privileges on both primary and
      * secondary subscriptions (see {@link #hasCarrierPrivileges}), or has permission
      * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}.
      * @param availableNetworks is a list of available network information.
-     * @return true if request is accepted
+     * @param executor The executor of where the callback will execute.
+     * @param callback Callback will be triggered once it succeeds or failed.
      *
      */
     @SuppressAutoDoc // Blocked by b/72967236 - no support for carrier privileges
-    public boolean updateAvailableNetworks(List<AvailableNetworkInfo> availableNetworks) {
+    public void updateAvailableNetworks(@NonNull List<AvailableNetworkInfo> availableNetworks,
+            @Nullable @CallbackExecutor Executor executor,
+            @UpdateAvailableNetworksResult @Nullable Consumer<Integer> callback) {
         String pkgForDebug = mContext != null ? mContext.getOpPackageName() : "<unknown>";
-        boolean ret = false;
         try {
             IOns iOpportunisticNetworkService = getIOns();
-            if (iOpportunisticNetworkService != null && availableNetworks != null) {
-                ret = iOpportunisticNetworkService.updateAvailableNetworks(availableNetworks,
-                        pkgForDebug);
+            if (iOpportunisticNetworkService == null || availableNetworks == null) {
+                Binder.withCleanCallingIdentity(() -> executor.execute(() -> {
+                    callback.accept(UPDATE_AVAILABLE_NETWORKS_INVALID_ARGUMENTS);
+                }));
+                return;
             }
+            IUpdateAvailableNetworksCallback callbackStub =
+                    new IUpdateAvailableNetworksCallback.Stub() {
+                        @Override
+                        public void onComplete(int result) {
+                            if (executor == null || callback == null) {
+                                return;
+                            }
+                            Binder.withCleanCallingIdentity(() -> executor.execute(() -> {
+                                callback.accept(result);
+                            }));
+                        }
+                    };
+            iOpportunisticNetworkService.updateAvailableNetworks(availableNetworks, callbackStub,
+                    pkgForDebug);
         } catch (RemoteException ex) {
             Rlog.e(TAG, "updateAvailableNetworks RemoteException", ex);
         }
-        return ret;
     }
 
     /**
@@ -10366,6 +10650,10 @@
      * <p>Requires Permission:
      * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE} or that the
      * calling app has carrier privileges (see {@link #hasCarrierPrivileges}).
+     *
+     * Note: with only carrier privileges, it is not allowed to switch from multi-sim
+     * to single-sim
+     *
      * @param numOfSims number of live SIMs we want to switch to
      * @throws android.os.RemoteException
      */
diff --git a/telephony/java/android/telephony/data/ApnSetting.java b/telephony/java/android/telephony/data/ApnSetting.java
index 9d072f0..d0b52c9 100644
--- a/telephony/java/android/telephony/data/ApnSetting.java
+++ b/telephony/java/android/telephony/data/ApnSetting.java
@@ -61,6 +61,7 @@
     private static final String V4_FORMAT_REGEX = "^\\[ApnSettingV4\\]\\s*";
     private static final String V5_FORMAT_REGEX = "^\\[ApnSettingV5\\]\\s*";
     private static final String V6_FORMAT_REGEX = "^\\[ApnSettingV6\\]\\s*";
+    private static final String V7_FORMAT_REGEX = "^\\[ApnSettingV7\\]\\s*";
 
     /**
      * Default value for mtu if it's not set. Moved from PhoneConstants.
@@ -286,6 +287,8 @@
     private boolean mPermanentFailed = false;
     private final int mCarrierId;
 
+    private final int mSkip464Xlat;
+
     /**
      * Returns the MTU size of the mobile interface to which the APN connected.
      *
@@ -623,6 +626,17 @@
         return mCarrierId;
     }
 
+    /**
+     * Returns the skip464xlat flag for this APN.
+     *
+     * @return SKIP_464XLAT_DEFAULT, SKIP_464XLAT_DISABLE or SKIP_464XLAT_ENABLE
+     * @hide
+     */
+    @Carriers.Skip464XlatStatus
+    public int getSkip464Xlat() {
+        return mSkip464Xlat;
+    }
+
     private ApnSetting(Builder builder) {
         this.mEntryName = builder.mEntryName;
         this.mApnName = builder.mApnName;
@@ -651,6 +665,7 @@
         this.mMvnoMatchData = builder.mMvnoMatchData;
         this.mApnSetId = builder.mApnSetId;
         this.mCarrierId = builder.mCarrierId;
+        this.mSkip464Xlat = builder.mSkip464Xlat;
     }
 
     /**
@@ -662,7 +677,7 @@
             int authType, int mApnTypeBitmask, int protocol, int roamingProtocol,
             boolean carrierEnabled, int networkTypeBitmask, int profileId,
             boolean modemCognitive, int maxConns, int waitTime, int maxConnsTime, int mtu,
-            int mvnoType, String mvnoMatchData, int apnSetId, int carrierId) {
+            int mvnoType, String mvnoMatchData, int apnSetId, int carrierId, int skip464xlat) {
         return new Builder()
             .setId(id)
             .setOperatorNumeric(operatorNumeric)
@@ -691,6 +706,7 @@
             .setMvnoMatchData(mvnoMatchData)
             .setApnSetId(apnSetId)
             .setCarrierId(carrierId)
+            .setSkip464Xlat(skip464xlat)
             .buildWithoutCheck();
     }
 
@@ -708,7 +724,8 @@
             mmsc, mmsProxyAddress, mmsProxyPort, user, password, authType, mApnTypeBitmask,
             protocol, roamingProtocol, carrierEnabled, networkTypeBitmask, profileId,
             modemCognitive, maxConns, waitTime, maxConnsTime, mtu, mvnoType, mvnoMatchData,
-            Carriers.NO_APN_SET_ID, TelephonyManager.UNKNOWN_CARRIER_ID);
+            Carriers.NO_APN_SET_ID, TelephonyManager.UNKNOWN_CARRIER_ID,
+            Carriers.SKIP_464XLAT_DEFAULT);
     }
 
     /**
@@ -767,7 +784,8 @@
             cursor.getString(cursor.getColumnIndexOrThrow(
                 Telephony.Carriers.MVNO_MATCH_DATA)),
             cursor.getInt(cursor.getColumnIndexOrThrow(Telephony.Carriers.APN_SET_ID)),
-            cursor.getInt(cursor.getColumnIndexOrThrow(Telephony.Carriers.CARRIER_ID)));
+            cursor.getInt(cursor.getColumnIndexOrThrow(Telephony.Carriers.CARRIER_ID)),
+            cursor.getInt(cursor.getColumnIndexOrThrow(Carriers.SKIP_464XLAT)));
     }
 
     /**
@@ -780,7 +798,7 @@
             apn.mProtocol, apn.mRoamingProtocol, apn.mCarrierEnabled, apn.mNetworkTypeBitmask,
             apn.mProfileId, apn.mPersistent, apn.mMaxConns, apn.mWaitTime,
             apn.mMaxConnsTime, apn.mMtu, apn.mMvnoType, apn.mMvnoMatchData, apn.mApnSetId,
-            apn.mCarrierId);
+            apn.mCarrierId, apn.mSkip464Xlat);
     }
 
     /**
@@ -829,6 +847,13 @@
      *   <profileId>, <modemCognitive>, <maxConns>, <waitTime>, <maxConnsTime>, <mtu>,
      *   <mvnoType>, <mvnoMatchData>, <networkTypeBitmask>, <apnSetId>, <carrierId>
      *
+     * v7 format:
+     *   [ApnSettingV7] <carrier>, <apn>, <proxy>, <port>, <user>, <password>, <server>,
+     *   <mmsc>, <mmsproxy>, <mmsport>, <mcc>, <mnc>, <authtype>,
+     *   <type>[| <type>...], <protocol>, <roaming_protocol>, <carrierEnabled>, <bearerBitmask>,
+     *   <profileId>, <modemCognitive>, <maxConns>, <waitTime>, <maxConnsTime>, <mtu>,
+     *   <mvnoType>, <mvnoMatchData>, <networkTypeBitmask>, <apnSetId>, <carrierId>, <skip464xlat>
+     *
      * Note that the strings generated by {@link #toString()} do not contain the username
      * and password and thus cannot be read by this method.
      *
@@ -841,7 +866,10 @@
 
         int version;
         // matches() operates on the whole string, so append .* to the regex.
-        if (data.matches(V6_FORMAT_REGEX + ".*")) {
+        if (data.matches(V7_FORMAT_REGEX + ".*")) {
+            version = 7;
+            data = data.replaceFirst(V7_FORMAT_REGEX, "");
+        } else if (data.matches(V6_FORMAT_REGEX + ".*")) {
             version = 6;
             data = data.replaceFirst(V6_FORMAT_REGEX, "");
         } else if (data.matches(V5_FORMAT_REGEX + ".*")) {
@@ -887,6 +915,7 @@
         String mvnoMatchData = "";
         int apnSetId = Carriers.NO_APN_SET_ID;
         int carrierId = TelephonyManager.UNKNOWN_CARRIER_ID;
+        int skip464xlat = Carriers.SKIP_464XLAT_DEFAULT;
         if (version == 1) {
             typeArray = new String[a.length - 13];
             System.arraycopy(a, 13, typeArray, 0, a.length - 13);
@@ -933,6 +962,12 @@
             if (a.length > 28) {
                 carrierId = Integer.parseInt(a[28]);
             }
+            if (a.length > 29) {
+                try {
+                    skip464xlat = Integer.parseInt(a[29]);
+                } catch (NumberFormatException e) {
+                }
+            }
         }
 
         // If both bearerBitmask and networkTypeBitmask were specified, bearerBitmask would be
@@ -948,7 +983,7 @@
             getProtocolIntFromString(protocol), getProtocolIntFromString(roamingProtocol),
             carrierEnabled, networkTypeBitmask, profileId, modemCognitive, maxConns, waitTime,
             maxConnsTime, mtu, getMvnoTypeIntFromString(mvnoType), mvnoMatchData, apnSetId,
-            carrierId);
+            carrierId, skip464xlat);
     }
 
     /**
@@ -984,7 +1019,7 @@
      */
     public String toString() {
         StringBuilder sb = new StringBuilder();
-        sb.append("[ApnSettingV6] ")
+        sb.append("[ApnSettingV7] ")
                 .append(mEntryName)
                 .append(", ").append(mId)
                 .append(", ").append(mOperatorNumeric)
@@ -1012,6 +1047,7 @@
         sb.append(", ").append(mNetworkTypeBitmask);
         sb.append(", ").append(mApnSetId);
         sb.append(", ").append(mCarrierId);
+        sb.append(", ").append(mSkip464Xlat);
         return sb.toString();
     }
 
@@ -1105,7 +1141,8 @@
             && Objects.equals(mMvnoMatchData, other.mMvnoMatchData)
             && Objects.equals(mNetworkTypeBitmask, other.mNetworkTypeBitmask)
             && Objects.equals(mApnSetId, other.mApnSetId)
-            && Objects.equals(mCarrierId, other.mCarrierId);
+            && Objects.equals(mCarrierId, other.mCarrierId)
+            && Objects.equals(mSkip464Xlat, other.mSkip464Xlat);
     }
 
     /**
@@ -1151,7 +1188,8 @@
             && Objects.equals(mMvnoType, other.mMvnoType)
             && Objects.equals(mMvnoMatchData, other.mMvnoMatchData)
             && Objects.equals(mApnSetId, other.mApnSetId)
-            && Objects.equals(mCarrierId, other.mCarrierId);
+            && Objects.equals(mCarrierId, other.mCarrierId)
+            && Objects.equals(mSkip464Xlat, other.mSkip464Xlat);
     }
 
     /**
@@ -1179,7 +1217,8 @@
             && xorEqualsInt(this.mMmsProxyPort, other.mMmsProxyPort))
             && Objects.equals(this.mNetworkTypeBitmask, other.mNetworkTypeBitmask)
             && Objects.equals(mApnSetId, other.mApnSetId)
-            && Objects.equals(mCarrierId, other.mCarrierId);
+            && Objects.equals(mCarrierId, other.mCarrierId)
+            && Objects.equals(mSkip464Xlat, other.mSkip464Xlat);
     }
 
     // Equal or one is null.
@@ -1226,6 +1265,7 @@
         apnValue.put(Telephony.Carriers.MVNO_TYPE, getMvnoTypeStringFromInt(mMvnoType));
         apnValue.put(Telephony.Carriers.NETWORK_TYPE_BITMASK, mNetworkTypeBitmask);
         apnValue.put(Telephony.Carriers.CARRIER_ID, mCarrierId);
+        apnValue.put(Telephony.Carriers.SKIP_464XLAT, mSkip464Xlat);
 
         return apnValue;
     }
@@ -1385,6 +1425,7 @@
         dest.writeInt(mNetworkTypeBitmask);
         dest.writeInt(mApnSetId);
         dest.writeInt(mCarrierId);
+        dest.writeInt(mSkip464Xlat);
     }
 
     private static ApnSetting readFromParcel(Parcel in) {
@@ -1408,11 +1449,12 @@
         final int networkTypeBitmask = in.readInt();
         final int apnSetId = in.readInt();
         final int carrierId = in.readInt();
+        final int skip464xlat = in.readInt();
 
         return makeApnSetting(id, operatorNumeric, entryName, apnName,
-            proxy, port, mmsc, mmsProxy, mmsPort, user, password, authType, apnTypesBitmask,
-            protocol, roamingProtocol, carrierEnabled, networkTypeBitmask, 0, false,
-            0, 0, 0, 0, mvnoType, null, apnSetId, carrierId);
+                proxy, port, mmsc, mmsProxy, mmsPort, user, password, authType, apnTypesBitmask,
+                protocol, roamingProtocol, carrierEnabled, networkTypeBitmask, 0, false,
+                0, 0, 0, 0, mvnoType, null, apnSetId, carrierId, skip464xlat);
     }
 
     public static final @android.annotation.NonNull Parcelable.Creator<ApnSetting> CREATOR =
@@ -1489,6 +1531,7 @@
         private String mMvnoMatchData;
         private int mApnSetId;
         private int mCarrierId = TelephonyManager.UNKNOWN_CARRIER_ID;
+        private int mSkip464Xlat = Carriers.SKIP_464XLAT_DEFAULT;
 
         /**
          * Default constructor for Builder.
@@ -1598,6 +1641,7 @@
          *
          * @param entryName the entry name to set for the APN
          */
+        @NonNull
         public Builder setEntryName(String entryName) {
             this.mEntryName = entryName;
             return this;
@@ -1608,6 +1652,7 @@
          *
          * @param apnName the name to set for the APN
          */
+        @NonNull
         public Builder setApnName(String apnName) {
             this.mApnName = apnName;
             return this;
@@ -1638,6 +1683,7 @@
          *
          * @param proxy the proxy address to set for the APN
          */
+        @NonNull
         public Builder setProxyAddress(String proxy) {
             this.mProxyAddress = proxy;
             return this;
@@ -1648,6 +1694,7 @@
          *
          * @param port the proxy port to set for the APN
          */
+        @NonNull
         public Builder setProxyPort(int port) {
             this.mProxyPort = port;
             return this;
@@ -1658,6 +1705,7 @@
          *
          * @param mmsc the MMSC Uri to set for the APN
          */
+        @NonNull
         public Builder setMmsc(Uri mmsc) {
             this.mMmsc = mmsc;
             return this;
@@ -1689,6 +1737,7 @@
          *
          * @param mmsProxy the MMS proxy address to set for the APN
          */
+        @NonNull
         public Builder setMmsProxyAddress(String mmsProxy) {
             this.mMmsProxyAddress = mmsProxy;
             return this;
@@ -1699,6 +1748,7 @@
          *
          * @param mmsPort the MMS proxy port to set for the APN
          */
+        @NonNull
         public Builder setMmsProxyPort(int mmsPort) {
             this.mMmsProxyPort = mmsPort;
             return this;
@@ -1709,6 +1759,7 @@
          *
          * @param user the APN username to set for the APN
          */
+        @NonNull
         public Builder setUser(String user) {
             this.mUser = user;
             return this;
@@ -1720,6 +1771,7 @@
          * @see android.provider.Telephony.Carriers#PASSWORD
          * @param password the APN password to set for the APN
          */
+        @NonNull
         public Builder setPassword(String password) {
             this.mPassword = password;
             return this;
@@ -1730,6 +1782,7 @@
          *
          * @param authType the authentication type to set for the APN
          */
+        @NonNull
         public Builder setAuthType(@AuthType int authType) {
             this.mAuthType = authType;
             return this;
@@ -1746,6 +1799,7 @@
          *
          * @param apnTypeBitmask a bitmask describing the types of the APN
          */
+        @NonNull
         public Builder setApnTypeBitmask(@ApnType int apnTypeBitmask) {
             this.mApnTypeBitmask = apnTypeBitmask;
             return this;
@@ -1758,6 +1812,7 @@
          *
          * @param operatorNumeric the numeric operator ID to set for this entry
          */
+        @NonNull
         public Builder setOperatorNumeric(String operatorNumeric) {
             this.mOperatorNumeric = operatorNumeric;
             return this;
@@ -1770,6 +1825,7 @@
          *
          * @param protocol the protocol to set to use to connect to this APN
          */
+        @NonNull
         public Builder setProtocol(@ProtocolType int protocol) {
             this.mProtocol = protocol;
             return this;
@@ -1782,6 +1838,7 @@
          *
          * @param roamingProtocol the protocol to set to use to connect to this APN when roaming
          */
+        @NonNull
         public Builder setRoamingProtocol(@ProtocolType  int roamingProtocol) {
             this.mRoamingProtocol = roamingProtocol;
             return this;
@@ -1792,6 +1849,7 @@
          *
          * @param carrierEnabled the current status to set for this APN
          */
+        @NonNull
         public Builder setCarrierEnabled(boolean carrierEnabled) {
             this.mCarrierEnabled = carrierEnabled;
             return this;
@@ -1802,6 +1860,7 @@
          *
          * @param networkTypeBitmask the Radio Technology (Network Type) info
          */
+        @NonNull
         public Builder setNetworkTypeBitmask(int networkTypeBitmask) {
             this.mNetworkTypeBitmask = networkTypeBitmask;
             return this;
@@ -1812,6 +1871,7 @@
          *
          * @param mvnoType the MVNO match type to set for this APN
          */
+        @NonNull
         public Builder setMvnoType(@MvnoType int mvnoType) {
             this.mMvnoType = mvnoType;
             return this;
@@ -1825,12 +1885,24 @@
          *
          * @param carrierId the carrier id to set for this APN
          */
+        @NonNull
         public Builder setCarrierId(int carrierId) {
             this.mCarrierId = carrierId;
             return this;
         }
 
         /**
+         * Sets skip464xlat flag for this APN.
+         *
+         * @param skip464xlat skip464xlat for this APN
+         * @hide
+         */
+        public Builder setSkip464Xlat(@Carriers.Skip464XlatStatus int skip464xlat) {
+            this.mSkip464Xlat = skip464xlat;
+            return this;
+        }
+
+        /**
          * Builds {@link ApnSetting} from this builder.
          *
          * @return {@code null} if {@link #setApnName(String)} or {@link #setEntryName(String)}
diff --git a/telephony/java/android/telephony/data/DataCallResponse.java b/telephony/java/android/telephony/data/DataCallResponse.java
index 6024143..0622cdd 100644
--- a/telephony/java/android/telephony/data/DataCallResponse.java
+++ b/telephony/java/android/telephony/data/DataCallResponse.java
@@ -25,6 +25,8 @@
 import android.os.Parcelable;
 import android.telephony.data.ApnSetting.ProtocolType;
 
+import com.android.internal.annotations.VisibleForTesting;
+
 import java.net.InetAddress;
 import java.util.ArrayList;
 import java.util.List;
@@ -90,6 +92,8 @@
         mMtu = mtu;
     }
 
+    /** @hide */
+    @VisibleForTesting
     public DataCallResponse(Parcel source) {
         mStatus = source.readInt();
         mSuggestedRetryTime = source.readInt();
diff --git a/telephony/java/android/telephony/data/DataProfile.java b/telephony/java/android/telephony/data/DataProfile.java
index f45954b..bcb47f7 100644
--- a/telephony/java/android/telephony/data/DataProfile.java
+++ b/telephony/java/android/telephony/data/DataProfile.java
@@ -19,6 +19,8 @@
 import static android.telephony.data.ApnSetting.ProtocolType;
 
 import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.os.Build;
 import android.os.Parcel;
@@ -158,6 +160,7 @@
     /**
      * @return The APN to establish data connection.
      */
+    @NonNull
     public String getApn() { return mApn; }
 
     /**
@@ -173,11 +176,13 @@
     /**
      * @return The username for APN. Can be null.
      */
+    @Nullable
     public String getUserName() { return mUserName; }
 
     /**
      * @return The password for APN. Can be null.
      */
+    @Nullable
     public String getPassword() { return mPassword; }
 
     /**
@@ -238,7 +243,6 @@
      */
     public boolean isPreferred() { return  mPreferred; }
 
-    /** @hide */
     @Override
     public int describeContents() {
         return 0;
@@ -261,7 +265,6 @@
         return (o == this || toString().equals(o.toString()));
     }
 
-    /** @hide */
     @Override
     public void writeToParcel(Parcel dest, int flags) {
         dest.writeInt(mProfileId);
@@ -283,7 +286,6 @@
         dest.writeBoolean(mPreferred);
     }
 
-    /** @hide */
     public static final @android.annotation.NonNull Parcelable.Creator<DataProfile> CREATOR =
             new Parcelable.Creator<DataProfile>() {
         @Override
diff --git a/telephony/java/android/telephony/data/DataService.java b/telephony/java/android/telephony/data/DataService.java
index a3fa77b..59d1e1e 100644
--- a/telephony/java/android/telephony/data/DataService.java
+++ b/telephony/java/android/telephony/data/DataService.java
@@ -116,23 +116,23 @@
      */
     public abstract class DataServiceProvider implements AutoCloseable {
 
-        private final int mSlotId;
+        private final int mSlotIndex;
 
         private final List<IDataServiceCallback> mDataCallListChangedCallbacks = new ArrayList<>();
 
         /**
          * Constructor
-         * @param slotId SIM slot id the data service provider associated with.
+         * @param slotIndex SIM slot index the data service provider associated with.
          */
-        public DataServiceProvider(int slotId) {
-            mSlotId = slotId;
+        public DataServiceProvider(int slotIndex) {
+            mSlotIndex = slotIndex;
         }
 
         /**
-         * @return SIM slot id the data service provider associated with.
+         * @return SIM slot index the data service provider associated with.
          */
-        public final int getSlotId() {
-            return mSlotId;
+        public final int getSlotIndex() {
+            return mSlotIndex;
         }
 
         /**
@@ -251,9 +251,9 @@
         public final void notifyDataCallListChanged(List<DataCallResponse> dataCallList) {
             synchronized (mDataCallListChangedCallbacks) {
                 for (IDataServiceCallback callback : mDataCallListChangedCallbacks) {
-                    mHandler.obtainMessage(DATA_SERVICE_INDICATION_DATA_CALL_LIST_CHANGED, mSlotId,
-                            0, new DataCallListChangedIndication(dataCallList, callback))
-                            .sendToTarget();
+                    mHandler.obtainMessage(DATA_SERVICE_INDICATION_DATA_CALL_LIST_CHANGED,
+                            mSlotIndex, 0, new DataCallListChangedIndication(dataCallList,
+                                    callback)).sendToTarget();
                 }
             }
         }
@@ -342,20 +342,20 @@
         @Override
         public void handleMessage(Message message) {
             IDataServiceCallback callback;
-            final int slotId = message.arg1;
-            DataServiceProvider serviceProvider = mServiceMap.get(slotId);
+            final int slotIndex = message.arg1;
+            DataServiceProvider serviceProvider = mServiceMap.get(slotIndex);
 
             switch (message.what) {
                 case DATA_SERVICE_CREATE_DATA_SERVICE_PROVIDER:
-                    serviceProvider = createDataServiceProvider(message.arg1);
+                    serviceProvider = onCreateDataServiceProvider(message.arg1);
                     if (serviceProvider != null) {
-                        mServiceMap.put(slotId, serviceProvider);
+                        mServiceMap.put(slotIndex, serviceProvider);
                     }
                     break;
                 case DATA_SERVICE_REMOVE_DATA_SERVICE_PROVIDER:
                     if (serviceProvider != null) {
                         serviceProvider.close();
-                        mServiceMap.remove(slotId);
+                        mServiceMap.remove(slotIndex);
                     }
                     break;
                 case DATA_SERVICE_REMOVE_ALL_DATA_SERVICE_PROVIDERS:
@@ -454,12 +454,12 @@
      * this method to facilitate the creation of {@link DataServiceProvider} instances. The system
      * will call this method after binding the data service for each active SIM slot id.
      *
-     * @param slotId SIM slot id the data service associated with.
+     * @param slotIndex SIM slot id the data service associated with.
      * @return Data service object
      */
-    public abstract DataServiceProvider createDataServiceProvider(int slotId);
+    @Nullable
+    public abstract DataServiceProvider onCreateDataServiceProvider(int slotIndex);
 
-    /** @hide */
     @Override
     public IBinder onBind(Intent intent) {
         if (intent == null || !DATA_SERVICE_INTERFACE.equals(intent.getAction())) {
@@ -469,17 +469,16 @@
         return mBinder;
     }
 
-    /** @hide */
     @Override
     public boolean onUnbind(Intent intent) {
         mHandler.obtainMessage(DATA_SERVICE_REMOVE_ALL_DATA_SERVICE_PROVIDERS).sendToTarget();
         return false;
     }
 
-    /** @hide */
     @Override
     public void onDestroy() {
         mHandlerThread.quit();
+        super.onDestroy();
     }
 
     /**
@@ -487,78 +486,78 @@
      */
     private class IDataServiceWrapper extends IDataService.Stub {
         @Override
-        public void createDataServiceProvider(int slotId) {
-            mHandler.obtainMessage(DATA_SERVICE_CREATE_DATA_SERVICE_PROVIDER, slotId, 0)
+        public void createDataServiceProvider(int slotIndex) {
+            mHandler.obtainMessage(DATA_SERVICE_CREATE_DATA_SERVICE_PROVIDER, slotIndex, 0)
                     .sendToTarget();
         }
 
         @Override
-        public void removeDataServiceProvider(int slotId) {
-            mHandler.obtainMessage(DATA_SERVICE_REMOVE_DATA_SERVICE_PROVIDER, slotId, 0)
+        public void removeDataServiceProvider(int slotIndex) {
+            mHandler.obtainMessage(DATA_SERVICE_REMOVE_DATA_SERVICE_PROVIDER, slotIndex, 0)
                     .sendToTarget();
         }
 
         @Override
-        public void setupDataCall(int slotId, int accessNetworkType, DataProfile dataProfile,
+        public void setupDataCall(int slotIndex, int accessNetworkType, DataProfile dataProfile,
                                   boolean isRoaming, boolean allowRoaming, int reason,
                                   LinkProperties linkProperties, IDataServiceCallback callback) {
-            mHandler.obtainMessage(DATA_SERVICE_REQUEST_SETUP_DATA_CALL, slotId, 0,
+            mHandler.obtainMessage(DATA_SERVICE_REQUEST_SETUP_DATA_CALL, slotIndex, 0,
                     new SetupDataCallRequest(accessNetworkType, dataProfile, isRoaming,
                             allowRoaming, reason, linkProperties, callback))
                     .sendToTarget();
         }
 
         @Override
-        public void deactivateDataCall(int slotId, int cid, int reason,
+        public void deactivateDataCall(int slotIndex, int cid, int reason,
                                        IDataServiceCallback callback) {
-            mHandler.obtainMessage(DATA_SERVICE_REQUEST_DEACTIVATE_DATA_CALL, slotId, 0,
+            mHandler.obtainMessage(DATA_SERVICE_REQUEST_DEACTIVATE_DATA_CALL, slotIndex, 0,
                     new DeactivateDataCallRequest(cid, reason, callback))
                     .sendToTarget();
         }
 
         @Override
-        public void setInitialAttachApn(int slotId, DataProfile dataProfile, boolean isRoaming,
+        public void setInitialAttachApn(int slotIndex, DataProfile dataProfile, boolean isRoaming,
                                         IDataServiceCallback callback) {
-            mHandler.obtainMessage(DATA_SERVICE_REQUEST_SET_INITIAL_ATTACH_APN, slotId, 0,
+            mHandler.obtainMessage(DATA_SERVICE_REQUEST_SET_INITIAL_ATTACH_APN, slotIndex, 0,
                     new SetInitialAttachApnRequest(dataProfile, isRoaming, callback))
                     .sendToTarget();
         }
 
         @Override
-        public void setDataProfile(int slotId, List<DataProfile> dps, boolean isRoaming,
+        public void setDataProfile(int slotIndex, List<DataProfile> dps, boolean isRoaming,
                                    IDataServiceCallback callback) {
-            mHandler.obtainMessage(DATA_SERVICE_REQUEST_SET_DATA_PROFILE, slotId, 0,
+            mHandler.obtainMessage(DATA_SERVICE_REQUEST_SET_DATA_PROFILE, slotIndex, 0,
                     new SetDataProfileRequest(dps, isRoaming, callback)).sendToTarget();
         }
 
         @Override
-        public void getDataCallList(int slotId, IDataServiceCallback callback) {
+        public void getDataCallList(int slotIndex, IDataServiceCallback callback) {
             if (callback == null) {
                 loge("getDataCallList: callback is null");
                 return;
             }
-            mHandler.obtainMessage(DATA_SERVICE_REQUEST_GET_DATA_CALL_LIST, slotId, 0,
+            mHandler.obtainMessage(DATA_SERVICE_REQUEST_GET_DATA_CALL_LIST, slotIndex, 0,
                     callback).sendToTarget();
         }
 
         @Override
-        public void registerForDataCallListChanged(int slotId, IDataServiceCallback callback) {
+        public void registerForDataCallListChanged(int slotIndex, IDataServiceCallback callback) {
             if (callback == null) {
                 loge("registerForDataCallListChanged: callback is null");
                 return;
             }
-            mHandler.obtainMessage(DATA_SERVICE_REQUEST_REGISTER_DATA_CALL_LIST_CHANGED, slotId,
+            mHandler.obtainMessage(DATA_SERVICE_REQUEST_REGISTER_DATA_CALL_LIST_CHANGED, slotIndex,
                     0, callback).sendToTarget();
         }
 
         @Override
-        public void unregisterForDataCallListChanged(int slotId, IDataServiceCallback callback) {
+        public void unregisterForDataCallListChanged(int slotIndex, IDataServiceCallback callback) {
             if (callback == null) {
                 loge("unregisterForDataCallListChanged: callback is null");
                 return;
             }
-            mHandler.obtainMessage(DATA_SERVICE_REQUEST_UNREGISTER_DATA_CALL_LIST_CHANGED, slotId,
-                    0, callback).sendToTarget();
+            mHandler.obtainMessage(DATA_SERVICE_REQUEST_UNREGISTER_DATA_CALL_LIST_CHANGED,
+                    slotIndex, 0, callback).sendToTarget();
         }
     }
 
diff --git a/telephony/java/android/telephony/data/DataServiceCallback.java b/telephony/java/android/telephony/data/DataServiceCallback.java
index bef1142..2d0cfe8 100644
--- a/telephony/java/android/telephony/data/DataServiceCallback.java
+++ b/telephony/java/android/telephony/data/DataServiceCallback.java
@@ -17,6 +17,8 @@
 package android.telephony.data;
 
 import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.net.LinkProperties;
 import android.os.RemoteException;
@@ -74,7 +76,8 @@
      * @param result The result code. Must be one of the {@link ResultCode}.
      * @param response Setup data call response.
      */
-    public void onSetupDataCallComplete(@ResultCode int result, DataCallResponse response) {
+    public void onSetupDataCallComplete(@ResultCode int result,
+                                        @Nullable DataCallResponse response) {
         IDataServiceCallback callback = mCallback.get();
         if (callback != null) {
             try {
@@ -141,10 +144,11 @@
      * DataServiceCallback)}.
      *
      * @param result The result code. Must be one of the {@link ResultCode}.
-     * @param dataCallList List of the current active data connection.
+     * @param dataCallList List of the current active data connection. If no data call is presented,
+     * set it to an empty list.
      */
     public void onGetDataCallListComplete(@ResultCode int result,
-                                          List<DataCallResponse> dataCallList) {
+                                          @NonNull List<DataCallResponse> dataCallList) {
         IDataServiceCallback callback = mCallback.get();
         if (callback != null) {
             try {
@@ -156,11 +160,12 @@
     }
 
     /**
-     * Called to indicate that data connection list changed.
+     * Called to indicate that data connection list changed. If no data call is presented, set it to
+     * an empty list.
      *
      * @param dataCallList List of the current active data connection.
      */
-    public void onDataCallListChanged(List<DataCallResponse> dataCallList) {
+    public void onDataCallListChanged(@NonNull List<DataCallResponse> dataCallList) {
         IDataServiceCallback callback = mCallback.get();
         if (callback != null) {
             try {
diff --git a/telephony/java/android/telephony/emergency/EmergencyNumber.java b/telephony/java/android/telephony/emergency/EmergencyNumber.java
index 5373c38..fa6cfcb 100644
--- a/telephony/java/android/telephony/emergency/EmergencyNumber.java
+++ b/telephony/java/android/telephony/emergency/EmergencyNumber.java
@@ -22,6 +22,7 @@
 import android.hardware.radio.V1_4.EmergencyServiceCategory;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.telephony.PhoneNumberUtils;
 import android.telephony.Rlog;
 
 import java.lang.annotation.Retention;
@@ -302,7 +303,7 @@
      *
      * @return the dialing number.
      */
-    public String getNumber() {
+    public @NonNull String getNumber() {
         return mNumber;
     }
 
@@ -311,7 +312,7 @@
      *
      * @return the country code string (lowercase character) in ISO 3166 format.
      */
-    public String getCountryIso() {
+    public @NonNull String getCountryIso() {
         return mCountryIso;
     }
 
@@ -320,7 +321,7 @@
      *
      * @return the Mobile Network Code of the emergency number.
      */
-    public String getMnc() {
+    public @NonNull String getMnc() {
         return mMnc;
     }
 
@@ -328,6 +329,8 @@
      * Returns the bitmask of emergency service categories of the emergency number.
      *
      * @return bitmask of the emergency service categories
+     *
+     * @hide
      */
     public @EmergencyServiceCategories int getEmergencyServiceCategoryBitmask() {
         return mEmergencyServiceCategoryBitmask;
@@ -357,7 +360,7 @@
      *
      * @return a list of the emergency service categories
      */
-    public List<Integer> getEmergencyServiceCategories() {
+    public @NonNull List<Integer> getEmergencyServiceCategories() {
         List<Integer> categories = new ArrayList<>();
         if (serviceUnspecified()) {
             categories.add(EMERGENCY_SERVICE_CATEGORY_UNSPECIFIED);
@@ -384,7 +387,7 @@
      *         number does not have a specified emergency Uniform Resource Name.
      */
     public @NonNull List<String> getEmergencyUrns() {
-        return mEmergencyUrns;
+        return Collections.unmodifiableList(mEmergencyUrns);
     }
 
     /**
@@ -421,6 +424,8 @@
      * Returns the bitmask of the sources of the emergency number.
      *
      * @return bitmask of the emergency number sources
+     *
+     * @hide
      */
     public @EmergencyNumberSources int getEmergencyNumberSourceBitmask() {
         return mEmergencyNumberSourceBitmask;
@@ -431,7 +436,7 @@
      *
      * @return a list of emergency number sources
      */
-    public List<Integer> getEmergencyNumberSources() {
+    public @NonNull List<Integer> getEmergencyNumberSources() {
         List<Integer> sources = new ArrayList<>();
         for (Integer source : EMERGENCY_NUMBER_SOURCE_SET) {
             if ((mEmergencyNumberSourceBitmask & source) == source) {
@@ -669,11 +674,20 @@
     }
 
     /**
-     * Validate Emergency Number address that only allows '0'-'9', '*', or '#'
+     * Validate Emergency Number address that only contains the dialable character
+     * {@link PhoneNumberUtils#isDialable(char)}
      *
      * @hide
      */
     public static boolean validateEmergencyNumberAddress(String address) {
-        return address.matches("[0-9*#]+");
+        if (address == null) {
+            return false;
+        }
+        for (char c : address.toCharArray()) {
+            if (!PhoneNumberUtils.isDialable(c)) {
+                return false;
+            }
+        }
+        return true;
     }
 }
diff --git a/telephony/java/android/telephony/euicc/EuiccManager.java b/telephony/java/android/telephony/euicc/EuiccManager.java
index afbf46d..875bd78 100644
--- a/telephony/java/android/telephony/euicc/EuiccManager.java
+++ b/telephony/java/android/telephony/euicc/EuiccManager.java
@@ -120,6 +120,10 @@
      * enable or disable a subscription. Must be accompanied with {@link #EXTRA_SUBSCRIPTION_ID} and
      * {@link #EXTRA_ENABLE_SUBSCRIPTION}.
      *
+     * Requires the caller to be a privileged process with the
+     * {@link android.permission#CALL_PRIVILEGED} permission for the intent to reach the Telephony
+     * stack.
+     *
      * <p>Unlike {@link #switchToSubscription(int, PendingIntent)}, using this action allows the
      * underlying eUICC service (i.e. the LPA app) to control the UI experience during this
      * operation. The action is received by the Telephony framework, which in turn selects and
@@ -139,6 +143,10 @@
      * Intent action sent by system apps (such as the Settings app) to the Telephony framework to
      * delete a subscription. Must be accompanied with {@link #EXTRA_SUBSCRIPTION_ID}.
      *
+     * Requires the caller to be a privileged process with the
+     * {@link android.permission#CALL_PRIVILEGED} permission for the intent to reach the Telephony
+     * stack.
+     *
      * <p>Unlike {@link #deleteSubscription(int, PendingIntent)}, using this action allows the
      * underlying eUICC service (i.e. the LPA app) to control the UI experience during this
      * operation. The action is received by the Telephony framework, which in turn selects and
@@ -159,6 +167,10 @@
      * rename a subscription. Must be accompanied with {@link #EXTRA_SUBSCRIPTION_ID} and
      * {@link #EXTRA_SUBSCRIPTION_NICKNAME}.
      *
+     * Requires the caller to be a privileged process with the
+     * {@link android.permission#CALL_PRIVILEGED} permission for the intent to reach the Telephony
+     * stack.
+     *
      * <p>Unlike {@link #updateSubscriptionNickname(int, String, PendingIntent)}, using this action
      * allows the the underlying eUICC service (i.e. the LPA app) to control the UI experience
      * during this operation. The action is received by the Telephony framework, which in turn
@@ -258,7 +270,10 @@
 
     /**
      * Key for an extra set on the {@link #ACTION_PROVISION_EMBEDDED_SUBSCRIPTION} intent for
-     * whether the user choses to use eUICC to set up network in SUW.
+     * whether eSIM provisioning flow is forced to be started or not. If this extra hasn't been
+     * set, eSIM provisioning flow may be skipped and the corresponding carrier's app will be
+     * notified. Otherwise, eSIM provisioning flow will be started when
+     * {@link #ACTION_PROVISION_EMBEDDED_SUBSCRIPTION} has been received.
      * @hide
      */
     @SystemApi
@@ -270,6 +285,8 @@
      * {@link #ACTION_DELETE_SUBSCRIPTION_PRIVILEGED}, and
      * {@link #ACTION_RENAME_SUBSCRIPTION_PRIVILEGED} providing the ID of the targeted subscription.
      *
+     * <p>Expected type of the extra data: int
+     *
      * @hide
      */
     @SystemApi
@@ -280,6 +297,8 @@
      * Key for an extra set on {@link #ACTION_TOGGLE_SUBSCRIPTION_PRIVILEGED} providing a boolean
      * value of whether to enable or disable the targeted subscription.
      *
+     * <p>Expected type of the extra data: boolean
+     *
      * @hide
      */
     @SystemApi
@@ -290,6 +309,8 @@
      * Key for an extra set on {@link #ACTION_RENAME_SUBSCRIPTION_PRIVILEGED} providing a new
      * nickname for the targeted subscription.
      *
+     * <p>Expected type of the extra data: String
+     *
      * @hide
      */
     @SystemApi
@@ -758,7 +779,7 @@
      */
     @RequiresPermission(Manifest.permission.WRITE_EMBEDDED_SUBSCRIPTIONS)
     public void updateSubscriptionNickname(
-            int subscriptionId, String nickname, PendingIntent callbackIntent) {
+            int subscriptionId, @Nullable String nickname, @NonNull PendingIntent callbackIntent) {
         if (!refreshCardIdIfUninitialized()) {
             sendUnavailableError(callbackIntent);
             return;
diff --git a/telephony/java/android/telephony/ims/ImsCallProfile.java b/telephony/java/android/telephony/ims/ImsCallProfile.java
index 793ac3c..751ce9d 100644
--- a/telephony/java/android/telephony/ims/ImsCallProfile.java
+++ b/telephony/java/android/telephony/ims/ImsCallProfile.java
@@ -17,6 +17,7 @@
 package android.telephony.ims;
 
 import android.annotation.IntDef;
+import android.annotation.NonNull;
 import android.annotation.SystemApi;
 import android.annotation.UnsupportedAppUsage;
 import android.os.Bundle;
@@ -842,7 +843,7 @@
      *            3gpp 22.101, Section 10 - Emergency Calls.
      */
     @VisibleForTesting
-    public void setEmergencyUrns(List<String> emergencyUrns) {
+    public void setEmergencyUrns(@NonNull List<String> emergencyUrns) {
         mEmergencyUrns = emergencyUrns;
     }
 
@@ -916,7 +917,7 @@
      * Reference: 3gpp 24.503, Section 5.1.6.8.1 - General;
      *            3gpp 22.101, Section 10 - Emergency Calls.
      */
-    public List<String> getEmergencyUrns() {
+    public @NonNull List<String> getEmergencyUrns() {
         return mEmergencyUrns;
     }
 
diff --git a/telephony/java/android/telephony/ims/ImsException.java b/telephony/java/android/telephony/ims/ImsException.java
index ac4d17a..02eddf6 100644
--- a/telephony/java/android/telephony/ims/ImsException.java
+++ b/telephony/java/android/telephony/ims/ImsException.java
@@ -19,6 +19,7 @@
 import android.annotation.IntDef;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
+import android.content.pm.PackageManager;
 import android.text.TextUtils;
 
 import java.lang.annotation.Retention;
@@ -48,7 +49,9 @@
     /**
      * This device or carrier configuration does not support IMS for this subscription.
      * <p>
-     * This is a permanent configuration error and there should be no retry.
+     * This is a permanent configuration error and there should be no retry. Usually this is
+     * because {@link PackageManager#FEATURE_TELEPHONY_IMS} is not available
+     * or the device has no ImsService implementation to service this request.
      */
     public static final int CODE_ERROR_UNSUPPORTED_OPERATION = 2;
 
@@ -86,7 +89,8 @@
      * @param message an optional message to detail the error condition more specifically.
      * @param cause the {@link Throwable} that caused this {@link ImsException} to be created.
      */
-    public ImsException(@Nullable String message, @ImsErrorCode  int code, Throwable cause) {
+    public ImsException(@Nullable String message, @ImsErrorCode  int code,
+            @Nullable Throwable cause) {
         super(getMessage(message, code), cause);
         mCode = code;
     }
diff --git a/telephony/java/android/telephony/ims/ImsExternalCallState.java b/telephony/java/android/telephony/ims/ImsExternalCallState.java
index a58f361..37b11ed 100644
--- a/telephony/java/android/telephony/ims/ImsExternalCallState.java
+++ b/telephony/java/android/telephony/ims/ImsExternalCallState.java
@@ -17,6 +17,8 @@
 package android.telephony.ims;
 
 import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.net.Uri;
 import android.os.Parcel;
@@ -124,9 +126,9 @@
      * @param callType The type of external call.
      * @param isCallheld A flag determining if the external connection is currently held.
      */
-    public ImsExternalCallState(String callId, Uri address, Uri localAddress,
-            boolean isPullable, @ExternalCallState int callState, @ExternalCallType int callType,
-            boolean isCallheld) {
+    public ImsExternalCallState(@NonNull String callId, @NonNull Uri address,
+            @Nullable Uri localAddress, boolean isPullable, @ExternalCallState int callState,
+            @ExternalCallType int callType, boolean isCallheld) {
         mCallId = getIdForString(callId);
         mAddress = address;
         mLocalAddress = localAddress;
@@ -184,14 +186,14 @@
         return mCallId;
     }
 
-    public Uri getAddress() {
+    public @NonNull Uri getAddress() {
         return mAddress;
     }
 
     /**
      * @return A {@link Uri} containing the local address from the Multiendpoint Dialog Information.
      */
-    public Uri getLocalAddress() {
+    public @Nullable Uri getLocalAddress() {
         return mLocalAddress;
     }
 
diff --git a/telephony/java/android/telephony/ims/ImsMmTelManager.java b/telephony/java/android/telephony/ims/ImsMmTelManager.java
index bb85be1..e9aede7 100644
--- a/telephony/java/android/telephony/ims/ImsMmTelManager.java
+++ b/telephony/java/android/telephony/ims/ImsMmTelManager.java
@@ -21,9 +21,12 @@
 import android.annotation.CallbackExecutor;
 import android.annotation.IntDef;
 import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.RequiresPermission;
 import android.annotation.SystemApi;
 import android.content.Context;
+import android.content.pm.IPackageManager;
+import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.os.Binder;
 import android.os.RemoteException;
@@ -106,9 +109,9 @@
                         // case, since it is defined.
                         put(ImsRegistrationImplBase.REGISTRATION_TECH_NONE, -1);
                         put(ImsRegistrationImplBase.REGISTRATION_TECH_LTE,
-                                AccessNetworkConstants.TransportType.WWAN);
+                                AccessNetworkConstants.TRANSPORT_TYPE_WWAN);
                         put(ImsRegistrationImplBase.REGISTRATION_TECH_IWLAN,
-                                AccessNetworkConstants.TransportType.WLAN);
+                                AccessNetworkConstants.TRANSPORT_TYPE_WLAN);
                     }};
 
             private final RegistrationCallback mLocalCallback;
@@ -199,7 +202,7 @@
          *
          * @param info the {@link ImsReasonInfo} associated with why registration was disconnected.
          */
-        public void onUnregistered(ImsReasonInfo info) {
+        public void onUnregistered(@Nullable ImsReasonInfo info) {
         }
 
         /**
@@ -211,7 +214,7 @@
          *         transport type that has failed to handover registration to.
          * @param info A {@link ImsReasonInfo} that identifies the reason for failure.
          */
-        public void onTechnologyChangeFailed(int imsTransportType, ImsReasonInfo info) {
+        public void onTechnologyChangeFailed(int imsTransportType, @Nullable ImsReasonInfo info) {
         }
 
         /**
@@ -223,7 +226,7 @@
          *         subscription.
          * @hide
          */
-        public void onSubscriberAssociatedUriChanged(Uri[] uris) {
+        public void onSubscriberAssociatedUriChanged(@Nullable Uri[] uris) {
         }
 
         /**@hide*/
@@ -294,7 +297,7 @@
          * @param capabilities The new availability of the capabilities.
          */
         public void onCapabilitiesStatusChanged(
-                MmTelFeature.MmTelCapabilities capabilities) {
+                @NonNull MmTelFeature.MmTelCapabilities capabilities) {
         }
 
         /**@hide*/
@@ -313,13 +316,13 @@
     private int mSubId;
 
     /**
-     * Create an instance of ImsManager for the subscription id specified.
+     * Create an instance of {@link ImsMmTelManager} for the subscription id specified.
      *
      * @param subId The ID of the subscription that this ImsMmTelManager will use.
      * @see android.telephony.SubscriptionManager#getActiveSubscriptionInfoList()
      * @throws IllegalArgumentException if the subscription is invalid.
      */
-    public static ImsMmTelManager createForSubscriptionId(int subId) {
+    public static @NonNull ImsMmTelManager createForSubscriptionId(int subId) {
         if (!SubscriptionManager.isValidSubscriptionId(subId)) {
             throw new IllegalArgumentException("Invalid subscription ID");
         }
@@ -357,7 +360,7 @@
      * reason.
      */
     @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
-    public void registerImsRegistrationCallback(@CallbackExecutor Executor executor,
+    public void registerImsRegistrationCallback(@NonNull @CallbackExecutor Executor executor,
             @NonNull RegistrationCallback c) throws ImsException {
         if (c == null) {
             throw new IllegalArgumentException("Must include a non-null RegistrationCallback.");
@@ -365,12 +368,14 @@
         if (executor == null) {
             throw new IllegalArgumentException("Must include a non-null Executor.");
         }
+        if (!isImsAvailableOnDevice()) {
+            throw new ImsException("IMS not available on device.",
+                    ImsException.CODE_ERROR_UNSUPPORTED_OPERATION);
+        }
         c.setExecutor(executor);
         try {
             getITelephony().registerImsRegistrationCallback(mSubId, c.getBinder());
-        } catch (RemoteException e) {
-            throw e.rethrowAsRuntimeException();
-        } catch (IllegalStateException e) {
+        } catch (RemoteException | IllegalStateException e) {
             throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
         }
     }
@@ -433,6 +438,10 @@
         if (executor == null) {
             throw new IllegalArgumentException("Must include a non-null Executor.");
         }
+        if (!isImsAvailableOnDevice()) {
+            throw new ImsException("IMS not available on device.",
+                    ImsException.CODE_ERROR_UNSUPPORTED_OPERATION);
+        }
         c.setExecutor(executor);
         try {
             getITelephony().registerMmTelCapabilityCallback(mSubId, c.getBinder());
@@ -799,6 +808,22 @@
         }
     }
 
+    private static boolean isImsAvailableOnDevice() {
+        IPackageManager pm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
+        if (pm == null) {
+            // For some reason package manger is not available.. This will fail internally anyways,
+            // so do not throw error and allow.
+            return true;
+        }
+        try {
+            return pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_IMS, 0);
+        } catch (RemoteException e) {
+            // For some reason package manger is not available.. This will fail internally anyways,
+            // so do not throw error and allow.
+        }
+        return true;
+    }
+
     private static ITelephony getITelephony() {
         ITelephony binder = ITelephony.Stub.asInterface(
                 ServiceManager.getService(Context.TELEPHONY_SERVICE));
diff --git a/telephony/java/android/telephony/ims/ImsReasonInfo.java b/telephony/java/android/telephony/ims/ImsReasonInfo.java
index b018491..a478606 100644
--- a/telephony/java/android/telephony/ims/ImsReasonInfo.java
+++ b/telephony/java/android/telephony/ims/ImsReasonInfo.java
@@ -142,6 +142,11 @@
      * Call was disconnected because a handover is not feasible due to network conditions.
      */
     public static final int CODE_LOCAL_HO_NOT_FEASIBLE = 149;
+    /**
+     * This device does not support IMS.
+     * @hide
+     */
+    public static final int CODE_LOCAL_IMS_NOT_SUPPORTED_ON_DEVICE = 150;
 
     /*
      * TIMEOUT (IMS -> Telephony)
diff --git a/telephony/java/android/telephony/ims/ProvisioningManager.java b/telephony/java/android/telephony/ims/ProvisioningManager.java
index 6e98a0a..8cdf6a2 100644
--- a/telephony/java/android/telephony/ims/ProvisioningManager.java
+++ b/telephony/java/android/telephony/ims/ProvisioningManager.java
@@ -19,10 +19,13 @@
 import android.Manifest;
 import android.annotation.CallbackExecutor;
 import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.RequiresPermission;
 import android.annotation.SystemApi;
 import android.annotation.WorkerThread;
 import android.content.Context;
+import android.content.pm.IPackageManager;
+import android.content.pm.PackageManager;
 import android.os.Binder;
 import android.os.RemoteException;
 import android.os.ServiceManager;
@@ -153,7 +156,7 @@
          * @param item the IMS provisioning key constant, as defined by the OEM.
          * @param value the new String value of the IMS configuration constant.
          */
-        public void onProvisioningStringChanged(int item, String value) {
+        public void onProvisioningStringChanged(int item, @NonNull String value) {
             // Base Implementation
         }
 
@@ -177,7 +180,7 @@
      * @see android.telephony.SubscriptionManager#getActiveSubscriptionInfoList()
      * @throws IllegalArgumentException if the subscription is invalid.
      */
-    public static ProvisioningManager createForSubscriptionId(int subId) {
+    public static @NonNull ProvisioningManager createForSubscriptionId(int subId) {
         if (!SubscriptionManager.isValidSubscriptionId(subId)) {
             throw new IllegalArgumentException("Invalid subscription ID");
         }
@@ -206,14 +209,16 @@
      * reason.
      */
     @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
-    public void registerProvisioningChangedCallback(@CallbackExecutor Executor executor,
+    public void registerProvisioningChangedCallback(@NonNull @CallbackExecutor Executor executor,
             @NonNull Callback callback) throws ImsException {
+        if (!isImsAvailableOnDevice()) {
+            throw new ImsException("IMS not available on device.",
+                    ImsException.CODE_ERROR_UNSUPPORTED_OPERATION);
+        }
         callback.setExecutor(executor);
         try {
             getITelephony().registerImsProvisioningChangedCallback(mSubId, callback.getBinder());
-        } catch (RemoteException e) {
-            throw e.rethrowAsRuntimeException();
-        }  catch (IllegalStateException e) {
+        } catch (RemoteException | IllegalStateException e) {
             throw new ImsException(e.getMessage(), ImsException.CODE_ERROR_SERVICE_UNAVAILABLE);
         }
     }
@@ -231,8 +236,7 @@
     @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
     public void unregisterProvisioningChangedCallback(@NonNull Callback callback) {
         try {
-            getITelephony().unregisterImsProvisioningChangedCallback(mSubId,
-                    callback.getBinder());
+            getITelephony().unregisterImsProvisioningChangedCallback(mSubId, callback.getBinder());
         } catch (RemoteException e) {
             throw e.rethrowAsRuntimeException();
         }
@@ -271,7 +275,7 @@
      */
     @WorkerThread
     @RequiresPermission(Manifest.permission.READ_PRIVILEGED_PHONE_STATE)
-    public String getProvisioningStringValue(int key) {
+    public @Nullable String getProvisioningStringValue(int key) {
         try {
             return getITelephony().getImsProvisioningString(mSubId, key);
         } catch (RemoteException e) {
@@ -313,7 +317,7 @@
     @WorkerThread
     @RequiresPermission(Manifest.permission.MODIFY_PHONE_STATE)
     public @ImsConfigImplBase.SetConfigResult int setProvisioningStringValue(int key,
-            String value) {
+            @NonNull String value) {
         try {
             return getITelephony().setImsProvisioningString(mSubId, key, value);
         } catch (RemoteException e) {
@@ -372,6 +376,22 @@
         }
     }
 
+    private static boolean isImsAvailableOnDevice() {
+        IPackageManager pm = IPackageManager.Stub.asInterface(ServiceManager.getService("package"));
+        if (pm == null) {
+            // For some reason package manger is not available.. This will fail internally anyways,
+            // so do not throw error and allow.
+            return true;
+        }
+        try {
+            return pm.hasSystemFeature(PackageManager.FEATURE_TELEPHONY_IMS, 0);
+        } catch (RemoteException e) {
+            // For some reason package manger is not available.. This will fail internally anyways,
+            // so do not throw error and allow.
+        }
+        return true;
+    }
+
     private static ITelephony getITelephony() {
         ITelephony binder = ITelephony.Stub.asInterface(
                 ServiceManager.getService(Context.TELEPHONY_SERVICE));
diff --git a/telephony/java/android/telephony/ims/RcsGroupThreadIconChangedEventDescriptor.java b/telephony/java/android/telephony/ims/RcsGroupThreadIconChangedEventDescriptor.java
index 1fb8798..bcadc80 100644
--- a/telephony/java/android/telephony/ims/RcsGroupThreadIconChangedEventDescriptor.java
+++ b/telephony/java/android/telephony/ims/RcsGroupThreadIconChangedEventDescriptor.java
@@ -17,6 +17,7 @@
 
 import static com.android.internal.annotations.VisibleForTesting.Visibility.PROTECTED;
 
+import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.net.Uri;
 import android.os.Parcel;
@@ -42,7 +43,7 @@
                 new RcsParticipant(mOriginatingParticipantId), mNewIcon);
     }
 
-    public static final @android.annotation.NonNull Creator<RcsGroupThreadIconChangedEventDescriptor> CREATOR =
+    public static final @NonNull Creator<RcsGroupThreadIconChangedEventDescriptor> CREATOR =
             new Creator<RcsGroupThreadIconChangedEventDescriptor>() {
                 @Override
                 public RcsGroupThreadIconChangedEventDescriptor createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsGroupThreadNameChangedEventDescriptor.java b/telephony/java/android/telephony/ims/RcsGroupThreadNameChangedEventDescriptor.java
index 980aba2..597fa0a 100644
--- a/telephony/java/android/telephony/ims/RcsGroupThreadNameChangedEventDescriptor.java
+++ b/telephony/java/android/telephony/ims/RcsGroupThreadNameChangedEventDescriptor.java
@@ -17,6 +17,7 @@
 
 import static com.android.internal.annotations.VisibleForTesting.Visibility.PROTECTED;
 
+import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.os.Parcel;
 
@@ -44,7 +45,7 @@
                 mNewName);
     }
 
-    public static final @android.annotation.NonNull Creator<RcsGroupThreadNameChangedEventDescriptor> CREATOR =
+    public static final @NonNull Creator<RcsGroupThreadNameChangedEventDescriptor> CREATOR =
             new Creator<RcsGroupThreadNameChangedEventDescriptor>() {
                 @Override
                 public RcsGroupThreadNameChangedEventDescriptor createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsGroupThreadParticipantJoinedEventDescriptor.java b/telephony/java/android/telephony/ims/RcsGroupThreadParticipantJoinedEventDescriptor.java
index e899e1c..abea10a 100644
--- a/telephony/java/android/telephony/ims/RcsGroupThreadParticipantJoinedEventDescriptor.java
+++ b/telephony/java/android/telephony/ims/RcsGroupThreadParticipantJoinedEventDescriptor.java
@@ -17,6 +17,7 @@
 
 import static com.android.internal.annotations.VisibleForTesting.Visibility.PROTECTED;
 
+import android.annotation.NonNull;
 import android.os.Parcel;
 
 import com.android.internal.annotations.VisibleForTesting;
@@ -43,7 +44,7 @@
                 new RcsParticipant(mJoinedParticipantId));
     }
 
-    public static final @android.annotation.NonNull Creator<RcsGroupThreadParticipantJoinedEventDescriptor> CREATOR =
+    public static final @NonNull Creator<RcsGroupThreadParticipantJoinedEventDescriptor> CREATOR =
             new Creator<RcsGroupThreadParticipantJoinedEventDescriptor>() {
                 @Override
                 public RcsGroupThreadParticipantJoinedEventDescriptor createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsGroupThreadParticipantLeftEventDescriptor.java b/telephony/java/android/telephony/ims/RcsGroupThreadParticipantLeftEventDescriptor.java
index 8eefb4b..f287db1 100644
--- a/telephony/java/android/telephony/ims/RcsGroupThreadParticipantLeftEventDescriptor.java
+++ b/telephony/java/android/telephony/ims/RcsGroupThreadParticipantLeftEventDescriptor.java
@@ -17,6 +17,7 @@
 
 import static com.android.internal.annotations.VisibleForTesting.Visibility.PROTECTED;
 
+import android.annotation.NonNull;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -44,7 +45,8 @@
                 new RcsParticipant(mLeavingParticipantId));
     }
 
-    public static final @android.annotation.NonNull Parcelable.Creator<RcsGroupThreadParticipantLeftEventDescriptor> CREATOR =
+    @NonNull
+    public static final Parcelable.Creator<RcsGroupThreadParticipantLeftEventDescriptor> CREATOR =
             new Creator<RcsGroupThreadParticipantLeftEventDescriptor>() {
                 @Override
                 public RcsGroupThreadParticipantLeftEventDescriptor createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsIncomingMessageCreationParams.java b/telephony/java/android/telephony/ims/RcsIncomingMessageCreationParams.java
index 955f263..d95dc4f 100644
--- a/telephony/java/android/telephony/ims/RcsIncomingMessageCreationParams.java
+++ b/telephony/java/android/telephony/ims/RcsIncomingMessageCreationParams.java
@@ -17,6 +17,7 @@
 package android.telephony.ims;
 
 import android.annotation.CheckResult;
+import android.annotation.NonNull;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -152,7 +153,7 @@
         return mSenderParticipantId;
     }
 
-    public static final @android.annotation.NonNull Creator<RcsIncomingMessageCreationParams> CREATOR =
+    public static final @NonNull Creator<RcsIncomingMessageCreationParams> CREATOR =
             new Creator<RcsIncomingMessageCreationParams>() {
                 @Override
                 public RcsIncomingMessageCreationParams createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsOutgoingMessageCreationParams.java b/telephony/java/android/telephony/ims/RcsOutgoingMessageCreationParams.java
index 22fd8a5..c001ffb 100644
--- a/telephony/java/android/telephony/ims/RcsOutgoingMessageCreationParams.java
+++ b/telephony/java/android/telephony/ims/RcsOutgoingMessageCreationParams.java
@@ -16,6 +16,7 @@
 
 package android.telephony.ims;
 
+import android.annotation.NonNull;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -64,7 +65,7 @@
         super(in);
     }
 
-    public static final @android.annotation.NonNull Creator<RcsOutgoingMessageCreationParams> CREATOR =
+    public static final @NonNull Creator<RcsOutgoingMessageCreationParams> CREATOR =
             new Creator<RcsOutgoingMessageCreationParams>() {
                 @Override
                 public RcsOutgoingMessageCreationParams createFromParcel(Parcel in) {
diff --git a/telephony/java/android/telephony/ims/RcsParticipantAliasChangedEventDescriptor.java b/telephony/java/android/telephony/ims/RcsParticipantAliasChangedEventDescriptor.java
index aad9fb3..b29896c 100644
--- a/telephony/java/android/telephony/ims/RcsParticipantAliasChangedEventDescriptor.java
+++ b/telephony/java/android/telephony/ims/RcsParticipantAliasChangedEventDescriptor.java
@@ -17,6 +17,7 @@
 
 import static com.android.internal.annotations.VisibleForTesting.Visibility.PROTECTED;
 
+import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.os.Parcel;
 
@@ -45,7 +46,7 @@
                 mTimestamp, new RcsParticipant(mParticipantId), mNewAlias);
     }
 
-    public static final @android.annotation.NonNull Creator<RcsParticipantAliasChangedEventDescriptor> CREATOR =
+    public static final @NonNull Creator<RcsParticipantAliasChangedEventDescriptor> CREATOR =
             new Creator<RcsParticipantAliasChangedEventDescriptor>() {
                 @Override
                 public RcsParticipantAliasChangedEventDescriptor createFromParcel(Parcel in) {
diff --git a/telephony/java/com/android/internal/telephony/IOns.aidl b/telephony/java/com/android/internal/telephony/IOns.aidl
index 0e3d12b..2c48b65 100755
--- a/telephony/java/com/android/internal/telephony/IOns.aidl
+++ b/telephony/java/com/android/internal/telephony/IOns.aidl
@@ -18,6 +18,9 @@
 
 import android.telephony.AvailableNetworkInfo;
 
+import com.android.internal.telephony.ISetOpportunisticDataCallback;
+import com.android.internal.telephony.IUpdateAvailableNetworksCallback;
+
 interface IOns {
 
     /**
@@ -62,11 +65,13 @@
      * @param subId which opportunistic subscription
      * {@link SubscriptionManager#getOpportunisticSubscriptions} is preferred for cellular data.
      * Pass {@link SubscriptionManager#DEFAULT_SUBSCRIPTION_ID} to unset the preference
+     * @param needValidation whether validation is needed before switch happens.
+     * @param callback callback upon request completion.
      * @param callingPackage caller's package name
-     * @return true if request is accepted, else false.
      *
      */
-    boolean setPreferredDataSubscriptionId(int subId, String callingPackage);
+    void setPreferredDataSubscriptionId(int subId, boolean needValidation,
+            ISetOpportunisticDataCallback callbackStub, String callingPackage);
 
     /**
      * Get preferred opportunistic data subscription Id
@@ -93,9 +98,9 @@
      * {@link android.Manifest.permission#MODIFY_PHONE_STATE MODIFY_PHONE_STATE}.
      *  @param availableNetworks is a list of available network information.
      *  @param callingPackage caller's package name
-     *  @return true if request is accepted
+     *  @param callback callback upon request completion.
      *
      */
-    boolean updateAvailableNetworks(in List<AvailableNetworkInfo> availableNetworks,
-            String callingPackage);
+    void updateAvailableNetworks(in List<AvailableNetworkInfo> availableNetworks,
+            IUpdateAvailableNetworksCallback callbackStub, String callingPackage);
 }
diff --git a/telephony/java/com/android/internal/telephony/ISub.aidl b/telephony/java/com/android/internal/telephony/ISub.aidl
index 79e0aa1..3bbf7a4 100755
--- a/telephony/java/com/android/internal/telephony/ISub.aidl
+++ b/telephony/java/com/android/internal/telephony/ISub.aidl
@@ -205,15 +205,6 @@
     String setSubscriptionGroup(in int[] subIdList, String callingPackage);
 
     /**
-     * Set whether a subscription is metered
-     *
-     * @param isMetered whether it’s a metered subscription.
-     * @param subId the unique SubscriptionInfo index in database
-     * @return the number of records updated
-     */
-    int setMetered(boolean isMetered, int subId, String callingPackage);
-
-    /**
      * Set which subscription is preferred for cellular data. It's
      * designed to overwrite default data subscription temporarily.
      *
diff --git a/telephony/java/com/android/internal/telephony/ITelephony.aidl b/telephony/java/com/android/internal/telephony/ITelephony.aidl
index b90194a..c2c31cc 100644
--- a/telephony/java/com/android/internal/telephony/ITelephony.aidl
+++ b/telephony/java/com/android/internal/telephony/ITelephony.aidl
@@ -553,6 +553,20 @@
     void setCellInfoListRate(int rateInMillis);
 
     /**
+     * Opens a logical channel to the ICC card using the physical slot index.
+     *
+     * Input parameters equivalent to TS 27.007 AT+CCHO command.
+     *
+     * @param slotIndex The physical slot index of the target ICC card
+     * @param callingPackage the name of the package making the call.
+     * @param AID Application id. See ETSI 102.221 and 101.220.
+     * @param p2 P2 parameter (described in ISO 7816-4).
+     * @return an IccOpenLogicalChannelResponse object.
+     */
+    IccOpenLogicalChannelResponse iccOpenLogicalChannelBySlot(
+            int slotIndex, String callingPackage, String AID, int p2);
+
+    /**
      * Opens a logical channel to the ICC card.
      *
      * Input parameters equivalent to TS 27.007 AT+CCHO command.
@@ -567,12 +581,24 @@
             int subId, String callingPackage, String AID, int p2);
 
     /**
+     * Closes a previously opened logical channel to the ICC card using the physical slot index.
+     *
+     * Input parameters equivalent to TS 27.007 AT+CCHC command.
+     *
+     * @param slotIndex The physical slot index of the target ICC card
+     * @param channel is the channel id to be closed as returned by a
+     *            successful iccOpenLogicalChannel.
+     * @return true if the channel was closed successfully.
+     */
+    boolean iccCloseLogicalChannelBySlot(int slotIndex, int channel);
+
+    /**
      * Closes a previously opened logical channel to the ICC card.
      *
      * Input parameters equivalent to TS 27.007 AT+CCHC command.
      *
      * @param subId The subscription to use.
-     * @param channel is the channel id to be closed as retruned by a
+     * @param channel is the channel id to be closed as returned by a
      *            successful iccOpenLogicalChannel.
      * @return true if the channel was closed successfully.
      */
@@ -580,12 +606,33 @@
     boolean iccCloseLogicalChannel(int subId, int channel);
 
     /**
+     * Transmit an APDU to the ICC card over a logical channel using the physical slot index.
+     *
+     * Input parameters equivalent to TS 27.007 AT+CGLA command.
+     *
+     * @param slotIndex The physical slot index of the target ICC card
+     * @param channel is the channel id to be closed as returned by a
+     *            successful iccOpenLogicalChannel.
+     * @param cla Class of the APDU command.
+     * @param instruction Instruction of the APDU command.
+     * @param p1 P1 value of the APDU command.
+     * @param p2 P2 value of the APDU command.
+     * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU
+     *            is sent to the SIM.
+     * @param data Data to be sent with the APDU.
+     * @return The APDU response from the ICC card with the status appended at
+     *            the end.
+     */
+    String iccTransmitApduLogicalChannelBySlot(int slotIndex, int channel, int cla, int instruction,
+            int p1, int p2, int p3, String data);
+
+    /**
      * Transmit an APDU to the ICC card over a logical channel.
      *
      * Input parameters equivalent to TS 27.007 AT+CGLA command.
      *
      * @param subId The subscription to use.
-     * @param channel is the channel id to be closed as retruned by a
+     * @param channel is the channel id to be closed as returned by a
      *            successful iccOpenLogicalChannel.
      * @param cla Class of the APDU command.
      * @param instruction Instruction of the APDU command.
@@ -602,6 +649,26 @@
             int p1, int p2, int p3, String data);
 
     /**
+     * Transmit an APDU to the ICC card over the basic channel using the physical slot index.
+     *
+     * Input parameters equivalent to TS 27.007 AT+CSIM command.
+     *
+     * @param slotIndex The physical slot index of the target ICC card
+     * @param callingPackage the name of the package making the call.
+     * @param cla Class of the APDU command.
+     * @param instruction Instruction of the APDU command.
+     * @param p1 P1 value of the APDU command.
+     * @param p2 P2 value of the APDU command.
+     * @param p3 P3 value of the APDU command. If p3 is negative a 4 byte APDU
+     *            is sent to the SIM.
+     * @param data Data to be sent with the APDU.
+     * @return The APDU response from the ICC card with the status appended at
+     *            the end.
+     */
+    String iccTransmitApduBasicChannelBySlot(int slotIndex, String callingPackage, int cla,
+            int instruction, int p1, int p2, int p3, String data);
+
+    /**
      * Transmit an APDU to the ICC card over the basic channel.
      *
      * Input parameters equivalent to TS 27.007 AT+CSIM command.
@@ -1369,7 +1436,7 @@
     /**
      * Returns fine-grained carrier id of the current subscription.
      *
-     * <p>The precise carrier id can be used to further differentiate a carrier by different
+     * <p>The specific carrier id can be used to further differentiate a carrier by different
      * networks, by prepaid v.s.postpaid or even by 4G v.s.3G plan. Each carrier has a unique
      * carrier id {@link #getSimCarrierId()} but can have multiple precise carrier id. e.g,
      * {@link #getSimCarrierId()} will always return Tracfone (id 2022) for a Tracfone SIM, while
@@ -1383,19 +1450,19 @@
      * be identified.
      * @hide
      */
-    int getSubscriptionPreciseCarrierId(int subId);
+    int getSubscriptionSpecificCarrierId(int subId);
 
     /**
      * Similar like {@link #getSimCarrierIdName()}, returns user-facing name of the
-     * precise carrier id {@link #getSimPreciseCarrierId()}
+     * specific carrier id {@link #getSimSpecificCarrierId()}
      *
      * <p>The returned name is unlocalized.
      *
-     * @return user-facing name of the subscription precise carrier id. Return {@code null} if the
+     * @return user-facing name of the subscription specific carrier id. Return {@code null} if the
      * subscription is unavailable or the carrier cannot be identified.
      * @hide
      */
-    String getSubscriptionPreciseCarrierName(int subId);
+    String getSubscriptionSpecificCarrierName(int subId);
 
     /**
      * Returns carrier id based on MCCMNC only. This will return a MNO carrier id used for fallback
@@ -1616,7 +1683,7 @@
      * (also any country or carrier overlays) to be loaded when using a test SIM with a call box.
      */
     void setCarrierTestOverride(int subId, String mccmnc, String imsi, String iccid, String gid1,
-            String gid2, String plmn, String spn);
+            String gid2, String plmn, String spn, String carrierPrivilegeRules, String apn);
 
     /**
      * A test API to return installed carrier id list version.
@@ -1773,12 +1840,12 @@
     /**
      * Return the emergency number list from all the active subscriptions.
      */
-    Map getCurrentEmergencyNumberList(String callingPackage);
+    Map getEmergencyNumberList(String callingPackage);
 
     /**
      * Identify if the number is emergency number, based on all the active subscriptions.
      */
-    boolean isCurrentEmergencyNumber(String number, boolean exactMatch);
+    boolean isEmergencyNumber(String number, boolean exactMatch);
 
     /**
      * Return a list of certs in hex string from loaded carrier privileges access rules.
diff --git a/media/java/android/media/session/SessionLink.aidl b/telephony/java/com/android/internal/telephony/IUpdateAvailableNetworksCallback.aidl
similarity index 73%
copy from media/java/android/media/session/SessionLink.aidl
copy to telephony/java/com/android/internal/telephony/IUpdateAvailableNetworksCallback.aidl
index c3be23e..8fe086ce 100644
--- a/media/java/android/media/session/SessionLink.aidl
+++ b/telephony/java/com/android/internal/telephony/IUpdateAvailableNetworksCallback.aidl
@@ -14,6 +14,12 @@
  * limitations under the License.
  */
 
-package android.media.session;
+package com.android.internal.telephony;
 
-parcelable SessionLink;
+/**
+ * Callback to provide asynchronous result of updateAvailableNetworks.
+ * @hide
+ */
+oneway interface IUpdateAvailableNetworksCallback {
+    void onComplete(int result);
+}
diff --git a/telephony/java/com/android/internal/telephony/SmsApplication.java b/telephony/java/com/android/internal/telephony/SmsApplication.java
index 7478a00..ef7c605 100644
--- a/telephony/java/com/android/internal/telephony/SmsApplication.java
+++ b/telephony/java/com/android/internal/telephony/SmsApplication.java
@@ -19,7 +19,6 @@
 import android.Manifest.permission;
 import android.app.AppOpsManager;
 import android.app.role.RoleManager;
-import android.app.role.RoleManagerCallback;
 import android.content.ComponentName;
 import android.content.Context;
 import android.content.Intent;
@@ -51,9 +50,11 @@
 import java.util.Collection;
 import java.util.HashMap;
 import java.util.List;
+import java.util.concurrent.CompletableFuture;
 import java.util.concurrent.ExecutionException;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.TimeoutException;
+import java.util.function.Consumer;
 
 /**
  * Class for managing the primary application that we will deliver SMS/MMS messages to
@@ -634,12 +635,19 @@
             }
 
             // Update the setting.
-            RoleManagerCallback.Future res = new RoleManagerCallback.Future();
+            CompletableFuture<Void> future = new CompletableFuture<>();
+            Consumer<Boolean> callback = successful -> {
+                if (successful) {
+                    future.complete(null);
+                } else {
+                    future.completeExceptionally(new RuntimeException());
+                }
+            };
             context.getSystemService(RoleManager.class).addRoleHolderAsUser(
                     RoleManager.ROLE_SMS, applicationData.mPackageName, 0, UserHandle.of(userId),
-                    AsyncTask.THREAD_POOL_EXECUTOR, res);
+                    AsyncTask.THREAD_POOL_EXECUTOR, callback);
             try {
-                res.get(5, TimeUnit.SECONDS);
+                future.get(5, TimeUnit.SECONDS);
             } catch (InterruptedException | ExecutionException | TimeoutException e) {
                 Log.e(LOG_TAG, "Exception while adding sms role holder " + applicationData, e);
                 return;
diff --git a/test-mock/src/android/test/mock/MockContext.java b/test-mock/src/android/test/mock/MockContext.java
index ae6cd29..a95b6f1 100644
--- a/test-mock/src/android/test/mock/MockContext.java
+++ b/test-mock/src/android/test/mock/MockContext.java
@@ -577,9 +577,14 @@
     }
 
     @Override
-    public boolean bindIsolatedService(Intent service,
-            ServiceConnection conn, int flags,
-            String instanceName) {
+    public boolean bindService(Intent service, int flags, Executor executor,
+            ServiceConnection conn) {
+        throw new UnsupportedOperationException();
+    }
+
+    @Override
+    public boolean bindIsolatedService(Intent service, int flags, String instanceName,
+            Executor executor, ServiceConnection conn) {
         throw new UnsupportedOperationException();
     }
 
diff --git a/test-runner/src/android/test/IsolatedContext.java b/test-runner/src/android/test/IsolatedContext.java
index 73db451..dd4a9a3 100644
--- a/test-runner/src/android/test/IsolatedContext.java
+++ b/test-runner/src/android/test/IsolatedContext.java
@@ -17,13 +17,13 @@
 package android.test;
 
 import android.accounts.AccountManager;
-import android.content.ContextWrapper;
-import android.content.ContentResolver;
-import android.content.Intent;
-import android.content.Context;
-import android.content.ServiceConnection;
 import android.content.BroadcastReceiver;
+import android.content.ContentResolver;
+import android.content.Context;
+import android.content.ContextWrapper;
+import android.content.Intent;
 import android.content.IntentFilter;
+import android.content.ServiceConnection;
 import android.content.pm.PackageManager;
 import android.net.Uri;
 import android.test.mock.MockAccountManager;
@@ -31,6 +31,7 @@
 import java.io.File;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.concurrent.Executor;
 
 
 /**
@@ -75,8 +76,14 @@
     }
 
     @Override
-    public boolean bindIsolatedService(Intent service, ServiceConnection conn, int flags,
-            String instanceName) {
+    public boolean bindService(Intent service, int flags, Executor executor,
+            ServiceConnection conn) {
+        return false;
+    }
+
+    @Override
+    public boolean bindIsolatedService(Intent service, int flags, String instanceName,
+            Executor executor, ServiceConnection conn) {
         return false;
     }
 
diff --git a/tests/AccessibilityEventsLogger/Android.bp b/tests/AccessibilityEventsLogger/Android.bp
new file mode 100644
index 0000000..ead1656
--- /dev/null
+++ b/tests/AccessibilityEventsLogger/Android.bp
@@ -0,0 +1,9 @@
+android_test {
+    name: "AccessibilityEventsLogger",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    certificate: "platform",
+    optimize: {
+        enabled: false,
+    },
+}
diff --git a/tests/AccessibilityEventsLogger/Android.mk b/tests/AccessibilityEventsLogger/Android.mk
deleted file mode 100644
index 4224017..0000000
--- a/tests/AccessibilityEventsLogger/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := AccessibilityEventsLogger
-LOCAL_SDK_VERSION := current
-LOCAL_CERTIFICATE := platform
-
-LOCAL_PROGUARD_ENABLED := disabled
-
-include $(BUILD_PACKAGE)
diff --git a/tests/AccessoryDisplay/Android.mk b/tests/AccessoryDisplay/Android.mk
deleted file mode 100644
index 85cb309..0000000
--- a/tests/AccessoryDisplay/Android.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright (C) 2013 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.
-
-LOCAL_PATH := $(call my-dir)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/AccessoryDisplay/common/Android.bp b/tests/AccessoryDisplay/common/Android.bp
new file mode 100644
index 0000000..3ce4c57
--- /dev/null
+++ b/tests/AccessoryDisplay/common/Android.bp
@@ -0,0 +1,20 @@
+// Copyright (C) 2013 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.
+
+// Build the application.
+java_library_static {
+    name: "AccessoryDisplayCommon",
+    sdk_version: "current",
+    srcs: ["src/**/*.java"],
+}
diff --git a/tests/AccessoryDisplay/common/Android.mk b/tests/AccessoryDisplay/common/Android.mk
deleted file mode 100644
index 2d4de15..0000000
--- a/tests/AccessoryDisplay/common/Android.mk
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright (C) 2013 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.
-
-LOCAL_PATH := $(call my-dir)
-
-# Build the application.
-include $(CLEAR_VARS)
-LOCAL_MODULE := AccessoryDisplayCommon
-LOCAL_MODULE_TAGS := tests
-LOCAL_SDK_VERSION := current
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/tests/AccessoryDisplay/sink/Android.bp b/tests/AccessoryDisplay/sink/Android.bp
new file mode 100644
index 0000000..4e50a81
--- /dev/null
+++ b/tests/AccessoryDisplay/sink/Android.bp
@@ -0,0 +1,22 @@
+// Copyright (C) 2013 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.
+
+// Build the application.
+android_test {
+    name: "AccessoryDisplaySink",
+    sdk_version: "current",
+    srcs: ["src/**/*.java"],
+    resource_dirs: ["res"],
+    static_libs: ["AccessoryDisplayCommon"],
+}
diff --git a/tests/AccessoryDisplay/sink/Android.mk b/tests/AccessoryDisplay/sink/Android.mk
deleted file mode 100644
index 772ce0c..0000000
--- a/tests/AccessoryDisplay/sink/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (C) 2013 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.
-
-LOCAL_PATH := $(call my-dir)
-
-# Build the application.
-include $(CLEAR_VARS)
-LOCAL_PACKAGE_NAME := AccessoryDisplaySink
-LOCAL_MODULE_TAGS := tests
-LOCAL_SDK_VERSION := current
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_RESOURCE_DIR = $(LOCAL_PATH)/res
-LOCAL_STATIC_JAVA_LIBRARIES := AccessoryDisplayCommon
-include $(BUILD_PACKAGE)
diff --git a/tests/AccessoryDisplay/source/Android.bp b/tests/AccessoryDisplay/source/Android.bp
new file mode 100644
index 0000000..6d8087f
--- /dev/null
+++ b/tests/AccessoryDisplay/source/Android.bp
@@ -0,0 +1,22 @@
+// Copyright (C) 2013 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.
+
+// Build the application.
+android_test {
+    name: "AccessoryDisplaySource",
+    sdk_version: "current",
+    srcs: ["src/**/*.java"],
+    resource_dirs: ["res"],
+    static_libs: ["AccessoryDisplayCommon"],
+}
diff --git a/tests/AccessoryDisplay/source/Android.mk b/tests/AccessoryDisplay/source/Android.mk
deleted file mode 100644
index 5d1085d..0000000
--- a/tests/AccessoryDisplay/source/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright (C) 2013 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.
-
-LOCAL_PATH := $(call my-dir)
-
-# Build the application.
-include $(CLEAR_VARS)
-LOCAL_PACKAGE_NAME := AccessoryDisplaySource
-LOCAL_MODULE_TAGS := tests
-LOCAL_SDK_VERSION := current
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_RESOURCE_DIR = $(LOCAL_PATH)/res
-LOCAL_STATIC_JAVA_LIBRARIES := AccessoryDisplayCommon
-include $(BUILD_PACKAGE)
diff --git a/tests/ActivityManagerPerfTests/test-app/Android.bp b/tests/ActivityManagerPerfTests/test-app/Android.bp
new file mode 100644
index 0000000..ef9d587
--- /dev/null
+++ b/tests/ActivityManagerPerfTests/test-app/Android.bp
@@ -0,0 +1,21 @@
+// 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.
+
+android_test {
+    name: "ActivityManagerPerfTestsTestApp",
+    srcs: ["src/**/*.java"],
+    static_libs: ["ActivityManagerPerfTestsUtils"],
+    min_sdk_version: "25",
+    sdk_version: "current",
+}
diff --git a/tests/ActivityManagerPerfTests/test-app/Android.mk b/tests/ActivityManagerPerfTests/test-app/Android.mk
deleted file mode 100644
index 33d15d2..0000000
--- a/tests/ActivityManagerPerfTests/test-app/Android.mk
+++ /dev/null
@@ -1,31 +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.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := \
-    $(call all-java-files-under, src)
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    ActivityManagerPerfTestsUtils
-
-LOCAL_MIN_SDK_VERSION := 25
-
-LOCAL_PACKAGE_NAME := ActivityManagerPerfTestsTestApp
-LOCAL_SDK_VERSION := current
-
-include $(BUILD_PACKAGE)
diff --git a/tests/ActivityManagerPerfTests/tests/Android.bp b/tests/ActivityManagerPerfTests/tests/Android.bp
new file mode 100644
index 0000000..2ae2cc4
--- /dev/null
+++ b/tests/ActivityManagerPerfTests/tests/Android.bp
@@ -0,0 +1,27 @@
+// 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.
+
+android_test {
+    name: "ActivityManagerPerfTests",
+    srcs: ["src/**/*.java"],
+    static_libs: [
+        "androidx.test.rules",
+        "apct-perftests-utils",
+        "ActivityManagerPerfTestsUtils",
+    ],
+    platform_apis: true,
+    min_sdk_version: "25",
+    // For android.permission.FORCE_STOP_PACKAGES permission
+    certificate: "platform",
+}
diff --git a/tests/ActivityManagerPerfTests/tests/Android.mk b/tests/ActivityManagerPerfTests/tests/Android.mk
deleted file mode 100644
index e1f56b8..0000000
--- a/tests/ActivityManagerPerfTests/tests/Android.mk
+++ /dev/null
@@ -1,36 +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.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := \
-    $(call all-java-files-under, src)
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    androidx.test.rules \
-    apct-perftests-utils \
-    ActivityManagerPerfTestsUtils
-
-LOCAL_PACKAGE_NAME := ActivityManagerPerfTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_MIN_SDK_VERSION := 25
-
-# For android.permission.FORCE_STOP_PACKAGES permission
-LOCAL_CERTIFICATE := platform
-
-include $(BUILD_PACKAGE)
diff --git a/tests/ActivityManagerPerfTests/utils/Android.bp b/tests/ActivityManagerPerfTests/utils/Android.bp
new file mode 100644
index 0000000..300b7ea
--- /dev/null
+++ b/tests/ActivityManagerPerfTests/utils/Android.bp
@@ -0,0 +1,27 @@
+// 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.
+
+java_test {
+    name: "ActivityManagerPerfTestsUtils",
+    sdk_version: "current",
+    srcs: [
+        "src/**/*.java",
+        "src/com/android/frameworks/perftests/am/util/ITimeReceiverCallback.aidl",
+    ],
+    static_libs: [
+        "androidx.test.rules",
+        "junit",
+        "ub-uiautomator",
+    ],
+}
diff --git a/tests/ActivityManagerPerfTests/utils/Android.mk b/tests/ActivityManagerPerfTests/utils/Android.mk
deleted file mode 100644
index 7a7471d..0000000
--- a/tests/ActivityManagerPerfTests/utils/Android.mk
+++ /dev/null
@@ -1,32 +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.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-LOCAL_SDK_VERSION := current
-
-LOCAL_SRC_FILES := \
-    $(call all-java-files-under, src) \
-    src/com/android/frameworks/perftests/am/util/ITimeReceiverCallback.aidl
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    androidx.test.rules \
-    junit \
-    ub-uiautomator
-
-LOCAL_MODULE := ActivityManagerPerfTestsUtils
-
-include $(BUILD_STATIC_JAVA_LIBRARY)
diff --git a/tests/ActivityTests/Android.bp b/tests/ActivityTests/Android.bp
new file mode 100644
index 0000000..0182862
--- /dev/null
+++ b/tests/ActivityTests/Android.bp
@@ -0,0 +1,6 @@
+android_test {
+    name: "ActivityTest",
+    srcs: ["**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+}
diff --git a/tests/ActivityTests/Android.mk b/tests/ActivityTests/Android.mk
deleted file mode 100644
index 94294f6..0000000
--- a/tests/ActivityTests/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := ActivityTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_MODULE_TAGS := tests
-LOCAL_CERTIFICATE := platform
-
-LOCAL_USE_AAPT2 := true
-
-include $(BUILD_PACKAGE)
diff --git a/tests/ActivityViewTest/Android.bp b/tests/ActivityViewTest/Android.bp
new file mode 100644
index 0000000..e7b8c8e
--- /dev/null
+++ b/tests/ActivityViewTest/Android.bp
@@ -0,0 +1,6 @@
+android_test {
+    name: "ActivityViewTest",
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+}
diff --git a/tests/ActivityViewTest/Android.mk b/tests/ActivityViewTest/Android.mk
deleted file mode 100644
index 9c7ca7e..0000000
--- a/tests/ActivityViewTest/Android.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := ActivityViewTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_MODULE_TAGS := tests
-LOCAL_CERTIFICATE := platform
-
-include $(BUILD_PACKAGE)
diff --git a/tests/AmSlam/Android.bp b/tests/AmSlam/Android.bp
new file mode 100644
index 0000000..a8e575a
--- /dev/null
+++ b/tests/AmSlam/Android.bp
@@ -0,0 +1,23 @@
+//
+// Copyright (C) 2016 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.
+//
+
+android_test {
+    name: "AmSlam",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    min_sdk_version: "21",
+    java_version: "1.8",
+}
diff --git a/tests/AmSlam/Android.mk b/tests/AmSlam/Android.mk
deleted file mode 100644
index 934bae0..0000000
--- a/tests/AmSlam/Android.mk
+++ /dev/null
@@ -1,30 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := AmSlam
-
-LOCAL_SDK_VERSION := current
-LOCAL_MIN_SDK_VERSION := 21
-LOCAL_JAVA_LANGUAGE_VERSION := 1.8
-
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/AppLaunch/Android.bp b/tests/AppLaunch/Android.bp
new file mode 100644
index 0000000..f90f26f
--- /dev/null
+++ b/tests/AppLaunch/Android.bp
@@ -0,0 +1,13 @@
+android_test {
+    name: "AppLaunch",
+    // Only compile source java files in this apk.
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+    libs: [
+        "android.test.base",
+        "android.test.runner",
+    ],
+    static_libs: ["androidx.test.rules"],
+    test_suites: ["device-tests"],
+}
diff --git a/tests/AppLaunch/Android.mk b/tests/AppLaunch/Android.mk
deleted file mode 100644
index f50bca5..0000000
--- a/tests/AppLaunch/Android.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-# Only compile source java files in this apk.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := AppLaunch
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_CERTIFICATE := platform
-LOCAL_JAVA_LIBRARIES := android.test.base android.test.runner
-
-LOCAL_STATIC_JAVA_LIBRARIES := androidx.test.rules
-
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-include $(BUILD_PACKAGE)
-
-# Use the following include to make our test apk.
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/AppLaunchWear/Android.bp b/tests/AppLaunchWear/Android.bp
new file mode 100644
index 0000000..8d34b6e
--- /dev/null
+++ b/tests/AppLaunchWear/Android.bp
@@ -0,0 +1,13 @@
+android_test {
+    name: "AppLaunchWear",
+    // Only compile source java files in this apk.
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+    libs: [
+        "android.test.base",
+        "android.test.runner",
+    ],
+    static_libs: ["androidx.test.rules"],
+    test_suites: ["device-tests"],
+}
diff --git a/tests/AppLaunchWear/Android.mk b/tests/AppLaunchWear/Android.mk
deleted file mode 100644
index 332b680..0000000
--- a/tests/AppLaunchWear/Android.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-# Only compile source java files in this apk.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := AppLaunchWear
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_CERTIFICATE := platform
-LOCAL_JAVA_LIBRARIES := android.test.base android.test.runner
-
-LOCAL_STATIC_JAVA_LIBRARIES := androidx.test.rules
-
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-include $(BUILD_PACKAGE)
-
-# Use the following include to make our test apk.
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/Assist/Android.bp b/tests/Assist/Android.bp
new file mode 100644
index 0000000..216e751
--- /dev/null
+++ b/tests/Assist/Android.bp
@@ -0,0 +1,5 @@
+android_test {
+    name: "Assist",
+    srcs: ["**/*.java"],
+    platform_apis: true,
+}
diff --git a/tests/Assist/Android.mk b/tests/Assist/Android.mk
deleted file mode 100644
index d0d3eca..0000000
--- a/tests/Assist/Android.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := Assist
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-include $(BUILD_PACKAGE)
diff --git a/tests/BackgroundDexOptServiceIntegrationTests/Android.bp b/tests/BackgroundDexOptServiceIntegrationTests/Android.bp
new file mode 100644
index 0000000..a85d129
--- /dev/null
+++ b/tests/BackgroundDexOptServiceIntegrationTests/Android.bp
@@ -0,0 +1,24 @@
+//
+// Copyright (C) 2017 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.
+//
+
+android_test {
+    name: "BackgroundDexOptServiceIntegrationTests",
+    srcs: ["src/**/*.java"],
+    static_libs: ["androidx.test.rules"],
+    platform_apis: true,
+    test_suites: ["device-tests"],
+    certificate: "platform",
+}
diff --git a/tests/BackgroundDexOptServiceIntegrationTests/Android.mk b/tests/BackgroundDexOptServiceIntegrationTests/Android.mk
deleted file mode 100644
index f47cf96..0000000
--- a/tests/BackgroundDexOptServiceIntegrationTests/Android.mk
+++ /dev/null
@@ -1,35 +0,0 @@
-#
-# Copyright (C) 2017 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.
-#
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-
-# Include all test java files.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    androidx.test.rules \
-
-LOCAL_PACKAGE_NAME := BackgroundDexOptServiceIntegrationTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-LOCAL_CERTIFICATE := platform
-
-include $(BUILD_PACKAGE)
diff --git a/tests/BandwidthTests/Android.bp b/tests/BandwidthTests/Android.bp
new file mode 100644
index 0000000..523f522
--- /dev/null
+++ b/tests/BandwidthTests/Android.bp
@@ -0,0 +1,21 @@
+//
+// 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.
+//
+
+android_test {
+    name: "BandwidthEnforcementTest",
+    platform_apis: true,
+    srcs: ["src/**/*.java"],
+}
diff --git a/tests/BandwidthTests/Android.mk b/tests/BandwidthTests/Android.mk
deleted file mode 100644
index d00fdc6..0000000
--- a/tests/BandwidthTests/Android.mk
+++ /dev/null
@@ -1,25 +0,0 @@
-#
-# 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.
-#
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_PACKAGE_NAME := BandwidthEnforcementTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-include $(BUILD_PACKAGE)
diff --git a/tests/BatteryWaster/Android.bp b/tests/BatteryWaster/Android.bp
new file mode 100644
index 0000000..4698910
--- /dev/null
+++ b/tests/BatteryWaster/Android.bp
@@ -0,0 +1,6 @@
+android_test {
+    name: "BatteryWaster",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    certificate: "platform",
+}
diff --git a/tests/BatteryWaster/Android.mk b/tests/BatteryWaster/Android.mk
deleted file mode 100644
index fb244a8..0000000
--- a/tests/BatteryWaster/Android.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := BatteryWaster
-LOCAL_SDK_VERSION := current
-LOCAL_CERTIFICATE := platform
-
-include $(BUILD_PACKAGE)
diff --git a/tests/BiDiTests/Android.bp b/tests/BiDiTests/Android.bp
new file mode 100644
index 0000000..c659e8c
--- /dev/null
+++ b/tests/BiDiTests/Android.bp
@@ -0,0 +1,23 @@
+// 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.
+
+android_test {
+    name: "BiDiTests",
+    // Only compile source java files in this apk.
+    srcs: ["src/**/*.java"],
+    sdk_version: "current",
+    optimize: {
+        proguard_flags_files: ["proguard.flags"],
+    },
+}
diff --git a/tests/BiDiTests/Android.mk b/tests/BiDiTests/Android.mk
deleted file mode 100644
index 78cf4be..0000000
--- a/tests/BiDiTests/Android.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-# 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.
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-# Only compile source java files in this apk.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := BiDiTests
-LOCAL_SDK_VERSION := current
-
-LOCAL_PROGUARD_FLAG_FILES := proguard.flags
-
-include $(BUILD_PACKAGE)
\ No newline at end of file
diff --git a/tests/BrowserPowerTest/Android.bp b/tests/BrowserPowerTest/Android.bp
new file mode 100644
index 0000000..1d358cb
--- /dev/null
+++ b/tests/BrowserPowerTest/Android.bp
@@ -0,0 +1,26 @@
+// Copyright 2008, 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.
+
+android_test {
+    name: "BrowserPowerTests",
+    libs: [
+        "android.test.runner",
+        "android.test.base",
+    ],
+    static_libs: ["junit"],
+    // Include all test java files.
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    //LOCAL_INSTRUMENTATION_FOR := browserpowertest
+}
diff --git a/tests/BrowserPowerTest/Android.mk b/tests/BrowserPowerTest/Android.mk
deleted file mode 100644
index 0934889..0000000
--- a/tests/BrowserPowerTest/Android.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2008, 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.
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_JAVA_LIBRARIES := android.test.runner android.test.base
-LOCAL_STATIC_JAVA_LIBRARIES := junit
-
-# Include all test java files.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := BrowserPowerTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-#LOCAL_INSTRUMENTATION_FOR := browserpowertest
-
-include $(BUILD_PACKAGE)
diff --git a/tests/Camera2Tests/Android.mk b/tests/Camera2Tests/Android.mk
deleted file mode 100644
index 5053e7d..0000000
--- a/tests/Camera2Tests/Android.mk
+++ /dev/null
@@ -1 +0,0 @@
-include $(call all-subdir-makefiles)
diff --git a/tests/Camera2Tests/SmartCamera/Android.mk b/tests/Camera2Tests/SmartCamera/Android.mk
deleted file mode 100644
index 3fa8f54..0000000
--- a/tests/Camera2Tests/SmartCamera/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-# Copyright 2013 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.
-include $(call all-subdir-makefiles)
diff --git a/tests/Camera2Tests/SmartCamera/SimpleCamera/jni/Android.bp b/tests/Camera2Tests/SmartCamera/SimpleCamera/jni/Android.bp
index 0b16b0e..a23ac38 100644
--- a/tests/Camera2Tests/SmartCamera/SimpleCamera/jni/Android.bp
+++ b/tests/Camera2Tests/SmartCamera/SimpleCamera/jni/Android.bp
@@ -15,9 +15,7 @@
 
 cc_test_library {
     name: "libsmartcamera_jni",
-
     sdk_version: "14",
-
     srcs: [
         "contrast.cpp",
         "brightness.cpp",
@@ -29,13 +27,11 @@
         "sobeloperator.cpp",
         "stats_scorer.cpp",
     ],
-
     cflags: [
         "-Wall",
         "-Wextra",
         "-Werror",
         "-Wno-unused-parameter",
     ],
-
     stl: "c++_static",
 }
diff --git a/tests/CameraPrewarmTest/Android.bp b/tests/CameraPrewarmTest/Android.bp
new file mode 100644
index 0000000..eaf453b
--- /dev/null
+++ b/tests/CameraPrewarmTest/Android.bp
@@ -0,0 +1,6 @@
+android_test {
+    name: "CameraPrewarmTest",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    certificate: "platform",
+}
diff --git a/tests/CameraPrewarmTest/Android.mk b/tests/CameraPrewarmTest/Android.mk
deleted file mode 100644
index e128504..0000000
--- a/tests/CameraPrewarmTest/Android.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := CameraPrewarmTest
-LOCAL_SDK_VERSION := current
-
-LOCAL_MODULE_TAGS := tests
-LOCAL_CERTIFICATE := platform
-
-include $(BUILD_PACKAGE)
diff --git a/tests/Compatibility/Android.bp b/tests/Compatibility/Android.bp
new file mode 100644
index 0000000..4ca406e
--- /dev/null
+++ b/tests/Compatibility/Android.bp
@@ -0,0 +1,22 @@
+// Copyright (C) 2012 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.
+
+android_test {
+    name: "AppCompatibilityTest",
+    static_libs: ["androidx.test.rules"],
+    // Include all test java files.
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+}
diff --git a/tests/Compatibility/Android.mk b/tests/Compatibility/Android.mk
deleted file mode 100644
index 643f9eb..0000000
--- a/tests/Compatibility/Android.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright (C) 2012 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.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-LOCAL_STATIC_JAVA_LIBRARIES := androidx.test.rules
-# Include all test java files.
-LOCAL_SRC_FILES := \
-	$(call all-java-files-under, src)
-
-
-LOCAL_PACKAGE_NAME := AppCompatibilityTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_CERTIFICATE := platform
-include $(BUILD_PACKAGE)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/CoreTests/Android.mk b/tests/CoreTests/Android.mk
deleted file mode 100644
index 8338432..0000000
--- a/tests/CoreTests/Android.mk
+++ /dev/null
@@ -1,2 +0,0 @@
-include $(call all-subdir-makefiles)
-
diff --git a/tests/CoreTests/android/Android.bp b/tests/CoreTests/android/Android.bp
new file mode 100644
index 0000000..24134e8
--- /dev/null
+++ b/tests/CoreTests/android/Android.bp
@@ -0,0 +1,11 @@
+android_test {
+    name: "LegacyCoreTests",
+    srcs: ["**/*.java"],
+    libs: [
+        "android.test.runner.stubs",
+        "org.apache.http.legacy",
+        "android.test.base.stubs",
+    ],
+    sdk_version: "current",
+    static_libs: ["junit"],
+}
diff --git a/tests/CoreTests/android/Android.mk b/tests/CoreTests/android/Android.mk
deleted file mode 100644
index 04f6739..0000000
--- a/tests/CoreTests/android/Android.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := \
-	$(call all-subdir-java-files)
-
-LOCAL_JAVA_LIBRARIES := \
-    android.test.runner.stubs \
-    org.apache.http.legacy \
-    android.test.base.stubs \
-
-LOCAL_SDK_VERSION := current
-
-LOCAL_STATIC_JAVA_LIBRARIES := junit
-
-LOCAL_PACKAGE_NAME := LegacyCoreTests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/DataIdleTest/Android.bp b/tests/DataIdleTest/Android.bp
new file mode 100644
index 0000000..19656ce
--- /dev/null
+++ b/tests/DataIdleTest/Android.bp
@@ -0,0 +1,28 @@
+//
+// 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.
+//
+
+android_test {
+    name: "DataIdleTest",
+    platform_apis: true,
+    libs: [
+        "android.test.runner",
+        "android.test.base",
+    ],
+    static_libs: ["junit"],
+    srcs: ["src/**/*.java"],
+    // We need to sign it to get access to the network usage history.
+    certificate: "platform",
+}
diff --git a/tests/DataIdleTest/Android.mk b/tests/DataIdleTest/Android.mk
deleted file mode 100644
index bcf3599..0000000
--- a/tests/DataIdleTest/Android.mk
+++ /dev/null
@@ -1,31 +0,0 @@
-#
-# 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.
-#
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_PACKAGE_NAME := DataIdleTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_JAVA_LIBRARIES := android.test.runner android.test.base
-LOCAL_STATIC_JAVA_LIBRARIES := junit
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-# We need to sign it to get access to the network usage history.
-LOCAL_CERTIFICATE := platform
-
-include $(BUILD_PACKAGE)
diff --git a/tests/DozeTest/Android.bp b/tests/DozeTest/Android.bp
new file mode 100644
index 0000000..f1be029
--- /dev/null
+++ b/tests/DozeTest/Android.bp
@@ -0,0 +1,6 @@
+android_app {
+    name: "DozeTest",
+    // Only compile source java files in this apk.
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+}
diff --git a/tests/DozeTest/Android.mk b/tests/DozeTest/Android.mk
deleted file mode 100644
index ec250ff..0000000
--- a/tests/DozeTest/Android.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-
-# Only compile source java files in this apk.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := DozeTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-include $(BUILD_PACKAGE)
-
-# Use the following include to make our test apk.
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/DpiTest/Android.bp b/tests/DpiTest/Android.bp
new file mode 100644
index 0000000..7d6a78b
--- /dev/null
+++ b/tests/DpiTest/Android.bp
@@ -0,0 +1,9 @@
+android_test {
+    name: "DensityTest",
+    srcs: ["**/*.java"],
+    platform_apis: true,
+    aaptflags: [
+        "-c",
+        "120dpi,240dpi,160dpi,nodpi",
+    ],
+}
diff --git a/tests/DpiTest/Android.mk b/tests/DpiTest/Android.mk
deleted file mode 100644
index e69d082..0000000
--- a/tests/DpiTest/Android.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := DensityTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_AAPT_FLAGS = -c 120dpi,240dpi,160dpi,nodpi
-
-include $(BUILD_PACKAGE)
diff --git a/tests/FeatureSplit/base/Android.bp b/tests/FeatureSplit/base/Android.bp
new file mode 100644
index 0000000..ab25464
--- /dev/null
+++ b/tests/FeatureSplit/base/Android.bp
@@ -0,0 +1,22 @@
+//
+// Copyright (C) 2014 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+android_test_helper_app {
+    name: "FeatureSplitBase",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    export_package_resources: true,
+}
diff --git a/tests/FeatureSplit/base/Android.mk b/tests/FeatureSplit/base/Android.mk
deleted file mode 100644
index 8646460..0000000
--- a/tests/FeatureSplit/base/Android.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Copyright (C) 2014 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_USE_AAPT2 := true
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-LOCAL_PACKAGE_NAME := FeatureSplitBase
-LOCAL_SDK_VERSION := current
-LOCAL_EXPORT_PACKAGE_RESOURCES := true
-
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/FeatureSplit/feature1/Android.bp b/tests/FeatureSplit/feature1/Android.bp
new file mode 100644
index 0000000..1a93e84
--- /dev/null
+++ b/tests/FeatureSplit/feature1/Android.bp
@@ -0,0 +1,29 @@
+//
+// Copyright (C) 2014 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+android_test {
+    name: "FeatureSplit1",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    libs: ["FeatureSplitBase"],
+    aaptflags: [
+        "--package-id",
+        "0x80",
+    ] + [
+        "--custom-package",
+        "com.android.test.split.feature.one",
+    ],
+}
diff --git a/tests/FeatureSplit/feature1/Android.mk b/tests/FeatureSplit/feature1/Android.mk
deleted file mode 100644
index d4d2589..0000000
--- a/tests/FeatureSplit/feature1/Android.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Copyright (C) 2014 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_USE_AAPT2 := true
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-LOCAL_PACKAGE_NAME := FeatureSplit1
-LOCAL_SDK_VERSION := current
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_APK_LIBRARIES := FeatureSplitBase
-LOCAL_RES_LIBRARIES := FeatureSplitBase
-
-LOCAL_AAPT_FLAGS += --package-id 0x80
-LOCAL_AAPT_FLAGS += --custom-package com.android.test.split.feature.one
-
-include $(BUILD_PACKAGE)
diff --git a/tests/FeatureSplit/feature2/Android.bp b/tests/FeatureSplit/feature2/Android.bp
new file mode 100644
index 0000000..a363482
--- /dev/null
+++ b/tests/FeatureSplit/feature2/Android.bp
@@ -0,0 +1,28 @@
+//
+// Copyright (C) 2014 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+android_test {
+    name: "FeatureSplit2",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    libs: ["FeatureSplitBase"],
+    aaptflags: [
+        "--package-id",
+        "0x81",
+        "--custom-package",
+        "com.android.test.split.feature.two",
+    ],
+}
diff --git a/tests/FeatureSplit/feature2/Android.mk b/tests/FeatureSplit/feature2/Android.mk
deleted file mode 100644
index 5e5e78b..0000000
--- a/tests/FeatureSplit/feature2/Android.mk
+++ /dev/null
@@ -1,32 +0,0 @@
-#
-# Copyright (C) 2014 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_USE_AAPT2 := true
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-LOCAL_PACKAGE_NAME := FeatureSplit2
-LOCAL_SDK_VERSION := current
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_APK_LIBRARIES := FeatureSplitBase
-LOCAL_RES_LIBRARIES := FeatureSplitBase
-
-LOCAL_AAPT_FLAGS += --package-id 0x81
-LOCAL_AAPT_FLAGS += --custom-package com.android.test.split.feature.two
-
-include $(BUILD_PACKAGE)
diff --git a/tests/FixVibrateSetting/Android.bp b/tests/FixVibrateSetting/Android.bp
new file mode 100644
index 0000000..5608a2b
--- /dev/null
+++ b/tests/FixVibrateSetting/Android.bp
@@ -0,0 +1,6 @@
+android_app {
+    name: "FixVibrateSetting",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    certificate: "platform",
+}
diff --git a/tests/FixVibrateSetting/Android.mk b/tests/FixVibrateSetting/Android.mk
deleted file mode 100644
index 86db09e..0000000
--- a/tests/FixVibrateSetting/Android.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := FixVibrateSetting
-LOCAL_SDK_VERSION := current
-LOCAL_CERTIFICATE := platform
-
-include $(BUILD_PACKAGE)
diff --git a/tests/FlickerTests/Android.bp b/tests/FlickerTests/Android.bp
new file mode 100644
index 0000000..05f0a8e7
--- /dev/null
+++ b/tests/FlickerTests/Android.bp
@@ -0,0 +1,30 @@
+//
+// 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.
+//
+
+android_test {
+    name: "FlickerTests",
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+    test_suites: ["device-tests"],
+    libs: ["android.test.runner"],
+    static_libs: [
+        "flickertestapplib",
+        "flickerlib",
+        "truth-prebuilt",
+        "app-helpers-core",
+    ],
+}
diff --git a/tests/FlickerTests/Android.mk b/tests/FlickerTests/Android.mk
deleted file mode 100644
index 3c70f8b..0000000
--- a/tests/FlickerTests/Android.mk
+++ /dev/null
@@ -1,35 +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.
-#
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_PACKAGE_NAME := FlickerTests
-LOCAL_MODULE_TAGS := tests optional
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_CERTIFICATE := platform
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    flickertestapplib \
-    flickerlib \
-    truth-prebuilt \
-    app-helpers-core
-
-include $(BUILD_PACKAGE)
-include $(call all-makefiles-under,$(LOCAL_PATH))
\ No newline at end of file
diff --git a/tests/FlickerTests/lib/Android.bp b/tests/FlickerTests/lib/Android.bp
new file mode 100644
index 0000000..982fcba
--- /dev/null
+++ b/tests/FlickerTests/lib/Android.bp
@@ -0,0 +1,44 @@
+//
+// 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.
+//
+
+java_test {
+    name: "flickerlib",
+    platform_apis: true,
+    srcs: ["src/**/*.java"],
+    static_libs: [
+        "androidx.test.janktesthelper",
+        "cts-amwm-util",
+        "platformprotosnano",
+        "layersprotosnano",
+        "truth-prebuilt",
+        "sysui-helper",
+        "launcher-helper-lib",
+    ],
+}
+
+java_library {
+    name: "flickerautomationhelperlib",
+    sdk_version: "test_current",
+    srcs: [
+        "src/com/android/server/wm/flicker/AutomationUtils.java",
+        "src/com/android/server/wm/flicker/WindowUtils.java",
+    ],
+    static_libs: [
+        "sysui-helper",
+        "launcher-helper-lib",
+        "compatibility-device-util-axt",
+    ],
+}
diff --git a/tests/FlickerTests/lib/Android.mk b/tests/FlickerTests/lib/Android.mk
deleted file mode 100644
index e438822..0000000
--- a/tests/FlickerTests/lib/Android.mk
+++ /dev/null
@@ -1,48 +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.
-#
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := flickerlib
-LOCAL_MODULE_TAGS := tests optional
-# sign this with platform cert, so this test is allowed to call private platform apis
-LOCAL_CERTIFICATE := platform
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_STATIC_JAVA_LIBRARIES := \
-   androidx.test.janktesthelper \
-   cts-amwm-util \
-   platformprotosnano \
-   layersprotosnano \
-   truth-prebuilt \
-   sysui-helper \
-   launcher-helper-lib \
-
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := flickerautomationhelperlib
-LOCAL_SDK_VERSION := current
-LOCAL_SRC_FILES := src/com/android/server/wm/flicker/AutomationUtils.java \
-    src/com/android/server/wm/flicker/WindowUtils.java
-LOCAL_STATIC_JAVA_LIBRARIES := sysui-helper \
-    launcher-helper-lib \
-    compatibility-device-util-axt
-
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/FlickerTests/lib/test/Android.bp b/tests/FlickerTests/lib/test/Android.bp
new file mode 100644
index 0000000..bfeb75b2
--- /dev/null
+++ b/tests/FlickerTests/lib/test/Android.bp
@@ -0,0 +1,33 @@
+//
+// 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.
+//
+
+android_test {
+    name: "FlickerLibTest",
+    // sign this with platform cert, so this test is allowed to call private platform apis
+    certificate: "platform",
+    platform_apis: true,
+    test_suites: ["tests"],
+    srcs: ["src/**/*.java"],
+    libs: ["android.test.runner"],
+    static_libs: [
+        "androidx.test.rules",
+        "platform-test-annotations",
+        "truth-prebuilt",
+        "platformprotosnano",
+        "layersprotosnano",
+        "flickerlib",
+    ],
+}
diff --git a/tests/FlickerTests/lib/test/Android.mk b/tests/FlickerTests/lib/test/Android.mk
deleted file mode 100644
index 5be89ba..0000000
--- a/tests/FlickerTests/lib/test/Android.mk
+++ /dev/null
@@ -1,36 +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.
-#
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-LOCAL_PACKAGE_NAME := FlickerLibTest
-LOCAL_MODULE_TAGS := tests optional
-# sign this with platform cert, so this test is allowed to call private platform apis
-LOCAL_CERTIFICATE := platform
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_COMPATIBILITY_SUITE := tests
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    androidx.test.rules \
-    platform-test-annotations \
-    truth-prebuilt \
-    platformprotosnano \
-    layersprotosnano \
-    flickerlib
-
-include $(BUILD_PACKAGE)
-include $(call all-makefiles-under,$(LOCAL_PATH))
\ No newline at end of file
diff --git a/tests/FlickerTests/test-apps/Android.bp b/tests/FlickerTests/test-apps/Android.bp
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/tests/FlickerTests/test-apps/Android.bp
diff --git a/tests/FlickerTests/test-apps/Android.mk b/tests/FlickerTests/test-apps/Android.mk
deleted file mode 100644
index 9af9f444..0000000
--- a/tests/FlickerTests/test-apps/Android.mk
+++ /dev/null
@@ -1,15 +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.
-
-include $(call all-subdir-makefiles)
diff --git a/tests/FlickerTests/test-apps/flickerapp/Android.bp b/tests/FlickerTests/test-apps/flickerapp/Android.bp
new file mode 100644
index 0000000..0bea209
--- /dev/null
+++ b/tests/FlickerTests/test-apps/flickerapp/Android.bp
@@ -0,0 +1,26 @@
+// 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.
+
+android_test {
+    name: "FlickerTestApp",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    test_suites: ["device-tests"],
+}
+
+java_test {
+    name: "flickertestapplib",
+    sdk_version: "current",
+    srcs: ["src/com/android/server/wm/flicker/testapp/ActivityOptions.java"],
+}
diff --git a/tests/FlickerTests/test-apps/flickerapp/Android.mk b/tests/FlickerTests/test-apps/flickerapp/Android.mk
deleted file mode 100644
index b916900..0000000
--- a/tests/FlickerTests/test-apps/flickerapp/Android.mk
+++ /dev/null
@@ -1,31 +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.
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-LOCAL_PACKAGE_NAME := FlickerTestApp
-LOCAL_MODULE_TAGS := tests optional
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-LOCAL_SDK_VERSION := current
-LOCAL_COMPATIBILITY_SUITE := device-tests
-include $(BUILD_PACKAGE)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := flickertestapplib
-LOCAL_MODULE_TAGS := tests optional
-LOCAL_SDK_VERSION := current
-LOCAL_SRC_FILES := src/com/android/server/wm/flicker/testapp/ActivityOptions.java
-include $(BUILD_STATIC_JAVA_LIBRARY)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
\ No newline at end of file
diff --git a/tests/FrameworkPerf/Android.bp b/tests/FrameworkPerf/Android.bp
new file mode 100644
index 0000000..a259ebd
--- /dev/null
+++ b/tests/FrameworkPerf/Android.bp
@@ -0,0 +1,14 @@
+android_test {
+    name: "FrameworkPerf",
+    srcs: ["**/*.java"],
+    platform_apis: true,
+    libs: [
+        "android.test.runner",
+        "android.test.base",
+    ],
+    static_libs: ["junit"],
+    aaptflags: [
+        "-c",
+        "120dpi,240dpi,160dpi,161dpi,320dpi,nodpi",
+    ],
+}
diff --git a/tests/FrameworkPerf/Android.mk b/tests/FrameworkPerf/Android.mk
deleted file mode 100644
index 0664d4d..0000000
--- a/tests/FrameworkPerf/Android.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := FrameworkPerf
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_JAVA_LIBRARIES := android.test.runner android.test.base
-LOCAL_STATIC_JAVA_LIBRARIES := junit
-
-LOCAL_AAPT_FLAGS = -c 120dpi,240dpi,160dpi,161dpi,320dpi,nodpi
-
-include $(BUILD_PACKAGE)
diff --git a/tests/GridLayoutTest/Android.bp b/tests/GridLayoutTest/Android.bp
new file mode 100644
index 0000000..b4b5ba5
--- /dev/null
+++ b/tests/GridLayoutTest/Android.bp
@@ -0,0 +1,21 @@
+//
+// Copyright (C) 2010 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.
+//
+
+android_test {
+    name: "GridLayoutTest",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+}
diff --git a/tests/GridLayoutTest/Android.mk b/tests/GridLayoutTest/Android.mk
deleted file mode 100644
index e7e3ccd..0000000
--- a/tests/GridLayoutTest/Android.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright (C) 2010 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.
-#
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := GridLayoutTest
-LOCAL_SDK_VERSION := current
-
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/HierarchyViewerTest/Android.bp b/tests/HierarchyViewerTest/Android.bp
new file mode 100644
index 0000000..814c883
--- /dev/null
+++ b/tests/HierarchyViewerTest/Android.bp
@@ -0,0 +1,10 @@
+android_test {
+    name: "HierarchyViewerTest",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    libs: [
+        "android.test.runner.stubs",
+        "android.test.base.stubs",
+    ],
+    static_libs: ["junit"],
+}
diff --git a/tests/HierarchyViewerTest/Android.mk b/tests/HierarchyViewerTest/Android.mk
deleted file mode 100644
index cf1a512..0000000
--- a/tests/HierarchyViewerTest/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := HierarchyViewerTest
-LOCAL_SDK_VERSION := current
-
-LOCAL_JAVA_LIBRARIES := android.test.runner.stubs android.test.base.stubs
-LOCAL_STATIC_JAVA_LIBRARIES := junit
-
-include $(BUILD_PACKAGE)
diff --git a/tests/HugeBackup/Android.bp b/tests/HugeBackup/Android.bp
new file mode 100644
index 0000000..b44c457
--- /dev/null
+++ b/tests/HugeBackup/Android.bp
@@ -0,0 +1,9 @@
+android_test {
+    name: "HugeBackup",
+    // Only compile source java files in this apk.
+    srcs: ["src/**/*.java"],
+    sdk_version: "current",
+    optimize: {
+        proguard_flags_files: ["proguard.flags"],
+    },
+}
diff --git a/tests/HugeBackup/Android.mk b/tests/HugeBackup/Android.mk
deleted file mode 100644
index 4789bc8..0000000
--- a/tests/HugeBackup/Android.mk
+++ /dev/null
@@ -1,15 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-# Only compile source java files in this apk.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := HugeBackup
-
-LOCAL_SDK_VERSION := current
-
-LOCAL_PROGUARD_FLAG_FILES := proguard.flags
-
-include $(BUILD_PACKAGE)
diff --git a/tests/HwAccelerationTest/src/com/android/test/hwui/CustomRenderer.java b/tests/HwAccelerationTest/src/com/android/test/hwui/CustomRenderer.java
index fece8ba..5ad7fb9 100644
--- a/tests/HwAccelerationTest/src/com/android/test/hwui/CustomRenderer.java
+++ b/tests/HwAccelerationTest/src/com/android/test/hwui/CustomRenderer.java
@@ -16,6 +16,7 @@
 
 package com.android.test.hwui;
 
+import android.animation.ObjectAnimator;
 import android.app.Activity;
 import android.graphics.Color;
 import android.graphics.HardwareRenderer;
@@ -23,12 +24,15 @@
 import android.graphics.RecordingCanvas;
 import android.graphics.RenderNode;
 import android.os.Bundle;
-import android.util.Log;
+import android.os.Handler;
 import android.view.SurfaceHolder;
 
 public class CustomRenderer extends Activity {
-    private RenderNode mContent = new RenderNode("CustomRenderer");
+    private RenderNode mRootNode = new RenderNode("CustomRenderer");
+    private RenderNode mChildNode = new RenderNode("RedBox");
     private HardwareRenderer mRenderer = new HardwareRenderer();
+    private ObjectAnimator mAnimator;
+    private Handler mRedrawHandler = new Handler(true);
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -36,6 +40,64 @@
         getWindow().takeSurface(mSurfaceCallbacks);
     }
 
+    @Override
+    protected void onStart() {
+        super.onStart();
+        mAnimator = ObjectAnimator.ofFloat(mChildNode, "translationY", 0, 300);
+        mAnimator.setRepeatMode(ObjectAnimator.REVERSE);
+        mAnimator.setRepeatCount(ObjectAnimator.INFINITE);
+        final Runnable redraw = this::draw;
+        mAnimator.addUpdateListener(animation -> {
+            mRedrawHandler.post(redraw);
+        });
+    }
+
+    @Override
+    protected void onStop() {
+        super.onStop();
+        mAnimator.end();
+        mAnimator = null;
+    }
+
+    private void setupRoot(int width, int height) {
+        mRootNode.setPosition(0, 0, width, height);
+
+        RecordingCanvas canvas = mRootNode.beginRecording();
+        canvas.drawColor(Color.WHITE);
+        Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
+        paint.setColor(Color.BLACK);
+        paint.setTextAlign(Paint.Align.CENTER);
+        float textSize = Math.min(width, height) * .05f;
+        paint.setTextSize(textSize);
+        canvas.drawText("Hello custom renderer!", width / 2, textSize * 2, paint);
+
+        canvas.translate(0, height / 4);
+        canvas.drawRenderNode(mChildNode);
+        canvas.translate(width / 2, 0);
+        canvas.drawRenderNode(mChildNode);
+        mRootNode.endRecording();
+
+        setupChild(width / 2, height / 2);
+    }
+
+    private void setupChild(int width, int height) {
+        mChildNode.setPosition(0, 0, width, height);
+        mChildNode.setScaleX(.5f);
+        mChildNode.setScaleY(.5f);
+
+        RecordingCanvas canvas = mChildNode.beginRecording();
+        canvas.drawColor(Color.RED);
+        mChildNode.endRecording();
+    }
+
+    private void draw() {
+        // Since we are constantly pumping frames between onStart & onStop we don't really
+        // care about any errors that may happen. They will self-correct.
+        mRenderer.createRenderRequest()
+                .setVsyncTime(System.nanoTime())
+                .syncAndDraw();
+    }
+
     private SurfaceHolder.Callback2 mSurfaceCallbacks = new SurfaceHolder.Callback2() {
 
         @Override
@@ -48,24 +110,14 @@
 
         @Override
         public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) {
-            mContent.setLeftTopRightBottom(0, 0, width, height);
-            RecordingCanvas canvas = mContent.beginRecording();
-            canvas.drawColor(Color.WHITE);
-            Paint paint = new Paint(Paint.ANTI_ALIAS_FLAG);
-            paint.setColor(Color.BLACK);
-            paint.setTextAlign(Paint.Align.CENTER);
-            paint.setTextSize(Math.min(width, height) * .05f);
-            canvas.drawText("Hello custom renderer!", width / 2, height / 2, paint);
-            mContent.endRecording();
+            setupRoot(width, height);
 
-            mRenderer.setContentRoot(mContent);
+            mRenderer.setContentRoot(mRootNode);
             mRenderer.setSurface(holder.getSurface());
-            mRenderer.createRenderRequest()
-                    .setVsyncTime(System.nanoTime())
-                    .setFrameCommitCallback(Runnable::run, () -> {
-                        Log.d("CustomRenderer", "Frame committed!");
-                    })
-                    .syncAndDraw();
+            draw();
+            if (!mAnimator.isStarted()) {
+                mAnimator.start();
+            }
         }
 
         @Override
diff --git a/tests/Internal/Android.bp b/tests/Internal/Android.bp
new file mode 100644
index 0000000..4cb9f8d
--- /dev/null
+++ b/tests/Internal/Android.bp
@@ -0,0 +1,18 @@
+android_test {
+    name: "InternalTests",
+    proto: {
+        type: "nano",
+    },
+    // Include some source files directly to be able to access package members
+    srcs: ["src/**/*.java"],
+    libs: ["android.test.runner"],
+    static_libs: [
+        "junit",
+        "androidx.test.rules",
+        "mockito-target-minus-junit4",
+    ],
+    java_resource_dirs: ["res"],
+    certificate: "platform",
+    platform_apis: true,
+    test_suites: ["device-tests"],
+}
diff --git a/tests/Internal/Android.mk b/tests/Internal/Android.mk
deleted file mode 100644
index 2e26ef1..0000000
--- a/tests/Internal/Android.mk
+++ /dev/null
@@ -1,24 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_USE_AAPT2 := true
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_PROTOC_OPTIMIZE_TYPE := nano
-
-# Include some source files directly to be able to access package members
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_JAVA_LIBRARIES := android.test.runner
-LOCAL_STATIC_JAVA_LIBRARIES := junit \
-    androidx.test.rules \
-    mockito-target-minus-junit4
-
-LOCAL_JAVA_RESOURCE_DIRS := res
-LOCAL_CERTIFICATE := platform
-
-LOCAL_PACKAGE_NAME := InternalTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java b/tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java
index d92cfce..300182d 100644
--- a/tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java
+++ b/tests/Internal/src/com/android/internal/colorextraction/types/TonalTest.java
@@ -27,7 +27,6 @@
 import androidx.test.runner.AndroidJUnit4;
 
 import com.android.internal.colorextraction.ColorExtractor.GradientColors;
-import com.android.internal.graphics.ColorUtils;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -96,7 +95,6 @@
         Tonal.ConfigParser config = new Tonal.ConfigParser(InstrumentationRegistry.getContext());
         // 1 to avoid regression where only first item would be parsed.
         assertTrue("Tonal palettes are empty", config.getTonalPalettes().size() > 1);
-        assertTrue("Blacklisted colors are empty", config.getBlacklistedColors().size() > 1);
     }
 
     @Test
@@ -113,41 +111,4 @@
             assertTrue("L should be <= to 1.", palette.l[1] <= 1);
         }
     }
-
-    @Test
-    public void tonal_blacklistTest() {
-        // Make sure that palette generation will fail.
-        final Tonal tonal = new Tonal(InstrumentationRegistry.getContext());
-
-        // Creating a WallpaperColors object that contains *only* blacklisted colors.
-        final float[] hsl = tonal.getBlacklistedColors().get(0).getCenter();
-        final int blacklistedColor = ColorUtils.HSLToColor(hsl);
-        WallpaperColors colorsFromBitmap = new WallpaperColors(Color.valueOf(blacklistedColor),
-                null, null, WallpaperColors.HINT_FROM_BITMAP);
-
-        // Make sure that palette generation will fail
-        final GradientColors normal = new GradientColors();
-        tonal.extractInto(colorsFromBitmap, normal, new GradientColors(),
-                new GradientColors());
-        assertTrue("Cannot generate a tonal palette from blacklisted colors.",
-                normal.getMainColor() == Tonal.MAIN_COLOR_DARK);
-    }
-
-    @Test
-    public void tonal_ignoreBlacklistTest() {
-        final Tonal tonal = new Tonal(InstrumentationRegistry.getContext());
-
-        // Creating a WallpaperColors object that contains *only* blacklisted colors.
-        final float[] hsl = tonal.getBlacklistedColors().get(0).getCenter();
-        final int blacklistedColor = ColorUtils.HSLToColor(hsl);
-        WallpaperColors colors = new WallpaperColors(Color.valueOf(blacklistedColor),
-                null, null);
-
-        // Blacklist should be ignored when HINT_FROM_BITMAP isn't present.
-        final GradientColors normal = new GradientColors();
-        tonal.extractInto(colors, normal, new GradientColors(),
-                new GradientColors());
-        assertTrue("Blacklist should never be used on WallpaperColors generated using "
-                + "default constructor.", normal.getMainColor() == blacklistedColor);
-    }
 }
diff --git a/tests/JobSchedulerTestApp/Android.bp b/tests/JobSchedulerTestApp/Android.bp
new file mode 100644
index 0000000..bac0220
--- /dev/null
+++ b/tests/JobSchedulerTestApp/Android.bp
@@ -0,0 +1,9 @@
+android_app {
+    name: "JobSchedulerTestApp",
+    srcs: ["src/**/*.java"],
+    resource_dirs: ["res"],
+    sdk_version: "current",
+    optimize: {
+        enabled: false,
+    },
+}
diff --git a/tests/JobSchedulerTestApp/Android.mk b/tests/JobSchedulerTestApp/Android.mk
deleted file mode 100644
index 48ee1f6..0000000
--- a/tests/JobSchedulerTestApp/Android.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
-
-LOCAL_PACKAGE_NAME := JobSchedulerTestApp
-LOCAL_SDK_VERSION := current
-
-LOCAL_PROGUARD_ENABLED := disabled
-
-include $(BUILD_PACKAGE)
-
diff --git a/tests/LargeAssetTest/Android.bp b/tests/LargeAssetTest/Android.bp
new file mode 100644
index 0000000..499e6a0
--- /dev/null
+++ b/tests/LargeAssetTest/Android.bp
@@ -0,0 +1,6 @@
+android_app {
+    name: "LargeAssetTest",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    certificate: "platform",
+}
diff --git a/tests/LargeAssetTest/Android.mk b/tests/LargeAssetTest/Android.mk
deleted file mode 100644
index f6d98bf..0000000
--- a/tests/LargeAssetTest/Android.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := LargeAssetTest
-LOCAL_SDK_VERSION := current
-LOCAL_CERTIFICATE := platform
-
-include $(BUILD_PACKAGE)
diff --git a/tests/LegacyAssistant/Android.bp b/tests/LegacyAssistant/Android.bp
new file mode 100644
index 0000000..fef924d
--- /dev/null
+++ b/tests/LegacyAssistant/Android.bp
@@ -0,0 +1,6 @@
+android_test {
+    name: "LegacyAssistant",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    certificate: "platform",
+}
diff --git a/tests/LegacyAssistant/Android.mk b/tests/LegacyAssistant/Android.mk
deleted file mode 100644
index a583369..0000000
--- a/tests/LegacyAssistant/Android.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := LegacyAssistant
-LOCAL_SDK_VERSION := current
-
-LOCAL_MODULE_TAGS := tests
-LOCAL_CERTIFICATE := platform
-
-include $(BUILD_PACKAGE)
diff --git a/tests/LocationTracker/Android.bp b/tests/LocationTracker/Android.bp
new file mode 100644
index 0000000..f0075a9
--- /dev/null
+++ b/tests/LocationTracker/Android.bp
@@ -0,0 +1,5 @@
+android_test {
+    name: "LocationTracker",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+}
diff --git a/tests/LocationTracker/Android.mk b/tests/LocationTracker/Android.mk
deleted file mode 100644
index 0d51b3b..0000000
--- a/tests/LocationTracker/Android.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := LocationTracker
-LOCAL_SDK_VERSION := current
-
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/LotsOfApps/Android.bp b/tests/LotsOfApps/Android.bp
new file mode 100644
index 0000000..68b9f88
--- /dev/null
+++ b/tests/LotsOfApps/Android.bp
@@ -0,0 +1,9 @@
+android_app {
+    name: "LotsOfApps",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    certificate: "platform",
+    optimize: {
+        enabled: false,
+    },
+}
diff --git a/tests/LotsOfApps/Android.mk b/tests/LotsOfApps/Android.mk
deleted file mode 100644
index bee3bcc..0000000
--- a/tests/LotsOfApps/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := LotsOfApps
-LOCAL_SDK_VERSION := current
-LOCAL_CERTIFICATE := platform
-
-LOCAL_PROGUARD_ENABLED := disabled
-
-include $(BUILD_PACKAGE)
diff --git a/tests/LowStorageTest/Android.bp b/tests/LowStorageTest/Android.bp
new file mode 100644
index 0000000..e72e4a5
--- /dev/null
+++ b/tests/LowStorageTest/Android.bp
@@ -0,0 +1,20 @@
+// Copyright (C) 2009 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.
+
+android_test {
+    name: "lowstoragetest",
+    certificate: "platform",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+}
diff --git a/tests/MemoryUsage/Android.bp b/tests/MemoryUsage/Android.bp
new file mode 100644
index 0000000..aeb5338
--- /dev/null
+++ b/tests/MemoryUsage/Android.bp
@@ -0,0 +1,12 @@
+android_test {
+    name: "MemoryUsage",
+    // Only compile source java files in this apk.
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+    libs: [
+        "android.test.runner",
+        "android.test.base",
+    ],
+    static_libs: ["junit"],
+}
diff --git a/tests/MemoryUsage/Android.mk b/tests/MemoryUsage/Android.mk
deleted file mode 100644
index 5040d5a..0000000
--- a/tests/MemoryUsage/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-# Only compile source java files in this apk.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := MemoryUsage
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_CERTIFICATE := platform
-LOCAL_JAVA_LIBRARIES := android.test.runner android.test.base
-LOCAL_STATIC_JAVA_LIBRARIES := junit
-
-include $(BUILD_PACKAGE)
-
-# Use the following include to make our test apk.
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/NetworkSecurityConfigTest/Android.bp b/tests/NetworkSecurityConfigTest/Android.bp
new file mode 100644
index 0000000..cf8ca57
--- /dev/null
+++ b/tests/NetworkSecurityConfigTest/Android.bp
@@ -0,0 +1,12 @@
+android_test {
+    name: "NetworkSecurityConfigTests",
+    certificate: "platform",
+    libs: [
+        "android.test.runner",
+        "android.test.base",
+    ],
+    static_libs: ["junit"],
+    // Include all test java files.
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+}
diff --git a/tests/NetworkSecurityConfigTest/Android.mk b/tests/NetworkSecurityConfigTest/Android.mk
deleted file mode 100644
index a6c21db..0000000
--- a/tests/NetworkSecurityConfigTest/Android.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-LOCAL_CERTIFICATE := platform
-
-LOCAL_JAVA_LIBRARIES := \
-    android.test.runner \
-    android.test.base \
-
-LOCAL_STATIC_JAVA_LIBRARIES := junit
-
-# Include all test java files.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := NetworkSecurityConfigTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-include $(BUILD_PACKAGE)
diff --git a/tests/OdmApps/Android.bp b/tests/OdmApps/Android.bp
new file mode 100644
index 0000000..d86f9cc
--- /dev/null
+++ b/tests/OdmApps/Android.bp
@@ -0,0 +1,20 @@
+// 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.
+
+java_test_host {
+    name: "OdmAppsTest",
+    srcs: ["src/**/*.java"],
+    libs: ["tradefed"],
+    test_suites: ["device-tests"],
+}
diff --git a/tests/OdmApps/Android.mk b/tests/OdmApps/Android.mk
deleted file mode 100644
index 64fa653..0000000
--- a/tests/OdmApps/Android.mk
+++ /dev/null
@@ -1,26 +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.
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE := OdmAppsTest
-LOCAL_MODULE_TAGS := tests
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_JAVA_LIBRARIES := tradefed
-LOCAL_COMPATIBILITY_SUITE := device-tests
-include $(BUILD_HOST_JAVA_LIBRARY)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/OdmApps/app/Android.bp b/tests/OdmApps/app/Android.bp
new file mode 100644
index 0000000..5eb8590
--- /dev/null
+++ b/tests/OdmApps/app/Android.bp
@@ -0,0 +1,19 @@
+// 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.
+
+android_test {
+    name: "TestOdmApp",
+    test_suites: ["device-tests"],
+    sdk_version: "current",
+}
diff --git a/tests/OdmApps/app/Android.mk b/tests/OdmApps/app/Android.mk
deleted file mode 100644
index 9eec0cc..0000000
--- a/tests/OdmApps/app/Android.mk
+++ /dev/null
@@ -1,22 +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.
-
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_PACKAGE_NAME := TestOdmApp
-LOCAL_MODULE_TAGS := tests
-LOCAL_COMPATIBILITY_SUITE := device-tests
-LOCAL_SDK_VERSION := current
-include $(BUILD_PACKAGE)
diff --git a/tests/OdmApps/priv-app/Android.bp b/tests/OdmApps/priv-app/Android.bp
new file mode 100644
index 0000000..9dd477cf
--- /dev/null
+++ b/tests/OdmApps/priv-app/Android.bp
@@ -0,0 +1,19 @@
+// 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.
+
+android_test {
+    name: "TestOdmPrivApp",
+    test_suites: ["device-tests"],
+    sdk_version: "current",
+}
diff --git a/tests/OdmApps/priv-app/Android.mk b/tests/OdmApps/priv-app/Android.mk
deleted file mode 100644
index d423133..0000000
--- a/tests/OdmApps/priv-app/Android.mk
+++ /dev/null
@@ -1,22 +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.
-
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_PACKAGE_NAME := TestOdmPrivApp
-LOCAL_MODULE_TAGS := tests
-LOCAL_COMPATIBILITY_SUITE := device-tests
-LOCAL_SDK_VERSION := current
-include $(BUILD_PACKAGE)
diff --git a/tests/OneMedia/Android.bp b/tests/OneMedia/Android.bp
new file mode 100644
index 0000000..11e12f35
--- /dev/null
+++ b/tests/OneMedia/Android.bp
@@ -0,0 +1,13 @@
+android_app {
+    name: "OneMedia",
+    srcs: [
+        "**/*.java",
+        "src/**/I*.aidl",
+    ],
+    platform_apis: true,
+    certificate: "platform",
+    libs: ["org.apache.http.legacy"],
+    optimize: {
+        enabled: false,
+    },
+}
diff --git a/tests/OneMedia/Android.mk b/tests/OneMedia/Android.mk
deleted file mode 100644
index 41f3f64..0000000
--- a/tests/OneMedia/Android.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files) \
-        $(call all-Iaidl-files-under, src)
-
-LOCAL_PACKAGE_NAME := OneMedia
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_CERTIFICATE := platform
-
-LOCAL_JAVA_LIBRARIES += org.apache.http.legacy
-
-LOCAL_PROGUARD_ENABLED := disabled
-
-include $(BUILD_PACKAGE)
diff --git a/tests/PackageWatchdog/Android.bp b/tests/PackageWatchdog/Android.bp
new file mode 100644
index 0000000..b079965
--- /dev/null
+++ b/tests/PackageWatchdog/Android.bp
@@ -0,0 +1,28 @@
+// 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.
+
+// PackageWatchdogTest
+android_test {
+    name: "PackageWatchdogTest",
+    srcs: ["src/**/*.java"],
+    static_libs: [
+        "junit",
+        "frameworks-base-testutils",
+        "androidx.test.rules",
+        "services.core",
+    ],
+    libs: ["android.test.runner"],
+    platform_apis: true,
+    test_suites: ["device-tests"],
+}
diff --git a/tests/PackageWatchdog/Android.mk b/tests/PackageWatchdog/Android.mk
deleted file mode 100644
index 1e4aacc..0000000
--- a/tests/PackageWatchdog/Android.mk
+++ /dev/null
@@ -1,34 +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.
-
-LOCAL_PATH:= $(call my-dir)
-
-# PackageWatchdogTest
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_PACKAGE_NAME := PackageWatchdogTest
-LOCAL_MODULE_TAGS := tests
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    junit \
-    frameworks-base-testutils \
-    androidx.test.rules \
-    services.core
-
-LOCAL_JAVA_LIBRARIES := \
-    android.test.runner
-
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/PackageWatchdog/src/com/android/server/PackageWatchdogTest.java b/tests/PackageWatchdog/src/com/android/server/PackageWatchdogTest.java
index 598f60a..d0c2612 100644
--- a/tests/PackageWatchdog/src/com/android/server/PackageWatchdogTest.java
+++ b/tests/PackageWatchdog/src/com/android/server/PackageWatchdogTest.java
@@ -77,11 +77,12 @@
         TestObserver observer3 = new TestObserver(OBSERVER_NAME_3);
 
         // Start observing for observer1 which will be unregistered
-        watchdog.startObservingHealth(observer1, Arrays.asList(APP_A), SHORT_DURATION);
+        watchdog.startObservingHealth(observer1, Arrays.asList(APP_A), SHORT_DURATION, false);
         // Start observing for observer2 which will expire
-        watchdog.startObservingHealth(observer2, Arrays.asList(APP_A, APP_B), SHORT_DURATION);
+        watchdog.startObservingHealth(observer2, Arrays.asList(APP_A, APP_B), SHORT_DURATION,
+                false);
         // Start observing for observer3 which will have expiry duration reduced
-        watchdog.startObservingHealth(observer3, Arrays.asList(APP_A), LONG_DURATION);
+        watchdog.startObservingHealth(observer3, Arrays.asList(APP_A), LONG_DURATION, false);
 
         // Verify packages observed at start
         // 1
@@ -144,8 +145,9 @@
         TestObserver observer1 = new TestObserver(OBSERVER_NAME_1);
         TestObserver observer2 = new TestObserver(OBSERVER_NAME_2);
 
-        watchdog1.startObservingHealth(observer1, Arrays.asList(APP_A), SHORT_DURATION);
-        watchdog1.startObservingHealth(observer2, Arrays.asList(APP_A, APP_B), SHORT_DURATION);
+        watchdog1.startObservingHealth(observer1, Arrays.asList(APP_A), SHORT_DURATION, false);
+        watchdog1.startObservingHealth(observer2, Arrays.asList(APP_A, APP_B), SHORT_DURATION,
+                false);
 
         // Verify 2 observers are registered and saved internally
         // 1
@@ -191,8 +193,8 @@
         TestObserver observer1 = new TestObserver(OBSERVER_NAME_1);
         TestObserver observer2 = new TestObserver(OBSERVER_NAME_2);
 
-        watchdog.startObservingHealth(observer2, Arrays.asList(APP_A), SHORT_DURATION);
-        watchdog.startObservingHealth(observer1, Arrays.asList(APP_A), SHORT_DURATION);
+        watchdog.startObservingHealth(observer2, Arrays.asList(APP_A), SHORT_DURATION, false);
+        watchdog.startObservingHealth(observer1, Arrays.asList(APP_A), SHORT_DURATION, false);
 
         // Then fail APP_A below the threshold
         for (int i = 0; i < TRIGGER_FAILURE_COUNT - 1; i++) {
@@ -218,8 +220,8 @@
         TestObserver observer2 = new TestObserver(OBSERVER_NAME_2);
 
 
-        watchdog.startObservingHealth(observer2, Arrays.asList(APP_A), SHORT_DURATION);
-        watchdog.startObservingHealth(observer1, Arrays.asList(APP_B), SHORT_DURATION);
+        watchdog.startObservingHealth(observer2, Arrays.asList(APP_A), SHORT_DURATION, false);
+        watchdog.startObservingHealth(observer1, Arrays.asList(APP_B), SHORT_DURATION, false);
 
         // Then fail APP_C (not observed) above the threshold
         for (int i = 0; i < TRIGGER_FAILURE_COUNT; i++) {
@@ -253,7 +255,7 @@
                 }
             };
 
-        watchdog.startObservingHealth(observer, Arrays.asList(APP_A), SHORT_DURATION);
+        watchdog.startObservingHealth(observer, Arrays.asList(APP_A), SHORT_DURATION, false);
 
         // Then fail APP_A (different version) above the threshold
         for (int i = 0; i < TRIGGER_FAILURE_COUNT; i++) {
@@ -286,13 +288,13 @@
 
         // Start observing for all impact observers
         watchdog.startObservingHealth(observerNone, Arrays.asList(APP_A, APP_B, APP_C, APP_D),
-                SHORT_DURATION);
+                SHORT_DURATION, false);
         watchdog.startObservingHealth(observerHigh, Arrays.asList(APP_A, APP_B, APP_C),
-                SHORT_DURATION);
+                SHORT_DURATION, false);
         watchdog.startObservingHealth(observerMid, Arrays.asList(APP_A, APP_B),
-                SHORT_DURATION);
+                SHORT_DURATION, false);
         watchdog.startObservingHealth(observerLow, Arrays.asList(APP_A),
-                SHORT_DURATION);
+                SHORT_DURATION, false);
 
         // Then fail all apps above the threshold
         for (int i = 0; i < TRIGGER_FAILURE_COUNT; i++) {
@@ -344,8 +346,8 @@
                 PackageHealthObserverImpact.USER_IMPACT_MEDIUM);
 
         // Start observing for observerFirst and observerSecond with failure handling
-        watchdog.startObservingHealth(observerFirst, Arrays.asList(APP_A), LONG_DURATION);
-        watchdog.startObservingHealth(observerSecond, Arrays.asList(APP_A), LONG_DURATION);
+        watchdog.startObservingHealth(observerFirst, Arrays.asList(APP_A), LONG_DURATION, false);
+        watchdog.startObservingHealth(observerSecond, Arrays.asList(APP_A), LONG_DURATION, false);
 
         // Then fail APP_A above the threshold
         for (int i = 0; i < TRIGGER_FAILURE_COUNT; i++) {
@@ -422,8 +424,8 @@
                 PackageHealthObserverImpact.USER_IMPACT_HIGH);
 
         // Start observing for observer1 and observer2 with failure handling
-        watchdog.startObservingHealth(observer2, Arrays.asList(APP_A), SHORT_DURATION);
-        watchdog.startObservingHealth(observer1, Arrays.asList(APP_A), SHORT_DURATION);
+        watchdog.startObservingHealth(observer2, Arrays.asList(APP_A), SHORT_DURATION, false);
+        watchdog.startObservingHealth(observer1, Arrays.asList(APP_A), SHORT_DURATION, false);
 
         // Then fail APP_A above the threshold
         for (int i = 0; i < TRIGGER_FAILURE_COUNT; i++) {
@@ -439,6 +441,49 @@
         assertEquals(0, observer2.mFailedPackages.size());
     }
 
+    /**
+     * Test explicit health check status determines package failure or success on expiry
+     */
+    @Test
+    public void testPackageFailureExplicitHealthCheck() throws Exception {
+        PackageWatchdog watchdog = createWatchdog();
+        TestObserver observer1 = new TestObserver(OBSERVER_NAME_1,
+                PackageHealthObserverImpact.USER_IMPACT_HIGH);
+        TestObserver observer2 = new TestObserver(OBSERVER_NAME_2,
+                PackageHealthObserverImpact.USER_IMPACT_HIGH);
+        TestObserver observer3 = new TestObserver(OBSERVER_NAME_3,
+                PackageHealthObserverImpact.USER_IMPACT_HIGH);
+
+
+        // Start observing with explicit health checks for APP_A and APP_B respectively
+        // with observer1 and observer2
+        watchdog.startObservingHealth(observer1, Arrays.asList(APP_A), SHORT_DURATION, true);
+        watchdog.startObservingHealth(observer2, Arrays.asList(APP_B), SHORT_DURATION, true);
+        // Explicit health check passed for APP_A (observer1 is aware)
+        watchdog.onExplicitHealthCheckPassed(APP_A);
+        // Start observing APP_A with explicit health checks for observer3.
+        // Observer3 didn't exist when we got the explicit health check above, so
+        // it starts out with a non-passing explicit health check and has to wait for a pass
+        // otherwise it would be notified of APP_A failure on expiry
+        watchdog.startObservingHealth(observer3, Arrays.asList(APP_A), SHORT_DURATION, true);
+
+        // Then expire observers
+        Thread.sleep(SHORT_DURATION);
+        // Run handler so package failures are dispatched to observers
+        mTestLooper.dispatchAll();
+
+        // Verify observer1 is not notified
+        assertEquals(0, observer1.mFailedPackages.size());
+
+        // Verify observer2 is notifed because health checks for APP_B never passed
+        assertEquals(1, observer2.mFailedPackages.size());
+        assertEquals(APP_B, observer2.mFailedPackages.get(0));
+
+        // Verify observer3 is notifed because health checks for APP_A did not pass before expiry
+        assertEquals(1, observer3.mFailedPackages.size());
+        assertEquals(APP_A, observer3.mFailedPackages.get(0));
+    }
+
     private PackageWatchdog createWatchdog() {
         return new PackageWatchdog(InstrumentationRegistry.getContext(),
                 mTestLooper.getLooper());
diff --git a/tests/RcsTests/Android.bp b/tests/RcsTests/Android.bp
new file mode 100644
index 0000000..8ee4960
--- /dev/null
+++ b/tests/RcsTests/Android.bp
@@ -0,0 +1,17 @@
+android_test {
+    name: "RcsTests",
+    // Only compile source java files in this apk.
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+    libs: [
+        "android.test.runner",
+        "android.test.base",
+    ],
+    static_libs: [
+        "junit",
+        "androidx.test.rules",
+        "mockito-target-minus-junit4",
+        "truth-prebuilt",
+    ],
+}
diff --git a/tests/RcsTests/Android.mk b/tests/RcsTests/Android.mk
deleted file mode 100644
index a276584..0000000
--- a/tests/RcsTests/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-# Only compile source java files in this apk.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := RcsTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_CERTIFICATE := platform
-LOCAL_JAVA_LIBRARIES := android.test.runner android.test.base
-LOCAL_STATIC_JAVA_LIBRARIES := junit androidx.test.rules mockito-target-minus-junit4 truth-prebuilt
-
-include $(BUILD_PACKAGE)
-
-# Use the following include to make our test apk.
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/RemoteDisplayProvider/Android.bp b/tests/RemoteDisplayProvider/Android.bp
new file mode 100644
index 0000000..6c7798f
--- /dev/null
+++ b/tests/RemoteDisplayProvider/Android.bp
@@ -0,0 +1,23 @@
+// Copyright (C) 2013 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.
+
+// Build the application.
+android_test {
+    name: "RemoteDisplayProviderTest",
+    sdk_version: "system_current",
+    srcs: ["src/**/*.java"],
+    resource_dirs: ["res"],
+    libs: ["com.android.media.remotedisplay"],
+    certificate: "platform",
+}
diff --git a/tests/RemoteDisplayProvider/Android.mk b/tests/RemoteDisplayProvider/Android.mk
deleted file mode 100644
index 43bf024..0000000
--- a/tests/RemoteDisplayProvider/Android.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright (C) 2013 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.
-
-LOCAL_PATH := $(call my-dir)
-
-# Build the application.
-include $(CLEAR_VARS)
-LOCAL_PACKAGE_NAME := RemoteDisplayProviderTest
-LOCAL_MODULE_TAGS := tests
-LOCAL_SDK_VERSION := system_current
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_RESOURCE_DIR = $(LOCAL_PATH)/res
-LOCAL_JAVA_LIBRARIES := com.android.media.remotedisplay
-LOCAL_CERTIFICATE := platform
-include $(BUILD_PACKAGE)
diff --git a/tests/RenderThreadTest/Android.bp b/tests/RenderThreadTest/Android.bp
new file mode 100644
index 0000000..1659776
--- /dev/null
+++ b/tests/RenderThreadTest/Android.bp
@@ -0,0 +1,10 @@
+android_test {
+    name: "RenderThreadTest",
+    // Only compile source java files in this apk.
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    static_libs: ["android-common"],
+    optimize: {
+        enabled: false,
+    },
+}
diff --git a/tests/RenderThreadTest/Android.mk b/tests/RenderThreadTest/Android.mk
deleted file mode 100644
index 4e5f35b..0000000
--- a/tests/RenderThreadTest/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-# Only compile source java files in this apk.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := RenderThreadTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_STATIC_JAVA_LIBRARIES += android-common
-
-LOCAL_PROGUARD_ENABLED := disabled
-
-include $(BUILD_PACKAGE)
-
-# Use the following include to make our test apk.
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/RollbackTest/Android.bp b/tests/RollbackTest/Android.bp
new file mode 100644
index 0000000..dfc3b6e
--- /dev/null
+++ b/tests/RollbackTest/Android.bp
@@ -0,0 +1,130 @@
+// 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.
+
+android_test_helper_app {
+    name: "RollbackTestAppAv1",
+    manifest: "TestApp/Av1.xml",
+    sdk_version: "current",
+    srcs: ["TestApp/src/**/*.java"],
+    resource_dirs: ["TestApp/res_v1"],
+}
+
+android_test_helper_app {
+    name: "RollbackTestAppAv2",
+    manifest: "TestApp/Av2.xml",
+    sdk_version: "current",
+    srcs: ["TestApp/src/**/*.java"],
+    resource_dirs: ["TestApp/res_v2"],
+}
+
+android_test_helper_app {
+    name: "RollbackTestAppACrashingV2",
+    manifest: "TestApp/ACrashingV2.xml",
+    sdk_version: "current",
+    srcs: ["TestApp/src/**/*.java"],
+    resource_dirs: ["TestApp/res_v2"],
+}
+
+android_test_helper_app {
+    name: "RollbackTestAppBv1",
+    manifest: "TestApp/Bv1.xml",
+    sdk_version: "current",
+    srcs: ["TestApp/src/**/*.java"],
+    resource_dirs: ["TestApp/res_v1"],
+}
+
+android_test_helper_app {
+    name: "RollbackTestAppBv2",
+    manifest: "TestApp/Bv2.xml",
+    sdk_version: "current",
+    srcs: ["TestApp/src/**/*.java"],
+    resource_dirs: ["TestApp/res_v2"],
+}
+
+android_test_helper_app {
+    name: "RollbackTestAppASplitV1",
+    manifest: "TestApp/Av1.xml",
+    sdk_version: "current",
+    srcs: ["TestApp/src/**/*.java"],
+    resource_dirs: ["TestApp/res_v1"],
+    package_splits: ["anydpi"],
+}
+
+android_test_helper_app {
+    name: "RollbackTestAppASplitV2",
+    manifest: "TestApp/Av2.xml",
+    sdk_version: "current",
+    srcs: ["TestApp/src/**/*.java"],
+    resource_dirs: ["TestApp/res_v2"],
+    package_splits: ["anydpi"],
+}
+
+apex {
+    name: "com.android.tests.rollback.testapex.RollbackTestApexV1",
+    manifest: "TestApex/RollbackTestApexV1.json",
+    file_contexts: "apex.test",
+    prebuilts: ["RollbackTestApex.prebuilt.txt"],
+    key: "RollbackTestApex.key",
+    installable: false,
+}
+
+apex {
+    name: "com.android.tests.rollback.testapex.RollbackTestApexV2",
+    manifest: "TestApex/RollbackTestApexV2.json",
+    file_contexts: "apex.test",
+    prebuilts: ["RollbackTestApex.prebuilt.txt"],
+    key: "RollbackTestApex.key",
+    installable: false,
+}
+
+apex_key {
+    name: "RollbackTestApex.key",
+    public_key: "TestApex/com.android.tests.rollback.testapex.avbpubkey",
+    private_key: "TestApex/com.android.tests.rollback.testapex.pem",
+    installable: false,
+}
+
+prebuilt_etc {
+    name: "RollbackTestApex.prebuilt.txt",
+    src: "TestApex/RollbackTestApex.prebuilt.txt",
+}
+
+android_test {
+    name: "RollbackTest",
+    manifest: "RollbackTest/AndroidManifest.xml",
+    srcs: ["RollbackTest/src/**/*.java"],
+    static_libs: ["androidx.test.rules"],
+    test_suites: ["general-tests"],
+    java_resources: [
+        ":RollbackTestAppAv1",
+        ":RollbackTestAppAv2",
+        ":RollbackTestAppACrashingV2",
+        ":RollbackTestAppBv1",
+        ":RollbackTestAppBv2",
+        ":RollbackTestAppASplitV1",
+        ":RollbackTestAppASplitV2",
+        ":com.android.tests.rollback.testapex.RollbackTestApexV1",
+        ":com.android.tests.rollback.testapex.RollbackTestApexV2",
+    ],
+    test_config: "RollbackTest.xml",
+    sdk_version: "test_current",
+}
+
+java_test_host {
+    name: "StagedRollbackTest",
+    srcs: ["StagedRollbackTest/src/**/*.java"],
+    libs: ["tradefed"],
+    test_suites: ["general-tests"],
+    test_config: "StagedRollbackTest.xml",
+}
diff --git a/tests/RollbackTest/Android.mk b/tests/RollbackTest/Android.mk
deleted file mode 100644
index 206f867..0000000
--- a/tests/RollbackTest/Android.mk
+++ /dev/null
@@ -1,148 +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.
-
-LOCAL_PATH:= $(call my-dir)
-
-# RollbackTestAppAv1.apk
-include $(CLEAR_VARS)
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-LOCAL_SDK_VERSION := current
-LOCAL_SRC_FILES := $(call all-java-files-under, TestApp/src)
-LOCAL_MANIFEST_FILE := TestApp/Av1.xml
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/TestApp/res_v1
-LOCAL_PACKAGE_NAME := RollbackTestAppAv1
-include $(BUILD_PACKAGE)
-ROLLBACK_TEST_APP_AV1 := $(LOCAL_INSTALLED_MODULE)
-
-# RollbackTestAppAv2.apk
-include $(CLEAR_VARS)
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-LOCAL_SDK_VERSION := current
-LOCAL_SRC_FILES := $(call all-java-files-under, TestApp/src)
-LOCAL_MANIFEST_FILE := TestApp/Av2.xml
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/TestApp/res_v2
-LOCAL_PACKAGE_NAME := RollbackTestAppAv2
-include $(BUILD_PACKAGE)
-ROLLBACK_TEST_APP_AV2 := $(LOCAL_INSTALLED_MODULE)
-
-# RollbackTestAppACrashingV2.apk
-include $(CLEAR_VARS)
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-LOCAL_SDK_VERSION := current
-LOCAL_SRC_FILES := $(call all-java-files-under, TestApp/src)
-LOCAL_MANIFEST_FILE := TestApp/ACrashingV2.xml
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/TestApp/res_v2
-LOCAL_PACKAGE_NAME := RollbackTestAppACrashingV2
-include $(BUILD_PACKAGE)
-ROLLBACK_TEST_APP_A_CRASHING_V2 := $(LOCAL_INSTALLED_MODULE)
-
-# RollbackTestAppBv1.apk
-include $(CLEAR_VARS)
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-LOCAL_SDK_VERSION := current
-LOCAL_SRC_FILES := $(call all-java-files-under, TestApp/src)
-LOCAL_MANIFEST_FILE := TestApp/Bv1.xml
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/TestApp/res_v1
-LOCAL_PACKAGE_NAME := RollbackTestAppBv1
-include $(BUILD_PACKAGE)
-ROLLBACK_TEST_APP_BV1 := $(LOCAL_INSTALLED_MODULE)
-
-# RollbackTestAppBv2.apk
-include $(CLEAR_VARS)
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-LOCAL_SDK_VERSION := current
-LOCAL_SRC_FILES := $(call all-java-files-under, TestApp/src)
-LOCAL_MANIFEST_FILE := TestApp/Bv2.xml
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/TestApp/res_v2
-LOCAL_PACKAGE_NAME := RollbackTestAppBv2
-include $(BUILD_PACKAGE)
-ROLLBACK_TEST_APP_BV2 := $(LOCAL_INSTALLED_MODULE)
-
-# RollbackTestAppASplitV1.apk
-include $(CLEAR_VARS)
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-LOCAL_SDK_VERSION := current
-LOCAL_SRC_FILES := $(call all-java-files-under, TestApp/src)
-LOCAL_MANIFEST_FILE := TestApp/Av1.xml
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/TestApp/res_v1
-LOCAL_PACKAGE_NAME := RollbackTestAppASplitV1
-LOCAL_PACKAGE_SPLITS := anydpi
-include $(BUILD_PACKAGE)
-ROLLBACK_TEST_APP_A_SPLIT_V1 := $(LOCAL_INSTALLED_MODULE)
-ROLLBACK_TEST_APP_A_SPLIT_V1_SPLIT := $(installed_apk_splits)
-
-# RollbackTestAppASplitV2.apk
-include $(CLEAR_VARS)
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-LOCAL_SDK_VERSION := current
-LOCAL_SRC_FILES := $(call all-java-files-under, TestApp/src)
-LOCAL_MANIFEST_FILE := TestApp/Av2.xml
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/TestApp/res_v2
-LOCAL_PACKAGE_NAME := RollbackTestAppASplitV2
-LOCAL_PACKAGE_SPLITS := anydpi
-include $(BUILD_PACKAGE)
-ROLLBACK_TEST_APP_A_SPLIT_V2 := $(LOCAL_INSTALLED_MODULE)
-ROLLBACK_TEST_APP_A_SPLIT_V2_SPLIT := $(installed_apk_splits)
-
-# RollbackTest
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := $(call all-java-files-under, RollbackTest/src)
-LOCAL_PACKAGE_NAME := RollbackTest
-LOCAL_MODULE_TAGS := tests
-LOCAL_STATIC_JAVA_LIBRARIES := androidx.test.rules
-LOCAL_COMPATIBILITY_SUITE := general-tests
-LOCAL_JAVA_RESOURCE_FILES := \
-  $(ROLLBACK_TEST_APP_AV1) \
-  $(ROLLBACK_TEST_APP_AV2) \
-  $(ROLLBACK_TEST_APP_A_CRASHING_V2) \
-  $(ROLLBACK_TEST_APP_BV1) \
-  $(ROLLBACK_TEST_APP_BV2) \
-  $(ROLLBACK_TEST_APP_A_SPLIT_V1) \
-  $(ROLLBACK_TEST_APP_A_SPLIT_V1_SPLIT) \
-  $(ROLLBACK_TEST_APP_A_SPLIT_V2) \
-  $(ROLLBACK_TEST_APP_A_SPLIT_V2_SPLIT) \
-  $(ROLLBACK_TEST_APEX_V1) \
-  $(ROLLBACK_TEST_APEX_V2)
-LOCAL_MANIFEST_FILE := RollbackTest/AndroidManifest.xml
-LOCAL_SDK_VERSION := system_current
-LOCAL_TEST_CONFIG := RollbackTest.xml
-include $(BUILD_PACKAGE)
-
-# StagedRollbackTest
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := $(call all-java-files-under, StagedRollbackTest/src)
-LOCAL_MODULE := StagedRollbackTest
-LOCAL_MODULE_TAGS := tests
-LOCAL_JAVA_LIBRARIES := tradefed
-LOCAL_COMPATIBILITY_SUITE := general-tests
-LOCAL_TEST_CONFIG := StagedRollbackTest.xml
-include $(BUILD_HOST_JAVA_LIBRARY)
-
-# Clean up local variables
-ROLLBACK_TEST_APP_AV1 :=
-ROLLBACK_TEST_APP_AV2 :=
-ROLLBACK_TEST_APP_A_CRASHING_V2 :=
-ROLLBACK_TEST_APP_A_SPLIT_V1 :=
-ROLLBACK_TEST_APP_A_SPLIT_V1_SPLIT :=
-ROLLBACK_TEST_APP_A_SPLIT_V2 :=
-ROLLBACK_TEST_APP_A_SPLIT_V2_SPLIT :=
-ROLLBACK_TEST_APP_BV1 :=
-ROLLBACK_TEST_APP_BV2 :=
diff --git a/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/RollbackTest.java b/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/RollbackTest.java
index 4780f30..48bc9e8 100644
--- a/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/RollbackTest.java
+++ b/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/RollbackTest.java
@@ -40,6 +40,7 @@
 
 import androidx.test.InstrumentationRegistry;
 
+import org.junit.Ignore;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 import org.junit.runners.JUnit4;
@@ -345,8 +346,8 @@
                     Manifest.permission.MANAGE_ROLLBACKS,
                     Manifest.permission.WRITE_DEVICE_CONFIG);
 
-            DeviceConfig.setProperty(DeviceConfig.Rollback.BOOT_NAMESPACE,
-                    DeviceConfig.Rollback.ROLLBACK_LIFETIME_IN_MILLIS,
+            DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ROLLBACK_BOOT,
+                    RollbackManager.PROPERTY_ROLLBACK_LIFETIME_MILLIS,
                     Long.toString(expirationTime), false /* makeDefault*/);
 
             // Pull the new expiration time from DeviceConfig
@@ -379,9 +380,86 @@
             // Check that the data has expired after the expiration time (with a buffer of 1 second)
             Thread.sleep(expirationTime / 2);
             assertNull(getUniqueRollbackInfoForPackage(rm.getAvailableRollbacks(), TEST_APP_A));
+
         } finally {
-            DeviceConfig.setProperty(DeviceConfig.Rollback.BOOT_NAMESPACE,
-                    DeviceConfig.Rollback.ROLLBACK_LIFETIME_IN_MILLIS,
+            DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ROLLBACK_BOOT,
+                    RollbackManager.PROPERTY_ROLLBACK_LIFETIME_MILLIS,
+                    Long.toString(defaultExpirationTime), false /* makeDefault*/);
+            RollbackTestUtils.dropShellPermissionIdentity();
+        }
+    }
+
+    /**
+     * Test that changing time on device does not affect the duration of time that we keep
+     * rollback available
+     */
+    @Test
+    public void testTimeChangeDoesNotAffectLifetime() throws Exception {
+        long expirationTime = TimeUnit.SECONDS.toMillis(30);
+        long defaultExpirationTime = TimeUnit.HOURS.toMillis(48);
+        RollbackManager rm = RollbackTestUtils.getRollbackManager();
+
+        try {
+            RollbackTestUtils.adoptShellPermissionIdentity(
+                    Manifest.permission.INSTALL_PACKAGES,
+                    Manifest.permission.DELETE_PACKAGES,
+                    Manifest.permission.MANAGE_ROLLBACKS,
+                    Manifest.permission.WRITE_DEVICE_CONFIG,
+                    Manifest.permission.SET_TIME);
+
+            DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ROLLBACK_BOOT,
+                    RollbackManager.PROPERTY_ROLLBACK_LIFETIME_MILLIS,
+                    Long.toString(expirationTime), false /* makeDefault*/);
+
+            // Pull the new expiration time from DeviceConfig
+            rm.reloadPersistedData();
+
+            // Install app A with rollback enabled
+            RollbackTestUtils.uninstall(TEST_APP_A);
+            RollbackTestUtils.install("RollbackTestAppAv1.apk", false);
+            RollbackTestUtils.install("RollbackTestAppAv2.apk", true);
+            assertEquals(2, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
+
+            Thread.sleep(expirationTime / 2);
+
+            // Install app B with rollback enabled
+            RollbackTestUtils.uninstall(TEST_APP_B);
+            RollbackTestUtils.install("RollbackTestAppBv1.apk", false);
+            RollbackTestUtils.install("RollbackTestAppBv2.apk", true);
+            assertEquals(2, RollbackTestUtils.getInstalledVersion(TEST_APP_B));
+            // 1 second buffer
+            Thread.sleep(1000);
+
+            try {
+                // Change the time
+                RollbackTestUtils.forwardTimeBy(expirationTime);
+
+                // 1 second buffer to allow Rollback Manager to handle time change before loading
+                // persisted data
+                Thread.sleep(1000);
+
+                // Load timestamps from storage
+                rm.reloadPersistedData();
+
+                // Wait until rollback for app A has expired
+                // This will trigger an expiration run that should expire app A but not B
+                Thread.sleep(expirationTime / 2);
+                assertNull(getUniqueRollbackInfoForPackage(rm.getAvailableRollbacks(), TEST_APP_A));
+
+                // Rollback for app B should not be expired
+                RollbackInfo rollback = getUniqueRollbackInfoForPackage(
+                        rm.getAvailableRollbacks(), TEST_APP_B);
+                assertRollbackInfoEquals(TEST_APP_B, 2, 1, rollback);
+
+                // Wait until rollback for app B has expired
+                Thread.sleep(expirationTime / 2);
+                assertNull(getUniqueRollbackInfoForPackage(rm.getAvailableRollbacks(), TEST_APP_B));
+            } finally {
+                RollbackTestUtils.forwardTimeBy(-expirationTime);
+            }
+        } finally {
+            DeviceConfig.setProperty(DeviceConfig.NAMESPACE_ROLLBACK_BOOT,
+                    RollbackManager.PROPERTY_ROLLBACK_LIFETIME_MILLIS,
                     Long.toString(defaultExpirationTime), false /* makeDefault*/);
             RollbackTestUtils.dropShellPermissionIdentity();
         }
@@ -455,6 +533,7 @@
     /**
      * Test rollback of apks involving splits.
      */
+    @Ignore("b/127520966 build issues with splits need to be sorted out")
     @Test
     public void testRollbackWithSplits() throws Exception {
         try {
diff --git a/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/RollbackTestUtils.java b/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/RollbackTestUtils.java
index e8cbd60..9aed074 100644
--- a/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/RollbackTestUtils.java
+++ b/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/RollbackTestUtils.java
@@ -21,6 +21,7 @@
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.fail;
 
+import android.app.AlarmManager;
 import android.content.BroadcastReceiver;
 import android.content.ComponentName;
 import android.content.Context;
@@ -63,6 +64,17 @@
         return rm;
     }
 
+    private static void setTime(long millis) {
+        Context context = InstrumentationRegistry.getContext();
+        AlarmManager am = (AlarmManager) context.getSystemService(Context.ALARM_SERVICE);
+        am.setTime(millis);
+    }
+
+    static void forwardTimeBy(long offsetMillis) {
+        setTime(System.currentTimeMillis() + offsetMillis);
+        Log.i(TAG, "Forwarded time on device by " + offsetMillis + " millis");
+    }
+
     /**
      * Returns the version of the given package installed on device.
      * Returns -1 if the package is not currently installed.
@@ -153,9 +165,7 @@
         PackageInstaller packageInstaller = context.getPackageManager().getPackageInstaller();
         PackageInstaller.SessionParams params = new PackageInstaller.SessionParams(
                 PackageInstaller.SessionParams.MODE_FULL_INSTALL);
-        if (enableRollback) {
-            params.setEnableRollback();
-        }
+        params.setEnableRollback(enableRollback);
         int sessionId = packageInstaller.createSession(params);
         session = packageInstaller.openSession(sessionId);
 
@@ -212,11 +222,9 @@
         if (staged) {
             multiPackageParams.setStaged();
         }
-        if (enableRollback) {
-            // TODO: Do we set this on the parent params, the child params, or
-            // both?
-            multiPackageParams.setEnableRollback();
-        }
+        // TODO: Do we set this on the parent params, the child params, or
+        // both?
+        multiPackageParams.setEnableRollback(enableRollback);
         int multiPackageId = packageInstaller.createSession(multiPackageParams);
         PackageInstaller.Session multiPackage = packageInstaller.openSession(multiPackageId);
 
@@ -230,9 +238,7 @@
             if (resourceName.endsWith(".apex")) {
                 params.setInstallAsApex();
             }
-            if (enableRollback) {
-                params.setEnableRollback();
-            }
+            params.setEnableRollback(enableRollback);
             int sessionId = packageInstaller.createSession(params);
             session = packageInstaller.openSession(sessionId);
 
@@ -334,16 +340,26 @@
     }
 
     /**
-     * Asserts that the given RollbackInfo has a single package with expected
-     * package name and versions.
+     * Asserts that the given RollbackInfo has the given packages with expected
+     * package names and all are rolled to and from the same given versions.
      */
-    static void assertRollbackInfoEquals(String packageName,
+    static void assertRollbackInfoEquals(String[] packageNames,
             long versionRolledBackFrom, long versionRolledBackTo,
             RollbackInfo info, VersionedPackage... causePackages) {
         assertNotNull(info);
-        assertEquals(1, info.getPackages().size());
-        assertPackageRollbackInfoEquals(packageName, versionRolledBackFrom, versionRolledBackTo,
-                info.getPackages().get(0));
+        assertEquals(packageNames.length, info.getPackages().size());
+        int foundPackages = 0;
+        for (String packageName : packageNames) {
+            for (PackageRollbackInfo pkgRollbackInfo : info.getPackages()) {
+                if (packageName.equals(pkgRollbackInfo.getPackageName())) {
+                    foundPackages++;
+                    assertPackageRollbackInfoEquals(packageName, versionRolledBackFrom,
+                            versionRolledBackTo, pkgRollbackInfo);
+                    break;
+                }
+            }
+        }
+        assertEquals(packageNames.length, foundPackages);
         assertEquals(causePackages.length, info.getCausePackages().size());
         for (int i = 0; i < causePackages.length; ++i) {
             assertEquals(causePackages[i].getPackageName(),
@@ -354,6 +370,18 @@
     }
 
     /**
+     * Asserts that the given RollbackInfo has a single package with expected
+     * package name and versions.
+     */
+    static void assertRollbackInfoEquals(String packageName,
+            long versionRolledBackFrom, long versionRolledBackTo,
+            RollbackInfo info, VersionedPackage... causePackages) {
+        String[] packageNames = {packageName};
+        assertRollbackInfoEquals(packageNames, versionRolledBackFrom, versionRolledBackTo, info,
+                causePackages);
+    }
+
+    /**
      * Waits for the given session to be marked as ready.
      * Throws an assertion if the session fails.
      */
@@ -447,4 +475,17 @@
             fail(result);
         }
     }
+
+    /**
+     * Return the rollback info for a recently committed rollback, by matching the rollback id, or
+     * return null if no matching rollback is found.
+     */
+    static RollbackInfo getRecentlyCommittedRollbackInfoById(int getRollbackId) {
+        for (RollbackInfo info : getRollbackManager().getRecentlyCommittedRollbacks()) {
+            if (info.getRollbackId() == getRollbackId) {
+                return info;
+            }
+        }
+        return null;
+    }
 }
diff --git a/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/StagedRollbackTest.java b/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/StagedRollbackTest.java
index 59ae8d9..047451b 100644
--- a/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/StagedRollbackTest.java
+++ b/tests/RollbackTest/RollbackTest/src/com/android/tests/rollback/StagedRollbackTest.java
@@ -17,6 +17,7 @@
 package com.android.tests.rollback;
 
 import static com.android.tests.rollback.RollbackTestUtils.assertRollbackInfoEquals;
+import static com.android.tests.rollback.RollbackTestUtils.getRecentlyCommittedRollbackInfoById;
 import static com.android.tests.rollback.RollbackTestUtils.getUniqueRollbackInfoForPackage;
 
 import android.Manifest;
@@ -25,7 +26,6 @@
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
-import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 import org.junit.After;
@@ -47,6 +47,8 @@
 
     private static final String TAG = "RollbackTest";
     private static final String TEST_APP_A = "com.android.tests.rollback.testapp.A";
+    private static final String TEST_APP_A_V1 = "RollbackTestAppAv1.apk";
+    private static final String TEST_APP_A_V2 = "RollbackTestAppAv2.apk";
     private static final String TEST_APEX_PKG = "com.android.tests.rollback.testapex";
     private static final String TEST_APEX_V1 =
             "com.android.tests.rollback.testapex.RollbackTestApexV1.apex";
@@ -82,11 +84,11 @@
         RollbackTestUtils.uninstall(TEST_APP_A);
         assertEquals(-1, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
 
-        RollbackTestUtils.install("RollbackTestAppAv1.apk", false);
+        RollbackTestUtils.install(TEST_APP_A_V1, false);
         assertEquals(1, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
         RollbackTestUtils.processUserData(TEST_APP_A);
 
-        RollbackTestUtils.installStaged(true, "RollbackTestAppAv2.apk");
+        RollbackTestUtils.installStaged(true, TEST_APP_A_V2);
 
         // At this point, the host test driver will reboot the device and run
         // testApkOnlyCommitRollback().
@@ -142,6 +144,86 @@
     }
 
     /**
+     * Test rollbacks of staged installs an apk and an apex.
+     * Prepare apex (and apk) phase.
+     */
+    @Test
+    public void testApkAndApexPrepare() throws Exception {
+        RollbackTestUtils.uninstall(TEST_APP_A);
+        assertEquals(-1, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
+
+        // Note: can't uninstall the apex. See note in #testApexOnlyPrepareApex().
+        RollbackTestUtils.installStaged(false, TEST_APP_A_V1, TEST_APEX_V1);
+
+        // At this point, the host test driver will reboot the device and run
+        // testApkAndApexEnableRollback().
+    }
+
+    /**
+     * Test rollbacks of staged installs an apk and an apex.
+     * Enable rollback phase.
+     */
+    @Test
+    public void testApkAndApexEnableRollback() throws Exception {
+        assertEquals(1, RollbackTestUtils.getInstalledVersion(TEST_APEX_PKG));
+        assertEquals(1, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
+
+        RollbackTestUtils.installStaged(true, TEST_APP_A_V2, TEST_APEX_V2);
+
+        // At this point, the host test driver will reboot the device and run
+        // testApkAndApexCommitRollback().
+    }
+
+    /**
+     * Test rollbacks of staged installs an apk and an apex.
+     * Commit rollback phase.
+     */
+    @Test
+    public void testApkAndApexCommitRollback() throws Exception {
+        assertEquals(2, RollbackTestUtils.getInstalledVersion(TEST_APEX_PKG));
+        assertEquals(2, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
+
+        RollbackTestUtils.processUserData(TEST_APP_A);
+
+        RollbackManager rm = RollbackTestUtils.getRollbackManager();
+
+        RollbackInfo rollback = getUniqueRollbackInfoForPackage(
+                rm.getAvailableRollbacks(), TEST_APP_A);
+        String[] packagesNames = {TEST_APEX_PKG, TEST_APP_A};
+        assertRollbackInfoEquals(packagesNames, 2, 1, rollback);
+        assertTrue(rollback.isStaged());
+
+        RollbackTestUtils.rollback(rollback.getRollbackId());
+
+        RollbackInfo committed = getRecentlyCommittedRollbackInfoById(rollback.getRollbackId());
+
+        assertRollbackInfoEquals(packagesNames, 2, 1, committed);
+        assertTrue(committed.isStaged());
+        assertNotEquals(-1, committed.getCommittedSessionId());
+
+        RollbackTestUtils.waitForSessionReady(committed.getCommittedSessionId());
+
+        // The apex and apk should not be rolled back until after reboot.
+        assertEquals(2, RollbackTestUtils.getInstalledVersion(TEST_APEX_PKG));
+        assertEquals(2, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
+
+        // At this point, the host test driver will reboot the device and run
+        // testApkAndApexConfirmRollback().
+    }
+
+    /**
+     * Test rollbacks of staged installs an apk and an apex.
+     * Confirm rollback phase.
+     */
+    @Test
+    public void testApkAndApexConfirmRollback() throws Exception {
+        assertEquals(1, RollbackTestUtils.getInstalledVersion(TEST_APEX_PKG));
+        assertEquals(1, RollbackTestUtils.getInstalledVersion(TEST_APP_A));
+
+        RollbackTestUtils.processUserData(TEST_APP_A);
+    }
+
+    /**
      * Test rollbacks of staged installs involving only apex.
      * Prepare apex phase.
      */
@@ -171,7 +253,7 @@
     }
 
     /**
-     * Test rollbacks of staged installs involving only apks.
+     * Test rollbacks of staged installs involving only apex.
      * Commit rollback phase.
      */
     @Test
@@ -186,18 +268,8 @@
 
         RollbackTestUtils.rollback(rollback.getRollbackId());
 
-        // Note: We can't use getUniqueRollbackInfoForPackage for the apex,
-        // because we can't uninstall the apex (b/123667725), which means
-        // there's no way to clear info about rollbacks from previous tests
-        // run on the device. Look up the info by rollback id instead.
-        RollbackInfo committed = null;
-        for (RollbackInfo info : rm.getRecentlyCommittedRollbacks()) {
-            if (info.getRollbackId() == rollback.getRollbackId()) {
-                assertNull(committed);
-                committed = info;
-                break;
-            }
-        }
+        RollbackInfo committed = getRecentlyCommittedRollbackInfoById(rollback.getRollbackId());
+
         assertRollbackInfoEquals(TEST_APEX_PKG, 2, 1, committed);
         assertTrue(committed.isStaged());
         assertNotEquals(-1, committed.getCommittedSessionId());
@@ -212,7 +284,7 @@
     }
 
     /**
-     * Test rollbacks of staged installs involving only apks.
+     * Test rollbacks of staged installs involving only apex.
      * Confirm rollback phase.
      */
     @Test
diff --git a/tests/RollbackTest/StagedRollbackTest/src/com/android/tests/rollback/host/StagedRollbackTest.java b/tests/RollbackTest/StagedRollbackTest/src/com/android/tests/rollback/host/StagedRollbackTest.java
index 24a51dc..ac7f634 100644
--- a/tests/RollbackTest/StagedRollbackTest/src/com/android/tests/rollback/host/StagedRollbackTest.java
+++ b/tests/RollbackTest/StagedRollbackTest/src/com/android/tests/rollback/host/StagedRollbackTest.java
@@ -67,4 +67,18 @@
         getDevice().reboot();
         runPhase("testApexOnlyConfirmRollback");
     }
+
+    /**
+     * Tests staged rollbacks involving apk and apex.
+     */
+    @Test
+    public void testApkAndApex() throws Exception {
+        runPhase("testApkAndApexPrepare");
+        getDevice().reboot();
+        runPhase("testApkAndApexEnableRollback");
+        getDevice().reboot();
+        runPhase("testApkAndApexCommitRollback");
+        getDevice().reboot();
+        runPhase("testApkAndApexConfirmRollback");
+    }
 }
diff --git a/tests/RollbackTest/TestApex/Android.bp b/tests/RollbackTest/TestApex/Android.bp
deleted file mode 100644
index a2a8e17..0000000
--- a/tests/RollbackTest/TestApex/Android.bp
+++ /dev/null
@@ -1,56 +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.
-
-apex {
-    name: "com.android.tests.rollback.testapex.RollbackTestApexV1",
-    manifest: "RollbackTestApexV1.json",
-    file_contexts: "apex.test",
-    prebuilts: ["RollbackTestApex.prebuilt.txt"],
-    key: "RollbackTestApex.key",
-    installable: false,
-}
-
-apex {
-    name: "com.android.tests.rollback.testapex.RollbackTestApexV2",
-    manifest: "RollbackTestApexV2.json",
-    file_contexts: "apex.test",
-    prebuilts: ["RollbackTestApex.prebuilt.txt"],
-    key: "RollbackTestApex.key",
-    installable: false,
-}
-
-apex_key {
-    name: "RollbackTestApex.key",
-    public_key: "com.android.tests.rollback.testapex.avbpubkey",
-    private_key: "com.android.tests.rollback.testapex.pem",
-    installable: false,
-}
-
-prebuilt_etc {
-    name: "RollbackTestApex.prebuilt.txt",
-    src: "RollbackTestApex.prebuilt.txt",
-}
-
-filegroup {
-    name: "RollbackTestApexV1_filegroup",
-    srcs: [":com.android.tests.rollback.testapex.RollbackTestApexV1"],
-    export_to_make_var: "ROLLBACK_TEST_APEX_V1",
-}
-
-filegroup {
-    name: "RollbackTestApexV2_filegroup",
-    srcs: [":com.android.tests.rollback.testapex.RollbackTestApexV2"],
-    export_to_make_var: "ROLLBACK_TEST_APEX_V2",
-}
-
diff --git a/tests/SerialChat/Android.bp b/tests/SerialChat/Android.bp
new file mode 100644
index 0000000..3c18035
--- /dev/null
+++ b/tests/SerialChat/Android.bp
@@ -0,0 +1,21 @@
+//
+// 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.
+//
+
+android_test {
+    name: "SerialChat",
+    srcs: ["**/*.java"],
+    platform_apis: true,
+}
diff --git a/tests/SerialChat/Android.mk b/tests/SerialChat/Android.mk
deleted file mode 100644
index ed6ca999..0000000
--- a/tests/SerialChat/Android.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# 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.
-#
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := SerialChat
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-include $(BUILD_PACKAGE)
diff --git a/tests/ServiceCrashTest/Android.bp b/tests/ServiceCrashTest/Android.bp
new file mode 100644
index 0000000..40a377d
--- /dev/null
+++ b/tests/ServiceCrashTest/Android.bp
@@ -0,0 +1,12 @@
+android_test {
+    name: "ServiceCrashTest",
+    // Only compile source java files in this apk.
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+    libs: ["android.test.base"],
+    static_libs: [
+        "compatibility-device-util-axt",
+        "androidx.test.rules",
+    ],
+}
diff --git a/tests/ServiceCrashTest/Android.mk b/tests/ServiceCrashTest/Android.mk
deleted file mode 100644
index 617ee7c..0000000
--- a/tests/ServiceCrashTest/Android.mk
+++ /dev/null
@@ -1,20 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-# Only compile source java files in this apk.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := ServiceCrashTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_CERTIFICATE := platform
-LOCAL_JAVA_LIBRARIES := android.test.base
-
-LOCAL_STATIC_JAVA_LIBRARIES := compatibility-device-util-axt androidx.test.rules
-
-include $(BUILD_PACKAGE)
-
-# Use the following include to make our test apk.
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/SharedLibrary/client/Android.bp b/tests/SharedLibrary/client/Android.bp
new file mode 100644
index 0000000..dbf6dc9
--- /dev/null
+++ b/tests/SharedLibrary/client/Android.bp
@@ -0,0 +1,6 @@
+android_test {
+    name: "SharedLibraryClient",
+    srcs: ["**/*.java"],
+    libs: ["SharedLibrary"],
+    sdk_version: "current",
+}
diff --git a/tests/SharedLibrary/client/Android.mk b/tests/SharedLibrary/client/Android.mk
deleted file mode 100644
index 9e76c40..0000000
--- a/tests/SharedLibrary/client/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_USE_AAPT2 := true
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_RES_LIBRARIES := SharedLibrary
-
-LOCAL_PACKAGE_NAME := SharedLibraryClient
-LOCAL_SDK_VERSION := current
-
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/SharedLibrary/lib/Android.bp b/tests/SharedLibrary/lib/Android.bp
new file mode 100644
index 0000000..f69d388
--- /dev/null
+++ b/tests/SharedLibrary/lib/Android.bp
@@ -0,0 +1,11 @@
+android_app {
+    name: "SharedLibrary",
+    srcs: ["**/*.java"],
+    aaptflags: ["--shared-lib"],
+    sdk_version: "current",
+    export_package_resources: true,
+    privileged: true,
+    optimize: {
+        proguard_flags_files: ["proguard.proguard"],
+    },
+}
diff --git a/tests/SharedLibrary/lib/Android.mk b/tests/SharedLibrary/lib/Android.mk
deleted file mode 100644
index 3c1ca87..0000000
--- a/tests/SharedLibrary/lib/Android.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-LOCAL_USE_AAPT2 := true
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_AAPT_FLAGS := --shared-lib
-LOCAL_PACKAGE_NAME := SharedLibrary
-LOCAL_SDK_VERSION := current
-
-LOCAL_EXPORT_PACKAGE_RESOURCES := true
-LOCAL_PRIVILEGED_MODULE := true
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_PROGUARD_FLAG_FILES := proguard.proguard
-
-include $(BUILD_PACKAGE)
diff --git a/tests/ShowWhenLockedApp/Android.bp b/tests/ShowWhenLockedApp/Android.bp
new file mode 100644
index 0000000..dba564c
--- /dev/null
+++ b/tests/ShowWhenLockedApp/Android.bp
@@ -0,0 +1,5 @@
+android_test {
+    name: "ShowWhenLocked",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+}
diff --git a/tests/ShowWhenLockedApp/Android.mk b/tests/ShowWhenLockedApp/Android.mk
deleted file mode 100644
index 41e0ac4..0000000
--- a/tests/ShowWhenLockedApp/Android.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := ShowWhenLocked
-LOCAL_SDK_VERSION := current
-
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_PACKAGE)
\ No newline at end of file
diff --git a/tests/SmokeTest/Android.bp b/tests/SmokeTest/Android.bp
new file mode 100644
index 0000000..bc45ee6
--- /dev/null
+++ b/tests/SmokeTest/Android.bp
@@ -0,0 +1,6 @@
+android_test {
+    name: "SmokeTestApp",
+    // This builds "SmokeTestApp"
+    srcs: ["src/**/*.java"],
+    sdk_version: "8",
+}
diff --git a/tests/SmokeTest/Android.mk b/tests/SmokeTest/Android.mk
deleted file mode 100644
index 591a84e..0000000
--- a/tests/SmokeTest/Android.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-# This builds "SmokeTestApp"
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := SmokeTestApp
-
-LOCAL_SDK_VERSION := 8
-
-include $(BUILD_PACKAGE)
-
-# This builds "SmokeTest"
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/SmokeTest/tests/Android.bp b/tests/SmokeTest/tests/Android.bp
new file mode 100644
index 0000000..ceb2d19
--- /dev/null
+++ b/tests/SmokeTest/tests/Android.bp
@@ -0,0 +1,10 @@
+android_test {
+    name: "SmokeTest",
+    // Include all test java files.
+    srcs: ["src/**/*.java"],
+    // Notice that we don't have to include the src files of SmokeTestApp because, by
+    // running the tests using an instrumentation targeting SmokeTestApp, we
+    // automatically get all of its classes loaded into our environment.
+    instrumentation_for: "SmokeTestApp",
+    sdk_version: "8",
+}
diff --git a/tests/SmokeTest/tests/Android.mk b/tests/SmokeTest/tests/Android.mk
deleted file mode 100644
index 18e682e..0000000
--- a/tests/SmokeTest/tests/Android.mk
+++ /dev/null
@@ -1,21 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-
-# Include all test java files.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-# Notice that we don't have to include the src files of SmokeTestApp because, by
-# running the tests using an instrumentation targeting SmokeTestApp, we
-# automatically get all of its classes loaded into our environment.
-
-LOCAL_PACKAGE_NAME := SmokeTest
-
-LOCAL_INSTRUMENTATION_FOR := SmokeTestApp
-
-LOCAL_SDK_VERSION := 8
-
-include $(BUILD_PACKAGE)
-
diff --git a/tests/SmokeTestApps/Android.bp b/tests/SmokeTestApps/Android.bp
new file mode 100644
index 0000000..0feb0004
--- /dev/null
+++ b/tests/SmokeTestApps/Android.bp
@@ -0,0 +1,5 @@
+android_test {
+    name: "SmokeTestTriggerApps",
+    srcs: ["src/**/*.java"],
+    sdk_version: "current",
+}
diff --git a/tests/SmokeTestApps/Android.mk b/tests/SmokeTestApps/Android.mk
deleted file mode 100644
index 1f564e0..0000000
--- a/tests/SmokeTestApps/Android.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := SmokeTestTriggerApps
-LOCAL_SDK_VERSION := current
-
-include $(BUILD_PACKAGE)
-
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/SoundTriggerTestApp/Android.bp b/tests/SoundTriggerTestApp/Android.bp
new file mode 100644
index 0000000..d3a1300
--- /dev/null
+++ b/tests/SoundTriggerTestApp/Android.bp
@@ -0,0 +1,7 @@
+android_app {
+    name: "SoundTriggerTestApp",
+    srcs: ["**/*.java"],
+    platform_apis: true,
+    privileged: true,
+    certificate: "platform",
+}
diff --git a/tests/SoundTriggerTestApp/Android.mk b/tests/SoundTriggerTestApp/Android.mk
deleted file mode 100644
index 73fb5e8..0000000
--- a/tests/SoundTriggerTestApp/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := SoundTriggerTestApp
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_PRIVILEGED_MODULE := true
-LOCAL_CERTIFICATE := platform
-
-include $(BUILD_PACKAGE)
diff --git a/tests/Split/Android.bp b/tests/Split/Android.bp
new file mode 100644
index 0000000..d8c89ba
--- /dev/null
+++ b/tests/Split/Android.bp
@@ -0,0 +1,27 @@
+//
+// Copyright (C) 2014 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+android_test {
+    name: "Split",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    package_splits: [
+        "mdpi-v4",
+        "hdpi-v4",
+        "xhdpi-v4",
+        "xxhdpi-v4",
+    ],
+}
diff --git a/tests/Split/Android.mk b/tests/Split/Android.mk
deleted file mode 100644
index 4d15b2d..0000000
--- a/tests/Split/Android.mk
+++ /dev/null
@@ -1,28 +0,0 @@
-#
-# Copyright (C) 2014 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-LOCAL_PACKAGE_NAME := Split
-LOCAL_SDK_VERSION := current
-
-LOCAL_PACKAGE_SPLITS := mdpi-v4 hdpi-v4 xhdpi-v4 xxhdpi-v4
-
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/StatusBar/Android.bp b/tests/StatusBar/Android.bp
new file mode 100644
index 0000000..0b650ed
--- /dev/null
+++ b/tests/StatusBar/Android.bp
@@ -0,0 +1,9 @@
+android_test {
+    name: "StatusBarTest",
+    srcs: ["**/*.java"],
+    platform_apis: true,
+    certificate: "platform",
+    optimize: {
+        enabled: false,
+    },
+}
diff --git a/tests/StatusBar/Android.mk b/tests/StatusBar/Android.mk
deleted file mode 100644
index e845335..0000000
--- a/tests/StatusBar/Android.mk
+++ /dev/null
@@ -1,14 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := StatusBarTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_CERTIFICATE := platform
-
-LOCAL_PROGUARD_ENABLED := disabled
-
-include $(BUILD_PACKAGE)
diff --git a/tests/SurfaceComposition/Android.bp b/tests/SurfaceComposition/Android.bp
new file mode 100644
index 0000000..53e4d52
--- /dev/null
+++ b/tests/SurfaceComposition/Android.bp
@@ -0,0 +1,32 @@
+// Copyright (C) 2015 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.
+
+android_test {
+    name: "SurfaceComposition",
+    // Don't include this package in any target
+    // When built, explicitly put it in the data partition.
+    dex_preopt: {
+        enabled: false,
+    },
+    optimize: {
+        enabled: false,
+    },
+    srcs: ["src/**/*.java"],
+    static_libs: ["junit"],
+    libs: [
+        "android.test.runner.stubs",
+        "android.test.base.stubs",
+    ],
+    sdk_version: "current",
+}
diff --git a/tests/SurfaceComposition/Android.mk b/tests/SurfaceComposition/Android.mk
deleted file mode 100644
index f59458d..0000000
--- a/tests/SurfaceComposition/Android.mk
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (C) 2015 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.
-
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-# Don't include this package in any target
-LOCAL_MODULE_TAGS := tests
-# When built, explicitly put it in the data partition.
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-
-LOCAL_DEX_PREOPT := false
-
-LOCAL_PROGUARD_ENABLED := disabled
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_STATIC_JAVA_LIBRARIES := junit
-
-LOCAL_JAVA_LIBRARIES := android.test.runner.stubs android.test.base.stubs
-
-LOCAL_PACKAGE_NAME := SurfaceComposition
-
-LOCAL_SDK_VERSION := current
-
-include $(BUILD_PACKAGE)
diff --git a/tests/SystemMemoryTest/Android.mk b/tests/SystemMemoryTest/Android.mk
deleted file mode 100644
index 09a1618..0000000
--- a/tests/SystemMemoryTest/Android.mk
+++ /dev/null
@@ -1,17 +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.
-
-LOCAL_PATH:= $(call my-dir)
-
-include $(call all-subdir-makefiles)
diff --git a/tests/SystemMemoryTest/device/Android.bp b/tests/SystemMemoryTest/device/Android.bp
new file mode 100644
index 0000000..2bf0fec
--- /dev/null
+++ b/tests/SystemMemoryTest/device/Android.bp
@@ -0,0 +1,20 @@
+// 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.
+
+android_test_helper_app {
+    name: "SystemMemoryTestDevice",
+    sdk_version: "current",
+    srcs: ["src/**/*.java"],
+    test_suites: ["general-tests"],
+}
diff --git a/tests/SystemMemoryTest/device/Android.mk b/tests/SystemMemoryTest/device/Android.mk
deleted file mode 100644
index 75408df..0000000
--- a/tests/SystemMemoryTest/device/Android.mk
+++ /dev/null
@@ -1,24 +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.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-LOCAL_PACKAGE_NAME := SystemMemoryTestDevice
-LOCAL_SDK_VERSION := current
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_COMPATIBILITY_SUITE := general-tests
-include $(BUILD_PACKAGE)
diff --git a/tests/SystemMemoryTest/host/Android.bp b/tests/SystemMemoryTest/host/Android.bp
new file mode 100644
index 0000000..3bb5489
--- /dev/null
+++ b/tests/SystemMemoryTest/host/Android.bp
@@ -0,0 +1,20 @@
+// 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.
+
+java_test_host {
+    name: "system-memory-test",
+    srcs: ["src/**/*.java"],
+    libs: ["tradefed"],
+    test_suites: ["general-tests"],
+}
diff --git a/tests/SystemMemoryTest/host/Android.mk b/tests/SystemMemoryTest/host/Android.mk
deleted file mode 100644
index a516e38..0000000
--- a/tests/SystemMemoryTest/host/Android.mk
+++ /dev/null
@@ -1,23 +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.
-
-LOCAL_PATH := $(call my-dir)
-
-include $(CLEAR_VARS)
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-LOCAL_MODULE := system-memory-test
-LOCAL_MODULE_TAGS := optional
-LOCAL_JAVA_LIBRARIES := tradefed
-LOCAL_COMPATIBILITY_SUITE := general-tests
-include $(BUILD_HOST_JAVA_LIBRARY)
diff --git a/tests/SystemUIDemoModeController/Android.bp b/tests/SystemUIDemoModeController/Android.bp
new file mode 100644
index 0000000..1e4c437
--- /dev/null
+++ b/tests/SystemUIDemoModeController/Android.bp
@@ -0,0 +1,5 @@
+android_test {
+    name: "DemoModeController",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+}
diff --git a/tests/SystemUIDemoModeController/Android.mk b/tests/SystemUIDemoModeController/Android.mk
deleted file mode 100644
index cc6fa8d..0000000
--- a/tests/SystemUIDemoModeController/Android.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := DemoModeController
-LOCAL_SDK_VERSION := current
-
-include $(BUILD_PACKAGE)
diff --git a/tests/TouchLatency/Android.bp b/tests/TouchLatency/Android.bp
new file mode 100644
index 0000000..1174bcb0
--- /dev/null
+++ b/tests/TouchLatency/Android.bp
@@ -0,0 +1,10 @@
+android_test {
+    name: "TouchLatency",
+    manifest: "app/src/main/AndroidManifest.xml",
+    // omit gradle 'build' dir
+    srcs: ["app/src/main/java/**/*.java"],
+    resource_dirs: ["app/src/main/res"],
+    aaptflags: ["--auto-add-overlay"],
+    sdk_version: "current",
+    test_suites: ["device-tests"],
+}
diff --git a/tests/TouchLatency/Android.mk b/tests/TouchLatency/Android.mk
deleted file mode 100644
index 2334bd8..0000000
--- a/tests/TouchLatency/Android.mk
+++ /dev/null
@@ -1,22 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_MANIFEST_FILE := app/src/main/AndroidManifest.xml
-
-# omit gradle 'build' dir
-LOCAL_SRC_FILES := $(call all-java-files-under,app/src/main/java)
-
-LOCAL_RESOURCE_DIR := \
-    $(LOCAL_PATH)/app/src/main/res
-
-LOCAL_AAPT_FLAGS := \
-    --auto-add-overlay
-
-LOCAL_PACKAGE_NAME := TouchLatency
-LOCAL_SDK_VERSION := current
-
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/TransformTest/Android.bp b/tests/TransformTest/Android.bp
new file mode 100644
index 0000000..fd7aaeb
--- /dev/null
+++ b/tests/TransformTest/Android.bp
@@ -0,0 +1,5 @@
+android_test {
+    name: "TransformTest",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+}
diff --git a/tests/TransformTest/Android.mk b/tests/TransformTest/Android.mk
deleted file mode 100644
index 5340cdd..0000000
--- a/tests/TransformTest/Android.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := TransformTest
-LOCAL_SDK_VERSION := current
-
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/TransitionTests/Android.bp b/tests/TransitionTests/Android.bp
new file mode 100644
index 0000000..57f19e3
--- /dev/null
+++ b/tests/TransitionTests/Android.bp
@@ -0,0 +1,10 @@
+android_app {
+    name: "TransitionTests",
+    // Only compile source java files in this apk.
+    srcs: ["src/**/*.java"],
+    platform_apis: true,
+    static_libs: ["android-common"],
+    optimize: {
+        enabled: false,
+    },
+}
diff --git a/tests/TransitionTests/Android.mk b/tests/TransitionTests/Android.mk
deleted file mode 100644
index a696156..0000000
--- a/tests/TransitionTests/Android.mk
+++ /dev/null
@@ -1,19 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-
-# Only compile source java files in this apk.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := TransitionTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_STATIC_JAVA_LIBRARIES += android-common
-
-LOCAL_PROGUARD_ENABLED := disabled
-
-include $(BUILD_PACKAGE)
-
-# Use the following include to make our test apk.
-include $(call all-makefiles-under,$(LOCAL_PATH))
diff --git a/tests/TtsTests/Android.bp b/tests/TtsTests/Android.bp
new file mode 100644
index 0000000..b137523
--- /dev/null
+++ b/tests/TtsTests/Android.bp
@@ -0,0 +1,26 @@
+//
+// 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.
+//
+
+android_test {
+    name: "TtsTests",
+    srcs: ["**/*.java"],
+    static_libs: ["mockito-target"],
+    libs: [
+        "android.test.runner",
+        "android.test.base",
+    ],
+    platform_apis: true,
+}
diff --git a/tests/TtsTests/Android.mk b/tests/TtsTests/Android.mk
deleted file mode 100644
index 116cc0a..0000000
--- a/tests/TtsTests/Android.mk
+++ /dev/null
@@ -1,29 +0,0 @@
-#
-# 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.
-#
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_STATIC_JAVA_LIBRARIES := mockito-target
-LOCAL_JAVA_LIBRARIES := android.test.runner android.test.base
-
-LOCAL_PACKAGE_NAME := TtsTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-include $(BUILD_PACKAGE)
diff --git a/tests/UsageReportingTest/Android.bp b/tests/UsageReportingTest/Android.bp
new file mode 100644
index 0000000..0bac5a2
--- /dev/null
+++ b/tests/UsageReportingTest/Android.bp
@@ -0,0 +1,8 @@
+android_test {
+    name: "UsageReportingTest",
+    // Only compile source java files in this apk.
+    srcs: ["src/**/*.java"],
+    static_libs: ["androidx.legacy_legacy-support-v4"],
+    certificate: "platform",
+    platform_apis: true,
+}
diff --git a/tests/UsageReportingTest/Android.mk b/tests/UsageReportingTest/Android.mk
deleted file mode 100644
index afb6e16b1..0000000
--- a/tests/UsageReportingTest/Android.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-# Only compile source java files in this apk.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_USE_AAPT2 := true
-LOCAL_STATIC_ANDROID_LIBRARIES := androidx.legacy_legacy-support-v4
-
-LOCAL_CERTIFICATE := platform
-
-LOCAL_PACKAGE_NAME := UsageReportingTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-include $(BUILD_PACKAGE)
diff --git a/tests/UsageStatsPerfTests/Android.bp b/tests/UsageStatsPerfTests/Android.bp
new file mode 100644
index 0000000..3991fb8
--- /dev/null
+++ b/tests/UsageStatsPerfTests/Android.bp
@@ -0,0 +1,26 @@
+// 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.
+
+android_test {
+    name: "UsageStatsPerfTests",
+    srcs: ["src/**/*.java"],
+    static_libs: [
+        "androidx.test.rules",
+        "apct-perftests-utils",
+        "services.usage",
+    ],
+    platform_apis: true,
+    // For android.permission.FORCE_STOP_PACKAGES permission
+    certificate: "platform",
+}
diff --git a/tests/UsageStatsPerfTests/Android.mk b/tests/UsageStatsPerfTests/Android.mk
deleted file mode 100644
index 4304fb0..0000000
--- a/tests/UsageStatsPerfTests/Android.mk
+++ /dev/null
@@ -1,34 +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.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := \
-    $(call all-java-files-under, src)
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    androidx.test.rules \
-    apct-perftests-utils \
-    services.usage
-
-LOCAL_PACKAGE_NAME := UsageStatsPerfTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-# For android.permission.FORCE_STOP_PACKAGES permission
-LOCAL_CERTIFICATE := platform
-
-include $(BUILD_PACKAGE)
diff --git a/tests/UsageStatsTest/src/com/android/tests/usagestats/UsageStatsActivity.java b/tests/UsageStatsTest/src/com/android/tests/usagestats/UsageStatsActivity.java
index adcd11a..bb985d7 100644
--- a/tests/UsageStatsTest/src/com/android/tests/usagestats/UsageStatsActivity.java
+++ b/tests/UsageStatsTest/src/com/android/tests/usagestats/UsageStatsActivity.java
@@ -197,7 +197,7 @@
                     intent.setPackage(getPackageName());
                     intent.putExtra(EXTRA_KEY_TIMEOUT, true);
                     mUsageStatsManager.registerAppUsageLimitObserver(1, packages,
-                            Duration.ofSeconds(60), Duration.ofSeconds(60),
+                            Duration.ofSeconds(60), Duration.ofSeconds(0),
                             PendingIntent.getActivity(UsageStatsActivity.this, 1, intent, 0));
                 }
             }
diff --git a/tests/UsbHostExternalManagmentTest/AoapTestDevice/Android.bp b/tests/UsbHostExternalManagmentTest/AoapTestDevice/Android.bp
new file mode 100644
index 0000000..c7e9df0
--- /dev/null
+++ b/tests/UsbHostExternalManagmentTest/AoapTestDevice/Android.bp
@@ -0,0 +1,27 @@
+// Copyright (C) 2016 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.
+//
+//
+
+//#################################################
+
+android_test {
+    name: "AoapTestDeviceApp",
+    srcs: ["src/**/*.java"],
+    resource_dirs: ["res"],
+    platform_apis: true,
+    optimize: {
+        enabled: false,
+    },
+}
diff --git a/tests/UsbHostExternalManagmentTest/AoapTestDevice/Android.mk b/tests/UsbHostExternalManagmentTest/AoapTestDevice/Android.mk
deleted file mode 100644
index cd7aaed..0000000
--- a/tests/UsbHostExternalManagmentTest/AoapTestDevice/Android.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright (C) 2016 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.
-#
-#
-
-LOCAL_PATH:= $(call my-dir)
-
-##################################################
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
-
-LOCAL_PACKAGE_NAME := AoapTestDeviceApp
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_MODULE_TAGS := tests
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-
-LOCAL_PROGUARD_ENABLED := disabled
-
-include $(BUILD_PACKAGE)
-
diff --git a/tests/UsbHostExternalManagmentTest/AoapTestHost/Android.bp b/tests/UsbHostExternalManagmentTest/AoapTestHost/Android.bp
new file mode 100644
index 0000000..6fa58cb
--- /dev/null
+++ b/tests/UsbHostExternalManagmentTest/AoapTestHost/Android.bp
@@ -0,0 +1,27 @@
+// Copyright (C) 2016 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.
+//
+//
+
+//#################################################
+
+android_test {
+    name: "AoapTestHostApp",
+    srcs: ["src/**/*.java"],
+    resource_dirs: ["res"],
+    platform_apis: true,
+    optimize: {
+        enabled: false,
+    },
+}
diff --git a/tests/UsbHostExternalManagmentTest/AoapTestHost/Android.mk b/tests/UsbHostExternalManagmentTest/AoapTestHost/Android.mk
deleted file mode 100644
index bd8a51b..0000000
--- a/tests/UsbHostExternalManagmentTest/AoapTestHost/Android.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright (C) 2016 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.
-#
-#
-
-LOCAL_PATH:= $(call my-dir)
-
-##################################################
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
-
-LOCAL_PACKAGE_NAME := AoapTestHostApp
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_MODULE_TAGS := tests
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-
-LOCAL_PROGUARD_ENABLED := disabled
-
-include $(BUILD_PACKAGE)
-
diff --git a/tests/UsbHostExternalManagmentTest/UsbHostExternalManagmentTestApp/Android.bp b/tests/UsbHostExternalManagmentTest/UsbHostExternalManagmentTestApp/Android.bp
new file mode 100644
index 0000000..edd4205
--- /dev/null
+++ b/tests/UsbHostExternalManagmentTest/UsbHostExternalManagmentTestApp/Android.bp
@@ -0,0 +1,32 @@
+// Copyright (C) 2016 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.
+//
+//
+
+//#################################################
+
+// TODO: should this be android_helper_test_app?
+android_app {
+    name: "UsbHostExternalManagementTestApp",
+    srcs: ["src/**/*.java"],
+    resource_dirs: ["res"],
+    platform_apis: true,
+    privileged: true,
+    // TODO remove tests tag
+    //LOCAL_MODULE_TAGS := tests
+    //LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
+    optimize: {
+        enabled: false,
+    },
+}
diff --git a/tests/UsbHostExternalManagmentTest/UsbHostExternalManagmentTestApp/Android.mk b/tests/UsbHostExternalManagmentTest/UsbHostExternalManagmentTestApp/Android.mk
deleted file mode 100644
index fed454e..0000000
--- a/tests/UsbHostExternalManagmentTest/UsbHostExternalManagmentTestApp/Android.mk
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright (C) 2016 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.
-#
-#
-
-LOCAL_PATH:= $(call my-dir)
-
-##################################################
-
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
-
-LOCAL_PACKAGE_NAME := UsbHostExternalManagementTestApp
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_PRIVILEGED_MODULE := true
-# TODO remove tests tag
-#LOCAL_MODULE_TAGS := tests
-#LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-
-LOCAL_PROGUARD_ENABLED := disabled
-
-include $(BUILD_PACKAGE)
-
diff --git a/tests/UsbTests/Android.bp b/tests/UsbTests/Android.bp
new file mode 100644
index 0000000..1b2cf63
--- /dev/null
+++ b/tests/UsbTests/Android.bp
@@ -0,0 +1,34 @@
+//
+// Copyright (C) 2018 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+android_test {
+    name: "UsbTests",
+    srcs: ["**/*.java"],
+    static_libs: [
+        "frameworks-base-testutils",
+        "androidx.test.rules",
+        "mockito-target-inline-minus-junit4",
+        "platform-test-annotations",
+        "services.core",
+        "services.net",
+        "services.usb",
+        "truth-prebuilt",
+    ],
+    jni_libs: ["libdexmakerjvmtiagent"],
+    certificate: "platform",
+    platform_apis: true,
+    test_suites: ["device-tests"],
+}
diff --git a/tests/UsbTests/Android.mk b/tests/UsbTests/Android.mk
deleted file mode 100644
index aef993b..0000000
--- a/tests/UsbTests/Android.mk
+++ /dev/null
@@ -1,45 +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.
-#
-
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    frameworks-base-testutils \
-    androidx.test.rules \
-    mockito-target-inline-minus-junit4 \
-    platform-test-annotations \
-    services.core \
-    services.net \
-    services.usb \
-    truth-prebuilt \
-
-LOCAL_JNI_SHARED_LIBRARIES := \
-    libdexmakerjvmtiagent \
-
-LOCAL_CERTIFICATE := platform
-
-LOCAL_PACKAGE_NAME := UsbTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/UsesFeature2Test/Android.bp b/tests/UsesFeature2Test/Android.bp
new file mode 100644
index 0000000..a1b77d0
--- /dev/null
+++ b/tests/UsesFeature2Test/Android.bp
@@ -0,0 +1,21 @@
+//
+// Copyright (C) 2014 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+android_test {
+    name: "UsesFeature2Test",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+}
diff --git a/tests/UsesFeature2Test/Android.mk b/tests/UsesFeature2Test/Android.mk
deleted file mode 100644
index 4cba4ff..0000000
--- a/tests/UsesFeature2Test/Android.mk
+++ /dev/null
@@ -1,26 +0,0 @@
-#
-# Copyright (C) 2014 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-LOCAL_PACKAGE_NAME := UsesFeature2Test
-LOCAL_SDK_VERSION := current
-
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/VectorDrawableTest/Android.bp b/tests/VectorDrawableTest/Android.bp
new file mode 100644
index 0000000..13f318e
--- /dev/null
+++ b/tests/VectorDrawableTest/Android.bp
@@ -0,0 +1,21 @@
+//
+// Copyright (C) 2014 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//      http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+android_test {
+    name: "VectorDrawableTest",
+    srcs: ["**/*.java"],
+    platform_apis: true,
+}
diff --git a/tests/VectorDrawableTest/Android.mk b/tests/VectorDrawableTest/Android.mk
deleted file mode 100644
index 155b2bc..0000000
--- a/tests/VectorDrawableTest/Android.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright (C) 2014 The Android Open Source Project
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#      http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := VectorDrawableTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/VoiceEnrollment/Android.bp b/tests/VoiceEnrollment/Android.bp
new file mode 100644
index 0000000..e43b38c
--- /dev/null
+++ b/tests/VoiceEnrollment/Android.bp
@@ -0,0 +1,6 @@
+android_app {
+    name: "VoiceEnrollment",
+    srcs: ["**/*.java"],
+    platform_apis: true,
+    privileged: true,
+}
diff --git a/tests/VoiceEnrollment/Android.mk b/tests/VoiceEnrollment/Android.mk
deleted file mode 100644
index 725e2bd..0000000
--- a/tests/VoiceEnrollment/Android.mk
+++ /dev/null
@@ -1,13 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := VoiceEnrollment
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_PRIVILEGED_MODULE := true
-
-include $(BUILD_PACKAGE)
diff --git a/tests/VoiceInteraction/Android.bp b/tests/VoiceInteraction/Android.bp
new file mode 100644
index 0000000..7059473
--- /dev/null
+++ b/tests/VoiceInteraction/Android.bp
@@ -0,0 +1,5 @@
+android_test {
+    name: "VoiceInteraction",
+    srcs: ["**/*.java"],
+    platform_apis: true,
+}
diff --git a/tests/VoiceInteraction/Android.mk b/tests/VoiceInteraction/Android.mk
deleted file mode 100644
index aa48b42..0000000
--- a/tests/VoiceInteraction/Android.mk
+++ /dev/null
@@ -1,11 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := VoiceInteraction
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-include $(BUILD_PACKAGE)
diff --git a/tests/WallpaperTest/Android.bp b/tests/WallpaperTest/Android.bp
new file mode 100644
index 0000000..f68b6ec
--- /dev/null
+++ b/tests/WallpaperTest/Android.bp
@@ -0,0 +1,9 @@
+android_app {
+    name: "WallpaperTest",
+    srcs: ["src/**/*.java"],
+    resource_dirs: ["res"],
+    platform_apis: true,
+    optimize: {
+        enabled: false,
+    },
+}
diff --git a/tests/WallpaperTest/Android.mk b/tests/WallpaperTest/Android.mk
deleted file mode 100644
index 4815500..0000000
--- a/tests/WallpaperTest/Android.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
-
-LOCAL_PACKAGE_NAME := WallpaperTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_PROGUARD_ENABLED := disabled
-
-include $(BUILD_PACKAGE)
-
diff --git a/tests/WindowAnimationJank/Android.bp b/tests/WindowAnimationJank/Android.bp
new file mode 100644
index 0000000..50b2297
--- /dev/null
+++ b/tests/WindowAnimationJank/Android.bp
@@ -0,0 +1,25 @@
+// Copyright (C) 2015 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.
+
+android_test {
+    name: "WindowAnimationJank",
+    srcs: ["src/**/*.java"],
+    static_libs: [
+        "ub-uiautomator",
+        "androidx.test.janktesthelper",
+        "junit",
+    ],
+    libs: ["android.test.base.stubs"],
+    sdk_version: "current",
+}
diff --git a/tests/WindowAnimationJank/Android.mk b/tests/WindowAnimationJank/Android.mk
deleted file mode 100644
index 1c2d167..0000000
--- a/tests/WindowAnimationJank/Android.mk
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright (C) 2015 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.
-
-LOCAL_PATH:= $(call my-dir)
-
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_MODULE_PATH := $(TARGET_OUT_DATA_APPS)
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := WindowAnimationJank
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    ub-uiautomator \
-    androidx.test.janktesthelper \
-    junit
-
-LOCAL_JAVA_LIBRARIES := android.test.base.stubs
-
-LOCAL_SDK_VERSION := current
-
-include $(BUILD_PACKAGE)
diff --git a/tests/WindowManagerStressTest/Android.bp b/tests/WindowManagerStressTest/Android.bp
new file mode 100644
index 0000000..98749a7
--- /dev/null
+++ b/tests/WindowManagerStressTest/Android.bp
@@ -0,0 +1,21 @@
+//
+// Copyright (C) 2016 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.
+//
+
+android_test {
+    name: "WindowManagerStressTest",
+    srcs: ["**/*.java"],
+    platform_apis: true,
+}
diff --git a/tests/WindowManagerStressTest/Android.mk b/tests/WindowManagerStressTest/Android.mk
deleted file mode 100644
index 6f4403f..0000000
--- a/tests/WindowManagerStressTest/Android.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright (C) 2016 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.
-#
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := WindowManagerStressTest
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_MODULE_TAGS := tests
-
-include $(BUILD_PACKAGE)
diff --git a/tests/appwidgets/AppWidgetHostTest/Android.bp b/tests/appwidgets/AppWidgetHostTest/Android.bp
new file mode 100644
index 0000000..24b7613
--- /dev/null
+++ b/tests/appwidgets/AppWidgetHostTest/Android.bp
@@ -0,0 +1,6 @@
+android_app {
+    name: "AppWidgetHostTest",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    certificate: "platform",
+}
diff --git a/tests/appwidgets/AppWidgetHostTest/Android.mk b/tests/appwidgets/AppWidgetHostTest/Android.mk
deleted file mode 100644
index c9e6c6b..0000000
--- a/tests/appwidgets/AppWidgetHostTest/Android.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := AppWidgetHostTest
-LOCAL_SDK_VERSION := current
-LOCAL_CERTIFICATE := platform
-
-include $(BUILD_PACKAGE)
diff --git a/tests/appwidgets/AppWidgetProviderTest/Android.bp b/tests/appwidgets/AppWidgetProviderTest/Android.bp
new file mode 100644
index 0000000..a1a5991
--- /dev/null
+++ b/tests/appwidgets/AppWidgetProviderTest/Android.bp
@@ -0,0 +1,6 @@
+android_app {
+    name: "AppWidgetProvider",
+    srcs: ["**/*.java"],
+    sdk_version: "current",
+    certificate: "platform",
+}
diff --git a/tests/appwidgets/AppWidgetProviderTest/Android.mk b/tests/appwidgets/AppWidgetProviderTest/Android.mk
deleted file mode 100644
index b26c60b..0000000
--- a/tests/appwidgets/AppWidgetProviderTest/Android.mk
+++ /dev/null
@@ -1,12 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := optional
-
-LOCAL_SRC_FILES := $(call all-subdir-java-files)
-
-LOCAL_PACKAGE_NAME := AppWidgetProvider
-LOCAL_SDK_VERSION := current
-LOCAL_CERTIFICATE := platform
-
-include $(BUILD_PACKAGE)
diff --git a/tests/net/Android.bp b/tests/net/Android.bp
new file mode 100644
index 0000000..c62d85e
--- /dev/null
+++ b/tests/net/Android.bp
@@ -0,0 +1,26 @@
+//########################################################################
+// Build FrameworksNetTests package
+//########################################################################
+
+android_test {
+    name: "FrameworksNetTests",
+    // Include all test java files.
+    srcs: ["java/**/*.java"],
+    static_libs: [
+        "frameworks-base-testutils",
+        "framework-protos",
+        "androidx.test.rules",
+        "mockito-target-minus-junit4",
+        "platform-test-annotations",
+        "services.core",
+        "services.net",
+    ],
+    libs: [
+        "android.test.runner",
+        "android.test.base",
+        "android.test.mock",
+    ],
+    platform_apis: true,
+    test_suites: ["device-tests"],
+    certificate: "platform",
+}
diff --git a/tests/net/Android.mk b/tests/net/Android.mk
deleted file mode 100644
index 7e1b400..0000000
--- a/tests/net/Android.mk
+++ /dev/null
@@ -1,37 +0,0 @@
-#########################################################################
-# Build FrameworksNetTests package
-#########################################################################
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-
-# Include all test java files.
-LOCAL_SRC_FILES := $(call all-java-files-under, java)
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    frameworks-base-testutils \
-    framework-protos \
-    android-support-test \
-    mockito-target-minus-junit4 \
-    platform-test-annotations \
-    services.core \
-    services.ipmemorystore \
-    services.net
-
-LOCAL_JAVA_LIBRARIES := \
-    android.test.runner \
-    android.test.base \
-    android.test.mock
-
-LOCAL_PACKAGE_NAME := FrameworksNetTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-LOCAL_CERTIFICATE := platform
-
-LOCAL_ADDITIONAL_DEPENDENCIES := $(LOCAL_PATH)/Android.mk
-
-include $(BUILD_PACKAGE)
diff --git a/tests/net/AndroidManifest.xml b/tests/net/AndroidManifest.xml
index 6dae3f1..dcacb6d 100644
--- a/tests/net/AndroidManifest.xml
+++ b/tests/net/AndroidManifest.xml
@@ -51,7 +51,7 @@
     </application>
 
     <instrumentation
-        android:name="android.support.test.runner.AndroidJUnitRunner"
+        android:name="androidx.test.runner.AndroidJUnitRunner"
         android:targetPackage="com.android.frameworks.tests.net"
         android:label="Frameworks Networking Tests" />
 </manifest>
diff --git a/tests/net/AndroidTest.xml b/tests/net/AndroidTest.xml
index 6e020a3..939ae49 100644
--- a/tests/net/AndroidTest.xml
+++ b/tests/net/AndroidTest.xml
@@ -22,7 +22,7 @@
     <option name="test-tag" value="FrameworksNetTests" />
     <test class="com.android.tradefed.testtype.AndroidJUnitTest" >
         <option name="package" value="com.android.frameworks.tests.net" />
-        <option name="runner" value="android.support.test.runner.AndroidJUnitRunner" />
+        <option name="runner" value="androidx.test.runner.AndroidJUnitRunner" />
         <option name="hidden-api-checks" value="false"/>
     </test>
 </configuration>
diff --git a/tests/net/OWNERS b/tests/net/OWNERS
index 7311eee..d3836d4 100644
--- a/tests/net/OWNERS
+++ b/tests/net/OWNERS
@@ -1,8 +1,8 @@
 set noparent
 
 codewiz@google.com
-ek@google.com
 jchalard@google.com
+junyulai@google.com
 lorenzo@google.com
 reminv@google.com
 satk@google.com
diff --git a/tests/net/java/android/app/usage/NetworkStatsManagerTest.java b/tests/net/java/android/app/usage/NetworkStatsManagerTest.java
index 25e1474..fd555c1 100644
--- a/tests/net/java/android/app/usage/NetworkStatsManagerTest.java
+++ b/tests/net/java/android/app/usage/NetworkStatsManagerTest.java
@@ -26,7 +26,6 @@
 import static org.mockito.ArgumentMatchers.anyString;
 import static org.mockito.ArgumentMatchers.argThat;
 import static org.mockito.ArgumentMatchers.eq;
-import static org.mockito.Mockito.atLeastOnce;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
@@ -38,9 +37,10 @@
 import android.net.NetworkStatsHistory;
 import android.net.NetworkTemplate;
 import android.os.RemoteException;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/net/java/android/net/ConnectivityManagerTest.java b/tests/net/java/android/net/ConnectivityManagerTest.java
index 6174c6c..7ede144 100644
--- a/tests/net/java/android/net/ConnectivityManagerTest.java
+++ b/tests/net/java/android/net/ConnectivityManagerTest.java
@@ -34,7 +34,6 @@
 
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotNull;
-import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 import static org.mockito.Mockito.any;
@@ -47,19 +46,20 @@
 import static org.mockito.Mockito.when;
 
 import android.app.PendingIntent;
-import android.net.ConnectivityManager;
-import android.net.NetworkCapabilities;
 import android.content.Context;
+import android.content.pm.ApplicationInfo;
+import android.net.ConnectivityManager;
+import android.net.ConnectivityManager.NetworkCallback;
+import android.net.NetworkCapabilities;
+import android.os.Build.VERSION_CODES;
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Looper;
 import android.os.Message;
 import android.os.Messenger;
-import android.content.pm.ApplicationInfo;
-import android.os.Build.VERSION_CODES;
-import android.net.ConnectivityManager.NetworkCallback;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/net/java/android/net/DnsPacketTest.java b/tests/net/java/android/net/DnsPacketTest.java
index 032e526..975abf4 100644
--- a/tests/net/java/android/net/DnsPacketTest.java
+++ b/tests/net/java/android/net/DnsPacketTest.java
@@ -20,8 +20,8 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -36,19 +36,19 @@
             int qCount, int aCount, int nsCount, int arCount) {
         assertEquals(header.id, id);
         assertEquals(header.flags, flag);
-        assertEquals(header.getSectionCount(DnsPacket.QDSECTION), qCount);
-        assertEquals(header.getSectionCount(DnsPacket.ANSECTION), aCount);
-        assertEquals(header.getSectionCount(DnsPacket.NSSECTION), nsCount);
-        assertEquals(header.getSectionCount(DnsPacket.ARSECTION), arCount);
+        assertEquals(header.getRecordCount(DnsPacket.QDSECTION), qCount);
+        assertEquals(header.getRecordCount(DnsPacket.ANSECTION), aCount);
+        assertEquals(header.getRecordCount(DnsPacket.NSSECTION), nsCount);
+        assertEquals(header.getRecordCount(DnsPacket.ARSECTION), arCount);
     }
 
-    private void assertSectionParses(DnsPacket.DnsSection section, String dname,
+    private void assertRecordParses(DnsPacket.DnsRecord record, String dname,
             int dtype, int dclass, int ttl, byte[] rr) {
-        assertEquals(section.dName, dname);
-        assertEquals(section.nsType, dtype);
-        assertEquals(section.nsClass, dclass);
-        assertEquals(section.ttl, ttl);
-        assertTrue(Arrays.equals(section.getRR(), rr));
+        assertEquals(record.dName, dname);
+        assertEquals(record.nsType, dtype);
+        assertEquals(record.nsClass, dclass);
+        assertEquals(record.ttl, ttl);
+        assertTrue(Arrays.equals(record.getRR(), rr));
     }
 
     class TestDnsPacket extends DnsPacket {
@@ -59,8 +59,8 @@
         public DnsHeader getHeader() {
             return mHeader;
         }
-        public List<DnsSection> getSectionList(int secType) {
-            return mSections[secType];
+        public List<DnsRecord> getRecordList(int secType) {
+            return mRecords[secType];
         }
     }
 
@@ -69,7 +69,7 @@
         try {
             new TestDnsPacket(null);
             fail("Exception not thrown for null byte array");
-        } catch (DnsPacket.ParseException e) {
+        } catch (ParseException e) {
         }
     }
 
@@ -101,16 +101,16 @@
         // Header part
         assertHeaderParses(packet.getHeader(), 0x5566, 0x8180, 1, 1, 0, 0);
 
-        // Section part
-        List<DnsPacket.DnsSection> qdSectionList =
-                packet.getSectionList(DnsPacket.QDSECTION);
-        assertEquals(qdSectionList.size(), 1);
-        assertSectionParses(qdSectionList.get(0), "www.google.com", 1, 1, 0, null);
+        // Record part
+        List<DnsPacket.DnsRecord> qdRecordList =
+                packet.getRecordList(DnsPacket.QDSECTION);
+        assertEquals(qdRecordList.size(), 1);
+        assertRecordParses(qdRecordList.get(0), "www.google.com", 1, 1, 0, null);
 
-        List<DnsPacket.DnsSection> anSectionList =
-                packet.getSectionList(DnsPacket.ANSECTION);
-        assertEquals(anSectionList.size(), 1);
-        assertSectionParses(anSectionList.get(0), "www.google.com", 1, 1, 0x12b,
+        List<DnsPacket.DnsRecord> anRecordList =
+                packet.getRecordList(DnsPacket.ANSECTION);
+        assertEquals(anRecordList.size(), 1);
+        assertRecordParses(anRecordList.get(0), "www.google.com", 1, 1, 0x12b,
                 new byte[]{ (byte) 0xac, (byte) 0xd9, (byte) 0xa1, (byte) 0x84 });
     }
 
@@ -143,16 +143,16 @@
         // Header part
         assertHeaderParses(packet.getHeader(), 0x7722, 0x8180, 1, 1, 0, 0);
 
-        // Section part
-        List<DnsPacket.DnsSection> qdSectionList =
-                packet.getSectionList(DnsPacket.QDSECTION);
-        assertEquals(qdSectionList.size(), 1);
-        assertSectionParses(qdSectionList.get(0), "www.google.com", 28, 1, 0, null);
+        // Record part
+        List<DnsPacket.DnsRecord> qdRecordList =
+                packet.getRecordList(DnsPacket.QDSECTION);
+        assertEquals(qdRecordList.size(), 1);
+        assertRecordParses(qdRecordList.get(0), "www.google.com", 28, 1, 0, null);
 
-        List<DnsPacket.DnsSection> anSectionList =
-                packet.getSectionList(DnsPacket.ANSECTION);
-        assertEquals(anSectionList.size(), 1);
-        assertSectionParses(anSectionList.get(0), "www.google.com", 28, 1, 0x37,
+        List<DnsPacket.DnsRecord> anRecordList =
+                packet.getRecordList(DnsPacket.ANSECTION);
+        assertEquals(anRecordList.size(), 1);
+        assertRecordParses(anRecordList.get(0), "www.google.com", 28, 1, 0x37,
                 new byte[]{ 0x24, 0x04, 0x68, 0x00, 0x40, 0x05, 0x08, 0x0d,
                     0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x20, 0x04 });
     }
diff --git a/tests/net/java/android/net/IpMemoryStoreTest.java b/tests/net/java/android/net/IpMemoryStoreTest.java
index eae9710..18c6768 100644
--- a/tests/net/java/android/net/IpMemoryStoreTest.java
+++ b/tests/net/java/android/net/IpMemoryStoreTest.java
@@ -16,9 +16,13 @@
 
 package android.net;
 
+import static org.mockito.ArgumentMatchers.any;
+import static org.mockito.Mockito.doAnswer;
+
 import android.content.Context;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -32,13 +36,25 @@
     @Mock
     Context mMockContext;
     @Mock
+    NetworkStackClient mNetworkStackClient;
+    @Mock
     IIpMemoryStore mMockService;
     IpMemoryStore mStore;
 
     @Before
     public void setUp() {
         MockitoAnnotations.initMocks(this);
-        mStore = new IpMemoryStore(mMockContext, mMockService);
+        doAnswer(invocation -> {
+            ((IIpMemoryStoreCallbacks) invocation.getArgument(0))
+                    .onIpMemoryStoreFetched(mMockService);
+            return null;
+        }).when(mNetworkStackClient).fetchIpMemoryStore(any());
+        mStore = new IpMemoryStore(mMockContext) {
+            @Override
+            protected NetworkStackClient getNetworkStackClient() {
+                return mNetworkStackClient;
+            }
+        };
     }
 
     @Test
diff --git a/tests/net/java/android/net/IpPrefixTest.java b/tests/net/java/android/net/IpPrefixTest.java
index 1f1ba2e..3cc0e36 100644
--- a/tests/net/java/android/net/IpPrefixTest.java
+++ b/tests/net/java/android/net/IpPrefixTest.java
@@ -25,15 +25,16 @@
 import static org.junit.Assert.fail;
 
 import android.os.Parcel;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
 
 import java.net.InetAddress;
 import java.util.Random;
 
-import org.junit.runner.RunWith;
-import org.junit.Test;
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class IpPrefixTest {
diff --git a/tests/net/java/android/net/IpSecAlgorithmTest.java b/tests/net/java/android/net/IpSecAlgorithmTest.java
index 85e8361..8e9d08c 100644
--- a/tests/net/java/android/net/IpSecAlgorithmTest.java
+++ b/tests/net/java/android/net/IpSecAlgorithmTest.java
@@ -20,17 +20,18 @@
 import static org.junit.Assert.fail;
 
 import android.os.Parcel;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
 
 import java.util.AbstractMap.SimpleEntry;
 import java.util.Arrays;
 import java.util.Map.Entry;
 import java.util.Random;
 
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
 /** Unit tests for {@link IpSecAlgorithm}. */
 @SmallTest
 @RunWith(AndroidJUnit4.class)
diff --git a/tests/net/java/android/net/IpSecConfigTest.java b/tests/net/java/android/net/IpSecConfigTest.java
index be1a455..215506c 100644
--- a/tests/net/java/android/net/IpSecConfigTest.java
+++ b/tests/net/java/android/net/IpSecConfigTest.java
@@ -22,7 +22,8 @@
 import static org.junit.Assert.assertTrue;
 
 import android.os.Parcel;
-import android.support.test.filters.SmallTest;
+
+import androidx.test.filters.SmallTest;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/tests/net/java/android/net/IpSecManagerTest.java b/tests/net/java/android/net/IpSecManagerTest.java
index 8160924..730e2d5 100644
--- a/tests/net/java/android/net/IpSecManagerTest.java
+++ b/tests/net/java/android/net/IpSecManagerTest.java
@@ -19,6 +19,7 @@
 import static android.system.OsConstants.AF_INET;
 import static android.system.OsConstants.IPPROTO_UDP;
 import static android.system.OsConstants.SOCK_DGRAM;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
@@ -30,21 +31,22 @@
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
-import android.test.mock.MockContext;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.system.Os;
+import android.test.mock.MockContext;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import com.android.server.IpSecService;
 
-import java.net.InetAddress;
-import java.net.Socket;
-import java.net.UnknownHostException;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import java.net.InetAddress;
+import java.net.Socket;
+import java.net.UnknownHostException;
+
 /** Unit tests for {@link IpSecManager}. */
 @SmallTest
 @RunWith(AndroidJUnit4.class)
diff --git a/tests/net/java/android/net/IpSecTransformTest.java b/tests/net/java/android/net/IpSecTransformTest.java
index ffd1f06..2308a3c 100644
--- a/tests/net/java/android/net/IpSecTransformTest.java
+++ b/tests/net/java/android/net/IpSecTransformTest.java
@@ -19,7 +19,7 @@
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
-import android.support.test.filters.SmallTest;
+import androidx.test.filters.SmallTest;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/tests/net/java/android/net/LinkAddressTest.java b/tests/net/java/android/net/LinkAddressTest.java
index c1ad946..be7bd1b 100644
--- a/tests/net/java/android/net/LinkAddressTest.java
+++ b/tests/net/java/android/net/LinkAddressTest.java
@@ -26,6 +26,7 @@
 import static android.system.OsConstants.RT_SCOPE_LINK;
 import static android.system.OsConstants.RT_SCOPE_SITE;
 import static android.system.OsConstants.RT_SCOPE_UNIVERSE;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertNotEquals;
@@ -33,24 +34,22 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
+import android.os.Parcel;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
 import java.net.Inet4Address;
-import java.net.Inet6Address;
 import java.net.InetAddress;
 import java.net.InterfaceAddress;
 import java.net.NetworkInterface;
 import java.net.SocketException;
 import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
 import java.util.List;
 
-import android.os.Parcel;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
-
-import org.junit.runner.RunWith;
-import org.junit.Test;
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class LinkAddressTest {
diff --git a/tests/net/java/android/net/LinkPropertiesTest.java b/tests/net/java/android/net/LinkPropertiesTest.java
index bdde096..9a7d487 100644
--- a/tests/net/java/android/net/LinkPropertiesTest.java
+++ b/tests/net/java/android/net/LinkPropertiesTest.java
@@ -24,11 +24,12 @@
 
 import android.net.LinkProperties.CompareResult;
 import android.net.LinkProperties.ProvisioningChange;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.system.OsConstants;
 import android.util.ArraySet;
 
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.internal.util.TestUtils;
 
 import org.junit.Test;
diff --git a/tests/net/java/android/net/MacAddressTest.java b/tests/net/java/android/net/MacAddressTest.java
index 17486e0..daf187d 100644
--- a/tests/net/java/android/net/MacAddressTest.java
+++ b/tests/net/java/android/net/MacAddressTest.java
@@ -22,8 +22,8 @@
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
 
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/tests/net/java/android/net/NetworkCapabilitiesTest.java b/tests/net/java/android/net/NetworkCapabilitiesTest.java
index 84f7359..ad76388 100644
--- a/tests/net/java/android/net/NetworkCapabilitiesTest.java
+++ b/tests/net/java/android/net/NetworkCapabilitiesTest.java
@@ -20,6 +20,7 @@
 import static android.net.NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_CBS;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_EIMS;
+import static android.net.NetworkCapabilities.NET_CAPABILITY_FOREGROUND;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_INTERNET;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_MMS;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_METERED;
@@ -27,6 +28,7 @@
 import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_ROAMING;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VPN;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_OEM_PAID;
+import static android.net.NetworkCapabilities.NET_CAPABILITY_PARTIAL_CONNECTIVITY;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_VALIDATED;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_WIFI_P2P;
 import static android.net.NetworkCapabilities.RESTRICTED_CAPABILITIES;
@@ -42,10 +44,11 @@
 import static org.junit.Assert.fail;
 
 import android.os.Parcel;
-import android.support.test.runner.AndroidJUnit4;
 import android.test.suitebuilder.annotation.SmallTest;
 import android.util.ArraySet;
 
+import androidx.test.runner.AndroidJUnit4;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
@@ -334,6 +337,24 @@
     }
 
     @Test
+    public void testConnectivityManagedCapabilities() {
+        NetworkCapabilities nc = new NetworkCapabilities();
+        assertFalse(nc.hasConnectivityManagedCapability());
+        // Check every single system managed capability.
+        nc.addCapability(NET_CAPABILITY_CAPTIVE_PORTAL);
+        assertTrue(nc.hasConnectivityManagedCapability());
+        nc.removeCapability(NET_CAPABILITY_CAPTIVE_PORTAL);
+        nc.addCapability(NET_CAPABILITY_FOREGROUND);
+        assertTrue(nc.hasConnectivityManagedCapability());
+        nc.removeCapability(NET_CAPABILITY_FOREGROUND);
+        nc.addCapability(NET_CAPABILITY_PARTIAL_CONNECTIVITY);
+        assertTrue(nc.hasConnectivityManagedCapability());
+        nc.removeCapability(NET_CAPABILITY_PARTIAL_CONNECTIVITY);
+        nc.addCapability(NET_CAPABILITY_VALIDATED);
+        assertTrue(nc.hasConnectivityManagedCapability());
+    }
+
+    @Test
     public void testEqualsNetCapabilities() {
         NetworkCapabilities nc1 = new NetworkCapabilities();
         NetworkCapabilities nc2 = new NetworkCapabilities();
diff --git a/tests/net/java/android/net/NetworkStatsHistoryTest.java b/tests/net/java/android/net/NetworkStatsHistoryTest.java
index 301d04d..13558cd 100644
--- a/tests/net/java/android/net/NetworkStatsHistoryTest.java
+++ b/tests/net/java/android/net/NetworkStatsHistoryTest.java
@@ -16,14 +16,14 @@
 
 package android.net;
 
+import static android.net.NetworkStatsHistory.DataStreamUtils.readVarLong;
+import static android.net.NetworkStatsHistory.DataStreamUtils.writeVarLong;
+import static android.net.NetworkStatsHistory.Entry.UNKNOWN;
 import static android.net.NetworkStatsHistory.FIELD_ALL;
 import static android.net.NetworkStatsHistory.FIELD_OPERATIONS;
 import static android.net.NetworkStatsHistory.FIELD_RX_BYTES;
 import static android.net.NetworkStatsHistory.FIELD_RX_PACKETS;
 import static android.net.NetworkStatsHistory.FIELD_TX_BYTES;
-import static android.net.NetworkStatsHistory.DataStreamUtils.readVarLong;
-import static android.net.NetworkStatsHistory.DataStreamUtils.writeVarLong;
-import static android.net.NetworkStatsHistory.Entry.UNKNOWN;
 import static android.net.TrafficStats.GB_IN_BYTES;
 import static android.net.TrafficStats.MB_IN_BYTES;
 import static android.text.format.DateUtils.DAY_IN_MILLIS;
@@ -32,29 +32,30 @@
 import static android.text.format.DateUtils.SECOND_IN_MILLIS;
 import static android.text.format.DateUtils.WEEK_IN_MILLIS;
 import static android.text.format.DateUtils.YEAR_IN_MILLIS;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
 import static org.junit.Assert.assertTrue;
 
 import android.content.Context;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
-import android.test.suitebuilder.annotation.Suppress;
 import android.util.Log;
 
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.frameworks.tests.net.R;
 
+import org.junit.After;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.DataInputStream;
 import java.io.DataOutputStream;
 import java.util.Random;
 
-import org.junit.After;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class NetworkStatsHistoryTest {
diff --git a/tests/net/java/android/net/NetworkStatsTest.java b/tests/net/java/android/net/NetworkStatsTest.java
index 2c2afd4..b5b0384 100644
--- a/tests/net/java/android/net/NetworkStatsTest.java
+++ b/tests/net/java/android/net/NetworkStatsTest.java
@@ -19,6 +19,7 @@
 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;
 import static android.net.NetworkStats.METERED_ALL;
 import static android.net.NetworkStats.METERED_NO;
@@ -26,31 +27,30 @@
 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_DEFAULT;
-import static android.net.NetworkStats.SET_FOREGROUND;
+import static android.net.NetworkStats.SET_ALL;
 import static android.net.NetworkStats.SET_DBG_VPN_IN;
 import static android.net.NetworkStats.SET_DBG_VPN_OUT;
-import static android.net.NetworkStats.SET_ALL;
-import static android.net.NetworkStats.IFACE_ALL;
+import static android.net.NetworkStats.SET_DEFAULT;
+import static android.net.NetworkStats.SET_FOREGROUND;
 import static android.net.NetworkStats.TAG_ALL;
 import static android.net.NetworkStats.TAG_NONE;
 import static android.net.NetworkStats.UID_ALL;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 
-import android.net.NetworkStats.Entry;
 import android.os.Process;
-import android.support.test.runner.AndroidJUnit4;
-import android.support.test.filters.SmallTest;
 import android.util.ArrayMap;
 
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.google.android.collect.Sets;
 
-import java.util.HashSet;
-
-import org.junit.runner.RunWith;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.util.HashSet;
 
 @RunWith(AndroidJUnit4.class)
 @SmallTest
diff --git a/tests/net/java/android/net/NetworkTest.java b/tests/net/java/android/net/NetworkTest.java
index 94d01e9..0bee7cd 100644
--- a/tests/net/java/android/net/NetworkTest.java
+++ b/tests/net/java/android/net/NetworkTest.java
@@ -25,22 +25,22 @@
 import android.net.LocalSocket;
 import android.net.LocalSocketAddress;
 import android.net.Network;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
 
 import java.io.File;
 import java.io.FileDescriptor;
 import java.io.FileInputStream;
-import java.io.IOException;
 import java.net.DatagramSocket;
-import java.net.InetAddress;
 import java.net.Inet6Address;
+import java.net.InetAddress;
 import java.net.SocketException;
 import java.util.Objects;
 
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class NetworkTest {
diff --git a/tests/net/java/android/net/NetworkUtilsTest.java b/tests/net/java/android/net/NetworkUtilsTest.java
index ba6e0f2..7748288 100644
--- a/tests/net/java/android/net/NetworkUtilsTest.java
+++ b/tests/net/java/android/net/NetworkUtilsTest.java
@@ -18,7 +18,7 @@
 
 import static junit.framework.Assert.assertEquals;
 
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
@@ -27,7 +27,7 @@
 import java.util.TreeSet;
 
 @RunWith(AndroidJUnit4.class)
-@android.support.test.filters.SmallTest
+@androidx.test.filters.SmallTest
 public class NetworkUtilsTest {
     @Test
     public void testRoutedIPv4AddressCount() {
diff --git a/tests/net/java/android/net/StaticIpConfigurationTest.java b/tests/net/java/android/net/StaticIpConfigurationTest.java
index 2b5ad37..8449ca7 100644
--- a/tests/net/java/android/net/StaticIpConfigurationTest.java
+++ b/tests/net/java/android/net/StaticIpConfigurationTest.java
@@ -23,8 +23,9 @@
 import static org.junit.Assert.assertTrue;
 
 import android.os.Parcel;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/tests/net/java/android/net/UidRangeTest.java b/tests/net/java/android/net/UidRangeTest.java
index 860d732..ea1df09 100644
--- a/tests/net/java/android/net/UidRangeTest.java
+++ b/tests/net/java/android/net/UidRangeTest.java
@@ -16,15 +16,13 @@
 
 package android.net;
 
-import static org.junit.Assert.assertArrayEquals;
-import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
-import android.support.test.runner.AndroidJUnit4;
-import android.support.test.filters.SmallTest;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
-import org.junit.runner.RunWith;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 
 @RunWith(AndroidJUnit4.class)
 @SmallTest
diff --git a/tests/net/java/android/net/captiveportal/CaptivePortalProbeSpecTest.java b/tests/net/java/android/net/captiveportal/CaptivePortalProbeSpecTest.java
index 40a8b3e..f948086 100644
--- a/tests/net/java/android/net/captiveportal/CaptivePortalProbeSpecTest.java
+++ b/tests/net/java/android/net/captiveportal/CaptivePortalProbeSpecTest.java
@@ -20,14 +20,13 @@
 import static junit.framework.Assert.assertNull;
 import static junit.framework.Assert.assertTrue;
 
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import java.net.MalformedURLException;
-import java.net.URL;
 import java.text.ParseException;
 
 @RunWith(AndroidJUnit4.class)
diff --git a/tests/net/java/android/net/dhcp/DhcpServingParamsParcelExtTest.java b/tests/net/java/android/net/dhcp/DhcpServingParamsParcelExtTest.java
index 4a6f20a..e01ac7f 100644
--- a/tests/net/java/android/net/dhcp/DhcpServingParamsParcelExtTest.java
+++ b/tests/net/java/android/net/dhcp/DhcpServingParamsParcelExtTest.java
@@ -25,8 +25,9 @@
 import static org.junit.Assert.assertTrue;
 
 import android.net.LinkAddress;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/net/java/android/net/ip/InterfaceControllerTest.java b/tests/net/java/android/net/ip/InterfaceControllerTest.java
index d27a4f9..7a56b3a 100644
--- a/tests/net/java/android/net/ip/InterfaceControllerTest.java
+++ b/tests/net/java/android/net/ip/InterfaceControllerTest.java
@@ -28,8 +28,9 @@
 import android.net.InterfaceConfigurationParcel;
 import android.net.LinkAddress;
 import android.net.util.SharedLog;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/net/java/android/net/ip/IpServerTest.java b/tests/net/java/android/net/ip/IpServerTest.java
index f7542a7..05912e8 100644
--- a/tests/net/java/android/net/ip/IpServerTest.java
+++ b/tests/net/java/android/net/ip/IpServerTest.java
@@ -65,10 +65,11 @@
 import android.os.INetworkManagementService;
 import android.os.RemoteException;
 import android.os.test.TestLooper;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.text.TextUtils;
 
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/tests/net/java/android/net/ipmemorystore/ParcelableTests.java b/tests/net/java/android/net/ipmemorystore/ParcelableTests.java
index 1fc67a8..76cccc9 100644
--- a/tests/net/java/android/net/ipmemorystore/ParcelableTests.java
+++ b/tests/net/java/android/net/ipmemorystore/ParcelableTests.java
@@ -21,8 +21,9 @@
 
 import android.os.Parcel;
 import android.os.Parcelable;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/tests/net/java/android/net/netlink/ConntrackMessageTest.java b/tests/net/java/android/net/netlink/ConntrackMessageTest.java
index 3aab942..5c86757 100644
--- a/tests/net/java/android/net/netlink/ConntrackMessageTest.java
+++ b/tests/net/java/android/net/netlink/ConntrackMessageTest.java
@@ -20,19 +20,18 @@
 import static org.junit.Assume.assumeTrue;
 
 import android.system.OsConstants;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import libcore.util.HexEncoding;
 
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
-import org.junit.runner.RunWith;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 
 import java.net.Inet4Address;
 import java.net.InetAddress;
-import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
-import java.util.Arrays;
-
 
 @RunWith(AndroidJUnit4.class)
 @SmallTest
diff --git a/tests/net/java/android/net/netlink/InetDiagSocketTest.java b/tests/net/java/android/net/netlink/InetDiagSocketTest.java
index 122edba..b6038ab 100644
--- a/tests/net/java/android/net/netlink/InetDiagSocketTest.java
+++ b/tests/net/java/android/net/netlink/InetDiagSocketTest.java
@@ -25,8 +25,6 @@
 import static android.system.OsConstants.IPPROTO_UDP;
 import static android.system.OsConstants.SOCK_DGRAM;
 import static android.system.OsConstants.SOCK_STREAM;
-import static android.system.OsConstants.SOL_SOCKET;
-import static android.system.OsConstants.SO_RCVTIMEO;
 
 import static org.junit.Assert.assertArrayEquals;
 import static org.junit.Assert.assertEquals;
@@ -38,29 +36,25 @@
 import android.net.ConnectivityManager;
 import android.net.netlink.StructNlMsgHdr;
 import android.os.Process;
-import android.support.test.runner.AndroidJUnit4;
-import android.support.test.filters.SmallTest;
-import android.support.test.InstrumentationRegistry;
 import android.system.Os;
-import android.system.StructTimeval;
-import android.util.Log;
-import java.io.FileDescriptor;
-import java.net.DatagramSocket;
-import java.net.InetAddress;
-import java.net.Inet4Address;
-import java.net.Inet6Address;
-import java.net.InetSocketAddress;
-import java.net.ServerSocket;
-import java.net.Socket;
-import java.net.SocketAddress;
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import libcore.util.HexEncoding;
 
 import org.junit.Before;
-import org.junit.runner.RunWith;
 import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.io.FileDescriptor;
+import java.net.Inet4Address;
+import java.net.Inet6Address;
+import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
 
 @RunWith(AndroidJUnit4.class)
 @SmallTest
diff --git a/tests/net/java/android/net/netlink/NetlinkErrorMessageTest.java b/tests/net/java/android/net/netlink/NetlinkErrorMessageTest.java
index 6647760..44ab605 100644
--- a/tests/net/java/android/net/netlink/NetlinkErrorMessageTest.java
+++ b/tests/net/java/android/net/netlink/NetlinkErrorMessageTest.java
@@ -16,9 +16,10 @@
 
 package android.net.netlink;
 
-import static android.net.netlink.StructNlMsgHdr.NLM_F_REQUEST;
 import static android.net.netlink.StructNlMsgHdr.NLM_F_ACK;
 import static android.net.netlink.StructNlMsgHdr.NLM_F_REPLACE;
+import static android.net.netlink.StructNlMsgHdr.NLM_F_REQUEST;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
@@ -27,18 +28,17 @@
 import android.net.netlink.NetlinkErrorMessage;
 import android.net.netlink.NetlinkMessage;
 import android.net.netlink.StructNlMsgErr;
-import android.support.test.runner.AndroidJUnit4;
-import android.support.test.filters.SmallTest;
-import android.util.Log;
 
-import java.nio.ByteBuffer;
-import java.nio.ByteOrder;
-
-import org.junit.runner.RunWith;
-import org.junit.Test;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import libcore.util.HexEncoding;
 
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
+import java.nio.ByteBuffer;
+import java.nio.ByteOrder;
 
 @RunWith(AndroidJUnit4.class)
 @SmallTest
diff --git a/tests/net/java/android/net/netlink/NetlinkSocketTest.java b/tests/net/java/android/net/netlink/NetlinkSocketTest.java
index 11be40b..3916578 100644
--- a/tests/net/java/android/net/netlink/NetlinkSocketTest.java
+++ b/tests/net/java/android/net/netlink/NetlinkSocketTest.java
@@ -18,31 +18,29 @@
 
 import static android.net.netlink.NetlinkSocket.DEFAULT_RECV_BUFSIZE;
 import static android.system.OsConstants.NETLINK_ROUTE;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
 
 import android.net.netlink.NetlinkSocket;
 import android.net.netlink.RtNetlinkNeighborMessage;
-import android.net.netlink.StructNdMsg;
 import android.net.netlink.StructNlMsgHdr;
-import android.support.test.runner.AndroidJUnit4;
-import android.support.test.filters.SmallTest;
-import android.system.ErrnoException;
 import android.system.NetlinkSocketAddress;
 import android.system.Os;
-import android.util.Log;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import libcore.io.IoUtils;
 
-import java.io.InterruptedIOException;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
 import java.io.FileDescriptor;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
 
-import org.junit.runner.RunWith;
-import org.junit.Test;
-
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class NetlinkSocketTest {
diff --git a/tests/net/java/android/net/netlink/RtNetlinkNeighborMessageTest.java b/tests/net/java/android/net/netlink/RtNetlinkNeighborMessageTest.java
index c9fd74f..8162522 100644
--- a/tests/net/java/android/net/netlink/RtNetlinkNeighborMessageTest.java
+++ b/tests/net/java/android/net/netlink/RtNetlinkNeighborMessageTest.java
@@ -25,23 +25,22 @@
 import android.net.netlink.RtNetlinkNeighborMessage;
 import android.net.netlink.StructNdMsg;
 import android.net.netlink.StructNlMsgHdr;
-import android.support.test.runner.AndroidJUnit4;
-import android.support.test.filters.SmallTest;
 import android.system.OsConstants;
-import android.util.Log;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import libcore.util.HexEncoding;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
 
 import java.net.Inet4Address;
 import java.net.InetAddress;
-import java.net.UnknownHostException;
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
 import java.util.Arrays;
 
-import org.junit.runner.RunWith;
-import org.junit.Test;
-
-import libcore.util.HexEncoding;
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class RtNetlinkNeighborMessageTest {
diff --git a/tests/net/java/android/net/nsd/NsdManagerTest.java b/tests/net/java/android/net/nsd/NsdManagerTest.java
index 0a5a6aa..2d2bccb 100644
--- a/tests/net/java/android/net/nsd/NsdManagerTest.java
+++ b/tests/net/java/android/net/nsd/NsdManagerTest.java
@@ -16,29 +16,31 @@
 
 package android.net.nsd;
 
+import static com.android.internal.util.TestUtils.waitForIdleHandler;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.spy;
 import static org.mockito.Mockito.timeout;
-import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
-import static com.android.internal.util.TestUtils.waitForIdleHandler;
 
-import android.os.HandlerThread;
-import android.os.Handler;
-import android.os.Looper;
 import android.content.Context;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+import android.os.Handler;
+import android.os.HandlerThread;
+import android.os.Looper;
 import android.os.Message;
 import android.os.Messenger;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.internal.util.AsyncChannel;
+
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -46,8 +48,6 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
-import java.util.function.Consumer;
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class NsdManagerTest {
diff --git a/tests/net/java/android/net/nsd/NsdServiceInfoTest.java b/tests/net/java/android/net/nsd/NsdServiceInfoTest.java
index e48b522..94dfc75 100644
--- a/tests/net/java/android/net/nsd/NsdServiceInfoTest.java
+++ b/tests/net/java/android/net/nsd/NsdServiceInfoTest.java
@@ -24,20 +24,18 @@
 import android.os.Bundle;
 import android.os.Parcel;
 import android.os.StrictMode;
-import android.net.nsd.NsdServiceInfo;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
-import android.util.Log;
 
-import java.util.Arrays;
-import java.util.HashMap;
-import java.util.Map;
-import java.net.InetAddress;
-import java.net.UnknownHostException;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import java.net.InetAddress;
+import java.net.UnknownHostException;
+import java.util.Arrays;
+import java.util.Map;
+
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class NsdServiceInfoTest {
diff --git a/tests/net/java/android/net/shared/Inet4AddressUtilsTest.java b/tests/net/java/android/net/shared/Inet4AddressUtilsTest.java
index 6da8514..35f8c79 100644
--- a/tests/net/java/android/net/shared/Inet4AddressUtilsTest.java
+++ b/tests/net/java/android/net/shared/Inet4AddressUtilsTest.java
@@ -32,8 +32,9 @@
 import static org.junit.Assert.fail;
 
 import android.net.InetAddresses;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/tests/net/java/android/net/shared/InitialConfigurationTest.java b/tests/net/java/android/net/shared/InitialConfigurationTest.java
index 78792bd..27bc13d 100644
--- a/tests/net/java/android/net/shared/InitialConfigurationTest.java
+++ b/tests/net/java/android/net/shared/InitialConfigurationTest.java
@@ -24,8 +24,9 @@
 
 import android.net.IpPrefix;
 import android.net.LinkAddress;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/net/java/android/net/shared/IpConfigurationParcelableUtilTest.java b/tests/net/java/android/net/shared/IpConfigurationParcelableUtilTest.java
index fb4d43c..3e86e77 100644
--- a/tests/net/java/android/net/shared/IpConfigurationParcelableUtilTest.java
+++ b/tests/net/java/android/net/shared/IpConfigurationParcelableUtilTest.java
@@ -27,8 +27,9 @@
 import android.net.LinkAddress;
 import android.net.StaticIpConfiguration;
 import android.net.apf.ApfCapabilities;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/net/java/android/net/shared/LinkPropertiesParcelableUtilTest.java b/tests/net/java/android/net/shared/LinkPropertiesParcelableUtilTest.java
deleted file mode 100644
index b6d01db..0000000
--- a/tests/net/java/android/net/shared/LinkPropertiesParcelableUtilTest.java
+++ /dev/null
@@ -1,183 +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 android.net.shared;
-
-import static android.net.shared.LinkPropertiesParcelableUtil.fromStableParcelable;
-import static android.net.shared.LinkPropertiesParcelableUtil.toStableParcelable;
-import static android.net.shared.ParcelableTestUtil.assertFieldCountEquals;
-
-import static org.junit.Assert.assertEquals;
-
-import android.net.InetAddresses;
-import android.net.IpPrefix;
-import android.net.LinkAddress;
-import android.net.LinkProperties;
-import android.net.ProxyInfo;
-import android.net.RouteInfo;
-import android.net.Uri;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
-
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
-import java.util.Arrays;
-import java.util.Collections;
-
-/**
- * Tests for {@link LinkPropertiesParcelableUtil}
- */
-@RunWith(AndroidJUnit4.class)
-@SmallTest
-public class LinkPropertiesParcelableUtilTest {
-    private LinkProperties mLinkProperties;
-
-    private static final String TEST_LINKPROPS_IFACE = "TEST_IFACE";
-
-    @Before
-    public void setUp() {
-        mLinkProperties = new LinkProperties();
-        mLinkProperties.setInterfaceName(TEST_LINKPROPS_IFACE);
-        mLinkProperties.setLinkAddresses(Arrays.asList(
-                new LinkAddress(InetAddresses.parseNumericAddress("192.168.0.42"), 16),
-                new LinkAddress(InetAddresses.parseNumericAddress("2001:db8::7"), 42)));
-        mLinkProperties.setDnsServers(Arrays.asList(
-                InetAddresses.parseNumericAddress("2001:db8::42"),
-                InetAddresses.parseNumericAddress("192.168.1.1")
-        ));
-        mLinkProperties.setValidatedPrivateDnsServers(Arrays.asList(
-                InetAddresses.parseNumericAddress("2001:db8::43"),
-                InetAddresses.parseNumericAddress("192.168.42.43")
-        ));
-        mLinkProperties.setPcscfServers(Arrays.asList(
-                InetAddresses.parseNumericAddress("2001:db8::47"),
-                InetAddresses.parseNumericAddress("192.168.42.47")
-        ));
-        mLinkProperties.setUsePrivateDns(true);
-        mLinkProperties.setPrivateDnsServerName("test.example.com");
-        mLinkProperties.setDomains("test1.example.com,test2.example.com");
-        mLinkProperties.addRoute(new RouteInfo(
-                new IpPrefix(InetAddresses.parseNumericAddress("2001:db8::44"), 45),
-                InetAddresses.parseNumericAddress("2001:db8::45"),
-                TEST_LINKPROPS_IFACE,
-                RouteInfo.RTN_UNICAST
-        ));
-        mLinkProperties.addRoute(new RouteInfo(
-                new IpPrefix(InetAddresses.parseNumericAddress("192.168.44.45"), 16),
-                InetAddresses.parseNumericAddress("192.168.45.1"),
-                TEST_LINKPROPS_IFACE,
-                RouteInfo.RTN_THROW
-        ));
-        mLinkProperties.setHttpProxy(new ProxyInfo("test3.example.com", 8000,
-                "excl1.example.com,excl2.example.com"));
-        mLinkProperties.setMtu(5000);
-        mLinkProperties.setTcpBufferSizes("1,2,3,4,5,6");
-        mLinkProperties.setNat64Prefix(
-                new IpPrefix(InetAddresses.parseNumericAddress("2001:db8::48"), 96));
-
-        // Verify that this test does not miss any new field added later.
-        // If any added field is not included in LinkProperties#equals, assertLinkPropertiesEquals
-        // must also be updated.
-        assertFieldCountEquals(14, LinkProperties.class);
-    }
-
-    @Test
-    public void testParcelUnparcel() {
-        doParcelUnparcelTest();
-    }
-
-    @Test
-    public void testParcelUnparcel_NullInterface() {
-        mLinkProperties.setInterfaceName(null);
-        doParcelUnparcelTest();
-    }
-
-    @Test
-    public void testParcelUnparcel_NullPrivateDnsServer() {
-        mLinkProperties.setPrivateDnsServerName(null);
-        doParcelUnparcelTest();
-    }
-
-    @Test
-    public void testParcelUnparcel_NullDomains() {
-        mLinkProperties.setDomains(null);
-        doParcelUnparcelTest();
-    }
-
-    @Test
-    public void testParcelUnparcel_NullProxy() {
-        mLinkProperties.setHttpProxy(null);
-        doParcelUnparcelTest();
-    }
-
-    @Test
-    public void testParcelUnparcel_NullTcpBufferSizes() {
-        mLinkProperties.setTcpBufferSizes(null);
-        doParcelUnparcelTest();
-    }
-
-    @Test
-    public void testParcelUnparcel_EmptyLinkAddresses() {
-        mLinkProperties.setLinkAddresses(Collections.emptyList());
-        doParcelUnparcelTest();
-    }
-
-    @Test
-    public void testParcelUnparcel_EmptyDnses() {
-        mLinkProperties.setDnsServers(Collections.emptyList());
-        doParcelUnparcelTest();
-    }
-
-    @Test
-    public void testParcelUnparcel_EmptyValidatedPrivateDnses() {
-        mLinkProperties.setValidatedPrivateDnsServers(Collections.emptyList());
-        doParcelUnparcelTest();
-    }
-
-    @Test
-    public void testParcelUnparcel_EmptyRoutes() {
-        for (RouteInfo r : mLinkProperties.getAllRoutes()) {
-            mLinkProperties.removeRoute(r);
-        }
-        doParcelUnparcelTest();
-    }
-
-    @Test
-    public void testParcelUnparcel_PacFileProxyInfo() {
-        mLinkProperties.setHttpProxy(new ProxyInfo(Uri.parse("http://pacfile.example.com")));
-        doParcelUnparcelTest();
-    }
-
-    @Test
-    public void testParcelUnparcel_NullNat64Prefix() {
-        mLinkProperties.setNat64Prefix(null);
-        doParcelUnparcelTest();
-    }
-
-    private void doParcelUnparcelTest() {
-        final LinkProperties unparceled = fromStableParcelable(toStableParcelable(mLinkProperties));
-        assertLinkPropertiesEquals(mLinkProperties, unparceled);
-    }
-
-    private static void assertLinkPropertiesEquals(LinkProperties expected, LinkProperties actual) {
-        assertEquals(expected, actual);
-
-        // Equality on stacked links is not tested as they should not be passed to processes using
-        // LinkPropertiesParcelable.
-    }
-}
diff --git a/tests/net/java/android/net/shared/ProvisioningConfigurationTest.java b/tests/net/java/android/net/shared/ProvisioningConfigurationTest.java
index 6ea47d2..6fad89e 100644
--- a/tests/net/java/android/net/shared/ProvisioningConfigurationTest.java
+++ b/tests/net/java/android/net/shared/ProvisioningConfigurationTest.java
@@ -27,8 +27,9 @@
 import android.net.Network;
 import android.net.StaticIpConfiguration;
 import android.net.apf.ApfCapabilities;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/net/java/android/net/util/InterfaceParamsTest.java b/tests/net/java/android/net/util/InterfaceParamsTest.java
index 21728af..141455c 100644
--- a/tests/net/java/android/net/util/InterfaceParamsTest.java
+++ b/tests/net/java/android/net/util/InterfaceParamsTest.java
@@ -21,13 +21,12 @@
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class InterfaceParamsTest {
diff --git a/tests/net/java/android/net/util/InterfaceSetTest.java b/tests/net/java/android/net/util/InterfaceSetTest.java
index 8012838..ea084b6 100644
--- a/tests/net/java/android/net/util/InterfaceSetTest.java
+++ b/tests/net/java/android/net/util/InterfaceSetTest.java
@@ -20,8 +20,8 @@
 import static junit.framework.Assert.assertFalse;
 import static junit.framework.Assert.assertTrue;
 
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/tests/net/java/android/net/util/IpUtilsTest.java b/tests/net/java/android/net/util/IpUtilsTest.java
index 8903bf9..193d85d 100644
--- a/tests/net/java/android/net/util/IpUtilsTest.java
+++ b/tests/net/java/android/net/util/IpUtilsTest.java
@@ -18,14 +18,14 @@
 
 import static org.junit.Assert.assertEquals;
 
-import android.support.test.runner.AndroidJUnit4;
-import android.support.test.filters.SmallTest;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import org.junit.Test;
+import org.junit.runner.RunWith;
 
 import java.nio.ByteBuffer;
 
-import org.junit.runner.RunWith;
-import org.junit.Test;
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class IpUtilsTest {
diff --git a/tests/net/java/android/net/util/SharedLogTest.java b/tests/net/java/android/net/util/SharedLogTest.java
index 8604860..e1dba36 100644
--- a/tests/net/java/android/net/util/SharedLogTest.java
+++ b/tests/net/java/android/net/util/SharedLogTest.java
@@ -19,16 +19,14 @@
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
 import java.io.ByteArrayOutputStream;
 import java.io.PrintWriter;
-import java.util.ArrayList;
-import java.util.Vector;
 
 @RunWith(AndroidJUnit4.class)
 @SmallTest
diff --git a/tests/net/java/android/net/util/VersionedBroadcastListenerTest.java b/tests/net/java/android/net/util/VersionedBroadcastListenerTest.java
index 39f59f1..0d27d5b 100644
--- a/tests/net/java/android/net/util/VersionedBroadcastListenerTest.java
+++ b/tests/net/java/android/net/util/VersionedBroadcastListenerTest.java
@@ -26,21 +26,19 @@
 import android.os.Looper;
 import android.os.UserHandle;
 
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import com.android.internal.util.test.BroadcastInterceptingContext;
 
 import org.junit.After;
 import org.junit.Before;
 import org.junit.BeforeClass;
-import org.junit.runner.RunWith;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
-import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class VersionedBroadcastListenerTest {
diff --git a/tests/net/java/com/android/internal/net/NetworkStatsFactoryTest.java b/tests/net/java/com/android/internal/net/NetworkStatsFactoryTest.java
index 90bf7b1..4ec4fdd 100644
--- a/tests/net/java/com/android/internal/net/NetworkStatsFactoryTest.java
+++ b/tests/net/java/com/android/internal/net/NetworkStatsFactoryTest.java
@@ -24,33 +24,36 @@
 import static android.net.NetworkStats.SET_FOREGROUND;
 import static android.net.NetworkStats.TAG_NONE;
 import static android.net.NetworkStats.UID_ALL;
+
 import static com.android.server.NetworkManagementSocketTagger.kernelToTag;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
 import android.content.res.Resources;
 import android.net.NetworkStats;
 import android.net.TrafficStats;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import com.android.frameworks.tests.net.R;
 
+import libcore.io.IoUtils;
+import libcore.io.Streams;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
 import java.io.File;
 import java.io.FileOutputStream;
 import java.io.FileWriter;
 import java.io.InputStream;
 import java.io.OutputStream;
 
-import libcore.io.IoUtils;
-import libcore.io.Streams;
-
-import org.junit.runner.RunWith;
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
 /**
  * Tests for {@link NetworkStatsFactory}.
  */
diff --git a/tests/net/java/com/android/internal/util/BitUtilsTest.java b/tests/net/java/com/android/internal/util/BitUtilsTest.java
index f4dc12a..01fb0df 100644
--- a/tests/net/java/com/android/internal/util/BitUtilsTest.java
+++ b/tests/net/java/com/android/internal/util/BitUtilsTest.java
@@ -16,14 +16,24 @@
 
 package com.android.internal.util;
 
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
-import java.nio.ByteBuffer;
+import static com.android.internal.util.BitUtils.bytesToBEInt;
+import static com.android.internal.util.BitUtils.bytesToLEInt;
+import static com.android.internal.util.BitUtils.getUint16;
+import static com.android.internal.util.BitUtils.getUint32;
+import static com.android.internal.util.BitUtils.getUint8;
+import static com.android.internal.util.BitUtils.uint16;
+import static com.android.internal.util.BitUtils.uint32;
+import static com.android.internal.util.BitUtils.uint8;
+
+import static org.junit.Assert.assertEquals;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
-import static org.junit.Assert.assertEquals;
-import static com.android.internal.util.BitUtils.*;
+import java.nio.ByteBuffer;
 
 @SmallTest
 @RunWith(AndroidJUnit4.class)
diff --git a/tests/net/java/com/android/internal/util/RingBufferTest.java b/tests/net/java/com/android/internal/util/RingBufferTest.java
index 90a373a..eff334f 100644
--- a/tests/net/java/com/android/internal/util/RingBufferTest.java
+++ b/tests/net/java/com/android/internal/util/RingBufferTest.java
@@ -16,19 +16,18 @@
 
 package com.android.internal.util;
 
-import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.fail;
 
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
+
 import java.util.Arrays;
 import java.util.Objects;
 
-
 @SmallTest
 @RunWith(AndroidJUnit4.class)
 public class RingBufferTest {
diff --git a/tests/net/java/com/android/internal/util/TestUtils.java b/tests/net/java/com/android/internal/util/TestUtils.java
index 7e5a1d3..57cc172 100644
--- a/tests/net/java/com/android/internal/util/TestUtils.java
+++ b/tests/net/java/com/android/internal/util/TestUtils.java
@@ -19,6 +19,7 @@
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
+import android.annotation.NonNull;
 import android.os.ConditionVariable;
 import android.os.Handler;
 import android.os.HandlerThread;
@@ -26,6 +27,8 @@
 import android.os.Parcel;
 import android.os.Parcelable;
 
+import java.util.concurrent.Executor;
+
 public final class TestUtils {
     private TestUtils() { }
 
@@ -54,6 +57,17 @@
         }
     }
 
+    /**
+     * Block until the given Serial Executor becomes idle, or until timeoutMs has passed.
+     */
+    public static void waitForIdleSerialExecutor(@NonNull Executor executor, long timeoutMs) {
+        final ConditionVariable cv = new ConditionVariable();
+        executor.execute(() -> cv.open());
+        if (!cv.block(timeoutMs)) {
+            fail(executor.toString() + " did not become idle after " + timeoutMs + " ms");
+        }
+    }
+
     // TODO : fetch the creator through reflection or something instead of passing it
     public static <T extends Parcelable, C extends Parcelable.Creator<T>>
             void assertParcelingIsLossless(T source, C creator) {
diff --git a/tests/net/java/com/android/server/ConnectivityServiceTest.java b/tests/net/java/com/android/server/ConnectivityServiceTest.java
index fbc1a65..3263ef9 100644
--- a/tests/net/java/com/android/server/ConnectivityServiceTest.java
+++ b/tests/net/java/com/android/server/ConnectivityServiceTest.java
@@ -28,6 +28,7 @@
 import static android.net.ConnectivityManager.TYPE_NONE;
 import static android.net.ConnectivityManager.TYPE_WIFI;
 import static android.net.INetworkMonitor.NETWORK_TEST_RESULT_INVALID;
+import static android.net.INetworkMonitor.NETWORK_TEST_RESULT_PARTIAL_CONNECTIVITY;
 import static android.net.INetworkMonitor.NETWORK_TEST_RESULT_VALID;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_CAPTIVE_PORTAL;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_CBS;
@@ -43,6 +44,7 @@
 import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_RESTRICTED;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_SUSPENDED;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_NOT_VPN;
+import static android.net.NetworkCapabilities.NET_CAPABILITY_PARTIAL_CONNECTIVITY;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_RCS;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_SUPL;
 import static android.net.NetworkCapabilities.NET_CAPABILITY_TRUSTED;
@@ -58,10 +60,10 @@
 import static android.net.NetworkPolicyManager.RULE_NONE;
 import static android.net.NetworkPolicyManager.RULE_REJECT_ALL;
 import static android.net.NetworkPolicyManager.RULE_REJECT_METERED;
-import static android.net.shared.NetworkParcelableUtil.fromStableParcelable;
 
 import static com.android.internal.util.TestUtils.waitForIdleHandler;
 import static com.android.internal.util.TestUtils.waitForIdleLooper;
+import static com.android.internal.util.TestUtils.waitForIdleSerialExecutor;
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertFalse;
@@ -86,6 +88,7 @@
 import static org.mockito.Mockito.verifyNoMoreInteractions;
 import static org.mockito.Mockito.when;
 
+import android.annotation.NonNull;
 import android.app.NotificationManager;
 import android.app.PendingIntent;
 import android.content.BroadcastReceiver;
@@ -121,7 +124,6 @@
 import android.net.NetworkInfo;
 import android.net.NetworkInfo.DetailedState;
 import android.net.NetworkMisc;
-import android.net.NetworkParcelable;
 import android.net.NetworkRequest;
 import android.net.NetworkSpecifier;
 import android.net.NetworkStackClient;
@@ -148,15 +150,16 @@
 import android.os.SystemClock;
 import android.os.UserHandle;
 import android.provider.Settings;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.test.mock.MockContentResolver;
 import android.text.TextUtils;
 import android.util.ArraySet;
 import android.util.Log;
 import android.util.SparseArray;
 
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.internal.net.VpnConfig;
 import com.android.internal.net.VpnInfo;
 import com.android.internal.util.ArrayUtils;
@@ -187,6 +190,8 @@
 
 import java.net.Inet4Address;
 import java.net.InetAddress;
+import java.net.InetSocketAddress;
+import java.net.Socket;
 import java.net.UnknownHostException;
 import java.util.ArrayList;
 import java.util.Arrays;
@@ -203,9 +208,9 @@
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
+import java.util.function.Consumer;
 import java.util.function.Predicate;
 
-
 /**
  * Tests for {@link ConnectivityService}.
  *
@@ -443,6 +448,11 @@
             mNmValidationRedirectUrl = redirectUrl;
         }
 
+        void setNetworkPartial() {
+            mNmValidationResult = NETWORK_TEST_RESULT_PARTIAL_CONNECTIVITY;
+            mNmValidationRedirectUrl = null;
+        }
+
         MockNetworkAgent(int transport) {
             this(transport, new LinkProperties());
         }
@@ -485,12 +495,12 @@
             try {
                 doAnswer(validateAnswer).when(mNetworkMonitor).notifyNetworkConnected();
                 doAnswer(validateAnswer).when(mNetworkMonitor).forceReevaluation(anyInt());
+                doAnswer(validateAnswer).when(mNetworkMonitor).notifyAcceptPartialConnectivity();
             } catch (RemoteException e) {
                 fail(e.getMessage());
             }
 
-            final ArgumentCaptor<NetworkParcelable> nmNetworkCaptor =
-                    ArgumentCaptor.forClass(NetworkParcelable.class);
+            final ArgumentCaptor<Network> nmNetworkCaptor = ArgumentCaptor.forClass(Network.class);
             final ArgumentCaptor<INetworkMonitorCallbacks> nmCbCaptor =
                     ArgumentCaptor.forClass(INetworkMonitorCallbacks.class);
             doNothing().when(mNetworkStack).makeNetworkMonitor(
@@ -530,8 +540,7 @@
                 }
             };
 
-            assertEquals(
-                    mNetworkAgent.netId, fromStableParcelable(nmNetworkCaptor.getValue()).netId);
+            assertEquals(mNetworkAgent.netId, nmNetworkCaptor.getValue().netId);
             mNmCallbacks = nmCbCaptor.getValue();
 
             try {
@@ -670,6 +679,11 @@
             connect(false);
         }
 
+        public void connectWithPartialConnectivity() {
+            setNetworkPartial();
+            connect(false);
+        }
+
         public void suspend() {
             mNetworkInfo.setDetailedState(DetailedState.SUSPENDED, null, null);
             mNetworkAgent.sendNetworkInfo(mNetworkInfo);
@@ -2536,6 +2550,107 @@
         verifyActiveNetwork(TRANSPORT_CELLULAR);
     }
 
+    // TODO: deflake and re-enable
+    // @Test
+    public void testPartialConnectivity() {
+        // Register network callback.
+        NetworkRequest request = new NetworkRequest.Builder()
+                .clearCapabilities().addCapability(NET_CAPABILITY_INTERNET)
+                .build();
+        TestNetworkCallback callback = new TestNetworkCallback();
+        mCm.registerNetworkCallback(request, callback);
+
+        // Bring up validated mobile data.
+        mCellNetworkAgent = new MockNetworkAgent(TRANSPORT_CELLULAR);
+        mCellNetworkAgent.connect(true);
+        callback.expectAvailableThenValidatedCallbacks(mCellNetworkAgent);
+
+        // Bring up wifi with partial connectivity.
+        mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
+        mWiFiNetworkAgent.connectWithPartialConnectivity();
+        callback.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
+        callback.expectCapabilitiesWith(NET_CAPABILITY_PARTIAL_CONNECTIVITY, mWiFiNetworkAgent);
+
+        // Mobile data should be the default network.
+        assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+        callback.assertNoCallback();
+
+        // If the user chooses yes to use this partial connectivity wifi, switch the default
+        // network to wifi and check if wifi becomes valid or not.
+        mCm.setAcceptPartialConnectivity(mWiFiNetworkAgent.getNetwork(), true /* accept */,
+                false /* always */);
+        // With https probe disabled, NetworkMonitor should pass the network validation with http
+        // probe.
+        mWiFiNetworkAgent.setNetworkValid();
+        waitForIdle();
+        try {
+            verify(mWiFiNetworkAgent.mNetworkMonitor,
+                    timeout(TIMEOUT_MS).times(1)).notifyAcceptPartialConnectivity();
+        } catch (RemoteException e) {
+            fail(e.getMessage());
+        }
+        callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
+        NetworkCapabilities nc = callback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED,
+                mWiFiNetworkAgent);
+        assertTrue(nc.hasCapability(NET_CAPABILITY_PARTIAL_CONNECTIVITY));
+        assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+
+        // Disconnect and reconnect wifi with partial connectivity again.
+        mWiFiNetworkAgent.disconnect();
+        callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+        mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
+        mWiFiNetworkAgent.connectWithPartialConnectivity();
+        callback.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
+        callback.expectCapabilitiesWith(NET_CAPABILITY_PARTIAL_CONNECTIVITY, mWiFiNetworkAgent);
+
+        // Mobile data should be the default network.
+        assertEquals(mCellNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+
+        // If the user chooses no, disconnect wifi immediately.
+        mCm.setAcceptPartialConnectivity(mWiFiNetworkAgent.getNetwork(), false/* accept */,
+                false /* always */);
+        callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+
+        // If user accepted partial connectivity before, and device reconnects to that network
+        // again, but now the network has full connectivity. The network shouldn't contain
+        // NET_CAPABILITY_PARTIAL_CONNECTIVITY.
+        mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
+        // acceptUnvalidated is also used as setting for accepting partial networks.
+        mWiFiNetworkAgent.explicitlySelected(true /* acceptUnvalidated */);
+        mWiFiNetworkAgent.connect(true);
+        callback.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
+        callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
+        nc = callback.expectCapabilitiesWith(NET_CAPABILITY_VALIDATED, mWiFiNetworkAgent);
+        assertFalse(nc.hasCapability(NET_CAPABILITY_PARTIAL_CONNECTIVITY));
+        // Wifi should be the default network.
+        assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+        mWiFiNetworkAgent.disconnect();
+        callback.expectCallback(CallbackState.LOST, mWiFiNetworkAgent);
+
+        // If user accepted partial connectivity before, and now the device reconnects to the
+        // partial connectivity network. The network should be valid and contain
+        // NET_CAPABILITY_PARTIAL_CONNECTIVITY.
+        mWiFiNetworkAgent = new MockNetworkAgent(TRANSPORT_WIFI);
+        mWiFiNetworkAgent.explicitlySelected(true /* acceptUnvalidated */);
+        mWiFiNetworkAgent.connectWithPartialConnectivity();
+        callback.expectAvailableCallbacksUnvalidated(mWiFiNetworkAgent);
+        // TODO: If the user accepted partial connectivity, we shouldn't switch to wifi until
+        // NetworkMonitor detects partial connectivity
+        assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+        mWiFiNetworkAgent.setNetworkValid();
+        waitForIdle();
+        try {
+            verify(mWiFiNetworkAgent.mNetworkMonitor,
+                    timeout(TIMEOUT_MS).times(1)).notifyAcceptPartialConnectivity();
+        } catch (RemoteException e) {
+            fail(e.getMessage());
+        }
+        callback.expectCallback(CallbackState.LOSING, mCellNetworkAgent);
+        callback.expectCapabilitiesWith(NET_CAPABILITY_PARTIAL_CONNECTIVITY, mWiFiNetworkAgent);
+        // Wifi should be the default network.
+        assertEquals(mWiFiNetworkAgent.getNetwork(), mCm.getActiveNetwork());
+    }
+
     @Test
     public void testCaptivePortal() {
         final TestNetworkCallback captivePortalCallback = new TestNetworkCallback();
@@ -3645,7 +3760,7 @@
             }
         }
 
-        private LinkedBlockingQueue<CallbackValue> mCallbacks = new LinkedBlockingQueue<>();
+        private final LinkedBlockingQueue<CallbackValue> mCallbacks = new LinkedBlockingQueue<>();
 
         @Override
         public void onStarted() {
@@ -3720,6 +3835,11 @@
         }
 
         private LinkedBlockingQueue<CallbackValue> mCallbacks = new LinkedBlockingQueue<>();
+        private final Executor mExecutor;
+
+        TestSocketKeepaliveCallback(@NonNull Executor executor) {
+            mExecutor = executor;
+        }
 
         @Override
         public void onStarted() {
@@ -3757,6 +3877,12 @@
         public void expectError(int error) {
             expectCallback(new CallbackValue(CallbackType.ON_ERROR, error));
         }
+
+        public void assertNoCallback() {
+            waitForIdleSerialExecutor(mExecutor, TIMEOUT_MS);
+            CallbackValue cv = mCallbacks.peek();
+            assertNull("Unexpected callback: " + cv, cv);
+        }
     }
 
     private Network connectKeepaliveNetwork(LinkProperties lp) {
@@ -3863,19 +3989,6 @@
         myNet = connectKeepaliveNetwork(lp);
         mWiFiNetworkAgent.setStartKeepaliveError(PacketKeepalive.SUCCESS);
 
-        // Check things work as expected when the keepalive is stopped and the network disconnects.
-        ka = mCm.startNattKeepalive(myNet, validKaInterval, callback, myIPv4, 12345, dstIPv4);
-        callback.expectStarted();
-        ka.stop();
-        mWiFiNetworkAgent.disconnect();
-        waitFor(mWiFiNetworkAgent.getDisconnectedCV());
-        waitForIdle();
-        callback.expectStopped();
-
-        // Reconnect.
-        myNet = connectKeepaliveNetwork(lp);
-        mWiFiNetworkAgent.setStartKeepaliveError(PacketKeepalive.SUCCESS);
-
         // Check that keepalive slots start from 1 and increment. The first one gets slot 1.
         mWiFiNetworkAgent.setExpectedKeepaliveSlot(1);
         ka = mCm.startNattKeepalive(myNet, validKaInterval, callback, myIPv4, 12345, dstIPv4);
@@ -3905,17 +4018,24 @@
         callback3.expectStopped();
     }
 
-    @Test
-    public void testNattSocketKeepalives_SingleThreadExecutor() throws Exception {
+    // Helper method to prepare the executor and run test
+    private void runTestWithSerialExecutors(Consumer<Executor> functor) {
         final ExecutorService executorSingleThread = Executors.newSingleThreadExecutor();
-        doTestNattSocketKeepalivesWithExecutor(executorSingleThread);
+        final Executor executorInline = (Runnable r) -> r.run();
+        functor.accept(executorSingleThread);
         executorSingleThread.shutdown();
+        functor.accept(executorInline);
     }
 
     @Test
-    public void testNattSocketKeepalives_InlineExecutor() throws Exception {
-        final Executor executorInline = (Runnable r) -> r.run();
-        doTestNattSocketKeepalivesWithExecutor(executorInline);
+    public void testNattSocketKeepalives() {
+        runTestWithSerialExecutors(executor -> {
+            try {
+                doTestNattSocketKeepalivesWithExecutor(executor);
+            } catch (Exception e) {
+                fail(e.getMessage());
+            }
+        });
     }
 
     private void doTestNattSocketKeepalivesWithExecutor(Executor executor) throws Exception {
@@ -3944,7 +4064,7 @@
         Network notMyNet = new Network(61234);
         Network myNet = connectKeepaliveNetwork(lp);
 
-        TestSocketKeepaliveCallback callback = new TestSocketKeepaliveCallback();
+        TestSocketKeepaliveCallback callback = new TestSocketKeepaliveCallback(executor);
         SocketKeepalive ka;
 
         // Attempt to start keepalives with invalid parameters and check for errors.
@@ -3987,6 +4107,22 @@
         ka.stop();
         callback.expectStopped();
 
+        // Check that keepalive could be restarted.
+        ka.start(validKaInterval);
+        callback.expectStarted();
+        ka.stop();
+        callback.expectStopped();
+
+        // Check that keepalive can be restarted without waiting for callback.
+        ka.start(validKaInterval);
+        callback.expectStarted();
+        ka.stop();
+        ka.start(validKaInterval);
+        callback.expectStopped();
+        callback.expectStarted();
+        ka.stop();
+        callback.expectStopped();
+
         // Check that deleting the IP address stops the keepalive.
         LinkProperties bogusLp = new LinkProperties(lp);
         ka = mCm.createSocketKeepalive(myNet, testSocket, myIPv4, dstIPv4, executor, callback);
@@ -4011,20 +4147,7 @@
         final Network myNetAlias = myNet;
         assertNull(mCm.getNetworkCapabilities(myNetAlias));
         ka.stop();
-
-        // Reconnect.
-        myNet = connectKeepaliveNetwork(lp);
-        mWiFiNetworkAgent.setStartKeepaliveError(SocketKeepalive.SUCCESS);
-
-        // Check things work as expected when the keepalive is stopped and the network disconnects.
-        ka = mCm.createSocketKeepalive(myNet, testSocket, myIPv4, dstIPv4, executor, callback);
-        ka.start(validKaInterval);
-        callback.expectStarted();
-        ka.stop();
-        mWiFiNetworkAgent.disconnect();
-        waitFor(mWiFiNetworkAgent.getDisconnectedCV());
-        waitForIdle();
-        callback.expectStopped();
+        callback.assertNoCallback();
 
         // Reconnect.
         myNet = connectKeepaliveNetwork(lp);
@@ -4039,7 +4162,7 @@
         // The second one gets slot 2.
         mWiFiNetworkAgent.setExpectedKeepaliveSlot(2);
         final UdpEncapsulationSocket testSocket2 = mIpSec.openUdpEncapsulationSocket(6789);
-        TestSocketKeepaliveCallback callback2 = new TestSocketKeepaliveCallback();
+        TestSocketKeepaliveCallback callback2 = new TestSocketKeepaliveCallback(executor);
         SocketKeepalive ka2 =
                 mCm.createSocketKeepalive(myNet, testSocket2, myIPv4, dstIPv4, executor, callback2);
         ka2.start(validKaInterval);
@@ -4056,6 +4179,81 @@
 
         mWiFiNetworkAgent.disconnect();
         waitFor(mWiFiNetworkAgent.getDisconnectedCV());
+        mWiFiNetworkAgent = null;
+    }
+
+    @Test
+    public void testTcpSocketKeepalives() {
+        runTestWithSerialExecutors(executor -> {
+            try {
+                doTestTcpSocketKeepalivesWithExecutor(executor);
+            } catch (Exception e) {
+                fail(e.getMessage());
+            }
+        });
+    }
+
+    private void doTestTcpSocketKeepalivesWithExecutor(Executor executor) throws Exception {
+        final int srcPortV4 = 12345;
+        final int srcPortV6 = 23456;
+        final InetAddress myIPv4 = InetAddress.getByName("127.0.0.1");
+        final InetAddress myIPv6 = InetAddress.getByName("::1");
+
+        final int validKaInterval = 15;
+        final int invalidKaInterval = 9;
+
+        final LinkProperties lp = new LinkProperties();
+        lp.setInterfaceName("wlan12");
+        lp.addLinkAddress(new LinkAddress(myIPv6, 64));
+        lp.addLinkAddress(new LinkAddress(myIPv4, 25));
+        lp.addRoute(new RouteInfo(InetAddress.getByName("fe80::1234")));
+        lp.addRoute(new RouteInfo(InetAddress.getByName("127.0.0.254")));
+
+        final Network notMyNet = new Network(61234);
+        final Network myNet = connectKeepaliveNetwork(lp);
+
+        final Socket testSocketV4 = new Socket();
+        final Socket testSocketV6 = new Socket();
+
+        TestSocketKeepaliveCallback callback = new TestSocketKeepaliveCallback(executor);
+        SocketKeepalive ka;
+
+        // Attempt to start Tcp keepalives with invalid parameters and check for errors.
+        // Invalid network.
+        ka = mCm.createSocketKeepalive(notMyNet, testSocketV4, executor, callback);
+        ka.start(validKaInterval);
+        callback.expectError(SocketKeepalive.ERROR_INVALID_NETWORK);
+
+        // Invalid Socket (socket is not bound with IPv4 address).
+        ka = mCm.createSocketKeepalive(myNet, testSocketV4, executor, callback);
+        ka.start(validKaInterval);
+        callback.expectError(SocketKeepalive.ERROR_INVALID_SOCKET);
+
+        // Invalid Socket (socket is not bound with IPv6 address).
+        ka = mCm.createSocketKeepalive(myNet, testSocketV6, executor, callback);
+        ka.start(validKaInterval);
+        callback.expectError(SocketKeepalive.ERROR_INVALID_SOCKET);
+
+        // Bind the socket address
+        testSocketV4.bind(new InetSocketAddress(myIPv4, srcPortV4));
+        testSocketV6.bind(new InetSocketAddress(myIPv6, srcPortV6));
+
+        // Invalid Socket (socket is bound with IPv4 address).
+        ka = mCm.createSocketKeepalive(myNet, testSocketV4, executor, callback);
+        ka.start(validKaInterval);
+        callback.expectError(SocketKeepalive.ERROR_INVALID_SOCKET);
+
+        // Invalid Socket (socket is bound with IPv6 address).
+        ka = mCm.createSocketKeepalive(myNet, testSocketV6, executor, callback);
+        ka.start(validKaInterval);
+        callback.expectError(SocketKeepalive.ERROR_INVALID_SOCKET);
+
+        testSocketV4.close();
+        testSocketV6.close();
+
+        mWiFiNetworkAgent.disconnect();
+        waitFor(mWiFiNetworkAgent.getDisconnectedCV());
+        mWiFiNetworkAgent = null;
     }
 
     @Test
diff --git a/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java b/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java
index a844cfe..7c40adf 100644
--- a/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java
+++ b/tests/net/java/com/android/server/IpSecServiceParameterizedTest.java
@@ -18,6 +18,7 @@
 
 import static android.system.OsConstants.AF_INET;
 import static android.system.OsConstants.AF_INET6;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
@@ -45,13 +46,10 @@
 import android.net.NetworkUtils;
 import android.os.Binder;
 import android.os.ParcelFileDescriptor;
-import android.support.test.filters.SmallTest;
 import android.system.Os;
 import android.test.mock.MockContext;
 
-import java.net.Socket;
-import java.util.Arrays;
-import java.util.Collection;
+import androidx.test.filters.SmallTest;
 
 import org.junit.Before;
 import org.junit.Ignore;
@@ -59,6 +57,10 @@
 import org.junit.runner.RunWith;
 import org.junit.runners.Parameterized;
 
+import java.net.Socket;
+import java.util.Arrays;
+import java.util.Collection;
+
 /** Unit tests for {@link IpSecService}. */
 @SmallTest
 @RunWith(Parameterized.class)
diff --git a/tests/net/java/com/android/server/IpSecServiceRefcountedResourceTest.java b/tests/net/java/com/android/server/IpSecServiceRefcountedResourceTest.java
index cf8f715..68ff777 100644
--- a/tests/net/java/com/android/server/IpSecServiceRefcountedResourceTest.java
+++ b/tests/net/java/com/android/server/IpSecServiceRefcountedResourceTest.java
@@ -31,22 +31,23 @@
 import android.os.Binder;
 import android.os.IBinder;
 import android.os.RemoteException;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import com.android.server.IpSecService.IResource;
 import com.android.server.IpSecService.RefcountedResource;
 
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
 import java.util.ArrayList;
 import java.util.HashSet;
 import java.util.List;
 import java.util.Set;
 import java.util.concurrent.ThreadLocalRandom;
 
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
 /** Unit tests for {@link IpSecService.RefcountedResource}. */
 @SmallTest
 @RunWith(AndroidJUnit4.class)
diff --git a/tests/net/java/com/android/server/IpSecServiceTest.java b/tests/net/java/com/android/server/IpSecServiceTest.java
index 5be7c7b..b5c3e92 100644
--- a/tests/net/java/com/android/server/IpSecServiceTest.java
+++ b/tests/net/java/com/android/server/IpSecServiceTest.java
@@ -20,6 +20,7 @@
 import static android.system.OsConstants.EADDRINUSE;
 import static android.system.OsConstants.IPPROTO_UDP;
 import static android.system.OsConstants.SOCK_DGRAM;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotEquals;
 import static org.junit.Assert.assertNotNull;
@@ -39,19 +40,24 @@
 import android.net.IpSecConfig;
 import android.net.IpSecManager;
 import android.net.IpSecSpiResponse;
-import android.net.IpSecTransform;
 import android.net.IpSecUdpEncapResponse;
 import android.os.Binder;
 import android.os.ParcelFileDescriptor;
 import android.os.Process;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.system.ErrnoException;
 import android.system.Os;
 import android.system.StructStat;
 
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import dalvik.system.SocketTagger;
 
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.mockito.ArgumentMatcher;
+
 import java.io.FileDescriptor;
 import java.net.InetAddress;
 import java.net.ServerSocket;
@@ -60,11 +66,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-import org.mockito.ArgumentMatcher;
-
 /** Unit tests for {@link IpSecService}. */
 @SmallTest
 @RunWith(AndroidJUnit4.class)
diff --git a/tests/net/java/com/android/server/NetworkManagementServiceTest.java b/tests/net/java/com/android/server/NetworkManagementServiceTest.java
index 56a075b..6fb3225 100644
--- a/tests/net/java/com/android/server/NetworkManagementServiceTest.java
+++ b/tests/net/java/com/android/server/NetworkManagementServiceTest.java
@@ -26,21 +26,19 @@
 import android.content.Context;
 import android.net.INetd;
 import android.net.LinkAddress;
-import android.net.LocalSocket;
 import android.net.LocalServerSocket;
+import android.net.LocalSocket;
 import android.os.BatteryStats;
 import android.os.Binder;
 import android.os.IBinder;
-import android.support.test.runner.AndroidJUnit4;
 import android.test.suitebuilder.annotation.SmallTest;
 
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.internal.app.IBatteryStats;
 import com.android.server.NetworkManagementService.SystemServices;
 import com.android.server.net.BaseNetworkObserver;
 
-import java.io.IOException;
-import java.io.OutputStream;
-
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
@@ -48,6 +46,9 @@
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import java.io.IOException;
+import java.io.OutputStream;
+
 /**
  * Tests for {@link NetworkManagementService}.
  */
diff --git a/tests/net/java/com/android/server/NsdServiceTest.java b/tests/net/java/com/android/server/NsdServiceTest.java
index b88c784..a90fa68 100644
--- a/tests/net/java/com/android/server/NsdServiceTest.java
+++ b/tests/net/java/com/android/server/NsdServiceTest.java
@@ -22,23 +22,25 @@
 import static org.mockito.Mockito.never;
 import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.timeout;
-import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
+import android.content.ContentResolver;
+import android.content.Context;
+import android.net.nsd.NsdManager;
+import android.net.nsd.NsdServiceInfo;
 import android.os.Handler;
 import android.os.HandlerThread;
 import android.os.Looper;
 import android.os.Message;
-import android.content.Context;
-import android.content.ContentResolver;
-import android.net.nsd.NsdManager;
-import android.net.nsd.NsdServiceInfo;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.server.NsdService.DaemonConnection;
 import com.android.server.NsdService.DaemonConnectionSupplier;
 import com.android.server.NsdService.NativeCallbackReceiver;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/net/java/com/android/server/connectivity/DnsManagerTest.java b/tests/net/java/com/android/server/connectivity/DnsManagerTest.java
index 38322e9..15ba43d 100644
--- a/tests/net/java/com/android/server/connectivity/DnsManagerTest.java
+++ b/tests/net/java/com/android/server/connectivity/DnsManagerTest.java
@@ -37,10 +37,11 @@
 import android.net.shared.PrivateDnsConfig;
 import android.os.INetworkManagementService;
 import android.provider.Settings;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.test.mock.MockContentResolver;
 
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.internal.util.test.FakeSettingsProvider;
 
 import org.junit.Before;
diff --git a/tests/net/java/com/android/server/connectivity/IpConnectivityEventBuilderTest.java b/tests/net/java/com/android/server/connectivity/IpConnectivityEventBuilderTest.java
index 0656c5f..70495cc 100644
--- a/tests/net/java/com/android/server/connectivity/IpConnectivityEventBuilderTest.java
+++ b/tests/net/java/com/android/server/connectivity/IpConnectivityEventBuilderTest.java
@@ -16,52 +16,44 @@
 
 package com.android.server.connectivity;
 
-import static android.net.metrics.INetdEventListener.EVENT_GETADDRINFO;
-import static android.net.metrics.INetdEventListener.EVENT_GETHOSTBYNAME;
-import static com.android.server.connectivity.MetricsTestUtil.aBool;
-import static com.android.server.connectivity.MetricsTestUtil.aByteArray;
 import static com.android.server.connectivity.MetricsTestUtil.aLong;
 import static com.android.server.connectivity.MetricsTestUtil.aString;
 import static com.android.server.connectivity.MetricsTestUtil.aType;
 import static com.android.server.connectivity.MetricsTestUtil.anInt;
-import static com.android.server.connectivity.MetricsTestUtil.anIntArray;
-import static com.android.server.connectivity.MetricsTestUtil.b;
 import static com.android.server.connectivity.MetricsTestUtil.describeIpEvent;
-import static com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.IpConnectivityLog;
 import static com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.BLUETOOTH;
 import static com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.CELLULAR;
-import static com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.ETHERNET;
+import static com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.IpConnectivityLog;
 import static com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.MULTIPLE;
 import static com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.WIFI;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.fail;
 
 import android.net.ConnectivityMetricsEvent;
 import android.net.metrics.ApfProgramEvent;
 import android.net.metrics.ApfStats;
-import android.net.metrics.ConnectStats;
 import android.net.metrics.DefaultNetworkEvent;
 import android.net.metrics.DhcpClientEvent;
 import android.net.metrics.DhcpErrorEvent;
-import android.net.metrics.DnsEvent;
-import android.net.metrics.DnsEvent;
 import android.net.metrics.IpManagerEvent;
 import android.net.metrics.IpReachabilityEvent;
 import android.net.metrics.NetworkEvent;
 import android.net.metrics.RaEvent;
 import android.net.metrics.ValidationProbeEvent;
 import android.net.metrics.WakeupStats;
-import android.support.test.runner.AndroidJUnit4;
 import android.test.suitebuilder.annotation.SmallTest;
 
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.IpConnectivityEvent;
 
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
 import java.util.Arrays;
 import java.util.List;
 
-import org.junit.runner.RunWith;
-import org.junit.Test;
-
 // TODO: instead of comparing textpb to textpb, parse textpb and compare proto to proto.
 @RunWith(AndroidJUnit4.class)
 @SmallTest
diff --git a/tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java b/tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java
index 1a0cb74..d5b2c87 100644
--- a/tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java
+++ b/tests/net/java/com/android/server/connectivity/IpConnectivityMetricsTest.java
@@ -47,11 +47,12 @@
 import android.net.metrics.RaEvent;
 import android.net.metrics.ValidationProbeEvent;
 import android.os.Parcelable;
-import android.support.test.runner.AndroidJUnit4;
 import android.system.OsConstants;
 import android.test.suitebuilder.annotation.SmallTest;
 import android.util.Base64;
 
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.internal.util.BitUtils;
 import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass;
 
diff --git a/tests/net/java/com/android/server/connectivity/LingerMonitorTest.java b/tests/net/java/com/android/server/connectivity/LingerMonitorTest.java
index 5057443..6de4aa1 100644
--- a/tests/net/java/com/android/server/connectivity/LingerMonitorTest.java
+++ b/tests/net/java/com/android/server/connectivity/LingerMonitorTest.java
@@ -39,10 +39,11 @@
 import android.net.NetworkInfo;
 import android.net.NetworkMisc;
 import android.os.INetworkManagementService;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.text.format.DateUtils;
 
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.internal.R;
 import com.android.server.ConnectivityService;
 import com.android.server.connectivity.NetworkNotificationManager.NotificationType;
diff --git a/tests/net/java/com/android/server/connectivity/MultipathPolicyTrackerTest.java b/tests/net/java/com/android/server/connectivity/MultipathPolicyTrackerTest.java
index e58811b..b783467 100644
--- a/tests/net/java/com/android/server/connectivity/MultipathPolicyTrackerTest.java
+++ b/tests/net/java/com/android/server/connectivity/MultipathPolicyTrackerTest.java
@@ -28,7 +28,6 @@
 import static com.android.server.net.NetworkPolicyManagerInternal.QUOTA_TYPE_MULTIPATH;
 import static com.android.server.net.NetworkPolicyManagerService.OPPORTUNISTIC_QUOTA_UNKNOWN;
 
-import static junit.framework.TestCase.assertEquals;
 import static junit.framework.TestCase.assertNotNull;
 
 import static org.mockito.ArgumentMatchers.any;
@@ -54,13 +53,14 @@
 import android.net.StringNetworkSpecifier;
 import android.os.Handler;
 import android.provider.Settings;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.telephony.TelephonyManager;
 import android.test.mock.MockContentResolver;
 import android.util.DataUnit;
 import android.util.RecurrenceRule;
 
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.internal.R;
 import com.android.internal.util.test.FakeSettingsProvider;
 import com.android.server.LocalServices;
diff --git a/tests/net/java/com/android/server/connectivity/Nat464XlatTest.java b/tests/net/java/com/android/server/connectivity/Nat464XlatTest.java
index 37c0df8..cc09fb7 100644
--- a/tests/net/java/com/android/server/connectivity/Nat464XlatTest.java
+++ b/tests/net/java/com/android/server/connectivity/Nat464XlatTest.java
@@ -37,8 +37,9 @@
 import android.os.Handler;
 import android.os.INetworkManagementService;
 import android.os.test.TestLooper;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import com.android.server.ConnectivityService;
 
diff --git a/tests/net/java/com/android/server/connectivity/NetdEventListenerServiceTest.java b/tests/net/java/com/android/server/connectivity/NetdEventListenerServiceTest.java
index 67805c9..e4117b8 100644
--- a/tests/net/java/com/android/server/connectivity/NetdEventListenerServiceTest.java
+++ b/tests/net/java/com/android/server/connectivity/NetdEventListenerServiceTest.java
@@ -18,43 +18,37 @@
 
 import static android.net.metrics.INetdEventListener.EVENT_GETADDRINFO;
 import static android.net.metrics.INetdEventListener.EVENT_GETHOSTBYNAME;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
-import static org.mockito.Mockito.any;
 import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.anyInt;
-import static org.mockito.Mockito.eq;
-import static org.mockito.Mockito.timeout;
-import static org.mockito.Mockito.times;
-import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
 import android.net.ConnectivityManager;
 import android.net.Network;
 import android.net.NetworkCapabilities;
-import android.support.test.runner.AndroidJUnit4;
 import android.system.OsConstants;
 import android.test.suitebuilder.annotation.SmallTest;
 import android.util.Base64;
 
-import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.DNSLookupBatch;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.IpConnectivityEvent;
 import com.android.server.connectivity.metrics.nano.IpConnectivityLogClass.IpConnectivityLog;
 
-import java.io.FileOutputStream;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Comparator;
-import java.util.List;
-
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.runner.RunWith;
 
+import java.io.FileOutputStream;
+import java.io.PrintWriter;
+import java.io.StringWriter;
+import java.util.Arrays;
+import java.util.Comparator;
+import java.util.List;
+
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class NetdEventListenerServiceTest {
diff --git a/tests/net/java/com/android/server/connectivity/NetworkNotificationManagerTest.java b/tests/net/java/com/android/server/connectivity/NetworkNotificationManagerTest.java
index 273b8fc..9580763 100644
--- a/tests/net/java/com/android/server/connectivity/NetworkNotificationManagerTest.java
+++ b/tests/net/java/com/android/server/connectivity/NetworkNotificationManagerTest.java
@@ -35,10 +35,11 @@
 import android.content.res.Resources;
 import android.net.NetworkCapabilities;
 import android.net.NetworkInfo;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.telephony.TelephonyManager;
 
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.server.connectivity.NetworkNotificationManager.NotificationType;
 
 import org.junit.Before;
diff --git a/tests/net/java/com/android/server/connectivity/PermissionMonitorTest.java b/tests/net/java/com/android/server/connectivity/PermissionMonitorTest.java
index f2bd770..354c08f 100644
--- a/tests/net/java/com/android/server/connectivity/PermissionMonitorTest.java
+++ b/tests/net/java/com/android/server/connectivity/PermissionMonitorTest.java
@@ -50,8 +50,9 @@
 import android.os.Build;
 import android.os.INetworkManagementService;
 import android.os.UserHandle;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Before;
 import org.junit.Test;
diff --git a/tests/net/java/com/android/server/connectivity/TetheringTest.java b/tests/net/java/com/android/server/connectivity/TetheringTest.java
index 533d7ad..fdba723 100644
--- a/tests/net/java/com/android/server/connectivity/TetheringTest.java
+++ b/tests/net/java/com/android/server/connectivity/TetheringTest.java
@@ -68,6 +68,7 @@
 import android.net.INetd;
 import android.net.INetworkPolicyManager;
 import android.net.INetworkStatsService;
+import android.net.ITetheringEventCallback;
 import android.net.InterfaceConfiguration;
 import android.net.IpPrefix;
 import android.net.LinkAddress;
@@ -98,11 +99,12 @@
 import android.os.UserManager;
 import android.os.test.TestLooper;
 import android.provider.Settings;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.telephony.CarrierConfigManager;
 import android.test.mock.MockContentResolver;
 
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.internal.util.ArrayUtils;
 import com.android.internal.util.StateMachine;
 import com.android.internal.util.test.BroadcastInterceptingContext;
@@ -122,6 +124,7 @@
 import java.net.Inet4Address;
 import java.net.Inet6Address;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Vector;
 
 @RunWith(AndroidJUnit4.class)
@@ -917,6 +920,67 @@
                 expectedInteractionsWithShowNotification);
     }
 
+    private class TestTetheringEventCallback extends ITetheringEventCallback.Stub {
+        private final ArrayList<Network> mActualUpstreams = new ArrayList<>();
+
+        public void expectUpstreamChanged(Network... networks) {
+            final ArrayList<Network> expectedUpstreams =
+                    new ArrayList<Network>(Arrays.asList(networks));
+            for (Network upstream : expectedUpstreams) {
+                // throws OOB if no expectations
+                assertEquals(mActualUpstreams.remove(0), upstream);
+            }
+            assertNoCallback();
+        }
+
+        @Override
+        public void onUpstreamChanged(Network network) {
+            mActualUpstreams.add(network);
+        }
+
+        public void assertNoCallback() {
+            assertTrue(mActualUpstreams.isEmpty());
+        }
+    }
+
+    @Test
+    public void testRegisterTetheringEventCallback() throws Exception {
+        TestTetheringEventCallback callback1 = new TestTetheringEventCallback();
+        TestTetheringEventCallback callback2 = new TestTetheringEventCallback();
+
+        // 1. Register one callback and run usb tethering.
+        mTethering.registerTetheringEventCallback(callback1);
+        mLooper.dispatchAll();
+        callback1.expectUpstreamChanged(new Network[] {null});
+        NetworkState upstreamState = buildMobileDualStackUpstreamState();
+        runUsbTethering(upstreamState);
+        callback1.expectUpstreamChanged(upstreamState.network);
+        // 2. Register second callback.
+        mTethering.registerTetheringEventCallback(callback2);
+        mLooper.dispatchAll();
+        callback2.expectUpstreamChanged(upstreamState.network);
+        // 3. Disable usb tethering.
+        mTethering.stopTethering(TETHERING_USB);
+        mLooper.dispatchAll();
+        sendUsbBroadcast(false, false, false);
+        mLooper.dispatchAll();
+        callback1.expectUpstreamChanged(new Network[] {null});
+        callback2.expectUpstreamChanged(new Network[] {null});
+        // 4. Unregister first callback and run hotspot.
+        mTethering.unregisterTetheringEventCallback(callback1);
+        mLooper.dispatchAll();
+        when(mUpstreamNetworkMonitor.getCurrentPreferredUpstream()).thenReturn(upstreamState);
+        when(mUpstreamNetworkMonitor.selectPreferredUpstreamType(any()))
+                .thenReturn(upstreamState);
+        when(mWifiManager.startSoftAp(any(WifiConfiguration.class))).thenReturn(true);
+        mTethering.startTethering(TETHERING_WIFI, null, false);
+        mLooper.dispatchAll();
+        mTethering.interfaceStatusChanged(TEST_WLAN_IFNAME, true);
+        sendWifiApStateChanged(WIFI_AP_STATE_ENABLED, TEST_WLAN_IFNAME, IFACE_IP_MODE_TETHERED);
+        mLooper.dispatchAll();
+        callback1.assertNoCallback();
+        callback2.expectUpstreamChanged(upstreamState.network);
+    }
 
     // TODO: Test that a request for hotspot mode doesn't interfere with an
     // already operating tethering mode interface.
diff --git a/tests/net/java/com/android/server/connectivity/VpnTest.java b/tests/net/java/com/android/server/connectivity/VpnTest.java
index b5d1ff9..2cae250 100644
--- a/tests/net/java/com/android/server/connectivity/VpnTest.java
+++ b/tests/net/java/com/android/server/connectivity/VpnTest.java
@@ -73,11 +73,12 @@
 import android.os.SystemClock;
 import android.os.UserHandle;
 import android.os.UserManager;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.util.ArrayMap;
 import android.util.ArraySet;
 
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.internal.R;
 import com.android.internal.net.VpnConfig;
 
diff --git a/tests/net/java/com/android/server/connectivity/tethering/EntitlementManagerTest.java b/tests/net/java/com/android/server/connectivity/tethering/EntitlementManagerTest.java
index 193f380..3944fad 100644
--- a/tests/net/java/com/android/server/connectivity/tethering/EntitlementManagerTest.java
+++ b/tests/net/java/com/android/server/connectivity/tethering/EntitlementManagerTest.java
@@ -42,11 +42,12 @@
 import android.os.ResultReceiver;
 import android.os.test.TestLooper;
 import android.provider.Settings;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.telephony.CarrierConfigManager;
 import android.test.mock.MockContentResolver;
 
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.internal.R;
 import com.android.internal.util.State;
 import com.android.internal.util.StateMachine;
@@ -225,7 +226,7 @@
                 mCallbacklatch.countDown();
             }
         };
-        mEnMgr.getLatestTetheringEntitlementValue(TETHERING_WIFI, receiver, true);
+        mEnMgr.getLatestTetheringEntitlementResult(TETHERING_WIFI, receiver, true);
         callbackTimeoutHelper(mCallbacklatch);
         assertFalse(mEnMgr.everRunUiEntitlement);
 
@@ -241,7 +242,7 @@
                 mCallbacklatch.countDown();
             }
         };
-        mEnMgr.getLatestTetheringEntitlementValue(TETHERING_WIFI, receiver, false);
+        mEnMgr.getLatestTetheringEntitlementResult(TETHERING_WIFI, receiver, false);
         callbackTimeoutHelper(mCallbacklatch);
         assertFalse(mEnMgr.everRunUiEntitlement);
         // 3. No cache value and ui entitlement check is needed.
@@ -254,7 +255,7 @@
                 mCallbacklatch.countDown();
             }
         };
-        mEnMgr.getLatestTetheringEntitlementValue(TETHERING_WIFI, receiver, true);
+        mEnMgr.getLatestTetheringEntitlementResult(TETHERING_WIFI, receiver, true);
         mLooper.dispatchAll();
         callbackTimeoutHelper(mCallbacklatch);
         assertTrue(mEnMgr.everRunUiEntitlement);
@@ -268,7 +269,7 @@
                 mCallbacklatch.countDown();
             }
         };
-        mEnMgr.getLatestTetheringEntitlementValue(TETHERING_WIFI, receiver, false);
+        mEnMgr.getLatestTetheringEntitlementResult(TETHERING_WIFI, receiver, false);
         callbackTimeoutHelper(mCallbacklatch);
         assertFalse(mEnMgr.everRunUiEntitlement);
         // 5. Cache value is TETHER_ERROR_PROVISION_FAILED and ui entitlement check is needed.
@@ -281,7 +282,7 @@
                 mCallbacklatch.countDown();
             }
         };
-        mEnMgr.getLatestTetheringEntitlementValue(TETHERING_WIFI, receiver, true);
+        mEnMgr.getLatestTetheringEntitlementResult(TETHERING_WIFI, receiver, true);
         mLooper.dispatchAll();
         callbackTimeoutHelper(mCallbacklatch);
         assertTrue(mEnMgr.everRunUiEntitlement);
@@ -295,7 +296,7 @@
                 mCallbacklatch.countDown();
             }
         };
-        mEnMgr.getLatestTetheringEntitlementValue(TETHERING_WIFI, receiver, true);
+        mEnMgr.getLatestTetheringEntitlementResult(TETHERING_WIFI, receiver, true);
         callbackTimeoutHelper(mCallbacklatch);
         assertFalse(mEnMgr.everRunUiEntitlement);
         // 7. Test get value for other downstream type.
@@ -307,7 +308,7 @@
                 mCallbacklatch.countDown();
             }
         };
-        mEnMgr.getLatestTetheringEntitlementValue(TETHERING_USB, receiver, false);
+        mEnMgr.getLatestTetheringEntitlementResult(TETHERING_USB, receiver, false);
         callbackTimeoutHelper(mCallbacklatch);
         assertFalse(mEnMgr.everRunUiEntitlement);
     }
diff --git a/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java b/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java
index b98f63b..be54b1a 100644
--- a/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java
+++ b/tests/net/java/com/android/server/connectivity/tethering/OffloadControllerTest.java
@@ -23,7 +23,9 @@
 import static android.net.NetworkStats.UID_ALL;
 import static android.net.TrafficStats.UID_TETHERING;
 import static android.provider.Settings.Global.TETHER_OFFLOAD_DISABLED;
+
 import static com.android.server.connectivity.tethering.OffloadHardwareInterface.ForwardedStats;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
 import static org.junit.Assert.fail;
@@ -35,7 +37,6 @@
 import static org.mockito.Mockito.clearInvocations;
 import static org.mockito.Mockito.inOrder;
 import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.reset;
 import static org.mockito.Mockito.times;
 import static org.mockito.Mockito.verify;
 import static org.mockito.Mockito.verifyNoMoreInteractions;
@@ -52,30 +53,30 @@
 import android.net.util.SharedLog;
 import android.os.ConditionVariable;
 import android.os.Handler;
-import android.os.Looper;
 import android.os.INetworkManagementService;
+import android.os.Looper;
 import android.provider.Settings;
 import android.provider.Settings.SettingNotFoundException;
-
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.test.mock.MockContentResolver;
-import com.android.internal.util.test.FakeSettingsProvider;
 
-import java.net.InetAddress;
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Set;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
+import com.android.internal.util.test.FakeSettingsProvider;
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.runner.RunWith;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.ArgumentCaptor;
 import org.mockito.InOrder;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
+import java.net.InetAddress;
+import java.util.ArrayList;
+import java.util.HashSet;
+import java.util.Set;
 
 @RunWith(AndroidJUnit4.class)
 @SmallTest
diff --git a/tests/net/java/com/android/server/connectivity/tethering/TetheringConfigurationTest.java b/tests/net/java/com/android/server/connectivity/tethering/TetheringConfigurationTest.java
index f8cfd8f..36a1b7c 100644
--- a/tests/net/java/com/android/server/connectivity/tethering/TetheringConfigurationTest.java
+++ b/tests/net/java/com/android/server/connectivity/tethering/TetheringConfigurationTest.java
@@ -36,11 +36,12 @@
 import android.content.res.Resources;
 import android.net.util.SharedLog;
 import android.provider.Settings;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.telephony.TelephonyManager;
 import android.test.mock.MockContentResolver;
 
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.internal.util.test.BroadcastInterceptingContext;
 import com.android.internal.util.test.FakeSettingsProvider;
 
diff --git a/tests/net/java/com/android/server/connectivity/tethering/UpstreamNetworkMonitorTest.java b/tests/net/java/com/android/server/connectivity/tethering/UpstreamNetworkMonitorTest.java
index 0afd607..5a1f853 100644
--- a/tests/net/java/com/android/server/connectivity/tethering/UpstreamNetworkMonitorTest.java
+++ b/tests/net/java/com/android/server/connectivity/tethering/UpstreamNetworkMonitorTest.java
@@ -41,8 +41,6 @@
 import static org.mockito.Mockito.when;
 
 import android.content.Context;
-import android.os.Handler;
-import android.os.Message;
 import android.net.ConnectivityManager;
 import android.net.ConnectivityManager.NetworkCallback;
 import android.net.IConnectivityManager;
@@ -54,16 +52,19 @@
 import android.net.NetworkRequest;
 import android.net.NetworkState;
 import android.net.util.SharedLog;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+import android.os.Handler;
+import android.os.Message;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import com.android.internal.util.State;
 import com.android.internal.util.StateMachine;
 
 import org.junit.After;
 import org.junit.Before;
-import org.junit.runner.RunWith;
 import org.junit.Test;
+import org.junit.runner.RunWith;
 import org.mockito.Mock;
 import org.mockito.MockitoAnnotations;
 
@@ -76,7 +77,6 @@
 import java.util.Objects;
 import java.util.Set;
 
-
 @RunWith(AndroidJUnit4.class)
 @SmallTest
 public class UpstreamNetworkMonitorTest {
diff --git a/tests/net/java/com/android/server/net/NetworkStatsAccessTest.java b/tests/net/java/com/android/server/net/NetworkStatsAccessTest.java
index b870bbd..6e725dd 100644
--- a/tests/net/java/com/android/server/net/NetworkStatsAccessTest.java
+++ b/tests/net/java/com/android/server/net/NetworkStatsAccessTest.java
@@ -26,10 +26,11 @@
 import android.app.admin.DevicePolicyManagerInternal;
 import android.content.Context;
 import android.content.pm.PackageManager;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.telephony.TelephonyManager;
 
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.server.LocalServices;
 
 import org.junit.After;
diff --git a/tests/net/java/com/android/server/net/NetworkStatsCollectionTest.java b/tests/net/java/com/android/server/net/NetworkStatsCollectionTest.java
index 6f14332..9b4f49c 100644
--- a/tests/net/java/com/android/server/net/NetworkStatsCollectionTest.java
+++ b/tests/net/java/com/android/server/net/NetworkStatsCollectionTest.java
@@ -26,12 +26,13 @@
 import static android.os.Process.myUid;
 import static android.text.format.DateUtils.HOUR_IN_MILLIS;
 import static android.text.format.DateUtils.MINUTE_IN_MILLIS;
+
+import static com.android.server.net.NetworkStatsCollection.multiplySafe;
+
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.fail;
 
-import static com.android.server.net.NetworkStatsCollection.multiplySafe;
-
 import android.content.res.Resources;
 import android.net.ConnectivityManager;
 import android.net.NetworkIdentity;
@@ -40,20 +41,26 @@
 import android.net.NetworkTemplate;
 import android.os.Process;
 import android.os.UserHandle;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.telephony.SubscriptionPlan;
 import android.telephony.TelephonyManager;
 import android.test.MoreAsserts;
 import android.text.format.DateUtils;
 import android.util.RecurrenceRule;
 
+import androidx.test.InstrumentationRegistry;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
+
 import com.android.frameworks.tests.net.R;
 
 import libcore.io.IoUtils;
 import libcore.io.Streams;
 
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+
 import java.io.ByteArrayInputStream;
 import java.io.ByteArrayOutputStream;
 import java.io.DataOutputStream;
@@ -68,11 +75,6 @@
 import java.util.ArrayList;
 import java.util.List;
 
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-import org.junit.runner.RunWith;
-
 /**
  * Tests for {@link NetworkStatsCollection}.
  */
@@ -99,6 +101,7 @@
     @After
     public void tearDown() throws Exception {
         RecurrenceRule.sClock = sOriginalClock;
+        NetworkTemplate.resetForceAllNetworkTypes();
     }
 
     private void setClock(Instant instant) {
diff --git a/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java b/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java
index 185c3eb..43a3803 100644
--- a/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java
+++ b/tests/net/java/com/android/server/net/NetworkStatsObserversTest.java
@@ -17,7 +17,6 @@
 package com.android.server.net;
 
 import static android.net.ConnectivityManager.TYPE_MOBILE;
-import static android.net.ConnectivityManager.TYPE_WIFI;
 import static android.net.NetworkStats.DEFAULT_NETWORK_NO;
 import static android.net.NetworkStats.DEFAULT_NETWORK_YES;
 import static android.net.NetworkStats.METERED_NO;
@@ -33,11 +32,8 @@
 
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
 import static org.mockito.Matchers.any;
 import static org.mockito.Matchers.anyInt;
-import static org.mockito.Matchers.isA;
-import static org.mockito.Mockito.when;
 
 import android.app.usage.NetworkStatsManager;
 import android.net.DataUsageRequest;
@@ -49,22 +45,17 @@
 import android.os.HandlerThread;
 import android.os.IBinder;
 import android.os.Looper;
-import android.os.Message;
 import android.os.Messenger;
 import android.os.Process;
 import android.os.UserHandle;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.telephony.TelephonyManager;
 import android.util.ArrayMap;
 
-import com.android.internal.net.VpnInfo;
-import com.android.server.net.NetworkStatsService;
-import com.android.server.net.NetworkStatsServiceTest.LatchedHandler;
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
-import java.util.ArrayList;
-import java.util.Objects;
-import java.util.List;
+import com.android.internal.net.VpnInfo;
+import com.android.server.net.NetworkStatsServiceTest.LatchedHandler;
 
 import org.junit.Before;
 import org.junit.Test;
@@ -73,6 +64,8 @@
 import org.mockito.Mockito;
 import org.mockito.MockitoAnnotations;
 
+import java.util.Objects;
+
 /**
  * Tests for {@link NetworkStatsObservers}.
  */
diff --git a/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java b/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
index d91d3eb..bce526d 100644
--- a/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
+++ b/tests/net/java/com/android/server/net/NetworkStatsServiceTest.java
@@ -19,6 +19,7 @@
 import static android.content.Intent.ACTION_UID_REMOVED;
 import static android.content.Intent.EXTRA_UID;
 import static android.net.ConnectivityManager.TYPE_MOBILE;
+import static android.net.ConnectivityManager.TYPE_VPN;
 import static android.net.ConnectivityManager.TYPE_WIFI;
 import static android.net.ConnectivityManager.TYPE_WIMAX;
 import static android.net.NetworkStats.DEFAULT_NETWORK_ALL;
@@ -41,6 +42,7 @@
 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;
@@ -91,15 +93,15 @@
 import android.os.Messenger;
 import android.os.PowerManager;
 import android.os.SimpleClock;
-import android.support.test.InstrumentationRegistry;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
 import android.telephony.TelephonyManager;
 
+import androidx.test.InstrumentationRegistry;
+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.LocalServices;
 import com.android.server.net.NetworkStatsService.NetworkStatsSettings;
 import com.android.server.net.NetworkStatsService.NetworkStatsSettings.Config;
 
@@ -132,6 +134,8 @@
 
     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";
@@ -145,10 +149,12 @@
     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);
+
     private static final Network[] NETWORKS_WIFI = new Network[]{ WIFI_NETWORK };
     private static final Network[] NETWORKS_MOBILE = new Network[]{ MOBILE_NETWORK };
 
@@ -914,7 +920,113 @@
         assertNetworkTotal(sTemplateImsi1, 2048L, 16L, 512L, 4L, 0);
         assertUidTotal(sTemplateImsi1, UID_RED, 128L, 2L, 128L, 2L, 0);
         assertUidTotal(sTemplateImsi1, UID_TETHERING, 1920L, 14L, 384L, 2L, 0);
+    }
 
+    @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
@@ -1262,6 +1374,22 @@
         return new NetworkStats(getElapsedRealtime(), 0);
     }
 
+    private static NetworkState buildVpnState() {
+        final NetworkInfo info = new NetworkInfo(TYPE_VPN, 0, null, null);
+        info.setDetailedState(DetailedState.CONNECTED, null, null);
+        final LinkProperties prop = new LinkProperties();
+        prop.setInterfaceName(TUN_IFACE);
+        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/java/com/android/server/net/ipmemorystore/NetworkAttributesTest.java b/tests/net/java/com/android/server/net/ipmemorystore/NetworkAttributesTest.java
index fe19eee..dc20185 100644
--- a/tests/net/java/com/android/server/net/ipmemorystore/NetworkAttributesTest.java
+++ b/tests/net/java/com/android/server/net/ipmemorystore/NetworkAttributesTest.java
@@ -19,8 +19,9 @@
 import static org.junit.Assert.assertEquals;
 
 import android.net.ipmemorystore.NetworkAttributes;
-import android.support.test.filters.SmallTest;
-import android.support.test.runner.AndroidJUnit4;
+
+import androidx.test.filters.SmallTest;
+import androidx.test.runner.AndroidJUnit4;
 
 import org.junit.Test;
 import org.junit.runner.RunWith;
diff --git a/tests/notification/Android.bp b/tests/notification/Android.bp
new file mode 100644
index 0000000..f05edaf
--- /dev/null
+++ b/tests/notification/Android.bp
@@ -0,0 +1,7 @@
+android_test {
+    name: "NotificationTests",
+    // Include all test java files.
+    srcs: ["src/**/*.java"],
+    libs: ["android.test.runner.stubs"],
+    sdk_version: "21",
+}
diff --git a/tests/notification/Android.mk b/tests/notification/Android.mk
deleted file mode 100644
index 255e6e7..0000000
--- a/tests/notification/Android.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-
-# Include all test java files.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_JAVA_LIBRARIES := android.test.runner.stubs
-LOCAL_PACKAGE_NAME := NotificationTests
-
-LOCAL_SDK_VERSION := 21
-
-include $(BUILD_PACKAGE)
-
diff --git a/tests/permission/Android.bp b/tests/permission/Android.bp
new file mode 100644
index 0000000..bd07009
--- /dev/null
+++ b/tests/permission/Android.bp
@@ -0,0 +1,12 @@
+android_test {
+    name: "FrameworkPermissionTests",
+    // Include all test java files.
+    srcs: ["src/**/*.java"],
+    libs: [
+        "android.test.runner",
+        "telephony-common",
+        "android.test.base",
+    ],
+    static_libs: ["junit"],
+    platform_apis: true,
+}
diff --git a/tests/permission/Android.mk b/tests/permission/Android.mk
deleted file mode 100644
index dd2f3ec..0000000
--- a/tests/permission/Android.mk
+++ /dev/null
@@ -1,16 +0,0 @@
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-# We only want this apk build for tests.
-LOCAL_MODULE_TAGS := tests
-
-# Include all test java files.
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_JAVA_LIBRARIES := android.test.runner telephony-common android.test.base
-LOCAL_STATIC_JAVA_LIBRARIES := junit
-LOCAL_PACKAGE_NAME := FrameworkPermissionTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-include $(BUILD_PACKAGE)
-
diff --git a/tests/testables/Android.bp b/tests/testables/Android.bp
index 0bad7a4..eb6811c 100644
--- a/tests/testables/Android.bp
+++ b/tests/testables/Android.bp
@@ -15,18 +15,12 @@
 //
 
 java_library {
-
     name: "testables",
-    // ANDROIDMK TRANSLATION ERROR: unsupported assignment to LOCAL_MODULE_TAG
-    // LOCAL_MODULE_TAG := tests
-
     srcs: ["src/**/*.java"],
-
     libs: [
         "android.test.runner",
         "android.test.mock",
         "androidx.test.rules",
         "mockito-target-inline-minus-junit4",
     ],
-
 }
diff --git a/tests/testables/tests/Android.bp b/tests/testables/tests/Android.bp
new file mode 100644
index 0000000..e1a58be
--- /dev/null
+++ b/tests/testables/tests/Android.bp
@@ -0,0 +1,41 @@
+// Copyright (C) 2017 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.
+
+android_test {
+    name: "TestablesTests",
+    platform_apis: true,
+    srcs: [
+        "src/**/*.java",
+        "src/**/I*.aidl",
+    ],
+    resource_dirs: ["res"],
+    static_libs: [
+        "androidx.test.rules",
+        "hamcrest-library",
+        "mockito-target-inline-minus-junit4",
+        "testables",
+    ],
+    compile_multilib: "both",
+    jni_libs: [
+        "libdexmakerjvmtiagent",
+        "libmultiplejvmtiagentsinterferenceagent",
+    ],
+    libs: [
+        "android.test.runner",
+        "android.test.base",
+        "android.test.mock",
+    ],
+    certificate: "platform",
+    test_suites: ["device-tests"],
+}
diff --git a/tests/testables/tests/Android.mk b/tests/testables/tests/Android.mk
deleted file mode 100644
index 16fbb18..0000000
--- a/tests/testables/tests/Android.mk
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright (C) 2017 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.
-
-LOCAL_PATH := $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_USE_AAPT2 := true
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_PACKAGE_NAME := TestablesTests
-LOCAL_PRIVATE_PLATFORM_APIS := true
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src) \
-    $(call all-Iaidl-files-under, src)
-
-LOCAL_RESOURCE_DIR := $(LOCAL_PATH)/res
-
-LOCAL_STATIC_JAVA_LIBRARIES := \
-    androidx.test.rules hamcrest-library \
-    mockito-target-inline-minus-junit4 \
-	testables
-
-LOCAL_MULTILIB := both
-
-LOCAL_JNI_SHARED_LIBRARIES := \
-    libdexmakerjvmtiagent \
-    libmultiplejvmtiagentsinterferenceagent
-
-LOCAL_JAVA_LIBRARIES := android.test.runner android.test.base android.test.mock
-
-LOCAL_CERTIFICATE := platform
-
-LOCAL_COMPATIBILITY_SUITE := device-tests
-
-include $(BUILD_PACKAGE)
-
diff --git a/tests/touchlag/Android.bp b/tests/touchlag/Android.bp
index 2610cb3..092eea9 100644
--- a/tests/touchlag/Android.bp
+++ b/tests/touchlag/Android.bp
@@ -1,14 +1,11 @@
 cc_test {
     name: "test-touchlag",
     gtest: false,
-
     srcs: ["touchlag.cpp"],
-
     shared_libs: [
         "libcutils",
         "libutils",
     ],
-
     cflags: [
         "-Wall",
         "-Wextra",
diff --git a/tests/utils/Android.mk b/tests/utils/Android.mk
deleted file mode 100644
index c141484..0000000
--- a/tests/utils/Android.mk
+++ /dev/null
@@ -1,17 +0,0 @@
-#
-# Copyright (C) 2012 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.
-#
-
-include $(call all-subdir-makefiles)
diff --git a/tests/utils/DummyIME/Android.bp b/tests/utils/DummyIME/Android.bp
new file mode 100644
index 0000000..4a44b3b
--- /dev/null
+++ b/tests/utils/DummyIME/Android.bp
@@ -0,0 +1,21 @@
+//
+// Copyright (C) 2012 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.
+//
+
+android_test {
+    name: "DummyIME",
+    srcs: ["src/**/*.java"],
+    sdk_version: "current",
+}
diff --git a/tests/utils/DummyIME/Android.mk b/tests/utils/DummyIME/Android.mk
deleted file mode 100644
index 0f6c988..0000000
--- a/tests/utils/DummyIME/Android.mk
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright (C) 2012 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.
-#
-
-LOCAL_PATH:= $(call my-dir)
-include $(CLEAR_VARS)
-
-LOCAL_MODULE_TAGS := tests
-
-LOCAL_SRC_FILES := $(call all-java-files-under, src)
-
-LOCAL_PACKAGE_NAME := DummyIME
-LOCAL_SDK_VERSION := current
-
-include $(BUILD_PACKAGE)
diff --git a/tools/aapt2/Android.bp b/tools/aapt2/Android.bp
index bc3a9a1..8bef221 100644
--- a/tools/aapt2/Android.bp
+++ b/tools/aapt2/Android.bp
@@ -141,6 +141,7 @@
         "ResourceValues.cpp",
         "SdkConstants.cpp",
         "StringPool.cpp",
+        "trace/TraceBuffer.cpp",
         "xml/XmlActionExecutor.cpp",
         "xml/XmlDom.cpp",
         "xml/XmlPullParser.cpp",
diff --git a/tools/aapt2/Main.cpp b/tools/aapt2/Main.cpp
index adf85b0..39eb987 100644
--- a/tools/aapt2/Main.cpp
+++ b/tools/aapt2/Main.cpp
@@ -37,6 +37,7 @@
 #include "cmd/Link.h"
 #include "cmd/Optimize.h"
 #include "io/FileStream.h"
+#include "trace/TraceBuffer.h"
 #include "util/Files.h"
 #include "util/Util.h"
 
@@ -107,9 +108,12 @@
       : Command("daemon", "m"), out_(out), diagnostics_(diagnostics) {
     SetDescription("Runs aapt in daemon mode. Each subsequent line is a single parameter to the\n"
         "command. The end of an invocation is signaled by providing an empty line.");
+    AddOptionalFlag("--trace_folder", "Generate systrace json trace fragment to specified folder.",
+                    &trace_folder_);
   }
 
-  int Action(const std::vector<std::string>& /* args */) override {
+  int Action(const std::vector<std::string>& arguments) override {
+    TRACE_FLUSH_ARGS(trace_folder_ ? trace_folder_.value() : "", "daemon", arguments);
     text::Printer printer(out_);
     std::cout << "Ready" << std::endl;
 
@@ -150,6 +154,7 @@
  private:
   io::FileOutputStream* out_;
   IDiagnostics* diagnostics_;
+  Maybe<std::string> trace_folder_;
 };
 
 }  // namespace aapt
diff --git a/tools/aapt2/ResourceParser.cpp b/tools/aapt2/ResourceParser.cpp
index d0237f8..5e8d870 100644
--- a/tools/aapt2/ResourceParser.cpp
+++ b/tools/aapt2/ResourceParser.cpp
@@ -206,15 +206,6 @@
   }
 };
 
-// A chunk of text in the XML string within a CDATA tags.
-class CdataSegmentNode : public SegmentNode {
- public:
-
-  void Build(StringBuilder* builder) const override {
-    builder->AppendText(data, /* preserve_spaces */ true);
-  }
-};
-
 // A tag that will be encoded into the final flattened string. Tags like <b> or <i>.
 class SpanNode : public Node {
  public:
@@ -251,7 +242,6 @@
   std::vector<Node*> node_stack;
   node_stack.push_back(&root);
 
-  bool cdata_block = false;
   bool saw_span_node = false;
   SegmentNode* first_segment = nullptr;
   SegmentNode* last_segment = nullptr;
@@ -262,12 +252,9 @@
 
     // First take care of any SegmentNodes that should be created.
     if (event == xml::XmlPullParser::Event::kStartElement
-        || event == xml::XmlPullParser::Event::kEndElement
-        || event == xml::XmlPullParser::Event::kCdataStart
-        || event == xml::XmlPullParser::Event::kCdataEnd) {
+        || event == xml::XmlPullParser::Event::kEndElement) {
       if (!current_text.empty()) {
-        std::unique_ptr<SegmentNode> segment_node = (cdata_block)
-            ? util::make_unique<CdataSegmentNode>() : util::make_unique<SegmentNode>();
+        auto segment_node = util::make_unique<SegmentNode>();
         segment_node->data = std::move(current_text);
 
         last_segment = node_stack.back()->AddChild(std::move(segment_node));
@@ -345,16 +332,6 @@
         }
       } break;
 
-      case xml::XmlPullParser::Event::kCdataStart: {
-        cdata_block = true;
-        break;
-      }
-
-      case xml::XmlPullParser::Event::kCdataEnd: {
-        cdata_block = false;
-        break;
-      }
-
       default:
         // ignore.
         break;
diff --git a/tools/aapt2/ResourceParser_test.cpp b/tools/aapt2/ResourceParser_test.cpp
index 25b76b0..5336141 100644
--- a/tools/aapt2/ResourceParser_test.cpp
+++ b/tools/aapt2/ResourceParser_test.cpp
@@ -183,11 +183,11 @@
   EXPECT_THAT(str->untranslatable_sections, IsEmpty());
 
   // Preserve non-ASCII whitespace including extended ASCII characters
-  EXPECT_TRUE(TestParse(R"(<string name="foo3">&#160;Hello&#160;</string>)"));
+  EXPECT_TRUE(TestParse(R"(<string name="foo3">&#160;Hello&#x202F;World&#160;</string>)"));
 
   str = test::GetValue<String>(&table_, "string/foo3");
   ASSERT_THAT(str, NotNull());
-  EXPECT_THAT(*str->value, StrEq("\xC2\xA0Hello\xC2\xA0"));
+  EXPECT_THAT(*str->value, StrEq("\xC2\xA0Hello\xE2\x80\xAFWorld\xC2\xA0"));
   EXPECT_THAT(str->untranslatable_sections, IsEmpty());
 
   EXPECT_TRUE(TestParse(R"(<string name="foo4">2005年6月1日</string>)"));
@@ -1195,27 +1195,26 @@
 }
 
 TEST_F(ResourceParserTest, ParseCData) {
-  std::string input = R"(
-      <string name="foo"><![CDATA[some text and ' apostrophe]]></string>)";
-
+  // Double quotes should still change the state of whitespace processing
+  std::string input = R"(<string name="foo">Hello<![CDATA[ "</string>' ]]>      World</string>)";
   ASSERT_TRUE(TestParse(input));
-  String* output = test::GetValue<String>(&table_, "string/foo");
+  auto output = test::GetValue<String>(&table_, "string/foo");
   ASSERT_THAT(output, NotNull());
-  EXPECT_THAT(*output, StrValueEq("some text and ' apostrophe"));
+  EXPECT_THAT(*output, StrValueEq(std::string("Hello </string>'       World").data()));
 
-  // Double quotes should not change the state of whitespace processing
-  input = R"(<string name="foo2">Hello<![CDATA[ "</string>' ]]>      World</string>)";
+  input = R"(<string name="foo2"><![CDATA[Hello
+                                          World]]></string>)";
   ASSERT_TRUE(TestParse(input));
   output = test::GetValue<String>(&table_, "string/foo2");
   ASSERT_THAT(output, NotNull());
-  EXPECT_THAT(*output, StrValueEq(std::string("Hello \"</string>'  World").data()));
+  EXPECT_THAT(*output, StrValueEq(std::string("Hello World").data()));
 
-  // Cdata blocks should not have their whitespace trimmed
+  // Cdata blocks should have their whitespace trimmed
   input = R"(<string name="foo3">     <![CDATA[ text ]]>     </string>)";
   ASSERT_TRUE(TestParse(input));
   output = test::GetValue<String>(&table_, "string/foo3");
   ASSERT_THAT(output, NotNull());
-  EXPECT_THAT(*output, StrValueEq(std::string(" text ").data()));
+  EXPECT_THAT(*output, StrValueEq(std::string("text").data()));
 
   input = R"(<string name="foo4">     <![CDATA[]]>     </string>)";
   ASSERT_TRUE(TestParse(input));
@@ -1227,7 +1226,11 @@
   ASSERT_TRUE(TestParse(input));
   output = test::GetValue<String>(&table_, "string/foo5");
   ASSERT_THAT(output, NotNull());
-  EXPECT_THAT(*output, StrValueEq(std::string("    ").data()));
+  EXPECT_THAT(*output, StrValueEq(std::string("").data()));
+
+  // Single quotes must still be escaped
+  input = R"(<string name="foo6"><![CDATA[some text and ' apostrophe]]></string>)";
+  ASSERT_FALSE(TestParse(input));
 }
 
 }  // namespace aapt
diff --git a/tools/aapt2/ResourceTable.cpp b/tools/aapt2/ResourceTable.cpp
index dbd0a0c..7c0619f 100644
--- a/tools/aapt2/ResourceTable.cpp
+++ b/tools/aapt2/ResourceTable.cpp
@@ -30,6 +30,7 @@
 #include "NameMangler.h"
 #include "ResourceValues.h"
 #include "ValueVisitor.h"
+#include "trace/TraceBuffer.h"
 #include "text/Unicode.h"
 #include "util/Util.h"
 
@@ -79,6 +80,7 @@
 }
 
 ResourceTablePackage* ResourceTable::CreatePackage(const StringPiece& name, Maybe<uint8_t> id) {
+  TRACE_CALL();
   ResourceTablePackage* package = FindOrCreatePackage(name);
   if (id && !package->id) {
     package->id = id;
diff --git a/tools/aapt2/ResourceUtils.cpp b/tools/aapt2/ResourceUtils.cpp
index ffc1a92..a571aee 100644
--- a/tools/aapt2/ResourceUtils.cpp
+++ b/tools/aapt2/ResourceUtils.cpp
@@ -40,8 +40,6 @@
 namespace aapt {
 namespace ResourceUtils {
 
-constexpr int32_t kNonBreakingSpace = 0xa0;
-
 Maybe<ResourceName> ToResourceName(
     const android::ResTable::resource_name& name_in) {
   // TODO: Remove this when ResTable and AssetManager(1) are removed from AAPT2
@@ -845,20 +843,17 @@
     : preserve_spaces_(preserve_spaces), quote_(preserve_spaces) {
 }
 
-StringBuilder& StringBuilder::AppendText(const std::string& text, bool preserve_spaces) {
+StringBuilder& StringBuilder::AppendText(const std::string& text) {
   if (!error_.empty()) {
     return *this;
   }
 
-  // Enable preserving spaces if it is enabled for this append or the StringBuilder was constructed
-  // to preserve spaces
-  preserve_spaces = (preserve_spaces) ? preserve_spaces : preserve_spaces_;
-
   const size_t previous_len = xml_string_.text.size();
   Utf8Iterator iter(text);
   while (iter.HasNext()) {
     char32_t codepoint = iter.Next();
-    if (!preserve_spaces && !quote_ && codepoint != kNonBreakingSpace && iswspace(codepoint)) {
+    if (!preserve_spaces_ && !quote_ && (codepoint <= std::numeric_limits<char>::max())
+                                         && isspace(static_cast<char>(codepoint))) {
       if (!last_codepoint_was_space_) {
         // Emit a space if it's the first.
         xml_string_.text += ' ';
@@ -906,11 +901,11 @@
             break;
         }
       }
-    } else if (!preserve_spaces && codepoint == U'"') {
+    } else if (!preserve_spaces_ && codepoint == U'"') {
       // Only toggle the quote state when we are not preserving spaces.
       quote_ = !quote_;
 
-    } else if (!preserve_spaces && !quote_ && codepoint == U'\'') {
+    } else if (!preserve_spaces_ && !quote_ && codepoint == U'\'') {
       // This should be escaped when we are not preserving spaces
       error_ = StringPrintf("unescaped apostrophe in string\n\"%s\"", text.c_str());
       return *this;
diff --git a/tools/aapt2/ResourceUtils.h b/tools/aapt2/ResourceUtils.h
index a8a3120..f77766e 100644
--- a/tools/aapt2/ResourceUtils.h
+++ b/tools/aapt2/ResourceUtils.h
@@ -276,10 +276,8 @@
   // single quotations can be used without escaping them.
   explicit StringBuilder(bool preserve_spaces = false);
 
-  // Appends a chunk of text. If preserve_spaces is true, whitespace removal is not performed, and
-  // single quotations can be used without escaping them for this append. Otherwise, the
-  // StringBuilder will behave as it was constructed.
-  StringBuilder& AppendText(const std::string& text, bool preserve_spaces = false);
+  // Appends a chunk of text.
+  StringBuilder& AppendText(const std::string& text);
 
   // Starts a Span (tag) with the given name. The name is expected to be of the form:
   //  "tag_name;attr1=value;attr2=value;"
diff --git a/tools/aapt2/ResourceUtils_test.cpp b/tools/aapt2/ResourceUtils_test.cpp
index 9018b0f..3b77135 100644
--- a/tools/aapt2/ResourceUtils_test.cpp
+++ b/tools/aapt2/ResourceUtils_test.cpp
@@ -266,29 +266,6 @@
 TEST(ResourceUtilsTest, StringBuilderPreserveSpaces) {
   EXPECT_THAT(ResourceUtils::StringBuilder(true /*preserve_spaces*/).AppendText("\"").to_string(),
               Eq("\""));
-
-  // Single quotes should be able to be used without escaping them when preserving spaces and the
-  // spaces should not be trimmed
-  EXPECT_THAT(ResourceUtils::StringBuilder()
-                  .AppendText("    hey guys ")
-                  .AppendText(" 'this is so cool' ", /* preserve_spaces */ true)
-                  .AppendText(" wow    ")
-                  .to_string(),
-              Eq(" hey guys  'this is so cool'  wow "));
-
-  // Reading a double quote while preserving spaces should not change the quote state
-  EXPECT_THAT(ResourceUtils::StringBuilder()
-                  .AppendText("    hey guys ")
-                  .AppendText(" \"this is so cool' ", /* preserve_spaces */ true)
-                  .AppendText(" wow    ")
-                  .to_string(),
-              Eq(" hey guys  \"this is so cool'  wow "));
-  EXPECT_THAT(ResourceUtils::StringBuilder()
-                  .AppendText("    hey guys\"  ")
-                  .AppendText(" \"this is so cool' ", /* preserve_spaces */ true)
-                  .AppendText(" wow  \"  ")
-                  .to_string(),
-              Eq(" hey guys   \"this is so cool'  wow   "));
 }
 
 }  // namespace aapt
diff --git a/tools/aapt2/cmd/Command.cpp b/tools/aapt2/cmd/Command.cpp
index 4424a35..919b4c9 100644
--- a/tools/aapt2/cmd/Command.cpp
+++ b/tools/aapt2/cmd/Command.cpp
@@ -25,6 +25,7 @@
 #include "android-base/utf8.h"
 #include "androidfw/StringPiece.h"
 
+#include "trace/TraceBuffer.h"
 #include "util/Util.h"
 
 using android::base::StringPrintf;
@@ -178,6 +179,7 @@
 }
 
 int Command::Execute(const std::vector<StringPiece>& args, std::ostream* out_error) {
+  TRACE_NAME_ARGS("Command::Execute", args);
   std::vector<std::string> file_args;
 
   for (size_t i = 0; i < args.size(); i++) {
diff --git a/tools/aapt2/cmd/Compile.cpp b/tools/aapt2/cmd/Compile.cpp
index bec6c69..42dc74c 100644
--- a/tools/aapt2/cmd/Compile.cpp
+++ b/tools/aapt2/cmd/Compile.cpp
@@ -45,6 +45,7 @@
 #include "io/StringStream.h"
 #include "io/Util.h"
 #include "io/ZipArchive.h"
+#include "trace/TraceBuffer.h"
 #include "util/Files.h"
 #include "util/Maybe.h"
 #include "util/Util.h"
@@ -141,6 +142,7 @@
 static bool CompileTable(IAaptContext* context, const CompileOptions& options,
                          const ResourcePathData& path_data, io::IFile* file, IArchiveWriter* writer,
                          const std::string& output_path) {
+  TRACE_CALL();
   ResourceTable table;
   {
     auto fin = file->OpenInputStream();
@@ -286,6 +288,7 @@
 static bool WriteHeaderAndDataToWriter(const StringPiece& output_path, const ResourceFile& file,
                                        io::KnownSizeInputStream* in, IArchiveWriter* writer,
                                        IDiagnostics* diag) {
+  TRACE_CALL();
   // Start the entry so we can write the header.
   if (!writer->StartEntry(output_path, 0)) {
     diag->Error(DiagMessage(output_path) << "failed to open file");
@@ -352,6 +355,7 @@
 static bool CompileXml(IAaptContext* context, const CompileOptions& options,
                        const ResourcePathData& path_data, io::IFile* file, IArchiveWriter* writer,
                        const std::string& output_path) {
+  TRACE_CALL();
   if (context->IsVerbose()) {
     context->GetDiagnostics()->Note(DiagMessage(path_data.source) << "compiling XML");
   }
@@ -451,6 +455,7 @@
 static bool CompilePng(IAaptContext* context, const CompileOptions& options,
                        const ResourcePathData& path_data, io::IFile* file, IArchiveWriter* writer,
                        const std::string& output_path) {
+  TRACE_CALL();
   if (context->IsVerbose()) {
     context->GetDiagnostics()->Note(DiagMessage(path_data.source) << "compiling PNG");
   }
@@ -558,6 +563,7 @@
 static bool CompileFile(IAaptContext* context, const CompileOptions& options,
                         const ResourcePathData& path_data, io::IFile* file, IArchiveWriter* writer,
                         const std::string& output_path) {
+  TRACE_CALL();
   if (context->IsVerbose()) {
     context->GetDiagnostics()->Note(DiagMessage(path_data.source) << "compiling file");
   }
@@ -632,6 +638,7 @@
 
 int Compile(IAaptContext* context, io::IFileCollection* inputs, IArchiveWriter* output_writer,
              CompileOptions& options) {
+  TRACE_CALL();
   bool error = false;
 
   // Iterate over the input files in a stable, platform-independent manner
@@ -707,6 +714,7 @@
 }
 
 int CompileCommand::Action(const std::vector<std::string>& args) {
+  TRACE_FLUSH(trace_folder_? trace_folder_.value() : "", "CompileCommand::Action");
   CompileContext context(diagnostic_);
   context.SetVerbose(options_.verbose);
 
diff --git a/tools/aapt2/cmd/Compile.h b/tools/aapt2/cmd/Compile.h
index 9b32cb3..d3456b2 100644
--- a/tools/aapt2/cmd/Compile.h
+++ b/tools/aapt2/cmd/Compile.h
@@ -60,6 +60,8 @@
         "Sets the visibility of the compiled resources to the specified\n"
             "level. Accepted levels: public, private, default", &visibility_);
     AddOptionalSwitch("-v", "Enables verbose logging", &options_.verbose);
+    AddOptionalFlag("--trace-folder", "Generate systrace json trace fragment to specified folder.",
+                    &trace_folder_);
   }
 
   int Action(const std::vector<std::string>& args) override;
@@ -68,6 +70,7 @@
   IDiagnostics* diagnostic_;
   CompileOptions options_;
   Maybe<std::string> visibility_;
+  Maybe<std::string> trace_folder_;
 };
 
 int Compile(IAaptContext* context, io::IFileCollection* inputs, IArchiveWriter* output_writer,
diff --git a/tools/aapt2/cmd/Dump.h b/tools/aapt2/cmd/Dump.h
index 5cf056e..7ded9bc 100644
--- a/tools/aapt2/cmd/Dump.h
+++ b/tools/aapt2/cmd/Dump.h
@@ -32,6 +32,7 @@
  public:
   explicit DumpApkCommand(const std::string&& name, text::Printer* printer, IDiagnostics* diag)
       : Command(name), printer_(printer), diag_(diag) {
+        SetDescription("Dump information about an APK or APC.");
   }
 
   text::Printer* GetPrinter() {
diff --git a/tools/aapt2/cmd/Link.cpp b/tools/aapt2/cmd/Link.cpp
index a7b8d25..f354bb6 100644
--- a/tools/aapt2/cmd/Link.cpp
+++ b/tools/aapt2/cmd/Link.cpp
@@ -67,6 +67,7 @@
 #include "process/IResourceTableConsumer.h"
 #include "process/SymbolTable.h"
 #include "split/TableSplitter.h"
+#include "trace/TraceBuffer.h"
 #include "util/Files.h"
 #include "xml/XmlDom.h"
 
@@ -213,6 +214,7 @@
 static bool FlattenXml(IAaptContext* context, const xml::XmlResource& xml_res,
                        const StringPiece& path, bool keep_raw_values, bool utf16,
                        OutputFormat format, IArchiveWriter* writer) {
+  TRACE_CALL();
   if (context->IsVerbose()) {
     context->GetDiagnostics()->Note(DiagMessage(path) << "writing to archive (keep_raw_values="
                                                       << (keep_raw_values ? "true" : "false")
@@ -250,6 +252,7 @@
 
 // Inflates an XML file from the source path.
 static std::unique_ptr<xml::XmlResource> LoadXml(const std::string& path, IDiagnostics* diag) {
+  TRACE_CALL();
   FileInputStream fin(path);
   if (fin.HadError()) {
     diag->Error(DiagMessage(path) << "failed to load XML file: " << fin.GetError());
@@ -421,6 +424,7 @@
 
 std::vector<std::unique_ptr<xml::XmlResource>> ResourceFileFlattener::LinkAndVersionXmlFile(
     ResourceTable* table, FileOperation* file_op) {
+  TRACE_CALL();
   xml::XmlResource* doc = file_op->xml_to_flatten.get();
   const Source& src = doc->file.source;
 
@@ -489,6 +493,7 @@
 };
 
 bool ResourceFileFlattener::Flatten(ResourceTable* table, IArchiveWriter* archive_writer) {
+  TRACE_CALL();
   bool error = false;
   std::map<std::pair<ConfigDescription, StringPiece>, FileOperation> config_sorted_files;
 
@@ -806,6 +811,7 @@
   // Creates a SymbolTable that loads symbols from the various APKs.
   // Pre-condition: context_->GetCompilationPackage() needs to be set.
   bool LoadSymbolsFromIncludePaths() {
+    TRACE_NAME("LoadSymbolsFromIncludePaths: #" + std::to_string(options_.include_paths.size()));
     auto asset_source = util::make_unique<AssetManagerSymbolSource>();
     for (const std::string& path : options_.include_paths) {
       if (context_->IsVerbose()) {
@@ -891,6 +897,7 @@
   }
 
   Maybe<AppInfo> ExtractAppInfoFromManifest(xml::XmlResource* xml_res, IDiagnostics* diag) {
+    TRACE_CALL();
     // Make sure the first element is <manifest> with package attribute.
     xml::Element* manifest_el = xml::FindRootElement(xml_res->root.get());
     if (manifest_el == nullptr) {
@@ -1041,6 +1048,7 @@
   }
 
   bool FlattenTable(ResourceTable* table, OutputFormat format, IArchiveWriter* writer) {
+    TRACE_CALL();
     switch (format) {
       case OutputFormat::kApk: {
         BigBuffer buffer(1024);
@@ -1114,6 +1122,7 @@
   }
 
   bool GenerateJavaClasses() {
+    TRACE_CALL();
     // The set of packages whose R class to call in the main classes onResourcesLoaded callback.
     std::vector<std::string> packages_to_callback;
 
@@ -1197,6 +1206,7 @@
   }
 
   bool WriteManifestJavaFile(xml::XmlResource* manifest_xml) {
+    TRACE_CALL();
     if (!options_.generate_java_class_path) {
       return true;
     }
@@ -1254,6 +1264,7 @@
   }
 
   bool WriteProguardFile(const Maybe<std::string>& out, const proguard::KeepSet& keep_set) {
+    TRACE_CALL();
     if (!out) {
       return true;
     }
@@ -1278,6 +1289,7 @@
   }
 
   bool MergeStaticLibrary(const std::string& input, bool override) {
+    TRACE_CALL();
     if (context_->IsVerbose()) {
       context_->GetDiagnostics()->Note(DiagMessage() << "merging static library " << input);
     }
@@ -1328,6 +1340,7 @@
 
   bool MergeExportedSymbols(const Source& source,
                             const std::vector<SourcedResourceName>& exported_symbols) {
+    TRACE_CALL();
     // Add the exports of this file to the table.
     for (const SourcedResourceName& exported_symbol : exported_symbols) {
       ResourceName res_name = exported_symbol.name;
@@ -1353,6 +1366,7 @@
   }
 
   bool MergeCompiledFile(const ResourceFile& compiled_file, io::IFile* file, bool override) {
+    TRACE_CALL();
     if (context_->IsVerbose()) {
       context_->GetDiagnostics()->Note(DiagMessage()
                                        << "merging '" << compiled_file.name
@@ -1371,6 +1385,7 @@
   // An io::IFileCollection is created from the ZIP file and added to the set of
   // io::IFileCollections that are open.
   bool MergeArchive(const std::string& input, bool override) {
+    TRACE_CALL();
     if (context_->IsVerbose()) {
       context_->GetDiagnostics()->Note(DiagMessage() << "merging archive " << input);
     }
@@ -1418,6 +1433,7 @@
   // All other file types are ignored. This is because these files could be coming from a zip,
   // where we could have other files like classes.dex.
   bool MergeFile(io::IFile* file, bool override) {
+    TRACE_CALL();
     const Source& src = file->GetSource();
 
     if (util::EndsWith(src.path, ".xml") || util::EndsWith(src.path, ".png")) {
@@ -1458,6 +1474,7 @@
 
     while ((entry = reader.Next()) != nullptr) {
       if (entry->Type() == ContainerEntryType::kResTable) {
+        TRACE_NAME(std::string("Process ResTable:") + file->GetSource().path);
         pb::ResourceTable pb_table;
         if (!entry->GetResTable(&pb_table)) {
           context_->GetDiagnostics()->Error(DiagMessage(src) << "failed to read resource table: "
@@ -1478,6 +1495,7 @@
           return false;
         }
       } else if (entry->Type() == ContainerEntryType::kResFile) {
+        TRACE_NAME(std::string("Process ResFile") + file->GetSource().path);
         pb::internal::CompiledFile pb_compiled_file;
         off64_t offset;
         size_t len;
@@ -1551,6 +1569,7 @@
   // to the IArchiveWriter.
   bool WriteApk(IArchiveWriter* writer, proguard::KeepSet* keep_set, xml::XmlResource* manifest,
                 ResourceTable* table) {
+    TRACE_CALL();
     const bool keep_raw_values = (context_->GetPackageType() == PackageType::kStaticLib)
                                  || options_.keep_raw_values;
     bool result = FlattenXml(context_, *manifest, kAndroidManifestPath, keep_raw_values,
@@ -1632,6 +1651,7 @@
   }
 
   int Run(const std::vector<std::string>& input_files) {
+    TRACE_CALL();
     // Load the AndroidManifest.xml
     std::unique_ptr<xml::XmlResource> manifest_xml =
         LoadXml(options_.manifest_path, context_->GetDiagnostics());
@@ -1839,6 +1859,7 @@
       std::vector<ConfigDescription> excluded_configs;
 
       for (auto& config_string : options_.exclude_configs_) {
+        TRACE_NAME("ConfigDescription::Parse");
         ConfigDescription config_description;
 
         if (!ConfigDescription::Parse(config_string, &config_description)) {
@@ -2038,6 +2059,7 @@
 };
 
 int LinkCommand::Action(const std::vector<std::string>& args) {
+  TRACE_FLUSH(trace_folder_ ? trace_folder_.value() : "", "LinkCommand::Action");
   LinkContext context(diag_);
 
   // Expand all argument-files passed into the command line. These start with '@'.
diff --git a/tools/aapt2/cmd/Link.h b/tools/aapt2/cmd/Link.h
index 1fc149a..7c58385 100644
--- a/tools/aapt2/cmd/Link.h
+++ b/tools/aapt2/cmd/Link.h
@@ -25,6 +25,7 @@
 #include "split/TableSplitter.h"
 #include "format/binary/TableFlattener.h"
 #include "link/ManifestFixer.h"
+#include "trace/TraceBuffer.h"
 
 namespace aapt {
 
@@ -277,6 +278,8 @@
         "Do not allow overlays with different visibility levels.",
         &options_.strict_visibility);
     AddOptionalSwitch("-v", "Enables verbose logging.", &verbose_);
+    AddOptionalFlag("--trace-folder", "Generate systrace json trace fragment to specified folder.",
+                    &trace_folder_);
   }
 
   int Action(const std::vector<std::string>& args) override;
@@ -300,6 +303,7 @@
   bool proto_format_ = false;
   Maybe<std::string> stable_id_file_path_;
   std::vector<std::string> split_args_;
+  Maybe<std::string> trace_folder_;
 };
 
 }// namespace aapt
diff --git a/tools/aapt2/compile/Png.cpp b/tools/aapt2/compile/Png.cpp
index 33122dc..d396d81 100644
--- a/tools/aapt2/compile/Png.cpp
+++ b/tools/aapt2/compile/Png.cpp
@@ -27,6 +27,7 @@
 #include "androidfw/ResourceTypes.h"
 
 #include "Source.h"
+#include "trace/TraceBuffer.h"
 #include "util/BigBuffer.h"
 #include "util/Util.h"
 
@@ -1233,6 +1234,7 @@
 
 bool Png::process(const Source& source, std::istream* input,
                   BigBuffer* outBuffer, const PngOptions& options) {
+  TRACE_CALL();
   png_byte signature[kPngSignatureSize];
 
   // Read the PNG signature first.
diff --git a/tools/aapt2/compile/PngCrunch.cpp b/tools/aapt2/compile/PngCrunch.cpp
index 0346a19..1f4ea44d 100644
--- a/tools/aapt2/compile/PngCrunch.cpp
+++ b/tools/aapt2/compile/PngCrunch.cpp
@@ -27,6 +27,8 @@
 #include "android-base/logging.h"
 #include "android-base/macros.h"
 
+#include "trace/TraceBuffer.h"
+
 namespace aapt {
 
 // Custom deleter that destroys libpng read and info structs.
@@ -142,6 +144,7 @@
 }
 
 std::unique_ptr<Image> ReadPng(IAaptContext* context, const Source& source, io::InputStream* in) {
+  TRACE_CALL();
   // Create a diagnostics that has the source information encoded.
   SourcePathDiagnostics source_diag(source, context->GetDiagnostics());
 
@@ -480,6 +483,7 @@
 bool WritePng(IAaptContext* context, const Image* image,
               const NinePatch* nine_patch, io::OutputStream* out,
               const PngOptions& options) {
+  TRACE_CALL();
   // Create and initialize the write png_struct with the default error and
   // warning handlers.
   // The header version is also passed in to ensure that this was built against the same
diff --git a/tools/aapt2/compile/XmlIdCollector.cpp b/tools/aapt2/compile/XmlIdCollector.cpp
index 2199d00..5054115 100644
--- a/tools/aapt2/compile/XmlIdCollector.cpp
+++ b/tools/aapt2/compile/XmlIdCollector.cpp
@@ -22,6 +22,7 @@
 #include "ResourceUtils.h"
 #include "ResourceValues.h"
 #include "text/Unicode.h"
+#include "trace/TraceBuffer.h"
 #include "xml/XmlDom.h"
 
 namespace aapt {
@@ -72,6 +73,7 @@
 }  // namespace
 
 bool XmlIdCollector::Consume(IAaptContext* context, xml::XmlResource* xmlRes) {
+  TRACE_CALL();
   xmlRes->file.exported_symbols.clear();
   SourcePathDiagnostics source_diag(xmlRes->file.source, context->GetDiagnostics());
   IdCollector collector(&xmlRes->file.exported_symbols, &source_diag);
diff --git a/tools/aapt2/format/Container.cpp b/tools/aapt2/format/Container.cpp
index d4b4571..f189048 100644
--- a/tools/aapt2/format/Container.cpp
+++ b/tools/aapt2/format/Container.cpp
@@ -19,6 +19,8 @@
 #include "android-base/scopeguard.h"
 #include "android-base/stringprintf.h"
 
+#include "trace/TraceBuffer.h"
+
 using ::android::base::StringPrintf;
 using ::google::protobuf::io::CodedInputStream;
 using ::google::protobuf::io::CodedOutputStream;
@@ -171,6 +173,7 @@
 }
 
 bool ContainerReaderEntry::GetResTable(pb::ResourceTable* out_table) {
+  TRACE_CALL();
   CHECK(type_ == ContainerEntryType::kResTable) << "reading a kResTable when the type is kResFile";
   if (length_ > std::numeric_limits<int>::max()) {
     reader_->error_ = StringPrintf("entry length %zu is too large", length_);
@@ -261,6 +264,7 @@
       total_entry_count_(0u),
       current_entry_count_(0u),
       entry_(this) {
+  TRACE_CALL();
   ::google::protobuf::uint32 magic;
   if (!coded_in_.ReadLittleEndian32(&magic)) {
     std::ostringstream error;
diff --git a/tools/aapt2/format/binary/TableFlattener.cpp b/tools/aapt2/format/binary/TableFlattener.cpp
index d677317..aa578a2 100644
--- a/tools/aapt2/format/binary/TableFlattener.cpp
+++ b/tools/aapt2/format/binary/TableFlattener.cpp
@@ -32,6 +32,7 @@
 #include "ValueVisitor.h"
 #include "format/binary/ChunkWriter.h"
 #include "format/binary/ResourceTypeExtensions.h"
+#include "trace/TraceBuffer.h"
 #include "util/BigBuffer.h"
 
 using namespace android;
@@ -238,6 +239,7 @@
   }
 
   bool FlattenPackage(BigBuffer* buffer) {
+    TRACE_CALL();
     ChunkWriter pkg_writer(buffer);
     ResTable_package* pkg_header = pkg_writer.StartChunk<ResTable_package>(RES_TABLE_PACKAGE_TYPE);
     pkg_header->id = util::HostToDevice32(package_->id.value());
@@ -710,6 +712,7 @@
 }  // namespace
 
 bool TableFlattener::Consume(IAaptContext* context, ResourceTable* table) {
+  TRACE_CALL();
   // We must do this before writing the resources, since the string pool IDs may change.
   table->string_pool.Prune();
   table->string_pool.Sort([](const StringPool::Context& a, const StringPool::Context& b) -> int {
diff --git a/tools/aapt2/format/binary/XmlFlattener.cpp b/tools/aapt2/format/binary/XmlFlattener.cpp
index 2fe2424..afbaae4 100644
--- a/tools/aapt2/format/binary/XmlFlattener.cpp
+++ b/tools/aapt2/format/binary/XmlFlattener.cpp
@@ -99,9 +99,6 @@
     flat_node->lineNumber = util::HostToDevice32(node->line_number);
     flat_node->comment.index = util::HostToDevice32(-1);
 
-    // Process plain strings to make sure they get properly escaped.
-    text = StringBuilder(true /*preserve_spaces*/).AppendText(text).to_string();
-
     ResXMLTree_cdataExt* flat_text = writer.NextBlock<ResXMLTree_cdataExt>();
     AddString(text, kLowPriority, &flat_text->data);
     writer.Finish();
diff --git a/tools/aapt2/format/binary/XmlFlattener_test.cpp b/tools/aapt2/format/binary/XmlFlattener_test.cpp
index 25786b1..1dac493 100644
--- a/tools/aapt2/format/binary/XmlFlattener_test.cpp
+++ b/tools/aapt2/format/binary/XmlFlattener_test.cpp
@@ -118,7 +118,7 @@
   ASSERT_THAT(tree.getAttributeCount(), Eq(0u));
 
   ASSERT_THAT(tree.next(), Eq(android::ResXMLTree::TEXT));
-  EXPECT_THAT(tree.getText(&len), StrEq(u"Some text\\"));
+  EXPECT_THAT(tree.getText(&len), StrEq(u"Some text\\\\"));
 
   ASSERT_THAT(tree.next(), Eq(android::ResXMLTree::END_TAG));
   EXPECT_THAT(tree.getElementNamespace(&len), IsNull());
@@ -283,7 +283,7 @@
   EXPECT_THAT(tree.getAttributeStringValue(idx, &len), StrEq(u"\""));
 
   ASSERT_THAT(tree.next(), Eq(android::ResXMLTree::TEXT));
-  EXPECT_THAT(tree.getText(&len), StrEq(u"\\d{5}"));
+  EXPECT_THAT(tree.getText(&len), StrEq(u"\\\\d{5}"));
 }
 
 TEST_F(XmlFlattenerTest, ProcessQuotes) {
@@ -360,6 +360,7 @@
    J
 
 </item>
+          <item>\t K \n </item>
           <item>
           </item>
       </root>)");
@@ -439,6 +440,12 @@
 
   ASSERT_THAT(tree.next(), Eq(android::ResXMLTree::START_TAG));
   EXPECT_THAT(tree.getElementName(&len), StrEq(u"item"));
+  ASSERT_THAT(tree.next(), Eq(android::ResXMLTree::TEXT));
+  EXPECT_THAT(tree.getText(&len), StrEq(u"\\t K \\n "));
+  ASSERT_THAT(tree.next(), Eq(android::ResXMLTree::END_TAG));
+
+  ASSERT_THAT(tree.next(), Eq(android::ResXMLTree::START_TAG));
+  EXPECT_THAT(tree.getElementName(&len), StrEq(u"item"));
   ASSERT_THAT(tree.next(), Eq(android::ResXMLTree::END_TAG));
   ASSERT_THAT(tree.next(), Eq(android::ResXMLTree::END_TAG));
 
diff --git a/tools/aapt2/io/Util.cpp b/tools/aapt2/io/Util.cpp
index 9751632..ce6d9352 100644
--- a/tools/aapt2/io/Util.cpp
+++ b/tools/aapt2/io/Util.cpp
@@ -18,6 +18,8 @@
 
 #include "google/protobuf/io/zero_copy_stream_impl_lite.h"
 
+#include "trace/TraceBuffer.h"
+
 using ::android::StringPiece;
 using ::google::protobuf::io::ZeroCopyOutputStream;
 
@@ -26,6 +28,7 @@
 
 bool CopyInputStreamToArchive(IAaptContext* context, InputStream* in, const std::string& out_path,
                               uint32_t compression_flags, IArchiveWriter* writer) {
+  TRACE_CALL();
   if (context->IsVerbose()) {
     context->GetDiagnostics()->Note(DiagMessage() << "writing " << out_path << " to archive");
   }
@@ -40,6 +43,7 @@
 
 bool CopyFileToArchive(IAaptContext* context, io::IFile* file, const std::string& out_path,
                        uint32_t compression_flags, IArchiveWriter* writer) {
+  TRACE_CALL();
   std::unique_ptr<io::IData> data = file->OpenAsData();
   if (!data) {
     context->GetDiagnostics()->Error(DiagMessage(file->GetSource()) << "failed to open file");
@@ -57,6 +61,7 @@
 bool CopyProtoToArchive(IAaptContext* context, ::google::protobuf::MessageLite* proto_msg,
                         const std::string& out_path, uint32_t compression_flags,
                         IArchiveWriter* writer) {
+  TRACE_CALL();
   if (context->IsVerbose()) {
     context->GetDiagnostics()->Note(DiagMessage() << "writing " << out_path << " to archive");
   }
@@ -83,6 +88,7 @@
 }
 
 bool Copy(OutputStream* out, InputStream* in) {
+  TRACE_CALL();
   const void* in_buffer;
   size_t in_len;
   while (in->Next(&in_buffer, &in_len)) {
diff --git a/tools/aapt2/io/ZipArchive.cpp b/tools/aapt2/io/ZipArchive.cpp
index 427dc92..f6aaa12 100644
--- a/tools/aapt2/io/ZipArchive.cpp
+++ b/tools/aapt2/io/ZipArchive.cpp
@@ -20,6 +20,7 @@
 #include "ziparchive/zip_archive.h"
 
 #include "Source.h"
+#include "trace/TraceBuffer.h"
 #include "util/Files.h"
 #include "util/Util.h"
 
@@ -93,6 +94,7 @@
 
 std::unique_ptr<ZipFileCollection> ZipFileCollection::Create(
     const StringPiece& path, std::string* out_error) {
+  TRACE_CALL();
   constexpr static const int32_t kEmptyArchive = -6;
 
   std::unique_ptr<ZipFileCollection> collection =
diff --git a/tools/aapt2/java/ProguardRules.cpp b/tools/aapt2/java/ProguardRules.cpp
index 52e168e..05ba8f0 100644
--- a/tools/aapt2/java/ProguardRules.cpp
+++ b/tools/aapt2/java/ProguardRules.cpp
@@ -281,6 +281,15 @@
             AddClass(node->line_number, result.value(), "");
           }
         }
+
+        attr = node->FindAttribute(xml::kSchemaAndroid, "zygotePreloadName");
+        if (attr) {
+          Maybe<std::string> result = util::GetFullyQualifiedClassName(package_, attr->value);
+          if (result) {
+            AddClass(node->line_number, result.value(), "");
+          }
+        }
+
         if (main_dex_only_) {
           xml::Attribute* default_process = node->FindAttribute(xml::kSchemaAndroid, "process");
           if (default_process) {
diff --git a/tools/aapt2/java/ProguardRules_test.cpp b/tools/aapt2/java/ProguardRules_test.cpp
index da24907..559b07a 100644
--- a/tools/aapt2/java/ProguardRules_test.cpp
+++ b/tools/aapt2/java/ProguardRules_test.cpp
@@ -42,6 +42,7 @@
             android:appComponentFactory="com.foo.BarAppComponentFactory"
             android:backupAgent="com.foo.BarBackupAgent"
             android:name="com.foo.BarApplication"
+            android:zygotePreloadName="com.foo.BarZygotePreload"
             >
           <activity android:name="com.foo.BarActivity"/>
           <service android:name="com.foo.BarService"/>
@@ -63,6 +64,7 @@
   EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BarReceiver { <init>(); }"));
   EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BarProvider { <init>(); }"));
   EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BarInstrumentation { <init>(); }"));
+  EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BarZygotePreload { <init>(); }"));
 
   actual = GetKeepSetString(set, /** minimal_rules */ true);
   EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BarAppComponentFactory { <init>(); }"));
@@ -73,6 +75,7 @@
   EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BarReceiver { <init>(); }"));
   EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BarProvider { <init>(); }"));
   EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BarInstrumentation { <init>(); }"));
+  EXPECT_THAT(actual, HasSubstr("-keep class com.foo.BarZygotePreload { <init>(); }"));
 }
 
 TEST(ProguardRulesTest, FragmentNameRuleIsEmitted) {
diff --git a/tools/aapt2/link/AutoVersioner.cpp b/tools/aapt2/link/AutoVersioner.cpp
index 960c7d4..73b9254 100644
--- a/tools/aapt2/link/AutoVersioner.cpp
+++ b/tools/aapt2/link/AutoVersioner.cpp
@@ -23,6 +23,7 @@
 #include "ResourceTable.h"
 #include "SdkConstants.h"
 #include "ValueVisitor.h"
+#include "trace/TraceBuffer.h"
 
 using android::ConfigDescription;
 
@@ -70,6 +71,7 @@
 }
 
 bool AutoVersioner::Consume(IAaptContext* context, ResourceTable* table) {
+  TRACE_NAME("AutoVersioner::Consume");
   for (auto& package : table->packages) {
     for (auto& type : package->types) {
       if (type->type != ResourceType::kStyle) {
diff --git a/tools/aapt2/link/ManifestFixer.cpp b/tools/aapt2/link/ManifestFixer.cpp
index 582a5b8..b0a2055 100644
--- a/tools/aapt2/link/ManifestFixer.cpp
+++ b/tools/aapt2/link/ManifestFixer.cpp
@@ -21,6 +21,7 @@
 #include "android-base/logging.h"
 
 #include "ResourceUtils.h"
+#include "trace/TraceBuffer.h"
 #include "util/Util.h"
 #include "xml/XmlActionExecutor.h"
 #include "xml/XmlDom.h"
@@ -451,6 +452,7 @@
 }
 
 bool ManifestFixer::Consume(IAaptContext* context, xml::XmlResource* doc) {
+  TRACE_CALL();
   xml::Element* root = xml::FindRootElement(doc->root.get());
   if (!root || !root->namespace_uri.empty() || root->name != "manifest") {
     context->GetDiagnostics()->Error(DiagMessage(doc->file.source)
diff --git a/tools/aapt2/link/ProductFilter.cpp b/tools/aapt2/link/ProductFilter.cpp
index c1a95ee..793740a 100644
--- a/tools/aapt2/link/ProductFilter.cpp
+++ b/tools/aapt2/link/ProductFilter.cpp
@@ -17,6 +17,7 @@
 #include "link/Linkers.h"
 
 #include "ResourceTable.h"
+#include "trace/TraceBuffer.h"
 
 namespace aapt {
 
@@ -81,6 +82,7 @@
 }
 
 bool ProductFilter::Consume(IAaptContext* context, ResourceTable* table) {
+  TRACE_NAME("ProductFilter::Consume");
   bool error = false;
   for (auto& pkg : table->packages) {
     for (auto& type : pkg->types) {
diff --git a/tools/aapt2/link/ReferenceLinker.cpp b/tools/aapt2/link/ReferenceLinker.cpp
index c2340ba..28f09aa 100644
--- a/tools/aapt2/link/ReferenceLinker.cpp
+++ b/tools/aapt2/link/ReferenceLinker.cpp
@@ -27,6 +27,7 @@
 #include "link/Linkers.h"
 #include "process/IResourceTableConsumer.h"
 #include "process/SymbolTable.h"
+#include "trace/TraceBuffer.h"
 #include "util/Util.h"
 #include "xml/XmlUtil.h"
 
@@ -353,6 +354,7 @@
 }
 
 bool ReferenceLinker::Consume(IAaptContext* context, ResourceTable* table) {
+  TRACE_NAME("ReferenceLinker::Consume");
   EmptyDeclStack decl_stack;
   bool error = false;
   for (auto& package : table->packages) {
diff --git a/tools/aapt2/link/ResourceExcluder.cpp b/tools/aapt2/link/ResourceExcluder.cpp
index 2555995..b3b9dc4 100644
--- a/tools/aapt2/link/ResourceExcluder.cpp
+++ b/tools/aapt2/link/ResourceExcluder.cpp
@@ -20,6 +20,7 @@
 
 #include "DominatorTree.h"
 #include "ResourceTable.h"
+#include "trace/TraceBuffer.h"
 
 using android::ConfigDescription;
 
@@ -65,6 +66,7 @@
 }  // namespace
 
 bool ResourceExcluder::Consume(IAaptContext* context, ResourceTable* table) {
+  TRACE_NAME("ResourceExcluder::Consume");
   for (auto& package : table->packages) {
     for (auto& type : package->types) {
       for (auto& entry : type->entries) {
diff --git a/tools/aapt2/link/TableMerger.cpp b/tools/aapt2/link/TableMerger.cpp
index cc9fed5..e937517 100644
--- a/tools/aapt2/link/TableMerger.cpp
+++ b/tools/aapt2/link/TableMerger.cpp
@@ -21,6 +21,7 @@
 #include "ResourceTable.h"
 #include "ResourceUtils.h"
 #include "ResourceValues.h"
+#include "trace/TraceBuffer.h"
 #include "ValueVisitor.h"
 #include "util/Util.h"
 
@@ -38,6 +39,7 @@
 }
 
 bool TableMerger::Merge(const Source& src, ResourceTable* table, bool overlay) {
+  TRACE_CALL();
   // We allow adding new resources if this is not an overlay, or if the options allow overlays
   // to add new resources.
   return MergeImpl(src, table, overlay, options_.auto_add_overlay || !overlay /*allow_new*/);
diff --git a/tools/aapt2/link/XmlReferenceLinker.cpp b/tools/aapt2/link/XmlReferenceLinker.cpp
index 160ff92..d68f7dd 100644
--- a/tools/aapt2/link/XmlReferenceLinker.cpp
+++ b/tools/aapt2/link/XmlReferenceLinker.cpp
@@ -25,6 +25,7 @@
 #include "link/ReferenceLinker.h"
 #include "process/IResourceTableConsumer.h"
 #include "process/SymbolTable.h"
+#include "trace/TraceBuffer.h"
 #include "util/Util.h"
 #include "xml/XmlDom.h"
 
@@ -151,6 +152,7 @@
 }  // namespace
 
 bool XmlReferenceLinker::Consume(IAaptContext* context, xml::XmlResource* resource) {
+  TRACE_NAME("XmlReferenceLinker::Consume");
   CallSite callsite{resource->file.name.package};
 
   std::string out_name = resource->file.name.entry;
diff --git a/tools/aapt2/optimize/ResourceDeduper.cpp b/tools/aapt2/optimize/ResourceDeduper.cpp
index ee2dfbc..78ebcb9 100644
--- a/tools/aapt2/optimize/ResourceDeduper.cpp
+++ b/tools/aapt2/optimize/ResourceDeduper.cpp
@@ -20,6 +20,7 @@
 
 #include "DominatorTree.h"
 #include "ResourceTable.h"
+#include "trace/TraceBuffer.h"
 
 using android::ConfigDescription;
 
@@ -110,6 +111,7 @@
 }  // namespace
 
 bool ResourceDeduper::Consume(IAaptContext* context, ResourceTable* table) {
+  TRACE_CALL();
   for (auto& package : table->packages) {
     for (auto& type : package->types) {
       for (auto& entry : type->entries) {
diff --git a/tools/aapt2/optimize/VersionCollapser.cpp b/tools/aapt2/optimize/VersionCollapser.cpp
index f985604..cd791bd 100644
--- a/tools/aapt2/optimize/VersionCollapser.cpp
+++ b/tools/aapt2/optimize/VersionCollapser.cpp
@@ -20,6 +20,7 @@
 #include <vector>
 
 #include "ResourceTable.h"
+#include "trace/TraceBuffer.h"
 
 using android::ConfigDescription;
 
@@ -144,6 +145,7 @@
 }
 
 bool VersionCollapser::Consume(IAaptContext* context, ResourceTable* table) {
+  TRACE_NAME("VersionCollapser::Consume");
   const int min_sdk = context->GetMinSdkVersion();
   for (auto& package : table->packages) {
     for (auto& type : package->types) {
diff --git a/tools/aapt2/process/SymbolTable.cpp b/tools/aapt2/process/SymbolTable.cpp
index 78e0074..61a8fbb 100644
--- a/tools/aapt2/process/SymbolTable.cpp
+++ b/tools/aapt2/process/SymbolTable.cpp
@@ -30,6 +30,7 @@
 #include "Resource.h"
 #include "ResourceUtils.h"
 #include "ValueVisitor.h"
+#include "trace/TraceBuffer.h"
 #include "util/Util.h"
 
 using ::android::ApkAssets;
@@ -217,6 +218,7 @@
 }
 
 bool AssetManagerSymbolSource::AddAssetPath(const StringPiece& path) {
+  TRACE_CALL();
   if (std::unique_ptr<const ApkAssets> apk = ApkAssets::Load(path.data())) {
     apk_assets_.push_back(std::move(apk));
 
@@ -233,6 +235,7 @@
 }
 
 std::map<size_t, std::string> AssetManagerSymbolSource::GetAssignedPackageIds() const {
+  TRACE_CALL();
   std::map<size_t, std::string> package_map;
   asset_manager_.ForEachPackage([&package_map](const std::string& name, uint8_t id) -> bool {
     package_map.insert(std::make_pair(id, name));
diff --git a/tools/aapt2/split/TableSplitter.cpp b/tools/aapt2/split/TableSplitter.cpp
index 24cd5ba..6a67271 100644
--- a/tools/aapt2/split/TableSplitter.cpp
+++ b/tools/aapt2/split/TableSplitter.cpp
@@ -27,6 +27,7 @@
 #include "androidfw/ConfigDescription.h"
 
 #include "ResourceTable.h"
+#include "trace/TraceBuffer.h"
 #include "util/Util.h"
 
 using ::android::ConfigDescription;
@@ -154,6 +155,7 @@
   }
 }
 bool TableSplitter::VerifySplitConstraints(IAaptContext* context) {
+  TRACE_CALL();
   bool error = false;
   for (size_t i = 0; i < split_constraints_.size(); i++) {
     if (split_constraints_[i].configs.size() == 0) {
diff --git a/tools/aapt2/trace/TraceBuffer.cpp b/tools/aapt2/trace/TraceBuffer.cpp
new file mode 100644
index 0000000..b4b31d9
--- /dev/null
+++ b/tools/aapt2/trace/TraceBuffer.cpp
@@ -0,0 +1,151 @@
+/*
+ * 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.
+ */
+
+#include "TraceBuffer.h"
+
+#include <chrono>
+#include <sstream>
+#include <unistd.h>
+#include <vector>
+
+#include <inttypes.h>
+
+#include "android-base/utf8.h"
+
+#include "util/Files.h"
+
+namespace aapt {
+namespace tracebuffer {
+
+namespace {
+
+constexpr char kBegin = 'B';
+constexpr char kEnd = 'E';
+
+struct TracePoint {
+  pid_t tid;
+  int64_t time;
+  std::string tag;
+  char type;
+};
+
+std::vector<TracePoint> traces;
+
+int64_t GetTime() noexcept {
+  auto now = std::chrono::steady_clock::now();
+  return std::chrono::duration_cast<std::chrono::microseconds>(now.time_since_epoch()).count();
+}
+
+} // namespace anonymous
+
+void AddWithTime(const std::string& tag, char type, int64_t time) noexcept {
+  TracePoint t = {getpid(), time, tag, type};
+  traces.emplace_back(t);
+}
+
+void Add(const std::string& tag, char type) noexcept {
+  AddWithTime(tag, type, GetTime());
+}
+
+
+
+
+void Flush(const std::string& basePath) {
+  TRACE_CALL();
+  if (basePath.empty()) {
+    return;
+  }
+
+  std::stringstream s;
+  s << basePath << aapt::file::sDirSep << "report_aapt2_" << getpid() << ".json";
+  FILE* f = android::base::utf8::fopen(s.str().c_str(), "a");
+  if (f == nullptr) {
+    return;
+  }
+
+  for(const TracePoint& trace : traces) {
+    fprintf(f, "{\"ts\" : \"%" PRIu64 "\", \"ph\" : \"%c\", \"tid\" : \"%d\" , \"pid\" : \"%d\", "
+            "\"name\" : \"%s\" },\n", trace.time, trace.type, 0, trace.tid, trace.tag.c_str());
+  }
+  fclose(f);
+  traces.clear();
+}
+
+} // namespace tracebuffer
+
+void BeginTrace(const std::string& tag) {
+  tracebuffer::Add(tag, tracebuffer::kBegin);
+}
+
+void EndTrace() {
+  tracebuffer::Add("", tracebuffer::kEnd);
+}
+
+Trace::Trace(const std::string& tag) {
+  tracebuffer::Add(tag, tracebuffer::kBegin);
+}
+
+Trace::Trace(const std::string& tag, const std::vector<android::StringPiece>& args) {
+  std::stringstream s;
+  s << tag;
+  s << " ";
+  for (auto& arg : args) {
+    s << arg.to_string();
+    s << " ";
+  }
+  tracebuffer::Add(s.str(), tracebuffer::kBegin);
+}
+
+Trace::~Trace() {
+  tracebuffer::Add("", tracebuffer::kEnd);
+}
+
+FlushTrace::FlushTrace(const std::string& basepath, const std::string& tag)
+    : basepath_(basepath)  {
+  tracebuffer::Add(tag, tracebuffer::kBegin);
+}
+
+FlushTrace::FlushTrace(const std::string& basepath, const std::string& tag,
+    const std::vector<android::StringPiece>& args) : basepath_(basepath) {
+  std::stringstream s;
+  s << tag;
+  s << " ";
+  for (auto& arg : args) {
+    s << arg.to_string();
+    s << " ";
+  }
+  tracebuffer::Add(s.str(), tracebuffer::kBegin);
+}
+
+FlushTrace::FlushTrace(const std::string& basepath, const std::string& tag,
+    const std::vector<std::string>& args) : basepath_(basepath){
+  std::stringstream s;
+  s << tag;
+  s << " ";
+  for (auto& arg : args) {
+    s << arg;
+    s << " ";
+  }
+  tracebuffer::Add(s.str(), tracebuffer::kBegin);
+}
+
+FlushTrace::~FlushTrace() {
+  tracebuffer::Add("", tracebuffer::kEnd);
+  tracebuffer::Flush(basepath_);
+}
+
+} // namespace aapt
+
diff --git a/tools/aapt2/trace/TraceBuffer.h b/tools/aapt2/trace/TraceBuffer.h
new file mode 100644
index 0000000..8618e0e
--- /dev/null
+++ b/tools/aapt2/trace/TraceBuffer.h
@@ -0,0 +1,64 @@
+/*
+ * 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.
+ */
+
+#ifndef AAPT_TRACEBUFFER_H
+#define AAPT_TRACEBUFFER_H
+
+#include <string>
+#include <vector>
+
+#include <androidfw/StringPiece.h>
+
+namespace aapt {
+
+// Record timestamps for beginning and end of a task and generate systrace json fragments.
+// This is an in-process ftrace which has the advantage of being platform independent.
+// These methods are NOT thread-safe since aapt2 is not multi-threaded.
+
+// Convenience RIAA object to automatically finish an event when object goes out of scope.
+class Trace {
+public:
+  Trace(const std::string& tag);
+  Trace(const std::string& tag, const std::vector<android::StringPiece>& args);
+  ~Trace();
+};
+
+// Manual markers.
+void BeginTrace(const std::string& tag);
+void EndTrace();
+
+// A master trace is required to flush events to disk. Events are formatted in systrace
+// json format.
+class FlushTrace {
+public:
+  explicit FlushTrace(const std::string& basepath, const std::string& tag);
+  explicit FlushTrace(const std::string& basepath, const std::string& tag,
+      const std::vector<android::StringPiece>& args);
+  explicit FlushTrace(const std::string& basepath, const std::string& tag,
+      const std::vector<std::string>& args);
+  ~FlushTrace();
+private:
+  std::string basepath_;
+};
+
+#define TRACE_CALL() Trace __t(__func__)
+#define TRACE_NAME(tag) Trace __t(tag)
+#define TRACE_NAME_ARGS(tag, args) Trace __t(tag, args)
+
+#define TRACE_FLUSH(basename, tag) FlushTrace __t(basename, tag)
+#define TRACE_FLUSH_ARGS(basename, tag, args) FlushTrace __t(basename, tag, args)
+} // namespace aapt
+#endif //AAPT_TRACEBUFFER_H
diff --git a/tools/aapt2/xml/XmlDom.cpp b/tools/aapt2/xml/XmlDom.cpp
index acd07c2..9a725fa 100644
--- a/tools/aapt2/xml/XmlDom.cpp
+++ b/tools/aapt2/xml/XmlDom.cpp
@@ -26,6 +26,7 @@
 #include "android-base/logging.h"
 
 #include "ResourceUtils.h"
+#include "trace/TraceBuffer.h"
 #include "XmlPullParser.h"
 #include "util/Util.h"
 
@@ -264,6 +265,7 @@
 }
 
 std::unique_ptr<XmlResource> Inflate(const void* data, size_t len, std::string* out_error) {
+  TRACE_CALL();
   // We import the android namespace because on Windows NO_ERROR is a macro, not
   // an enum, which causes errors when qualifying it with android::
   using namespace android;
diff --git a/tools/apilint/apilint.py b/tools/apilint/apilint.py
index 295e3de..f967c2f 100644
--- a/tools/apilint/apilint.py
+++ b/tools/apilint/apilint.py
@@ -170,6 +170,7 @@
         self.ctors = []
         self.fields = []
         self.methods = []
+        self.annotations = []
 
         if sig_format == 2:
             V2LineParser(raw).parse_into_class(self)
@@ -196,8 +197,10 @@
 
             if "implements" in raw:
                 self.implements = raw[raw.index("implements")+1]
+                self.implements_all = [self.implements]
             else:
                 self.implements = None
+                self.implements_all = []
         else:
             raise ValueError("Unknown signature format: " + sig_format)
 
@@ -224,7 +227,7 @@
 
 
 class Package():
-    NAME = re.compile("package(?: .*)? ([A-Za-z.]+)")
+    NAME = re.compile("package(?: .*)? ([A-Za-z0-9.]+)")
 
     def __init__(self, line, raw, blame):
         self.line = line
@@ -351,8 +354,8 @@
 
     def parse_into_class(self, clazz):
         clazz.split = []
-        annotations = self.parse_annotations()
-        if "@Deprecated" in annotations:
+        clazz.annotations = self.parse_annotations()
+        if "@Deprecated" in clazz.annotations:
             clazz.split.append("deprecated")
         clazz.split.extend(self.parse_modifiers())
         kind = self.parse_one_of("class", "interface", "@interface", "enum")
@@ -364,12 +367,12 @@
         self.parse_matching_paren("<", ">")
         extends = self.parse_extends()
         clazz.extends = extends[0] if extends else None
-        implements = self.parse_implements()
-        clazz.implements = implements[0] if implements else None
+        clazz.implements_all = self.parse_implements()
         # The checks assume that interfaces are always found in implements, which isn't true for
         # subinterfaces.
-        if not implements and "interface" in clazz.split:
-            clazz.implements = clazz.extends
+        if not clazz.implements_all and "interface" in clazz.split:
+            clazz.implements_all = [clazz.extends]
+        clazz.implements = clazz.implements_all[0] if clazz.implements_all else None
         self.parse_token("{")
         self.parse_eof()
 
@@ -761,6 +764,14 @@
     noticed[clazz.fullname] = hash(clazz)
 
 
+verifiers = {}
+
+def verifier(f):
+    verifiers[f.__name__] = f
+    return f
+
+
+@verifier
 def verify_constants(clazz):
     """All static final constants must be FOO_NAME style."""
     if re.match("android\.R\.[a-z]+", clazz.fullname): return
@@ -778,13 +789,13 @@
             if f.typ in req and f.value is None:
                 error(clazz, f, None, "All constants must be defined at compile time")
 
-
+@verifier
 def verify_enums(clazz):
     """Enums are bad, mmkay?"""
     if clazz.extends == "java.lang.Enum" or "enum" in clazz.split:
         error(clazz, None, "F5", "Enums are not allowed")
 
-
+@verifier
 def verify_class_names(clazz):
     """Try catching malformed class names like myMtp or MTPUser."""
     if clazz.fullname.startswith("android.opengl"): return
@@ -799,6 +810,7 @@
         error(clazz, None, None, "Don't expose your implementation details")
 
 
+@verifier
 def verify_method_names(clazz):
     """Try catching malformed method names, like Foo() or getMTU()."""
     if clazz.fullname.startswith("android.opengl"): return
@@ -812,9 +824,9 @@
             error(clazz, m, "S1", "Method name must start with lowercase char")
 
 
+@verifier
 def verify_callbacks(clazz):
     """Verify Callback classes.
-    All callback classes must be abstract.
     All methods must follow onFoo() naming style."""
     if clazz.fullname == "android.speech.tts.SynthesisCallback": return
 
@@ -824,14 +836,12 @@
         warn(clazz, None, "L1", "Class should be named FooCallback")
 
     if clazz.name.endswith("Callback"):
-        if "interface" in clazz.split:
-            error(clazz, None, "CL3", "Callbacks must be abstract class to enable extension in future API levels")
-
         for m in clazz.methods:
             if not re.match("on[A-Z][a-z]*", m.name):
                 error(clazz, m, "L1", "Callback method names must be onFoo() style")
 
 
+@verifier
 def verify_listeners(clazz):
     """Verify Listener classes.
     All Listener classes must be interface.
@@ -853,6 +863,7 @@
                 error(clazz, m, "L1", "Single listener method name must match class name")
 
 
+@verifier
 def verify_actions(clazz):
     """Verify intent actions.
     All action names must be named ACTION_FOO.
@@ -884,6 +895,7 @@
                         error(clazz, f, "C4", "Inconsistent action value; expected '%s'" % (expected))
 
 
+@verifier
 def verify_extras(clazz):
     """Verify intent extras.
     All extra names must be named EXTRA_FOO.
@@ -914,6 +926,7 @@
                         error(clazz, f, "C4", "Inconsistent extra value; expected '%s'" % (expected))
 
 
+@verifier
 def verify_equals(clazz):
     """Verify that equals() and hashCode() must be overridden together."""
     eq = False
@@ -926,6 +939,7 @@
         error(clazz, None, "M8", "Must override both equals and hashCode; missing one")
 
 
+@verifier
 def verify_parcelable(clazz):
     """Verify that Parcelable objects aren't hiding required bits."""
     if clazz.implements == "android.os.Parcelable":
@@ -944,6 +958,7 @@
                 error(clazz, c, "FW3", "Parcelable inflation is exposed through CREATOR, not raw constructors")
 
 
+@verifier
 def verify_protected(clazz):
     """Verify that no protected methods or fields are allowed."""
     for m in clazz.methods:
@@ -955,6 +970,7 @@
             error(clazz, f, "M7", "Protected fields not allowed; must be public")
 
 
+@verifier
 def verify_fields(clazz):
     """Verify that all exposed fields are final.
     Exposed fields must follow myName style.
@@ -1000,6 +1016,7 @@
                 error(clazz, f, "C2", "Constants must be marked static final")
 
 
+@verifier
 def verify_register(clazz):
     """Verify parity of registration methods.
     Callback objects use register/unregister methods.
@@ -1033,6 +1050,7 @@
                 error(clazz, m, "L3", "Listener methods should be named add/remove")
 
 
+@verifier
 def verify_sync(clazz):
     """Verify synchronized methods aren't exposed."""
     for m in clazz.methods:
@@ -1040,6 +1058,7 @@
             error(clazz, m, "M5", "Internal locks must not be exposed")
 
 
+@verifier
 def verify_intent_builder(clazz):
     """Verify that Intent builders are createFooIntent() style."""
     if clazz.name == "Intent": return
@@ -1052,6 +1071,7 @@
                 warn(clazz, m, "FW1", "Methods creating an Intent should be named createFooIntent()")
 
 
+@verifier
 def verify_helper_classes(clazz):
     """Verify that helper classes are named consistently with what they extend.
     All developer extendable methods should be named onFoo()."""
@@ -1100,6 +1120,7 @@
                     warn(clazz, m, None, "If implemented by developer, should be named onFoo(); otherwise consider marking final")
 
 
+@verifier
 def verify_builder(clazz):
     """Verify builder classes.
     Methods should return the builder to enable chaining."""
@@ -1132,12 +1153,14 @@
         error(clazz, None, None, "Builder should be final")
 
 
+@verifier
 def verify_aidl(clazz):
     """Catch people exposing raw AIDL."""
     if clazz.extends == "android.os.Binder" or clazz.implements == "android.os.IInterface":
         error(clazz, None, None, "Raw AIDL interfaces must not be exposed")
 
 
+@verifier
 def verify_internal(clazz):
     """Catch people exposing internal classes."""
     if clazz.pkg.name.startswith("com.android"):
@@ -1172,6 +1195,7 @@
     "android.util"
 ])
 
+@verifier
 def verify_layering(clazz):
     """Catch package layering violations.
     For example, something in android.os depending on android.app."""
@@ -1206,6 +1230,7 @@
                 warn(clazz, m, "FW6", "Method argument type violates package layering")
 
 
+@verifier
 def verify_boolean(clazz):
     """Verifies that boolean accessors are named correctly.
     For example, hasFoo() and setHasFoo()."""
@@ -1246,9 +1271,11 @@
                 error_if_exists(sets, m.name, expected, "has" + target)
 
 
+@verifier
 def verify_collections(clazz):
     """Verifies that collection types are interfaces."""
     if clazz.fullname == "android.os.Bundle": return
+    if clazz.fullname == "android.os.Parcel": return
 
     bad = ["java.util.Vector", "java.util.LinkedList", "java.util.ArrayList", "java.util.Stack",
            "java.util.HashMap", "java.util.HashSet", "android.util.ArraySet", "android.util.ArrayMap"]
@@ -1260,6 +1287,23 @@
                 error(clazz, m, "CL2", "Argument is concrete collection; must be higher-level interface")
 
 
+@verifier
+def verify_uris(clazz):
+    bad = ["java.net.URL", "java.net.URI", "android.net.URL"]
+
+    for f in clazz.fields:
+        if f.typ in bad:
+            error(clazz, f, None, "Field must be android.net.Uri instead of " + f.typ)
+
+    for m in clazz.methods + clazz.ctors:
+        if m.typ in bad:
+            error(clazz, m, None, "Must return android.net.Uri instead of " + m.typ)
+        for arg in m.args:
+            if arg in bad:
+                error(clazz, m, None, "Argument must take android.net.Uri instead of " + arg)
+
+
+@verifier
 def verify_flags(clazz):
     """Verifies that flags are non-overlapping."""
     known = collections.defaultdict(int)
@@ -1276,6 +1320,7 @@
             known[scope] |= val
 
 
+@verifier
 def verify_exception(clazz):
     """Verifies that methods don't throw generic exceptions."""
     for m in clazz.methods:
@@ -1284,17 +1329,19 @@
                 error(clazz, m, "S1", "Methods must not throw generic exceptions")
 
             if t in ["android.os.RemoteException"]:
-                if clazz.name == "android.content.ContentProviderClient": continue
-                if clazz.name == "android.os.Binder": continue
-                if clazz.name == "android.os.IBinder": continue
+                if clazz.fullname == "android.content.ContentProviderClient": continue
+                if clazz.fullname == "android.os.Binder": continue
+                if clazz.fullname == "android.os.IBinder": continue
 
                 error(clazz, m, "FW9", "Methods calling into system server should rethrow RemoteException as RuntimeException")
 
             if len(m.args) == 0 and t in ["java.lang.IllegalArgumentException", "java.lang.NullPointerException"]:
                 warn(clazz, m, "S1", "Methods taking no arguments should throw IllegalStateException")
 
+
 GOOGLE_IGNORECASE = re.compile("google", re.IGNORECASE)
 
+# Not marked as @verifier, because it is only conditionally applied.
 def verify_google(clazz):
     """Verifies that APIs never reference Google."""
 
@@ -1307,6 +1354,7 @@
                 error(clazz, t, None, "Must never reference Google")
 
 
+@verifier
 def verify_bitset(clazz):
     """Verifies that we avoid using heavy BitSet."""
 
@@ -1322,6 +1370,7 @@
                 error(clazz, m, None, "Argument type must not be heavy BitSet")
 
 
+@verifier
 def verify_manager(clazz):
     """Verifies that FooManager is only obtained from Context."""
 
@@ -1335,6 +1384,7 @@
             error(clazz, m, None, "Managers must always be obtained from Context")
 
 
+@verifier
 def verify_boxed(clazz):
     """Verifies that methods avoid boxed primitives."""
 
@@ -1357,6 +1407,7 @@
                 error(clazz, m, "M11", "Must avoid boxed primitives")
 
 
+@verifier
 def verify_static_utils(clazz):
     """Verifies that helper classes can't be constructed."""
     if clazz.fullname.startswith("android.opengl"): return
@@ -1376,6 +1427,7 @@
         error(clazz, None, None, "Fully-static utility classes must not have constructor")
 
 
+# @verifier  # Disabled for now
 def verify_overload_args(clazz):
     """Verifies that method overloads add new arguments at the end."""
     if clazz.fullname.startswith("android.opengl"): return
@@ -1416,6 +1468,7 @@
                 error(clazz, m, "M2", "Expected consistent argument ordering between overloads: %s..." % (", ".join(locked_sig)))
 
 
+@verifier
 def verify_callback_handlers(clazz):
     """Verifies that methods adding listener/callback have overload
     for specifying delivery thread."""
@@ -1467,6 +1520,7 @@
             warn(clazz, f, "L1", "Registration methods should have overload that accepts delivery Executor")
 
 
+@verifier
 def verify_context_first(clazz):
     """Verifies that methods accepting a Context keep it the first argument."""
     examine = clazz.ctors + clazz.methods
@@ -1479,6 +1533,7 @@
                 error(clazz, m, "M3", "ContentResolver is distinct, so it must be the first argument")
 
 
+@verifier
 def verify_listener_last(clazz):
     """Verifies that methods accepting a Listener or Callback keep them as last arguments."""
     examine = clazz.ctors + clazz.methods
@@ -1492,6 +1547,7 @@
                 warn(clazz, m, "M3", "Listeners should always be at end of argument list")
 
 
+@verifier
 def verify_resource_names(clazz):
     """Verifies that resource names have consistent case."""
     if not re.match("android\.R\.[a-z]+", clazz.fullname): return
@@ -1523,6 +1579,7 @@
             error(clazz, f, "C7", "Expected resource name in this class to be FooBar_Baz style")
 
 
+@verifier
 def verify_files(clazz):
     """Verifies that methods accepting File also accept streams."""
 
@@ -1544,6 +1601,7 @@
             warn(clazz, m, "M10", "Methods accepting File should also accept FileDescriptor or streams")
 
 
+@verifier
 def verify_manager_list(clazz):
     """Verifies that managers return List<? extends Parcelable> instead of arrays."""
 
@@ -1554,6 +1612,7 @@
             warn(clazz, m, None, "Methods should return List<? extends Parcelable> instead of Parcelable[] to support ParceledListSlice under the hood")
 
 
+@verifier
 def verify_abstract_inner(clazz):
     """Verifies that abstract inner classes are static."""
 
@@ -1562,6 +1621,7 @@
             warn(clazz, None, None, "Abstract inner classes should be static to improve testability")
 
 
+@verifier
 def verify_runtime_exceptions(clazz):
     """Verifies that runtime exceptions aren't listed in throws."""
 
@@ -1606,6 +1666,7 @@
                 error(clazz, m, None, "Methods must not mention RuntimeException subclasses in throws clauses")
 
 
+@verifier
 def verify_error(clazz):
     """Verifies that we always use Exception instead of Error."""
     if not clazz.extends: return
@@ -1615,6 +1676,7 @@
         error(clazz, None, None, "Exceptions must be named FooException")
 
 
+@verifier
 def verify_units(clazz):
     """Verifies that we use consistent naming for units."""
 
@@ -1651,10 +1713,11 @@
             error(clazz, m, None, "Percentage must use ints")
 
 
+@verifier
 def verify_closable(clazz):
     """Verifies that classes are AutoClosable."""
-    if clazz.implements == "java.lang.AutoCloseable": return
-    if clazz.implements == "java.io.Closeable": return
+    if "java.lang.AutoCloseable" in clazz.implements_all: return
+    if "java.io.Closeable" in clazz.implements_all: return
 
     for m in clazz.methods:
         if len(m.args) > 0: continue
@@ -1663,6 +1726,7 @@
             return
 
 
+@verifier
 def verify_member_name_not_kotlin_keyword(clazz):
     """Prevent method names which are keywords in Kotlin."""
 
@@ -1688,6 +1752,7 @@
             error(clazz, f, None, "Field name must not be a Kotlin keyword")
 
 
+@verifier
 def verify_method_name_not_kotlin_operator(clazz):
     """Warn about method names which become operators in Kotlin."""
 
@@ -1737,6 +1802,7 @@
             unique_binary_op(m, m.name[:-6])  # Remove 'Assign' suffix
 
 
+@verifier
 def verify_collections_over_arrays(clazz):
     """Warn that [] should be Collections."""
 
@@ -1752,6 +1818,7 @@
                 warn(clazz, m, None, "Method argument should be Collection<> (or subclass) instead of raw array")
 
 
+@verifier
 def verify_user_handle(clazz):
     """Methods taking UserHandle should be ForUser or AsUser."""
     if clazz.name.endswith("Listener") or clazz.name.endswith("Callback") or clazz.name.endswith("Callbacks"): return
@@ -1776,6 +1843,7 @@
                  "or 'queryFooForUser'")
 
 
+@verifier
 def verify_params(clazz):
     """Parameter classes should be 'Params'."""
     if clazz.name.endswith("Params"): return
@@ -1791,6 +1859,7 @@
             error(clazz, None, None, "Classes holding a set of parameters should be called 'FooParams'")
 
 
+@verifier
 def verify_services(clazz):
     """Service name should be FOO_BAR_SERVICE = 'foo_bar'."""
     if clazz.fullname != "android.content.Context": return
@@ -1804,6 +1873,7 @@
                 error(clazz, f, "C4", "Inconsistent service value; expected '%s'" % (expected))
 
 
+@verifier
 def verify_tense(clazz):
     """Verify tenses of method names."""
     if clazz.fullname.startswith("android.opengl"): return
@@ -1813,6 +1883,7 @@
             warn(clazz, m, None, "Unexpected tense; probably meant 'enabled'")
 
 
+@verifier
 def verify_icu(clazz):
     """Verifies that richer ICU replacements are used."""
     better = {
@@ -1844,6 +1915,7 @@
                 warn(clazz, m, None, "Type %s should be replaced with richer ICU type %s" % (arg, better[arg]))
 
 
+@verifier
 def verify_clone(clazz):
     """Verify that clone() isn't implemented; see EJ page 61."""
     for m in clazz.methods:
@@ -1851,8 +1923,12 @@
             error(clazz, m, None, "Provide an explicit copy constructor instead of implementing clone()")
 
 
+@verifier
 def verify_pfd(clazz):
     """Verify that android APIs use PFD over FD."""
+    if clazz.fullname == "android.os.FileUtils" or clazz.fullname == "android.system.Os":
+        return
+
     examine = clazz.ctors + clazz.methods
     for m in examine:
         if m.typ == "java.io.FileDescriptor":
@@ -1869,6 +1945,7 @@
             error(clazz, f, "FW11", "Must use ParcelFileDescriptor")
 
 
+@verifier
 def verify_numbers(clazz):
     """Discourage small numbers types like short and byte."""
 
@@ -1890,8 +1967,10 @@
             if arg in discouraged:
                 warn(clazz, m, "FW12", "Should avoid odd sized primitives; use int instead")
 
+
 PRIMITIVES = {"void", "int", "float", "boolean", "short", "char", "byte", "long", "double"}
 
+@verifier
 def verify_nullability(clazz):
     """Catches missing nullability annotations"""
 
@@ -1920,6 +1999,18 @@
 def has_nullability(annotations):
     return "@NonNull" in annotations or "@Nullable" in annotations
 
+
+@verifier
+def verify_intdef(clazz):
+    """intdefs must be @hide, because the constant names cannot be stored in
+       the stubs (only the values are, which is not useful)"""
+    if "@interface" not in clazz.split:
+        return
+    if "@IntDef" in clazz.annotations or "@LongDef" in clazz.annotations:
+        error(clazz, None, None, "@IntDef and @LongDef annotations must be @hide")
+
+
+@verifier
 def verify_singleton(clazz):
     """Catch singleton objects with constructors."""
 
@@ -1954,60 +2045,10 @@
 
     if not is_interesting(clazz): return
 
-    verify_constants(clazz)
-    verify_enums(clazz)
-    verify_class_names(clazz)
-    verify_method_names(clazz)
-    verify_callbacks(clazz)
-    verify_listeners(clazz)
-    verify_actions(clazz)
-    verify_extras(clazz)
-    verify_equals(clazz)
-    verify_parcelable(clazz)
-    verify_protected(clazz)
-    verify_fields(clazz)
-    verify_register(clazz)
-    verify_sync(clazz)
-    verify_intent_builder(clazz)
-    verify_helper_classes(clazz)
-    verify_builder(clazz)
-    verify_aidl(clazz)
-    verify_internal(clazz)
-    verify_layering(clazz)
-    verify_boolean(clazz)
-    verify_collections(clazz)
-    verify_flags(clazz)
-    verify_exception(clazz)
+    for v in verifiers.itervalues():
+        v(clazz)
+
     if not ALLOW_GOOGLE: verify_google(clazz)
-    verify_bitset(clazz)
-    verify_manager(clazz)
-    verify_boxed(clazz)
-    verify_static_utils(clazz)
-    # verify_overload_args(clazz)
-    verify_callback_handlers(clazz)
-    verify_context_first(clazz)
-    verify_listener_last(clazz)
-    verify_resource_names(clazz)
-    verify_files(clazz)
-    verify_manager_list(clazz)
-    verify_abstract_inner(clazz)
-    verify_runtime_exceptions(clazz)
-    verify_error(clazz)
-    verify_units(clazz)
-    verify_closable(clazz)
-    verify_member_name_not_kotlin_keyword(clazz)
-    verify_method_name_not_kotlin_operator(clazz)
-    verify_collections_over_arrays(clazz)
-    verify_user_handle(clazz)
-    verify_params(clazz)
-    verify_services(clazz)
-    verify_tense(clazz)
-    verify_icu(clazz)
-    verify_clone(clazz)
-    verify_pfd(clazz)
-    verify_numbers(clazz)
-    verify_singleton(clazz)
-    verify_nullability(clazz)
 
 
 def examine_stream(stream, base_stream=None, in_classes_with_base=[], out_classes_with_base=None):
diff --git a/tools/apilint/apilint_test.py b/tools/apilint/apilint_test.py
index f34492d..5cb43db 100644
--- a/tools/apilint/apilint_test.py
+++ b/tools/apilint/apilint_test.py
@@ -242,6 +242,10 @@
         cls = self._cls("class Class {")
         return apilint.Field(cls, 1, raw, '', sig_format=2)
 
+    def test_parse_package(self):
+        pkg = apilint.Package(999, "package wifi.p2p {", None)
+        self.assertEquals("wifi.p2p", pkg.name)
+
     def test_class(self):
         cls = self._cls("@Deprecated @IntRange(from=1, to=2) public static abstract class Some.Name extends Super<Class> implements Interface<Class> {")
         self.assertTrue('deprecated' in cls.split)
diff --git a/tools/hiddenapi/generate_hiddenapi_lists.py b/tools/hiddenapi/generate_hiddenapi_lists.py
index 2a8f695..6781eba 100755
--- a/tools/hiddenapi/generate_hiddenapi_lists.py
+++ b/tools/hiddenapi/generate_hiddenapi_lists.py
@@ -29,6 +29,9 @@
 FLAG_GREYLIST_MAX_O = "greylist-max-o"
 FLAG_GREYLIST_MAX_P = "greylist-max-p"
 FLAG_CORE_PLATFORM_API = "core-platform-api"
+FLAG_PUBLIC_API = "public-api"
+FLAG_SYSTEM_API = "system-api"
+FLAG_TEST_API = "test-api"
 
 # List of all known flags.
 FLAGS_API_LIST = [
@@ -38,7 +41,12 @@
     FLAG_GREYLIST_MAX_O,
     FLAG_GREYLIST_MAX_P,
 ]
-ALL_FLAGS = FLAGS_API_LIST + [ FLAG_CORE_PLATFORM_API ]
+ALL_FLAGS = FLAGS_API_LIST + [
+    FLAG_CORE_PLATFORM_API,
+    FLAG_PUBLIC_API,
+    FLAG_SYSTEM_API,
+    FLAG_TEST_API,
+    ]
 
 FLAGS_API_LIST_SET = set(FLAGS_API_LIST)
 ALL_FLAGS_SET = set(ALL_FLAGS)
@@ -203,14 +211,19 @@
 
         # Iterate over all CSV lines, find entry in dict and append flags to it.
         for csv in csv_values:
-            self._dict[csv[0]].update(csv[1:])
+            flags = csv[1:]
+            if (FLAG_PUBLIC_API in flags) or (FLAG_SYSTEM_API in flags):
+                flags.append(FLAG_WHITELIST)
+            elif FLAG_TEST_API in flags:
+                flags.append(FLAG_GREYLIST)
+            self._dict[csv[0]].update(flags)
 
     def assign_flag(self, flag, apis, source="<unknown>"):
         """Assigns a flag to given subset of entries.
 
         Args:
             flag (string): One of ALL_FLAGS.
-            apis (set): Subset of APIs to recieve the flag.
+            apis (set): Subset of APIs to receive the flag.
             source (string): Origin of `entries_subset`. Will be printed in error messages.
 
         Throws:
diff --git a/tools/processors/view_inspector/Android.bp b/tools/processors/view_inspector/Android.bp
index 06ff05e..069e61f 100644
--- a/tools/processors/view_inspector/Android.bp
+++ b/tools/processors/view_inspector/Android.bp
@@ -8,6 +8,7 @@
 
     static_libs: [
         "javapoet",
+        "stub-annotations",
     ],
 
     use_tools_jar: true,
diff --git a/tools/processors/view_inspector/src/java/android/processor/view/inspector/AnnotationUtils.java b/tools/processors/view_inspector/src/java/android/processor/view/inspector/AnnotationUtils.java
index 2690ee8..c833e47 100644
--- a/tools/processors/view_inspector/src/java/android/processor/view/inspector/AnnotationUtils.java
+++ b/tools/processors/view_inspector/src/java/android/processor/view/inspector/AnnotationUtils.java
@@ -16,6 +16,8 @@
 
 package android.processor.view.inspector;
 
+import androidx.annotation.NonNull;
+
 import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
@@ -40,7 +42,7 @@
     private final Elements mElementUtils;
     private final Types mTypeUtils;
 
-    AnnotationUtils(ProcessingEnvironment processingEnv) {
+    AnnotationUtils(@NonNull ProcessingEnvironment processingEnv) {
         mElementUtils = processingEnv.getElementUtils();
         mTypeUtils = processingEnv.getTypeUtils();
     }
@@ -53,7 +55,8 @@
      * @return The mirror of the requested annotation
      * @throws ProcessingException If there is not exactly one of the requested annotation.
      */
-    AnnotationMirror exactlyOneMirror(String qualifiedName, Element element) {
+    @NonNull
+    AnnotationMirror exactlyOneMirror(@NonNull String qualifiedName, @NonNull Element element) {
         final Element targetTypeElment = mElementUtils.getTypeElement(qualifiedName);
         final TypeMirror targetType = targetTypeElment.asType();
         AnnotationMirror result = null;
@@ -89,7 +92,7 @@
      * @param annotationQualifiedName The name of the annotation to check for
      * @return True if the annotation is present, false otherwise
      */
-    boolean hasAnnotation(Element element, String annotationQualifiedName) {
+    boolean hasAnnotation(@NonNull Element element, @NonNull String annotationQualifiedName) {
         final TypeElement namedElement = mElementUtils.getTypeElement(annotationQualifiedName);
 
         if (namedElement != null) {
@@ -118,10 +121,10 @@
      * @return A list containing the requested types
      */
     <T> List<T> typedArrayValuesByName(
-            String propertyName,
-            Class<T> valueClass,
-            Element element,
-            AnnotationMirror annotationMirror) {
+            @NonNull String propertyName,
+            @NonNull Class<T> valueClass,
+            @NonNull Element element,
+            @NonNull AnnotationMirror annotationMirror) {
         return untypedArrayValuesByName(propertyName, element, annotationMirror)
                 .stream()
                 .map(annotationValue -> {
@@ -159,10 +162,11 @@
      * @param annotationMirror An annotation mirror to search for the property
      * @return A list of annotation values, empty list if none found
      */
+    @NonNull
     List<AnnotationValue> untypedArrayValuesByName(
-            String propertyName,
-            Element element,
-            AnnotationMirror annotationMirror) {
+            @NonNull String propertyName,
+            @NonNull Element element,
+            @NonNull AnnotationMirror annotationMirror) {
         return typedValueByName(propertyName, List.class, element, annotationMirror)
                 .map(untypedValues -> {
                     List<AnnotationValue> typedValues = new ArrayList<>(untypedValues.size());
@@ -195,6 +199,7 @@
      * @param <T> The type of the value
      * @return An optional containing the typed value of the named property
      */
+    @NonNull
     <T> Optional<T> typedValueByName(
             String propertyName,
             Class<T> valueClass,
@@ -241,10 +246,11 @@
      * @return An optional containing the untyped value of the named property
      * @see AnnotationValue#getValue()
      */
+    @NonNull
     Optional<Object> untypedValueByName(
-            String propertyName,
-            Element element,
-            AnnotationMirror annotationMirror) {
+            @NonNull String propertyName,
+            @NonNull Element element,
+            @NonNull AnnotationMirror annotationMirror) {
         return valueByName(propertyName, annotationMirror).map(annotationValue -> {
             final Object value = annotationValue.getValue();
 
@@ -269,7 +275,10 @@
      * @param annotationMirror The mirror to search for the property
      * @return The value of the property
      */
-    Optional<AnnotationValue> valueByName(String propertyName, AnnotationMirror annotationMirror) {
+    @NonNull
+    Optional<AnnotationValue> valueByName(
+            @NonNull String propertyName,
+            @NonNull AnnotationMirror annotationMirror) {
         final Map<? extends ExecutableElement, ? extends AnnotationValue> valueMap =
                 annotationMirror.getElementValues();
 
diff --git a/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectableClassModel.java b/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectableClassModel.java
index ee97628..147f054 100644
--- a/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectableClassModel.java
+++ b/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectableClassModel.java
@@ -16,6 +16,9 @@
 
 package android.processor.view.inspector;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
 import com.squareup.javapoet.ClassName;
 
 import java.util.Collection;
@@ -34,27 +37,29 @@
  * testing {@link InspectionCompanionGenerator}.
  */
 public final class InspectableClassModel {
-    private final ClassName mClassName;
-    private final Map<String, Property> mPropertyMap;
-    private Optional<String> mNodeName = Optional.empty();
+    private final @NonNull ClassName mClassName;
+    private final @NonNull Map<String, Property> mPropertyMap;
+    private @NonNull Optional<String> mNodeName = Optional.empty();
 
     /**
      * @param className The name of the modeled class
      */
-    public InspectableClassModel(ClassName className) {
+    public InspectableClassModel(@NonNull ClassName className) {
         mClassName = className;
         mPropertyMap = new HashMap<>();
     }
 
+    @NonNull
     public ClassName getClassName() {
         return mClassName;
     }
 
+    @NonNull
     public Optional<String> getNodeName() {
         return mNodeName;
     }
 
-    public void setNodeName(Optional<String> nodeName) {
+    public void setNodeName(@NonNull Optional<String> nodeName) {
         mNodeName = nodeName;
     }
 
@@ -63,7 +68,7 @@
      *
      * @param property The property to add or replace
      */
-    public void putProperty(Property property) {
+    public void putProperty(@NonNull Property property) {
         mPropertyMap.put(property.getName(), property);
     }
 
@@ -73,7 +78,8 @@
      * @param name The name of the property
      * @return The property or an empty optional
      */
-    public Optional<Property> getProperty(String name) {
+    @NonNull
+    public Optional<Property> getProperty(@NonNull String name) {
         return Optional.ofNullable(mPropertyMap.get(name));
     }
 
@@ -82,6 +88,7 @@
      *
      * @return An un-ordered collection of properties
      */
+    @NonNull
     public Collection<Property> getAllProperties() {
         return mPropertyMap.values();
     }
@@ -90,8 +97,8 @@
      * Represents a way to access a property, either a getter or a field.
      */
     public static final class Accessor {
-        private final String mName;
-        private final Type mType;
+        private final @NonNull String mName;
+        private final @NonNull Type mType;
 
         /**
          * Construct an accessor for a field.
@@ -100,7 +107,8 @@
          * @return The new accessor
          * @see Type#FIELD
          */
-        static Accessor ofField(String name) {
+        @NonNull
+        static Accessor ofField(@NonNull String name) {
             return new Accessor(name, Type.FIELD);
         }
 
@@ -111,19 +119,22 @@
          * @return The new accessor
          * @see Type#GETTER
          */
-        static Accessor ofGetter(String name) {
+        @NonNull
+        static Accessor ofGetter(@NonNull String name) {
             return new Accessor(name, Type.GETTER);
         }
 
-        public Accessor(String name, Type type) {
+        public Accessor(@NonNull String name, @NonNull Type type) {
             mName = Objects.requireNonNull(name, "Accessor name must not be null");
             mType = Objects.requireNonNull(type, "Accessor type must not be null");
         }
 
+        @NonNull
         public String getName() {
             return mName;
         }
 
+        @NonNull
         public Type getType() {
             return mType;
         }
@@ -135,6 +146,7 @@
          *
          * @return A string representing the invocation of this accessor
          */
+        @NonNull
         public String invocation() {
             switch (mType) {
                 case FIELD:
@@ -168,15 +180,15 @@
      * Model an inspectable property
      */
     public static final class Property {
-        private final String mName;
-        private final Accessor mAccessor;
-        private final Type mType;
+        private final @NonNull String mName;
+        private final @NonNull Accessor mAccessor;
+        private final @NonNull Type mType;
         private boolean mAttributeIdInferrableFromR = true;
         private int mAttributeId = 0;
-        private List<IntEnumEntry> mIntEnumEntries;
-        private List<IntFlagEntry> mIntFlagEntries;
+        private @Nullable List<IntEnumEntry> mIntEnumEntries;
+        private @Nullable List<IntFlagEntry> mIntFlagEntries;
 
-        public Property(String name, Accessor accessor, Type type) {
+        public Property(@NonNull String name, @NonNull Accessor accessor, @NonNull Type type) {
             mName = Objects.requireNonNull(name, "Name must not be null");
             mAccessor = Objects.requireNonNull(accessor, "Accessor must not be null");
             mType = Objects.requireNonNull(type, "Type must not be null");
@@ -204,14 +216,17 @@
             mAttributeIdInferrableFromR = attributeIdInferrableFromR;
         }
 
+        @NonNull
         public String getName() {
             return mName;
         }
 
+        @NonNull
         public Accessor getAccessor() {
             return mAccessor;
         }
 
+        @NonNull
         public Type getType() {
             return mType;
         }
@@ -221,6 +236,7 @@
          *
          * @return A list of mapping entries, empty if absent
          */
+        @NonNull
         public List<IntEnumEntry> getIntEnumEntries() {
             if (mIntEnumEntries != null) {
                 return mIntEnumEntries;
@@ -229,7 +245,7 @@
             }
         }
 
-        public void setIntEnumEntries(List<IntEnumEntry> intEnumEntries) {
+        public void setIntEnumEntries(@NonNull List<IntEnumEntry> intEnumEntries) {
             mIntEnumEntries = intEnumEntries;
         }
 
@@ -238,6 +254,7 @@
          *
          * @return A list of mapping entries, empty if absent
          */
+        @NonNull
         public List<IntFlagEntry> getIntFlagEntries() {
             if (mIntFlagEntries != null) {
                 return mIntFlagEntries;
@@ -246,7 +263,7 @@
             }
         }
 
-        public void setIntFlagEntries(List<IntFlagEntry> intFlagEntries) {
+        public void setIntFlagEntries(@NonNull List<IntFlagEntry> intFlagEntries) {
             mIntFlagEntries = intFlagEntries;
         }
 
@@ -308,7 +325,10 @@
              * @see android.view.inspector.IntFlagMapping
              * @see IntFlagEntry
              */
-            INT_FLAG
+            INT_FLAG,
+
+            /** A resource ID */
+            RESOURCE_ID
         }
     }
 
@@ -318,14 +338,15 @@
      * @see android.view.inspector.IntEnumMapping
      */
     public static final class IntEnumEntry {
-        private final String mName;
+        private final @NonNull String mName;
         private final int mValue;
 
-        public IntEnumEntry(String name, int value) {
+        public IntEnumEntry(int value, @NonNull String name) {
             mName = Objects.requireNonNull(name, "Name must not be null");
             mValue = value;
         }
 
+        @NonNull
         public String getName() {
             return mName;
         }
@@ -341,29 +362,21 @@
      * @see android.view.inspector.IntFlagMapping
      */
     public static final class IntFlagEntry {
-        private final String mName;
+        private final @NonNull String mName;
         private final int mTarget;
         private final int mMask;
 
-        public IntFlagEntry(String name, int target, int mask) {
+        public IntFlagEntry(int mask, int target, @NonNull String name) {
             mName = Objects.requireNonNull(name, "Name must not be null");
             mTarget = target;
             mMask = mask;
         }
 
-        public IntFlagEntry(String name, int target) {
-            this(name, target, target);
+        public IntFlagEntry(int target, String name) {
+            this(target, target, name);
         }
 
-        /**
-         * Determine if this entry has a bitmask.
-         *
-         * @return True if the bitmask and target are different, false otherwise
-         */
-        public boolean hasMask() {
-            return mTarget != mMask;
-        }
-
+        @NonNull
         public String getName() {
             return mName;
         }
diff --git a/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectableNodeNameProcessor.java b/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectableNodeNameProcessor.java
index 46819b2..64a60fb 100644
--- a/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectableNodeNameProcessor.java
+++ b/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectableNodeNameProcessor.java
@@ -16,6 +16,8 @@
 
 package android.processor.view.inspector;
 
+import androidx.annotation.NonNull;
+
 import java.util.Optional;
 
 import javax.annotation.processing.ProcessingEnvironment;
@@ -28,17 +30,17 @@
  * @see android.view.inspector.InspectableNodeName
  */
 public final class InspectableNodeNameProcessor implements ModelProcessor {
-    private final String mQualifiedName;
-    private final ProcessingEnvironment mProcessingEnv;
-    private final AnnotationUtils mAnnotationUtils;
+    private final @NonNull String mQualifiedName;
+    private final @NonNull ProcessingEnvironment mProcessingEnv;
+    private final @NonNull AnnotationUtils mAnnotationUtils;
 
     /**
      * @param annotationQualifiedName The qualified name of the annotation to process
      * @param processingEnv The processing environment from the parent processor
      */
     public InspectableNodeNameProcessor(
-            String annotationQualifiedName,
-            ProcessingEnvironment processingEnv) {
+            @NonNull String annotationQualifiedName,
+            @NonNull ProcessingEnvironment processingEnv) {
         mQualifiedName = annotationQualifiedName;
         mProcessingEnv = processingEnv;
         mAnnotationUtils = new AnnotationUtils(processingEnv);
@@ -54,7 +56,7 @@
      * @param model The model this element should be merged into
      */
     @Override
-    public void process(Element element, InspectableClassModel model) {
+    public void process(@NonNull Element element, @NonNull InspectableClassModel model) {
         try {
             final AnnotationMirror mirror =
                     mAnnotationUtils.exactlyOneMirror(mQualifiedName, element);
diff --git a/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectablePropertyProcessor.java b/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectablePropertyProcessor.java
index 6305228..7f5f9ca 100644
--- a/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectablePropertyProcessor.java
+++ b/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectablePropertyProcessor.java
@@ -21,6 +21,8 @@
 import android.processor.view.inspector.InspectableClassModel.IntFlagEntry;
 import android.processor.view.inspector.InspectableClassModel.Property;
 
+import androidx.annotation.NonNull;
+
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
@@ -45,9 +47,9 @@
  * @see android.view.inspector.InspectableProperty
  */
 public final class InspectablePropertyProcessor implements ModelProcessor {
-    private final String mQualifiedName;
-    private final ProcessingEnvironment mProcessingEnv;
-    private final AnnotationUtils mAnnotationUtils;
+    private final @NonNull String mQualifiedName;
+    private final @NonNull ProcessingEnvironment mProcessingEnv;
+    private final @NonNull AnnotationUtils mAnnotationUtils;
 
     /**
      * Regex that matches methods names of the form {@code #getValue()}.
@@ -78,19 +80,67 @@
             "androidx.annotation.ColorLong"};
 
     /**
+     * Set of android and androidx annotation qualified names of resource ID annotations.
+     */
+    private static final String[] RESOURCE_ID_ANNOTATION_NAMES = {
+            "android.annotation.AnimatorRes",
+            "android.annotation.AnimRes",
+            "android.annotation.AnyRes",
+            "android.annotation.ArrayRes",
+            "android.annotation.BoolRes",
+            "android.annotation.DimenRes",
+            "android.annotation.DrawableRes",
+            "android.annotation.FontRes",
+            "android.annotation.IdRes",
+            "android.annotation.IntegerRes",
+            "android.annotation.InterpolatorRes",
+            "android.annotation.LayoutRes",
+            "android.annotation.MenuRes",
+            "android.annotation.NavigationRes",
+            "android.annotation.PluralsRes",
+            "android.annotation.RawRes",
+            "android.annotation.StringRes",
+            "android.annotation.StyleableRes",
+            "android.annotation.StyleRes",
+            "android.annotation.TransitionRes",
+            "android.annotation.XmlRes",
+            "androidx.annotation.AnimatorRes",
+            "androidx.annotation.AnimRes",
+            "androidx.annotation.AnyRes",
+            "androidx.annotation.ArrayRes",
+            "androidx.annotation.BoolRes",
+            "androidx.annotation.DimenRes",
+            "androidx.annotation.DrawableRes",
+            "androidx.annotation.FontRes",
+            "androidx.annotation.IdRes",
+            "androidx.annotation.IntegerRes",
+            "androidx.annotation.InterpolatorRes",
+            "androidx.annotation.LayoutRes",
+            "androidx.annotation.MenuRes",
+            "androidx.annotation.NavigationRes",
+            "androidx.annotation.PluralsRes",
+            "androidx.annotation.RawRes",
+            "androidx.annotation.StringRes",
+            "androidx.annotation.StyleableRes",
+            "androidx.annotation.StyleRes",
+            "androidx.annotation.TransitionRes",
+            "androidx.annotation.XmlRes"
+    };
+
+    /**
      * @param annotationQualifiedName The qualified name of the annotation to process
      * @param processingEnv           The processing environment from the parent processor
      */
     public InspectablePropertyProcessor(
-            String annotationQualifiedName,
-            ProcessingEnvironment processingEnv) {
+            @NonNull String annotationQualifiedName,
+            @NonNull ProcessingEnvironment processingEnv) {
         mQualifiedName = annotationQualifiedName;
         mProcessingEnv = processingEnv;
         mAnnotationUtils = new AnnotationUtils(processingEnv);
     }
 
     @Override
-    public void process(Element element, InspectableClassModel model) {
+    public void process(@NonNull Element element, @NonNull InspectableClassModel model) {
         try {
             final AnnotationMirror annotation =
                     mAnnotationUtils.exactlyOneMirror(mQualifiedName, element);
@@ -121,7 +171,10 @@
      * @return A property for the getter and annotation
      * @throws ProcessingException If the supplied data is invalid and a property cannot be modeled
      */
-    private Property buildProperty(Element accessor, AnnotationMirror annotation) {
+    @NonNull
+    private Property buildProperty(
+            @NonNull Element accessor,
+            @NonNull AnnotationMirror annotation) {
         final Property property;
         final Optional<String> nameFromAnnotation = mAnnotationUtils
                 .typedValueByName("name", String.class, accessor, annotation);
@@ -179,7 +232,7 @@
      * @param element The element to check
      * @throws ProcessingException If the element's modifiers are invalid
      */
-    private void validateModifiers(Element element) {
+    private void validateModifiers(@NonNull Element element) {
         final Set<Modifier> modifiers = element.getModifiers();
 
         if (!modifiers.contains(Modifier.PUBLIC)) {
@@ -208,7 +261,8 @@
      * @return An {@link ExecutableElement} that represents a getter method.
      * @throws ProcessingException if the element isn't a getter
      */
-    private ExecutableElement ensureGetter(Element element) {
+    @NonNull
+    private ExecutableElement ensureGetter(@NonNull Element element) {
         if (element.getKind() != ElementKind.METHOD) {
             throw new ProcessingException(
                     String.format("Expected a method, got a %s", element.getKind()),
@@ -252,10 +306,10 @@
      * @throws ProcessingException If the property type cannot be resolved or is invalid
      * @see android.view.inspector.InspectableProperty#valueType()
      */
+    @NonNull
     private Property.Type determinePropertyType(
-            Element accessor,
-            AnnotationMirror annotation) {
-
+            @NonNull Element accessor,
+            @NonNull AnnotationMirror annotation) {
         final String valueType = mAnnotationUtils
                 .untypedValueByName("valueType", accessor, annotation)
                 .map(Object::toString)
@@ -264,7 +318,6 @@
         final Property.Type accessorType =
                 convertTypeMirrorToPropertyType(extractReturnOrFieldType(accessor), accessor);
 
-        final boolean hasColor = hasColorAnnotation(accessor);
         final Optional<AnnotationValue> enumMapping =
                 mAnnotationUtils.valueByName("enumMapping", annotation);
         final Optional<AnnotationValue> flagMapping =
@@ -291,8 +344,12 @@
             });
         }
 
+
         switch (valueType) {
             case "INFERRED":
+                final boolean hasColor = hasColorAnnotation(accessor);
+                final boolean hasResourceId = hasResourceIdAnnotation(accessor);
+
                 if (hasColor) {
                     enumMapping.ifPresent(value -> {
                         throw new ProcessingException(
@@ -308,7 +365,30 @@
                                 annotation,
                                 value);
                     });
+                    if (hasResourceId) {
+                        throw new ProcessingException(
+                                "Cannot infer type, both color and resource ID annotations "
+                                        + "are present.",
+                                accessor,
+                                annotation);
+                    }
                     return Property.Type.COLOR;
+                } else if (hasResourceId) {
+                    enumMapping.ifPresent(value -> {
+                        throw new ProcessingException(
+                                "Cannot use enumMapping on a resource ID type.",
+                                accessor,
+                                annotation,
+                                value);
+                    });
+                    flagMapping.ifPresent(value -> {
+                        throw new ProcessingException(
+                                "Cannot use flagMapping on a resource ID type.",
+                                accessor,
+                                annotation,
+                                value);
+                    });
+                    return Property.Type.RESOURCE_ID;
                 } else if (enumMapping.isPresent()) {
                     flagMapping.ifPresent(value -> {
                         throw new ProcessingException(
@@ -346,6 +426,8 @@
             case "INT_FLAG":
                 requirePackedIntToBeInt("IntFlag", accessorType, accessor, annotation);
                 return Property.Type.INT_FLAG;
+            case "RESOURCE_ID":
+                return Property.Type.RESOURCE_ID;
             default:
                 throw new ProcessingException(
                         String.format("Unknown value type enumeration value: %s", valueType),
@@ -361,7 +443,8 @@
      * @return The return or field type of the element
      * @throws ProcessingException If the element is not a field or a method
      */
-    private TypeMirror extractReturnOrFieldType(Element element) {
+    @NonNull
+    private TypeMirror extractReturnOrFieldType(@NonNull Element element) {
         switch (element.getKind()) {
             case FIELD:
                 return element.asType();
@@ -384,7 +467,10 @@
      * @return The property type returned by the getter
      * @throws ProcessingException If the return type is not a primitive or an object
      */
-    private Property.Type convertTypeMirrorToPropertyType(TypeMirror typeMirror, Element element) {
+    @NonNull
+    private Property.Type convertTypeMirrorToPropertyType(
+            @NonNull TypeMirror typeMirror,
+            @NonNull Element element) {
         switch (unboxType(typeMirror)) {
             case BOOLEAN:
                 return Property.Type.BOOLEAN;
@@ -427,10 +513,10 @@
      * @throws ProcessingException If the return type is not an int
      */
     private static void requirePackedIntToBeInt(
-            String typeName,
-            Property.Type returnType,
-            Element accessor,
-            AnnotationMirror annotation) {
+            @NonNull String typeName,
+            @NonNull Property.Type returnType,
+            @NonNull Element accessor,
+            @NonNull AnnotationMirror annotation) {
         if (returnType != Property.Type.INT) {
             throw new ProcessingException(
                     String.format(
@@ -452,7 +538,7 @@
      * @param accessor The getter or field to query
      * @return True if the getter has a color annotation, false otherwise
      */
-    private boolean hasColorAnnotation(Element accessor) {
+    private boolean hasColorAnnotation(@NonNull Element accessor) {
         switch (unboxType(extractReturnOrFieldType(accessor))) {
             case INT:
                 for (String name : COLOR_INT_ANNOTATION_NAMES) {
@@ -474,6 +560,24 @@
     }
 
     /**
+     * Determine if a getter or a field is annotated with a resource ID annotation.
+     *
+     * @param accessor The getter or field to query
+     * @return True if the accessor is an integer and has a resource ID annotation, false otherwise
+     */
+    private boolean hasResourceIdAnnotation(@NonNull Element accessor) {
+        if (unboxType(extractReturnOrFieldType(accessor)) == TypeKind.INT) {
+            for (String name : RESOURCE_ID_ANNOTATION_NAMES) {
+                if (mAnnotationUtils.hasAnnotation(accessor, name)) {
+                    return true;
+                }
+            }
+        }
+
+        return false;
+    }
+
+    /**
      * Infer a property name from a getter method.
      *
      * If the method is prefixed with {@code get}, the prefix will be stripped, and the
@@ -487,7 +591,8 @@
      * @param getter An element representing a getter
      * @return A string property name
      */
-    private String inferPropertyNameFromGetter(ExecutableElement getter) {
+    @NonNull
+    private String inferPropertyNameFromGetter(@NonNull ExecutableElement getter) {
         final String name = getter.getSimpleName().toString();
 
         if (GETTER_GET_PREFIX.matcher(name).find()) {
@@ -506,7 +611,6 @@
      * {@link android.view.inspector.InspectableProperty.EnumMap} annotations into
      * {@link IntEnumEntry} objects. Further validation should be handled elsewhere
      *
-     * @see android.view.inspector.IntEnumMapping
      * @see android.view.inspector.InspectableProperty#enumMapping()
      * @param accessor The accessor of the property, used for exceptions
      * @param annotation The {@link android.view.inspector.InspectableProperty} annotation to
@@ -514,9 +618,10 @@
      * @return A list of int enum entries, in the order specified in source
      * @throws ProcessingException if mapping doesn't exist or is invalid
      */
+    @NonNull
     private List<IntEnumEntry> processEnumMapping(
-            Element accessor,
-            AnnotationMirror annotation) {
+            @NonNull Element accessor,
+            @NonNull AnnotationMirror annotation) {
         List<AnnotationMirror> enumAnnotations = mAnnotationUtils.typedArrayValuesByName(
                 "enumMapping", AnnotationMirror.class, accessor, annotation);
         List<IntEnumEntry> enumEntries = new ArrayList<>(enumAnnotations.size());
@@ -529,23 +634,19 @@
         for (AnnotationMirror enumAnnotation : enumAnnotations) {
             final String name = mAnnotationUtils.typedValueByName(
                     "name", String.class, accessor, enumAnnotation)
-                    .orElseThrow(() -> {
-                        throw new ProcessingException(
-                                "Name is required for @EnumMap",
-                                accessor,
-                                enumAnnotation);
-                    });
+                    .orElseThrow(() -> new ProcessingException(
+                            "Name is required for @EnumEntry",
+                            accessor,
+                            enumAnnotation));
 
             final int value = mAnnotationUtils.typedValueByName(
                     "value", Integer.class, accessor, enumAnnotation)
-                    .orElseThrow(() -> {
-                        throw new ProcessingException(
-                                "Value is required for @EnumMap",
-                                accessor,
-                                enumAnnotation);
-                    });
+                    .orElseThrow(() -> new ProcessingException(
+                            "Value is required for @EnumEntry",
+                            accessor,
+                            enumAnnotation));
 
-            enumEntries.add(new IntEnumEntry(name, value));
+            enumEntries.add(new IntEnumEntry(value, name));
         }
 
         return enumEntries;
@@ -566,9 +667,10 @@
      * @return A list of int flags entries, in the order specified in source
      * @throws ProcessingException if mapping doesn't exist or is invalid
      */
+    @NonNull
     private List<IntFlagEntry> processFlagMapping(
-            Element accessor,
-            AnnotationMirror annotation) {
+            @NonNull Element accessor,
+            @NonNull AnnotationMirror annotation) {
         List<AnnotationMirror> flagAnnotations = mAnnotationUtils.typedArrayValuesByName(
                 "flagMapping", AnnotationMirror.class, accessor, annotation);
         List<IntFlagEntry> flagEntries = new ArrayList<>(flagAnnotations.size());
@@ -581,29 +683,25 @@
         for (AnnotationMirror flagAnnotation : flagAnnotations) {
             final String name = mAnnotationUtils.typedValueByName(
                     "name", String.class, accessor, flagAnnotation)
-                    .orElseThrow(() -> {
-                        throw new ProcessingException(
-                                "Name is required for @FlagMap",
-                                accessor,
-                                flagAnnotation);
-                    });
+                    .orElseThrow(() -> new ProcessingException(
+                            "Name is required for @FlagEntry",
+                            accessor,
+                            flagAnnotation));
 
             final int target = mAnnotationUtils.typedValueByName(
                     "target", Integer.class, accessor, flagAnnotation)
-                    .orElseThrow(() -> {
-                        throw new ProcessingException(
-                                "Target is required for @FlagMap",
-                                accessor,
-                                flagAnnotation);
-                    });
+                    .orElseThrow(() -> new ProcessingException(
+                            "Target is required for @FlagEntry",
+                            accessor,
+                            flagAnnotation));
 
             final Optional<Integer> mask = mAnnotationUtils.typedValueByName(
                     "mask", Integer.class, accessor, flagAnnotation);
 
             if (mask.isPresent()) {
-                flagEntries.add(new IntFlagEntry(name, target, mask.get()));
+                flagEntries.add(new IntFlagEntry(mask.get(), target, name));
             } else {
-                flagEntries.add(new IntFlagEntry(name, target));
+                flagEntries.add(new IntFlagEntry(target, name));
             }
         }
 
@@ -616,7 +714,7 @@
      * @param type The type mirror to check
      * @return True if the type is a boolean
      */
-    private boolean isBoolean(TypeMirror type) {
+    private boolean isBoolean(@NonNull TypeMirror type) {
         if (type.getKind() == TypeKind.DECLARED) {
             return mProcessingEnv.getTypeUtils().unboxedType(type).getKind() == TypeKind.BOOLEAN;
         } else {
@@ -630,7 +728,8 @@
      * @param typeMirror The type mirror to unbox
      * @return The same type mirror, or an unboxed primitive version
      */
-    private TypeKind unboxType(TypeMirror typeMirror) {
+    @NonNull
+    private TypeKind unboxType(@NonNull TypeMirror typeMirror) {
         final TypeKind typeKind = typeMirror.getKind();
 
         if (typeKind.isPrimitive()) {
@@ -652,7 +751,7 @@
      * @param typeMirror The type mirror to test
      * @return True if it represents a subclass of color, false otherwise
      */
-    private boolean isColorType(TypeMirror typeMirror) {
+    private boolean isColorType(@NonNull TypeMirror typeMirror) {
         final TypeElement colorType = mProcessingEnv
                 .getElementUtils()
                 .getTypeElement("android.graphics.Color");
diff --git a/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectionCompanionGenerator.java b/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectionCompanionGenerator.java
index 1ab9914..c428a46 100644
--- a/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectionCompanionGenerator.java
+++ b/tools/processors/view_inspector/src/java/android/processor/view/inspector/InspectionCompanionGenerator.java
@@ -16,11 +16,12 @@
 
 package android.processor.view.inspector;
 
-
 import android.processor.view.inspector.InspectableClassModel.IntEnumEntry;
 import android.processor.view.inspector.InspectableClassModel.IntFlagEntry;
 import android.processor.view.inspector.InspectableClassModel.Property;
 
+import androidx.annotation.NonNull;
+
 import com.squareup.javapoet.ClassName;
 import com.squareup.javapoet.CodeBlock;
 import com.squareup.javapoet.FieldSpec;
@@ -34,9 +35,11 @@
 import java.io.IOException;
 import java.util.ArrayList;
 import java.util.Comparator;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.NoSuchElementException;
-import java.util.Optional;
+import java.util.stream.Collectors;
 
 import javax.annotation.processing.Filer;
 import javax.lang.model.element.Modifier;
@@ -45,8 +48,8 @@
  * Generates a source file defining a {@link android.view.inspector.InspectionCompanion}.
  */
 public final class InspectionCompanionGenerator {
-    private final Filer mFiler;
-    private final Class mRequestingClass;
+    private final @NonNull Filer mFiler;
+    private final @NonNull Class mRequestingClass;
 
     /**
      * The class name for {@code R.java}.
@@ -72,10 +75,9 @@
             "android.view.inspector", "PropertyReader");
 
     /**
-     * The class name of {@link android.view.inspector.IntEnumMapping}.
+     * The class name of {@link android.util.SparseArray}.
      */
-    private static final ClassName INT_ENUM_MAPPING = ClassName.get(
-            "android.view.inspector", "IntEnumMapping");
+    private static final ClassName SPARSE_ARRAY = ClassName.get("android.util", "SparseArray");
 
     /**
      * The class name of {@link android.view.inspector.IntFlagMapping}.
@@ -84,20 +86,9 @@
             "android.view.inspector", "IntFlagMapping");
 
     /**
-     * The {@code mPropertiesMapped} field.
-     */
-    private static final FieldSpec M_PROPERTIES_MAPPED = FieldSpec
-            .builder(TypeName.BOOLEAN, "mPropertiesMapped", Modifier.PRIVATE)
-            .initializer("false")
-            .addJavadoc(
-                    "Set by {@link #mapProperties($T)} once properties have been mapped.\n",
-                    PROPERTY_MAPPER)
-            .build();
-
-    /**
      * The suffix of the generated class name after the class's binary name.
      */
-    private static final String GENERATED_CLASS_SUFFIX = "$$InspectionCompanion";
+    private static final String GENERATED_CLASS_SUFFIX = "$InspectionCompanion";
 
     /**
      * The null resource ID, copied to avoid a host dependency on platform code.
@@ -110,7 +101,7 @@
      * @param filer A filer to write the generated source to
      * @param requestingClass A class object representing the class that invoked the generator
      */
-    public InspectionCompanionGenerator(Filer filer, Class requestingClass) {
+    public InspectionCompanionGenerator(@NonNull Filer filer, @NonNull Class requestingClass) {
         mFiler = filer;
         mRequestingClass = requestingClass;
     }
@@ -121,7 +112,7 @@
      * @param model The model to generated
      * @throws IOException From the Filer
      */
-    public void generate(InspectableClassModel model) throws IOException {
+    public void generate(@NonNull InspectableClassModel model) throws IOException {
         generateFile(model).writeTo(mFiler);
     }
 
@@ -133,7 +124,8 @@
      * @param model The model to generate from
      * @return A generated file of an {@link android.view.inspector.InspectionCompanion}
      */
-    JavaFile generateFile(InspectableClassModel model) {
+    @NonNull
+    JavaFile generateFile(@NonNull InspectableClassModel model) {
         return JavaFile
                 .builder(model.getClassName().packageName(), generateTypeSpec(model))
                 .indent("    ")
@@ -147,8 +139,12 @@
      * @param model The model to generate from
      * @return A TypeSpec of the inspection companion
      */
-    private TypeSpec generateTypeSpec(InspectableClassModel model) {
-        final List<PropertyIdField> propertyIdFields = generatePropertyIdFields(model);
+    @NonNull
+    private TypeSpec generateTypeSpec(@NonNull InspectableClassModel model) {
+        final List<Property> properties = new ArrayList<>(model.getAllProperties());
+        properties.sort(Comparator.comparing(Property::getName));
+
+        final Map<Property, FieldSpec> fields = generateIdFieldSpecs(properties);
 
         TypeSpec.Builder builder = TypeSpec
                 .classBuilder(generateClassName(model))
@@ -158,238 +154,325 @@
                 .addJavadoc("Inspection companion for {@link $T}.\n\n", model.getClassName())
                 .addJavadoc("Generated by {@link $T}\n", getClass())
                 .addJavadoc("on behalf of {@link $T}.\n", mRequestingClass)
-                .addField(M_PROPERTIES_MAPPED);
+                .addField(FieldSpec
+                        .builder(TypeName.BOOLEAN, "mPropertiesMapped", Modifier.PRIVATE)
+                        .initializer("false")
+                        .addJavadoc("Guards against reading properties before mapping them.\n")
+                        .build())
+                .addFields(properties.stream().map(fields::get).collect(Collectors.toList()))
+                .addMethod(generateMapProperties(properties, fields))
+                .addMethod(generateReadProperties(properties, fields, model.getClassName()));
 
-        for (PropertyIdField propertyIdField : propertyIdFields) {
-            builder.addField(propertyIdField.mFieldSpec);
-        }
-
-        builder.addMethod(generateMapProperties(propertyIdFields))
-                .addMethod(generateReadProperties(model, propertyIdFields));
-
-        generateGetNodeName(model).ifPresent(builder::addMethod);
+        model.getNodeName().ifPresent(name -> builder.addMethod(generateGetNodeName(name)));
 
         return builder.build();
     }
 
     /**
-     * Build a list of {@link PropertyIdField}'s for a model.
+     * Map properties to fields to store the mapping IDs in the generated inspection companion.
      *
-     * To insure idempotency of the generated code, this method sorts the list of properties
-     * alphabetically by name.
-     *
-     * A {@link NameAllocator} is used to ensure that the field names are valid Java identifiers,
-     * and it prevents overlaps in names by suffixing them as needed.
-     *
-     * @param model The model to get properties from
-     * @return A list of properties and fields
+     * @param properties A list of property models
+     * @return A map of properties to their {@link FieldSpec}
      */
-    private List<PropertyIdField> generatePropertyIdFields(InspectableClassModel model) {
-        final NameAllocator nameAllocator = new NameAllocator();
-        final List<Property> sortedProperties = new ArrayList<>(model.getAllProperties());
-        final List<PropertyIdField> propertyIdFields = new ArrayList<>(sortedProperties.size());
+    @NonNull
+    private Map<Property, FieldSpec> generateIdFieldSpecs(@NonNull List<Property> properties) {
+        final Map<Property, FieldSpec> fields = new HashMap<>();
+        final NameAllocator fieldNames = new NameAllocator();
+        fieldNames.newName("mPropertiesMapped");
 
-        sortedProperties.sort(Comparator.comparing(Property::getName));
-
-        for (Property property : sortedProperties) {
-            // Format a property to a member field name like "someProperty" -> "mSomePropertyId"
-            final String memberName = String.format(
+        for (Property property : properties) {
+            final String memberName = fieldNames.newName(String.format(
                     "m%s%sId",
                     property.getName().substring(0, 1).toUpperCase(),
-                    property.getName().substring(1));
-            final FieldSpec fieldSpec = FieldSpec
-                    .builder(TypeName.INT, nameAllocator.newName(memberName), Modifier.PRIVATE)
-                    .addJavadoc("Property ID of {@code $L}.\n", property.getName())
-                    .build();
+                    property.getName().substring(1)));
 
-            propertyIdFields.add(new PropertyIdField(fieldSpec, property));
+            fields.put(property, FieldSpec
+                    .builder(TypeName.INT, memberName, Modifier.PRIVATE)
+                    .addJavadoc("Property ID of {@code $L}.\n", property.getName())
+                    .build());
         }
 
-        return propertyIdFields;
+        return fields;
     }
 
     /**
-     * Generate a method definition for
-     * {@link android.view.inspector.InspectionCompanion#getNodeName()}, if needed.
-     *
-     * If {@link InspectableClassModel#getNodeName()} is empty, This method returns an empty
-     * optional, otherwise, it generates a simple method that returns the string value of the
-     * node name.
-     *
-     * @param model The model to generate from
-     * @return The method definition or an empty Optional
-     */
-    private Optional<MethodSpec> generateGetNodeName(InspectableClassModel model) {
-        return model.getNodeName().map(nodeName -> MethodSpec.methodBuilder("getNodeName")
-                .addAnnotation(Override.class)
-                .addModifiers(Modifier.PUBLIC)
-                .returns(String.class)
-                .addStatement("return $S", nodeName)
-                .build());
-    }
-
-    /**
-     * Generate a method definition for
+     * Generates an implementation of
      * {@link android.view.inspector.InspectionCompanion#mapProperties(
      * android.view.inspector.PropertyMapper)}.
      *
-     * @param propertyIdFields A list of properties to map to ID fields
-     * @return The method definition
+     * Example:
+     * <pre>
+     *     @Override
+     *     public void mapProperties(PropertyMapper propertyMapper) {
+     *         mValueId = propertyMapper.mapInt("value", R.attr.value);
+     *         mPropertiesMapped = true;
+     *     }
+     * </pre>
+     *
+     * @param properties A sorted list of property models
+     * @param fields A map of properties to their ID field specs
+     * @return A method definition
      */
-    private MethodSpec generateMapProperties(List<PropertyIdField> propertyIdFields) {
+    @NonNull
+    private MethodSpec generateMapProperties(
+            @NonNull List<Property> properties,
+            @NonNull Map<Property, FieldSpec> fields) {
+        final NameAllocator mappingVariables = new NameAllocator();
+
         final MethodSpec.Builder builder = MethodSpec.methodBuilder("mapProperties")
                 .addAnnotation(Override.class)
                 .addModifiers(Modifier.PUBLIC)
                 .addParameter(PROPERTY_MAPPER, "propertyMapper");
 
-        propertyIdFields.forEach(p -> builder.addStatement(generatePropertyMapperInvocation(p)));
-        builder.addStatement("$N = true", M_PROPERTIES_MAPPED);
+        // Reserve existing names
+        mappingVariables.newName("mPropertiesMapped");
+        mappingVariables.newName("propertyMapper");
+        properties.forEach(p -> mappingVariables.newName(fields.get(p).name));
 
-        return builder.build();
-    }
-
-    /**
-     * Generate a method definition for
-     * {@link android.view.inspector.InspectionCompanion#readProperties(
-     * Object, android.view.inspector.PropertyReader)}.
-     *
-     * @param model The model to generate from
-     * @param propertyIdFields A list of properties and ID fields to read from
-     * @return The method definition
-     */
-    private MethodSpec generateReadProperties(
-            InspectableClassModel model,
-            List<PropertyIdField> propertyIdFields) {
-        final MethodSpec.Builder builder =  MethodSpec.methodBuilder("readProperties")
-                .addAnnotation(Override.class)
-                .addModifiers(Modifier.PUBLIC)
-                .addParameter(model.getClassName(), "node")
-                .addParameter(PROPERTY_READER, "propertyReader")
-                .addCode(generatePropertyMapInitializationCheck());
-
-        for (PropertyIdField propertyIdField : propertyIdFields) {
-            builder.addStatement(
-                    "propertyReader.read$L($N, node.$L)",
-                    methodSuffixForPropertyType(propertyIdField.mProperty.getType()),
-                    propertyIdField.mFieldSpec,
-                    propertyIdField.mProperty.getAccessor().invocation());
-        }
-
-        return builder.build();
-    }
-
-    /**
-     * Generate a statement maps a property with a {@link android.view.inspector.PropertyMapper}.
-     *
-     * @param propertyIdField The property model and ID field to generate from
-     * @return A statement that invokes property mapper method
-     */
-    private CodeBlock generatePropertyMapperInvocation(PropertyIdField propertyIdField) {
-        final CodeBlock.Builder builder = CodeBlock.builder();
-        final Property property = propertyIdField.mProperty;
-        final FieldSpec fieldSpec = propertyIdField.mFieldSpec;
-
-        builder.add(
-                "$N = propertyMapper.map$L($S,$W",
-                fieldSpec,
-                methodSuffixForPropertyType(property.getType()),
-                property.getName());
-
-        if (property.isAttributeIdInferrableFromR()) {
-            builder.add("$T.attr.$L", R_CLASS_NAME, property.getName());
-        } else {
-            if (property.getAttributeId() == ID_NULL) {
-                builder.add("$L", ID_NULL);
-            } else {
-                builder.add("$L", hexLiteral(property.getAttributeId()));
+        for (Property property : properties) {
+            final FieldSpec field = fields.get(property);
+            switch (property.getType()) {
+                case INT_ENUM:
+                    builder.addCode(generateIntEnumPropertyMapperInvocation(
+                            property,
+                            field,
+                            mappingVariables.newName(property.getName() + "EnumMapping")));
+                    break;
+                case INT_FLAG:
+                    builder.addCode(generateIntFlagPropertyMapperInvocation(
+                            property,
+                            field,
+                            mappingVariables.newName(property.getName() + "FlagMapping")));
+                    break;
+                default:
+                    builder.addCode(generateSimplePropertyMapperInvocation(property, field));
             }
         }
 
-        switch (property.getType()) {
-            case INT_ENUM:
-                builder.add(",$W");
-                builder.add(generateIntEnumMappingBuilder(property.getIntEnumEntries()));
-                break;
-            case INT_FLAG:
-                builder.add(",$W");
-                builder.add(generateIntFlagMappingBuilder(property.getIntFlagEntries()));
-                break;
-        }
+        builder.addStatement("mPropertiesMapped = true");
 
-        return builder.add(")").build();
+        return builder.build();
     }
 
     /**
-     * Generate a check that throws
-     * {@link android.view.inspector.InspectionCompanion.UninitializedPropertyMapException}
-     * if the properties haven't been initialized.
+     * Generate a {@link android.view.inspector.PropertyMapper} invocation.
      *
+     * Example:
      * <pre>
-     *     if (!mPropertiesMapped) {
-     *         throw new InspectionCompanion.UninitializedPropertyMapException();
-     *     }
+     *     mValueId = propertyMapper.mapInt("value", R.attr.value);
      * </pre>
      *
-     * @return A codeblock containing the property map initialization check
+     * @param property A property model to map
+     * @param field The property ID field for the property
+     * @return A code block containing a statement
      */
-    private CodeBlock generatePropertyMapInitializationCheck() {
-        return CodeBlock.builder()
-                .beginControlFlow("if (!$N)", M_PROPERTIES_MAPPED)
+    @NonNull
+    private CodeBlock generateSimplePropertyMapperInvocation(
+            @NonNull Property property,
+            @NonNull FieldSpec field) {
+        return CodeBlock
+                .builder()
                 .addStatement(
-                        "throw new $T()",
-                        INSPECTION_COMPANION.nestedClass("UninitializedPropertyMapException"))
-                .endControlFlow()
+                        "$N = propertyMapper.map$L($S, $L)",
+                        field,
+                        methodSuffixForPropertyType(property.getType()),
+                        property.getName(),
+                        generateAttributeId(property))
                 .build();
     }
 
     /**
-     * Generate an invocation of {@link android.view.inspector.IntEnumMapping.Builder}.
+     * Generate a {@link android.view.inspector.PropertyMapper} invocation for an int enum.
      *
+     * Example:
      * <pre>
-     *      new IntEnumMapping.Builder()
-     *          .addValue("ONE", 1)
-     *          .build()
+     *     final SparseArray<String> valueEnumMapping = new SparseArray<>();
+     *     valueEnumMapping.put(1, "ONE");
+     *     valueEnumMapping.put(2, "TWO");
+     *     mValueId = propertyMapper.mapIntEnum("value", R.attr.value, valueEnumMapping::get);
      * </pre>
      *
-     * @return A codeblock containing the an int enum mapping builder
+     * @param property A property model to map
+     * @param field The property ID field for the property
+     * @param variable The name of a local variable to use to store the mapping in
+     * @return A code block containing a series of statements
      */
-    private CodeBlock generateIntEnumMappingBuilder(List<IntEnumEntry> intEnumEntries) {
-        final ArrayList<IntEnumEntry> sortedEntries = new ArrayList<>(intEnumEntries);
-        sortedEntries.sort(Comparator.comparing(IntEnumEntry::getValue));
+    @NonNull
+    private CodeBlock generateIntEnumPropertyMapperInvocation(
+            @NonNull Property property,
+            @NonNull FieldSpec field,
+            @NonNull String variable) {
+        final CodeBlock.Builder builder = CodeBlock.builder();
 
-        final CodeBlock.Builder builder = CodeBlock.builder()
-                .add("new $T()$>", INT_ENUM_MAPPING.nestedClass("Builder"));
+        final List<IntEnumEntry> enumEntries = property.getIntEnumEntries();
+        enumEntries.sort(Comparator.comparing(IntEnumEntry::getValue));
 
-        for (IntEnumEntry entry : sortedEntries) {
-            builder.add("\n.addValue($S, $L)", entry.getName(), entry.getValue());
+        builder.addStatement(
+                "final $1T<$2T> $3N = new $1T<>()",
+                SPARSE_ARRAY,
+                String.class,
+                variable);
+
+        for (IntEnumEntry enumEntry : enumEntries) {
+            builder.addStatement(
+                    "$N.put($L, $S)",
+                    variable,
+                    enumEntry.getValue(),
+                    enumEntry.getName());
         }
 
-        return builder.add("\n.build()$<").build();
+        builder.addStatement(
+                "$N = propertyMapper.mapIntEnum($S, $L, $N::get)",
+                field,
+                property.getName(),
+                generateAttributeId(property),
+                variable);
+
+        return builder.build();
     }
 
-    private CodeBlock generateIntFlagMappingBuilder(List<IntFlagEntry> intFlagEntries) {
-        final ArrayList<IntFlagEntry> sortedEntries = new ArrayList<>(intFlagEntries);
-        sortedEntries.sort(Comparator.comparing(IntFlagEntry::getName));
+    /**
+     * Generate a {@link android.view.inspector.PropertyMapper} invocation for an int flag.
+     *
+     * Example:
+     * <pre>
+     *     final IntFlagMapping valueFlagMapping = new IntFlagMapping();
+     *     valueFlagMapping.add(0x00000003, 0x00000001, "ONE");
+     *     valueFlagMapping.add(0x00000003, 0x00000002, "TWO");
+     *     mValueId = propertyMapper.mapIntFlag("value", R.attr.value, valueFlagMapping::get);
+     * </pre>
+     *
+     * @param property A property model to map
+     * @param field The property ID field for the property
+     * @param variable The name of a local variable to use to store the mapping in
+     * @return A code block containing a series of statements
+     */
+    @NonNull
+    private CodeBlock generateIntFlagPropertyMapperInvocation(
+            @NonNull Property property,
+            @NonNull FieldSpec field,
+            @NonNull String variable) {
+        final CodeBlock.Builder builder = CodeBlock.builder();
 
-        final CodeBlock.Builder builder = CodeBlock.builder()
-                .add("new $T()$>", INT_FLAG_MAPPING.nestedClass("Builder"));
+        final List<IntFlagEntry> flagEntries = property.getIntFlagEntries();
+        flagEntries.sort(Comparator.comparing(IntFlagEntry::getName));
 
-        for (IntFlagEntry entry : sortedEntries) {
-            if (entry.hasMask()) {
-                builder.add(
-                        "\n.addFlag($S, $L, $L)",
-                        entry.getName(),
-                        hexLiteral(entry.getTarget()),
-                        hexLiteral(entry.getMask()));
-            } else {
-                builder.add(
-                        "\n.addFlag($S, $L)",
-                        entry.getName(),
-                        hexLiteral(entry.getTarget()));
-            }
+        builder.addStatement(
+                "final $1T $2N = new $1T()",
+                INT_FLAG_MAPPING,
+                variable);
+
+        for (IntFlagEntry flagEntry : flagEntries) {
+            builder.addStatement(
+                    "$N.add($L, $L, $S)",
+                    variable,
+                    hexLiteral(flagEntry.getMask()),
+                    hexLiteral(flagEntry.getTarget()),
+                    flagEntry.getName());
         }
 
-        return builder.add("\n.build()$<").build();
+        builder.addStatement(
+                "$N = propertyMapper.mapIntFlag($S, $L, $N::get)",
+                field,
+                property.getName(),
+                generateAttributeId(property),
+                variable);
+
+        return builder.build();
+    }
+
+    /**
+     * Generate a literal attribute ID or reference to {@link android.R.attr}.
+     *
+     * Example: {@code R.attr.value} or {@code 0xdecafbad}.
+     *
+     * @param property A property model
+     * @return A code block containing the attribute ID
+     */
+    @NonNull
+    private CodeBlock generateAttributeId(@NonNull Property property) {
+        if (property.isAttributeIdInferrableFromR()) {
+            return CodeBlock.of("$T.attr.$L", R_CLASS_NAME, property.getName());
+        } else {
+            if (property.getAttributeId() == ID_NULL) {
+                return CodeBlock.of("$L", ID_NULL);
+            } else {
+                return CodeBlock.of("$L", hexLiteral(property.getAttributeId()));
+            }
+        }
+    }
+
+    /**
+     * Generate an implementation of
+     * {@link android.view.inspector.InspectionCompanion#readProperties(Object,
+     * android.view.inspector.PropertyReader)}.
+     *
+     * Example:
+     * <pre>
+     *     @Override
+     *     public void readProperties(MyNode node, PropertyReader propertyReader) {
+     *         if (!mPropertiesMapped) {
+     *             throw new InspectionCompanion.UninitializedPropertyMapException();
+     *         }
+     *         propertyReader.readInt(mValueId, node.getValue());
+     *     }
+     * </pre>
+     *
+     * @param properties An ordered list of property models
+     * @param fields A map from properties to their field specs
+     * @param nodeClass The class of the node, used for the parameter type
+     * @return A method definition
+     */
+    @NonNull
+    private MethodSpec generateReadProperties(
+            @NonNull List<Property> properties,
+            @NonNull Map<Property, FieldSpec> fields,
+            @NonNull ClassName nodeClass) {
+        final MethodSpec.Builder builder =  MethodSpec.methodBuilder("readProperties")
+                .addAnnotation(Override.class)
+                .addModifiers(Modifier.PUBLIC)
+                .addParameter(nodeClass, "node")
+                .addParameter(PROPERTY_READER, "propertyReader")
+                .beginControlFlow("if (!mPropertiesMapped)")
+                .addStatement(
+                        "throw new $T()",
+                        INSPECTION_COMPANION.nestedClass("UninitializedPropertyMapException"))
+                .endControlFlow();
+
+        for (Property property : properties) {
+            builder.addStatement(
+                    "propertyReader.read$L($N, node.$L)",
+                    methodSuffixForPropertyType(property.getType()),
+                    fields.get(property),
+                    property.getAccessor().invocation());
+        }
+
+        return builder.build();
+    }
+
+    /**
+     * Generate an implementation of
+     * {@link android.view.inspector.InspectionCompanion#getNodeName()}.
+     *
+     * Example:
+     * <pre>
+     *     @Override
+     *     public String getNodeName() {
+     *         return "nodeName";
+     *     }
+     * </pre>
+     *
+     * @param nodeName The name of this node
+     * @return A method definition that returns the node name
+     */
+    @NonNull
+    private MethodSpec generateGetNodeName(@NonNull String nodeName) {
+        return MethodSpec.methodBuilder("getNodeName")
+                .addAnnotation(Override.class)
+                .addModifiers(Modifier.PUBLIC)
+                .returns(String.class)
+                .addStatement("return $S", nodeName)
+                .build();
     }
 
     /**
@@ -397,14 +480,15 @@
      *
      * The generated class is added to the same package as the source class. If the class in the
      * model is a nested class, the nested class names are joined with {@code "$"}. The suffix
-     * {@code "$$InspectionCompanion"} is always added the the generated name. E.g.: For modeled
+     * {@code "$InspectionCompanion"} is always added to the generated name. E.g.: For modeled
      * class {@code com.example.Outer.Inner}, the generated class name will be
-     * {@code com.example.Outer$Inner$$InspectionCompanion}.
+     * {@code com.example.Outer$Inner$InspectionCompanion}.
      *
      * @param model The model to generate from
      * @return A class name for the generated inspection companion class
      */
-    private static ClassName generateClassName(InspectableClassModel model) {
+    @NonNull
+    private static ClassName generateClassName(@NonNull InspectableClassModel model) {
         final ClassName className = model.getClassName();
 
         return ClassName.get(
@@ -418,7 +502,8 @@
      * @param type The requested property type
      * @return A method suffix
      */
-    private static String methodSuffixForPropertyType(Property.Type type) {
+    @NonNull
+    private static String methodSuffixForPropertyType(@NonNull Property.Type type) {
         switch (type) {
             case BOOLEAN:
                 return "Boolean";
@@ -446,25 +531,21 @@
                 return "IntEnum";
             case INT_FLAG:
                 return "IntFlag";
+            case RESOURCE_ID:
+                return "ResourceId";
             default:
                 throw new NoSuchElementException(String.format("No such property type, %s", type));
         }
     }
 
+    /**
+     * Format an int as an 8 digit hex literal
+     *
+     * @param value The value to format
+     * @return A string representation of the hex literal
+     */
+    @NonNull
     private static String hexLiteral(int value) {
         return String.format("0x%08x", value);
     }
-
-    /**
-     * Value class that holds a {@link Property} and a {@link FieldSpec} for that property.
-     */
-    private static final class PropertyIdField {
-        private final FieldSpec mFieldSpec;
-        private final Property mProperty;
-
-        private PropertyIdField(FieldSpec fieldSpec, Property property) {
-            mFieldSpec = fieldSpec;
-            mProperty = property;
-        }
-    }
 }
diff --git a/tools/processors/view_inspector/src/java/android/processor/view/inspector/ModelProcessor.java b/tools/processors/view_inspector/src/java/android/processor/view/inspector/ModelProcessor.java
index 6f52260..ab38f4c 100644
--- a/tools/processors/view_inspector/src/java/android/processor/view/inspector/ModelProcessor.java
+++ b/tools/processors/view_inspector/src/java/android/processor/view/inspector/ModelProcessor.java
@@ -16,6 +16,8 @@
 
 package android.processor.view.inspector;
 
+import androidx.annotation.NonNull;
+
 import javax.lang.model.element.Element;
 
 /**
@@ -28,5 +30,5 @@
      * @param element The annotated element to operate on
      * @param model The model this element should be merged into
      */
-    void process(Element element, InspectableClassModel model);
+    void process(@NonNull Element element, @NonNull InspectableClassModel model);
 }
diff --git a/tools/processors/view_inspector/src/java/android/processor/view/inspector/PlatformInspectableProcessor.java b/tools/processors/view_inspector/src/java/android/processor/view/inspector/PlatformInspectableProcessor.java
index 01d9430..d9ed1fb 100644
--- a/tools/processors/view_inspector/src/java/android/processor/view/inspector/PlatformInspectableProcessor.java
+++ b/tools/processors/view_inspector/src/java/android/processor/view/inspector/PlatformInspectableProcessor.java
@@ -18,6 +18,8 @@
 
 import static javax.tools.Diagnostic.Kind.ERROR;
 
+import androidx.annotation.NonNull;
+
 import com.squareup.javapoet.ClassName;
 
 import java.io.IOException;
@@ -34,6 +36,7 @@
 import javax.lang.model.element.ElementKind;
 import javax.lang.model.element.Modifier;
 import javax.lang.model.element.TypeElement;
+import javax.lang.model.util.ElementFilter;
 
 
 /**
@@ -62,7 +65,9 @@
     }
 
     @Override
-    public boolean process(Set<? extends TypeElement> annotations, RoundEnvironment roundEnv) {
+    public boolean process(
+            @NonNull Set<? extends TypeElement> annotations,
+            @NonNull RoundEnvironment roundEnv) {
         final Map<String, InspectableClassModel> modelMap = new HashMap<>();
 
         for (TypeElement annotation : annotations) {
@@ -108,9 +113,9 @@
      * @param modelMap A map of qualified class names to models
      */
     private void runModelProcessor(
-            Set<? extends Element> elements,
-            ModelProcessor processor,
-            Map<String, InspectableClassModel> modelMap) {
+            @NonNull Set<? extends Element> elements,
+            @NonNull ModelProcessor processor,
+            @NonNull Map<String, InspectableClassModel> modelMap) {
         for (Element element : elements) {
             final Optional<TypeElement> classElement = enclosingClassElement(element);
 
@@ -127,13 +132,38 @@
 
             final InspectableClassModel model = modelMap.computeIfAbsent(
                     classElement.get().getQualifiedName().toString(),
-                    k -> new InspectableClassModel(ClassName.get(classElement.get())));
+                    k -> {
+                        if (hasNestedInspectionCompanion(classElement.get())) {
+                            fail(
+                                    String.format(
+                                            "Class %s already has an inspection companion.",
+                                            classElement.get().getQualifiedName().toString()),
+                                    element);
+                        }
+                        return new InspectableClassModel(ClassName.get(classElement.get()));
+                    });
 
             processor.process(element, model);
         }
     }
 
     /**
+     * Determine if a class has a nested class named {@code InspectionCompanion}.
+     *
+     * @param typeElement A type element representing the class to check
+     * @return f the class contains a class named {@code InspectionCompanion}
+     */
+    private static boolean hasNestedInspectionCompanion(@NonNull TypeElement typeElement) {
+        for (TypeElement nestedClass : ElementFilter.typesIn(typeElement.getEnclosedElements())) {
+            if (nestedClass.getSimpleName().toString().equals("InspectionCompanion")) {
+                return true;
+            }
+        }
+
+        return false;
+    }
+
+    /**
      * Get the nearest enclosing class if there is one.
      *
      * If {@param element} represents a class, it will be returned wrapped in an optional.
@@ -141,7 +171,8 @@
      * @param element An element to search from
      * @return A TypeElement of the nearest enclosing class or an empty optional
      */
-    private static Optional<TypeElement> enclosingClassElement(Element element) {
+    @NonNull
+    private static Optional<TypeElement> enclosingClassElement(@NonNull Element element) {
         Element cursor = element;
 
         while (cursor != null) {
@@ -160,7 +191,7 @@
      *
      * @param message Message to print
      */
-    private void fail(String message) {
+    private void fail(@NonNull String message) {
         processingEnv.getMessager().printMessage(ERROR, message);
     }
 
@@ -170,7 +201,7 @@
      * @param message Message to print
      * @param element The element that failed
      */
-    private void fail(String message, Element element) {
+    private void fail(@NonNull String message, @NonNull Element element) {
         processingEnv.getMessager().printMessage(ERROR, message, element);
     }
 }
diff --git a/tools/processors/view_inspector/src/java/android/processor/view/inspector/ProcessingException.java b/tools/processors/view_inspector/src/java/android/processor/view/inspector/ProcessingException.java
index b4c6466..7389c24 100644
--- a/tools/processors/view_inspector/src/java/android/processor/view/inspector/ProcessingException.java
+++ b/tools/processors/view_inspector/src/java/android/processor/view/inspector/ProcessingException.java
@@ -18,6 +18,9 @@
 
 import static javax.tools.Diagnostic.Kind.ERROR;
 
+import androidx.annotation.NonNull;
+import androidx.annotation.Nullable;
+
 import javax.annotation.processing.Messager;
 import javax.lang.model.element.AnnotationMirror;
 import javax.lang.model.element.AnnotationValue;
@@ -27,27 +30,30 @@
  * Internal exception used to signal an error processing an annotation.
  */
 final class ProcessingException extends RuntimeException {
-    private final Element mElement;
-    private final AnnotationMirror mAnnotationMirror;
-    private final AnnotationValue mAnnotationValue;
+    private final @Nullable Element mElement;
+    private final @Nullable AnnotationMirror mAnnotationMirror;
+    private final @Nullable AnnotationValue mAnnotationValue;
 
-    ProcessingException(String message) {
+    ProcessingException(@NonNull String message) {
         this(message, null, null, null);
     }
 
-    ProcessingException(String message, Element element) {
+    ProcessingException(@NonNull String message, @NonNull Element element) {
         this(message, element, null, null);
     }
 
-    ProcessingException(String message, Element element, AnnotationMirror annotationMirror) {
+    ProcessingException(
+            @NonNull String message,
+            @NonNull Element element,
+            @NonNull AnnotationMirror annotationMirror) {
         this(message, element, annotationMirror, null);
     }
 
     ProcessingException(
-            String message,
-            Element element,
-            AnnotationMirror annotationMirror,
-            AnnotationValue annotationValue) {
+            @NonNull String message,
+            @Nullable Element element,
+            @Nullable AnnotationMirror annotationMirror,
+            @Nullable AnnotationValue annotationValue) {
         super(message);
         mElement = element;
         mAnnotationMirror = annotationMirror;
@@ -59,7 +65,7 @@
      *
      * @param messager A Messager to print to
      */
-    void print(Messager messager) {
+    void print(@NonNull Messager messager) {
         if (mElement != null) {
             if (mAnnotationMirror != null) {
                 if (mAnnotationValue != null) {
diff --git a/tools/processors/view_inspector/test/java/android/processor/view/inspector/InspectionCompanionGeneratorTest.java b/tools/processors/view_inspector/test/java/android/processor/view/inspector/InspectionCompanionGeneratorTest.java
index 35f0fcf..3ec620a 100644
--- a/tools/processors/view_inspector/test/java/android/processor/view/inspector/InspectionCompanionGeneratorTest.java
+++ b/tools/processors/view_inspector/test/java/android/processor/view/inspector/InspectionCompanionGeneratorTest.java
@@ -82,6 +82,7 @@
         addProperty("object", "getObject", Property.Type.OBJECT);
         addProperty("color", "getColor", Property.Type.COLOR);
         addProperty("gravity", "getGravity", Property.Type.GRAVITY);
+        addProperty("resourceId", "getResourceId", Property.Type.RESOURCE_ID);
 
         assertGeneratedFileEquals("SimpleProperties");
     }
@@ -117,9 +118,9 @@
                 Property.Type.INT_ENUM);
 
         property.setIntEnumEntries(Arrays.asList(
-                new IntEnumEntry("THREE", 3),
-                new IntEnumEntry("TWO", 2),
-                new IntEnumEntry("ONE", 1)));
+                new IntEnumEntry(3, "THREE"),
+                new IntEnumEntry(2, "TWO"),
+                new IntEnumEntry(1, "ONE")));
 
         mModel.putProperty(property);
 
@@ -135,9 +136,9 @@
 
         property.setAttributeIdInferrableFromR(false);
         property.setIntFlagEntries(Arrays.asList(
-                new IntFlagEntry("TURBO", 0x1, 0x3),
-                new IntFlagEntry("OVERDRIVE", 0x2, 0x3),
-                new IntFlagEntry("WARP", 0x4)
+                new IntFlagEntry(0x3, 0x1, "TURBO"),
+                new IntFlagEntry(0x3, 0x2, "OVERDRIVE"),
+                new IntFlagEntry(0x4, "WARP")
         ));
 
         assertGeneratedFileEquals("IntFlag");
diff --git a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/FieldProperty.java.txt b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/FieldProperty.java.txt
index a44c43e..e4a8ba4 100644
--- a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/FieldProperty.java.txt
+++ b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/FieldProperty.java.txt
@@ -12,9 +12,9 @@
  * Generated by {@link android.processor.view.inspector.InspectionCompanionGenerator}
  * on behalf of {@link android.processor.view.inspector.InspectionCompanionGeneratorTest}.
  */
-public final class TestNode$$InspectionCompanion implements InspectionCompanion<TestNode> {
+public final class TestNode$InspectionCompanion implements InspectionCompanion<TestNode> {
     /**
-     * Set by {@link #mapProperties(PropertyMapper)} once properties have been mapped.
+     * Guards against reading properties before mapping them.
      */
     private boolean mPropertiesMapped = false;
 
diff --git a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/IntEnum.java.txt b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/IntEnum.java.txt
index 764aa8b..fa9dbfd 100644
--- a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/IntEnum.java.txt
+++ b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/IntEnum.java.txt
@@ -1,11 +1,12 @@
 package com.android.node;
 
 import android.R;
+import android.util.SparseArray;
 import android.view.inspector.InspectionCompanion;
-import android.view.inspector.IntEnumMapping;
 import android.view.inspector.PropertyMapper;
 import android.view.inspector.PropertyReader;
 import java.lang.Override;
+import java.lang.String;
 
 /**
  * Inspection companion for {@link TestNode}.
@@ -13,9 +14,9 @@
  * Generated by {@link android.processor.view.inspector.InspectionCompanionGenerator}
  * on behalf of {@link android.processor.view.inspector.InspectionCompanionGeneratorTest}.
  */
-public final class TestNode$$InspectionCompanion implements InspectionCompanion<TestNode> {
+public final class TestNode$InspectionCompanion implements InspectionCompanion<TestNode> {
     /**
-     * Set by {@link #mapProperties(PropertyMapper)} once properties have been mapped.
+     * Guards against reading properties before mapping them.
      */
     private boolean mPropertiesMapped = false;
 
@@ -26,12 +27,11 @@
 
     @Override
     public void mapProperties(PropertyMapper propertyMapper) {
-        mIntEnumPropertyId = propertyMapper.mapIntEnum("intEnumProperty", R.attr.intEnumProperty,
-                new IntEnumMapping.Builder()
-                    .addValue("ONE", 1)
-                    .addValue("TWO", 2)
-                    .addValue("THREE", 3)
-                    .build());
+        final SparseArray<String> intEnumPropertyEnumMapping = new SparseArray<>();
+        intEnumPropertyEnumMapping.put(1, "ONE");
+        intEnumPropertyEnumMapping.put(2, "TWO");
+        intEnumPropertyEnumMapping.put(3, "THREE");
+        mIntEnumPropertyId = propertyMapper.mapIntEnum("intEnumProperty", R.attr.intEnumProperty, intEnumPropertyEnumMapping::get);
         mPropertiesMapped = true;
     }
 
diff --git a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/IntFlag.java.txt b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/IntFlag.java.txt
index 75f2813..ed3d8ee 100644
--- a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/IntFlag.java.txt
+++ b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/IntFlag.java.txt
@@ -12,9 +12,9 @@
  * Generated by {@link android.processor.view.inspector.InspectionCompanionGenerator}
  * on behalf of {@link android.processor.view.inspector.InspectionCompanionGeneratorTest}.
  */
-public final class TestNode$$InspectionCompanion implements InspectionCompanion<TestNode> {
+public final class TestNode$InspectionCompanion implements InspectionCompanion<TestNode> {
     /**
-     * Set by {@link #mapProperties(PropertyMapper)} once properties have been mapped.
+     * Guards against reading properties before mapping them.
      */
     private boolean mPropertiesMapped = false;
 
@@ -25,11 +25,11 @@
 
     @Override
     public void mapProperties(PropertyMapper propertyMapper) {
-        mIntFlagId = propertyMapper.mapIntFlag("intFlag", 0, new IntFlagMapping.Builder()
-                    .addFlag("OVERDRIVE", 0x00000002, 0x00000003)
-                    .addFlag("TURBO", 0x00000001, 0x00000003)
-                    .addFlag("WARP", 0x00000004)
-                    .build());
+        final IntFlagMapping intFlagFlagMapping = new IntFlagMapping();
+        intFlagFlagMapping.add(0x00000003, 0x00000002, "OVERDRIVE");
+        intFlagFlagMapping.add(0x00000003, 0x00000001, "TURBO");
+        intFlagFlagMapping.add(0x00000004, 0x00000004, "WARP");
+        mIntFlagId = propertyMapper.mapIntFlag("intFlag", 0, intFlagFlagMapping::get);
         mPropertiesMapped = true;
     }
 
diff --git a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/NestedClass.java.txt b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/NestedClass.java.txt
index 0cac462..4514ed9 100644
--- a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/NestedClass.java.txt
+++ b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/NestedClass.java.txt
@@ -11,9 +11,9 @@
  * Generated by {@link android.processor.view.inspector.InspectionCompanionGenerator}
  * on behalf of {@link android.processor.view.inspector.InspectionCompanionGeneratorTest}.
  */
-public final class Outer$Inner$$InspectionCompanion implements InspectionCompanion<Outer.Inner> {
+public final class Outer$Inner$InspectionCompanion implements InspectionCompanion<Outer.Inner> {
     /**
-     * Set by {@link #mapProperties(PropertyMapper)} once properties have been mapped.
+     * Guards against reading properties before mapping them.
      */
     private boolean mPropertiesMapped = false;
 
diff --git a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/NoAttributeId.java.txt b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/NoAttributeId.java.txt
index ce0f867..563f93df 100644
--- a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/NoAttributeId.java.txt
+++ b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/NoAttributeId.java.txt
@@ -11,9 +11,9 @@
  * Generated by {@link android.processor.view.inspector.InspectionCompanionGenerator}
  * on behalf of {@link android.processor.view.inspector.InspectionCompanionGeneratorTest}.
  */
-public final class TestNode$$InspectionCompanion implements InspectionCompanion<TestNode> {
+public final class TestNode$InspectionCompanion implements InspectionCompanion<TestNode> {
     /**
-     * Set by {@link #mapProperties(PropertyMapper)} once properties have been mapped.
+     * Guards against reading properties before mapping them.
      */
     private boolean mPropertiesMapped = false;
 
diff --git a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/NodeName.java.txt b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/NodeName.java.txt
index f7357fe..ffa1f0b 100644
--- a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/NodeName.java.txt
+++ b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/NodeName.java.txt
@@ -12,9 +12,9 @@
  * Generated by {@link android.processor.view.inspector.InspectionCompanionGenerator}
  * on behalf of {@link android.processor.view.inspector.InspectionCompanionGeneratorTest}.
  */
-public final class TestNode$$InspectionCompanion implements InspectionCompanion<TestNode> {
+public final class TestNode$InspectionCompanion implements InspectionCompanion<TestNode> {
     /**
-     * Set by {@link #mapProperties(PropertyMapper)} once properties have been mapped.
+     * Guards against reading properties before mapping them.
      */
     private boolean mPropertiesMapped = false;
 
diff --git a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/SimpleProperties.java.txt b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/SimpleProperties.java.txt
index dfc1bce..cb85767 100644
--- a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/SimpleProperties.java.txt
+++ b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/SimpleProperties.java.txt
@@ -12,9 +12,9 @@
  * Generated by {@link android.processor.view.inspector.InspectionCompanionGenerator}
  * on behalf of {@link android.processor.view.inspector.InspectionCompanionGeneratorTest}.
  */
-public final class TestNode$$InspectionCompanion implements InspectionCompanion<TestNode> {
+public final class TestNode$InspectionCompanion implements InspectionCompanion<TestNode> {
     /**
-     * Set by {@link #mapProperties(PropertyMapper)} once properties have been mapped.
+     * Guards against reading properties before mapping them.
      */
     private boolean mPropertiesMapped = false;
 
@@ -69,6 +69,11 @@
     private int mObjectId;
 
     /**
+     * Property ID of {@code resourceId}.
+     */
+    private int mResourceIdId;
+
+    /**
      * Property ID of {@code short}.
      */
     private int mShortId;
@@ -85,6 +90,7 @@
         mIntId = propertyMapper.mapInt("int", R.attr.int);
         mLongId = propertyMapper.mapLong("long", R.attr.long);
         mObjectId = propertyMapper.mapObject("object", R.attr.object);
+        mResourceIdId = propertyMapper.mapResourceId("resourceId", R.attr.resourceId);
         mShortId = propertyMapper.mapShort("short", R.attr.short);
         mPropertiesMapped = true;
     }
@@ -104,6 +110,7 @@
         propertyReader.readInt(mIntId, node.getInt());
         propertyReader.readLong(mLongId, node.getLong());
         propertyReader.readObject(mObjectId, node.getObject());
+        propertyReader.readResourceId(mResourceIdId, node.getResourceId());
         propertyReader.readShort(mShortId, node.getShort());
     }
 }
diff --git a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/SuppliedAttributeId.java.txt b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/SuppliedAttributeId.java.txt
index d72cdd5..731d410 100644
--- a/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/SuppliedAttributeId.java.txt
+++ b/tools/processors/view_inspector/test/resources/android/processor/view/inspector/InspectionCompanionGeneratorTest/SuppliedAttributeId.java.txt
@@ -11,9 +11,9 @@
  * Generated by {@link android.processor.view.inspector.InspectionCompanionGenerator}
  * on behalf of {@link android.processor.view.inspector.InspectionCompanionGeneratorTest}.
  */
-public final class TestNode$$InspectionCompanion implements InspectionCompanion<TestNode> {
+public final class TestNode$InspectionCompanion implements InspectionCompanion<TestNode> {
     /**
-     * Set by {@link #mapProperties(PropertyMapper)} once properties have been mapped.
+     * Guards against reading properties before mapping them.
      */
     private boolean mPropertiesMapped = false;
 
@@ -24,8 +24,7 @@
 
     @Override
     public void mapProperties(PropertyMapper propertyMapper) {
-        mSuppliedAttributePropertyId = propertyMapper.mapInt("suppliedAttributeProperty",
-                0xdecafbad);
+        mSuppliedAttributePropertyId = propertyMapper.mapInt("suppliedAttributeProperty", 0xdecafbad);
         mPropertiesMapped = true;
     }
 
diff --git a/wifi/java/android/net/wifi/IWifiUsabilityStatsListener.aidl b/wifi/java/android/net/wifi/IOnWifiUsabilityStatsListener.aidl
similarity index 92%
rename from wifi/java/android/net/wifi/IWifiUsabilityStatsListener.aidl
rename to wifi/java/android/net/wifi/IOnWifiUsabilityStatsListener.aidl
index 284ffaa..4687f30 100644
--- a/wifi/java/android/net/wifi/IWifiUsabilityStatsListener.aidl
+++ b/wifi/java/android/net/wifi/IOnWifiUsabilityStatsListener.aidl
@@ -23,7 +23,7 @@
  *
  * @hide
  */
-oneway interface IWifiUsabilityStatsListener
+oneway interface IOnWifiUsabilityStatsListener
 {
     /**
      * Service to manager callback providing current Wi-Fi usability stats.
@@ -36,6 +36,6 @@
      *                           Wi-Fi usability stats.
      * @param stats The updated Wi-Fi usability statistics.
      */
-    void onStatsUpdated(int seqNum, boolean isSameBssidAndFreq,
+    void onWifiUsabilityStats(int seqNum, boolean isSameBssidAndFreq,
             in WifiUsabilityStatsEntry stats);
 }
diff --git a/wifi/java/android/net/wifi/IWifiManager.aidl b/wifi/java/android/net/wifi/IWifiManager.aidl
index 17948e7..62ea9af 100644
--- a/wifi/java/android/net/wifi/IWifiManager.aidl
+++ b/wifi/java/android/net/wifi/IWifiManager.aidl
@@ -28,7 +28,7 @@
 import android.net.wifi.INetworkRequestMatchCallback;
 import android.net.wifi.ISoftApCallback;
 import android.net.wifi.ITrafficStateCallback;
-import android.net.wifi.IWifiUsabilityStatsListener;
+import android.net.wifi.IOnWifiUsabilityStatsListener;
 import android.net.wifi.PasspointManagementObjectDefinition;
 import android.net.wifi.ScanResult;
 import android.net.wifi.WifiActivityEnergyInfo;
@@ -190,9 +190,9 @@
 
     void unregisterSoftApCallback(int callbackIdentifier);
 
-    void addWifiUsabilityStatsListener(in IBinder binder, in IWifiUsabilityStatsListener listener, int listenerIdentifier);
+    void addOnWifiUsabilityStatsListener(in IBinder binder, in IOnWifiUsabilityStatsListener listener, int listenerIdentifier);
 
-    void removeWifiUsabilityStatsListener(int listenerIdentifier);
+    void removeOnWifiUsabilityStatsListener(int listenerIdentifier);
 
     void registerTrafficStateCallback(in IBinder binder, in ITrafficStateCallback callback, int callbackIdentifier);
 
diff --git a/wifi/java/android/net/wifi/WifiConfiguration.java b/wifi/java/android/net/wifi/WifiConfiguration.java
index c59ad65..47633005 100644
--- a/wifi/java/android/net/wifi/WifiConfiguration.java
+++ b/wifi/java/android/net/wifi/WifiConfiguration.java
@@ -561,41 +561,48 @@
      * See {@link KeyMgmt} for descriptions of the values.
      * Defaults to WPA-PSK WPA-EAP.
      */
+    @NonNull
     public BitSet allowedKeyManagement;
     /**
      * The set of security protocols supported by this configuration.
      * See {@link Protocol} for descriptions of the values.
      * Defaults to WPA RSN.
      */
+    @NonNull
     public BitSet allowedProtocols;
     /**
      * The set of authentication protocols supported by this configuration.
      * See {@link AuthAlgorithm} for descriptions of the values.
      * Defaults to automatic selection.
      */
+    @NonNull
     public BitSet allowedAuthAlgorithms;
     /**
      * The set of pairwise ciphers for WPA supported by this configuration.
      * See {@link PairwiseCipher} for descriptions of the values.
      * Defaults to CCMP TKIP.
      */
+    @NonNull
     public BitSet allowedPairwiseCiphers;
     /**
      * The set of group ciphers supported by this configuration.
      * See {@link GroupCipher} for descriptions of the values.
      * Defaults to CCMP TKIP WEP104 WEP40.
      */
+    @NonNull
     public BitSet allowedGroupCiphers;
     /**
      * The set of group management ciphers supported by this configuration.
      * See {@link GroupMgmtCipher} for descriptions of the values.
      */
+    @NonNull
     public BitSet allowedGroupManagementCiphers;
     /**
      * The set of SuiteB ciphers supported by this configuration.
      * To be used for WPA3-Enterprise mode.
      * See {@link SuiteBCipher} for descriptions of the values.
      */
+    @NonNull
     public BitSet allowedSuiteBCiphers;
     /**
      * The enterprise configuration details specifying the EAP method,
@@ -1164,39 +1171,49 @@
          * This network is disabled because EAP-TLS failure
          */
         public static final int DISABLED_TLS_VERSION_MISMATCH = 8;
+        /**
+         * This network is disabled due to WifiManager.disconnect() call.
+         */
+        public static final int DISABLED_BY_WIFI_MANAGER_DISCONNECT = 9;
+
         // Values above are for temporary disablement; values below are for permanent disablement.
         /**
+         * The starting index for permanent network selection disabled reasons
+         */
+        public static final int NETWORK_SELECTION_DISABLED_PERMANENT_STARTING_INDEX = 10;
+        /**
          * This network is disabled due to absence of user credentials
          */
-        public static final int DISABLED_AUTHENTICATION_NO_CREDENTIALS = 9;
+        public static final int DISABLED_AUTHENTICATION_NO_CREDENTIALS = 10;
         /**
          * This network is permanently disabled because it has no Internet access and user does not
          * want to stay connected.
          */
-        public static final int DISABLED_NO_INTERNET_PERMANENT = 10;
+        public static final int DISABLED_NO_INTERNET_PERMANENT = 11;
         /**
-         * This network is disabled due to WifiManager disable it explicitly
+         * This network is disabled due to WifiManager.disable() call.
          */
-        public static final int DISABLED_BY_WIFI_MANAGER = 11;
+        public static final int DISABLED_BY_WIFI_MANAGER = 12;
         /**
          * This network is disabled due to user switching
          */
-        public static final int DISABLED_DUE_TO_USER_SWITCH = 12;
+        public static final int DISABLED_DUE_TO_USER_SWITCH = 13;
         /**
          * This network is disabled due to wrong password
          */
-        public static final int DISABLED_BY_WRONG_PASSWORD = 13;
+        public static final int DISABLED_BY_WRONG_PASSWORD = 14;
         /**
          * This network is disabled because service is not subscribed
          */
-        public static final int DISABLED_AUTHENTICATION_NO_SUBSCRIPTION = 14;
+        public static final int DISABLED_AUTHENTICATION_NO_SUBSCRIPTION = 15;
         /**
          * This Maximum disable reason value
          */
-        public static final int NETWORK_SELECTION_DISABLED_MAX = 15;
+        public static final int NETWORK_SELECTION_DISABLED_MAX = 16;
 
         /**
-         * Quality network selection disable reason String (for debug purpose)
+         * Quality network selection disable reason String (for debug purposes & configuration
+         * storage)
          */
         public static final String[] QUALITY_NETWORK_SELECTION_DISABLE_REASON = {
                 "NETWORK_SELECTION_ENABLE",
@@ -1208,6 +1225,7 @@
                 "NETWORK_SELECTION_DISABLED_NO_INTERNET_TEMPORARY",
                 "NETWORK_SELECTION_DISABLED_WPS_START",
                 "NETWORK_SELECTION_DISABLED_TLS_VERSION",
+                "NETWORK_SELECTION_DISABLED_BY_WIFI_MANAGER_DISCONNECT",
                 "NETWORK_SELECTION_DISABLED_AUTHENTICATION_NO_CREDENTIALS",
                 "NETWORK_SELECTION_DISABLED_NO_INTERNET_PERMANENT",
                 "NETWORK_SELECTION_DISABLED_BY_WIFI_MANAGER",
@@ -2080,7 +2098,7 @@
      * @hide
      */
     public String getKeyIdForCredentials(WifiConfiguration current) {
-        String keyMgmt = null;
+        String keyMgmt = "";
 
         try {
             // Get current config details for fields that are not initialized
@@ -2089,14 +2107,17 @@
                 allowedKeyManagement = current.allowedKeyManagement;
             }
             if (allowedKeyManagement.get(KeyMgmt.WPA_EAP)) {
-                keyMgmt = KeyMgmt.strings[KeyMgmt.WPA_EAP];
+                keyMgmt += KeyMgmt.strings[KeyMgmt.WPA_EAP];
             }
             if (allowedKeyManagement.get(KeyMgmt.OSEN)) {
-                keyMgmt = KeyMgmt.strings[KeyMgmt.OSEN];
+                keyMgmt += KeyMgmt.strings[KeyMgmt.OSEN];
             }
             if (allowedKeyManagement.get(KeyMgmt.IEEE8021X)) {
                 keyMgmt += KeyMgmt.strings[KeyMgmt.IEEE8021X];
             }
+            if (allowedKeyManagement.get(KeyMgmt.SUITE_B_192)) {
+                keyMgmt += KeyMgmt.strings[KeyMgmt.SUITE_B_192];
+            }
 
             if (TextUtils.isEmpty(keyMgmt)) {
                 throw new IllegalStateException("Not an EAP network");
diff --git a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
index 7a505a2..950c6f8 100644
--- a/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
+++ b/wifi/java/android/net/wifi/WifiEnterpriseConfig.java
@@ -139,6 +139,8 @@
     private X509Certificate[] mClientCertificateChain;
     private int mEapMethod = Eap.NONE;
     private int mPhase2Method = Phase2.NONE;
+    private boolean mIsAppInstalledDeviceKeyAndCert = false;
+    private boolean mIsAppInstalledCaCert = false;
 
     private static final String TAG = "WifiEnterpriseConfig";
 
@@ -181,6 +183,8 @@
         }
         mEapMethod = source.mEapMethod;
         mPhase2Method = source.mPhase2Method;
+        mIsAppInstalledDeviceKeyAndCert = source.mIsAppInstalledDeviceKeyAndCert;
+        mIsAppInstalledCaCert = source.mIsAppInstalledCaCert;
     }
 
     /**
@@ -224,6 +228,8 @@
         ParcelUtil.writeCertificates(dest, mCaCerts);
         ParcelUtil.writePrivateKey(dest, mClientPrivateKey);
         ParcelUtil.writeCertificates(dest, mClientCertificateChain);
+        dest.writeBoolean(mIsAppInstalledDeviceKeyAndCert);
+        dest.writeBoolean(mIsAppInstalledCaCert);
     }
 
     public static final @android.annotation.NonNull Creator<WifiEnterpriseConfig> CREATOR =
@@ -243,6 +249,8 @@
                     enterpriseConfig.mCaCerts = ParcelUtil.readCertificates(in);
                     enterpriseConfig.mClientPrivateKey = ParcelUtil.readPrivateKey(in);
                     enterpriseConfig.mClientCertificateChain = ParcelUtil.readCertificates(in);
+                    enterpriseConfig.mIsAppInstalledDeviceKeyAndCert = in.readBoolean();
+                    enterpriseConfig.mIsAppInstalledCaCert = in.readBoolean();
                     return enterpriseConfig;
                 }
 
@@ -652,8 +660,10 @@
     public void setCaCertificate(@Nullable X509Certificate cert) {
         if (cert != null) {
             if (cert.getBasicConstraints() >= 0) {
+                mIsAppInstalledCaCert = true;
                 mCaCerts = new X509Certificate[] {cert};
             } else {
+                mCaCerts = null;
                 throw new IllegalArgumentException("Not a CA certificate");
             }
         } else {
@@ -694,10 +704,12 @@
                 if (certs[i].getBasicConstraints() >= 0) {
                     newCerts[i] = certs[i];
                 } else {
+                    mCaCerts = null;
                     throw new IllegalArgumentException("Not a CA certificate");
                 }
             }
             mCaCerts = newCerts;
+            mIsAppInstalledCaCert = true;
         } else {
             mCaCerts = null;
         }
@@ -853,6 +865,7 @@
 
         mClientPrivateKey = privateKey;
         mClientCertificateChain = newCerts;
+        mIsAppInstalledDeviceKeyAndCert = true;
     }
 
     /**
@@ -1147,4 +1160,30 @@
         }
         return true;
     }
+
+    /**
+     * Check if certificate was installed by an app, or manually (not by an app). If true,
+     * certificate and keys will be removed from key storage when this network is removed. If not,
+     * then certificates and keys remain persistent until the user manually removes them.
+     *
+     * @return true if certificate was installed by an app, false if certificate was installed
+     * manually by the user.
+     * @hide
+     */
+    public boolean isAppInstalledDeviceKeyAndCert() {
+        return mIsAppInstalledDeviceKeyAndCert;
+    }
+
+    /**
+     * Check if CA certificate was installed by an app, or manually (not by an app). If true,
+     * CA certificate will be removed from key storage when this network is removed. If not,
+     * then certificates and keys remain persistent until the user manually removes them.
+     *
+     * @return true if CA certificate was installed by an app, false if CA certificate was installed
+     * manually by the user.
+     * @hide
+     */
+    public boolean isAppInstalledCaCert() {
+        return mIsAppInstalledCaCert;
+    }
 }
diff --git a/wifi/java/android/net/wifi/WifiInfo.java b/wifi/java/android/net/wifi/WifiInfo.java
index ee60408..0b55794 100644
--- a/wifi/java/android/net/wifi/WifiInfo.java
+++ b/wifi/java/android/net/wifi/WifiInfo.java
@@ -539,9 +539,10 @@
         mFqdn = fqdn;
     }
 
-    /** {@hide} */
-    @SystemApi
-    public @Nullable String getFqdn() {
+    /**
+     * Returns the Fully Qualified Domain Name of the network if it is a Passpoint network.
+     */
+    public @Nullable String getPasspointFqdn() {
         return mFqdn;
     }
 
@@ -550,9 +551,10 @@
         mProviderFriendlyName = providerFriendlyName;
     }
 
-    /** {@hide} */
-    @SystemApi
-    public @Nullable String getProviderFriendlyName() {
+    /**
+     * Returns the Provider Friendly Name of the network if it is a Passpoint network.
+     */
+    public @Nullable String getPasspointProviderFriendlyName() {
         return mProviderFriendlyName;
     }
 
diff --git a/wifi/java/android/net/wifi/WifiManager.java b/wifi/java/android/net/wifi/WifiManager.java
index 8ef976f..06a99e2 100644
--- a/wifi/java/android/net/wifi/WifiManager.java
+++ b/wifi/java/android/net/wifi/WifiManager.java
@@ -65,6 +65,7 @@
 import java.net.InetAddress;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
@@ -511,7 +512,7 @@
     /**
      * The look up key for an int that indicates why softAP started failed
      * currently support general and no_channel
-     * @see #SAP_START_FAILURE_GENERIC
+     * @see #SAP_START_FAILURE_GENERAL
      * @see #SAP_START_FAILURE_NO_CHANNEL
      *
      * @hide
@@ -615,15 +616,15 @@
     public @interface SapStartFailure {}
 
     /**
-     *  If WIFI AP start failed, this reason code means there is no legal channel exists on
-     *  user selected band by regulatory
+     *  All other reasons for AP start failure besides {@link #SAP_START_FAILURE_NO_CHANNEL}.
      *
      *  @hide
      */
     public static final int SAP_START_FAILURE_GENERAL= 0;
 
     /**
-     *  All other reason for AP start failed besides SAP_START_FAILURE_GENERAL
+     *  If Wi-Fi AP start failed, this reason code means that no legal channel exists on user
+     *  selected band due to regulatory constraints.
      *
      *  @hide
      */
@@ -947,7 +948,8 @@
     /**
      * Directed broadcast intent action indicating that the device has connected to one of the
      * network suggestions provided by the app. This will be sent post connection to a network
-     * which was created with {@link WifiNetworkSuggestion.Builder#setIsAppInteractionRequired()}
+     * which was created with {@link WifiNetworkSuggestion.Builder#setIsAppInteractionRequired(
+     * boolean)}
      * flag set.
      * <p>
      * Note: The broadcast is sent to the app only if it holds
@@ -1000,8 +1002,9 @@
     /**
      * In this Wi-Fi lock mode, Wi-Fi will not go to power save.
      * This results in operating with low packet latency.
-     * The lock is active  even when the device screen is off or
-     * the acquiring application is running in the background.
+     * The lock is only active when the device is connected to an access point.
+     * The lock is active even when the device screen is off or the acquiring application is
+     * running in the background.
      * This mode will consume more power and hence should be used only
      * when there is a need for this tradeoff.
      * <p>
@@ -1019,6 +1022,7 @@
      * In this Wi-Fi lock mode, Wi-Fi will operate with a priority to achieve low latency.
      * {@link #WIFI_MODE_FULL_LOW_LATENCY} lock has the following limitations:
      * <ol>
+     * <li>The lock is only active when the device is connected to an access point.</li>
      * <li>The lock is only active when the screen is on.</li>
      * <li>The lock is only active when the acquiring app is running in the foreground.</li>
      * </ol>
@@ -1272,7 +1276,10 @@
     })
     @NonNull
     public Map<OsuProvider, List<ScanResult>> getMatchingOsuProviders(
-            List<ScanResult> scanResults) {
+            @Nullable List<ScanResult> scanResults) {
+        if (scanResults == null) {
+            return new HashMap<>();
+        }
         try {
             return mService.getMatchingOsuProviders(scanResults);
         } catch (RemoteException e) {
@@ -3604,7 +3611,7 @@
             android.Manifest.permission.NETWORK_SETUP_WIZARD,
             android.Manifest.permission.NETWORK_STACK
     })
-    public void connect(WifiConfiguration config, ActionListener listener) {
+    public void connect(@NonNull WifiConfiguration config, @Nullable ActionListener listener) {
         if (config == null) throw new IllegalArgumentException("config cannot be null");
         // Use INVALID_NETWORK_ID for arg1 when passing a config object
         // arg1 is used to pass network id when the network already exists
@@ -3630,7 +3637,7 @@
             android.Manifest.permission.NETWORK_SETUP_WIZARD,
             android.Manifest.permission.NETWORK_STACK
     })
-    public void connect(int networkId, ActionListener listener) {
+    public void connect(int networkId, @Nullable ActionListener listener) {
         if (networkId < 0) throw new IllegalArgumentException("Network id cannot be negative");
         getChannel().sendMessage(CONNECT_NETWORK, networkId, putListener(listener));
     }
@@ -3661,7 +3668,7 @@
             android.Manifest.permission.NETWORK_SETUP_WIZARD,
             android.Manifest.permission.NETWORK_STACK
     })
-    public void save(WifiConfiguration config, ActionListener listener) {
+    public void save(@NonNull WifiConfiguration config, @Nullable ActionListener listener) {
         if (config == null) throw new IllegalArgumentException("config cannot be null");
         getChannel().sendMessage(SAVE_NETWORK, 0, putListener(listener), config);
     }
@@ -3685,7 +3692,7 @@
             android.Manifest.permission.NETWORK_SETUP_WIZARD,
             android.Manifest.permission.NETWORK_STACK
     })
-    public void forget(int netId, ActionListener listener) {
+    public void forget(int netId, @Nullable ActionListener listener) {
         if (netId < 0) throw new IllegalArgumentException("Network id cannot be negative");
         getChannel().sendMessage(FORGET_NETWORK, netId, putListener(listener));
     }
@@ -3705,7 +3712,7 @@
             android.Manifest.permission.NETWORK_SETUP_WIZARD,
             android.Manifest.permission.NETWORK_STACK
     })
-    public void disable(int netId, ActionListener listener) {
+    public void disable(int netId, @Nullable ActionListener listener) {
         if (netId < 0) throw new IllegalArgumentException("Network id cannot be negative");
         getChannel().sendMessage(DISABLE_NETWORK, netId, putListener(listener));
     }
@@ -4346,7 +4353,9 @@
 
     /**
      * Start subscription provisioning flow
+     *
      * @param provider {@link OsuProvider} to provision with
+     * @param executor the Executor on which to run the callback.
      * @param callback {@link ProvisioningCallback} for updates regarding provisioning flow
      * @hide
      */
@@ -4355,45 +4364,48 @@
             android.Manifest.permission.NETWORK_SETTINGS,
             android.Manifest.permission.NETWORK_SETUP_WIZARD
     })
-    public void startSubscriptionProvisioning(OsuProvider provider, ProvisioningCallback callback,
-            @Nullable Handler handler) {
-        Looper looper = (handler == null) ? Looper.getMainLooper() : handler.getLooper();
+    public void startSubscriptionProvisioning(@NonNull OsuProvider provider,
+            @NonNull @CallbackExecutor Executor executor, @NonNull ProvisioningCallback callback) {
+        // Verify arguments
+        if (executor == null) {
+            throw new IllegalArgumentException("executor must not be null");
+        }
+        if (callback == null) {
+            throw new IllegalArgumentException("callback must not be null");
+        }
         try {
             mService.startSubscriptionProvisioning(provider,
-                    new ProvisioningCallbackProxy(looper, callback));
+                    new ProvisioningCallbackProxy(executor, callback));
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
     }
 
+    /**
+     * Helper class to support OSU Provisioning callbacks
+     */
     private static class ProvisioningCallbackProxy extends IProvisioningCallback.Stub {
-        private final Handler mHandler;
+        private final Executor mExecutor;
         private final ProvisioningCallback mCallback;
 
-        ProvisioningCallbackProxy(Looper looper, ProvisioningCallback callback) {
-            mHandler = new Handler(looper);
+        ProvisioningCallbackProxy(Executor executor, ProvisioningCallback callback) {
+            mExecutor = executor;
             mCallback = callback;
         }
 
         @Override
         public void onProvisioningStatus(int status) {
-            mHandler.post(() -> {
-                mCallback.onProvisioningStatus(status);
-            });
+            mExecutor.execute(() -> mCallback.onProvisioningStatus(status));
         }
 
         @Override
         public void onProvisioningFailure(int status) {
-            mHandler.post(() -> {
-                mCallback.onProvisioningFailure(status);
-            });
+            mExecutor.execute(() -> mCallback.onProvisioningFailure(status));
         }
 
         @Override
         public void onProvisioningComplete() {
-            mHandler.post(() -> {
-                mCallback.onProvisioningComplete();
-            });
+            mExecutor.execute(() -> mCallback.onProvisioningComplete());
         }
     }
 
@@ -4780,13 +4792,13 @@
 
     /**
      * Interface for Wi-Fi usability statistics listener. Should be implemented by applications and
-     * set when calling {@link WifiManager#addWifiUsabilityStatsListener(Executor,
-     * WifiUsabilityStatsListener)}.
+     * set when calling {@link WifiManager#addOnWifiUsabilityStatsListener(Executor,
+     * OnWifiUsabilityStatsListener)}.
      *
      * @hide
      */
     @SystemApi
-    public interface WifiUsabilityStatsListener {
+    public interface OnWifiUsabilityStatsListener {
         /**
          * Called when Wi-Fi usability statistics is updated.
          *
@@ -4798,15 +4810,15 @@
          *                           Wi-Fi usability stats.
          * @param stats The updated Wi-Fi usability statistics.
          */
-        void onStatsUpdated(int seqNum, boolean isSameBssidAndFreq,
-                WifiUsabilityStatsEntry stats);
+        void onWifiUsabilityStats(int seqNum, boolean isSameBssidAndFreq,
+                @NonNull WifiUsabilityStatsEntry stats);
     }
 
     /**
-     * Adds a listener for Wi-Fi usability statistics. See {@link WifiUsabilityStatsListener}.
+     * Adds a listener for Wi-Fi usability statistics. See {@link OnWifiUsabilityStatsListener}.
      * Multiple listeners can be added. Callers will be invoked periodically by framework to
      * inform clients about the current Wi-Fi usability statistics. Callers can remove a previously
-     * added listener using {@link removeWifiUsabilityStatsListener}.
+     * added listener using {@link removeOnWifiUsabilityStatsListener}.
      *
      * @param executor The executor on which callback will be invoked.
      * @param listener Listener for Wifi usability statistics.
@@ -4815,25 +4827,25 @@
      */
     @SystemApi
     @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE)
-    public void addWifiUsabilityStatsListener(@NonNull @CallbackExecutor Executor executor,
-            @NonNull WifiUsabilityStatsListener listener) {
+    public void addOnWifiUsabilityStatsListener(@NonNull @CallbackExecutor Executor executor,
+            @NonNull OnWifiUsabilityStatsListener listener) {
         if (executor == null) throw new IllegalArgumentException("executor cannot be null");
         if (listener == null) throw new IllegalArgumentException("listener cannot be null");
         if (mVerboseLoggingEnabled) {
-            Log.v(TAG, "addWifiUsabilityStatsListener: listener=" + listener);
+            Log.v(TAG, "addOnWifiUsabilityStatsListener: listener=" + listener);
         }
         try {
-            mService.addWifiUsabilityStatsListener(new Binder(),
-                    new IWifiUsabilityStatsListener.Stub() {
+            mService.addOnWifiUsabilityStatsListener(new Binder(),
+                    new IOnWifiUsabilityStatsListener.Stub() {
                         @Override
-                        public void onStatsUpdated(int seqNum, boolean isSameBssidAndFreq,
+                        public void onWifiUsabilityStats(int seqNum, boolean isSameBssidAndFreq,
                                 WifiUsabilityStatsEntry stats) {
                             if (mVerboseLoggingEnabled) {
-                                Log.v(TAG, "WifiUsabilityStatsListener: onStatsUpdated: seqNum="
-                                        + seqNum);
+                                Log.v(TAG, "OnWifiUsabilityStatsListener: "
+                                        + "onWifiUsabilityStats: seqNum=" + seqNum);
                             }
                             Binder.withCleanCallingIdentity(() ->
-                                    executor.execute(() -> listener.onStatsUpdated(seqNum,
+                                    executor.execute(() -> listener.onWifiUsabilityStats(seqNum,
                                             isSameBssidAndFreq, stats)));
                         }
                     },
@@ -4854,13 +4866,13 @@
      */
     @SystemApi
     @RequiresPermission(android.Manifest.permission.WIFI_UPDATE_USABILITY_STATS_SCORE)
-    public void removeWifiUsabilityStatsListener(@NonNull WifiUsabilityStatsListener listener) {
+    public void removeOnWifiUsabilityStatsListener(@NonNull OnWifiUsabilityStatsListener listener) {
         if (listener == null) throw new IllegalArgumentException("listener cannot be null");
         if (mVerboseLoggingEnabled) {
-            Log.v(TAG, "removeWifiUsabilityStatsListener: listener=" + listener);
+            Log.v(TAG, "removeOnWifiUsabilityStatsListener: listener=" + listener);
         }
         try {
-            mService.removeWifiUsabilityStatsListener(listener.hashCode());
+            mService.removeOnWifiUsabilityStatsListener(listener.hashCode());
         } catch (RemoteException e) {
             throw e.rethrowFromSystemServer();
         }
@@ -4868,13 +4880,14 @@
 
     /**
      * Provide a Wi-Fi usability score information to be recorded (but not acted upon) by the
-     * framework. The Wi-Fi usability score is derived from {@link WifiUsabilityStatsListener}
+     * framework. The Wi-Fi usability score is derived from {@link OnWifiUsabilityStatsListener}
      * where a score is matched to Wi-Fi usability statistics using the sequence number. The score
      * is used to quantify whether Wi-Fi is usable in a future time.
      *
      * @param seqNum Sequence number of the Wi-Fi usability score.
-     * @param score The Wi-Fi usability score.
-     * @param predictionHorizonSec Prediction horizon of the Wi-Fi usability score.
+     * @param score The Wi-Fi usability score, expected range: [0, 100].
+     * @param predictionHorizonSec Prediction horizon of the Wi-Fi usability score in second,
+     *                             expected range: [0, 30].
      *
      * @hide
      */
diff --git a/wifi/java/android/net/wifi/WifiNetworkSpecifier.java b/wifi/java/android/net/wifi/WifiNetworkSpecifier.java
index 358bf31..6c2d7ff 100644
--- a/wifi/java/android/net/wifi/WifiNetworkSpecifier.java
+++ b/wifi/java/android/net/wifi/WifiNetworkSpecifier.java
@@ -183,10 +183,12 @@
         /**
          * Specifies whether this represents an Enhanced Open (OWE) network.
          *
+         * @param isEnhancedOpen {@code true} to indicate that the network uses enhanced open,
+         *                       {@code false} otherwise.
          * @return Instance of {@link Builder} to enable chaining of the builder method.
          */
-        public @NonNull Builder setIsEnhancedOpen() {
-            mIsEnhancedOpen = true;
+        public @NonNull Builder setIsEnhancedOpen(boolean isEnhancedOpen) {
+            mIsEnhancedOpen = isEnhancedOpen;
             return this;
         }
 
@@ -261,10 +263,12 @@
          * hidden networks need to be explicitly probed for.</li>
          * <li>If not set, defaults to false (i.e not a hidden network).</li>
          *
+         * @param isHiddenSsid {@code true} to indicate that the network is hidden, {@code false}
+         *                     otherwise.
          * @return Instance of {@link Builder} to enable chaining of the builder method.
          */
-        public @NonNull Builder setIsHiddenSsid() {
-            mIsHiddenSSID = true;
+        public @NonNull Builder setIsHiddenSsid(boolean isHiddenSsid) {
+            mIsHiddenSSID = isHiddenSsid;
             return this;
         }
 
@@ -408,7 +412,7 @@
          * @return Instance of {@link NetworkSpecifier}.
          * @throws IllegalStateException on invalid params set.
          */
-        public @NonNull NetworkSpecifier build() {
+        public @NonNull WifiNetworkSpecifier build() {
             if (!hasSetAnyPattern()) {
                 throw new IllegalStateException("one of setSsidPattern/setSsid/setBssidPattern/"
                         + "setBssid should be invoked for specifier");
diff --git a/wifi/java/android/net/wifi/WifiNetworkSuggestion.java b/wifi/java/android/net/wifi/WifiNetworkSuggestion.java
index 3742b83..a9c9939 100644
--- a/wifi/java/android/net/wifi/WifiNetworkSuggestion.java
+++ b/wifi/java/android/net/wifi/WifiNetworkSuggestion.java
@@ -18,6 +18,7 @@
 
 import static com.android.internal.util.Preconditions.checkNotNull;
 
+import android.annotation.IntRange;
 import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.app.ActivityThread;
@@ -159,10 +160,12 @@
         /**
          * Specifies whether this represents an Enhanced Open (OWE) network.
          *
+         * @param isEnhancedOpen {@code true} to indicate that the network used enhanced open,
+         *                       {@code false} otherwise.
          * @return Instance of {@link Builder} to enable chaining of the builder method.
          */
-        public @NonNull Builder setIsEnhancedOpen() {
-            mIsEnhancedOpen = true;
+        public @NonNull Builder setIsEnhancedOpen(boolean isEnhancedOpen) {
+            mIsEnhancedOpen = isEnhancedOpen;
             return this;
         }
 
@@ -235,10 +238,12 @@
          * <p>
          * <li>If not set, defaults to false (i.e not a hidden network).</li>
          *
+         * @param isHiddenSsid {@code true} to indicate that the network is hidden, {@code false}
+         *                     otherwise.
          * @return Instance of {@link Builder} to enable chaining of the builder method.
          */
-        public @NonNull Builder setIsHiddenSsid() {
-            mIsHiddenSSID = true;
+        public @NonNull Builder setIsHiddenSsid(boolean isHiddenSsid) {
+            mIsHiddenSSID = isHiddenSsid;
             return this;
         }
 
@@ -253,10 +258,12 @@
          * <p>
          * <li>If not set, defaults to false (i.e no app interaction required).</li>
          *
+         * @param isAppInteractionRequired {@code true} to indicate that app interaction is
+         *                                 required, {@code false} otherwise.
          * @return Instance of {@link Builder} to enable chaining of the builder method.
          */
-        public @NonNull Builder setIsAppInteractionRequired() {
-            mIsAppInteractionRequired = true;
+        public @NonNull Builder setIsAppInteractionRequired(boolean isAppInteractionRequired) {
+            mIsAppInteractionRequired = isAppInteractionRequired;
             return this;
         }
 
@@ -265,10 +272,12 @@
          * <p>
          * <li>If not set, defaults to false (i.e no user interaction required).</li>
          *
+         * @param isUserInteractionRequired {@code true} to indicate that user interaction is
+         *                                  required, {@code false} otherwise.
          * @return Instance of {@link Builder} to enable chaining of the builder method.
          */
-        public @NonNull Builder setIsUserInteractionRequired() {
-            mIsUserInteractionRequired = true;
+        public @NonNull Builder setIsUserInteractionRequired(boolean isUserInteractionRequired) {
+            mIsUserInteractionRequired = isUserInteractionRequired;
             return this;
         }
 
@@ -283,7 +292,7 @@
          * @return Instance of {@link Builder} to enable chaining of the builder method.
          * @throws IllegalArgumentException if the priority value is negative.
          */
-        public @NonNull Builder setPriority(int priority) {
+        public @NonNull Builder setPriority(@IntRange(from = 0) int priority) {
             if (priority < 0) {
                 throw new IllegalArgumentException("Invalid priority value " + priority);
             }
@@ -296,10 +305,12 @@
          * <p>
          * <li>If not set, defaults to false (i.e not metered).</li>
          *
+         * @param isMetered {@code true} to indicate that the network is metered, {@code false}
+         *                  otherwise.
          * @return Instance of {@link Builder} to enable chaining of the builder method.
          */
-        public @NonNull Builder setIsMetered() {
-            mIsMetered = true;
+        public @NonNull Builder setIsMetered(boolean isMetered) {
+            mIsMetered = isMetered;
             return this;
         }
 
@@ -392,7 +403,7 @@
          *      .setWpa3Passphrase("test6789")
          *      .build()
          * final List<WifiNetworkSuggestion> suggestionsList =
-         *      new ArrayList<WifiNetworkSuggestion> {{
+         *      new ArrayList<WifiNetworkSuggestion> &#123;{
          *          add(suggestion1);
          *          add(suggestion2);
          *          add(suggestion3);
diff --git a/wifi/java/android/net/wifi/WifiUsabilityStatsEntry.java b/wifi/java/android/net/wifi/WifiUsabilityStatsEntry.java
index 2dee971..01176f2 100644
--- a/wifi/java/android/net/wifi/WifiUsabilityStatsEntry.java
+++ b/wifi/java/android/net/wifi/WifiUsabilityStatsEntry.java
@@ -20,6 +20,7 @@
 import android.annotation.SystemApi;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.telephony.TelephonyManager.NetworkType;
 
 import java.lang.annotation.Retention;
 import java.lang.annotation.RetentionPolicy;
@@ -51,87 +52,99 @@
     public static final int PROBE_STATUS_FAILURE = 3;
 
     /** Absolute milliseconds from device boot when these stats were sampled */
-    public final long timeStampMs;
+    private final long mTimeStampMillis;
     /** The RSSI (in dBm) at the sample time */
-    public final int rssi;
+    private final int mRssi;
     /** Link speed at the sample time in Mbps */
-    public final int linkSpeedMbps;
+    private final int mLinkSpeedMbps;
     /** The total number of tx success counted from the last radio chip reset */
-    public final long totalTxSuccess;
+    private final long mTotalTxSuccess;
     /** The total number of MPDU data packet retries counted from the last radio chip reset */
-    public final long totalTxRetries;
+    private final long mTotalTxRetries;
     /** The total number of tx bad counted from the last radio chip reset */
-    public final long totalTxBad;
+    private final long mTotalTxBad;
     /** The total number of rx success counted from the last radio chip reset */
-    public final long totalRxSuccess;
+    private final long mTotalRxSuccess;
     /** The total time the wifi radio is on in ms counted from the last radio chip reset */
-    public final long totalRadioOnTimeMs;
+    private final long mTotalRadioOnTimeMillis;
     /** The total time the wifi radio is doing tx in ms counted from the last radio chip reset */
-    public final long totalRadioTxTimeMs;
+    private final long mTotalRadioTxTimeMillis;
     /** The total time the wifi radio is doing rx in ms counted from the last radio chip reset */
-    public final long totalRadioRxTimeMs;
+    private final long mTotalRadioRxTimeMillis;
     /** The total time spent on all types of scans in ms counted from the last radio chip reset */
-    public final long totalScanTimeMs;
+    private final long mTotalScanTimeMillis;
     /** The total time spent on nan scans in ms counted from the last radio chip reset */
-    public final long totalNanScanTimeMs;
+    private final long mTotalNanScanTimeMillis;
     /** The total time spent on background scans in ms counted from the last radio chip reset */
-    public final long totalBackgroundScanTimeMs;
+    private final long mTotalBackgroundScanTimeMillis;
     /** The total time spent on roam scans in ms counted from the last radio chip reset */
-    public final long totalRoamScanTimeMs;
+    private final long mTotalRoamScanTimeMillis;
     /** The total time spent on pno scans in ms counted from the last radio chip reset */
-    public final long totalPnoScanTimeMs;
+    private final long mTotalPnoScanTimeMillis;
     /** The total time spent on hotspot2.0 scans and GAS exchange in ms counted from the last radio
      * chip reset */
-    public final long totalHotspot2ScanTimeMs;
+    private final long mTotalHotspot2ScanTimeMillis;
     /** The total time CCA is on busy status on the current frequency in ms counted from the last
      * radio chip reset */
-    public final long totalCcaBusyFreqTimeMs;
-    /** The total radio on time of the current frequency from the last radio chip reset */
-    public final long totalRadioOnFreqTimeMs;
+    private final long mTotalCcaBusyFreqTimeMillis;
+    /** The total radio on time on the current frequency from the last radio chip reset */
+    private final long mTotalRadioOnFreqTimeMillis;
     /** The total number of beacons received from the last radio chip reset */
-    public final long totalBeaconRx;
+    private final long mTotalBeaconRx;
     /** The status of link probe since last stats update */
-    public final int probeStatusSinceLastUpdate;
+    @ProbeStatus private final int mProbeStatusSinceLastUpdate;
     /** The elapsed time of the most recent link probe since last stats update */
-    public final int probeElapsedTimeMsSinceLastUpdate;
+    private final int mProbeElapsedTimeSinceLastUpdateMillis;
     /** The MCS rate of the most recent link probe since last stats update */
-    public final int probeMcsRateSinceLastUpdate;
+    private final int mProbeMcsRateSinceLastUpdate;
     /** Rx link speed at the sample time in Mbps */
-    public final int rxLinkSpeedMbps;
+    private final int mRxLinkSpeedMbps;
+    private final @NetworkType int mCellularDataNetworkType;
+    private final int mCellularSignalStrengthDbm;
+    private final int mCellularSignalStrengthDb;
+    private final boolean mIsSameRegisteredCell;
 
     /** Constructor function {@hide} */
-    public WifiUsabilityStatsEntry(long timeStampMs, int rssi,
-            int linkSpeedMbps, long totalTxSuccess, long totalTxRetries,
-            long totalTxBad, long totalRxSuccess, long totalRadioOnTimeMs,
-            long totalRadioTxTimeMs, long totalRadioRxTimeMs, long totalScanTimeMs,
-            long totalNanScanTimeMs, long totalBackgroundScanTimeMs, long totalRoamScanTimeMs,
-            long totalPnoScanTimeMs, long totalHotspot2ScanTimeMs, long totalCcaBusyFreqTimeMs,
-            long totalRadioOnFreqTimeMs, long totalBeaconRx,
-            @ProbeStatus int probeStatusSinceLastUpdate, int probeElapsedTimeMsSinceLastUpdate,
-            int probeMcsRateSinceLastUpdate, int rxLinkSpeedMbps) {
-        this.timeStampMs = timeStampMs;
-        this.rssi = rssi;
-        this.linkSpeedMbps = linkSpeedMbps;
-        this.totalTxSuccess = totalTxSuccess;
-        this.totalTxRetries = totalTxRetries;
-        this.totalTxBad = totalTxBad;
-        this.totalRxSuccess = totalRxSuccess;
-        this.totalRadioOnTimeMs = totalRadioOnTimeMs;
-        this.totalRadioTxTimeMs = totalRadioTxTimeMs;
-        this.totalRadioRxTimeMs = totalRadioRxTimeMs;
-        this.totalScanTimeMs = totalScanTimeMs;
-        this.totalNanScanTimeMs = totalNanScanTimeMs;
-        this.totalBackgroundScanTimeMs = totalBackgroundScanTimeMs;
-        this.totalRoamScanTimeMs = totalRoamScanTimeMs;
-        this.totalPnoScanTimeMs = totalPnoScanTimeMs;
-        this.totalHotspot2ScanTimeMs = totalHotspot2ScanTimeMs;
-        this.totalCcaBusyFreqTimeMs = totalCcaBusyFreqTimeMs;
-        this.totalRadioOnFreqTimeMs = totalRadioOnFreqTimeMs;
-        this.totalBeaconRx = totalBeaconRx;
-        this.probeStatusSinceLastUpdate = probeStatusSinceLastUpdate;
-        this.probeElapsedTimeMsSinceLastUpdate = probeElapsedTimeMsSinceLastUpdate;
-        this.probeMcsRateSinceLastUpdate = probeMcsRateSinceLastUpdate;
-        this.rxLinkSpeedMbps = rxLinkSpeedMbps;
+    public WifiUsabilityStatsEntry(long timeStampMillis, int rssi, int linkSpeedMbps,
+            long totalTxSuccess, long totalTxRetries, long totalTxBad, long totalRxSuccess,
+            long totalRadioOnTimeMillis, long totalRadioTxTimeMillis, long totalRadioRxTimeMillis,
+            long totalScanTimeMillis, long totalNanScanTimeMillis,
+            long totalBackgroundScanTimeMillis,
+            long totalRoamScanTimeMillis, long totalPnoScanTimeMillis,
+            long totalHotspot2ScanTimeMillis,
+            long totalCcaBusyFreqTimeMillis, long totalRadioOnFreqTimeMillis, long totalBeaconRx,
+            @ProbeStatus int probeStatusSinceLastUpdate, int probeElapsedTimeSinceLastUpdateMillis,
+            int probeMcsRateSinceLastUpdate, int rxLinkSpeedMbps,
+            @NetworkType int cellularDataNetworkType,
+            int cellularSignalStrengthDbm, int cellularSignalStrengthDb,
+            boolean isSameRegisteredCell) {
+        mTimeStampMillis = timeStampMillis;
+        mRssi = rssi;
+        mLinkSpeedMbps = linkSpeedMbps;
+        mTotalTxSuccess = totalTxSuccess;
+        mTotalTxRetries = totalTxRetries;
+        mTotalTxBad = totalTxBad;
+        mTotalRxSuccess = totalRxSuccess;
+        mTotalRadioOnTimeMillis = totalRadioOnTimeMillis;
+        mTotalRadioTxTimeMillis = totalRadioTxTimeMillis;
+        mTotalRadioRxTimeMillis = totalRadioRxTimeMillis;
+        mTotalScanTimeMillis = totalScanTimeMillis;
+        mTotalNanScanTimeMillis = totalNanScanTimeMillis;
+        mTotalBackgroundScanTimeMillis = totalBackgroundScanTimeMillis;
+        mTotalRoamScanTimeMillis = totalRoamScanTimeMillis;
+        mTotalPnoScanTimeMillis = totalPnoScanTimeMillis;
+        mTotalHotspot2ScanTimeMillis = totalHotspot2ScanTimeMillis;
+        mTotalCcaBusyFreqTimeMillis = totalCcaBusyFreqTimeMillis;
+        mTotalRadioOnFreqTimeMillis = totalRadioOnFreqTimeMillis;
+        mTotalBeaconRx = totalBeaconRx;
+        mProbeStatusSinceLastUpdate = probeStatusSinceLastUpdate;
+        mProbeElapsedTimeSinceLastUpdateMillis = probeElapsedTimeSinceLastUpdateMillis;
+        mProbeMcsRateSinceLastUpdate = probeMcsRateSinceLastUpdate;
+        mRxLinkSpeedMbps = rxLinkSpeedMbps;
+        mCellularDataNetworkType = cellularDataNetworkType;
+        mCellularSignalStrengthDbm = cellularSignalStrengthDbm;
+        mCellularSignalStrengthDb = cellularSignalStrengthDb;
+        mIsSameRegisteredCell = isSameRegisteredCell;
     }
 
     /** Implement the Parcelable interface */
@@ -141,29 +154,33 @@
 
     /** Implement the Parcelable interface */
     public void writeToParcel(Parcel dest, int flags) {
-        dest.writeLong(timeStampMs);
-        dest.writeInt(rssi);
-        dest.writeInt(linkSpeedMbps);
-        dest.writeLong(totalTxSuccess);
-        dest.writeLong(totalTxRetries);
-        dest.writeLong(totalTxBad);
-        dest.writeLong(totalRxSuccess);
-        dest.writeLong(totalRadioOnTimeMs);
-        dest.writeLong(totalRadioTxTimeMs);
-        dest.writeLong(totalRadioRxTimeMs);
-        dest.writeLong(totalScanTimeMs);
-        dest.writeLong(totalNanScanTimeMs);
-        dest.writeLong(totalBackgroundScanTimeMs);
-        dest.writeLong(totalRoamScanTimeMs);
-        dest.writeLong(totalPnoScanTimeMs);
-        dest.writeLong(totalHotspot2ScanTimeMs);
-        dest.writeLong(totalCcaBusyFreqTimeMs);
-        dest.writeLong(totalRadioOnFreqTimeMs);
-        dest.writeLong(totalBeaconRx);
-        dest.writeInt(probeStatusSinceLastUpdate);
-        dest.writeInt(probeElapsedTimeMsSinceLastUpdate);
-        dest.writeInt(probeMcsRateSinceLastUpdate);
-        dest.writeInt(rxLinkSpeedMbps);
+        dest.writeLong(mTimeStampMillis);
+        dest.writeInt(mRssi);
+        dest.writeInt(mLinkSpeedMbps);
+        dest.writeLong(mTotalTxSuccess);
+        dest.writeLong(mTotalTxRetries);
+        dest.writeLong(mTotalTxBad);
+        dest.writeLong(mTotalRxSuccess);
+        dest.writeLong(mTotalRadioOnTimeMillis);
+        dest.writeLong(mTotalRadioTxTimeMillis);
+        dest.writeLong(mTotalRadioRxTimeMillis);
+        dest.writeLong(mTotalScanTimeMillis);
+        dest.writeLong(mTotalNanScanTimeMillis);
+        dest.writeLong(mTotalBackgroundScanTimeMillis);
+        dest.writeLong(mTotalRoamScanTimeMillis);
+        dest.writeLong(mTotalPnoScanTimeMillis);
+        dest.writeLong(mTotalHotspot2ScanTimeMillis);
+        dest.writeLong(mTotalCcaBusyFreqTimeMillis);
+        dest.writeLong(mTotalRadioOnFreqTimeMillis);
+        dest.writeLong(mTotalBeaconRx);
+        dest.writeInt(mProbeStatusSinceLastUpdate);
+        dest.writeInt(mProbeElapsedTimeSinceLastUpdateMillis);
+        dest.writeInt(mProbeMcsRateSinceLastUpdate);
+        dest.writeInt(mRxLinkSpeedMbps);
+        dest.writeInt(mCellularDataNetworkType);
+        dest.writeInt(mCellularSignalStrengthDbm);
+        dest.writeInt(mCellularSignalStrengthDb);
+        dest.writeBoolean(mIsSameRegisteredCell);
     }
 
     /** Implement the Parcelable interface */
@@ -178,7 +195,9 @@
                     in.readLong(), in.readLong(), in.readLong(),
                     in.readLong(), in.readLong(), in.readLong(),
                     in.readLong(), in.readLong(), in.readInt(),
-                    in.readInt(), in.readInt(), in.readInt()
+                    in.readInt(), in.readInt(), in.readInt(),
+                    in.readInt(), in.readInt(), in.readInt(),
+                    in.readBoolean()
             );
         }
 
@@ -186,4 +205,147 @@
             return new WifiUsabilityStatsEntry[size];
         }
     };
+
+    /** Absolute milliseconds from device boot when these stats were sampled */
+    public long getTimeStampMillis() {
+        return mTimeStampMillis;
+    }
+
+    /** The RSSI (in dBm) at the sample time */
+    public int getRssi() {
+        return mRssi;
+    }
+
+    /** Link speed at the sample time in Mbps */
+    public int getLinkSpeedMbps() {
+        return mLinkSpeedMbps;
+    }
+
+    /** The total number of tx success counted from the last radio chip reset */
+    public long getTotalTxSuccess() {
+        return mTotalTxSuccess;
+    }
+
+    /** The total number of MPDU data packet retries counted from the last radio chip reset */
+    public long getTotalTxRetries() {
+        return mTotalTxRetries;
+    }
+
+    /** The total number of tx bad counted from the last radio chip reset */
+    public long getTotalTxBad() {
+        return mTotalTxBad;
+    }
+
+    /** The total number of rx success counted from the last radio chip reset */
+    public long getTotalRxSuccess() {
+        return mTotalRxSuccess;
+    }
+
+    /** The total time the wifi radio is on in ms counted from the last radio chip reset */
+    public long getTotalRadioOnTimeMillis() {
+        return mTotalRadioOnTimeMillis;
+    }
+
+    /** The total time the wifi radio is doing tx in ms counted from the last radio chip reset */
+    public long getTotalRadioTxTimeMillis() {
+        return mTotalRadioTxTimeMillis;
+    }
+
+    /** The total time the wifi radio is doing rx in ms counted from the last radio chip reset */
+    public long getTotalRadioRxTimeMillis() {
+        return mTotalRadioRxTimeMillis;
+    }
+
+    /** The total time spent on all types of scans in ms counted from the last radio chip reset */
+    public long getTotalScanTimeMillis() {
+        return mTotalScanTimeMillis;
+    }
+
+    /** The total time spent on nan scans in ms counted from the last radio chip reset */
+    public long getTotalNanScanTimeMillis() {
+        return mTotalNanScanTimeMillis;
+    }
+
+    /** The total time spent on background scans in ms counted from the last radio chip reset */
+    public long getTotalBackgroundScanTimeMillis() {
+        return mTotalBackgroundScanTimeMillis;
+    }
+
+    /** The total time spent on roam scans in ms counted from the last radio chip reset */
+    public long getTotalRoamScanTimeMillis() {
+        return mTotalRoamScanTimeMillis;
+    }
+
+    /** The total time spent on pno scans in ms counted from the last radio chip reset */
+    public long getTotalPnoScanTimeMillis() {
+        return mTotalPnoScanTimeMillis;
+    }
+
+    /** The total time spent on hotspot2.0 scans and GAS exchange in ms counted from the last radio
+     * chip reset */
+    public long getTotalHotspot2ScanTimeMillis() {
+        return mTotalHotspot2ScanTimeMillis;
+    }
+
+    /** The total time CCA is on busy status on the current frequency in ms counted from the last
+     * radio chip reset */
+    public long getTotalCcaBusyFreqTimeMillis() {
+        return mTotalCcaBusyFreqTimeMillis;
+    }
+
+    /** The total radio on time on the current frequency from the last radio chip reset */
+    public long getTotalRadioOnFreqTimeMillis() {
+        return mTotalRadioOnFreqTimeMillis;
+    }
+
+    /** The total number of beacons received from the last radio chip reset */
+    public long getTotalBeaconRx() {
+        return mTotalBeaconRx;
+    }
+
+    /** The status of link probe since last stats update */
+    @ProbeStatus public int getProbeStatusSinceLastUpdate() {
+        return mProbeStatusSinceLastUpdate;
+    }
+
+    /** The elapsed time of the most recent link probe since last stats update */
+    public int getProbeElapsedTimeSinceLastUpdateMillis() {
+        return mProbeElapsedTimeSinceLastUpdateMillis;
+    }
+
+    /** The MCS rate of the most recent link probe since last stats update */
+    public int getProbeMcsRateSinceLastUpdate() {
+        return mProbeMcsRateSinceLastUpdate;
+    }
+
+    /** Rx link speed at the sample time in Mbps */
+    public int getRxLinkSpeedMbps() {
+        return mRxLinkSpeedMbps;
+    }
+
+    /** Cellular data network type currently in use on the device for data transmission */
+    @NetworkType public int getCellularDataNetworkType() {
+        return mCellularDataNetworkType;
+    }
+
+    /**
+     * Cellular signal strength in dBm, NR: CsiRsrp, LTE: Rsrp, WCDMA/TDSCDMA: Rscp,
+     * CDMA: Rssi, EVDO: Rssi, GSM: Rssi
+     */
+    public int getCellularSignalStrengthDbm() {
+        return mCellularSignalStrengthDbm;
+    }
+
+    /**
+     * Cellular signal strength in dB, NR: CsiSinr, LTE: Rsrq, WCDMA: EcNo, TDSCDMA: invalid,
+     * CDMA: Ecio, EVDO: SNR, GSM: invalid
+     */
+    public int getCellularSignalStrengthDb() {
+        return mCellularSignalStrengthDb;
+    }
+
+    /** Whether the primary registered cell of current entry is same as that of previous entry */
+    public boolean getIsSameRegisteredCell() {
+        return mIsSameRegisteredCell;
+    }
 }
diff --git a/wifi/java/android/net/wifi/aware/DiscoverySession.java b/wifi/java/android/net/wifi/aware/DiscoverySession.java
index a47e70b..d97f6fb 100644
--- a/wifi/java/android/net/wifi/aware/DiscoverySession.java
+++ b/wifi/java/android/net/wifi/aware/DiscoverySession.java
@@ -36,7 +36,7 @@
  * <ul>
  *      <li>Sending messages: {@link #sendMessage(PeerHandle, int, byte[])} method.
  *      <li>Creating a network-specifier when requesting a Aware connection using
- *      {@link WifiAwareManager.NetworkSpecifierBuilder}.
+ *      {@link WifiAwareNetworkSpecifier.Builder}.
  * </ul>
  * <p>
  * The {@link #close()} method must be called to destroy discovery sessions once they are
@@ -270,7 +270,7 @@
      * <p>
      * To set up an encrypted link use the
      * {@link #createNetworkSpecifierPassphrase(PeerHandle, String)} API.
-     * @deprecated Use the replacement {@link WifiAwareManager.NetworkSpecifierBuilder}.
+     * @deprecated Use the replacement {@link WifiAwareNetworkSpecifier.Builder}.
      *
      * @param peerHandle The peer's handle obtained through
      * {@link DiscoverySessionCallback#onServiceDiscovered(PeerHandle, byte[], java.util.List)}
@@ -320,7 +320,7 @@
      * <p>
      * Note: per the Wi-Fi Aware specification the roles are fixed - a Subscriber is an INITIATOR
      * and a Publisher is a RESPONDER.
-     * @deprecated Use the replacement {@link WifiAwareManager.NetworkSpecifierBuilder}.
+     * @deprecated Use the replacement {@link WifiAwareNetworkSpecifier.Builder}.
      *
      * @param peerHandle The peer's handle obtained through
      * {@link DiscoverySessionCallback#onServiceDiscovered(PeerHandle,
@@ -380,7 +380,7 @@
      * <p>
      * Note: per the Wi-Fi Aware specification the roles are fixed - a Subscriber is an INITIATOR
      * and a Publisher is a RESPONDER.
-     * @deprecated Use the replacement {@link WifiAwareManager.NetworkSpecifierBuilder}.
+     * @deprecated Use the replacement {@link WifiAwareNetworkSpecifier.Builder}.
      *
      * @param peerHandle The peer's handle obtained through
      * {@link DiscoverySessionCallback#onServiceDiscovered(PeerHandle,
diff --git a/wifi/java/android/net/wifi/aware/ParcelablePeerHandle.java b/wifi/java/android/net/wifi/aware/ParcelablePeerHandle.java
index ce67abf..ca473db 100644
--- a/wifi/java/android/net/wifi/aware/ParcelablePeerHandle.java
+++ b/wifi/java/android/net/wifi/aware/ParcelablePeerHandle.java
@@ -16,6 +16,7 @@
 
 package android.net.wifi.aware;
 
+import android.annotation.NonNull;
 import android.os.Parcel;
 import android.os.Parcelable;
 
@@ -29,7 +30,7 @@
      *
      * @param peerHandle The {@link PeerHandle} to be made parcelable.
      */
-    public ParcelablePeerHandle(PeerHandle peerHandle) {
+    public ParcelablePeerHandle(@NonNull PeerHandle peerHandle) {
         super(peerHandle.peerId);
     }
 
diff --git a/wifi/java/android/net/wifi/aware/WifiAwareManager.java b/wifi/java/android/net/wifi/aware/WifiAwareManager.java
index 8aef7a2..c9b0b12 100644
--- a/wifi/java/android/net/wifi/aware/WifiAwareManager.java
+++ b/wifi/java/android/net/wifi/aware/WifiAwareManager.java
@@ -21,7 +21,6 @@
 import android.annotation.Nullable;
 import android.annotation.SdkConstant;
 import android.annotation.SdkConstant.SdkConstantType;
-import android.annotation.SystemApi;
 import android.annotation.SystemService;
 import android.content.Context;
 import android.net.ConnectivityManager;
@@ -35,7 +34,6 @@
 import android.os.Message;
 import android.os.Process;
 import android.os.RemoteException;
-import android.text.TextUtils;
 import android.util.Log;
 
 import libcore.util.HexEncoding;
@@ -59,7 +57,7 @@
  * {@link WifiAwareSession#subscribe(SubscribeConfig, DiscoverySessionCallback, Handler)}.
  * <li>Create a Aware network specifier to be used with
  * {@link ConnectivityManager#requestNetwork(NetworkRequest, ConnectivityManager.NetworkCallback)}
- * to set-up a Aware connection with a peer. Refer to {@link NetworkSpecifierBuilder}.
+ * to set-up a Aware connection with a peer. Refer to {@link WifiAwareNetworkSpecifier.Builder}.
  * </ul>
  * <p>
  *     Aware may not be usable when Wi-Fi is disabled (and other conditions). To validate that
@@ -108,7 +106,7 @@
  *        <li>{@link NetworkRequest.Builder#addTransportType(int)} of
  *        {@link android.net.NetworkCapabilities#TRANSPORT_WIFI_AWARE}.
  *        <li>{@link NetworkRequest.Builder#setNetworkSpecifier(String)} using
- *        {@link NetworkSpecifierBuilder}.
+ *        {@link WifiAwareNetworkSpecifier.Builder}.
  *    </ul>
  */
 @SystemService(Context.WIFI_AWARE_SERVICE)
@@ -408,7 +406,7 @@
 
         if (!WifiAwareUtils.isLegacyVersion(mContext, Build.VERSION_CODES.Q)) {
             throw new UnsupportedOperationException(
-                    "API not deprecated - use WifiAwareManager.NetworkSpecifierBuilder");
+                    "API not deprecated - use WifiAwareNetworkSpecifier.Builder");
         }
 
         if (role != WIFI_AWARE_DATA_PATH_ROLE_INITIATOR
@@ -813,198 +811,4 @@
             mOriginalCallback.onSessionTerminated();
         }
     }
-
-    /**
-     * A builder class for a Wi-Fi Aware network specifier to set up an Aware connection with a
-     * peer.
-     * <p>
-     * Note that all Wi-Fi Aware connection specifier objects must call the
-     * {@link NetworkSpecifierBuilder#setDiscoverySession(DiscoverySession)} to specify the context
-     * within which the connection is created, and
-     * {@link NetworkSpecifierBuilder#setPeerHandle(PeerHandle)} to specify the peer to which the
-     * connection is created.
-     */
-    public static class NetworkSpecifierBuilder {
-        private DiscoverySession mDiscoverySession;
-        private PeerHandle mPeerHandle;
-        private String mPskPassphrase;
-        private byte[] mPmk;
-        private int mPort = 0; // invalid value
-        private int mTransportProtocol = -1; // invalid value
-
-        /**
-         * Configure the {@link PublishDiscoverySession} or {@link SubscribeDiscoverySession}
-         * discovery session in whose context the connection is created.
-         * <p>
-         * Note: this method must be called for any connection request!
-         *
-         * @param discoverySession A Wi-Fi Aware discovery session.
-         * @return the current {@link NetworkSpecifierBuilder} builder, enabling chaining of builder
-         *         methods.
-         */
-        public @NonNull NetworkSpecifierBuilder setDiscoverySession(
-                @NonNull DiscoverySession discoverySession) {
-            if (discoverySession == null) {
-                throw new IllegalArgumentException("Non-null discoverySession required");
-            }
-            mDiscoverySession = discoverySession;
-            return this;
-        }
-
-        /**
-         * Configure the {@link PeerHandle} of the peer to which the Wi-Fi Aware connection is
-         * requested. The peer is discovered through Wi-Fi Aware discovery,
-         * <p>
-         * Note: this method must be called for any connection request!
-         *
-         * @param peerHandle The peer's handle obtained through
-         * {@link DiscoverySessionCallback#onServiceDiscovered(PeerHandle, byte[], java.util.List)}
-         *                   or
-         *                   {@link DiscoverySessionCallback#onMessageReceived(PeerHandle, byte[])}.
-         * @return the current {@link NetworkSpecifierBuilder} builder, enabling chaining of builder
-         *         methods.
-         */
-        public @NonNull NetworkSpecifierBuilder setPeerHandle(@NonNull PeerHandle peerHandle) {
-            if (peerHandle == null) {
-                throw new IllegalArgumentException("Non-null peerHandle required");
-            }
-            mPeerHandle = peerHandle;
-            return this;
-        }
-
-        /**
-         * Configure the PSK Passphrase for the Wi-Fi Aware connection being requested. This method
-         * is optional - if not called, then an Open (unencrypted) connection will be created.
-         *
-         * @param pskPassphrase The (optional) passphrase to be used to encrypt the link.
-         * @return the current {@link NetworkSpecifierBuilder} builder, enabling chaining of builder
-         *         methods.
-         */
-        public @NonNull NetworkSpecifierBuilder setPskPassphrase(@NonNull String pskPassphrase) {
-            if (!WifiAwareUtils.validatePassphrase(pskPassphrase)) {
-                throw new IllegalArgumentException("Passphrase must meet length requirements");
-            }
-            mPskPassphrase = pskPassphrase;
-            return this;
-        }
-
-        /**
-         * Configure the PMK for the Wi-Fi Aware connection being requested. This method
-         * is optional - if not called, then an Open (unencrypted) connection will be created.
-         *
-         * @param pmk A PMK (pairwise master key, see IEEE 802.11i) specifying the key to use for
-         *            encrypting the data-path. Use the {@link #setPskPassphrase(String)} to
-         *            specify a Passphrase.
-         * @return the current {@link NetworkSpecifierBuilder} builder, enabling chaining of builder
-         *         methods.
-         * @hide
-         */
-        @SystemApi
-        public @NonNull NetworkSpecifierBuilder setPmk(@NonNull byte[] pmk) {
-            if (!WifiAwareUtils.validatePmk(pmk)) {
-                throw new IllegalArgumentException("PMK must 32 bytes");
-            }
-            mPmk = pmk;
-            return this;
-        }
-
-        /**
-         * Configure the port number which will be used to create a connection over this link. This
-         * configuration should only be done on the server device, e.g. the device creating the
-         * {@link java.net.ServerSocket}.
-         * <p>Notes:
-         * <ul>
-         *     <li>The server device must be the Publisher device!
-         *     <li>The port information can only be specified on secure links, specified using
-         *     {@link #setPskPassphrase(String)}.
-         * </ul>
-         *
-         * @param port A positive integer indicating the port to be used for communication.
-         * @return the current {@link NetworkSpecifierBuilder} builder, enabling chaining of builder
-         *         methods.
-         */
-        public @NonNull NetworkSpecifierBuilder setPort(int port) {
-            if (port <= 0 || port > 65535) {
-                throw new IllegalArgumentException("The port must be a positive value (0, 65535]");
-            }
-            mPort = port;
-            return this;
-        }
-
-        /**
-         * Configure the transport protocol which will be used to create a connection over this
-         * link. This configuration should only be done on the server device, e.g. the device
-         * creating the {@link java.net.ServerSocket} for TCP.
-         * <p>Notes:
-         * <ul>
-         *     <li>The server device must be the Publisher device!
-         *     <li>The transport protocol information can only be specified on secure links,
-         *     specified using {@link #setPskPassphrase(String)}.
-         * </ul>
-         * The transport protocol number is assigned by the Internet Assigned Numbers Authority
-         * (IANA) https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml.
-         *
-         * @param transportProtocol The transport protocol to be used for communication.
-         * @return the current {@link NetworkSpecifierBuilder} builder, enabling chaining of builder
-         *         methods.
-         */
-        public @NonNull NetworkSpecifierBuilder setTransportProtocol(int transportProtocol) {
-            if (transportProtocol < 0 || transportProtocol > 255) {
-                throw new IllegalArgumentException(
-                        "The transport protocol must be in range [0, 255]");
-            }
-            mTransportProtocol = transportProtocol;
-            return this;
-        }
-
-        /**
-         * Create a {@link android.net.NetworkRequest.Builder#setNetworkSpecifier(NetworkSpecifier)}
-         * for a WiFi Aware connection (link) to the specified peer. The
-         * {@link android.net.NetworkRequest.Builder#addTransportType(int)} should be set to
-         * {@link android.net.NetworkCapabilities#TRANSPORT_WIFI_AWARE}.
-         * <p> The default builder constructor will initialize a NetworkSpecifier which requests an
-         * open (non-encrypted) link. To request an encrypted link use the
-         * {@link #setPskPassphrase(String)} builder method.
-         *
-         * @return A {@link NetworkSpecifier} to be used to construct
-         * {@link android.net.NetworkRequest.Builder#setNetworkSpecifier(NetworkSpecifier)} to pass
-         * to {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest,
-         * android.net.ConnectivityManager.NetworkCallback)}
-         * [or other varieties of that API].
-         */
-        public @NonNull NetworkSpecifier build() {
-            if (mDiscoverySession == null) {
-                throw new IllegalStateException("Null discovery session!?");
-            }
-            if (mPskPassphrase != null & mPmk != null) {
-                throw new IllegalStateException(
-                        "Can only specify a Passphrase or a PMK - not both!");
-            }
-
-            int role = mDiscoverySession instanceof SubscribeDiscoverySession
-                    ? WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_INITIATOR
-                    : WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_RESPONDER;
-
-            if (mPort != 0 || mTransportProtocol != -1) {
-                if (role != WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_RESPONDER) {
-                    throw new IllegalStateException(
-                            "Port and transport protocol information can only "
-                                    + "be specified on the Publisher device (which is the server");
-                }
-                if (TextUtils.isEmpty(mPskPassphrase) && mPmk == null) {
-                    throw new IllegalStateException("Port and transport protocol information can "
-                            + "only be specified on a secure link");
-                }
-            }
-
-            if (role == WIFI_AWARE_DATA_PATH_ROLE_INITIATOR && mPeerHandle == null) {
-                throw new IllegalStateException("Null peerHandle!?");
-            }
-
-            return new WifiAwareNetworkSpecifier(
-                    WifiAwareNetworkSpecifier.NETWORK_SPECIFIER_TYPE_IB, role,
-                    mDiscoverySession.mClientId, mDiscoverySession.mSessionId, mPeerHandle.peerId,
-                    null, mPmk, mPskPassphrase, mPort, mTransportProtocol, Process.myUid());
-        }
-    }
 }
diff --git a/wifi/java/android/net/wifi/aware/WifiAwareNetworkInfo.java b/wifi/java/android/net/wifi/aware/WifiAwareNetworkInfo.java
index 020cb56..fd26817b 100644
--- a/wifi/java/android/net/wifi/aware/WifiAwareNetworkInfo.java
+++ b/wifi/java/android/net/wifi/aware/WifiAwareNetworkInfo.java
@@ -75,7 +75,7 @@
     /**
      * Get the port number to be used to create a network connection to the Wi-Fi Aware peer.
      * The port information is provided by the app running on the peer which requested the
-     * connection, using the {@link WifiAwareManager.NetworkSpecifierBuilder#setPort(int)}.
+     * connection, using the {@link WifiAwareNetworkSpecifier.Builder#setPort(int)}.
      *
      * @return A port number on the peer. A value of 0 indicates that no port was specified by the
      *         peer.
@@ -88,7 +88,7 @@
      * Get the transport protocol to be used to communicate over a network connection to the Wi-Fi
      * Aware peer. The transport protocol is provided by the app running on the peer which requested
      * the connection, using the
-     * {@link WifiAwareManager.NetworkSpecifierBuilder#setTransportProtocol(int)}.
+     * {@link WifiAwareNetworkSpecifier.Builder#setTransportProtocol(int)}.
      * <p>
      * The transport protocol number is assigned by the Internet Assigned Numbers Authority
      * (IANA) https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml.
diff --git a/wifi/java/android/net/wifi/aware/WifiAwareNetworkSpecifier.java b/wifi/java/android/net/wifi/aware/WifiAwareNetworkSpecifier.java
index 59f534a..b225116 100644
--- a/wifi/java/android/net/wifi/aware/WifiAwareNetworkSpecifier.java
+++ b/wifi/java/android/net/wifi/aware/WifiAwareNetworkSpecifier.java
@@ -16,9 +16,15 @@
 
 package android.net.wifi.aware;
 
+import static android.net.wifi.aware.WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_INITIATOR;
+
+import android.annotation.NonNull;
+import android.annotation.SystemApi;
 import android.net.NetworkSpecifier;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.os.Process;
+import android.text.TextUtils;
 
 import java.util.Arrays;
 import java.util.Objects;
@@ -29,8 +35,6 @@
  * {@link WifiAwareSession#createNetworkSpecifierOpen(int, byte[])} or
  * {@link DiscoverySession#createNetworkSpecifierOpen(PeerHandle)} or their secure (Passphrase)
  * versions.
- *
- * @hide
  */
 public final class WifiAwareNetworkSpecifier extends NetworkSpecifier implements Parcelable {
     /**
@@ -138,6 +142,8 @@
      * device they all get the same link. However, the link is only set up on the first request -
      * hence only the first can transmit the port information. But we don't want to expose that
      * information to other apps. Limiting to secure links would (usually) imply single app usage.
+     *
+     * @hide
      */
     public final int transportProtocol;
 
@@ -292,4 +298,197 @@
             throw new SecurityException("mismatched UIDs");
         }
     }
+
+    /**
+     * A builder class for a Wi-Fi Aware network specifier to set up an Aware connection with a
+     * peer.
+     * <p>
+     * Note that all Wi-Fi Aware connection specifier objects must call the
+     * {@link Builder#setDiscoverySession(DiscoverySession)} to specify the context
+     * within which the connection is created, and
+     * {@link Builder#setPeerHandle(PeerHandle)} to specify the peer to which the
+     * connection is created.
+     */
+    public static final class Builder {
+        private DiscoverySession mDiscoverySession;
+        private PeerHandle mPeerHandle;
+        private String mPskPassphrase;
+        private byte[] mPmk;
+        private int mPort = 0; // invalid value
+        private int mTransportProtocol = -1; // invalid value
+
+        /**
+         * Configure the {@link PublishDiscoverySession} or {@link SubscribeDiscoverySession}
+         * discovery session in whose context the connection is created.
+         * <p>
+         * Note: this method must be called for any connection request!
+         *
+         * @param discoverySession A Wi-Fi Aware discovery session.
+         * @return the current {@link Builder} builder, enabling chaining of builder
+         *         methods.
+         */
+        public @NonNull Builder setDiscoverySession(@NonNull DiscoverySession discoverySession) {
+            if (discoverySession == null) {
+                throw new IllegalArgumentException("Non-null discoverySession required");
+            }
+            mDiscoverySession = discoverySession;
+            return this;
+        }
+
+        /**
+         * Configure the {@link PeerHandle} of the peer to which the Wi-Fi Aware connection is
+         * requested. The peer is discovered through Wi-Fi Aware discovery,
+         * <p>
+         * Note: this method must be called for any connection request!
+         *
+         * @param peerHandle The peer's handle obtained through
+         * {@link DiscoverySessionCallback#onServiceDiscovered(PeerHandle, byte[], java.util.List)}
+         *                   or
+         *                   {@link DiscoverySessionCallback#onMessageReceived(PeerHandle, byte[])}.
+         * @return the current {@link Builder} builder, enabling chaining of builder
+         *         methods.
+         */
+        public @NonNull Builder setPeerHandle(@NonNull PeerHandle peerHandle) {
+            if (peerHandle == null) {
+                throw new IllegalArgumentException("Non-null peerHandle required");
+            }
+            mPeerHandle = peerHandle;
+            return this;
+        }
+
+        /**
+         * Configure the PSK Passphrase for the Wi-Fi Aware connection being requested. This method
+         * is optional - if not called, then an Open (unencrypted) connection will be created.
+         *
+         * @param pskPassphrase The (optional) passphrase to be used to encrypt the link.
+         * @return the current {@link Builder} builder, enabling chaining of builder
+         *         methods.
+         */
+        public @NonNull Builder setPskPassphrase(@NonNull String pskPassphrase) {
+            if (!WifiAwareUtils.validatePassphrase(pskPassphrase)) {
+                throw new IllegalArgumentException("Passphrase must meet length requirements");
+            }
+            mPskPassphrase = pskPassphrase;
+            return this;
+        }
+
+        /**
+         * Configure the PMK for the Wi-Fi Aware connection being requested. This method
+         * is optional - if not called, then an Open (unencrypted) connection will be created.
+         *
+         * @param pmk A PMK (pairwise master key, see IEEE 802.11i) specifying the key to use for
+         *            encrypting the data-path. Use the {@link #setPskPassphrase(String)} to
+         *            specify a Passphrase.
+         * @return the current {@link Builder} builder, enabling chaining of builder
+         *         methods.
+         * @hide
+         */
+        @SystemApi
+        public @NonNull Builder setPmk(@NonNull byte[] pmk) {
+            if (!WifiAwareUtils.validatePmk(pmk)) {
+                throw new IllegalArgumentException("PMK must 32 bytes");
+            }
+            mPmk = pmk;
+            return this;
+        }
+
+        /**
+         * Configure the port number which will be used to create a connection over this link. This
+         * configuration should only be done on the server device, e.g. the device creating the
+         * {@link java.net.ServerSocket}.
+         * <p>Notes:
+         * <ul>
+         *     <li>The server device must be the Publisher device!
+         *     <li>The port information can only be specified on secure links, specified using
+         *     {@link #setPskPassphrase(String)}.
+         * </ul>
+         *
+         * @param port A positive integer indicating the port to be used for communication.
+         * @return the current {@link Builder} builder, enabling chaining of builder
+         *         methods.
+         */
+        public @NonNull Builder setPort(int port) {
+            if (port <= 0 || port > 65535) {
+                throw new IllegalArgumentException("The port must be a positive value (0, 65535]");
+            }
+            mPort = port;
+            return this;
+        }
+
+        /**
+         * Configure the transport protocol which will be used to create a connection over this
+         * link. This configuration should only be done on the server device, e.g. the device
+         * creating the {@link java.net.ServerSocket} for TCP.
+         * <p>Notes:
+         * <ul>
+         *     <li>The server device must be the Publisher device!
+         *     <li>The transport protocol information can only be specified on secure links,
+         *     specified using {@link #setPskPassphrase(String)}.
+         * </ul>
+         * The transport protocol number is assigned by the Internet Assigned Numbers Authority
+         * (IANA) https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml.
+         *
+         * @param transportProtocol The transport protocol to be used for communication.
+         * @return the current {@link Builder} builder, enabling chaining of builder
+         *         methods.
+         */
+        public @NonNull Builder setTransportProtocol(int transportProtocol) {
+            if (transportProtocol < 0 || transportProtocol > 255) {
+                throw new IllegalArgumentException(
+                        "The transport protocol must be in range [0, 255]");
+            }
+            mTransportProtocol = transportProtocol;
+            return this;
+        }
+
+        /**
+         * Create a {@link android.net.NetworkRequest.Builder#setNetworkSpecifier(NetworkSpecifier)}
+         * for a WiFi Aware connection (link) to the specified peer. The
+         * {@link android.net.NetworkRequest.Builder#addTransportType(int)} should be set to
+         * {@link android.net.NetworkCapabilities#TRANSPORT_WIFI_AWARE}.
+         * <p> The default builder constructor will initialize a NetworkSpecifier which requests an
+         * open (non-encrypted) link. To request an encrypted link use the
+         * {@link #setPskPassphrase(String)} builder method.
+         *
+         * @return A {@link NetworkSpecifier} to be used to construct
+         * {@link android.net.NetworkRequest.Builder#setNetworkSpecifier(NetworkSpecifier)} to pass
+         * to {@link android.net.ConnectivityManager#requestNetwork(android.net.NetworkRequest,
+         * android.net.ConnectivityManager.NetworkCallback)}
+         * [or other varieties of that API].
+         */
+        public @NonNull WifiAwareNetworkSpecifier build() {
+            if (mDiscoverySession == null) {
+                throw new IllegalStateException("Null discovery session!?");
+            }
+            if (mPskPassphrase != null & mPmk != null) {
+                throw new IllegalStateException(
+                        "Can only specify a Passphrase or a PMK - not both!");
+            }
+
+            int role = mDiscoverySession instanceof SubscribeDiscoverySession
+                    ? WIFI_AWARE_DATA_PATH_ROLE_INITIATOR
+                    : WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_RESPONDER;
+
+            if (mPort != 0 || mTransportProtocol != -1) {
+                if (role != WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_RESPONDER) {
+                    throw new IllegalStateException(
+                            "Port and transport protocol information can only "
+                                    + "be specified on the Publisher device (which is the server");
+                }
+                if (TextUtils.isEmpty(mPskPassphrase) && mPmk == null) {
+                    throw new IllegalStateException("Port and transport protocol information can "
+                            + "only be specified on a secure link");
+                }
+            }
+
+            if (role == WIFI_AWARE_DATA_PATH_ROLE_INITIATOR && mPeerHandle == null) {
+                throw new IllegalStateException("Null peerHandle!?");
+            }
+
+            return new WifiAwareNetworkSpecifier(
+                    WifiAwareNetworkSpecifier.NETWORK_SPECIFIER_TYPE_IB, role,
+                    mDiscoverySession.mClientId, mDiscoverySession.mSessionId, mPeerHandle.peerId,
+                    null, mPmk, mPskPassphrase, mPort, mTransportProtocol, Process.myUid());
+        }
+    }
 }
diff --git a/wifi/java/android/net/wifi/aware/WifiAwareSession.java b/wifi/java/android/net/wifi/aware/WifiAwareSession.java
index 245b304..3c97813 100644
--- a/wifi/java/android/net/wifi/aware/WifiAwareSession.java
+++ b/wifi/java/android/net/wifi/aware/WifiAwareSession.java
@@ -213,7 +213,7 @@
      *     This API is targeted for applications which can obtain the peer MAC address using OOB
      *     (out-of-band) discovery. Aware discovery does not provide the MAC address of the peer -
      *     when using Aware discovery use the alternative network specifier method -
-     *     {@link android.net.wifi.aware.WifiAwareManager.NetworkSpecifierBuilder}.
+     *     {@link android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder}.
      * <p>
      * To set up an encrypted link use the
      * {@link #createNetworkSpecifierPassphrase(int, byte[], String)} API.
@@ -254,7 +254,7 @@
      *     This API is targeted for applications which can obtain the peer MAC address using OOB
      *     (out-of-band) discovery. Aware discovery does not provide the MAC address of the peer -
      *     when using Aware discovery use the alternative network specifier method -
-     *     {@link android.net.wifi.aware.WifiAwareManager.NetworkSpecifierBuilder}.
+     *     {@link android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder}.
      *
      * @param role  The role of this device:
      *              {@link WifiAwareManager#WIFI_AWARE_DATA_PATH_ROLE_INITIATOR} or
@@ -300,7 +300,7 @@
      *     This API is targeted for applications which can obtain the peer MAC address using OOB
      *     (out-of-band) discovery. Aware discovery does not provide the MAC address of the peer -
      *     when using Aware discovery use the alternative network specifier method -
-     *     {@link android.net.wifi.aware.WifiAwareManager.NetworkSpecifierBuilder}.
+     *     {@link android.net.wifi.aware.WifiAwareNetworkSpecifier.Builder}.
      *
      * @param role  The role of this device:
      *              {@link WifiAwareManager#WIFI_AWARE_DATA_PATH_ROLE_INITIATOR} or
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java b/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java
index 5e1f569..c3cfb02 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pConfig.java
@@ -17,6 +17,8 @@
 package android.net.wifi.p2p;
 
 import android.annotation.IntDef;
+import android.annotation.NonNull;
+import android.annotation.Nullable;
 import android.annotation.UnsupportedAppUsage;
 import android.net.MacAddress;
 import android.net.wifi.WpsInfo;
@@ -76,13 +78,19 @@
         GROUP_OWNER_BAND_5GHZ
     })
     @Retention(RetentionPolicy.SOURCE)
-    public @interface GroupOwnerBandType {}
+    public @interface GroupOperatingBandType {}
 
     /**
-     * Recognized Group Owner required band.
+     * Allow the system to pick the operating frequency from all supported bands.
      */
     public static final int GROUP_OWNER_BAND_AUTO = 0;
+    /**
+     * Allow the system to pick the operating frequency from the 2.4 GHz band.
+     */
     public static final int GROUP_OWNER_BAND_2GHZ = 1;
+    /**
+     * Allow the system to pick the operating frequency from the 5 GHz band.
+     */
     public static final int GROUP_OWNER_BAND_5GHZ = 2;
 
     /**
@@ -219,7 +227,7 @@
     public static final class Builder {
 
         private static final MacAddress MAC_ANY_ADDRESS =
-                MacAddress.fromString("00:00:00:00:00:00");
+                MacAddress.fromString("02:00:00:00:00:00");
 
         private MacAddress mDeviceAddress = MAC_ANY_ADDRESS;
         private String mNetworkName = "";
@@ -232,15 +240,15 @@
          * Specify the peer's MAC address. If not set, the device will
          * try to find a peer whose SSID matches the network name as
          * specified by {@link #setNetworkName(String)}. Specifying null will
-         * reset the peer's MAC address to "00:00:00:00:00:00".
+         * reset the peer's MAC address to "02:00:00:00:00:00".
          * <p>
-         *     Optional. "00:00:00:00:00:00" by default.
+         *     Optional. "02:00:00:00:00:00" by default.
          *
          * @param deviceAddress the peer's MAC address.
          * @return The builder to facilitate chaining
          *         {@code builder.setXXX(..).setXXX(..)}.
          */
-        public Builder setDeviceAddress(MacAddress deviceAddress) {
+        public @NonNull Builder setDeviceAddress(@Nullable MacAddress deviceAddress) {
             if (deviceAddress == null) {
                 mDeviceAddress = MAC_ANY_ADDRESS;
             } else {
@@ -255,7 +263,9 @@
          * <p>
          * A network name shall begin with "DIRECT-xy". x and y are selected
          * from the following character set: upper case letters, lower case
-         * letters and numbers.
+         * letters and numbers. Any byte values allowed for an SSID according to
+         * IEEE802.11-2012 [1] may be included after the string "DIRECT-xy"
+         * (including none).
          * <p>
          *     Must be called - an empty network name or an network name
          *     not conforming to the P2P Group ID naming rule is not valid.
@@ -264,7 +274,7 @@
          * @return The builder to facilitate chaining
          *         {@code builder.setXXX(..).setXXX(..)}.
          */
-        public Builder setNetworkName(String networkName) {
+        public @NonNull Builder setNetworkName(@NonNull String networkName) {
             if (TextUtils.isEmpty(networkName)) {
                 throw new IllegalArgumentException(
                         "network name must be non-empty.");
@@ -284,17 +294,24 @@
         /**
          * Specify the passphrase for creating or joining a group.
          * <p>
+         * The passphrase must be an ASCII string whose length is between 8
+         * and 63.
+         * <p>
          *     Must be called - an empty passphrase is not valid.
          *
          * @param passphrase the passphrase of a group.
          * @return The builder to facilitate chaining
          *         {@code builder.setXXX(..).setXXX(..)}.
          */
-        public Builder setPassphrase(String passphrase) {
+        public @NonNull Builder setPassphrase(@NonNull String passphrase) {
             if (TextUtils.isEmpty(passphrase)) {
                 throw new IllegalArgumentException(
                         "passphrase must be non-empty.");
             }
+            if (passphrase.length() < 8 || passphrase.length() > 63) {
+                throw new IllegalArgumentException(
+                        "The length of a passphrase must be between 8 and 63.");
+            }
             mPassphrase = passphrase;
             return this;
         }
@@ -331,7 +348,7 @@
          * @return The builder to facilitate chaining
          *         {@code builder.setXXX(..).setXXX(..)}.
          */
-        public Builder setGroupOperatingBand(@GroupOwnerBandType int band) {
+        public @NonNull Builder setGroupOperatingBand(@GroupOperatingBandType int band) {
             switch (band) {
                 case GROUP_OWNER_BAND_AUTO:
                 case GROUP_OWNER_BAND_2GHZ:
@@ -346,7 +363,7 @@
         }
 
         /**
-         * Specify the frequency to use for creating the group or joining the group.
+         * Specify the frequency, in MHz, to use for creating the group or joining the group.
          * <p>
          * When creating a group as Group Owner using {@link WifiP2pManager#createGroup(
          * WifiP2pManager.Channel, WifiP2pConfig, WifiP2pManager.ActionListener)},
@@ -372,7 +389,7 @@
          * @return The builder to facilitate chaining
          *         {@code builder.setXXX(..).setXXX(..)}.
          */
-        public Builder setGroupOperatingFrequency(int frequency) {
+        public @NonNull Builder setGroupOperatingFrequency(int frequency) {
             if (frequency < 0) {
                 throw new IllegalArgumentException(
                     "Invalid group operating frequency!");
@@ -391,7 +408,7 @@
          * @return The builder to facilitate chaining
          *         {@code builder.setXXX(..).setXXX(..)}.
          */
-        public Builder enablePersistentMode(boolean persistent) {
+        public @NonNull Builder enablePersistentMode(boolean persistent) {
             if (persistent) {
                 mNetId = WifiP2pGroup.PERSISTENT_NET_ID;
             } else {
@@ -404,7 +421,7 @@
          * Build {@link WifiP2pConfig} given the current requests made on the builder.
          * @return {@link WifiP2pConfig} constructed based on builder method calls.
          */
-        public WifiP2pConfig build() {
+        public @NonNull WifiP2pConfig build() {
             if (TextUtils.isEmpty(mNetworkName)) {
                 throw new IllegalStateException(
                         "network name must be non-empty.");
diff --git a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java
index 63f47e7..a779378 100644
--- a/wifi/java/android/net/wifi/p2p/WifiP2pManager.java
+++ b/wifi/java/android/net/wifi/p2p/WifiP2pManager.java
@@ -793,7 +793,7 @@
          * The requested {@link android.net.NetworkInfo} is available
          * @param networkInfo Wi-Fi p2p {@link android.net.NetworkInfo}
          */
-        void onNetworkInfoAvailable(NetworkInfo networkInfo);
+        void onNetworkInfoAvailable(@NonNull NetworkInfo networkInfo);
     }
 
     /**
@@ -816,7 +816,7 @@
          * The requested {@link android.net.wifi.p2p.WifiP2pDevice} is available.
          * @param wifiP2pDevice Wi-Fi p2p {@link android.net.wifi.p2p.WifiP2pDevice}
          */
-        void onDeviceInfoAvailable(WifiP2pDevice wifiP2pDevice);
+        void onDeviceInfoAvailable(@Nullable WifiP2pDevice wifiP2pDevice);
     }
 
     /**
diff --git a/wifi/java/android/net/wifi/rtt/CivicLocation.java b/wifi/java/android/net/wifi/rtt/CivicLocation.java
index b438a69..1d41177 100644
--- a/wifi/java/android/net/wifi/rtt/CivicLocation.java
+++ b/wifi/java/android/net/wifi/rtt/CivicLocation.java
@@ -155,6 +155,16 @@
     }
 
     /**
+     * Converts a CivicLocation object to a SparseArray.
+     *
+     * @return the SparseArray<string> representation of the CivicLocation
+     */
+    @Nullable
+    public SparseArray<String> toSparseArray() {
+        return mCivicAddressElements;
+    }
+
+    /**
      * Generates a comma separated string of all the defined elements.
      *
      * @return a compiled string representing all elements
diff --git a/wifi/java/android/net/wifi/rtt/CivicLocationKeys.java b/wifi/java/android/net/wifi/rtt/CivicLocationKeys.java
index 17c3671..b03f4a9 100644
--- a/wifi/java/android/net/wifi/rtt/CivicLocationKeys.java
+++ b/wifi/java/android/net/wifi/rtt/CivicLocationKeys.java
@@ -25,9 +25,8 @@
 /**
  * Civic Address key types used to define address elements.
  *
- * <p>These keys can be used in ResponderLocation look-up the corresponding string values.</p>
- *
- * @hide
+ * <p>These keys can be used with {@code ResponderLocation.toCivicLocationSparseArray()}
+ * to look-up the corresponding string values.</p>
  */
 public class CivicLocationKeys {
 
@@ -69,7 +68,7 @@
     public static final int HNO = 19;
     /** House number suffix key e.g. A, 1/2. */
     public static final int HNS = 20;
-    /** Landmark or vanity address key e.g. Columbia Univ. */
+    /** Landmark or vanity address key e.g. Golden Gate Bridge. */
     public static final int LMK = 21;
     /** Additional Location info key e.g. South Wing. */
     public static final int LOC = 22;
@@ -77,7 +76,7 @@
     public static final int NAM = 23;
     /** Postal or ZIP code key e.g. 10027-1234. */
     public static final int POSTAL_CODE = 24;
-    /** Building key e.g. Low Library. */
+    /** Building key e.g. Lincoln Library. */
     public static final int BUILDING = 25;
     /** Apartment or suite key e.g. Apt 42. */
     public static final int APT = 26;
diff --git a/wifi/java/android/net/wifi/rtt/RangingResult.java b/wifi/java/android/net/wifi/rtt/RangingResult.java
index 7c29ff4..a065bbc 100644
--- a/wifi/java/android/net/wifi/rtt/RangingResult.java
+++ b/wifi/java/android/net/wifi/rtt/RangingResult.java
@@ -245,8 +245,10 @@
     }
 
     /**
-     * @return The responder location represented as {@link ResponderLocation} which captures
-     * location information the responder is programmed to broadcast.
+     * @return The unverified responder location represented as {@link ResponderLocation} which
+     * captures location information the responder is programmed to broadcast. The responder
+     * location is referred to as unverified, because we are relying on the device/site
+     * administrator to correctly configure its location data.
      * <p>
      * Will return a {@code null} when the location information cannot be parsed.
      * <p>
@@ -254,10 +256,11 @@
      * exception.
      */
     @Nullable
-    public ResponderLocation getResponderLocation() {
+    public ResponderLocation getUnverifiedResponderLocation() {
         if (mStatus != STATUS_SUCCESS) {
             throw new IllegalStateException(
-                    "getResponderLocation(): invoked on an invalid result: getStatus()=" + mStatus);
+                    "getUnverifiedResponderLocation(): invoked on an invalid result: getStatus()="
+                            + mStatus);
         }
         return mResponderLocation;
     }
diff --git a/wifi/java/android/net/wifi/rtt/ResponderLocation.java b/wifi/java/android/net/wifi/rtt/ResponderLocation.java
index 7b25eed..37d5f0a 100644
--- a/wifi/java/android/net/wifi/rtt/ResponderLocation.java
+++ b/wifi/java/android/net/wifi/rtt/ResponderLocation.java
@@ -19,19 +19,25 @@
 import static java.lang.annotation.RetentionPolicy.SOURCE;
 
 import android.annotation.IntDef;
+import android.annotation.NonNull;
 import android.annotation.Nullable;
 import android.annotation.SystemApi;
 import android.location.Address;
+import android.location.Location;
 import android.net.MacAddress;
+import android.net.Uri;
 import android.net.wifi.rtt.CivicLocationKeys.CivicLocationKeysType;
 import android.os.Parcel;
 import android.os.Parcelable;
+import android.text.TextUtils;
+import android.util.SparseArray;
+import android.webkit.MimeTypeMap;
 
 import java.lang.annotation.Retention;
-import java.net.MalformedURLException;
-import java.net.URL;
+import java.nio.charset.StandardCharsets;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collections;
 import java.util.List;
 import java.util.Objects;
 
@@ -151,24 +157,8 @@
     /** Version of the LCI protocol is 1.0, the only defined protocol at this time. */
     public static final int LCI_VERSION_1 = 1;
 
-    /**
-     * Enumerates the flags contained in getLciFlags()
-     *
-     * @hide
-     */
-    @Retention(SOURCE)
-    @IntDef(flag = true, value = {LCI_FLAGS_MASK_REGLOC_AGREEMENT, LCI_FLAGS_MASK_REGLOC_DSE,
-        LCI_FLAGS_MASK_DEPENDENT_STA, LCI_FLAGS_MASK_VERSION})
-    public @interface LciFlagMasks {
-    }
-    /** Location agreement flag is obtained by ANDing this mask with the getLciFlags() value.*/
-    public static final int LCI_FLAGS_MASK_REGLOC_AGREEMENT = 0x10;
-    /** Location DSE flag is obtained by ANDing this mask with the getLciFlags() value.*/
-    public static final int LCI_FLAGS_MASK_REGLOC_DSE = 0x08;
-    /** Dependent station flag is obtained by ANDing this mask with the getLciFlags() value. */
-    public static final int LCI_FLAGS_MASK_DEPENDENT_STA = 0x04;
-    /** Version bits are obtained by ANDing this mask with the getLciFlags() value.*/
-    public static final int LCI_FLAGS_MASK_VERSION = 0x03;
+    /** Provider/Source of the location */
+    private static final String LOCATION_PROVIDER = "WiFi Access Point";
 
     // LCI Subelement Z constants
     private static final int[] SUBELEMENT_Z_BIT_FIELD_LENGTHS = {2, 14, 24, 8};
@@ -178,9 +168,9 @@
 
     // LCI Subelement Z fields indices
     private static final int SUBELEMENT_Z_LAT_EXPECTED_TO_MOVE_INDEX = 0;
-    private static final int SUBELEMENT_Z_STA_FLOOR_NUMBER_INDEX = 1;
-    private static final int SUBELEMENT_Z_STA_HEIGHT_ABOVE_FLOOR_INDEX = 2;
-    private static final int SUBELEMENT_Z_STA_HEIGHT_ABOVE_FLOOR_UNCERTAINTY_INDEX = 3;
+    private static final int SUBELEMENT_Z_FLOOR_NUMBER_INDEX = 1;
+    private static final int SUBELEMENT_Z_HEIGHT_ABOVE_FLOOR_INDEX = 2;
+    private static final int SUBELEMENT_Z_HEIGHT_ABOVE_FLOOR_UNCERTAINTY_INDEX = 3;
 
     // LCI Subelement Usage Rules constants
     private static final int SUBELEMENT_USAGE_MASK_RETRANSMIT = 0x01;
@@ -233,72 +223,27 @@
 
     // LCR Map Image Subelement field indexes.
     private static final int SUBELEMENT_IMAGE_MAP_TYPE_INDEX = 0;
-
-    /**
-     * The Map Type value specifies the image format type.
-     *
-     * @hide
-     */
-    @Retention(SOURCE)
-    @IntDef({
-            MAP_TYPE_URL_DEFINED,
-            MAP_TYPE_PNG,
-            MAP_TYPE_GIF,
-            MAP_TYPE_JPG,
-            MAP_TYPE_SVG,
-            MAP_TYPE_DXF,
-            MAP_TYPE_DWG,
-            MAP_TYPE_DWF,
-            MAP_TYPE_CAD,
-            MAP_TYPE_TIFF,
-            MAP_TYPE_GML,
-            MAP_TYPE_KML,
-            MAP_TYPE_BMP,
-            MAP_TYPE_PGM,
-            MAP_TYPE_PPM,
-            MAP_TYPE_XBM,
-            MAP_TYPE_XPM,
-            MAP_TYPE_ICO
-    })
-    public @interface MapImageType {
-    }
-
-    /** File type defined by the file suffix itself. */
-    public static final int MAP_TYPE_URL_DEFINED = 0;
-    /** File type is in PNG format. */
-    public static final int MAP_TYPE_PNG = 1;
-    /** File type is in GIF format. */
-    public static final int MAP_TYPE_GIF = 2;
-    /** File type is in JPG format. */
-    public static final int MAP_TYPE_JPG = 3;
-    /** File type is in SVG format. */
-    public static final int MAP_TYPE_SVG = 4;
-    /** File type is in DXF format. */
-    public static final int MAP_TYPE_DXF = 5;
-    /** File type is in DWG format. */
-    public static final int MAP_TYPE_DWG = 6;
-    /** File type is in DWF format. */
-    public static final int MAP_TYPE_DWF = 7;
-    /** File type is in CAD format. */
-    public static final int MAP_TYPE_CAD = 8;
-    /** File type is in TIFF format. */
-    public static final int MAP_TYPE_TIFF = 9;
-    /** File type is in GML format. */
-    public static final int MAP_TYPE_GML = 10;
-    /** File type is in KML format. */
-    public static final int MAP_TYPE_KML = 11;
-    /** File type is in BMP format. */
-    public static final int MAP_TYPE_BMP = 12;
-    /** File type is in PGM format. */
-    public static final int MAP_TYPE_PGM = 13;
-    /** File type is in PPM format. */
-    public static final int MAP_TYPE_PPM = 14;
-    /** File type is in XBM format. */
-    public static final int MAP_TYPE_XBM = 15;
-    /** File type is in XPM format. */
-    public static final int MAP_TYPE_XPM = 16;
-    /** File type is in ICO format. */
-    public static final int MAP_TYPE_ICO = 17;
+    private static final int MAP_TYPE_URL_DEFINED = 0;
+    private static final String[] SUPPORTED_IMAGE_FILE_EXTENSIONS = {
+            "",
+            "png",
+            "gif",
+            "jpg",
+            "svg",
+            "dxf",
+            "dwg",
+            "dwf",
+            "cad",
+            "tif",
+            "gml",
+            "kml",
+            "bmp",
+            "pgm",
+            "ppm",
+            "xbm",
+            "xpm",
+            "ico"
+    };
 
     // General LCI and LCR state
     private final boolean mIsValid;
@@ -323,13 +268,16 @@
     private double mAltitudeUncertainty;
     private double mAltitude;
     private int mDatum;
-    private int mLciFlags;
+    private boolean mLciRegisteredLocationAgreement;
+    private boolean mLciRegisteredLocationDse;
+    private boolean mLciDependentStation;
+    private int mLciVersion;
 
     // LCI Subelement Z state
     private int mExpectedToMove;
-    private double mStaFloorNumber;
-    private double mStaHeightAboveFloorMeters;
-    private double mStaHeightAboveFloorUncertaintyMeters;
+    private double mFloorNumber;
+    private double mHeightAboveFloorMeters;
+    private double mHeightAboveFloorUncertaintyMeters;
 
     // LCI Subelement Usage Rights state
     private boolean mUsageRetransmit;
@@ -346,7 +294,7 @@
 
     // LCR Subelement Map Image state
     private int mMapImageType;
-    private URL mMapImageUrl;
+    private Uri mMapImageUri;
 
     /**
      * Constructor
@@ -360,7 +308,7 @@
         boolean isLciIeValid = false;
         boolean isLcrIeValid = false;
         setLciSubelementDefaults();
-        setZSubelementDefaults();
+        setZaxisSubelementDefaults();
         setUsageSubelementDefaults();
         setBssidListSubelementDefaults();
         setCivicLocationSubelementDefaults();
@@ -384,7 +332,7 @@
 
         if (!mIsValid) {
             setLciSubelementDefaults();
-            setZSubelementDefaults();
+            setZaxisSubelementDefaults();
             setCivicLocationSubelementDefaults();
             setMapImageSubelementDefaults();
         }
@@ -409,13 +357,16 @@
         mAltitudeUncertainty = in.readDouble();
         mAltitude = in.readDouble();
         mDatum = in.readInt();
-        mLciFlags = in.readInt();
+        mLciRegisteredLocationAgreement = in.readByte() != 0;
+        mLciRegisteredLocationDse = in.readByte() != 0;
+        mLciDependentStation = in.readByte() != 0;
+        mLciVersion = in.readInt();
 
         // LCI Subelement Z state
         mExpectedToMove = in.readInt();
-        mStaFloorNumber = in.readDouble();
-        mStaHeightAboveFloorMeters = in.readDouble();
-        mStaHeightAboveFloorUncertaintyMeters = in.readDouble();
+        mFloorNumber = in.readDouble();
+        mHeightAboveFloorMeters = in.readDouble();
+        mHeightAboveFloorUncertaintyMeters = in.readDouble();
 
         // LCI Usage Rights
         mUsageRetransmit = in.readByte() != 0;
@@ -432,10 +383,11 @@
 
         // LCR Subelement Map Image
         mMapImageType = in.readInt();
-        try {
-            mMapImageUrl = new URL(in.readString());
-        } catch (MalformedURLException e) {
-            mMapImageUrl = null;
+        String urlString = in.readString();
+        if (TextUtils.isEmpty(urlString)) {
+            mMapImageUri = null;
+        } else {
+            mMapImageUri = Uri.parse(urlString);
         }
     }
 
@@ -476,13 +428,16 @@
         parcel.writeDouble(mAltitudeUncertainty);
         parcel.writeDouble(mAltitude);
         parcel.writeInt(mDatum);
-        parcel.writeInt(mLciFlags);
+        parcel.writeByte((byte) (mLciRegisteredLocationAgreement ? 1 : 0));
+        parcel.writeByte((byte) (mLciRegisteredLocationDse ? 1 : 0));
+        parcel.writeByte((byte) (mLciDependentStation ? 1 : 0));
+        parcel.writeInt(mLciVersion);
 
         // LCI Subelement Z state
         parcel.writeInt(mExpectedToMove);
-        parcel.writeDouble(mStaFloorNumber);
-        parcel.writeDouble(mStaHeightAboveFloorMeters);
-        parcel.writeDouble(mStaHeightAboveFloorUncertaintyMeters);
+        parcel.writeDouble(mFloorNumber);
+        parcel.writeDouble(mHeightAboveFloorMeters);
+        parcel.writeDouble(mHeightAboveFloorUncertaintyMeters);
 
         // LCI Usage Rights
         parcel.writeByte((byte) (mUsageRetransmit ? 1 : 0));
@@ -499,8 +454,8 @@
 
         // LCR Subelement Map Image
         parcel.writeInt(mMapImageType);
-        if (mMapImageUrl != null) {
-            parcel.writeString(mMapImageUrl.toString());
+        if (mMapImageUri != null) {
+            parcel.writeString(mMapImageUri.toString());
         } else {
             parcel.writeString("");
         }
@@ -546,14 +501,14 @@
                 switch (subelement) {
                     case SUBELEMENT_LCI:
                         mIsLciValid = parseSubelementLci(subelementData);
-                        if (!mIsLciValid || (mLciFlags & LCI_FLAGS_MASK_VERSION) != LCI_VERSION_1) {
+                        if (!mIsLciValid || mLciVersion != LCI_VERSION_1) {
                             setLciSubelementDefaults();
                         }
                         break;
                     case SUBELEMENT_Z:
                         mIsZValid = parseSubelementZ(subelementData);
                         if (!mIsZValid) {
-                            setZSubelementDefaults();
+                            setZaxisSubelementDefaults();
                         }
                         break;
                     case SUBELEMENT_USAGE:
@@ -625,14 +580,13 @@
         mAltitude =
                 Math.scalb(subelementLciFields[SUBELEMENT_LCI_ALT_INDEX], -ALTITUDE_FRACTION_BITS);
         mDatum = (int) subelementLciFields[SUBELEMENT_LCI_DATUM_INDEX] & BYTE_MASK;
-        mLciFlags =
-                (int) subelementLciFields[SUBELEMENT_LCI_REGLOC_AGREEMENT_INDEX]
-                        * LCI_FLAGS_MASK_REGLOC_AGREEMENT
-                        | (int) subelementLciFields[SUBELEMENT_LCI_REGLOC_DSE_INDEX]
-                        * LCI_FLAGS_MASK_REGLOC_DSE
-                        | (int) subelementLciFields[SUBELEMENT_LCI_DEPENDENT_STA_INDEX]
-                        * LCI_FLAGS_MASK_DEPENDENT_STA
-                        | (int) subelementLciFields[SUBELEMENT_LCI_VERSION_INDEX];
+        mLciRegisteredLocationAgreement =
+                (subelementLciFields[SUBELEMENT_LCI_REGLOC_AGREEMENT_INDEX] == 1);
+        mLciRegisteredLocationDse =
+                (subelementLciFields[SUBELEMENT_LCI_REGLOC_DSE_INDEX] == 1);
+        mLciDependentStation =
+                (subelementLciFields[SUBELEMENT_LCI_DEPENDENT_STA_INDEX] == 1);
+        mLciVersion = (int) subelementLciFields[SUBELEMENT_LCI_VERSION_INDEX];
         return true;
     }
 
@@ -703,19 +657,18 @@
 
         mExpectedToMove =
                 (int) subelementZFields[SUBELEMENT_Z_LAT_EXPECTED_TO_MOVE_INDEX] & BYTE_MASK;
-
-        mStaFloorNumber = decodeZUnsignedToSignedValue(subelementZFields,
-                SUBELEMENT_Z_BIT_FIELD_LENGTHS, SUBELEMENT_Z_STA_FLOOR_NUMBER_INDEX,
+        mFloorNumber = decodeZUnsignedToSignedValue(subelementZFields,
+                SUBELEMENT_Z_BIT_FIELD_LENGTHS, SUBELEMENT_Z_FLOOR_NUMBER_INDEX,
                 Z_FLOOR_NUMBER_FRACTION_BITS);
 
-        mStaHeightAboveFloorMeters = decodeZUnsignedToSignedValue(subelementZFields,
-                SUBELEMENT_Z_BIT_FIELD_LENGTHS, SUBELEMENT_Z_STA_HEIGHT_ABOVE_FLOOR_INDEX,
+        mHeightAboveFloorMeters = decodeZUnsignedToSignedValue(subelementZFields,
+                SUBELEMENT_Z_BIT_FIELD_LENGTHS, SUBELEMENT_Z_HEIGHT_ABOVE_FLOOR_INDEX,
                 Z_FLOOR_HEIGHT_FRACTION_BITS);
 
         long zHeightUncertainty =
-                subelementZFields[SUBELEMENT_Z_STA_HEIGHT_ABOVE_FLOOR_UNCERTAINTY_INDEX];
+                subelementZFields[SUBELEMENT_Z_HEIGHT_ABOVE_FLOOR_UNCERTAINTY_INDEX];
         if (zHeightUncertainty > 0 && zHeightUncertainty < Z_MAX_HEIGHT_UNCERTAINTY_FACTOR) {
-            mStaHeightAboveFloorUncertaintyMeters =
+            mHeightAboveFloorUncertaintyMeters =
                     Math.pow(2, Z_FLOOR_HEIGHT_FRACTION_BITS - zHeightUncertainty - 1);
         } else {
             return false;
@@ -831,21 +784,38 @@
             return false;
         }
         int mapImageType = buffer[SUBELEMENT_IMAGE_MAP_TYPE_INDEX];
-        if (mapImageType < MAP_TYPE_URL_DEFINED || mapImageType > MAP_TYPE_DWG) {
+        int supportedTypesMax = SUPPORTED_IMAGE_FILE_EXTENSIONS.length - 1;
+        if (mapImageType < MAP_TYPE_URL_DEFINED || mapImageType > supportedTypesMax) {
             return false;
         }
         this.mMapImageType = mapImageType;
         byte[] urlBytes = Arrays.copyOfRange(buffer, 1, buffer.length);
-        try {
-            mMapImageUrl = new URL(new String(urlBytes));
-        } catch (MalformedURLException e) {
-            mMapImageUrl = null;
-            return false;
-        }
+        mMapImageUri = Uri.parse(new String(urlBytes, StandardCharsets.UTF_8));
         return true;
     }
 
     /**
+     * Convert an image type code to a Mime type
+     *
+     * @param imageTypeCode encoded as an integer
+     * @return the mime type of the image file
+     */
+    private String imageTypeToMime(int imageTypeCode, String imageUrl) {
+        int supportedExtensionsMax = SUPPORTED_IMAGE_FILE_EXTENSIONS.length - 1;
+        if ((imageTypeCode == 0 && imageUrl == null) || imageTypeCode > supportedExtensionsMax) {
+            return null;
+        }
+        MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();
+        if (imageTypeCode == 0) {
+            return mimeTypeMap.getMimeTypeFromExtension(
+                    MimeTypeMap.getFileExtensionFromUrl(imageUrl));
+        } else {
+            return mimeTypeMap.getMimeTypeFromExtension(
+                    SUPPORTED_IMAGE_FILE_EXTENSIONS[imageTypeCode]);
+        }
+    }
+
+    /**
      * Converts a byte array containing fields of variable size, into an array of longs where the
      * field boundaries are defined in a constant int array passed as an argument.
      *
@@ -927,18 +897,21 @@
         mAltitudeUncertainty = UNCERTAINTY_UNDEFINED;
         mAltitude = 0;
         mDatum = DATUM_UNDEFINED;
-        mLciFlags = 0;
+        mLciRegisteredLocationAgreement = false;
+        mLciRegisteredLocationDse = false;
+        mLciDependentStation = false;
+        mLciVersion = 0;
     }
 
     /**
      * Sets the Z subelement fields to the default values when undefined.
      */
-    private void setZSubelementDefaults() {
+    private void setZaxisSubelementDefaults() {
         mIsZValid = false;
         mExpectedToMove = 0;
-        mStaFloorNumber = 0;
-        mStaHeightAboveFloorMeters = 0;
-        mStaHeightAboveFloorUncertaintyMeters = 0;
+        mFloorNumber = 0;
+        mHeightAboveFloorMeters = 0;
+        mHeightAboveFloorUncertaintyMeters = 0;
     }
 
     /**
@@ -976,7 +949,7 @@
     private void setMapImageSubelementDefaults() {
         mIsMapImageValid = false;
         mMapImageType = MAP_TYPE_URL_DEFINED;
-        mMapImageUrl = null;
+        mMapImageUri = null;
     }
 
     @Override
@@ -1003,12 +976,15 @@
                 && mAltitudeUncertainty == other.mAltitudeUncertainty
                 && mAltitude == other.mAltitude
                 && mDatum == other.mDatum
-                && mLciFlags == other.mLciFlags
+                && mLciRegisteredLocationAgreement == other.mLciRegisteredLocationAgreement
+                && mLciRegisteredLocationDse == other.mLciRegisteredLocationDse
+                && mLciDependentStation == other.mLciDependentStation
+                && mLciVersion == other.mLciVersion
                 && mExpectedToMove == other.mExpectedToMove
-                && mStaFloorNumber == other.mStaFloorNumber
-                && mStaHeightAboveFloorMeters == other.mStaHeightAboveFloorMeters
-                && mStaHeightAboveFloorUncertaintyMeters
-                        == other.mStaHeightAboveFloorUncertaintyMeters
+                && mFloorNumber == other.mFloorNumber
+                && mHeightAboveFloorMeters == other.mHeightAboveFloorMeters
+                && mHeightAboveFloorUncertaintyMeters
+                        == other.mHeightAboveFloorUncertaintyMeters
                 && mUsageRetransmit == other.mUsageRetransmit
                 && mUsageRetentionExpires == other.mUsageRetentionExpires
                 && mUsageExtraInfoOnAssociation == other.mUsageExtraInfoOnAssociation
@@ -1017,7 +993,7 @@
                 && mCivicLocationString.equals(other.mCivicLocationString)
                 && Objects.equals(mCivicLocation, other.mCivicLocation)
                 && mMapImageType == other.mMapImageType
-                && Objects.equals(mMapImageUrl, other.mMapImageUrl);
+                && Objects.equals(mMapImageUri, other.mMapImageUri);
     }
 
     @Override
@@ -1025,10 +1001,12 @@
         return Objects.hash(mIsValid, mIsLciValid, mIsZValid, mIsUsageValid, mIsBssidListValid,
                 mIsLocationCivicValid, mIsMapImageValid, mLatitudeUncertainty, mLatitude,
                 mLongitudeUncertainty, mLongitude, mAltitudeType, mAltitudeUncertainty, mAltitude,
-                mDatum, mLciFlags, mExpectedToMove, mStaFloorNumber, mStaHeightAboveFloorMeters,
-                mStaHeightAboveFloorUncertaintyMeters, mUsageRetransmit, mUsageRetentionExpires,
+                mDatum, mLciRegisteredLocationAgreement,
+                mLciRegisteredLocationDse, mLciDependentStation, mLciVersion,
+                mExpectedToMove, mFloorNumber, mHeightAboveFloorMeters,
+                mHeightAboveFloorUncertaintyMeters, mUsageRetransmit, mUsageRetentionExpires,
                 mUsageExtraInfoOnAssociation, mBssidList, mCivicLocationCountryCode,
-                mCivicLocationString, mCivicLocation, mMapImageType, mMapImageUrl);
+                mCivicLocationString, mCivicLocation, mMapImageType, mMapImageUri);
     }
 
     /**
@@ -1059,198 +1037,267 @@
 
     /**
      * @return the latitude uncertainty in degrees.
-     *
+     * <p>
      * Only valid if {@link #isLciSubelementValid()} returns true, or will throw an exception.
-     *
+     * </p>
      * <p> An unknown uncertainty is indicated by 0.</p>
      */
     public double getLatitudeUncertainty() {
         if (!mIsLciValid) {
             throw new IllegalStateException(
-                "getLatitudeUncertainty(): invoked on an invalid result: mIsLciValid = false)");
+                "getLatitudeUncertainty(): invoked on an invalid result: mIsLciValid = false.");
         }
         return mLatitudeUncertainty;
     }
 
     /**
      * @return the latitude in degrees
-     *
+     * <p>
      * Only valid if {@link #isLciSubelementValid()} returns true, or will throw an exception.
      */
     public double getLatitude() {
         if (!mIsLciValid) {
             throw new IllegalStateException(
-                "getLatitude(): invoked on an invalid result: mIsLciValid = false)");
+                "getLatitude(): invoked on an invalid result: mIsLciValid = false.");
         }
         return mLatitude;
     }
 
     /**
      * @return the Longitude uncertainty in degrees.
-     *
+     * <p>
      * Only valid if {@link #isLciSubelementValid()} returns true, or will throw an exception.
-     *
+     * </p>
      * <p> An unknown uncertainty is indicated by 0.</p>
      */
     public double getLongitudeUncertainty() {
         if (!mIsLciValid) {
             throw new IllegalStateException(
-                "getLongitudeUncertainty(): invoked on an invalid result: mIsLciValid = false)");
+                "getLongitudeUncertainty(): invoked on an invalid result: mIsLciValid = false.");
         }
         return mLongitudeUncertainty;
     }
 
     /**
      * @return the Longitude in degrees..
-     *
+     * <p>
      * Only valid if {@link #isLciSubelementValid()} returns true, or will throw an exception.
      */
     public double getLongitude() {
         if (!mIsLciValid) {
             throw new IllegalStateException(
-                "getLatitudeUncertainty(): invoked on an invalid result: mIsLciValid = false)");
+                "getLatitudeUncertainty(): invoked on an invalid result: mIsLciValid = false.");
         }
         return mLongitude;
     }
 
     /**
      * @return the Altitude type.
-     *
+     * <p>
      * Only valid if {@link #isLciSubelementValid()} returns true, or will throw an exception.
      */
     @AltitudeType
     public int getAltitudeType() {
         if (!mIsLciValid) {
             throw new IllegalStateException(
-                "getLatitudeUncertainty(): invoked on an invalid result: mIsLciValid = false)");
+                "getLatitudeUncertainty(): invoked on an invalid result: mIsLciValid = false.");
         }
         return mAltitudeType;
     }
 
     /**
      * @return the Altitude uncertainty in meters.
-     *
+     * <p>
      * Only valid if {@link #isLciSubelementValid()} returns true, or will throw an exception.
-     *
+     * </p>
      * <p>An unknown uncertainty is indicated by 0.</p>
      */
     public double getAltitudeUncertainty() {
         if (!mIsLciValid) {
             throw new IllegalStateException(
-                "getLatitudeUncertainty(): invoked on an invalid result: mIsLciValid = false)");
+                "getLatitudeUncertainty(): invoked on an invalid result: mIsLciValid = false.");
         }
         return mAltitudeUncertainty;
     }
 
     /**
      * @return the Altitude in units defined by the altitude type.
-     *
+     * <p>
      * Only valid if {@link #isLciSubelementValid()} returns true, or will throw an exception.
      */
     public double getAltitude() {
         if (!mIsLciValid) {
             throw new IllegalStateException(
-                "getAltitude(): invoked on an invalid result: mIsLciValid = false)");
+                "getAltitude(): invoked on an invalid result: mIsLciValid = false.");
         }
         return mAltitude;
     }
 
     /**
      * @return the Datum used for the LCI positioning information.
-     *
+     * <p>
      * Only valid if {@link #isLciSubelementValid()} returns true, or will throw an exception.
      */
     @DatumType
     public int getDatum() {
         if (!mIsLciValid) {
             throw new IllegalStateException(
-                "getDatum(): invoked on an invalid result: mIsLciValid = false)");
+                "getDatum(): invoked on an invalid result: mIsLciValid = false.");
         }
         return mDatum;
     }
 
     /**
-     * @return the LCI sub-element flags (5-bits).
-     *
+     * @return true if the station is operating within a national policy area or an international
+     * agreement area near a national border, otherwise false
+     * (see 802.11REVmc Section 11.12.3 - Registered STA Operation).
+     * <p>
      * Only valid if {@link #isLciSubelementValid()} returns true, or will throw an exception.
-     *
-     * <p>Note: The flags/version can be extracted by bitwise ANDing this value with the
-     * corresponding LCI_FLAGS_MASK_* .</p>
      */
-    public int getLciFlags() {
+    public boolean getRegisteredLocationAgreementIndication() {
         if (!mIsLciValid) {
             throw new IllegalStateException(
-                "getLciFlags(): invoked on an invalid result: mIsLciValid = false)");
+                "getRegisteredLocationAgreementIndication(): "
+                        + "invoked on an invalid result: mIsLciValid = false.");
         }
-        return mLciFlags;
+        return mLciRegisteredLocationAgreement;
+    }
+
+    /**
+     * @return true indicating this is an enabling station, enabling the operation of nearby STAs
+     * with Dynamic Station Enablement (DSE), otherwise false.
+     * (see 802.11REVmc Section 11.12.3 - Registered STA Operation).
+     * <p>
+     * Only valid if {@link #isLciSubelementValid()} returns true, or will throw an exception.
+     */
+    public boolean getRegisteredLocationDseIndication() {
+        if (!mIsLciValid) {
+            throw new IllegalStateException(
+                "getRegisteredLocationDseIndication(): "
+                    + "invoked on an invalid result: mIsLciValid = false.");
+        }
+        return mLciRegisteredLocationDse;
+    }
+
+    /**
+     * @return true indicating this is a dependent station that is operating with the enablement of
+     * an enabling station whose LCI is being reported, otherwise false.
+     * (see 802.11REVmc Section 11.12.3 - Registered STA Operation).
+     * <p>
+     * Only valid if {@link #isLciSubelementValid()} returns true, or will throw an exception.
+     */
+    public boolean getDependentStationIndication() {
+        if (!mIsLciValid) {
+            throw new IllegalStateException(
+                "getDependentStationIndication(): "
+                    + "invoked on an invalid result: mIsLciValid = false.");
+        }
+        return mLciDependentStation;
+    }
+
+    /**
+     * @return a value greater or equal to 1, indicating the current version number
+     * of the LCI protocol.
+     * <p>
+     * Only valid if {@link #isLciSubelementValid()} returns true, or will throw an exception.
+     */
+    public int getLciVersion() {
+        if (!mIsLciValid) {
+            throw new IllegalStateException(
+                "getLciVersion(): "
+                    + "invoked on an invalid result: mIsLciValid = false.");
+        }
+        return mLciVersion;
+    }
+
+    /**
+     * @return the LCI location represented as a {@link Location} object (best effort).
+     * <p>
+     * Only valid if {@link #isLciSubelementValid()} returns true, or will throw an exception.
+     */
+    @NonNull
+    public Location toLocation() {
+        if (!mIsLciValid) {
+            throw new IllegalStateException(
+                "toLocation(): "
+                    + "invoked on an invalid result: mIsLciValid = false.");
+        }
+        Location location = new Location(LOCATION_PROVIDER);
+        location.setLatitude(mLatitude);
+        location.setLongitude(mLongitude);
+        location.setAccuracy((float) (mLatitudeUncertainty + mLongitudeUncertainty) / 2);
+        location.setAltitude(mAltitude);
+        location.setVerticalAccuracyMeters((float) mAltitudeUncertainty);
+        location.setTime(System.currentTimeMillis());
+        return location;
     }
 
     /**
      * @return if the Z subelement (containing mobility, Floor, Height above floor) is valid.
      */
-    public boolean isZsubelementValid() {
+    public boolean isZaxisSubelementValid() {
         return mIsZValid;
     }
 
     /**
      * @return an integer representing the mobility of the responder.
-     *
-     * Only valid if {@link #isZsubelementValid()} returns true, or will throw an exception.
+     * <p>
+     * Only valid if {@link #isZaxisSubelementValid()} returns true, or will throw an exception.
      */
     @ExpectedToMoveType
     public int getExpectedToMove() {
         if (!mIsZValid) {
             throw new IllegalStateException(
-                "getExpectedToMove(): invoked on an invalid result: mIsZValid = false)");
+                "getExpectedToMove(): invoked on an invalid result: mIsZValid = false.");
         }
         return mExpectedToMove;
     }
 
     /**
-     * @return the Z sub element STA Floor Number.
-     *
-     * Only valid if {@link #isZsubelementValid()} returns true, or will throw an exception.
-     *
+     * @return the Z sub element Floor Number.
+     * <p>
+     * Only valid if {@link #isZaxisSubelementValid()} returns true, or will throw an exception.
+     * </p>
      * <p>Note: this number can be positive or negative, with value increments of +/- 1/16 of a
      * floor.</p>.
      */
-    public double getStaFloorNumber() {
+    public double getFloorNumber() {
         if (!mIsZValid) {
             throw new IllegalStateException(
-                "getStaFloorNumber(): invoked on an invalid result: mIsZValid = false)");
+                "getFloorNumber(): invoked on an invalid result: mIsZValid = false)");
         }
-        return mStaFloorNumber;
+        return mFloorNumber;
     }
 
     /**
-     * @return the Z subelement STA Height above the floor in meters.
-     *
-     * Only valid if {@link #isZsubelementValid()} returns true, or will throw an exception.
-     *
+     * @return the Z subelement Height above the floor in meters.
+     * <p>
+     * Only valid if {@link #isZaxisSubelementValid()} returns true, or will throw an exception.
+     * </p>
      * <p>This value can be positive or negative. </p>
      */
-    public double getStaHeightAboveFloorMeters() {
+    public double getHeightAboveFloorMeters() {
         if (!mIsZValid) {
             throw new IllegalStateException(
-                "getStaHeightAboveFloorMeters(): invoked on an invalid result: mIsZValid = false)");
+                "getHeightAboveFloorMeters(): invoked on an invalid result: mIsZValid = false)");
         }
-        return mStaHeightAboveFloorMeters;
+        return mHeightAboveFloorMeters;
     }
 
     /**
-     * @return the Z subelement STA Height above the floor uncertainty in meters.
-     *
-     * Only valid if {@link #isZsubelementValid()} returns true, or will throw an exception.
-     *
+     * @return the Z subelement Height above the floor uncertainty in meters.
+     * <p>
+     * Only valid if {@link #isZaxisSubelementValid()} returns true, or will throw an exception.
+     * </p>
      * <p>An unknown uncertainty is indicated by 0.</p>
      */
-    public double getStaHeightAboveFloorUncertaintyMeters() {
+    public double getHeightAboveFloorUncertaintyMeters() {
         if (!mIsZValid) {
             throw new IllegalStateException(
-                "getStaHeightAboveFloorUncertaintyMeters():"
+                "getHeightAboveFloorUncertaintyMeters():"
                     + "invoked on an invalid result: mIsZValid = false)");
         }
-        return mStaHeightAboveFloorUncertaintyMeters;
+        return mHeightAboveFloorUncertaintyMeters;
     }
 
     /**
@@ -1267,7 +1314,6 @@
      * @return true if location-data received should expire (and be deleted)
      * by the time provided in the getRelativeExpirationTimeHours() method.
      *
-     *
      * @hide
      */
     public boolean getRetentionExpiresIndication() {
@@ -1285,20 +1331,18 @@
     }
 
     /**
-     * @return the list of colocated BSSIDs at the responder.
+     * @return the Immutable list of colocated BSSIDs at the responder.
      *
      * <p> Will return an empty list when there are no bssids listed.
      */
     public List<MacAddress> getColocatedBssids() {
-        return mBssidList;
+        return Collections.unmodifiableList(mBssidList);
     }
 
     /**
      * @return the civic location represented as an {@link Address} object (best effort).
      *
-     * <p> Will return a {@code null} when there is no Civic Location define defined.
-     *
-     * @hide
+     * <p> Will return a {@code null} when there is no Civic Location defined.
      */
     @Nullable
     public Address toCivicLocationAddress() {
@@ -1309,6 +1353,22 @@
         }
     }
 
+    /**
+     * @return the civic location represented as a {@link SparseArray}
+     * <p>
+     * Valid keys to access the SparseArray can be found in {@code CivicLocationKeys}.
+     * </p>
+     * <p> Will return a {@code null} when there is no Civic Location defined.
+     *
+     */
+    @Nullable
+    public SparseArray toCivicLocationSparseArray() {
+        if (mCivicLocation != null && mCivicLocation.isValid()) {
+            return mCivicLocation.toSparseArray();
+        } else {
+            return null;
+        }
+    }
 
     /**
      * @return the civic location two upper-case ASCII character country code defined in ISO 3166.
@@ -1337,20 +1397,24 @@
     }
 
     /**
-     * @return the Map Image file type, referred to by getMapImageUrl(), encoded as an integer.
+     * @return the Map Image file Mime type, referred to by getMapImageUrl().
      */
-    @MapImageType
-    public int getMapImageType() {
-        return mMapImageType;
+    @Nullable
+    public String getMapImageMimeType() {
+        if (mMapImageUri == null) {
+            return null;
+        } else {
+            return imageTypeToMime(mMapImageType, mMapImageUri.toString());
+        }
     }
 
     /**
-     * @return a Url referencing a map-file showing the local floor plan.
+     * @return a URI referencing a map-file showing the local floor plan.
      *
-     * <p> Will return a {@code null} when there is no URL defined.
+     * <p> Will return a {@code null} when there is no URI defined.
      */
     @Nullable
-    public URL getMapImageUrl() {
-        return mMapImageUrl;
+    public Uri getMapImageUri() {
+        return mMapImageUri;
     }
 }
diff --git a/wifi/java/com/android/server/wifi/BaseWifiService.java b/wifi/java/com/android/server/wifi/BaseWifiService.java
index c236c7a..842d78d 100644
--- a/wifi/java/com/android/server/wifi/BaseWifiService.java
+++ b/wifi/java/com/android/server/wifi/BaseWifiService.java
@@ -23,10 +23,10 @@
 import android.net.Network;
 import android.net.wifi.IDppCallback;
 import android.net.wifi.INetworkRequestMatchCallback;
+import android.net.wifi.IOnWifiUsabilityStatsListener;
 import android.net.wifi.ISoftApCallback;
 import android.net.wifi.ITrafficStateCallback;
 import android.net.wifi.IWifiManager;
-import android.net.wifi.IWifiUsabilityStatsListener;
 import android.net.wifi.ScanResult;
 import android.net.wifi.WifiActivityEnergyInfo;
 import android.net.wifi.WifiConfiguration;
@@ -467,13 +467,13 @@
     }
 
     @Override
-    public void addWifiUsabilityStatsListener(
-            IBinder binder, IWifiUsabilityStatsListener listener, int listenerIdentifier) {
+    public void addOnWifiUsabilityStatsListener(
+            IBinder binder, IOnWifiUsabilityStatsListener listener, int listenerIdentifier) {
         throw new UnsupportedOperationException();
     }
 
     @Override
-    public void removeWifiUsabilityStatsListener(int listenerIdentifier) {
+    public void removeOnWifiUsabilityStatsListener(int listenerIdentifier) {
         throw new UnsupportedOperationException();
     }
 
diff --git a/wifi/tests/runtests.sh b/wifi/tests/runtests.sh
index 2caf8a5..1e0ec37 100755
--- a/wifi/tests/runtests.sh
+++ b/wifi/tests/runtests.sh
@@ -19,7 +19,7 @@
 adb root
 adb wait-for-device
 
-adb install -r -g "$OUT/data/app/FrameworksWifiApiTests/FrameworksWifiApiTests.apk"
+adb install -r -g "$OUT/testcases/FrameworksWifiApiTests/arm64/FrameworksWifiApiTests.apk"
 
 adb shell am instrument --no-hidden-api-checks -w "$@" \
   'android.net.wifi.test/androidx.test.runner.AndroidJUnitRunner'
diff --git a/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java b/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java
index 449423f..d927052 100644
--- a/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java
+++ b/wifi/tests/src/android/net/wifi/WifiConfigurationTest.java
@@ -293,4 +293,59 @@
         assertEquals(config.apChannel, restoredConfig.apChannel);
         assertEquals(config.hiddenSSID, restoredConfig.hiddenSSID);
     }
+
+
+    /**
+     * Verifies that getKeyIdForCredentials returns the expected string for Enterprise networks
+     * @throws Exception
+     */
+    @Test
+    public void testGetKeyIdForCredentials() throws Exception {
+        WifiConfiguration config = new WifiConfiguration();
+        final String mSsid = "TestAP";
+        config.SSID = mSsid;
+
+        // Test various combinations
+        // EAP with TLS
+        config.allowedKeyManagement.set(KeyMgmt.WPA_EAP);
+        config.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.TLS);
+        config.enterpriseConfig.setPhase2Method(WifiEnterpriseConfig.Phase2.NONE);
+        String keyId = config.getKeyIdForCredentials(config);
+        assertEquals(keyId, mSsid + "_WPA_EAP_TLS_NULL");
+
+        // EAP with TTLS & MSCHAPv2
+        config.allowedKeyManagement.set(KeyMgmt.WPA_EAP);
+        config.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.TTLS);
+        config.enterpriseConfig.setPhase2Method(WifiEnterpriseConfig.Phase2.MSCHAPV2);
+        keyId = config.getKeyIdForCredentials(config);
+        assertEquals(keyId, mSsid + "_WPA_EAP_TTLS_MSCHAPV2");
+
+        // Suite-B 192 with PWD & GTC
+        config.allowedKeyManagement.clear();
+        config.allowedKeyManagement.set(KeyMgmt.SUITE_B_192);
+        config.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.PWD);
+        config.enterpriseConfig.setPhase2Method(WifiEnterpriseConfig.Phase2.GTC);
+        keyId = config.getKeyIdForCredentials(config);
+        assertEquals(keyId, mSsid + "_SUITE_B_192_PWD_GTC");
+
+        // IEEE8021X with SIM
+        config.allowedKeyManagement.clear();
+        config.allowedKeyManagement.set(KeyMgmt.IEEE8021X);
+        config.enterpriseConfig.setEapMethod(WifiEnterpriseConfig.Eap.SIM);
+        config.enterpriseConfig.setPhase2Method(WifiEnterpriseConfig.Phase2.NONE);
+        keyId = config.getKeyIdForCredentials(config);
+        assertEquals(keyId, mSsid + "_IEEE8021X_SIM_NULL");
+
+        // Try calling this method with non-Enterprise network, expect an exception
+        boolean exceptionThrown = false;
+        try {
+            config.allowedKeyManagement.clear();
+            config.allowedKeyManagement.set(KeyMgmt.WPA2_PSK);
+            config.preSharedKey = "TestPsk";
+            keyId = config.getKeyIdForCredentials(config);
+        } catch (IllegalStateException e) {
+            exceptionThrown = true;
+        }
+        assertTrue(exceptionThrown);
+    }
 }
diff --git a/wifi/tests/src/android/net/wifi/WifiEnterpriseConfigTest.java b/wifi/tests/src/android/net/wifi/WifiEnterpriseConfigTest.java
index 6ec64ff..beed666 100644
--- a/wifi/tests/src/android/net/wifi/WifiEnterpriseConfigTest.java
+++ b/wifi/tests/src/android/net/wifi/WifiEnterpriseConfigTest.java
@@ -423,4 +423,68 @@
         mEnterpriseConfig.setPassword(password);
         assertFalse(mEnterpriseConfig.toString().contains(password));
     }
+
+    /** Verifies that certificate ownership flag is set correctly */
+    @Test
+    public void testIsAppInstalledDeviceKeyAndCert() {
+        // First make sure that app didn't install anything
+        assertFalse(mEnterpriseConfig.isAppInstalledDeviceKeyAndCert());
+        assertFalse(mEnterpriseConfig.isAppInstalledCaCert());
+
+        // Then app loads keys via the enterprise config API
+        PrivateKey clientKey = FakeKeys.RSA_KEY1;
+        X509Certificate cert0 = FakeKeys.CLIENT_CERT;
+        X509Certificate cert1 = FakeKeys.CA_CERT1;
+        X509Certificate[] clientChain = new X509Certificate[] {cert0, cert1};
+        mEnterpriseConfig.setClientKeyEntryWithCertificateChain(clientKey, clientChain);
+        X509Certificate[] result = mEnterpriseConfig.getClientCertificateChain();
+        assertEquals(result.length, 2);
+        assertTrue(result[0] == cert0 && result[1] == cert1);
+        assertTrue(mEnterpriseConfig.getClientCertificate() == cert0);
+
+        // Make sure it is the owner now
+        assertTrue(mEnterpriseConfig.isAppInstalledDeviceKeyAndCert());
+        assertFalse(mEnterpriseConfig.isAppInstalledCaCert());
+    }
+
+    /** Verifies that certificate ownership flag is set correctly */
+    @Test
+    public void testIsAppInstalledCaCert() {
+        // First make sure that app didn't install anything
+        assertFalse(mEnterpriseConfig.isAppInstalledDeviceKeyAndCert());
+        assertFalse(mEnterpriseConfig.isAppInstalledCaCert());
+
+        // Then app loads CA cert via the enterprise config API
+        X509Certificate cert = FakeKeys.CA_CERT1;
+        mEnterpriseConfig.setCaCertificate(cert);
+        X509Certificate result = mEnterpriseConfig.getCaCertificate();
+        assertTrue(result == cert);
+
+        // Make sure it is the owner now
+        assertFalse(mEnterpriseConfig.isAppInstalledDeviceKeyAndCert());
+        assertTrue(mEnterpriseConfig.isAppInstalledCaCert());
+    }
+
+    /** Verifies that certificate ownership flag is set correctly */
+    @Test
+    public void testIsAppInstalledCaCerts() {
+        // First make sure that app didn't install anything
+        assertFalse(mEnterpriseConfig.isAppInstalledDeviceKeyAndCert());
+        assertFalse(mEnterpriseConfig.isAppInstalledCaCert());
+
+        // Then app loads CA cert via the enterprise config API
+        X509Certificate cert0 = FakeKeys.CA_CERT0;
+        X509Certificate cert1 = FakeKeys.CA_CERT1;
+        X509Certificate[] cert = new X509Certificate[] {cert0, cert1};
+
+        mEnterpriseConfig.setCaCertificates(cert);
+        X509Certificate[] result = mEnterpriseConfig.getCaCertificates();
+        assertEquals(result.length, 2);
+        assertTrue(result[0] == cert0 && result[1] == cert1);
+//        assertTrue(mEnterpriseConfig.getClientCertificate() == cert0);
+
+        // Make sure it is the owner now
+        assertFalse(mEnterpriseConfig.isAppInstalledDeviceKeyAndCert());
+        assertTrue(mEnterpriseConfig.isAppInstalledCaCert());
+    }
 }
diff --git a/wifi/tests/src/android/net/wifi/WifiInfoTest.java b/wifi/tests/src/android/net/wifi/WifiInfoTest.java
index b303496..0ce5d66 100644
--- a/wifi/tests/src/android/net/wifi/WifiInfoTest.java
+++ b/wifi/tests/src/android/net/wifi/WifiInfoTest.java
@@ -70,7 +70,7 @@
         assertTrue(readWifiInfo.isOsuAp());
         assertTrue(readWifiInfo.isPasspointAp());
         assertEquals(TEST_PACKAGE_NAME, readWifiInfo.getNetworkSuggestionOrSpecifierPackageName());
-        assertEquals(TEST_FQDN, readWifiInfo.getFqdn());
-        assertEquals(TEST_PROVIDER_NAME, readWifiInfo.getProviderFriendlyName());
+        assertEquals(TEST_FQDN, readWifiInfo.getPasspointFqdn());
+        assertEquals(TEST_PROVIDER_NAME, readWifiInfo.getPasspointProviderFriendlyName());
     }
 }
diff --git a/wifi/tests/src/android/net/wifi/WifiManagerTest.java b/wifi/tests/src/android/net/wifi/WifiManagerTest.java
index 5c2f626..600abc9 100644
--- a/wifi/tests/src/android/net/wifi/WifiManagerTest.java
+++ b/wifi/tests/src/android/net/wifi/WifiManagerTest.java
@@ -59,9 +59,9 @@
 import android.net.wifi.WifiManager.LocalOnlyHotspotSubscription;
 import android.net.wifi.WifiManager.NetworkRequestMatchCallback;
 import android.net.wifi.WifiManager.NetworkRequestUserSelectionCallback;
+import android.net.wifi.WifiManager.OnWifiUsabilityStatsListener;
 import android.net.wifi.WifiManager.SoftApCallback;
 import android.net.wifi.WifiManager.TrafficStateCallback;
-import android.net.wifi.WifiManager.WifiUsabilityStatsListener;
 import android.os.Handler;
 import android.os.IBinder;
 import android.os.Message;
@@ -105,7 +105,7 @@
     @Mock SoftApCallback mSoftApCallback;
     @Mock TrafficStateCallback mTrafficStateCallback;
     @Mock NetworkRequestMatchCallback mNetworkRequestMatchCallback;
-    @Mock WifiUsabilityStatsListener mWifiUsabilityStatsListener;
+    @Mock OnWifiUsabilityStatsListener mOnWifiUsabilityStatsListener;
 
     private Executor mExecutor;
     private Handler mHandler;
@@ -1348,29 +1348,29 @@
     }
 
     /**
-     * Verify the call to addWifiUsabilityStatsListener goes to WifiServiceImpl.
+     * Verify the call to addOnWifiUsabilityStatsListener goes to WifiServiceImpl.
      */
     @Test
-    public void addWifiUsabilityStatsListeneroesToWifiServiceImpl() throws Exception {
+    public void addOnWifiUsabilityStatsListeneroesToWifiServiceImpl() throws Exception {
         mExecutor = new SynchronousExecutor();
-        mWifiManager.addWifiUsabilityStatsListener(mExecutor, mWifiUsabilityStatsListener);
-        verify(mWifiService).addWifiUsabilityStatsListener(any(IBinder.class),
-                any(IWifiUsabilityStatsListener.Stub.class), anyInt());
+        mWifiManager.addOnWifiUsabilityStatsListener(mExecutor, mOnWifiUsabilityStatsListener);
+        verify(mWifiService).addOnWifiUsabilityStatsListener(any(IBinder.class),
+                any(IOnWifiUsabilityStatsListener.Stub.class), anyInt());
     }
 
     /**
-     * Verify the call to removeWifiUsabilityStatsListener goes to WifiServiceImpl.
+     * Verify the call to removeOnWifiUsabilityStatsListener goes to WifiServiceImpl.
      */
     @Test
-    public void removeWifiUsabilityListenerGoesToWifiServiceImpl() throws Exception {
+    public void removeOnWifiUsabilityListenerGoesToWifiServiceImpl() throws Exception {
         ArgumentCaptor<Integer> listenerIdentifier = ArgumentCaptor.forClass(Integer.class);
         mExecutor = new SynchronousExecutor();
-        mWifiManager.addWifiUsabilityStatsListener(mExecutor, mWifiUsabilityStatsListener);
-        verify(mWifiService).addWifiUsabilityStatsListener(any(IBinder.class),
-                any(IWifiUsabilityStatsListener.Stub.class), listenerIdentifier.capture());
+        mWifiManager.addOnWifiUsabilityStatsListener(mExecutor, mOnWifiUsabilityStatsListener);
+        verify(mWifiService).addOnWifiUsabilityStatsListener(any(IBinder.class),
+                any(IOnWifiUsabilityStatsListener.Stub.class), listenerIdentifier.capture());
 
-        mWifiManager.removeWifiUsabilityStatsListener(mWifiUsabilityStatsListener);
-        verify(mWifiService).removeWifiUsabilityStatsListener(
+        mWifiManager.removeOnWifiUsabilityStatsListener(mOnWifiUsabilityStatsListener);
+        verify(mWifiService).removeOnWifiUsabilityStatsListener(
                 eq((int) listenerIdentifier.getValue()));
     }
 
diff --git a/wifi/tests/src/android/net/wifi/WifiNetworkSpecifierTest.java b/wifi/tests/src/android/net/wifi/WifiNetworkSpecifierTest.java
index feac0e5..edb43d8 100644
--- a/wifi/tests/src/android/net/wifi/WifiNetworkSpecifierTest.java
+++ b/wifi/tests/src/android/net/wifi/WifiNetworkSpecifierTest.java
@@ -114,7 +114,7 @@
                 .setSsid(TEST_SSID)
                 .setBssid(MacAddress.fromString(TEST_BSSID))
                 .setWpa2EnterpriseConfig(enterpriseConfig)
-                .setIsHiddenSsid()
+                .setIsHiddenSsid(true)
                 .build();
 
         assertTrue(specifier instanceof WifiNetworkSpecifier);
@@ -278,7 +278,7 @@
         new WifiNetworkSpecifier.Builder()
                 .setBssidPattern(MacAddress.fromString(TEST_BSSID_OUI_BASE_ADDRESS),
                         MacAddress.fromString(TEST_BSSID_OUI_MASK))
-                .setIsHiddenSsid()
+                .setIsHiddenSsid(true)
                 .build();
     }
 
@@ -305,7 +305,7 @@
     public void testWifiNetworkSpecifierBuilderWithSsidMatchPatternForHiddenNetwork() {
         new WifiNetworkSpecifier.Builder()
                 .setSsidPattern(new PatternMatcher(TEST_SSID, PATTERN_PREFIX))
-                .setIsHiddenSsid()
+                .setIsHiddenSsid(true)
                 .build();
     }
 
@@ -341,14 +341,14 @@
     /**
      * Ensure {@link WifiNetworkSpecifier.Builder#build()} throws an exception
      * when both {@link WifiNetworkSpecifier.Builder#setWpa3Passphrase(String)} and
-     * {@link WifiNetworkSpecifier.Builder#setIsEnhancedOpen()} are invoked.
+     * {@link WifiNetworkSpecifier.Builder#setIsEnhancedOpen(boolean)} are invoked.
      */
     @Test(expected = IllegalStateException.class)
     public void testWifiNetworkSpecifierBuilderWithBothWpa3PasphraseAndEnhancedOpen() {
         new WifiNetworkSpecifier.Builder()
                 .setSsidPattern(new PatternMatcher(TEST_SSID, PATTERN_LITERAL))
                 .setWpa3Passphrase(TEST_PRESHARED_KEY)
-                .setIsEnhancedOpen()
+                .setIsEnhancedOpen(true)
                 .build();
     }
 
diff --git a/wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java b/wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java
index 05ee22c..2b0c773 100644
--- a/wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java
+++ b/wifi/tests/src/android/net/wifi/WifiNetworkSuggestionTest.java
@@ -49,7 +49,7 @@
     public void testWifiNetworkSuggestionBuilderForOpenNetworkWithReqAppInteraction() {
         WifiNetworkSuggestion suggestion = new WifiNetworkSuggestion.Builder()
                 .setSsid(TEST_SSID)
-                .setIsAppInteractionRequired()
+                .setIsAppInteractionRequired(true)
                 .build();
 
         assertEquals(Process.myUid(), suggestion.suggestorUid);
@@ -74,7 +74,7 @@
         WifiNetworkSuggestion suggestion = new WifiNetworkSuggestion.Builder()
                 .setSsid(TEST_SSID)
                 .setWpa2Passphrase(TEST_PRESHARED_KEY)
-                .setIsAppInteractionRequired()
+                .setIsAppInteractionRequired(true)
                 .setPriority(0)
                 .build();
 
@@ -101,8 +101,8 @@
         WifiNetworkSuggestion suggestion = new WifiNetworkSuggestion.Builder()
                 .setSsid(TEST_SSID)
                 .setWpa2Passphrase(TEST_PRESHARED_KEY)
-                .setIsUserInteractionRequired()
-                .setIsMetered()
+                .setIsUserInteractionRequired(true)
+                .setIsMetered(true)
                 .build();
 
         assertEquals("\"" + TEST_SSID + "\"", suggestion.wifiConfiguration.SSID);
@@ -126,7 +126,7 @@
         WifiNetworkSuggestion suggestion = new WifiNetworkSuggestion.Builder()
                 .setSsid(TEST_SSID)
                 .setBssid(MacAddress.fromString(TEST_BSSID))
-                .setIsEnhancedOpen()
+                .setIsEnhancedOpen(true)
                 .build();
 
         assertEquals("\"" + TEST_SSID + "\"", suggestion.wifiConfiguration.SSID);
@@ -265,7 +265,7 @@
     public void testWifiNetworkSuggestionBuilderWithInvalidPriority() {
         new WifiNetworkSuggestion.Builder()
                 .setSsid(TEST_SSID)
-                .setPriority(-1)
+                .setPriority(-2)
                 .build();
     }
 
@@ -301,14 +301,14 @@
     /**
      * Ensure {@link WifiNetworkSuggestion.Builder#build()} throws an exception
      * when both {@link WifiNetworkSuggestion.Builder#setWpa3Passphrase(String)} and
-     * {@link WifiNetworkSuggestion.Builder#setIsEnhancedOpen()} are invoked.
+     * {@link WifiNetworkSuggestion.Builder#setIsEnhancedOpen(boolean)} are invoked.
      */
     @Test(expected = IllegalStateException.class)
     public void testWifiNetworkSuggestionBuilderWithBothWpa3PasphraseAndEnhancedOpen() {
         new WifiNetworkSuggestion.Builder()
                 .setSsid(TEST_SSID)
                 .setWpa3Passphrase(TEST_PRESHARED_KEY)
-                .setIsEnhancedOpen()
+                .setIsEnhancedOpen(true)
                 .build();
     }
 
diff --git a/wifi/tests/src/android/net/wifi/WifiUsabilityStatsEntryTest.java b/wifi/tests/src/android/net/wifi/WifiUsabilityStatsEntryTest.java
index a22f8ce..cd60f02 100644
--- a/wifi/tests/src/android/net/wifi/WifiUsabilityStatsEntryTest.java
+++ b/wifi/tests/src/android/net/wifi/WifiUsabilityStatsEntryTest.java
@@ -74,36 +74,48 @@
 
     private static WifiUsabilityStatsEntry createResult() {
         return new WifiUsabilityStatsEntry(
-                0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22
+                0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13,
+                14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, true
         );
     }
 
     private static void assertWifiUsabilityStatsEntryEquals(
             WifiUsabilityStatsEntry expected,
             WifiUsabilityStatsEntry actual) {
-        assertEquals(expected.timeStampMs, actual.timeStampMs);
-        assertEquals(expected.rssi, actual.rssi);
-        assertEquals(expected.linkSpeedMbps, actual.linkSpeedMbps);
-        assertEquals(expected.totalTxSuccess, actual.totalTxSuccess);
-        assertEquals(expected.totalTxRetries, actual.totalTxRetries);
-        assertEquals(expected.totalTxBad, actual.totalTxBad);
-        assertEquals(expected.totalRxSuccess, actual.totalRxSuccess);
-        assertEquals(expected.totalRadioOnTimeMs, actual.totalRadioOnTimeMs);
-        assertEquals(expected.totalRadioTxTimeMs, actual.totalRadioTxTimeMs);
-        assertEquals(expected.totalRadioRxTimeMs, actual.totalRadioRxTimeMs);
-        assertEquals(expected.totalScanTimeMs, actual.totalScanTimeMs);
-        assertEquals(expected.totalNanScanTimeMs, actual.totalNanScanTimeMs);
-        assertEquals(expected.totalBackgroundScanTimeMs, actual.totalBackgroundScanTimeMs);
-        assertEquals(expected.totalRoamScanTimeMs, actual.totalRoamScanTimeMs);
-        assertEquals(expected.totalPnoScanTimeMs, actual.totalPnoScanTimeMs);
-        assertEquals(expected.totalHotspot2ScanTimeMs, actual.totalHotspot2ScanTimeMs);
-        assertEquals(expected.totalCcaBusyFreqTimeMs, actual.totalCcaBusyFreqTimeMs);
-        assertEquals(expected.totalRadioOnFreqTimeMs, actual.totalRadioOnFreqTimeMs);
-        assertEquals(expected.totalBeaconRx, actual.totalBeaconRx);
-        assertEquals(expected.probeStatusSinceLastUpdate, actual.probeStatusSinceLastUpdate);
-        assertEquals(expected.probeElapsedTimeMsSinceLastUpdate,
-                actual.probeElapsedTimeMsSinceLastUpdate);
-        assertEquals(expected.probeMcsRateSinceLastUpdate, actual.probeMcsRateSinceLastUpdate);
-        assertEquals(expected.rxLinkSpeedMbps, actual.rxLinkSpeedMbps);
+        assertEquals(expected.getTimeStampMillis(), actual.getTimeStampMillis());
+        assertEquals(expected.getRssi(), actual.getRssi());
+        assertEquals(expected.getLinkSpeedMbps(), actual.getLinkSpeedMbps());
+        assertEquals(expected.getTotalTxSuccess(), actual.getTotalTxSuccess());
+        assertEquals(expected.getTotalTxRetries(), actual.getTotalTxRetries());
+        assertEquals(expected.getTotalTxBad(), actual.getTotalTxBad());
+        assertEquals(expected.getTotalRxSuccess(), actual.getTotalRxSuccess());
+        assertEquals(expected.getTotalRadioOnTimeMillis(), actual.getTotalRadioOnTimeMillis());
+        assertEquals(expected.getTotalRadioTxTimeMillis(), actual.getTotalRadioTxTimeMillis());
+        assertEquals(expected.getTotalRadioRxTimeMillis(), actual.getTotalRadioRxTimeMillis());
+        assertEquals(expected.getTotalScanTimeMillis(), actual.getTotalScanTimeMillis());
+        assertEquals(expected.getTotalNanScanTimeMillis(), actual.getTotalNanScanTimeMillis());
+        assertEquals(expected.getTotalBackgroundScanTimeMillis(),
+                actual.getTotalBackgroundScanTimeMillis());
+        assertEquals(expected.getTotalRoamScanTimeMillis(), actual.getTotalRoamScanTimeMillis());
+        assertEquals(expected.getTotalPnoScanTimeMillis(), actual.getTotalPnoScanTimeMillis());
+        assertEquals(expected.getTotalHotspot2ScanTimeMillis(),
+                actual.getTotalHotspot2ScanTimeMillis());
+        assertEquals(expected.getTotalCcaBusyFreqTimeMillis(),
+                actual.getTotalCcaBusyFreqTimeMillis());
+        assertEquals(expected.getTotalRadioOnFreqTimeMillis(),
+                actual.getTotalRadioOnFreqTimeMillis());
+        assertEquals(expected.getTotalBeaconRx(), actual.getTotalBeaconRx());
+        assertEquals(expected.getProbeStatusSinceLastUpdate(),
+                actual.getProbeStatusSinceLastUpdate());
+        assertEquals(expected.getProbeElapsedTimeSinceLastUpdateMillis(),
+                actual.getProbeElapsedTimeSinceLastUpdateMillis());
+        assertEquals(expected.getProbeMcsRateSinceLastUpdate(),
+                actual.getProbeMcsRateSinceLastUpdate());
+        assertEquals(expected.getRxLinkSpeedMbps(), actual.getRxLinkSpeedMbps());
+        assertEquals(expected.getCellularDataNetworkType(), actual.getCellularDataNetworkType());
+        assertEquals(expected.getCellularSignalStrengthDbm(),
+                actual.getCellularSignalStrengthDbm());
+        assertEquals(expected.getCellularSignalStrengthDb(), actual.getCellularSignalStrengthDb());
+        assertEquals(expected.getIsSameRegisteredCell(), actual.getIsSameRegisteredCell());
     }
 }
diff --git a/wifi/tests/src/android/net/wifi/aware/WifiAwareManagerTest.java b/wifi/tests/src/android/net/wifi/aware/WifiAwareManagerTest.java
index 3cc96bf..657a338 100644
--- a/wifi/tests/src/android/net/wifi/aware/WifiAwareManagerTest.java
+++ b/wifi/tests/src/android/net/wifi/aware/WifiAwareManagerTest.java
@@ -958,9 +958,8 @@
         WifiAwareNetworkSpecifier ns =
                 (WifiAwareNetworkSpecifier) publishSession.getValue().createNetworkSpecifierOpen(
                         peerHandle);
-        WifiAwareNetworkSpecifier nsb = (WifiAwareNetworkSpecifier) new WifiAwareManager
-                .NetworkSpecifierBuilder().setDiscoverySession(publishSession.getValue())
-                .setPeerHandle(peerHandle).build();
+        WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
+                publishSession.getValue()).setPeerHandle(peerHandle).build();
 
         // validate format
         collector.checkThat("role", WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_RESPONDER,
@@ -980,9 +979,9 @@
         // (4) request an encrypted (PMK) network specifier from the session
         ns = (WifiAwareNetworkSpecifier) publishSession.getValue().createNetworkSpecifierPmk(
                 peerHandle, pmk);
-        nsb = (WifiAwareNetworkSpecifier) new WifiAwareManager.NetworkSpecifierBuilder()
-                .setDiscoverySession(publishSession.getValue()).setPeerHandle(peerHandle)
-                .setPmk(pmk).setPort(port).setTransportProtocol(transportProtocol).build();
+        nsb = new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
+                publishSession.getValue()).setPeerHandle(peerHandle).setPmk(pmk).setPort(
+                port).setTransportProtocol(transportProtocol).build();
 
         // validate format
         collector.checkThat("role", WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_RESPONDER,
@@ -1006,10 +1005,9 @@
                 (WifiAwareNetworkSpecifier) publishSession.getValue()
                         .createNetworkSpecifierPassphrase(
                         peerHandle, passphrase);
-        nsb = (WifiAwareNetworkSpecifier) new WifiAwareManager.NetworkSpecifierBuilder()
-                .setDiscoverySession(publishSession.getValue()).setPeerHandle(peerHandle)
-                .setPskPassphrase(passphrase).setPort(port).setTransportProtocol(transportProtocol)
-                .build();
+        nsb = new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
+                publishSession.getValue()).setPeerHandle(peerHandle).setPskPassphrase(
+                passphrase).setPort(port).setTransportProtocol(transportProtocol).build();
 
         // validate format
         collector.checkThat("role", WifiAwareManager.WIFI_AWARE_DATA_PATH_ROLE_RESPONDER,
@@ -1257,14 +1255,14 @@
         // (3) create network specifier
         if (doPmk) {
             if (useBuilder) {
-                new WifiAwareManager.NetworkSpecifierBuilder().setDiscoverySession(
+                new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
                         publishSession.getValue()).setPeerHandle(peerHandle).setPmk(pmk).build();
             } else {
                 publishSession.getValue().createNetworkSpecifierPmk(peerHandle, pmk);
             }
         } else {
             if (useBuilder) {
-                new WifiAwareManager.NetworkSpecifierBuilder().setDiscoverySession(
+                new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
                         publishSession.getValue()).setPeerHandle(peerHandle).setPskPassphrase(
                         passphrase).build();
             } else {
@@ -1355,10 +1353,8 @@
 
         DiscoverySession publishSession = executeSessionStartup(true);
 
-        WifiAwareNetworkSpecifier nsb =
-                (WifiAwareNetworkSpecifier) new WifiAwareManager.NetworkSpecifierBuilder()
-                        .setDiscoverySession(publishSession).setPeerHandle(peerHandle)
-                        .setPmk(pmk).setPort(port).build();
+        WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
+                publishSession).setPeerHandle(peerHandle).setPmk(pmk).setPort(port).build();
     }
 
     /**
@@ -1372,10 +1368,8 @@
 
         DiscoverySession publishSession = executeSessionStartup(true);
 
-        WifiAwareNetworkSpecifier nsb =
-                (WifiAwareNetworkSpecifier) new WifiAwareManager.NetworkSpecifierBuilder()
-                        .setDiscoverySession(publishSession).setPeerHandle(peerHandle)
-                        .setPort(port).build();
+        WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
+                publishSession).setPeerHandle(peerHandle).setPort(port).build();
     }
 
     /**
@@ -1389,10 +1383,8 @@
 
         DiscoverySession subscribeSession = executeSessionStartup(false);
 
-        WifiAwareNetworkSpecifier nsb =
-                (WifiAwareNetworkSpecifier) new WifiAwareManager.NetworkSpecifierBuilder()
-                        .setDiscoverySession(subscribeSession).setPeerHandle(peerHandle)
-                        .setPort(port).build();
+        WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
+                subscribeSession).setPeerHandle(peerHandle).setPort(port).build();
     }
 
     /**
@@ -1411,8 +1403,7 @@
         DiscoverySession publishSession = executeSessionStartup(true);
 
         try {
-            WifiAwareNetworkSpecifier nsb =
-                    (WifiAwareNetworkSpecifier) new WifiAwareManager.NetworkSpecifierBuilder()
+            WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder()
                             .setDiscoverySession(publishSession).setPeerHandle(peerHandle)
                             .setPmk(pmk).setTransportProtocol(tpNegative).build();
             assertTrue("No exception on negative transport protocol!", false);
@@ -1420,23 +1411,19 @@
             // nop - exception is correct!
         }
         try {
-            WifiAwareNetworkSpecifier nsb =
-                    (WifiAwareNetworkSpecifier) new WifiAwareManager.NetworkSpecifierBuilder()
+            WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder()
                             .setDiscoverySession(publishSession).setPeerHandle(peerHandle)
                             .setPmk(pmk).setTransportProtocol(tpTooLarge).build();
             assertTrue("No exception on >255 transport protocol!", false);
         } catch (IllegalArgumentException e) {
             // nop - exception is correct!
         }
-        WifiAwareNetworkSpecifier nsb =
-                (WifiAwareNetworkSpecifier) new WifiAwareManager.NetworkSpecifierBuilder()
+        WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder()
                         .setDiscoverySession(publishSession).setPeerHandle(peerHandle)
                         .setPmk(pmk).setTransportProtocol(tpSmallest).build();
-        nsb =
-                (WifiAwareNetworkSpecifier) new WifiAwareManager.NetworkSpecifierBuilder()
-                        .setDiscoverySession(
-                                publishSession).setPeerHandle(peerHandle).setPmk(
-                        pmk).setTransportProtocol(tpLargest).build();
+        nsb = new WifiAwareNetworkSpecifier.Builder().setDiscoverySession(
+                publishSession).setPeerHandle(peerHandle).setPmk(pmk).setTransportProtocol(
+                tpLargest).build();
     }
 
     /**
@@ -1450,8 +1437,7 @@
 
         DiscoverySession publishSession = executeSessionStartup(true);
 
-        WifiAwareNetworkSpecifier nsb =
-                (WifiAwareNetworkSpecifier) new WifiAwareManager.NetworkSpecifierBuilder()
+        WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder()
                         .setDiscoverySession(publishSession).setPeerHandle(peerHandle)
                         .setTransportProtocol(transportProtocol).build();
     }
@@ -1467,8 +1453,7 @@
 
         DiscoverySession subscribeSession = executeSessionStartup(false);
 
-        WifiAwareNetworkSpecifier nsb =
-                (WifiAwareNetworkSpecifier) new WifiAwareManager.NetworkSpecifierBuilder()
+        WifiAwareNetworkSpecifier nsb = new WifiAwareNetworkSpecifier.Builder()
                         .setDiscoverySession(subscribeSession).setPeerHandle(peerHandle)
                         .setTransportProtocol(transportProtocol).build();
     }
diff --git a/wifi/tests/src/android/net/wifi/p2p/WifiP2pConfigTest.java b/wifi/tests/src/android/net/wifi/p2p/WifiP2pConfigTest.java
index 560c88e..01a4c53 100644
--- a/wifi/tests/src/android/net/wifi/p2p/WifiP2pConfigTest.java
+++ b/wifi/tests/src/android/net/wifi/p2p/WifiP2pConfigTest.java
@@ -73,4 +73,44 @@
             fail("expected IllegalArgumentException");
         } catch (IllegalArgumentException e) { }
     }
+
+    /**
+     * Check passphrase setter
+     */
+    @Test
+    public void testBuilderInvalidPassphrase() throws Exception {
+        WifiP2pConfig.Builder b = new WifiP2pConfig.Builder();
+
+        // sunny case
+        try {
+            b.setPassphrase("abcd1234");
+        } catch (IllegalArgumentException e) {
+            fail("Unexpected IllegalArgumentException");
+        }
+
+        // null string.
+        try {
+            b.setPassphrase(null);
+            fail("should throw IllegalArgumentException");
+        } catch (IllegalArgumentException e) {
+            // expected exception.
+        }
+
+        // less than 8 characters.
+        try {
+            b.setPassphrase("12abcde");
+            fail("should throw IllegalArgumentException");
+        } catch (IllegalArgumentException e) {
+            // expected exception.
+        }
+
+        // more than 63 characters.
+        try {
+            b.setPassphrase(
+                    "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890+/");
+            fail("should throw IllegalArgumentException");
+        } catch (IllegalArgumentException e) {
+            // expected exception.
+        }
+    }
 }
diff --git a/wifi/tests/src/android/net/wifi/rtt/ResponderLocationTest.java b/wifi/tests/src/android/net/wifi/rtt/ResponderLocationTest.java
index 9efb642..47c30409 100644
--- a/wifi/tests/src/android/net/wifi/rtt/ResponderLocationTest.java
+++ b/wifi/tests/src/android/net/wifi/rtt/ResponderLocationTest.java
@@ -17,8 +17,10 @@
 package android.net.wifi.rtt;
 
 import android.location.Address;
+import android.location.Location;
 import android.net.MacAddress;
 import android.os.Parcel;
+import android.webkit.MimeTypeMap;
 
 import static junit.framework.Assert.assertEquals;
 import static junit.framework.Assert.assertFalse;
@@ -35,7 +37,7 @@
  */
 @RunWith(JUnit4.class)
 public class ResponderLocationTest {
-    private static final double LATLNG_TOLERANCE_DEGREES = 0.001;
+    private static final double LATLNG_TOLERANCE_DEGREES = 0.00001;
     private static final double ALT_TOLERANCE_METERS = 0.01;
     private static final double HEIGHT_TOLERANCE_METERS = 0.01;
     private static final int INDEX_ELEMENT_TYPE = 2;
@@ -170,7 +172,7 @@
     private static final byte[] sTestMapUrlSE = {
             (byte) 5, // Map URL Subelement
             (byte) 25,
-            (byte) ResponderLocation.MAP_TYPE_URL_DEFINED,
+            (byte) 0, // MAP_TYPE_URL_DEFINED
             (byte) 'h',
             (byte) 't',
             (byte) 't',
@@ -206,7 +208,7 @@
 
         boolean valid = responderLocation.isValid();
         boolean lciValid = responderLocation.isLciSubelementValid();
-        boolean zValid = responderLocation.isZsubelementValid();
+        boolean zValid = responderLocation.isZaxisSubelementValid();
 
         assertFalse(valid);
         assertFalse(lciValid);
@@ -222,7 +224,7 @@
 
         boolean valid = responderLocation.isValid();
         boolean lciValid = responderLocation.isLciSubelementValid();
-        boolean zValid = responderLocation.isZsubelementValid();
+        boolean zValid = responderLocation.isZaxisSubelementValid();
 
         assertFalse(valid);
         assertFalse(lciValid);
@@ -240,7 +242,7 @@
 
         boolean valid = responderLocation.isValid();
         boolean lciValid = responderLocation.isLciSubelementValid();
-        boolean zValid = responderLocation.isZsubelementValid();
+        boolean zValid = responderLocation.isZaxisSubelementValid();
 
         assertFalse(valid);
         assertFalse(lciValid);
@@ -258,7 +260,8 @@
 
         boolean valid = responderLocation.isValid();
         boolean lciValid = responderLocation.isLciSubelementValid();
-        boolean zValid = responderLocation.isZsubelementValid();
+        boolean zValid = responderLocation.isZaxisSubelementValid();
+        Location location = responderLocation.toLocation();
 
         assertTrue(valid);
         assertTrue(lciValid);
@@ -273,11 +276,20 @@
         assertEquals(64.0, responderLocation.getAltitudeUncertainty());
         assertEquals(11.2, responderLocation.getAltitude(), ALT_TOLERANCE_METERS);
         assertEquals(1, responderLocation.getDatum()); // WGS84
-        int lciFlags = responderLocation.getLciFlags();
-        assertEquals(0, lciFlags & ResponderLocation.LCI_FLAGS_MASK_REGLOC_AGREEMENT);
-        assertEquals(0, lciFlags & ResponderLocation.LCI_FLAGS_MASK_REGLOC_DSE);
-        assertEquals(0, lciFlags & ResponderLocation.LCI_FLAGS_MASK_DEPENDENT_STA);
-        assertEquals(1, lciFlags & ResponderLocation.LCI_FLAGS_MASK_VERSION);
+        assertEquals(false, responderLocation.getRegisteredLocationAgreementIndication());
+        assertEquals(false, responderLocation.getRegisteredLocationDseIndication());
+        assertEquals(false, responderLocation.getDependentStationIndication());
+        assertEquals(1, responderLocation.getLciVersion());
+
+        // Testing Location Object
+        assertEquals(-33.857009, location.getLatitude(),
+                LATLNG_TOLERANCE_DEGREES);
+        assertEquals(151.215200, location.getLongitude(),
+                LATLNG_TOLERANCE_DEGREES);
+        assertEquals((0.0009765625 + 0.0009765625) / 2, location.getAccuracy(),
+                LATLNG_TOLERANCE_DEGREES);
+        assertEquals(11.2, location.getAltitude(), ALT_TOLERANCE_METERS);
+        assertEquals(64.0, location.getVerticalAccuracyMeters(), ALT_TOLERANCE_METERS);
     }
 
     /**
@@ -292,7 +304,7 @@
 
         boolean valid = responderLocation.isValid();
         boolean lciValid = responderLocation.isLciSubelementValid();
-        boolean zValid = responderLocation.isZsubelementValid();
+        boolean zValid = responderLocation.isZaxisSubelementValid();
 
         assertFalse(valid);
         assertFalse(lciValid);
@@ -312,7 +324,7 @@
 
         boolean valid = responderLocation.isValid();
         boolean lciValid = responderLocation.isLciSubelementValid();
-        boolean zValid = responderLocation.isZsubelementValid();
+        boolean zValid = responderLocation.isZaxisSubelementValid();
 
         assertFalse(valid);
         assertFalse(lciValid);
@@ -332,7 +344,7 @@
 
         boolean valid = responderLocation.isValid();
         boolean lciValid = responderLocation.isLciSubelementValid();
-        boolean zValid = responderLocation.isZsubelementValid();
+        boolean zValid = responderLocation.isZaxisSubelementValid();
 
         assertFalse(valid);
         assertFalse(lciValid);
@@ -352,7 +364,7 @@
 
         boolean valid = responderLocation.isValid();
         boolean lciValid = responderLocation.isLciSubelementValid();
-        boolean zValid = responderLocation.isZsubelementValid();
+        boolean zValid = responderLocation.isZaxisSubelementValid();
 
         assertFalse(valid);
         assertFalse(lciValid);
@@ -370,12 +382,12 @@
                 new ResponderLocation(testBuffer, sTestLcrBufferHeader);
 
         boolean isValid = responderLocation.isValid();
-        boolean isZValid = responderLocation.isZsubelementValid();
+        boolean isZValid = responderLocation.isZaxisSubelementValid();
         boolean isLciValid = responderLocation.isLciSubelementValid();
-        double staFloorNumber = responderLocation.getStaFloorNumber();
-        double staHeightAboveFloorMeters = responderLocation.getStaHeightAboveFloorMeters();
+        double staFloorNumber = responderLocation.getFloorNumber();
+        double staHeightAboveFloorMeters = responderLocation.getHeightAboveFloorMeters();
         double staHeightAboveFloorUncertaintyMeters =
-                responderLocation.getStaHeightAboveFloorUncertaintyMeters();
+                responderLocation.getHeightAboveFloorUncertaintyMeters();
 
         assertTrue(isValid);
         assertTrue(isZValid);
@@ -496,20 +508,21 @@
      * Test that a URL can be extracted from a valid lcr buffer with a map image subelement.
      */
     @Test
-    public void testLcrCheckMapUrlIsValid() {
+    public void testLcrCheckMapUriIsValid() {
         byte[] testLciBuffer = concatenateArrays(sTestLciIeHeader, sTestLciSE);
         byte[] testLcrBuffer = concatenateArrays(sTestLcrBufferHeader, sTestMapUrlSE);
         ResponderLocation responderLocation = new ResponderLocation(testLciBuffer, testLcrBuffer);
 
         boolean valid = responderLocation.isValid();
-        int mapImageType = responderLocation.getMapImageType();
+        String mapImageMimeType = responderLocation.getMapImageMimeType();
         String urlString = "";
-        if (responderLocation.getMapImageUrl() != null) {
-            urlString = responderLocation.getMapImageUrl().toString();
+        if (responderLocation.getMapImageUri() != null) {
+            urlString = responderLocation.getMapImageUri().toString();
         }
 
         assertTrue(valid);
-        assertEquals(ResponderLocation.MAP_TYPE_URL_DEFINED, mapImageType);
+        MimeTypeMap mimeTypeMap = MimeTypeMap.getSingleton();
+        assertEquals(mimeTypeMap.getMimeTypeFromExtension("jpg"), mapImageMimeType);
         assertEquals("https://map.com/mall.jpg", urlString);
     }